diff --git a/index.html b/index.html index 7c667b4..28ea2e8 100644 --- a/index.html +++ b/index.html @@ -4,10 +4,10 @@ menuPrototype - +
- + diff --git a/main.js b/main.js index 9ee3ed8..3431bd1 100644 --- a/main.js +++ b/main.js @@ -30021,20 +30021,20 @@ class TransformControl extends React.Component { this.props.name, " \"x\"", this.props.transform.x, - React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: this.props.delta, y: 0, z: 0 })), className: "TransformButton" }, "up"), - React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: -this.props.delta, y: 0, z: 0 })), className: "TransformButton" }, "down")), + React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: this.props.delta, y: 0, z: 0 })), className: "TransformButton" }, "increase"), + React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: -this.props.delta, y: 0, z: 0 })), className: "TransformButton" }, "decrease")), React.createElement("div", null, this.props.name, " \"y\"", this.props.transform.y, - React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: this.props.delta, z: 0 })), className: "TransformButton" }, "up"), - React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: -this.props.delta, z: 0 })), className: "TransformButton" }, "down")), + React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: this.props.delta, z: 0 })), className: "TransformButton" }, "increase"), + React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: -this.props.delta, z: 0 })), className: "TransformButton" }, "decrease")), React.createElement("div", null, this.props.name, " \"z\"", this.props.transform.z, - React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: 0, z: this.props.delta })), className: "TransformButton" }, "up"), - React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: 0, z: -this.props.delta })), className: "TransformButton" }, "down"))), + React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: 0, z: this.props.delta })), className: "TransformButton" }, "increase"), + React.createElement("button", { onClick: () => (this.props.alterVector(this.props.transform, { x: 0, y: 0, z: -this.props.delta })), className: "TransformButton" }, "decrease"))), React.createElement("img", { src: this.props.imageUrl, className: "TransformControlImage" }))); } } @@ -30151,7 +30151,7 @@ class MyGadget extends React.Component { this.updateDrawMenu(); // THIS SYSTEM CANOT HANDL NUMBSERSDF return (React.createElement("div", null, - React.createElement(aardvark_react_1.AvStandardGrabbable, { modelUri: aardvark_shared_1.g_builtinModelBox, modelScale: 0.03, style: aardvark_react_1.GrabbableStyle.Gadget }, + React.createElement(aardvark_react_1.AvStandardGrabbable, { modelUri: "models/Icon.glb", modelScale: 0.03, style: aardvark_react_1.GrabbableStyle.Gadget }, React.createElement(Menu, { isOpen: this.drawMenu, controllerTransforms: this.controllerTransforms, setTransform: this.setTransform, setDelta: this.setDelta, delta: this.state.delta, resetTransforms: this.resetTransforms, toggleAxis: this.toggleAxis }), React.createElement(aardvark_react_1.AvOrigin, { path: "/user/hand/left" }, React.createElement(aardvark_react_1.AvTransform, { uniformScale: 0.03, transform: { position: this.controllerTransforms.leftTopTransform } }, @@ -30289,4 +30289,4 @@ aardvark_react_1.renderAardvarkRoot("root", React.createElement(MyGadget, null)) /***/ }) /******/ }); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXJlYWN0L2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9hcGkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9yZXBvcnRlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvZGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9kZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9wZW0uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jhc2U2NC1qcy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvcmFuZC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9kZWNyeXB0ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2VuY3J5cHRlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZ2hhc2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2luY3IzMi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2JjLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvZWNiLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvb2ZiLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9hbGdvcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3NpZ24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3ZlcmlmeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9tZDUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jYmMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NpcGhlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9lZGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL3V0aWxzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2xpYi9nZW5lcmF0ZVByaW1lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9iYXNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvZWR3YXJkcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvbW9udC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9rZXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9zaWduYXR1cmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL3NpZ25hdHVyZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3ByZWNvbXB1dGVkL3NlY3AyNTZrMS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL2NvbW1vbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9obWFjLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3JpcGVtZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzIyNC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMjU2LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8zODQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzUxMi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvY29tbW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3V0aWxzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9obWFjLWRyYmcvbGliL2htYWMtZHJiZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaXNhcnJheS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbWQ1LmpzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbGliL21yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzL2xpYi91dGlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9hc24xLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2NlcnRpZmljYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2ZpeFByb2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL2FzeW5jLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL2RlZmF1bHQtZW5jb2RpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3N5bmMtYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi90by1idWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9tZ2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3ByaXZhdGVEZWNyeXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wdWJsaWNFbmNyeXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC94b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JhbmRvbWZpbGwvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2R1cGxleC1icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLWJyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NhZmVyLWJ1ZmZlci9zYWZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL2hhc2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyMjQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyNTYuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEzODQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGE1MTIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3RpbWVycy1icm93c2VyaWZ5L21haW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzIiwid2VicGFjazovLy8od2VicGFjaykvYnVpbGRpbi9tb2R1bGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4udHN4Iiwid2VicGFjazovLy91dGlsIChpZ25vcmVkKSIsIndlYnBhY2s6Ly8vdXRpbCAoaWdub3JlZCk/ZWRjMSIsIndlYnBhY2s6Ly8vYnVmZmVyIChpZ25vcmVkKSIsIndlYnBhY2s6Ly8vY3J5cHRvIChpZ25vcmVkKSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoi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NEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQixvREFBb0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0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QUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMs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Qyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENB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RCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENB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MEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBD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LDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsb0RBQW9ELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsOERBQThELHlEQUF5RCx1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QTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQixvREFBb0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FB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QXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5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QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzduQmE7O0FBRWIsaUJBQWlCLG1CQUFPLENBQUMsNkRBQVU7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLFVBQVU7QUFDVjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUMxSGE7O0FBRWI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3pEYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQSxnQkFBZ0IsbUJBQU8sQ0FBQywrREFBTzs7Ozs7Ozs7Ozs7OztBQ3BCbEI7O0FBRWIsaUJBQWlCLG1CQUFPLENBQUMsNkRBQVU7O0FBRW5DLGVBQWUsbUJBQU8sQ0FBQyw2Q0FBTztBQUM5QixzQkFBc0IsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDOUMsYUFBYSxtQkFBTyxDQUFDLGtFQUFjOztBQUVuQztBQUNBLFlBQVksbUJBQU8sQ0FBQywwRUFBa0I7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWixHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLG9CQUFvQjtBQUN2QztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMENBQTBDLFVBQVU7QUFDcEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3JKYTtBQUNiLDhDQUE4QyxjQUFjO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4QkFBOEI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUMxQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNB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OztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsOEJBQThCLGlCQUFpQjtBQUMvQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEIsaUJBQWlCO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEscUJBQXFCLGdCQUFnQjtBQUNyQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsaUJBQWlCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixnQkFBZ0I7QUFDbkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsbUJBQW1CLGNBQWM7QUFDakM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLGNBQWM7QUFDakM7QUFDQTs7QUFFQTtBQUNBLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGNBQWM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDZCQUE2QjtBQUN2QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixjQUFjO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSw2QkFBNkI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLFNBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxXQUFXO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLG9CQUFvQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsV0FBVztBQUMvRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLE9BQU87QUFDMUI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLE9BQU87QUFDMUI7O0FBRUE7QUFDQTs7QUFFQSxxQkFBcUIsT0FBTztBQUM1QjtBQUNBOztBQUVBLHVCQUF1QixPQUFPO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUMsUUFBUTtBQUN6QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxpQ0FBaUMsUUFBUTtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QixtQ0FBbUM7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkJBQTZCLG1DQUFtQztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDZCQUE2QixtQ0FBbUM7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw2QkFBNkIsbUNBQW1DO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QiwwQkFBMEI7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLGdDQUFnQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWlDLFFBQVE7QUFDekM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCLGtCQUFrQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQkFBbUIsZ0JBQWdCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGdCQUFnQjtBQUNuQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLG9CQUFvQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsVUFBVTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBLHVDQUF1QyxTQUFTO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUJBQWlCO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYSxpQkFBaUI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELEVBQUU7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGVBQWU7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEM7QUFDQSxxQkFBcUIsZUFBZTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLFNBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLG1CQUFtQixjQUFjO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1REFBdUQsT0FBTztBQUM5RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdURBQXVELE9BQU87QUFDOUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2xHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzFHQSw2REFBZSxtQkFBTyxDQUFDLHlEQUFVO0FBQ2pDLFNBQVMsbUJBQU8sQ0FBQyw2Q0FBTzs7QUFFeEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxlQUFlLFFBQVE7QUFDdkI7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZUFBZSxTQUFTO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVM7QUFDdEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixXQUFXO0FBQzVCLG1CQUFtQixVQUFVO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzVYYTs7QUFFYixZQUFZLG1CQUFPLENBQUMsK0RBQVU7QUFDOUIsU0FBUyxtQkFBTyxDQUFDLDZDQUFPO0FBQ3hCLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTtBQUNqQyxXQUFXLG1CQUFPLENBQUMsa0VBQVE7O0FBRTNCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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O0FBQ0E7O0FBRUEsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLLGVBQWU7QUFDcEIsS0FBSyxlQUFlO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLG1CQUFtQjtBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsV0FBVztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3o2QmE7O0FBRWI7O0FBRUEsV0FBVyxtQkFBTyxDQUFDLG1EQUFTO0FBQzVCLFlBQVksbUJBQU8sQ0FBQyxvRUFBUztBQUM3QixZQUFZLG1CQUFPLENBQUMsOERBQVM7O0FBRTdCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsUUFBUSxtQkFBTyxDQUFDLDhGQUF5QjtBQUN6QyxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7QUM3TVk7O0FBRWIsU0FBUyxtQkFBTyxDQUFD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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7OztBQzN3QmE7O0FBRWI7QUFDQSxTQUFTLG1CQUFPLENBQUMsNkNBQU87QUFDeEIsZ0JBQWdCLG1CQUFPLENBQUMsd0VBQXFCO0FBQzdDLGVBQWUsbUJBQU8sQ0FBQyx3RkFBMkI7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQkFBaUIsZ0JBQWdCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDckhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLG1CQUFtQixTQUFTO0FBQzVCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEsaUNBQWlDLFFBQVE7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxzQ0FBc0MsUUFBUTtBQUM5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztB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Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLGNBQWM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtB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QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7QUN6SEQ7QUFDQTs7QUFFWTs7QUFFWixVQUFVLG1CQUFPLENBQUMsbURBQVM7O0FBRTNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDWkEsK0NBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDM0NBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEZBQTBGLGFBQWE7QUFDdkc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEZBQThGLGVBQWU7QUFDN0c7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEs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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBYTtBQUN4QixXQUFXLEVBQUU7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMERBQTBEO0FBQzFEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxFQUFFO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixpQkFBaUI7QUFDcEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxtQkFBbUIsc0JBQXNCO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7O0FDdjNEYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUM7QUFDRCxt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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsU0FBUztBQUM1QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEVBQTRFOztBQUU1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTCxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsbUJBQU8sQ0FBQyw4RUFBa0I7O0FBRS9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDOztBQUVBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLG9EQUFvRDtBQUNwRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFOzs7Ozs7Ozs7Ozs7O0FDOXFCYTs7QUFFYixpREFBaUQsMENBQTBDLDBEQUEwRCxFQUFFOztBQUV2SixhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsV0FBVyxtQkFBTyxDQUFDLGFBQU07O0FBRXpCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakIsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0Q7QUFDeEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBLDRCQUE0QixzQkFBc0I7QUFDbEQ7QUFDQTtBQUNBLEM7Ozs7Ozs7Ozs7OztBQzlFYTs7QUFFYjs7QUFFQSxVQUFVLG1CQUFPLENBQUMsMEVBQXNCO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFOzs7Ozs7Ozs7OztBQ3pFQSxpQkFBaUIsbUJBQU8sQ0FBQywrQ0FBUTs7Ozs7Ozs7Ozs7O0FDQWpDLGlCQUFpQixtQkFBTyxDQUFDLHNFQUFZOzs7Ozs7Ozs7Ozs7QUNBckMsMkJBQTJCLG1CQUFPLENBQUMseUZBQTJCO0FBQzlEO0FBQ0E7QUFDQSxtQkFBbUIsbUJBQU8sQ0FBQyx5RkFBMkI7QUFDdEQsaUJBQWlCLG1CQUFPLENBQUMscUZBQXlCO0FBQ2xELG9CQUFvQixtQkFBTyxDQUFDLDJGQUE0QjtBQUN4RCxzQkFBc0IsbUJBQU8sQ0FBQywrRkFBOEI7Ozs7Ozs7Ozs7OztBQ041RCxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBWTs7Ozs7Ozs7Ozs7O0FDQXJDLGlCQUFpQixtQkFBTyxDQUFDLHlGQUEyQjs7Ozs7Ozs7Ozs7OztBQ0F4QztBQUNaLGFBQWEsbUJBQU8sQ0FBQyw4Q0FBUTtBQUM3QixlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsZUFBZSxtQkFBTyxDQUFDLG9EQUFXOztBQUVsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixRQUFROztBQUV6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSyxPQUFPO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2xLQTtBQUNBLGFBQWEsbUJBQU8sQ0FBQyw4Q0FBUTtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzdEQTs7QUFFWTs7QUFFWixhQUFhLG1CQUFPLENBQUMsOENBQVE7QUFDN0I7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7QUM1RUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQjtBQUN0QztBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDLHNCQUFzQixFQUFFO0FBQ2xFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDekxELGFBQWEsbUJBQU8sQ0FBQyx3REFBYTs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQkFBc0IsaUJBQWlCO0FBQ3ZDO0FBQ0E7O0FBRUEsbUJBQW1CLGVBQWU7QUFDbEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDaEZBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGNBQWMsbUJBQU8sQ0FBQywyQ0FBTztBQUM3QixlQUFlLG1CQUFPLENBQUMsNkNBQVE7QUFDL0IsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7QUFDbkMsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7QUFDbkMsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7QUFDbkMsaUJBQWlCLG1CQUFPLENBQUMsaURBQVU7Ozs7Ozs7Ozs7OztBQ2RuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLGFBQWEsbUJBQU8sQ0FBQyx3REFBYTs7QUFFbEM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLFFBQVE7QUFDekIsUUFBUSxRQUFROztBQUVoQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzdGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTtBQUNqQyxXQUFXLG1CQUFPLENBQUMsNkNBQVE7QUFDM0IsYUFBYSxtQkFBTyxDQUFDLHdEQUFhOztBQUVsQztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLFFBQVE7QUFDekIsUUFBUSxRQUFROztBQUVoQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2xHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsYUFBYSxtQkFBTyxDQUFDLGlEQUFVO0FBQy9CLFdBQVcsbUJBQU8sQ0FBQyw2Q0FBUTtBQUMzQixhQUFhLG1CQUFPLENBQUMsd0RBQWE7O0FBRWxDOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsV0FBVyxtQkFBTyxDQUFDLDZDQUFRO0FBQzNCLGFBQWEsbUJBQU8sQ0FBQyx3REFBYTs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLFFBQVE7QUFDekIsUUFBUSxRQUFROztBQUVoQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3RJQSxlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsYUFBYSxtQkFBTyxDQUFDLGlEQUFVO0FBQy9CLFdBQVcsbUJBQU8sQ0FBQyw2Q0FBUTtBQUMzQixhQUFhLG1CQUFPLENBQUMsd0RBQWE7O0FBRWxDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDeERBLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTtBQUNqQyxXQUFXLG1CQUFPLENBQUMsNkNBQVE7QUFDM0IsYUFBYSxtQkFBTyxDQUFDLHdEQUFhOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxRQUFRLFNBQVM7QUFDakI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDblFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsU0FBUyxtQkFBTyxDQUFDLCtDQUFRO0FBQ3pCLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTs7QUFFakM7QUFDQSxrQkFBa0IsbUJBQU8sQ0FBQyx1RkFBNkI7QUFDdkQsa0JBQWtCLG1CQUFPLENBQUMsdUZBQTZCO0FBQ3ZELGdCQUFnQixtQkFBTyxDQUFDLG1GQUEyQjtBQUNuRCxtQkFBbUIsbUJBQU8sQ0FBQyxpRkFBOEI7QUFDekQscUJBQXFCLG1CQUFPLENBQUMscUZBQWdDOztBQUU3RDtBQUNBOzs7O0FBSUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzlIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOztBQUViOztBQUVBLGFBQWEsbUJBQU8sQ0FBQyx3REFBYTtBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHNDQUFzQyxzQ0FBc0M7QUFDekc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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SDtBQUNBLGdFQUFnRSwyQkFBMkI7QUFDM0YsdUVBQXVFLGlDQUFpQyx3REFBd0QsRUFBRTtBQUNsSyxpRkFBaUYsNERBQTREO0FBQzdJLHVFQUF1RSxpQ0FBaUMsMkRBQTJELEVBQUU7QUFDckssaUZBQWlGLGlFQUFpRTtBQUNsSjtBQUNBLDJFQUEyRSx5REFBeUQ7QUFDcEksMkVBQTJFLHlCQUF5QjtBQUNwRywrRUFBK0Usa0JBQWtCO0FBQ2pHO0FBQ0EsdUZBQXVGLG1DQUFtQztBQUMxSDtBQUNBLHVGQUF1Riw0QkFBNEI7QUFDbkg7QUFDQSwrRUFBK0Usa0JBQWtCO0FBQ2pHO0FBQ0EsdUZBQXVGLG1DQUFtQztBQUMxSDtBQUNBLHVGQUF1Riw0QkFBNEI7QUFDbkg7QUFDQSwrRUFBK0Usa0JBQWtCO0FBQ2pHO0FBQ0EsdUZBQXVGLG1DQUFtQztBQUMxSDtBQUNBLHVGQUF1Riw0QkFBNEI7QUFDbkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUN0UUEsZTs7Ozs7Ozs7Ozs7QUNBQSxlOzs7Ozs7Ozs7OztBQ0FBLGU7Ozs7Ozs7Ozs7O0FDQUEsZSIsImZpbGUiOiJtYWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9zcmMvbWFpbi50c3hcIik7XG4iLCIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShcImFhcmR2YXJrLXJlYWN0XCIsIFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcImFhcmR2YXJrLXJlYWN0XCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcImFhcmR2YXJrLXJlYWN0XCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbi8qKioqKiovIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4vKioqKioqLyBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuLyoqKioqKi8gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbi8qKioqKiovIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4vKioqKioqLyBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbi8qKioqKiovIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbi8qKioqKiovIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuLyoqKioqKi8gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4vKioqKioqLyBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuLyoqKioqKi8gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbi8qKioqKiovIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4vKioqKioqLyBcdFx0cmV0dXJuIG5zO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBcIi4vc3JjL2luZGV4LnRzXCIpO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoe1xuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHshZnVuY3Rpb24odCxlKXsgdHJ1ZT9tb2R1bGUuZXhwb3J0cz1lKCk6dW5kZWZpbmVkfSh0aGlzLChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT17fTtmdW5jdGlvbiBuKGkpe2lmKGVbaV0pcmV0dXJuIGVbaV0uZXhwb3J0czt2YXIgcj1lW2ldPXtpOmksbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtpXS5jYWxsKHIuZXhwb3J0cyxyLHIuZXhwb3J0cyxuKSxyLmw9ITAsci5leHBvcnRzfXJldHVybiBuLm09dCxuLmM9ZSxuLmQ9ZnVuY3Rpb24odCxlLGkpe24ubyh0LGUpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGdldDppfSl9LG4ucj1mdW5jdGlvbih0KXtcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlxcXCJNb2R1bGVcXFwifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pfSxuLnQ9ZnVuY3Rpb24odCxlKXtpZigxJmUmJih0PW4odCkpLDgmZSlyZXR1cm4gdDtpZig0JmUmJlxcXCJvYmplY3RcXFwiPT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBpPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKGkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLFxcXCJkZWZhdWx0XFxcIix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiZcXFwic3RyaW5nXFxcIiE9dHlwZW9mIHQpZm9yKHZhciByIGluIHQpbi5kKGkscixmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLHIpKTtyZXR1cm4gaX0sbi5uPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0LmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBuLmQoZSxcXFwiYVxcXCIsZSksZX0sbi5vPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfSxuLnA9XFxcIlxcXCIsbihuLnM9MTIpfShbZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS5lcHNpbG9uPTFlLTV9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPV9fd2VicGFja19yZXF1aXJlX18oLyohIGNyeXB0byAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanNcXFwiKX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7dmFyIGk9big0KSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgzKSx2b2lkIDAhPT10JiYodGhpcy54eXo9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInpcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieHlcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieHl6XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXSx0aGlzLnZhbHVlc1syXT10WzJdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLng9MCx0aGlzLnk9MCx0aGlzLno9MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9bmV3IHQpLGUueD10aGlzLngsZS55PXRoaXMueSxlLno9dGhpcy56LGV9LHQucHJvdG90eXBlLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9dGhpcyksdC54PS10aGlzLngsdC55PS10aGlzLnksdC56PS10aGlzLnosdH0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXIuZXBzaWxvbiksIShNYXRoLmFicyh0aGlzLngtdC54KT5lKSYmKCEoTWF0aC5hYnModGhpcy55LXQueSk+ZSkmJiEoTWF0aC5hYnModGhpcy56LXQueik+ZSkpfSx0LnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZExlbmd0aCgpKX0sdC5wcm90b3R5cGUuc3F1YXJlZExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCxlPXRoaXMueSxuPXRoaXMuejtyZXR1cm4gdCp0K2UqZStuKm59LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpc30sdC5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzfSx0LnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLGUueCo9dCxlLnkqPXQsZS56Kj10LGV9LHQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXt0fHwodD10aGlzKTt2YXIgZT10aGlzLmxlbmd0aCgpO3JldHVybiAxPT09ZT90aGlzOjA9PT1lPyh0Lng9MCx0Lnk9MCx0Lno9MCx0KTooZT0xL2UsdC54Kj1lLHQueSo9ZSx0LnoqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5QnlNYXQzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLHQubXVsdGlwbHlWZWMzKHRoaXMsZSl9LHQucHJvdG90eXBlLm11bHRpcGx5QnlRdWF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLHQubXVsdGlwbHlWZWMzKHRoaXMsZSl9LHQucHJvdG90eXBlLnRvUXVhdD1mdW5jdGlvbihlKXtlfHwoZT1uZXcgaS5kZWZhdWx0KTt2YXIgbj1uZXcgdCxyPW5ldyB0O3JldHVybiBuLng9TWF0aC5jb3MoLjUqdGhpcy54KSxyLng9TWF0aC5zaW4oLjUqdGhpcy54KSxuLnk9TWF0aC5jb3MoLjUqdGhpcy55KSxyLnk9TWF0aC5zaW4oLjUqdGhpcy55KSxuLno9TWF0aC5jb3MoLjUqdGhpcy56KSxyLno9TWF0aC5zaW4oLjUqdGhpcy56KSxlLng9ci54Km4ueSpuLnotbi54KnIueSpyLnosZS55PW4ueCpyLnkqbi56K3IueCpuLnkqci56LGUuej1uLngqbi55KnIuei1yLngqci55Km4ueixlLnc9bi54Km4ueSpuLnorci54KnIueSpyLnosZX0sdC5jcm9zcz1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueCxzPWUueSxhPWUueixvPW4ueCx1PW4ueSxsPW4uejtyZXR1cm4gaS54PXMqbC1hKnUsaS55PWEqby1yKmwsaS56PXIqdS1zKm8saX0sdC5kb3Q9ZnVuY3Rpb24odCxlKXt2YXIgbj10LngsaT10Lnkscj10Lno7cmV0dXJuIG4qZS54K2kqZS55K3IqZS56fSx0LmRpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7ZS54LHQueCxlLnksdC55LGUueix0Lno7cmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWREaXN0YW5jZSh0LGUpKX0sdC5zcXVhcmVkRGlzdGFuY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLngtdC54LGk9ZS55LXQueSxyPWUuei10Lno7cmV0dXJuIG4qbitpKmkrcipyfSx0LmRpcmVjdGlvbj1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueC1uLngscz1lLnktbi55LGE9ZS56LW4ueixvPU1hdGguc3FydChyKnIrcypzK2EqYSk7cmV0dXJuIDA9PT1vPyhpLng9MCxpLnk9MCxpLno9MCxpKToobz0xL28saS54PXIqbyxpLnk9cypvLGkuej1hKm8saSl9LHQubWl4PWZ1bmN0aW9uKGUsbixpLHIpe3JldHVybiByfHwocj1uZXcgdCksci54PWUueCtpKihuLngtZS54KSxyLnk9ZS55K2kqKG4ueS1lLnkpLHIuej1lLnoraSoobi56LWUueikscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaS56PWUueituLnosaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGkuej1lLnotbi56LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpLno9ZS56Km4ueixpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGkuej1lLnovbi56LGl9LHQuemVybz1uZXcgdChbMCwwLDBdKSx0Lm9uZT1uZXcgdChbMSwxLDFdKSx0LnVwPW5ldyB0KFswLDEsMF0pLHQucmlnaHQ9bmV3IHQoWzEsMCwwXSksdC5mb3J3YXJkPW5ldyB0KFswLDAsMV0pLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMikscj1uKDApLHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoMiksdm9pZCAwIT09dCYmKHRoaXMueHk9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZX0sdC5wcm90b3R5cGUubmVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0fHwodD10aGlzKSx0Lng9LXRoaXMueCx0Lnk9LXRoaXMueSx0fSx0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ci5lcHNpbG9uKSwhKE1hdGguYWJzKHRoaXMueC10LngpPmUpJiYhKE1hdGguYWJzKHRoaXMueS10LnkpPmUpfSx0LnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZExlbmd0aCgpKX0sdC5wcm90b3R5cGUuc3F1YXJlZExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCxlPXRoaXMueTtyZXR1cm4gdCp0K2UqZX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzfSx0LnByb3RvdHlwZS5zdWJ0cmFjdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54LT10LngsdGhpcy55LT10LnksdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXN9LHQucHJvdG90eXBlLmRpdmlkZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Lz10LngsdGhpcy55Lz10LnksdGhpc30sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8KGU9dGhpcyksZS54Kj10LGUueSo9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54PTAsdC55PTAsdCk6KGU9MS9lLHQueCo9ZSx0LnkqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0Mj1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMih0aGlzLGUpfSx0LnByb3RvdHlwZS5tdWx0aXBseU1hdDM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8KGU9dGhpcyksdC5tdWx0aXBseVZlYzIodGhpcyxlKX0sdC5jcm9zcz1mdW5jdGlvbih0LGUsbil7bnx8KG49bmV3IGkuZGVmYXVsdCk7dmFyIHI9dC54LHM9dC55LGE9ZS54LG89ciplLnktcyphO3JldHVybiBuLng9MCxuLnk9MCxuLno9byxufSx0LmRvdD1mdW5jdGlvbih0LGUpe3JldHVybiB0LngqZS54K3QueSplLnl9LHQuZGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZERpc3RhbmNlKHQsZSkpfSx0LnNxdWFyZWREaXN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueC10LngsaT1lLnktdC55O3JldHVybiBuKm4raSppfSx0LmRpcmVjdGlvbj1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueC1uLngscz1lLnktbi55LGE9TWF0aC5zcXJ0KHIqcitzKnMpO3JldHVybiAwPT09YT8oaS54PTAsaS55PTAsaSk6KGE9MS9hLGkueD1yKmEsaS55PXMqYSxpKX0sdC5taXg9ZnVuY3Rpb24oZSxuLGkscil7cnx8KHI9bmV3IHQpO3ZhciBzPWUueCxhPWUueSxvPW4ueCx1PW4ueTtyZXR1cm4gci54PXMraSooby1zKSxyLnk9YStpKih1LWEpLHJ9LHQuc3VtPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngrbi54LGkueT1lLnkrbi55LGl9LHQuZGlmZmVyZW5jZT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54LW4ueCxpLnk9ZS55LW4ueSxpfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCpuLngsaS55PWUueSpuLnksaX0sdC5xdW90aWVudD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54L24ueCxpLnk9ZS55L24ueSxpfSx0Lnplcm89bmV3IHQoWzAsMF0pLHQub25lPW5ldyB0KFsxLDFdKSx0fSgpO2UuZGVmYXVsdD1zfSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDUpLHI9big2KSxzPW4oMiksYT1uKDApLG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoNCksdm9pZCAwIT09dCYmKHRoaXMueHl6dz10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInlcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1sxXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwielxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ3XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzNdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbM109dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5elxcXCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5endcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM11dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl0sdGhpcy52YWx1ZXNbM109dFszXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDw0O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDQ7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5yb2xsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiBNYXRoLmF0YW4yKDIqKHQqZStpKm4pLGkqaSt0KnQtZSplLW4qbil9LHQucHJvdG90eXBlLnBpdGNoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiBNYXRoLmF0YW4yKDIqKGUqbitpKnQpLGkqaS10KnQtZSplK24qbil9LHQucHJvdG90eXBlLnlhdz1mdW5jdGlvbigpe3JldHVybiBNYXRoLmFzaW4oMioodGhpcy54KnRoaXMuei10aGlzLncqdGhpcy55KSl9LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPWEuZXBzaWxvbik7Zm9yKHZhciBuPTA7bjw0O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLng9MCx0aGlzLnk9MCx0aGlzLno9MCx0aGlzLnc9MSx0aGlzfSx0LnByb3RvdHlwZS5jYWxjdWxhdGVXPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56O3JldHVybiB0aGlzLnc9LU1hdGguc3FydChNYXRoLmFicygxLXQqdC1lKmUtbipuKSksdGhpc30sdC5wcm90b3R5cGUuaW52ZXJzZT1mdW5jdGlvbigpe3ZhciBlPXQuZG90KHRoaXMsdGhpcyk7aWYoIWUpcmV0dXJuIHRoaXMueHl6dz1bMCwwLDAsMF0sdGhpczt2YXIgbj1lPzEvZTowO3JldHVybiB0aGlzLngqPS1uLHRoaXMueSo9LW4sdGhpcy56Kj0tbix0aGlzLncqPW4sdGhpc30sdC5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdKj0tMSx0aGlzLnZhbHVlc1sxXSo9LTEsdGhpcy52YWx1ZXNbMl0qPS0xLHRoaXN9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCxlPXRoaXMueSxuPXRoaXMueixpPXRoaXMudztyZXR1cm4gTWF0aC5zcXJ0KHQqdCtlKmUrbipuK2kqaSl9LHQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXt0fHwodD10aGlzKTt2YXIgZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj10aGlzLncscz1NYXRoLnNxcnQoZSplK24qbitpKmkrcipyKTtyZXR1cm4gcz8ocz0xL3MsdC54PWUqcyx0Lnk9bipzLHQuej1pKnMsdC53PXIqcyx0KToodC54PTAsdC55PTAsdC56PTAsdC53PTAsdCl9LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDQ7ZSsrKXRoaXMudmFsdWVzW2VdKz10LmF0KGUpO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPXQueCxhPXQueSxvPXQueix1PXQudztyZXR1cm4gdGhpcy54PWUqdStyKnMrbipvLWkqYSx0aGlzLnk9bip1K3IqYStpKnMtZSpvLHRoaXMuej1pKnUrcipvK2UqYS1uKnMsdGhpcy53PXIqdS1lKnMtbiphLWkqbyx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzM9ZnVuY3Rpb24odCxlKXtlfHwoZT1uZXcgcy5kZWZhdWx0KTt2YXIgbj10LngsaT10Lnkscj10LnosYT10aGlzLngsbz10aGlzLnksdT10aGlzLnosbD10aGlzLncsaD1sKm4rbypyLXUqaSxjPWwqaSt1Km4tYSpyLHY9bCpyK2EqaS1vKm4sZj0tYSpuLW8qaS11KnI7cmV0dXJuIGUueD1oKmwrZiotYStjKi11LXYqLW8sZS55PWMqbCtmKi1vK3YqLWEtaCotdSxlLno9dipsK2YqLXUraCotby1jKi1hLGV9LHQucHJvdG90eXBlLnRvTWF0Mz1mdW5jdGlvbih0KXt0fHwodD1uZXcgaS5kZWZhdWx0KTt2YXIgZT10aGlzLngsbj10aGlzLnkscj10aGlzLnoscz10aGlzLncsYT1lK2Usbz1uK24sdT1yK3IsbD1lKmEsaD1lKm8sYz1lKnUsdj1uKm8sZj1uKnUscD1yKnUsZD1zKmEseT1zKm8sZz1zKnU7cmV0dXJuIHQuaW5pdChbMS0oditwKSxoK2csYy15LGgtZywxLShsK3ApLGYrZCxjK3ksZi1kLDEtKGwrdildKSx0fSx0LnByb3RvdHlwZS50b01hdDQ9ZnVuY3Rpb24odCl7dHx8KHQ9bmV3IHIuZGVmYXVsdCk7dmFyIGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHM9dGhpcy53LGE9ZStlLG89bituLHU9aStpLGw9ZSphLGg9ZSpvLGM9ZSp1LHY9bipvLGY9bip1LHA9aSp1LGQ9cyphLHk9cypvLGc9cyp1O3JldHVybiB0LmluaXQoWzEtKHYrcCksaCtnLGMteSwwLGgtZywxLShsK3ApLGYrZCwwLGMreSxmLWQsMS0obCt2KSwwLDAsMCwwLDFdKSx0fSx0LmRvdD1mdW5jdGlvbih0LGUpe3JldHVybiB0LngqZS54K3QueSplLnkrdC56KmUueit0LncqZS53fSx0LnN1bT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54K24ueCxpLnk9ZS55K24ueSxpLno9ZS56K24ueixpLnc9ZS53K24udyxpfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KTt2YXIgcj1lLngscz1lLnksYT1lLnosbz1lLncsdT1uLngsbD1uLnksaD1uLnosYz1uLnc7cmV0dXJuIGkueD1yKmMrbyp1K3MqaC1hKmwsaS55PXMqYytvKmwrYSp1LXIqaCxpLno9YSpjK28qaCtyKmwtcyp1LGkudz1vKmMtcip1LXMqbC1hKmgsaX0sdC5jcm9zcz1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueCxzPWUueSxhPWUueixvPWUudyx1PW4ueCxsPW4ueSxoPW4ueixjPW4udztyZXR1cm4gaS54PW8qaCthKmMrcipsLXMqdSxpLnk9bypjLXIqdS1zKmwtYSpoLGkuej1vKnUrcipjK3MqaC1hKmwsaS53PW8qbCtzKmMrYSp1LXIqaCxpfSx0LnNob3J0TWl4PWZ1bmN0aW9uKGUsbixpLHIpe2lmKHJ8fChyPW5ldyB0KSxpPD0wKXJldHVybiByLnh5enc9ZS54eXp3LHI7aWYoaT49MSlyZXR1cm4gci54eXp3PW4ueHl6dyxyO3ZhciBzLGEsbz10LmRvdChlLG4pLHU9bi5jb3B5KCk7aWYobzwwJiYodS5pbnZlcnNlKCksbz0tbyksbz4uOTk5OSlzPTEtaSxhPTAraTtlbHNle3ZhciBsPU1hdGguc3FydCgxLW8qbyksaD1NYXRoLmF0YW4yKGwsbyksYz0xL2w7cz1NYXRoLnNpbigoMS1pKSpoKSpjLGE9TWF0aC5zaW4oKDAraSkqaCkqY31yZXR1cm4gci54PXMqZS54K2EqdS54LHIueT1zKmUueSthKnUueSxyLno9cyplLnorYSp1Lnosci53PXMqZS53K2EqdS53LHJ9LHQubWl4PWZ1bmN0aW9uKGUsbixpLHIpe3J8fChyPW5ldyB0KTt2YXIgcz1lLngqbi54K2UueSpuLnkrZS56Km4ueitlLncqbi53O2lmKE1hdGguYWJzKHMpPj0xKXJldHVybiByLnh5enc9ZS54eXp3LHI7dmFyIGE9TWF0aC5hY29zKHMpLG89TWF0aC5zcXJ0KDEtcypzKTtpZihNYXRoLmFicyhvKTwuMDAxKXJldHVybiByLng9LjUqZS54Ky41Km4ueCxyLnk9LjUqZS55Ky41Km4ueSxyLno9LjUqZS56Ky41Km4ueixyLnc9LjUqZS53Ky41Km4udyxyO3ZhciB1PU1hdGguc2luKCgxLWkpKmEpL28sbD1NYXRoLnNpbihpKmEpL287cmV0dXJuIHIueD1lLngqdStuLngqbCxyLnk9ZS55KnUrbi55Kmwsci56PWUueip1K24ueipsLHIudz1lLncqdStuLncqbCxyfSx0LmZyb21BeGlzQW5nbGU9ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KSxuKj0uNTt2YXIgcj1NYXRoLnNpbihuKTtyZXR1cm4gaS54PWUueCpyLGkueT1lLnkqcixpLno9ZS56KnIsaS53PU1hdGguY29zKG4pLGl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PW99LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pO3ZhciBpPW4oNikscj1uKDQpLHM9bigzKSxhPW4oMiksbz1uKDApLHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoOSksdm9pZCAwIT09dCYmdGhpcy5pbml0KHQpfXJldHVybiB0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw5O2UrKyl0aGlzLnZhbHVlc1tlXT10W2VdO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8OTt0KyspdGhpcy52YWx1ZXNbdF09MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlfHwoZT1uZXcgdCk7Zm9yKHZhciBuPTA7bjw5O24rKyllLnZhbHVlc1tuXT10aGlzLnZhbHVlc1tuXTtyZXR1cm4gZX0sdC5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPDk7ZSsrKXRbZV09dGhpcy52YWx1ZXNbZV07cmV0dXJuIHR9LHQucHJvdG90eXBlLnJvdz1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbMyp0KzBdLHRoaXMudmFsdWVzWzMqdCsxXSx0aGlzLnZhbHVlc1szKnQrMl1dfSx0LnByb3RvdHlwZS5jb2w9ZnVuY3Rpb24odCl7cmV0dXJuW3RoaXMudmFsdWVzW3RdLHRoaXMudmFsdWVzW3QrM10sdGhpcy52YWx1ZXNbdCs2XV19LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPW8uZXBzaWxvbik7Zm9yKHZhciBuPTA7bjw5O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5kZXRlcm1pbmFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzBdLGU9dGhpcy52YWx1ZXNbMV0sbj10aGlzLnZhbHVlc1syXSxpPXRoaXMudmFsdWVzWzNdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbN10sdT10aGlzLnZhbHVlc1s4XTtyZXR1cm4gdCoodSpyLXMqbykrZSooLXUqaStzKmEpK24qKG8qaS1yKmEpfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0wLHRoaXMudmFsdWVzWzRdPTEsdGhpcy52YWx1ZXNbNV09MCx0aGlzLnZhbHVlc1s2XT0wLHRoaXMudmFsdWVzWzddPTAsdGhpcy52YWx1ZXNbOF09MSx0aGlzfSx0LnByb3RvdHlwZS50cmFuc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1sxXSxlPXRoaXMudmFsdWVzWzJdLG49dGhpcy52YWx1ZXNbNV07cmV0dXJuIHRoaXMudmFsdWVzWzFdPXRoaXMudmFsdWVzWzNdLHRoaXMudmFsdWVzWzJdPXRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzNdPXQsdGhpcy52YWx1ZXNbNV09dGhpcy52YWx1ZXNbN10sdGhpcy52YWx1ZXNbNl09ZSx0aGlzLnZhbHVlc1s3XT1uLHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0saT10aGlzLnZhbHVlc1szXSxyPXRoaXMudmFsdWVzWzRdLHM9dGhpcy52YWx1ZXNbNV0sYT10aGlzLnZhbHVlc1s2XSxvPXRoaXMudmFsdWVzWzddLHU9dGhpcy52YWx1ZXNbOF0sbD11KnItcypvLGg9LXUqaStzKmEsYz1vKmktciphLHY9dCpsK2UqaCtuKmM7cmV0dXJuIHY/KHY9MS92LHRoaXMudmFsdWVzWzBdPWwqdix0aGlzLnZhbHVlc1sxXT0oLXUqZStuKm8pKnYsdGhpcy52YWx1ZXNbMl09KHMqZS1uKnIpKnYsdGhpcy52YWx1ZXNbM109aCp2LHRoaXMudmFsdWVzWzRdPSh1KnQtbiphKSp2LHRoaXMudmFsdWVzWzVdPSgtcyp0K24qaSkqdix0aGlzLnZhbHVlc1s2XT1jKnYsdGhpcy52YWx1ZXNbN109KC1vKnQrZSphKSp2LHRoaXMudmFsdWVzWzhdPShyKnQtZSppKSp2LHRoaXMpOm51bGx9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdLHM9dGhpcy52YWx1ZXNbNF0sYT10aGlzLnZhbHVlc1s1XSxvPXRoaXMudmFsdWVzWzZdLHU9dGhpcy52YWx1ZXNbN10sbD10aGlzLnZhbHVlc1s4XSxoPXQuYXQoMCksYz10LmF0KDEpLHY9dC5hdCgyKSxmPXQuYXQoMykscD10LmF0KDQpLGQ9dC5hdCg1KSx5PXQuYXQoNiksZz10LmF0KDcpLHg9dC5hdCg4KTtyZXR1cm4gdGhpcy52YWx1ZXNbMF09aCplK2Mqcit2Km8sdGhpcy52YWx1ZXNbMV09aCpuK2Mqcyt2KnUsdGhpcy52YWx1ZXNbMl09aCppK2MqYSt2KmwsdGhpcy52YWx1ZXNbM109ZiplK3AqcitkKm8sdGhpcy52YWx1ZXNbNF09ZipuK3AqcytkKnUsdGhpcy52YWx1ZXNbNV09ZippK3AqYStkKmwsdGhpcy52YWx1ZXNbNl09eSplK2cqcit4Km8sdGhpcy52YWx1ZXNbN109eSpuK2cqcyt4KnUsdGhpcy52YWx1ZXNbOF09eSppK2cqYSt4KmwsdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHlWZWMyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC54LGk9dC55O3JldHVybiBlPyhlLnh5PVtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSxlKTpuZXcgcy5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSl9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjMz1mdW5jdGlvbih0LGUpe3ZhciBuPXQueCxpPXQueSxyPXQuejtyZXR1cm4gZT8oZS54eXo9W24qdGhpcy52YWx1ZXNbMF0raSp0aGlzLnZhbHVlc1szXStyKnRoaXMudmFsdWVzWzZdLG4qdGhpcy52YWx1ZXNbMV0raSp0aGlzLnZhbHVlc1s0XStyKnRoaXMudmFsdWVzWzddLG4qdGhpcy52YWx1ZXNbMl0raSp0aGlzLnZhbHVlc1s1XStyKnRoaXMudmFsdWVzWzhdXSxlKTpuZXcgYS5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rcip0aGlzLnZhbHVlc1s2XSxuKnRoaXMudmFsdWVzWzFdK2kqdGhpcy52YWx1ZXNbNF0rcip0aGlzLnZhbHVlc1s3XSxuKnRoaXMudmFsdWVzWzJdK2kqdGhpcy52YWx1ZXNbNV0rcip0aGlzLnZhbHVlc1s4XV0pfSx0LnByb3RvdHlwZS50b01hdDQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuaW5pdChbdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sMCx0aGlzLnZhbHVlc1szXSx0aGlzLnZhbHVlc1s0XSx0aGlzLnZhbHVlc1s1XSwwLHRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzddLHRoaXMudmFsdWVzWzhdLDAsMCwwLDAsMV0pLHQpOm5ldyBpLmRlZmF1bHQoW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLDAsdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbNV0sMCx0aGlzLnZhbHVlc1s2XSx0aGlzLnZhbHVlc1s3XSx0aGlzLnZhbHVlc1s4XSwwLDAsMCwwLDFdKX0sdC5wcm90b3R5cGUudG9RdWF0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scz10aGlzLnZhbHVlc1s0XSxhPXRoaXMudmFsdWVzWzVdLG89dGhpcy52YWx1ZXNbNl0sdT10aGlzLnZhbHVlc1s3XSxsPXRoaXMudmFsdWVzWzhdLGg9dC1zLWwsYz1zLXQtbCx2PWwtdC1zLGY9MCxwPXQrcytsO2g+cCYmKHA9aCxmPTEpLGM+cCYmKHA9YyxmPTIpLHY+cCYmKHA9dixmPTMpO3ZhciBkPS41Kk1hdGguc3FydChwKzEpLHk9LjI1L2QsZz1uZXcgci5kZWZhdWx0O3N3aXRjaChmKXtjYXNlIDA6Zy53PWQsZy54PShhLXUpKnksZy55PShvLW4pKnksZy56PShlLWkpKnk7YnJlYWs7Y2FzZSAxOmcudz0oYS11KSp5LGcueD1kLGcueT0oZStpKSp5LGcuej0obytuKSp5O2JyZWFrO2Nhc2UgMjpnLnc9KG8tbikqeSxnLng9KGUraSkqeSxnLnk9ZCxnLno9KGErdSkqeTticmVhaztjYXNlIDM6Zy53PShlLWkpKnksZy54PShvK24pKnksZy55PShhK3UpKnksZy56PWR9cmV0dXJuIGd9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxyPWUueixzPU1hdGguc3FydChuKm4raSppK3Iqcik7aWYoIXMpcmV0dXJuIG51bGw7MSE9PXMmJihuKj1zPTEvcyxpKj1zLHIqPXMpO3ZhciBhPU1hdGguc2luKHQpLG89TWF0aC5jb3ModCksdT0xLW8sbD10aGlzLnZhbHVlc1swXSxoPXRoaXMudmFsdWVzWzFdLGM9dGhpcy52YWx1ZXNbMl0sdj10aGlzLnZhbHVlc1s0XSxmPXRoaXMudmFsdWVzWzVdLHA9dGhpcy52YWx1ZXNbNl0sZD10aGlzLnZhbHVlc1s4XSx5PXRoaXMudmFsdWVzWzldLGc9dGhpcy52YWx1ZXNbMTBdLHg9bipuKnUrbyxiPWkqbip1K3IqYSx3PXIqbip1LWkqYSxtPW4qaSp1LXIqYSxNPWkqaSp1K28sej1yKmkqdStuKmEsXz1uKnIqdStpKmEsUD1pKnIqdS1uKmEsaz1yKnIqdStvO3JldHVybiB0aGlzLnZhbHVlc1swXT1sKngrdipiK2Qqdyx0aGlzLnZhbHVlc1sxXT1oKngrZipiK3kqdyx0aGlzLnZhbHVlc1syXT1jKngrcCpiK2cqdyx0aGlzLnZhbHVlc1szXT1sKm0rdipNK2Qqeix0aGlzLnZhbHVlc1s0XT1oKm0rZipNK3kqeix0aGlzLnZhbHVlc1s1XT1jKm0rcCpNK2cqeix0aGlzLnZhbHVlc1s2XT1sKl8rdipQK2Qqayx0aGlzLnZhbHVlc1s3XT1oKl8rZipQK3kqayx0aGlzLnZhbHVlc1s4XT1jKl8rcCpQK2cqayx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyksdT1lLmF0KDQpLGw9ZS5hdCg1KSxoPWUuYXQoNiksYz1lLmF0KDcpLHY9ZS5hdCg4KSxmPW4uYXQoMCkscD1uLmF0KDEpLGQ9bi5hdCgyKSx5PW4uYXQoMyksZz1uLmF0KDQpLHg9bi5hdCg1KSxiPW4uYXQoNiksdz1uLmF0KDcpLG09bi5hdCg4KTtyZXR1cm4gaT8oaS5pbml0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pLGkpOm5ldyB0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pfSx0LmlkZW50aXR5PShuZXcgdCkuc2V0SWRlbnRpdHkoKSx0fSgpO2UuZGVmYXVsdD11fSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDUpLHI9bigyKSxzPW4oMTApLGE9bigwKSxvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLnZhbHVlcz1uZXcgRmxvYXQzMkFycmF5KDE2KSx2b2lkIDAhPT10JiZ0aGlzLmluaXQodCl9cmV0dXJuIHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDE2O2UrKyl0aGlzLnZhbHVlc1tlXT10W2VdO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8MTY7dCsrKXRoaXMudmFsdWVzW3RdPTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7ZXx8KGU9bmV3IHQpO2Zvcih2YXIgbj0wO248MTY7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8MTY7ZSsrKXRbZV09dGhpcy52YWx1ZXNbZV07cmV0dXJuIHR9LHQucHJvdG90eXBlLnJvdz1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbNCp0KzBdLHRoaXMudmFsdWVzWzQqdCsxXSx0aGlzLnZhbHVlc1s0KnQrMl0sdGhpcy52YWx1ZXNbNCp0KzNdXX0sdC5wcm90b3R5cGUuY29sPWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1t0XSx0aGlzLnZhbHVlc1t0KzRdLHRoaXMudmFsdWVzW3QrOF0sdGhpcy52YWx1ZXNbdCsxMl1dfSx0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT1hLmVwc2lsb24pO2Zvcih2YXIgbj0wO248MTY7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLmRldGVybWluYW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scj10aGlzLnZhbHVlc1s0XSxzPXRoaXMudmFsdWVzWzVdLGE9dGhpcy52YWx1ZXNbNl0sbz10aGlzLnZhbHVlc1s3XSx1PXRoaXMudmFsdWVzWzhdLGw9dGhpcy52YWx1ZXNbOV0saD10aGlzLnZhbHVlc1sxMF0sYz10aGlzLnZhbHVlc1sxMV0sdj10aGlzLnZhbHVlc1sxMl0sZj10aGlzLnZhbHVlc1sxM10scD10aGlzLnZhbHVlc1sxNF0sZD10aGlzLnZhbHVlc1sxNV07cmV0dXJuKHQqcy1lKnIpKihoKmQtYypwKS0odCphLW4qcikqKGwqZC1jKmYpKyh0Km8taSpyKSoobCpwLWgqZikrKGUqYS1uKnMpKih1KmQtYyp2KS0oZSpvLWkqcykqKHUqcC1oKnYpKyhuKm8taSphKSoodSpmLWwqdil9LHQucHJvdG90eXBlLnNldElkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdPTEsdGhpcy52YWx1ZXNbMV09MCx0aGlzLnZhbHVlc1syXT0wLHRoaXMudmFsdWVzWzNdPTAsdGhpcy52YWx1ZXNbNF09MCx0aGlzLnZhbHVlc1s1XT0xLHRoaXMudmFsdWVzWzZdPTAsdGhpcy52YWx1ZXNbN109MCx0aGlzLnZhbHVlc1s4XT0wLHRoaXMudmFsdWVzWzldPTAsdGhpcy52YWx1ZXNbMTBdPTEsdGhpcy52YWx1ZXNbMTFdPTAsdGhpcy52YWx1ZXNbMTJdPTAsdGhpcy52YWx1ZXNbMTNdPTAsdGhpcy52YWx1ZXNbMTRdPTAsdGhpcy52YWx1ZXNbMTVdPTEsdGhpc30sdC5wcm90b3R5cGUudHJhbnNwb3NlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMV0sZT10aGlzLnZhbHVlc1syXSxuPXRoaXMudmFsdWVzWzNdLGk9dGhpcy52YWx1ZXNbNl0scj10aGlzLnZhbHVlc1s3XSxzPXRoaXMudmFsdWVzWzExXTtyZXR1cm4gdGhpcy52YWx1ZXNbMV09dGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbMl09dGhpcy52YWx1ZXNbOF0sdGhpcy52YWx1ZXNbM109dGhpcy52YWx1ZXNbMTJdLHRoaXMudmFsdWVzWzRdPXQsdGhpcy52YWx1ZXNbNl09dGhpcy52YWx1ZXNbOV0sdGhpcy52YWx1ZXNbN109dGhpcy52YWx1ZXNbMTNdLHRoaXMudmFsdWVzWzhdPWUsdGhpcy52YWx1ZXNbOV09aSx0aGlzLnZhbHVlc1sxMV09dGhpcy52YWx1ZXNbMTRdLHRoaXMudmFsdWVzWzEyXT1uLHRoaXMudmFsdWVzWzEzXT1yLHRoaXMudmFsdWVzWzE0XT1zLHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0saT10aGlzLnZhbHVlc1szXSxyPXRoaXMudmFsdWVzWzRdLHM9dGhpcy52YWx1ZXNbNV0sYT10aGlzLnZhbHVlc1s2XSxvPXRoaXMudmFsdWVzWzddLHU9dGhpcy52YWx1ZXNbOF0sbD10aGlzLnZhbHVlc1s5XSxoPXRoaXMudmFsdWVzWzEwXSxjPXRoaXMudmFsdWVzWzExXSx2PXRoaXMudmFsdWVzWzEyXSxmPXRoaXMudmFsdWVzWzEzXSxwPXRoaXMudmFsdWVzWzE0XSxkPXRoaXMudmFsdWVzWzE1XSx5PXQqcy1lKnIsZz10KmEtbipyLHg9dCpvLWkqcixiPWUqYS1uKnMsdz1lKm8taSpzLG09bipvLWkqYSxNPXUqZi1sKnYsej11KnAtaCp2LF89dSpkLWMqdixQPWwqcC1oKmYsaz1sKmQtYypmLEE9aCpkLWMqcCxTPXkqQS1nKmsreCpQK2IqXy13KnorbSpNO3JldHVybiBTPyhTPTEvUyx0aGlzLnZhbHVlc1swXT0ocypBLWEqaytvKlApKlMsdGhpcy52YWx1ZXNbMV09KC1lKkErbiprLWkqUCkqUyx0aGlzLnZhbHVlc1syXT0oZiptLXAqdytkKmIpKlMsdGhpcy52YWx1ZXNbM109KC1sKm0raCp3LWMqYikqUyx0aGlzLnZhbHVlc1s0XT0oLXIqQSthKl8tbyp6KSpTLHRoaXMudmFsdWVzWzVdPSh0KkEtbipfK2kqeikqUyx0aGlzLnZhbHVlc1s2XT0oLXYqbStwKngtZCpnKSpTLHRoaXMudmFsdWVzWzddPSh1Km0taCp4K2MqZykqUyx0aGlzLnZhbHVlc1s4XT0ociprLXMqXytvKk0pKlMsdGhpcy52YWx1ZXNbOV09KC10KmsrZSpfLWkqTSkqUyx0aGlzLnZhbHVlc1sxMF09KHYqdy1mKngrZCp5KSpTLHRoaXMudmFsdWVzWzExXT0oLXUqdytsKngtYyp5KSpTLHRoaXMudmFsdWVzWzEyXT0oLXIqUCtzKnotYSpNKSpTLHRoaXMudmFsdWVzWzEzXT0odCpQLWUqeituKk0pKlMsdGhpcy52YWx1ZXNbMTRdPSgtdipiK2YqZy1wKnkpKlMsdGhpcy52YWx1ZXNbMTVdPSh1KmItbCpnK2gqeSkqUyx0aGlzKTpudWxsfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPXRoaXMudmFsdWVzWzRdLGE9dGhpcy52YWx1ZXNbNV0sbz10aGlzLnZhbHVlc1s2XSx1PXRoaXMudmFsdWVzWzddLGw9dGhpcy52YWx1ZXNbOF0saD10aGlzLnZhbHVlc1s5XSxjPXRoaXMudmFsdWVzWzEwXSx2PXRoaXMudmFsdWVzWzExXSxmPXRoaXMudmFsdWVzWzEyXSxwPXRoaXMudmFsdWVzWzEzXSxkPXRoaXMudmFsdWVzWzE0XSx5PXRoaXMudmFsdWVzWzE1XSxnPXQuYXQoMCkseD10LmF0KDEpLGI9dC5hdCgyKSx3PXQuYXQoMyk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1sxXT1nKm4reCphK2IqaCt3KnAsdGhpcy52YWx1ZXNbMl09ZyppK3gqbytiKmMrdypkLHRoaXMudmFsdWVzWzNdPWcqcit4KnUrYip2K3cqeSxnPXQuYXQoNCkseD10LmF0KDUpLGI9dC5hdCg2KSx3PXQuYXQoNyksdGhpcy52YWx1ZXNbNF09ZyplK3gqcytiKmwrdypmLHRoaXMudmFsdWVzWzVdPWcqbit4KmErYipoK3cqcCx0aGlzLnZhbHVlc1s2XT1nKmkreCpvK2IqYyt3KmQsdGhpcy52YWx1ZXNbN109ZypyK3gqdStiKnYrdyp5LGc9dC5hdCg4KSx4PXQuYXQoOSksYj10LmF0KDEwKSx3PXQuYXQoMTEpLHRoaXMudmFsdWVzWzhdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1s5XT1nKm4reCphK2IqaCt3KnAsdGhpcy52YWx1ZXNbMTBdPWcqaSt4Km8rYipjK3cqZCx0aGlzLnZhbHVlc1sxMV09ZypyK3gqdStiKnYrdyp5LGc9dC5hdCgxMikseD10LmF0KDEzKSxiPXQuYXQoMTQpLHc9dC5hdCgxNSksdGhpcy52YWx1ZXNbMTJdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1sxM109ZypuK3gqYStiKmgrdypwLHRoaXMudmFsdWVzWzE0XT1nKmkreCpvK2IqYyt3KmQsdGhpcy52YWx1ZXNbMTVdPWcqcit4KnUrYip2K3cqeSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzM9ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LGk9dC56O3JldHVybiBuZXcgci5kZWZhdWx0KFt0aGlzLnZhbHVlc1swXSplK3RoaXMudmFsdWVzWzRdKm4rdGhpcy52YWx1ZXNbOF0qaSt0aGlzLnZhbHVlc1sxMl0sdGhpcy52YWx1ZXNbMV0qZSt0aGlzLnZhbHVlc1s1XSpuK3RoaXMudmFsdWVzWzldKmkrdGhpcy52YWx1ZXNbMTNdLHRoaXMudmFsdWVzWzJdKmUrdGhpcy52YWx1ZXNbNl0qbit0aGlzLnZhbHVlc1sxMF0qaSt0aGlzLnZhbHVlc1sxNF1dKX0sdC5wcm90b3R5cGUubXVsdGlwbHlWZWM0PWZ1bmN0aW9uKHQsZSl7ZXx8KGU9bmV3IHMuZGVmYXVsdCk7dmFyIG49dC54LGk9dC55LHI9dC56LGE9dC53O3JldHVybiBlLng9dGhpcy52YWx1ZXNbMF0qbit0aGlzLnZhbHVlc1s0XSppK3RoaXMudmFsdWVzWzhdKnIrdGhpcy52YWx1ZXNbMTJdKmEsZS55PXRoaXMudmFsdWVzWzFdKm4rdGhpcy52YWx1ZXNbNV0qaSt0aGlzLnZhbHVlc1s5XSpyK3RoaXMudmFsdWVzWzEzXSphLGUuej10aGlzLnZhbHVlc1syXSpuK3RoaXMudmFsdWVzWzZdKmkrdGhpcy52YWx1ZXNbMTBdKnIrdGhpcy52YWx1ZXNbMTRdKmEsZS53PXRoaXMudmFsdWVzWzNdKm4rdGhpcy52YWx1ZXNbN10qaSt0aGlzLnZhbHVlc1sxMV0qcit0aGlzLnZhbHVlc1sxNV0qYSxlfSx0LnByb3RvdHlwZS50b01hdDM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGkuZGVmYXVsdChbdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbNV0sdGhpcy52YWx1ZXNbNl0sdGhpcy52YWx1ZXNbOF0sdGhpcy52YWx1ZXNbOV0sdGhpcy52YWx1ZXNbMTBdXSl9LHQucHJvdG90eXBlLnRvSW52ZXJzZU1hdDM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1s0XSxzPXRoaXMudmFsdWVzWzVdLGE9dGhpcy52YWx1ZXNbNl0sbz10aGlzLnZhbHVlc1s4XSx1PXRoaXMudmFsdWVzWzldLGw9dGhpcy52YWx1ZXNbMTBdLGg9bCpzLWEqdSxjPS1sKnIrYSpvLHY9dSpyLXMqbyxmPXQqaCtlKmMrbip2O3JldHVybiBmPyhmPTEvZixuZXcgaS5kZWZhdWx0KFtoKmYsKC1sKmUrbip1KSpmLChhKmUtbipzKSpmLGMqZiwobCp0LW4qbykqZiwoLWEqdCtuKnIpKmYsdipmLCgtdSp0K2UqbykqZiwocyp0LWUqcikqZl0pKTpudWxsfSx0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LGk9dC56O3JldHVybiB0aGlzLnZhbHVlc1sxMl0rPXRoaXMudmFsdWVzWzBdKmUrdGhpcy52YWx1ZXNbNF0qbit0aGlzLnZhbHVlc1s4XSppLHRoaXMudmFsdWVzWzEzXSs9dGhpcy52YWx1ZXNbMV0qZSt0aGlzLnZhbHVlc1s1XSpuK3RoaXMudmFsdWVzWzldKmksdGhpcy52YWx1ZXNbMTRdKz10aGlzLnZhbHVlc1syXSplK3RoaXMudmFsdWVzWzZdKm4rdGhpcy52YWx1ZXNbMTBdKmksdGhpcy52YWx1ZXNbMTVdKz10aGlzLnZhbHVlc1szXSplK3RoaXMudmFsdWVzWzddKm4rdGhpcy52YWx1ZXNbMTFdKmksdGhpc30sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LGk9dC56O3JldHVybiB0aGlzLnZhbHVlc1swXSo9ZSx0aGlzLnZhbHVlc1sxXSo9ZSx0aGlzLnZhbHVlc1syXSo9ZSx0aGlzLnZhbHVlc1szXSo9ZSx0aGlzLnZhbHVlc1s0XSo9bix0aGlzLnZhbHVlc1s1XSo9bix0aGlzLnZhbHVlc1s2XSo9bix0aGlzLnZhbHVlc1s3XSo9bix0aGlzLnZhbHVlc1s4XSo9aSx0aGlzLnZhbHVlc1s5XSo9aSx0aGlzLnZhbHVlc1sxMF0qPWksdGhpcy52YWx1ZXNbMTFdKj1pLHRoaXN9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxyPWUueixzPU1hdGguc3FydChuKm4raSppK3Iqcik7aWYoIXMpcmV0dXJuIG51bGw7MSE9PXMmJihuKj1zPTEvcyxpKj1zLHIqPXMpO3ZhciBhPU1hdGguc2luKHQpLG89TWF0aC5jb3ModCksdT0xLW8sbD10aGlzLnZhbHVlc1swXSxoPXRoaXMudmFsdWVzWzFdLGM9dGhpcy52YWx1ZXNbMl0sdj10aGlzLnZhbHVlc1szXSxmPXRoaXMudmFsdWVzWzRdLHA9dGhpcy52YWx1ZXNbNV0sZD10aGlzLnZhbHVlc1s2XSx5PXRoaXMudmFsdWVzWzddLGc9dGhpcy52YWx1ZXNbOF0seD10aGlzLnZhbHVlc1s5XSxiPXRoaXMudmFsdWVzWzEwXSx3PXRoaXMudmFsdWVzWzExXSxtPW4qbip1K28sTT1pKm4qdStyKmEsej1yKm4qdS1pKmEsXz1uKmkqdS1yKmEsUD1pKmkqdStvLGs9cippKnUrbiphLEE9bipyKnUraSphLFM9aSpyKnUtbiphLFQ9cipyKnUrbztyZXR1cm4gdGhpcy52YWx1ZXNbMF09bCptK2YqTStnKnosdGhpcy52YWx1ZXNbMV09aCptK3AqTSt4KnosdGhpcy52YWx1ZXNbMl09YyptK2QqTStiKnosdGhpcy52YWx1ZXNbM109diptK3kqTSt3KnosdGhpcy52YWx1ZXNbNF09bCpfK2YqUCtnKmssdGhpcy52YWx1ZXNbNV09aCpfK3AqUCt4KmssdGhpcy52YWx1ZXNbNl09YypfK2QqUCtiKmssdGhpcy52YWx1ZXNbN109dipfK3kqUCt3KmssdGhpcy52YWx1ZXNbOF09bCpBK2YqUytnKlQsdGhpcy52YWx1ZXNbOV09aCpBK3AqUyt4KlQsdGhpcy52YWx1ZXNbMTBdPWMqQStkKlMrYipULHRoaXMudmFsdWVzWzExXT12KkEreSpTK3cqVCx0aGlzfSx0LmZydXN0dW09ZnVuY3Rpb24oZSxuLGkscixzLGEpe3ZhciBvPW4tZSx1PXItaSxsPWEtcztyZXR1cm4gbmV3IHQoWzIqcy9vLDAsMCwwLDAsMipzL3UsMCwwLChuK2UpL28sKHIraSkvdSwtKGErcykvbCwtMSwwLDAsLWEqcyoyL2wsMF0pfSx0LnBlcnNwZWN0aXZlPWZ1bmN0aW9uKGUsbixpLHIpe3ZhciBzPWkqTWF0aC50YW4oZSpNYXRoLlBJLzM2MCksYT1zKm47cmV0dXJuIHQuZnJ1c3R1bSgtYSxhLC1zLHMsaSxyKX0sdC5vcnRob2dyYXBoaWM9ZnVuY3Rpb24oZSxuLGkscixzLGEpe3ZhciBvPW4tZSx1PXItaSxsPWEtcztyZXR1cm4gbmV3IHQoWzIvbywwLDAsMCwwLDIvdSwwLDAsMCwwLC0yL2wsMCwtKGUrbikvbywtKHIraSkvdSwtKGErcykvbCwxXSl9LHQubG9va0F0PWZ1bmN0aW9uKGUsbixpKXtpZih2b2lkIDA9PT1pJiYoaT1yLmRlZmF1bHQudXApLGUuZXF1YWxzKG4pKXJldHVybiB0aGlzLmlkZW50aXR5O3ZhciBzPXIuZGVmYXVsdC5kaWZmZXJlbmNlKGUsbikubm9ybWFsaXplKCksYT1yLmRlZmF1bHQuY3Jvc3MoaSxzKS5ub3JtYWxpemUoKSxvPXIuZGVmYXVsdC5jcm9zcyhzLGEpLm5vcm1hbGl6ZSgpO3JldHVybiBuZXcgdChbYS54LG8ueCxzLngsMCxhLnksby55LHMueSwwLGEueixvLnoscy56LDAsLXIuZGVmYXVsdC5kb3QoYSxlKSwtci5kZWZhdWx0LmRvdChvLGUpLC1yLmRlZmF1bHQuZG90KHMsZSksMV0pfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyksdT1lLmF0KDQpLGw9ZS5hdCg1KSxoPWUuYXQoNiksYz1lLmF0KDcpLHY9ZS5hdCg4KSxmPWUuYXQoOSkscD1lLmF0KDEwKSxkPWUuYXQoMTEpLHk9ZS5hdCgxMiksZz1lLmF0KDEzKSx4PWUuYXQoMTQpLGI9ZS5hdCgxNSksdz1uLmF0KDApLG09bi5hdCgxKSxNPW4uYXQoMiksej1uLmF0KDMpLF89bi5hdCg0KSxQPW4uYXQoNSksaz1uLmF0KDYpLEE9bi5hdCg3KSxTPW4uYXQoOCksVD1uLmF0KDkpLEk9bi5hdCgxMCksTz1uLmF0KDExKSxSPW4uYXQoMTIpLEU9bi5hdCgxMyksTj1uLmF0KDE0KSxqPW4uYXQoMTUpO3JldHVybiBpPyhpLmluaXQoW3cqcittKnUrTSp2K3oqeSx3KnMrbSpsK00qZit6KmcsdyphK20qaCtNKnAreip4LHcqbyttKmMrTSpkK3oqYixfKnIrUCp1K2sqditBKnksXypzK1AqbCtrKmYrQSpnLF8qYStQKmgraypwK0EqeCxfKm8rUCpjK2sqZCtBKmIsUypyK1QqdStJKnYrTyp5LFMqcytUKmwrSSpmK08qZyxTKmErVCpoK0kqcCtPKngsUypvK1QqYytJKmQrTypiLFIqcitFKnUrTip2K2oqeSxSKnMrRSpsK04qZitqKmcsUiphK0UqaCtOKnAraip4LFIqbytFKmMrTipkK2oqYl0pLGkpOm5ldyB0KFt3KnIrbSp1K00qdit6KnksdypzK20qbCtNKmYreipnLHcqYSttKmgrTSpwK3oqeCx3Km8rbSpjK00qZCt6KmIsXypyK1AqdStrKnYrQSp5LF8qcytQKmwraypmK0EqZyxfKmErUCpoK2sqcCtBKngsXypvK1AqYytrKmQrQSpiLFMqcitUKnUrSSp2K08qeSxTKnMrVCpsK0kqZitPKmcsUyphK1QqaCtJKnArTyp4LFMqbytUKmMrSSpkK08qYixSKnIrRSp1K04qditqKnksUipzK0UqbCtOKmYraipnLFIqYStFKmgrTipwK2oqeCxSKm8rRSpjK04qZCtqKmJdKX0sdC5pZGVudGl0eT0obmV3IHQpLnNldElkZW50aXR5KCksdH0oKTtlLmRlZmF1bHQ9b30sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS5Bdj1lLkFjdGlvblR5cGU9ZS5oYW5kVG9EZXZpY2U9ZS5EZXZpY2U9ZS5JbnB1dD1lLkludGVyYWN0aW9uUHJvZmlsZT1lLlBhbmVsTW91c2VFdmVudFR5cGU9dm9pZCAwO2NvbnN0IGk9big4KTt2YXIgcjshZnVuY3Rpb24odCl7dFt0LlVua25vd249MF09XFxcIlVua25vd25cXFwiLHRbdC5Eb3duPTFdPVxcXCJEb3duXFxcIix0W3QuVXA9Ml09XFxcIlVwXFxcIix0W3QuRW50ZXI9M109XFxcIkVudGVyXFxcIix0W3QuTGVhdmU9NF09XFxcIkxlYXZlXFxcIix0W3QuTW92ZT01XT1cXFwiTW92ZVxcXCJ9KGUuUGFuZWxNb3VzZUV2ZW50VHlwZXx8KGUuUGFuZWxNb3VzZUV2ZW50VHlwZT17fSkpLGZ1bmN0aW9uKHQpe3QuVml2ZUNvbnRyb2xsZXI9XFxcIi9pbnRlcmFjdGlvbl9wcm9maWxlcy9odGMvdml2ZV9jb250cm9sbGVyXFxcIix0LkNvc21vc0NvbnRyb2xsZXI9XFxcIi9pbnRlcmFjdGlvbl9wcm9maWxlcy9odGMvY29zbW9zX2NvbnRyb2xsZXJcXFwiLHQuUmV2ZXJiRzJDb250cm9sbGVyPVxcXCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvbWljcm9zb2Z0L2hwbW90aW9uY29udHJvbGxlclxcXCIsdC5NaXhlZFJlYWxpdHlDb250cm9sbGVyPVxcXCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvbWljcm9zb2Z0L21vdGlvbl9jb250cm9sbGVyXFxcIix0LlRvdWNoQ29udHJvbGxlcj1cXFwiL2ludGVyYWN0aW9uX3Byb2ZpbGVzL29jdWx1cy90b3VjaFxcXCIsdC5JbmRleENvbnRyb2xsZXI9XFxcIi9pbnRlcmFjdGlvbl9wcm9maWxlcy92YWx2ZS9pbmRleF9jb250cm9sbGVyXFxcIn0oZS5JbnRlcmFjdGlvblByb2ZpbGV8fChlLkludGVyYWN0aW9uUHJvZmlsZT17fSkpLGZ1bmN0aW9uKHQpe3QuVHJpZ2dlcj1cXFwiL2lucHV0L3RyaWdnZXJcXFwiLHQuVHJpZ2dlclRvdWNoPVxcXCIvaW5wdXQvdHJpZ2dlci90b3VjaFxcXCIsdC5UcmlnZ2VyQ2xpY2s9XFxcIi9pbnB1dC90cmlnZ2VyL2NsaWNrXFxcIix0LlRyaWdnZXJWYWx1ZT1cXFwiL2lucHV0L3RyaWdnZXIvdmFsdWVcXFwiLHQuU3F1ZWV6ZT1cXFwiL2lucHV0L3NxdWVlemVcXFwiLHQuU3F1ZWV6ZVRvdWNoPVxcXCIvaW5wdXQvc3F1ZWV6ZS90b3VjaFxcXCIsdC5TcXVlZXplQ2xpY2s9XFxcIi9pbnB1dC9zcXVlZXplL2NsaWNrXFxcIix0LlNxdWVlemVWYWx1ZT1cXFwiL2lucHV0L3NxdWVlemUvdmFsdWVcXFwiLHQuU3F1ZWV6ZUZvcmNlPVxcXCIvaW5wdXQvc3F1ZWV6ZS9mb3JjZVxcXCIsdC5BPVxcXCIvaW5wdXQvYVxcXCIsdC5BVG91Y2g9XFxcIi9pbnB1dC9hL3RvdWNoXFxcIix0LkFDbGljaz1cXFwiL2lucHV0L2EvY2xpY2tcXFwiLHQuQj1cXFwiL2lucHV0L2JcXFwiLHQuQlRvdWNoPVxcXCIvaW5wdXQvYi90b3VjaFxcXCIsdC5CQ2xpY2s9XFxcIi9pbnB1dC9iL2NsaWNrXFxcIix0Llg9XFxcIi9pbnB1dC94XFxcIix0LlhUb3VjaD1cXFwiL2lucHV0L3gvdG91Y2hcXFwiLHQuWENsaWNrPVxcXCIvaW5wdXQveC9jbGlja1xcXCIsdC5ZPVxcXCIvaW5wdXQveVxcXCIsdC5ZVG91Y2g9XFxcIi9pbnB1dC95L3RvdWNoXFxcIix0LllDbGljaz1cXFwiL2lucHV0L3kvY2xpY2tcXFwiLHQuTWVudT1cXFwiL2lucHV0L21lbnVcXFwiLHQuTWVudVRvdWNoPVxcXCIvaW5wdXQvbWVudS90b3VjaFxcXCIsdC5NZW51Q2xpY2s9XFxcIi9pbnB1dC9tZW51L2NsaWNrXFxcIix0LlRyYWNrcGFkPVxcXCIvaW5wdXQvdHJhY2twYWRcXFwiLHQuVHJhY2twYWRUb3VjaD1cXFwiL2lucHV0L3RyYWNrcGFkL3RvdWNoXFxcIix0LlRyYWNrcGFkQ2xpY2s9XFxcIi9pbnB1dC90cmFja3BhZC9jbGlja1xcXCIsdC5UcmFja3BhZEZvcmNlPVxcXCIvaW5wdXQvdHJhY2twYWQvZm9yY2VcXFwiLHQuVHJhY2twYWRYPVxcXCIvaW5wdXQvdHJhY2twYWQveFxcXCIsdC5UcmFja3BhZFk9XFxcIi9pbnB1dC90cmFja3BhZC95XFxcIix0LlRodW1ic3RpY2s9XFxcIi9pbnB1dC90aHVtYnN0aWNrXFxcIix0LlRodW1ic3RpY2tUb3VjaD1cXFwiL2lucHV0L3RodW1ic3RpY2svdG91Y2hcXFwiLHQuVGh1bWJzdGlja0NsaWNrPVxcXCIvaW5wdXQvdGh1bWJzdGljay9jbGlja1xcXCIsdC5UaHVtYnN0aWNrRm9yY2U9XFxcIi9pbnB1dC90aHVtYnN0aWNrL2ZvcmNlXFxcIix0LlRodW1ic3RpY2tYPVxcXCIvaW5wdXQvdGh1bWJzdGljay94XFxcIix0LlRodW1ic3RpY2tZPVxcXCIvaW5wdXQvdGh1bWJzdGljay95XFxcIn0oZS5JbnB1dHx8KGUuSW5wdXQ9e30pKSxmdW5jdGlvbih0KXt0LkxlZnQ9XFxcIi91c2VyL2hhbmQvbGVmdFxcXCIsdC5SaWdodD1cXFwiL3VzZXIvaGFuZC9yaWdodFxcXCJ9KHI9ZS5EZXZpY2V8fChlLkRldmljZT17fSkpLGUuaGFuZFRvRGV2aWNlPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIGkuRUhhbmQuTGVmdDpyZXR1cm4gci5MZWZ0O2Nhc2UgaS5FSGFuZC5SaWdodDpyZXR1cm4gci5SaWdodH19LGZ1bmN0aW9uKHQpe3RbdC5Vbmtub3duPS0xXT1cXFwiVW5rbm93blxcXCIsdFt0LkJvb2xlYW49MF09XFxcIkJvb2xlYW5cXFwiLHRbdC5GbG9hdD0xXT1cXFwiRmxvYXRcXFwiLHRbdC5WZWN0b3IyPTJdPVxcXCJWZWN0b3IyXFxcIn0oZS5BY3Rpb25UeXBlfHwoZS5BY3Rpb25UeXBlPXt9KSksZS5Bdj1mdW5jdGlvbigpe3JldHVybiBudWxsPT09d2luZG93fHx2b2lkIDA9PT13aW5kb3c/dm9pZCAwOndpbmRvdy5hYXJkdmFya319LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pLGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWUuZ2FkZ2V0RGV0YWlsc1RvSWQ9ZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWUuZW1wdHlBY3Rpb25TdGF0ZT1lLkVBY3Rpb249ZS5QZXJtaXNzaW9uPWUuRVRleHR1cmVGb3JtYXQ9ZS5FVGV4dHVyZVR5cGU9ZS5FSGFuZD1lLkVOb2RlRmxhZ3M9ZS5yYXlWb2x1bWU9ZS5zcGhlcmVWb2x1bWU9ZS5tb2RlbEJveFZvbHVtZT1lLmluZmluaXRlVm9sdW1lPWUuZW1wdHlWb2x1bWU9ZS5FVm9sdW1lQ29udGV4dD1lLkVWb2x1bWVUeXBlPWUuaW50ZXJmYWNlU3RyaW5nRnJvbU1zZz1lLmludGVyZmFjZVRvU3RyaW5nPWUuQXZOb2RlVHlwZT1lLkludGVyZmFjZUxvY2tSZXN1bHQ9ZS5wYXJzZUVudmVsb3BlPWUuaXNVc2VyQWdlbnRBYXJkdmFyaz1lLmNvbXB1dGVFbmRwb2ludEZpZWxkVXJpPWUuaW5kZXhPZkVuZHBvaW50QWRkcnM9ZS5lbmRwb2ludEFkZHJzTWF0Y2g9ZS5lbmRwb2ludEFkZHJJc0VtcHR5PWUuc3RyaW5nVG9FbmRwb2ludEFkZHI9ZS5lbmRwb2ludEFkZHJUb1N0cmluZz1lLkVuZHBvaW50VHlwZT1lLldlYlNvY2tldENsb3NlQ29kZXM9ZS5NZXNzYWdlVHlwZT1lLkFhcmR2YXJrUG9ydD12b2lkIDA7Y29uc3QgaT1uKDkpLHI9bigxMSk7dmFyIHMsYTtmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlXFxcIkhcXFwiOnJldHVybiBzLkh1YjtjYXNlXFxcIkdcXFwiOnJldHVybiBzLkdhZGdldDtjYXNlXFxcIk5cXFwiOnJldHVybiBzLk5vZGU7Y2FzZVxcXCJNXFxcIjpyZXR1cm4gcy5Nb25pdG9yO2Nhc2VcXFwiUlxcXCI6cmV0dXJuIHMuUmVuZGVyZXI7ZGVmYXVsdDpyZXR1cm4gcy5Vbmtub3dufX1mdW5jdGlvbiB1KHQpe3JldHVybiB0P2Z1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIHMuSHViOnJldHVyblxcXCJIXFxcIjtjYXNlIHMuR2FkZ2V0OnJldHVyblxcXCJHXFxcIjtjYXNlIHMuTm9kZTpyZXR1cm5cXFwiTlxcXCI7Y2FzZSBzLk1vbml0b3I6cmV0dXJuXFxcIk1cXFwiO2Nhc2Ugcy5SZW5kZXJlcjpyZXR1cm5cXFwiUlxcXCI7Y2FzZSBzLlVua25vd246cmV0dXJuXFxcIlVcXFwiO2RlZmF1bHQ6cmV0dXJuXFxcIj9cXFwifX0odC50eXBlKStcXFwiOlxcXCIrKHQuZW5kcG9pbnRJZD90LmVuZHBvaW50SWQ6MCkrXFxcIjpcXFwiKyh0Lm5vZGVJZD90Lm5vZGVJZDowKTpudWxsfWZ1bmN0aW9uIGwodCl7cmV0dXJuIG51bGw9PXR8fG51bGw9PXQudHlwZXx8dC50eXBlPT1zLlVua25vd259ZnVuY3Rpb24gaCh0LGUpe3JldHVybiBsKHQpP2woZSk6IWwoZSkmJih0LnR5cGU9PWUudHlwZSYmdC5ub2RlSWQ9PWUubm9kZUlkJiZ0LmVuZHBvaW50SWQ9PWUuZW5kcG9pbnRJZCl9ZnVuY3Rpb24gYyh0LGUsbil7cmV0dXJuIHUodCkrXFxcIi0+XFxcIit1KGUpK1xcXCIoXFxcIituK1xcXCIpXFxcIn1lLkFhcmR2YXJrUG9ydD0yMzg0MixmdW5jdGlvbih0KXt0W3QuU2V0RW5kcG9pbnRUeXBlPTEwMF09XFxcIlNldEVuZHBvaW50VHlwZVxcXCIsdFt0LlNldEVuZHBvaW50VHlwZVJlc3BvbnNlPTEwMV09XFxcIlNldEVuZHBvaW50VHlwZVJlc3BvbnNlXFxcIix0W3QuRXJyb3I9MTAyXT1cXFwiRXJyb3JcXFwiLHRbdC5HZXRBYXJkdmFya01hbmlmZXN0PTEwM109XFxcIkdldEFhcmR2YXJrTWFuaWZlc3RcXFwiLHRbdC5HZXRBYXJkdmFya01hbmlmZXN0UmVzcG9uc2U9MTA0XT1cXFwiR2V0QWFyZHZhcmtNYW5pZmVzdFJlc3BvbnNlXFxcIix0W3QuTmV3RW5kcG9pbnQ9MjAwXT1cXFwiTmV3RW5kcG9pbnRcXFwiLHRbdC5Mb3N0RW5kcG9pbnQ9MjAxXT1cXFwiTG9zdEVuZHBvaW50XFxcIix0W3QuT3ZlcnJpZGVUcmFuc2Zvcm09MjAyXT1cXFwiT3ZlcnJpZGVUcmFuc2Zvcm1cXFwiLHRbdC5VcGRhdGVTY2VuZUdyYXBoPTMwMF09XFxcIlVwZGF0ZVNjZW5lR3JhcGhcXFwiLHRbdC5HYWRnZXRTdGFydGVkPTMwM109XFxcIkdhZGdldFN0YXJ0ZWRcXFwiLHRbdC5Ob2RlSGFwdGljPTMwNl09XFxcIk5vZGVIYXB0aWNcXFwiLHRbdC5TYXZlU2V0dGluZ3M9MzEwXT1cXFwiU2F2ZVNldHRpbmdzXFxcIix0W3QuVXBkYXRlQWN0aW9uU3RhdGU9MzExXT1cXFwiVXBkYXRlQWN0aW9uU3RhdGVcXFwiLHRbdC5EZXN0cm95R2FkZ2V0PTMxMl09XFxcIkRlc3Ryb3lHYWRnZXRcXFwiLHRbdC5SZXNvdXJjZUxvYWRGYWlsZWQ9MzEzXT1cXFwiUmVzb3VyY2VMb2FkRmFpbGVkXFxcIix0W3QuSW50ZXJmYWNlRXZlbnQ9MzE2XT1cXFwiSW50ZXJmYWNlRXZlbnRcXFwiLHRbdC5HZXRJbnN0YWxsZWRHYWRnZXRzPTQwMF09XFxcIkdldEluc3RhbGxlZEdhZGdldHNcXFwiLHRbdC5HZXRJbnN0YWxsZWRHYWRnZXRzUmVzcG9uc2U9NDAxXT1cXFwiR2V0SW5zdGFsbGVkR2FkZ2V0c1Jlc3BvbnNlXFxcIix0W3QuSW5zdGFsbEdhZGdldD00MDJdPVxcXCJJbnN0YWxsR2FkZ2V0XFxcIix0W3QuU2V0R2FkZ2V0VG9BdXRvTGF1bmNoPTQwM109XFxcIlNldEdhZGdldFRvQXV0b0xhdW5jaFxcXCIsdFt0LlJlbW92ZUdhZGdldEZyb21BdXRvTGF1bmNoPTQwNF09XFxcIlJlbW92ZUdhZGdldEZyb21BdXRvTGF1bmNoXFxcIix0W3QuSW50ZXJmYWNlU3RhcnRlZD03MDBdPVxcXCJJbnRlcmZhY2VTdGFydGVkXFxcIix0W3QuSW50ZXJmYWNlRW5kZWQ9NzAxXT1cXFwiSW50ZXJmYWNlRW5kZWRcXFwiLHRbdC5JbnRlcmZhY2VUcmFuc2Zvcm1VcGRhdGVkPTcwMl09XFxcIkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWRcXFwiLHRbdC5JbnRlcmZhY2VTZW5kRXZlbnQ9NzAzXT1cXFwiSW50ZXJmYWNlU2VuZEV2ZW50XFxcIix0W3QuSW50ZXJmYWNlUmVjZWl2ZUV2ZW50PTcwNF09XFxcIkludGVyZmFjZVJlY2VpdmVFdmVudFxcXCIsdFt0LkludGVyZmFjZUxvY2s9NzA1XT1cXFwiSW50ZXJmYWNlTG9ja1xcXCIsdFt0LkludGVyZmFjZUxvY2tSZXNwb25zZT03MDZdPVxcXCJJbnRlcmZhY2VMb2NrUmVzcG9uc2VcXFwiLHRbdC5JbnRlcmZhY2VVbmxvY2s9NzA3XT1cXFwiSW50ZXJmYWNlVW5sb2NrXFxcIix0W3QuSW50ZXJmYWNlVW5sb2NrUmVzcG9uc2U9NzA4XT1cXFwiSW50ZXJmYWNlVW5sb2NrUmVzcG9uc2VcXFwiLHRbdC5JbnRlcmZhY2VSZWxvY2s9NzA5XT1cXFwiSW50ZXJmYWNlUmVsb2NrXFxcIix0W3QuSW50ZXJmYWNlUmVsb2NrUmVzcG9uc2U9NzEwXT1cXFwiSW50ZXJmYWNlUmVsb2NrUmVzcG9uc2VcXFwiLHRbdC5JbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZT03MTFdPVxcXCJJbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZVxcXCJ9KGUuTWVzc2FnZVR5cGV8fChlLk1lc3NhZ2VUeXBlPXt9KSksZnVuY3Rpb24odCl7dFt0LlVzZXJEZXN0cm95ZWRHYWRnZXQ9NDcwMV09XFxcIlVzZXJEZXN0cm95ZWRHYWRnZXRcXFwifShlLldlYlNvY2tldENsb3NlQ29kZXN8fChlLldlYlNvY2tldENsb3NlQ29kZXM9e30pKSxmdW5jdGlvbih0KXt0W3QuVW5rbm93bj0tMV09XFxcIlVua25vd25cXFwiLHRbdC5IdWI9MF09XFxcIkh1YlxcXCIsdFt0LkdhZGdldD0xXT1cXFwiR2FkZ2V0XFxcIix0W3QuTm9kZT0yXT1cXFwiTm9kZVxcXCIsdFt0LlJlbmRlcmVyPTNdPVxcXCJSZW5kZXJlclxcXCIsdFt0Lk1vbml0b3I9NF09XFxcIk1vbml0b3JcXFwiLHRbdC5VdGlsaXR5PTVdPVxcXCJVdGlsaXR5XFxcIn0ocz1lLkVuZHBvaW50VHlwZXx8KGUuRW5kcG9pbnRUeXBlPXt9KSksZS5lbmRwb2ludEFkZHJUb1N0cmluZz11LGUuc3RyaW5nVG9FbmRwb2ludEFkZHI9ZnVuY3Rpb24odCl7bGV0IGU9bmV3IFJlZ0V4cChcXFwiXiguKTooWzAtOV0rKTooWzAtOV0rKSRcXFwiKS5leGVjKHQpO3JldHVybiBlP3t0eXBlOm8oZVsxXSksZW5kcG9pbnRJZDpwYXJzZUludChlWzJdKSxub2RlSWQ6cGFyc2VJbnQoZVszXSl9Oihjb25zb2xlLmxvZyhgZW5kcG9pbnQgc3RyaW5nICR7dH0gZmFpbGVkIHRvIHBhcnNlYCksbnVsbCl9LGUuZW5kcG9pbnRBZGRySXNFbXB0eT1sLGUuZW5kcG9pbnRBZGRyc01hdGNoPWgsZS5pbmRleE9mRW5kcG9pbnRBZGRycz1mdW5jdGlvbih0LGUpe2lmKCF0KXJldHVybi0xO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWlmKGgodFtuXSxlKSlyZXR1cm4gbjtyZXR1cm4tMX0sZS5jb21wdXRlRW5kcG9pbnRGaWVsZFVyaT1mdW5jdGlvbih0LGUpe3JldHVybmBub2RlZmllbGQ6Ly8ke3UodCl9LyR7ZX1gfSxlLmlzVXNlckFnZW50QWFyZHZhcms9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5jbHVkZXMoXFxcIkFhcmR2YXJrXFxcIil9LGUucGFyc2VFbnZlbG9wZT1mdW5jdGlvbih0LGU9ITApe3RyeXtsZXQgbj1KU09OLnBhcnNlKHQpO3JldHVybiBuLnBheWxvYWQmJmUmJihuLnBheWxvYWRVbnBhY2tlZD1KU09OLnBhcnNlKG4ucGF5bG9hZCkpLG59Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUubG9nKFxcXCJmYWlsZWQgdG8gcGFyc2UgZW52ZWxvcGVcXFwiLHQsZSksbnVsbH19LGZ1bmN0aW9uKHQpe3RbdC5TdWNjZXNzPTBdPVxcXCJTdWNjZXNzXFxcIix0W3QuQWxyZWFkeUxvY2tlZD0xXT1cXFwiQWxyZWFkeUxvY2tlZFxcXCIsdFt0Lk5vdExvY2tlZD0yXT1cXFwiTm90TG9ja2VkXFxcIix0W3QuSW50ZXJmYWNlTm90Rm91bmQ9M109XFxcIkludGVyZmFjZU5vdEZvdW5kXFxcIix0W3QuSW50ZXJmYWNlTmFtZU1pc21hdGNoPTRdPVxcXCJJbnRlcmZhY2VOYW1lTWlzbWF0Y2hcXFwiLHRbdC5JbnRlcmZhY2VSZWNlaXZlck1pc21hdGNoPTVdPVxcXCJJbnRlcmZhY2VSZWNlaXZlck1pc21hdGNoXFxcIix0W3QuTmV3UmVjZWl2ZXJOb3RGb3VuZD02XT1cXFwiTmV3UmVjZWl2ZXJOb3RGb3VuZFxcXCJ9KGUuSW50ZXJmYWNlTG9ja1Jlc3VsdHx8KGUuSW50ZXJmYWNlTG9ja1Jlc3VsdD17fSkpLGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPS0xXT1cXFwiSW52YWxpZFxcXCIsdFt0LkNvbnRhaW5lcj0wXT1cXFwiQ29udGFpbmVyXFxcIix0W3QuT3JpZ2luPTFdPVxcXCJPcmlnaW5cXFwiLHRbdC5UcmFuc2Zvcm09Ml09XFxcIlRyYW5zZm9ybVxcXCIsdFt0Lk1vZGVsPTNdPVxcXCJNb2RlbFxcXCIsdFt0LkxpbmU9MTBdPVxcXCJMaW5lXFxcIix0W3QuUGFyZW50VHJhbnNmb3JtPTEyXT1cXFwiUGFyZW50VHJhbnNmb3JtXFxcIix0W3QuSGVhZEZhY2luZ1RyYW5zZm9ybT0xM109XFxcIkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiLHRbdC5JbnRlcmZhY2VFbnRpdHk9MTddPVxcXCJJbnRlcmZhY2VFbnRpdHlcXFwiLHRbdC5DaGlsZD0xOF09XFxcIkNoaWxkXFxcIix0W3QuTW9kZWxUcmFuc2Zvcm09MTldPVxcXCJNb2RlbFRyYW5zZm9ybVxcXCJ9KGUuQXZOb2RlVHlwZXx8KGUuQXZOb2RlVHlwZT17fSkpLGUuaW50ZXJmYWNlVG9TdHJpbmc9YyxlLmludGVyZmFjZVN0cmluZ0Zyb21Nc2c9ZnVuY3Rpb24odCl7cmV0dXJuIGModC50cmFuc21pdHRlcix0LnJlY2VpdmVyLHQuaWZhY2UpfSxmdW5jdGlvbih0KXt0W3QuSW52YWxpZD0tMV09XFxcIkludmFsaWRcXFwiLHRbdC5TcGhlcmU9MF09XFxcIlNwaGVyZVxcXCIsdFt0Lk1vZGVsQm94PTFdPVxcXCJNb2RlbEJveFxcXCIsdFt0LkFBQkI9MV09XFxcIkFBQkJcXFwiLHRbdC5JbmZpbml0ZT0zXT1cXFwiSW5maW5pdGVcXFwiLHRbdC5FbXB0eT00XT1cXFwiRW1wdHlcXFwiLHRbdC5SYXk9NV09XFxcIlJheVxcXCIsdFt0LlNrZWxldG9uPTZdPVxcXCJTa2VsZXRvblxcXCJ9KGE9ZS5FVm9sdW1lVHlwZXx8KGUuRVZvbHVtZVR5cGU9e30pKSxmdW5jdGlvbih0KXt0W3QuQWx3YXlzPTBdPVxcXCJBbHdheXNcXFwiLHRbdC5TdGFydE9ubHk9MV09XFxcIlN0YXJ0T25seVxcXCIsdFt0LkNvbnRpbnVlT25seT0yXT1cXFwiQ29udGludWVPbmx5XFxcIn0oZS5FVm9sdW1lQ29udGV4dHx8KGUuRVZvbHVtZUNvbnRleHQ9e30pKSxlLmVtcHR5Vm9sdW1lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6YS5FbXB0eX19LGUuaW5maW5pdGVWb2x1bWU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTphLkluZmluaXRlfX0sZS5tb2RlbEJveFZvbHVtZT1mdW5jdGlvbih0LGUpe3JldHVybnt0eXBlOmEuTW9kZWxCb3gsdXJpOnQsc2NhbGU6ZX19LGUuc3BoZXJlVm9sdW1lPWZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOmEuU3BoZXJlLHJhZGl1czp0fX0sZS5yYXlWb2x1bWU9ZnVuY3Rpb24odCxlKXtsZXQgbixzO3M9aS52ZWMzLmRvdChpLnZlYzMudXAsZSk+Ljk5OT9pLnZlYzMuZm9yd2FyZDppLnZlYzMuY3Jvc3MoZSxpLnZlYzMudXApO2xldCBvPWkudmVjMy5jcm9zcyhzLGUpO3JldHVybiBuPW5ldyBpLm1hdDQoW2UueCxlLnksZS56LDAsby54LG8ueSxvLnosMCxzLngscy55LHMueiwwLHQueCx0LnksdC56LDFdKSx7dHlwZTphLlJheSxub2RlRnJvbVZvbHVtZTpyLm5vZGVUcmFuc2Zvcm1Gcm9tTWF0NChuKX19LGZ1bmN0aW9uKHQpe3RbdC5WaXNpYmxlPTFdPVxcXCJWaXNpYmxlXFxcIix0W3QuUHJlc2VydmVHcmFiVHJhbnNmb3JtPTJdPVxcXCJQcmVzZXJ2ZUdyYWJUcmFuc2Zvcm1cXFwiLHRbdC5Ob3RpZnlPblRyYW5zZm9ybUNoYW5nZT00XT1cXFwiTm90aWZ5T25UcmFuc2Zvcm1DaGFuZ2VcXFwiLHRbdC5Ob3RpZnlQcm94aW1pdHlXaXRob3V0R3JhYj04XT1cXFwiTm90aWZ5UHJveGltaXR5V2l0aG91dEdyYWJcXFwiLHRbdC5BbGxvd0Ryb3BPbkhvb2tzPTE2XT1cXFwiQWxsb3dEcm9wT25Ib29rc1xcXCIsdFt0LkFsbG93TXVsdGlwbGVEcm9wcz0zMl09XFxcIkFsbG93TXVsdGlwbGVEcm9wc1xcXCIsdFt0LlRldGhlcmVkPTY0XT1cXFwiVGV0aGVyZWRcXFwiLHRbdC5TaG93R3JhYkluZGljYXRvcj0xMjhdPVxcXCJTaG93R3JhYkluZGljYXRvclxcXCIsdFt0LlJlbW90ZT0yNTZdPVxcXCJSZW1vdGVcXFwiLHRbdC5IaWdobGlnaHRIb29rcz01MTJdPVxcXCJIaWdobGlnaHRIb29rc1xcXCJ9KGUuRU5vZGVGbGFnc3x8KGUuRU5vZGVGbGFncz17fSkpLGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPS0xXT1cXFwiSW52YWxpZFxcXCIsdFt0LkxlZnQ9MF09XFxcIkxlZnRcXFwiLHRbdC5SaWdodD0xXT1cXFwiUmlnaHRcXFwifShlLkVIYW5kfHwoZS5FSGFuZD17fSkpLGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPTBdPVxcXCJJbnZhbGlkXFxcIix0W3QuRDNEMTFUZXh0dXJlMkQ9MV09XFxcIkQzRDExVGV4dHVyZTJEXFxcIix0W3QuVGV4dHVyZVVybD0yXT1cXFwiVGV4dHVyZVVybFxcXCJ9KGUuRVRleHR1cmVUeXBlfHwoZS5FVGV4dHVyZVR5cGU9e30pKSxmdW5jdGlvbih0KXt0W3QuUjhHOEI4QTg9MV09XFxcIlI4RzhCOEE4XFxcIix0W3QuQjhHOFI4QTg9Ml09XFxcIkI4RzhSOEE4XFxcIn0oZS5FVGV4dHVyZUZvcm1hdHx8KGUuRVRleHR1cmVGb3JtYXQ9e30pKSxmdW5jdGlvbih0KXt0Lk1hc3Rlcj1cXFwibWFzdGVyXFxcIix0LlNjZW5lR3JhcGg9XFxcInNjZW5lZ3JhcGhcXFwiLHQuRmF2b3JpdGVzPVxcXCJmYXZvcml0ZXNcXFwiLHQuU3RhcnRVcmw9XFxcInN0YXJ0dXJsXFxcIix0LklucHV0PVxcXCJpbnB1dFxcXCIsdC5TZXR0aW5ncz1cXFwic2V0dGluZ3NcXFwiLHQuQXBwbGljYXRpb249XFxcImFwcGxpY2F0aW9uXFxcIn0oZS5QZXJtaXNzaW9ufHwoZS5QZXJtaXNzaW9uPXt9KSksZnVuY3Rpb24odCl7dFt0LkE9MF09XFxcIkFcXFwiLHRbdC5CPTFdPVxcXCJCXFxcIix0W3QuU3F1ZWV6ZT0yXT1cXFwiU3F1ZWV6ZVxcXCIsdFt0LkdyYWI9M109XFxcIkdyYWJcXFwiLHRbdC5EZXRhY2g9NF09XFxcIkRldGFjaFxcXCIsdFt0LkdyYWJTaG93UmF5PTVdPVxcXCJHcmFiU2hvd1JheVxcXCIsdFt0LkdyYWJNb3ZlPTZdPVxcXCJHcmFiTW92ZVxcXCIsdFt0Lk1heD03XT1cXFwiTWF4XFxcIn0oZS5FQWN0aW9ufHwoZS5FQWN0aW9uPXt9KSksZS5lbXB0eUFjdGlvblN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJue2E6ITEsYjohMSxzcXVlZXplOiExLGdyYWI6ITEsZ3JhYlNob3dSYXk6ITEsZGV0YWNoOiExLGdyYWJNb3ZlOlswLDBdfX0sZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LHQpfSxlLmdhZGdldERldGFpbHNUb0lkPWZ1bmN0aW9uKHQsZSxuKXtsZXQgaT0odCtlKS5yZXBsYWNlKC9cXFxcVy9nLFxcXCJfXFxcIikudG9Mb3dlckNhc2UoKTtpZihpLmxlbmd0aD4yNCYmKGk9aS5zdWJzdHIoMCwyNCkpLG4pe2xldCB0PWUrbixyPTA7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe3I9KHI8PDUpLXIrdC5jaGFyQ29kZUF0KGUpLHImPXJ9aSs9ci50b1N0cmluZygxNil9cmV0dXJuIGl9LGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWZ1bmN0aW9uKHQpe3JldHVybiB0LmVuZHNXaXRoKFxcXCIvXFxcIik/dCtcXFwibWFuaWZlc3Qud2VibWFuaWZlc3RcXFwiOnQrXFxcIi9tYW5pZmVzdC53ZWJtYW5pZmVzdFxcXCJ9fSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDE1KTtlLm1hdDI9aS5kZWZhdWx0O3ZhciByPW4oNSk7ZS5tYXQzPXIuZGVmYXVsdDt2YXIgcz1uKDYpO2UubWF0ND1zLmRlZmF1bHQ7dmFyIGE9big0KTtlLnF1YXQ9YS5kZWZhdWx0O3ZhciBvPW4oMyk7ZS52ZWMyPW8uZGVmYXVsdDt2YXIgdT1uKDIpO2UudmVjMz11LmRlZmF1bHQ7dmFyIGw9bigxMCk7ZS52ZWM0PWwuZGVmYXVsdH0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKSxyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLnZhbHVlcz1uZXcgRmxvYXQzMkFycmF5KDQpLHZvaWQgMCE9PXQmJih0aGlzLnh5enc9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInpcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwid1xcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1szXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzNdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4eVxcXCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4eXpcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4eXp3XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLHRoaXMudmFsdWVzWzNdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXSx0aGlzLnZhbHVlc1syXT10WzJdLHRoaXMudmFsdWVzWzNdPXRbM119LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJyXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcImdcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1sxXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwiYlxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJhXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzNdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbM109dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInJnXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInJnYlxcXCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInJnYmFcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM11dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl0sdGhpcy52YWx1ZXNbM109dFszXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy56PTAsdGhpcy53PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZS56PXRoaXMueixlLnc9dGhpcy53LGV9LHQucHJvdG90eXBlLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9dGhpcyksdC54PS10aGlzLngsdC55PS10aGlzLnksdC56PS10aGlzLnosdC53PS10aGlzLncsdH0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuZXBzaWxvbiksIShNYXRoLmFicyh0aGlzLngtdC54KT5lKSYmKCEoTWF0aC5hYnModGhpcy55LXQueSk+ZSkmJighKE1hdGguYWJzKHRoaXMuei10LnopPmUpJiYhKE1hdGguYWJzKHRoaXMudy10LncpPmUpKSl9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkTGVuZ3RoKCkpfSx0LnByb3RvdHlwZS5zcXVhcmVkTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiB0KnQrZSplK24qbitpKml9LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpc30sdC5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXMudy09dC53LHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzLncqPXQudyx0aGlzfSx0LnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXMudy89dC53LHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLGUueCo9dCxlLnkqPXQsZS56Kj10LGUudyo9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54Kj0wLHQueSo9MCx0LnoqPTAsdC53Kj0wLHQpOihlPTEvZSx0LngqPWUsdC55Kj1lLHQueio9ZSx0LncqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0ND1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjNCh0aGlzLGUpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyZXR1cm4gcnx8KHI9bmV3IHQpLHIueD1lLngraSoobi54LWUueCksci55PWUueStpKihuLnktZS55KSxyLno9ZS56K2kqKG4uei1lLnopLHIudz1lLncraSoobi53LWUudykscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaS56PWUueituLnosaS53PWUudytuLncsaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGkuej1lLnotbi56LGkudz1lLnctbi53LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpLno9ZS56Km4ueixpLnc9ZS53Km4udyxpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGkuej1lLnovbi56LGkudz1lLncvbi53LGl9LHQuemVybz1uZXcgdChbMCwwLDAsMV0pLHQub25lPW5ldyB0KFsxLDEsMSwxXSksdH0oKTtlLmRlZmF1bHQ9cn0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS52ZWNUb0F2VmVjdG9yPWUudmVjRnJvbUF2VmVjdG9yPWUubWF0TXVsdGlwbHlQb2ludD1lLm11bHRpcGx5VHJhbnNmb3Jtcz1lLm1pbmltYWxUb01hdDRUcmFuc2Zvcm09ZS5taW5pbWFsUG9zZUZyb21UcmFuc2Zvcm09ZS5pbnZlcnROb2RlVHJhbnNmb3JtPWUubGVycEF2VHJhbnNmb3Jtcz1lLm1pbklnbm9yaW5nTnVsbHM9ZS5zY2FsZUF4aXNUb0ZpdD1lLnZlYzNNdWx0aXBseUFuZEFkZD1lLmNvbXB1dGVVbml2ZXJzZUZyb21MaW5lPWUubm9kZVRyYW5zZm9ybVRvTWF0ND1lLm5vZGVUcmFuc2Zvcm1Gcm9tTWF0ND1lLmdldFJvd0Zyb21NYXQ9ZS5yb3RhdGlvbk1hdEZyb21FdWxlckRlZ3JlZXM9ZS5xdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXM9ZS5zY2FsZU1hdD1lLnRyYW5zbGF0ZU1hdD12b2lkIDA7Y29uc3QgaT1uKDkpLHI9bigxNik7ZnVuY3Rpb24gcyh0KXtsZXQgZT1uZXcgaS5tYXQ0O3JldHVybiBlLnNldElkZW50aXR5KCksZS50cmFuc2xhdGUodCksZX1mdW5jdGlvbiBhKHQpe2xldCBlPW5ldyBpLm1hdDQ7cmV0dXJuIGUuc2V0SWRlbnRpdHkoKSxlLnNjYWxlKHQpLGV9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBlP2kucXVhdC5mcm9tQXhpc0FuZ2xlKHQsZSpNYXRoLlBJLzE4MCk6bmV3IGkucXVhdChpLnF1YXQuaWRlbnRpdHkueHl6dyl9ZnVuY3Rpb24gdSh0LGUpe2xldCBuPXQucm93KGUpO3JldHVybiBuZXcgaS52ZWMzKFtuWzBdLG5bMV0sblsyXV0pfWZ1bmN0aW9uIGwodCl7aWYoIXQpcmV0dXJuO2xldCBlPXt9LG49dC5tdWx0aXBseVZlYzQobmV3IGkudmVjNChbMCwwLDAsMV0pKTswPT1uLngmJjA9PW4ueSYmMD09bi56fHwoZS5wb3NpdGlvbj17eDpuLngseTpuLnksejpuLnp9KTtsZXQgcj11KHQsMCkubGVuZ3RoKCkscz11KHQsMSkubGVuZ3RoKCksYT11KHQsMikubGVuZ3RoKCk7MT09ciYmMT09cyYmMT09YXx8KGUuc2NhbGU9e3g6cix5OnMsejphfSk7bGV0IG89bmV3IGkubWF0MyhbdC5hdCgwKS9yLHQuYXQoMSkvcix0LmF0KDIpL3IsdC5hdCg0KS9zLHQuYXQoNSkvcyx0LmF0KDYpL3MsdC5hdCg4KS9hLHQuYXQoOSkvYSx0LmF0KDEwKS9hXSkudG9RdWF0KCk7cmV0dXJuIDA9PW8ueCYmMD09by55JiYwPT1vLnp8fChlLnJvdGF0aW9uPXt4Om8ueCx5Om8ueSx6Om8ueix3Om8ud30pLGV9ZnVuY3Rpb24gaCh0KXtpZighdClyZXR1cm4gaS5tYXQ0LmlkZW50aXR5O2xldCBlLG4scjtlPXQucG9zaXRpb24/bmV3IGkudmVjMyhbdC5wb3NpdGlvbi54LHQucG9zaXRpb24ueSx0LnBvc2l0aW9uLnpdKTpuZXcgaS52ZWMzKFswLDAsMF0pLG49dC5zY2FsZT9uZXcgaS52ZWMzKFt0LnNjYWxlLngsdC5zY2FsZS55LHQuc2NhbGUuel0pOm5ldyBpLnZlYzMoWzEsMSwxXSkscj10LnJvdGF0aW9uP25ldyBpLnF1YXQoW3Qucm90YXRpb24ueCx0LnJvdGF0aW9uLnksdC5yb3RhdGlvbi56LHQucm90YXRpb24ud10pOm5ldyBpLnF1YXQoWzAsMCwwLDFdKTtsZXQgbz1zKGUpLm11bHRpcGx5KHIudG9NYXQ0KCkpO2lmKG89by5tdWx0aXBseShhKG4pKSxOdW1iZXIuaXNOYU4oby5hdCgwKSkpdGhyb3cgbmV3IEVycm9yKFxcXCJHYXJiYWdlIHBhc3NlZCBpbnRvIG5vZGVUcmFuc2Zvcm1Ub01hdDQgcmVzdWx0ZWQgaW4gTmFOIGluIG91dHB1dFxcXCIpO3JldHVybiBvfWUudHJhbnNsYXRlTWF0PXMsZS5zY2FsZU1hdD1hLGUucXVhdEZyb21BeGlzQW5nbGVEZWdyZWVzPW8sZS5yb3RhdGlvbk1hdEZyb21FdWxlckRlZ3JlZXM9ZnVuY3Rpb24odCl7bGV0IGU9byhpLnZlYzMucmlnaHQsdC54KSxuPW8oaS52ZWMzLnVwLHQueSkscj1vKGkudmVjMy5mb3J3YXJkLHQueik7cmV0dXJuIGUubXVsdGlwbHkobikubXVsdGlwbHkocikudG9NYXQ0KCl9LGUuZ2V0Um93RnJvbU1hdD11LGUubm9kZVRyYW5zZm9ybUZyb21NYXQ0PWwsZS5ub2RlVHJhbnNmb3JtVG9NYXQ0PWgsZS5jb21wdXRlVW5pdmVyc2VGcm9tTGluZT1mdW5jdGlvbih0LGUsbil7bGV0IHI9bmV3IGkudmVjMyhlLnh5eik7ci5zdWJ0cmFjdCh0KTtsZXQgbz1yLmxlbmd0aCgpO3Iubm9ybWFsaXplKCk7bGV0IHUsbD1uZXcgaS52ZWMzKHQueHl6KS5hZGQobmV3IGkudmVjMyhyLnh5eikuc2NhbGUoby8yKSksaD1yO3U9aC54Pi45OT9uZXcgaS52ZWMzKFswLDEsMF0pOm5ldyBpLnZlYzMoWzEsMCwwXSk7bGV0IGM9aS52ZWMzLmNyb3NzKGgsdSxuZXcgaS52ZWMzKTtjLm5vcm1hbGl6ZSgpLHU9aS52ZWMzLmNyb3NzKGMsaCx1KTtsZXQgdj1uZXcgaS5tYXQ0KFt1LngsdS55LHUueiwwLGgueCxoLnksaC56LDAsYy54LGMueSxjLnosMCwwLDAsMCwxXSksZj1hKG5ldyBpLnZlYzMoW24sbyxuXSkpO3JldHVybiBzKGwpLm11bHRpcGx5KHYubXVsdGlwbHkoZikpfSxlLnZlYzNNdWx0aXBseUFuZEFkZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG5ldyBpLnZlYzMoW3QueCtlLngqbix0LnkrZS55Km4sdC56K2UueipuXSl9LGUuc2NhbGVBeGlzVG9GaXQ9ZnVuY3Rpb24odCxlLG4pe2xldCBpPU1hdGgubWF4KC1lLG4pO3JldHVybiBpPD0wP251bGw6dC9pfSxlLm1pbklnbm9yaW5nTnVsbHM9ZnVuY3Rpb24oLi4udCl7bGV0IGU9dC5maWx0ZXIodD0+bnVsbCE9dCk7cmV0dXJuIGU/TWF0aC5taW4oLi4uZSk6bnVsbH0sZS5sZXJwQXZUcmFuc2Zvcm1zPWZ1bmN0aW9uKHQsZSxuKXtsZXQgcz1PYmplY3QuYXNzaWduKHt9LGUpO2lmKHQmJnQucG9zaXRpb24mJmUucG9zaXRpb24pe2xldCByPW5ldyBpLnZlYzMoW3QucG9zaXRpb24ueCx0LnBvc2l0aW9uLnksdC5wb3NpdGlvbi56XSksYT1uZXcgaS52ZWMzKFtlLnBvc2l0aW9uLngsZS5wb3NpdGlvbi55LGUucG9zaXRpb24uel0pLG89aS52ZWMzLm1peChyLGEsbixuZXcgaS52ZWMzKTtzLnBvc2l0aW9uPXt4Om8ueCx5Om8ueSx6Om8uen19aWYodCYmdC5zY2FsZSYmZS5zY2FsZSl7bGV0IHI9bmV3IGkudmVjMyhbdC5zY2FsZS54LHQuc2NhbGUueSx0LnNjYWxlLnpdKSxhPW5ldyBpLnZlYzMoW2Uuc2NhbGUueCxlLnNjYWxlLnksZS5zY2FsZS56XSksbz1pLnZlYzMubWl4KHIsYSxuLG5ldyBpLnZlYzMpO3Muc2NhbGU9e3g6by54LHk6by55LHo6by56fX1pZih0JiZ0LnJvdGF0aW9uJiZlLnJvdGF0aW9uKXtsZXQgaT1uZXcgcih0LnJvdGF0aW9uKSxhPW5ldyByKGUucm90YXRpb24pLG89aS5zbGVycChhKShuKTtzLnJvdGF0aW9uPXt3Om8udyx4Om8ueCx5Om8ueSx6Om8uen19cmV0dXJuIHN9LGUuaW52ZXJ0Tm9kZVRyYW5zZm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gdD9sKGgodCkuY29weSgpLmludmVyc2UoKSk6dH0sZS5taW5pbWFsUG9zZUZyb21UcmFuc2Zvcm09ZnVuY3Rpb24odCl7bGV0IGU9aCh0KSxuPWUudG9NYXQzKCkudG9RdWF0KCkscj1lLm11bHRpcGx5VmVjNChuZXcgaS52ZWM0KFswLDAsMCwxXSkpO3JldHVybltyLngsci55LHIueixuLncsbi54LG4ueSxuLnpdfSxlLm1pbmltYWxUb01hdDRUcmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJuIGgoe3Bvc2l0aW9uOnt4OnRbMF0seTp0WzFdLHo6dFsyXX0scm90YXRpb246e3c6dFszXSx4OnRbNF0seTp0WzVdLHo6dFs2XX19KX0sZS5tdWx0aXBseVRyYW5zZm9ybXM9ZnVuY3Rpb24odCxlKXtsZXQgbj1oKHQpLHI9aChlKTtyZXR1cm4gbChpLm1hdDQucHJvZHVjdChuLHIsbmV3IGkubWF0NCkpfSxlLm1hdE11bHRpcGx5UG9pbnQ9ZnVuY3Rpb24odCxlKXtsZXQgbj1uZXcgaS52ZWM0KFtlLngsZS55LGUueiwxXSk7cmV0dXJuIG5ldyBpLnZlYzModC5tdWx0aXBseVZlYzQobixuZXcgaS52ZWM0KS54eXopfSxlLnZlY0Zyb21BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9uZXcgaS52ZWMzKFt0LngsdC55LHQuel0pOm51bGx9LGUudmVjVG9BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD97eDp0LngseTp0Lnksejp0Lnp9Om51bGx9fSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTtjb25zdCBpPW4oMTMpO2kuX19leHBvcnRTdGFyKG4oMTQpLGUpLGkuX19leHBvcnRTdGFyKG4oNyksZSksaS5fX2V4cG9ydFN0YXIobigxNyksZSksaS5fX2V4cG9ydFN0YXIobig4KSxlKSxpLl9fZXhwb3J0U3RhcihuKDE4KSxlKSxpLl9fZXhwb3J0U3RhcihuKDE5KSxlKSxpLl9fZXhwb3J0U3RhcihuKDExKSxlKX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtuLnIoZSksbi5kKGUsXFxcIl9fZXh0ZW5kc1xcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSksbi5kKGUsXFxcIl9fYXNzaWduXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSxcXFwiX19yZXN0XFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSxcXFwiX19kZWNvcmF0ZVxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsXFxcIl9fcGFyYW1cXFwiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLFxcXCJfX21ldGFkYXRhXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSxcXFwiX19hd2FpdGVyXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQoZSxcXFwiX19nZW5lcmF0b3JcXFwiLChmdW5jdGlvbigpe3JldHVybiBjfSkpLG4uZChlLFxcXCJfX2NyZWF0ZUJpbmRpbmdcXFwiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZChlLFxcXCJfX2V4cG9ydFN0YXJcXFwiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLG4uZChlLFxcXCJfX3ZhbHVlc1xcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKGUsXFxcIl9fcmVhZFxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsXFxcIl9fc3ByZWFkXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxuLmQoZSxcXFwiX19zcHJlYWRBcnJheXNcXFwiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZChlLFxcXCJfX2F3YWl0XFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxuLmQoZSxcXFwiX19hc3luY0dlbmVyYXRvclxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksbi5kKGUsXFxcIl9fYXN5bmNEZWxlZ2F0b3JcXFwiLChmdW5jdGlvbigpe3JldHVybiB3fSkpLG4uZChlLFxcXCJfX2FzeW5jVmFsdWVzXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxuLmQoZSxcXFwiX19tYWtlVGVtcGxhdGVPYmplY3RcXFwiLChmdW5jdGlvbigpe3JldHVybiBNfSkpLG4uZChlLFxcXCJfX2ltcG9ydFN0YXJcXFwiLChmdW5jdGlvbigpe3JldHVybiB6fSkpLG4uZChlLFxcXCJfX2ltcG9ydERlZmF1bHRcXFwiLChmdW5jdGlvbigpe3JldHVybiBffSkpLG4uZChlLFxcXCJfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0XFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gUH0pKSxuLmQoZSxcXFwiX19jbGFzc1ByaXZhdGVGaWVsZFNldFxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSk7XFxuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXFxuXFxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XFxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxcblxcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXFxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXFxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXFxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cXG52YXIgaT1mdW5jdGlvbih0LGUpe3JldHVybihpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pfSkodCxlKX07ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX12YXIgcz1mdW5jdGlvbigpe3JldHVybihzPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspZm9yKHZhciByIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXt9O2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiZlLmluZGV4T2YoaSk8MCYmKG5baV09dFtpXSk7aWYobnVsbCE9dCYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPTA7Zm9yKGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtyPGkubGVuZ3RoO3IrKyllLmluZGV4T2YoaVtyXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsaVtyXSkmJihuW2lbcl1dPXRbaVtyXV0pfXJldHVybiBufWZ1bmN0aW9uIG8odCxlLG4saSl7dmFyIHIscz1hcmd1bWVudHMubGVuZ3RoLGE9czwzP2U6bnVsbD09PWk/aT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6aTtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIFJlZmxlY3QmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgbz10Lmxlbmd0aC0xO28+PTA7by0tKShyPXRbb10pJiYoYT0oczwzP3IoYSk6cz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBzPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7ZShuLGksdCl9fWZ1bmN0aW9uIGwodCxlKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIFJlZmxlY3QmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKHQsZSl9ZnVuY3Rpb24gaCh0LGUsbixpKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24ocixzKXtmdW5jdGlvbiBhKHQpe3RyeXt1KGkubmV4dCh0KSl9Y2F0Y2godCl7cyh0KX19ZnVuY3Rpb24gbyh0KXt0cnl7dShpLnRocm93KHQpKX1jYXRjaCh0KXtzKHQpfX1mdW5jdGlvbiB1KHQpe3ZhciBlO3QuZG9uZT9yKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbigoZnVuY3Rpb24odCl7dChlKX0pKSkudGhlbihhLG8pfXUoKGk9aS5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBjKHQsZSl7dmFyIG4saSxyLHMsYT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZyWzBdKXRocm93IHJbMV07cmV0dXJuIHJbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gcz17bmV4dDpvKDApLHRocm93Om8oMSkscmV0dXJuOm8oMil9LFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2wmJihzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHM7ZnVuY3Rpb24gbyhzKXtyZXR1cm4gZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlxcXCIpO2Zvcig7YTspdHJ5e2lmKG49MSxpJiYocj0yJnNbMF0/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKHI9aS5yZXR1cm4pJiZyLmNhbGwoaSksMCk6aS5uZXh0KSYmIShyPXIuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiByO3N3aXRjaChpPTAsciYmKHM9WzImc1swXSxyLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTpyPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBhLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1OmEubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9YS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShyPWEudHJ5cywocj1yLmxlbmd0aD4wJiZyW3IubGVuZ3RoLTFdKXx8NiE9PXNbMF0mJjIhPT1zWzBdKSl7YT0wO2NvbnRpbnVlfWlmKDM9PT1zWzBdJiYoIXJ8fHNbMV0+clswXSYmc1sxXTxyWzNdKSl7YS5sYWJlbD1zWzFdO2JyZWFrfWlmKDY9PT1zWzBdJiZhLmxhYmVsPHJbMV0pe2EubGFiZWw9clsxXSxyPXM7YnJlYWt9aWYociYmYS5sYWJlbDxyWzJdKXthLmxhYmVsPXJbMl0sYS5vcHMucHVzaChzKTticmVha31yWzJdJiZhLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWV9cz1lLmNhbGwodCxhKX1jYXRjaCh0KXtzPVs2LHRdLGk9MH1maW5hbGx5e249cj0wfWlmKDUmc1swXSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fShbcyxvXSl9fX1mdW5jdGlvbiB2KHQsZSxuLGkpe3ZvaWQgMD09PWkmJihpPW4pLHRbaV09ZVtuXX1mdW5jdGlvbiBmKHQsZSl7Zm9yKHZhciBuIGluIHQpXFxcImRlZmF1bHRcXFwiPT09bnx8ZS5oYXNPd25Qcm9wZXJ0eShuKXx8KGVbbl09dFtuXSl9ZnVuY3Rpb24gcCh0KXt2YXIgZT1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj1lJiZ0W2VdLGk9MDtpZihuKXJldHVybiBuLmNhbGwodCk7aWYodCYmXFxcIm51bWJlclxcXCI9PXR5cGVvZiB0Lmxlbmd0aClyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZpPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtpKytdLGRvbmU6IXR9fX07dGhyb3cgbmV3IFR5cGVFcnJvcihlP1xcXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlxcXCI6XFxcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cXFwiKX1mdW5jdGlvbiBkKHQsZSl7dmFyIG49XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiB0O3ZhciBpLHIscz1uLmNhbGwodCksYT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09ZXx8ZS0tID4wKSYmIShpPXMubmV4dCgpKS5kb25lOylhLnB1c2goaS52YWx1ZSl9Y2F0Y2godCl7cj17ZXJyb3I6dH19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKG49cy5yZXR1cm4pJiZuLmNhbGwocyl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fXJldHVybiBhfWZ1bmN0aW9uIHkoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChkKGFyZ3VtZW50c1tlXSkpO3JldHVybiB0fWZ1bmN0aW9uIGcoKXtmb3IodmFyIHQ9MCxlPTAsbj1hcmd1bWVudHMubGVuZ3RoO2U8bjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDt2YXIgaT1BcnJheSh0KSxyPTA7Zm9yKGU9MDtlPG47ZSsrKWZvcih2YXIgcz1hcmd1bWVudHNbZV0sYT0wLG89cy5sZW5ndGg7YTxvO2ErKyxyKyspaVtyXT1zW2FdO3JldHVybiBpfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiB4Pyh0aGlzLnY9dCx0aGlzKTpuZXcgeCh0KX1mdW5jdGlvbiBiKHQsZSxuKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXFxcIik7dmFyIGkscj1uLmFwcGx5KHQsZXx8W10pLHM9W107cmV0dXJuIGk9e30sYShcXFwibmV4dFxcXCIpLGEoXFxcInRocm93XFxcIiksYShcXFwicmV0dXJuXFxcIiksaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30saTtmdW5jdGlvbiBhKHQpe3JbdF0mJihpW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixpKXtzLnB1c2goW3QsZSxuLGldKT4xfHxvKHQsZSl9KSl9KX1mdW5jdGlvbiBvKHQsZSl7dHJ5eyhuPXJbdF0oZSkpLnZhbHVlIGluc3RhbmNlb2YgeD9Qcm9taXNlLnJlc29sdmUobi52YWx1ZS52KS50aGVuKHUsbCk6aChzWzBdWzJdLG4pfWNhdGNoKHQpe2goc1swXVszXSx0KX12YXIgbn1mdW5jdGlvbiB1KHQpe28oXFxcIm5leHRcXFwiLHQpfWZ1bmN0aW9uIGwodCl7byhcXFwidGhyb3dcXFwiLHQpfWZ1bmN0aW9uIGgodCxlKXt0KGUpLHMuc2hpZnQoKSxzLmxlbmd0aCYmbyhzWzBdWzBdLHNbMF1bMV0pfX1mdW5jdGlvbiB3KHQpe3ZhciBlLG47cmV0dXJuIGU9e30saShcXFwibmV4dFxcXCIpLGkoXFxcInRocm93XFxcIiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxpKFxcXCJyZXR1cm5cXFwiKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBpKGkscil7ZVtpXT10W2ldP2Z1bmN0aW9uKGUpe3JldHVybihuPSFuKT97dmFsdWU6eCh0W2ldKGUpKSxkb25lOlxcXCJyZXR1cm5cXFwiPT09aX06cj9yKGUpOmV9OnJ9fWZ1bmN0aW9uIG0odCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlxcXCIpO3ZhciBlLG49dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKHQpOih0PXAodCksZT17fSxpKFxcXCJuZXh0XFxcIiksaShcXFwidGhyb3dcXFwiKSxpKFxcXCJyZXR1cm5cXFwiKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBpKG4pe2Vbbl09dFtuXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihpLHIpeyhmdW5jdGlvbih0LGUsbixpKXtQcm9taXNlLnJlc29sdmUoaSkudGhlbigoZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOm59KX0pLGUpfSkoaSxyLChlPXRbbl0oZSkpLmRvbmUsZS52YWx1ZSl9KSl9fX1mdW5jdGlvbiBNKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxcXFwicmF3XFxcIix7dmFsdWU6ZX0pOnQucmF3PWUsdH1mdW5jdGlvbiB6KHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZihudWxsIT10KWZvcih2YXIgbiBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIF8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIFAodCxlKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVxcXCIpO3JldHVybiBlLmdldCh0KX1mdW5jdGlvbiBrKHQsZSxuKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVxcXCIpO3JldHVybiBlLnNldCh0LG4pLG59fSxmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pLGV4cG9ydHMud3JpdGVQZXJzaXN0ZW50U3RhdGU9ZXhwb3J0cy5yZWFkUGVyc2lzdGVudFN0YXRlPWV4cG9ydHMudjFUb1YyPWV4cG9ydHMuZ2V0U3RhbmRhcmRQZXJzaXN0ZW5jZVBhdGg9ZXhwb3J0cy5nZXRTdGFuZGFyZEFhcmR2YXJrUGF0aD12b2lkIDA7Y29uc3QgdXVpZF8xPV9fd2VicGFja19yZXF1aXJlX18oMjApLEFhcmR2YXJrU3RhdGVGb3JtYXQ9MztmdW5jdGlvbiBnZXRTdGFuZGFyZEFhcmR2YXJrUGF0aCgpe2xldCBvcz1ldmFsKFxcXCJyZXF1aXJlKCAnb3MnIClcXFwiKSxwYXRoPWV2YWwoXFxcInJlcXVpcmUoICdwYXRoJyApIFxcXCIpO3JldHVybiBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLFxcXCJhYXJkdmFya1xcXCIpfWZ1bmN0aW9uIGdldFN0YW5kYXJkUGVyc2lzdGVuY2VQYXRoKCl7bGV0IHBhdGg9ZXZhbChcXFwicmVxdWlyZSggJ3BhdGgnIClcXFwiKTtyZXR1cm4gcGF0aC5qb2luKGdldFN0YW5kYXJkQWFyZHZhcmtQYXRoKCksXFxcInN0YXRlLmpzb25cXFwiKX1leHBvcnRzLmdldFN0YW5kYXJkQWFyZHZhcmtQYXRoPWdldFN0YW5kYXJkQWFyZHZhcmtQYXRoLGV4cG9ydHMuZ2V0U3RhbmRhcmRQZXJzaXN0ZW5jZVBhdGg9Z2V0U3RhbmRhcmRQZXJzaXN0ZW5jZVBhdGg7Y29uc3QgZmlyc3ROYW1lcz1bXFxcIkdyZWVuXFxcIixcXFwiQmx1ZVxcXCIsXFxcIlJlZFxcXCIsXFxcIk9yYW5nZVxcXCIsXFxcIlRlYWxcXFwiLFxcXCJQdXJwbGVcXFwiLFxcXCJQaW5rXFxcIixcXFwiWWVsbG93XFxcIixcXFwiQmxhY2tcXFwiLFxcXCJXaGl0ZVxcXCIsXFxcIkJyb3duXFxcIixcXFwiQmVpZ2VcXFwiXSxsYXN0TmFtZXM9W1xcXCJBcHBsZVxcXCIsXFxcIkJhbmFuYVxcXCIsXFxcIkxlbW9uXFxcIixcXFwiUGluZWFwcGxlXFxcIixcXFwiQ29jb251dFxcXCIsXFxcIkxpbWVcXFwiLFxcXCJLaXdpXFxcIixcXFwiUGVhclxcXCIsXFxcIkNoZXJyeVxcXCIsXFxcIlN0cmF3YmVycnlcXFwiLFxcXCJHcmFwZVxcXCIsXFxcIk1hbmdvXFxcIl07ZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21OYW1lKCl7bGV0IHQ9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmZpcnN0TmFtZXMubGVuZ3RoKSxlPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpsYXN0TmFtZXMubGVuZ3RoKTtyZXR1cm5gJHtmaXJzdE5hbWVzW3RdfSAke2xhc3ROYW1lc1tlXX1gfWZ1bmN0aW9uIHYxVG9WMih0KXtsZXQgZT17Zm9ybWF0OjIsYWN0aXZlR2FkZ2V0czp0LmFjdGl2ZUdhZGdldHMsaW5zdGFsbGVkR2FkZ2V0czpbXSxyZW5kZXJlckNvbmZpZzp7ZW5hYmxlTWl4ZWRSZWFsaXR5OiExLG1peGVkUmVhbGl0eUZvdjo1MC4zLGNsZWFyQ29sb3I6WzAsMSwwXX0sbG9jYWxVc2VyVXVpZDp1dWlkXzEudjQoKSxsb2NhbFVzZXJEaXNwbGF5TmFtZTpnZW5lcmF0ZVJhbmRvbU5hbWUoKX07Zm9yKGxldCBuIG9mIHQuaW5zdGFsbGVkR2FkZ2V0cyllLmluc3RhbGxlZEdhZGdldHMucHVzaChuLnJlcGxhY2UoXFxcImFhcmR2YXJrLmluc3RhbGxcXFwiLFxcXCJsb2NhbGhvc3Q6MjM4NDJcXFwiKSk7cmV0dXJuIGV9ZnVuY3Rpb24gcmVhZFBlcnNpc3RlbnRTdGF0ZShwYXRoKXt0cnl7bGV0IGZzPWV2YWwoXFxcInJlcXVpcmUoICdmcycgKVxcXCIpLHByZXZpb3VzU3RhdGU9ZnMucmVhZEZpbGVTeW5jKHBhdGgsXFxcInV0ZjhcXFwiKSxzdGF0ZT1KU09OLnBhcnNlKHByZXZpb3VzU3RhdGUpO2lmKDE9PXN0YXRlLmZvcm1hdHx8Mj09c3RhdGUuZm9ybWF0KXRocm93YFN0b3JlZCBzdGF0ZSAke3N0YXRlLmZvcm1hdH0gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC5gO2lmKHN0YXRlLmZvcm1hdCE9QWFyZHZhcmtTdGF0ZUZvcm1hdCl0aHJvd1xcXCJJbmFwcHJvcHJpYXRlIHN0YXRlIGZvcm1hdCBcXFwiK3N0YXRlLmZvcm1hdDtyZXR1cm4gc3RhdGUucmVuZGVyZXJDb25maWd8fChzdGF0ZS5yZW5kZXJlckNvbmZpZz17ZW5hYmxlTWl4ZWRSZWFsaXR5OiExLG1peGVkUmVhbGl0eUZvdjo1MC4zLGNsZWFyQ29sb3I6WzAsMSwwXX0pLHN0YXRlLmFjdGl2ZUdhZGdldHMuZ2FkZ2V0X21lbnV8fChjb25zb2xlLmxvZyhcXFwiR2FkZ2V0IG1lbnUgd2FzIG1pc3NpbmcuIEZvcmNpbmcgdGhhdCB0byBleGlzdC5cXFwiKSxzdGF0ZS5hY3RpdmVHYWRnZXRzLmdhZGdldF9tZW51PXt1cmk6XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVxcXCIsaG9va1BhdGg6XFxcIi9nYWRnZXQvaGFuZHMvbGVmdF9oYW5kXFxcIn0pLHN0YXRlLmxvY2FsVXNlckRpc3BsYXlOYW1lfHwoc3RhdGUubG9jYWxVc2VyRGlzcGxheU5hbWU9Z2VuZXJhdGVSYW5kb21OYW1lKCkpLGNvbnNvbGUubG9nKGBSZWFkIHN0YXRlIGZyb20gJHtwYXRofSBmb3IgYCtPYmplY3Qua2V5cyhzdGF0ZS5hY3RpdmVHYWRnZXRzKS5sZW5ndGgrXFxcIiBhY3RpdmUgZ2FkZ2V0c1xcXCIpLHN0YXRlfWNhdGNoKHQpe2NvbnNvbGUubG9nKGBGYWlsZWQgdG8gcmVhZCBzdGF0ZSBmaWxlIGJlY2F1c2UgJHt0fSBVc2luZyBkZWZhdWx0IHN0YXJ0YCk7bGV0IGU9e2Zvcm1hdDpBYXJkdmFya1N0YXRlRm9ybWF0LGFjdGl2ZUdhZGdldHM6e2dhZGdldF9tZW51Ont1cmk6XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVxcXCIsaG9va1BhdGg6XFxcIi9nYWRnZXQvaGFuZHMvbGVmdF9oYW5kXFxcIn19LGluc3RhbGxlZEdhZGdldHM6W10scmVuZGVyZXJDb25maWc6e21peGVkUmVhbGl0eUZvdjo1MC4zLGVuYWJsZU1peGVkUmVhbGl0eTohMSxjbGVhckNvbG9yOlswLDEsMF19LGxvY2FsVXNlclV1aWQ6dXVpZF8xLnY0KCksbG9jYWxVc2VyRGlzcGxheU5hbWU6Z2VuZXJhdGVSYW5kb21OYW1lKCl9O3JldHVybiBlfX1mdW5jdGlvbiB3cml0ZVBlcnNpc3RlbnRTdGF0ZShzdGF0ZSxwYXRoKXtsZXQgZnM9ZXZhbChcXFwicmVxdWlyZSggJ2ZzJyApXFxcIik7cmV0dXJuIHN0YXRlLmZvcm1hdD1BYXJkdmFya1N0YXRlRm9ybWF0LGZzLndyaXRlRmlsZVN5bmMocGF0aCxKU09OLnN0cmluZ2lmeShzdGF0ZSxudWxsLDIpKSwhMH1leHBvcnRzLnYxVG9WMj12MVRvVjIsZXhwb3J0cy5yZWFkUGVyc2lzdGVudFN0YXRlPXJlYWRQZXJzaXN0ZW50U3RhdGUsZXhwb3J0cy53cml0ZVBlcnNpc3RlbnRTdGF0ZT13cml0ZVBlcnNpc3RlbnRTdGF0ZX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigzKSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSg0KSx2b2lkIDAhPT10JiZ0aGlzLmluaXQodCl9cmV0dXJuIHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDQ7ZSsrKXRoaXMudmFsdWVzW2VdPXRbZV07cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDw0O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDQ7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8NDtlKyspdFtlXT10aGlzLnZhbHVlc1tlXTtyZXR1cm4gdH0sdC5wcm90b3R5cGUucm93PWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1syKnQrMF0sdGhpcy52YWx1ZXNbMip0KzFdXX0sdC5wcm90b3R5cGUuY29sPWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1t0XSx0aGlzLnZhbHVlc1t0KzJdXX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9ci5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDQ7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLmRldGVybWluYW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdKnRoaXMudmFsdWVzWzNdLXRoaXMudmFsdWVzWzJdKnRoaXMudmFsdWVzWzFdfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0xLHRoaXN9LHQucHJvdG90eXBlLnRyYW5zcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzFdO3JldHVybiB0aGlzLnZhbHVlc1sxXT10aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1syXT10LHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRldGVybWluYW50KCk7aWYoIXQpcmV0dXJuIG51bGw7dD0xL3Q7dmFyIGU9dGhpcy52YWx1ZXNbMF07cmV0dXJuIHRoaXMudmFsdWVzWzBdPXQqdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbMV09dCotdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl09dCotdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM109dCplLHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdO3JldHVybiB0aGlzLnZhbHVlc1swXT1lKnQuYXQoMCkrbip0LmF0KDIpLHRoaXMudmFsdWVzWzFdPWUqdC5hdCgxKStuKnQuYXQoMyksdGhpcy52YWx1ZXNbMl09aSp0LmF0KDApK3IqdC5hdCgyKSx0aGlzLnZhbHVlc1szXT1pKnQuYXQoMSkrcip0LmF0KDMpLHRoaXN9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPU1hdGguc2luKHQpLGE9TWF0aC5jb3ModCk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqYStuKnMsdGhpcy52YWx1ZXNbMV09ZSotcytuKmEsdGhpcy52YWx1ZXNbMl09aSphK3Iqcyx0aGlzLnZhbHVlc1szXT1pKi1zK3IqYSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzI9ZnVuY3Rpb24odCxlKXt2YXIgbj10Lngscj10Lnk7cmV0dXJuIGU/KGUueHk9W24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dLGUpOm5ldyBpLmRlZmF1bHQoW24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dKX0sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52YWx1ZXNbMF0sbj10aGlzLnZhbHVlc1sxXSxpPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbM10scz10LngsYT10Lnk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqcyx0aGlzLnZhbHVlc1sxXT1uKmEsdGhpcy52YWx1ZXNbMl09aSpzLHRoaXMudmFsdWVzWzNdPXIqYSx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyk7cmV0dXJuIGk/KGkuaW5pdChbcipuLmF0KDApK3Mqbi5hdCgyKSxyKm4uYXQoMSkrcypuLmF0KDMpLGEqbi5hdCgwKStvKm4uYXQoMiksYSpuLmF0KDEpK28qbi5hdCgzKV0pLGkpOm5ldyB0KFtyKm4uYXQoMCkrcypuLmF0KDIpLHIqbi5hdCgxKStzKm4uYXQoMyksYSpuLmF0KDApK28qbi5hdCgyKSxhKm4uYXQoMSkrbypuLmF0KDMpXSl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtcXG4vKipcXG4gKiBAbGljZW5zZSBRdWF0ZXJuaW9uLmpzIHYxLjEuMCAyMi8wMi8yMDE2XFxuICpcXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYsIFJvYmVydCBFaXNlbGUgKHJvYmVydEB4YXJnLm9yZylcXG4gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy5cXG4gKiovIWZ1bmN0aW9uKG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiByKHQsZSl7dmFyIG49TWF0aC5hYnModCksaT1NYXRoLmFicyhlKTtyZXR1cm4gMD09PXQ/TWF0aC5sb2coaSk6MD09PWU/TWF0aC5sb2cobik6bjwzZTMmJmk8M2UzPy41Kk1hdGgubG9nKHQqdCtlKmUpOk1hdGgubG9nKHQvTWF0aC5jb3MoTWF0aC5hdGFuMihlLHQpKSl9dmFyIHM9e3c6MSx4OjAseTowLHo6MH07ZnVuY3Rpb24gYSh0LGUsbixpLHIpe2lmKHZvaWQgMCE9PXIpcmV0dXJuIHQudz1lLHQueD1uLHQueT1pLHZvaWQodC56PXIpO2lmKFxcXCJvYmplY3RcXFwiPT10eXBlb2YgZSYmdm9pZCAwPT09aSl7aWYoXFxcIndcXFwiaW4gZXx8XFxcInhcXFwiaW4gZXx8XFxcInlcXFwiaW4gZXx8XFxcInpcXFwiaW4gZSlyZXR1cm4gdC53PWUud3x8MCx0Lng9ZS54fHwwLHQueT1lLnl8fDAsdm9pZCh0Lno9ZS56fHwwKTtpZihcXFwicmVcXFwiaW4gZSYmXFxcImltXFxcImluIGUpcmV0dXJuIHQudz1lLnJlLHQueD1lLmltLHQueT0wLHZvaWQodC56PTApO2lmKDQ9PT1lLmxlbmd0aClyZXR1cm4gdC53PWVbMF0sdC54PWVbMV0sdC55PWVbMl0sdm9pZCh0Lno9ZVszXSk7aWYoMz09PWUubGVuZ3RoKXJldHVybiB0Lnc9MCx0Lng9ZVswXSx0Lnk9ZVsxXSx2b2lkKHQuej1lWzJdKTt0aHJvdyBuZXcgRXJyb3IoXFxcIkludmFsaWQgb2JqZWN0XFxcIil9aWYoXFxcInN0cmluZ1xcXCIhPXR5cGVvZiBlfHx2b2lkIDAhPT1pKXZvaWQgMD09PWUmJnQhPT1zPyh0Lnc9MSx0Lng9dC55PXQuej0wKToodC53PWV8fDAsbiYmMz09PW4ubGVuZ3RoPyh0Lng9blswXSx0Lnk9blsxXSx0Lno9blsyXSk6KHQueD1ufHwwLHQueT1pfHwwLHQuej1yfHwwKSk7ZWxzZXt2YXIgYT1lLm1hdGNoKC9cXFxcZCtcXFxcLj9cXFxcZCplWystXT9cXFxcZCt8XFxcXGQrXFxcXC4/XFxcXGQqfFxcXFwuXFxcXGQrfC4vZyksbz0xLHU9MCxsPXtpOlxcXCJ4XFxcIixqOlxcXCJ5XFxcIixrOlxcXCJ6XFxcIn07aWYobnVsbD09PWEpdGhyb3cgbmV3IEVycm9yKFxcXCJQYXJzZSBlcnJvclxcXCIpO3Qudz10Lng9dC55PXQuej0wO2Zvcih2YXIgaD0wO2g8YS5sZW5ndGg7aCsrKXt2YXIgYz1hW2hdLHY9YVtoKzFdO2lmKFxcXCIgXFxcIj09PWN8fFxcXCJcXFxcdFxcXCI9PT1jfHxcXFwiXFxcXG5cXFwiPT09Yyk7ZWxzZSBpZihcXFwiK1xcXCI9PT1jKW8rKztlbHNlIGlmKFxcXCItXFxcIj09PWMpdSsrO2Vsc2V7aWYobyt1PT09MCl0aHJvdyBuZXcgRXJyb3IoXFxcIlBhcnNlIGVycm9yXFxcIitjKTt2YXIgZj1sW2NdO2lmKHZvaWQgMCE9PWYpXFxcIiBcXFwiPT09dnx8aXNOYU4odik/Yz1cXFwiMVxcXCI6KGM9dixoKyspO2Vsc2V7aWYoaXNOYU4oYykpdGhyb3cgbmV3IEVycm9yKFxcXCJQYXJzZXIgZXJyb3JcXFwiKTt2b2lkIDAhPT0oZj1sW3ZdKSYmaCsrfXRbZnx8XFxcIndcXFwiXSs9cGFyc2VGbG9hdCgodSUyP1xcXCItXFxcIjpcXFwiXFxcIikrYyksbz11PTB9fWlmKG8rdT4wKXRocm93IG5ldyBFcnJvcihcXFwiUGFyc2VyIGVycm9yXFxcIil9fWZ1bmN0aW9uIG8odCxlLG4pe3ZhciBpPVxcXCJcXFwiO3JldHVybiAwIT09dCYmKFxcXCJcXFwiIT09bj9pKz10PDA/XFxcIiAtIFxcXCI6XFxcIiArIFxcXCI6dDwwJiYoaSs9XFxcIi1cXFwiKSwxPT09KHQ9TWF0aC5hYnModCkpJiZcXFwiXFxcIiE9PWV8fChpKz10KSxpKz1lKSxpfWZ1bmN0aW9uIHUodCxlLG4saSl7aWYoISh0aGlzIGluc3RhbmNlb2YgdSkpcmV0dXJuIG5ldyB1KHQsZSxuLGkpO2EodGhpcyx0LGUsbixpKX11LnByb3RvdHlwZT17dzoxLHg6MCx5OjAsejowLGFkZDpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gYShzLHQsZSxuLGkpLG5ldyB1KHRoaXMudytzLncsdGhpcy54K3MueCx0aGlzLnkrcy55LHRoaXMueitzLnopfSxzdWI6ZnVuY3Rpb24odCxlLG4saSl7cmV0dXJuIGEocyx0LGUsbixpKSxuZXcgdSh0aGlzLnctcy53LHRoaXMueC1zLngsdGhpcy55LXMueSx0aGlzLnotcy56KX0sbmVnOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1KC10aGlzLncsLXRoaXMueCwtdGhpcy55LC10aGlzLnopfSxub3JtOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56O3JldHVybiBNYXRoLnNxcnQodCp0K2UqZStuKm4raSppKX0sbm9ybVNxOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56O3JldHVybiB0KnQrZSplK24qbitpKml9LG5vcm1hbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMudyxlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPU1hdGguc3FydCh0KnQrZSplK24qbitpKmkpO3JldHVybiByPHUuRVBTSUxPTj91LlpFUk86bmV3IHUodCoocj0xL3IpLGUqcixuKnIsaSpyKX0sbXVsOmZ1bmN0aW9uKHQsZSxuLGkpe2Eocyx0LGUsbixpKTt2YXIgcj10aGlzLncsbz10aGlzLngsbD10aGlzLnksaD10aGlzLnosYz1zLncsdj1zLngsZj1zLnkscD1zLno7cmV0dXJuIG5ldyB1KHIqYy1vKnYtbCpmLWgqcCxyKnYrbypjK2wqcC1oKmYscipmK2wqYytoKnYtbypwLHIqcCtoKmMrbypmLWwqdil9LHNjYWxlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdSh0aGlzLncqdCx0aGlzLngqdCx0aGlzLnkqdCx0aGlzLnoqdCl9LGRvdDpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gYShzLHQsZSxuLGkpLHRoaXMudypzLncrdGhpcy54KnMueCt0aGlzLnkqcy55K3RoaXMueipzLnp9LGludmVyc2U6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj10KnQrZSplK24qbitpKmk7cmV0dXJuIDA9PT1yP3UuWkVSTzpuZXcgdSh0KihyPTEvciksLWUqciwtbipyLC1pKnIpfSxkaXY6ZnVuY3Rpb24odCxlLG4saSl7YShzLHQsZSxuLGkpO3ZhciByPXRoaXMudyxvPXRoaXMueCxsPXRoaXMueSxoPXRoaXMueixjPXMudyx2PXMueCxmPXMueSxwPXMueixkPWMqYyt2KnYrZipmK3AqcDtyZXR1cm4gMD09PWQ/dS5aRVJPOm5ldyB1KChyKmMrbyp2K2wqZitoKnApKihkPTEvZCksKG8qYy1yKnYtbCpwK2gqZikqZCwobCpjLXIqZi1oKnYrbypwKSpkLChoKmMtcipwLW8qZitsKnYpKmQpfSxjb25qdWdhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHUodGhpcy53LC10aGlzLngsLXRoaXMueSwtdGhpcy56KX0sZXhwOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHI9TWF0aC5zcXJ0KGUqZStuKm4raSppKSxzPU1hdGguZXhwKHQpLGE9cy9yKk1hdGguc2luKHIpO3JldHVybiAwPT09cj9uZXcgdShzLDAsMCwwKTpuZXcgdShzKk1hdGguY29zKHIpLGUqYSxuKmEsaSphKX0sbG9nOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56O2lmKDA9PT1uJiYwPT09aSlyZXR1cm4gbmV3IHUocih0LGUpLE1hdGguYXRhbjIoZSx0KSwwLDApO3ZhciBzPWUqZStuKm4raSppK3QqdCxhPU1hdGguc3FydChlKmUrbipuK2kqaSksbz1NYXRoLmF0YW4yKGEsdCkvYTtyZXR1cm4gbmV3IHUoLjUqTWF0aC5sb2cocyksZSpvLG4qbyxpKm8pfSxwb3c6ZnVuY3Rpb24odCxlLG4saSl7aWYoYShzLHQsZSxuLGkpLDA9PT1zLnkmJjA9PT1zLnope2lmKDE9PT1zLncmJjA9PT1zLngpcmV0dXJuIHRoaXM7aWYoMD09PXMudyYmMD09PXMueClyZXR1cm4gdS5PTkU7aWYoMD09PXRoaXMueSYmMD09PXRoaXMueil7dmFyIG89dGhpcy53LGw9dGhpcy54O2lmKDA9PT1vJiYwPT09bClyZXR1cm4gdS5aRVJPO3ZhciBoPU1hdGguYXRhbjIobCxvKSxjPXIobyxsKTtpZigwPT09cy54KXtpZigwPT09bCYmbz49MClyZXR1cm4gbmV3IHUoTWF0aC5wb3cobyxzLncpLDAsMCwwKTtpZigwPT09bylzd2l0Y2gocy53JTQpe2Nhc2UgMDpyZXR1cm4gbmV3IHUoTWF0aC5wb3cobCxzLncpLDAsMCwwKTtjYXNlIDE6cmV0dXJuIG5ldyB1KDAsTWF0aC5wb3cobCxzLncpLDAsMCk7Y2FzZSAyOnJldHVybiBuZXcgdSgtTWF0aC5wb3cobCxzLncpLDAsMCwwKTtjYXNlIDM6cmV0dXJuIG5ldyB1KDAsLU1hdGgucG93KGwscy53KSwwLDApfX1yZXR1cm4gbz1NYXRoLmV4cChzLncqYy1zLngqaCksbD1zLngqYytzLncqaCxuZXcgdShvKk1hdGguY29zKGwpLG8qTWF0aC5zaW4obCksMCwwKX19cmV0dXJuIHRoaXMubG9nKCkubXVsKHMpLmV4cCgpfSxlcXVhbHM6ZnVuY3Rpb24odCxlLG4saSl7YShzLHQsZSxuLGkpO3ZhciByPXUuRVBTSUxPTjtyZXR1cm4gTWF0aC5hYnMocy53LXRoaXMudyk8ciYmTWF0aC5hYnMocy54LXRoaXMueCk8ciYmTWF0aC5hYnMocy55LXRoaXMueSk8ciYmTWF0aC5hYnMocy56LXRoaXMueik8cn0saXNGaW5pdGU6ZnVuY3Rpb24oKXtyZXR1cm4gaXNGaW5pdGUodGhpcy53KSYmaXNGaW5pdGUodGhpcy54KSYmaXNGaW5pdGUodGhpcy55KSYmaXNGaW5pdGUodGhpcy56KX0saXNOYU46ZnVuY3Rpb24oKXtyZXR1cm4gaXNOYU4odGhpcy53KXx8aXNOYU4odGhpcy54KXx8aXNOYU4odGhpcy55KXx8aXNOYU4odGhpcy56KX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj1cXFwiXFxcIjtyZXR1cm4gaXNOYU4odCl8fGlzTmFOKGUpfHxpc05hTihuKXx8aXNOYU4oaSk/XFxcIk5hTlxcXCI6KHI9byh0LFxcXCJcXFwiLHIpLHIrPW8oZSxcXFwiaVxcXCIscikscis9byhuLFxcXCJqXFxcIixyKSxcXFwiXFxcIj09PShyKz1vKGksXFxcImtcXFwiLHIpKT9cXFwiMFxcXCI6cil9LHJlYWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53fSxpbWFnOmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMueCx0aGlzLnksdGhpcy56XX0sdG9WZWN0b3I6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy53LHRoaXMueCx0aGlzLnksdGhpcy56XX0sdG9NYXRyaXg6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3VdLFtjK2wsMS0oaCtkKSxwLW9dLFt2LXUscCtvLDEtKGgrZildXTpbMS0oZitkKSxjLWwsdit1LGMrbCwxLShoK2QpLHAtbyx2LXUscCtvLDEtKGgrZildfSx0b01hdHJpeDQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3UsMF0sW2MrbCwxLShoK2QpLHAtbywwXSxbdi11LHArbywxLShoK2YpLDBdLFswLDAsMCwxXV06WzEtKGYrZCksYy1sLHYrdSwwLGMrbCwxLShoK2QpLHAtbywwLHYtdSxwK28sMS0oaCtmKSwwLDAsMCwwLDFdfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdSh0aGlzKX0scm90YXRlVmVjdG9yOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudyxuPXRoaXMueCxpPXRoaXMueSxyPXRoaXMueixzPXRbMF0sYT10WzFdLG89dFsyXSx1PS1uKnMtaSphLXIqbyxsPWUqcytpKm8tciphLGg9ZSphK3Iqcy1uKm8sYz1lKm8rbiphLWkqcztyZXR1cm5bbCplLXUqbi1oKnIrYyppLGgqZS11KmktYypuK2wqcixjKmUtdSpyLWwqaStoKm5dfSxzbGVycDpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dGhpcy53LG89dGhpcy54LGw9dGhpcy55LGg9dGhpcy56LGM9cy53LHY9cy54LGY9cy55LHA9cy56LGQ9cipjK28qditsKmYraCpwO2lmKGQ8MCYmKHI9LXIsbz0tbyxsPS1sLGg9LWgsZD0tZCksZD4uOTk5NSlyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHIrdCooYy1yKSxvK3QqKHYtbyksbCt0KihmLWwpLGgrdCoocC1oKSkubm9ybWFsaXplKCl9O3ZhciB5PU1hdGguYWNvcyhkKSxnPU1hdGguc2luKHkpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT15KnQsbj1NYXRoLnNpbihlKSxpPU1hdGguY29zKGUpLWQqbi9nLHM9bi9nO3JldHVybiBuZXcgdShpKnIrcypjLGkqbytzKnYsaSpsK3MqZixpKmgrcypwKX19fSx1LlpFUk89bmV3IHUoMCwwLDAsMCksdS5PTkU9bmV3IHUoMSwwLDAsMCksdS5JPW5ldyB1KDAsMSwwLDApLHUuSj1uZXcgdSgwLDAsMSwwKSx1Lks9bmV3IHUoMCwwLDAsMSksdS5FUFNJTE9OPTFlLTE2LHUuZnJvbUF4aXNBbmdsZT1mdW5jdGlvbih0LGUpe3ZhciBuPS41KmUsaT10WzBdLHI9dFsxXSxzPXRbMl0sYT1NYXRoLnNpbihuKSxvPU1hdGguY29zKG4pLGw9YS9NYXRoLnNxcnQoaSppK3IqcitzKnMpO3JldHVybiBuZXcgdShvLGkqbCxyKmwscypsKX0sdS5mcm9tQmV0d2VlblZlY3RvcnM9ZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdLGk9dFsxXSxyPXRbMl0scz1lWzBdLGE9ZVsxXSxvPWVbMl0sbD1uKnMraSphK3IqbyxoPWkqby1yKmEsYz1yKnMtbipvLHY9biphLWkqcztyZXR1cm4gbmV3IHUobCtNYXRoLnNxcnQobCpsK2gqaCtjKmMrdip2KSxoLGMsdikubm9ybWFsaXplKCl9LHUuZnJvbUV1bGVyPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPS41KmUscz0uNSpuLGE9LjUqdCxvPU1hdGguY29zKHIpLGw9TWF0aC5jb3MocyksaD1NYXRoLmNvcyhhKSxjPU1hdGguc2luKHIpLHY9TWF0aC5zaW4ocyksZj1NYXRoLnNpbihhKTtyZXR1cm4gdm9pZCAwPT09aXx8XFxcIlpYWVxcXCI9PT1pP25ldyB1KG8qbCpoLWMqdipmLGMqbCpoLW8qdipmLG8qdipoK2MqbCpmLG8qbCpmK2MqdipoKTpcXFwiWFlaXFxcIj09PWk/bmV3IHUobypsKmgtYyp2KmYsYypsKmgrbyp2KmYsbyp2KmgtYypsKmYsbypsKmYrYyp2KmgpOlxcXCJZWFpcXFwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaCtvKnYqZixvKnYqaC1jKmwqZixvKmwqZi1jKnYqaCk6XFxcIlpZWFxcXCI9PT1pP25ldyB1KG8qbCpoK2MqdipmLGMqbCpoLW8qdipmLG8qdipoK2MqbCpmLG8qbCpmLWMqdipoKTpcXFwiWVpYXFxcIj09PWk/bmV3IHUobypsKmgtYyp2KmYsYypsKmgrbyp2KmYsbyp2KmgrYypsKmYsbypsKmYtYyp2KmgpOlxcXCJYWllcXFwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaC1vKnYqZixvKnYqaC1jKmwqZixvKmwqZitjKnYqaCk6bnVsbH0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gdX0uYXBwbHkoZSxbXSkpfHwodC5leHBvcnRzPWkpfSgpfSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KSxlLnR3b0hhbmRCaW5kaW5nPWUubXVsdGlEZXZpY2VCaW5kaW5nPWUuSW5wdXRQcm9jZXNzb3I9dm9pZCAwO2NvbnN0IGk9big3KTtmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gZS5tYXAoZT0+KHtpbnRlcmFjdGlvblByb2ZpbGU6dCxpbnB1dFBhdGg6ZStufSkpfWUuSW5wdXRQcm9jZXNzb3I9Y2xhc3N7Y29uc3RydWN0b3IodCxlLG4pe3ZhciByO3RoaXMuaW5wdXRJbmZvPXthY3RpdmVBY3Rpb25TZXRzOltdfSx0aGlzLm5leHRDYWxsYmFja0lkPTEsdGhpcy5hY3Rpb25TZXRzPXQsdGhpcy5zeW5jSW5wdXRPdmVycmlkZT1uLHRoaXMuaW5wdXRJbnRlcnZhbE1zPW51bGwhPWU/ZTozMCxudWxsPT09KHI9aS5BdigpKXx8dm9pZCAwPT09cnx8ci5yZWdpc3RlcklucHV0KHQpfVRFU1RfVXBkYXRlU3RhdGUodCl7dGhpcy5hcHBseU5ld1N0YXRlKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodCkpKX1hY3RpdmF0ZUFjdGlvblNldCh0LGUpe2xldCBuO2ZvcihsZXQgZSBvZiB0aGlzLmlucHV0SW5mby5hY3RpdmVBY3Rpb25TZXRzKWlmKGUuYWN0aW9uU2V0TmFtZT09dCl7bj1lO2JyZWFrfWxldCByLHM9ITE7bnx8KG49e2FjdGlvblNldE5hbWU6dCx0b3BMZXZlbFBhdGhzOltdfSx0aGlzLmlucHV0SW5mby5hY3RpdmVBY3Rpb25TZXRzLnB1c2gobikpLHI9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBlP1tlXTpcXFwib2JqZWN0XFxcIj09dHlwZW9mIGU/ZTpbaS5EZXZpY2UuTGVmdCxpLkRldmljZS5SaWdodF07Zm9yKGxldCBlIG9mIHIpbi50b3BMZXZlbFBhdGhzLmluY2x1ZGVzKGUpfHwobi50b3BMZXZlbFBhdGhzLnB1c2goZSksdGhpcy5zdXBwcmVzc0luaXRpYWxQcmVzc0ZvckFjdGlvblNldCh0LGUpLHM9ITApOyF0aGlzLmlucHV0VGltZXImJnRoaXMuaW5wdXRJbnRlcnZhbE1zJiZzJiYodGhpcy5pbnB1dFRpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLm9uSW5wdXRUaWNrKCksdGhpcy5pbnB1dEludGVydmFsTXMpKX1zdXBwcmVzc0luaXRpYWxQcmVzc0ZvckFjdGlvblNldCh0LGUpe3ZhciBuO2xldCByO2ZvcihsZXQgZSBvZiB0aGlzLmFjdGlvblNldHMpaWYoZS5uYW1lPT10KXtyPWU7YnJlYWt9aWYocilmb3IobGV0IHQgb2YgbnVsbCE9PShuPXIuYWN0aW9ucykmJnZvaWQgMCE9PW4/bjpbXSl7bGV0IG49dDtpZihuLnR5cGU9PWkuQWN0aW9uVHlwZS5Cb29sZWFuKXN3aXRjaChlKXtjYXNlIGkuRGV2aWNlLkxlZnQ6bi5zdXBwcmVzc0xlZnQ9ITA7YnJlYWs7Y2FzZSBpLkRldmljZS5SaWdodDpuLnN1cHByZXNzUmlnaHQ9ITB9fX1kZWFjdGl2YXRlQWN0aW9uU2V0KHQsZSl7Zm9yKGxldCBuPTA7bjx0aGlzLmlucHV0SW5mby5hY3RpdmVBY3Rpb25TZXRzLmxlbmd0aDtuKyspe2xldCBpPXRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHNbbl07aWYoaS5hY3Rpb25TZXROYW1lPT10KXJldHVybiB2b2lkKGU/KGkudG9wTGV2ZWxQYXRocz1pLnRvcExldmVsUGF0aHMuZmlsdGVyKHQ9PnQhPWUpLDA9PWkudG9wTGV2ZWxQYXRocy5sZW5ndGgmJnRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMuc3BsaWNlKG4sMSkpOnRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMuc3BsaWNlKG4sMSkpfX1yZWdpc3RlckJvb2xlYW5DYWxsYmFja3ModCxlLG4saSxyKXtsZXQgcz17aWQ6dGhpcy5uZXh0Q2FsbGJhY2tJZCsrLHJpc2luZzppLGZhbGxpbmc6cn07cmV0dXJuIHRoaXMucmVnaXN0ZXJDYWxsYmFjayh0LGUsbixzKX1yZWdpc3RlckZsb2F0Q2FsbGJhY2sodCxlLG4saSl7bGV0IHI9e2lkOnRoaXMubmV4dENhbGxiYWNrSWQrKyxjaGFuZ2U6aX07cmV0dXJuIHRoaXMucmVnaXN0ZXJDYWxsYmFjayh0LGUsbixyKX1yZWdpc3RlclZlY3RvcjJDYWxsYmFjayh0LGUsbixpKXtsZXQgcj17aWQ6dGhpcy5uZXh0Q2FsbGJhY2tJZCsrLGNoYW5nZTppfTtyZXR1cm4gdGhpcy5yZWdpc3RlckNhbGxiYWNrKHQsZSxuLHIpfXJlZ2lzdGVyQ2FsbGJhY2sodCxlLG4scil7dmFyIHMsYTtsZXQgbz10aGlzLmdldEFjdGlvbih0LGUpO2lmKCFvKXRocm93IG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gJHtlfSBpbiBhY3Rpb24gc2V0ICR7dH1gKTtzd2l0Y2gobil7Y2FzZSBpLkRldmljZS5MZWZ0Om8ubGVmdENhbGxiYWNrcz1bLi4ubnVsbCE9PShzPW8ubGVmdENhbGxiYWNrcykmJnZvaWQgMCE9PXM/czpbXSxyXTticmVhaztjYXNlIGkuRGV2aWNlLlJpZ2h0Om8ucmlnaHRDYWxsYmFja3M9Wy4uLm51bGwhPT0oYT1vLnJpZ2h0Q2FsbGJhY2tzKSYmdm9pZCAwIT09YT9hOltdLHJdfXJldHVybiByLmlkfXVucmVnaXN0ZXJDYWxsYmFjayh0KXt2YXIgZSxuLGk7Zm9yKGxldCByIG9mIHRoaXMuYWN0aW9uU2V0cylmb3IobGV0IHMgb2YgbnVsbCE9PShlPXIuYWN0aW9ucykmJnZvaWQgMCE9PWU/ZTpbXSl7bGV0IGU9cztlLmxlZnRDYWxsYmFja3M9bnVsbD09PShuPWUubGVmdENhbGxiYWNrcyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uZmlsdGVyKGU9PmUuaWQhPXQpLGUucmlnaHRDYWxsYmFja3M9bnVsbD09PShpPWUucmlnaHRDYWxsYmFja3MpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmZpbHRlcihlPT5lLmlkIT10KX19b25JbnB1dFRpY2soKXt0cnl7bGV0IHQ9dGhpcy5zeW5jSW5wdXRPdmVycmlkZT90aGlzLnN5bmNJbnB1dE92ZXJyaWRlKHRoaXMuaW5wdXRJbmZvKTppLkF2KCkuc3luY0lucHV0KHRoaXMuaW5wdXRJbmZvKTt0aGlzLmFwcGx5TmV3U3RhdGUodCl9Y2F0Y2godCl7Y29uc29sZS5sb2coXFxcImZhaWxlZCB0byBzeW5jIGlucHV0XFxcIil9dGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5sZW5ndGg+MCYmdGhpcy5pbnB1dEludGVydmFsTXM/dGhpcy5pbnB1dFRpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLm9uSW5wdXRUaWNrKCksdGhpcy5pbnB1dEludGVydmFsTXMpOnRoaXMuaW5wdXRUaW1lcj12b2lkIDB9Z2V0QWN0aW9uKHQsZSl7dmFyIG47Zm9yKGxldCBpIG9mIHRoaXMuYWN0aW9uU2V0cylpZihpLm5hbWU9PXQpZm9yKGxldCB0IG9mIG51bGwhPT0obj1pLmFjdGlvbnMpJiZ2b2lkIDAhPT1uP246W10paWYodC5uYW1lPT1lKXJldHVybiB0fWFwcGx5TmV3U3RhdGUodCl7dGhpcy5wcm9jZXNzRGlmZnModGhpcy5zdGF0ZSx0KSx0aGlzLnN0YXRlPXR9Y2FsbENhbGxiYWNrKHQsZSxuLHIpe3ZhciBzLGEsbyx1O3N3aXRjaChyKXtjYXNlIGkuQWN0aW9uVHlwZS5Cb29sZWFuOntsZXQgaT10O2UmJiFuP251bGw9PT0ocz1pLmZhbGxpbmcpfHx2b2lkIDA9PT1zfHxzLmNhbGwoaSk6IWUmJm4mJihudWxsPT09KGE9aS5yaXNpbmcpfHx2b2lkIDA9PT1hfHxhLmNhbGwoaSkpfWJyZWFrO2Nhc2UgaS5BY3Rpb25UeXBlLkZsb2F0OntsZXQgaT10LHI9XFxcIm51bWJlclxcXCI9PXR5cGVvZiBlP2U6MCxzPVxcXCJudW1iZXJcXFwiPT10eXBlb2Ygbj9uOjA7ciE9cyYmaS5jaGFuZ2UocixzKX1icmVhaztjYXNlIGkuQWN0aW9uVHlwZS5WZWN0b3IyOntjb25zdFtpLHJdPW51bGwhPT0obz1lKSYmdm9pZCAwIT09bz9vOlswLDBdLFtzLGFdPW51bGwhPT0odT1uKSYmdm9pZCAwIT09dT91OlswLDBdO2xldCBsPXQ7aT09cyYmcj09YXx8bC5jaGFuZ2UoW2kscl0sW3MsYV0pfX19cHJvY2Vzc0RpZmZzKHQsZSl7dmFyIG4saSxyLHMsYSxvLHUsbCxoO2ZvcihsZXQgYyBvZiB0aGlzLmFjdGlvblNldHMpZm9yKGxldCB2IG9mIG51bGwhPT0obj1jLmFjdGlvbnMpJiZ2b2lkIDAhPT1uP246W10pe2xldCBuPXYsZj1udWxsPT09KGk9bnVsbD09dD92b2lkIDA6dC5yZXN1bHRzW2MubmFtZV0pfHx2b2lkIDA9PT1pP3ZvaWQgMDppW24ubmFtZV0scD1udWxsPT09KHI9ZS5yZXN1bHRzW2MubmFtZV0pfHx2b2lkIDA9PT1yP3ZvaWQgMDpyW24ubmFtZV0sZD1udWxsPT09KHM9bnVsbD09Zj92b2lkIDA6Zi5sZWZ0KXx8dm9pZCAwPT09cz92b2lkIDA6cy52YWx1ZSx5PW51bGw9PT0oYT1udWxsPT1mP3ZvaWQgMDpmLnJpZ2h0KXx8dm9pZCAwPT09YT92b2lkIDA6YS52YWx1ZSxnPW51bGw9PT0obz1udWxsPT1wP3ZvaWQgMDpwLmxlZnQpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLnZhbHVlLHg9bnVsbD09PSh1PW51bGw9PXA/dm9pZCAwOnAucmlnaHQpfHx2b2lkIDA9PT11P3ZvaWQgMDp1LnZhbHVlO2lmKG4uc3VwcHJlc3NMZWZ0KWd8fChuLnN1cHByZXNzTGVmdD0hMSk7ZWxzZSBmb3IobGV0IHQgb2YgbnVsbCE9PShsPW4ubGVmdENhbGxiYWNrcykmJnZvaWQgMCE9PWw/bDpbXSl0aGlzLmNhbGxDYWxsYmFjayh0LGQsZyxuLnR5cGUpO2lmKG4uc3VwcHJlc3NSaWdodCl4fHwobi5zdXBwcmVzc1JpZ2h0PSExKTtlbHNlIGZvcihsZXQgdCBvZiBudWxsIT09KGg9bi5yaWdodENhbGxiYWNrcykmJnZvaWQgMCE9PWg/aDpbXSl0aGlzLmNhbGxDYWxsYmFjayh0LHkseCxuLnR5cGUpfX19LGUubXVsdGlEZXZpY2VCaW5kaW5nPXIsZS50d29IYW5kQmluZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiByKHQsW2kuRGV2aWNlLkxlZnQsaS5EZXZpY2UuUmlnaHRdLGUpfX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS5nX2FuaW1fTGVmdF9UaHVtYnNVcD1lLmdfYnVpbHRpbkFuaW1zPWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZFJpZ2h0PWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZExlZnQ9ZS5nX2J1aWx0aW5Nb2RlbFJvY2tldHNoaXA9ZS5nX2J1aWx0aW5Nb2RlbFdpbmRvd0ljb249ZS5nX2J1aWx0aW5Nb2RlbFRyYXNoY2FuPWUuZ19idWlsdGluTW9kZWxTdGFyPWUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFJvb209ZS5nX2J1aWx0aW5Nb2RlbFBsdXM9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsPWUuZ19idWlsdGluTW9kZWxOZXR3b3JrPWUuZ19idWlsdGluTW9kZWxNaW51cz1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0T3Blbj1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkPWUuZ19idWlsdGluTW9kZWxIb29rPWUuZ19idWlsdGluTW9kZWxIZWFkPWUuZ19idWlsdGluTW9kZWxIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRNaXJyb3I9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRMZWZ0PWUuZ19idWlsdGluTW9kZWxIYW1tZXJBbmRXcmVuY2g9ZS5nX2J1aWx0aW5Nb2RlbEdlYXI9ZS5nX2J1aWx0aW5Nb2RlbEZsYXNrPWUuZ19idWlsdGluTW9kZWxFcnJvcj1lLmdfYnVpbHRpbk1vZGVsRHJvcEF0dHJhY3Q9ZS5nX2J1aWx0aW5Nb2RlbEN5bGluZGVyPWUuZ19idWlsdGluTW9kZWxCcmFjZWxldD1lLmdfYnVpbHRpbk1vZGVsQm94PWUuZ19idWlsdGluTW9kZWxCb3VuZGluZ0JveD1lLmdfYnVpbHRpbk1vZGVsQmFyY29kZVNjYW5uZXI9ZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsQXJyb3c9ZS5nX2J1aWx0aW5Nb2RlbEFhcmR2YXJrPWUuZ19idWlsdGluTW9kZWxQcmVmaXg9dm9pZCAwLGUuZ19idWlsdGluTW9kZWxQcmVmaXg9XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvbW9kZWxzL1xcXCIsZS5nX2J1aWx0aW5Nb2RlbEFhcmR2YXJrPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImFhcmR2YXJrLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEFycm93PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImFycm93LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJhcnJvd19mbGF0LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEJhcmNvZGVTY2FubmVyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImJhcmNvZGVfcmVhZGVyLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEJvdW5kaW5nQm94PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImJvdW5kaW5nX2JveC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxCb3g9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwiYm94LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEJyYWNlbGV0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImJyYWNlbGV0LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEN5bGluZGVyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImN5bGluZGVyLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbERyb3BBdHRyYWN0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImRyb3BfYXR0cmFjdC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxFcnJvcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJlcnJvci5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxGbGFzaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJmbGFzay5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxHZWFyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImdlYXIuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsSGFtbWVyQW5kV3JlbmNoPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImhhbW1lcndyZW5jaC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxIYW5kTGVmdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJoYW5kX2xlZnQuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsSGFuZE1pcnJvcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJoYW5kX21pcnJvci5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwiaGFuZF9yaWdodC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxIZWFkPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImhlYWQuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsSG9vaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJob29rLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbE1hZ25ldENsb3NlZD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJtYWduZXRfY2xvc2VkLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbE1hZ25ldE9wZW49ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwibWFnbmV0X29wZW4uZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsTWludXM9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwibWludXMuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsTmV0d29yaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJuZXR3b3JrLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFBhbmVsPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInBhbmVsL3BhbmVsLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwicGFuZWwvcGFuZWxfaW52ZXJ0ZWQuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsUGx1cz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJwbHVzLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFJvb209ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwicm9vbS5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwic3BoZXJlL3NwaGVyZS5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxTdGFyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInN0YXIuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsVHJhc2hjYW49ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwidHJhc2hjYW4uZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsV2luZG93SWNvbj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJ3aW5kb3dfaWNvbi5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxSb2NrZXRzaGlwPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInJvY2tldHNoaXAuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsU2tpbm5lZEhhbmRMZWZ0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInNraW5uZWRfaGFuZF9sZWZ0LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFNraW5uZWRIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwic2tpbm5lZF9oYW5kX3JpZ2h0LmdsYlxcXCIsZS5nX2J1aWx0aW5Bbmltcz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJhbmltYXRpb25zL1xcXCIsZS5nX2FuaW1fTGVmdF9UaHVtYnNVcD1lLmdfYnVpbHRpbkFuaW1zK1xcXCJsZWZ0X3RodW1ic191cC5nbGJcXFwifSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KSxlLldlYkFwcE1hbmlmZXN0T3JpZW50YXRpb249ZS5XZWJBcHBNYW5pZmVzdERpc3BsYXk9ZS5XZWJBcHBNYW5pZmVzdFRleHREaXI9ZS5XZWJBcHBNYW5pZmVzdFJlc291cmNlUHVycG9zZT12b2lkIDAsZnVuY3Rpb24odCl7dC5CYWRnZT1cXFwiYmFkZ2VcXFwiLHQuTWFza2FibGU9XFxcIm1hc2thYmxlXFxcIix0LkFueT1cXFwiYW55XFxcIn0oZS5XZWJBcHBNYW5pZmVzdFJlc291cmNlUHVycG9zZXx8KGUuV2ViQXBwTWFuaWZlc3RSZXNvdXJjZVB1cnBvc2U9e30pKSxmdW5jdGlvbih0KXt0LkF1dG89XFxcImF1dG9cXFwiLHQuTGVmdFRvUmlnaHQ9XFxcImx0clxcXCIsdC5SaWdodFRvTGVmdD1cXFwicnRsXFxcIn0oZS5XZWJBcHBNYW5pZmVzdFRleHREaXJ8fChlLldlYkFwcE1hbmlmZXN0VGV4dERpcj17fSkpLGZ1bmN0aW9uKHQpe3QuRnVsbHNjcmVlbj1cXFwiZnVsbHNjcmVlblxcXCIsdC5TdGFuZGFsb25lPVxcXCJzdGFuZGFsb25lXFxcIix0Lk1pbmltYWxVST1cXFwibWluaW1hbC11aVxcXCIsdC5Ccm93c2VyPVxcXCJicm93c2VyXFxcIn0oZS5XZWJBcHBNYW5pZmVzdERpc3BsYXl8fChlLldlYkFwcE1hbmlmZXN0RGlzcGxheT17fSkpLGZ1bmN0aW9uKHQpe3QuQW55PVxcXCJhbnlcXFwiLHQuTmF0dXJhbD1cXFwibmF0dXJhbFxcXCIsdC5MYW5kc2NhcGU9XFxcImxhbmRzY2FwZVxcXCIsdC5MYW5kc2NhcGVQcmltYXJ5PVxcXCJsYW5kc2NhcGUtcHJpbWFyeVxcXCIsdC5MYW5kc2NhcGVTZWNvbmRhcnk9XFxcImxhbmRzY2FwZS1zZWNvbmRhcnlcXFwiLHQuUG9ydHJhaXQ9XFxcInBvcnRyYWl0XFxcIix0LlBvcnRyYWl0UHJpbWFyeT1cXFwicG9ydHJhaXQtcHJpbWFyeVxcXCIsdC5Qb3J0cmFpdFNlY29uZGFyeT1cXFwicG9ydHJhaXQtc2Vjb25kYXJ5XFxcIn0oZS5XZWJBcHBNYW5pZmVzdE9yaWVudGF0aW9ufHwoZS5XZWJBcHBNYW5pZmVzdE9yaWVudGF0aW9uPXt9KSl9LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7bi5yKGUpLG4uZChlLFxcXCJ2MVxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKGUsXFxcInYzXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQoZSxcXFwidjRcXFwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLFxcXCJ2NVxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSk7dmFyIGk9bigxKSxyPW4ubihpKTtmdW5jdGlvbiBzKCl7cmV0dXJuIHIuYS5yYW5kb21CeXRlcygxNil9Zm9yKHZhciBhPVtdLG89MDtvPDI1NjsrK28pYVtvXT0obysyNTYpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSk7dmFyIHUsbCxoPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZXx8MCxpPWE7cmV0dXJuW2lbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV1dLmpvaW4oXFxcIlxcXCIpfSxjPTAsdj0wO3ZhciBmPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lJiZufHwwLHI9ZXx8W10sYT0odD10fHx7fSkubm9kZXx8dSxvPXZvaWQgMCE9PXQuY2xvY2tzZXE/dC5jbG9ja3NlcTpsO2lmKG51bGw9PWF8fG51bGw9PW8pe3ZhciBmPXQucmFuZG9tfHwodC5ybmd8fHMpKCk7bnVsbD09YSYmKGE9dT1bMXxmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XV0pLG51bGw9PW8mJihvPWw9MTYzODMmKGZbNl08PDh8Zls3XSkpfXZhciBwPXZvaWQgMCE9PXQubXNlY3M/dC5tc2VjczoobmV3IERhdGUpLmdldFRpbWUoKSxkPXZvaWQgMCE9PXQubnNlY3M/dC5uc2Vjczp2KzEseT1wLWMrKGQtdikvMWU0O2lmKHk8MCYmdm9pZCAwPT09dC5jbG9ja3NlcSYmKG89bysxJjE2MzgzKSwoeTwwfHxwPmMpJiZ2b2lkIDA9PT10Lm5zZWNzJiYoZD0wKSxkPj0xZTQpdGhyb3cgbmV3IEVycm9yKFxcXCJ1dWlkLnYxKCk6IENhbid0IGNyZWF0ZSBtb3JlIHRoYW4gMTBNIHV1aWRzL3NlY1xcXCIpO2M9cCx2PWQsbD1vO3ZhciBnPSgxZTQqKDI2ODQzNTQ1NSYocCs9MTIyMTkyOTI4ZTUpKStkKSU0Mjk0OTY3Mjk2O3JbaSsrXT1nPj4+MjQmMjU1LHJbaSsrXT1nPj4+MTYmMjU1LHJbaSsrXT1nPj4+OCYyNTUscltpKytdPTI1NSZnO3ZhciB4PXAvNDI5NDk2NzI5NioxZTQmMjY4NDM1NDU1O3JbaSsrXT14Pj4+OCYyNTUscltpKytdPTI1NSZ4LHJbaSsrXT14Pj4+MjQmMTV8MTYscltpKytdPXg+Pj4xNiYyNTUscltpKytdPW8+Pj44fDEyOCxyW2krK109MjU1Jm87Zm9yKHZhciBiPTA7Yjw2OysrYilyW2krYl09YVtiXTtyZXR1cm4gZXx8aChyKX07dmFyIHA9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWZ1bmN0aW9uKHQsaSxyLHMpe3ZhciBhPXImJnN8fDA7aWYoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiB0JiYodD1mdW5jdGlvbih0KXt0PXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSk7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCksbj0wO248dC5sZW5ndGg7bisrKWVbbl09dC5jaGFyQ29kZUF0KG4pO3JldHVybiBlfSh0KSksXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBpJiYoaT1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdC5yZXBsYWNlKC9bYS1mQS1GMC05XXsyfS9nLChmdW5jdGlvbih0KXtlLnB1c2gocGFyc2VJbnQodCwxNikpfSkpLGV9KGkpKSwhQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBUeXBlRXJyb3IoXFxcInZhbHVlIG11c3QgYmUgYW4gYXJyYXkgb2YgYnl0ZXNcXFwiKTtpZighQXJyYXkuaXNBcnJheShpKXx8MTYhPT1pLmxlbmd0aCl0aHJvdyBUeXBlRXJyb3IoXFxcIm5hbWVzcGFjZSBtdXN0IGJlIHV1aWQgc3RyaW5nIG9yIGFuIEFycmF5IG9mIDE2IGJ5dGUgdmFsdWVzXFxcIik7dmFyIG89bihpLmNvbmNhdCh0KSk7aWYob1s2XT0xNSZvWzZdfGUsb1s4XT02MyZvWzhdfDEyOCxyKWZvcih2YXIgdT0wO3U8MTY7Kyt1KXJbYSt1XT1vW3VdO3JldHVybiByfHxoKG8pfTt0cnl7aS5uYW1lPXR9Y2F0Y2godCl7fXJldHVybiBpLkROUz1cXFwiNmJhN2I4MTAtOWRhZC0xMWQxLTgwYjQtMDBjMDRmZDQzMGM4XFxcIixpLlVSTD1cXFwiNmJhN2I4MTEtOWRhZC0xMWQxLTgwYjQtMDBjMDRmZDQzMGM4XFxcIixpfTt2YXIgZD1wKFxcXCJ2M1xcXCIsNDgsKGZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q9QnVmZmVyLmZyb20odCk6XFxcInN0cmluZ1xcXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LFxcXCJ1dGY4XFxcIikpLHIuYS5jcmVhdGVIYXNoKFxcXCJtZDVcXFwiKS51cGRhdGUodCkuZGlnZXN0KCl9KSk7dmFyIHk9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWUmJm58fDA7XFxcInN0cmluZ1xcXCI9PXR5cGVvZiB0JiYoZT1cXFwiYmluYXJ5XFxcIj09PXQ/bmV3IEFycmF5KDE2KTpudWxsLHQ9bnVsbCk7dmFyIHI9KHQ9dHx8e30pLnJhbmRvbXx8KHQucm5nfHxzKSgpO2lmKHJbNl09MTUmcls2XXw2NCxyWzhdPTYzJnJbOF18MTI4LGUpZm9yKHZhciBhPTA7YTwxNjsrK2EpZVtpK2FdPXJbYV07cmV0dXJuIGV8fGgocil9O3ZhciBnPXAoXFxcInY1XFxcIiw4MCwoZnVuY3Rpb24odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dD1CdWZmZXIuZnJvbSh0KTpcXFwic3RyaW5nXFxcIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsXFxcInV0ZjhcXFwiKSksci5hLmNyZWF0ZUhhc2goXFxcInNoYTFcXFwiKS51cGRhdGUodCkuZGlnZXN0KCl9KSl9XSl9KSk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vYnVmZmVyL2luZGV4LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXIpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWhZWEprZG1GeWF5MXphR0Z5WldRdmQyVmljR0ZqYXk5MWJtbDJaWEp6WVd4TmIyUjFiR1ZFWldacGJtbDBhVzl1UDJFeU5EUWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wzZGxZbkJoWTJzdlltOXZkSE4wY21Gd1AyTmhNV1FpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdlkyOXVjM1JoYm5SekxtcHpQemc0TTJVaUxDSjNaV0p3WVdOck9pOHZZV0Z5WkhaaGNtc3RjbVZoWTNRdllXRnlaSFpoY21zdGMyaGhjbVZrTDJWNGRHVnlibUZzSUZ3aVkzSjVjSFJ2WENJL01EVmxNaUlzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDBCMGJHRjFhMnRoYmk5MGMyMHZaR2x6ZEM5MlpXTXpMbXB6UHpGaVkyRWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2ZG1Wak1pNXFjejgwWkdJeklpd2lkMlZpY0dGamF6b3ZMMkZoY21SMllYSnJMWEpsWVdOMEwyRmhjbVIyWVhKckxYTm9ZWEpsWkM5dWIyUmxYMjF2WkhWc1pYTXZRSFJzWVhWcmEyRnVMM1J6YlM5a2FYTjBMM0YxWVhRdWFuTS9OekV3WXlJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXRZWFF6TG1welB6bGlaRE1pTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmJXRjBOQzVxY3o5ak5XSTRJaXdpZDJWaWNHRmphem92TDJGaGNtUjJZWEpyTFhKbFlXTjBMMkZoY21SMllYSnJMWE5vWVhKbFpDOXpjbU12WVdGeVpIWmhjbXN1ZEhNL01tWXdOQ0lzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZjM0pqTDJGaGNtUjJZWEpyWDNCeWIzUnZZMjlzTG5SelB6UTRZVE1pTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmFXNWtaWGd1YW5NL1lqTTBNU0lzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDBCMGJHRjFhMnRoYmk5MGMyMHZaR2x6ZEM5MlpXTTBMbXB6UHpreE1UZ2lMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wzTnlZeTl0WVhSb1gzVjBhV3h6TG5SelAyRTBNVElpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMM055WXk5cGJtUmxlQzUwY3o5ak9UWmxJaXdpZDJWaWNHRmphem92TDJGaGNtUjJZWEpyTFhKbFlXTjBMMkZoY21SMllYSnJMWE5vWVhKbFpDOXViMlJsWDIxdlpIVnNaWE12ZEhOc2FXSXZkSE5zYVdJdVpYTTJMbXB6UHpoaE5HUWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wzTnlZeTl6ZEc5eVpXUmZjM1JoZEdVdWRITS9OV1E1WkNJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXRZWFF5TG1welB6SmpNV1lpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5eGRXRjBaWEp1YVc5dUwzRjFZWFJsY201cGIyNHVhbk0vT0RWbE5pSXNJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWhZWEprZG1GeWF5MXphR0Z5WldRdmMzSmpMMkZoY21SMllYSnJYMmx1Y0hWMExuUnpQelkzWW1FaUxDSjNaV0p3WVdOck9pOHZZV0Z5WkhaaGNtc3RjbVZoWTNRdllXRnlaSFpoY21zdGMyaGhjbVZrTDNOeVl5OXRiMlJsYkhNdWRITS9NVFJqTXlJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2YzNKakwzZGxZbDloY0hCZmJXRnVhV1psYzNRdWRITS9ZelpoTVNJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwzVjFhV1F2WkdsemRDOWxjMjB0Ym05a1pTOXlibWN1YW5NL1lqZGtOU0lzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDNWMWFXUXZaR2x6ZEM5bGMyMHRibTlrWlM5aWVYUmxjMVJ2VlhWcFpDNXFjejh6T1RRM0lpd2lkMlZpY0dGamF6b3ZMMkZoY21SMllYSnJMWEpsWVdOMEwyRmhjbVIyWVhKckxYTm9ZWEpsWkM5dWIyUmxYMjF2WkhWc1pYTXZkWFZwWkM5a2FYTjBMMlZ6YlMxdWIyUmxMM1l4TG1welAyTXpaR01pTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5MWRXbGtMMlJwYzNRdlpYTnRMVzV2WkdVdmRqTTFMbXB6UDJFNFpUTWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wyNXZaR1ZmYlc5a2RXeGxjeTkxZFdsa0wyUnBjM1F2WlhOdExXNXZaR1V2ZGpNdWFuTS9ZMk0zTmlJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwzVjFhV1F2WkdsemRDOWxjMjB0Ym05a1pTOXRaRFV1YW5NL01tSTFZaUlzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDNWMWFXUXZaR2x6ZEM5bGMyMHRibTlrWlM5Mk5DNXFjejh6TkRjMklpd2lkMlZpY0dGamF6b3ZMMkZoY21SMllYSnJMWEpsWVdOMEwyRmhjbVIyWVhKckxYTm9ZWEpsWkM5dWIyUmxYMjF2WkhWc1pYTXZkWFZwWkM5a2FYTjBMMlZ6YlMxdWIyUmxMM1kxTG1welB6azJaRGtpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5MWRXbGtMMlJwYzNRdlpYTnRMVzV2WkdVdmMyaGhNUzVxY3o4Mk5UQXlJbDBzSW01aGJXVnpJanBiSW5KdmIzUWlMQ0ptWVdOMGIzSjVJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5Sb2FYTWlMQ0pwYm5OMFlXeHNaV1JOYjJSMWJHVnpJaXdpWDE5M1pXSndZV05yWDNKbGNYVnBjbVZmWHlJc0ltMXZaSFZzWlVsa0lpd2lhU0lzSW13aUxDSnRiMlIxYkdWeklpd2lZMkZzYkNJc0ltMGlMQ0pqSWl3aVpDSXNJbTVoYldVaUxDSm5aWFIwWlhJaUxDSnZJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0psYm5WdFpYSmhZbXhsSWl3aVoyVjBJaXdpY2lJc0lsTjViV0p2YkNJc0luUnZVM1J5YVc1blZHRm5JaXdpZG1Gc2RXVWlMQ0owSWl3aWJXOWtaU0lzSWw5ZlpYTk5iMlIxYkdVaUxDSnVjeUlzSW1OeVpXRjBaU0lzSW10bGVTSXNJbUpwYm1RaUxDSnVJaXdpYjJKcVpXTjBJaXdpY0hKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luQWlMQ0p6SWl3aVpYQnphV3h2YmlJc0luSmxjWFZwY21VaUxDSnhkV0YwWHpFaUxDSmpiMjV6ZEdGdWRITmZNU0lzSW5abFl6TWlMQ0oyWVd4MVpYTWlMQ0pHYkc5aGRETXlRWEp5WVhraUxDSjFibVJsWm1sdVpXUWlMQ0o0ZVhvaUxDSnpaWFFpTENKamIyNW1hV2QxY21GaWJHVWlMQ0poZENJc0ltbHVaR1Y0SWl3aWNtVnpaWFFpTENKNElpd2llU0lzSW5vaUxDSmpiM0I1SWl3aVpHVnpkQ0lzSW01bFoyRjBaU0lzSW1WeGRXRnNjeUlzSW5abFkzUnZjaUlzSW5Sb2NtVnphRzlzWkNJc0lrMWhkR2dpTENKaFluTWlMQ0pzWlc1bmRHZ2lMQ0p6Y1hKMElpd2ljM0YxWVhKbFpFeGxibWQwYUNJc0ltRmtaQ0lzSW5OMVluUnlZV04wSWl3aWJYVnNkR2x3YkhraUxDSmthWFpwWkdVaUxDSnpZMkZzWlNJc0ltNXZjbTFoYkdsNlpTSXNJbTExYkhScGNHeDVRbmxOWVhReklpd2liV0YwY21sNElpd2liWFZzZEdsd2JIbFdaV016SWl3aWJYVnNkR2x3YkhsQ2VWRjFZWFFpTENKeGRXRjBaWEp1YVc5dUlpd2lkRzlSZFdGMElpd2laR1ZtWVhWc2RDSXNJbU52Y3lJc0luTnBiaUlzSW5jaUxDSmpjbTl6Y3lJc0luWmxZM1J2Y2pJaUxDSjRNaUlzSW5reUlpd2llaklpTENKa2IzUWlMQ0prYVhOMFlXNWpaU0lzSW5OeGRXRnlaV1JFYVhOMFlXNWpaU0lzSW1ScGNtVmpkR2x2YmlJc0ltMXBlQ0lzSW5ScGJXVWlMQ0p6ZFcwaUxDSmthV1ptWlhKbGJtTmxJaXdpY0hKdlpIVmpkQ0lzSW5GMWIzUnBaVzUwSWl3aWVtVnlieUlzSW05dVpTSXNJblZ3SWl3aWNtbG5hSFFpTENKbWIzSjNZWEprSWl3aWRtVmpNMTh4SWl3aWRtVmpNaUlzSW5oNUlpd2liWFZzZEdsd2JIbE5ZWFF5SWl3aWJYVnNkR2x3YkhsV1pXTXlJaXdpYlhWc2RHbHdiSGxOWVhReklpd2liV0YwTTE4eElpd2liV0YwTkY4eElpd2ljWFZoZENJc0luaDVlbmNpTENKeWIyeHNJaXdpWVhSaGJqSWlMQ0p3YVhSamFDSXNJbmxoZHlJc0ltRnphVzRpTENKelpYUkpaR1Z1ZEdsMGVTSXNJbU5oYkdOMWJHRjBaVmNpTENKcGJuWmxjbk5sSWl3aWFXNTJSRzkwSWl3aVkyOXVhblZuWVhSbElpd2liM1JvWlhJaUxDSnhNWGdpTENKeE1Ya2lMQ0p4TVhvaUxDSnhNWGNpTENKeE1uZ2lMQ0p4TW5raUxDSnhNbm9pTENKeE1uY2lMQ0p4ZUNJc0luRjVJaXdpY1hvaUxDSnhkeUlzSW1sNElpd2lhWGtpTENKcGVpSXNJbWwzSWl3aWRHOU5ZWFF6SWl3aWVIZ2lMQ0o0ZWlJc0lubDVJaXdpZVhvaUxDSjZlaUlzSW5kNElpd2lkM2tpTENKM2VpSXNJbWx1YVhRaUxDSjBiMDFoZERRaUxDSnhNU0lzSW5FeUlpd2ljMmh2Y25STmFYZ2lMQ0pyTUNJc0ltc3hJaXdpY1RKaElpd2lZVzVuYkdVaUxDSnZibVZQZG1WeVUybHVJaXdpWTI5elNHRnNabFJvWlhSaElpd2lhR0ZzWmxSb1pYUmhJaXdpWVdOdmN5SXNJbk5wYmtoaGJHWlVhR1YwWVNJc0luSmhkR2x2UVNJc0luSmhkR2x2UWlJc0ltWnliMjFCZUdselFXNW5iR1VpTENKaGVHbHpJaXdpYVdSbGJuUnBkSGtpTENKMlpXTXlYekVpTENKdFlYUXpJaXdpWVd4c0lpd2laR0YwWVNJc0luSnZkeUlzSW1OdmJDSXNJbVJsZEdWeWJXbHVZVzUwSWl3aVlUQXdJaXdpWVRBeElpd2lZVEF5SWl3aVlURXdJaXdpWVRFeElpd2lZVEV5SWl3aVlUSXdJaXdpWVRJeElpd2lZVEl5SWl3aWRISmhibk53YjNObElpd2lkR1Z0Y0RBeElpd2lkR1Z0Y0RBeUlpd2lkR1Z0Y0RFeUlpd2laR1YwTURFaUxDSmtaWFF4TVNJc0ltUmxkREl4SWl3aVpHVjBJaXdpWWpBd0lpd2lZakF4SWl3aVlqQXlJaXdpWWpFd0lpd2lZakV4SWl3aVlqRXlJaXdpWWpJd0lpd2lZakl4SWl3aVlqSXlJaXdpY21WemRXeDBJaXdpYlRBd0lpd2liVEF4SWl3aWJUQXlJaXdpYlRFd0lpd2liVEV4SWl3aWJURXlJaXdpYlRJd0lpd2liVEl4SWl3aWJUSXlJaXdpWm05MWNsaFRjWFZoY21Wa1RXbHVkWE14SWl3aVptOTFjbGxUY1hWaGNtVmtUV2x1ZFhNeElpd2labTkxY2xwVGNYVmhjbVZrVFdsdWRYTXhJaXdpWW1sbloyVnpkRWx1WkdWNElpd2labTkxY2tKcFoyZGxjM1JUY1hWaGNtVmtUV2x1ZFhNeElpd2lZbWxuWjJWemRGWmhiQ0lzSW0xMWJIUWlMQ0p5YjNSaGRHVWlMQ0p0TVNJc0ltMHlJaXdpZG1Wak5GOHhJaXdpYldGME5DSXNJbUV3TXlJc0ltRXhNeUlzSW1FeU15SXNJbUV6TUNJc0ltRXpNU0lzSW1Fek1pSXNJbUV6TXlJc0luUmxiWEF3TXlJc0luUmxiWEF4TXlJc0luUmxiWEF5TXlJc0ltUmxkREF3SWl3aVpHVjBNRElpTENKa1pYUXdNeUlzSW1SbGREQTBJaXdpWkdWME1EVWlMQ0prWlhRd05pSXNJbVJsZERBM0lpd2laR1YwTURnaUxDSmtaWFF3T1NJc0ltUmxkREV3SWl3aVlqQWlMQ0ppTVNJc0ltSXlJaXdpWWpNaUxDSnRkV3gwYVhCc2VWWmxZelFpTENKMGIwbHVkbVZ5YzJWTllYUXpJaXdpZEhKaGJuTnNZWFJsSWl3aVpuSjFjM1IxYlNJc0lteGxablFpTENKaWIzUjBiMjBpTENKMGIzQWlMQ0p1WldGeUlpd2labUZ5SWl3aWNtd2lMQ0owWWlJc0ltWnVJaXdpY0dWeWMzQmxZM1JwZG1VaUxDSm1iM1lpTENKaGMzQmxZM1FpTENKMFlXNGlMQ0pRU1NJc0ltOXlkR2h2WjNKaGNHaHBZeUlzSW14dmIydEJkQ0lzSW5CdmMybDBhVzl1SWl3aWRHRnlaMlYwSWl3aVlqQXpJaXdpWWpFeklpd2lZakl6SWl3aVlqTXdJaXdpWWpNeElpd2lZak15SWl3aVlqTXpJaXdpUkdWMmFXTmxJaXdpVUdGdVpXeE5iM1Z6WlVWMlpXNTBWSGx3WlNJc0lrbHVkR1Z5WVdOMGFXOXVVSEp2Wm1sc1pTSXNJa2x1Y0hWMElpd2lhR0Z1WkNJc0lrVklZVzVrSWl3aVRHVm1kQ0lzSWxKcFoyaDBJaXdpUVdOMGFXOXVWSGx3WlNJc0luZHBibVJ2ZHlJc0ltRmhjbVIyWVhKcklpd2lSVzVrY0c5cGJuUlVlWEJsSWl3aVJWWnZiSFZ0WlZSNWNHVWlMQ0psYm1Sd2IybHVkRlI1Y0dWR2NtOXRRMmhoY21GamRHVnlJaXdpU0hWaUlpd2lSMkZrWjJWMElpd2lUbTlrWlNJc0lrMXZibWwwYjNJaUxDSlNaVzVrWlhKbGNpSXNJbFZ1YTI1dmQyNGlMQ0psYm1Sd2IybHVkRUZrWkhKVWIxTjBjbWx1WnlJc0ltVndZU0lzSW1Wd2RDSXNJbVZ1WkhCdmFXNTBRMmhoY21GamRHVnlSbkp2YlZSNWNHVWlMQ0owZVhCbElpd2laVzVrY0c5cGJuUkpaQ0lzSW01dlpHVkpaQ0lzSW1WdVpIQnZhVzUwUVdSa2NrbHpSVzF3ZEhraUxDSmxibVJ3YjJsdWRFRmtaSEp6VFdGMFkyZ2lMQ0psY0dFeElpd2laWEJoTWlJc0ltbHVkR1Z5Wm1GalpWUnZVM1J5YVc1bklpd2lkSEpoYm5OdGFYUjBaWElpTENKeVpXTmxhWFpsY2lJc0ltbG1ZV05sSWl3aVFXRnlaSFpoY210UWIzSjBJaXdpVFdWemMyRm5aVlI1Y0dVaUxDSlhaV0pUYjJOclpYUkRiRzl6WlVOdlpHVnpJaXdpWlhCaFUzUnlJaXdpYldGMFkyZ2lMQ0pTWldkRmVIQWlMQ0psZUdWaklpd2ljR0Z5YzJWSmJuUWlMQ0pqYjI1emIyeGxJaXdpYkc5bklpd2laWEJoUVhKeVlYa2lMQ0ptYVdWc1pFNWhiV1VpTENKMWMyVnlRV2RsYm5RaUxDSnBibU5zZFdSbGN5SXNJbVZ1ZGxOMGNtbHVaeUlzSW5CaGNuTmxVR0Y1Ykc5aFpDSXNJbVZ1ZGlJc0lrcFRUMDRpTENKd1lYSnpaU0lzSW5CaGVXeHZZV1FpTENKd1lYbHNiMkZrVlc1d1lXTnJaV1FpTENKbElpd2lTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkQ0lzSWtGMlRtOWtaVlI1Y0dVaUxDSkZWbTlzZFcxbFEyOXVkR1Y0ZENJc0lrVnRjSFI1SWl3aVNXNW1hVzVwZEdVaUxDSjFjbWtpTENKTmIyUmxiRUp2ZUNJc0luSmhaR2wxY3lJc0lsTndhR1Z5WlNJc0luTjBZWEowSWl3aVpHbHlJaXdpYm05a1pVWnliMjFXYjJ4MWJXVWlMQ0ppWVdOcklpd2lVbUY1SWl3aWJtOWtaVlJ5WVc1elptOXliVVp5YjIxTllYUTBJaXdpUlU1dlpHVkdiR0ZuY3lJc0lrVlVaWGgwZFhKbFZIbHdaU0lzSWtWVVpYaDBkWEpsUm05eWJXRjBJaXdpVUdWeWJXbHpjMmx2YmlJc0lrVkJZM1JwYjI0aUxDSmhJaXdpWWlJc0luTnhkV1ZsZW1VaUxDSm5jbUZpSWl3aVozSmhZbE5vYjNkU1lYa2lMQ0prWlhSaFkyZ2lMQ0puY21GaVRXOTJaU0lzSW1GamRHbHZibE4wWVhSbElpd2laMkZrWjJWMFRtRnRaU0lzSW1kaFpHZGxkRlZ5YVNJc0ltZGhaR2RsZEZCbGNuTnBjM1JsYm1ObFZYVnBaQ0lzSW1acGJIUmxjbVZrVG1GdFpTSXNJbkpsY0d4aFkyVWlMQ0owYjB4dmQyVnlRMkZ6WlNJc0luTjFZbk4wY2lJc0ltdGxlVlJ2U0dGemFDSXNJbWhoYzJnaUxDSmphR0Z5UTI5a1pVRjBJaXdpZEc5VGRISnBibWNpTENKbGJtUnpWMmwwYUNJc0ltMWhkREpmTVNJc0ltMWhkRElpTENKMlpXTTBJaXdpYlhWc2RHbHdiSGxOWVhRMElpd2lkSEpoYm5Oc1lYUmxUV0YwSWl3aWMyTmhiR1ZOWVhRaUxDSnhkV0YwUm5KdmJVRjRhWE5CYm1kc1pVUmxaM0psWlhNaUxDSmtaV2NpTENKblpYUlNiM2RHY205dFRXRjBJaXdpZEhKaGJuTm1iM0p0SWl3aWNHOXpJaXdpZUZOallXeGxJaXdpZVZOallXeGxJaXdpZWxOallXeGxJaXdpY205MElpd2ljbTkwWVhScGIyNGlMQ0p1YjJSbFZISmhibk5tYjNKdFZHOU5ZWFEwSWl3aWRsUnlZVzV6SWl3aWRsTmpZV3hsSWl3aWNWSnZkQ0lzSW0xaGRDSXNJazUxYldKbGNpSXNJbWx6VG1GT0lpd2lSWEp5YjNJaUxDSnNhVzVsVTNSaGNuUWlMQ0pzYVc1bFJXNWtJaXdpZEdocFkydHVaWE56SWl3aWJHbHVaVlpsWTNSdmNpSXNJbXhwYm1WTVpXNW5kR2dpTENKNFltRnphWE1pTENKamVXeHBibVJsY2tObGJuUmxjaUlzSW5saVlYTnBjeUlzSW5waVlYTnBjeUlzSW14cGJtVlNiM1JoZEdsdmJpSXNJbUpoYzJVaUxDSnNhVzFwZENJc0ltMXBiaUlzSW0xaGVDSXNJbVY0ZEdWdWRDSXNJbTV2VG5Wc2JITWlMQ0ptYVd4MFpYSWlMQ0oySWl3aWVHWXdJaXdpZUdZeElpd2lkREFpTENKME1TSXNJblJ5WVc1eklpd2ljekFpTENKek1TSXNJbkl3SWl3aVVYVmhkR1Z5Ym1sdmJpSXNJbkl4SWl3aWMyeGxjbkFpTENKbWNtOXRJaXdpYldsdWFXMWhiQ0lzSW14b2N5SXNJbkpvY3lJc0lteHRJaXdpY20waUxDSndkQ0lzSW5ZMElpd2laWGgwWlc1a1UzUmhkR2xqY3lJc0luTmxkRkJ5YjNSdmRIbHdaVTltSWl3aVgxOXdjbTkwYjE5Zklpd2lRWEp5WVhraUxDSmZYMlY0ZEdWdVpITWlMQ0pmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWDE5aGMzTnBaMjRpTENKaGMzTnBaMjRpTENKaGNtZDFiV1Z1ZEhNaUxDSmhjSEJzZVNJc0lsOWZjbVZ6ZENJc0ltbHVaR1Y0VDJZaUxDSm5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1pTENKd2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTSXNJbDlmWkdWamIzSmhkR1VpTENKa1pXTnZjbUYwYjNKeklpd2laR1Z6WXlJc0ltZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lJc0lsSmxabXhsWTNRaUxDSmtaV052Y21GMFpTSXNJbDlmY0dGeVlXMGlMQ0p3WVhKaGJVbHVaR1Y0SWl3aVpHVmpiM0poZEc5eUlpd2lYMTl0WlhSaFpHRjBZU0lzSW0xbGRHRmtZWFJoUzJWNUlpd2liV1YwWVdSaGRHRldZV3gxWlNJc0ltMWxkR0ZrWVhSaElpd2lYMTloZDJGcGRHVnlJaXdpZEdocGMwRnlaeUlzSWw5aGNtZDFiV1Z1ZEhNaUxDSlFJaXdpWjJWdVpYSmhkRzl5SWl3aVVISnZiV2x6WlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSm1kV3htYVd4c1pXUWlMQ0p6ZEdWd0lpd2libVY0ZENJc0luSmxhbVZqZEdWa0lpd2laRzl1WlNJc0luUm9aVzRpTENKZlgyZGxibVZ5WVhSdmNpSXNJbUp2WkhraUxDSm1JaXdpWnlJc0lsOGlMQ0pzWVdKbGJDSXNJbk5sYm5RaUxDSjBjbmx6SWl3aWIzQnpJaXdpZG1WeVlpSXNJbWwwWlhKaGRHOXlJaXdpYjNBaUxDSlVlWEJsUlhKeWIzSWlMQ0p3YjNBaUxDSndkWE5vSWl3aVgxOWpjbVZoZEdWQ2FXNWthVzVuSWl3aWF5SXNJbXN5SWl3aVgxOWxlSEJ2Y25SVGRHRnlJaXdpWDE5MllXeDFaWE1pTENKZlgzSmxZV1FpTENKaGNpSXNJbVZ5Y205eUlpd2lYMTl6Y0hKbFlXUWlMQ0pqYjI1allYUWlMQ0pmWDNOd2NtVmhaRUZ5Y21GNWN5SXNJbWxzSWl3aWFpSXNJbXBzSWl3aVgxOWhkMkZwZENJc0lsOWZZWE41Ym1OSFpXNWxjbUYwYjNJaUxDSmhjM2x1WTBsMFpYSmhkRzl5SWl3aWNTSXNJbkpsYzNWdFpTSXNJbVoxYkdacGJHd2lMQ0p6WlhSMGJHVWlMQ0p6YUdsbWRDSXNJbDlmWVhONWJtTkVaV3hsWjJGMGIzSWlMQ0pmWDJGemVXNWpWbUZzZFdWeklpd2lYMTl0WVd0bFZHVnRjR3hoZEdWUFltcGxZM1FpTENKamIyOXJaV1FpTENKeVlYY2lMQ0pmWDJsdGNHOXlkRk4wWVhJaUxDSnRiMlFpTENKZlgybHRjRzl5ZEVSbFptRjFiSFFpTENKZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1IyVjBJaXdpY0hKcGRtRjBaVTFoY0NJc0ltaGhjeUlzSWw5ZlkyeGhjM05RY21sMllYUmxSbWxsYkdSVFpYUWlMQ0pCWVhKa2RtRnlhMU4wWVhSbFJtOXliV0YwSWl3aVoyVjBVM1JoYm1SaGNtUkJZWEprZG1GeWExQmhkR2dpTENKdmN5SXNJbVYyWVd3aUxDSndZWFJvSWl3aWFtOXBiaUlzSW1odmJXVmthWElpTENKblpYUlRkR0Z1WkdGeVpGQmxjbk5wYzNSbGJtTmxVR0YwYUNJc0ltWnBjbk4wVG1GdFpYTWlMQ0pzWVhOMFRtRnRaWE1pTENKblpXNWxjbUYwWlZKaGJtUnZiVTVoYldVaUxDSm1hWEp6ZEVsdVpHVjRJaXdpWm14dmIzSWlMQ0p5WVc1a2IyMGlMQ0pzWVhOMFNXNWtaWGdpTENKMk1WUnZWaklpTENKMGJ5SXNJbVp2Y20xaGRDSXNJbUZqZEdsMlpVZGhaR2RsZEhNaUxDSnBibk4wWVd4c1pXUkhZV1JuWlhSeklpd2ljbVZ1WkdWeVpYSkRiMjVtYVdjaUxDSmxibUZpYkdWTmFYaGxaRkpsWVd4cGRIa2lMQ0p0YVhobFpGSmxZV3hwZEhsR2IzWWlMQ0pqYkdWaGNrTnZiRzl5SWl3aWJHOWpZV3hWYzJWeVZYVnBaQ0lzSW14dlkyRnNWWE5sY2tScGMzQnNZWGxPWVcxbElpd2lhVzV6ZEdGc2JHVmtJaXdpY21WaFpGQmxjbk5wYzNSbGJuUlRkR0YwWlNJc0ltWnpJaXdpY0hKbGRtbHZkWE5UZEdGMFpTSXNJbkpsWVdSR2FXeGxVM2x1WXlJc0luTjBZWFJsSWl3aWFHOXZhMUJoZEdnaUxDSnJaWGx6SWl3aWQzSnBkR1ZRWlhKemFYTjBaVzUwVTNSaGRHVWlMQ0ozY21sMFpVWnBiR1ZUZVc1aklpd2ljM1J5YVc1bmFXWjVJaXdpZEdWdGNDSXNJbXh2WjBoNWNHOTBJaXdpWDJFaUxDSmZZaUlzSW5SdmEyVnVjeUlzSW5Cc2RYTWlMQ0p0YVc1MWN5SXNJbWxOWVhBaUxDSndZWEp6WlVac2IyRjBJaXdpYm5WdFZHOVRkSElpTENKamFHRnlJaXdpY0hKbGRpSXNJbkpsZENJc0ltNXZjbTBpTENKM01TSXNJbmd4SWl3aWVURWlMQ0o2TVNJc0luY3lJaXdpYm05eWJWTnhJaXdpZGs1dmNtMGlMQ0ozUlhod0lpd2laWGh3SWl3aWNVNXZjbTB5SWl3aVlYSm5JaXdpYkc5b0lpd2ljRzkzSWl3aWJYVnNJaXdpWlhCeklpd2lhWE5HYVc1cGRHVWlMQ0prTWlJc0luY3pJaXdpZURNaUxDSjVNeUlzSW5veklpd2lZMjl6VkdobGRHRXdJaXdpY0dOMElpd2lWR2hsZEdFd0lpd2ljMmx1VkdobGRHRXdJaXdpVkdobGRHRWlMQ0p6YVc1VWFHVjBZU0lzSW1oaGJHWkJibWRzWlNJc0luTnBibDl1YjNKdElpd2lkU0lzSW5Cb2FTSXNJblJvWlhSaElpd2ljSE5wSWl3aWIzSmtaWElpTENKZmVDSXNJbDk1SWl3aVgzb2lMQ0pqV0NJc0ltTlpJaXdpWTFvaUxDSnpXQ0lzSW5OWklpd2ljMW9pTENKdGRXeDBhVVJsZG1salpVSnBibVJwYm1jaUxDSnBiblJsY21GamRHbHZibEJ5YjJacGJHVWlMQ0prWlhacFkyVlFZWFJvY3lJc0ltTnZiWEJ2Ym1WdWRGQmhkR2dpTENKdFlYQWlMQ0pwYm5CMWRGQmhkR2dpTENKaFkzUnBiMjVUWlhSeklpd2lhVzV3ZFhSSmJuUmxjblpoYkUxeklpd2ljM2x1WTBsdWNIVjBUM1psY25KcFpHVWlMQ0pwYm5CMWRFbHVabThpTENKaFkzUnBkbVZCWTNScGIyNVRaWFJ6SWl3aWJtVjRkRU5oYkd4aVlXTnJTV1FpTENKQmRpSXNJbkpsWjJsemRHVnlTVzV3ZFhRaUxDSnVaWGRUZEdGMFpTSXNJbUZ3Y0d4NVRtVjNVM1JoZEdVaUxDSmhZM1JwYjI1VFpYUk9ZVzFsSWl3aVpHVjJhV05sY3lJc0ltRmpkR2wyWlZObGRDSXNJbUZ6SWl3aWJtVjNSR1YyYVdObGN5SXNJbk52YldWMGFHbHVaMEZrWkdWa0lpd2lkRzl3VEdWMlpXeFFZWFJvY3lJc0ltNWxkMFJsZG1salpTSXNJbk4xY0hCeVpYTnpTVzVwZEdsaGJGQnlaWE56Um05eVFXTjBhVzl1VTJWMElpd2lhVzV3ZFhSVWFXMWxjaUlzSW5ObGRGUnBiV1Z2ZFhRaUxDSnZia2x1Y0hWMFZHbGpheUlzSW1SbGRtbGpaU0lzSW1GamRHbHZibE5sZENJc0ltRmpkR2x2YmtKaGMyVWlMQ0poWTNScGIyNXpJaXdpWVdOMGFXOXVJaXdpUW05dmJHVmhiaUlzSW5OMWNIQnlaWE56VEdWbWRDSXNJbk4xY0hCeVpYTnpVbWxuYUhRaUxDSmtaWFlpTENKemNHeHBZMlVpTENKaFkzUnBiMjVPWVcxbElpd2ljbWx6YVc1bklpd2labUZzYkdsdVp5SXNJbU5pSWl3aWFXUWlMQ0p5WldkcGMzUmxja05oYkd4aVlXTnJJaXdpWTJoaGJtZGxJaXdpWjJWMFFXTjBhVzl1SWl3aWJHVm1kRU5oYkd4aVlXTnJjeUlzSW5KcFoyaDBRMkZzYkdKaFkydHpJaXdpWW1GelpVRmpkR2x2YmlJc0luTjVibU5KYm5CMWRDSXNJbkJ5YjJObGMzTkVhV1ptY3lJc0ltOXNaRlpoYkhWbElpd2libVYzVm1Gc2RXVWlMQ0ppWTJJaUxDSkdiRzloZENJc0ltWmpZaUlzSW05c1pFWnNiMkYwSWl3aWJtVjNSbXh2WVhRaUxDSldaV04wYjNJeUlpd2liM2dpTENKdmVTSXNJbTU0SWl3aWJua2lMQ0oyWTJJaUxDSnZiR1FpTENKdmJHUkJZM1JwYjI0aUxDSnlaWE4xYkhSeklpd2libVYzUVdOMGFXOXVJaXdpYjJ4a1RHVm1kQ0lzSW05c1pGSnBaMmgwSWl3aWJtVjNUR1ZtZENJc0ltNWxkMUpwWjJoMElpd2lZMkZzYkVOaGJHeGlZV05ySWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2lMQ0puWDJKMWFXeDBhVzVOYjJSbGJFRmhjbVIyWVhKcklpd2laMTlpZFdsc2RHbHVUVzlrWld4QmNuSnZkeUlzSW1kZlluVnBiSFJwYmsxdlpHVnNRWEp5YjNkR2JHRjBJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeENZWEpqYjJSbFUyTmhibTVsY2lJc0ltZGZZblZwYkhScGJrMXZaR1ZzUW05MWJtUnBibWRDYjNnaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkVKdmVDSXNJbWRmWW5WcGJIUnBiazF2WkdWc1FuSmhZMlZzWlhRaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkVONWJHbHVaR1Z5SWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hFY205d1FYUjBjbUZqZENJc0ltZGZZblZwYkhScGJrMXZaR1ZzUlhKeWIzSWlMQ0puWDJKMWFXeDBhVzVOYjJSbGJFWnNZWE5ySWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hIWldGeUlpd2laMTlpZFdsc2RHbHVUVzlrWld4SVlXMXRaWEpCYm1SWGNtVnVZMmdpTENKblgySjFhV3gwYVc1TmIyUmxiRWhoYm1STVpXWjBJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeElZVzVrVFdseWNtOXlJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeElZVzVrVW1sbmFIUWlMQ0puWDJKMWFXeDBhVzVOYjJSbGJFaGxZV1FpTENKblgySjFhV3gwYVc1TmIyUmxiRWh2YjJzaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkUxaFoyNWxkRU5zYjNObFpDSXNJbWRmWW5WcGJIUnBiazF2WkdWc1RXRm5ibVYwVDNCbGJpSXNJbWRmWW5WcGJIUnBiazF2WkdWc1RXbHVkWE1pTENKblgySjFhV3gwYVc1TmIyUmxiRTVsZEhkdmNtc2lMQ0puWDJKMWFXeDBhVzVOYjJSbGJGQmhibVZzSWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hRWVc1bGJFbHVkbVZ5ZEdWa0lpd2laMTlpZFdsc2RHbHVUVzlrWld4UWJIVnpJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFNiMjl0SWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hUY0dobGNtVWlMQ0puWDJKMWFXeDBhVzVOYjJSbGJGTjBZWElpTENKblgySjFhV3gwYVc1TmIyUmxiRlJ5WVhOb1kyRnVJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFhhVzVrYjNkSlkyOXVJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFNiMk5yWlhSemFHbHdJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFRhMmx1Ym1Wa1NHRnVaRXhsWm5RaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkZOcmFXNXVaV1JJWVc1a1VtbG5hSFFpTENKblgySjFhV3gwYVc1QmJtbHRjeUlzSW1kZllXNXBiVjlNWldaMFgxUm9kVzFpYzFWd0lpd2lWMlZpUVhCd1RXRnVhV1psYzNSU1pYTnZkWEpqWlZCMWNuQnZjMlVpTENKWFpXSkJjSEJOWVc1cFptVnpkRlJsZUhSRWFYSWlMQ0pYWldKQmNIQk5ZVzVwWm1WemRFUnBjM0JzWVhraUxDSlhaV0pCY0hCTllXNXBabVZ6ZEU5eWFXVnVkR0YwYVc5dUlpd2ljbTVuSWl3aWNtRnVaRzl0UW5sMFpYTWlMQ0ppZVhSbFZHOUlaWGdpTENKZmJtOWtaVWxrSWl3aVgyTnNiMk5yYzJWeElpd2lZblZtSWl3aWIyWm1jMlYwSWl3aVluUm9JaXdpWDJ4aGMzUk5VMlZqY3lJc0lsOXNZWE4wVGxObFkzTWlMQ0p2Y0hScGIyNXpJaXdpYm05a1pTSXNJbU5zYjJOcmMyVnhJaXdpYzJWbFpFSjVkR1Z6SWl3aWJYTmxZM01pTENKRVlYUmxJaXdpWjJWMFZHbHRaU0lzSW01elpXTnpJaXdpWkhRaUxDSjBiQ0lzSW5SdGFDSXNJbWRsYm1WeVlYUmxWVlZKUkNJc0ltNWhiV1Z6Y0dGalpTSXNJbTltWmlJc0luTjBjaUlzSW5WdVpYTmpZWEJsSWl3aVpXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MElpd2lZbmwwWlhNaUxDSnpkSEpwYm1kVWIwSjVkR1Z6SWl3aWRYVnBaQ0lzSW1obGVDSXNJblYxYVdSVWIwSjVkR1Z6SWl3aWFYTkJjbkpoZVNJc0ltaGhjMmhtZFc1aklpd2lkbVZ5YzJsdmJpSXNJbWxrZUNJc0ltVnljaUlzSWtST1V5SXNJbFZTVENJc0luWXpOU0lzSWtKMVptWmxjaUlzSW1OeVpXRjBaVWhoYzJnaUxDSjFjR1JoZEdVaUxDSmthV2RsYzNRaUxDSnlibVJ6SWl3aWFXa2lYU3dpYldGd2NHbHVaM01pT2lJclEwRkJRU3hUUVVFeVEwRXNSVUZCVFVNc1IwRkRNVUlzUzBGQmVVSkRMRU5CUXpsRFFTeFBRVUZQUXl4UlFVRlZSaXhKUVVOUkxGTkJTME5CTEVOQlVqVkNMRU5CVTBkSExFMUJRVTBzVjBGRFZDeFBMRmxEVkVVc1NVRkJTVU1zUlVGQmJVSXNSMEZIZGtJc1UwRkJVME1zUlVGQmIwSkRMRWRCUnpWQ0xFZEJRVWRHTEVWQlFXbENSU3hIUVVOdVFpeFBRVUZQUml4RlFVRnBRa1VzUjBGQlZVb3NVVUZIYmtNc1NVRkJTVVFzUlVGQlUwY3NSVUZCYVVKRkxFZEJRVmtzUTBGRGVrTkRMRVZCUVVkRUxFVkJRMGhGTEVkQlFVY3NSVUZEU0U0c1VVRkJVeXhKUVZWV0xFOUJUa0ZQTEVWQlFWRklMRWRCUVZWSkxFdEJRVXRVTEVWQlFVOURMRkZCUVZORUxFVkJRVkZCTEVWQlFVOURMRkZCUVZOSExFZEJSeTlFU2l4RlFVRlBUeXhIUVVGSkxFVkJSMHBRTEVWQlFVOURMRkZCTUVSbUxFOUJja1JCUnl4RlFVRnZRazBzUlVGQlNVWXNSVUZIZUVKS0xFVkJRVzlDVHl4RlFVRkpVaXhGUVVkNFFrTXNSVUZCYjBKUkxFVkJRVWtzVTBGQlUxZ3NSVUZCVTFrc1JVRkJUVU1zUjBGRE0wTldMRVZCUVc5Q1Z5eEZRVUZGWkN4RlFVRlRXU3hKUVVOc1EwY3NUMEZCVDBNc1pVRkJaV2hDTEVWQlFWTlpMRVZCUVUwc1EwRkJSVXNzV1VGQldTeEZRVUZOUXl4SlFVRkxUQ3hMUVV0b1JWWXNSVUZCYjBKblFpeEZRVUZKTEZOQlFWTnVRaXhIUVVOWUxHOUNRVUZZYjBJc1VVRkJNRUpCTEU5QlFVOURMR0ZCUXpGRFRpeFBRVUZQUXl4bFFVRmxhRUlzUlVGQlUyOUNMRTlCUVU5RExGbEJRV0VzUTBGQlJVTXNUVUZCVHl4WFFVVTNSRkFzVDBGQlQwTXNaVUZCWldoQ0xFVkJRVk1zWVVGQll5eERRVUZGYzBJc1QwRkJUeXhMUVZGMlJHNUNMRVZCUVc5Q2IwSXNSVUZCU1N4VFFVRlRSQ3hGUVVGUFJTeEhRVVYyUXl4SFFVUlZMRVZCUVZCQkxFbEJRVlZHTEVWQlFWRnVRaXhGUVVGdlFtMUNMRWxCUXk5Q0xFVkJRVkJGTEVWQlFWVXNUMEZCVDBZc1JVRkRjRUlzUjBGQlZ5eEZRVUZRUlN4SFFVRTRRaXhwUWtGQlZrWXNSMEZCYzBKQkxFZEJRVk5CTEVWQlFVMUhMRmRCUVZrc1QwRkJUMGdzUlVGRGFFWXNTVUZCU1Vrc1JVRkJTMWdzVDBGQlQxa3NUMEZCVHl4TlFVZDJRaXhIUVVaQmVFSXNSVUZCYjBKblFpeEZRVUZGVHl4SFFVTjBRbGdzVDBGQlQwTXNaVUZCWlZVc1JVRkJTU3hWUVVGWExFTkJRVVZVTEZsQlFWa3NSVUZCVFVzc1RVRkJUMEVzU1VGRGRFUXNSVUZCVUVVc1IwRkJORUlzYVVKQlFWUkdMRVZCUVcxQ0xFbEJRVWtzU1VGQlNVMHNTMEZCVDA0c1JVRkJUMjVDTEVWQlFXOUNVU3hGUVVGRlpTeEZRVUZKUlN4RlFVRkxMRk5CUVZOQkxFZEJRVThzVDBGQlQwNHNSVUZCVFUwc1NVRkJVVU1zUzBGQlN5eExRVUZOUkN4SlFVTTVTU3hQUVVGUFJpeEhRVWxTZGtJc1JVRkJiMEl5UWl4RlFVRkpMRk5CUVZNdlFpeEhRVU5vUXl4SlFVRkpZeXhGUVVGVFpDeEhRVUZWUVN4RlFVRlBNRUlzVjBGRE4wSXNWMEZCZDBJc1QwRkJUekZDTEVWQlFXZENMRk5CUXk5RExGZEJRVGhDTEU5QlFVOUJMRWRCUlhSRExFOUJSRUZKTEVWQlFXOUNVU3hGUVVGRlJTeEZRVUZSTEVsQlFVdEJMRWRCUXpWQ1FTeEhRVWxTVml4RlFVRnZRbGNzUlVGQlNTeFRRVUZUYVVJc1JVRkJVVU1zUjBGQldTeFBRVUZQYWtJc1QwRkJUMnRDTEZWQlFWVkRMR1ZCUVdVeFFpeExRVUZMZFVJc1JVRkJVVU1zU1VGSGVrYzNRaXhGUVVGdlFtZERMRVZCUVVrc1IwRkpha0pvUXl4RlFVRnZRa0VzUlVGQmIwSnBReXhGUVVGSkxFa3NLMEpEYWtaeVJISkNMRTlCUVU5RExHVkJRV1ZvUWl4RlFVRlRMR0ZCUVdNc1EwRkJSWE5DTEU5QlFVOHNTVUZEZEVSMFFpeEZRVUZSY1VNc1VVRkJWU3hOTEdORFJteENkRU1zUlVGQlQwTXNVVUZCVlhORExHMUNRVUZQUVN4RFFVRkRMSGxFUVVGUkxFY3NOa0pEUTJwRGRrSXNUMEZCVDBNc1pVRkJaV2hDTEVWQlFWTXNZVUZCWXl4RFFVRkZjMElzVDBGQlR5eEpRVU4wUkN4SlFVRkphVUlzUlVGQlV5eEZRVUZSTEVkQlEycENReXhGUVVGakxFVkJRVkVzUjBGRGRFSkRMRVZCUVhOQ0xGZEJRM1JDTEZOQlFWTkJMRVZCUVV0RExFZEJRMVo2UXl4TFFVRkxlVU1zVDBGQlV5eEpRVUZKUXl4aFFVRmhMRkZCUTJoQ1F5eEpRVUZZUml4SlFVTkJla01zUzBGQlN6UkRMRWxCUVUxSUxFZEJORk51UWl4UFFYcFRRVE5DTEU5QlFVOURMR1ZCUVdWNVFpeEZRVUZMVWl4VlFVRlhMRWxCUVVzc1EwRkRka05tTEVsQlFVc3NWMEZEUkN4UFFVRlBha0lzUzBGQlMzbERMRTlCUVU4c1NVRkZka0pKTEVsQlFVc3NVMEZCVlhoQ0xFZEJRMWh5UWl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY0VJc1IwRkZja0pNTEZsQlFWa3NSVUZEV2poQ0xHTkJRV01zU1VGRmJFSm9ReXhQUVVGUFF5eGxRVUZsZVVJc1JVRkJTMUlzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaWGxDTEVWQlFVdFNMRlZCUVZjc1NVRkJTeXhEUVVOMlEyWXNTVUZCU3l4WFFVTkVMRTlCUVU5cVFpeExRVUZMZVVNc1QwRkJUeXhKUVVWMlFra3NTVUZCU3l4VFFVRlZlRUlzUjBGRFdISkNMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHdRaXhIUVVWeVFrd3NXVUZCV1N4RlFVTmFPRUlzWTBGQll5eEpRVVZzUW1oRExFOUJRVTlETEdWQlFXVjVRaXhGUVVGTFVpeFZRVUZYTEV0QlFVMHNRMEZEZUVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1MwRkhjRUpKTEVsQlFVc3NVMEZCVlVvc1IwRkRXSHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1Y1UWl4RlFVRkxVaXhWUVVGWExFMUJRVThzUTBGRGVrTm1MRWxCUVVzc1YwRkRSQ3hOUVVGUExFTkJRMGhxUWl4TFFVRkxlVU1zVDBGQlR5eEhRVU5hZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRXRCUjNCQ1NTeEpRVUZMTEZOQlFWVktMRWRCUTFoNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVkQlEzaENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTMEVzUlVGQlR5eEhRVU40UW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0QkxFVkJRVThzU1VGRk5VSjZRaXhaUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q1RpeEZRVUZMVWl4VlFVRlZaU3hIUVVGTExGTkJRVlZETEVkQlF6RkNMRTlCUVU5b1JDeExRVUZMZVVNc1QwRkJUMDhzU1VGRmRrSlNMRVZCUVV0U0xGVkJRVlZwUWl4TlFVRlJMRmRCUTI1Q2FrUXNTMEZCUzJ0RUxFVkJRVWtzUlVGRFZHeEVMRXRCUVV0dFJDeEZRVUZKTEVWQlExUnVSQ3hMUVVGTGIwUXNSVUZCU1N4SFFVVmlXaXhGUVVGTFVpeFZRVUZWY1VJc1MwRkJUeXhUUVVGVlF5eEhRVTgxUWl4UFFVNUxRU3hKUVVORVFTeEZRVUZQTEVsQlFVbGtMRWRCUldaakxFVkJRVXRLTEVWQlFVbHNSQ3hMUVVGTGEwUXNSVUZEWkVrc1JVRkJTMGdzUlVGQlNXNUVMRXRCUVV0dFJDeEZRVU5rUnl4RlFVRkxSaXhGUVVGSmNFUXNTMEZCUzI5RUxFVkJRMUJGTEVkQlJWaGtMRVZCUVV0U0xGVkJRVlYxUWl4UFFVRlRMRk5CUVZWRUxFZEJUemxDTEU5QlRrdEJMRWxCUTBSQkxFVkJRVTkwUkN4TlFVVlljMFFzUlVGQlMwb3NSMEZCUzJ4RUxFdEJRVXRyUkN4RlFVTm1TU3hGUVVGTFNDeEhRVUZMYmtRc1MwRkJTMjFFTEVWQlEyWkhMRVZCUVV0R0xFZEJRVXR3UkN4TFFVRkxiMFFzUlVGRFVrVXNSMEZGV0dRc1JVRkJTMUlzVlVGQlZYZENMRTlCUVZNc1UwRkJWVU1zUlVGQlVVTXNSMEZGZEVNc1dVRkVhMElzU1VGQlpFRXNTVUZCZDBKQkxFVkJRVmx1UWl4RlFVRlpTQ3hYUVVOb1JIVkNMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxhMFFzUlVGQlNVOHNSVUZCVDFBc1IwRkJTMUVzVDBGSE9VSkRMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxiVVFzUlVGQlNVMHNSVUZCVDA0c1IwRkJTMDhzVFVGSE9VSkRMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxiMFFzUlVGQlNVc3NSVUZCVDB3c1IwRkJTMDBzUzBGTGRFTnNRaXhGUVVGTFVpeFZRVUZWTmtJc1QwRkJVeXhYUVVOd1FpeFBRVUZQUml4TFFVRkxSeXhMUVVGTE9VUXNTMEZCU3l0RUxHdENRVVV4UW5aQ0xFVkJRVXRTTEZWQlFWVXJRaXhqUVVGblFpeFhRVU16UWl4SlFVRkpZaXhGUVVGSmJFUXNTMEZCUzJ0RUxFVkJRMVJETEVWQlFVbHVSQ3hMUVVGTGJVUXNSVUZEVkVNc1JVRkJTWEJFTEV0QlFVdHZSQ3hGUVVOaUxFOUJRVkZHTEVWQlFVbEJMRVZCUVVsRExFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFZEJSV2hEV2l4RlFVRkxVaXhWUVVGVlowTXNTVUZCVFN4VFFVRlZVQ3hIUVVrelFpeFBRVWhCZWtRc1MwRkJTMnRFTEVkQlFVdFBMRVZCUVU5UUxFVkJRMnBDYkVRc1MwRkJTMjFFTEVkQlFVdE5MRVZCUVU5T0xFVkJRMnBDYmtRc1MwRkJTMjlFTEVkQlFVdExMRVZCUVU5TUxFVkJRMVp3UkN4TlFVVllkME1zUlVGQlMxSXNWVUZCVldsRExGTkJRVmNzVTBGQlZWSXNSMEZKYUVNc1QwRklRWHBFTEV0QlFVdHJSQ3hIUVVGTFR5eEZRVUZQVUN4RlFVTnFRbXhFTEV0QlFVdHRSQ3hIUVVGTFRTeEZRVUZQVGl4RlFVTnFRbTVFTEV0QlFVdHZSQ3hIUVVGTFN5eEZRVUZQVEN4RlFVTldjRVFzVFVGRldIZERMRVZCUVV0U0xGVkJRVlZyUXl4VFFVRlhMRk5CUVZWVUxFZEJTV2hETEU5QlNFRjZSQ3hMUVVGTGEwUXNSMEZCUzA4c1JVRkJUMUFzUlVGRGFrSnNSQ3hMUVVGTGJVUXNSMEZCUzAwc1JVRkJUMDRzUlVGRGFrSnVSQ3hMUVVGTGIwUXNSMEZCUzBzc1JVRkJUMHdzUlVGRFZuQkVMRTFCUlZoM1F5eEZRVUZMVWl4VlFVRlZiVU1zVDBGQlV5eFRRVUZWVml4SFFVazVRaXhQUVVoQmVrUXNTMEZCUzJ0RUxFZEJRVXRQTEVWQlFVOVFMRVZCUTJwQ2JFUXNTMEZCUzIxRUxFZEJRVXROTEVWQlFVOU9MRVZCUTJwQ2JrUXNTMEZCUzI5RUxFZEJRVXRMTEVWQlFVOU1MRVZCUTFad1JDeE5RVVZZZDBNc1JVRkJTMUlzVlVGQlZXOURMRTFCUVZFc1UwRkJWUzlETEVWQlFVOXBReXhIUVU5d1F5eFBRVTVMUVN4SlFVTkVRU3hGUVVGUGRFUXNUVUZGV0hORUxFVkJRVXRLTEVkQlFVczNRaXhGUVVOV2FVTXNSVUZCUzBnc1IwRkJTemxDTEVWQlExWnBReXhGUVVGTFJpeEhRVUZMTDBJc1JVRkRTR2xETEVkQlJWaGtMRVZCUVV0U0xGVkJRVlZ4UXl4VlFVRlpMRk5CUVZWbUxFZEJRelZDUVN4SlFVTkVRU3hGUVVGUGRFUXNUVUZGV0N4SlFVRkpOa1FzUlVGQlV6ZEVMRXRCUVVzMlJDeFRRVU5zUWl4UFFVRmxMRWxCUVZoQkxFVkJRMDgzUkN4TFFVVkpMRWxCUVZnMlJDeEhRVU5CVUN4RlFVRkxTaXhGUVVGSkxFVkJRMVJKTEVWQlFVdElMRVZCUVVrc1JVRkRWRWNzUlVGQlMwWXNSVUZCU1N4RlFVTkdSU3hKUVVWWVR5eEZRVUZUTEVWQlFVMUJMRVZCUTJaUUxFVkJRVXRLTEVkQlFVdFhMRVZCUTFaUUxFVkJRVXRJTEVkQlFVdFZMRVZCUTFaUUxFVkJRVXRHTEVkQlFVdFRMRVZCUTBoUUxFbEJSVmhrTEVWQlFVdFNMRlZCUVZWelF5eGxRVUZwUWl4VFFVRlZReXhGUVVGUmFrSXNSMEZKT1VNc1QwRklTMEVzU1VGRFJFRXNSVUZCVDNSRUxFMUJSVXAxUlN4RlFVRlBReXhoUVVGaGVFVXNTMEZCVFhORUxFbEJSWEpEWkN4RlFVRkxVaXhWUVVGVmVVTXNaVUZCYVVJc1UwRkJWVU1zUlVGQldYQkNMRWRCU1d4RUxFOUJTRXRCTEVsQlEwUkJMRVZCUVU5MFJDeE5RVVZLTUVVc1JVRkJWMFlzWVVGQllYaEZMRXRCUVUxelJDeEpRVVY2UTJRc1JVRkJTMUlzVlVGQlZUSkRMRTlCUVZNc1UwRkJWWEpDTEVkQlEzcENRU3hKUVVORVFTeEZRVUZQTEVsQlFVbG9RaXhGUVVGUGMwTXNVMEZGZEVJc1NVRkJTVzVGTEVWQlFVa3NTVUZCU1N0Q0xFVkJRMUpNTEVWQlFVa3NTVUZCU1Vzc1JVRlhXaXhQUVZaQkwwSXNSVUZCUlhsRExFVkJRVWxUTEV0QlFVdHJRaXhKUVVGaExFZEJRVlEzUlN4TFFVRkxhMFFzUjBGRGNFSm1MRVZCUVVWbExFVkJRVWxUTEV0QlFVdHRRaXhKUVVGaExFZEJRVlE1UlN4TFFVRkxhMFFzUjBGRGNFSjZReXhGUVVGRk1FTXNSVUZCU1ZFc1MwRkJTMnRDTEVsQlFXRXNSMEZCVkRkRkxFdEJRVXR0UkN4SFFVTndRbWhDTEVWQlFVVm5RaXhGUVVGSlVTeExRVUZMYlVJc1NVRkJZU3hIUVVGVU9VVXNTMEZCUzIxRUxFZEJRM0JDTVVNc1JVRkJSVEpETEVWQlFVbFBMRXRCUVV0clFpeEpRVUZoTEVkQlFWUTNSU3hMUVVGTGIwUXNSMEZEY0VKcVFpeEZRVUZGYVVJc1JVRkJTVThzUzBGQlMyMUNMRWxCUVdFc1IwRkJWRGxGTEV0QlFVdHZSQ3hIUVVOd1FrVXNSVUZCUzBvc1JVRkJTV1lzUlVGQlJXVXNSVUZCU1hwRExFVkJRVVV3UXl4RlFVRkpNVU1zUlVGQlJUSkRMRVZCUVVrelF5eEZRVUZGZVVNc1JVRkJTV1lzUlVGQlJXZENMRVZCUVVsb1FpeEZRVUZGYVVJc1JVRkRla05GTEVWQlFVdElMRVZCUVVreFF5eEZRVUZGZVVNc1JVRkJTV1lzUlVGQlJXZENMRVZCUVVreFF5eEZRVUZGTWtNc1JVRkJTV3BDTEVWQlFVVmxMRVZCUVVsNlF5eEZRVUZGTUVNc1JVRkJTV2hDTEVWQlFVVnBRaXhGUVVONlEwVXNSVUZCUzBZc1JVRkJTVE5ETEVWQlFVVjVReXhGUVVGSmVrTXNSVUZCUlRCRExFVkJRVWxvUWl4RlFVRkZhVUlzUlVGQlNXcENMRVZCUVVWbExFVkJRVWxtTEVWQlFVVm5RaXhGUVVGSk1VTXNSVUZCUlRKRExFVkJRM3BEUlN4RlFVRkxlVUlzUlVGQlNYUkZMRVZCUVVWNVF5eEZRVUZKZWtNc1JVRkJSVEJETEVWQlFVa3hReXhGUVVGRk1rTXNSVUZCU1dwQ0xFVkJRVVZsTEVWQlFVbG1MRVZCUVVWblFpeEZRVUZKYUVJc1JVRkJSV2xDTEVWQlEyeERSU3hIUVVWWVpDeEZRVUZMZDBNc1RVRkJVU3hUUVVGVmRrSXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFVTXZRa0VzU1VGRFJFRXNSVUZCVHl4SlFVRkpaQ3hIUVVWbUxFbEJRVWxWTEVWQlFVbFBMRVZCUVU5UUxFVkJRMWhETEVWQlFVbE5MRVZCUVU5T0xFVkJRMWhETEVWQlFVbExMRVZCUVU5TUxFVkJRMWc0UWl4RlFVRkxSQ3hGUVVGUkwwSXNSVUZEWW1sRExFVkJRVXRHTEVWQlFWRTVRaXhGUVVOaWFVTXNSVUZCUzBnc1JVRkJVVGRDTEVWQlNXcENMRTlCU0VGRkxFVkJRVXRLTEVWQlFVbERMRVZCUVVscFF5eEZRVUZMYUVNc1JVRkJTU3RDTEVWQlEzUkNOMElzUlVGQlMwZ3NSVUZCU1VNc1JVRkJTVGhDTEVWQlFVdG9ReXhGUVVGSmEwTXNSVUZEZEVJNVFpeEZRVUZMUml4RlFVRkpSaXhGUVVGSmFVTXNSVUZCUzJoRExFVkJRVWtyUWl4RlFVTm1OVUlzUjBGRldHUXNSVUZCU3paRExFbEJRVTBzVTBGQlZUVkNMRVZCUVZGM1FpeEhRVU42UWl4SlFVRkpMMElzUlVGQlNVOHNSVUZCVDFBc1JVRkRXRU1zUlVGQlNVMHNSVUZCVDA0c1JVRkRXRU1zUlVGQlNVc3NSVUZCVDB3c1JVRkpaaXhQUVVGUlJpeEZRVWhESzBJc1JVRkJVUzlDTEVWQlIwRkRMRVZCUmxJNFFpeEZRVUZST1VJc1JVRkZVME1zUlVGRWFrSTJRaXhGUVVGUk4wSXNSMEZIY2tKYUxFVkJRVXM0UXl4VFFVRlhMRk5CUVZVM1FpeEZRVUZSZDBJc1IwRkRkRUpCTEVWQlFWRXZRaXhGUVVGSlR5eEZRVUZQVUN4RlFVTnVRaXRDTEVWQlFWRTVRaXhGUVVGSlRTeEZRVUZQVGl4RlFVTnVRamhDTEVWQlFWRTNRaXhGUVVGSlN5eEZRVUZQVEN4RlFVTXpRaXhQUVVGUFR5eExRVUZMUnl4TFFVRkxPVVFzUzBGQlMzVkdMR2RDUVVGblFqbENMRVZCUVZGM1FpeExRVVZzUkhwRExFVkJRVXNyUXl4blFrRkJhMElzVTBGQlZUbENMRVZCUVZGM1FpeEhRVU55UXl4SlFVRkpMMElzUlVGQlNTdENMRVZCUVZFdlFpeEZRVUZKVHl4RlFVRlBVQ3hGUVVOMlFrTXNSVUZCU1RoQ0xFVkJRVkU1UWl4RlFVRkpUU3hGUVVGUFRpeEZRVU4yUWtNc1JVRkJTVFpDTEVWQlFWRTNRaXhGUVVGSlN5eEZRVUZQVEN4RlFVTXpRaXhQUVVGUlJpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hIUVVWb1Exb3NSVUZCUzJkRUxGVkJRVmtzVTBGQlZTOUNMRVZCUVZGM1FpeEZRVUZUTTBJc1IwRkRia05CTEVsQlEwUkJMRVZCUVU4c1NVRkJTV1FzUjBGRlppeEpRVUZKVlN4RlFVRkpUeXhGUVVGUFVDeEZRVUZKSzBJc1JVRkJVUzlDTEVWQlEzWkNReXhGUVVGSlRTeEZRVUZQVGl4RlFVRkpPRUlzUlVGQlVUbENMRVZCUTNaQ1F5eEZRVUZKU3l4RlFVRlBUQ3hGUVVGSk5rSXNSVUZCVVRkQ0xFVkJRM1pDVXl4RlFVRlRSaXhMUVVGTFJ5eExRVUZMV2l4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEhRVU16UXl4UFFVRmxMRWxCUVZoVExFZEJRMEZRTEVWQlFVdEtMRVZCUVVrc1JVRkRWRWtzUlVGQlMwZ3NSVUZCU1N4RlFVTlVSeXhGUVVGTFJpeEZRVUZKTEVWQlEwWkZMRWxCUlZoUExFVkJRVk1zUlVGQlNVRXNSVUZEWWxBc1JVRkJTMG9zUlVGQlNVRXNSVUZCU1Zjc1JVRkRZbEFzUlVGQlMwZ3NSVUZCU1VFc1JVRkJTVlVzUlVGRFlsQXNSVUZCUzBZc1JVRkJTVUVzUlVGQlNWTXNSVUZEVGxBc1NVRkZXR1FzUlVGQlMybEVMRWxCUVUwc1UwRkJWV2hETEVWQlFWRjNRaXhGUVVGVFV5eEZRVUZOY0VNc1IwRlBlRU1zVDBGT1MwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSlpDeEhRVVZtWXl4RlFVRkxTaXhGUVVGSlR5eEZRVUZQVUN4RlFVRkpkME1zUjBGQlVWUXNSVUZCVVM5Q0xFVkJRVWxQTEVWQlFVOVFMRWRCUXk5RFNTeEZRVUZMU0N4RlFVRkpUU3hGUVVGUFRpeEZRVUZKZFVNc1IwRkJVVlFzUlVGQlVUbENMRVZCUVVsTkxFVkJRVTlPTEVkQlF5OURSeXhGUVVGTFJpeEZRVUZKU3l4RlFVRlBUQ3hGUVVGSmMwTXNSMEZCVVZRc1JVRkJVVGRDTEVWQlFVbExMRVZCUVU5TUxFZEJRM2hEUlN4SFFVVllaQ3hGUVVGTGJVUXNTVUZCVFN4VFFVRlZiRU1zUlVGQlVYZENMRVZCUVZNelFpeEhRVTlzUXl4UFFVNUxRU3hKUVVORVFTeEZRVUZQTEVsQlFVbGtMRWRCUldaakxFVkJRVXRLTEVWQlFVbFBMRVZCUVU5UUxFVkJRVWtyUWl4RlFVRlJMMElzUlVGRE5VSkpMRVZCUVV0SUxFVkJRVWxOTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1JVRkROVUpITEVWQlFVdEdMRVZCUVVsTExFVkJRVTlNTEVWQlFVazJRaXhGUVVGUk4wSXNSVUZEY2tKRkxFZEJSVmhrTEVWQlFVdHZSQ3hYUVVGaExGTkJRVlZ1UXl4RlFVRlJkMElzUlVGQlV6TkNMRWRCVDNwRExFOUJUa3RCTEVsQlEwUkJMRVZCUVU4c1NVRkJTV1FzUjBGRlptTXNSVUZCUzBvc1JVRkJTVThzUlVGQlQxQXNSVUZCU1N0Q0xFVkJRVkV2UWl4RlFVTTFRa2tzUlVGQlMwZ3NSVUZCU1Uwc1JVRkJUMDRzUlVGQlNUaENMRVZCUVZFNVFpeEZRVU0xUWtjc1JVRkJTMFlzUlVGQlNVc3NSVUZCVDB3c1JVRkJTVFpDTEVWQlFWRTNRaXhGUVVOeVFrVXNSMEZGV0dRc1JVRkJTM0ZFTEZGQlFWVXNVMEZCVlhCRExFVkJRVkYzUWl4RlFVRlRNMElzUjBGUGRFTXNUMEZPUzBFc1NVRkRSRUVzUlVGQlR5eEpRVUZKWkN4SFFVVm1ZeXhGUVVGTFNpeEZRVUZKVHl4RlFVRlBVQ3hGUVVGSkswSXNSVUZCVVM5Q0xFVkJRelZDU1N4RlFVRkxTQ3hGUVVGSlRTeEZRVUZQVGl4RlFVRkpPRUlzUlVGQlVUbENMRVZCUXpWQ1J5eEZRVUZMUml4RlFVRkpTeXhGUVVGUFRDeEZRVUZKTmtJc1JVRkJVVGRDTEVWQlEzSkNSU3hIUVVWWVpDeEZRVUZMYzBRc1UwRkJWeXhUUVVGVmNrTXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFVOTJReXhQUVU1TFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVsa0xFZEJSV1pqTEVWQlFVdEtMRVZCUVVsUExFVkJRVTlRTEVWQlFVa3JRaXhGUVVGUkwwSXNSVUZETlVKSkxFVkJRVXRJTEVWQlFVbE5MRVZCUVU5T0xFVkJRVWs0UWl4RlFVRlJPVUlzUlVGRE5VSkhMRVZCUVV0R0xFVkJRVWxMTEVWQlFVOU1MRVZCUVVrMlFpeEZRVUZSTjBJc1JVRkRja0pGTEVkQlJWaGtMRVZCUVV0MVJDeExRVUZQTEVsQlFVbDJSQ3hGUVVGTExFTkJRVU1zUlVGQlJ5eEZRVUZITEVsQlF6VkNRU3hGUVVGTGQwUXNTVUZCVFN4SlFVRkplRVFzUlVGQlN5eERRVUZETEVWQlFVY3NSVUZCUnl4SlFVTXpRa0VzUlVGQlMzbEVMRWRCUVVzc1NVRkJTWHBFTEVWQlFVc3NRMEZCUXl4RlFVRkhMRVZCUVVjc1NVRkRNVUpCTEVWQlFVc3dSQ3hOUVVGUkxFbEJRVWt4UkN4RlFVRkxMRU5CUVVNc1JVRkJSeXhGUVVGSExFbEJRemRDUVN4RlFVRkxNa1FzVVVGQlZTeEpRVUZKTTBRc1JVRkJTeXhEUVVGRExFVkJRVWNzUlVGQlJ5eEpRVU40UWtFc1JVRm9WR01zUjBGclZIcENla01zUlVGQlVUWkZMRkZCUVZWd1F5eEhMRFpDUTNKVWJFSXhRaXhQUVVGUFF5eGxRVUZsYUVJc1JVRkJVeXhoUVVGakxFTkJRVVZ6UWl4UFFVRlBMRWxCUTNSRUxFbEJRVWtyUlN4RlFVRlRMRVZCUVZFc1IwRkRha0kzUkN4RlFVRmpMRVZCUVZFc1IwRkRkRUk0UkN4RlFVRnpRaXhYUVVOMFFpeFRRVUZUUVN4RlFVRkxOVVFzUjBGRFZucERMRXRCUVV0NVF5eFBRVUZUTEVsQlFVbERMR0ZCUVdFc1VVRkRhRUpETEVsQlFWaEdMRWxCUTBGNlF5eExRVUZMYzBjc1IwRkJTemRFTEVkQlowOXNRaXhQUVRkT1FUTkNMRTlCUVU5RExHVkJRV1Z6Uml4RlFVRkxja1VzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaWE5HTEVWQlFVdHlSU3hWUVVGWExFbEJRVXNzUTBGRGRrTm1MRWxCUVVzc1YwRkRSQ3hQUVVGUGFrSXNTMEZCUzNsRExFOUJRVThzU1VGRmRrSkpMRWxCUVVzc1UwRkJWWGhDTEVkQlExaHlRaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxjRUlzUjBGRmNrSk1MRmxCUVZrc1JVRkRXamhDTEdOQlFXTXNTVUZGYkVKb1F5eFBRVUZQUXl4bFFVRmxjMFlzUlVGQlMzSkZMRlZCUVZjc1MwRkJUU3hEUVVONFEyWXNTVUZCU3l4WFFVTkVMRTFCUVU4c1EwRkRTR3BDTEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eExRVWR3UWtrc1NVRkJTeXhUUVVGVlNpeEhRVU5ZZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzBFc1JVRkJUeXhIUVVONFFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1NVRkZOVUo2UWl4WlFVRlpMRVZCUTFvNFFpeGpRVUZqTEVsQlJXeENkVVFzUlVGQlMzSkZMRlZCUVZWbExFZEJRVXNzVTBGQlZVTXNSMEZETVVJc1QwRkJUMmhFTEV0QlFVdDVReXhQUVVGUFR5eEpRVVYyUW5GRUxFVkJRVXR5UlN4VlFVRlZhVUlzVFVGQlVTeFhRVU51UW1wRUxFdEJRVXRyUkN4RlFVRkpMRVZCUTFSc1JDeExRVUZMYlVRc1JVRkJTU3hIUVVWaWEwUXNSVUZCUzNKRkxGVkJRVlZ4UWl4TFFVRlBMRk5CUVZWRExFZEJUVFZDTEU5QlRFdEJMRWxCUTBSQkxFVkJRVThzU1VGQlNTdERMRWRCUldZdlF5eEZRVUZMU2l4RlFVRkpiRVFzUzBGQlMydEVMRVZCUTJSSkxFVkJRVXRJTEVWQlFVbHVSQ3hMUVVGTGJVUXNSVUZEVUVjc1IwRkZXQ3RETEVWQlFVdHlSU3hWUVVGVmRVSXNUMEZCVXl4VFFVRlZSQ3hIUVUwNVFpeFBRVXhMUVN4SlFVTkVRU3hGUVVGUGRFUXNUVUZGV0hORUxFVkJRVXRLTEVkQlFVdHNSQ3hMUVVGTGEwUXNSVUZEWmtrc1JVRkJTMGdzUjBGQlMyNUVMRXRCUVV0dFJDeEZRVU5TUnl4SFFVVllLME1zUlVGQlMzSkZMRlZCUVZWM1FpeFBRVUZUTEZOQlFWVkRMRVZCUVZGRExFZEJSWFJETEZsQlJHdENMRWxCUVdSQkxFbEJRWGRDUVN4RlFVRlpia0lzUlVGQldVZ3NWMEZEYUVSMVFpeExRVUZMUXl4SlFVRkpOVVFzUzBGQlMydEVMRVZCUVVsUExFVkJRVTlRTEVkQlFVdFJMRTFCUnpsQ1F5eExRVUZMUXl4SlFVRkpOVVFzUzBGQlMyMUVMRVZCUVVsTkxFVkJRVTlPTEVkQlFVdFBMRWxCUzNSRE1rTXNSVUZCUzNKRkxGVkJRVlUyUWl4UFFVRlRMRmRCUTNCQ0xFOUJRVTlHTEV0QlFVdEhMRXRCUVVzNVJDeExRVUZMSzBRc2EwSkJSVEZDYzBNc1JVRkJTM0pGTEZWQlFWVXJRaXhqUVVGblFpeFhRVU16UWl4SlFVRkpZaXhGUVVGSmJFUXNTMEZCUzJ0RUxFVkJRMVJETEVWQlFVbHVSQ3hMUVVGTGJVUXNSVUZEWWl4UFFVRlJSQ3hGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hIUVVWNFFtdEVMRVZCUVV0eVJTeFZRVUZWWjBNc1NVRkJUU3hUUVVGVlVDeEhRVWN6UWl4UFFVWkJla1FzUzBGQlMydEVMRWRCUVV0UExFVkJRVTlRTEVWQlEycENiRVFzUzBGQlMyMUVMRWRCUVV0TkxFVkJRVTlPTEVWQlExWnVSQ3hOUVVWWWNVY3NSVUZCUzNKRkxGVkJRVlZwUXl4VFFVRlhMRk5CUVZWU0xFZEJSMmhETEU5QlJrRjZSQ3hMUVVGTGEwUXNSMEZCUzA4c1JVRkJUMUFzUlVGRGFrSnNSQ3hMUVVGTGJVUXNSMEZCUzAwc1JVRkJUMDRzUlVGRFZtNUVMRTFCUlZoeFJ5eEZRVUZMY2tVc1ZVRkJWV3RETEZOQlFWY3NVMEZCVlZRc1IwRkhhRU1zVDBGR1FYcEVMRXRCUVV0clJDeEhRVUZMVHl4RlFVRlBVQ3hGUVVOcVFteEVMRXRCUVV0dFJDeEhRVUZMVFN4RlFVRlBUaXhGUVVOV2JrUXNUVUZGV0hGSExFVkJRVXR5UlN4VlFVRlZiVU1zVDBGQlV5eFRRVUZWVml4SFFVYzVRaXhQUVVaQmVrUXNTMEZCUzJ0RUxFZEJRVXRQTEVWQlFVOVFMRVZCUTJwQ2JFUXNTMEZCUzIxRUxFZEJRVXROTEVWQlFVOU9MRVZCUTFadVJDeE5RVVZZY1Vjc1JVRkJTM0pGTEZWQlFWVnZReXhOUVVGUkxGTkJRVlV2UXl4RlFVRlBhVU1zUjBGTmNFTXNUMEZNUzBFc1NVRkRSRUVzUlVGQlQzUkVMRTFCUlZoelJDeEZRVUZMU2l4SFFVRkxOMElzUlVGRFZtbERMRVZCUVV0SUxFZEJRVXM1UWl4RlFVTklhVU1zUjBGRldDdERMRVZCUVV0eVJTeFZRVUZWY1VNc1ZVRkJXU3hUUVVGVlppeEhRVU0xUWtFc1NVRkRSRUVzUlVGQlQzUkVMRTFCUlZnc1NVRkJTVFpFTEVWQlFWTTNSQ3hMUVVGTE5rUXNVMEZEYkVJc1QwRkJaU3hKUVVGWVFTeEZRVU5QTjBRc1MwRkZTU3hKUVVGWU5rUXNSMEZEUVZBc1JVRkJTMG9zUlVGQlNTeEZRVU5VU1N4RlFVRkxTQ3hGUVVGSkxFVkJRMFpITEVsQlJWaFBMRVZCUVZNc1JVRkJUVUVzUlVGRFpsQXNSVUZCUzBvc1IwRkJTMWNzUlVGRFZsQXNSVUZCUzBnc1IwRkJTMVVzUlVGRFNGQXNTVUZGV0N0RExFVkJRVXR5UlN4VlFVRlZkVVVzWVVGQlpTeFRRVUZWYUVNc1JVRkJVV3BDTEVkQlNUVkRMRTlCU0V0QkxFbEJRMFJCTEVWQlFVOTBSQ3hOUVVWS2RVVXNSVUZCVDJsRExHRkJRV0Y0Unl4TFFVRk5jMFFzU1VGRmNrTXJReXhGUVVGTGNrVXNWVUZCVlhsRkxHRkJRV1VzVTBGQlZXeERMRVZCUVZGcVFpeEhRVWsxUXl4UFFVaExRU3hKUVVORVFTeEZRVUZQZEVRc1RVRkZTblZGTEVWQlFVOXBReXhoUVVGaGVFY3NTMEZCVFhORUxFbEJSWEpESzBNc1JVRkJTM0pDTEUxQlFWRXNVMEZCVlhaQ0xFVkJRVkYzUWl4RlFVRlRNMElzUjBGREwwSkJMRWxCUTBSQkxFVkJRVThzU1VGQlNUaERMRVZCUVU5NFFpeFRRVVYwUWl4SlFVRkpNVUlzUlVGQlNVOHNSVUZCVDFBc1JVRkRXRU1zUlVGQlNVMHNSVUZCVDA0c1JVRkRXQ3RDTEVWQlFVdEVMRVZCUVZFdlFpeEZRVVZpUlN4RlFVRkpSaXhGUVVSREswSXNSVUZCVVRsQ0xFVkJRMEZCTEVWQlFVa3JRaXhGUVVseVFpeFBRVWhCTlVJc1JVRkJTMG9zUlVGQlNTeEZRVU5VU1N4RlFVRkxTQ3hGUVVGSkxFVkJRMVJITEVWQlFVdEdMRVZCUVVsQkxFVkJRMFpGTEVkQlJWZ3JReXhGUVVGTGFFSXNTVUZCVFN4VFFVRlZOVUlzUlVGQlVYZENMRWRCUTNwQ0xFOUJRVkY0UWl4RlFVRlBVQ3hGUVVGSkswSXNSVUZCVVM5Q0xFVkJRVWxQTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1IwRkZkRVJyUkN4RlFVRkxaaXhUUVVGWExGTkJRVlUzUWl4RlFVRlJkMElzUjBGRE9VSXNUMEZCVDNSQ0xFdEJRVXRITEV0QlFVczVSQ3hMUVVGTGRVWXNaMEpCUVdkQ09VSXNSVUZCVVhkQ0xFdEJSV3hFYjBJc1JVRkJTMlFzWjBKQlFXdENMRk5CUVZVNVFpeEZRVUZSZDBJc1IwRkRja01zU1VGQlNTOUNMRVZCUVVrclFpeEZRVUZSTDBJc1JVRkJTVThzUlVGQlQxQXNSVUZEZGtKRExFVkJRVWs0UWl4RlFVRlJPVUlzUlVGQlNVMHNSVUZCVDA0c1JVRkRNMElzVDBGQlVVUXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZGZUVKclJDeEZRVUZMWWl4VlFVRlpMRk5CUVZVdlFpeEZRVUZSZDBJc1JVRkJVek5DTEVkQlEyNURRU3hKUVVORVFTeEZRVUZQTEVsQlFVa3JReXhIUVVWbUxFbEJRVWx1UkN4RlFVRkpUeXhGUVVGUFVDeEZRVUZKSzBJc1JVRkJVUzlDTEVWQlEzWkNReXhGUVVGSlRTeEZRVUZQVGl4RlFVRkpPRUlzUlVGQlVUbENMRVZCUTNaQ1ZTeEZRVUZUUml4TFFVRkxSeXhMUVVGTFdpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEhRVU51UXl4UFFVRmxMRWxCUVZoVkxFZEJRMEZRTEVWQlFVdEtMRVZCUVVrc1JVRkRWRWtzUlVGQlMwZ3NSVUZCU1N4RlFVTkdSeXhKUVVWWVR5eEZRVUZUTEVWQlFVbEJMRVZCUTJKUUxFVkJRVXRLTEVWQlFVbEJMRVZCUVVsWExFVkJRMkpRTEVWQlFVdElMRVZCUVVsQkxFVkJRVWxWTEVWQlEwNVFMRWxCUlZnclF5eEZRVUZMV2l4SlFVRk5MRk5CUVZWb1F5eEZRVUZSZDBJc1JVRkJVMU1zUlVGQlRYQkRMRWRCUTI1RFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVrclF5eEhRVVZtTEVsQlFVbHVSQ3hGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllLMElzUlVGQlMwUXNSVUZCVVM5Q0xFVkJRMkpwUXl4RlFVRkxSaXhGUVVGUk9VSXNSVUZIYWtJc1QwRkdRVWNzUlVGQlMwb3NSVUZCU1VFc1JVRkJTWGRETEVkQlFWRlNMRVZCUVV0b1F5eEhRVU14UWtrc1JVRkJTMGdzUlVGQlNVRXNSVUZCU1hWRExFZEJRVkZRTEVWQlFVdG9ReXhIUVVOdVFrY3NSMEZGV0N0RExFVkJRVXRXTEVsQlFVMHNVMEZCVld4RExFVkJRVkYzUWl4RlFVRlRNMElzUjBGTmJFTXNUMEZNUzBFc1NVRkRSRUVzUlVGQlR5eEpRVUZKSzBNc1IwRkZaaTlETEVWQlFVdEtMRVZCUVVsUExFVkJRVTlRTEVWQlFVa3JRaXhGUVVGUkwwSXNSVUZETlVKSkxFVkJRVXRJTEVWQlFVbE5MRVZCUVU5T0xFVkJRVWs0UWl4RlFVRlJPVUlzUlVGRGNrSkhMRWRCUlZnclF5eEZRVUZMVkN4WFFVRmhMRk5CUVZWdVF5eEZRVUZSZDBJc1JVRkJVek5DTEVkQlRYcERMRTlCVEV0QkxFbEJRMFJCTEVWQlFVOHNTVUZCU1N0RExFZEJSV1l2UXl4RlFVRkxTaXhGUVVGSlR5eEZRVUZQVUN4RlFVRkpLMElzUlVGQlVTOUNMRVZCUXpWQ1NTeEZRVUZMU0N4RlFVRkpUU3hGUVVGUFRpeEZRVUZKT0VJc1JVRkJVVGxDTEVWQlEzSkNSeXhIUVVWWUswTXNSVUZCUzFJc1VVRkJWU3hUUVVGVmNFTXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFVMTBReXhQUVV4TFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVrclF5eEhRVVZtTDBNc1JVRkJTMG9zUlVGQlNVOHNSVUZCVDFBc1JVRkJTU3RDTEVWQlFWRXZRaXhGUVVNMVFra3NSVUZCUzBnc1JVRkJTVTBzUlVGQlQwNHNSVUZCU1RoQ0xFVkJRVkU1UWl4RlFVTnlRa2NzUjBGRldDdERMRVZCUVV0UUxGTkJRVmNzVTBGQlZYSkRMRVZCUVZGM1FpeEZRVUZUTTBJc1IwRk5ka01zVDBGTVMwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSkswTXNSMEZGWmk5RExFVkJRVXRLTEVWQlFVbFBMRVZCUVU5UUxFVkJRVWtyUWl4RlFVRlJMMElzUlVGRE5VSkpMRVZCUVV0SUxFVkJRVWxOTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1JVRkRja0pITEVkQlJWZ3JReXhGUVVGTFRpeExRVUZQTEVsQlFVbE5MRVZCUVVzc1EwRkJReXhGUVVGSExFbEJRM3BDUVN4RlFVRkxUQ3hKUVVGTkxFbEJRVWxMTEVWQlFVc3NRMEZCUXl4RlFVRkhMRWxCUTJwQ1FTeEZRWEJQWXl4SFFYTlBla0owUnl4RlFVRlJOa1VzVVVGQlZYbENMRWNzTmtKRGVrOXNRblpHTEU5QlFVOURMR1ZCUVdWb1FpeEZRVUZUTEdGQlFXTXNRMEZCUlhOQ0xFOUJRVThzU1VGRGRFUXNTVUZCU1hGR0xFVkJRVk1zUlVGQlVTeEhRVU5xUWtNc1JVRkJVeXhGUVVGUkxFZEJRMnBDVUN4RlFVRlRMRVZCUVZFc1IwRkRha0kzUkN4RlFVRmpMRVZCUVZFc1IwRkRkRUp4UlN4RlFVRnpRaXhYUVVOMFFpeFRRVUZUUVN4RlFVRkxia1VzUjBGRFZucERMRXRCUVV0NVF5eFBRVUZUTEVsQlFVbERMR0ZCUVdFc1VVRkRhRUpETEVsQlFWaEdMRWxCUTBGNlF5eExRVUZMTmtjc1MwRkJUM0JGTEVkQmIySndRaXhQUVdwaVFUTkNMRTlCUVU5RExHVkJRV1UyUml4RlFVRkxOVVVzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaVFpHTEVWQlFVczFSU3hWUVVGWExFbEJRVXNzUTBGRGRrTm1MRWxCUVVzc1YwRkRSQ3hQUVVGUGFrSXNTMEZCUzNsRExFOUJRVThzU1VGRmRrSkpMRWxCUVVzc1UwRkJWWGhDTEVkQlExaHlRaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxjRUlzUjBGRmNrSk1MRmxCUVZrc1JVRkRXamhDTEdOQlFXTXNTVUZGYkVKb1F5eFBRVUZQUXl4bFFVRmxOa1lzUlVGQlN6VkZMRlZCUVZjc1NVRkJTeXhEUVVOMlEyWXNTVUZCU3l4WFFVTkVMRTlCUVU5cVFpeExRVUZMZVVNc1QwRkJUeXhKUVVWMlFra3NTVUZCU3l4VFFVRlZlRUlzUjBGRFdISkNMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHdRaXhIUVVWeVFrd3NXVUZCV1N4RlFVTmFPRUlzWTBGQll5eEpRVVZzUW1oRExFOUJRVTlETEdWQlFXVTJSaXhGUVVGTE5VVXNWVUZCVnl4SlFVRkxMRU5CUTNaRFppeEpRVUZMTEZkQlEwUXNUMEZCVDJwQ0xFdEJRVXQ1UXl4UFFVRlBMRWxCUlhaQ1NTeEpRVUZMTEZOQlFWVjRRaXhIUVVOWWNrSXNTMEZCUzNsRExFOUJRVThzUjBGQlMzQkNMRWRCUlhKQ1RDeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpUWkdMRVZCUVVzMVJTeFZRVUZYTEV0QlFVMHNRMEZEZUVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1MwRkhjRUpKTEVsQlFVc3NVMEZCVlVvc1IwRkRXSHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1UyUml4RlFVRkxOVVVzVlVGQlZ5eE5RVUZQTEVOQlEzcERaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhMUVVkd1Fra3NTVUZCU3l4VFFVRlZTaXhIUVVOWWVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1UyUml4RlFVRkxOVVVzVlVGQlZ5eFBRVUZSTEVOQlF6RkRaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUzBGSGNFSkpMRWxCUVVzc1UwRkJWVW9zUjBGRFdIcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1IwRkRlRUo2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDT0VRc1JVRkJTelZGTEZWQlFWVmxMRWRCUVVzc1UwRkJWVU1zUjBGRE1VSXNUMEZCVDJoRUxFdEJRVXQ1UXl4UFFVRlBUeXhKUVVWMlFqUkVMRVZCUVVzMVJTeFZRVUZWYVVJc1RVRkJVU3hYUVVOdVFpeEpRVUZMTEVsQlFVazNReXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NSVUZCUjBFc1NVRkRia0pLTEV0QlFVdDVReXhQUVVGUGNrTXNSMEZCU3l4SFFVZDZRbmRITEVWQlFVczFSU3hWUVVGVmNVSXNTMEZCVHl4VFFVRlZReXhIUVVOMlFrRXNTVUZEUkVFc1JVRkJUeXhKUVVGSmMwUXNSMEZGWml4SlFVRkxMRWxCUVVsNFJ5eEZRVUZKTEVWQlFVZEJMRVZCUVVrc1JVRkJSMEVzU1VGRGJrSnJSQ3hGUVVGTFlpeFBRVUZQY2tNc1IwRkJTMG9zUzBGQlMzbERMRTlCUVU5eVF5eEhRVVZxUXl4UFFVRlBhMFFzUjBGRldITkVMRVZCUVVzMVJTeFZRVUZWT0VVc1MwRkJUeXhYUVVOc1FpeEpRVUZKTlVRc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlBjRUlzUzBGQlMyOUVMRTFCUVUwc1IwRkJUemRFTEVWQlFVbERMRVZCUVVrMFFpeEZRVUZKTTBJc1IwRkJTVEpDTEVWQlFVbEJMRVZCUVVrM1FpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hKUVVWNlJYZEVMRVZCUVVzMVJTeFZRVUZWWjBZc1RVRkJVU3hYUVVOdVFpeEpRVUZKT1VRc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlBjRUlzUzBGQlMyOUVMRTFCUVUwc1IwRkJUelZFTEVWQlFVbERMRVZCUVVreVFpeEZRVUZKTjBJc1IwRkJTVFpDTEVWQlFVbEJMRVZCUVVrM1FpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hKUVVWNlJYZEVMRVZCUVVzMVJTeFZRVUZWYVVZc1NVRkJUU3hYUVVOcVFpeFBRVUZQZEVRc1MwRkJTM1ZFTEV0QlFVc3NSMEZCVDJ4SUxFdEJRVXRyUkN4RlFVRkpiRVFzUzBGQlMyOUVMRVZCUVVsd1JDeExRVUZMSzBVc1JVRkJTUzlGTEV0QlFVdHRSQ3hMUVVVMVJIbEVMRVZCUVVzMVJTeFZRVUZWZDBJc1QwRkJVeXhUUVVGVlF5eEZRVUZSUXl4UlFVTndRaXhKUVVGa1FTeEpRVUYzUWtFc1JVRkJXVzVDTEVWQlFWbElMRk5CUTNCRUxFbEJRVXNzU1VGQlNXaERMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnVRaXhIUVVGSmRVUXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdDVReXhQUVVGUGNrTXNSMEZCUzNGRUxFVkJRVTlXTEVkQlFVY3pReXhKUVVGTmMwUXNSVUZETVVNc1QwRkJUeXhGUVVkbUxFOUJRVThzUjBGRldHdEVMRVZCUVVzMVJTeFZRVUZWYlVZc1dVRkJZeXhYUVV0NlFpeFBRVXBCYmtnc1MwRkJTMnRFTEVWQlFVa3NSVUZEVkd4RUxFdEJRVXR0UkN4RlFVRkpMRVZCUTFSdVJDeExRVUZMYjBRc1JVRkJTU3hGUVVOVWNFUXNTMEZCU3l0RkxFVkJRVWtzUlVGRFJpOUZMRTFCUlZnMFJ5eEZRVUZMTlVVc1ZVRkJWVzlHTEZkQlFXRXNWMEZEZUVJc1NVRkJTV3hGTEVWQlFVbHNSQ3hMUVVGTGEwUXNSVUZEVkVNc1JVRkJTVzVFTEV0QlFVdHRSQ3hGUVVOVVF5eEZRVUZKY0VRc1MwRkJTMjlFTEVWQlJXSXNUMEZFUVhCRUxFdEJRVXNyUlN4SFFVRk5jRUlzUzBGQlMwY3NTMEZCUzBnc1MwRkJTME1zU1VGQlNTeEZRVUZOVml4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEpRVU5xUkhCRUxFMUJSVmcwUnl4RlFVRkxOVVVzVlVGQlZYRkdMRkZCUVZVc1YwRkRja0lzU1VGQlNXaERMRVZCUVUxMVFpeEZRVUZMZGtJc1NVRkJTWEpHTEV0QlFVMUJMRTFCUTNwQ0xFbEJRVXR4Uml4RlFVVkVMRTlCUkVGeVJpeExRVUZMTmtjc1MwRkJUeXhEUVVGRExFVkJRVWNzUlVGQlJ5eEZRVUZITEVkQlEyWTNSeXhMUVVWWUxFbEJRVWx6U0N4RlFVRlRha01zUlVGQlRTeEZRVUZOUVN4RlFVRk5MRVZCU3k5Q0xFOUJTa0Z5Uml4TFFVRkxhMFFzU1VGQlRXOUZMRVZCUTFoMFNDeExRVUZMYlVRc1NVRkJUVzFGTEVWQlExaDBTQ3hMUVVGTGIwUXNTVUZCVFd0RkxFVkJRMWgwU0N4TFFVRkxLMFVzUjBGQlMzVkRMRVZCUTBoMFNDeE5RVVZZTkVjc1JVRkJTelZGTEZWQlFWVjFSaXhWUVVGWkxGZEJTWFpDTEU5QlNFRjJTQ3hMUVVGTGVVTXNUMEZCVHl4TFFVRlBMRVZCUTI1Q2VrTXNTMEZCUzNsRExFOUJRVThzUzBGQlR5eEZRVU51UW5wRExFdEJRVXQ1UXl4UFFVRlBMRXRCUVU4c1JVRkRXbnBETEUxQlJWZzBSeXhGUVVGTE5VVXNWVUZCVlRaQ0xFOUJRVk1zVjBGRGNFSXNTVUZCU1Znc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlBjRUlzUzBGQlMwY3NTMEZCUzFvc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSVUZCU1RKQ0xFVkJRVWxCTEVsQlJXcEVOa0lzUlVGQlN6VkZMRlZCUVZWeFF5eFZRVUZaTEZOQlFWVm1MRWRCUXpWQ1FTeEpRVU5FUVN4RlFVRlBkRVFzVFVGRldDeEpRVUZKYTBRc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEVkd4Q0xFVkJRVk5HTEV0QlFVdEhMRXRCUVV0YUxFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFVkJRVWxETEVWQlFVbEJMRVZCUVVreVFpeEZRVUZKUVN4SFFVTnVSQ3hQUVVGTGJFSXNSMEZQVEVFc1JVRkJVeXhGUVVGSlFTeEZRVU5pVUN4RlFVRkxTaXhGUVVGSlFTeEZRVUZKVnl4RlFVTmlVQ3hGUVVGTFNDeEZRVUZKUVN4RlFVRkpWU3hGUVVOaVVDeEZRVUZMUml4RlFVRkpRU3hGUVVGSlV5eEZRVU5pVUN4RlFVRkxlVUlzUlVGQlNVRXNSVUZCU1d4Q0xFVkJRMDVRTEVsQldFaEJMRVZCUVV0S0xFVkJRVWtzUlVGRFZFa3NSVUZCUzBnc1JVRkJTU3hGUVVOVVJ5eEZRVUZMUml4RlFVRkpMRVZCUTFSRkxFVkJRVXQ1UWl4RlFVRkpMRVZCUTBaNlFpeEpRVk5tYzBRc1JVRkJTelZGTEZWQlFWVm5ReXhKUVVGTkxGTkJRVlYzUkN4SFFVTXpRaXhKUVVGTExFbEJRVWx3U0N4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUlVGQlIwRXNTVUZEYmtKS0xFdEJRVXQ1UXl4UFFVRlBja01zU1VGQlRXOUlMRVZCUVUxNlJTeEhRVUZITTBNc1IwRkZMMElzVDBGQlQwb3NUVUZGV0RSSExFVkJRVXMxUlN4VlFVRlZhME1zVTBGQlZ5eFRRVUZWYzBRc1IwRkRhRU1zU1VGQlNVTXNSVUZCVFhwSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2FVWXNSVUZCVFRGSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2EwWXNSVUZCVFROSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2JVWXNSVUZCVFRWSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2IwWXNSVUZCVFV3c1JVRkJUWFJGTEVWQlExbzBSU3hGUVVGTlRpeEZRVUZOY2tVc1JVRkRXalJGTEVWQlFVMVFMRVZCUVUxd1JTeEZRVU5hTkVVc1JVRkJUVklzUlVGQlRYcERMRVZCUzJoQ0xFOUJTa0V2UlN4TFFVRkxhMFFzUlVGQlNYVkZMRVZCUVUxUExFVkJRVTFLTEVWQlFVMURMRVZCUVUxSUxFVkJRVTFMTEVWQlFVMUtMRVZCUVUxSExFVkJRMjVFT1Vnc1MwRkJTMjFFTEVWQlFVbDFSU3hGUVVGTlRTeEZRVUZOU2l4RlFVRk5SU3hGUVVGTlNDeEZRVUZOUlN4RlFVRk5TaXhGUVVGTlRTeEZRVU51UkM5SUxFdEJRVXR2UkN4RlFVRkpkVVVzUlVGQlRVc3NSVUZCVFVvc1JVRkJUVWNzUlVGQlRVNHNSVUZCVFVzc1JVRkJUVW9zUlVGQlRVY3NSVUZEYmtRM1NDeExRVUZMSzBVc1JVRkJTVFpETEVWQlFVMUpMRVZCUVUxUUxFVkJRVTFKTEVWQlFVMUlMRVZCUVUxSkxFVkJRVTFJTEVWQlFVMUpMRVZCUXpWREwwZ3NUVUZGV0RSSExFVkJRVXMxUlN4VlFVRlZkME1zWVVGQlpTeFRRVUZWWml4RlFVRlJTQ3hIUVVOMlEwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSk9FTXNSVUZCVDNoQ0xGTkJSWFJDTEVsQlFVa3hRaXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllReXhGUVVGSlN5eEZRVUZQVEN4RlFVTllOa1VzUlVGQlMycEpMRXRCUVV0clJDeEZRVU5XWjBZc1JVRkJTMnhKTEV0QlFVdHRSQ3hGUVVOV1owWXNSVUZCUzI1SkxFdEJRVXR2UkN4RlFVTldaMFlzUlVGQlMzQkpMRXRCUVVzclJTeEZRVU5XYzBRc1JVRkJTMFFzUlVGQlMyeEdMRVZCUVVsblJpeEZRVUZMT1VVc1JVRkJTU3RGTEVWQlFVdG9SaXhGUVVNMVFtMUdMRVZCUVV0R0xFVkJRVXRxUml4RlFVRkpaMFlzUlVGQlMycEdMRVZCUVVrclJTeEZRVUZMTjBVc1JVRkROVUp0Uml4RlFVRkxTQ3hGUVVGTGFFWXNSVUZCU1RaRkxFVkJRVXM1UlN4RlFVRkpLMFVzUlVGQlMyaEdMRVZCUXpWQ2MwWXNSMEZCVFZBc1JVRkJTeTlGTEVWQlFVbG5SaXhGUVVGTEwwVXNSVUZCU1dkR0xFVkJRVXN2UlN4RlFVbHFReXhQUVVoQlJTeEZRVUZMU2l4RlFVRkpiVVlzUlVGQlMwUXNSVUZCUzBrc1IwRkJUVkFzUlVGQlMwc3NSMEZCVFVnc1JVRkJTMGtzUjBGQlRVd3NSVUZETDBNMVJTeEZRVUZMU0N4RlFVRkpiVVlzUlVGQlMwWXNSVUZCUzBrc1IwRkJUVTRzUlVGQlMwc3NSMEZCVFU0c1JVRkJTMGtzUjBGQlRVWXNSVUZETDBNM1JTeEZRVUZMUml4RlFVRkpiVVlzUlVGQlMwZ3NSVUZCUzBrc1IwRkJUVXdzUlVGQlMwVXNSMEZCVFVnc1JVRkJTMGtzUjBGQlRVd3NSVUZEZUVNelJTeEhRVVZZYzBRc1JVRkJTelZGTEZWQlFWVjVSeXhQUVVGVExGTkJRVlZ1Uml4SFFVTjZRa0VzU1VGRFJFRXNSVUZCVHl4SlFVRkpiMFFzUlVGQlR6bENMRk5CUlhSQ0xFbEJRVWt4UWl4RlFVRkpiRVFzUzBGQlMydEVMRVZCUTFSRExFVkJRVWx1UkN4TFFVRkxiVVFzUlVGRFZFTXNSVUZCU1hCRUxFdEJRVXR2UkN4RlFVTlVNa0lzUlVGQlNTOUZMRXRCUVVzclJTeEZRVU5VUnl4RlFVRkxhRU1zUlVGQlNVRXNSVUZEVkdsRExFVkJRVXRvUXl4RlFVRkpRU3hGUVVOVWFVTXNSVUZCUzJoRExFVkJRVWxCTEVWQlExUnpSaXhGUVVGTGVFWXNSVUZCU1dkRExFVkJRMVJ2UWl4RlFVRkxjRVFzUlVGQlNXbERMRVZCUTFSM1JDeEZRVUZMZWtZc1JVRkJTV3RETEVWQlExUjNSQ3hGUVVGTGVrWXNSVUZCU1dkRExFVkJRMVF3UkN4RlFVRkxNVVlzUlVGQlNXbERMRVZCUTFRd1JDeEZRVUZMTVVZc1JVRkJTV2RETEVWQlExUXlSQ3hGUVVGTGFFVXNSVUZCU1Vjc1JVRkRWRGhFTEVWQlFVdHFSU3hGUVVGSlNTeEZRVU5VT0VRc1JVRkJTMnhGTEVWQlFVbExMRVZCV1dJc1QwRllRVGxDTEVWQlFVczBSaXhMUVVGTExFTkJRMDRzUjBGQlMwNHNSVUZCUzBVc1IwRkRWbmhETEVWQlFVc3lReXhGUVVOTVRpeEZRVUZMU3l4RlFVTk1NVU1zUlVGQlN6SkRMRVZCUTB3c1IwRkJTMUFzUlVGQlMwa3NSMEZEVmtRc1JVRkJTMFVzUlVGRFRFb3NSVUZCUzBzc1JVRkRURWdzUlVGQlMwVXNSVUZEVEN4SFFVRkxUQ3hGUVVGTFJTeExRVVZRZEVZc1IwRkZXSE5FTEVWQlFVczFSU3hWUVVGVmJVZ3NUMEZCVXl4VFFVRlZOMFlzUjBGRGVrSkJMRWxCUTBSQkxFVkJRVThzU1VGQlNYRkVMRVZCUVU4dlFpeFRRVVYwUWl4SlFVRkpNVUlzUlVGQlNXeEVMRXRCUVV0clJDeEZRVU5VUXl4RlFVRkpia1FzUzBGQlMyMUVMRVZCUTFSRExFVkJRVWx3UkN4TFFVRkxiMFFzUlVGRFZESkNMRVZCUVVrdlJTeExRVUZMSzBVc1JVRkRWRWNzUlVGQlMyaERMRVZCUVVsQkxFVkJRMVJwUXl4RlFVRkxhRU1zUlVGQlNVRXNSVUZEVkdsRExFVkJRVXRvUXl4RlFVRkpRU3hGUVVOVWMwWXNSVUZCUzNoR0xFVkJRVWxuUXl4RlFVTlViMElzUlVGQlMzQkVMRVZCUVVscFF5eEZRVU5VZDBRc1JVRkJTM3BHTEVWQlFVbHJReXhGUVVOVWQwUXNSVUZCUzNwR0xFVkJRVWxuUXl4RlFVTlVNRVFzUlVGQlN6RkdMRVZCUVVscFF5eEZRVU5VTUVRc1JVRkJTekZHTEVWQlFVbG5ReXhGUVVOVU1rUXNSVUZCUzJoRkxFVkJRVWxITEVWQlExUTRSQ3hGUVVGTGFrVXNSVUZCU1Vrc1JVRkRWRGhFTEVWQlFVdHNSU3hGUVVGSlN5eEZRVzFDWWl4UFFXeENRVGxDTEVWQlFVczBSaXhMUVVGTExFTkJRMDRzUjBGQlMwNHNSVUZCUzBVc1IwRkRWbmhETEVWQlFVc3lReXhGUVVOTVRpeEZRVUZMU3l4RlFVTk1MRVZCUTBFeFF5eEZRVUZMTWtNc1JVRkRUQ3hIUVVGTFVDeEZRVUZMU1N4SFFVTldSQ3hGUVVGTFJTeEZRVU5NTEVWQlEwRktMRVZCUVV0TExFVkJRMHhJTEVWQlFVdEZMRVZCUTB3c1IwRkJTMHdzUlVGQlMwVXNSMEZEVml4RlFVTkJMRVZCUTBFc1JVRkRRU3hGUVVOQkxFbEJSVWQwUml4SFFVVlljMFFzUlVGQlMzWkNMRWxCUVUwc1UwRkJWU3RFTEVWQlFVbERMRWRCUTNKQ0xFOUJRVTlFTEVWQlFVZHNSeXhGUVVGSmJVY3NSVUZCUjI1SExFVkJRVWxyUnl4RlFVRkhha2NzUlVGQlNXdEhMRVZCUVVkc1J5eEZRVUZKYVVjc1JVRkJSMmhITEVWQlFVbHBSeXhGUVVGSGFrY3NSVUZCU1dkSExFVkJRVWR5UlN4RlFVRkpjMFVzUlVGQlIzUkZMRWRCUlM5RU5rSXNSVUZCUzJwQ0xFbEJRVTBzVTBGQlZYbEVMRVZCUVVsRExFVkJRVWt2Uml4SFFWRjZRaXhQUVZCTFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVselJDeEhRVVZtZEVRc1JVRkJTMG9zUlVGQlNXdEhMRVZCUVVkc1J5eEZRVUZKYlVjc1JVRkJSMjVITEVWQlEyNUNTU3hGUVVGTFNDeEZRVUZKYVVjc1JVRkJSMnBITEVWQlFVbHJSeXhGUVVGSGJFY3NSVUZEYmtKSExFVkJRVXRHTEVWQlFVbG5SeXhGUVVGSGFFY3NSVUZCU1dsSExFVkJRVWRxUnl4RlFVTnVRa1VzUlVGQlMzbENMRVZCUVVseFJTeEZRVUZIY2tVc1JVRkJTWE5GTEVWQlFVZDBSU3hGUVVOYWVrSXNSMEZGV0hORUxFVkJRVXRtTEZGQlFWVXNVMEZCVlhWRUxFVkJRVWxETEVWQlFVa3ZSaXhIUVVONFFrRXNTVUZEUkVFc1JVRkJUeXhKUVVGSmMwUXNSMEZGWml4SlFVRkpZU3hGUVVGTk1rSXNSVUZCUjJ4SExFVkJRMVIzUlN4RlFVRk5NRUlzUlVGQlIycEhMRVZCUTFSM1JTeEZRVUZOZVVJc1JVRkJSMmhITEVWQlExUjNSU3hGUVVGTmQwSXNSVUZCUjNKRkxFVkJRMVE0UXl4RlFVRk5kMElzUlVGQlIyNUhMRVZCUTFRMFJTeEZRVUZOZFVJc1JVRkJSMnhITEVWQlExUTBSU3hGUVVGTmMwSXNSVUZCUjJwSExFVkJRMVEwUlN4RlFVRk5jVUlzUlVGQlIzUkZMRVZCUzJJc1QwRktRWHBDTEVWQlFVdEtMRVZCUVVsMVJTeEZRVUZOVHl4RlFVRk5TaXhGUVVGTlF5eEZRVUZOU0N4RlFVRk5TeXhGUVVGTlNpeEZRVUZOUnl4RlFVTnVSSGhGTEVWQlFVdElMRVZCUVVsMVJTeEZRVUZOVFN4RlFVRk5TaXhGUVVGTlJTeEZRVUZOU0N4RlFVRk5SU3hGUVVGTlNpeEZRVUZOVFN4RlFVTnVSSHBGTEVWQlFVdEdMRVZCUVVsMVJTeEZRVUZOU3l4RlFVRk5TaXhGUVVGTlJ5eEZRVUZOVGl4RlFVRk5TeXhGUVVGTlNpeEZRVUZOUnl4RlFVTnVSSFpGTEVWQlFVdDVRaXhGUVVGSk5rTXNSVUZCVFVrc1JVRkJUVkFzUlVGQlRVa3NSVUZCVFVnc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVrc1JVRkROVU42UlN4SFFVVlljMFFzUlVGQlN6VkNMRTFCUVZFc1UwRkJWVzlGTEVWQlFVbERMRVZCUVVrdlJpeEhRVU4wUWtFc1NVRkRSRUVzUlVGQlR5eEpRVUZKYzBRc1IwRkZaaXhKUVVGSllTeEZRVUZOTWtJc1JVRkJSMnhITEVWQlExUjNSU3hGUVVGTk1FSXNSVUZCUjJwSExFVkJRMVIzUlN4RlFVRk5lVUlzUlVGQlIyaEhMRVZCUTFSM1JTeEZRVUZOZDBJc1JVRkJSM0pGTEVWQlExUTRReXhGUVVGTmQwSXNSVUZCUjI1SExFVkJRMVEwUlN4RlFVRk5kVUlzUlVGQlIyeEhMRVZCUTFRMFJTeEZRVUZOYzBJc1JVRkJSMnBITEVWQlExUTBSU3hGUVVGTmNVSXNSVUZCUjNSRkxFVkJTMklzVDBGS1FYcENMRVZCUVV0S0xFVkJRVWt3UlN4RlFVRk5SeXhGUVVGTlNpeEZRVUZOU3l4RlFVRk5VQ3hGUVVGTlN5eEZRVUZOU2l4RlFVRk5SeXhGUVVOdVJIWkZMRVZCUVV0SUxFVkJRVWw1UlN4RlFVRk5TU3hGUVVGTlVDeEZRVUZOU1N4RlFVRk5TQ3hGUVVGTlNTeEZRVUZOU0N4RlFVRk5TU3hGUVVOdVJIcEZMRVZCUVV0R0xFVkJRVWwzUlN4RlFVRk5ReXhGUVVGTlNpeEZRVUZOVHl4RlFVRk5UaXhGUVVGTlN5eEZRVUZOU2l4RlFVRk5SeXhGUVVOdVJIaEZMRVZCUVV0NVFpeEZRVUZKTmtNc1JVRkJUVVVzUlVGQlRVb3NSVUZCVFUwc1JVRkJUVXdzUlVGQlRVVXNSVUZCVFVvc1JVRkJUVTBzUlVGRE5VTjZSU3hIUVVWWWMwUXNSVUZCU3pCRExGTkJRVmNzVTBGQlZVWXNSVUZCU1VNc1JVRkJTVE5FTEVWQlFVMXdReXhIUVVsd1F5eEhRVWhMUVN4SlFVTkVRU3hGUVVGUExFbEJRVWx6UkN4SFFVVlliRUlzUjBGQlVTeEZRVVZTTEU5QlJFRndReXhGUVVGTGRVUXNTMEZCVDNWRExFVkJRVWQyUXl4TFFVTlNka1FzUlVGRlRpeEhRVUZKYjBNc1IwRkJVU3hGUVVWaUxFOUJSRUZ3UXl4RlFVRkxkVVFzUzBGQlQzZERMRVZCUVVkNFF5eExRVU5TZGtRc1JVRkZXQ3hKUVUxSmFVY3NSVUZEUVVNc1JVRlFRVE5GTEVWQlFVMHJRaXhGUVVGTGRrSXNTVUZCU1N0RUxFVkJRVWxETEVkQlEyNUNTU3hGUVVGTlNpeEZRVUZIYUVjc1QwRlBZaXhIUVU1SmQwSXNSVUZCVFN4SlFVTk9ORVVzUlVGQlNYQkRMRlZCUTBwNFF5eEhRVUZQUVN4SFFVbFFRU3hGUVVGTkxFMUJRMDR3UlN4RlFVRkxMRVZCUVVrM1JDeEZRVU5VT0VRc1JVRkJTeXhGUVVGSk9VUXNUVUZGVWl4RFFVTkVMRWxCUVVsYUxFVkJRVTF1UWl4TFFVRkxSeXhMUVVGTExFVkJRVWxsTEVWQlFVMUJMRWRCUXpGQ05rVXNSVUZCVVM5R0xFdEJRVXR2UkN4TlFVRk5ha01zUlVGQlMwUXNSMEZEZUVJNFJTeEZRVUZoTEVWQlFVazNSU3hGUVVOeVFubEZMRVZCUVVzMVJpeExRVUZMYlVJc1MwRkJTeXhGUVVGSldTeEhRVUZSWjBVc1IwRkJVME1zUlVGRGNFTklMRVZCUVVzM1JpeExRVUZMYlVJc1MwRkJTeXhGUVVGSldTeEhRVUZSWjBVc1IwRkJVME1zUlVGTmVFTXNUMEZLUVhKSExFVkJRVXRLTEVWQlFVbHhSeXhGUVVGTFNDeEZRVUZIYkVjc1JVRkJTWE5ITEVWQlFVdERMRVZCUVVsMlJ5eEZRVU01UWtrc1JVRkJTMGdzUlVGQlNXOUhMRVZCUVV0SUxFVkJRVWRxUnl4RlFVRkpjVWNzUlVGQlMwTXNSVUZCU1hSSExFVkJRemxDUnl4RlFVRkxSaXhGUVVGSmJVY3NSVUZCUzBnc1JVRkJSMmhITEVWQlFVbHZSeXhGUVVGTFF5eEZRVUZKY2tjc1JVRkRPVUpGTEVWQlFVdDVRaXhGUVVGSmQwVXNSVUZCUzBnc1JVRkJSM0pGTEVWQlFVbDVSU3hGUVVGTFF5eEZRVUZKTVVVc1JVRkRka0o2UWl4SFFVVlljMFFzUlVGQlMyNUNMRWxCUVUwc1UwRkJWVEpFTEVWQlFVbERMRVZCUVVrelJDeEZRVUZOY0VNc1IwRkRNVUpCTEVsQlEwUkJMRVZCUVU4c1NVRkJTWE5FTEVkQlJXWXNTVUZCU1dkRUxFVkJRV1ZTTEVWQlFVZHNSeXhGUVVGSmJVY3NSVUZCUjI1SExFVkJRVWxyUnl4RlFVRkhha2NzUlVGQlNXdEhMRVZCUVVkc1J5eEZRVUZKYVVjc1JVRkJSMmhITEVWQlFVbHBSeXhGUVVGSGFrY3NSVUZCU1dkSExFVkJRVWR5UlN4RlFVRkpjMFVzUlVGQlIzUkZMRVZCUTNaRkxFZEJRVWx3UWl4TFFVRkxReXhKUVVGSlowY3NTVUZCYVVJc1JVRkZNVUlzVDBGRVFYUkhMRVZCUVV0MVJDeExRVUZQZFVNc1JVRkJSM1pETEV0QlExSjJSQ3hGUVVWWUxFbEJRVWwxUnl4RlFVRlpiRWNzUzBGQlMyMUhMRXRCUVV0R0xFZEJRM1JDUnl4RlFVRmxjRWNzUzBGQlMwY3NTMEZCU3l4RlFVRk5PRVlzUlVGQlpVRXNSMEZEYkVRc1IwRkJTV3BITEV0QlFVdERMRWxCUVVsdFJ5eEhRVUZuUWl4TFFVdDZRaXhQUVVwQmVrY3NSVUZCUzBvc1JVRkJWeXhIUVVGUWEwY3NSVUZCUjJ4SExFVkJRV2xDTEVkQlFWQnRSeXhGUVVGSGJrY3NSVUZEZWtKSkxFVkJRVXRJTEVWQlFWY3NSMEZCVUdsSExFVkJRVWRxUnl4RlFVRnBRaXhIUVVGUWEwY3NSVUZCUjJ4SExFVkJRM3BDUnl4RlFVRkxSaXhGUVVGWExFZEJRVkJuUnl4RlFVRkhhRWNzUlVGQmFVSXNSMEZCVUdsSExFVkJRVWRxUnl4RlFVTjZRa1VzUlVGQlMzbENMRVZCUVZjc1IwRkJVSEZGTEVWQlFVZHlSU3hGUVVGcFFpeEhRVUZRYzBVc1JVRkJSM1JGTEVWQlEyeENla0lzUlVGRldDeEpRVUZKTUVjc1JVRkJVM0pITEV0QlFVdHRRaXhMUVVGTExFVkJRVWxaTEVkQlFWRnRSU3hIUVVGaFJTeEZRVU0xUTBVc1JVRkJVM1JITEV0QlFVdHRRaXhKUVVGSldTeEZRVUZQYlVVc1IwRkJZVVVzUlVGTE1VTXNUMEZLUVhwSExFVkJRVXRLTEVWQlFVbHJSeXhGUVVGSGJFY3NSVUZCU1RoSExFVkJRVk5ZTEVWQlFVZHVSeXhGUVVGSkswY3NSVUZEYUVNelJ5eEZRVUZMU0N4RlFVRkphVWNzUlVGQlIycEhMRVZCUVVrMlJ5eEZRVUZUV0N4RlFVRkhiRWNzUlVGQlNUaEhMRVZCUTJoRE0wY3NSVUZCUzBZc1JVRkJTV2RITEVWQlFVZG9SeXhGUVVGSk5FY3NSVUZCVTFnc1JVRkJSMnBITEVWQlFVazJSeXhGUVVOb1F6TkhMRVZCUVV0NVFpeEZRVUZKY1VVc1JVRkJSM0pGTEVWQlFVbHBSaXhGUVVGVFdDeEZRVUZIZEVVc1JVRkJTV3RHTEVWQlEzcENNMGNzUjBGRldITkVMRVZCUVV0elJDeGpRVUZuUWl4VFFVRlZReXhGUVVGTlZDeEZRVUZQY0Vjc1IwRkRia05CTEVsQlEwUkJMRVZCUVU4c1NVRkJTWE5FTEVkQlJXWTRReXhIUVVGVExFZEJRMVFzU1VGQlNUVkZMRVZCUVUxdVFpeExRVUZMYlVJc1NVRkJTVFJGTEVkQlMyNUNMRTlCU2tGd1J5eEZRVUZMU2l4RlFVRkphVWdzUlVGQlMycElMRVZCUVVrMFFpeEZRVU5zUW5oQ0xFVkJRVXRJTEVWQlFVbG5TQ3hGUVVGTGFFZ3NSVUZCU1RKQ0xFVkJRMnhDZUVJc1JVRkJTMFlzUlVGQlNTdEhMRVZCUVVzdlJ5eEZRVUZKTUVJc1JVRkRiRUo0UWl4RlFVRkxlVUlzUlVGQlNYQkNMRXRCUVV0clFpeEpRVUZKTmtVc1IwRkRXSEJITEVkQlJWaHpSQ3hGUVVGTGQwUXNWVUZCVnl4SlFVRkplRVFzUjBGQlQwOHNZMEZEY0VKUUxFVkJlR0pqTEVkQk1HSjZRamRITEVWQlFWRTJSU3hSUVVGVlowTXNSeXcyUWtNdllteENPVVlzVDBGQlQwTXNaVUZCWldoQ0xFVkJRVk1zWVVGQll5eERRVUZGYzBJc1QwRkJUeXhKUVVOMFJDeEpRVUZKYzBZc1JVRkJVeXhGUVVGUkxFZEJRMnBDY2tVc1JVRkJVeXhGUVVGUkxFZEJRMnBDSzBnc1JVRkJVeXhGUVVGUkxFZEJRMnBDYWtVc1JVRkJVeXhGUVVGUkxFZEJRMnBDTjBRc1JVRkJZeXhGUVVGUkxFZEJRM1JDSzBnc1JVRkJjMElzVjBGRGRFSXNVMEZCVTBFc1JVRkJTemRJTEVkQlExWjZReXhMUVVGTGVVTXNUMEZCVXl4SlFVRkpReXhoUVVGaExGRkJRMmhDUXl4SlFVRllSaXhIUVVOQmVrTXNTMEZCUzJ0S0xFdEJRVXQ2Unl4SFFXMVpiRUlzVDBGb1dVRTJTQ3hGUVVGTGRFa3NWVUZCVldVc1IwRkJTeXhUUVVGVlF5eEhRVU14UWl4UFFVRlBhRVFzUzBGQlMzbERMRTlCUVU5UExFbEJSWFpDYzBnc1JVRkJTM1JKTEZWQlFWVnJTQ3hMUVVGUExGTkJRVlY2Unl4SFFVTTFRaXhKUVVGTExFbEJRVWx5UXl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUlVGQlIwRXNTVUZEYmtKS0xFdEJRVXQ1UXl4UFFVRlBja01zUjBGQlMzRkRMRVZCUVU5eVF5eEhRVVUxUWl4UFFVRlBTaXhOUVVWWWMwc3NSVUZCUzNSSkxGVkJRVlZwUWl4TlFVRlJMRmRCUTI1Q0xFbEJRVXNzU1VGQlNUZERMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnVRa29zUzBGQlMzbERMRTlCUVU5eVF5eEhRVUZMTEVkQlIzcENhMHNzUlVGQlMzUkpMRlZCUVZWeFFpeExRVUZQTEZOQlFWVkRMRWRCUTNaQ1FTeEpRVU5FUVN4RlFVRlBMRWxCUVVsblNDeEhRVVZtTEVsQlFVc3NTVUZCU1d4TExFVkJRVWtzUlVGQlIwRXNSVUZCU1N4RlFVRkhRU3hKUVVOdVFtdEVMRVZCUVV0aUxFOUJRVTl5UXl4SFFVRkxTaXhMUVVGTGVVTXNUMEZCVDNKRExFZEJSV3BETEU5QlFVOXJSQ3hIUVVWWVowZ3NSVUZCUzNSSkxGVkJRVlYxU1N4SlFVRk5MRmRCUldwQ0xFbEJSRUVzU1VGQlNVTXNSVUZCVHl4SFFVTkdjRXNzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRVZCUVVkQkxFbEJRMjVDYjBzc1JVRkJTM0JMTEVkQlFVdEtMRXRCUVV0NVF5eFBRVUZQY2tNc1IwRkZNVUlzVDBGQlQyOUxMRWRCUlZoR0xFVkJRVXQwU1N4VlFVRlZlVWtzU1VGQlRTeFRRVUZWZWtnc1IwRkRNMElzVFVGQlR5eERRVU5JYUVRc1MwRkJTM2xETEU5QlFXVXNSVUZCVWs4c1JVRkJXU3hIUVVONFFtaEVMRXRCUVV0NVF5eFBRVUZsTEVWQlFWSlBMRVZCUVZrc1IwRkRlRUpvUkN4TFFVRkxlVU1zVDBGQlpTeEZRVUZTVHl4RlFVRlpMRXRCUjJoRGMwZ3NSVUZCUzNSSkxGVkJRVlV3U1N4SlFVRk5MRk5CUVZVeFNDeEhRVU16UWl4TlFVRlBMRU5CUTBob1JDeExRVUZMZVVNc1QwRkJUMDhzUjBGRFdtaEVMRXRCUVV0NVF5eFBRVUZQVHl4RlFVRlJMRWRCUTNCQ2FFUXNTMEZCUzNsRExFOUJRVTlQTEVWQlFWRXNTMEZITlVKelNDeEZRVUZMZEVrc1ZVRkJWWGRDTEU5QlFWTXNVMEZCVldVc1JVRkJVV0lzVVVGRGNFSXNTVUZCWkVFc1NVRkJkMEpCTEVWQlFWbHVRaXhGUVVGWlNDeFRRVU53UkN4SlFVRkxMRWxCUVVsb1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVrc1JVRkJSMEVzU1VGRGJrSXNSMEZCU1hWRUxFdEJRVXRETEVsQlFVazFSQ3hMUVVGTGVVTXNUMEZCVDNKRExFZEJRVXR0UlN4RlFVRlBlRUlzUjBGQlJ6TkRMRWxCUVUxelJDeEZRVU14UXl4UFFVRlBMRVZCUjJZc1QwRkJUeXhIUVVWWU5FY3NSVUZCUzNSSkxGVkJRVlV5U1N4WlFVRmpMRmRCUTNwQ0xFbEJRVWxETEVWQlFVMDFTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlKTEVWQlFVMDNTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbkZKTEVWQlFVMDVTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbk5KTEVWQlFVMHZTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRblZKTEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmxKTEVWQlFVMXNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVbDBRaXhQUVVGUGJVa3NSMEZJUzFFc1JVRkJUVW9zUlVGQlRVTXNSVUZCVFVVc1IwRkhWRTRzU1VGR1VrOHNSVUZCVFV3c1JVRkJUVVVzUlVGQlRVTXNSMEZGU1Vvc1IwRkVka0pMTEVWQlFVMUtMRVZCUVUxRExFVkJRVTFGTEVsQlIyeERXaXhGUVVGTGRFa3NWVUZCVlcxR0xGbEJRV01zVjBGVmVrSXNUMEZVUVc1SUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVVzc1JVRkRha0o2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTeXhGUVVOcVFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVc3NSVUZEYWtKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTExFVkJRMnBDZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCU3l4RlFVTnFRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXNzUlVGRGFrSjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxMRVZCUTJwQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlN5eEZRVU5XZWtNc1RVRkZXSE5MTEVWQlFVdDBTU3hWUVVGVmNVb3NWVUZCV1N4WFFVTjJRaXhKUVVGSlF5eEZRVUZUZEV3c1MwRkJTM2xETEU5QlFVOHNSMEZEY2tJNFNTeEZRVUZUZGt3c1MwRkJTM2xETEU5QlFVOHNSMEZEY2tJclNTeEZRVUZUZUV3c1MwRkJTM2xETEU5QlFVOHNSMEZQZWtJc1QwRk9RWHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXQ2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVU0zUW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0NlF5eExRVUZMZVVNc1QwRkJUeXhIUVVNM1FucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVczJTU3hGUVVOcVFuUk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTTNRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXM0U1N4RlFVTnFRblpNTEV0QlFVdDVReXhQUVVGUExFZEJRVXNyU1N4RlFVTldlRXdzVFVGRldITkxMRVZCUVV0MFNTeFZRVUZWY1VZc1VVRkJWU3hYUVVOeVFpeEpRVUZKZFVRc1JVRkJUVFZMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYjBrc1JVRkJUVGRMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDY1Vrc1JVRkJUVGxMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYzBrc1JVRkJUUzlMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZFVrc1JVRkJUV2hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZDBrc1JVRkJUV3BNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZVVrc1JVRkJUV3hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTUVrc1JVRkJUVzVNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTWtrc1JVRkJUWEJNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDWjBvc1JVRkJVVXdzUlVGQlRVb3NSVUZCVFVNc1JVRkJUVVVzUlVGRE1VSlBMRWRCUVZOT0xFVkJRVTFNTEVWQlFVMUZMRVZCUVUxRExFVkJRek5DVXl4RlFVRlJVaXhGUVVGTlNpeEZRVUZOUXl4RlFVRk5SU3hGUVVNeFFsVXNSVUZCVFdoQ0xFVkJRVTFoTEVWQlFWRmFMRVZCUVUxaExFVkJRVkZhTEVWQlFVMWhMRVZCUXpWRExFOUJRVXRETEVkQlIweEJMRVZCUVUwc1JVRkJUVUVzUlVGRFdqVk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdG5TaXhGUVVGUlJ5eEZRVU42UWpWTUxFdEJRVXQ1UXl4UFFVRlBMRXRCUVU4eVNTeEZRVUZOVUN4RlFVRk5ReXhGUVVGTlN5eEhRVUZQVXl4RlFVTTFRelZNTEV0QlFVdDVReXhQUVVGUExFbEJRVTEzU1N4RlFVRk5TaXhGUVVGTlF5eEZRVUZOUlN4SFFVRlBXU3hGUVVNelF6Vk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHBTaXhGUVVGUlJTeEZRVU42UWpWTUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUweVNTeEZRVUZOVWl4RlFVRk5SU3hGUVVGTlNTeEhRVUZQVlN4RlFVTXpRelZNTEV0QlFVdDVReXhQUVVGUExFdEJRVTkzU1N4RlFVRk5UQ3hGUVVGTlJTeEZRVUZOUXl4SFFVRlBZU3hGUVVNMVF6Vk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHJTaXhGUVVGUlF5eEZRVU42UWpWTUxFdEJRVXQ1UXl4UFFVRlBMRXRCUVU4d1NTeEZRVUZOVUN4RlFVRk5ReXhGUVVGTlN5eEhRVUZQVlN4RlFVTTFRelZNTEV0QlFVdDVReXhQUVVGUExFbEJRVTExU1N4RlFVRk5TaXhGUVVGTlF5eEZRVUZOUlN4SFFVRlBZU3hGUVVOd1F6Vk1MRTFCV2trc1RVRmpabk5MTEVWQlFVdDBTU3hWUVVGVmEwTXNVMEZCVnl4VFFVRlZTeXhIUVVOb1F5eEpRVUZKY1Vjc1JVRkJUVFZMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYjBrc1JVRkJUVGRMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDY1Vrc1JVRkJUVGxMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYzBrc1JVRkJUUzlMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZFVrc1JVRkJUV2hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZDBrc1JVRkJUV3BNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZVVrc1JVRkJUV3hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTUVrc1JVRkJUVzVNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTWtrc1JVRkJUWEJNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYjBvc1JVRkJUWFJJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDSzBrc1JVRkJUWFpJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDWjBvc1JVRkJUWGhJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYVVvc1JVRkJUWHBJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYTBvc1JVRkJUVEZJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYlVvc1JVRkJUVE5JTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYjBvc1JVRkJUVFZJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDY1Vvc1JVRkJUVGRJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYzBvc1JVRkJUVGxJTEVWQlFVOTRRaXhIUVVGSExFZEJWWEJDTEU5QlZFRXZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxiMG9zUlVGQlRXcENMRVZCUVUxclFpeEZRVUZOWml4RlFVRk5aMElzUlVGQlRXSXNSVUZETDBOc1RDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGIwb3NSVUZCVFdoQ0xFVkJRVTFwUWl4RlFVRk5aQ3hGUVVGTlpTeEZRVUZOV2l4RlFVTXZRMjVNTEV0QlFVdDVReXhQUVVGUExFZEJRVXR2U2l4RlFVRk5aaXhGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZETDBOd1RDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGRVb3NSVUZCVFhCQ0xFVkJRVTF4UWl4RlFVRk5iRUlzUlVGQlRXMUNMRVZCUVUxb1FpeEZRVU12UTJ4TUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0MVNpeEZRVUZOYmtJc1JVRkJUVzlDTEVWQlFVMXFRaXhGUVVGTmEwSXNSVUZCVFdZc1JVRkRMME51VEN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMZFVvc1JVRkJUV3hDTEVWQlFVMXRRaXhGUVVGTmFFSXNSVUZCVFdsQ0xFVkJRVTFrTEVWQlF5OURjRXdzUzBGQlMzbERMRTlCUVU4c1IwRkJTekJLTEVWQlFVMTJRaXhGUVVGTmQwSXNSVUZCVFhKQ0xFVkJRVTF6UWl4RlFVRk5ia0lzUlVGREwwTnNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxNRW9zUlVGQlRYUkNMRVZCUVUxMVFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlFVMXNRaXhGUVVNdlEyNU1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVc3dTaXhGUVVGTmNrSXNSVUZCVFhOQ0xFVkJRVTF1UWl4RlFVRk5iMElzUlVGQlRXcENMRVZCUTNoRGNFd3NUVUZGV0hOTExFVkJRVXQwU1N4VlFVRlZkMFVzWVVGQlpTeFRRVUZWTDBNc1JVRkJVVFpKTEVkQlF6VkRMRWxCUVVsd1NpeEZRVUZKVHl4RlFVRlBVQ3hGUVVOWVF5eEZRVUZKVFN4RlFVRlBUaXhGUVVObUxFOUJRVWx0U2l4SFFVTkJRU3hGUVVGUGFFY3NSMEZCU3l4RFFVTlNjRVFzUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGVrTXNTMEZCUzNsRExFOUJRVThzUjBGRGRFUlRMRVZCUVVsc1JDeExRVUZMZVVNc1QwRkJUeXhIUVVGTFZTeEZRVUZKYmtRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNwRExFdEJRVXQ1UXl4UFFVRlBMRWxCUlc1RU5rb3NSMEZIUVN4SlFVRkpha01zUlVGQlQzcEdMRkZCUVZFc1EwRkRkRUl4UWl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTjBSRk1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGVrTXNTMEZCUzNsRExFOUJRVThzVFVGSmJFVTJTQ3hGUVVGTGRFa3NWVUZCVlhkRExHRkJRV1VzVTBGQlZXWXNSVUZCVVRaSkxFZEJRelZETEVsQlFVbHdTaXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllReXhGUVVGSlN5eEZRVUZQVEN4RlFVTm1MRTlCUVVsclNpeEhRVU5CUVN4RlFVRlBNVW9zU1VGQlRTeERRVU5VVFN4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUVVsd1JDeExRVUZMZVVNc1QwRkJUeXhIUVVNeFJGTXNSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VkxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVnl4RlFVRkpjRVFzUzBGQlMzbERMRTlCUVU4c1IwRkRNVVJUTEVWQlFVbHNSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxWU3hGUVVGSmJrUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxY3NSVUZCU1hCRUxFdEJRVXQ1UXl4UFFVRlBMRWxCUlhaRU5rb3NSMEZIUVN4SlFVRkpiRWNzUlVGQlQzaENMRkZCUVZFc1EwRkRkRUl4UWl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUVVsd1JDeExRVUZMZVVNc1QwRkJUeXhIUVVNeFJGTXNSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VkxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVnl4RlFVRkpjRVFzUzBGQlMzbERMRTlCUVU4c1IwRkRNVVJUTEVWQlFVbHNSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxWU3hGUVVGSmJrUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxY3NSVUZCU1hCRUxFdEJRVXQ1UXl4UFFVRlBMRTFCU1hSRk5rZ3NSVUZCUzNSSkxGVkJRVlZ0U0N4UFFVRlRMRk5CUVZWdFJDeEhRVU01UWl4UFFVRkpRU3hIUVVOQlFTeEZRVUZQY0VRc1MwRkJTeXhEUVVOU2JFb3NTMEZCUzNsRExFOUJRVThzUjBGRFducERMRXRCUVV0NVF5eFBRVUZQTEVkQlExcDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFMRVZCUTBGNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUjBGRFducERMRXRCUVV0NVF5eFBRVUZQTEVkQlExb3NSVUZEUVhwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUjBGRFdpeEZRVU5CTEVWQlEwRXNSVUZEUVN4RlFVTkJMRWxCUlVjMlNpeEhRVWRCTEVsQlFVa3pSaXhGUVVGUEwwSXNVVUZCVVN4RFFVTjBRalZGTEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVU5hZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZEV2l4RlFVTkJla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVU5hTEVWQlEwRjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMW9zUlVGRFFTeEZRVU5CTEVWQlEwRXNSVUZEUVN4TFFVbGFOa2dzUlVGQlMzUkpMRlZCUVZVeVF5eFBRVUZUTEZkQlEzQkNMRWxCUVVrMFNDeEZRVUZOZGswc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJclNpeEZRVUZOZUUwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKblN5eEZRVUZOZWswc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKcFN5eEZRVUZOTVUwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKclN5eEZRVUZOTTAwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdFN5eEZRVUZOTlUwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlN5eEZRVUZOTjAwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKeFN5eEZRVUZOT1Uwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKelN5eEZRVUZOTDAwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKMVN5eEZRVUZ4UWxRc1JVRkJUVWtzUlVGQlRVa3NSVUZEYWtORkxFVkJRWEZDVGl4RlFVRk5TaXhGUVVGTlVTeEZRVU5xUTBjc1JVRkJjVUpJTEVWQlFVMVNMRVZCUVUxSkxFVkJSV3BEVVN4RlFVRmxMRVZCUTJaRExFVkJSbkZDWWl4RlFVRk5TU3hGUVVGTlNTeEZRVWRxUTBNc1JVRkJjVUpKTEVsQlEzSkNRU3hGUVVFeVFrb3NSVUZETTBKSExFVkJRV1VzUjBGRlprWXNSVUZCY1VKSExFbEJRM0pDUVN4RlFVRXlRa2dzUlVGRE0wSkZMRVZCUVdVc1IwRkZaa1FzUlVGQmNVSkZMRWxCUTNKQ1FTeEZRVUV5UWtZc1JVRkRNMEpETEVWQlFXVXNSMEZGYmtJc1NVRkJTVVVzUlVGQmRVUXNSMEZCTVVNeFNpeExRVUZMUnl4TFFVRkxjMG9zUlVGQk1rSXNSMEZEYkVSRkxFVkJRVThzU1VGQlQwUXNSVUZEWkdZc1JVRkJVeXhKUVVGSmFFc3NSVUZCVDNORExGRkJRM2hDTEU5QlFWRjFTU3hIUVVOS0xFdEJRVXNzUlVGRFJHSXNSVUZCVDNaSUxFVkJRVWx6U1N4RlFVTllaaXhGUVVGUGNFb3NSMEZCU3pCS0xFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ2FFSXNSVUZCVDI1S0xFZEJRVXN3U2l4RlFVRk5TaXhIUVVGUFlTeEZRVU42UW1oQ0xFVkJRVTlzU2l4SFFVRkxiMG9zUlVGQlRVVXNSMEZCVDFrc1JVRkRla0lzVFVGRFNpeExRVUZMTEVWQlEwUm9RaXhGUVVGUGRrZ3NSMEZCU3paSUxFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ2FFSXNSVUZCVDNCS0xFVkJRVWx0U3l4RlFVTllaaXhGUVVGUGJrb3NSMEZCUzNGS0xFVkJRVTFGTEVkQlFVOVpMRVZCUTNwQ2FFSXNSVUZCVDJ4S0xFZEJRVXQ1U2l4RlFVRk5TaXhIUVVGUFlTeEZRVU42UWl4TlFVTktMRXRCUVVzc1JVRkRSR2hDTEVWQlFVOTJTQ3hIUVVGTE9FZ3NSVUZCVFVvc1IwRkJUMkVzUlVGRGVrSm9RaXhGUVVGUGNFb3NSMEZCUzNOS0xFVkJRVTFGTEVkQlFVOVpMRVZCUTNwQ2FFSXNSVUZCVDI1S0xFVkJRVWxyU3l4RlFVTllaaXhGUVVGUGJFb3NSMEZCUzNkS0xFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ0xFMUJRMG9zUzBGQlN5eEZRVU5FYUVJc1JVRkJUM1pJTEVkQlFVdDVTQ3hGUVVGTlJTeEhRVUZQV1N4RlFVTjZRbWhDTEVWQlFVOXdTaXhIUVVGTE1rb3NSVUZCVFVvc1IwRkJUMkVzUlVGRGVrSm9RaXhGUVVGUGJrb3NSMEZCUzNsS0xFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ2FFSXNSVUZCVDJ4S0xFVkJRVWxwU3l4RlFVZHVRaXhQUVVGUFppeEhRVVZZYUVNc1JVRkJTM1JKTEZWQlFWVjFUQ3hQUVVGVExGTkJRVlUzUkN4RlFVRlBVeXhIUVVOeVF5eEpRVUZKYWtnc1JVRkJTV2xJTEVWQlFVdHFTQ3hGUVVOVVF5eEZRVUZKWjBnc1JVRkJTMmhJTEVWQlExUkRMRVZCUVVrclJ5eEZRVUZMTDBjc1JVRkRWRk1zUlVGQlUwWXNTMEZCUzBjc1MwRkJTMW9zUlVGQlNVRXNSVUZCU1VNc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1IwRkRNME1zU1VGQlMxTXNSVUZEUkN4UFFVRlBMRXRCUlVrc1NVRkJXRUVzU1VGRlFWZ3NSMEZFUVZjc1JVRkJVeXhGUVVGSlFTeEZRVVZpVml4SFFVRkxWU3hGUVVOTVZDeEhRVUZMVXl4SFFVVlVMRWxCUVVreFFpeEZRVUZKZDBJc1MwRkJTMjFDTEVsQlFVazBSU3hIUVVOaWFrb3NSVUZCU1d0RUxFdEJRVXRyUWl4SlFVRkpOa1VzUjBGRFluQkpMRVZCUVVrc1JVRkJUV0lzUlVGRFZtMUxMRVZCUVUwMVN5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FtOUpMRVZCUVUwM1N5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuRkpMRVZCUVUwNVN5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuTkpMRVZCUVUwdlN5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuVkpMRVZCUVUxb1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuZEpMRVZCUVUxcVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FubEpMRVZCUVUxc1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqQkpMRVZCUVUxdVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqSkpMRVZCUVUxd1RDeExRVUZMZVVNc1QwRkJUeXhKUVVOc1FtOUtMRVZCUVUwelNTeEZRVUZKUVN4RlFVRkpOVUlzUlVGQlNXSXNSVUZEYkVKeFRDeEZRVUZOTTBrc1JVRkJTVVFzUlVGQlNUVkNMRVZCUVVrNFFpeEZRVUZKYWtJc1JVRkRkRUkwU2l4RlFVRk5NMGtzUlVGQlNVWXNSVUZCU1RWQ0xFVkJRVWsyUWl4RlFVRkphRUlzUlVGRGRFSTJTaXhGUVVGTk9Va3NSVUZCU1VNc1JVRkJTVGRDTEVWQlFVazRRaXhGUVVGSmFrSXNSVUZEZEVJNFNpeEZRVUZOT1Vrc1JVRkJTVUVzUlVGQlNUZENMRVZCUVVsaUxFVkJRMnhDZVV3c1JVRkJUVGxKTEVWQlFVbEVMRVZCUVVrM1FpeEZRVUZKTkVJc1JVRkJTV1lzUlVGRGRFSm5TeXhGUVVGTmFrb3NSVUZCU1VVc1JVRkJTVGxDTEVWQlFVazJRaXhGUVVGSmFFSXNSVUZEZEVKcFN5eEZRVUZOYWtvc1JVRkJTVU1zUlVGQlNUbENMRVZCUVVrMFFpeEZRVUZKWml4RlFVTjBRbXRMTEVWQlFVMXFTaXhGUVVGSlFTeEZRVUZKT1VJc1JVRkJTV0lzUlVGVmRFSXNUMEZVUVZRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzIxSkxFVkJRVTFwUWl4RlFVRk5aQ3hGUVVGTlpTeEZRVUZOV2l4RlFVRk5ZU3hGUVVNdlF5OU1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHZTU3hGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZCVFZrc1JVRkRMME12VEN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY1Vrc1JVRkJUV1VzUlVGQlRWb3NSVUZCVFdFc1JVRkJUVllzUlVGQlRWY3NSVUZETDBNdlRDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGJVa3NSVUZCVFc5Q0xFVkJRVTFxUWl4RlFVRk5hMElzUlVGQlRXWXNSVUZCVFdkQ0xFVkJReTlEYkUwc1MwRkJTM2xETEU5QlFVOHNSMEZCUzI5SkxFVkJRVTF0UWl4RlFVRk5hRUlzUlVGQlRXbENMRVZCUVUxa0xFVkJRVTFsTEVWQlF5OURiRTBzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0ZKTEVWQlFVMXJRaXhGUVVGTlppeEZRVUZOWjBJc1JVRkJUV0lzUlVGQlRXTXNSVUZETDBOc1RTeExRVUZMZVVNc1QwRkJUeXhIUVVGTGJVa3NSVUZCVFhWQ0xFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxdFFpeEZRVU12UTNKTkxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0dlNTeEZRVUZOYzBJc1JVRkJUVzVDTEVWQlFVMXZRaXhGUVVGTmFrSXNSVUZCVFd0Q0xFVkJReTlEY2swc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNGSkxFVkJRVTF4UWl4RlFVRk5iRUlzUlVGQlRXMUNMRVZCUVUxb1FpeEZRVUZOYVVJc1JVRkRlRU55VFN4TlFVVlljMHNzUlVGQlMzcEZMRkZCUVZVc1UwRkJWVEpJTEVWQlFVbERMRVZCUVVsdVFpeEhRVU0zUWl4SlFVRkpNVUlzUlVGQlRUUkRMRVZCUVVkNlN5eEhRVUZITEVkQlExbzRTQ3hGUVVGTk1rTXNSVUZCUjNwTExFZEJRVWNzUjBGRFdpdElMRVZCUVUwd1F5eEZRVUZIZWtzc1IwRkJSeXhIUVVOYVowa3NSVUZCVFhsRExFVkJRVWQ2U3l4SFFVRkhMRWRCUTFwcFNTeEZRVUZOZDBNc1JVRkJSM3BMTEVkQlFVY3NSMEZEV210SkxFVkJRVTExUXl4RlFVRkhla3NzUjBGQlJ5eEhRVU5hYlVrc1JVRkJUWE5ETEVWQlFVZDZTeXhIUVVGSExFZEJRMXB2U1N4RlFVRk5jVU1zUlVGQlIzcExMRWRCUVVjc1IwRkRXbkZKTEVWQlFVMXZReXhGUVVGSGVrc3NSMEZCUnl4SFFVTmFPRWtzUlVGQlRUUkNMRVZCUVVjeFN5eEhRVUZITEVkQlExb3JTU3hGUVVGTk1rSXNSVUZCUnpGTExFZEJRVWNzUjBGRFdtZEtMRVZCUVUwd1FpeEZRVUZITVVzc1IwRkJSeXhIUVVOYWFVb3NSVUZCVFhsQ0xFVkJRVWN4U3l4SFFVRkhMRWRCUTFwclNpeEZRVUZOZDBJc1JVRkJSekZMTEVkQlFVY3NSMEZEV20xS0xFVkJRVTExUWl4RlFVRkhNVXNzUjBGQlJ5eEhRVU5hYjBvc1JVRkJUWE5DTEVWQlFVY3hTeXhIUVVGSExFZEJRMXB4U2l4RlFVRk5jVUlzUlVGQlJ6RkxMRWRCUVVjc1IwRkRXbk5LTEVWQlFVMXZRaXhGUVVGSE1Vc3NSMEZCUnl4SFFVTm9RaXhQUVVGSmRVb3NSMEZEUVVFc1JVRkJUM0JFTEV0QlFVc3NRMEZEVWpKRExFVkJRVTFxUWl4RlFVRk5hMElzUlVGQlRXWXNSVUZCVFdkQ0xFVkJRVTFpTEVWQlF6bENWeXhGUVVGTmFFSXNSVUZCVFdsQ0xFVkJRVTFrTEVWQlFVMWxMRVZCUVUxYUxFVkJRemxDVlN4RlFVRk5aaXhGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZET1VKWkxFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxdFFpeEZRVUZOYUVJc1JVRkRPVUpqTEVWQlFVMXVRaXhGUVVGTmIwSXNSVUZCVFdwQ0xFVkJRVTFyUWl4RlFVRk5aaXhGUVVNNVFtRXNSVUZCVFd4Q0xFVkJRVTF0UWl4RlFVRk5hRUlzUlVGQlRXbENMRVZCUVUxa0xFVkJRemxDWlN4RlFVRk5ka0lzUlVGQlRYZENMRVZCUVUxeVFpeEZRVUZOYzBJc1JVRkJUVzVDTEVWQlF6bENhVUlzUlVGQlRYUkNMRVZCUVUxMVFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlFVMXNRaXhGUVVNNVFtZENMRVZCUVUxeVFpeEZRVUZOYzBJc1JVRkJUVzVDTEVWQlFVMXZRaXhGUVVGTmFrSXNTVUZGTTBKclFpeEhRVWRCTEVsQlFVbG9ReXhGUVVGTExFTkJRMXAxUWl4RlFVRk5ha0lzUlVGQlRXdENMRVZCUVUxbUxFVkJRVTFuUWl4RlFVRk5ZaXhGUVVNNVFsY3NSVUZCVFdoQ0xFVkJRVTFwUWl4RlFVRk5aQ3hGUVVGTlpTeEZRVUZOV2l4RlFVTTVRbFVzUlVGQlRXWXNSVUZCVFdkQ0xFVkJRVTFpTEVWQlFVMWpMRVZCUVUxWUxFVkJRemxDV1N4RlFVRk5jRUlzUlVGQlRYRkNMRVZCUVUxc1FpeEZRVUZOYlVJc1JVRkJUV2hDTEVWQlF6bENZeXhGUVVGTmJrSXNSVUZCVFc5Q0xFVkJRVTFxUWl4RlFVRk5hMElzUlVGQlRXWXNSVUZET1VKaExFVkJRVTFzUWl4RlFVRk5iVUlzUlVGQlRXaENMRVZCUVUxcFFpeEZRVUZOWkN4RlFVTTVRbVVzUlVGQlRYWkNMRVZCUVUxM1FpeEZRVUZOY2tJc1JVRkJUWE5DTEVWQlFVMXVRaXhGUVVNNVFtbENMRVZCUVUxMFFpeEZRVUZOZFVJc1JVRkJUWEJDTEVWQlFVMXhRaXhGUVVGTmJFSXNSVUZET1VKblFpeEZRVUZOY2tJc1JVRkJUWE5DTEVWQlFVMXVRaXhGUVVGTmIwSXNSVUZCVFdwQ0xFdEJTVEZEWkN4RlFVRkxSaXhWUVVGWExFbEJRVWxGTEVkQlFVOXVSQ3hqUVVOd1FtMUVMRVZCZGxsakxFZEJlVmw2UW5aTExFVkJRVkUyUlN4UlFVRlZNRVlzUnl3MlFrTXZXV3hDZUVvc1QwRkJUME1zWlVGQlpXaENMRVZCUVZNc1lVRkJZeXhEUVVGRmMwSXNUMEZCVHl4SlFVTjBSQ3hKUVVGSmNVWXNSVUZCVXl4RlFVRlJMRWRCUTJwQ1RpeEZRVUZUTEVWQlFWRXNSMEZEYWtKelNDeEZRVUZUTEVWQlFWRXNTVUZEYWtKdVRDeEZRVUZqTEVWQlFWRXNSMEZEZEVKdlRDeEZRVUZ6UWl4WFFVTjBRaXhUUVVGVFFTeEZRVUZMYkV3c1IwRkRWbnBETEV0QlFVdDVReXhQUVVGVExFbEJRVWxETEdGQlFXRXNVMEZEYUVKRExFbEJRVmhHTEVkQlEwRjZReXhMUVVGTGEwb3NTMEZCUzNwSExFZEJjV2hDYkVJc1QwRnNhRUpCYTB3c1JVRkJTek5NTEZWQlFWVmxMRWRCUVVzc1UwRkJWVU1zUjBGRE1VSXNUMEZCVDJoRUxFdEJRVXQ1UXl4UFFVRlBUeXhKUVVWMlFqSkxMRVZCUVVzelRDeFZRVUZWYTBnc1MwRkJUeXhUUVVGVmVrY3NSMEZETlVJc1NVRkJTeXhKUVVGSmNrTXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFZEJRVWxCTEVsQlEzQkNTaXhMUVVGTGVVTXNUMEZCVDNKRExFZEJRVXR4UXl4RlFVRlBja01zUjBGRk5VSXNUMEZCVDBvc1RVRkZXREpPTEVWQlFVc3pUQ3hWUVVGVmFVSXNUVUZCVVN4WFFVTnVRaXhKUVVGTExFbEJRVWszUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUjBGQlNVRXNTVUZEY0VKS0xFdEJRVXQ1UXl4UFFVRlBja01zUjBGQlN5eEhRVWQ2UW5WT0xFVkJRVXN6VEN4VlFVRlZjVUlzUzBGQlR5eFRRVUZWUXl4SFFVTjJRa0VzU1VGRFJFRXNSVUZCVHl4SlFVRkpjVXNzUjBGRlppeEpRVUZMTEVsQlFVbDJUaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NSMEZCU1VFc1NVRkRjRUpyUkN4RlFVRkxZaXhQUVVGUGNrTXNSMEZCUzBvc1MwRkJTM2xETEU5QlFVOXlReXhIUVVWcVF5eFBRVUZQYTBRc1IwRkZXSEZMTEVWQlFVc3pUQ3hWUVVGVmRVa3NTVUZCVFN4WFFVVnFRaXhKUVVSQkxFbEJRVWxETEVWQlFVOHNSMEZEUm5CTExFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SFFVRkpRU3hKUVVOd1FtOUxMRVZCUVV0d1N5eEhRVUZMU2l4TFFVRkxlVU1zVDBGQlQzSkRMRWRCUlRGQ0xFOUJRVTl2U3l4SFFVVlliVVFzUlVGQlN6Tk1MRlZCUVZWNVNTeEpRVUZOTEZOQlFWVjZTQ3hIUVVNelFpeE5RVUZQTEVOQlEwaG9SQ3hMUVVGTGVVTXNUMEZCWlN4RlFVRlNUeXhGUVVGWkxFZEJRM2hDYUVRc1MwRkJTM2xETEU5QlFXVXNSVUZCVWs4c1JVRkJXU3hIUVVONFFtaEVMRXRCUVV0NVF5eFBRVUZsTEVWQlFWSlBMRVZCUVZrc1IwRkRlRUpvUkN4TFFVRkxlVU1zVDBGQlpTeEZRVUZTVHl4RlFVRlpMRXRCUjJoRE1rc3NSVUZCU3pOTUxGVkJRVlV3U1N4SlFVRk5MRk5CUVZVeFNDeEhRVU16UWl4TlFVRlBMRU5CUTBob1JDeExRVUZMZVVNc1QwRkJUMDhzUjBGRFdtaEVMRXRCUVV0NVF5eFBRVUZQVHl4RlFVRlJMRWRCUTNCQ2FFUXNTMEZCUzNsRExFOUJRVTlQTEVWQlFWRXNSMEZEY0VKb1JDeExRVUZMZVVNc1QwRkJUMDhzUlVGQlVTeE5RVWMxUWpKTExFVkJRVXN6VEN4VlFVRlZkMElzVDBGQlV5eFRRVUZWWlN4RlFVRlJZaXhSUVVOd1FpeEpRVUZrUVN4SlFVRjNRa0VzUlVGQldXNUNMRVZCUVZsSUxGTkJRM0JFTEVsQlFVc3NTVUZCU1doRExFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SFFVRkpRU3hKUVVOd1FpeEhRVUZKZFVRc1MwRkJTME1zU1VGQlNUVkVMRXRCUVV0NVF5eFBRVUZQY2tNc1IwRkJTMjFGTEVWQlFVOTRRaXhIUVVGSE0wTXNTVUZCVFhORUxFVkJRekZETEU5QlFVOHNSVUZIWml4UFFVRlBMRWRCUlZocFN5eEZRVUZMTTB3c1ZVRkJWVEpKTEZsQlFXTXNWMEZEZWtJc1NVRkJTVU1zUlVGQlRUVkxMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENiMGtzUlVGQlRUZExMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENjVWtzUlVGQlRUbExMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENiVXdzUlVGQlRUVk9MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENjMGtzUlVGQlRTOUxMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENkVWtzUlVGQlRXaE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENkMGtzUlVGQlRXcE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENiMHdzUlVGQlRUZE9MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENlVWtzUlVGQlRXeE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNRWtzUlVGQlRXNU1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNa2tzUlVGQlRYQk1MRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENjVXdzUlVGQlRUbE9MRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENjMHdzUlVGQlRTOU9MRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENkVXdzUlVGQlRXaFBMRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENkMHdzUlVGQlRXcFBMRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENlVXdzUlVGQlRXeFBMRXRCUVV0NVF5eFBRVUZQTEVsQllYUkNMRTlCV2xsdFNTeEZRVUZOU1N4RlFVRk5TQ3hGUVVGTlJTeEpRVmRzUWtzc1JVRkJUVGhETEVWQlFVMUtMRVZCUVUxSExFbEJWbXhDY2tRc1JVRkJUVXNzUlVGQlRVZ3NSVUZCVFVNc1NVRlRiRUpKTEVWQlFVMHJReXhGUVVGTlNpeEZRVUZOUlN4SlFWSnNRbkJFTEVWQlFVMXBSQ3hGUVVGTlJDeEZRVUZOTjBNc1NVRlBiRUpKTEVWQlFVMDRReXhGUVVGTk4wTXNSVUZCVFRSRExFbEJUbXhDYmtRc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVVc1NVRkxiRUpGTEVWQlFVMW5SQ3hGUVVGTlNpeEZRVUZOUXl4SlFVcHNRbXhFTEVWQlFVMW5SQ3hGUVVGTlJDeEZRVUZOTlVNc1NVRkhiRUpGTEVWQlFVMHJReXhGUVVGTk4wTXNSVUZCVFRKRExFbEJSbXhDYWtRc1JVRkJUU3RETEVWQlFVMUVMRVZCUVUwelF5eEpRVU5zUWtNc1JVRkJUVGhETEVWQlFVMDNReXhGUVVGTk5FTXNTVUZSYkVOS0xFVkJRVXN6VEN4VlFVRlZiVVlzV1VGQll5eFhRV2xDZWtJc1QwRm9Ra0Z1U0N4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTeXhGUVVOcVFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVc3NSVUZEYWtKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTExFVkJRMnBDZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCU3l4RlFVTnFRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXNzUlVGRGFrSjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxMRVZCUTJwQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlN5eEZRVU5xUW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVVzc1JVRkRha0o2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1NVRkJUU3hGUVVOc1FucERMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMHNSVUZEYkVKNlF5eExRVUZMZVVNc1QwRkJUeXhKUVVGTkxFVkJRMnhDZWtNc1MwRkJTM2xETEU5QlFVOHNTVUZCVFN4RlFVTnNRbnBETEV0QlFVdDVReXhQUVVGUExFbEJRVTBzUlVGRGJFSjZReXhMUVVGTGVVTXNUMEZCVHl4SlFVRk5MRVZCUTFoNlF5eE5RVVZZTWs0c1JVRkJTek5NTEZWQlFWVnhTaXhWUVVGWkxGZEJRM1pDTEVsQlFVbERMRVZCUVZOMFRDeExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqaEpMRVZCUVZOMlRDeExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqQk1MRVZCUVZOdVR5eExRVUZMZVVNc1QwRkJUeXhIUVVOeVFpdEpMRVZCUVZONFRDeExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqSk1MRVZCUVZOd1R5eExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqUk1MRVZCUVZOeVR5eExRVUZMZVVNc1QwRkJUeXhKUVdGNlFpeFBRVnBCZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUXpkQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlF6ZENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTM3BETEV0QlFVdDVReXhQUVVGUExFbEJRemRDZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCU3paSkxFVkJRMnBDZEV3c1MwRkJTM2xETEU5QlFVOHNSMEZCUzNwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUXpkQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVsQlF6ZENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTemhKTEVWQlEycENka3dzUzBGQlMzbERMRTlCUVU4c1IwRkJTeXRKTEVWQlEycENlRXdzUzBGQlMzbERMRTlCUVU4c1NVRkJUWHBETEV0QlFVdDVReXhQUVVGUExFbEJRemxDZWtNc1MwRkJTM2xETEU5QlFVOHNTVUZCVFRCTUxFVkJRMnhDYms4c1MwRkJTM2xETEU5QlFVOHNTVUZCVFRKTUxFVkJRMnhDY0U4c1MwRkJTM2xETEU5QlFVOHNTVUZCVFRSTUxFVkJRMWh5VHl4TlFVVllNazRzUlVGQlN6Tk1MRlZCUVZWeFJpeFJRVUZWTEZkQlEzSkNMRWxCUVVsMVJDeEZRVUZOTlVzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlNTeEZRVUZOTjBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKeFNTeEZRVUZOT1Vzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdFRDeEZRVUZOTlU0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKelNTeEZRVUZOTDBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKMVNTeEZRVUZOYUV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKM1NTeEZRVUZOYWt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlRDeEZRVUZOTjA0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKNVNTeEZRVUZOYkV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJd1NTeEZRVUZOYmt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJeVNTeEZRVUZOY0V3c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKeFRDeEZRVUZOT1U0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKelRDeEZRVUZOTDA0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKMVRDeEZRVUZOYUU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKM1RDeEZRVUZOYWs4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKNVRDeEZRVUZOYkU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVJMlRDeEZRVUZSTVVRc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVVc1JVRkRNVUpWTEVWQlFWRmlMRVZCUVUxTExFVkJRVTFJTEVWQlFVMURMRVZCUXpGQ2QwUXNSVUZCVVRORUxFVkJRVTFwUkN4RlFVRk5SQ3hGUVVGTk4wTXNSVUZETVVKNVJDeEZRVUZSTTBRc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVVc1JVRkRNVUo1UkN4RlFVRlJOVVFzUlVGQlRXZEVMRVZCUVUxRUxFVkJRVTAxUXl4RlFVTXhRakJFTEVWQlFWRTFSQ3hGUVVGTkswTXNSVUZCVFVRc1JVRkJUVE5ETEVWQlF6RkNNRVFzUlVGQlVYcEVMRVZCUVUwNFF5eEZRVUZOTjBNc1JVRkJUVFJETEVWQlF6RkNZU3hGUVVGUk1VUXNSVUZCVFN0RExFVkJRVTAzUXl4RlFVRk5Na01zUlVGRE1VSmpMRVZCUVZFelJDeEZRVUZOWjBRc1JVRkJUVW9zUlVGQlRVTXNSVUZETVVKbExFVkJRVkV6UkN4RlFVRk5PRU1zUlVGQlRUZERMRVZCUVUwMFF5eEZRVU14UW1Vc1JVRkJVVFZFTEVWQlFVMHJReXhGUVVGTlNpeEZRVUZOUlN4RlFVTXhRblJETEVWQlFWRk9MRVZCUVUwNFF5eEZRVUZOU2l4RlFVRk5SeXhGUVVNeFFuSkRMRVZCUVU4d1F5eEZRVUZSTlVNc1JVRkJVVVFzUlVGQlVYTkVMRVZCUVZGU0xFVkJRVkZQTEVWQlFWRk9MRVZCUVZGTExFVkJRVkZLTEVWQlFWRkhMRVZCUVZGR0xFVkJRVkZETEVWQlEyNUhMRTlCUVVzdlF5eEhRVWRNUVN4RlFVRk5MRVZCUVUxQkxFVkJRMW8xVEN4TFFVRkxlVU1zVDBGQlR5eEpRVUZOZFVrc1JVRkJUVlVzUlVGQlVWUXNSVUZCVFRoRUxFVkJRVkZzUWl4RlFVRk5hVUlzUjBGQlUyeEVMRVZCUXpkRU5Vd3NTMEZCUzNsRExFOUJRVThzUzBGQlQyOUpMRVZCUVUxaExFVkJRVkZhTEVWQlFVMXBSU3hGUVVGUmJrSXNSVUZCVFd0Q0xFZEJRVk5zUkN4RlFVTTVSRFZNTEV0QlFVdDVReXhQUVVGUExFbEJRVTExVEN4RlFVRk5WU3hGUVVGUlZDeEZRVUZOVVN4RlFVRlJVQ3hGUVVGTlRTeEhRVUZUTlVNc1JVRkROMFExVEN4TFFVRkxlVU1zVDBGQlR5eExRVUZQTUVrc1JVRkJUWFZFTEVWQlFWRjBSQ3hGUVVGTmNVUXNSVUZCVVZnc1JVRkJUVlVzUjBGQlV6VkRMRVZCUXpsRU5Vd3NTMEZCUzNsRExFOUJRVThzUzBGQlQzTkpMRVZCUVUxWExFVkJRVkZVTEVWQlFVMDBSQ3hGUVVGUmFFSXNSVUZCVFdVc1IwRkJVMmhFTEVWQlF6bEVOVXdzUzBGQlMzbERMRTlCUVU4c1NVRkJUVzFKTEVWQlFVMWpMRVZCUVZGYUxFVkJRVTByUkN4RlFVRlJha0lzUlVGQlRXZENMRWRCUVZOb1JDeEZRVU0zUkRWTUxFdEJRVXQ1UXl4UFFVRlBMRXRCUVU5elRDeEZRVUZOVnl4RlFVRlJWQ3hGUVVGTlRTeEZRVUZSVEN4RlFVRk5la01zUjBGQlUwY3NSVUZET1VRMVRDeExRVUZMZVVNc1QwRkJUeXhKUVVGTmVVa3NSVUZCVFhkRUxFVkJRVkYwUkN4RlFVRk5iVVFzUlVGQlVWUXNSVUZCVFhKRExFZEJRVk5ITEVWQlF6ZEVOVXdzUzBGQlMzbERMRTlCUVU4c1NVRkJUWE5KTEVWQlFVMW5SU3hGUVVGUkwwUXNSVUZCVFRaRUxFVkJRVkZvUWl4RlFVRk5ZeXhIUVVGVEwwTXNSVUZETjBRMVRDeExRVUZMZVVNc1QwRkJUeXhMUVVGUGJVa3NSVUZCVFcxRkxFVkJRVkZzUlN4RlFVRk5aMFVzUlVGQlVXcENMRVZCUVUxbExFZEJRVk12UXl4RlFVTTVSRFZNTEV0QlFVdDVReXhQUVVGUExFdEJRVTl6VEN4RlFVRk5WU3hGUVVGUlZDeEZRVUZOVHl4RlFVRlJUQ3hGUVVGTlNTeEhRVUZUTVVNc1JVRkRPVVExVEN4TFFVRkxlVU1zVDBGQlR5eE5RVUZSZVVrc1JVRkJUWFZFTEVWQlFWRjBSQ3hGUVVGTmIwUXNSVUZCVVZRc1JVRkJUVkVzUjBGQlV6RkRMRVZCUXk5RU5Vd3NTMEZCUzNsRExFOUJRVThzVFVGQlVYTkpMRVZCUVUwclJDeEZRVUZST1VRc1JVRkJUVFJFTEVWQlFWRXpSQ3hGUVVGTk1FUXNSMEZCVXk5RExFVkJReTlFTlV3c1MwRkJTM2xETEU5QlFVOHNTMEZCVDIxSkxFVkJRVTFyUlN4RlFVRlJha1VzUlVGQlRTdEVMRVZCUVZFNVJDeEZRVUZOTmtRc1IwRkJVeTlETEVWQlF6bEVOVXdzUzBGQlMzbERMRTlCUVU4c1RVRkJVWE5NTEVWQlFVMVRMRVZCUVZGU0xFVkJRVTEyUXl4RlFVRlJkME1zUlVGQlRVc3NSMEZCVXpGRExFVkJReTlFTlV3c1MwRkJTM2xETEU5QlFVOHNTMEZCVDNsSkxFVkJRVTF6UkN4RlFVRlJja1FzUlVGQlRVMHNSVUZCVVV3c1JVRkJUV3RFTEVkQlFWTXhReXhGUVVOMlJEVk1MRTFCYmtKSkxFMUJjVUptTWs0c1JVRkJTek5NTEZWQlFWVnJReXhUUVVGWExGTkJRVlZMTEVkQlEyaERMRWxCUVVseFJ5eEZRVUZOTlVzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlNTeEZRVUZOTjBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKeFNTeEZRVUZOT1Vzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdFRDeEZRVUZOTlU0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKelNTeEZRVUZOTDBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKMVNTeEZRVUZOYUV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKM1NTeEZRVUZOYWt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlRDeEZRVUZOTjA0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKNVNTeEZRVUZOYkV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJd1NTeEZRVUZOYmt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJeVNTeEZRVUZOY0V3c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKeFRDeEZRVUZOT1U0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKelRDeEZRVUZOTDA0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKMVRDeEZRVUZOYUU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKM1RDeEZRVUZOYWs4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKNVRDeEZRVUZOYkU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKMVRTeEZRVUZMZWtzc1JVRkJUM2hDTEVkQlFVY3NSMEZEWm10TkxFVkJRVXN4U3l4RlFVRlBlRUlzUjBGQlJ5eEhRVU5tYlUwc1JVRkJTek5MTEVWQlFVOTRRaXhIUVVGSExFZEJRMlp2VFN4RlFVRkxOVXNzUlVGQlQzaENMRWRCUVVjc1IwRTJRbTVDTEU5Qk5VSkJMME1zUzBGQlMzbERMRTlCUVU4c1IwRkJTM1ZOTEVWQlFVdHdSU3hGUVVGTmNVVXNSVUZCUzJ4RkxFVkJRVTF0UlN4RlFVRkxhRVVzUlVGQlRXbEZMRVZCUVV0d1FpeEZRVU4yUkM5T0xFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0MVRTeEZRVUZMYmtVc1JVRkJUVzlGTEVWQlFVdHFSU3hGUVVGTmEwVXNSVUZCU3k5RUxFVkJRVTFuUlN4RlFVRkxia0lzUlVGRGRrUm9UeXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxkVTBzUlVGQlMyeEZMRVZCUVUxdFJTeEZRVUZMYUVVc1JVRkJUV2xGTEVWQlFVczVSQ3hGUVVGTkswUXNSVUZCUzJ4Q0xFVkJRM1pFYWs4c1MwRkJTM2xETEU5QlFVOHNSMEZCUzNWTkxFVkJRVXR3UWl4RlFVRk5jVUlzUlVGQlMzQkNMRVZCUVUxeFFpeEZRVUZMY0VJc1JVRkJUWEZDTEVWQlFVdHFRaXhGUVVOMlJHTXNSVUZCUzNwTExFVkJRVTk0UWl4SFFVRkhMRWRCUTJaclRTeEZRVUZMTVVzc1JVRkJUM2hDTEVkQlFVY3NSMEZEWm0xTkxFVkJRVXN6U3l4RlFVRlBlRUlzUjBGQlJ5eEhRVU5tYjAwc1JVRkJTelZMTEVWQlFVOTRRaXhIUVVGSExFZEJRMll2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMZFUwc1JVRkJTM0JGTEVWQlFVMXhSU3hGUVVGTGJFVXNSVUZCVFcxRkxFVkJRVXRvUlN4RlFVRk5hVVVzUlVGQlMzQkNMRVZCUTNaRUwwNHNTMEZCUzNsRExFOUJRVThzUjBGQlMzVk5MRVZCUVV0dVJTeEZRVUZOYjBVc1JVRkJTMnBGTEVWQlFVMXJSU3hGUVVGTEwwUXNSVUZCVFdkRkxFVkJRVXR1UWl4RlFVTjJSR2hQTEV0QlFVdDVReXhQUVVGUExFZEJRVXQxVFN4RlFVRkxiRVVzUlVGQlRXMUZMRVZCUVV0b1JTeEZRVUZOYVVVc1JVRkJTemxFTEVWQlFVMHJSQ3hGUVVGTGJFSXNSVUZEZGtScVR5eExRVUZMZVVNc1QwRkJUeXhIUVVGTGRVMHNSVUZCUzNCQ0xFVkJRVTF4UWl4RlFVRkxjRUlzUlVGQlRYRkNMRVZCUVV0d1FpeEZRVUZOY1VJc1JVRkJTMnBDTEVWQlEzWkVZeXhGUVVGTGVrc3NSVUZCVDNoQ0xFZEJRVWNzUjBGRFptdE5MRVZCUVVzeFN5eEZRVUZQZUVJc1IwRkJSeXhIUVVObWJVMHNSVUZCU3pOTExFVkJRVTk0UWl4SFFVRkhMRWxCUTJadlRTeEZRVUZMTlVzc1JVRkJUM2hDTEVkQlFVY3NTVUZEWmk5RExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0MVRTeEZRVUZMY0VVc1JVRkJUWEZGTEVWQlFVdHNSU3hGUVVGTmJVVXNSVUZCUzJoRkxFVkJRVTFwUlN4RlFVRkxjRUlzUlVGRGRrUXZUaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxkVTBzUlVGQlMyNUZMRVZCUVUxdlJTeEZRVUZMYWtVc1JVRkJUV3RGTEVWQlFVc3ZSQ3hGUVVGTlowVXNSVUZCUzI1Q0xFVkJRM1pFYUU4c1MwRkJTM2xETEU5QlFVOHNTVUZCVFhWTkxFVkJRVXRzUlN4RlFVRk5iVVVzUlVGQlMyaEZMRVZCUVUxcFJTeEZRVUZMT1VRc1JVRkJUU3RFTEVWQlFVdHNRaXhGUVVONFJHcFBMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMTFUU3hGUVVGTGNFSXNSVUZCVFhGQ0xFVkJRVXR3UWl4RlFVRk5jVUlzUlVGQlMzQkNMRVZCUVUxeFFpeEZRVUZMYWtJc1JVRkRlRVJqTEVWQlFVdDZTeXhGUVVGUGVFSXNSMEZCUnl4SlFVTm1hMDBzUlVGQlN6RkxMRVZCUVU5NFFpeEhRVUZITEVsQlEyWnRUU3hGUVVGTE0wc3NSVUZCVDNoQ0xFZEJRVWNzU1VGRFptOU5MRVZCUVVzMVN5eEZRVUZQZUVJc1IwRkJSeXhKUVVObUwwTXNTMEZCUzNsRExFOUJRVThzU1VGQlRYVk5MRVZCUVV0d1JTeEZRVUZOY1VVc1JVRkJTMnhGTEVWQlFVMXRSU3hGUVVGTGFFVXNSVUZCVFdsRkxFVkJRVXR3UWl4RlFVTjRSQzlPTEV0QlFVdDVReXhQUVVGUExFbEJRVTExVFN4RlFVRkxia1VzUlVGQlRXOUZMRVZCUVV0cVJTeEZRVUZOYTBVc1JVRkJTeTlFTEVWQlFVMW5SU3hGUVVGTGJrSXNSVUZEZUVSb1R5eExRVUZMZVVNc1QwRkJUeXhKUVVGTmRVMHNSVUZCUzJ4RkxFVkJRVTF0UlN4RlFVRkxhRVVzUlVGQlRXbEZMRVZCUVVzNVJDeEZRVUZOSzBRc1JVRkJTMnhDTEVWQlEzaEVhazhzUzBGQlMzbERMRTlCUVU4c1NVRkJUWFZOTEVWQlFVdHdRaXhGUVVGTmNVSXNSVUZCUzNCQ0xFVkJRVTF4UWl4RlFVRkxjRUlzUlVGQlRYRkNMRVZCUVV0cVFpeEZRVU5xUkd4UExFMUJSVmd5VGl4RlFVRkxNMHdzVlVGQlZYZERMR0ZCUVdVc1UwRkJWV1lzUjBGRGNFTXNTVUZCU1ZBc1JVRkJTVThzUlVGQlQxQXNSVUZEV0VNc1JVRkJTVTBzUlVGQlQwNHNSVUZEV0VNc1JVRkJTVXNzUlVGQlQwd3NSVUZEWml4UFFVRlBMRWxCUVVsblJDeEZRVUZQZUVJc1VVRkJVU3hEUVVOMFFqVkZMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFRMRVZCUVVsc1JDeExRVUZMZVVNc1QwRkJUeXhIUVVGTFZTeEZRVUZKYmtRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzFjc1JVRkJTWEJFTEV0QlFVdDVReXhQUVVGUExFbEJRek5GZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzFNc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxWeXhGUVVGSmNFUXNTMEZCUzNsRExFOUJRVThzU1VGRE0wVjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxVeXhGUVVGSmJFUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxVXNSVUZCU1c1RUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxWExFVkJRVWx3UkN4TFFVRkxlVU1zVDBGQlR5eFBRVWR3Um10TUxFVkJRVXN6VEN4VlFVRlZiMDRzWVVGQlpTeFRRVUZWTTB3c1JVRkJVVWdzUjBGRGRrTkJMRWxCUTBSQkxFVkJRVThzU1VGQlNXOUxMRVZCUVU4NVNTeFRRVVYwUWl4SlFVRkpNVUlzUlVGQlNVOHNSVUZCVDFBc1JVRkRXRU1zUlVGQlNVMHNSVUZCVDA0c1JVRkRXRU1zUlVGQlNVc3NSVUZCVDB3c1JVRkRXREpDTEVWQlFVbDBRaXhGUVVGUGMwSXNSVUZMWml4UFFVcEJla0lzUlVGQlMwb3NSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VExFVkJRVWxzUkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVlN4RlFVRkpia1FzUzBGQlMzbERMRTlCUVU4c1IwRkJTMWNzUlVGQlNYQkVMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMXpReXhGUVVNeFJucENMRVZCUVV0SUxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVXl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUVVsd1JDeExRVUZMZVVNc1QwRkJUeXhKUVVGTmMwTXNSVUZETVVaNlFpeEZRVUZMUml4RlFVRkpjRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMU1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhKUVVGTlZ5eEZRVUZKY0VRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFhORExFVkJRek5HZWtJc1JVRkJTM2xDTEVWQlFVa3ZSU3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxVeXhGUVVGSmJFUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxVXNSVUZCU1c1RUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxWExFVkJRVWx3UkN4TFFVRkxlVU1zVDBGQlR5eEpRVUZOYzBNc1JVRkRjRVo2UWl4SFFVVlljVXNzUlVGQlN6Tk1MRlZCUVZWNVJ5eFBRVUZUTEZkQlEzQkNMRTlCUVU4c1NVRkJTUzlDTEVWQlFVODVRaXhSUVVGUkxFTkJRM1JDTlVVc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUjBGRFducERMRXRCUVV0NVF5eFBRVUZQTEVkQlExcDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eFBRVWR3UW10TUxFVkJRVXN6VEN4VlFVRlZjVTRzWTBGQlowSXNWMEZETTBJc1NVRkJTWHBGTEVWQlFVMDFTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlKTEVWQlFVMDNTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbkZKTEVWQlFVMDVTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbk5KTEVWQlFVMHZTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRblZKTEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmxKTEVWQlFVMXNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SlFVTnNRbWRLTEVWQlFWRk1MRVZCUVUxS0xFVkJRVTFETEVWQlFVMUZMRVZCUXpGQ1R5eEhRVUZUVGl4RlFVRk5UQ3hGUVVGTlJTeEZRVUZOUXl4RlFVTXpRbE1zUlVGQlVWSXNSVUZCVFVvc1JVRkJUVU1zUlVGQlRVVXNSVUZETVVKVkxFVkJRVTFvUWl4RlFVRk5ZU3hGUVVGUldpeEZRVUZOWVN4RlFVRlJXaXhGUVVGTllTeEZRVU0xUXl4UFFVRkxReXhIUVVkTVFTeEZRVUZOTEVWQlFVMUJMRVZCUTB3c1NVRkJTV3hHTEVWQlFVODVRaXhSUVVGUkxFTkJRM1JDTmtjc1JVRkJVVWNzU1VGRFRsSXNSVUZCVFZBc1JVRkJUVU1zUlVGQlRVc3NSMEZCVDFNc1IwRkRNVUpZTEVWQlFVMUtMRVZCUVUxRExFVkJRVTFGTEVkQlFVOVpMRVZCUXpGQ1JpeEZRVUZSUlN4SFFVTlFVaXhGUVVGTlVpeEZRVUZOUlN4RlFVRk5TU3hIUVVGUFZTeEpRVU40UWxnc1JVRkJUVXdzUlVGQlRVVXNSVUZCVFVNc1IwRkJUMkVzUlVGRE0wSkVMRVZCUVZGRExFbEJRMDVVTEVWQlFVMVFMRVZCUVUxRExFVkJRVTFMTEVkQlFVOVZMRWRCUXpGQ1dpeEZRVUZOU2l4RlFVRk5ReXhGUVVGTlJTeEhRVUZQWVN4TFFWcHVRaXhOUVdWbUswSXNSVUZCU3pOTUxGVkJRVlZ6VGl4VlFVRlpMRk5CUVZVM1RDeEhRVU5xUXl4SlFVRkpVQ3hGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllReXhGUVVGSlN5eEZRVUZQVEN4RlFVdG1MRTlCU2tGd1JDeExRVUZMZVVNc1QwRkJUeXhMUVVGUGVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMxTXNSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VkxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVnl4RlFVTTVSWEJFTEV0QlFVdDVReXhQUVVGUExFdEJRVTk2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVXl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUXpsRmNFUXNTMEZCUzNsRExFOUJRVThzUzBGQlQzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFRMRVZCUVVsc1JDeExRVUZMZVVNc1QwRkJUeXhIUVVGTFZTeEZRVUZKYmtRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFZjc1JVRkRMMFZ3UkN4TFFVRkxlVU1zVDBGQlR5eExRVUZQZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzFNc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SlFVRk5WeXhGUVVONFJYQkVMRTFCUlZneVRpeEZRVUZMTTB3c1ZVRkJWVzlETEUxQlFWRXNVMEZCVlZnc1IwRkROMElzU1VGQlNWQXNSVUZCU1U4c1JVRkJUMUFzUlVGRFdFTXNSVUZCU1Uwc1JVRkJUMDRzUlVGRFdFTXNSVUZCU1Vzc1JVRkJUMHdzUlVGaFppeFBRVnBCY0VRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFZNc1JVRkRiRUpzUkN4TFFVRkxlVU1zVDBGQlR5eEpRVUZOVXl4RlFVTnNRbXhFTEV0QlFVdDVReXhQUVVGUExFbEJRVTFUTEVWQlEyeENiRVFzUzBGQlMzbERMRTlCUVU4c1NVRkJUVk1zUlVGRGJFSnNSQ3hMUVVGTGVVTXNUMEZCVHl4SlFVRk5WU3hGUVVOc1FtNUVMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMVZMRVZCUTJ4Q2JrUXNTMEZCUzNsRExFOUJRVThzU1VGQlRWVXNSVUZEYkVKdVJDeExRVUZMZVVNc1QwRkJUeXhKUVVGTlZTeEZRVU5zUW01RUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxWExFVkJRMnhDY0VRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFZjc1JVRkRiRUp3UkN4TFFVRkxlVU1zVDBGQlR5eExRVUZQVnl4RlFVTnVRbkJFTEV0QlFVdDVReXhQUVVGUExFdEJRVTlYTEVWQlExcHdSQ3hOUVVWWU1rNHNSVUZCU3pOTUxGVkJRVlYxVEN4UFFVRlRMRk5CUVZVM1JDeEZRVUZQVXl4SFFVTnlReXhKUVVGSmFrZ3NSVUZCU1dsSUxFVkJRVXRxU0N4RlFVTlVReXhGUVVGSlowZ3NSVUZCUzJoSUxFVkJRMVJETEVWQlFVa3JSeXhGUVVGTEwwY3NSVUZEVkZNc1JVRkJVMFlzUzBGQlMwY3NTMEZCUzFvc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZETTBNc1NVRkJTMU1zUlVGRFJDeFBRVUZQTEV0QlJVa3NTVUZCV0VFc1NVRkZRVmdzUjBGRVFWY3NSVUZCVXl4RlFVRkpRU3hGUVVWaVZpeEhRVUZMVlN4RlFVTk1WQ3hIUVVGTFV5eEhRVVZVTEVsQlFVa3hRaXhGUVVGSmQwSXNTMEZCUzIxQ0xFbEJRVWswUlN4SFFVTmlha29zUlVGQlNXdEVMRXRCUVV0clFpeEpRVUZKTmtVc1IwRkRZbkJKTEVWQlFVa3NSVUZCVFdJc1JVRkRWbTFMTEVWQlFVMDFTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlKTEVWQlFVMDNTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbkZKTEVWQlFVMDVTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTFNTEVWQlFVMDFUaXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbk5KTEVWQlFVMHZTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRblZKTEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlNTEVWQlFVMDNUaXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmxKTEVWQlFVMXNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SlFVTnNRbkZNTEVWQlFVMDVUaXhMUVVGTGVVTXNUMEZCVHl4SlFVTnNRbTlLTEVWQlFVMHpTU3hGUVVGSlFTeEZRVUZKTlVJc1JVRkJTV0lzUlVGRGJFSnhUQ3hGUVVGTk0wa3NSVUZCU1VRc1JVRkJTVFZDTEVWQlFVazRRaXhGUVVGSmFrSXNSVUZEZEVJMFNpeEZRVUZOTTBrc1JVRkJTVVlzUlVGQlNUVkNMRVZCUVVrMlFpeEZRVUZKYUVJc1JVRkRkRUkyU2l4RlFVRk5PVWtzUlVGQlNVTXNSVUZCU1RkQ0xFVkJRVWs0UWl4RlFVRkpha0lzUlVGRGRFSTRTaXhGUVVGTk9Va3NSVUZCU1VFc1JVRkJTVGRDTEVWQlFVbGlMRVZCUTJ4Q2VVd3NSVUZCVFRsSkxFVkJRVWxFTEVWQlFVazNRaXhGUVVGSk5FSXNSVUZCU1dZc1JVRkRkRUpuU3l4RlFVRk5ha29zUlVGQlNVVXNSVUZCU1RsQ0xFVkJRVWsyUWl4RlFVRkphRUlzUlVGRGRFSnBTeXhGUVVGTmFrb3NSVUZCU1VNc1JVRkJTVGxDTEVWQlFVazBRaXhGUVVGSlppeEZRVU4wUW10TExFVkJRVTFxU2l4RlFVRkpRU3hGUVVGSk9VSXNSVUZCU1dJc1JVRmhkRUlzVDBGYVFWUXNTMEZCUzNsRExFOUJRVThzUjBGQlMyMUpMRVZCUVUxcFFpeEZRVUZOWkN4RlFVRk5aU3hGUVVGTldpeEZRVUZOWVN4RlFVTXZReTlNTEV0QlFVdDVReXhQUVVGUExFZEJRVXR2U1N4RlFVRk5aMElzUlVGQlRXSXNSVUZCVFdNc1JVRkJUVmdzUlVGQlRWa3NSVUZETDBNdlRDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGNVa3NSVUZCVFdVc1JVRkJUVm9zUlVGQlRXRXNSVUZCVFZZc1JVRkJUVmNzUlVGREwwTXZUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxiVXdzUlVGQlRTOUNMRVZCUVUxblF5eEZRVUZOTDBJc1JVRkJUV2RETEVWQlFVMHZRaXhGUVVNdlF5OU1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHRTU3hGUVVGTmIwSXNSVUZCVFdwQ0xFVkJRVTFyUWl4RlFVRk5aaXhGUVVGTlowSXNSVUZETDBOc1RTeExRVUZMZVVNc1QwRkJUeXhIUVVGTGIwa3NSVUZCVFcxQ0xFVkJRVTFvUWl4RlFVRk5hVUlzUlVGQlRXUXNSVUZCVFdVc1JVRkRMME5zVFN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY1Vrc1JVRkJUV3RDTEVWQlFVMW1MRVZCUVUxblFpeEZRVUZOWWl4RlFVRk5ZeXhGUVVNdlEyeE5MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHRUQ3hGUVVGTk5VSXNSVUZCVFRaQ0xFVkJRVTAxUWl4RlFVRk5Oa0lzUlVGQlRUVkNMRVZCUXk5RGJFMHNTMEZCUzNsRExFOUJRVThzUjBGQlMyMUpMRVZCUVUxMVFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlFVMXNRaXhGUVVGTmJVSXNSVUZETDBOeVRTeExRVUZMZVVNc1QwRkJUeXhIUVVGTGIwa3NSVUZCVFhOQ0xFVkJRVTF1UWl4RlFVRk5iMElzUlVGQlRXcENMRVZCUVUxclFpeEZRVU12UTNKTkxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxeFNTeEZRVUZOY1VJc1JVRkJUV3hDTEVWQlFVMXRRaXhGUVVGTmFFSXNSVUZCVFdsQ0xFVkJRMmhFY2swc1MwRkJTM2xETEU5QlFVOHNTVUZCVFcxTUxFVkJRVTE2UWl4RlFVRk5NRUlzUlVGQlRYcENMRVZCUVUwd1FpeEZRVUZOZWtJc1JVRkRla055VFN4TlFVVllNazRzUlVGQlN6UkNMRkZCUVZVc1UwRkJWVU1zUlVGQlRYUktMRVZCUVU5MVNpeEZRVUZSUXl4RlFVRkxReXhGUVVGTlF5eEhRVU55UkN4SlFVRkpReXhGUVVGTk0wb3NSVUZCVVhOS0xFVkJRMlJOTEVWQlFVMUtMRVZCUVUxRUxFVkJRMXBOTEVWQlFVMUlMRVZCUVUxRUxFVkJRMmhDTEU5QlFVOHNTVUZCU1doRExFVkJRVXNzUTBGRFNpeEZRVUZRWjBNc1JVRkJXVVVzUlVGRFlpeEZRVU5CTEVWQlEwRXNSVUZEUVN4RlFVTlJMRVZCUVZCR0xFVkJRVmxITEVWQlEySXNSVUZEUVN4SFFVTkROVW9zUlVGQlVYTktMRWRCUVZGTExFZEJRMmhDU0N4RlFVRk5SQ3hIUVVGVlN5eEpRVU5tUml4RlFVRk5SQ3hIUVVGUlNTeEhRVU5tTEVWQlEwUXNSVUZEUVN4SFFVTkZTQ3hGUVVGTlJDeEZRVUZQTEVWQlFVdEpMRVZCUTNCQ0xFdEJSMUp3UXl4RlFVRkxjVU1zV1VGQll5eFRRVUZWUXl4RlFVRkxReXhGUVVGUlVDeEZRVUZOUXl4SFFVTTFReXhKUVVGSlJpeEZRVUZOUXl4RlFVRlBhRTBzUzBGQlMzZE5MRWxCUVVsR0xFVkJRVTEwVFN4TFFVRkxlVTBzUjBGQlN5eExRVU4wUTJ4TExFVkJRVkYzU2l4RlFVRk5VU3hGUVVOc1FpeFBRVUZQZGtNc1JVRkJTelJDTEZOQlFWTnlTaXhGUVVGUFFTeEhRVUZSZDBvc1JVRkJTMEVzUlVGQlMwTXNSVUZCVFVNc1NVRkZlRVJxUXl4RlFVRkxNRU1zWVVGQlpTeFRRVUZWWWl4RlFVRk5kRW9zUlVGQlQzVktMRVZCUVZGRExFVkJRVXRETEVWQlFVMURMRWRCUXpGRUxFbEJRVWxETEVWQlFVMHpTaXhGUVVGUmMwb3NSVUZEWkUwc1JVRkJUVW9zUlVGQlRVUXNSVUZEV2swc1JVRkJUVWdzUlVGQlRVUXNSVUZEYUVJc1QwRkJUeXhKUVVGSmFFTXNSVUZCU3l4RFFVTmFMRVZCUVVsclF5eEZRVU5LTEVWQlEwRXNSVUZEUVN4RlFVTkJMRVZCUTBFc1JVRkJTVU1zUlVGRFNpeEZRVU5CTEVWQlEwRXNSVUZEUVN4SFFVTkRMRVZCUVVsRExFVkJRMHdzU1VGRFJWQXNSVUZCVDNSS0xFZEJRVk15U2l4SlFVTm9Ra2dzUlVGQlRVUXNSMEZCVlVzc1NVRkRhRUpHTEVWQlFVMUVMRWRCUVZGSkxFVkJRMmhDTEV0QlIxSndReXhGUVVGTE1rTXNUMEZCVXl4VFFVRlZReXhGUVVGVlF5eEZRVUZSZGtzc1IwRkZkRU1zVVVGRVZ5eEpRVUZRUVN4SlFVRnBRa0VzUlVGQlMwY3NSVUZCVDNoQ0xGRkJRVkZ4UWl4SlFVTnlRM05MTEVWQlFWTXZUU3hQUVVGUFowNHNSMEZEYUVJc1QwRkJUM2hSTEV0QlFVdHZTeXhUUVVWb1FpeEpRVUZKYUVnc1JVRkJTV2RFTEVWQlFVOTRRaXhSUVVGUlowSXNWMEZCVnpKTExFVkJRVlZETEVkQlFWRnVUU3haUVVOb1JHNUNMRVZCUVVsclJDeEZRVUZQZUVJc1VVRkJVVWtzVFVGQlRXbENMRVZCUVVrM1F5eEhRVUZIYVVJc1dVRkRhRU5zUWl4RlFVRkphVVFzUlVGQlQzaENMRkZCUVZGSkxFMUJRVTAxUWl4RlFVRkhSaXhIUVVGSGJVSXNXVUZEYmtNc1QwRkJUeXhKUVVGSmMwb3NSVUZCU3l4RFFVTmFla3NzUlVGQlJVRXNSVUZEUmtNc1JVRkJSVVFzUlVGRFJrVXNSVUZCUlVZc1JVRkRSaXhGUVVOQlFTeEZRVUZGUXl4RlFVTkdRU3hGUVVGRlFTeEZRVU5HUXl4RlFVRkZSQ3hGUVVOR0xFVkJRMEZFTEVWQlFVVkZMRVZCUTBaRUxFVkJRVVZETEVWQlEwWkJMRVZCUVVWQkxFVkJRMFlzUjBGRFEyZEVMRVZCUVU5NFFpeFJRVUZSVXl4SlFVRkpia01zUlVGQlIzRk9MRWxCUTNSQ2Jrc3NSVUZCVDNoQ0xGRkJRVkZUTEVsQlFVbHNReXhGUVVGSGIwNHNTVUZEZEVKdVN5eEZRVUZQZUVJc1VVRkJVVk1zU1VGQlNXcERMRVZCUVVkdFRpeEhRVU4yUWl4TFFVZFNOVU1zUlVGQlN6bElMRkZCUVZVc1UwRkJWVEpJTEVWQlFVbERMRVZCUVVsdVFpeEhRVU0zUWl4SlFVRkpNVUlzUlVGQlRUUkRMRVZCUVVkNlN5eEhRVUZITEVkQlExbzRTQ3hGUVVGTk1rTXNSVUZCUjNwTExFZEJRVWNzUjBGRFdpdElMRVZCUVUwd1F5eEZRVUZIZWtzc1IwRkJSeXhIUVVOYU5rc3NSVUZCVFVvc1JVRkJSM3BMTEVkQlFVY3NSMEZEV21kSkxFVkJRVTE1UXl4RlFVRkhla3NzUjBGQlJ5eEhRVU5hYVVrc1JVRkJUWGRETEVWQlFVZDZTeXhIUVVGSExFZEJRMXByU1N4RlFVRk5kVU1zUlVGQlIzcExMRWRCUVVjc1IwRkRXamhMTEVWQlFVMU1MRVZCUVVkNlN5eEhRVUZITEVkQlExcHRTU3hGUVVGTmMwTXNSVUZCUjNwTExFZEJRVWNzUjBGRFdtOUpMRVZCUVUxeFF5eEZRVUZIZWtzc1IwRkJSeXhIUVVOYWNVa3NSVUZCVFc5RExFVkJRVWQ2U3l4SFFVRkhMRWxCUTFvclN5eEZRVUZOVGl4RlFVRkhla3NzUjBGQlJ5eEpRVU5hWjB3c1JVRkJUVkFzUlVGQlIzcExMRWRCUVVjc1NVRkRXbWxNTEVWQlFVMVNMRVZCUVVkNlN5eEhRVUZITEVsQlExcHJUQ3hGUVVGTlZDeEZRVUZIZWtzc1IwRkJSeXhKUVVOYWJVd3NSVUZCVFZZc1JVRkJSM3BMTEVkQlFVY3NTVUZEV2poSkxFVkJRVTAwUWl4RlFVRkhNVXNzUjBGQlJ5eEhRVU5hSzBrc1JVRkJUVEpDTEVWQlFVY3hTeXhIUVVGSExFZEJRMXBuU2l4RlFVRk5NRUlzUlVGQlJ6RkxMRWRCUVVjc1IwRkRXakJPTEVWQlFVMW9SQ3hGUVVGSE1Vc3NSMEZCUnl4SFFVTmFhVW9zUlVGQlRYbENMRVZCUVVjeFN5eEhRVUZITEVkQlExcHJTaXhGUVVGTmQwSXNSVUZCUnpGTExFZEJRVWNzUjBGRFdtMUtMRVZCUVUxMVFpeEZRVUZITVVzc1IwRkJSeXhIUVVOYU1rNHNSVUZCVFdwRUxFVkJRVWN4U3l4SFFVRkhMRWRCUTFwdlNpeEZRVUZOYzBJc1JVRkJSekZMTEVkQlFVY3NSMEZEV25GS0xFVkJRVTF4UWl4RlFVRkhNVXNzUjBGQlJ5eEhRVU5hYzBvc1JVRkJUVzlDTEVWQlFVY3hTeXhIUVVGSExFbEJRMW8wVGl4RlFVRk5iRVFzUlVGQlJ6RkxMRWRCUVVjc1NVRkRXalpPTEVWQlFVMXVSQ3hGUVVGSE1Vc3NSMEZCUnl4SlFVTmFPRTRzUlVGQlRYQkVMRVZCUVVjeFN5eEhRVUZITEVsQlExb3JUaXhGUVVGTmNrUXNSVUZCUnpGTExFZEJRVWNzU1VGRFdtZFBMRVZCUVUxMFJDeEZRVUZITVVzc1IwRkJSeXhKUVVOb1FpeFBRVUZKZFVvc1IwRkRRVUVzUlVGQlQzQkVMRXRCUVVzc1EwRkRVakpETEVWQlFVMXFRaXhGUVVGTmEwSXNSVUZCVFdZc1JVRkJUV2RDTEVWQlFVMWlMRVZCUVUxMVJpeEZRVUZOTVVNc1JVRkRNVU5zUXl4RlFVRk5hRUlzUlVGQlRXbENMRVZCUVUxa0xFVkJRVTFsTEVWQlFVMWFMRVZCUVUxelJpeEZRVUZOZWtNc1JVRkRNVU51UXl4RlFVRk5aaXhGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZCVFhGR0xFVkJRVTE0UXl4RlFVTXhRM0JETEVWQlFVMHJRaXhGUVVGTk9VSXNSVUZCVFN0Q0xFVkJRVTA1UWl4RlFVRk5LMElzUlVGQlRUSkRMRVZCUVUxMlF5eEZRVU14UTJ4RExFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxdFFpeEZRVUZOYUVJc1JVRkJUWGRHTEVWQlFVMHpReXhGUVVNeFF5OUNMRVZCUVUxdVFpeEZRVUZOYjBJc1JVRkJUV3BDTEVWQlFVMXJRaXhGUVVGTlppeEZRVUZOZFVZc1JVRkJUVEZETEVWQlF6RkRhRU1zUlVGQlRXeENMRVZCUVUxdFFpeEZRVUZOYUVJc1JVRkJUV2xDTEVWQlFVMWtMRVZCUVUxelJpeEZRVUZOZWtNc1JVRkRNVU5xUXl4RlFVRk5ORUlzUlVGQlRUTkNMRVZCUVUwMFFpeEZRVUZOTTBJc1JVRkJUVFJDTEVWQlFVMDBReXhGUVVGTmVFTXNSVUZETVVNdlFpeEZRVUZOZGtJc1JVRkJUWGRDTEVWQlFVMXlRaXhGUVVGTmMwSXNSVUZCVFc1Q0xFVkJRVTE1Uml4RlFVRk5OVU1zUlVGRE1VTTFRaXhGUVVGTmRFSXNSVUZCVFhWQ0xFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxM1JpeEZRVUZOTTBNc1JVRkRNVU0zUWl4RlFVRk5ja0lzUlVGQlRYTkNMRVZCUVUxdVFpeEZRVUZOYjBJc1JVRkJUV3BDTEVWQlFVMTFSaXhGUVVGTk1VTXNSVUZETVVNNVFpeEZRVUZOZVVJc1JVRkJUWGhDTEVWQlFVMTVRaXhGUVVGTmVFSXNSVUZCVFhsQ0xFVkJRVTAyUXl4RlFVRk5la01zUlVGRE1VTXdReXhGUVVGTmFFY3NSVUZCVFdsSExFVkJRVTA1Uml4RlFVRk5LMFlzUlVGQlRUVkdMRVZCUVUwMlJpeEZRVUZOYUVRc1JVRkRNVU0yUXl4RlFVRk5MMFlzUlVGQlRXZEhMRVZCUVUwM1JpeEZRVUZOT0VZc1JVRkJUVE5HTEVWQlFVMDBSaXhGUVVGTkwwTXNSVUZETVVNMFF5eEZRVUZOT1VZc1JVRkJUU3RHTEVWQlFVMDFSaXhGUVVGTk5rWXNSVUZCVFRGR0xFVkJRVTB5Uml4RlFVRk5PVU1zUlVGRE1VTXlReXhGUVVGTmFFUXNSVUZCVFdsRUxFVkJRVTFvUkN4RlFVRk5hVVFzUlVGQlRXaEVMRVZCUVUxcFJDeEZRVUZOTjBNc1NVRkZka00xUWl4SFFVZEJMRWxCUVVseFFpeEZRVUZMTEVOQlExbzVRaXhGUVVGTmFrSXNSVUZCVFd0Q0xFVkJRVTFtTEVWQlFVMW5RaXhGUVVGTllpeEZRVUZOZFVZc1JVRkJUVEZETEVWQlF6RkRiRU1zUlVGQlRXaENMRVZCUVUxcFFpeEZRVUZOWkN4RlFVRk5aU3hGUVVGTldpeEZRVUZOYzBZc1JVRkJUWHBETEVWQlF6RkRia01zUlVGQlRXWXNSVUZCVFdkQ0xFVkJRVTFpTEVWQlFVMWpMRVZCUVUxWUxFVkJRVTF4Uml4RlFVRk5lRU1zUlVGRE1VTndReXhGUVVGTkswSXNSVUZCVFRsQ0xFVkJRVTByUWl4RlFVRk5PVUlzUlVGQlRTdENMRVZCUVUweVF5eEZRVUZOZGtNc1JVRkRNVU5zUXl4RlFVRk5jRUlzUlVGQlRYRkNMRVZCUVUxc1FpeEZRVUZOYlVJc1JVRkJUV2hDTEVWQlFVMTNSaXhGUVVGTk0wTXNSVUZETVVNdlFpeEZRVUZOYmtJc1JVRkJUVzlDTEVWQlFVMXFRaXhGUVVGTmEwSXNSVUZCVFdZc1JVRkJUWFZHTEVWQlFVMHhReXhGUVVNeFEyaERMRVZCUVUxc1FpeEZRVUZOYlVJc1JVRkJUV2hDTEVWQlFVMXBRaXhGUVVGTlpDeEZRVUZOYzBZc1JVRkJUWHBETEVWQlF6RkRha01zUlVGQlRUUkNMRVZCUVUwelFpeEZRVUZOTkVJc1JVRkJUVE5DTEVWQlFVMDBRaXhGUVVGTk5FTXNSVUZCVFhoRExFVkJRekZETDBJc1JVRkJUWFpDTEVWQlFVMTNRaXhGUVVGTmNrSXNSVUZCVFhOQ0xFVkJRVTF1UWl4RlFVRk5lVVlzUlVGQlRUVkRMRVZCUXpGRE5VSXNSVUZCVFhSQ0xFVkJRVTExUWl4RlFVRk5jRUlzUlVGQlRYRkNMRVZCUVUxc1FpeEZRVUZOZDBZc1JVRkJUVE5ETEVWQlF6RkROMElzUlVGQlRYSkNMRVZCUVUxelFpeEZRVUZOYmtJc1JVRkJUVzlDTEVWQlFVMXFRaXhGUVVGTmRVWXNSVUZCVFRGRExFVkJRekZET1VJc1JVRkJUWGxDTEVWQlFVMTRRaXhGUVVGTmVVSXNSVUZCVFhoQ0xFVkJRVTE1UWl4RlFVRk5Oa01zUlVGQlRYcERMRVZCUXpGRE1FTXNSVUZCVFdoSExFVkJRVTFwUnl4RlFVRk5PVVlzUlVGQlRTdEdMRVZCUVUwMVJpeEZRVUZOTmtZc1JVRkJUV2hFTEVWQlF6RkROa01zUlVGQlRTOUdMRVZCUVUxblJ5eEZRVUZOTjBZc1JVRkJUVGhHTEVWQlFVMHpSaXhGUVVGTk5FWXNSVUZCVFM5RExFVkJRekZETkVNc1JVRkJUVGxHTEVWQlFVMHJSaXhGUVVGTk5VWXNSVUZCVFRaR0xFVkJRVTB4Uml4RlFVRk5Na1lzUlVGQlRUbERMRVZCUXpGRE1rTXNSVUZCVFdoRUxFVkJRVTFwUkN4RlFVRk5hRVFzUlVGQlRXbEVMRVZCUVUxb1JDeEZRVUZOYVVRc1JVRkJUVGRETEV0QlNYUkVVQ3hGUVVGTGRrUXNWVUZCVnl4SlFVRkpkVVFzUjBGQlQzaEhMR05CUTNCQ2QwY3NSVUY2YUVKakxFZEJNbWhDZWtJMVRpeEZRVUZSTmtVc1VVRkJWU3RKTEVjc2EweERhbWxDYkVJc1lVRjVSa0VzU1VFMFJWbHhSQ3hIUVRWRldpeFRRVUZaUXl4SFFVVllMSGxDUVVOQkxHMUNRVU5CTEdWQlEwRXNjVUpCUTBFc2NVSkJRMEVzYlVKQlVFUXNRMEZCV1N4RlFVRkJRU3h6UWtGQlFTeEZRVUZCUVN4dlFrRkJiVUlzUzBGclFpOUNMRk5CUVZsRExFZEJSVmdzTmtSQlEwRXNhVVZCUTBFc01FVkJRMEVzTmtWQlEwRXNkVVJCUTBFc2FVVkJVRVFzUTBGQldTeEZRVUZCUVN4eFFrRkJRU3hGUVVGQlFTeHRRa0ZCYTBJc1MwRlZPVUlzVTBGQldVTXNSMEZGV0N3eVFrRkRRU3h6UTBGRFFTeHpRMEZEUVN4elEwRkZRU3d5UWtGRFFTeHpRMEZEUVN4elEwRkRRU3h6UTBGRFFTeHpRMEZGUVN4bFFVTkJMREJDUVVOQkxEQkNRVVZCTEdWQlEwRXNNRUpCUTBFc01FSkJSVUVzWlVGRFFTd3dRa0ZEUVN3d1FrRkZRU3hsUVVOQkxEQkNRVU5CTERCQ1FVVkJMSEZDUVVOQkxHZERRVU5CTEdkRFFVVkJMRFpDUVVOQkxIZERRVU5CTEhkRFFVTkJMSGREUVVOQkxHZERRVU5CTEdkRFFVVkJMR2xEUVVOQkxEUkRRVU5CTERSRFFVTkJMRFJEUVVOQkxHOURRVU5CTEc5RFFUZERSQ3hEUVVGWkxFVkJRVUZCTEZGQlFVRXNSVUZCUVVFc1RVRkJTeXhMUVdkRWFrSXNVMEZCV1Vnc1IwRkZXQ3g1UWtGRFFTd3lRa0ZJUkN4RFFVRlpRU3hGUVVGQkxFVkJRVUZCTEZOQlFVRXNSVUZCUVVFc1QwRkJUU3hMUVUxc1FpeDNRa0ZCT0VKSkxFZEJSVGRDTEU5QlFWRkJMRWRCUlZBc1MwRkJTeXhGUVVGQlF5eE5RVUZOUXl4TFFVRk5MRTlCUVU5T0xFVkJRVTlOTEV0QlF5OUNMRXRCUVVzc1JVRkJRVVFzVFVGQlRVVXNUVUZCVHl4UFFVRlBVQ3hGUVVGUFR5eFJRWFZDYkVNc1UwRkJXVU1zUjBGRldDd3dRa0ZGUVN4NVFrRkRRU3h4UWtGRFFTeDVRa0ZPUkN4RFFVRlpMRVZCUVVGQkxHRkJRVUVzUlVGQlFVRXNWMEZCVlN4TFFYRkxkRUlzWjBKQlJVTXNUMEZCWVN4UFFVRk9ReXhoUVVGTkxFbEJRVTVCTEZsQlFVMHNSVUZCVGtFc1QwRkJVVU1zVnl4M2NVSkRPVmRvUWl4aFFVZEJMRkZCU1VFc1NVRjVSVmxETEVWQk9HSkJReXhGUVRWaFdpeFRRVUZUUXl4RlFVRXlRbkJTTEVkQlJXNURMRTlCUVZGQkxFZEJSVkFzU1VGQlN5eEpRVUZMTEU5QlFVOXJVaXhGUVVGaFJ5eEpRVU01UWl4SlFVRkxMRWxCUVVzc1QwRkJUMGdzUlVGQllVa3NUMEZET1VJc1NVRkJTeXhKUVVGTExFOUJRVTlLTEVWQlFXRkxMRXRCUXpsQ0xFbEJRVXNzU1VGQlN5eFBRVUZQVEN4RlFVRmhUU3hSUVVNNVFpeEpRVUZMTEVsQlFVc3NUMEZCVDA0c1JVRkJZVThzVTBGRE9VSXNVVUZCVXl4UFFVRlBVQ3hGUVVGaFVTeFRRV3RDTDBJc1UwRkJaMEpETEVWQlFYTkNReXhIUVVWeVF5eFBRVUZMUVN4RlFXaENUaXhUUVVGdlEwTXNSMEZGYmtNc1QwRkJVVUVzUjBGRlVDeExRVUZMV0N4RlFVRmhSeXhKUVVGTExFMUJRVThzU1VGRE9VSXNTMEZCUzBnc1JVRkJZVWtzVDBGQlVTeE5RVUZQTEVsQlEycERMRXRCUVV0S0xFVkJRV0ZMTEV0QlFVMHNUVUZCVHl4SlFVTXZRaXhMUVVGTFRDeEZRVUZoVFN4UlFVRlRMRTFCUVU4c1NVRkRiRU1zUzBGQlMwNHNSVUZCWVU4c1UwRkJWU3hOUVVGUExFbEJRMjVETEV0QlFVdFFMRVZCUVdGUkxGRkJRVk1zVFVGQlR5eEpRVU5zUXl4UlFVRlRMRTFCUVU4c1MwRlpWRWtzUTBGQk1rSkdMRVZCUVVsSExFMUJRM0JETEV0QlFWRklMRVZCUVVsSkxGZEJRV0ZLTEVWQlFVbEpMRmRCUVdFc1IwRkRNVU1zUzBGQlVVb3NSVUZCU1Vzc1QwRkJVMHdzUlVGQlNVc3NUMEZCVXl4SFFVNDNRaXhMUVRSQ1ZDeFRRVUZuUWtNc1JVRkJjVUpPTEVkQlJYQkRMRTlCUVdNc1RVRkJVRUVzUjBGQk1rSXhVQ3hOUVVGYU1GQXNSVUZCU1Vjc1RVRkJjVUpJTEVWQlFVbEhMRTFCUVZGaUxFVkJRV0ZSTEZGQlIzcEZMRk5CUVdkQ1V5eEZRVUZ2UWtNc1JVRkJiMEpETEVkQlJYWkVMRTlCUVVsSUxFVkJRWEZDUlN4SFFVTnFRa1lzUlVGQmNVSkhMRWxCUTNCQ1NDeEZRVUZ4UWtjc1MwRkhka0pFTEVWQlFVdE1MRTFCUVZGTkxFVkJRVXRPTEUxQlFWRkxMRVZCUVV0SUxGRkJRVlZKTEVWQlFVdEtMRkZCUVZWSExFVkJRVXRLTEZsQlFXTkxMRVZCUVV0TUxGbEJhMVY0Uml4VFFVRm5RazBzUlVGQmJVSkRMRVZCUVRKQ1F5eEZRVUYzUWtNc1IwRkZja1lzVDBGQlQyUXNSVUZCYzBKWkxFZEJRV2RDTEV0QlFVOWFMRVZCUVhOQ1lTeEhRVU4yUlN4SlFVRk5ReXhGUVVGUkxFbEJlbVZNTEVWQlFVRkRMR0ZCUVdVc1RVRkZOVUlzVTBGQldVTXNSMEZKV0N3eVEwRkRRU3d5UkVGRFFTeDFRa0ZEUVN4dFJFRkRRU3h0UlVGTFFTeHRRMEZEUVN4eFEwRkRRU3dyUTBGSFFTdzJRMEZIUVN4MVEwRkhRU3hwUTBGSlFTeHhRMEZEUVN3clEwRkRRU3gxUTBGRFFTeHBSRUZIUVN4NVEwRkhRU3h0UkVGRFFTeHRSVUZEUVN4MVEwRkRRU3gxUkVGRFFTeHBSVUZoUVN3MlEwRkRRU3g1UTBGRFFTd3JSRUZEUVN4cFJFRkRRU3gxUkVGRFFTeDFRMEZEUVN4MVJFRkRRU3d5UTBGRFFTd3lSRUZEUVN3eVEwRkRRU3d5UkVGRFFTeHBSVUZxUlVRc1EwRkJXU3hGUVVGQlFTeGpRVUZCTEVWQlFVRkJMRmxCUVZjc1MwRnZSWFpDTEZOQlFWbERMRWRCUlZnc2IwUkJSa1FzUTBGQldTeEZRVUZCUVN4elFrRkJRU3hGUVVGQlFTeHZRa0ZCYlVJc1MwRkxMMElzVTBGQldURkNMRWRCUlZnc01FSkJRMEVzYVVKQlEwRXNkVUpCUTBFc2JVSkJRMEVzTWtKQlEwRXNlVUpCUTBFc2VVSkJVa1FzUTBGQldVRXNSVUZCUVN4RlFVRkJRU3hsUVVGQkxFVkJRVUZCTEdGQlFWa3NTMEUyUTNoQ0xIbENRV1ZCTEdkRFFVRnpRekpDTEVkQlJYSkRMRWxCUTBsRExFVkJSRXNzU1VGQlNVTXNUMEZCVVN3eVFrRkRUa01zUzBGQlRVZ3NSMEZEY2tJc1QwRkJTME1zUlVGTFJTeERRVVZNWml4TFFVRk5XQ3hGUVVFeVFqQkNMRVZCUVUwc1NVRkRka05rTEZkQlFWbHBRaXhUUVVGVlNDeEZRVUZOTEVsQlF6VkNZaXhQUVVGUlowSXNVMEZCVlVnc1JVRkJUU3hOUVZCNlFra3NVVUZCVVVNc1NVRkJTeXh0UWtGQmIwSk9MSEZDUVVNeFFpeFBRVlZVTEhkQ1FVdEJMSFZDUVZWQkxHZERRVUZ6UTA4c1JVRkJNRUo0UWl4SFFVVXZSQ3hKUVVGTGQwSXNSVUZGU2l4UFFVRlJMRVZCUjFRc1NVRkJTeXhKUVVGSmVsUXNSVUZCU1N4RlFVRkhRU3hGUVVGSmVWUXNSVUZCVTJoUkxFOUJRVkY2UkN4SlFVVndReXhIUVVGSmQxTXNSVUZCYjBKcFFpeEZRVUZUZWxRc1IwRkJTV2xUTEVkQlJYQkRMRTlCUVU5cVV5eEZRVWRVTEU5QlFWRXNSMEZIVkN4dFEwRkJlVU5wVXl4RlFVRnRRbmxDTEVkQlJUTkVMRTFCUVU4c1pVRkJaMEl4UWl4RlFVRnpRa01zVFVGQlYzbENMRXRCYVVWNlJDd3JRa0ZCY1VORExFZEJSWEJETEU5QlFVOUJMRVZCUVZWRExGTkJRVlVzWVVGSk5VSXNlVUpCUVN0Q1F5eEZRVUZ0UWtNc1IwRkJkMElzUjBGRmVrVXNTVUZGUXl4SlFVRkpReXhGUVVGTlF5eExRVUZMUXl4TlFVRlBTaXhIUVV0MFFpeFBRVXBKUlN4RlFVRkpSeXhUUVVGWFNpeEpRVVZzUWtNc1JVRkJTVWtzWjBKQlFXdENTQ3hMUVVGTFF5eE5RVUZQUml4RlFVRkpSeXhWUVVWb1EwZ3NSVUZGVWl4TlFVRlBTeXhIUVVkT0xFOUJSRUZpTEZGQlFWRkRMRWxCUVVzc01rSkJRVFJDU3l4RlFVRlhUeXhIUVVNM1F5eFBRU3RIVkN4VFFVRlpReXhIUVVWWUxIbENRVU5CTEhGRFFVTkJMRFpDUVVOQkxEWkRRVU5CTEhGRVFVTkJMRFpFUVVOQkxHbEVRVkpFTEVOQlFWa3NSVUZCUVVFc2MwSkJRVUVzUlVGQlFVRXNiMEpCUVcxQ0xFdEJkMFV2UWl4VFFVRlpReXhIUVVWWUxEQkNRVVZCTERaQ1FVTkJMSFZDUVVOQkxEWkNRVU5CTEhGQ1FVOUJMRzlDUVVWQkxEQkRRVU5CTEd0RVFVbEJMREJEUVVOQkxITkNRVU5CTEhkRFFYWkNSQ3hEUVVGWkxFVkJRVUZCTEdGQlFVRXNSVUZCUVVFc1YwRkJWU3hMUVdkRGRFSXNjMEpCVFVFc2EwTkJRWGREYkZVc1IwRkhka01zVDBGQlQzVlRMRVZCUVd0Q2RsTXNSVUZCUlhkVExGbEJRV0Y0VXl4RlFVRkZlVk1zVTBGQlZYcFRMRVZCUVVVd1V5eFJRVEJDZGtRc1UwRkJXWFJDTEVkQlJWZ3NNRUpCUlVFc2RVSkJRMEVzTWtKQlEwRXNiVUpCUTBFc01rSkJRMEVzY1VKQlEwRXNhVUpCUTBFc01rSkJWa1FzUTBGQldVRXNSVUZCUVN4RlFVRkJRU3hqUVVGQkxFVkJRVUZCTEZsQlFWY3NTMEZwUW5aQ0xGTkJRVmtyUXl4SFFVVllMSFZDUVVOQkxEWkNRVU5CTEcxRFFVcEVMRU5CUVZrc1JVRkJRVUVzYVVKQlFVRXNSVUZCUVVFc1pVRkJZeXhMUVN0Q01VSXNlVUpCUlVNc1RVRkJUeXhEUVVGRmJrTXNTMEZCVFZvc1JVRkJXV2RFTEZGQlJUVkNMRFJDUVVWRExFMUJRVThzUTBGQlJYQkRMRXRCUVUxYUxFVkJRVmxwUkN4WFFVYzFRaXd3UWtGQlowTkRMRVZCUVdFeFVTeEhRVVUxUXl4TlFVRlBMRU5CUlV4dlR5eExRVUZOV2l4RlFVRlpiVVFzVTBGRGJFSkVMRTFCUTBFeFVTeFZRVWxJTEhkQ1FVRTRRalJSTEVkQlJUZENMRTFCUVU4c1EwRkZUSGhETEV0QlFVMWFMRVZCUVZseFJDeFBRVU5zUWtRc1YwRkxTQ3h4UWtGQk1rSkZMRVZCUVdGRExFZEJSWFpETEVsQlFVbERMRVZCUlVGRExFVkJSMGhCTEVWQlJrY3NSVUZCUVRkVExFdEJRVXMyUXl4SlFVRkxMRVZCUVVFM1F5eExRVUZMZVVRc1IwRkJTV3RRTEVkQlFWRXNTMEZGZGtJc1JVRkJRVE5UTEV0QlFVc3lSQ3hSUVVsTUxFVkJRVUV6UkN4TFFVRkxkME1zVFVGQlQyMVJMRVZCUVVzc1JVRkJRVE5UTEV0QlFVdDVSQ3hKUVVjNVFpeEpRVUZKUVN4RlFVRkxMRVZCUVVGNlJDeExRVUZMZDBNc1RVRkJUM0ZSTEVWQlFVMUdMRWRCY1VJelFpeFBRVzVDUVVNc1JVRkJhVUlzU1VGQlNTeEZRVUZCZWtnc1MwRkJTeXhEUVVONlFuZElMRVZCUVVscVV5eEZRVU5LYVZNc1JVRkJTV2hUTEVWQlEwcG5VeXhGUVVGSkwxSXNSVUZEU2l4RlFVVkJOa01zUlVGQlJ5OURMRVZCUTBnclF5eEZRVUZIT1VNc1JVRkRTRGhETEVWQlFVYzNReXhGUVVOSUxFVkJSVUZwVXl4RlFVRkxibE1zUlVGRFRHMVRMRVZCUVV0c1V5eEZRVU5NYTFNc1JVRkJTMnBUTEVWQlEwd3NSVUZGUVRoU0xFVkJRVTFvVXl4RlFVRkhaMU1zUlVGQlRTOVNMRVZCUVVjclVpeEZRVUZOT1ZJc1JVRkJSeXhKUVVrelFpeERRVU5EYjFBc1MwRkJUVm9zUlVGQldUQkVMRWxCUTJ4Q1JpeGxRVUZuUWl4RlFVRkJSeXh6UWtGQmRVSklMRXRCU1RGRExGTkJRVmxKTEVkQlJWZ3NlVUpCUTBFc2NVUkJRMEVzZVVSQlEwRXNLMFJCUTBFc05FTkJRMEVzWjBSQlEwRXNORUpCUTBFc0swTkJRMEVzZVVKQlEwRXNlVU5CV0VRc1EwRkJXU3hGUVVGQlFTeGhRVUZCTEVWQlFVRkJMRmRCUVZVc1MwRTRSWFJDTEZOQlFWbHVSU3hIUVVWWUxEQkNRVU5CTEcxQ1FVTkJMSEZDUVVwRUxFTkJRVmtzUlVGQlFVRXNVVUZCUVN4RlFVRkJRU3hOUVVGTExFdEJUMnBDTEZOQlFWbHZSU3hIUVVWWUxIbENRVU5CTEhWRFFVTkJMQ3RDUVVwRUxFTkJRVmtzUlVGQlFVRXNaVUZCUVN4RlFVRkJRU3hoUVVGWkxFdEJUM2hDTEZOQlFWbERMRWRCUlZnc01rSkJRMEVzTWtKQlNFUXNRMEZCV1N4RlFVRkJRU3hwUWtGQlFTeEZRVUZCUVN4bFFVRmpMRXRCZVVJeFFpeFRRVUZaUXl4SFFVVllMR3RDUVVOQkxEQkNRVU5CTEhkQ1FVTkJMSE5DUVVOQkxHZENRVU5CTEhOQ1FVTkJMRFJDUVZKRUxFTkJRVmtzUlVGQlFVRXNZVUZCUVN4RlFVRkJRU3hYUVVGVkxFdEJhVU4wUWl4VFFVRlpReXhIUVVWWUxHRkJRMEVzWVVGRFFTeDVRa0ZEUVN4dFFrRkRRU3gxUWtGRFFTeHBRMEZEUVN3eVFrRkRRU3hwUWtGVVJDeERRVUZaTEVWQlFVRkJMRlZCUVVFc1JVRkJRVUVzVVVGQlR5eExRVmx1UWl3NFFrRkZReXhOUVVGUExFTkJSVXhETEVkQlFVY3NSVUZCVDBNc1IwRkJSU3hGUVVGUFF5eFRRVUZUTEVWQlF6VkNReXhOUVVGTkxFVkJRVTlETEdGQlFXRXNSVUZCVDBNc1VVRkJVU3hGUVVONlEwTXNVMEZCVlN4RFFVRkZMRVZCUVVjc1MwRkxiRUlzYTBOQlFYZERReXhIUVVkMlF5eFBRVUZQTEU5QlFWQXNWVUZEU1VFc1NVRkpUQ3cyUWtGQmJVTkRMRVZCUVc5Q1F5eEZRVUZ0UWtNc1IwRkZla1VzU1VGQlNVTXNSMEZCYVVKSUxFVkJRV0ZETEVkQlFWbEhMRkZCUVZNc1RVRkJUeXhMUVVGTlF5eGpRVTF3UlN4SFFVeEpSaXhGUVVGaE0xTXNUMEZCVXl4TFFVVjZRakpUTEVWQlFXVkJMRVZCUVdGSExFOUJRVkVzUlVGQlJ5eExRVWR3UTBvc1JVRkRTaXhEUVVORExFbEJRVWxMTEVWQlFWbE9MRVZCUVZsRExFVkJRM2hDVFN4RlFVRlBMRVZCUTFnc1NVRkJUU3hKUVVGSmVsY3NSVUZCU1N4RlFVRkhRU3hGUVVGSmQxY3NSVUZCVlM5VExFOUJRVkY2UkN4SlFVTjJReXhEUVVWRGVWY3NSMEZCVTBFc1IwRkJUU3hIUVVGSFFTeEZRVVJRUkN4RlFVRlZSU3hYUVVGWE1WY3NSMEZGYUVONVZ5eEhRVUZqUVN4RlFVZG1UQ3hIUVVGblFrc3NSVUZCUzBVc1UwRkJWU3hKUVVkb1F5eFBRVUZQVUN4SFFVZFNMRzlEUVVFd1EwWXNSMEZGZWtNc1QwRkJTVUVzUlVGQlZWVXNVMEZCVlN4TFFVVm9RbFlzUlVGQldTeDFRa0ZKV2tFc1JVRkJXU3d3UWl3MlFrTXhNVUp5UW5oV0xFOUJRVTlETEdWQlFXVm9RaXhGUVVGVExHRkJRV01zUTBGQlJYTkNMRTlCUVU4c1NVRkRkRVFzU1VGQlNUUldMRVZCUVZNc1JVRkJVU3hKUVVOeVFteFlMRVZCUVZGdFdDeExRVUZQUkN4RlFVRlBjbE1zVVVGRGRFSXNTVUZCU1RoQ0xFVkJRVk1zUlVGQlVTeEhRVU55UWpOSExFVkJRVkYxU3l4TFFVRlBOVVFzUlVGQlR6bENMRkZCUTNSQ0xFbEJRVWtyUWl4RlFVRlRMRVZCUVZFc1IwRkRja0kxUnl4RlFVRlJORTRzUzBGQlQyaElMRVZCUVU4dlFpeFJRVU4wUWl4SlFVRkpkRU1zUlVGQlV5eEZRVUZSTEVkQlEzSkNka01zUlVGQlVUWkhMRXRCUVU5MFJTeEZRVUZQYzBNc1VVRkRkRUlzU1VGQlNYbEdMRVZCUVZNc1JVRkJVU3hIUVVOeVFuUkxMRVZCUVZGelJ5eExRVUZQWjBVc1JVRkJUM3BHTEZGQlEzUkNMRWxCUVVsM1FpeEZRVUZUTEVWQlFWRXNSMEZEY2tKeVJ5eEZRVUZSZVVNc1MwRkJUelJFTEVWQlFVOTRRaXhSUVVOMFFpeEpRVUZKT0Vrc1JVRkJVeXhGUVVGUkxFbEJRM0pDTTA0c1JVRkJVVzlZTEV0QlFVOTZTaXhGUVVGUE9Va3NVeXcyUWtOa2RFSTVSQ3hQUVVGUFF5eGxRVUZsYUVJc1JVRkJVeXhoUVVGakxFTkJRVVZ6UWl4UFFVRlBMRWxCUTNSRUxFbEJRVWxyUWl4RlFVRmpMRVZCUVZFc1IwRkRkRUkwVlN4RlFVRnpRaXhYUVVOMFFpeFRRVUZUUVN4RlFVRkxNVlVzUjBGRFZucERMRXRCUVV0NVF5eFBRVUZUTEVsQlFVbERMR0ZCUVdFc1VVRkRhRUpETEVsQlFWaEdMRWxCUTBGNlF5eExRVUZMTmtjc1MwRkJUM0JGTEVkQloxZHdRaXhQUVRkV1FUTkNMRTlCUVU5RExHVkJRV1Z2Vnl4RlFVRkxibFlzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaVzlYTEVWQlFVdHVWaXhWUVVGWExFbEJRVXNzUTBGRGRrTm1MRWxCUVVzc1YwRkRSQ3hQUVVGUGFrSXNTMEZCUzNsRExFOUJRVThzU1VGRmRrSkpMRWxCUVVzc1UwRkJWWGhDTEVkQlExaHlRaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxjRUlzUjBGRmNrSk1MRmxCUVZrc1JVRkRXamhDTEdOQlFXTXNTVUZGYkVKb1F5eFBRVUZQUXl4bFFVRmxiMWNzUlVGQlMyNVdMRlZCUVZjc1NVRkJTeXhEUVVOMlEyWXNTVUZCU3l4WFFVTkVMRTlCUVU5cVFpeExRVUZMZVVNc1QwRkJUeXhKUVVWMlFra3NTVUZCU3l4VFFVRlZlRUlzUjBGRFdISkNMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHdRaXhIUVVWeVFrd3NXVUZCV1N4RlFVTmFPRUlzWTBGQll5eEpRVVZzUW1oRExFOUJRVTlETEdWQlFXVnZWeXhGUVVGTGJsWXNWVUZCVnl4SlFVRkxMRU5CUTNaRFppeEpRVUZMTEZkQlEwUXNUMEZCVDJwQ0xFdEJRVXQ1UXl4UFFVRlBMRWxCUlhaQ1NTeEpRVUZMTEZOQlFWVjRRaXhIUVVOWWNrSXNTMEZCUzNsRExFOUJRVThzUjBGQlMzQkNMRWRCUlhKQ1RDeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEV0QlFVMHNRMEZEZUVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1MwRkhjRUpKTEVsQlFVc3NVMEZCVlVvc1IwRkRXSHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1Z2Vnl4RlFVRkxibFlzVlVGQlZ5eE5RVUZQTEVOQlEzcERaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhMUVVkd1Fra3NTVUZCU3l4VFFVRlZTaXhIUVVOWWVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1Z2Vnl4RlFVRkxibFlzVlVGQlZ5eFBRVUZSTEVOQlF6RkRaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUzBGSGNFSkpMRWxCUVVzc1UwRkJWVW9zUjBGRFdIcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1IwRkRlRUo2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEVsQlFVc3NRMEZEZGtObUxFbEJRVXNzVjBGRFJDeFBRVUZQYWtJc1MwRkJTM2xETEU5QlFVOHNTVUZGZGtKSkxFbEJRVXNzVTBGQlZYaENMRWRCUTFoeVFpeExRVUZMZVVNc1QwRkJUeXhIUVVGTGNFSXNSMEZGY2tKTUxGbEJRVmtzUlVGRFdqaENMR05CUVdNc1NVRkZiRUpvUXl4UFFVRlBReXhsUVVGbGIxY3NSVUZCUzI1V0xGVkJRVmNzU1VGQlN5eERRVU4yUTJZc1NVRkJTeXhYUVVORUxFOUJRVTlxUWl4TFFVRkxlVU1zVDBGQlR5eEpRVVYyUWtrc1NVRkJTeXhUUVVGVmVFSXNSMEZEV0hKQ0xFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0d1FpeEhRVVZ5UWt3c1dVRkJXU3hGUVVOYU9FSXNZMEZCWXl4SlFVVnNRbWhETEU5QlFVOURMR1ZCUVdWdlZ5eEZRVUZMYmxZc1ZVRkJWeXhKUVVGTExFTkJRM1pEWml4SlFVRkxMRmRCUTBRc1QwRkJUMnBDTEV0QlFVdDVReXhQUVVGUExFbEJSWFpDU1N4SlFVRkxMRk5CUVZWNFFpeEhRVU5ZY2tJc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNCQ0xFZEJSWEpDVEN4WlFVRlpMRVZCUTFvNFFpeGpRVUZqTEVsQlJXeENhRU1zVDBGQlQwTXNaVUZCWlc5WExFVkJRVXR1Vml4VlFVRlhMRWxCUVVzc1EwRkRka05tTEVsQlFVc3NWMEZEUkN4UFFVRlBha0lzUzBGQlMzbERMRTlCUVU4c1NVRkZka0pKTEVsQlFVc3NVMEZCVlhoQ0xFZEJRMWh5UWl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY0VJc1IwRkZja0pNTEZsQlFWa3NSVUZEV2poQ0xHTkJRV01zU1VGRmJFSm9ReXhQUVVGUFF5eGxRVUZsYjFjc1JVRkJTMjVXTEZWQlFWY3NTMEZCVFN4RFFVTjRRMllzU1VGQlN5eFhRVU5FTEUxQlFVOHNRMEZEU0dwQ0xFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhMUVVkd1Fra3NTVUZCU3l4VFFVRlZTaXhIUVVOWWVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEUxQlFVOHNRMEZEZWtObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFdEJSM0JDU1N4SlFVRkxMRk5CUVZWS0xFZEJRMWg2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEU5QlFWRXNRMEZETVVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eExRVWR3UWtrc1NVRkJTeXhUUVVGVlNpeEhRVU5ZZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzBFc1JVRkJUeXhIUVVONFFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1IwRkRlRUo2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SlFVVTFRbnBDTEZsQlFWa3NSVUZEV2poQ0xHTkJRV01zU1VGRmJFSnhWU3hGUVVGTGJsWXNWVUZCVldVc1IwRkJTeXhUUVVGVlF5eEhRVU14UWl4UFFVRlBhRVFzUzBGQlMzbERMRTlCUVU5UExFbEJSWFpDYlZVc1JVRkJTMjVXTEZWQlFWVnBRaXhOUVVGUkxGZEJRMjVDYWtRc1MwRkJTMnRFTEVWQlFVa3NSVUZEVkd4RUxFdEJRVXR0UkN4RlFVRkpMRVZCUTFSdVJDeExRVUZMYjBRc1JVRkJTU3hGUVVOVWNFUXNTMEZCU3l0RkxFVkJRVWtzUjBGRlltOVRMRVZCUVV0dVZpeFZRVUZWY1VJc1MwRkJUeXhUUVVGVlF5eEhRVkUxUWl4UFFWQkxRU3hKUVVORVFTeEZRVUZQTEVsQlFVazJWQ3hIUVVWbU4xUXNSVUZCUzBvc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOa1NTeEZRVUZMU0N4RlFVRkpia1FzUzBGQlMyMUVMRVZCUTJSSExFVkJRVXRHTEVWQlFVbHdSQ3hMUVVGTGIwUXNSVUZEWkVVc1JVRkJTM2xDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEVUhwQ0xFZEJSVmcyVkN4RlFVRkxibFlzVlVGQlZYVkNMRTlCUVZNc1UwRkJWVVFzUjBGUk9VSXNUMEZRUzBFc1NVRkRSRUVzUlVGQlQzUkVMRTFCUlZoelJDeEZRVUZMU2l4SFFVRkxiRVFzUzBGQlMydEVMRVZCUTJaSkxFVkJRVXRJTEVkQlFVdHVSQ3hMUVVGTGJVUXNSVUZEWmtjc1JVRkJTMFlzUjBGQlMzQkVMRXRCUVV0dlJDeEZRVU5tUlN4RlFVRkxlVUlzUjBGQlN5OUZMRXRCUVVzclJTeEZRVU5TZWtJc1IwRkZXRFpVTEVWQlFVdHVWaXhWUVVGVmQwSXNUMEZCVXl4VFFVRlZReXhGUVVGUlF5eEhRVVYwUXl4WlFVUnJRaXhKUVVGa1FTeEpRVUYzUWtFc1JVRkJXVzVDTEVWQlFWbElMRmRCUTJoRWRVSXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdHJSQ3hGUVVGSlR5eEZRVUZQVUN4SFFVRkxVU3hQUVVjNVFrTXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdHRSQ3hGUVVGSlRTeEZRVUZQVGl4SFFVRkxUeXhQUVVjNVFrTXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdHZSQ3hGUVVGSlN5eEZRVUZQVEN4SFFVRkxUU3hOUVVjNVFrTXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVc3JSU3hGUVVGSmRFSXNSVUZCVDNOQ0xFZEJRVXR5UWl4TlFVdDBRM2xVTEVWQlFVdHVWaXhWUVVGVk5rSXNUMEZCVXl4WFFVTndRaXhQUVVGUFJpeExRVUZMUnl4TFFVRkxPVVFzUzBGQlN5dEVMR3RDUVVVeFFtOVVMRVZCUVV0dVZpeFZRVUZWSzBJc1kwRkJaMElzVjBGRE0wSXNTVUZCU1dJc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlJOMElzUlVGQlNVRXNSVUZCU1VNc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVEpDTEVWQlFVbEJMRWRCUlhoRGIxTXNSVUZCUzI1V0xGVkJRVlZuUXl4SlFVRk5MRk5CUVZWUUxFZEJTek5DTEU5QlNrRjZSQ3hMUVVGTGEwUXNSMEZCUzA4c1JVRkJUMUFzUlVGRGFrSnNSQ3hMUVVGTGJVUXNSMEZCUzAwc1JVRkJUMDRzUlVGRGFrSnVSQ3hMUVVGTGIwUXNSMEZCUzBzc1JVRkJUMHdzUlVGRGFrSndSQ3hMUVVGTEswVXNSMEZCUzNSQ0xFVkJRVTl6UWl4RlFVTldMMFVzVFVGRldHMVlMRVZCUVV0dVZpeFZRVUZWYVVNc1UwRkJWeXhUUVVGVlVpeEhRVXRvUXl4UFFVcEJla1FzUzBGQlMydEVMRWRCUVV0UExFVkJRVTlRTEVWQlEycENiRVFzUzBGQlMyMUVMRWRCUVV0TkxFVkJRVTlPTEVWQlEycENia1FzUzBGQlMyOUVMRWRCUVV0TExFVkJRVTlNTEVWQlEycENjRVFzUzBGQlN5dEZMRWRCUVV0MFFpeEZRVUZQYzBJc1JVRkRWaTlGTEUxQlJWaHRXQ3hGUVVGTGJsWXNWVUZCVld0RExGTkJRVmNzVTBGQlZWUXNSMEZMYUVNc1QwRktRWHBFTEV0QlFVdHJSQ3hIUVVGTFR5eEZRVUZQVUN4RlFVTnFRbXhFTEV0QlFVdHRSQ3hIUVVGTFRTeEZRVUZQVGl4RlFVTnFRbTVFTEV0QlFVdHZSQ3hIUVVGTFN5eEZRVUZQVEN4RlFVTnFRbkJFTEV0QlFVc3JSU3hIUVVGTGRFSXNSVUZCVDNOQ0xFVkJRMVl2UlN4TlFVVlliVmdzUlVGQlMyNVdMRlZCUVZWdFF5eFBRVUZUTEZOQlFWVldMRWRCU3psQ0xFOUJTa0Y2UkN4TFFVRkxhMFFzUjBGQlMwOHNSVUZCVDFBc1JVRkRha0pzUkN4TFFVRkxiVVFzUjBGQlMwMHNSVUZCVDA0c1JVRkRha0p1UkN4TFFVRkxiMFFzUjBGQlMwc3NSVUZCVDB3c1JVRkRha0p3UkN4TFFVRkxLMFVzUjBGQlMzUkNMRVZCUVU5elFpeEZRVU5XTDBVc1RVRkZXRzFZTEVWQlFVdHVWaXhWUVVGVmIwTXNUVUZCVVN4VFFVRlZMME1zUlVGQlQybERMRWRCVVhCRExFOUJVRXRCTEVsQlEwUkJMRVZCUVU5MFJDeE5RVVZZYzBRc1JVRkJTMG9zUjBGQlN6ZENMRVZCUTFacFF5eEZRVUZMU0N4SFFVRkxPVUlzUlVGRFZtbERMRVZCUVV0R0xFZEJRVXN2UWl4RlFVTldhVU1zUlVGQlMzbENMRWRCUVVzeFJDeEZRVU5JYVVNc1IwRkZXRFpVTEVWQlFVdHVWaXhWUVVGVmNVTXNWVUZCV1N4VFFVRlZaaXhIUVVNMVFrRXNTVUZEUkVFc1JVRkJUM1JFTEUxQlJWZ3NTVUZCU1RaRUxFVkJRVk0zUkN4TFFVRkxOa1FzVTBGRGJFSXNUMEZCWlN4SlFVRllRU3hGUVVOUE4wUXNTMEZGU1N4SlFVRllOa1FzUjBGRFFWQXNSVUZCUzBvc1IwRkJTeXhGUVVOV1NTeEZRVUZMU0N4SFFVRkxMRVZCUTFaSExFVkJRVXRHTEVkQlFVc3NSVUZEVmtVc1JVRkJTM2xDTEVkQlFVc3NSVUZEU0hwQ0xFbEJSVmhQTEVWQlFWTXNSVUZCVFVFc1JVRkRabEFzUlVGQlMwb3NSMEZCUzFjc1JVRkRWbEFzUlVGQlMwZ3NSMEZCUzFVc1JVRkRWbEFzUlVGQlMwWXNSMEZCUzFNc1JVRkRWbEFzUlVGQlMzbENMRWRCUVV0c1FpeEZRVU5JVUN4SlFVVllObFFzUlVGQlMyNVdMRlZCUVZWdlZpeGhRVUZsTEZOQlFWVTNVeXhGUVVGUmFrSXNSMEZKTlVNc1QwRklTMEVzU1VGRFJFRXNSVUZCVDNSRUxFMUJSVXAxUlN4RlFVRlBOa3NzWVVGQllYQlFMRXRCUVUxelJDeEpRVVZ5UXpaVUxFVkJRVXN4VWl4SlFVRk5MRk5CUVZWb1F5eEZRVUZSZDBJc1JVRkJVMU1zUlVGQlRYQkRMRWRCVVhoRExFOUJVRXRCTEVsQlEwUkJMRVZCUVU4c1NVRkJTVFpVTEVkQlJXWTNWQ3hGUVVGTFNpeEZRVUZKVHl4RlFVRlBVQ3hGUVVGSmQwTXNSMEZCVVZRc1JVRkJVUzlDTEVWQlFVbFBMRVZCUVU5UUxFZEJReTlEU1N4RlFVRkxTQ3hGUVVGSlRTeEZRVUZQVGl4RlFVRkpkVU1zUjBGQlVWUXNSVUZCVVRsQ0xFVkJRVWxOTEVWQlFVOU9MRWRCUXk5RFJ5eEZRVUZMUml4RlFVRkpTeXhGUVVGUFRDeEZRVUZKYzBNc1IwRkJVVlFzUlVGQlVUZENMRVZCUVVsTExFVkJRVTlNTEVkQlF5OURSU3hGUVVGTGVVSXNSVUZCU1hSQ0xFVkJRVTl6UWl4RlFVRkpWeXhIUVVGUlZDeEZRVUZSUml4RlFVRkpkRUlzUlVGQlQzTkNMRWRCUTNoRGVrSXNSMEZGV0RaVUxFVkJRVXQ0VWl4SlFVRk5MRk5CUVZWc1F5eEZRVUZSZDBJc1JVRkJVek5DTEVkQlVXeERMRTlCVUV0QkxFbEJRMFJCTEVWQlFVOHNTVUZCU1RaVUxFZEJSV1kzVkN4RlFVRkxTaXhGUVVGSlR5eEZRVUZQVUN4RlFVRkpLMElzUlVGQlVTOUNMRVZCUXpWQ1NTeEZRVUZMU0N4RlFVRkpUU3hGUVVGUFRpeEZRVUZKT0VJc1JVRkJVVGxDTEVWQlF6VkNSeXhGUVVGTFJpeEZRVUZKU3l4RlFVRlBUQ3hGUVVGSk5rSXNSVUZCVVRkQ0xFVkJRelZDUlN4RlFVRkxlVUlzUlVGQlNYUkNMRVZCUVU5elFpeEZRVUZKUlN4RlFVRlJSaXhGUVVOeVFucENMRWRCUlZnMlZDeEZRVUZMZGxJc1YwRkJZU3hUUVVGVmJrTXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFWRjZReXhQUVZCTFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVrMlZDeEhRVVZtTjFRc1JVRkJTMG9zUlVGQlNVOHNSVUZCVDFBc1JVRkJTU3RDTEVWQlFWRXZRaXhGUVVNMVFra3NSVUZCUzBnc1JVRkJTVTBzUlVGQlQwNHNSVUZCU1RoQ0xFVkJRVkU1UWl4RlFVTTFRa2NzUlVGQlMwWXNSVUZCU1Vzc1JVRkJUMHdzUlVGQlNUWkNMRVZCUVZFM1FpeEZRVU0xUWtVc1JVRkJTM2xDTEVWQlFVbDBRaXhGUVVGUGMwSXNSVUZCU1VVc1JVRkJVVVlzUlVGRGNrSjZRaXhIUVVWWU5sUXNSVUZCUzNSU0xGRkJRVlVzVTBGQlZYQkRMRVZCUVZGM1FpeEZRVUZUTTBJc1IwRlJkRU1zVDBGUVMwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSk5sUXNSMEZGWmpkVUxFVkJRVXRLTEVWQlFVbFBMRVZCUVU5UUxFVkJRVWtyUWl4RlFVRlJMMElzUlVGRE5VSkpMRVZCUVV0SUxFVkJRVWxOTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1JVRkROVUpITEVWQlFVdEdMRVZCUVVsTExFVkJRVTlNTEVWQlFVazJRaXhGUVVGUk4wSXNSVUZETlVKRkxFVkJRVXQ1UWl4RlFVRkpkRUlzUlVGQlQzTkNMRVZCUVVsRkxFVkJRVkZHTEVWQlEzSkNla0lzUjBGRldEWlVMRVZCUVV0eVVpeFRRVUZYTEZOQlFWVnlReXhGUVVGUmQwSXNSVUZCVXpOQ0xFZEJVWFpETEU5QlVFdEJMRWxCUTBSQkxFVkJRVThzU1VGQlNUWlVMRWRCUldZM1ZDeEZRVUZMU2l4RlFVRkpUeXhGUVVGUFVDeEZRVUZKSzBJc1JVRkJVUzlDTEVWQlF6VkNTU3hGUVVGTFNDeEZRVUZKVFN4RlFVRlBUaXhGUVVGSk9FSXNSVUZCVVRsQ0xFVkJRelZDUnl4RlFVRkxSaXhGUVVGSlN5eEZRVUZQVEN4RlFVRkpOa0lzUlVGQlVUZENMRVZCUXpWQ1JTeEZRVUZMZVVJc1JVRkJTWFJDTEVWQlFVOXpRaXhGUVVGSlJTeEZRVUZSUml4RlFVTnlRbnBDTEVkQlJWZzJWQ3hGUVVGTGNGSXNTMEZCVHl4SlFVRkpiMUlzUlVGQlN5eERRVUZETEVWQlFVY3NSVUZCUnl4RlFVRkhMRWxCUXk5Q1FTeEZRVUZMYmxJc1NVRkJUU3hKUVVGSmJWSXNSVUZCU3l4RFFVRkRMRVZCUVVjc1JVRkJSeXhGUVVGSExFbEJRM1pDUVN4RlFYQlhZeXhIUVhOWGVrSndXQ3hGUVVGUk5rVXNVVUZCVlhWVExFY3NaMlZEZUZkc1FpeGhRVU5CTEZGQlJVRXNVMEZCWjBKRkxFVkJRV012Vml4SFFVVTNRaXhKUVVGSlpDeEZRVUZKTEVsQlFVa3NSVUZCUVcxT0xFdEJSMW9zVDBGR1FXNU9MRVZCUVVVeVJ5eGpRVU5HTTBjc1JVRkJSVGhQTEZWQlFWZG9UeXhIUVVOT1pDeEZRVWRTTEZOQlFXZENPRmNzUlVGQlZXNVdMRWRCUlhwQ0xFbEJRVWt6UWl4RlFVRkpMRWxCUVVrc1JVRkJRVzFPTEV0QlIxb3NUMEZHUVc1T0xFVkJRVVV5Unl4alFVTkdNMGNzUlVGQlJUUkVMRTFCUVU5cVF5eEhRVU5HTTBJc1JVRkhVaXhUUVVGblFpdFhMRVZCUVRCQ2NFNHNSVUZCV1hGT0xFZEJSWEpFTEU5QlFVdEJMRVZCUjBVc1JVRkJRVFZSTEV0QlFVdHpSQ3hqUVVGbFF5eEZRVUZOY1U0c1JVRkJUVGRVTEV0QlFVdDVUU3hIUVVGTExFdEJSbnBETEVsQlFVa3NSVUZCUVhoS0xFdEJRVTBzUlVGQlFVRXNTMEZCUzNkRUxGTkJRVk4yUkN4TlFXVnFReXhUUVVGblFqUlJMRVZCUVdWcVdDeEZRVUZUY1VJc1IwRkZka01zU1VGQlNUUkpMRVZCUVUxcVN5eEZRVUZGYVVzc1NVRkJTelZKTEVkQlEycENMRTlCUVU4c1NVRkJTU3hGUVVGQlZ5eExRVUZOTEVOQlFVVnBTU3hGUVVGTExFZEJRVXRCTEVWQlFVc3NSMEZCU1VFc1JVRkJTeXhMUVVjMVF5eFRRVUZuUWpoTExFVkJRWFZDTDFVc1IwRkZkRU1zU1VGQlMwRXNSVUZGU2l4UFFVZEVMRWxCUVVscldDeEZRVUUyUWl4SFFVTTNRa01zUlVGQlRXNVlMRVZCUVVVMFR5eGhRVUZqTEVsQlFVa3NSVUZCUVN0SUxFdEJRVTBzUTBGQlJTeEZRVUZITEVWQlFVY3NSVUZCUnl4TFFVTnNReXhIUVVGVVVTeEZRVUZKZWxVc1IwRkJiVUlzUjBGQlZIbFZMRVZCUVVsNFZTeEhRVUZ0UWl4SFFVRlVkMVVzUlVGQlNYWlZMRWxCUlc1RGMxVXNSVUZCVlc1SUxGTkJRVmNzUTBGQlJYSk9MRVZCUVVkNVZTeEZRVUZKZWxVc1JVRkJSME1zUlVGQlIzZFZMRVZCUVVsNFZTeEZRVUZIUXl4RlFVRkhkVlVzUlVGQlNYWlZMRWxCUjI1RUxFbEJRVWwzVlN4RlFVRlRTQ3hGUVVGbGFsZ3NSVUZCUnl4SFFVRkpjVVFzVTBGREwwSm5WU3hGUVVGVFNpeEZRVUZsYWxnc1JVRkJSeXhIUVVGSmNVUXNVMEZETDBKcFZTeEZRVUZUVEN4RlFVRmxhbGdzUlVGQlJ5eEhRVUZKY1VRc1UwRkRja0lzUjBGQlZpdFVMRWRCUVhsQ0xFZEJRVlpETEVkQlFYbENMRWRCUVZaRExFbEJSV3BEU2l4RlFVRlZkRlFzVFVGQlVTeERRVUZGYkVJc1JVRkJTVEJWTEVWQlFWRjZWU3hGUVVGSE1GVXNSVUZCVVhwVkxFVkJRVWN3VlN4SlFVY3ZReXhKUVUxSlF5eEZRVTVUTEVsQlFVa3NSVUZCUVhwT0xFdEJRMmhDTEVOQlEwTTVTaXhGUVVGRmRVTXNSMEZCU1N4SFFVRlZObFVzUlVGQlVYQllMRVZCUVVWMVF5eEhRVUZKTEVkQlFWVTJWU3hGUVVGUmNGZ3NSVUZCUlhWRExFZEJRVWtzUjBGQlZUWlZMRVZCUTJoRmNGZ3NSVUZCUlhWRExFZEJRVWtzUjBGQlZUaFZMRVZCUVZGeVdDeEZRVUZGZFVNc1IwRkJTU3hIUVVGVk9GVXNSVUZCVVhKWUxFVkJRVVYxUXl4SFFVRkpMRWRCUVZVNFZTeEZRVU5vUlhKWUxFVkJRVVYxUXl4SFFVRkpMRWRCUVZVclZTeEZRVUZSZEZnc1JVRkJSWFZETEVkQlFVa3NSMEZCVlN0VkxFVkJRVkYwV0N4RlFVRkZkVU1zUjBGQlNTeEpRVUZWSzFVc1NVRkZha1J1VkN4VFFVMXFRaXhQUVV4aExFZEJRVlJ2VkN4RlFVRkpOMVVzUjBGQmJVSXNSMEZCVkRaVkxFVkJRVWsxVlN4SFFVRnRRaXhIUVVGVU5GVXNSVUZCU1ROVkxFbEJSVzVEYzFVc1JVRkJWVTBzVTBGQlZ5eERRVUZGT1ZVc1JVRkJSelpWTEVWQlFVazNWU3hGUVVGSFF5eEZRVUZITkZVc1JVRkJTVFZWTEVWQlFVZERMRVZCUVVjeVZTeEZRVUZKTTFVc1JVRkJSekpDTEVWQlFVZG5WQ3hGUVVGSmFGUXNTVUZIZEVReVV5eEZRVWRTTEZOQlFXZENUeXhGUVVGeFFsQXNSMEZGY0VNc1NVRkJTMEVzUlVGRlNpeFBRVUZQTEVWQlFVRXZTaXhMUVVGTGRrUXNVMEZIWWl4SlFVRkpPRTRzUlVGVFFVTXNSVUZUUVVNc1JVRm1TRVlzUlVGR1NWSXNSVUZCVlc1SUxGTkJSVXdzU1VGQlNTeEZRVUZCTDA0c1MwRkJUU3hEUVVGRmExWXNSVUZCVlc1SUxGTkJRVk55VGl4RlFVRkhkMVVzUlVGQlZXNUlMRk5CUVZOd1RpeEZRVUZIZFZVc1JVRkJWVzVJTEZOQlFWTnVUaXhKUVVrelJTeEpRVUZKTEVWQlFVRmFMRXRCUVUwc1EwRkJSU3hGUVVGSExFVkJRVWNzU1VGTE0wSXlWaXhGUVVaSlZDeEZRVUZWZEZRc1RVRkZUQ3hKUVVGSkxFVkJRVUUxUWl4TFFVRk5MRU5CUVVWclZpeEZRVUZWZEZRc1RVRkJUV3hDTEVWQlFVZDNWU3hGUVVGVmRGUXNUVUZCVFdwQ0xFVkJRVWQxVlN4RlFVRlZkRlFzVFVGQlRXaENMRWxCU1d4RkxFbEJRVWtzUlVGQlFWb3NTMEZCVFN4RFFVRkZMRVZCUVVjc1JVRkJSeXhKUVVzelFqUldMRVZCUmtsV0xFVkJRVlZOTEZOQlJWQXNTVUZCU1N4RlFVRkJjRklzUzBGQlRTeERRVUZGT0ZFc1JVRkJWVTBzVTBGQlV6bFZMRVZCUVVkM1ZTeEZRVUZWVFN4VFFVRlROMVVzUlVGQlIzVlZMRVZCUVZWTkxGTkJRVk0xVlN4RlFVRkhjMVVzUlVGQlZVMHNVMEZCVTJwVUxFbEJTV3BITEVsQlFVa3NSVUZCUVRaQ0xFdEJRVTBzUTBGQlJTeEZRVUZITEVWQlFVY3NSVUZCUnl4SlFVYzNRaXhKUVVGSmVWSXNSVUZCVFdoQ0xFVkJRV05oTEVkQlFWTm9WU3hUUVVGVmExVXNSVUZCUzJwUUxGVkJSMmhFTEVkQlJrRnJVQ3hGUVVGTlFTeEZRVUZKYmxVc1UwRkJWVzlVTEVWQlFWVmhMRWxCUlRGQ1J5eFBRVUZQUXl4TlFVRlBSaXhGUVVGSmRGWXNSMEZCU1N4SlFVVjZRaXhOUVVGTkxFbEJRVWw1Vml4TlFVRlBMSEZGUVVkc1FpeFBRVUZQU0N4RlFYaElVaXhwUWtGUlFTeGhRVkZCTERaQ1FWRkJMSFZEUVVFMlEyNVlMRWRCUlRWRExFbEJRVWtyUnl4RlFVRkxjMUFzUlVGQk1FSXNSVUZCUVM5VkxFdEJRVXN3UkN4TlFVRlBhRVlzUlVGQlJXZERMRWRCUXpkRFowWXNSVUZCUzNGUUxFVkJRVEJDTEVWQlFVRXZWU3hMUVVGTGVVUXNSMEZCU1M5RkxFVkJRVVZwUXl4SFFVTXhRMmRHTEVWQlFVdHZVQ3hGUVVFd1FpeEZRVUZCTDFVc1MwRkJTekpFTEZGQlFWTnFSaXhGUVVGRmEwTXNSMEZIYmtRc1QwRkVVVFpGTEVWQlFVY3ZSQ3hUUVVGVlowVXNSMEZCUzJoRkxGTkJRVlZwUlN4SFFVTXpRbWRDTEZWQlIxWXNhMEpCVFVFc01FSkJjVU5CTEhkQ1FUaERRU3h0UTBGQmVVTnpVQ3hGUVVGcFFrTXNSVUZCWlVNc1IwRkZlRVVzU1VGQlNVTXNSVUZCWVN4SlFVRkpMRVZCUVVGd1Z5eExRVUZOYTFjc1JVRkJVVGxXTEV0QlEyNURaMWNzUlVGQlZ6TlZMRk5CUVZWM1ZTeEhRVU55UWl4SlFVRkpTU3hGUVVGaFJDeEZRVUZYTDFVc1UwRkROVUlyVlN4RlFVRlhkbFVzV1VGRFdDeEpRVWRKZVZVc1JVRklRVU1zUlVGQmFVSXNTVUZCU1N4RlFVRkJkbGNzUzBGQlRXbFhMRVZCUVZVM1ZpeExRVUZOYjBJc1NVRkJTeXhKUVVGSkxFVkJRVUY0UWl4TFFVRk5iMWNzUlVGQlYyaFhMRXRCUVUxM1FpeE5RVUZQZVZVc1JVRkJZU3hKUVVVdlJrY3NSVUZCVTBvc1JVRkpXa1VzUlVGR1IwVXNSVUZCVHpsV0xFVkJRVWtzU1VGRlRDeEpRVUZKTEVWQlFVRldMRXRCUVVzc1EwRkJSU3hGUVVGSExFVkJRVWNzU1VGSmFrSXNTVUZCU1N4RlFVRkJRU3hMUVVGTExFTkJRVVVzUlVGQlJ5eEZRVUZITEVsQlJUTkNMRWxCUVVsNVZ5eEZRVUZUTEVWQlFVRjZWeXhMUVVGTGQwTXNUVUZCVDJkVkxFVkJRVkZHTEVWQlFWRXNTVUZCU1N4RlFVRkJkRmNzVFVGRE4wTjVWeXhGUVVGUE5WVXNXVUZEVUhsVkxFVkJRVk1zUlVGQlFYUlhMRXRCUVV0M1F5eE5RVUZQYVZVc1JVRkJVVVFzUlVGQlVVWXNSMEZEY2tNc1NVRkJTVWtzUlVGQlpTeEpRVUZKTEVWQlFVRjJUQ3hMUVVOMFFpeERRVU5EYlV3c1JVRkJUelZXTEVWQlFVYzBWaXhGUVVGUE0xWXNSVUZCUnpKV0xFVkJRVTh4Vml4RlFVRkhMRVZCUXpsQ05GWXNSVUZCVHpsV0xFVkJRVWM0Vml4RlFVRlBOMVlzUlVGQlJ6WldMRVZCUVU4MVZpeEZRVUZITEVWQlF6bENObFlzUlVGQlR5OVdMRVZCUVVjclZpeEZRVUZQT1ZZc1JVRkJSemhXTEVWQlFVODNWaXhGUVVGSExFVkJRemxDTEVWQlFVY3NSVUZCUnl4RlFVRkhMRWxCU1ZCblFpeEZRVUZSYTFRc1JVRkJWU3hKUVVGSkxFVkJRVUU1VlN4TFFVRk5MRU5CUVVWdFZ5eEZRVUZYUlN4RlFVRlpSaXhMUVVONlJDeFBRVUZQZEVJc1JVRkJZekJDTEVkQlFXbENOMVVzVTBGQlZXZFdMRVZCUVdGb1ZpeFRRVUZWUlN4TFFVZDRSU3c0UWtGQmIwTXJWU3hGUVVGWk0xUXNSVUZCYVVKR0xFZEJSV2hGTEU5QlFVOHNTVUZCU1N4RlFVRkJPVU1zUzBGRFZpeERRVU5ETWxjc1JVRkJTMnBYTEVWQlFVbHpReXhGUVVGVmRFTXNSVUZCU1c5RExFVkJRM1pDTmxRc1JVRkJTMmhYTEVWQlFVbHhReXhGUVVGVmNrTXNSVUZCU1cxRExFVkJRM1pDTmxRc1JVRkJTeTlXTEVWQlFVbHZReXhGUVVGVmNFTXNSVUZCU1d0RExFdEJTekZDTERCQ1FVRm5RemhVTEVWQlFXVkRMRVZCUVdGRExFZEJSVE5FTEVsQlFVbERMRVZCUVZNMVZpeExRVUZMTWxZc1MwRkJUVVFzUlVGQlMwTXNSMEZETjBJc1QwRkJTVU1zUjBGQlZTeEZRVVZPTEV0QlNVRklMRVZCUVZGSExFZEJTV3BDTEN0Q1FVRnhRemxYTEVkQlJYQkRMRWxCUVVrclZ5eEZRVUZWTDFjc1JVRkJUMmRZTEU5QlFWVkRMRWRCUVRKQ0xFMUJRVXhCTEVkQlEzSkVMRTlCUVVsR0xFVkJSVWszVml4TFFVRkxNRllzVDBGQlVVY3NSMEZKWWl4TlFVbFVMRFJDUVVGclEwY3NSVUZCYzBKRExFVkJRWE5DZEZrc1IwRkZOMFVzU1VGQlNXZE1MRVZCUVZNc1QwRkJTQ3hWUVVGUmMwNHNSMEZEYkVJc1IwRkJTVVFzUjBGQlQwRXNSVUZCU1hCS0xGVkJRVmx4U2l4RlFVRkpja29zVTBGREwwSXNRMEZEUXl4SlFVRkpjMG9zUlVGQlN5eEpRVUZKTEVWQlFVRnlXQ3hMUVVGTkxFTkJRVVZ0V0N4RlFVRkpjRW9zVTBGQlUzSk9MRVZCUVVkNVZ5eEZRVUZKY0Vvc1UwRkJVM0JPTEVWQlFVZDNWeXhGUVVGSmNFb3NVMEZCVTI1T0xFbEJRemxFTUZjc1JVRkJTeXhKUVVGSkxFVkJRVUYwV0N4TFFVRk5MRU5CUVVWdldDeEZRVUZKY2tvc1UwRkJVM0pPTEVWQlFVY3dWeXhGUVVGSmNrb3NVMEZCVTNCT0xFVkJRVWQ1Vnl4RlFVRkpja29zVTBGQlUyNU9MRWxCUXpsRU1sY3NSVUZCVVN4RlFVRkJkbGdzUzBGQlMybEVMRWxCUVV0dlZTeEZRVUZKUXl4RlFVRkplRmtzUlVGQlJ5eEpRVUZKTEVWQlFVRnJRaXhOUVVOeVF6aEtMRVZCUVU5cFJTeFRRVU5RTEVOQlEwTnlUaXhGUVVGSE5sY3NSVUZCVFRkWExFVkJRMVJETEVWQlFVYzBWeXhGUVVGTk5WY3NSVUZEVkVNc1JVRkJSekpYTEVWQlFVMHpWeXhIUVVsWUxFZEJRVWwxVnl4SFFVRlBRU3hGUVVGSmRsWXNUMEZCVTNkV0xFVkJRVWw0Vml4TlFVTTFRaXhEUVVORExFbEJRVWswVml4RlFVRkxMRWxCUVVrc1JVRkJRWGhZTEV0QlFVMHNRMEZCUlcxWUxFVkJRVWwyVml4TlFVRk5iRUlzUlVGQlIzbFhMRVZCUVVsMlZpeE5RVUZOYWtJc1JVRkJSM2RYTEVWQlFVbDJWaXhOUVVGTmFFSXNTVUZEY2tRMlZ5eEZRVUZMTEVsQlFVa3NSVUZCUVhwWUxFdEJRVTBzUTBGQlJXOVlMRVZCUVVsNFZpeE5RVUZOYkVJc1JVRkJSekJYTEVWQlFVbDRWaXhOUVVGTmFrSXNSVUZCUjNsWExFVkJRVWw0Vml4TlFVRk5hRUlzU1VGRGNrUm5RaXhGUVVGUkxFVkJRVUUxUWl4TFFVRkxhVVFzU1VGQlMzVlZMRVZCUVVsRExFVkJRVWt6V1N4RlFVRkhMRWxCUVVrc1JVRkJRV3RDTEUxQlEzSkRPRW9zUlVGQlQyeEpMRTFCUTFBc1EwRkRRMnhDTEVWQlFVZHJRaXhGUVVGTmJFSXNSVUZEVkVNc1JVRkJSMmxDTEVWQlFVMXFRaXhGUVVOVVF5eEZRVUZIWjBJc1JVRkJUV2hDTEVkQlNWZ3NSMEZCU1hWWExFZEJRVTlCTEVWQlFVa3pRaXhWUVVGWk5FSXNSVUZCU1RWQ0xGTkJReTlDTEVOQlEwTXNTVUZCU1d0RExFVkJRVXNzU1VGQlNVTXNSVUZCV1ZJc1JVRkJTVE5DTEZWQlEzcENiME1zUlVGQlN5eEpRVUZKUkN4RlFVRlpVQ3hGUVVGSk5VSXNWVUZEZWtKRUxFVkJRVTF0UXl4RlFVRkhSeXhOUVVGUFJDeEZRVUZXUml4RFFVRm5RalZaTEVkQlF6RkNaMHdzUlVGQlR6Qk1MRk5CUTFBc1EwRkRRMnBVTEVWQlFVZG5WQ3hGUVVGSmFGUXNSVUZEVURkQ0xFVkJRVWMyVlN4RlFVRkpOMVVzUlVGRFVFTXNSVUZCUnpSVkxFVkJRVWsxVlN4RlFVTlFReXhGUVVGSE1sVXNSVUZCU1ROVkxFZEJTVlFzVDBGQlQydEtMRWRCUjFJc0swSkJRWEZEWjA4c1IwRkZjRU1zVDBGQlMwRXNSVUZKUlM5RkxFVkJSRTh3UXl4RlFVRnhRbkZETEVkQlEwZHFXQ3hQUVVGUFowVXNWMEZJY2tOcFZDeEhRVTFVTEc5RFFVRXdRMEVzUjBGRmVrTXNTVUZCU1dwRExFVkJRVTFLTEVWQlFYRkNjVU1zUjBGRE0wSjJReXhGUVVGTlRTeEZRVUZKTlZBc1UwRkJVemxFTEZOQlEyNUNaMVFzUlVGQlRWVXNSVUZCU1dwS0xHRkJRV01zU1VGQlNTeEZRVUZCSzBnc1MwRkJUU3hEUVVGRkxFVkJRVWNzUlVGQlJ5eEZRVUZITEV0QlEycEVMRTFCUVU4c1EwRkJSVkVzUlVGQlNYcFZMRVZCUVVkNVZTeEZRVUZKZUZVc1JVRkJSM2RWTEVWQlFVbDJWU3hGUVVGSE1sVXNSVUZCU1doVUxFVkJRVWRuVkN4RlFVRkpOMVVzUlVGQlJ6WlZMRVZCUVVrMVZTeEZRVUZITkZVc1JVRkJTVE5WTEVsQlIzaEVMR3REUVVGM1EyMVlMRWRCVDNaRExFOUJRVTkwUXl4RlFVcFFMRU5CUTBNeFNDeFRRVUZWTEVOQlFVVnlUaXhGUVVGSGNWZ3NSVUZCVVN4SFFVRkpjRmdzUlVGQlIyOVlMRVZCUVZFc1IwRkJTVzVZTEVWQlFVZHRXQ3hGUVVGUkxFbEJRM0pFZGtNc1UwRkJWU3hEUVVGRmFsUXNSVUZCUjNkV0xFVkJRVkVzUjBGQlNYSllMRVZCUVVkeFdDeEZRVUZSTEVkQlFVbHdXQ3hGUVVGSGIxZ3NSVUZCVVN4SFFVRkpibGdzUlVGQlIyMVlMRVZCUVZFc1QwRkxkRVVzT0VKQlFXOURReXhGUVVGelFrTXNSMEZGZWtRc1NVRkJTVU1zUlVGQlMzcERMRVZCUVhGQ2RVTXNSMEZETVVKSExFVkJRVXN4UXl4RlFVRnhRbmRETEVkQlF6bENMRTlCUVU5c1JpeEZRVUYxUWl4RlFVRkJOVWdzUzBGQlN6bElMRkZCUVZNMlZTeEZRVUZKUXl4RlFVRkpMRWxCUVVrc1JVRkJRV2hPTEZGQlIzcEVMRFJDUVVGclEyNU9MRVZCUVZOdllTeEhRVVV4UXl4SlFVRkpReXhGUVVGTExFbEJRVWtzUlVGQlFURkVMRXRCUVUwc1EwRkJSWGxFTEVWQlFVY3hXQ3hGUVVGSE1GZ3NSVUZCUjNwWUxFVkJRVWQ1V0N4RlFVRkhlRmdzUlVGQlJ5eEpRVU4yUXl4UFFVRlBMRWxCUVVrc1JVRkJRVm9zUzBGQlRXaERMRVZCUVVVMFR5eGhRVUZqZVV3c1JVRkJTU3hKUVVGSkxFVkJRVUV4UkN4TlFVRlRkbFVzVFVGSGJrUXNNa0pCUVdsRE9GY3NSMEZGYUVNc1QwRkJTMEVzUlVGRlJTeEpRVUZKTEVWQlFVRnNXQ3hMUVVGTkxFTkJRVVZyV0N4RlFVRkZlRmNzUlVGQlIzZFhMRVZCUVVWMlZ5eEZRVUZIZFZjc1JVRkJSWFJYTEVsQlJIWkNMRTFCU1ZRc2VVSkJRU3RDYzFjc1IwRkZPVUlzVDBGQlMwRXNSVUZGUlN4RFFVRkZlRmNzUlVGQlIzZFhMRVZCUVVWNFZ5eEZRVUZIUXl4RlFVRkhkVmNzUlVGQlJYWlhMRVZCUVVkRExFVkJRVWR6Vnl4RlFVRkZkRmNzUjBGRWRFSXNUeXcwUmtOMFUxUXNkMEpCUTBFc2RVSkJRMEVzZDBKQlEwRXNkVUpCUTBFc2QwSkJRMEVzZDBKQlEwRXNlVUlzTmtKRFRrRTdPenM3T3pzN096czdPenM3T3p0QlFXZENRU3hKUVVGSk1GZ3NSVUZCWjBJc1UwRkJVM0JoTEVWQlFVZHZWaXhIUVVrMVFpeFBRVWhCWjBZc1JVRkJaMEpvWVN4UFFVRlBhV0VzWjBKQlEyeENMRU5CUVVWRExGVkJRVmNzWTBGQlowSkRMRTlCUVZNc1UwRkJWWFpoTEVWQlFVZHZWaXhIUVVGTGNGWXNSVUZCUlhOaExGVkJRVmxzUml4SlFVTjJSU3hUUVVGVmNGWXNSVUZCUjI5V0xFZEJRVXNzU1VGQlN5eEpRVUZKTlZRc1MwRkJTelJVTEVWQlFVOUJMRVZCUVVVM1ZDeGxRVUZsUXl4TFFVRkplRUlzUlVGQlJYZENMRWRCUVVzMFZDeEZRVUZGTlZRc1RVRkRjRVI0UWl4RlFVRkhiMVlzU1VGSGNrSXNVMEZCVTI5R0xFVkJRVlY0WVN4RlFVRkhiMVlzUjBGRmVrSXNVMEZCVTNGR0xFbEJRVTl1WWl4TFFVRkxiMklzV1VGQll6RmhMRVZCUkc1RGIyRXNSVUZCWTNCaExFVkJRVWR2Vml4SFFVVnFRbkJXTEVWQlFVVnpRaXhWUVVGclFpeFBRVUZPT0ZRc1JVRkJZV2hXTEU5QlFVOVpMRTlCUVU5dlZTeEpRVUZOY1VZc1JVRkJSMjVhTEZWQlFWazRWQ3hGUVVGRk9WUXNWVUZCVnl4SlFVRkpiVm9zUjBGSE5VVXNTVUZCU1VVc1JVRkJWeXhYUVZGc1FpeFBRVkJCUVN4RlFVRlhkbUVzVDBGQlQzZGhMRkZCUVZVc1UwRkJhMEpvWVN4SFFVTXhReXhKUVVGTExFbEJRVWxoTEVWQlFVY3ZRaXhGUVVGSkxFVkJRVWQ1UWl4RlFVRkpNRm9zVlVGQlZURllMRTlCUVZGNlJDeEZRVUZKZVVJc1JVRkJSM3BDTEVsQlJUVkRMRWxCUVVzc1NVRkJTVGhDTEV0QlJGUkRMRVZCUVVsdldpeFZRVUZWYm1Jc1IwRkRUMVVzVDBGQlQydENMRlZCUVZWRExHVkJRV1V4UWl4TFFVRkxORUlzUlVGQlIwUXNTMEZCU1Zvc1JVRkJSVmtzUjBGQlMwTXNSVUZCUlVRc1NVRkZPVVVzVDBGQlQxb3NTVUZGUzJ0aExFMUJRVTE0WWl4TFFVRk5kV0lzV1VGSGVrSXNVMEZCVTBVc1JVRkJUM1JhTEVWQlFVZHhVeXhIUVVOMFFpeEpRVUZKYkZRc1JVRkJTU3hIUVVOU0xFbEJRVXNzU1VGQlNWa3NTMEZCUzBNc1JVRkJUM0pDTEU5QlFVOXJRaXhWUVVGVlF5eGxRVUZsTVVJc1MwRkJTelJDTEVWQlFVZEVMRWxCUVUxelV5eEZRVUZGYTBnc1VVRkJVWGhhTEVkQlFVc3NTVUZET1VWYUxFVkJRVVZaTEVkQlFVdERMRVZCUVVWRUxFbEJRMklzUjBGQlV5eE5RVUZNUXl4SFFVRnhSQ3h0UWtGQmFrTnlRaXhQUVVGUE5tRXNjMEpCUTNSQ0xFdEJRVWwyWWl4RlFVRkpMRVZCUVdJc1NVRkJaMEk0UWl4RlFVRkpjRUlzVDBGQlR6WmhMSE5DUVVGelFuaGFMRWRCUVVrdlFpeEZRVUZKT0VJc1JVRkJSVEpDTEU5QlFWRjZSQ3hKUVVNelJHOVZMRVZCUVVWclNDeFJRVUZSZUZvc1JVRkJSVGxDTEVsQlFVMHNSMEZCUzFVc1QwRkJUMnRDTEZWQlFWVTBXaXh4UWtGQmNVSnlZaXhMUVVGTE5FSXNSVUZCUjBRc1JVRkJSVGxDTEUxQlEzWkZhMElzUlVGQlJWa3NSVUZCUlRsQ0xFbEJRVTByUWl4RlFVRkZSQ3hGUVVGRk9VSXNTMEZGTVVJc1QwRkJUMnRDTEVWQlIwb3NVMEZCVTNWaExFVkJRVmRETEVWQlFWbDBUQ3hGUVVGUk4wOHNSVUZCUzI5aExFZEJRMmhFTEVsQlFUSkljbUlzUlVGQmRraEVMRVZCUVVrNFlTeFZRVUZWTVZnc1QwRkJVVE5ETEVWQlFVbFVMRVZCUVVrc1JVRkJTU3RRTEVWQlFXdENMRTlCUVZSMVRDeEZRVUZuUWtFc1JVRkJUMnBpTEU5QlFVOXJZaXg1UWtGQmVVSjRUQ3hGUVVGUk4wOHNSMEZCVDI5aExFVkJRM0pJTEVkQlFYVkNMR2xDUVVGYVJTeFRRVUZ2UkN4dFFrRkJja0pCTEZGQlFWRkRMRk5CUVhsQ2FHSXNSVUZCU1N0aExGRkJRVkZETEZOQlFWTktMRVZCUVZsMFRDeEZRVUZSTjA4c1JVRkJTMjloTEZGQlEzQklMRWxCUVVzc1NVRkJTVE5pTEVWQlFVa3dZaXhGUVVGWGFsa3NUMEZCVXl4RlFVRkhla1FzUjBGQlN5eEZRVUZIUVN4TFFVRlRUU3hGUVVGSmIySXNSVUZCVnpGaUxFMUJRVWxqTEVkQlFVdFVMRVZCUVVrc1JVRkJTVU1zUlVGQlJWRXNSMEZCUzFRc1JVRkJTU3hGUVVGSlF5eEZRVUZGT0ZBc1JVRkJVVGRQTEVWQlFVdFVMRWRCUVV0U0xFVkJRVVU0VUN4RlFVRlJOMDhzUzBGQlUxUXNSMEZEYUVvc1QwRkJUMVFzUlVGQlNTeEhRVUZMVXl4SFFVRkxTaXhQUVVGUFF5eGxRVUZsZVZBc1JVRkJVVGRQTEVWQlFVdFVMRWRCUVVsQkxFVkJSM3BFTEZOQlFWTnBZaXhGUVVGUlF5eEZRVUZaUXl4SFFVTm9ReXhQUVVGUExGTkJRVlUzVEN4RlFVRlJOMDhzUjBGQlR6QmhMRVZCUVZVM1RDeEZRVUZSTjA4c1JVRkJTM2xoTEVsQlIzQkVMRk5CUVZORkxFVkJRVmRETEVWQlFXRkRMRWRCUTNCRExFZEJRWFZDTEdsQ1FVRmFVQ3hUUVVGdlJDeHRRa0ZCY2tKQkxGRkJRVkZSTEZOQlFYbENMRTlCUVU5U0xGRkJRVkZSTEZOQlFWTkdMRVZCUVdGRExFZEJSemRITEZOQlFWTkZMRVZCUVZWRExFVkJRVk5ETEVWQlFWbERMRVZCUVVkRExFZEJSVGxETEU5QlFVOHNTVUZCUzBRc1NVRkJUVUVzUlVGQlNVVXNWMEZCVlN4VFFVRlZReXhGUVVGVFF5eEhRVU12UXl4VFFVRlRReXhGUVVGVk4ySXNSMEZCVXl4SlFVRk5PR0lzUlVGQlMwd3NSVUZCVlUwc1MwRkJTeTlpTEVsQlFWY3NUVUZCVDIxVUxFZEJRVXQ1U1N4RlFVRlBla2tzU1VGRGNFWXNVMEZCVXpaSkxFVkJRVk5vWXl4SFFVRlRMRWxCUVUwNFlpeEZRVUZMVEN4RlFVRnBRaXhOUVVGRmVtSXNTVUZCVnl4TlFVRlBiVlFzUjBGQlMzbEpMRVZCUVU5NlNTeEpRVU4yUml4VFFVRlRNa2tzUlVGQlN6ZFJMRWRCU214Q0xFbEJRV1ZxVEN4RlFVbGhhVXdzUlVGQlQyZFNMRXRCUVU5T0xFVkJRVkV4VVN4RlFVRlBha3dzVVVGS01VTkJMRVZCU1hsRWFVd3NSVUZCVDJwTUxFMUJTbWhFUVN4aFFVRnBRbmRpTEVWQlFVbDRZaXhGUVVGUkxFbEJRVWwzWWl4SFFVRkZMRk5CUVZWSExFZEJRVmRCTEVWQlFWRXpZaXhQUVVsVWEyTXNTMEZCUzB3c1JVRkJWMGNzUjBGRGJFZEdMRWRCUVUxTUxFVkJRVmxCTEVWQlFWVjBRaXhOUVVGTmJVSXNSVUZCVTBNc1IwRkJZeXhMUVVGTFVTeFhRVWt2UkN4VFFVRlRTU3hGUVVGWllpeEZRVUZUWXl4SFFVTnFReXhKUVVGelIwTXNSVUZCUjNaaExFVkJRVWMzUWl4RlFVRkhjV01zUlVGQk0wZERMRVZCUVVrc1EwRkJSVU1zVFVGQlR5eEZRVUZIUXl4TFFVRk5MRmRCUVdFc1IwRkJWeXhGUVVGUWVHTXNSVUZCUlN4SFFVRlJMRTFCUVUxQkxFVkJRVVVzUjBGQlNTeFBRVUZQUVN4RlFVRkZMRWxCUVU5NVl5eExRVUZOTEVkQlFVbERMRWxCUVVzc1NVRkRhRWNzVDBGQlQwd3NSVUZCU1N4RFFVRkZVQ3hMUVVGTllTeEZRVUZMTEVkQlFVa3NUVUZCVTBFc1JVRkJTeXhIUVVGSkxFOUJRVlZCTEVWQlFVc3NTVUZCZDBJc2JVSkJRVmc1WXl4VFFVRXdRbmRqTEVWQlFVVjRZeXhQUVVGUEsyTXNWVUZCV1N4WFFVRmhMRTlCUVU5c1pTeFBRVUZWTW1Rc1JVRkRka29zVTBGQlUwMHNSVUZCUzNCakxFZEJRVXNzVDBGQlR5eFRRVUZWTmxnc1IwRkJTeXhQUVVONlF5eFRRVUZqZVVVc1IwRkRWaXhIUVVGSlZDeEZRVUZITEUxQlFVMHNTVUZCU1ZVc1ZVRkJWU3h0UTBGRE0wSXNTMEZCVDFJc1IwRkJSeXhKUVVOT0xFZEJRVWxHTEVWQlFVa3NSVUZCUjNaaExFbEJRVTAzUWl4RlFVRlpMRVZCUVZJMll5eEZRVUZITEVkQlFWTm9ZaXhGUVVGVkxFOUJRVWxuWWl4RlFVRkhMRWRCUVV0b1lpeEZRVUZUTEZOQlFVODNRaXhGUVVGSk5rSXNSVUZCVlN4VFFVRk5OMElzUlVGQlJXWXNTMEZCU3pSRExFZEJRVWtzUjBGQlMwRXNSVUZCUldsaExGTkJRVmM1WWl4RlFVRkpRU3hGUVVGRlppeExRVUZMTkVNc1JVRkJSMmRpTEVWQlFVY3NTMEZCUzJJc1MwRkJUU3hQUVVGUGFHTXNSVUZGTTBvc1QwRkVTVFpDTEVWQlFVa3NSVUZCUnpkQ0xFbEJRVWMyWXl4RlFVRkxMRU5CUVZNc1JVRkJVa0VzUlVGQlJ5eEhRVUZSTjJNc1JVRkJSVVFzVVVGRGVrSTRZeXhGUVVGSExFbEJRMUFzUzBGQlN5eEZRVUZITEV0QlFVc3NSVUZCUnpkakxFVkJRVWsyWXl4RlFVRkpMRTFCUTNoQ0xFdEJRVXNzUlVGQll5eFBRVUZZVUN4RlFVRkZReXhSUVVGblFpeERRVUZGZUdNc1RVRkJUemhqTEVWQlFVY3NSMEZCU1dJc1RVRkJUU3hIUVVOb1JDeExRVUZMTEVWQlFVZE5MRVZCUVVWRExGRkJRVk14WVN4RlFVRkpaMklzUlVGQlJ5eEhRVUZKUVN4RlFVRkxMRU5CUVVNc1IwRkJTU3hUUVVONFF5eExRVUZMTEVWQlFVZEJMRVZCUVV0UUxFVkJRVVZKTEVsQlFVbExMRTFCUVU5VUxFVkJRVVZITEV0QlFVdE5MRTFCUVU4c1UwRkRlRU1zVVVGRFNTeExRVUZOTDJNc1JVRkJTWE5qTEVWQlFVVkhMRTFCUVUxNll5eEZRVUZKUVN4RlFVRkZkVU1zVDBGQlV5eEhRVUZMZGtNc1JVRkJSVUVzUlVGQlJYVkRMRTlCUVZNc1MwRkJhMElzU1VGQlZuTmhMRVZCUVVjc1NVRkJjMElzU1VGQlZrRXNSVUZCUnl4SlFVRlhMRU5CUVVWUUxFVkJRVWtzUlVGQlJ5eFRRVU5xUnl4SFFVRmpMRWxCUVZaUExFVkJRVWNzVFVGQll6ZGpMRWRCUVUwMll5eEZRVUZITEVkQlFVczNZeXhGUVVGRkxFbEJRVTAyWXl4RlFVRkhMRWRCUVVzM1l5eEZRVUZGTEVsQlFVMHNRMEZCUlhOakxFVkJRVVZETEUxQlFWRk5MRVZCUVVjc1IwRkJTU3hOUVVNNVJTeEhRVUZqTEVsQlFWWkJMRVZCUVVjc1NVRkJXVkFzUlVGQlJVTXNUVUZCVVhaakxFVkJRVVVzUjBGQlNTeERRVUZGYzJNc1JVRkJSVU1zVFVGQlVYWmpMRVZCUVVVc1IwRkJTVUVzUlVGQlNUWmpMRVZCUVVrc1RVRkROMFFzUjBGQlNUZGpMRWRCUVV0ell5eEZRVUZGUXl4TlFVRlJkbU1zUlVGQlJTeEhRVUZKTEVOQlFVVnpZeXhGUVVGRlF5eE5RVUZSZG1Nc1JVRkJSU3hIUVVGSmMyTXNSVUZCUlVrc1NVRkJTVTBzUzBGQlMwZ3NSMEZCU3l4TlFVTjJSRGRqTEVWQlFVVXNTVUZCU1hOakxFVkJRVVZKTEVsQlFVbExMRTFCUTJoQ1ZDeEZRVUZGUnl4TFFVRkxUU3hOUVVGUExGTkJSWFJDUml4RlFVRkxWaXhGUVVGTGJHUXNTMEZCUzI5akxFVkJRVk5wUWl4SFFVTXhRaXhOUVVGUGNFb3NSMEZCU3pKS0xFVkJRVXNzUTBGQlF5eEZRVUZITTBvc1IwRkJTWEpTTEVWQlFVa3NSVUZCU3l4UlFVRlZkV0VzUlVGQlNYQmpMRVZCUVVrc1JVRkRkRVFzUjBGQldTeEZRVUZTTm1Nc1JVRkJSeXhIUVVGUkxFMUJRVTFCTEVWQlFVY3NSMEZCU1N4TlFVRlBMRU5CUVVVNVl5eE5RVUZQT0dNc1JVRkJSeXhIUVVGTFFTeEZRVUZITEZGQlFVc3NSVUZCVVdJc1RVRkJUU3hIUVhKQ09VSklMRU5CUVVzc1EwRkJRM1JpTEVWQlFVYzJXQ3hOUVhsQ2RFUXNVMEZCVXpaRkxFVkJRV2RDTVdRc1JVRkJSMHdzUlVGQlIyZGxMRVZCUVVkRExGRkJRekZDT1dJc1NVRkJVRGhpTEVsQlFXdENRU3hGUVVGTFJDeEhRVU16UWpOa0xFVkJRVVUwWkN4SFFVRk5hbVVzUlVGQlJXZGxMRWRCUjFBc1UwRkJVMFVzUlVGQllXeGxMRVZCUVVkVUxFZEJRelZDTEVsQlFVc3NTVUZCU1cxRExFdEJRVXN4UWl4RlFVRmhMRmxCUVU0d1FpeEhRVUZ2UW01RExFVkJRVkZyUXl4bFFVRmxReXhMUVVGSmJrTXNSVUZCVVcxRExFZEJRVXN4UWl4RlFVRkZNRUlzU1VGSGFFWXNVMEZCVTNsakxFVkJRVk01WkN4SFFVTnlRaXhKUVVGSmMwSXNSVUZCYzBJc2JVSkJRVmhvUWl4UlFVRjVRa0VzVDBGQlR5dGpMRk5CUVZVeFpDeEZRVUZKTWtJc1IwRkJTM1JDTEVWQlFVVnpRaXhIUVVGSkwwSXNSVUZCU1N4RlFVTTFSU3hIUVVGSlNTeEZRVUZITEU5QlFVOUJMRVZCUVVWRUxFdEJRVXROTEVkQlEzSkNMRWRCUVVsQkxFZEJRWGxDTEdsQ1FVRmlRU3hGUVVGRlowUXNUMEZCY1VJc1RVRkJUeXhEUVVNeFEzVmFMRXRCUVUwc1YwRkZSaXhQUVVSSmRtTXNSMEZCUzFRc1IwRkJTMU1zUlVGQlJXZEVMRk5CUVZGb1JDeFBRVUZKTEVkQlEzSkNMRU5CUVVWUkxFMUJRVTlTTEVkQlFVdEJMRVZCUVVWVUxFdEJRVTFyWkN4TlFVRlBlbU1zUzBGSE5VTXNUVUZCVFN4SlFVRkpkV1FzVlVGQlZXcGpMRVZCUVVrc01FSkJRVFJDTEcxRFFVZHFSQ3hUUVVGVGVXTXNSVUZCVHk5a0xFVkJRVWRuUWl4SFFVTjBRaXhKUVVGSmNrSXNSVUZCYzBJc2JVSkJRVmhYTEZGQlFYbENUaXhGUVVGRlRTeFBRVUZQSzJNc1ZVRkRha1FzU1VGQlN6RmtMRVZCUVVjc1QwRkJUMHNzUlVGRFppeEpRVUZ0UWtzc1JVRkJXWE5VTEVWQlFUTkNjRlVzUlVGQlNVa3NSVUZCUlVRc1MwRkJTMDBzUjBGQlQyZGxMRVZCUVVzc1IwRkRNMElzU1VGRFNTeFhRVUZqTEVsQlFVNW9aQ3hIUVVGblFrRXNTMEZCVFN4TlFVRlJXQ3hGUVVGSlpDeEZRVUZGWjJRc1VVRkJVVVVzVFVGQlRYVkNMRVZCUVVkUUxFdEJRVXR3WkN4RlFVRkZSeXhQUVVWNFJTeE5RVUZQZVdRc1IwRkJVM1JMTEVWQlFVa3NRMEZCUlhOTExFMUJRVTlCTEVkQlF6ZENMRkZCUTBrc1NVRkRVVFZrTEVsQlFVMUJMRVZCUVVWdll5eFBRVUZUT1dNc1JVRkJTVW9zUlVGQlZTeFRRVUZKU1N4RlFVRkZSQ3hMUVVGTFNDeEhRVVZzUkN4UlFVRlZMRWRCUVVsdlZTeEZRVUZITEUxQlFVMUJMRVZCUVVWelN5eFBRVVUzUWl4UFFVRlBSQ3hGUVVkS0xGTkJRVk5GTEVsQlExb3NTVUZCU3l4SlFVRkpSaXhGUVVGTExFZEJRVWw2WlN4RlFVRkpMRVZCUVVkQkxFVkJRVWx0WWl4VlFVRlZNVmdzVDBGQlVYcEVMRWxCUXpORGVXVXNSVUZCUzBFc1JVRkJSMGNzVDBGQlQwb3NSVUZCVDNKRUxGVkJRVlZ1WWl4TFFVTndReXhQUVVGUGVXVXNSVUZIU2l4VFFVRlRTU3hKUVVOYUxFbEJRVXNzU1VGQlNUbGpMRVZCUVVrc1JVRkJSeTlDTEVWQlFVa3NSVUZCUnpobExFVkJRVXN6UkN4VlFVRlZNVmdzVDBGQlVYcEVMRVZCUVVrNFpTeEZRVUZKT1dVc1NVRkJTeXRDTEVkQlFVdHZXaXhWUVVGVmJtSXNSMEZCUjNsRUxFOUJRM2hGTEVsQlFVa3pReXhGUVVGSksxb3NUVUZCVFRsWkxFZEJRVWx4WXl4RlFVRkpMRVZCUVROQ0xFbEJRVGhDY0dVc1JVRkJTU3hGUVVGSFFTeEZRVUZKT0dVc1JVRkJTVGxsTEVsQlEzcERMRWxCUVVzc1NVRkJTWGxXTEVWQlFVa3dSaXhWUVVGVmJtSXNSMEZCU1N0bExFVkJRVWtzUlVGQlIwTXNSVUZCUzNaS0xFVkJRVVZvVXl4UFFVRlJjMklzUlVGQlNVTXNSVUZCU1VRc1NVRkJTMWdzU1VGRE1VUjBaQ3hGUVVGRmMyUXNSMEZCU3pOSkxFVkJRVVZ6U2l4SFFVTnFRaXhQUVVGUGFtVXNSVUZIU2l4VFFVRlRiV1VzUlVGQlVUTkdMRWRCUTNCQ0xFOUJRVTh4V2l4blFrRkJaMEp4Wml4SFFVRlhjbVlzUzBGQlN6QmFMRVZCUVVsQkxFVkJRVWN4V2l4TlFVRlJMRWxCUVVseFppeEZRVUZSTTBZc1IwRkhMMFFzVTBGQlV6UkdMRVZCUVdsQ00wTXNSVUZCVTBNc1JVRkJXVVVzUjBGRGJFUXNTVUZCU3pOaUxFOUJRVTl2WlN4alFVRmxMRTFCUVUwc1NVRkJTVzVDTEZWQlFWVXNkME5CUXk5RExFbEJRVzlFYUdVc1JVRkJhRVIxWkN4RlFVRkpZaXhGUVVGVmRFSXNUVUZCVFcxQ0xFVkJRVk5ETEVkQlFXTXNTVUZCVVRSRExFVkJRVWtzUjBGRE0wUXNUMEZCVDNCbUxFVkJRVWtzUjBGQlNUWmtMRVZCUVVzc1VVRkJVMEVzUlVGQlN5eFRRVUZWUVN4RlFVRkxMRlZCUVZjM1pDeEZRVUZGWlN4UFFVRlBiMlVzWlVGQmFVSXNWMEZCWXl4UFFVRlBkbVlzVFVGQlUwa3NSVUZEY0Vnc1UwRkJVelprTEVWQlFVdHdZeXhIUVVGVE9HSXNSVUZCUlRsaUxFdEJRVWw2UWl4RlFVRkZlVUlzUjBGQlN5eFRRVUZWTmxnc1IwRkJTeXhQUVVGUExFbEJRVWx4UkN4VFFVRlJMRk5CUVZWc1NDeEZRVUZIUXl4SFFVRkxNRW9zUlVGQlJXeENMRXRCUVVzc1EwRkJRM3BqTEVWQlFVYzJXQ3hGUVVGSE4wUXNSVUZCUjBNc1NVRkJUU3hIUVVGTE1rb3NSVUZCVHpWa0xFVkJRVWMyV0N4UlFVTTVTQ3hUUVVGVEswWXNSVUZCVHpWa0xFVkJRVWMyV0N4SFFVRkxMRXRCUTFaNFdTeEZRVVJ4UW5sakxFVkJRVVU1WWl4SFFVRkhObGdzU1VGRGJrSnlXU3hwUWtGQmFVSm5aU3hGUVVGVmRFTXNVVUZCVVVNc1VVRkJVVGxpTEVWQlFVVkhMRTFCUVUxeFdTeEhRVUZITmtRc1MwRkJTMjFETEVWQlFWTjZReXhIUVVGVk1FTXNSVUZCVDBnc1JVRkJSU3hIUVVGSExFZEJRVWwwWlN4SFFVUndSU3hOUVVGUGMxUXNSMEZCUzIxTUxFVkJRVTlJTEVWQlFVVXNSMEZCUnl4SFFVRkphRXdzUjBGRE0wVXNTVUZCWTNSVUxFVkJRMlFzVTBGQlUzZGxMRVZCUVZGeVpTeEhRVUZUYjJVc1JVRkJUeXhQUVVGUmNHVXNSMEZEZWtNc1UwRkJVelJpTEVWQlFVODFZaXhIUVVGVGIyVXNSVUZCVHl4UlFVRlRjR1VzUjBGRGVrTXNVMEZCVTNObExFVkJRVTlxUXl4RlFVRkhhRVVzUjBGQlUyZEZMRVZCUVVWb1JTeEhRVUZKT0VZc1JVRkJSVWtzVVVGQlUwb3NSVUZCUlROaUxGRkJRVkUwWWl4RlFVRlBSQ3hGUVVGRkxFZEJRVWNzUjBGQlNVRXNSVUZCUlN4SFFVRkhMRXRCUjNwRkxGTkJRVk5MTEVWQlFXbENhR1lzUjBGRE4wSXNTVUZCU1ZRc1JVRkJSemhDTEVWQlExQXNUMEZCVHpsQ0xFVkJRVWtzUjBGQlNUWmtMRVZCUVVzc1VVRkJVMEVzUlVGQlN5eFRRVUZUTEZOQlFWVjZTaXhIUVVGTExFMUJRVTFCTEV0QlFVOTVTaXhGUVVGTExGVkJRVmMzWkN4RlFVRkZaU3hQUVVGUEsyTXNWVUZCV1N4WFFVRmpMRTlCUVU5c1pTeE5RVUZUU1N4RlFVTXhTU3hUUVVGVE5tUXNSVUZCUzNCakxFVkJRVWMyWWl4SFFVRkxkR1FzUlVGQlJYbENMRWRCUVV0b1FpeEZRVUZGWjBJc1IwRkJTeXhUUVVGVk5sZ3NSMEZCU3l4UFFVRlJlRmdzUjBGQlMwRXNSMEZCU3l4RFFVRkZZaXhOUVVGUFoyVXNSVUZCVVhobExFVkJRVVZuUWl4SFFVRkhObGdzU1VGQlN6UkVMRXRCUVZrc1YwRkJUbnBpTEVkQlFXMUNObUlzUlVGQlNVRXNSVUZCUldoRkxFZEJRVXRCTEVkQlFVOW5SU3hIUVVkNFNTeFRRVUZUYjBNc1JVRkJZMnBtTEVkQlF6RkNMRWxCUVV0TkxFOUJRVTl2WlN4alFVRmxMRTFCUVUwc1NVRkJTVzVDTEZWQlFWVXNkME5CUXk5RExFbEJRV2xEYUdVc1JVRkJOMEpKTEVWQlFVbExMRVZCUVVWTkxFOUJRVTl2WlN4bFFVTnFRaXhQUVVGUEwyVXNSVUZCU1VFc1JVRkJSVVFzUzBGQlMwMHNTVUZCVFVFc1JVRkJjVU00WkN4RlFVRlRPV1FzUjBGQk1rSlVMRVZCUVVrc1IwRkJTVFprTEVWQlFVc3NVVUZCVTBFc1JVRkJTeXhUUVVGVlFTeEZRVUZMTEZWQlFWYzNaQ3hGUVVGRlpTeFBRVUZQYjJVc1pVRkJhVUlzVjBGQll5eFBRVUZQZG1Zc1RVRkJVMGtzUjBGRE9VMHNVMEZCVXpaa0xFVkJRVXR3WXl4SFFVRkxla0lzUlVGQlJYbENMRWRCUVV0b1FpeEZRVUZGWjBJc1NVRkJUU3hUUVVGVk5sZ3NSMEZCU3l4UFFVRlBMRWxCUVVseFJDeFRRVUZSTEZOQlFWVkRMRVZCUVZORExFbEJRM1pHTEZOQlFXZENSQ3hGUVVGVFF5eEZRVUZSZG1Nc1JVRkJSMmRhTEVkQlFVdHhSQ3hSUVVGUlF5eFJRVUZSZEVRc1IwRkJSelpFTEUxQlFVc3NVMEZCVXpkRUxFZEJRVXR6UkN4RlFVRlJMRU5CUVVVellpeE5RVUZQY1Zrc1JVRkJSelJFTEV0QlFVMDFZeXhOUVVGVGRXTXNTVUZFU2pCRExFTkJRVTh6UXl4RlFVRlRReXhIUVVFM1FuWkVMRVZCUVVrM1dTeEZRVUZGWjBJc1IwRkJSelpZTEVsQlFUaENORVFzUzBGQlRUVkVMRVZCUVVWeVdTeFpRVWszU1N4VFFVRlRNR1VzUlVGQmNVSkRMRVZCUVZGRExFZEJSWHBETEU5QlJFbHVaaXhQUVVGUFF5eGxRVUZyUWtRc1QwRkJUME1zWlVGQlpXbG1MRVZCUVZFc1RVRkJUeXhEUVVGRk0yVXNUVUZCVHpSbExFbEJRV2xDUkN4RlFVRlBReXhKUVVGTlFTeEZRVU5zUjBRc1JVRkhTaXhUUVVGVFJTeEZRVUZoUXl4SFFVTjZRaXhIUVVGSlFTeEhRVUZQUVN4RlFVRkpNMlVzVjBGQldTeFBRVUZQTW1Vc1JVRkRiRU1zU1VGQlNUZFVMRVZCUVZNc1IwRkRZaXhIUVVGWExFMUJRVkEyVkN4RlFVRmhMRWxCUVVzc1NVRkJTVE5DTEV0QlFVc3lRaXhGUVVGVGNtWXNUMEZCVDIxQ0xHVkJRV1V4UWl4TFFVRkxOR1lzUlVGQlN6TkNMRXRCUVVsc1V5eEZRVUZQYTFNc1IwRkJTekpDTEVWQlFVa3pRaXhKUVVVMVJpeFBRVVJCYkZNc1JVRkJUekZJTEZGQlFWVjFZaXhGUVVOV04xUXNSVUZIU2l4VFFVRlRPRlFzUlVGQlowSkVMRWRCUXpWQ0xFOUJRVkZCTEVkQlFVOUJMRVZCUVVrelpTeFhRVUZqTW1Vc1JVRkJUU3hEUVVGRmRtSXNVVUZCVTNWaUxFZEJSeTlETEZOQlFWTkZMRVZCUVhWQ2NFNHNSVUZCVlhGT0xFZEJRemRETEVsQlFVdEJMRVZCUVZkRExFbEJRVWwwVGl4SFFVTm9RaXhOUVVGTkxFbEJRVWx0VEN4VlFVRlZMR3RFUVVWNFFpeFBRVUZQYTBNc1JVRkJWM0ptTEVsQlFVbG5VeXhIUVVkdVFpeFRRVUZUZFU0c1JVRkJkVUoyVGl4RlFVRlZjVTRzUlVGQldXcG1MRWRCUTNwRUxFbEJRVXRwWml4RlFVRlhReXhKUVVGSmRFNHNSMEZEYUVJc1RVRkJUU3hKUVVGSmJVd3NWVUZCVlN4clJFRkhlRUlzVDBGRVFXdERMRVZCUVZkNlpDeEpRVUZKYjFFc1JVRkJWVFZTTEVkQlEyeENRU3hKTEcxUlEzWk9XQ3h4UTBGbFRXOW1MRzlDUVVGelFpeEZRV0UxUWl4VFFVRm5Ra01zTUVKQlJXWXNTVUZCU1VNc1IwRkJTME1zUzBGQlRTeHRRa0ZEV0VNc1MwRkJUMFFzUzBGQlRTeHpRa0ZEYWtJc1QwRkJUME1zUzBGQlMwTXNTMEZCVFVnc1IwRkJSMGtzVlVGQlZ5eFpRVWRxUXl4VFFVRm5Ra01zTmtKQlJXWXNTVUZCU1Vnc1MwRkJUMFFzUzBGQlRTeHhRa0ZEYWtJc1QwRkJUME1zUzBGQlMwTXNTMEZCVFVvc01FSkJRVEpDTEdOQlZqbERMSGRFUVU5QkxEaEVRVTFCTEUxQlFVMVBMRmRCUTA0c1EwRkRReXhSUVVOQkxFOUJRMEVzVFVGRFFTeFRRVU5CTEU5QlEwRXNVMEZEUVN4UFFVTkJMRk5CUTBFc1VVRkRRU3hSUVVOQkxGRkJRMEVzVTBGSFMwTXNWVUZEVGl4RFFVTkRMRkZCUTBFc1UwRkRRU3hSUVVOQkxGbEJRMEVzVlVGRFFTeFBRVU5CTEU5QlEwRXNUMEZEUVN4VFFVTkJMR0ZCUTBFc1VVRkRRU3hUUVVsRUxGTkJRVk5ETEhGQ1FVVlNMRWxCUVVsRExFVkJRV0Y2WkN4TFFVRkxNR1FzVFVGQlR6RmtMRXRCUVVzeVpDeFRRVUZYVEN4WFFVRlhjR1FzVVVGRGNFUXdaQ3hGUVVGWk5XUXNTMEZCU3pCa0xFMUJRVTh4WkN4TFFVRkxNbVFzVTBGQlYwb3NWVUZCVlhKa0xGRkJRM1JFTEUxQlFVOHNSMEZCU1c5a0xGZEJRVmxITEUxQlFXdENSaXhWUVVGWFN5eExRVWR5UkN4VFFVRm5Ra01zVDBGQlVXeElMRWRCUlhaQ0xFbEJRVWx0U0N4RlFVTktMRU5CUTBORExFOUJRVkVzUlVGRFVrTXNZMEZCWlhKSUxFVkJRVXR4U0N4alFVTndRa01zYVVKQlFXdENMRWRCUTJ4Q1F5eGxRVUZuUWl4RFFVRkZReXh2UWtGQmIwSXNSVUZCVDBNc1owSkJRV2xDTEV0QlFVMURMRmRCUVZrc1EwRkJReXhGUVVGSExFVkJRVWNzU1VGRGRrWkRMR05CUVdVc1dVRkRaa01zY1VKQlFYTkNaaXh6UWtGSGRrSXNTVUZCU3l4SlFVRkpaMElzUzBGQllUZElMRVZCUVV0elNDeHBRa0ZGTVVKSUxFVkJRVWRITEdsQ1FVRnBRblJFTEV0QlFVMDJSQ3hGUVVGVk1Vd3NVVUZCVXl4dFFrRkJiMElzYjBKQlIyeEZMRTlCUVU5blRDeEZRVWRTTEZOQlFXZENWeXh2UWtGQmNVSjJRaXhOUVVWd1F5eEpRVVZETEVsQlFVbDNRaXhIUVVGTGVrSXNTMEZCVFN4dFFrRkZXREJDTEdOQlFXZENSQ3hIUVVGSFJTeGhRVUZqTVVJc1MwRkJUU3hSUVVOMlF6SkNMRTFCUVhWQ2NFOHNTMEZCUzBNc1RVRkJUMmxQTEdWQlJYWkRMRWRCUVc5Q0xFZEJRV2hDUlN4TlFVRk5aQ3hSUVVFclFpeEhRVUZvUW1Nc1RVRkJUV1FzVDBGRk9VSXNTMEZCVFN4blFrRkJaMEpqTEUxQlFVMWtMR2xEUVVjM1FpeEhRVUZKWXl4TlFVRk5aQ3hSUVVGVmFrSXNiMEpCUlc1Q0xFdEJRVTBzT0VKQlFUaENLMElzVFVGQlRXUXNUMEUwUWpORExFOUJla0pMWXl4TlFVRk5XQ3hwUWtGRFZsY3NUVUZCVFZnc1pVRkJhVUlzUTBGRGRFSkRMRzlDUVVGdlFpeEZRVU53UWtNc1owSkJRV2xDTEV0QlEycENReXhYUVVGWkxFTkJRVU1zUlVGQlJ5eEZRVUZITEV0QlNXaENVU3hOUVVGTllpeGpRVUUwUWl4alFVVjBRMmhQTEZGQlFWRkRMRWxCUVVzc2JVUkJRMkkwVHl4TlFVRk5ZaXhqUVVFMFFpeFpRVU5zUXl4RFFVTkROMDBzU1VGQlN5dzJRMEZEVERKT0xGTkJRVlVzTkVKQlNWQkVMRTFCUVUxT0xIVkNRVVZXVFN4TlFVRk5UaXh4UWtGQmRVSm1MSE5DUVVjNVFuaE9MRkZCUVZGRExFbEJRVXNzYlVKQlFXOUNhVTRzV1VGRE1VSXZaaXhQUVVGUE5HaENMRXRCUVUxR0xFMUJRVTFpTEdWQlFXZENPV1FzVDBGQmRrTXNiVUpCUTBreVpTeE5RVVZTTEUxQlFVOW9UeXhIUVVWT1lpeFJRVUZSUXl4SlFVRkxMSEZEUVVGelExa3NlVUpCUlc1RUxFbEJRVWxuVHl4RlFVTktMRU5CUTBOa0xFOUJRVkZxUWl4dlFrRkRVbXRDTEdOQlEwRXNRMEZEUXl4WlFVTkJMRU5CUTBNM1RTeEpRVUZMTERaRFFVTk1NazRzVTBGQlZTdzBRa0ZIV21Jc2FVSkJRV3RDTEVkQlEyeENReXhsUVVGblFpeERRVUZGUlN4blFrRkJhVUlzUzBGQlRVUXNiMEpCUVc5Q0xFVkJRVTlGTEZkQlFWa3NRMEZCUXl4RlFVRkhMRVZCUVVjc1NVRkRka1pETEdOQlFXVXNXVUZEWmtNc2NVSkJRWE5DWml4elFrRkZka0lzVDBGQlQzRkNMRWRCVFZRc1UwRkJaMEpITEhGQ1FVRnpRa2dzVFVGQmMwSXpRaXhOUVVVelJDeEpRVUZKZDBJc1IwRkJTM3BDTEV0QlFVMHNiVUpCUjJZc1QwRkdRVFJDTEUxQlFVMWtMRTlCUVZOcVFpeHZRa0ZEWmpSQ0xFZEJRVWRQTEdOQlFXVXZRaXhMUVVGTmVrMHNTMEZCUzNsUExGVkJRVmRNTEUxQlFVOHNTMEZCVFN4TFFVTTVReXhGUVdwSFVpeHpRa0Z2UWtFc1owUkJkMFZCTEcxRUxEWkNRemRMUVRGb1FpeFBRVUZQUXl4bFFVRmxhRUlzUlVGQlV5eGhRVUZqTEVOQlFVVnpRaXhQUVVGUExFbEJRM1JFTEVsQlFVbG5TaXhGUVVGVExFVkJRVkVzUjBGRGFrSTVTQ3hGUVVGakxFVkJRVkVzUjBGRGRFSXlWU3hGUVVGelFpeFhRVU4wUWl4VFFVRlRRU3hGUVVGTGVsVXNSMEZEVm5wRExFdEJRVXQ1UXl4UFFVRlRMRWxCUVVsRExHRkJRV0VzVVVGRGFFSkRMRWxCUVZoR0xFZEJRMEY2UXl4TFFVRkxhMG9zUzBGQlMzcEhMRWRCYVV0c1FpeFBRVGxLUVhsVkxFVkJRVXRzVml4VlFVRlZaU3hIUVVGTExGTkJRVlZETEVkQlF6RkNMRTlCUVU5b1JDeExRVUZMZVVNc1QwRkJUMDhzU1VGRmRrSnJWU3hGUVVGTGJGWXNWVUZCVld0SUxFdEJRVThzVTBGQlZYcEhMRWRCUXpWQ0xFbEJRVXNzU1VGQlNYSkRMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnVRa29zUzBGQlMzbERMRTlCUVU5eVF5eEhRVUZMY1VNc1JVRkJUM0pETEVkQlJUVkNMRTlCUVU5S0xFMUJSVmhyV0N4RlFVRkxiRllzVlVGQlZXbENMRTFCUVZFc1YwRkRia0lzU1VGQlN5eEpRVUZKTjBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEVWQlFVZEJMRWxCUTI1Q1NpeExRVUZMZVVNc1QwRkJUM0pETEVkQlFVc3NSMEZIZWtJNFZ5eEZRVUZMYkZZc1ZVRkJWWEZDTEV0QlFVOHNVMEZCVlVNc1IwRkRka0pCTEVsQlEwUkJMRVZCUVU4c1NVRkJTVFJVTEVkQlJXWXNTVUZCU3l4SlFVRkpPVmNzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRVZCUVVkQkxFbEJRMjVDYTBRc1JVRkJTMklzVDBGQlQzSkRMRWRCUVV0S0xFdEJRVXQ1UXl4UFFVRlBja01zUjBGRmFrTXNUMEZCVDJ0RUxFZEJSVmcwVkN4RlFVRkxiRllzVlVGQlZYVkpMRWxCUVUwc1YwRkZha0lzU1VGRVFTeEpRVUZKUXl4RlFVRlBMRWRCUTBad1N5eEZRVUZKTEVWQlFVZEJMRVZCUVVrc1JVRkJSMEVzU1VGRGJrSnZTeXhGUVVGTGNFc3NSMEZCUzBvc1MwRkJTM2xETEU5QlFVOXlReXhIUVVVeFFpeFBRVUZQYjBzc1IwRkZXREJOTEVWQlFVdHNWaXhWUVVGVmVVa3NTVUZCVFN4VFFVRlZla2dzUjBGRE0wSXNUVUZCVHl4RFFVTklhRVFzUzBGQlMzbERMRTlCUVdVc1JVRkJVazhzUlVGQldTeEhRVU40UW1oRUxFdEJRVXQ1UXl4UFFVRmxMRVZCUVZKUExFVkJRVmtzUzBGSGFFTnJWU3hGUVVGTGJGWXNWVUZCVlRCSkxFbEJRVTBzVTBGQlZURklMRWRCUXpOQ0xFMUJRVThzUTBGRFNHaEVMRXRCUVV0NVF5eFBRVUZQVHl4SFFVTmFhRVFzUzBGQlMzbERMRTlCUVU5UExFVkJRVkVzUzBGSE5VSnJWU3hGUVVGTGJGWXNWVUZCVlhkQ0xFOUJRVk1zVTBGQlZXVXNSVUZCVVdJc1VVRkRjRUlzU1VGQlpFRXNTVUZCZDBKQkxFVkJRVmx1UWl4RlFVRlpTQ3hUUVVOd1JDeEpRVUZMTEVsQlFVbG9ReXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NSVUZCUjBFc1NVRkRia0lzUjBGQlNYVkVMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxlVU1zVDBGQlQzSkRMRWRCUVV0dFJTeEZRVUZQZUVJc1IwRkJSek5ETEVsQlFVMXpSQ3hGUVVNeFF5eFBRVUZQTEVWQlIyWXNUMEZCVHl4SFFVVllkMVFzUlVGQlMyeFdMRlZCUVZVeVNTeFpRVUZqTEZkQlEzcENMRTlCUVU4elN5eExRVUZMZVVNc1QwRkJUeXhIUVVGTGVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdDZReXhMUVVGTGVVTXNUMEZCVHl4SlFVVXhSWGxWTEVWQlFVdHNWaXhWUVVGVmJVWXNXVUZCWXl4WFFVdDZRaXhQUVVwQmJrZ3NTMEZCUzNsRExFOUJRVThzUjBGQlN5eEZRVU5xUW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVVzc1JVRkRha0o2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTeXhGUVVOV2VrTXNUVUZGV0d0WUxFVkJRVXRzVml4VlFVRlZjVW9zVlVGQldTeFhRVU4yUWl4SlFVRkplVmdzUlVGQlR6bHBRaXhMUVVGTGVVTXNUMEZCVHl4SFFVZDJRaXhQUVVaQmVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlF6ZENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTM0ZuUWl4RlFVTldPV2xDTEUxQlJWaHJXQ3hGUVVGTGJGWXNWVUZCVlhGR0xGRkJRVlVzVjBGRGNrSXNTVUZCU1hWRkxFVkJRVTAxVEN4TFFVRkxNa3NzWTBGRFppeEpRVUZMYVVJc1JVRkRSQ3hQUVVGUExFdEJSVmhCTEVWQlFVMHNSVUZCVFVFc1JVRkRXaXhKUVVGSldpeEZRVUZOYUV3c1MwRkJTM2xETEU5QlFVOHNSMEZMZEVJc1QwRktRWHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXR0U2l4RlFVRlBOVXdzUzBGQlMzbERMRTlCUVU4c1IwRkRjRU42UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMYlVvc1IwRkJVVFZNTEV0QlFVdDVReXhQUVVGUExFZEJRM0pEZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzIxS0xFZEJRVkUxVEN4TFFVRkxlVU1zVDBGQlR5eEhRVU55UTNwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0dFNpeEZRVUZOV2l4RlFVTm9RbWhNTEUxQlJWaHJXQ3hGUVVGTGJGWXNWVUZCVld0RExGTkJRVmNzVTBGQlZVc3NSMEZEYUVNc1NVRkJTWGxITEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVdDBRaXhQUVVwQmVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzVkpMRVZCUVUxNlJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGEwa3NSVUZCVFRGSExFVkJRVTk0UWl4SFFVRkhMRWRCUTNSRUwwTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzVkpMRVZCUVUxNlJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGEwa3NSVUZCVFRGSExFVkJRVTk0UWl4SFFVRkhMRWRCUTNSRUwwTXNTMEZCUzNsRExFOUJRVThzUjBGQlN6QkpMRVZCUVUwMVJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGNVa3NSVUZCVFRkSExFVkJRVTk0UWl4SFFVRkhMRWRCUTNSRUwwTXNTMEZCUzNsRExFOUJRVThzUjBGQlN6QkpMRVZCUVUwMVJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGNVa3NSVUZCVFRkSExFVkJRVTk0UWl4SFFVRkhMRWRCUXk5REwwTXNUVUZGV0d0WUxFVkJRVXRzVml4VlFVRlZkVXdzVDBGQlV5eFRRVUZWTjBRc1IwRkRPVUlzU1VGQlNYTkNMRVZCUVUxb1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuZEpMRVZCUVUxcVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqQkpMRVZCUVUxdVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqSkpMRVZCUVUxd1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuRkRMRVZCUVUxdVFpeExRVUZMYlVJc1NVRkJTVFJGTEVkQlEyWTNSU3hGUVVGTmJFSXNTMEZCUzJ0Q0xFbEJRVWsyUlN4SFFVdHVRaXhQUVVwQk1Vb3NTMEZCUzNsRExFOUJRVThzUjBGQlMzVkpMRVZCUVUxdVJ5eEZRVUZOYjBjc1JVRkJUVzVITEVWQlEyNURPVVVzUzBGQlMzbERMRTlCUVU4c1IwRkJTM1ZKTEVkQlFVOXNSeXhGUVVGTmJVY3NSVUZCVFhCSExFVkJRM0JETjBVc1MwRkJTM2xETEU5QlFVOHNSMEZCU3pCSkxFVkJRVTEwUnl4RlFVRk5kVWNzUlVGQlRYUkhMRVZCUTI1RE9VVXNTMEZCUzNsRExFOUJRVThzUjBGQlN6QkpMRWRCUVU5eVJ5eEZRVUZOYzBjc1JVRkJUWFpITEVWQlF6ZENOMFVzVFVGRldHdFlMRVZCUVV0c1ZpeFZRVUZWZDBVc1lVRkJaU3hUUVVGVkwwTXNSVUZCVVRaSkxFZEJRelZETEVsQlFVbHdTaXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTm1MRTlCUVVsdFNpeEhRVU5CUVN4RlFVRlBhRWNzUjBGQlN5eERRVU5TY0VRc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnlRMU1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhKUVVWc1F6WktMRWRCUjBFc1NVRkJTV3BETEVWQlFVOTZSaXhSUVVGUkxFTkJRM1JDTVVJc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnlRMU1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhOUVVscVJIbFZMRVZCUVV0c1ZpeFZRVUZWYjBNc1RVRkJVU3hUUVVGVldDeEhRVU0zUWl4SlFVRkpkVWdzUlVGQlRXaE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENkMGtzUlVGQlRXcE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNRWtzUlVGQlRXNU1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNa2tzUlVGQlRYQk1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENVeXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVdG1MRTlCU2tGdVJDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGRVa3NSVUZCVFRsSUxFVkJRM1pDYkVRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNkSkxFVkJRVTA1U0N4RlFVTjJRbTVFTEV0QlFVdDVReXhQUVVGUExFZEJRVXN3U1N4RlFVRk5ha2tzUlVGRGRrSnNSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxNa2tzUlVGQlRXcEpMRVZCUTJoQ2JrUXNUVUZGV0d0WUxFVkJRVXR5VWl4UlFVRlZMRk5CUVZVeVNDeEZRVUZKUXl4RlFVRkpia0lzUjBGRE4wSXNTVUZCU1hSQ0xFVkJRVTEzUXl4RlFVRkhla3NzUjBGQlJ5eEhRVU5hYTBrc1JVRkJUWFZETEVWQlFVZDZTeXhIUVVGSExFZEJRMXB2U1N4RlFVRk5jVU1zUlVGQlIzcExMRWRCUVVjc1IwRkRXbkZKTEVWQlFVMXZReXhGUVVGSGVrc3NSMEZCUnl4SFFVTm9RaXhQUVVGSmRVb3NSMEZEUVVFc1JVRkJUM0JFTEV0QlFVc3NRMEZEVWpoQ0xFVkJRVTE1UXl4RlFVRkhNVXNzUjBGQlJ5eEhRVUZMYTBrc1JVRkJUWGRETEVWQlFVY3hTeXhIUVVGSExFZEJRemRDYVVrc1JVRkJUWGxETEVWQlFVY3hTeXhIUVVGSExFZEJRVXRyU1N4RlFVRk5kME1zUlVGQlJ6RkxMRWRCUVVjc1IwRkROMEp2U1N4RlFVRk5jME1zUlVGQlJ6RkxMRWRCUVVjc1IwRkJTM0ZKTEVWQlFVMXhReXhGUVVGSE1Vc3NSMEZCUnl4SFFVTTNRbTlKTEVWQlFVMXpReXhGUVVGSE1Vc3NSMEZCUnl4SFFVRkxjVWtzUlVGQlRYRkRMRVZCUVVjeFN5eEhRVUZITEV0QlJURkNkVW9zUjBGSFFTeEpRVUZKTkVzc1JVRkJTeXhEUVVOYWJFMHNSVUZCVFhsRExFVkJRVWN4U3l4SFFVRkhMRWRCUVV0clNTeEZRVUZOZDBNc1JVRkJSekZMTEVkQlFVY3NSMEZETjBKcFNTeEZRVUZOZVVNc1JVRkJSekZMTEVkQlFVY3NSMEZCUzJ0SkxFVkJRVTEzUXl4RlFVRkhNVXNzUjBGQlJ5eEhRVU0zUW05SkxFVkJRVTF6UXl4RlFVRkhNVXNzUjBGQlJ5eEhRVUZMY1Vrc1JVRkJUWEZETEVWQlFVY3hTeXhIUVVGSExFZEJRemRDYjBrc1JVRkJUWE5ETEVWQlFVY3hTeXhIUVVGSExFZEJRVXR4U1N4RlFVRk5jVU1zUlVGQlJ6RkxMRWRCUVVjc1RVRkpla050VlN4RlFVRkxPVTBzVlVGQlZ5eEpRVUZKT0Uwc1IwRkJUeTlRTEdOQlEzQkNLMUFzUlVGeVMyTXNSMEYxUzNwQ2JsZ3NSVUZCVVRaRkxGRkJRVlZ6VXl4SExHZENRek5MYkVJN096czdPenRMUVUxQkxGTkJRVlYwV0N4SFFVVlNMR0ZCVTBFc1UwRkJVMjFxUWl4RlFVRlRiRTRzUlVGQlIwTXNSMEZGYmtJc1NVRkJTV3RPTEVWQlFVdHlaaXhMUVVGTFF5eEpRVUZKYVZNc1IwRkRaRzlPTEVWQlFVdDBaaXhMUVVGTFF5eEpRVUZKYTFNc1IwRkZiRUlzVDBGQlZTeEpRVUZPUkN4RlFVTkxiRk1zUzBGQlMybFJMRWxCUVVseFVDeEhRVWRTTEVsQlFVNXVUaXhGUVVOTGJsTXNTMEZCUzJsUkxFbEJRVWx2VUN4SFFVZGtRU3hGUVVGTExFdEJRVkZETEVWQlFVc3NTVUZEWVN4SFFVRXhRblJtTEV0QlFVdHBVU3hKUVVGSmFVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZIZGtKdVV5eExRVUZMYVZFc1NVRkJTV2xETEVWQlFVbHNVeXhMUVVGTGEwSXNTVUZCU1d4Q0xFdEJRVXR2UkN4TlFVRk5LMDhzUlVGQlIwUXNTMEZQTjBNc1NVRkJTV2RJTEVWQlFVa3NRMEZEVGl4RlFVRkxMRVZCUTB3c1JVRkJTeXhGUVVOTUxFVkJRVXNzUlVGRFRDeEZRVUZMTEVkQlIxQXNVMEZCVTNoSkxFVkJRVTB2VVN4RlFVRk5lVUlzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlJ6VkNMRkZCUVZWVUxFbEJRVTVUTEVWQlMwWXNUMEZLUVVVc1JVRkJVU3hGUVVGSmVVSXNSVUZEV25wQ0xFVkJRVkVzUlVGQlNVb3NSVUZEV2trc1JVRkJVU3hGUVVGSlNDeFBRVU5hUnl4RlFVRlJMRVZCUVVsR0xFZEJTV1FzUjBGQmFVSXNhVUpCUVU0eVFpeFJRVUYzUW5CRExFbEJRVTVSTEVWQlFXbENMRU5CUnpWRExFZEJRVWtzVFVGQlR6UkNMRWRCUVVzc1RVRkJUMEVzUjBGQlN5eE5RVUZQUVN4SFFVRkxMRTFCUVU5QkxFVkJTemRETEU5QlNrRjZRaXhGUVVGUkxFVkJRVWw1UWl4RlFVRkxMRWRCUVVzc1JVRkRkRUo2UWl4RlFVRlJMRVZCUVVsNVFpeEZRVUZMTEVkQlFVc3NSVUZEZEVKNlFpeEZRVUZSTEVWQlFVbDVRaXhGUVVGTExFZEJRVXNzVDBGRGRFSjZRaXhGUVVGUkxFVkJRVWw1UWl4RlFVRkxMRWRCUVVzc1IwRkxlRUlzUjBGQlNTeFBRVUZSUVN4SFFVRkxMRTlCUVZGQkxFVkJTM1pDTEU5QlNrRjZRaXhGUVVGUkxFVkJRVWw1UWl4RlFVRk5MRWRCUTJ4Q2VrSXNSVUZCVVN4RlFVRkplVUlzUlVGQlRTeEhRVU5zUW5wQ0xFVkJRVkVzUlVGQlNTeFBRVU5hUVN4RlFVRlJMRVZCUVVrc1IwRkxaQ3hIUVVGcFFpeEpRVUZpZVVJc1JVRkJSV3hDTEU5QlMwb3NUMEZLUVZBc1JVRkJVU3hGUVVGSmVVSXNSVUZCUlN4SFFVTmtla0lzUlVGQlVTeEZRVUZKZVVJc1JVRkJSU3hIUVVOa2VrSXNSVUZCVVN4RlFVRkplVUlzUlVGQlJTeFJRVU5rZWtJc1JVRkJVU3hGUVVGSmVVSXNSVUZCUlN4SlFVdG9RaXhIUVVGcFFpeEpRVUZpUVN4RlFVRkZiRUlzVDBGTFNpeFBRVXBCVUN4RlFVRlJMRVZCUVVrc1JVRkRXa0VzUlVGQlVTeEZRVUZKZVVJc1JVRkJSU3hIUVVOa2VrSXNSVUZCVVN4RlFVRkplVUlzUlVGQlJTeFJRVU5rZWtJc1JVRkJVU3hGUVVGSmVVSXNSVUZCUlN4SlFVbG9RaXhOUVVGTkxFbEJRVWw1VkN4TlFVRk5MR3RDUVVsc1FpeEhRVUZwUWl4cFFrRkJUbnBVTEZGQlFYZENjRU1zU1VGQlRsRXNUMEY1Ulc1Q1VpeEpRVUZPYjBNc1IwRkJiVUo2UWl4SlFVRlRkVm9zUjBGRE9VSjJXaXhGUVVGUkxFVkJRVWtzUlVGRFdrRXNSVUZCVVN4RlFVTkJRU3hGUVVGUkxFVkJRMUpCTEVWQlFWRXNSVUZCU1N4SlFVZHdRa0VzUlVGQlVTeEZRVUZKZVVJc1IwRkJTeXhGUVVkaU4wSXNSMEZCYTBJc1NVRkJZa0VzUlVGQlJWY3NVVUZEVkZBc1JVRkJVU3hGUVVGSlNpeEZRVUZGTEVkQlEyUkpMRVZCUVZFc1JVRkJTVW9zUlVGQlJTeEhRVU5rU1N4RlFVRlJMRVZCUVVsS0xFVkJRVVVzUzBGRlpFa3NSVUZCVVN4RlFVRkpTaXhIUVVGTExFVkJRMnBDU1N4RlFVRlJMRVZCUVVsSUxFZEJRVXNzUlVGRGFrSkhMRVZCUVZFc1JVRkJTVVlzUjBGQlN5eFJRVEZHY2tJc1EwRkZSU3hKUVVGSk9HWXNSVUZCVTI1bExFVkJRVVYzVHl4TlFVRk5MSGxEUVVOcVFqUlFMRVZCUVU4c1JVRkRVRU1zUlVGQlVTeEZRVVZTUXl4RlFVRlBMRU5CUVVNc1JVRkJTeXhKUVVGTExFVkJRVXNzU1VGQlN5eEZRVUZMTEV0QlJYSkRMRWRCUVdVc1QwRkJXRWdzUlVGRFJpeE5RVUZOTEVsQlFVa3hTeXhOUVVGTkxHVkJTV3hDYkZZc1JVRkJVU3hGUVVOQlFTeEZRVUZSTEVWQlExSkJMRVZCUVZFc1JVRkRVa0VzUlVGQlVTeEZRVUZKTEVWQlJYQkNMRWxCUVVzc1NVRkJTV3hFTEVWQlFVa3NSVUZCUjBFc1JVRkJTVGhwUWl4RlFVRlBjbVlzVDBGQlVYcEVMRWxCUVVzc1EwRkZkRU1zU1VGQlNVc3NSVUZCU1hscFFpeEZRVUZQT1dsQ0xFZEJRMWhOTEVWQlFVbDNhVUlzUlVGQlR6bHBRaXhGUVVGSkxFZEJSVzVDTEVkQlFWVXNUVUZCVGtzc1IwRkJiVUlzVDBGQlRrRXNSMEZCYjBJc1QwRkJUa0VzVVVGRmVFSXNSMEZCVlN4TlFVRk9RU3hGUVVOVU1HbENMRk5CUTBzc1IwRkJWU3hOUVVGT01XbENMRVZCUTFReWFVSXNVVUZEU3l4RFFVVk1MRWRCUVVsRUxFVkJRVTlETEVsQlFWVXNSVUZEYmtJc1RVRkJUU3hKUVVGSk5Vc3NUVUZCVFN4alFVRm5RaTlZTEVkQlJXeERMRWxCUVVsclpDeEZRVUZKTUVZc1JVRkJTelZwUWl4SFFVZGlMRkZCUVZWclF5eEpRVUZPWjJJc1JVRkhVU3hOUVVGT2FtUXNSMEZCWXpaWUxFMUJRVTAzV0N4SFFVbDBRa1FzUlVGQlNTeExRVWhLUVN4RlFVRkpReXhGUVVOS1RpeFRRVXRITEVOQlJVd3NSMEZCU1cxWkxFMUJRVTA1V0N4SFFVTlNMRTFCUVUwc1NVRkJTU3RZTEUxQlFVMHNjVUpCUzFJM1ZpeExRVVpXWjJJc1JVRkJTVEJHTEVWQlFVc3phVUlzUzBGSFVFNHNTVUZKU210RUxFVkJRVXR4WVN4SFFVRkxMRTFCUVZFeVJpeFpRVUZaUml4RlFVRlJMRVZCUVVrc1NVRkJUU3hKUVVGTk0ybENMRWRCUTNSRU1HbENMRVZCUVU5RExFVkJRVkVzUjBGTGJrSXNSMEZCU1VRc1JVRkJUME1zUlVGQlVTeEZRVU5xUWl4TlFVRk5MRWxCUVVrMVN5eE5RVUZOTEdsQ1FUUkNkRUlzVTBGQlV5dExMRVZCUVZNeGFFSXNSVUZCUnpKb1FpeEZRVUZOUXl4SFFVVjZRaXhKUVVGSlF5eEZRVUZOTEVkQmFVSldMRTlCWmxVc1NVRkJUamRvUWl4SlFVVlhMRXRCUVZRMGFFSXNSVUZEUmtNc1IwRkJUemRvUWl4RlFVRkpMRVZCUVVrc1RVRkJVU3hOUVVOa1FTeEZRVUZKTEVsQlEySTJhRUlzUjBGQlR5eExRVXRNTEV0QlJrbzNhRUlzUlVGQlNUaENMRXRCUVV0RExFbEJRVWt2UWl4TFFVVlhMRXRCUVZReWFFSXNTVUZEWWtVc1IwRkJUemRvUWl4SFFVVlVObWhDTEVkQlFVOUdMRWRCUlVaRkxFVkJZVlFzVTBGQlUzWktMRVZCUVZkd1ZpeEZRVUZITjBJc1JVRkJSME1zUlVGQlIwTXNSMEZGTTBJc1MwRkJUWEJFTEdkQ1FVRm5RbTFoTEVkQlEzQkNMRTlCUVU4c1NVRkJTVUVzUlVGQlYzQldMRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVVkcVEybFNMRVZCUVUxeVZTeExRVUZOSzBVc1JVRkJSemRDTEVWQlFVZERMRVZCUVVkRExFZEJSM1pDSzFjc1JVRkJWMjVaTEZWQlFWa3NRMEZEY2tJc1JVRkJTeXhGUVVOTUxFVkJRVXNzUlVGRFRDeEZRVUZMTEVWQlEwd3NSVUZCU3l4RlFWVk1MRWxCUVU4c1UwRkJVeXRETEVWQlFVYzNRaXhGUVVGSFF5eEZRVUZIUXl4SFFVMTJRaXhQUVVwQmFWSXNSVUZCVFhkSkxFVkJRVWM1V0N4RlFVRkhOMElzUlVGQlIwTXNSVUZCUjBNc1IwRkpXQ3hKUVVGSksxY3NSVUZEU0c1aExFdEJRVkVzUlVGQlNUWmpMRVZCUVVzc1JVRkRha0kzWXl4TFFVRlJMRVZCUVVrMll5eEZRVUZMTEVWQlEycENOMk1zUzBGQlVTeEZRVUZKTm1Nc1JVRkJTeXhGUVVOcVFqZGpMRXRCUVZFc1JVRkJTVFpqTEVWQlFVc3NTVUZYTTBJc1NVRkJUeXhUUVVGVE9WZ3NSVUZCUnpkQ0xFVkJRVWRETEVWQlFVZERMRWRCVDNaQ0xFOUJURUZwVWl4RlFVRk5kMGtzUlVGQlJ6bFlMRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVV0WUxFbEJRVWtyVnl4RlFVTklibUVzUzBGQlVTeEZRVUZKTm1Nc1JVRkJTeXhGUVVOcVFqZGpMRXRCUVZFc1JVRkJTVFpqTEVWQlFVc3NSVUZEYWtJM1l5eExRVUZSTEVWQlFVazJZeXhGUVVGTExFVkJRMnBDTjJNc1MwRkJVU3hGUVVGSk5tTXNSVUZCU3l4SlFVOHpRaXhKUVVGUExGZEJTVXdzVDBGQlR5eEpRVUZKTVVNc1IwRkJXVzVoTEV0QlFWRXNSMEZCU1VFc1MwRkJVU3hIUVVGSlFTeExRVUZSTEVkQlFVbEJMRXRCUVZFc1NVRlBja1VzUzBGQlVTeFhRVTFPTEVsQlFVa3JSU3hGUVVGSkwwVXNTMEZCVVN4RlFVTmFhMFFzUlVGQlNXeEVMRXRCUVZFc1JVRkRXbTFFTEVWQlFVbHVSQ3hMUVVGUkxFVkJRMXB2UkN4RlFVRkpjRVFzUzBGQlVTeEZRVVZvUWl4UFFVRlBNa1FzUzBGQlMwY3NTMEZCUzJsQ0xFVkJRVWxCTEVWQlFVazNRaXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4SlFVOHZReXhQUVVGVkxGZEJVMUlzU1VGQlNUSkNMRVZCUVVrdlJTeExRVUZSTEVWQlExcHJSQ3hGUVVGSmJFUXNTMEZCVVN4RlFVTmFiVVFzUlVGQlNXNUVMRXRCUVZFc1JVRkRXbTlFTEVWQlFVbHdSQ3hMUVVGUkxFVkJSV2hDTEU5QlFVOHJSU3hGUVVGSlFTeEZRVUZKTjBJc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZSY2tNc1ZVRkJZU3hYUVUxWUxFbEJRVWt5UWl4RlFVRkpMMFVzUzBGQlVTeEZRVU5hYTBRc1JVRkJTV3hFTEV0QlFWRXNSVUZEV20xRUxFVkJRVWx1UkN4TFFVRlJMRVZCUTFwdlJDeEZRVUZKY0VRc1MwRkJVU3hGUVVWYU1tcENMRVZCUVU5b1owSXNTMEZCUzBjc1MwRkJTMmxDTEVWQlFVbEJMRVZCUVVrM1FpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hIUVVWcVJDeFBRVUZKZFdkQ0xFVkJRVTk0U2l4RlFVRnZRaXhSUVVOMFFrRXNSVUZCYVVJc1MwRkxia0lzU1VGQlNVRXNSVUZCVjNCV0xFZEJSblJDTkdVc1JVRkJUeXhGUVVGSlFTeEhRVVZ4UW5wblFpeEZRVUZKZVdkQ0xFVkJRVTE0WjBJc1JVRkJTWGRuUWl4RlFVRk5kbWRDTEVWQlFVbDFaMElzU1VGWk1VUXNTVUZCVHl4VFFVRlROV1VzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlJYWkNhVklzUlVGQlRYZEpMRVZCUVVjNVdDeEZRVUZITjBJc1JVRkJSME1zUlVGQlIwTXNSMEZOYkVJc1NVRkJTWGRuUWl4RlFVRkxOV3BDTEV0QlFWRXNSVUZEWWpacVFpeEZRVUZMTjJwQ0xFdEJRVkVzUlVGRFlqaHFRaXhGUVVGTE9XcENMRXRCUVZFc1JVRkRZaXRxUWl4RlFVRkxMMnBDTEV0QlFWRXNSVUZGWW1kclFpeEZRVUZMYmtnc1JVRkJTeXhGUVVOV00xZ3NSVUZCU3pKWUxFVkJRVXNzUlVGRFZqRllMRVZCUVVzd1dDeEZRVUZMTEVWQlExWjZXQ3hGUVVGTGVWZ3NSVUZCU3l4RlFVVmtMRTlCUVU4c1NVRkJTVEZETEVWQlEwaDVTaXhGUVVGTFNTeEZRVUZMU0N4RlFVRkxNMlVzUlVGQlN6UmxMRVZCUVVzelpTeEZRVUZMTkdVc1JVRkJTek5sTEVWQlEyNURkMlVzUlVGQlN6RmxMRVZCUVVzeVpTeEZRVUZMUnl4RlFVRkxSaXhGUVVGTE1XVXNSVUZCU3pKbExFVkJRVXMxWlN4RlFVTnVRM2xsTEVWQlFVdDZaU3hGUVVGTE1tVXNSVUZCUzBVc1JVRkJTMFFzUlVGQlN6ZGxMRVZCUVVzeVpTeEZRVUZMZW1Vc1JVRkRia04zWlN4RlFVRkxlR1VzUlVGQlN6SmxMRVZCUVV0RExFVkJRVXRJTEVWQlFVc3haU3hGUVVGTE1tVXNSVUZCU3pWbExFbEJVVGRETEUxQlFWTXNVMEZCVXk5RExFZEJSV2hDTEU5QlFVOHNTVUZCU1dkWkxFVkJRMGh1WVN4TFFVRlJMRVZCUVVsdFF5eEZRVU5hYmtNc1MwRkJVU3hGUVVGSmJVTXNSVUZEV201RExFdEJRVkVzUlVGQlNXMURMRVZCUTFwdVF5eExRVUZSTEVWQlFVbHRReXhKUVZkMFFpeEpRVUZQTEZOQlFWTTBReXhGUVVGSE4wSXNSVUZCUjBNc1JVRkJSME1zUjBGTmRrSXNUMEZLUVdsU0xFVkJRVTEzU1N4RlFVRkhPVmdzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlNWaHdSQ3hMUVVGUkxFVkJRVWsyWXl4RlFVRkxMRVZCUVVrM1l5eExRVUZSTEVWQlFVazJZeXhGUVVGTExFVkJRVWszWXl4TFFVRlJMRVZCUVVrMll5eEZRVUZMTEVWQlFVazNZeXhMUVVGUkxFVkJRVWsyWXl4RlFVRkxMRWRCVVhwR0xGRkJRVmNzVjBGWFZDeEpRVUZKT1Znc1JVRkJTUzlGTEV0QlFWRXNSVUZEV210RUxFVkJRVWxzUkN4TFFVRlJMRVZCUTFwdFJDeEZRVUZKYmtRc1MwRkJVU3hGUVVOYWIwUXNSVUZCU1hCRUxFdEJRVkVzUlVGRldtbHJRaXhGUVVGVGJHWXNSVUZCU1VFc1JVRkJTVGRDTEVWQlFVbEJMRVZCUVVsRExFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFVkJSWHBETEU5QlFXVXNTVUZCV0RablFpeEZRVU5MT1Vvc1JVRkJhVUlzUzBGTGJrSXNTVUZCU1VFc1JVRkJWM0JXTEVkQlJuUkNhMllzUlVGQlV5eEZRVUZKUVN4SlFVVnpRaTluUWl4RlFVRkpLMmRDTEVkQlFWTTVaMElzUlVGQlNUaG5RaXhIUVVGVE4yZENMRVZCUVVrMlowSXNTVUZYYmtVc1NVRkJUeXhUUVVGVGJHWXNSVUZCUnpkQ0xFVkJRVWRETEVWQlFVZERMRWRCUlhaQ2FWSXNSVUZCVFhkSkxFVkJRVWM1V0N4RlFVRkhOMElzUlVGQlIwTXNSVUZCUjBNc1IwRkpiRUlzU1VGQlNYZG5RaXhGUVVGTE5XcENMRXRCUVZFc1JVRkRZalpxUWl4RlFVRkxOMnBDTEV0QlFWRXNSVUZEWWpocVFpeEZRVUZMT1dwQ0xFdEJRVkVzUlVGRFlpdHFRaXhGUVVGTEwycENMRXRCUVZFc1JVRkZZbWRyUWl4RlFVRkxia2dzUlVGQlN5eEZRVU5XTTFnc1JVRkJTekpZTEVWQlFVc3NSVUZEVmpGWUxFVkJRVXN3V0N4RlFVRkxMRVZCUTFaNldDeEZRVUZMZVZnc1JVRkJTeXhGUVVWV2IwZ3NSVUZCVTBRc1JVRkJTMEVzUlVGQlN6bGxMRVZCUVV0QkxFVkJRVXRETEVWQlFVdEJMRVZCUVV0RExFVkJRVXRCTEVWQlJXaEVMRTlCUVdVc1NVRkJXRFpsTEVWQlEwczVTaXhGUVVGcFFpeExRVXR1UWl4SlFVRkpRU3hIUVVOR2VVb3NSVUZCUzBrc1JVRkJTMGdzUlVGQlN6TmxMRVZCUVVzMFpTeEZRVUZMTTJVc1JVRkJTelJsTEVWQlFVc3paU3hKUVVnMVF6WmxMRVZCUVZNc1JVRkJTVUVzU1VGSlNrb3NSVUZCUzBjc1JVRkJTMG9zUlVGQlN6RmxMRVZCUVVzMFpTeEZRVUZMTVdVc1JVRkJTekpsTEVWQlFVczFaU3hIUVVGTk9HVXNSMEZEZWtOSUxFVkJRVXRGTEVWQlFVdEtMRVZCUVV0NlpTeEZRVUZMTkdVc1JVRkJTemRsTEVWQlFVc3laU3hGUVVGTGVtVXNSMEZCVFRabExFZEJRM3BEUml4RlFVRkxReXhGUVVGTFNpeEZRVUZMZUdVc1JVRkJTM2xsTEVWQlFVc3haU3hGUVVGTE1tVXNSVUZCU3pWbExFZEJRVTByWlN4SlFVOXdSQ3hWUVVGaExGZEJZMWdzVDBGQlR5eEpRVUZKT1Vvc1JVRkJWMjVoTEV0QlFWRXNSMEZCU1VFc1MwRkJVU3hIUVVGSlFTeExRVUZSTEVkQlFVbEJMRXRCUVZFc1NVRlBjRVVzU1VGQlR5eFhRVVZNTEVsQlFVa3JSU3hGUVVGSkwwVXNTMEZCVVN4RlFVTmFhMFFzUlVGQlNXeEVMRXRCUVZFc1JVRkRXbTFFTEVWQlFVbHVSQ3hMUVVGUkxFVkJRMXB2UkN4RlFVRkpjRVFzUzBGQlVTeEZRVVZhYTJ0Q0xFVkJRVkYyWjBJc1MwRkJTMGNzUzBGQlMxb3NSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSVUZCU1VNc1JVRkJTVUVzUjBGRGRFTXJaMElzUlVGQlQzaG5RaXhMUVVGTGVXZENMRWxCUVVseVppeEhRVU5vUWxnc1JVRkJVU3RtTEVWQlFVOUVMRVZCUVZGMlowSXNTMEZCUzIxQ0xFbEJRVWx2Wml4SFFVVndReXhQUVVGakxFbEJRVlpCTEVWQlJVc3NTVUZCU1M5S0xFVkJRVmRuU3l4RlFVRk5MRVZCUVVjc1JVRkJSeXhIUVVjM1FpeEpRVUZKYUVzc1JVRkRTR2RMTEVWQlFVOTRaMElzUzBGQlMydENMRWxCUVVseFppeEhRVU5vUW1ob1FpeEZRVUZKYTBJc1JVRkRTbXBDTEVWQlFVbHBRaXhGUVVOS2FFSXNSVUZCU1dkQ0xFbEJUMlFzU1VGQlR5eFhRVVZNTEVsQlFVbFhMRVZCUVVrdlJTeExRVUZSTEVWQlExcHJSQ3hGUVVGSmJFUXNTMEZCVVN4RlFVTmFiVVFzUlVGQlNXNUVMRXRCUVZFc1JVRkRXbTlFTEVWQlFVbHdSQ3hMUVVGUkxFVkJSV2hDTEVkQlFWVXNTVUZCVG0xRUxFZEJRV2xDTEVsQlFVNURMRVZCUTJJc1QwRkJUeXhKUVVGSksxY3NSVUZEU0RSSkxFVkJRVk5vWlN4RlFVRkhOMElzUjBGRFdsTXNTMEZCUzI5RUxFMUJRVTAzUkN4RlFVRkhOa0lzUjBGQlNTeEZRVUZITEVkQlJ5OUNMRWxCUVVselppeEZRVUZUYm1oQ0xFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFVkJRVWxETEVWQlFVbEJMRVZCUVVreVFpeEZRVUZKUVN4RlFVTnlRMjFtTEVWQlFWRjJaMElzUzBGQlMwY3NTMEZCUzFvc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZGZEVOblFpeEZRVUZSVkN4TFFVRkxiMFFzVFVGQlRXMWtMRVZCUVU5dVppeEhRVUZMYldZc1JVRkZia01zVDBGQlR5eEpRVUZKTDBvc1JVRkRaMElzUjBGQmJrSjRWeXhMUVVGTGFWRXNTVUZCU1hsUkxFZEJRMVJ1YUVJc1JVRkJTV3RDTEVWQlEwcHFRaXhGUVVGSmFVSXNSVUZEU21oQ0xFVkJRVWxuUWl4SlFWZGtMRWxCUVU4c1UwRkJVMWNzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlNYWkNMRWRCUmtGcFVpeEZRVUZOZDBrc1JVRkJSemxZTEVWQlFVYzNRaXhGUVVGSFF5eEZRVUZIUXl4SFFVVklMRWxCUVZoNVdpeEZRVUZMTEVkQlFYTkNMRWxCUVZoQkxFVkJRVXNzUlVGQlV5eERRVVZvUXl4SFFVRmxMRWxCUVZoQkxFVkJRVXNzUjBGQmMwSXNTVUZCV0VFc1JVRkJTeXhGUVVOMlFpeFBRVUZQTjJNc1MwRkhWQ3hIUVVGbExFbEJRVmcyWXl4RlFVRkxMRWRCUVhOQ0xFbEJRVmhCTEVWQlFVc3NSVUZEZGtJc1QwRkJUekZETEVWQlFXZENMRWxCUzNwQ0xFZEJRV3RDTEVsQlFXUnVZU3hMUVVGUkxFZEJRWGxDTEVsQlFXUkJMRXRCUVZFc1JVRkJVeXhEUVVWMFF5eEpRVUZKTmxZc1JVRkJTVGRXTEV0QlFWRXNSVUZEV2poV0xFVkJRVWs1Vml4TFFVRlJMRVZCUldoQ0xFZEJRVlVzU1VGQlRqWldMRWRCUVdsQ0xFbEJRVTVETEVWQlEySXNUMEZCVDNGRkxFVkJRV2xDTEV0QlJ6RkNMRWxCUVVsdFN5eEZRVUZOTTJkQ0xFdEJRVXR2UkN4TlFVRk5LMDhzUlVGQlIwUXNSMEZEY0VJd1R5eEZRVUZOZUVJc1JVRkJVMnhPTEVWQlFVZERMRWRCUlhSQ0xFZEJRV1VzU1VGQldDdEhMRVZCUVVzc1JVRkJVeXhEUVVWb1FpeEhRVUZWTEVsQlFVNHZSeXhIUVVGWFJDeEhRVUZMTEVWQlJXeENMRTlCUVU4c1NVRkJTWE5GTEVWQlFWZDRWeXhMUVVGTE5tZENMRWxCUVVrelR5eEZRVUZIWjBnc1JVRkJTeXhIUVVGSkxFVkJRVWNzUlVGQlJ5eEhRVVUxUXl4SFFVRlZMRWxCUVU1b1NDeEZRVVZVTEU5QlFWRm5TQ3hGUVVGTExFVkJRVWtzUjBGRFppeExRVUZMTEVWQlEwZ3NUMEZCVHl4SlFVRkpNVU1zUlVGQlYzaFhMRXRCUVVzMlowSXNTVUZCU1RGUExFVkJRVWNyUnl4RlFVRkxMRWRCUVVrc1JVRkJSeXhGUVVGSExFZEJRMjVFTEV0QlFVc3NSVUZEU0N4UFFVRlBMRWxCUVVreFF5eEZRVUZYTEVWQlFVZDRWeXhMUVVGTE5tZENMRWxCUVVreFR5eEZRVUZISzBjc1JVRkJTeXhIUVVGSkxFVkJRVWNzUjBGRGJrUXNTMEZCU3l4RlFVTklMRTlCUVU4c1NVRkJTVEZETEVkQlFWbDRWeXhMUVVGTE5tZENMRWxCUVVreFR5eEZRVUZISzBjc1JVRkJTeXhIUVVGSkxFVkJRVWNzUlVGQlJ5eEhRVU53UkN4TFFVRkxMRVZCUTBnc1QwRkJUeXhKUVVGSk1VTXNSVUZCVnl4SFFVRkplRmNzUzBGQlN6Wm5RaXhKUVVGSk1VOHNSVUZCUnl0SExFVkJRVXNzUjBGQlNTeEZRVUZITEVsQlR6RkVMRTlCUmtGb1NDeEZRVUZKYkZNc1MwRkJTM2xuUWl4SlFVRkpka2dzUlVGQlN5eEZRVUZKTUVnc1JVRkJUVEZJTEVWQlFVc3NSVUZCU1hsSUxFZEJRM0pEZUU4c1JVRkJTU3RITEVWQlFVc3NSVUZCU1RCSUxFVkJRVTB4U0N4RlFVRkxMRVZCUVVsNVNDeEZRVU55UWl4SlFVRkpia3NzUlVGRFNIUkZMRVZCUVVsc1V5eExRVUZMYTBJc1NVRkJTV2xTTEVkQlEySkVMRVZCUVVsc1V5eExRVUZMYlVJc1NVRkJTV2RTTEVkQlFVa3NSVUZCUnl4SlFVMW9ReXhQUVVGUE9WWXNTMEZCU3pSVUxFMUJRVTAyVVN4SlFVRkpOVWdzUjBGQlIzVklMRTlCVnpOQ0xFOUJRVlVzVTBGQlUzSm1MRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVVVeFFtbFNMRVZCUVUxM1NTeEZRVUZIT1Znc1JVRkJSemRDTEVWQlFVZERMRVZCUVVkRExFZEJSV3hDTEVsQlFVbHphRUlzUlVGQlRYWkxMRVZCUVc5Q0xGRkJSemxDTEU5QlFVOTRWeXhMUVVGTFF5eEpRVUZKYVZvc1JVRkJTeXhGUVVGSk4yTXNTMEZCVVN4SFFVRkxNR3RDTEVkQlF6TkNMMmRDTEV0QlFVdERMRWxCUVVscFdpeEZRVUZMTEVWQlFVazNZeXhMUVVGUkxFZEJRVXN3YTBJc1IwRkRMMEl2WjBJc1MwRkJTME1zU1VGQlNXbGFMRVZCUVVzc1JVRkJTVGRqTEV0QlFWRXNSMEZCU3pCclFpeEhRVU12UWk5blFpeExRVUZMUXl4SlFVRkphVm9zUlVGQlN5eEZRVUZKTjJNc1MwRkJVU3hIUVVGTE1HdENMRWRCVHpWRExGTkJRVmtzVjBGRlZpeFBRVUZQUXl4VFFVRlRNMnRDTEV0QlFWRXNTVUZCVFRKclFpeFRRVUZUTTJ0Q0xFdEJRVkVzU1VGQlRUSnJRaXhUUVVGVE0ydENMRXRCUVZFc1NVRkJUVEpyUWl4VFFVRlRNMnRDTEV0QlFWRXNTVUZQTDBZc1RVRkJVeXhYUVVWUUxFOUJRVTkxV1N4TlFVRk5kbGtzUzBGQlVTeEpRVUZOZFZrc1RVRkJUWFpaTEV0QlFWRXNTVUZCVFhWWkxFMUJRVTEyV1N4TFFVRlJMRWxCUVUxMVdTeE5RVUZOZGxrc1MwRkJVU3hKUVU5dVJpeFRRVUZaTEZkQlJWWXNTVUZCU1N0RkxFVkJRVWt2UlN4TFFVRlJMRVZCUTFwclJDeEZRVUZKYkVRc1MwRkJVU3hGUVVOYWJVUXNSVUZCU1c1RUxFdEJRVkVzUlVGRFdtOUVMRVZCUVVsd1JDeExRVUZSTEVWQlExb3dha0lzUlVGQlRTeEhRVVZXTEU5QlFVbHVUQ3hOUVVGTmVGUXNTVUZCVFhkVUxFMUJRVTF5Vml4SlFVRk5jVllzVFVGQlRYQldMRWxCUVUxdlZpeE5RVUZOYmxZc1IwRkRja01zVDBGTlZITm5RaXhGUVVGTlNDeEZRVUZUZUdVc1JVRkJSeXhIUVVGSk1tVXNSMEZEZEVKQkxFZEJRVTlJTEVWQlFWTnlaMElzUlVGQlJ5eEpRVUZMZDJkQ0xFZEJRM2hDUVN4SFFVRlBTQ3hGUVVGVGNHZENMRVZCUVVjc1NVRkJTM1ZuUWl4SFFVZHdRaXhOUVVaS1FTeEhRVUZQU0N4RlFVRlRibWRDTEVWQlFVY3NTVUZCUzNOblFpeEpRVWRtTEVsQlJVWkJMRWxCVDFRc1MwRkJVU3hYUVVWT0xFOUJRVTh4YWtJc1MwRkJVU3hIUVU5cVFpeExRVUZSTEZkQlJVNHNUVUZCVHl4RFFVRkRRU3hMUVVGUkxFVkJRVWRCTEV0QlFWRXNSVUZCUjBFc1MwRkJVU3hKUVU5NFF5eFRRVUZaTEZkQlJWWXNUVUZCVHl4RFFVRkRRU3hMUVVGUkxFVkJRVWRCTEV0QlFWRXNSVUZCUjBFc1MwRkJVU3hGUVVGSFFTeExRVUZSTEVsQlUyNUVMRk5CUVZrc1UwRkJVelJyUWl4SFFVVnVRaXhKUVVGSk4yWXNSVUZCU1M5RkxFdEJRVkVzUlVGRFdtdEVMRVZCUVVsc1JDeExRVUZSTEVWQlExcHRSQ3hGUVVGSmJrUXNTMEZCVVN4RlFVTmFiMFFzUlVGQlNYQkVMRXRCUVZFc1JVRkZXalpDTEVWQlFVbHJSQ3hGUVVGSlFTeEZRVUZKTjBJc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSVUZEYUVOcVFpeEZRVUZWTEVsQlFVNU9MRVZCUVZVc1JVRkJTU3hGUVVGSlFTeEZRVU4wUW10SUxFVkJRVXMxUnl4RlFVRkpORU1zUlVGQlNUZENMRVZCUVVjNFJpeEZRVUZMTjBjc1JVRkJTVFJETEVWQlFVazFRaXhGUVVGSE9FWXNSVUZCU3psSExFVkJRVWswUXl4RlFVRkpNMElzUlVGRE4wTnpSaXhGUVVGTGRrY3NSVUZCU1dVc1JVRkJTVUVzUlVGQlIyOUVMRVZCUVV0dVJTeEZRVUZKWlN4RlFVRkpReXhGUVVGSGQwWXNSVUZCUzNoSExFVkJRVWxsTEVWQlFVbEZMRVZCUXpkRGQwWXNSVUZCUzNwSExFVkJRVWxuUWl4RlFVRkpRU3hGUVVGSE1FWXNSVUZCU3pGSExFVkJRVWxuUWl4RlFVRkpReXhGUVVGSE1FWXNSVUZCU3pOSExFVkJRVWxwUWl4RlFVRkpRU3hGUVVWcVJDeFBRVUZKZDJoQ0xFVkJRMHNzUTBGRFRDeERRVUZETEVkQlFVdG9ZeXhGUVVGTFJTeEhRVUZMZUVNc1JVRkJTekpETEVWQlFVbE9MRVZCUVV0TExFZEJRemxDTEVOQlFVTXhReXhGUVVGTE1rTXNSVUZCU1N4SFFVRkxVQ3hGUVVGTFNTeEhRVUZMUkN4RlFVRkxSU3hIUVVNNVFpeERRVUZEU2l4RlFVRkxTeXhGUVVGSlNDeEZRVUZMUlN4RlFVRkpMRWRCUVV0TUxFVkJRVXRGTEV0QlJ6RkNMRU5CUTB3c1IwRkJTMEVzUlVGQlMwVXNSMEZCUzNoRExFVkJRVXN5UXl4RlFVRkpUaXhGUVVGTFN5eEZRVU0zUWpGRExFVkJRVXN5UXl4RlFVRkpMRWRCUVV0UUxFVkJRVXRKTEVkQlFVdEVMRVZCUVV0RkxFVkJRemRDU2l4RlFVRkxTeXhGUVVGSlNDeEZRVUZMUlN4RlFVRkpMRWRCUVV0TUxFVkJRVXRGTEV0QlVXaERMRlZCUVdFc1UwRkJVMmRqTEVkQlJYQkNMRWxCUVVrM1ppeEZRVUZKTDBVc1MwRkJVU3hGUVVOYWEwUXNSVUZCU1d4RUxFdEJRVkVzUlVGRFdtMUVMRVZCUVVsdVJDeExRVUZSTEVWQlExcHZSQ3hGUVVGSmNFUXNTMEZCVVN4RlFVVmFOa0lzUlVGQlNXdEVMRVZCUVVsQkxFVkJRVWszUWl4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVU5vUTJwQ0xFVkJRVlVzU1VGQlRrNHNSVUZCVlN4RlFVRkpMRVZCUVVsQkxFVkJRM1JDYTBnc1JVRkJTelZITEVWQlFVazBReXhGUVVGSk4wSXNSVUZCUnpoR0xFVkJRVXMzUnl4RlFVRkpORU1zUlVGQlNUVkNMRVZCUVVjNFJpeEZRVUZMT1Vjc1JVRkJTVFJETEVWQlFVa3pRaXhGUVVNM1EzTkdMRVZCUVV0MlJ5eEZRVUZKWlN4RlFVRkpRU3hGUVVGSGIwUXNSVUZCUzI1RkxFVkJRVWxsTEVWQlFVbERMRVZCUVVkM1JpeEZRVUZMZUVjc1JVRkJTV1VzUlVGQlNVVXNSVUZETjBOM1JpeEZRVUZMZWtjc1JVRkJTV2RDTEVWQlFVbEJMRVZCUVVjd1JpeEZRVUZMTVVjc1JVRkJTV2RDTEVWQlFVbERMRVZCUVVjd1JpeEZRVUZMTTBjc1JVRkJTV2xDTEVWQlFVbEJMRVZCUldwRUxFOUJRVWwzYUVJc1JVRkRTeXhEUVVOTUxFTkJRVU1zUjBGQlMyaGpMRVZCUVV0RkxFZEJRVXQ0UXl4RlFVRkxNa01zUlVGQlNVNHNSVUZCUzBzc1JVRkJTU3hIUVVOc1F5eERRVUZETVVNc1JVRkJTekpETEVWQlFVa3NSMEZCUzFBc1JVRkJTMGtzUjBGQlMwUXNSVUZCUzBVc1JVRkJTU3hIUVVOc1F5eERRVUZEU2l4RlFVRkxTeXhGUVVGSlNDeEZRVUZMUlN4RlFVRkpMRWRCUVV0TUxFVkJRVXRGTEVkQlFVc3NSMEZEYkVNc1EwRkJReXhGUVVGSExFVkJRVWNzUlVGQlJ5eEpRVWRRTEVOQlEwd3NSMEZCUzBFc1JVRkJTMFVzUjBGQlMzaERMRVZCUVVzeVF5eEZRVUZKVGl4RlFVRkxTeXhGUVVGSkxFVkJRMnBETVVNc1JVRkJTekpETEVWQlFVa3NSMEZCUzFBc1JVRkJTMGtzUjBGQlMwUXNSVUZCUzBVc1JVRkJTU3hGUVVOcVEwb3NSVUZCUzBzc1JVRkJTVWdzUlVGQlMwVXNSVUZCU1N4SFFVRkxUQ3hGUVVGTFJTeEhRVUZMTEVWQlEycERMRVZCUVVjc1JVRkJSeXhGUVVGSExFbEJUMklzVFVGQlV5eFhRVVZRTEU5QlFVOHNTVUZCU1hWU0xFVkJRVmR1WVN4UFFWRjRRaXhoUVVGblFpeFRRVUZUTUZvc1IwRkxka0lzU1VGQlNXdExMRVZCUVVzMWFrSXNTMEZCVVN4RlFVTmlObXBDTEVWQlFVczNha0lzUzBGQlVTeEZRVU5pT0dwQ0xFVkJRVXM1YWtJc1MwRkJVU3hGUVVOaUsycENMRVZCUVVzdmFrSXNTMEZCVVN4RlFVbGlhMFlzUlVGQlMzZFZMRVZCUVVVc1IwRkRVSFpWTEVWQlFVdDFWU3hGUVVGRkxFZEJRMUIwVlN4RlFVRkxjMVVzUlVGQlJTeEhRVWRRYlV3c1IwRkJhMEpvUWl4RlFVRkxNMlVzUlVGQlN6UmxMRVZCUVVzelpTeEZRVUZMTkdVc1JVRkJTek5sTEVWQlF6TkRNR1lzUlVGQlMyeENMRVZCUVVzeFpTeEZRVUZ0UWpSbExFVkJRVXN4WlN4RlFVRkxNbVVzUlVGQlN6VmxMRVZCUXpWRE5HWXNSVUZCUzI1Q0xFVkJRVXQ2WlN4RlFVRnRRalJsTEVWQlFVczNaU3hGUVVGTE1tVXNSVUZCUzNwbExFVkJRelZETkdZc1JVRkJTM0JDTEVWQlFVdDRaU3hGUVVGdFFubGxMRVZCUVVzeFpTeEZRVUZMTW1Vc1JVRkJTelZsTEVWQlQyaEVMRTFCUVU4c1EwRktSVFJtTEVWQlFVdHNRaXhGUVVGTGFVSXNSVUZCUzJoQ0xFVkJRVXRyUWl4RlFVRkxhRUlzUlVGQlMybENMRVZCUVV0c1FpeEZRVU51UTJsQ0xFVkJRVXR1UWl4RlFVRkxhVUlzUlVGQlMyWXNSVUZCUzJ0Q0xFVkJRVXR1UWl4RlFVRkxhVUlzUlVGQlMyWXNSVUZEYmtOcFFpeEZRVUZMY0VJc1JVRkJTMmxDTEVWQlFVdGtMRVZCUVV0bExFVkJRVXRvUWl4RlFVRkxhVUlzUlVGQlMyeENMRWxCU3psRExFMUJRVk1zVTBGQlV6bGxMRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVVWNlFtbFNMRVZCUVUxM1NTeEZRVUZIT1Znc1JVRkJSemRDTEVWQlFVZERMRVZCUVVkRExFZEJTV3hDTEVsQlFVbDNaMElzUlVGQlN6VnFRaXhMUVVGUkxFVkJRMkkyYWtJc1JVRkJTemRxUWl4TFFVRlJMRVZCUTJJNGFrSXNSVUZCU3pscVFpeExRVUZSTEVWQlEySXJha0lzUlVGQlN5OXFRaXhMUVVGUkxFVkJSV0puYTBJc1JVRkJTMjVJTEVWQlFVc3NSVUZEVmpOWUxFVkJRVXN5V0N4RlFVRkxMRVZCUTFZeFdDeEZRVUZMTUZnc1JVRkJTeXhGUVVOV2VsZ3NSVUZCUzNsWUxFVkJRVXNzUlVGRlZtOUpMRVZCUVZseVFpeEZRVUZMU1N4RlFVRkxTQ3hGUVVGTE0yVXNSVUZCU3pSbExFVkJRVXN6WlN4RlFVRkxOR1VzUlVGQlN6TmxMRVZCVlc1RUxFZEJVa2syWml4RlFVRlpMRWxCUTJSeVFpeEhRVUZOUVN4RlFVTk9ReXhIUVVGTlFTeEZRVU5PUXl4SFFVRk5RU3hGUVVOT1F5eEhRVUZOUVN4RlFVTk9hMElzUjBGQllVRXNSMEZIV0VFc1JVRkJXU3hOUVVOa0xFOUJRVThzVTBGQlUwTXNSMEZEWkN4UFFVRlBMRWxCUVVrdlN5eEZRVU5JZVVvc1JVRkJTM05DTEVkQlFVOXNRaXhGUVVGTFNpeEhRVU5xUWtNc1JVRkJTM0ZDTEVkQlFVOW9aMElzUlVGQlN6SmxMRWRCUTJwQ1F5eEZRVUZMYjBJc1IwRkJUeTltTEVWQlFVc3laU3hIUVVOcVFrTXNSVUZCUzIxQ0xFZEJRVTg1Wml4RlFVRkxNbVVzU1VGQlowSXNZVUZKTjBNc1NVRkJTVzlDTEVWQlFWTjRhRUlzUzBGQlMyMUhMRXRCUVV0dFlpeEhRVU51UWtjc1JVRkJXWHBvUWl4TFFVRkxiVUlzU1VGQlNYRm5RaXhIUVVWNlFpeFBRVUZQTEZOQlFWTkVMRWRCUldRc1NVRkJTVWNzUlVGQlVVWXNSVUZCVTBRc1JVRkRha0pKTEVWQlFWY3phRUlzUzBGQlMyMUNMRWxCUVVsMVowSXNSMEZIY0VKeVRDeEZRVVpYY2xjc1MwRkJTMnRDTEVsQlFVbDNaMElzUjBGRlNrb3NSVUZCV1Vzc1JVRkJWMFlzUlVGRGRrTnVUQ3hGUVVGTGNVd3NSVUZCVjBZc1JVRkZjRUlzVDBGQlR5eEpRVUZKYWt3c1JVRkRTRWdzUlVGQlN6UktMRVZCUVVzelNpeEZRVUZMSzBvc1JVRkRabWhMTEVWQlFVczJTaXhGUVVGTE5Vb3NSVUZCU3k5VkxFVkJRMlk0VlN4RlFVRkxPRW9zUlVGQlN6ZEtMRVZCUVVzNVZTeEZRVU5tTmxVc1JVRkJTeXRLTEVWQlFVczVTaXhGUVVGTE4xVXNUVUZMTjBJclZTeEZRVUZwUWl4TFFVRkpMRWxCUVVsQkxFVkJRVmNzUlVGQlJ5eEZRVUZITEVWQlFVY3NSMEZETjBOQkxFVkJRV2RDTEVsQlFVa3NTVUZCU1VFc1JVRkJWeXhGUVVGSExFVkJRVWNzUlVGQlJ5eEhRVU0xUTBFc1JVRkJZeXhGUVVGSkxFbEJRVWxCTEVWQlFWY3NSVUZCUnl4RlFVRkhMRVZCUVVjc1IwRkRNVU5CTEVWQlFXTXNSVUZCU1N4SlFVRkpRU3hGUVVGWExFVkJRVWNzUlVGQlJ5eEZRVUZITEVkQlF6RkRRU3hGUVVGakxFVkJRVWtzU1VGQlNVRXNSVUZCVnl4RlFVRkhMRVZCUVVjc1JVRkJSeXhIUVVNeFEwRXNSVUZCYjBJc1VVRkJTU3hOUVZONFFrRXNSVUZCTUVJc1kwRkJTU3hUUVVGVGFGRXNSVUZCVFZRc1IwRkpNME1zU1VGQlNUWmlMRVZCUVc5Q0xFZEJRVkkzWWl4RlFVVmFiVTBzUlVGQlNURk1MRVZCUVVzc1IwRkRWREpNTEVWQlFVa3pUQ3hGUVVGTExFZEJRMVF4U2l4RlFVRkpNRW9zUlVGQlN5eEhRVVZVY2tZc1JVRkJUVzVDTEV0QlFVdHRRaXhKUVVGSmVXZENMRWRCUTJZeFowSXNSVUZCVFd4Q0xFdEJRVXRyUWl4SlFVRkpNR2RDTEVkQlJXWkRMRVZCUVZjeFowSXNSVUZCVFc1Q0xFdEJRVXRITEV0QlFVc3JVaXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hGUVVGSmNsWXNSVUZCU1VFc1IwRkZia1FzVDBGQlR5eEpRVUZKTUZvc1JVRkJWM1JXTEVWQlFVdG5VaXhGUVVGSk1sQXNSVUZCVlRGUUxFVkJRVWt3VUN4RlFVRlZMMnRDTEVWQlFVa3JhMElzU1VGVE4wUnlUQ3hGUVVFclFpeHRRa0ZCU1N4VFFVRlRjMHdzUlVGQlJ5OU1MRWRCUlRkRExFbEJRVWszUkN4RlFVRkpORkFzUlVGQlJTeEhRVU5PTTFBc1JVRkJTVEpRTEVWQlFVVXNSMEZEVG1oc1FpeEZRVUZKWjJ4Q0xFVkJRVVVzUjBGRlRuWnBRaXhGUVVGSmQxY3NSVUZCUlN4SFFVTk9kbGNzUlVGQlNYVlhMRVZCUVVVc1IwRkRUblJYTEVWQlFVbHpWeXhGUVVGRkxFZEJSVTV5VlN4RlFVRk5kMUVzUlVGQlNUTlRMRVZCUVVrMFV5eEZRVUZKTTFNc1JVRkJTVEZETEVWQlFVa3lReXhGUVVNeFFuZG5RaXhGUVVGTE9VNHNSVUZCU1RGVExFVkJRVWt6UXl4RlFVRkpNRU1zUlVGRGFrSTJaMElzUlVGQlMzWnFRaXhGUVVGSmVVTXNSVUZCU1RKVExFVkJRVWw2VXl4RlFVTnFRbmxvUWl4RlFVRkxhRkFzUlVGQlNURlRMRVZCUVVreVV5eEZRVUZKTlZNc1JVRkZja0lzVDBGQlR5eEpRVUZKYVZnc1JVRkRTRGxWTEVWQlFVMHhRaXhMUVVGTFJ5eExRVUZMZFVJc1JVRkJUVUVzUlVGQlRYVmxMRVZCUVV0QkxFVkJRVXRKTEVWQlFVdEJMRVZCUVV0aExFVkJRVXRCTEVkQlEzSkVha0lzUlVGRFFVa3NSVUZEUVdFc1IwRkRSWGhuUWl4aFFWbGFPRllzUlVGQmMwSXNWVUZCU1N4VFFVRlRkVXdzUlVGQlMwTXNSVUZCVDBNc1JVRkJTME1zUjBGRmJFUXNTVUZCU1VNc1JVRkJZU3hIUVVGU1NDeEZRVU5NU1N4RlFVRlhMRWRCUVU1SUxFVkJRMHhKTEVWQlFWY3NSMEZCVGs0c1JVRkZURThzUlVGQlMzUnBRaXhMUVVGTGEwSXNTVUZCU1dsb1FpeEhRVU5rU1N4RlFVRkxkbWxDTEV0QlFVdHJRaXhKUVVGSmEyaENMRWRCUTJSSkxFVkJRVXQ0YVVJc1MwRkJTMnRDTEVsQlFVbHRhRUlzUjBGRlpFa3NSVUZCUzNwcFFpeExRVUZMYlVJc1NVRkJTV2RvUWl4SFFVTmtUeXhGUVVGTE1XbENMRXRCUVV0dFFpeEpRVUZKYVdoQ0xFZEJRMlJQTEVWQlFVc3phVUlzUzBGQlMyMUNMRWxCUVVscmFFSXNSMEZGYkVJc1dVRkJZM0pxUWl4SlFVRldhMnBDTEVkQlFXbERMRkZCUVZaQkxFVkJRMnhDTEVsQlFVa3hUQ3hGUVVOSU9Fd3NSVUZCUzBNc1JVRkJTME1zUlVGQlMwTXNSVUZCUzBNc1JVRkJTME1zUlVGRGVrSkdMRVZCUVV0R0xFVkJRVXRETEVWQlFVdEdMRVZCUVV0SkxFVkJRVXRETEVWQlEzcENUQ3hGUVVGTFNTeEZRVUZMUml4RlFVRkxReXhGUVVGTFJpeEZRVUZMU1N4RlFVTjZRa3dzUlVGQlMwTXNSVUZCUzBrc1JVRkJTMFlzUlVGQlMwTXNSVUZCUzBZc1IwRkhja0lzVVVGQlZrNHNSVUZEU3l4SlFVRkpNVXdzUlVGRFNEaE1MRVZCUVV0RExFVkJRVXRETEVWQlFVdERMRVZCUVV0RExFVkJRVXRETEVWQlEzcENSaXhGUVVGTFJpeEZRVUZMUXl4RlFVRkxSaXhGUVVGTFNTeEZRVUZMUXl4RlFVTjZRa3dzUlVGQlMwa3NSVUZCUzBZc1JVRkJTME1zUlVGQlMwWXNSVUZCUzBrc1JVRkRla0pNTEVWQlFVdERMRVZCUVV0SkxFVkJRVXRHTEVWQlFVdERMRVZCUVV0R0xFZEJSM0pDTEZGQlFWWk9MRVZCUTBzc1NVRkJTVEZNTEVWQlEwZzRUQ3hGUVVGTFF5eEZRVUZMUXl4RlFVRkxReXhGUVVGTFF5eEZRVUZMUXl4RlFVTjZRa1lzUlVGQlMwWXNSVUZCUzBNc1JVRkJTMFlzUlVGQlMwa3NSVUZCUzBNc1JVRkRla0pNTEVWQlFVdEpMRVZCUVV0R0xFVkJRVXRETEVWQlFVdEdMRVZCUVV0SkxFVkJRM3BDVEN4RlFVRkxReXhGUVVGTFNTeEZRVUZMUml4RlFVRkxReXhGUVVGTFJpeEhRVWR5UWl4UlFVRldUaXhGUVVOTExFbEJRVWt4VEN4RlFVTklPRXdzUlVGQlMwTXNSVUZCUzBNc1JVRkJTME1zUlVGQlMwTXNSVUZCUzBNc1JVRkRla0pHTEVWQlFVdEdMRVZCUVV0RExFVkJRVXRHTEVWQlFVdEpMRVZCUVV0RExFVkJRM3BDVEN4RlFVRkxTU3hGUVVGTFJpeEZRVUZMUXl4RlFVRkxSaXhGUVVGTFNTeEZRVU42UWt3c1JVRkJTME1zUlVGQlMwa3NSVUZCUzBZc1JVRkJTME1zUlVGQlMwWXNSMEZIY2tJc1VVRkJWazRzUlVGRFN5eEpRVUZKTVV3c1JVRkRTRGhNTEVWQlFVdERMRVZCUVV0RExFVkJRVXRETEVWQlFVdERMRVZCUVV0RExFVkJRM3BDUml4RlFVRkxSaXhGUVVGTFF5eEZRVUZMUml4RlFVRkxTU3hGUVVGTFF5eEZRVU42UWt3c1JVRkJTMGtzUlVGQlMwWXNSVUZCUzBNc1JVRkJTMFlzUlVGQlMwa3NSVUZEZWtKTUxFVkJRVXRETEVWQlFVdEpMRVZCUVV0R0xFVkJRVXRETEVWQlFVdEdMRWRCUjNKQ0xGRkJRVlpPTEVWQlEwc3NTVUZCU1RGTUxFVkJRMGc0VEN4RlFVRkxReXhGUVVGTFF5eEZRVUZMUXl4RlFVRkxReXhGUVVGTFF5eEZRVU42UWtZc1JVRkJTMFlzUlVGQlMwTXNSVUZCUzBZc1JVRkJTMGtzUlVGQlMwTXNSVUZEZWtKTUxFVkJRVXRKTEVWQlFVdEdMRVZCUVV0RExFVkJRVXRHTEVWQlFVdEpMRVZCUTNwQ1RDeEZRVUZMUXl4RlFVRkxTU3hGUVVGTFJpeEZRVUZMUXl4RlFVRkxSaXhIUVVVMVFpeFhRVTFPTEV0QlJsVXNSVUZCUml4WFFVTlFMRTlCUVU5b1RTeEhRVU5TTEZGQlJrMHNUMEZGVGl4aFFTOW5RMHdzU1N3MFNVTk9RU3hoUVRSYVFTeFRRVUZuUW05TkxFVkJRVzlDUXl4RlFVRjNRME1zUlVGRE0wVkRMRWRCUlVFc1QwRkJUMFFzUlVGQldVVXNTVUZCVFhSc1FpeEpRVVZxUWl4RFFVTk9iV3hDTEhGQ1FVTkJTU3hWUVVGWGRteENMRVZCUVZGeGJFSXNTMEZxV1hSQ0xIVkNRV0ZETEZsQlFXRkhMRVZCUVhsQ1F5eEZRVU55UTBNc1J5eE5RVnBQTEV0QlFVRkRMRlZCUTFJc1EwRkRRME1zYVVKQlFXdENMRWxCVFZnc1MwRkJRVU1zWlVGQmFVSXNSVUZOZUVKc2JrSXNTMEZCU3padFFpeFhRVUZoUVN4RlFVTnNRamR0UWl4TFFVRkxLMjFDTEd0Q1FVRnZRa0VzUlVGRGVrSXZiVUlzUzBGQlN6aHRRaXhuUWtGQmEwSkJMRlZCUVcxQ0xFZEJRM1JETEZGQlFVb3NTVUZCUVVzc1dVRkJTU3hUUVVGRlF5eGpRVUZsVUN4SFFVbG1MR2xDUVVGclFsRXNSMEZGZUVKeWJrSXNTMEZCUzNOdVFpeGpRVUZsYkZRc1MwRkJTME1zVFVGQlQwUXNTMEZCUzNsUExGVkJRVmQzUlN4TFFWTXhReXhyUWtGQmJVSkZMRVZCUVhWQ1F5eEhRVVZvUkN4SlFVRkpReXhGUVVOS0xFbEJRVXNzU1VGQlNVTXNTMEZCVFRGdVFpeExRVUZMWjI1Q0xGVkJRVlZETEdsQ1FVVTNRaXhIUVVGSlV5eEZRVUZIU0N4bFFVRnBRa0VzUlVGRGVFSXNRMEZEUTBVc1JVRkJXVU1zUlVGRFdpeE5RVWxHTEVsQldVbERMRVZCV2tGRExFZEJRV2xDTEVWQlJXaENTQ3hKUVVWS1FTeEZRVU5CTEVOQlEwTkdMR2RDUVVOQlRTeGpRVUZsTEVsQlJXaENOMjVDTEV0QlFVdG5ia0lzVlVGQlZVTXNhVUpCUVdsQ00wa3NTMEZCVFcxS0xFbEJUWFJEUlN4RlFVWnhRaXhwUWtGQldFZ3NSVUZGUnl4RFFVRkZRU3hIUVVWWExHbENRVUZZUVN4RlFVVkdRU3hGUVVsQkxFTkJRVVVzUlVGQlFYaFhMRTlCUVU5TkxFdEJRVTBzUlVGQlFVNHNUMEZCVDA4c1QwRkhjRU1zU1VGQlN5eEpRVUZKZFZjc1MwRkJZVWdzUlVGRmFFSkdMRVZCUVZWSkxHTkJRV00zVkN4VFFVRlZPRlFzUzBGRmRFTk1MRVZCUVZWSkxHTkJRV04yU2l4TFFVRk5kMG9zUjBGRE9VSTVia0lzUzBGQlN5dHVRaXhwUTBGQmEwTlNMRVZCUVdWUExFZEJRM1JFUml4SFFVRnBRaXhKUVVsa05XNUNMRXRCUVV0bmIwSXNXVUZCWTJodlFpeExRVUZMT0cxQ0xHbENRVUZ0UW1Nc1NVRkZMME0xYmtJc1MwRkJTMmR2UWl4WFFVRmhkbGNzVDBGQlQzZFhMRmRCUVZrc1NVRkJUV3B2UWl4TFFVRkxhMjlDTEdOQlFXVnNiMElzUzBGQlN6aHRRaXhyUWtGSk9VUXNhVU5CUVd0RFV5eEZRVUYxUWxrc1J5eE5RVVZvUlN4SlFVRkpReXhGUVVOS0xFbEJRVXNzU1VGQlNWWXNTMEZCVFRGdVFpeExRVUZMTm0xQ0xGZEJSVzVDTEVkQlFVbGhMRVZCUVVjdmJVSXNUVUZCVVRSdFFpeEZRVU5tTEVOQlEwTmhMRVZCUVZsV0xFVkJRMW9zVFVGSFJpeEhRVUZMVlN4RlFVdE1MRWxCUVVzc1NVRkJTVU1zUzBGQkswSXNVVUZCY2tJc1JVRkJTVVFzUlVGQlZVVXNaVUZCVHl4UlFVRkpMRWRCUXpWRExFTkJRME1zU1VGQlNVTXNSVUZCVTBZc1JVRkRZaXhIUVVGSlJTeEZRVUZQTDFZc1RVRkJVU3hGUVVGQmFFSXNWMEZCVjJkWUxGRkJSVGRDTEU5QlFWRk1MRWRCUlZBc1MwRkJTeXhGUVVGQmJsZ3NUMEZCVDAwc1MwRkRXR2xZTEVWQlFVOUZMR05CUVdVc1JVRkRkRUlzVFVGRFJDeExRVUZMTEVWQlFVRjZXQ3hQUVVGUFR5eE5RVU5ZWjFnc1JVRkJUMGNzWlVGQlowSXNTVUZYY2tJc2IwSkJRWEZDYmtJc1JVRkJkVUpaTEVkQlJXeEVMRWxCUVVzc1NVRkJTUzl1UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWxLTEV0QlFVdG5ia0lzVlVGQlZVTXNhVUpCUVdsQ2NHcENMRTlCUVZGNlJDeEpRVU0xUkN4RFFVTkRMRWxCUVVsemJrSXNSVUZCU3pGdVFpeExRVUZMWjI1Q0xGVkJRVlZETEdsQ1FVRnBRamR0UWl4SFFVTjZReXhIUVVGSmMyNUNMRVZCUVVkSUxHVkJRV2xDUVN4RlFXZENka0lzV1VGa1Mxa3NSMEZQU2xRc1JVRkJSMGNzWTBGQlowSklMRVZCUVVkSExHTkJRV053VHl4UFFVRlZhMUFzUjBGQmFVSkJMRWRCUVU5U0xFZEJSWFpETEVkQlFUTkNWQ3hGUVVGSFJ5eGpRVUZqYUd0Q0xGRkJSWEJDTjBRc1MwRkJTMmR1UWl4VlFVRlZReXhwUWtGQmFVSXlRaXhQUVVGUmVHOUNMRVZCUVVjc1NVRlNOVU5LTEV0QlFVdG5ia0lzVlVGQlZVTXNhVUpCUVdsQ01rSXNUMEZCVVhodlFpeEZRVUZITEV0QmJVSjRReXg1UWtGQk1FSnRia0lzUlVGQmRVSnpRaXhGUVVGdlFsWXNSVUZETTBWWExFVkJRVzlDUXl4SFFVVndRaXhKUVVGSlF5eEZRVU5LTEVOQlEwTkRMRWRCUVVscWNFSXNTMEZCUzJ0dVFpeHBRa0ZEVkRSQ0xGTkJRMEZETEZkQlIwUXNUMEZCVHk5dlFpeExRVUZMYTNCQ0xHbENRVUZyUWpOQ0xFVkJRV1Z6UWl4RlFVRlpWaXhGUVVGUllTeEhRVWt6UkN4elFrRkJkVUo2UWl4RlFVRjFRbk5DTEVWQlFXOUNWaXhGUVVONFJXZENMRWRCUlVFc1NVRkJTVWdzUlVGRFNpeERRVU5EUXl4SFFVRkphbkJDTEV0QlFVdHJia0lzYVVKQlExUnBReXhWUVVWRUxFOUJRVTl1Y0VJc1MwRkJTMnR3UWl4cFFrRkJhMEl6UWl4RlFVRmxjMElzUlVGQldWWXNSVUZCVVdFc1IwRkpNMFFzZDBKQlFYbENla0lzUlVGQmRVSnpRaXhGUVVGdlFsWXNSVUZETVVWblFpeEhRVVZCTEVsQlFVbElMRVZCUTBvc1EwRkRRME1zUjBGQlNXcHdRaXhMUVVGTGEyNUNMR2xDUVVOVWFVTXNWVUZGUkN4UFFVRlBibkJDTEV0QlFVdHJjRUlzYVVKQlFXdENNMElzUlVGQlpYTkNMRVZCUVZsV0xFVkJRVkZoTEVkQlJ6RkVMR2xDUVVGclFucENMRVZCUVhWQ2MwSXNSVUZCYjBKV0xFVkJRM0JGWVN4SExGRkJSVUVzU1VGQlNWUXNSVUZCVTNadlFpeExRVUZMYjNCQ0xGVkJRVmMzUWl4RlFVRmxjMElzUjBGRE5VTXNTVUZCUzA0c1JVRkZTaXhOUVVGTkxFbEJRVWt2VUN4TlFVRlBMR3RDUVVGdFFuRlJMRzFDUVVFNFFuUkNMRXRCUjI1RkxFOUJRVkZaTEVkQlJWQXNTMEZCU3l4RlFVRkJibGdzVDBGQlQwMHNTMEZEV0dsWUxFVkJRVTlqTEdOQlFXZENMRWxCUVRKQ0xGRkJRWFJDTEVWQlFVVmtMRVZCUVU5akxIRkNRVUZoTEZGQlFVa3NSMEZCVFV3c1IwRkROVVFzVFVGRlJDeExRVUZMTEVWQlFVRm9XU3hQUVVGUFR5eE5RVU5ZWjFnc1JVRkJUMlVzWlVGQmFVSXNTVUZCTkVJc1VVRkJka0lzUlVGQlJXWXNSVUZCVDJVc2MwSkJRV01zVVVGQlNTeEhRVUZOVGl4SFFVZG9SU3hQUVVGUFFTeEZRVUZIUXl4SFFVbEtMRzFDUVVGdlFrRXNSeXhWUVVVeFFpeEpRVUZMTEVsQlFVbGlMRXRCUVdGd2IwSXNTMEZCU3padFFpeFhRVVV4UWl4SlFVRkxMRWxCUVVrd1F5eExRVUVyUWl4UlFVRnlRaXhGUVVGSmJrSXNSVUZCVlVVc1pVRkJUeXhSUVVGSkxFZEJRelZETEVOQlEwTXNTVUZCU1VNc1JVRkJVMmRDTEVWQlJXSm9RaXhGUVVGUFl5eGpRVUZ2UXl4UlFVRjJRaXhGUVVGSFpDeEZRVUZQWXl4eFFrRkJZU3hsUVVGRk5WQXNUMEZCVlhWUUxFZEJRVkZCTEVWQlFVZERMRWxCUVUxQkxFZEJRM2hGVml4RlFVRlBaU3hsUVVGelF5eFJRVUY0UWl4RlFVRkhaaXhGUVVGUFpTeHpRa0ZCWXl4bFFVRkZOMUFzVDBGQlZYVlFMRWRCUVZGQkxFVkJRVWRETEVsQlFVMUJMRWxCVFhKRkxHTkJSVkFzU1VGRlF5eEpRVUZKZWtjc1JVRkJVWGhwUWl4TFFVRkxLMjFDTEd0Q1FVRnZRaTl0UWl4TFFVRkxLMjFDTEd0Q1FVRnRRaTl0UWl4TFFVRkxaMjVDTEZkQlEyaEZMRVZCUVVGSExFdEJRVXR4UXl4VlFVRlhlSEJDTEV0QlFVdG5ia0lzVjBGRGRrSm9ia0lzUzBGQlMzTnVRaXhqUVVGbE9VVXNSMEZGY2tJc1RVRkJUMmhQTEVkQlJVNWlMRkZCUVZGRExFbEJRVXNzZDBKQlIxWTFWQ3hMUVVGTFoyNUNMRlZCUVZWRExHbENRVUZwUW5CcVFpeFBRVUZUTEVkQlFVczNSQ3hMUVVGTE9HMUNMR2RDUVVWMFJEbHRRaXhMUVVGTFoyOUNMRmRCUVdGMlZ5eFBRVUZQZDFjc1YwRkJXU3hKUVVGTmFtOUNMRXRCUVV0cmIwSXNZMEZCWld4dlFpeExRVUZMT0cxQ0xHbENRVWx3UlRsdFFpeExRVUZMWjI5Q0xHZENRVUZoY214Q0xFVkJTVm9zVlVGQlZ6UnJRaXhGUVVGMVFuTkNMRWNzVFVGRmVrTXNTVUZCU3l4SlFVRkpWQ3hMUVVGaGNHOUNMRXRCUVVzMmJVSXNWMEZGTVVJc1IwRkJTWFZDTEVWQlFWVjZia0lzVFVGQlVUUnRRaXhGUVVkMFFpeEpRVUZMTEVsQlFVbG5RaXhMUVVFeVFpeFJRVUZ5UWl4RlFVRkpTQ3hGUVVGVlJTeGxRVUZQTEZGQlFVa3NSMEZGZGtNc1IwRkJTVU1zUlVGQlR6VnVRaXhOUVVGUmEyOUNMRVZCUld4Q0xFOUJRVTlPTEVWQlVVZ3NZMEZCWld4Q0xFZEJSWFJDY201Q0xFdEJRVXQ1Y0VJc1lVRkJZM3B3UWl4TFFVRkxkMmxDTEUxQlFVODJSU3hIUVVNdlFuSnVRaXhMUVVGTGQybENMRTFCUVZFMlJTeEZRVWRPTEdGQlFXTXlRaXhGUVVOeVFsVXNSVUZEUVVNc1JVRkRRVzVZTEVjc1dVRkZRU3hQUVVGUlFTeEhRVVZRTEV0QlFVc3NSVUZCUVdoQ0xGZEJRVmRuV0N4UlFVTm9RaXhEUVVORExFbEJRVWx2UWl4RlFVRk5XaXhGUVVOT1ZTeEpRVUZoUXl4RlFVVk1MRkZCUVZnc1JVRkJRVU1zUlVGQlNXSXNaVUZCVHl4alFVRllZU3hKUVVWVFJpeEhRVUZaUXl4SlFVVllMRkZCUVZZc1JVRkJRVU1zUlVGQlNXUXNZMEZCVFN4alFVRldZeXhKUVVkR0xFMUJSVUVzUzBGQlN5eEZRVUZCY0Zrc1YwRkJWM0ZaTEUxQlEyaENMRU5CUTBNc1NVRkJTVU1zUlVGQlRXUXNSVUZEVG1Vc1JVRkJPRUlzYVVKQlFWcE1MRVZCUVhWQ1FTeEZRVUZ4UWl4RlFVTTVSRTBzUlVGQk9FSXNhVUpCUVZwTUxFVkJRWFZDUVN4RlFVRnhRaXhGUVVNNVJFa3NSMEZCV1VNc1IwRkZaa1lzUlVGQlNWZ3NUMEZCVVZrc1JVRkJWVU1zUjBGSGVFSXNUVUZGUVN4TFFVRkxMRVZCUVVGNFdTeFhRVUZYZVZrc1VVRkRhRUlzUTBGRFF5eE5RVUZSUXl4RlFVRkpReXhIUVVGeFF5eFJRVUZxUXl4RlFVRkhWQ3hUUVVFNFFpeFJRVUZKTEVOQlFVVXNSVUZCUnl4SlFVTnNSRlVzUlVGQlNVTXNSMEZCY1VNc1VVRkJha01zUlVGQlIxWXNVMEZCT0VJc1VVRkJTU3hEUVVGRkxFVkJRVWNzUjBGRk1VUXNTVUZCU1Zjc1JVRkJUWFJDTEVWQlEwNXJRaXhIUVVGTlJTeEhRVUZOUkN4SFFVRk5SU3hIUVVWeVFrTXNSVUZCU1c1Q0xFOUJRVkVzUTBGQlJXVXNSVUZCU1VNc1IwRkJUU3hEUVVGRlF5eEZRVUZKUXl4TlFVOHhRaXhoUVVGalJTeEZRVUZwUW14RUxFY3NjMEpCUlhSRExFbEJRVXNzU1VGQlNXVXNTMEZCWVhCdlFpeExRVUZMTm0xQ0xGZEJSVEZDTEVsQlFVc3NTVUZCU1RCRExFdEJRU3RDTEZGQlFYSkNMRVZCUVVsdVFpeEZRVUZWUlN4bFFVRlBMRkZCUVVrc1IwRkROVU1zUTBGRFF5eEpRVUZKUXl4RlFVRlRaMElzUlVGRFZHbENMRVZCUVhkRExGRkJRUzlDTEVWQlFVZEVMR0ZCUVVjc1JVRkJTRUVzUlVGQlMwVXNVVUZCVTNKRExFVkJRVlY2YmtJc1lVRkJTU3hsUVVGTk5HNUNMRVZCUVU4MWJrSXNUVUZEY2tRcmNFSXNSVUZCT0VNc1VVRkJja01zUlVGQlIzSkVMRVZCUVZOdlJDeFJRVUZUY2tNc1JVRkJWWHB1UWl4aFFVRk5MR1ZCUVVrMGJrSXNSVUZCVHpWdVFpeE5RVVY2UkdkeFFpeEZRVUV3UWl4UlFVRnVRaXhGUVVGSlNDeGhRVUZUTEVWQlFWUkJMRVZCUVZkb1lpeFpRVUZKTEdWQlFVVnVUeXhOUVVNMVFuVndRaXhGUVVFeVFpeFJRVUZ1UWl4RlFVRkhTaXhoUVVGVExFVkJRVlJCTEVWQlFWZDBhMElzWVVGQlN5eGxRVUZGTjBVc1RVRkZOMEozY0VJc1JVRkJNRUlzVVVGQmJrSXNSVUZCU1Vnc1lVRkJVeXhGUVVGVVFTeEZRVUZYYkdJc1dVRkJTU3hsUVVGRmJrOHNUVUZETlVKNWNFSXNSVUZCTWtJc1VVRkJia0lzUlVGQlIwb3NZVUZCVXl4RlFVRlVRU3hGUVVGWGVHdENMR0ZCUVVzc1pVRkJSVGRGTEUxQlJXcERMRWRCUVVscmJrSXNSVUZCVDBVc1lVRkZURzlETEVsQlJVcDBReXhGUVVGUFJTeGpRVUZsTEZGQlMzWkNMRWxCUVVzc1NVRkJTVThzUzBGQk1FSXNVVUZCZUVJc1JVRkJTVlFzUlVGQlQyTXNjVUpCUVdFc1VVRkJTU3hIUVVWMFEzSndRaXhMUVVGTEszRkNMR0ZCUVdNdlFpeEZRVUZKTWtJc1JVRkJVMFVzUlVGQlUzUkRMRVZCUVU4dlZpeE5RVWxzUkN4SFFVRkpLMVlzUlVGQlQwY3NZMEZGVEc5RExFbEJSVXAyUXl4RlFVRlBSeXhsUVVGblFpeFJRVXQ0UWl4SlFVRkxMRWxCUVVsTkxFdEJRVEpDTEZGQlFYcENMRVZCUVVsVUxFVkJRVTlsTEhOQ1FVRmpMRkZCUVVrc1IwRkZka04wY0VJc1MwRkJTeXR4UWl4aFFVRmpMMElzUlVGQlNUUkNMRVZCUVZWRkxFVkJRVlYyUXl4RlFVRlBMMVlzVTBGVmVFUXNkVUpCWVVFc01FSkJRV2REWjFVc1JVRkJkME5GTEVkQlJYWkZMRTlCUVU5SUxFVkJRVzFDUXl4RlFVRnZRaXhEUVVGRkxFVkJRVUY0Vml4UFFVRlBUU3hMUVVGTkxFVkJRVUZPTEU5QlFVOVBMRTlCUVZOdFZpeExMRzA1UWtNellXcEZMRVZCUVVGelJTeHhRa0ZCZFVJc2FVTkJRM1pDTEVWQlFVRkRMSFZDUVVGNVFpeEZRVUZCUkN4eFFrRkJkVUlzWlVGRGFFUXNSVUZCUVVVc2IwSkJRWE5DTEVWQlFVRkdMSEZDUVVGMVFpeFpRVU0zUXl4RlFVRkJSeXgzUWtGQk1FSXNSVUZCUVVnc2NVSkJRWFZDTEdsQ1FVTnFSQ3hGUVVGQlNTdzJRa0ZCSzBJc1JVRkJRVW9zY1VKQlFYVkNMSEZDUVVOMFJDeEZRVUZCU3l3d1FrRkJORUlzUlVGQlFVd3NjVUpCUVhWQ0xHMUNRVU51UkN4RlFVRkJUU3hyUWtGQmIwSXNSVUZCUVU0c2NVSkJRWFZDTEZWQlF6TkRMRVZCUVVGUExIVkNRVUY1UWl4RlFVRkJVQ3h4UWtGQmRVSXNaVUZEYUVRc1JVRkJRVkVzZFVKQlFYbENMRVZCUVVGU0xIRkNRVUYxUWl4bFFVTm9SQ3hGUVVGQlV5d3dRa0ZCTkVJc1JVRkJRVlFzY1VKQlFYVkNMRzFDUVVOdVJDeEZRVUZCVlN4dlFrRkJjMElzUlVGQlFWWXNjVUpCUVhWQ0xGbEJRemRETEVWQlFVRlhMRzlDUVVGelFpeEZRVUZCV0N4eFFrRkJkVUlzV1VGRE4wTXNSVUZCUVZrc2JVSkJRWEZDTEVWQlFVRmFMSEZDUVVGMVFpeFhRVU0xUXl4RlFVRkJZU3c0UWtGQlowTXNSVUZCUVdJc2NVSkJRWFZDTEcxQ1FVTjJSQ3hGUVVGQll5eDFRa0ZCZVVJc1JVRkJRV1FzY1VKQlFYVkNMR2RDUVVOb1JDeEZRVUZCWlN4NVFrRkJNa0lzUlVGQlFXWXNjVUpCUVhWQ0xHdENRVU5zUkN4RlFVRkJaMElzZDBKQlFUQkNMRVZCUVVGb1FpeHhRa0ZCZFVJc2FVSkJRMnBFTEVWQlFVRnBRaXh0UWtGQmNVSXNSVUZCUVdwQ0xIRkNRVUYxUWl4WFFVTTFReXhGUVVGQmEwSXNiVUpCUVhGQ0xFVkJRVUZzUWl4eFFrRkJkVUlzVjBGRE5VTXNSVUZCUVcxQ0xESkNRVUUyUWl4RlFVRkJia0lzY1VKQlFYVkNMRzlDUVVOd1JDeEZRVUZCYjBJc2VVSkJRVEpDTEVWQlFVRndRaXh4UWtGQmRVSXNhMEpCUTJ4RUxFVkJRVUZ4UWl4dlFrRkJjMElzUlVGQlFYSkNMSEZDUVVGMVFpeFpRVU0zUXl4RlFVRkJjMElzYzBKQlFYZENMRVZCUVVGMFFpeHhRa0ZCZFVJc1kwRkRMME1zUlVGQlFYVkNMRzlDUVVGelFpeEZRVUZCZGtJc2NVSkJRWFZDTEd0Q1FVTTNReXhGUVVGQmQwSXNORUpCUVRoQ0xFVkJRVUY0UWl4eFFrRkJkVUlzTWtKQlEzSkVMRVZCUVVGNVFpeHRRa0ZCY1VJc1JVRkJRWHBDTEhGQ1FVRjFRaXhYUVVNMVF5eEZRVUZCTUVJc2JVSkJRWEZDTEVWQlFVRXhRaXh4UWtGQmRVSXNWMEZETlVNc1JVRkJRVEpDTEhGQ1FVRjFRaXhGUVVGQk0wSXNjVUpCUVhWQ0xHOUNRVU01UXl4RlFVRkJORUlzYlVKQlFYRkNMRVZCUVVFMVFpeHhRa0ZCZFVJc1YwRkROVU1zUlVGQlFUWkNMSFZDUVVGNVFpeEZRVUZCTjBJc2NVSkJRWFZDTEdWQlEyaEVMRVZCUVVFNFFpeDVRa0ZCTWtJc1JVRkJRVGxDTEhGQ1FVRjFRaXhyUWtGRGJFUXNSVUZCUVN0Q0xIbENRVUV5UWl4RlFVRkJMMElzY1VKQlFYVkNMR2xDUVVOc1JDeEZRVUZCWjBNc09FSkJRV2RETEVWQlFVRm9ReXh4UWtGQmRVSXNkMEpCUTNaRUxFVkJRVUZwUXl3clFrRkJhVU1zUlVGQlFXcERMSEZDUVVGMVFpeDVRa0ZGZUVRc1JVRkJRV3RETEdWQlFXbENMRVZCUVVGc1F5eHhRa0ZCZFVJc1kwRkZlRU1zUlVGQlFXMURMSEZDUVVGMVFpeEZRVUZCUkN4bFFVRnBRaXh6UWl4cFRVTndRM0pFTEZOQlFWbEZMRWRCUlZnc1owSkJRMEVzYzBKQlEwRXNXVUZLUkN4RFFVRlpMRVZCUVVGQkxHZERRVUZCTEVWQlFVRkJMRGhDUVVFMlFpeExRWFZDZWtNc1UwRkJXVU1zUjBGRldDeGpRVU5CTEc5Q1FVTkJMRzlDUVVwRUxFTkJRVmtzUlVGQlFVRXNkMEpCUVVFc1JVRkJRVUVzYzBKQlFYRkNMRXRCVDJwRExGTkJRVmxETEVkQlJWZ3NNRUpCUTBFc01FSkJRMEVzZVVKQlEwRXNiMEpCVEVRc1EwRkJXU3hGUVVGQlFTeDNRa0ZCUVN4RlFVRkJRU3h6UWtGQmNVSXNTMEZSYWtNc1UwRkJXVU1zUjBGRldDeFpRVU5CTEc5Q1FVTkJMSGRDUVVOQkxIVkRRVU5CTERKRFFVTkJMSE5DUVVOQkxIRkRRVU5CTEhsRFFWUkVMRU5CUVZrc1JVRkJRVUVzTkVKQlFVRXNSVUZCUVVFc01FSkJRWGxDTEUwc2IwMURkRU4wUWl4VFFVRlRReXhKUVVOMFFpeFBRVUZQTEVsQlFVOURMRmxCUVZrc1NVTkpOVUlzU1VGR1FTeEpRVUZKUXl4RlFVRlpMRWRCUlZBc1JVRkJTU3hGUVVGSExFVkJRVWtzVFVGQlR5eEZRVU42UWtFc1JVRkJWU3hKUVVGTkxFVkJRVWtzUzBGQlR6TlhMRk5CUVZNc1NVRkJTVW9zVDBGQlR5eEhRVlZzUXl4SlExaFlaMWdzUlVGRlFVTXNSVVJUVnl4RlFWQm1MRk5CUVhGQ1F5eEZRVUZMUXl4SFFVTjRRaXhKUVVGSk1YUkNMRVZCUVVrd2RFSXNSMEZCVlN4RlFVTmtReXhGUVVGTlRDeEZRVVZXTEUxQlFVOHNRMEZCUTBzc1JVRkJTVVlzUlVGQlNYcDBRaXhOUVVGUE1uUkNMRVZCUVVsR0xFVkJRVWw2ZEVJc1RVRkJUekowUWl4RlFVRkpSaXhGUVVGSmVuUkNMRTFCUVU4eWRFSXNSVUZCU1VZc1JVRkJTWHAwUWl4TlFVRlBMRWxCUVVzeWRFSXNSVUZCU1VZc1JVRkJTWHAwUWl4TlFVRlBNblJDTEVWQlFVbEdMRVZCUVVsNmRFSXNUVUZCVHl4SlFVRkxNblJDTEVWQlFVbEdMRVZCUVVsNmRFSXNUVUZCVHpKMFFpeEZRVUZKUml4RlFVRkplblJDTEUxQlFVOHNTVUZCU3pKMFFpeEZRVUZKUml4RlFVRkplblJDTEUxQlFVOHlkRUlzUlVGQlNVWXNSVUZCU1hwMFFpeE5RVUZQTEVsQlFVc3lkRUlzUlVGQlNVWXNSVUZCU1hwMFFpeE5RVUZQTW5SQ0xFVkJRVWxHTEVWQlFVbDZkRUlzVFVGQlR6SjBRaXhGUVVGSlJpeEZRVUZKZW5SQ0xFMUJRVTh5ZEVJc1JVRkJTVVlzUlVGQlNYcDBRaXhOUVVGUE1uUkNMRVZCUVVsR0xFVkJRVWw2ZEVJc1RVRkJUekowUWl4RlFVRkpSaXhGUVVGSmVuUkNMRTlCUVU4d1owSXNTMEZCU3l4TFEwZ3ZVV3RPTEVWQlFXRXNSVUZEWWtNc1JVRkJZU3hGUVd0R1JpeE5RV2hHWml4VFFVRlpReXhGUVVGVFRDeEZRVUZMUXl4SFFVTjRRaXhKUVVGSk1YUkNMRVZCUVVsNWRFSXNSMEZCVDBNc1IwRkJWU3hGUVVOeVFtaFpMRVZCUVVrcldDeEhRVUZQTEVkQlJWaE5MRWRCUkVwRUxFVkJRVlZCTEVkQlFWY3NTVUZEUmtNc1RVRkJVVklzUlVGRGRrSlRMRTlCUVdkRGVuSkNMRWxCUVhKQ2RYSkNMRVZCUVZGRkxGTkJRWGxDUml4RlFVRlJSU3hUUVVGWFVpeEZRVWx1UlN4SFFVRlpMRTFCUVZKUExFZEJRVFJDTEUxQlFWcERMRVZCUVd0Q0xFTkJRM0JETEVsQlFVbERMRVZCUVZsSUxFVkJRVkUxVFN4VFFVRlhORTBzUlVGQlVWWXNTMEZCVDBFc1MwRkZkRU1zVFVGQlVsY3NTVUZGUmtFc1JVRkJUMUlzUlVGQlZTeERRVUZuUWl4RlFVRm1WU3hGUVVGVkxFZEJRVmRCTEVWQlFWVXNSMEZCU1VFc1JVRkJWU3hIUVVGSlFTeEZRVUZWTEVkQlFVbEJMRVZCUVZVc1IwRkJTVUVzUlVGQlZTeExRVWN6Uml4TlFVRmFSQ3hKUVVWR1FTeEZRVUZYVWl4RlFVRnBSQ3hQUVVGd1ExTXNSVUZCVlN4SlFVRk5MRVZCUVVsQkxFVkJRVlVzUzBGUk1VUXNTVUZCU1VNc1QwRkJNRUl6Y2tJc1NVRkJiRUoxY2tJc1JVRkJVVWtzVFVGQmMwSktMRVZCUVZGSkxFOUJRVkVzU1VGQlNVTXNUVUZCVDBNc1ZVRkhha1ZETEU5QlFUQkNPWEpDTEVsQlFXeENkWEpDTEVWQlFWRlBMRTFCUVhOQ1VDeEZRVUZSVHl4TlFVRlJVaXhGUVVGaExFVkJSVzVGVXl4RlFVRkxTaXhGUVVGUlRpeEhRVUZqVXl4RlFVRlJVaXhIUVVGakxFbEJZWEpFTEVkQldFbFRMRVZCUVVzc1VVRkJNRUl2Y2tJc1NVRkJja0oxY2tJc1JVRkJVVVVzVjBGRGNFSkJMRVZCUVZkQkxFVkJRVmNzUlVGQlNTeFJRVXQyUWswc1JVRkJTeXhIUVVGTFNpeEZRVUZSVGl4VFFVRnBRM0p5UWl4SlFVRnNRblZ5UWl4RlFVRlJUeXhSUVVNMVEwRXNSVUZCVVN4SFFVbE9RU3hIUVVGVExFbEJRMWdzVFVGQlRTeEpRVUZKYWxjc1RVRkJUU3h0UkVGSGJFSjNWaXhGUVVGaFRTeEZRVU5pVEN4RlFVRmhVU3hGUVVOaVlpeEZRVUZaVVN4RlFVbGFMRWxCUVVsUExFZEJRVFJDTEV0QlFXSXNWMEZHYmtKTUxFZEJRVk1zWTBGRkswSkhMRWRCUVZNc1YwRkRha1F6V1N4RlFVRkZNVllzUzBGQlQzVjFRaXhKUVVGUExFZEJRVXNzU1VGRGNrSTNXU3hGUVVGRk1WWXNTMEZCVDNWMVFpeEpRVUZQTEVkQlFVc3NTVUZEY2tJM1dTeEZRVUZGTVZZc1MwRkJUM1YxUWl4SlFVRlBMRVZCUVVrc1NVRkRjRUkzV1N4RlFVRkZNVllzUzBGQldTeEpRVUZNZFhWQ0xFVkJSVlFzU1VGQlNVTXNSVUZCVFU0c1JVRkJVU3hYUVVGakxFbEJRVkVzVlVGRGVFTjRXU3hGUVVGRk1WWXNTMEZCVDNkMVFpeEpRVUZSTEVWQlFVa3NTVUZEY2tJNVdTeEZRVUZGTVZZc1MwRkJZU3hKUVVGT2QzVkNMRVZCUlZRNVdTeEZRVUZGTVZZc1MwRkJUM2QxUWl4SlFVRlJMRWRCUVVzc1IwRkJUU3hIUVVVMVFqbFpMRVZCUVVVeFZpeExRVUZQZDNWQ0xFbEJRVkVzUjBGQlN5eEpRVVYwUWpsWkxFVkJRVVV4Vml4TFFVRlBaM1ZDTEVsQlFXRXNSVUZCU1N4SlFVVXhRblJaTEVWQlFVVXhWaXhMUVVGclFpeEpRVUZZWjNWQ0xFVkJSVlFzU1VGQlN5eEpRVUZKZG5OQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SlFVRkxRU3hGUVVOMlFtbFZMRVZCUVVVeFZpeEZRVUZKZVVJc1IwRkJTM056UWl4RlFVRkxkSE5DTEVkQlIyeENMRTlCUVU5bmMwSXNSMEZCV1N4RlFVRlpMMWdzU1VOc1JXeENMSE5DUVVOaUxFbEJRVWtyV1N4RlFVRmxMRk5CUVZWNGRFSXNSVUZCVDNsMFFpeEZRVUZYYWtJc1JVRkJTME1zUjBGRGJFUXNTVUZCU1dsQ0xFVkJRVTFzUWl4SFFVRlBReXhIUVVGVkxFVkJSek5DTEVkQlJtOUNMR2xDUVVGVWVuTkNMRWxCUVcxQ1FTeEZRV3BDYkVNc1UwRkJkVUl5ZEVJc1IwRkRja0pCTEVWQlFVMURMRk5CUVZORExHMUNRVUZ0UWtZc1NVRkpiRU1zU1VGR1FTeEpRVUZKUnl4RlFVRlJMRWxCUVVsc1ZTeE5RVUZOSzFRc1JVRkJTVzV5UWl4UlFVVnFRbnBFTEVWQlFVa3NSVUZCUjBFc1JVRkJTVFIxUWl4RlFVRkpibkpDTEU5QlFWRjZSQ3hKUVVNNVFpdDFRaXhGUVVGTkwzVkNMRWRCUVVzMGRVSXNSVUZCU1d4WkxGZEJRVmN4Vnl4SFFVYzFRaXhQUVVGUEszVkNMRVZCVVdsRFF5eERRVUZqTDNSQ0xFbEJRelZDTEdsQ1FVRmllWFJDTEVsQlFYVkNRU3hGUVROQ2RFTXNVMEZCY1VKUExFZEJSVzVDTEVsQlFVbEdMRVZCUVZFc1IwRkpXaXhQUVVoQlJTeEZRVUZMTlZrc1VVRkJVU3h0UWtGQmJVSXNVMEZCVlRaWkxFZEJRM2hEU0N4RlFVRk5OMUVzUzBGQlN6VkxMRk5CUVZNMFlpeEZRVUZMTEZGQlJYQkNTQ3hGUVhGQ2VVTkpMRU5CUVZsVUxFdEJRM0pFTjFRc1RVRkJUWFZWTEZGQlFWRnVkVUlzUjBGQlVTeE5RVUZOSzJNc1ZVRkJWU3h0UTBGRE0wTXNTVUZCUzI1RUxFMUJRVTExVlN4UlFVRlJWaXhKUVVGdFF5eExRVUZ5UWtFc1JVRkJWV3B5UWl4UFFVRmxMRTFCUVUxMVlTeFZRVUZWTEN0RVFVVXhSU3hKUVVGSksxRXNSVUZCVVUwc1JVRkJVMWdzUlVGQlZUbFFMRTlCUVU4elpDeEpRVWwwUXl4SFFVaEJPSFJDTEVWQlFVMHNSMEZCWjBJc1IwRkJXRUVzUlVGQlRTeEhRVUZaVHl4RlFVTTNRbEFzUlVGQlRTeEhRVUZuUWl4SFFVRllRU3hGUVVGTkxFZEJRVmtzU1VGRmVrSjBRaXhGUVVOR0xFbEJRVXNzU1VGQlNUaENMRVZCUVUwc1JVRkJSMEVzUlVGQlRTeExRVUZOUVN4RlFVTTFRamxDTEVWQlFVbHJRaXhGUVVGTldTeEhRVUZQVWl4RlFVRk5VU3hIUVVrelFpeFBRVUZQT1VJc1IwRkJUeXhGUVVGWmMwSXNTVUZKTlVJc1NVRkRSVTRzUlVGQllXeDFRaXhMUVVGUFFTeEZRVU53UWl4TlFVRlBhWFpDTEVsQlMxUXNUMEZHUVdZc1JVRkJZV2RDTEVsQk4wSkpMSFZEUVRoQ2FrSm9RaXhGUVVGaGFVSXNTVUUzUWtrc2RVTkJPRUpXYWtJc1IwTnVSRTBzVFVGRVNtdENMRVZCUVVrc1MwRkJUU3hKUTBGeVFpeFRRVUZoV2l4SFFVOVlMRTlCVGtsc1ZTeE5RVUZOZFZVc1VVRkJVVXdzUjBGRGFFSkJMRVZCUVZGaExFOUJRVTh4Vml4TFFVRkxObFVzUjBGRFRTeHBRa0ZCVmtFc1NVRkRhRUpCTEVWQlFWRmhMRTlCUVU4eFZpeExRVUZMTmxVc1JVRkJUeXhUUVVkMFFpeEpRVUZQWXl4WFFVRlhMRTlCUVU5RExFOUJRVTltTEVkQlFVOW5RaXhaUTJsQ2FrTXNUVUYyUW1Zc1UwRkJXV3BETEVWQlFWTk1MRVZCUVV0RExFZEJRM2hDTEVsQlFVa3hkRUlzUlVGQlNYbDBRaXhIUVVGUFF5eEhRVUZWTEVWQlJVZ3NhVUpCUVZoSkxFbEJRMVJNTEVWQlFXdENMRmRCUVZwTExFVkJRWFZDTEVsQlFVbHFWQ3hOUVVGTkxFbEJRVTBzUzBGRE4wTnBWQ3hGUVVGVkxFMUJTVm9zU1VGQlNXdERMRWRCUkVwc1F5eEZRVUZWUVN4SFFVRlhMRWxCUTBZMVRTeFRRVUZYTkUwc1JVRkJVVllzUzBGQlQwRXNTMEZMTjBNc1IwRklRVFJETEVWQlFVc3NSMEZCWlN4SFFVRldRU3hGUVVGTExFZEJRVmtzUjBGRE0wSkJMRVZCUVVzc1IwRkJaU3hIUVVGV1FTeEZRVUZMTEVkQlFWa3NTVUZGZGtKMlF5eEZRVU5HTEVsQlFVc3NTVUZCU1hkRExFVkJRVXNzUlVGQlIwRXNSVUZCU3l4TFFVRk5RU3hGUVVNeFFuaERMRVZCUVVsNmRFSXNSVUZCU1dsM1FpeEhRVUZOUkN4RlFVRkxReXhIUVVsMlFpeFBRVUZQZUVNc1IwRkJUeXhGUVVGWmRVTXNTVU53UW1Jc1RVRkVTa3dzUlVGQlNTeExRVUZOTEVsRFFYSkNMRk5CUVdOYUxFZEJUMW9zVDBGT1NXeFZMRTFCUVUxMVZTeFJRVUZSVEN4SFFVTm9Ra0VzUlVGQlVXRXNUMEZCVHpGV0xFdEJRVXMyVlN4SFFVTk5MR2xDUVVGV1FTeEpRVU5vUWtFc1JVRkJVV0VzVDBGQlR6RldMRXRCUVVzMlZTeEZRVUZQTEZOQlIzUkNMRWxCUVU5akxGZEJRVmNzVVVGQlVVTXNUMEZCVDJZc1IwRkJUMmRDSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQzlzYVdJdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUlvWm5WdVkzUnBiMjRnZDJWaWNHRmphMVZ1YVhabGNuTmhiRTF2WkhWc1pVUmxabWx1YVhScGIyNG9jbTl2ZEN3Z1ptRmpkRzl5ZVNrZ2UxeHVYSFJwWmloMGVYQmxiMllnWlhod2IzSjBjeUE5UFQwZ0oyOWlhbVZqZENjZ0ppWWdkSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BYRzVjZEZ4MGJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbVlXTjBiM0o1S0NrN1hHNWNkR1ZzYzJVZ2FXWW9kSGx3Wlc5bUlHUmxabWx1WlNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCa1pXWnBibVV1WVcxa0tWeHVYSFJjZEdSbFptbHVaU2hjSW1GaGNtUjJZWEpyTFhOb1lYSmxaRndpTENCYlhTd2dabUZqZEc5eWVTazdYRzVjZEdWc2MyVWdhV1lvZEhsd1pXOW1JR1Y0Y0c5eWRITWdQVDA5SUNkdlltcGxZM1FuS1Z4dVhIUmNkR1Y0Y0c5eWRITmJYQ0poWVhKa2RtRnlheTF6YUdGeVpXUmNJbDBnUFNCbVlXTjBiM0o1S0NrN1hHNWNkR1ZzYzJWY2JseDBYSFJ5YjI5MFcxd2lZV0Z5WkhaaGNtc3RjMmhoY21Wa1hDSmRJRDBnWm1GamRHOXllU2dwTzF4dWZTa29kR2hwY3l3Z1puVnVZM1JwYjI0b0tTQjdYRzV5WlhSMWNtNGdJaXdpSUZ4MEx5OGdWR2hsSUcxdlpIVnNaU0JqWVdOb1pWeHVJRngwZG1GeUlHbHVjM1JoYkd4bFpFMXZaSFZzWlhNZ1BTQjdmVHRjYmx4dUlGeDBMeThnVkdobElISmxjWFZwY21VZ1puVnVZM1JwYjI1Y2JpQmNkR1oxYm1OMGFXOXVJRjlmZDJWaWNHRmphMTl5WlhGMWFYSmxYMThvYlc5a2RXeGxTV1FwSUh0Y2JseHVJRngwWEhRdkx5QkRhR1ZqYXlCcFppQnRiMlIxYkdVZ2FYTWdhVzRnWTJGamFHVmNiaUJjZEZ4MGFXWW9hVzV6ZEdGc2JHVmtUVzlrZFd4bGMxdHRiMlIxYkdWSlpGMHBJSHRjYmlCY2RGeDBYSFJ5WlhSMWNtNGdhVzV6ZEdGc2JHVmtUVzlrZFd4bGMxdHRiMlIxYkdWSlpGMHVaWGh3YjNKMGN6dGNiaUJjZEZ4MGZWeHVJRngwWEhRdkx5QkRjbVZoZEdVZ1lTQnVaWGNnYlc5a2RXeGxJQ2hoYm1RZ2NIVjBJR2wwSUdsdWRHOGdkR2hsSUdOaFkyaGxLVnh1SUZ4MFhIUjJZWElnYlc5a2RXeGxJRDBnYVc1emRHRnNiR1ZrVFc5a2RXeGxjMXR0YjJSMWJHVkpaRjBnUFNCN1hHNGdYSFJjZEZ4MGFUb2diVzlrZFd4bFNXUXNYRzRnWEhSY2RGeDBiRG9nWm1Gc2MyVXNYRzRnWEhSY2RGeDBaWGh3YjNKMGN6b2dlMzFjYmlCY2RGeDBmVHRjYmx4dUlGeDBYSFF2THlCRmVHVmpkWFJsSUhSb1pTQnRiMlIxYkdVZ1puVnVZM1JwYjI1Y2JpQmNkRngwYlc5a2RXeGxjMXR0YjJSMWJHVkpaRjB1WTJGc2JDaHRiMlIxYkdVdVpYaHdiM0owY3l3Z2JXOWtkV3hsTENCdGIyUjFiR1V1Wlhod2IzSjBjeXdnWDE5M1pXSndZV05yWDNKbGNYVnBjbVZmWHlrN1hHNWNiaUJjZEZ4MEx5OGdSbXhoWnlCMGFHVWdiVzlrZFd4bElHRnpJR3h2WVdSbFpGeHVJRngwWEhSdGIyUjFiR1V1YkNBOUlIUnlkV1U3WEc1Y2JpQmNkRngwTHk4Z1VtVjBkWEp1SUhSb1pTQmxlSEJ2Y25SeklHOW1JSFJvWlNCdGIyUjFiR1ZjYmlCY2RGeDBjbVYwZFhKdUlHMXZaSFZzWlM1bGVIQnZjblJ6TzF4dUlGeDBmVnh1WEc1Y2JpQmNkQzh2SUdWNGNHOXpaU0IwYUdVZ2JXOWtkV3hsY3lCdlltcGxZM1FnS0Y5ZmQyVmljR0ZqYTE5dGIyUjFiR1Z6WDE4cFhHNGdYSFJmWDNkbFluQmhZMnRmY21WeGRXbHlaVjlmTG0wZ1BTQnRiMlIxYkdWek8xeHVYRzRnWEhRdkx5QmxlSEJ2YzJVZ2RHaGxJRzF2WkhWc1pTQmpZV05vWlZ4dUlGeDBYMTkzWldKd1lXTnJYM0psY1hWcGNtVmZYeTVqSUQwZ2FXNXpkR0ZzYkdWa1RXOWtkV3hsY3p0Y2JseHVJRngwTHk4Z1pHVm1hVzVsSUdkbGRIUmxjaUJtZFc1amRHbHZiaUJtYjNJZ2FHRnliVzl1ZVNCbGVIQnZjblJ6WEc0Z1hIUmZYM2RsWW5CaFkydGZjbVZ4ZFdseVpWOWZMbVFnUFNCbWRXNWpkR2x2YmlobGVIQnZjblJ6TENCdVlXMWxMQ0JuWlhSMFpYSXBJSHRjYmlCY2RGeDBhV1lvSVY5ZmQyVmljR0ZqYTE5eVpYRjFhWEpsWDE4dWJ5aGxlSEJ2Y25SekxDQnVZVzFsS1NrZ2UxeHVJRngwWEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0J1WVcxbExDQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR2RsZERvZ1oyVjBkR1Z5SUgwcE8xeHVJRngwWEhSOVhHNGdYSFI5TzF4dVhHNGdYSFF2THlCa1pXWnBibVVnWDE5bGMwMXZaSFZzWlNCdmJpQmxlSEJ2Y25SelhHNGdYSFJmWDNkbFluQmhZMnRmY21WeGRXbHlaVjlmTG5JZ1BTQm1kVzVqZEdsdmJpaGxlSEJ2Y25SektTQjdYRzRnWEhSY2RHbG1LSFI1Y0dWdlppQlRlVzFpYjJ3Z0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlGTjViV0p2YkM1MGIxTjBjbWx1WjFSaFp5a2dlMXh1SUZ4MFhIUmNkRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCVGVXMWliMnd1ZEc5VGRISnBibWRVWVdjc0lIc2dkbUZzZFdVNklDZE5iMlIxYkdVbklIMHBPMXh1SUZ4MFhIUjlYRzRnWEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0FuWDE5bGMwMXZaSFZzWlNjc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNGdYSFI5TzF4dVhHNGdYSFF2THlCamNtVmhkR1VnWVNCbVlXdGxJRzVoYldWemNHRmpaU0J2WW1wbFkzUmNiaUJjZEM4dklHMXZaR1VnSmlBeE9pQjJZV3gxWlNCcGN5QmhJRzF2WkhWc1pTQnBaQ3dnY21WeGRXbHlaU0JwZEZ4dUlGeDBMeThnYlc5a1pTQW1JREk2SUcxbGNtZGxJR0ZzYkNCd2NtOXdaWEowYVdWeklHOW1JSFpoYkhWbElHbHVkRzhnZEdobElHNXpYRzRnWEhRdkx5QnRiMlJsSUNZZ05Eb2djbVYwZFhKdUlIWmhiSFZsSUhkb1pXNGdZV3h5WldGa2VTQnVjeUJ2WW1wbFkzUmNiaUJjZEM4dklHMXZaR1VnSmlBNGZERTZJR0psYUdGMlpTQnNhV3RsSUhKbGNYVnBjbVZjYmlCY2RGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHVkQ0E5SUdaMWJtTjBhVzl1S0haaGJIVmxMQ0J0YjJSbEtTQjdYRzRnWEhSY2RHbG1LRzF2WkdVZ0ppQXhLU0IyWVd4MVpTQTlJRjlmZDJWaWNHRmphMTl5WlhGMWFYSmxYMThvZG1Gc2RXVXBPMXh1SUZ4MFhIUnBaaWh0YjJSbElDWWdPQ2tnY21WMGRYSnVJSFpoYkhWbE8xeHVJRngwWEhScFppZ29iVzlrWlNBbUlEUXBJQ1ltSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2RtRnNkV1VnSmlZZ2RtRnNkV1V1WDE5bGMwMXZaSFZzWlNrZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUZ4MFhIUjJZWElnYm5NZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0c1MWJHd3BPMXh1SUZ4MFhIUmZYM2RsWW5CaFkydGZjbVZ4ZFdseVpWOWZMbklvYm5NcE8xeHVJRngwWEhSUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ibk1zSUNka1pXWmhkV3gwSnl3Z2V5QmxiblZ0WlhKaFlteGxPaUIwY25WbExDQjJZV3gxWlRvZ2RtRnNkV1VnZlNrN1hHNGdYSFJjZEdsbUtHMXZaR1VnSmlBeUlDWW1JSFI1Y0dWdlppQjJZV3gxWlNBaFBTQW5jM1J5YVc1bkp5a2dabTl5S0haaGNpQnJaWGtnYVc0Z2RtRnNkV1VwSUY5ZmQyVmljR0ZqYTE5eVpYRjFhWEpsWDE4dVpDaHVjeXdnYTJWNUxDQm1kVzVqZEdsdmJpaHJaWGtwSUhzZ2NtVjBkWEp1SUhaaGJIVmxXMnRsZVYwN0lIMHVZbWx1WkNodWRXeHNMQ0JyWlhrcEtUdGNiaUJjZEZ4MGNtVjBkWEp1SUc1ek8xeHVJRngwZlR0Y2JseHVJRngwTHk4Z1oyVjBSR1ZtWVhWc2RFVjRjRzl5ZENCbWRXNWpkR2x2YmlCbWIzSWdZMjl0Y0dGMGFXSnBiR2wwZVNCM2FYUm9JRzV2Ymkxb1lYSnRiMjU1SUcxdlpIVnNaWE5jYmlCY2RGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHViaUE5SUdaMWJtTjBhVzl1S0cxdlpIVnNaU2tnZTF4dUlGeDBYSFIyWVhJZ1oyVjBkR1Z5SUQwZ2JXOWtkV3hsSUNZbUlHMXZaSFZzWlM1ZlgyVnpUVzlrZFd4bElEOWNiaUJjZEZ4MFhIUm1kVzVqZEdsdmJpQm5aWFJFWldaaGRXeDBLQ2tnZXlCeVpYUjFjbTRnYlc5a2RXeGxXeWRrWldaaGRXeDBKMTA3SUgwZ09seHVJRngwWEhSY2RHWjFibU4wYVc5dUlHZGxkRTF2WkhWc1pVVjRjRzl5ZEhNb0tTQjdJSEpsZEhWeWJpQnRiMlIxYkdVN0lIMDdYRzRnWEhSY2RGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHVaQ2huWlhSMFpYSXNJQ2RoSnl3Z1oyVjBkR1Z5S1R0Y2JpQmNkRngwY21WMGRYSnVJR2RsZEhSbGNqdGNiaUJjZEgwN1hHNWNiaUJjZEM4dklFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JGeHVJRngwWDE5M1pXSndZV05yWDNKbGNYVnBjbVZmWHk1dklEMGdablZ1WTNScGIyNG9iMkpxWldOMExDQndjbTl3WlhKMGVTa2dleUJ5WlhSMWNtNGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzlpYW1WamRDd2djSEp2Y0dWeWRIa3BPeUI5TzF4dVhHNGdYSFF2THlCZlgzZGxZbkJoWTJ0ZmNIVmliR2xqWDNCaGRHaGZYMXh1SUZ4MFgxOTNaV0p3WVdOclgzSmxjWFZwY21WZlh5NXdJRDBnWENKY0lqdGNibHh1WEc0Z1hIUXZMeUJNYjJGa0lHVnVkSEo1SUcxdlpIVnNaU0JoYm1RZ2NtVjBkWEp1SUdWNGNHOXlkSE5jYmlCY2RISmxkSFZ5YmlCZlgzZGxZbkJoWTJ0ZmNtVnhkV2x5WlY5ZktGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHVjeUE5SURFeUtUdGNiaUlzSWx3aWRYTmxJSE4wY21samRGd2lPMXh5WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hISmNibVY0Y0c5eWRITXVaWEJ6YVd4dmJpQTlJREF1TURBd01ERTdYSEpjYmk4dkl5QnpiM1Z5WTJWTllYQndhVzVuVlZKTVBXTnZibk4wWVc1MGN5NXFjeTV0WVhBaUxDSnRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb1hDSmpjbmx3ZEc5Y0lpazdJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUhGMVlYUmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzRjFZWFJjSWlrN1hISmNiblpoY2lCamIyNXpkR0Z1ZEhOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDJOdmJuTjBZVzUwYzF3aUtUdGNjbHh1ZG1GeUlIWmxZek1nUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpXTXpLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kbUZzZFdWeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTRlWG9nUFNCMllXeDFaWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFpsWXpNdWNISnZkRzkwZVhCbExDQmNJbmhjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmxZek11Y0hKdmRHOTBlWEJsTENCY0lubGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6TXVjSEp2ZEc5MGVYQmxMQ0JjSW5wY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFpsWXpNdWNISnZkRzkwZVhCbExDQmNJbmg1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6TXVjSEp2ZEc5MGVYQmxMQ0JjSW5oNWVsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtRjBJRDBnWm5WdVkzUnBiMjRnS0dsdVpHVjRLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0WFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzV5WlhObGRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NklEMGdNRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNWpiM0I1SUQwZ1puVnVZM1JwYjI0Z0tHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNektDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIUm9hWE11ZUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQjBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkR2hwY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVjSEp2ZEc5MGVYQmxMbTVsWjJGMFpTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0IwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBdGRHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlDMTBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdMWFJvYVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzVsY1hWaGJITWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUQwOVBTQjJiMmxrSURBcElIc2dkR2h5WlhOb2IyeGtJRDBnWTI5dWMzUmhiblJ6WHpFdVpYQnphV3h2YmpzZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMbmdnTFNCMlpXTjBiM0l1ZUNrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb2RHaHBjeTU1SUMwZ2RtVmpkRzl5TG5rcElENGdkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektIUm9hWE11ZWlBdElIWmxZM1J2Y2k1NktTQStJSFJvY21WemFHOXNaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y0hKdmRHOTBlWEJsTG14bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSFJvYVhNdWMzRjFZWEpsWkV4bGJtZDBhQ2dwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzV6Y1hWaGNtVmtUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb2VDQXFJSGdnS3lCNUlDb2dlU0FySUhvZ0tpQjZLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDczlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FyUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0t6MGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1YzNWaWRISmhZM1FnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDMDlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0F0UFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0xUMGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGtnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDbzlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FxUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0tqMGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1WkdsMmFXUmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBdlBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dMejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU2SUM4OUlIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVjSEp2ZEc5MGVYQmxMbk5qWVd4bElEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUFxUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1dWIzSnRZV3hwZW1VZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHeGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9LQ2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3hsYm1kMGFDQTlQVDBnTVNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3hsYm1kMGFDQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbm9nUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2JHVnVaM1JvSUQwZ01TNHdJQzhnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVRbmxOWVhReklEMGdablZ1WTNScGIyNGdLRzFoZEhKcGVDd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoZEhKcGVDNXRkV3gwYVhCc2VWWmxZek1vZEdocGN5d2daR1Z6ZENrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGxDZVZGMVlYUWdQU0JtZFc1amRHbHZiaUFvY1hWaGRHVnlibWx2Yml3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIRjFZWFJsY201cGIyNHViWFZzZEdsd2JIbFdaV016S0hSb2FYTXNJR1JsYzNRcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y0hKdmRHOTBlWEJsTG5SdlVYVmhkQ0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2djWFZoZEY4eExtUmxabUYxYkhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR01nUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeklEMGdibVYzSUhabFl6TW9LVHRjY2x4dUlDQWdJQ0FnSUNCakxuZ2dQU0JOWVhSb0xtTnZjeWgwYUdsekxuZ2dLaUF3TGpVcE8xeHlYRzRnSUNBZ0lDQWdJSE11ZUNBOUlFMWhkR2d1YzJsdUtIUm9hWE11ZUNBcUlEQXVOU2s3WEhKY2JpQWdJQ0FnSUNBZ1l5NTVJRDBnVFdGMGFDNWpiM01vZEdocGN5NTVJQ29nTUM0MUtUdGNjbHh1SUNBZ0lDQWdJQ0J6TG5rZ1BTQk5ZWFJvTG5OcGJpaDBhR2x6TG5rZ0tpQXdMalVwTzF4eVhHNGdJQ0FnSUNBZ0lHTXVlaUE5SUUxaGRHZ3VZMjl6S0hSb2FYTXVlaUFxSURBdU5TazdYSEpjYmlBZ0lDQWdJQ0FnY3k1NklEMGdUV0YwYUM1emFXNG9kR2hwY3k1NklDb2dNQzQxS1R0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQnpMbmdnS2lCakxua2dLaUJqTG5vZ0xTQmpMbmdnS2lCekxua2dLaUJ6TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdZeTU0SUNvZ2N5NTVJQ29nWXk1NklDc2djeTU0SUNvZ1l5NTVJQ29nY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJR011ZUNBcUlHTXVlU0FxSUhNdWVpQXRJSE11ZUNBcUlITXVlU0FxSUdNdWVqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0JqTG5nZ0tpQmpMbmtnS2lCakxub2dLeUJ6TG5nZ0tpQnpMbmtnS2lCekxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTVqY205emN5QTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXpLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0TWlBOUlIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VUSWdQU0IyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG95SUQwZ2RtVmpkRzl5TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSGtnS2lCNk1pQXRJSG9nS2lCNU1qdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0I2SUNvZ2VESWdMU0I0SUNvZ2VqSTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZUNBcUlIa3lJQzBnZVNBcUlIZ3lPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Wkc5MElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGtnUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhveUlEMGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ3lJQ3NnZVNBcUlIa3lJQ3NnZWlBcUlIb3lLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxtUnBjM1JoYm1ObElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZG1WamRHOXlNaTU0SUMwZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjJaV04wYjNJeUxua2dMU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhabFkzUnZjakl1ZWlBdElIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9kR2hwY3k1emNYVmhjbVZrUkdsemRHRnVZMlVvZG1WamRHOXlMQ0IyWldOMGIzSXlLU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NXpjWFZoY21Wa1JHbHpkR0Z1WTJVZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXlMbmdnTFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2pJdWVTQXRJSFpsWTNSdmNpNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZG1WamRHOXlNaTU2SUMwZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDaDRJQ29nZUNBcklIa2dLaUI1SUNzZ2VpQXFJSG9wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVaR2x5WldOMGFXOXVJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaXdnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIWmxZek1vS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlQ0F0SUhabFkzUnZjakl1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NUlDMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZG1WamRHOXlMbm9nTFNCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUd4bGJtZDBhQ0E5SUUxaGRHZ3VjM0Z5ZENoNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIb3BPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHNaVzVuZEdnZ1BUMDlJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUd4bGJtZDBhQ0E5SURFZ0x5QnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdlQ0FxSUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCNUlDb2diR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSG9nS2lCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1dGFYZ2dQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlMQ0IwYVcxbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak15Z3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXJJSFJwYldVZ0tpQW9kbVZqZEc5eU1pNTRJQzBnZG1WamRHOXlMbmdwTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkR2x0WlNBcUlDaDJaV04wYjNJeUxua2dMU0IyWldOMGIzSXVlU2s3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RtVmpkRzl5TG5vZ0t5QjBhVzFsSUNvZ0tIWmxZM1J2Y2pJdWVpQXRJSFpsWTNSdmNpNTZLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXpLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ3NnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhabFkzUnZjaTU2SUNzZ2RtVmpkRzl5TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVaR2xtWm1WeVpXNWpaU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV016S0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhabFkzUnZjaTU0SUMwZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJSFpsWTNSdmNpNTVJQzBnZG1WamRHOXlNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIWmxZM1J2Y2k1NklDMGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV016S0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhabFkzUnZjaTU0SUNvZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJSFpsWTNSdmNpNTVJQ29nZG1WamRHOXlNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIWmxZM1J2Y2k1NklDb2dkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y1hWdmRHbGxiblFnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBdklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0F2SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQjJaV04wYjNJdWVpQXZJSFpsWTNSdmNqSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5wbGNtOGdQU0J1WlhjZ2RtVmpNeWhiTUN3Z01Dd2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak15NXZibVVnUFNCdVpYY2dkbVZqTXloYk1Td2dNU3dnTVYwcE8xeHlYRzRnSUNBZ2RtVmpNeTUxY0NBOUlHNWxkeUIyWldNektGc3dMQ0F4TENBd1hTazdYSEpjYmlBZ0lDQjJaV016TG5KcFoyaDBJRDBnYm1WM0lIWmxZek1vV3pFc0lEQXNJREJkS1R0Y2NseHVJQ0FnSUhabFl6TXVabTl5ZDJGeVpDQTlJRzVsZHlCMlpXTXpLRnN3TENBd0xDQXhYU2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdkbVZqTXp0Y2NseHVmU2dwS1R0Y2NseHVaWGh3YjNKMGN5NWtaV1poZFd4MElEMGdkbVZqTXp0Y2NseHVMeThqSUhOdmRYSmpaVTFoY0hCcGJtZFZVa3c5ZG1Wak15NXFjeTV0WVhBaUxDSmNJblZ6WlNCemRISnBZM1JjSWp0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dWRtRnlJR052Ym5OMFlXNTBjMTh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZZMjl1YzNSaGJuUnpYQ0lwTzF4eVhHNTJZWElnZG1Wak1pQTlJQzhxS2lCQVkyeGhjM01nS2k4Z0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsWXpJb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE1nUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0RJcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaWE1nSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5oNUlEMGdkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXlMbkJ5YjNSdmRIbHdaU3dnWENKNFhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gyWldNeUxuQnliM1J2ZEhsd1pTd2dYQ0o1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV015TG5CeWIzUnZkSGx3WlN3Z1hDSjRlVndpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG1GMElEMGdablZ1WTNScGIyNGdLR2x1WkdWNEtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXlaWE5sZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQTlJREE3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVZMjl3ZVNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak1pZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbTVsWjJGMFpTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0IwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBdGRHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlDMTBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVaWEYxWVd4eklEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvY21WemFHOXNaQ0E5UFQwZ2RtOXBaQ0F3S1NCN0lIUm9jbVZ6YUc5c1pDQTlJR052Ym5OMFlXNTBjMTh4TG1Wd2MybHNiMjQ3SUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTRJQzBnZG1WamRHOXlMbmdwSUQ0Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0UxaGRHZ3VZV0p6S0hSb2FYTXVlU0F0SUhabFkzUnZjaTU1S1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzV6Y1hKMEtIUm9hWE11YzNGMVlYSmxaRXhsYm1kMGFDZ3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXpjWFZoY21Wa1RHVnVaM1JvSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ2dLeUI1SUNvZ2VTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBclBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dLejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdWMzVmlkSEpoWTNRZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJQzA5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBdFBTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ0tqMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTVJQ285SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtUnBkbWxrWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dMejBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU1SUM4OUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbk5qWVd4bElEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZ29LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F4S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCc1pXNW5kR2dnUFNBeExqQWdMeUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJQ285SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNaUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNeUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdVkzSnZjM01nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTTE4eExtUmxabUYxYkhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjRJQ29nZVRJZ0xTQjVJQ29nZURJN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSG83WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1a2IzUWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNoMlpXTjBiM0l1ZUNBcUlIWmxZM1J2Y2pJdWVDQXJJSFpsWTNSdmNpNTVJQ29nZG1WamRHOXlNaTU1S1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbVJwYzNSaGJtTmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2RHaHBjeTV6Y1hWaGNtVmtSR2x6ZEdGdVkyVW9kbVZqZEc5eUxDQjJaV04wYjNJeUtTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1emNYVmhjbVZrUkdsemRHRnVZMlVnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjJaV04wYjNJeUxuZ2dMU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjakl1ZVNBdElIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW9lQ0FxSUhnZ0t5QjVJQ29nZVNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNaTVrYVhKbFkzUnBiMjRnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0SUMwZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxua2dMU0IyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3hsYm1kMGFDQTlJRTFoZEdndWMzRnlkQ2g0SUNvZ2VDQXJJSGtnS2lCNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JzWlc1bmRHZ2dQU0F4SUM4Z2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIZ2dLaUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZVNBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxtMXBlQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUhScGJXVXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhreUlEMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhnZ0t5QjBhVzFsSUNvZ0tIZ3lJQzBnZUNrN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdlU0FySUhScGJXVWdLaUFvZVRJZ0xTQjVLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV015TG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ3NnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1WkdsbVptVnlaVzVqWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lIWmxZM1J2Y2pJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNeUtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIWmxZM1J2Y2k1NElDMGdkbVZqZEc5eU1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhabFkzUnZjaTU1SUMwZ2RtVmpkRzl5TWk1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2WkhWamRDQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ29nZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDb2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y1hWdmRHbGxiblFnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBdklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0F2SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxucGxjbThnUFNCdVpYY2dkbVZqTWloYk1Dd2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak1pNXZibVVnUFNCdVpYY2dkbVZqTWloYk1Td2dNVjBwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSFpsWXpJN1hISmNibjBvS1NrN1hISmNibVY0Y0c5eWRITXVaR1ZtWVhWc2RDQTlJSFpsWXpJN1hISmNiaTh2SXlCemIzVnlZMlZOWVhCd2FXNW5WVkpNUFhabFl6SXVhbk11YldGd0lpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjY2x4dWRtRnlJRzFoZEROZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDIxaGRETmNJaWs3WEhKY2JuWmhjaUJ0WVhRMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5dFlYUTBYQ0lwTzF4eVhHNTJZWElnZG1Wak0xOHhJRDBnY21WeGRXbHlaU2hjSWk0dmRtVmpNMXdpS1R0Y2NseHVkbUZ5SUdOdmJuTjBZVzUwYzE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2WTI5dWMzUmhiblJ6WENJcE8xeHlYRzUyWVhJZ2NYVmhkQ0E5SUM4cUtpQkFZMnhoYzNNZ0tpOGdLR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhGMVlYUW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhNZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtEUXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDJZV3gxWlhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuaDVlbmNnUFNCMllXeDFaWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmhjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIRjFZWFF1Y0hKdmRHOTBlWEJsTENCY0lubGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5wY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmRjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIRjFZWFF1Y0hKdmRHOTBlWEJsTENCY0luaDVYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCMllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmg1ZWx3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUhaaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h4ZFdGMExuQnliM1J2ZEhsd1pTd2dYQ0o0ZVhwM1hDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlIWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNCMllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnZG1Gc2RXVnpXek5kTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ2NYVmhkQzV3Y205MGIzUjVjR1V1WVhRZ1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iYVc1a1pYaGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExuSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2djWFZoZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMblpoYkhWbGMxdHBYU0E5SUhSb2FYTXVkbUZzZFdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNXliMnhzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZEdocGN5NTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJOWVhSb0xtRjBZVzR5S0RJdU1DQXFJQ2g0SUNvZ2VTQXJJSGNnS2lCNktTd2dkeUFxSUhjZ0t5QjRJQ29nZUNBdElIa2dLaUI1SUMwZ2VpQXFJSG9wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbkJwZEdOb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbUYwWVc0eUtESXVNQ0FxSUNoNUlDb2dlaUFySUhjZ0tpQjRLU3dnZHlBcUlIY2dMU0I0SUNvZ2VDQXRJSGtnS2lCNUlDc2dlaUFxSUhvcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG5saGR5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzVoYzJsdUtESXVNQ0FxSUNoMGFHbHpMbmdnS2lCMGFHbHpMbm9nTFNCMGFHbHpMbmNnS2lCMGFHbHpMbmtwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzVsY1hWaGJITWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUQwOVBTQjJiMmxrSURBcElIc2dkR2h5WlhOb2IyeGtJRDBnWTI5dWMzUmhiblJ6WHpFdVpYQnphV3h2YmpzZ2ZWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTkRzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMblpoYkhWbGMxdHBYU0F0SUhabFkzUnZjaTVoZENocEtTa2dQaUIwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNXpaWFJKWkdWdWRHbDBlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5jZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG1OaGJHTjFiR0YwWlZjZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMGFHbHpMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGtnUFNCMGFHbHpMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG9nUFNCMGFHbHpMbm83WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUzSUQwZ0xTaE5ZWFJvTG5OeGNuUW9UV0YwYUM1aFluTW9NUzR3SUMwZ2VDQXFJSGdnTFNCNUlDb2dlU0F0SUhvZ0tpQjZLU2twTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExtbHVkbVZ5YzJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1J2ZENBOUlIRjFZWFF1Wkc5MEtIUm9hWE1zSUhSb2FYTXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haRzkwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVlSGw2ZHlBOUlGc3dMQ0F3TENBd0xDQXdYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcGJuWkViM1FnUFNCa2IzUWdQeUF4TGpBZ0x5QmtiM1FnT2lBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVDQXFQU0F0YVc1MlJHOTBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FxUFNBdGFXNTJSRzkwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZWlBcVBTQXRhVzUyUkc5ME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWR5QXFQU0JwYm5aRWIzUTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2NYVmhkQzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJQ285SUMweE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElDbzlJQzB4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUNvOUlDMHhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG14bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJSFJvYVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWR6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlBcklIY2dLaUIzS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVVnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjBhR2x6TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5jN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUd4bGJtZDBhQ0E5SUUxaGRHZ3VjM0Z5ZENoNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIb2dLeUIzSUNvZ2R5azdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnNaVzVuZEdncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHeGxibWQwYUNBOUlERWdMeUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnZUNBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQjVJQ29nYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhvZ0tpQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkeUFxSUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvYjNSb1pYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxdHBYU0FyUFNCdmRHaGxjaTVoZENocEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdWJYVnNkR2x3YkhrZ1BTQm1kVzVqZEdsdmJpQW9iM1JvWlhJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NURjRJRDBnZEdocGN5NTJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlU0E5SUhSb2FYTXVkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWG9nUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjVEYzSUQwZ2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV5ZUNBOUlHOTBhR1Z5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVTQTlJRzkwYUdWeUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllaUE5SUc5MGFHVnlMbm83WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV5ZHlBOUlHOTBhR1Z5TG5jN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElEMGdjVEY0SUNvZ2NUSjNJQ3NnY1RGM0lDb2djVEo0SUNzZ2NURjVJQ29nY1RKNklDMGdjVEY2SUNvZ2NUSjVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0E5SUhFeGVTQXFJSEV5ZHlBcklIRXhkeUFxSUhFeWVTQXJJSEV4ZWlBcUlIRXllQ0F0SUhFeGVDQXFJSEV5ZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ1BTQnhNWG9nS2lCeE1uY2dLeUJ4TVhjZ0tpQnhNbm9nS3lCeE1YZ2dLaUJ4TW5rZ0xTQnhNWGtnS2lCeE1uZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNJRDBnY1RGM0lDb2djVEozSUMwZ2NURjRJQ29nY1RKNElDMGdjVEY1SUNvZ2NUSjVJQzBnY1RGNklDb2djVEo2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVZtVmpNeUE5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV016WHpFdVpHVm1ZWFZzZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NYZ2dQU0IwYUdsekxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjWGNnUFNCMGFHbHpMbmM3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2w0SUQwZ2NYY2dLaUI0SUNzZ2NYa2dLaUI2SUMwZ2NYb2dLaUI1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwZVNBOUlIRjNJQ29nZVNBcklIRjZJQ29nZUNBdElIRjRJQ29nZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYVhvZ1BTQnhkeUFxSUhvZ0t5QnhlQ0FxSUhrZ0xTQnhlU0FxSUhnN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdsM0lEMGdMWEY0SUNvZ2VDQXRJSEY1SUNvZ2VTQXRJSEY2SUNvZ2VqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0JwZUNBcUlIRjNJQ3NnYVhjZ0tpQXRjWGdnS3lCcGVTQXFJQzF4ZWlBdElHbDZJQ29nTFhGNU8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJR2w1SUNvZ2NYY2dLeUJwZHlBcUlDMXhlU0FySUdsNklDb2dMWEY0SUMwZ2FYZ2dLaUF0Y1hvN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdhWG9nS2lCeGR5QXJJR2wzSUNvZ0xYRjZJQ3NnYVhnZ0tpQXRjWGtnTFNCcGVTQXFJQzF4ZUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNTBiMDFoZERNZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUcxaGRETmZNUzVrWldaaGRXeDBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkR2hwY3k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNklEMGdkR2hwY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCM0lEMGdkR2hwY3k1M08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSGdnS3lCNE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNU1pQTlJSGtnS3lCNU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNk1pQTlJSG9nS3lCNk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNGVDQTlJSGdnS2lCNE1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VIa2dQU0I0SUNvZ2VUSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIaDZJRDBnZUNBcUlIb3lPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVlU0E5SUhrZ0tpQjVNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlWG9nUFNCNUlDb2dlakk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSHA2SUQwZ2VpQXFJSG95TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzZUNBOUlIY2dLaUI0TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZDNrZ1BTQjNJQ29nZVRJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhkNklEMGdkeUFxSUhveU8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWFXNXBkQ2hiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREVnTFNBb2VYa2dLeUI2ZWlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhoNUlDc2dkM29zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGg2SUMwZ2Qza3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIaDVJQzBnZDNvc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURFZ0xTQW9lSGdnS3lCNmVpa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIbDZJQ3NnZDNnc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhoNklDc2dkM2tzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGw2SUMwZ2QzZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lERWdMU0FvZUhnZ0t5QjVlU2tzWEhKY2JpQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2NYVmhkQzV3Y205MGIzUjVjR1V1ZEc5TllYUTBJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QnRZWFEwWHpFdVpHVm1ZWFZzZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhSb2FYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCNElDc2dlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCNUlDc2dlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaklnUFNCNklDc2dlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlSGdnUFNCNElDb2dlREk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGg1SUQwZ2VDQXFJSGt5TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0ZWlBOUlIZ2dLaUI2TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVhrZ1BTQjVJQ29nZVRJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhsNklEMGdlU0FxSUhveU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNmVpQTlJSG9nS2lCNk1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2QzZ2dQU0IzSUNvZ2VESTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZDVJRDBnZHlBcUlIa3lPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjNlaUE5SUhjZ0tpQjZNanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbWx1YVhRb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBeElDMGdLSGw1SUNzZ2Vub3BMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRlU0FySUhkNkxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNGVpQXRJSGQ1TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0ZVNBdElIZDZMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhJQzBnS0hoNElDc2dlbm9wTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I1ZWlBcklIZDRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRlaUFySUhkNUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNWVpQXRJSGQ0TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F4SUMwZ0tIaDRJQ3NnZVhrcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBeExGeHlYRzRnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdVpHOTBJRDBnWm5WdVkzUnBiMjRnS0hFeExDQnhNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeE1TNTRJQ29nY1RJdWVDQXJJSEV4TG5rZ0tpQnhNaTU1SUNzZ2NURXVlaUFxSUhFeUxub2dLeUJ4TVM1M0lDb2djVEl1ZHp0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbk4xYlNBOUlHWjFibU4wYVc5dUlDaHhNU3dnY1RJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUJ4ZFdGMEtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIRXhMbmdnS3lCeE1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhFeExua2dLeUJ4TWk1NU8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSEV4TG5vZ0t5QnhNaTU2TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlIRXhMbmNnS3lCeE1pNTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNoeE1Td2djVElzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QnhkV0YwS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWGdnUFNCeE1TNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWGtnUFNCeE1TNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWG9nUFNCeE1TNTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWGNnUFNCeE1TNTNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbmdnUFNCeE1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbmtnUFNCeE1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbm9nUFNCeE1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbmNnUFNCeE1pNTNPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhFeGVDQXFJSEV5ZHlBcklIRXhkeUFxSUhFeWVDQXJJSEV4ZVNBcUlIRXllaUF0SUhFeGVpQXFJSEV5ZVR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQnhNWGtnS2lCeE1uY2dLeUJ4TVhjZ0tpQnhNbmtnS3lCeE1Yb2dLaUJ4TW5nZ0xTQnhNWGdnS2lCeE1ubzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnY1RGNklDb2djVEozSUNzZ2NURjNJQ29nY1RKNklDc2djVEY0SUNvZ2NUSjVJQzBnY1RGNUlDb2djVEo0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlIRXhkeUFxSUhFeWR5QXRJSEV4ZUNBcUlIRXllQ0F0SUhFeGVTQXFJSEV5ZVNBdElIRXhlaUFxSUhFeWVqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbU55YjNOeklEMGdablZ1WTNScGIyNGdLSEV4TENCeE1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhGMVlYUW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGVDQTlJSEV4TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGVTQTlJSEV4TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGVpQTlJSEV4TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGR5QTlJSEV4TG5jN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVDQTlJSEV5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVTQTlJSEV5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVpQTlJSEV5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWR5QTlJSEV5TG5jN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdjVEYzSUNvZ2NUSjZJQ3NnY1RGNklDb2djVEozSUNzZ2NURjRJQ29nY1RKNUlDMGdjVEY1SUNvZ2NUSjRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhFeGR5QXFJSEV5ZHlBdElIRXhlQ0FxSUhFeWVDQXRJSEV4ZVNBcUlIRXllU0F0SUhFeGVpQXFJSEV5ZWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQnhNWGNnS2lCeE1uZ2dLeUJ4TVhnZ0tpQnhNbmNnS3lCeE1Ya2dLaUJ4TW5vZ0xTQnhNWG9nS2lCeE1uazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJRDBnY1RGM0lDb2djVEo1SUNzZ2NURjVJQ29nY1RKM0lDc2djVEY2SUNvZ2NUSjRJQzBnY1RGNElDb2djVEo2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWMyaHZjblJOYVhnZ1BTQm1kVzVqZEdsdmJpQW9jVEVzSUhFeUxDQjBhVzFsTENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2djWFZoZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2x0WlNBOFBTQXdMakFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTRlWHAzSUQwZ2NURXVlSGw2ZHp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hScGJXVWdQajBnTVM0d0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZUhsNmR5QTlJSEV5TG5oNWVuYzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnWTI5eklEMGdjWFZoZEM1a2IzUW9jVEVzSUhFeUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NUSmhJRDBnY1RJdVkyOXdlU2dwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqYjNNZ1BDQXdMakFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY1RKaExtbHVkbVZ5YzJVb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXpJRDBnTFdOdmN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3N3TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJyTVR0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvWTI5eklENGdNQzQ1T1RrNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHc3dJRDBnTVNBdElIUnBiV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR3N4SUQwZ01DQXJJSFJwYldVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emNYSjBLREVnTFNCamIzTWdLaUJqYjNNcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdZVzVuYkdVZ1BTQk5ZWFJvTG1GMFlXNHlLSE5wYml3Z1kyOXpLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5dVpVOTJaWEpUYVc0Z1BTQXhJQzhnYzJsdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCck1DQTlJRTFoZEdndWMybHVLQ2d4SUMwZ2RHbHRaU2tnS2lCaGJtZHNaU2tnS2lCdmJtVlBkbVZ5VTJsdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCck1TQTlJRTFoZEdndWMybHVLQ2d3SUNzZ2RHbHRaU2tnS2lCaGJtZHNaU2tnS2lCdmJtVlBkbVZ5VTJsdU8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCck1DQXFJSEV4TG5nZ0t5QnJNU0FxSUhFeVlTNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUdzd0lDb2djVEV1ZVNBcklHc3hJQ29nY1RKaExuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnYXpBZ0tpQnhNUzU2SUNzZ2F6RWdLaUJ4TW1FdWVqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0JyTUNBcUlIRXhMbmNnS3lCck1TQXFJSEV5WVM1M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXViV2w0SUQwZ1puVnVZM1JwYjI0Z0tIRXhMQ0J4TWl3Z2RHbHRaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIRjFZWFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTnZjMGhoYkdaVWFHVjBZU0E5SUhFeExuZ2dLaUJ4TWk1NElDc2djVEV1ZVNBcUlIRXlMbmtnS3lCeE1TNTZJQ29nY1RJdWVpQXJJSEV4TG5jZ0tpQnhNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWhqYjNOSVlXeG1WR2hsZEdFcElENDlJREV1TUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmg1ZW5jZ1BTQnhNUzU0ZVhwM08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2hoYkdaVWFHVjBZU0E5SUUxaGRHZ3VZV052Y3loamIzTklZV3htVkdobGRHRXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnphVzVJWVd4bVZHaGxkR0VnUFNCTllYUm9Mbk54Y25Rb01TNHdJQzBnWTI5elNHRnNabFJvWlhSaElDb2dZMjl6U0dGc1psUm9aWFJoS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vYzJsdVNHRnNabFJvWlhSaEtTQThJREF1TURBeEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIRXhMbmdnS2lBd0xqVWdLeUJ4TWk1NElDb2dNQzQxTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExua2dQU0J4TVM1NUlDb2dNQzQxSUNzZ2NUSXVlU0FxSURBdU5UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2NURXVlaUFxSURBdU5TQXJJSEV5TG5vZ0tpQXdMalU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSEV4TG5jZ0tpQXdMalVnS3lCeE1pNTNJQ29nTUM0MU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEpoZEdsdlFTQTlJRTFoZEdndWMybHVLQ2d4SUMwZ2RHbHRaU2tnS2lCb1lXeG1WR2hsZEdFcElDOGdjMmx1U0dGc1psUm9aWFJoTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5WVhScGIwSWdQU0JOWVhSb0xuTnBiaWgwYVcxbElDb2dhR0ZzWmxSb1pYUmhLU0F2SUhOcGJraGhiR1pVYUdWMFlUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0J4TVM1NElDb2djbUYwYVc5QklDc2djVEl1ZUNBcUlISmhkR2x2UWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQnhNUzU1SUNvZ2NtRjBhVzlCSUNzZ2NUSXVlU0FxSUhKaGRHbHZRanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbm9nUFNCeE1TNTZJQ29nY21GMGFXOUJJQ3NnY1RJdWVpQXFJSEpoZEdsdlFqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0J4TVM1M0lDb2djbUYwYVc5QklDc2djVEl1ZHlBcUlISmhkR2x2UWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExtWnliMjFCZUdselFXNW5iR1VnUFNCbWRXNWpkR2x2YmlBb1lYaHBjeXdnWVc1bmJHVXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCeGRXRjBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR0Z1WjJ4bElDbzlJREF1TlR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emFXNG9ZVzVuYkdVcE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJR0Y0YVhNdWVDQXFJSE5wYmp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQmhlR2x6TG5rZ0tpQnphVzQ3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ1lYaHBjeTU2SUNvZ2MybHVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUUxaGRHZ3VZMjl6S0dGdVoyeGxLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG1sa1pXNTBhWFI1SUQwZ2JtVjNJSEYxWVhRb0tTNXpaWFJKWkdWdWRHbDBlU2dwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEYxWVhRN1hISmNibjBvS1NrN1hISmNibVY0Y0c5eWRITXVaR1ZtWVhWc2RDQTlJSEYxWVhRN1hISmNiaTh2SXlCemIzVnlZMlZOWVhCd2FXNW5WVkpNUFhGMVlYUXVhbk11YldGd0lpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjY2x4dWRtRnlJRzFoZERSZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDIxaGREUmNJaWs3WEhKY2JuWmhjaUJ4ZFdGMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5eGRXRjBYQ0lwTzF4eVhHNTJZWElnZG1Wak1sOHhJRDBnY21WeGRXbHlaU2hjSWk0dmRtVmpNbHdpS1R0Y2NseHVkbUZ5SUhabFl6TmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzWmxZek5jSWlrN1hISmNiblpoY2lCamIyNXpkR0Z1ZEhOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDJOdmJuTjBZVzUwYzF3aUtUdGNjbHh1ZG1GeUlHMWhkRE1nUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCdFlYUXpLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTZzVLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kbUZzZFdWeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibWwwS0haaGJIVmxjeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1WVhRZ1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iYVc1a1pYaGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExtbHVhWFFnUFNCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0E1T3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQjJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExuSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z09Uc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTXk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2diV0YwTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEazdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMblpoYkhWbGMxdHBYU0E5SUhSb2FYTXVkbUZzZFdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNWhiR3dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURrN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaFcybGRJRDBnZEdocGN5NTJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1lYUmhPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExuSnZkeUE5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNvZ015QXJJREJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURNZ0t5QXhYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUF6SUNzZ01sMHNYSEpjYmlBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzVqYjJ3Z1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRJQ3NnTmwwc1hISmNiaUFnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNWxjWFZoYkhNZ1BTQm1kVzVqZEdsdmJpQW9iV0YwY21sNExDQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2h5WlhOb2IyeGtJRDA5UFNCMmIybGtJREFwSUhzZ2RHaHlaWE5vYjJ4a0lEMGdZMjl1YzNSaGJuUnpYekV1WlhCemFXeHZianNnZlZ4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dPVHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWgwYUdsekxuWmhiSFZsYzF0cFhTQXRJRzFoZEhKcGVDNWhkQ2hwS1NrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1a1pYUmxjbTFwYm1GdWRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBd0lEMGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01TQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ESWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXdJRDBnZEdocGN5NTJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNU0E5SUhSb2FYTXVkbUZzZFdWeld6UmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVElnUFNCMGFHbHpMblpoYkhWbGMxczFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl3SUQwZ2RHaHBjeTUyWVd4MVpYTmJObDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlIUm9hWE11ZG1Gc2RXVnpXemRkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpJZ1BTQjBhR2x6TG5aaGJIVmxjMXM0WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1ERWdQU0JoTWpJZ0tpQmhNVEVnTFNCaE1USWdLaUJoTWpFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRERXhJRDBnTFdFeU1pQXFJR0V4TUNBcklHRXhNaUFxSUdFeU1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNakVnUFNCaE1qRWdLaUJoTVRBZ0xTQmhNVEVnS2lCaE1qQTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR0V3TUNBcUlHUmxkREF4SUNzZ1lUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF5TVR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzV6WlhSSlpHVnVkR2wwZVNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SURFN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5GMGdQU0F4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelZkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3poZElEMGdNVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1MGNtRnVjM0J2YzJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFJsYlhBd01TQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMFpXMXdNRElnUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0RFeUlEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIUm9hWE11ZG1Gc2RXVnpXelpkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RHVnRjREF4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelZkSUQwZ2RHaHBjeTUyWVd4MVpYTmJOMTA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCMFpXMXdNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNCMFpXMXdNVEk3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTXk1d2NtOTBiM1I1Y0dVdWFXNTJaWEp6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6ZGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNaklnS2lCaE1URWdMU0JoTVRJZ0tpQmhNakU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdMV0V5TWlBcUlHRXhNQ0FySUdFeE1pQXFJR0V5TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1qRWdQU0JoTWpFZ0tpQmhNVEFnTFNCaE1URWdLaUJoTWpBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRDQTlJR0V3TUNBcUlHUmxkREF4SUNzZ1lUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF5TVR0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1YwSUQwZ01TNHdJQzhnWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdaR1YwTURFZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNBb0xXRXlNaUFxSUdFd01TQXJJR0V3TWlBcUlHRXlNU2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdQU0FvWVRFeUlDb2dZVEF4SUMwZ1lUQXlJQ29nWVRFeEtTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFNBOUlHUmxkREV4SUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRJRDBnS0dFeU1pQXFJR0V3TUNBdElHRXdNaUFxSUdFeU1Da2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTlYwZ1BTQW9MV0V4TWlBcUlHRXdNQ0FySUdFd01pQXFJR0V4TUNrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCa1pYUXlNU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJQ2d0WVRJeElDb2dZVEF3SUNzZ1lUQXhJQ29nWVRJd0tTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM0WFNBOUlDaGhNVEVnS2lCaE1EQWdMU0JoTURFZ0tpQmhNVEFwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG0xMWJIUnBjR3g1SUQwZ1puVnVZM1JwYjI0Z0tHMWhkSEpwZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1EQWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXhJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEFnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpBZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeElEMGdkR2hwY3k1MllXeDFaWE5iTjEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1pQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1EQWdQU0J0WVhSeWFYZ3VZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJRzFoZEhKcGVDNWhkQ2d4S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBeUlEMGdiV0YwY21sNExtRjBLRElwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRBZ1BTQnRZWFJ5YVhndVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l4TVNBOUlHMWhkSEpwZUM1aGRDZzBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakV5SUQwZ2JXRjBjbWw0TG1GMEtEVXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNakFnUFNCdFlYUnlhWGd1WVhRb05pazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXlNU0E5SUcxaGRISnBlQzVoZENnM0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXlJRDBnYldGMGNtbDRMbUYwS0RncE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdZakF3SUNvZ1lUQXdJQ3NnWWpBeElDb2dZVEV3SUNzZ1lqQXlJQ29nWVRJd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdZakF3SUNvZ1lUQXhJQ3NnWWpBeElDb2dZVEV4SUNzZ1lqQXlJQ29nWVRJeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdZakF3SUNvZ1lUQXlJQ3NnWWpBeElDb2dZVEV5SUNzZ1lqQXlJQ29nWVRJeU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdZakV3SUNvZ1lUQXdJQ3NnWWpFeElDb2dZVEV3SUNzZ1lqRXlJQ29nWVRJd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElEMGdZakV3SUNvZ1lUQXhJQ3NnWWpFeElDb2dZVEV4SUNzZ1lqRXlJQ29nWVRJeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZElEMGdZakV3SUNvZ1lUQXlJQ3NnWWpFeElDb2dZVEV5SUNzZ1lqRXlJQ29nWVRJeU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3paZElEMGdZakl3SUNvZ1lUQXdJQ3NnWWpJeElDb2dZVEV3SUNzZ1lqSXlJQ29nWVRJd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pkZElEMGdZakl3SUNvZ1lUQXhJQ3NnWWpJeElDb2dZVEV4SUNzZ1lqSXlJQ29nWVRJeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3poZElEMGdZakl3SUNvZ1lUQXlJQ3NnWWpJeElDb2dZVEV5SUNzZ1lqSXlJQ29nWVRJeU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRETXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVWbVZqTWlBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NGVTQTlJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN3WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzelhTQXJJSFJvYVhNdWRtRnNkV1Z6V3paZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlQ0FxSUhSb2FYTXVkbUZzZFdWeld6RmRJQ3NnZVNBcUlIUm9hWE11ZG1Gc2RXVnpXelJkSUNzZ2RHaHBjeTUyWVd4MVpYTmJOMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJSFpsWXpKZk1TNWtaV1poZFd4MEtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3dYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFNBcklIUm9hWE11ZG1Gc2RXVnpXelpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VDQXFJSFJvYVhNdWRtRnNkV1Z6V3pGZElDc2dlU0FxSUhSb2FYTXVkbUZzZFdWeld6UmRJQ3NnZEdocGN5NTJZV3gxWlhOYk4xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlVlpsWXpNZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQnlaWE4xYkhRcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG9nUFNCMlpXTjBiM0l1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNTRlWG9nUFNCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1GMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJNMTBnS3lCNklDb2dkR2hwY3k1MllXeDFaWE5iTmwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1WMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJORjBnS3lCNklDb2dkR2hwY3k1MllXeDFaWE5iTjEwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1sMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS3lCNklDb2dkR2hwY3k1MllXeDFaWE5iT0Ywc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUhabFl6TmZNUzVrWldaaGRXeDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN3WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzelhTQXJJSG9nS2lCMGFHbHpMblpoYkhWbGMxczJYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN4WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzMFhTQXJJSG9nS2lCMGFHbHpMblpoYkhWbGMxczNYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN5WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzMVhTQXJJSG9nS2lCMGFHbHpMblpoYkhWbGMxczRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG5SdlRXRjBOQ0E5SUdaMWJtTjBhVzl1SUNoeVpYTjFiSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXBibWwwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTmwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMzWFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURFc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCdFlYUTBYekV1WkdWbVlYVnNkQ2hiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F4TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTXk1d2NtOTBiM1I1Y0dVdWRHOVJkV0YwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnRNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRzB3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ0TVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYlRFeElEMGdkR2hwY3k1MllXeDFaWE5iTkYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUcweE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pWZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdE1qQWdQU0IwYUdsekxuWmhiSFZsYzFzMlhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHMHlNaUE5SUhSb2FYTXVkbUZzZFdWeld6aGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQm1iM1Z5V0ZOeGRXRnlaV1JOYVc1MWN6RWdQU0J0TURBZ0xTQnRNVEVnTFNCdE1qSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHWnZkWEpaVTNGMVlYSmxaRTFwYm5Wek1TQTlJRzB4TVNBdElHMHdNQ0F0SUcweU1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1ptOTFjbHBUY1hWaGNtVmtUV2x1ZFhNeElEMGdiVEl5SUMwZ2JUQXdJQzBnYlRFeE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCbWIzVnlWMU54ZFdGeVpXUk5hVzUxY3pFZ1BTQnRNREFnS3lCdE1URWdLeUJ0TWpJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdKcFoyZGxjM1JKYm1SbGVDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1p2ZFhKQ2FXZG5aWE4wVTNGMVlYSmxaRTFwYm5Wek1TQTlJR1p2ZFhKWFUzRjFZWEpsWkUxcGJuVnpNVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9abTkxY2xoVGNYVmhjbVZrVFdsdWRYTXhJRDRnWm05MWNrSnBaMmRsYzNSVGNYVmhjbVZrVFdsdWRYTXhLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2ZFhKQ2FXZG5aWE4wVTNGMVlYSmxaRTFwYm5Wek1TQTlJR1p2ZFhKWVUzRjFZWEpsWkUxcGJuVnpNVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZbWxuWjJWemRFbHVaR1Y0SUQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1p2ZFhKWlUzRjFZWEpsWkUxcGJuVnpNU0ErSUdadmRYSkNhV2RuWlhOMFUzRjFZWEpsWkUxcGJuVnpNU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNWeVFtbG5aMlZ6ZEZOeGRXRnlaV1JOYVc1MWN6RWdQU0JtYjNWeVdWTnhkV0Z5WldSTmFXNTFjekU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR0pwWjJkbGMzUkpibVJsZUNBOUlESTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2htYjNWeVdsTnhkV0Z5WldSTmFXNTFjekVnUGlCbWIzVnlRbWxuWjJWemRGTnhkV0Z5WldSTmFXNTFjekVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWm05MWNrSnBaMmRsYzNSVGNYVmhjbVZrVFdsdWRYTXhJRDBnWm05MWNscFRjWFZoY21Wa1RXbHVkWE14TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JpYVdkblpYTjBTVzVrWlhnZ1BTQXpPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnWW1sbloyVnpkRlpoYkNBOUlFMWhkR2d1YzNGeWRDaG1iM1Z5UW1sbloyVnpkRk54ZFdGeVpXUk5hVzUxY3pFZ0t5QXhLU0FxSURBdU5UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JYVnNkQ0E5SURBdU1qVWdMeUJpYVdkblpYTjBWbUZzTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0J1WlhjZ2NYVmhkRjh4TG1SbFptRjFiSFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHSnBaMmRsYzNSSmJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEQTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVkeUE5SUdKcFoyZGxjM1JXWVd3N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVDQTlJQ2h0TVRJZ0xTQnRNakVwSUNvZ2JYVnNkRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzU1SUQwZ0tHMHlNQ0F0SUcwd01pa2dLaUJ0ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MExub2dQU0FvYlRBeElDMGdiVEV3S1NBcUlHMTFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBeE9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MExuY2dQU0FvYlRFeUlDMGdiVEl4S1NBcUlHMTFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZUNBOUlHSnBaMmRsYzNSV1lXdzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlU0E5SUNodE1ERWdLeUJ0TVRBcElDb2diWFZzZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NklEMGdLRzB5TUNBcklHMHdNaWtnS2lCdGRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTWpwY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1M0lEMGdLRzB5TUNBdElHMHdNaWtnS2lCdGRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemRXeDBMbmdnUFNBb2JUQXhJQ3NnYlRFd0tTQXFJRzExYkhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVTQTlJR0pwWjJkbGMzUldZV3c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZWlBOUlDaHRNVElnS3lCdE1qRXBJQ29nYlhWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRE02WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZHlBOUlDaHRNREVnTFNCdE1UQXBJQ29nYlhWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNTRJRDBnS0cweU1DQXJJRzB3TWlrZ0tpQnRkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5rZ1BTQW9iVEV5SUNzZ2JUSXhLU0FxSUcxMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlaUE5SUdKcFoyZGxjM1JXWVd3N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1eWIzUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1lXNW5iR1VzSUdGNGFYTXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUdGNGFYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUdGNGFYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUdGNGFYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiR1Z1WjNSb0lEMGdUV0YwYUM1emNYSjBLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGc1pXNW5kR2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHNaVzVuZEdnZ0lUMDlJREVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWdVozUm9JRDBnTVNBdklHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZUNBcVBTQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhrZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNklDbzlJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSE1nUFNCTllYUm9Mbk5wYmloaGJtZHNaU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR01nUFNCTllYUm9MbU52Y3loaGJtZHNaU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFFnUFNBeExqQWdMU0JqTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURBZ1BTQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBeElEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01pQTlJSFJvYVhNdWRtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UQWdQU0IwYUdsekxuWmhiSFZsYzFzMFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXhJRDBnZEdocGN5NTJZV3gxWlhOYk5WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNaUE5SUhSb2FYTXVkbUZzZFdWeld6WmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakFnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl4SUQwZ2RHaHBjeTUyWVd4MVpYTmJPVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekV3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBd0lEMGdlQ0FxSUhnZ0tpQjBJQ3NnWXp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBeElEMGdlU0FxSUhnZ0tpQjBJQ3NnZWlBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXdNaUE5SUhvZ0tpQjRJQ29nZENBdElIa2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRBZ1BTQjRJQ29nZVNBcUlIUWdMU0I2SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXhJRDBnZVNBcUlIa2dLaUIwSUNzZ1l6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXlJRDBnZWlBcUlIa2dLaUIwSUNzZ2VDQXFJSE03WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TUNBOUlIZ2dLaUI2SUNvZ2RDQXJJSGtnS2lCek8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qRWdQU0I1SUNvZ2VpQXFJSFFnTFNCNElDb2djenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl5SUQwZ2VpQXFJSG9nS2lCMElDc2dZenRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUdFd01DQXFJR0l3TUNBcklHRXhNQ0FxSUdJd01TQXJJR0V5TUNBcUlHSXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUdFd01TQXFJR0l3TUNBcklHRXhNU0FxSUdJd01TQXJJR0V5TVNBcUlHSXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUdFd01pQXFJR0l3TUNBcklHRXhNaUFxSUdJd01TQXJJR0V5TWlBcUlHSXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SUdFd01DQXFJR0l4TUNBcklHRXhNQ0FxSUdJeE1TQXJJR0V5TUNBcUlHSXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU0E5SUdFd01TQXFJR0l4TUNBcklHRXhNU0FxSUdJeE1TQXJJR0V5TVNBcUlHSXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczFYU0E5SUdFd01pQXFJR0l4TUNBcklHRXhNaUFxSUdJeE1TQXJJR0V5TWlBcUlHSXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczJYU0E5SUdFd01DQXFJR0l5TUNBcklHRXhNQ0FxSUdJeU1TQXJJR0V5TUNBcUlHSXlNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczNYU0E5SUdFd01TQXFJR0l5TUNBcklHRXhNU0FxSUdJeU1TQXJJR0V5TVNBcUlHSXlNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU0E5SUdFd01pQXFJR0l5TUNBcklHRXhNaUFxSUdJeU1TQXJJR0V5TWlBcUlHSXlNanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIyUjFZM1FnUFNCbWRXNWpkR2x2YmlBb2JURXNJRzB5TENCeVpYTjFiSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBd0lEMGdiVEV1WVhRb01DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNU0E5SUcweExtRjBLREVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQnRNUzVoZENneUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXdJRDBnYlRFdVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TVNBOUlHMHhMbUYwS0RRcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0J0TVM1aGRDZzFLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl3SUQwZ2JURXVZWFFvTmlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJRzB4TG1GMEtEY3BPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCdE1TNWhkQ2c0S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBd0lEMGdiVEl1WVhRb01DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXdNU0E5SUcweUxtRjBLREVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTURJZ1BTQnRNaTVoZENneUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXdJRDBnYlRJdVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l4TVNBOUlHMHlMbUYwS0RRcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1USWdQU0J0TWk1aGRDZzFLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl3SUQwZ2JUSXVZWFFvTmlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJeU1TQTlJRzB5TG1GMEtEY3BPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNaklnUFNCdE1pNWhkQ2c0S1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXBibWwwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01DQXJJR0l3TVNBcUlHRXhNQ0FySUdJd01pQXFJR0V5TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01TQXJJR0l3TVNBcUlHRXhNU0FySUdJd01pQXFJR0V5TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01pQXJJR0l3TVNBcUlHRXhNaUFySUdJd01pQXFJR0V5TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01DQXJJR0l4TVNBcUlHRXhNQ0FySUdJeE1pQXFJR0V5TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01TQXJJR0l4TVNBcUlHRXhNU0FySUdJeE1pQXFJR0V5TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01pQXJJR0l4TVNBcUlHRXhNaUFySUdJeE1pQXFJR0V5TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01DQXJJR0l5TVNBcUlHRXhNQ0FySUdJeU1pQXFJR0V5TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01TQXJJR0l5TVNBcUlHRXhNU0FySUdJeU1pQXFJR0V5TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01pQXJJR0l5TVNBcUlHRXhNaUFySUdJeU1pQXFJR0V5TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUcxaGRETW9XMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF3SUNzZ1lqQXhJQ29nWVRFd0lDc2dZakF5SUNvZ1lUSXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF4SUNzZ1lqQXhJQ29nWVRFeElDc2dZakF5SUNvZ1lUSXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF5SUNzZ1lqQXhJQ29nWVRFeUlDc2dZakF5SUNvZ1lUSXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF3SUNzZ1lqRXhJQ29nWVRFd0lDc2dZakV5SUNvZ1lUSXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF4SUNzZ1lqRXhJQ29nWVRFeElDc2dZakV5SUNvZ1lUSXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF5SUNzZ1lqRXhJQ29nWVRFeUlDc2dZakV5SUNvZ1lUSXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF3SUNzZ1lqSXhJQ29nWVRFd0lDc2dZakl5SUNvZ1lUSXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF4SUNzZ1lqSXhJQ29nWVRFeElDc2dZakl5SUNvZ1lUSXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF5SUNzZ1lqSXhJQ29nWVRFeUlDc2dZakl5SUNvZ1lUSXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTVwWkdWdWRHbDBlU0E5SUc1bGR5QnRZWFF6S0NrdWMyVjBTV1JsYm5ScGRIa29LVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnRZWFF6TzF4eVhHNTlLQ2twTzF4eVhHNWxlSEJ2Y25SekxtUmxabUYxYkhRZ1BTQnRZWFF6TzF4eVhHNHZMeU1nYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDF0WVhRekxtcHpMbTFoY0NJc0lsd2lkWE5sSUhOMGNtbGpkRndpTzF4eVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYSEpjYm5aaGNpQnRZWFF6WHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl0WVhRelhDSXBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dWRtRnlJSFpsWXpSZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDNabFl6UmNJaWs3WEhKY2JuWmhjaUJqYjI1emRHRnVkSE5mTVNBOUlISmxjWFZwY21Vb1hDSXVMMk52Ym5OMFlXNTBjMXdpS1R0Y2NseHVkbUZ5SUcxaGREUWdQU0F2S2lvZ1FHTnNZWE56SUNvdklDaG1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ0WVhRMEtIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6SUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNneE5pazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsY3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNXBkQ2gyWVd4MVpYTXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbUYwSUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1cGJtbDBJRDBnWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwWFNBOUlIWmhiSFZsYzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdWNtVnpaWFFnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2diV0YwTkNncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElERTJPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzUyWVd4MVpYTmJhVjBnUFNCMGFHbHpMblpoYkhWbGMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVZV3hzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtZWFJoSUQwZ1cxMDdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSaGRHRmJhVjBnUFNCMGFHbHpMblpoYkhWbGMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmhkR0U3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVjbTkzSUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhnZ0tpQTBJQ3NnTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNvZ05DQXJJREZkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURRZ0t5QXlYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUEwSUNzZ00xMHNYSEpjYmlBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzVqYjJ3Z1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dORjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRJQ3NnT0Ywc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNzZ01USmRMRnh5WEc0Z0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1WlhGMVlXeHpJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ3dnZEdoeVpYTm9iMnhrS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hSb2NtVnphRzlzWkNBOVBUMGdkbTlwWkNBd0tTQjdJSFJvY21WemFHOXNaQ0E5SUdOdmJuTjBZVzUwYzE4eExtVndjMmxzYjI0N0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURFMk95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektIUm9hWE11ZG1Gc2RXVnpXMmxkSUMwZ2JXRjBjbWw0TG1GMEtHa3BLU0ErSUhSb2NtVnphRzlzWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbVJsZEdWeWJXbHVZVzUwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURNZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTkYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pWZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMlhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXpJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNQ0E5SUhSb2FYTXVkbUZzZFdWeld6aGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCMGFHbHpMblpoYkhWbGMxczVYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVEJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpNZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek1DQTlJSFJvYVhNdWRtRnNkV1Z6V3pFeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUTXhJRDBnZEdocGN5NTJZV3gxWlhOYk1UTmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNeklnUFNCMGFHbHpMblpoYkhWbGMxc3hORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V6TXlBOUlIUm9hWE11ZG1Gc2RXVnpXekUxWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1EQWdQU0JoTURBZ0tpQmhNVEVnTFNCaE1ERWdLaUJoTVRBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQXhJRDBnWVRBd0lDb2dZVEV5SUMwZ1lUQXlJQ29nWVRFd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdNaUE5SUdFd01DQXFJR0V4TXlBdElHRXdNeUFxSUdFeE1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRE1nUFNCaE1ERWdLaUJoTVRJZ0xTQmhNRElnS2lCaE1URTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREEwSUQwZ1lUQXhJQ29nWVRFeklDMGdZVEF6SUNvZ1lURXhPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TlNBOUlHRXdNaUFxSUdFeE15QXRJR0V3TXlBcUlHRXhNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURZZ1BTQmhNakFnS2lCaE16RWdMU0JoTWpFZ0tpQmhNekE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBM0lEMGdZVEl3SUNvZ1lUTXlJQzBnWVRJeUlDb2dZVE13TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd09DQTlJR0V5TUNBcUlHRXpNeUF0SUdFeU15QXFJR0V6TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1Ea2dQU0JoTWpFZ0tpQmhNeklnTFNCaE1qSWdLaUJoTXpFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRERXdJRDBnWVRJeElDb2dZVE16SUMwZ1lUSXpJQ29nWVRNeE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXhNU0E5SUdFeU1pQXFJR0V6TXlBdElHRXlNeUFxSUdFek1qdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdLR1JsZERBd0lDb2daR1YwTVRFZ0xTQmtaWFF3TVNBcUlHUmxkREV3SUNzZ1pHVjBNRElnS2lCa1pYUXdPU0FySUdSbGREQXpJQ29nWkdWME1EZ2dMU0JrWlhRd05DQXFJR1JsZERBM0lDc2daR1YwTURVZ0tpQmtaWFF3TmlrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1YzJWMFNXUmxiblJwZEhrZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNBeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMxWFNBOUlERTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPVjBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFd1hTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEZkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1sMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV6WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UUmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TlYwZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG5SeVlXNXpjRzl6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0RBeElEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSbGJYQXdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjBaVzF3TURNZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZEdWdGNERXlJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmxiWEF4TXlBOUlIUm9hWE11ZG1Gc2RXVnpXemRkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlcxd01qTWdQU0IwYUdsekxuWmhiSFZsYzFzeE1WMDdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0IwYUdsekxuWmhiSFZsYzFzMFhUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdkR2hwY3k1MllXeDFaWE5iTVRKZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElEMGdkR1Z0Y0RBeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3paZElEMGdkR2hwY3k1MllXeDFaWE5iT1YwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTjEwZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TTEwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iT0YwZ1BTQjBaVzF3TURJN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iT1YwZ1BTQjBaVzF3TVRJN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRGZElEMGdkR2hwY3k1MllXeDFaWE5iTVRSZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFeVhTQTlJSFJsYlhBd016dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE0xMGdQU0IwWlcxd01UTTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UUmRJRDBnZEdWdGNESXpPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG1sdWRtVnljMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNQ0E5SUhSb2FYTXVkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREVnUFNCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TXlBOUlIUm9hWE11ZG1Gc2RXVnpXek5kTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXMwWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3paZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UTWdQU0IwYUdsekxuWmhiSFZsYzFzM1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnZEdocGN5NTJZV3gxWlhOYk9GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6bGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxc3hNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TXlBOUlIUm9hWE11ZG1Gc2RXVnpXekV4WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNd0lEMGdkR2hwY3k1MllXeDFaWE5iTVRKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16RWdQU0IwYUdsekxuWmhiSFZsYzFzeE0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNaUE5SUhSb2FYTXVkbUZzZFdWeld6RTBYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE16SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVFZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd01DQTlJR0V3TUNBcUlHRXhNU0F0SUdFd01TQXFJR0V4TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1ERWdQU0JoTURBZ0tpQmhNVElnTFNCaE1ESWdLaUJoTVRBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQXlJRDBnWVRBd0lDb2dZVEV6SUMwZ1lUQXpJQ29nWVRFd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdNeUE5SUdFd01TQXFJR0V4TWlBdElHRXdNaUFxSUdFeE1UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRFFnUFNCaE1ERWdLaUJoTVRNZ0xTQmhNRE1nS2lCaE1URTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREExSUQwZ1lUQXlJQ29nWVRFeklDMGdZVEF6SUNvZ1lURXlPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TmlBOUlHRXlNQ0FxSUdFek1TQXRJR0V5TVNBcUlHRXpNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURjZ1BTQmhNakFnS2lCaE16SWdMU0JoTWpJZ0tpQmhNekE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBNElEMGdZVEl3SUNvZ1lUTXpJQzBnWVRJeklDb2dZVE13TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd09TQTlJR0V5TVNBcUlHRXpNaUF0SUdFeU1pQXFJR0V6TVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1UQWdQU0JoTWpFZ0tpQmhNek1nTFNCaE1qTWdLaUJoTXpFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRERXhJRDBnWVRJeUlDb2dZVE16SUMwZ1lUSXpJQ29nWVRNeU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUWdQU0FvWkdWME1EQWdLaUJrWlhReE1TQXRJR1JsZERBeElDb2daR1YwTVRBZ0t5QmtaWFF3TWlBcUlHUmxkREE1SUNzZ1pHVjBNRE1nS2lCa1pYUXdPQ0F0SUdSbGREQTBJQ29nWkdWME1EY2dLeUJrWlhRd05TQXFJR1JsZERBMktUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWMElEMGdNUzR3SUM4Z1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnS0dFeE1TQXFJR1JsZERFeElDMGdZVEV5SUNvZ1pHVjBNVEFnS3lCaE1UTWdLaUJrWlhRd09Ta2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQW9MV0V3TVNBcUlHUmxkREV4SUNzZ1lUQXlJQ29nWkdWME1UQWdMU0JoTURNZ0tpQmtaWFF3T1NrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNBb1lUTXhJQ29nWkdWME1EVWdMU0JoTXpJZ0tpQmtaWFF3TkNBcklHRXpNeUFxSUdSbGREQXpLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJQ2d0WVRJeElDb2daR1YwTURVZ0t5QmhNaklnS2lCa1pYUXdOQ0F0SUdFeU15QXFJR1JsZERBektTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMwWFNBOUlDZ3RZVEV3SUNvZ1pHVjBNVEVnS3lCaE1USWdLaUJrWlhRd09DQXRJR0V4TXlBcUlHUmxkREEzS1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczFYU0E5SUNoaE1EQWdLaUJrWlhReE1TQXRJR0V3TWlBcUlHUmxkREE0SUNzZ1lUQXpJQ29nWkdWME1EY3BJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3paZElEMGdLQzFoTXpBZ0tpQmtaWFF3TlNBcklHRXpNaUFxSUdSbGREQXlJQzBnWVRNeklDb2daR1YwTURFcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUQwZ0tHRXlNQ0FxSUdSbGREQTFJQzBnWVRJeUlDb2daR1YwTURJZ0t5QmhNak1nS2lCa1pYUXdNU2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9GMGdQU0FvWVRFd0lDb2daR1YwTVRBZ0xTQmhNVEVnS2lCa1pYUXdPQ0FySUdFeE15QXFJR1JsZERBMktTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM1WFNBOUlDZ3RZVEF3SUNvZ1pHVjBNVEFnS3lCaE1ERWdLaUJrWlhRd09DQXRJR0V3TXlBcUlHUmxkREEyS1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNRjBnUFNBb1lUTXdJQ29nWkdWME1EUWdMU0JoTXpFZ0tpQmtaWFF3TWlBcklHRXpNeUFxSUdSbGREQXdLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1WMGdQU0FvTFdFeU1DQXFJR1JsZERBMElDc2dZVEl4SUNvZ1pHVjBNRElnTFNCaE1qTWdLaUJrWlhRd01Da2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRKZElEMGdLQzFoTVRBZ0tpQmtaWFF3T1NBcklHRXhNU0FxSUdSbGREQTNJQzBnWVRFeUlDb2daR1YwTURZcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV6WFNBOUlDaGhNREFnS2lCa1pYUXdPU0F0SUdFd01TQXFJR1JsZERBM0lDc2dZVEF5SUNvZ1pHVjBNRFlwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RTBYU0E5SUNndFlUTXdJQ29nWkdWME1ETWdLeUJoTXpFZ0tpQmtaWFF3TVNBdElHRXpNaUFxSUdSbGREQXdLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5WMGdQU0FvWVRJd0lDb2daR1YwTURNZ0xTQmhNakVnS2lCa1pYUXdNU0FySUdFeU1pQXFJR1JsZERBd0tTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNXRkV3gwYVhCc2VTQTlJR1oxYm1OMGFXOXVJQ2h0WVhSeWFYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBeklEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1DQTlJSFJvYVhNdWRtRnNkV1Z6V3pSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1URWdQU0IwYUdsekxuWmhiSFZsYzFzMVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXlJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNeUE5SUhSb2FYTXVkbUZzZFdWeld6ZGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakFnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl4SUQwZ2RHaHBjeTUyWVd4MVpYTmJPVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekV3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeklEMGdkR2hwY3k1MllXeDFaWE5iTVRGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16QWdQU0IwYUdsekxuWmhiSFZsYzFzeE1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNU0E5SUhSb2FYTXVkbUZzZFdWeld6RXpYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE15SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVFJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTXpNZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd0lEMGdiV0YwY21sNExtRjBLREFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVNBOUlHMWhkSEpwZUM1aGRDZ3hLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZaklnUFNCdFlYUnlhWGd1WVhRb01pazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXpJRDBnYldGMGNtbDRMbUYwS0RNcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdZakFnS2lCaE1EQWdLeUJpTVNBcUlHRXhNQ0FySUdJeUlDb2dZVEl3SUNzZ1lqTWdLaUJoTXpBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQmlNQ0FxSUdFd01TQXJJR0l4SUNvZ1lURXhJQ3NnWWpJZ0tpQmhNakVnS3lCaU15QXFJR0V6TVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlHSXdJQ29nWVRBeUlDc2dZakVnS2lCaE1USWdLeUJpTWlBcUlHRXlNaUFySUdJeklDb2dZVE15TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ1lqQWdLaUJoTURNZ0t5QmlNU0FxSUdFeE15QXJJR0l5SUNvZ1lUSXpJQ3NnWWpNZ0tpQmhNek03WEhKY2JpQWdJQ0FnSUNBZ1lqQWdQU0J0WVhSeWFYZ3VZWFFvTkNrN1hISmNiaUFnSUNBZ0lDQWdZakVnUFNCdFlYUnlhWGd1WVhRb05TazdYSEpjYmlBZ0lDQWdJQ0FnWWpJZ1BTQnRZWFJ5YVhndVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ1lqTWdQU0J0WVhSeWFYZ3VZWFFvTnlrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTkYwZ1BTQmlNQ0FxSUdFd01DQXJJR0l4SUNvZ1lURXdJQ3NnWWpJZ0tpQmhNakFnS3lCaU15QXFJR0V6TUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMxWFNBOUlHSXdJQ29nWVRBeElDc2dZakVnS2lCaE1URWdLeUJpTWlBcUlHRXlNU0FySUdJeklDb2dZVE14TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelpkSUQwZ1lqQWdLaUJoTURJZ0t5QmlNU0FxSUdFeE1pQXJJR0l5SUNvZ1lUSXlJQ3NnWWpNZ0tpQmhNekk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNCaU1DQXFJR0V3TXlBcklHSXhJQ29nWVRFeklDc2dZaklnS2lCaE1qTWdLeUJpTXlBcUlHRXpNenRjY2x4dUlDQWdJQ0FnSUNCaU1DQTlJRzFoZEhKcGVDNWhkQ2c0S1R0Y2NseHVJQ0FnSUNBZ0lDQmlNU0E5SUcxaGRISnBlQzVoZENnNUtUdGNjbHh1SUNBZ0lDQWdJQ0JpTWlBOUlHMWhkSEpwZUM1aGRDZ3hNQ2s3WEhKY2JpQWdJQ0FnSUNBZ1lqTWdQU0J0WVhSeWFYZ3VZWFFvTVRFcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3poZElEMGdZakFnS2lCaE1EQWdLeUJpTVNBcUlHRXhNQ0FySUdJeUlDb2dZVEl3SUNzZ1lqTWdLaUJoTXpBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iT1YwZ1BTQmlNQ0FxSUdFd01TQXJJR0l4SUNvZ1lURXhJQ3NnWWpJZ0tpQmhNakVnS3lCaU15QXFJR0V6TVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TUYwZ1BTQmlNQ0FxSUdFd01pQXJJR0l4SUNvZ1lURXlJQ3NnWWpJZ0tpQmhNaklnS3lCaU15QXFJR0V6TWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TVYwZ1BTQmlNQ0FxSUdFd015QXJJR0l4SUNvZ1lURXpJQ3NnWWpJZ0tpQmhNak1nS3lCaU15QXFJR0V6TXp0Y2NseHVJQ0FnSUNBZ0lDQmlNQ0E5SUcxaGRISnBlQzVoZENneE1pazdYSEpjYmlBZ0lDQWdJQ0FnWWpFZ1BTQnRZWFJ5YVhndVlYUW9NVE1wTzF4eVhHNGdJQ0FnSUNBZ0lHSXlJRDBnYldGMGNtbDRMbUYwS0RFMEtUdGNjbHh1SUNBZ0lDQWdJQ0JpTXlBOUlHMWhkSEpwZUM1aGRDZ3hOU2s3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEpkSUQwZ1lqQWdLaUJoTURBZ0t5QmlNU0FxSUdFeE1DQXJJR0l5SUNvZ1lUSXdJQ3NnWWpNZ0tpQmhNekE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVE5kSUQwZ1lqQWdLaUJoTURFZ0t5QmlNU0FxSUdFeE1TQXJJR0l5SUNvZ1lUSXhJQ3NnWWpNZ0tpQmhNekU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVFJkSUQwZ1lqQWdLaUJoTURJZ0t5QmlNU0FxSUdFeE1pQXJJR0l5SUNvZ1lUSXlJQ3NnWWpNZ0tpQmhNekk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVFZkSUQwZ1lqQWdLaUJoTURNZ0t5QmlNU0FxSUdFeE15QXJJR0l5SUNvZ1lUSXpJQ3NnWWpNZ0tpQmhNek03WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdWJYVnNkR2x3YkhsV1pXTXpJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2RtVmpNMTh4TG1SbFptRjFiSFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQXFJSGdnS3lCMGFHbHpMblpoYkhWbGMxczBYU0FxSUhrZ0t5QjBhR2x6TG5aaGJIVmxjMXM0WFNBcUlIb2dLeUIwYUdsekxuWmhiSFZsYzFzeE1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pWZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6bGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV6WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iTVRCZElDb2dlaUFySUhSb2FYTXVkbUZzZFdWeld6RTBYU3hjY2x4dUlDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1dGRXeDBhWEJzZVZabFl6UWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0JrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0J1WlhjZ2RtVmpORjh4TG1SbFptRjFiSFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjJaV04wYjNJdWR6dGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0IwYUdsekxuWmhiSFZsYzFzd1hTQXFJSGdnS3lCMGFHbHpMblpoYkhWbGMxczBYU0FxSUhrZ0t5QjBhR2x6TG5aaGJIVmxjMXM0WFNBcUlIb2dLeUIwYUdsekxuWmhiSFZsYzFzeE1sMGdLaUIzTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pWZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6bGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV6WFNBcUlIYzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iTVRCZElDb2dlaUFySUhSb2FYTXVkbUZzZFdWeld6RTBYU0FxSUhjN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwZ0tpQjRJQ3NnZEdocGN5NTJZV3gxWlhOYk4xMGdLaUI1SUNzZ2RHaHBjeTUyWVd4MVpYTmJNVEZkSUNvZ2VpQXJJSFJvYVhNdWRtRnNkV1Z6V3pFMVhTQXFJSGM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdWRHOU5ZWFF6SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2JXRjBNMTh4TG1SbFptRjFiSFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTlYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6WmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM0WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV3WFN4Y2NseHVJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNTBiMGx1ZG1WeWMyVk5ZWFF6SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXMwWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3paZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qQWdQU0IwYUdsekxuWmhiSFZsYzFzNFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk9WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNaUE5SUhSb2FYTXVkbUZzZFdWeld6RXdYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNaklnS2lCaE1URWdMU0JoTVRJZ0tpQmhNakU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdMV0V5TWlBcUlHRXhNQ0FySUdFeE1pQXFJR0V5TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1qRWdQU0JoTWpFZ0tpQmhNVEFnTFNCaE1URWdLaUJoTWpBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRDQTlJR0V3TUNBcUlHUmxkREF4SUNzZ1lUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF5TVR0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1YwSUQwZ01TNHdJQzhnWkdWME8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnYldGME0xOHhMbVJsWm1GMWJIUW9XMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWFF3TVNBcUlHUmxkQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdLQzFoTWpJZ0tpQmhNREVnS3lCaE1ESWdLaUJoTWpFcElDb2daR1YwTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FvWVRFeUlDb2dZVEF4SUMwZ1lUQXlJQ29nWVRFeEtTQXFJR1JsZEN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWME1URWdLaUJrWlhRc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNoaE1qSWdLaUJoTURBZ0xTQmhNRElnS2lCaE1qQXBJQ29nWkdWMExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb0xXRXhNaUFxSUdFd01DQXJJR0V3TWlBcUlHRXhNQ2tnS2lCa1pYUXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxkREl4SUNvZ1pHVjBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQW9MV0V5TVNBcUlHRXdNQ0FySUdFd01TQXFJR0V5TUNrZ0tpQmtaWFFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2hoTVRFZ0tpQmhNREFnTFNCaE1ERWdLaUJoTVRBcElDb2daR1YwTEZ4eVhHNGdJQ0FnSUNBZ0lGMHBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERRdWNISnZkRzkwZVhCbExuUnlZVzV6YkdGMFpTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1sMGdLejBnZEdocGN5NTJZV3gxWlhOYk1GMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJORjBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iT0YwZ0tpQjZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXpYU0FyUFNCMGFHbHpMblpoYkhWbGMxc3hYU0FxSUhnZ0t5QjBhR2x6TG5aaGJIVmxjMXMxWFNBcUlIa2dLeUIwYUdsekxuWmhiSFZsYzFzNVhTQXFJSG83WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVFJkSUNzOUlIUm9hWE11ZG1Gc2RXVnpXekpkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3paZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6RXdYU0FxSUhvN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRWZElDczlJSFJvYVhNdWRtRnNkV1Z6V3pOZElDb2dlQ0FySUhSb2FYTXVkbUZzZFdWeld6ZGRJQ29nZVNBcklIUm9hWE11ZG1Gc2RXVnpXekV4WFNBcUlIbzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1YzJOaGJHVWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNklEMGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdLajBnZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBcVBTQjRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJQ285SUhnN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ0tqMGdlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU0FxUFNCNU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZElDbzlJSGs3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2owZ2VUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQXFQU0I1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUNvOUlIbzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9WMGdLajBnZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TUYwZ0tqMGdlanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNVjBnS2owZ2VqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzV5YjNSaGRHVWdQU0JtZFc1amRHbHZiaUFvWVc1bmJHVXNJR0Y0YVhNcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJR0Y0YVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJR0Y0YVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJR0Y0YVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ1RXRjBhQzV6Y1hKMEtIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnSVQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdiR1Z1WjNSb0lEMGdNU0F2SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I2SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITWdQU0JOWVhSb0xuTnBiaWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0JOWVhSb0xtTnZjeWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUWdQU0F4TGpBZ0xTQmpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURNZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTkYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pWZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMlhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXpJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNQ0E5SUhSb2FYTXVkbUZzZFdWeld6aGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCMGFHbHpMblpoYkhWbGMxczVYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVEJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpNZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01DQTlJSGdnS2lCNElDb2dkQ0FySUdNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJSGtnS2lCNElDb2dkQ0FySUhvZ0tpQnpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRElnUFNCNklDb2dlQ0FxSUhRZ0xTQjVJQ29nY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFd0lEMGdlQ0FxSUhrZ0tpQjBJQzBnZWlBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUhrZ0tpQjVJQ29nZENBcklHTTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNaUE5SUhvZ0tpQjVJQ29nZENBcklIZ2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTWpBZ1BTQjRJQ29nZWlBcUlIUWdLeUI1SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXhJRDBnZVNBcUlIb2dLaUIwSUMwZ2VDQXFJSE03WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TWlBOUlIb2dLaUI2SUNvZ2RDQXJJR003WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCaE1EQWdLaUJpTURBZ0t5QmhNVEFnS2lCaU1ERWdLeUJoTWpBZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCaE1ERWdLaUJpTURBZ0t5QmhNVEVnS2lCaU1ERWdLeUJoTWpFZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNCaE1ESWdLaUJpTURBZ0t5QmhNVElnS2lCaU1ERWdLeUJoTWpJZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCaE1ETWdLaUJpTURBZ0t5QmhNVE1nS2lCaU1ERWdLeUJoTWpNZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJORjBnUFNCaE1EQWdLaUJpTVRBZ0t5QmhNVEFnS2lCaU1URWdLeUJoTWpBZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBnUFNCaE1ERWdLaUJpTVRBZ0t5QmhNVEVnS2lCaU1URWdLeUJoTWpFZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCaE1ESWdLaUJpTVRBZ0t5QmhNVElnS2lCaU1URWdLeUJoTWpJZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNCaE1ETWdLaUJpTVRBZ0t5QmhNVE1nS2lCaU1URWdLeUJoTWpNZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPRjBnUFNCaE1EQWdLaUJpTWpBZ0t5QmhNVEFnS2lCaU1qRWdLeUJoTWpBZ0tpQmlNakk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPVjBnUFNCaE1ERWdLaUJpTWpBZ0t5QmhNVEVnS2lCaU1qRWdLeUJoTWpFZ0tpQmlNakk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEJkSUQwZ1lUQXlJQ29nWWpJd0lDc2dZVEV5SUNvZ1lqSXhJQ3NnWVRJeUlDb2dZakl5TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV4WFNBOUlHRXdNeUFxSUdJeU1DQXJJR0V4TXlBcUlHSXlNU0FySUdFeU15QXFJR0l5TWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExtWnlkWE4wZFcwZ1BTQm1kVzVqZEdsdmJpQW9iR1ZtZEN3Z2NtbG5hSFFzSUdKdmRIUnZiU3dnZEc5d0xDQnVaV0Z5TENCbVlYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjbXdnUFNBb2NtbG5hSFFnTFNCc1pXWjBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR0lnUFNBb2RHOXdJQzBnWW05MGRHOXRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdabTRnUFNBb1ptRnlJQzBnYm1WaGNpazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCdFlYUTBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdLRzVsWVhJZ0tpQXlLU0F2SUhKc0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb2JtVmhjaUFxSURJcElDOGdkR0lzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2h5YVdkb2RDQXJJR3hsWm5RcElDOGdjbXdzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2gwYjNBZ0t5QmliM1IwYjIwcElDOGdkR0lzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzBvWm1GeUlDc2dibVZoY2lrZ0x5Qm1iaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMVEVzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzBvWm1GeUlDb2dibVZoY2lBcUlESXBJQzhnWm00c1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdaWEp6Y0dWamRHbDJaU0E5SUdaMWJtTjBhVzl1SUNobWIzWXNJR0Z6Y0dWamRDd2dibVZoY2l3Z1ptRnlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFJ2Y0NBOUlHNWxZWElnS2lCTllYUm9MblJoYmlobWIzWWdLaUJOWVhSb0xsQkpJQzhnTXpZd0xqQXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlhV2RvZENBOUlIUnZjQ0FxSUdGemNHVmpkRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYldGME5DNW1jblZ6ZEhWdEtDMXlhV2RvZEN3Z2NtbG5hSFFzSUMxMGIzQXNJSFJ2Y0N3Z2JtVmhjaXdnWm1GeUtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG05eWRHaHZaM0poY0docFl5QTlJR1oxYm1OMGFXOXVJQ2hzWldaMExDQnlhV2RvZEN3Z1ltOTBkRzl0TENCMGIzQXNJRzVsWVhJc0lHWmhjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5YkNBOUlDaHlhV2RvZENBdElHeGxablFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWWlBOUlDaDBiM0FnTFNCaWIzUjBiMjBwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJtYmlBOUlDaG1ZWElnTFNCdVpXRnlLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lHMWhkRFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F5SUM4Z2Ntd3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lESWdMeUIwWWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTFRJZ0x5Qm1iaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMU2hzWldaMElDc2djbWxuYUhRcElDOGdjbXdzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzBvZEc5d0lDc2dZbTkwZEc5dEtTQXZJSFJpTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F0S0daaGNpQXJJRzVsWVhJcElDOGdabTRzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREVzWEhKY2JpQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1c2IyOXJRWFFnUFNCbWRXNWpkR2x2YmlBb2NHOXphWFJwYjI0c0lIUmhjbWRsZEN3Z2RYQXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kWEFnUFQwOUlIWnZhV1FnTUNrZ2V5QjFjQ0E5SUhabFl6TmZNUzVrWldaaGRXeDBMblZ3T3lCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0hCdmMybDBhVzl1TG1WeGRXRnNjeWgwWVhKblpYUXBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sa1pXNTBhWFI1TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFpsWXpOZk1TNWtaV1poZFd4MExtUnBabVpsY21WdVkyVW9jRzl6YVhScGIyNHNJSFJoY21kbGRDa3VibTl5YldGc2FYcGxLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTXpYekV1WkdWbVlYVnNkQzVqY205emN5aDFjQ3dnZWlrdWJtOXliV0ZzYVhwbEtDazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldNelh6RXVaR1ZtWVhWc2RDNWpjbTl6Y3loNkxDQjRLUzV1YjNKdFlXeHBlbVVvS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRzFoZERRb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNExuZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIa3VlQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlaTU0TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0TG5rc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhrdWVTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2VpNTVMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRMbm9zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGt1ZWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZWk1NkxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdGRtVmpNMTh4TG1SbFptRjFiSFF1Wkc5MEtIZ3NJSEJ2YzJsMGFXOXVLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMWFpsWXpOZk1TNWtaV1poZFd4MExtUnZkQ2g1TENCd2IzTnBkR2x2Ymlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUMxMlpXTXpYekV1WkdWbVlYVnNkQzVrYjNRb2Vpd2djRzl6YVhScGIyNHBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhMRnh5WEc0Z0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNodE1Td2diVElzSUhKbGMzVnNkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURBZ1BTQnRNUzVoZENnd0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXhJRDBnYlRFdVlYUW9NU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlHMHhMbUYwS0RJcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ETWdQU0J0TVM1aGRDZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV3SUQwZ2JURXVZWFFvTkNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJRzB4TG1GMEtEVXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVElnUFNCdE1TNWhkQ2cyS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeklEMGdiVEV1WVhRb055azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNQ0E5SUcweExtRjBLRGdwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpFZ1BTQnRNUzVoZENnNUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXlJRDBnYlRFdVlYUW9NVEFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpNZ1BTQnRNUzVoZENneE1TazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNQ0E5SUcweExtRjBLREV5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNeElEMGdiVEV1WVhRb01UTXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNeklnUFNCdE1TNWhkQ2d4TkNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek15QTlJRzB4TG1GMEtERTFLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2JUSXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJRzB5TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRElnUFNCdE1pNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBeklEMGdiVEl1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNQ0E5SUcweUxtRjBLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRFZ1BTQnRNaTVoZENnMUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXlJRDBnYlRJdVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l4TXlBOUlHMHlMbUYwS0RjcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qQWdQU0J0TWk1aGRDZzRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl4SUQwZ2JUSXVZWFFvT1NrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJeU1pQTlJRzB5TG1GMEtERXdLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl6SUQwZ2JUSXVZWFFvTVRFcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU16QWdQU0J0TWk1aGRDZ3hNaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l6TVNBOUlHMHlMbUYwS0RFektUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqTXlJRDBnYlRJdVlYUW9NVFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTXpNZ1BTQnRNaTVoZENneE5TazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1YVc1cGRDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTURBZ0tpQmhNREFnS3lCaU1ERWdLaUJoTVRBZ0t5QmlNRElnS2lCaE1qQWdLeUJpTURNZ0tpQmhNekFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1EQWdLaUJoTURFZ0t5QmlNREVnS2lCaE1URWdLeUJpTURJZ0tpQmhNakVnS3lCaU1ETWdLaUJoTXpFc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNREFnS2lCaE1ESWdLeUJpTURFZ0tpQmhNVElnS3lCaU1ESWdLaUJoTWpJZ0t5QmlNRE1nS2lCaE16SXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTURBZ0tpQmhNRE1nS3lCaU1ERWdLaUJoTVRNZ0t5QmlNRElnS2lCaE1qTWdLeUJpTURNZ0tpQmhNek1zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1UQWdLaUJoTURBZ0t5QmlNVEVnS2lCaE1UQWdLeUJpTVRJZ0tpQmhNakFnS3lCaU1UTWdLaUJoTXpBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNVEFnS2lCaE1ERWdLeUJpTVRFZ0tpQmhNVEVnS3lCaU1USWdLaUJoTWpFZ0t5QmlNVE1nS2lCaE16RXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTVRBZ0tpQmhNRElnS3lCaU1URWdLaUJoTVRJZ0t5QmlNVElnS2lCaE1qSWdLeUJpTVRNZ0tpQmhNeklzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1UQWdLaUJoTURNZ0t5QmlNVEVnS2lCaE1UTWdLeUJpTVRJZ0tpQmhNak1nS3lCaU1UTWdLaUJoTXpNc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNakFnS2lCaE1EQWdLeUJpTWpFZ0tpQmhNVEFnS3lCaU1qSWdLaUJoTWpBZ0t5QmlNak1nS2lCaE16QXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTWpBZ0tpQmhNREVnS3lCaU1qRWdLaUJoTVRFZ0t5QmlNaklnS2lCaE1qRWdLeUJpTWpNZ0tpQmhNekVzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1qQWdLaUJoTURJZ0t5QmlNakVnS2lCaE1USWdLeUJpTWpJZ0tpQmhNaklnS3lCaU1qTWdLaUJoTXpJc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNakFnS2lCaE1ETWdLeUJpTWpFZ0tpQmhNVE1nS3lCaU1qSWdLaUJoTWpNZ0t5QmlNak1nS2lCaE16TXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTXpBZ0tpQmhNREFnS3lCaU16RWdLaUJoTVRBZ0t5QmlNeklnS2lCaE1qQWdLeUJpTXpNZ0tpQmhNekFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU16QWdLaUJoTURFZ0t5QmlNekVnS2lCaE1URWdLeUJpTXpJZ0tpQmhNakVnS3lCaU16TWdLaUJoTXpFc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNekFnS2lCaE1ESWdLeUJpTXpFZ0tpQmhNVElnS3lCaU16SWdLaUJoTWpJZ0t5QmlNek1nS2lCaE16SXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTXpBZ0tpQmhNRE1nS3lCaU16RWdLaUJoTVRNZ0t5QmlNeklnS2lCaE1qTWdLeUJpTXpNZ0tpQmhNek1zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhRMEtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l3TUNBcUlHRXdNQ0FySUdJd01TQXFJR0V4TUNBcklHSXdNaUFxSUdFeU1DQXJJR0l3TXlBcUlHRXpNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TVNBcklHSXdNU0FxSUdFeE1TQXJJR0l3TWlBcUlHRXlNU0FySUdJd015QXFJR0V6TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01pQXJJR0l3TVNBcUlHRXhNaUFySUdJd01pQXFJR0V5TWlBcklHSXdNeUFxSUdFek1peGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l3TUNBcUlHRXdNeUFySUdJd01TQXFJR0V4TXlBcklHSXdNaUFxSUdFeU15QXJJR0l3TXlBcUlHRXpNeXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TUNBcklHSXhNU0FxSUdFeE1DQXJJR0l4TWlBcUlHRXlNQ0FySUdJeE15QXFJR0V6TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01TQXJJR0l4TVNBcUlHRXhNU0FySUdJeE1pQXFJR0V5TVNBcklHSXhNeUFxSUdFek1TeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l4TUNBcUlHRXdNaUFySUdJeE1TQXFJR0V4TWlBcklHSXhNaUFxSUdFeU1pQXJJR0l4TXlBcUlHRXpNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TXlBcklHSXhNU0FxSUdFeE15QXJJR0l4TWlBcUlHRXlNeUFySUdJeE15QXFJR0V6TXl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01DQXJJR0l5TVNBcUlHRXhNQ0FySUdJeU1pQXFJR0V5TUNBcklHSXlNeUFxSUdFek1DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l5TUNBcUlHRXdNU0FySUdJeU1TQXFJR0V4TVNBcklHSXlNaUFxSUdFeU1TQXJJR0l5TXlBcUlHRXpNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TWlBcklHSXlNU0FxSUdFeE1pQXJJR0l5TWlBcUlHRXlNaUFySUdJeU15QXFJR0V6TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd015QXJJR0l5TVNBcUlHRXhNeUFySUdJeU1pQXFJR0V5TXlBcklHSXlNeUFxSUdFek15eGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l6TUNBcUlHRXdNQ0FySUdJek1TQXFJR0V4TUNBcklHSXpNaUFxSUdFeU1DQXJJR0l6TXlBcUlHRXpNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJek1DQXFJR0V3TVNBcklHSXpNU0FxSUdFeE1TQXJJR0l6TWlBcUlHRXlNU0FySUdJek15QXFJR0V6TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXpNQ0FxSUdFd01pQXJJR0l6TVNBcUlHRXhNaUFySUdJek1pQXFJR0V5TWlBcklHSXpNeUFxSUdFek1peGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l6TUNBcUlHRXdNeUFySUdJek1TQXFJR0V4TXlBcklHSXpNaUFxSUdFeU15QXJJR0l6TXlBcUlHRXpNeXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1YVdSbGJuUnBkSGtnUFNCdVpYY2diV0YwTkNncExuTmxkRWxrWlc1MGFYUjVLQ2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdiV0YwTkR0Y2NseHVmU2dwS1R0Y2NseHVaWGh3YjNKMGN5NWtaV1poZFd4MElEMGdiV0YwTkR0Y2NseHVMeThqSUhOdmRYSmpaVTFoY0hCcGJtZFZVa3c5YldGME5DNXFjeTV0WVhBaUxDSnBiWEJ2Y25RZ2V5QkJRVUpDTENCQllYSmtkbUZ5YTAxaGJtbG1aWE4wTENCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUVGMlUyaGhjbVZrVkdWNGRIVnlaVWx1Wm04c0lFVklZVzVrTENCRmJtUndiMmx1ZEVGa1pISXNJRkJsY20xcGMzTnBiMjRzSUVGMlZtVmpkRzl5TENCQmRsRjFZWFJsY201cGIyNGdmU0JtY205dElDY3VMMkZoY21SMllYSnJYM0J5YjNSdlkyOXNKenRjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpVY21GMlpYSnpZV3hTWlc1a1pYSmxjbHh5WEc1N1hISmNibHgwS0NrNklIWnZhV1E3WEhKY2JuMWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCZGtoaGNIUnBZMUJ5YjJObGMzTnZjbHh5WEc1N1hISmNibHgwS0NCbmJHOWlZV3hPYjJSbFNXUTZJSE4wY21sdVp5d2dZVzF3YkdsMGRXUmxPaUJ1ZFcxaVpYSXNJR1p5WlhGMVpXNWpaVG9nYm5WdFltVnlMQ0JrZFhKaGRHbHZiam9nYm5WdFltVnlJQ2s2SUhadmFXUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaTmIyUmxiRWx1YzNSaGJtTmxYSEpjYm50Y2NseHVYSFJ6WlhSVmJtbDJaWEp6WlVaeWIyMU5iMlJsYkZSeVlXNXpabTl5YlNnZ2RXNXBkbVZ5YzJWR2NtOXRUVzlrWld3NklHNTFiV0psY2x0ZElDazZJSFp2YVdRN1hISmNibHgwYzJWMFQzWmxjbkpwWkdWVVpYaDBkWEpsS0NCMFpYaDBkWEpsU1c1bWJ6b2dRWFpUYUdGeVpXUlVaWGgwZFhKbFNXNW1ieUFwT2lCMmIybGtPMXh5WEc1Y2RITmxkRUpoYzJWRGIyeHZjaWdnWTI5c2IzSTZJRnNnYm5WdFltVnlMQ0J1ZFcxaVpYSXNJRzUxYldKbGNpd2diblZ0WW1WeUlGMGdLVG9nZG05cFpEdGNjbHh1WEhSelpYUlBkbVZ5YkdGNVQyNXNlU2dnYjNabGNteGhlVTl1YkhrNklHSnZiMnhsWVc0Z0tUb2dkbTlwWkR0Y2NseHVYSFJ6WlhSQmJtbHRZWFJwYjI1VGIzVnlZMlVvSUdGdWFXMWhkR2x2YmxOdmRYSmpaVG9nYzNSeWFXNW5JQ2s2SUhadmFXUTdYSEpjYmx4MGMyVjBRVzVwYldGMGFXOXVLRzF2WkdWc1ZYSnBPaUJ6ZEhKcGJtY3NJRzF2WkdWc1JHRjBZVUpoYzJVMk5Eb2djM1J5YVc1bklDazZJSFp2YVdRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpCWTNScGIyNVRkR0YwWlZ4eVhHNTdYSEpjYmx4MEx5OGdkR2hsYzJVZ1lXTjBhVzl1Y3lCaGNtVWdZWFpoYVd4aFlteGxJSFJ2SUdobGJHUWdaMkZrWjJWMGMxeHlYRzVjZEdFNklHSnZiMnhsWVc0N1hISmNibHgwWWpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJ6Y1hWbFpYcGxPaUJpYjI5c1pXRnVPMXh5WEc1Y2NseHVYSFF2THlCMGFHVnpaU0JoWTNScGIyNXpJR0Z5WlNCdWIzUWdZWFpoYVd4aFlteGxJSFJ2SUdkaFpHZGxkSE5jY2x4dVhIUm5jbUZpUHpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJuY21GaVUyaHZkMUpoZVQ4NklHSnZiMnhsWVc0N1hISmNibHgwWjNKaFlrMXZkbVUvT2lCYklHNTFiV0psY2l3Z2JuVnRZbVZ5SUYwN1hISmNibHgwWkdWMFlXTm9Qem9nWW05dmJHVmhianRjY2x4dWZWeHlYRzVjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTbTlwYm5SVWNtRnVjMlp2Y20xY2NseHVlMXh5WEc1Y2RIUnlZVzV6YkdGMGFXOXVPaUJCZGxabFkzUnZjanRjY2x4dVhIUnliM1JoZEdsdmJqb2dRWFpSZFdGMFpYSnVhVzl1TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFcHZhVzUwU1c1bWIxeHlYRzU3WEhKY2JseDBjbUZrYVhWek9pQnVkVzFpWlhJN1hISmNibHgwY0dGeVpXNTBTVzVrWlhnL09pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpTWlc1a1pYSmxjbHh5WEc1N1hISmNibHgwYzJWMFVtVnVaR1Z5WlhKRGIyNW1hV2NvSUhKbGJtUmxjbVZ5UTI5dVptbG5PaUJ6ZEhKcGJtY2dLVG9nZG05cFpEdGNjbHh1WEhSeVpXZHBjM1JsY2xSeVlYWmxjbk5sY2lnZ2RISmhkbVZ5YzJWeU9pQkJkbFJ5WVhabGNuTmhiRkpsYm1SbGNtVnlJQ2s2SUhadmFXUTdYSEpjYmx4MGNtVnVaR1Z5VEdsemRDZ2djbVZ1WkdWeVRHbHpkRG9nUVhaTmIyUmxiRWx1YzNSaGJtTmxXMTBnS1RvZ2RtOXBaQ3hjY2x4dVhIUmpjbVZoZEdWTmIyUmxiRWx1YzNSaGJtTmxLQ0J0YjJSbGJGVnlhVG9nYzNSeWFXNW5MQ0J0YjJSbGJFUmhkR0ZDWVhObE5qUTZJSE4wY21sdVp5QXBPaUJCZGsxdlpHVnNTVzV6ZEdGdVkyVTdYSEpjYmx4MFoyVjBWVzVwZG1WeWMyVkdjbTl0VDNKcFoybHVWSEpoYm5ObWIzSnRLQ0J2Y21sbmFXNDZJSE4wY21sdVp5QXBPaUJ1ZFcxaVpYSmJYVHRjY2x4dVhISmNibHgwY21WbmFYTjBaWEpJWVhCMGFXTlFjbTlqWlhOemIzSW9JR2hoY0hScFkxQnliMk5sYzNOdmNqb2dRWFpJWVhCMGFXTlFjbTlqWlhOemIzSWdLU0E2SUhadmFXUTdYSEpjYmx4MGMyVnVaRWhoY0hScFkwVjJaVzUwUm05eVNHRnVaQ2dnYUdGdVpEb2dSVWhoYm1Rc0lHRnRjR3hwZEhWa1pUb2diblZ0WW1WeUxDQm1jbVZ4ZFdWdVkzazZJRzUxYldKbGNpd2daSFZ5WVhScGIyNDZJRzUxYldKbGNpQXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUm5aWFJCWTNScGIyNVRkR0YwWlNnZ2FHRnVaRG9nUlVoaGJtUWdLVG9nUVhaQlkzUnBiMjVUZEdGMFpUdGNjbHh1WEhKY2JseDBaMlYwVTJ0bGJHVjBiMjVVY21GdWMyWnZjbTF6S0NCemEyVnNaWFJ2YmxCaGRHZzZJSE4wY21sdVp5QXBPa3B2YVc1MFZISmhibk5tYjNKdFcxMGdmQ0J1ZFd4c08xeHlYRzVjZEdkbGRGTnJaV3hsZEc5dVNXNW1ieWdnYzJ0bGJHVjBiMjVRWVhSb09pQnpkSEpwYm1jZ0tUcEtiMmx1ZEVsdVptOWJYU0I4SUc1MWJHdzdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaVGRHRnlkRWRoWkdkbGRGSmxjM1ZzZEZ4eVhHNTdYSEpjYmx4MGMzVmpZMlZ6Y3pvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJ6ZEdGeWRHVmtSMkZrWjJWMFJXNWtjRzlwYm5SSlpEb2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVFdGdWFXWmxjM1JEWVd4c1ltRmphMXh5WEc1N1hISmNibHgwS0cxaGJtbG1aWE4wT2lCQllYSmtkbUZ5YTAxaGJtbG1aWE4wS1NBNklIWnZhV1E3WEhKY2JuMWNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyUW5KdmQzTmxjbFJsZUhSMWNtVkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBLQ0IwWlhoMGRYSmxTVzVtYnpvZ1FYWlRhR0Z5WldSVVpYaDBkWEpsU1c1bWJ5QXBPaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWRoWkdkbGRGQmhjbUZ0YzF4eVhHNTdYSEpjYmx4MGRYSnBPaUJ6ZEhKcGJtYzdYSEpjYmx4MGFXNXBkR2xoYkVsdWRHVnlabUZqWlhNNklITjBjbWx1Wnp0Y2NseHVYSFJsY0ZSdlRtOTBhV1o1UHpvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlFZVzVsYkUxdmRYTmxSWFpsYm5SVWVYQmxYSEpjYm50Y2NseHVYSFJWYm10dWIzZHVJRDBnTUN4Y2NseHVYSFJFYjNkdUlEMGdNU3hjY2x4dVhIUlZjQ0E5SURJc1hISmNibHgwUlc1MFpYSWdQU0F6TEZ4eVhHNWNkRXhsWVhabElEMGdOQ3hjY2x4dVhIUk5iM1psSUQwZ05TeGNjbHh1ZlR0Y2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGZHBibVJ2ZDBsdVptOWNjbHh1ZTF4eVhHNWNkRzVoYldVNklITjBjbWx1Wnp0Y2NseHVYSFJvWVc1a2JHVTZJSE4wY21sdVp6dGNjbHh1WEhSMFpYaDBkWEpsT2lCQmRsTm9ZWEpsWkZSbGVIUjFjbVZKYm1adk8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1Z1ZFcwZ1NXNTBaWEpoWTNScGIyNVFjbTltYVd4bFhISmNibnRjY2x4dVhIUldhWFpsUTI5dWRISnZiR3hsY2lBOUlGd2lMMmx1ZEdWeVlXTjBhVzl1WDNCeWIyWnBiR1Z6TDJoMFl5OTJhWFpsWDJOdmJuUnliMnhzWlhKY0lpeGNjbHh1WEhSRGIzTnRiM05EYjI1MGNtOXNiR1Z5SUQwZ1hDSXZhVzUwWlhKaFkzUnBiMjVmY0hKdlptbHNaWE12YUhSakwyTnZjMjF2YzE5amIyNTBjbTlzYkdWeVhDSXNYSEpjYmx4MFVtVjJaWEppUnpKRGIyNTBjbTlzYkdWeUlEMGdYQ0l2YVc1MFpYSmhZM1JwYjI1ZmNISnZabWxzWlhNdmJXbGpjbTl6YjJaMEwyaHdiVzkwYVc5dVkyOXVkSEp2Ykd4bGNsd2lMRnh5WEc1Y2RFMXBlR1ZrVW1WaGJHbDBlVU52Ym5SeWIyeHNaWElnUFNCY0lpOXBiblJsY21GamRHbHZibDl3Y205bWFXeGxjeTl0YVdOeWIzTnZablF2Ylc5MGFXOXVYMk52Ym5SeWIyeHNaWEpjSWl4Y2NseHVYSFJVYjNWamFFTnZiblJ5YjJ4c1pYSWdQU0JjSWk5cGJuUmxjbUZqZEdsdmJsOXdjbTltYVd4bGN5OXZZM1ZzZFhNdmRHOTFZMmhjSWl4Y2NseHVYSFJKYm1SbGVFTnZiblJ5YjJ4c1pYSWdQU0JjSWk5cGJuUmxjbUZqZEdsdmJsOXdjbTltYVd4bGN5OTJZV3gyWlM5cGJtUmxlRjlqYjI1MGNtOXNiR1Z5WENJc1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQmxiblZ0SUVsdWNIVjBYSEpjYm50Y2NseHVYSFJVY21sbloyVnlJRDBnWENJdmFXNXdkWFF2ZEhKcFoyZGxjbHdpTEZ4eVhHNWNkRlJ5YVdkblpYSlViM1ZqYUNBOUlGd2lMMmx1Y0hWMEwzUnlhV2RuWlhJdmRHOTFZMmhjSWl4Y2NseHVYSFJVY21sbloyVnlRMnhwWTJzZ1BTQmNJaTlwYm5CMWRDOTBjbWxuWjJWeUwyTnNhV05yWENJc1hISmNibHgwVkhKcFoyZGxjbFpoYkhWbElEMGdYQ0l2YVc1d2RYUXZkSEpwWjJkbGNpOTJZV3gxWlZ3aUxGeHlYRzVjY2x4dVhIUlRjWFZsWlhwbElEMGdYQ0l2YVc1d2RYUXZjM0YxWldWNlpWd2lMRnh5WEc1Y2RGTnhkV1ZsZW1WVWIzVmphQ0E5SUZ3aUwybHVjSFYwTDNOeGRXVmxlbVV2ZEc5MVkyaGNJaXhjY2x4dVhIUlRjWFZsWlhwbFEyeHBZMnNnUFNCY0lpOXBibkIxZEM5emNYVmxaWHBsTDJOc2FXTnJYQ0lzWEhKY2JseDBVM0YxWldWNlpWWmhiSFZsSUQwZ1hDSXZhVzV3ZFhRdmMzRjFaV1Y2WlM5MllXeDFaVndpTEZ4eVhHNWNkRk54ZFdWbGVtVkdiM0pqWlNBOUlGd2lMMmx1Y0hWMEwzTnhkV1ZsZW1VdlptOXlZMlZjSWl4Y2NseHVYSEpjYmx4MFFTQTlJRndpTDJsdWNIVjBMMkZjSWl4Y2NseHVYSFJCVkc5MVkyZ2dQU0JjSWk5cGJuQjFkQzloTDNSdmRXTm9YQ0lzWEhKY2JseDBRVU5zYVdOcklEMGdYQ0l2YVc1d2RYUXZZUzlqYkdsamExd2lMRnh5WEc1Y2NseHVYSFJDSUQwZ1hDSXZhVzV3ZFhRdllsd2lMRnh5WEc1Y2RFSlViM1ZqYUNBOUlGd2lMMmx1Y0hWMEwySXZkRzkxWTJoY0lpeGNjbHh1WEhSQ1EyeHBZMnNnUFNCY0lpOXBibkIxZEM5aUwyTnNhV05yWENJc1hISmNibHh5WEc1Y2RGZ2dQU0JjSWk5cGJuQjFkQzk0WENJc1hISmNibHgwV0ZSdmRXTm9JRDBnWENJdmFXNXdkWFF2ZUM5MGIzVmphRndpTEZ4eVhHNWNkRmhEYkdsamF5QTlJRndpTDJsdWNIVjBMM2d2WTJ4cFkydGNJaXhjY2x4dVhISmNibHgwV1NBOUlGd2lMMmx1Y0hWMEwzbGNJaXhjY2x4dVhIUlpWRzkxWTJnZ1BTQmNJaTlwYm5CMWRDOTVMM1J2ZFdOb1hDSXNYSEpjYmx4MFdVTnNhV05ySUQwZ1hDSXZhVzV3ZFhRdmVTOWpiR2xqYTF3aUxGeHlYRzVjY2x4dVhIUk5aVzUxSUQwZ1hDSXZhVzV3ZFhRdmJXVnVkVndpTEZ4eVhHNWNkRTFsYm5WVWIzVmphQ0E5SUZ3aUwybHVjSFYwTDIxbGJuVXZkRzkxWTJoY0lpeGNjbHh1WEhSTlpXNTFRMnhwWTJzZ1BTQmNJaTlwYm5CMWRDOXRaVzUxTDJOc2FXTnJYQ0lzWEhKY2JseHlYRzVjZEZSeVlXTnJjR0ZrSUQwZ1hDSXZhVzV3ZFhRdmRISmhZMnR3WVdSY0lpeGNjbHh1WEhSVWNtRmphM0JoWkZSdmRXTm9JRDBnWENJdmFXNXdkWFF2ZEhKaFkydHdZV1F2ZEc5MVkyaGNJaXhjY2x4dVhIUlVjbUZqYTNCaFpFTnNhV05ySUQwZ1hDSXZhVzV3ZFhRdmRISmhZMnR3WVdRdlkyeHBZMnRjSWl4Y2NseHVYSFJVY21GamEzQmhaRVp2Y21ObElEMGdYQ0l2YVc1d2RYUXZkSEpoWTJ0d1lXUXZabTl5WTJWY0lpeGNjbHh1WEhSVWNtRmphM0JoWkZnZ1BTQmNJaTlwYm5CMWRDOTBjbUZqYTNCaFpDOTRYQ0lzWEhKY2JseDBWSEpoWTJ0d1lXUlpJRDBnWENJdmFXNXdkWFF2ZEhKaFkydHdZV1F2ZVZ3aUxGeHlYRzVjY2x4dVhIUlVhSFZ0WW5OMGFXTnJJRDBnWENJdmFXNXdkWFF2ZEdoMWJXSnpkR2xqYTF3aUxGeHlYRzVjZEZSb2RXMWljM1JwWTJ0VWIzVmphQ0E5SUZ3aUwybHVjSFYwTDNSb2RXMWljM1JwWTJzdmRHOTFZMmhjSWl4Y2NseHVYSFJVYUhWdFluTjBhV05yUTJ4cFkyc2dQU0JjSWk5cGJuQjFkQzkwYUhWdFluTjBhV05yTDJOc2FXTnJYQ0lzWEhKY2JseDBWR2gxYldKemRHbGphMFp2Y21ObElEMGdYQ0l2YVc1d2RYUXZkR2gxYldKemRHbGpheTltYjNKalpWd2lMRnh5WEc1Y2RGUm9kVzFpYzNScFkydFlJRDBnWENJdmFXNXdkWFF2ZEdoMWJXSnpkR2xqYXk5NFhDSXNYSEpjYmx4MFZHaDFiV0p6ZEdsamExa2dQU0JjSWk5cGJuQjFkQzkwYUhWdFluTjBhV05yTDNsY0lpeGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1Z1ZFcwZ1JHVjJhV05sWEhKY2JudGNjbHh1WEhSTVpXWjBJRDBnWENJdmRYTmxjaTlvWVc1a0wyeGxablJjSWl4Y2NseHVYSFJTYVdkb2RDQTlJRndpTDNWelpYSXZhR0Z1WkM5eWFXZG9kRndpTEZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FHRnVaRlJ2UkdWMmFXTmxLQ0JvWVc1a09pQkZTR0Z1WkNBcE9pQkVaWFpwWTJWY2NseHVlMXh5WEc1Y2RITjNhWFJqYUNnZ2FHRnVaQ0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBZMkZ6WlNCRlNHRnVaQzVNWldaME9pQnlaWFIxY200Z1JHVjJhV05sTGt4bFpuUTdYSEpjYmx4MFhIUmpZWE5sSUVWSVlXNWtMbEpwWjJoME9pQnlaWFIxY200Z1JHVjJhV05sTGxKcFoyaDBPMXh5WEc1Y2RIMWNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlGVnpaV1FnZEc4Z1ltbHVaQ0JoSUhOcGJtZHNaU0JoWTNScGIyNGdkRzhnWVc0Z2FXNXdkWFFnWm05eUlHRWdjMmx1WjJ4bElHbHVkR1Z5WVdOMGFXOXVJSEJ5YjJacGJHVWdLaTljY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQlkzUnBiMjVDYVc1a2FXNW5YSEpjYm50Y2NseHVYSFF2S2lvZ1ZHaGxJRTl3Wlc1WVVpQnBiblJsY21GamRHbHZiaUJ3Y205bWFXeGxJSFJ2SUdGd2NHeDVJSFJvYVhNZ1ltbHVaR2x1WnlCMGJ5NGdUMjVzZVNCcGJuUmxjbUZqZEdsdmJpQndjbTltYVd4bGN5QjBhR0YwWEhKY2JseDBJQ29nWVhCd2JIa2dkRzhnTDNWelpYSXZhR0Z1WkM5c1pXWjBJRzl5SUM5MWMyVnlMMmhoYm1RdmNtbG5hSFFnWVhKbElHTjFjbkpsYm5Sc2VTQnpkWEJ3YjNKMFpXUXVYSEpjYmx4MElDb2dJRk5sWlNCMGFHVWdUM0JsYmxoU0lITndaV05wWm1sallYUnBiMjRnWm05eUlHMXZjbVVnWkdWMFlXbHNPaUJvZEhSd2N6b3ZMM2QzZHk1cmFISnZibTl6TG05eVp5OXlaV2RwYzNSeWVTOVBjR1Z1V0ZJdmMzQmxZM012TVM0d0wyaDBiV3d2ZUhKemNHVmpMbWgwYld3amMyVnRZVzUwYVdNdGNHRjBhQzFwYm5SbGNtRmpkR2x2Ymkxd2NtOW1hV3hsYzF4eVhHNWNkQ0FxTDF4eVhHNWNkR2x1ZEdWeVlXTjBhVzl1VUhKdlptbHNaVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaHBjeUIzYVd4c0lHSmxJRzl1WlNCdlppQjBhR1VnYVc1d2RYUWdjR0YwYUhNZ2FXNWpiSFZrWldRZ2FXNGdkR2hsSUU5d1pXNVlVaUJ6Y0dWamFXWnBZMkYwYVc5dUlHWnZjaUJjY2x4dVhIUWdLaUIwYUdseklHbHVkR1Z5WVdOMGFXOXVVSEp2Wm1sc1pTNWNjbHh1WEhRZ0tpOWNjbHh1WEhScGJuQjFkRkJoZEdnNklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYmk4cUtpQlVhR1VnZEhsd1pTQnZaaUJoSUhOcGJtZHNaU0JoWTNScGIyNHVJRkJ2YzJVZ1lXTjBhVzl1Y3lCaGNtVWdjM1Z3Y0c5elpXUWdkR2h5YjNWbmFDQkJkazl5YVdkcGJpQnViMlJsY3lCdmJpQXZkWE5sY2k5b1lXNWtMMnhsWm5SY2NseHVJQ29nYjNJZ0wzVnpaWEl2YUdGdVpDOXlhV2RvZEM1Y2NseHVJQ292WEhKY2JtVjRjRzl5ZENCbGJuVnRJRUZqZEdsdmJsUjVjR1ZjY2x4dWUxeHlYRzVjZEZWdWEyNXZkMjRnUFNBdE1TeGNjbHh1WEhKY2JseDBRbTl2YkdWaGJpQTlJREFzWEhKY2JseDBSbXh2WVhRZ1BTQXhMRnh5WEc1Y2RGWmxZM1J2Y2pJZ1BTQXlMRnh5WEc1OVhISmNibHh5WEc0dktpb2dSR1ZqYkdGeVpYTWdZU0J6YVc1bmJHVWdZV04wYVc5dUlHbHVjMmxrWlNCdlppQmhiaUJoWTNScGIyNGdjMlYwTGlBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZqZEdsdmJseHlYRzU3WEhKY2JseDBMeW9xSUVsdWRHVnlibUZzSUc1aGJXVWdkRzhnZFhObElHWnZjaUIwYUdseklHRmpkR2x2Ymk0Z1ZHaGxjMlVnYlhWemRDQmlaU0IxYm1seGRXVWdkMmwwYUdsdUlIUm9aU0JoWTNScGIyNGdjMlYwTGlBcUwxeHlYRzVjZEc1aGJXVTZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUU1aGJXVWdhVzRnZEdobElIVnpaWEluY3lCc1lXNW5kV0ZuWlhSdklITm9iM2NnWVNCMWMyVnlJR1p2Y2lCMGFHbHpJR0ZqZEdsdmJpQXFMMXh5WEc1Y2RHeHZZMkZzYVhwbFpFNWhiV1U2SUhOMGNtbHVaenRjY2x4dVhISmNibHgwTHlvcUlGUjVjR1VnYjJZZ2RHaGxJR0ZqZEdsdmJpQXFMMXh5WEc1Y2RIUjVjR1U2SUVGamRHbHZibFI1Y0dVN1hISmNibHh5WEc1Y2RDOHFLaUJDYVc1a2FXNW5jeUJtYjNJZ2RHaHBjeUJoWTNScGIyNGdiMjRnWVc1NUlHNTFiV0psY2lCdlppQmpiMjUwY205c2JHVnlJSFI1Y0dWeklDb3ZYSEpjYmx4MFltbHVaR2x1WjNNL09pQkJZM1JwYjI1Q2FXNWthVzVuVzEwN1hISmNibjFjY2x4dVhISmNiaThxS2lCRVpXTnNZWEpsY3lCaElITnBibWRzWlNCaFkzUnBiMjRnYzJWMElHWnZjaUIwYUdVZ1oyRmtaMlYwSUNvdlhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRV04wYVc5dVUyVjBYSEpjYm50Y2NseHVYSFF2S2lvZ1NXNTBaWEp1WVd3Z2JtRnRaU0IwYnlCMWMyVWdabTl5SUhSb2FYTWdZV04wYVc5dUlITmxkQzRnVkdobGMyVWdiWFZ6ZENCaVpTQjFibWx4ZFdVZ2QybDBhR2x1SUhSb1pTQm5ZV1JuWlhRdUlDb3ZYSEpjYmx4MGJtRnRaVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1RtRnRaU0JwYmlCMGFHVWdkWE5sY2lkeklHeGhibWQxWVdkbGRHOGdjMmh2ZHlCaElIVnpaWElnWm05eUlIUm9hWE1nWVdOMGFXOXVJSE5sZENBcUwxeHlYRzVjZEd4dlkyRnNhWHBsWkU1aGJXVTZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZOMWNIQnlaWE56WlhNZ2MyTmxibVVnWVhCd0lHbHVjSFYwSUdadmNpQmhibmtnYVc1d2RYUnpJR0p2ZFc1a0lIUnZJR0ZqZEdsdmJuTWdhVzRnZEdocGN5QmhZM1JwYjI0Z2MyVjBJRnh5WEc1Y2RDQXFJSGRvWlc1bGRtVnlJSFJvYVhNZ1lXTjBhVzl1SUhObGRDQnBjeUJoWTNScGRtVXVJRlZ6WlNCMGFHbHpJSGRwZEdnZ1kyRjFkR2x2Yml3Z1lXNWtJRzl1YkhrZ2QyaGxiaUJ6Y0dWamFXWnBZMXh5WEc1Y2RDQXFJR052Ym1ScGRHbHZibk1nWVhKbElIQnlaWE5sYm5RZ2RHOGdjSEpsZG1WdWRDQmhjSEFnYVc1d2RYUWdabkp2YlNCaVpXbHVaeUJpYkc5amEyVmtJSEJsY20xaGJtVnVkR3g1TGlCY2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCbVlXeHpaU0JjY2x4dVhIUWdLaTljY2x4dVhIUnpkWEJ3Y21WemMwRndjRUpwYm1ScGJtZHpQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlGQnlhVzl5YVhSNUlHWnZjaUJoWTNScGIyNGdZbWx1WkdsdVozTWdhVzRnZEdocGN5QmhZM1JwYjI0Z2MyVjBJSEpsYkdGMGFYWmxJSFJ2SUc5MGFHVnlJR0pwYm1ScGJtZHpJR2x1SUhSb1pTQnpZVzFsSUZ4eVhHNWNkQ0FxSUdkaFpHZGxkQzRnUW1sdVpHbHVaM01nWm5KdmJTQmhZM1JwYjI0Z2MyVjBjeUIzYVhSb0lHaHBaMmhsY2lCdWRXMWlaWEp6SUhkcGJHd2djM1Z3Y0hKbGMzTWdZbWx1WkdsdVozTWdabkp2YlNCaFkzUnBiMjRnYzJWMGMxeHlYRzVjZENBcUlIZHBkR2dnYkc5M1pYSWdiblZ0WW1WeWN5NGdWR2hwY3lCdWRXMWlaWElnZDJsc2JDQmlaU0JqYkdGdGNHVmtJSFJ2SUhSb1pTQXdMaTR4TUNCeVlXNW5aU3dnYVc1amJIVnphWFpsYkhrdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ01GeHlYRzVjZENBcUwxeHlYRzVjZEhCeWFXOXlhWFI1UHpvZ2JuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dRV04wYVc5dWN5QmpiMjUwWVdsdVpXUWdhVzRnZEdocGN5QmhZM1JwYjI0Z2MyVjBJQ292WEhKY2JseDBZV04wYVc5dWN6ODZJRUZqZEdsdmJsdGRPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGamRHbDJaVUZqZEdsdmJsTmxkRnh5WEc1N1hISmNibHgwTHlvcUlFNWhiV1VnYjJZZ2RHaGxJR0ZqZEdsdmJpQnpaWFFnZEc4Z1lXTjBhWFpoZEdVZ0tpOWNjbHh1WEhSaFkzUnBiMjVUWlhST1lXMWxPaUJ6ZEhKcGJtYzdYSEpjYmx4eVhHNWNkQzhxS2lCTWFYTjBJRzltSUdoaGJtUnpJSFJ2SUdGamRHbDJZWFJsSUhSb1pTQmhZM1JwYjI0Z2MyVjBJRzl1TGlCVWFHbHpJR05oYmlCaVpTQXZkWE5sY2k5b1lXNWtMMnhsWm5Rc0lDOTFjMlZ5TDJoaGJtUXZjbWxuYUhRc0lHOXlJRnh5WEc1Y2RDQXFJR0Z1SUdWdGNIUjVJR3hwYzNRdUlFVnRjSFI1SUd4cGMzUWdiV1ZoYm5NZ2RHaGhkQ0IwYUdVZ1hISmNibHgwSUNvdlhISmNibHgwZEc5d1RHVjJaV3hRWVhSb2N6ODZJSE4wY21sdVoxdGRPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRMjl1ZEdGcGJuTWdkR2hsSUd4cGMzUWdiMllnWVdOMGFXOXVJSE5sZEhNZ2RHaGhkQ0IwYUdVZ1lYQndiR2xqWVhScGIyNGdkMjkxYkdRZ2JHbHJaU0IwYnlCaFkzUnBkbUYwWlM0Z0tpOWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JKYm5CMWRFbHVabTljY2x4dWUxeHlYRzVjZEdGamRHbDJaVUZqZEdsdmJsTmxkSE02SUVGamRHbDJaVUZqZEdsdmJsTmxkRnRkTzF4eVhHNTlYSEpjYmx4eVhHNHZLaW9nUTI5dWRHRnBibk1nZEdobElITjBZWFJsSUc5bUlHRWdjMmx1WjJ4bElHRmpkR2x2YmlCdmJpQmhJSE5wYm1kc1pTQmtaWFpwWTJVZ0tpOWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCWTNScGIyNUVaWFpwWTJWVGRHRjBaVHhVUGx4eVhHNTdYSEpjYmx4MFlXTjBhWFpsT2lCaWIyOXNaV0Z1TzF4eVhHNWNkSFpoYkhWbE9pQlVPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRMjl1ZEdGcGJuTWdkR2hsSUhOMFlYUmxJRzltSUdFZ2MybHVaMnhsSUdGamRHbHZiaUFxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRmpkR2x2YmxOMFlYUmxQRlErWEhKY2JudGNjbHh1WEhSc1pXWjBQem9nUVdOMGFXOXVSR1YyYVdObFUzUmhkR1U4VkQ0N1hISmNibHgwY21sbmFIUS9PaUJCWTNScGIyNUVaWFpwWTJWVGRHRjBaVHhVUGp0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUdOdmJuUmhhVzV6SUhSb1pTQnpkR0YwWlNCdlppQmhJSE5wYm1kc1pTQmhZM1JwYjI0Z2MyVjBJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FXTjBhVzl1VTJWMFUzUmhkR1ZjY2x4dWUxeHlYRzVjZEZzZ1lXTjBhVzl1VG1GdFpUb2djM1J5YVc1bklGMDZJRUZqZEdsdmJsTjBZWFJsUENCaWIyOXNaV0Z1SUh3Z2JuVnRZbVZ5SUh3Z1d5QnVkVzFpWlhJc0lHNTFiV0psY2lCZElENDdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkRiMjUwWVdsdWN5QjBhR1VnWTNWeWNtVnVkQ0J6ZEdGMFpTQnZaaUJwYm5CMWRDQm1iM0lnWVd4c0lHRmpkR2x2Ym5NZ1lXWjBaWElnWVNCallXeHNJSFJ2SUhONWJtTkJZM1JwYjI1ekxpQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVsdWNIVjBVM1JoZEdWY2NseHVlMXh5WEc1Y2RISmxjM1ZzZEhNNklIc2dXeUJoWTNScGIyNVRaWFJPWVcxbE9pQnpkSEpwYm1jZ1hUb2dRV04wYVc5dVUyVjBVM1JoZEdVZ2ZUdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFbHVabTl5YldGMGFXOXVJR0ZpYjNWMElIUm9aU0IxYm1SbGNteDVhVzVuSUdGd2NHeHBZMkYwYVc5dUlIUm9ZWFFnUVdGeVpIWmhjbXNnYVhNZ2NuVnVibWx1WnlCdmJpQjBiM0FnYjJZdUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVTJObGJtVkJjSEJzYVdOaGRHbHZia2x1Wm05Y2NseHVlMXh5WEc1Y2RDOHFLaUJCSUdkc2IySmhiR3g1SUhWdWFYRjFaU0JwWkdWdWRHbG1hV1Z5SUdadmNpQjBhR1VnY25WdWJtbHVaeUJoY0hCc2FXTmhkR2x2Ymk0Z0tpOWNjbHh1WEhScFpEb2djM1J5YVc1bk8xeHlYRzVjY2x4dVhIUXZLaW9nUVNCdVlXMWxJSFJvWVhRZ1kyRnVJR0psSUhOb2IzZHVJSFJ2SUdFZ2RYTmxjaUJtYjNJZ2RHaGxJSEoxYm01cGJtY2dZWEJ3YkdsallYUnBiMjR1SUNvdlhISmNibHgwYm1GdFpUb2djM1J5YVc1bk8xeHlYRzVjY2x4dVhIUXZLaW9nUVNCMWJtbHhkV1V0ZDJsMGFHbHVMWFJvWlMxaGNIQnNhV05oZEdsdmJpQnBaR1Z1ZEdsbWFXVnlJR1p2Y2lCM2FHbGphQ0JzWlhabGJDOXRZWEF2Y0d4aGJtVjBJSFJvWlNCMWMyVnlJR2x6SUdsdUxpQXFMMXh5WEc1Y2RIZHZjbXhrU1dRL09pQnpkSEpwYm1jN1hISmNibHh5WEc1Y2RDOHFLaUJCSUhWdWFYRjFaUzEzYVhSb2FXNHRkR2hsTFhkdmNteGtTVVFnYVdSbGJuUnBabWxsY2lCbWIzSWdkMmhwWTJnZ2FXNXpkR0Z1WTJVZ2IyWWdkR2hsSUhkdmNteGtJSFJvWVhRZ2RHaGxJSFZ6WlhJZ2FYTWdhVzR1SUNvdlhISmNibHgwYVc1emRHRnVZMlZKWkQ4NklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCMGNtRnVjMlp2Y20wZ1puSnZiU0IwYUdVZ2RYTmxjaWR6SUhOMFlXZGxJRzl5YVdkcGJpQjBieUIwYUdVZ2FXNXpkR0Z1WTJVbmN5QnZjbWxuYVc0dUlDb3ZYSEpjYmx4MGFXNXpkR0Z1WTJWR2NtOXRVM1JoWjJVL09pQkJkazV2WkdWVWNtRnVjMlp2Y20wN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRV0Z5WkhaaGNtdGNjbHh1ZTF4eVhHNWNkR2hoYzFCbGNtMXBjM05wYjI0b0lIQmxjbTFwYzNOcGIyNDZJRkJsY20xcGMzTnBiMjRnS1RvZ1ltOXZiR1ZoYmp0Y2NseHVYSEpjYmx4MEx5OGdjbVZ4ZFdseVpYTWdjMk5sYm1WbmNtRndhQ0J3WlhKdGFYTnphVzl1YzF4eVhHNWNkSE4xWW5OamNtbGlaVlJ2UW5KdmQzTmxjbFJsZUhSMWNtVW9JR05oYkd4aVlXTnJPaUJCZGtKeWIzZHpaWEpVWlhoMGRYSmxRMkZzYkdKaFkyc2dLVG9nZG05cFpEdGNjbHh1WEhSemNHOXZaazF2ZFhObFJYWmxiblFvSUhSNWNHVTZVR0Z1Wld4TmIzVnpaVVYyWlc1MFZIbHdaU3dnZURvZ2JuVnRZbVZ5TENCNU9pQnVkVzFpWlhJZ0tUb2dkbTlwWkR0Y2NseHVYSEpjYmx4MEx5OGdjbVZ4ZFdseVpYTWdiV0Z6ZEdWeUlIQmxjbTFwYzNOcGIyNXpYSEpjYmx4MGMzUmhjblJIWVdSblpYUW9JSEJoY21GdGN6b2dSMkZrWjJWMFVHRnlZVzF6SUNrNklIWnZhV1E3WEhKY2JseHlYRzVjZEM4cUtpQkVaWE4wY205NWN5QjBhR1VnWTNWeWNtVnVkQ0JpY205M2MyVnlMaUFxTDF4eVhHNWNkR05zYjNObFFuSnZkM05sY2lncE9pQjJiMmxrTzF4eVhHNWNjbHh1WEhRdkx5QnlaWEYxYVhKbGN5QnlaVzVrWlhKbGNpQndaWEp0YVhOemFXOXVjMXh5WEc1Y2RISmxibVJsY21WeU9pQkJkbEpsYm1SbGNtVnlPMXh5WEc1Y2NseHVYSFF2THlCeVpYRjFhWEpsY3lCemRHRnlkSFZ5YkNCd1pYSnRhWE56YVc5dWMxeHlYRzVjZEhOMFlYSjBWWEpzS0NCMWNtdzZJSE4wY21sdVp5QXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZMeUJ5WlhGMWFYSmxjeUJ6WTNKbFpXVnVZMkZ3ZEhWeVpTQndaWEp0YVhOemFXOXVjMXh5WEc1Y2RITjFZbk5qY21saVpWZHBibVJ2ZDB4cGMzUW9JR05oYkd4aVlXTnJPaUFvSUhkcGJtUnZkM002SUZkcGJtUnZkMGx1Wm05YlhTQXBJRDArSUhadmFXUWdLVG9nZG05cFpEdGNjbHh1WEhSMWJuTjFZbk5qY21saVpWZHBibVJ2ZDB4cGMzUW9LVHAyYjJsa08xeHlYRzVjZEhOMVluTmpjbWxpWlZkcGJtUnZkeWdnZDJsdVpHOTNTR0Z1Wkd4bE9pQnpkSEpwYm1jc0lHTmhiR3hpWVdOck9pQW9JSGRwYm1SdmR6b2dWMmx1Wkc5M1NXNW1ieUFwSUQwK0lIWnZhV1FnS1RvZ2RtOXBaRHRjY2x4dVhIUjFibk4xWW5OamNtbGlaVmRwYm1SdmR5Z2dkMmx1Wkc5M1NHRnVaR3hsT2lCemRISnBibWNnS1RvZ2RtOXBaRHRjY2x4dVhISmNibHgwTHk4Z2NtVnhkV2x5WlhNZ2FXNXdkWFFnY0dWeWJXbHpjMmx2Ym5OY2NseHVYSFJ5WldkcGMzUmxja2x1Y0hWMEtDQmhZM1JwYjI1VFpYUnpPaUJCWTNScGIyNVRaWFJiWFNBcE9pQjJiMmxrTzF4eVhHNWNkSE41Ym1OSmJuQjFkQ2dnYVc1bWJ6b2dTVzV3ZFhSSmJtWnZJQ2s2SUVsdWNIVjBVM1JoZEdVN1hISmNibHh5WEc1Y2RDOHZJSEpsY1hWcGNtVnpJSE5sZEhScGJtZHpJSEJsY20xcGMzTnBiMjV6WEhKY2JseDBaMlYwUW05dmJGTmxkSFJwYm1jb0lITmxZM1JwYjI1T1lXMWxPaUJ6ZEhKcGJtY3NJSE5sZEhScGJtZE9ZVzFsT2lCemRISnBibWNnS1RvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJuWlhST2RXMWlaWEpUWlhSMGFXNW5LQ0J6WldOMGFXOXVUbUZ0WlRvZ2MzUnlhVzVuTENCelpYUjBhVzVuVG1GdFpUb2djM1J5YVc1bklDazZJRzUxYldKbGNqdGNjbHh1WEhSblpYUlRkSEpwYm1kVFpYUjBhVzVuS0NCelpXTjBhVzl1VG1GdFpUb2djM1J5YVc1bkxDQnpaWFIwYVc1blRtRnRaVG9nYzNSeWFXNW5JQ2s2SUhOMGNtbHVaenRjY2x4dVhIUnpaWFJUWlhSMGFXNW5LQ0J6WldOMGFXOXVUbUZ0WlRvZ2MzUnlhVzVuTENCelpYUjBhVzVuVG1GdFpUb2djM1J5YVc1bkxDQnVaWGRXWVd4MVpUb2diblZ0WW1WeUlId2djM1J5YVc1bklId2dZbTl2YkdWaGJpQXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZMeUJ5WlhGMWFYSmxjeUJoY0hCc2FXTmhkR2x2YmlCd1pYSnRhWE56YVc5dWMxeHlYRzVjZEhKbFoybHpkR1Z5VTJObGJtVkJjSEJzYVdOaGRHbHZiazV2ZEdsbWFXTmhkR2x2YmlnZ1ptNDZJQ2dwSUQwK0lIWnZhV1FnS1RvZ2RtOXBaRHRjY2x4dVhIUm5aWFJEZFhKeVpXNTBVMk5sYm1WQmNIQnNhV05oZEdsdmJpZ3BPaUJUWTJWdVpVRndjR3hwWTJGMGFXOXVTVzVtYnlCOElHNTFiR3c3WEhKY2JuMWNjbHh1WEhKY2JtUmxZMnhoY21VZ1oyeHZZbUZzWEhKY2JudGNjbHh1WEhScGJuUmxjbVpoWTJVZ1YybHVaRzkzWEhKY2JseDBlMXh5WEc1Y2RGeDBZV0Z5WkhaaGNtczZJR0Z1ZVR0Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCQmRpZ3BPa0ZoY21SMllYSnJYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdkMmx1Wkc5M1B5NWhZWEprZG1GeWF5QmhjeUJCWVhKa2RtRnlhenRjY2x4dWZWeHlYRzRpTENKcGJYQnZjblFnZXlCMlpXTXpMQ0J0WVhRMElIMGdabkp2YlNBblFIUnNZWFZyYTJGdUwzUnpiU2M3WEhKY2JtbHRjRzl5ZENCN0lGZGxZa0Z3Y0UxaGJtbG1aWE4wSUgwZ1puSnZiU0FuTGk5M1pXSmZZWEJ3WDIxaGJtbG1aWE4wSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpCWTNScGIyNVRkR0YwWlNCOUlHWnliMjBnSnk0dllXRnlaSFpoY21zbk8xeHlYRzVwYlhCdmNuUWdleUJ1YjJSbFZISmhibk5tYjNKdFJuSnZiVTFoZERRZ2ZTQm1jbTl0SUNjdUwyMWhkR2hmZFhScGJITW5PMXh5WEc1Y2NseHVaWGh3YjNKMElHTnZibk4wSUVGaGNtUjJZWEpyVUc5eWRDQTlJREl6T0RReU8xeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdUV1Z6YzJGblpWUjVjR1ZjY2x4dWUxeHlYRzVjZEM4dklHbHVhWFJwWVd4cGVtRjBhVzl1SUcxbGMzTmhaMlZ6TGlCVWFHVnpaU0JoY21VZ2RHaGxJRzl1YkhrZ2JXVnpjMkZuWlhNZ2RHaGhkQ0JjY2x4dVhIUXZMeUJoY21WdUozUWdjbVZ4ZFdseVpXUWdkRzhnYUdGMlpTQmhJSE5sYm1SbGNpNWNjbHh1WEhSVFpYUkZibVJ3YjJsdWRGUjVjR1VnUFNBeE1EQXNYSEpjYmx4MFUyVjBSVzVrY0c5cGJuUlVlWEJsVW1WemNHOXVjMlVnUFNBeE1ERXNYSEpjYmx4MFJYSnliM0lnUFNBeE1ESXNYSEpjYmx4MFIyVjBRV0Z5WkhaaGNtdE5ZVzVwWm1WemRDQTlJREV3TXl4Y2NseHVYSFJIWlhSQllYSmtkbUZ5YTAxaGJtbG1aWE4wVW1WemNHOXVjMlVnUFNBeE1EUXNYSEpjYmx4MEx5OVZjMlZ5U1c1bWJ5QTlJREV3TlN4Y2NseHVYSEpjYmx4MEx5OGdUVzl1YVhSdmNpQnRaWE56WVdkbGMxeHlYRzVjZEM4dklIUm9aWE5sSUdGeVpTQnpaVzVrSUhSdklHMXZibWwwYjNKeklIUnZJR2RwZG1VZ2RHaGxiU0J0WlhSaElHTnZiblJsZUhSY2NseHVYSFJPWlhkRmJtUndiMmx1ZENBOUlESXdNQ3hjY2x4dVhIUk1iM04wUlc1a2NHOXBiblFnUFNBeU1ERXNYSEpjYmx4MFQzWmxjbkpwWkdWVWNtRnVjMlp2Y20wZ1BTQXlNRElzWEhKY2JseHlYRzVjZEM4dklFZGhaR2RsZENCdFpYTnpZV2RsYzF4eVhHNWNkRlZ3WkdGMFpWTmpaVzVsUjNKaGNHZ2dQU0F6TURBc1hISmNibHgwTHk5SGNtRmlSWFpsYm5RZ1BTQXpNREVzWEhKY2JseDBMeTlIY21GaVltVnlVM1JoZEdVZ1BTQXpNRElzWEhKY2JseDBSMkZrWjJWMFUzUmhjblJsWkNBOUlETXdNeXhjZEZ4eVhHNWNkQzh2VUc5clpYSlFjbTk0YVcxcGRIa2dQU0F6TURRc1hISmNibHgwTHk5TmIzVnpaVVYyWlc1MElEMGdNekExTEZ4eVhHNWNkRTV2WkdWSVlYQjBhV01nUFNBek1EWXNYSEpjYmx4MEx5OGdRWFIwWVdOb1IyRmtaMlYwVkc5SWIyOXJJRDBnTXpBM0xGeHlYRzVjZEM4dklFUmxkR0ZqYUVkaFpHZGxkRVp5YjIxSWIyOXJJRDBnTXpBNExGeHlYRzVjZEM4dlRXRnpkR1Z5VTNSaGNuUkhZV1JuWlhRZ1BTQXpNRGtzSUM4dklIUmxiR3h6SUcxaGMzUmxjaUIwYnlCemRHRnlkQ0JoSUdkaFpHZGxkRnh5WEc1Y2RGTmhkbVZUWlhSMGFXNW5jeUE5SURNeE1DeGNjbHh1WEhSVmNHUmhkR1ZCWTNScGIyNVRkR0YwWlNBOUlETXhNU3hjY2x4dVhIUkVaWE4wY205NVIyRmtaMlYwSUQwZ016RXlMRnh5WEc1Y2RGSmxjMjkxY21ObFRHOWhaRVpoYVd4bFpDQTlJRE14TXl4Y2NseHVYSFF2THlCVGFXZHVVbVZ4ZFdWemRDQTlJRE14TkN4Y2NseHVYSFF2THlCVGFXZHVVbVZ4ZFdWemRGSmxjM0J2Ym5ObElEMGdNekUxTEZ4eVhHNWNkRWx1ZEdWeVptRmpaVVYyWlc1MElEMGdNekUyTEZ4eVhHNWNjbHh1WEhRdkx5QlRlWE4wWlcwZ2JXVnpjMkZuWlhOY2NseHVYSFJIWlhSSmJuTjBZV3hzWldSSFlXUm5aWFJ6SUQwZ05EQXdMRnh5WEc1Y2RFZGxkRWx1YzNSaGJHeGxaRWRoWkdkbGRITlNaWE53YjI1elpTQTlJRFF3TVN4Y2NseHVYSFJKYm5OMFlXeHNSMkZrWjJWMElEMGdOREF5TEZ4eVhHNWNkRk5sZEVkaFpHZGxkRlJ2UVhWMGIweGhkVzVqYUNBOUlEUXdNeXhjY2x4dVhIUlNaVzF2ZG1WSFlXUm5aWFJHY205dFFYVjBiMHhoZFc1amFDQTlJRFF3TkN4Y2NseHVYSEpjYmx4MEx5OGdaMkZrWjJWMElHaGhjeUJjSW5KdmIyMWNJaUJ3WlhKdGFYTnphVzl1YzF4eVhHNWNkQzh2SUVOeVpXRjBaVkp2YjIwZ1BTQTJNREFzWEhKY2JseDBMeThnUTNKbFlYUmxVbTl2YlZKbGMzQnZibk5sSUQwZ05qQXhMRnh5WEc1Y2RDOHZJRVJsYzNSeWIzbFNiMjl0SUQwZ05qQXlMRnh5WEc1Y2RDOHZJRVJsYzNSeWIzbFNiMjl0VW1WemNHOXVjMlVnUFNBMk1ETXNYSEpjYmx4MEx5OGdVbTl2YlUxbGMzTmhaMlZTWldObGFYWmxaQ0E5SURZd05DeGNjbHh1WEhRdkx5QlNiMjl0VFdWemMyRm5aVkpsWTJWcGRtVmtVbVZ6Y0c5dWMyVWdQU0EyTURVc1hISmNibHgwTHk4Z1UyVnVaRkp2YjIxTlpYTnpZV2RsSUQwZ05qQTJMRnh5WEc1Y2RDOHZJRlZ3WkdGMFpWQnZjMlVnUFNBMk1EY3NYSEpjYmx4eVhHNWNkQzh2SUVsdWRHVnlabUZqWlhNZ1lXNWtJR2x1ZEdWeVptRmpaU0JsYm5ScGRHbGxjMXh5WEc1Y2RFbHVkR1Z5Wm1GalpWTjBZWEowWldRZ1BTQTNNREFzWEhKY2JseDBTVzUwWlhKbVlXTmxSVzVrWldRZ1BTQTNNREVzWEhKY2JseDBTVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDQTlJRGN3TWl4Y2NseHVYSFJKYm5SbGNtWmhZMlZUWlc1a1JYWmxiblFnUFNBM01ETXNYSEpjYmx4MFNXNTBaWEptWVdObFVtVmpaV2wyWlVWMlpXNTBJRDBnTnpBMExGeHlYRzVjZEVsdWRHVnlabUZqWlV4dlkyc2dQU0EzTURVc1hISmNibHgwU1c1MFpYSm1ZV05sVEc5amExSmxjM0J2Ym5ObElEMGdOekEyTEZ4eVhHNWNkRWx1ZEdWeVptRmpaVlZ1Ykc5amF5QTlJRGN3Tnl4Y2NseHVYSFJKYm5SbGNtWmhZMlZWYm14dlkydFNaWE53YjI1elpTQTlJRGN3T0N4Y2NseHVYSFJKYm5SbGNtWmhZMlZTWld4dlkyc2dQU0EzTURrc1hISmNibHgwU1c1MFpYSm1ZV05sVW1Wc2IyTnJVbVZ6Y0c5dWMyVWdQU0EzTVRBc1hISmNibHgwU1c1MFpYSm1ZV05sVTJWdVpFVjJaVzUwVW1WemNHOXVjMlVnUFNBM01URXNYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JsYm5WdElGZGxZbE52WTJ0bGRFTnNiM05sUTI5a1pYTmNjbHh1ZTF4eVhHNWNkRlZ6WlhKRVpYTjBjbTk1WldSSFlXUm5aWFFnUFNBME56QXhMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkZibVJ3YjJsdWRGUjVjR1ZjY2x4dWUxeHlYRzVjZEZWdWEyNXZkMjRnUFNBdE1TeGNjbHh1WEhSSWRXSWdQU0F3TEZ4eVhHNWNkRWRoWkdkbGRDQTlJREVzWEhKY2JseDBUbTlrWlNBOUlESXNYSEpjYmx4MFVtVnVaR1Z5WlhJZ1BTQXpMRnh5WEc1Y2RFMXZibWwwYjNJZ1BTQTBMRnh5WEc1Y2RGVjBhV3hwZEhrZ1BTQTFMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVWdVpIQnZhVzUwUVdSa2NseHlYRzU3WEhKY2JseDBkSGx3WlRvZ1JXNWtjRzlwYm5SVWVYQmxPMXh5WEc1Y2RHVnVaSEJ2YVc1MFNXUS9PaUJ1ZFcxaVpYSTdYSEpjYmx4MGJtOWtaVWxrUHpvZ2JuVnRZbVZ5TzF4eVhHNTlYSEpjYmx4eVhHNW1kVzVqZEdsdmJpQmxibVJ3YjJsdWRGUjVjR1ZHY205dFEyaGhjbUZqZEdWeUtDQmpPaUJ6ZEhKcGJtY2dLVG9nUlc1a2NHOXBiblJVZVhCbFhISmNibnRjY2x4dVhIUnpkMmwwWTJnb0lHTWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTmhjMlVnWENKSVhDSTZJSEpsZEhWeWJpQkZibVJ3YjJsdWRGUjVjR1V1U0hWaU8xeHlYRzVjZEZ4MFkyRnpaU0JjSWtkY0lqb2djbVYwZFhKdUlFVnVaSEJ2YVc1MFZIbHdaUzVIWVdSblpYUTdYSEpjYmx4MFhIUmpZWE5sSUZ3aVRsd2lPaUJ5WlhSMWNtNGdSVzVrY0c5cGJuUlVlWEJsTGs1dlpHVTdYSEpjYmx4MFhIUmpZWE5sSUZ3aVRWd2lPaUJ5WlhSMWNtNGdSVzVrY0c5cGJuUlVlWEJsTGsxdmJtbDBiM0k3WEhKY2JseDBYSFJqWVhObElGd2lVbHdpT2lCeVpYUjFjbTRnUlc1a2NHOXBiblJVZVhCbExsSmxibVJsY21WeU8xeHlYRzVjZEZ4MFpHVm1ZWFZzZERvZ2NtVjBkWEp1SUVWdVpIQnZhVzUwVkhsd1pTNVZibXR1YjNkdU8xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVablZ1WTNScGIyNGdaVzVrY0c5cGJuUkRhR0Z5WVdOMFpYSkdjbTl0Vkhsd1pTZ2daWEIwT2lCRmJtUndiMmx1ZEZSNWNHVWdLVG9nYzNSeWFXNW5YSEpjYm50Y2NseHVYSFJ6ZDJsMFkyZ29JR1Z3ZENBcFhISmNibHgwZTF4eVhHNWNkRngwWTJGelpTQkZibVJ3YjJsdWRGUjVjR1V1U0hWaU9pQnlaWFIxY200Z1hDSklYQ0k3WEhKY2JseDBYSFJqWVhObElFVnVaSEJ2YVc1MFZIbHdaUzVIWVdSblpYUTZJSEpsZEhWeWJpQmNJa2RjSWp0Y2NseHVYSFJjZEdOaGMyVWdSVzVrY0c5cGJuUlVlWEJsTGs1dlpHVTZJSEpsZEhWeWJpQmNJazVjSWp0Y2NseHVYSFJjZEdOaGMyVWdSVzVrY0c5cGJuUlVlWEJsTGsxdmJtbDBiM0k2SUhKbGRIVnliaUJjSWsxY0lqdGNjbHh1WEhSY2RHTmhjMlVnUlc1a2NHOXBiblJVZVhCbExsSmxibVJsY21WeU9pQnlaWFIxY200Z1hDSlNYQ0k3WEhKY2JseDBYSFJqWVhObElFVnVaSEJ2YVc1MFZIbHdaUzVWYm10dWIzZHVPaUJ5WlhSMWNtNGdYQ0pWWENJN1hISmNibHgwWEhSa1pXWmhkV3gwT2lCeVpYUjFjbTRnWENJL1hDSTdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvSUdWd1lUb2dSVzVrY0c5cGJuUkJaR1J5SUNrZ09pQnpkSEpwYm1kY2NseHVlMXh5WEc1Y2RHbG1LQ0FoWlhCaElDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhSOVhISmNibHgwWld4elpWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJsYm1Sd2IybHVkRU5vWVhKaFkzUmxja1p5YjIxVWVYQmxLQ0JsY0dFdWRIbHdaU0FwWEhKY2JseDBYSFFySUZ3aU9sd2lJQ3NnS0NCbGNHRXVaVzVrY0c5cGJuUkpaQ0EvSUdWd1lTNWxibVJ3YjJsdWRFbGtJRG9nTUNBcFhISmNibHgwWEhRcklGd2lPbHdpSUNzZ0tDQmxjR0V1Ym05a1pVbGtJRDhnWlhCaExtNXZaR1ZKWkNBNklEQWdLVHRjY2x4dVhIUjlYSEpjYm4xY2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MzUnlhVzVuVkc5RmJtUndiMmx1ZEVGa1pISW9JR1Z3WVZOMGNqb2djM1J5YVc1bklDa2dPaUJGYm1Sd2IybHVkRUZrWkhKY2NseHVlMXh5WEc1Y2RHeGxkQ0J5WlNBOUlHNWxkeUJTWldkRmVIQW9JRndpWGlndUtUb29XekF0T1YwcktUb29XekF0T1YwcktTUmNJaUFwTzF4eVhHNWNkR3hsZENCdFlYUmphQ0E5SUhKbExtVjRaV01vSUdWd1lWTjBjaUFwTzF4eVhHNWNkR2xtS0NBaGJXRjBZMmdnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1pXNWtjRzlwYm5RZ2MzUnlhVzVuSUNSN0lHVndZVk4wY2lCOUlHWmhhV3hsWkNCMGJ5QndZWEp6WldBZ0tUdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RIMWNjbHh1WEhSeVpYUjFjbTRnS0Z4eVhHNWNkRngwZXlCY2NseHVYSFJjZEZ4MGRIbHdaVG9nWlc1a2NHOXBiblJVZVhCbFJuSnZiVU5vWVhKaFkzUmxjaWdnYldGMFkyaGJNVjBnS1N4Y2NseHVYSFJjZEZ4MFpXNWtjRzlwYm5SSlpEb2djR0Z5YzJWSmJuUW9JRzFoZEdOb1d6SmRJQ2tzWEhKY2JseDBYSFJjZEc1dlpHVkpaRG9nY0dGeWMyVkpiblFvSUcxaGRHTm9Xek5kSUNrc1hISmNibHgwWEhSOUlDazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsYm1Sd2IybHVkRUZrWkhKSmMwVnRjSFI1S0NCbGNHRTZJRVZ1WkhCdmFXNTBRV1JrY2lBcE9pQmliMjlzWldGdVhISmNibnRjY2x4dVhIUnlaWFIxY200Z1pYQmhJRDA5SUc1MWJHd2dmSHdnWlhCaExuUjVjR1VnUFQwZ2RXNWtaV1pwYm1Wa0lIeDhJR1Z3WVM1MGVYQmxJRDA5SUVWdVpIQnZhVzUwVkhsd1pTNVZibXR1YjNkdU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaVzVrY0c5cGJuUkJaR1J5YzAxaGRHTm9LQ0JsY0dFeE9pQkZibVJ3YjJsdWRFRmtaSElzSUdWd1lUSTZJRVZ1WkhCdmFXNTBRV1JrY2lBcE9pQmliMjlzWldGdVhISmNibnRjY2x4dVhIUnBaaWdnWlc1a2NHOXBiblJCWkdSeVNYTkZiWEIwZVNnZ1pYQmhNU0FwSUNsY2NseHVYSFJjZEhKbGRIVnliaUJsYm1Sd2IybHVkRUZrWkhKSmMwVnRjSFI1S0NCbGNHRXlJQ2s3WEhKY2JseDBaV3h6WlNCcFppZ2daVzVrY0c5cGJuUkJaR1J5U1hORmJYQjBlU2dnWlhCaE1pQXBJQ2xjY2x4dVhIUmNkSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVYSEpjYmx4MGNtVjBkWEp1SUdWd1lURXVkSGx3WlNBOVBTQmxjR0V5TG5SNWNHVWdKaVlnWlhCaE1TNXViMlJsU1dRZ1BUMGdaWEJoTWk1dWIyUmxTV1FnSmlZZ1pYQmhNUzVsYm1Sd2IybHVkRWxrSUQwOUlHVndZVEl1Wlc1a2NHOXBiblJKWkR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHVaR1Y0VDJaRmJtUndiMmx1ZEVGa1pISnpLQ0JsY0dGQmNuSmhlVG9nUlc1a2NHOXBiblJCWkdSeVcxMHNJR1Z3WVRvZ1JXNWtjRzlwYm5SQlpHUnlJQ2s2SUc1MWJXSmxjbHh5WEc1N1hISmNibHgwYVdZb0lDRmxjR0ZCY25KaGVTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUMweE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUm1iM0lvSUd4bGRDQnBJRDBnTURzZ2FTQThJR1Z3WVVGeWNtRjVMbXhsYm1kMGFEc2dhU3NySUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ1pXNWtjRzlwYm5SQlpHUnljMDFoZEdOb0tDQmxjR0ZCY25KaGVWdHBYU3dnWlhCaElDa2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdhVHRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4MGNtVjBkWEp1SUMweE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMjl0Y0hWMFpVVnVaSEJ2YVc1MFJtbGxiR1JWY21rb0lHVndZVG9nUlc1a2NHOXBiblJCWkdSeUxDQm1hV1ZzWkU1aGJXVTZJSE4wY21sdVp5QXBYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdZRzV2WkdWbWFXVnNaRG92THlSN0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0JsY0dFZ0tTQjlMeVI3SUdacFpXeGtUbUZ0WlNCOVlEdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JGYm5abGJHOXdaVnh5WEc1N1hISmNibHgwZEhsd1pUb2dUV1Z6YzJGblpWUjVjR1U3WEhKY2JseDBjMlZ4ZFdWdVkyVk9kVzFpWlhJNklHNTFiV0psY2p0Y2NseHVYSFJ5WlhCc2VWUnZQem9nYm5WdFltVnlPMXh5WEc1Y2RITmxibVJsY2o4NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUjBZWEpuWlhRL09pQkZibVJ3YjJsdWRFRmtaSEk3SUZ4eVhHNWNkSEJoZVd4dllXUS9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGNHRjViRzloWkZWdWNHRmphMlZrUHpvZ1lXNTVPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowVnljbTl5WEhKY2JudGNjbHh1WEhSdFpYTnpZV2RsVkhsd1pUODZJRTFsYzNOaFoyVlVlWEJsTzF4eVhHNWNkR1Z5Y205eU9pQnpkSEpwYm1jN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uVTJWMFJXNWtjRzlwYm5SVWVYQmxYSEpjYm50Y2NseHVYSFJ1WlhkRmJtUndiMmx1ZEZSNWNHVTZJRVZ1WkhCdmFXNTBWSGx3WlR0Y2NseHVYSFJuWVdSblpYUlZjbWsvT2lCemRISnBibWM3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RYTm5VMlYwUlc1a2NHOXBiblJVZVhCbFVtVnpjRzl1YzJWY2NseHVlMXh5WEc1Y2RHVnVaSEJ2YVc1MFNXUTZJRzUxYldKbGNqdGNjbHh1WEhSelpYUjBhVzVuY3o4NklHRnVlVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZE9aWGRGYm1Sd2IybHVkRnh5WEc1N1hISmNibHgwYm1WM1JXNWtjRzlwYm5SVWVYQmxPaUJGYm1Sd2IybHVkRlI1Y0dVN1hISmNibHgwWlc1a2NHOXBiblJKWkRvZ2JuVnRZbVZ5TzF4eVhHNWNkR2RoWkdkbGRGVnlhVDg2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZE1iM04wUlc1a2NHOXBiblJjY2x4dWUxeHlYRzVjZEdWdVpIQnZhVzUwU1dRNklHNTFiV0psY2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRIWlhSQllYSmtkbUZ5YTAxaGJtbG1aWE4wWEhKY2JudGNjbHh1WEhSbllXUm5aWFJWY21rNklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRIWlVGaGNtUjJZWEpyVFdGdWFXWmxjM1JTWlhOd2IyNXpaVnh5WEc1N1hISmNibHgwWlhKeWIzSS9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGJXRnVhV1psYzNRL09pQkJZWEprZG1GeWEwMWhibWxtWlhOME8xeHlYRzVjZEdkaFpHZGxkRlZ5YVQ4NklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVFhOblZYQmtZWFJsVTJObGJtVkhjbUZ3YUZ4eVhHNTdYSEpjYmx4MGNtOXZkRDg2SUVGMlRtOWtaVHRjY2x4dVhIUm5ZV1JuWlhSVmNtdy9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGIzSnBaMmx1UHpvZ2MzUnlhVzVuTzF4eVhHNWNkSFZ6WlhKQloyVnVkRDg2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselZYTmxja0ZuWlc1MFFXRnlaSFpoY21zb0lIVnpaWEpCWjJWdWREb2djM1J5YVc1bklDbGNjbHh1ZTF4eVhHNWNkSEpsZEhWeWJpQjFjMlZ5UVdkbGJuUXVhVzVqYkhWa1pYTW9JRndpUVdGeVpIWmhjbXRjSWlBcE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxSVzUyWld4dmNHVW9JR1Z1ZGxOMGNtbHVaem9nYzNSeWFXNW5MQ0J3WVhKelpWQmhlV3h2WVdRNklHSnZiMnhsWVc0Z1BTQjBjblZsSUNrNklFVnVkbVZzYjNCbFhISmNibnRjY2x4dVhIUjBjbmxjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWlc1MklEMGdTbE5QVGk1d1lYSnpaU2dnWlc1MlUzUnlhVzVuSUNrZ1lYTWdSVzUyWld4dmNHVTdYSEpjYmx4MFhIUnBaaWdnWlc1MkxuQmhlV3h2WVdRZ0ppWWdjR0Z5YzJWUVlYbHNiMkZrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFpXNTJMbkJoZVd4dllXUlZibkJoWTJ0bFpDQTlJRXBUVDA0dWNHRnljMlVvSUdWdWRpNXdZWGxzYjJGa0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUnlaWFIxY200Z1pXNTJPMXh5WEc1Y2RIMWNjbHh1WEhSallYUmphQ2dnWlNBcFhISmNibHgwZTF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2labUZwYkdWa0lIUnZJSEJoY25ObElHVnVkbVZzYjNCbFhDSXNJR1Z1ZGxOMGNtbHVaeXdnWlNBcE8xeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTF6WjBkaFpHZGxkRk4wWVhKMFpXUmNjbHh1ZTF4eVhHNWNkR1Z3Vkc5T2IzUnBabms2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSemRHRnlkR1ZrUjJGa1oyVjBSVzVrY0c5cGJuUkpaRG9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRPYjJSbFNHRndkR2xqWEhKY2JudGNjbHh1WEhSdWIyUmxTV1E2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSaGJYQnNhWFIxWkdVNklHNTFiV0psY2p0Y2NseHVYSFJtY21WeGRXVnVZM2s2SUc1MWJXSmxjanRjY2x4dVhIUmtkWEpoZEdsdmJqb2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTF6WjBsdWRHVnlabUZqWlVWMlpXNTBYSEpjYm50Y2NseHVYSFJrWlhOMGFXNWhkR2x2YmpvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RHbHVkR1Z5Wm1GalpUb2djM1J5YVc1bk8xeHlYRzVjZEdSaGRHRTZJRzlpYW1WamREdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JOYzJkVFlYWmxVMlYwZEdsdVozTmNjbHh1ZTF4eVhHNWNkSE5sZEhScGJtZHpPaUJoYm5rN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uVlhCa1lYUmxRV04wYVc5dVUzUmhkR1ZjY2x4dWUxeHlYRzVjZEdkaFpHZGxkRWxrT2lCdWRXMWlaWEk3WEhKY2JseDBhR0Z1WkRvZ1JVaGhibVE3WEhKY2JseDBZV04wYVc5dVUzUmhkR1U2SUVGMlFXTjBhVzl1VTNSaGRHVTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVFhOblQzWmxjbkpwWkdWVWNtRnVjMlp2Y20xY2NseHVlMXh5WEc1Y2RHNXZaR1ZKWkRvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RIUnlZVzV6Wm05eWJUb2dRWFpPYjJSbFZISmhibk5tYjNKdE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZEhaWFJKYm5OMFlXeHNaV1JIWVdSblpYUnpYSEpjYm50Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRIWlhSSmJuTjBZV3hzWldSSFlXUm5aWFJ6VW1WemNHOXVjMlZjY2x4dWUxeHlYRzVjZEdsdWMzUmhiR3hsWkVkaFpHZGxkSE02SUhOMGNtbHVaMXRkTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMFJsYzNSeWIzbEhZV1JuWlhSY2NseHVlMXh5WEc1Y2RHZGhaR2RsZEVsa09pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uU1c1emRHRnNiRWRoWkdkbGRGeHlYRzU3WEhKY2JseDBaMkZrWjJWMFZYSnBPaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVFhOblUyVjBSMkZrWjJWMFZHOUJkWFJ2VEdGMWJtTm9YSEpjYm50Y2NseHVYSFJuWVdSblpYUlZjbWs2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uVW1WemIzVnlZMlZNYjJGa1JtRnBiR1ZrWEhKY2JudGNjbHh1WEhSdWIyUmxTV1E2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSeVpYTnZkWEpqWlZWeWFUb2djM1J5YVc1bk8xeHlYRzVjZEdWeWNtOXlPaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYmk4dklIUjRMQ0IwZVN3Z2RIb3NJSEozTENCeWVDd2djbmtzSUhKNlhISmNibVY0Y0c5eWRDQjBlWEJsSUUxcGJtbHRZV3hRYjNObElEMGdXeUJ1ZFcxaVpYSXNJRzUxYldKbGNpd2diblZ0WW1WeUxDQnVkVzFpWlhJc0lHNTFiV0psY2l3Z2JuVnRZbVZ5TENCdWRXMWlaWElnWFR0Y2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVk4wWVhKMFpXUmNjbHh1ZTF4eVhHNWNkSFJ5WVc1emJXbDBkR1Z5T2lCRmJtUndiMmx1ZEVGa1pISTdYSEpjYmx4MGRISmhibk50YVhSMFpYSlBjbWxuYVc0NklITjBjbWx1Wnp0Y2NseHVYSFIwY21GdWMyMXBkSFJsY2xWelpYSkJaMlZ1ZERvZ2MzUnlhVzVuTzF4eVhHNWNkSEpsWTJWcGRtVnlPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY21WalpXbDJaWEpQY21sbmFXNDZJSE4wY21sdVp6dGNjbHh1WEhSeVpXTmxhWFpsY2xWelpYSkJaMlZ1ZERvZ2MzUnlhVzVuTzF4eVhHNWNkR2xtWVdObE9pQnpkSEpwYm1jN1hISmNibHgwZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1WEhScGJuUmxjbk5sWTNScGIyNVFiMmx1ZEQ4NklFRjJWbVZqZEc5eU8xeHlYRzVjZEhCaGNtRnRjejg2SUc5aWFtVmpkRHNnTHk4Z1ZHaHBjeUIzYVd4c0lHOXViSGtnWW1VZ2MyVjBJR1p2Y2lCcGJtbDBhV0ZzSUdsdWRHVnlabUZqWlNCc2IyTnJjMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowbHVkR1Z5Wm1GalpVVnVaR1ZrWEhKY2JudGNjbHh1WEhSMGNtRnVjMjFwZEhSbGNqb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkSEpsWTJWcGRtVnlPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwYVdaaFkyVTZJSE4wY21sdVp6dGNjbHh1WEhSMGNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjajg2SUVGMlRtOWtaVlJ5WVc1elptOXliVHRjY2x4dVhIUnBiblJsY25ObFkzUnBiMjVRYjJsdWREODZJRUYyVm1WamRHOXlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowbHVkR1Z5Wm1GalpVeHZZMnRjY2x4dWUxeHlYRzVjZEhSeVlXNXpiV2wwZEdWeU9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JseDBjbVZqWldsMlpYSTZJRVZ1WkhCdmFXNTBRV1JrY2p0Y2NseHVYSFJwWm1GalpUb2djM1J5YVc1bk8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCSmJuUmxjbVpoWTJWTWIyTnJVbVZ6ZFd4MFhISmNibnRjY2x4dVhIUlRkV05qWlhOeklEMGdNQ3hjY2x4dVhIUkJiSEpsWVdSNVRHOWphMlZrSUQwZ01TeGNjbHh1WEhST2IzUk1iMk5yWldRZ1BTQXlMRnh5WEc1Y2RFbHVkR1Z5Wm1GalpVNXZkRVp2ZFc1a0lEMGdNeXhjY2x4dVhIUkpiblJsY21aaFkyVk9ZVzFsVFdsemJXRjBZMmdnUFNBMExGeHlYRzVjZEVsdWRHVnlabUZqWlZKbFkyVnBkbVZ5VFdsemJXRjBZMmdnUFNBMUxGeHlYRzVjZEU1bGQxSmxZMlZwZG1WeVRtOTBSbTkxYm1RZ1BTQTJMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowbHVkR1Z5Wm1GalpVeHZZMnRTWlhOd2IyNXpaVnh5WEc1N1hISmNibHgwY21WemRXeDBPaUJKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVlZ1Ykc5amExeHlYRzU3WEhKY2JseDBkSEpoYm5OdGFYUjBaWEk2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSeVpXTmxhWFpsY2pvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RHbG1ZV05sT2lCemRISnBibWM3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RYTm5TVzUwWlhKbVlXTmxWVzVzYjJOclVtVnpjRzl1YzJWY2NseHVlMXh5WEc1Y2RISmxjM1ZzZERvZ1NXNTBaWEptWVdObFRHOWphMUpsYzNWc2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JOYzJkSmJuUmxjbVpoWTJWU1pXeHZZMnRjY2x4dWUxeHlYRzVjZEhSeVlXNXpiV2wwZEdWeU9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JseDBiMnhrVW1WalpXbDJaWEk2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSdVpYZFNaV05sYVhabGNqb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkR2xtWVdObE9pQnpkSEpwYm1jN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uU1c1MFpYSm1ZV05sVW1Wc2IyTnJVbVZ6Y0c5dWMyVmNjbHh1ZTF4eVhHNWNkSEpsYzNWc2REb2dTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkRHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZEpiblJsY21aaFkyVlVjbUZ1YzJadmNtMVZjR1JoZEdWa1hISmNibnRjY2x4dVhIUmtaWE4wYVc1aGRHbHZiam9nUlc1a2NHOXBiblJCWkdSeU8xeHlYRzVjZEhCbFpYSTZJRVZ1WkhCdmFXNTBRV1JrY2p0Y2NseHVYSFJwWm1GalpUb2djM1J5YVc1bk8xeHlYRzVjZEdSbGMzUnBibUYwYVc5dVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJwYm5SbGNuTmxZM1JwYjI1UWIybHVkRDg2SUVGMlZtVmpkRzl5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVk5sYm1SRmRtVnVkRnh5WEc1N1hISmNibHgwWkdWemRHbHVZWFJwYjI0NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUndaV1Z5T2lCRmJtUndiMmx1ZEVGa1pISTdYSEpjYmx4MGFXWmhZMlU2SUhOMGNtbHVaenRjY2x4dVhIUmxkbVZ1ZERvZ2IySnFaV04wTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVk5sYm1SRmRtVnVkRkpsYzNCdmJuTmxYSEpjYm50Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRKYm5SbGNtWmhZMlZTWldObGFYWmxSWFpsYm5SY2NseHVlMXh5WEc1Y2RHUmxjM1JwYm1GMGFXOXVPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0dWbGNqb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkR2xtWVdObE9pQnpkSEpwYm1jN1hISmNibHgwWlhabGJuUTZJRzlpYW1WamREdGNjbHh1WEhSa1pYTjBhVzVoZEdsdmJrWnliMjFRWldWeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wN1hISmNibHgwYVc1MFpYSnpaV04wYVc5dVVHOXBiblEvT2lCQmRsWmxZM1J2Y2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHVnVkVzBnUVhaT2IyUmxWSGx3WlZ4eVhHNTdYSEpjYmx4MFNXNTJZV3hwWkNBOUlDMHhMRnh5WEc1Y2NseHVYSFJEYjI1MFlXbHVaWElnUFNBd0xGeHlYRzVjZEU5eWFXZHBiaUE5SURFc1hISmNibHgwVkhKaGJuTm1iM0p0SUQwZ01peGNjbHh1WEhSTmIyUmxiQ0E5SURNc1hISmNibHgwTHk5UVlXNWxiQ0E5SURRc1hISmNibHgwTHk5UWIydGxjaUE5SURVc1hISmNibHgwTHk4Z1IzSmhZbUpoWW14bElEMGdOaXhjY2x4dVhIUXZMeUJJWVc1a2JHVWdQU0EzTEZ4eVhHNWNkQzh2SUVkeVlXSmlaWElnUFNBNExGeHlYRzVjZEM4dklFaHZiMnNnUFNBNUxGeHlYRzVjZEV4cGJtVWdQU0F4TUN4Y2NseHVYSFF2TDFCaGJtVnNTVzUwWlhKelpXTjBhVzl1SUQwZ01URXNYSEpjYmx4MFVHRnlaVzUwVkhKaGJuTm1iM0p0SUQwZ01USXNYSEpjYmx4MFNHVmhaRVpoWTJsdVoxUnlZVzV6Wm05eWJTQTlJREV6TEZ4eVhHNWNkQzh2SUZKbGJXOTBaVlZ1YVhabGNuTmxJRDBnTVRRc1hISmNibHgwTHk4Z1VtVnRiM1JsVDNKcFoybHVJRDBnTVRVc1hISmNibHgwTHk4Z1VtOXZiVTFsYldKbGNpQTlJREUyTEZ4eVhHNWNkRWx1ZEdWeVptRmpaVVZ1ZEdsMGVTQTlJREUzTEZ4eVhHNWNkRU5vYVd4a0lEMGdNVGdzWEhKY2JseDBUVzlrWld4VWNtRnVjMlp2Y20wZ1BTQXhPU3hjY2x4dWZWeHlYRzVjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpKYm5SbGNtWmhZMlZGZG1WdWRGQnliMk5sYzNOdmNseHlYRzU3WEhKY2JseDBLQ0JwWm1GalpUb2djM1J5YVc1bkxDQnpaVzVrWlhJNklFVnVaSEJ2YVc1MFFXUmtjaXdnWkdGMFlUb2diMkpxWldOMElDazZJSFp2YVdRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBiblJsY21aaFkyVlViMU4wY21sdVp5Z2dkSEpoYm5OdGFYUjBaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2djbVZqWldsMlpYSTZJRVZ1WkhCdmFXNTBRV1JrY2l3Z2FXWmhZMlU2SUhOMGNtbHVaeUFwWEhKY2JudGNjbHh1WEhSeVpYUjFjbTRnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lIUnlZVzV6YldsMGRHVnlJQ2tnS3lCY0lpMCtYQ0lnS3lCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5Z2djbVZqWldsMlpYSWdLU0JjY2x4dVhIUmNkQ3NnWENJb1hDSWdLeUJwWm1GalpTQXJJRndpS1Z3aU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhVzUwWlhKbVlXTmxVM1J5YVc1blJuSnZiVTF6WnlnZ2JUb2dleUIwY21GdWMyMXBkSFJsY2pvZ1JXNWtjRzlwYm5SQlpHUnlMQ0J5WldObGFYWmxjam9nUlc1a2NHOXBiblJCWkdSeUxDQmNjbHh1WEhScFptRmpaVG9nYzNSeWFXNW5JSDBnS1Z4eVhHNTdYSEpjYmx4MGNtVjBkWEp1SUdsdWRHVnlabUZqWlZSdlUzUnlhVzVuS0cwdWRISmhibk50YVhSMFpYSXNJRzB1Y21WalpXbDJaWElzSUcwdWFXWmhZMlVnS1R0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaV1pXTjBiM0pjY2x4dWUxeHlYRzVjZEhnNklHNTFiV0psY2p0Y2NseHVYSFI1T2lCdWRXMWlaWEk3WEhKY2JseDBlam9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGMlVYVmhkR1Z5Ym1sdmJseHlYRzU3WEhKY2JseDBlRG9nYm5WdFltVnlPMXh5WEc1Y2RIazZJRzUxYldKbGNqdGNjbHh1WEhSNk9pQnVkVzFpWlhJN1hISmNibHgwZHpvZ2JuVnRZbVZ5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRjJUbTlrWlZSeVlXNXpabTl5YlZ4eVhHNTdYSEpjYmx4MGNHOXphWFJwYjI0L09pQkJkbFpsWTNSdmNqdGNjbHh1WEhSeWIzUmhkR2x2Ymo4NklFRjJVWFZoZEdWeWJtbHZianRjY2x4dVhIUnpZMkZzWlQ4NklFRjJWbVZqZEc5eU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCRlZtOXNkVzFsVkhsd1pWeHlYRzU3WEhKY2JseDBTVzUyWVd4cFpDQTlJQzB4TEZ4eVhHNWNjbHh1WEhSVGNHaGxjbVVnUFNBd0xGeHlYRzVjZEUxdlpHVnNRbTk0SUQwZ01TeGNjbHh1WEhSQlFVSkNJRDBnTVN4Y2NseHVYSFJKYm1acGJtbDBaU0E5SURNc1hISmNibHgwUlcxd2RIa2dQU0EwTEZ4eVhHNWNkRkpoZVNBOUlEVXNJQzh2SUhKaGVTQnBjeUJoYkhkaGVYTWdaRzkzYmlCMGFHVWdjRzl6YVhScGRtVWdXQ0JoZUdseklHWnliMjBnZEdobElHOXlhV2RwYmx4eVhHNWNkRk5yWld4bGRHOXVJRDBnTml4Y2NseHVmVHRjY2x4dVhISmNiaThxS2lCV2IyeDFiV1VnWTI5dWRHVjRkQ0JoYkd4dmQzTWdaVzUwYVhScFpYTWdkRzhnYzNCbFkybG1lU0IyYjJ4MWJXVnpJSFJvWVhSY2NseHVJQ29nYjI1c2VTQmhjSEJzZVNCMGJ5QnpkR0Z5ZEdsdVp5QmhiaUJwYm5SbGNtWmhZMlVzSUc5dWJIa2dZWEJ3YkhrZ2RHOWNjbHh1SUNvZ1kyOXVkR2x1ZFdsdVp5QmhiaUJwYm5SbGNtWmhZMlVzSUc5eUlHRnNkMkY1Y3lCaGNIQnNlUzRnWEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWlc1MWJTQkZWbTlzZFcxbFEyOXVkR1Y0ZEZ4eVhHNTdYSEpjYmx4MFFXeDNZWGx6SUQwZ01DeGNjbHh1WEhSVGRHRnlkRTl1YkhrZ1BTQXhMRnh5WEc1Y2RFTnZiblJwYm5WbFQyNXNlU0E5SURJc1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZCUWtKY2NseHVlMXh5WEc1Y2RIaE5hVzQ2SUc1MWJXSmxjanRjY2x4dVhIUjRUV0Y0T2lCdWRXMWlaWEk3WEhKY2JseDBlVTFwYmpvZ2JuVnRZbVZ5TzF4eVhHNWNkSGxOWVhnNklHNTFiV0psY2p0Y2NseHVYSFI2VFdsdU9pQnVkVzFpWlhJN1hISmNibHgwZWsxaGVEb2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVm05c2RXMWxYSEpjYm50Y2NseHVYSFIwZVhCbE9pQkZWbTlzZFcxbFZIbHdaVHRjY2x4dVhIUnViMlJsUm5KdmJWWnZiSFZ0WlQ4NklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJqYjI1MFpYaDBQem9nUlZadmJIVnRaVU52Ym5SbGVIUTdYSEpjYmx4eVhHNWNkSEpoWkdsMWN6ODZJRzUxYldKbGNqdGNjbHh1WEhSMWNtay9PaUJ6ZEhKcGJtYzdYSEpjYmx4MFlXRmlZajg2SUVGQlFrSTdYSEpjYmx4MGMydGxiR1YwYjI1UVlYUm9Qem9nYzNSeWFXNW5PeUF2THlBdmRYTmxjaTlvWVc1a0wyeGxablFnYjNJZ0wzVnpaWEl2YUdGdVpDOXlhV2RvZEZ4eVhHNWNkSE5qWVd4bFB6b2diblZ0WW1WeU95QXZMeUJUWTJGc1pYTWdjbUZrYVhWeklHOXlJRUZCUWtJZ0tHRm1kR1Z5SUcxdlpHVnNJR0p2ZUNCcGN5QnlaWE52YkhabFpDbGNjbHh1WEhSMmFYTjFZV3hwZW1VL09pQmliMjlzWldGdU95QXZMeUJKWmlCMGFHbHpJR2x6SUhSeWRXVWdRV0Z5WkhaaGNtc2dkMmxzYkNCeVpXNWtaWElnZEdobElIWnZiSFZ0WlNCMGJ5QjBhR1VnWW1WemRDQnZaaUJwZEhNZ1lXSnBiR2wwZVZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pXMXdkSGxXYjJ4MWJXVW9LVG9nUVhaV2IyeDFiV1ZjY2x4dWUxeHlYRzVjZEhKbGRIVnliaUI3SUhSNWNHVTZJRVZXYjJ4MWJXVlVlWEJsTGtWdGNIUjVJSDA3WEhKY2JuMWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x1Wm1sdWFYUmxWbTlzZFcxbEtDazZJRUYyVm05c2RXMWxYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdleUIwZVhCbE9pQkZWbTlzZFcxbFZIbHdaUzVKYm1acGJtbDBaU0I5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXOWtaV3hDYjNoV2IyeDFiV1VvSUhWeWFUb2djM1J5YVc1bkxDQnpZMkZzWlQ4NklHNTFiV0psY2lBcFhISmNibnRjY2x4dVhIUnlaWFIxY200Z0tGeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBlWEJsT2lCRlZtOXNkVzFsVkhsd1pTNU5iMlJsYkVKdmVDeGNjbHh1WEhSY2RGeDBkWEpwTEZ4eVhHNWNkRngwWEhSelkyRnNaVnh5WEc1Y2RGeDBmU0FwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlITndhR1Z5WlZadmJIVnRaU2dnY21Ga2FYVnpPaUJ1ZFcxaVpYSWdLU0E2SUVGMlZtOXNkVzFsWEhKY2JudGNjbHh1WEhSeVpYUjFjbTRnS0Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1VGNHaGxjbVVzWEhKY2JseDBYSFJjZEhKaFpHbDFjeXhjY2x4dVhIUmNkSDFjY2x4dVhIUXBYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5WVhsV2IyeDFiV1VvSUhOMFlYSjBPaUIyWldNekxDQmthWEk2SUhabFl6TWdLVnh5WEc1N1hISmNibHgwYkdWMElHNXZaR1ZHY205dFZtOXNkVzFsT2lCdFlYUTBPMXh5WEc1Y2NseHVYSFJzWlhRZ1ltRmphem9nZG1Wak16dGNjbHh1WEhScFppZ2dkbVZqTXk1a2IzUW9JSFpsWXpNdWRYQXNJR1JwY2lBcElENGdNQzQ1T1RrZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdKaFkyc2dQU0IyWldNekxtWnZjbmRoY21RN1hISmNibHgwZlZ4eVhHNWNkR1ZzYzJWY2NseHVYSFI3WEhKY2JseDBYSFJpWVdOcklEMGdkbVZqTXk1amNtOXpjeWdnWkdseUxDQjJaV016TG5Wd0lDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnNaWFFnZFhBZ1BTQjJaV016TG1OeWIzTnpLQ0JpWVdOckxDQmthWElnS1R0Y2NseHVYSEpjYmx4MGJtOWtaVVp5YjIxV2IyeDFiV1VnUFNCdVpYY2diV0YwTkNoYlhISmNibHgwWEhSa2FYSXVlQ3hjY2x4dVhIUmNkR1JwY2k1NUxGeHlYRzVjZEZ4MFpHbHlMbm9zWEhKY2JseDBYSFF3TEZ4eVhHNWNjbHh1WEhSY2RIVndMbmdzWEhKY2JseDBYSFIxY0M1NUxGeHlYRzVjZEZ4MGRYQXVlaXhjY2x4dVhIUmNkREFzWEhKY2JseHlYRzVjZEZ4MFltRmpheTU0TEZ4eVhHNWNkRngwWW1GamF5NTVMRnh5WEc1Y2RGeDBZbUZqYXk1NkxGeHlYRzVjZEZ4ME1DeGNjbHh1WEhKY2JseDBYSFJ6ZEdGeWRDNTRMQ0J6ZEdGeWRDNTVMQ0J6ZEdGeWRDNTZMQ0F4TEZ4eVhHNWNkRjBnS1R0Y2NseHVYSEpjYmx4MGNtVjBkWEp1SUNoY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRIbHdaVG9nUlZadmJIVnRaVlI1Y0dVdVVtRjVMRnh5WEc1Y2RGeDBYSFJ1YjJSbFJuSnZiVlp2YkhWdFpUb2dibTlrWlZSeVlXNXpabTl5YlVaeWIyMU5ZWFEwS0NCdWIyUmxSbkp2YlZadmJIVnRaU0FwTEZ4eVhHNWNkRngwZlNCaGN5QkJkbFp2YkhWdFpTQXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkZUbTlrWlVac1lXZHpYSEpjYm50Y2NseHVYSFJXYVhOcFlteGxJRngwWEhSY2RGeDBYSFE5SURFZ1BEd2dNQ3hjY2x4dVhIUlFjbVZ6WlhKMlpVZHlZV0pVY21GdWMyWnZjbTBnWEhSY2REMGdNU0E4UENBeExGeHlYRzVjZEU1dmRHbG1lVTl1VkhKaGJuTm1iM0p0UTJoaGJtZGxYSFJjZEQwZ01TQThQQ0F5TEZ4eVhHNWNkRTV2ZEdsbWVWQnliM2hwYldsMGVWZHBkR2h2ZFhSSGNtRmlJRngwUFNBeElEdzhJRE1zWEhKY2JseDBRV3hzYjNkRWNtOXdUMjVJYjI5cmN5QWdYSFJjZEZ4MFBTQXhJRHc4SURRc1hISmNibHgwUVd4c2IzZE5kV3gwYVhCc1pVUnliM0J6WEhSY2RGeDBQU0F4SUR3OElEVXNYSEpjYmx4MFZHVjBhR1Z5WldSY2RGeDBYSFJjZEZ4MFBTQXhJRHc4SURZc1hISmNibHgwVTJodmQwZHlZV0pKYm1ScFkyRjBiM0pjZEZ4MFhIUTlJREVnUER3Z055eGNjbHh1WEhSU1pXMXZkR1ZjZEZ4MFhIUmNkRngwWEhROUlERWdQRHdnT0N4Y2NseHVYSFJJYVdkb2JHbG5hSFJJYjI5cmN5QWdYSFJjZEZ4MFBTQXhJRHc4SURrc1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpEYjI1emRISmhhVzUwWEhKY2JudGNjbHh1WEhSdGFXNVlQem9nYm5WdFltVnlPMXh5WEc1Y2RHMWhlRmcvT2lCdWRXMWlaWEk3WEhKY2JseDBiV2x1V1Q4NklHNTFiV0psY2p0Y2NseHVYSFJ0WVhoWlB6b2diblZ0WW1WeU8xeHlYRzVjZEcxcGJsby9PaUJ1ZFcxaVpYSTdYSEpjYmx4MGJXRjRXajg2SUc1MWJXSmxjanRjY2x4dVhIUm5jbUYyYVhSNVFXeHBaMjVsWkQ4NklHSnZiMnhsWVc0N1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpEYjJ4dmNseHlYRzU3WEhKY2JseDBjam9nYm5WdFltVnlPMXh5WEc1Y2RHYzZJRzUxYldKbGNqdGNjbHh1WEhSaU9pQnVkVzFpWlhJN1hISmNibHgwWVQ4NklHNTFiV0psY2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWphMXh5WEc1N1hISmNibHgwYVdaaFkyVTZJSE4wY21sdVp6dGNjbHh1WEhSeVpXTmxhWFpsY2pvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RIQmhjbUZ0Y3o4NklHOWlhbVZqZER0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkazV2WkdWY2NseHVlMXh5WEc1Y2RIUjVjR1U2SUVGMlRtOWtaVlI1Y0dVN1hISmNibHgwYVdRNklHNTFiV0psY2p0Y2NseHVYSFJ3WlhKemFYTjBaVzUwVG1GdFpUODZJSE4wY21sdVp6dGNjbHh1WEhSbmJHOWlZV3hKWkQ4NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUm1iR0ZuY3pvZ1JVNXZaR1ZHYkdGbmN6dGNjbHh1WEhSamFHbHNaSEpsYmo4NklFRjJUbTlrWlZ0ZE8xeHlYRzVjY2x4dVhIUndjbTl3VDNKcFoybHVQem9nYzNSeWFXNW5PMXh5WEc1Y2RIQnliM0JWYm1sMlpYSnpaVTVoYldVL09pQnpkSEpwYm1jN1hISmNibHgwY0hKdmNGUnlZVzV6Wm05eWJUODZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1WEhSd2NtOXdUVzlrWld4VmNtay9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGNISnZjRlp2YkhWdFpUODZJRUYyVm05c2RXMWxPMXh5WEc1Y2RIQnliM0JQZFhSbGNsWnZiSFZ0WlZOallXeGxQem9nYm5WdFltVnlPMXh5WEc1Y2RIQnliM0JXYjJ4MWJXVnpQem9nUVhaV2IyeDFiV1ZiWFR0Y2NseHVYSFJ3Y205d1VISnBiM0pwZEhrL09pQnVkVzFpWlhJN1hISmNibHgwY0hKdmNGQmhjbVZ1ZEVGa1pISS9PaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0hKdmNFbHVkR1Z5WVdOMGFYWmxQem9nWW05dmJHVmhianRjY2x4dVhIUndjbTl3UTNWemRHOXRUbTlrWlZSNWNHVS9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGNISnZjRk5vWVhKbFpGUmxlSFIxY21VL09pQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZPMXh5WEc1Y2RIQnliM0JEYjI1emRISmhhVzUwUHpvZ1FYWkRiMjV6ZEhKaGFXNTBPMXh5WEc1Y2RIQnliM0JEYjJ4dmNqODZJRUYyUTI5c2IzSTdYSEpjYmx4MGNISnZjRTkyWlhKc1lYbFBibXg1UHpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJ3Y205d1FXNXBiV0YwYVc5dVUyOTFjbU5sUHpvZ2MzUnlhVzVuTzF4eVhHNWNkSEJ5YjNCRmJtUkJaR1J5UHpvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RIQnliM0JVYUdsamEyNWxjM00vT2lCdWRXMWlaWEk3WEhKY2JseDBjSEp2Y0ZOMFlYSjBSMkZ3UHpvZ2JuVnRZbVZ5TzF4eVhHNWNkSEJ5YjNCRmJtUkhZWEEvT2lCdWRXMWlaWEk3WEhKY2JseDBjSEp2Y0ZOallXeGxWRzlHYVhRL09pQkJkbFpsWTNSdmNqdGNjbHh1WEhSd2NtOXdTVzUwWlhKbVlXTmxjejg2SUhOMGNtbHVaMXRkTzF4eVhHNWNkSEJ5YjNCVWNtRnVjMjFwZEhNL09pQnpkSEpwYm1kYlhUdGNjbHh1WEhSd2NtOXdVbVZqWldsMlpYTS9PaUJ6ZEhKcGJtZGJYVHRjY2x4dVhIUndjbTl3U1c1MFpYSm1ZV05sVEc5amEzTS9PaUJKYm1sMGFXRnNTVzUwWlhKbVlXTmxURzlqYTF0ZE8xeHlYRzVjZEhCeWIzQkRhR2xzWkVGa1pISS9PaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0hKdmNFMXZaR1ZzVG05a1pVbGtQem9nYzNSeWFXNW5PMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkZTR0Z1WkZ4eVhHNTdYSEpjYmx4MFNXNTJZV3hwWkNBOUlDMHhMRnh5WEc1Y2RFeGxablFnUFNBd0xGeHlYRzVjZEZKcFoyaDBJRDBnTVN4Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQmxiblZ0SUVWVVpYaDBkWEpsVkhsd1pWeHlYRzU3WEhKY2JseDBTVzUyWVd4cFpDQTlJREFzWEhKY2JseDBSRE5FTVRGVVpYaDBkWEpsTWtRZ1BTQXhMRnh5WEc1Y2RGUmxlSFIxY21WVmNtd2dQU0F5TEZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JGVkdWNGRIVnlaVVp2Y20xaGRGeHlYRzU3WEhKY2JseDBVamhIT0VJNFFUZ2dQU0F4TEZ4eVhHNWNkRUk0UnpoU09FRTRJRDBnTWl4Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZYSEpjYm50Y2NseHVYSFJrZUdkcFNHRnVaR3hsUHpvZ2MzUnlhVzVuTzF4eVhHNWNkSFJsZUhSMWNtVkVZWFJoUW1GelpUWTBQem9nYzNSeWFXNW5PMXh5WEc1Y2RIVnliRDg2SUhOMGNtbHVaenRjY2x4dVhIUjBlWEJsT2lCRlZHVjRkSFZ5WlZSNWNHVTdYSEpjYmx4MFptOXliV0YwT2lCRlZHVjRkSFZ5WlVadmNtMWhkRHRjY2x4dVhIUnBiblpsY25SWlB6b2dZbTl2YkdWaGJqdGNjbHh1WEhSM2FXUjBhRDg2SUc1MWJXSmxjanRjY2x4dVhIUm9aV2xuYUhRL09pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpTWlc1a1pYSmxja052Ym1acFoxeHlYRzU3WEhKY2JseDBaVzVoWW14bFRXbDRaV1JTWldGc2FYUjVPaUJpYjI5c1pXRnVPMXh5WEc1Y2RHMXBlR1ZrVW1WaGJHbDBlVVp2ZGpvZ2JuVnRZbVZ5TzF4eVhHNWNkR05zWldGeVEyOXNiM0k2SUZ0dWRXMWlaWElzSUc1MWJXSmxjaXdnYm5WdFltVnlYVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdVR1Z5YldsemMybHZibHh5WEc1N1hISmNibHgwVFdGemRHVnlJRDBnWENKdFlYTjBaWEpjSWl4Y2NseHVYSFJUWTJWdVpVZHlZWEJvSUQwZ1hDSnpZMlZ1WldkeVlYQm9YQ0lzWEhKY2JseDBSbUYyYjNKcGRHVnpJRDBnWENKbVlYWnZjbWwwWlhOY0lpeGNjbHh1WEhSVGRHRnlkRlZ5YkNBOUlGd2ljM1JoY25SMWNteGNJaXhjY2x4dVhIUkpibkIxZENBOUlGd2lhVzV3ZFhSY0lpeGNjbHh1WEhSVFpYUjBhVzVuY3lBOUlGd2ljMlYwZEdsdVozTmNJaXhjY2x4dVhIUkJjSEJzYVdOaGRHbHZiaUE5SUZ3aVlYQndiR2xqWVhScGIyNWNJaXhjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQllYSmtkbUZ5YTAxaGJtbG1aWE4wUlhoMFpXNXphVzl1WEhKY2JudGNjbHh1WEhSd1pYSnRhWE56YVc5dWN6b2dVR1Z5YldsemMybHZibHRkTzF4eVhHNWNkR0p5YjNkelpYSlhhV1IwYURvZ2JuVnRZbVZ5TzF4eVhHNWNkR0p5YjNkelpYSklaV2xuYUhRNklHNTFiV0psY2p0Y2NseHVYSFJ6ZEdGeWRFRjFkRzl0WVhScFkyRnNiSGs2SUdKdmIyeGxZVzQ3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FXRnlaSFpoY210TllXNXBabVZ6ZENCbGVIUmxibVJ6SUZkbFlrRndjRTFoYm1sbVpYTjBYSEpjYm50Y2NseHVYSFI0Y2w5MGVYQmxPaUJ6ZEhKcGJtYzdYSEpjYmx4MFlXRnlaSFpoY21zNklFRmhjbVIyWVhKclRXRnVhV1psYzNSRmVIUmxibk5wYjI0N1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpIWVdSblpYUlRaWFIwYVc1bmMxeHlYRzU3WEhKY2JseDBabUYyYjNKcGRHVmtPaUJpYjI5c1pXRnVMRnh5WEc1Y2RHRjFkRzlNWVhWdVkyaEZibUZpYkdWa09pQmliMjlzWldGdVhISmNibjFjY2x4dVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHVnVkVzBnUlVGamRHbHZibHh5WEc1N1hISmNibHgwUVNBOUlEQXNYSEpjYmx4MFFpQTlJREVzWEhKY2JseDBVM0YxWldWNlpTQTlJRElzWEhKY2JseDBSM0poWWlBOUlETXNYSEpjYmx4MFJHVjBZV05vSUQwZ05DeGNjbHh1WEhSSGNtRmlVMmh2ZDFKaGVTQTlJRFVzWEhKY2JseDBSM0poWWsxdmRtVWdQU0EyTEZ4eVhHNWNkRTFoZUZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pXMXdkSGxCWTNScGIyNVRkR0YwWlNncE9pQkJka0ZqZEdsdmJsTjBZWFJsWEhKY2JudGNjbHh1WEhSeVpYUjFjbTRnS0Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSaE9pQm1ZV3h6WlN3Z1lqcG1ZV3h6WlN3Z2MzRjFaV1Y2WlRvZ1ptRnNjMlVzWEhKY2JseDBYSFJjZEdkeVlXSTZJR1poYkhObExDQm5jbUZpVTJodmQxSmhlVG9nWm1Gc2MyVXNJR1JsZEdGamFEb2dabUZzYzJVc1hISmNibHgwWEhSY2RHZHlZV0pOYjNabE9pQmJJREFzSURBZ1hWeHlYRzVjZEZ4MGZTQXBPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHWnBiSFJsY2tGamRHbHZibk5HYjNKSFlXUm5aWFFvSUdGamRHbHZibE4wWVhSbE9pQkJka0ZqZEdsdmJsTjBZWFJsSUNrNklFRjJRV04wYVc5dVUzUmhkR1ZjY2x4dWUxeHlYRzVjZEM4dklFUnZiaWQwSUdGamRIVmhiR3g1SUdacGJIUmxjaUJtYjNJZ2JtOTNMbHh5WEc1Y2RISmxkSFZ5YmlCN1hISmNibHgwWEhRdUxpNWhZM1JwYjI1VGRHRjBaU3hjY2x4dVhIUjlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJGa1oyVjBSR1YwWVdsc2MxUnZTV1FvSUdkaFpHZGxkRTVoYldVNklITjBjbWx1Wnl3Z1oyRmtaMlYwVlhKcE9pQnpkSEpwYm1jc0lHZGhaR2RsZEZCbGNuTnBjM1JsYm1ObFZYVnBaRDg2SUhOMGNtbHVaeUFwWEhKY2JudGNjbHh1WEhSc1pYUWdabWxzZEdWeVpXUk9ZVzFsSUQwZ0tDQm5ZV1JuWlhST1lXMWxJQ3NnWjJGa1oyVjBWWEpwSUNrdWNtVndiR0ZqWlNnZ0wxeGNWeTluTENCY0lsOWNJaUFwTG5SdlRHOTNaWEpEWVhObEtDazdYSEpjYmx4MGFXWW9JR1pwYkhSbGNtVmtUbUZ0WlM1c1pXNW5kR2dnUGlBeU5DQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFptbHNkR1Z5WldST1lXMWxJRDBnWm1sc2RHVnlaV1JPWVcxbExuTjFZbk4wY2lnZ01Dd2dNalFnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEdsbUtDQm5ZV1JuWlhSUVpYSnphWE4wWlc1alpWVjFhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCclpYbFViMGhoYzJnZ1BTQm5ZV1JuWlhSVmNta2dLeUJuWVdSblpYUlFaWEp6YVhOMFpXNWpaVlYxYVdRN1hISmNibHgwWEhSc1pYUWdhR0Z6YUNBOUlEQTdYSEpjYmx4MFhIUm1iM0lnS0NCc1pYUWdhU0E5SURBN0lHa2dQQ0JyWlhsVWIwaGhjMmd1YkdWdVozUm9PeUJwS3lzcElGeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnWTJoaGNpQTlJR3RsZVZSdlNHRnphQzVqYUdGeVEyOWtaVUYwS0drcE8xeHlYRzVjZEZ4MFhIUm9ZWE5vSUQwZ0tDaG9ZWE5vUER3MUtTMW9ZWE5vS1N0amFHRnlPMXh5WEc1Y2RGeDBYSFJvWVhOb0lEMGdhR0Z6YUNBbUlHaGhjMmc3SUM4dklFTnZiblpsY25RZ2RHOGdNekppYVhRZ2FXNTBaV2RsY2x4eVhHNWNkRngwZlZ4eVhHNWNkRnh5WEc1Y2RGeDBabWxzZEdWeVpXUk9ZVzFsSUNzOUlHaGhjMmd1ZEc5VGRISnBibWNvSURFMklDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnlaWFIxY200Z1ptbHNkR1Z5WldST1lXMWxPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGdWFXWmxjM1JWY21sR2NtOXRSMkZrWjJWMFZYSnBLQ0JuWVdSblpYUlZjbWs2SUhOMGNtbHVaeUFwWEhKY2JudGNjbHh1WEhScFppZ2daMkZrWjJWMFZYSnBMbVZ1WkhOWGFYUm9LQ0JjSWk5Y0lpQXBJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1oyRmtaMlYwVlhKcElDc2dYQ0p0WVc1cFptVnpkQzUzWldKdFlXNXBabVZ6ZEZ3aU8xeHlYRzVjZEgxY2NseHVYSFJsYkhObFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJR2RoWkdkbGRGVnlhU0FySUZ3aUwyMWhibWxtWlhOMExuZGxZbTFoYm1sbVpYTjBYQ0k3WEhKY2JseDBmVnh5WEc1OUlpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjY2x4dWRtRnlJRzFoZERKZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDIxaGRESmNJaWs3WEhKY2JtVjRjRzl5ZEhNdWJXRjBNaUE5SUcxaGRESmZNUzVrWldaaGRXeDBPMXh5WEc1MllYSWdiV0YwTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2YldGME0xd2lLVHRjY2x4dVpYaHdiM0owY3k1dFlYUXpJRDBnYldGME0xOHhMbVJsWm1GMWJIUTdYSEpjYm5aaGNpQnRZWFEwWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl0WVhRMFhDSXBPMXh5WEc1bGVIQnZjblJ6TG0xaGREUWdQU0J0WVhRMFh6RXVaR1ZtWVhWc2REdGNjbHh1ZG1GeUlIRjFZWFJmTVNBOUlISmxjWFZwY21Vb1hDSXVMM0YxWVhSY0lpazdYSEpjYm1WNGNHOXlkSE11Y1hWaGRDQTlJSEYxWVhSZk1TNWtaV1poZFd4ME8xeHlYRzUyWVhJZ2RtVmpNbDh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZkbVZqTWx3aUtUdGNjbHh1Wlhod2IzSjBjeTUyWldNeUlEMGdkbVZqTWw4eExtUmxabUYxYkhRN1hISmNiblpoY2lCMlpXTXpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOTJaV016WENJcE8xeHlYRzVsZUhCdmNuUnpMblpsWXpNZ1BTQjJaV016WHpFdVpHVm1ZWFZzZER0Y2NseHVkbUZ5SUhabFl6UmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzWmxZelJjSWlrN1hISmNibVY0Y0c5eWRITXVkbVZqTkNBOUlIWmxZelJmTVM1a1pXWmhkV3gwTzF4eVhHNHZMeU1nYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDFwYm1SbGVDNXFjeTV0WVhBaUxDSmNJblZ6WlNCemRISnBZM1JjSWp0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh5WEc1MllYSWdZMjl1YzNSaGJuUnpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOWpiMjV6ZEdGdWRITmNJaWs3WEhKY2JuWmhjaUIyWldNMElEMGdMeW9xSUVCamJHRnpjeUFxTHlBb1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZqTkNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjeUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTkNrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0haaGJIVmxjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZUhsNmR5QTlJSFpoYkhWbGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWVGd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZVZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2llbHdpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWQxd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZUhsY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWVIbDZYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0IyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmxZelF1Y0hKdmRHOTBlWEJsTENCY0luaDVlbmRjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCMllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQjJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWNsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpWjF3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2lZbHdpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aVlWd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpY21kY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWNtZGlYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0IyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmxZelF1Y0hKdmRHOTBlWEJsTENCY0luSm5ZbUZjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCMllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQjJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNWhkQ0E5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxdHBibVJsZUYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1Y21WelpYUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVpQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUzSUQwZ01EdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1amIzQjVJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV00wS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCMGFHbHpMbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlIUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNXVaV2RoZEdVZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnTFhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBdGRHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlDMTBhR2x6TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdMWFJvYVhNdWR6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzVsY1hWaGJITWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUQwOVBTQjJiMmxrSURBcElIc2dkR2h5WlhOb2IyeGtJRDBnWTI5dWMzUmhiblJ6WHpFdVpYQnphV3h2YmpzZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMbmdnTFNCMlpXTjBiM0l1ZUNrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb2RHaHBjeTU1SUMwZ2RtVmpkRzl5TG5rcElENGdkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektIUm9hWE11ZWlBdElIWmxZM1J2Y2k1NktTQStJSFJvY21WemFHOXNaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5jZ0xTQjJaV04wYjNJdWR5a2dQaUIwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1c1pXNW5kR2dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2gwYUdsekxuTnhkV0Z5WldSTVpXNW5kR2dvS1NrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1YzNGMVlYSmxaRXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE11ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIUm9hWE11ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIUm9hWE11ZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaUFySUhjZ0tpQjNLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDczlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FyUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0t6MGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNJQ3M5SUhabFkzUnZjaTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpRdWNISnZkRzkwZVhCbExuTjFZblJ5WVdOMElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0F0UFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0xUMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQzA5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZHlBdFBTQjJaV04wYjNJdWR6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ0tqMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTVJQ285SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZWlBcVBTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuY2dLajBnZG1WamRHOXlMbmM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1d2NtOTBiM1I1Y0dVdVpHbDJhV1JsSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVDQXZQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmtnTHowZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NklDODlJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkeUF2UFNCMlpXTjBiM0l1ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNXpZMkZzWlNBOUlHWjFibU4wYVc5dUlDaDJZV3gxWlN3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElDbzlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQXFQU0IyWVd4MVpUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZelF1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZ29LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F4S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlQ0FxUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmtnS2owZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU2SUNvOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZHlBcVBTQXdPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdiR1Z1WjNSb0lEMGdNUzR3SUM4Z2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBcVBTQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlDbzlJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dLajBnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUFxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1d2NtOTBiM1I1Y0dVdWJYVnNkR2x3YkhsTllYUTBJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGRISnBlQzV0ZFd4MGFYQnNlVlpsWXpRb2RHaHBjeXdnWkdWemRDazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1dGFYZ2dQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlMQ0IwYVcxbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak5DZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXJJSFJwYldVZ0tpQW9kbVZqZEc5eU1pNTRJQzBnZG1WamRHOXlMbmdwTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkR2x0WlNBcUlDaDJaV04wYjNJeUxua2dMU0IyWldOMGIzSXVlU2s3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RtVmpkRzl5TG5vZ0t5QjBhVzFsSUNvZ0tIWmxZM1J2Y2pJdWVpQXRJSFpsWTNSdmNpNTZLVHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCMlpXTjBiM0l1ZHlBcklIUnBiV1VnS2lBb2RtVmpkRzl5TWk1M0lDMGdkbVZqZEc5eUxuY3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZelF1YzNWdElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhabFl6UW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdkbVZqZEc5eUxuZ2dLeUIyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2RtVmpkRzl5TG5rZ0t5QjJaV04wYjNJeUxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nS3lCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkbVZqZEc5eUxuY2dLeUIyWldOMGIzSXlMbmM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1a2FXWm1aWEpsYm1ObElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhabFl6UW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdkbVZqZEc5eUxuZ2dMU0IyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2RtVmpkRzl5TG5rZ0xTQjJaV04wYjNJeUxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nTFNCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkbVZqZEc5eUxuY2dMU0IyWldOMGIzSXlMbmM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1d2NtOWtkV04wSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSFpsWXpRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2RtVmpkRzl5TG5nZ0tpQjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZG1WamRHOXlMbmtnS2lCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkbVZqZEc5eUxub2dLaUIyWldOMGIzSXlMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2RtVmpkRzl5TG5jZ0tpQjJaV04wYjNJeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV4ZFc5MGFXVnVkQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV00wS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhabFkzUnZjaTU0SUM4Z2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJSFpsWTNSdmNpNTVJQzhnZG1WamRHOXlNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIWmxZM1J2Y2k1NklDOGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUhabFkzUnZjaTUzSUM4Z2RtVmpkRzl5TWk1M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6UXVlbVZ5YnlBOUlHNWxkeUIyWldNMEtGc3dMQ0F3TENBd0xDQXhYU2s3WEhKY2JpQWdJQ0IyWldNMExtOXVaU0E5SUc1bGR5QjJaV00wS0ZzeExDQXhMQ0F4TENBeFhTazdYSEpjYmlBZ0lDQnlaWFIxY200Z2RtVmpORHRjY2x4dWZTZ3BLVHRjY2x4dVpYaHdiM0owY3k1a1pXWmhkV3gwSUQwZ2RtVmpORHRjY2x4dUx5OGpJSE52ZFhKalpVMWhjSEJwYm1kVlVrdzlkbVZqTkM1cWN5NXRZWEFpTENKcGJYQnZjblFnZXlCTmFXNXBiV0ZzVUc5elpTd2dRWFpPYjJSbFZISmhibk5tYjNKdExDQkJkbFpsWTNSdmNpQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZjSEp2ZEc5amIyd25PMXh5WEc1cGJYQnZjblFnZXlCMlpXTXpMQ0J0WVhRMExDQjJaV00wTENCdFlYUXpMQ0J4ZFdGMElIMGdabkp2YlNBblFIUnNZWFZyYTJGdUwzUnpiU2M3WEhKY2JtbHRjRzl5ZENBcUlHRnpJRkYxWVhSbGNtNXBiMjRnWm5KdmJTQW5jWFZoZEdWeWJtbHZiaWM3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkSEpoYm5Oc1lYUmxUV0YwS0NCME9pQjJaV016S1Z4eVhHNTdYSEpjYmx4MGJHVjBJRzBnUFNCdVpYY2diV0YwTkNncE8xeHlYRzVjZEcwdWMyVjBTV1JsYm5ScGRIa29LVHRjY2x4dVhIUnRMblJ5WVc1emJHRjBaU2dnZENBcE8xeHlYRzVjZEhKbGRIVnliaUJ0TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyTmhiR1ZOWVhRb0lITTZJSFpsWXpNcFhISmNibnRjY2x4dVhIUnNaWFFnYlNBOUlHNWxkeUJ0WVhRMEtDazdYSEpjYmx4MGJTNXpaWFJKWkdWdWRHbDBlU2dwTzF4eVhHNWNkRzB1YzJOaGJHVW9JSE1nS1R0Y2NseHVYSFJ5WlhSMWNtNGdiVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhGMVlYUkdjbTl0UVhocGMwRnVaMnhsUkdWbmNtVmxjeWdnWVhocGN6b2dkbVZqTXl3Z1pHVm5Qem9nYm5WdFltVnlJQ2s2SUhGMVlYUmNjbHh1ZTF4eVhHNWNkR2xtS0NBaFpHVm5JQ2xjY2x4dVhIUmNkSEpsZEhWeWJpQnVaWGNnY1hWaGRDZ2djWFZoZEM1cFpHVnVkR2wwZVM1NGVYcDNJQ2s3WEhKY2JseHlYRzVjZEhKbGRIVnliaUJ4ZFdGMExtWnliMjFCZUdselFXNW5iR1VvSUdGNGFYTXNJR1JsWnlBcUlFMWhkR2d1VUVrZ0x5QXhPREFnS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlISnZkR0YwYVc5dVRXRjBSbkp2YlVWMWJHVnlSR1ZuY21WbGN5Z2djam9nZG1Wak15QXBYSEpjYm50Y2NseHVYSFJzWlhRZ2NYZ2dQU0J4ZFdGMFJuSnZiVUY0YVhOQmJtZHNaVVJsWjNKbFpYTW9JSFpsWXpNdWNtbG5hSFFzSUhJdWVDQXBPMXh5WEc1Y2RHeGxkQ0J4ZVNBOUlIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFJHVm5jbVZsY3lnZ2RtVmpNeTUxY0N3Z2NpNTVJQ2s3WEhKY2JseDBiR1YwSUhGNklEMGdjWFZoZEVaeWIyMUJlR2x6UVc1bmJHVkVaV2R5WldWektDQjJaV016TG1admNuZGhjbVFzSUhJdWVpQXBPMXh5WEc1Y2NseHVYSFJzWlhRZ2NTQTlJSEY0TG0xMWJIUnBjR3g1S0NCeGVTQXBMbTExYkhScGNHeDVLQ0J4ZWlBcE8xeHlYRzVjZEhKbGRIVnliaUJ4TG5SdlRXRjBOQ2dwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1oyVjBVbTkzUm5KdmJVMWhkQ2dnYlRvZ2JXRjBOQ3dnYmpvZ2JuVnRZbVZ5SUNrZ09pQjJaV016SUZ4eVhHNTdYSEpjYmx4MGJHVjBJSEp2ZHlBOUlHMHVjbTkzS0NCdUlDazdYSEpjYmx4MGNtVjBkWEp1SUc1bGR5QjJaV016S0NCYklISnZkMXNnTUNCZExDQnliM2RiSURFZ1hTeHliM2RiSURJZ1hTd2dYU0FwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JtOWtaVlJ5WVc1elptOXliVVp5YjIxTllYUTBLQ0J0T2lCdFlYUTBJQ2tnT2lCQmRrNXZaR1ZVY21GdWMyWnZjbTFjY2x4dWUxeHlYRzVjZEdsbUtDQWhiU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RHeGxkQ0IwY21GdWMyWnZjbTA2SUVGMlRtOWtaVlJ5WVc1elptOXliU0E5SUh0OU8xeHlYRzVjZEd4bGRDQndiM01nUFNCdExtMTFiSFJwY0d4NVZtVmpOQ2dnYm1WM0lIWmxZelFvSUZzZ01Dd2dNQ3dnTUN3Z01TQmRJQ2tnS1R0Y2NseHVYSFJwWmlnZ2NHOXpMbmdnSVQwZ01DQjhmQ0J3YjNNdWVTQWhQU0F3SUh4OElIQnZjeTU2SUNFOUlEQWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnlZVzV6Wm05eWJTNXdiM05wZEdsdmJpQTlJSHNnZURvZ2NHOXpMbmdzSUhrNklIQnZjeTU1TENCNk9pQndiM011ZWlCOU8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGJHVjBJSGhUWTJGc1pTQTlJR2RsZEZKdmQwWnliMjFOWVhRb0lHMHNJREFnS1M1c1pXNW5kR2dvS1R0Y2NseHVYSFJzWlhRZ2VWTmpZV3hsSUQwZ1oyVjBVbTkzUm5KdmJVMWhkQ2dnYlN3Z01TQXBMbXhsYm1kMGFDZ3BPMXh5WEc1Y2RHeGxkQ0I2VTJOaGJHVWdQU0JuWlhSU2IzZEdjbTl0VFdGMEtDQnRMQ0F5SUNrdWJHVnVaM1JvS0NrN1hISmNibHgwYVdZb0lIaFRZMkZzWlNBaFBTQXhJSHg4SUhsVFkyRnNaU0FoUFNBeElIeDhJSHBUWTJGc1pTQWhQU0F4SUNsY2NseHVYSFI3WEhKY2JseDBYSFIwY21GdWMyWnZjbTB1YzJOaGJHVWdQU0I3SUhnZ09pQjRVMk5oYkdVc0lIazZJSGxUWTJGc1pTd2dlam9nZWxOallXeGxJSDA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJzWlhRZ2NtOTBUV0YwSUQwZ2JtVjNJRzFoZERNb0lGeHlYRzVjZEZ4MFcxeHlYRzVjZEZ4MFhIUnRMbUYwS0NBd0lDc2dNQ0FwSUM4Z2VGTmpZV3hsTENCdExtRjBLQ0F3SUNzZ01TQXBJQzhnZUZOallXeGxMQ0J0TG1GMEtDQXdJQ3NnTWlBcElDOGdlRk5qWVd4bExGeHlYRzVjZEZ4MFhIUnRMbUYwS0NBMElDc2dNQ0FwSUM4Z2VWTmpZV3hsTENCdExtRjBLQ0EwSUNzZ01TQXBJQzhnZVZOallXeGxMQ0J0TG1GMEtDQTBJQ3NnTWlBcElDOGdlVk5qWVd4bExGeHlYRzVjZEZ4MFhIUnRMbUYwS0NBNElDc2dNQ0FwSUM4Z2VsTmpZV3hsTENCdExtRjBLQ0E0SUNzZ01TQXBJQzhnZWxOallXeGxMQ0J0TG1GMEtDQTRJQ3NnTWlBcElDOGdlbE5qWVd4bExGeHlYRzVjZEZ4MFhTQXBPMXh5WEc1Y2RHeGxkQ0J5YjNRZ1BTQnliM1JOWVhRdWRHOVJkV0YwS0NrN1hISmNibHgwYVdZb0lISnZkQzU0SUNFOUlEQWdmSHdnY205MExua2dJVDBnTUNCOGZDQnliM1F1ZWlBaFBTQXdJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBjbUZ1YzJadmNtMHVjbTkwWVhScGIyNGdQU0I3SUhnNklISnZkQzU0TENCNU9pQnliM1F1ZVN3Z2Vqb2djbTkwTG5vc0lIYzZJSEp2ZEM1M0lIMDdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnlaWFIxY200Z2RISmhibk5tYjNKdE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ2dnZEhKaGJuTm1iM0p0T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBnS1RvZ2JXRjBORnh5WEc1N1hISmNibHgwYVdZb0lDRjBjbUZ1YzJadmNtMGdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCdFlYUTBMbWxrWlc1MGFYUjVPMXh5WEc1Y2RIMWNjbHh1WEhSY2NseHVYSFJzWlhRZ2RsUnlZVzV6T2lCMlpXTXpPMXh5WEc1Y2RHbG1JQ2dnZEhKaGJuTm1iM0p0TG5CdmMybDBhVzl1SUNsY2NseHVYSFI3WEhKY2JseDBYSFIyVkhKaGJuTWdQU0J1WlhjZ2RtVmpNeWdnV3lCMGNtRnVjMlp2Y20wdWNHOXphWFJwYjI0dWVDd2dkSEpoYm5ObWIzSnRMbkJ2YzJsMGFXOXVMbmtzSUhSeVlXNXpabTl5YlM1d2IzTnBkR2x2Ymk1NklGMGdLVHRjY2x4dVhIUjlYSEpjYmx4MFpXeHpaVnh5WEc1Y2RIdGNjbHh1WEhSY2RIWlVjbUZ1Y3lBOUlHNWxkeUIyWldNektDQmJJREFzSURBc0lEQWdYU0FwTzF4eVhHNWNkSDFjY2x4dVhIUnNaWFFnZGxOallXeGxPaUIyWldNek8xeHlYRzVjZEdsbUlDZ2dkSEpoYm5ObWIzSnRMbk5qWVd4bElDbGNjbHh1WEhSN1hISmNibHgwWEhSMlUyTmhiR1VnUFNCdVpYY2dkbVZqTXlnZ1d5QjBjbUZ1YzJadmNtMHVjMk5oYkdVdWVDd2dkSEpoYm5ObWIzSnRMbk5qWVd4bExua3NJSFJ5WVc1elptOXliUzV6WTJGc1pTNTZJRjBnS1R0Y2NseHVYSFI5WEhKY2JseDBaV3h6WlZ4eVhHNWNkSHRjY2x4dVhIUmNkSFpUWTJGc1pTQTlJRzVsZHlCMlpXTXpLQ0JiSURFc0lERXNJREVnWFNBcE8xeHlYRzVjZEgxY2NseHVYSFJzWlhRZ2NWSnZkRG9nY1hWaGREdGNjbHh1WEhScFppQW9JSFJ5WVc1elptOXliUzV5YjNSaGRHbHZiaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBjVkp2ZENBOUlHNWxkeUJ4ZFdGMEtDQmJJSFJ5WVc1elptOXliUzV5YjNSaGRHbHZiaTU0TENCMGNtRnVjMlp2Y20wdWNtOTBZWFJwYjI0dWVTd2dkSEpoYm5ObWIzSnRMbkp2ZEdGMGFXOXVMbm9zSUhSeVlXNXpabTl5YlM1eWIzUmhkR2x2Ymk1M0lGMGdLVHRjY2x4dVhIUjlYSEpjYmx4MFpXeHpaVnh5WEc1Y2RIdGNjbHh1WEhSY2RIRlNiM1FnUFNCdVpYY2djWFZoZENnZ1d5QXdMQ0F3TENBd0xDQXhJRjBnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEd4bGRDQnRZWFFnUFNCMGNtRnVjMnhoZEdWTllYUW9JSFpVY21GdWN5QXBMbTExYkhScGNHeDVLQ0J4VW05MExuUnZUV0YwTkNncElDazdYSEpjYmx4MGJXRjBJRDBnYldGMExtMTFiSFJwY0d4NUtDQnpZMkZzWlUxaGRDZ2dkbE5qWVd4bElDa2dLU0E3WEhKY2JseDBYSEpjYmx4MGFXWW9JRTUxYldKbGNpNXBjMDVoVGlnZ2JXRjBMbUYwS0NBd0lDa2dLU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDQmNJa2RoY21KaFoyVWdjR0Z6YzJWa0lHbHVkRzhnYm05a1pWUnlZVzV6Wm05eWJWUnZUV0YwTkNCeVpYTjFiSFJsWkNCcGJpQk9ZVTRnYVc0Z2IzVjBjSFYwWENJZ0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RISmxkSFZ5YmlCdFlYUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJqYjIxd2RYUmxWVzVwZG1WeWMyVkdjbTl0VEdsdVpTZ2diR2x1WlZOMFlYSjBPaUIyWldNekxDQnNhVzVsUlc1a09pQjJaV016TENCMGFHbGphMjVsYzNNNklHNTFiV0psY2lBcE9pQnRZWFEwWEhKY2JudGNjbHh1WEhSc1pYUWdiR2x1WlZabFkzUnZjaUE5SUc1bGR5QjJaV016S0NCc2FXNWxSVzVrTG5oNWVpQXBPMXh5WEc1Y2RHeHBibVZXWldOMGIzSXVjM1ZpZEhKaFkzUW9JR3hwYm1WVGRHRnlkQ0FwTzF4eVhHNWNkR3hsZENCc2FXNWxUR1Z1WjNSb0lEMGdiR2x1WlZabFkzUnZjaTVzWlc1bmRHZ29LVHRjY2x4dVhIUnNhVzVsVm1WamRHOXlMbTV2Y20xaGJHbDZaU2dwTzF4eVhHNWNkR3hsZENCamVXeHBibVJsY2tObGJuUmxjaUE5SUc1bGR5QjJaV016S0NCc2FXNWxVM1JoY25RdWVIbDZJQ2t1WVdSa0tDQnVaWGNnZG1Wak15Z2diR2x1WlZabFkzUnZjaTU0ZVhvZ0tTNXpZMkZzWlNnZ2JHbHVaVXhsYm1kMGFDQXZJRElnS1NBcE8xeHlYRzVjY2x4dVhIUnNaWFFnZVdKaGMybHpJRDBnYkdsdVpWWmxZM1J2Y2p0Y2NseHVYSFJzWlhRZ2VHSmhjMmx6T2lCMlpXTXpPMXh5WEc1Y2RHbG1LQ0I1WW1GemFYTXVlQ0ErSURBdU9Ua2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIaGlZWE5wY3lBOUlHNWxkeUIyWldNektGc2dNQ3dnTVN3Z01DQmRJQ2s3WEhKY2JseDBmU0JjY2x4dVhIUmxiSE5sWEhKY2JseDBlMXh5WEc1Y2RGeDBlR0poYzJseklEMGdibVYzSUhabFl6TW9XeUF4TENBd0xDQXdJRjBnS1R0Y2NseHVYSFI5SUZ4eVhHNWNkR3hsZENCNlltRnphWE1nUFNCMlpXTXpMbU55YjNOektDQjVZbUZ6YVhNc0lIaGlZWE5wY3l3Z2JtVjNJSFpsWXpNb0tTQXBPMXh5WEc1Y2RIcGlZWE5wY3k1dWIzSnRZV3hwZW1Vb0tUdGNjbHh1WEhSNFltRnphWE1nUFNCMlpXTXpMbU55YjNOektDQjZZbUZ6YVhNc0lIbGlZWE5wY3l3Z2VHSmhjMmx6SUNrN1hISmNibHgwYkdWMElHeHBibVZTYjNSaGRHbHZiaUE5SUc1bGR5QnRZWFEwS0Z4eVhHNWNkRngwV3lCY2NseHVYSFJjZEZ4MGVHSmhjMmx6TG5nc0lIaGlZWE5wY3k1NUxDQjRZbUZ6YVhNdWVpd2dNQ3hjY2x4dVhIUmNkRngwZVdKaGMybHpMbmdzSUhsaVlYTnBjeTU1TENCNVltRnphWE11ZWl3Z01DeGNjbHh1WEhSY2RGeDBlbUpoYzJsekxuZ3NJSHBpWVhOcGN5NTVMQ0I2WW1GemFYTXVlaXdnTUN4Y2NseHVYSFJjZEZ4ME1Dd2dNQ3dnTUN3Z01TeGNjbHh1WEhSY2RGMWNjbHh1WEhRcE8xeHlYRzVjY2x4dVhIUnNaWFFnYzJOaGJHVWdQU0J6WTJGc1pVMWhkQ2dnYm1WM0lIWmxZek1vSUZzZ2RHaHBZMnR1WlhOekxDQnNhVzVsVEdWdVozUm9MQ0IwYUdsamEyNWxjM01nWFNBcElDazdYSEpjYmx4MGNtVjBkWEp1SUhSeVlXNXpiR0YwWlUxaGRDZ2dZM2xzYVc1a1pYSkRaVzUwWlhJZ0tTNXRkV3gwYVhCc2VTZ2diR2x1WlZKdmRHRjBhVzl1TG0xMWJIUnBjR3g1S0NCelkyRnNaU0FwSUNrN0lGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkbVZqTTAxMWJIUnBjR3g1UVc1a1FXUmtLQ0JpWVhObE9pQjJaV016TENCa2FYSmxZM1JwYjI0NklIWmxZek1zSUdScGMzUmhibU5sT2lCdWRXMWlaWElnS1RvZ2RtVmpNMXh5WEc1N1hISmNibHgwY21WMGRYSnVJRzVsZHlCMlpXTXpLRnh5WEc1Y2RGeDBXMXh5WEc1Y2RGeDBYSFJpWVhObExuZ2dLeUJrYVhKbFkzUnBiMjR1ZUNBcUlHUnBjM1JoYm1ObExGeHlYRzVjZEZ4MFhIUmlZWE5sTG5rZ0t5QmthWEpsWTNScGIyNHVlU0FxSUdScGMzUmhibU5sTEZ4eVhHNWNkRngwWEhSaVlYTmxMbm9nS3lCa2FYSmxZM1JwYjI0dWVpQXFJR1JwYzNSaGJtTmxMRnh5WEc1Y2RGeDBYVnh5WEc1Y2RDbGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE5qWVd4bFFYaHBjMVJ2Um1sMEtDQnNhVzFwZERvZ2JuVnRZbVZ5TENCdGFXNDZJRzUxYldKbGNpd2diV0Y0T2lCdWRXMWlaWElnS1RvZ2JuVnRZbVZ5WEhKY2JudGNjbHh1WEhSc1pYUWdaWGgwWlc1MElEMGdUV0YwYUM1dFlYZ29JQzF0YVc0c0lHMWhlQ0FwTzF4eVhHNWNkR2xtS0NCbGVIUmxiblFnUEQwZ01DQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjZEdWc2MyVmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYkdsdGFYUWdMeUJsZUhSbGJuUTdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV2x1U1dkdWIzSnBibWRPZFd4c2N5Z2dMaTR1ZG1Gc2RXVnpPaUJ1ZFcxaVpYSmJYU0FwWEhKY2JudGNjbHh1WEhSc1pYUWdibTlPZFd4c2N5QTlJSFpoYkhWbGN5NW1hV3gwWlhJb0lDZ2dkanB1ZFcxaVpYSXBJRDArSUhzZ2NtVjBkWEp1SUhZZ0lUMGdiblZzYkRzZ2ZTQXBPMXh5WEc1Y2RHbG1LQ0J1YjA1MWJHeHpJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1RXRjBhQzV0YVc0b0lDNHVMbTV2VG5Wc2JITWdLVHRjY2x4dVhIUjlYSEpjYmx4MFpXeHpaVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR3hsY25CQmRsUnlZVzV6Wm05eWJYTW9JSGhtTURvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCNFpqRTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dkRG9nYm5WdFltVnlJQ2s2SUVGMlRtOWtaVlJ5WVc1elptOXliVnh5WEc1N1hISmNibHgwYkdWMElISmxjM1ZzZENBOUlIc2dMaTR1ZUdZeElIMDdYSEpjYmx4MGFXWW9JSGhtTUNBbUppQjRaakF1Y0c5emFYUnBiMjRnSmlZZ2VHWXhMbkJ2YzJsMGFXOXVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnZERBZ1BTQnVaWGNnZG1Wak15Z2dXeUI0WmpBdWNHOXphWFJwYjI0dWVDd2dlR1l3TG5CdmMybDBhVzl1TG5rc0lIaG1NQzV3YjNOcGRHbHZiaTU2SUYwZ0tUdGNjbHh1WEhSY2RHeGxkQ0IwTVNBOUlHNWxkeUIyWldNektDQmJJSGhtTVM1d2IzTnBkR2x2Ymk1NExDQjRaakV1Y0c5emFYUnBiMjR1ZVN3Z2VHWXhMbkJ2YzJsMGFXOXVMbm9nWFNBcE8xeHlYRzVjZEZ4MGJHVjBJSFJ5WVc1eklEMGdkbVZqTXk1dGFYZ29JSFF3TENCME1Td2dkQ3dnYm1WM0lIWmxZek1vS1NBcE8xeHlYRzVjZEZ4MGNtVnpkV3gwTG5CdmMybDBhVzl1SUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGVEb2dkSEpoYm5NdWVDeGNjbHh1WEhSY2RGeDBlVG9nZEhKaGJuTXVlU3hjY2x4dVhIUmNkRngwZWpvZ2RISmhibk11ZWl4Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEdsbUtDQjRaakFnSmlZZ2VHWXdMbk5qWVd4bElDWW1JSGhtTVM1elkyRnNaU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhNd0lEMGdibVYzSUhabFl6TW9JRnNnZUdZd0xuTmpZV3hsTG5nc0lIaG1NQzV6WTJGc1pTNTVMQ0I0WmpBdWMyTmhiR1V1ZWlCZElDazdYSEpjYmx4MFhIUnNaWFFnY3pFZ1BTQnVaWGNnZG1Wak15Z2dXeUI0WmpFdWMyTmhiR1V1ZUN3Z2VHWXhMbk5qWVd4bExua3NJSGhtTVM1elkyRnNaUzU2SUYwZ0tUdGNjbHh1WEhSY2RHeGxkQ0J6WTJGc1pTQTlJSFpsWXpNdWJXbDRLQ0J6TUN3Z2N6RXNJSFFzSUc1bGR5QjJaV016S0NrZ0tUdGNjbHh1WEhSY2RISmxjM1ZzZEM1elkyRnNaU0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhnNklITmpZV3hsTG5nc1hISmNibHgwWEhSY2RIazZJSE5qWVd4bExua3NYSEpjYmx4MFhIUmNkSG82SUhOallXeGxMbm9zWEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJwWmlnZ2VHWXdJQ1ltSUhobU1DNXliM1JoZEdsdmJpQW1KaUI0WmpFdWNtOTBZWFJwYjI0Z0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnlNQ0E5SUc1bGR5QlJkV0YwWlhKdWFXOXVLQ0I0WmpBdWNtOTBZWFJwYjI0Z0tUdGNjbHh1WEhSY2RHeGxkQ0J5TVNBOUlHNWxkeUJSZFdGMFpYSnVhVzl1S0NCNFpqRXVjbTkwWVhScGIyNGdLVHRjY2x4dVhIUmNkR3hsZENCeWIzUWdQU0J5TUM1emJHVnljQ2dnY2pFZ0tTZ2dkQ0FwTzF4eVhHNWNkRngwY21WemRXeDBMbkp2ZEdGMGFXOXVJRDFjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZHpvZ2NtOTBMbmNzWEhKY2JseDBYSFJjZEhnNklISnZkQzU0TEZ4eVhHNWNkRngwWEhSNU9pQnliM1F1ZVN4Y2NseHVYSFJjZEZ4MGVqb2djbTkwTG5vc1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSeVpYUjFjbTRnY21WemRXeDBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVc1MlpYSjBUbTlrWlZSeVlXNXpabTl5YlNnZ1puSnZiVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2s2SUVGMlRtOWtaVlJ5WVc1elptOXliVnh5WEc1N1hISmNibHgwYVdZb0lDRm1jbTl0SUNsY2NseHVYSFJjZEhKbGRIVnliaUJtY205dE8xeHlYRzVjY2x4dVhIUnNaWFFnWm5KdmJVMWhkQ0E5SUc1dlpHVlVjbUZ1YzJadmNtMVViMDFoZERRb0lHWnliMjBnS1R0Y2NseHVYSFJ5WlhSMWNtNGdibTlrWlZSeVlXNXpabTl5YlVaeWIyMU5ZWFEwS0NCbWNtOXRUV0YwTG1OdmNIa29LUzVwYm5abGNuTmxLQ2tnS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMXBibWx0WVd4UWIzTmxSbkp2YlZSeVlXNXpabTl5YlNnZ1puSnZiVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2s2SUUxcGJtbHRZV3hRYjNObFhISmNibnRjY2x4dVhIUnNaWFFnYldGMElEMGdibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ2dnWm5KdmJTQXBPMXh5WEc1Y2RHeGxkQ0J5YjNRZ1BTQnRZWFF1ZEc5TllYUXpLQ2t1ZEc5UmRXRjBLQ2s3WEhKY2JseDBiR1YwSUhCdmN5QTlJRzFoZEM1dGRXeDBhWEJzZVZabFl6UW9JRzVsZHlCMlpXTTBLQ0JiSURBc0lEQXNJREFzSURFZ1hTQXBJQ2s3WEhKY2JseDBjbVYwZFhKdUlGc2djRzl6TG5nc0lIQnZjeTU1TENCd2IzTXVlaXdnY205MExuY3NJSEp2ZEM1NExDQnliM1F1ZVN3Z2NtOTBMbm9nWFR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMXBibWx0WVd4VWIwMWhkRFJVY21GdWMyWnZjbTBvSUcxcGJtbHRZV3c2SUUxcGJtbHRZV3hRYjNObElDazZJRzFoZERSY2NseHVlMXh5WEc1Y2RHeGxkQ0IwY21GdWMyWnZjbTA2SUVGMlRtOWtaVlJ5WVc1elptOXliU0E5SUZ4eVhHNWNkSHRjY2x4dVhIUmNkSEJ2YzJsMGFXOXVPaUI3SUhnNklHMXBibWx0WVd4Yk1GMHNJSGs2SUcxcGJtbHRZV3hiTVYwc0lIbzZJRzFwYm1sdFlXeGJNbDBnZlN4Y2NseHVYSFJjZEhKdmRHRjBhVzl1T2lCN0lIYzZJRzFwYm1sdFlXeGJNMTBzSUhnNklHMXBibWx0WVd4Yk5GMHNJSGs2SUcxcGJtbHRZV3hiTlYwc0lIbzZJRzFwYm1sdFlXeGJObDBnZlN3Z1hISmNibHgwZlR0Y2NseHVYSFJ5WlhSMWNtNGdibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ2dnZEhKaGJuTm1iM0p0SUNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRkV3gwYVhCc2VWUnlZVzV6Wm05eWJYTW9JR3hvY3pvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCeWFITTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTQXBYSEpjYm50Y2NseHVYSFJzWlhRZ2JHMGdQU0J1YjJSbFZISmhibk5tYjNKdFZHOU5ZWFEwS0NCc2FITWdLVHRjY2x4dVhIUnNaWFFnY20wZ1BTQnViMlJsVkhKaGJuTm1iM0p0Vkc5TllYUTBLQ0J5YUhNZ0tUdGNjbHh1WEhSeVpYUjFjbTRnYm05a1pWUnlZVzV6Wm05eWJVWnliMjFOWVhRMEtDQnRZWFEwTG5CeWIyUjFZM1FvSUd4dExDQnliU3dnYm1WM0lHMWhkRFFvS1NBcElDazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVhSTmRXeDBhWEJzZVZCdmFXNTBLQ0J0T2lCdFlYUTBMQ0J3ZERvZ2RtVmpNeUFwT2lCMlpXTXpYSEpjYm50Y2NseHVYSFJzWlhRZ2RqUWdQU0J1WlhjZ2RtVmpOQ2dnV3lCd2RDNTRMQ0J3ZEM1NUxDQndkQzU2TENBeElGMGdLVHRjY2x4dVhIUnlaWFIxY200Z2JtVjNJSFpsWXpNb0lHMHViWFZzZEdsd2JIbFdaV00wS0NCMk5Dd2dibVYzSUhabFl6UW9LU0FwTG5oNWVpQXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZG1WalJuSnZiVUYyVm1WamRHOXlLQ0IyT2lCQmRsWmxZM1J2Y2lBcE9pQjJaV016WEhKY2JudGNjbHh1WEhScFppZ2dJWFlnS1Z4eVhHNWNkRngwY21WMGRYSnVJRzUxYkd3N1hISmNibHgwY21WMGRYSnVJRzVsZHlCMlpXTXpLQ0JiSUhZdWVDd2dkaTU1TENCMkxub2dYU0FwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RtVmpWRzlCZGxabFkzUnZjaWdnZGpvZ2RtVmpNeUFwT2lCQmRsWmxZM1J2Y2x4eVhHNTdYSEpjYmx4MGFXWW9JQ0YySUNsY2NseHVYSFJjZEhKbGRIVnliaUJ1ZFd4c08xeHlYRzVjZEhKbGRIVnliaUI3SUhnNklIWXVlQ3dnZVRvZ2RpNTVMQ0I2T2lCMkxub2dmVHRjY2x4dWZWeHlYRzRpTENKbGVIQnZjblFnS2lCbWNtOXRJQ2N1TDNOMGIzSmxaRjl6ZEdGMFpTYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXNuTzF4eVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgybHVjSFYwSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOXdjbTkwYjJOdmJDYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2Ylc5a1pXeHpKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5M1pXSmZZWEJ3WDIxaGJtbG1aWE4wSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOXRZWFJvWDNWMGFXeHpKenRjY2x4dVhISmNiaUlzSWk4cUlTQXFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2x4eVhHNURiM0I1Y21sbmFIUWdLR01wSUUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJpNWNjbHh1WEhKY2JsQmxjbTFwYzNOcGIyNGdkRzhnZFhObExDQmpiM0I1TENCdGIyUnBabmtzSUdGdVpDOXZjaUJrYVhOMGNtbGlkWFJsSUhSb2FYTWdjMjltZEhkaGNtVWdabTl5SUdGdWVWeHlYRzV3ZFhKd2IzTmxJSGRwZEdnZ2IzSWdkMmwwYUc5MWRDQm1aV1VnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1F1WEhKY2JseHlYRzVVU0VVZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdYQ0pCVXlCSlUxd2lJRUZPUkNCVVNFVWdRVlZVU0U5U0lFUkpVME5NUVVsTlV5QkJURXdnVjBGU1VrRk9WRWxGVXlCWFNWUklYSEpjYmxKRlIwRlNSQ0JVVHlCVVNFbFRJRk5QUmxSWFFWSkZJRWxPUTB4VlJFbE9SeUJCVEV3Z1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdWeHlYRzVCVGtRZ1JrbFVUa1ZUVXk0Z1NVNGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVpQkNSU0JNU1VGQ1RFVWdSazlTSUVGT1dTQlRVRVZEU1VGTUxDQkVTVkpGUTFRc1hISmNia2xPUkVsU1JVTlVMQ0JQVWlCRFQwNVRSVkZWUlU1VVNVRk1JRVJCVFVGSFJWTWdUMUlnUVU1WklFUkJUVUZIUlZNZ1YwaEJWRk5QUlZaRlVpQlNSVk5WVEZSSlRrY2dSbEpQVFZ4eVhHNU1UMU5USUU5R0lGVlRSU3dnUkVGVVFTQlBVaUJRVWs5R1NWUlRMQ0JYU0VWVVNFVlNJRWxPSUVGT0lFRkRWRWxQVGlCUFJpQkRUMDVVVWtGRFZDd2dUa1ZIVEVsSFJVNURSU0JQVWx4eVhHNVBWRWhGVWlCVVQxSlVTVTlWVXlCQlExUkpUMDRzSUVGU1NWTkpUa2NnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdWVk5GSUU5U1hISmNibEJGVWtaUFVrMUJUa05GSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1V1WEhKY2Jpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xSUNvdlhISmNiaThxSUdkc2IySmhiQ0JTWldac1pXTjBMQ0JRY205dGFYTmxJQ292WEhKY2JseHlYRzUyWVhJZ1pYaDBaVzVrVTNSaGRHbGpjeUE5SUdaMWJtTjBhVzl1S0dRc0lHSXBJSHRjY2x4dUlDQWdJR1Y0ZEdWdVpGTjBZWFJwWTNNZ1BTQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllnZkh4Y2NseHVJQ0FnSUNBZ0lDQW9leUJmWDNCeWIzUnZYMTg2SUZ0ZElIMGdhVzV6ZEdGdVkyVnZaaUJCY25KaGVTQW1KaUJtZFc1amRHbHZiaUFvWkN3Z1lpa2dleUJrTGw5ZmNISnZkRzlmWHlBOUlHSTdJSDBwSUh4OFhISmNiaUFnSUNBZ0lDQWdablZ1WTNScGIyNGdLR1FzSUdJcElIc2dabTl5SUNoMllYSWdjQ0JwYmlCaUtTQnBaaUFvWWk1b1lYTlBkMjVRY205d1pYSjBlU2h3S1NrZ1pGdHdYU0E5SUdKYmNGMDdJSDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRkR1Z1WkhNb1pDd2dZaWtnZTF4eVhHNGdJQ0FnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUY5ZktDa2dleUIwYUdsekxtTnZibk4wY25WamRHOXlJRDBnWkRzZ2ZWeHlYRzRnSUNBZ1pDNXdjbTkwYjNSNWNHVWdQU0JpSUQwOVBTQnVkV3hzSUQ4Z1QySnFaV04wTG1OeVpXRjBaU2hpS1NBNklDaGZYeTV3Y205MGIzUjVjR1VnUFNCaUxuQnliM1J2ZEhsd1pTd2dibVYzSUY5ZktDa3BPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnZG1GeUlGOWZZWE56YVdkdUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdJQ0JmWDJGemMybG5iaUE5SUU5aWFtVmpkQzVoYzNOcFoyNGdmSHdnWm5WdVkzUnBiMjRnWDE5aGMzTnBaMjRvZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSE1zSUdrZ1BTQXhMQ0J1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTQThJRzQ3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpJRDBnWVhKbmRXMWxiblJ6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCd0lHbHVJSE1wSUdsbUlDaFBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29jeXdnY0NrcElIUmJjRjBnUFNCelczQmRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2REdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCZlgyRnpjMmxuYmk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eVpYTjBLSE1zSUdVcElIdGNjbHh1SUNBZ0lIWmhjaUIwSUQwZ2UzMDdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUhNcElHbG1JQ2hQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvY3l3Z2NDa2dKaVlnWlM1cGJtUmxlRTltS0hBcElEd2dNQ2xjY2x4dUlDQWdJQ0FnSUNCMFczQmRJRDBnYzF0d1hUdGNjbHh1SUNBZ0lHbG1JQ2h6SUNFOUlHNTFiR3dnSmlZZ2RIbHdaVzltSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlsY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2NDQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1vY3lrN0lHa2dQQ0J3TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsTG1sdVpHVjRUMllvY0Z0cFhTa2dQQ0F3SUNZbUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWNISnZjR1Z5ZEhsSmMwVnVkVzFsY21GaWJHVXVZMkZzYkNoekxDQndXMmxkS1NsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmJjRnRwWFYwZ1BTQnpXM0JiYVYxZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQjBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5a1pXTnZjbUYwWlNoa1pXTnZjbUYwYjNKekxDQjBZWEpuWlhRc0lHdGxlU3dnWkdWell5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdNZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQnlJRDBnWXlBOElETWdQeUIwWVhKblpYUWdPaUJrWlhOaklEMDlQU0J1ZFd4c0lEOGdaR1Z6WXlBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvZEdGeVoyVjBMQ0JyWlhrcElEb2daR1Z6WXl3Z1pEdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdVbVZtYkdWamRDQTlQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ1VtVm1iR1ZqZEM1a1pXTnZjbUYwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1NCeUlEMGdVbVZtYkdWamRDNWtaV052Y21GMFpTaGtaV052Y21GMGIzSnpMQ0IwWVhKblpYUXNJR3RsZVN3Z1pHVnpZeWs3WEhKY2JpQWdJQ0JsYkhObElHWnZjaUFvZG1GeUlHa2dQU0JrWldOdmNtRjBiM0p6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0JwWmlBb1pDQTlJR1JsWTI5eVlYUnZjbk5iYVYwcElISWdQU0FvWXlBOElETWdQeUJrS0hJcElEb2dZeUErSURNZ1B5QmtLSFJoY21kbGRDd2dhMlY1TENCeUtTQTZJR1FvZEdGeVoyVjBMQ0JyWlhrcEtTQjhmQ0J5TzF4eVhHNGdJQ0FnY21WMGRYSnVJR01nUGlBeklDWW1JSElnSmlZZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJoY21kbGRDd2dhMlY1TENCeUtTd2djanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNHRnlZVzBvY0dGeVlXMUpibVJsZUN3Z1pHVmpiM0poZEc5eUtTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tIUmhjbWRsZEN3Z2EyVjVLU0I3SUdSbFkyOXlZWFJ2Y2loMFlYSm5aWFFzSUd0bGVTd2djR0Z5WVcxSmJtUmxlQ2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZiV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUcxbGRHRmtZWFJoVm1Gc2RXVXBJSHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnVW1WbWJHVmpkQ0E5UFQwZ1hDSnZZbXBsWTNSY0lpQW1KaUIwZVhCbGIyWWdVbVZtYkdWamRDNXRaWFJoWkdGMFlTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQnlaWFIxY200Z1VtVm1iR1ZqZEM1dFpYUmhaR0YwWVNodFpYUmhaR0YwWVV0bGVTd2diV1YwWVdSaGRHRldZV3gxWlNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkYzWVdsMFpYSW9kR2hwYzBGeVp5d2dYMkZ5WjNWdFpXNTBjeXdnVUN3Z1oyVnVaWEpoZEc5eUtTQjdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQmhaRzl3ZENoMllXeDFaU2tnZXlCeVpYUjFjbTRnZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJRSUQ4Z2RtRnNkV1VnT2lCdVpYY2dVQ2htZFc1amRHbHZiaUFvY21WemIyeDJaU2tnZXlCeVpYTnZiSFpsS0haaGJIVmxLVHNnZlNrN0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dLRkFnZkh3Z0tGQWdQU0JRY205dGFYTmxLU2tvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlHWjFiR1pwYkd4bFpDaDJZV3gxWlNrZ2V5QjBjbmtnZXlCemRHVndLR2RsYm1WeVlYUnZjaTV1WlhoMEtIWmhiSFZsS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnY21WcVpXTjBLR1VwT3lCOUlIMWNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJ5WldwbFkzUmxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2x0Y0luUm9jbTkzWENKZEtIWmhiSFZsS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnY21WcVpXTjBLR1VwT3lCOUlIMWNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tISmxjM1ZzZENrZ2V5QnlaWE4xYkhRdVpHOXVaU0EvSUhKbGMyOXNkbVVvY21WemRXeDBMblpoYkhWbEtTQTZJR0ZrYjNCMEtISmxjM1ZzZEM1MllXeDFaU2t1ZEdobGJpaG1kV3htYVd4c1pXUXNJSEpsYW1WamRHVmtLVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lITjBaWEFvS0dkbGJtVnlZWFJ2Y2lBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1NrdWJtVjRkQ2dwS1R0Y2NseHVJQ0FnSUgwcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTluWlc1bGNtRjBiM0lvZEdocGMwRnlaeXdnWW05a2VTa2dlMXh5WEc0Z0lDQWdkbUZ5SUY4Z1BTQjdJR3hoWW1Wc09pQXdMQ0J6Wlc1ME9pQm1kVzVqZEdsdmJpZ3BJSHNnYVdZZ0tIUmJNRjBnSmlBeEtTQjBhSEp2ZHlCMFd6RmRPeUJ5WlhSMWNtNGdkRnN4WFRzZ2ZTd2dkSEo1Y3pvZ1cxMHNJRzl3Y3pvZ1cxMGdmU3dnWml3Z2VTd2dkQ3dnWnp0Y2NseHVJQ0FnSUhKbGRIVnliaUJuSUQwZ2V5QnVaWGgwT2lCMlpYSmlLREFwTENCY0luUm9jbTkzWENJNklIWmxjbUlvTVNrc0lGd2ljbVYwZFhKdVhDSTZJSFpsY21Jb01pa2dmU3dnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JQ2huVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlIUm9hWE03SUgwcExDQm5PMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYzNSbGNDaGJiaXdnZGwwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tHOXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkhaVzVsY21GMGIzSWdhWE1nWVd4eVpXRmtlU0JsZUdWamRYUnBibWN1WENJcE8xeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaGZLU0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE5SURFc0lIa2dKaVlnS0hRZ1BTQnZjRnN3WFNBbUlESWdQeUI1VzF3aWNtVjBkWEp1WENKZElEb2diM0JiTUYwZ1B5QjVXMXdpZEdoeWIzZGNJbDBnZkh3Z0tDaDBJRDBnZVZ0Y0luSmxkSFZ5Ymx3aVhTa2dKaVlnZEM1allXeHNLSGtwTENBd0tTQTZJSGt1Ym1WNGRDa2dKaVlnSVNoMElEMGdkQzVqWVd4c0tIa3NJRzl3V3pGZEtTa3VaRzl1WlNrZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDVJRDBnTUN3Z2RDa2diM0FnUFNCYmIzQmJNRjBnSmlBeUxDQjBMblpoYkhWbFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNodmNGc3dYU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F3T2lCallYTmxJREU2SUhRZ1BTQnZjRHNnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEUTZJRjh1YkdGaVpXd3JLenNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pGZExDQmtiMjVsT2lCbVlXeHpaU0I5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0ExT2lCZkxteGhZbVZzS3lzN0lIa2dQU0J2Y0ZzeFhUc2diM0FnUFNCYk1GMDdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTNPaUJ2Y0NBOUlGOHViM0J6TG5CdmNDZ3BPeUJmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JU2gwSUQwZ1h5NTBjbmx6TENCMElEMGdkQzVzWlc1bmRHZ2dQaUF3SUNZbUlIUmJkQzVzWlc1bmRHZ2dMU0F4WFNrZ0ppWWdLRzl3V3pCZElEMDlQU0EySUh4OElHOXdXekJkSUQwOVBTQXlLU2tnZXlCZklEMGdNRHNnWTI5dWRHbHVkV1U3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnUFQwOUlETWdKaVlnS0NGMElIeDhJQ2h2Y0ZzeFhTQStJSFJiTUYwZ0ppWWdiM0JiTVYwZ1BDQjBXek5kS1NrcElIc2dYeTVzWVdKbGJDQTlJRzl3V3pGZE95QmljbVZoYXpzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdOaUFtSmlCZkxteGhZbVZzSUR3Z2RGc3hYU2tnZXlCZkxteGhZbVZzSUQwZ2RGc3hYVHNnZENBOUlHOXdPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwSUNZbUlGOHViR0ZpWld3Z1BDQjBXekpkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekpkT3lCZkxtOXdjeTV3ZFhOb0tHOXdLVHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEZzeVhTa2dYeTV2Y0hNdWNHOXdLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYeTUwY25sekxuQnZjQ2dwT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J2Y0NBOUlHSnZaSGt1WTJGc2JDaDBhR2x6UVhKbkxDQmZLVHRjY2x4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJRzl3SUQwZ1d6WXNJR1ZkT3lCNUlEMGdNRHNnZlNCbWFXNWhiR3g1SUhzZ1ppQTlJSFFnUFNBd095QjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUNZZ05Ta2dkR2h5YjNjZ2IzQmJNVjA3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0Zzd1hTQS9JRzl3V3pGZElEb2dkbTlwWkNBd0xDQmtiMjVsT2lCMGNuVmxJSDA3WEhKY2JpQWdJQ0I5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnlaV0YwWlVKcGJtUnBibWNvYnl3Z2JTd2dheXdnYXpJcElIdGNjbHh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYSEpjYmlBZ0lDQnZXMnN5WFNBOUlHMWJhMTA3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRjRzl5ZEZOMFlYSW9iU3dnWlhod2IzSjBjeWtnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnRLU0JwWmlBb2NDQWhQVDBnWENKa1pXWmhkV3gwWENJZ0ppWWdJV1Y0Y0c5eWRITXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2NDa3BJR1Y0Y0c5eWRITmJjRjBnUFNCdFczQmRPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5MllXeDFaWE1vYnlrZ2UxeHlYRzRnSUNBZ2RtRnlJSE1nUFNCMGVYQmxiMllnVTNsdFltOXNJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdKaVlnVTNsdFltOXNMbWwwWlhKaGRHOXlMQ0J0SUQwZ2N5QW1KaUJ2VzNOZExDQnBJRDBnTUR0Y2NseHVJQ0FnSUdsbUlDaHRLU0J5WlhSMWNtNGdiUzVqWVd4c0tHOHBPMXh5WEc0Z0lDQWdhV1lnS0c4Z0ppWWdkSGx3Wlc5bUlHOHViR1Z1WjNSb0lEMDlQU0JjSW01MWJXSmxjbHdpS1NCeVpYUjFjbTRnZTF4eVhHNGdJQ0FnSUNBZ0lHNWxlSFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzhnSmlZZ2FTQStQU0J2TG14bGJtZDBhQ2tnYnlBOUlIWnZhV1FnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzhnSmlZZ2IxdHBLeXRkTENCa2IyNWxPaUFoYnlCOU8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0hNZ1B5QmNJazlpYW1WamRDQnBjeUJ1YjNRZ2FYUmxjbUZpYkdVdVhDSWdPaUJjSWxONWJXSnZiQzVwZEdWeVlYUnZjaUJwY3lCdWIzUWdaR1ZtYVc1bFpDNWNJaWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzSmxZV1FvYnl3Z2Jpa2dlMXh5WEc0Z0lDQWdkbUZ5SUcwZ1BTQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ2IxdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZE8xeHlYRzRnSUNBZ2FXWWdLQ0Z0S1NCeVpYUjFjbTRnYnp0Y2NseHVJQ0FnSUhaaGNpQnBJRDBnYlM1allXeHNLRzhwTENCeUxDQmhjaUE5SUZ0ZExDQmxPMXh5WEc0Z0lDQWdkSEo1SUh0Y2NseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb0tHNGdQVDA5SUhadmFXUWdNQ0I4ZkNCdUxTMGdQaUF3S1NBbUppQWhLSElnUFNCcExtNWxlSFFvS1NrdVpHOXVaU2tnWVhJdWNIVnphQ2h5TG5aaGJIVmxLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR05oZEdOb0lDaGxjbkp2Y2lrZ2V5QmxJRDBnZXlCbGNuSnZjam9nWlhKeWIzSWdmVHNnZlZ4eVhHNGdJQ0FnWm1sdVlXeHNlU0I3WEhKY2JpQWdJQ0FnSUNBZ2RISjVJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hJZ0ppWWdJWEl1Wkc5dVpTQW1KaUFvYlNBOUlHbGJYQ0p5WlhSMWNtNWNJbDBwS1NCdExtTmhiR3dvYVNrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdacGJtRnNiSGtnZXlCcFppQW9aU2tnZEdoeWIzY2daUzVsY25KdmNqc2dmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlHRnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1FvS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCaGNpQTlJRnRkTENCcElEMGdNRHNnYVNBOElHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCaGNpQTlJR0Z5TG1OdmJtTmhkQ2hmWDNKbFlXUW9ZWEpuZFcxbGJuUnpXMmxkS1NrN1hISmNiaUFnSUNCeVpYUjFjbTRnWVhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM053Y21WaFpFRnljbUY1Y3lncElIdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlITWdQU0F3TENCcElEMGdNQ3dnYVd3Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBJRHdnYVd3N0lHa3JLeWtnY3lBclBTQmhjbWQxYldWdWRITmJhVjB1YkdWdVozUm9PMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdjaUE5SUVGeWNtRjVLSE1wTENCcklEMGdNQ3dnYVNBOUlEQTdJR2tnUENCcGJEc2dhU3NyS1Z4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHRWdQU0JoY21kMWJXVnVkSE5iYVYwc0lHb2dQU0F3TENCcWJDQTlJR0V1YkdWdVozUm9PeUJxSUR3Z2FtdzdJR29yS3l3Z2F5c3JLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlXMnRkSUQwZ1lWdHFYVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnlPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYZGhhWFFvZGlrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTWdhVzV6ZEdGdVkyVnZaaUJmWDJGM1lXbDBJRDhnS0hSb2FYTXVkaUE5SUhZc0lIUm9hWE1wSURvZ2JtVjNJRjlmWVhkaGFYUW9kaWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRnplVzVqUjJWdVpYSmhkRzl5S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNc0lHZGxibVZ5WVhSdmNpa2dlMXh5WEc0Z0lDQWdhV1lnS0NGVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1SUNBZ0lIWmhjaUJuSUQwZ1oyVnVaWEpoZEc5eUxtRndjR3g1S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNZ2ZId2dXMTBwTENCcExDQnhJRDBnVzEwN1hISmNiaUFnSUNCeVpYUjFjbTRnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnYVdZZ0tHZGJibDBwSUdsYmJsMGdQU0JtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdLR0VzSUdJcElIc2djUzV3ZFhOb0tGdHVMQ0IyTENCaExDQmlYU2tnUGlBeElIeDhJSEpsYzNWdFpTaHVMQ0IyS1RzZ2ZTazdJSDA3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhKbGMzVnRaU2h1TENCMktTQjdJSFJ5ZVNCN0lITjBaWEFvWjF0dVhTaDJLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djMlYwZEd4bEtIRmJNRjFiTTEwc0lHVXBPeUI5SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhOMFpYQW9jaWtnZXlCeUxuWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1gxOWhkMkZwZENBL0lGQnliMjFwYzJVdWNtVnpiMngyWlNoeUxuWmhiSFZsTG5ZcExuUm9aVzRvWm5Wc1ptbHNiQ3dnY21WcVpXTjBLU0E2SUhObGRIUnNaU2h4V3pCZFd6SmRMQ0J5S1RzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1puVnNabWxzYkNoMllXeDFaU2tnZXlCeVpYTjFiV1VvWENKdVpYaDBYQ0lzSUhaaGJIVmxLVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnY21WcVpXTjBLSFpoYkhWbEtTQjdJSEpsYzNWdFpTaGNJblJvY205M1hDSXNJSFpoYkhWbEtUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjMlYwZEd4bEtHWXNJSFlwSUhzZ2FXWWdLR1lvZGlrc0lIRXVjMmhwWm5Rb0tTd2djUzVzWlc1bmRHZ3BJSEpsYzNWdFpTaHhXekJkV3pCZExDQnhXekJkV3pGZEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMFJsYkdWbllYUnZjaWh2S1NCN1hISmNiaUFnSUNCMllYSWdhU3dnY0R0Y2NseHVJQ0FnSUhKbGRIVnliaUJwSUQwZ2UzMHNJSFpsY21Jb1hDSnVaWGgwWENJcExDQjJaWEppS0Z3aWRHaHliM2RjSWl3Z1puVnVZM1JwYjI0Z0tHVXBJSHNnZEdoeWIzY2daVHNnZlNrc0lIWmxjbUlvWENKeVpYUjFjbTVjSWlrc0lHbGJVM2x0WW05c0xtbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBzSUdrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRzSUdZcElIc2dhVnR1WFNBOUlHOWJibDBnUHlCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdLSEFnUFNBaGNDa2dQeUI3SUhaaGJIVmxPaUJmWDJGM1lXbDBLRzliYmwwb2Rpa3BMQ0JrYjI1bE9pQnVJRDA5UFNCY0luSmxkSFZ5Ymx3aUlIMGdPaUJtSUQ4Z1ppaDJLU0E2SUhZN0lIMGdPaUJtT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkZ6ZVc1alZtRnNkV1Z6S0c4cElIdGNjbHh1SUNBZ0lHbG1JQ2doVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNiaUFnSUNCMllYSWdiU0E5SUc5YlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRMQ0JwTzF4eVhHNGdJQ0FnY21WMGRYSnVJRzBnUHlCdExtTmhiR3dvYnlrZ09pQW9ieUE5SUhSNWNHVnZaaUJmWDNaaGJIVmxjeUE5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJRDhnWDE5MllXeDFaWE1vYnlrZ09pQnZXMU41YldKdmJDNXBkR1Z5WVhSdmNsMG9LU3dnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2twTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUdsYmJsMGdQU0J2VzI1ZElDWW1JR1oxYm1OMGFXOXVJQ2gyS1NCN0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdJSFlnUFNCdlcyNWRLSFlwTENCelpYUjBiR1VvY21WemIyeDJaU3dnY21WcVpXTjBMQ0IyTG1SdmJtVXNJSFl1ZG1Gc2RXVXBPeUI5S1RzZ2ZUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjMlYwZEd4bEtISmxjMjlzZG1Vc0lISmxhbVZqZEN3Z1pDd2dkaWtnZXlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvZGlrdWRHaGxiaWhtZFc1amRHbHZiaWgyS1NCN0lISmxjMjlzZG1Vb2V5QjJZV3gxWlRvZ2Rpd2daRzl1WlRvZ1pDQjlLVHNnZlN3Z2NtVnFaV04wS1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl0WVd0bFZHVnRjR3hoZEdWUFltcGxZM1FvWTI5dmEyVmtMQ0J5WVhjcElIdGNjbHh1SUNBZ0lHbG1JQ2hQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrcElIc2dUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dOdmIydGxaQ3dnWENKeVlYZGNJaXdnZXlCMllXeDFaVG9nY21GM0lIMHBPeUI5SUdWc2MyVWdleUJqYjI5clpXUXVjbUYzSUQwZ2NtRjNPeUI5WEhKY2JpQWdJQ0J5WlhSMWNtNGdZMjl2YTJWa08xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBVM1JoY2lodGIyUXBJSHRjY2x4dUlDQWdJR2xtSUNodGIyUWdKaVlnYlc5a0xsOWZaWE5OYjJSMWJHVXBJSEpsZEhWeWJpQnRiMlE3WEhKY2JpQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2UzMDdYSEpjYmlBZ0lDQnBaaUFvYlc5a0lDRTlJRzUxYkd3cElHWnZjaUFvZG1GeUlHc2dhVzRnYlc5a0tTQnBaaUFvVDJKcVpXTjBMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvYlc5a0xDQnJLU2tnY21WemRXeDBXMnRkSUQwZ2JXOWtXMnRkTzF4eVhHNGdJQ0FnY21WemRXeDBMbVJsWm1GMWJIUWdQU0J0YjJRN1hISmNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5cGJYQnZjblJFWldaaGRXeDBLRzF2WkNrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUNodGIyUWdKaVlnYlc5a0xsOWZaWE5OYjJSMWJHVXBJRDhnYlc5a0lEb2dleUJrWldaaGRXeDBPaUJ0YjJRZ2ZUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWTJ4aGMzTlFjbWwyWVhSbFJtbGxiR1JIWlhRb2NtVmpaV2wyWlhJc0lIQnlhWFpoZEdWTllYQXBJSHRjY2x4dUlDQWdJR2xtSUNnaGNISnBkbUYwWlUxaGNDNW9ZWE1vY21WalpXbDJaWElwS1NCN1hISmNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSW1GMGRHVnRjSFJsWkNCMGJ5Qm5aWFFnY0hKcGRtRjBaU0JtYVdWc1pDQnZiaUJ1YjI0dGFXNXpkR0Z1WTJWY0lpazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z2NISnBkbUYwWlUxaGNDNW5aWFFvY21WalpXbDJaWElwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWpiR0Z6YzFCeWFYWmhkR1ZHYVdWc1pGTmxkQ2h5WldObGFYWmxjaXdnY0hKcGRtRjBaVTFoY0N3Z2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUdsbUlDZ2hjSEpwZG1GMFpVMWhjQzVvWVhNb2NtVmpaV2wyWlhJcEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0ltRjBkR1Z0Y0hSbFpDQjBieUJ6WlhRZ2NISnBkbUYwWlNCbWFXVnNaQ0J2YmlCdWIyNHRhVzV6ZEdGdVkyVmNJaWs3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J3Y21sMllYUmxUV0Z3TG5ObGRDaHlaV05sYVhabGNpd2dkbUZzZFdVcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh5WEc1OVhISmNiaUlzSW1sdGNHOXlkQ0I3SUVGMlRtOWtaVlJ5WVc1elptOXliU3dnUVhaU1pXNWtaWEpsY2tOdmJtWnBaeUI5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0hKdmRHOWpiMnduTzF4eVhHNXBiWEJ2Y25RZ2V5QjJOQ0JoY3lCMWRXbGtJSDBnWm5KdmJTQW5kWFZwWkNjN1hISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1IyRmtaMlYwVUdWeWMybHpkR1Z1WTJWY2NseHVlMXh5WEc1Y2RIVnlhVG9nYzNSeWFXNW5PMXh5WEc1Y2RHaHZiMnRRWVhSb1B6b2djM1J5YVc1bk8xeHlYRzVjZEhObGRIUnBibWR6UHpvZ1lXNTVPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOMGIzSmxaRWRoWkdkbGRGeHlYRzU3WEhKY2JseDBkWEpwT2lCemRISnBibWM3WEhKY2JseDBkWFZwWkRvZ2MzUnlhVzVuTzF4eVhHNTlYSEpjYmx4eVhHNWpiMjV6ZENCQllYSmtkbUZ5YTFOMFlYUmxSbTl5YldGMElEMGdNenRjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRV0Z5WkhaaGNtdFRkR0YwWlZ4eVhHNTdYSEpjYmx4MFptOXliV0YwT2lCdWRXMWlaWEk3WEhKY2JseDBZV04wYVhabFIyRmtaMlYwY3pvZ2V5QmJkWFZwWkRwemRISnBibWRkT2lCSFlXUm5aWFJRWlhKemFYTjBaVzVqWlNCOU8xeHlYRzVjZEhKbGJtUmxjbVZ5UTI5dVptbG5PaUJCZGxKbGJtUmxjbVZ5UTI5dVptbG5PMXh5WEc1Y2RHbHVjM1JoYkd4bFpFZGhaR2RsZEhNNklITjBjbWx1WjF0ZE8xeHlYRzVjZEd4dlkyRnNWWE5sY2xWMWFXUTZJSE4wY21sdVp6dGNjbHh1WEhSc2IyTmhiRlZ6WlhKRWFYTndiR0Y1VG1GdFpUb2djM1J5YVc1bk8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRGTjBZVzVrWVhKa1FXRnlaSFpoY210UVlYUm9LQ2s2SUhOMGNtbHVaMXh5WEc1N1hISmNibHgwYkdWMElHOXpJRDBnWlhaaGJDZ2dYQ0p5WlhGMWFYSmxLQ0FuYjNNbklDbGNJaUFwTzF4eVhHNWNkR3hsZENCd1lYUm9JRDBnWlhaaGJDZ2dYQ0p5WlhGMWFYSmxLQ0FuY0dGMGFDY2dLU0JjSWlrN1hISmNibHgwY21WMGRYSnVJSEJoZEdndWFtOXBiaWdnYjNNdWFHOXRaV1JwY2lncExDQmNJbUZoY21SMllYSnJYQ0lnS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRk4wWVc1a1lYSmtVR1Z5YzJsemRHVnVZMlZRWVhSb0tDazZJSE4wY21sdVoxeHlYRzU3WEhKY2JseDBiR1YwSUhCaGRHZ2dQU0JsZG1Gc0tDQmNJbkpsY1hWcGNtVW9JQ2R3WVhSb0p5QXBYQ0lnS1R0Y2NseHVYSFJ5WlhSMWNtNGdjR0YwYUM1cWIybHVLQ0JuWlhSVGRHRnVaR0Z5WkVGaGNtUjJZWEpyVUdGMGFDZ3BMQ0JjSW5OMFlYUmxMbXB6YjI1Y0lpQXBPMXh5WEc1OVhISmNibHh5WEc1amIyNXpkQ0JtYVhKemRFNWhiV1Z6SUQwZ1hISmNibHRjY2x4dVhIUmNJa2R5WldWdVhDSXNYSEpjYmx4MFhDSkNiSFZsWENJc1hISmNibHgwWENKU1pXUmNJaXdnWEhKY2JseDBYQ0pQY21GdVoyVmNJaXhjY2x4dVhIUmNJbFJsWVd4Y0lpeGNjbHh1WEhSY0lsQjFjbkJzWlZ3aUxGeHlYRzVjZEZ3aVVHbHVhMXdpTEZ4eVhHNWNkRndpV1dWc2JHOTNYQ0lzWEhKY2JseDBYQ0pDYkdGamExd2lMRnh5WEc1Y2RGd2lWMmhwZEdWY0lpeGNjbHh1WEhSY0lrSnliM2R1WENJc1hISmNibHgwWENKQ1pXbG5aVndpWEhKY2JsMDdYSEpjYmx4eVhHNWpiMjV6ZENCc1lYTjBUbUZ0WlhNZ1BWeHlYRzViWEhKY2JseDBYQ0pCY0hCc1pWd2lMRnh5WEc1Y2RGd2lRbUZ1WVc1aFhDSXNYSEpjYmx4MFhDSk1aVzF2Ymx3aUxGeHlYRzVjZEZ3aVVHbHVaV0Z3Y0d4bFhDSXNYSEpjYmx4MFhDSkRiMk52Ym5WMFhDSXNYSEpjYmx4MFhDSk1hVzFsWENJc1hISmNibHgwWENKTGFYZHBYQ0lzWEhKY2JseDBYQ0pRWldGeVhDSXNYSEpjYmx4MFhDSkRhR1Z5Y25sY0lpeGNjbHh1WEhSY0lsTjBjbUYzWW1WeWNubGNJaXhjY2x4dVhIUmNJa2R5WVhCbFhDSXNYSEpjYmx4MFhDSk5ZVzVuYjF3aVhISmNibDA3WEhKY2JseHlYRzVjY2x4dVpuVnVZM1JwYjI0Z1oyVnVaWEpoZEdWU1lXNWtiMjFPWVcxbEtDQXBPbk4wY21sdVoxeHlYRzU3WEhKY2JseDBiR1YwSUdacGNuTjBTVzVrWlhnZ1BTQk5ZWFJvTG1ac2IyOXlLQ0JOWVhSb0xuSmhibVJ2YlNncElDb2dabWx5YzNST1lXMWxjeTVzWlc1bmRHZ2dLVHRjY2x4dVhIUnNaWFFnYkdGemRFbHVaR1Y0SUQwZ1RXRjBhQzVtYkc5dmNpZ2dUV0YwYUM1eVlXNWtiMjBvS1NBcUlHeGhjM1JPWVcxbGN5NXNaVzVuZEdnZ0tUdGNjbHh1WEhSeVpYUjFjbTRnWUNSN0lHWnBjbk4wVG1GdFpYTmJJR1pwY25OMFNXNWtaWGdnWFNCOUlDUjdJR3hoYzNST1lXMWxjMXNnYkdGemRFbHVaR1Y0SUYwZ2ZXQTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIyTVZSdlZqSW9JR1p5YjIwNklFRmhjbVIyWVhKclUzUmhkR1VnS1RvZ1FXRnlaSFpoY210VGRHRjBaVnh5WEc1N1hISmNibHgwYkdWMElIUnZPaUJCWVhKa2RtRnlhMU4wWVhSbElEMGdYSEpjYmx4MGV5QmNjbHh1WEhSY2RHWnZjbTFoZERvZ01peGNjbHh1WEhSY2RHRmpkR2wyWlVkaFpHZGxkSE02SUdaeWIyMHVZV04wYVhabFIyRmtaMlYwY3l4Y2NseHVYSFJjZEdsdWMzUmhiR3hsWkVkaFpHZGxkSE02SUZ0ZExGeHlYRzVjZEZ4MGNtVnVaR1Z5WlhKRGIyNW1hV2M2SUhzZ1pXNWhZbXhsVFdsNFpXUlNaV0ZzYVhSNU9pQm1ZV3h6WlN3Z2JXbDRaV1JTWldGc2FYUjVSbTkyT2lBMU1DNHpMQ0JqYkdWaGNrTnZiRzl5T2lCYk1Dd2dNU3dnTUYwZ2ZTeGNjbHh1WEhSY2RHeHZZMkZzVlhObGNsVjFhV1E2SUhWMWFXUW9LU3hjY2x4dVhIUmNkR3h2WTJGc1ZYTmxja1JwYzNCc1lYbE9ZVzFsT2lCblpXNWxjbUYwWlZKaGJtUnZiVTVoYldVb0tTeGNjbHh1WEhSOU8xeHlYRzVjY2x4dVhIUm1iM0lvSUd4bGRDQnBibk4wWVd4c1pXUWdiMllnWm5KdmJTNXBibk4wWVd4c1pXUkhZV1JuWlhSeklDbGNjbHh1WEhSN1hISmNibHgwWEhSMGJ5NXBibk4wWVd4c1pXUkhZV1JuWlhSekxuQjFjMmdvSUdsdWMzUmhiR3hsWkM1eVpYQnNZV05sS0NCY0ltRmhjbVIyWVhKckxtbHVjM1JoYkd4Y0lpd2dYQ0pzYjJOaGJHaHZjM1E2TWpNNE5ESmNJaUFwSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSeVpYUjFjbTRnZEc4N1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnlaV0ZrVUdWeWMybHpkR1Z1ZEZOMFlYUmxLQ0J3WVhSb09pQnpkSEpwYm1jZ0tUb2dRV0Z5WkhaaGNtdFRkR0YwWlZ4eVhHNTdYSEpjYmx4MGRISjVYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR1p6SUQwZ1pYWmhiQ2dnWENKeVpYRjFhWEpsS0NBblpuTW5JQ2xjSWlBcE8xeHlYRzVjY2x4dVhIUmNkR3hsZENCd2NtVjJhVzkxYzFOMFlYUmxJRDBnWm5NdWNtVmhaRVpwYkdWVGVXNWpLQ0J3WVhSb0xDQW5kWFJtT0NjZ0tUdGNjbHh1WEhSY2RHeGxkQ0J6ZEdGMFpUb2dRV0Z5WkhaaGNtdFRkR0YwWlNBOUlFcFRUMDR1Y0dGeWMyVW9JSEJ5WlhacGIzVnpVM1JoZEdVZ0tUdGNjbHh1WEhKY2JseDBYSFJwWmlnZ2MzUmhkR1V1Wm05eWJXRjBJRDA5SURFZ2ZId2djM1JoZEdVdVptOXliV0YwSUQwOUlESWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUhKdmR5QmdVM1J2Y21Wa0lITjBZWFJsSUNSN2MzUmhkR1V1Wm05eWJXRjBmU0JwY3lCdWJ5QnNiMjVuWlhJZ2MzVndjRzl5ZEdWa0xtQTdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lITjBZWFJsTG1admNtMWhkQ0FoUFNCQllYSmtkbUZ5YTFOMFlYUmxSbTl5YldGMElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2h5YjNjZ1lFbHVZWEJ3Y205d2NtbGhkR1VnYzNSaGRHVWdabTl5YldGMElDUjdjM1JoZEdVdVptOXliV0YwZldBN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGemRHRjBaUzV5Wlc1a1pYSmxja052Ym1acFp5QXBJSHRjY2x4dVhIUmNkRngwYzNSaGRHVXVjbVZ1WkdWeVpYSkRiMjVtYVdjZ1BTQjdYSEpjYmx4MFhIUmNkRngwWlc1aFlteGxUV2w0WldSU1pXRnNhWFI1T2lCbVlXeHpaU3hjY2x4dVhIUmNkRngwWEhSdGFYaGxaRkpsWVd4cGRIbEdiM1k2SURVd0xqTXNYSEpjYmx4MFhIUmNkRngwWTJ4bFlYSkRiMnh2Y2pvZ1d6QXNJREVzSURCZFhISmNibHgwWEhSY2RIMDdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lDRnpkR0YwWlM1aFkzUnBkbVZIWVdSblpYUnpXeUJjSW1kaFpHZGxkRjl0Wlc1MVhDSWdYU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJa2RoWkdkbGRDQnRaVzUxSUhkaGN5QnRhWE56YVc1bkxpQkdiM0pqYVc1bklIUm9ZWFFnZEc4Z1pYaHBjM1F1WENJZ0tUdGNjbHh1WEhSY2RGeDBjM1JoZEdVdVlXTjBhWFpsUjJGa1oyVjBjMXNnWENKbllXUm5aWFJmYldWdWRWd2lJRjA5WEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUjFjbWs2SUZ3aWFIUjBjRG92TDJ4dlkyRnNhRzl6ZERveU16ZzBNaTluWVdSblpYUnpMMmRoWkdkbGRGOXRaVzUxWENJc1hISmNibHgwWEhSY2RGeDBhRzl2YTFCaGRHZzZJRndpTDJkaFpHZGxkQzlvWVc1a2N5OXNaV1owWDJoaGJtUmNJaXhjY2x4dVhIUmNkRngwZlR0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnBaaWdnSVhOMFlYUmxMbXh2WTJGc1ZYTmxja1JwYzNCc1lYbE9ZVzFsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGMzUmhkR1V1Ykc5allXeFZjMlZ5UkdsemNHeGhlVTVoYldVZ1BTQm5aVzVsY21GMFpWSmhibVJ2YlU1aGJXVW9LVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dZRkpsWVdRZ2MzUmhkR1VnWm5KdmJTQWtleUJ3WVhSb0lIMGdabTl5SUdCY2NseHVYSFJjZEZ4MEt5QmdKSHNnVDJKcVpXTjBMbXRsZVhNb0lITjBZWFJsTG1GamRHbDJaVWRoWkdkbGRITWdLUzVzWlc1bmRHZ2dmU0JoWTNScGRtVWdaMkZrWjJWMGMyQWdLVHRjY2x4dVhIUmNkSEpsZEhWeWJpQnpkR0YwWlR0Y2NseHVYSFI5WEhKY2JseDBZMkYwWTJnb0lHVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnUm1GcGJHVmtJSFJ2SUhKbFlXUWdjM1JoZEdVZ1ptbHNaU0JpWldOaGRYTmxJQ1I3SUdVZ2ZTQlZjMmx1WnlCa1pXWmhkV3gwSUhOMFlYSjBZQ0FwTzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0J6ZEdGMFpUb2dRV0Z5WkhaaGNtdFRkR0YwWlNBOVhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHWnZjbTFoZERvZ1FXRnlaSFpoY210VGRHRjBaVVp2Y20xaGRDeGNjbHh1WEhSY2RGeDBZV04wYVhabFIyRmtaMlYwY3pvZ1hISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjSW1kaFpHZGxkRjl0Wlc1MVhDSWdPbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSFZ5YVRvZ1hDSm9kSFJ3T2k4dmJHOWpZV3hvYjNOME9qSXpPRFF5TDJkaFpHZGxkSE12WjJGa1oyVjBYMjFsYm5WY0lpeGNjbHh1WEhSY2RGeDBYSFJjZEdodmIydFFZWFJvT2lCY0lpOW5ZV1JuWlhRdmFHRnVaSE12YkdWbWRGOW9ZVzVrWENJc1hISmNibHgwWEhSY2RGeDBmU3hjY2x4dVhIUmNkRngwZlN4Y2NseHVYSFJjZEZ4MGFXNXpkR0ZzYkdWa1IyRmtaMlYwY3pvZ1cxMHNYSEpjYmx4MFhIUmNkSEpsYm1SbGNtVnlRMjl1Wm1sbk9pQjdJRzFwZUdWa1VtVmhiR2wwZVVadmRqb2dOVEF1TXl3Z1pXNWhZbXhsVFdsNFpXUlNaV0ZzYVhSNU9pQm1ZV3h6WlN3Z1kyeGxZWEpEYjJ4dmNqb2dXekFzSURFc0lEQmRJSDBzWEhKY2JseDBYSFJjZEd4dlkyRnNWWE5sY2xWMWFXUTZJSFYxYVdRb0tTeGNjbHh1WEhSY2RGeDBiRzlqWVd4VmMyVnlSR2x6Y0d4aGVVNWhiV1U2SUdkbGJtVnlZWFJsVW1GdVpHOXRUbUZ0WlNncExGeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGNtVjBkWEp1SUhOMFlYUmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JuMWNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkM0pwZEdWUVpYSnphWE4wWlc1MFUzUmhkR1VvSUhOMFlYUmxPaUJCWVhKa2RtRnlhMU4wWVhSbExDQndZWFJvT2lCemRISnBibWNnS1RvZ1ltOXZiR1ZoYmx4eVhHNTdYSEpjYmx4MGJHVjBJR1p6SUQwZ1pYWmhiQ2dnWENKeVpYRjFhWEpsS0NBblpuTW5JQ2xjSWlBcE8xeHlYRzVjZEhOMFlYUmxMbVp2Y20xaGRDQTlJRUZoY21SMllYSnJVM1JoZEdWR2IzSnRZWFE3WEhKY2JseDBabk11ZDNKcGRHVkdhV3hsVTNsdVl5Z2djR0YwYUN3Z1NsTlBUaTV6ZEhKcGJtZHBabmtvSUhOMFlYUmxMQ0J1ZFd4c0xDQXlJQ2tnS1R0Y2NseHVYSFJ5WlhSMWNtNGdkSEoxWlR0Y2NseHVmVnh5WEc1Y2NseHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUhabFl6SmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzWmxZekpjSWlrN1hISmNiblpoY2lCamIyNXpkR0Z1ZEhOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDJOdmJuTjBZVzUwYzF3aUtUdGNjbHh1ZG1GeUlHMWhkRElnUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCdFlYUXlLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTZzBLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kbUZzZFdWeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibWwwS0haaGJIVmxjeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2JXRjBNaTV3Y205MGIzUjVjR1V1WVhRZ1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iYVc1a1pYaGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExtbHVhWFFnUFNCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0EwT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQjJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExuSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2diV0YwTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMblpoYkhWbGMxdHBYU0E5SUhSb2FYTXVkbUZzZFdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhReUxuQnliM1J2ZEhsd1pTNWhiR3dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURRN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaFcybGRJRDBnZEdocGN5NTJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1lYUmhPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExuSnZkeUE5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNvZ01pQXJJREJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURJZ0t5QXhYU3hjY2x4dUlDQWdJQ0FnSUNCZE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1OdmJDQTlJR1oxYm1OMGFXOXVJQ2hwYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLeUF5WFN4Y2NseHVJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExtVnhkV0ZzY3lBOUlHWjFibU4wYVc5dUlDaHRZWFJ5YVhnc0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhSEpsYzJodmJHUWdQVDA5SUhadmFXUWdNQ2tnZXlCMGFISmxjMmh2YkdRZ1BTQmpiMjV6ZEdGdWRITmZNUzVsY0hOcGJHOXVPeUI5WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQTBPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRTFoZEdndVlXSnpLSFJvYVhNdWRtRnNkV1Z6VzJsZElDMGdiV0YwY21sNExtRjBLR2twS1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1SbGRHVnliV2x1WVc1MElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3dYU0FxSUhSb2FYTXVkbUZzZFdWeld6TmRJQzBnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUIwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1elpYUkpaR1Z1ZEdsMGVTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlERTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdWRISmhibk53YjNObElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlcxd0lEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIUmxiWEE3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdWFXNTJaWEp6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwSUQwZ2RHaHBjeTVrWlhSbGNtMXBibUZ1ZENncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhRZ1BTQXhMakFnTHlCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNU0E5SUhSb2FYTXVkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnWkdWMElDb2dLSFJvYVhNdWRtRnNkV1Z6V3pOZEtUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJR1JsZENBcUlDZ3RkR2hwY3k1MllXeDFaWE5iTVYwcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdaR1YwSUNvZ0tDMTBhR2x6TG5aaGJIVmxjMXN5WFNrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQmtaWFFnS2lCaE1URTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNaTV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGtnUFNCbWRXNWpkR2x2YmlBb2JXRjBjbWw0S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNaUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnWVRFeElDb2diV0YwY21sNExtRjBLREFwSUNzZ1lURXlJQ29nYldGMGNtbDRMbUYwS0RJcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdZVEV4SUNvZ2JXRjBjbWw0TG1GMEtERXBJQ3NnWVRFeUlDb2diV0YwY21sNExtRjBLRE1wTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ1lUSXhJQ29nYldGMGNtbDRMbUYwS0RBcElDc2dZVEl5SUNvZ2JXRjBjbWw0TG1GMEtESXBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnWVRJeElDb2diV0YwY21sNExtRjBLREVwSUNzZ1lUSXlJQ29nYldGMGNtbDRMbUYwS0RNcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRESXVjSEp2ZEc5MGVYQmxMbkp2ZEdGMFpTQTlJR1oxYm1OMGFXOXVJQ2hoYm1kc1pTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEVnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpJZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emFXNG9ZVzVuYkdVcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCamIzTWdQU0JOWVhSb0xtTnZjeWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0JoTVRFZ0tpQmpiM01nS3lCaE1USWdLaUJ6YVc0N1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQmhNVEVnS2lBdGMybHVJQ3NnWVRFeUlDb2dZMjl6TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ1lUSXhJQ29nWTI5eklDc2dZVEl5SUNvZ2MybHVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnWVRJeElDb2dMWE5wYmlBcklHRXlNaUFxSUdOdmN6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlVlpsWXpJZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQnlaWE4xYkhRcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVIa2dQU0JiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTUYwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I0SUNvZ2RHaHBjeTUyWVd4MVpYTmJNbDBnS3lCNUlDb2dkR2hwY3k1MllXeDFaWE5iTTEwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUhabFl6SmZNUzVrWldaaGRXeDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN3WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3lYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFNrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExuTmpZV3hsSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1URWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXlJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQmhNVEVnS2lCNE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdZVEV5SUNvZ2VUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJR0V5TVNBcUlIZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMGdQU0JoTWpJZ0tpQjVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNodE1Td2diVElzSUhKbGMzVnNkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRFZ1BTQnRNUzVoZENnd0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXlJRDBnYlRFdVlYUW9NU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlHMHhMbUYwS0RJcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0J0TVM1aGRDZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1cGJtbDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdFeE1TQXFJRzB5TG1GMEtEQXBJQ3NnWVRFeUlDb2diVEl1WVhRb01pa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoTVRFZ0tpQnRNaTVoZENneEtTQXJJR0V4TWlBcUlHMHlMbUYwS0RNcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZVEl4SUNvZ2JUSXVZWFFvTUNrZ0t5QmhNaklnS2lCdE1pNWhkQ2d5S1N4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRXlNU0FxSUcweUxtRjBLREVwSUNzZ1lUSXlJQ29nYlRJdVlYUW9NeWtzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhReUtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0V4TVNBcUlHMHlMbUYwS0RBcElDc2dZVEV5SUNvZ2JUSXVZWFFvTWlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhNVEVnS2lCdE1pNWhkQ2d4S1NBcklHRXhNaUFxSUcweUxtRjBLRE1wTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lUSXhJQ29nYlRJdVlYUW9NQ2tnS3lCaE1qSWdLaUJ0TWk1aGRDZ3lLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdFeU1TQXFJRzB5TG1GMEtERXBJQ3NnWVRJeUlDb2diVEl1WVhRb015a3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbWxrWlc1MGFYUjVJRDBnYm1WM0lHMWhkRElvS1M1elpYUkpaR1Z1ZEdsMGVTZ3BPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHMWhkREk3WEhKY2JuMG9LU2s3WEhKY2JtVjRjRzl5ZEhNdVpHVm1ZWFZzZENBOUlHMWhkREk3WEhKY2JpOHZJeUJ6YjNWeVkyVk5ZWEJ3YVc1blZWSk1QVzFoZERJdWFuTXViV0Z3SWl3aUx5b3FYRzRnS2lCQWJHbGpaVzV6WlNCUmRXRjBaWEp1YVc5dUxtcHpJSFl4TGpFdU1DQXlNaTh3TWk4eU1ERTJYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTJMQ0JTYjJKbGNuUWdSV2x6Wld4bElDaHliMkpsY25SQWVHRnlaeTV2Y21jcFhHNGdLaUJFZFdGc0lHeHBZMlZ1YzJWa0lIVnVaR1Z5SUhSb1pTQk5TVlFnYjNJZ1IxQk1JRlpsY25OcGIyNGdNaUJzYVdObGJuTmxjeTVjYmlBcUtpOWNiaWhtZFc1amRHbHZiaWh5YjI5MEtTQjdYRzVjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRZV3hqZFd4aGRHVnpJR3h2WnloemNYSjBLR0ZlTWl0aVhqSXBLU0JwYmlCaElIZGhlU0IwYnlCaGRtOXBaQ0J2ZG1WeVpteHZkM05jYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUdGY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR0pjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNuMWNiaUFnSUNvdlhHNGdJR1oxYm1OMGFXOXVJR3h2WjBoNWNHOTBLR0VzSUdJcElIdGNibHh1SUNBZ0lIWmhjaUJmWVNBOUlFMWhkR2d1WVdKektHRXBPMXh1SUNBZ0lIWmhjaUJmWWlBOUlFMWhkR2d1WVdKektHSXBPMXh1WEc0Z0lDQWdhV1lnS0dFZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJOWVhSb0xteHZaeWhmWWlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHSWdQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbXh2WnloZllTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRjloSUR3Z016QXdNQ0FtSmlCZllpQThJRE13TURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbXh2WnloaElDb2dZU0FySUdJZ0tpQmlLU0FxSURBdU5UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnVFdGMGFDNXNiMmNvWVNBdklFMWhkR2d1WTI5ektFMWhkR2d1WVhSaGJqSW9ZaXdnWVNrcEtUdGNiaUFnZlZ4dVhHNGdJQzhxWEc0Z0lDQXFJRVJsWm1GMWJIUWdhWE1nZEdobElHMTFiSFJwY0d4cFkyRjBhWFpsSUc5dVpTQmxiR1Z0Wlc1MFhHNGdJQ0FxWEc0Z0lDQXFMMXh1SUNCMllYSWdVQ0E5SUh0Y2JpQWdJQ0FuZHljNklERXNYRzRnSUNBZ0ozZ25PaUF3TEZ4dUlDQWdJQ2Q1SnpvZ01DeGNiaUFnSUNBbmVpYzZJREJjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCd1lYSnpaU2hrWlhOMExDQjNMQ0I0TENCNUxDQjZLU0I3WEc1Y2JpQWdJQ0F2THlCTmIzTjBJR052YlcxdmJpQnBiblJsY201aGJDQjFjMlVnWTJGelpTQjNhWFJvSURRZ2NHRnlZVzF6WEc0Z0lDQWdhV1lnS0hvZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnWkdWemRGc25keWRkSUQwZ2R6dGNiaUFnSUNBZ0lHUmxjM1JiSjNnblhTQTlJSGc3WEc0Z0lDQWdJQ0JrWlhOMFd5ZDVKMTBnUFNCNU8xeHVJQ0FnSUNBZ1pHVnpkRnNuZWlkZElEMGdlanRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlIY2dQVDA5SUNkdlltcGxZM1FuSUNZbUlIa2dQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVYRzRnSUNBZ0lDQXZMeUJEYUdWamF5Qm1iM0lnY1hWaGRITXNJR1p2Y2lCbGVHRnRjR3hsSUhkb1pXNGdZVzRnYjJKcVpXTjBJR2RsZEhNZ1kyeHZibVZrWEc0Z0lDQWdJQ0JwWmlBb0ozY25JR2x1SUhjZ2ZId2dKM2duSUdsdUlIY2dmSHdnSjNrbklHbHVJSGNnZkh3Z0ozb25JR2x1SUhjcElIdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmR5ZGRJRDBnZDFzbmR5ZGRJSHg4SURBN1hHNGdJQ0FnSUNBZ0lHUmxjM1JiSjNnblhTQTlJSGRiSjNnblhTQjhmQ0F3TzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ1SjEwZ1BTQjNXeWQ1SjEwZ2ZId2dNRHRjYmlBZ0lDQWdJQ0FnWkdWemRGc25laWRkSUQwZ2Qxc25laWRkSUh4OElEQTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdMeThnUTJobFkyc2dabTl5SUdOdmJYQnNaWGdnYm5WdFltVnljMXh1SUNBZ0lDQWdhV1lnS0NkeVpTY2dhVzRnZHlBbUppQW5hVzBuSUdsdUlIY3BJSHRjYmlBZ0lDQWdJQ0FnWkdWemRGc25keWRkSUQwZ2Qxc25jbVVuWFR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZUNkZElEMGdkMXNuYVcwblhUdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVTZGRJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZWlkZElEMGdNRHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0F2THlCRGFHVmpheUJtYjNJZ1lYSnlZWGxjYmlBZ0lDQWdJR2xtSUNoM0xteGxibWQwYUNBOVBUMGdOQ2tnZTF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQzSjEwZ1BTQjNXekJkTzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ0SjEwZ1BTQjNXekZkTzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ1SjEwZ1BTQjNXekpkTzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ2SjEwZ1BTQjNXek5kTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklFTm9aV05ySUdadmNpQmhkV2R0Wlc1MFpXUWdkbVZqZEc5eVhHNGdJQ0FnSUNCcFppQW9keTVzWlc1bmRHZ2dQVDA5SURNcElIdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmR5ZGRJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZUNkZElEMGdkMXN3WFR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZVNkZElEMGdkMXN4WFR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZWlkZElEMGdkMXN5WFR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBsdWRtRnNhV1FnYjJKcVpXTjBKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGeWMyVWdjM1J5YVc1bklIWmhiSFZsYzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnZHlBOVBUMGdKM04wY21sdVp5Y2dKaVlnZVNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc1Y2JpQWdJQ0FnSUhaaGNpQjBiMnRsYm5NZ1BTQjNMbTFoZEdOb0tDOWNYR1FyWEZ3dVAxeGNaQ3BsV3lzdFhUOWNYR1FyZkZ4Y1pDdGNYQzQvWEZ4a0tueGNYQzVjWEdRcmZDNHZaeWs3WEc0Z0lDQWdJQ0IyWVhJZ2NHeDFjeUE5SURFN1hHNGdJQ0FnSUNCMllYSWdiV2x1ZFhNZ1BTQXdPMXh1WEc0Z0lDQWdJQ0IyWVhJZ2FVMWhjQ0E5SUhzbmFTYzZJQ2Q0Snl3Z0oyb25PaUFuZVNjc0lDZHJKem9nSjNvbmZUdGNibHh1SUNBZ0lDQWdhV1lnS0hSdmEyVnVjeUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFCaGNuTmxJR1Z5Y205eUp5azdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQzh2SUZKbGMyVjBJSFJvWlNCamRYSnlaVzUwSUhOMFlYUmxYRzRnSUNBZ0lDQmtaWE4wV3lkM0oxMGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaWE4wV3lkNEoxMGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaWE4wV3lkNUoxMGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaWE4wV3lkNkoxMGdQU0F3TzF4dVhHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUnZhMlZ1Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQmpJRDBnZEc5clpXNXpXMmxkTzF4dUlDQWdJQ0FnSUNCMllYSWdaQ0E5SUhSdmEyVnVjMXRwSUNzZ01WMDdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTWdQVDA5SUNjZ0p5QjhmQ0JqSUQwOVBTQW5YRngwSnlCOGZDQmpJRDA5UFNBblhGeHVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHFJSFp2YVdRZ0tpOWNiaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hqSUQwOVBTQW5LeWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiSFZ6S3lzN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9ZeUE5UFQwZ0p5MG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXbHVkWE1yS3p0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNod2JIVnpJQ3NnYldsdWRYTWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVUdGeWMyVWdaWEp5YjNJbklDc2dZeWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCbklEMGdhVTFoY0Z0alhUdGNibHh1SUNBZ0lDQWdJQ0FnSUM4dklFbHpJSFJvWlNCamRYSnlaVzUwSUhSdmEyVnVJR0Z1SUdsdFlXZHBibUZ5ZVNCemFXZHVQMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaG5JQ0U5UFNCMWJtUmxabWx1WldRcElIdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTWE1nZEdobElHWnZiR3h2ZDJsdVp5QjBiMnRsYmlCaElHNTFiV0psY2o5Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoa0lDRTlQU0FuSUNjZ0ppWWdJV2x6VG1GT0tHUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR01nUFNCa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcEt5czdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqSUQwZ0p6RW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dselRtRk9LR01wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVUdGeWMyVnlJR1Z5Y205eUp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdjZ1BTQnBUV0Z3VzJSZE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHa3JLenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmtaWE4wVzJjZ2ZId2dKM2NuWFNBclBTQndZWEp6WlVac2IyRjBLQ2h0YVc1MWN5QWxJRElnUHlBbkxTY2dPaUFuSnlrZ0t5QmpLVHRjYmlBZ0lDQWdJQ0FnSUNCd2JIVnpJRDBnYldsdWRYTWdQU0F3TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRk4wYVd4c0lITnZiV1YwYUdsdVp5QnZiaUIwYUdVZ2MzUmhZMnRjYmlBZ0lDQWdJR2xtSUNod2JIVnpJQ3NnYldsdWRYTWdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblVHRnljMlZ5SUdWeWNtOXlKeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTV1lnYm04Z2MybHVaMnhsSUhaaGNtbGhZbXhsSUhkaGN5Qm5hWFpsYmlCQlRrUWdhWFFnZDJGeklIUm9aU0JqYjI1emRISjFZM1J2Y2l3Z2MyVjBJR2wwSUhSdklIUm9aU0JwWkdWdWRHbDBlVnh1SUNBZ0lHbG1JQ2gzSUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnWkdWemRDQWhQVDBnVUNrZ2UxeHVJQ0FnSUNBZ1pHVnpkRnNuZHlkZElEMGdNVHRjYmlBZ0lDQWdJR1JsYzNSYkozZ25YU0E5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYzNSYkoza25YU0E5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYzNSYkozb25YU0E5SURBN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmx4dUlDQWdJQ0FnWkdWemRGc25keWRkSUQwZ2R5QjhmQ0F3TzF4dVhHNGdJQ0FnSUNBdkx5Qk9iM1JsT2lCVWFHbHpJR2x6YmlkMElITmxkRVp5YjIxQmVHbHpMQ0JwZENkeklHcDFjM1FnYzNsdWRHRmpkR2xqSUhOMVoyRnlJVnh1SUNBZ0lDQWdhV1lnS0hnZ0ppWWdlQzVzWlc1bmRHZ2dQVDA5SURNcElIdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVDZGRJRDBnZUZzd1hUdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVTZGRJRDBnZUZzeFhUdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVpZGRJRDBnZUZzeVhUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHUmxjM1JiSjNnblhTQTlJSGdnZkh3Z01EdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVTZGRJRDBnZVNCOGZDQXdPMXh1SUNBZ0lDQWdJQ0JrWlhOMFd5ZDZKMTBnUFNCNklIeDhJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYm5WdFZHOVRkSElvYml3Z1kyaGhjaXdnY0hKbGRpa2dlMXh1WEc0Z0lDQWdkbUZ5SUhKbGRDQTlJQ2NuTzF4dVhHNGdJQ0FnYVdZZ0tHNGdJVDA5SURBcElIdGNibHh1SUNBZ0lDQWdhV1lnS0hCeVpYWWdJVDA5SUNjbktTQjdYRzRnSUNBZ0lDQWdJSEpsZENBclBTQnVJRHdnTUNBL0lDY2dMU0FuSURvZ0p5QXJJQ2M3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0c0Z1BDQXdLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRDQXJQU0FuTFNjN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHNGdQU0JOWVhSb0xtRmljeWh1S1R0Y2JseHVJQ0FnSUNBZ2FXWWdLREVnSVQwOUlHNGdmSHdnWTJoaGNpQTlQVDBnSnljcElIdGNiaUFnSUNBZ0lDQWdjbVYwSUNzOUlHNDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFFnS3owZ1kyaGhjanRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKbGREdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJSZFdGMFpYSnVhVzl1SUdOdmJuTjBjblZqZEc5eVhHNGdJQ0FxWEc0Z0lDQXFJRUJqYjI1emRISjFZM1J2Y2x4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNueFBZbXBsWTNSOGMzUnlhVzVuZlNCM0lISmxZV3hjYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhJOWZTQjRJR2x0WVdkY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I1SUdsdFlXZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEk5ZlNCNklHbHRZV2RjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMUYxWVhSbGNtNXBiMjU5WEc0Z0lDQXFMMXh1SUNCbWRXNWpkR2x2YmlCUmRXRjBaWEp1YVc5dUtIY3NJSGdzSUhrc0lIb3BJSHRjYmx4dUlDQWdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCUmRXRjBaWEp1YVc5dUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0hjc0lIZ3NJSGtzSUhvcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCaGNuTmxLSFJvYVhNc0lIY3NJSGdzSUhrc0lIb3BPMXh1SUNCOVhHNWNiaUFnVVhWaGRHVnlibWx2Ymk1d2NtOTBiM1I1Y0dVZ1BTQjdYRzRnSUNBZ0ozY25PaUF4TEZ4dUlDQWdJQ2Q0SnpvZ01DeGNiaUFnSUNBbmVTYzZJREFzWEc0Z0lDQWdKM29uT2lBd0xGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFRmtaSE1nZEhkdklIRjFZWFJsY201cGIyNXpJRkV4SUdGdVpDQlJNbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOFQySnFaV04wZkhOMGNtbHVaMzBnZHlCeVpXRnNYRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhJOWZTQjRJR2x0WVdkY2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjajE5SUhrZ2FXMWhaMXh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeVBYMGdlaUJwYldGblhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ2UxRjFZWFJsY201cGIyNTlYRzRnSUNBZ0lDb3ZYRzRnSUNBZ0oyRmtaQ2M2SUdaMWJtTjBhVzl1S0hjc0lIZ3NJSGtzSUhvcElIdGNibHh1SUNBZ0lDQWdjR0Z5YzJVb1VDd2dkeXdnZUN3Z2VTd2dlaWs3WEc1Y2JpQWdJQ0FnSUM4dklGRXhJQ3NnVVRJZ09qMGdXM2N4TENCMk1WMGdLeUJiZHpJc0lIWXlYU0E5SUZ0M01TQXJJSGN5TENCMk1TQXJJSFl5WFZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGRjFZWFJsY201cGIyNG9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE5iSjNjblhTQXJJRkJiSjNjblhTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjMXNuZUNkZElDc2dVRnNuZUNkZExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpXeWQ1SjEwZ0t5QlFXeWQ1SjEwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTmJKM29uWFNBcklGQmJKM29uWFNrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCVGRXSjBjbUZqZEhNZ1lTQnhkV0YwWlhKdWFXOXVjeUJSTWlCbWNtOXRJRkV4WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNueFBZbXBsWTNSOGMzUnlhVzVuZlNCM0lISmxZV3hjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNqMTlJSGdnYVcxaFoxeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VTQnBiV0ZuWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I2SUdsdFlXZGNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjdVWFZoZEdWeWJtbHZibjFjYmlBZ0lDQWdLaTljYmlBZ0lDQW5jM1ZpSnpvZ1puVnVZM1JwYjI0b2R5d2dlQ3dnZVN3Z2Vpa2dlMXh1WEc0Z0lDQWdJQ0J3WVhKelpTaFFMQ0IzTENCNExDQjVMQ0I2S1R0Y2JseHVJQ0FnSUNBZ0x5OGdVVEVnTFNCUk1pQTZQU0JSTVNBcklDZ3RVVElwWEc0Z0lDQWdJQ0F2THlBZ0lDQWdJQ0FnSUNBOUlGdDNNU3dnZGpGZElDMGdXM2N5TENCMk1sMGdQU0JiZHpFZ0xTQjNNaXdnZGpFZ0xTQjJNbDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpXeWQzSjEwZ0xTQlFXeWQzSjEwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTmJKM2duWFNBdElGQmJKM2duWFN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGMxc25lU2RkSUMwZ1VGc25lU2RkTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdseld5ZDZKMTBnTFNCUVd5ZDZKMTBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTJGc1kzVnNZWFJsY3lCMGFHVWdZV1JrYVhScGRtVWdhVzUyWlhKelpTd2diM0lnYzJsdGNHeDVJR2wwSUc1bFoyRjBaWE1nZEdobElIRjFZWFJsY201cGIyNWNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQnlaWFIxY201eklIdFJkV0YwWlhKdWFXOXVmVnh1SUNBZ0lDQXFMMXh1SUNBZ0lDZHVaV2NuT2lCbWRXNWpkR2x2YmlncElIdGNibHh1SUNBZ0lDQWdMeThnTFZFZ09qMGdXeTEzTENBdGRsMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0MxMGFHbHpXeWQzSjEwc0lDMTBhR2x6V3lkNEoxMHNJQzEwYUdseld5ZDVKMTBzSUMxMGFHbHpXeWQ2SjEwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EyRnNZM1ZzWVhSbGN5QjBhR1VnYkdWdVozUm9MMjF2WkhWc2RYTXZiV0ZuYm1sMGRXUmxJRzl5SUhSb1pTQnViM0p0SUc5bUlHRWdjWFZoZEdWeWJtbHZibHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmJtOXliU2M2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQXZMeUI4VVh3Z09qMGdjM0Z5ZENoOFVYeGVNaWxjYmx4dUlDQWdJQ0FnTHk4Z1ZHaGxJSFZ1YVhRZ2NYVmhkR1Z5Ym1sdmJpQm9ZWE1nZkZGOElEMGdNVnh1WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhOYkozY25YVHRjYmlBZ0lDQWdJSFpoY2lCNElEMGdkR2hwYzFzbmVDZGRPMXh1SUNBZ0lDQWdkbUZ5SUhrZ1BTQjBhR2x6V3lkNUoxMDdYRzRnSUNBZ0lDQjJZWElnZWlBOUlIUm9hWE5iSjNvblhUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaDNJQ29nZHlBcklIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEWVd4amRXeGhkR1Z6SUhSb1pTQnpjWFZoY21Wa0lHeGxibWQwYUM5dGIyUjFiSFZ6TDIxaFoyNXBkSFZrWlNCdmNpQjBhR1VnYm05eWJTQnZaaUJoSUhGMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUh0dWRXMWlaWEo5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMjV2Y20xVGNTYzZJR1oxYm1OMGFXOXVLQ2tnZTF4dVhHNGdJQ0FnSUNBdkx5QjhVWHhlTWlBNlBTQmJkeXdnZGwwZ0tpQmJkeXdnTFhaZFhHNGdJQ0FnSUNBdkx5QWdJQ0FnSUNBZ1BTQmJkMTR5SUNzZ1pHOTBLSFlzSUhZcExDQXRkeUFxSUhZZ0t5QjNJQ29nZGlBcklHTnliM056S0hZc0lDMTJLVjFjYmlBZ0lDQWdJQzh2SUNBZ0lDQWdJQ0E5SUZ0M1hqSWdLeUI4ZG54ZU1pd2dNRjFjYmlBZ0lDQWdJQzh2SUNBZ0lDQWdJQ0E5SUZ0M1hqSWdLeUJrYjNRb2Rpd2dkaWtzSURCZFhHNGdJQ0FnSUNBdkx5QWdJQ0FnSUNBZ1BTQmtiM1FvVVN3Z1VTbGNiaUFnSUNBZ0lDOHZJQ0FnSUNBZ0lDQTlJRkVnS2lCUkoxeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE5iSjNjblhUdGNiaUFnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjMXNuZUNkZE8xeHVJQ0FnSUNBZ2RtRnlJSGtnUFNCMGFHbHpXeWQ1SjEwN1hHNGdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTmJKM29uWFR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUhjZ0tpQjNJQ3NnZUNBcUlIZ2dLeUI1SUNvZ2VTQXJJSG9nS2lCNk8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1RtOXliV0ZzYVhwbGN5QjBhR1VnY1hWaGRHVnlibWx2YmlCMGJ5Qm9ZWFpsSUh4UmZDQTlJREVnWVhNZ2JHOXVaeUJoY3lCMGFHVWdibTl5YlNCcGN5QnViM1FnZW1WeWIxeHVJQ0FnSUNBcUlFRnNkR1Z5Ym1GMGFYWmxJRzVoYldWeklHRnlaU0IwYUdVZ2MybG5iblZ0TENCMWJtbDBJRzl5SUhabGNuTnZjbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdlMUYxWVhSbGNtNXBiMjU5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMjV2Y20xaGJHbDZaU2M2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQXZMeUJSS2lBNlBTQlJJQzhnZkZGOFhHNWNiaUFnSUNBZ0lDOHZJSFZ1Y205c2JHVmtJRkV1YzJOaGJHVW9NU0F2SUZFdWJtOXliU2dwS1Z4dVhHNGdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTmJKM2NuWFR0Y2JpQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGMxc25lQ2RkTzF4dUlDQWdJQ0FnZG1GeUlIa2dQU0IwYUdseld5ZDVKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhOYkozb25YVHRjYmx4dUlDQWdJQ0FnZG1GeUlHNXZjbTBnUFNCTllYUm9Mbk54Y25Rb2R5QXFJSGNnS3lCNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIb3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JtOXliU0E4SUZGMVlYUmxjbTVwYjI1YkowVlFVMGxNVDA0blhTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdVWFZoZEdWeWJtbHZibHNuV2tWU1R5ZGRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J1YjNKdElEMGdNU0F2SUc1dmNtMDdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloM0lDb2dibTl5YlN3Z2VDQXFJRzV2Y20wc0lIa2dLaUJ1YjNKdExDQjZJQ29nYm05eWJTazdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRZV3hqZFd4aGRHVnpJSFJvWlNCSVlXMXBiSFJ2YmlCd2NtOWtkV04wSUc5bUlIUjNieUJ4ZFdGMFpYSnVhVzl1YzF4dUlDQWdJQ0FxSUV4bFlYWnBibWNnYjNWMElIUm9aU0JwYldGbmFXNWhjbmtnY0dGeWRDQnlaWE4xYkhSeklHbHVJR3AxYzNRZ2MyTmhiR2x1WnlCMGFHVWdjWFZoZEZ4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjhUMkpxWldOMGZITjBjbWx1WjMwZ2R5QnlaV0ZzWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I0SUdsdFlXZGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY2oxOUlIa2dhVzFoWjF4dUlDQWdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlQWDBnZWlCcGJXRm5YRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdlMUYxWVhSbGNtNXBiMjU5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMjExYkNjNklHWjFibU4wYVc5dUtIY3NJSGdzSUhrc0lIb3BJSHRjYmx4dUlDQWdJQ0FnY0dGeWMyVW9VQ3dnZHl3Z2VDd2dlU3dnZWlrN1hHNWNiaUFnSUNBZ0lDOHZJRkV4SUNvZ1VUSWdQU0JiZHpFZ0tpQjNNaUF0SUdSdmRDaDJNU3dnZGpJcExDQjNNU0FxSUhZeUlDc2dkeklnS2lCMk1TQXJJR055YjNOektIWXhMQ0IyTWlsZFhHNWNiaUFnSUNBZ0lDOHZJRTV2ZENCamIyMXRkWFJoZEdsMlpTQmlaV05oZFhObElHTnliM056S0hZeExDQjJNaWtnSVQwZ1kzSnZjM01vZGpJc0lIWXhLU0ZjYmx4dUlDQWdJQ0FnZG1GeUlIY3hJRDBnZEdocGMxc25keWRkTzF4dUlDQWdJQ0FnZG1GeUlIZ3hJRDBnZEdocGMxc25lQ2RkTzF4dUlDQWdJQ0FnZG1GeUlIa3hJRDBnZEdocGMxc25lU2RkTzF4dUlDQWdJQ0FnZG1GeUlIb3hJRDBnZEdocGMxc25laWRkTzF4dVhHNGdJQ0FnSUNCMllYSWdkeklnUFNCUVd5ZDNKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VESWdQU0JRV3lkNEoxMDdYRzRnSUNBZ0lDQjJZWElnZVRJZ1BTQlFXeWQ1SjEwN1hHNGdJQ0FnSUNCMllYSWdlaklnUFNCUVd5ZDZKMTA3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VYVmhkR1Z5Ym1sdmJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUIzTWlBdElIZ3hJQ29nZURJZ0xTQjVNU0FxSUhreUlDMGdlakVnS2lCNk1peGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUI0TWlBcklIZ3hJQ29nZHpJZ0t5QjVNU0FxSUhveUlDMGdlakVnS2lCNU1peGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUI1TWlBcklIa3hJQ29nZHpJZ0t5QjZNU0FxSUhneUlDMGdlREVnS2lCNk1peGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUI2TWlBcklIb3hJQ29nZHpJZ0t5QjRNU0FxSUhreUlDMGdlVEVnS2lCNE1pazdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlRZMkZzWlhNZ1lTQnhkV0YwWlhKdWFXOXVJR0o1SUdFZ2MyTmhiR0Z5TENCbVlYTjBaWElnZEdoaGJpQjFjMmx1WnlCdGRXeDBhWEJzYVdOaGRHbHZibHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlITWdjMk5oYkdsdVp5Qm1ZV04wYjNKY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VYVmhkR1Z5Ym1sdmJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmMyTmhiR1VuT2lCbWRXNWpkR2x2YmloektTQjdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGMxc25keWRkSUNvZ2N5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjMXNuZUNkZElDb2djeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwYzFzbmVTZGRJQ29nY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGMxc25laWRkSUNvZ2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRZV3hqZFd4aGRHVnpJSFJvWlNCa2IzUWdjSEp2WkhWamRDQnZaaUIwZDI4Z2NYVmhkR1Z5Ym1sdmJuTmNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZkU5aWFtVmpkSHh6ZEhKcGJtZDlJSGNnY21WaGJGeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VDQnBiV0ZuWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I1SUdsdFlXZGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY2oxOUlIb2dhVzFoWjF4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUh0dWRXMWlaWEo5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMlJ2ZENjNklHWjFibU4wYVc5dUtIY3NJSGdzSUhrc0lIb3BJSHRjYmx4dUlDQWdJQ0FnY0dGeWMyVW9VQ3dnZHl3Z2VDd2dlU3dnZWlrN1hHNWNiaUFnSUNBZ0lDOHZJR1J2ZENoUk1Td2dVVElwSURvOUlIY3hJQ29nZHpJZ0t5QmtiM1FvZGpFc0lIWXlLVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwYzFzbmR5ZGRJQ29nVUZzbmR5ZGRJQ3NnZEdocGMxc25lQ2RkSUNvZ1VGc25lQ2RkSUNzZ2RHaHBjMXNuZVNkZElDb2dVRnNuZVNkZElDc2dkR2hwYzFzbmVpZGRJQ29nVUZzbmVpZGRPMXh1SUNBZ0lIMHNYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRMkZzWTNWc1lYUmxjeUIwYUdVZ2FXNTJaWEp6WlNCdlppQmhJSEYxWVhRZ1ptOXlJRzV2YmkxdWIzSnRZV3hwZW1Wa0lIRjFZWFJ6SUhOMVkyZ2dkR2hoZEZ4dUlDQWdJQ0FxSUZGZUxURWdLaUJSSUQwZ01TQmhibVFnVVNBcUlGRmVMVEVnUFNBeFhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VYVmhkR1Z5Ym1sdmJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmFXNTJaWEp6WlNjNklHWjFibU4wYVc5dUtDa2dlMXh1WEc0Z0lDQWdJQ0F2THlCUlhpMHhJRG85SUZFbklDOGdmRkY4WGpKY2JpQWdJQ0FnSUM4dklDQWdJQ0FnSUQwZ1czY2dMeUFvZDE0eUlDc2dmSFo4WGpJcExDQXRkaUF2SUNoM1hqSWdLeUI4ZG54ZU1pbGRYRzVjYmlBZ0lDQWdJQzh2SUZCeWIyOW1PbHh1SUNBZ0lDQWdMeThnVVNBcUlGRmVMVEVnUFNCYmR5d2dkbDBnS2lCYmR5QXZJQ2gzWGpJZ0t5QjhkbnhlTWlrc0lDMTJJQzhnS0hkZU1pQXJJSHgyZkY0eUtWMWNiaUFnSUNBZ0lDOHZJQ0FnSUNBZ0lDQWdJRDBnV3pFc0lEQmRYRzRnSUNBZ0lDQXZMeUJSWGkweElDb2dVU0E5SUZ0M0lDOGdLSGRlTWlBcklIeDJmRjR5S1N3Z0xYWWdMeUFvZDE0eUlDc2dmSFo4WGpJcFhTQXFJRnQzTENCMlhWeHVJQ0FnSUNBZ0x5OGdJQ0FnSUNBZ0lDQWdQU0JiTVN3Z01GMHVYRzVjYmlBZ0lDQWdJSFpoY2lCM0lEMGdkR2hwYzFzbmR5ZGRPMXh1SUNBZ0lDQWdkbUZ5SUhnZ1BTQjBhR2x6V3lkNEoxMDdYRzRnSUNBZ0lDQjJZWElnZVNBOUlIUm9hWE5iSjNrblhUdGNiaUFnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjMXNuZWlkZE8xeHVYRzRnSUNBZ0lDQjJZWElnYm05eWJWTnhJRDBnZHlBcUlIY2dLeUI0SUNvZ2VDQXJJSGtnS2lCNUlDc2dlaUFxSUhvN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1YjNKdFUzRWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGRjFZWFJsY201cGIyNWJKMXBGVWs4blhUc2dMeThnVkU5RVR6b2dTWE1nZEdobElISmxjM1ZzZENCNlpYSnZJRzl5SUc5dVpTQjNhR1Z1SUhSb1pTQnViM0p0SUdseklIcGxjbTgvWEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dmNtMVRjU0E5SURFZ0x5QnViM0p0VTNFN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWgzSUNvZ2JtOXliVk54TENBdGVDQXFJRzV2Y20xVGNTd2dMWGtnS2lCdWIzSnRVM0VzSUMxNklDb2dibTl5YlZOeEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFMTFiSFJwY0d4cFpYTWdZU0J4ZFdGMFpYSnVhVzl1SUhkcGRHZ2dkR2hsSUdsdWRtVnljMlVnYjJZZ1lTQnpaV052Ym1RZ2NYVmhkR1Z5Ym1sdmJseHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo4VDJKcVpXTjBmSE4wY21sdVozMGdkeUJ5WldGc1hHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEk5ZlNCNElHbHRZV2RjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNqMTlJSGtnYVcxaFoxeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VpQnBiV0ZuWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZTFGMVlYUmxjbTVwYjI1OVhHNGdJQ0FnSUNvdlhHNGdJQ0FnSjJScGRpYzZJR1oxYm1OMGFXOXVLSGNzSUhnc0lIa3NJSG9wSUh0Y2JseHVJQ0FnSUNBZ2NHRnljMlVvVUN3Z2R5d2dlQ3dnZVN3Z2VpazdYRzVjYmlBZ0lDQWdJQzh2SUZFeElDOGdVVElnT2owZ1VURWdLaUJSTWw0dE1WeHVYRzRnSUNBZ0lDQjJZWElnZHpFZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQjJZWElnZURFZ1BTQjBhR2x6V3lkNEoxMDdYRzRnSUNBZ0lDQjJZWElnZVRFZ1BTQjBhR2x6V3lkNUoxMDdYRzRnSUNBZ0lDQjJZWElnZWpFZ1BTQjBhR2x6V3lkNkoxMDdYRzVjYmlBZ0lDQWdJSFpoY2lCM01pQTlJRkJiSjNjblhUdGNiaUFnSUNBZ0lIWmhjaUI0TWlBOUlGQmJKM2duWFR0Y2JpQWdJQ0FnSUhaaGNpQjVNaUE5SUZCYkoza25YVHRjYmlBZ0lDQWdJSFpoY2lCNk1pQTlJRkJiSjNvblhUdGNibHh1SUNBZ0lDQWdkbUZ5SUc1dmNtMVRjU0E5SUhjeUlDb2dkeklnS3lCNE1pQXFJSGd5SUNzZ2VUSWdLaUI1TWlBcklIb3lJQ29nZWpJN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1YjNKdFUzRWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGRjFZWFJsY201cGIyNWJKMXBGVWs4blhUc2dMeThnVkU5RVR6b2dTWE1nZEdobElISmxjM1ZzZENCNlpYSnZJRzl5SUc5dVpTQjNhR1Z1SUhSb1pTQnViM0p0SUdseklIcGxjbTgvWEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dmNtMVRjU0E5SURFZ0x5QnViM0p0VTNFN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLSGN4SUNvZ2R6SWdLeUI0TVNBcUlIZ3lJQ3NnZVRFZ0tpQjVNaUFySUhveElDb2dlaklwSUNvZ2JtOXliVk54TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FvZURFZ0tpQjNNaUF0SUhjeElDb2dlRElnTFNCNU1TQXFJSG95SUNzZ2VqRWdLaUI1TWlrZ0tpQnViM0p0VTNFc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNoNU1TQXFJSGN5SUMwZ2R6RWdLaUI1TWlBdElIb3hJQ29nZURJZ0t5QjRNU0FxSUhveUtTQXFJRzV2Y20xVGNTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tIb3hJQ29nZHpJZ0xTQjNNU0FxSUhveUlDMGdlREVnS2lCNU1pQXJJSGt4SUNvZ2VESXBJQ29nYm05eWJWTnhLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRU5oYkdOMWJHRjBaWE1nZEdobElHTnZibXAxWjJGMFpTQnZaaUJoSUhGMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUh0UmRXRjBaWEp1YVc5dWZWeHVJQ0FnSUNBcUwxeHVJQ0FnSUNkamIyNXFkV2RoZEdVbk9pQm1kVzVqZEdsdmJpZ3BJSHRjYmx4dUlDQWdJQ0FnTHk4Z1VTY2dQU0JiY3l3Z0xYWmRYRzVjYmlBZ0lDQWdJQzh2SUVsbUlIUm9aU0J4ZFdGMFpYSnVhVzl1SUdseklHNXZjbTFoYkdsNlpXUXNYRzRnSUNBZ0lDQXZMeUIwYUdVZ1kyOXVhblZuWVhSbElHbHpJSFJvWlNCcGJuWmxjbk5sSUc5bUlIUm9aU0J4ZFdGMFpYSnVhVzl1SUMwZ1luVjBJR1poYzNSbGNseHVJQ0FnSUNBZ0x5OGdVU2NnS2lCUklEMGdVU0FxSUZFbklEMGdNVnh1WEc0Z0lDQWdJQ0F2THlCQlpHUnBkR2x2Ym1Gc2JIa3NJSFJvWlNCamIyNXFkV2RoZEdVZ2IyWWdZU0IxYm1sMElIRjFZWFJsY201cGIyNGdhWE1nWVNCeWIzUmhkR2x2YmlCM2FYUm9JSFJvWlNCellXMWxYRzRnSUNBZ0lDQXZMeUJoYm1kc1pTQmlkWFFnZEdobElHOXdjRzl6YVhSbElHRjRhWE11WEc1Y2JpQWdJQ0FnSUM4dklFMXZjbVZ2ZG1WeUlIUm9aU0JtYjJ4c2IzZHBibWNnY0hKdmNHVnlkSGtnYUc5c1pITTZYRzRnSUNBZ0lDQXZMeUFvVVRFZ0tpQlJNaWtuSUQwZ1VUSW5JQ29nVVRFblhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWgwYUdseld5ZDNKMTBzSUMxMGFHbHpXeWQ0SjEwc0lDMTBhR2x6V3lkNUoxMHNJQzEwYUdseld5ZDZKMTBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTJGc1kzVnNZWFJsY3lCMGFHVWdibUYwZFhKaGJDQmxlSEJ2Ym1WdWRHbGhkR2x2YmlCdlppQjBhR1VnY1hWaGRHVnlibWx2Ymx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZTFGMVlYUmxjbTVwYjI1OVhHNGdJQ0FnSUNvdlhHNGdJQ0FnSjJWNGNDYzZJR1oxYm1OMGFXOXVLQ2tnZTF4dVhHNGdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTmJKM2NuWFR0Y2JpQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGMxc25lQ2RkTzF4dUlDQWdJQ0FnZG1GeUlIa2dQU0IwYUdseld5ZDVKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhOYkozb25YVHRjYmx4dUlDQWdJQ0FnZG1GeUlIWk9iM0p0SUQwZ1RXRjBhQzV6Y1hKMEtIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEc0Z0lDQWdJQ0IyWVhJZ2QwVjRjQ0E5SUUxaGRHZ3VaWGh3S0hjcE8xeHVJQ0FnSUNBZ2RtRnlJSE5qWVd4bElEMGdkMFY0Y0NBdklIWk9iM0p0SUNvZ1RXRjBhQzV6YVc0b2RrNXZjbTBwTzF4dVhHNGdJQ0FnSUNCcFppQW9kazV2Y20wZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0x5OXlaWFIxY200Z2JtVjNJRkYxWVhSbGNtNXBiMjRvZDBWNGNDQXFJRTFoZEdndVkyOXpLSFpPYjNKdEtTd2dNQ3dnTUN3Z01DazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloM1JYaHdMQ0F3TENBd0xDQXdLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCM1JYaHdJQ29nVFdGMGFDNWpiM01vZGs1dmNtMHBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nYzJOaGJHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIa2dLaUJ6WTJGc1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2VpQXFJSE5qWVd4bEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTmhiR04xYkdGMFpYTWdkR2hsSUc1aGRIVnlZV3dnYkc5bllYSnBkR2h0SUc5bUlIUm9aU0J4ZFdGMFpYSnVhVzl1WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUI3VVhWaGRHVnlibWx2Ym4xY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuYkc5bkp6b2dablZ1WTNScGIyNG9LU0I3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGMxc25keWRkTzF4dUlDQWdJQ0FnZG1GeUlIZ2dQU0IwYUdseld5ZDRKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VTQTlJSFJvYVhOYkoza25YVHRjYmlBZ0lDQWdJSFpoY2lCNklEMGdkR2hwYzFzbmVpZGRPMXh1WEc0Z0lDQWdJQ0JwWmlBb2VTQTlQVDBnTUNBbUppQjZJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2IyZEllWEJ2ZENoM0xDQjRLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JOWVhSb0xtRjBZVzR5S0hnc0lIY3BMQ0F3TENBd0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhGT2IzSnRNaUE5SUhnZ0tpQjRJQ3NnZVNBcUlIa2dLeUI2SUNvZ2VpQXJJSGNnS2lCM08xeHVJQ0FnSUNBZ2RtRnlJSFpPYjNKdElEMGdUV0YwYUM1emNYSjBLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlrN1hHNWNiaUFnSUNBZ0lIWmhjaUJ6WTJGc1pTQTlJRTFoZEdndVlYUmhiaklvZGs1dmNtMHNJSGNwSUM4Z2RrNXZjbTA3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VYVmhkR1Z5Ym1sdmJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1RXRjBhQzVzYjJjb2NVNXZjbTB5S1NBcUlEQXVOU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlQ0FxSUhOallXeGxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjVJQ29nYzJOaGJHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIb2dLaUJ6WTJGc1pTazdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRZV3hqZFd4aGRHVnpJSFJvWlNCd2IzZGxjaUJ2WmlCaElIRjFZWFJsY201cGIyNGdjbUZwYzJWa0lIUnZJR0VnY21WaGJDQnVkVzFpWlhJZ2IzSWdZVzV2ZEdobGNpQnhkV0YwWlhKdWFXOXVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY254UFltcGxZM1I4YzNSeWFXNW5mU0IzSUhKbFlXeGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY2oxOUlIZ2dhVzFoWjF4dUlDQWdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlQWDBnZVNCcGJXRm5YRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhJOWZTQjZJR2x0WVdkY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VYVmhkR1Z5Ym1sdmJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmNHOTNKem9nWm5WdVkzUnBiMjRvZHl3Z2VDd2dlU3dnZWlrZ2UxeHVYRzRnSUNBZ0lDQndZWEp6WlNoUUxDQjNMQ0I0TENCNUxDQjZLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tGQmJKM2tuWFNBOVBUMGdNQ0FtSmlCUVd5ZDZKMTBnUFQwOUlEQXBJSHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9VRnNuZHlkZElEMDlQU0F4SUNZbUlGQmJKM2duWFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRkJiSjNjblhTQTlQVDBnTUNBbUppQlFXeWQ0SjEwZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1VYVmhkR1Z5Ym1sdmJsc25UMDVGSjEwN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0F2THlCRGFHVmpheUJwWmlCM1pTQmpZVzRnYjNCbGNtRjBaU0JwYmlCRFhHNGdJQ0FnSUNBZ0lDOHZJRUp2Y25KdmQyVmtJR1p5YjIwZ1kyOXRjR3hsZUM1cWMxeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGMxc25lU2RkSUQwOVBTQXdJQ1ltSUhSb2FYTmJKM29uWFNBOVBUMGdNQ2tnZTF4dVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUdFZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHSWdQU0IwYUdseld5ZDRKMTA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWVNBOVBUMGdNQ0FtSmlCaUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVWFZoZEdWeWJtbHZibHNuV2tWU1R5ZGRPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCaGNtY2dQU0JOWVhSb0xtRjBZVzR5S0dJc0lHRXBPMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnNiMmdnUFNCc2IyZEllWEJ2ZENoaExDQmlLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hRV3lkNEoxMGdQVDA5SURBcElIdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0lnUFQwOUlEQWdKaVlnWVNBK1BTQXdLU0I3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtFMWhkR2d1Y0c5M0tHRXNJRkJiSjNjblhTa3NJREFzSURBc0lEQXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUFQwOUlEQXBJSHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLRkJiSjNjblhTQWxJRFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREE2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGRjFZWFJsY201cGIyNG9UV0YwYUM1d2IzY29ZaXdnVUZzbmR5ZGRLU3dnTUN3Z01Dd2dNQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQXhPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtEQXNJRTFoZEdndWNHOTNLR0lzSUZCYkozY25YU2tzSURBc0lEQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ01qcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmlndFRXRjBhQzV3YjNjb1lpd2dVRnNuZHlkZEtTd2dNQ3dnTUN3Z01DazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBek9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0RBc0lDMU5ZWFJvTG5CdmR5aGlMQ0JRV3lkM0oxMHBMQ0F3TENBd0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdFZ1BTQk5ZWFJvTG1WNGNDaFFXeWQzSjEwZ0tpQnNiMmdnTFNCUVd5ZDRKMTBnS2lCaGNtY3BPMXh1SUNBZ0lDQWdJQ0FnSUdJZ1BTQlFXeWQ0SjEwZ0tpQnNiMmdnS3lCUVd5ZDNKMTBnS2lCaGNtYzdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZU0FxSUUxaGRHZ3VZMjl6S0dJcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZU0FxSUUxaGRHZ3VjMmx1S0dJcExDQXdMQ0F3S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUJPYjNKdFlXd2djWFZoZEdWeWJtbHZiaUJpWldoaGRtbHZjbHh1SUNBZ0lDQWdMeThnY1Y1d0lEMGdaVjVzYmloeFhuQXBJRDBnWlY0b2JHNG9jU2txY0NsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxteHZaeWdwTG0xMWJDaFFLUzVsZUhBb0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQjBkMjhnY1hWaGRITWdZWEpsSUhSb1pTQnpZVzFsWEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNueFBZbXBsWTNSOGMzUnlhVzVuZlNCM0lISmxZV3hjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNqMTlJSGdnYVcxaFoxeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VTQnBiV0ZuWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I2SUdsdFlXZGNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjdZbTl2YkdWaGJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBblpYRjFZV3h6SnpvZ1puVnVZM1JwYjI0b2R5d2dlQ3dnZVN3Z2Vpa2dlMXh1WEc0Z0lDQWdJQ0J3WVhKelpTaFFMQ0IzTENCNExDQjVMQ0I2S1R0Y2JseHVJQ0FnSUNBZ2RtRnlJR1Z3Y3lBOUlGRjFZWFJsY201cGIyNWJKMFZRVTBsTVQwNG5YVHRjYmx4dUlDQWdJQ0FnTHk4Z2JXRjVZbVVnWTJobFkyc2dabTl5SUU1aFRpZHpJR2hsY21VL1hHNGdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNWhZbk1vVUZzbmR5ZGRJQzBnZEdocGMxc25keWRkS1NBOElHVndjMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQW1KaUJOWVhSb0xtRmljeWhRV3lkNEoxMGdMU0IwYUdseld5ZDRKMTBwSUR3Z1pYQnpYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDWW1JRTFoZEdndVlXSnpLRkJiSjNrblhTQXRJSFJvYVhOYkoza25YU2tnUENCbGNITmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0ppWWdUV0YwYUM1aFluTW9VRnNuZWlkZElDMGdkR2hwYzFzbmVpZGRLU0E4SUdWd2N6dGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQmhiR3dnY0dGeWRITWdiMllnWVNCeGRXRjBaWEp1YVc5dUlHRnlaU0JtYVc1cGRHVmNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQnlaWFIxY201eklIdGliMjlzWldGdWZWeHVJQ0FnSUNBcUwxeHVJQ0FnSUNkcGMwWnBibWwwWlNjNklHWjFibU4wYVc5dUtDa2dlMXh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdhWE5HYVc1cGRHVW9kR2hwYzFzbmR5ZGRLU0FtSmlCcGMwWnBibWwwWlNoMGFHbHpXeWQ0SjEwcElDWW1JR2x6Um1sdWFYUmxLSFJvYVhOYkoza25YU2tnSmlZZ2FYTkdhVzVwZEdVb2RHaHBjMXNuZWlkZEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQmhibmtnYjJZZ2RHaGxJSEJoY25SeklHOW1JSFJvWlNCeGRXRjBaWEp1YVc5dUlHbHpJRzV2ZENCaElHNTFiV0psY2x4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZTJKdmIyeGxZVzU5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMmx6VG1GT0p6b2dablZ1WTNScGIyNG9LU0I3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJwYzA1aFRpaDBhR2x6V3lkM0oxMHBJSHg4SUdselRtRk9LSFJvYVhOYkozZ25YU2tnZkh3Z2FYTk9ZVTRvZEdocGMxc25lU2RkS1NCOGZDQnBjMDVoVGloMGFHbHpXeWQ2SjEwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1IyVjBjeUIwYUdVZ1VYVmhkR1Z5Ym1sdmJpQmhjeUJoSUhkbGJHd2dabTl5YldGMGRHVmtJSE4wY21sdVoxeHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ2UzTjBjbWx1WjMxY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuZEc5VGRISnBibWNuT2lCbWRXNWpkR2x2YmlncElIdGNibHh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE5iSjNnblhUdGNiaUFnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjMXNuZVNkZE8xeHVJQ0FnSUNBZ2RtRnlJSG9nUFNCMGFHbHpXeWQ2SjEwN1hHNGdJQ0FnSUNCMllYSWdjbVYwSUQwZ0p5YzdYRzVjYmlBZ0lDQWdJR2xtSUNocGMwNWhUaWgzS1NCOGZDQnBjMDVoVGloNEtTQjhmQ0JwYzA1aFRpaDVLU0I4ZkNCcGMwNWhUaWg2S1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0owNWhUaWM3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklFRnNkR1Z5Ym1GMGFYWmxJR1JsYzJsbmJqOWNiaUFnSUNBZ0lDOHZJQ2NvSldZc0lGc2xaaUFsWmlBbFpsMHBKMXh1WEc0Z0lDQWdJQ0J5WlhRZ1BTQnVkVzFVYjFOMGNpaDNMQ0FuSnl3Z2NtVjBLVHRjYmlBZ0lDQWdJSEpsZENBclBTQnVkVzFVYjFOMGNpaDRMQ0FuYVNjc0lISmxkQ2s3WEc0Z0lDQWdJQ0J5WlhRZ0t6MGdiblZ0Vkc5VGRISW9lU3dnSjJvbkxDQnlaWFFwTzF4dUlDQWdJQ0FnY21WMElDczlJRzUxYlZSdlUzUnlLSG9zSUNkckp5d2djbVYwS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLQ2NuSUQwOVBTQnlaWFFwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFuTUNjN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYUTdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlNaWFIxY201eklIUm9aU0J5WldGc0lIQmhjblFnYjJZZ2RHaGxJSEYxWVhSbGNtNXBiMjVjYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJSHR1ZFcxaVpYSjlYRzRnSUNBZ0lDb3ZYRzRnSUNBZ0ozSmxZV3duT2lCbWRXNWpkR2x2YmlncElIdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE5iSjNjblhUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGSmxkSFZ5Ym5NZ2RHaGxJR2x0WVdkcGJtRnllU0J3WVhKMElHOW1JSFJvWlNCeGRXRjBaWEp1YVc5dUlHRnpJR0VnTTBRZ2RtVmpkRzl5SUM4Z1lYSnlZWGxjYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJSHRCY25KaGVYMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmFXMWhaeWM2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1czUm9hWE5iSjNnblhTd2dkR2hwYzFzbmVTZGRMQ0IwYUdseld5ZDZKMTFkTzF4dUlDQWdJSDBzWEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUjJWMGN5QjBhR1VnWVdOMGRXRnNJSEYxWVhSbGNtNXBiMjRnWVhNZ1lTQTBSQ0IyWldOMGIzSWdMeUJoY25KaGVWeHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ2UwRnljbUY1ZlZ4dUlDQWdJQ0FxTDF4dUlDQWdJQ2QwYjFabFkzUnZjaWM2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1czUm9hWE5iSjNjblhTd2dkR2hwYzFzbmVDZGRMQ0IwYUdseld5ZDVKMTBzSUhSb2FYTmJKM29uWFYwN1hHNGdJQ0FnZlN4Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCRFlXeGpkV3hoZEdWeklIUm9aU0F6ZURNZ2NtOTBZWFJwYjI0Z2JXRjBjbWw0SUdadmNpQjBhR1VnWTNWeWNtVnVkQ0J4ZFdGMFhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzQ5ZlNCa01seHVJQ0FnSUNBcUlFQnpaV1VnYUhSMGNITTZMeTlsYmk1M2FXdHBjR1ZrYVdFdWIzSm5MM2RwYTJrdlVtOTBZWFJwYjI1ZmJXRjBjbWw0STFGMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1FYSnlZWGw5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKM1J2VFdGMGNtbDRKem9nWm5WdVkzUnBiMjRvWkRJcElIdGNibHh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE5iSjNnblhUdGNiaUFnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjMXNuZVNkZE8xeHVJQ0FnSUNBZ2RtRnlJSG9nUFNCMGFHbHpXeWQ2SjEwN1hHNWNiaUFnSUNBZ0lIWmhjaUJ1SUQwZ2R5QXFJSGNnS3lCNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIbzdYRzRnSUNBZ0lDQjJZWElnY3lBOUlHNGdQVDA5SURBZ1B5QXdJRG9nTWlBdklHNDdYRzRnSUNBZ0lDQjJZWElnZDNnZ1BTQnpJQ29nZHlBcUlIZ3NJSGQ1SUQwZ2N5QXFJSGNnS2lCNUxDQjNlaUE5SUhNZ0tpQjNJQ29nZWp0Y2JpQWdJQ0FnSUhaaGNpQjRlQ0E5SUhNZ0tpQjRJQ29nZUN3Z2VIa2dQU0J6SUNvZ2VDQXFJSGtzSUhoNklEMGdjeUFxSUhnZ0tpQjZPMXh1SUNBZ0lDQWdkbUZ5SUhsNUlEMGdjeUFxSUhrZ0tpQjVMQ0I1ZWlBOUlITWdLaUI1SUNvZ2Vpd2dlbm9nUFNCeklDb2dlaUFxSUhvN1hHNWNiaUFnSUNBZ0lHbG1JQ2hrTWlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHVJQ0FnSUNBZ0lDQWdJRnN4SUMwZ0tIbDVJQ3NnZW5vcExDQjRlU0F0SUhkNkxDQjRlaUFySUhkNVhTeGNiaUFnSUNBZ0lDQWdJQ0JiZUhrZ0t5QjNlaXdnTVNBdElDaDRlQ0FySUhwNktTd2dlWG9nTFNCM2VGMHNYRzRnSUNBZ0lDQWdJQ0FnVzNoNklDMGdkM2tzSUhsNklDc2dkM2dzSURFZ0xTQW9lSGdnS3lCNWVTbGRYVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRnRjYmlBZ0lDQWdJQ0FnTVNBdElDaDVlU0FySUhwNktTd2dlSGtnTFNCM2Vpd2dlSG9nS3lCM2VTeGNiaUFnSUNBZ0lDQWdlSGtnS3lCM2Vpd2dNU0F0SUNoNGVDQXJJSHA2S1N3Z2VYb2dMU0IzZUN4Y2JpQWdJQ0FnSUNBZ2VIb2dMU0IzZVN3Z2VYb2dLeUIzZUN3Z01TQXRJQ2g0ZUNBcklIbDVLVjA3WEc0Z0lDQWdmU3hjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEWVd4amRXeGhkR1Z6SUhSb1pTQm9iMjF2WjJWdVpXOTFjeUEwZURRZ2NtOTBZWFJwYjI0Z2JXRjBjbWw0SUdadmNpQjBhR1VnWTNWeWNtVnVkQ0J4ZFdGMFhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzQ5ZlNCa01seHVJQ0FnSUNBcUlFQnlaWFIxY201eklIdEJjbkpoZVgxY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuZEc5TllYUnlhWGcwSnpvZ1puVnVZM1JwYjI0b1pESXBJSHRjYmx4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdseld5ZDNKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VDQTlJSFJvYVhOYkozZ25YVHRjYmlBZ0lDQWdJSFpoY2lCNUlEMGdkR2hwYzFzbmVTZGRPMXh1SUNBZ0lDQWdkbUZ5SUhvZ1BTQjBhR2x6V3lkNkoxMDdYRzVjYmlBZ0lDQWdJSFpoY2lCdUlEMGdkeUFxSUhjZ0t5QjRJQ29nZUNBcklIa2dLaUI1SUNzZ2VpQXFJSG83WEc0Z0lDQWdJQ0IyWVhJZ2N5QTlJRzRnUFQwOUlEQWdQeUF3SURvZ01pQXZJRzQ3WEc0Z0lDQWdJQ0IyWVhJZ2QzZ2dQU0J6SUNvZ2R5QXFJSGdzSUhkNUlEMGdjeUFxSUhjZ0tpQjVMQ0IzZWlBOUlITWdLaUIzSUNvZ2VqdGNiaUFnSUNBZ0lIWmhjaUI0ZUNBOUlITWdLaUI0SUNvZ2VDd2dlSGtnUFNCeklDb2dlQ0FxSUhrc0lIaDZJRDBnY3lBcUlIZ2dLaUI2TzF4dUlDQWdJQ0FnZG1GeUlIbDVJRDBnY3lBcUlIa2dLaUI1TENCNWVpQTlJSE1nS2lCNUlDb2dlaXdnZW5vZ1BTQnpJQ29nZWlBcUlIbzdYRzVjYmlBZ0lDQWdJR2xtSUNoa01pa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh1SUNBZ0lDQWdJQ0FnSUZzeElDMGdLSGw1SUNzZ2Vub3BMQ0I0ZVNBdElIZDZMQ0I0ZWlBcklIZDVMQ0F3WFN4Y2JpQWdJQ0FnSUNBZ0lDQmJlSGtnS3lCM2Vpd2dNU0F0SUNoNGVDQXJJSHA2S1N3Z2VYb2dMU0IzZUN3Z01GMHNYRzRnSUNBZ0lDQWdJQ0FnVzNoNklDMGdkM2tzSUhsNklDc2dkM2dzSURFZ0xTQW9lSGdnS3lCNWVTa3NJREJkTEZ4dUlDQWdJQ0FnSUNBZ0lGc3dMQ0F3TENBd0xDQXhYVjA3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0FnSURFZ0xTQW9lWGtnS3lCNmVpa3NJSGg1SUMwZ2Qzb3NJSGg2SUNzZ2Qza3NJREFzWEc0Z0lDQWdJQ0FnSUhoNUlDc2dkM29zSURFZ0xTQW9lSGdnS3lCNmVpa3NJSGw2SUMwZ2QzZ3NJREFzWEc0Z0lDQWdJQ0FnSUhoNklDMGdkM2tzSUhsNklDc2dkM2dzSURFZ0xTQW9lSGdnS3lCNWVTa3NJREFzWEc0Z0lDQWdJQ0FnSURBc0lEQXNJREFzSURGZE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EyeHZibVZ6SUhSb1pTQmhZM1IxWVd3Z2IySnFaV04wWEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUI3VVhWaGRHVnlibWx2Ym4xY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuWTJ4dmJtVW5PaUJtZFc1amRHbHZiaWdwSUh0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlJkV0YwWlhKdWFXOXVLSFJvYVhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1VtOTBZWFJsY3lCaElIWmxZM1J2Y2lCaFkyTnZjbVJwYm1jZ2RHOGdkR2hsSUdOMWNuSmxiblFnY1hWaGRHVnlibWx2Ymx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHRCY25KaGVYMGdkaUJVYUdVZ2RtVmpkRzl5SUhSdklHSmxJSEp2ZEdGMFpXUmNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjdRWEp5WVhsOVhHNGdJQ0FnSUNvdlhHNGdJQ0FnSjNKdmRHRjBaVlpsWTNSdmNpYzZJR1oxYm1OMGFXOXVLSFlwSUh0Y2JseHVJQ0FnSUNBZ0x5OGdXekFzSUhZblhTQTlJRkVnS2lCYk1Dd2dkbDBnS2lCUkoxeHVYRzRnSUNBZ0lDQXZMeUJSWEc0Z0lDQWdJQ0IyWVhJZ2R6RWdQU0IwYUdseld5ZDNKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VERWdQU0IwYUdseld5ZDRKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VURWdQU0IwYUdseld5ZDVKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VqRWdQU0IwYUdseld5ZDZKMTA3WEc1Y2JpQWdJQ0FnSUM4dklGc3dMQ0IyWFZ4dUlDQWdJQ0FnZG1GeUlIY3lJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQjRNaUE5SUhaYk1GMDdYRzRnSUNBZ0lDQjJZWElnZVRJZ1BTQjJXekZkTzF4dUlDQWdJQ0FnZG1GeUlIb3lJRDBnZGxzeVhUdGNibHh1SUNBZ0lDQWdMeThnVVNBcUlGc3dMQ0IyWFZ4dUlDQWdJQ0FnZG1GeUlIY3pJRDBnTHlwM01TQXFJSGN5S2k4Z0xYZ3hJQ29nZURJZ0xTQjVNU0FxSUhreUlDMGdlakVnS2lCNk1qdGNiaUFnSUNBZ0lIWmhjaUI0TXlBOUlIY3hJQ29nZURJZ0t5QXZLbmd4SUNvZ2R6SWdLeW92SUhreElDb2dlaklnTFNCNk1TQXFJSGt5TzF4dUlDQWdJQ0FnZG1GeUlIa3pJRDBnZHpFZ0tpQjVNaUFySUM4cWVURWdLaUIzTWlBcktpOGdlakVnS2lCNE1pQXRJSGd4SUNvZ2VqSTdYRzRnSUNBZ0lDQjJZWElnZWpNZ1BTQjNNU0FxSUhveUlDc2dMeXA2TVNBcUlIY3lJQ3NxTHlCNE1TQXFJSGt5SUMwZ2VURWdLaUI0TWp0Y2JseHVJQ0FnSUNBZ2RtRnlJSGMwSUQwZ2R6TWdLaUIzTVNBcklIZ3pJQ29nZURFZ0t5QjVNeUFxSUhreElDc2dlak1nS2lCNk1UdGNiaUFnSUNBZ0lIWmhjaUI0TkNBOUlIZ3pJQ29nZHpFZ0xTQjNNeUFxSUhneElDMGdlVE1nS2lCNk1TQXJJSG96SUNvZ2VURTdYRzRnSUNBZ0lDQjJZWElnZVRRZ1BTQjVNeUFxSUhjeElDMGdkek1nS2lCNU1TQXRJSG96SUNvZ2VERWdLeUI0TXlBcUlIb3hPMXh1SUNBZ0lDQWdkbUZ5SUhvMElEMGdlak1nS2lCM01TQXRJSGN6SUNvZ2VqRWdMU0I0TXlBcUlIa3hJQ3NnZVRNZ0tpQjRNVHRjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRnQ0TkN3Z2VUUXNJSG8wWFR0Y2JpQWdJQ0I5TEZ4dVhHNGdJQ0FnSjNOc1pYSndKem9nWm5WdVkzUnBiMjRvZHl3Z2VDd2dlU3dnZWlrZ2UxeHVYRzRnSUNBZ0lDQndZWEp6WlNoUUxDQjNMQ0I0TENCNUxDQjZLVHRjYmx4dUlDQWdJQ0FnTHk4Z2MyeGxjbkFvVVRFc0lGRXlMQ0IwS1NBNlBTQlJNU2hSTVY0dE1TQlJNaWxlZEZ4dVhHNGdJQ0FnSUNCMllYSWdkekVnUFNCMGFHbHpXeWQzSjEwN1hHNGdJQ0FnSUNCMllYSWdlREVnUFNCMGFHbHpXeWQ0SjEwN1hHNGdJQ0FnSUNCMllYSWdlVEVnUFNCMGFHbHpXeWQ1SjEwN1hHNGdJQ0FnSUNCMllYSWdlakVnUFNCMGFHbHpXeWQ2SjEwN1hHNWNiaUFnSUNBZ0lIWmhjaUIzTWlBOUlGQmJKM2NuWFR0Y2JpQWdJQ0FnSUhaaGNpQjRNaUE5SUZCYkozZ25YVHRjYmlBZ0lDQWdJSFpoY2lCNU1pQTlJRkJiSjNrblhUdGNiaUFnSUNBZ0lIWmhjaUI2TWlBOUlGQmJKM29uWFR0Y2JseHVJQ0FnSUNBZ2RtRnlJR052YzFSb1pYUmhNQ0E5SUhjeElDb2dkeklnS3lCNE1TQXFJSGd5SUNzZ2VURWdLaUI1TWlBcklIb3hJQ29nZWpJN1hHNWNiaUFnSUNBZ0lHbG1JQ2hqYjNOVWFHVjBZVEFnUENBd0tTQjdYRzRnSUNBZ0lDQWdJSGN4SUQwZ0xYY3hPMXh1SUNBZ0lDQWdJQ0I0TVNBOUlDMTRNVHRjYmlBZ0lDQWdJQ0FnZVRFZ1BTQXRlVEU3WEc0Z0lDQWdJQ0FnSUhveElEMGdMWG94TzF4dUlDQWdJQ0FnSUNCamIzTlVhR1YwWVRBZ1BTQXRZMjl6VkdobGRHRXdPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kyOXpWR2hsZEdFd0lENGdNQzQ1T1RrMUtTQjdJQzh2SUVSUFZGOVVTRkpGVTBoUFRFUmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWjFibU4wYVc5dUtIQmpkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhjeElDc2djR04wSUNvZ0tIY3lJQzBnZHpFcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlREVnS3lCd1kzUWdLaUFvZURJZ0xTQjRNU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNU1TQXJJSEJqZENBcUlDaDVNaUF0SUhreEtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSG94SUNzZ2NHTjBJQ29nS0hveUlDMGdlakVwS1ZzbmJtOXliV0ZzYVhwbEoxMG9LVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJRlJvWlhSaE1DQTlJRTFoZEdndVlXTnZjeWhqYjNOVWFHVjBZVEFwTzF4dUlDQWdJQ0FnZG1GeUlITnBibFJvWlhSaE1DQTlJRTFoZEdndWMybHVLRlJvWlhSaE1DazdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpaHdZM1FwSUh0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnVkdobGRHRWdQU0JVYUdWMFlUQWdLaUJ3WTNRN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6YVc1VWFHVjBZU0E5SUUxaGRHZ3VjMmx1S0ZSb1pYUmhLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlHTnZjMVJvWlhSaElEMGdUV0YwYUM1amIzTW9WR2hsZEdFcE8xeHVYRzRnSUNBZ0lDQWdJSFpoY2lCek1DQTlJR052YzFSb1pYUmhJQzBnWTI5elZHaGxkR0V3SUNvZ2MybHVWR2hsZEdFZ0x5QnphVzVVYUdWMFlUQTdYRzRnSUNBZ0lDQWdJSFpoY2lCek1TQTlJSE5wYmxSb1pYUmhJQzhnYzJsdVZHaGxkR0V3TzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIY3hJQ3NnY3pFZ0tpQjNNaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIZ3hJQ3NnY3pFZ0tpQjRNaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIa3hJQ3NnY3pFZ0tpQjVNaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIb3hJQ3NnY3pFZ0tpQjZNaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUZGMVlYUmxjbTVwYjI1YkoxcEZVazhuWFNBOUlHNWxkeUJSZFdGMFpYSnVhVzl1S0RBc0lEQXNJREFzSURBcE95QXZMeUJVYUdseklHbHpJSFJvWlNCaFpHUnBkR2wyWlNCcFpHVnVkR2wwZVNCUmRXRjBaWEp1YVc5dVhHNGdJRkYxWVhSbGNtNXBiMjViSjA5T1JTZGRJRDBnYm1WM0lGRjFZWFJsY201cGIyNG9NU3dnTUN3Z01Dd2dNQ2s3SUM4dklGUm9hWE1nYVhNZ2RHaGxJRzExYkhScGNHeHBZMkYwYVhabElHbGtaVzUwYVhSNUlGRjFZWFJsY201cGIyNWNiaUFnVVhWaGRHVnlibWx2YmxzblNTZGRJRDBnYm1WM0lGRjFZWFJsY201cGIyNG9NQ3dnTVN3Z01Dd2dNQ2s3WEc0Z0lGRjFZWFJsY201cGIyNWJKMG9uWFNBOUlHNWxkeUJSZFdGMFpYSnVhVzl1S0RBc0lEQXNJREVzSURBcE8xeHVJQ0JSZFdGMFpYSnVhVzl1V3lkTEoxMGdQU0J1WlhjZ1VYVmhkR1Z5Ym1sdmJpZ3dMQ0F3TENBd0xDQXhLVHRjYmlBZ1VYVmhkR1Z5Ym1sdmJsc25SVkJUU1V4UFRpZGRJRDBnTVdVdE1UWTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlhNZ2NYVmhkR1Z5Ym1sdmJpQmllU0JoSUhKdmRHRjBhVzl1SUdkcGRtVnVJR0Z6SUdGNGFYTWdZVzVrSUdGdVoyeGxYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3UVhKeVlYbDlJR0Y0YVhNZ1ZHaGxJR0Y0YVhNZ1lYSnZkVzVrSUhkb2FXTm9JSFJ2SUhKdmRHRjBaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1lXNW5iR1VnVkdobElHRnVaMnhsSUdsdUlISmhaR2xoYm5OY2JpQWdJQ29nUUhKbGRIVnlibk1nZTFGMVlYUmxjbTVwYjI1OVhHNGdJQ0FxTDF4dUlDQlJkV0YwWlhKdWFXOXVXeWRtY205dFFYaHBjMEZ1WjJ4bEoxMGdQU0JtZFc1amRHbHZiaWhoZUdsekxDQmhibWRzWlNrZ2UxeHVYRzRnSUNBZ0x5OGdVU0E5SUZ0amIzTW9ZVzVuYkdVZ0x5QXlLU3dnZGlBcUlITnBiaWhoYm1kc1pTQXZJRElwWFZ4dVhHNGdJQ0FnZG1GeUlHaGhiR1pCYm1kc1pTQTlJR0Z1WjJ4bElDb2dNQzQxTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0JoZUdseld6QmRPMXh1SUNBZ0lIWmhjaUJpSUQwZ1lYaHBjMXN4WFR0Y2JpQWdJQ0IyWVhJZ1l5QTlJR0Y0YVhOYk1sMDdYRzVjYmlBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emFXNG9hR0ZzWmtGdVoyeGxLVHRjYmlBZ0lDQjJZWElnWTI5eklEMGdUV0YwYUM1amIzTW9hR0ZzWmtGdVoyeGxLVHRjYmx4dUlDQWdJSFpoY2lCemFXNWZibTl5YlNBOUlITnBiaUF2SUUxaGRHZ3VjM0Z5ZENoaElDb2dZU0FySUdJZ0tpQmlJQ3NnWXlBcUlHTXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0dOdmN5d2dZU0FxSUhOcGJsOXViM0p0TENCaUlDb2djMmx1WDI1dmNtMHNJR01nS2lCemFXNWZibTl5YlNrN1hHNGdJSDA3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5oYkdOMWJHRjBaWE1nZEdobElIRjFZWFJsY201cGIyNGdkRzhnY205MFlYUmxJRzl1WlNCMlpXTjBiM0lnYjI1MGJ5QjBhR1VnYjNSb1pYSmNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSHRCY25KaGVYMGdkVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwRnljbUY1ZlNCMlhHNGdJQ0FxTDF4dUlDQlJkV0YwWlhKdWFXOXVXeWRtY205dFFtVjBkMlZsYmxabFkzUnZjbk1uWFNBOUlHWjFibU4wYVc5dUtIVXNJSFlwSUh0Y2JseHVJQ0FnSUhaaGNpQmhJRDBnZFZzd1hUdGNiaUFnSUNCMllYSWdZaUE5SUhWYk1WMDdYRzRnSUNBZ2RtRnlJR01nUFNCMVd6SmRPMXh1WEc0Z0lDQWdkbUZ5SUhnZ1BTQjJXekJkTzF4dUlDQWdJSFpoY2lCNUlEMGdkbHN4WFR0Y2JpQWdJQ0IyWVhJZ2VpQTlJSFpiTWwwN1hHNWNiaUFnSUNCMllYSWdaRzkwSUQwZ1lTQXFJSGdnS3lCaUlDb2dlU0FySUdNZ0tpQjZPMXh1SUNBZ0lIWmhjaUIzTVNBOUlHSWdLaUI2SUMwZ1l5QXFJSGs3WEc0Z0lDQWdkbUZ5SUhjeUlEMGdZeUFxSUhnZ0xTQmhJQ29nZWp0Y2JpQWdJQ0IyWVhJZ2R6TWdQU0JoSUNvZ2VTQXRJR0lnS2lCNE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlJkV0YwWlhKdWFXOXVLRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHOTBJQ3NnVFdGMGFDNXpjWEowS0dSdmRDQXFJR1J2ZENBcklIY3hJQ29nZHpFZ0t5QjNNaUFxSUhjeUlDc2dkek1nS2lCM015a3NYRzRnSUNBZ0lDQWdJQ0FnSUNCM01TeGNiaUFnSUNBZ0lDQWdJQ0FnSUhjeUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnZHpOY2JpQWdJQ0FnSUNBZ0lDQWdJQ2t1Ym05eWJXRnNhWHBsS0NrN1hHNGdJSDA3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpYTWdZU0J4ZFdGMFpYSnVhVzl1SUdKNUlHRWdjbTkwWVhScGIyNGdaMmwyWlc0Z1lua2dSWFZzWlhJZ1lXNW5iR1Z6WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCd2FHbGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUhSb1pYUmhYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCd2MybGNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWM5ZlNCdmNtUmxjbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVWFZoZEdWeWJtbHZibjFjYmlBZ0lDb3ZYRzRnSUZGMVlYUmxjbTVwYjI1YkoyWnliMjFGZFd4bGNpZGRJRDBnWm5WdVkzUnBiMjRvY0docExDQjBhR1YwWVN3Z2NITnBMQ0J2Y21SbGNpa2dlMXh1WEc0Z0lDQWdkbUZ5SUY5NElEMGdkR2hsZEdFZ0tpQXdMalU3WEc0Z0lDQWdkbUZ5SUY5NUlEMGdjSE5wSUNvZ01DNDFPMXh1SUNBZ0lIWmhjaUJmZWlBOUlIQm9hU0FxSURBdU5UdGNibHh1SUNBZ0lIWmhjaUJqV0NBOUlFMWhkR2d1WTI5ektGOTRLVHRjYmlBZ0lDQjJZWElnWTFrZ1BTQk5ZWFJvTG1OdmN5aGZlU2s3WEc0Z0lDQWdkbUZ5SUdOYUlEMGdUV0YwYUM1amIzTW9YM29wTzF4dVhHNGdJQ0FnZG1GeUlITllJRDBnVFdGMGFDNXphVzRvWDNncE8xeHVJQ0FnSUhaaGNpQnpXU0E5SUUxaGRHZ3VjMmx1S0Y5NUtUdGNiaUFnSUNCMllYSWdjMW9nUFNCTllYUm9Mbk5wYmloZmVpazdYRzVjYmlBZ0lDQnBaaUFvYjNKa1pYSWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQnZjbVJsY2lBOVBUMGdKMXBZV1NjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMWdnS2lCaldTQXFJR05hSUMwZ2MxZ2dLaUJ6V1NBcUlITmFMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpXQ0FxSUdOWklDb2dZMW9nTFNCaldDQXFJSE5aSUNvZ2Mxb3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTllJQ29nYzFrZ0tpQmpXaUFySUhOWUlDb2dZMWtnS2lCeldpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kxZ2dLaUJqV1NBcUlITmFJQ3NnYzFnZ0tpQnpXU0FxSUdOYUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iM0prWlhJZ1BUMDlJQ2RZV1ZvbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRkYxWVhSbGNtNXBiMjRvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05ZSUNvZ1kxa2dLaUJqV2lBdElITllJQ29nYzFrZ0tpQnpXaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjMWdnS2lCaldTQXFJR05hSUNzZ1kxZ2dLaUJ6V1NBcUlITmFMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpXQ0FxSUhOWklDb2dZMW9nTFNCeldDQXFJR05aSUNvZ2Mxb3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTllJQ29nWTFrZ0tpQnpXaUFySUhOWUlDb2djMWtnS2lCaldpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzl5WkdWeUlEMDlQU0FuV1ZoYUp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqV0NBcUlHTlpJQ29nWTFvZ0t5QnpXQ0FxSUhOWklDb2djMW9zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSE5ZSUNvZ1kxa2dLaUJqV2lBcklHTllJQ29nYzFrZ0tpQnpXaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMWdnS2lCeldTQXFJR05hSUMwZ2MxZ2dLaUJqV1NBcUlITmFMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpXQ0FxSUdOWklDb2djMW9nTFNCeldDQXFJSE5aSUNvZ1kxb3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h2Y21SbGNpQTlQVDBnSjFwWldDY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTFnZ0tpQmpXU0FxSUdOYUlDc2djMWdnS2lCeldTQXFJSE5hTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6V0NBcUlHTlpJQ29nWTFvZ0xTQmpXQ0FxSUhOWklDb2djMW9zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05ZSUNvZ2Mxa2dLaUJqV2lBcklITllJQ29nWTFrZ0tpQnpXaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMWdnS2lCaldTQXFJSE5hSUMwZ2MxZ2dLaUJ6V1NBcUlHTmFLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYjNKa1pYSWdQVDA5SUNkWldsZ25LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdibVYzSUZGMVlYUmxjbTVwYjI0b1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOWUlDb2dZMWtnS2lCaldpQXRJSE5ZSUNvZ2Mxa2dLaUJ6V2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYzFnZ0tpQmpXU0FxSUdOYUlDc2dZMWdnS2lCeldTQXFJSE5hTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqV0NBcUlITlpJQ29nWTFvZ0t5QnpXQ0FxSUdOWklDb2djMW9zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05ZSUNvZ1kxa2dLaUJ6V2lBdElITllJQ29nYzFrZ0tpQmpXaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c5eVpHVnlJRDA5UFNBbldGcFpKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCaldDQXFJR05aSUNvZ1kxb2dLeUJ6V0NBcUlITlpJQ29nYzFvc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhOWUlDb2dZMWtnS2lCaldpQXRJR05ZSUNvZ2Mxa2dLaUJ6V2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTFnZ0tpQnpXU0FxSUdOYUlDMGdjMWdnS2lCaldTQXFJSE5hTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqV0NBcUlHTlpJQ29nYzFvZ0t5QnpXQ0FxSUhOWklDb2dZMW9wTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZUdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHUmxabWx1WlNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCa1pXWnBibVZiSjJGdFpDZGRLU0I3WEc0Z0lDQWdaR1ZtYVc1bEtGdGRMQ0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJSZFdGMFpYSnVhVzl1TzF4dUlDQWdJSDBwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmxlSEJ2Y25SeklEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlkMllXeDFaU2M2SUhSeWRXVjlLVHRjYmlBZ0lDQlJkV0YwWlhKdWFXOXVXeWRrWldaaGRXeDBKMTBnUFNCUmRXRjBaWEp1YVc5dU8xeHVJQ0FnSUZGMVlYUmxjbTVwYjI1YkoxRjFZWFJsY201cGIyNG5YU0E5SUZGMVlYUmxjbTVwYjI0N1hHNGdJQ0FnYlc5a2RXeGxXeWRsZUhCdmNuUnpKMTBnUFNCUmRXRjBaWEp1YVc5dU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISnZiM1JiSjFGMVlYUmxjbTVwYjI0blhTQTlJRkYxWVhSbGNtNXBiMjQ3WEc0Z0lIMWNibHh1ZlNrb2RHaHBjeWs3WEc0aUxDSnBiWEJ2Y25RZ2V5QkpiblJsY21GamRHbHZibEJ5YjJacGJHVXNJRVJsZG1salpTd2dRV04wYVc5dVFtbHVaR2x1Wnl3Z1NXNXdkWFFzSUVsdWNIVjBVM1JoZEdVc0lFRmpkR2x2YmxSNWNHVXNJRUYyTENCSmJuQjFkRWx1Wm04c0lFRmpkR2x2YmxObGRDd2dRV04wYVhabFFXTjBhVzl1VTJWMExDQkJZM1JwYjI0Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKckp6dGNjbHh1WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnU1c1d2RYUkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBhV1E2SUc1MWJXSmxjanRjY2x4dWZWeHlYRzVjY2x4dWFXNTBaWEptWVdObElFSnZiMnhsWVc1RFlXeHNZbUZqYXlCbGVIUmxibVJ6SUVsdWNIVjBRMkZzYkdKaFkydGNjbHh1ZTF4eVhHNWNkSEpwYzJsdVp6ODZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JseDBabUZzYkdsdVp6ODZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JuMWNjbHh1WEhKY2JtbHVkR1Z5Wm1GalpTQkdiRzloZEVOaGJHeGlZV05ySUdWNGRHVnVaSE1nU1c1d2RYUkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBZMmhoYm1kbE9pQW9JRzlzWkZaaGJIVmxPaUJ1ZFcxaVpYSXNJRzVsZDFaaGJIVmxPaUJ1ZFcxaVpYSWdLU0E5UGlCMmIybGtPMXh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1ZtVmpkRzl5TWtOaGJHeGlZV05ySUdWNGRHVnVaSE1nU1c1d2RYUkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBZMmhoYm1kbE9pQW9JRzlzWkZaaGJIVmxPaUJiSUc1MWJXSmxjaXdnYm5WdFltVnlJRjBzSUc1bGQxWmhiSFZsT2lCYklHNTFiV0psY2l3Z2JuVnRZbVZ5SUYwZ0tTQTlQaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnUVdOMGFXOXVWMmwwYUV4cGMzUmxibVZ5Y3lCbGVIUmxibVJ6SUVGamRHbHZibHh5WEc1N1hISmNibHgwYkdWbWRFTmhiR3hpWVdOcmN6ODZJQ2hDYjI5c1pXRnVRMkZzYkdKaFkyc2dmQ0JHYkc5aGRFTmhiR3hpWVdOcklId2dWbVZqZEc5eU1rTmhiR3hpWVdOcklDbGJYVHRjY2x4dVhIUnlhV2RvZEVOaGJHeGlZV05yY3o4NklDaENiMjlzWldGdVEyRnNiR0poWTJzZ2ZDQkdiRzloZEVOaGJHeGlZV05ySUh3Z1ZtVmpkRzl5TWtOaGJHeGlZV05ySUNsYlhUdGNjbHh1WEhSemRYQndjbVZ6YzB4bFpuUS9PaUJpYjI5c1pXRnVPMXh5WEc1Y2RITjFjSEJ5WlhOelVtbG5hSFEvT2lCaWIyOXNaV0Z1TzF4eVhHNTlYSEpjYmx4eVhHNWNjbHh1THlvcUlFaGxiSEJsY2lCamJHRnpjeUIwYnlCaGJHeHZkeUJ5WldkcGMzUmxjbWx1WnlCallXeHNZbUZqYTNNZ1ptOXlJR2x1Y0hWMElITjBZWFJsSUdOb1lXNW5aWE1nYVc1emRHVmhaQ0J2WmlCd2IyeHNhVzVuSUhOMFlYUmxMaUFxTDF4eVhHNWxlSEJ2Y25RZ1kyeGhjM01nU1c1d2RYUlFjbTlqWlhOemIzSmNjbHh1ZTF4eVhHNWNkSEJ5YVhaaGRHVWdhVzV3ZFhSSmJtWnZPaUJKYm5CMWRFbHVabThnUFZ4eVhHNWNkSHRjY2x4dVhIUmNkR0ZqZEdsMlpVRmpkR2x2YmxObGRITTZJRnRkTEZ4eVhHNWNkSDA3WEhKY2JseDBjSEpwZG1GMFpTQnpkR0YwWlRvZ1NXNXdkWFJUZEdGMFpUdGNjbHh1WEhSd2NtbDJZWFJsSUdsdWNIVjBTVzUwWlhKMllXeE5jem9nYm5WdFltVnlPMXh5WEc1Y2RIQnlhWFpoZEdVZ2FXNXdkWFJVYVcxbGNqcHVkVzFpWlhJN1hISmNibHgwY0hKcGRtRjBaU0JoWTNScGIyNVRaWFJ6T2lCQlkzUnBiMjVUWlhSYlhUdGNjbHh1WEhSd2NtbDJZWFJsSUc1bGVIUkRZV3hzWW1GamEwbGtJRDBnTVR0Y2NseHVYSFJ3Y21sMllYUmxJSE41Ym1OSmJuQjFkRTkyWlhKeWFXUmxPaUFvSUdsdVptODZJRWx1Y0hWMFNXNW1ieUFwSUQwK0lFbHVjSFYwVTNSaGRHVTdYSEpjYmx4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCaFkzUnBiMjVUWlhSek9pQkJZM1JwYjI1VFpYUmJYU3dnYVc1d2RYUkpiblJsY25aaGJFMXpQem9nYm5WdFltVnlMQ0JjY2x4dVhIUmNkSE41Ym1OSmJuQjFkRTkyWlhKeWFXUmxQem9nS0NCcGJtWnZPaUJKYm5CMWRFbHVabThnS1NBOVBpQkpibkIxZEZOMFlYUmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1GamRHbHZibE5sZEhNZ1BTQmhZM1JwYjI1VFpYUnpPMXh5WEc1Y2RGeDBkR2hwY3k1emVXNWpTVzV3ZFhSUGRtVnljbWxrWlNBOUlITjVibU5KYm5CMWRFOTJaWEp5YVdSbE8xeHlYRzVjZEZ4MGRHaHBjeTVwYm5CMWRFbHVkR1Z5ZG1Gc1RYTWdQU0JwYm5CMWRFbHVkR1Z5ZG1Gc1RYTWdQejhnTXpBN1hISmNibHgwWEhSQmRpZ3BQeTV5WldkcGMzUmxja2x1Y0hWMEtDQmhZM1JwYjI1VFpYUnpJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lvZ1ZYTmxaQ0JpZVNCMFpYTjBjeUIwYnlCbWIzSmpaU0JoSUhOMFlYUmxJSFZ3WkdGMFpTQXFMMXh5WEc1Y2RIQjFZbXhwWXlCVVJWTlVYMVZ3WkdGMFpWTjBZWFJsS0NCdVpYZFRkR0YwWlRvZ1NXNXdkWFJUZEdGMFpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTVoY0hCc2VVNWxkMU4wWVhSbEtDQktVMDlPTG5CaGNuTmxLQ0JLVTA5T0xuTjBjbWx1WjJsbWVTZ2dibVYzVTNSaGRHVWdLU0FwSUdGeklFbHVjSFYwVTNSaGRHVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2x4eVhHNWNkQ0FxSUVGamRHbDJZWFJsY3lCaGJpQmhZM1JwYjI0Z2MyVjBJRzl1SUhSb1pTQnVaWGgwSUdGamRHbHZiaUJ6ZVc1akxpQnBaaUJoSUd4cGMzUWdiMllnWkdWMmFXTmxjeUJwYzF4eVhHNWNkQ0FxSUc1dmRDQnpkWEJ3YkdsbFpDQjBhR1VnWVdOMGFXOXVJSE5sZENCcGN5QmhZM1JwZG1GMFpXUWdabTl5SUdGc2JDQmtaWFpwWTJWekxpQkpaaUJoSUhOcGJtZHNaU0J6ZEhKcGJtZGNjbHh1WEhRZ0tpQnBjeUJ3Y205MmFXUmxaQ3dnZEdoaGRDQmtaWFpwWTJVZ2FYTWdZV1JrWldRZ2RHOGdkR2hsSUdWNGFYTjBhVzVuSUd4cGMzUXVJRWxtSUdFZ2JHbHpkQ0J2WmlCa1pYWnBZMlZ6SUZ4eVhHNWNkQ0FxSUdseklIQnliM1pwWkdWa0xDQjBhR1VnYkdsemRDQnlaWEJzWVdObGN5QjBhR1VnWlhocGMzUnBibWNnYkdsemRDNWNjbHh1SUZ4MElDb3ZYSEpjYmx4MGNIVmliR2xqSUdGamRHbDJZWFJsUVdOMGFXOXVVMlYwS0NCaFkzUnBiMjVUWlhST1lXMWxPaUJ6ZEhKcGJtY3NJR1JsZG1salpYTS9PaUJFWlhacFkyVWdmQ0JFWlhacFkyVmJYU2tnWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdGamRHbDJaVk5sZERvZ1FXTjBhWFpsUVdOMGFXOXVVMlYwTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnWVhNZ2IyWWdkR2hwY3k1cGJuQjFkRWx1Wm04dVlXTjBhWFpsUVdOMGFXOXVVMlYwY3lBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHbG1LQ0JoY3k1aFkzUnBiMjVUWlhST1lXMWxJRDA5SUdGamRHbHZibE5sZEU1aGJXVWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFlXTjBhWFpsVTJWMElEMGdZWE03WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnYzI5dFpYUm9hVzVuUVdSa1pXUWdQU0JtWVd4elpUdGNjbHh1WEhKY2JseDBYSFJwWmlnZ0lXRmpkR2wyWlZObGRDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR0ZqZEdsMlpWTmxkQ0E5SUZ4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBZV04wYVc5dVUyVjBUbUZ0WlN4Y2NseHVYSFJjZEZ4MFhIUjBiM0JNWlhabGJGQmhkR2h6T2lCYlhTeGNjbHh1WEhSY2RGeDBmVHRjY2x4dVhIUmNkRngwZEdocGN5NXBibkIxZEVsdVptOHVZV04wYVhabFFXTjBhVzl1VTJWMGN5NXdkWE5vS0NCaFkzUnBkbVZUWlhRZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJzWlhRZ2JtVjNSR1YyYVdObGN6b2dSR1YyYVdObFcxMDdYSEpjYmx4MFhIUnBaaWdnZEhsd1pXOW1JR1JsZG1salpYTWdQVDBnWENKemRISnBibWRjSWlBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHNWxkMFJsZG1salpYTWdQU0JiSUdSbGRtbGpaWE1nWFR0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdWc2MyVWdhV1lvSUhSNWNHVnZaaUJrWlhacFkyVnpJRDA5SUZ3aWIySnFaV04wWENJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnVaWGRFWlhacFkyVnpJRDBnWkdWMmFXTmxjenRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtVjNSR1YyYVdObGN5QTlJRnNnUkdWMmFXTmxMa3hsWm5Rc0lFUmxkbWxqWlM1U2FXZG9kQ0JkTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RHWnZjaWdnYkdWMElHNWxkMFJsZG1salpTQnZaaUJ1WlhkRVpYWnBZMlZ6SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFXWW9JQ0ZoWTNScGRtVlRaWFF1ZEc5d1RHVjJaV3hRWVhSb2N5NXBibU5zZFdSbGN5Z2dibVYzUkdWMmFXTmxJQ2tnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBZV04wYVhabFUyVjBMblJ2Y0V4bGRtVnNVR0YwYUhNdWNIVnphQ2dnYm1WM1JHVjJhV05sSUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1emRYQndjbVZ6YzBsdWFYUnBZV3hRY21WemMwWnZja0ZqZEdsdmJsTmxkQ2dnWVdOMGFXOXVVMlYwVG1GdFpTd2dibVYzUkdWMmFXTmxJQ2s3WEhKY2JseDBYSFJjZEZ4MGMyOXRaWFJvYVc1blFXUmtaV1FnUFNCMGNuVmxPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGFXWW9JQ0YwYUdsekxtbHVjSFYwVkdsdFpYSWdKaVlnZEdocGN5NXBibkIxZEVsdWRHVnlkbUZzVFhNZ0ppWWdjMjl0WlhSb2FXNW5RV1JrWldRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG1sdWNIVjBWR2x0WlhJZ1BTQjNhVzVrYjNjdWMyVjBWR2x0Wlc5MWRDZ2dLQ2tnUFQ0Z2RHaHBjeTV2YmtsdWNIVjBWR2xqYXlncExDQjBhR2x6TG1sdWNIVjBTVzUwWlhKMllXeE5jeUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0J6ZFhCd2NtVnpjMGx1YVhScFlXeFFjbVZ6YzBadmNrRmpkR2x2YmxObGRDZ2dZV04wYVc5dVUyVjBUbUZ0WlRvZ2MzUnlhVzVuTENCa1pYWnBZMlU2SUVSbGRtbGpaU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdGamRHbHZibE5sZERvZ1FXTjBhVzl1VTJWME8xeHlYRzVjZEZ4MFptOXlLQ0JzWlhRZ1lYTWdiMllnZEdocGN5NWhZM1JwYjI1VFpYUnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYVdZb0lHRnpMbTVoYldVZ1BUMGdZV04wYVc5dVUyVjBUbUZ0WlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJoWTNScGIyNVRaWFFnUFNCaGN6dGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBhV1lvSUNGaFkzUnBiMjVUWlhRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBabTl5S0NCc1pYUWdZV04wYVc5dVFtRnpaU0J2WmlCaFkzUnBiMjVUWlhRdVlXTjBhVzl1Y3lBL1B5QmJYU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQmhZM1JwYjI0Z1BTQmhZM1JwYjI1Q1lYTmxJR0Z6SUVGamRHbHZibGRwZEdoTWFYTjBaVzVsY25NN1hISmNibHgwWEhSY2RHbG1LQ0JoWTNScGIyNHVkSGx3WlNBOVBTQkJZM1JwYjI1VWVYQmxMa0p2YjJ4bFlXNGdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGMzZHBkR05vS0NCa1pYWnBZMlVnS1Z4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEdOaGMyVWdSR1YyYVdObExreGxablE2SUZ4eVhHNWNkRngwWEhSY2RGeDBYSFJoWTNScGIyNHVjM1Z3Y0hKbGMzTk1aV1owSUQwZ2RISjFaVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSY2RGeDBYSFJqWVhObElFUmxkbWxqWlM1U2FXZG9kRG9nWEhKY2JseDBYSFJjZEZ4MFhIUmNkR0ZqZEdsdmJpNXpkWEJ3Y21WemMxSnBaMmgwSUQwZ2RISjFaVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lwY2NseHVYSFFnS2lCRVpXRmpkR2wyWVhSbGN5QmhiaUJoWTNScGIyNGdjMlYwSUc5dUlIUm9aU0J1WlhoMElHRmpkR2x2YmlCemVXNWpMaUJKWmlCaElHUmxkbWxqWlNCc2FYTjBYSEpjYmx4MElDb2dhWE1nYm05MElITjFjSEJzYVdWa0xDQjBhR1VnWVdOMGFXOXVJSE5sZENCcGN5QmtaV0ZqZEdsMllYUmxaQ0JtYjNJZ1lXeHNJR1JsZG1salpYTXVYSEpjYmlCY2RDQXFMMXh5WEc1Y2RIQjFZbXhwWXlCa1pXRmpkR2wyWVhSbFFXTjBhVzl1VTJWMEtDQmhZM1JwYjI1VFpYUk9ZVzFsT2lCemRISnBibWNzSUdSbGRtbGpaVDg2SUVSbGRtbGpaU2tnWEhKY2JseDBlMXh5WEc1Y2RGeDBabTl5S0NCc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxtbHVjSFYwU1c1bWJ5NWhZM1JwZG1WQlkzUnBiMjVUWlhSekxteGxibWQwYURzZ2FTc3JJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElHRnpJRDBnZEdocGN5NXBibkIxZEVsdVptOHVZV04wYVhabFFXTjBhVzl1VTJWMGMxdHBYVHRjY2x4dVhIUmNkRngwYVdZb0lHRnpMbUZqZEdsdmJsTmxkRTVoYldVZ1BUMGdZV04wYVc5dVUyVjBUbUZ0WlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJwWmlnZ0lXUmxkbWxqWlNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MEx5OGdjbVZ0YjNabElHWnZjaUJoYkd3Z1pHVjJhV05sYzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1cGJuQjFkRWx1Wm04dVlXTjBhWFpsUVdOMGFXOXVVMlYwY3k1emNHeHBZMlVvSUdrc0lERWdLVHRjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBaV3h6WlZ4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEdGekxuUnZjRXhsZG1Wc1VHRjBhSE1nUFNCaGN5NTBiM0JNWlhabGJGQmhkR2h6TG1acGJIUmxjaWdnS0NCa1pYWTZJRVJsZG1salpTQXBJRDArSUdSbGRpQWhQU0JrWlhacFkyVWdLVHRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ1lYTXVkRzl3VEdWMlpXeFFZWFJvY3k1c1pXNW5kR2dnUFQwZ01DQXBYSEpjYmx4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVhVzV3ZFhSSmJtWnZMbUZqZEdsMlpVRmpkR2x2YmxObGRITXVjM0JzYVdObEtDQnBMQ0F4SUNrN1hISmNibHgwWEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSEpsZEhWeWJqdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEM4dklHbG1JSGRsSUdScFpHNG5kQ0JtYVc1a0lIUm9aU0JoWTNScGIyNGdjMlYwSUdsdUlHOTFjaUJzYVhOMElIUm9aWEpsSjNNZ2JtOTBhR2x1WnlCMGJ5QnlaVzF2ZG1WY2NseHVYSFI5WEhKY2JpQmNjbHh1WEhRdktpb2dVbVZuYVhOMFpYSnpJR0p2YjJ4bFlXNGdZMkZzYkdKaFkydHpJR1p2Y2lCaGJpQmhZM1JwYjI0Z1lXNWtJR1JsZG1salpTQXFMMXh5WEc1Y2RIQjFZbXhwWXlCeVpXZHBjM1JsY2tKdmIyeGxZVzVEWVd4c1ltRmphM01vSUdGamRHbHZibE5sZEU1aGJXVTZJSE4wY21sdVp5d2dZV04wYVc5dVRtRnRaVG9nYzNSeWFXNW5MQ0JrWlhacFkyVTZJRVJsZG1salpTd2dYSEpjYmx4MFhIUnlhWE5wYm1jNklDZ3BJRDArSUhadmFXUXNJR1poYkd4cGJtYy9PaUFvS1QwK0lIWnZhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCallqb2dRbTl2YkdWaGJrTmhiR3hpWVdOcklEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBhV1E2SUhSb2FYTXVibVY0ZEVOaGJHeGlZV05yU1dRckt5eGNjbHh1WEhSY2RGeDBjbWx6YVc1bkxGeHlYRzVjZEZ4MFhIUm1ZV3hzYVc1bkxGeHlYRzVjZEZ4MGZUdGNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1eVpXZHBjM1JsY2tOaGJHeGlZV05yS0NCaFkzUnBiMjVUWlhST1lXMWxMQ0JoWTNScGIyNU9ZVzFsTENCa1pYWnBZMlVzSUdOaUlDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUXZLaW9nVW1WbmFYTjBaWEp6SUdac2IyRjBJR05oYkd4aVlXTnJjeUJtYjNJZ1lXNGdZV04wYVc5dUlHRnVaQ0JrWlhacFkyVWdLaTljY2x4dVhIUndkV0pzYVdNZ2NtVm5hWE4wWlhKR2JHOWhkRU5oYkd4aVlXTnJLQ0JoWTNScGIyNVRaWFJPWVcxbE9pQnpkSEpwYm1jc0lHRmpkR2x2Yms1aGJXVTZJSE4wY21sdVp5d2daR1YyYVdObE9pQkVaWFpwWTJVc0lGeHlYRzVjZEZ4MFkyaGhibWRsT2lBb0lHOXNaRlpoYkhWbE9pQnVkVzFpWlhJc0lHNWxkMVpoYkhWbE9pQnVkVzFpWlhJZ0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdZMkk2SUVac2IyRjBRMkZzYkdKaFkyc2dQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWkRvZ2RHaHBjeTV1WlhoMFEyRnNiR0poWTJ0SlpDc3JMRnh5WEc1Y2RGeDBYSFJqYUdGdVoyVXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11Y21WbmFYTjBaWEpEWVd4c1ltRmpheWdnWVdOMGFXOXVVMlYwVG1GdFpTd2dZV04wYVc5dVRtRnRaU3dnWkdWMmFXTmxMQ0JqWWlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRkpsWjJsemRHVnljeUJtYkc5aGRDQmpZV3hzWW1GamEzTWdabTl5SUdGdUlHRmpkR2x2YmlCaGJtUWdaR1YyYVdObElDb3ZYSEpjYmx4MGNIVmliR2xqSUhKbFoybHpkR1Z5Vm1WamRHOXlNa05oYkd4aVlXTnJLQ0JoWTNScGIyNVRaWFJPWVcxbE9pQnpkSEpwYm1jc0lHRmpkR2x2Yms1aGJXVTZJSE4wY21sdVp5d2daR1YyYVdObE9pQkVaWFpwWTJVc0lGeHlYRzVjZEZ4MFkyaGhibWRsT2lBb0lHOXNaRlpoYkhWbE9pQmJJRzUxYldKbGNpd2diblZ0WW1WeUlGMHNJRzVsZDFaaGJIVmxPaUJiSUc1MWJXSmxjaXdnYm5WdFltVnlJRjBnS1NBOVBpQjJiMmxrSUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1kySTZJRlpsWTNSdmNqSkRZV3hzWW1GamF5QTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2xrT2lCMGFHbHpMbTVsZUhSRFlXeHNZbUZqYTBsa0t5c3NYSEpjYmx4MFhIUmNkR05vWVc1blpTeGNjbHh1WEhSY2RIMDdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV5WldkcGMzUmxja05oYkd4aVlXTnJLQ0JoWTNScGIyNVRaWFJPWVcxbExDQmhZM1JwYjI1T1lXMWxMQ0JrWlhacFkyVXNJR05pSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUhKbFoybHpkR1Z5UTJGc2JHSmhZMnNvSUdGamRHbHZibE5sZEU1aGJXVTZJSE4wY21sdVp5d2dZV04wYVc5dVRtRnRaVG9nYzNSeWFXNW5MQ0JrWlhacFkyVTZJRVJsZG1salpTd2dYSEpjYmx4MFhIUmpZam9nUW05dmJHVmhia05oYkd4aVlXTnJJSHdnUm14dllYUkRZV3hzWW1GamF5QjhJRlpsWTNSdmNqSkRZV3hzWW1GamF5QXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR0ZqZEdsdmJpQTlJSFJvYVhNdVoyVjBRV04wYVc5dUtDQmhZM1JwYjI1VFpYUk9ZVzFsTENCaFkzUnBiMjVPWVcxbElDazdYSEpjYmx4MFhIUnBaaWdnSVdGamRHbHZiaUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWdnWUZWdWEyNXZkMjRnWVdOMGFXOXVJQ1I3SUdGamRHbHZiazVoYldVZ2ZTQnBiaUJoWTNScGIyNGdjMlYwSUNSN0lHRmpkR2x2YmxObGRFNWhiV1VnZldBZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJ6ZDJsMFkyZ29JR1JsZG1salpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR05oYzJVZ1JHVjJhV05sTGt4bFpuUTZYSEpjYmx4MFhIUmNkRngwWVdOMGFXOXVMbXhsWm5SRFlXeHNZbUZqYTNNZ1BTQmJJQzR1TGlnZ1lXTjBhVzl1TG14bFpuUkRZV3hzWW1GamEzTWdQejhnVzEwZ0tTd2dZMklnWFR0Y2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSEpjYmx4MFhIUmNkR05oYzJVZ1JHVjJhV05sTGxKcFoyaDBPbHh5WEc1Y2RGeDBYSFJjZEdGamRHbHZiaTV5YVdkb2RFTmhiR3hpWVdOcmN5QTlJRnNnTGk0dUtDQmhZM1JwYjI0dWNtbG5hSFJEWVd4c1ltRmphM01nUHo4Z1cxMGdLU3dnWTJJZ1hUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RISmxkSFZ5YmlCallpNXBaRHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCVmJuSmxaMmx6ZEdWeWN5QmhJR05oYkd4aVlXTnJJR0o1SUdsa0lDb3ZYSEpjYmx4MGNIVmliR2xqSUhWdWNtVm5hWE4wWlhKRFlXeHNZbUZqYXlnZ2FXUTZJRzUxYldKbGNpQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFptOXlLQ0JzWlhRZ1lXTjBhVzl1VTJWMElHOW1JSFJvYVhNdVlXTjBhVzl1VTJWMGN5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR1p2Y2lnZ2JHVjBJR0poYzJWQlkzUnBiMjRnYjJZZ1lXTjBhVzl1VTJWMExtRmpkR2x2Ym5NZ1B6OGdXMTBnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiR1YwSUdGamRHbHZiaUE5SUdKaGMyVkJZM1JwYjI0Z1lYTWdRV04wYVc5dVYybDBhRXhwYzNSbGJtVnljenRjY2x4dVhISmNibHgwWEhSY2RGeDBZV04wYVc5dUxteGxablJEWVd4c1ltRmphM01nUFNCaFkzUnBiMjR1YkdWbWRFTmhiR3hpWVdOcmN6OHVabWxzZEdWeUtDQW9JR05pSUNrZ1BUNGdZMkl1YVdRZ0lUMGdhV1FnS1R0Y2NseHVYSFJjZEZ4MFhIUmhZM1JwYjI0dWNtbG5hSFJEWVd4c1ltRmphM01nUFNCaFkzUnBiMjR1Y21sbmFIUkRZV3hzWW1GamEzTS9MbVpwYkhSbGNpZ2dLQ0JqWWlBcElEMCtJR05pTG1sa0lDRTlJR2xrSUNrN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzl1U1c1d2RYUlVhV05yS0NsY2NseHVYSFI3WEhKY2JseDBYSFIwY25sY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSE4wWVhSbElEMGdkR2hwY3k1emVXNWpTVzV3ZFhSUGRtVnljbWxrWlNBL0lIUm9hWE11YzNsdVkwbHVjSFYwVDNabGNuSnBaR1VvSUhSb2FYTXVhVzV3ZFhSSmJtWnZJQ2tnWEhKY2JseDBYSFJjZEZ4ME9rRjJLQ2t1YzNsdVkwbHVjSFYwS0NCMGFHbHpMbWx1Y0hWMFNXNW1ieUFwTzF4eVhHNWNkRngwWEhSMGFHbHpMbUZ3Y0d4NVRtVjNVM1JoZEdVb0lITjBZWFJsSUNrN1hISmNibHgwWEhSOVhISmNibHgwWEhSallYUmphQ2dnWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW1aaGFXeGxaQ0IwYnlCemVXNWpJR2x1Y0hWMFhDSWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhScFppZ2dkR2hwY3k1cGJuQjFkRWx1Wm04dVlXTjBhWFpsUVdOMGFXOXVVMlYwY3k1c1pXNW5kR2dnUGlBd0lDWW1JSFJvYVhNdWFXNXdkWFJKYm5SbGNuWmhiRTF6S1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFHbHpMbWx1Y0hWMFZHbHRaWElnUFNCM2FXNWtiM2N1YzJWMFZHbHRaVzkxZENnZ0tDa2dQVDRnZEdocGN5NXZia2x1Y0hWMFZHbGpheWdwTENCMGFHbHpMbWx1Y0hWMFNXNTBaWEoyWVd4TmN5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFHbHpMbWx1Y0hWMFZHbHRaWElnUFNCMWJtUmxabWx1WldRN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdkbGRFRmpkR2x2YmlnZ1lXTjBhVzl1VTJWMFRtRnRaVG9nYzNSeWFXNW5MQ0JoWTNScGIyNU9ZVzFsT2lCemRISnBibWNnS1RvZ1FXTjBhVzl1VjJsMGFFeHBjM1JsYm1WeWN5QjhJSFZ1WkdWbWFXNWxaRnh5WEc1Y2RIdGNjbHh1WEhSY2RHWnZjaWdnYkdWMElHRmpkR2x2YmxObGRDQnZaaUIwYUdsekxtRmpkR2x2YmxObGRITWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ1lXTjBhVzl1VTJWMExtNWhiV1VnSVQwZ1lXTjBhVzl1VTJWMFRtRnRaU0FwWEhKY2JseDBYSFJjZEZ4MFkyOXVkR2x1ZFdVN1hISmNibHh5WEc1Y2RGeDBYSFJtYjNJb0lHeGxkQ0JoWTNScGIyNGdiMllnWVdOMGFXOXVVMlYwTG1GamRHbHZibk1nUHo4Z1cxMGdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGFXWW9JR0ZqZEdsdmJpNXVZVzFsSUQwOUlHRmpkR2x2Yms1aGJXVWdLVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSEpsZEhWeWJpQmhZM1JwYjI0N1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCeWFYWmhkR1VnWVhCd2JIbE9aWGRUZEdGMFpTZ2dibVYzVTNSaGRHVTZJRWx1Y0hWMFUzUmhkR1VnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWNISnZZMlZ6YzBScFptWnpLQ0IwYUdsekxuTjBZWFJsTENCdVpYZFRkR0YwWlNBcE8xeHlYRzVjZEZ4MGRHaHBjeTV6ZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQmpZV3hzUTJGc2JHSmhZMnNvSUdOaU9pQkNiMjlzWldGdVEyRnNiR0poWTJzZ2ZDQkdiRzloZEVOaGJHeGlZV05ySUh3Z1ZtVmpkRzl5TWtOaGJHeGlZV05yTEZ4eVhHNWNkRngwYjJ4a1ZtRnNkV1U2SUdKdmIyeGxZVzRnZkNCdWRXMWlaWElnZkNCYklHNTFiV0psY2l3Z2JuVnRZbVZ5SUYwc1hISmNibHgwWEhSdVpYZFdZV3gxWlRvZ1ltOXZiR1ZoYmlCOElHNTFiV0psY2lCOElGc2diblZ0WW1WeUxDQnVkVzFpWlhJZ1hTeGNjbHh1WEhSY2RIUjVjR1U2SUVGamRHbHZibFI1Y0dVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEhsd1pTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR05oYzJVZ1FXTjBhVzl1Vkhsd1pTNUNiMjlzWldGdU9seHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwYkdWMElHSmpZaUE5SUdOaUlHRnpJRUp2YjJ4bFlXNURZV3hzWW1GamF6dGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2IyeGtWbUZzZFdVZ0ppWWdJVzVsZDFaaGJIVmxJQ2xjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJpWTJJdVptRnNiR2x1Wno4dUtDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RHVnNjMlVnYVdZb0lDRnZiR1JXWVd4MVpTQW1KaUJ1WlhkV1lXeDFaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWW1OaUxuSnBjMmx1Wno4dUtDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBZMkZ6WlNCQlkzUnBiMjVVZVhCbExrWnNiMkYwT2x4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiR1YwSUdaallpQTlJR05pSUdGeklFWnNiMkYwUTJGc2JHSmhZMnM3WEhKY2JseDBYSFJjZEZ4MGJHVjBJRzlzWkVac2IyRjBJRDBnZEhsd1pXOW1JRzlzWkZaaGJIVmxJRDA5SUZ3aWJuVnRZbVZ5WENJZ1B5QnZiR1JXWVd4MVpTQmhjeUJ1ZFcxaVpYSWdPaUF3TzF4eVhHNWNkRngwWEhSY2RHeGxkQ0J1WlhkR2JHOWhkQ0E5SUhSNWNHVnZaaUJ1WlhkV1lXeDFaU0E5UFNCY0ltNTFiV0psY2x3aUlEOGdibVYzVm1Gc2RXVWdZWE1nYm5WdFltVnlJRG9nTUR0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnYjJ4a1JteHZZWFFnSVQwZ2JtVjNSbXh2WVhRZ0tWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RHWmpZaTVqYUdGdVoyVW9JRzlzWkVac2IyRjBMQ0J1WlhkR2JHOWhkQ0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdRV04wYVc5dVZIbHdaUzVXWldOMGIzSXlPbHh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFkyOXVjM1FnV3lCdmVDd2diM2tnWFNBOUlHOXNaRlpoYkhWbElHRnpJRnNnYm5WdFltVnlMQ0J1ZFcxaVpYSWdYU0EvUHlCYklEQXNJREFnWFR0Y2NseHVYSFJjZEZ4MFhIUmpiMjV6ZENCYklHNTRMQ0J1ZVNCZElEMGdibVYzVm1Gc2RXVWdZWE1nV3lCdWRXMWlaWElzSUc1MWJXSmxjaUJkSUQ4L0lGc2dNQ3dnTUNCZE8xeHlYRzVjY2x4dVhIUmNkRngwWEhSc1pYUWdkbU5pSUQwZ1kySWdZWE1nVm1WamRHOXlNa05oYkd4aVlXTnJPMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQnZlQ0FoUFNCdWVDQjhmQ0J2ZVNBaFBTQnVlU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwZG1OaUxtTm9ZVzVuWlNnZ1d5QnZlQ3dnYjNrZ1hTd2dXeUJ1ZUN3Z2Jua2dYU0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2NISnZZMlZ6YzBScFptWnpLQ0J2YkdRNklFbHVjSFYwVTNSaGRHVXNJRzVsZDFOMFlYUmxPaUJKYm5CMWRGTjBZWFJsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJtYjNJb0lHeGxkQ0JoWTNScGIyNVRaWFFnYjJZZ2RHaHBjeTVoWTNScGIyNVRaWFJ6SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFptOXlLQ0JzWlhRZ1ltRnpaVUZqZEdsdmJpQnZaaUJoWTNScGIyNVRaWFF1WVdOMGFXOXVjeUEvUHlCYlhTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSc1pYUWdZV04wYVc5dUlEMGdZbUZ6WlVGamRHbHZiaUJoY3lCQlkzUnBiMjVYYVhSb1RHbHpkR1Z1WlhKek8xeHlYRzVjZEZ4MFhIUmNkR3hsZENCdmJHUkJZM1JwYjI0Z1BTQnZiR1EvTG5KbGMzVnNkSE5iSUdGamRHbHZibE5sZEM1dVlXMWxJRjAvTGxzZ1lXTjBhVzl1TG01aGJXVWdYVHRjY2x4dVhIUmNkRngwWEhSc1pYUWdibVYzUVdOMGFXOXVJRDBnYm1WM1UzUmhkR1V1Y21WemRXeDBjMXNnWVdOMGFXOXVVMlYwTG01aGJXVWdYVDh1V3lCaFkzUnBiMjR1Ym1GdFpTQmRPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUnNaWFFnYjJ4a1RHVm1kQ0FnUFNCdmJHUkJZM1JwYjI0L0xteGxablEvTG5aaGJIVmxPMXh5WEc1Y2RGeDBYSFJjZEd4bGRDQnZiR1JTYVdkb2RDQTlJRzlzWkVGamRHbHZiajh1Y21sbmFIUS9MblpoYkhWbE8xeHlYRzVjY2x4dVhIUmNkRngwWEhSc1pYUWdibVYzVEdWbWRDQWdQU0J1WlhkQlkzUnBiMjQvTG14bFpuUS9MblpoYkhWbE8xeHlYRzVjZEZ4MFhIUmNkR3hsZENCdVpYZFNhV2RvZENBOUlHNWxkMEZqZEdsdmJqOHVjbWxuYUhRL0xuWmhiSFZsTzF4eVhHNWNjbHh1WEhSY2RGeDBYSFJwWmlnZ1lXTjBhVzl1TG5OMWNIQnlaWE56VEdWbWRDQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBhV1lvSUNGdVpYZE1aV1owSUNsY2NseHVYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZV04wYVc5dUxuTjFjSEJ5WlhOelRHVm1kQ0E5SUdaaGJITmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSbGJITmxYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBabTl5S0NCc1pYUWdZMklnYjJZZ1lXTjBhVzl1TG14bFpuUkRZV3hzWW1GamEzTWdQejhnVzEwZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFIwYUdsekxtTmhiR3hEWVd4c1ltRmpheWdnWTJJc0lHOXNaRXhsWm5Rc0lHNWxkMHhsWm5Rc0lHRmpkR2x2Ymk1MGVYQmxJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBYSFJwWmlnZ1lXTjBhVzl1TG5OMWNIQnlaWE56VW1sbmFIUWdLVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NBaGJtVjNVbWxuYUhRZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJoWTNScGIyNHVjM1Z3Y0hKbGMzTlNhV2RvZENBOUlHWmhiSE5sTzF4eVhHNWNkRngwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmxiSE5sWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWm05eUtDQnNaWFFnWTJJZ2IyWWdZV04wYVc5dUxuSnBaMmgwUTJGc2JHSmhZMnR6SUQ4L0lGdGRJQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGRHaHBjeTVqWVd4c1EyRnNiR0poWTJzb0lHTmlMQ0J2YkdSU2FXZG9kQ3dnYm1WM1VtbG5hSFFzSUdGamRHbHZiaTUwZVhCbElDazdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVobGJIQmxjaUIwYnlCamNtVmhkR1VnZEdobElITmhiV1VnWW1sdVpHbHVaeUJ2YmlCdGRXeDBhWEJzWlNCa1pYWnBZMlZ6SUNvdlhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRkV3gwYVVSbGRtbGpaVUpwYm1ScGJtY29JR2x1ZEdWeVlXTjBhVzl1VUhKdlptbHNaVG9nU1c1MFpYSmhZM1JwYjI1UWNtOW1hV3hsTENCa1pYWnBZMlZRWVhSb2N6b2dSR1YyYVdObFcxMHNJRnh5WEc1Y2RHTnZiWEJ2Ym1WdWRGQmhkR2c2SUVsdWNIVjBJQ2tnT2tGamRHbHZia0pwYm1ScGJtZGJYVnh5WEc1N1hISmNibHgwY21WMGRYSnVJR1JsZG1salpWQmhkR2h6TG0xaGNDZ2dLSFpoYkhWbE9pQnpkSEpwYm1jcElEMCtJRnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCN1hISmNibHgwWEhSY2RHbHVkR1Z5WVdOMGFXOXVVSEp2Wm1sc1pTeGNjbHh1WEhSY2RGeDBhVzV3ZFhSUVlYUm9PaUIyWVd4MVpTQXJJR052YlhCdmJtVnVkRkJoZEdnc1hISmNibHgwWEhSOU8xeHlYRzVjZEgwZ0tUdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFaGxiSEJsY2lCMGJ5QmpjbVZoZEdVZ2RHaGxJSE5oYldVZ1ltbHVaR2x1WnlCdmJpQmliM1JvSUdoaGJtUnpJQ292WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMGQyOUlZVzVrUW1sdVpHbHVaeWdnYVc1MFpYSmhZM1JwYjI1UWNtOW1hV3hsT2lCSmJuUmxjbUZqZEdsdmJsQnliMlpwYkdVc0lHTnZiWEJ2Ym1WdWRGQmhkR2c2SUVsdWNIVjBJQ2xjY2x4dWUxeHlYRzVjZEhKbGRIVnliaUJ0ZFd4MGFVUmxkbWxqWlVKcGJtUnBibWNvYVc1MFpYSmhZM1JwYjI1UWNtOW1hV3hsTENCYklFUmxkbWxqWlM1TVpXWjBMQ0JFWlhacFkyVXVVbWxuYUhRZ1hTd2dZMjl0Y0c5dVpXNTBVR0YwYUNBcE8xeHlYRzU5WEhKY2JpSXNJbVY0Y0c5eWRDQmpiMjV6ZENCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQTlJRndpYUhSMGNEb3ZMMnh2WTJGc2FHOXpkRG95TXpnME1pOXRiMlJsYkhNdlhDSTdYSEpjYm1WNGNHOXlkQ0JqYjI1emRDQm5YMkoxYVd4MGFXNU5iMlJsYkVGaGNtUjJZWEpySUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW1GaGNtUjJZWEpyTG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4QmNuSnZkeUE5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0poY25KdmR5NW5iR0pjSWp0Y2NseHVaWGh3YjNKMElHTnZibk4wSUdkZlluVnBiSFJwYmsxdlpHVnNRWEp5YjNkR2JHRjBJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeFFjbVZtYVhnZ0t5QmNJbUZ5Y205M1gyWnNZWFF1WjJ4aVhDSTdYSEpjYm1WNGNHOXlkQ0JqYjI1emRDQm5YMkoxYVd4MGFXNU5iMlJsYkVKaGNtTnZaR1ZUWTJGdWJtVnlJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeFFjbVZtYVhnZ0t5QmNJbUpoY21OdlpHVmZjbVZoWkdWeUxtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeENiM1Z1WkdsdVowSnZlQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0ppYjNWdVpHbHVaMTlpYjNndVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJFSnZlQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0ppYjNndVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJFSnlZV05sYkdWMElEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0ltSnlZV05sYkdWMExtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeERlV3hwYm1SbGNpQTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSmplV3hwYm1SbGNpNW5iR0pjSWp0Y2NseHVaWGh3YjNKMElHTnZibk4wSUdkZlluVnBiSFJwYmsxdlpHVnNSSEp2Y0VGMGRISmhZM1FnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpWkhKdmNGOWhkSFJ5WVdOMExtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeEZjbkp2Y2lBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKbGNuSnZjaTVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzUm14aGMyc2dQU0JuWDJKMWFXeDBhVzVOYjJSbGJGQnlaV1pwZUNBcklGd2labXhoYzJzdVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJFZGxZWElnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpWjJWaGNpNW5iR0pjSWp0Y2NseHVaWGh3YjNKMElHTnZibk4wSUdkZlluVnBiSFJwYmsxdlpHVnNTR0Z0YldWeVFXNWtWM0psYm1Ob0lEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0ltaGhiVzFsY25keVpXNWphQzVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzU0dGdVpFeGxablFnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpYUdGdVpGOXNaV1owTG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4SVlXNWtUV2x5Y205eUlEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0ltaGhibVJmYldseWNtOXlMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hJWVc1a1VtbG5hSFFnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpYUdGdVpGOXlhV2RvZEM1bmJHSmNJanRjY2x4dVpYaHdiM0owSUdOdmJuTjBJR2RmWW5WcGJIUnBiazF2WkdWc1NHVmhaQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0pvWldGa0xtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeEliMjlySUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW1odmIyc3VaMnhpWENJN1hISmNibVY0Y0c5eWRDQmpiMjV6ZENCblgySjFhV3gwYVc1TmIyUmxiRTFoWjI1bGRFTnNiM05sWkNBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKdFlXZHVaWFJmWTJ4dmMyVmtMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hOWVdkdVpYUlBjR1Z1SUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW0xaFoyNWxkRjl2Y0dWdUxtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeE5hVzUxY3lBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKdGFXNTFjeTVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzVG1WMGQyOXlheUE5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0p1WlhSM2IzSnJMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hRWVc1bGJDQTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSndZVzVsYkM5d1lXNWxiQzVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzVUdGdVpXeEpiblpsY25SbFpDQTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSndZVzVsYkM5d1lXNWxiRjlwYm5abGNuUmxaQzVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzVUd4MWN5QTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSndiSFZ6TG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4U2IyOXRJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeFFjbVZtYVhnZ0t5QmNJbkp2YjIwdVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJGTndhR1Z5WlNBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKemNHaGxjbVV2YzNCb1pYSmxMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hUZEdGeUlEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0luTjBZWEl1WjJ4aVhDSTdYSEpjYm1WNGNHOXlkQ0JqYjI1emRDQm5YMkoxYVd4MGFXNU5iMlJsYkZSeVlYTm9ZMkZ1SUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW5SeVlYTm9ZMkZ1TG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4WGFXNWtiM2RKWTI5dUlEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0luZHBibVJ2ZDE5cFkyOXVMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hTYjJOclpYUnphR2x3SUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW5KdlkydGxkSE5vYVhBdVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJGTnJhVzV1WldSSVlXNWtUR1ZtZENBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKemEybHVibVZrWDJoaGJtUmZiR1ZtZEM1bmJHSmNJanRjY2x4dVpYaHdiM0owSUdOdmJuTjBJR2RmWW5WcGJIUnBiazF2WkdWc1UydHBibTVsWkVoaGJtUlNhV2RvZENBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKemEybHVibVZrWDJoaGJtUmZjbWxuYUhRdVoyeGlYQ0k3WEhKY2JseHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVFXNXBiWE1nUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpWVc1cGJXRjBhVzl1Y3k5Y0lqdGNjbHh1WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJGdWFXMWZUR1ZtZEY5VWFIVnRZbk5WY0NBOUlHZGZZblZwYkhScGJrRnVhVzF6SUNzZ1hDSnNaV1owWDNSb2RXMWljMTkxY0M1bmJHSmNJanRjY2x4dUlpd2lYSEpjYm1WNGNHOXlkQ0JsYm5WdElGZGxZa0Z3Y0UxaGJtbG1aWE4wVW1WemIzVnlZMlZRZFhKd2IzTmxYSEpjYm50Y2NseHVYSFJDWVdSblpTQTlJRndpWW1Ga1oyVmNJaXhjY2x4dVhIUk5ZWE5yWVdKc1pTQTlJRndpYldGemEyRmliR1ZjSWl4Y2NseHVYSFJCYm5rZ1BTQmNJbUZ1ZVZ3aUxGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRkpsYzI5MWNtTmxVbTkwWVhScGIyNWNjbHh1ZTF4eVhHNWNkSGcvT2lCdWRXMWlaWEk3WEhKY2JseDBlVDg2SUc1MWJXSmxjanRjY2x4dVhIUjZQem9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZkbFlrRndjRTFoYm1sbVpYTjBVbVZ6YjNWeVkyVmNjbHh1ZTF4eVhHNWNkSE55WXpvZ2MzUnlhVzVuTzF4eVhHNWNkSE5wZW1WelB6b2djM1J5YVc1bk8xeHlYRzVjZEhSNWNHVTZJSE4wY21sdVp6dGNjbHh1WEhSd2RYSndiM05sUHpvZ1YyVmlRWEJ3VFdGdWFXWmxjM1JTWlhOdmRYSmpaVkIxY25CdmMyVTdYSEpjYmx4MGNtOTBZWFJwYjI0L09pQlNaWE52ZFhKalpWSnZkR0YwYVc5dU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCWFpXSkJjSEJOWVc1cFptVnpkRlJsZUhSRWFYSmNjbHh1ZTF4eVhHNWNkRUYxZEc4Z1BTQmNJbUYxZEc5Y0lpeGNjbHh1WEhSTVpXWjBWRzlTYVdkb2RDQTlJRndpYkhSeVhDSXNYSEpjYmx4MFVtbG5hSFJVYjB4bFpuUWdQU0JjSW5KMGJGd2lMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlhaV0pCY0hCTllXNXBabVZ6ZEVScGMzQnNZWGxjY2x4dWUxeHlYRzVjZEVaMWJHeHpZM0psWlc0Z1BTQmNJbVoxYkd4elkzSmxaVzVjSWl4Y2NseHVYSFJUZEdGdVpHRnNiMjVsSUQwZ1hDSnpkR0Z1WkdGc2IyNWxYQ0lzWEhKY2JseDBUV2x1YVcxaGJGVkpJRDBnWENKdGFXNXBiV0ZzTFhWcFhDSXNYSEpjYmx4MFFuSnZkM05sY2lBOUlGd2lZbkp2ZDNObGNsd2lMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlhaV0pCY0hCTllXNXBabVZ6ZEU5eWFXVnVkR0YwYVc5dVhISmNibnRjY2x4dVhIUkJibmtnUFNCY0ltRnVlVndpTEZ4eVhHNWNkRTVoZEhWeVlXd2dQU0JjSW01aGRIVnlZV3hjSWl4Y2NseHVYSFJNWVc1a2MyTmhjR1VnUFNCY0lteGhibVJ6WTJGd1pWd2lMRnh5WEc1Y2RFeGhibVJ6WTJGd1pWQnlhVzFoY25rZ1BTQmNJbXhoYm1SelkyRndaUzF3Y21sdFlYSjVYQ0lzWEhKY2JseDBUR0Z1WkhOallYQmxVMlZqYjI1a1lYSjVJRDBnWENKc1lXNWtjMk5oY0dVdGMyVmpiMjVrWVhKNVhDSXNYSEpjYmx4MFVHOXlkSEpoYVhRZ1BTQmNJbkJ2Y25SeVlXbDBYQ0lzWEhKY2JseDBVRzl5ZEhKaGFYUlFjbWx0WVhKNUlEMGdYQ0p3YjNKMGNtRnBkQzF3Y21sdFlYSjVYQ0lzWEhKY2JseDBVRzl5ZEhKaGFYUlRaV052Ym1SaGNua2dQU0JjSW5CdmNuUnlZV2wwTFhObFkyOXVaR0Z5ZVZ3aUxGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRmRsWWsxaGJtbG1aWE4wVW1Wc1lYUmxaRUZ3Y0d4cFkyRjBhVzl1WEhKY2JudGNjbHh1WEhSd2JHRjBabTl5YlQ4NklITjBjbWx1Wnp0Y2NseHVYSFIxY213L09pQnpkSEpwYm1jN1hISmNibHgwYVdRL09pQnpkSEpwYm1jN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWMlZpUVhCd1RXRnVhV1psYzNSY2NseHVlMXh5WEc1Y2RHNWhiV1U2SUhOMGNtbHVaenRjY2x4dVhIUmlZV05yWjNKdmRXNWtYMk52Ykc5eVB6b2djM1J5YVc1bk8xeHlYRzVjZEdOaGRHVm5iM0pwWlhNL09pQnpkSEpwYm1kYlhUdGNjbHh1WEhSa1pYTmpjbWx3ZEdsdmJqODZJSE4wY21sdVp6dGNjbHh1WEhSa2FYSS9PaUJYWldKQmNIQk5ZVzVwWm1WemRGUmxlSFJFYVhJN1hISmNibHgwWkdsemNHeGhlVDg2SUZkbFlrRndjRTFoYm1sbVpYTjBSR2x6Y0d4aGVUdGNjbHh1WEhScFlYSmpYM0poZEdsdVoxOXBaRDg2SUhOMGNtbHVaenRjY2x4dVhIUnBZMjl1Y3o4NklGZGxZa0Z3Y0UxaGJtbG1aWE4wVW1WemIzVnlZMlZiWFR0Y2NseHVYSFJzWVc1blB6b2djM1J5YVc1bk8xeHlYRzVjZEc5eWFXVnVkR0YwYVc5dVB6b2dWMlZpUVhCd1RXRnVhV1psYzNSUGNtbGxiblJoZEdsdmJqdGNjbHh1WEhSd2NtVm1aWEpmY21Wc1lYUmxaRjloY0hCc2FXTmhkR2x2Ym5NL09pQmliMjlzWldGdU8xeHlYRzVjZEhKbGJHRjBaV1JmWVhCd2JHbGpZWFJwYjI1elB6b2dWMlZpVFdGdWFXWmxjM1JTWld4aGRHVmtRWEJ3YkdsallYUnBiMjViWFR0Y2NseHVYSFJ6WTI5d1pUODZJSE4wY21sdVp6dGNjbHh1WEhSelkzSmxaVzV6YUc5MGN6ODZJRmRsWWtGd2NFMWhibWxtWlhOMFVtVnpiM1Z5WTJWYlhUdGNjbHh1WEhSemFHOXlkRjl1WVcxbFB6b2djM1J5YVc1bk8xeHlYRzVjZEhOMFlYSjBYM1Z5YkQ4NklITjBjbWx1Wnp0Y2NseHVYSFIwYUdWdFpWOWpiMnh2Y2o4NklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVJaXdpYVcxd2IzSjBJR055ZVhCMGJ5Qm1jbTl0SUNkamNubHdkRzhuTzF4dVpYaHdiM0owSUdSbFptRjFiSFFnWm5WdVkzUnBiMjRnY201bktDa2dlMXh1SUNCeVpYUjFjbTRnWTNKNWNIUnZMbkpoYm1SdmJVSjVkR1Z6S0RFMktUdGNibjBpTENJdktpcGNiaUFxSUVOdmJuWmxjblFnWVhKeVlYa2diMllnTVRZZ1lubDBaU0IyWVd4MVpYTWdkRzhnVlZWSlJDQnpkSEpwYm1jZ1ptOXliV0YwSUc5bUlIUm9aU0JtYjNKdE9seHVJQ29nV0ZoWVdGaFlXRmd0V0ZoWVdDMVlXRmhZTFZoWVdGZ3RXRmhZV0ZoWVdGaFlXRmhZWEc0Z0tpOWNiblpoY2lCaWVYUmxWRzlJWlhnZ1BTQmJYVHRjYmx4dVptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQXlOVFk3SUNzcmFTa2dlMXh1SUNCaWVYUmxWRzlJWlhoYmFWMGdQU0FvYVNBcklEQjRNVEF3S1M1MGIxTjBjbWx1WnlneE5pa3VjM1ZpYzNSeUtERXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmllWFJsYzFSdlZYVnBaQ2hpZFdZc0lHOW1abk5sZENrZ2UxeHVJQ0IyWVhJZ2FTQTlJRzltWm5ObGRDQjhmQ0F3TzF4dUlDQjJZWElnWW5Sb0lEMGdZbmwwWlZSdlNHVjRPeUF2THlCcWIybHVJSFZ6WldRZ2RHOGdabWw0SUcxbGJXOXllU0JwYzNOMVpTQmpZWFZ6WldRZ1lua2dZMjl1WTJGMFpXNWhkR2x2YmpvZ2FIUjBjSE02THk5aWRXZHpMbU5vY205dGFYVnRMbTl5Wnk5d0wzWTRMMmx6YzNWbGN5OWtaWFJoYVd3L2FXUTlNekUzTlNOak5GeHVYRzRnSUhKbGRIVnliaUJiWW5Sb1cySjFabHRwS3l0ZFhTd2dZblJvVzJKMVpsdHBLeXRkWFN3Z1luUm9XMkoxWmx0cEt5dGRYU3dnWW5Sb1cySjFabHRwS3l0ZFhTd2dKeTBuTENCaWRHaGJZblZtVzJrcksxMWRMQ0JpZEdoYlluVm1XMmtySzExZExDQW5MU2NzSUdKMGFGdGlkV1piYVNzclhWMHNJR0owYUZ0aWRXWmJhU3NyWFYwc0lDY3RKeXdnWW5Sb1cySjFabHRwS3l0ZFhTd2dZblJvVzJKMVpsdHBLeXRkWFN3Z0p5MG5MQ0JpZEdoYlluVm1XMmtySzExZExDQmlkR2hiWW5WbVcya3JLMTFkTENCaWRHaGJZblZtVzJrcksxMWRMQ0JpZEdoYlluVm1XMmtySzExZExDQmlkR2hiWW5WbVcya3JLMTFkTENCaWRHaGJZblZtVzJrcksxMWRYUzVxYjJsdUtDY25LVHRjYm4xY2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1lubDBaWE5VYjFWMWFXUTdJaXdpYVcxd2IzSjBJSEp1WnlCbWNtOXRJQ2N1TDNKdVp5NXFjeWM3WEc1cGJYQnZjblFnWW5sMFpYTlViMVYxYVdRZ1puSnZiU0FuTGk5aWVYUmxjMVJ2VlhWcFpDNXFjeWM3SUM4dklDb3FZSFl4S0NsZ0lDMGdSMlZ1WlhKaGRHVWdkR2x0WlMxaVlYTmxaQ0JWVlVsRUtpcGNiaTh2WEc0dkx5Qkpibk53YVhKbFpDQmllU0JvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2VEdsdmMwc3ZWVlZKUkM1cWMxeHVMeThnWVc1a0lHaDBkSEE2THk5a2IyTnpMbkI1ZEdodmJpNXZjbWN2YkdsaWNtRnllUzkxZFdsa0xtaDBiV3hjYmx4dWRtRnlJRjl1YjJSbFNXUTdYRzVjYm5aaGNpQmZZMnh2WTJ0elpYRTdJQzh2SUZCeVpYWnBiM1Z6SUhWMWFXUWdZM0psWVhScGIyNGdkR2x0WlZ4dVhHNWNiblpoY2lCZmJHRnpkRTFUWldOeklEMGdNRHRjYm5aaGNpQmZiR0Z6ZEU1VFpXTnpJRDBnTURzZ0x5OGdVMlZsSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5MWRXbGthbk12ZFhWcFpDQm1iM0lnUVZCSklHUmxkR0ZwYkhOY2JseHVablZ1WTNScGIyNGdkakVvYjNCMGFXOXVjeXdnWW5WbUxDQnZabVp6WlhRcElIdGNiaUFnZG1GeUlHa2dQU0JpZFdZZ0ppWWdiMlptYzJWMElIeDhJREE3WEc0Z0lIWmhjaUJpSUQwZ1luVm1JSHg4SUZ0ZE8xeHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUdGNiaUFnZG1GeUlHNXZaR1VnUFNCdmNIUnBiMjV6TG01dlpHVWdmSHdnWDI1dlpHVkpaRHRjYmlBZ2RtRnlJR05zYjJOcmMyVnhJRDBnYjNCMGFXOXVjeTVqYkc5amEzTmxjU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdiM0IwYVc5dWN5NWpiRzlqYTNObGNTQTZJRjlqYkc5amEzTmxjVHNnTHk4Z2JtOWtaU0JoYm1RZ1kyeHZZMnR6WlhFZ2JtVmxaQ0IwYnlCaVpTQnBibWwwYVdGc2FYcGxaQ0IwYnlCeVlXNWtiMjBnZG1Gc2RXVnpJR2xtSUhSb1pYa25jbVVnYm05MFhHNGdJQzh2SUhOd1pXTnBabWxsWkM0Z0lGZGxJR1J2SUhSb2FYTWdiR0Y2YVd4NUlIUnZJRzFwYm1sdGFYcGxJR2x6YzNWbGN5QnlaV3hoZEdWa0lIUnZJR2x1YzNWbVptbGphV1Z1ZEZ4dUlDQXZMeUJ6ZVhOMFpXMGdaVzUwY205d2VTNGdJRk5sWlNBak1UZzVYRzVjYmlBZ2FXWWdLRzV2WkdVZ1BUMGdiblZzYkNCOGZDQmpiRzlqYTNObGNTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJSE5sWldSQ2VYUmxjeUE5SUc5d2RHbHZibk11Y21GdVpHOXRJSHg4SUNodmNIUnBiMjV6TG5KdVp5QjhmQ0J5Ym1jcEtDazdYRzVjYmlBZ0lDQnBaaUFvYm05a1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJRWlhJZ05DNDFMQ0JqY21WaGRHVWdZVzVrSURRNExXSnBkQ0J1YjJSbElHbGtMQ0FvTkRjZ2NtRnVaRzl0SUdKcGRITWdLeUJ0ZFd4MGFXTmhjM1FnWW1sMElEMGdNU2xjYmlBZ0lDQWdJRzV2WkdVZ1BTQmZibTlrWlVsa0lEMGdXM05sWldSQ2VYUmxjMXN3WFNCOElEQjRNREVzSUhObFpXUkNlWFJsYzFzeFhTd2djMlZsWkVKNWRHVnpXekpkTENCelpXVmtRbmwwWlhOYk0xMHNJSE5sWldSQ2VYUmxjMXMwWFN3Z2MyVmxaRUo1ZEdWeld6VmRYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTJ4dlkydHpaWEVnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1VHVnlJRFF1TWk0eUxDQnlZVzVrYjIxcGVtVWdLREUwSUdKcGRDa2dZMnh2WTJ0elpYRmNiaUFnSUNBZ0lHTnNiMk5yYzJWeElEMGdYMk5zYjJOcmMyVnhJRDBnS0hObFpXUkNlWFJsYzFzMlhTQThQQ0E0SUh3Z2MyVmxaRUo1ZEdWeld6ZGRLU0FtSURCNE0yWm1aanRjYmlBZ0lDQjlYRzRnSUgwZ0x5OGdWVlZKUkNCMGFXMWxjM1JoYlhCeklHRnlaU0F4TURBZ2JtRnVieTF6WldOdmJtUWdkVzVwZEhNZ2MybHVZMlVnZEdobElFZHlaV2R2Y21saGJpQmxjRzlqYUN4Y2JpQWdMeThnS0RFMU9ESXRNVEF0TVRVZ01EQTZNREFwTGlBZ1NsTk9kVzFpWlhKeklHRnlaVzRuZENCd2NtVmphWE5sSUdWdWIzVm5hQ0JtYjNJZ2RHaHBjeXdnYzI5Y2JpQWdMeThnZEdsdFpTQnBjeUJvWVc1a2JHVmtJR2x1ZEdWeWJtRnNiSGtnWVhNZ0oyMXpaV056SnlBb2FXNTBaV2RsY2lCdGFXeHNhWE5sWTI5dVpITXBJR0Z1WkNBbmJuTmxZM01uWEc0Z0lDOHZJQ2d4TURBdGJtRnViM05sWTI5dVpITWdiMlptYzJWMElHWnliMjBnYlhObFkzTXBJSE5wYm1ObElIVnVhWGdnWlhCdlkyZ3NJREU1TnpBdE1ERXRNREVnTURBNk1EQXVYRzVjYmx4dUlDQjJZWElnYlhObFkzTWdQU0J2Y0hScGIyNXpMbTF6WldOeklDRTlQU0IxYm1SbFptbHVaV1FnUHlCdmNIUnBiMjV6TG0xelpXTnpJRG9nYm1WM0lFUmhkR1VvS1M1blpYUlVhVzFsS0NrN0lDOHZJRkJsY2lBMExqSXVNUzR5TENCMWMyVWdZMjkxYm5RZ2IyWWdkWFZwWkNkeklHZGxibVZ5WVhSbFpDQmtkWEpwYm1jZ2RHaGxJR04xY25KbGJuUWdZMnh2WTJ0Y2JpQWdMeThnWTNsamJHVWdkRzhnYzJsdGRXeGhkR1VnYUdsbmFHVnlJSEpsYzI5c2RYUnBiMjRnWTJ4dlkydGNibHh1SUNCMllYSWdibk5sWTNNZ1BTQnZjSFJwYjI1ekxtNXpaV056SUNFOVBTQjFibVJsWm1sdVpXUWdQeUJ2Y0hScGIyNXpMbTV6WldOeklEb2dYMnhoYzNST1UyVmpjeUFySURFN0lDOHZJRlJwYldVZ2MybHVZMlVnYkdGemRDQjFkV2xrSUdOeVpXRjBhVzl1SUNocGJpQnRjMlZqY3lsY2JseHVJQ0IyWVhJZ1pIUWdQU0J0YzJWamN5QXRJRjlzWVhOMFRWTmxZM01nS3lBb2JuTmxZM01nTFNCZmJHRnpkRTVUWldOektTQXZJREV3TURBd095QXZMeUJRWlhJZ05DNHlMakV1TWl3Z1FuVnRjQ0JqYkc5amEzTmxjU0J2YmlCamJHOWpheUJ5WldkeVpYTnphVzl1WEc1Y2JpQWdhV1lnS0dSMElEd2dNQ0FtSmlCdmNIUnBiMjV6TG1Oc2IyTnJjMlZ4SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQmpiRzlqYTNObGNTQTlJR05zYjJOcmMyVnhJQ3NnTVNBbUlEQjRNMlptWmp0Y2JpQWdmU0F2THlCU1pYTmxkQ0J1YzJWamN5QnBaaUJqYkc5amF5QnlaV2R5WlhOelpYTWdLRzVsZHlCamJHOWphM05sY1NrZ2IzSWdkMlVuZG1VZ2JXOTJaV1FnYjI1MGJ5QmhJRzVsZDF4dUlDQXZMeUIwYVcxbElHbHVkR1Z5ZG1Gc1hHNWNibHh1SUNCcFppQW9LR1IwSUR3Z01DQjhmQ0J0YzJWamN5QStJRjlzWVhOMFRWTmxZM01wSUNZbUlHOXdkR2x2Ym5NdWJuTmxZM01nUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lHNXpaV056SUQwZ01EdGNiaUFnZlNBdkx5QlFaWElnTkM0eUxqRXVNaUJVYUhKdmR5Qmxjbkp2Y2lCcFppQjBiMjhnYldGdWVTQjFkV2xrY3lCaGNtVWdjbVZ4ZFdWemRHVmtYRzVjYmx4dUlDQnBaaUFvYm5ObFkzTWdQajBnTVRBd01EQXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSjFkV2xrTG5ZeEtDazZJRU5oYmlkMElHTnlaV0YwWlNCdGIzSmxJSFJvWVc0Z01UQk5JSFYxYVdSekwzTmxZMXdpS1R0Y2JpQWdmVnh1WEc0Z0lGOXNZWE4wVFZObFkzTWdQU0J0YzJWamN6dGNiaUFnWDJ4aGMzUk9VMlZqY3lBOUlHNXpaV056TzF4dUlDQmZZMnh2WTJ0elpYRWdQU0JqYkc5amEzTmxjVHNnTHk4Z1VHVnlJRFF1TVM0MElDMGdRMjl1ZG1WeWRDQm1jbTl0SUhWdWFYZ2daWEJ2WTJnZ2RHOGdSM0psWjI5eWFXRnVJR1Z3YjJOb1hHNWNiaUFnYlhObFkzTWdLejBnTVRJeU1Ua3lPVEk0TURBd01EQTdJQzh2SUdCMGFXMWxYMnh2ZDJCY2JseHVJQ0IyWVhJZ2RHd2dQU0FvS0cxelpXTnpJQ1lnTUhobVptWm1abVptS1NBcUlERXdNREF3SUNzZ2JuTmxZM01wSUNVZ01IZ3hNREF3TURBd01EQTdYRzRnSUdKYmFTc3JYU0E5SUhSc0lENCtQaUF5TkNBbUlEQjRabVk3WEc0Z0lHSmJhU3NyWFNBOUlIUnNJRDQrUGlBeE5pQW1JREI0Wm1ZN1hHNGdJR0piYVNzclhTQTlJSFJzSUQ0K1BpQTRJQ1lnTUhobVpqdGNiaUFnWWx0cEt5dGRJRDBnZEd3Z0ppQXdlR1ptT3lBdkx5QmdkR2x0WlY5dGFXUmdYRzVjYmlBZ2RtRnlJSFJ0YUNBOUlHMXpaV056SUM4Z01IZ3hNREF3TURBd01EQWdLaUF4TURBd01DQW1JREI0Wm1abVptWm1aanRjYmlBZ1lsdHBLeXRkSUQwZ2RHMW9JRDQrUGlBNElDWWdNSGhtWmp0Y2JpQWdZbHRwS3l0ZElEMGdkRzFvSUNZZ01IaG1aanNnTHk4Z1lIUnBiV1ZmYUdsbmFGOWhibVJmZG1WeWMybHZibUJjYmx4dUlDQmlXMmtySzEwZ1BTQjBiV2dnUGo0K0lESTBJQ1lnTUhobUlId2dNSGd4TURzZ0x5OGdhVzVqYkhWa1pTQjJaWEp6YVc5dVhHNWNiaUFnWWx0cEt5dGRJRDBnZEcxb0lENCtQaUF4TmlBbUlEQjRabVk3SUM4dklHQmpiRzlqYTE5elpYRmZhR2xmWVc1a1gzSmxjMlZ5ZG1Wa1lDQW9VR1Z5SURRdU1pNHlJQzBnYVc1amJIVmtaU0IyWVhKcFlXNTBLVnh1WEc0Z0lHSmJhU3NyWFNBOUlHTnNiMk5yYzJWeElENCtQaUE0SUh3Z01IZzRNRHNnTHk4Z1lHTnNiMk5yWDNObGNWOXNiM2RnWEc1Y2JpQWdZbHRwS3l0ZElEMGdZMnh2WTJ0elpYRWdKaUF3ZUdabU95QXZMeUJnYm05a1pXQmNibHh1SUNCbWIzSWdLSFpoY2lCdUlEMGdNRHNnYmlBOElEWTdJQ3NyYmlrZ2UxeHVJQ0FnSUdKYmFTQXJJRzVkSUQwZ2JtOWtaVnR1WFR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCaWRXWWdQeUJpZFdZZ09pQmllWFJsYzFSdlZYVnBaQ2hpS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdkakU3SWl3aWFXMXdiM0owSUdKNWRHVnpWRzlWZFdsa0lHWnliMjBnSnk0dllubDBaWE5VYjFWMWFXUXVhbk1uTzF4dVhHNW1kVzVqZEdsdmJpQjFkV2xrVkc5Q2VYUmxjeWgxZFdsa0tTQjdYRzRnSUM4dklFNXZkR1U2SUZkbElHRnpjM1Z0WlNCM1pTZHlaU0JpWldsdVp5QndZWE56WldRZ1lTQjJZV3hwWkNCMWRXbGtJSE4wY21sdVoxeHVJQ0IyWVhJZ1lubDBaWE1nUFNCYlhUdGNiaUFnZFhWcFpDNXlaWEJzWVdObEtDOWJZUzFtUVMxR01DMDVYWHN5ZlM5bkxDQm1kVzVqZEdsdmJpQW9hR1Y0S1NCN1hHNGdJQ0FnWW5sMFpYTXVjSFZ6YUNod1lYSnpaVWx1ZENob1pYZ3NJREUyS1NrN1hHNGdJSDBwTzF4dUlDQnlaWFIxY200Z1lubDBaWE03WEc1OVhHNWNibVoxYm1OMGFXOXVJSE4wY21sdVoxUnZRbmwwWlhNb2MzUnlLU0I3WEc0Z0lITjBjaUE5SUhWdVpYTmpZWEJsS0dWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoemRISXBLVHNnTHk4Z1ZWUkdPQ0JsYzJOaGNHVmNibHh1SUNCMllYSWdZbmwwWlhNZ1BTQnVaWGNnUVhKeVlYa29jM1J5TG14bGJtZDBhQ2s3WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6ZEhJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQmllWFJsYzF0cFhTQTlJSE4wY2k1amFHRnlRMjlrWlVGMEtHa3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR0o1ZEdWek8xeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRTVUSUQwZ0p6WmlZVGRpT0RFd0xUbGtZV1F0TVRGa01TMDRNR0kwTFRBd1l6QTBabVEwTXpCak9DYzdYRzVsZUhCdmNuUWdZMjl1YzNRZ1ZWSk1JRDBnSnpaaVlUZGlPREV4TFRsa1lXUXRNVEZrTVMwNE1HSTBMVEF3WXpBMFptUTBNekJqT0NjN1hHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCbWRXNWpkR2x2YmlBb2JtRnRaU3dnZG1WeWMybHZiaXdnYUdGemFHWjFibU1wSUh0Y2JpQWdkbUZ5SUdkbGJtVnlZWFJsVlZWSlJDQTlJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTd2dibUZ0WlhOd1lXTmxMQ0JpZFdZc0lHOW1abk5sZENrZ2UxeHVJQ0FnSUhaaGNpQnZabVlnUFNCaWRXWWdKaVlnYjJabWMyVjBJSHg4SURBN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCMllXeDFaU0E5UFNBbmMzUnlhVzVuSnlrZ2RtRnNkV1VnUFNCemRISnBibWRVYjBKNWRHVnpLSFpoYkhWbEtUdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNWhiV1Z6Y0dGalpTQTlQU0FuYzNSeWFXNW5KeWtnYm1GdFpYTndZV05sSUQwZ2RYVnBaRlJ2UW5sMFpYTW9ibUZ0WlhOd1lXTmxLVHRjYmlBZ0lDQnBaaUFvSVVGeWNtRjVMbWx6UVhKeVlYa29kbUZzZFdVcEtTQjBhSEp2ZHlCVWVYQmxSWEp5YjNJb0ozWmhiSFZsSUcxMWMzUWdZbVVnWVc0Z1lYSnlZWGtnYjJZZ1lubDBaWE1uS1R0Y2JpQWdJQ0JwWmlBb0lVRnljbUY1TG1selFYSnlZWGtvYm1GdFpYTndZV05sS1NCOGZDQnVZVzFsYzNCaFkyVXViR1Z1WjNSb0lDRTlQU0F4TmlrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0NkdVlXMWxjM0JoWTJVZ2JYVnpkQ0JpWlNCMWRXbGtJSE4wY21sdVp5QnZjaUJoYmlCQmNuSmhlU0J2WmlBeE5pQmllWFJsSUhaaGJIVmxjeWNwT3lBdkx5QlFaWElnTkM0elhHNWNiaUFnSUNCMllYSWdZbmwwWlhNZ1BTQm9ZWE5vWm5WdVl5aHVZVzFsYzNCaFkyVXVZMjl1WTJGMEtIWmhiSFZsS1NrN1hHNGdJQ0FnWW5sMFpYTmJObDBnUFNCaWVYUmxjMXMyWFNBbUlEQjRNR1lnZkNCMlpYSnphVzl1TzF4dUlDQWdJR0o1ZEdWeld6aGRJRDBnWW5sMFpYTmJPRjBnSmlBd2VETm1JSHdnTUhnNE1EdGNibHh1SUNBZ0lHbG1JQ2hpZFdZcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHbGtlQ0E5SURBN0lHbGtlQ0E4SURFMk95QXJLMmxrZUNrZ2UxeHVJQ0FnSUNBZ0lDQmlkV1piYjJabUlDc2dhV1I0WFNBOUlHSjVkR1Z6VzJsa2VGMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdKMVppQjhmQ0JpZVhSbGMxUnZWWFZwWkNoaWVYUmxjeWs3WEc0Z0lIMDdJQzh2SUVaMWJtTjBhVzl1STI1aGJXVWdhWE1nYm05MElITmxkSFJoWW14bElHOXVJSE52YldVZ2NHeGhkR1p2Y20xeklDZ2pNamN3S1Z4dVhHNWNiaUFnZEhKNUlIdGNiaUFnSUNCblpXNWxjbUYwWlZWVlNVUXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTMwZ0x5OGdSbTl5SUVOdmJXMXZia3BUSUdSbFptRjFiSFFnWlhod2IzSjBJSE4xY0hCdmNuUmNibHh1WEc0Z0lHZGxibVZ5WVhSbFZWVkpSQzVFVGxNZ1BTQkVUbE03WEc0Z0lHZGxibVZ5WVhSbFZWVkpSQzVWVWt3Z1BTQlZVa3c3WEc0Z0lISmxkSFZ5YmlCblpXNWxjbUYwWlZWVlNVUTdYRzU5SWl3aWFXMXdiM0owSUhZek5TQm1jbTl0SUNjdUwzWXpOUzVxY3ljN1hHNXBiWEJ2Y25RZ2JXUTFJR1p5YjIwZ0p5NHZiV1ExTG1wekp6dGNibU52Ym5OMElIWXpJRDBnZGpNMUtDZDJNeWNzSURCNE16QXNJRzFrTlNrN1hHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCMk16c2lMQ0pwYlhCdmNuUWdZM0o1Y0hSdklHWnliMjBnSjJOeWVYQjBieWM3WEc1Y2JtWjFibU4wYVc5dUlHMWtOU2hpZVhSbGN5a2dlMXh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoaWVYUmxjeWtwSUh0Y2JpQWdJQ0JpZVhSbGN5QTlJRUoxWm1abGNpNW1jbTl0S0dKNWRHVnpLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ1lubDBaWE1nUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1lubDBaWE1nUFNCQ2RXWm1aWEl1Wm5KdmJTaGllWFJsY3l3Z0ozVjBaamduS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCamNubHdkRzh1WTNKbFlYUmxTR0Z6YUNnbmJXUTFKeWt1ZFhCa1lYUmxLR0o1ZEdWektTNWthV2RsYzNRb0tUdGNibjFjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnYldRMU95SXNJbWx0Y0c5eWRDQnlibWNnWm5KdmJTQW5MaTl5Ym1jdWFuTW5PMXh1YVcxd2IzSjBJR0o1ZEdWelZHOVZkV2xrSUdaeWIyMGdKeTR2WW5sMFpYTlViMVYxYVdRdWFuTW5PMXh1WEc1bWRXNWpkR2x2YmlCMk5DaHZjSFJwYjI1ekxDQmlkV1lzSUc5bVpuTmxkQ2tnZTF4dUlDQjJZWElnYVNBOUlHSjFaaUFtSmlCdlptWnpaWFFnZkh3Z01EdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NZ1BUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQmlkV1lnUFNCdmNIUnBiMjV6SUQwOVBTQW5ZbWx1WVhKNUp5QS9JRzVsZHlCQmNuSmhlU2d4TmlrZ09pQnVkV3hzTzF4dUlDQWdJRzl3ZEdsdmJuTWdQU0J1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdiM0IwYVc5dWN5QTlJRzl3ZEdsdmJuTWdmSHdnZTMwN1hHNGdJSFpoY2lCeWJtUnpJRDBnYjNCMGFXOXVjeTV5WVc1a2IyMGdmSHdnS0c5d2RHbHZibk11Y201bklIeDhJSEp1Wnlrb0tUc2dMeThnVUdWeUlEUXVOQ3dnYzJWMElHSnBkSE1nWm05eUlIWmxjbk5wYjI0Z1lXNWtJR0JqYkc5amExOXpaWEZmYUdsZllXNWtYM0psYzJWeWRtVmtZRnh1WEc0Z0lISnVaSE5iTmwwZ1BTQnlibVJ6V3paZElDWWdNSGd3WmlCOElEQjROREE3WEc0Z0lISnVaSE5iT0YwZ1BTQnlibVJ6V3poZElDWWdNSGd6WmlCOElEQjRPREE3SUM4dklFTnZjSGtnWW5sMFpYTWdkRzhnWW5WbVptVnlMQ0JwWmlCd2NtOTJhV1JsWkZ4dVhHNGdJR2xtSUNoaWRXWXBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBhU0E5SURBN0lHbHBJRHdnTVRZN0lDc3JhV2twSUh0Y2JpQWdJQ0FnSUdKMVpsdHBJQ3NnYVdsZElEMGdjbTVrYzF0cGFWMDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHSjFaaUI4ZkNCaWVYUmxjMVJ2VlhWcFpDaHlibVJ6S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdkalE3SWl3aWFXMXdiM0owSUhZek5TQm1jbTl0SUNjdUwzWXpOUzVxY3ljN1hHNXBiWEJ2Y25RZ2MyaGhNU0JtY205dElDY3VMM05vWVRFdWFuTW5PMXh1WTI5dWMzUWdkalVnUFNCMk16VW9KM1kxSnl3Z01IZzFNQ3dnYzJoaE1TazdYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQjJOVHNpTENKcGJYQnZjblFnWTNKNWNIUnZJR1p5YjIwZ0oyTnllWEIwYnljN1hHNWNibVoxYm1OMGFXOXVJSE5vWVRFb1lubDBaWE1wSUh0Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29ZbmwwWlhNcEtTQjdYRzRnSUNBZ1lubDBaWE1nUFNCQ2RXWm1aWEl1Wm5KdmJTaGllWFJsY3lrN1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR0o1ZEdWeklEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJR0o1ZEdWeklEMGdRblZtWm1WeUxtWnliMjBvWW5sMFpYTXNJQ2QxZEdZNEp5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdZM0o1Y0hSdkxtTnlaV0YwWlVoaGMyZ29KM05vWVRFbktTNTFjR1JoZEdVb1lubDBaWE1wTG1ScFoyVnpkQ2dwTzF4dWZWeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQnphR0V4T3lKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2NvbnN0YW50cy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxyXFxuZXhwb3J0cy5lcHNpbG9uID0gMC4wMDAwMTtcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2WTI5dWMzUmhiblJ6TG1welAyWXlORGdpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVdFN1FVRkRZaXc0UTBGQk9FTXNZMEZCWXp0QlFVTTFSRHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDBCMGJHRjFhMnRoYmk5MGMyMHZaR2x6ZEM5amIyNXpkR0Z1ZEhNdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKY0luVnpaU0J6ZEhKcFkzUmNJanRjY2x4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHlYRzVsZUhCdmNuUnpMbVZ3YzJsc2IyNGdQU0F3TGpBd01EQXhPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMWpiMjV6ZEdGdWRITXVhbk11YldGd0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2NvbnN0YW50cy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxyXFxudmFyIG1hdDJfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbWF0MiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDIuanNcXFwiKTtcXHJcXG5leHBvcnRzLm1hdDIgPSBtYXQyXzEuZGVmYXVsdDtcXHJcXG52YXIgbWF0M18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9tYXQzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0My5qc1xcXCIpO1xcclxcbmV4cG9ydHMubWF0MyA9IG1hdDNfMS5kZWZhdWx0O1xcclxcbnZhciBtYXQ0XzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQ0LmpzXFxcIik7XFxyXFxuZXhwb3J0cy5tYXQ0ID0gbWF0NF8xLmRlZmF1bHQ7XFxyXFxudmFyIHF1YXRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcXVhdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3F1YXQuanNcXFwiKTtcXHJcXG5leHBvcnRzLnF1YXQgPSBxdWF0XzEuZGVmYXVsdDtcXHJcXG52YXIgdmVjMl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1xcXCIpO1xcclxcbmV4cG9ydHMudmVjMiA9IHZlYzJfMS5kZWZhdWx0O1xcclxcbnZhciB2ZWMzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlYzMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxcIik7XFxyXFxuZXhwb3J0cy52ZWMzID0gdmVjM18xLmRlZmF1bHQ7XFxyXFxudmFyIHZlYzRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdmVjNCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzQuanNcXFwiKTtcXHJcXG5leHBvcnRzLnZlYzQgPSB2ZWM0XzEuZGVmYXVsdDtcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OUFkR3hoZFd0cllXNHZkSE50TDJScGMzUXZhVzVrWlhndWFuTS9Oekl4WmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUdEJRVU5pTERoRFFVRTRReXhqUVVGak8wRkJRelZFTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWp0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVVR0QlFVTTNRanRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVNM1FqdEJRVU5CTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWp0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVVR0QlFVTTNRanRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVNM1FqdEJRVU5CTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWp0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWx3aWRYTmxJSE4wY21samRGd2lPMXh5WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hISmNiblpoY2lCdFlYUXlYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOXRZWFF5WENJcE8xeHlYRzVsZUhCdmNuUnpMbTFoZERJZ1BTQnRZWFF5WHpFdVpHVm1ZWFZzZER0Y2NseHVkbUZ5SUcxaGRETmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyMWhkRE5jSWlrN1hISmNibVY0Y0c5eWRITXViV0YwTXlBOUlHMWhkRE5mTVM1a1pXWmhkV3gwTzF4eVhHNTJZWElnYldGME5GOHhJRDBnY21WeGRXbHlaU2hjSWk0dmJXRjBORndpS1R0Y2NseHVaWGh3YjNKMGN5NXRZWFEwSUQwZ2JXRjBORjh4TG1SbFptRjFiSFE3WEhKY2JuWmhjaUJ4ZFdGMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5eGRXRjBYQ0lwTzF4eVhHNWxlSEJ2Y25SekxuRjFZWFFnUFNCeGRXRjBYekV1WkdWbVlYVnNkRHRjY2x4dWRtRnlJSFpsWXpKZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDNabFl6SmNJaWs3WEhKY2JtVjRjRzl5ZEhNdWRtVmpNaUE5SUhabFl6SmZNUzVrWldaaGRXeDBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dVpYaHdiM0owY3k1MlpXTXpJRDBnZG1Wak0xOHhMbVJsWm1GMWJIUTdYSEpjYm5aaGNpQjJaV00wWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTkyWldNMFhDSXBPMXh5WEc1bGVIQnZjblJ6TG5abFl6UWdQU0IyWldNMFh6RXVaR1ZtWVhWc2REdGNjbHh1THk4aklITnZkWEpqWlUxaGNIQnBibWRWVWt3OWFXNWtaWGd1YW5NdWJXRndJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxyXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFxcXCJfX2VzTW9kdWxlXFxcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcXHJcXG52YXIgdmVjMl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1xcXCIpO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIG1hdDIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIG1hdDIodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoNCk7XFxyXFxuICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmluaXQodmFsdWVzKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBtYXQyLnByb3RvdHlwZS5hdCA9IGZ1bmN0aW9uIChpbmRleCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW2luZGV4XTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2ldID0gMDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IG1hdDIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgZGVzdC52YWx1ZXNbaV0gPSB0aGlzLnZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5hbGwgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgZGF0YSA9IFtdO1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICBkYXRhW2ldID0gdGhpcy52YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZGF0YTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUucm93ID0gZnVuY3Rpb24gKGluZGV4KSB7XFxyXFxuICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICogMiArIDBdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICogMiArIDFdLFxcclxcbiAgICAgICAgXTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuY29sID0gZnVuY3Rpb24gKGluZGV4KSB7XFxyXFxuICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4XSxcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpbmRleCArIDJdLFxcclxcbiAgICAgICAgXTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuZXF1YWxzID0gZnVuY3Rpb24gKG1hdHJpeCwgdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICBpZiAodGhyZXNob2xkID09PSB2b2lkIDApIHsgdGhyZXNob2xkID0gY29uc3RhbnRzXzEuZXBzaWxvbjsgfVxcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICBpZiAoTWF0aC5hYnModGhpcy52YWx1ZXNbaV0gLSBtYXRyaXguYXQoaSkpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuZGV0ZXJtaW5hbnQgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXNbMF0gKiB0aGlzLnZhbHVlc1szXSAtIHRoaXMudmFsdWVzWzJdICogdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvdG90eXBlLnNldElkZW50aXR5ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSAxO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvdG90eXBlLnRyYW5zcG9zZSA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB0ZW1wID0gdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB0ZW1wO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvdG90eXBlLmludmVyc2UgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgZGV0ID0gdGhpcy5kZXRlcm1pbmFudCgpO1xcclxcbiAgICAgICAgaWYgKCFkZXQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRldCA9IDEuMCAvIGRldDtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzBdID0gZGV0ICogKHRoaXMudmFsdWVzWzNdKTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gZGV0ICogKC10aGlzLnZhbHVlc1sxXSk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IGRldCAqICgtdGhpcy52YWx1ZXNbMl0pO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBkZXQgKiBhMTE7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAobWF0cml4KSB7XFxyXFxuICAgICAgICB2YXIgYTExID0gdGhpcy52YWx1ZXNbMF07XFxyXFxuICAgICAgICB2YXIgYTEyID0gdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgICAgICB2YXIgYTIxID0gdGhpcy52YWx1ZXNbMl07XFxyXFxuICAgICAgICB2YXIgYTIyID0gdGhpcy52YWx1ZXNbM107XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IGExMSAqIG1hdHJpeC5hdCgwKSArIGExMiAqIG1hdHJpeC5hdCgyKTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gYTExICogbWF0cml4LmF0KDEpICsgYTEyICogbWF0cml4LmF0KDMpO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSBhMjEgKiBtYXRyaXguYXQoMCkgKyBhMjIgKiBtYXRyaXguYXQoMik7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IGEyMSAqIG1hdHJpeC5hdCgxKSArIGEyMiAqIG1hdHJpeC5hdCgzKTtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5yb3RhdGUgPSBmdW5jdGlvbiAoYW5nbGUpIHtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBzaW4gPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICB2YXIgY29zID0gTWF0aC5jb3MoYW5nbGUpO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBhMTEgKiBjb3MgKyBhMTIgKiBzaW47XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IGExMSAqIC1zaW4gKyBhMTIgKiBjb3M7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IGEyMSAqIGNvcyArIGEyMiAqIHNpbjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzNdID0gYTIxICogLXNpbiArIGEyMiAqIGNvcztcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5tdWx0aXBseVZlYzIgPSBmdW5jdGlvbiAodmVjdG9yLCByZXN1bHQpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIHJlc3VsdC54eSA9IFtcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzBdICsgeSAqIHRoaXMudmFsdWVzWzFdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMl0gKyB5ICogdGhpcy52YWx1ZXNbM10sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyB2ZWMyXzEuZGVmYXVsdChbXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1swXSArIHkgKiB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzJdICsgeSAqIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5zY2FsZSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBhMTEgKiB4O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSBhMTIgKiB5O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSBhMjEgKiB4O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBhMjIgKiB5O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvZHVjdCA9IGZ1bmN0aW9uIChtMSwgbTIsIHJlc3VsdCkge1xcclxcbiAgICAgICAgdmFyIGExMSA9IG0xLmF0KDApO1xcclxcbiAgICAgICAgdmFyIGExMiA9IG0xLmF0KDEpO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IG0xLmF0KDIpO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IG0xLmF0KDMpO1xcclxcbiAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIHJlc3VsdC5pbml0KFtcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMCkgKyBhMTIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMSkgKyBhMTIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMCkgKyBhMjIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMSkgKyBhMjIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBtYXQyKFtcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMCkgKyBhMTIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMSkgKyBhMTIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMCkgKyBhMjIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMSkgKyBhMjIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5pZGVudGl0eSA9IG5ldyBtYXQyKCkuc2V0SWRlbnRpdHkoKTtcXHJcXG4gICAgcmV0dXJuIG1hdDI7XFxyXFxufSgpKTtcXHJcXG5leHBvcnRzLmRlZmF1bHQgPSBtYXQyO1xcclxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hdDIuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2YldGME1pNXFjejltTldZNElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPMEZCUTJJc09FTkJRVGhETEdOQlFXTTdRVUZETlVRc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExHMUZRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVTkJRVzFETEdsRFFVRnBRenRCUVVOd1JTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmJXRjBNaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbHdpZFhObElITjBjbWxqZEZ3aU8xeHlYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEhKY2JuWmhjaUIyWldNeVh6RWdQU0J5WlhGMWFYSmxLRndpTGk5MlpXTXlYQ0lwTzF4eVhHNTJZWElnWTI5dWMzUmhiblJ6WHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTlqYjI1emRHRnVkSE5jSWlrN1hISmNiblpoY2lCdFlYUXlJRDBnTHlvcUlFQmpiR0Z6Y3lBcUx5QW9ablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnYldGME1paDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsY3lBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb05DazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsY3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNXBkQ2gyWVd4MVpYTXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUcxaGRESXVjSEp2ZEc5MGVYQmxMbUYwSUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1cGJtbDBJRDBnWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dORHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmxkSUQwZ2RtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1eVpYTmxkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURRN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cFhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1OdmNIa2dQU0JtZFc1amRHbHZiaUFvWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lHMWhkRElvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBME95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTJZV3gxWlhOYmFWMGdQU0IwYUdsekxuWmhiSFZsYzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdVlXeHNJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1lYUmhJRDBnVzEwN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0EwT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVZ0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1eWIzY2dQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURJZ0t5QXdYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUF5SUNzZ01WMHNYSEpjYmlBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjNSdmRIbHdaUzVqYjJ3Z1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dNbDBzWEhKY2JpQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1bGNYVmhiSE1nUFNCbWRXNWpkR2x2YmlBb2JXRjBjbWw0TENCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEMDlQU0IyYjJsa0lEQXBJSHNnZEdoeVpYTm9iMnhrSUQwZ1kyOXVjM1JoYm5Selh6RXVaWEJ6YVd4dmJqc2dmVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5aaGJIVmxjMXRwWFNBdElHMWhkSEpwZUM1aGRDaHBLU2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjNSdmRIbHdaUzVrWlhSbGNtMXBibUZ1ZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1GMGdLaUIwYUdsekxuWmhiSFZsYzFzelhTQXRJSFJvYVhNdWRtRnNkV1Z6V3pKZElDb2dkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNaTV3Y205MGIzUjVjR1V1YzJWMFNXUmxiblJwZEhrZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNBeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG5SeVlXNXpjRzl6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0NBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RHaHBjeTUyWVd4MVpYTmJNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNCMFpXMXdPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1sdWRtVnljMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkQ0E5SUhSb2FYTXVaR1YwWlhKdGFXNWhiblFvS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1YwSUQwZ01TNHdJQzhnWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1URWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR1JsZENBcUlDaDBhR2x6TG5aaGJIVmxjMXN6WFNrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQmtaWFFnS2lBb0xYUm9hWE11ZG1Gc2RXVnpXekZkS1R0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlHUmxkQ0FxSUNndGRHaHBjeTUyWVd4MVpYTmJNbDBwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ1pHVjBJQ29nWVRFeE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRESXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRFZ1BTQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeUlEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR0V4TVNBcUlHMWhkSEpwZUM1aGRDZ3dLU0FySUdFeE1pQXFJRzFoZEhKcGVDNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlHRXhNU0FxSUcxaGRISnBlQzVoZENneEtTQXJJR0V4TWlBcUlHMWhkSEpwZUM1aGRDZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUdFeU1TQXFJRzFoZEhKcGVDNWhkQ2d3S1NBcklHRXlNaUFxSUcxaGRISnBlQzVoZENneUtUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V5TVNBcUlHMWhkSEpwZUM1aGRDZ3hLU0FySUdFeU1pQXFJRzFoZEhKcGVDNWhkQ2d6S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhReUxuQnliM1J2ZEhsd1pTNXliM1JoZEdVZ1BTQm1kVzVqZEdsdmJpQW9ZVzVuYkdVcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXhJRDBnZEdocGN5NTJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNaUE5SUhSb2FYTXVkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSE5wYmlBOUlFMWhkR2d1YzJsdUtHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWTI5eklEMGdUV0YwYUM1amIzTW9ZVzVuYkdVcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdZVEV4SUNvZ1kyOXpJQ3NnWVRFeUlDb2djMmx1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ1lURXhJQ29nTFhOcGJpQXJJR0V4TWlBcUlHTnZjenRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUdFeU1TQXFJR052Y3lBcklHRXlNaUFxSUhOcGJqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V5TVNBcUlDMXphVzRnS3lCaE1qSWdLaUJqYjNNN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME1pNXdjbTkwYjNSNWNHVXViWFZzZEdsd2JIbFdaV015SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2NtVnpkV3gwS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJSFpsWTNSdmNpNTVPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4xYkhRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5oNUlEMGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZUNBcUlIUm9hWE11ZG1Gc2RXVnpXekJkSUNzZ2VTQXFJSFJvYVhNdWRtRnNkV1Z6V3pGZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlQ0FxSUhSb2FYTXVkbUZzZFdWeld6SmRJQ3NnZVNBcUlIUm9hWE11ZG1Gc2RXVnpXek5kTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUIyWldNeVh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I0SUNvZ2RHaHBjeTUyWVd4MVpYTmJNRjBnS3lCNUlDb2dkR2hwY3k1MllXeDFaWE5iTVYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1sMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1elkyRnNaU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qRWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXlJRDBnZEdocGN5NTJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ1lURXhJQ29nZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlHRXhNaUFxSUhrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ1BTQmhNakVnS2lCNE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdZVEl5SUNvZ2VUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjJSMVkzUWdQU0JtZFc1amRHbHZiaUFvYlRFc0lHMHlMQ0J5WlhOMWJIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2JURXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJRzB4TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCdE1TNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeUlEMGdiVEV1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1YVc1cGRDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoTVRFZ0tpQnRNaTVoZENnd0tTQXJJR0V4TWlBcUlHMHlMbUYwS0RJcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZVEV4SUNvZ2JUSXVZWFFvTVNrZ0t5QmhNVElnS2lCdE1pNWhkQ2d6S1N4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRXlNU0FxSUcweUxtRjBLREFwSUNzZ1lUSXlJQ29nYlRJdVlYUW9NaWtzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaE1qRWdLaUJ0TWk1aGRDZ3hLU0FySUdFeU1pQXFJRzB5TG1GMEtETXBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2diV0YwTWloYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhNVEVnS2lCdE1pNWhkQ2d3S1NBcklHRXhNaUFxSUcweUxtRjBLRElwTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lURXhJQ29nYlRJdVlYUW9NU2tnS3lCaE1USWdLaUJ0TWk1aGRDZ3pLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdFeU1TQXFJRzB5TG1GMEtEQXBJQ3NnWVRJeUlDb2diVEl1WVhRb01pa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoTWpFZ0tpQnRNaTVoZENneEtTQXJJR0V5TWlBcUlHMHlMbUYwS0RNcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME1pNXBaR1Z1ZEdsMGVTQTlJRzVsZHlCdFlYUXlLQ2t1YzJWMFNXUmxiblJwZEhrb0tUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdFlYUXlPMXh5WEc1OUtDa3BPMXh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCdFlYUXlPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMXRZWFF5TG1wekxtMWhjQ0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0My5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0My5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBtYXQ0XzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQ0LmpzXFxcIik7XFxyXFxudmFyIHF1YXRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcXVhdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3F1YXQuanNcXFwiKTtcXHJcXG52YXIgdmVjMl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1xcXCIpO1xcclxcbnZhciB2ZWMzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlYzMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxcIik7XFxyXFxudmFyIGNvbnN0YW50c18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb25zdGFudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9jb25zdGFudHMuanNcXFwiKTtcXHJcXG52YXIgbWF0MyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgZnVuY3Rpb24gbWF0Myh2YWx1ZXMpIHtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzID0gbmV3IEZsb2F0MzJBcnJheSg5KTtcXHJcXG4gICAgICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCkge1xcclxcbiAgICAgICAgICAgIHRoaXMuaW5pdCh2YWx1ZXMpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmF0ID0gZnVuY3Rpb24gKGluZGV4KSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXNbaW5kZXhdO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKHZhbHVlcykge1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA5OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSA9IHZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgOTsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSAwO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgbWF0MygpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA5OyBpKyspIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnZhbHVlc1tpXSA9IHRoaXMudmFsdWVzW2ldO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmFsbCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBkYXRhID0gW107XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDk7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRhdGFbaV0gPSB0aGlzLnZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBkYXRhO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5yb3cgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiAzICsgMF0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiAzICsgMV0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiAzICsgMl0sXFxyXFxuICAgICAgICBdO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5jb2wgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXhdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICsgM10sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKyA2XSxcXHJcXG4gICAgICAgIF07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uIChtYXRyaXgsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgOTsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMudmFsdWVzW2ldIC0gbWF0cml4LmF0KGkpKSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHRydWU7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmRldGVybWluYW50ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGRldDAxID0gYTIyICogYTExIC0gYTEyICogYTIxO1xcclxcbiAgICAgICAgdmFyIGRldDExID0gLWEyMiAqIGExMCArIGExMiAqIGEyMDtcXHJcXG4gICAgICAgIHZhciBkZXQyMSA9IGEyMSAqIGExMCAtIGExMSAqIGEyMDtcXHJcXG4gICAgICAgIHJldHVybiBhMDAgKiBkZXQwMSArIGEwMSAqIGRldDExICsgYTAyICogZGV0MjE7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnNldElkZW50aXR5ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbN10gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOF0gPSAxO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnRyYW5zcG9zZSA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB0ZW1wMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciB0ZW1wMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciB0ZW1wMTIgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gdGhpcy52YWx1ZXNbM107XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB0ZW1wMDE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s1XSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSB0ZW1wMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IHRlbXAxMjtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5pbnZlcnNlID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGRldDAxID0gYTIyICogYTExIC0gYTEyICogYTIxO1xcclxcbiAgICAgICAgdmFyIGRldDExID0gLWEyMiAqIGExMCArIGExMiAqIGEyMDtcXHJcXG4gICAgICAgIHZhciBkZXQyMSA9IGEyMSAqIGExMCAtIGExMSAqIGEyMDtcXHJcXG4gICAgICAgIHZhciBkZXQgPSBhMDAgKiBkZXQwMSArIGEwMSAqIGRldDExICsgYTAyICogZGV0MjE7XFxyXFxuICAgICAgICBpZiAoIWRldCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGV0ID0gMS4wIC8gZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBkZXQwMSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gKC1hMjIgKiBhMDEgKyBhMDIgKiBhMjEpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSAoYTEyICogYTAxIC0gYTAyICogYTExKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzNdID0gZGV0MTEgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IChhMjIgKiBhMDAgLSBhMDIgKiBhMjApICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSAoLWExMiAqIGEwMCArIGEwMiAqIGExMCkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9IGRldDIxICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbN10gPSAoLWEyMSAqIGEwMCArIGEwMSAqIGEyMCkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s4XSA9IChhMTEgKiBhMDAgLSBhMDEgKiBhMTApICogZGV0O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLm11bHRpcGx5ID0gZnVuY3Rpb24gKG1hdHJpeCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGIwMCA9IG1hdHJpeC5hdCgwKTtcXHJcXG4gICAgICAgIHZhciBiMDEgPSBtYXRyaXguYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYjAyID0gbWF0cml4LmF0KDIpO1xcclxcbiAgICAgICAgdmFyIGIxMCA9IG1hdHJpeC5hdCgzKTtcXHJcXG4gICAgICAgIHZhciBiMTEgPSBtYXRyaXguYXQoNCk7XFxyXFxuICAgICAgICB2YXIgYjEyID0gbWF0cml4LmF0KDUpO1xcclxcbiAgICAgICAgdmFyIGIyMCA9IG1hdHJpeC5hdCg2KTtcXHJcXG4gICAgICAgIHZhciBiMjEgPSBtYXRyaXguYXQoNyk7XFxyXFxuICAgICAgICB2YXIgYjIyID0gbWF0cml4LmF0KDgpO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBiMDAgKiBhMDAgKyBiMDEgKiBhMTAgKyBiMDIgKiBhMjA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IGIwMCAqIGEwMSArIGIwMSAqIGExMSArIGIwMiAqIGEyMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzJdID0gYjAwICogYTAyICsgYjAxICogYTEyICsgYjAyICogYTIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzVdID0gYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLm11bHRpcGx5VmVjMiA9IGZ1bmN0aW9uICh2ZWN0b3IsIHJlc3VsdCkge1xcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICBpZiAocmVzdWx0KSB7XFxyXFxuICAgICAgICAgICAgcmVzdWx0Lnh5ID0gW1xcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMF0gKyB5ICogdGhpcy52YWx1ZXNbM10gKyB0aGlzLnZhbHVlc1s2XSxcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzFdICsgeSAqIHRoaXMudmFsdWVzWzRdICsgdGhpcy52YWx1ZXNbN10sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyB2ZWMyXzEuZGVmYXVsdChbXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1swXSArIHkgKiB0aGlzLnZhbHVlc1szXSArIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMV0gKyB5ICogdGhpcy52YWx1ZXNbNF0gKyB0aGlzLnZhbHVlc1s3XSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0My5wcm90b3R5cGUubXVsdGlwbHlWZWMzID0gZnVuY3Rpb24gKHZlY3RvciwgcmVzdWx0KSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3Rvci54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yLno7XFxyXFxuICAgICAgICBpZiAocmVzdWx0KSB7XFxyXFxuICAgICAgICAgICAgcmVzdWx0Lnh5eiA9IFtcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzBdICsgeSAqIHRoaXMudmFsdWVzWzNdICsgeiAqIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMV0gKyB5ICogdGhpcy52YWx1ZXNbNF0gKyB6ICogdGhpcy52YWx1ZXNbN10sXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1syXSArIHkgKiB0aGlzLnZhbHVlc1s1XSArIHogKiB0aGlzLnZhbHVlc1s4XSxcXHJcXG4gICAgICAgICAgICBdO1xcclxcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbmV3IHZlYzNfMS5kZWZhdWx0KFtcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzBdICsgeSAqIHRoaXMudmFsdWVzWzNdICsgeiAqIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMV0gKyB5ICogdGhpcy52YWx1ZXNbNF0gKyB6ICogdGhpcy52YWx1ZXNbN10sXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1syXSArIHkgKiB0aGlzLnZhbHVlc1s1XSArIHogKiB0aGlzLnZhbHVlc1s4XSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0My5wcm90b3R5cGUudG9NYXQ0ID0gZnVuY3Rpb24gKHJlc3VsdCkge1xcclxcbiAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIHJlc3VsdC5pbml0KFtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1syXSxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzRdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s1XSxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbNl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzddLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s4XSxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBtYXQ0XzEuZGVmYXVsdChbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s0XSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbNV0sXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s3XSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbOF0sXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDEsXFxyXFxuICAgICAgICAgICAgXSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnRvUXVhdCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBtMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBtMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBtMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBtMTAgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBtMTEgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBtMTIgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBtMjAgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBtMjEgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBtMjIgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBmb3VyWFNxdWFyZWRNaW51czEgPSBtMDAgLSBtMTEgLSBtMjI7XFxyXFxuICAgICAgICB2YXIgZm91cllTcXVhcmVkTWludXMxID0gbTExIC0gbTAwIC0gbTIyO1xcclxcbiAgICAgICAgdmFyIGZvdXJaU3F1YXJlZE1pbnVzMSA9IG0yMiAtIG0wMCAtIG0xMTtcXHJcXG4gICAgICAgIHZhciBmb3VyV1NxdWFyZWRNaW51czEgPSBtMDAgKyBtMTEgKyBtMjI7XFxyXFxuICAgICAgICB2YXIgYmlnZ2VzdEluZGV4ID0gMDtcXHJcXG4gICAgICAgIHZhciBmb3VyQmlnZ2VzdFNxdWFyZWRNaW51czEgPSBmb3VyV1NxdWFyZWRNaW51czE7XFxyXFxuICAgICAgICBpZiAoZm91clhTcXVhcmVkTWludXMxID4gZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxKSB7XFxyXFxuICAgICAgICAgICAgZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxID0gZm91clhTcXVhcmVkTWludXMxO1xcclxcbiAgICAgICAgICAgIGJpZ2dlc3RJbmRleCA9IDE7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoZm91cllTcXVhcmVkTWludXMxID4gZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxKSB7XFxyXFxuICAgICAgICAgICAgZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxID0gZm91cllTcXVhcmVkTWludXMxO1xcclxcbiAgICAgICAgICAgIGJpZ2dlc3RJbmRleCA9IDI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoZm91clpTcXVhcmVkTWludXMxID4gZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxKSB7XFxyXFxuICAgICAgICAgICAgZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxID0gZm91clpTcXVhcmVkTWludXMxO1xcclxcbiAgICAgICAgICAgIGJpZ2dlc3RJbmRleCA9IDM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgYmlnZ2VzdFZhbCA9IE1hdGguc3FydChmb3VyQmlnZ2VzdFNxdWFyZWRNaW51czEgKyAxKSAqIDAuNTtcXHJcXG4gICAgICAgIHZhciBtdWx0ID0gMC4yNSAvIGJpZ2dlc3RWYWw7XFxyXFxuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IHF1YXRfMS5kZWZhdWx0KCk7XFxyXFxuICAgICAgICBzd2l0Y2ggKGJpZ2dlc3RJbmRleCkge1xcclxcbiAgICAgICAgICAgIGNhc2UgMDpcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LncgPSBiaWdnZXN0VmFsO1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueCA9IChtMTIgLSBtMjEpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnkgPSAobTIwIC0gbTAyKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC56ID0gKG0wMSAtIG0xMCkgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIDE6XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC53ID0gKG0xMiAtIG0yMSkgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueCA9IGJpZ2dlc3RWYWw7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC55ID0gKG0wMSArIG0xMCkgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueiA9IChtMjAgKyBtMDIpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSAyOlxcclxcbiAgICAgICAgICAgICAgICByZXN1bHQudyA9IChtMjAgLSBtMDIpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnggPSAobTAxICsgbTEwKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC55ID0gYmlnZ2VzdFZhbDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnogPSAobTEyICsgbTIxKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgMzpcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LncgPSAobTAxIC0gbTEwKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC54ID0gKG0yMCArIG0wMikgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueSA9IChtMTIgKyBtMjEpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnogPSBiaWdnZXN0VmFsO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnJvdGF0ZSA9IGZ1bmN0aW9uIChhbmdsZSwgYXhpcykge1xcclxcbiAgICAgICAgdmFyIHggPSBheGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IGF4aXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gYXhpcy56O1xcclxcbiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5ICsgeiAqIHopO1xcclxcbiAgICAgICAgaWYgKCFsZW5ndGgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggIT09IDEpIHtcXHJcXG4gICAgICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHggKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHkgKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHogKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHMgPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICB2YXIgYyA9IE1hdGguY29zKGFuZ2xlKTtcXHJcXG4gICAgICAgIHZhciB0ID0gMS4wIC0gYztcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYjAwID0geCAqIHggKiB0ICsgYztcXHJcXG4gICAgICAgIHZhciBiMDEgPSB5ICogeCAqIHQgKyB6ICogcztcXHJcXG4gICAgICAgIHZhciBiMDIgPSB6ICogeCAqIHQgLSB5ICogcztcXHJcXG4gICAgICAgIHZhciBiMTAgPSB4ICogeSAqIHQgLSB6ICogcztcXHJcXG4gICAgICAgIHZhciBiMTEgPSB5ICogeSAqIHQgKyBjO1xcclxcbiAgICAgICAgdmFyIGIxMiA9IHogKiB5ICogdCArIHggKiBzO1xcclxcbiAgICAgICAgdmFyIGIyMCA9IHggKiB6ICogdCArIHkgKiBzO1xcclxcbiAgICAgICAgdmFyIGIyMSA9IHkgKiB6ICogdCAtIHggKiBzO1xcclxcbiAgICAgICAgdmFyIGIyMiA9IHogKiB6ICogdCArIGM7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IGEwMCAqIGIwMCArIGExMCAqIGIwMSArIGEyMCAqIGIwMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gYTAxICogYjAwICsgYTExICogYjAxICsgYTIxICogYjAyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSBhMDIgKiBiMDAgKyBhMTIgKiBiMDEgKyBhMjIgKiBiMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IGEwMCAqIGIxMCArIGExMCAqIGIxMSArIGEyMCAqIGIxMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzRdID0gYTAxICogYjEwICsgYTExICogYjExICsgYTIxICogYjEyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSBhMDIgKiBiMTAgKyBhMTIgKiBiMTEgKyBhMjIgKiBiMTI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9IGEwMCAqIGIyMCArIGExMCAqIGIyMSArIGEyMCAqIGIyMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzddID0gYTAxICogYjIwICsgYTExICogYjIxICsgYTIxICogYjIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOF0gPSBhMDIgKiBiMjAgKyBhMTIgKiBiMjEgKyBhMjIgKiBiMjI7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0My5wcm9kdWN0ID0gZnVuY3Rpb24gKG0xLCBtMiwgcmVzdWx0KSB7XFxyXFxuICAgICAgICB2YXIgYTAwID0gbTEuYXQoMCk7XFxyXFxuICAgICAgICB2YXIgYTAxID0gbTEuYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYTAyID0gbTEuYXQoMik7XFxyXFxuICAgICAgICB2YXIgYTEwID0gbTEuYXQoMyk7XFxyXFxuICAgICAgICB2YXIgYTExID0gbTEuYXQoNCk7XFxyXFxuICAgICAgICB2YXIgYTEyID0gbTEuYXQoNSk7XFxyXFxuICAgICAgICB2YXIgYTIwID0gbTEuYXQoNik7XFxyXFxuICAgICAgICB2YXIgYTIxID0gbTEuYXQoNyk7XFxyXFxuICAgICAgICB2YXIgYTIyID0gbTEuYXQoOCk7XFxyXFxuICAgICAgICB2YXIgYjAwID0gbTIuYXQoMCk7XFxyXFxuICAgICAgICB2YXIgYjAxID0gbTIuYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYjAyID0gbTIuYXQoMik7XFxyXFxuICAgICAgICB2YXIgYjEwID0gbTIuYXQoMyk7XFxyXFxuICAgICAgICB2YXIgYjExID0gbTIuYXQoNCk7XFxyXFxuICAgICAgICB2YXIgYjEyID0gbTIuYXQoNSk7XFxyXFxuICAgICAgICB2YXIgYjIwID0gbTIuYXQoNik7XFxyXFxuICAgICAgICB2YXIgYjIxID0gbTIuYXQoNyk7XFxyXFxuICAgICAgICB2YXIgYjIyID0gbTIuYXQoOCk7XFxyXFxuICAgICAgICBpZiAocmVzdWx0KSB7XFxyXFxuICAgICAgICAgICAgcmVzdWx0LmluaXQoW1xcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDAgKyBiMDEgKiBhMTAgKyBiMDIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMSArIGIwMSAqIGExMSArIGIwMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAyICsgYjAxICogYTEyICsgYjAyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbmV3IG1hdDMoW1xcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDAgKyBiMDEgKiBhMTAgKyBiMDIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMSArIGIwMSAqIGExMSArIGIwMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAyICsgYjAxICogYTEyICsgYjAyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLmlkZW50aXR5ID0gbmV3IG1hdDMoKS5zZXRJZGVudGl0eSgpO1xcclxcbiAgICByZXR1cm4gbWF0MztcXHJcXG59KCkpO1xcclxcbmV4cG9ydHMuZGVmYXVsdCA9IG1hdDM7XFxyXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWF0My5qcy5tYXAvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OUFkR3hoZFd0cllXNHZkSE50TDJScGMzUXZiV0YwTXk1cWN6ODJNRFJoSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE8wRkJRMklzT0VOQlFUaERMR05CUVdNN1FVRkROVVFzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGxFUVVGUk8wRkJRemRDTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZVVSQlFWRTdRVUZETjBJc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExHMUZRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMURRVUZ0UXl4cFEwRkJhVU03UVVGRGNFVXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMEIwYkdGMWEydGhiaTkwYzIwdlpHbHpkQzl0WVhRekxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEhKY2JrOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0JjSWw5ZlpYTk5iMlIxYkdWY0lpd2dleUIyWVd4MVpUb2dkSEoxWlNCOUtUdGNjbHh1ZG1GeUlHMWhkRFJmTVNBOUlISmxjWFZwY21Vb1hDSXVMMjFoZERSY0lpazdYSEpjYm5aaGNpQnhkV0YwWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl4ZFdGMFhDSXBPMXh5WEc1MllYSWdkbVZqTWw4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak1sd2lLVHRjY2x4dWRtRnlJSFpsWXpOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDNabFl6TmNJaWs3WEhKY2JuWmhjaUJqYjI1emRHRnVkSE5mTVNBOUlISmxjWFZwY21Vb1hDSXVMMk52Ym5OMFlXNTBjMXdpS1R0Y2NseHVkbUZ5SUcxaGRETWdQU0F2S2lvZ1FHTnNZWE56SUNvdklDaG1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ0WVhRektIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6SUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNnNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1Z6SUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtbDBLSFpoYkhWbGN5azdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnYldGME15NXdjbTkwYjNSNWNHVXVZWFFnUFNCbWRXNWpkR2x2YmlBb2FXNWtaWGdwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhoZE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG1sdWFYUWdQU0JtZFc1amRHbHZiaUFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQTVPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVjBnUFNCMllXeDFaWE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG5KbGMyVjBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnT1RzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1WTI5d2VTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0J1WlhjZ2JXRjBNeWdwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURrN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExuWmhiSFZsYzF0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1aGJHd2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSaGRHRWdQU0JiWFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRGs3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVzJsZElEMGdkR2hwY3k1MllXeDFaWE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWVhSaE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG5KdmR5QTlJR1oxYm1OMGFXOXVJQ2hwYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRJQ29nTXlBcklEQmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVDQXFJRE1nS3lBeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhnZ0tpQXpJQ3NnTWwwc1hISmNiaUFnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNWpiMndnUFNCbWRXNWpkR2x2YmlBb2FXNWtaWGdwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxdHBibVJsZUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNzZ00xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dObDBzWEhKY2JpQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1bGNYVmhiSE1nUFNCbWRXNWpkR2x2YmlBb2JXRjBjbWw0TENCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEMDlQU0IyYjJsa0lEQXBJSHNnZEdoeVpYTm9iMnhrSUQwZ1kyOXVjM1JoYm5Selh6RXVaWEJ6YVd4dmJqc2dmVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z09Uc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5aaGJIVmxjMXRwWFNBdElHMWhkSEpwZUM1aGRDaHBLU2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzVrWlhSbGNtMXBibUZ1ZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6ZGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNaklnS2lCaE1URWdMU0JoTVRJZ0tpQmhNakU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdMV0V5TWlBcUlHRXhNQ0FySUdFeE1pQXFJR0V5TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1qRWdQU0JoTWpFZ0tpQmhNVEFnTFNCaE1URWdLaUJoTWpBN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHRXdNQ0FxSUdSbGREQXhJQ3NnWVRBeElDb2daR1YwTVRFZ0t5QmhNRElnS2lCa1pYUXlNVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNXpaWFJKWkdWdWRHbDBlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTkYwZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMyWFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzUwY21GdWMzQnZjMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmxiWEF3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlcxd01ESWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2RHVnRjREV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJOVjA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUhSb2FYTXVkbUZzZFdWeld6WmRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnZEdWdGNEQXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0IwWlcxd01ESTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0IwWlcxd01USTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1YVc1MlpYSnpaU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXdJRDBnZEdocGN5NTJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNU0E5SUhSb2FYTXVkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNRElnUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TVNBOUlIUm9hWE11ZG1Gc2RXVnpXelJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRJZ1BTQjBhR2x6TG5aaGJIVmxjMXMxWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdkR2hwY3k1MllXeDFaWE5iTmwwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pkZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzNFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNREVnUFNCaE1qSWdLaUJoTVRFZ0xTQmhNVElnS2lCaE1qRTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREV4SUQwZ0xXRXlNaUFxSUdFeE1DQXJJR0V4TWlBcUlHRXlNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTWpFZ1BTQmhNakVnS2lCaE1UQWdMU0JoTVRFZ0tpQmhNakE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZENBOUlHRXdNQ0FxSUdSbGREQXhJQ3NnWVRBeElDb2daR1YwTVRFZ0t5QmhNRElnS2lCa1pYUXlNVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVjBJRDBnTVM0d0lDOGdaR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ1pHVjBNREVnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0FvTFdFeU1pQXFJR0V3TVNBcklHRXdNaUFxSUdFeU1Ta2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ1BTQW9ZVEV5SUNvZ1lUQXhJQzBnWVRBeUlDb2dZVEV4S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SUdSbGRERXhJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElEMGdLR0V5TWlBcUlHRXdNQ0F0SUdFd01pQXFJR0V5TUNrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBnUFNBb0xXRXhNaUFxSUdFd01DQXJJR0V3TWlBcUlHRXhNQ2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0JrWlhReU1TQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMzWFNBOUlDZ3RZVEl4SUNvZ1lUQXdJQ3NnWVRBeElDb2dZVEl3S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU0E5SUNoaE1URWdLaUJoTURBZ0xTQmhNREVnS2lCaE1UQXBJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRETXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURBZ1BTQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBeElEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01pQTlJSFJvYVhNdWRtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UQWdQU0IwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXhJRDBnZEdocGN5NTJZV3gxWlhOYk5GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNaUE5SUhSb2FYTXVkbUZzZFdWeld6VmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakFnUFNCMGFHbHpMblpoYkhWbGMxczJYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl4SUQwZ2RHaHBjeTUyWVd4MVpYTmJOMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TWlBOUlIUm9hWE11ZG1Gc2RXVnpXemhkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTURBZ1BTQnRZWFJ5YVhndVlYUW9NQ2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l3TVNBOUlHMWhkSEpwZUM1aGRDZ3hLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF5SUQwZ2JXRjBjbWw0TG1GMEtESXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNVEFnUFNCdFlYUnlhWGd1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUcxaGRISnBlQzVoZENnMEtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXlJRDBnYldGMGNtbDRMbUYwS0RVcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qQWdQU0J0WVhSeWFYZ3VZWFFvTmlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJeU1TQTlJRzFoZEhKcGVDNWhkQ2czS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpJeUlEMGdiV0YwY21sNExtRjBLRGdwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ1lqQXdJQ29nWVRBd0lDc2dZakF4SUNvZ1lURXdJQ3NnWWpBeUlDb2dZVEl3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ1lqQXdJQ29nWVRBeElDc2dZakF4SUNvZ1lURXhJQ3NnWWpBeUlDb2dZVEl4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ1lqQXdJQ29nWVRBeUlDc2dZakF4SUNvZ1lURXlJQ3NnWWpBeUlDb2dZVEl5TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ1lqRXdJQ29nWVRBd0lDc2dZakV4SUNvZ1lURXdJQ3NnWWpFeUlDb2dZVEl3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelJkSUQwZ1lqRXdJQ29nWVRBeElDc2dZakV4SUNvZ1lURXhJQ3NnWWpFeUlDb2dZVEl4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelZkSUQwZ1lqRXdJQ29nWVRBeUlDc2dZakV4SUNvZ1lURXlJQ3NnWWpFeUlDb2dZVEl5TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelpkSUQwZ1lqSXdJQ29nWVRBd0lDc2dZakl4SUNvZ1lURXdJQ3NnWWpJeUlDb2dZVEl3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUQwZ1lqSXdJQ29nWVRBeElDc2dZakl4SUNvZ1lURXhJQ3NnWWpJeUlDb2dZVEl4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUQwZ1lqSXdJQ29nWVRBeUlDc2dZakl4SUNvZ1lURXlJQ3NnWWpJeUlDb2dZVEl5TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVZtVmpNaUE5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhKbGMzVnNkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzU0ZVNBOUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3dYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFNBcklIUm9hWE11ZG1Gc2RXVnpXelpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VDQXFJSFJvYVhNdWRtRnNkV1Z6V3pGZElDc2dlU0FxSUhSb2FYTXVkbUZzZFdWeld6UmRJQ3NnZEdocGN5NTJZV3gxWlhOYk4xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lIWmxZekpmTVM1a1pXWmhkV3gwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIZ2dLaUIwYUdsekxuWmhiSFZsYzFzd1hTQXJJSGtnS2lCMGFHbHpMblpoYkhWbGMxc3pYU0FySUhSb2FYTXVkbUZzZFdWeld6WmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZUNBcUlIUm9hWE11ZG1Gc2RXVnpXekZkSUNzZ2VTQXFJSFJvYVhNdWRtRnNkV1Z6V3pSZElDc2dkR2hwY3k1MllXeDFaWE5iTjEwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNXRkV3gwYVhCc2VWWmxZek1nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCeVpYTjFiSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NGVYb2dQU0JiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTUYwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk0xMGdLeUI2SUNvZ2RHaHBjeTUyWVd4MVpYTmJObDBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTVYwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk5GMGdLeUI2SUNvZ2RHaHBjeTUyWVd4MVpYTmJOMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTWwwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk5WMGdLeUI2SUNvZ2RHaHBjeTUyWVd4MVpYTmJPRjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJSFpsWXpOZk1TNWtaV1poZFd4MEtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3dYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFNBcklIb2dLaUIwYUdsekxuWmhiSFZsYzFzMlhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3hYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXMwWFNBcklIb2dLaUIwYUdsekxuWmhiSFZsYzFzM1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3lYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXMxWFNBcklIb2dLaUIwYUdsekxuWmhiSFZsYzFzNFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRETXVjSEp2ZEc5MGVYQmxMblJ2VFdGME5DQTlJR1oxYm1OMGFXOXVJQ2h5WlhOMWJIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1cGJtbDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczNYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6aGRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREVzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhRMFh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6WmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1ZEc5UmRXRjBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdE1EQWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JUQXhJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHMHdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnRNVEFnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRzB4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ0TWpBZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYlRJeElEMGdkR2hwY3k1MllXeDFaWE5iTjEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUcweU1pQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCbWIzVnlXRk54ZFdGeVpXUk5hVzUxY3pFZ1BTQnRNREFnTFNCdE1URWdMU0J0TWpJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdadmRYSlpVM0YxWVhKbFpFMXBiblZ6TVNBOUlHMHhNU0F0SUcwd01DQXRJRzB5TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWm05MWNscFRjWFZoY21Wa1RXbHVkWE14SUQwZ2JUSXlJQzBnYlRBd0lDMGdiVEV4TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJtYjNWeVYxTnhkV0Z5WldSTmFXNTFjekVnUFNCdE1EQWdLeUJ0TVRFZ0t5QnRNakk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0pwWjJkbGMzUkpibVJsZUNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHWnZkWEpDYVdkblpYTjBVM0YxWVhKbFpFMXBiblZ6TVNBOUlHWnZkWEpYVTNGMVlYSmxaRTFwYm5Wek1UdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1ptOTFjbGhUY1hWaGNtVmtUV2x1ZFhNeElENGdabTkxY2tKcFoyZGxjM1JUY1hWaGNtVmtUV2x1ZFhNeEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZkWEpDYVdkblpYTjBVM0YxWVhKbFpFMXBiblZ6TVNBOUlHWnZkWEpZVTNGMVlYSmxaRTFwYm5Wek1UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1ltbG5aMlZ6ZEVsdVpHVjRJRDBnTVR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHWnZkWEpaVTNGMVlYSmxaRTFwYm5Wek1TQStJR1p2ZFhKQ2FXZG5aWE4wVTNGMVlYSmxaRTFwYm5Wek1Ta2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM1Z5UW1sbloyVnpkRk54ZFdGeVpXUk5hVzUxY3pFZ1BTQm1iM1Z5V1ZOeGRXRnlaV1JOYVc1MWN6RTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnBaMmRsYzNSSmJtUmxlQ0E5SURJN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaG1iM1Z5V2xOeGRXRnlaV1JOYVc1MWN6RWdQaUJtYjNWeVFtbG5aMlZ6ZEZOeGRXRnlaV1JOYVc1MWN6RXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdabTkxY2tKcFoyZGxjM1JUY1hWaGNtVmtUV2x1ZFhNeElEMGdabTkxY2xwVGNYVmhjbVZrVFdsdWRYTXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmlhV2RuWlhOMFNXNWtaWGdnUFNBek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdZbWxuWjJWemRGWmhiQ0E5SUUxaGRHZ3VjM0Z5ZENobWIzVnlRbWxuWjJWemRGTnhkV0Z5WldSTmFXNTFjekVnS3lBeEtTQXFJREF1TlR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYlhWc2RDQTlJREF1TWpVZ0x5QmlhV2RuWlhOMFZtRnNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQnVaWGNnY1hWaGRGOHhMbVJsWm1GMWJIUW9LVHRjY2x4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0dKcFoyZGxjM1JKYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURBNlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWR5QTlJR0pwWjJkbGMzUldZV3c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZUNBOUlDaHRNVElnTFNCdE1qRXBJQ29nYlhWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNTVJRDBnS0cweU1DQXRJRzB3TWlrZ0tpQnRkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5vZ1BTQW9iVEF4SUMwZ2JURXdLU0FxSUcxMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F4T2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5jZ1BTQW9iVEV5SUMwZ2JUSXhLU0FxSUcxMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlQ0E5SUdKcFoyZGxjM1JXWVd3N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVTQTlJQ2h0TURFZ0t5QnRNVEFwSUNvZ2JYVnNkRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzU2SUQwZ0tHMHlNQ0FySUcwd01pa2dLaUJ0ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdNanBjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzUzSUQwZ0tHMHlNQ0F0SUcwd01pa2dLaUJ0ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MExuZ2dQU0FvYlRBeElDc2diVEV3S1NBcUlHMTFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZVNBOUlHSnBaMmRsYzNSV1lXdzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlaUE5SUNodE1USWdLeUJ0TWpFcElDb2diWFZzZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElETTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVkeUE5SUNodE1ERWdMU0J0TVRBcElDb2diWFZzZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NElEMGdLRzB5TUNBcklHMHdNaWtnS2lCdGRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemRXeDBMbmtnUFNBb2JURXlJQ3NnYlRJeEtTQXFJRzExYkhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVpQTlJR0pwWjJkbGMzUldZV3c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzV5YjNSaGRHVWdQU0JtZFc1amRHbHZiaUFvWVc1bmJHVXNJR0Y0YVhNcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJR0Y0YVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJR0Y0YVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJR0Y0YVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ1RXRjBhQzV6Y1hKMEtIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnSVQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdiR1Z1WjNSb0lEMGdNU0F2SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I2SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITWdQU0JOWVhSb0xuTnBiaWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0JOWVhSb0xtTnZjeWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUWdQU0F4TGpBZ0xTQmpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXMwWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3paZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qQWdQU0IwYUdsekxuWmhiSFZsYzFzNFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk9WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNaUE5SUhSb2FYTXVkbUZzZFdWeld6RXdYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2VDQXFJSGdnS2lCMElDc2dZenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF4SUQwZ2VTQXFJSGdnS2lCMElDc2dlaUFxSUhNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01pQTlJSG9nS2lCNElDb2dkQ0F0SUhrZ0tpQnpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNVEFnUFNCNElDb2dlU0FxSUhRZ0xTQjZJQ29nY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeElEMGdlU0FxSUhrZ0tpQjBJQ3NnWXp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeUlEMGdlaUFxSUhrZ0tpQjBJQ3NnZUNBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXlNQ0E5SUhnZ0tpQjZJQ29nZENBcklIa2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTWpFZ1BTQjVJQ29nZWlBcUlIUWdMU0I0SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXlJRDBnZWlBcUlIb2dLaUIwSUNzZ1l6dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR0V3TUNBcUlHSXdNQ0FySUdFeE1DQXFJR0l3TVNBcklHRXlNQ0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJR0V3TVNBcUlHSXdNQ0FySUdFeE1TQXFJR0l3TVNBcklHRXlNU0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJR0V3TWlBcUlHSXdNQ0FySUdFeE1pQXFJR0l3TVNBcklHRXlNaUFxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V3TUNBcUlHSXhNQ0FySUdFeE1DQXFJR0l4TVNBcklHRXlNQ0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMFhTQTlJR0V3TVNBcUlHSXhNQ0FySUdFeE1TQXFJR0l4TVNBcklHRXlNU0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMVhTQTlJR0V3TWlBcUlHSXhNQ0FySUdFeE1pQXFJR0l4TVNBcklHRXlNaUFxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQTlJR0V3TUNBcUlHSXlNQ0FySUdFeE1DQXFJR0l5TVNBcklHRXlNQ0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJR0V3TVNBcUlHSXlNQ0FySUdFeE1TQXFJR0l5TVNBcklHRXlNU0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTQTlJR0V3TWlBcUlHSXlNQ0FySUdFeE1pQXFJR0l5TVNBcklHRXlNaUFxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjJSMVkzUWdQU0JtZFc1amRHbHZiaUFvYlRFc0lHMHlMQ0J5WlhOMWJIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2JURXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01TQTlJRzB4TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNRElnUFNCdE1TNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdiVEV1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNU0E5SUcweExtRjBLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRJZ1BTQnRNUzVoZENnMUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnYlRFdVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlHMHhMbUYwS0RjcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0J0TVM1aGRDZzRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2JUSXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJRzB5TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRElnUFNCdE1pNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFd0lEMGdiVEl1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUcweUxtRjBLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRJZ1BTQnRNaTVoZENnMUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXdJRDBnYlRJdVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TVNBOUlHMHlMbUYwS0RjcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qSWdQU0J0TWk1aGRDZzRLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1cGJtbDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TUNBcklHSXdNU0FxSUdFeE1DQXJJR0l3TWlBcUlHRXlNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TVNBcklHSXdNU0FxSUdFeE1TQXJJR0l3TWlBcUlHRXlNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TWlBcklHSXdNU0FxSUdFeE1pQXJJR0l3TWlBcUlHRXlNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TUNBcklHSXhNU0FxSUdFeE1DQXJJR0l4TWlBcUlHRXlNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TVNBcklHSXhNU0FxSUdFeE1TQXJJR0l4TWlBcUlHRXlNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TWlBcklHSXhNU0FxSUdFeE1pQXJJR0l4TWlBcUlHRXlNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TUNBcklHSXlNU0FxSUdFeE1DQXJJR0l5TWlBcUlHRXlNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TVNBcklHSXlNU0FxSUdFeE1TQXJJR0l5TWlBcUlHRXlNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TWlBcklHSXlNU0FxSUdFeE1pQXJJR0l5TWlBcUlHRXlNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRzFoZERNb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXdJQ3NnWWpBeElDb2dZVEV3SUNzZ1lqQXlJQ29nWVRJd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXhJQ3NnWWpBeElDb2dZVEV4SUNzZ1lqQXlJQ29nWVRJeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXlJQ3NnWWpBeElDb2dZVEV5SUNzZ1lqQXlJQ29nWVRJeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXdJQ3NnWWpFeElDb2dZVEV3SUNzZ1lqRXlJQ29nWVRJd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXhJQ3NnWWpFeElDb2dZVEV4SUNzZ1lqRXlJQ29nWVRJeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXlJQ3NnWWpFeElDb2dZVEV5SUNzZ1lqRXlJQ29nWVRJeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXdJQ3NnWWpJeElDb2dZVEV3SUNzZ1lqSXlJQ29nWVRJd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXhJQ3NnWWpJeElDb2dZVEV4SUNzZ1lqSXlJQ29nWVRJeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXlJQ3NnWWpJeElDb2dZVEV5SUNzZ1lqSXlJQ29nWVRJeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME15NXBaR1Z1ZEdsMGVTQTlJRzVsZHlCdFlYUXpLQ2t1YzJWMFNXUmxiblJwZEhrb0tUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdFlYUXpPMXh5WEc1OUtDa3BPMXh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCdFlYUXpPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMXRZWFF6TG1wekxtMWhjQ0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0NC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0NC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBtYXQzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQzLmpzXFxcIik7XFxyXFxudmFyIHZlYzNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdmVjMyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzMuanNcXFwiKTtcXHJcXG52YXIgdmVjNF8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWM0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjNC5qc1xcXCIpO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIG1hdDQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIG1hdDQodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xcclxcbiAgICAgICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5pbml0KHZhbHVlcyk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSA9IHZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2ldID0gMDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IG1hdDQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRlc3QudmFsdWVzW2ldID0gdGhpcy52YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuYWxsID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGRhdGEgPSBbXTtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRhdGFbaV0gPSB0aGlzLnZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBkYXRhO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5yb3cgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgMF0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgMV0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgMl0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgM10sXFxyXFxuICAgICAgICBdO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5jb2wgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXhdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICsgNF0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKyA4XSxcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpbmRleCArIDEyXSxcXHJcXG4gICAgICAgIF07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uIChtYXRyaXgsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIGlmIChNYXRoLmFicyh0aGlzLnZhbHVlc1tpXSAtIG1hdHJpeC5hdChpKSkgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5kZXRlcm1pbmFudCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYTIzID0gdGhpcy52YWx1ZXNbMTFdO1xcclxcbiAgICAgICAgdmFyIGEzMCA9IHRoaXMudmFsdWVzWzEyXTtcXHJcXG4gICAgICAgIHZhciBhMzEgPSB0aGlzLnZhbHVlc1sxM107XFxyXFxuICAgICAgICB2YXIgYTMyID0gdGhpcy52YWx1ZXNbMTRdO1xcclxcbiAgICAgICAgdmFyIGEzMyA9IHRoaXMudmFsdWVzWzE1XTtcXHJcXG4gICAgICAgIHZhciBkZXQwMCA9IGEwMCAqIGExMSAtIGEwMSAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMSA9IGEwMCAqIGExMiAtIGEwMiAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMiA9IGEwMCAqIGExMyAtIGEwMyAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMyA9IGEwMSAqIGExMiAtIGEwMiAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNCA9IGEwMSAqIGExMyAtIGEwMyAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNSA9IGEwMiAqIGExMyAtIGEwMyAqIGExMjtcXHJcXG4gICAgICAgIHZhciBkZXQwNiA9IGEyMCAqIGEzMSAtIGEyMSAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwNyA9IGEyMCAqIGEzMiAtIGEyMiAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOCA9IGEyMCAqIGEzMyAtIGEyMyAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOSA9IGEyMSAqIGEzMiAtIGEyMiAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMCA9IGEyMSAqIGEzMyAtIGEyMyAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMSA9IGEyMiAqIGEzMyAtIGEyMyAqIGEzMjtcXHJcXG4gICAgICAgIHJldHVybiAoZGV0MDAgKiBkZXQxMSAtIGRldDAxICogZGV0MTAgKyBkZXQwMiAqIGRldDA5ICsgZGV0MDMgKiBkZXQwOCAtIGRldDA0ICogZGV0MDcgKyBkZXQwNSAqIGRldDA2KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuc2V0SWRlbnRpdHkgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IDE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s1XSA9IDE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s4XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s5XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTFdID0gMDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxM10gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTRdID0gMDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzE1XSA9IDE7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUudHJhbnNwb3NlID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHRlbXAwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIHRlbXAwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIHRlbXAwMyA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIHRlbXAxMiA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIHRlbXAxMyA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIHRlbXAyMyA9IHRoaXMudmFsdWVzWzExXTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gdGhpcy52YWx1ZXNbNF07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB0aGlzLnZhbHVlc1sxMl07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IHRlbXAwMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzZdID0gdGhpcy52YWx1ZXNbOV07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IHRoaXMudmFsdWVzWzEzXTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gdGVtcDAyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOV0gPSB0ZW1wMTI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMV0gPSB0aGlzLnZhbHVlc1sxNF07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMl0gPSB0ZW1wMDM7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxM10gPSB0ZW1wMTM7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxNF0gPSB0ZW1wMjM7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuaW52ZXJzZSA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYTIzID0gdGhpcy52YWx1ZXNbMTFdO1xcclxcbiAgICAgICAgdmFyIGEzMCA9IHRoaXMudmFsdWVzWzEyXTtcXHJcXG4gICAgICAgIHZhciBhMzEgPSB0aGlzLnZhbHVlc1sxM107XFxyXFxuICAgICAgICB2YXIgYTMyID0gdGhpcy52YWx1ZXNbMTRdO1xcclxcbiAgICAgICAgdmFyIGEzMyA9IHRoaXMudmFsdWVzWzE1XTtcXHJcXG4gICAgICAgIHZhciBkZXQwMCA9IGEwMCAqIGExMSAtIGEwMSAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMSA9IGEwMCAqIGExMiAtIGEwMiAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMiA9IGEwMCAqIGExMyAtIGEwMyAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMyA9IGEwMSAqIGExMiAtIGEwMiAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNCA9IGEwMSAqIGExMyAtIGEwMyAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNSA9IGEwMiAqIGExMyAtIGEwMyAqIGExMjtcXHJcXG4gICAgICAgIHZhciBkZXQwNiA9IGEyMCAqIGEzMSAtIGEyMSAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwNyA9IGEyMCAqIGEzMiAtIGEyMiAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOCA9IGEyMCAqIGEzMyAtIGEyMyAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOSA9IGEyMSAqIGEzMiAtIGEyMiAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMCA9IGEyMSAqIGEzMyAtIGEyMyAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMSA9IGEyMiAqIGEzMyAtIGEyMyAqIGEzMjtcXHJcXG4gICAgICAgIHZhciBkZXQgPSAoZGV0MDAgKiBkZXQxMSAtIGRldDAxICogZGV0MTAgKyBkZXQwMiAqIGRldDA5ICsgZGV0MDMgKiBkZXQwOCAtIGRldDA0ICogZGV0MDcgKyBkZXQwNSAqIGRldDA2KTtcXHJcXG4gICAgICAgIGlmICghZGV0KSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXQgPSAxLjAgLyBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IChhMTEgKiBkZXQxMSAtIGExMiAqIGRldDEwICsgYTEzICogZGV0MDkpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSAoLWEwMSAqIGRldDExICsgYTAyICogZGV0MTAgLSBhMDMgKiBkZXQwOSkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IChhMzEgKiBkZXQwNSAtIGEzMiAqIGRldDA0ICsgYTMzICogZGV0MDMpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSAoLWEyMSAqIGRldDA1ICsgYTIyICogZGV0MDQgLSBhMjMgKiBkZXQwMykgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9ICgtYTEwICogZGV0MTEgKyBhMTIgKiBkZXQwOCAtIGExMyAqIGRldDA3KSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzVdID0gKGEwMCAqIGRldDExIC0gYTAyICogZGV0MDggKyBhMDMgKiBkZXQwNykgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9ICgtYTMwICogZGV0MDUgKyBhMzIgKiBkZXQwMiAtIGEzMyAqIGRldDAxKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzddID0gKGEyMCAqIGRldDA1IC0gYTIyICogZGV0MDIgKyBhMjMgKiBkZXQwMSkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s4XSA9IChhMTAgKiBkZXQxMCAtIGExMSAqIGRldDA4ICsgYTEzICogZGV0MDYpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOV0gPSAoLWEwMCAqIGRldDEwICsgYTAxICogZGV0MDggLSBhMDMgKiBkZXQwNikgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gPSAoYTMwICogZGV0MDQgLSBhMzEgKiBkZXQwMiArIGEzMyAqIGRldDAwKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzExXSA9ICgtYTIwICogZGV0MDQgKyBhMjEgKiBkZXQwMiAtIGEyMyAqIGRldDAwKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSA9ICgtYTEwICogZGV0MDkgKyBhMTEgKiBkZXQwNyAtIGExMiAqIGRldDA2KSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEzXSA9IChhMDAgKiBkZXQwOSAtIGEwMSAqIGRldDA3ICsgYTAyICogZGV0MDYpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTRdID0gKC1hMzAgKiBkZXQwMyArIGEzMSAqIGRldDAxIC0gYTMyICogZGV0MDApICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTVdID0gKGEyMCAqIGRldDAzIC0gYTIxICogZGV0MDEgKyBhMjIgKiBkZXQwMCkgKiBkZXQ7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAobWF0cml4KSB7XFxyXFxuICAgICAgICB2YXIgYTAwID0gdGhpcy52YWx1ZXNbMF07XFxyXFxuICAgICAgICB2YXIgYTAxID0gdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgICAgICB2YXIgYTAyID0gdGhpcy52YWx1ZXNbMl07XFxyXFxuICAgICAgICB2YXIgYTAzID0gdGhpcy52YWx1ZXNbM107XFxyXFxuICAgICAgICB2YXIgYTEwID0gdGhpcy52YWx1ZXNbNF07XFxyXFxuICAgICAgICB2YXIgYTExID0gdGhpcy52YWx1ZXNbNV07XFxyXFxuICAgICAgICB2YXIgYTEyID0gdGhpcy52YWx1ZXNbNl07XFxyXFxuICAgICAgICB2YXIgYTEzID0gdGhpcy52YWx1ZXNbN107XFxyXFxuICAgICAgICB2YXIgYTIwID0gdGhpcy52YWx1ZXNbOF07XFxyXFxuICAgICAgICB2YXIgYTIxID0gdGhpcy52YWx1ZXNbOV07XFxyXFxuICAgICAgICB2YXIgYTIyID0gdGhpcy52YWx1ZXNbMTBdO1xcclxcbiAgICAgICAgdmFyIGEyMyA9IHRoaXMudmFsdWVzWzExXTtcXHJcXG4gICAgICAgIHZhciBhMzAgPSB0aGlzLnZhbHVlc1sxMl07XFxyXFxuICAgICAgICB2YXIgYTMxID0gdGhpcy52YWx1ZXNbMTNdO1xcclxcbiAgICAgICAgdmFyIGEzMiA9IHRoaXMudmFsdWVzWzE0XTtcXHJcXG4gICAgICAgIHZhciBhMzMgPSB0aGlzLnZhbHVlc1sxNV07XFxyXFxuICAgICAgICB2YXIgYjAgPSBtYXRyaXguYXQoMCk7XFxyXFxuICAgICAgICB2YXIgYjEgPSBtYXRyaXguYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYjIgPSBtYXRyaXguYXQoMik7XFxyXFxuICAgICAgICB2YXIgYjMgPSBtYXRyaXguYXQoMyk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IGIwICogYTAwICsgYjEgKiBhMTAgKyBiMiAqIGEyMCArIGIzICogYTMwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSBiMCAqIGEwMSArIGIxICogYTExICsgYjIgKiBhMjEgKyBiMyAqIGEzMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzJdID0gYjAgKiBhMDIgKyBiMSAqIGExMiArIGIyICogYTIyICsgYjMgKiBhMzI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IGIwICogYTAzICsgYjEgKiBhMTMgKyBiMiAqIGEyMyArIGIzICogYTMzO1xcclxcbiAgICAgICAgYjAgPSBtYXRyaXguYXQoNCk7XFxyXFxuICAgICAgICBiMSA9IG1hdHJpeC5hdCg1KTtcXHJcXG4gICAgICAgIGIyID0gbWF0cml4LmF0KDYpO1xcclxcbiAgICAgICAgYjMgPSBtYXRyaXguYXQoNyk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IGIwICogYTAwICsgYjEgKiBhMTAgKyBiMiAqIGEyMCArIGIzICogYTMwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSBiMCAqIGEwMSArIGIxICogYTExICsgYjIgKiBhMjEgKyBiMyAqIGEzMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzZdID0gYjAgKiBhMDIgKyBiMSAqIGExMiArIGIyICogYTIyICsgYjMgKiBhMzI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IGIwICogYTAzICsgYjEgKiBhMTMgKyBiMiAqIGEyMyArIGIzICogYTMzO1xcclxcbiAgICAgICAgYjAgPSBtYXRyaXguYXQoOCk7XFxyXFxuICAgICAgICBiMSA9IG1hdHJpeC5hdCg5KTtcXHJcXG4gICAgICAgIGIyID0gbWF0cml4LmF0KDEwKTtcXHJcXG4gICAgICAgIGIzID0gbWF0cml4LmF0KDExKTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gYjAgKiBhMDAgKyBiMSAqIGExMCArIGIyICogYTIwICsgYjMgKiBhMzA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s5XSA9IGIwICogYTAxICsgYjEgKiBhMTEgKyBiMiAqIGEyMSArIGIzICogYTMxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTBdID0gYjAgKiBhMDIgKyBiMSAqIGExMiArIGIyICogYTIyICsgYjMgKiBhMzI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMV0gPSBiMCAqIGEwMyArIGIxICogYTEzICsgYjIgKiBhMjMgKyBiMyAqIGEzMztcXHJcXG4gICAgICAgIGIwID0gbWF0cml4LmF0KDEyKTtcXHJcXG4gICAgICAgIGIxID0gbWF0cml4LmF0KDEzKTtcXHJcXG4gICAgICAgIGIyID0gbWF0cml4LmF0KDE0KTtcXHJcXG4gICAgICAgIGIzID0gbWF0cml4LmF0KDE1KTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSA9IGIwICogYTAwICsgYjEgKiBhMTAgKyBiMiAqIGEyMCArIGIzICogYTMwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTNdID0gYjAgKiBhMDEgKyBiMSAqIGExMSArIGIyICogYTIxICsgYjMgKiBhMzE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxNF0gPSBiMCAqIGEwMiArIGIxICogYTEyICsgYjIgKiBhMjIgKyBiMyAqIGEzMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzE1XSA9IGIwICogYTAzICsgYjEgKiBhMTMgKyBiMiAqIGEyMyArIGIzICogYTMzO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLm11bHRpcGx5VmVjMyA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHogPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgdmVjM18xLmRlZmF1bHQoW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdICogeCArIHRoaXMudmFsdWVzWzRdICogeSArIHRoaXMudmFsdWVzWzhdICogeiArIHRoaXMudmFsdWVzWzEyXSxcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSAqIHggKyB0aGlzLnZhbHVlc1s1XSAqIHkgKyB0aGlzLnZhbHVlc1s5XSAqIHogKyB0aGlzLnZhbHVlc1sxM10sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gKiB4ICsgdGhpcy52YWx1ZXNbNl0gKiB5ICsgdGhpcy52YWx1ZXNbMTBdICogeiArIHRoaXMudmFsdWVzWzE0XSxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5tdWx0aXBseVZlYzQgPSBmdW5jdGlvbiAodmVjdG9yLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzRfMS5kZWZhdWx0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3Rvci54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yLno7XFxyXFxuICAgICAgICB2YXIgdyA9IHZlY3Rvci53O1xcclxcbiAgICAgICAgZGVzdC54ID0gdGhpcy52YWx1ZXNbMF0gKiB4ICsgdGhpcy52YWx1ZXNbNF0gKiB5ICsgdGhpcy52YWx1ZXNbOF0gKiB6ICsgdGhpcy52YWx1ZXNbMTJdICogdztcXHJcXG4gICAgICAgIGRlc3QueSA9IHRoaXMudmFsdWVzWzFdICogeCArIHRoaXMudmFsdWVzWzVdICogeSArIHRoaXMudmFsdWVzWzldICogeiArIHRoaXMudmFsdWVzWzEzXSAqIHc7XFxyXFxuICAgICAgICBkZXN0LnogPSB0aGlzLnZhbHVlc1syXSAqIHggKyB0aGlzLnZhbHVlc1s2XSAqIHkgKyB0aGlzLnZhbHVlc1sxMF0gKiB6ICsgdGhpcy52YWx1ZXNbMTRdICogdztcXHJcXG4gICAgICAgIGRlc3QudyA9IHRoaXMudmFsdWVzWzNdICogeCArIHRoaXMudmFsdWVzWzddICogeSArIHRoaXMudmFsdWVzWzExXSAqIHogKyB0aGlzLnZhbHVlc1sxNV0gKiB3O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLnRvTWF0MyA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0M18xLmRlZmF1bHQoW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzRdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzVdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzhdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzldLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzEwXSxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS50b0ludmVyc2VNYXQzID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzldO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzEwXTtcXHJcXG4gICAgICAgIHZhciBkZXQwMSA9IGEyMiAqIGExMSAtIGExMiAqIGEyMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMSA9IC1hMjIgKiBhMTAgKyBhMTIgKiBhMjA7XFxyXFxuICAgICAgICB2YXIgZGV0MjEgPSBhMjEgKiBhMTAgLSBhMTEgKiBhMjA7XFxyXFxuICAgICAgICB2YXIgZGV0ID0gYTAwICogZGV0MDEgKyBhMDEgKiBkZXQxMSArIGEwMiAqIGRldDIxO1xcclxcbiAgICAgICAgaWYgKCFkZXQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRldCA9IDEuMCAvIGRldDtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0M18xLmRlZmF1bHQoW1xcclxcbiAgICAgICAgICAgIGRldDAxICogZGV0LFxcclxcbiAgICAgICAgICAgICgtYTIyICogYTAxICsgYTAyICogYTIxKSAqIGRldCxcXHJcXG4gICAgICAgICAgICAoYTEyICogYTAxIC0gYTAyICogYTExKSAqIGRldCxcXHJcXG4gICAgICAgICAgICBkZXQxMSAqIGRldCxcXHJcXG4gICAgICAgICAgICAoYTIyICogYTAwIC0gYTAyICogYTIwKSAqIGRldCxcXHJcXG4gICAgICAgICAgICAoLWExMiAqIGEwMCArIGEwMiAqIGExMCkgKiBkZXQsXFxyXFxuICAgICAgICAgICAgZGV0MjEgKiBkZXQsXFxyXFxuICAgICAgICAgICAgKC1hMjEgKiBhMDAgKyBhMDEgKiBhMjApICogZGV0LFxcclxcbiAgICAgICAgICAgIChhMTEgKiBhMDAgLSBhMDEgKiBhMTApICogZGV0LFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHogPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSArPSB0aGlzLnZhbHVlc1swXSAqIHggKyB0aGlzLnZhbHVlc1s0XSAqIHkgKyB0aGlzLnZhbHVlc1s4XSAqIHo7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxM10gKz0gdGhpcy52YWx1ZXNbMV0gKiB4ICsgdGhpcy52YWx1ZXNbNV0gKiB5ICsgdGhpcy52YWx1ZXNbOV0gKiB6O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTRdICs9IHRoaXMudmFsdWVzWzJdICogeCArIHRoaXMudmFsdWVzWzZdICogeSArIHRoaXMudmFsdWVzWzEwXSAqIHo7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxNV0gKz0gdGhpcy52YWx1ZXNbM10gKiB4ICsgdGhpcy52YWx1ZXNbN10gKiB5ICsgdGhpcy52YWx1ZXNbMTFdICogejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5zY2FsZSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHogPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzBdICo9IHg7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSAqPSB4O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gKj0geDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzNdICo9IHg7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSAqPSB5O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gKj0geTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzZdICo9IHk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSAqPSB5O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOF0gKj0gejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzldICo9IHo7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gKj0gejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzExXSAqPSB6O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLnJvdGF0ZSA9IGZ1bmN0aW9uIChhbmdsZSwgYXhpcykge1xcclxcbiAgICAgICAgdmFyIHggPSBheGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IGF4aXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gYXhpcy56O1xcclxcbiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5ICsgeiAqIHopO1xcclxcbiAgICAgICAgaWYgKCFsZW5ndGgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggIT09IDEpIHtcXHJcXG4gICAgICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHggKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHkgKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHogKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHMgPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICB2YXIgYyA9IE1hdGguY29zKGFuZ2xlKTtcXHJcXG4gICAgICAgIHZhciB0ID0gMS4wIC0gYztcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYTIzID0gdGhpcy52YWx1ZXNbMTFdO1xcclxcbiAgICAgICAgdmFyIGIwMCA9IHggKiB4ICogdCArIGM7XFxyXFxuICAgICAgICB2YXIgYjAxID0geSAqIHggKiB0ICsgeiAqIHM7XFxyXFxuICAgICAgICB2YXIgYjAyID0geiAqIHggKiB0IC0geSAqIHM7XFxyXFxuICAgICAgICB2YXIgYjEwID0geCAqIHkgKiB0IC0geiAqIHM7XFxyXFxuICAgICAgICB2YXIgYjExID0geSAqIHkgKiB0ICsgYztcXHJcXG4gICAgICAgIHZhciBiMTIgPSB6ICogeSAqIHQgKyB4ICogcztcXHJcXG4gICAgICAgIHZhciBiMjAgPSB4ICogeiAqIHQgKyB5ICogcztcXHJcXG4gICAgICAgIHZhciBiMjEgPSB5ICogeiAqIHQgLSB4ICogcztcXHJcXG4gICAgICAgIHZhciBiMjIgPSB6ICogeiAqIHQgKyBjO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBhMDAgKiBiMDAgKyBhMTAgKiBiMDEgKyBhMjAgKiBiMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IGEwMSAqIGIwMCArIGExMSAqIGIwMSArIGEyMSAqIGIwMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzJdID0gYTAyICogYjAwICsgYTEyICogYjAxICsgYTIyICogYjAyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBhMDMgKiBiMDAgKyBhMTMgKiBiMDEgKyBhMjMgKiBiMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IGEwMCAqIGIxMCArIGExMCAqIGIxMSArIGEyMCAqIGIxMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzVdID0gYTAxICogYjEwICsgYTExICogYjExICsgYTIxICogYjEyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSBhMDIgKiBiMTAgKyBhMTIgKiBiMTEgKyBhMjIgKiBiMTI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IGEwMyAqIGIxMCArIGExMyAqIGIxMSArIGEyMyAqIGIxMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gYTAwICogYjIwICsgYTEwICogYjIxICsgYTIwICogYjIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOV0gPSBhMDEgKiBiMjAgKyBhMTEgKiBiMjEgKyBhMjEgKiBiMjI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gPSBhMDIgKiBiMjAgKyBhMTIgKiBiMjEgKyBhMjIgKiBiMjI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMV0gPSBhMDMgKiBiMjAgKyBhMTMgKiBiMjEgKyBhMjMgKiBiMjI7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5mcnVzdHVtID0gZnVuY3Rpb24gKGxlZnQsIHJpZ2h0LCBib3R0b20sIHRvcCwgbmVhciwgZmFyKSB7XFxyXFxuICAgICAgICB2YXIgcmwgPSAocmlnaHQgLSBsZWZ0KTtcXHJcXG4gICAgICAgIHZhciB0YiA9ICh0b3AgLSBib3R0b20pO1xcclxcbiAgICAgICAgdmFyIGZuID0gKGZhciAtIG5lYXIpO1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBtYXQ0KFtcXHJcXG4gICAgICAgICAgICAobmVhciAqIDIpIC8gcmwsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAobmVhciAqIDIpIC8gdGIsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIChyaWdodCArIGxlZnQpIC8gcmwsXFxyXFxuICAgICAgICAgICAgKHRvcCArIGJvdHRvbSkgLyB0YixcXHJcXG4gICAgICAgICAgICAtKGZhciArIG5lYXIpIC8gZm4sXFxyXFxuICAgICAgICAgICAgLTEsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIC0oZmFyICogbmVhciAqIDIpIC8gZm4sXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnBlcnNwZWN0aXZlID0gZnVuY3Rpb24gKGZvdiwgYXNwZWN0LCBuZWFyLCBmYXIpIHtcXHJcXG4gICAgICAgIHZhciB0b3AgPSBuZWFyICogTWF0aC50YW4oZm92ICogTWF0aC5QSSAvIDM2MC4wKTtcXHJcXG4gICAgICAgIHZhciByaWdodCA9IHRvcCAqIGFzcGVjdDtcXHJcXG4gICAgICAgIHJldHVybiBtYXQ0LmZydXN0dW0oLXJpZ2h0LCByaWdodCwgLXRvcCwgdG9wLCBuZWFyLCBmYXIpO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0Lm9ydGhvZ3JhcGhpYyA9IGZ1bmN0aW9uIChsZWZ0LCByaWdodCwgYm90dG9tLCB0b3AsIG5lYXIsIGZhcikge1xcclxcbiAgICAgICAgdmFyIHJsID0gKHJpZ2h0IC0gbGVmdCk7XFxyXFxuICAgICAgICB2YXIgdGIgPSAodG9wIC0gYm90dG9tKTtcXHJcXG4gICAgICAgIHZhciBmbiA9IChmYXIgLSBuZWFyKTtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0NChbXFxyXFxuICAgICAgICAgICAgMiAvIHJsLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMiAvIHRiLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgLTIgLyBmbixcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIC0obGVmdCArIHJpZ2h0KSAvIHJsLFxcclxcbiAgICAgICAgICAgIC0odG9wICsgYm90dG9tKSAvIHRiLFxcclxcbiAgICAgICAgICAgIC0oZmFyICsgbmVhcikgLyBmbixcXHJcXG4gICAgICAgICAgICAxLFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQubG9va0F0ID0gZnVuY3Rpb24gKHBvc2l0aW9uLCB0YXJnZXQsIHVwKSB7XFxyXFxuICAgICAgICBpZiAodXAgPT09IHZvaWQgMCkgeyB1cCA9IHZlYzNfMS5kZWZhdWx0LnVwOyB9XFxyXFxuICAgICAgICBpZiAocG9zaXRpb24uZXF1YWxzKHRhcmdldCkpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pZGVudGl0eTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB6ID0gdmVjM18xLmRlZmF1bHQuZGlmZmVyZW5jZShwb3NpdGlvbiwgdGFyZ2V0KS5ub3JtYWxpemUoKTtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjM18xLmRlZmF1bHQuY3Jvc3ModXAsIHopLm5vcm1hbGl6ZSgpO1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWMzXzEuZGVmYXVsdC5jcm9zcyh6LCB4KS5ub3JtYWxpemUoKTtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0NChbXFxyXFxuICAgICAgICAgICAgeC54LFxcclxcbiAgICAgICAgICAgIHkueCxcXHJcXG4gICAgICAgICAgICB6LngsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICB4LnksXFxyXFxuICAgICAgICAgICAgeS55LFxcclxcbiAgICAgICAgICAgIHoueSxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIHgueixcXHJcXG4gICAgICAgICAgICB5LnosXFxyXFxuICAgICAgICAgICAgei56LFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgLXZlYzNfMS5kZWZhdWx0LmRvdCh4LCBwb3NpdGlvbiksXFxyXFxuICAgICAgICAgICAgLXZlYzNfMS5kZWZhdWx0LmRvdCh5LCBwb3NpdGlvbiksXFxyXFxuICAgICAgICAgICAgLXZlYzNfMS5kZWZhdWx0LmRvdCh6LCBwb3NpdGlvbiksXFxyXFxuICAgICAgICAgICAgMSxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb2R1Y3QgPSBmdW5jdGlvbiAobTEsIG0yLCByZXN1bHQpIHtcXHJcXG4gICAgICAgIHZhciBhMDAgPSBtMS5hdCgwKTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSBtMS5hdCgxKTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSBtMS5hdCgyKTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSBtMS5hdCgzKTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSBtMS5hdCg0KTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSBtMS5hdCg1KTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSBtMS5hdCg2KTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSBtMS5hdCg3KTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSBtMS5hdCg4KTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSBtMS5hdCg5KTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSBtMS5hdCgxMCk7XFxyXFxuICAgICAgICB2YXIgYTIzID0gbTEuYXQoMTEpO1xcclxcbiAgICAgICAgdmFyIGEzMCA9IG0xLmF0KDEyKTtcXHJcXG4gICAgICAgIHZhciBhMzEgPSBtMS5hdCgxMyk7XFxyXFxuICAgICAgICB2YXIgYTMyID0gbTEuYXQoMTQpO1xcclxcbiAgICAgICAgdmFyIGEzMyA9IG0xLmF0KDE1KTtcXHJcXG4gICAgICAgIHZhciBiMDAgPSBtMi5hdCgwKTtcXHJcXG4gICAgICAgIHZhciBiMDEgPSBtMi5hdCgxKTtcXHJcXG4gICAgICAgIHZhciBiMDIgPSBtMi5hdCgyKTtcXHJcXG4gICAgICAgIHZhciBiMDMgPSBtMi5hdCgzKTtcXHJcXG4gICAgICAgIHZhciBiMTAgPSBtMi5hdCg0KTtcXHJcXG4gICAgICAgIHZhciBiMTEgPSBtMi5hdCg1KTtcXHJcXG4gICAgICAgIHZhciBiMTIgPSBtMi5hdCg2KTtcXHJcXG4gICAgICAgIHZhciBiMTMgPSBtMi5hdCg3KTtcXHJcXG4gICAgICAgIHZhciBiMjAgPSBtMi5hdCg4KTtcXHJcXG4gICAgICAgIHZhciBiMjEgPSBtMi5hdCg5KTtcXHJcXG4gICAgICAgIHZhciBiMjIgPSBtMi5hdCgxMCk7XFxyXFxuICAgICAgICB2YXIgYjIzID0gbTIuYXQoMTEpO1xcclxcbiAgICAgICAgdmFyIGIzMCA9IG0yLmF0KDEyKTtcXHJcXG4gICAgICAgIHZhciBiMzEgPSBtMi5hdCgxMyk7XFxyXFxuICAgICAgICB2YXIgYjMyID0gbTIuYXQoMTQpO1xcclxcbiAgICAgICAgdmFyIGIzMyA9IG0yLmF0KDE1KTtcXHJcXG4gICAgICAgIGlmIChyZXN1bHQpIHtcXHJcXG4gICAgICAgICAgICByZXN1bHQuaW5pdChbXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMCArIGIwMSAqIGExMCArIGIwMiAqIGEyMCArIGIwMyAqIGEzMCxcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAxICsgYjAxICogYTExICsgYjAyICogYTIxICsgYjAzICogYTMxLFxcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDIgKyBiMDEgKiBhMTIgKyBiMDIgKiBhMjIgKyBiMDMgKiBhMzIsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMyArIGIwMSAqIGExMyArIGIwMiAqIGEyMyArIGIwMyAqIGEzMyxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAwICsgYjExICogYTEwICsgYjEyICogYTIwICsgYjEzICogYTMwLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDEgKyBiMTEgKiBhMTEgKyBiMTIgKiBhMjEgKyBiMTMgKiBhMzEsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMiArIGIxMSAqIGExMiArIGIxMiAqIGEyMiArIGIxMyAqIGEzMixcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAzICsgYjExICogYTEzICsgYjEyICogYTIzICsgYjEzICogYTMzLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjAgKyBiMjMgKiBhMzAsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMSArIGIyMyAqIGEzMSxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyICsgYjIzICogYTMyLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDMgKyBiMjEgKiBhMTMgKyBiMjIgKiBhMjMgKyBiMjMgKiBhMzMsXFxyXFxuICAgICAgICAgICAgICAgIGIzMCAqIGEwMCArIGIzMSAqIGExMCArIGIzMiAqIGEyMCArIGIzMyAqIGEzMCxcXHJcXG4gICAgICAgICAgICAgICAgYjMwICogYTAxICsgYjMxICogYTExICsgYjMyICogYTIxICsgYjMzICogYTMxLFxcclxcbiAgICAgICAgICAgICAgICBiMzAgKiBhMDIgKyBiMzEgKiBhMTIgKyBiMzIgKiBhMjIgKyBiMzMgKiBhMzIsXFxyXFxuICAgICAgICAgICAgICAgIGIzMCAqIGEwMyArIGIzMSAqIGExMyArIGIzMiAqIGEyMyArIGIzMyAqIGEzMyxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBtYXQ0KFtcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAwICsgYjAxICogYTEwICsgYjAyICogYTIwICsgYjAzICogYTMwLFxcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDEgKyBiMDEgKiBhMTEgKyBiMDIgKiBhMjEgKyBiMDMgKiBhMzEsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMiArIGIwMSAqIGExMiArIGIwMiAqIGEyMiArIGIwMyAqIGEzMixcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAzICsgYjAxICogYTEzICsgYjAyICogYTIzICsgYjAzICogYTMzLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjAgKyBiMTMgKiBhMzAsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMSArIGIxMyAqIGEzMSxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyICsgYjEzICogYTMyLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDMgKyBiMTEgKiBhMTMgKyBiMTIgKiBhMjMgKyBiMTMgKiBhMzMsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMCArIGIyMSAqIGExMCArIGIyMiAqIGEyMCArIGIyMyAqIGEzMCxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAxICsgYjIxICogYTExICsgYjIyICogYTIxICsgYjIzICogYTMxLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDIgKyBiMjEgKiBhMTIgKyBiMjIgKiBhMjIgKyBiMjMgKiBhMzIsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMyArIGIyMSAqIGExMyArIGIyMiAqIGEyMyArIGIyMyAqIGEzMyxcXHJcXG4gICAgICAgICAgICAgICAgYjMwICogYTAwICsgYjMxICogYTEwICsgYjMyICogYTIwICsgYjMzICogYTMwLFxcclxcbiAgICAgICAgICAgICAgICBiMzAgKiBhMDEgKyBiMzEgKiBhMTEgKyBiMzIgKiBhMjEgKyBiMzMgKiBhMzEsXFxyXFxuICAgICAgICAgICAgICAgIGIzMCAqIGEwMiArIGIzMSAqIGExMiArIGIzMiAqIGEyMiArIGIzMyAqIGEzMixcXHJcXG4gICAgICAgICAgICAgICAgYjMwICogYTAzICsgYjMxICogYTEzICsgYjMyICogYTIzICsgYjMzICogYTMzLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LmlkZW50aXR5ID0gbmV3IG1hdDQoKS5zZXRJZGVudGl0eSgpO1xcclxcbiAgICByZXR1cm4gbWF0NDtcXHJcXG59KCkpO1xcclxcbmV4cG9ydHMuZGVmYXVsdCA9IG1hdDQ7XFxyXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWF0NC5qcy5tYXAvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OUFkR3hoZFd0cllXNHZkSE50TDJScGMzUXZiV0YwTkM1cWN6OHpNV1UzSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE8wRkJRMklzT0VOQlFUaERMR05CUVdNN1FVRkROVVFzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGxFUVVGUk8wRkJRemRDTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZVVSQlFWRTdRVUZETjBJc2EwSkJRV3RDTEcxQ1FVRlBMRU5CUVVNc2JVVkJRV0U3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1VVRkJVVHRCUVVNdlFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkNRVUYxUWl4UlFVRlJPMEZCUXk5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMURRVUZ0UXl4cFEwRkJhVU03UVVGRGNFVXNkVUpCUVhWQ0xGRkJRVkU3UVVGREwwSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MFFrRkJORUlzZDBKQlFYZENPMEZCUTNCRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXRZWFEwTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUcxaGRETmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyMWhkRE5jSWlrN1hISmNiblpoY2lCMlpXTXpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOTJaV016WENJcE8xeHlYRzUyWVhJZ2RtVmpORjh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZkbVZqTkZ3aUtUdGNjbHh1ZG1GeUlHTnZibk4wWVc1MGMxOHhJRDBnY21WeGRXbHlaU2hjSWk0dlkyOXVjM1JoYm5SelhDSXBPMXh5WEc1MllYSWdiV0YwTkNBOUlDOHFLaUJBWTJ4aGMzTWdLaThnS0daMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHMWhkRFFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLREUyS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVnpJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYm1sMEtIWmhiSFZsY3lrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdVlYUWdQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYmFXNWtaWGhkTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbWx1YVhRZ1BTQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnZG1Gc2RXVnpXMmxkTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzV5WlhObGRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJREUyT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdLR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCdFlYUTBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTVRZN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExuWmhiSFZsYzF0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1aGJHd2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSaGRHRWdQU0JiWFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJREUyT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVZ0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1eWIzY2dQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURRZ0t5QXdYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUEwSUNzZ01WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDb2dOQ0FySURKZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxdHBibVJsZUNBcUlEUWdLeUF6WFN4Y2NseHVJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERRdWNISnZkRzkwZVhCbExtTnZiQ0E5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYmFXNWtaWGdnS3lBMFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhnZ0t5QTRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLeUF4TWwwc1hISmNiaUFnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNWxjWFZoYkhNZ1BTQm1kVzVqZEdsdmJpQW9iV0YwY21sNExDQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2h5WlhOb2IyeGtJRDA5UFNCMmIybGtJREFwSUhzZ2RHaHlaWE5vYjJ4a0lEMGdZMjl1YzNSaGJuUnpYekV1WlhCemFXeHZianNnZlZ4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTJZV3gxWlhOYmFWMGdMU0J0WVhSeWFYZ3VZWFFvYVNrcElENGdkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdVpHVjBaWEp0YVc1aGJuUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01DQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ERWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNeUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEFnUFNCMGFHbHpMblpoYkhWbGMxczBYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJOVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRNZ1BTQjBhR2x6TG5aaGJIVmxjMXMzWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdkR2hwY3k1MllXeDFaWE5iT0YwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3psZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzeE1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNeUE5SUhSb2FYTXVkbUZzZFdWeld6RXhYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE13SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVEpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTXpFZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pFMFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUTXpJRDBnZEdocGN5NTJZV3gxWlhOYk1UVmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TUNBOUlHRXdNQ0FxSUdFeE1TQXRJR0V3TVNBcUlHRXhNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNREFnS2lCaE1USWdMU0JoTURJZ0tpQmhNVEE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBeUlEMGdZVEF3SUNvZ1lURXpJQzBnWVRBeklDb2dZVEV3TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd015QTlJR0V3TVNBcUlHRXhNaUF0SUdFd01pQXFJR0V4TVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1EUWdQU0JoTURFZ0tpQmhNVE1nTFNCaE1ETWdLaUJoTVRFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQTFJRDBnWVRBeUlDb2dZVEV6SUMwZ1lUQXpJQ29nWVRFeU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdOaUE5SUdFeU1DQXFJR0V6TVNBdElHRXlNU0FxSUdFek1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRGNnUFNCaE1qQWdLaUJoTXpJZ0xTQmhNaklnS2lCaE16QTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREE0SUQwZ1lUSXdJQ29nWVRNeklDMGdZVEl6SUNvZ1lUTXdPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3T1NBOUlHRXlNU0FxSUdFek1pQXRJR0V5TWlBcUlHRXpNVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTVRBZ1BTQmhNakVnS2lCaE16TWdMU0JoTWpNZ0tpQmhNekU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdZVEl5SUNvZ1lUTXpJQzBnWVRJeklDb2dZVE15TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb1pHVjBNREFnS2lCa1pYUXhNU0F0SUdSbGREQXhJQ29nWkdWME1UQWdLeUJrWlhRd01pQXFJR1JsZERBNUlDc2daR1YwTURNZ0tpQmtaWFF3T0NBdElHUmxkREEwSUNvZ1pHVjBNRGNnS3lCa1pYUXdOU0FxSUdSbGREQTJLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNXpaWFJKWkdWdWRHbDBlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTkYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnTVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMyWFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNVhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEJkSUQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1WMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV5WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UTmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TkYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RTFYU0E5SURFN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVkSEpoYm5Od2IzTmxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMFpXMXdNREVnUFNCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0RBeUlEMGdkR2hwY3k1MllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSbGJYQXdNeUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjBaVzF3TVRJZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZEdWdGNERXpJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmxiWEF5TXlBOUlIUm9hWE11ZG1Gc2RXVnpXekV4WFR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlIUm9hWE11ZG1Gc2RXVnpXelJkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ2RHaHBjeTUyWVd4MVpYTmJPRjA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCMGFHbHpMblpoYkhWbGMxc3hNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJORjBnUFNCMFpXMXdNREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCMGFHbHpMblpoYkhWbGMxczVYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczNYU0E5SUhSb2FYTXVkbUZzZFdWeld6RXpYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU0E5SUhSbGJYQXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczVYU0E5SUhSbGJYQXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNVjBnUFNCMGFHbHpMblpoYkhWbGMxc3hORjA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEpkSUQwZ2RHVnRjREF6TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV6WFNBOUlIUmxiWEF4TXp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TkYwZ1BTQjBaVzF3TWpNN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVhVzUyWlhKelpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBd0lEMGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01TQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ESWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXpJRDBnZEdocGN5NTJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNQ0E5SUhSb2FYTXVkbUZzZFdWeld6UmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEVnUFNCMGFHbHpMblpoYkhWbGMxczFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJObDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TXlBOUlIUm9hWE11ZG1Gc2RXVnpXemRkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpBZ1BTQjBhR2x6TG5aaGJIVmxjMXM0WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeElEMGdkR2hwY3k1MllXeDFaWE5iT1YwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pFd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXpJRDBnZEdocGN5NTJZV3gxWlhOYk1URmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNekFnUFNCMGFHbHpMblpoYkhWbGMxc3hNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V6TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekV6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNeUlEMGdkR2hwY3k1MllXeDFaWE5iTVRSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16TWdQU0IwYUdsekxuWmhiSFZsYzFzeE5WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREF3SUQwZ1lUQXdJQ29nWVRFeElDMGdZVEF4SUNvZ1lURXdPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TVNBOUlHRXdNQ0FxSUdFeE1pQXRJR0V3TWlBcUlHRXhNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURJZ1BTQmhNREFnS2lCaE1UTWdMU0JoTURNZ0tpQmhNVEE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBeklEMGdZVEF4SUNvZ1lURXlJQzBnWVRBeUlDb2dZVEV4TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd05DQTlJR0V3TVNBcUlHRXhNeUF0SUdFd015QXFJR0V4TVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1EVWdQU0JoTURJZ0tpQmhNVE1nTFNCaE1ETWdLaUJoTVRJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQTJJRDBnWVRJd0lDb2dZVE14SUMwZ1lUSXhJQ29nWVRNd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdOeUE5SUdFeU1DQXFJR0V6TWlBdElHRXlNaUFxSUdFek1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRGdnUFNCaE1qQWdLaUJoTXpNZ0xTQmhNak1nS2lCaE16QTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREE1SUQwZ1lUSXhJQ29nWVRNeUlDMGdZVEl5SUNvZ1lUTXhPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF4TUNBOUlHRXlNU0FxSUdFek15QXRJR0V5TXlBcUlHRXpNVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTVRFZ1BTQmhNaklnS2lCaE16TWdMU0JoTWpNZ0tpQmhNekk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZENBOUlDaGtaWFF3TUNBcUlHUmxkREV4SUMwZ1pHVjBNREVnS2lCa1pYUXhNQ0FySUdSbGREQXlJQ29nWkdWME1Ea2dLeUJrWlhRd015QXFJR1JsZERBNElDMGdaR1YwTURRZ0tpQmtaWFF3TnlBcklHUmxkREExSUNvZ1pHVjBNRFlwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWFFnUFNBeExqQWdMeUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQW9ZVEV4SUNvZ1pHVjBNVEVnTFNCaE1USWdLaUJrWlhReE1DQXJJR0V4TXlBcUlHUmxkREE1S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUNndFlUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF4TUNBdElHRXdNeUFxSUdSbGREQTVLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJQ2hoTXpFZ0tpQmtaWFF3TlNBdElHRXpNaUFxSUdSbGREQTBJQ3NnWVRNeklDb2daR1YwTURNcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ0tDMWhNakVnS2lCa1pYUXdOU0FySUdFeU1pQXFJR1JsZERBMElDMGdZVEl6SUNvZ1pHVjBNRE1wSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRJRDBnS0MxaE1UQWdLaUJrWlhReE1TQXJJR0V4TWlBcUlHUmxkREE0SUMwZ1lURXpJQ29nWkdWME1EY3BJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZElEMGdLR0V3TUNBcUlHUmxkREV4SUMwZ1lUQXlJQ29nWkdWME1EZ2dLeUJoTURNZ0tpQmtaWFF3TnlrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNBb0xXRXpNQ0FxSUdSbGREQTFJQ3NnWVRNeUlDb2daR1YwTURJZ0xTQmhNek1nS2lCa1pYUXdNU2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0FvWVRJd0lDb2daR1YwTURVZ0xTQmhNaklnS2lCa1pYUXdNaUFySUdFeU15QXFJR1JsZERBeEtTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM0WFNBOUlDaGhNVEFnS2lCa1pYUXhNQ0F0SUdFeE1TQXFJR1JsZERBNElDc2dZVEV6SUNvZ1pHVjBNRFlwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6bGRJRDBnS0MxaE1EQWdLaUJrWlhReE1DQXJJR0V3TVNBcUlHUmxkREE0SUMwZ1lUQXpJQ29nWkdWME1EWXBJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFd1hTQTlJQ2hoTXpBZ0tpQmtaWFF3TkNBdElHRXpNU0FxSUdSbGREQXlJQ3NnWVRNeklDb2daR1YwTURBcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV4WFNBOUlDZ3RZVEl3SUNvZ1pHVjBNRFFnS3lCaE1qRWdLaUJrWlhRd01pQXRJR0V5TXlBcUlHUmxkREF3S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNbDBnUFNBb0xXRXhNQ0FxSUdSbGREQTVJQ3NnWVRFeElDb2daR1YwTURjZ0xTQmhNVElnS2lCa1pYUXdOaWtnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UTmRJRDBnS0dFd01DQXFJR1JsZERBNUlDMGdZVEF4SUNvZ1pHVjBNRGNnS3lCaE1ESWdLaUJrWlhRd05pa2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRSZElEMGdLQzFoTXpBZ0tpQmtaWFF3TXlBcklHRXpNU0FxSUdSbGREQXhJQzBnWVRNeUlDb2daR1YwTURBcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekUxWFNBOUlDaGhNakFnS2lCa1pYUXdNeUF0SUdFeU1TQXFJR1JsZERBeElDc2dZVEl5SUNvZ1pHVjBNREFwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG0xMWJIUnBjR3g1SUQwZ1puVnVZM1JwYjI0Z0tHMWhkSEpwZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1EQWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXhJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNRE1nUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV3SUQwZ2RHaHBjeTUyWVd4MVpYTmJORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TVNBOUlIUm9hWE11ZG1Gc2RXVnpXelZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRJZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeklEMGdkR2hwY3k1MllXeDFaWE5iTjEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1DQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qRWdQU0IwYUdsekxuWmhiSFZsYzFzNVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXlJRDBnZEdocGN5NTJZV3gxWlhOYk1UQmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNak1nUFNCMGFHbHpMblpoYkhWbGMxc3hNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V6TUNBOUlIUm9hWE11ZG1Gc2RXVnpXekV5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNeElEMGdkR2hwY3k1MllXeDFaWE5iTVROZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16SWdQU0IwYUdsekxuWmhiSFZsYzFzeE5GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNeUE5SUhSb2FYTXVkbUZzZFdWeld6RTFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakFnUFNCdFlYUnlhWGd1WVhRb01DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhJRDBnYldGMGNtbDRMbUYwS0RFcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1pQTlJRzFoZEhKcGVDNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpNZ1BTQnRZWFJ5YVhndVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCaU1DQXFJR0V3TUNBcklHSXhJQ29nWVRFd0lDc2dZaklnS2lCaE1qQWdLeUJpTXlBcUlHRXpNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUdJd0lDb2dZVEF4SUNzZ1lqRWdLaUJoTVRFZ0t5QmlNaUFxSUdFeU1TQXJJR0l6SUNvZ1lUTXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnWWpBZ0tpQmhNRElnS3lCaU1TQXFJR0V4TWlBcklHSXlJQ29nWVRJeUlDc2dZak1nS2lCaE16STdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMGdQU0JpTUNBcUlHRXdNeUFySUdJeElDb2dZVEV6SUNzZ1lqSWdLaUJoTWpNZ0t5QmlNeUFxSUdFek16dGNjbHh1SUNBZ0lDQWdJQ0JpTUNBOUlHMWhkSEpwZUM1aGRDZzBLVHRjY2x4dUlDQWdJQ0FnSUNCaU1TQTlJRzFoZEhKcGVDNWhkQ2cxS1R0Y2NseHVJQ0FnSUNBZ0lDQmlNaUE5SUcxaGRISnBlQzVoZENnMktUdGNjbHh1SUNBZ0lDQWdJQ0JpTXlBOUlHMWhkSEpwZUM1aGRDZzNLVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU0E5SUdJd0lDb2dZVEF3SUNzZ1lqRWdLaUJoTVRBZ0t5QmlNaUFxSUdFeU1DQXJJR0l6SUNvZ1lUTXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnWWpBZ0tpQmhNREVnS3lCaU1TQXFJR0V4TVNBcklHSXlJQ29nWVRJeElDc2dZak1nS2lCaE16RTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0JpTUNBcUlHRXdNaUFySUdJeElDb2dZVEV5SUNzZ1lqSWdLaUJoTWpJZ0t5QmlNeUFxSUdFek1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJR0l3SUNvZ1lUQXpJQ3NnWWpFZ0tpQmhNVE1nS3lCaU1pQXFJR0V5TXlBcklHSXpJQ29nWVRNek8xeHlYRzRnSUNBZ0lDQWdJR0l3SUQwZ2JXRjBjbWw0TG1GMEtEZ3BPMXh5WEc0Z0lDQWdJQ0FnSUdJeElEMGdiV0YwY21sNExtRjBLRGtwTzF4eVhHNGdJQ0FnSUNBZ0lHSXlJRDBnYldGMGNtbDRMbUYwS0RFd0tUdGNjbHh1SUNBZ0lDQWdJQ0JpTXlBOUlHMWhkSEpwZUM1aGRDZ3hNU2s3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPRjBnUFNCaU1DQXFJR0V3TUNBcklHSXhJQ29nWVRFd0lDc2dZaklnS2lCaE1qQWdLeUJpTXlBcUlHRXpNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczVYU0E5SUdJd0lDb2dZVEF4SUNzZ1lqRWdLaUJoTVRFZ0t5QmlNaUFxSUdFeU1TQXJJR0l6SUNvZ1lUTXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXdYU0E5SUdJd0lDb2dZVEF5SUNzZ1lqRWdLaUJoTVRJZ0t5QmlNaUFxSUdFeU1pQXJJR0l6SUNvZ1lUTXlPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXhYU0E5SUdJd0lDb2dZVEF6SUNzZ1lqRWdLaUJoTVRNZ0t5QmlNaUFxSUdFeU15QXJJR0l6SUNvZ1lUTXpPMXh5WEc0Z0lDQWdJQ0FnSUdJd0lEMGdiV0YwY21sNExtRjBLREV5S1R0Y2NseHVJQ0FnSUNBZ0lDQmlNU0E5SUcxaGRISnBlQzVoZENneE15azdYSEpjYmlBZ0lDQWdJQ0FnWWpJZ1BTQnRZWFJ5YVhndVlYUW9NVFFwTzF4eVhHNGdJQ0FnSUNBZ0lHSXpJRDBnYldGMGNtbDRMbUYwS0RFMUtUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1sMGdQU0JpTUNBcUlHRXdNQ0FySUdJeElDb2dZVEV3SUNzZ1lqSWdLaUJoTWpBZ0t5QmlNeUFxSUdFek1EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE0xMGdQU0JpTUNBcUlHRXdNU0FySUdJeElDb2dZVEV4SUNzZ1lqSWdLaUJoTWpFZ0t5QmlNeUFxSUdFek1UdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5GMGdQU0JpTUNBcUlHRXdNaUFySUdJeElDb2dZVEV5SUNzZ1lqSWdLaUJoTWpJZ0t5QmlNeUFxSUdFek1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5WMGdQU0JpTUNBcUlHRXdNeUFySUdJeElDb2dZVEV6SUNzZ1lqSWdLaUJoTWpNZ0t5QmlNeUFxSUdFek16dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlVlpsWXpNZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUIyWldNelh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pSZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6aGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV5WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iT1YwZ0tpQjZJQ3NnZEdocGN5NTJZV3gxWlhOYk1UTmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBcUlIZ2dLeUIwYUdsekxuWmhiSFZsYzFzMlhTQXFJSGtnS3lCMGFHbHpMblpoYkhWbGMxc3hNRjBnS2lCNklDc2dkR2hwY3k1MllXeDFaWE5iTVRSZExGeHlYRzRnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVWbVZqTkNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNMFh6RXVaR1ZtWVhWc2RDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhabFkzUnZjaTUzTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIUm9hWE11ZG1Gc2RXVnpXekJkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pSZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6aGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV5WFNBcUlIYzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZEdocGN5NTJZV3gxWlhOYk1WMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iT1YwZ0tpQjZJQ3NnZEdocGN5NTJZV3gxWlhOYk1UTmRJQ29nZHp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFNBcUlIZ2dLeUIwYUdsekxuWmhiSFZsYzFzMlhTQXFJSGtnS3lCMGFHbHpMblpoYkhWbGMxc3hNRjBnS2lCNklDc2dkR2hwY3k1MllXeDFaWE5iTVRSZElDb2dkenRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCMGFHbHpMblpoYkhWbGMxc3pYU0FxSUhnZ0t5QjBhR2x6TG5aaGJIVmxjMXMzWFNBcUlIa2dLeUIwYUdsekxuWmhiSFZsYzFzeE1WMGdLaUI2SUNzZ2RHaHBjeTUyWVd4MVpYTmJNVFZkSUNvZ2R6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzUwYjAxaGRETWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhRelh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczFYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTmwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6aGRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM1WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UQmRMRnh5WEc0Z0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG5SdlNXNTJaWEp6WlUxaGRETWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01DQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ERWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNQ0E5SUhSb2FYTXVkbUZzZFdWeld6UmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEVnUFNCMGFHbHpMblpoYkhWbGMxczFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJObDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TUNBOUlIUm9hWE11ZG1Gc2RXVnpXemhkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpFZ1BTQjBhR2x6TG5aaGJIVmxjMXM1WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeUlEMGdkR2hwY3k1MllXeDFaWE5iTVRCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdNU0E5SUdFeU1pQXFJR0V4TVNBdElHRXhNaUFxSUdFeU1UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNVEVnUFNBdFlUSXlJQ29nWVRFd0lDc2dZVEV5SUNvZ1lUSXdPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF5TVNBOUlHRXlNU0FxSUdFeE1DQXRJR0V4TVNBcUlHRXlNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwSUQwZ1lUQXdJQ29nWkdWME1ERWdLeUJoTURFZ0tpQmtaWFF4TVNBcklHRXdNaUFxSUdSbGRESXhPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1YwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYUWdQU0F4TGpBZ0x5QmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QnRZWFF6WHpFdVpHVm1ZWFZzZENoYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGREQXhJQ29nWkdWMExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb0xXRXlNaUFxSUdFd01TQXJJR0V3TWlBcUlHRXlNU2tnS2lCa1pYUXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDaGhNVElnS2lCaE1ERWdMU0JoTURJZ0tpQmhNVEVwSUNvZ1pHVjBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWFF4TVNBcUlHUmxkQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdLR0V5TWlBcUlHRXdNQ0F0SUdFd01pQXFJR0V5TUNrZ0tpQmtaWFFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2d0WVRFeUlDb2dZVEF3SUNzZ1lUQXlJQ29nWVRFd0tTQXFJR1JsZEN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWME1qRWdLaUJrWlhRc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNndFlUSXhJQ29nWVRBd0lDc2dZVEF4SUNvZ1lUSXdLU0FxSUdSbGRDeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tHRXhNU0FxSUdFd01DQXRJR0V3TVNBcUlHRXhNQ2tnS2lCa1pYUXNYSEpjYmlBZ0lDQWdJQ0FnWFNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1ZEhKaGJuTnNZWFJsSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV5WFNBclBTQjBhR2x6TG5aaGJIVmxjMXN3WFNBcUlIZ2dLeUIwYUdsekxuWmhiSFZsYzFzMFhTQXFJSGtnS3lCMGFHbHpMblpoYkhWbGMxczRYU0FxSUhvN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVROZElDczlJSFJvYVhNdWRtRnNkV1Z6V3pGZElDb2dlQ0FySUhSb2FYTXVkbUZzZFdWeld6VmRJQ29nZVNBcklIUm9hWE11ZG1Gc2RXVnpXemxkSUNvZ2VqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5GMGdLejBnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iTVRCZElDb2dlanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hOVjBnS3owZ2RHaHBjeTUyWVd4MVpYTmJNMTBnS2lCNElDc2dkR2hwY3k1MllXeDFaWE5iTjEwZ0tpQjVJQ3NnZEdocGN5NTJZV3gxWlhOYk1URmRJQ29nZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNXpZMkZzWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG9nUFNCMlpXTjBiM0l1ZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBcVBTQjRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJQ285SUhnN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ0tqMGdlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0FxUFNCNE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElDbzlJSGs3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS2owZ2VUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQXFQU0I1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUNvOUlIazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9GMGdLajBnZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM1WFNBcVBTQjZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXdYU0FxUFNCNk8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFeFhTQXFQU0I2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERRdWNISnZkRzkwZVhCbExuSnZkR0YwWlNBOUlHWjFibU4wYVc5dUlDaGhibWRzWlN3Z1lYaHBjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ1lYaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ1lYaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ1lYaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJzWlc1bmRHZ2dQU0JOWVhSb0xuTnhjblFvZUNBcUlIZ2dLeUI1SUNvZ2VTQXJJSG9nS2lCNktUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXeGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3hsYm1kMGFDQWhQVDBnTVNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pXNW5kR2dnUFNBeElDOGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNElDbzlJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2VTQXFQU0JzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIb2dLajBnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnY3lBOUlFMWhkR2d1YzJsdUtHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWXlBOUlFMWhkR2d1WTI5ektHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZENBOUlERXVNQ0F0SUdNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01DQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ERWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNeUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEFnUFNCMGFHbHpMblpoYkhWbGMxczBYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJOVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRNZ1BTQjBhR2x6TG5aaGJIVmxjMXMzWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdkR2hwY3k1MllXeDFaWE5iT0YwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3psZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzeE1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNeUE5SUhSb2FYTXVkbUZzZFdWeld6RXhYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2VDQXFJSGdnS2lCMElDc2dZenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF4SUQwZ2VTQXFJSGdnS2lCMElDc2dlaUFxSUhNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01pQTlJSG9nS2lCNElDb2dkQ0F0SUhrZ0tpQnpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNVEFnUFNCNElDb2dlU0FxSUhRZ0xTQjZJQ29nY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeElEMGdlU0FxSUhrZ0tpQjBJQ3NnWXp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeUlEMGdlaUFxSUhrZ0tpQjBJQ3NnZUNBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXlNQ0E5SUhnZ0tpQjZJQ29nZENBcklIa2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTWpFZ1BTQjVJQ29nZWlBcUlIUWdMU0I0SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXlJRDBnZWlBcUlIb2dLaUIwSUNzZ1l6dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR0V3TUNBcUlHSXdNQ0FySUdFeE1DQXFJR0l3TVNBcklHRXlNQ0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJR0V3TVNBcUlHSXdNQ0FySUdFeE1TQXFJR0l3TVNBcklHRXlNU0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJR0V3TWlBcUlHSXdNQ0FySUdFeE1pQXFJR0l3TVNBcklHRXlNaUFxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V3TXlBcUlHSXdNQ0FySUdFeE15QXFJR0l3TVNBcklHRXlNeUFxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMFhTQTlJR0V3TUNBcUlHSXhNQ0FySUdFeE1DQXFJR0l4TVNBcklHRXlNQ0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMVhTQTlJR0V3TVNBcUlHSXhNQ0FySUdFeE1TQXFJR0l4TVNBcklHRXlNU0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQTlJR0V3TWlBcUlHSXhNQ0FySUdFeE1pQXFJR0l4TVNBcklHRXlNaUFxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJR0V3TXlBcUlHSXhNQ0FySUdFeE15QXFJR0l4TVNBcklHRXlNeUFxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTQTlJR0V3TUNBcUlHSXlNQ0FySUdFeE1DQXFJR0l5TVNBcklHRXlNQ0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNVhTQTlJR0V3TVNBcUlHSXlNQ0FySUdFeE1TQXFJR0l5TVNBcklHRXlNU0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1GMGdQU0JoTURJZ0tpQmlNakFnS3lCaE1USWdLaUJpTWpFZ0t5QmhNaklnS2lCaU1qSTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1URmRJRDBnWVRBeklDb2dZakl3SUNzZ1lURXpJQ29nWWpJeElDc2dZVEl6SUNvZ1lqSXlPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Wm5KMWMzUjFiU0E5SUdaMWJtTjBhVzl1SUNoc1pXWjBMQ0J5YVdkb2RDd2dZbTkwZEc5dExDQjBiM0FzSUc1bFlYSXNJR1poY2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeWJDQTlJQ2h5YVdkb2RDQXRJR3hsWm5RcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMFlpQTlJQ2gwYjNBZ0xTQmliM1IwYjIwcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCbWJpQTlJQ2htWVhJZ0xTQnVaV0Z5S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRzFoZERRb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb2JtVmhjaUFxSURJcElDOGdjbXdzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2h1WldGeUlDb2dNaWtnTHlCMFlpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tISnBaMmgwSUNzZ2JHVm1kQ2tnTHlCeWJDeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tIUnZjQ0FySUdKdmRIUnZiU2tnTHlCMFlpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0xTaG1ZWElnS3lCdVpXRnlLU0F2SUdadUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdE1TeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0xTaG1ZWElnS2lCdVpXRnlJQ29nTWlrZ0x5Qm1iaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CbGNuTndaV04wYVhabElEMGdablZ1WTNScGIyNGdLR1p2ZGl3Z1lYTndaV04wTENCdVpXRnlMQ0JtWVhJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2RHOXdJRDBnYm1WaGNpQXFJRTFoZEdndWRHRnVLR1p2ZGlBcUlFMWhkR2d1VUVrZ0x5QXpOakF1TUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKcFoyaDBJRDBnZEc5d0lDb2dZWE53WldOME8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRZWFEwTG1aeWRYTjBkVzBvTFhKcFoyaDBMQ0J5YVdkb2RDd2dMWFJ2Y0N3Z2RHOXdMQ0J1WldGeUxDQm1ZWElwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXViM0owYUc5bmNtRndhR2xqSUQwZ1puVnVZM1JwYjI0Z0tHeGxablFzSUhKcFoyaDBMQ0JpYjNSMGIyMHNJSFJ2Y0N3Z2JtVmhjaXdnWm1GeUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISnNJRDBnS0hKcFoyaDBJQzBnYkdWbWRDazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmlJRDBnS0hSdmNDQXRJR0p2ZEhSdmJTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHWnVJRDBnS0daaGNpQXRJRzVsWVhJcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnYldGME5DaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lESWdMeUJ5YkN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTWlBdklIUmlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXRNaUF2SUdadUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdEtHeGxablFnS3lCeWFXZG9kQ2tnTHlCeWJDeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0xTaDBiM0FnS3lCaWIzUjBiMjBwSUM4Z2RHSXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDMG9abUZ5SUNzZ2JtVmhjaWtnTHlCbWJpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01TeGNjbHh1SUNBZ0lDQWdJQ0JkS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbXh2YjJ0QmRDQTlJR1oxYm1OMGFXOXVJQ2h3YjNOcGRHbHZiaXdnZEdGeVoyVjBMQ0IxY0NrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMWNDQTlQVDBnZG05cFpDQXdLU0I3SUhWd0lEMGdkbVZqTTE4eExtUmxabUYxYkhRdWRYQTdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9jRzl6YVhScGIyNHVaWEYxWVd4ektIUmhjbWRsZENrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhV1JsYm5ScGRIazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RtVmpNMTh4TG1SbFptRjFiSFF1WkdsbVptVnlaVzVqWlNod2IzTnBkR2x2Yml3Z2RHRnlaMlYwS1M1dWIzSnRZV3hwZW1Vb0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWXpOZk1TNWtaV1poZFd4MExtTnliM056S0hWd0xDQjZLUzV1YjNKdFlXeHBlbVVvS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZek5mTVM1a1pXWmhkV3gwTG1OeWIzTnpLSG9zSUhncExtNXZjbTFoYkdsNlpTZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2JXRjBOQ2hiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGd1ZUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZVM1NExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNkxuZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIZ3VlU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlUzU1TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I2TG5rc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhndWVpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2VTNTZMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjZMbm9zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzEyWldNelh6RXVaR1ZtWVhWc2RDNWtiM1FvZUN3Z2NHOXphWFJwYjI0cExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdGRtVmpNMTh4TG1SbFptRjFiSFF1Wkc5MEtIa3NJSEJ2YzJsMGFXOXVLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMWFpsWXpOZk1TNWtaV1poZFd4MExtUnZkQ2g2TENCd2IzTnBkR2x2Ymlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURFc1hISmNiaUFnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTlrZFdOMElEMGdablZ1WTNScGIyNGdLRzB4TENCdE1pd2djbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNQ0E5SUcweExtRjBLREFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURFZ1BTQnRNUzVoZENneEtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnYlRFdVlYUW9NaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TXlBOUlHMHhMbUYwS0RNcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UQWdQU0J0TVM1aGRDZzBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2JURXVZWFFvTlNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJRzB4TG1GMEtEWXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVE1nUFNCdE1TNWhkQ2czS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdiVEV1WVhRb09DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUcweExtRjBLRGtwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpJZ1BTQnRNUzVoZENneE1DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNeUE5SUcweExtRjBLREV4S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNd0lEMGdiVEV1WVhRb01USXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNekVnUFNCdE1TNWhkQ2d4TXlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek1pQTlJRzB4TG1GMEtERTBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE16SUQwZ2JURXVZWFFvTVRVcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1EQWdQU0J0TWk1aGRDZ3dLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF4SUQwZ2JUSXVZWFFvTVNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01pQTlJRzB5TG1GMEtESXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRE1nUFNCdE1pNWhkQ2d6S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFd0lEMGdiVEl1WVhRb05DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUcweUxtRjBLRFVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRJZ1BTQnRNaTVoZENnMktUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXpJRDBnYlRJdVlYUW9OeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TUNBOUlHMHlMbUYwS0RncE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qRWdQU0J0TWk1aGRDZzVLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl5SUQwZ2JUSXVZWFFvTVRBcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qTWdQU0J0TWk1aGRDZ3hNU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l6TUNBOUlHMHlMbUYwS0RFeUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqTXhJRDBnYlRJdVlYUW9NVE1wTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTXpJZ1BTQnRNaTVoZENneE5DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXpNeUE5SUcweUxtRjBLREUxS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXBibWwwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01DQXJJR0l3TVNBcUlHRXhNQ0FySUdJd01pQXFJR0V5TUNBcklHSXdNeUFxSUdFek1DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l3TUNBcUlHRXdNU0FySUdJd01TQXFJR0V4TVNBcklHSXdNaUFxSUdFeU1TQXJJR0l3TXlBcUlHRXpNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TWlBcklHSXdNU0FxSUdFeE1pQXJJR0l3TWlBcUlHRXlNaUFySUdJd015QXFJR0V6TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd015QXJJR0l3TVNBcUlHRXhNeUFySUdJd01pQXFJR0V5TXlBcklHSXdNeUFxSUdFek15eGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l4TUNBcUlHRXdNQ0FySUdJeE1TQXFJR0V4TUNBcklHSXhNaUFxSUdFeU1DQXJJR0l4TXlBcUlHRXpNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TVNBcklHSXhNU0FxSUdFeE1TQXJJR0l4TWlBcUlHRXlNU0FySUdJeE15QXFJR0V6TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01pQXJJR0l4TVNBcUlHRXhNaUFySUdJeE1pQXFJR0V5TWlBcklHSXhNeUFxSUdFek1peGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l4TUNBcUlHRXdNeUFySUdJeE1TQXFJR0V4TXlBcklHSXhNaUFxSUdFeU15QXJJR0l4TXlBcUlHRXpNeXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TUNBcklHSXlNU0FxSUdFeE1DQXJJR0l5TWlBcUlHRXlNQ0FySUdJeU15QXFJR0V6TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01TQXJJR0l5TVNBcUlHRXhNU0FySUdJeU1pQXFJR0V5TVNBcklHSXlNeUFxSUdFek1TeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l5TUNBcUlHRXdNaUFySUdJeU1TQXFJR0V4TWlBcklHSXlNaUFxSUdFeU1pQXJJR0l5TXlBcUlHRXpNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TXlBcklHSXlNU0FxSUdFeE15QXJJR0l5TWlBcUlHRXlNeUFySUdJeU15QXFJR0V6TXl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXpNQ0FxSUdFd01DQXJJR0l6TVNBcUlHRXhNQ0FySUdJek1pQXFJR0V5TUNBcklHSXpNeUFxSUdFek1DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l6TUNBcUlHRXdNU0FySUdJek1TQXFJR0V4TVNBcklHSXpNaUFxSUdFeU1TQXJJR0l6TXlBcUlHRXpNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJek1DQXFJR0V3TWlBcklHSXpNU0FxSUdFeE1pQXJJR0l6TWlBcUlHRXlNaUFySUdJek15QXFJR0V6TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXpNQ0FxSUdFd015QXJJR0l6TVNBcUlHRXhNeUFySUdJek1pQXFJR0V5TXlBcklHSXpNeUFxSUdFek15eGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lHMWhkRFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqQXdJQ29nWVRBd0lDc2dZakF4SUNvZ1lURXdJQ3NnWWpBeUlDb2dZVEl3SUNzZ1lqQXpJQ29nWVRNd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXhJQ3NnWWpBeElDb2dZVEV4SUNzZ1lqQXlJQ29nWVRJeElDc2dZakF6SUNvZ1lUTXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF5SUNzZ1lqQXhJQ29nWVRFeUlDc2dZakF5SUNvZ1lUSXlJQ3NnWWpBeklDb2dZVE15TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqQXdJQ29nWVRBeklDc2dZakF4SUNvZ1lURXpJQ3NnWWpBeUlDb2dZVEl6SUNzZ1lqQXpJQ29nWVRNekxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXdJQ3NnWWpFeElDb2dZVEV3SUNzZ1lqRXlJQ29nWVRJd0lDc2dZakV6SUNvZ1lUTXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF4SUNzZ1lqRXhJQ29nWVRFeElDc2dZakV5SUNvZ1lUSXhJQ3NnWWpFeklDb2dZVE14TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqRXdJQ29nWVRBeUlDc2dZakV4SUNvZ1lURXlJQ3NnWWpFeUlDb2dZVEl5SUNzZ1lqRXpJQ29nWVRNeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXpJQ3NnWWpFeElDb2dZVEV6SUNzZ1lqRXlJQ29nWVRJeklDc2dZakV6SUNvZ1lUTXpMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF3SUNzZ1lqSXhJQ29nWVRFd0lDc2dZakl5SUNvZ1lUSXdJQ3NnWWpJeklDb2dZVE13TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqSXdJQ29nWVRBeElDc2dZakl4SUNvZ1lURXhJQ3NnWWpJeUlDb2dZVEl4SUNzZ1lqSXpJQ29nWVRNeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXlJQ3NnWWpJeElDb2dZVEV5SUNzZ1lqSXlJQ29nWVRJeUlDc2dZakl6SUNvZ1lUTXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF6SUNzZ1lqSXhJQ29nWVRFeklDc2dZakl5SUNvZ1lUSXpJQ3NnWWpJeklDb2dZVE16TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqTXdJQ29nWVRBd0lDc2dZak14SUNvZ1lURXdJQ3NnWWpNeUlDb2dZVEl3SUNzZ1lqTXpJQ29nWVRNd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZak13SUNvZ1lUQXhJQ3NnWWpNeElDb2dZVEV4SUNzZ1lqTXlJQ29nWVRJeElDc2dZak16SUNvZ1lUTXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpNd0lDb2dZVEF5SUNzZ1lqTXhJQ29nWVRFeUlDc2dZak15SUNvZ1lUSXlJQ3NnWWpNeklDb2dZVE15TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqTXdJQ29nWVRBeklDc2dZak14SUNvZ1lURXpJQ3NnWWpNeUlDb2dZVEl6SUNzZ1lqTXpJQ29nWVRNekxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXBaR1Z1ZEdsMGVTQTlJRzVsZHlCdFlYUTBLQ2t1YzJWMFNXUmxiblJwZEhrb0tUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdFlYUTBPMXh5WEc1OUtDa3BPMXh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCdFlYUTBPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMXRZWFEwTG1wekxtMWhjQ0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQ0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvcXVhdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvcXVhdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBtYXQzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQzLmpzXFxcIik7XFxyXFxudmFyIG1hdDRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbWF0NCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDQuanNcXFwiKTtcXHJcXG52YXIgdmVjM18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMy5qc1xcXCIpO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIHF1YXQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIHF1YXQodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoNCk7XFxyXFxuICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnh5encgPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwielxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwid1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocXVhdC5wcm90b3R5cGUsIFxcXCJ4eXpcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieHl6d1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB2YWx1ZXNbM107XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSA9IDA7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRlc3QudmFsdWVzW2ldID0gdGhpcy52YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUucm9sbCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHkgPSB0aGlzLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHRoaXMuejtcXHJcXG4gICAgICAgIHZhciB3ID0gdGhpcy53O1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguYXRhbjIoMi4wICogKHggKiB5ICsgdyAqIHopLCB3ICogdyArIHggKiB4IC0geSAqIHkgLSB6ICogeik7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLnBpdGNoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5hdGFuMigyLjAgKiAoeSAqIHogKyB3ICogeCksIHcgKiB3IC0geCAqIHggLSB5ICogeSArIHogKiB6KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUueWF3ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguYXNpbigyLjAgKiAodGhpcy54ICogdGhpcy56IC0gdGhpcy53ICogdGhpcy55KSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uICh2ZWN0b3IsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMudmFsdWVzW2ldIC0gdmVjdG9yLmF0KGkpKSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHRydWU7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLnNldElkZW50aXR5ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy54ID0gMDtcXHJcXG4gICAgICAgIHRoaXMueSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnogPSAwO1xcclxcbiAgICAgICAgdGhpcy53ID0gMTtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS5jYWxjdWxhdGVXID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdGhpcy53ID0gLShNYXRoLnNxcnQoTWF0aC5hYnMoMS4wIC0geCAqIHggLSB5ICogeSAtIHogKiB6KSkpO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmludmVyc2UgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgZG90ID0gcXVhdC5kb3QodGhpcywgdGhpcyk7XFxyXFxuICAgICAgICBpZiAoIWRvdCkge1xcclxcbiAgICAgICAgICAgIHRoaXMueHl6dyA9IFswLCAwLCAwLCAwXTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBpbnZEb3QgPSBkb3QgPyAxLjAgLyBkb3QgOiAwO1xcclxcbiAgICAgICAgdGhpcy54ICo9IC1pbnZEb3Q7XFxyXFxuICAgICAgICB0aGlzLnkgKj0gLWludkRvdDtcXHJcXG4gICAgICAgIHRoaXMueiAqPSAtaW52RG90O1xcclxcbiAgICAgICAgdGhpcy53ICo9IGludkRvdDtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSAqPSAtMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdICo9IC0xO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gKj0gLTE7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUubGVuZ3RoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeiArIHcgKiB3KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUubm9ybWFsaXplID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSB0aGlzO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeiArIHcgKiB3KTtcXHJcXG4gICAgICAgIGlmICghbGVuZ3RoKSB7XFxyXFxuICAgICAgICAgICAgZGVzdC54ID0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnkgPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueiA9IDA7XFxyXFxuICAgICAgICAgICAgZGVzdC53ID0gMDtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxlbmd0aCA9IDEgLyBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnggPSB4ICogbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC55ID0geSAqIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueiA9IHogKiBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LncgPSB3ICogbGVuZ3RoO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIChvdGhlcikge1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSArPSBvdGhlci5hdChpKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS5tdWx0aXBseSA9IGZ1bmN0aW9uIChvdGhlcikge1xcclxcbiAgICAgICAgdmFyIHExeCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIHExeSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIHExeiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIHExdyA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIHEyeCA9IG90aGVyLng7XFxyXFxuICAgICAgICB2YXIgcTJ5ID0gb3RoZXIueTtcXHJcXG4gICAgICAgIHZhciBxMnogPSBvdGhlci56O1xcclxcbiAgICAgICAgdmFyIHEydyA9IG90aGVyLnc7XFxyXFxuICAgICAgICB0aGlzLnggPSBxMXggKiBxMncgKyBxMXcgKiBxMnggKyBxMXkgKiBxMnogLSBxMXogKiBxMnk7XFxyXFxuICAgICAgICB0aGlzLnkgPSBxMXkgKiBxMncgKyBxMXcgKiBxMnkgKyBxMXogKiBxMnggLSBxMXggKiBxMno7XFxyXFxuICAgICAgICB0aGlzLnogPSBxMXogKiBxMncgKyBxMXcgKiBxMnogKyBxMXggKiBxMnkgLSBxMXkgKiBxMng7XFxyXFxuICAgICAgICB0aGlzLncgPSBxMXcgKiBxMncgLSBxMXggKiBxMnggLSBxMXkgKiBxMnkgLSBxMXogKiBxMno7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUubXVsdGlwbHlWZWMzID0gZnVuY3Rpb24gKHZlY3RvciwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzXzEuZGVmYXVsdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3Rvci56O1xcclxcbiAgICAgICAgdmFyIHF4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHF5ID0gdGhpcy55O1xcclxcbiAgICAgICAgdmFyIHF6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHF3ID0gdGhpcy53O1xcclxcbiAgICAgICAgdmFyIGl4ID0gcXcgKiB4ICsgcXkgKiB6IC0gcXogKiB5O1xcclxcbiAgICAgICAgdmFyIGl5ID0gcXcgKiB5ICsgcXogKiB4IC0gcXggKiB6O1xcclxcbiAgICAgICAgdmFyIGl6ID0gcXcgKiB6ICsgcXggKiB5IC0gcXkgKiB4O1xcclxcbiAgICAgICAgdmFyIGl3ID0gLXF4ICogeCAtIHF5ICogeSAtIHF6ICogejtcXHJcXG4gICAgICAgIGRlc3QueCA9IGl4ICogcXcgKyBpdyAqIC1xeCArIGl5ICogLXF6IC0gaXogKiAtcXk7XFxyXFxuICAgICAgICBkZXN0LnkgPSBpeSAqIHF3ICsgaXcgKiAtcXkgKyBpeiAqIC1xeCAtIGl4ICogLXF6O1xcclxcbiAgICAgICAgZGVzdC56ID0gaXogKiBxdyArIGl3ICogLXF6ICsgaXggKiAtcXkgLSBpeSAqIC1xeDtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS50b01hdDMgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBtYXQzXzEuZGVmYXVsdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICB2YXIgeDIgPSB4ICsgeDtcXHJcXG4gICAgICAgIHZhciB5MiA9IHkgKyB5O1xcclxcbiAgICAgICAgdmFyIHoyID0geiArIHo7XFxyXFxuICAgICAgICB2YXIgeHggPSB4ICogeDI7XFxyXFxuICAgICAgICB2YXIgeHkgPSB4ICogeTI7XFxyXFxuICAgICAgICB2YXIgeHogPSB4ICogejI7XFxyXFxuICAgICAgICB2YXIgeXkgPSB5ICogeTI7XFxyXFxuICAgICAgICB2YXIgeXogPSB5ICogejI7XFxyXFxuICAgICAgICB2YXIgenogPSB6ICogejI7XFxyXFxuICAgICAgICB2YXIgd3ggPSB3ICogeDI7XFxyXFxuICAgICAgICB2YXIgd3kgPSB3ICogeTI7XFxyXFxuICAgICAgICB2YXIgd3ogPSB3ICogejI7XFxyXFxuICAgICAgICBkZXN0LmluaXQoW1xcclxcbiAgICAgICAgICAgIDEgLSAoeXkgKyB6eiksXFxyXFxuICAgICAgICAgICAgeHkgKyB3eixcXHJcXG4gICAgICAgICAgICB4eiAtIHd5LFxcclxcbiAgICAgICAgICAgIHh5IC0gd3osXFxyXFxuICAgICAgICAgICAgMSAtICh4eCArIHp6KSxcXHJcXG4gICAgICAgICAgICB5eiArIHd4LFxcclxcbiAgICAgICAgICAgIHh6ICsgd3ksXFxyXFxuICAgICAgICAgICAgeXogLSB3eCxcXHJcXG4gICAgICAgICAgICAxIC0gKHh4ICsgeXkpLFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUudG9NYXQ0ID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgbWF0NF8xLmRlZmF1bHQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHkgPSB0aGlzLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHRoaXMuejtcXHJcXG4gICAgICAgIHZhciB3ID0gdGhpcy53O1xcclxcbiAgICAgICAgdmFyIHgyID0geCArIHg7XFxyXFxuICAgICAgICB2YXIgeTIgPSB5ICsgeTtcXHJcXG4gICAgICAgIHZhciB6MiA9IHogKyB6O1xcclxcbiAgICAgICAgdmFyIHh4ID0geCAqIHgyO1xcclxcbiAgICAgICAgdmFyIHh5ID0geCAqIHkyO1xcclxcbiAgICAgICAgdmFyIHh6ID0geCAqIHoyO1xcclxcbiAgICAgICAgdmFyIHl5ID0geSAqIHkyO1xcclxcbiAgICAgICAgdmFyIHl6ID0geSAqIHoyO1xcclxcbiAgICAgICAgdmFyIHp6ID0geiAqIHoyO1xcclxcbiAgICAgICAgdmFyIHd4ID0gdyAqIHgyO1xcclxcbiAgICAgICAgdmFyIHd5ID0gdyAqIHkyO1xcclxcbiAgICAgICAgdmFyIHd6ID0gdyAqIHoyO1xcclxcbiAgICAgICAgZGVzdC5pbml0KFtcXHJcXG4gICAgICAgICAgICAxIC0gKHl5ICsgenopLFxcclxcbiAgICAgICAgICAgIHh5ICsgd3osXFxyXFxuICAgICAgICAgICAgeHogLSB3eSxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIHh5IC0gd3osXFxyXFxuICAgICAgICAgICAgMSAtICh4eCArIHp6KSxcXHJcXG4gICAgICAgICAgICB5eiArIHd4LFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgeHogKyB3eSxcXHJcXG4gICAgICAgICAgICB5eiAtIHd4LFxcclxcbiAgICAgICAgICAgIDEgLSAoeHggKyB5eSksXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAxLFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5kb3QgPSBmdW5jdGlvbiAocTEsIHEyKSB7XFxyXFxuICAgICAgICByZXR1cm4gcTEueCAqIHEyLnggKyBxMS55ICogcTIueSArIHExLnogKiBxMi56ICsgcTEudyAqIHEyLnc7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQuc3VtID0gZnVuY3Rpb24gKHExLCBxMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSBxMS54ICsgcTIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHExLnkgKyBxMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gcTEueiArIHEyLno7XFxyXFxuICAgICAgICBkZXN0LncgPSBxMS53ICsgcTIudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb2R1Y3QgPSBmdW5jdGlvbiAocTEsIHEyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHF1YXQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBxMXggPSBxMS54O1xcclxcbiAgICAgICAgdmFyIHExeSA9IHExLnk7XFxyXFxuICAgICAgICB2YXIgcTF6ID0gcTEuejtcXHJcXG4gICAgICAgIHZhciBxMXcgPSBxMS53O1xcclxcbiAgICAgICAgdmFyIHEyeCA9IHEyLng7XFxyXFxuICAgICAgICB2YXIgcTJ5ID0gcTIueTtcXHJcXG4gICAgICAgIHZhciBxMnogPSBxMi56O1xcclxcbiAgICAgICAgdmFyIHEydyA9IHEyLnc7XFxyXFxuICAgICAgICBkZXN0LnggPSBxMXggKiBxMncgKyBxMXcgKiBxMnggKyBxMXkgKiBxMnogLSBxMXogKiBxMnk7XFxyXFxuICAgICAgICBkZXN0LnkgPSBxMXkgKiBxMncgKyBxMXcgKiBxMnkgKyBxMXogKiBxMnggLSBxMXggKiBxMno7XFxyXFxuICAgICAgICBkZXN0LnogPSBxMXogKiBxMncgKyBxMXcgKiBxMnogKyBxMXggKiBxMnkgLSBxMXkgKiBxMng7XFxyXFxuICAgICAgICBkZXN0LncgPSBxMXcgKiBxMncgLSBxMXggKiBxMnggLSBxMXkgKiBxMnkgLSBxMXogKiBxMno7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5jcm9zcyA9IGZ1bmN0aW9uIChxMSwgcTIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgcXVhdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHExeCA9IHExLng7XFxyXFxuICAgICAgICB2YXIgcTF5ID0gcTEueTtcXHJcXG4gICAgICAgIHZhciBxMXogPSBxMS56O1xcclxcbiAgICAgICAgdmFyIHExdyA9IHExLnc7XFxyXFxuICAgICAgICB2YXIgcTJ4ID0gcTIueDtcXHJcXG4gICAgICAgIHZhciBxMnkgPSBxMi55O1xcclxcbiAgICAgICAgdmFyIHEyeiA9IHEyLno7XFxyXFxuICAgICAgICB2YXIgcTJ3ID0gcTIudztcXHJcXG4gICAgICAgIGRlc3QueCA9IHExdyAqIHEyeiArIHExeiAqIHEydyArIHExeCAqIHEyeSAtIHExeSAqIHEyeDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHExdyAqIHEydyAtIHExeCAqIHEyeCAtIHExeSAqIHEyeSAtIHExeiAqIHEyejtcXHJcXG4gICAgICAgIGRlc3QueiA9IHExdyAqIHEyeCArIHExeCAqIHEydyArIHExeSAqIHEyeiAtIHExeiAqIHEyeTtcXHJcXG4gICAgICAgIGRlc3QudyA9IHExdyAqIHEyeSArIHExeSAqIHEydyArIHExeiAqIHEyeCAtIHExeCAqIHEyejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnNob3J0TWl4ID0gZnVuY3Rpb24gKHExLCBxMiwgdGltZSwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAodGltZSA8PSAwLjApIHtcXHJcXG4gICAgICAgICAgICBkZXN0Lnh5encgPSBxMS54eXp3O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGltZSA+PSAxLjApIHtcXHJcXG4gICAgICAgICAgICBkZXN0Lnh5encgPSBxMi54eXp3O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIGNvcyA9IHF1YXQuZG90KHExLCBxMik7XFxyXFxuICAgICAgICB2YXIgcTJhID0gcTIuY29weSgpO1xcclxcbiAgICAgICAgaWYgKGNvcyA8IDAuMCkge1xcclxcbiAgICAgICAgICAgIHEyYS5pbnZlcnNlKCk7XFxyXFxuICAgICAgICAgICAgY29zID0gLWNvcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBrMDtcXHJcXG4gICAgICAgIHZhciBrMTtcXHJcXG4gICAgICAgIGlmIChjb3MgPiAwLjk5OTkpIHtcXHJcXG4gICAgICAgICAgICBrMCA9IDEgLSB0aW1lO1xcclxcbiAgICAgICAgICAgIGsxID0gMCArIHRpbWU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICB2YXIgc2luID0gTWF0aC5zcXJ0KDEgLSBjb3MgKiBjb3MpO1xcclxcbiAgICAgICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoc2luLCBjb3MpO1xcclxcbiAgICAgICAgICAgIHZhciBvbmVPdmVyU2luID0gMSAvIHNpbjtcXHJcXG4gICAgICAgICAgICBrMCA9IE1hdGguc2luKCgxIC0gdGltZSkgKiBhbmdsZSkgKiBvbmVPdmVyU2luO1xcclxcbiAgICAgICAgICAgIGsxID0gTWF0aC5zaW4oKDAgKyB0aW1lKSAqIGFuZ2xlKSAqIG9uZU92ZXJTaW47XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSBrMCAqIHExLnggKyBrMSAqIHEyYS54O1xcclxcbiAgICAgICAgZGVzdC55ID0gazAgKiBxMS55ICsgazEgKiBxMmEueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IGswICogcTEueiArIGsxICogcTJhLno7XFxyXFxuICAgICAgICBkZXN0LncgPSBrMCAqIHExLncgKyBrMSAqIHEyYS53O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQubWl4ID0gZnVuY3Rpb24gKHExLCBxMiwgdGltZSwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgY29zSGFsZlRoZXRhID0gcTEueCAqIHEyLnggKyBxMS55ICogcTIueSArIHExLnogKiBxMi56ICsgcTEudyAqIHEyLnc7XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnMoY29zSGFsZlRoZXRhKSA+PSAxLjApIHtcXHJcXG4gICAgICAgICAgICBkZXN0Lnh5encgPSBxMS54eXp3O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIGhhbGZUaGV0YSA9IE1hdGguYWNvcyhjb3NIYWxmVGhldGEpO1xcclxcbiAgICAgICAgdmFyIHNpbkhhbGZUaGV0YSA9IE1hdGguc3FydCgxLjAgLSBjb3NIYWxmVGhldGEgKiBjb3NIYWxmVGhldGEpO1xcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHNpbkhhbGZUaGV0YSkgPCAwLjAwMSkge1xcclxcbiAgICAgICAgICAgIGRlc3QueCA9IHExLnggKiAwLjUgKyBxMi54ICogMC41O1xcclxcbiAgICAgICAgICAgIGRlc3QueSA9IHExLnkgKiAwLjUgKyBxMi55ICogMC41O1xcclxcbiAgICAgICAgICAgIGRlc3QueiA9IHExLnogKiAwLjUgKyBxMi56ICogMC41O1xcclxcbiAgICAgICAgICAgIGRlc3QudyA9IHExLncgKiAwLjUgKyBxMi53ICogMC41O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHJhdGlvQSA9IE1hdGguc2luKCgxIC0gdGltZSkgKiBoYWxmVGhldGEpIC8gc2luSGFsZlRoZXRhO1xcclxcbiAgICAgICAgdmFyIHJhdGlvQiA9IE1hdGguc2luKHRpbWUgKiBoYWxmVGhldGEpIC8gc2luSGFsZlRoZXRhO1xcclxcbiAgICAgICAgZGVzdC54ID0gcTEueCAqIHJhdGlvQSArIHEyLnggKiByYXRpb0I7XFxyXFxuICAgICAgICBkZXN0LnkgPSBxMS55ICogcmF0aW9BICsgcTIueSAqIHJhdGlvQjtcXHJcXG4gICAgICAgIGRlc3QueiA9IHExLnogKiByYXRpb0EgKyBxMi56ICogcmF0aW9CO1xcclxcbiAgICAgICAgZGVzdC53ID0gcTEudyAqIHJhdGlvQSArIHEyLncgKiByYXRpb0I7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5mcm9tQXhpc0FuZ2xlID0gZnVuY3Rpb24gKGF4aXMsIGFuZ2xlLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHF1YXQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGFuZ2xlICo9IDAuNTtcXHJcXG4gICAgICAgIHZhciBzaW4gPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICBkZXN0LnggPSBheGlzLnggKiBzaW47XFxyXFxuICAgICAgICBkZXN0LnkgPSBheGlzLnkgKiBzaW47XFxyXFxuICAgICAgICBkZXN0LnogPSBheGlzLnogKiBzaW47XFxyXFxuICAgICAgICBkZXN0LncgPSBNYXRoLmNvcyhhbmdsZSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5pZGVudGl0eSA9IG5ldyBxdWF0KCkuc2V0SWRlbnRpdHkoKTtcXHJcXG4gICAgcmV0dXJuIHF1YXQ7XFxyXFxufSgpKTtcXHJcXG5leHBvcnRzLmRlZmF1bHQgPSBxdWF0O1xcclxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXF1YXQuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2Y1hWaGRDNXFjejgxWXpCaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPMEZCUTJJc09FTkJRVGhETEdOQlFXTTdRVUZETlVRc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHRkJRV0VzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVNM1FpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2VVUkJRVkU3UVVGRE4wSXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNiVVZCUVdFN1FVRkRka003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF5eHBRMEZCYVVNN1FVRkRjRVVzZFVKQlFYVkNMRTlCUVU4N1FVRkRPVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXhkV0YwTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUcxaGRETmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyMWhkRE5jSWlrN1hISmNiblpoY2lCdFlYUTBYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOXRZWFEwWENJcE8xeHlYRzUyWVhJZ2RtVmpNMTh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZkbVZqTTF3aUtUdGNjbHh1ZG1GeUlHTnZibk4wWVc1MGMxOHhJRDBnY21WeGRXbHlaU2hjSWk0dlkyOXVjM1JoYm5SelhDSXBPMXh5WEc1MllYSWdjWFZoZENBOUlDOHFLaUJBWTJ4aGMzTWdLaThnS0daMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlIRjFZWFFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gyWVd4MVpYTWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbmg1ZW5jZ1BTQjJZV3gxWlhNN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5oY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmxjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIRjFZWFF1Y0hKdmRHOTBlWEJsTENCY0lucGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5kY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmg1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5oNWVsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoeGRXRjBMbkJ5YjNSdmRIbHdaU3dnWENKNGVYcDNYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnZG1Gc2RXVnpXekJkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ1BTQjJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RtRnNkV1Z6V3pOZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdVlYUWdQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYmFXNWtaWGhkTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbkpsYzJWMElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dORHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmxkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnY1hWaGRDNXdjbTkwYjNSNWNHVXVZMjl3ZVNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnY1hWaGRDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRFE3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wTG5aaGJIVmxjMXRwWFNBOUlIUm9hWE11ZG1Gc2RXVnpXMmxkTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzV5YjJ4c0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbUYwWVc0eUtESXVNQ0FxSUNoNElDb2dlU0FySUhjZ0tpQjZLU3dnZHlBcUlIY2dLeUI0SUNvZ2VDQXRJSGtnS2lCNUlDMGdlaUFxSUhvcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG5CcGRHTm9JRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkR2hwY3k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNklEMGdkR2hwY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCM0lEMGdkR2hwY3k1M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk5ZWFJvTG1GMFlXNHlLREl1TUNBcUlDaDVJQ29nZWlBcklIY2dLaUI0S1N3Z2R5QXFJSGNnTFNCNElDb2dlQ0F0SUhrZ0tpQjVJQ3NnZWlBcUlIb3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExubGhkeUE5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1aGMybHVLREl1TUNBcUlDaDBhR2x6TG5nZ0tpQjBhR2x6TG5vZ0xTQjBhR2x6TG5jZ0tpQjBhR2x6TG5rcEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5CeWIzUnZkSGx3WlM1bGNYVmhiSE1nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEMDlQU0IyYjJsa0lEQXBJSHNnZEdoeVpYTm9iMnhrSUQwZ1kyOXVjM1JoYm5Selh6RXVaWEJ6YVd4dmJqc2dmVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5aaGJIVmxjMXRwWFNBdElIWmxZM1J2Y2k1aGRDaHBLU2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzV6WlhSSlpHVnVkR2wwZVNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU2SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuY2dQU0F4TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExtTmhiR04xYkdGMFpWY2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjBhR2x6TG5vN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1M0lEMGdMU2hOWVhSb0xuTnhjblFvVFdGMGFDNWhZbk1vTVM0d0lDMGdlQ0FxSUhnZ0xTQjVJQ29nZVNBdElIb2dLaUI2S1NrcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbWx1ZG1WeWMyVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSdmRDQTlJSEYxWVhRdVpHOTBLSFJvYVhNc0lIUm9hWE1wTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkc5MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZUhsNmR5QTlJRnN3TENBd0xDQXdMQ0F3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBiblpFYjNRZ1BTQmtiM1FnUHlBeExqQWdMeUJrYjNRZ09pQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0FxUFNBdGFXNTJSRzkwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBcVBTQXRhVzUyUkc5ME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVpQXFQU0F0YVc1MlJHOTBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkeUFxUFNCcGJuWkViM1E3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdVkyOXVhblZuWVhSbElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUNvOUlDMHhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJQ285SUMweE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElDbzlJQzB4TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExteGxibWQwYUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhSb2FYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hnZ0tpQjRJQ3NnZVNBcUlIa2dLeUI2SUNvZ2VpQXJJSGNnS2lCM0tUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5CeWIzUnZkSGx3WlM1dWIzSnRZV3hwZW1VZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IwYUdsekxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IwYUdsekxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IwYUdsekxubzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuYzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHeGxibWQwYUNBOUlFMWhkR2d1YzNGeWRDaDRJQ29nZUNBcklIa2dLaUI1SUNzZ2VpQXFJSG9nS3lCM0lDb2dkeWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR3hsYm1kMGFDQTlJREVnTHlCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2VDQXFJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0I1SUNvZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIb2dLaUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJRDBnZHlBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlBb2IzUm9aWElwSUh0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRFE3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwWFNBclBTQnZkR2hsY2k1aGRDaHBLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnY1hWaGRDNXdjbTkwYjNSNWNHVXViWFZzZEdsd2JIa2dQU0JtZFc1amRHbHZiaUFvYjNSb1pYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjVEY0SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV4ZVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhvZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnY1RGM0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVDQTlJRzkwYUdWeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllU0E5SUc5MGFHVnlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV5ZWlBOUlHOTBhR1Z5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWR5QTlJRzkwYUdWeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJRDBnY1RGNElDb2djVEozSUNzZ2NURjNJQ29nY1RKNElDc2djVEY1SUNvZ2NUSjZJQzBnY1RGNklDb2djVEo1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBOUlIRXhlU0FxSUhFeWR5QXJJSEV4ZHlBcUlIRXllU0FySUhFeGVpQXFJSEV5ZUNBdElIRXhlQ0FxSUhFeWVqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxub2dQU0J4TVhvZ0tpQnhNbmNnS3lCeE1YY2dLaUJ4TW5vZ0t5QnhNWGdnS2lCeE1ua2dMU0J4TVhrZ0tpQnhNbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUzSUQwZ2NURjNJQ29nY1RKM0lDMGdjVEY0SUNvZ2NUSjRJQzBnY1RGNUlDb2djVEo1SUMwZ2NURjZJQ29nY1RKNk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVWbVZqTXlBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNelh6RXVaR1ZtWVhWc2RDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjWGdnUFNCMGFHbHpMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEY1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4ZWlBOUlIUm9hWE11ZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnY1hjZ1BTQjBhR2x6TG5jN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdsNElEMGdjWGNnS2lCNElDc2djWGtnS2lCNklDMGdjWG9nS2lCNU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcGVTQTlJSEYzSUNvZ2VTQXJJSEY2SUNvZ2VDQXRJSEY0SUNvZ2VqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FYb2dQU0J4ZHlBcUlIb2dLeUJ4ZUNBcUlIa2dMU0J4ZVNBcUlIZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHbDNJRDBnTFhGNElDb2dlQ0F0SUhGNUlDb2dlU0F0SUhGNklDb2dlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCcGVDQXFJSEYzSUNzZ2FYY2dLaUF0Y1hnZ0t5QnBlU0FxSUMxeGVpQXRJR2w2SUNvZ0xYRjVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUdsNUlDb2djWGNnS3lCcGR5QXFJQzF4ZVNBcklHbDZJQ29nTFhGNElDMGdhWGdnS2lBdGNYbzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnYVhvZ0tpQnhkeUFySUdsM0lDb2dMWEY2SUNzZ2FYZ2dLaUF0Y1hrZ0xTQnBlU0FxSUMxeGVEdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzUwYjAxaGRETWdQU0JtZFc1amRHbHZiaUFvWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lHMWhkRE5mTVM1a1pXWmhkV3gwS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZEdocGN5NTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRNaUE5SUhnZ0t5QjRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVNaUE5SUhrZ0t5QjVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZNaUE5SUhvZ0t5QjZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRlQ0E5SUhnZ0tpQjRNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlSGtnUFNCNElDb2dlVEk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGg2SUQwZ2VDQXFJSG95TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1ZVNBOUlIa2dLaUI1TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVhvZ1BTQjVJQ29nZWpJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhwNklEMGdlaUFxSUhveU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCM2VDQTlJSGNnS2lCNE1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2Qza2dQU0IzSUNvZ2VUSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZDZJRDBnZHlBcUlIb3lPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVhVzVwZENoYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSURFZ0xTQW9lWGtnS3lCNmVpa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIaDVJQ3NnZDNvc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhoNklDMGdkM2tzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGg1SUMwZ2Qzb3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lERWdMU0FvZUhnZ0t5QjZlaWtzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGw2SUNzZ2QzZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIaDZJQ3NnZDNrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhsNklDMGdkM2dzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREVnTFNBb2VIZ2dLeUI1ZVNrc1hISmNiaUFnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdWRHOU5ZWFEwSUQwZ1puVnVZM1JwYjI0Z0tHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUJ0WVhRMFh6RXVaR1ZtWVhWc2RDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE11ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIUm9hWE11ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIUm9hWE11ZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZURJZ1BTQjRJQ3NnZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVRJZ1BTQjVJQ3NnZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWpJZ1BTQjZJQ3NnZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUhnZ1BTQjRJQ29nZURJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhoNUlEMGdlQ0FxSUhreU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNGVpQTlJSGdnS2lCNk1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VYa2dQU0I1SUNvZ2VUSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIbDZJRDBnZVNBcUlIb3lPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZlaUE5SUhvZ0tpQjZNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkM2dnUFNCM0lDb2dlREk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGQ1SUQwZ2R5QXFJSGt5TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzZWlBOUlIY2dLaUI2TWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG1sdWFYUW9XMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhJQzBnS0hsNUlDc2dlbm9wTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0ZVNBcklIZDZMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRlaUF0SUhkNUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNGVTQXRJSGQ2TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F4SUMwZ0tIaDRJQ3NnZW5vcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNWVpQXJJSGQ0TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0ZWlBcklIZDVMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjVlaUF0SUhkNExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBeElDMGdLSGg0SUNzZ2VYa3BMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhMRnh5WEc0Z0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVaRzkwSUQwZ1puVnVZM1JwYjI0Z0tIRXhMQ0J4TWlrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnhNUzU0SUNvZ2NUSXVlQ0FySUhFeExua2dLaUJ4TWk1NUlDc2djVEV1ZWlBcUlIRXlMbm9nS3lCeE1TNTNJQ29nY1RJdWR6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2h4TVN3Z2NUSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCeGRXRjBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSEV4TG5nZ0t5QnhNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIRXhMbmtnS3lCeE1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhFeExub2dLeUJ4TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSEV4TG5jZ0t5QnhNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZaSFZqZENBOUlHWjFibU4wYVc5dUlDaHhNU3dnY1RJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUJ4ZFdGMEtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhnZ1BTQnhNUzU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhrZ1BTQnhNUzU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhvZ1BTQnhNUzU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhjZ1BTQnhNUzUzTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5nZ1BTQnhNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5rZ1BTQnhNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5vZ1BTQnhNaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5jZ1BTQnhNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIRXhlQ0FxSUhFeWR5QXJJSEV4ZHlBcUlIRXllQ0FySUhFeGVTQXFJSEV5ZWlBdElIRXhlaUFxSUhFeWVUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0J4TVhrZ0tpQnhNbmNnS3lCeE1YY2dLaUJ4TW5rZ0t5QnhNWG9nS2lCeE1uZ2dMU0J4TVhnZ0tpQnhNbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2NURjZJQ29nY1RKM0lDc2djVEYzSUNvZ2NUSjZJQ3NnY1RGNElDb2djVEo1SUMwZ2NURjVJQ29nY1RKNE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSEV4ZHlBcUlIRXlkeUF0SUhFeGVDQXFJSEV5ZUNBdElIRXhlU0FxSUhFeWVTQXRJSEV4ZWlBcUlIRXllanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG1OeWIzTnpJRDBnWm5WdVkzUnBiMjRnS0hFeExDQnhNaXdnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIRjFZWFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlQ0E5SUhFeExuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlU0E5SUhFeExuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlaUE5SUhFeExubzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhkeUE5SUhFeExuYzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllQ0E5SUhFeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllU0E5SUhFeUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllaUE5SUhFeUxubzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXlkeUE5SUhFeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnY1RGM0lDb2djVEo2SUNzZ2NURjZJQ29nY1RKM0lDc2djVEY0SUNvZ2NUSjVJQzBnY1RGNUlDb2djVEo0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIRXhkeUFxSUhFeWR5QXRJSEV4ZUNBcUlIRXllQ0F0SUhFeGVTQXFJSEV5ZVNBdElIRXhlaUFxSUhFeWVqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dQU0J4TVhjZ0tpQnhNbmdnS3lCeE1YZ2dLaUJ4TW5jZ0t5QnhNWGtnS2lCeE1ub2dMU0J4TVhvZ0tpQnhNbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2NURjNJQ29nY1RKNUlDc2djVEY1SUNvZ2NUSjNJQ3NnY1RGNklDb2djVEo0SUMwZ2NURjRJQ29nY1RKNk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjMmh2Y25STmFYZ2dQU0JtZFc1amRHbHZiaUFvY1RFc0lIRXlMQ0IwYVcxbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnY1hWaGRDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdsdFpTQThQU0F3TGpBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU0ZVhwM0lEMGdjVEV1ZUhsNmR6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tIUnBiV1VnUGowZ01TNHdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVIbDZkeUE5SUhFeUxuaDVlbmM3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1kyOXpJRDBnY1hWaGRDNWtiM1FvY1RFc0lIRXlLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjVEpoSUQwZ2NUSXVZMjl3ZVNncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoamIzTWdQQ0F3TGpBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NUSmhMbWx1ZG1WeWMyVW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl6SUQwZ0xXTnZjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUdzd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCck1UdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1kyOXpJRDRnTUM0NU9UazVLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR3N3SUQwZ01TQXRJSFJwYldVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdzeElEMGdNQ0FySUhScGJXVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2MybHVJRDBnVFdGMGFDNXpjWEowS0RFZ0xTQmpiM01nS2lCamIzTXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnWVc1bmJHVWdQU0JOWVhSb0xtRjBZVzR5S0hOcGJpd2dZMjl6S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHOXVaVTkyWlhKVGFXNGdQU0F4SUM4Z2MybHVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJNQ0E5SUUxaGRHZ3VjMmx1S0NneElDMGdkR2x0WlNrZ0tpQmhibWRzWlNrZ0tpQnZibVZQZG1WeVUybHVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJNU0E5SUUxaGRHZ3VjMmx1S0Nnd0lDc2dkR2x0WlNrZ0tpQmhibWRzWlNrZ0tpQnZibVZQZG1WeVUybHVPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQnJNQ0FxSUhFeExuZ2dLeUJyTVNBcUlIRXlZUzU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlHc3dJQ29nY1RFdWVTQXJJR3N4SUNvZ2NUSmhMbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2F6QWdLaUJ4TVM1NklDc2dhekVnS2lCeE1tRXVlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCck1DQXFJSEV4TG5jZ0t5QnJNU0FxSUhFeVlTNTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1YldsNElEMGdablZ1WTNScGIyNGdLSEV4TENCeE1pd2dkR2x0WlN3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSEYxWVhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR052YzBoaGJHWlVhR1YwWVNBOUlIRXhMbmdnS2lCeE1pNTRJQ3NnY1RFdWVTQXFJSEV5TG5rZ0t5QnhNUzU2SUNvZ2NUSXVlaUFySUhFeExuY2dLaUJ4TWk1M08xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loamIzTklZV3htVkdobGRHRXBJRDQ5SURFdU1Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wTG5oNWVuY2dQU0J4TVM1NGVYcDNPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUdoaGJHWlVhR1YwWVNBOUlFMWhkR2d1WVdOdmN5aGpiM05JWVd4bVZHaGxkR0VwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ6YVc1SVlXeG1WR2hsZEdFZ1BTQk5ZWFJvTG5OeGNuUW9NUzR3SUMwZ1kyOXpTR0ZzWmxSb1pYUmhJQ29nWTI5elNHRnNabFJvWlhSaEtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb2MybHVTR0ZzWmxSb1pYUmhLU0E4SURBdU1EQXhLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSEV4TG5nZ0tpQXdMalVnS3lCeE1pNTRJQ29nTUM0MU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCeE1TNTVJQ29nTUM0MUlDc2djVEl1ZVNBcUlEQXVOVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdjVEV1ZWlBcUlEQXVOU0FySUhFeUxub2dLaUF3TGpVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUhFeExuY2dLaUF3TGpVZ0t5QnhNaTUzSUNvZ01DNDFPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKaGRHbHZRU0E5SUUxaGRHZ3VjMmx1S0NneElDMGdkR2x0WlNrZ0tpQm9ZV3htVkdobGRHRXBJQzhnYzJsdVNHRnNabFJvWlhSaE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVlYUnBiMElnUFNCTllYUm9Mbk5wYmloMGFXMWxJQ29nYUdGc1psUm9aWFJoS1NBdklITnBia2hoYkdaVWFHVjBZVHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCeE1TNTRJQ29nY21GMGFXOUJJQ3NnY1RJdWVDQXFJSEpoZEdsdlFqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0J4TVM1NUlDb2djbUYwYVc5QklDc2djVEl1ZVNBcUlISmhkR2x2UWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQnhNUzU2SUNvZ2NtRjBhVzlCSUNzZ2NUSXVlaUFxSUhKaGRHbHZRanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCeE1TNTNJQ29nY21GMGFXOUJJQ3NnY1RJdWR5QXFJSEpoZEdsdlFqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbVp5YjIxQmVHbHpRVzVuYkdVZ1BTQm1kVzVqZEdsdmJpQW9ZWGhwY3l3Z1lXNW5iR1VzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QnhkV0YwS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdGdVoyeGxJQ285SURBdU5UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2MybHVJRDBnVFdGMGFDNXphVzRvWVc1bmJHVXBPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUdGNGFYTXVlQ0FxSUhOcGJqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0JoZUdsekxua2dLaUJ6YVc0N1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdZWGhwY3k1NklDb2djMmx1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlFMWhkR2d1WTI5ektHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExtbGtaVzUwYVhSNUlEMGdibVYzSUhGMVlYUW9LUzV6WlhSSlpHVnVkR2wwZVNncE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhGMVlYUTdYSEpjYm4wb0tTazdYSEpjYm1WNGNHOXlkSE11WkdWbVlYVnNkQ0E5SUhGMVlYUTdYSEpjYmk4dkl5QnpiM1Z5WTJWTllYQndhVzVuVlZKTVBYRjFZWFF1YW5NdWJXRndJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9xdWF0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciB2ZWMzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlYzMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxcIik7XFxyXFxudmFyIGNvbnN0YW50c18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb25zdGFudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9jb25zdGFudHMuanNcXFwiKTtcXHJcXG52YXIgdmVjMiA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgZnVuY3Rpb24gdmVjMih2YWx1ZXMpIHtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzID0gbmV3IEZsb2F0MzJBcnJheSgyKTtcXHJcXG4gICAgICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCkge1xcclxcbiAgICAgICAgICAgIHRoaXMueHkgPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzIucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzIucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzIucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5hdCA9IGZ1bmN0aW9uIChpbmRleCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW2luZGV4XTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB0aGlzLnggPSAwO1xcclxcbiAgICAgICAgdGhpcy55ID0gMDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHRoaXMueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5uZWdhdGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSAtdGhpcy54O1xcclxcbiAgICAgICAgZGVzdC55ID0gLXRoaXMueTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiAodmVjdG9yLCB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgIGlmICh0aHJlc2hvbGQgPT09IHZvaWQgMCkgeyB0aHJlc2hvbGQgPSBjb25zdGFudHNfMS5lcHNpbG9uOyB9XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnModGhpcy54IC0gdmVjdG9yLngpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMueSAtIHZlY3Rvci55KSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5sZW5ndGggPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZExlbmd0aCgpKTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuc3F1YXJlZExlbmd0aCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHkgPSB0aGlzLnk7XFxyXFxuICAgICAgICByZXR1cm4gKHggKiB4ICsgeSAqIHkpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKz0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKz0gdmVjdG9yLnk7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuc3VidHJhY3QgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggLT0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgLT0gdmVjdG9yLnk7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKj0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKj0gdmVjdG9yLnk7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuZGl2aWRlID0gZnVuY3Rpb24gKHZlY3Rvcikge1xcclxcbiAgICAgICAgdGhpcy54IC89IHZlY3Rvci54O1xcclxcbiAgICAgICAgdGhpcy55IC89IHZlY3Rvci55O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIucHJvdG90eXBlLnNjYWxlID0gZnVuY3Rpb24gKHZhbHVlLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QueSAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGgoKTtcXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDEpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnggPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueSA9IDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZW5ndGggPSAxLjAgLyBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnggKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC55ICo9IGxlbmd0aDtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5tdWx0aXBseU1hdDIgPSBmdW5jdGlvbiAobWF0cml4LCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBtYXRyaXgubXVsdGlwbHlWZWMyKHRoaXMsIGRlc3QpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5tdWx0aXBseU1hdDMgPSBmdW5jdGlvbiAobWF0cml4LCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBtYXRyaXgubXVsdGlwbHlWZWMyKHRoaXMsIGRlc3QpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLmNyb3NzID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzXzEuZGVmYXVsdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeDIgPSB2ZWN0b3IyLng7XFxyXFxuICAgICAgICB2YXIgeTIgPSB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHggKiB5MiAtIHkgKiB4MjtcXHJcXG4gICAgICAgIGRlc3QueCA9IDA7XFxyXFxuICAgICAgICBkZXN0LnkgPSAwO1xcclxcbiAgICAgICAgZGVzdC56ID0gejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLmRvdCA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIpIHtcXHJcXG4gICAgICAgIHJldHVybiAodmVjdG9yLnggKiB2ZWN0b3IyLnggKyB2ZWN0b3IueSAqIHZlY3RvcjIueSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIuZGlzdGFuY2UgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyKSB7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZERpc3RhbmNlKHZlY3RvciwgdmVjdG9yMikpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnNxdWFyZWREaXN0YW5jZSA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yMi54IC0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3RvcjIueSAtIHZlY3Rvci55O1xcclxcbiAgICAgICAgcmV0dXJuICh4ICogeCArIHkgKiB5KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5kaXJlY3Rpb24gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLnggLSB2ZWN0b3IyLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55IC0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5KTtcXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnggPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueSA9IDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC54ID0geCAqIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHkgKiBsZW5ndGg7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5taXggPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCB0aW1lLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHgyID0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkyID0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC54ID0geCArIHRpbWUgKiAoeDIgLSB4KTtcXHJcXG4gICAgICAgIGRlc3QueSA9IHkgKyB0aW1lICogKHkyIC0geSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5zdW0gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5kaWZmZXJlbmNlID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMyKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAtIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIucHJvZHVjdCA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjMigpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ID0gdmVjdG9yLnggKiB2ZWN0b3IyLng7XFxyXFxuICAgICAgICBkZXN0LnkgPSB2ZWN0b3IueSAqIHZlY3RvcjIueTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnF1b3RpZW50ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMyKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAvIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC8gdmVjdG9yMi55O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIuemVybyA9IG5ldyB2ZWMyKFswLCAwXSk7XFxyXFxuICAgIHZlYzIub25lID0gbmV3IHZlYzIoWzEsIDFdKTtcXHJcXG4gICAgcmV0dXJuIHZlYzI7XFxyXFxufSgpKTtcXHJcXG5leHBvcnRzLmRlZmF1bHQgPSB2ZWMyO1xcclxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlYzIuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2ZG1Wak1pNXFjejlqWXpNeElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPMEZCUTJJc09FTkJRVGhETEdOQlFXTTdRVUZETlVRc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExHMUZRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UTBGQmJVTXNhVU5CUVdsRE8wRkJRM0JGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12UUhSc1lYVnJhMkZ1TDNSemJTOWthWE4wTDNabFl6SXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SmNJblZ6WlNCemRISnBZM1JjSWp0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dWRtRnlJR052Ym5OMFlXNTBjMTh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZZMjl1YzNSaGJuUnpYQ0lwTzF4eVhHNTJZWElnZG1Wak1pQTlJQzhxS2lCQVkyeGhjM01nS2k4Z0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsWXpJb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE1nUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0RJcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaWE1nSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5oNUlEMGdkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXlMbkJ5YjNSdmRIbHdaU3dnWENKNFhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gyWldNeUxuQnliM1J2ZEhsd1pTd2dYQ0o1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV015TG5CeWIzUnZkSGx3WlN3Z1hDSjRlVndpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG1GMElEMGdablZ1WTNScGIyNGdLR2x1WkdWNEtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXlaWE5sZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQTlJREE3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVZMjl3ZVNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak1pZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbTVsWjJGMFpTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0IwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBdGRHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlDMTBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVaWEYxWVd4eklEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvY21WemFHOXNaQ0E5UFQwZ2RtOXBaQ0F3S1NCN0lIUm9jbVZ6YUc5c1pDQTlJR052Ym5OMFlXNTBjMTh4TG1Wd2MybHNiMjQ3SUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTRJQzBnZG1WamRHOXlMbmdwSUQ0Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0UxaGRHZ3VZV0p6S0hSb2FYTXVlU0F0SUhabFkzUnZjaTU1S1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzV6Y1hKMEtIUm9hWE11YzNGMVlYSmxaRXhsYm1kMGFDZ3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXpjWFZoY21Wa1RHVnVaM1JvSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ2dLeUI1SUNvZ2VTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBclBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dLejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdWMzVmlkSEpoWTNRZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJQzA5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBdFBTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ0tqMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTVJQ285SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtUnBkbWxrWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dMejBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU1SUM4OUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbk5qWVd4bElEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZ29LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F4S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCc1pXNW5kR2dnUFNBeExqQWdMeUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJQ285SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNaUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNeUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdVkzSnZjM01nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTTE4eExtUmxabUYxYkhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjRJQ29nZVRJZ0xTQjVJQ29nZURJN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSG83WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1a2IzUWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNoMlpXTjBiM0l1ZUNBcUlIWmxZM1J2Y2pJdWVDQXJJSFpsWTNSdmNpNTVJQ29nZG1WamRHOXlNaTU1S1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbVJwYzNSaGJtTmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2RHaHBjeTV6Y1hWaGNtVmtSR2x6ZEdGdVkyVW9kbVZqZEc5eUxDQjJaV04wYjNJeUtTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1emNYVmhjbVZrUkdsemRHRnVZMlVnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjJaV04wYjNJeUxuZ2dMU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjakl1ZVNBdElIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW9lQ0FxSUhnZ0t5QjVJQ29nZVNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNaTVrYVhKbFkzUnBiMjRnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0SUMwZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxua2dMU0IyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3hsYm1kMGFDQTlJRTFoZEdndWMzRnlkQ2g0SUNvZ2VDQXJJSGtnS2lCNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JzWlc1bmRHZ2dQU0F4SUM4Z2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIZ2dLaUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZVNBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxtMXBlQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUhScGJXVXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhreUlEMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhnZ0t5QjBhVzFsSUNvZ0tIZ3lJQzBnZUNrN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdlU0FySUhScGJXVWdLaUFvZVRJZ0xTQjVLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV015TG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ3NnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1WkdsbVptVnlaVzVqWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lIWmxZM1J2Y2pJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNeUtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIWmxZM1J2Y2k1NElDMGdkbVZqZEc5eU1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhabFkzUnZjaTU1SUMwZ2RtVmpkRzl5TWk1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2WkhWamRDQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ29nZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDb2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y1hWdmRHbGxiblFnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBdklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0F2SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxucGxjbThnUFNCdVpYY2dkbVZqTWloYk1Dd2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak1pNXZibVVnUFNCdVpYY2dkbVZqTWloYk1Td2dNVjBwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSFpsWXpJN1hISmNibjBvS1NrN1hISmNibVY0Y0c5eWRITXVaR1ZtWVhWc2RDQTlJSFpsWXpJN1hISmNiaTh2SXlCemIzVnlZMlZOWVhCd2FXNW5WVkpNUFhabFl6SXVhbk11YldGd0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxyXFxudmFyIHF1YXRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcXVhdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3F1YXQuanNcXFwiKTtcXHJcXG52YXIgY29uc3RhbnRzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbnN0YW50cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2NvbnN0YW50cy5qc1xcXCIpO1xcclxcbnZhciB2ZWMzID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xcclxcbiAgICBmdW5jdGlvbiB2ZWMzKHZhbHVlcykge1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXMgPSBuZXcgRmxvYXQzMkFycmF5KDMpO1xcclxcbiAgICAgICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy54eXogPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwielxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmVjMy5wcm90b3R5cGUsIFxcXCJ4eXpcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy54ID0gMDtcXHJcXG4gICAgICAgIHRoaXMueSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnogPSAwO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjMygpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ID0gdGhpcy54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdGhpcy55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdGhpcy56O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLm5lZ2F0ZSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IC10aGlzLng7XFxyXFxuICAgICAgICBkZXN0LnkgPSAtdGhpcy55O1xcclxcbiAgICAgICAgZGVzdC56ID0gLXRoaXMuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiAodmVjdG9yLCB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgIGlmICh0aHJlc2hvbGQgPT09IHZvaWQgMCkgeyB0aHJlc2hvbGQgPSBjb25zdGFudHNfMS5lcHNpbG9uOyB9XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnModGhpcy54IC0gdmVjdG9yLngpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMueSAtIHZlY3Rvci55KSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChNYXRoLmFicyh0aGlzLnogLSB2ZWN0b3IueikgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUubGVuZ3RoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWRMZW5ndGgoKSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLnNxdWFyZWRMZW5ndGggPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHRoaXMueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdGhpcy55O1xcclxcbiAgICAgICAgdmFyIHogPSB0aGlzLno7XFxyXFxuICAgICAgICByZXR1cm4gKHggKiB4ICsgeSAqIHkgKyB6ICogeik7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHRoaXMueCArPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHRoaXMueSArPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHRoaXMueiArPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5zdWJ0cmFjdCA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHRoaXMueCAtPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHRoaXMueSAtPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHRoaXMueiAtPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5tdWx0aXBseSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHRoaXMueCAqPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHRoaXMueSAqPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHRoaXMueiAqPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5kaXZpZGUgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggLz0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgLz0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogLz0gdmVjdG9yLno7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUuc2NhbGUgPSBmdW5jdGlvbiAodmFsdWUsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSB0aGlzO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ICo9IHZhbHVlO1xcclxcbiAgICAgICAgZGVzdC55ICo9IHZhbHVlO1xcclxcbiAgICAgICAgZGVzdC56ICo9IHZhbHVlO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmxlbmd0aCgpO1xcclxcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMSkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xcclxcbiAgICAgICAgICAgIGRlc3QueCA9IDA7XFxyXFxuICAgICAgICAgICAgZGVzdC55ID0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnogPSAwO1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGVuZ3RoID0gMS4wIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC54ICo9IGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueSAqPSBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnogKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLm11bHRpcGx5QnlNYXQzID0gZnVuY3Rpb24gKG1hdHJpeCwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbWF0cml4Lm11bHRpcGx5VmVjMyh0aGlzLCBkZXN0KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUubXVsdGlwbHlCeVF1YXQgPSBmdW5jdGlvbiAocXVhdGVybmlvbiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcXVhdGVybmlvbi5tdWx0aXBseVZlYzModGhpcywgZGVzdCk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLnRvUXVhdCA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHF1YXRfMS5kZWZhdWx0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgYyA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB2YXIgcyA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICBjLnggPSBNYXRoLmNvcyh0aGlzLnggKiAwLjUpO1xcclxcbiAgICAgICAgcy54ID0gTWF0aC5zaW4odGhpcy54ICogMC41KTtcXHJcXG4gICAgICAgIGMueSA9IE1hdGguY29zKHRoaXMueSAqIDAuNSk7XFxyXFxuICAgICAgICBzLnkgPSBNYXRoLnNpbih0aGlzLnkgKiAwLjUpO1xcclxcbiAgICAgICAgYy56ID0gTWF0aC5jb3ModGhpcy56ICogMC41KTtcXHJcXG4gICAgICAgIHMueiA9IE1hdGguc2luKHRoaXMueiAqIDAuNSk7XFxyXFxuICAgICAgICBkZXN0LnggPSBzLnggKiBjLnkgKiBjLnogLSBjLnggKiBzLnkgKiBzLno7XFxyXFxuICAgICAgICBkZXN0LnkgPSBjLnggKiBzLnkgKiBjLnogKyBzLnggKiBjLnkgKiBzLno7XFxyXFxuICAgICAgICBkZXN0LnogPSBjLnggKiBjLnkgKiBzLnogLSBzLnggKiBzLnkgKiBjLno7XFxyXFxuICAgICAgICBkZXN0LncgPSBjLnggKiBjLnkgKiBjLnogKyBzLnggKiBzLnkgKiBzLno7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5jcm9zcyA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjMygpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3Rvci56O1xcclxcbiAgICAgICAgdmFyIHgyID0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkyID0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgdmFyIHoyID0gdmVjdG9yMi56O1xcclxcbiAgICAgICAgZGVzdC54ID0geSAqIHoyIC0geiAqIHkyO1xcclxcbiAgICAgICAgZGVzdC55ID0geiAqIHgyIC0geCAqIHoyO1xcclxcbiAgICAgICAgZGVzdC56ID0geCAqIHkyIC0geSAqIHgyO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMuZG90ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMikge1xcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3Rvci56O1xcclxcbiAgICAgICAgdmFyIHgyID0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkyID0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgdmFyIHoyID0gdmVjdG9yMi56O1xcclxcbiAgICAgICAgcmV0dXJuICh4ICogeDIgKyB5ICogeTIgKyB6ICogejIpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLmRpc3RhbmNlID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMikge1xcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IyLnggLSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yMi55IC0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3RvcjIueiAtIHZlY3Rvci56O1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWREaXN0YW5jZSh2ZWN0b3IsIHZlY3RvcjIpKTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5zcXVhcmVkRGlzdGFuY2UgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyKSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3RvcjIueCAtIHZlY3Rvci54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IyLnkgLSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yMi56IC0gdmVjdG9yLno7XFxyXFxuICAgICAgICByZXR1cm4gKHggKiB4ICsgeSAqIHkgKyB6ICogeik7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMuZGlyZWN0aW9uID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3Rvci54IC0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IueSAtIHZlY3RvcjIueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yLnogLSB2ZWN0b3IyLno7XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeik7XFxyXFxuICAgICAgICBpZiAobGVuZ3RoID09PSAwKSB7XFxyXFxuICAgICAgICAgICAgZGVzdC54ID0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnkgPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueiA9IDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC54ID0geCAqIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHkgKiBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnogPSB6ICogbGVuZ3RoO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMubWl4ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgdGltZSwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCArIHRpbWUgKiAodmVjdG9yMi54IC0gdmVjdG9yLngpO1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB0aW1lICogKHZlY3RvcjIueSAtIHZlY3Rvci55KTtcXHJcXG4gICAgICAgIGRlc3QueiA9IHZlY3Rvci56ICsgdGltZSAqICh2ZWN0b3IyLnogLSB2ZWN0b3Iueik7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5zdW0gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzMoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiArIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLmRpZmZlcmVuY2UgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzMoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54IC0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgLSB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiAtIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb2R1Y3QgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzMoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICogdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKiB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiAqIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnF1b3RpZW50ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAvIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC8gdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogLyB2ZWN0b3IyLno7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy56ZXJvID0gbmV3IHZlYzMoWzAsIDAsIDBdKTtcXHJcXG4gICAgdmVjMy5vbmUgPSBuZXcgdmVjMyhbMSwgMSwgMV0pO1xcclxcbiAgICB2ZWMzLnVwID0gbmV3IHZlYzMoWzAsIDEsIDBdKTtcXHJcXG4gICAgdmVjMy5yaWdodCA9IG5ldyB2ZWMzKFsxLCAwLCAwXSk7XFxyXFxuICAgIHZlYzMuZm9yd2FyZCA9IG5ldyB2ZWMzKFswLCAwLCAxXSk7XFxyXFxuICAgIHJldHVybiB2ZWMzO1xcclxcbn0oKSk7XFxyXFxuZXhwb3J0cy5kZWZhdWx0ID0gdmVjMztcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZWMzLmpzLm1hcC8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmRtVmpNeTVxY3o4eFlURTNJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoTzBGQlEySXNPRU5CUVRoRExHTkJRV003UVVGRE5VUXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIbEVRVUZSTzBGQlF6ZENMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMRzFGUVVGaE8wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVU5CUVcxRExHbERRVUZwUXp0QlFVTndSVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2ZG1Wak15NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklsd2lkWE5sSUhOMGNtbGpkRndpTzF4eVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYSEpjYm5aaGNpQnhkV0YwWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl4ZFdGMFhDSXBPMXh5WEc1MllYSWdZMjl1YzNSaGJuUnpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOWpiMjV6ZEdGdWRITmNJaWs3WEhKY2JuWmhjaUIyWldNeklEMGdMeW9xSUVCamJHRnpjeUFxTHlBb1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZqTXloMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjeUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTXlrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0haaGJIVmxjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZUhsNklEMGdkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXpMbkJ5YjNSdmRIbHdaU3dnWENKNFhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gyWldNekxuQnliM1J2ZEhsd1pTd2dYQ0o1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV016TG5CeWIzUnZkSGx3WlN3Z1hDSjZYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdQU0IyWVd4MVpUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXpMbkJ5YjNSdmRIbHdaU3dnWENKNGVWd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnZG1Gc2RXVnpXekJkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV016TG5CeWIzUnZkSGx3WlN3Z1hDSjRlWHBjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdQU0IyWVd4MVpYTmJNbDA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzVoZENBOUlHWjFibU4wYVc5dUlDaHBibVJsZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMDdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1d2NtOTBiM1I1Y0dVdWNtVnpaWFFnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlaUE5SURBN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1WTI5d2VTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0J1WlhjZ2RtVmpNeWdwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0IwYUdsekxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1dVpXZGhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdMWFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0F0ZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUMxMGFHbHpMbm83WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1d2NtOTBiM1I1Y0dVdVpYRjFZV3h6SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9jbVZ6YUc5c1pDQTlQVDBnZG05cFpDQXdLU0I3SUhSb2NtVnphRzlzWkNBOUlHTnZibk4wWVc1MGMxOHhMbVZ3YzJsc2IyNDdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9UV0YwYUM1aFluTW9kR2hwY3k1NElDMGdkbVZqZEc5eUxuZ3BJRDRnZEdoeVpYTm9iMnhrS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLRTFoZEdndVlXSnpLSFJvYVhNdWVTQXRJSFpsWTNSdmNpNTVLU0ErSUhSb2NtVnphRzlzWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWgwYUdsekxub2dMU0IyWldOMGIzSXVlaWtnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNXNaVzVuZEdnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VjM0Z5ZENoMGFHbHpMbk54ZFdGeVpXUk1aVzVuZEdnb0tTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1d2NtOTBiM1I1Y0dVdWMzRjFZWEpsWkV4bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJSFJvYVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0FyUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0t6MGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQ3M5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExuTjFZblJ5WVdOMElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0F0UFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0xUMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQzA5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NUlEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0FxUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0tqMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQ285SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtUnBkbWxrWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dMejBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU1SUM4OUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVpQXZQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1elkyRnNaU0E5SUdaMWJtTjBhVzl1SUNoMllXeDFaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUNvOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBcVBTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NXdjbTkwYjNSNWNHVXVibTl5YldGc2FYcGxJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJzWlc1bmRHZ2dQU0IwYUdsekxteGxibWQwYUNncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnUFQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnUFQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR3hsYm1kMGFDQTlJREV1TUNBdklHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQXFQU0JzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJQ285SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1dGRXeDBhWEJzZVVKNVRXRjBNeUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNektIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVFubFJkV0YwSUQwZ1puVnVZM1JwYjI0Z0tIRjFZWFJsY201cGIyNHNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJSFJvYVhNN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ4ZFdGMFpYSnVhVzl1TG0xMWJIUnBjR3g1Vm1Wak15aDBhR2x6TENCa1pYTjBLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNTBiMUYxWVhRZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhGMVlYUmZNUzVrWldaaGRXeDBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaklEMGdibVYzSUhabFl6TW9LVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjeUE5SUc1bGR5QjJaV016S0NrN1hISmNiaUFnSUNBZ0lDQWdZeTU0SUQwZ1RXRjBhQzVqYjNNb2RHaHBjeTU0SUNvZ01DNDFLVHRjY2x4dUlDQWdJQ0FnSUNCekxuZ2dQU0JOWVhSb0xuTnBiaWgwYUdsekxuZ2dLaUF3TGpVcE8xeHlYRzRnSUNBZ0lDQWdJR011ZVNBOUlFMWhkR2d1WTI5ektIUm9hWE11ZVNBcUlEQXVOU2s3WEhKY2JpQWdJQ0FnSUNBZ2N5NTVJRDBnVFdGMGFDNXphVzRvZEdocGN5NTVJQ29nTUM0MUtUdGNjbHh1SUNBZ0lDQWdJQ0JqTG5vZ1BTQk5ZWFJvTG1OdmN5aDBhR2x6TG5vZ0tpQXdMalVwTzF4eVhHNGdJQ0FnSUNBZ0lITXVlaUE5SUUxaGRHZ3VjMmx1S0hSb2FYTXVlaUFxSURBdU5TazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnY3k1NElDb2dZeTU1SUNvZ1l5NTZJQzBnWXk1NElDb2djeTU1SUNvZ2N5NTZPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUdNdWVDQXFJSE11ZVNBcUlHTXVlaUFySUhNdWVDQXFJR011ZVNBcUlITXVlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbm9nUFNCakxuZ2dLaUJqTG5rZ0tpQnpMbm9nTFNCekxuZ2dLaUJ6TG5rZ0tpQmpMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ1l5NTRJQ29nWXk1NUlDb2dZeTU2SUNzZ2N5NTRJQ29nY3k1NUlDb2djeTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdVkzSnZjM01nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VESWdQU0IyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGt5SUQwZ2RtVmpkRzl5TWk1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNk1pQTlJSFpsWTNSdmNqSXVlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCNUlDb2dlaklnTFNCNklDb2dlVEk3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2VpQXFJSGd5SUMwZ2VDQXFJSG95TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIZ2dLaUI1TWlBdElIa2dLaUI0TWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxtUnZkQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhreUlEMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZNaUE5SUhabFkzUnZjakl1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tIZ2dLaUI0TWlBcklIa2dLaUI1TWlBcklIb2dLaUI2TWlrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTVrYVhOMFlXNWpaU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2pJdWVDQXRJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlNaTU1SUMwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJeUxub2dMU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hSb2FYTXVjM0YxWVhKbFpFUnBjM1JoYm1ObEtIWmxZM1J2Y2l3Z2RtVmpkRzl5TWlrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11YzNGMVlYSmxaRVJwYzNSaGJtTmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TWk1NElDMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXlMbmtnTFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIWmxZM1J2Y2pJdWVpQXRJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ2dLeUI1SUNvZ2VTQXJJSG9nS2lCNktUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG1ScGNtVmpkR2x2YmlBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lIWmxZM1J2Y2pJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNektDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TG5nZ0xTQjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlU0F0SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIWmxZM1J2Y2k1NklDMGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnNaVzVuZEdnZ1BTQk5ZWFJvTG5OeGNuUW9lQ0FxSUhnZ0t5QjVJQ29nZVNBcklIb2dLaUI2S1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvYkdWdVozUm9JRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnNaVzVuZEdnZ1BTQXhJQzhnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhnZ0tpQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdlU0FxSUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbm9nUFNCNklDb2diR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXViV2w0SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z2RHbHRaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIWmxZek1vS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnZG1WamRHOXlMbmdnS3lCMGFXMWxJQ29nS0habFkzUnZjakl1ZUNBdElIWmxZM1J2Y2k1NEtUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0FySUhScGJXVWdLaUFvZG1WamRHOXlNaTU1SUMwZ2RtVmpkRzl5TG5rcE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSFpsWTNSdmNpNTZJQ3NnZEdsdFpTQXFJQ2gyWldOMGIzSXlMbm9nTFNCMlpXTjBiM0l1ZWlrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NXpkVzBnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBcklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0FySUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQjJaV04wYjNJdWVpQXJJSFpsWTNSdmNqSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG1ScFptWmxjbVZ1WTJVZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUxDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak15Z3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXRJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCMlpXTjBiM0l1ZVNBdElIWmxZM1J2Y2pJdWVUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dQU0IyWldOMGIzSXVlaUF0SUhabFkzUnZjakl1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliMlIxWTNRZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUxDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak15Z3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXFJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCMlpXTjBiM0l1ZVNBcUlIWmxZM1J2Y2pJdWVUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dQU0IyWldOMGIzSXVlaUFxSUhabFkzUnZjakl1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuRjFiM1JwWlc1MElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhabFl6TW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdkbVZqZEc5eUxuZ2dMeUIyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2RtVmpkRzl5TG5rZ0x5QjJaV04wYjNJeUxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nTHlCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NTZaWEp2SUQwZ2JtVjNJSFpsWXpNb1d6QXNJREFzSURCZEtUdGNjbHh1SUNBZ0lIWmxZek11YjI1bElEMGdibVYzSUhabFl6TW9XekVzSURFc0lERmRLVHRjY2x4dUlDQWdJSFpsWXpNdWRYQWdQU0J1WlhjZ2RtVmpNeWhiTUN3Z01Td2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak15NXlhV2RvZENBOUlHNWxkeUIyWldNektGc3hMQ0F3TENBd1hTazdYSEpjYmlBZ0lDQjJaV016TG1admNuZGhjbVFnUFNCdVpYY2dkbVZqTXloYk1Dd2dNQ3dnTVYwcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhabFl6TTdYSEpjYm4wb0tTazdYSEpjYm1WNGNHOXlkSE11WkdWbVlYVnNkQ0E5SUhabFl6TTdYSEpjYmk4dkl5QnpiM1Z5WTJWTllYQndhVzVuVlZKTVBYWmxZek11YW5NdWJXRndJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjNC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjNC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIHZlYzQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIHZlYzQodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoNCk7XFxyXFxuICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnh5encgPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwielxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwid1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmVjNC5wcm90b3R5cGUsIFxcXCJ4eXpcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieHl6d1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB2YWx1ZXNbM107XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiclxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiZ1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiYlxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiYVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwicmdcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmVjNC5wcm90b3R5cGUsIFxcXCJyZ2JcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwicmdiYVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB2YWx1ZXNbM107XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy54ID0gMDtcXHJcXG4gICAgICAgIHRoaXMueSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnogPSAwO1xcclxcbiAgICAgICAgdGhpcy53ID0gMDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHRoaXMueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHRoaXMueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IHRoaXMuejtcXHJcXG4gICAgICAgIGRlc3QudyA9IHRoaXMudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnByb3RvdHlwZS5uZWdhdGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSAtdGhpcy54O1xcclxcbiAgICAgICAgZGVzdC55ID0gLXRoaXMueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IC10aGlzLno7XFxyXFxuICAgICAgICBkZXN0LncgPSAtdGhpcy53O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uICh2ZWN0b3IsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGlmIChNYXRoLmFicyh0aGlzLnggLSB2ZWN0b3IueCkgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnModGhpcy55IC0gdmVjdG9yLnkpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMueiAtIHZlY3Rvci56KSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChNYXRoLmFicyh0aGlzLncgLSB2ZWN0b3IudykgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUubGVuZ3RoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWRMZW5ndGgoKSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLnNxdWFyZWRMZW5ndGggPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHRoaXMueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdGhpcy55O1xcclxcbiAgICAgICAgdmFyIHogPSB0aGlzLno7XFxyXFxuICAgICAgICB2YXIgdyA9IHRoaXMudztcXHJcXG4gICAgICAgIHJldHVybiAoeCAqIHggKyB5ICogeSArIHogKiB6ICsgdyAqIHcpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKz0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKz0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogKz0gdmVjdG9yLno7XFxyXFxuICAgICAgICB0aGlzLncgKz0gdmVjdG9yLnc7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuc3VidHJhY3QgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggLT0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgLT0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogLT0gdmVjdG9yLno7XFxyXFxuICAgICAgICB0aGlzLncgLT0gdmVjdG9yLnc7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKj0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKj0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogKj0gdmVjdG9yLno7XFxyXFxuICAgICAgICB0aGlzLncgKj0gdmVjdG9yLnc7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuZGl2aWRlID0gZnVuY3Rpb24gKHZlY3Rvcikge1xcclxcbiAgICAgICAgdGhpcy54IC89IHZlY3Rvci54O1xcclxcbiAgICAgICAgdGhpcy55IC89IHZlY3Rvci55O1xcclxcbiAgICAgICAgdGhpcy56IC89IHZlY3Rvci56O1xcclxcbiAgICAgICAgdGhpcy53IC89IHZlY3Rvci53O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLnNjYWxlID0gZnVuY3Rpb24gKHZhbHVlLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QueSAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QueiAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QudyAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGgoKTtcXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDEpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnggKj0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnkgKj0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnogKj0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LncgKj0gMDtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxlbmd0aCA9IDEuMCAvIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueCAqPSBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnkgKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC56ICo9IGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QudyAqPSBsZW5ndGg7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUubXVsdGlwbHlNYXQ0ID0gZnVuY3Rpb24gKG1hdHJpeCwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbWF0cml4Lm11bHRpcGx5VmVjNCh0aGlzLCBkZXN0KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5taXggPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCB0aW1lLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdGltZSAqICh2ZWN0b3IyLnggLSB2ZWN0b3IueCk7XFxyXFxuICAgICAgICBkZXN0LnkgPSB2ZWN0b3IueSArIHRpbWUgKiAodmVjdG9yMi55IC0gdmVjdG9yLnkpO1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogKyB0aW1lICogKHZlY3RvcjIueiAtIHZlY3Rvci56KTtcXHJcXG4gICAgICAgIGRlc3QudyA9IHZlY3Rvci53ICsgdGltZSAqICh2ZWN0b3IyLncgLSB2ZWN0b3Iudyk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5zdW0gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiArIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIGRlc3QudyA9IHZlY3Rvci53ICsgdmVjdG9yMi53O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQuZGlmZmVyZW5jZSA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjNCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ID0gdmVjdG9yLnggLSB2ZWN0b3IyLng7XFxyXFxuICAgICAgICBkZXN0LnkgPSB2ZWN0b3IueSAtIHZlY3RvcjIueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IHZlY3Rvci56IC0gdmVjdG9yMi56O1xcclxcbiAgICAgICAgZGVzdC53ID0gdmVjdG9yLncgLSB2ZWN0b3IyLnc7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm9kdWN0ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWM0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAqIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55ICogdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogKiB2ZWN0b3IyLno7XFxyXFxuICAgICAgICBkZXN0LncgPSB2ZWN0b3IudyAqIHZlY3RvcjIudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnF1b3RpZW50ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWM0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAvIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC8gdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogLyB2ZWN0b3IyLno7XFxyXFxuICAgICAgICBkZXN0LncgPSB2ZWN0b3IudyAvIHZlY3RvcjIudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0Lnplcm8gPSBuZXcgdmVjNChbMCwgMCwgMCwgMV0pO1xcclxcbiAgICB2ZWM0Lm9uZSA9IG5ldyB2ZWM0KFsxLCAxLCAxLCAxXSk7XFxyXFxuICAgIHJldHVybiB2ZWM0O1xcclxcbn0oKSk7XFxyXFxuZXhwb3J0cy5kZWZhdWx0ID0gdmVjNDtcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZWM0LmpzLm1hcC8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmRtVmpOQzVxY3o5aU16WmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoTzBGQlEySXNPRU5CUVRoRExHTkJRV003UVVGRE5VUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNiVVZCUVdFN1FVRkRka003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVU5CUVcxRExHbERRVUZwUXp0QlFVTndSVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZRSFJzWVhWcmEyRnVMM1J6YlM5a2FYTjBMM1psWXpRdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKY0luVnpaU0J6ZEhKcFkzUmNJanRjY2x4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHlYRzUyWVhJZ1kyOXVjM1JoYm5Selh6RWdQU0J5WlhGMWFYSmxLRndpTGk5amIyNXpkR0Z1ZEhOY0lpazdYSEpjYm5aaGNpQjJaV00wSUQwZ0x5b3FJRUJqYkdGemN5QXFMeUFvWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVmpOQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGN5QTlJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29OQ2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbGN5QWhQVDBnZFc1a1pXWnBibVZrS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVlSGw2ZHlBOUlIWmhiSFZsY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZUZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2llVndpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWVsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZDF3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2llSGxjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlIWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZUhsNlhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ2RtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6UXVjSEp2ZEc5MGVYQmxMQ0JjSW5oNWVuZGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCMllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpY2x3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2laMXdpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aVlsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpWVZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2ljbWRjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlIWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpY21kaVhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ2RtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6UXVjSEp2ZEc5MGVYQmxMQ0JjSW5KblltRmNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCMllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1aGRDQTlJR1oxYm1OMGFXOXVJQ2hwYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzF0cGJtUmxlRjA3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak5DNXdjbTkwYjNSNWNHVXVjbVZ6WlhRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU0SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZWlBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNJRDBnTUR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdLR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTTBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IwYUdsekxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZEdocGN5NTZPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1dVpXZGhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdMWFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0F0ZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUMxMGFHbHpMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ0xYUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNWxjWFZoYkhNZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2h5WlhOb2IyeGtJRDA5UFNCMmIybGtJREFwSUhzZ2RHaHlaWE5vYjJ4a0lEMGdZMjl1YzNSaGJuUnpYekV1WlhCemFXeHZianNnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWgwYUdsekxuZ2dMU0IyWldOMGIzSXVlQ2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTVJQzBnZG1WamRHOXlMbmtwSUQ0Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0UxaGRHZ3VZV0p6S0hSb2FYTXVlaUF0SUhabFkzUnZjaTU2S1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMbmNnTFNCMlpXTjBiM0l1ZHlrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzVzWlc1bmRHZ2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaDBhR2x6TG5OeGRXRnlaV1JNWlc1bmRHZ29LU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak5DNXdjbTkwYjNSNWNHVXVjM0YxWVhKbFpFeGxibWQwYUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhSb2FYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnS0hnZ0tpQjRJQ3NnZVNBcUlIa2dLeUI2SUNvZ2VpQXJJSGNnS2lCM0tUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU0SUNzOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQXJQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbm9nS3owZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1M0lDczlJSFpsWTNSdmNpNTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZelF1Y0hKdmRHOTBlWEJsTG5OMVluUnlZV04wSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVDQXRQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmtnTFQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NklDMDlJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkeUF0UFNCMlpXTjBiM0l1ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNXRkV3gwYVhCc2VTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnS2owZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NUlDbzlJSFpsWTNSdmNpNTVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlaUFxUFNCMlpXTjBiM0l1ZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5jZ0tqMGdkbVZqZEc5eUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1WkdsMmFXUmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBdlBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dMejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU2SUM4OUlIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWR5QXZQU0IyWldOMGIzSXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1elkyRnNaU0E5SUdaMWJtTjBhVzl1SUNoMllXeDFaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUNvOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBcVBTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lDbzlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6UXVjSEp2ZEc5MGVYQmxMbTV2Y20xaGJHbDZaU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCMGFHbHpPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnYkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnb0tUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQXFQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExua2dLajBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTZJQ285SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVkeUFxUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2JHVnVaM1JvSUQwZ01TNHdJQzhnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QXFQU0JzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGxOWVhRMElEMGdablZ1WTNScGIyNGdLRzFoZEhKcGVDd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoZEhKcGVDNXRkV3gwYVhCc2VWWmxZelFvZEdocGN5d2daR1Z6ZENrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV0YVhnZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUxDQjBhVzFsTENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTkNncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBcklIUnBiV1VnS2lBb2RtVmpkRzl5TWk1NElDMGdkbVZqZEc5eUxuZ3BPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhabFkzUnZjaTU1SUNzZ2RHbHRaU0FxSUNoMlpXTjBiM0l5TG5rZ0xTQjJaV04wYjNJdWVTazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nS3lCMGFXMWxJQ29nS0habFkzUnZjakl1ZWlBdElIWmxZM1J2Y2k1NktUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0IyWldOMGIzSXVkeUFySUhScGJXVWdLaUFvZG1WamRHOXlNaTUzSUMwZ2RtVmpkRzl5TG5jcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6UXVjM1Z0SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSFpsWXpRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2RtVmpkRzl5TG5nZ0t5QjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZG1WamRHOXlMbmtnS3lCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkbVZqZEc5eUxub2dLeUIyWldOMGIzSXlMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2RtVmpkRzl5TG5jZ0t5QjJaV04wYjNJeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzVrYVdabVpYSmxibU5sSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSFpsWXpRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2RtVmpkRzl5TG5nZ0xTQjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZG1WamRHOXlMbmtnTFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkbVZqZEc5eUxub2dMU0IyWldOMGIzSXlMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2RtVmpkRzl5TG5jZ0xTQjJaV04wYjNJeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205a2RXTjBJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaXdnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIWmxZelFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnZG1WamRHOXlMbmdnS2lCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdkbVZqZEc5eUxua2dLaUIyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RtVmpkRzl5TG5vZ0tpQjJaV04wYjNJeUxubzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJRDBnZG1WamRHOXlMbmNnS2lCMlpXTjBiM0l5TG5jN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak5DNXhkVzkwYVdWdWRDQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTTBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQzhnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDOGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhabFkzUnZjaTU2SUM4Z2RtVmpkRzl5TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSFpsWTNSdmNpNTNJQzhnZG1WamRHOXlNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpRdWVtVnlieUE5SUc1bGR5QjJaV00wS0Zzd0xDQXdMQ0F3TENBeFhTazdYSEpjYmlBZ0lDQjJaV00wTG05dVpTQTlJRzVsZHlCMlpXTTBLRnN4TENBeExDQXhMQ0F4WFNrN1hISmNiaUFnSUNCeVpYUjFjbTRnZG1Wak5EdGNjbHh1ZlNncEtUdGNjbHh1Wlhod2IzSjBjeTVrWldaaGRXeDBJRDBnZG1Wak5EdGNjbHh1THk4aklITnZkWEpqWlUxaGNIQnBibWRWVWt3OWRtVmpOQzVxY3k1dFlYQWlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBhc24xID0gZXhwb3J0cztcXG5cXG5hc24xLmJpZ251bSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG5cXG5hc24xLmRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9hcGkgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYXBpLmpzXFxcIikuZGVmaW5lO1xcbmFzbjEuYmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvaW5kZXguanNcXFwiKTtcXG5hc24xLmNvbnN0YW50cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9jb25zdGFudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvY29uc3RhbnRzL2luZGV4LmpzXFxcIik7XFxuYXNuMS5kZWNvZGVycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9kZWNvZGVycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9pbmRleC5qc1xcXCIpO1xcbmFzbjEuZW5jb2RlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FzbjEvZW5jb2RlcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZW5jb2RlcnMvaW5kZXguanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eExtcHpQMkUwWWpraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFc1kwRkJZeXh0UWtGQlR5eERRVUZETEd0RlFVRlBPenRCUVVVM1FpeGpRVUZqTEcxQ1FVRlBMRU5CUVVNc01FUkJRVms3UVVGRGJFTXNXVUZCV1N4dFFrRkJUeXhEUVVGRExHdEZRVUZoTzBGQlEycERMR2xDUVVGcFFpeHRRa0ZCVHl4RFFVRkRMRFJGUVVGclFqdEJRVU16UXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl3d1JVRkJhVUk3UVVGRGVrTXNaMEpCUVdkQ0xHMUNRVUZQTEVOQlFVTXNNRVZCUVdsQ0lpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGemJqRXVhbk12YkdsaUwyRnpiakV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1lYTnVNU0E5SUdWNGNHOXlkSE03WEc1Y2JtRnpiakV1WW1sbmJuVnRJRDBnY21WeGRXbHlaU2duWW00dWFuTW5LVHRjYmx4dVlYTnVNUzVrWldacGJtVWdQU0J5WlhGMWFYSmxLQ2N1TDJGemJqRXZZWEJwSnlrdVpHVm1hVzVsTzF4dVlYTnVNUzVpWVhObElEMGdjbVZ4ZFdseVpTZ25MaTloYzI0eEwySmhjMlVuS1R0Y2JtRnpiakV1WTI5dWMzUmhiblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOWhjMjR4TDJOdmJuTjBZVzUwY3ljcE8xeHVZWE51TVM1a1pXTnZaR1Z5Y3lBOUlISmxjWFZwY21Vb0p5NHZZWE51TVM5a1pXTnZaR1Z5Y3ljcE8xeHVZWE51TVM1bGJtTnZaR1Z5Y3lBOUlISmxjWFZwY21Vb0p5NHZZWE51TVM5bGJtTnZaR1Z5Y3ljcE8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYXBpLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYXBpLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgYXNuMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2FzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEuanNcXFwiKTtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcblxcbnZhciBhcGkgPSBleHBvcnRzO1xcblxcbmFwaS5kZWZpbmUgPSBmdW5jdGlvbiBkZWZpbmUobmFtZSwgYm9keSkge1xcbiAgcmV0dXJuIG5ldyBFbnRpdHkobmFtZSwgYm9keSk7XFxufTtcXG5cXG5mdW5jdGlvbiBFbnRpdHkobmFtZSwgYm9keSkge1xcbiAgdGhpcy5uYW1lID0gbmFtZTtcXG4gIHRoaXMuYm9keSA9IGJvZHk7XFxuXFxuICB0aGlzLmRlY29kZXJzID0ge307XFxuICB0aGlzLmVuY29kZXJzID0ge307XFxufTtcXG5cXG5FbnRpdHkucHJvdG90eXBlLl9jcmVhdGVOYW1lZCA9IGZ1bmN0aW9uIGNyZWF0ZU5hbWVkKGJhc2UpIHtcXG4gIHZhciBuYW1lZDtcXG4gIHRyeSB7XFxuICAgIG5hbWVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdm0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3ZtLWJyb3dzZXJpZnkvaW5kZXguanNcXFwiKS5ydW5JblRoaXNDb250ZXh0KFxcbiAgICAgICcoZnVuY3Rpb24gJyArIHRoaXMubmFtZSArICcoZW50aXR5KSB7XFxcXG4nICtcXG4gICAgICAnICB0aGlzLl9pbml0TmFtZWQoZW50aXR5KTtcXFxcbicgK1xcbiAgICAgICd9KSdcXG4gICAgKTtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gICAgbmFtZWQgPSBmdW5jdGlvbiAoZW50aXR5KSB7XFxuICAgICAgdGhpcy5faW5pdE5hbWVkKGVudGl0eSk7XFxuICAgIH07XFxuICB9XFxuICBpbmhlcml0cyhuYW1lZCwgYmFzZSk7XFxuICBuYW1lZC5wcm90b3R5cGUuX2luaXROYW1lZCA9IGZ1bmN0aW9uIGluaXRuYW1lZChlbnRpdHkpIHtcXG4gICAgYmFzZS5jYWxsKHRoaXMsIGVudGl0eSk7XFxuICB9O1xcblxcbiAgcmV0dXJuIG5ldyBuYW1lZCh0aGlzKTtcXG59O1xcblxcbkVudGl0eS5wcm90b3R5cGUuX2dldERlY29kZXIgPSBmdW5jdGlvbiBfZ2V0RGVjb2RlcihlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAnZGVyJztcXG4gIC8vIExhemlseSBjcmVhdGUgZGVjb2RlclxcbiAgaWYgKCF0aGlzLmRlY29kZXJzLmhhc093blByb3BlcnR5KGVuYykpXFxuICAgIHRoaXMuZGVjb2RlcnNbZW5jXSA9IHRoaXMuX2NyZWF0ZU5hbWVkKGFzbjEuZGVjb2RlcnNbZW5jXSk7XFxuICByZXR1cm4gdGhpcy5kZWNvZGVyc1tlbmNdO1xcbn07XFxuXFxuRW50aXR5LnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoZGF0YSwgZW5jLCBvcHRpb25zKSB7XFxuICByZXR1cm4gdGhpcy5fZ2V0RGVjb2RlcihlbmMpLmRlY29kZShkYXRhLCBvcHRpb25zKTtcXG59O1xcblxcbkVudGl0eS5wcm90b3R5cGUuX2dldEVuY29kZXIgPSBmdW5jdGlvbiBfZ2V0RW5jb2RlcihlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAnZGVyJztcXG4gIC8vIExhemlseSBjcmVhdGUgZW5jb2RlclxcbiAgaWYgKCF0aGlzLmVuY29kZXJzLmhhc093blByb3BlcnR5KGVuYykpXFxuICAgIHRoaXMuZW5jb2RlcnNbZW5jXSA9IHRoaXMuX2NyZWF0ZU5hbWVkKGFzbjEuZW5jb2RlcnNbZW5jXSk7XFxuICByZXR1cm4gdGhpcy5lbmNvZGVyc1tlbmNdO1xcbn07XFxuXFxuRW50aXR5LnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZGF0YSwgZW5jLCAvKiBpbnRlcm5hbCAqLyByZXBvcnRlcikge1xcbiAgcmV0dXJuIHRoaXMuX2dldEVuY29kZXIoZW5jKS5lbmNvZGUoZGF0YSwgcmVwb3J0ZXIpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMkZ3YVM1cWN6OWlNRFkwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxGZEJRVmNzYlVKQlFVOHNRMEZCUXl4dFJFRkJVenRCUVVNMVFpeGxRVUZsTEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3TzBGQlJXcERPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4cFJFRkJTVHRCUVVONFFpdzBRMEZCTkVNN1FVRkROVU1zYVVOQlFXbERPMEZCUTJwRExGRkJRVkU3UVVGRFVqdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwyRndhUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCaGMyNHhJRDBnY21WeGRXbHlaU2duTGk0dllYTnVNU2NwTzF4dWRtRnlJR2x1YUdWeWFYUnpJRDBnY21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1R0Y2JseHVkbUZ5SUdGd2FTQTlJR1Y0Y0c5eWRITTdYRzVjYm1Gd2FTNWtaV1pwYm1VZ1BTQm1kVzVqZEdsdmJpQmtaV1pwYm1Vb2JtRnRaU3dnWW05a2VTa2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFVnVkR2wwZVNodVlXMWxMQ0JpYjJSNUtUdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlFVnVkR2wwZVNodVlXMWxMQ0JpYjJSNUtTQjdYRzRnSUhSb2FYTXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lIUm9hWE11WW05a2VTQTlJR0p2WkhrN1hHNWNiaUFnZEdocGN5NWtaV052WkdWeWN5QTlJSHQ5TzF4dUlDQjBhR2x6TG1WdVkyOWtaWEp6SUQwZ2UzMDdYRzU5TzF4dVhHNUZiblJwZEhrdWNISnZkRzkwZVhCbExsOWpjbVZoZEdWT1lXMWxaQ0E5SUdaMWJtTjBhVzl1SUdOeVpXRjBaVTVoYldWa0tHSmhjMlVwSUh0Y2JpQWdkbUZ5SUc1aGJXVmtPMXh1SUNCMGNua2dlMXh1SUNBZ0lHNWhiV1ZrSUQwZ2NtVnhkV2x5WlNnbmRtMG5LUzV5ZFc1SmJsUm9hWE5EYjI1MFpYaDBLRnh1SUNBZ0lDQWdKeWhtZFc1amRHbHZiaUFuSUNzZ2RHaHBjeTV1WVcxbElDc2dKeWhsYm5ScGRIa3BJSHRjWEc0bklDdGNiaUFnSUNBZ0lDY2dJSFJvYVhNdVgybHVhWFJPWVcxbFpDaGxiblJwZEhrcE8xeGNiaWNnSzF4dUlDQWdJQ0FnSjMwcEoxeHVJQ0FnSUNrN1hHNGdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0J1WVcxbFpDQTlJR1oxYm1OMGFXOXVJQ2hsYm5ScGRIa3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVgybHVhWFJPWVcxbFpDaGxiblJwZEhrcE8xeHVJQ0FnSUgwN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb2JtRnRaV1FzSUdKaGMyVXBPMXh1SUNCdVlXMWxaQzV3Y205MGIzUjVjR1V1WDJsdWFYUk9ZVzFsWkNBOUlHWjFibU4wYVc5dUlHbHVhWFJ1WVcxbFpDaGxiblJwZEhrcElIdGNiaUFnSUNCaVlYTmxMbU5oYkd3b2RHaHBjeXdnWlc1MGFYUjVLVHRjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lHNWhiV1ZrS0hSb2FYTXBPMXh1ZlR0Y2JseHVSVzUwYVhSNUxuQnliM1J2ZEhsd1pTNWZaMlYwUkdWamIyUmxjaUE5SUdaMWJtTjBhVzl1SUY5blpYUkVaV052WkdWeUtHVnVZeWtnZTF4dUlDQmxibU1nUFNCbGJtTWdmSHdnSjJSbGNpYzdYRzRnSUM4dklFeGhlbWxzZVNCamNtVmhkR1VnWkdWamIyUmxjbHh1SUNCcFppQW9JWFJvYVhNdVpHVmpiMlJsY25NdWFHRnpUM2R1VUhKdmNHVnlkSGtvWlc1aktTbGNiaUFnSUNCMGFHbHpMbVJsWTI5a1pYSnpXMlZ1WTEwZ1BTQjBhR2x6TGw5amNtVmhkR1ZPWVcxbFpDaGhjMjR4TG1SbFkyOWtaWEp6VzJWdVkxMHBPMXh1SUNCeVpYUjFjbTRnZEdocGN5NWtaV052WkdWeWMxdGxibU5kTzF4dWZUdGNibHh1Ulc1MGFYUjVMbkJ5YjNSdmRIbHdaUzVrWldOdlpHVWdQU0JtZFc1amRHbHZiaUJrWldOdlpHVW9aR0YwWVN3Z1pXNWpMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDluWlhSRVpXTnZaR1Z5S0dWdVl5a3VaR1ZqYjJSbEtHUmhkR0VzSUc5d2RHbHZibk1wTzF4dWZUdGNibHh1Ulc1MGFYUjVMbkJ5YjNSdmRIbHdaUzVmWjJWMFJXNWpiMlJsY2lBOUlHWjFibU4wYVc5dUlGOW5aWFJGYm1OdlpHVnlLR1Z1WXlrZ2UxeHVJQ0JsYm1NZ1BTQmxibU1nZkh3Z0oyUmxjaWM3WEc0Z0lDOHZJRXhoZW1sc2VTQmpjbVZoZEdVZ1pXNWpiMlJsY2x4dUlDQnBaaUFvSVhSb2FYTXVaVzVqYjJSbGNuTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1pXNWpLU2xjYmlBZ0lDQjBhR2x6TG1WdVkyOWtaWEp6VzJWdVkxMGdQU0IwYUdsekxsOWpjbVZoZEdWT1lXMWxaQ2hoYzI0eExtVnVZMjlrWlhKelcyVnVZMTBwTzF4dUlDQnlaWFIxY200Z2RHaHBjeTVsYm1OdlpHVnljMXRsYm1OZE8xeHVmVHRjYmx4dVJXNTBhWFI1TG5CeWIzUnZkSGx3WlM1bGJtTnZaR1VnUFNCbWRXNWpkR2x2YmlCbGJtTnZaR1VvWkdGMFlTd2daVzVqTENBdktpQnBiblJsY201aGJDQXFMeUJ5WlhCdmNuUmxjaWtnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTVmWjJWMFJXNWpiMlJsY2lobGJtTXBMbVZ1WTI5a1pTaGtZWFJoTENCeVpYQnZjblJsY2lrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2FwaS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2J1ZmZlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG52YXIgUmVwb3J0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvaW5kZXguanNcXFwiKS5SZXBvcnRlcjtcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuXFxuZnVuY3Rpb24gRGVjb2RlckJ1ZmZlcihiYXNlLCBvcHRpb25zKSB7XFxuICBSZXBvcnRlci5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYmFzZSkpIHtcXG4gICAgdGhpcy5lcnJvcignSW5wdXQgbm90IEJ1ZmZlcicpO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB0aGlzLmJhc2UgPSBiYXNlO1xcbiAgdGhpcy5vZmZzZXQgPSAwO1xcbiAgdGhpcy5sZW5ndGggPSBiYXNlLmxlbmd0aDtcXG59XFxuaW5oZXJpdHMoRGVjb2RlckJ1ZmZlciwgUmVwb3J0ZXIpO1xcbmV4cG9ydHMuRGVjb2RlckJ1ZmZlciA9IERlY29kZXJCdWZmZXI7XFxuXFxuRGVjb2RlckJ1ZmZlci5wcm90b3R5cGUuc2F2ZSA9IGZ1bmN0aW9uIHNhdmUoKSB7XFxuICByZXR1cm4geyBvZmZzZXQ6IHRoaXMub2Zmc2V0LCByZXBvcnRlcjogUmVwb3J0ZXIucHJvdG90eXBlLnNhdmUuY2FsbCh0aGlzKSB9O1xcbn07XFxuXFxuRGVjb2RlckJ1ZmZlci5wcm90b3R5cGUucmVzdG9yZSA9IGZ1bmN0aW9uIHJlc3RvcmUoc2F2ZSkge1xcbiAgLy8gUmV0dXJuIHNraXBwZWQgZGF0YVxcbiAgdmFyIHJlcyA9IG5ldyBEZWNvZGVyQnVmZmVyKHRoaXMuYmFzZSk7XFxuICByZXMub2Zmc2V0ID0gc2F2ZS5vZmZzZXQ7XFxuICByZXMubGVuZ3RoID0gdGhpcy5vZmZzZXQ7XFxuXFxuICB0aGlzLm9mZnNldCA9IHNhdmUub2Zmc2V0O1xcbiAgUmVwb3J0ZXIucHJvdG90eXBlLnJlc3RvcmUuY2FsbCh0aGlzLCBzYXZlLnJlcG9ydGVyKTtcXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24gaXNFbXB0eSgpIHtcXG4gIHJldHVybiB0aGlzLm9mZnNldCA9PT0gdGhpcy5sZW5ndGg7XFxufTtcXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDggPSBmdW5jdGlvbiByZWFkVUludDgoZmFpbCkge1xcbiAgaWYgKHRoaXMub2Zmc2V0ICsgMSA8PSB0aGlzLmxlbmd0aClcXG4gICAgcmV0dXJuIHRoaXMuYmFzZS5yZWFkVUludDgodGhpcy5vZmZzZXQrKywgdHJ1ZSk7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLmVycm9yKGZhaWwgfHwgJ0RlY29kZXJCdWZmZXIgb3ZlcnJ1bicpO1xcbn1cXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5za2lwID0gZnVuY3Rpb24gc2tpcChieXRlcywgZmFpbCkge1xcbiAgaWYgKCEodGhpcy5vZmZzZXQgKyBieXRlcyA8PSB0aGlzLmxlbmd0aCkpXFxuICAgIHJldHVybiB0aGlzLmVycm9yKGZhaWwgfHwgJ0RlY29kZXJCdWZmZXIgb3ZlcnJ1bicpO1xcblxcbiAgdmFyIHJlcyA9IG5ldyBEZWNvZGVyQnVmZmVyKHRoaXMuYmFzZSk7XFxuXFxuICAvLyBTaGFyZSByZXBvcnRlciBzdGF0ZVxcbiAgcmVzLl9yZXBvcnRlclN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG5cXG4gIHJlcy5vZmZzZXQgPSB0aGlzLm9mZnNldDtcXG4gIHJlcy5sZW5ndGggPSB0aGlzLm9mZnNldCArIGJ5dGVzO1xcbiAgdGhpcy5vZmZzZXQgKz0gYnl0ZXM7XFxuICByZXR1cm4gcmVzO1xcbn1cXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5yYXcgPSBmdW5jdGlvbiByYXcoc2F2ZSkge1xcbiAgcmV0dXJuIHRoaXMuYmFzZS5zbGljZShzYXZlID8gc2F2ZS5vZmZzZXQgOiB0aGlzLm9mZnNldCwgdGhpcy5sZW5ndGgpO1xcbn1cXG5cXG5mdW5jdGlvbiBFbmNvZGVyQnVmZmVyKHZhbHVlLCByZXBvcnRlcikge1xcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlLm1hcChmdW5jdGlvbihpdGVtKSB7XFxuICAgICAgaWYgKCEoaXRlbSBpbnN0YW5jZW9mIEVuY29kZXJCdWZmZXIpKVxcbiAgICAgICAgaXRlbSA9IG5ldyBFbmNvZGVyQnVmZmVyKGl0ZW0sIHJlcG9ydGVyKTtcXG4gICAgICB0aGlzLmxlbmd0aCArPSBpdGVtLmxlbmd0aDtcXG4gICAgICByZXR1cm4gaXRlbTtcXG4gICAgfSwgdGhpcyk7XFxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcXG4gICAgaWYgKCEoMCA8PSB2YWx1ZSAmJiB2YWx1ZSA8PSAweGZmKSlcXG4gICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoJ25vbi1ieXRlIEVuY29kZXJCdWZmZXIgdmFsdWUnKTtcXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xcbiAgICB0aGlzLmxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlKTtcXG4gIH0gZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbHVlKSkge1xcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XFxuICAgIHRoaXMubGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbnN1cHBvcnRlZCB0eXBlOiAnICsgdHlwZW9mIHZhbHVlKTtcXG4gIH1cXG59XFxuZXhwb3J0cy5FbmNvZGVyQnVmZmVyID0gRW5jb2RlckJ1ZmZlcjtcXG5cXG5FbmNvZGVyQnVmZmVyLnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gam9pbihvdXQsIG9mZnNldCkge1xcbiAgaWYgKCFvdXQpXFxuICAgIG91dCA9IG5ldyBCdWZmZXIodGhpcy5sZW5ndGgpO1xcbiAgaWYgKCFvZmZzZXQpXFxuICAgIG9mZnNldCA9IDA7XFxuXFxuICBpZiAodGhpcy5sZW5ndGggPT09IDApXFxuICAgIHJldHVybiBvdXQ7XFxuXFxuICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xcbiAgICB0aGlzLnZhbHVlLmZvckVhY2goZnVuY3Rpb24oaXRlbSkge1xcbiAgICAgIGl0ZW0uam9pbihvdXQsIG9mZnNldCk7XFxuICAgICAgb2Zmc2V0ICs9IGl0ZW0ubGVuZ3RoO1xcbiAgICB9KTtcXG4gIH0gZWxzZSB7XFxuICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicpXFxuICAgICAgb3V0W29mZnNldF0gPSB0aGlzLnZhbHVlO1xcbiAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycpXFxuICAgICAgb3V0LndyaXRlKHRoaXMudmFsdWUsIG9mZnNldCk7XFxuICAgIGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcih0aGlzLnZhbHVlKSlcXG4gICAgICB0aGlzLnZhbHVlLmNvcHkob3V0LCBvZmZzZXQpO1xcbiAgICBvZmZzZXQgKz0gdGhpcy5sZW5ndGg7XFxuICB9XFxuXFxuICByZXR1cm4gb3V0O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMkpoYzJVdlluVm1abVZ5TG1welB6azBNbUVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1pVRkJaU3h0UWtGQlR5eERRVUZETERaRVFVRlZPMEZCUTJwRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3NFJFRkJVenRCUVVOb1F5eGhRVUZoTEcxQ1FVRlBMRU5CUVVNc09FTkJRVkU3TzBGQlJUZENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTUxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WVhOdU1TNXFjeTlzYVdJdllYTnVNUzlpWVhObEwySjFabVpsY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQnBibWhsY21sMGN5QTlJSEpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWs3WEc1MllYSWdVbVZ3YjNKMFpYSWdQU0J5WlhGMWFYSmxLQ2N1TGk5aVlYTmxKeWt1VW1Wd2IzSjBaWEk3WEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5a3VRblZtWm1WeU8xeHVYRzVtZFc1amRHbHZiaUJFWldOdlpHVnlRblZtWm1WeUtHSmhjMlVzSUc5d2RHbHZibk1wSUh0Y2JpQWdVbVZ3YjNKMFpYSXVZMkZzYkNoMGFHbHpMQ0J2Y0hScGIyNXpLVHRjYmlBZ2FXWWdLQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZbUZ6WlNrcElIdGNiaUFnSUNCMGFHbHpMbVZ5Y205eUtDZEpibkIxZENCdWIzUWdRblZtWm1WeUp5azdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2RHaHBjeTVpWVhObElEMGdZbUZ6WlR0Y2JpQWdkR2hwY3k1dlptWnpaWFFnUFNBd08xeHVJQ0IwYUdsekxteGxibWQwYUNBOUlHSmhjMlV1YkdWdVozUm9PMXh1ZlZ4dWFXNW9aWEpwZEhNb1JHVmpiMlJsY2tKMVptWmxjaXdnVW1Wd2IzSjBaWElwTzF4dVpYaHdiM0owY3k1RVpXTnZaR1Z5UW5WbVptVnlJRDBnUkdWamIyUmxja0oxWm1abGNqdGNibHh1UkdWamIyUmxja0oxWm1abGNpNXdjbTkwYjNSNWNHVXVjMkYyWlNBOUlHWjFibU4wYVc5dUlITmhkbVVvS1NCN1hHNGdJSEpsZEhWeWJpQjdJRzltWm5ObGREb2dkR2hwY3k1dlptWnpaWFFzSUhKbGNHOXlkR1Z5T2lCU1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdWMyRjJaUzVqWVd4c0tIUm9hWE1wSUgwN1hHNTlPMXh1WEc1RVpXTnZaR1Z5UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WlhOMGIzSmxJRDBnWm5WdVkzUnBiMjRnY21WemRHOXlaU2h6WVhabEtTQjdYRzRnSUM4dklGSmxkSFZ5YmlCemEybHdjR1ZrSUdSaGRHRmNiaUFnZG1GeUlISmxjeUE5SUc1bGR5QkVaV052WkdWeVFuVm1abVZ5S0hSb2FYTXVZbUZ6WlNrN1hHNGdJSEpsY3k1dlptWnpaWFFnUFNCellYWmxMbTltWm5ObGREdGNiaUFnY21WekxteGxibWQwYUNBOUlIUm9hWE11YjJabWMyVjBPMXh1WEc0Z0lIUm9hWE11YjJabWMyVjBJRDBnYzJGMlpTNXZabVp6WlhRN1hHNGdJRkpsY0c5eWRHVnlMbkJ5YjNSdmRIbHdaUzV5WlhOMGIzSmxMbU5oYkd3b2RHaHBjeXdnYzJGMlpTNXlaWEJ2Y25SbGNpazdYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JrUmxZMjlrWlhKQ2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG1selJXMXdkSGtnUFNCbWRXNWpkR2x2YmlCcGMwVnRjSFI1S0NrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1dlptWnpaWFFnUFQwOUlIUm9hWE11YkdWdVozUm9PMXh1ZlR0Y2JseHVSR1ZqYjJSbGNrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWNtVmhaRlZKYm5RNElEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUTRLR1poYVd3cElIdGNiaUFnYVdZZ0tIUm9hWE11YjJabWMyVjBJQ3NnTVNBOFBTQjBhR2x6TG14bGJtZDBhQ2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVpWVhObExuSmxZV1JWU1c1ME9DaDBhR2x6TG05bVpuTmxkQ3NyTENCMGNuVmxLVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZ5Y205eUtHWmhhV3dnZkh3Z0owUmxZMjlrWlhKQ2RXWm1aWElnYjNabGNuSjFiaWNwTzF4dWZWeHVYRzVFWldOdlpHVnlRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXphMmx3SUQwZ1puVnVZM1JwYjI0Z2MydHBjQ2hpZVhSbGN5d2dabUZwYkNrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6TG05bVpuTmxkQ0FySUdKNWRHVnpJRHc5SUhSb2FYTXViR1Z1WjNSb0tTbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWxjbkp2Y2lobVlXbHNJSHg4SUNkRVpXTnZaR1Z5UW5WbVptVnlJRzkyWlhKeWRXNG5LVHRjYmx4dUlDQjJZWElnY21WeklEMGdibVYzSUVSbFkyOWtaWEpDZFdabVpYSW9kR2hwY3k1aVlYTmxLVHRjYmx4dUlDQXZMeUJUYUdGeVpTQnlaWEJ2Y25SbGNpQnpkR0YwWlZ4dUlDQnlaWE11WDNKbGNHOXlkR1Z5VTNSaGRHVWdQU0IwYUdsekxsOXlaWEJ2Y25SbGNsTjBZWFJsTzF4dVhHNGdJSEpsY3k1dlptWnpaWFFnUFNCMGFHbHpMbTltWm5ObGREdGNiaUFnY21WekxteGxibWQwYUNBOUlIUm9hWE11YjJabWMyVjBJQ3NnWW5sMFpYTTdYRzRnSUhSb2FYTXViMlptYzJWMElDczlJR0o1ZEdWek8xeHVJQ0J5WlhSMWNtNGdjbVZ6TzF4dWZWeHVYRzVFWldOdlpHVnlRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlZWGNnUFNCbWRXNWpkR2x2YmlCeVlYY29jMkYyWlNrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1aVlYTmxMbk5zYVdObEtITmhkbVVnUHlCellYWmxMbTltWm5ObGRDQTZJSFJvYVhNdWIyWm1jMlYwTENCMGFHbHpMbXhsYm1kMGFDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlFVnVZMjlrWlhKQ2RXWm1aWElvZG1Gc2RXVXNJSEpsY0c5eWRHVnlLU0I3WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtIWmhiSFZsS1NrZ2UxeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNRHRjYmlBZ0lDQjBhR2x6TG5aaGJIVmxJRDBnZG1Gc2RXVXViV0Z3S0daMWJtTjBhVzl1S0dsMFpXMHBJSHRjYmlBZ0lDQWdJR2xtSUNnaEtHbDBaVzBnYVc1emRHRnVZMlZ2WmlCRmJtTnZaR1Z5UW5WbVptVnlLU2xjYmlBZ0lDQWdJQ0FnYVhSbGJTQTlJRzVsZHlCRmJtTnZaR1Z5UW5WbVptVnlLR2wwWlcwc0lISmxjRzl5ZEdWeUtUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JQ3M5SUdsMFpXMHViR1Z1WjNSb08xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdsMFpXMDdYRzRnSUNBZ2ZTd2dkR2hwY3lrN1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJR2xtSUNnaEtEQWdQRDBnZG1Gc2RXVWdKaVlnZG1Gc2RXVWdQRDBnTUhobVppa3BYRzRnSUNBZ0lDQnlaWFIxY200Z2NtVndiM0owWlhJdVpYSnliM0lvSjI1dmJpMWllWFJsSUVWdVkyOWtaWEpDZFdabVpYSWdkbUZzZFdVbktUdGNiaUFnSUNCMGFHbHpMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCMGFHbHpMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQkNkV1ptWlhJdVlubDBaVXhsYm1kMGFDaDJZV3gxWlNrN1hHNGdJSDBnWld4elpTQnBaaUFvUW5WbVptVnlMbWx6UW5WbVptVnlLSFpoYkhWbEtTa2dlMXh1SUNBZ0lIUm9hWE11ZG1Gc2RXVWdQU0IyWVd4MVpUdGNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJSFpoYkhWbExteGxibWQwYUR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnY21Wd2IzSjBaWEl1WlhKeWIzSW9KMVZ1YzNWd2NHOXlkR1ZrSUhSNWNHVTZJQ2NnS3lCMGVYQmxiMllnZG1Gc2RXVXBPMXh1SUNCOVhHNTlYRzVsZUhCdmNuUnpMa1Z1WTI5a1pYSkNkV1ptWlhJZ1BTQkZibU52WkdWeVFuVm1abVZ5TzF4dVhHNUZibU52WkdWeVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1cWIybHVJRDBnWm5WdVkzUnBiMjRnYW05cGJpaHZkWFFzSUc5bVpuTmxkQ2tnZTF4dUlDQnBaaUFvSVc5MWRDbGNiaUFnSUNCdmRYUWdQU0J1WlhjZ1FuVm1abVZ5S0hSb2FYTXViR1Z1WjNSb0tUdGNiaUFnYVdZZ0tDRnZabVp6WlhRcFhHNGdJQ0FnYjJabWMyVjBJRDBnTUR0Y2JseHVJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURBcFhHNGdJQ0FnY21WMGRYSnVJRzkxZER0Y2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2gwYUdsekxuWmhiSFZsS1NrZ2UxeHVJQ0FnSUhSb2FYTXVkbUZzZFdVdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlocGRHVnRLU0I3WEc0Z0lDQWdJQ0JwZEdWdExtcHZhVzRvYjNWMExDQnZabVp6WlhRcE8xeHVJQ0FnSUNBZ2IyWm1jMlYwSUNzOUlHbDBaVzB1YkdWdVozUm9PMXh1SUNBZ0lIMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnZEdocGN5NTJZV3gxWlNBOVBUMGdKMjUxYldKbGNpY3BYRzRnSUNBZ0lDQnZkWFJiYjJabWMyVjBYU0E5SUhSb2FYTXVkbUZzZFdVN1hHNGdJQ0FnWld4elpTQnBaaUFvZEhsd1pXOW1JSFJvYVhNdWRtRnNkV1VnUFQwOUlDZHpkSEpwYm1jbktWeHVJQ0FnSUNBZ2IzVjBMbmR5YVhSbEtIUm9hWE11ZG1Gc2RXVXNJRzltWm5ObGRDazdYRzRnSUNBZ1pXeHpaU0JwWmlBb1FuVm1abVZ5TG1selFuVm1abVZ5S0hSb2FYTXVkbUZzZFdVcEtWeHVJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpTNWpiM0I1S0c5MWRDd2diMlptYzJWMEtUdGNiaUFnSUNCdlptWnpaWFFnS3owZ2RHaHBjeTVzWlc1bmRHZzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiM1YwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGJhc2UgPSBleHBvcnRzO1xcblxcbmJhc2UuUmVwb3J0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3JlcG9ydGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvcmVwb3J0ZXIuanNcXFwiKS5SZXBvcnRlcjtcXG5iYXNlLkRlY29kZXJCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2J1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2J1ZmZlci5qc1xcXCIpLkRlY29kZXJCdWZmZXI7XFxuYmFzZS5FbmNvZGVyQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanNcXFwiKS5FbmNvZGVyQnVmZmVyO1xcbmJhc2UuTm9kZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbm9kZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwySmhjMlV2YVc1a1pYZ3Vhbk0vTVRKaE5DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3UVVGRlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSVUZCV1R0QlFVTndReXh4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXhuUlVGQlZUdEJRVU4yUXl4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl4blJVRkJWVHRCUVVOMlF5eFpRVUZaTEcxQ1FVRlBMRU5CUVVNc05FUkJRVkVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWE51TVM1cWN5OXNhV0l2WVhOdU1TOWlZWE5sTDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdKaGMyVWdQU0JsZUhCdmNuUnpPMXh1WEc1aVlYTmxMbEpsY0c5eWRHVnlJRDBnY21WeGRXbHlaU2duTGk5eVpYQnZjblJsY2ljcExsSmxjRzl5ZEdWeU8xeHVZbUZ6WlM1RVpXTnZaR1Z5UW5WbVptVnlJRDBnY21WeGRXbHlaU2duTGk5aWRXWm1aWEluS1M1RVpXTnZaR1Z5UW5WbVptVnlPMXh1WW1GelpTNUZibU52WkdWeVFuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbkxpOWlkV1ptWlhJbktTNUZibU52WkdWeVFuVm1abVZ5TzF4dVltRnpaUzVPYjJSbElEMGdjbVZ4ZFdseVpTZ25MaTl1YjJSbEp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBSZXBvcnRlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2Jhc2UgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1xcXCIpLlJlcG9ydGVyO1xcbnZhciBFbmNvZGVyQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2luZGV4LmpzXFxcIikuRW5jb2RlckJ1ZmZlcjtcXG52YXIgRGVjb2RlckJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2Jhc2UgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1xcXCIpLkRlY29kZXJCdWZmZXI7XFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG5cXG4vLyBTdXBwb3J0ZWQgdGFnc1xcbnZhciB0YWdzID0gW1xcbiAgJ3NlcScsICdzZXFvZicsICdzZXQnLCAnc2V0b2YnLCAnb2JqaWQnLCAnYm9vbCcsXFxuICAnZ2VudGltZScsICd1dGN0aW1lJywgJ251bGxfJywgJ2VudW0nLCAnaW50JywgJ29iakRlc2MnLFxcbiAgJ2JpdHN0cicsICdibXBzdHInLCAnY2hhcnN0cicsICdnZW5zdHInLCAnZ3JhcGhzdHInLCAnaWE1c3RyJywgJ2lzbzY0NnN0cicsXFxuICAnbnVtc3RyJywgJ29jdHN0cicsICdwcmludHN0cicsICd0NjFzdHInLCAndW5pc3RyJywgJ3V0ZjhzdHInLCAndmlkZW9zdHInXFxuXTtcXG5cXG4vLyBQdWJsaWMgbWV0aG9kcyBsaXN0XFxudmFyIG1ldGhvZHMgPSBbXFxuICAna2V5JywgJ29iaicsICd1c2UnLCAnb3B0aW9uYWwnLCAnZXhwbGljaXQnLCAnaW1wbGljaXQnLCAnZGVmJywgJ2Nob2ljZScsXFxuICAnYW55JywgJ2NvbnRhaW5zJ1xcbl0uY29uY2F0KHRhZ3MpO1xcblxcbi8vIE92ZXJyaWRlZCBtZXRob2RzIGxpc3RcXG52YXIgb3ZlcnJpZGVkID0gW1xcbiAgJ19wZWVrVGFnJywgJ19kZWNvZGVUYWcnLCAnX3VzZScsXFxuICAnX2RlY29kZVN0cicsICdfZGVjb2RlT2JqaWQnLCAnX2RlY29kZVRpbWUnLFxcbiAgJ19kZWNvZGVOdWxsJywgJ19kZWNvZGVJbnQnLCAnX2RlY29kZUJvb2wnLCAnX2RlY29kZUxpc3QnLFxcblxcbiAgJ19lbmNvZGVDb21wb3NpdGUnLCAnX2VuY29kZVN0cicsICdfZW5jb2RlT2JqaWQnLCAnX2VuY29kZVRpbWUnLFxcbiAgJ19lbmNvZGVOdWxsJywgJ19lbmNvZGVJbnQnLCAnX2VuY29kZUJvb2wnXFxuXTtcXG5cXG5mdW5jdGlvbiBOb2RlKGVuYywgcGFyZW50KSB7XFxuICB2YXIgc3RhdGUgPSB7fTtcXG4gIHRoaXMuX2Jhc2VTdGF0ZSA9IHN0YXRlO1xcblxcbiAgc3RhdGUuZW5jID0gZW5jO1xcblxcbiAgc3RhdGUucGFyZW50ID0gcGFyZW50IHx8IG51bGw7XFxuICBzdGF0ZS5jaGlsZHJlbiA9IG51bGw7XFxuXFxuICAvLyBTdGF0ZVxcbiAgc3RhdGUudGFnID0gbnVsbDtcXG4gIHN0YXRlLmFyZ3MgPSBudWxsO1xcbiAgc3RhdGUucmV2ZXJzZUFyZ3MgPSBudWxsO1xcbiAgc3RhdGUuY2hvaWNlID0gbnVsbDtcXG4gIHN0YXRlLm9wdGlvbmFsID0gZmFsc2U7XFxuICBzdGF0ZS5hbnkgPSBmYWxzZTtcXG4gIHN0YXRlLm9iaiA9IGZhbHNlO1xcbiAgc3RhdGUudXNlID0gbnVsbDtcXG4gIHN0YXRlLnVzZURlY29kZXIgPSBudWxsO1xcbiAgc3RhdGUua2V5ID0gbnVsbDtcXG4gIHN0YXRlWydkZWZhdWx0J10gPSBudWxsO1xcbiAgc3RhdGUuZXhwbGljaXQgPSBudWxsO1xcbiAgc3RhdGUuaW1wbGljaXQgPSBudWxsO1xcbiAgc3RhdGUuY29udGFpbnMgPSBudWxsO1xcblxcbiAgLy8gU2hvdWxkIGNyZWF0ZSBuZXcgaW5zdGFuY2Ugb24gZWFjaCBtZXRob2RcXG4gIGlmICghc3RhdGUucGFyZW50KSB7XFxuICAgIHN0YXRlLmNoaWxkcmVuID0gW107XFxuICAgIHRoaXMuX3dyYXAoKTtcXG4gIH1cXG59XFxubW9kdWxlLmV4cG9ydHMgPSBOb2RlO1xcblxcbnZhciBzdGF0ZVByb3BzID0gW1xcbiAgJ2VuYycsICdwYXJlbnQnLCAnY2hpbGRyZW4nLCAndGFnJywgJ2FyZ3MnLCAncmV2ZXJzZUFyZ3MnLCAnY2hvaWNlJyxcXG4gICdvcHRpb25hbCcsICdhbnknLCAnb2JqJywgJ3VzZScsICdhbHRlcmVkVXNlJywgJ2tleScsICdkZWZhdWx0JywgJ2V4cGxpY2l0JyxcXG4gICdpbXBsaWNpdCcsICdjb250YWlucydcXG5dO1xcblxcbk5vZGUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUoKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuICB2YXIgY3N0YXRlID0ge307XFxuICBzdGF0ZVByb3BzLmZvckVhY2goZnVuY3Rpb24ocHJvcCkge1xcbiAgICBjc3RhdGVbcHJvcF0gPSBzdGF0ZVtwcm9wXTtcXG4gIH0pO1xcbiAgdmFyIHJlcyA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKGNzdGF0ZS5wYXJlbnQpO1xcbiAgcmVzLl9iYXNlU3RhdGUgPSBjc3RhdGU7XFxuICByZXR1cm4gcmVzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX3dyYXAgPSBmdW5jdGlvbiB3cmFwKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgbWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xcbiAgICB0aGlzW21ldGhvZF0gPSBmdW5jdGlvbiBfd3JhcHBlZE1ldGhvZCgpIHtcXG4gICAgICB2YXIgY2xvbmUgPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtcXG4gICAgICBzdGF0ZS5jaGlsZHJlbi5wdXNoKGNsb25lKTtcXG4gICAgICByZXR1cm4gY2xvbmVbbWV0aG9kXS5hcHBseShjbG9uZSwgYXJndW1lbnRzKTtcXG4gICAgfTtcXG4gIH0sIHRoaXMpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0KGJvZHkpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5wYXJlbnQgPT09IG51bGwpO1xcbiAgYm9keS5jYWxsKHRoaXMpO1xcblxcbiAgLy8gRmlsdGVyIGNoaWxkcmVuXFxuICBzdGF0ZS5jaGlsZHJlbiA9IHN0YXRlLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjaGlsZCkge1xcbiAgICByZXR1cm4gY2hpbGQuX2Jhc2VTdGF0ZS5wYXJlbnQgPT09IHRoaXM7XFxuICB9LCB0aGlzKTtcXG4gIGFzc2VydC5lcXVhbChzdGF0ZS5jaGlsZHJlbi5sZW5ndGgsIDEsICdSb290IG5vZGUgY2FuIGhhdmUgb25seSBvbmUgY2hpbGQnKTtcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl91c2VBcmdzID0gZnVuY3Rpb24gdXNlQXJncyhhcmdzKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAvLyBGaWx0ZXIgY2hpbGRyZW4gYW5kIGFyZ3NcXG4gIHZhciBjaGlsZHJlbiA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xcbiAgICByZXR1cm4gYXJnIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3RvcjtcXG4gIH0sIHRoaXMpO1xcbiAgYXJncyA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xcbiAgICByZXR1cm4gIShhcmcgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yKTtcXG4gIH0sIHRoaXMpO1xcblxcbiAgaWYgKGNoaWxkcmVuLmxlbmd0aCAhPT0gMCkge1xcbiAgICBhc3NlcnQoc3RhdGUuY2hpbGRyZW4gPT09IG51bGwpO1xcbiAgICBzdGF0ZS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xcblxcbiAgICAvLyBSZXBsYWNlIHBhcmVudCB0byBtYWludGFpbiBiYWNrd2FyZCBsaW5rXFxuICAgIGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oY2hpbGQpIHtcXG4gICAgICBjaGlsZC5fYmFzZVN0YXRlLnBhcmVudCA9IHRoaXM7XFxuICAgIH0sIHRoaXMpO1xcbiAgfVxcbiAgaWYgKGFyZ3MubGVuZ3RoICE9PSAwKSB7XFxuICAgIGFzc2VydChzdGF0ZS5hcmdzID09PSBudWxsKTtcXG4gICAgc3RhdGUuYXJncyA9IGFyZ3M7XFxuICAgIHN0YXRlLnJldmVyc2VBcmdzID0gYXJncy5tYXAoZnVuY3Rpb24oYXJnKSB7XFxuICAgICAgaWYgKHR5cGVvZiBhcmcgIT09ICdvYmplY3QnIHx8IGFyZy5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KVxcbiAgICAgICAgcmV0dXJuIGFyZztcXG5cXG4gICAgICB2YXIgcmVzID0ge307XFxuICAgICAgT2JqZWN0LmtleXMoYXJnKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xcbiAgICAgICAgaWYgKGtleSA9PSAoa2V5IHwgMCkpXFxuICAgICAgICAgIGtleSB8PSAwO1xcbiAgICAgICAgdmFyIHZhbHVlID0gYXJnW2tleV07XFxuICAgICAgICByZXNbdmFsdWVdID0ga2V5O1xcbiAgICAgIH0pO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0pO1xcbiAgfVxcbn07XFxuXFxuLy9cXG4vLyBPdmVycmlkZWQgbWV0aG9kc1xcbi8vXFxuXFxub3ZlcnJpZGVkLmZvckVhY2goZnVuY3Rpb24obWV0aG9kKSB7XFxuICBOb2RlLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24gX292ZXJyaWRlZCgpIHtcXG4gICAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgICB0aHJvdyBuZXcgRXJyb3IobWV0aG9kICsgJyBub3QgaW1wbGVtZW50ZWQgZm9yIGVuY29kaW5nOiAnICsgc3RhdGUuZW5jKTtcXG4gIH07XFxufSk7XFxuXFxuLy9cXG4vLyBQdWJsaWMgbWV0aG9kc1xcbi8vXFxuXFxudGFncy5mb3JFYWNoKGZ1bmN0aW9uKHRhZykge1xcbiAgTm9kZS5wcm90b3R5cGVbdGFnXSA9IGZ1bmN0aW9uIF90YWdNZXRob2QoKSB7XFxuICAgIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG4gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xcblxcbiAgICBhc3NlcnQoc3RhdGUudGFnID09PSBudWxsKTtcXG4gICAgc3RhdGUudGFnID0gdGFnO1xcblxcbiAgICB0aGlzLl91c2VBcmdzKGFyZ3MpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxufSk7XFxuXFxuTm9kZS5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGl0ZW0pIHtcXG4gIGFzc2VydChpdGVtKTtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS51c2UgPT09IG51bGwpO1xcbiAgc3RhdGUudXNlID0gaXRlbTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUub3B0aW9uYWwgPSBmdW5jdGlvbiBvcHRpb25hbCgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIHN0YXRlLm9wdGlvbmFsID0gdHJ1ZTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuZGVmID0gZnVuY3Rpb24gZGVmKHZhbCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgYXNzZXJ0KHN0YXRlWydkZWZhdWx0J10gPT09IG51bGwpO1xcbiAgc3RhdGVbJ2RlZmF1bHQnXSA9IHZhbDtcXG4gIHN0YXRlLm9wdGlvbmFsID0gdHJ1ZTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuZXhwbGljaXQgPSBmdW5jdGlvbiBleHBsaWNpdChudW0pIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5leHBsaWNpdCA9PT0gbnVsbCAmJiBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCk7XFxuICBzdGF0ZS5leHBsaWNpdCA9IG51bTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuaW1wbGljaXQgPSBmdW5jdGlvbiBpbXBsaWNpdChudW0pIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5leHBsaWNpdCA9PT0gbnVsbCAmJiBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCk7XFxuICBzdGF0ZS5pbXBsaWNpdCA9IG51bTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUub2JqID0gZnVuY3Rpb24gb2JqKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xcblxcbiAgc3RhdGUub2JqID0gdHJ1ZTtcXG5cXG4gIGlmIChhcmdzLmxlbmd0aCAhPT0gMClcXG4gICAgdGhpcy5fdXNlQXJncyhhcmdzKTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUua2V5ID0gZnVuY3Rpb24ga2V5KG5ld0tleSkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgYXNzZXJ0KHN0YXRlLmtleSA9PT0gbnVsbCk7XFxuICBzdGF0ZS5rZXkgPSBuZXdLZXk7XFxuXFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLmFueSA9IGZ1bmN0aW9uIGFueSgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIHN0YXRlLmFueSA9IHRydWU7XFxuXFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLmNob2ljZSA9IGZ1bmN0aW9uIGNob2ljZShvYmopIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5jaG9pY2UgPT09IG51bGwpO1xcbiAgc3RhdGUuY2hvaWNlID0gb2JqO1xcbiAgdGhpcy5fdXNlQXJncyhPYmplY3Qua2V5cyhvYmopLm1hcChmdW5jdGlvbihrZXkpIHtcXG4gICAgcmV0dXJuIG9ialtrZXldO1xcbiAgfSkpO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5Ob2RlLnByb3RvdHlwZS5jb250YWlucyA9IGZ1bmN0aW9uIGNvbnRhaW5zKGl0ZW0pIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS51c2UgPT09IG51bGwpO1xcbiAgc3RhdGUuY29udGFpbnMgPSBpdGVtO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG4vL1xcbi8vIERlY29kaW5nXFxuLy9cXG5cXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGlucHV0LCBvcHRpb25zKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAvLyBEZWNvZGUgcm9vdCBub2RlXFxuICBpZiAoc3RhdGUucGFyZW50ID09PSBudWxsKVxcbiAgICByZXR1cm4gaW5wdXQud3JhcFJlc3VsdChzdGF0ZS5jaGlsZHJlblswXS5fZGVjb2RlKGlucHV0LCBvcHRpb25zKSk7XFxuXFxuICB2YXIgcmVzdWx0ID0gc3RhdGVbJ2RlZmF1bHQnXTtcXG4gIHZhciBwcmVzZW50ID0gdHJ1ZTtcXG5cXG4gIHZhciBwcmV2S2V5ID0gbnVsbDtcXG4gIGlmIChzdGF0ZS5rZXkgIT09IG51bGwpXFxuICAgIHByZXZLZXkgPSBpbnB1dC5lbnRlcktleShzdGF0ZS5rZXkpO1xcblxcbiAgLy8gQ2hlY2sgaWYgdGFnIGlzIHRoZXJlXFxuICBpZiAoc3RhdGUub3B0aW9uYWwpIHtcXG4gICAgdmFyIHRhZyA9IG51bGw7XFxuICAgIGlmIChzdGF0ZS5leHBsaWNpdCAhPT0gbnVsbClcXG4gICAgICB0YWcgPSBzdGF0ZS5leHBsaWNpdDtcXG4gICAgZWxzZSBpZiAoc3RhdGUuaW1wbGljaXQgIT09IG51bGwpXFxuICAgICAgdGFnID0gc3RhdGUuaW1wbGljaXQ7XFxuICAgIGVsc2UgaWYgKHN0YXRlLnRhZyAhPT0gbnVsbClcXG4gICAgICB0YWcgPSBzdGF0ZS50YWc7XFxuXFxuICAgIGlmICh0YWcgPT09IG51bGwgJiYgIXN0YXRlLmFueSkge1xcbiAgICAgIC8vIFRyaWFsIGFuZCBFcnJvclxcbiAgICAgIHZhciBzYXZlID0gaW5wdXQuc2F2ZSgpO1xcbiAgICAgIHRyeSB7XFxuICAgICAgICBpZiAoc3RhdGUuY2hvaWNlID09PSBudWxsKVxcbiAgICAgICAgICB0aGlzLl9kZWNvZGVHZW5lcmljKHN0YXRlLnRhZywgaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgICAgZWxzZVxcbiAgICAgICAgICB0aGlzLl9kZWNvZGVDaG9pY2UoaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgICAgcHJlc2VudCA9IHRydWU7XFxuICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgcHJlc2VudCA9IGZhbHNlO1xcbiAgICAgIH1cXG4gICAgICBpbnB1dC5yZXN0b3JlKHNhdmUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHByZXNlbnQgPSB0aGlzLl9wZWVrVGFnKGlucHV0LCB0YWcsIHN0YXRlLmFueSk7XFxuXFxuICAgICAgaWYgKGlucHV0LmlzRXJyb3IocHJlc2VudCkpXFxuICAgICAgICByZXR1cm4gcHJlc2VudDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gUHVzaCBvYmplY3Qgb24gc3RhY2tcXG4gIHZhciBwcmV2T2JqO1xcbiAgaWYgKHN0YXRlLm9iaiAmJiBwcmVzZW50KVxcbiAgICBwcmV2T2JqID0gaW5wdXQuZW50ZXJPYmplY3QoKTtcXG5cXG4gIGlmIChwcmVzZW50KSB7XFxuICAgIC8vIFVud3JhcCBleHBsaWNpdCB2YWx1ZXNcXG4gICAgaWYgKHN0YXRlLmV4cGxpY2l0ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIGV4cGxpY2l0ID0gdGhpcy5fZGVjb2RlVGFnKGlucHV0LCBzdGF0ZS5leHBsaWNpdCk7XFxuICAgICAgaWYgKGlucHV0LmlzRXJyb3IoZXhwbGljaXQpKVxcbiAgICAgICAgcmV0dXJuIGV4cGxpY2l0O1xcbiAgICAgIGlucHV0ID0gZXhwbGljaXQ7XFxuICAgIH1cXG5cXG4gICAgdmFyIHN0YXJ0ID0gaW5wdXQub2Zmc2V0O1xcblxcbiAgICAvLyBVbndyYXAgaW1wbGljaXQgYW5kIG5vcm1hbCB2YWx1ZXNcXG4gICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbCAmJiBzdGF0ZS5jaG9pY2UgPT09IG51bGwpIHtcXG4gICAgICBpZiAoc3RhdGUuYW55KVxcbiAgICAgICAgdmFyIHNhdmUgPSBpbnB1dC5zYXZlKCk7XFxuICAgICAgdmFyIGJvZHkgPSB0aGlzLl9kZWNvZGVUYWcoXFxuICAgICAgICBpbnB1dCxcXG4gICAgICAgIHN0YXRlLmltcGxpY2l0ICE9PSBudWxsID8gc3RhdGUuaW1wbGljaXQgOiBzdGF0ZS50YWcsXFxuICAgICAgICBzdGF0ZS5hbnlcXG4gICAgICApO1xcbiAgICAgIGlmIChpbnB1dC5pc0Vycm9yKGJvZHkpKVxcbiAgICAgICAgcmV0dXJuIGJvZHk7XFxuXFxuICAgICAgaWYgKHN0YXRlLmFueSlcXG4gICAgICAgIHJlc3VsdCA9IGlucHV0LnJhdyhzYXZlKTtcXG4gICAgICBlbHNlXFxuICAgICAgICBpbnB1dCA9IGJvZHk7XFxuICAgIH1cXG5cXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy50cmFjayAmJiBzdGF0ZS50YWcgIT09IG51bGwpXFxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIHN0YXJ0LCBpbnB1dC5sZW5ndGgsICd0YWdnZWQnKTtcXG5cXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy50cmFjayAmJiBzdGF0ZS50YWcgIT09IG51bGwpXFxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIGlucHV0Lm9mZnNldCwgaW5wdXQubGVuZ3RoLCAnY29udGVudCcpO1xcblxcbiAgICAvLyBTZWxlY3QgcHJvcGVyIG1ldGhvZCBmb3IgdGFnXFxuICAgIGlmIChzdGF0ZS5hbnkpXFxuICAgICAgcmVzdWx0ID0gcmVzdWx0O1xcbiAgICBlbHNlIGlmIChzdGF0ZS5jaG9pY2UgPT09IG51bGwpXFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZGVjb2RlR2VuZXJpYyhzdGF0ZS50YWcsIGlucHV0LCBvcHRpb25zKTtcXG4gICAgZWxzZVxcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RlY29kZUNob2ljZShpbnB1dCwgb3B0aW9ucyk7XFxuXFxuICAgIGlmIChpbnB1dC5pc0Vycm9yKHJlc3VsdCkpXFxuICAgICAgcmV0dXJuIHJlc3VsdDtcXG5cXG4gICAgLy8gRGVjb2RlIGNoaWxkcmVuXFxuICAgIGlmICghc3RhdGUuYW55ICYmIHN0YXRlLmNob2ljZSA9PT0gbnVsbCAmJiBzdGF0ZS5jaGlsZHJlbiAhPT0gbnVsbCkge1xcbiAgICAgIHN0YXRlLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gZGVjb2RlQ2hpbGRyZW4oY2hpbGQpIHtcXG4gICAgICAgIC8vIE5PVEU6IFdlIGFyZSBpZ25vcmluZyBlcnJvcnMgaGVyZSwgdG8gbGV0IHBhcnNlciBjb250aW51ZSB3aXRoIG90aGVyXFxuICAgICAgICAvLyBwYXJ0cyBvZiBlbmNvZGVkIGRhdGFcXG4gICAgICAgIGNoaWxkLl9kZWNvZGUoaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIC8vIERlY29kZSBjb250YWluZWQvZW5jb2RlZCBieSBzY2hlbWEsIG9ubHkgaW4gYml0IG9yIG9jdGV0IHN0cmluZ3NcXG4gICAgaWYgKHN0YXRlLmNvbnRhaW5zICYmIChzdGF0ZS50YWcgPT09ICdvY3RzdHInIHx8IHN0YXRlLnRhZyA9PT0gJ2JpdHN0cicpKSB7XFxuICAgICAgdmFyIGRhdGEgPSBuZXcgRGVjb2RlckJ1ZmZlcihyZXN1bHQpO1xcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2dldFVzZShzdGF0ZS5jb250YWlucywgaW5wdXQuX3JlcG9ydGVyU3RhdGUub2JqKVxcbiAgICAgICAgICAuX2RlY29kZShkYXRhLCBvcHRpb25zKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gUG9wIG9iamVjdFxcbiAgaWYgKHN0YXRlLm9iaiAmJiBwcmVzZW50KVxcbiAgICByZXN1bHQgPSBpbnB1dC5sZWF2ZU9iamVjdChwcmV2T2JqKTtcXG5cXG4gIC8vIFNldCBrZXlcXG4gIGlmIChzdGF0ZS5rZXkgIT09IG51bGwgJiYgKHJlc3VsdCAhPT0gbnVsbCB8fCBwcmVzZW50ID09PSB0cnVlKSlcXG4gICAgaW5wdXQubGVhdmVLZXkocHJldktleSwgc3RhdGUua2V5LCByZXN1bHQpO1xcbiAgZWxzZSBpZiAocHJldktleSAhPT0gbnVsbClcXG4gICAgaW5wdXQuZXhpdEtleShwcmV2S2V5KTtcXG5cXG4gIHJldHVybiByZXN1bHQ7XFxufTtcXG5cXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlR2VuZXJpYyA9IGZ1bmN0aW9uIGRlY29kZUdlbmVyaWModGFnLCBpbnB1dCwgb3B0aW9ucykge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgaWYgKHRhZyA9PT0gJ3NlcScgfHwgdGFnID09PSAnc2V0JylcXG4gICAgcmV0dXJuIG51bGw7XFxuICBpZiAodGFnID09PSAnc2Vxb2YnIHx8IHRhZyA9PT0gJ3NldG9mJylcXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZUxpc3QoaW5wdXQsIHRhZywgc3RhdGUuYXJnc1swXSwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICgvc3RyJC8udGVzdCh0YWcpKVxcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlU3RyKGlucHV0LCB0YWcsIG9wdGlvbnMpO1xcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqaWQnICYmIHN0YXRlLmFyZ3MpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVPYmppZChpbnB1dCwgc3RhdGUuYXJnc1swXSwgc3RhdGUuYXJnc1sxXSwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdvYmppZCcpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVPYmppZChpbnB1dCwgbnVsbCwgbnVsbCwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdnZW50aW1lJyB8fCB0YWcgPT09ICd1dGN0aW1lJylcXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZVRpbWUoaW5wdXQsIHRhZywgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdudWxsXycpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVOdWxsKGlucHV0LCBvcHRpb25zKTtcXG4gIGVsc2UgaWYgKHRhZyA9PT0gJ2Jvb2wnKVxcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlQm9vbChpbnB1dCwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdvYmpEZXNjJylcXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZVN0cihpbnB1dCwgdGFnLCBvcHRpb25zKTtcXG4gIGVsc2UgaWYgKHRhZyA9PT0gJ2ludCcgfHwgdGFnID09PSAnZW51bScpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVJbnQoaW5wdXQsIHN0YXRlLmFyZ3MgJiYgc3RhdGUuYXJnc1swXSwgb3B0aW9ucyk7XFxuXFxuICBpZiAoc3RhdGUudXNlICE9PSBudWxsKSB7XFxuICAgIHJldHVybiB0aGlzLl9nZXRVc2Uoc3RhdGUudXNlLCBpbnB1dC5fcmVwb3J0ZXJTdGF0ZS5vYmopXFxuICAgICAgICAuX2RlY29kZShpbnB1dCwgb3B0aW9ucyk7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gaW5wdXQuZXJyb3IoJ3Vua25vd24gdGFnOiAnICsgdGFnKTtcXG4gIH1cXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl9nZXRVc2UgPSBmdW5jdGlvbiBfZ2V0VXNlKGVudGl0eSwgb2JqKSB7XFxuXFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuICAvLyBDcmVhdGUgYWx0ZXJlZCB1c2UgZGVjb2RlciBpZiBpbXBsaWNpdCBpcyBzZXRcXG4gIHN0YXRlLnVzZURlY29kZXIgPSB0aGlzLl91c2UoZW50aXR5LCBvYmopO1xcbiAgYXNzZXJ0KHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5wYXJlbnQgPT09IG51bGwpO1xcbiAgc3RhdGUudXNlRGVjb2RlciA9IHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5jaGlsZHJlblswXTtcXG4gIGlmIChzdGF0ZS5pbXBsaWNpdCAhPT0gc3RhdGUudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0KSB7XFxuICAgIHN0YXRlLnVzZURlY29kZXIgPSBzdGF0ZS51c2VEZWNvZGVyLmNsb25lKCk7XFxuICAgIHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5pbXBsaWNpdCA9IHN0YXRlLmltcGxpY2l0O1xcbiAgfVxcbiAgcmV0dXJuIHN0YXRlLnVzZURlY29kZXI7XFxufTtcXG5cXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlQ2hvaWNlID0gZnVuY3Rpb24gZGVjb2RlQ2hvaWNlKGlucHV0LCBvcHRpb25zKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuICB2YXIgcmVzdWx0ID0gbnVsbDtcXG4gIHZhciBtYXRjaCA9IGZhbHNlO1xcblxcbiAgT2JqZWN0LmtleXMoc3RhdGUuY2hvaWNlKS5zb21lKGZ1bmN0aW9uKGtleSkge1xcbiAgICB2YXIgc2F2ZSA9IGlucHV0LnNhdmUoKTtcXG4gICAgdmFyIG5vZGUgPSBzdGF0ZS5jaG9pY2Vba2V5XTtcXG4gICAgdHJ5IHtcXG4gICAgICB2YXIgdmFsdWUgPSBub2RlLl9kZWNvZGUoaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgIGlmIChpbnB1dC5pc0Vycm9yKHZhbHVlKSlcXG4gICAgICAgIHJldHVybiBmYWxzZTtcXG5cXG4gICAgICByZXN1bHQgPSB7IHR5cGU6IGtleSwgdmFsdWU6IHZhbHVlIH07XFxuICAgICAgbWF0Y2ggPSB0cnVlO1xcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgaW5wdXQucmVzdG9yZShzYXZlKTtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9LCB0aGlzKTtcXG5cXG4gIGlmICghbWF0Y2gpXFxuICAgIHJldHVybiBpbnB1dC5lcnJvcignQ2hvaWNlIG5vdCBtYXRjaGVkJyk7XFxuXFxuICByZXR1cm4gcmVzdWx0O1xcbn07XFxuXFxuLy9cXG4vLyBFbmNvZGluZ1xcbi8vXFxuXFxuTm9kZS5wcm90b3R5cGUuX2NyZWF0ZUVuY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBjcmVhdGVFbmNvZGVyQnVmZmVyKGRhdGEpIHtcXG4gIHJldHVybiBuZXcgRW5jb2RlckJ1ZmZlcihkYXRhLCB0aGlzLnJlcG9ydGVyKTtcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl9lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZGF0YSwgcmVwb3J0ZXIsIHBhcmVudCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgaWYgKHN0YXRlWydkZWZhdWx0J10gIT09IG51bGwgJiYgc3RhdGVbJ2RlZmF1bHQnXSA9PT0gZGF0YSlcXG4gICAgcmV0dXJuO1xcblxcbiAgdmFyIHJlc3VsdCA9IHRoaXMuX2VuY29kZVZhbHVlKGRhdGEsIHJlcG9ydGVyLCBwYXJlbnQpO1xcbiAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKVxcbiAgICByZXR1cm47XFxuXFxuICBpZiAodGhpcy5fc2tpcERlZmF1bHQocmVzdWx0LCByZXBvcnRlciwgcGFyZW50KSlcXG4gICAgcmV0dXJuO1xcblxcbiAgcmV0dXJuIHJlc3VsdDtcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl9lbmNvZGVWYWx1ZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlciwgcGFyZW50KSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAvLyBEZWNvZGUgcm9vdCBub2RlXFxuICBpZiAoc3RhdGUucGFyZW50ID09PSBudWxsKVxcbiAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW5bMF0uX2VuY29kZShkYXRhLCByZXBvcnRlciB8fCBuZXcgUmVwb3J0ZXIoKSk7XFxuXFxuICB2YXIgcmVzdWx0ID0gbnVsbDtcXG5cXG4gIC8vIFNldCByZXBvcnRlciB0byBzaGFyZSBpdCB3aXRoIGEgY2hpbGQgY2xhc3NcXG4gIHRoaXMucmVwb3J0ZXIgPSByZXBvcnRlcjtcXG5cXG4gIC8vIENoZWNrIGlmIGRhdGEgaXMgdGhlcmVcXG4gIGlmIChzdGF0ZS5vcHRpb25hbCAmJiBkYXRhID09PSB1bmRlZmluZWQpIHtcXG4gICAgaWYgKHN0YXRlWydkZWZhdWx0J10gIT09IG51bGwpXFxuICAgICAgZGF0YSA9IHN0YXRlWydkZWZhdWx0J11cXG4gICAgZWxzZVxcbiAgICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIC8vIEVuY29kZSBjaGlsZHJlbiBmaXJzdFxcbiAgdmFyIGNvbnRlbnQgPSBudWxsO1xcbiAgdmFyIHByaW1pdGl2ZSA9IGZhbHNlO1xcbiAgaWYgKHN0YXRlLmFueSkge1xcbiAgICAvLyBBbnl0aGluZyB0aGF0IHdhcyBnaXZlbiBpcyB0cmFuc2xhdGVkIHRvIGJ1ZmZlclxcbiAgICByZXN1bHQgPSB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGRhdGEpO1xcbiAgfSBlbHNlIGlmIChzdGF0ZS5jaG9pY2UpIHtcXG4gICAgcmVzdWx0ID0gdGhpcy5fZW5jb2RlQ2hvaWNlKGRhdGEsIHJlcG9ydGVyKTtcXG4gIH0gZWxzZSBpZiAoc3RhdGUuY29udGFpbnMpIHtcXG4gICAgY29udGVudCA9IHRoaXMuX2dldFVzZShzdGF0ZS5jb250YWlucywgcGFyZW50KS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcXG4gICAgcHJpbWl0aXZlID0gdHJ1ZTtcXG4gIH0gZWxzZSBpZiAoc3RhdGUuY2hpbGRyZW4pIHtcXG4gICAgY29udGVudCA9IHN0YXRlLmNoaWxkcmVuLm1hcChmdW5jdGlvbihjaGlsZCkge1xcbiAgICAgIGlmIChjaGlsZC5fYmFzZVN0YXRlLnRhZyA9PT0gJ251bGxfJylcXG4gICAgICAgIHJldHVybiBjaGlsZC5fZW5jb2RlKG51bGwsIHJlcG9ydGVyLCBkYXRhKTtcXG5cXG4gICAgICBpZiAoY2hpbGQuX2Jhc2VTdGF0ZS5rZXkgPT09IG51bGwpXFxuICAgICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoJ0NoaWxkIHNob3VsZCBoYXZlIGEga2V5Jyk7XFxuICAgICAgdmFyIHByZXZLZXkgPSByZXBvcnRlci5lbnRlcktleShjaGlsZC5fYmFzZVN0YXRlLmtleSk7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JylcXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignQ2hpbGQgZXhwZWN0ZWQsIGJ1dCBpbnB1dCBpcyBub3Qgb2JqZWN0Jyk7XFxuXFxuICAgICAgdmFyIHJlcyA9IGNoaWxkLl9lbmNvZGUoZGF0YVtjaGlsZC5fYmFzZVN0YXRlLmtleV0sIHJlcG9ydGVyLCBkYXRhKTtcXG4gICAgICByZXBvcnRlci5sZWF2ZUtleShwcmV2S2V5KTtcXG5cXG4gICAgICByZXR1cm4gcmVzO1xcbiAgICB9LCB0aGlzKS5maWx0ZXIoZnVuY3Rpb24oY2hpbGQpIHtcXG4gICAgICByZXR1cm4gY2hpbGQ7XFxuICAgIH0pO1xcbiAgICBjb250ZW50ID0gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihjb250ZW50KTtcXG4gIH0gZWxzZSB7XFxuICAgIGlmIChzdGF0ZS50YWcgPT09ICdzZXFvZicgfHwgc3RhdGUudGFnID09PSAnc2V0b2YnKSB7XFxuICAgICAgLy8gVE9ETyhpbmR1dG55KTogdGhpcyBzaG91bGQgYmUgdGhyb3duIG9uIERTTCBsZXZlbFxcbiAgICAgIGlmICghKHN0YXRlLmFyZ3MgJiYgc3RhdGUuYXJncy5sZW5ndGggPT09IDEpKVxcbiAgICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdUb28gbWFueSBhcmdzIGZvciA6ICcgKyBzdGF0ZS50YWcpO1xcblxcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSlcXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignc2Vxb2Yvc2V0b2YsIGJ1dCBkYXRhIGlzIG5vdCBBcnJheScpO1xcblxcbiAgICAgIHZhciBjaGlsZCA9IHRoaXMuY2xvbmUoKTtcXG4gICAgICBjaGlsZC5fYmFzZVN0YXRlLmltcGxpY2l0ID0gbnVsbDtcXG4gICAgICBjb250ZW50ID0gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihkYXRhLm1hcChmdW5jdGlvbihpdGVtKSB7XFxuICAgICAgICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VXNlKHN0YXRlLmFyZ3NbMF0sIGRhdGEpLl9lbmNvZGUoaXRlbSwgcmVwb3J0ZXIpO1xcbiAgICAgIH0sIGNoaWxkKSk7XFxuICAgIH0gZWxzZSBpZiAoc3RhdGUudXNlICE9PSBudWxsKSB7XFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZ2V0VXNlKHN0YXRlLnVzZSwgcGFyZW50KS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBjb250ZW50ID0gdGhpcy5fZW5jb2RlUHJpbWl0aXZlKHN0YXRlLnRhZywgZGF0YSk7XFxuICAgICAgcHJpbWl0aXZlID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gRW5jb2RlIGRhdGEgaXRzZWxmXFxuICB2YXIgcmVzdWx0O1xcbiAgaWYgKCFzdGF0ZS5hbnkgJiYgc3RhdGUuY2hvaWNlID09PSBudWxsKSB7XFxuICAgIHZhciB0YWcgPSBzdGF0ZS5pbXBsaWNpdCAhPT0gbnVsbCA/IHN0YXRlLmltcGxpY2l0IDogc3RhdGUudGFnO1xcbiAgICB2YXIgY2xzID0gc3RhdGUuaW1wbGljaXQgPT09IG51bGwgPyAndW5pdmVyc2FsJyA6ICdjb250ZXh0JztcXG5cXG4gICAgaWYgKHRhZyA9PT0gbnVsbCkge1xcbiAgICAgIGlmIChzdGF0ZS51c2UgPT09IG51bGwpXFxuICAgICAgICByZXBvcnRlci5lcnJvcignVGFnIGNvdWxkIGJlIG9taXR0ZWQgb25seSBmb3IgLnVzZSgpJyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbClcXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuX2VuY29kZUNvbXBvc2l0ZSh0YWcsIHByaW1pdGl2ZSwgY2xzLCBjb250ZW50KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gV3JhcCBpbiBleHBsaWNpdFxcbiAgaWYgKHN0YXRlLmV4cGxpY2l0ICE9PSBudWxsKVxcbiAgICByZXN1bHQgPSB0aGlzLl9lbmNvZGVDb21wb3NpdGUoc3RhdGUuZXhwbGljaXQsIGZhbHNlLCAnY29udGV4dCcsIHJlc3VsdCk7XFxuXFxuICByZXR1cm4gcmVzdWx0O1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2VuY29kZUNob2ljZSA9IGZ1bmN0aW9uIGVuY29kZUNob2ljZShkYXRhLCByZXBvcnRlcikge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgdmFyIG5vZGUgPSBzdGF0ZS5jaG9pY2VbZGF0YS50eXBlXTtcXG4gIGlmICghbm9kZSkge1xcbiAgICBhc3NlcnQoXFxuICAgICAgICBmYWxzZSxcXG4gICAgICAgIGRhdGEudHlwZSArICcgbm90IGZvdW5kIGluICcgK1xcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHN0YXRlLmNob2ljZSkpKTtcXG4gIH1cXG4gIHJldHVybiBub2RlLl9lbmNvZGUoZGF0YS52YWx1ZSwgcmVwb3J0ZXIpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2VuY29kZVByaW1pdGl2ZSA9IGZ1bmN0aW9uIGVuY29kZVByaW1pdGl2ZSh0YWcsIGRhdGEpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGlmICgvc3RyJC8udGVzdCh0YWcpKVxcbiAgICByZXR1cm4gdGhpcy5fZW5jb2RlU3RyKGRhdGEsIHRhZyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdvYmppZCcgJiYgc3RhdGUuYXJncylcXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGRhdGEsIHN0YXRlLnJldmVyc2VBcmdzWzBdLCBzdGF0ZS5hcmdzWzFdKTtcXG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iamlkJylcXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGRhdGEsIG51bGwsIG51bGwpO1xcbiAgZWxzZSBpZiAodGFnID09PSAnZ2VudGltZScgfHwgdGFnID09PSAndXRjdGltZScpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVUaW1lKGRhdGEsIHRhZyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdudWxsXycpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVOdWxsKCk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdpbnQnIHx8IHRhZyA9PT0gJ2VudW0nKVxcbiAgICByZXR1cm4gdGhpcy5fZW5jb2RlSW50KGRhdGEsIHN0YXRlLmFyZ3MgJiYgc3RhdGUucmV2ZXJzZUFyZ3NbMF0pO1xcbiAgZWxzZSBpZiAodGFnID09PSAnYm9vbCcpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVCb29sKGRhdGEpO1xcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqRGVzYycpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVTdHIoZGF0YSwgdGFnKTtcXG4gIGVsc2VcXG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB0YWc6ICcgKyB0YWcpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2lzTnVtc3RyID0gZnVuY3Rpb24gaXNOdW1zdHIoc3RyKSB7XFxuICByZXR1cm4gL15bMC05IF0qJC8udGVzdChzdHIpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2lzUHJpbnRzdHIgPSBmdW5jdGlvbiBpc1ByaW50c3RyKHN0cikge1xcbiAgcmV0dXJuIC9eW0EtWmEtejAtOSAnXFxcXChcXFxcKVxcXFwrLFxcXFwtXFxcXC5cXFxcLzo9XFxcXD9dKiQvLnRlc3Qoc3RyKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJKaGMyVXZibTlrWlM1cWN6OHhNR1F3SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3NFJFRkJVenRCUVVOb1F5eHZRa0ZCYjBJc2JVSkJRVThzUTBGQlF5dzRSRUZCVXp0QlFVTnlReXh2UWtGQmIwSXNiVUpCUVU4c1EwRkJReXc0UkVGQlV6dEJRVU55UXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBWQlFYRkNPenRCUVVVeFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3UVVGRlNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2RDUVVGblFqdEJRVU5vUWp0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwySmhjMlV2Ym05a1pTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJTWlhCdmNuUmxjaUE5SUhKbGNYVnBjbVVvSnk0dUwySmhjMlVuS1M1U1pYQnZjblJsY2p0Y2JuWmhjaUJGYm1OdlpHVnlRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25MaTR2WW1GelpTY3BMa1Z1WTI5a1pYSkNkV1ptWlhJN1hHNTJZWElnUkdWamIyUmxja0oxWm1abGNpQTlJSEpsY1hWcGNtVW9KeTR1TDJKaGMyVW5LUzVFWldOdlpHVnlRblZtWm1WeU8xeHVkbUZ5SUdGemMyVnlkQ0E5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWhjM05sY25RbktUdGNibHh1THk4Z1UzVndjRzl5ZEdWa0lIUmhaM05jYm5aaGNpQjBZV2R6SUQwZ1cxeHVJQ0FuYzJWeEp5d2dKM05sY1c5bUp5d2dKM05sZENjc0lDZHpaWFJ2Wmljc0lDZHZZbXBwWkNjc0lDZGliMjlzSnl4Y2JpQWdKMmRsYm5ScGJXVW5MQ0FuZFhSamRHbHRaU2NzSUNkdWRXeHNYeWNzSUNkbGJuVnRKeXdnSjJsdWRDY3NJQ2R2WW1wRVpYTmpKeXhjYmlBZ0oySnBkSE4wY2ljc0lDZGliWEJ6ZEhJbkxDQW5ZMmhoY25OMGNpY3NJQ2RuWlc1emRISW5MQ0FuWjNKaGNHaHpkSEluTENBbmFXRTFjM1J5Snl3Z0oybHpielkwTm5OMGNpY3NYRzRnSUNkdWRXMXpkSEluTENBbmIyTjBjM1J5Snl3Z0ozQnlhVzUwYzNSeUp5d2dKM1EyTVhOMGNpY3NJQ2QxYm1semRISW5MQ0FuZFhSbU9ITjBjaWNzSUNkMmFXUmxiM04wY2lkY2JsMDdYRzVjYmk4dklGQjFZbXhwWXlCdFpYUm9iMlJ6SUd4cGMzUmNiblpoY2lCdFpYUm9iMlJ6SUQwZ1cxeHVJQ0FuYTJWNUp5d2dKMjlpYWljc0lDZDFjMlVuTENBbmIzQjBhVzl1WVd3bkxDQW5aWGh3YkdsamFYUW5MQ0FuYVcxd2JHbGphWFFuTENBblpHVm1KeXdnSjJOb2IybGpaU2NzWEc0Z0lDZGhibmtuTENBblkyOXVkR0ZwYm5NblhHNWRMbU52Ym1OaGRDaDBZV2R6S1R0Y2JseHVMeThnVDNabGNuSnBaR1ZrSUcxbGRHaHZaSE1nYkdsemRGeHVkbUZ5SUc5MlpYSnlhV1JsWkNBOUlGdGNiaUFnSjE5d1pXVnJWR0ZuSnl3Z0oxOWtaV052WkdWVVlXY25MQ0FuWDNWelpTY3NYRzRnSUNkZlpHVmpiMlJsVTNSeUp5d2dKMTlrWldOdlpHVlBZbXBwWkNjc0lDZGZaR1ZqYjJSbFZHbHRaU2NzWEc0Z0lDZGZaR1ZqYjJSbFRuVnNiQ2NzSUNkZlpHVmpiMlJsU1c1MEp5d2dKMTlrWldOdlpHVkNiMjlzSnl3Z0oxOWtaV052WkdWTWFYTjBKeXhjYmx4dUlDQW5YMlZ1WTI5a1pVTnZiWEJ2YzJsMFpTY3NJQ2RmWlc1amIyUmxVM1J5Snl3Z0oxOWxibU52WkdWUFltcHBaQ2NzSUNkZlpXNWpiMlJsVkdsdFpTY3NYRzRnSUNkZlpXNWpiMlJsVG5Wc2JDY3NJQ2RmWlc1amIyUmxTVzUwSnl3Z0oxOWxibU52WkdWQ2IyOXNKMXh1WFR0Y2JseHVablZ1WTNScGIyNGdUbTlrWlNobGJtTXNJSEJoY21WdWRDa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjdmVHRjYmlBZ2RHaHBjeTVmWW1GelpWTjBZWFJsSUQwZ2MzUmhkR1U3WEc1Y2JpQWdjM1JoZEdVdVpXNWpJRDBnWlc1ak8xeHVYRzRnSUhOMFlYUmxMbkJoY21WdWRDQTlJSEJoY21WdWRDQjhmQ0J1ZFd4c08xeHVJQ0J6ZEdGMFpTNWphR2xzWkhKbGJpQTlJRzUxYkd3N1hHNWNiaUFnTHk4Z1UzUmhkR1ZjYmlBZ2MzUmhkR1V1ZEdGbklEMGdiblZzYkR0Y2JpQWdjM1JoZEdVdVlYSm5jeUE5SUc1MWJHdzdYRzRnSUhOMFlYUmxMbkpsZG1WeWMyVkJjbWR6SUQwZ2JuVnNiRHRjYmlBZ2MzUmhkR1V1WTJodmFXTmxJRDBnYm5Wc2JEdGNiaUFnYzNSaGRHVXViM0IwYVc5dVlXd2dQU0JtWVd4elpUdGNiaUFnYzNSaGRHVXVZVzU1SUQwZ1ptRnNjMlU3WEc0Z0lITjBZWFJsTG05aWFpQTlJR1poYkhObE8xeHVJQ0J6ZEdGMFpTNTFjMlVnUFNCdWRXeHNPMXh1SUNCemRHRjBaUzUxYzJWRVpXTnZaR1Z5SUQwZ2JuVnNiRHRjYmlBZ2MzUmhkR1V1YTJWNUlEMGdiblZzYkR0Y2JpQWdjM1JoZEdWYkoyUmxabUYxYkhRblhTQTlJRzUxYkd3N1hHNGdJSE4wWVhSbExtVjRjR3hwWTJsMElEMGdiblZzYkR0Y2JpQWdjM1JoZEdVdWFXMXdiR2xqYVhRZ1BTQnVkV3hzTzF4dUlDQnpkR0YwWlM1amIyNTBZV2x1Y3lBOUlHNTFiR3c3WEc1Y2JpQWdMeThnVTJodmRXeGtJR055WldGMFpTQnVaWGNnYVc1emRHRnVZMlVnYjI0Z1pXRmphQ0J0WlhSb2IyUmNiaUFnYVdZZ0tDRnpkR0YwWlM1d1lYSmxiblFwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWphR2xzWkhKbGJpQTlJRnRkTzF4dUlDQWdJSFJvYVhNdVgzZHlZWEFvS1R0Y2JpQWdmVnh1ZlZ4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCT2IyUmxPMXh1WEc1MllYSWdjM1JoZEdWUWNtOXdjeUE5SUZ0Y2JpQWdKMlZ1WXljc0lDZHdZWEpsYm5RbkxDQW5ZMmhwYkdSeVpXNG5MQ0FuZEdGbkp5d2dKMkZ5WjNNbkxDQW5jbVYyWlhKelpVRnlaM01uTENBblkyaHZhV05sSnl4Y2JpQWdKMjl3ZEdsdmJtRnNKeXdnSjJGdWVTY3NJQ2R2WW1vbkxDQW5kWE5sSnl3Z0oyRnNkR1Z5WldSVmMyVW5MQ0FuYTJWNUp5d2dKMlJsWm1GMWJIUW5MQ0FuWlhod2JHbGphWFFuTEZ4dUlDQW5hVzF3YkdsamFYUW5MQ0FuWTI5dWRHRnBibk1uWEc1ZE8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWpiRzl1WlNBOUlHWjFibU4wYVc5dUlHTnNiMjVsS0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc0Z0lIWmhjaUJqYzNSaGRHVWdQU0I3ZlR0Y2JpQWdjM1JoZEdWUWNtOXdjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVLSEJ5YjNBcElIdGNiaUFnSUNCamMzUmhkR1ZiY0hKdmNGMGdQU0J6ZEdGMFpWdHdjbTl3WFR0Y2JpQWdmU2s3WEc0Z0lIWmhjaUJ5WlhNZ1BTQnVaWGNnZEdocGN5NWpiMjV6ZEhKMVkzUnZjaWhqYzNSaGRHVXVjR0Z5Wlc1MEtUdGNiaUFnY21WekxsOWlZWE5sVTNSaGRHVWdQU0JqYzNSaGRHVTdYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1WEc1T2IyUmxMbkJ5YjNSdmRIbHdaUzVmZDNKaGNDQTlJR1oxYm1OMGFXOXVJSGR5WVhBb0tTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDJKaGMyVlRkR0YwWlR0Y2JpQWdiV1YwYUc5a2N5NW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHMWxkR2h2WkNrZ2UxeHVJQ0FnSUhSb2FYTmJiV1YwYUc5a1hTQTlJR1oxYm1OMGFXOXVJRjkzY21Gd2NHVmtUV1YwYUc5a0tDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdOc2IyNWxJRDBnYm1WM0lIUm9hWE11WTI5dWMzUnlkV04wYjNJb2RHaHBjeWs3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWphR2xzWkhKbGJpNXdkWE5vS0dOc2IyNWxLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpiRzl1WlZ0dFpYUm9iMlJkTG1Gd2NHeDVLR05zYjI1bExDQmhjbWQxYldWdWRITXBPMXh1SUNBZ0lIMDdYRzRnSUgwc0lIUm9hWE1wTzF4dWZUdGNibHh1VG05a1pTNXdjbTkwYjNSNWNHVXVYMmx1YVhRZ1BTQm1kVzVqZEdsdmJpQnBibWwwS0dKdlpIa3BJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZlltRnpaVk4wWVhSbE8xeHVYRzRnSUdGemMyVnlkQ2h6ZEdGMFpTNXdZWEpsYm5RZ1BUMDlJRzUxYkd3cE8xeHVJQ0JpYjJSNUxtTmhiR3dvZEdocGN5azdYRzVjYmlBZ0x5OGdSbWxzZEdWeUlHTm9hV3hrY21WdVhHNGdJSE4wWVhSbExtTm9hV3hrY21WdUlEMGdjM1JoZEdVdVkyaHBiR1J5Wlc0dVptbHNkR1Z5S0daMWJtTjBhVzl1S0dOb2FXeGtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTm9hV3hrTGw5aVlYTmxVM1JoZEdVdWNHRnlaVzUwSUQwOVBTQjBhR2x6TzF4dUlDQjlMQ0IwYUdsektUdGNiaUFnWVhOelpYSjBMbVZ4ZFdGc0tITjBZWFJsTG1Ob2FXeGtjbVZ1TG14bGJtZDBhQ3dnTVN3Z0oxSnZiM1FnYm05a1pTQmpZVzRnYUdGMlpTQnZibXg1SUc5dVpTQmphR2xzWkNjcE8xeHVmVHRjYmx4dVRtOWtaUzV3Y205MGIzUjVjR1V1WDNWelpVRnlaM01nUFNCbWRXNWpkR2x2YmlCMWMyVkJjbWR6S0dGeVozTXBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZlltRnpaVk4wWVhSbE8xeHVYRzRnSUM4dklFWnBiSFJsY2lCamFHbHNaSEpsYmlCaGJtUWdZWEpuYzF4dUlDQjJZWElnWTJocGJHUnlaVzRnUFNCaGNtZHpMbVpwYkhSbGNpaG1kVzVqZEdsdmJpaGhjbWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZWEpuSUdsdWMzUmhibU5sYjJZZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2p0Y2JpQWdmU3dnZEdocGN5azdYRzRnSUdGeVozTWdQU0JoY21kekxtWnBiSFJsY2lobWRXNWpkR2x2YmloaGNtY3BJSHRjYmlBZ0lDQnlaWFIxY200Z0lTaGhjbWNnYVc1emRHRnVZMlZ2WmlCMGFHbHpMbU52Ym5OMGNuVmpkRzl5S1R0Y2JpQWdmU3dnZEdocGN5azdYRzVjYmlBZ2FXWWdLR05vYVd4a2NtVnVMbXhsYm1kMGFDQWhQVDBnTUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h6ZEdGMFpTNWphR2xzWkhKbGJpQTlQVDBnYm5Wc2JDazdYRzRnSUNBZ2MzUmhkR1V1WTJocGJHUnlaVzRnUFNCamFHbHNaSEpsYmp0Y2JseHVJQ0FnSUM4dklGSmxjR3hoWTJVZ2NHRnlaVzUwSUhSdklHMWhhVzUwWVdsdUlHSmhZMnQzWVhKa0lHeHBibXRjYmlBZ0lDQmphR2xzWkhKbGJpNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHTm9hV3hrS1NCN1hHNGdJQ0FnSUNCamFHbHNaQzVmWW1GelpWTjBZWFJsTG5CaGNtVnVkQ0E5SUhSb2FYTTdYRzRnSUNBZ2ZTd2dkR2hwY3lrN1hHNGdJSDFjYmlBZ2FXWWdLR0Z5WjNNdWJHVnVaM1JvSUNFOVBTQXdLU0I3WEc0Z0lDQWdZWE56WlhKMEtITjBZWFJsTG1GeVozTWdQVDA5SUc1MWJHd3BPMXh1SUNBZ0lITjBZWFJsTG1GeVozTWdQU0JoY21kek8xeHVJQ0FnSUhOMFlYUmxMbkpsZG1WeWMyVkJjbWR6SUQwZ1lYSm5jeTV0WVhBb1puVnVZM1JwYjI0b1lYSm5LU0I3WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUdGeVp5QWhQVDBnSjI5aWFtVmpkQ2NnZkh3Z1lYSm5MbU52Ym5OMGNuVmpkRzl5SUNFOVBTQlBZbXBsWTNRcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaGNtYzdYRzVjYmlBZ0lDQWdJSFpoY2lCeVpYTWdQU0I3ZlR0Y2JpQWdJQ0FnSUU5aWFtVmpkQzVyWlhsektHRnlaeWt1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhyWlhrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0d0bGVTQTlQU0FvYTJWNUlId2dNQ2twWEc0Z0lDQWdJQ0FnSUNBZ2EyVjVJSHc5SURBN1hHNGdJQ0FnSUNBZ0lIWmhjaUIyWVd4MVpTQTlJR0Z5WjF0clpYbGRPMXh1SUNBZ0lDQWdJQ0J5WlhOYmRtRnNkV1ZkSUQwZ2EyVjVPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5TzF4dVhHNHZMMXh1THk4Z1QzWmxjbkpwWkdWa0lHMWxkR2h2WkhOY2JpOHZYRzVjYm05MlpYSnlhV1JsWkM1bWIzSkZZV05vS0daMWJtTjBhVzl1S0cxbGRHaHZaQ2tnZTF4dUlDQk9iMlJsTG5CeWIzUnZkSGx3WlZ0dFpYUm9iMlJkSUQwZ1puVnVZM1JwYjI0Z1gyOTJaWEp5YVdSbFpDZ3BJSHRjYmlBZ0lDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0cxbGRHaHZaQ0FySUNjZ2JtOTBJR2x0Y0d4bGJXVnVkR1ZrSUdadmNpQmxibU52WkdsdVp6b2dKeUFySUhOMFlYUmxMbVZ1WXlrN1hHNGdJSDA3WEc1OUtUdGNibHh1THk5Y2JpOHZJRkIxWW14cFl5QnRaWFJvYjJSelhHNHZMMXh1WEc1MFlXZHpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9kR0ZuS1NCN1hHNGdJRTV2WkdVdWNISnZkRzkwZVhCbFczUmhaMTBnUFNCbWRXNWpkR2x2YmlCZmRHRm5UV1YwYUc5a0tDa2dlMXh1SUNBZ0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgySmhjMlZUZEdGMFpUdGNiaUFnSUNCMllYSWdZWEpuY3lBOUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5azdYRzVjYmlBZ0lDQmhjM05sY25Rb2MzUmhkR1V1ZEdGbklEMDlQU0J1ZFd4c0tUdGNiaUFnSUNCemRHRjBaUzUwWVdjZ1BTQjBZV2M3WEc1Y2JpQWdJQ0IwYUdsekxsOTFjMlZCY21kektHRnlaM01wTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1OUtUdGNibHh1VG05a1pTNXdjbTkwYjNSNWNHVXVkWE5sSUQwZ1puVnVZM1JwYjI0Z2RYTmxLR2wwWlcwcElIdGNiaUFnWVhOelpYSjBLR2wwWlcwcE8xeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdZWE56WlhKMEtITjBZWFJsTG5WelpTQTlQVDBnYm5Wc2JDazdYRzRnSUhOMFlYUmxMblZ6WlNBOUlHbDBaVzA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXZjSFJwYjI1aGJDQTlJR1oxYm1OMGFXOXVJRzl3ZEdsdmJtRnNLQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzVjYmlBZ2MzUmhkR1V1YjNCMGFXOXVZV3dnUFNCMGNuVmxPMXh1WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlR0Y2JseHVUbTlrWlM1d2NtOTBiM1I1Y0dVdVpHVm1JRDBnWm5WdVkzUnBiMjRnWkdWbUtIWmhiQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzVjYmlBZ1lYTnpaWEowS0hOMFlYUmxXeWRrWldaaGRXeDBKMTBnUFQwOUlHNTFiR3dwTzF4dUlDQnpkR0YwWlZzblpHVm1ZWFZzZENkZElEMGdkbUZzTzF4dUlDQnpkR0YwWlM1dmNIUnBiMjVoYkNBOUlIUnlkV1U3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWxlSEJzYVdOcGRDQTlJR1oxYm1OMGFXOXVJR1Y0Y0d4cFkybDBLRzUxYlNrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdZWE56WlhKMEtITjBZWFJsTG1WNGNHeHBZMmwwSUQwOVBTQnVkV3hzSUNZbUlITjBZWFJsTG1sdGNHeHBZMmwwSUQwOVBTQnVkV3hzS1R0Y2JpQWdjM1JoZEdVdVpYaHdiR2xqYVhRZ1BTQnVkVzA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXBiWEJzYVdOcGRDQTlJR1oxYm1OMGFXOXVJR2x0Y0d4cFkybDBLRzUxYlNrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdZWE56WlhKMEtITjBZWFJsTG1WNGNHeHBZMmwwSUQwOVBTQnVkV3hzSUNZbUlITjBZWFJsTG1sdGNHeHBZMmwwSUQwOVBTQnVkV3hzS1R0Y2JpQWdjM1JoZEdVdWFXMXdiR2xqYVhRZ1BTQnVkVzA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXZZbW9nUFNCbWRXNWpkR2x2YmlCdlltb29LU0I3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgySmhjMlZUZEdGMFpUdGNiaUFnZG1GeUlHRnlaM01nUFNCQmNuSmhlUzV3Y205MGIzUjVjR1V1YzJ4cFkyVXVZMkZzYkNoaGNtZDFiV1Z1ZEhNcE8xeHVYRzRnSUhOMFlYUmxMbTlpYWlBOUlIUnlkV1U3WEc1Y2JpQWdhV1lnS0dGeVozTXViR1Z1WjNSb0lDRTlQU0F3S1Z4dUlDQWdJSFJvYVhNdVgzVnpaVUZ5WjNNb1lYSm5jeWs3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXJaWGtnUFNCbWRXNWpkR2x2YmlCclpYa29ibVYzUzJWNUtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDJKaGMyVlRkR0YwWlR0Y2JseHVJQ0JoYzNObGNuUW9jM1JoZEdVdWEyVjVJRDA5UFNCdWRXeHNLVHRjYmlBZ2MzUmhkR1V1YTJWNUlEMGdibVYzUzJWNU8xeHVYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVRtOWtaUzV3Y205MGIzUjVjR1V1WVc1NUlEMGdablZ1WTNScGIyNGdZVzU1S0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdjM1JoZEdVdVlXNTVJRDBnZEhKMVpUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JrNXZaR1V1Y0hKdmRHOTBlWEJsTG1Ob2IybGpaU0E5SUdaMWJtTjBhVzl1SUdOb2IybGpaU2h2WW1vcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dVhHNGdJR0Z6YzJWeWRDaHpkR0YwWlM1amFHOXBZMlVnUFQwOUlHNTFiR3dwTzF4dUlDQnpkR0YwWlM1amFHOXBZMlVnUFNCdlltbzdYRzRnSUhSb2FYTXVYM1Z6WlVGeVozTW9UMkpxWldOMExtdGxlWE1vYjJKcUtTNXRZWEFvWm5WdVkzUnBiMjRvYTJWNUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc5aWFsdHJaWGxkTzF4dUlDQjlLU2s3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWpiMjUwWVdsdWN5QTlJR1oxYm1OMGFXOXVJR052Ym5SaGFXNXpLR2wwWlcwcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dVhHNGdJR0Z6YzJWeWRDaHpkR0YwWlM1MWMyVWdQVDA5SUc1MWJHd3BPMXh1SUNCemRHRjBaUzVqYjI1MFlXbHVjeUE5SUdsMFpXMDdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNHZMMXh1THk4Z1JHVmpiMlJwYm1kY2JpOHZYRzVjYms1dlpHVXVjSEp2ZEc5MGVYQmxMbDlrWldOdlpHVWdQU0JtZFc1amRHbHZiaUJrWldOdlpHVW9hVzV3ZFhRc0lHOXdkR2x2Ym5NcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dVhHNGdJQzh2SUVSbFkyOWtaU0J5YjI5MElHNXZaR1ZjYmlBZ2FXWWdLSE4wWVhSbExuQmhjbVZ1ZENBOVBUMGdiblZzYkNsY2JpQWdJQ0J5WlhSMWNtNGdhVzV3ZFhRdWQzSmhjRkpsYzNWc2RDaHpkR0YwWlM1amFHbHNaSEpsYmxzd1hTNWZaR1ZqYjJSbEtHbHVjSFYwTENCdmNIUnBiMjV6S1NrN1hHNWNiaUFnZG1GeUlISmxjM1ZzZENBOUlITjBZWFJsV3lka1pXWmhkV3gwSjEwN1hHNGdJSFpoY2lCd2NtVnpaVzUwSUQwZ2RISjFaVHRjYmx4dUlDQjJZWElnY0hKbGRrdGxlU0E5SUc1MWJHdzdYRzRnSUdsbUlDaHpkR0YwWlM1clpYa2dJVDA5SUc1MWJHd3BYRzRnSUNBZ2NISmxka3RsZVNBOUlHbHVjSFYwTG1WdWRHVnlTMlY1S0hOMFlYUmxMbXRsZVNrN1hHNWNiaUFnTHk4Z1EyaGxZMnNnYVdZZ2RHRm5JR2x6SUhSb1pYSmxYRzRnSUdsbUlDaHpkR0YwWlM1dmNIUnBiMjVoYkNrZ2UxeHVJQ0FnSUhaaGNpQjBZV2NnUFNCdWRXeHNPMXh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWxlSEJzYVdOcGRDQWhQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lIUmhaeUE5SUhOMFlYUmxMbVY0Y0d4cFkybDBPMXh1SUNBZ0lHVnNjMlVnYVdZZ0tITjBZWFJsTG1sdGNHeHBZMmwwSUNFOVBTQnVkV3hzS1Z4dUlDQWdJQ0FnZEdGbklEMGdjM1JoZEdVdWFXMXdiR2xqYVhRN1hHNGdJQ0FnWld4elpTQnBaaUFvYzNSaGRHVXVkR0ZuSUNFOVBTQnVkV3hzS1Z4dUlDQWdJQ0FnZEdGbklEMGdjM1JoZEdVdWRHRm5PMXh1WEc0Z0lDQWdhV1lnS0hSaFp5QTlQVDBnYm5Wc2JDQW1KaUFoYzNSaGRHVXVZVzU1S1NCN1hHNGdJQ0FnSUNBdkx5QlVjbWxoYkNCaGJtUWdSWEp5YjNKY2JpQWdJQ0FnSUhaaGNpQnpZWFpsSUQwZ2FXNXdkWFF1YzJGMlpTZ3BPMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSE4wWVhSbExtTm9iMmxqWlNBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5a1pXTnZaR1ZIWlc1bGNtbGpLSE4wWVhSbExuUmhaeXdnYVc1d2RYUXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1ZlpHVmpiMlJsUTJodmFXTmxLR2x1Y0hWMExDQnZjSFJwYjI1ektUdGNiaUFnSUNBZ0lDQWdjSEpsYzJWdWRDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJSEJ5WlhObGJuUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbHVjSFYwTG5KbGMzUnZjbVVvYzJGMlpTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhCeVpYTmxiblFnUFNCMGFHbHpMbDl3WldWclZHRm5LR2x1Y0hWMExDQjBZV2NzSUhOMFlYUmxMbUZ1ZVNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hwYm5CMWRDNXBjMFZ5Y205eUtIQnlaWE5sYm5RcEtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISmxjMlZ1ZER0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdkx5QlFkWE5vSUc5aWFtVmpkQ0J2YmlCemRHRmphMXh1SUNCMllYSWdjSEpsZGs5aWFqdGNiaUFnYVdZZ0tITjBZWFJsTG05aWFpQW1KaUJ3Y21WelpXNTBLVnh1SUNBZ0lIQnlaWFpQWW1vZ1BTQnBibkIxZEM1bGJuUmxjazlpYW1WamRDZ3BPMXh1WEc0Z0lHbG1JQ2h3Y21WelpXNTBLU0I3WEc0Z0lDQWdMeThnVlc1M2NtRndJR1Y0Y0d4cFkybDBJSFpoYkhWbGMxeHVJQ0FnSUdsbUlDaHpkR0YwWlM1bGVIQnNhV05wZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RtRnlJR1Y0Y0d4cFkybDBJRDBnZEdocGN5NWZaR1ZqYjJSbFZHRm5LR2x1Y0hWMExDQnpkR0YwWlM1bGVIQnNhV05wZENrN1hHNGdJQ0FnSUNCcFppQW9hVzV3ZFhRdWFYTkZjbkp2Y2lobGVIQnNhV05wZENrcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGVIQnNhV05wZER0Y2JpQWdJQ0FnSUdsdWNIVjBJRDBnWlhod2JHbGphWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhOMFlYSjBJRDBnYVc1d2RYUXViMlptYzJWME8xeHVYRzRnSUNBZ0x5OGdWVzUzY21Gd0lHbHRjR3hwWTJsMElHRnVaQ0J1YjNKdFlXd2dkbUZzZFdWelhHNGdJQ0FnYVdZZ0tITjBZWFJsTG5WelpTQTlQVDBnYm5Wc2JDQW1KaUJ6ZEdGMFpTNWphRzlwWTJVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2h6ZEdGMFpTNWhibmtwWEc0Z0lDQWdJQ0FnSUhaaGNpQnpZWFpsSUQwZ2FXNXdkWFF1YzJGMlpTZ3BPMXh1SUNBZ0lDQWdkbUZ5SUdKdlpIa2dQU0IwYUdsekxsOWtaV052WkdWVVlXY29YRzRnSUNBZ0lDQWdJR2x1Y0hWMExGeHVJQ0FnSUNBZ0lDQnpkR0YwWlM1cGJYQnNhV05wZENBaFBUMGdiblZzYkNBL0lITjBZWFJsTG1sdGNHeHBZMmwwSURvZ2MzUmhkR1V1ZEdGbkxGeHVJQ0FnSUNBZ0lDQnpkR0YwWlM1aGJubGNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQnBaaUFvYVc1d2RYUXVhWE5GY25KdmNpaGliMlI1S1NsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdKdlpIazdYRzVjYmlBZ0lDQWdJR2xtSUNoemRHRjBaUzVoYm5rcFhHNGdJQ0FnSUNBZ0lISmxjM1ZzZENBOUlHbHVjSFYwTG5KaGR5aHpZWFpsS1R0Y2JpQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdhVzV3ZFhRZ1BTQmliMlI1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6SUNZbUlHOXdkR2x2Ym5NdWRISmhZMnNnSmlZZ2MzUmhkR1V1ZEdGbklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1MGNtRmpheWhwYm5CMWRDNXdZWFJvS0Nrc0lITjBZWEowTENCcGJuQjFkQzVzWlc1bmRHZ3NJQ2QwWVdkblpXUW5LVHRjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6SUNZbUlHOXdkR2x2Ym5NdWRISmhZMnNnSmlZZ2MzUmhkR1V1ZEdGbklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1MGNtRmpheWhwYm5CMWRDNXdZWFJvS0Nrc0lHbHVjSFYwTG05bVpuTmxkQ3dnYVc1d2RYUXViR1Z1WjNSb0xDQW5ZMjl1ZEdWdWRDY3BPMXh1WEc0Z0lDQWdMeThnVTJWc1pXTjBJSEJ5YjNCbGNpQnRaWFJvYjJRZ1ptOXlJSFJoWjF4dUlDQWdJR2xtSUNoemRHRjBaUzVoYm5rcFhHNGdJQ0FnSUNCeVpYTjFiSFFnUFNCeVpYTjFiSFE3WEc0Z0lDQWdaV3h6WlNCcFppQW9jM1JoZEdVdVkyaHZhV05sSUQwOVBTQnVkV3hzS1Z4dUlDQWdJQ0FnY21WemRXeDBJRDBnZEdocGN5NWZaR1ZqYjJSbFIyVnVaWEpwWXloemRHRjBaUzUwWVdjc0lHbHVjSFYwTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0JsYkhObFhHNGdJQ0FnSUNCeVpYTjFiSFFnUFNCMGFHbHpMbDlrWldOdlpHVkRhRzlwWTJVb2FXNXdkWFFzSUc5d2RHbHZibk1wTzF4dVhHNGdJQ0FnYVdZZ0tHbHVjSFYwTG1selJYSnliM0lvY21WemRXeDBLU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNWNiaUFnSUNBdkx5QkVaV052WkdVZ1kyaHBiR1J5Wlc1Y2JpQWdJQ0JwWmlBb0lYTjBZWFJsTG1GdWVTQW1KaUJ6ZEdGMFpTNWphRzlwWTJVZ1BUMDlJRzUxYkd3Z0ppWWdjM1JoZEdVdVkyaHBiR1J5Wlc0Z0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lITjBZWFJsTG1Ob2FXeGtjbVZ1TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnWkdWamIyUmxRMmhwYkdSeVpXNG9ZMmhwYkdRcElIdGNiaUFnSUNBZ0lDQWdMeThnVGs5VVJUb2dWMlVnWVhKbElHbG5ibTl5YVc1bklHVnljbTl5Y3lCb1pYSmxMQ0IwYnlCc1pYUWdjR0Z5YzJWeUlHTnZiblJwYm5WbElIZHBkR2dnYjNSb1pYSmNiaUFnSUNBZ0lDQWdMeThnY0dGeWRITWdiMllnWlc1amIyUmxaQ0JrWVhSaFhHNGdJQ0FnSUNBZ0lHTm9hV3hrTGw5a1pXTnZaR1VvYVc1d2RYUXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUkdWamIyUmxJR052Ym5SaGFXNWxaQzlsYm1OdlpHVmtJR0o1SUhOamFHVnRZU3dnYjI1c2VTQnBiaUJpYVhRZ2IzSWdiMk4wWlhRZ2MzUnlhVzVuYzF4dUlDQWdJR2xtSUNoemRHRjBaUzVqYjI1MFlXbHVjeUFtSmlBb2MzUmhkR1V1ZEdGbklEMDlQU0FuYjJOMGMzUnlKeUI4ZkNCemRHRjBaUzUwWVdjZ1BUMDlJQ2RpYVhSemRISW5LU2tnZTF4dUlDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCdVpYY2dSR1ZqYjJSbGNrSjFabVpsY2loeVpYTjFiSFFwTzF4dUlDQWdJQ0FnY21WemRXeDBJRDBnZEdocGN5NWZaMlYwVlhObEtITjBZWFJsTG1OdmJuUmhhVzV6TENCcGJuQjFkQzVmY21Wd2IzSjBaWEpUZEdGMFpTNXZZbW9wWEc0Z0lDQWdJQ0FnSUNBZ0xsOWtaV052WkdVb1pHRjBZU3dnYjNCMGFXOXVjeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHk4Z1VHOXdJRzlpYW1WamRGeHVJQ0JwWmlBb2MzUmhkR1V1YjJKcUlDWW1JSEJ5WlhObGJuUXBYRzRnSUNBZ2NtVnpkV3gwSUQwZ2FXNXdkWFF1YkdWaGRtVlBZbXBsWTNRb2NISmxkazlpYWlrN1hHNWNiaUFnTHk4Z1UyVjBJR3RsZVZ4dUlDQnBaaUFvYzNSaGRHVXVhMlY1SUNFOVBTQnVkV3hzSUNZbUlDaHlaWE4xYkhRZ0lUMDlJRzUxYkd3Z2ZId2djSEpsYzJWdWRDQTlQVDBnZEhKMVpTa3BYRzRnSUNBZ2FXNXdkWFF1YkdWaGRtVkxaWGtvY0hKbGRrdGxlU3dnYzNSaGRHVXVhMlY1TENCeVpYTjFiSFFwTzF4dUlDQmxiSE5sSUdsbUlDaHdjbVYyUzJWNUlDRTlQU0J1ZFd4c0tWeHVJQ0FnSUdsdWNIVjBMbVY0YVhSTFpYa29jSEpsZGt0bGVTazdYRzVjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4wN1hHNWNiazV2WkdVdWNISnZkRzkwZVhCbExsOWtaV052WkdWSFpXNWxjbWxqSUQwZ1puVnVZM1JwYjI0Z1pHVmpiMlJsUjJWdVpYSnBZeWgwWVdjc0lHbHVjSFYwTENCdmNIUnBiMjV6S1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYMkpoYzJWVGRHRjBaVHRjYmx4dUlDQnBaaUFvZEdGbklEMDlQU0FuYzJWeEp5QjhmQ0IwWVdjZ1BUMDlJQ2R6WlhRbktWeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0JwWmlBb2RHRm5JRDA5UFNBbmMyVnhiMlluSUh4OElIUmhaeUE5UFQwZ0ozTmxkRzltSnlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmpiMlJsVEdsemRDaHBibkIxZEN3Z2RHRm5MQ0J6ZEdGMFpTNWhjbWR6V3pCZExDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvTDNOMGNpUXZMblJsYzNRb2RHRm5LU2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWkdWamIyUmxVM1J5S0dsdWNIVjBMQ0IwWVdjc0lHOXdkR2x2Ym5NcE8xeHVJQ0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2R2WW1wcFpDY2dKaVlnYzNSaGRHVXVZWEpuY3lsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmpiMlJsVDJKcWFXUW9hVzV3ZFhRc0lITjBZWFJsTG1GeVozTmJNRjBzSUhOMFlYUmxMbUZ5WjNOYk1WMHNJRzl3ZEdsdmJuTXBPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdlltcHBaQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJSbFkyOWtaVTlpYW1sa0tHbHVjSFYwTENCdWRXeHNMQ0J1ZFd4c0xDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuWjJWdWRHbHRaU2NnZkh3Z2RHRm5JRDA5UFNBbmRYUmpkR2x0WlNjcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyUmxZMjlrWlZScGJXVW9hVzV3ZFhRc0lIUmhaeXdnYjNCMGFXOXVjeWs3WEc0Z0lHVnNjMlVnYVdZZ0tIUmhaeUE5UFQwZ0oyNTFiR3hmSnlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmpiMlJsVG5Wc2JDaHBibkIxZEN3Z2IzQjBhVzl1Y3lrN1hHNGdJR1ZzYzJVZ2FXWWdLSFJoWnlBOVBUMGdKMkp2YjJ3bktWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWtaV052WkdWQ2IyOXNLR2x1Y0hWMExDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYjJKcVJHVnpZeWNwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJSbFkyOWtaVk4wY2locGJuQjFkQ3dnZEdGbkxDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYVc1MEp5QjhmQ0IwWVdjZ1BUMDlJQ2RsYm5WdEp5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaR1ZqYjJSbFNXNTBLR2x1Y0hWMExDQnpkR0YwWlM1aGNtZHpJQ1ltSUhOMFlYUmxMbUZ5WjNOYk1GMHNJRzl3ZEdsdmJuTXBPMXh1WEc0Z0lHbG1JQ2h6ZEdGMFpTNTFjMlVnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZloyVjBWWE5sS0hOMFlYUmxMblZ6WlN3Z2FXNXdkWFF1WDNKbGNHOXlkR1Z5VTNSaGRHVXViMkpxS1Z4dUlDQWdJQ0FnSUNBdVgyUmxZMjlrWlNocGJuQjFkQ3dnYjNCMGFXOXVjeWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJR2x1Y0hWMExtVnljbTl5S0NkMWJtdHViM2R1SUhSaFp6b2dKeUFySUhSaFp5azdYRzRnSUgxY2JuMDdYRzVjYms1dlpHVXVjSEp2ZEc5MGVYQmxMbDluWlhSVmMyVWdQU0JtZFc1amRHbHZiaUJmWjJWMFZYTmxLR1Z1ZEdsMGVTd2diMkpxS1NCN1hHNWNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dUlDQXZMeUJEY21WaGRHVWdZV3gwWlhKbFpDQjFjMlVnWkdWamIyUmxjaUJwWmlCcGJYQnNhV05wZENCcGN5QnpaWFJjYmlBZ2MzUmhkR1V1ZFhObFJHVmpiMlJsY2lBOUlIUm9hWE11WDNWelpTaGxiblJwZEhrc0lHOWlhaWs3WEc0Z0lHRnpjMlZ5ZENoemRHRjBaUzUxYzJWRVpXTnZaR1Z5TGw5aVlYTmxVM1JoZEdVdWNHRnlaVzUwSUQwOVBTQnVkV3hzS1R0Y2JpQWdjM1JoZEdVdWRYTmxSR1ZqYjJSbGNpQTlJSE4wWVhSbExuVnpaVVJsWTI5a1pYSXVYMkpoYzJWVGRHRjBaUzVqYUdsc1pISmxibHN3WFR0Y2JpQWdhV1lnS0hOMFlYUmxMbWx0Y0d4cFkybDBJQ0U5UFNCemRHRjBaUzUxYzJWRVpXTnZaR1Z5TGw5aVlYTmxVM1JoZEdVdWFXMXdiR2xqYVhRcElIdGNiaUFnSUNCemRHRjBaUzUxYzJWRVpXTnZaR1Z5SUQwZ2MzUmhkR1V1ZFhObFJHVmpiMlJsY2k1amJHOXVaU2dwTzF4dUlDQWdJSE4wWVhSbExuVnpaVVJsWTI5a1pYSXVYMkpoYzJWVGRHRjBaUzVwYlhCc2FXTnBkQ0E5SUhOMFlYUmxMbWx0Y0d4cFkybDBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnpkR0YwWlM1MWMyVkVaV052WkdWeU8xeHVmVHRjYmx4dVRtOWtaUzV3Y205MGIzUjVjR1V1WDJSbFkyOWtaVU5vYjJsalpTQTlJR1oxYm1OMGFXOXVJR1JsWTI5a1pVTm9iMmxqWlNocGJuQjFkQ3dnYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQnVkV3hzTzF4dUlDQjJZWElnYldGMFkyZ2dQU0JtWVd4elpUdGNibHh1SUNCUFltcGxZM1F1YTJWNWN5aHpkR0YwWlM1amFHOXBZMlVwTG5OdmJXVW9ablZ1WTNScGIyNG9hMlY1S1NCN1hHNGdJQ0FnZG1GeUlITmhkbVVnUFNCcGJuQjFkQzV6WVhabEtDazdYRzRnSUNBZ2RtRnlJRzV2WkdVZ1BTQnpkR0YwWlM1amFHOXBZMlZiYTJWNVhUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdkbUZ5SUhaaGJIVmxJRDBnYm05a1pTNWZaR1ZqYjJSbEtHbHVjSFYwTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0FnSUdsbUlDaHBibkIxZEM1cGMwVnljbTl5S0haaGJIVmxLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVYRzRnSUNBZ0lDQnlaWE4xYkhRZ1BTQjdJSFI1Y0dVNklHdGxlU3dnZG1Gc2RXVTZJSFpoYkhWbElIMDdYRzRnSUNBZ0lDQnRZWFJqYUNBOUlIUnlkV1U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnYVc1d2RYUXVjbVZ6ZEc5eVpTaHpZWFpsS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJSDBzSUhSb2FYTXBPMXh1WEc0Z0lHbG1JQ2doYldGMFkyZ3BYRzRnSUNBZ2NtVjBkWEp1SUdsdWNIVjBMbVZ5Y205eUtDZERhRzlwWTJVZ2JtOTBJRzFoZEdOb1pXUW5LVHRjYmx4dUlDQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZUdGNibHh1THk5Y2JpOHZJRVZ1WTI5a2FXNW5YRzR2TDF4dVhHNU9iMlJsTG5CeWIzUnZkSGx3WlM1ZlkzSmxZWFJsUlc1amIyUmxja0oxWm1abGNpQTlJR1oxYm1OMGFXOXVJR055WldGMFpVVnVZMjlrWlhKQ2RXWm1aWElvWkdGMFlTa2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFVnVZMjlrWlhKQ2RXWm1aWElvWkdGMFlTd2dkR2hwY3k1eVpYQnZjblJsY2lrN1hHNTlPMXh1WEc1T2IyUmxMbkJ5YjNSdmRIbHdaUzVmWlc1amIyUmxJRDBnWm5WdVkzUnBiMjRnWlc1amIyUmxLR1JoZEdFc0lISmxjRzl5ZEdWeUxDQndZWEpsYm5RcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dUlDQnBaaUFvYzNSaGRHVmJKMlJsWm1GMWJIUW5YU0FoUFQwZ2JuVnNiQ0FtSmlCemRHRjBaVnNuWkdWbVlYVnNkQ2RkSUQwOVBTQmtZWFJoS1Z4dUlDQWdJSEpsZEhWeWJqdGNibHh1SUNCMllYSWdjbVZ6ZFd4MElEMGdkR2hwY3k1ZlpXNWpiMlJsVm1Gc2RXVW9aR0YwWVN3Z2NtVndiM0owWlhJc0lIQmhjbVZ1ZENrN1hHNGdJR2xtSUNoeVpYTjFiSFFnUFQwOUlIVnVaR1ZtYVc1bFpDbGNiaUFnSUNCeVpYUjFjbTQ3WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM05yYVhCRVpXWmhkV3gwS0hKbGMzVnNkQ3dnY21Wd2IzSjBaWElzSUhCaGNtVnVkQ2twWEc0Z0lDQWdjbVYwZFhKdU8xeHVYRzRnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5TzF4dVhHNU9iMlJsTG5CeWIzUnZkSGx3WlM1ZlpXNWpiMlJsVm1Gc2RXVWdQU0JtZFc1amRHbHZiaUJsYm1OdlpHVW9aR0YwWVN3Z2NtVndiM0owWlhJc0lIQmhjbVZ1ZENrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdMeThnUkdWamIyUmxJSEp2YjNRZ2JtOWtaVnh1SUNCcFppQW9jM1JoZEdVdWNHRnlaVzUwSUQwOVBTQnVkV3hzS1Z4dUlDQWdJSEpsZEhWeWJpQnpkR0YwWlM1amFHbHNaSEpsYmxzd1hTNWZaVzVqYjJSbEtHUmhkR0VzSUhKbGNHOXlkR1Z5SUh4OElHNWxkeUJTWlhCdmNuUmxjaWdwS1R0Y2JseHVJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2JuVnNiRHRjYmx4dUlDQXZMeUJUWlhRZ2NtVndiM0owWlhJZ2RHOGdjMmhoY21VZ2FYUWdkMmwwYUNCaElHTm9hV3hrSUdOc1lYTnpYRzRnSUhSb2FYTXVjbVZ3YjNKMFpYSWdQU0J5WlhCdmNuUmxjanRjYmx4dUlDQXZMeUJEYUdWamF5QnBaaUJrWVhSaElHbHpJSFJvWlhKbFhHNGdJR2xtSUNoemRHRjBaUzV2Y0hScGIyNWhiQ0FtSmlCa1lYUmhJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNCcFppQW9jM1JoZEdWYkoyUmxabUYxYkhRblhTQWhQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lHUmhkR0VnUFNCemRHRjBaVnNuWkdWbVlYVnNkQ2RkWEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnTHk4Z1JXNWpiMlJsSUdOb2FXeGtjbVZ1SUdacGNuTjBYRzRnSUhaaGNpQmpiMjUwWlc1MElEMGdiblZzYkR0Y2JpQWdkbUZ5SUhCeWFXMXBkR2wyWlNBOUlHWmhiSE5sTzF4dUlDQnBaaUFvYzNSaGRHVXVZVzU1S1NCN1hHNGdJQ0FnTHk4Z1FXNTVkR2hwYm1jZ2RHaGhkQ0IzWVhNZ1oybDJaVzRnYVhNZ2RISmhibk5zWVhSbFpDQjBieUJpZFdabVpYSmNiaUFnSUNCeVpYTjFiSFFnUFNCMGFHbHpMbDlqY21WaGRHVkZibU52WkdWeVFuVm1abVZ5S0dSaGRHRXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tITjBZWFJsTG1Ob2IybGpaU2tnZTF4dUlDQWdJSEpsYzNWc2RDQTlJSFJvYVhNdVgyVnVZMjlrWlVOb2IybGpaU2hrWVhSaExDQnlaWEJ2Y25SbGNpazdYRzRnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1WTI5dWRHRnBibk1wSUh0Y2JpQWdJQ0JqYjI1MFpXNTBJRDBnZEdocGN5NWZaMlYwVlhObEtITjBZWFJsTG1OdmJuUmhhVzV6TENCd1lYSmxiblFwTGw5bGJtTnZaR1VvWkdGMFlTd2djbVZ3YjNKMFpYSXBPMXh1SUNBZ0lIQnlhVzFwZEdsMlpTQTlJSFJ5ZFdVN1hHNGdJSDBnWld4elpTQnBaaUFvYzNSaGRHVXVZMmhwYkdSeVpXNHBJSHRjYmlBZ0lDQmpiMjUwWlc1MElEMGdjM1JoZEdVdVkyaHBiR1J5Wlc0dWJXRndLR1oxYm1OMGFXOXVLR05vYVd4a0tTQjdYRzRnSUNBZ0lDQnBaaUFvWTJocGJHUXVYMkpoYzJWVGRHRjBaUzUwWVdjZ1BUMDlJQ2R1ZFd4c1h5Y3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmphR2xzWkM1ZlpXNWpiMlJsS0c1MWJHd3NJSEpsY0c5eWRHVnlMQ0JrWVhSaEtUdGNibHh1SUNBZ0lDQWdhV1lnS0dOb2FXeGtMbDlpWVhObFUzUmhkR1V1YTJWNUlEMDlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVndiM0owWlhJdVpYSnliM0lvSjBOb2FXeGtJSE5vYjNWc1pDQm9ZWFpsSUdFZ2EyVjVKeWs3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka3RsZVNBOUlISmxjRzl5ZEdWeUxtVnVkR1Z5UzJWNUtHTm9hV3hrTGw5aVlYTmxVM1JoZEdVdWEyVjVLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCa1lYUmhJQ0U5UFNBbmIySnFaV04wSnlsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGNHOXlkR1Z5TG1WeWNtOXlLQ2REYUdsc1pDQmxlSEJsWTNSbFpDd2dZblYwSUdsdWNIVjBJR2x6SUc1dmRDQnZZbXBsWTNRbktUdGNibHh1SUNBZ0lDQWdkbUZ5SUhKbGN5QTlJR05vYVd4a0xsOWxibU52WkdVb1pHRjBZVnRqYUdsc1pDNWZZbUZ6WlZOMFlYUmxMbXRsZVYwc0lISmxjRzl5ZEdWeUxDQmtZWFJoS1R0Y2JpQWdJQ0FnSUhKbGNHOXlkR1Z5TG14bFlYWmxTMlY1S0hCeVpYWkxaWGtwTzF4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgwc0lIUm9hWE1wTG1acGJIUmxjaWhtZFc1amRHbHZiaWhqYUdsc1pDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTm9hV3hrTzF4dUlDQWdJSDBwTzF4dUlDQWdJR052Ym5SbGJuUWdQU0IwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLR052Ym5SbGJuUXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2xtSUNoemRHRjBaUzUwWVdjZ1BUMDlJQ2R6WlhGdlppY2dmSHdnYzNSaGRHVXVkR0ZuSUQwOVBTQW5jMlYwYjJZbktTQjdYRzRnSUNBZ0lDQXZMeUJVVDBSUEtHbHVaSFYwYm5rcE9pQjBhR2x6SUhOb2IzVnNaQ0JpWlNCMGFISnZkMjRnYjI0Z1JGTk1JR3hsZG1Wc1hHNGdJQ0FnSUNCcFppQW9JU2h6ZEdGMFpTNWhjbWR6SUNZbUlITjBZWFJsTG1GeVozTXViR1Z1WjNSb0lEMDlQU0F4S1NsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGNHOXlkR1Z5TG1WeWNtOXlLQ2RVYjI4Z2JXRnVlU0JoY21keklHWnZjaUE2SUNjZ0t5QnpkR0YwWlM1MFlXY3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lVRnljbUY1TG1selFYSnlZWGtvWkdGMFlTa3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWEJ2Y25SbGNpNWxjbkp2Y2lnbmMyVnhiMll2YzJWMGIyWXNJR0oxZENCa1lYUmhJR2x6SUc1dmRDQkJjbkpoZVNjcE8xeHVYRzRnSUNBZ0lDQjJZWElnWTJocGJHUWdQU0IwYUdsekxtTnNiMjVsS0NrN1hHNGdJQ0FnSUNCamFHbHNaQzVmWW1GelpWTjBZWFJsTG1sdGNHeHBZMmwwSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJR052Ym5SbGJuUWdQU0IwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLR1JoZEdFdWJXRndLR1oxYm1OMGFXOXVLR2wwWlcwcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZZbUZ6WlZOMFlYUmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOW5aWFJWYzJVb2MzUmhkR1V1WVhKbmMxc3dYU3dnWkdGMFlTa3VYMlZ1WTI5a1pTaHBkR1Z0TENCeVpYQnZjblJsY2lrN1hHNGdJQ0FnSUNCOUxDQmphR2xzWkNrcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1ZFhObElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWE4xYkhRZ1BTQjBhR2x6TGw5blpYUlZjMlVvYzNSaGRHVXVkWE5sTENCd1lYSmxiblFwTGw5bGJtTnZaR1VvWkdGMFlTd2djbVZ3YjNKMFpYSXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCamIyNTBaVzUwSUQwZ2RHaHBjeTVmWlc1amIyUmxVSEpwYldsMGFYWmxLSE4wWVhSbExuUmhaeXdnWkdGMFlTazdYRzRnSUNBZ0lDQndjbWx0YVhScGRtVWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHZJRVZ1WTI5a1pTQmtZWFJoSUdsMGMyVnNabHh1SUNCMllYSWdjbVZ6ZFd4ME8xeHVJQ0JwWmlBb0lYTjBZWFJsTG1GdWVTQW1KaUJ6ZEdGMFpTNWphRzlwWTJVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNCMllYSWdkR0ZuSUQwZ2MzUmhkR1V1YVcxd2JHbGphWFFnSVQwOUlHNTFiR3dnUHlCemRHRjBaUzVwYlhCc2FXTnBkQ0E2SUhOMFlYUmxMblJoWnp0Y2JpQWdJQ0IyWVhJZ1kyeHpJRDBnYzNSaGRHVXVhVzF3YkdsamFYUWdQVDA5SUc1MWJHd2dQeUFuZFc1cGRtVnljMkZzSnlBNklDZGpiMjUwWlhoMEp6dGNibHh1SUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2h6ZEdGMFpTNTFjMlVnUFQwOUlHNTFiR3dwWEc0Z0lDQWdJQ0FnSUhKbGNHOXlkR1Z5TG1WeWNtOXlLQ2RVWVdjZ1kyOTFiR1FnWW1VZ2IyMXBkSFJsWkNCdmJteDVJR1p2Y2lBdWRYTmxLQ2tuS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hOMFlYUmxMblZ6WlNBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ2NtVnpkV3gwSUQwZ2RHaHBjeTVmWlc1amIyUmxRMjl0Y0c5emFYUmxLSFJoWnl3Z2NISnBiV2wwYVhabExDQmpiSE1zSUdOdmJuUmxiblFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4dklGZHlZWEFnYVc0Z1pYaHdiR2xqYVhSY2JpQWdhV1lnS0hOMFlYUmxMbVY0Y0d4cFkybDBJQ0U5UFNCdWRXeHNLVnh1SUNBZ0lISmxjM1ZzZENBOUlIUm9hWE11WDJWdVkyOWtaVU52YlhCdmMybDBaU2h6ZEdGMFpTNWxlSEJzYVdOcGRDd2dabUZzYzJVc0lDZGpiMjUwWlhoMEp5d2djbVZ6ZFd4MEtUdGNibHh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlR0Y2JseHVUbTlrWlM1d2NtOTBiM1I1Y0dVdVgyVnVZMjlrWlVOb2IybGpaU0E5SUdaMWJtTjBhVzl1SUdWdVkyOWtaVU5vYjJsalpTaGtZWFJoTENCeVpYQnZjblJsY2lrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdkbUZ5SUc1dlpHVWdQU0J6ZEdGMFpTNWphRzlwWTJWYlpHRjBZUzUwZVhCbFhUdGNiaUFnYVdZZ0tDRnViMlJsS1NCN1hHNGdJQ0FnWVhOelpYSjBLRnh1SUNBZ0lDQWdJQ0JtWVd4elpTeGNiaUFnSUNBZ0lDQWdaR0YwWVM1MGVYQmxJQ3NnSnlCdWIzUWdabTkxYm1RZ2FXNGdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQktVMDlPTG5OMGNtbHVaMmxtZVNoUFltcGxZM1F1YTJWNWN5aHpkR0YwWlM1amFHOXBZMlVwS1NrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc1dlpHVXVYMlZ1WTI5a1pTaGtZWFJoTG5aaGJIVmxMQ0J5WlhCdmNuUmxjaWs3WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWZaVzVqYjJSbFVISnBiV2wwYVhabElEMGdablZ1WTNScGIyNGdaVzVqYjJSbFVISnBiV2wwYVhabEtIUmhaeXdnWkdGMFlTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5aVlYTmxVM1JoZEdVN1hHNWNiaUFnYVdZZ0tDOXpkSElrTHk1MFpYTjBLSFJoWnlrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyVnVZMjlrWlZOMGNpaGtZWFJoTENCMFlXY3BPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdlltcHBaQ2NnSmlZZ2MzUmhkR1V1WVhKbmN5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaVzVqYjJSbFQySnFhV1FvWkdGMFlTd2djM1JoZEdVdWNtVjJaWEp6WlVGeVozTmJNRjBzSUhOMFlYUmxMbUZ5WjNOYk1WMHBPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdlltcHBaQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJWdVkyOWtaVTlpYW1sa0tHUmhkR0VzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2RuWlc1MGFXMWxKeUI4ZkNCMFlXY2dQVDA5SUNkMWRHTjBhVzFsSnlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpXNWpiMlJsVkdsdFpTaGtZWFJoTENCMFlXY3BPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdWRXeHNYeWNwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJWdVkyOWtaVTUxYkd3b0tUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYVc1MEp5QjhmQ0IwWVdjZ1BUMDlJQ2RsYm5WdEp5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaVzVqYjJSbFNXNTBLR1JoZEdFc0lITjBZWFJsTG1GeVozTWdKaVlnYzNSaGRHVXVjbVYyWlhKelpVRnlaM05iTUYwcE8xeHVJQ0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2RpYjI5c0p5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaVzVqYjJSbFFtOXZiQ2hrWVhSaEtUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYjJKcVJHVnpZeWNwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJWdVkyOWtaVk4wY2loa1lYUmhMQ0IwWVdjcE8xeHVJQ0JsYkhObFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RWYm5OMWNIQnZjblJsWkNCMFlXYzZJQ2NnS3lCMFlXY3BPMXh1ZlR0Y2JseHVUbTlrWlM1d2NtOTBiM1I1Y0dVdVgybHpUblZ0YzNSeUlEMGdablZ1WTNScGIyNGdhWE5PZFcxemRISW9jM1J5S1NCN1hHNGdJSEpsZEhWeWJpQXZYbHN3TFRrZ1hTb2tMeTUwWlhOMEtITjBjaWs3WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWZhWE5RY21sdWRITjBjaUE5SUdaMWJtTjBhVzl1SUdselVISnBiblJ6ZEhJb2MzUnlLU0I3WEc0Z0lISmxkSFZ5YmlBdlhsdEJMVnBoTFhvd0xUa2dKMXhjS0Z4Y0tWeGNLeXhjWEMxY1hDNWNYQzg2UFZ4Y1AxMHFKQzh1ZEdWemRDaHpkSElwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9ub2RlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvcmVwb3J0ZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9yZXBvcnRlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuXFxuZnVuY3Rpb24gUmVwb3J0ZXIob3B0aW9ucykge1xcbiAgdGhpcy5fcmVwb3J0ZXJTdGF0ZSA9IHtcXG4gICAgb2JqOiBudWxsLFxcbiAgICBwYXRoOiBbXSxcXG4gICAgb3B0aW9uczogb3B0aW9ucyB8fCB7fSxcXG4gICAgZXJyb3JzOiBbXVxcbiAgfTtcXG59XFxuZXhwb3J0cy5SZXBvcnRlciA9IFJlcG9ydGVyO1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5pc0Vycm9yID0gZnVuY3Rpb24gaXNFcnJvcihvYmopIHtcXG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZXBvcnRlckVycm9yO1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLnNhdmUgPSBmdW5jdGlvbiBzYXZlKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG5cXG4gIHJldHVybiB7IG9iajogc3RhdGUub2JqLCBwYXRoTGVuOiBzdGF0ZS5wYXRoLmxlbmd0aCB9O1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLnJlc3RvcmUgPSBmdW5jdGlvbiByZXN0b3JlKGRhdGEpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XFxuXFxuICBzdGF0ZS5vYmogPSBkYXRhLm9iajtcXG4gIHN0YXRlLnBhdGggPSBzdGF0ZS5wYXRoLnNsaWNlKDAsIGRhdGEucGF0aExlbik7XFxufTtcXG5cXG5SZXBvcnRlci5wcm90b3R5cGUuZW50ZXJLZXkgPSBmdW5jdGlvbiBlbnRlcktleShrZXkpIHtcXG4gIHJldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGgucHVzaChrZXkpO1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLmV4aXRLZXkgPSBmdW5jdGlvbiBleGl0S2V5KGluZGV4KSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xcblxcbiAgc3RhdGUucGF0aCA9IHN0YXRlLnBhdGguc2xpY2UoMCwgaW5kZXggLSAxKTtcXG59O1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZUtleSA9IGZ1bmN0aW9uIGxlYXZlS2V5KGluZGV4LCBrZXksIHZhbHVlKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xcblxcbiAgdGhpcy5leGl0S2V5KGluZGV4KTtcXG4gIGlmIChzdGF0ZS5vYmogIT09IG51bGwpXFxuICAgIHN0YXRlLm9ialtrZXldID0gdmFsdWU7XFxufTtcXG5cXG5SZXBvcnRlci5wcm90b3R5cGUucGF0aCA9IGZ1bmN0aW9uIHBhdGgoKSB7XFxuICByZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLmpvaW4oJy8nKTtcXG59O1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5lbnRlck9iamVjdCA9IGZ1bmN0aW9uIGVudGVyT2JqZWN0KCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG5cXG4gIHZhciBwcmV2ID0gc3RhdGUub2JqO1xcbiAgc3RhdGUub2JqID0ge307XFxuICByZXR1cm4gcHJldjtcXG59O1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZU9iamVjdCA9IGZ1bmN0aW9uIGxlYXZlT2JqZWN0KHByZXYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XFxuXFxuICB2YXIgbm93ID0gc3RhdGUub2JqO1xcbiAgc3RhdGUub2JqID0gcHJldjtcXG4gIHJldHVybiBub3c7XFxufTtcXG5cXG5SZXBvcnRlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiBlcnJvcihtc2cpIHtcXG4gIHZhciBlcnI7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xcblxcbiAgdmFyIGluaGVyaXRlZCA9IG1zZyBpbnN0YW5jZW9mIFJlcG9ydGVyRXJyb3I7XFxuICBpZiAoaW5oZXJpdGVkKSB7XFxuICAgIGVyciA9IG1zZztcXG4gIH0gZWxzZSB7XFxuICAgIGVyciA9IG5ldyBSZXBvcnRlckVycm9yKHN0YXRlLnBhdGgubWFwKGZ1bmN0aW9uKGVsZW0pIHtcXG4gICAgICByZXR1cm4gJ1snICsgSlNPTi5zdHJpbmdpZnkoZWxlbSkgKyAnXSc7XFxuICAgIH0pLmpvaW4oJycpLCBtc2cubWVzc2FnZSB8fCBtc2csIG1zZy5zdGFjayk7XFxuICB9XFxuXFxuICBpZiAoIXN0YXRlLm9wdGlvbnMucGFydGlhbClcXG4gICAgdGhyb3cgZXJyO1xcblxcbiAgaWYgKCFpbmhlcml0ZWQpXFxuICAgIHN0YXRlLmVycm9ycy5wdXNoKGVycik7XFxuXFxuICByZXR1cm4gZXJyO1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLndyYXBSZXN1bHQgPSBmdW5jdGlvbiB3cmFwUmVzdWx0KHJlc3VsdCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG4gIGlmICghc3RhdGUub3B0aW9ucy5wYXJ0aWFsKVxcbiAgICByZXR1cm4gcmVzdWx0O1xcblxcbiAgcmV0dXJuIHtcXG4gICAgcmVzdWx0OiB0aGlzLmlzRXJyb3IocmVzdWx0KSA/IG51bGwgOiByZXN1bHQsXFxuICAgIGVycm9yczogc3RhdGUuZXJyb3JzXFxuICB9O1xcbn07XFxuXFxuZnVuY3Rpb24gUmVwb3J0ZXJFcnJvcihwYXRoLCBtc2cpIHtcXG4gIHRoaXMucGF0aCA9IHBhdGg7XFxuICB0aGlzLnJldGhyb3cobXNnKTtcXG59O1xcbmluaGVyaXRzKFJlcG9ydGVyRXJyb3IsIEVycm9yKTtcXG5cXG5SZXBvcnRlckVycm9yLnByb3RvdHlwZS5yZXRocm93ID0gZnVuY3Rpb24gcmV0aHJvdyhtc2cpIHtcXG4gIHRoaXMubWVzc2FnZSA9IG1zZyArICcgYXQ6ICcgKyAodGhpcy5wYXRoIHx8ICcoc2hhbGxvdyknKTtcXG4gIGlmIChFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlcXG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgUmVwb3J0ZXJFcnJvcik7XFxuXFxuICBpZiAoIXRoaXMuc3RhY2spIHtcXG4gICAgdHJ5IHtcXG4gICAgICAvLyBJRSBvbmx5IGFkZHMgc3RhY2sgd2hlbiB0aHJvd25cXG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5tZXNzYWdlKTtcXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgIHRoaXMuc3RhY2sgPSBlLnN0YWNrO1xcbiAgICB9XFxuICB9XFxuICByZXR1cm4gdGhpcztcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJKaGMyVXZjbVZ3YjNKMFpYSXVhbk0vWlRBeE55SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FSkJRVEJDTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEZWQlFWVTdRVUZEVmpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYTnVNUzVxY3k5c2FXSXZZWE51TVM5aVlYTmxMM0psY0c5eWRHVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktUdGNibHh1Wm5WdVkzUnBiMjRnVW1Wd2IzSjBaWElvYjNCMGFXOXVjeWtnZTF4dUlDQjBhR2x6TGw5eVpYQnZjblJsY2xOMFlYUmxJRDBnZTF4dUlDQWdJRzlpYWpvZ2JuVnNiQ3hjYmlBZ0lDQndZWFJvT2lCYlhTeGNiaUFnSUNCdmNIUnBiMjV6T2lCdmNIUnBiMjV6SUh4OElIdDlMRnh1SUNBZ0lHVnljbTl5Y3pvZ1cxMWNiaUFnZlR0Y2JuMWNibVY0Y0c5eWRITXVVbVZ3YjNKMFpYSWdQU0JTWlhCdmNuUmxjanRjYmx4dVVtVndiM0owWlhJdWNISnZkRzkwZVhCbExtbHpSWEp5YjNJZ1BTQm1kVzVqZEdsdmJpQnBjMFZ5Y205eUtHOWlhaWtnZTF4dUlDQnlaWFIxY200Z2IySnFJR2x1YzNSaGJtTmxiMllnVW1Wd2IzSjBaWEpGY25KdmNqdGNibjA3WEc1Y2JsSmxjRzl5ZEdWeUxuQnliM1J2ZEhsd1pTNXpZWFpsSUQwZ1puVnVZM1JwYjI0Z2MyRjJaU2dwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZ3YjNKMFpYSlRkR0YwWlR0Y2JseHVJQ0J5WlhSMWNtNGdleUJ2WW1vNklITjBZWFJsTG05aWFpd2djR0YwYUV4bGJqb2djM1JoZEdVdWNHRjBhQzVzWlc1bmRHZ2dmVHRjYm4wN1hHNWNibEpsY0c5eWRHVnlMbkJ5YjNSdmRIbHdaUzV5WlhOMGIzSmxJRDBnWm5WdVkzUnBiMjRnY21WemRHOXlaU2hrWVhSaEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbGNHOXlkR1Z5VTNSaGRHVTdYRzVjYmlBZ2MzUmhkR1V1YjJKcUlEMGdaR0YwWVM1dlltbzdYRzRnSUhOMFlYUmxMbkJoZEdnZ1BTQnpkR0YwWlM1d1lYUm9Mbk5zYVdObEtEQXNJR1JoZEdFdWNHRjBhRXhsYmlrN1hHNTlPMXh1WEc1U1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdVpXNTBaWEpMWlhrZ1BTQm1kVzVqZEdsdmJpQmxiblJsY2t0bGVTaHJaWGtwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDNKbGNHOXlkR1Z5VTNSaGRHVXVjR0YwYUM1d2RYTm9LR3RsZVNrN1hHNTlPMXh1WEc1U1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdVpYaHBkRXRsZVNBOUlHWjFibU4wYVc5dUlHVjRhWFJMWlhrb2FXNWtaWGdwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZ3YjNKMFpYSlRkR0YwWlR0Y2JseHVJQ0J6ZEdGMFpTNXdZWFJvSUQwZ2MzUmhkR1V1Y0dGMGFDNXpiR2xqWlNnd0xDQnBibVJsZUNBdElERXBPMXh1ZlR0Y2JseHVVbVZ3YjNKMFpYSXVjSEp2ZEc5MGVYQmxMbXhsWVhabFMyVjVJRDBnWm5WdVkzUnBiMjRnYkdWaGRtVkxaWGtvYVc1a1pYZ3NJR3RsZVN3Z2RtRnNkV1VwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZ3YjNKMFpYSlRkR0YwWlR0Y2JseHVJQ0IwYUdsekxtVjRhWFJMWlhrb2FXNWtaWGdwTzF4dUlDQnBaaUFvYzNSaGRHVXViMkpxSUNFOVBTQnVkV3hzS1Z4dUlDQWdJSE4wWVhSbExtOWlhbHRyWlhsZElEMGdkbUZzZFdVN1hHNTlPMXh1WEc1U1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdWNHRjBhQ0E5SUdaMWJtTjBhVzl1SUhCaGRHZ29LU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDl5WlhCdmNuUmxjbE4wWVhSbExuQmhkR2d1YW05cGJpZ25MeWNwTzF4dWZUdGNibHh1VW1Wd2IzSjBaWEl1Y0hKdmRHOTBlWEJsTG1WdWRHVnlUMkpxWldOMElEMGdablZ1WTNScGIyNGdaVzUwWlhKUFltcGxZM1FvS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psY0c5eWRHVnlVM1JoZEdVN1hHNWNiaUFnZG1GeUlIQnlaWFlnUFNCemRHRjBaUzV2WW1vN1hHNGdJSE4wWVhSbExtOWlhaUE5SUh0OU8xeHVJQ0J5WlhSMWNtNGdjSEpsZGp0Y2JuMDdYRzVjYmxKbGNHOXlkR1Z5TG5CeWIzUnZkSGx3WlM1c1pXRjJaVTlpYW1WamRDQTlJR1oxYm1OMGFXOXVJR3hsWVhabFQySnFaV04wS0hCeVpYWXBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVndiM0owWlhKVGRHRjBaVHRjYmx4dUlDQjJZWElnYm05M0lEMGdjM1JoZEdVdWIySnFPMXh1SUNCemRHRjBaUzV2WW1vZ1BTQndjbVYyTzF4dUlDQnlaWFIxY200Z2JtOTNPMXh1ZlR0Y2JseHVVbVZ3YjNKMFpYSXVjSEp2ZEc5MGVYQmxMbVZ5Y205eUlEMGdablZ1WTNScGIyNGdaWEp5YjNJb2JYTm5LU0I3WEc0Z0lIWmhjaUJsY25JN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psY0c5eWRHVnlVM1JoZEdVN1hHNWNiaUFnZG1GeUlHbHVhR1Z5YVhSbFpDQTlJRzF6WnlCcGJuTjBZVzVqWlc5bUlGSmxjRzl5ZEdWeVJYSnliM0k3WEc0Z0lHbG1JQ2hwYm1obGNtbDBaV1FwSUh0Y2JpQWdJQ0JsY25JZ1BTQnRjMmM3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWlhKeUlEMGdibVYzSUZKbGNHOXlkR1Z5UlhKeWIzSW9jM1JoZEdVdWNHRjBhQzV0WVhBb1puVnVZM1JwYjI0b1pXeGxiU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJQ2RiSnlBcklFcFRUMDR1YzNSeWFXNW5hV1o1S0dWc1pXMHBJQ3NnSjEwbk8xeHVJQ0FnSUgwcExtcHZhVzRvSnljcExDQnRjMmN1YldWemMyRm5aU0I4ZkNCdGMyY3NJRzF6Wnk1emRHRmpheWs3WEc0Z0lIMWNibHh1SUNCcFppQW9JWE4wWVhSbExtOXdkR2x2Ym5NdWNHRnlkR2xoYkNsY2JpQWdJQ0IwYUhKdmR5Qmxjbkk3WEc1Y2JpQWdhV1lnS0NGcGJtaGxjbWwwWldRcFhHNGdJQ0FnYzNSaGRHVXVaWEp5YjNKekxuQjFjMmdvWlhKeUtUdGNibHh1SUNCeVpYUjFjbTRnWlhKeU8xeHVmVHRjYmx4dVVtVndiM0owWlhJdWNISnZkRzkwZVhCbExuZHlZWEJTWlhOMWJIUWdQU0JtZFc1amRHbHZiaUIzY21Gd1VtVnpkV3gwS0hKbGMzVnNkQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOXlaWEJ2Y25SbGNsTjBZWFJsTzF4dUlDQnBaaUFvSVhOMFlYUmxMbTl3ZEdsdmJuTXVjR0Z5ZEdsaGJDbGNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnY21WemRXeDBPaUIwYUdsekxtbHpSWEp5YjNJb2NtVnpkV3gwS1NBL0lHNTFiR3dnT2lCeVpYTjFiSFFzWEc0Z0lDQWdaWEp5YjNKek9pQnpkR0YwWlM1bGNuSnZjbk5jYmlBZ2ZUdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlGSmxjRzl5ZEdWeVJYSnliM0lvY0dGMGFDd2diWE5uS1NCN1hHNGdJSFJvYVhNdWNHRjBhQ0E5SUhCaGRHZzdYRzRnSUhSb2FYTXVjbVYwYUhKdmR5aHRjMmNwTzF4dWZUdGNibWx1YUdWeWFYUnpLRkpsY0c5eWRHVnlSWEp5YjNJc0lFVnljbTl5S1R0Y2JseHVVbVZ3YjNKMFpYSkZjbkp2Y2k1d2NtOTBiM1I1Y0dVdWNtVjBhSEp2ZHlBOUlHWjFibU4wYVc5dUlISmxkR2h5YjNjb2JYTm5LU0I3WEc0Z0lIUm9hWE11YldWemMyRm5aU0E5SUcxelp5QXJJQ2NnWVhRNklDY2dLeUFvZEdocGN5NXdZWFJvSUh4OElDY29jMmhoYkd4dmR5a25LVHRjYmlBZ2FXWWdLRVZ5Y205eUxtTmhjSFIxY21WVGRHRmphMVJ5WVdObEtWeHVJQ0FnSUVWeWNtOXlMbU5oY0hSMWNtVlRkR0ZqYTFSeVlXTmxLSFJvYVhNc0lGSmxjRzl5ZEdWeVJYSnliM0lwTzF4dVhHNGdJR2xtSUNnaGRHaHBjeTV6ZEdGamF5a2dlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlCSlJTQnZibXg1SUdGa1pITWdjM1JoWTJzZ2QyaGxiaUIwYUhKdmQyNWNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loMGFHbHpMbTFsYzNOaFoyVXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWMzUmhZMnNnUFNCbExuTjBZV05yTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9yZXBvcnRlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvZGVyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9kZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgY29uc3RhbnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9pbmRleC5qc1xcXCIpO1xcblxcbmV4cG9ydHMudGFnQ2xhc3MgPSB7XFxuICAwOiAndW5pdmVyc2FsJyxcXG4gIDE6ICdhcHBsaWNhdGlvbicsXFxuICAyOiAnY29udGV4dCcsXFxuICAzOiAncHJpdmF0ZSdcXG59O1xcbmV4cG9ydHMudGFnQ2xhc3NCeU5hbWUgPSBjb25zdGFudHMuX3JldmVyc2UoZXhwb3J0cy50YWdDbGFzcyk7XFxuXFxuZXhwb3J0cy50YWcgPSB7XFxuICAweDAwOiAnZW5kJyxcXG4gIDB4MDE6ICdib29sJyxcXG4gIDB4MDI6ICdpbnQnLFxcbiAgMHgwMzogJ2JpdHN0cicsXFxuICAweDA0OiAnb2N0c3RyJyxcXG4gIDB4MDU6ICdudWxsXycsXFxuICAweDA2OiAnb2JqaWQnLFxcbiAgMHgwNzogJ29iakRlc2MnLFxcbiAgMHgwODogJ2V4dGVybmFsJyxcXG4gIDB4MDk6ICdyZWFsJyxcXG4gIDB4MGE6ICdlbnVtJyxcXG4gIDB4MGI6ICdlbWJlZCcsXFxuICAweDBjOiAndXRmOHN0cicsXFxuICAweDBkOiAncmVsYXRpdmVPaWQnLFxcbiAgMHgxMDogJ3NlcScsXFxuICAweDExOiAnc2V0JyxcXG4gIDB4MTI6ICdudW1zdHInLFxcbiAgMHgxMzogJ3ByaW50c3RyJyxcXG4gIDB4MTQ6ICd0NjFzdHInLFxcbiAgMHgxNTogJ3ZpZGVvc3RyJyxcXG4gIDB4MTY6ICdpYTVzdHInLFxcbiAgMHgxNzogJ3V0Y3RpbWUnLFxcbiAgMHgxODogJ2dlbnRpbWUnLFxcbiAgMHgxOTogJ2dyYXBoc3RyJyxcXG4gIDB4MWE6ICdpc282NDZzdHInLFxcbiAgMHgxYjogJ2dlbnN0cicsXFxuICAweDFjOiAndW5pc3RyJyxcXG4gIDB4MWQ6ICdjaGFyc3RyJyxcXG4gIDB4MWU6ICdibXBzdHInXFxufTtcXG5leHBvcnRzLnRhZ0J5TmFtZSA9IGNvbnN0YW50cy5fcmV2ZXJzZShleHBvcnRzLnRhZyk7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMk52Ym5OMFlXNTBjeTlrWlhJdWFuTS9NalU1WmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eDNSVUZCWXpzN1FVRkZkRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMk52Ym5OMFlXNTBjeTlrWlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdZMjl1YzNSaGJuUnpJRDBnY21WeGRXbHlaU2duTGk0dlkyOXVjM1JoYm5Sekp5azdYRzVjYm1WNGNHOXlkSE11ZEdGblEyeGhjM01nUFNCN1hHNGdJREE2SUNkMWJtbDJaWEp6WVd3bkxGeHVJQ0F4T2lBbllYQndiR2xqWVhScGIyNG5MRnh1SUNBeU9pQW5ZMjl1ZEdWNGRDY3NYRzRnSURNNklDZHdjbWwyWVhSbEoxeHVmVHRjYm1WNGNHOXlkSE11ZEdGblEyeGhjM05DZVU1aGJXVWdQU0JqYjI1emRHRnVkSE11WDNKbGRtVnljMlVvWlhod2IzSjBjeTUwWVdkRGJHRnpjeWs3WEc1Y2JtVjRjRzl5ZEhNdWRHRm5JRDBnZTF4dUlDQXdlREF3T2lBblpXNWtKeXhjYmlBZ01IZ3dNVG9nSjJKdmIyd25MRnh1SUNBd2VEQXlPaUFuYVc1MEp5eGNiaUFnTUhnd016b2dKMkpwZEhOMGNpY3NYRzRnSURCNE1EUTZJQ2R2WTNSemRISW5MRnh1SUNBd2VEQTFPaUFuYm5Wc2JGOG5MRnh1SUNBd2VEQTJPaUFuYjJKcWFXUW5MRnh1SUNBd2VEQTNPaUFuYjJKcVJHVnpZeWNzWEc0Z0lEQjRNRGc2SUNkbGVIUmxjbTVoYkNjc1hHNGdJREI0TURrNklDZHlaV0ZzSnl4Y2JpQWdNSGd3WVRvZ0oyVnVkVzBuTEZ4dUlDQXdlREJpT2lBblpXMWlaV1FuTEZ4dUlDQXdlREJqT2lBbmRYUm1PSE4wY2ljc1hHNGdJREI0TUdRNklDZHlaV3hoZEdsMlpVOXBaQ2NzWEc0Z0lEQjRNVEE2SUNkelpYRW5MRnh1SUNBd2VERXhPaUFuYzJWMEp5eGNiaUFnTUhneE1qb2dKMjUxYlhOMGNpY3NYRzRnSURCNE1UTTZJQ2R3Y21sdWRITjBjaWNzWEc0Z0lEQjRNVFE2SUNkME5qRnpkSEluTEZ4dUlDQXdlREUxT2lBbmRtbGtaVzl6ZEhJbkxGeHVJQ0F3ZURFMk9pQW5hV0UxYzNSeUp5eGNiaUFnTUhneE56b2dKM1YwWTNScGJXVW5MRnh1SUNBd2VERTRPaUFuWjJWdWRHbHRaU2NzWEc0Z0lEQjRNVGs2SUNkbmNtRndhSE4wY2ljc1hHNGdJREI0TVdFNklDZHBjMjgyTkRaemRISW5MRnh1SUNBd2VERmlPaUFuWjJWdWMzUnlKeXhjYmlBZ01IZ3hZem9nSjNWdWFYTjBjaWNzWEc0Z0lEQjRNV1E2SUNkamFHRnljM1J5Snl4Y2JpQWdNSGd4WlRvZ0oySnRjSE4wY2lkY2JuMDdYRzVsZUhCdmNuUnpMblJoWjBKNVRtRnRaU0E5SUdOdmJuTjBZVzUwY3k1ZmNtVjJaWEp6WlNobGVIQnZjblJ6TG5SaFp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvY29uc3RhbnRzL2Rlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBjb25zdGFudHMgPSBleHBvcnRzO1xcblxcbi8vIEhlbHBlclxcbmNvbnN0YW50cy5fcmV2ZXJzZSA9IGZ1bmN0aW9uIHJldmVyc2UobWFwKSB7XFxuICB2YXIgcmVzID0ge307XFxuXFxuICBPYmplY3Qua2V5cyhtYXApLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XFxuICAgIC8vIENvbnZlcnQga2V5IHRvIGludGVnZXIgaWYgaXQgaXMgc3RyaW5naWZpZWRcXG4gICAgaWYgKChrZXkgfCAwKSA9PSBrZXkpXFxuICAgICAga2V5ID0ga2V5IHwgMDtcXG5cXG4gICAgdmFyIHZhbHVlID0gbWFwW2tleV07XFxuICAgIHJlc1t2YWx1ZV0gPSBrZXk7XFxuICB9KTtcXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5jb25zdGFudHMuZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvY29uc3RhbnRzL2Rlci5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJOdmJuTjBZVzUwY3k5cGJtUmxlQzVxY3o4M01XSTNJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdRVUZGU0R0QlFVTkJPenRCUVVWQkxHZENRVUZuUWl4dFFrRkJUeXhEUVVGRExDdEVRVUZQSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkZ6YmpFdWFuTXZiR2xpTDJGemJqRXZZMjl1YzNSaGJuUnpMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJR052Ym5OMFlXNTBjeUE5SUdWNGNHOXlkSE03WEc1Y2JpOHZJRWhsYkhCbGNseHVZMjl1YzNSaGJuUnpMbDl5WlhabGNuTmxJRDBnWm5WdVkzUnBiMjRnY21WMlpYSnpaU2h0WVhBcElIdGNiaUFnZG1GeUlISmxjeUE5SUh0OU8xeHVYRzRnSUU5aWFtVmpkQzVyWlhsektHMWhjQ2t1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhyWlhrcElIdGNiaUFnSUNBdkx5QkRiMjUyWlhKMElHdGxlU0IwYnlCcGJuUmxaMlZ5SUdsbUlHbDBJR2x6SUhOMGNtbHVaMmxtYVdWa1hHNGdJQ0FnYVdZZ0tDaHJaWGtnZkNBd0tTQTlQU0JyWlhrcFhHNGdJQ0FnSUNCclpYa2dQU0JyWlhrZ2ZDQXdPMXh1WEc0Z0lDQWdkbUZ5SUhaaGJIVmxJRDBnYldGd1cydGxlVjA3WEc0Z0lDQWdjbVZ6VzNaaGJIVmxYU0E5SUd0bGVUdGNiaUFnZlNrN1hHNWNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzVjYm1OdmJuTjBZVzUwY3k1a1pYSWdQU0J5WlhGMWFYSmxLQ2N1TDJSbGNpY3BPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9kZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9kZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuXFxudmFyIGFzbjEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9hc24xICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIik7XFxudmFyIGJhc2UgPSBhc24xLmJhc2U7XFxudmFyIGJpZ251bSA9IGFzbjEuYmlnbnVtO1xcblxcbi8vIEltcG9ydCBERVIgY29uc3RhbnRzXFxudmFyIGRlciA9IGFzbjEuY29uc3RhbnRzLmRlcjtcXG5cXG5mdW5jdGlvbiBERVJEZWNvZGVyKGVudGl0eSkge1xcbiAgdGhpcy5lbmMgPSAnZGVyJztcXG4gIHRoaXMubmFtZSA9IGVudGl0eS5uYW1lO1xcbiAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XFxuXFxuICAvLyBDb25zdHJ1Y3QgYmFzZSB0cmVlXFxuICB0aGlzLnRyZWUgPSBuZXcgREVSTm9kZSgpO1xcbiAgdGhpcy50cmVlLl9pbml0KGVudGl0eS5ib2R5KTtcXG59O1xcbm1vZHVsZS5leHBvcnRzID0gREVSRGVjb2RlcjtcXG5cXG5ERVJEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoZGF0YSwgb3B0aW9ucykge1xcbiAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIGJhc2UuRGVjb2RlckJ1ZmZlcikpXFxuICAgIGRhdGEgPSBuZXcgYmFzZS5EZWNvZGVyQnVmZmVyKGRhdGEsIG9wdGlvbnMpO1xcblxcbiAgcmV0dXJuIHRoaXMudHJlZS5fZGVjb2RlKGRhdGEsIG9wdGlvbnMpO1xcbn07XFxuXFxuLy8gVHJlZSBtZXRob2RzXFxuXFxuZnVuY3Rpb24gREVSTm9kZShwYXJlbnQpIHtcXG4gIGJhc2UuTm9kZS5jYWxsKHRoaXMsICdkZXInLCBwYXJlbnQpO1xcbn1cXG5pbmhlcml0cyhERVJOb2RlLCBiYXNlLk5vZGUpO1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9wZWVrVGFnID0gZnVuY3Rpb24gcGVla1RhZyhidWZmZXIsIHRhZywgYW55KSB7XFxuICBpZiAoYnVmZmVyLmlzRW1wdHkoKSlcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgdmFyIHN0YXRlID0gYnVmZmVyLnNhdmUoKTtcXG4gIHZhciBkZWNvZGVkVGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlciwgJ0ZhaWxlZCB0byBwZWVrIHRhZzogXFxcIicgKyB0YWcgKyAnXFxcIicpO1xcbiAgaWYgKGJ1ZmZlci5pc0Vycm9yKGRlY29kZWRUYWcpKVxcbiAgICByZXR1cm4gZGVjb2RlZFRhZztcXG5cXG4gIGJ1ZmZlci5yZXN0b3JlKHN0YXRlKTtcXG5cXG4gIHJldHVybiBkZWNvZGVkVGFnLnRhZyA9PT0gdGFnIHx8IGRlY29kZWRUYWcudGFnU3RyID09PSB0YWcgfHxcXG4gICAgKGRlY29kZWRUYWcudGFnU3RyICsgJ29mJykgPT09IHRhZyB8fCBhbnk7XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlVGFnID0gZnVuY3Rpb24gZGVjb2RlVGFnKGJ1ZmZlciwgdGFnLCBhbnkpIHtcXG4gIHZhciBkZWNvZGVkVGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlcixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGYWlsZWQgdG8gZGVjb2RlIHRhZyBvZiBcXFwiJyArIHRhZyArICdcXFwiJyk7XFxuICBpZiAoYnVmZmVyLmlzRXJyb3IoZGVjb2RlZFRhZykpXFxuICAgIHJldHVybiBkZWNvZGVkVGFnO1xcblxcbiAgdmFyIGxlbiA9IGRlckRlY29kZUxlbihidWZmZXIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZWRUYWcucHJpbWl0aXZlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAnRmFpbGVkIHRvIGdldCBsZW5ndGggb2YgXFxcIicgKyB0YWcgKyAnXFxcIicpO1xcblxcbiAgLy8gRmFpbHVyZVxcbiAgaWYgKGJ1ZmZlci5pc0Vycm9yKGxlbikpXFxuICAgIHJldHVybiBsZW47XFxuXFxuICBpZiAoIWFueSAmJlxcbiAgICAgIGRlY29kZWRUYWcudGFnICE9PSB0YWcgJiZcXG4gICAgICBkZWNvZGVkVGFnLnRhZ1N0ciAhPT0gdGFnICYmXFxuICAgICAgZGVjb2RlZFRhZy50YWdTdHIgKyAnb2YnICE9PSB0YWcpIHtcXG4gICAgcmV0dXJuIGJ1ZmZlci5lcnJvcignRmFpbGVkIHRvIG1hdGNoIHRhZzogXFxcIicgKyB0YWcgKyAnXFxcIicpO1xcbiAgfVxcblxcbiAgaWYgKGRlY29kZWRUYWcucHJpbWl0aXZlIHx8IGxlbiAhPT0gbnVsbClcXG4gICAgcmV0dXJuIGJ1ZmZlci5za2lwKGxlbiwgJ0ZhaWxlZCB0byBtYXRjaCBib2R5IG9mOiBcXFwiJyArIHRhZyArICdcXFwiJyk7XFxuXFxuICAvLyBJbmRlZmluaXRlIGxlbmd0aC4uLiBmaW5kIEVORCB0YWdcXG4gIHZhciBzdGF0ZSA9IGJ1ZmZlci5zYXZlKCk7XFxuICB2YXIgcmVzID0gdGhpcy5fc2tpcFVudGlsRW5kKFxcbiAgICAgIGJ1ZmZlcixcXG4gICAgICAnRmFpbGVkIHRvIHNraXAgaW5kZWZpbml0ZSBsZW5ndGggYm9keTogXFxcIicgKyB0aGlzLnRhZyArICdcXFwiJyk7XFxuICBpZiAoYnVmZmVyLmlzRXJyb3IocmVzKSlcXG4gICAgcmV0dXJuIHJlcztcXG5cXG4gIGxlbiA9IGJ1ZmZlci5vZmZzZXQgLSBzdGF0ZS5vZmZzZXQ7XFxuICBidWZmZXIucmVzdG9yZShzdGF0ZSk7XFxuICByZXR1cm4gYnVmZmVyLnNraXAobGVuLCAnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6IFxcXCInICsgdGFnICsgJ1xcXCInKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9za2lwVW50aWxFbmQgPSBmdW5jdGlvbiBza2lwVW50aWxFbmQoYnVmZmVyLCBmYWlsKSB7XFxuICB3aGlsZSAodHJ1ZSkge1xcbiAgICB2YXIgdGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlciwgZmFpbCk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcih0YWcpKVxcbiAgICAgIHJldHVybiB0YWc7XFxuICAgIHZhciBsZW4gPSBkZXJEZWNvZGVMZW4oYnVmZmVyLCB0YWcucHJpbWl0aXZlLCBmYWlsKTtcXG4gICAgaWYgKGJ1ZmZlci5pc0Vycm9yKGxlbikpXFxuICAgICAgcmV0dXJuIGxlbjtcXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKHRhZy5wcmltaXRpdmUgfHwgbGVuICE9PSBudWxsKVxcbiAgICAgIHJlcyA9IGJ1ZmZlci5za2lwKGxlbilcXG4gICAgZWxzZVxcbiAgICAgIHJlcyA9IHRoaXMuX3NraXBVbnRpbEVuZChidWZmZXIsIGZhaWwpO1xcblxcbiAgICAvLyBGYWlsdXJlXFxuICAgIGlmIChidWZmZXIuaXNFcnJvcihyZXMpKVxcbiAgICAgIHJldHVybiByZXM7XFxuXFxuICAgIGlmICh0YWcudGFnU3RyID09PSAnZW5kJylcXG4gICAgICBicmVhaztcXG4gIH1cXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVMaXN0ID0gZnVuY3Rpb24gZGVjb2RlTGlzdChidWZmZXIsIHRhZywgZGVjb2RlcixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucykge1xcbiAgdmFyIHJlc3VsdCA9IFtdO1xcbiAgd2hpbGUgKCFidWZmZXIuaXNFbXB0eSgpKSB7XFxuICAgIHZhciBwb3NzaWJsZUVuZCA9IHRoaXMuX3BlZWtUYWcoYnVmZmVyLCAnZW5kJyk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcihwb3NzaWJsZUVuZCkpXFxuICAgICAgcmV0dXJuIHBvc3NpYmxlRW5kO1xcblxcbiAgICB2YXIgcmVzID0gZGVjb2Rlci5kZWNvZGUoYnVmZmVyLCAnZGVyJywgb3B0aW9ucyk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcihyZXMpICYmIHBvc3NpYmxlRW5kKVxcbiAgICAgIGJyZWFrO1xcbiAgICByZXN1bHQucHVzaChyZXMpO1xcbiAgfVxcbiAgcmV0dXJuIHJlc3VsdDtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVTdHIgPSBmdW5jdGlvbiBkZWNvZGVTdHIoYnVmZmVyLCB0YWcpIHtcXG4gIGlmICh0YWcgPT09ICdiaXRzdHInKSB7XFxuICAgIHZhciB1bnVzZWQgPSBidWZmZXIucmVhZFVJbnQ4KCk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcih1bnVzZWQpKVxcbiAgICAgIHJldHVybiB1bnVzZWQ7XFxuICAgIHJldHVybiB7IHVudXNlZDogdW51c2VkLCBkYXRhOiBidWZmZXIucmF3KCkgfTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAnYm1wc3RyJykge1xcbiAgICB2YXIgcmF3ID0gYnVmZmVyLnJhdygpO1xcbiAgICBpZiAocmF3Lmxlbmd0aCAlIDIgPT09IDEpXFxuICAgICAgcmV0dXJuIGJ1ZmZlci5lcnJvcignRGVjb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6IGJtcHN0ciBsZW5ndGggbWlzbWF0Y2gnKTtcXG5cXG4gICAgdmFyIHN0ciA9ICcnO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhdy5sZW5ndGggLyAyOyBpKyspIHtcXG4gICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShyYXcucmVhZFVJbnQxNkJFKGkgKiAyKSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHN0cjtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAnbnVtc3RyJykge1xcbiAgICB2YXIgbnVtc3RyID0gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCdhc2NpaScpO1xcbiAgICBpZiAoIXRoaXMuX2lzTnVtc3RyKG51bXN0cikpIHtcXG4gICAgICByZXR1cm4gYnVmZmVyLmVycm9yKCdEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnbnVtc3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gbnVtc3RyO1xcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdvY3RzdHInKSB7XFxuICAgIHJldHVybiBidWZmZXIucmF3KCk7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ29iakRlc2MnKSB7XFxuICAgIHJldHVybiBidWZmZXIucmF3KCk7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3ByaW50c3RyJykge1xcbiAgICB2YXIgcHJpbnRzdHIgPSBidWZmZXIucmF3KCkudG9TdHJpbmcoJ2FzY2lpJyk7XFxuICAgIGlmICghdGhpcy5faXNQcmludHN0cihwcmludHN0cikpIHtcXG4gICAgICByZXR1cm4gYnVmZmVyLmVycm9yKCdEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnRzdHIgdW5zdXBwb3J0ZWQgY2hhcmFjdGVycycpO1xcbiAgICB9XFxuICAgIHJldHVybiBwcmludHN0cjtcXG4gIH0gZWxzZSBpZiAoL3N0ciQvLnRlc3QodGFnKSkge1xcbiAgICByZXR1cm4gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCk7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gYnVmZmVyLmVycm9yKCdEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArIHRhZyArICcgdW5zdXBwb3J0ZWQnKTtcXG4gIH1cXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVPYmppZCA9IGZ1bmN0aW9uIGRlY29kZU9iamlkKGJ1ZmZlciwgdmFsdWVzLCByZWxhdGl2ZSkge1xcbiAgdmFyIHJlc3VsdDtcXG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xcbiAgdmFyIGlkZW50ID0gMDtcXG4gIHdoaWxlICghYnVmZmVyLmlzRW1wdHkoKSkge1xcbiAgICB2YXIgc3ViaWRlbnQgPSBidWZmZXIucmVhZFVJbnQ4KCk7XFxuICAgIGlkZW50IDw8PSA3O1xcbiAgICBpZGVudCB8PSBzdWJpZGVudCAmIDB4N2Y7XFxuICAgIGlmICgoc3ViaWRlbnQgJiAweDgwKSA9PT0gMCkge1xcbiAgICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnQpO1xcbiAgICAgIGlkZW50ID0gMDtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHN1YmlkZW50ICYgMHg4MClcXG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudCk7XFxuXFxuICB2YXIgZmlyc3QgPSAoaWRlbnRpZmllcnNbMF0gLyA0MCkgfCAwO1xcbiAgdmFyIHNlY29uZCA9IGlkZW50aWZpZXJzWzBdICUgNDA7XFxuXFxuICBpZiAocmVsYXRpdmUpXFxuICAgIHJlc3VsdCA9IGlkZW50aWZpZXJzO1xcbiAgZWxzZVxcbiAgICByZXN1bHQgPSBbZmlyc3QsIHNlY29uZF0uY29uY2F0KGlkZW50aWZpZXJzLnNsaWNlKDEpKTtcXG5cXG4gIGlmICh2YWx1ZXMpIHtcXG4gICAgdmFyIHRtcCA9IHZhbHVlc1tyZXN1bHQuam9pbignICcpXTtcXG4gICAgaWYgKHRtcCA9PT0gdW5kZWZpbmVkKVxcbiAgICAgIHRtcCA9IHZhbHVlc1tyZXN1bHQuam9pbignLicpXTtcXG4gICAgaWYgKHRtcCAhPT0gdW5kZWZpbmVkKVxcbiAgICAgIHJlc3VsdCA9IHRtcDtcXG4gIH1cXG5cXG4gIHJldHVybiByZXN1bHQ7XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlVGltZSA9IGZ1bmN0aW9uIGRlY29kZVRpbWUoYnVmZmVyLCB0YWcpIHtcXG4gIHZhciBzdHIgPSBidWZmZXIucmF3KCkudG9TdHJpbmcoKTtcXG4gIGlmICh0YWcgPT09ICdnZW50aW1lJykge1xcbiAgICB2YXIgeWVhciA9IHN0ci5zbGljZSgwLCA0KSB8IDA7XFxuICAgIHZhciBtb24gPSBzdHIuc2xpY2UoNCwgNikgfCAwO1xcbiAgICB2YXIgZGF5ID0gc3RyLnNsaWNlKDYsIDgpIHwgMDtcXG4gICAgdmFyIGhvdXIgPSBzdHIuc2xpY2UoOCwgMTApIHwgMDtcXG4gICAgdmFyIG1pbiA9IHN0ci5zbGljZSgxMCwgMTIpIHwgMDtcXG4gICAgdmFyIHNlYyA9IHN0ci5zbGljZSgxMiwgMTQpIHwgMDtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAndXRjdGltZScpIHtcXG4gICAgdmFyIHllYXIgPSBzdHIuc2xpY2UoMCwgMikgfCAwO1xcbiAgICB2YXIgbW9uID0gc3RyLnNsaWNlKDIsIDQpIHwgMDtcXG4gICAgdmFyIGRheSA9IHN0ci5zbGljZSg0LCA2KSB8IDA7XFxuICAgIHZhciBob3VyID0gc3RyLnNsaWNlKDYsIDgpIHwgMDtcXG4gICAgdmFyIG1pbiA9IHN0ci5zbGljZSg4LCAxMCkgfCAwO1xcbiAgICB2YXIgc2VjID0gc3RyLnNsaWNlKDEwLCAxMikgfCAwO1xcbiAgICBpZiAoeWVhciA8IDcwKVxcbiAgICAgIHllYXIgPSAyMDAwICsgeWVhcjtcXG4gICAgZWxzZVxcbiAgICAgIHllYXIgPSAxOTAwICsgeWVhcjtcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nICcgKyB0YWcgKyAnIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQnKTtcXG4gIH1cXG5cXG4gIHJldHVybiBEYXRlLlVUQyh5ZWFyLCBtb24gLSAxLCBkYXksIGhvdXIsIG1pbiwgc2VjLCAwKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVOdWxsID0gZnVuY3Rpb24gZGVjb2RlTnVsbChidWZmZXIpIHtcXG4gIHJldHVybiBudWxsO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2RlY29kZUJvb2wgPSBmdW5jdGlvbiBkZWNvZGVCb29sKGJ1ZmZlcikge1xcbiAgdmFyIHJlcyA9IGJ1ZmZlci5yZWFkVUludDgoKTtcXG4gIGlmIChidWZmZXIuaXNFcnJvcihyZXMpKVxcbiAgICByZXR1cm4gcmVzO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gcmVzICE9PSAwO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2RlY29kZUludCA9IGZ1bmN0aW9uIGRlY29kZUludChidWZmZXIsIHZhbHVlcykge1xcbiAgLy8gQmlnaW50LCByZXR1cm4gYXMgaXQgaXMgKGFzc3VtZSBiaWcgZW5kaWFuKVxcbiAgdmFyIHJhdyA9IGJ1ZmZlci5yYXcoKTtcXG4gIHZhciByZXMgPSBuZXcgYmlnbnVtKHJhdyk7XFxuXFxuICBpZiAodmFsdWVzKVxcbiAgICByZXMgPSB2YWx1ZXNbcmVzLnRvU3RyaW5nKDEwKV0gfHwgcmVzO1xcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl91c2UgPSBmdW5jdGlvbiB1c2UoZW50aXR5LCBvYmopIHtcXG4gIGlmICh0eXBlb2YgZW50aXR5ID09PSAnZnVuY3Rpb24nKVxcbiAgICBlbnRpdHkgPSBlbnRpdHkob2JqKTtcXG4gIHJldHVybiBlbnRpdHkuX2dldERlY29kZXIoJ2RlcicpLnRyZWU7XFxufTtcXG5cXG4vLyBVdGlsaXR5IG1ldGhvZHNcXG5cXG5mdW5jdGlvbiBkZXJEZWNvZGVUYWcoYnVmLCBmYWlsKSB7XFxuICB2YXIgdGFnID0gYnVmLnJlYWRVSW50OChmYWlsKTtcXG4gIGlmIChidWYuaXNFcnJvcih0YWcpKVxcbiAgICByZXR1cm4gdGFnO1xcblxcbiAgdmFyIGNscyA9IGRlci50YWdDbGFzc1t0YWcgPj4gNl07XFxuICB2YXIgcHJpbWl0aXZlID0gKHRhZyAmIDB4MjApID09PSAwO1xcblxcbiAgLy8gTXVsdGktb2N0ZXQgdGFnIC0gbG9hZFxcbiAgaWYgKCh0YWcgJiAweDFmKSA9PT0gMHgxZikge1xcbiAgICB2YXIgb2N0ID0gdGFnO1xcbiAgICB0YWcgPSAwO1xcbiAgICB3aGlsZSAoKG9jdCAmIDB4ODApID09PSAweDgwKSB7XFxuICAgICAgb2N0ID0gYnVmLnJlYWRVSW50OChmYWlsKTtcXG4gICAgICBpZiAoYnVmLmlzRXJyb3Iob2N0KSlcXG4gICAgICAgIHJldHVybiBvY3Q7XFxuXFxuICAgICAgdGFnIDw8PSA3O1xcbiAgICAgIHRhZyB8PSBvY3QgJiAweDdmO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICB0YWcgJj0gMHgxZjtcXG4gIH1cXG4gIHZhciB0YWdTdHIgPSBkZXIudGFnW3RhZ107XFxuXFxuICByZXR1cm4ge1xcbiAgICBjbHM6IGNscyxcXG4gICAgcHJpbWl0aXZlOiBwcmltaXRpdmUsXFxuICAgIHRhZzogdGFnLFxcbiAgICB0YWdTdHI6IHRhZ1N0clxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gZGVyRGVjb2RlTGVuKGJ1ZiwgcHJpbWl0aXZlLCBmYWlsKSB7XFxuICB2YXIgbGVuID0gYnVmLnJlYWRVSW50OChmYWlsKTtcXG4gIGlmIChidWYuaXNFcnJvcihsZW4pKVxcbiAgICByZXR1cm4gbGVuO1xcblxcbiAgLy8gSW5kZWZpbml0ZSBmb3JtXFxuICBpZiAoIXByaW1pdGl2ZSAmJiBsZW4gPT09IDB4ODApXFxuICAgIHJldHVybiBudWxsO1xcblxcbiAgLy8gRGVmaW5pdGUgZm9ybVxcbiAgaWYgKChsZW4gJiAweDgwKSA9PT0gMCkge1xcbiAgICAvLyBTaG9ydCBmb3JtXFxuICAgIHJldHVybiBsZW47XFxuICB9XFxuXFxuICAvLyBMb25nIGZvcm1cXG4gIHZhciBudW0gPSBsZW4gJiAweDdmO1xcbiAgaWYgKG51bSA+IDQpXFxuICAgIHJldHVybiBidWYuZXJyb3IoJ2xlbmd0aCBvY3RlY3QgaXMgdG9vIGxvbmcnKTtcXG5cXG4gIGxlbiA9IDA7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IG51bTsgaSsrKSB7XFxuICAgIGxlbiA8PD0gODtcXG4gICAgdmFyIGogPSBidWYucmVhZFVJbnQ4KGZhaWwpO1xcbiAgICBpZiAoYnVmLmlzRXJyb3IoaikpXFxuICAgICAgcmV0dXJuIGo7XFxuICAgIGxlbiB8PSBqO1xcbiAgfVxcblxcbiAgcmV0dXJuIGxlbjtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlJsWTI5a1pYSnpMMlJsY2k1cWN6OWlOVGM0SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTXNWMEZCVnl4dFFrRkJUeXhEUVVGRExITkVRVUZaTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmxCUVZrN1FVRkRXaXhIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEc5Q1FVRnZRanRCUVVOMlF6dEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsQ1FVRnBRaXhUUVVGVE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkZ6YmpFdWFuTXZiR2xpTDJGemJqRXZaR1ZqYjJSbGNuTXZaR1Z5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlHbHVhR1Z5YVhSeklEMGdjbVZ4ZFdseVpTZ25hVzVvWlhKcGRITW5LVHRjYmx4dWRtRnlJR0Z6YmpFZ1BTQnlaWEYxYVhKbEtDY3VMaTh1TGk5aGMyNHhKeWs3WEc1MllYSWdZbUZ6WlNBOUlHRnpiakV1WW1GelpUdGNiblpoY2lCaWFXZHVkVzBnUFNCaGMyNHhMbUpwWjI1MWJUdGNibHh1THk4Z1NXMXdiM0owSUVSRlVpQmpiMjV6ZEdGdWRITmNiblpoY2lCa1pYSWdQU0JoYzI0eExtTnZibk4wWVc1MGN5NWtaWEk3WEc1Y2JtWjFibU4wYVc5dUlFUkZVa1JsWTI5a1pYSW9aVzUwYVhSNUtTQjdYRzRnSUhSb2FYTXVaVzVqSUQwZ0oyUmxjaWM3WEc0Z0lIUm9hWE11Ym1GdFpTQTlJR1Z1ZEdsMGVTNXVZVzFsTzF4dUlDQjBhR2x6TG1WdWRHbDBlU0E5SUdWdWRHbDBlVHRjYmx4dUlDQXZMeUJEYjI1emRISjFZM1FnWW1GelpTQjBjbVZsWEc0Z0lIUm9hWE11ZEhKbFpTQTlJRzVsZHlCRVJWSk9iMlJsS0NrN1hHNGdJSFJvYVhNdWRISmxaUzVmYVc1cGRDaGxiblJwZEhrdVltOWtlU2s3WEc1OU8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQkVSVkpFWldOdlpHVnlPMXh1WEc1RVJWSkVaV052WkdWeUxuQnliM1J2ZEhsd1pTNWtaV052WkdVZ1BTQm1kVzVqZEdsdmJpQmtaV052WkdVb1pHRjBZU3dnYjNCMGFXOXVjeWtnZTF4dUlDQnBaaUFvSVNoa1lYUmhJR2x1YzNSaGJtTmxiMllnWW1GelpTNUVaV052WkdWeVFuVm1abVZ5S1NsY2JpQWdJQ0JrWVhSaElEMGdibVYzSUdKaGMyVXVSR1ZqYjJSbGNrSjFabVpsY2loa1lYUmhMQ0J2Y0hScGIyNXpLVHRjYmx4dUlDQnlaWFIxY200Z2RHaHBjeTUwY21WbExsOWtaV052WkdVb1pHRjBZU3dnYjNCMGFXOXVjeWs3WEc1OU8xeHVYRzR2THlCVWNtVmxJRzFsZEdodlpITmNibHh1Wm5WdVkzUnBiMjRnUkVWU1RtOWtaU2h3WVhKbGJuUXBJSHRjYmlBZ1ltRnpaUzVPYjJSbExtTmhiR3dvZEdocGN5d2dKMlJsY2ljc0lIQmhjbVZ1ZENrN1hHNTlYRzVwYm1obGNtbDBjeWhFUlZKT2IyUmxMQ0JpWVhObExrNXZaR1VwTzF4dVhHNUVSVkpPYjJSbExuQnliM1J2ZEhsd1pTNWZjR1ZsYTFSaFp5QTlJR1oxYm1OMGFXOXVJSEJsWld0VVlXY29ZblZtWm1WeUxDQjBZV2NzSUdGdWVTa2dlMXh1SUNCcFppQW9ZblZtWm1WeUxtbHpSVzF3ZEhrb0tTbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ2RtRnlJSE4wWVhSbElEMGdZblZtWm1WeUxuTmhkbVVvS1R0Y2JpQWdkbUZ5SUdSbFkyOWtaV1JVWVdjZ1BTQmtaWEpFWldOdlpHVlVZV2NvWW5WbVptVnlMQ0FuUm1GcGJHVmtJSFJ2SUhCbFpXc2dkR0ZuT2lCY0lpY2dLeUIwWVdjZ0t5QW5YQ0luS1R0Y2JpQWdhV1lnS0dKMVptWmxjaTVwYzBWeWNtOXlLR1JsWTI5a1pXUlVZV2NwS1Z4dUlDQWdJSEpsZEhWeWJpQmtaV052WkdWa1ZHRm5PMXh1WEc0Z0lHSjFabVpsY2k1eVpYTjBiM0psS0hOMFlYUmxLVHRjYmx4dUlDQnlaWFIxY200Z1pHVmpiMlJsWkZSaFp5NTBZV2NnUFQwOUlIUmhaeUI4ZkNCa1pXTnZaR1ZrVkdGbkxuUmhaMU4wY2lBOVBUMGdkR0ZuSUh4OFhHNGdJQ0FnS0dSbFkyOWtaV1JVWVdjdWRHRm5VM1J5SUNzZ0oyOW1KeWtnUFQwOUlIUmhaeUI4ZkNCaGJuazdYRzU5TzF4dVhHNUVSVkpPYjJSbExuQnliM1J2ZEhsd1pTNWZaR1ZqYjJSbFZHRm5JRDBnWm5WdVkzUnBiMjRnWkdWamIyUmxWR0ZuS0dKMVptWmxjaXdnZEdGbkxDQmhibmtwSUh0Y2JpQWdkbUZ5SUdSbFkyOWtaV1JVWVdjZ1BTQmtaWEpFWldOdlpHVlVZV2NvWW5WbVptVnlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5SbUZwYkdWa0lIUnZJR1JsWTI5a1pTQjBZV2NnYjJZZ1hDSW5JQ3NnZEdGbklDc2dKMXdpSnlrN1hHNGdJR2xtSUNoaWRXWm1aWEl1YVhORmNuSnZjaWhrWldOdlpHVmtWR0ZuS1NsY2JpQWdJQ0J5WlhSMWNtNGdaR1ZqYjJSbFpGUmhaenRjYmx4dUlDQjJZWElnYkdWdUlEMGdaR1Z5UkdWamIyUmxUR1Z1S0dKMVptWmxjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldOdlpHVmtWR0ZuTG5CeWFXMXBkR2wyWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBblJtRnBiR1ZrSUhSdklHZGxkQ0JzWlc1bmRHZ2diMllnWENJbklDc2dkR0ZuSUNzZ0oxd2lKeWs3WEc1Y2JpQWdMeThnUm1GcGJIVnlaVnh1SUNCcFppQW9ZblZtWm1WeUxtbHpSWEp5YjNJb2JHVnVLU2xjYmlBZ0lDQnlaWFIxY200Z2JHVnVPMXh1WEc0Z0lHbG1JQ2doWVc1NUlDWW1YRzRnSUNBZ0lDQmtaV052WkdWa1ZHRm5MblJoWnlBaFBUMGdkR0ZuSUNZbVhHNGdJQ0FnSUNCa1pXTnZaR1ZrVkdGbkxuUmhaMU4wY2lBaFBUMGdkR0ZuSUNZbVhHNGdJQ0FnSUNCa1pXTnZaR1ZrVkdGbkxuUmhaMU4wY2lBcklDZHZaaWNnSVQwOUlIUmhaeWtnZTF4dUlDQWdJSEpsZEhWeWJpQmlkV1ptWlhJdVpYSnliM0lvSjBaaGFXeGxaQ0IwYnlCdFlYUmphQ0IwWVdjNklGd2lKeUFySUhSaFp5QXJJQ2RjSWljcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dSbFkyOWtaV1JVWVdjdWNISnBiV2wwYVhabElIeDhJR3hsYmlBaFBUMGdiblZzYkNsY2JpQWdJQ0J5WlhSMWNtNGdZblZtWm1WeUxuTnJhWEFvYkdWdUxDQW5SbUZwYkdWa0lIUnZJRzFoZEdOb0lHSnZaSGtnYjJZNklGd2lKeUFySUhSaFp5QXJJQ2RjSWljcE8xeHVYRzRnSUM4dklFbHVaR1ZtYVc1cGRHVWdiR1Z1WjNSb0xpNHVJR1pwYm1RZ1JVNUVJSFJoWjF4dUlDQjJZWElnYzNSaGRHVWdQU0JpZFdabVpYSXVjMkYyWlNncE8xeHVJQ0IyWVhJZ2NtVnpJRDBnZEdocGN5NWZjMnRwY0ZWdWRHbHNSVzVrS0Z4dUlDQWdJQ0FnWW5WbVptVnlMRnh1SUNBZ0lDQWdKMFpoYVd4bFpDQjBieUJ6YTJsd0lHbHVaR1ZtYVc1cGRHVWdiR1Z1WjNSb0lHSnZaSGs2SUZ3aUp5QXJJSFJvYVhNdWRHRm5JQ3NnSjF3aUp5azdYRzRnSUdsbUlDaGlkV1ptWlhJdWFYTkZjbkp2Y2loeVpYTXBLVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzVjYmlBZ2JHVnVJRDBnWW5WbVptVnlMbTltWm5ObGRDQXRJSE4wWVhSbExtOW1abk5sZER0Y2JpQWdZblZtWm1WeUxuSmxjM1J2Y21Vb2MzUmhkR1VwTzF4dUlDQnlaWFIxY200Z1luVm1abVZ5TG5OcmFYQW9iR1Z1TENBblJtRnBiR1ZrSUhSdklHMWhkR05vSUdKdlpIa2diMlk2SUZ3aUp5QXJJSFJoWnlBcklDZGNJaWNwTzF4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDNOcmFYQlZiblJwYkVWdVpDQTlJR1oxYm1OMGFXOXVJSE5yYVhCVmJuUnBiRVZ1WkNoaWRXWm1aWElzSUdaaGFXd3BJSHRjYmlBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQjJZWElnZEdGbklEMGdaR1Z5UkdWamIyUmxWR0ZuS0dKMVptWmxjaXdnWm1GcGJDazdYRzRnSUNBZ2FXWWdLR0oxWm1abGNpNXBjMFZ5Y205eUtIUmhaeWtwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR0ZuTzF4dUlDQWdJSFpoY2lCc1pXNGdQU0JrWlhKRVpXTnZaR1ZNWlc0b1luVm1abVZ5TENCMFlXY3VjSEpwYldsMGFYWmxMQ0JtWVdsc0tUdGNiaUFnSUNCcFppQW9ZblZtWm1WeUxtbHpSWEp5YjNJb2JHVnVLU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQnNaVzQ3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2gwWVdjdWNISnBiV2wwYVhabElIeDhJR3hsYmlBaFBUMGdiblZzYkNsY2JpQWdJQ0FnSUhKbGN5QTlJR0oxWm1abGNpNXphMmx3S0d4bGJpbGNiaUFnSUNCbGJITmxYRzRnSUNBZ0lDQnlaWE1nUFNCMGFHbHpMbDl6YTJsd1ZXNTBhV3hGYm1Rb1luVm1abVZ5TENCbVlXbHNLVHRjYmx4dUlDQWdJQzh2SUVaaGFXeDFjbVZjYmlBZ0lDQnBaaUFvWW5WbVptVnlMbWx6UlhKeWIzSW9jbVZ6S1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNWNiaUFnSUNCcFppQW9kR0ZuTG5SaFoxTjBjaUE5UFQwZ0oyVnVaQ2NwWEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnZlZ4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJSbFkyOWtaVXhwYzNRZ1BTQm1kVzVqZEdsdmJpQmtaV052WkdWTWFYTjBLR0oxWm1abGNpd2dkR0ZuTENCa1pXTnZaR1Z5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5d2RHbHZibk1wSUh0Y2JpQWdkbUZ5SUhKbGMzVnNkQ0E5SUZ0ZE8xeHVJQ0IzYUdsc1pTQW9JV0oxWm1abGNpNXBjMFZ0Y0hSNUtDa3BJSHRjYmlBZ0lDQjJZWElnY0c5emMybGliR1ZGYm1RZ1BTQjBhR2x6TGw5d1pXVnJWR0ZuS0dKMVptWmxjaXdnSjJWdVpDY3BPMXh1SUNBZ0lHbG1JQ2hpZFdabVpYSXVhWE5GY25KdmNpaHdiM056YVdKc1pVVnVaQ2twWEc0Z0lDQWdJQ0J5WlhSMWNtNGdjRzl6YzJsaWJHVkZibVE3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWkdWamIyUmxjaTVrWldOdlpHVW9ZblZtWm1WeUxDQW5aR1Z5Snl3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnYVdZZ0tHSjFabVpsY2k1cGMwVnljbTl5S0hKbGN5a2dKaVlnY0c5emMybGliR1ZGYm1RcFhHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQnlaWE4xYkhRdWNIVnphQ2h5WlhNcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OU8xeHVYRzVFUlZKT2IyUmxMbkJ5YjNSdmRIbHdaUzVmWkdWamIyUmxVM1J5SUQwZ1puVnVZM1JwYjI0Z1pHVmpiMlJsVTNSeUtHSjFabVpsY2l3Z2RHRm5LU0I3WEc0Z0lHbG1JQ2gwWVdjZ1BUMDlJQ2RpYVhSemRISW5LU0I3WEc0Z0lDQWdkbUZ5SUhWdWRYTmxaQ0E5SUdKMVptWmxjaTV5WldGa1ZVbHVkRGdvS1R0Y2JpQWdJQ0JwWmlBb1luVm1abVZ5TG1selJYSnliM0lvZFc1MWMyVmtLU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQjFiblZ6WldRN1hHNGdJQ0FnY21WMGRYSnVJSHNnZFc1MWMyVmtPaUIxYm5WelpXUXNJR1JoZEdFNklHSjFabVpsY2k1eVlYY29LU0I5TzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFJoWnlBOVBUMGdKMkp0Y0hOMGNpY3BJSHRjYmlBZ0lDQjJZWElnY21GM0lEMGdZblZtWm1WeUxuSmhkeWdwTzF4dUlDQWdJR2xtSUNoeVlYY3ViR1Z1WjNSb0lDVWdNaUE5UFQwZ01TbGNiaUFnSUNBZ0lISmxkSFZ5YmlCaWRXWm1aWEl1WlhKeWIzSW9KMFJsWTI5a2FXNW5JRzltSUhOMGNtbHVaeUIwZVhCbE9pQmliWEJ6ZEhJZ2JHVnVaM1JvSUcxcGMyMWhkR05vSnlrN1hHNWNiaUFnSUNCMllYSWdjM1J5SUQwZ0p5YzdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnlZWGN1YkdWdVozUm9JQzhnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J6ZEhJZ0t6MGdVM1J5YVc1bkxtWnliMjFEYUdGeVEyOWtaU2h5WVhjdWNtVmhaRlZKYm5ReE5rSkZLR2tnS2lBeUtTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ6ZEhJN1hHNGdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYm5WdGMzUnlKeWtnZTF4dUlDQWdJSFpoY2lCdWRXMXpkSElnUFNCaWRXWm1aWEl1Y21GM0tDa3VkRzlUZEhKcGJtY29KMkZ6WTJscEp5azdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOXBjMDUxYlhOMGNpaHVkVzF6ZEhJcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1luVm1abVZ5TG1WeWNtOXlLQ2RFWldOdlpHbHVaeUJ2WmlCemRISnBibWNnZEhsd1pUb2dKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNkdWRXMXpkSElnZFc1emRYQndiM0owWldRZ1kyaGhjbUZqZEdWeWN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdGMzUnlPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUmhaeUE5UFQwZ0oyOWpkSE4wY2ljcElIdGNiaUFnSUNCeVpYUjFjbTRnWW5WbVptVnlMbkpoZHlncE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnSjI5aWFrUmxjMk1uS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0oxWm1abGNpNXlZWGNvS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2R3Y21sdWRITjBjaWNwSUh0Y2JpQWdJQ0IyWVhJZ2NISnBiblJ6ZEhJZ1BTQmlkV1ptWlhJdWNtRjNLQ2t1ZEc5VGRISnBibWNvSjJGelkybHBKeWs3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlwYzFCeWFXNTBjM1J5S0hCeWFXNTBjM1J5S1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdKMVptWmxjaTVsY25KdmNpZ25SR1ZqYjJScGJtY2diMllnYzNSeWFXNW5JSFI1Y0dVNklDY2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuY0hKcGJuUnpkSElnZFc1emRYQndiM0owWldRZ1kyaGhjbUZqZEdWeWN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY0hKcGJuUnpkSEk3WEc0Z0lIMGdaV3h6WlNCcFppQW9MM04wY2lRdkxuUmxjM1FvZEdGbktTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCaWRXWm1aWEl1Y21GM0tDa3VkRzlUZEhKcGJtY29LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZblZtWm1WeUxtVnljbTl5S0NkRVpXTnZaR2x1WnlCdlppQnpkSEpwYm1jZ2RIbHdaVG9nSnlBcklIUmhaeUFySUNjZ2RXNXpkWEJ3YjNKMFpXUW5LVHRjYmlBZ2ZWeHVmVHRjYmx4dVJFVlNUbTlrWlM1d2NtOTBiM1I1Y0dVdVgyUmxZMjlrWlU5aWFtbGtJRDBnWm5WdVkzUnBiMjRnWkdWamIyUmxUMkpxYVdRb1luVm1abVZ5TENCMllXeDFaWE1zSUhKbGJHRjBhWFpsS1NCN1hHNGdJSFpoY2lCeVpYTjFiSFE3WEc0Z0lIWmhjaUJwWkdWdWRHbG1hV1Z5Y3lBOUlGdGRPMXh1SUNCMllYSWdhV1JsYm5RZ1BTQXdPMXh1SUNCM2FHbHNaU0FvSVdKMVptWmxjaTVwYzBWdGNIUjVLQ2twSUh0Y2JpQWdJQ0IyWVhJZ2MzVmlhV1JsYm5RZ1BTQmlkV1ptWlhJdWNtVmhaRlZKYm5RNEtDazdYRzRnSUNBZ2FXUmxiblFnUER3OUlEYzdYRzRnSUNBZ2FXUmxiblFnZkQwZ2MzVmlhV1JsYm5RZ0ppQXdlRGRtTzF4dUlDQWdJR2xtSUNnb2MzVmlhV1JsYm5RZ0ppQXdlRGd3S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVdSbGJuUnBabWxsY25NdWNIVnphQ2hwWkdWdWRDazdYRzRnSUNBZ0lDQnBaR1Z1ZENBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHbG1JQ2h6ZFdKcFpHVnVkQ0FtSURCNE9EQXBYRzRnSUNBZ2FXUmxiblJwWm1sbGNuTXVjSFZ6YUNocFpHVnVkQ2s3WEc1Y2JpQWdkbUZ5SUdacGNuTjBJRDBnS0dsa1pXNTBhV1pwWlhKeld6QmRJQzhnTkRBcElId2dNRHRjYmlBZ2RtRnlJSE5sWTI5dVpDQTlJR2xrWlc1MGFXWnBaWEp6V3pCZElDVWdOREE3WEc1Y2JpQWdhV1lnS0hKbGJHRjBhWFpsS1Z4dUlDQWdJSEpsYzNWc2RDQTlJR2xrWlc1MGFXWnBaWEp6TzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVZ6ZFd4MElEMGdXMlpwY25OMExDQnpaV052Ym1SZExtTnZibU5oZENocFpHVnVkR2xtYVdWeWN5NXpiR2xqWlNneEtTazdYRzVjYmlBZ2FXWWdLSFpoYkhWbGN5a2dlMXh1SUNBZ0lIWmhjaUIwYlhBZ1BTQjJZV3gxWlhOYmNtVnpkV3gwTG1wdmFXNG9KeUFuS1YwN1hHNGdJQ0FnYVdZZ0tIUnRjQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUNBZ2RHMXdJRDBnZG1Gc2RXVnpXM0psYzNWc2RDNXFiMmx1S0NjdUp5bGRPMXh1SUNBZ0lHbG1JQ2gwYlhBZ0lUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQWdJSEpsYzNWc2RDQTlJSFJ0Y0R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OU8xeHVYRzVFUlZKT2IyUmxMbkJ5YjNSdmRIbHdaUzVmWkdWamIyUmxWR2x0WlNBOUlHWjFibU4wYVc5dUlHUmxZMjlrWlZScGJXVW9ZblZtWm1WeUxDQjBZV2NwSUh0Y2JpQWdkbUZ5SUhOMGNpQTlJR0oxWm1abGNpNXlZWGNvS1M1MGIxTjBjbWx1WnlncE8xeHVJQ0JwWmlBb2RHRm5JRDA5UFNBbloyVnVkR2x0WlNjcElIdGNiaUFnSUNCMllYSWdlV1ZoY2lBOUlITjBjaTV6YkdsalpTZ3dMQ0EwS1NCOElEQTdYRzRnSUNBZ2RtRnlJRzF2YmlBOUlITjBjaTV6YkdsalpTZzBMQ0EyS1NCOElEQTdYRzRnSUNBZ2RtRnlJR1JoZVNBOUlITjBjaTV6YkdsalpTZzJMQ0E0S1NCOElEQTdYRzRnSUNBZ2RtRnlJR2h2ZFhJZ1BTQnpkSEl1YzJ4cFkyVW9PQ3dnTVRBcElId2dNRHRjYmlBZ0lDQjJZWElnYldsdUlEMGdjM1J5TG5Oc2FXTmxLREV3TENBeE1pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCelpXTWdQU0J6ZEhJdWMyeHBZMlVvTVRJc0lERTBLU0I4SURBN1hHNGdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuZFhSamRHbHRaU2NwSUh0Y2JpQWdJQ0IyWVhJZ2VXVmhjaUE5SUhOMGNpNXpiR2xqWlNnd0xDQXlLU0I4SURBN1hHNGdJQ0FnZG1GeUlHMXZiaUE5SUhOMGNpNXpiR2xqWlNneUxDQTBLU0I4SURBN1hHNGdJQ0FnZG1GeUlHUmhlU0E5SUhOMGNpNXpiR2xqWlNnMExDQTJLU0I4SURBN1hHNGdJQ0FnZG1GeUlHaHZkWElnUFNCemRISXVjMnhwWTJVb05pd2dPQ2tnZkNBd08xeHVJQ0FnSUhaaGNpQnRhVzRnUFNCemRISXVjMnhwWTJVb09Dd2dNVEFwSUh3Z01EdGNiaUFnSUNCMllYSWdjMlZqSUQwZ2MzUnlMbk5zYVdObEtERXdMQ0F4TWlrZ2ZDQXdPMXh1SUNBZ0lHbG1JQ2g1WldGeUlEd2dOekFwWEc0Z0lDQWdJQ0I1WldGeUlEMGdNakF3TUNBcklIbGxZWEk3WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnZVdWaGNpQTlJREU1TURBZ0t5QjVaV0Z5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJpZFdabVpYSXVaWEp5YjNJb0owUmxZMjlrYVc1bklDY2dLeUIwWVdjZ0t5QW5JSFJwYldVZ2FYTWdibTkwSUhOMWNIQnZjblJsWkNCNVpYUW5LVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJFWVhSbExsVlVReWg1WldGeUxDQnRiMjRnTFNBeExDQmtZWGtzSUdodmRYSXNJRzFwYml3Z2MyVmpMQ0F3S1R0Y2JuMDdYRzVjYmtSRlVrNXZaR1V1Y0hKdmRHOTBlWEJsTGw5a1pXTnZaR1ZPZFd4c0lEMGdablZ1WTNScGIyNGdaR1ZqYjJSbFRuVnNiQ2hpZFdabVpYSXBJSHRjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5TzF4dVhHNUVSVkpPYjJSbExuQnliM1J2ZEhsd1pTNWZaR1ZqYjJSbFFtOXZiQ0E5SUdaMWJtTjBhVzl1SUdSbFkyOWtaVUp2YjJ3b1luVm1abVZ5S1NCN1hHNGdJSFpoY2lCeVpYTWdQU0JpZFdabVpYSXVjbVZoWkZWSmJuUTRLQ2s3WEc0Z0lHbG1JQ2hpZFdabVpYSXVhWE5GY25KdmNpaHlaWE1wS1Z4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2NtVnpJQ0U5UFNBd08xeHVmVHRjYmx4dVJFVlNUbTlrWlM1d2NtOTBiM1I1Y0dVdVgyUmxZMjlrWlVsdWRDQTlJR1oxYm1OMGFXOXVJR1JsWTI5a1pVbHVkQ2hpZFdabVpYSXNJSFpoYkhWbGN5a2dlMXh1SUNBdkx5QkNhV2RwYm5Rc0lISmxkSFZ5YmlCaGN5QnBkQ0JwY3lBb1lYTnpkVzFsSUdKcFp5QmxibVJwWVc0cFhHNGdJSFpoY2lCeVlYY2dQU0JpZFdabVpYSXVjbUYzS0NrN1hHNGdJSFpoY2lCeVpYTWdQU0J1WlhjZ1ltbG5iblZ0S0hKaGR5azdYRzVjYmlBZ2FXWWdLSFpoYkhWbGN5bGNiaUFnSUNCeVpYTWdQU0IyWVd4MVpYTmJjbVZ6TG5SdlUzUnlhVzVuS0RFd0tWMGdmSHdnY21Wek8xeHVYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1WEc1RVJWSk9iMlJsTG5CeWIzUnZkSGx3WlM1ZmRYTmxJRDBnWm5WdVkzUnBiMjRnZFhObEtHVnVkR2wwZVN3Z2IySnFLU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaVzUwYVhSNUlEMDlQU0FuWm5WdVkzUnBiMjRuS1Z4dUlDQWdJR1Z1ZEdsMGVTQTlJR1Z1ZEdsMGVTaHZZbW9wTzF4dUlDQnlaWFIxY200Z1pXNTBhWFI1TGw5blpYUkVaV052WkdWeUtDZGtaWEluS1M1MGNtVmxPMXh1ZlR0Y2JseHVMeThnVlhScGJHbDBlU0J0WlhSb2IyUnpYRzVjYm1aMWJtTjBhVzl1SUdSbGNrUmxZMjlrWlZSaFp5aGlkV1lzSUdaaGFXd3BJSHRjYmlBZ2RtRnlJSFJoWnlBOUlHSjFaaTV5WldGa1ZVbHVkRGdvWm1GcGJDazdYRzRnSUdsbUlDaGlkV1l1YVhORmNuSnZjaWgwWVdjcEtWeHVJQ0FnSUhKbGRIVnliaUIwWVdjN1hHNWNiaUFnZG1GeUlHTnNjeUE5SUdSbGNpNTBZV2REYkdGemMxdDBZV2NnUGo0Z05sMDdYRzRnSUhaaGNpQndjbWx0YVhScGRtVWdQU0FvZEdGbklDWWdNSGd5TUNrZ1BUMDlJREE3WEc1Y2JpQWdMeThnVFhWc2RHa3RiMk4wWlhRZ2RHRm5JQzBnYkc5aFpGeHVJQ0JwWmlBb0tIUmhaeUFtSURCNE1XWXBJRDA5UFNBd2VERm1LU0I3WEc0Z0lDQWdkbUZ5SUc5amRDQTlJSFJoWnp0Y2JpQWdJQ0IwWVdjZ1BTQXdPMXh1SUNBZ0lIZG9hV3hsSUNnb2IyTjBJQ1lnTUhnNE1Da2dQVDA5SURCNE9EQXBJSHRjYmlBZ0lDQWdJRzlqZENBOUlHSjFaaTV5WldGa1ZVbHVkRGdvWm1GcGJDazdYRzRnSUNBZ0lDQnBaaUFvWW5WbUxtbHpSWEp5YjNJb2IyTjBLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzlqZER0Y2JseHVJQ0FnSUNBZ2RHRm5JRHc4UFNBM08xeHVJQ0FnSUNBZ2RHRm5JSHc5SUc5amRDQW1JREI0TjJZN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSaFp5QW1QU0F3ZURGbU8xeHVJQ0I5WEc0Z0lIWmhjaUIwWVdkVGRISWdQU0JrWlhJdWRHRm5XM1JoWjEwN1hHNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpiSE02SUdOc2N5eGNiaUFnSUNCd2NtbHRhWFJwZG1VNklIQnlhVzFwZEdsMlpTeGNiaUFnSUNCMFlXYzZJSFJoWnl4Y2JpQWdJQ0IwWVdkVGRISTZJSFJoWjFOMGNseHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrWlhKRVpXTnZaR1ZNWlc0b1luVm1MQ0J3Y21sdGFYUnBkbVVzSUdaaGFXd3BJSHRjYmlBZ2RtRnlJR3hsYmlBOUlHSjFaaTV5WldGa1ZVbHVkRGdvWm1GcGJDazdYRzRnSUdsbUlDaGlkV1l1YVhORmNuSnZjaWhzWlc0cEtWeHVJQ0FnSUhKbGRIVnliaUJzWlc0N1hHNWNiaUFnTHk4Z1NXNWtaV1pwYm1sMFpTQm1iM0p0WEc0Z0lHbG1JQ2doY0hKcGJXbDBhWFpsSUNZbUlHeGxiaUE5UFQwZ01IZzRNQ2xjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmx4dUlDQXZMeUJFWldacGJtbDBaU0JtYjNKdFhHNGdJR2xtSUNnb2JHVnVJQ1lnTUhnNE1Da2dQVDA5SURBcElIdGNiaUFnSUNBdkx5QlRhRzl5ZENCbWIzSnRYRzRnSUNBZ2NtVjBkWEp1SUd4bGJqdGNiaUFnZlZ4dVhHNGdJQzh2SUV4dmJtY2dabTl5YlZ4dUlDQjJZWElnYm5WdElEMGdiR1Z1SUNZZ01IZzNaanRjYmlBZ2FXWWdLRzUxYlNBK0lEUXBYRzRnSUNBZ2NtVjBkWEp1SUdKMVppNWxjbkp2Y2lnbmJHVnVaM1JvSUc5amRHVmpkQ0JwY3lCMGIyOGdiRzl1WnljcE8xeHVYRzRnSUd4bGJpQTlJREE3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diblZ0T3lCcEt5c3BJSHRjYmlBZ0lDQnNaVzRnUER3OUlEZzdYRzRnSUNBZ2RtRnlJR29nUFNCaWRXWXVjbVZoWkZWSmJuUTRLR1poYVd3cE8xeHVJQ0FnSUdsbUlDaGlkV1l1YVhORmNuSnZjaWhxS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJxTzF4dUlDQWdJR3hsYmlCOFBTQnFPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR3hsYmp0Y2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvZGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgZGVjb2RlcnMgPSBleHBvcnRzO1xcblxcbmRlY29kZXJzLmRlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL2Rlci5qc1xcXCIpO1xcbmRlY29kZXJzLnBlbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcGVtICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL3BlbS5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJSbFkyOWtaWEp6TDJsdVpHVjRMbXB6UHpKbU5EWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3TzBGQlJVRXNaVUZCWlN4dFFrRkJUeXhEUVVGRExEaEVRVUZQTzBGQlF6bENMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzRSRUZCVHlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlJsWTI5a1pYSnpMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJR1JsWTI5a1pYSnpJRDBnWlhod2IzSjBjenRjYmx4dVpHVmpiMlJsY25NdVpHVnlJRDBnY21WeGRXbHlaU2duTGk5a1pYSW5LVHRjYm1SbFkyOWtaWEp6TG5CbGJTQTlJSEpsY1hWcGNtVW9KeTR2Y0dWdEp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcjtcXG5cXG52YXIgREVSRGVjb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL2Rlci5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIFBFTURlY29kZXIoZW50aXR5KSB7XFxuICBERVJEZWNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcXG4gIHRoaXMuZW5jID0gJ3BlbSc7XFxufTtcXG5pbmhlcml0cyhQRU1EZWNvZGVyLCBERVJEZWNvZGVyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFBFTURlY29kZXI7XFxuXFxuUEVNRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGRhdGEsIG9wdGlvbnMpIHtcXG4gIHZhciBsaW5lcyA9IGRhdGEudG9TdHJpbmcoKS5zcGxpdCgvW1xcXFxyXFxcXG5dKy9nKTtcXG5cXG4gIHZhciBsYWJlbCA9IG9wdGlvbnMubGFiZWwudG9VcHBlckNhc2UoKTtcXG5cXG4gIHZhciByZSA9IC9eLS0tLS0oQkVHSU58RU5EKSAoW14tXSspLS0tLS0kLztcXG4gIHZhciBzdGFydCA9IC0xO1xcbiAgdmFyIGVuZCA9IC0xO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgbWF0Y2ggPSBsaW5lc1tpXS5tYXRjaChyZSk7XFxuICAgIGlmIChtYXRjaCA9PT0gbnVsbClcXG4gICAgICBjb250aW51ZTtcXG5cXG4gICAgaWYgKG1hdGNoWzJdICE9PSBsYWJlbClcXG4gICAgICBjb250aW51ZTtcXG5cXG4gICAgaWYgKHN0YXJ0ID09PSAtMSkge1xcbiAgICAgIGlmIChtYXRjaFsxXSAhPT0gJ0JFR0lOJylcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIHN0YXJ0ID0gaTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobWF0Y2hbMV0gIT09ICdFTkQnKVxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgZW5kID0gaTtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKVxcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BFTSBzZWN0aW9uIG5vdCBmb3VuZCBmb3I6ICcgKyBsYWJlbCk7XFxuXFxuICB2YXIgYmFzZTY0ID0gbGluZXMuc2xpY2Uoc3RhcnQgKyAxLCBlbmQpLmpvaW4oJycpO1xcbiAgLy8gUmVtb3ZlIGV4Y2Vzc2l2ZSBzeW1ib2xzXFxuICBiYXNlNjQucmVwbGFjZSgvW15hLXowLTlcXFxcK1xcXFwvPV0rL2dpLCAnJyk7XFxuXFxuICB2YXIgaW5wdXQgPSBuZXcgQnVmZmVyKGJhc2U2NCwgJ2Jhc2U2NCcpO1xcbiAgcmV0dXJuIERFUkRlY29kZXIucHJvdG90eXBlLmRlY29kZS5jYWxsKHRoaXMsIGlucHV0LCBvcHRpb25zKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJSbFkyOWtaWEp6TDNCbGJTNXFjejg1TXpneElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVGRDTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETERoRVFVRlBPenRCUVVWb1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2EwSkJRV3RDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJSbFkyOWtaWEp6TDNCbGJTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlrN1hHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlKeWt1UW5WbVptVnlPMXh1WEc1MllYSWdSRVZTUkdWamIyUmxjaUE5SUhKbGNYVnBjbVVvSnk0dlpHVnlKeWs3WEc1Y2JtWjFibU4wYVc5dUlGQkZUVVJsWTI5a1pYSW9aVzUwYVhSNUtTQjdYRzRnSUVSRlVrUmxZMjlrWlhJdVkyRnNiQ2gwYUdsekxDQmxiblJwZEhrcE8xeHVJQ0IwYUdsekxtVnVZeUE5SUNkd1pXMG5PMXh1ZlR0Y2JtbHVhR1Z5YVhSektGQkZUVVJsWTI5a1pYSXNJRVJGVWtSbFkyOWtaWElwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCUVJVMUVaV052WkdWeU8xeHVYRzVRUlUxRVpXTnZaR1Z5TG5CeWIzUnZkSGx3WlM1a1pXTnZaR1VnUFNCbWRXNWpkR2x2YmlCa1pXTnZaR1VvWkdGMFlTd2diM0IwYVc5dWN5a2dlMXh1SUNCMllYSWdiR2x1WlhNZ1BTQmtZWFJoTG5SdlUzUnlhVzVuS0NrdWMzQnNhWFFvTDF0Y1hISmNYRzVkS3k5bktUdGNibHh1SUNCMllYSWdiR0ZpWld3Z1BTQnZjSFJwYjI1ekxteGhZbVZzTG5SdlZYQndaWEpEWVhObEtDazdYRzVjYmlBZ2RtRnlJSEpsSUQwZ0wxNHRMUzB0TFNoQ1JVZEpUbnhGVGtRcElDaGJYaTFkS3lrdExTMHRMU1F2TzF4dUlDQjJZWElnYzNSaGNuUWdQU0F0TVR0Y2JpQWdkbUZ5SUdWdVpDQTlJQzB4TzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hwYm1WekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUcxaGRHTm9JRDBnYkdsdVpYTmJhVjB1YldGMFkyZ29jbVVwTzF4dUlDQWdJR2xtSUNodFlYUmphQ0E5UFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJR052Ym5ScGJuVmxPMXh1WEc0Z0lDQWdhV1lnS0cxaGRHTm9XekpkSUNFOVBTQnNZV0psYkNsY2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnYVdZZ0tITjBZWEowSUQwOVBTQXRNU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHMWhkR05vV3pGZElDRTlQU0FuUWtWSFNVNG5LVnh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lITjBZWEowSUQwZ2FUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYVdZZ0tHMWhkR05vV3pGZElDRTlQU0FuUlU1RUp5bGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCbGJtUWdQU0JwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHbG1JQ2h6ZEdGeWRDQTlQVDBnTFRFZ2ZId2daVzVrSUQwOVBTQXRNU2xjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxQkZUU0J6WldOMGFXOXVJRzV2ZENCbWIzVnVaQ0JtYjNJNklDY2dLeUJzWVdKbGJDazdYRzVjYmlBZ2RtRnlJR0poYzJVMk5DQTlJR3hwYm1WekxuTnNhV05sS0hOMFlYSjBJQ3NnTVN3Z1pXNWtLUzVxYjJsdUtDY25LVHRjYmlBZ0x5OGdVbVZ0YjNabElHVjRZMlZ6YzJsMlpTQnplVzFpYjJ4elhHNGdJR0poYzJVMk5DNXlaWEJzWVdObEtDOWJYbUV0ZWpBdE9WeGNLMXhjTHoxZEt5OW5hU3dnSnljcE8xeHVYRzRnSUhaaGNpQnBibkIxZENBOUlHNWxkeUJDZFdabVpYSW9ZbUZ6WlRZMExDQW5ZbUZ6WlRZMEp5azdYRzRnSUhKbGRIVnliaUJFUlZKRVpXTnZaR1Z5TG5CeWIzUnZkSGx3WlM1a1pXTnZaR1V1WTJGc2JDaDBhR2x6TENCcGJuQjFkQ3dnYjNCMGFXOXVjeWs3WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuXFxudmFyIGFzbjEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9hc24xICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIik7XFxudmFyIGJhc2UgPSBhc24xLmJhc2U7XFxuXFxuLy8gSW1wb3J0IERFUiBjb25zdGFudHNcXG52YXIgZGVyID0gYXNuMS5jb25zdGFudHMuZGVyO1xcblxcbmZ1bmN0aW9uIERFUkVuY29kZXIoZW50aXR5KSB7XFxuICB0aGlzLmVuYyA9ICdkZXInO1xcbiAgdGhpcy5uYW1lID0gZW50aXR5Lm5hbWU7XFxuICB0aGlzLmVudGl0eSA9IGVudGl0eTtcXG5cXG4gIC8vIENvbnN0cnVjdCBiYXNlIHRyZWVcXG4gIHRoaXMudHJlZSA9IG5ldyBERVJOb2RlKCk7XFxuICB0aGlzLnRyZWUuX2luaXQoZW50aXR5LmJvZHkpO1xcbn07XFxubW9kdWxlLmV4cG9ydHMgPSBERVJFbmNvZGVyO1xcblxcbkRFUkVuY29kZXIucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlcikge1xcbiAgcmV0dXJuIHRoaXMudHJlZS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKS5qb2luKCk7XFxufTtcXG5cXG4vLyBUcmVlIG1ldGhvZHNcXG5cXG5mdW5jdGlvbiBERVJOb2RlKHBhcmVudCkge1xcbiAgYmFzZS5Ob2RlLmNhbGwodGhpcywgJ2RlcicsIHBhcmVudCk7XFxufVxcbmluaGVyaXRzKERFUk5vZGUsIGJhc2UuTm9kZSk7XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUNvbXBvc2l0ZSA9IGZ1bmN0aW9uIGVuY29kZUNvbXBvc2l0ZSh0YWcsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmUsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50KSB7XFxuICB2YXIgZW5jb2RlZFRhZyA9IGVuY29kZVRhZyh0YWcsIHByaW1pdGl2ZSwgY2xzLCB0aGlzLnJlcG9ydGVyKTtcXG5cXG4gIC8vIFNob3J0IGZvcm1cXG4gIGlmIChjb250ZW50Lmxlbmd0aCA8IDB4ODApIHtcXG4gICAgdmFyIGhlYWRlciA9IG5ldyBCdWZmZXIoMik7XFxuICAgIGhlYWRlclswXSA9IGVuY29kZWRUYWc7XFxuICAgIGhlYWRlclsxXSA9IGNvbnRlbnQubGVuZ3RoO1xcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbIGhlYWRlciwgY29udGVudCBdKTtcXG4gIH1cXG5cXG4gIC8vIExvbmcgZm9ybVxcbiAgLy8gQ291bnQgb2N0ZXRzIHJlcXVpcmVkIHRvIHN0b3JlIGxlbmd0aFxcbiAgdmFyIGxlbk9jdGV0cyA9IDE7XFxuICBmb3IgKHZhciBpID0gY29udGVudC5sZW5ndGg7IGkgPj0gMHgxMDA7IGkgPj49IDgpXFxuICAgIGxlbk9jdGV0cysrO1xcblxcbiAgdmFyIGhlYWRlciA9IG5ldyBCdWZmZXIoMSArIDEgKyBsZW5PY3RldHMpO1xcbiAgaGVhZGVyWzBdID0gZW5jb2RlZFRhZztcXG4gIGhlYWRlclsxXSA9IDB4ODAgfCBsZW5PY3RldHM7XFxuXFxuICBmb3IgKHZhciBpID0gMSArIGxlbk9jdGV0cywgaiA9IGNvbnRlbnQubGVuZ3RoOyBqID4gMDsgaS0tLCBqID4+PSA4KVxcbiAgICBoZWFkZXJbaV0gPSBqICYgMHhmZjtcXG5cXG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFsgaGVhZGVyLCBjb250ZW50IF0pO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZVN0ciA9IGZ1bmN0aW9uIGVuY29kZVN0cihzdHIsIHRhZykge1xcbiAgaWYgKHRhZyA9PT0gJ2JpdHN0cicpIHtcXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoWyBzdHIudW51c2VkIHwgMCwgc3RyLmRhdGEgXSk7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2JtcHN0cicpIHtcXG4gICAgdmFyIGJ1ZiA9IG5ldyBCdWZmZXIoc3RyLmxlbmd0aCAqIDIpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xcbiAgICAgIGJ1Zi53cml0ZVVJbnQxNkJFKHN0ci5jaGFyQ29kZUF0KGkpLCBpICogMik7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoYnVmKTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAnbnVtc3RyJykge1xcbiAgICBpZiAoIXRoaXMuX2lzTnVtc3RyKHN0cikpIHtcXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6IG51bXN0ciBzdXBwb3J0cyAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb25seSBkaWdpdHMgYW5kIHNwYWNlJyk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoc3RyKTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAncHJpbnRzdHInKSB7XFxuICAgIGlmICghdGhpcy5faXNQcmludHN0cihzdHIpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ0VuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciBzdXBwb3J0cyAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb25seSBsYXRpbiB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlnaXRzLCBzcGFjZSwgYXBvc3Ryb3BoZSwgbGVmdCBhbmQgcmlndGggJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudGhlc2lzLCBwbHVzIHNpZ24sIGNvbW1hLCBoeXBoZW4sICcgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkb3QsIHNsYXNoLCBjb2xvbiwgZXF1YWwgc2lnbiwgJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3F1ZXN0aW9uIG1hcmsnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihzdHIpO1xcbiAgfSBlbHNlIGlmICgvc3RyJC8udGVzdCh0YWcpKSB7XFxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ29iakRlc2MnKSB7XFxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICcgKyB0YWcgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIHVuc3VwcG9ydGVkJyk7XFxuICB9XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlT2JqaWQgPSBmdW5jdGlvbiBlbmNvZGVPYmppZChpZCwgdmFsdWVzLCByZWxhdGl2ZSkge1xcbiAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcXG4gICAgaWYgKCF2YWx1ZXMpXFxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ3N0cmluZyBvYmppZCBnaXZlbiwgYnV0IG5vIHZhbHVlcyBtYXAgZm91bmQnKTtcXG4gICAgaWYgKCF2YWx1ZXMuaGFzT3duUHJvcGVydHkoaWQpKVxcbiAgICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdvYmppZCBub3QgZm91bmQgaW4gdmFsdWVzIG1hcCcpO1xcbiAgICBpZCA9IHZhbHVlc1tpZF0uc3BsaXQoL1tcXFxcc1xcXFwuXSsvZyk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaWQubGVuZ3RoOyBpKyspXFxuICAgICAgaWRbaV0gfD0gMDtcXG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShpZCkpIHtcXG4gICAgaWQgPSBpZC5zbGljZSgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkLmxlbmd0aDsgaSsrKVxcbiAgICAgIGlkW2ldIHw9IDA7XFxuICB9XFxuXFxuICBpZiAoIUFycmF5LmlzQXJyYXkoaWQpKSB7XFxuICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdvYmppZCgpIHNob3VsZCBiZSBlaXRoZXIgYXJyYXkgb3Igc3RyaW5nLCAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dvdDogJyArIEpTT04uc3RyaW5naWZ5KGlkKSk7XFxuICB9XFxuXFxuICBpZiAoIXJlbGF0aXZlKSB7XFxuICAgIGlmIChpZFsxXSA+PSA0MClcXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignU2Vjb25kIG9iamlkIGlkZW50aWZpZXIgT09CJyk7XFxuICAgIGlkLnNwbGljZSgwLCAyLCBpZFswXSAqIDQwICsgaWRbMV0pO1xcbiAgfVxcblxcbiAgLy8gQ291bnQgbnVtYmVyIG9mIG9jdGV0c1xcbiAgdmFyIHNpemUgPSAwO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgaWRlbnQgPSBpZFtpXTtcXG4gICAgZm9yIChzaXplKys7IGlkZW50ID49IDB4ODA7IGlkZW50ID4+PSA3KVxcbiAgICAgIHNpemUrKztcXG4gIH1cXG5cXG4gIHZhciBvYmppZCA9IG5ldyBCdWZmZXIoc2l6ZSk7XFxuICB2YXIgb2Zmc2V0ID0gb2JqaWQubGVuZ3RoIC0gMTtcXG4gIGZvciAodmFyIGkgPSBpZC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICB2YXIgaWRlbnQgPSBpZFtpXTtcXG4gICAgb2JqaWRbb2Zmc2V0LS1dID0gaWRlbnQgJiAweDdmO1xcbiAgICB3aGlsZSAoKGlkZW50ID4+PSA3KSA+IDApXFxuICAgICAgb2JqaWRbb2Zmc2V0LS1dID0gMHg4MCB8IChpZGVudCAmIDB4N2YpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob2JqaWQpO1xcbn07XFxuXFxuZnVuY3Rpb24gdHdvKG51bSkge1xcbiAgaWYgKG51bSA8IDEwKVxcbiAgICByZXR1cm4gJzAnICsgbnVtO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gbnVtO1xcbn1cXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlVGltZSA9IGZ1bmN0aW9uIGVuY29kZVRpbWUodGltZSwgdGFnKSB7XFxuICB2YXIgc3RyO1xcbiAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh0aW1lKTtcXG5cXG4gIGlmICh0YWcgPT09ICdnZW50aW1lJykge1xcbiAgICBzdHIgPSBbXFxuICAgICAgdHdvKGRhdGUuZ2V0RnVsbFllYXIoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpLFxcbiAgICAgIHR3byhkYXRlLmdldFVUQ0RhdGUoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDSG91cnMoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTWludXRlcygpKSxcXG4gICAgICB0d28oZGF0ZS5nZXRVVENTZWNvbmRzKCkpLFxcbiAgICAgICdaJ1xcbiAgICBdLmpvaW4oJycpO1xcbiAgfSBlbHNlIGlmICh0YWcgPT09ICd1dGN0aW1lJykge1xcbiAgICBzdHIgPSBbXFxuICAgICAgdHdvKGRhdGUuZ2V0RnVsbFllYXIoKSAlIDEwMCksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpLFxcbiAgICAgIHR3byhkYXRlLmdldFVUQ0RhdGUoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDSG91cnMoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTWludXRlcygpKSxcXG4gICAgICB0d28oZGF0ZS5nZXRVVENTZWNvbmRzKCkpLFxcbiAgICAgICdaJ1xcbiAgICBdLmpvaW4oJycpO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2RpbmcgJyArIHRhZyArICcgdGltZSBpcyBub3Qgc3VwcG9ydGVkIHlldCcpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuX2VuY29kZVN0cihzdHIsICdvY3RzdHInKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVOdWxsID0gZnVuY3Rpb24gZW5jb2RlTnVsbCgpIHtcXG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKCcnKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVJbnQgPSBmdW5jdGlvbiBlbmNvZGVJbnQobnVtLCB2YWx1ZXMpIHtcXG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xcbiAgICBpZiAoIXZhbHVlcylcXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignU3RyaW5nIGludCBvciBlbnVtIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCcpO1xcbiAgICBpZiAoIXZhbHVlcy5oYXNPd25Qcm9wZXJ0eShudW0pKSB7XFxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ1ZhbHVlcyBtYXAgZG9lc25cXFxcJ3QgY29udGFpbjogJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkobnVtKSk7XFxuICAgIH1cXG4gICAgbnVtID0gdmFsdWVzW251bV07XFxuICB9XFxuXFxuICAvLyBCaWdudW0sIGFzc3VtZSBiaWcgZW5kaWFuXFxuICBpZiAodHlwZW9mIG51bSAhPT0gJ251bWJlcicgJiYgIUJ1ZmZlci5pc0J1ZmZlcihudW0pKSB7XFxuICAgIHZhciBudW1BcnJheSA9IG51bS50b0FycmF5KCk7XFxuICAgIGlmICghbnVtLnNpZ24gJiYgbnVtQXJyYXlbMF0gJiAweDgwKSB7XFxuICAgICAgbnVtQXJyYXkudW5zaGlmdCgwKTtcXG4gICAgfVxcbiAgICBudW0gPSBuZXcgQnVmZmVyKG51bUFycmF5KTtcXG4gIH1cXG5cXG4gIGlmIChCdWZmZXIuaXNCdWZmZXIobnVtKSkge1xcbiAgICB2YXIgc2l6ZSA9IG51bS5sZW5ndGg7XFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAwKVxcbiAgICAgIHNpemUrKztcXG5cXG4gICAgdmFyIG91dCA9IG5ldyBCdWZmZXIoc2l6ZSk7XFxuICAgIG51bS5jb3B5KG91dCk7XFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAwKVxcbiAgICAgIG91dFswXSA9IDBcXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob3V0KTtcXG4gIH1cXG5cXG4gIGlmIChudW0gPCAweDgwKVxcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihudW0pO1xcblxcbiAgaWYgKG51bSA8IDB4MTAwKVxcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMCwgbnVtXSk7XFxuXFxuICB2YXIgc2l6ZSA9IDE7XFxuICBmb3IgKHZhciBpID0gbnVtOyBpID49IDB4MTAwOyBpID4+PSA4KVxcbiAgICBzaXplKys7XFxuXFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHNpemUpO1xcbiAgZm9yICh2YXIgaSA9IG91dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICBvdXRbaV0gPSBudW0gJiAweGZmO1xcbiAgICBudW0gPj49IDg7XFxuICB9XFxuICBpZihvdXRbMF0gJiAweDgwKSB7XFxuICAgIG91dC51bnNoaWZ0KDApO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIobmV3IEJ1ZmZlcihvdXQpKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVCb29sID0gZnVuY3Rpb24gZW5jb2RlQm9vbCh2YWx1ZSkge1xcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIodmFsdWUgPyAweGZmIDogMCk7XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fdXNlID0gZnVuY3Rpb24gdXNlKGVudGl0eSwgb2JqKSB7XFxuICBpZiAodHlwZW9mIGVudGl0eSA9PT0gJ2Z1bmN0aW9uJylcXG4gICAgZW50aXR5ID0gZW50aXR5KG9iaik7XFxuICByZXR1cm4gZW50aXR5Ll9nZXRFbmNvZGVyKCdkZXInKS50cmVlO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX3NraXBEZWZhdWx0ID0gZnVuY3Rpb24gc2tpcERlZmF1bHQoZGF0YUJ1ZmZlciwgcmVwb3J0ZXIsIHBhcmVudCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgdmFyIGk7XFxuICBpZiAoc3RhdGVbJ2RlZmF1bHQnXSA9PT0gbnVsbClcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgdmFyIGRhdGEgPSBkYXRhQnVmZmVyLmpvaW4oKTtcXG4gIGlmIChzdGF0ZS5kZWZhdWx0QnVmZmVyID09PSB1bmRlZmluZWQpXFxuICAgIHN0YXRlLmRlZmF1bHRCdWZmZXIgPSB0aGlzLl9lbmNvZGVWYWx1ZShzdGF0ZVsnZGVmYXVsdCddLCByZXBvcnRlciwgcGFyZW50KS5qb2luKCk7XFxuXFxuICBpZiAoZGF0YS5sZW5ndGggIT09IHN0YXRlLmRlZmF1bHRCdWZmZXIubGVuZ3RoKVxcbiAgICByZXR1cm4gZmFsc2U7XFxuXFxuICBmb3IgKGk9MDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspXFxuICAgIGlmIChkYXRhW2ldICE9PSBzdGF0ZS5kZWZhdWx0QnVmZmVyW2ldKVxcbiAgICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIHJldHVybiB0cnVlO1xcbn07XFxuXFxuLy8gVXRpbGl0eSBtZXRob2RzXFxuXFxuZnVuY3Rpb24gZW5jb2RlVGFnKHRhZywgcHJpbWl0aXZlLCBjbHMsIHJlcG9ydGVyKSB7XFxuICB2YXIgcmVzO1xcblxcbiAgaWYgKHRhZyA9PT0gJ3NlcW9mJylcXG4gICAgdGFnID0gJ3NlcSc7XFxuICBlbHNlIGlmICh0YWcgPT09ICdzZXRvZicpXFxuICAgIHRhZyA9ICdzZXQnO1xcblxcbiAgaWYgKGRlci50YWdCeU5hbWUuaGFzT3duUHJvcGVydHkodGFnKSlcXG4gICAgcmVzID0gZGVyLnRhZ0J5TmFtZVt0YWddO1xcbiAgZWxzZSBpZiAodHlwZW9mIHRhZyA9PT0gJ251bWJlcicgJiYgKHRhZyB8IDApID09PSB0YWcpXFxuICAgIHJlcyA9IHRhZztcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbmtub3duIHRhZzogJyArIHRhZyk7XFxuXFxuICBpZiAocmVzID49IDB4MWYpXFxuICAgIHJldHVybiByZXBvcnRlci5lcnJvcignTXVsdGktb2N0ZXQgdGFnIGVuY29kaW5nIHVuc3VwcG9ydGVkJyk7XFxuXFxuICBpZiAoIXByaW1pdGl2ZSlcXG4gICAgcmVzIHw9IDB4MjA7XFxuXFxuICByZXMgfD0gKGRlci50YWdDbGFzc0J5TmFtZVtjbHMgfHwgJ3VuaXZlcnNhbCddIDw8IDYpO1xcblxcbiAgcmV0dXJuIHJlcztcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlZ1WTI5a1pYSnpMMlJsY2k1cWN6ODVOREJtSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHRCUVVOcVF5eGhRVUZoTEcxQ1FVRlBMRU5CUVVNc09FTkJRVkU3TzBGQlJUZENMRmRCUVZjc2JVSkJRVThzUTBGQlF5eHpSRUZCV1R0QlFVTXZRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc09FSkJRVGhDTEZsQlFWazdRVUZETVVNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xFUVVGcFJDeFBRVUZQTzBGQlEzaEVPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1pVRkJaVHRCUVVOc1F6dEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJMRzFDUVVGdFFpeGxRVUZsTzBGQlEyeERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEdWQlFXVTdRVUZEYUVNN1FVRkRRU3huUWtGQlowSXNaVUZCWlR0QlFVTXZRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0lzVVVGQlVUdEJRVU55UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1dVRkJXVHRCUVVNdlFqczdRVUZGUVR0QlFVTkJMRGhDUVVFNFFpeFJRVUZSTzBGQlEzUkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzVjBGQlZ5eHBRa0ZCYVVJN1FVRkROVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyRnpiakV1YW5NdmJHbGlMMkZ6YmpFdlpXNWpiMlJsY25NdlpHVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktUdGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkaWRXWm1aWEluS1M1Q2RXWm1aWEk3WEc1Y2JuWmhjaUJoYzI0eElEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dllYTnVNU2NwTzF4dWRtRnlJR0poYzJVZ1BTQmhjMjR4TG1KaGMyVTdYRzVjYmk4dklFbHRjRzl5ZENCRVJWSWdZMjl1YzNSaGJuUnpYRzUyWVhJZ1pHVnlJRDBnWVhOdU1TNWpiMjV6ZEdGdWRITXVaR1Z5TzF4dVhHNW1kVzVqZEdsdmJpQkVSVkpGYm1OdlpHVnlLR1Z1ZEdsMGVTa2dlMXh1SUNCMGFHbHpMbVZ1WXlBOUlDZGtaWEluTzF4dUlDQjBhR2x6TG01aGJXVWdQU0JsYm5ScGRIa3VibUZ0WlR0Y2JpQWdkR2hwY3k1bGJuUnBkSGtnUFNCbGJuUnBkSGs3WEc1Y2JpQWdMeThnUTI5dWMzUnlkV04wSUdKaGMyVWdkSEpsWlZ4dUlDQjBhR2x6TG5SeVpXVWdQU0J1WlhjZ1JFVlNUbTlrWlNncE8xeHVJQ0IwYUdsekxuUnlaV1V1WDJsdWFYUW9aVzUwYVhSNUxtSnZaSGtwTzF4dWZUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdSRVZTUlc1amIyUmxjanRjYmx4dVJFVlNSVzVqYjJSbGNpNXdjbTkwYjNSNWNHVXVaVzVqYjJSbElEMGdablZ1WTNScGIyNGdaVzVqYjJSbEtHUmhkR0VzSUhKbGNHOXlkR1Z5S1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG5SeVpXVXVYMlZ1WTI5a1pTaGtZWFJoTENCeVpYQnZjblJsY2lrdWFtOXBiaWdwTzF4dWZUdGNibHh1THk4Z1ZISmxaU0J0WlhSb2IyUnpYRzVjYm1aMWJtTjBhVzl1SUVSRlVrNXZaR1VvY0dGeVpXNTBLU0I3WEc0Z0lHSmhjMlV1VG05a1pTNWpZV3hzS0hSb2FYTXNJQ2RrWlhJbkxDQndZWEpsYm5RcE8xeHVmVnh1YVc1b1pYSnBkSE1vUkVWU1RtOWtaU3dnWW1GelpTNU9iMlJsS1R0Y2JseHVSRVZTVG05a1pTNXdjbTkwYjNSNWNHVXVYMlZ1WTI5a1pVTnZiWEJ2YzJsMFpTQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pVTnZiWEJ2YzJsMFpTaDBZV2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCeWFXMXBkR2wyWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyeHpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MFpXNTBLU0I3WEc0Z0lIWmhjaUJsYm1OdlpHVmtWR0ZuSUQwZ1pXNWpiMlJsVkdGbktIUmhaeXdnY0hKcGJXbDBhWFpsTENCamJITXNJSFJvYVhNdWNtVndiM0owWlhJcE8xeHVYRzRnSUM4dklGTm9iM0owSUdadmNtMWNiaUFnYVdZZ0tHTnZiblJsYm5RdWJHVnVaM1JvSUR3Z01IZzRNQ2tnZTF4dUlDQWdJSFpoY2lCb1pXRmtaWElnUFNCdVpYY2dRblZtWm1WeUtESXBPMXh1SUNBZ0lHaGxZV1JsY2xzd1hTQTlJR1Z1WTI5a1pXUlVZV2M3WEc0Z0lDQWdhR1ZoWkdWeVd6RmRJRDBnWTI5dWRHVnVkQzVzWlc1bmRHZzdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMk55WldGMFpVVnVZMjlrWlhKQ2RXWm1aWElvV3lCb1pXRmtaWElzSUdOdmJuUmxiblFnWFNrN1hHNGdJSDFjYmx4dUlDQXZMeUJNYjI1bklHWnZjbTFjYmlBZ0x5OGdRMjkxYm5RZ2IyTjBaWFJ6SUhKbGNYVnBjbVZrSUhSdklITjBiM0psSUd4bGJtZDBhRnh1SUNCMllYSWdiR1Z1VDJOMFpYUnpJRDBnTVR0Y2JpQWdabTl5SUNoMllYSWdhU0E5SUdOdmJuUmxiblF1YkdWdVozUm9PeUJwSUQ0OUlEQjRNVEF3T3lCcElENCtQU0E0S1Z4dUlDQWdJR3hsYms5amRHVjBjeXNyTzF4dVhHNGdJSFpoY2lCb1pXRmtaWElnUFNCdVpYY2dRblZtWm1WeUtERWdLeUF4SUNzZ2JHVnVUMk4wWlhSektUdGNiaUFnYUdWaFpHVnlXekJkSUQwZ1pXNWpiMlJsWkZSaFp6dGNiaUFnYUdWaFpHVnlXekZkSUQwZ01IZzRNQ0I4SUd4bGJrOWpkR1YwY3p0Y2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01TQXJJR3hsYms5amRHVjBjeXdnYWlBOUlHTnZiblJsYm5RdWJHVnVaM1JvT3lCcUlENGdNRHNnYVMwdExDQnFJRDQrUFNBNEtWeHVJQ0FnSUdobFlXUmxjbHRwWFNBOUlHb2dKaUF3ZUdabU8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLRnNnYUdWaFpHVnlMQ0JqYjI1MFpXNTBJRjBwTzF4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJWdVkyOWtaVk4wY2lBOUlHWjFibU4wYVc5dUlHVnVZMjlrWlZOMGNpaHpkSElzSUhSaFp5a2dlMXh1SUNCcFppQW9kR0ZuSUQwOVBTQW5ZbWwwYzNSeUp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlqY21WaGRHVkZibU52WkdWeVFuVm1abVZ5S0ZzZ2MzUnlMblZ1ZFhObFpDQjhJREFzSUhOMGNpNWtZWFJoSUYwcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnSjJKdGNITjBjaWNwSUh0Y2JpQWdJQ0IyWVhJZ1luVm1JRDBnYm1WM0lFSjFabVpsY2loemRISXViR1Z1WjNSb0lDb2dNaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6ZEhJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR0oxWmk1M2NtbDBaVlZKYm5ReE5rSkZLSE4wY2k1amFHRnlRMjlrWlVGMEtHa3BMQ0JwSUNvZ01pazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLR0oxWmlrN1hHNGdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYm5WdGMzUnlKeWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVmYVhOT2RXMXpkSElvYzNSeUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wd2IzSjBaWEl1WlhKeWIzSW9KMFZ1WTI5a2FXNW5JRzltSUhOMGNtbHVaeUIwZVhCbE9pQnVkVzF6ZEhJZ2MzVndjRzl5ZEhNZ0p5QXJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5iMjVzZVNCa2FXZHBkSE1nWVc1a0lITndZV05sSnlrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5amNtVmhkR1ZGYm1OdlpHVnlRblZtWm1WeUtITjBjaWs3WEc0Z0lIMGdaV3h6WlNCcFppQW9kR0ZuSUQwOVBTQW5jSEpwYm5SemRISW5LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlwYzFCeWFXNTBjM1J5S0hOMGNpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbGNHOXlkR1Z5TG1WeWNtOXlLQ2RGYm1OdlpHbHVaeUJ2WmlCemRISnBibWNnZEhsd1pUb2djSEpwYm5SemRISWdjM1Z3Y0c5eWRITWdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuYjI1c2VTQnNZWFJwYmlCMWNIQmxjaUJoYm1RZ2JHOTNaWElnWTJGelpTQnNaWFIwWlhKekxDQW5JQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2RrYVdkcGRITXNJSE53WVdObExDQmhjRzl6ZEhKdmNHaGxMQ0JzWldaMElHRnVaQ0J5YVdkMGFDQW5JQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2R3WVhKbGJuUm9aWE5wY3l3Z2NHeDFjeUJ6YVdkdUxDQmpiMjF0WVN3Z2FIbHdhR1Z1TENBbklDdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDZGtiM1FzSUhOc1lYTm9MQ0JqYjJ4dmJpd2daWEYxWVd3Z2MybG5iaXdnSnlBclhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBbmNYVmxjM1JwYjI0Z2JXRnlheWNwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWTNKbFlYUmxSVzVqYjJSbGNrSjFabVpsY2loemRISXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDOXpkSElrTHk1MFpYTjBLSFJoWnlrcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZZM0psWVhSbFJXNWpiMlJsY2tKMVptWmxjaWh6ZEhJcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnSjI5aWFrUmxjMk1uS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyTnlaV0YwWlVWdVkyOWtaWEpDZFdabVpYSW9jM1J5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaWEJ2Y25SbGNpNWxjbkp2Y2lnblJXNWpiMlJwYm1jZ2IyWWdjM1J5YVc1bklIUjVjR1U2SUNjZ0t5QjBZV2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2NnZFc1emRYQndiM0owWldRbktUdGNiaUFnZlZ4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJWdVkyOWtaVTlpYW1sa0lEMGdablZ1WTNScGIyNGdaVzVqYjJSbFQySnFhV1FvYVdRc0lIWmhiSFZsY3l3Z2NtVnNZWFJwZG1VcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCcFpDQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0JwWmlBb0lYWmhiSFZsY3lsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxjRzl5ZEdWeUxtVnljbTl5S0NkemRISnBibWNnYjJKcWFXUWdaMmwyWlc0c0lHSjFkQ0J1YnlCMllXeDFaWE1nYldGd0lHWnZkVzVrSnlrN1hHNGdJQ0FnYVdZZ0tDRjJZV3gxWlhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvYVdRcEtWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZ3YjNKMFpYSXVaWEp5YjNJb0oyOWlhbWxrSUc1dmRDQm1iM1Z1WkNCcGJpQjJZV3gxWlhNZ2JXRndKeWs3WEc0Z0lDQWdhV1FnUFNCMllXeDFaWE5iYVdSZExuTndiR2wwS0M5YlhGeHpYRnd1WFNzdlp5azdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnBaQzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0FnSUdsa1cybGRJSHc5SURBN1hHNGdJSDBnWld4elpTQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHBaQ2twSUh0Y2JpQWdJQ0JwWkNBOUlHbGtMbk5zYVdObEtDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnBaQzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0FnSUdsa1cybGRJSHc5SURBN1hHNGdJSDFjYmx4dUlDQnBaaUFvSVVGeWNtRjVMbWx6UVhKeVlYa29hV1FwS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVndiM0owWlhJdVpYSnliM0lvSjI5aWFtbGtLQ2tnYzJodmRXeGtJR0psSUdWcGRHaGxjaUJoY25KaGVTQnZjaUJ6ZEhKcGJtY3NJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2RuYjNRNklDY2dLeUJLVTA5T0xuTjBjbWx1WjJsbWVTaHBaQ2twTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0Z5Wld4aGRHbDJaU2tnZTF4dUlDQWdJR2xtSUNocFpGc3hYU0ErUFNBME1DbGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsY0c5eWRHVnlMbVZ5Y205eUtDZFRaV052Ym1RZ2IySnFhV1FnYVdSbGJuUnBabWxsY2lCUFQwSW5LVHRjYmlBZ0lDQnBaQzV6Y0d4cFkyVW9NQ3dnTWl3Z2FXUmJNRjBnS2lBME1DQXJJR2xrV3pGZEtUdGNiaUFnZlZ4dVhHNGdJQzh2SUVOdmRXNTBJRzUxYldKbGNpQnZaaUJ2WTNSbGRITmNiaUFnZG1GeUlITnBlbVVnUFNBd08xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdsa0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUdsa1pXNTBJRDBnYVdSYmFWMDdYRzRnSUNBZ1ptOXlJQ2h6YVhwbEt5czdJR2xrWlc1MElENDlJREI0T0RBN0lHbGtaVzUwSUQ0K1BTQTNLVnh1SUNBZ0lDQWdjMmw2WlNzck8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc5aWFtbGtJRDBnYm1WM0lFSjFabVpsY2loemFYcGxLVHRjYmlBZ2RtRnlJRzltWm5ObGRDQTlJRzlpYW1sa0xteGxibWQwYUNBdElERTdYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQnBaQzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lIWmhjaUJwWkdWdWRDQTlJR2xrVzJsZE8xeHVJQ0FnSUc5aWFtbGtXMjltWm5ObGRDMHRYU0E5SUdsa1pXNTBJQ1lnTUhnM1pqdGNiaUFnSUNCM2FHbHNaU0FvS0dsa1pXNTBJRDQrUFNBM0tTQStJREFwWEc0Z0lDQWdJQ0J2WW1wcFpGdHZabVp6WlhRdExWMGdQU0F3ZURnd0lId2dLR2xrWlc1MElDWWdNSGczWmlrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RHaHBjeTVmWTNKbFlYUmxSVzVqYjJSbGNrSjFabVpsY2lodlltcHBaQ2s3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUIwZDI4b2JuVnRLU0I3WEc0Z0lHbG1JQ2h1ZFcwZ1BDQXhNQ2xjYmlBZ0lDQnlaWFIxY200Z0p6QW5JQ3NnYm5WdE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJRzUxYlR0Y2JuMWNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJWdVkyOWtaVlJwYldVZ1BTQm1kVzVqZEdsdmJpQmxibU52WkdWVWFXMWxLSFJwYldVc0lIUmhaeWtnZTF4dUlDQjJZWElnYzNSeU8xeHVJQ0IyWVhJZ1pHRjBaU0E5SUc1bGR5QkVZWFJsS0hScGJXVXBPMXh1WEc0Z0lHbG1JQ2gwWVdjZ1BUMDlJQ2RuWlc1MGFXMWxKeWtnZTF4dUlDQWdJSE4wY2lBOUlGdGNiaUFnSUNBZ0lIUjNieWhrWVhSbExtZGxkRVoxYkd4WlpXRnlLQ2twTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRUVzl1ZEdnb0tTQXJJREVwTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRSR0YwWlNncEtTeGNiaUFnSUNBZ0lIUjNieWhrWVhSbExtZGxkRlZVUTBodmRYSnpLQ2twTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRUV2x1ZFhSbGN5Z3BLU3hjYmlBZ0lDQWdJSFIzYnloa1lYUmxMbWRsZEZWVVExTmxZMjl1WkhNb0tTa3NYRzRnSUNBZ0lDQW5XaWRjYmlBZ0lDQmRMbXB2YVc0b0p5Y3BPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUmhaeUE5UFQwZ0ozVjBZM1JwYldVbktTQjdYRzRnSUNBZ2MzUnlJRDBnVzF4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFJuVnNiRmxsWVhJb0tTQWxJREV3TUNrc1hHNGdJQ0FnSUNCMGQyOG9aR0YwWlM1blpYUlZWRU5OYjI1MGFDZ3BJQ3NnTVNrc1hHNGdJQ0FnSUNCMGQyOG9aR0YwWlM1blpYUlZWRU5FWVhSbEtDa3BMRnh1SUNBZ0lDQWdkSGR2S0dSaGRHVXVaMlYwVlZSRFNHOTFjbk1vS1Nrc1hHNGdJQ0FnSUNCMGQyOG9aR0YwWlM1blpYUlZWRU5OYVc1MWRHVnpLQ2twTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRVMlZqYjI1a2N5Z3BLU3hjYmlBZ0lDQWdJQ2RhSjF4dUlDQWdJRjB1YW05cGJpZ25KeWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZEdocGN5NXlaWEJ2Y25SbGNpNWxjbkp2Y2lnblJXNWpiMlJwYm1jZ0p5QXJJSFJoWnlBcklDY2dkR2x0WlNCcGN5QnViM1FnYzNWd2NHOXlkR1ZrSUhsbGRDY3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFJvYVhNdVgyVnVZMjlrWlZOMGNpaHpkSElzSUNkdlkzUnpkSEluS1R0Y2JuMDdYRzVjYmtSRlVrNXZaR1V1Y0hKdmRHOTBlWEJsTGw5bGJtTnZaR1ZPZFd4c0lEMGdablZ1WTNScGIyNGdaVzVqYjJSbFRuVnNiQ2dwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJOeVpXRjBaVVZ1WTI5a1pYSkNkV1ptWlhJb0p5Y3BPMXh1ZlR0Y2JseHVSRVZTVG05a1pTNXdjbTkwYjNSNWNHVXVYMlZ1WTI5a1pVbHVkQ0E5SUdaMWJtTjBhVzl1SUdWdVkyOWtaVWx1ZENodWRXMHNJSFpoYkhWbGN5a2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlHNTFiU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCcFppQW9JWFpoYkhWbGN5bGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsY0c5eWRHVnlMbVZ5Y205eUtDZFRkSEpwYm1jZ2FXNTBJRzl5SUdWdWRXMGdaMmwyWlc0c0lHSjFkQ0J1YnlCMllXeDFaWE1nYldGd0p5azdYRzRnSUNBZ2FXWWdLQ0YyWVd4MVpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2JuVnRLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVndiM0owWlhJdVpYSnliM0lvSjFaaGJIVmxjeUJ0WVhBZ1pHOWxjMjVjWENkMElHTnZiblJoYVc0NklDY2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdTbE5QVGk1emRISnBibWRwWm5rb2JuVnRLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHNTFiU0E5SUhaaGJIVmxjMXR1ZFcxZE8xeHVJQ0I5WEc1Y2JpQWdMeThnUW1sbmJuVnRMQ0JoYzNOMWJXVWdZbWxuSUdWdVpHbGhibHh1SUNCcFppQW9kSGx3Wlc5bUlHNTFiU0FoUFQwZ0oyNTFiV0psY2ljZ0ppWWdJVUoxWm1abGNpNXBjMEoxWm1abGNpaHVkVzBwS1NCN1hHNGdJQ0FnZG1GeUlHNTFiVUZ5Y21GNUlEMGdiblZ0TG5SdlFYSnlZWGtvS1R0Y2JpQWdJQ0JwWmlBb0lXNTFiUzV6YVdkdUlDWW1JRzUxYlVGeWNtRjVXekJkSUNZZ01IZzRNQ2tnZTF4dUlDQWdJQ0FnYm5WdFFYSnlZWGt1ZFc1emFHbG1kQ2d3S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdiblZ0SUQwZ2JtVjNJRUoxWm1abGNpaHVkVzFCY25KaGVTazdYRzRnSUgxY2JseHVJQ0JwWmlBb1FuVm1abVZ5TG1selFuVm1abVZ5S0c1MWJTa3BJSHRjYmlBZ0lDQjJZWElnYzJsNlpTQTlJRzUxYlM1c1pXNW5kR2c3WEc0Z0lDQWdhV1lnS0c1MWJTNXNaVzVuZEdnZ1BUMDlJREFwWEc0Z0lDQWdJQ0J6YVhwbEt5czdYRzVjYmlBZ0lDQjJZWElnYjNWMElEMGdibVYzSUVKMVptWmxjaWh6YVhwbEtUdGNiaUFnSUNCdWRXMHVZMjl3ZVNodmRYUXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQwOVBTQXdLVnh1SUNBZ0lDQWdiM1YwV3pCZElEMGdNRnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlqY21WaGRHVkZibU52WkdWeVFuVm1abVZ5S0c5MWRDazdYRzRnSUgxY2JseHVJQ0JwWmlBb2JuVnRJRHdnTUhnNE1DbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZZM0psWVhSbFJXNWpiMlJsY2tKMVptWmxjaWh1ZFcwcE8xeHVYRzRnSUdsbUlDaHVkVzBnUENBd2VERXdNQ2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWTNKbFlYUmxSVzVqYjJSbGNrSjFabVpsY2loYk1Dd2diblZ0WFNrN1hHNWNiaUFnZG1GeUlITnBlbVVnUFNBeE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2JuVnRPeUJwSUQ0OUlEQjRNVEF3T3lCcElENCtQU0E0S1Z4dUlDQWdJSE5wZW1Vckt6dGNibHh1SUNCMllYSWdiM1YwSUQwZ2JtVjNJRUZ5Y21GNUtITnBlbVVwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnYjNWMExteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnYjNWMFcybGRJRDBnYm5WdElDWWdNSGhtWmp0Y2JpQWdJQ0J1ZFcwZ1BqNDlJRGc3WEc0Z0lIMWNiaUFnYVdZb2IzVjBXekJkSUNZZ01IZzRNQ2tnZTF4dUlDQWdJRzkxZEM1MWJuTm9hV1owS0RBcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJOeVpXRjBaVVZ1WTI5a1pYSkNkV1ptWlhJb2JtVjNJRUoxWm1abGNpaHZkWFFwS1R0Y2JuMDdYRzVjYmtSRlVrNXZaR1V1Y0hKdmRHOTBlWEJsTGw5bGJtTnZaR1ZDYjI5c0lEMGdablZ1WTNScGIyNGdaVzVqYjJSbFFtOXZiQ2gyWVd4MVpTa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWZZM0psWVhSbFJXNWpiMlJsY2tKMVptWmxjaWgyWVd4MVpTQS9JREI0Wm1ZZ09pQXdLVHRjYm4wN1hHNWNia1JGVWs1dlpHVXVjSEp2ZEc5MGVYQmxMbDkxYzJVZ1BTQm1kVzVqZEdsdmJpQjFjMlVvWlc1MGFYUjVMQ0J2WW1vcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCbGJuUnBkSGtnUFQwOUlDZG1kVzVqZEdsdmJpY3BYRzRnSUNBZ1pXNTBhWFI1SUQwZ1pXNTBhWFI1S0c5aWFpazdYRzRnSUhKbGRIVnliaUJsYm5ScGRIa3VYMmRsZEVWdVkyOWtaWElvSjJSbGNpY3BMblJ5WldVN1hHNTlPMXh1WEc1RVJWSk9iMlJsTG5CeWIzUnZkSGx3WlM1ZmMydHBjRVJsWm1GMWJIUWdQU0JtZFc1amRHbHZiaUJ6YTJsd1JHVm1ZWFZzZENoa1lYUmhRblZtWm1WeUxDQnlaWEJ2Y25SbGNpd2djR0Z5Wlc1MEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDJKaGMyVlRkR0YwWlR0Y2JpQWdkbUZ5SUdrN1hHNGdJR2xtSUNoemRHRjBaVnNuWkdWbVlYVnNkQ2RkSUQwOVBTQnVkV3hzS1Z4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JseHVJQ0IyWVhJZ1pHRjBZU0E5SUdSaGRHRkNkV1ptWlhJdWFtOXBiaWdwTzF4dUlDQnBaaUFvYzNSaGRHVXVaR1ZtWVhWc2RFSjFabVpsY2lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lITjBZWFJsTG1SbFptRjFiSFJDZFdabVpYSWdQU0IwYUdsekxsOWxibU52WkdWV1lXeDFaU2h6ZEdGMFpWc25aR1ZtWVhWc2RDZGRMQ0J5WlhCdmNuUmxjaXdnY0dGeVpXNTBLUzVxYjJsdUtDazdYRzVjYmlBZ2FXWWdLR1JoZEdFdWJHVnVaM1JvSUNFOVBTQnpkR0YwWlM1a1pXWmhkV3gwUW5WbVptVnlMbXhsYm1kMGFDbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ1ptOXlJQ2hwUFRBN0lHa2dQQ0JrWVhSaExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lHbG1JQ2hrWVhSaFcybGRJQ0U5UFNCemRHRjBaUzVrWldaaGRXeDBRblZtWm1WeVcybGRLVnh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZUdGNibHh1THk4Z1ZYUnBiR2wwZVNCdFpYUm9iMlJ6WEc1Y2JtWjFibU4wYVc5dUlHVnVZMjlrWlZSaFp5aDBZV2NzSUhCeWFXMXBkR2wyWlN3Z1kyeHpMQ0J5WlhCdmNuUmxjaWtnZTF4dUlDQjJZWElnY21Wek8xeHVYRzRnSUdsbUlDaDBZV2NnUFQwOUlDZHpaWEZ2WmljcFhHNGdJQ0FnZEdGbklEMGdKM05sY1NjN1hHNGdJR1ZzYzJVZ2FXWWdLSFJoWnlBOVBUMGdKM05sZEc5bUp5bGNiaUFnSUNCMFlXY2dQU0FuYzJWMEp6dGNibHh1SUNCcFppQW9aR1Z5TG5SaFowSjVUbUZ0WlM1b1lYTlBkMjVRY205d1pYSjBlU2gwWVdjcEtWeHVJQ0FnSUhKbGN5QTlJR1JsY2k1MFlXZENlVTVoYldWYmRHRm5YVHRjYmlBZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhSaFp5QTlQVDBnSjI1MWJXSmxjaWNnSmlZZ0tIUmhaeUI4SURBcElEMDlQU0IwWVdjcFhHNGdJQ0FnY21WeklEMGdkR0ZuTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlISmxjRzl5ZEdWeUxtVnljbTl5S0NkVmJtdHViM2R1SUhSaFp6b2dKeUFySUhSaFp5azdYRzVjYmlBZ2FXWWdLSEpsY3lBK1BTQXdlREZtS1Z4dUlDQWdJSEpsZEhWeWJpQnlaWEJ2Y25SbGNpNWxjbkp2Y2lnblRYVnNkR2t0YjJOMFpYUWdkR0ZuSUdWdVkyOWthVzVuSUhWdWMzVndjRzl5ZEdWa0p5azdYRzVjYmlBZ2FXWWdLQ0Z3Y21sdGFYUnBkbVVwWEc0Z0lDQWdjbVZ6SUh3OUlEQjRNakE3WEc1Y2JpQWdjbVZ6SUh3OUlDaGtaWEl1ZEdGblEyeGhjM05DZVU1aGJXVmJZMnh6SUh4OElDZDFibWwyWlhKellXd25YU0E4UENBMktUdGNibHh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZW5jb2RlcnMvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGVuY29kZXJzID0gZXhwb3J0cztcXG5cXG5lbmNvZGVycy5kZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9kZXIuanNcXFwiKTtcXG5lbmNvZGVycy5wZW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3BlbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9wZW0uanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwyVnVZMjlrWlhKekwybHVaR1Y0TG1welB6VXlObUVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRGhFUVVGUE8wRkJRemxDTEdWQlFXVXNiVUpCUVU4c1EwRkJReXc0UkVGQlR5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJWdVkyOWtaWEp6TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdWdVkyOWtaWEp6SUQwZ1pYaHdiM0owY3p0Y2JseHVaVzVqYjJSbGNuTXVaR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWtaWEluS1R0Y2JtVnVZMjlrWlhKekxuQmxiU0E5SUhKbGNYVnBjbVVvSnk0dmNHVnRKeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL3BlbS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL3BlbS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG5cXG52YXIgREVSRW5jb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIFBFTUVuY29kZXIoZW50aXR5KSB7XFxuICBERVJFbmNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcXG4gIHRoaXMuZW5jID0gJ3BlbSc7XFxufTtcXG5pbmhlcml0cyhQRU1FbmNvZGVyLCBERVJFbmNvZGVyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFBFTUVuY29kZXI7XFxuXFxuUEVNRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24gZW5jb2RlKGRhdGEsIG9wdGlvbnMpIHtcXG4gIHZhciBidWYgPSBERVJFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUuY2FsbCh0aGlzLCBkYXRhKTtcXG5cXG4gIHZhciBwID0gYnVmLnRvU3RyaW5nKCdiYXNlNjQnKTtcXG4gIHZhciBvdXQgPSBbICctLS0tLUJFR0lOICcgKyBvcHRpb25zLmxhYmVsICsgJy0tLS0tJyBdO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwLmxlbmd0aDsgaSArPSA2NClcXG4gICAgb3V0LnB1c2gocC5zbGljZShpLCBpICsgNjQpKTtcXG4gIG91dC5wdXNoKCctLS0tLUVORCAnICsgb3B0aW9ucy5sYWJlbCArICctLS0tLScpO1xcbiAgcmV0dXJuIG91dC5qb2luKCdcXFxcbicpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlZ1WTI5a1pYSnpMM0JsYlM1cWN6ODRZbVV6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNPRVJCUVU4N08wRkJSV2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNZMEZCWXp0QlFVTXZRanRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJWdVkyOWtaWEp6TDNCbGJTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlrN1hHNWNiblpoY2lCRVJWSkZibU52WkdWeUlEMGdjbVZ4ZFdseVpTZ25MaTlrWlhJbktUdGNibHh1Wm5WdVkzUnBiMjRnVUVWTlJXNWpiMlJsY2lobGJuUnBkSGtwSUh0Y2JpQWdSRVZTUlc1amIyUmxjaTVqWVd4c0tIUm9hWE1zSUdWdWRHbDBlU2s3WEc0Z0lIUm9hWE11Wlc1aklEMGdKM0JsYlNjN1hHNTlPMXh1YVc1b1pYSnBkSE1vVUVWTlJXNWpiMlJsY2l3Z1JFVlNSVzVqYjJSbGNpazdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRkJGVFVWdVkyOWtaWEk3WEc1Y2JsQkZUVVZ1WTI5a1pYSXVjSEp2ZEc5MGVYQmxMbVZ1WTI5a1pTQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pTaGtZWFJoTENCdmNIUnBiMjV6S1NCN1hHNGdJSFpoY2lCaWRXWWdQU0JFUlZKRmJtTnZaR1Z5TG5CeWIzUnZkSGx3WlM1bGJtTnZaR1V1WTJGc2JDaDBhR2x6TENCa1lYUmhLVHRjYmx4dUlDQjJZWElnY0NBOUlHSjFaaTUwYjFOMGNtbHVaeWduWW1GelpUWTBKeWs3WEc0Z0lIWmhjaUJ2ZFhRZ1BTQmJJQ2N0TFMwdExVSkZSMGxPSUNjZ0t5QnZjSFJwYjI1ekxteGhZbVZzSUNzZ0p5MHRMUzB0SnlCZE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhBdWJHVnVaM1JvT3lCcElDczlJRFkwS1Z4dUlDQWdJRzkxZEM1d2RYTm9LSEF1YzJ4cFkyVW9hU3dnYVNBcklEWTBLU2s3WEc0Z0lHOTFkQzV3ZFhOb0tDY3RMUzB0TFVWT1JDQW5JQ3NnYjNCMGFXOXVjeTVzWVdKbGJDQXJJQ2N0TFMwdExTY3BPMXh1SUNCeVpYUjFjbTRnYjNWMExtcHZhVzRvSjF4Y2JpY3BPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9wZW0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKG1vZHVsZSkgeyhmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XFxuICAndXNlIHN0cmljdCc7XFxuXFxuICAvLyBVdGlsc1xcbiAgZnVuY3Rpb24gYXNzZXJ0ICh2YWwsIG1zZykge1xcbiAgICBpZiAoIXZhbCkgdGhyb3cgbmV3IEVycm9yKG1zZyB8fCAnQXNzZXJ0aW9uIGZhaWxlZCcpO1xcbiAgfVxcblxcbiAgLy8gQ291bGQgdXNlIGBpbmhlcml0c2AgbW9kdWxlLCBidXQgZG9uJ3Qgd2FudCB0byBtb3ZlIGZyb20gc2luZ2xlIGZpbGVcXG4gIC8vIGFyY2hpdGVjdHVyZSB5ZXQuXFxuICBmdW5jdGlvbiBpbmhlcml0cyAoY3Rvciwgc3VwZXJDdG9yKSB7XFxuICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yO1xcbiAgICB2YXIgVGVtcEN0b3IgPSBmdW5jdGlvbiAoKSB7fTtcXG4gICAgVGVtcEN0b3IucHJvdG90eXBlID0gc3VwZXJDdG9yLnByb3RvdHlwZTtcXG4gICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKTtcXG4gICAgY3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjdG9yO1xcbiAgfVxcblxcbiAgLy8gQk5cXG5cXG4gIGZ1bmN0aW9uIEJOIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAoQk4uaXNCTihudW1iZXIpKSB7XFxuICAgICAgcmV0dXJuIG51bWJlcjtcXG4gICAgfVxcblxcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgdGhpcy53b3JkcyA9IG51bGw7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG5cXG4gICAgLy8gUmVkdWN0aW9uIGNvbnRleHRcXG4gICAgdGhpcy5yZWQgPSBudWxsO1xcblxcbiAgICBpZiAobnVtYmVyICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGJhc2UgPT09ICdsZScgfHwgYmFzZSA9PT0gJ2JlJykge1xcbiAgICAgICAgZW5kaWFuID0gYmFzZTtcXG4gICAgICAgIGJhc2UgPSAxMDtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5faW5pdChudW1iZXIgfHwgMCwgYmFzZSB8fCAxMCwgZW5kaWFuIHx8ICdiZScpO1xcbiAgICB9XFxuICB9XFxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpIHtcXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBCTjtcXG4gIH0gZWxzZSB7XFxuICAgIGV4cG9ydHMuQk4gPSBCTjtcXG4gIH1cXG5cXG4gIEJOLkJOID0gQk47XFxuICBCTi53b3JkU2l6ZSA9IDI2O1xcblxcbiAgdmFyIEJ1ZmZlcjtcXG4gIHRyeSB7XFxuICAgIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyAxMikuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMjV2WkdWZmJXOWtkV3hsY3k5aWJpNXFjeTlzYVdJdlltNHVhbk0vTkdGbU5TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNaMEpCUVZFN1FVRkROMElzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEhkRFFVRjNRenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eFJRVUZSTzBGQlEyaEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUWtGQmQwSXNiVUpCUVcxQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UTBGQmMwTXNXVUZCV1R0QlFVTnNSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVE8wRkJRMmhET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHM3UVVGRlFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYzBOQlFYTkRMSE5DUVVGelFqdEJRVU0xUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3gxUWtGQmRVSXNVMEZCVXp0QlFVTm9RenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTERSQ1FVRTBRanRCUVVNM1F6dEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeGhRVUZoTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNXVUZCV1N4bFFVRmxPMEZCUXpOQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxIRkNRVUZ4UWl4blFrRkJaMEk3UVVGRGNrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN3MlFrRkJOa0k3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHZSRUZCYjBRc1YwRkJWenRCUVVNdlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXh2UWtGQmIwSTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFBRVUZQTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1IwRkJSenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWpzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3TzBGQlJVRXNhME5CUVd0RE8wRkJRMnhETEhORFFVRnpRenRCUVVOMFF6czdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeFBRVUZQTzBGQlF6VkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzWTBGQll6dEJRVU16UXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNLMEpCUVN0Q0xGRkJRVkU3UVVGRGRrTTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNUMEZCVHp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzYVVKQlFXbENMR2xDUVVGcFFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEN0RFFVRXJRenRCUVVOc1JUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4eFFrRkJjVUlzYzBOQlFYTkRPMEZCUXpORU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3huUWtGQlowSTdRVUZETDBJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN4NVFrRkJlVUk3UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3hwUWtGQmFVSTdRVUZEYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMR05CUVdNN1FVRkRia003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF5eFJRVUZSTzBGQlEzcERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVFrRkJkVUlzTUVKQlFUQkNPMEZCUTJwRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3TzBGQlJVdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhuUTBGQlowTTdRVUZEYmtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeFpRVUZaTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4blFrRkJaMElzYTBKQlFXdENPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeG5Ra0ZCWjBJN1FVRkRia003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNiMEpCUVc5Q08wRkJRM3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNORUpCUVRSQ0xGRkJRVkU3UVVGRGNFTTdRVUZEUVN3MlFrRkJOa0lzVVVGQlVUdEJRVU55UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGTEUxQlFUWkNJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyRnpiakV1YW5NdmJtOWtaVjl0YjJSMWJHVnpMMkp1TG1wekwyeHBZaTlpYmk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlobWRXNWpkR2x2YmlBb2JXOWtkV3hsTENCbGVIQnZjblJ6S1NCN1hHNGdJQ2QxYzJVZ2MzUnlhV04wSnp0Y2JseHVJQ0F2THlCVmRHbHNjMXh1SUNCbWRXNWpkR2x2YmlCaGMzTmxjblFnS0haaGJDd2diWE5uS1NCN1hHNGdJQ0FnYVdZZ0tDRjJZV3dwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0YzJjZ2ZId2dKMEZ6YzJWeWRHbHZiaUJtWVdsc1pXUW5LVHRjYmlBZ2ZWeHVYRzRnSUM4dklFTnZkV3hrSUhWelpTQmdhVzVvWlhKcGRITmdJRzF2WkhWc1pTd2dZblYwSUdSdmJpZDBJSGRoYm5RZ2RHOGdiVzkyWlNCbWNtOXRJSE5wYm1kc1pTQm1hV3hsWEc0Z0lDOHZJR0Z5WTJocGRHVmpkSFZ5WlNCNVpYUXVYRzRnSUdaMWJtTjBhVzl1SUdsdWFHVnlhWFJ6SUNoamRHOXlMQ0J6ZFhCbGNrTjBiM0lwSUh0Y2JpQWdJQ0JqZEc5eUxuTjFjR1Z5WHlBOUlITjFjR1Z5UTNSdmNqdGNiaUFnSUNCMllYSWdWR1Z0Y0VOMGIzSWdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNiaUFnSUNCVVpXMXdRM1J2Y2k1d2NtOTBiM1I1Y0dVZ1BTQnpkWEJsY2tOMGIzSXVjSEp2ZEc5MGVYQmxPMXh1SUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ2JtVjNJRlJsYlhCRGRHOXlLQ2s3WEc0Z0lDQWdZM1J2Y2k1d2NtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JqZEc5eU8xeHVJQ0I5WEc1Y2JpQWdMeThnUWs1Y2JseHVJQ0JtZFc1amRHbHZiaUJDVGlBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQnBaaUFvUWs0dWFYTkNUaWh1ZFcxaVpYSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZ0WW1WeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JseHVJQ0FnSUM4dklGSmxaSFZqZEdsdmJpQmpiMjUwWlhoMFhHNGdJQ0FnZEdocGN5NXlaV1FnUFNCdWRXeHNPMXh1WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlDZHNaU2NnZkh3Z1ltRnpaU0E5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnSUNCbGJtUnBZVzRnUFNCaVlYTmxPMXh1SUNBZ0lDQWdJQ0JpWVhObElEMGdNVEE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMmx1YVhRb2JuVnRZbVZ5SUh4OElEQXNJR0poYzJVZ2ZId2dNVEFzSUdWdVpHbGhiaUI4ZkNBblltVW5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdhV1lnS0hSNWNHVnZaaUJ0YjJSMWJHVWdQVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JDVGp0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCbGVIQnZjblJ6TGtKT0lEMGdRazQ3WEc0Z0lIMWNibHh1SUNCQ1RpNUNUaUE5SUVKT08xeHVJQ0JDVGk1M2IzSmtVMmw2WlNBOUlESTJPMXh1WEc0Z0lIWmhjaUJDZFdabVpYSTdYRzRnSUhSeWVTQjdYRzRnSUNBZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5SnlrdVFuVm1abVZ5TzF4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lIMWNibHh1SUNCQ1RpNXBjMEpPSUQwZ1puVnVZM1JwYjI0Z2FYTkNUaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlNCcGJuTjBZVzVqWlc5bUlFSk9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0SUNFOVBTQnVkV3hzSUNZbUlIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdlltcGxZM1FuSUNZbVhHNGdJQ0FnSUNCdWRXMHVZMjl1YzNSeWRXTjBiM0l1ZDI5eVpGTnBlbVVnUFQwOUlFSk9MbmR2Y21SVGFYcGxJQ1ltSUVGeWNtRjVMbWx6UVhKeVlYa29iblZ0TG5kdmNtUnpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXRZWGdnUFNCbWRXNWpkR2x2YmlCdFlYZ2dLR3hsWm5Rc0lISnBaMmgwS1NCN1hHNGdJQ0FnYVdZZ0tHeGxablF1WTIxd0tISnBaMmgwS1NBK0lEQXBJSEpsZEhWeWJpQnNaV1owTzF4dUlDQWdJSEpsZEhWeWJpQnlhV2RvZER0Y2JpQWdmVHRjYmx4dUlDQkNUaTV0YVc0Z1BTQm1kVzVqZEdsdmJpQnRhVzRnS0d4bFpuUXNJSEpwWjJoMEtTQjdYRzRnSUNBZ2FXWWdLR3hsWm5RdVkyMXdLSEpwWjJoMEtTQThJREFwSUhKbGRIVnliaUJzWldaME8xeHVJQ0FnSUhKbGRIVnliaUJ5YVdkb2REdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHVhWFFnUFNCbWRXNWpkR2x2YmlCcGJtbDBJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JuVnRZbVZ5SUQwOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDJsdWFYUk9kVzFpWlhJb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiblZ0WW1WeUlEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybHVhWFJCY25KaGVTaHVkVzFpWlhJc0lHSmhjMlVzSUdWdVpHbGhiaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0JpWVhObElEMGdNVFk3WEc0Z0lDQWdmVnh1SUNBZ0lHRnpjMlZ5ZENoaVlYTmxJRDA5UFNBb1ltRnpaU0I4SURBcElDWW1JR0poYzJVZ1BqMGdNaUFtSmlCaVlYTmxJRHc5SURNMktUdGNibHh1SUNBZ0lHNTFiV0psY2lBOUlHNTFiV0psY2k1MGIxTjBjbWx1WnlncExuSmxjR3hoWTJVb0wxeGNjeXN2Wnl3Z0p5Y3BPMXh1SUNBZ0lIWmhjaUJ6ZEdGeWRDQTlJREE3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjbHN3WFNBOVBUMGdKeTBuS1NCN1hHNGdJQ0FnSUNCemRHRnlkQ3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNHRnljMlZJWlhnb2JuVnRZbVZ5TENCemRHRnlkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCaGNuTmxRbUZ6WlNodWRXMWlaWElzSUdKaGMyVXNJSE4wWVhKMEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJSFJvYVhNdVgybHVhWFJCY25KaGVTaDBhR2x6TG5SdlFYSnlZWGtvS1N3Z1ltRnpaU3dnWlc1a2FXRnVLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1YVhST2RXMWlaWElnUFNCbWRXNWpkR2x2YmlCZmFXNXBkRTUxYldKbGNpQW9iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ0lDQnVkVzFpWlhJZ1BTQXRiblZ0WW1WeU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01IZzBNREF3TURBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lCdWRXMWlaWElnSmlBd2VETm1abVptWm1ZZ1hUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJXSmxjaUE4SURCNE1UQXdNREF3TURBd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURJN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzFpWlhJZ1BDQXdlREl3TURBd01EQXdNREF3TURBd0tUc2dMeThnTWlCZUlEVXpJQ2gxYm5OaFptVXBYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBeFhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHSjVkR1Z6WEc0Z0lDQWdkR2hwY3k1ZmFXNXBkRUZ5Y21GNUtIUm9hWE11ZEc5QmNuSmhlU2dwTENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzVwZEVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUkJjbkpoZVNBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQXZMeUJRWlhKb1lYQnpJR0VnVldsdWREaEJjbkpoZVZ4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRZbVZ5TG14bGJtZDBhQ0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdsbUlDaHVkVzFpWlhJdWJHVnVaM1JvSUR3OUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYklEQWdYVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnVFdGMGFDNWpaV2xzS0c1MWJXSmxjaTVzWlc1bmRHZ2dMeUF6S1R0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJxTENCM08xeHVJQ0FnSUhaaGNpQnZabVlnUFNBd08xeHVJQ0FnSUdsbUlDaGxibVJwWVc0Z1BUMDlJQ2RpWlNjcElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNBeExDQnFJRDBnTURzZ2FTQStQU0F3T3lCcElDMDlJRE1wSUh0Y2JpQWdJQ0FnSUNBZ2R5QTlJRzUxYldKbGNsdHBYU0I4SUNodWRXMWlaWEpiYVNBdElERmRJRHc4SURncElId2dLRzUxYldKbGNsdHBJQzBnTWwwZ1BEd2dNVFlwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcycGRJSHc5SUNoM0lEdzhJRzltWmlrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWlBcklERmRJRDBnS0hjZ1BqNCtJQ2d5TmlBdElHOW1aaWtwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQnZabVlnS3owZ01qUTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hsYm1ScFlXNGdQVDA5SUNkc1pTY3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREFzSUdvZ1BTQXdPeUJwSUR3Z2JuVnRZbVZ5TG14bGJtZDBhRHNnYVNBclBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnS3lBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXJJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSEJoY25ObFNHVjRJQ2h6ZEhJc0lITjBZWEowTENCbGJtUXBJSHRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlFMWhkR2d1YldsdUtITjBjaTVzWlc1bmRHZ3NJR1Z1WkNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITjBZWEowT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCaklEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dMU0EwT0R0Y2JseHVJQ0FnSUNBZ2NpQThQRDBnTkR0Y2JseHVJQ0FnSUNBZ0x5OGdKMkVuSUMwZ0oyWW5YRzRnSUNBZ0lDQnBaaUFvWXlBK1BTQTBPU0FtSmlCaklEdzlJRFUwS1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNjZ0xTQW5SaWRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWXlBK1BTQXhOeUFtSmlCaklEdzlJREl5S1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElERTNJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuTUNjZ0xTQW5PU2RjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSElnZkQwZ1l5QW1JREI0Wmp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISTdYRzRnSUgxY2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgzQmhjbk5sU0dWNElEMGdablZ1WTNScGIyNGdYM0JoY25ObFNHVjRJQ2h1ZFcxaVpYSXNJSE4wWVhKMEtTQjdYRzRnSUNBZ0x5OGdRM0psWVhSbElIQnZjM05wWW14NUlHSnBaMmRsY2lCaGNuSmhlU0IwYnlCbGJuTjFjbVVnZEdoaGRDQnBkQ0JtYVhSeklIUm9aU0J1ZFcxaVpYSmNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2dvYm5WdFltVnlMbXhsYm1kMGFDQXRJSE4wWVhKMEtTQXZJRFlwTzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR29zSUhjN1hHNGdJQ0FnTHk4Z1UyTmhiaUF5TkMxaWFYUWdZMmgxYm10eklHRnVaQ0JoWkdRZ2RHaGxiU0IwYnlCMGFHVWdiblZ0WW1WeVhHNGdJQ0FnZG1GeUlHOW1aaUE5SURBN1hHNGdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJRFlzSUdvZ1BTQXdPeUJwSUQ0OUlITjBZWEowT3lCcElDMDlJRFlwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lHa3NJR2tnS3lBMktUdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhbDBnZkQwZ0tIY2dQRHdnYjJabUtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQzh2SUU1UFZFVTZJR0F3ZURObVptWm1abUFnYVhNZ2FXNTBaVzUwYVc5dVlXd2dhR1Z5WlN3Z01qWmlhWFJ6SUcxaGVDQnphR2xtZENBcklESTBZbWwwSUdobGVDQnNhVzFpWEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJvZ0t5QXhYU0I4UFNCM0lENCtQaUFvTWpZZ0xTQnZabVlwSUNZZ01IZ3pabVptWm1ZN1hHNGdJQ0FnSUNCdlptWWdLejBnTWpRN1hHNGdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUc5bVppQXRQU0F5Tmp0Y2JpQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hU0FySURZZ0lUMDlJSE4wWVhKMEtTQjdYRzRnSUNBZ0lDQjNJRDBnY0dGeWMyVklaWGdvYm5WdFltVnlMQ0J6ZEdGeWRDd2dhU0FySURZcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFYU0I4UFNBb2R5QThQQ0J2Wm1ZcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxSUNzZ01WMGdmRDBnZHlBK1BqNGdLREkySUMwZ2IyWm1LU0FtSURCNE0yWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZDWVhObElDaHpkSElzSUhOMFlYSjBMQ0JsYm1Rc0lHMTFiQ2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdNRHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdUV0YwYUM1dGFXNG9jM1J5TG14bGJtZDBhQ3dnWlc1a0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHTWdQU0J6ZEhJdVkyaGhja052WkdWQmRDaHBLU0F0SURRNE8xeHVYRzRnSUNBZ0lDQnlJQ285SUcxMWJEdGNibHh1SUNBZ0lDQWdMeThnSjJFblhHNGdJQ0FnSUNCcFppQW9ZeUErUFNBME9Ta2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTWdMU0EwT1NBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0owRW5YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUGowZ01UY3BJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0JqTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmNHRnljMlZDWVhObElEMGdablZ1WTNScGIyNGdYM0JoY25ObFFtRnpaU0FvYm5WdFltVnlMQ0JpWVhObExDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdZWE1nZW1WeWIxeHVJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJREFnWFR0Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzVjYmlBZ0lDQXZMeUJHYVc1a0lHeGxibWQwYUNCdlppQnNhVzFpSUdsdUlHSmhjMlZjYmlBZ0lDQm1iM0lnS0haaGNpQnNhVzFpVEdWdUlEMGdNQ3dnYkdsdFlsQnZkeUE5SURFN0lHeHBiV0pRYjNjZ1BEMGdNSGd6Wm1abVptWm1PeUJzYVcxaVVHOTNJQ285SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR3hwYldKTVpXNHJLenRjYmlBZ0lDQjlYRzRnSUNBZ2JHbHRZa3hsYmkwdE8xeHVJQ0FnSUd4cGJXSlFiM2NnUFNBb2JHbHRZbEJ2ZHlBdklHSmhjMlVwSUh3Z01EdGNibHh1SUNBZ0lIWmhjaUIwYjNSaGJDQTlJRzUxYldKbGNpNXNaVzVuZEdnZ0xTQnpkR0Z5ZER0Y2JpQWdJQ0IyWVhJZ2JXOWtJRDBnZEc5MFlXd2dKU0JzYVcxaVRHVnVPMXh1SUNBZ0lIWmhjaUJsYm1RZ1BTQk5ZWFJvTG0xcGJpaDBiM1JoYkN3Z2RHOTBZV3dnTFNCdGIyUXBJQ3NnYzNSaGNuUTdYRzVjYmlBZ0lDQjJZWElnZDI5eVpDQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z1pXNWtPeUJwSUNzOUlHeHBiV0pNWlc0cElIdGNiaUFnSUNBZ0lIZHZjbVFnUFNCd1lYSnpaVUpoYzJVb2JuVnRZbVZ5TENCcExDQnBJQ3NnYkdsdFlreGxiaXdnWW1GelpTazdYRzVjYmlBZ0lDQWdJSFJvYVhNdWFXMTFiRzRvYkdsdFlsQnZkeWs3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FySUhkdmNtUWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0FyUFNCM2IzSmtPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmFXRmtaRzRvZDI5eVpDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzF2WkNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIQnZkeUE5SURFN1hHNGdJQ0FnSUNCM2IzSmtJRDBnY0dGeWMyVkNZWE5sS0c1MWJXSmxjaXdnYVN3Z2JuVnRZbVZ5TG14bGJtZDBhQ3dnWW1GelpTazdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnRiMlE3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0J3YjNjZ0tqMGdZbUZ6WlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHdiM2NwTzF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11ZDI5eVpITmJNRjBnS3lCM2IzSmtJRHdnTUhnME1EQXdNREF3S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnS3owZ2QyOXlaRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgybGhaR1J1S0hkdmNtUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUdOdmNIa2dLR1JsYzNRcElIdGNiaUFnSUNCa1pYTjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdSbGMzUXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0JrWlhOMExteGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9PMXh1SUNBZ0lHUmxjM1F1Ym1WbllYUnBkbVVnUFNCMGFHbHpMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHUmxjM1F1Y21Wa0lEMGdkR2hwY3k1eVpXUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z1kyeHZibVVnS0NrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUhSb2FYTXVZMjl3ZVNoeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJWNGNHRnVaQ0E5SUdaMWJtTjBhVzl1SUY5bGVIQmhibVFnS0hOcGVtVXBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J6YVhwbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvS3l0ZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVnRiM1psSUd4bFlXUnBibWNnWURCZ0lHWnliMjBnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkSEpwY0NBOUlHWjFibU4wYVc5dUlITjBjbWx3SUNncElIdGNiaUFnSUNCM2FHbHNaU0FvZEdocGN5NXNaVzVuZEdnZ1BpQXhJQ1ltSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdndExUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXViM0p0VTJsbmJpQTlJR1oxYm1OMGFXOXVJRjl1YjNKdFUybG5iaUFvS1NCN1hHNGdJQ0FnTHk4Z0xUQWdQU0F3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXNXpjR1ZqZENBOUlHWjFibU4wYVc5dUlHbHVjM0JsWTNRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTV5WldRZ1B5QW5QRUpPTFZJNklDY2dPaUFuUEVKT09pQW5LU0FySUhSb2FYTXVkRzlUZEhKcGJtY29NVFlwSUNzZ0p6NG5PMXh1SUNCOU8xeHVYRzRnSUM4cVhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxMDdYRzRnSUhaaGNpQm5jbTkxY0ZOcGVtVnpJRDBnVzEwN1hHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMTA3WEc1Y2JpQWdkbUZ5SUhNZ1BTQW5KenRjYmlBZ2RtRnlJR2tnUFNBdE1UdGNiaUFnZDJocGJHVWdLQ3NyYVNBOElFSk9MbmR2Y21SVGFYcGxLU0I3WEc0Z0lDQWdlbVZ5YjNOYmFWMGdQU0J6TzF4dUlDQWdJSE1nS3owZ0p6QW5PMXh1SUNCOVhHNGdJR2R5YjNWd1UybDZaWE5iTUYwZ1BTQXdPMXh1SUNCbmNtOTFjRk5wZW1Weld6RmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN3WFNBOUlEQTdYRzRnSUdkeWIzVndRbUZ6WlhOYk1WMGdQU0F3TzF4dUlDQjJZWElnWW1GelpTQTlJRElnTFNBeE8xeHVJQ0IzYUdsc1pTQW9LeXRpWVhObElEd2dNellnS3lBeEtTQjdYRzRnSUNBZ2RtRnlJR2R5YjNWd1UybDZaU0E5SURBN1hHNGdJQ0FnZG1GeUlHZHliM1Z3UW1GelpTQTlJREU3WEc0Z0lDQWdkMmhwYkdVZ0tHZHliM1Z3UW1GelpTQThJQ2d4SUR3OElFSk9MbmR2Y21SVGFYcGxLU0F2SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR2R5YjNWd1FtRnpaU0FxUFNCaVlYTmxPMXh1SUNBZ0lDQWdaM0p2ZFhCVGFYcGxJQ3M5SURFN1hHNGdJQ0FnZlZ4dUlDQWdJR2R5YjNWd1UybDZaWE5iWW1GelpWMGdQU0JuY205MWNGTnBlbVU3WEc0Z0lDQWdaM0p2ZFhCQ1lYTmxjMXRpWVhObFhTQTlJR2R5YjNWd1FtRnpaVHRjYmlBZ2ZWeHVYRzRnSUNvdlhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxeHVJQ0FnSUNjbkxGeHVJQ0FnSUNjd0p5eGNiaUFnSUNBbk1EQW5MRnh1SUNBZ0lDY3dNREFuTEZ4dUlDQWdJQ2N3TURBd0p5eGNiaUFnSUNBbk1EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0oxeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRk5wZW1WeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNalVzSURFMkxDQXhNaXdnTVRFc0lERXdMQ0E1TENBNExGeHVJQ0FnSURnc0lEY3NJRGNzSURjc0lEY3NJRFlzSURZc1hHNGdJQ0FnTml3Z05pd2dOaXdnTml3Z05pd2dOU3dnTlN4Y2JpQWdJQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTEZ4dUlDQWdJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNJRFZjYmlBZ1hUdGNibHh1SUNCMllYSWdaM0p2ZFhCQ1lYTmxjeUE5SUZ0Y2JpQWdJQ0F3TENBd0xGeHVJQ0FnSURNek5UVTBORE15TENBME16QTBOamN5TVN3Z01UWTNOemN5TVRZc0lEUTRPREk0TVRJMUxDQTJNRFEyTmpFM05pd2dOREF6TlRNMk1EY3NJREUyTnpjM01qRTJMRnh1SUNBZ0lEUXpNRFEyTnpJeExDQXhNREF3TURBd01Dd2dNVGswT0RjeE56RXNJRE0xT0RNeE9EQTRMQ0EyTWpjME9EVXhOeXdnTnpVeU9UVXpOaXdnTVRFek9UQTJNalVzWEc0Z0lDQWdNVFkzTnpjeU1UWXNJREkwTVRNM05UWTVMQ0F6TkRBeE1qSXlOQ3dnTkRjd05EVTRPREVzSURZME1EQXdNREF3TENBME1EZzBNVEF4TENBMU1UVXpOak15TEZ4dUlDQWdJRFkwTXpZek5ETXNJRGM1TmpJMk1qUXNJRGszTmpVMk1qVXNJREV4T0RneE16YzJMQ0F4TkRNME9Ea3dOeXdnTVRjeU1UQXpOamdzSURJd05URXhNVFE1TEZ4dUlDQWdJREkwTXpBd01EQXdMQ0F5T0RZeU9URTFNU3dnTXpNMU5UUTBNeklzSURNNU1UTTFNemt6TENBME5UUXpOVFF5TkN3Z05USTFNakU0TnpVc0lEWXdORFkyTVRjMlhHNGdJRjA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuSUQwZ1puVnVZM1JwYjI0Z2RHOVRkSEpwYm1jZ0tHSmhjMlVzSUhCaFpHUnBibWNwSUh0Y2JpQWdJQ0JpWVhObElEMGdZbUZ6WlNCOGZDQXhNRHRjYmlBZ0lDQndZV1JrYVc1bklEMGdjR0ZrWkdsdVp5QjhJREFnZkh3Z01UdGNibHh1SUNBZ0lIWmhjaUJ2ZFhRN1hHNGdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlERTJJSHg4SUdKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0J2ZFhRZ1BTQW5KenRjYmlBZ0lDQWdJSFpoY2lCdlptWWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzYjNKa0lEMGdLQ2dvZHlBOFBDQnZabVlwSUh3Z1kyRnljbmtwSUNZZ01IaG1abVptWm1ZcExuUnZVM1J5YVc1bktERTJLVHRjYmlBZ0lDQWdJQ0FnWTJGeWNua2dQU0FvZHlBK1BqNGdLREkwSUMwZ2IyWm1LU2tnSmlBd2VHWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dJVDA5SUhSb2FYTXViR1Z1WjNSb0lDMGdNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhwbGNtOXpXellnTFNCM2IzSmtMbXhsYm1kMGFGMGdLeUIzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhkdmNtUWdLeUJ2ZFhRN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdiMlptSUNzOUlESTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2FTMHRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdZMkZ5Y25rdWRHOVRkSEpwYm1jb01UWXBJQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2QyaHBiR1VnS0c5MWRDNXNaVzVuZEdnZ0pTQndZV1JrYVc1bklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJQ2N0SnlBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQnZkWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNoaVlYTmxJSHdnTUNrZ0ppWWdZbUZ6WlNBK1BTQXlJQ1ltSUdKaGMyVWdQRDBnTXpZcElIdGNiaUFnSUNBZ0lDOHZJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRUpPTG5kdmNtUlRhWHBsSUNvZ1RXRjBhQzVNVGpJZ0x5Qk5ZWFJvTG14dlp5aGlZWE5sS1NrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCVGFYcGxJRDBnWjNKdmRYQlRhWHBsYzF0aVlYTmxYVHRjYmlBZ0lDQWdJQzh2SUhaaGNpQm5jbTkxY0VKaGMyVWdQU0JOWVhSb0xuQnZkeWhpWVhObExDQm5jbTkxY0ZOcGVtVXBPMXh1SUNBZ0lDQWdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlHZHliM1Z3UW1GelpYTmJZbUZ6WlYwN1hHNGdJQ0FnSUNCdmRYUWdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUNBZ1l5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9JV011YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSElnUFNCakxtMXZaRzRvWjNKdmRYQkNZWE5sS1M1MGIxTjBjbWx1WnloaVlYTmxLVHRjYmlBZ0lDQWdJQ0FnWXlBOUlHTXVhV1JwZG00b1ozSnZkWEJDWVhObEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb0lXTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxdG5jbTkxY0ZOcGVtVWdMU0J5TG14bGJtZDBhRjBnS3lCeUlDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhJZ0t5QnZkWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHRnpjMlZ5ZENobVlXeHpaU3dnSjBKaGMyVWdjMmh2ZFd4a0lHSmxJR0psZEhkbFpXNGdNaUJoYm1RZ016WW5LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlPZFcxaVpYSWdQU0JtZFc1amRHbHZiaUIwYjA1MWJXSmxjaUFvS1NCN1hHNGdJQ0FnZG1GeUlISmxkQ0E5SUhSb2FYTXVkMjl5WkhOYk1GMDdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXlLU0I3WEc0Z0lDQWdJQ0J5WlhRZ0t6MGdkR2hwY3k1M2IzSmtjMXN4WFNBcUlEQjROREF3TURBd01EdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeklDWW1JSFJvYVhNdWQyOXlaSE5iTWwwZ1BUMDlJREI0TURFcElIdGNiaUFnSUNBZ0lDOHZJRTVQVkVVNklHRjBJSFJvYVhNZ2MzUmhaMlVnYVhRZ2FYTWdhMjV2ZDI0Z2RHaGhkQ0IwYUdVZ2RHOXdJR0pwZENCcGN5QnpaWFJjYmlBZ0lDQWdJSEpsZENBclBTQXdlREV3TURBd01EQXdNREF3TURBd0lDc2dLSFJvYVhNdWQyOXlaSE5iTVYwZ0tpQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBeUtTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb1ptRnNjMlVzSUNkT2RXMWlaWElnWTJGdUlHOXViSGtnYzJGbVpXeDVJSE4wYjNKbElIVndJSFJ2SURVeklHSnBkSE1uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0EvSUMxeVpYUWdPaUJ5WlhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlNsTlBUaUE5SUdaMWJtTjBhVzl1SUhSdlNsTlBUaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOVRkSEpwYm1jb01UWXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMEoxWm1abGNpQTlJR1oxYm1OMGFXOXVJSFJ2UW5WbVptVnlJQ2hsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnUW5WbVptVnlJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkRzlCY25KaGVVeHBhMlVvUW5WbVptVnlMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQjBiMEZ5Y21GNUlDaGxibVJwWVc0c0lHeGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZRWEp5WVhsTWFXdGxLRUZ5Y21GNUxDQmxibVJwWVc0c0lHeGxibWQwYUNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFYSnlZWGxNYVd0bElEMGdablZ1WTNScGIyNGdkRzlCY25KaGVVeHBhMlVnS0VGeWNtRjVWSGx3WlN3Z1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0IyWVhJZ1lubDBaVXhsYm1kMGFDQTlJSFJvYVhNdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNBZ0lIWmhjaUJ5WlhGTVpXNW5kR2dnUFNCc1pXNW5kR2dnZkh3Z1RXRjBhQzV0WVhnb01Td2dZbmwwWlV4bGJtZDBhQ2s3WEc0Z0lDQWdZWE56WlhKMEtHSjVkR1ZNWlc1bmRHZ2dQRDBnY21WeFRHVnVaM1JvTENBbllubDBaU0JoY25KaGVTQnNiMjVuWlhJZ2RHaGhiaUJrWlhOcGNtVmtJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoeVpYRk1aVzVuZEdnZ1BpQXdMQ0FuVW1WeGRXVnpkR1ZrSUdGeWNtRjVJR3hsYm1kMGFDQThQU0F3SnlrN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzRnSUNBZ2RtRnlJR3hwZEhSc1pVVnVaR2xoYmlBOUlHVnVaR2xoYmlBOVBUMGdKMnhsSnp0Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnYm1WM0lFRnljbUY1Vkhsd1pTaHlaWEZNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdkbUZ5SUdJc0lHazdYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2FXWWdLQ0ZzYVhSMGJHVkZibVJwWVc0cElIdGNiaUFnSUNBZ0lDOHZJRUZ6YzNWdFpTQmlhV2N0Wlc1a2FXRnVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2NtVnhUR1Z1WjNSb0lDMGdZbmwwWlV4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lDRnhMbWx6V21WeWJ5Z3BPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdZaUE5SUhFdVlXNWtiRzRvTUhobVppazdYRzRnSUNBZ0lDQWdJSEV1YVhWemFISnVLRGdwTzF4dVhHNGdJQ0FnSUNBZ0lISmxjMXR5WlhGTVpXNW5kR2dnTFNCcElDMGdNVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lBaGNTNXBjMXBsY204b0tUc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHSWdQU0J4TG1GdVpHeHVLREI0Wm1ZcE8xeHVJQ0FnSUNBZ0lDQnhMbWwxYzJoeWJpZzRLVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJSEpsY1V4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCcFppQW9UV0YwYUM1amJIb3pNaWtnZTF4dUlDQWdJRUpPTG5CeWIzUnZkSGx3WlM1ZlkyOTFiblJDYVhSeklEMGdablZ1WTNScGIyNGdYMk52ZFc1MFFtbDBjeUFvZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURNeUlDMGdUV0YwYUM1amJIb3pNaWgzS1R0Y2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUVKT0xuQnliM1J2ZEhsd1pTNWZZMjkxYm5SQ2FYUnpJRDBnWm5WdVkzUnBiMjRnWDJOdmRXNTBRbWwwY3lBb2R5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhRZ1BTQjNPMXh1SUNBZ0lDQWdkbUZ5SUhJZ1BTQXdPMXh1SUNBZ0lDQWdhV1lnS0hRZ1BqMGdNSGd4TURBd0tTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ01UTTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMElENDlJREI0TkRBcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBM08xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ056dGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRPQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnd01pa2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlESTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlISWdLeUIwTzF4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYM3BsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnWDNwbGNtOUNhWFJ6SUNoM0tTQjdYRzRnSUNBZ0x5OGdVMmh2Y25RdFkzVjBYRzRnSUNBZ2FXWWdLSGNnUFQwOUlEQXBJSEpsZEhWeWJpQXlOanRjYmx4dUlDQWdJSFpoY2lCMElEMGdkenRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3habVptS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQXhNenRjYmlBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZzNaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ056dGNiaUFnSUNBZ0lIUWdQajQrUFNBM08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZUdZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdORHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3pLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaUFyUFNBeU8xeHVJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TVNrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJckt6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHNTFiV0psY2lCdlppQjFjMlZrSUdKcGRITWdhVzRnWVNCQ1RseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbDBUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbWwwVEdWdVozUm9JQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQjJZWElnYUdrZ1BTQjBhR2x6TGw5amIzVnVkRUpwZEhNb2R5azdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbXhsYm1kMGFDQXRJREVwSUNvZ01qWWdLeUJvYVR0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQjBiMEpwZEVGeWNtRjVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdkeUE5SUc1bGR5QkJjbkpoZVNodWRXMHVZbWwwVEdWdVozUm9LQ2twTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnWW1sMElEMGdNRHNnWW1sMElEd2dkeTVzWlc1bmRHZzdJR0pwZENzcktTQjdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdLR0pwZENBdklESTJLU0I4SURBN1hHNGdJQ0FnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ0lDQjNXMkpwZEYwZ1BTQW9iblZ0TG5kdmNtUnpXMjltWmwwZ0ppQW9NU0E4UENCM1ltbDBLU2tnUGo0K0lIZGlhWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIYzdYRzRnSUgxY2JseHVJQ0F2THlCT2RXMWlaWElnYjJZZ2RISmhhV3hwYm1jZ2VtVnlieUJpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NlpYSnZRbWwwY3lBOUlHWjFibU4wYVc5dUlIcGxjbTlDYVhSeklDZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXBjMXBsY204b0tTa2djbVYwZFhKdUlEQTdYRzVjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11WDNwbGNtOUNhWFJ6S0hSb2FYTXVkMjl5WkhOYmFWMHBPMXh1SUNBZ0lDQWdjaUFyUFNCaU8xeHVJQ0FnSUNBZ2FXWWdLR0lnSVQwOUlESTJLU0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUo1ZEdWTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWVYUmxUR1Z1WjNSb0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVqWldsc0tIUm9hWE11WW1sMFRHVnVaM1JvS0NrZ0x5QTRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlVZDI5eklEMGdablZ1WTNScGIyNGdkRzlVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1aFluTW9LUzVwYm05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxVWQyOXpJRDBnWm5WdVkzUnBiMjRnWm5KdmJWUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVkR1Z6ZEc0b2QybGtkR2dnTFNBeEtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrdWFXNWxaeWdwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMDVsWnlBOUlHWjFibU4wYVc5dUlHbHpUbVZuSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdibVZuWVhScGRtVWdZMnh2Ym1VZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dVpXY2dQU0JtZFc1amRHbHZiaUJ1WldjZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzVsWnlncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGJtVm5JRDBnWm5WdVkzUnBiMjRnYVc1bFp5QW9LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElGNDlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUM0lnWUc1MWJXQWdkMmwwYUNCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYjNJZ1BTQm1kVzVqZEdsdmJpQnBkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J1ZFcwdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9LeXRkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc5eUlEMGdablZ1WTNScGIyNGdhVzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkVzl5S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1QzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtOXlJRDBnWm5WdVkzUnBiMjRnYjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXOXlLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1sdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFc5eUlEMGdablZ1WTNScGIyNGdkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sMWIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCYm1RZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJBZ2FXNHRjR3hoWTJWY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sMVlXNWtJRDBnWm5WdVkzUnBiMjRnYVhWaGJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklHSWdQU0J0YVc0dGJHVnVaM1JvS0c1MWJTd2dkR2hwY3lsY2JpQWdJQ0IyWVhJZ1lqdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0l1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRJQ1lnYm5WdExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZaTVzWlc1bmRHZzdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZVzVrSUQwZ1puVnVZM1JwYjI0Z2FXRnVaQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVmhibVFvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQmJtUWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtRnVaQ0E5SUdaMWJtTjBhVzl1SUdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZVzVrS0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbGhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVmhibVFnUFNCbWRXNWpkR2x2YmlCMVlXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxWVc1a0tHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxWVc1a0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRmh2Y2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWNGIzSWdQU0JtZFc1amRHbHZiaUJwZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1lTNXNaVzVuZEdnZ1BpQmlMbXhsYm1kMGFGeHVJQ0FnSUhaaGNpQmhPMXh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMGdYaUJpTG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpJQ0U5UFNCaEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWw0YjNJZ1BTQm1kVzVqZEdsdmJpQnBlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWGh2Y2lodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUM4dklGaHZjaUJnYm5WdFlDQjNhWFJvSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlRzl5SUQwZ1puVnVZM1JwYjI0Z2VHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWw0YjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkWGh2Y2lBOUlHWjFibU4wYVc5dUlIVjRiM0lnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhWNGIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWNGIzSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVG05MElHQmdkR2hwYzJCZ0lIZHBkR2dnWUdCM2FXUjBhR0JnSUdKcGRIZHBaSFJvWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm05MGJpQTlJR1oxYm1OMGFXOXVJR2x1YjNSdUlDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdkMmxrZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUhkcFpIUm9JRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJR0o1ZEdWelRtVmxaR1ZrSUQwZ1RXRjBhQzVqWldsc0tIZHBaSFJvSUM4Z01qWXBJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltbDBjMHhsWm5RZ1BTQjNhV1IwYUNBbElESTJPMXh1WEc0Z0lDQWdMeThnUlhoMFpXNWtJSFJvWlNCaWRXWm1aWElnZDJsMGFDQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoaWVYUmxjMDVsWldSbFpDazdYRzVjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQmllWFJsYzA1bFpXUmxaQzB0TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0JqYjIxd2JHVjBaU0IzYjNKa2MxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lubDBaWE5PWldWa1pXUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0IwYUdVZ2NtVnphV1IxWlZ4dUlDQWdJR2xtSUNoaWFYUnpUR1ZtZENBK0lEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQitkR2hwY3k1M2IzSmtjMXRwWFNBbUlDZ3dlRE5tWm1abVptWWdQajRnS0RJMklDMGdZbWwwYzB4bFpuUXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCYm1RZ2NtVnRiM1psSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJtOTBiaUE5SUdaMWJtTjBhVzl1SUc1dmRHNGdLSGRwWkhSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBibTkwYmloM2FXUjBhQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMlYwSUdCaWFYUmdJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMlYwYmlBOUlHWjFibU4wYVc5dUlITmxkRzRnS0dKcGRDd2dkbUZzS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQmlhWFFnUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZENBK1BTQXdLVHRjYmx4dUlDQWdJSFpoY2lCdlptWWdQU0FvWW1sMElDOGdNallwSUh3Z01EdGNiaUFnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLRzltWmlBcklERXBPMXh1WEc0Z0lDQWdhV1lnS0haaGJDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXR2Wm1aZElEMGdkR2hwY3k1M2IzSmtjMXR2Wm1aZElId2dLREVnUER3Z2QySnBkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJiMlptWFNBOUlIUm9hWE11ZDI5eVpITmJiMlptWFNBbUlING9NU0E4UENCM1ltbDBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0JnYm5WdFlDQjBieUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhaR1FnUFNCbWRXNWpkR2x2YmlCcFlXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjanRjYmx4dUlDQWdJQzh2SUc1bFoyRjBhWFpsSUNzZ2NHOXphWFJwZG1WY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUJ3YjNOcGRHbDJaU0FySUc1bFoyRjBhWFpsWEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhMbXhsYm1kMGFDQStJR0l1YkdWdVozUm9YRzRnSUNBZ2RtRnlJR0VzSUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dZMkZ5Y25rZ0lUMDlJREFnSmlZZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lISWdQU0FvWVM1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGo0Z01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJkR2hwY3k1c1pXNW5kR2hkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUM4dklFTnZjSGtnZEdobElISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJR0J1ZFcxZ0lIUnZJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0J1ZFcwdWMzVmlLSFJvYVhNcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZrWkNodWRXMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWxoWkdRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QjBhR2x6SUMwZ0tDMXVkVzBwSUQwZ2RHaHBjeUFySUc1MWJWeHVJQ0FnSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z0xYUm9hWE1nTFNCdWRXMGdQU0F0S0hSb2FYTWdLeUJ1ZFcwcFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJkQ0IwYUdseklIQnZhVzUwSUdKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVZjYmlBZ0lDQjJZWElnWTIxd0lEMGdkR2hwY3k1amJYQW9iblZ0S1R0Y2JseHVJQ0FnSUM4dklFOXdkR2x0YVhwaGRHbHZiaUF0SUhwbGNtOXBabmxjYmlBZ0lDQnBaaUFvWTIxd0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVNBK0lHSmNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb1kyMXdJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDMGdLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QmpZWEp5ZVNBaFBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NpQTlJQ2hoTG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2NpQStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFTnZjSGtnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQnBaaUFvWTJGeWNua2dQVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvSUNZbUlHRWdJVDA5SUhSb2FYTXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb095QnBJRHdnWVM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBLVHRjYmx4dUlDQWdJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOMVluUnlZV04wSUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWE4xWWlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhOdFlXeHNUWFZzVkc4Z0tITmxiR1lzSUc1MWJTd2diM1YwS1NCN1hHNGdJQ0FnYjNWMExtNWxaMkYwYVhabElEMGdiblZ0TG01bFoyRjBhWFpsSUY0Z2MyVnNaaTV1WldkaGRHbDJaVHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdLSE5sYkdZdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDa2dmQ0F3TzF4dUlDQWdJRzkxZEM1c1pXNW5kR2dnUFNCc1pXNDdYRzRnSUNBZ2JHVnVJRDBnS0d4bGJpQXRJREVwSUh3Z01EdGNibHh1SUNBZ0lDOHZJRkJsWld3Z2IyNWxJR2wwWlhKaGRHbHZiaUFvWTI5dGNHbHNaWElnWTJGdUozUWdaRzhnYVhRc0lHSmxZMkYxYzJVZ2IyWWdZMjlrWlNCamIyMXdiR1Y0YVhSNUtWeHVJQ0FnSUhaaGNpQmhJRDBnYzJWc1ppNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdJZ1BTQnVkVzB1ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQnlJRDBnWVNBcUlHSTdYRzVjYmlBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSFpoY2lCallYSnllU0E5SUNoeUlDOGdNSGcwTURBd01EQXdLU0I4SURBN1hHNGdJQ0FnYjNWMExuZHZjbVJ6V3pCZElEMGdiRzg3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Uc2dheUE4SUd4bGJqc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHTmhjbko1SUQ0K1BpQXlOanRjYmlBZ0lDQWdJSFpoY2lCeWQyOXlaQ0E5SUdOaGNuSjVJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZG1GeUlHMWhlRW9nUFNCTllYUm9MbTFwYmlockxDQnVkVzB1YkdWdVozUm9JQzBnTVNrN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdUV0YwYUM1dFlYZ29NQ3dnYXlBdElITmxiR1l1YkdWdVozUm9JQ3NnTVNrN0lHb2dQRDBnYldGNFNqc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ0tHc2dMU0JxS1NCOElEQTdYRzRnSUNBZ0lDQWdJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lpQTlJRzUxYlM1M2IzSmtjMXRxWFNCOElEQTdYRzRnSUNBZ0lDQWdJSElnUFNCaElDb2dZaUFySUhKM2IzSmtPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dLejBnS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NuZHZjbVFnUFNCeUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiM1YwTG5kdmNtUnpXMnRkSUQwZ2NuZHZjbVFnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCdVkyRnljbmtnZkNBd08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlHTmhjbko1SUh3Z01EdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUMwdE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2ZFhRdWMzUnlhWEFvS1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbDBJRzFoZVNCaVpTQnlaV0Z6YjI1aFlteGxJSFJ2SUc5dGFYUWdhWFFnWm05eUlIVnpaWEp6SUhkb2J5QmtiMjRuZENCdVpXVmtYRzRnSUM4dklIUnZJSGR2Y21zZ2QybDBhQ0F5TlRZdFltbDBJRzUxYldKbGNuTXNJRzkwYUdWeWQybHpaU0JwZENCbmFYWmxjeUF5TUNVZ2FXMXdjbTkyWlcxbGJuUWdabTl5SURJMU5pMWlhWFJjYmlBZ0x5OGdiWFZzZEdsd2JHbGpZWFJwYjI0Z0tHeHBhMlVnWld4c2FYQjBhV01nYzJWamNESTFObXN4S1M1Y2JpQWdkbUZ5SUdOdmJXSXhNRTExYkZSdklEMGdablZ1WTNScGIyNGdZMjl0WWpFd1RYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21Sek8xeHVJQ0FnSUhaaGNpQnZJRDBnYjNWMExuZHZjbVJ6TzF4dUlDQWdJSFpoY2lCaklEMGdNRHRjYmlBZ0lDQjJZWElnYkc4N1hHNGdJQ0FnZG1GeUlHMXBaRHRjYmlBZ0lDQjJZWElnYUdrN1hHNGdJQ0FnZG1GeUlHRXdJRDBnWVZzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc01DQTlJR0V3SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEQWdQU0JoTUNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFeElEMGdZVnN4WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTVNBOUlHRXhJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURFZ1BTQmhNU0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0V5SUQwZ1lWc3lYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNNaUE5SUdFeUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRElnUFNCaE1pQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRXpJRDBnWVZzelhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc015QTlJR0V6SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFETWdQU0JoTXlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFMElEMGdZVnMwWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTkNBOUlHRTBJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURRZ1BTQmhOQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0UxSUQwZ1lWczFYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNOU0E5SUdFMUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRFVnUFNCaE5TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTJJRDBnWVZzMlhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc05pQTlJR0UySUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEWWdQU0JoTmlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFM0lEMGdZVnMzWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTnlBOUlHRTNJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURjZ1BTQmhOeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0U0SUQwZ1lWczRYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNPQ0E5SUdFNElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRGdnUFNCaE9DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTVJRDBnWVZzNVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc09TQTlJR0U1SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEa2dQU0JoT1NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJd0lEMGdZbHN3WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTUNBOUlHSXdJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURBZ1BTQmlNQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0l4SUQwZ1lsc3hYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNNU0E5SUdJeElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhREVnUFNCaU1TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSXlJRDBnWWxzeVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc01pQTlJR0l5SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFESWdQU0JpTWlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJeklEMGdZbHN6WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTXlBOUlHSXpJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURNZ1BTQmlNeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kwSUQwZ1lsczBYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOQ0E5SUdJMElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRFFnUFNCaU5DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTFJRDBnWWxzMVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc05TQTlJR0kxSUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEVWdQU0JpTlNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJMklEMGdZbHMyWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTmlBOUlHSTJJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURZZ1BTQmlOaUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kzSUQwZ1lsczNYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOeUE5SUdJM0lDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRGNnUFNCaU55QStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTRJRDBnWWxzNFhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc09DQTlJR0k0SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEZ2dQU0JpT0NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJNUlEMGdZbHM1WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzT1NBOUlHSTVJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURrZ1BTQmlPU0ErUGo0Z01UTTdYRzVjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCelpXeG1MbTVsWjJGMGFYWmxJRjRnYm5WdExtNWxaMkYwYVhabE8xeHVJQ0FnSUc5MWRDNXNaVzVuZEdnZ1BTQXhPVHRjYmlBZ0lDQXZLaUJySUQwZ01DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnd0xDQmlhREFwTzF4dUlDQWdJSFpoY2lCM01DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6QWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRElnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTWlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpJZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3lJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNeUFxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpNZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3pJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdOQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpRZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRFVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM05TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6VWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMxSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOaUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kellnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ055QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpjZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGdnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemdnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjNElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM09TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6a2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGM1SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRBZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNU2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neEtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3hLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13M0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTVRBZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE1DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekV3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRFZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNaWs3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neUtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3lLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TVNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVEVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TWlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltd3pLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURNcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFETXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVElnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TWlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RXlJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVE1nS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc05DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nMEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UTWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFeklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UUWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTlNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzFLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWcxS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TkNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFFnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TlNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzJLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURZcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEWXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UVWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFMUlDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UWWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTnlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzNLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWczS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVFlnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TmlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTJJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVGNnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc09DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nNEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TnlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVGNnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4T0NBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzVLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURrcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEa3BPMXh1SUNBZ0lIWmhjaUIzTVRnZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE9DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekU0SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNCdld6QmRJRDBnZHpBN1hHNGdJQ0FnYjFzeFhTQTlJSGN4TzF4dUlDQWdJRzliTWwwZ1BTQjNNanRjYmlBZ0lDQnZXek5kSUQwZ2R6TTdYRzRnSUNBZ2IxczBYU0E5SUhjME8xeHVJQ0FnSUc5Yk5WMGdQU0IzTlR0Y2JpQWdJQ0J2V3paZElEMGdkelk3WEc0Z0lDQWdiMXMzWFNBOUlIYzNPMXh1SUNBZ0lHOWJPRjBnUFNCM09EdGNiaUFnSUNCdld6bGRJRDBnZHprN1hHNGdJQ0FnYjFzeE1GMGdQU0IzTVRBN1hHNGdJQ0FnYjFzeE1WMGdQU0IzTVRFN1hHNGdJQ0FnYjFzeE1sMGdQU0IzTVRJN1hHNGdJQ0FnYjFzeE0xMGdQU0IzTVRNN1hHNGdJQ0FnYjFzeE5GMGdQU0IzTVRRN1hHNGdJQ0FnYjFzeE5WMGdQU0IzTVRVN1hHNGdJQ0FnYjFzeE5sMGdQU0IzTVRZN1hHNGdJQ0FnYjFzeE4xMGdQU0IzTVRjN1hHNGdJQ0FnYjFzeE9GMGdQU0IzTVRnN1hHNGdJQ0FnYVdZZ0tHTWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHOWJNVGxkSUQwZ1l6dGNiaUFnSUNBZ0lHOTFkQzVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnZlR0Y2JseHVJQ0F2THlCUWIyeDVabWxzYkNCamIyMWlYRzRnSUdsbUlDZ2hUV0YwYUM1cGJYVnNLU0I3WEc0Z0lDQWdZMjl0WWpFd1RYVnNWRzhnUFNCemJXRnNiRTExYkZSdk8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdZbWxuVFhWc1ZHOGdLSE5sYkdZc0lHNTFiU3dnYjNWMEtTQjdYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnYm5WdExtNWxaMkYwYVhabElGNGdjMlZzWmk1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCMllYSWdhRzVqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURBN0lHc2dQQ0J2ZFhRdWJHVnVaM1JvSUMwZ01Uc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHaHVZMkZ5Y25rN1hHNGdJQ0FnSUNCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUJ5ZDI5eVpDQTlJR05oY25KNUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkbUZ5SUcxaGVFb2dQU0JOWVhSb0xtMXBiaWhyTENCdWRXMHViR1Z1WjNSb0lDMGdNU2s3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ1RXRjBhQzV0WVhnb01Dd2dheUF0SUhObGJHWXViR1Z1WjNSb0lDc2dNU2s3SUdvZ1BEMGdiV0Y0U2pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnYXlBdElHbzdYRzRnSUNBZ0lDQWdJSFpoY2lCaElEMGdjMlZzWmk1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXMnBkSUh3Z01EdGNiaUFnSUNBZ0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tDaHlJQzhnTUhnME1EQXdNREF3S1NCOElEQXBLU0I4SURBN1hHNGdJQ0FnSUNBZ0lHeHZJRDBnS0d4dklDc2djbmR2Y21RcElId2dNRHRjYmlBZ0lDQWdJQ0FnY25kdmNtUWdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlEMGdLRzVqWVhKeWVTQXJJQ2hzYnlBK1BqNGdNallwS1NCOElEQTdYRzVjYmlBZ0lDQWdJQ0FnYUc1allYSnllU0FyUFNCdVkyRnljbmtnUGo0K0lESTJPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdjbmR2Y21RN1hHNGdJQ0FnSUNCallYSnllU0E5SUc1allYSnllVHRjYmlBZ0lDQWdJRzVqWVhKeWVTQTlJR2h1WTJGeWNuazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzkxZEM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiM1YwTG5OMGNtbHdLQ2s3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcWRXMWliMDExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQm1ablJ0SUQwZ2JtVjNJRVpHVkUwb0tUdGNiaUFnSUNCeVpYUjFjbTRnWm1aMGJTNXRkV3h3S0hObGJHWXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZWeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3hVYnlBOUlHWjFibU4wYVc5dUlHMTFiRlJ2SUNodWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFEdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXdJQ1ltSUc1MWJTNXNaVzVuZEdnZ1BUMDlJREV3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0JqYjIxaU1UQk5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hzWlc0Z1BDQTJNeWtnZTF4dUlDQWdJQ0FnY21WeklEMGdjMjFoYkd4TmRXeFVieWgwYUdsekxDQnVkVzBzSUc5MWRDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHNaVzRnUENBeE1ESTBLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQmlhV2ROZFd4VWJ5aDBhR2x6TENCdWRXMHNJRzkxZENrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHcDFiV0p2VFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnUTI5dmJHVjVMVlIxYTJWNUlHRnNaMjl5YVhSb2JTQm1iM0lnUmtaVVhHNGdJQzh2SUhOc2FXZG9kR3g1SUhKbGRtbHphWFJsWkNCMGJ5QnlaV3g1SUc5dUlHeHZiM0JwYm1jZ2FXNXpkR1ZoWkNCdlppQnlaV04xY25OcGIyNWNibHh1SUNCbWRXNWpkR2x2YmlCR1JsUk5JQ2g0TENCNUtTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2VEdGNiaUFnSUNCMGFHbHpMbmtnUFNCNU8xeHVJQ0I5WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJXRnJaVkpDVkNBOUlHWjFibU4wYVc5dUlHMWhhMlZTUWxRZ0tFNHBJSHRjYmlBZ0lDQjJZWElnZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnYkNBOUlFSk9MbkJ5YjNSdmRIbHdaUzVmWTI5MWJuUkNhWFJ6S0U0cElDMGdNVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdkRnRwWFNBOUlIUm9hWE11Y21WMlFtbHVLR2tzSUd3c0lFNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCME8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnlibk1nWW1sdVlYSjVMWEpsZG1WeWMyVmtJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JR0I0WUZ4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1eVpYWkNhVzRnUFNCbWRXNWpkR2x2YmlCeVpYWkNhVzRnS0hnc0lHd3NJRTRwSUh0Y2JpQWdJQ0JwWmlBb2VDQTlQVDBnTUNCOGZDQjRJRDA5UFNCT0lDMGdNU2tnY21WMGRYSnVJSGc3WEc1Y2JpQWdJQ0IyWVhJZ2NtSWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5WWlCOFBTQW9lQ0FtSURFcElEdzhJQ2hzSUMwZ2FTQXRJREVwTzF4dUlDQWdJQ0FnZUNBK1BqMGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtSTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VHVnlabTl5YlhNZ1hDSjBkMlZsWkd4cGJtZGNJaUJ3YUdGelpTd2dkR2hsY21WbWIzSmxJQ2RsYlhWc1lYUnBibWNuWEc0Z0lDOHZJR0psYUdGMmFXOTFjaUJ2WmlCMGFHVWdjbVZqZFhKemFYWmxJR0ZzWjI5eWFYUm9iVnh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV3WlhKdGRYUmxJRDBnWm5WdVkzUnBiMjRnY0dWeWJYVjBaU0FvY21KMExDQnlkM01zSUdsM2N5d2djblIzY3l3Z2FYUjNjeXdnVGlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCeWRIZHpXMmxkSUQwZ2NuZHpXM0ppZEZ0cFhWMDdYRzRnSUNBZ0lDQnBkSGR6VzJsZElEMGdhWGR6VzNKaWRGdHBYVjA3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMblJ5WVc1elptOXliU0E5SUdaMWJtTjBhVzl1SUhSeVlXNXpabTl5YlNBb2NuZHpMQ0JwZDNNc0lISjBkM01zSUdsMGQzTXNJRTRzSUhKaWRDa2dlMXh1SUNBZ0lIUm9hWE11Y0dWeWJYVjBaU2h5WW5Rc0lISjNjeXdnYVhkekxDQnlkSGR6TENCcGRIZHpMQ0JPS1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUhNZ1BTQXhPeUJ6SUR3Z1Rqc2djeUE4UEQwZ01Ta2dlMXh1SUNBZ0lDQWdkbUZ5SUd3Z1BTQnpJRHc4SURFN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5ZEhka1ppQTlJRTFoZEdndVkyOXpLRElnS2lCTllYUm9MbEJKSUM4Z2JDazdYRzRnSUNBZ0lDQjJZWElnYVhSM1pHWWdQU0JOWVhSb0xuTnBiaWd5SUNvZ1RXRjBhQzVRU1NBdklHd3BPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUQwZ01Ec2djQ0E4SUU0N0lIQWdLejBnYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnY25SM1pHWmZJRDBnY25SM1pHWTdYRzRnSUNBZ0lDQWdJSFpoY2lCcGRIZGtabDhnUFNCcGRIZGtaanRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElITTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpTQTlJSEowZDNOYmNDQXJJR3BkTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwWlNBOUlHbDBkM05iY0NBcklHcGRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEp2SUQwZ2NuUjNjMXR3SUNzZ2FpQXJJSE5kTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwYnlBOUlHbDBkM05iY0NBcklHb2dLeUJ6WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeWVDQTlJSEowZDJSbVh5QXFJSEp2SUMwZ2FYUjNaR1pmSUNvZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCcGJ5QTlJSEowZDJSbVh5QXFJR2x2SUNzZ2FYUjNaR1pmSUNvZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnY204Z1BTQnllRHRjYmx4dUlDQWdJQ0FnSUNBZ0lISjBkM05iY0NBcklHcGRJRDBnY21VZ0t5QnlienRjYmlBZ0lDQWdJQ0FnSUNCcGRIZHpXM0FnS3lCcVhTQTlJR2xsSUNzZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCeWRIZHpXM0FnS3lCcUlDc2djMTBnUFNCeVpTQXRJSEp2TzF4dUlDQWdJQ0FnSUNBZ0lHbDBkM05iY0NBcklHb2dLeUJ6WFNBOUlHbGxJQzBnYVc4N1hHNWNiaUFnSUNBZ0lDQWdJQ0F2S2lCcWMyaHBiblFnYldGNFpHVndkR2dnT2lCbVlXeHpaU0FxTDF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hxSUNFOVBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnllQ0E5SUhKMGQyUm1JQ29nY25SM1pHWmZJQzBnYVhSM1pHWWdLaUJwZEhka1psODdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBkMlJtWHlBOUlISjBkMlJtSUNvZ2FYUjNaR1pmSUNzZ2FYUjNaR1lnS2lCeWRIZGtabDg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlkSGRrWmw4Z1BTQnllRHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVozVmxjM05NWlc0eE0ySWdQU0JtZFc1amRHbHZiaUJuZFdWemMweGxiakV6WWlBb2Jpd2diU2tnZTF4dUlDQWdJSFpoY2lCT0lEMGdUV0YwYUM1dFlYZ29iU3dnYmlrZ2ZDQXhPMXh1SUNBZ0lIWmhjaUJ2WkdRZ1BTQk9JQ1lnTVR0Y2JpQWdJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lDQWdabTl5SUNoT0lEMGdUaUF2SURJZ2ZDQXdPeUJPT3lCT0lEMGdUaUErUGo0Z01Ta2dlMXh1SUNBZ0lDQWdhU3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQXhJRHc4SUdrZ0t5QXhJQ3NnYjJSa08xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExtTnZibXAxWjJGMFpTQTlJR1oxYm1OMGFXOXVJR052Ym1wMVoyRjBaU0FvY25kekxDQnBkM01zSUU0cElIdGNiaUFnSUNCcFppQW9UaUE4UFNBeEtTQnlaWFIxY200N1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElFNGdMeUF5T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCMElEMGdjbmR6VzJsZE8xeHVYRzRnSUNBZ0lDQnlkM05iYVYwZ1BTQnlkM05iVGlBdElHa2dMU0F4WFR0Y2JpQWdJQ0FnSUhKM2MxdE9JQzBnYVNBdElERmRJRDBnZER0Y2JseHVJQ0FnSUNBZ2RDQTlJR2wzYzF0cFhUdGNibHh1SUNBZ0lDQWdhWGR6VzJsZElEMGdMV2wzYzF0T0lDMGdhU0F0SURGZE8xeHVJQ0FnSUNBZ2FYZHpXMDRnTFNCcElDMGdNVjBnUFNBdGREdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJtOXliV0ZzYVhwbE1UTmlJRDBnWm5WdVkzUnBiMjRnYm05eWJXRnNhWHBsTVROaUlDaDNjeXdnVGlrZ2UxeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9JQzhnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRTFoZEdndWNtOTFibVFvZDNOYk1pQXFJR2tnS3lBeFhTQXZJRTRwSUNvZ01IZ3lNREF3SUN0Y2JpQWdJQ0FnSUNBZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FWMGdMeUJPS1NBclhHNGdJQ0FnSUNBZ0lHTmhjbko1TzF4dVhHNGdJQ0FnSUNCM2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzVjYmlBZ0lDQWdJR2xtSUNoM0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnZHlBdklEQjROREF3TURBd01DQjhJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIZHpPMXh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUXhNMklnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowTVROaUlDaDNjeXdnYkdWdUxDQnlkM01zSUU0cElIdGNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJR05oY25KNUlEMGdZMkZ5Y25rZ0t5QW9kM05iYVYwZ2ZDQXdLVHRjYmx4dUlDQWdJQ0FnY25keld6SWdLaUJwWFNBOUlHTmhjbko1SUNZZ01IZ3habVptT3lCallYSnllU0E5SUdOaGNuSjVJRDQrUGlBeE16dGNiaUFnSUNBZ0lISjNjMXN5SUNvZ2FTQXJJREZkSUQwZ1kyRnljbmtnSmlBd2VERm1abVk3SUdOaGNuSjVJRDBnWTJGeWNua2dQajQrSURFek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGQmhaQ0IzYVhSb0lIcGxjbTlsYzF4dUlDQWdJR1p2Y2lBb2FTQTlJRElnS2lCc1pXNDdJR2tnUENCT095QXJLMmtwSUh0Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR05oY25KNUlEMDlQU0F3S1R0Y2JpQWdJQ0JoYzNObGNuUW9LR05oY25KNUlDWWdmakI0TVdabVppa2dQVDA5SURBcE8xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuTjBkV0lnUFNCbWRXNWpkR2x2YmlCemRIVmlJQ2hPS1NCN1hHNGdJQ0FnZG1GeUlIQm9JRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCd2FGdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEJvTzF4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG0xMWJIQWdQU0JtZFc1amRHbHZiaUJ0ZFd4d0lDaDRMQ0I1TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnVGlBOUlESWdLaUIwYUdsekxtZDFaWE56VEdWdU1UTmlLSGd1YkdWdVozUm9MQ0I1TG14bGJtZDBhQ2s3WEc1Y2JpQWdJQ0IyWVhJZ2NtSjBJRDBnZEdocGN5NXRZV3RsVWtKVUtFNHBPMXh1WEc0Z0lDQWdkbUZ5SUY4Z1BTQjBhR2x6TG5OMGRXSW9UaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NuZHpJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnlkM04wSUQwZ2JtVjNJRUZ5Y21GNUtFNHBPMXh1SUNBZ0lIWmhjaUJwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlHNXlkM01nUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzV5ZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dUlDQWdJSFpoY2lCdWFYZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNibHh1SUNBZ0lIWmhjaUJ5YlhkeklEMGdiM1YwTG5kdmNtUnpPMXh1SUNBZ0lISnRkM011YkdWdVozUm9JRDBnVGp0Y2JseHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg0TG5kdmNtUnpMQ0I0TG14bGJtZDBhQ3dnY25kekxDQk9LVHRjYmlBZ0lDQjBhR2x6TG1OdmJuWmxjblF4TTJJb2VTNTNiM0prY3l3Z2VTNXNaVzVuZEdnc0lHNXlkM01zSUU0cE8xeHVYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kekxDQmZMQ0J5ZDNOMExDQnBkM04wTENCT0xDQnlZblFwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtHNXlkM01zSUY4c0lHNXlkM04wTENCdWFYZHpkQ3dnVGl3Z2NtSjBLVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NuZ2dQU0J5ZDNOMFcybGRJQ29nYm5KM2MzUmJhVjBnTFNCcGQzTjBXMmxkSUNvZ2JtbDNjM1JiYVYwN1hHNGdJQ0FnSUNCcGQzTjBXMmxkSUQwZ2NuZHpkRnRwWFNBcUlHNXBkM04wVzJsZElDc2dhWGR6ZEZ0cFhTQXFJRzV5ZDNOMFcybGRPMXh1SUNBZ0lDQWdjbmR6ZEZ0cFhTQTlJSEo0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVkyOXVhblZuWVhSbEtISjNjM1FzSUdsM2MzUXNJRTRwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtISjNjM1FzSUdsM2MzUXNJSEp0ZDNNc0lGOHNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY20xM2N5d2dYeXdnVGlrN1hHNGdJQ0FnZEdocGN5NXViM0p0WVd4cGVtVXhNMklvY20xM2N5d2dUaWs3WEc1Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQjRMbTVsWjJGMGFYWmxJRjRnZVM1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2VDNXNaVzVuZEdnZ0t5QjVMbXhsYm1kMGFEdGNiaUFnSUNCeVpYUjFjbTRnYjNWMExuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVFhWc2RHbHdiSGtnWUhSb2FYTmdJR0o1SUdCdWRXMWdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3dnUFNCbWRXNWpkR2x2YmlCdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnZkWFFnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ2IzVjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzVkc4b2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxMWJIUnBjR3g1SUdWdGNHeHZlV2x1WnlCR1JsUmNiaUFnUWs0dWNISnZkRzkwZVhCbExtMTFiR1lnUFNCbWRXNWpkR2x2YmlCdGRXeG1JQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdiM1YwSUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lHOTFkQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCcWRXMWliMDExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JOZFd4MGFYQnNhV05oZEdsdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWJYVnNWRzhvYm5WdExDQjBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVcxMWJHNGdQU0JtZFc1amRHbHZiaUJwYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmx4dUlDQWdJQzh2SUVOaGNuSjVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM0lEMGdLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FxSUc1MWJUdGNiaUFnSUNBZ0lIWmhjaUJzYnlBOUlDaDNJQ1lnTUhnelptWm1abVptS1NBcklDaGpZWEp5ZVNBbUlEQjRNMlptWm1abVppazdYRzRnSUNBZ0lDQmpZWEp5ZVNBK1BqMGdNalk3WEc0Z0lDQWdJQ0JqWVhKeWVTQXJQU0FvZHlBdklEQjROREF3TURBd01Da2dmQ0F3TzF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nYkc4Z2FYTWdNamRpYVhRZ2JXRjRhVzExYlZ4dUlDQWdJQ0FnWTJGeWNua2dLejBnYkc4Z1BqNCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR3h2SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViWFZzYmlBOUlHWjFibU4wYVc5dUlHMTFiRzRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzExYkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QmdkR2hwYzJBZ0tpQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OeGNpQTlJR1oxYm1OMGFXOXVJSE54Y2lBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklHQjBhR2x6WUNBcUlHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOeGNpQTlJR1oxYm1OMGFXOXVJR2x6Y1hJZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0ZFd3b2RHaHBjeTVqYkc5dVpTZ3BLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5ZWFJvTG5CdmR5aGdkR2hwYzJBc0lHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y0c5M0lEMGdablZ1WTNScGIyNGdjRzkzSUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnZHlBOUlIUnZRbWwwUVhKeVlYa29iblZ0S1R0Y2JpQWdJQ0JwWmlBb2R5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUJ1WlhjZ1FrNG9NU2s3WEc1Y2JpQWdJQ0F2THlCVGEybHdJR3hsWVdScGJtY2dlbVZ5YjJWelhHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeVpYTWdQU0J5WlhNdWMzRnlLQ2twSUh0Y2JpQWdJQ0FnSUdsbUlDaDNXMmxkSUNFOVBTQXdLU0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LeXRwSUR3Z2R5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIRWdQU0J5WlhNdWMzRnlLQ2s3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeElEMGdjUzV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2QxdHBYU0E5UFQwZ01Da2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdjbVZ6TG0xMWJDaHhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUM4dklGTm9hV1owTFd4bFpuUWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbDFjMmhzYmlBOUlHWjFibU4wYVc5dUlHbDFjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkSE1nSlNBeU5qdGNiaUFnSUNCMllYSWdjeUE5SUNoaWFYUnpJQzBnY2lrZ0x5QXlOanRjYmlBZ0lDQjJZWElnWTJGeWNubE5ZWE5ySUQwZ0tEQjRNMlptWm1abVppQStQajRnS0RJMklDMGdjaWtwSUR3OElDZ3lOaUF0SUhJcE8xeHVJQ0FnSUhaaGNpQnBPMXh1WEc0Z0lDQWdhV1lnS0hJZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCdVpYZERZWEp5ZVNBOUlIUm9hWE11ZDI5eVpITmJhVjBnSmlCallYSnllVTFoYzJzN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqSUQwZ0tDaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dMU0J1WlhkRFlYSnllU2tnUER3Z2NqdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHTWdmQ0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQnVaWGREWVhKeWVTQStQajRnS0RJMklDMGdjaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGpZWEp5ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE1nSVQwOUlEQXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJSFJvYVhNdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzEwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnY3pzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0F3TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQXJQU0J6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6YUd4dUlEMGdablZ1WTNScGIyNGdhWE5vYkc0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFHeHVLR0pwZEhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOb2FXWjBMWEpwWjJoMElHbHVMWEJzWVdObFhHNGdJQzh2SUU1UFZFVTZJR0JvYVc1MFlDQnBjeUJoSUd4dmQyVnpkQ0JpYVhRZ1ltVm1iM0psSUhSeVlXbHNhVzVuSUhwbGNtOWxjMXh1SUNBdkx5Qk9UMVJGT2lCcFppQmdaWGgwWlc1a1pXUmdJR2x6SUhCeVpYTmxiblFnTFNCcGRDQjNhV3hzSUdKbElHWnBiR3hsWkNCM2FYUm9JR1JsYzNSeWIzbGxaQ0JpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCcGRYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQm9PMXh1SUNBZ0lHbG1JQ2hvYVc1MEtTQjdYRzRnSUNBZ0lDQm9JRDBnS0docGJuUWdMU0FvYUdsdWRDQWxJREkyS1NrZ0x5QXlOanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FDQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhJZ1BTQmlhWFJ6SUNVZ01qWTdYRzRnSUNBZ2RtRnlJSE1nUFNCTllYUm9MbTFwYmlnb1ltbDBjeUF0SUhJcElDOGdNallzSUhSb2FYTXViR1Z1WjNSb0tUdGNiaUFnSUNCMllYSWdiV0Z6YXlBOUlEQjRNMlptWm1abVppQmVJQ2dvTUhnelptWm1abVptSUQ0K1BpQnlLU0E4UENCeUtUdGNiaUFnSUNCMllYSWdiV0Z6YTJWa1YyOXlaSE1nUFNCbGVIUmxibVJsWkR0Y2JseHVJQ0FnSUdnZ0xUMGdjenRjYmlBZ0lDQm9JRDBnVFdGMGFDNXRZWGdvTUN3Z2FDazdYRzVjYmlBZ0lDQXZMeUJGZUhSbGJtUmxaQ0J0YjJSbExDQmpiM0I1SUcxaGMydGxaQ0J3WVhKMFhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NXNaVzVuZEdnZ1BTQnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6SUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0F2THlCT2J5MXZjQ3dnZDJVZ2MyaHZkV3hrSUc1dmRDQnRiM1psSUdGdWVYUm9hVzVuSUdGMElHRnNiRnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCektTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0F0UFNCek8xeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5kTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdJQ1ltSUNoallYSnllU0FoUFQwZ01DQjhmQ0JwSUQ0OUlHZ3BPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzYjNKa0lEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ0tHTmhjbko1SUR3OElDZ3lOaUF0SUhJcEtTQjhJQ2gzYjNKa0lENCtQaUJ5S1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZDI5eVpDQW1JRzFoYzJzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1VIVnphQ0JqWVhKeWFXVmtJR0pwZEhNZ1lYTWdZU0J0WVhOclhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpJQ1ltSUdOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnRZWE5yWldSWGIzSmtjeTUzYjNKa2MxdHRZWE5yWldSWGIzSmtjeTVzWlc1bmRHZ3JLMTBnUFNCallYSnllVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHphSEp1SUQwZ1puVnVZM1JwYjI0Z2FYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmh5YmloaWFYUnpMQ0JvYVc1MExDQmxlSFJsYm1SbFpDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1UyaHBablF0YkdWbWRGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMyaHNiaUE5SUdaMWJtTjBhVzl1SUhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHphR3h1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFjMmhzYmlBOUlHWjFibU4wYVc5dUlIVnphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwZFhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRjbWxuYUhSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5Ob2NtNGdQU0JtZFc1amRHbHZiaUJ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMyaHliaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCMWMyaHliaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlJsYzNRZ2FXWWdiaUJpYVhRZ2FYTWdjMlYwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwWlhOMGJpQTlJR1oxYm1OMGFXOXVJSFJsYzNSdUlDaGlhWFFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwSUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMElDMGdjaWtnTHlBeU5qdGNiaUFnSUNCMllYSWdjU0E5SURFZ1BEd2djanRjYmx4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlRvZ1ltbDBJR2x6SUcxMVkyZ2dhR2xuYUdWeUlIUm9ZVzRnWVd4c0lHVjRhWE4wYVc1bklIZHZjbVJ6WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEdzlJSE1wSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lDOHZJRU5vWldOcklHSnBkQ0JoYm1RZ2NtVjBkWEp1WEc0Z0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXM05kTzF4dVhHNGdJQ0FnY21WMGRYSnVJQ0VoS0hjZ0ppQnhLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlNaWFIxY200Z2IyNXNlU0JzYjNkbGNuTWdZbWwwY3lCdlppQnVkVzFpWlhJZ0tHbHVMWEJzWVdObEtWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMWhjMnR1SUQwZ1puVnVZM1JwYjI0Z2FXMWhjMnR1SUNoaWFYUnpLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUnpJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQmlhWFJ6SUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBjeUFsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRITWdMU0J5S1NBdklESTJPMXh1WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2RwYldGemEyNGdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabElHNTFiV0psY25NbktUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOFBTQnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2NpQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2N5c3JPMXh1SUNBZ0lIMWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndWJXbHVLSE1zSUhSb2FYTXViR1Z1WjNSb0tUdGNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2JXRnpheUE5SURCNE0yWm1abVptWmlCZUlDZ29NSGd6Wm1abVptWm1JRDQrUGlCeUtTQThQQ0J5S1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBbVBTQnRZWE5yTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHOXViSGtnYkc5M1pYSnpJR0pwZEhNZ2IyWWdiblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dFlYTnJiaUE5SUdaMWJtTjBhVzl1SUcxaGMydHVJQ2hpYVhSektTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBiV0Z6YTI0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRV1JrSUhCc1lXbHVJRzUxYldKbGNpQmdiblZ0WUNCMGJ5QmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saFpHUnVJRDBnWm5WdVkzUnBiMjRnYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdiblZ0SUQwOVBTQW5iblZ0WW1WeUp5azdYRzRnSUNBZ1lYTnpaWEowS0c1MWJTQThJREI0TkRBd01EQXdNQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTQThJREFwSUhKbGRIVnliaUIwYUdsekxtbHpkV0p1S0MxdWRXMHBPMXh1WEc0Z0lDQWdMeThnVUc5emMybGliR1VnYzJsbmJpQmphR0Z1WjJWY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlDaDBhR2x6TG5kdmNtUnpXekJkSUh3Z01Da2dQQ0J1ZFcwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlHNTFiU0F0SUNoMGFHbHpMbmR2Y21Seld6QmRJSHdnTUNrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtbHpkV0p1S0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRUZrWkNCM2FYUm9iM1YwSUdOb1pXTnJjMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwWVdSa2JpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVdGa1pHNGdQU0JtZFc1amRHbHZiaUJmYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnYm5WdE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BqMGdNSGcwTURBd01EQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnTFQwZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ2FXWWdLR2tnUFQwOUlIUm9hWE11YkdWdVozUm9JQzBnTVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQTlJREU3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QXhYU3NyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBJQ3NnTVNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCd2JHRnBiaUJ1ZFcxaVpYSWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0p1SUQwZ1puVnVZM1JwYjI0Z2FYTjFZbTRnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnYm5WdElEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4SURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnYVdZZ0tHNTFiU0E4SURBcElISmxkSFZ5YmlCMGFHbHpMbWxoWkdSdUtDMXVkVzBwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cFlXUmtiaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbmR2Y21Seld6QmRJQzA5SUc1MWJUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SUMxMGFHbHpMbmR2Y21Seld6QmRPMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BDQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBclBTQXdlRFF3TURBd01EQTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVNBcklERmRJQzA5SURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdSa2JpQTlJR1oxYm1OMGFXOXVJR0ZrWkc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVdGa1pHNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNWaWJpQTlJR1oxYm1OMGFXOXVJSE4xWW00Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOMVltNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGaWN5QTlJR1oxYm1OMGFXOXVJR2xoWW5NZ0tDa2dlMXh1SUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtRmljeUE5SUdaMWJtTjBhVzl1SUdGaWN5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwWVdKektDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBjMmhzYm5OMVltMTFiQ0E5SUdaMWJtTjBhVzl1SUY5cGMyaHNibk4xWW0xMWJDQW9iblZ0TENCdGRXd3NJSE5vYVdaMEtTQjdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHNTFiUzVzWlc1bmRHZ2dLeUJ6YUdsbWREdGNiaUFnSUNCMllYSWdhVHRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoc1pXNHBPMXh1WEc0Z0lDQWdkbUZ5SUhjN1hHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0tIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCMllYSWdjbWxuYUhRZ1BTQW9iblZ0TG5kdmNtUnpXMmxkSUh3Z01Da2dLaUJ0ZFd3N1hHNGdJQ0FnSUNCM0lDMDlJSEpwWjJoMElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQW9keUErUGlBeU5pa2dMU0FvS0hKcFoyaDBJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MyaHBablJkSUQwZ2R5QW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0F0SUhOb2FXWjBPeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUErUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR05oY25KNUlEMDlQU0F3S1NCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdVM1ZpZEhKaFkzUnBiMjRnYjNabGNtWnNiM2RjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlDMHhLVHRjYmlBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhjZ1BTQXRLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNkdmNtUkVhWFlnUFNCbWRXNWpkR2x2YmlCZmQyOXlaRVJwZGlBb2JuVnRMQ0J0YjJSbEtTQjdYRzRnSUNBZ2RtRnlJSE5vYVdaMElEMGdkR2hwY3k1c1pXNW5kR2dnTFNCdWRXMHViR1Z1WjNSb08xeHVYRzRnSUNBZ2RtRnlJR0VnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2RtRnlJR0lnUFNCdWRXMDdYRzVjYmlBZ0lDQXZMeUJPYjNKdFlXeHBlbVZjYmlBZ0lDQjJZWElnWW1ocElEMGdZaTUzYjNKa2MxdGlMbXhsYm1kMGFDQXRJREZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbWhwUW1sMGN5QTlJSFJvYVhNdVgyTnZkVzUwUW1sMGN5aGlhR2twTzF4dUlDQWdJSE5vYVdaMElEMGdNallnTFNCaWFHbENhWFJ6TzF4dUlDQWdJR2xtSUNoemFHbG1kQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZaUE5SUdJdWRYTm9iRzRvYzJocFpuUXBPMXh1SUNBZ0lDQWdZUzVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0FnSUNBZ1ltaHBJRDBnWWk1M2IzSmtjMXRpTG14bGJtZDBhQ0F0SURGZElId2dNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUhGMWIzUnBaVzUwWEc0Z0lDQWdkbUZ5SUcwZ1BTQmhMbXhsYm1kMGFDQXRJR0l1YkdWdVozUm9PMXh1SUNBZ0lIWmhjaUJ4TzF4dVhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNCeElEMGdibVYzSUVKT0tHNTFiR3dwTzF4dUlDQWdJQ0FnY1M1c1pXNW5kR2dnUFNCdElDc2dNVHRjYmlBZ0lDQWdJSEV1ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvY1M1c1pXNW5kR2dwTzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVdabUlEMGdZUzVqYkc5dVpTZ3BMbDlwYzJoc2JuTjFZbTExYkNoaUxDQXhMQ0J0S1R0Y2JpQWdJQ0JwWmlBb1pHbG1aaTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdScFptWTdYRzRnSUNBZ0lDQnBaaUFvY1NrZ2UxeHVJQ0FnSUNBZ0lDQnhMbmR2Y21SelcyMWRJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2JTQXRJREU3SUdvZ1BqMGdNRHNnYWkwdEtTQjdYRzRnSUNBZ0lDQjJZWElnY1dvZ1BTQW9ZUzUzYjNKa2MxdGlMbXhsYm1kMGFDQXJJR3BkSUh3Z01Da2dLaUF3ZURRd01EQXdNREFnSzF4dUlDQWdJQ0FnSUNBb1lTNTNiM0prYzF0aUxteGxibWQwYUNBcklHb2dMU0F4WFNCOElEQXBPMXh1WEc0Z0lDQWdJQ0F2THlCT1QxUkZPaUFvY1dvZ0x5QmlhR2twSUdseklDZ3dlRE5tWm1abVptWWdLaUF3ZURRd01EQXdNREFnS3lBd2VETm1abVptWm1ZcElDOGdNSGd5TURBd01EQXdJRzFoZUZ4dUlDQWdJQ0FnTHk4Z0tEQjROMlptWm1abVppbGNiaUFnSUNBZ0lIRnFJRDBnVFdGMGFDNXRhVzRvS0hGcUlDOGdZbWhwS1NCOElEQXNJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0FnSUdFdVgybHphR3h1YzNWaWJYVnNLR0lzSUhGcUxDQnFLVHRjYmlBZ0lDQWdJSGRvYVd4bElDaGhMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEZxTFMwN1hHNGdJQ0FnSUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnSUNCaExsOXBjMmhzYm5OMVltMTFiQ2hpTENBeExDQnFLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jU2tnZTF4dUlDQWdJQ0FnSUNCeExuZHZjbVJ6VzJwZElEMGdjV283WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h4S1NCN1hHNGdJQ0FnSUNCeExuTjBjbWx3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR0V1YzNSeWFYQW9LVHRjYmx4dUlDQWdJQzh2SUVSbGJtOXliV0ZzYVhwbFhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluSUNZbUlITm9hV1owSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWh6YUdsbWRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdScGRqb2djU0I4ZkNCdWRXeHNMRnh1SUNBZ0lDQWdiVzlrT2lCaFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJPVDFSRk9pQXhLU0JnYlc5a1pXQWdZMkZ1SUdKbElITmxkQ0IwYnlCZ2JXOWtZQ0IwYnlCeVpYRjFaWE4wSUcxdlpDQnZibXg1TEZ4dUlDQXZMeUFnSUNBZ0lDQjBieUJnWkdsMllDQjBieUJ5WlhGMVpYTjBJR1JwZGlCdmJteDVMQ0J2Y2lCaVpTQmhZbk5sYm5RZ2RHOWNiaUFnTHk4Z0lDQWdJQ0FnY21WeGRXVnpkQ0JpYjNSb0lHUnBkaUFtSUcxdlpGeHVJQ0F2THlBZ0lDQWdJQ0F5S1NCZ2NHOXphWFJwZG1WZ0lHbHpJSFJ5ZFdVZ2FXWWdkVzV6YVdkdVpXUWdiVzlrSUdseklISmxjWFZsYzNSbFpGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiVzlrSUQwZ1puVnVZM1JwYjI0Z1pHbDJiVzlrSUNodWRXMHNJRzF2WkdVc0lIQnZjMmwwYVhabEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NGdWRXMHVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ2JtVjNJRUpPS0RBcExGeHVJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWd3S1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1pHbDJMQ0J0YjJRc0lISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNBbUppQnVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIUm9hWE11Ym1WbktDa3VaR2wyYlc5a0tHNTFiU3dnYlc5a1pTazdYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJQ0U5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnSUNCa2FYWWdQU0J5WlhNdVpHbDJMbTVsWnlncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cFlXUmtLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCa2FYWXNYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JXOWtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTVrYVhadGIyUW9iblZ0TG01bFp5Z3BMQ0J0YjJSbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0cxdlpHVWdJVDA5SUNkdGIyUW5LU0I3WEc0Z0lDQWdJQ0FnSUdScGRpQTlJSEpsY3k1a2FYWXVibVZuS0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nWkdsMkxGeHVJQ0FnSUNBZ0lDQnRiMlE2SUhKbGN5NXRiMlJjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NoMGFHbHpMbTVsWjJGMGFYWmxJQ1lnYm5WdExtNWxaMkYwYVhabEtTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExtNWxaeWdwTENCdGIyUmxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluS1NCN1hHNGdJQ0FnSUNBZ0lHMXZaQ0E5SUhKbGN5NXRiMlF1Ym1WbktDazdYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2wyWlNBbUppQnRiMlF1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdGIyUXVhWE4xWWlodWRXMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2djbVZ6TG1ScGRpeGNiaUFnSUNBZ0lDQWdiVzlrT2lCdGIyUmNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpTQmhkQ0IwYUdseklIQnZhVzUwWEc1Y2JpQWdJQ0F2THlCVGRISnBjQ0JpYjNSb0lHNTFiV0psY25NZ2RHOGdZWEJ3Y205NGFXMWhkR1VnYzJocFpuUWdkbUZzZFdWY2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQStJSFJvYVhNdWJHVnVaM1JvSUh4OElIUm9hWE11WTIxd0tHNTFiU2tnUENBd0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUc1bGR5QkNUaWd3S1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUIwYUdselhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGWmxjbmtnYzJodmNuUWdjbVZrZFdOMGFXOXVYRzRnSUNBZ2FXWWdLRzUxYlM1c1pXNW5kR2dnUFQwOUlERXBJSHRjYmlBZ0lDQWdJR2xtSUNodGIyUmxJRDA5UFNBblpHbDJKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJQ0FnYlc5a09pQnVkV3hzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElEMDlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUdScGRqb2diblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWgwYUdsekxtMXZaRzRvYm5WdExuZHZjbVJ6V3pCZEtTbGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9kR2hwY3k1dGIyUnVLRzUxYlM1M2IzSmtjMXN3WFNrcFhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNiM0prUkdsMktHNTFiU3dnYlc5a1pTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1JtbHVaQ0JnZEdocGMyQWdMeUJnYm5WdFlGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJJRDBnWm5WdVkzUnBiMjRnWkdsMklDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a2FYWnRiMlFvYm5WdExDQW5aR2wySnl3Z1ptRnNjMlVwTG1ScGRqdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJR0IwYUdsellDQWxJR0J1ZFcxZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGIyUWdQU0JtZFc1amRHbHZiaUJ0YjJRZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGRtMXZaQ2h1ZFcwc0lDZHRiMlFuTENCbVlXeHpaU2t1Ylc5a08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWJXOWtJRDBnWm5WdVkzUnBiMjRnZFcxdlpDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpHbDJiVzlrS0c1MWJTd2dKMjF2WkNjc0lIUnlkV1VwTG0xdlpEdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJRkp2ZFc1a0tHQjBhR2x6WUNBdklHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1WkdsMlVtOTFibVFnUFNCbWRXNWpkR2x2YmlCa2FYWlNiM1Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUdSdElEMGdkR2hwY3k1a2FYWnRiMlFvYm5WdEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaU0F0SUdWNFlXTjBJR1JwZG1semFXOXVYRzRnSUNBZ2FXWWdLR1J0TG0xdlpDNXBjMXBsY204b0tTa2djbVYwZFhKdUlHUnRMbVJwZGp0Y2JseHVJQ0FnSUhaaGNpQnRiMlFnUFNCa2JTNWthWFl1Ym1WbllYUnBkbVVnSVQwOUlEQWdQeUJrYlM1dGIyUXVhWE4xWWlodWRXMHBJRG9nWkcwdWJXOWtPMXh1WEc0Z0lDQWdkbUZ5SUdoaGJHWWdQU0J1ZFcwdWRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlISXlJRDBnYm5WdExtRnVaR3h1S0RFcE8xeHVJQ0FnSUhaaGNpQmpiWEFnUFNCdGIyUXVZMjF3S0doaGJHWXBPMXh1WEc0Z0lDQWdMeThnVW05MWJtUWdaRzkzYmx4dUlDQWdJR2xtSUNoamJYQWdQQ0F3SUh4OElISXlJRDA5UFNBeElDWW1JR050Y0NBOVBUMGdNQ2tnY21WMGRYSnVJR1J0TG1ScGRqdGNibHh1SUNBZ0lDOHZJRkp2ZFc1a0lIVndYRzRnSUNBZ2NtVjBkWEp1SUdSdExtUnBkaTV1WldkaGRHbDJaU0FoUFQwZ01DQS9JR1J0TG1ScGRpNXBjM1ZpYmlneEtTQTZJR1J0TG1ScGRpNXBZV1JrYmlneEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJXOWtiaUE5SUdaMWJtTjBhVzl1SUcxdlpHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BEMGdNSGd6Wm1abVptWm1LVHRjYmlBZ0lDQjJZWElnY0NBOUlDZ3hJRHc4SURJMktTQWxJRzUxYlR0Y2JseHVJQ0FnSUhaaGNpQmhZMk1nUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0JoWTJNZ1BTQW9jQ0FxSUdGall5QXJJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2twSUNVZ2JuVnRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCaFkyTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNHRjR3hoWTJVZ1pHbDJhWE5wYjI0Z1lua2diblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFpHbDJiaUE5SUdaMWJtTjBhVzl1SUdsa2FYWnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEdzlJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllU0FxSURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvZHlBdklHNTFiU2tnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lDVWdiblZ0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZG00Z1BTQm1kVzVqZEdsdmJpQmthWFp1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxrYVhadUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVZuWTJRZ1BTQm1kVzVqZEdsdmJpQmxaMk5rSUNod0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hBdWJtVm5ZWFJwZG1VZ1BUMDlJREFwTzF4dUlDQWdJR0Z6YzJWeWRDZ2hjQzVwYzFwbGNtOG9LU2s3WEc1Y2JpQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNN1hHNGdJQ0FnZG1GeUlIa2dQU0J3TG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0JwWmlBb2VDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1ZFcxdlpDaHdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1WTJ4dmJtVW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCSUNvZ2VDQXJJRUlnS2lCNUlEMGdlRnh1SUNBZ0lIWmhjaUJCSUQwZ2JtVjNJRUpPS0RFcE8xeHVJQ0FnSUhaaGNpQkNJRDBnYm1WM0lFSk9LREFwTzF4dVhHNGdJQ0FnTHk4Z1F5QXFJSGdnS3lCRUlDb2dlU0E5SUhsY2JpQWdJQ0IyWVhJZ1F5QTlJRzVsZHlCQ1RpZ3dLVHRjYmlBZ0lDQjJZWElnUkNBOUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lIWmhjaUJuSUQwZ01EdGNibHh1SUNBZ0lIZG9hV3hsSUNoNExtbHpSWFpsYmlncElDWW1JSGt1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUhndWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ2VTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQXJLMmM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhsd0lEMGdlUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUI0Y0NBOUlIZ3VZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIZG9hV3hsSUNnaGVDNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBc0lHbHRJRDBnTVRzZ0tIZ3VkMjl5WkhOYk1GMGdKaUJwYlNrZ1BUMDlJREFnSmlZZ2FTQThJREkyT3lBcksya3NJR2x0SUR3OFBTQXhLVHRjYmlBZ0lDQWdJR2xtSUNocElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbDFjMmh5YmlocEtUdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHa3RMU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1FTNXBjMDlrWkNncElIeDhJRUl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdRUzVwWVdSa0tIbHdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFSXVhWE4xWWloNGNDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdRUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ1FpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLSGt1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjVMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ReTVwYzA5a1pDZ3BJSHg4SUVRdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUXk1cFlXUmtLSGx3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJRVF1YVhOMVlpaDRjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnUXk1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdSQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLSGd1WTIxd0tIa3BJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdlQzVwYzNWaUtIa3BPMXh1SUNBZ0lDQWdJQ0JCTG1semRXSW9ReWs3WEc0Z0lDQWdJQ0FnSUVJdWFYTjFZaWhFS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYTjFZaWg0S1R0Y2JpQWdJQ0FnSUNBZ1F5NXBjM1ZpS0VFcE8xeHVJQ0FnSUNBZ0lDQkVMbWx6ZFdJb1FpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdFNklFTXNYRzRnSUNBZ0lDQmlPaUJFTEZ4dUlDQWdJQ0FnWjJOa09pQjVMbWwxYzJoc2JpaG5LVnh1SUNBZ0lIMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHaHBjeUJwY3lCeVpXUjFZMlZrSUdsdVkyRnlibUYwYVc5dUlHOW1JSFJvWlNCaWFXNWhjbmtnUlVWQlhHNGdJQzh2SUdGaWIzWmxMQ0JrWlhOcFoyNWhkR1ZrSUhSdklHbHVkbVZ5ZENCdFpXMWlaWEp6SUc5bUlIUm9aVnh1SUNBdkx5QmZjSEpwYldWZklHWnBaV3hrY3lCR0tIQXBJR0YwSUdFZ2JXRjRhVzFoYkNCemNHVmxaRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1ZG0xd0lEMGdablZ1WTNScGIyNGdYMmx1ZG0xd0lDaHdLU0I3WEc0Z0lDQWdZWE56WlhKMEtIQXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUdGemMyVnlkQ2doY0M1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTTdYRzRnSUNBZ2RtRnlJR0lnUFNCd0xtTnNiMjVsS0NrN1hHNWNiaUFnSUNCcFppQW9ZUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdFdWRXMXZaQ2h3S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZU0E5SUdFdVkyeHZibVVvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2VERWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUhneUlEMGdibVYzSUVKT0tEQXBPMXh1WEc0Z0lDQWdkbUZ5SUdSbGJIUmhJRDBnWWk1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLR0V1WTIxd2JpZ3hLU0ErSURBZ0ppWWdZaTVqYlhCdUtERXBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUdsdElEMGdNVHNnS0dFdWQyOXlaSE5iTUYwZ0ppQnBiU2tnUFQwOUlEQWdKaVlnYVNBOElESTJPeUFySzJrc0lHbHRJRHc4UFNBeEtUdGNiaUFnSUNBZ0lHbG1JQ2hwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1sMWMyaHliaWhwS1R0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0drdExTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZURFdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZURFdWFXRmtaQ2hrWld4MFlTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlREV1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3TENCcWJTQTlJREU3SUNoaUxuZHZjbVJ6V3pCZElDWWdhbTBwSUQwOVBTQXdJQ1ltSUdvZ1BDQXlOanNnS3l0cUxDQnFiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYWlBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnWWk1cGRYTm9jbTRvYWlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocUxTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hneUxtbHpUMlJrS0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhneUxtbGhaR1FvWkdWc2RHRXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSGd5TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWVM1amJYQW9ZaWtnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1semRXSW9ZaWs3WEc0Z0lDQWdJQ0FnSUhneExtbHpkV0lvZURJcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBjM1ZpS0dFcE8xeHVJQ0FnSUNBZ0lDQjRNaTVwYzNWaUtIZ3hLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaGhMbU50Y0c0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjRNanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvY21WekxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFXRmtaQ2h3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVuWTJRZ1BTQm1kVzVqZEdsdmJpQm5ZMlFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2JuVnRMbUZpY3lncE8xeHVJQ0FnSUdsbUlDaHVkVzB1YVhOYVpYSnZLQ2twSUhKbGRIVnliaUIwYUdsekxtRmljeWdwTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0IwYUdsekxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0JoTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCaUxtNWxaMkYwYVhabElEMGdNRHRjYmx4dUlDQWdJQzh2SUZKbGJXOTJaU0JqYjIxdGIyNGdabUZqZEc5eUlHOW1JSFIzYjF4dUlDQWdJR1p2Y2lBb2RtRnlJSE5vYVdaMElEMGdNRHNnWVM1cGMwVjJaVzRvS1NBbUppQmlMbWx6UlhabGJpZ3BPeUJ6YUdsbWRDc3JLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUdJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIZG9hV3hsSUNoaExtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQWdJR0V1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnZDJocGJHVWdLR0l1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCeUlEMGdZUzVqYlhBb1lpazdYRzRnSUNBZ0lDQnBaaUFvY2lBOElEQXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UzZGhjQ0JnWVdBZ1lXNWtJR0JpWUNCMGJ5QnRZV3RsSUdCaFlDQmhiSGRoZVhNZ1ltbG5aMlZ5SUhSb1lXNGdZR0pnWEc0Z0lDQWdJQ0FnSUhaaGNpQjBJRDBnWVR0Y2JpQWdJQ0FnSUNBZ1lTQTlJR0k3WEc0Z0lDQWdJQ0FnSUdJZ1BTQjBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h5SUQwOVBTQXdJSHg4SUdJdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWVM1cGMzVmlLR0lwTzF4dUlDQWdJSDBnZDJocGJHVWdLSFJ5ZFdVcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUdJdWFYVnphR3h1S0hOb2FXWjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpiblpsY25RZ2JuVnRZbVZ5SUdsdUlIUm9aU0JtYVdWc1pDQkdLRzUxYlNsY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWRtMGdQU0JtZFc1amRHbHZiaUJwYm5adElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFoyTmtLRzUxYlNrdVlTNTFiVzlrS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpSWFpsYmlBOUlHWjFibU4wYVc5dUlHbHpSWFpsYmlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbmR2Y21Seld6QmRJQ1lnTVNrZ1BUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6VDJSa0lEMGdablZ1WTNScGIyNGdhWE5QWkdRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FtSURFcElEMDlQU0F4TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCbWFYSnpkQ0IzYjNKa0lHRnVaQ0J1ZFcxY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1GdVpHeHVJRDBnWm5WdVkzUnBiMjRnWVc1a2JHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuZHZjbVJ6V3pCZElDWWdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRWx1WTNKbGJXVnVkQ0JoZENCMGFHVWdZbWwwSUhCdmMybDBhVzl1SUdsdUxXeHBibVZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUpwYm1OdUlEMGdablZ1WTNScGIyNGdZbWx1WTI0Z0tHSnBkQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlpYaHdZVzVrS0hNZ0t5QXhLVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYzEwZ2ZEMGdjVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGa1pDQmlhWFFnWVc1a0lIQnliM0JoWjJGMFpTd2dhV1lnYm1WbFpHVmtYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdjVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnY3pzZ1kyRnljbmtnSVQwOUlEQWdKaVlnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNCM0lDczlJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtQaUF5Tmp0Y2JpQWdJQ0FnSUhjZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlIYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpXbVZ5YnlBOUlHWjFibU4wYVc5dUlHbHpXbVZ5YnlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnRjRzRnUFNCbWRXNWpkR2x2YmlCamJYQnVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdibVZuWVhScGRtVWdQU0J1ZFcwZ1BDQXdPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdJVzVsWjJGMGFYWmxLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdibVZuWVhScGRtVXBJSEpsZEhWeWJpQXhPMXh1WEc0Z0lDQWdkR2hwY3k1emRISnBjQ2dwTzF4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcFppQW9ibVZuWVhScGRtVXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdElEMGdMVzUxYlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJTQThQU0F3ZURObVptWm1abVlzSUNkT2RXMWlaWElnYVhNZ2RHOXZJR0pwWnljcE8xeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUNBZ2NtVnpJRDBnZHlBOVBUMGdiblZ0SUQ4Z01DQTZJSGNnUENCdWRXMGdQeUF0TVNBNklERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdMWEpsY3lCOElEQTdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCRGIyMXdZWEpsSUhSM2J5QnVkVzFpWlhKeklHRnVaQ0J5WlhSMWNtNDZYRzRnSUM4dklERWdMU0JwWmlCZ2RHaHBjMkFnUGlCZ2JuVnRZRnh1SUNBdkx5QXdJQzBnYVdZZ1lIUm9hWE5nSUQwOUlHQnVkVzFnWEc0Z0lDOHZJQzB4SUMwZ2FXWWdZSFJvYVhOZ0lEd2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdGNDQTlJR1oxYm1OMGFXOXVJR050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuVmpiWEFvYm5WdEtUdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnY21WMGRYSnVJQzF5WlhNZ2ZDQXdPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZXNXphV2R1WldRZ1kyOXRjR0Z5YVhOdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRXTnRjQ0E5SUdaMWJtTjBhVzl1SUhWamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRjBJSFJvYVhNZ2NHOXBiblFnWW05MGFDQnVkVzFpWlhKeklHaGhkbVVnZEdobElITmhiV1VnYzJsbmJseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4SUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBdE1UdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdZU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1WEc0Z0lDQWdJQ0JwWmlBb1lTQTlQVDBnWWlrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNCcFppQW9ZU0E4SUdJcElIdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ0xURTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUGlCaUtTQjdYRzRnSUNBZ0lDQWdJSEpsY3lBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1J1SUQwZ1puVnVZM1JwYjI0Z1ozUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEJ1S0c1MWJTa2dQVDA5SURFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMElEMGdablZ1WTNScGIyNGdaM1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBeE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVnVJRDBnWm5WdVkzUnBiMjRnWjNSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlNBOUlHWjFibU4wYVc5dUlHZDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQajBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhSdUlEMGdablZ1WTNScGIyNGdiSFJ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkQ0E5SUdaMWJtTjBhVzl1SUd4MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdMVEU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlc0Z1BTQm1kVzVqZEdsdmJpQnNkR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxJRDBnWm5WdVkzUnBiMjRnYkhSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOFBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjVzRnUFNCbWRXNWpkR2x2YmlCbGNXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SURBN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRU0J5WldSMVkyVWdZMjl1ZEdWNGRDd2dZMjkxYkdRZ1ltVWdkWE5wYm1jZ2JXOXVkR2R2YldWeWVTQnZjaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMQ0JrWlhCbGJtUnBibWRjYmlBZ0x5OGdiMjRnZEdobElHQnRZQ0JwZEhObGJHWXVYRzRnSUM4dlhHNGdJRUpPTG5KbFpDQTlJR1oxYm1OMGFXOXVJSEpsWkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJTWldRb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlTWldRZ1BTQm1kVzVqZEdsdmJpQjBiMUpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ2NtVjBkWEp1SUdOMGVDNWpiMjUyWlhKMFZHOG9kR2hwY3lrdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxU1pXUWdQU0JtZFc1amRHbHZiaUJtY205dFVtVmtJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2RtY205dFVtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnVkVzFpWlhKeklHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtTnZiblpsY25SR2NtOXRLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZlptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQmZabTl5WTJWU1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ1kzUjRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1iM0pqWlZKbFpDQTlJR1oxYm1OMGFXOXVJR1p2Y21ObFVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkJaR1FnUFNCbWRXNWpkR2x2YmlCeVpXUkJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WVdSa0tIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxCWkdRZ1BTQm1kVzVqZEdsdmJpQnlaV1JKUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSSlFXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBZV1JrS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTjFZaUE5SUdaMWJtTjBhVzl1SUhKbFpGTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6ZFdJb2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVk4xWWlBOUlHWjFibU4wYVc5dUlISmxaRWxUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkVsVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtbHpkV0lvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1UyaHNJRDBnWm5WdVkzUnBiMjRnY21Wa1UyaHNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRhR3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbk5vYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUk5kV3dnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRTExYkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TWloMGFHbHpMQ0J1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVTExYkNBOUlHWjFibU4wYVc5dUlISmxaRWxOZFd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkUxMWJDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1paDBhR2x6TENCdWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNpQTlJR1oxYm1OMGFXOXVJSEpsWkZOeGNpQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXpjWElvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JKVTNGeUlDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBjM0Z5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTnhkV0Z5WlNCeWIyOTBJRzkyWlhJZ2NGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5ZENBOUlHWjFibU4wYVc5dUlISmxaRk54Y25RZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y25RZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTnhjblFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnlaV1JKYm5adElDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKYm5adElIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBiblp0S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkFnSlNCZ2NtVmtJRzF2WkhWc2IyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRTVsWnlBOUlHWjFibU4wYVc5dUlISmxaRTVsWnlBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUbVZuSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1dVpXY29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGQnZkeUE5SUdaMWJtTjBhVzl1SUhKbFpGQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrSUNZbUlDRnVkVzB1Y21Wa0xDQW5jbVZrVUc5M0tHNXZjbTFoYkU1MWJTa25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjRzkzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhKcGJXVWdiblZ0WW1WeWN5QjNhWFJvSUdWbVptbGphV1Z1ZENCeVpXUjFZM1JwYjI1Y2JpQWdkbUZ5SUhCeWFXMWxjeUE5SUh0Y2JpQWdJQ0JyTWpVMk9pQnVkV3hzTEZ4dUlDQWdJSEF5TWpRNklHNTFiR3dzWEc0Z0lDQWdjREU1TWpvZ2JuVnNiQ3hjYmlBZ0lDQndNalUxTVRrNklHNTFiR3hjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjMlYxWkc4dFRXVnljMlZ1Ym1VZ2NISnBiV1ZjYmlBZ1puVnVZM1JwYjI0Z1RWQnlhVzFsSUNodVlXMWxMQ0J3S1NCN1hHNGdJQ0FnTHk4Z1VDQTlJRElnWGlCT0lDMGdTMXh1SUNBZ0lIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnZEdocGN5NXdJRDBnYm1WM0lFSk9LSEFzSURFMktUdGNiaUFnSUNCMGFHbHpMbTRnUFNCMGFHbHpMbkF1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZEdocGN5NXJJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxtNHBMbWx6ZFdJb2RHaHBjeTV3S1R0Y2JseHVJQ0FnSUhSb2FYTXVkRzF3SUQwZ2RHaHBjeTVmZEcxd0tDazdYRzRnSUgxY2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbDkwYlhBZ1BTQm1kVzVqZEdsdmJpQmZkRzF3SUNncElIdGNiaUFnSUNCMllYSWdkRzF3SUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lIUnRjQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2hOWVhSb0xtTmxhV3dvZEdocGN5NXVJQzhnTVRNcEtUdGNiaUFnSUNCeVpYUjFjbTRnZEcxd08xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVhWEpsWkhWalpTQTlJR1oxYm1OMGFXOXVJR2x5WldSMVkyVWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRnpjM1Z0WlhNZ2RHaGhkQ0JnYm5WdFlDQnBjeUJzWlhOeklIUm9ZVzRnWUZCZU1tQmNiaUFnSUNBdkx5QnVkVzBnUFNCSVNTQXFJQ2d5SUY0Z1RpQXRJRXNwSUNzZ1NFa2dLaUJMSUNzZ1RFOGdQU0JJU1NBcUlFc2dLeUJNVHlBb2JXOWtJRkFwWEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzA3WEc0Z0lDQWdkbUZ5SUhKc1pXNDdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IwYUdsekxuTndiR2wwS0hJc0lIUm9hWE11ZEcxd0tUdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHRkV3hMS0hJcE8xeHVJQ0FnSUNBZ2NpQTlJSEl1YVdGa1pDaDBhR2x6TG5SdGNDazdYRzRnSUNBZ0lDQnliR1Z1SUQwZ2NpNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaHliR1Z1SUQ0Z2RHaHBjeTV1S1R0Y2JseHVJQ0FnSUhaaGNpQmpiWEFnUFNCeWJHVnVJRHdnZEdocGN5NXVJRDhnTFRFZ09pQnlMblZqYlhBb2RHaHBjeTV3S1R0Y2JpQWdJQ0JwWmlBb1kyMXdJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhJdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnRjQ0ErSURBcElIdGNiaUFnSUNBZ0lISXVhWE4xWWloMGFHbHpMbkFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlMbk4wY21sd0tDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMEtTQjdYRzRnSUNBZ2FXNXdkWFF1YVhWemFISnVLSFJvYVhNdWJpd2dNQ3dnYjNWMEtUdGNiaUFnZlR0Y2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbWx0ZFd4TElEMGdablZ1WTNScGIyNGdhVzExYkVzZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1YVcxMWJDaDBhR2x6TG1zcE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJRXN5TlRZZ0tDa2dlMXh1SUNBZ0lFMVFjbWx0WlM1allXeHNLRnh1SUNBZ0lDQWdkR2hwY3l4Y2JpQWdJQ0FnSUNkck1qVTJKeXhjYmlBZ0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptTXlaaWNwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0VzeU5UWXNJRTFRY21sdFpTazdYRzVjYmlBZ1N6STFOaTV3Y205MGIzUjVjR1V1YzNCc2FYUWdQU0JtZFc1amRHbHZiaUJ6Y0d4cGRDQW9hVzV3ZFhRc0lHOTFkSEIxZENrZ2UxeHVJQ0FnSUM4dklESTFOaUE5SURrZ0tpQXlOaUFySURJeVhHNGdJQ0FnZG1GeUlHMWhjMnNnUFNBd2VETm1abVptWmp0Y2JseHVJQ0FnSUhaaGNpQnZkWFJNWlc0Z1BTQk5ZWFJvTG0xcGJpaHBibkIxZEM1c1pXNW5kR2dzSURrcE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2IzVjBUR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJRzkxZEhCMWRDNTNiM0prYzF0cFhTQTlJR2x1Y0hWMExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0J2ZFhSd2RYUXViR1Z1WjNSb0lEMGdiM1YwVEdWdU8xeHVYRzRnSUNBZ2FXWWdLR2x1Y0hWMExteGxibWQwYUNBOFBTQTVLU0I3WEc0Z0lDQWdJQ0JwYm5CMWRDNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JwYm5CMWRDNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGTm9hV1owSUdKNUlEa2diR2x0WW5OY2JpQWdJQ0IyWVhJZ2NISmxkaUE5SUdsdWNIVjBMbmR2Y21Seld6bGRPMXh1SUNBZ0lHOTFkSEIxZEM1M2IzSmtjMXR2ZFhSd2RYUXViR1Z1WjNSb0t5dGRJRDBnY0hKbGRpQW1JRzFoYzJzN1hHNWNiaUFnSUNCbWIzSWdLR2tnUFNBeE1Ec2dhU0E4SUdsdWNIVjBMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdibVY0ZENBOUlHbHVjSFYwTG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXMmtnTFNBeE1GMGdQU0FvS0c1bGVIUWdKaUJ0WVhOcktTQThQQ0EwS1NCOElDaHdjbVYySUQ0K1BpQXlNaWs3WEc0Z0lDQWdJQ0J3Y21WMklEMGdibVY0ZER0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpsZGlBK1BqNDlJREl5TzF4dUlDQWdJR2x1Y0hWMExuZHZjbVJ6VzJrZ0xTQXhNRjBnUFNCd2NtVjJPMXh1SUNBZ0lHbG1JQ2h3Y21WMklEMDlQU0F3SUNZbUlHbHVjSFYwTG14bGJtZDBhQ0ErSURFd0tTQjdYRzRnSUNBZ0lDQnBibkIxZEM1c1pXNW5kR2dnTFQwZ01UQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0E1TzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCTE1qVTJMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCTElEMGdNSGd4TURBd01EQXpaREVnUFNCYklEQjROREFzSURCNE0yUXhJRjFjYmlBZ0lDQnVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhRjBnUFNBd08xeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDc2dNVjBnUFNBd08xeHVJQ0FnSUc1MWJTNXNaVzVuZEdnZ0t6MGdNanRjYmx4dUlDQWdJQzh2SUdKdmRXNWtaV1FnWVhRNklEQjROREFnS2lBd2VETm1abVptWm1ZZ0t5QXdlRE5rTUNBOUlEQjRNVEF3TURBd016a3dYRzRnSUNBZ2RtRnlJR3h2SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCdWRXMHVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYkc4Z0t6MGdkeUFxSURCNE0yUXhPMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JzYnlBOUlIY2dLaUF3ZURRd0lDc2dLQ2hzYnlBdklEQjROREF3TURBd01Da2dmQ0F3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR3hsYm1kMGFDQnlaV1IxWTNScGIyNWNiaUFnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbXhsYm1kMGFDMHRPMXh1SUNBZ0lDQWdhV1lnS0c1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdExteGxibWQwYUMwdE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lHWjFibU4wYVc5dUlGQXlNalFnS0NrZ2UxeHVJQ0FnSUUxUWNtbHRaUzVqWVd4c0tGeHVJQ0FnSUNBZ2RHaHBjeXhjYmlBZ0lDQWdJQ2R3TWpJMEp5eGNiaUFnSUNBZ0lDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQXdNREF3TURBd01DQXdNREF3TURBd01DQXdNREF3TURBd01TY3BPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRkF5TWpRc0lFMVFjbWx0WlNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURFNU1pQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXhPVEluTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVpsSUdabVptWm1abVptSUdabVptWm1abVptSnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VERTVNaXdnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNalUxTVRrZ0tDa2dlMXh1SUNBZ0lDOHZJRElnWGlBeU5UVWdMU0F4T1Z4dUlDQWdJRTFRY21sdFpTNWpZV3hzS0Z4dUlDQWdJQ0FnZEdocGN5eGNiaUFnSUNBZ0lDY3lOVFV4T1Njc1hHNGdJQ0FnSUNBbk4yWm1abVptWm1abVptWm1abVptWmlCbVptWm1abVptWm1abVptWm1abVptSUdabVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWmxaQ2NwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0ZBeU5UVXhPU3dnVFZCeWFXMWxLVHRjYmx4dUlDQlFNalUxTVRrdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXpYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzUxYlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUdocElEMGdLRzUxYlM1M2IzSmtjMXRwWFNCOElEQXBJQ29nTUhneE15QXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RtRnlJR3h2SUQwZ2FHa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JvYVNBK1BqNDlJREkyTzF4dVhHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnYUdrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoallYSnllU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dySzEwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkZlSEJ2Y25SbFpDQnRiM04wYkhrZ1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTXNJSFZ6WlNCd2JHRnBiaUJ1WVcxbElHbHVjM1JsWVdSY2JpQWdRazR1WDNCeWFXMWxJRDBnWm5WdVkzUnBiMjRnY0hKcGJXVWdLRzVoYldVcElIdGNiaUFnSUNBdkx5QkRZV05vWldRZ2RtVnljMmx2YmlCdlppQndjbWx0WlZ4dUlDQWdJR2xtSUNod2NtbHRaWE5iYm1GdFpWMHBJSEpsZEhWeWJpQndjbWx0WlhOYmJtRnRaVjA3WEc1Y2JpQWdJQ0IyWVhJZ2NISnBiV1U3WEc0Z0lDQWdhV1lnS0c1aGJXVWdQVDA5SUNkck1qVTJKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1N6STFOaWdwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm1GdFpTQTlQVDBnSjNBeU1qUW5LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qSTBLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WVcxbElEMDlQU0FuY0RFNU1pY3BJSHRjYmlBZ0lDQWdJSEJ5YVcxbElEMGdibVYzSUZBeE9USW9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVoYldVZ1BUMDlJQ2R3TWpVMU1Ua25LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qVTFNVGtvS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFZibXR1YjNkdUlIQnlhVzFsSUNjZ0t5QnVZVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpwYldWelcyNWhiV1ZkSUQwZ2NISnBiV1U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjSEpwYldVN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRbUZ6WlNCeVpXUjFZM1JwYjI0Z1pXNW5hVzVsWEc0Z0lDOHZYRzRnSUdaMWJtTjBhVzl1SUZKbFpDQW9iU2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYlNBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJSFpoY2lCd2NtbHRaU0E5SUVKT0xsOXdjbWx0WlNodEtUdGNiaUFnSUNBZ0lIUm9hWE11YlNBOUlIQnlhVzFsTG5BN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YVcxbElEMGdjSEpwYldVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHRMbWQwYmlneEtTd2dKMjF2WkhWc2RYTWdiWFZ6ZENCaVpTQm5jbVZoZEdWeUlIUm9ZVzRnTVNjcE8xeHVJQ0FnSUNBZ2RHaHBjeTV0SUQwZ2JUdGNiaUFnSUNBZ0lIUm9hWE11Y0hKcGJXVWdQU0J1ZFd4c08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WDNabGNtbG1lVEVnUFNCbWRXNWpkR2x2YmlCZmRtVnlhV1o1TVNBb1lTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoaExtNWxaMkYwYVhabElEMDlQU0F3TENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQndiM05wZEdsMlpYTW5LVHRjYmlBZ0lDQmhjM05sY25Rb1lTNXlaV1FzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVmZG1WeWFXWjVNaUE5SUdaMWJtTjBhVzl1SUY5MlpYSnBabmt5SUNoaExDQmlLU0I3WEc0Z0lDQWdZWE56WlhKMEtDaGhMbTVsWjJGMGFYWmxJSHdnWWk1dVpXZGhkR2wyWlNrZ1BUMDlJREFzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabGN5Y3BPMXh1SUNBZ0lHRnpjMlZ5ZENoaExuSmxaQ0FtSmlCaExuSmxaQ0E5UFQwZ1lpNXlaV1FzWEc0Z0lDQWdJQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzF2WkNBOUlHWjFibU4wYVc5dUlHbHRiMlFnS0dFcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1d2NtbHRaU2tnY21WMGRYSnVJSFJvYVhNdWNISnBiV1V1YVhKbFpIVmpaU2hoS1M1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlHRXVkVzF2WkNoMGFHbHpMbTBwTGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvWVNrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTB1YzNWaUtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtRmtaQ0E5SUdaMWJtTjBhVzl1SUdGa1pDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lTNWhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1saFpHUWdQU0JtZFc1amRHbHZiaUJwWVdSa0lDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExtbGhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWMzVmlJRDBnWm5WdVkzUnBiMjRnYzNWaUlDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExuTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5Ob2JDQTlJR1oxYm1OMGFXOXVJSE5vYkNBb1lTd2diblZ0S1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1TaGhLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHRXVkWE5vYkc0b2JuVnRLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaGhMbWx0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXViWFZzSUQwZ1puVnVZM1JwYjI0Z2JYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWJYVnNLR0lwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1semNYSWdQU0JtZFc1amRHbHZiaUJwYzNGeUlDaGhLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxMWJDaGhMQ0JoTG1Oc2IyNWxLQ2twTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YzNGeUlEMGdablZ1WTNScGIyNGdjM0Z5SUNoaEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0dFc0lHRXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjM0Z5ZENBOUlHWjFibU4wYVc5dUlITnhjblFnS0dFcElIdGNiaUFnSUNCcFppQW9ZUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJR0V1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSFpoY2lCdGIyUXpJRDBnZEdocGN5NXRMbUZ1Wkd4dUtETXBPMXh1SUNBZ0lHRnpjMlZ5ZENodGIyUXpJQ1VnTWlBOVBUMGdNU2s3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJWY2JpQWdJQ0JwWmlBb2JXOWtNeUE5UFQwZ015a2dlMXh1SUNBZ0lDQWdkbUZ5SUhCdmR5QTlJSFJvYVhNdWJTNWhaR1FvYm1WM0lFSk9LREVwS1M1cGRYTm9jbTRvTWlrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdiM2NvWVN3Z2NHOTNLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJVYjI1bGJHeHBMVk5vWVc1cmN5QmhiR2R2Y21sMGFHMGdLRlJ2ZEdGc2JIa2dkVzV2Y0hScGJXbDZaV1FnWVc1a0lITnNiM2NwWEc0Z0lDQWdMeTljYmlBZ0lDQXZMeUJHYVc1a0lGRWdZVzVrSUZNc0lIUm9ZWFFnVVNBcUlESWdYaUJUSUQwZ0tGQWdMU0F4S1Z4dUlDQWdJSFpoY2lCeElEMGdkR2hwY3k1dExuTjFZbTRvTVNrN1hHNGdJQ0FnZG1GeUlITWdQU0F3TzF4dUlDQWdJSGRvYVd4bElDZ2hjUzVwYzFwbGNtOG9LU0FtSmlCeExtRnVaR3h1S0RFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCekt5czdYRzRnSUNBZ0lDQnhMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ1lYTnpaWEowS0NGeExtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUJ2Ym1VZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkbUZ5SUc1UGJtVWdQU0J2Ym1VdWNtVmtUbVZuS0NrN1hHNWNiaUFnSUNBdkx5QkdhVzVrSUhGMVlXUnlZWFJwWXlCdWIyNHRjbVZ6YVdSMVpWeHVJQ0FnSUM4dklFNVBWRVU2SUUxaGVDQnBjeUJ6ZFdOb0lHSmxZMkYxYzJVZ2IyWWdaMlZ1WlhKaGJHbDZaV1FnVW1sbGJXRnViaUJvZVhCdmRHaGxjMmx6TGx4dUlDQWdJSFpoY2lCc2NHOTNJRDBnZEdocGN5NXRMbk4xWW00b01Ta3VhWFZ6YUhKdUtERXBPMXh1SUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTV0TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUhvZ1BTQnVaWGNnUWs0b01pQXFJSG9nS2lCNktTNTBiMUpsWkNoMGFHbHpLVHRjYmx4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG5CdmR5aDZMQ0JzY0c5M0tTNWpiWEFvYms5dVpTa2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIb3VjbVZrU1VGa1pDaHVUMjVsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdWNHOTNLSG9zSUhFcE8xeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXdiM2NvWVN3Z2NTNWhaR1J1S0RFcExtbDFjMmh5YmlneEtTazdYRzRnSUNBZ2RtRnlJSFFnUFNCMGFHbHpMbkJ2ZHloaExDQnhLVHRjYmlBZ0lDQjJZWElnYlNBOUlITTdYRzRnSUNBZ2QyaHBiR1VnS0hRdVkyMXdLRzl1WlNrZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBiWEFnUFNCME8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUhSdGNDNWpiWEFvYjI1bEtTQWhQVDBnTURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSdGNDQTlJSFJ0Y0M1eVpXUlRjWElvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdGemMyVnlkQ2hwSUR3Z2JTazdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11Y0c5M0tHTXNJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9iU0F0SUdrZ0xTQXhLU2s3WEc1Y2JpQWdJQ0FnSUhJZ1BTQnlMbkpsWkUxMWJDaGlLVHRjYmlBZ0lDQWdJR01nUFNCaUxuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ2RDQTlJSFF1Y21Wa1RYVnNLR01wTzF4dUlDQWdJQ0FnYlNBOUlHazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJuWnRJRDBnWm5WdVkzUnBiMjRnYVc1MmJTQW9ZU2tnZTF4dUlDQWdJSFpoY2lCcGJuWWdQU0JoTGw5cGJuWnRjQ2gwYUdsekxtMHBPMXh1SUNBZ0lHbG1JQ2hwYm5ZdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdsdWRpNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJXOWtLR2x1ZGlrdWNtVmtUbVZuS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9hVzUyS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV3YjNjZ1BTQm1kVzVqZEdsdmJpQndiM2NnS0dFc0lHNTFiU2tnZTF4dUlDQWdJR2xtSUNodWRXMHVhWE5hWlhKdktDa3BJSEpsZEhWeWJpQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdhV1lnS0c1MWJTNWpiWEJ1S0RFcElEMDlQU0F3S1NCeVpYUjFjbTRnWVM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZG1GeUlIZHBibVJ2ZDFOcGVtVWdQU0EwTzF4dUlDQWdJSFpoY2lCM2JtUWdQU0J1WlhjZ1FYSnlZWGtvTVNBOFBDQjNhVzVrYjNkVGFYcGxLVHRjYmlBZ0lDQjNibVJiTUYwZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkMjVrV3pGZElEMGdZVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTWpzZ2FTQThJSGR1WkM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkMjVrVzJsZElEMGdkR2hwY3k1dGRXd29kMjVrVzJrZ0xTQXhYU3dnWVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUhkdVpGc3dYVHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SURBN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJSFpoY2lCemRHRnlkQ0E5SUc1MWJTNWlhWFJNWlc1bmRHZ29LU0FsSURJMk8xeHVJQ0FnSUdsbUlDaHpkR0Z5ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYzNSaGNuUWdQU0F5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tHa2dQU0J1ZFcwdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNiM0prSUQwZ2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUhOMFlYSjBJQzBnTVRzZ2FpQStQU0F3T3lCcUxTMHBJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSnBkQ0E5SUNoM2IzSmtJRDQrSUdvcElDWWdNVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjeUFoUFQwZ2QyNWtXekJkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV6Y1hJb2NtVnpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hpYVhRZ1BUMDlJREFnSmlZZ1kzVnljbVZ1ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkQ0E4UEQwZ01UdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQjhQU0JpYVhRN1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNHJLenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5STVpXNGdJVDA5SUhkcGJtUnZkMU5wZW1VZ0ppWWdLR2tnSVQwOUlEQWdmSHdnYWlBaFBUMGdNQ2twSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXViWFZzS0hKbGN5d2dkMjVrVzJOMWNuSmxiblJkS1R0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEV4bGJpQTlJREE3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzUmhjblFnUFNBeU5qdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZEZSdklEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRGUnZJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjaUE5SUc1MWJTNTFiVzlrS0hSb2FYTXViU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjaUE5UFQwZ2JuVnRJRDhnY2k1amJHOXVaU2dwSURvZ2NqdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtTnZiblpsY25SR2NtOXRJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRVp5YjIwZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeVpYTWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0J5WlhNdWNtVmtJRDBnYm5Wc2JEdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJQzh2WEc0Z0lDOHZJRTF2Ym5SbmIyMWxjbmtnYldWMGFHOWtJR1Z1WjJsdVpWeHVJQ0F2TDF4dVhHNGdJRUpPTG0xdmJuUWdQU0JtZFc1amRHbHZiaUJ0YjI1MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUUxdmJuUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQk5iMjUwSUNodEtTQjdYRzRnSUNBZ1VtVmtMbU5oYkd3b2RHaHBjeXdnYlNrN1hHNWNiaUFnSUNCMGFHbHpMbk5vYVdaMElEMGdkR2hwY3k1dExtSnBkRXhsYm1kMGFDZ3BPMXh1SUNBZ0lHbG1JQ2gwYUdsekxuTm9hV1owSUNVZ01qWWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11YzJocFpuUWdLejBnTWpZZ0xTQW9kR2hwY3k1emFHbG1kQ0FsSURJMktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbklnUFNCdVpYY2dRazRvTVNrdWFYVnphR3h1S0hSb2FYTXVjMmhwWm5RcE8xeHVJQ0FnSUhSb2FYTXVjaklnUFNCMGFHbHpMbWx0YjJRb2RHaHBjeTV5TG5OeGNpZ3BLVHRjYmlBZ0lDQjBhR2x6TG5KcGJuWWdQU0IwYUdsekxuSXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNWNiaUFnSUNCMGFHbHpMbTFwYm5ZZ1BTQjBhR2x6TG5KcGJuWXViWFZzS0hSb2FYTXVjaWt1YVhOMVltNG9NU2t1WkdsMktIUm9hWE11YlNrN1hHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV0YVc1MkxuVnRiMlFvZEdocGN5NXlLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxuSXVjM1ZpS0hSb2FYTXViV2x1ZGlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1RXOXVkQ3dnVW1Wa0tUdGNibHh1SUNCTmIyNTBMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9iblZ0TG5WemFHeHVLSFJvYVhNdWMyaHBablFwS1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowUm5KdmJTQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUkdjbTl0SUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVcxdlpDaHVkVzB1YlhWc0tIUm9hWE11Y21sdWRpa3BPMXh1SUNBZ0lISXVjbVZrSUQwZ2JuVnNiRHRjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JOYjI1MExuQnliM1J2ZEhsd1pTNXBiWFZzSUQwZ1puVnVZM1JwYjI0Z2FXMTFiQ0FvWVN3Z1lpa2dlMXh1SUNBZ0lHbG1JQ2hoTG1seldtVnlieWdwSUh4OElHSXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJR0V1ZDI5eVpITmJNRjBnUFNBd08xeHVJQ0FnSUNBZ1lTNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSFFnUFNCaExtbHRkV3dvWWlrN1hHNGdJQ0FnZG1GeUlHTWdQU0IwTG0xaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0xcGJuWXBMbWx0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0S1R0Y2JpQWdJQ0IyWVhJZ2RTQTlJSFF1YVhOMVlpaGpLUzVwZFhOb2NtNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFU3WEc1Y2JpQWdJQ0JwWmlBb2RTNWpiWEFvZEdocGN5NXRLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMUxtbHpkV0lvZEdocGN5NXRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFV1WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFXRmtaQ2gwYUdsekxtMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTXVYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BJSHg4SUdJdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCdVpYY2dRazRvTUNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0JoTG0xMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNiaUFnSUNCcFppQW9kUzVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjFMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hVdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIVXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ0x5OGdLRUZTS1Y0dE1TQXFJRkplTWlBOUlDaEJYaTB4SUNvZ1VsNHRNU2tnS2lCU1hqSWdQU0JCWGkweElDb2dVbHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TG1sdGIyUW9ZUzVmYVc1MmJYQW9kR2hwY3k1dEtTNXRkV3dvZEdocGN5NXlNaWtwTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVmU2tvZEhsd1pXOW1JRzF2WkhWc1pTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ2ZId2diVzlrZFd4bExDQjBhR2x6S1R0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9heGlvcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzXFxcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXBibVJsZUM1cWN6ODVNV0kwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExITkVRVUZoSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWhlR2x2Y3ljcE95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9hZGFwdGVycy94aHIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYWRhcHRlcnMveGhyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIHNldHRsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vY29yZS9zZXR0bGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3NldHRsZS5qc1xcXCIpO1xcbnZhciBidWlsZFVSTCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vaGVscGVycy9idWlsZFVSTCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanNcXFwiKTtcXG52YXIgcGFyc2VIZWFkZXJzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9oZWxwZXJzL3BhcnNlSGVhZGVycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzXFxcIik7XFxudmFyIGlzVVJMU2FtZU9yaWdpbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vaGVscGVycy9pc1VSTFNhbWVPcmlnaW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpbi5qc1xcXCIpO1xcbnZhciBjcmVhdGVFcnJvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2NvcmUvY3JlYXRlRXJyb3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzXFxcIik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB4aHJBZGFwdGVyKGNvbmZpZykge1xcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIGRpc3BhdGNoWGhyUmVxdWVzdChyZXNvbHZlLCByZWplY3QpIHtcXG4gICAgdmFyIHJlcXVlc3REYXRhID0gY29uZmlnLmRhdGE7XFxuICAgIHZhciByZXF1ZXN0SGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzO1xcblxcbiAgICBpZiAodXRpbHMuaXNGb3JtRGF0YShyZXF1ZXN0RGF0YSkpIHtcXG4gICAgICBkZWxldGUgcmVxdWVzdEhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddOyAvLyBMZXQgdGhlIGJyb3dzZXIgc2V0IGl0XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcXG5cXG4gICAgLy8gSFRUUCBiYXNpYyBhdXRoZW50aWNhdGlvblxcbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcXG4gICAgICB2YXIgdXNlcm5hbWUgPSBjb25maWcuYXV0aC51c2VybmFtZSB8fCAnJztcXG4gICAgICB2YXIgcGFzc3dvcmQgPSBjb25maWcuYXV0aC5wYXNzd29yZCB8fCAnJztcXG4gICAgICByZXF1ZXN0SGVhZGVycy5BdXRob3JpemF0aW9uID0gJ0Jhc2ljICcgKyBidG9hKHVzZXJuYW1lICsgJzonICsgcGFzc3dvcmQpO1xcbiAgICB9XFxuXFxuICAgIHJlcXVlc3Qub3Blbihjb25maWcubWV0aG9kLnRvVXBwZXJDYXNlKCksIGJ1aWxkVVJMKGNvbmZpZy51cmwsIGNvbmZpZy5wYXJhbXMsIGNvbmZpZy5wYXJhbXNTZXJpYWxpemVyKSwgdHJ1ZSk7XFxuXFxuICAgIC8vIFNldCB0aGUgcmVxdWVzdCB0aW1lb3V0IGluIE1TXFxuICAgIHJlcXVlc3QudGltZW91dCA9IGNvbmZpZy50aW1lb3V0O1xcblxcbiAgICAvLyBMaXN0ZW4gZm9yIHJlYWR5IHN0YXRlXFxuICAgIHJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gaGFuZGxlTG9hZCgpIHtcXG4gICAgICBpZiAoIXJlcXVlc3QgfHwgcmVxdWVzdC5yZWFkeVN0YXRlICE9PSA0KSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIC8vIFRoZSByZXF1ZXN0IGVycm9yZWQgb3V0IGFuZCB3ZSBkaWRuJ3QgZ2V0IGEgcmVzcG9uc2UsIHRoaXMgd2lsbCBiZVxcbiAgICAgIC8vIGhhbmRsZWQgYnkgb25lcnJvciBpbnN0ZWFkXFxuICAgICAgLy8gV2l0aCBvbmUgZXhjZXB0aW9uOiByZXF1ZXN0IHRoYXQgdXNpbmcgZmlsZTogcHJvdG9jb2wsIG1vc3QgYnJvd3NlcnNcXG4gICAgICAvLyB3aWxsIHJldHVybiBzdGF0dXMgYXMgMCBldmVuIHRob3VnaCBpdCdzIGEgc3VjY2Vzc2Z1bCByZXF1ZXN0XFxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAwICYmICEocmVxdWVzdC5yZXNwb25zZVVSTCAmJiByZXF1ZXN0LnJlc3BvbnNlVVJMLmluZGV4T2YoJ2ZpbGU6JykgPT09IDApKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIC8vIFByZXBhcmUgdGhlIHJlc3BvbnNlXFxuICAgICAgdmFyIHJlc3BvbnNlSGVhZGVycyA9ICdnZXRBbGxSZXNwb25zZUhlYWRlcnMnIGluIHJlcXVlc3QgPyBwYXJzZUhlYWRlcnMocmVxdWVzdC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkgOiBudWxsO1xcbiAgICAgIHZhciByZXNwb25zZURhdGEgPSAhY29uZmlnLnJlc3BvbnNlVHlwZSB8fCBjb25maWcucmVzcG9uc2VUeXBlID09PSAndGV4dCcgPyByZXF1ZXN0LnJlc3BvbnNlVGV4dCA6IHJlcXVlc3QucmVzcG9uc2U7XFxuICAgICAgdmFyIHJlc3BvbnNlID0ge1xcbiAgICAgICAgZGF0YTogcmVzcG9uc2VEYXRhLFxcbiAgICAgICAgc3RhdHVzOiByZXF1ZXN0LnN0YXR1cyxcXG4gICAgICAgIHN0YXR1c1RleHQ6IHJlcXVlc3Quc3RhdHVzVGV4dCxcXG4gICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcXG4gICAgICAgIGNvbmZpZzogY29uZmlnLFxcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdFxcbiAgICAgIH07XFxuXFxuICAgICAgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgcmVzcG9uc2UpO1xcblxcbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICByZXF1ZXN0ID0gbnVsbDtcXG4gICAgfTtcXG5cXG4gICAgLy8gSGFuZGxlIGJyb3dzZXIgcmVxdWVzdCBjYW5jZWxsYXRpb24gKGFzIG9wcG9zZWQgdG8gYSBtYW51YWwgY2FuY2VsbGF0aW9uKVxcbiAgICByZXF1ZXN0Lm9uYWJvcnQgPSBmdW5jdGlvbiBoYW5kbGVBYm9ydCgpIHtcXG4gICAgICBpZiAoIXJlcXVlc3QpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgcmVqZWN0KGNyZWF0ZUVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcsICdFQ09OTkFCT1JURUQnLCByZXF1ZXN0KSk7XFxuXFxuICAgICAgLy8gQ2xlYW4gdXAgcmVxdWVzdFxcbiAgICAgIHJlcXVlc3QgPSBudWxsO1xcbiAgICB9O1xcblxcbiAgICAvLyBIYW5kbGUgbG93IGxldmVsIG5ldHdvcmsgZXJyb3JzXFxuICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uIGhhbmRsZUVycm9yKCkge1xcbiAgICAgIC8vIFJlYWwgZXJyb3JzIGFyZSBoaWRkZW4gZnJvbSB1cyBieSB0aGUgYnJvd3NlclxcbiAgICAgIC8vIG9uZXJyb3Igc2hvdWxkIG9ubHkgZmlyZSBpZiBpdCdzIGEgbmV0d29yayBlcnJvclxcbiAgICAgIHJlamVjdChjcmVhdGVFcnJvcignTmV0d29yayBFcnJvcicsIGNvbmZpZywgbnVsbCwgcmVxdWVzdCkpO1xcblxcbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICByZXF1ZXN0ID0gbnVsbDtcXG4gICAgfTtcXG5cXG4gICAgLy8gSGFuZGxlIHRpbWVvdXRcXG4gICAgcmVxdWVzdC5vbnRpbWVvdXQgPSBmdW5jdGlvbiBoYW5kbGVUaW1lb3V0KCkge1xcbiAgICAgIHJlamVjdChjcmVhdGVFcnJvcigndGltZW91dCBvZiAnICsgY29uZmlnLnRpbWVvdXQgKyAnbXMgZXhjZWVkZWQnLCBjb25maWcsICdFQ09OTkFCT1JURUQnLFxcbiAgICAgICAgcmVxdWVzdCkpO1xcblxcbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICByZXF1ZXN0ID0gbnVsbDtcXG4gICAgfTtcXG5cXG4gICAgLy8gQWRkIHhzcmYgaGVhZGVyXFxuICAgIC8vIFRoaXMgaXMgb25seSBkb25lIGlmIHJ1bm5pbmcgaW4gYSBzdGFuZGFyZCBicm93c2VyIGVudmlyb25tZW50LlxcbiAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGlmIHdlJ3JlIGluIGEgd2ViIHdvcmtlciwgb3IgcmVhY3QtbmF0aXZlLlxcbiAgICBpZiAodXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSkge1xcbiAgICAgIHZhciBjb29raWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9oZWxwZXJzL2Nvb2tpZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2Nvb2tpZXMuanNcXFwiKTtcXG5cXG4gICAgICAvLyBBZGQgeHNyZiBoZWFkZXJcXG4gICAgICB2YXIgeHNyZlZhbHVlID0gKGNvbmZpZy53aXRoQ3JlZGVudGlhbHMgfHwgaXNVUkxTYW1lT3JpZ2luKGNvbmZpZy51cmwpKSAmJiBjb25maWcueHNyZkNvb2tpZU5hbWUgP1xcbiAgICAgICAgY29va2llcy5yZWFkKGNvbmZpZy54c3JmQ29va2llTmFtZSkgOlxcbiAgICAgICAgdW5kZWZpbmVkO1xcblxcbiAgICAgIGlmICh4c3JmVmFsdWUpIHtcXG4gICAgICAgIHJlcXVlc3RIZWFkZXJzW2NvbmZpZy54c3JmSGVhZGVyTmFtZV0gPSB4c3JmVmFsdWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIEFkZCBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XFxuICAgIGlmICgnc2V0UmVxdWVzdEhlYWRlcicgaW4gcmVxdWVzdCkge1xcbiAgICAgIHV0aWxzLmZvckVhY2gocmVxdWVzdEhlYWRlcnMsIGZ1bmN0aW9uIHNldFJlcXVlc3RIZWFkZXIodmFsLCBrZXkpIHtcXG4gICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdERhdGEgPT09ICd1bmRlZmluZWQnICYmIGtleS50b0xvd2VyQ2FzZSgpID09PSAnY29udGVudC10eXBlJykge1xcbiAgICAgICAgICAvLyBSZW1vdmUgQ29udGVudC1UeXBlIGlmIGRhdGEgaXMgdW5kZWZpbmVkXFxuICAgICAgICAgIGRlbGV0ZSByZXF1ZXN0SGVhZGVyc1trZXldO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgLy8gT3RoZXJ3aXNlIGFkZCBoZWFkZXIgdG8gdGhlIHJlcXVlc3RcXG4gICAgICAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgdmFsKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgd2l0aENyZWRlbnRpYWxzIHRvIHJlcXVlc3QgaWYgbmVlZGVkXFxuICAgIGlmIChjb25maWcud2l0aENyZWRlbnRpYWxzKSB7XFxuICAgICAgcmVxdWVzdC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCByZXNwb25zZVR5cGUgdG8gcmVxdWVzdCBpZiBuZWVkZWRcXG4gICAgaWYgKGNvbmZpZy5yZXNwb25zZVR5cGUpIHtcXG4gICAgICB0cnkge1xcbiAgICAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSBjb25maWcucmVzcG9uc2VUeXBlO1xcbiAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgIC8vIEV4cGVjdGVkIERPTUV4Y2VwdGlvbiB0aHJvd24gYnkgYnJvd3NlcnMgbm90IGNvbXBhdGlibGUgWE1MSHR0cFJlcXVlc3QgTGV2ZWwgMi5cXG4gICAgICAgIC8vIEJ1dCwgdGhpcyBjYW4gYmUgc3VwcHJlc3NlZCBmb3IgJ2pzb24nIHR5cGUgYXMgaXQgY2FuIGJlIHBhcnNlZCBieSBkZWZhdWx0ICd0cmFuc2Zvcm1SZXNwb25zZScgZnVuY3Rpb24uXFxuICAgICAgICBpZiAoY29uZmlnLnJlc3BvbnNlVHlwZSAhPT0gJ2pzb24nKSB7XFxuICAgICAgICAgIHRocm93IGU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBwcm9ncmVzcyBpZiBuZWVkZWRcXG4gICAgaWYgKHR5cGVvZiBjb25maWcub25Eb3dubG9hZFByb2dyZXNzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIGNvbmZpZy5vbkRvd25sb2FkUHJvZ3Jlc3MpO1xcbiAgICB9XFxuXFxuICAgIC8vIE5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCB1cGxvYWQgZXZlbnRzXFxuICAgIGlmICh0eXBlb2YgY29uZmlnLm9uVXBsb2FkUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicgJiYgcmVxdWVzdC51cGxvYWQpIHtcXG4gICAgICByZXF1ZXN0LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIGNvbmZpZy5vblVwbG9hZFByb2dyZXNzKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XFxuICAgICAgLy8gSGFuZGxlIGNhbmNlbGxhdGlvblxcbiAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24gb25DYW5jZWxlZChjYW5jZWwpIHtcXG4gICAgICAgIGlmICghcmVxdWVzdCkge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXF1ZXN0LmFib3J0KCk7XFxuICAgICAgICByZWplY3QoY2FuY2VsKTtcXG4gICAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xcbiAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXF1ZXN0RGF0YSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmVxdWVzdERhdGEgPSBudWxsO1xcbiAgICB9XFxuXFxuICAgIC8vIFNlbmQgdGhlIHJlcXVlc3RcXG4gICAgcmVxdWVzdC5zZW5kKHJlcXVlc3REYXRhKTtcXG4gIH0pO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WVdSaGNIUmxjbk12ZUdoeUxtcHpQek14TldJaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1dVRkJXU3h0UWtGQlR5eERRVUZETEhGRVFVRlpPMEZCUTJoRExHRkJRV0VzYlVKQlFVOHNRMEZCUXl4cFJVRkJhMEk3UVVGRGRrTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExESkZRVUYxUWp0QlFVTTVReXh0UWtGQmJVSXNiVUpCUVU4c1EwRkJReXh0UmtGQk1rSTdRVUZEZEVRc2MwSkJRWE5DTEcxQ1FVRlBMRU5CUVVNc2VVWkJRVGhDTzBGQlF6VkVMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMSGxGUVVGeFFqczdRVUZGTDBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MFEwRkJORU03UVVGRE5VTTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dlFrRkJiMElzYlVKQlFVOHNRMEZCUXl4NVJVRkJjMEk3TzBGQlJXeEVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTloWkdGd2RHVnljeTk0YUhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHZMaTR2ZFhScGJITW5LVHRjYm5aaGNpQnpaWFIwYkdVZ1BTQnlaWEYxYVhKbEtDY3VMeTR1TDJOdmNtVXZjMlYwZEd4bEp5azdYRzUyWVhJZ1luVnBiR1JWVWt3Z1BTQnlaWEYxYVhKbEtDY3VMeTR1TDJobGJIQmxjbk12WW5WcGJHUlZVa3duS1R0Y2JuWmhjaUJ3WVhKelpVaGxZV1JsY25NZ1BTQnlaWEYxYVhKbEtDY3VMeTR1TDJobGJIQmxjbk12Y0dGeWMyVklaV0ZrWlhKekp5azdYRzUyWVhJZ2FYTlZVa3hUWVcxbFQzSnBaMmx1SUQwZ2NtVnhkV2x5WlNnbkxpOHVMaTlvWld4d1pYSnpMMmx6VlZKTVUyRnRaVTl5YVdkcGJpY3BPMXh1ZG1GeUlHTnlaV0YwWlVWeWNtOXlJRDBnY21WeGRXbHlaU2duTGk0dlkyOXlaUzlqY21WaGRHVkZjbkp2Y2ljcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJSGhvY2tGa1lYQjBaWElvWTI5dVptbG5LU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQmthWE53WVhSamFGaG9jbEpsY1hWbGMzUW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ2RtRnlJSEpsY1hWbGMzUkVZWFJoSUQwZ1kyOXVabWxuTG1SaGRHRTdYRzRnSUNBZ2RtRnlJSEpsY1hWbGMzUklaV0ZrWlhKeklEMGdZMjl1Wm1sbkxtaGxZV1JsY25NN1hHNWNiaUFnSUNCcFppQW9kWFJwYkhNdWFYTkdiM0p0UkdGMFlTaHlaWEYxWlhOMFJHRjBZU2twSUh0Y2JpQWdJQ0FnSUdSbGJHVjBaU0J5WlhGMVpYTjBTR1ZoWkdWeWMxc25RMjl1ZEdWdWRDMVVlWEJsSjEwN0lDOHZJRXhsZENCMGFHVWdZbkp2ZDNObGNpQnpaWFFnYVhSY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2NtVnhkV1Z6ZENBOUlHNWxkeUJZVFV4SWRIUndVbVZ4ZFdWemRDZ3BPMXh1WEc0Z0lDQWdMeThnU0ZSVVVDQmlZWE5wWXlCaGRYUm9aVzUwYVdOaGRHbHZibHh1SUNBZ0lHbG1JQ2hqYjI1bWFXY3VZWFYwYUNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFZ6WlhKdVlXMWxJRDBnWTI5dVptbG5MbUYxZEdndWRYTmxjbTVoYldVZ2ZId2dKeWM3WEc0Z0lDQWdJQ0IyWVhJZ2NHRnpjM2R2Y21RZ1BTQmpiMjVtYVdjdVlYVjBhQzV3WVhOemQyOXlaQ0I4ZkNBbkp6dGNiaUFnSUNBZ0lISmxjWFZsYzNSSVpXRmtaWEp6TGtGMWRHaHZjbWw2WVhScGIyNGdQU0FuUW1GemFXTWdKeUFySUdKMGIyRW9kWE5sY201aGJXVWdLeUFuT2ljZ0t5QndZWE56ZDI5eVpDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVnhkV1Z6ZEM1dmNHVnVLR052Ym1acFp5NXRaWFJvYjJRdWRHOVZjSEJsY2tOaGMyVW9LU3dnWW5WcGJHUlZVa3dvWTI5dVptbG5MblZ5YkN3Z1kyOXVabWxuTG5CaGNtRnRjeXdnWTI5dVptbG5MbkJoY21GdGMxTmxjbWxoYkdsNlpYSXBMQ0IwY25WbEtUdGNibHh1SUNBZ0lDOHZJRk5sZENCMGFHVWdjbVZ4ZFdWemRDQjBhVzFsYjNWMElHbHVJRTFUWEc0Z0lDQWdjbVZ4ZFdWemRDNTBhVzFsYjNWMElEMGdZMjl1Wm1sbkxuUnBiV1Z2ZFhRN1hHNWNiaUFnSUNBdkx5Qk1hWE4wWlc0Z1ptOXlJSEpsWVdSNUlITjBZWFJsWEc0Z0lDQWdjbVZ4ZFdWemRDNXZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWdQU0JtZFc1amRHbHZiaUJvWVc1a2JHVk1iMkZrS0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z5WlhGMVpYTjBJSHg4SUhKbGNYVmxjM1F1Y21WaFpIbFRkR0YwWlNBaFBUMGdOQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklGUm9aU0J5WlhGMVpYTjBJR1Z5Y205eVpXUWdiM1YwSUdGdVpDQjNaU0JrYVdSdUozUWdaMlYwSUdFZ2NtVnpjRzl1YzJVc0lIUm9hWE1nZDJsc2JDQmlaVnh1SUNBZ0lDQWdMeThnYUdGdVpHeGxaQ0JpZVNCdmJtVnljbTl5SUdsdWMzUmxZV1JjYmlBZ0lDQWdJQzh2SUZkcGRHZ2diMjVsSUdWNFkyVndkR2x2YmpvZ2NtVnhkV1Z6ZENCMGFHRjBJSFZ6YVc1bklHWnBiR1U2SUhCeWIzUnZZMjlzTENCdGIzTjBJR0p5YjNkelpYSnpYRzRnSUNBZ0lDQXZMeUIzYVd4c0lISmxkSFZ5YmlCemRHRjBkWE1nWVhNZ01DQmxkbVZ1SUhSb2IzVm5hQ0JwZENkeklHRWdjM1ZqWTJWemMyWjFiQ0J5WlhGMVpYTjBYRzRnSUNBZ0lDQnBaaUFvY21WeGRXVnpkQzV6ZEdGMGRYTWdQVDA5SURBZ0ppWWdJU2h5WlhGMVpYTjBMbkpsYzNCdmJuTmxWVkpNSUNZbUlISmxjWFZsYzNRdWNtVnpjRzl1YzJWVlVrd3VhVzVrWlhoUFppZ25abWxzWlRvbktTQTlQVDBnTUNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUJRY21Wd1lYSmxJSFJvWlNCeVpYTndiMjV6WlZ4dUlDQWdJQ0FnZG1GeUlISmxjM0J2Ym5ObFNHVmhaR1Z5Y3lBOUlDZG5aWFJCYkd4U1pYTndiMjV6WlVobFlXUmxjbk1uSUdsdUlISmxjWFZsYzNRZ1B5QndZWEp6WlVobFlXUmxjbk1vY21WeGRXVnpkQzVuWlhSQmJHeFNaWE53YjI1elpVaGxZV1JsY25Nb0tTa2dPaUJ1ZFd4c08xeHVJQ0FnSUNBZ2RtRnlJSEpsYzNCdmJuTmxSR0YwWVNBOUlDRmpiMjVtYVdjdWNtVnpjRzl1YzJWVWVYQmxJSHg4SUdOdmJtWnBaeTV5WlhOd2IyNXpaVlI1Y0dVZ1BUMDlJQ2QwWlhoMEp5QS9JSEpsY1hWbGMzUXVjbVZ6Y0c5dWMyVlVaWGgwSURvZ2NtVnhkV1Z6ZEM1eVpYTndiMjV6WlR0Y2JpQWdJQ0FnSUhaaGNpQnlaWE53YjI1elpTQTlJSHRjYmlBZ0lDQWdJQ0FnWkdGMFlUb2djbVZ6Y0c5dWMyVkVZWFJoTEZ4dUlDQWdJQ0FnSUNCemRHRjBkWE02SUhKbGNYVmxjM1F1YzNSaGRIVnpMRnh1SUNBZ0lDQWdJQ0J6ZEdGMGRYTlVaWGgwT2lCeVpYRjFaWE4wTG5OMFlYUjFjMVJsZUhRc1hHNGdJQ0FnSUNBZ0lHaGxZV1JsY25NNklISmxjM0J2Ym5ObFNHVmhaR1Z5Y3l4Y2JpQWdJQ0FnSUNBZ1kyOXVabWxuT2lCamIyNW1hV2NzWEc0Z0lDQWdJQ0FnSUhKbGNYVmxjM1E2SUhKbGNYVmxjM1JjYmlBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUhObGRIUnNaU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXNJSEpsYzNCdmJuTmxLVHRjYmx4dUlDQWdJQ0FnTHk4Z1EyeGxZVzRnZFhBZ2NtVnhkV1Z6ZEZ4dUlDQWdJQ0FnY21WeGRXVnpkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lDOHZJRWhoYm1Sc1pTQmljbTkzYzJWeUlISmxjWFZsYzNRZ1kyRnVZMlZzYkdGMGFXOXVJQ2hoY3lCdmNIQnZjMlZrSUhSdklHRWdiV0Z1ZFdGc0lHTmhibU5sYkd4aGRHbHZiaWxjYmlBZ0lDQnlaWEYxWlhOMExtOXVZV0p2Y25RZ1BTQm1kVzVqZEdsdmJpQm9ZVzVrYkdWQlltOXlkQ2dwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hjbVZ4ZFdWemRDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsYW1WamRDaGpjbVZoZEdWRmNuSnZjaWduVW1WeGRXVnpkQ0JoWW05eWRHVmtKeXdnWTI5dVptbG5MQ0FuUlVOUFRrNUJRazlTVkVWRUp5d2djbVZ4ZFdWemRDa3BPMXh1WEc0Z0lDQWdJQ0F2THlCRGJHVmhiaUIxY0NCeVpYRjFaWE4wWEc0Z0lDQWdJQ0J5WlhGMVpYTjBJRDBnYm5Wc2JEdGNiaUFnSUNCOU8xeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHeHZkeUJzWlhabGJDQnVaWFIzYjNKcklHVnljbTl5YzF4dUlDQWdJSEpsY1hWbGMzUXViMjVsY25KdmNpQTlJR1oxYm1OMGFXOXVJR2hoYm1Sc1pVVnljbTl5S0NrZ2UxeHVJQ0FnSUNBZ0x5OGdVbVZoYkNCbGNuSnZjbk1nWVhKbElHaHBaR1JsYmlCbWNtOXRJSFZ6SUdKNUlIUm9aU0JpY205M2MyVnlYRzRnSUNBZ0lDQXZMeUJ2Ym1WeWNtOXlJSE5vYjNWc1pDQnZibXg1SUdacGNtVWdhV1lnYVhRbmN5QmhJRzVsZEhkdmNtc2daWEp5YjNKY2JpQWdJQ0FnSUhKbGFtVmpkQ2hqY21WaGRHVkZjbkp2Y2lnblRtVjBkMjl5YXlCRmNuSnZjaWNzSUdOdmJtWnBaeXdnYm5Wc2JDd2djbVZ4ZFdWemRDa3BPMXh1WEc0Z0lDQWdJQ0F2THlCRGJHVmhiaUIxY0NCeVpYRjFaWE4wWEc0Z0lDQWdJQ0J5WlhGMVpYTjBJRDBnYm5Wc2JEdGNiaUFnSUNCOU8xeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUnBiV1Z2ZFhSY2JpQWdJQ0J5WlhGMVpYTjBMbTl1ZEdsdFpXOTFkQ0E5SUdaMWJtTjBhVzl1SUdoaGJtUnNaVlJwYldWdmRYUW9LU0I3WEc0Z0lDQWdJQ0J5WldwbFkzUW9ZM0psWVhSbFJYSnliM0lvSjNScGJXVnZkWFFnYjJZZ0p5QXJJR052Ym1acFp5NTBhVzFsYjNWMElDc2dKMjF6SUdWNFkyVmxaR1ZrSnl3Z1kyOXVabWxuTENBblJVTlBUazVCUWs5U1ZFVkVKeXhjYmlBZ0lDQWdJQ0FnY21WeGRXVnpkQ2twTzF4dVhHNGdJQ0FnSUNBdkx5QkRiR1ZoYmlCMWNDQnlaWEYxWlhOMFhHNGdJQ0FnSUNCeVpYRjFaWE4wSUQwZ2JuVnNiRHRjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdMeThnUVdSa0lIaHpjbVlnYUdWaFpHVnlYRzRnSUNBZ0x5OGdWR2hwY3lCcGN5QnZibXg1SUdSdmJtVWdhV1lnY25WdWJtbHVaeUJwYmlCaElITjBZVzVrWVhKa0lHSnliM2R6WlhJZ1pXNTJhWEp2Ym0xbGJuUXVYRzRnSUNBZ0x5OGdVM0JsWTJsbWFXTmhiR3g1SUc1dmRDQnBaaUIzWlNkeVpTQnBiaUJoSUhkbFlpQjNiM0pyWlhJc0lHOXlJSEpsWVdOMExXNWhkR2wyWlM1Y2JpQWdJQ0JwWmlBb2RYUnBiSE11YVhOVGRHRnVaR0Z5WkVKeWIzZHpaWEpGYm5Zb0tTa2dlMXh1SUNBZ0lDQWdkbUZ5SUdOdmIydHBaWE1nUFNCeVpYRjFhWEpsS0NjdUx5NHVMMmhsYkhCbGNuTXZZMjl2YTJsbGN5Y3BPMXh1WEc0Z0lDQWdJQ0F2THlCQlpHUWdlSE55WmlCb1pXRmtaWEpjYmlBZ0lDQWdJSFpoY2lCNGMzSm1WbUZzZFdVZ1BTQW9ZMjl1Wm1sbkxuZHBkR2hEY21Wa1pXNTBhV0ZzY3lCOGZDQnBjMVZTVEZOaGJXVlBjbWxuYVc0b1kyOXVabWxuTG5WeWJDa3BJQ1ltSUdOdmJtWnBaeTU0YzNKbVEyOXZhMmxsVG1GdFpTQS9YRzRnSUNBZ0lDQWdJR052YjJ0cFpYTXVjbVZoWkNoamIyNW1hV2N1ZUhOeVprTnZiMnRwWlU1aGJXVXBJRHBjYmlBZ0lDQWdJQ0FnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnSUNCcFppQW9lSE55WmxaaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGNYVmxjM1JJWldGa1pYSnpXMk52Ym1acFp5NTRjM0ptU0dWaFpHVnlUbUZ0WlYwZ1BTQjRjM0ptVm1Gc2RXVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdobFlXUmxjbk1nZEc4Z2RHaGxJSEpsY1hWbGMzUmNiaUFnSUNCcFppQW9KM05sZEZKbGNYVmxjM1JJWldGa1pYSW5JR2x1SUhKbGNYVmxjM1FwSUh0Y2JpQWdJQ0FnSUhWMGFXeHpMbVp2Y2tWaFkyZ29jbVZ4ZFdWemRFaGxZV1JsY25Nc0lHWjFibU4wYVc5dUlITmxkRkpsY1hWbGMzUklaV0ZrWlhJb2RtRnNMQ0JyWlhrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhGMVpYTjBSR0YwWVNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2EyVjVMblJ2VEc5M1pYSkRZWE5sS0NrZ1BUMDlJQ2RqYjI1MFpXNTBMWFI1Y0dVbktTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1VtVnRiM1psSUVOdmJuUmxiblF0Vkhsd1pTQnBaaUJrWVhSaElHbHpJSFZ1WkdWbWFXNWxaRnh1SUNBZ0lDQWdJQ0FnSUdSbGJHVjBaU0J5WlhGMVpYTjBTR1ZoWkdWeWMxdHJaWGxkTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRTkwYUdWeWQybHpaU0JoWkdRZ2FHVmhaR1Z5SUhSdklIUm9aU0J5WlhGMVpYTjBYRzRnSUNBZ0lDQWdJQ0FnY21WeGRXVnpkQzV6WlhSU1pYRjFaWE4wU0dWaFpHVnlLR3RsZVN3Z2RtRnNLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdoRGNtVmtaVzUwYVdGc2N5QjBieUJ5WlhGMVpYTjBJR2xtSUc1bFpXUmxaRnh1SUNBZ0lHbG1JQ2hqYjI1bWFXY3VkMmwwYUVOeVpXUmxiblJwWVd4ektTQjdYRzRnSUNBZ0lDQnlaWEYxWlhOMExuZHBkR2hEY21Wa1pXNTBhV0ZzY3lBOUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUVdSa0lISmxjM0J2Ym5ObFZIbHdaU0IwYnlCeVpYRjFaWE4wSUdsbUlHNWxaV1JsWkZ4dUlDQWdJR2xtSUNoamIyNW1hV2N1Y21WemNHOXVjMlZVZVhCbEtTQjdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCeVpYRjFaWE4wTG5KbGMzQnZibk5sVkhsd1pTQTlJR052Ym1acFp5NXlaWE53YjI1elpWUjVjR1U3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRVY0Y0dWamRHVmtJRVJQVFVWNFkyVndkR2x2YmlCMGFISnZkMjRnWW5rZ1luSnZkM05sY25NZ2JtOTBJR052YlhCaGRHbGliR1VnV0UxTVNIUjBjRkpsY1hWbGMzUWdUR1YyWld3Z01pNWNiaUFnSUNBZ0lDQWdMeThnUW5WMExDQjBhR2x6SUdOaGJpQmlaU0J6ZFhCd2NtVnpjMlZrSUdadmNpQW5hbk52YmljZ2RIbHdaU0JoY3lCcGRDQmpZVzRnWW1VZ2NHRnljMlZrSUdKNUlHUmxabUYxYkhRZ0ozUnlZVzV6Wm05eWJWSmxjM0J2Ym5ObEp5Qm1kVzVqZEdsdmJpNWNiaUFnSUNBZ0lDQWdhV1lnS0dOdmJtWnBaeTV5WlhOd2IyNXpaVlI1Y0dVZ0lUMDlJQ2RxYzI5dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJR1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCSVlXNWtiR1VnY0hKdlozSmxjM01nYVdZZ2JtVmxaR1ZrWEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1bWFXY3ViMjVFYjNkdWJHOWhaRkJ5YjJkeVpYTnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQnlaWEYxWlhOMExtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0ozQnliMmR5WlhOekp5d2dZMjl1Wm1sbkxtOXVSRzkzYm14dllXUlFjbTluY21WemN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdUbTkwSUdGc2JDQmljbTkzYzJWeWN5QnpkWEJ3YjNKMElIVndiRzloWkNCbGRtVnVkSE5jYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR052Ym1acFp5NXZibFZ3Ykc5aFpGQnliMmR5WlhOeklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlISmxjWFZsYzNRdWRYQnNiMkZrS1NCN1hHNGdJQ0FnSUNCeVpYRjFaWE4wTG5Wd2JHOWhaQzVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ2R3Y205bmNtVnpjeWNzSUdOdmJtWnBaeTV2YmxWd2JHOWhaRkJ5YjJkeVpYTnpLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTI5dVptbG5MbU5oYm1ObGJGUnZhMlZ1S1NCN1hHNGdJQ0FnSUNBdkx5QklZVzVrYkdVZ1kyRnVZMlZzYkdGMGFXOXVYRzRnSUNBZ0lDQmpiMjVtYVdjdVkyRnVZMlZzVkc5clpXNHVjSEp2YldselpTNTBhR1Z1S0daMWJtTjBhVzl1SUc5dVEyRnVZMlZzWldRb1kyRnVZMlZzS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY21WeGRXVnpkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsY1hWbGMzUXVZV0p2Y25Rb0tUdGNiaUFnSUNBZ0lDQWdjbVZxWldOMEtHTmhibU5sYkNrN1hHNGdJQ0FnSUNBZ0lDOHZJRU5zWldGdUlIVndJSEpsY1hWbGMzUmNiaUFnSUNBZ0lDQWdjbVZ4ZFdWemRDQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jbVZ4ZFdWemRFUmhkR0VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdjbVZ4ZFdWemRFUmhkR0VnUFNCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRk5sYm1RZ2RHaGxJSEpsY1hWbGMzUmNiaUFnSUNCeVpYRjFaWE4wTG5ObGJtUW9jbVZ4ZFdWemRFUmhkR0VwTzF4dUlDQjlLVHRjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1xcXCIpO1xcbnZhciBiaW5kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oZWxwZXJzL2JpbmQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanNcXFwiKTtcXG52YXIgQXhpb3MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvcmUvQXhpb3MgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzXFxcIik7XFxudmFyIG1lcmdlQ29uZmlnID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb3JlL21lcmdlQ29uZmlnICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qc1xcXCIpO1xcbnZhciBkZWZhdWx0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVmYXVsdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9kZWZhdWx0cy5qc1xcXCIpO1xcblxcbi8qKlxcbiAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBBeGlvc1xcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IGRlZmF1bHRDb25maWcgVGhlIGRlZmF1bHQgY29uZmlnIGZvciB0aGUgaW5zdGFuY2VcXG4gKiBAcmV0dXJuIHtBeGlvc30gQSBuZXcgaW5zdGFuY2Ugb2YgQXhpb3NcXG4gKi9cXG5mdW5jdGlvbiBjcmVhdGVJbnN0YW5jZShkZWZhdWx0Q29uZmlnKSB7XFxuICB2YXIgY29udGV4dCA9IG5ldyBBeGlvcyhkZWZhdWx0Q29uZmlnKTtcXG4gIHZhciBpbnN0YW5jZSA9IGJpbmQoQXhpb3MucHJvdG90eXBlLnJlcXVlc3QsIGNvbnRleHQpO1xcblxcbiAgLy8gQ29weSBheGlvcy5wcm90b3R5cGUgdG8gaW5zdGFuY2VcXG4gIHV0aWxzLmV4dGVuZChpbnN0YW5jZSwgQXhpb3MucHJvdG90eXBlLCBjb250ZXh0KTtcXG5cXG4gIC8vIENvcHkgY29udGV4dCB0byBpbnN0YW5jZVxcbiAgdXRpbHMuZXh0ZW5kKGluc3RhbmNlLCBjb250ZXh0KTtcXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuXFxuLy8gQ3JlYXRlIHRoZSBkZWZhdWx0IGluc3RhbmNlIHRvIGJlIGV4cG9ydGVkXFxudmFyIGF4aW9zID0gY3JlYXRlSW5zdGFuY2UoZGVmYXVsdHMpO1xcblxcbi8vIEV4cG9zZSBBeGlvcyBjbGFzcyB0byBhbGxvdyBjbGFzcyBpbmhlcml0YW5jZVxcbmF4aW9zLkF4aW9zID0gQXhpb3M7XFxuXFxuLy8gRmFjdG9yeSBmb3IgY3JlYXRpbmcgbmV3IGluc3RhbmNlc1xcbmF4aW9zLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShpbnN0YW5jZUNvbmZpZykge1xcbiAgcmV0dXJuIGNyZWF0ZUluc3RhbmNlKG1lcmdlQ29uZmlnKGF4aW9zLmRlZmF1bHRzLCBpbnN0YW5jZUNvbmZpZykpO1xcbn07XFxuXFxuLy8gRXhwb3NlIENhbmNlbCAmIENhbmNlbFRva2VuXFxuYXhpb3MuQ2FuY2VsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jYW5jZWwvQ2FuY2VsICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbC5qc1xcXCIpO1xcbmF4aW9zLkNhbmNlbFRva2VuID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jYW5jZWwvQ2FuY2VsVG9rZW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsVG9rZW4uanNcXFwiKTtcXG5heGlvcy5pc0NhbmNlbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2FuY2VsL2lzQ2FuY2VsICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzXFxcIik7XFxuXFxuLy8gRXhwb3NlIGFsbC9zcHJlYWRcXG5heGlvcy5hbGwgPSBmdW5jdGlvbiBhbGwocHJvbWlzZXMpIHtcXG4gIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XFxufTtcXG5heGlvcy5zcHJlYWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hlbHBlcnMvc3ByZWFkICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanNcXFwiKTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGF4aW9zO1xcblxcbi8vIEFsbG93IHVzZSBvZiBkZWZhdWx0IGltcG9ydCBzeW50YXggaW4gVHlwZVNjcmlwdFxcbm1vZHVsZS5leHBvcnRzLmRlZmF1bHQgPSBheGlvcztcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZWGhwYjNNdWFuTS9OR1ZtWkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zYTBSQlFWTTdRVUZETjBJc1YwRkJWeXh0UWtGQlR5eERRVUZETEdkRlFVRm5RanRCUVVOdVF5eFpRVUZaTEcxQ1FVRlBMRU5CUVVNc05FUkJRV003UVVGRGJFTXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNkMFZCUVc5Q08wRkJRemxETEdWQlFXVXNiVUpCUVU4c1EwRkJReXgzUkVGQldUczdRVUZGYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrc1RVRkJUVHRCUVVOc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hsUVVGbExHMUNRVUZQTEVOQlFVTXNhMFZCUVdsQ08wRkJRM2hETEc5Q1FVRnZRaXh0UWtGQlR5eERRVUZETERSRlFVRnpRanRCUVVOc1JDeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5eHpSVUZCYlVJN08wRkJSVFZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3h0UWtGQlR5eERRVUZETEc5RlFVRnJRanM3UVVGRmVrTTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZWGhwYjNNdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHZkWFJwYkhNbktUdGNiblpoY2lCaWFXNWtJRDBnY21WeGRXbHlaU2duTGk5b1pXeHdaWEp6TDJKcGJtUW5LVHRjYm5aaGNpQkJlR2x2Y3lBOUlISmxjWFZwY21Vb0p5NHZZMjl5WlM5QmVHbHZjeWNwTzF4dWRtRnlJRzFsY21kbFEyOXVabWxuSUQwZ2NtVnhkV2x5WlNnbkxpOWpiM0psTDIxbGNtZGxRMjl1Wm1sbkp5azdYRzUyWVhJZ1pHVm1ZWFZzZEhNZ1BTQnlaWEYxYVhKbEtDY3VMMlJsWm1GMWJIUnpKeWs3WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsSUdGdUlHbHVjM1JoYm1ObElHOW1JRUY0YVc5elhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUdSbFptRjFiSFJEYjI1bWFXY2dWR2hsSUdSbFptRjFiSFFnWTI5dVptbG5JR1p2Y2lCMGFHVWdhVzV6ZEdGdVkyVmNiaUFxSUVCeVpYUjFjbTRnZTBGNGFXOXpmU0JCSUc1bGR5QnBibk4wWVc1alpTQnZaaUJCZUdsdmMxeHVJQ292WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZKYm5OMFlXNWpaU2hrWldaaGRXeDBRMjl1Wm1sbktTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdibVYzSUVGNGFXOXpLR1JsWm1GMWJIUkRiMjVtYVdjcE8xeHVJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQmlhVzVrS0VGNGFXOXpMbkJ5YjNSdmRIbHdaUzV5WlhGMVpYTjBMQ0JqYjI1MFpYaDBLVHRjYmx4dUlDQXZMeUJEYjNCNUlHRjRhVzl6TG5CeWIzUnZkSGx3WlNCMGJ5QnBibk4wWVc1alpWeHVJQ0IxZEdsc2N5NWxlSFJsYm1Rb2FXNXpkR0Z1WTJVc0lFRjRhVzl6TG5CeWIzUnZkSGx3WlN3Z1kyOXVkR1Y0ZENrN1hHNWNiaUFnTHk4Z1EyOXdlU0JqYjI1MFpYaDBJSFJ2SUdsdWMzUmhibU5sWEc0Z0lIVjBhV3h6TG1WNGRHVnVaQ2hwYm5OMFlXNWpaU3dnWTI5dWRHVjRkQ2s3WEc1Y2JpQWdjbVYwZFhKdUlHbHVjM1JoYm1ObE8xeHVmVnh1WEc0dkx5QkRjbVZoZEdVZ2RHaGxJR1JsWm1GMWJIUWdhVzV6ZEdGdVkyVWdkRzhnWW1VZ1pYaHdiM0owWldSY2JuWmhjaUJoZUdsdmN5QTlJR055WldGMFpVbHVjM1JoYm1ObEtHUmxabUYxYkhSektUdGNibHh1THk4Z1JYaHdiM05sSUVGNGFXOXpJR05zWVhOeklIUnZJR0ZzYkc5M0lHTnNZWE56SUdsdWFHVnlhWFJoYm1ObFhHNWhlR2x2Y3k1QmVHbHZjeUE5SUVGNGFXOXpPMXh1WEc0dkx5QkdZV04wYjNKNUlHWnZjaUJqY21WaGRHbHVaeUJ1WlhjZ2FXNXpkR0Z1WTJWelhHNWhlR2x2Y3k1amNtVmhkR1VnUFNCbWRXNWpkR2x2YmlCamNtVmhkR1VvYVc1emRHRnVZMlZEYjI1bWFXY3BJSHRjYmlBZ2NtVjBkWEp1SUdOeVpXRjBaVWx1YzNSaGJtTmxLRzFsY21kbFEyOXVabWxuS0dGNGFXOXpMbVJsWm1GMWJIUnpMQ0JwYm5OMFlXNWpaVU52Ym1acFp5a3BPMXh1ZlR0Y2JseHVMeThnUlhod2IzTmxJRU5oYm1ObGJDQW1JRU5oYm1ObGJGUnZhMlZ1WEc1aGVHbHZjeTVEWVc1alpXd2dQU0J5WlhGMWFYSmxLQ2N1TDJOaGJtTmxiQzlEWVc1alpXd25LVHRjYm1GNGFXOXpMa05oYm1ObGJGUnZhMlZ1SUQwZ2NtVnhkV2x5WlNnbkxpOWpZVzVqWld3dlEyRnVZMlZzVkc5clpXNG5LVHRjYm1GNGFXOXpMbWx6UTJGdVkyVnNJRDBnY21WeGRXbHlaU2duTGk5allXNWpaV3d2YVhORFlXNWpaV3duS1R0Y2JseHVMeThnUlhod2IzTmxJR0ZzYkM5emNISmxZV1JjYm1GNGFXOXpMbUZzYkNBOUlHWjFibU4wYVc5dUlHRnNiQ2h3Y205dGFYTmxjeWtnZTF4dUlDQnlaWFIxY200Z1VISnZiV2x6WlM1aGJHd29jSEp2YldselpYTXBPMXh1ZlR0Y2JtRjRhVzl6TG5Od2NtVmhaQ0E5SUhKbGNYVnBjbVVvSnk0dmFHVnNjR1Z5Y3k5emNISmxZV1FuS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmhlR2x2Y3p0Y2JseHVMeThnUVd4c2IzY2dkWE5sSUc5bUlHUmxabUYxYkhRZ2FXMXdiM0owSUhONWJuUmhlQ0JwYmlCVWVYQmxVMk55YVhCMFhHNXRiMlIxYkdVdVpYaHdiM0owY3k1a1pXWmhkV3gwSUQwZ1lYaHBiM003WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qKlxcbiAqIEEgYENhbmNlbGAgaXMgYW4gb2JqZWN0IHRoYXQgaXMgdGhyb3duIHdoZW4gYW4gb3BlcmF0aW9uIGlzIGNhbmNlbGVkLlxcbiAqXFxuICogQGNsYXNzXFxuICogQHBhcmFtIHtzdHJpbmc9fSBtZXNzYWdlIFRoZSBtZXNzYWdlLlxcbiAqL1xcbmZ1bmN0aW9uIENhbmNlbChtZXNzYWdlKSB7XFxuICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xcbn1cXG5cXG5DYW5jZWwucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XFxuICByZXR1cm4gJ0NhbmNlbCcgKyAodGhpcy5tZXNzYWdlID8gJzogJyArIHRoaXMubWVzc2FnZSA6ICcnKTtcXG59O1xcblxcbkNhbmNlbC5wcm90b3R5cGUuX19DQU5DRUxfXyA9IHRydWU7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBDYW5jZWw7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMME5oYm1ObGJDNXFjejh6T0RreElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UlFVRlJPMEZCUTI1Q08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMME5oYm1ObGJDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FYRzRnS2lCQklHQkRZVzVqWld4Z0lHbHpJR0Z1SUc5aWFtVmpkQ0IwYUdGMElHbHpJSFJvY205M2JpQjNhR1Z1SUdGdUlHOXdaWEpoZEdsdmJpQnBjeUJqWVc1alpXeGxaQzVjYmlBcVhHNGdLaUJBWTJ4aGMzTmNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5QWDBnYldWemMyRm5aU0JVYUdVZ2JXVnpjMkZuWlM1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnUTJGdVkyVnNLRzFsYzNOaFoyVXBJSHRjYmlBZ2RHaHBjeTV0WlhOellXZGxJRDBnYldWemMyRm5aVHRjYm4xY2JseHVRMkZ1WTJWc0xuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5LQ2tnZTF4dUlDQnlaWFIxY200Z0owTmhibU5sYkNjZ0t5QW9kR2hwY3k1dFpYTnpZV2RsSUQ4Z0p6b2dKeUFySUhSb2FYTXViV1Z6YzJGblpTQTZJQ2NuS1R0Y2JuMDdYRzVjYmtOaGJtTmxiQzV3Y205MGIzUjVjR1V1WDE5RFFVNURSVXhmWHlBOUlIUnlkV1U3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1EyRnVZMlZzTzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsVG9rZW4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbFRva2VuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIENhbmNlbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vQ2FuY2VsICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbC5qc1xcXCIpO1xcblxcbi8qKlxcbiAqIEEgYENhbmNlbFRva2VuYCBpcyBhbiBvYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byByZXF1ZXN0IGNhbmNlbGxhdGlvbiBvZiBhbiBvcGVyYXRpb24uXFxuICpcXG4gKiBAY2xhc3NcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBleGVjdXRvciBUaGUgZXhlY3V0b3IgZnVuY3Rpb24uXFxuICovXFxuZnVuY3Rpb24gQ2FuY2VsVG9rZW4oZXhlY3V0b3IpIHtcXG4gIGlmICh0eXBlb2YgZXhlY3V0b3IgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLicpO1xcbiAgfVxcblxcbiAgdmFyIHJlc29sdmVQcm9taXNlO1xcbiAgdGhpcy5wcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gcHJvbWlzZUV4ZWN1dG9yKHJlc29sdmUpIHtcXG4gICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlO1xcbiAgfSk7XFxuXFxuICB2YXIgdG9rZW4gPSB0aGlzO1xcbiAgZXhlY3V0b3IoZnVuY3Rpb24gY2FuY2VsKG1lc3NhZ2UpIHtcXG4gICAgaWYgKHRva2VuLnJlYXNvbikge1xcbiAgICAgIC8vIENhbmNlbGxhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIHJlcXVlc3RlZFxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB0b2tlbi5yZWFzb24gPSBuZXcgQ2FuY2VsKG1lc3NhZ2UpO1xcbiAgICByZXNvbHZlUHJvbWlzZSh0b2tlbi5yZWFzb24pO1xcbiAgfSk7XFxufVxcblxcbi8qKlxcbiAqIFRocm93cyBhIGBDYW5jZWxgIGlmIGNhbmNlbGxhdGlvbiBoYXMgYmVlbiByZXF1ZXN0ZWQuXFxuICovXFxuQ2FuY2VsVG9rZW4ucHJvdG90eXBlLnRocm93SWZSZXF1ZXN0ZWQgPSBmdW5jdGlvbiB0aHJvd0lmUmVxdWVzdGVkKCkge1xcbiAgaWYgKHRoaXMucmVhc29uKSB7XFxuICAgIHRocm93IHRoaXMucmVhc29uO1xcbiAgfVxcbn07XFxuXFxuLyoqXFxuICogUmV0dXJucyBhbiBvYmplY3QgdGhhdCBjb250YWlucyBhIG5ldyBgQ2FuY2VsVG9rZW5gIGFuZCBhIGZ1bmN0aW9uIHRoYXQsIHdoZW4gY2FsbGVkLFxcbiAqIGNhbmNlbHMgdGhlIGBDYW5jZWxUb2tlbmAuXFxuICovXFxuQ2FuY2VsVG9rZW4uc291cmNlID0gZnVuY3Rpb24gc291cmNlKCkge1xcbiAgdmFyIGNhbmNlbDtcXG4gIHZhciB0b2tlbiA9IG5ldyBDYW5jZWxUb2tlbihmdW5jdGlvbiBleGVjdXRvcihjKSB7XFxuICAgIGNhbmNlbCA9IGM7XFxuICB9KTtcXG4gIHJldHVybiB7XFxuICAgIHRva2VuOiB0b2tlbixcXG4gICAgY2FuY2VsOiBjYW5jZWxcXG4gIH07XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IENhbmNlbFRva2VuO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyRnVZMlZzTDBOaGJtTmxiRlJ2YTJWdUxtcHpQemcwT1RnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1lVRkJZU3h0UWtGQlR5eERRVUZETERKRVFVRlZPenRCUVVVdlFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1UwRkJVenRCUVVOd1FqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTmhibU5sYkM5RFlXNWpaV3hVYjJ0bGJpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRU5oYm1ObGJDQTlJSEpsY1hWcGNtVW9KeTR2UTJGdVkyVnNKeWs3WEc1Y2JpOHFLbHh1SUNvZ1FTQmdRMkZ1WTJWc1ZHOXJaVzVnSUdseklHRnVJRzlpYW1WamRDQjBhR0YwSUdOaGJpQmlaU0IxYzJWa0lIUnZJSEpsY1hWbGMzUWdZMkZ1WTJWc2JHRjBhVzl1SUc5bUlHRnVJRzl3WlhKaGRHbHZiaTVjYmlBcVhHNGdLaUJBWTJ4aGMzTmNiaUFxSUVCd1lYSmhiU0I3Um5WdVkzUnBiMjU5SUdWNFpXTjFkRzl5SUZSb1pTQmxlR1ZqZFhSdmNpQm1kVzVqZEdsdmJpNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z1EyRnVZMlZzVkc5clpXNG9aWGhsWTNWMGIzSXBJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQmxlR1ZqZFhSdmNpQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oyVjRaV04xZEc5eUlHMTFjM1FnWW1VZ1lTQm1kVzVqZEdsdmJpNG5LVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaWE52YkhabFVISnZiV2x6WlR0Y2JpQWdkR2hwY3k1d2NtOXRhWE5sSUQwZ2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdjSEp2YldselpVVjRaV04xZEc5eUtISmxjMjlzZG1VcElIdGNiaUFnSUNCeVpYTnZiSFpsVUhKdmJXbHpaU0E5SUhKbGMyOXNkbVU3WEc0Z0lIMHBPMXh1WEc0Z0lIWmhjaUIwYjJ0bGJpQTlJSFJvYVhNN1hHNGdJR1Y0WldOMWRHOXlLR1oxYm1OMGFXOXVJR05oYm1ObGJDaHRaWE56WVdkbEtTQjdYRzRnSUNBZ2FXWWdLSFJ2YTJWdUxuSmxZWE52YmlrZ2UxeHVJQ0FnSUNBZ0x5OGdRMkZ1WTJWc2JHRjBhVzl1SUdoaGN5QmhiSEpsWVdSNUlHSmxaVzRnY21WeGRXVnpkR1ZrWEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHOXJaVzR1Y21WaGMyOXVJRDBnYm1WM0lFTmhibU5sYkNodFpYTnpZV2RsS1R0Y2JpQWdJQ0J5WlhOdmJIWmxVSEp2YldselpTaDBiMnRsYmk1eVpXRnpiMjRwTzF4dUlDQjlLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlVhSEp2ZDNNZ1lTQmdRMkZ1WTJWc1lDQnBaaUJqWVc1alpXeHNZWFJwYjI0Z2FHRnpJR0psWlc0Z2NtVnhkV1Z6ZEdWa0xseHVJQ292WEc1RFlXNWpaV3hVYjJ0bGJpNXdjbTkwYjNSNWNHVXVkR2h5YjNkSlpsSmxjWFZsYzNSbFpDQTlJR1oxYm1OMGFXOXVJSFJvY205M1NXWlNaWEYxWlhOMFpXUW9LU0I3WEc0Z0lHbG1JQ2gwYUdsekxuSmxZWE52YmlrZ2UxeHVJQ0FnSUhSb2NtOTNJSFJvYVhNdWNtVmhjMjl1TzF4dUlDQjlYRzU5TzF4dVhHNHZLaXBjYmlBcUlGSmxkSFZ5Ym5NZ1lXNGdiMkpxWldOMElIUm9ZWFFnWTI5dWRHRnBibk1nWVNCdVpYY2dZRU5oYm1ObGJGUnZhMlZ1WUNCaGJtUWdZU0JtZFc1amRHbHZiaUIwYUdGMExDQjNhR1Z1SUdOaGJHeGxaQ3hjYmlBcUlHTmhibU5sYkhNZ2RHaGxJR0JEWVc1alpXeFViMnRsYm1BdVhHNGdLaTljYmtOaGJtTmxiRlJ2YTJWdUxuTnZkWEpqWlNBOUlHWjFibU4wYVc5dUlITnZkWEpqWlNncElIdGNiaUFnZG1GeUlHTmhibU5sYkR0Y2JpQWdkbUZ5SUhSdmEyVnVJRDBnYm1WM0lFTmhibU5sYkZSdmEyVnVLR1oxYm1OMGFXOXVJR1Y0WldOMWRHOXlLR01wSUh0Y2JpQWdJQ0JqWVc1alpXd2dQU0JqTzF4dUlDQjlLVHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0IwYjJ0bGJqb2dkRzlyWlc0c1hHNGdJQ0FnWTJGdVkyVnNPaUJqWVc1alpXeGNiaUFnZlR0Y2JuMDdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUTJGdVkyVnNWRzlyWlc0N1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9pc0NhbmNlbC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQ2FuY2VsKHZhbHVlKSB7XFxuICByZXR1cm4gISEodmFsdWUgJiYgdmFsdWUuX19DQU5DRUxfXyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMkZ1WTJWc0wybHpRMkZ1WTJWc0xtcHpQMlk1TkRZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5allXNWpaV3d2YVhORFlXNWpaV3d1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdhWE5EWVc1alpXd29kbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJQ0VoS0haaGJIVmxJQ1ltSUhaaGJIVmxMbDlmUTBGT1EwVk1YMThwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1xcXCIpO1xcbnZhciBidWlsZFVSTCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2hlbHBlcnMvYnVpbGRVUkwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2J1aWxkVVJMLmpzXFxcIik7XFxudmFyIEludGVyY2VwdG9yTWFuYWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vSW50ZXJjZXB0b3JNYW5hZ2VyICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9JbnRlcmNlcHRvck1hbmFnZXIuanNcXFwiKTtcXG52YXIgZGlzcGF0Y2hSZXF1ZXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kaXNwYXRjaFJlcXVlc3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qc1xcXCIpO1xcbnZhciBtZXJnZUNvbmZpZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbWVyZ2VDb25maWcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL21lcmdlQ29uZmlnLmpzXFxcIik7XFxuXFxuLyoqXFxuICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIEF4aW9zXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gaW5zdGFuY2VDb25maWcgVGhlIGRlZmF1bHQgY29uZmlnIGZvciB0aGUgaW5zdGFuY2VcXG4gKi9cXG5mdW5jdGlvbiBBeGlvcyhpbnN0YW5jZUNvbmZpZykge1xcbiAgdGhpcy5kZWZhdWx0cyA9IGluc3RhbmNlQ29uZmlnO1xcbiAgdGhpcy5pbnRlcmNlcHRvcnMgPSB7XFxuICAgIHJlcXVlc3Q6IG5ldyBJbnRlcmNlcHRvck1hbmFnZXIoKSxcXG4gICAgcmVzcG9uc2U6IG5ldyBJbnRlcmNlcHRvck1hbmFnZXIoKVxcbiAgfTtcXG59XFxuXFxuLyoqXFxuICogRGlzcGF0Y2ggYSByZXF1ZXN0XFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIFRoZSBjb25maWcgc3BlY2lmaWMgZm9yIHRoaXMgcmVxdWVzdCAobWVyZ2VkIHdpdGggdGhpcy5kZWZhdWx0cylcXG4gKi9cXG5BeGlvcy5wcm90b3R5cGUucmVxdWVzdCA9IGZ1bmN0aW9uIHJlcXVlc3QoY29uZmlnKSB7XFxuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cXG4gIC8vIEFsbG93IGZvciBheGlvcygnZXhhbXBsZS91cmwnWywgY29uZmlnXSkgYSBsYSBmZXRjaCBBUElcXG4gIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xcbiAgICBjb25maWcgPSBhcmd1bWVudHNbMV0gfHwge307XFxuICAgIGNvbmZpZy51cmwgPSBhcmd1bWVudHNbMF07XFxuICB9IGVsc2Uge1xcbiAgICBjb25maWcgPSBjb25maWcgfHwge307XFxuICB9XFxuXFxuICBjb25maWcgPSBtZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLCBjb25maWcpO1xcbiAgY29uZmlnLm1ldGhvZCA9IGNvbmZpZy5tZXRob2QgPyBjb25maWcubWV0aG9kLnRvTG93ZXJDYXNlKCkgOiAnZ2V0JztcXG5cXG4gIC8vIEhvb2sgdXAgaW50ZXJjZXB0b3JzIG1pZGRsZXdhcmVcXG4gIHZhciBjaGFpbiA9IFtkaXNwYXRjaFJlcXVlc3QsIHVuZGVmaW5lZF07XFxuICB2YXIgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShjb25maWcpO1xcblxcbiAgdGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKGZ1bmN0aW9uIHVuc2hpZnRSZXF1ZXN0SW50ZXJjZXB0b3JzKGludGVyY2VwdG9yKSB7XFxuICAgIGNoYWluLnVuc2hpZnQoaW50ZXJjZXB0b3IuZnVsZmlsbGVkLCBpbnRlcmNlcHRvci5yZWplY3RlZCk7XFxuICB9KTtcXG5cXG4gIHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goZnVuY3Rpb24gcHVzaFJlc3BvbnNlSW50ZXJjZXB0b3JzKGludGVyY2VwdG9yKSB7XFxuICAgIGNoYWluLnB1c2goaW50ZXJjZXB0b3IuZnVsZmlsbGVkLCBpbnRlcmNlcHRvci5yZWplY3RlZCk7XFxuICB9KTtcXG5cXG4gIHdoaWxlIChjaGFpbi5sZW5ndGgpIHtcXG4gICAgcHJvbWlzZSA9IHByb21pc2UudGhlbihjaGFpbi5zaGlmdCgpLCBjaGFpbi5zaGlmdCgpKTtcXG4gIH1cXG5cXG4gIHJldHVybiBwcm9taXNlO1xcbn07XFxuXFxuQXhpb3MucHJvdG90eXBlLmdldFVyaSA9IGZ1bmN0aW9uIGdldFVyaShjb25maWcpIHtcXG4gIGNvbmZpZyA9IG1lcmdlQ29uZmlnKHRoaXMuZGVmYXVsdHMsIGNvbmZpZyk7XFxuICByZXR1cm4gYnVpbGRVUkwoY29uZmlnLnVybCwgY29uZmlnLnBhcmFtcywgY29uZmlnLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXFxcPy8sICcnKTtcXG59O1xcblxcbi8vIFByb3ZpZGUgYWxpYXNlcyBmb3Igc3VwcG9ydGVkIHJlcXVlc3QgbWV0aG9kc1xcbnV0aWxzLmZvckVhY2goWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAnb3B0aW9ucyddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xcbiAgLyplc2xpbnQgZnVuYy1uYW1lczowKi9cXG4gIEF4aW9zLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24odXJsLCBjb25maWcpIHtcXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh1dGlscy5tZXJnZShjb25maWcgfHwge30sIHtcXG4gICAgICBtZXRob2Q6IG1ldGhvZCxcXG4gICAgICB1cmw6IHVybFxcbiAgICB9KSk7XFxuICB9O1xcbn0pO1xcblxcbnV0aWxzLmZvckVhY2goWydwb3N0JywgJ3B1dCcsICdwYXRjaCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kV2l0aERhdGEobWV0aG9kKSB7XFxuICAvKmVzbGludCBmdW5jLW5hbWVzOjAqL1xcbiAgQXhpb3MucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbih1cmwsIGRhdGEsIGNvbmZpZykge1xcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHV0aWxzLm1lcmdlKGNvbmZpZyB8fCB7fSwge1xcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxcbiAgICAgIHVybDogdXJsLFxcbiAgICAgIGRhdGE6IGRhdGFcXG4gICAgfSkpO1xcbiAgfTtcXG59KTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IEF4aW9zO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlCZUdsdmN5NXFjejgyWW1Zd0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4eFJFRkJXVHRCUVVOb1F5eGxRVUZsTEcxQ1FVRlBMRU5CUVVNc2VVVkJRWEZDTzBGQlF6VkRMSGxDUVVGNVFpeHRRa0ZCVHl4RFFVRkRMR2xHUVVGelFqdEJRVU4yUkN4elFrRkJjMElzYlVKQlFVOHNRMEZCUXl3eVJVRkJiVUk3UVVGRGFrUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNiVVZCUVdVN08wRkJSWHBETzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTEdkRVFVRm5SRHRCUVVOb1JEdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hEUVVGRE96dEJRVVZFSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlqYjNKbEwwRjRhVzl6TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NjdUx5NHVMM1YwYVd4ekp5azdYRzUyWVhJZ1luVnBiR1JWVWt3Z1BTQnlaWEYxYVhKbEtDY3VMaTlvWld4d1pYSnpMMkoxYVd4a1ZWSk1KeWs3WEc1MllYSWdTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlJRDBnY21WeGRXbHlaU2duTGk5SmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJbktUdGNiblpoY2lCa2FYTndZWFJqYUZKbGNYVmxjM1FnUFNCeVpYRjFhWEpsS0NjdUwyUnBjM0JoZEdOb1VtVnhkV1Z6ZENjcE8xeHVkbUZ5SUcxbGNtZGxRMjl1Wm1sbklEMGdjbVZ4ZFdseVpTZ25MaTl0WlhKblpVTnZibVpwWnljcE8xeHVYRzR2S2lwY2JpQXFJRU55WldGMFpTQmhJRzVsZHlCcGJuTjBZVzVqWlNCdlppQkJlR2x2YzF4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JwYm5OMFlXNWpaVU52Ym1acFp5QlVhR1VnWkdWbVlYVnNkQ0JqYjI1bWFXY2dabTl5SUhSb1pTQnBibk4wWVc1alpWeHVJQ292WEc1bWRXNWpkR2x2YmlCQmVHbHZjeWhwYm5OMFlXNWpaVU52Ym1acFp5a2dlMXh1SUNCMGFHbHpMbVJsWm1GMWJIUnpJRDBnYVc1emRHRnVZMlZEYjI1bWFXYzdYRzRnSUhSb2FYTXVhVzUwWlhKalpYQjBiM0p6SUQwZ2UxeHVJQ0FnSUhKbGNYVmxjM1E2SUc1bGR5QkpiblJsY21ObGNIUnZjazFoYm1GblpYSW9LU3hjYmlBZ0lDQnlaWE53YjI1elpUb2dibVYzSUVsdWRHVnlZMlZ3ZEc5eVRXRnVZV2RsY2lncFhHNGdJSDA3WEc1OVhHNWNiaThxS2x4dUlDb2dSR2x6Y0dGMFkyZ2dZU0J5WlhGMVpYTjBYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHTnZibVpwWnlCVWFHVWdZMjl1Wm1sbklITndaV05wWm1saklHWnZjaUIwYUdseklISmxjWFZsYzNRZ0tHMWxjbWRsWkNCM2FYUm9JSFJvYVhNdVpHVm1ZWFZzZEhNcFhHNGdLaTljYmtGNGFXOXpMbkJ5YjNSdmRIbHdaUzV5WlhGMVpYTjBJRDBnWm5WdVkzUnBiMjRnY21WeGRXVnpkQ2hqYjI1bWFXY3BJSHRjYmlBZ0x5cGxjMnhwYm5RZ2JtOHRjR0Z5WVcwdGNtVmhjM05wWjI0Nk1Db3ZYRzRnSUM4dklFRnNiRzkzSUdadmNpQmhlR2x2Y3lnblpYaGhiWEJzWlM5MWNtd25XeXdnWTI5dVptbG5YU2tnWVNCc1lTQm1aWFJqYUNCQlVFbGNiaUFnYVdZZ0tIUjVjR1Z2WmlCamIyNW1hV2NnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1kyOXVabWxuSUQwZ1lYSm5kVzFsYm5Seld6RmRJSHg4SUh0OU8xeHVJQ0FnSUdOdmJtWnBaeTUxY213Z1BTQmhjbWQxYldWdWRITmJNRjA3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWTI5dVptbG5JRDBnWTI5dVptbG5JSHg4SUh0OU8xeHVJQ0I5WEc1Y2JpQWdZMjl1Wm1sbklEMGdiV1Z5WjJWRGIyNW1hV2NvZEdocGN5NWtaV1poZFd4MGN5d2dZMjl1Wm1sbktUdGNiaUFnWTI5dVptbG5MbTFsZEdodlpDQTlJR052Ym1acFp5NXRaWFJvYjJRZ1B5QmpiMjVtYVdjdWJXVjBhRzlrTG5SdlRHOTNaWEpEWVhObEtDa2dPaUFuWjJWMEp6dGNibHh1SUNBdkx5QkliMjlySUhWd0lHbHVkR1Z5WTJWd2RHOXljeUJ0YVdSa2JHVjNZWEpsWEc0Z0lIWmhjaUJqYUdGcGJpQTlJRnRrYVhOd1lYUmphRkpsY1hWbGMzUXNJSFZ1WkdWbWFXNWxaRjA3WEc0Z0lIWmhjaUJ3Y205dGFYTmxJRDBnVUhKdmJXbHpaUzV5WlhOdmJIWmxLR052Ym1acFp5azdYRzVjYmlBZ2RHaHBjeTVwYm5SbGNtTmxjSFJ2Y25NdWNtVnhkV1Z6ZEM1bWIzSkZZV05vS0daMWJtTjBhVzl1SUhWdWMyaHBablJTWlhGMVpYTjBTVzUwWlhKalpYQjBiM0p6S0dsdWRHVnlZMlZ3ZEc5eUtTQjdYRzRnSUNBZ1kyaGhhVzR1ZFc1emFHbG1kQ2hwYm5SbGNtTmxjSFJ2Y2k1bWRXeG1hV3hzWldRc0lHbHVkR1Z5WTJWd2RHOXlMbkpsYW1WamRHVmtLVHRjYmlBZ2ZTazdYRzVjYmlBZ2RHaHBjeTVwYm5SbGNtTmxjSFJ2Y25NdWNtVnpjRzl1YzJVdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlCd2RYTm9VbVZ6Y0c5dWMyVkpiblJsY21ObGNIUnZjbk1vYVc1MFpYSmpaWEIwYjNJcElIdGNiaUFnSUNCamFHRnBiaTV3ZFhOb0tHbHVkR1Z5WTJWd2RHOXlMbVoxYkdacGJHeGxaQ3dnYVc1MFpYSmpaWEIwYjNJdWNtVnFaV04wWldRcE8xeHVJQ0I5S1R0Y2JseHVJQ0IzYUdsc1pTQW9ZMmhoYVc0dWJHVnVaM1JvS1NCN1hHNGdJQ0FnY0hKdmJXbHpaU0E5SUhCeWIyMXBjMlV1ZEdobGJpaGphR0ZwYmk1emFHbG1kQ2dwTENCamFHRnBiaTV6YUdsbWRDZ3BLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ3Y205dGFYTmxPMXh1ZlR0Y2JseHVRWGhwYjNNdWNISnZkRzkwZVhCbExtZGxkRlZ5YVNBOUlHWjFibU4wYVc5dUlHZGxkRlZ5YVNoamIyNW1hV2NwSUh0Y2JpQWdZMjl1Wm1sbklEMGdiV1Z5WjJWRGIyNW1hV2NvZEdocGN5NWtaV1poZFd4MGN5d2dZMjl1Wm1sbktUdGNiaUFnY21WMGRYSnVJR0oxYVd4a1ZWSk1LR052Ym1acFp5NTFjbXdzSUdOdmJtWnBaeTV3WVhKaGJYTXNJR052Ym1acFp5NXdZWEpoYlhOVFpYSnBZV3hwZW1WeUtTNXlaWEJzWVdObEtDOWVYRncvTHl3Z0p5Y3BPMXh1ZlR0Y2JseHVMeThnVUhKdmRtbGtaU0JoYkdsaGMyVnpJR1p2Y2lCemRYQndiM0owWldRZ2NtVnhkV1Z6ZENCdFpYUm9iMlJ6WEc1MWRHbHNjeTVtYjNKRllXTm9LRnNuWkdWc1pYUmxKeXdnSjJkbGRDY3NJQ2RvWldGa0p5d2dKMjl3ZEdsdmJuTW5YU3dnWm5WdVkzUnBiMjRnWm05eVJXRmphRTFsZEdodlpFNXZSR0YwWVNodFpYUm9iMlFwSUh0Y2JpQWdMeXBsYzJ4cGJuUWdablZ1WXkxdVlXMWxjem93S2k5Y2JpQWdRWGhwYjNNdWNISnZkRzkwZVhCbFcyMWxkR2h2WkYwZ1BTQm1kVzVqZEdsdmJpaDFjbXdzSUdOdmJtWnBaeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbGNYVmxjM1FvZFhScGJITXViV1Z5WjJVb1kyOXVabWxuSUh4OElIdDlMQ0I3WEc0Z0lDQWdJQ0J0WlhSb2IyUTZJRzFsZEdodlpDeGNiaUFnSUNBZ0lIVnliRG9nZFhKc1hHNGdJQ0FnZlNrcE8xeHVJQ0I5TzF4dWZTazdYRzVjYm5WMGFXeHpMbVp2Y2tWaFkyZ29XeWR3YjNOMEp5d2dKM0IxZENjc0lDZHdZWFJqYUNkZExDQm1kVzVqZEdsdmJpQm1iM0pGWVdOb1RXVjBhRzlrVjJsMGFFUmhkR0VvYldWMGFHOWtLU0I3WEc0Z0lDOHFaWE5zYVc1MElHWjFibU10Ym1GdFpYTTZNQ292WEc0Z0lFRjRhVzl6TG5CeWIzUnZkSGx3WlZ0dFpYUm9iMlJkSUQwZ1puVnVZM1JwYjI0b2RYSnNMQ0JrWVhSaExDQmpiMjVtYVdjcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaWEYxWlhOMEtIVjBhV3h6TG0xbGNtZGxLR052Ym1acFp5QjhmQ0I3ZlN3Z2UxeHVJQ0FnSUNBZ2JXVjBhRzlrT2lCdFpYUm9iMlFzWEc0Z0lDQWdJQ0IxY213NklIVnliQ3hjYmlBZ0lDQWdJR1JoZEdFNklHUmhkR0ZjYmlBZ0lDQjlLU2s3WEc0Z0lIMDdYRzU5S1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQkJlR2x2Y3p0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvSW50ZXJjZXB0b3JNYW5hZ2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBJbnRlcmNlcHRvck1hbmFnZXIoKSB7XFxuICB0aGlzLmhhbmRsZXJzID0gW107XFxufVxcblxcbi8qKlxcbiAqIEFkZCBhIG5ldyBpbnRlcmNlcHRvciB0byB0aGUgc3RhY2tcXG4gKlxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bGZpbGxlZCBUaGUgZnVuY3Rpb24gdG8gaGFuZGxlIGB0aGVuYCBmb3IgYSBgUHJvbWlzZWBcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWplY3RlZCBUaGUgZnVuY3Rpb24gdG8gaGFuZGxlIGByZWplY3RgIGZvciBhIGBQcm9taXNlYFxcbiAqXFxuICogQHJldHVybiB7TnVtYmVyfSBBbiBJRCB1c2VkIHRvIHJlbW92ZSBpbnRlcmNlcHRvciBsYXRlclxcbiAqL1xcbkludGVyY2VwdG9yTWFuYWdlci5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpIHtcXG4gIHRoaXMuaGFuZGxlcnMucHVzaCh7XFxuICAgIGZ1bGZpbGxlZDogZnVsZmlsbGVkLFxcbiAgICByZWplY3RlZDogcmVqZWN0ZWRcXG4gIH0pO1xcbiAgcmV0dXJuIHRoaXMuaGFuZGxlcnMubGVuZ3RoIC0gMTtcXG59O1xcblxcbi8qKlxcbiAqIFJlbW92ZSBhbiBpbnRlcmNlcHRvciBmcm9tIHRoZSBzdGFja1xcbiAqXFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIFRoZSBJRCB0aGF0IHdhcyByZXR1cm5lZCBieSBgdXNlYFxcbiAqL1xcbkludGVyY2VwdG9yTWFuYWdlci5wcm90b3R5cGUuZWplY3QgPSBmdW5jdGlvbiBlamVjdChpZCkge1xcbiAgaWYgKHRoaXMuaGFuZGxlcnNbaWRdKSB7XFxuICAgIHRoaXMuaGFuZGxlcnNbaWRdID0gbnVsbDtcXG4gIH1cXG59O1xcblxcbi8qKlxcbiAqIEl0ZXJhdGUgb3ZlciBhbGwgdGhlIHJlZ2lzdGVyZWQgaW50ZXJjZXB0b3JzXFxuICpcXG4gKiBUaGlzIG1ldGhvZCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBza2lwcGluZyBvdmVyIGFueVxcbiAqIGludGVyY2VwdG9ycyB0aGF0IG1heSBoYXZlIGJlY29tZSBgbnVsbGAgY2FsbGluZyBgZWplY3RgLlxcbiAqXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgZm9yIGVhY2ggaW50ZXJjZXB0b3JcXG4gKi9cXG5JbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiBmb3JFYWNoKGZuKSB7XFxuICB1dGlscy5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsIGZ1bmN0aW9uIGZvckVhY2hIYW5kbGVyKGgpIHtcXG4gICAgaWYgKGggIT09IG51bGwpIHtcXG4gICAgICBmbihoKTtcXG4gICAgfVxcbiAgfSk7XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IEludGVyY2VwdG9yTWFuYWdlcjtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5SmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJdWFuTS9NV1UyTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zY1VSQlFWazdPMEZCUldoRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExGTkJRVk03UVVGRGNFSXNWMEZCVnl4VFFVRlRPMEZCUTNCQ08wRkJRMEVzV1VGQldTeFBRVUZQTzBGQlEyNUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVMEZCVXp0QlFVTndRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlNXNTBaWEpqWlhCMGIzSk5ZVzVoWjJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMeTR1TDNWMGFXeHpKeWs3WEc1Y2JtWjFibU4wYVc5dUlFbHVkR1Z5WTJWd2RHOXlUV0Z1WVdkbGNpZ3BJSHRjYmlBZ2RHaHBjeTVvWVc1a2JHVnljeUE5SUZ0ZE8xeHVmVnh1WEc0dktpcGNiaUFxSUVGa1pDQmhJRzVsZHlCcGJuUmxjbU5sY0hSdmNpQjBieUIwYUdVZ2MzUmhZMnRjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JtZFd4bWFXeHNaV1FnVkdobElHWjFibU4wYVc5dUlIUnZJR2hoYm1Sc1pTQmdkR2hsYm1BZ1ptOXlJR0VnWUZCeWIyMXBjMlZnWEc0Z0tpQkFjR0Z5WVcwZ2UwWjFibU4wYVc5dWZTQnlaV3BsWTNSbFpDQlVhR1VnWm5WdVkzUnBiMjRnZEc4Z2FHRnVaR3hsSUdCeVpXcGxZM1JnSUdadmNpQmhJR0JRY205dGFYTmxZRnh1SUNwY2JpQXFJRUJ5WlhSMWNtNGdlMDUxYldKbGNuMGdRVzRnU1VRZ2RYTmxaQ0IwYnlCeVpXMXZkbVVnYVc1MFpYSmpaWEIwYjNJZ2JHRjBaWEpjYmlBcUwxeHVTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlMbkJ5YjNSdmRIbHdaUzUxYzJVZ1BTQm1kVzVqZEdsdmJpQjFjMlVvWm5Wc1ptbHNiR1ZrTENCeVpXcGxZM1JsWkNrZ2UxeHVJQ0IwYUdsekxtaGhibVJzWlhKekxuQjFjMmdvZTF4dUlDQWdJR1oxYkdacGJHeGxaRG9nWm5Wc1ptbHNiR1ZrTEZ4dUlDQWdJSEpsYW1WamRHVmtPaUJ5WldwbFkzUmxaRnh1SUNCOUtUdGNiaUFnY21WMGRYSnVJSFJvYVhNdWFHRnVaR3hsY25NdWJHVnVaM1JvSUMwZ01UdGNibjA3WEc1Y2JpOHFLbHh1SUNvZ1VtVnRiM1psSUdGdUlHbHVkR1Z5WTJWd2RHOXlJR1p5YjIwZ2RHaGxJSE4wWVdOclhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0T2RXMWlaWEo5SUdsa0lGUm9aU0JKUkNCMGFHRjBJSGRoY3lCeVpYUjFjbTVsWkNCaWVTQmdkWE5sWUZ4dUlDb3ZYRzVKYm5SbGNtTmxjSFJ2Y2sxaGJtRm5aWEl1Y0hKdmRHOTBlWEJsTG1WcVpXTjBJRDBnWm5WdVkzUnBiMjRnWldwbFkzUW9hV1FwSUh0Y2JpQWdhV1lnS0hSb2FYTXVhR0Z1Wkd4bGNuTmJhV1JkS1NCN1hHNGdJQ0FnZEdocGN5NW9ZVzVrYkdWeWMxdHBaRjBnUFNCdWRXeHNPMXh1SUNCOVhHNTlPMXh1WEc0dktpcGNiaUFxSUVsMFpYSmhkR1VnYjNabGNpQmhiR3dnZEdobElISmxaMmx6ZEdWeVpXUWdhVzUwWlhKalpYQjBiM0p6WEc0Z0tseHVJQ29nVkdocGN5QnRaWFJvYjJRZ2FYTWdjR0Z5ZEdsamRXeGhjbXg1SUhWelpXWjFiQ0JtYjNJZ2MydHBjSEJwYm1jZ2IzWmxjaUJoYm5sY2JpQXFJR2x1ZEdWeVkyVndkRzl5Y3lCMGFHRjBJRzFoZVNCb1lYWmxJR0psWTI5dFpTQmdiblZzYkdBZ1kyRnNiR2x1WnlCZ1pXcGxZM1JnTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3Um5WdVkzUnBiMjU5SUdadUlGUm9aU0JtZFc1amRHbHZiaUIwYnlCallXeHNJR1p2Y2lCbFlXTm9JR2x1ZEdWeVkyVndkRzl5WEc0Z0tpOWNia2x1ZEdWeVkyVndkRzl5VFdGdVlXZGxjaTV3Y205MGIzUjVjR1V1Wm05eVJXRmphQ0E5SUdaMWJtTjBhVzl1SUdadmNrVmhZMmdvWm00cElIdGNiaUFnZFhScGJITXVabTl5UldGamFDaDBhR2x6TG1oaGJtUnNaWEp6TENCbWRXNWpkR2x2YmlCbWIzSkZZV05vU0dGdVpHeGxjaWhvS1NCN1hHNGdJQ0FnYVdZZ0tHZ2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1p1S0dncE8xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1OU8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRWx1ZEdWeVkyVndkRzl5VFdGdVlXZGxjanRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9JbnRlcmNlcHRvck1hbmFnZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBlbmhhbmNlRXJyb3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2VuaGFuY2VFcnJvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzXFxcIik7XFxuXFxuLyoqXFxuICogQ3JlYXRlIGFuIEVycm9yIHdpdGggdGhlIHNwZWNpZmllZCBtZXNzYWdlLCBjb25maWcsIGVycm9yIGNvZGUsIHJlcXVlc3QgYW5kIHJlc3BvbnNlLlxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXFxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyBUaGUgY29uZmlnLlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBbY29kZV0gVGhlIGVycm9yIGNvZGUgKGZvciBleGFtcGxlLCAnRUNPTk5BQk9SVEVEJykuXFxuICogQHBhcmFtIHtPYmplY3R9IFtyZXF1ZXN0XSBUaGUgcmVxdWVzdC5cXG4gKiBAcGFyYW0ge09iamVjdH0gW3Jlc3BvbnNlXSBUaGUgcmVzcG9uc2UuXFxuICogQHJldHVybnMge0Vycm9yfSBUaGUgY3JlYXRlZCBlcnJvci5cXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNyZWF0ZUVycm9yKG1lc3NhZ2UsIGNvbmZpZywgY29kZSwgcmVxdWVzdCwgcmVzcG9uc2UpIHtcXG4gIHZhciBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcXG4gIHJldHVybiBlbmhhbmNlRXJyb3IoZXJyb3IsIGNvbmZpZywgY29kZSwgcmVxdWVzdCwgcmVzcG9uc2UpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOWpjbVZoZEdWRmNuSnZjaTVxY3o4d016SmhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMRzFDUVVGdFFpeHRRa0ZCVHl4RFFVRkRMSEZGUVVGblFqczdRVUZGTTBNN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhoUVVGaExFMUJRVTA3UVVGRGJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5amNtVmhkR1ZGY25KdmNpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR1Z1YUdGdVkyVkZjbkp2Y2lBOUlISmxjWFZwY21Vb0p5NHZaVzVvWVc1alpVVnljbTl5SnlrN1hHNWNiaThxS2x4dUlDb2dRM0psWVhSbElHRnVJRVZ5Y205eUlIZHBkR2dnZEdobElITndaV05wWm1sbFpDQnRaWE56WVdkbExDQmpiMjVtYVdjc0lHVnljbTl5SUdOdlpHVXNJSEpsY1hWbGMzUWdZVzVrSUhKbGMzQnZibk5sTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J0WlhOellXZGxJRlJvWlNCbGNuSnZjaUJ0WlhOellXZGxMbHh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUdOdmJtWnBaeUJVYUdVZ1kyOXVabWxuTGx4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdGpiMlJsWFNCVWFHVWdaWEp5YjNJZ1kyOWtaU0FvWm05eUlHVjRZVzF3YkdVc0lDZEZRMDlPVGtGQ1QxSlVSVVFuS1M1Y2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmJjbVZ4ZFdWemRGMGdWR2hsSUhKbGNYVmxjM1F1WEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1czSmxjM0J2Ym5ObFhTQlVhR1VnY21WemNHOXVjMlV1WEc0Z0tpQkFjbVYwZFhKdWN5QjdSWEp5YjNKOUlGUm9aU0JqY21WaGRHVmtJR1Z5Y205eUxseHVJQ292WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdOeVpXRjBaVVZ5Y205eUtHMWxjM05oWjJVc0lHTnZibVpwWnl3Z1kyOWtaU3dnY21WeGRXVnpkQ3dnY21WemNHOXVjMlVwSUh0Y2JpQWdkbUZ5SUdWeWNtOXlJRDBnYm1WM0lFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQnlaWFIxY200Z1pXNW9ZVzVqWlVWeWNtOXlLR1Z5Y205eUxDQmpiMjVtYVdjc0lHTnZaR1VzSUhKbGNYVmxjM1FzSUhKbGMzQnZibk5sS1R0Y2JuMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9kaXNwYXRjaFJlcXVlc3QuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIHRyYW5zZm9ybURhdGEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3RyYW5zZm9ybURhdGEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanNcXFwiKTtcXG52YXIgaXNDYW5jZWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jYW5jZWwvaXNDYW5jZWwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanNcXFwiKTtcXG52YXIgZGVmYXVsdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9kZWZhdWx0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzXFxcIik7XFxudmFyIGlzQWJzb2x1dGVVUkwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qc1xcXCIpO1xcbnZhciBjb21iaW5lVVJMcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vaGVscGVycy9jb21iaW5lVVJMcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanNcXFwiKTtcXG5cXG4vKipcXG4gKiBUaHJvd3MgYSBgQ2FuY2VsYCBpZiBjYW5jZWxsYXRpb24gaGFzIGJlZW4gcmVxdWVzdGVkLlxcbiAqL1xcbmZ1bmN0aW9uIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoY29uZmlnKSB7XFxuICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XFxuICAgIGNvbmZpZy5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCk7XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIERpc3BhdGNoIGEgcmVxdWVzdCB0byB0aGUgc2VydmVyIHVzaW5nIHRoZSBjb25maWd1cmVkIGFkYXB0ZXIuXFxuICpcXG4gKiBAcGFyYW0ge29iamVjdH0gY29uZmlnIFRoZSBjb25maWcgdGhhdCBpcyB0byBiZSB1c2VkIGZvciB0aGUgcmVxdWVzdFxcbiAqIEByZXR1cm5zIHtQcm9taXNlfSBUaGUgUHJvbWlzZSB0byBiZSBmdWxmaWxsZWRcXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGRpc3BhdGNoUmVxdWVzdChjb25maWcpIHtcXG4gIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoY29uZmlnKTtcXG5cXG4gIC8vIFN1cHBvcnQgYmFzZVVSTCBjb25maWdcXG4gIGlmIChjb25maWcuYmFzZVVSTCAmJiAhaXNBYnNvbHV0ZVVSTChjb25maWcudXJsKSkge1xcbiAgICBjb25maWcudXJsID0gY29tYmluZVVSTHMoY29uZmlnLmJhc2VVUkwsIGNvbmZpZy51cmwpO1xcbiAgfVxcblxcbiAgLy8gRW5zdXJlIGhlYWRlcnMgZXhpc3RcXG4gIGNvbmZpZy5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XFxuXFxuICAvLyBUcmFuc2Zvcm0gcmVxdWVzdCBkYXRhXFxuICBjb25maWcuZGF0YSA9IHRyYW5zZm9ybURhdGEoXFxuICAgIGNvbmZpZy5kYXRhLFxcbiAgICBjb25maWcuaGVhZGVycyxcXG4gICAgY29uZmlnLnRyYW5zZm9ybVJlcXVlc3RcXG4gICk7XFxuXFxuICAvLyBGbGF0dGVuIGhlYWRlcnNcXG4gIGNvbmZpZy5oZWFkZXJzID0gdXRpbHMubWVyZ2UoXFxuICAgIGNvbmZpZy5oZWFkZXJzLmNvbW1vbiB8fCB7fSxcXG4gICAgY29uZmlnLmhlYWRlcnNbY29uZmlnLm1ldGhvZF0gfHwge30sXFxuICAgIGNvbmZpZy5oZWFkZXJzIHx8IHt9XFxuICApO1xcblxcbiAgdXRpbHMuZm9yRWFjaChcXG4gICAgWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAncG9zdCcsICdwdXQnLCAncGF0Y2gnLCAnY29tbW9uJ10sXFxuICAgIGZ1bmN0aW9uIGNsZWFuSGVhZGVyQ29uZmlnKG1ldGhvZCkge1xcbiAgICAgIGRlbGV0ZSBjb25maWcuaGVhZGVyc1ttZXRob2RdO1xcbiAgICB9XFxuICApO1xcblxcbiAgdmFyIGFkYXB0ZXIgPSBjb25maWcuYWRhcHRlciB8fCBkZWZhdWx0cy5hZGFwdGVyO1xcblxcbiAgcmV0dXJuIGFkYXB0ZXIoY29uZmlnKS50aGVuKGZ1bmN0aW9uIG9uQWRhcHRlclJlc29sdXRpb24ocmVzcG9uc2UpIHtcXG4gICAgdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpO1xcblxcbiAgICAvLyBUcmFuc2Zvcm0gcmVzcG9uc2UgZGF0YVxcbiAgICByZXNwb25zZS5kYXRhID0gdHJhbnNmb3JtRGF0YShcXG4gICAgICByZXNwb25zZS5kYXRhLFxcbiAgICAgIHJlc3BvbnNlLmhlYWRlcnMsXFxuICAgICAgY29uZmlnLnRyYW5zZm9ybVJlc3BvbnNlXFxuICAgICk7XFxuXFxuICAgIHJldHVybiByZXNwb25zZTtcXG4gIH0sIGZ1bmN0aW9uIG9uQWRhcHRlclJlamVjdGlvbihyZWFzb24pIHtcXG4gICAgaWYgKCFpc0NhbmNlbChyZWFzb24pKSB7XFxuICAgICAgdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpO1xcblxcbiAgICAgIC8vIFRyYW5zZm9ybSByZXNwb25zZSBkYXRhXFxuICAgICAgaWYgKHJlYXNvbiAmJiByZWFzb24ucmVzcG9uc2UpIHtcXG4gICAgICAgIHJlYXNvbi5yZXNwb25zZS5kYXRhID0gdHJhbnNmb3JtRGF0YShcXG4gICAgICAgICAgcmVhc29uLnJlc3BvbnNlLmRhdGEsXFxuICAgICAgICAgIHJlYXNvbi5yZXNwb25zZS5oZWFkZXJzLFxcbiAgICAgICAgICBjb25maWcudHJhbnNmb3JtUmVzcG9uc2VcXG4gICAgICAgICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZWFzb24pO1xcbiAgfSk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5a2FYTndZWFJqYUZKbGNYVmxjM1F1YW5NL1lqWmhOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNjVVJCUVZrN1FVRkRhRU1zYjBKQlFXOUNMRzFDUVVGUExFTkJRVU1zZFVWQlFXbENPMEZCUXpkRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl4MVJVRkJiMEk3UVVGRE0wTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExIbEVRVUZoTzBGQlEzQkRMRzlDUVVGdlFpeHRRa0ZCVHl4RFFVRkRMSEZHUVVFMFFqdEJRVU40UkN4clFrRkJhMElzYlVKQlFVOHNRMEZCUXl4cFJrRkJNRUk3TzBGQlJYQkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1VVRkJVVHRCUVVOeVFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxDdENRVUVyUWp0QlFVTXZRaXgxUTBGQmRVTTdRVUZEZGtNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGdpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlpHbHpjR0YwWTJoU1pYRjFaWE4wTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NjdUx5NHVMM1YwYVd4ekp5azdYRzUyWVhJZ2RISmhibk5tYjNKdFJHRjBZU0E5SUhKbGNYVnBjbVVvSnk0dmRISmhibk5tYjNKdFJHRjBZU2NwTzF4dWRtRnlJR2x6UTJGdVkyVnNJRDBnY21WeGRXbHlaU2duTGk0dlkyRnVZMlZzTDJselEyRnVZMlZzSnlrN1hHNTJZWElnWkdWbVlYVnNkSE1nUFNCeVpYRjFhWEpsS0NjdUxpOWtaV1poZFd4MGN5Y3BPMXh1ZG1GeUlHbHpRV0p6YjJ4MWRHVlZVa3dnUFNCeVpYRjFhWEpsS0NjdUx5NHVMMmhsYkhCbGNuTXZhWE5CWW5OdmJIVjBaVlZTVENjcE8xeHVkbUZ5SUdOdmJXSnBibVZWVWt4eklEMGdjbVZ4ZFdseVpTZ25MaTh1TGk5b1pXeHdaWEp6TDJOdmJXSnBibVZWVWt4ekp5azdYRzVjYmk4cUtseHVJQ29nVkdoeWIzZHpJR0VnWUVOaGJtTmxiR0FnYVdZZ1kyRnVZMlZzYkdGMGFXOXVJR2hoY3lCaVpXVnVJSEpsY1hWbGMzUmxaQzVjYmlBcUwxeHVablZ1WTNScGIyNGdkR2h5YjNkSlprTmhibU5sYkd4aGRHbHZibEpsY1hWbGMzUmxaQ2hqYjI1bWFXY3BJSHRjYmlBZ2FXWWdLR052Ym1acFp5NWpZVzVqWld4VWIydGxiaWtnZTF4dUlDQWdJR052Ym1acFp5NWpZVzVqWld4VWIydGxiaTUwYUhKdmQwbG1VbVZ4ZFdWemRHVmtLQ2s3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCRWFYTndZWFJqYUNCaElISmxjWFZsYzNRZ2RHOGdkR2hsSUhObGNuWmxjaUIxYzJsdVp5QjBhR1VnWTI5dVptbG5kWEpsWkNCaFpHRndkR1Z5TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JqYjI1bWFXY2dWR2hsSUdOdmJtWnBaeUIwYUdGMElHbHpJSFJ2SUdKbElIVnpaV1FnWm05eUlIUm9aU0J5WlhGMVpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1VISnZiV2x6WlgwZ1ZHaGxJRkJ5YjIxcGMyVWdkRzhnWW1VZ1puVnNabWxzYkdWa1hHNGdLaTljYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnWkdsemNHRjBZMmhTWlhGMVpYTjBLR052Ym1acFp5a2dlMXh1SUNCMGFISnZkMGxtUTJGdVkyVnNiR0YwYVc5dVVtVnhkV1Z6ZEdWa0tHTnZibVpwWnlrN1hHNWNiaUFnTHk4Z1UzVndjRzl5ZENCaVlYTmxWVkpNSUdOdmJtWnBaMXh1SUNCcFppQW9ZMjl1Wm1sbkxtSmhjMlZWVWt3Z0ppWWdJV2x6UVdKemIyeDFkR1ZWVWt3b1kyOXVabWxuTG5WeWJDa3BJSHRjYmlBZ0lDQmpiMjVtYVdjdWRYSnNJRDBnWTI5dFltbHVaVlZTVEhNb1kyOXVabWxuTG1KaGMyVlZVa3dzSUdOdmJtWnBaeTUxY213cE8xeHVJQ0I5WEc1Y2JpQWdMeThnUlc1emRYSmxJR2hsWVdSbGNuTWdaWGhwYzNSY2JpQWdZMjl1Wm1sbkxtaGxZV1JsY25NZ1BTQmpiMjVtYVdjdWFHVmhaR1Z5Y3lCOGZDQjdmVHRjYmx4dUlDQXZMeUJVY21GdWMyWnZjbTBnY21WeGRXVnpkQ0JrWVhSaFhHNGdJR052Ym1acFp5NWtZWFJoSUQwZ2RISmhibk5tYjNKdFJHRjBZU2hjYmlBZ0lDQmpiMjVtYVdjdVpHRjBZU3hjYmlBZ0lDQmpiMjVtYVdjdWFHVmhaR1Z5Y3l4Y2JpQWdJQ0JqYjI1bWFXY3VkSEpoYm5ObWIzSnRVbVZ4ZFdWemRGeHVJQ0FwTzF4dVhHNGdJQzh2SUVac1lYUjBaVzRnYUdWaFpHVnljMXh1SUNCamIyNW1hV2N1YUdWaFpHVnljeUE5SUhWMGFXeHpMbTFsY21kbEtGeHVJQ0FnSUdOdmJtWnBaeTVvWldGa1pYSnpMbU52YlcxdmJpQjhmQ0I3ZlN4Y2JpQWdJQ0JqYjI1bWFXY3VhR1ZoWkdWeWMxdGpiMjVtYVdjdWJXVjBhRzlrWFNCOGZDQjdmU3hjYmlBZ0lDQmpiMjVtYVdjdWFHVmhaR1Z5Y3lCOGZDQjdmVnh1SUNBcE8xeHVYRzRnSUhWMGFXeHpMbVp2Y2tWaFkyZ29YRzRnSUNBZ1d5ZGtaV3hsZEdVbkxDQW5aMlYwSnl3Z0oyaGxZV1FuTENBbmNHOXpkQ2NzSUNkd2RYUW5MQ0FuY0dGMFkyZ25MQ0FuWTI5dGJXOXVKMTBzWEc0Z0lDQWdablZ1WTNScGIyNGdZMnhsWVc1SVpXRmtaWEpEYjI1bWFXY29iV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQmtaV3hsZEdVZ1kyOXVabWxuTG1obFlXUmxjbk5iYldWMGFHOWtYVHRjYmlBZ0lDQjlYRzRnSUNrN1hHNWNiaUFnZG1GeUlHRmtZWEIwWlhJZ1BTQmpiMjVtYVdjdVlXUmhjSFJsY2lCOGZDQmtaV1poZFd4MGN5NWhaR0Z3ZEdWeU8xeHVYRzRnSUhKbGRIVnliaUJoWkdGd2RHVnlLR052Ym1acFp5a3VkR2hsYmlobWRXNWpkR2x2YmlCdmJrRmtZWEIwWlhKU1pYTnZiSFYwYVc5dUtISmxjM0J2Ym5ObEtTQjdYRzRnSUNBZ2RHaHliM2RKWmtOaGJtTmxiR3hoZEdsdmJsSmxjWFZsYzNSbFpDaGpiMjVtYVdjcE8xeHVYRzRnSUNBZ0x5OGdWSEpoYm5ObWIzSnRJSEpsYzNCdmJuTmxJR1JoZEdGY2JpQWdJQ0J5WlhOd2IyNXpaUzVrWVhSaElEMGdkSEpoYm5ObWIzSnRSR0YwWVNoY2JpQWdJQ0FnSUhKbGMzQnZibk5sTG1SaGRHRXNYRzRnSUNBZ0lDQnlaWE53YjI1elpTNW9aV0ZrWlhKekxGeHVJQ0FnSUNBZ1kyOXVabWxuTG5SeVlXNXpabTl5YlZKbGMzQnZibk5sWEc0Z0lDQWdLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpUdGNiaUFnZlN3Z1puVnVZM1JwYjI0Z2IyNUJaR0Z3ZEdWeVVtVnFaV04wYVc5dUtISmxZWE52YmlrZ2UxeHVJQ0FnSUdsbUlDZ2hhWE5EWVc1alpXd29jbVZoYzI5dUtTa2dlMXh1SUNBZ0lDQWdkR2h5YjNkSlprTmhibU5sYkd4aGRHbHZibEpsY1hWbGMzUmxaQ2hqYjI1bWFXY3BPMXh1WEc0Z0lDQWdJQ0F2THlCVWNtRnVjMlp2Y20wZ2NtVnpjRzl1YzJVZ1pHRjBZVnh1SUNBZ0lDQWdhV1lnS0hKbFlYTnZiaUFtSmlCeVpXRnpiMjR1Y21WemNHOXVjMlVwSUh0Y2JpQWdJQ0FnSUNBZ2NtVmhjMjl1TG5KbGMzQnZibk5sTG1SaGRHRWdQU0IwY21GdWMyWnZjbTFFWVhSaEtGeHVJQ0FnSUNBZ0lDQWdJSEpsWVhOdmJpNXlaWE53YjI1elpTNWtZWFJoTEZ4dUlDQWdJQ0FnSUNBZ0lISmxZWE52Ymk1eVpYTndiMjV6WlM1b1pXRmtaWEp6TEZ4dUlDQWdJQ0FnSUNBZ0lHTnZibVpwWnk1MGNtRnVjMlp2Y20xU1pYTndiMjV6WlZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYW1WamRDaHlaV0Z6YjI0cE8xeHVJQ0I5S1R0Y2JuMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qKlxcbiAqIFVwZGF0ZSBhbiBFcnJvciB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlnLCBlcnJvciBjb2RlLCBhbmQgcmVzcG9uc2UuXFxuICpcXG4gKiBAcGFyYW0ge0Vycm9yfSBlcnJvciBUaGUgZXJyb3IgdG8gdXBkYXRlLlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgVGhlIGNvbmZpZy5cXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvZGVdIFRoZSBlcnJvciBjb2RlIChmb3IgZXhhbXBsZSwgJ0VDT05OQUJPUlRFRCcpLlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBbcmVxdWVzdF0gVGhlIHJlcXVlc3QuXFxuICogQHBhcmFtIHtPYmplY3R9IFtyZXNwb25zZV0gVGhlIHJlc3BvbnNlLlxcbiAqIEByZXR1cm5zIHtFcnJvcn0gVGhlIGVycm9yLlxcbiAqL1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZW5oYW5jZUVycm9yKGVycm9yLCBjb25maWcsIGNvZGUsIHJlcXVlc3QsIHJlc3BvbnNlKSB7XFxuICBlcnJvci5jb25maWcgPSBjb25maWc7XFxuICBpZiAoY29kZSkge1xcbiAgICBlcnJvci5jb2RlID0gY29kZTtcXG4gIH1cXG5cXG4gIGVycm9yLnJlcXVlc3QgPSByZXF1ZXN0O1xcbiAgZXJyb3IucmVzcG9uc2UgPSByZXNwb25zZTtcXG4gIGVycm9yLmlzQXhpb3NFcnJvciA9IHRydWU7XFxuXFxuICBlcnJvci50b0pTT04gPSBmdW5jdGlvbigpIHtcXG4gICAgcmV0dXJuIHtcXG4gICAgICAvLyBTdGFuZGFyZFxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXFxuICAgICAgLy8gTWljcm9zb2Z0XFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXFxuICAgICAgbnVtYmVyOiB0aGlzLm51bWJlcixcXG4gICAgICAvLyBNb3ppbGxhXFxuICAgICAgZmlsZU5hbWU6IHRoaXMuZmlsZU5hbWUsXFxuICAgICAgbGluZU51bWJlcjogdGhpcy5saW5lTnVtYmVyLFxcbiAgICAgIGNvbHVtbk51bWJlcjogdGhpcy5jb2x1bW5OdW1iZXIsXFxuICAgICAgc3RhY2s6IHRoaXMuc3RhY2ssXFxuICAgICAgLy8gQXhpb3NcXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxcbiAgICAgIGNvZGU6IHRoaXMuY29kZVxcbiAgICB9O1xcbiAgfTtcXG4gIHJldHVybiBlcnJvcjtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlsYm1oaGJtTmxSWEp5YjNJdWFuTS9Zak5tT0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWp0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFMUJRVTA3UVVGRGFrSXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1RVRkJUVHRCUVVOdVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZaVzVvWVc1alpVVnljbTl5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRlZ3WkdGMFpTQmhiaUJGY25KdmNpQjNhWFJvSUhSb1pTQnpjR1ZqYVdacFpXUWdZMjl1Wm1sbkxDQmxjbkp2Y2lCamIyUmxMQ0JoYm1RZ2NtVnpjRzl1YzJVdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0RmNuSnZjbjBnWlhKeWIzSWdWR2hsSUdWeWNtOXlJSFJ2SUhWd1pHRjBaUzVjYmlBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCamIyNW1hV2NnVkdobElHTnZibVpwWnk1Y2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJZMjlrWlYwZ1ZHaGxJR1Z5Y205eUlHTnZaR1VnS0dadmNpQmxlR0Z0Y0d4bExDQW5SVU5QVGs1QlFrOVNWRVZFSnlrdVhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdXM0psY1hWbGMzUmRJRlJvWlNCeVpYRjFaWE4wTGx4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlGdHlaWE53YjI1elpWMGdWR2hsSUhKbGMzQnZibk5sTGx4dUlDb2dRSEpsZEhWeWJuTWdlMFZ5Y205eWZTQlVhR1VnWlhKeWIzSXVYRzRnS2k5Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1pXNW9ZVzVqWlVWeWNtOXlLR1Z5Y205eUxDQmpiMjVtYVdjc0lHTnZaR1VzSUhKbGNYVmxjM1FzSUhKbGMzQnZibk5sS1NCN1hHNGdJR1Z5Y205eUxtTnZibVpwWnlBOUlHTnZibVpwWnp0Y2JpQWdhV1lnS0dOdlpHVXBJSHRjYmlBZ0lDQmxjbkp2Y2k1amIyUmxJRDBnWTI5a1pUdGNiaUFnZlZ4dVhHNGdJR1Z5Y205eUxuSmxjWFZsYzNRZ1BTQnlaWEYxWlhOME8xeHVJQ0JsY25KdmNpNXlaWE53YjI1elpTQTlJSEpsYzNCdmJuTmxPMXh1SUNCbGNuSnZjaTVwYzBGNGFXOXpSWEp5YjNJZ1BTQjBjblZsTzF4dVhHNGdJR1Z5Y205eUxuUnZTbE5QVGlBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBdkx5QlRkR0Z1WkdGeVpGeHVJQ0FnSUNBZ2JXVnpjMkZuWlRvZ2RHaHBjeTV0WlhOellXZGxMRnh1SUNBZ0lDQWdibUZ0WlRvZ2RHaHBjeTV1WVcxbExGeHVJQ0FnSUNBZ0x5OGdUV2xqY205emIyWjBYRzRnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nZEdocGN5NWtaWE5qY21sd2RHbHZiaXhjYmlBZ0lDQWdJRzUxYldKbGNqb2dkR2hwY3k1dWRXMWlaWElzWEc0Z0lDQWdJQ0F2THlCTmIzcHBiR3hoWEc0Z0lDQWdJQ0JtYVd4bFRtRnRaVG9nZEdocGN5NW1hV3hsVG1GdFpTeGNiaUFnSUNBZ0lHeHBibVZPZFcxaVpYSTZJSFJvYVhNdWJHbHVaVTUxYldKbGNpeGNiaUFnSUNBZ0lHTnZiSFZ0Yms1MWJXSmxjam9nZEdocGN5NWpiMngxYlc1T2RXMWlaWElzWEc0Z0lDQWdJQ0J6ZEdGamF6b2dkR2hwY3k1emRHRmpheXhjYmlBZ0lDQWdJQzh2SUVGNGFXOXpYRzRnSUNBZ0lDQmpiMjVtYVdjNklIUm9hWE11WTI5dVptbG5MRnh1SUNBZ0lDQWdZMjlrWlRvZ2RHaHBjeTVqYjJSbFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmlBZ2NtVjBkWEp1SUdWeWNtOXlPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxuLyoqXFxuICogQ29uZmlnLXNwZWNpZmljIG1lcmdlLWZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgYSBuZXcgY29uZmlnLW9iamVjdFxcbiAqIGJ5IG1lcmdpbmcgdHdvIGNvbmZpZ3VyYXRpb24gb2JqZWN0cyB0b2dldGhlci5cXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcxXFxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZzJcXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBOZXcgb2JqZWN0IHJlc3VsdGluZyBmcm9tIG1lcmdpbmcgY29uZmlnMiB0byBjb25maWcxXFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBtZXJnZUNvbmZpZyhjb25maWcxLCBjb25maWcyKSB7XFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cXG4gIGNvbmZpZzIgPSBjb25maWcyIHx8IHt9O1xcbiAgdmFyIGNvbmZpZyA9IHt9O1xcblxcbiAgdXRpbHMuZm9yRWFjaChbJ3VybCcsICdtZXRob2QnLCAncGFyYW1zJywgJ2RhdGEnXSwgZnVuY3Rpb24gdmFsdWVGcm9tQ29uZmlnMihwcm9wKSB7XFxuICAgIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xcbiAgICB9XFxuICB9KTtcXG5cXG4gIHV0aWxzLmZvckVhY2goWydoZWFkZXJzJywgJ2F1dGgnLCAncHJveHknXSwgZnVuY3Rpb24gbWVyZ2VEZWVwUHJvcGVydGllcyhwcm9wKSB7XFxuICAgIGlmICh1dGlscy5pc09iamVjdChjb25maWcyW3Byb3BdKSkge1xcbiAgICAgIGNvbmZpZ1twcm9wXSA9IHV0aWxzLmRlZXBNZXJnZShjb25maWcxW3Byb3BdLCBjb25maWcyW3Byb3BdKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xcbiAgICB9IGVsc2UgaWYgKHV0aWxzLmlzT2JqZWN0KGNvbmZpZzFbcHJvcF0pKSB7XFxuICAgICAgY29uZmlnW3Byb3BdID0gdXRpbHMuZGVlcE1lcmdlKGNvbmZpZzFbcHJvcF0pO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25maWcxW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGNvbmZpZzFbcHJvcF07XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgdXRpbHMuZm9yRWFjaChbXFxuICAgICdiYXNlVVJMJywgJ3RyYW5zZm9ybVJlcXVlc3QnLCAndHJhbnNmb3JtUmVzcG9uc2UnLCAncGFyYW1zU2VyaWFsaXplcicsXFxuICAgICd0aW1lb3V0JywgJ3dpdGhDcmVkZW50aWFscycsICdhZGFwdGVyJywgJ3Jlc3BvbnNlVHlwZScsICd4c3JmQ29va2llTmFtZScsXFxuICAgICd4c3JmSGVhZGVyTmFtZScsICdvblVwbG9hZFByb2dyZXNzJywgJ29uRG93bmxvYWRQcm9ncmVzcycsICdtYXhDb250ZW50TGVuZ3RoJyxcXG4gICAgJ3ZhbGlkYXRlU3RhdHVzJywgJ21heFJlZGlyZWN0cycsICdodHRwQWdlbnQnLCAnaHR0cHNBZ2VudCcsICdjYW5jZWxUb2tlbicsXFxuICAgICdzb2NrZXRQYXRoJ1xcbiAgXSwgZnVuY3Rpb24gZGVmYXVsdFRvQ29uZmlnMihwcm9wKSB7XFxuICAgIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25maWcxW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGNvbmZpZzFbcHJvcF07XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgcmV0dXJuIGNvbmZpZztcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzl0WlhKblpVTnZibVpwWnk1cWN6OHdPR1V5SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZsQlFWa3NiVUpCUVU4c1EwRkJReXh0UkVGQlZUczdRVUZGT1VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNUMEZCVHp0QlFVTndRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdRVUZGU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFZEJRVWM3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2YldWeVoyVkRiMjVtYVdjdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHVMM1YwYVd4ekp5azdYRzVjYmk4cUtseHVJQ29nUTI5dVptbG5MWE53WldOcFptbGpJRzFsY21kbExXWjFibU4wYVc5dUlIZG9hV05vSUdOeVpXRjBaWE1nWVNCdVpYY2dZMjl1Wm1sbkxXOWlhbVZqZEZ4dUlDb2dZbmtnYldWeVoybHVaeUIwZDI4Z1kyOXVabWxuZFhKaGRHbHZiaUJ2WW1wbFkzUnpJSFJ2WjJWMGFHVnlMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmpiMjVtYVdjeFhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdZMjl1Wm1sbk1seHVJQ29nUUhKbGRIVnlibk1nZTA5aWFtVmpkSDBnVG1WM0lHOWlhbVZqZENCeVpYTjFiSFJwYm1jZ1puSnZiU0J0WlhKbmFXNW5JR052Ym1acFp6SWdkRzhnWTI5dVptbG5NVnh1SUNvdlhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlHMWxjbWRsUTI5dVptbG5LR052Ym1acFp6RXNJR052Ym1acFp6SXBJSHRjYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMWEJoY21GdExYSmxZWE56YVdkdVhHNGdJR052Ym1acFp6SWdQU0JqYjI1bWFXY3lJSHg4SUh0OU8xeHVJQ0IyWVhJZ1kyOXVabWxuSUQwZ2UzMDdYRzVjYmlBZ2RYUnBiSE11Wm05eVJXRmphQ2hiSjNWeWJDY3NJQ2R0WlhSb2IyUW5MQ0FuY0dGeVlXMXpKeXdnSjJSaGRHRW5YU3dnWm5WdVkzUnBiMjRnZG1Gc2RXVkdjbTl0UTI5dVptbG5NaWh3Y205d0tTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmpiMjVtYVdjeVczQnliM0JkSUNFOVBTQW5kVzVrWldacGJtVmtKeWtnZTF4dUlDQWdJQ0FnWTI5dVptbG5XM0J5YjNCZElEMGdZMjl1Wm1sbk1sdHdjbTl3WFR0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc0Z0lIVjBhV3h6TG1admNrVmhZMmdvV3lkb1pXRmtaWEp6Snl3Z0oyRjFkR2duTENBbmNISnZlSGtuWFN3Z1puVnVZM1JwYjI0Z2JXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGN5aHdjbTl3S1NCN1hHNGdJQ0FnYVdZZ0tIVjBhV3h6TG1selQySnFaV04wS0dOdmJtWnBaekpiY0hKdmNGMHBLU0I3WEc0Z0lDQWdJQ0JqYjI1bWFXZGJjSEp2Y0YwZ1BTQjFkR2xzY3k1a1pXVndUV1Z5WjJVb1kyOXVabWxuTVZ0d2NtOXdYU3dnWTI5dVptbG5NbHR3Y205d1hTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ1kyOXVabWxuTWx0d2NtOXdYU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJSHRjYmlBZ0lDQWdJR052Ym1acFoxdHdjbTl3WFNBOUlHTnZibVpwWnpKYmNISnZjRjA3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gxZEdsc2N5NXBjMDlpYW1WamRDaGpiMjVtYVdjeFczQnliM0JkS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVabWxuVzNCeWIzQmRJRDBnZFhScGJITXVaR1ZsY0UxbGNtZGxLR052Ym1acFp6RmJjSEp2Y0YwcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdOdmJtWnBaekZiY0hKdmNGMGdJVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQmpiMjVtYVdkYmNISnZjRjBnUFNCamIyNW1hV2N4VzNCeWIzQmRPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNWNiaUFnZFhScGJITXVabTl5UldGamFDaGJYRzRnSUNBZ0oySmhjMlZWVWt3bkxDQW5kSEpoYm5ObWIzSnRVbVZ4ZFdWemRDY3NJQ2QwY21GdWMyWnZjbTFTWlhOd2IyNXpaU2NzSUNkd1lYSmhiWE5UWlhKcFlXeHBlbVZ5Snl4Y2JpQWdJQ0FuZEdsdFpXOTFkQ2NzSUNkM2FYUm9RM0psWkdWdWRHbGhiSE1uTENBbllXUmhjSFJsY2ljc0lDZHlaWE53YjI1elpWUjVjR1VuTENBbmVITnlaa052YjJ0cFpVNWhiV1VuTEZ4dUlDQWdJQ2Q0YzNKbVNHVmhaR1Z5VG1GdFpTY3NJQ2R2YmxWd2JHOWhaRkJ5YjJkeVpYTnpKeXdnSjI5dVJHOTNibXh2WVdSUWNtOW5jbVZ6Y3ljc0lDZHRZWGhEYjI1MFpXNTBUR1Z1WjNSb0p5eGNiaUFnSUNBbmRtRnNhV1JoZEdWVGRHRjBkWE1uTENBbmJXRjRVbVZrYVhKbFkzUnpKeXdnSjJoMGRIQkJaMlZ1ZENjc0lDZG9kSFJ3YzBGblpXNTBKeXdnSjJOaGJtTmxiRlJ2YTJWdUp5eGNiaUFnSUNBbmMyOWphMlYwVUdGMGFDZGNiaUFnWFN3Z1puVnVZM1JwYjI0Z1pHVm1ZWFZzZEZSdlEyOXVabWxuTWlod2NtOXdLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1bWFXY3lXM0J5YjNCZElDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ1kyOXVabWxuVzNCeWIzQmRJRDBnWTI5dVptbG5NbHR3Y205d1hUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCamIyNW1hV2N4VzNCeWIzQmRJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5a2dlMXh1SUNBZ0lDQWdZMjl1Wm1sblczQnliM0JkSUQwZ1kyOXVabWxuTVZ0d2NtOXdYVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUJqYjI1bWFXYzdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3NldHRsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgY3JlYXRlRXJyb3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NyZWF0ZUVycm9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9jcmVhdGVFcnJvci5qc1xcXCIpO1xcblxcbi8qKlxcbiAqIFJlc29sdmUgb3IgcmVqZWN0IGEgUHJvbWlzZSBiYXNlZCBvbiByZXNwb25zZSBzdGF0dXMuXFxuICpcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZXNvbHZlIEEgZnVuY3Rpb24gdGhhdCByZXNvbHZlcyB0aGUgcHJvbWlzZS5cXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWplY3QgQSBmdW5jdGlvbiB0aGF0IHJlamVjdHMgdGhlIHByb21pc2UuXFxuICogQHBhcmFtIHtvYmplY3R9IHJlc3BvbnNlIFRoZSByZXNwb25zZS5cXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHJlc3BvbnNlKSB7XFxuICB2YXIgdmFsaWRhdGVTdGF0dXMgPSByZXNwb25zZS5jb25maWcudmFsaWRhdGVTdGF0dXM7XFxuICBpZiAoIXZhbGlkYXRlU3RhdHVzIHx8IHZhbGlkYXRlU3RhdHVzKHJlc3BvbnNlLnN0YXR1cykpIHtcXG4gICAgcmVzb2x2ZShyZXNwb25zZSk7XFxuICB9IGVsc2Uge1xcbiAgICByZWplY3QoY3JlYXRlRXJyb3IoXFxuICAgICAgJ1JlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJyArIHJlc3BvbnNlLnN0YXR1cyxcXG4gICAgICByZXNwb25zZS5jb25maWcsXFxuICAgICAgbnVsbCxcXG4gICAgICByZXNwb25zZS5yZXF1ZXN0LFxcbiAgICAgIHJlc3BvbnNlXFxuICAgICkpO1xcbiAgfVxcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOXpaWFIwYkdVdWFuTS9ORGsxT0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4clFrRkJhMElzYlVKQlFVOHNRMEZCUXl4dFJVRkJaVHM3UVVGRmVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhUUVVGVE8wRkJRM0JDTEZkQlFWY3NVMEZCVXp0QlFVTndRaXhYUVVGWExFOUJRVTg3UVVGRGJFSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdmMyVjBkR3hsTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1kzSmxZWFJsUlhKeWIzSWdQU0J5WlhGMWFYSmxLQ2N1TDJOeVpXRjBaVVZ5Y205eUp5azdYRzVjYmk4cUtseHVJQ29nVW1WemIyeDJaU0J2Y2lCeVpXcGxZM1FnWVNCUWNtOXRhWE5sSUdKaGMyVmtJRzl1SUhKbGMzQnZibk5sSUhOMFlYUjFjeTVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0J5WlhOdmJIWmxJRUVnWm5WdVkzUnBiMjRnZEdoaGRDQnlaWE52YkhabGN5QjBhR1VnY0hKdmJXbHpaUzVjYmlBcUlFQndZWEpoYlNCN1JuVnVZM1JwYjI1OUlISmxhbVZqZENCQklHWjFibU4wYVc5dUlIUm9ZWFFnY21WcVpXTjBjeUIwYUdVZ2NISnZiV2x6WlM1Y2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnlaWE53YjI1elpTQlVhR1VnY21WemNHOXVjMlV1WEc0Z0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdjMlYwZEd4bEtISmxjMjlzZG1Vc0lISmxhbVZqZEN3Z2NtVnpjRzl1YzJVcElIdGNiaUFnZG1GeUlIWmhiR2xrWVhSbFUzUmhkSFZ6SUQwZ2NtVnpjRzl1YzJVdVkyOXVabWxuTG5aaGJHbGtZWFJsVTNSaGRIVnpPMXh1SUNCcFppQW9JWFpoYkdsa1lYUmxVM1JoZEhWeklIeDhJSFpoYkdsa1lYUmxVM1JoZEhWektISmxjM0J2Ym5ObExuTjBZWFIxY3lrcElIdGNiaUFnSUNCeVpYTnZiSFpsS0hKbGMzQnZibk5sS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpXcGxZM1FvWTNKbFlYUmxSWEp5YjNJb1hHNGdJQ0FnSUNBblVtVnhkV1Z6ZENCbVlXbHNaV1FnZDJsMGFDQnpkR0YwZFhNZ1kyOWtaU0FuSUNzZ2NtVnpjRzl1YzJVdWMzUmhkSFZ6TEZ4dUlDQWdJQ0FnY21WemNHOXVjMlV1WTI5dVptbG5MRnh1SUNBZ0lDQWdiblZzYkN4Y2JpQWdJQ0FnSUhKbGMzQnZibk5sTG5KbGNYVmxjM1FzWEc0Z0lDQWdJQ0J5WlhOd2IyNXpaVnh1SUNBZ0lDa3BPMXh1SUNCOVhHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9zZXR0bGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS90cmFuc2Zvcm1EYXRhLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxuLyoqXFxuICogVHJhbnNmb3JtIHRoZSBkYXRhIGZvciBhIHJlcXVlc3Qgb3IgYSByZXNwb25zZVxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R8U3RyaW5nfSBkYXRhIFRoZSBkYXRhIHRvIGJlIHRyYW5zZm9ybWVkXFxuICogQHBhcmFtIHtBcnJheX0gaGVhZGVycyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3Qgb3IgcmVzcG9uc2VcXG4gKiBAcGFyYW0ge0FycmF5fEZ1bmN0aW9ufSBmbnMgQSBzaW5nbGUgZnVuY3Rpb24gb3IgQXJyYXkgb2YgZnVuY3Rpb25zXFxuICogQHJldHVybnMgeyp9IFRoZSByZXN1bHRpbmcgdHJhbnNmb3JtZWQgZGF0YVxcbiAqL1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdHJhbnNmb3JtRGF0YShkYXRhLCBoZWFkZXJzLCBmbnMpIHtcXG4gIC8qZXNsaW50IG5vLXBhcmFtLXJlYXNzaWduOjAqL1xcbiAgdXRpbHMuZm9yRWFjaChmbnMsIGZ1bmN0aW9uIHRyYW5zZm9ybShmbikge1xcbiAgICBkYXRhID0gZm4oZGF0YSwgaGVhZGVycyk7XFxuICB9KTtcXG5cXG4gIHJldHVybiBkYXRhO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOTBjbUZ1YzJadmNtMUVZWFJoTG1welAyVmtaakFpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVdFN08wRkJSV0lzV1VGQldTeHRRa0ZCVHl4RFFVRkRMSEZFUVVGWk96dEJRVVZvUXp0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExHTkJRV003UVVGRGVrSXNWMEZCVnl4TlFVRk5PMEZCUTJwQ0xGZEJRVmNzWlVGQlpUdEJRVU14UWl4aFFVRmhMRVZCUVVVN1FVRkRaanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5amIzSmxMM1J5WVc1elptOXliVVJoZEdFdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHZMaTR2ZFhScGJITW5LVHRjYmx4dUx5b3FYRzRnS2lCVWNtRnVjMlp2Y20wZ2RHaGxJR1JoZEdFZ1ptOXlJR0VnY21WeGRXVnpkQ0J2Y2lCaElISmxjM0J2Ym5ObFhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I4VTNSeWFXNW5mU0JrWVhSaElGUm9aU0JrWVhSaElIUnZJR0psSUhSeVlXNXpabTl5YldWa1hHNGdLaUJBY0dGeVlXMGdlMEZ5Y21GNWZTQm9aV0ZrWlhKeklGUm9aU0JvWldGa1pYSnpJR1p2Y2lCMGFHVWdjbVZ4ZFdWemRDQnZjaUJ5WlhOd2IyNXpaVnh1SUNvZ1FIQmhjbUZ0SUh0QmNuSmhlWHhHZFc1amRHbHZibjBnWm01eklFRWdjMmx1WjJ4bElHWjFibU4wYVc5dUlHOXlJRUZ5Y21GNUlHOW1JR1oxYm1OMGFXOXVjMXh1SUNvZ1FISmxkSFZ5Ym5NZ2V5cDlJRlJvWlNCeVpYTjFiSFJwYm1jZ2RISmhibk5tYjNKdFpXUWdaR0YwWVZ4dUlDb3ZYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJSFJ5WVc1elptOXliVVJoZEdFb1pHRjBZU3dnYUdWaFpHVnljeXdnWm01ektTQjdYRzRnSUM4cVpYTnNhVzUwSUc1dkxYQmhjbUZ0TFhKbFlYTnphV2R1T2pBcUwxeHVJQ0IxZEdsc2N5NW1iM0pGWVdOb0tHWnVjeXdnWm5WdVkzUnBiMjRnZEhKaGJuTm1iM0p0S0dadUtTQjdYRzRnSUNBZ1pHRjBZU0E5SUdadUtHUmhkR0VzSUdobFlXUmxjbk1wTzF4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z1pHRjBZVHRjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvdHJhbnNmb3JtRGF0YS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvZGVmYXVsdHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7XFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIG5vcm1hbGl6ZUhlYWRlck5hbWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qc1xcXCIpO1xcblxcbnZhciBERUZBVUxUX0NPTlRFTlRfVFlQRSA9IHtcXG4gICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xcbn07XFxuXFxuZnVuY3Rpb24gc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsIHZhbHVlKSB7XFxuICBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGhlYWRlcnMpICYmIHV0aWxzLmlzVW5kZWZpbmVkKGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddKSkge1xcbiAgICBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IHZhbHVlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXREZWZhdWx0QWRhcHRlcigpIHtcXG4gIHZhciBhZGFwdGVyO1xcbiAgLy8gT25seSBOb2RlLkpTIGhhcyBhIHByb2Nlc3MgdmFyaWFibGUgdGhhdCBpcyBvZiBbW0NsYXNzXV0gcHJvY2Vzc1xcbiAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykgPT09ICdbb2JqZWN0IHByb2Nlc3NdJykge1xcbiAgICAvLyBGb3Igbm9kZSB1c2UgSFRUUCBhZGFwdGVyXFxuICAgIGFkYXB0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FkYXB0ZXJzL2h0dHAgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9hZGFwdGVycy94aHIuanNcXFwiKTtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIFhNTEh0dHBSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAvLyBGb3IgYnJvd3NlcnMgdXNlIFhIUiBhZGFwdGVyXFxuICAgIGFkYXB0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FkYXB0ZXJzL3hociAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qc1xcXCIpO1xcbiAgfVxcbiAgcmV0dXJuIGFkYXB0ZXI7XFxufVxcblxcbnZhciBkZWZhdWx0cyA9IHtcXG4gIGFkYXB0ZXI6IGdldERlZmF1bHRBZGFwdGVyKCksXFxuXFxuICB0cmFuc2Zvcm1SZXF1ZXN0OiBbZnVuY3Rpb24gdHJhbnNmb3JtUmVxdWVzdChkYXRhLCBoZWFkZXJzKSB7XFxuICAgIG5vcm1hbGl6ZUhlYWRlck5hbWUoaGVhZGVycywgJ0FjY2VwdCcpO1xcbiAgICBub3JtYWxpemVIZWFkZXJOYW1lKGhlYWRlcnMsICdDb250ZW50LVR5cGUnKTtcXG4gICAgaWYgKHV0aWxzLmlzRm9ybURhdGEoZGF0YSkgfHxcXG4gICAgICB1dGlscy5pc0FycmF5QnVmZmVyKGRhdGEpIHx8XFxuICAgICAgdXRpbHMuaXNCdWZmZXIoZGF0YSkgfHxcXG4gICAgICB1dGlscy5pc1N0cmVhbShkYXRhKSB8fFxcbiAgICAgIHV0aWxzLmlzRmlsZShkYXRhKSB8fFxcbiAgICAgIHV0aWxzLmlzQmxvYihkYXRhKVxcbiAgICApIHtcXG4gICAgICByZXR1cm4gZGF0YTtcXG4gICAgfVxcbiAgICBpZiAodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcoZGF0YSkpIHtcXG4gICAgICByZXR1cm4gZGF0YS5idWZmZXI7XFxuICAgIH1cXG4gICAgaWYgKHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKGRhdGEpKSB7XFxuICAgICAgc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCcpO1xcbiAgICAgIHJldHVybiBkYXRhLnRvU3RyaW5nKCk7XFxuICAgIH1cXG4gICAgaWYgKHV0aWxzLmlzT2JqZWN0KGRhdGEpKSB7XFxuICAgICAgc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgnKTtcXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIGRhdGE7XFxuICB9XSxcXG5cXG4gIHRyYW5zZm9ybVJlc3BvbnNlOiBbZnVuY3Rpb24gdHJhbnNmb3JtUmVzcG9uc2UoZGF0YSkge1xcbiAgICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xcbiAgICAgIHRyeSB7XFxuICAgICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcXG4gICAgICB9IGNhdGNoIChlKSB7IC8qIElnbm9yZSAqLyB9XFxuICAgIH1cXG4gICAgcmV0dXJuIGRhdGE7XFxuICB9XSxcXG5cXG4gIC8qKlxcbiAgICogQSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0byBhYm9ydCBhIHJlcXVlc3QuIElmIHNldCB0byAwIChkZWZhdWx0KSBhXFxuICAgKiB0aW1lb3V0IGlzIG5vdCBjcmVhdGVkLlxcbiAgICovXFxuICB0aW1lb3V0OiAwLFxcblxcbiAgeHNyZkNvb2tpZU5hbWU6ICdYU1JGLVRPS0VOJyxcXG4gIHhzcmZIZWFkZXJOYW1lOiAnWC1YU1JGLVRPS0VOJyxcXG5cXG4gIG1heENvbnRlbnRMZW5ndGg6IC0xLFxcblxcbiAgdmFsaWRhdGVTdGF0dXM6IGZ1bmN0aW9uIHZhbGlkYXRlU3RhdHVzKHN0YXR1cykge1xcbiAgICByZXR1cm4gc3RhdHVzID49IDIwMCAmJiBzdGF0dXMgPCAzMDA7XFxuICB9XFxufTtcXG5cXG5kZWZhdWx0cy5oZWFkZXJzID0ge1xcbiAgY29tbW9uOiB7XFxuICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qJ1xcbiAgfVxcbn07XFxuXFxudXRpbHMuZm9yRWFjaChbJ2RlbGV0ZScsICdnZXQnLCAnaGVhZCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xcbiAgZGVmYXVsdHMuaGVhZGVyc1ttZXRob2RdID0ge307XFxufSk7XFxuXFxudXRpbHMuZm9yRWFjaChbJ3Bvc3QnLCAncHV0JywgJ3BhdGNoJ10sIGZ1bmN0aW9uIGZvckVhY2hNZXRob2RXaXRoRGF0YShtZXRob2QpIHtcXG4gIGRlZmF1bHRzLmhlYWRlcnNbbWV0aG9kXSA9IHV0aWxzLm1lcmdlKERFRkFVTFRfQ09OVEVOVF9UWVBFKTtcXG59KTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmF1bHRzO1xcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlpHVm1ZWFZzZEhNdWFuTS9OemhtWWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTd3JRMEZCWVRzN1FVRkZZaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNhMFJCUVZNN1FVRkROMElzTUVKQlFUQkNMRzFDUVVGUExFTkJRVU1zT0VaQlFTdENPenRCUVVWcVJUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWTBGQll5eHRRa0ZCVHl4RFFVRkRMR2xGUVVGcFFqdEJRVU4yUXl4SFFVRkhPMEZCUTBnN1FVRkRRU3hqUVVGakxHMUNRVUZQTEVOQlFVTXNaMFZCUVdkQ08wRkJRM1JETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBWQlFYZEZPMEZCUTNoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWRVFVRjFSRHRCUVVOMlJEdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBMRmxCUVZrN1FVRkRia0k3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVFpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMlJsWm1GMWJIUnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TDNWMGFXeHpKeWs3WEc1MllYSWdibTl5YldGc2FYcGxTR1ZoWkdWeVRtRnRaU0E5SUhKbGNYVnBjbVVvSnk0dmFHVnNjR1Z5Y3k5dWIzSnRZV3hwZW1WSVpXRmtaWEpPWVcxbEp5azdYRzVjYm5aaGNpQkVSVVpCVlV4VVgwTlBUbFJGVGxSZlZGbFFSU0E5SUh0Y2JpQWdKME52Ym5SbGJuUXRWSGx3WlNjNklDZGhjSEJzYVdOaGRHbHZiaTk0TFhkM2R5MW1iM0p0TFhWeWJHVnVZMjlrWldRblhHNTlPMXh1WEc1bWRXNWpkR2x2YmlCelpYUkRiMjUwWlc1MFZIbHdaVWxtVlc1elpYUW9hR1ZoWkdWeWN5d2dkbUZzZFdVcElIdGNiaUFnYVdZZ0tDRjFkR2xzY3k1cGMxVnVaR1ZtYVc1bFpDaG9aV0ZrWlhKektTQW1KaUIxZEdsc2N5NXBjMVZ1WkdWbWFXNWxaQ2hvWldGa1pYSnpXeWREYjI1MFpXNTBMVlI1Y0dVblhTa3BJSHRjYmlBZ0lDQm9aV0ZrWlhKeld5ZERiMjUwWlc1MExWUjVjR1VuWFNBOUlIWmhiSFZsTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRVJsWm1GMWJIUkJaR0Z3ZEdWeUtDa2dlMXh1SUNCMllYSWdZV1JoY0hSbGNqdGNiaUFnTHk4Z1QyNXNlU0JPYjJSbExrcFRJR2hoY3lCaElIQnliMk5sYzNNZ2RtRnlhV0ZpYkdVZ2RHaGhkQ0JwY3lCdlppQmJXME5zWVhOelhWMGdjSEp2WTJWemMxeHVJQ0JwWmlBb2RIbHdaVzltSUhCeWIyTmxjM01nSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWN1WTJGc2JDaHdjbTlqWlhOektTQTlQVDBnSjF0dlltcGxZM1FnY0hKdlkyVnpjMTBuS1NCN1hHNGdJQ0FnTHk4Z1JtOXlJRzV2WkdVZ2RYTmxJRWhVVkZBZ1lXUmhjSFJsY2x4dUlDQWdJR0ZrWVhCMFpYSWdQU0J5WlhGMWFYSmxLQ2N1TDJGa1lYQjBaWEp6TDJoMGRIQW5LVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ1dFMU1TSFIwY0ZKbGNYVmxjM1FnSVQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdMeThnUm05eUlHSnliM2R6WlhKeklIVnpaU0JZU0ZJZ1lXUmhjSFJsY2x4dUlDQWdJR0ZrWVhCMFpYSWdQU0J5WlhGMWFYSmxLQ2N1TDJGa1lYQjBaWEp6TDNob2NpY3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmhaR0Z3ZEdWeU8xeHVmVnh1WEc1MllYSWdaR1ZtWVhWc2RITWdQU0I3WEc0Z0lHRmtZWEIwWlhJNklHZGxkRVJsWm1GMWJIUkJaR0Z3ZEdWeUtDa3NYRzVjYmlBZ2RISmhibk5tYjNKdFVtVnhkV1Z6ZERvZ1cyWjFibU4wYVc5dUlIUnlZVzV6Wm05eWJWSmxjWFZsYzNRb1pHRjBZU3dnYUdWaFpHVnljeWtnZTF4dUlDQWdJRzV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1VvYUdWaFpHVnljeXdnSjBGalkyVndkQ2NwTzF4dUlDQWdJRzV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1VvYUdWaFpHVnljeXdnSjBOdmJuUmxiblF0Vkhsd1pTY3BPMXh1SUNBZ0lHbG1JQ2gxZEdsc2N5NXBjMFp2Y20xRVlYUmhLR1JoZEdFcElIeDhYRzRnSUNBZ0lDQjFkR2xzY3k1cGMwRnljbUY1UW5WbVptVnlLR1JoZEdFcElIeDhYRzRnSUNBZ0lDQjFkR2xzY3k1cGMwSjFabVpsY2loa1lYUmhLU0I4ZkZ4dUlDQWdJQ0FnZFhScGJITXVhWE5UZEhKbFlXMG9aR0YwWVNrZ2ZIeGNiaUFnSUNBZ0lIVjBhV3h6TG1selJtbHNaU2hrWVhSaEtTQjhmRnh1SUNBZ0lDQWdkWFJwYkhNdWFYTkNiRzlpS0dSaGRHRXBYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1pHRjBZVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSFYwYVd4ekxtbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM0tHUmhkR0VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlTNWlkV1ptWlhJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMWRHbHNjeTVwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeWhrWVhSaEtTa2dlMXh1SUNBZ0lDQWdjMlYwUTI5dWRHVnVkRlI1Y0dWSlpsVnVjMlYwS0dobFlXUmxjbk1zSUNkaGNIQnNhV05oZEdsdmJpOTRMWGQzZHkxbWIzSnRMWFZ5YkdWdVkyOWtaV1E3WTJoaGNuTmxkRDExZEdZdE9DY3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHUmhkR0V1ZEc5VGRISnBibWNvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hWMGFXeHpMbWx6VDJKcVpXTjBLR1JoZEdFcEtTQjdYRzRnSUNBZ0lDQnpaWFJEYjI1MFpXNTBWSGx3WlVsbVZXNXpaWFFvYUdWaFpHVnljeXdnSjJGd2NHeHBZMkYwYVc5dUwycHpiMjQ3WTJoaGNuTmxkRDExZEdZdE9DY3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0dSaGRHRXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWkdGMFlUdGNiaUFnZlYwc1hHNWNiaUFnZEhKaGJuTm1iM0p0VW1WemNHOXVjMlU2SUZ0bWRXNWpkR2x2YmlCMGNtRnVjMlp2Y20xU1pYTndiMjV6WlNoa1lYUmhLU0I3WEc0Z0lDQWdMeXBsYzJ4cGJuUWdibTh0Y0dGeVlXMHRjbVZoYzNOcFoyNDZNQ292WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJrWVhSaElEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdaR0YwWVNBOUlFcFRUMDR1Y0dGeWMyVW9aR0YwWVNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJQzhxSUVsbmJtOXlaU0FxTHlCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmtZWFJoTzF4dUlDQjlYU3hjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0IwYVcxbGIzVjBJR2x1SUcxcGJHeHBjMlZqYjI1a2N5QjBieUJoWW05eWRDQmhJSEpsY1hWbGMzUXVJRWxtSUhObGRDQjBieUF3SUNoa1pXWmhkV3gwS1NCaFhHNGdJQ0FxSUhScGJXVnZkWFFnYVhNZ2JtOTBJR055WldGMFpXUXVYRzRnSUNBcUwxeHVJQ0IwYVcxbGIzVjBPaUF3TEZ4dVhHNGdJSGh6Y21aRGIyOXJhV1ZPWVcxbE9pQW5XRk5TUmkxVVQwdEZUaWNzWEc0Z0lIaHpjbVpJWldGa1pYSk9ZVzFsT2lBbldDMVlVMUpHTFZSUFMwVk9KeXhjYmx4dUlDQnRZWGhEYjI1MFpXNTBUR1Z1WjNSb09pQXRNU3hjYmx4dUlDQjJZV3hwWkdGMFpWTjBZWFIxY3pvZ1puVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGRHRjBkWE1vYzNSaGRIVnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlITjBZWFIxY3lBK1BTQXlNREFnSmlZZ2MzUmhkSFZ6SUR3Z016QXdPMXh1SUNCOVhHNTlPMXh1WEc1a1pXWmhkV3gwY3k1b1pXRmtaWEp6SUQwZ2UxeHVJQ0JqYjIxdGIyNDZJSHRjYmlBZ0lDQW5RV05qWlhCMEp6b2dKMkZ3Y0d4cFkyRjBhVzl1TDJwemIyNHNJSFJsZUhRdmNHeGhhVzRzSUNvdktpZGNiaUFnZlZ4dWZUdGNibHh1ZFhScGJITXVabTl5UldGamFDaGJKMlJsYkdWMFpTY3NJQ2RuWlhRbkxDQW5hR1ZoWkNkZExDQm1kVzVqZEdsdmJpQm1iM0pGWVdOb1RXVjBhRzlrVG05RVlYUmhLRzFsZEdodlpDa2dlMXh1SUNCa1pXWmhkV3gwY3k1b1pXRmtaWEp6VzIxbGRHaHZaRjBnUFNCN2ZUdGNibjBwTzF4dVhHNTFkR2xzY3k1bWIzSkZZV05vS0ZzbmNHOXpkQ2NzSUNkd2RYUW5MQ0FuY0dGMFkyZ25YU3dnWm5WdVkzUnBiMjRnWm05eVJXRmphRTFsZEdodlpGZHBkR2hFWVhSaEtHMWxkR2h2WkNrZ2UxeHVJQ0JrWldaaGRXeDBjeTVvWldGa1pYSnpXMjFsZEdodlpGMGdQU0IxZEdsc2N5NXRaWEpuWlNoRVJVWkJWVXhVWDBOUFRsUkZUbFJmVkZsUVJTazdYRzU5S1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmtaV1poZFd4MGN6dGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9kZWZhdWx0cy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYmluZC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGJpbmQoZm4sIHRoaXNBcmcpIHtcXG4gIHJldHVybiBmdW5jdGlvbiB3cmFwKCkge1xcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcXG4gICAgfVxcbiAgICByZXR1cm4gZm4uYXBwbHkodGhpc0FyZywgYXJncyk7XFxuICB9O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlpYVc1a0xtcHpQMlJsTWpFaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2xDUVVGcFFqdEJRVU53UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDJKcGJtUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1ltbHVaQ2htYml3Z2RHaHBjMEZ5WnlrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdkM0poY0NncElIdGNiaUFnSUNCMllYSWdZWEpuY3lBOUlHNWxkeUJCY25KaGVTaGhjbWQxYldWdWRITXViR1Z1WjNSb0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHRnlaM011YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHRnlaM05iYVYwZ1BTQmhjbWQxYldWdWRITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCbWJpNWhjSEJzZVNoMGFHbHpRWEpuTENCaGNtZHpLVHRjYmlBZ2ZUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9iaW5kLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBlbmNvZGUodmFsKSB7XFxuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbCkuXFxuICAgIHJlcGxhY2UoLyU0MC9naSwgJ0AnKS5cXG4gICAgcmVwbGFjZSgvJTNBL2dpLCAnOicpLlxcbiAgICByZXBsYWNlKC8lMjQvZywgJyQnKS5cXG4gICAgcmVwbGFjZSgvJTJDL2dpLCAnLCcpLlxcbiAgICByZXBsYWNlKC8lMjAvZywgJysnKS5cXG4gICAgcmVwbGFjZSgvJTVCL2dpLCAnWycpLlxcbiAgICByZXBsYWNlKC8lNUQvZ2ksICddJyk7XFxufVxcblxcbi8qKlxcbiAqIEJ1aWxkIGEgVVJMIGJ5IGFwcGVuZGluZyBwYXJhbXMgdG8gdGhlIGVuZFxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBUaGUgYmFzZSBvZiB0aGUgdXJsIChlLmcuLCBodHRwOi8vd3d3Lmdvb2dsZS5jb20pXFxuICogQHBhcmFtIHtvYmplY3R9IFtwYXJhbXNdIFRoZSBwYXJhbXMgdG8gYmUgYXBwZW5kZWRcXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZm9ybWF0dGVkIHVybFxcbiAqL1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYnVpbGRVUkwodXJsLCBwYXJhbXMsIHBhcmFtc1NlcmlhbGl6ZXIpIHtcXG4gIC8qZXNsaW50IG5vLXBhcmFtLXJlYXNzaWduOjAqL1xcbiAgaWYgKCFwYXJhbXMpIHtcXG4gICAgcmV0dXJuIHVybDtcXG4gIH1cXG5cXG4gIHZhciBzZXJpYWxpemVkUGFyYW1zO1xcbiAgaWYgKHBhcmFtc1NlcmlhbGl6ZXIpIHtcXG4gICAgc2VyaWFsaXplZFBhcmFtcyA9IHBhcmFtc1NlcmlhbGl6ZXIocGFyYW1zKTtcXG4gIH0gZWxzZSBpZiAodXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMocGFyYW1zKSkge1xcbiAgICBzZXJpYWxpemVkUGFyYW1zID0gcGFyYW1zLnRvU3RyaW5nKCk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgcGFydHMgPSBbXTtcXG5cXG4gICAgdXRpbHMuZm9yRWFjaChwYXJhbXMsIGZ1bmN0aW9uIHNlcmlhbGl6ZSh2YWwsIGtleSkge1xcbiAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHV0aWxzLmlzQXJyYXkodmFsKSkge1xcbiAgICAgICAga2V5ID0ga2V5ICsgJ1tdJztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFsID0gW3ZhbF07XFxuICAgICAgfVxcblxcbiAgICAgIHV0aWxzLmZvckVhY2godmFsLCBmdW5jdGlvbiBwYXJzZVZhbHVlKHYpIHtcXG4gICAgICAgIGlmICh1dGlscy5pc0RhdGUodikpIHtcXG4gICAgICAgICAgdiA9IHYudG9JU09TdHJpbmcoKTtcXG4gICAgICAgIH0gZWxzZSBpZiAodXRpbHMuaXNPYmplY3QodikpIHtcXG4gICAgICAgICAgdiA9IEpTT04uc3RyaW5naWZ5KHYpO1xcbiAgICAgICAgfVxcbiAgICAgICAgcGFydHMucHVzaChlbmNvZGUoa2V5KSArICc9JyArIGVuY29kZSh2KSk7XFxuICAgICAgfSk7XFxuICAgIH0pO1xcblxcbiAgICBzZXJpYWxpemVkUGFyYW1zID0gcGFydHMuam9pbignJicpO1xcbiAgfVxcblxcbiAgaWYgKHNlcmlhbGl6ZWRQYXJhbXMpIHtcXG4gICAgdmFyIGhhc2htYXJrSW5kZXggPSB1cmwuaW5kZXhPZignIycpO1xcbiAgICBpZiAoaGFzaG1hcmtJbmRleCAhPT0gLTEpIHtcXG4gICAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaG1hcmtJbmRleCk7XFxuICAgIH1cXG5cXG4gICAgdXJsICs9ICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyBzZXJpYWxpemVkUGFyYW1zO1xcbiAgfVxcblxcbiAgcmV0dXJuIHVybDtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5aWRXbHNaRlZTVEM1cWN6ODJNVEpsSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZsQlFWa3NiVUpCUVU4c1EwRkJReXh4UkVGQldUczdRVUZGYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzVDBGQlR6dEJRVU5zUWl4aFFVRmhMRTlCUVU4N1FVRkRjRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJMRWRCUVVjN1FVRkRTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVQ3hMUVVGTE96dEJRVVZNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZZblZwYkdSVlVrd3Vhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2TGk0dmRYUnBiSE1uS1R0Y2JseHVablZ1WTNScGIyNGdaVzVqYjJSbEtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z1pXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtIWmhiQ2t1WEc0Z0lDQWdjbVZ3YkdGalpTZ3ZKVFF3TDJkcExDQW5RQ2NwTGx4dUlDQWdJSEpsY0d4aFkyVW9MeVV6UVM5bmFTd2dKem9uS1M1Y2JpQWdJQ0J5WlhCc1lXTmxLQzhsTWpRdlp5d2dKeVFuS1M1Y2JpQWdJQ0J5WlhCc1lXTmxLQzhsTWtNdloya3NJQ2NzSnlrdVhHNGdJQ0FnY21Wd2JHRmpaU2d2SlRJd0wyY3NJQ2NySnlrdVhHNGdJQ0FnY21Wd2JHRmpaU2d2SlRWQ0wyZHBMQ0FuV3ljcExseHVJQ0FnSUhKbGNHeGhZMlVvTHlVMVJDOW5hU3dnSjEwbktUdGNibjFjYmx4dUx5b3FYRzRnS2lCQ2RXbHNaQ0JoSUZWU1RDQmllU0JoY0hCbGJtUnBibWNnY0dGeVlXMXpJSFJ2SUhSb1pTQmxibVJjYmlBcVhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkWEpzSUZSb1pTQmlZWE5sSUc5bUlIUm9aU0IxY213Z0tHVXVaeTRzSUdoMGRIQTZMeTkzZDNjdVoyOXZaMnhsTG1OdmJTbGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JiY0dGeVlXMXpYU0JVYUdVZ2NHRnlZVzF6SUhSdklHSmxJR0Z3Y0dWdVpHVmtYRzRnS2lCQWNtVjBkWEp1Y3lCN2MzUnlhVzVuZlNCVWFHVWdabTl5YldGMGRHVmtJSFZ5YkZ4dUlDb3ZYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJR0oxYVd4a1ZWSk1LSFZ5YkN3Z2NHRnlZVzF6TENCd1lYSmhiWE5UWlhKcFlXeHBlbVZ5S1NCN1hHNGdJQzhxWlhOc2FXNTBJRzV2TFhCaGNtRnRMWEpsWVhOemFXZHVPakFxTDF4dUlDQnBaaUFvSVhCaGNtRnRjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjFjbXc3WEc0Z0lIMWNibHh1SUNCMllYSWdjMlZ5YVdGc2FYcGxaRkJoY21GdGN6dGNiaUFnYVdZZ0tIQmhjbUZ0YzFObGNtbGhiR2w2WlhJcElIdGNiaUFnSUNCelpYSnBZV3hwZW1Wa1VHRnlZVzF6SUQwZ2NHRnlZVzF6VTJWeWFXRnNhWHBsY2lod1lYSmhiWE1wTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFYwYVd4ekxtbHpWVkpNVTJWaGNtTm9VR0Z5WVcxektIQmhjbUZ0Y3lrcElIdGNiaUFnSUNCelpYSnBZV3hwZW1Wa1VHRnlZVzF6SUQwZ2NHRnlZVzF6TG5SdlUzUnlhVzVuS0NrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJSEJoY25SeklEMGdXMTA3WEc1Y2JpQWdJQ0IxZEdsc2N5NW1iM0pGWVdOb0tIQmhjbUZ0Y3l3Z1puVnVZM1JwYjI0Z2MyVnlhV0ZzYVhwbEtIWmhiQ3dnYTJWNUtTQjdYRzRnSUNBZ0lDQnBaaUFvZG1Gc0lEMDlQU0J1ZFd4c0lIeDhJSFI1Y0dWdlppQjJZV3dnUFQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIVjBhV3h6TG1selFYSnlZWGtvZG1Gc0tTa2dlMXh1SUNBZ0lDQWdJQ0JyWlhrZ1BTQnJaWGtnS3lBblcxMG5PMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkbUZzSUQwZ1czWmhiRjA3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhWMGFXeHpMbVp2Y2tWaFkyZ29kbUZzTENCbWRXNWpkR2x2YmlCd1lYSnpaVlpoYkhWbEtIWXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIVjBhV3h6TG1selJHRjBaU2gyS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFlnUFNCMkxuUnZTVk5QVTNSeWFXNW5LQ2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RYUnBiSE11YVhOUFltcGxZM1FvZGlrcElIdGNiaUFnSUNBZ0lDQWdJQ0IySUQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvZGlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjR0Z5ZEhNdWNIVnphQ2hsYm1OdlpHVW9hMlY1S1NBcklDYzlKeUFySUdWdVkyOWtaU2gyS1NrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lITmxjbWxoYkdsNlpXUlFZWEpoYlhNZ1BTQndZWEowY3k1cWIybHVLQ2NtSnlrN1hHNGdJSDFjYmx4dUlDQnBaaUFvYzJWeWFXRnNhWHBsWkZCaGNtRnRjeWtnZTF4dUlDQWdJSFpoY2lCb1lYTm9iV0Z5YTBsdVpHVjRJRDBnZFhKc0xtbHVaR1Y0VDJZb0p5TW5LVHRjYmlBZ0lDQnBaaUFvYUdGemFHMWhjbXRKYm1SbGVDQWhQVDBnTFRFcElIdGNiaUFnSUNBZ0lIVnliQ0E5SUhWeWJDNXpiR2xqWlNnd0xDQm9ZWE5vYldGeWEwbHVaR1Y0S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IxY213Z0t6MGdLSFZ5YkM1cGJtUmxlRTltS0NjL0p5a2dQVDA5SUMweElEOGdKejhuSURvZ0p5WW5LU0FySUhObGNtbGhiR2w2WldSUVlYSmhiWE03WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZFhKc08xeHVmVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuLyoqXFxuICogQ3JlYXRlcyBhIG5ldyBVUkwgYnkgY29tYmluaW5nIHRoZSBzcGVjaWZpZWQgVVJMc1xcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IGJhc2VVUkwgVGhlIGJhc2UgVVJMXFxuICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlVVJMIFRoZSByZWxhdGl2ZSBVUkxcXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgY29tYmluZWQgVVJMXFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjb21iaW5lVVJMcyhiYXNlVVJMLCByZWxhdGl2ZVVSTCkge1xcbiAgcmV0dXJuIHJlbGF0aXZlVVJMXFxuICAgID8gYmFzZVVSTC5yZXBsYWNlKC9cXFxcLyskLywgJycpICsgJy8nICsgcmVsYXRpdmVVUkwucmVwbGFjZSgvXlxcXFwvKy8sICcnKVxcbiAgICA6IGJhc2VVUkw7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OWpiMjFpYVc1bFZWSk1jeTVxY3o4Mk5UbGlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFBRVUZQTzBGQlEzQkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5amIyMWlhVzVsVlZKTWN5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdFZ2JtVjNJRlZTVENCaWVTQmpiMjFpYVc1cGJtY2dkR2hsSUhOd1pXTnBabWxsWkNCVlVreHpYRzRnS2x4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHSmhjMlZWVWt3Z1ZHaGxJR0poYzJVZ1ZWSk1YRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnY21Wc1lYUnBkbVZWVWt3Z1ZHaGxJSEpsYkdGMGFYWmxJRlZTVEZ4dUlDb2dRSEpsZEhWeWJuTWdlM04wY21sdVozMGdWR2hsSUdOdmJXSnBibVZrSUZWU1RGeHVJQ292WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdOdmJXSnBibVZWVWt4ektHSmhjMlZWVWt3c0lISmxiR0YwYVhabFZWSk1LU0I3WEc0Z0lISmxkSFZ5YmlCeVpXeGhkR2wyWlZWU1RGeHVJQ0FnSUQ4Z1ltRnpaVlZTVEM1eVpYQnNZV05sS0M5Y1hDOHJKQzhzSUNjbktTQXJJQ2N2SnlBcklISmxiR0YwYVhabFZWSk1MbkpsY0d4aFkyVW9MMTVjWEM4ckx5d2dKeWNwWEc0Z0lDQWdPaUJpWVhObFZWSk1PMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2Nvb2tpZXMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb29raWVzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSAoXFxuICB1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpID9cXG5cXG4gIC8vIFN0YW5kYXJkIGJyb3dzZXIgZW52cyBzdXBwb3J0IGRvY3VtZW50LmNvb2tpZVxcbiAgICAoZnVuY3Rpb24gc3RhbmRhcmRCcm93c2VyRW52KCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICB3cml0ZTogZnVuY3Rpb24gd3JpdGUobmFtZSwgdmFsdWUsIGV4cGlyZXMsIHBhdGgsIGRvbWFpbiwgc2VjdXJlKSB7XFxuICAgICAgICAgIHZhciBjb29raWUgPSBbXTtcXG4gICAgICAgICAgY29va2llLnB1c2gobmFtZSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkpO1xcblxcbiAgICAgICAgICBpZiAodXRpbHMuaXNOdW1iZXIoZXhwaXJlcykpIHtcXG4gICAgICAgICAgICBjb29raWUucHVzaCgnZXhwaXJlcz0nICsgbmV3IERhdGUoZXhwaXJlcykudG9HTVRTdHJpbmcoKSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKHV0aWxzLmlzU3RyaW5nKHBhdGgpKSB7XFxuICAgICAgICAgICAgY29va2llLnB1c2goJ3BhdGg9JyArIHBhdGgpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGlmICh1dGlscy5pc1N0cmluZyhkb21haW4pKSB7XFxuICAgICAgICAgICAgY29va2llLnB1c2goJ2RvbWFpbj0nICsgZG9tYWluKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAoc2VjdXJlID09PSB0cnVlKSB7XFxuICAgICAgICAgICAgY29va2llLnB1c2goJ3NlY3VyZScpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZS5qb2luKCc7ICcpO1xcbiAgICAgICAgfSxcXG5cXG4gICAgICAgIHJlYWQ6IGZ1bmN0aW9uIHJlYWQobmFtZSkge1xcbiAgICAgICAgICB2YXIgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgnKF58O1xcXFxcXFxccyopKCcgKyBuYW1lICsgJyk9KFteO10qKScpKTtcXG4gICAgICAgICAgcmV0dXJuIChtYXRjaCA/IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaFszXSkgOiBudWxsKTtcXG4gICAgICAgIH0sXFxuXFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZShuYW1lKSB7XFxuICAgICAgICAgIHRoaXMud3JpdGUobmFtZSwgJycsIERhdGUubm93KCkgLSA4NjQwMDAwMCk7XFxuICAgICAgICB9XFxuICAgICAgfTtcXG4gICAgfSkoKSA6XFxuXFxuICAvLyBOb24gc3RhbmRhcmQgYnJvd3NlciBlbnYgKHdlYiB3b3JrZXJzLCByZWFjdC1uYXRpdmUpIGxhY2sgbmVlZGVkIHN1cHBvcnQuXFxuICAgIChmdW5jdGlvbiBub25TdGFuZGFyZEJyb3dzZXJFbnYoKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIHdyaXRlOiBmdW5jdGlvbiB3cml0ZSgpIHt9LFxcbiAgICAgICAgcmVhZDogZnVuY3Rpb24gcmVhZCgpIHsgcmV0dXJuIG51bGw7IH0sXFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHt9XFxuICAgICAgfTtcXG4gICAgfSkoKVxcbik7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlqYjI5cmFXVnpMbXB6UDJFek1UZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNXVUZCV1N4dFFrRkJUeXhEUVVGRExIRkVRVUZaT3p0QlFVVm9RenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNNRU5CUVRCRE8wRkJRekZETEZOQlFWTTdPMEZCUlZRN1FVRkRRU3cwUkVGQk5FUXNkMEpCUVhkQ08wRkJRM0JHTzBGQlEwRXNVMEZCVXpzN1FVRkZWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHRCUVVOQk8wRkJRMEVzYTBOQlFXdERPMEZCUTJ4RExDdENRVUVyUWl4aFFVRmhMRVZCUVVVN1FVRkRPVU03UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVENJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlqYjI5cmFXVnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1THk0dUwzVjBhV3h6SnlrN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdLRnh1SUNCMWRHbHNjeTVwYzFOMFlXNWtZWEprUW5KdmQzTmxja1Z1ZGlncElEOWNibHh1SUNBdkx5QlRkR0Z1WkdGeVpDQmljbTkzYzJWeUlHVnVkbk1nYzNWd2NHOXlkQ0JrYjJOMWJXVnVkQzVqYjI5cmFXVmNiaUFnSUNBb1puVnVZM1JwYjI0Z2MzUmhibVJoY21SQ2NtOTNjMlZ5Ulc1MktDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdkM0pwZEdVNklHWjFibU4wYVc5dUlIZHlhWFJsS0c1aGJXVXNJSFpoYkhWbExDQmxlSEJwY21WekxDQndZWFJvTENCa2IyMWhhVzRzSUhObFkzVnlaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJqYjI5cmFXVWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjlyYVdVdWNIVnphQ2h1WVcxbElDc2dKejBuSUNzZ1pXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtIWmhiSFZsS1NrN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RYUnBiSE11YVhOT2RXMWlaWElvWlhod2FYSmxjeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052YjJ0cFpTNXdkWE5vS0NkbGVIQnBjbVZ6UFNjZ0t5QnVaWGNnUkdGMFpTaGxlSEJwY21WektTNTBiMGROVkZOMGNtbHVaeWdwS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kWFJwYkhNdWFYTlRkSEpwYm1jb2NHRjBhQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052YjJ0cFpTNXdkWE5vS0Nkd1lYUm9QU2NnS3lCd1lYUm9LVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RYUnBiSE11YVhOVGRISnBibWNvWkc5dFlXbHVLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl2YTJsbExuQjFjMmdvSjJSdmJXRnBiajBuSUNzZ1pHOXRZV2x1S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9jMlZqZFhKbElEMDlQU0IwY25WbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyOXJhV1V1Y0hWemFDZ25jMlZqZFhKbEp5azdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdaRzlqZFcxbGJuUXVZMjl2YTJsbElEMGdZMjl2YTJsbExtcHZhVzRvSnpzZ0p5azdYRzRnSUNBZ0lDQWdJSDBzWEc1Y2JpQWdJQ0FnSUNBZ2NtVmhaRG9nWm5WdVkzUnBiMjRnY21WaFpDaHVZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUcxaGRHTm9JRDBnWkc5amRXMWxiblF1WTI5dmEybGxMbTFoZEdOb0tHNWxkeUJTWldkRmVIQW9KeWhlZkR0Y1hGeGNjeW9wS0NjZ0t5QnVZVzFsSUNzZ0p5azlLRnRlTzEwcUtTY3BLVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnS0cxaGRHTm9JRDhnWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwS0cxaGRHTm9Xek5kS1NBNklHNTFiR3dwTzF4dUlDQWdJQ0FnSUNCOUxGeHVYRzRnSUNBZ0lDQWdJSEpsYlc5MlpUb2dablZ1WTNScGIyNGdjbVZ0YjNabEtHNWhiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5keWFYUmxLRzVoYldVc0lDY25MQ0JFWVhSbExtNXZkeWdwSUMwZ09EWTBNREF3TURBcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMHBLQ2tnT2x4dVhHNGdJQzh2SUU1dmJpQnpkR0Z1WkdGeVpDQmljbTkzYzJWeUlHVnVkaUFvZDJWaUlIZHZjbXRsY25Nc0lISmxZV04wTFc1aGRHbDJaU2tnYkdGamF5QnVaV1ZrWldRZ2MzVndjRzl5ZEM1Y2JpQWdJQ0FvWm5WdVkzUnBiMjRnYm05dVUzUmhibVJoY21SQ2NtOTNjMlZ5Ulc1MktDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdkM0pwZEdVNklHWjFibU4wYVc5dUlIZHlhWFJsS0NrZ2UzMHNYRzRnSUNBZ0lDQWdJSEpsWVdRNklHWjFibU4wYVc5dUlISmxZV1FvS1NCN0lISmxkSFZ5YmlCdWRXeHNPeUI5TEZ4dUlDQWdJQ0FnSUNCeVpXMXZkbVU2SUdaMWJtTjBhVzl1SUhKbGJXOTJaU2dwSUh0OVhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwcEtDbGNiaWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb29raWVzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qKlxcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgc3BlY2lmaWVkIFVSTCBpcyBhYnNvbHV0ZVxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBUaGUgVVJMIHRvIHRlc3RcXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIFVSTCBpcyBhYnNvbHV0ZSwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0Fic29sdXRlVVJMKHVybCkge1xcbiAgLy8gQSBVUkwgaXMgY29uc2lkZXJlZCBhYnNvbHV0ZSBpZiBpdCBiZWdpbnMgd2l0aCBcXFwiPHNjaGVtZT46Ly9cXFwiIG9yIFxcXCIvL1xcXCIgKHByb3RvY29sLXJlbGF0aXZlIFVSTCkuXFxuICAvLyBSRkMgMzk4NiBkZWZpbmVzIHNjaGVtZSBuYW1lIGFzIGEgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyBiZWdpbm5pbmcgd2l0aCBhIGxldHRlciBhbmQgZm9sbG93ZWRcXG4gIC8vIGJ5IGFueSBjb21iaW5hdGlvbiBvZiBsZXR0ZXJzLCBkaWdpdHMsIHBsdXMsIHBlcmlvZCwgb3IgaHlwaGVuLlxcbiAgcmV0dXJuIC9eKFthLXpdW2EtelxcXFxkXFxcXCtcXFxcLVxcXFwuXSo6KT9cXFxcL1xcXFwvL2kudGVzdCh1cmwpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlwYzBGaWMyOXNkWFJsVlZKTUxtcHpQelkwTW1NaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1VVRkJVVHRCUVVOeVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OXBjMEZpYzI5c2RYUmxWVkpNTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRVJsZEdWeWJXbHVaWE1nZDJobGRHaGxjaUIwYUdVZ2MzQmxZMmxtYVdWa0lGVlNUQ0JwY3lCaFluTnZiSFYwWlZ4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IxY213Z1ZHaGxJRlZTVENCMGJ5QjBaWE4wWEc0Z0tpQkFjbVYwZFhKdWN5QjdZbTl2YkdWaGJuMGdWSEoxWlNCcFppQjBhR1VnYzNCbFkybG1hV1ZrSUZWU1RDQnBjeUJoWW5OdmJIVjBaU3dnYjNSb1pYSjNhWE5sSUdaaGJITmxYRzRnS2k5Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z2FYTkJZbk52YkhWMFpWVlNUQ2gxY213cElIdGNiaUFnTHk4Z1FTQlZVa3dnYVhNZ1kyOXVjMmxrWlhKbFpDQmhZbk52YkhWMFpTQnBaaUJwZENCaVpXZHBibk1nZDJsMGFDQmNJanh6WTJobGJXVStPaTh2WENJZ2IzSWdYQ0l2TDF3aUlDaHdjbTkwYjJOdmJDMXlaV3hoZEdsMlpTQlZVa3dwTGx4dUlDQXZMeUJTUmtNZ016azROaUJrWldacGJtVnpJSE5qYUdWdFpTQnVZVzFsSUdGeklHRWdjMlZ4ZFdWdVkyVWdiMllnWTJoaGNtRmpkR1Z5Y3lCaVpXZHBibTVwYm1jZ2QybDBhQ0JoSUd4bGRIUmxjaUJoYm1RZ1ptOXNiRzkzWldSY2JpQWdMeThnWW5rZ1lXNTVJR052YldKcGJtRjBhVzl1SUc5bUlHeGxkSFJsY25Nc0lHUnBaMmwwY3l3Z2NHeDFjeXdnY0dWeWFXOWtMQ0J2Y2lCb2VYQm9aVzR1WEc0Z0lISmxkSFZ5YmlBdlhpaGJZUzE2WFZ0aExYcGNYR1JjWEN0Y1hDMWNYQzVkS2pvcFAxeGNMMXhjTHk5cExuUmxjM1FvZFhKc0tUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpbi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSAoXFxuICB1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpID9cXG5cXG4gIC8vIFN0YW5kYXJkIGJyb3dzZXIgZW52cyBoYXZlIGZ1bGwgc3VwcG9ydCBvZiB0aGUgQVBJcyBuZWVkZWQgdG8gdGVzdFxcbiAgLy8gd2hldGhlciB0aGUgcmVxdWVzdCBVUkwgaXMgb2YgdGhlIHNhbWUgb3JpZ2luIGFzIGN1cnJlbnQgbG9jYXRpb24uXFxuICAgIChmdW5jdGlvbiBzdGFuZGFyZEJyb3dzZXJFbnYoKSB7XFxuICAgICAgdmFyIG1zaWUgPSAvKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xcbiAgICAgIHZhciB1cmxQYXJzaW5nTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcXG4gICAgICB2YXIgb3JpZ2luVVJMO1xcblxcbiAgICAgIC8qKlxcbiAgICAqIFBhcnNlIGEgVVJMIHRvIGRpc2NvdmVyIGl0J3MgY29tcG9uZW50c1xcbiAgICAqXFxuICAgICogQHBhcmFtIHtTdHJpbmd9IHVybCBUaGUgVVJMIHRvIGJlIHBhcnNlZFxcbiAgICAqIEByZXR1cm5zIHtPYmplY3R9XFxuICAgICovXFxuICAgICAgZnVuY3Rpb24gcmVzb2x2ZVVSTCh1cmwpIHtcXG4gICAgICAgIHZhciBocmVmID0gdXJsO1xcblxcbiAgICAgICAgaWYgKG1zaWUpIHtcXG4gICAgICAgIC8vIElFIG5lZWRzIGF0dHJpYnV0ZSBzZXQgdHdpY2UgdG8gbm9ybWFsaXplIHByb3BlcnRpZXNcXG4gICAgICAgICAgdXJsUGFyc2luZ05vZGUuc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XFxuICAgICAgICAgIGhyZWYgPSB1cmxQYXJzaW5nTm9kZS5ocmVmO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdXJsUGFyc2luZ05vZGUuc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XFxuXFxuICAgICAgICAvLyB1cmxQYXJzaW5nTm9kZSBwcm92aWRlcyB0aGUgVXJsVXRpbHMgaW50ZXJmYWNlIC0gaHR0cDovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybHV0aWxzXFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBocmVmOiB1cmxQYXJzaW5nTm9kZS5ocmVmLFxcbiAgICAgICAgICBwcm90b2NvbDogdXJsUGFyc2luZ05vZGUucHJvdG9jb2wgPyB1cmxQYXJzaW5nTm9kZS5wcm90b2NvbC5yZXBsYWNlKC86JC8sICcnKSA6ICcnLFxcbiAgICAgICAgICBob3N0OiB1cmxQYXJzaW5nTm9kZS5ob3N0LFxcbiAgICAgICAgICBzZWFyY2g6IHVybFBhcnNpbmdOb2RlLnNlYXJjaCA/IHVybFBhcnNpbmdOb2RlLnNlYXJjaC5yZXBsYWNlKC9eXFxcXD8vLCAnJykgOiAnJyxcXG4gICAgICAgICAgaGFzaDogdXJsUGFyc2luZ05vZGUuaGFzaCA/IHVybFBhcnNpbmdOb2RlLmhhc2gucmVwbGFjZSgvXiMvLCAnJykgOiAnJyxcXG4gICAgICAgICAgaG9zdG5hbWU6IHVybFBhcnNpbmdOb2RlLmhvc3RuYW1lLFxcbiAgICAgICAgICBwb3J0OiB1cmxQYXJzaW5nTm9kZS5wb3J0LFxcbiAgICAgICAgICBwYXRobmFtZTogKHVybFBhcnNpbmdOb2RlLnBhdGhuYW1lLmNoYXJBdCgwKSA9PT0gJy8nKSA/XFxuICAgICAgICAgICAgdXJsUGFyc2luZ05vZGUucGF0aG5hbWUgOlxcbiAgICAgICAgICAgICcvJyArIHVybFBhcnNpbmdOb2RlLnBhdGhuYW1lXFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICBvcmlnaW5VUkwgPSByZXNvbHZlVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcXG5cXG4gICAgICAvKipcXG4gICAgKiBEZXRlcm1pbmUgaWYgYSBVUkwgc2hhcmVzIHRoZSBzYW1lIG9yaWdpbiBhcyB0aGUgY3VycmVudCBsb2NhdGlvblxcbiAgICAqXFxuICAgICogQHBhcmFtIHtTdHJpbmd9IHJlcXVlc3RVUkwgVGhlIFVSTCB0byB0ZXN0XFxuICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgVVJMIHNoYXJlcyB0aGUgc2FtZSBvcmlnaW4sIG90aGVyd2lzZSBmYWxzZVxcbiAgICAqL1xcbiAgICAgIHJldHVybiBmdW5jdGlvbiBpc1VSTFNhbWVPcmlnaW4ocmVxdWVzdFVSTCkge1xcbiAgICAgICAgdmFyIHBhcnNlZCA9ICh1dGlscy5pc1N0cmluZyhyZXF1ZXN0VVJMKSkgPyByZXNvbHZlVVJMKHJlcXVlc3RVUkwpIDogcmVxdWVzdFVSTDtcXG4gICAgICAgIHJldHVybiAocGFyc2VkLnByb3RvY29sID09PSBvcmlnaW5VUkwucHJvdG9jb2wgJiZcXG4gICAgICAgICAgICBwYXJzZWQuaG9zdCA9PT0gb3JpZ2luVVJMLmhvc3QpO1xcbiAgICAgIH07XFxuICAgIH0pKCkgOlxcblxcbiAgLy8gTm9uIHN0YW5kYXJkIGJyb3dzZXIgZW52cyAod2ViIHdvcmtlcnMsIHJlYWN0LW5hdGl2ZSkgbGFjayBuZWVkZWQgc3VwcG9ydC5cXG4gICAgKGZ1bmN0aW9uIG5vblN0YW5kYXJkQnJvd3NlckVudigpIHtcXG4gICAgICByZXR1cm4gZnVuY3Rpb24gaXNVUkxTYW1lT3JpZ2luKCkge1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfTtcXG4gICAgfSkoKVxcbik7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlwYzFWU1RGTmhiV1ZQY21sbmFXNHVhbk0vWVdWak5pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc2NVUkJRVms3TzBGQlJXaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdOQlFXTXNUMEZCVHp0QlFVTnlRaXhuUWtGQlowSTdRVUZEYUVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hqUVVGakxFOUJRVTg3UVVGRGNrSXNaMEpCUVdkQ0xGRkJRVkU3UVVGRGVFSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMmx6VlZKTVUyRnRaVTl5YVdkcGJpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTh1TGk5MWRHbHNjeWNwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlDaGNiaUFnZFhScGJITXVhWE5UZEdGdVpHRnlaRUp5YjNkelpYSkZibllvS1NBL1hHNWNiaUFnTHk4Z1UzUmhibVJoY21RZ1luSnZkM05sY2lCbGJuWnpJR2hoZG1VZ1puVnNiQ0J6ZFhCd2IzSjBJRzltSUhSb1pTQkJVRWx6SUc1bFpXUmxaQ0IwYnlCMFpYTjBYRzRnSUM4dklIZG9aWFJvWlhJZ2RHaGxJSEpsY1hWbGMzUWdWVkpNSUdseklHOW1JSFJvWlNCellXMWxJRzl5YVdkcGJpQmhjeUJqZFhKeVpXNTBJR3h2WTJGMGFXOXVMbHh1SUNBZ0lDaG1kVzVqZEdsdmJpQnpkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWW9LU0I3WEc0Z0lDQWdJQ0IyWVhJZ2JYTnBaU0E5SUM4b2JYTnBaWHgwY21sa1pXNTBLUzlwTG5SbGMzUW9ibUYyYVdkaGRHOXlMblZ6WlhKQloyVnVkQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2RYSnNVR0Z5YzJsdVowNXZaR1VnUFNCa2IyTjFiV1Z1ZEM1amNtVmhkR1ZGYkdWdFpXNTBLQ2RoSnlrN1hHNGdJQ0FnSUNCMllYSWdiM0pwWjJsdVZWSk1PMXh1WEc0Z0lDQWdJQ0F2S2lwY2JpQWdJQ0FxSUZCaGNuTmxJR0VnVlZKTUlIUnZJR1JwYzJOdmRtVnlJR2wwSjNNZ1kyOXRjRzl1Wlc1MGMxeHVJQ0FnSUNwY2JpQWdJQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0IxY213Z1ZHaGxJRlZTVENCMGJ5QmlaU0J3WVhKelpXUmNiaUFnSUNBcUlFQnlaWFIxY201eklIdFBZbXBsWTNSOVhHNGdJQ0FnS2k5Y2JpQWdJQ0FnSUdaMWJtTjBhVzl1SUhKbGMyOXNkbVZWVWt3b2RYSnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQm9jbVZtSUQwZ2RYSnNPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHRjMmxsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRWxGSUc1bFpXUnpJR0YwZEhKcFluVjBaU0J6WlhRZ2RIZHBZMlVnZEc4Z2JtOXliV0ZzYVhwbElIQnliM0JsY25ScFpYTmNiaUFnSUNBZ0lDQWdJQ0IxY214UVlYSnphVzVuVG05a1pTNXpaWFJCZEhSeWFXSjFkR1VvSjJoeVpXWW5MQ0JvY21WbUtUdGNiaUFnSUNBZ0lDQWdJQ0JvY21WbUlEMGdkWEpzVUdGeWMybHVaMDV2WkdVdWFISmxaanRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIVnliRkJoY25OcGJtZE9iMlJsTG5ObGRFRjBkSEpwWW5WMFpTZ25hSEpsWmljc0lHaHlaV1lwTzF4dVhHNGdJQ0FnSUNBZ0lDOHZJSFZ5YkZCaGNuTnBibWRPYjJSbElIQnliM1pwWkdWeklIUm9aU0JWY214VmRHbHNjeUJwYm5SbGNtWmhZMlVnTFNCb2RIUndPaTh2ZFhKc0xuTndaV011ZDJoaGRIZG5MbTl5Wnk4amRYSnNkWFJwYkhOY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQm9jbVZtT2lCMWNteFFZWEp6YVc1blRtOWtaUzVvY21WbUxGeHVJQ0FnSUNBZ0lDQWdJSEJ5YjNSdlkyOXNPaUIxY214UVlYSnphVzVuVG05a1pTNXdjbTkwYjJOdmJDQS9JSFZ5YkZCaGNuTnBibWRPYjJSbExuQnliM1J2WTI5c0xuSmxjR3hoWTJVb0x6b2tMeXdnSnljcElEb2dKeWNzWEc0Z0lDQWdJQ0FnSUNBZ2FHOXpkRG9nZFhKc1VHRnljMmx1WjA1dlpHVXVhRzl6ZEN4Y2JpQWdJQ0FnSUNBZ0lDQnpaV0Z5WTJnNklIVnliRkJoY25OcGJtZE9iMlJsTG5ObFlYSmphQ0EvSUhWeWJGQmhjbk5wYm1kT2IyUmxMbk5sWVhKamFDNXlaWEJzWVdObEtDOWVYRncvTHl3Z0p5Y3BJRG9nSnljc1hHNGdJQ0FnSUNBZ0lDQWdhR0Z6YURvZ2RYSnNVR0Z5YzJsdVowNXZaR1V1YUdGemFDQS9JSFZ5YkZCaGNuTnBibWRPYjJSbExtaGhjMmd1Y21Wd2JHRmpaU2d2WGlNdkxDQW5KeWtnT2lBbkp5eGNiaUFnSUNBZ0lDQWdJQ0JvYjNOMGJtRnRaVG9nZFhKc1VHRnljMmx1WjA1dlpHVXVhRzl6ZEc1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnY0c5eWREb2dkWEpzVUdGeWMybHVaMDV2WkdVdWNHOXlkQ3hjYmlBZ0lDQWdJQ0FnSUNCd1lYUm9ibUZ0WlRvZ0tIVnliRkJoY25OcGJtZE9iMlJsTG5CaGRHaHVZVzFsTG1Ob1lYSkJkQ2d3S1NBOVBUMGdKeThuS1NBL1hHNGdJQ0FnSUNBZ0lDQWdJQ0IxY214UVlYSnphVzVuVG05a1pTNXdZWFJvYm1GdFpTQTZYRzRnSUNBZ0lDQWdJQ0FnSUNBbkx5Y2dLeUIxY214UVlYSnphVzVuVG05a1pTNXdZWFJvYm1GdFpWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J2Y21sbmFXNVZVa3dnUFNCeVpYTnZiSFpsVlZKTUtIZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1b2NtVm1LVHRjYmx4dUlDQWdJQ0FnTHlvcVhHNGdJQ0FnS2lCRVpYUmxjbTFwYm1VZ2FXWWdZU0JWVWt3Z2MyaGhjbVZ6SUhSb1pTQnpZVzFsSUc5eWFXZHBiaUJoY3lCMGFHVWdZM1Z5Y21WdWRDQnNiMk5oZEdsdmJseHVJQ0FnSUNwY2JpQWdJQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J5WlhGMVpYTjBWVkpNSUZSb1pTQlZVa3dnZEc4Z2RHVnpkRnh1SUNBZ0lDb2dRSEpsZEhWeWJuTWdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdWVkpNSUhOb1lYSmxjeUIwYUdVZ2MyRnRaU0J2Y21sbmFXNHNJRzkwYUdWeWQybHpaU0JtWVd4elpWeHVJQ0FnSUNvdlhHNGdJQ0FnSUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYVhOVlVreFRZVzFsVDNKcFoybHVLSEpsY1hWbGMzUlZVa3dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJoY25ObFpDQTlJQ2gxZEdsc2N5NXBjMU4wY21sdVp5aHlaWEYxWlhOMFZWSk1LU2tnUHlCeVpYTnZiSFpsVlZKTUtISmxjWFZsYzNSVlVrd3BJRG9nY21WeGRXVnpkRlZTVER0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNod1lYSnpaV1F1Y0hKdmRHOWpiMndnUFQwOUlHOXlhV2RwYmxWU1RDNXdjbTkwYjJOdmJDQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnljMlZrTG1odmMzUWdQVDA5SUc5eWFXZHBibFZTVEM1b2IzTjBLVHRjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmU2tvS1NBNlhHNWNiaUFnTHk4Z1RtOXVJSE4wWVc1a1lYSmtJR0p5YjNkelpYSWdaVzUyY3lBb2QyVmlJSGR2Y210bGNuTXNJSEpsWVdOMExXNWhkR2wyWlNrZ2JHRmpheUJ1WldWa1pXUWdjM1Z3Y0c5eWRDNWNiaUFnSUNBb1puVnVZM1JwYjI0Z2JtOXVVM1JoYm1SaGNtUkNjbTkzYzJWeVJXNTJLQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1oxYm1OMGFXOXVJR2x6VlZKTVUyRnRaVTl5YVdkcGJpZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwcEtDbGNiaWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9ub3JtYWxpemVIZWFkZXJOYW1lLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1xcXCIpO1xcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9ybWFsaXplSGVhZGVyTmFtZShoZWFkZXJzLCBub3JtYWxpemVkTmFtZSkge1xcbiAgdXRpbHMuZm9yRWFjaChoZWFkZXJzLCBmdW5jdGlvbiBwcm9jZXNzSGVhZGVyKHZhbHVlLCBuYW1lKSB7XFxuICAgIGlmIChuYW1lICE9PSBub3JtYWxpemVkTmFtZSAmJiBuYW1lLnRvVXBwZXJDYXNlKCkgPT09IG5vcm1hbGl6ZWROYW1lLnRvVXBwZXJDYXNlKCkpIHtcXG4gICAgICBoZWFkZXJzW25vcm1hbGl6ZWROYW1lXSA9IHZhbHVlO1xcbiAgICAgIGRlbGV0ZSBoZWFkZXJzW25hbWVdO1xcbiAgICB9XFxuICB9KTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5dWIzSnRZV3hwZW1WSVpXRmtaWEpPWVcxbExtcHpQemRtWWpZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1dVRkJXU3h0UWtGQlR5eERRVUZETEcxRVFVRlZPenRCUVVVNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGdpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZibTl5YldGc2FYcGxTR1ZoWkdWeVRtRnRaUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUhWMGFXeHpJRDBnY21WeGRXbHlaU2duTGk0dmRYUnBiSE1uS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVklaV0ZrWlhKT1lXMWxLR2hsWVdSbGNuTXNJRzV2Y20xaGJHbDZaV1JPWVcxbEtTQjdYRzRnSUhWMGFXeHpMbVp2Y2tWaFkyZ29hR1ZoWkdWeWN5d2dablZ1WTNScGIyNGdjSEp2WTJWemMwaGxZV1JsY2loMllXeDFaU3dnYm1GdFpTa2dlMXh1SUNBZ0lHbG1JQ2h1WVcxbElDRTlQU0J1YjNKdFlXeHBlbVZrVG1GdFpTQW1KaUJ1WVcxbExuUnZWWEJ3WlhKRFlYTmxLQ2tnUFQwOUlHNXZjbTFoYkdsNlpXUk9ZVzFsTG5SdlZYQndaWEpEWVhObEtDa3BJSHRjYmlBZ0lDQWdJR2hsWVdSbGNuTmJibTl5YldGc2FYcGxaRTVoYldWZElEMGdkbUZzZFdVN1hHNGdJQ0FnSUNCa1pXeGxkR1VnYUdWaFpHVnljMXR1WVcxbFhUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3BhcnNlSGVhZGVycy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG4vLyBIZWFkZXJzIHdob3NlIGR1cGxpY2F0ZXMgYXJlIGlnbm9yZWQgYnkgbm9kZVxcbi8vIGMuZi4gaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9odHRwLmh0bWwjaHR0cF9tZXNzYWdlX2hlYWRlcnNcXG52YXIgaWdub3JlRHVwbGljYXRlT2YgPSBbXFxuICAnYWdlJywgJ2F1dGhvcml6YXRpb24nLCAnY29udGVudC1sZW5ndGgnLCAnY29udGVudC10eXBlJywgJ2V0YWcnLFxcbiAgJ2V4cGlyZXMnLCAnZnJvbScsICdob3N0JywgJ2lmLW1vZGlmaWVkLXNpbmNlJywgJ2lmLXVubW9kaWZpZWQtc2luY2UnLFxcbiAgJ2xhc3QtbW9kaWZpZWQnLCAnbG9jYXRpb24nLCAnbWF4LWZvcndhcmRzJywgJ3Byb3h5LWF1dGhvcml6YXRpb24nLFxcbiAgJ3JlZmVyZXInLCAncmV0cnktYWZ0ZXInLCAndXNlci1hZ2VudCdcXG5dO1xcblxcbi8qKlxcbiAqIFBhcnNlIGhlYWRlcnMgaW50byBhbiBvYmplY3RcXG4gKlxcbiAqIGBgYFxcbiAqIERhdGU6IFdlZCwgMjcgQXVnIDIwMTQgMDg6NTg6NDkgR01UXFxuICogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXFxuICogQ29ubmVjdGlvbjoga2VlcC1hbGl2ZVxcbiAqIFRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXFxuICogYGBgXFxuICpcXG4gKiBAcGFyYW0ge1N0cmluZ30gaGVhZGVycyBIZWFkZXJzIG5lZWRpbmcgdG8gYmUgcGFyc2VkXFxuICogQHJldHVybnMge09iamVjdH0gSGVhZGVycyBwYXJzZWQgaW50byBhbiBvYmplY3RcXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHBhcnNlSGVhZGVycyhoZWFkZXJzKSB7XFxuICB2YXIgcGFyc2VkID0ge307XFxuICB2YXIga2V5O1xcbiAgdmFyIHZhbDtcXG4gIHZhciBpO1xcblxcbiAgaWYgKCFoZWFkZXJzKSB7IHJldHVybiBwYXJzZWQ7IH1cXG5cXG4gIHV0aWxzLmZvckVhY2goaGVhZGVycy5zcGxpdCgnXFxcXG4nKSwgZnVuY3Rpb24gcGFyc2VyKGxpbmUpIHtcXG4gICAgaSA9IGxpbmUuaW5kZXhPZignOicpO1xcbiAgICBrZXkgPSB1dGlscy50cmltKGxpbmUuc3Vic3RyKDAsIGkpKS50b0xvd2VyQ2FzZSgpO1xcbiAgICB2YWwgPSB1dGlscy50cmltKGxpbmUuc3Vic3RyKGkgKyAxKSk7XFxuXFxuICAgIGlmIChrZXkpIHtcXG4gICAgICBpZiAocGFyc2VkW2tleV0gJiYgaWdub3JlRHVwbGljYXRlT2YuaW5kZXhPZihrZXkpID49IDApIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuICAgICAgaWYgKGtleSA9PT0gJ3NldC1jb29raWUnKSB7XFxuICAgICAgICBwYXJzZWRba2V5XSA9IChwYXJzZWRba2V5XSA/IHBhcnNlZFtrZXldIDogW10pLmNvbmNhdChbdmFsXSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHBhcnNlZFtrZXldID0gcGFyc2VkW2tleV0gPyBwYXJzZWRba2V5XSArICcsICcgKyB2YWwgOiB2YWw7XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG5cXG4gIHJldHVybiBwYXJzZWQ7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OXdZWEp6WlVobFlXUmxjbk11YW5NL00yVXpOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNjVVJCUVZrN08wRkJSV2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFBRVUZQTzBGQlEzQkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzWlVGQlpUczdRVUZGYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5d1lYSnpaVWhsWVdSbGNuTXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2TGk0dmRYUnBiSE1uS1R0Y2JseHVMeThnU0dWaFpHVnljeUIzYUc5elpTQmtkWEJzYVdOaGRHVnpJR0Z5WlNCcFoyNXZjbVZrSUdKNUlHNXZaR1ZjYmk4dklHTXVaaTRnYUhSMGNITTZMeTl1YjJSbGFuTXViM0puTDJGd2FTOW9kSFJ3TG1oMGJXd2phSFIwY0Y5dFpYTnpZV2RsWDJobFlXUmxjbk5jYm5aaGNpQnBaMjV2Y21WRWRYQnNhV05oZEdWUFppQTlJRnRjYmlBZ0oyRm5aU2NzSUNkaGRYUm9iM0pwZW1GMGFXOXVKeXdnSjJOdmJuUmxiblF0YkdWdVozUm9KeXdnSjJOdmJuUmxiblF0ZEhsd1pTY3NJQ2RsZEdGbkp5eGNiaUFnSjJWNGNHbHlaWE1uTENBblpuSnZiU2NzSUNkb2IzTjBKeXdnSjJsbUxXMXZaR2xtYVdWa0xYTnBibU5sSnl3Z0oybG1MWFZ1Ylc5a2FXWnBaV1F0YzJsdVkyVW5MRnh1SUNBbmJHRnpkQzF0YjJScFptbGxaQ2NzSUNkc2IyTmhkR2x2Ymljc0lDZHRZWGd0Wm05eWQyRnlaSE1uTENBbmNISnZlSGt0WVhWMGFHOXlhWHBoZEdsdmJpY3NYRzRnSUNkeVpXWmxjbVZ5Snl3Z0ozSmxkSEo1TFdGbWRHVnlKeXdnSjNWelpYSXRZV2RsYm5RblhHNWRPMXh1WEc0dktpcGNiaUFxSUZCaGNuTmxJR2hsWVdSbGNuTWdhVzUwYnlCaGJpQnZZbXBsWTNSY2JpQXFYRzRnS2lCZ1lHQmNiaUFxSUVSaGRHVTZJRmRsWkN3Z01qY2dRWFZuSURJd01UUWdNRGc2TlRnNk5Ea2dSMDFVWEc0Z0tpQkRiMjUwWlc1MExWUjVjR1U2SUdGd2NHeHBZMkYwYVc5dUwycHpiMjVjYmlBcUlFTnZibTVsWTNScGIyNDZJR3RsWlhBdFlXeHBkbVZjYmlBcUlGUnlZVzV6Wm1WeUxVVnVZMjlrYVc1bk9pQmphSFZ1YTJWa1hHNGdLaUJnWUdCY2JpQXFYRzRnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYUdWaFpHVnljeUJJWldGa1pYSnpJRzVsWldScGJtY2dkRzhnWW1VZ2NHRnljMlZrWEc0Z0tpQkFjbVYwZFhKdWN5QjdUMkpxWldOMGZTQklaV0ZrWlhKeklIQmhjbk5sWkNCcGJuUnZJR0Z1SUc5aWFtVmpkRnh1SUNvdlhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlIQmhjbk5sU0dWaFpHVnljeWhvWldGa1pYSnpLU0I3WEc0Z0lIWmhjaUJ3WVhKelpXUWdQU0I3ZlR0Y2JpQWdkbUZ5SUd0bGVUdGNiaUFnZG1GeUlIWmhiRHRjYmlBZ2RtRnlJR2s3WEc1Y2JpQWdhV1lnS0NGb1pXRmtaWEp6S1NCN0lISmxkSFZ5YmlCd1lYSnpaV1E3SUgxY2JseHVJQ0IxZEdsc2N5NW1iM0pGWVdOb0tHaGxZV1JsY25NdWMzQnNhWFFvSjF4Y2JpY3BMQ0JtZFc1amRHbHZiaUJ3WVhKelpYSW9iR2x1WlNrZ2UxeHVJQ0FnSUdrZ1BTQnNhVzVsTG1sdVpHVjRUMllvSnpvbktUdGNiaUFnSUNCclpYa2dQU0IxZEdsc2N5NTBjbWx0S0d4cGJtVXVjM1ZpYzNSeUtEQXNJR2twS1M1MGIweHZkMlZ5UTJGelpTZ3BPMXh1SUNBZ0lIWmhiQ0E5SUhWMGFXeHpMblJ5YVcwb2JHbHVaUzV6ZFdKemRISW9hU0FySURFcEtUdGNibHh1SUNBZ0lHbG1JQ2hyWlhrcElIdGNiaUFnSUNBZ0lHbG1JQ2h3WVhKelpXUmJhMlY1WFNBbUppQnBaMjV2Y21WRWRYQnNhV05oZEdWUFppNXBibVJsZUU5bUtHdGxlU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvYTJWNUlEMDlQU0FuYzJWMExXTnZiMnRwWlNjcElIdGNiaUFnSUNBZ0lDQWdjR0Z5YzJWa1cydGxlVjBnUFNBb2NHRnljMlZrVzJ0bGVWMGdQeUJ3WVhKelpXUmJhMlY1WFNBNklGdGRLUzVqYjI1allYUW9XM1poYkYwcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NHRnljMlZrVzJ0bGVWMGdQU0J3WVhKelpXUmJhMlY1WFNBL0lIQmhjbk5sWkZ0clpYbGRJQ3NnSnl3Z0p5QXJJSFpoYkNBNklIWmhiRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUJ3WVhKelpXUTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3NwcmVhZC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuLyoqXFxuICogU3ludGFjdGljIHN1Z2FyIGZvciBpbnZva2luZyBhIGZ1bmN0aW9uIGFuZCBleHBhbmRpbmcgYW4gYXJyYXkgZm9yIGFyZ3VtZW50cy5cXG4gKlxcbiAqIENvbW1vbiB1c2UgY2FzZSB3b3VsZCBiZSB0byB1c2UgYEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseWAuXFxuICpcXG4gKiAgYGBganNcXG4gKiAgZnVuY3Rpb24gZih4LCB5LCB6KSB7fVxcbiAqICB2YXIgYXJncyA9IFsxLCAyLCAzXTtcXG4gKiAgZi5hcHBseShudWxsLCBhcmdzKTtcXG4gKiAgYGBgXFxuICpcXG4gKiBXaXRoIGBzcHJlYWRgIHRoaXMgZXhhbXBsZSBjYW4gYmUgcmUtd3JpdHRlbi5cXG4gKlxcbiAqICBgYGBqc1xcbiAqICBzcHJlYWQoZnVuY3Rpb24oeCwgeSwgeikge30pKFsxLCAyLCAzXSk7XFxuICogIGBgYFxcbiAqXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBzcHJlYWQoY2FsbGJhY2spIHtcXG4gIHJldHVybiBmdW5jdGlvbiB3cmFwKGFycikge1xcbiAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkobnVsbCwgYXJyKTtcXG4gIH07XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OXpjSEpsWVdRdWFuTS9PVFk1WXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzSzBKQlFTdENPMEZCUXk5Q08wRkJRMEU3UVVGRFFTeFhRVUZYTEZOQlFWTTdRVUZEY0VJc1lVRkJZVHRCUVVOaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTl6Y0hKbFlXUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFLbHh1SUNvZ1UzbHVkR0ZqZEdsaklITjFaMkZ5SUdadmNpQnBiblp2YTJsdVp5QmhJR1oxYm1OMGFXOXVJR0Z1WkNCbGVIQmhibVJwYm1jZ1lXNGdZWEp5WVhrZ1ptOXlJR0Z5WjNWdFpXNTBjeTVjYmlBcVhHNGdLaUJEYjIxdGIyNGdkWE5sSUdOaGMyVWdkMjkxYkdRZ1ltVWdkRzhnZFhObElHQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVXVZWEJ3YkhsZ0xseHVJQ3BjYmlBcUlDQmdZR0JxYzF4dUlDb2dJR1oxYm1OMGFXOXVJR1lvZUN3Z2VTd2dlaWtnZTMxY2JpQXFJQ0IyWVhJZ1lYSm5jeUE5SUZzeExDQXlMQ0F6WFR0Y2JpQXFJQ0JtTG1Gd2NHeDVLRzUxYkd3c0lHRnlaM01wTzF4dUlDb2dJR0JnWUZ4dUlDcGNiaUFxSUZkcGRHZ2dZSE53Y21WaFpHQWdkR2hwY3lCbGVHRnRjR3hsSUdOaGJpQmlaU0J5WlMxM2NtbDBkR1Z1TGx4dUlDcGNiaUFxSUNCZ1lHQnFjMXh1SUNvZ0lITndjbVZoWkNobWRXNWpkR2x2YmloNExDQjVMQ0I2S1NCN2ZTa29XekVzSURJc0lETmRLVHRjYmlBcUlDQmdZR0JjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JqWVd4c1ltRmphMXh1SUNvZ1FISmxkSFZ5Ym5NZ2UwWjFibU4wYVc5dWZWeHVJQ292WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUhOd2NtVmhaQ2hqWVd4c1ltRmpheWtnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z2QzSmhjQ2hoY25JcElIdGNiaUFnSUNCeVpYUjFjbTRnWTJGc2JHSmhZMnN1WVhCd2JIa29iblZzYkN3Z1lYSnlLVHRjYmlBZ2ZUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgYmluZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaGVscGVycy9iaW5kICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9iaW5kLmpzXFxcIik7XFxudmFyIGlzQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaXMtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9pcy1idWZmZXIvaW5kZXguanNcXFwiKTtcXG5cXG4vKmdsb2JhbCB0b1N0cmluZzp0cnVlKi9cXG5cXG4vLyB1dGlscyBpcyBhIGxpYnJhcnkgb2YgZ2VuZXJpYyBoZWxwZXIgZnVuY3Rpb25zIG5vbi1zcGVjaWZpYyB0byBheGlvc1xcblxcbnZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYW4gQXJyYXlcXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhbiBBcnJheSwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEFycmF5XSc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gQXJyYXlCdWZmZXIsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodmFsKSB7XFxuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZvcm1EYXRhXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gRm9ybURhdGEsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzRm9ybURhdGEodmFsKSB7XFxuICByZXR1cm4gKHR5cGVvZiBGb3JtRGF0YSAhPT0gJ3VuZGVmaW5lZCcpICYmICh2YWwgaW5zdGFuY2VvZiBGb3JtRGF0YSk7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgdmlldyBvbiBhbiBBcnJheUJ1ZmZlclxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgdmlldyBvbiBhbiBBcnJheUJ1ZmZlciwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlclZpZXcodmFsKSB7XFxuICB2YXIgcmVzdWx0O1xcbiAgaWYgKCh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnKSAmJiAoQXJyYXlCdWZmZXIuaXNWaWV3KSkge1xcbiAgICByZXN1bHQgPSBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsKTtcXG4gIH0gZWxzZSB7XFxuICAgIHJlc3VsdCA9ICh2YWwpICYmICh2YWwuYnVmZmVyKSAmJiAodmFsLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKTtcXG4gIH1cXG4gIHJldHVybiByZXN1bHQ7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgU3RyaW5nXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBTdHJpbmcsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzU3RyaW5nKHZhbCkge1xcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIE51bWJlclxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgTnVtYmVyLCBvdGhlcndpc2UgZmFsc2VcXG4gKi9cXG5mdW5jdGlvbiBpc051bWJlcih2YWwpIHtcXG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJztcXG59XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgdW5kZWZpbmVkXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsKSB7XFxuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIE9iamVjdFxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIE9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNPYmplY3QodmFsKSB7XFxuICByZXR1cm4gdmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIERhdGVcXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIERhdGUsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzRGF0ZSh2YWwpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IERhdGVdJztcXG59XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBGaWxlXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGaWxlLCBvdGhlcndpc2UgZmFsc2VcXG4gKi9cXG5mdW5jdGlvbiBpc0ZpbGUodmFsKSB7XFxuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGaWxlXSc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgQmxvYlxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgQmxvYiwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNCbG9iKHZhbCkge1xcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZ1bmN0aW9uXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGdW5jdGlvbiwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWwpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgU3RyZWFtXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBTdHJlYW0sIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzU3RyZWFtKHZhbCkge1xcbiAgcmV0dXJuIGlzT2JqZWN0KHZhbCkgJiYgaXNGdW5jdGlvbih2YWwucGlwZSk7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgVVJMU2VhcmNoUGFyYW1zIG9iamVjdFxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgVVJMU2VhcmNoUGFyYW1zIG9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNVUkxTZWFyY2hQYXJhbXModmFsKSB7XFxuICByZXR1cm4gdHlwZW9mIFVSTFNlYXJjaFBhcmFtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zO1xcbn1cXG5cXG4vKipcXG4gKiBUcmltIGV4Y2VzcyB3aGl0ZXNwYWNlIG9mZiB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSBzdHJpbmdcXG4gKlxcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgVGhlIFN0cmluZyB0byB0cmltXFxuICogQHJldHVybnMge1N0cmluZ30gVGhlIFN0cmluZyBmcmVlZCBvZiBleGNlc3Mgd2hpdGVzcGFjZVxcbiAqL1xcbmZ1bmN0aW9uIHRyaW0oc3RyKSB7XFxuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXFxccyovLCAnJykucmVwbGFjZSgvXFxcXHMqJC8sICcnKTtcXG59XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSBzdGFuZGFyZCBicm93c2VyIGVudmlyb25tZW50XFxuICpcXG4gKiBUaGlzIGFsbG93cyBheGlvcyB0byBydW4gaW4gYSB3ZWIgd29ya2VyLCBhbmQgcmVhY3QtbmF0aXZlLlxcbiAqIEJvdGggZW52aXJvbm1lbnRzIHN1cHBvcnQgWE1MSHR0cFJlcXVlc3QsIGJ1dCBub3QgZnVsbHkgc3RhbmRhcmQgZ2xvYmFscy5cXG4gKlxcbiAqIHdlYiB3b3JrZXJzOlxcbiAqICB0eXBlb2Ygd2luZG93IC0+IHVuZGVmaW5lZFxcbiAqICB0eXBlb2YgZG9jdW1lbnQgLT4gdW5kZWZpbmVkXFxuICpcXG4gKiByZWFjdC1uYXRpdmU6XFxuICogIG5hdmlnYXRvci5wcm9kdWN0IC0+ICdSZWFjdE5hdGl2ZSdcXG4gKiBuYXRpdmVzY3JpcHRcXG4gKiAgbmF2aWdhdG9yLnByb2R1Y3QgLT4gJ05hdGl2ZVNjcmlwdCcgb3IgJ05TJ1xcbiAqL1xcbmZ1bmN0aW9uIGlzU3RhbmRhcmRCcm93c2VyRW52KCkge1xcbiAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIChuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ1JlYWN0TmF0aXZlJyB8fFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ05hdGl2ZVNjcmlwdCcgfHxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLnByb2R1Y3QgPT09ICdOUycpKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHJldHVybiAoXFxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXFxuICAgIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCdcXG4gICk7XFxufVxcblxcbi8qKlxcbiAqIEl0ZXJhdGUgb3ZlciBhbiBBcnJheSBvciBhbiBPYmplY3QgaW52b2tpbmcgYSBmdW5jdGlvbiBmb3IgZWFjaCBpdGVtLlxcbiAqXFxuICogSWYgYG9iamAgaXMgYW4gQXJyYXkgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgcGFzc2luZ1xcbiAqIHRoZSB2YWx1ZSwgaW5kZXgsIGFuZCBjb21wbGV0ZSBhcnJheSBmb3IgZWFjaCBpdGVtLlxcbiAqXFxuICogSWYgJ29iaicgaXMgYW4gT2JqZWN0IGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIHBhc3NpbmdcXG4gKiB0aGUgdmFsdWUsIGtleSwgYW5kIGNvbXBsZXRlIG9iamVjdCBmb3IgZWFjaCBwcm9wZXJ0eS5cXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fEFycmF5fSBvYmogVGhlIG9iamVjdCB0byBpdGVyYXRlXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGNhbGxiYWNrIHRvIGludm9rZSBmb3IgZWFjaCBpdGVtXFxuICovXFxuZnVuY3Rpb24gZm9yRWFjaChvYmosIGZuKSB7XFxuICAvLyBEb24ndCBib3RoZXIgaWYgbm8gdmFsdWUgcHJvdmlkZWRcXG4gIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgLy8gRm9yY2UgYW4gYXJyYXkgaWYgbm90IGFscmVhZHkgc29tZXRoaW5nIGl0ZXJhYmxlXFxuICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcXG4gICAgLyplc2xpbnQgbm8tcGFyYW0tcmVhc3NpZ246MCovXFxuICAgIG9iaiA9IFtvYmpdO1xcbiAgfVxcblxcbiAgaWYgKGlzQXJyYXkob2JqKSkge1xcbiAgICAvLyBJdGVyYXRlIG92ZXIgYXJyYXkgdmFsdWVzXFxuICAgIGZvciAodmFyIGkgPSAwLCBsID0gb2JqLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICAgIGZuLmNhbGwobnVsbCwgb2JqW2ldLCBpLCBvYmopO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBJdGVyYXRlIG92ZXIgb2JqZWN0IGtleXNcXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XFxuICAgICAgICBmbi5jYWxsKG51bGwsIG9ialtrZXldLCBrZXksIG9iaik7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIEFjY2VwdHMgdmFyYXJncyBleHBlY3RpbmcgZWFjaCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QsIHRoZW5cXG4gKiBpbW11dGFibHkgbWVyZ2VzIHRoZSBwcm9wZXJ0aWVzIG9mIGVhY2ggb2JqZWN0IGFuZCByZXR1cm5zIHJlc3VsdC5cXG4gKlxcbiAqIFdoZW4gbXVsdGlwbGUgb2JqZWN0cyBjb250YWluIHRoZSBzYW1lIGtleSB0aGUgbGF0ZXIgb2JqZWN0IGluXFxuICogdGhlIGFyZ3VtZW50cyBsaXN0IHdpbGwgdGFrZSBwcmVjZWRlbmNlLlxcbiAqXFxuICogRXhhbXBsZTpcXG4gKlxcbiAqIGBgYGpzXFxuICogdmFyIHJlc3VsdCA9IG1lcmdlKHtmb286IDEyM30sIHtmb286IDQ1Nn0pO1xcbiAqIGNvbnNvbGUubG9nKHJlc3VsdC5mb28pOyAvLyBvdXRwdXRzIDQ1NlxcbiAqIGBgYFxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IG9iajEgT2JqZWN0IHRvIG1lcmdlXFxuICogQHJldHVybnMge09iamVjdH0gUmVzdWx0IG9mIGFsbCBtZXJnZSBwcm9wZXJ0aWVzXFxuICovXFxuZnVuY3Rpb24gbWVyZ2UoLyogb2JqMSwgb2JqMiwgb2JqMywgLi4uICovKSB7XFxuICB2YXIgcmVzdWx0ID0ge307XFxuICBmdW5jdGlvbiBhc3NpZ25WYWx1ZSh2YWwsIGtleSkge1xcbiAgICBpZiAodHlwZW9mIHJlc3VsdFtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJlc3VsdFtrZXldID0gbWVyZ2UocmVzdWx0W2tleV0sIHZhbCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICBmb3JFYWNoKGFyZ3VtZW50c1tpXSwgYXNzaWduVmFsdWUpO1xcbiAgfVxcbiAgcmV0dXJuIHJlc3VsdDtcXG59XFxuXFxuLyoqXFxuICogRnVuY3Rpb24gZXF1YWwgdG8gbWVyZ2Ugd2l0aCB0aGUgZGlmZmVyZW5jZSBiZWluZyB0aGF0IG5vIHJlZmVyZW5jZVxcbiAqIHRvIG9yaWdpbmFsIG9iamVjdHMgaXMga2VwdC5cXG4gKlxcbiAqIEBzZWUgbWVyZ2VcXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqMSBPYmplY3QgdG8gbWVyZ2VcXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXN1bHQgb2YgYWxsIG1lcmdlIHByb3BlcnRpZXNcXG4gKi9cXG5mdW5jdGlvbiBkZWVwTWVyZ2UoLyogb2JqMSwgb2JqMiwgb2JqMywgLi4uICovKSB7XFxuICB2YXIgcmVzdWx0ID0ge307XFxuICBmdW5jdGlvbiBhc3NpZ25WYWx1ZSh2YWwsIGtleSkge1xcbiAgICBpZiAodHlwZW9mIHJlc3VsdFtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJlc3VsdFtrZXldID0gZGVlcE1lcmdlKHJlc3VsdFtrZXldLCB2YWwpO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnKSB7XFxuICAgICAgcmVzdWx0W2tleV0gPSBkZWVwTWVyZ2Uoe30sIHZhbCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICBmb3JFYWNoKGFyZ3VtZW50c1tpXSwgYXNzaWduVmFsdWUpO1xcbiAgfVxcbiAgcmV0dXJuIHJlc3VsdDtcXG59XFxuXFxuLyoqXFxuICogRXh0ZW5kcyBvYmplY3QgYSBieSBtdXRhYmx5IGFkZGluZyB0byBpdCB0aGUgcHJvcGVydGllcyBvZiBvYmplY3QgYi5cXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBhIFRoZSBvYmplY3QgdG8gYmUgZXh0ZW5kZWRcXG4gKiBAcGFyYW0ge09iamVjdH0gYiBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tXFxuICogQHBhcmFtIHtPYmplY3R9IHRoaXNBcmcgVGhlIG9iamVjdCB0byBiaW5kIGZ1bmN0aW9uIHRvXFxuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIHZhbHVlIG9mIG9iamVjdCBhXFxuICovXFxuZnVuY3Rpb24gZXh0ZW5kKGEsIGIsIHRoaXNBcmcpIHtcXG4gIGZvckVhY2goYiwgZnVuY3Rpb24gYXNzaWduVmFsdWUodmFsLCBrZXkpIHtcXG4gICAgaWYgKHRoaXNBcmcgJiYgdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGFba2V5XSA9IGJpbmQodmFsLCB0aGlzQXJnKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhW2tleV0gPSB2YWw7XFxuICAgIH1cXG4gIH0pO1xcbiAgcmV0dXJuIGE7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0ge1xcbiAgaXNBcnJheTogaXNBcnJheSxcXG4gIGlzQXJyYXlCdWZmZXI6IGlzQXJyYXlCdWZmZXIsXFxuICBpc0J1ZmZlcjogaXNCdWZmZXIsXFxuICBpc0Zvcm1EYXRhOiBpc0Zvcm1EYXRhLFxcbiAgaXNBcnJheUJ1ZmZlclZpZXc6IGlzQXJyYXlCdWZmZXJWaWV3LFxcbiAgaXNTdHJpbmc6IGlzU3RyaW5nLFxcbiAgaXNOdW1iZXI6IGlzTnVtYmVyLFxcbiAgaXNPYmplY3Q6IGlzT2JqZWN0LFxcbiAgaXNVbmRlZmluZWQ6IGlzVW5kZWZpbmVkLFxcbiAgaXNEYXRlOiBpc0RhdGUsXFxuICBpc0ZpbGU6IGlzRmlsZSxcXG4gIGlzQmxvYjogaXNCbG9iLFxcbiAgaXNGdW5jdGlvbjogaXNGdW5jdGlvbixcXG4gIGlzU3RyZWFtOiBpc1N0cmVhbSxcXG4gIGlzVVJMU2VhcmNoUGFyYW1zOiBpc1VSTFNlYXJjaFBhcmFtcyxcXG4gIGlzU3RhbmRhcmRCcm93c2VyRW52OiBpc1N0YW5kYXJkQnJvd3NlckVudixcXG4gIGZvckVhY2g6IGZvckVhY2gsXFxuICBtZXJnZTogbWVyZ2UsXFxuICBkZWVwTWVyZ2U6IGRlZXBNZXJnZSxcXG4gIGV4dGVuZDogZXh0ZW5kLFxcbiAgdHJpbTogdHJpbVxcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2ZFhScGJITXVhbk0vTlRnd01TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc1owVkJRV2RDTzBGQlEyNURMR1ZCUVdVc2JVSkJRVThzUTBGQlF5eHZSRUZCVnpzN1FVRkZiRU03TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0VzVVVGQlVUdEJRVU55UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFJRVUZSTzBGQlEzSkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEZGQlFWRTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNVVUZCVVR0QlFVTnlRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEZGQlFWRTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNVVUZCVVR0QlFVTnlRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFOUJRVTg3UVVGRGJFSXNZVUZCWVN4UlFVRlJPMEZCUTNKQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4aFFVRmhMRkZCUVZFN1FVRkRja0k3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1VVRkJVVHRCUVVOeVFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1lVRkJZU3hSUVVGUk8wRkJRM0pDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhoUVVGaExGRkJRVkU3UVVGRGNrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0VzVVVGQlVUdEJRVU55UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFJRVUZSTzBGQlEzSkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEZGQlFWRTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNUMEZCVHp0QlFVTndRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1lVRkJZVHRCUVVONFFpeFhRVUZYTEZOQlFWTTdRVUZEY0VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF5eFBRVUZQTzBGQlF6RkRPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVExFZEJRVWNzVTBGQlV6dEJRVU0xUXl3eVFrRkJNa0k3UVVGRE0wSTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEU5QlFVODdRVUZEY0VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDFRMEZCZFVNc1QwRkJUenRCUVVNNVF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0VzVDBGQlR6dEJRVU53UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NaME5CUVdkRE8wRkJRMmhETEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUVzZFVOQlFYVkRMRTlCUVU4N1FVRkRPVU03UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEU5QlFVODdRVUZEYkVJc1dVRkJXU3hQUVVGUE8wRkJRMjVDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwzVjBhV3h6TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1ltbHVaQ0E5SUhKbGNYVnBjbVVvSnk0dmFHVnNjR1Z5Y3k5aWFXNWtKeWs3WEc1MllYSWdhWE5DZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RwY3kxaWRXWm1aWEluS1R0Y2JseHVMeXBuYkc5aVlXd2dkRzlUZEhKcGJtYzZkSEoxWlNvdlhHNWNiaTh2SUhWMGFXeHpJR2x6SUdFZ2JHbGljbUZ5ZVNCdlppQm5aVzVsY21saklHaGxiSEJsY2lCbWRXNWpkR2x2Ym5NZ2JtOXVMWE53WldOcFptbGpJSFJ2SUdGNGFXOXpYRzVjYm5aaGNpQjBiMU4wY21sdVp5QTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtYzdYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZVzRnUVhKeVlYbGNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RtRnNJRlJvWlNCMllXeDFaU0IwYnlCMFpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1ltOXZiR1ZoYm4wZ1ZISjFaU0JwWmlCMllXeDFaU0JwY3lCaGJpQkJjbkpoZVN3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6UVhKeVlYa29kbUZzS1NCN1hHNGdJSEpsZEhWeWJpQjBiMU4wY21sdVp5NWpZV3hzS0haaGJDa2dQVDA5SUNkYmIySnFaV04wSUVGeWNtRjVYU2M3WEc1OVhHNWNiaThxS2x4dUlDb2dSR1YwWlhKdGFXNWxJR2xtSUdFZ2RtRnNkV1VnYVhNZ1lXNGdRWEp5WVhsQ2RXWm1aWEpjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdkbUZzSUZSb1pTQjJZV3gxWlNCMGJ5QjBaWE4wWEc0Z0tpQkFjbVYwZFhKdWN5QjdZbTl2YkdWaGJuMGdWSEoxWlNCcFppQjJZV3gxWlNCcGN5QmhiaUJCY25KaGVVSjFabVpsY2l3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6UVhKeVlYbENkV1ptWlhJb2RtRnNLU0I3WEc0Z0lISmxkSFZ5YmlCMGIxTjBjbWx1Wnk1allXeHNLSFpoYkNrZ1BUMDlJQ2RiYjJKcVpXTjBJRUZ5Y21GNVFuVm1abVZ5WFNjN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZU0JHYjNKdFJHRjBZVnh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQjJZV3dnVkdobElIWmhiSFZsSUhSdklIUmxjM1JjYmlBcUlFQnlaWFIxY201eklIdGliMjlzWldGdWZTQlVjblZsSUdsbUlIWmhiSFZsSUdseklHRnVJRVp2Y20xRVlYUmhMQ0J2ZEdobGNuZHBjMlVnWm1Gc2MyVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z2FYTkdiM0p0UkdGMFlTaDJZV3dwSUh0Y2JpQWdjbVYwZFhKdUlDaDBlWEJsYjJZZ1JtOXliVVJoZEdFZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1NBbUppQW9kbUZzSUdsdWMzUmhibU5sYjJZZ1JtOXliVVJoZEdFcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVSbGRHVnliV2x1WlNCcFppQmhJSFpoYkhWbElHbHpJR0VnZG1sbGR5QnZiaUJoYmlCQmNuSmhlVUoxWm1abGNseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCMllXd2dWR2hsSUhaaGJIVmxJSFJ2SUhSbGMzUmNiaUFxSUVCeVpYUjFjbTV6SUh0aWIyOXNaV0Z1ZlNCVWNuVmxJR2xtSUhaaGJIVmxJR2x6SUdFZ2RtbGxkeUJ2YmlCaGJpQkJjbkpoZVVKMVptWmxjaXdnYjNSb1pYSjNhWE5sSUdaaGJITmxYRzRnS2k5Y2JtWjFibU4wYVc5dUlHbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM0tIWmhiQ2tnZTF4dUlDQjJZWElnY21WemRXeDBPMXh1SUNCcFppQW9LSFI1Y0dWdlppQkJjbkpoZVVKMVptWmxjaUFoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJQ1ltSUNoQmNuSmhlVUoxWm1abGNpNXBjMVpwWlhjcEtTQjdYRzRnSUNBZ2NtVnpkV3gwSUQwZ1FYSnlZWGxDZFdabVpYSXVhWE5XYVdWM0tIWmhiQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WemRXeDBJRDBnS0haaGJDa2dKaVlnS0haaGJDNWlkV1ptWlhJcElDWW1JQ2gyWVd3dVluVm1abVZ5SUdsdWMzUmhibU5sYjJZZ1FYSnlZWGxDZFdabVpYSXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZU0JUZEhKcGJtZGNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RtRnNJRlJvWlNCMllXeDFaU0IwYnlCMFpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1ltOXZiR1ZoYm4wZ1ZISjFaU0JwWmlCMllXeDFaU0JwY3lCaElGTjBjbWx1Wnl3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6VTNSeWFXNW5LSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0ozTjBjbWx1WnljN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZU0JPZFcxaVpYSmNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RtRnNJRlJvWlNCMllXeDFaU0IwYnlCMFpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1ltOXZiR1ZoYm4wZ1ZISjFaU0JwWmlCMllXeDFaU0JwY3lCaElFNTFiV0psY2l3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6VG5WdFltVnlLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0oyNTFiV0psY2ljN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdkVzVrWldacGJtVmtYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RHaGxJSFpoYkhWbElHbHpJSFZ1WkdWbWFXNWxaQ3dnYjNSb1pYSjNhWE5sSUdaaGJITmxYRzRnS2k5Y2JtWjFibU4wYVc5dUlHbHpWVzVrWldacGJtVmtLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0ozVnVaR1ZtYVc1bFpDYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVc0Z1QySnFaV04wWEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSFpoYkNCVWFHVWdkbUZzZFdVZ2RHOGdkR1Z6ZEZ4dUlDb2dRSEpsZEhWeWJuTWdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdkbUZzZFdVZ2FYTWdZVzRnVDJKcVpXTjBMQ0J2ZEdobGNuZHBjMlVnWm1Gc2MyVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z2FYTlBZbXBsWTNRb2RtRnNLU0I3WEc0Z0lISmxkSFZ5YmlCMllXd2dJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjlpYW1WamRDYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCRVlYUmxYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQkVZWFJsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlZjYmlBcUwxeHVablZ1WTNScGIyNGdhWE5FWVhSbEtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z2RHOVRkSEpwYm1jdVkyRnNiQ2gyWVd3cElEMDlQU0FuVzI5aWFtVmpkQ0JFWVhSbFhTYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCR2FXeGxYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQkdhV3hsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlZjYmlBcUwxeHVablZ1WTNScGIyNGdhWE5HYVd4bEtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z2RHOVRkSEpwYm1jdVkyRnNiQ2gyWVd3cElEMDlQU0FuVzI5aWFtVmpkQ0JHYVd4bFhTYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCQ2JHOWlYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQkNiRzlpTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlZjYmlBcUwxeHVablZ1WTNScGIyNGdhWE5DYkc5aUtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z2RHOVRkSEpwYm1jdVkyRnNiQ2gyWVd3cElEMDlQU0FuVzI5aWFtVmpkQ0JDYkc5aVhTYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCR2RXNWpkR2x2Ymx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0IyWVd3Z1ZHaGxJSFpoYkhWbElIUnZJSFJsYzNSY2JpQXFJRUJ5WlhSMWNtNXpJSHRpYjI5c1pXRnVmU0JVY25WbElHbG1JSFpoYkhWbElHbHpJR0VnUm5WdVkzUnBiMjRzSUc5MGFHVnlkMmx6WlNCbVlXeHpaVnh1SUNvdlhHNW1kVzVqZEdsdmJpQnBjMFoxYm1OMGFXOXVLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkRzlUZEhKcGJtY3VZMkZzYkNoMllXd3BJRDA5UFNBblcyOWlhbVZqZENCR2RXNWpkR2x2Ymwwbk8xeHVmVnh1WEc0dktpcGNiaUFxSUVSbGRHVnliV2x1WlNCcFppQmhJSFpoYkhWbElHbHpJR0VnVTNSeVpXRnRYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQlRkSEpsWVcwc0lHOTBhR1Z5ZDJselpTQm1ZV3h6WlZ4dUlDb3ZYRzVtZFc1amRHbHZiaUJwYzFOMGNtVmhiU2gyWVd3cElIdGNiaUFnY21WMGRYSnVJR2x6VDJKcVpXTjBLSFpoYkNrZ0ppWWdhWE5HZFc1amRHbHZiaWgyWVd3dWNHbHdaU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dSR1YwWlhKdGFXNWxJR2xtSUdFZ2RtRnNkV1VnYVhNZ1lTQlZVa3hUWldGeVkyaFFZWEpoYlhNZ2IySnFaV04wWEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSFpoYkNCVWFHVWdkbUZzZFdVZ2RHOGdkR1Z6ZEZ4dUlDb2dRSEpsZEhWeWJuTWdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdkbUZzZFdVZ2FYTWdZU0JWVWt4VFpXRnlZMmhRWVhKaGJYTWdiMkpxWldOMExDQnZkR2hsY25kcGMyVWdabUZzYzJWY2JpQXFMMXh1Wm5WdVkzUnBiMjRnYVhOVlVreFRaV0Z5WTJoUVlYSmhiWE1vZG1Gc0tTQjdYRzRnSUhKbGRIVnliaUIwZVhCbGIyWWdWVkpNVTJWaGNtTm9VR0Z5WVcxeklDRTlQU0FuZFc1a1pXWnBibVZrSnlBbUppQjJZV3dnYVc1emRHRnVZMlZ2WmlCVlVreFRaV0Z5WTJoUVlYSmhiWE03WEc1OVhHNWNiaThxS2x4dUlDb2dWSEpwYlNCbGVHTmxjM01nZDJocGRHVnpjR0ZqWlNCdlptWWdkR2hsSUdKbFoybHVibWx1WnlCaGJtUWdaVzVrSUc5bUlHRWdjM1J5YVc1blhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhOMGNpQlVhR1VnVTNSeWFXNW5JSFJ2SUhSeWFXMWNiaUFxSUVCeVpYUjFjbTV6SUh0VGRISnBibWQ5SUZSb1pTQlRkSEpwYm1jZ1puSmxaV1FnYjJZZ1pYaGpaWE56SUhkb2FYUmxjM0JoWTJWY2JpQXFMMXh1Wm5WdVkzUnBiMjRnZEhKcGJTaHpkSElwSUh0Y2JpQWdjbVYwZFhKdUlITjBjaTV5WlhCc1lXTmxLQzllWEZ4ektpOHNJQ2NuS1M1eVpYQnNZV05sS0M5Y1hITXFKQzhzSUNjbktUdGNibjFjYmx4dUx5b3FYRzRnS2lCRVpYUmxjbTFwYm1VZ2FXWWdkMlVuY21VZ2NuVnVibWx1WnlCcGJpQmhJSE4wWVc1a1lYSmtJR0p5YjNkelpYSWdaVzUyYVhKdmJtMWxiblJjYmlBcVhHNGdLaUJVYUdseklHRnNiRzkzY3lCaGVHbHZjeUIwYnlCeWRXNGdhVzRnWVNCM1pXSWdkMjl5YTJWeUxDQmhibVFnY21WaFkzUXRibUYwYVhabExseHVJQ29nUW05MGFDQmxiblpwY205dWJXVnVkSE1nYzNWd2NHOXlkQ0JZVFV4SWRIUndVbVZ4ZFdWemRDd2dZblYwSUc1dmRDQm1kV3hzZVNCemRHRnVaR0Z5WkNCbmJHOWlZV3h6TGx4dUlDcGNiaUFxSUhkbFlpQjNiM0pyWlhKek9seHVJQ29nSUhSNWNHVnZaaUIzYVc1a2IzY2dMVDRnZFc1a1pXWnBibVZrWEc0Z0tpQWdkSGx3Wlc5bUlHUnZZM1Z0Wlc1MElDMCtJSFZ1WkdWbWFXNWxaRnh1SUNwY2JpQXFJSEpsWVdOMExXNWhkR2wyWlRwY2JpQXFJQ0J1WVhacFoyRjBiM0l1Y0hKdlpIVmpkQ0F0UGlBblVtVmhZM1JPWVhScGRtVW5YRzRnS2lCdVlYUnBkbVZ6WTNKcGNIUmNiaUFxSUNCdVlYWnBaMkYwYjNJdWNISnZaSFZqZENBdFBpQW5UbUYwYVhabFUyTnlhWEIwSnlCdmNpQW5UbE1uWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUyS0NrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUc1aGRtbG5ZWFJ2Y2lBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ0tHNWhkbWxuWVhSdmNpNXdjbTlrZFdOMElEMDlQU0FuVW1WaFkzUk9ZWFJwZG1VbklIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibUYyYVdkaGRHOXlMbkJ5YjJSMVkzUWdQVDA5SUNkT1lYUnBkbVZUWTNKcGNIUW5JSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm1GMmFXZGhkRzl5TG5CeWIyUjFZM1FnUFQwOUlDZE9VeWNwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnZEhsd1pXOW1JSGRwYm1SdmR5QWhQVDBnSjNWdVpHVm1hVzVsWkNjZ0ppWmNiaUFnSUNCMGVYQmxiMllnWkc5amRXMWxiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5YRzRnSUNrN1hHNTlYRzVjYmk4cUtseHVJQ29nU1hSbGNtRjBaU0J2ZG1WeUlHRnVJRUZ5Y21GNUlHOXlJR0Z1SUU5aWFtVmpkQ0JwYm5admEybHVaeUJoSUdaMWJtTjBhVzl1SUdadmNpQmxZV05vSUdsMFpXMHVYRzRnS2x4dUlDb2dTV1lnWUc5aWFtQWdhWE1nWVc0Z1FYSnlZWGtnWTJGc2JHSmhZMnNnZDJsc2JDQmlaU0JqWVd4c1pXUWdjR0Z6YzJsdVoxeHVJQ29nZEdobElIWmhiSFZsTENCcGJtUmxlQ3dnWVc1a0lHTnZiWEJzWlhSbElHRnljbUY1SUdadmNpQmxZV05vSUdsMFpXMHVYRzRnS2x4dUlDb2dTV1lnSjI5aWFpY2dhWE1nWVc0Z1QySnFaV04wSUdOaGJHeGlZV05ySUhkcGJHd2dZbVVnWTJGc2JHVmtJSEJoYzNOcGJtZGNiaUFxSUhSb1pTQjJZV3gxWlN3Z2EyVjVMQ0JoYm1RZ1kyOXRjR3hsZEdVZ2IySnFaV04wSUdadmNpQmxZV05vSUhCeWIzQmxjblI1TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmRUZ5Y21GNWZTQnZZbW9nVkdobElHOWlhbVZqZENCMGJ5QnBkR1Z5WVhSbFhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JtYmlCVWFHVWdZMkZzYkdKaFkyc2dkRzhnYVc1MmIydGxJR1p2Y2lCbFlXTm9JR2wwWlcxY2JpQXFMMXh1Wm5WdVkzUnBiMjRnWm05eVJXRmphQ2h2WW1vc0lHWnVLU0I3WEc0Z0lDOHZJRVJ2YmlkMElHSnZkR2hsY2lCcFppQnVieUIyWVd4MVpTQndjbTkyYVdSbFpGeHVJQ0JwWmlBb2IySnFJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUJ2WW1vZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnTHk4Z1JtOXlZMlVnWVc0Z1lYSnlZWGtnYVdZZ2JtOTBJR0ZzY21WaFpIa2djMjl0WlhSb2FXNW5JR2wwWlhKaFlteGxYRzRnSUdsbUlDaDBlWEJsYjJZZ2IySnFJQ0U5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUM4cVpYTnNhVzUwSUc1dkxYQmhjbUZ0TFhKbFlYTnphV2R1T2pBcUwxeHVJQ0FnSUc5aWFpQTlJRnR2WW1wZE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dselFYSnlZWGtvYjJKcUtTa2dlMXh1SUNBZ0lDOHZJRWwwWlhKaGRHVWdiM1psY2lCaGNuSmhlU0IyWVd4MVpYTmNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYkNBOUlHOWlhaTVzWlc1bmRHZzdJR2tnUENCc095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdadUxtTmhiR3dvYm5Wc2JDd2diMkpxVzJsZExDQnBMQ0J2WW1vcE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QkpkR1Z5WVhSbElHOTJaWElnYjJKcVpXTjBJR3RsZVhOY2JpQWdJQ0JtYjNJZ0tIWmhjaUJyWlhrZ2FXNGdiMkpxS1NCN1hHNGdJQ0FnSUNCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzlpYWl3Z2EyVjVLU2tnZTF4dUlDQWdJQ0FnSUNCbWJpNWpZV3hzS0c1MWJHd3NJRzlpYWx0clpYbGRMQ0JyWlhrc0lHOWlhaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nUVdOalpYQjBjeUIyWVhKaGNtZHpJR1Y0Y0dWamRHbHVaeUJsWVdOb0lHRnlaM1Z0Wlc1MElIUnZJR0psSUdGdUlHOWlhbVZqZEN3Z2RHaGxibHh1SUNvZ2FXMXRkWFJoWW14NUlHMWxjbWRsY3lCMGFHVWdjSEp2Y0dWeWRHbGxjeUJ2WmlCbFlXTm9JRzlpYW1WamRDQmhibVFnY21WMGRYSnVjeUJ5WlhOMWJIUXVYRzRnS2x4dUlDb2dWMmhsYmlCdGRXeDBhWEJzWlNCdlltcGxZM1J6SUdOdmJuUmhhVzRnZEdobElITmhiV1VnYTJWNUlIUm9aU0JzWVhSbGNpQnZZbXBsWTNRZ2FXNWNiaUFxSUhSb1pTQmhjbWQxYldWdWRITWdiR2x6ZENCM2FXeHNJSFJoYTJVZ2NISmxZMlZrWlc1alpTNWNiaUFxWEc0Z0tpQkZlR0Z0Y0d4bE9seHVJQ3BjYmlBcUlHQmdZR3B6WEc0Z0tpQjJZWElnY21WemRXeDBJRDBnYldWeVoyVW9lMlp2YnpvZ01USXpmU3dnZTJadmJ6b2dORFUyZlNrN1hHNGdLaUJqYjI1emIyeGxMbXh2WnloeVpYTjFiSFF1Wm05dktUc2dMeThnYjNWMGNIVjBjeUEwTlRaY2JpQXFJR0JnWUZ4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2WW1veElFOWlhbVZqZENCMGJ5QnRaWEpuWlZ4dUlDb2dRSEpsZEhWeWJuTWdlMDlpYW1WamRIMGdVbVZ6ZFd4MElHOW1JR0ZzYkNCdFpYSm5aU0J3Y205d1pYSjBhV1Z6WEc0Z0tpOWNibVoxYm1OMGFXOXVJRzFsY21kbEtDOHFJRzlpYWpFc0lHOWlhaklzSUc5aWFqTXNJQzR1TGlBcUx5a2dlMXh1SUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEc0Z0lHWjFibU4wYVc5dUlHRnpjMmxuYmxaaGJIVmxLSFpoYkN3Z2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhOMWJIUmJhMlY1WFNBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJSEpsYzNWc2RGdHJaWGxkSUQwZ2JXVnlaMlVvY21WemRXeDBXMnRsZVYwc0lIWmhiQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjM1ZzZEZ0clpYbGRJRDBnZG1Gc08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFEc2dhU0E4SUd3N0lHa3JLeWtnZTF4dUlDQWdJR1p2Y2tWaFkyZ29ZWEpuZFcxbGJuUnpXMmxkTENCaGMzTnBaMjVXWVd4MVpTazdYRzRnSUgxY2JpQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JuMWNibHh1THlvcVhHNGdLaUJHZFc1amRHbHZiaUJsY1hWaGJDQjBieUJ0WlhKblpTQjNhWFJvSUhSb1pTQmthV1ptWlhKbGJtTmxJR0psYVc1bklIUm9ZWFFnYm04Z2NtVm1aWEpsYm1ObFhHNGdLaUIwYnlCdmNtbG5hVzVoYkNCdlltcGxZM1J6SUdseklHdGxjSFF1WEc0Z0tseHVJQ29nUUhObFpTQnRaWEpuWlZ4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOWlhakVnVDJKcVpXTjBJSFJ2SUcxbGNtZGxYRzRnS2lCQWNtVjBkWEp1Y3lCN1QySnFaV04wZlNCU1pYTjFiSFFnYjJZZ1lXeHNJRzFsY21kbElIQnliM0JsY25ScFpYTmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1pHVmxjRTFsY21kbEtDOHFJRzlpYWpFc0lHOWlhaklzSUc5aWFqTXNJQzR1TGlBcUx5a2dlMXh1SUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEc0Z0lHWjFibU4wYVc5dUlHRnpjMmxuYmxaaGJIVmxLSFpoYkN3Z2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhOMWJIUmJhMlY1WFNBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJSEpsYzNWc2RGdHJaWGxkSUQwZ1pHVmxjRTFsY21kbEtISmxjM1ZzZEZ0clpYbGRMQ0IyWVd3cE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhaaGJDQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUhKbGMzVnNkRnRyWlhsZElEMGdaR1ZsY0UxbGNtZGxLSHQ5TENCMllXd3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYTjFiSFJiYTJWNVhTQTlJSFpoYkR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYkNBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa2dQQ0JzT3lCcEt5c3BJSHRjYmlBZ0lDQm1iM0pGWVdOb0tHRnlaM1Z0Wlc1MGMxdHBYU3dnWVhOemFXZHVWbUZzZFdVcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OVhHNWNiaThxS2x4dUlDb2dSWGgwWlc1a2N5QnZZbXBsWTNRZ1lTQmllU0J0ZFhSaFlteDVJR0ZrWkdsdVp5QjBieUJwZENCMGFHVWdjSEp2Y0dWeWRHbGxjeUJ2WmlCdlltcGxZM1FnWWk1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnWVNCVWFHVWdiMkpxWldOMElIUnZJR0psSUdWNGRHVnVaR1ZrWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1lpQlVhR1VnYjJKcVpXTjBJSFJ2SUdOdmNIa2djSEp2Y0dWeWRHbGxjeUJtY205dFhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdkR2hwYzBGeVp5QlVhR1VnYjJKcVpXTjBJSFJ2SUdKcGJtUWdablZ1WTNScGIyNGdkRzljYmlBcUlFQnlaWFIxY200Z2UwOWlhbVZqZEgwZ1ZHaGxJSEpsYzNWc2RHbHVaeUIyWVd4MVpTQnZaaUJ2WW1wbFkzUWdZVnh1SUNvdlhHNW1kVzVqZEdsdmJpQmxlSFJsYm1Rb1lTd2dZaXdnZEdocGMwRnlaeWtnZTF4dUlDQm1iM0pGWVdOb0tHSXNJR1oxYm1OMGFXOXVJR0Z6YzJsbmJsWmhiSFZsS0haaGJDd2dhMlY1S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE5CY21jZ0ppWWdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdZVnRyWlhsZElEMGdZbWx1WkNoMllXd3NJSFJvYVhOQmNtY3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaFcydGxlVjBnUFNCMllXdzdYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JpQWdjbVYwZFhKdUlHRTdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JwYzBGeWNtRjVPaUJwYzBGeWNtRjVMRnh1SUNCcGMwRnljbUY1UW5WbVptVnlPaUJwYzBGeWNtRjVRblZtWm1WeUxGeHVJQ0JwYzBKMVptWmxjam9nYVhOQ2RXWm1aWElzWEc0Z0lHbHpSbTl5YlVSaGRHRTZJR2x6Um05eWJVUmhkR0VzWEc0Z0lHbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM09pQnBjMEZ5Y21GNVFuVm1abVZ5Vm1sbGR5eGNiaUFnYVhOVGRISnBibWM2SUdselUzUnlhVzVuTEZ4dUlDQnBjMDUxYldKbGNqb2dhWE5PZFcxaVpYSXNYRzRnSUdselQySnFaV04wT2lCcGMwOWlhbVZqZEN4Y2JpQWdhWE5WYm1SbFptbHVaV1E2SUdselZXNWtaV1pwYm1Wa0xGeHVJQ0JwYzBSaGRHVTZJR2x6UkdGMFpTeGNiaUFnYVhOR2FXeGxPaUJwYzBacGJHVXNYRzRnSUdselFteHZZam9nYVhOQ2JHOWlMRnh1SUNCcGMwWjFibU4wYVc5dU9pQnBjMFoxYm1OMGFXOXVMRnh1SUNCcGMxTjBjbVZoYlRvZ2FYTlRkSEpsWVcwc1hHNGdJR2x6VlZKTVUyVmhjbU5vVUdGeVlXMXpPaUJwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeXhjYmlBZ2FYTlRkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWTZJR2x6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUyTEZ4dUlDQm1iM0pGWVdOb09pQm1iM0pGWVdOb0xGeHVJQ0J0WlhKblpUb2diV1Z5WjJVc1hHNGdJR1JsWlhCTlpYSm5aVG9nWkdWbGNFMWxjbWRsTEZ4dUlDQmxlSFJsYm1RNklHVjRkR1Z1WkN4Y2JpQWdkSEpwYlRvZ2RISnBiVnh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jhc2U2NC1qcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxcbmV4cG9ydHMudG9CeXRlQXJyYXkgPSB0b0J5dGVBcnJheVxcbmV4cG9ydHMuZnJvbUJ5dGVBcnJheSA9IGZyb21CeXRlQXJyYXlcXG5cXG52YXIgbG9va3VwID0gW11cXG52YXIgcmV2TG9va3VwID0gW11cXG52YXIgQXJyID0gdHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnID8gVWludDhBcnJheSA6IEFycmF5XFxuXFxudmFyIGNvZGUgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLydcXG5mb3IgKHZhciBpID0gMCwgbGVuID0gY29kZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xcbiAgbG9va3VwW2ldID0gY29kZVtpXVxcbiAgcmV2TG9va3VwW2NvZGUuY2hhckNvZGVBdChpKV0gPSBpXFxufVxcblxcbi8vIFN1cHBvcnQgZGVjb2RpbmcgVVJMLXNhZmUgYmFzZTY0IHN0cmluZ3MsIGFzIE5vZGUuanMgZG9lcy5cXG4vLyBTZWU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jhc2U2NCNVUkxfYXBwbGljYXRpb25zXFxucmV2TG9va3VwWyctJy5jaGFyQ29kZUF0KDApXSA9IDYyXFxucmV2TG9va3VwWydfJy5jaGFyQ29kZUF0KDApXSA9IDYzXFxuXFxuZnVuY3Rpb24gZ2V0TGVucyAoYjY0KSB7XFxuICB2YXIgbGVuID0gYjY0Lmxlbmd0aFxcblxcbiAgaWYgKGxlbiAlIDQgPiAwKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCcpXFxuICB9XFxuXFxuICAvLyBUcmltIG9mZiBleHRyYSBieXRlcyBhZnRlciBwbGFjZWhvbGRlciBieXRlcyBhcmUgZm91bmRcXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JlYXRnYW1taXQvYmFzZTY0LWpzL2lzc3Vlcy80MlxcbiAgdmFyIHZhbGlkTGVuID0gYjY0LmluZGV4T2YoJz0nKVxcbiAgaWYgKHZhbGlkTGVuID09PSAtMSkgdmFsaWRMZW4gPSBsZW5cXG5cXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSB2YWxpZExlbiA9PT0gbGVuXFxuICAgID8gMFxcbiAgICA6IDQgLSAodmFsaWRMZW4gJSA0KVxcblxcbiAgcmV0dXJuIFt2YWxpZExlbiwgcGxhY2VIb2xkZXJzTGVuXVxcbn1cXG5cXG4vLyBiYXNlNjQgaXMgNC8zICsgdXAgdG8gdHdvIGNoYXJhY3RlcnMgb2YgdGhlIG9yaWdpbmFsIGRhdGFcXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChiNjQpIHtcXG4gIHZhciBsZW5zID0gZ2V0TGVucyhiNjQpXFxuICB2YXIgdmFsaWRMZW4gPSBsZW5zWzBdXFxuICB2YXIgcGxhY2VIb2xkZXJzTGVuID0gbGVuc1sxXVxcbiAgcmV0dXJuICgodmFsaWRMZW4gKyBwbGFjZUhvbGRlcnNMZW4pICogMyAvIDQpIC0gcGxhY2VIb2xkZXJzTGVuXFxufVxcblxcbmZ1bmN0aW9uIF9ieXRlTGVuZ3RoIChiNjQsIHZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW4pIHtcXG4gIHJldHVybiAoKHZhbGlkTGVuICsgcGxhY2VIb2xkZXJzTGVuKSAqIDMgLyA0KSAtIHBsYWNlSG9sZGVyc0xlblxcbn1cXG5cXG5mdW5jdGlvbiB0b0J5dGVBcnJheSAoYjY0KSB7XFxuICB2YXIgdG1wXFxuICB2YXIgbGVucyA9IGdldExlbnMoYjY0KVxcbiAgdmFyIHZhbGlkTGVuID0gbGVuc1swXVxcbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IGxlbnNbMV1cXG5cXG4gIHZhciBhcnIgPSBuZXcgQXJyKF9ieXRlTGVuZ3RoKGI2NCwgdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbikpXFxuXFxuICB2YXIgY3VyQnl0ZSA9IDBcXG5cXG4gIC8vIGlmIHRoZXJlIGFyZSBwbGFjZWhvbGRlcnMsIG9ubHkgZ2V0IHVwIHRvIHRoZSBsYXN0IGNvbXBsZXRlIDQgY2hhcnNcXG4gIHZhciBsZW4gPSBwbGFjZUhvbGRlcnNMZW4gPiAwXFxuICAgID8gdmFsaWRMZW4gLSA0XFxuICAgIDogdmFsaWRMZW5cXG5cXG4gIHZhciBpXFxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDQpIHtcXG4gICAgdG1wID1cXG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAxOCkgfFxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCAxMikgfFxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDIpXSA8PCA2KSB8XFxuICAgICAgcmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAzKV1cXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDE2KSAmIDB4RkZcXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcXG4gIH1cXG5cXG4gIGlmIChwbGFjZUhvbGRlcnNMZW4gPT09IDIpIHtcXG4gICAgdG1wID1cXG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyKSB8XFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldID4+IDQpXFxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxcbiAgfVxcblxcbiAgaWYgKHBsYWNlSG9sZGVyc0xlbiA9PT0gMSkge1xcbiAgICB0bXAgPVxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDEwKSB8XFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldIDw8IDQpIHxcXG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAyKV0gPj4gMilcXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcXG4gIH1cXG5cXG4gIHJldHVybiBhcnJcXG59XFxuXFxuZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0IChudW0pIHtcXG4gIHJldHVybiBsb29rdXBbbnVtID4+IDE4ICYgMHgzRl0gK1xcbiAgICBsb29rdXBbbnVtID4+IDEyICYgMHgzRl0gK1xcbiAgICBsb29rdXBbbnVtID4+IDYgJiAweDNGXSArXFxuICAgIGxvb2t1cFtudW0gJiAweDNGXVxcbn1cXG5cXG5mdW5jdGlvbiBlbmNvZGVDaHVuayAodWludDgsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciB0bXBcXG4gIHZhciBvdXRwdXQgPSBbXVxcbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IDMpIHtcXG4gICAgdG1wID1cXG4gICAgICAoKHVpbnQ4W2ldIDw8IDE2KSAmIDB4RkYwMDAwKSArXFxuICAgICAgKCh1aW50OFtpICsgMV0gPDwgOCkgJiAweEZGMDApICtcXG4gICAgICAodWludDhbaSArIDJdICYgMHhGRilcXG4gICAgb3V0cHV0LnB1c2godHJpcGxldFRvQmFzZTY0KHRtcCkpXFxuICB9XFxuICByZXR1cm4gb3V0cHV0LmpvaW4oJycpXFxufVxcblxcbmZ1bmN0aW9uIGZyb21CeXRlQXJyYXkgKHVpbnQ4KSB7XFxuICB2YXIgdG1wXFxuICB2YXIgbGVuID0gdWludDgubGVuZ3RoXFxuICB2YXIgZXh0cmFCeXRlcyA9IGxlbiAlIDMgLy8gaWYgd2UgaGF2ZSAxIGJ5dGUgbGVmdCwgcGFkIDIgYnl0ZXNcXG4gIHZhciBwYXJ0cyA9IFtdXFxuICB2YXIgbWF4Q2h1bmtMZW5ndGggPSAxNjM4MyAvLyBtdXN0IGJlIG11bHRpcGxlIG9mIDNcXG5cXG4gIC8vIGdvIHRocm91Z2ggdGhlIGFycmF5IGV2ZXJ5IHRocmVlIGJ5dGVzLCB3ZSdsbCBkZWFsIHdpdGggdHJhaWxpbmcgc3R1ZmYgbGF0ZXJcXG4gIGZvciAodmFyIGkgPSAwLCBsZW4yID0gbGVuIC0gZXh0cmFCeXRlczsgaSA8IGxlbjI7IGkgKz0gbWF4Q2h1bmtMZW5ndGgpIHtcXG4gICAgcGFydHMucHVzaChlbmNvZGVDaHVuayhcXG4gICAgICB1aW50OCwgaSwgKGkgKyBtYXhDaHVua0xlbmd0aCkgPiBsZW4yID8gbGVuMiA6IChpICsgbWF4Q2h1bmtMZW5ndGgpXFxuICAgICkpXFxuICB9XFxuXFxuICAvLyBwYWQgdGhlIGVuZCB3aXRoIHplcm9zLCBidXQgbWFrZSBzdXJlIHRvIG5vdCBmb3JnZXQgdGhlIGV4dHJhIGJ5dGVzXFxuICBpZiAoZXh0cmFCeXRlcyA9PT0gMSkge1xcbiAgICB0bXAgPSB1aW50OFtsZW4gLSAxXVxcbiAgICBwYXJ0cy5wdXNoKFxcbiAgICAgIGxvb2t1cFt0bXAgPj4gMl0gK1xcbiAgICAgIGxvb2t1cFsodG1wIDw8IDQpICYgMHgzRl0gK1xcbiAgICAgICc9PSdcXG4gICAgKVxcbiAgfSBlbHNlIGlmIChleHRyYUJ5dGVzID09PSAyKSB7XFxuICAgIHRtcCA9ICh1aW50OFtsZW4gLSAyXSA8PCA4KSArIHVpbnQ4W2xlbiAtIDFdXFxuICAgIHBhcnRzLnB1c2goXFxuICAgICAgbG9va3VwW3RtcCA+PiAxMF0gK1xcbiAgICAgIGxvb2t1cFsodG1wID4+IDQpICYgMHgzRl0gK1xcbiAgICAgIGxvb2t1cFsodG1wIDw8IDIpICYgMHgzRl0gK1xcbiAgICAgICc9J1xcbiAgICApXFxuICB9XFxuXFxuICByZXR1cm4gcGFydHMuam9pbignJylcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpWVhObE5qUXRhbk12YVc1a1pYZ3Vhbk0vWXpGa01TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJXVHM3UVVGRldqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNhME5CUVd0RExGTkJRVk03UVVGRE0wTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzWVVGQllTeFRRVUZUTzBGQlEzUkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4eFFrRkJjVUlzVTBGQlV6dEJRVU01UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREJEUVVFd1F5eFZRVUZWTzBGQlEzQkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySmhjMlUyTkMxcWN5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEoxeHVYRzVsZUhCdmNuUnpMbUo1ZEdWTVpXNW5kR2dnUFNCaWVYUmxUR1Z1WjNSb1hHNWxlSEJ2Y25SekxuUnZRbmwwWlVGeWNtRjVJRDBnZEc5Q2VYUmxRWEp5WVhsY2JtVjRjRzl5ZEhNdVpuSnZiVUo1ZEdWQmNuSmhlU0E5SUdaeWIyMUNlWFJsUVhKeVlYbGNibHh1ZG1GeUlHeHZiMnQxY0NBOUlGdGRYRzUyWVhJZ2NtVjJURzl2YTNWd0lEMGdXMTFjYm5aaGNpQkJjbklnUFNCMGVYQmxiMllnVldsdWREaEJjbkpoZVNBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCVmFXNTBPRUZ5Y21GNUlEb2dRWEp5WVhsY2JseHVkbUZ5SUdOdlpHVWdQU0FuUVVKRFJFVkdSMGhKU2t0TVRVNVBVRkZTVTFSVlZsZFlXVnBoWW1Oa1pXWm5hR2xxYTJ4dGJtOXdjWEp6ZEhWMmQzaDVlakF4TWpNME5UWTNPRGtyTHlkY2JtWnZjaUFvZG1GeUlHa2dQU0F3TENCc1pXNGdQU0JqYjJSbExteGxibWQwYURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lHeHZiMnQxY0Z0cFhTQTlJR052WkdWYmFWMWNiaUFnY21WMlRHOXZhM1Z3VzJOdlpHVXVZMmhoY2tOdlpHVkJkQ2hwS1YwZ1BTQnBYRzU5WEc1Y2JpOHZJRk4xY0hCdmNuUWdaR1ZqYjJScGJtY2dWVkpNTFhOaFptVWdZbUZ6WlRZMElITjBjbWx1WjNNc0lHRnpJRTV2WkdVdWFuTWdaRzlsY3k1Y2JpOHZJRk5sWlRvZ2FIUjBjSE02THk5bGJpNTNhV3RwY0dWa2FXRXViM0puTDNkcGEya3ZRbUZ6WlRZMEkxVlNURjloY0hCc2FXTmhkR2x2Ym5OY2JuSmxka3h2YjJ0MWNGc25MU2N1WTJoaGNrTnZaR1ZCZENnd0tWMGdQU0EyTWx4dWNtVjJURzl2YTNWd1d5ZGZKeTVqYUdGeVEyOWtaVUYwS0RBcFhTQTlJRFl6WEc1Y2JtWjFibU4wYVc5dUlHZGxkRXhsYm5NZ0tHSTJOQ2tnZTF4dUlDQjJZWElnYkdWdUlEMGdZalkwTG14bGJtZDBhRnh1WEc0Z0lHbG1JQ2hzWlc0Z0pTQTBJRDRnTUNrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduU1c1MllXeHBaQ0J6ZEhKcGJtY3VJRXhsYm1kMGFDQnRkWE4wSUdKbElHRWdiWFZzZEdsd2JHVWdiMllnTkNjcFhHNGdJSDFjYmx4dUlDQXZMeUJVY21sdElHOW1aaUJsZUhSeVlTQmllWFJsY3lCaFpuUmxjaUJ3YkdGalpXaHZiR1JsY2lCaWVYUmxjeUJoY21VZ1ptOTFibVJjYmlBZ0x5OGdVMlZsT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlltVmhkR2RoYlcxcGRDOWlZWE5sTmpRdGFuTXZhWE56ZFdWekx6UXlYRzRnSUhaaGNpQjJZV3hwWkV4bGJpQTlJR0kyTkM1cGJtUmxlRTltS0NjOUp5bGNiaUFnYVdZZ0tIWmhiR2xrVEdWdUlEMDlQU0F0TVNrZ2RtRnNhV1JNWlc0Z1BTQnNaVzVjYmx4dUlDQjJZWElnY0d4aFkyVkliMnhrWlhKelRHVnVJRDBnZG1Gc2FXUk1aVzRnUFQwOUlHeGxibHh1SUNBZ0lEOGdNRnh1SUNBZ0lEb2dOQ0F0SUNoMllXeHBaRXhsYmlBbElEUXBYRzVjYmlBZ2NtVjBkWEp1SUZ0MllXeHBaRXhsYml3Z2NHeGhZMlZJYjJ4a1pYSnpUR1Z1WFZ4dWZWeHVYRzR2THlCaVlYTmxOalFnYVhNZ05DOHpJQ3NnZFhBZ2RHOGdkSGR2SUdOb1lYSmhZM1JsY25NZ2IyWWdkR2hsSUc5eWFXZHBibUZzSUdSaGRHRmNibVoxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0dJMk5Da2dlMXh1SUNCMllYSWdiR1Z1Y3lBOUlHZGxkRXhsYm5Nb1lqWTBLVnh1SUNCMllYSWdkbUZzYVdSTVpXNGdQU0JzWlc1eld6QmRYRzRnSUhaaGNpQndiR0ZqWlVodmJHUmxjbk5NWlc0Z1BTQnNaVzV6V3pGZFhHNGdJSEpsZEhWeWJpQW9LSFpoYkdsa1RHVnVJQ3NnY0d4aFkyVkliMnhrWlhKelRHVnVLU0FxSURNZ0x5QTBLU0F0SUhCc1lXTmxTRzlzWkdWeWMweGxibHh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmZZbmwwWlV4bGJtZDBhQ0FvWWpZMExDQjJZV3hwWkV4bGJpd2djR3hoWTJWSWIyeGtaWEp6VEdWdUtTQjdYRzRnSUhKbGRIVnliaUFvS0haaGJHbGtUR1Z1SUNzZ2NHeGhZMlZJYjJ4a1pYSnpUR1Z1S1NBcUlETWdMeUEwS1NBdElIQnNZV05sU0c5c1pHVnljMHhsYmx4dWZWeHVYRzVtZFc1amRHbHZiaUIwYjBKNWRHVkJjbkpoZVNBb1lqWTBLU0I3WEc0Z0lIWmhjaUIwYlhCY2JpQWdkbUZ5SUd4bGJuTWdQU0JuWlhSTVpXNXpLR0kyTkNsY2JpQWdkbUZ5SUhaaGJHbGtUR1Z1SUQwZ2JHVnVjMXN3WFZ4dUlDQjJZWElnY0d4aFkyVkliMnhrWlhKelRHVnVJRDBnYkdWdWMxc3hYVnh1WEc0Z0lIWmhjaUJoY25JZ1BTQnVaWGNnUVhKeUtGOWllWFJsVEdWdVozUm9LR0kyTkN3Z2RtRnNhV1JNWlc0c0lIQnNZV05sU0c5c1pHVnljMHhsYmlrcFhHNWNiaUFnZG1GeUlHTjFja0o1ZEdVZ1BTQXdYRzVjYmlBZ0x5OGdhV1lnZEdobGNtVWdZWEpsSUhCc1lXTmxhRzlzWkdWeWN5d2diMjVzZVNCblpYUWdkWEFnZEc4Z2RHaGxJR3hoYzNRZ1kyOXRjR3hsZEdVZ05DQmphR0Z5YzF4dUlDQjJZWElnYkdWdUlEMGdjR3hoWTJWSWIyeGtaWEp6VEdWdUlENGdNRnh1SUNBZ0lEOGdkbUZzYVdSTVpXNGdMU0EwWEc0Z0lDQWdPaUIyWVd4cFpFeGxibHh1WEc0Z0lIWmhjaUJwWEc0Z0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tnS3owZ05Da2dlMXh1SUNBZ0lIUnRjQ0E5WEc0Z0lDQWdJQ0FvY21WMlRHOXZhM1Z3VzJJMk5DNWphR0Z5UTI5a1pVRjBLR2twWFNBOFBDQXhPQ2tnZkZ4dUlDQWdJQ0FnS0hKbGRreHZiMnQxY0Z0aU5qUXVZMmhoY2tOdlpHVkJkQ2hwSUNzZ01TbGRJRHc4SURFeUtTQjhYRzRnSUNBZ0lDQW9jbVYyVEc5dmEzVndXMkkyTkM1amFHRnlRMjlrWlVGMEtHa2dLeUF5S1YwZ1BEd2dOaWtnZkZ4dUlDQWdJQ0FnY21WMlRHOXZhM1Z3VzJJMk5DNWphR0Z5UTI5a1pVRjBLR2tnS3lBektWMWNiaUFnSUNCaGNuSmJZM1Z5UW5sMFpTc3JYU0E5SUNoMGJYQWdQajRnTVRZcElDWWdNSGhHUmx4dUlDQWdJR0Z5Y2x0amRYSkNlWFJsS3l0ZElEMGdLSFJ0Y0NBK1BpQTRLU0FtSURCNFJrWmNiaUFnSUNCaGNuSmJZM1Z5UW5sMFpTc3JYU0E5SUhSdGNDQW1JREI0UmtaY2JpQWdmVnh1WEc0Z0lHbG1JQ2h3YkdGalpVaHZiR1JsY25OTVpXNGdQVDA5SURJcElIdGNiaUFnSUNCMGJYQWdQVnh1SUNBZ0lDQWdLSEpsZGt4dmIydDFjRnRpTmpRdVkyaGhja052WkdWQmRDaHBLVjBnUER3Z01pa2dmRnh1SUNBZ0lDQWdLSEpsZGt4dmIydDFjRnRpTmpRdVkyaGhja052WkdWQmRDaHBJQ3NnTVNsZElENCtJRFFwWEc0Z0lDQWdZWEp5VzJOMWNrSjVkR1VySzEwZ1BTQjBiWEFnSmlBd2VFWkdYRzRnSUgxY2JseHVJQ0JwWmlBb2NHeGhZMlZJYjJ4a1pYSnpUR1Z1SUQwOVBTQXhLU0I3WEc0Z0lDQWdkRzF3SUQxY2JpQWdJQ0FnSUNoeVpYWk1iMjlyZFhCYllqWTBMbU5vWVhKRGIyUmxRWFFvYVNsZElEdzhJREV3S1NCOFhHNGdJQ0FnSUNBb2NtVjJURzl2YTNWd1cySTJOQzVqYUdGeVEyOWtaVUYwS0drZ0t5QXhLVjBnUER3Z05Da2dmRnh1SUNBZ0lDQWdLSEpsZGt4dmIydDFjRnRpTmpRdVkyaGhja052WkdWQmRDaHBJQ3NnTWlsZElENCtJRElwWEc0Z0lDQWdZWEp5VzJOMWNrSjVkR1VySzEwZ1BTQW9kRzF3SUQ0K0lEZ3BJQ1lnTUhoR1JseHVJQ0FnSUdGeWNsdGpkWEpDZVhSbEt5dGRJRDBnZEcxd0lDWWdNSGhHUmx4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdGeWNseHVmVnh1WEc1bWRXNWpkR2x2YmlCMGNtbHdiR1YwVkc5Q1lYTmxOalFnS0c1MWJTa2dlMXh1SUNCeVpYUjFjbTRnYkc5dmEzVndXMjUxYlNBK1BpQXhPQ0FtSURCNE0wWmRJQ3RjYmlBZ0lDQnNiMjlyZFhCYmJuVnRJRDQrSURFeUlDWWdNSGd6UmwwZ0sxeHVJQ0FnSUd4dmIydDFjRnR1ZFcwZ1BqNGdOaUFtSURCNE0wWmRJQ3RjYmlBZ0lDQnNiMjlyZFhCYmJuVnRJQ1lnTUhnelJsMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXNWpiMlJsUTJoMWJtc2dLSFZwYm5RNExDQnpkR0Z5ZEN3Z1pXNWtLU0I3WEc0Z0lIWmhjaUIwYlhCY2JpQWdkbUZ5SUc5MWRIQjFkQ0E5SUZ0ZFhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHVnVaRHNnYVNBclBTQXpLU0I3WEc0Z0lDQWdkRzF3SUQxY2JpQWdJQ0FnSUNnb2RXbHVkRGhiYVYwZ1BEd2dNVFlwSUNZZ01IaEdSakF3TURBcElDdGNiaUFnSUNBZ0lDZ29kV2x1ZERoYmFTQXJJREZkSUR3OElEZ3BJQ1lnTUhoR1JqQXdLU0FyWEc0Z0lDQWdJQ0FvZFdsdWREaGJhU0FySURKZElDWWdNSGhHUmlsY2JpQWdJQ0J2ZFhSd2RYUXVjSFZ6YUNoMGNtbHdiR1YwVkc5Q1lYTmxOalFvZEcxd0tTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z2IzVjBjSFYwTG1wdmFXNG9KeWNwWEc1OVhHNWNibVoxYm1OMGFXOXVJR1p5YjIxQ2VYUmxRWEp5WVhrZ0tIVnBiblE0S1NCN1hHNGdJSFpoY2lCMGJYQmNiaUFnZG1GeUlHeGxiaUE5SUhWcGJuUTRMbXhsYm1kMGFGeHVJQ0IyWVhJZ1pYaDBjbUZDZVhSbGN5QTlJR3hsYmlBbElETWdMeThnYVdZZ2QyVWdhR0YyWlNBeElHSjVkR1VnYkdWbWRDd2djR0ZrSURJZ1lubDBaWE5jYmlBZ2RtRnlJSEJoY25SeklEMGdXMTFjYmlBZ2RtRnlJRzFoZUVOb2RXNXJUR1Z1WjNSb0lEMGdNVFl6T0RNZ0x5OGdiWFZ6ZENCaVpTQnRkV3gwYVhCc1pTQnZaaUF6WEc1Y2JpQWdMeThnWjI4Z2RHaHliM1ZuYUNCMGFHVWdZWEp5WVhrZ1pYWmxjbmtnZEdoeVpXVWdZbmwwWlhNc0lIZGxKMnhzSUdSbFlXd2dkMmwwYUNCMGNtRnBiR2x1WnlCemRIVm1aaUJzWVhSbGNseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diR1Z1TWlBOUlHeGxiaUF0SUdWNGRISmhRbmwwWlhNN0lHa2dQQ0JzWlc0eU95QnBJQ3M5SUcxaGVFTm9kVzVyVEdWdVozUm9LU0I3WEc0Z0lDQWdjR0Z5ZEhNdWNIVnphQ2hsYm1OdlpHVkRhSFZ1YXloY2JpQWdJQ0FnSUhWcGJuUTRMQ0JwTENBb2FTQXJJRzFoZUVOb2RXNXJUR1Z1WjNSb0tTQStJR3hsYmpJZ1B5QnNaVzR5SURvZ0tHa2dLeUJ0WVhoRGFIVnVhMHhsYm1kMGFDbGNiaUFnSUNBcEtWeHVJQ0I5WEc1Y2JpQWdMeThnY0dGa0lIUm9aU0JsYm1RZ2QybDBhQ0I2WlhKdmN5d2dZblYwSUcxaGEyVWdjM1Z5WlNCMGJ5QnViM1FnWm05eVoyVjBJSFJvWlNCbGVIUnlZU0JpZVhSbGMxeHVJQ0JwWmlBb1pYaDBjbUZDZVhSbGN5QTlQVDBnTVNrZ2UxeHVJQ0FnSUhSdGNDQTlJSFZwYm5RNFcyeGxiaUF0SURGZFhHNGdJQ0FnY0dGeWRITXVjSFZ6YUNoY2JpQWdJQ0FnSUd4dmIydDFjRnQwYlhBZ1BqNGdNbDBnSzF4dUlDQWdJQ0FnYkc5dmEzVndXeWgwYlhBZ1BEd2dOQ2tnSmlBd2VETkdYU0FyWEc0Z0lDQWdJQ0FuUFQwblhHNGdJQ0FnS1Z4dUlDQjlJR1ZzYzJVZ2FXWWdLR1Y0ZEhKaFFubDBaWE1nUFQwOUlESXBJSHRjYmlBZ0lDQjBiWEFnUFNBb2RXbHVkRGhiYkdWdUlDMGdNbDBnUER3Z09Da2dLeUIxYVc1ME9GdHNaVzRnTFNBeFhWeHVJQ0FnSUhCaGNuUnpMbkIxYzJnb1hHNGdJQ0FnSUNCc2IyOXJkWEJiZEcxd0lENCtJREV3WFNBclhHNGdJQ0FnSUNCc2IyOXJkWEJiS0hSdGNDQStQaUEwS1NBbUlEQjRNMFpkSUN0Y2JpQWdJQ0FnSUd4dmIydDFjRnNvZEcxd0lEdzhJRElwSUNZZ01IZ3pSbDBnSzF4dUlDQWdJQ0FnSnowblhHNGdJQ0FnS1Z4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhCaGNuUnpMbXB2YVc0b0p5Y3BYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxudmFyIGNvbnN0YW50cztcXG4oZnVuY3Rpb24gKGNvbnN0YW50cykge1xcbiAgICBjb25zdGFudHMudHlwZU9mRnVuY3Rpb24gPSAnZnVuY3Rpb24nO1xcbiAgICBjb25zdGFudHMuYm9vbFRydWUgPSB0cnVlO1xcbn0pKGNvbnN0YW50cyB8fCAoY29uc3RhbnRzID0ge30pKTtcXG5mdW5jdGlvbiBiaW5kKHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2NyaXB0b3IpIHtcXG4gICAgaWYgKCFkZXNjcmlwdG9yIHx8ICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gY29uc3RhbnRzLnR5cGVPZkZ1bmN0aW9uKSkge1xcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPFxcXCIgKyBwcm9wZXJ0eUtleSArIFxcXCI+IGlzIG5vdCBhIG1ldGhvZCFcXFwiKTtcXG4gICAgfVxcbiAgICByZXR1cm4ge1xcbiAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICB2YXIgYm91bmQgPSBkZXNjcmlwdG9yLnZhbHVlLmJpbmQodGhpcyk7XFxuICAgICAgICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXFxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XFxuICAgICAgICAgICAgICAgIHZhbHVlOiBib3VuZCxcXG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXFxuICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBjb25zdGFudHMuYm9vbFRydWVcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZXR1cm4gYm91bmQ7XFxuICAgICAgICB9XFxuICAgIH07XFxufVxcbmV4cG9ydHMuYmluZCA9IGJpbmQ7XFxuZXhwb3J0cy5kZWZhdWx0ID0gYmluZDtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWlhVzVrTFdSbFkyOXlZWFJ2Y2k5cGJtUmxlQzVxY3o5a05EUm1JbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoTzBGQlEySXNPRU5CUVRoRExHTkJRV003UVVGRE5VUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExEaENRVUU0UWp0QlFVTXZRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRTdRVUZEWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbWx1WkMxa1pXTnZjbUYwYjNJdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpjSW5WelpTQnpkSEpwWTNSY0lqdGNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjYm5aaGNpQmpiMjV6ZEdGdWRITTdYRzRvWm5WdVkzUnBiMjRnS0dOdmJuTjBZVzUwY3lrZ2UxeHVJQ0FnSUdOdmJuTjBZVzUwY3k1MGVYQmxUMlpHZFc1amRHbHZiaUE5SUNkbWRXNWpkR2x2YmljN1hHNGdJQ0FnWTI5dWMzUmhiblJ6TG1KdmIyeFVjblZsSUQwZ2RISjFaVHRjYm4wcEtHTnZibk4wWVc1MGN5QjhmQ0FvWTI5dWMzUmhiblJ6SUQwZ2UzMHBLVHRjYm1aMWJtTjBhVzl1SUdKcGJtUW9kR0Z5WjJWMExDQndjbTl3WlhKMGVVdGxlU3dnWkdWelkzSnBjSFJ2Y2lrZ2UxeHVJQ0FnSUdsbUlDZ2haR1Z6WTNKcGNIUnZjaUI4ZkNBb2RIbHdaVzltSUdSbGMyTnlhWEIwYjNJdWRtRnNkV1VnSVQwOUlHTnZibk4wWVc1MGN5NTBlWEJsVDJaR2RXNWpkR2x2YmlrcElIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWs5dWJIa2diV1YwYUc5a2N5QmpZVzRnWW1VZ1pHVmpiM0poZEdWa0lIZHBkR2dnUUdKcGJtUXVJRHhjSWlBcklIQnliM0JsY25SNVMyVjVJQ3NnWENJK0lHbHpJRzV2ZENCaElHMWxkR2h2WkNGY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dZMjl1YzNSaGJuUnpMbUp2YjJ4VWNuVmxMRnh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJpYjNWdVpDQTlJR1JsYzJOeWFYQjBiM0l1ZG1Gc2RXVXVZbWx1WkNoMGFHbHpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRU55WldScGRITWdkRzhnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJGdVpISmxlWEJ2Y0hBdllYVjBiMkpwYm1RdFpHVmpiM0poZEc5eUlHWnZjaUJ0WlcxdmFYcHBibWNnZEdobElISmxjM1ZzZENCdlppQmlhVzVrSUdGbllXbHVjM1FnWVNCemVXMWliMndnYjI0Z2RHaGxJR2x1YzNSaGJtTmxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJvYVhNc0lIQnliM0JsY25SNVMyVjVMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVTZJR0p2ZFc1a0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nWTI5dWMzUmhiblJ6TG1KdmIyeFVjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhkeWFYUmhZbXhsT2lCamIyNXpkR0Z1ZEhNdVltOXZiRlJ5ZFdWY2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHSnZkVzVrTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JuMWNibVY0Y0c5eWRITXVZbWx1WkNBOUlHSnBibVE3WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCaWFXNWtPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24obW9kdWxlKSB7KGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcXG4gICd1c2Ugc3RyaWN0JztcXG5cXG4gIC8vIFV0aWxzXFxuICBmdW5jdGlvbiBhc3NlcnQgKHZhbCwgbXNnKSB7XFxuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XFxuICB9XFxuXFxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cXG4gIGZ1bmN0aW9uIGluaGVyaXRzIChjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XFxuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xcbiAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XFxuICB9XFxuXFxuICAvLyBCTlxcblxcbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcXG4gICAgICByZXR1cm4gbnVtYmVyO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxcbiAgICB0aGlzLnJlZCA9IG51bGw7XFxuXFxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcXG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XFxuICAgICAgICBlbmRpYW4gPSBiYXNlO1xcbiAgICAgICAgYmFzZSA9IDEwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XFxuICAgIH1cXG4gIH1cXG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xcbiAgfSBlbHNlIHtcXG4gICAgZXhwb3J0cy5CTiA9IEJOO1xcbiAgfVxcblxcbiAgQk4uQk4gPSBCTjtcXG4gIEJOLndvcmRTaXplID0gMjY7XFxuXFxuICB2YXIgQnVmZmVyO1xcbiAgdHJ5IHtcXG4gICAgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIDExKS5CdWZmZXI7XFxuICB9IGNhdGNoIChlKSB7XFxuICB9XFxuXFxuICBCTi5pc0JOID0gZnVuY3Rpb24gaXNCTiAobnVtKSB7XFxuICAgIGlmIChudW0gaW5zdGFuY2VvZiBCTikge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gJ29iamVjdCcgJiZcXG4gICAgICBudW0uY29uc3RydWN0b3Iud29yZFNpemUgPT09IEJOLndvcmRTaXplICYmIEFycmF5LmlzQXJyYXkobnVtLndvcmRzKTtcXG4gIH07XFxuXFxuICBCTi5tYXggPSBmdW5jdGlvbiBtYXggKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPiAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLm1pbiA9IGZ1bmN0aW9uIG1pbiAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA8IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdCAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdudW1iZXInKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXROdW1iZXIobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0QXJyYXkobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIGJhc2UgPSAxNjtcXG4gICAgfVxcbiAgICBhc3NlcnQoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNik7XFxuXFxuICAgIG51bWJlciA9IG51bWJlci50b1N0cmluZygpLnJlcGxhY2UoL1xcXFxzKy9nLCAnJyk7XFxuICAgIHZhciBzdGFydCA9IDA7XFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHN0YXJ0Kys7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IDE2KSB7XFxuICAgICAgdGhpcy5fcGFyc2VIZXgobnVtYmVyLCBzdGFydCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy5fcGFyc2VCYXNlKG51bWJlciwgYmFzZSwgc3RhcnQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbbnVtYmVyICYgMHgzZmZmZmZmXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChudW1iZXIgPCAweDIwMDAwMDAwMDAwMDAwKTsgLy8gMiBeIDUzICh1bnNhZmUpXFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmLFxcbiAgICAgICAgMVxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAzO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdEFycmF5ID0gZnVuY3Rpb24gX2luaXRBcnJheSAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XFxuICAgIGlmIChudW1iZXIubGVuZ3RoIDw9IDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWzBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbChudW1iZXIubGVuZ3RoIC8gMyk7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGlmIChlbmRpYW4gPT09ICdiZScpIHtcXG4gICAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gMSwgaiA9IDA7IGkgPj0gMDsgaSAtPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpIC0gMV0gPDwgOCkgfCAobnVtYmVyW2kgLSAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xcbiAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpICsgMV0gPDwgOCkgfCAobnVtYmVyW2kgKyAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgdmFyIHogPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByIDw8PSA0O1xcblxcbiAgICAgIHZhciBiO1xcblxcbiAgICAgIC8vICdhJyAtICdmJ1xcbiAgICAgIGlmIChjID49IDQ5ICYmIGMgPD0gNTQpIHtcXG4gICAgICAgIGIgPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnIC0gJ0YnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3ICYmIGMgPD0gMjIpIHtcXG4gICAgICAgIGIgPSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIgPSBjO1xcbiAgICAgIH1cXG5cXG4gICAgICByIHw9IGI7XFxuICAgICAgeiB8PSBiO1xcbiAgICB9XFxuXFxuICAgIGFzc2VydCghKHogJiAweGYwKSwgJ0ludmFsaWQgY2hhcmFjdGVyIGluICcgKyBzdHIpO1xcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VIZXggPSBmdW5jdGlvbiBfcGFyc2VIZXggKG51bWJlciwgc3RhcnQpIHtcXG4gICAgLy8gQ3JlYXRlIHBvc3NpYmx5IGJpZ2dlciBhcnJheSB0byBlbnN1cmUgdGhhdCBpdCBmaXRzIHRoZSBudW1iZXJcXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwoKG51bWJlci5sZW5ndGggLSBzdGFydCkgLyA2KTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICAvLyBTY2FuIDI0LWJpdCBjaHVua3MgYW5kIGFkZCB0aGVtIHRvIHRoZSBudW1iZXJcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSA2LCBqID0gMDsgaSA+PSBzdGFydDsgaSAtPSA2KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgaSwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAvLyBOT1RFOiBgMHgzZmZmZmZgIGlzIGludGVudGlvbmFsIGhlcmUsIDI2Yml0cyBtYXggc2hpZnQgKyAyNGJpdCBoZXggbGltYlxcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgICBvZmYgKz0gMjQ7XFxuICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgaisrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoaSArIDYgIT09IHN0YXJ0KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgc3RhcnQsIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBiID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgKj0gbXVsO1xcblxcbiAgICAgIC8vICdhJ1xcbiAgICAgIGlmIChjID49IDQ5KSB7XFxuICAgICAgICBiID0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xcbiAgICAgICAgYiA9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgYiA9IGM7XFxuICAgICAgfVxcbiAgICAgIGFzc2VydChjID49IDAgJiYgYiA8IG11bCwgJ0ludmFsaWQgY2hhcmFjdGVyJyk7XFxuICAgICAgciArPSBiO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUJhc2UgPSBmdW5jdGlvbiBfcGFyc2VCYXNlIChudW1iZXIsIGJhc2UsIHN0YXJ0KSB7XFxuICAgIC8vIEluaXRpYWxpemUgYXMgemVyb1xcbiAgICB0aGlzLndvcmRzID0gWzBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIG1vdmUgKGRlc3QsIHNyYykge1xcbiAgICBkZXN0LndvcmRzID0gc3JjLndvcmRzO1xcbiAgICBkZXN0Lmxlbmd0aCA9IHNyYy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSBzcmMubmVnYXRpdmU7XFxuICAgIGRlc3QucmVkID0gc3JjLnJlZDtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fbW92ZSA9IGZ1bmN0aW9uIF9tb3ZlIChkZXN0KSB7XFxuICAgIG1vdmUoZGVzdCwgdGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUgKCkge1xcbiAgICB2YXIgciA9IG5ldyBCTihudWxsKTtcXG4gICAgdGhpcy5jb3B5KHIpO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2V4cGFuZCA9IGZ1bmN0aW9uIF9leHBhbmQgKHNpemUpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgc2l6ZSkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFJlbW92ZSBsZWFkaW5nIGAwYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLl9zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBDaGVjayBTeW1ib2wuZm9yIGJlY2F1c2Ugbm90IGV2ZXJ5d2hlcmUgd2hlcmUgU3ltYm9sIGRlZmluZWRcXG4gIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TeW1ib2wjQnJvd3Nlcl9jb21wYXRpYmlsaXR5XFxuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIFN5bWJvbC5mb3IgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgQk4ucHJvdG90eXBlW1N5bWJvbC5mb3IoJ25vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tJyldID0gaW5zcGVjdDtcXG4gIH0gZWxzZSB7XFxuICAgIEJOLnByb3RvdHlwZS5pbnNwZWN0ID0gaW5zcGVjdDtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH1cXG5cXG4gIC8qXFxuXFxuICB2YXIgemVyb3MgPSBbXTtcXG4gIHZhciBncm91cFNpemVzID0gW107XFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtdO1xcblxcbiAgdmFyIHMgPSAnJztcXG4gIHZhciBpID0gLTE7XFxuICB3aGlsZSAoKytpIDwgQk4ud29yZFNpemUpIHtcXG4gICAgemVyb3NbaV0gPSBzO1xcbiAgICBzICs9ICcwJztcXG4gIH1cXG4gIGdyb3VwU2l6ZXNbMF0gPSAwO1xcbiAgZ3JvdXBTaXplc1sxXSA9IDA7XFxuICBncm91cEJhc2VzWzBdID0gMDtcXG4gIGdyb3VwQmFzZXNbMV0gPSAwO1xcbiAgdmFyIGJhc2UgPSAyIC0gMTtcXG4gIHdoaWxlICgrK2Jhc2UgPCAzNiArIDEpIHtcXG4gICAgdmFyIGdyb3VwU2l6ZSA9IDA7XFxuICAgIHZhciBncm91cEJhc2UgPSAxO1xcbiAgICB3aGlsZSAoZ3JvdXBCYXNlIDwgKDEgPDwgQk4ud29yZFNpemUpIC8gYmFzZSkge1xcbiAgICAgIGdyb3VwQmFzZSAqPSBiYXNlO1xcbiAgICAgIGdyb3VwU2l6ZSArPSAxO1xcbiAgICB9XFxuICAgIGdyb3VwU2l6ZXNbYmFzZV0gPSBncm91cFNpemU7XFxuICAgIGdyb3VwQmFzZXNbYmFzZV0gPSBncm91cEJhc2U7XFxuICB9XFxuXFxuICAqL1xcblxcbiAgdmFyIHplcm9zID0gW1xcbiAgICAnJyxcXG4gICAgJzAnLFxcbiAgICAnMDAnLFxcbiAgICAnMDAwJyxcXG4gICAgJzAwMDAnLFxcbiAgICAnMDAwMDAnLFxcbiAgICAnMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnXFxuICBdO1xcblxcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDI1LCAxNiwgMTIsIDExLCAxMCwgOSwgOCxcXG4gICAgOCwgNywgNywgNywgNywgNiwgNixcXG4gICAgNiwgNiwgNiwgNiwgNiwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNVxcbiAgXTtcXG5cXG4gIHZhciBncm91cEJhc2VzID0gW1xcbiAgICAwLCAwLFxcbiAgICAzMzU1NDQzMiwgNDMwNDY3MjEsIDE2Nzc3MjE2LCA0ODgyODEyNSwgNjA0NjYxNzYsIDQwMzUzNjA3LCAxNjc3NzIxNixcXG4gICAgNDMwNDY3MjEsIDEwMDAwMDAwLCAxOTQ4NzE3MSwgMzU4MzE4MDgsIDYyNzQ4NTE3LCA3NTI5NTM2LCAxMTM5MDYyNSxcXG4gICAgMTY3NzcyMTYsIDI0MTM3NTY5LCAzNDAxMjIyNCwgNDcwNDU4ODEsIDY0MDAwMDAwLCA0MDg0MTAxLCA1MTUzNjMyLFxcbiAgICA2NDM2MzQzLCA3OTYyNjI0LCA5NzY1NjI1LCAxMTg4MTM3NiwgMTQzNDg5MDcsIDE3MjEwMzY4LCAyMDUxMTE0OSxcXG4gICAgMjQzMDAwMDAsIDI4NjI5MTUxLCAzMzU1NDQzMiwgMzkxMzUzOTMsIDQ1NDM1NDI0LCA1MjUyMTg3NSwgNjA0NjYxNzZcXG4gIF07XFxuXFxuICBCTi5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyAoYmFzZSwgcGFkZGluZykge1xcbiAgICBiYXNlID0gYmFzZSB8fCAxMDtcXG4gICAgcGFkZGluZyA9IHBhZGRpbmcgfCAwIHx8IDE7XFxuXFxuICAgIHZhciBvdXQ7XFxuICAgIGlmIChiYXNlID09PSAxNiB8fCBiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBvZmYgPSAwO1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV07XFxuICAgICAgICB2YXIgd29yZCA9ICgoKHcgPDwgb2ZmKSB8IGNhcnJ5KSAmIDB4ZmZmZmZmKS50b1N0cmluZygxNik7XFxuICAgICAgICBjYXJyeSA9ICh3ID4+PiAoMjQgLSBvZmYpKSAmIDB4ZmZmZmZmO1xcbiAgICAgICAgaWYgKGNhcnJ5ICE9PSAwIHx8IGkgIT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgICBvdXQgPSB6ZXJvc1s2IC0gd29yZC5sZW5ndGhdICsgd29yZCArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHdvcmQgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgICBvZmYgKz0gMjtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBpLS07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gY2FycnkudG9TdHJpbmcoMTYpICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNikge1xcbiAgICAgIC8vIHZhciBncm91cFNpemUgPSBNYXRoLmZsb29yKEJOLndvcmRTaXplICogTWF0aC5MTjIgLyBNYXRoLmxvZyhiYXNlKSk7XFxuICAgICAgdmFyIGdyb3VwU2l6ZSA9IGdyb3VwU2l6ZXNbYmFzZV07XFxuICAgICAgLy8gdmFyIGdyb3VwQmFzZSA9IE1hdGgucG93KGJhc2UsIGdyb3VwU2l6ZSk7XFxuICAgICAgdmFyIGdyb3VwQmFzZSA9IGdyb3VwQmFzZXNbYmFzZV07XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIGMgPSB0aGlzLmNsb25lKCk7XFxuICAgICAgYy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgd2hpbGUgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICB2YXIgciA9IGMubW9kcm4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNiwgMik7XFxuICB9O1xcblxcbiAgaWYgKEJ1ZmZlcikge1xcbiAgICBCTi5wcm90b3R5cGUudG9CdWZmZXIgPSBmdW5jdGlvbiB0b0J1ZmZlciAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcXG4gICAgfTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICB2YXIgYWxsb2NhdGUgPSBmdW5jdGlvbiBhbGxvY2F0ZSAoQXJyYXlUeXBlLCBzaXplKSB7XFxuICAgIGlmIChBcnJheVR5cGUuYWxsb2NVbnNhZmUpIHtcXG4gICAgICByZXR1cm4gQXJyYXlUeXBlLmFsbG9jVW5zYWZlKHNpemUpO1xcbiAgICB9XFxuICAgIHJldHVybiBuZXcgQXJyYXlUeXBlKHNpemUpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5TGlrZSA9IGZ1bmN0aW9uIHRvQXJyYXlMaWtlIChBcnJheVR5cGUsIGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuXFxuICAgIHZhciBieXRlTGVuZ3RoID0gdGhpcy5ieXRlTGVuZ3RoKCk7XFxuICAgIHZhciByZXFMZW5ndGggPSBsZW5ndGggfHwgTWF0aC5tYXgoMSwgYnl0ZUxlbmd0aCk7XFxuICAgIGFzc2VydChieXRlTGVuZ3RoIDw9IHJlcUxlbmd0aCwgJ2J5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgnKTtcXG4gICAgYXNzZXJ0KHJlcUxlbmd0aCA+IDAsICdSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAnKTtcXG5cXG4gICAgdmFyIHJlcyA9IGFsbG9jYXRlKEFycmF5VHlwZSwgcmVxTGVuZ3RoKTtcXG4gICAgdmFyIHBvc3RmaXggPSBlbmRpYW4gPT09ICdsZScgPyAnTEUnIDogJ0JFJztcXG4gICAgdGhpc1snX3RvQXJyYXlMaWtlJyArIHBvc3RmaXhdKHJlcywgYnl0ZUxlbmd0aCk7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl90b0FycmF5TGlrZUxFID0gZnVuY3Rpb24gX3RvQXJyYXlMaWtlTEUgKHJlcywgYnl0ZUxlbmd0aCkge1xcbiAgICB2YXIgcG9zaXRpb24gPSAwO1xcbiAgICB2YXIgY2FycnkgPSAwO1xcblxcbiAgICBmb3IgKHZhciBpID0gMCwgc2hpZnQgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3b3JkID0gKHRoaXMud29yZHNbaV0gPDwgc2hpZnQpIHwgY2Fycnk7XFxuXFxuICAgICAgcmVzW3Bvc2l0aW9uKytdID0gd29yZCAmIDB4ZmY7XFxuICAgICAgaWYgKHBvc2l0aW9uIDwgcmVzLmxlbmd0aCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gOCkgJiAweGZmO1xcbiAgICAgIH1cXG4gICAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XFxuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAod29yZCA+PiAxNikgJiAweGZmO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoc2hpZnQgPT09IDYpIHtcXG4gICAgICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcXG4gICAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gMjQpICYgMHhmZjtcXG4gICAgICAgIH1cXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICAgIHNoaWZ0ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3b3JkID4+PiAyNDtcXG4gICAgICAgIHNoaWZ0ICs9IDI7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcXG4gICAgICByZXNbcG9zaXRpb24rK10gPSBjYXJyeTtcXG5cXG4gICAgICB3aGlsZSAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XFxuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fdG9BcnJheUxpa2VCRSA9IGZ1bmN0aW9uIF90b0FycmF5TGlrZUJFIChyZXMsIGJ5dGVMZW5ndGgpIHtcXG4gICAgdmFyIHBvc2l0aW9uID0gcmVzLmxlbmd0aCAtIDE7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwLCBzaGlmdCA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHdvcmQgPSAodGhpcy53b3Jkc1tpXSA8PCBzaGlmdCkgfCBjYXJyeTtcXG5cXG4gICAgICByZXNbcG9zaXRpb24tLV0gPSB3b3JkICYgMHhmZjtcXG4gICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gKHdvcmQgPj4gOCkgJiAweGZmO1xcbiAgICAgIH1cXG4gICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gKHdvcmQgPj4gMTYpICYgMHhmZjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHNoaWZ0ID09PSA2KSB7XFxuICAgICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgICByZXNbcG9zaXRpb24tLV0gPSAod29yZCA+PiAyNCkgJiAweGZmO1xcbiAgICAgICAgfVxcbiAgICAgICAgY2FycnkgPSAwO1xcbiAgICAgICAgc2hpZnQgPSAwO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXJyeSA9IHdvcmQgPj4+IDI0O1xcbiAgICAgICAgc2hpZnQgKz0gMjtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHBvc2l0aW9uID49IDApIHtcXG4gICAgICByZXNbcG9zaXRpb24tLV0gPSBjYXJyeTtcXG5cXG4gICAgICB3aGlsZSAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdID4+PiB3Yml0KSAmIDB4MDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHc7XFxuICB9XFxuXFxuICAvLyBOdW1iZXIgb2YgdHJhaWxpbmcgemVybyBiaXRzXFxuICBCTi5wcm90b3R5cGUuemVyb0JpdHMgPSBmdW5jdGlvbiB6ZXJvQml0cyAoKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gMDtcXG5cXG4gICAgdmFyIHIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgYiA9IHRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbaV0pO1xcbiAgICAgIHIgKz0gYjtcXG4gICAgICBpZiAoYiAhPT0gMjYpIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ieXRlTGVuZ3RoID0gZnVuY3Rpb24gYnl0ZUxlbmd0aCAoKSB7XFxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKSAvIDgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1R3b3MgPSBmdW5jdGlvbiB0b1R3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21Ud29zID0gZnVuY3Rpb24gZnJvbVR3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLnRlc3RuKHdpZHRoIC0gMSkpIHtcXG4gICAgICByZXR1cm4gdGhpcy5ub3RuKHdpZHRoKS5pYWRkbigxKS5pbmVnKCk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNOZWcgPSBmdW5jdGlvbiBpc05lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLm5lZ2F0aXZlICE9PSAwO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5lZyA9IGZ1bmN0aW9uIGluZWcgKCkge1xcbiAgICBpZiAoIXRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdW9yID0gZnVuY3Rpb24gaXVvciAobnVtKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldIHwgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1YW5kKG51bSk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51YW5kID0gZnVuY3Rpb24gdWFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1eG9yID0gZnVuY3Rpb24gaXV4b3IgKG51bSkge1xcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhO1xcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXhvciA9IGZ1bmN0aW9uIGl4b3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXV4b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiB4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnV4b3IgPSBmdW5jdGlvbiB1eG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXV4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gTm90IGBgdGhpc2BgIHdpdGggYGB3aWR0aGBgIGJpdHdpZHRoXFxuICBCTi5wcm90b3R5cGUuaW5vdG4gPSBmdW5jdGlvbiBpbm90biAod2lkdGgpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgJiYgd2lkdGggPj0gMCk7XFxuXFxuICAgIHZhciBieXRlc05lZWRlZCA9IE1hdGguY2VpbCh3aWR0aCAvIDI2KSB8IDA7XFxuICAgIHZhciBiaXRzTGVmdCA9IHdpZHRoICUgMjY7XFxuXFxuICAgIC8vIEV4dGVuZCB0aGUgYnVmZmVyIHdpdGggbGVhZGluZyB6ZXJvZXNcXG4gICAgdGhpcy5fZXhwYW5kKGJ5dGVzTmVlZGVkKTtcXG5cXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIGJ5dGVzTmVlZGVkLS07XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIGNvbXBsZXRlIHdvcmRzXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXNOZWVkZWQ7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgdGhlIHJlc2lkdWVcXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmICgweDNmZmZmZmYgPj4gKDI2IC0gYml0c0xlZnQpKTtcXG4gICAgfVxcblxcbiAgICAvLyBBbmQgcmVtb3ZlIGxlYWRpbmcgemVyb2VzXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xcbiAgICB2YXIgcjtcXG5cXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAvLyBDb3B5IHRoZSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSB0aGlzLnN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0gZWxzZSBpZiAobnVtLm5lZ2F0aXZlID09PSAwICYmIHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XFxuXFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYWRkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIC10aGlzIC0gbnVtID0gLSh0aGlzICsgbnVtKVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGQobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcXG4gICAgdmFyIGNtcCA9IHRoaXMuY21wKG51bSk7XFxuXFxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBhID4gYlxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKGNtcCA+IDApIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgaWYgKGNhcnJ5ID09PSAwICYmIGkgPCBhLmxlbmd0aCAmJiBhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSk7XFxuXFxuICAgIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIobnVtKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBzbWFsbE11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICB2YXIgbGVuID0gKHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aCkgfCAwO1xcbiAgICBvdXQubGVuZ3RoID0gbGVuO1xcbiAgICBsZW4gPSAobGVuIC0gMSkgfCAwO1xcblxcbiAgICAvLyBQZWVsIG9uZSBpdGVyYXRpb24gKGNvbXBpbGVyIGNhbid0IGRvIGl0LCBiZWNhdXNlIG9mIGNvZGUgY29tcGxleGl0eSlcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIGIgPSBudW0ud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xcbiAgICB2YXIgY2FycnkgPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICBvdXQud29yZHNbMF0gPSBsbztcXG5cXG4gICAgZm9yICh2YXIgayA9IDE7IGsgPCBsZW47IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBjYXJyeSA+Pj4gMjY7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSAoayAtIGopIHwgMDtcXG4gICAgICAgIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcXG4gICAgICAgIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgciA9IGEgKiBiICsgcndvcmQ7XFxuICAgICAgICBuY2FycnkgKz0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICB9XFxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQgfCAwO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5IHwgMDtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeSB8IDA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICAvLyBUZW1wb3JhcnkgZGlzYWJsZSwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2JuLmpzL2lzc3Vlcy8yMTFcXG4gICAgLy8gdmFyIGZmdG0gPSBuZXcgRkZUTSgpO1xcbiAgICAvLyByZXR1cm4gZmZ0bS5tdWxwKHNlbGYsIG51bSwgb3V0KTtcXG4gICAgcmV0dXJuIGJpZ011bFRvKHNlbGYsIG51bSwgb3V0KTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxUbyA9IGZ1bmN0aW9uIG11bFRvIChudW0sIG91dCkge1xcbiAgICB2YXIgcmVzO1xcbiAgICB2YXIgbGVuID0gdGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEwICYmIG51bS5sZW5ndGggPT09IDEwKSB7XFxuICAgICAgcmVzID0gY29tYjEwTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDYzKSB7XFxuICAgICAgcmVzID0gc21hbGxNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgMTAyNCkge1xcbiAgICAgIHJlcyA9IGJpZ011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvb2xleS1UdWtleSBhbGdvcml0aG0gZm9yIEZGVFxcbiAgLy8gc2xpZ2h0bHkgcmV2aXNpdGVkIHRvIHJlbHkgb24gbG9vcGluZyBpbnN0ZWFkIG9mIHJlY3Vyc2lvblxcblxcbiAgZnVuY3Rpb24gRkZUTSAoeCwgeSkge1xcbiAgICB0aGlzLnggPSB4O1xcbiAgICB0aGlzLnkgPSB5O1xcbiAgfVxcblxcbiAgRkZUTS5wcm90b3R5cGUubWFrZVJCVCA9IGZ1bmN0aW9uIG1ha2VSQlQgKE4pIHtcXG4gICAgdmFyIHQgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBsID0gQk4ucHJvdG90eXBlLl9jb3VudEJpdHMoTikgLSAxO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHRbaV0gPSB0aGlzLnJldkJpbihpLCBsLCBOKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm5zIGJpbmFyeS1yZXZlcnNlZCByZXByZXNlbnRhdGlvbiBvZiBgeGBcXG4gIEZGVE0ucHJvdG90eXBlLnJldkJpbiA9IGZ1bmN0aW9uIHJldkJpbiAoeCwgbCwgTikge1xcbiAgICBpZiAoeCA9PT0gMCB8fCB4ID09PSBOIC0gMSkgcmV0dXJuIHg7XFxuXFxuICAgIHZhciByYiA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbDsgaSsrKSB7XFxuICAgICAgcmIgfD0gKHggJiAxKSA8PCAobCAtIGkgLSAxKTtcXG4gICAgICB4ID4+PSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByYjtcXG4gIH07XFxuXFxuICAvLyBQZXJmb3JtcyBcXFwidHdlZWRsaW5nXFxcIiBwaGFzZSwgdGhlcmVmb3JlICdlbXVsYXRpbmcnXFxuICAvLyBiZWhhdmlvdXIgb2YgdGhlIHJlY3Vyc2l2ZSBhbGdvcml0aG1cXG4gIEZGVE0ucHJvdG90eXBlLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlIChyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcnR3c1tpXSA9IHJ3c1tyYnRbaV1dO1xcbiAgICAgIGl0d3NbaV0gPSBpd3NbcmJ0W2ldXTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIHRyYW5zZm9ybSAocndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4sIHJidCkge1xcbiAgICB0aGlzLnBlcm11dGUocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTik7XFxuXFxuICAgIGZvciAodmFyIHMgPSAxOyBzIDwgTjsgcyA8PD0gMSkge1xcbiAgICAgIHZhciBsID0gcyA8PCAxO1xcblxcbiAgICAgIHZhciBydHdkZiA9IE1hdGguY29zKDIgKiBNYXRoLlBJIC8gbCk7XFxuICAgICAgdmFyIGl0d2RmID0gTWF0aC5zaW4oMiAqIE1hdGguUEkgLyBsKTtcXG5cXG4gICAgICBmb3IgKHZhciBwID0gMDsgcCA8IE47IHAgKz0gbCkge1xcbiAgICAgICAgdmFyIHJ0d2RmXyA9IHJ0d2RmO1xcbiAgICAgICAgdmFyIGl0d2RmXyA9IGl0d2RmO1xcblxcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzOyBqKyspIHtcXG4gICAgICAgICAgdmFyIHJlID0gcnR3c1twICsgal07XFxuICAgICAgICAgIHZhciBpZSA9IGl0d3NbcCArIGpdO1xcblxcbiAgICAgICAgICB2YXIgcm8gPSBydHdzW3AgKyBqICsgc107XFxuICAgICAgICAgIHZhciBpbyA9IGl0d3NbcCArIGogKyBzXTtcXG5cXG4gICAgICAgICAgdmFyIHJ4ID0gcnR3ZGZfICogcm8gLSBpdHdkZl8gKiBpbztcXG5cXG4gICAgICAgICAgaW8gPSBydHdkZl8gKiBpbyArIGl0d2RmXyAqIHJvO1xcbiAgICAgICAgICBybyA9IHJ4O1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqXSA9IHJlICsgcm87XFxuICAgICAgICAgIGl0d3NbcCArIGpdID0gaWUgKyBpbztcXG5cXG4gICAgICAgICAgcnR3c1twICsgaiArIHNdID0gcmUgLSBybztcXG4gICAgICAgICAgaXR3c1twICsgaiArIHNdID0gaWUgLSBpbztcXG5cXG4gICAgICAgICAgLyoganNoaW50IG1heGRlcHRoIDogZmFsc2UgKi9cXG4gICAgICAgICAgaWYgKGogIT09IGwpIHtcXG4gICAgICAgICAgICByeCA9IHJ0d2RmICogcnR3ZGZfIC0gaXR3ZGYgKiBpdHdkZl87XFxuXFxuICAgICAgICAgICAgaXR3ZGZfID0gcnR3ZGYgKiBpdHdkZl8gKyBpdHdkZiAqIHJ0d2RmXztcXG4gICAgICAgICAgICBydHdkZl8gPSByeDtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiID0gZnVuY3Rpb24gZ3Vlc3NMZW4xM2IgKG4sIG0pIHtcXG4gICAgdmFyIE4gPSBNYXRoLm1heChtLCBuKSB8IDE7XFxuICAgIHZhciBvZGQgPSBOICYgMTtcXG4gICAgdmFyIGkgPSAwO1xcbiAgICBmb3IgKE4gPSBOIC8gMiB8IDA7IE47IE4gPSBOID4+PiAxKSB7XFxuICAgICAgaSsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiAxIDw8IGkgKyAxICsgb2RkO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZSA9IGZ1bmN0aW9uIGNvbmp1Z2F0ZSAocndzLCBpd3MsIE4pIHtcXG4gICAgaWYgKE4gPD0gMSkgcmV0dXJuO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdCA9IHJ3c1tpXTtcXG5cXG4gICAgICByd3NbaV0gPSByd3NbTiAtIGkgLSAxXTtcXG4gICAgICByd3NbTiAtIGkgLSAxXSA9IHQ7XFxuXFxuICAgICAgdCA9IGl3c1tpXTtcXG5cXG4gICAgICBpd3NbaV0gPSAtaXdzW04gLSBpIC0gMV07XFxuICAgICAgaXdzW04gLSBpIC0gMV0gPSAtdDtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYiA9IGZ1bmN0aW9uIG5vcm1hbGl6ZTEzYiAod3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBNYXRoLnJvdW5kKHdzWzIgKiBpICsgMV0gLyBOKSAqIDB4MjAwMCArXFxuICAgICAgICBNYXRoLnJvdW5kKHdzWzIgKiBpXSAvIE4pICtcXG4gICAgICAgIGNhcnJ5O1xcblxcbiAgICAgIHdzW2ldID0gdyAmIDB4M2ZmZmZmZjtcXG5cXG4gICAgICBpZiAodyA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgY2FycnkgPSAwO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXJyeSA9IHcgLyAweDQwMDAwMDAgfCAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gd3M7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29udmVydDEzYiA9IGZ1bmN0aW9uIGNvbnZlcnQxM2IgKHdzLCBsZW4sIHJ3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgY2FycnkgPSBjYXJyeSArICh3c1tpXSB8IDApO1xcblxcbiAgICAgIHJ3c1syICogaV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgICAgcndzWzIgKiBpICsgMV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgIH1cXG5cXG4gICAgLy8gUGFkIHdpdGggemVyb2VzXFxuICAgIGZvciAoaSA9IDIgKiBsZW47IGkgPCBOOyArK2kpIHtcXG4gICAgICByd3NbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChjYXJyeSA9PT0gMCk7XFxuICAgIGFzc2VydCgoY2FycnkgJiB+MHgxZmZmKSA9PT0gMCk7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuc3R1YiA9IGZ1bmN0aW9uIHN0dWIgKE4pIHtcXG4gICAgdmFyIHBoID0gbmV3IEFycmF5KE4pO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHBoW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcGg7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubXVscCA9IGZ1bmN0aW9uIG11bHAgKHgsIHksIG91dCkge1xcbiAgICB2YXIgTiA9IDIgKiB0aGlzLmd1ZXNzTGVuMTNiKHgubGVuZ3RoLCB5Lmxlbmd0aCk7XFxuXFxuICAgIHZhciByYnQgPSB0aGlzLm1ha2VSQlQoTik7XFxuXFxuICAgIHZhciBfID0gdGhpcy5zdHViKE4pO1xcblxcbiAgICB2YXIgcndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgcndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGl3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBucndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbnJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBuaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIHJtd3MgPSBvdXQud29yZHM7XFxuICAgIHJtd3MubGVuZ3RoID0gTjtcXG5cXG4gICAgdGhpcy5jb252ZXJ0MTNiKHgud29yZHMsIHgubGVuZ3RoLCByd3MsIE4pO1xcbiAgICB0aGlzLmNvbnZlcnQxM2IoeS53b3JkcywgeS5sZW5ndGgsIG5yd3MsIE4pO1xcblxcbiAgICB0aGlzLnRyYW5zZm9ybShyd3MsIF8sIHJ3c3QsIGl3c3QsIE4sIHJidCk7XFxuICAgIHRoaXMudHJhbnNmb3JtKG5yd3MsIF8sIG5yd3N0LCBuaXdzdCwgTiwgcmJ0KTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB2YXIgcnggPSByd3N0W2ldICogbnJ3c3RbaV0gLSBpd3N0W2ldICogbml3c3RbaV07XFxuICAgICAgaXdzdFtpXSA9IHJ3c3RbaV0gKiBuaXdzdFtpXSArIGl3c3RbaV0gKiBucndzdFtpXTtcXG4gICAgICByd3N0W2ldID0gcng7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5jb25qdWdhdGUocndzdCwgaXdzdCwgTik7XFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3c3QsIGl3c3QsIHJtd3MsIF8sIE4sIHJidCk7XFxuICAgIHRoaXMuY29uanVnYXRlKHJtd3MsIF8sIE4pO1xcbiAgICB0aGlzLm5vcm1hbGl6ZTEzYihybXdzLCBOKTtcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0geC5uZWdhdGl2ZSBeIHkubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSB4Lmxlbmd0aCArIHkubGVuZ3RoO1xcbiAgICByZXR1cm4gb3V0Ll9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcXG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xcblxcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICogbnVtO1xcbiAgICAgIHZhciBsbyA9ICh3ICYgMHgzZmZmZmZmKSArIChjYXJyeSAmIDB4M2ZmZmZmZik7XFxuICAgICAgY2FycnkgPj49IDI2O1xcbiAgICAgIGNhcnJ5ICs9ICh3IC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgLy8gTk9URTogbG8gaXMgMjdiaXQgbWF4aW11bVxcbiAgICAgIGNhcnJ5ICs9IGxvID4+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGlzTmVnTnVtID8gdGhpcy5pbmVnKCkgOiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXFxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcXG4gIC8vIE5PVEU6IGlmIGBleHRlbmRlZGAgaXMgcHJlc2VudCAtIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggZGVzdHJveWVkIGJpdHNcXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIGg7XFxuICAgIGlmIChoaW50KSB7XFxuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaCA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcXG5cXG4gICAgaCAtPSBzO1xcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XFxuXFxuICAgIC8vIEV4dGVuZGVkIG1vZGUsIGNvcHkgbWFza2VkIHBhcnRcXG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIG1hc2tlZFdvcmRzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcXG4gICAgfVxcblxcbiAgICBpZiAocyA9PT0gMCkge1xcbiAgICAgIC8vIE5vLW9wLCB3ZSBzaG91bGQgbm90IG1vdmUgYW55dGhpbmcgYXQgYWxsXFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XFxuICAgICAgdGhpcy5sZW5ndGggLT0gcztcXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDAgJiYgKGNhcnJ5ICE9PSAwIHx8IGkgPj0gaCk7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XFxuICAgICAgY2FycnkgPSB3b3JkICYgbWFzaztcXG4gICAgfVxcblxcbiAgICAvLyBQdXNoIGNhcnJpZWQgYml0cyBhcyBhIG1hc2tcXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc2hybiA9IGZ1bmN0aW9uIGlzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNocm4oYml0cywgaGludCwgZXh0ZW5kZWQpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnRcXG4gIEJOLnByb3RvdHlwZS5zaGxuID0gZnVuY3Rpb24gc2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hsbiA9IGZ1bmN0aW9uIHVzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0XFxuICBCTi5wcm90b3R5cGUuc2hybiA9IGZ1bmN0aW9uIHNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNocm4gPSBmdW5jdGlvbiB1c2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBUZXN0IGlmIG4gYml0IGlzIHNldFxcbiAgQk4ucHJvdG90eXBlLnRlc3RuID0gZnVuY3Rpb24gdGVzdG4gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHJldHVybiBmYWxzZTtcXG5cXG4gICAgLy8gQ2hlY2sgYml0IGFuZCByZXR1cm5cXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3NdO1xcblxcbiAgICByZXR1cm4gISEodyAmIHEpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlciAoaW4tcGxhY2UpXFxuICBCTi5wcm90b3R5cGUuaW1hc2tuID0gZnVuY3Rpb24gaW1hc2tuIChiaXRzKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xcblxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ2ltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycycpO1xcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICB9XFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5taW4ocywgdGhpcy5sZW5ndGgpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSAmPSBtYXNrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8PSBudW0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pc3VibihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcXG4gICAgdGhpcy53b3Jkc1swXSArPSBudW07XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA+PSAweDQwMDAwMDA7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdID0gMTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGRuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDYXJyeVxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA8IDA7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWRkbiA9IGZ1bmN0aW9uIGFkZG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnN1Ym4gPSBmdW5jdGlvbiBzdWJuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pYWJzID0gZnVuY3Rpb24gaWFicyAoKSB7XFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWJzID0gZnVuY3Rpb24gYWJzICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pc2hsbnN1Ym11bCA9IGZ1bmN0aW9uIF9pc2hsbnN1Ym11bCAobnVtLCBtdWwsIHNoaWZ0KSB7XFxuICAgIHZhciBsZW4gPSBudW0ubGVuZ3RoICsgc2hpZnQ7XFxuICAgIHZhciBpO1xcblxcbiAgICB0aGlzLl9leHBhbmQobGVuKTtcXG5cXG4gICAgdmFyIHc7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgdmFyIHJpZ2h0ID0gKG51bS53b3Jkc1tpXSB8IDApICogbXVsO1xcbiAgICAgIHcgLT0gcmlnaHQgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSAodyA+PiAyNikgLSAoKHJpZ2h0IC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGkgPCB0aGlzLmxlbmd0aCAtIHNoaWZ0OyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ID09PSAwKSByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fd29yZERpdiA9IGZ1bmN0aW9uIF93b3JkRGl2IChudW0sIG1vZGUpIHtcXG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW07XFxuXFxuICAgIC8vIE5vcm1hbGl6ZVxcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcXG4gICAgc2hpZnQgPSAyNiAtIGJoaUJpdHM7XFxuICAgIGlmIChzaGlmdCAhPT0gMCkge1xcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcXG4gICAgICBhLml1c2hsbihzaGlmdCk7XFxuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgfVxcblxcbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcXG4gICAgdmFyIHE7XFxuXFxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgIHEgPSBuZXcgQk4obnVsbCk7XFxuICAgICAgcS5sZW5ndGggPSBtICsgMTtcXG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XFxuICAgIGlmIChkaWZmLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgYSA9IGRpZmY7XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbbV0gPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcXG4gICAgICAgIChhLndvcmRzW2IubGVuZ3RoICsgaiAtIDFdIHwgMCk7XFxuXFxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcXG4gICAgICAvLyAoMHg3ZmZmZmZmKVxcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XFxuXFxuICAgICAgYS5faXNobG5zdWJtdWwoYiwgcWosIGopO1xcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBxai0tO1xcbiAgICAgICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcXG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xcbiAgICAgICAgICBhLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW2pdID0gcWo7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChxKSB7XFxuICAgICAgcS5fc3RyaXAoKTtcXG4gICAgfVxcbiAgICBhLl9zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kcm4obnVtLndvcmRzWzBdKSlcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RybihudW0ud29yZHNbMF0pKVxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3dvcmREaXYobnVtLCBtb2RlKTtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAvIGBudW1gXFxuICBCTi5wcm90b3R5cGUuZGl2ID0gZnVuY3Rpb24gZGl2IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ2RpdicsIGZhbHNlKS5kaXY7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgJSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm1vZCA9IGZ1bmN0aW9uIG1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCBmYWxzZSkubW9kO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51bW9kID0gZnVuY3Rpb24gdW1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCB0cnVlKS5tb2Q7XFxuICB9O1xcblxcbiAgLy8gRmluZCBSb3VuZChgdGhpc2AgLyBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5kaXZSb3VuZCA9IGZ1bmN0aW9uIGRpdlJvdW5kIChudW0pIHtcXG4gICAgdmFyIGRtID0gdGhpcy5kaXZtb2QobnVtKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlIC0gZXhhY3QgZGl2aXNpb25cXG4gICAgaWYgKGRtLm1vZC5pc1plcm8oKSkgcmV0dXJuIGRtLmRpdjtcXG5cXG4gICAgdmFyIG1vZCA9IGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLm1vZC5pc3ViKG51bSkgOiBkbS5tb2Q7XFxuXFxuICAgIHZhciBoYWxmID0gbnVtLnVzaHJuKDEpO1xcbiAgICB2YXIgcjIgPSBudW0uYW5kbG4oMSk7XFxuICAgIHZhciBjbXAgPSBtb2QuY21wKGhhbGYpO1xcblxcbiAgICAvLyBSb3VuZCBkb3duXFxuICAgIGlmIChjbXAgPCAwIHx8IChyMiA9PT0gMSAmJiBjbXAgPT09IDApKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICAvLyBSb3VuZCB1cFxcbiAgICByZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0uZGl2LmlzdWJuKDEpIDogZG0uZGl2LmlhZGRuKDEpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tb2RybiA9IGZ1bmN0aW9uIG1vZHJuIChudW0pIHtcXG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcXG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xcblxcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuICAgIHZhciBwID0gKDEgPDwgMjYpICUgbnVtO1xcblxcbiAgICB2YXIgYWNjID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICBhY2MgPSAocCAqIGFjYyArICh0aGlzLndvcmRzW2ldIHwgMCkpICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBpc05lZ051bSA/IC1hY2MgOiBhY2M7XFxuICB9O1xcblxcbiAgLy8gV0FSTklORzogREVQUkVDQVRFRFxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMubW9kcm4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5pZGl2biA9IGZ1bmN0aW9uIGlkaXZuIChudW0pIHtcXG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcXG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xcblxcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuICAgIHJldHVybiBpc05lZ051bSA/IHRoaXMuaW5lZygpIDogdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZGl2biA9IGZ1bmN0aW9uIGRpdm4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVnY2QgPSBmdW5jdGlvbiBlZ2NkIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIHggPSB0aGlzO1xcbiAgICB2YXIgeSA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKHgubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB4ID0geC51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHggPSB4LmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gQSAqIHggKyBCICogeSA9IHhcXG4gICAgdmFyIEEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciBCID0gbmV3IEJOKDApO1xcblxcbiAgICAvLyBDICogeCArIEQgKiB5ID0geVxcbiAgICB2YXIgQyA9IG5ldyBCTigwKTtcXG4gICAgdmFyIEQgPSBuZXcgQk4oMSk7XFxuXFxuICAgIHZhciBnID0gMDtcXG5cXG4gICAgd2hpbGUgKHguaXNFdmVuKCkgJiYgeS5pc0V2ZW4oKSkge1xcbiAgICAgIHguaXVzaHJuKDEpO1xcbiAgICAgIHkuaXVzaHJuKDEpO1xcbiAgICAgICsrZztcXG4gICAgfVxcblxcbiAgICB2YXIgeXAgPSB5LmNsb25lKCk7XFxuICAgIHZhciB4cCA9IHguY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKCF4LmlzWmVybygpKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKHgud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIHguaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEEuaXNPZGQoKSB8fCBCLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBBLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEIuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQS5pdXNocm4oMSk7XFxuICAgICAgICAgIEIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoeS53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgeS5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQy5pc09kZCgpIHx8IEQuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEMuaWFkZCh5cCk7XFxuICAgICAgICAgICAgRC5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBDLml1c2hybigxKTtcXG4gICAgICAgICAgRC5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh4LmNtcCh5KSA+PSAwKSB7XFxuICAgICAgICB4LmlzdWIoeSk7XFxuICAgICAgICBBLmlzdWIoQyk7XFxuICAgICAgICBCLmlzdWIoRCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHkuaXN1Yih4KTtcXG4gICAgICAgIEMuaXN1YihBKTtcXG4gICAgICAgIEQuaXN1YihCKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBhOiBDLFxcbiAgICAgIGI6IEQsXFxuICAgICAgZ2NkOiB5Lml1c2hsbihnKVxcbiAgICB9O1xcbiAgfTtcXG5cXG4gIC8vIFRoaXMgaXMgcmVkdWNlZCBpbmNhcm5hdGlvbiBvZiB0aGUgYmluYXJ5IEVFQVxcbiAgLy8gYWJvdmUsIGRlc2lnbmF0ZWQgdG8gaW52ZXJ0IG1lbWJlcnMgb2YgdGhlXFxuICAvLyBfcHJpbWVfIGZpZWxkcyBGKHApIGF0IGEgbWF4aW1hbCBzcGVlZFxcbiAgQk4ucHJvdG90eXBlLl9pbnZtcCA9IGZ1bmN0aW9uIF9pbnZtcCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBhID0gdGhpcztcXG4gICAgdmFyIGIgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgYSA9IGEudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gYS5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIHZhciB4MSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIHgyID0gbmV3IEJOKDApO1xcblxcbiAgICB2YXIgZGVsdGEgPSBiLmNsb25lKCk7XFxuXFxuICAgIHdoaWxlIChhLmNtcG4oMSkgPiAwICYmIGIuY21wbigxKSA+IDApIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoYS53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgYS5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDEuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgxLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgxLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKGIud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIGIuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgyLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4Mi5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4Mi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhLmNtcChiKSA+PSAwKSB7XFxuICAgICAgICBhLmlzdWIoYik7XFxuICAgICAgICB4MS5pc3ViKHgyKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgYi5pc3ViKGEpO1xcbiAgICAgICAgeDIuaXN1Yih4MSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciByZXM7XFxuICAgIGlmIChhLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICByZXMgPSB4MTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSB4MjtcXG4gICAgfVxcblxcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQocCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ2NkID0gZnVuY3Rpb24gZ2NkIChudW0pIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiBudW0uYWJzKCk7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiB0aGlzLmFicygpO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW0uY2xvbmUoKTtcXG4gICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgIGIubmVnYXRpdmUgPSAwO1xcblxcbiAgICAvLyBSZW1vdmUgY29tbW9uIGZhY3RvciBvZiB0d29cXG4gICAgZm9yICh2YXIgc2hpZnQgPSAwOyBhLmlzRXZlbigpICYmIGIuaXNFdmVuKCk7IHNoaWZ0KyspIHtcXG4gICAgICBhLml1c2hybigxKTtcXG4gICAgICBiLml1c2hybigxKTtcXG4gICAgfVxcblxcbiAgICBkbyB7XFxuICAgICAgd2hpbGUgKGEuaXNFdmVuKCkpIHtcXG4gICAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAoYi5pc0V2ZW4oKSkge1xcbiAgICAgICAgYi5pdXNocm4oMSk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciByID0gYS5jbXAoYik7XFxuICAgICAgaWYgKHIgPCAwKSB7XFxuICAgICAgICAvLyBTd2FwIGBhYCBhbmQgYGJgIHRvIG1ha2UgYGFgIGFsd2F5cyBiaWdnZXIgdGhhbiBgYmBcXG4gICAgICAgIHZhciB0ID0gYTtcXG4gICAgICAgIGEgPSBiO1xcbiAgICAgICAgYiA9IHQ7XFxuICAgICAgfSBlbHNlIGlmIChyID09PSAwIHx8IGIuY21wbigxKSA9PT0gMCkge1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGEuaXN1YihiKTtcXG4gICAgfSB3aGlsZSAodHJ1ZSk7XFxuXFxuICAgIHJldHVybiBiLml1c2hsbihzaGlmdCk7XFxuICB9O1xcblxcbiAgLy8gSW52ZXJ0IG51bWJlciBpbiB0aGUgZmllbGQgRihudW0pXFxuICBCTi5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5lZ2NkKG51bSkuYS51bW9kKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzRXZlbiA9IGZ1bmN0aW9uIGlzRXZlbiAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc09kZCA9IGZ1bmN0aW9uIGlzT2RkICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDE7XFxuICB9O1xcblxcbiAgLy8gQW5kIGZpcnN0IHdvcmQgYW5kIG51bVxcbiAgQk4ucHJvdG90eXBlLmFuZGxuID0gZnVuY3Rpb24gYW5kbG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy53b3Jkc1swXSAmIG51bTtcXG4gIH07XFxuXFxuICAvLyBJbmNyZW1lbnQgYXQgdGhlIGJpdCBwb3NpdGlvbiBpbi1saW5lXFxuICBCTi5wcm90b3R5cGUuYmluY24gPSBmdW5jdGlvbiBiaW5jbiAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHRoaXMuX2V4cGFuZChzICsgMSk7XFxuICAgICAgdGhpcy53b3Jkc1tzXSB8PSBxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCBiaXQgYW5kIHByb3BhZ2F0ZSwgaWYgbmVlZGVkXFxuICAgIHZhciBjYXJyeSA9IHE7XFxuICAgIGZvciAodmFyIGkgPSBzOyBjYXJyeSAhPT0gMCAmJiBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdyArPSBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4+IDI2O1xcbiAgICAgIHcgJj0gMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc1plcm8gPSBmdW5jdGlvbiBpc1plcm8gKCkge1xcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY21wbiA9IGZ1bmN0aW9uIGNtcG4gKG51bSkge1xcbiAgICB2YXIgbmVnYXRpdmUgPSBudW0gPCAwO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiAhbmVnYXRpdmUpIHJldHVybiAtMTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbmVnYXRpdmUpIHJldHVybiAxO1xcblxcbiAgICB0aGlzLl9zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLl9zdHJpcCgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIHJldHVybiBudW0uaW11bCh0aGlzLmspO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIEsyNTYgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdrMjU2JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKEsyNTYsIE1QcmltZSk7XFxuXFxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XFxuICAgIC8vIDI1NiA9IDkgKiAyNiArIDIyXFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XFxuXFxuICAgIHZhciBvdXRMZW4gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIDkpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XFxuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XFxuICAgIH1cXG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcXG5cXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8PSA5KSB7XFxuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIFNoaWZ0IGJ5IDkgbGltYnNcXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcXG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcXG5cXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xcbiAgICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSAoKG5leHQgJiBtYXNrKSA8PCA0KSB8IChwcmV2ID4+PiAyMik7XFxuICAgICAgcHJldiA9IG5leHQ7XFxuICAgIH1cXG4gICAgcHJldiA+Pj49IDIyO1xcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcXG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gMTA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XFxuICAgIH1cXG4gIH07XFxuXFxuICBLMjU2LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoICsgMV0gPSAwO1xcbiAgICBudW0ubGVuZ3RoICs9IDI7XFxuXFxuICAgIC8vIGJvdW5kZWQgYXQ6IDB4NDAgKiAweDNmZmZmZmYgKyAweDNkMCA9IDB4MTAwMDAwMzkwXFxuICAgIHZhciBsbyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBudW0ud29yZHNbaV0gfCAwO1xcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcXG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICBsbyA9IHcgKiAweDQwICsgKChsbyAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgfVxcblxcbiAgICAvLyBGYXN0IGxlbmd0aCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBQMjI0ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDIyNCcsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDE5MiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AxOTInLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDE5MiwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XFxuICAgIC8vIDIgXiAyNTUgLSAxOVxcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICcyNTUxOScsXFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyNTUxOSwgTVByaW1lKTtcXG5cXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEzXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGhpID0gKG51bS53b3Jkc1tpXSB8IDApICogMHgxMyArIGNhcnJ5O1xcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xcbiAgICAgIGhpID4+Pj0gMjY7XFxuXFxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XFxuICAgICAgY2FycnkgPSBoaTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xcbiAgICAvLyBDYWNoZWQgdmVyc2lvbiBvZiBwcmltZVxcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xcblxcbiAgICB2YXIgcHJpbWU7XFxuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyMjQnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xcbiAgICAgIHByaW1lID0gbmV3IFAxOTIoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XFxuICAgIH1cXG4gICAgcHJpbWVzW25hbWVdID0gcHJpbWU7XFxuXFxuICAgIHJldHVybiBwcmltZTtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQmFzZSByZWR1Y3Rpb24gZW5naW5lXFxuICAvL1xcbiAgZnVuY3Rpb24gUmVkIChtKSB7XFxuICAgIGlmICh0eXBlb2YgbSA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XFxuICAgICAgdGhpcy5tID0gcHJpbWUucDtcXG4gICAgICB0aGlzLnByaW1lID0gcHJpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XFxuICAgICAgdGhpcy5tID0gbTtcXG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XFxuICAgIGFzc2VydChhLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCAmJiBhLnJlZCA9PT0gYi5yZWQsXFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XFxuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgbW92ZShhLCBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcykpO1xcbiAgICByZXR1cm4gYTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5zdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTEoYSk7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwoYSwgYS5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XFxuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZVxcbiAgICBpZiAobW9kMyA9PT0gMykge1xcbiAgICAgIHZhciBwb3cgPSB0aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO1xcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xcbiAgICB9XFxuXFxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcXG4gICAgLy9cXG4gICAgLy8gRmluZCBRIGFuZCBTLCB0aGF0IFEgKiAyIF4gUyA9IChQIC0gMSlcXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcXG4gICAgdmFyIHMgPSAwO1xcbiAgICB3aGlsZSAoIXEuaXNaZXJvKCkgJiYgcS5hbmRsbigxKSA9PT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgICBxLml1c2hybigxKTtcXG4gICAgfVxcbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgb25lID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcXG5cXG4gICAgLy8gRmluZCBxdWFkcmF0aWMgbm9uLXJlc2lkdWVcXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXFxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xcbiAgICB2YXIgeiA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xcblxcbiAgICB3aGlsZSAodGhpcy5wb3coeiwgbHBvdykuY21wKG5PbmUpICE9PSAwKSB7XFxuICAgICAgei5yZWRJQWRkKG5PbmUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XFxuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XFxuICAgIHZhciB0ID0gdGhpcy5wb3coYSwgcSk7XFxuICAgIHZhciBtID0gcztcXG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcXG4gICAgICB2YXIgdG1wID0gdDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcXG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcXG4gICAgICB9XFxuICAgICAgYXNzZXJ0KGkgPCBtKTtcXG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XFxuXFxuICAgICAgciA9IHIucmVkTXVsKGIpO1xcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xcbiAgICAgIHQgPSB0LnJlZE11bChjKTtcXG4gICAgICBtID0gaTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xcbiAgICBpZiAoaW52Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciB3aW5kb3dTaXplID0gNDtcXG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHduZFsxXSA9IGE7XFxuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcyA9IHduZFswXTtcXG4gICAgdmFyIGN1cnJlbnQgPSAwO1xcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XFxuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xcbiAgICBpZiAoc3RhcnQgPT09IDApIHtcXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xcbiAgICAgIGZvciAodmFyIGogPSBzdGFydCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XFxuICAgICAgICAgIHJlcyA9IHRoaXMuc3FyKHJlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoYml0ID09PSAwICYmIGN1cnJlbnQgPT09IDApIHtcXG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY3VycmVudCA8PD0gMTtcXG4gICAgICAgIGN1cnJlbnQgfD0gYml0O1xcbiAgICAgICAgY3VycmVudExlbisrO1xcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xcbiAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICBjdXJyZW50ID0gMDtcXG4gICAgICB9XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgdmFyIHIgPSBudW0udW1vZCh0aGlzLm0pO1xcblxcbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgcmVzID0gbnVtLmNsb25lKCk7XFxuICAgIHJlcy5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBNb250Z29tZXJ5IG1ldGhvZCBlbmdpbmVcXG4gIC8vXFxuXFxuICBCTi5tb250ID0gZnVuY3Rpb24gbW9udCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcXG4gICAgUmVkLmNhbGwodGhpcywgbSk7XFxuXFxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcXG4gICAgICB0aGlzLnNoaWZ0ICs9IDI2IC0gKHRoaXMuc2hpZnQgJSAyNik7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5yID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTtcXG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XFxuXFxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5yLnN1Yih0aGlzLm1pbnYpO1xcbiAgfVxcbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHIgPSB0aGlzLmltb2QobnVtLm11bCh0aGlzLnJpbnYpKTtcXG4gICAgci5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSB7XFxuICAgICAgYS53b3Jkc1swXSA9IDA7XFxuICAgICAgYS5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiBhO1xcbiAgICB9XFxuXFxuICAgIHZhciB0ID0gYS5pbXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcblxcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgdmFyIHQgPSBhLm11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXFxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxufSkoIGZhbHNlIHx8IG1vZHVsZSwgdGhpcyk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vd2VicGFjay9idWlsZGluL21vZHVsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1xcXCIpKG1vZHVsZSkpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWJpNXFjeTlzYVdJdlltNHVhbk0vTTJRd05TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNaMEpCUVZFN1FVRkROMElzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEhkRFFVRjNRenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eFJRVUZSTzBGQlEyaEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUWtGQmQwSXNiVUpCUVcxQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVE8wRkJRMmhET3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBOQlFYTkRMRmxCUVZrN1FVRkRiRVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFRRVUZUTzBGQlEyaERPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSE5EUVVGelF5eHpRa0ZCYzBJN1FVRkROVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xGTkJRVk03UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNhVUpCUVdsQ08wRkJRM1JETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3NFFrRkJPRUlzYVVKQlFXbENPMEZCUXk5RE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRGhDUVVFNFFpeHBRa0ZCYVVJN1FVRkRMME03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1owSkJRV2RDTzBGQlEzSkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHTkJRV003UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hWUVVGVkxEWkNRVUUyUWp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNVMEZCVXp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYjBKQlFXOUNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlFUVVGdlJDeFhRVUZYTzBGQlF5OUVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMSEZDUVVGeFFpeFBRVUZQTzBGQlF6VkNPMEZCUTBFN08wRkJSVUVzZFVKQlFYVkNMRTlCUVU4N1FVRkRPVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeEhRVUZITzBGQlF6RkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4WFFVRlhPMEZCUXpsQ096dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4WFFVRlhPMEZCUXpsQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVTBGQlV6dEJRVU0xUWpzN1FVRkZRU3hyUTBGQmEwTTdRVUZEYkVNc2MwTkJRWE5ETzBGQlEzUkRPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHTkJRV003UVVGRE0wTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEN0Q1FVRXJRaXhSUVVGUk8wRkJRM1pETzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxHbENRVUZwUWl4cFFrRkJhVUk3UVVGRGJFTTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpd3JRMEZCSzBNN1FVRkRiRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNjVUpCUVhGQ0xITkRRVUZ6UXp0QlFVTXpSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc1owSkJRV2RDTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNlVUpCUVhsQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc2FVSkJRV2xDTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4alFVRmpPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVVVGQlVUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF5eFJRVUZSTzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEcxRFFVRnRRenRCUVVOb1JUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZFVKQlFYVkNMREJDUVVFd1FqdEJRVU5xUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaME5CUVdkRE8wRkJRMjVFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1dVRkJXVHRCUVVNdlFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWjBKQlFXZENMR3RDUVVGclFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEc5Q1FVRnZRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERSQ1FVRTBRaXhSUVVGUk8wRkJRM0JETzBGQlEwRXNOa0pCUVRaQ0xGRkJRVkU3UVVGRGNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlVGQlJTeE5RVUUyUWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpYmk1cWN5OXNhV0l2WW00dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJb1puVnVZM1JwYjI0Z0tHMXZaSFZzWlN3Z1pYaHdiM0owY3lrZ2UxeHVJQ0FuZFhObElITjBjbWxqZENjN1hHNWNiaUFnTHk4Z1ZYUnBiSE5jYmlBZ1puVnVZM1JwYjI0Z1lYTnpaWEowSUNoMllXd3NJRzF6WnlrZ2UxeHVJQ0FnSUdsbUlDZ2hkbUZzS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvYlhObklIeDhJQ2RCYzNObGNuUnBiMjRnWm1GcGJHVmtKeWs3WEc0Z0lIMWNibHh1SUNBdkx5QkRiM1ZzWkNCMWMyVWdZR2x1YUdWeWFYUnpZQ0J0YjJSMWJHVXNJR0oxZENCa2IyNG5kQ0IzWVc1MElIUnZJRzF2ZG1VZ1puSnZiU0J6YVc1bmJHVWdabWxzWlZ4dUlDQXZMeUJoY21Ob2FYUmxZM1IxY21VZ2VXVjBMbHh1SUNCbWRXNWpkR2x2YmlCcGJtaGxjbWwwY3lBb1kzUnZjaXdnYzNWd1pYSkRkRzl5S1NCN1hHNGdJQ0FnWTNSdmNpNXpkWEJsY2w4Z1BTQnpkWEJsY2tOMGIzSTdYRzRnSUNBZ2RtRnlJRlJsYlhCRGRHOXlJRDBnWm5WdVkzUnBiMjRnS0NrZ2UzMDdYRzRnSUNBZ1ZHVnRjRU4wYjNJdWNISnZkRzkwZVhCbElEMGdjM1Z3WlhKRGRHOXlMbkJ5YjNSdmRIbHdaVHRjYmlBZ0lDQmpkRzl5TG5CeWIzUnZkSGx3WlNBOUlHNWxkeUJVWlcxd1EzUnZjaWdwTzF4dUlDQWdJR04wYjNJdWNISnZkRzkwZVhCbExtTnZibk4wY25WamRHOXlJRDBnWTNSdmNqdGNiaUFnZlZ4dVhHNGdJQzh2SUVKT1hHNWNiaUFnWm5WdVkzUnBiMjRnUWs0Z0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0VKT0xtbHpRazRvYm5WdFltVnlLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYldKbGNqdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNWNiaUFnSUNBdkx5QlNaV1IxWTNScGIyNGdZMjl1ZEdWNGRGeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNodWRXMWlaWElnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdsbUlDaGlZWE5sSUQwOVBTQW5iR1VuSUh4OElHSmhjMlVnUFQwOUlDZGlaU2NwSUh0Y2JpQWdJQ0FnSUNBZ1pXNWthV0Z1SUQwZ1ltRnpaVHRjYmlBZ0lDQWdJQ0FnWW1GelpTQTlJREV3TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFHbHpMbDlwYm1sMEtHNTFiV0psY2lCOGZDQXdMQ0JpWVhObElIeDhJREV3TENCbGJtUnBZVzRnZkh3Z0oySmxKeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJR2xtSUNoMGVYQmxiMllnYlc5a2RXeGxJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUcxdlpIVnNaUzVsZUhCdmNuUnpJRDBnUWs0N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pYaHdiM0owY3k1Q1RpQTlJRUpPTzF4dUlDQjlYRzVjYmlBZ1FrNHVRazRnUFNCQ1RqdGNiaUFnUWs0dWQyOXlaRk5wZW1VZ1BTQXlOanRjYmx4dUlDQjJZWElnUW5WbVptVnlPMXh1SUNCMGNua2dlMXh1SUNBZ0lFSjFabVpsY2lBOUlISmxjWFZwY21Vb0oySjFabVpsY2ljcExrSjFabVpsY2p0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQjlYRzVjYmlBZ1FrNHVhWE5DVGlBOUlHWjFibU4wYVc5dUlHbHpRazRnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcwZ2FXNXpkR0Z1WTJWdlppQkNUaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYlNBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ2JuVnRJRDA5UFNBbmIySnFaV04wSnlBbUpseHVJQ0FnSUNBZ2JuVnRMbU52Ym5OMGNuVmpkRzl5TG5kdmNtUlRhWHBsSUQwOVBTQkNUaTUzYjNKa1UybDZaU0FtSmlCQmNuSmhlUzVwYzBGeWNtRjVLRzUxYlM1M2IzSmtjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHViV0Y0SUQwZ1puVnVZM1JwYjI0Z2JXRjRJQ2hzWldaMExDQnlhV2RvZENrZ2UxeHVJQ0FnSUdsbUlDaHNaV1owTG1OdGNDaHlhV2RvZENrZ1BpQXdLU0J5WlhSMWNtNGdiR1ZtZER0Y2JpQWdJQ0J5WlhSMWNtNGdjbWxuYUhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1YldsdUlEMGdablZ1WTNScGIyNGdiV2x1SUNoc1pXWjBMQ0J5YVdkb2RDa2dlMXh1SUNBZ0lHbG1JQ2hzWldaMExtTnRjQ2h5YVdkb2RDa2dQQ0F3S1NCeVpYUjFjbTRnYkdWbWREdGNiaUFnSUNCeVpYUjFjbTRnY21sbmFIUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBibWwwSUQwZ1puVnVZM1JwYjI0Z2FXNXBkQ0FvYm5WdFltVnlMQ0JpWVhObExDQmxibVJwWVc0cElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNTFiV0psY2lBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5cGJtbDBUblZ0WW1WeUtHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzUxYldKbGNpQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBibWwwUVhKeVlYa29iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBbmFHVjRKeWtnZTF4dUlDQWdJQ0FnWW1GelpTQTlJREUyTzF4dUlDQWdJSDFjYmlBZ0lDQmhjM05sY25Rb1ltRnpaU0E5UFQwZ0tHSmhjMlVnZkNBd0tTQW1KaUJpWVhObElENDlJRElnSmlZZ1ltRnpaU0E4UFNBek5pazdYRzVjYmlBZ0lDQnVkVzFpWlhJZ1BTQnVkVzFpWlhJdWRHOVRkSEpwYm1jb0tTNXlaWEJzWVdObEtDOWNYSE1yTDJjc0lDY25LVHRjYmlBZ0lDQjJZWElnYzNSaGNuUWdQU0F3TzF4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2MzUmhjblFyS3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ltRnpaU0E5UFQwZ01UWXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzQmhjbk5sU0dWNEtHNTFiV0psY2l3Z2MzUmhjblFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5d1lYSnpaVUpoYzJVb2JuVnRZbVZ5TENCaVlYTmxMQ0J6ZEdGeWRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzUxYldKbGNsc3dYU0E5UFQwZ0p5MG5LU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5emRISnBjQ2dwTzF4dVhHNGdJQ0FnYVdZZ0tHVnVaR2xoYmlBaFBUMGdKMnhsSnlrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnZEdocGN5NWZhVzVwZEVGeWNtRjVLSFJvYVhNdWRHOUJjbkpoZVNncExDQmlZWE5sTENCbGJtUnBZVzRwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRFNTFiV0psY2lBOUlHWjFibU4wYVc5dUlGOXBibWwwVG5WdFltVnlJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaHVkVzFpWlhJZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJRzUxYldKbGNpQTlJQzF1ZFcxaVpYSTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHVkVzFpWlhJZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYmJuVnRZbVZ5SUNZZ01IZ3pabVptWm1abVhUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJXSmxjaUE4SURCNE1UQXdNREF3TURBd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURJN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzFpWlhJZ1BDQXdlREl3TURBd01EQXdNREF3TURBd0tUc2dMeThnTWlCZUlEVXpJQ2gxYm5OaFptVXBYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBeFhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHSjVkR1Z6WEc0Z0lDQWdkR2hwY3k1ZmFXNXBkRUZ5Y21GNUtIUm9hWE11ZEc5QmNuSmhlU2dwTENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzVwZEVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUkJjbkpoZVNBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQXZMeUJRWlhKb1lYQnpJR0VnVldsdWREaEJjbkpoZVZ4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRZbVZ5TG14bGJtZDBhQ0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdsbUlDaHVkVzFpWlhJdWJHVnVaM1JvSUR3OUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYk1GMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2h1ZFcxaVpYSXViR1Z1WjNSb0lDOGdNeWs3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdhaXdnZHp0Y2JpQWdJQ0IyWVhJZ2IyWm1JRDBnTUR0Y2JpQWdJQ0JwWmlBb1pXNWthV0Z1SUQwOVBTQW5ZbVVuS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNCdWRXMWlaWEl1YkdWdVozUm9JQzBnTVN3Z2FpQTlJREE3SUdrZ1BqMGdNRHNnYVNBdFBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnTFNBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXRJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9aVzVrYVdGdUlEMDlQU0FuYkdVbktTQjdYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdMQ0JxSUQwZ01Ec2dhU0E4SUc1MWJXSmxjaTVzWlc1bmRHZzdJR2tnS3owZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQ3NnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0t5QXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjR0Z5YzJWSVpYZ2dLSE4wY2l3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNBZ0lIWmhjaUJ5SUQwZ01EdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ1RXRjBhQzV0YVc0b2MzUnlMbXhsYm1kMGFDd2daVzVrS1R0Y2JpQWdJQ0IyWVhJZ2VpQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z2JHVnVPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrZ0xTQTBPRHRjYmx4dUlDQWdJQ0FnY2lBOFBEMGdORHRjYmx4dUlDQWdJQ0FnZG1GeUlHSTdYRzVjYmlBZ0lDQWdJQzh2SUNkaEp5QXRJQ2RtSjF4dUlDQWdJQ0FnYVdZZ0tHTWdQajBnTkRrZ0ppWWdZeUE4UFNBMU5Da2dlMXh1SUNBZ0lDQWdJQ0JpSUQwZ1l5QXRJRFE1SUNzZ01IaGhPMXh1WEc0Z0lDQWdJQ0F2THlBblFTY2dMU0FuUmlkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlBbUppQmpJRHc5SURJeUtTQjdYRzRnSUNBZ0lDQWdJR0lnUFNCaklDMGdNVGNnS3lBd2VHRTdYRzVjYmlBZ0lDQWdJQzh2SUNjd0p5QXRJQ2M1SjF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlHTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSElnZkQwZ1lqdGNiaUFnSUNBZ0lIb2dmRDBnWWp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoYzNObGNuUW9JU2g2SUNZZ01IaG1NQ2tzSUNkSmJuWmhiR2xrSUdOb1lYSmhZM1JsY2lCcGJpQW5JQ3NnYzNSeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVYM04wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnY0dGeWMyVkNZWE5sSUNoemRISXNJSE4wWVhKMExDQmxibVFzSUcxMWJDa2dlMXh1SUNBZ0lIWmhjaUJ5SUQwZ01EdGNiaUFnSUNCMllYSWdZaUE5SURBN1hHNGdJQ0FnZG1GeUlHeGxiaUE5SUUxaGRHZ3ViV2x1S0hOMGNpNXNaVzVuZEdnc0lHVnVaQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z2JHVnVPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrZ0xTQTBPRHRjYmx4dUlDQWdJQ0FnY2lBcVBTQnRkV3c3WEc1Y2JpQWdJQ0FnSUM4dklDZGhKMXh1SUNBZ0lDQWdhV1lnS0dNZ1BqMGdORGtwSUh0Y2JpQWdJQ0FnSUNBZ1lpQTlJR01nTFNBME9TQXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKMEVuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dNZ1BqMGdNVGNwSUh0Y2JpQWdJQ0FnSUNBZ1lpQTlJR01nTFNBeE55QXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKekFuSUMwZ0p6a25YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmlJRDBnWXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdGemMyVnlkQ2hqSUQ0OUlEQWdKaVlnWWlBOElHMTFiQ3dnSjBsdWRtRnNhV1FnWTJoaGNtRmpkR1Z5SnlrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5d1lYSnpaVUpoYzJVZ1BTQm1kVzVqZEdsdmJpQmZjR0Z5YzJWQ1lYTmxJQ2h1ZFcxaVpYSXNJR0poYzJVc0lITjBZWEowS1NCN1hHNGdJQ0FnTHk4Z1NXNXBkR2xoYkdsNlpTQmhjeUI2WlhKdlhHNGdJQ0FnZEdocGN5NTNiM0prY3lBOUlGc3dYVHRjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNWNiaUFnSUNBdkx5QkdhVzVrSUd4bGJtZDBhQ0J2WmlCc2FXMWlJR2x1SUdKaGMyVmNiaUFnSUNCbWIzSWdLSFpoY2lCc2FXMWlUR1Z1SUQwZ01Dd2diR2x0WWxCdmR5QTlJREU3SUd4cGJXSlFiM2NnUEQwZ01IZ3pabVptWm1abU95QnNhVzFpVUc5M0lDbzlJR0poYzJVcElIdGNiaUFnSUNBZ0lHeHBiV0pNWlc0ckt6dGNiaUFnSUNCOVhHNGdJQ0FnYkdsdFlreGxiaTB0TzF4dUlDQWdJR3hwYldKUWIzY2dQU0FvYkdsdFlsQnZkeUF2SUdKaGMyVXBJSHdnTUR0Y2JseHVJQ0FnSUhaaGNpQjBiM1JoYkNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNCemRHRnlkRHRjYmlBZ0lDQjJZWElnYlc5a0lEMGdkRzkwWVd3Z0pTQnNhVzFpVEdWdU8xeHVJQ0FnSUhaaGNpQmxibVFnUFNCTllYUm9MbTFwYmloMGIzUmhiQ3dnZEc5MFlXd2dMU0J0YjJRcElDc2djM1JoY25RN1hHNWNiaUFnSUNCMllYSWdkMjl5WkNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJSE4wWVhKME95QnBJRHdnWlc1a095QnBJQ3M5SUd4cGJXSk1aVzRwSUh0Y2JpQWdJQ0FnSUhkdmNtUWdQU0J3WVhKelpVSmhjMlVvYm5WdFltVnlMQ0JwTENCcElDc2diR2x0WWt4bGJpd2dZbUZ6WlNrN1hHNWNiaUFnSUNBZ0lIUm9hWE11YVcxMWJHNG9iR2x0WWxCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHMXZaQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhCdmR5QTlJREU3WEc0Z0lDQWdJQ0IzYjNKa0lEMGdjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dhU3dnYm5WdFltVnlMbXhsYm1kMGFDd2dZbUZ6WlNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCdGIyUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQndiM2NnS2owZ1ltRnpaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXBiWFZzYmlod2IzY3BPMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkMjl5WkhOYk1GMGdLeUIzYjNKa0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnZDI5eVpEdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDJsaFpHUnVLSGR2Y21RcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTI5d2VTQTlJR1oxYm1OMGFXOXVJR052Y0hrZ0tHUmxjM1FwSUh0Y2JpQWdJQ0JrWlhOMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR1JsYzNRdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmlBZ0lDQmtaWE4wTG14bGJtZDBhQ0E5SUhSb2FYTXViR1Z1WjNSb08xeHVJQ0FnSUdSbGMzUXVibVZuWVhScGRtVWdQU0IwYUdsekxtNWxaMkYwYVhabE8xeHVJQ0FnSUdSbGMzUXVjbVZrSUQwZ2RHaHBjeTV5WldRN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdiVzkyWlNBb1pHVnpkQ3dnYzNKaktTQjdYRzRnSUNBZ1pHVnpkQzUzYjNKa2N5QTlJSE55WXk1M2IzSmtjenRjYmlBZ0lDQmtaWE4wTG14bGJtZDBhQ0E5SUhOeVl5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSE55WXk1dVpXZGhkR2wyWlR0Y2JpQWdJQ0JrWlhOMExuSmxaQ0E5SUhOeVl5NXlaV1E3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMjF2ZG1VZ1BTQm1kVzVqZEdsdmJpQmZiVzkyWlNBb1pHVnpkQ2tnZTF4dUlDQWdJRzF2ZG1Vb1pHVnpkQ3dnZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z1kyeHZibVVnS0NrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUhSb2FYTXVZMjl3ZVNoeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJWNGNHRnVaQ0E5SUdaMWJtTjBhVzl1SUY5bGVIQmhibVFnS0hOcGVtVXBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J6YVhwbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvS3l0ZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVnRiM1psSUd4bFlXUnBibWNnWURCZ0lHWnliMjBnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZjM1J5YVhBZ1BTQm1kVzVqZEdsdmJpQnpkSEpwY0NBb0tTQjdYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXViR1Z1WjNSb0lENGdNU0FtSmlCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9JQzBnTVYwZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0xTMDdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXViM0p0VTJsbmJpZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZibTl5YlZOcFoyNGdQU0JtZFc1amRHbHZiaUJmYm05eWJWTnBaMjRnS0NrZ2UxeHVJQ0FnSUM4dklDMHdJRDBnTUZ4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVNBbUppQjBhR2x6TG5kdmNtUnpXekJkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1EyaGxZMnNnVTNsdFltOXNMbVp2Y2lCaVpXTmhkWE5sSUc1dmRDQmxkbVZ5ZVhkb1pYSmxJSGRvWlhKbElGTjViV0p2YkNCa1pXWnBibVZrWEc0Z0lDOHZJRk5sWlNCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5S1lYWmhVMk55YVhCMEwxSmxabVZ5Wlc1alpTOUhiRzlpWVd4ZlQySnFaV04wY3k5VGVXMWliMndqUW5KdmQzTmxjbDlqYjIxd1lYUnBZbWxzYVhSNVhHNGdJR2xtSUNoMGVYQmxiMllnVTNsdFltOXNJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIwZVhCbGIyWWdVM2x0WW05c0xtWnZjaUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lFSk9MbkJ5YjNSdmRIbHdaVnRUZVcxaWIyd3VabTl5S0NkdWIyUmxhbk11ZFhScGJDNXBibk53WldOMExtTjFjM1J2YlNjcFhTQTlJR2x1YzNCbFkzUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWMzQmxZM1FnUFNCcGJuTndaV04wTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2FXNXpjR1ZqZENBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbkpsWkNBL0lDYzhRazR0VWpvZ0p5QTZJQ2M4UWs0NklDY3BJQ3NnZEdocGN5NTBiMU4wY21sdVp5Z3hOaWtnS3lBblBpYzdYRzRnSUgxY2JseHVJQ0F2S2x4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0ZE8xeHVJQ0IyWVhJZ1ozSnZkWEJUYVhwbGN5QTlJRnRkTzF4dUlDQjJZWElnWjNKdmRYQkNZWE5sY3lBOUlGdGRPMXh1WEc0Z0lIWmhjaUJ6SUQwZ0p5YzdYRzRnSUhaaGNpQnBJRDBnTFRFN1hHNGdJSGRvYVd4bElDZ3JLMmtnUENCQ1RpNTNiM0prVTJsNlpTa2dlMXh1SUNBZ0lIcGxjbTl6VzJsZElEMGdjenRjYmlBZ0lDQnpJQ3M5SUNjd0p6dGNiaUFnZlZ4dUlDQm5jbTkxY0ZOcGVtVnpXekJkSUQwZ01EdGNiaUFnWjNKdmRYQlRhWHBsYzFzeFhTQTlJREE3WEc0Z0lHZHliM1Z3UW1GelpYTmJNRjBnUFNBd08xeHVJQ0JuY205MWNFSmhjMlZ6V3pGZElEMGdNRHRjYmlBZ2RtRnlJR0poYzJVZ1BTQXlJQzBnTVR0Y2JpQWdkMmhwYkdVZ0tDc3JZbUZ6WlNBOElETTJJQ3NnTVNrZ2UxeHVJQ0FnSUhaaGNpQm5jbTkxY0ZOcGVtVWdQU0F3TzF4dUlDQWdJSFpoY2lCbmNtOTFjRUpoYzJVZ1BTQXhPMXh1SUNBZ0lIZG9hV3hsSUNobmNtOTFjRUpoYzJVZ1BDQW9NU0E4UENCQ1RpNTNiM0prVTJsNlpTa2dMeUJpWVhObEtTQjdYRzRnSUNBZ0lDQm5jbTkxY0VKaGMyVWdLajBnWW1GelpUdGNiaUFnSUNBZ0lHZHliM1Z3VTJsNlpTQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ0lDQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZElEMGdaM0p2ZFhCVGFYcGxPMXh1SUNBZ0lHZHliM1Z3UW1GelpYTmJZbUZ6WlYwZ1BTQm5jbTkxY0VKaGMyVTdYRzRnSUgxY2JseHVJQ0FxTDF4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0Y2JpQWdJQ0FuSnl4Y2JpQWdJQ0FuTUNjc1hHNGdJQ0FnSnpBd0p5eGNiaUFnSUNBbk1EQXdKeXhjYmlBZ0lDQW5NREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNkY2JpQWdYVHRjYmx4dUlDQjJZWElnWjNKdmRYQlRhWHBsY3lBOUlGdGNiaUFnSUNBd0xDQXdMRnh1SUNBZ0lESTFMQ0F4Tml3Z01USXNJREV4TENBeE1Dd2dPU3dnT0N4Y2JpQWdJQ0E0TENBM0xDQTNMQ0EzTENBM0xDQTJMQ0EyTEZ4dUlDQWdJRFlzSURZc0lEWXNJRFlzSURZc0lEVXNJRFVzWEc0Z0lDQWdOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3hjYmlBZ0lDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFYRzRnSUYwN1hHNWNiaUFnZG1GeUlHZHliM1Z3UW1GelpYTWdQU0JiWEc0Z0lDQWdNQ3dnTUN4Y2JpQWdJQ0F6TXpVMU5EUXpNaXdnTkRNd05EWTNNakVzSURFMk56YzNNakUyTENBME9EZ3lPREV5TlN3Z05qQTBOall4TnpZc0lEUXdNelV6TmpBM0xDQXhOamMzTnpJeE5peGNiaUFnSUNBME16QTBOamN5TVN3Z01UQXdNREF3TURBc0lERTVORGczTVRjeExDQXpOVGd6TVRnd09Dd2dOakkzTkRnMU1UY3NJRGMxTWprMU16WXNJREV4TXprd05qSTFMRnh1SUNBZ0lERTJOemMzTWpFMkxDQXlOREV6TnpVMk9Td2dNelF3TVRJeU1qUXNJRFEzTURRMU9EZ3hMQ0EyTkRBd01EQXdNQ3dnTkRBNE5ERXdNU3dnTlRFMU16WXpNaXhjYmlBZ0lDQTJORE0yTXpRekxDQTNPVFl5TmpJMExDQTVOelkxTmpJMUxDQXhNVGc0TVRNM05pd2dNVFF6TkRnNU1EY3NJREUzTWpFd016WTRMQ0F5TURVeE1URTBPU3hjYmlBZ0lDQXlORE13TURBd01Dd2dNamcyTWpreE5URXNJRE16TlRVME5ETXlMQ0F6T1RFek5UTTVNeXdnTkRVME16VTBNalFzSURVeU5USXhPRGMxTENBMk1EUTJOakUzTmx4dUlDQmRPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjFOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUhSdlUzUnlhVzVuSUNoaVlYTmxMQ0J3WVdSa2FXNW5LU0I3WEc0Z0lDQWdZbUZ6WlNBOUlHSmhjMlVnZkh3Z01UQTdYRzRnSUNBZ2NHRmtaR2x1WnlBOUlIQmhaR1JwYm1jZ2ZDQXdJSHg4SURFN1hHNWNiaUFnSUNCMllYSWdiM1YwTzF4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pQjhmQ0JpWVhObElEMDlQU0FuYUdWNEp5a2dlMXh1SUNBZ0lDQWdiM1YwSUQwZ0p5YzdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnSUNCMllYSWdkMjl5WkNBOUlDZ29LSGNnUER3Z2IyWm1LU0I4SUdOaGNuSjVLU0FtSURCNFptWm1abVptS1M1MGIxTjBjbWx1WnlneE5pazdYRzRnSUNBZ0lDQWdJR05oY25KNUlEMGdLSGNnUGo0K0lDZ3lOQ0F0SUc5bVppa3BJQ1lnTUhobVptWm1abVk3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ0I4ZkNCcElDRTlQU0IwYUdsekxteGxibWQwYUNBdElERXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxczJJQzBnZDI5eVpDNXNaVzVuZEdoZElDc2dkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0IzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHOW1aaUFyUFNBeU8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdrdExUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlHTmhjbko1TG5SdlUzUnlhVzVuS0RFMktTQXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FvWW1GelpTQjhJREFwSUNZbUlHSmhjMlVnUGowZ01pQW1KaUJpWVhObElEdzlJRE0yS1NCN1hHNGdJQ0FnSUNBdkx5QjJZWElnWjNKdmRYQlRhWHBsSUQwZ1RXRjBhQzVtYkc5dmNpaENUaTUzYjNKa1UybDZaU0FxSUUxaGRHZ3VURTR5SUM4Z1RXRjBhQzVzYjJjb1ltRnpaU2twTzF4dUlDQWdJQ0FnZG1GeUlHZHliM1Z3VTJsNlpTQTlJR2R5YjNWd1UybDZaWE5iWW1GelpWMDdYRzRnSUNBZ0lDQXZMeUIyWVhJZ1ozSnZkWEJDWVhObElEMGdUV0YwYUM1d2IzY29ZbUZ6WlN3Z1ozSnZkWEJUYVhwbEtUdGNiaUFnSUNBZ0lIWmhjaUJuY205MWNFSmhjMlVnUFNCbmNtOTFjRUpoYzJWelcySmhjMlZkTzF4dUlDQWdJQ0FnYjNWMElEMGdKeWM3WEc0Z0lDQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0FnSUdNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tDRmpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnWXk1dGIyUnliaWhuY205MWNFSmhjMlVwTG5SdlUzUnlhVzVuS0dKaGMyVXBPMXh1SUNBZ0lDQWdJQ0JqSUQwZ1l5NXBaR2wyYmlobmNtOTFjRUpoYzJVcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUc5MWRDQTlJSHBsY205elcyZHliM1Z3VTJsNlpTQXRJSEl1YkdWdVozUm9YU0FySUhJZ0t5QnZkWFE3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IzVjBJRDBnY2lBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2IzVjBJRDBnSnpBbklDc2diM1YwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnZDJocGJHVWdLRzkxZEM1c1pXNW5kR2dnSlNCd1lXUmthVzVuSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJQ2N3SnlBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3RKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lISmxkSFZ5YmlCdmRYUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1lYTnpaWEowS0daaGJITmxMQ0FuUW1GelpTQnphRzkxYkdRZ1ltVWdZbVYwZDJWbGJpQXlJR0Z1WkNBek5pY3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMDUxYldKbGNpQTlJR1oxYm1OMGFXOXVJSFJ2VG5WdFltVnlJQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2NtVjBJRDBnZEdocGN5NTNiM0prYzFzd1hUdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlESXBJSHRjYmlBZ0lDQWdJSEpsZENBclBTQjBhR2x6TG5kdmNtUnpXekZkSUNvZ01IZzBNREF3TURBd08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURNZ0ppWWdkR2hwY3k1M2IzSmtjMXN5WFNBOVBUMGdNSGd3TVNrZ2UxeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lYUWdkR2hwY3lCemRHRm5aU0JwZENCcGN5QnJibTkzYmlCMGFHRjBJSFJvWlNCMGIzQWdZbWwwSUdseklITmxkRnh1SUNBZ0lDQWdjbVYwSUNzOUlEQjRNVEF3TURBd01EQXdNREF3TURBZ0t5QW9kR2hwY3k1M2IzSmtjMXN4WFNBcUlEQjROREF3TURBd01DazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURJcElIdGNiaUFnSUNBZ0lHRnpjMlZ5ZENobVlXeHpaU3dnSjA1MWJXSmxjaUJqWVc0Z2IyNXNlU0J6WVdabGJIa2djM1J2Y21VZ2RYQWdkRzhnTlRNZ1ltbDBjeWNwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJRDhnTFhKbGRDQTZJSEpsZER0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5S1UwOU9JRDBnWm5WdVkzUnBiMjRnZEc5S1UwOU9JQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIxTjBjbWx1WnlneE5pd2dNaWs3WEc0Z0lIMDdYRzVjYmlBZ2FXWWdLRUoxWm1abGNpa2dlMXh1SUNBZ0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBKMVptWmxjaUE5SUdaMWJtTjBhVzl1SUhSdlFuVm1abVZ5SUNobGJtUnBZVzRzSUd4bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOUJjbkpoZVV4cGEyVW9RblZtWm1WeUxDQmxibVJwWVc0c0lHeGxibWQwYUNrN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBGeWNtRjVJRDBnWm5WdVkzUnBiMjRnZEc5QmNuSmhlU0FvWlc1a2FXRnVMQ0JzWlc1bmRHZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjBGeWNtRjVUR2xyWlNoQmNuSmhlU3dnWlc1a2FXRnVMQ0JzWlc1bmRHZ3BPMXh1SUNCOU8xeHVYRzRnSUhaaGNpQmhiR3h2WTJGMFpTQTlJR1oxYm1OMGFXOXVJR0ZzYkc5allYUmxJQ2hCY25KaGVWUjVjR1VzSUhOcGVtVXBJSHRjYmlBZ0lDQnBaaUFvUVhKeVlYbFVlWEJsTG1Gc2JHOWpWVzV6WVdabEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1FYSnlZWGxVZVhCbExtRnNiRzlqVlc1ellXWmxLSE5wZW1VcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVGeWNtRjVWSGx3WlNoemFYcGxLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIUm9hWE11WDNOMGNtbHdLQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaVXhsYm1kMGFDQTlJSFJvYVhNdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNBZ0lIWmhjaUJ5WlhGTVpXNW5kR2dnUFNCc1pXNW5kR2dnZkh3Z1RXRjBhQzV0WVhnb01Td2dZbmwwWlV4bGJtZDBhQ2s3WEc0Z0lDQWdZWE56WlhKMEtHSjVkR1ZNWlc1bmRHZ2dQRDBnY21WeFRHVnVaM1JvTENBbllubDBaU0JoY25KaGVTQnNiMjVuWlhJZ2RHaGhiaUJrWlhOcGNtVmtJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoeVpYRk1aVzVuZEdnZ1BpQXdMQ0FuVW1WeGRXVnpkR1ZrSUdGeWNtRjVJR3hsYm1kMGFDQThQU0F3SnlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lXeHNiMk5oZEdVb1FYSnlZWGxVZVhCbExDQnlaWEZNWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJ3YjNOMFptbDRJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5JRDhnSjB4Rkp5QTZJQ2RDUlNjN1hHNGdJQ0FnZEdocGMxc25YM1J2UVhKeVlYbE1hV3RsSnlBcklIQnZjM1JtYVhoZEtISmxjeXdnWW5sMFpVeGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNSdlFYSnlZWGxNYVd0bFRFVWdQU0JtZFc1amRHbHZiaUJmZEc5QmNuSmhlVXhwYTJWTVJTQW9jbVZ6TENCaWVYUmxUR1Z1WjNSb0tTQjdYRzRnSUNBZ2RtRnlJSEJ2YzJsMGFXOXVJRDBnTUR0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUhOb2FXWjBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM2IzSmtJRDBnS0hSb2FYTXVkMjl5WkhOYmFWMGdQRHdnYzJocFpuUXBJSHdnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSEpsYzF0d2IzTnBkR2x2YmlzclhTQTlJSGR2Y21RZ0ppQXdlR1ptTzF4dUlDQWdJQ0FnYVdZZ0tIQnZjMmwwYVc5dUlEd2djbVZ6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYTmJjRzl6YVhScGIyNHJLMTBnUFNBb2QyOXlaQ0ErUGlBNEtTQW1JREI0Wm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jRzl6YVhScGIyNGdQQ0J5WlhNdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNBZ0lISmxjMXR3YjNOcGRHbHZiaXNyWFNBOUlDaDNiM0prSUQ0K0lERTJLU0FtSURCNFptWTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoemFHbG1kQ0E5UFQwZ05pa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwYjI0Z1BDQnlaWE11YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0J2YzJsMGFXOXVLeXRkSUQwZ0tIZHZjbVFnUGo0Z01qUXBJQ1lnTUhobVpqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0FnSUhOb2FXWjBJRDBnTUR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnZDI5eVpDQStQajRnTWpRN1hHNGdJQ0FnSUNBZ0lITm9hV1owSUNzOUlESTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSEJ2YzJsMGFXOXVJRHdnY21WekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2NtVnpXM0J2YzJsMGFXOXVLeXRkSUQwZ1kyRnljbms3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3YjNOcGRHbHZiaUE4SUhKbGN5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdjbVZ6VzNCdmMybDBhVzl1S3l0ZElEMGdNRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOTBiMEZ5Y21GNVRHbHJaVUpGSUQwZ1puVnVZM1JwYjI0Z1gzUnZRWEp5WVhsTWFXdGxRa1VnS0hKbGN5d2dZbmwwWlV4bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCd2IzTnBkR2x2YmlBOUlISmxjeTVzWlc1bmRHZ2dMU0F4TzF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYzJocFpuUWdQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0FvZEdocGN5NTNiM0prYzF0cFhTQThQQ0J6YUdsbWRDa2dmQ0JqWVhKeWVUdGNibHh1SUNBZ0lDQWdjbVZ6VzNCdmMybDBhVzl1TFMxZElEMGdkMjl5WkNBbUlEQjRabVk3WEc0Z0lDQWdJQ0JwWmlBb2NHOXphWFJwYjI0Z1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYTmJjRzl6YVhScGIyNHRMVjBnUFNBb2QyOXlaQ0ErUGlBNEtTQW1JREI0Wm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jRzl6YVhScGIyNGdQajBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE5iY0c5emFYUnBiMjR0TFYwZ1BTQW9kMjl5WkNBK1BpQXhOaWtnSmlBd2VHWm1PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MyaHBablFnUFQwOUlEWXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIQnZjMmwwYVc5dUlENDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5iY0c5emFYUnBiMjR0TFYwZ1BTQW9kMjl5WkNBK1BpQXlOQ2tnSmlBd2VHWm1PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2MyaHBablFnUFNBd08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1kyRnljbmtnUFNCM2IzSmtJRDQrUGlBeU5EdGNiaUFnSUNBZ0lDQWdjMmhwWm5RZ0t6MGdNanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvY0c5emFYUnBiMjRnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6VzNCdmMybDBhVzl1TFMxZElEMGdZMkZ5Y25rN1hHNWNiaUFnSUNBZ0lIZG9hV3hsSUNod2IzTnBkR2x2YmlBK1BTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhKbGMxdHdiM05wZEdsdmJpMHRYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lHbG1JQ2hOWVhSb0xtTnNlak15S1NCN1hHNGdJQ0FnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITWdQU0JtZFc1amRHbHZiaUJmWTI5MWJuUkNhWFJ6SUNoM0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z016SWdMU0JOWVhSb0xtTnNlak15S0hjcE8xeHVJQ0FnSUgwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RDQTlJSGM3WEc0Z0lDQWdJQ0IyWVhJZ2NpQTlJREE3WEc0Z0lDQWdJQ0JwWmlBb2RDQStQU0F3ZURFd01EQXBJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQXhNenRjYmlBZ0lDQWdJQ0FnZENBK1BqNDlJREV6TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnME1Da2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlEYzdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQTNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hRZ1BqMGdNSGc0S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTkR0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VEQXlLU0I3WEc0Z0lDQWdJQ0FnSUhJZ0t6MGdNanRjYmlBZ0lDQWdJQ0FnZENBK1BqNDlJREk3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjaUFySUhRN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmZW1WeWIwSnBkSE1nUFNCbWRXNWpkR2x2YmlCZmVtVnliMEpwZEhNZ0tIY3BJSHRjYmlBZ0lDQXZMeUJUYUc5eWRDMWpkWFJjYmlBZ0lDQnBaaUFvZHlBOVBUMGdNQ2tnY21WMGRYSnVJREkyTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0IzTzF4dUlDQWdJSFpoY2lCeUlEMGdNRHRjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlREZtWm1ZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREV6TzF4dUlDQWdJQ0FnZENBK1BqNDlJREV6TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlRGRtS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQTNPMXh1SUNBZ0lDQWdkQ0ErUGo0OUlEYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNFppa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISWdLejBnTkR0Y2JpQWdJQ0FnSUhRZ1BqNCtQU0EwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlRE1wSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5SUNzOUlESTdYRzRnSUNBZ0lDQjBJRDQrUGowZ01qdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tDaDBJQ1lnTUhneEtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2Npc3JPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdiblZ0WW1WeUlHOW1JSFZ6WldRZ1ltbDBjeUJwYmlCaElFSk9YRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWlhWFJNWlc1bmRHZ2dQU0JtZFc1amRHbHZiaUJpYVhSTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFDQXRJREZkTzF4dUlDQWdJSFpoY2lCb2FTQTlJSFJvYVhNdVgyTnZkVzUwUW1sMGN5aDNLVHRjYmlBZ0lDQnlaWFIxY200Z0tIUm9hWE11YkdWdVozUm9JQzBnTVNrZ0tpQXlOaUFySUdocE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSFJ2UW1sMFFYSnlZWGtnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2JtVjNJRUZ5Y21GNUtHNTFiUzVpYVhSTVpXNW5kR2dvS1NrN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCaWFYUWdQU0F3T3lCaWFYUWdQQ0IzTG14bGJtZDBhRHNnWW1sMEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdlptWWdQU0FvWW1sMElDOGdNallwSUh3Z01EdGNiaUFnSUNBZ0lIWmhjaUIzWW1sMElEMGdZbWwwSUNVZ01qWTdYRzVjYmlBZ0lDQWdJSGRiWW1sMFhTQTlJQ2h1ZFcwdWQyOXlaSE5iYjJabVhTQStQajRnZDJKcGRDa2dKaUF3ZURBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIzTzF4dUlDQjlYRzVjYmlBZ0x5OGdUblZ0WW1WeUlHOW1JSFJ5WVdsc2FXNW5JSHBsY204Z1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlbVZ5YjBKcGRITWdQU0JtZFc1amRHbHZiaUI2WlhKdlFtbDBjeUFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUF3TzF4dVhHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHSWdQU0IwYUdsekxsOTZaWEp2UW1sMGN5aDBhR2x6TG5kdmNtUnpXMmxkS1R0Y2JpQWdJQ0FnSUhJZ0t6MGdZanRjYmlBZ0lDQWdJR2xtSUNoaUlDRTlQU0F5TmlrZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aWVYUmxUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbmwwWlV4bGJtZDBhQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRTFoZEdndVkyVnBiQ2gwYUdsekxtSnBkRXhsYm1kMGFDZ3BJQzhnT0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlZIZHZjeUE5SUdaMWJtTjBhVzl1SUhSdlZIZHZjeUFvZDJsa2RHZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZV0p6S0NrdWFXNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bWNtOXRWSGR2Y3lBOUlHWjFibU4wYVc5dUlHWnliMjFVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG5SbGMzUnVLSGRwWkhSb0lDMGdNU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBMbWx1Wldjb0tUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOT1pXY2dQU0JtZFc1amRHbHZiaUJwYzA1bFp5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc1bFoyRjBhWFpsSUdOc2IyNWxJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVibVZuSUQwZ1puVnVZM1JwYjI0Z2JtVm5JQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdVpXY29LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzVsWnlBOUlHWjFibU4wYVc5dUlHbHVaV2NnS0NrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0JlUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUU5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRXOXlJRDBnWm5WdVkzUnBiMjRnYVhWdmNpQW9iblZ0S1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUR3Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNzclhTQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkSUh3Z2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFlXNWtJRDBnWm5WdVkzUnBiMjRnYVdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ2gwYUdsekxtNWxaMkYwYVhabElId2diblZ0TG01bFoyRjBhWFpsS1NBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWaGJtUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCYm1RZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1GdVpDQTlJR1oxYm1OMGFXOXVJR0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXNWtLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1saGJtUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WaGJtUWdQU0JtZFc1amRHbHZiaUIxWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFZVzVrS0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDFZVzVrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGaHZjaUJnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFY0YjNJZ1BTQm1kVzVqZEdsdmJpQnBkWGh2Y2lBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWVM1c1pXNW5kR2dnUGlCaUxteGxibWQwYUZ4dUlDQWdJSFpoY2lCaE8xeHVJQ0FnSUhaaGNpQmlPMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR0VnUFNCMGFHbHpPMXh1SUNBZ0lDQWdZaUE5SUc1MWJUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVNBOUlHNTFiVHRjYmlBZ0lDQWdJR0lnUFNCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZaTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdFdWQyOXlaSE5iYVYwZ1hpQmlMbmR2Y21SelcybGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdseklDRTlQU0JoS1NCN1hHNGdJQ0FnSUNCbWIzSWdLRHNnYVNBOElHRXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdFdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQmhMbXhsYm1kMGFEdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBlRzl5SUQwZ1puVnVZM1JwYjI0Z2FYaHZjaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVjRiM0lvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCWWIzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuaHZjaUE5SUdaMWJtTjBhVzl1SUhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBlRzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDRiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVjRiM0lnUFNCbWRXNWpkR2x2YmlCMWVHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxZUc5eUtHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxZUc5eUtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTV2ZENCZ1lIUm9hWE5nWUNCM2FYUm9JR0JnZDJsa2RHaGdZQ0JpYVhSM2FXUjBhRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzV2ZEc0Z1BTQm1kVzVqZEdsdmJpQnBibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlIZHBaSFJvSUQwOVBTQW5iblZ0WW1WeUp5QW1KaUIzYVdSMGFDQStQU0F3S1R0Y2JseHVJQ0FnSUhaaGNpQmllWFJsYzA1bFpXUmxaQ0E5SUUxaGRHZ3VZMlZwYkNoM2FXUjBhQ0F2SURJMktTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKcGRITk1aV1owSUQwZ2QybGtkR2dnSlNBeU5qdGNibHh1SUNBZ0lDOHZJRVY0ZEdWdVpDQjBhR1VnWW5WbVptVnlJSGRwZEdnZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjBhR2x6TGw5bGVIQmhibVFvWW5sMFpYTk9aV1ZrWldRcE8xeHVYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lubDBaWE5PWldWa1pXUXRMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdZMjl0Y0d4bGRHVWdkMjl5WkhOY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKNWRHVnpUbVZsWkdWa095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IrZEdocGN5NTNiM0prYzF0cFhTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdkR2hsSUhKbGMybGtkV1ZjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2ZuUm9hWE11ZDI5eVpITmJhVjBnSmlBb01IZ3pabVptWm1abUlENCtJQ2d5TmlBdElHSnBkSE5NWldaMEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRVzVrSUhKbGJXOTJaU0JzWldGa2FXNW5JSHBsY205bGMxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dWIzUnVJRDBnWm5WdVkzUnBiMjRnYm05MGJpQW9kMmxrZEdncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHViM1J1S0hkcFpIUm9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRaWFFnWUdKcGRHQWdiMllnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpaWFJ1SUQwZ1puVnVZM1JwYjI0Z2MyVjBiaUFvWW1sMExDQjJZV3dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwSUQ0OUlEQXBPMXh1WEc0Z0lDQWdkbUZ5SUc5bVppQTlJQ2hpYVhRZ0x5QXlOaWtnZkNBd08xeHVJQ0FnSUhaaGNpQjNZbWwwSUQwZ1ltbDBJQ1VnTWpZN1hHNWNiaUFnSUNCMGFHbHpMbDlsZUhCaGJtUW9iMlptSUNzZ01TazdYRzVjYmlBZ0lDQnBaaUFvZG1Gc0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMjltWmwwZ1BTQjBhR2x6TG5kdmNtUnpXMjltWmwwZ2ZDQW9NU0E4UENCM1ltbDBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHZabVpkSUQwZ2RHaHBjeTUzYjNKa2MxdHZabVpkSUNZZ2ZpZ3hJRHc4SUhkaWFYUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0JnYm5WdFlDQjBieUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhaR1FnUFNCbWRXNWpkR2x2YmlCcFlXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjanRjYmx4dUlDQWdJQzh2SUc1bFoyRjBhWFpsSUNzZ2NHOXphWFJwZG1WY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUJ3YjNOcGRHbDJaU0FySUc1bFoyRjBhWFpsWEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhMbXhsYm1kMGFDQStJR0l1YkdWdVozUm9YRzRnSUNBZ2RtRnlJR0VzSUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dZMkZ5Y25rZ0lUMDlJREFnSmlZZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lISWdQU0FvWVM1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGo0Z01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJkR2hwY3k1c1pXNW5kR2hkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUM4dklFTnZjSGtnZEdobElISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJR0J1ZFcxZ0lIUnZJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0J1ZFcwdWMzVmlLSFJvYVhNcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZrWkNodWRXMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWxoWkdRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QjBhR2x6SUMwZ0tDMXVkVzBwSUQwZ2RHaHBjeUFySUc1MWJWeHVJQ0FnSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z0xYUm9hWE1nTFNCdWRXMGdQU0F0S0hSb2FYTWdLeUJ1ZFcwcFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJkQ0IwYUdseklIQnZhVzUwSUdKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVZjYmlBZ0lDQjJZWElnWTIxd0lEMGdkR2hwY3k1amJYQW9iblZ0S1R0Y2JseHVJQ0FnSUM4dklFOXdkR2x0YVhwaGRHbHZiaUF0SUhwbGNtOXBabmxjYmlBZ0lDQnBaaUFvWTIxd0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVNBK0lHSmNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb1kyMXdJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDMGdLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QmpZWEp5ZVNBaFBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NpQTlJQ2hoTG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2NpQStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFTnZjSGtnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQnBaaUFvWTJGeWNua2dQVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvSUNZbUlHRWdJVDA5SUhSb2FYTXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb095QnBJRHdnWVM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBLVHRjYmx4dUlDQWdJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNWaUlEMGdablZ1WTNScGIyNGdjM1ZpSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6ZFdJb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCemJXRnNiRTExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJRzUxYlM1dVpXZGhkR2wyWlNCZUlITmxiR1l1Ym1WbllYUnBkbVU3WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJQ2h6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZ3BJSHdnTUR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2JHVnVPMXh1SUNBZ0lHeGxiaUE5SUNoc1pXNGdMU0F4S1NCOElEQTdYRzVjYmlBZ0lDQXZMeUJRWldWc0lHOXVaU0JwZEdWeVlYUnBiMjRnS0dOdmJYQnBiR1Z5SUdOaGJpZDBJR1J2SUdsMExDQmlaV05oZFhObElHOW1JR052WkdVZ1kyOXRjR3hsZUdsMGVTbGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhOYk1GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdkbUZ5SUd4dklEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBb2NpQXZJREI0TkRBd01EQXdNQ2tnZkNBd08xeHVJQ0FnSUc5MWRDNTNiM0prYzFzd1hTQTlJR3h2TzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYXlBOUlERTdJR3NnUENCc1pXNDdJR3NyS3lrZ2UxeHVJQ0FnSUNBZ0x5OGdVM1Z0SUdGc2JDQjNiM0prY3lCM2FYUm9JSFJvWlNCellXMWxJR0JwSUNzZ2FpQTlJR3RnSUdGdVpDQmhZMk4xYlhWc1lYUmxJR0J1WTJGeWNubGdMRnh1SUNBZ0lDQWdMeThnYm05MFpTQjBhR0YwSUc1allYSnllU0JqYjNWc1pDQmlaU0ErUFNBd2VETm1abVptWm1aY2JpQWdJQ0FnSUhaaGNpQnVZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNalk3WEc0Z0lDQWdJQ0IyWVhJZ2NuZHZjbVFnUFNCallYSnllU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhaaGNpQnRZWGhLSUQwZ1RXRjBhQzV0YVc0b2F5d2diblZ0TG14bGJtZDBhQ0F0SURFcE8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJRTFoZEdndWJXRjRLREFzSUdzZ0xTQnpaV3htTG14bGJtZDBhQ0FySURFcE95QnFJRHc5SUcxaGVFbzdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlDaHJJQzBnYWlrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JoSUQwZ2MyVnNaaTUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNBZ0lHSWdQU0J1ZFcwdWQyOXlaSE5iYWwwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5SUQwZ1lTQXFJR0lnS3lCeWQyOXlaRHRjYmlBZ0lDQWdJQ0FnYm1OaGNuSjVJQ3M5SUNoeUlDOGdNSGcwTURBd01EQXdLU0I4SURBN1hHNGdJQ0FnSUNBZ0lISjNiM0prSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlISjNiM0prSUh3Z01EdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2JtTmhjbko1SUh3Z01EdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHTmhjbko1SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J2ZFhRdWQyOXlaSE5iYTEwZ1BTQmpZWEp5ZVNCOElEQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUc5MWRDNXNaVzVuZEdndExUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYjNWMExsOXpkSEpwY0NncE8xeHVJQ0I5WEc1Y2JpQWdMeThnVkU5RVR5aHBibVIxZEc1NUtUb2dhWFFnYldGNUlHSmxJSEpsWVhOdmJtRmliR1VnZEc4Z2IyMXBkQ0JwZENCbWIzSWdkWE5sY25NZ2QyaHZJR1J2YmlkMElHNWxaV1JjYmlBZ0x5OGdkRzhnZDI5eWF5QjNhWFJvSURJMU5pMWlhWFFnYm5WdFltVnljeXdnYjNSb1pYSjNhWE5sSUdsMElHZHBkbVZ6SURJd0pTQnBiWEJ5YjNabGJXVnVkQ0JtYjNJZ01qVTJMV0pwZEZ4dUlDQXZMeUJ0ZFd4MGFYQnNhV05oZEdsdmJpQW9iR2xyWlNCbGJHeHBjSFJwWXlCelpXTndNalUyYXpFcExseHVJQ0IyWVhJZ1kyOXRZakV3VFhWc1ZHOGdQU0JtZFc1amRHbHZiaUJqYjIxaU1UQk5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0IyWVhJZ1lTQTlJSE5sYkdZdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUdJZ1BTQnVkVzB1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJRzhnUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHTWdQU0F3TzF4dUlDQWdJSFpoY2lCc2J6dGNiaUFnSUNCMllYSWdiV2xrTzF4dUlDQWdJSFpoY2lCb2FUdGNiaUFnSUNCMllYSWdZVEFnUFNCaFd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3dJRDBnWVRBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NQ0E5SUdFd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lURWdQU0JoV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eElEMGdZVEVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01TQTlJR0V4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRJZ1BTQmhXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d5SUQwZ1lUSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTWlBOUlHRXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVE1nUFNCaFd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3pJRDBnWVRNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NeUE5SUdFeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUUWdQU0JoV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MElEMGdZVFFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05DQTlJR0UwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRVZ1BTQmhXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cxSUQwZ1lUVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTlNBOUlHRTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFlnUFNCaFd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzJJRDBnWVRZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OaUE5SUdFMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUY2dQU0JoV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3M0lEMGdZVGNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb055QTlJR0UzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRnZ1BTQmhXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c0SUQwZ1lUZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT0NBOUlHRTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGtnUFNCaFd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzVJRDBnWVRrZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9PU0E5SUdFNUlENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqQWdQU0JpV3pCZElId2dNRHRjYmlBZ0lDQjJZWElnWW13d0lEMGdZakFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01DQTlJR0l3SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpFZ1BTQmlXekZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd4SUQwZ1lqRWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTVNBOUlHSXhJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZaklnUFNCaVd6SmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3lJRDBnWWpJZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NaUE5SUdJeUlENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqTWdQU0JpV3pOZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eklEMGdZak1nSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb015QTlJR0l6SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpRZ1BTQmlXelJkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcwSUQwZ1lqUWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTkNBOUlHSTBJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZalVnUFNCaVd6VmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzFJRDBnWWpVZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OU0E5SUdJMUlENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqWWdQU0JpV3paZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MklEMGdZallnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05pQTlJR0kySUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpjZ1BTQmlXemRkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXczSUQwZ1lqY2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTnlBOUlHSTNJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamdnUFNCaVd6aGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzRJRDBnWWpnZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PQ0E5SUdJNElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqa2dQU0JpV3psZElId2dNRHRjYmlBZ0lDQjJZWElnWW13NUlEMGdZamtnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb09TQTlJR0k1SUQ0K1BpQXhNenRjYmx4dUlDQWdJRzkxZEM1dVpXZGhkR2wyWlNBOUlITmxiR1l1Ym1WbllYUnBkbVVnWGlCdWRXMHVibVZuWVhScGRtVTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJREU1TzF4dUlDQWdJQzhxSUdzZ1BTQXdJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTUNrN1hHNGdJQ0FnZG1GeUlIY3dJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNQ0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpBZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3eExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiREVzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTWlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeUlEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkeklnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F6SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJETXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM015QStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkek1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EwSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM05DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6UWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMwSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTlNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzFJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNOU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpVZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MkxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMySUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTmlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6WWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTNJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM055QTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6Y2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMzSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnT0NBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM0SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT0NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6Z2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTVJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzVJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNPU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHprZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE1DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd4S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFERXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhREVwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXdJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRBZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE1TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd5S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFESXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRElwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFeElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01URWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFeUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRE1wTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb015azdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9NeWs3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TWlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVElnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TXlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzBLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURRcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEUXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV6SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UTWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhOQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13MUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRFVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURVcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFMElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UUWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TkNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFMUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRFlwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb05pazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OaWs3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hOU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekUxSUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UVWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhOaUFxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13M0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRGNwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURjcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TmlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFlnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TnlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzRLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURncE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEZ3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFM0lEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UY2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TnlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFNElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRGtwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb09TazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9PU2s3WEc0Z0lDQWdkbUZ5SUhjeE9DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTRJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRnZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lHOWJNRjBnUFNCM01EdGNiaUFnSUNCdld6RmRJRDBnZHpFN1hHNGdJQ0FnYjFzeVhTQTlJSGN5TzF4dUlDQWdJRzliTTEwZ1BTQjNNenRjYmlBZ0lDQnZXelJkSUQwZ2R6UTdYRzRnSUNBZ2IxczFYU0E5SUhjMU8xeHVJQ0FnSUc5Yk5sMGdQU0IzTmp0Y2JpQWdJQ0J2V3pkZElEMGdkemM3WEc0Z0lDQWdiMXM0WFNBOUlIYzRPMXh1SUNBZ0lHOWJPVjBnUFNCM09UdGNiaUFnSUNCdld6RXdYU0E5SUhjeE1EdGNiaUFnSUNCdld6RXhYU0E5SUhjeE1UdGNiaUFnSUNCdld6RXlYU0E5SUhjeE1qdGNiaUFnSUNCdld6RXpYU0E5SUhjeE16dGNiaUFnSUNCdld6RTBYU0E5SUhjeE5EdGNiaUFnSUNCdld6RTFYU0E5SUhjeE5UdGNiaUFnSUNCdld6RTJYU0E5SUhjeE5qdGNiaUFnSUNCdld6RTNYU0E5SUhjeE56dGNiaUFnSUNCdld6RTRYU0E5SUhjeE9EdGNiaUFnSUNCcFppQW9ZeUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiMXN4T1YwZ1BTQmpPMXh1SUNBZ0lDQWdiM1YwTG14bGJtZDBhQ3NyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNCOU8xeHVYRzRnSUM4dklGQnZiSGxtYVd4c0lHTnZiV0pjYmlBZ2FXWWdLQ0ZOWVhSb0xtbHRkV3dwSUh0Y2JpQWdJQ0JqYjIxaU1UQk5kV3hVYnlBOUlITnRZV3hzVFhWc1ZHODdYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUJpYVdkTmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUc5MWRDNXNaVzVuZEdnZ1BTQnpaV3htTG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdnN1hHNWNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lIWmhjaUJvYm1OaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Ec2dheUE4SUc5MWRDNXNaVzVuZEdnZ0xTQXhPeUJyS3lzcElIdGNiaUFnSUNBZ0lDOHZJRk4xYlNCaGJHd2dkMjl5WkhNZ2QybDBhQ0IwYUdVZ2MyRnRaU0JnYVNBcklHb2dQU0JyWUNCaGJtUWdZV05qZFcxMWJHRjBaU0JnYm1OaGNuSjVZQ3hjYmlBZ0lDQWdJQzh2SUc1dmRHVWdkR2hoZENCdVkyRnljbmtnWTI5MWJHUWdZbVVnUGowZ01IZ3pabVptWm1abVhHNGdJQ0FnSUNCMllYSWdibU5oY25KNUlEMGdhRzVqWVhKeWVUdGNiaUFnSUNBZ0lHaHVZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdkbUZ5SUhKM2IzSmtJRDBnWTJGeWNua2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0IyWVhJZ2JXRjRTaUE5SUUxaGRHZ3ViV2x1S0dzc0lHNTFiUzVzWlc1bmRHZ2dMU0F4S1R0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JySUMwZ2MyVnNaaTVzWlc1bmRHZ2dLeUF4S1RzZ2FpQThQU0J0WVhoS095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2tnUFNCcklDMGdhanRjYmlBZ0lDQWdJQ0FnZG1GeUlHRWdQU0J6Wld4bUxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYWwwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR0VnS2lCaU8xeHVYRzRnSUNBZ0lDQWdJSFpoY2lCc2J5QTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBOUlDaHVZMkZ5Y25rZ0t5QW9LSElnTHlBd2VEUXdNREF3TURBcElId2dNQ2twSUh3Z01EdGNiaUFnSUNBZ0lDQWdiRzhnUFNBb2JHOGdLeUJ5ZDI5eVpDa2dmQ0F3TzF4dUlDQWdJQ0FnSUNCeWQyOXlaQ0E5SUd4dklDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dQU0FvYm1OaGNuSjVJQ3NnS0d4dklENCtQaUF5TmlrcElId2dNRHRjYmx4dUlDQWdJQ0FnSUNCb2JtTmhjbko1SUNzOUlHNWpZWEp5ZVNBK1BqNGdNalk3WEc0Z0lDQWdJQ0FnSUc1allYSnllU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpEdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2JtTmhjbko1TzF4dUlDQWdJQ0FnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0JqWVhKeWVUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUMwdE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2ZFhRdVgzTjBjbWx3S0NrN1hHNGdJSDFjYmx4dUlDQm1kVzVqZEdsdmJpQnFkVzFpYjAxMWJGUnZJQ2h6Wld4bUxDQnVkVzBzSUc5MWRDa2dlMXh1SUNBZ0lDOHZJRlJsYlhCdmNtRnllU0JrYVhOaFlteGxMQ0J6WldVZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwybHVaSFYwYm5rdlltNHVhbk12YVhOemRXVnpMekl4TVZ4dUlDQWdJQzh2SUhaaGNpQm1ablJ0SUQwZ2JtVjNJRVpHVkUwb0tUdGNiaUFnSUNBdkx5QnlaWFIxY200Z1ptWjBiUzV0ZFd4d0tITmxiR1lzSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZbWxuVFhWc1ZHOG9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1WDNOMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2dZSFJvYVhOZ0lHSjVJR0J1ZFcxZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJYVnNWRzhvYm5WdExDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTExYkhScGNHeDVJR1Z0Y0d4dmVXbHVaeUJHUmxSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJHWWdQU0JtZFc1amRHbHZiaUJ0ZFd4bUlDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2IzVjBJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUc5MWRDNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdncE8xeHVJQ0FnSUhKbGRIVnliaUJxZFcxaWIwMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpiaTF3YkdGalpTQk5kV3gwYVhCc2FXTmhkR2x2Ymx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVcxMWJDQTlJR1oxYm1OMGFXOXVJR2x0ZFd3Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YlhWc1ZHOG9iblZ0TENCMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzExYkc0Z1BTQm1kVzVqZEdsdmJpQnBiWFZzYmlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUdselRtVm5UblZ0SUQwZ2JuVnRJRHdnTUR0Y2JpQWdJQ0JwWmlBb2FYTk9aV2RPZFcwcElHNTFiU0E5SUMxdWRXMDdYRzVjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJwYzA1bFowNTFiU0EvSUhSb2FYTXVhVzVsWnlncElEb2dkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc2JpQTlJR1oxYm1OMGFXOXVJRzExYkc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVcxMWJHNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJnZEdocGMyQWdLaUJnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTnhjaUE5SUdaMWJtTjBhVzl1SUhOeGNpQW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YlhWc0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJR0IwYUdsellDQXFJR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTnhjaUE5SUdaMWJtTjBhVzl1SUdsemNYSWdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGRXd29kR2hwY3k1amJHOXVaU2dwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJOWVhSb0xuQnZkeWhnZEdocGMyQXNJR0J1ZFcxZ0tWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNHOTNJRDBnWm5WdVkzUnBiMjRnY0c5M0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2R5QTlJSFJ2UW1sMFFYSnlZWGtvYm5WdEtUdGNiaUFnSUNCcFppQW9keTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCdVpYY2dRazRvTVNrN1hHNWNiaUFnSUNBdkx5QlRhMmx3SUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE03WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IzTG14bGJtZDBhRHNnYVNzckxDQnlaWE1nUFNCeVpYTXVjM0Z5S0NrcElIdGNiaUFnSUNBZ0lHbG1JQ2gzVzJsZElDRTlQU0F3S1NCaWNtVmhhenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvS3l0cElEd2dkeTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJSEVnUFNCeVpYTXVjM0Z5S0NrN0lHa2dQQ0IzTG14bGJtZDBhRHNnYVNzckxDQnhJRDBnY1M1emNYSW9LU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9kMXRwWFNBOVBUMGdNQ2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnY21WekxtMTFiQ2h4S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk5vYVdaMExXeGxablFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoc2JpQTlJR1oxYm1OMGFXOXVJR2wxYzJoc2JpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdZbWwwY3lBOVBUMGdKMjUxYldKbGNpY2dKaVlnWW1sMGN5QStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZEhNZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFJ6SUMwZ2Npa2dMeUF5Tmp0Y2JpQWdJQ0IyWVhJZ1kyRnljbmxOWVhOcklEMGdLREI0TTJabVptWm1aaUErUGo0Z0tESTJJQzBnY2lrcElEdzhJQ2d5TmlBdElISXBPMXh1SUNBZ0lIWmhjaUJwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnVaWGREWVhKeWVTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQmpZWEp5ZVUxaGMyczdYRzRnSUNBZ0lDQWdJSFpoY2lCaklEMGdLQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2tnTFNCdVpYZERZWEp5ZVNrZ1BEd2djanRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR01nZkNCallYSnllVHRjYmlBZ0lDQWdJQ0FnWTJGeWNua2dQU0J1WlhkRFlYSnllU0ErUGo0Z0tESTJJQzBnY2lrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZMkZ5Y25rN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hNZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMGdQU0IwYUdsekxuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2N6c2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0FyUFNCek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMyaHNiaUE5SUdaMWJtTjBhVzl1SUdsemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kQ0JwYmkxd2JHRmpaVnh1SUNBdkx5Qk9UMVJGT2lCZ2FHbHVkR0FnYVhNZ1lTQnNiM2RsYzNRZ1ltbDBJR0psWm05eVpTQjBjbUZwYkdsdVp5QjZaWEp2WlhOY2JpQWdMeThnVGs5VVJUb2dhV1lnWUdWNGRHVnVaR1ZrWUNCcGN5QndjbVZ6Wlc1MElDMGdhWFFnZDJsc2JDQmlaU0JtYVd4c1pXUWdkMmwwYUNCa1pYTjBjbTk1WldRZ1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZ6YUhKdUlEMGdablZ1WTNScGIyNGdhWFZ6YUhKdUlDaGlhWFJ6TENCb2FXNTBMQ0JsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnYUR0Y2JpQWdJQ0JwWmlBb2FHbHVkQ2tnZTF4dUlDQWdJQ0FnYUNBOUlDaG9hVzUwSUMwZ0tHaHBiblFnSlNBeU5pa3BJQzhnTWpZN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2dnUFNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdUV0YwYUM1dGFXNG9LR0pwZEhNZ0xTQnlLU0F2SURJMkxDQjBhR2x6TG14bGJtZDBhQ2s3WEc0Z0lDQWdkbUZ5SUcxaGMyc2dQU0F3ZURObVptWm1abVlnWGlBb0tEQjRNMlptWm1abVppQStQajRnY2lrZ1BEd2djaWs3WEc0Z0lDQWdkbUZ5SUcxaGMydGxaRmR2Y21SeklEMGdaWGgwWlc1a1pXUTdYRzVjYmlBZ0lDQm9JQzA5SUhNN1hHNGdJQ0FnYUNBOUlFMWhkR2d1YldGNEtEQXNJR2dwTzF4dVhHNGdJQ0FnTHk4Z1JYaDBaVzVrWldRZ2JXOWtaU3dnWTI5d2VTQnRZWE5yWldRZ2NHRnlkRnh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11YkdWdVozUm9JRDBnY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTh0YjNBc0lIZGxJSE5vYjNWc1pDQnViM1FnYlc5MlpTQmhibmwwYUdsdVp5QmhkQ0JoYkd4Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ0xUMGdjenRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmtnS3lCelhUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTUNBbUppQW9ZMkZ5Y25rZ0lUMDlJREFnZkh3Z2FTQStQU0JvS1RzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJQ2hqWVhKeWVTQThQQ0FvTWpZZ0xTQnlLU2tnZkNBb2QyOXlaQ0ErUGo0Z2NpazdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlIZHZjbVFnSmlCdFlYTnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRkIxYzJnZ1kyRnljbWxsWkNCaWFYUnpJR0Z6SUdFZ2JXRnphMXh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lBbUppQmpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWQyOXlaSE5iYldGemEyVmtWMjl5WkhNdWJHVnVaM1JvS3l0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM04wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc5dWJIa2diRzkzWlhKeklHSnBkSE1nYjJZZ2JuVnRZbVZ5WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0WVhOcmJpQTlJR1oxYm1OMGFXOXVJRzFoYzJ0dUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJXRnphMjRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0IwYnlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxoWkdSdUlEMGdablZ1WTNScGIyNGdhV0ZrWkc0Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOElEQjROREF3TURBd01DazdYRzRnSUNBZ2FXWWdLRzUxYlNBOElEQXBJSEpsZEhWeWJpQjBhR2x6TG1semRXSnVLQzF1ZFcwcE8xeHVYRzRnSUNBZ0x5OGdVRzl6YzJsaWJHVWdjMmxuYmlCamFHRnVaMlZjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXhJQ1ltSUNoMGFHbHpMbmR2Y21Seld6QmRJSHdnTUNrZ1BEMGdiblZ0S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnUFNCdWRXMGdMU0FvZEdocGN5NTNiM0prYzFzd1hTQjhJREFwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cGMzVmliaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnZDJsMGFHOTFkQ0JqYUdWamEzTmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZhV0ZrWkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmxoWkdSdUlEMGdablZ1WTNScGIyNGdYMmxoWkdSdUlDaHVkVzBwSUh0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUQ0OUlEQjROREF3TURBd01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQzA5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUdsbUlDaHBJRDA5UFNCMGFHbHpMbXhsYm1kMGFDQXRJREVwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ1BTQXhPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ01WMHJLenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JOWVhSb0xtMWhlQ2gwYUdsekxteGxibWQwYUN3Z2FTQXJJREVwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNWaWRISmhZM1FnY0d4aGFXNGdiblZ0WW1WeUlHQnVkVzFnSUdaeWIyMGdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMzVmliaUE5SUdaMWJtTjBhVzl1SUdsemRXSnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjUxYldKbGNpY3BPMXh1SUNBZ0lHRnpjMlZ5ZENodWRXMGdQQ0F3ZURRd01EQXdNREFwTzF4dUlDQWdJR2xtSUNodWRXMGdQQ0F3S1NCeVpYUjFjbTRnZEdocGN5NXBZV1JrYmlndGJuVnRLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pHNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXRQU0J1ZFcwN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQThJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F0ZEdocGN5NTNiM0prYzFzd1hUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUR3Z01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnS3owZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQXRQU0F4TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdSdUlEMGdablZ1WTNScGIyNGdZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwWVdSa2JpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6ZFdKdUlEMGdablZ1WTNScGIyNGdjM1ZpYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYzNWaWJpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwWVdKeklEMGdablZ1WTNScGIyNGdhV0ZpY3lBb0tTQjdYRzRnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXSnpJRDBnWm5WdVkzUnBiMjRnWVdKeklDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxoWW5Nb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHphR3h1YzNWaWJYVnNJRDBnWm5WdVkzUnBiMjRnWDJsemFHeHVjM1ZpYlhWc0lDaHVkVzBzSUcxMWJDd2djMmhwWm5RcElIdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2JuVnRMbXhsYm1kMGFDQXJJSE5vYVdaME8xeHVJQ0FnSUhaaGNpQnBPMXh1WEc0Z0lDQWdkR2hwY3k1ZlpYaHdZVzVrS0d4bGJpazdYRzVjYmlBZ0lDQjJZWElnZHp0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzJocFpuUmRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhaaGNpQnlhV2RvZENBOUlDaHVkVzB1ZDI5eVpITmJhVjBnZkNBd0tTQXFJRzExYkR0Y2JpQWdJQ0FnSUhjZ0xUMGdjbWxuYUhRZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrSURJMktTQXRJQ2dvY21sbmFIUWdMeUF3ZURRd01EQXdNREFwSUh3Z01DazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnUFNCM0lDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lIMWNiaUFnSUNCbWIzSWdLRHNnYVNBOElIUm9hWE11YkdWdVozUm9JQzBnYzJocFpuUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJrZ0t5QnphR2xtZEYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzJocFpuUmRJRDBnZHlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZMkZ5Y25rZ1BUMDlJREFwSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdVM1ZpZEhKaFkzUnBiMjRnYjNabGNtWnNiM2RjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlDMHhLVHRjYmlBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhjZ1BTQXRLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5M2IzSmtSR2wySUQwZ1puVnVZM1JwYjI0Z1gzZHZjbVJFYVhZZ0tHNTFiU3dnYlc5a1pTa2dlMXh1SUNBZ0lIWmhjaUJ6YUdsbWRDQTlJSFJvYVhNdWJHVnVaM1JvSUMwZ2JuVnRMbXhsYm1kMGFEdGNibHh1SUNBZ0lIWmhjaUJoSUQwZ2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRPMXh1WEc0Z0lDQWdMeThnVG05eWJXRnNhWHBsWEc0Z0lDQWdkbUZ5SUdKb2FTQTlJR0l1ZDI5eVpITmJZaTVzWlc1bmRHZ2dMU0F4WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pvYVVKcGRITWdQU0IwYUdsekxsOWpiM1Z1ZEVKcGRITW9ZbWhwS1R0Y2JpQWdJQ0J6YUdsbWRDQTlJREkySUMwZ1ltaHBRbWwwY3p0Y2JpQWdJQ0JwWmlBb2MyaHBablFnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJR0lnUFNCaUxuVnphR3h1S0hOb2FXWjBLVHRjYmlBZ0lDQWdJR0V1YVhWemFHeHVLSE5vYVdaMEtUdGNiaUFnSUNBZ0lHSm9hU0E5SUdJdWQyOXlaSE5iWWk1c1pXNW5kR2dnTFNBeFhTQjhJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCeGRXOTBhV1Z1ZEZ4dUlDQWdJSFpoY2lCdElEMGdZUzVzWlc1bmRHZ2dMU0JpTG14bGJtZDBhRHRjYmlBZ0lDQjJZWElnY1R0Y2JseHVJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5iVzlrSnlrZ2UxeHVJQ0FnSUNBZ2NTQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0FnSUhFdWJHVnVaM1JvSUQwZ2JTQXJJREU3WEc0Z0lDQWdJQ0J4TG5kdmNtUnpJRDBnYm1WM0lFRnljbUY1S0hFdWJHVnVaM1JvS1R0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2NTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCeExuZHZjbVJ6VzJsZElEMGdNRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWkdsbVppQTlJR0V1WTJ4dmJtVW9LUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2dNU3dnYlNrN1hHNGdJQ0FnYVdZZ0tHUnBabVl1Ym1WbllYUnBkbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJR0VnUFNCa2FXWm1PMXh1SUNBZ0lDQWdhV1lnS0hFcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHRYU0E5SURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnYWlBOUlHMGdMU0F4T3lCcUlENDlJREE3SUdvdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhGcUlEMGdLR0V1ZDI5eVpITmJZaTVzWlc1bmRHZ2dLeUJxWFNCOElEQXBJQ29nTUhnME1EQXdNREF3SUN0Y2JpQWdJQ0FnSUNBZ0tHRXVkMjl5WkhOYllpNXNaVzVuZEdnZ0t5QnFJQzBnTVYwZ2ZDQXdLVHRjYmx4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nS0hGcUlDOGdZbWhwS1NCcGN5QW9NSGd6Wm1abVptWm1JQ29nTUhnME1EQXdNREF3SUNzZ01IZ3pabVptWm1abUtTQXZJREI0TWpBd01EQXdNQ0J0WVhoY2JpQWdJQ0FnSUM4dklDZ3dlRGRtWm1abVptWXBYRzRnSUNBZ0lDQnhhaUE5SUUxaGRHZ3ViV2x1S0NoeGFpQXZJR0pvYVNrZ2ZDQXdMQ0F3ZURObVptWm1abVlwTzF4dVhHNGdJQ0FnSUNCaExsOXBjMmhzYm5OMVltMTFiQ2hpTENCeGFpd2dhaWs3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ZUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J4YWkwdE8xeHVJQ0FnSUNBZ0lDQmhMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1lTNWZhWE5vYkc1emRXSnRkV3dvWWl3Z01Td2dhaWs3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hZUzVwYzFwbGNtOG9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHRXVibVZuWVhScGRtVWdYajBnTVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSEVwSUh0Y2JpQWdJQ0FnSUNBZ2NTNTNiM0prYzF0cVhTQTlJSEZxTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvY1NrZ2UxeHVJQ0FnSUNBZ2NTNWZjM1J5YVhBb0tUdGNiaUFnSUNCOVhHNGdJQ0FnWVM1ZmMzUnlhWEFvS1R0Y2JseHVJQ0FnSUM4dklFUmxibTl5YldGc2FYcGxYRzRnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2RrYVhZbklDWW1JSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaExtbDFjMmh5YmloemFHbG1kQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHUnBkam9nY1NCOGZDQnVkV3hzTEZ4dUlDQWdJQ0FnYlc5a09pQmhYRzRnSUNBZ2ZUdGNiaUFnZlR0Y2JseHVJQ0F2THlCT1QxUkZPaUF4S1NCZ2JXOWtaV0FnWTJGdUlHSmxJSE5sZENCMGJ5QmdiVzlrWUNCMGJ5QnlaWEYxWlhOMElHMXZaQ0J2Ym14NUxGeHVJQ0F2THlBZ0lDQWdJQ0IwYnlCZ1pHbDJZQ0IwYnlCeVpYRjFaWE4wSUdScGRpQnZibXg1TENCdmNpQmlaU0JoWW5ObGJuUWdkRzljYmlBZ0x5OGdJQ0FnSUNBZ2NtVnhkV1Z6ZENCaWIzUm9JR1JwZGlBbUlHMXZaRnh1SUNBdkx5QWdJQ0FnSUNBeUtTQmdjRzl6YVhScGRtVmdJR2x6SUhSeWRXVWdhV1lnZFc1emFXZHVaV1FnYlc5a0lHbHpJSEpsY1hWbGMzUmxaRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaR2wyYlc5a0lEMGdablZ1WTNScGIyNGdaR2wyYlc5a0lDaHVkVzBzSUcxdlpHVXNJSEJ2YzJsMGFYWmxLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRnVkVzB1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGlnd0tWeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdaR2wyTENCdGIyUXNJSEpsY3p0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdWJtVm5LQ2t1WkdsMmJXOWtLRzUxYlN3Z2JXOWtaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5iVzlrSnlrZ2UxeHVJQ0FnSUNBZ0lDQmthWFlnUFNCeVpYTXVaR2wyTG01bFp5Z3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JXOWtaU0FoUFQwZ0oyUnBkaWNwSUh0Y2JpQWdJQ0FnSUNBZ2JXOWtJRDBnY21WekxtMXZaQzV1Wldjb0tUdGNiaUFnSUNBZ0lDQWdhV1lnS0hCdmMybDBhWFpsSUNZbUlHMXZaQzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUcxdlpDNXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2diVzlrWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0lDWW1JRzUxYlM1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1a2FYWnRiMlFvYm5WdExtNWxaeWdwTENCdGIyUmxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lHUnBkaUE5SUhKbGN5NWthWFl1Ym1WbktDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ1pHbDJMRnh1SUNBZ0lDQWdJQ0J0YjJRNklISmxjeTV0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tDaDBhR2x6TG01bFoyRjBhWFpsSUNZZ2JuVnRMbTVsWjJGMGFYWmxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV1Wldjb0tTNWthWFp0YjJRb2JuVnRMbTVsWnlncExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJRzF2WkNBOUlISmxjeTV0YjJRdWJtVm5LQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdiM05wZEdsMlpTQW1KaUJ0YjJRdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnRiMlF1YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nY21WekxtUnBkaXhjYmlBZ0lDQWdJQ0FnYlc5a09pQnRiMlJjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUW05MGFDQnVkVzFpWlhKeklHRnlaU0J3YjNOcGRHbDJaU0JoZENCMGFHbHpJSEJ2YVc1MFhHNWNiaUFnSUNBdkx5QlRkSEpwY0NCaWIzUm9JRzUxYldKbGNuTWdkRzhnWVhCd2NtOTRhVzFoZEdVZ2MyaHBablFnZG1Gc2RXVmNiaUFnSUNCcFppQW9iblZ0TG14bGJtZDBhQ0ErSUhSb2FYTXViR1Z1WjNSb0lIeDhJSFJvYVhNdVkyMXdLRzUxYlNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JrYVhZNklHNWxkeUJDVGlnd0tTeGNiaUFnSUNBZ0lDQWdiVzlrT2lCMGFHbHpYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRlpsY25rZ2MyaHZjblFnY21Wa2RXTjBhVzl1WEc0Z0lDQWdhV1lnS0c1MWJTNXNaVzVuZEdnZ1BUMDlJREVwSUh0Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUQwOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJR1JwZGpvZ2RHaHBjeTVrYVhadUtHNTFiUzUzYjNKa2Mxc3dYU2tzWEc0Z0lDQWdJQ0FnSUNBZ2JXOWtPaUJ1ZFd4c1hHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJRDA5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBkam9nYm5Wc2JDeGNiaUFnSUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2WkhKdUtHNTFiUzUzYjNKa2Mxc3dYU2twWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JtVjNJRUpPS0hSb2FYTXViVzlrY200b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnS0hJeUlEMDlQU0F4SUNZbUlHTnRjQ0E5UFQwZ01Da3BJSEpsZEhWeWJpQmtiUzVrYVhZN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCMWNGeHVJQ0FnSUhKbGRIVnliaUJrYlM1a2FYWXVibVZuWVhScGRtVWdJVDA5SURBZ1B5QmtiUzVrYVhZdWFYTjFZbTRvTVNrZ09pQmtiUzVrYVhZdWFXRmtaRzRvTVNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xdlpISnVJRDBnWm5WdVkzUnBiMjRnYlc5a2NtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnBjMDVsWjA1MWJTQTlJRzUxYlNBOElEQTdYRzRnSUNBZ2FXWWdLR2x6VG1WblRuVnRLU0J1ZFcwZ1BTQXRiblZ0TzF4dVhHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOFBTQXdlRE5tWm1abVptWXBPMXh1SUNBZ0lIWmhjaUJ3SUQwZ0tERWdQRHdnTWpZcElDVWdiblZ0TzF4dVhHNGdJQ0FnZG1GeUlHRmpZeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJR0ZqWXlBOUlDaHdJQ29nWVdOaklDc2dLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU2tnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdselRtVm5UblZ0SUQ4Z0xXRmpZeUE2SUdGall6dGNiaUFnZlR0Y2JseHVJQ0F2THlCWFFWSk9TVTVIT2lCRVJWQlNSVU5CVkVWRVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGIyUnVJRDBnWm5WdVkzUnBiMjRnYlc5a2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJXOWtjbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCSmJpMXdiR0ZqWlNCa2FYWnBjMmx2YmlCaWVTQnVkVzFpWlhKY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sa2FYWnVJRDBnWm5WdVkzUnBiMjRnYVdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnBjMDVsWjA1MWJTQTlJRzUxYlNBOElEQTdYRzRnSUNBZ2FXWWdLR2x6VG1WblRuVnRLU0J1ZFcwZ1BTQXRiblZ0TzF4dVhHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOFBTQXdlRE5tWm1abVptWXBPMXh1WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQW9kR2hwY3k1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNua2dLaUF3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdLSGNnTHlCdWRXMHBJSHdnTUR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBbElHNTFiVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5emRISnBjQ2dwTzF4dUlDQWdJSEpsZEhWeWJpQnBjMDVsWjA1MWJTQS9JSFJvYVhNdWFXNWxaeWdwSURvZ2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaR2wyYmlBOUlHWjFibU4wYVc5dUlHUnBkbTRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV1JwZG00b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaV2RqWkNBOUlHWjFibU4wYVc5dUlHVm5ZMlFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCNElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ2VTQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoNExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCNElEMGdlQzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCNElEMGdlQzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRUVnS2lCNElDc2dRaUFxSUhrZ1BTQjRYRzRnSUNBZ2RtRnlJRUVnUFNCdVpYY2dRazRvTVNrN1hHNGdJQ0FnZG1GeUlFSWdQU0J1WlhjZ1FrNG9NQ2s3WEc1Y2JpQWdJQ0F2THlCRElDb2dlQ0FySUVRZ0tpQjVJRDBnZVZ4dUlDQWdJSFpoY2lCRElEMGdibVYzSUVKT0tEQXBPMXh1SUNBZ0lIWmhjaUJFSUQwZ2JtVjNJRUpPS0RFcE8xeHVYRzRnSUNBZ2RtRnlJR2NnUFNBd08xeHVYRzRnSUNBZ2QyaHBiR1VnS0hndWFYTkZkbVZ1S0NrZ0ppWWdlUzVwYzBWMlpXNG9LU2tnZTF4dUlDQWdJQ0FnZUM1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnSUNCNUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDc3JaenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnZVhBZ1BTQjVMbU5zYjI1bEtDazdYRzRnSUNBZ2RtRnlJSGh3SUQwZ2VDNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0NGNExtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2FXMGdQU0F4T3lBb2VDNTNiM0prYzFzd1hTQW1JR2x0S1NBOVBUMGdNQ0FtSmlCcElEd2dNalk3SUNzcmFTd2dhVzBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0drZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhndWFYVnphSEp1S0drcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FTMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoQkxtbHpUMlJrS0NrZ2ZId2dRaTVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkJMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1FpNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkJMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCQ0xtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Dd2dhbTBnUFNBeE95QW9lUzUzYjNKa2Mxc3dYU0FtSUdwdEtTQTlQVDBnTUNBbUppQnFJRHdnTWpZN0lDc3JhaXdnYW0wZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHb2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lIa3VhWFZ6YUhKdUtHb3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9haTB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaERMbWx6VDJSa0tDa2dmSHdnUkM1cGMwOWtaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JETG1saFpHUW9lWEFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdSQzVwYzNWaUtIaHdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JETG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ0lDQkVMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9lQzVqYlhBb2VTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjRMbWx6ZFdJb2VTazdYRzRnSUNBZ0lDQWdJRUV1YVhOMVlpaERLVHRjYmlBZ0lDQWdJQ0FnUWk1cGMzVmlLRVFwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnZVM1cGMzVmlLSGdwTzF4dUlDQWdJQ0FnSUNCRExtbHpkV0lvUVNrN1hHNGdJQ0FnSUNBZ0lFUXVhWE4xWWloQ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnWVRvZ1F5eGNiaUFnSUNBZ0lHSTZJRVFzWEc0Z0lDQWdJQ0JuWTJRNklIa3VhWFZ6YUd4dUtHY3BYRzRnSUNBZ2ZUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVWFHbHpJR2x6SUhKbFpIVmpaV1FnYVc1allYSnVZWFJwYjI0Z2IyWWdkR2hsSUdKcGJtRnllU0JGUlVGY2JpQWdMeThnWVdKdmRtVXNJR1JsYzJsbmJtRjBaV1FnZEc4Z2FXNTJaWEowSUcxbGJXSmxjbk1nYjJZZ2RHaGxYRzRnSUM4dklGOXdjbWx0WlY4Z1ptbGxiR1J6SUVZb2NDa2dZWFFnWVNCdFlYaHBiV0ZzSUhOd1pXVmtYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzUyYlhBZ1BTQm1kVzVqZEdsdmJpQmZhVzUyYlhBZ0tIQXBJSHRjYmlBZ0lDQmhjM05sY25Rb2NDNXVaV2RoZEdsMlpTQTlQVDBnTUNrN1hHNGdJQ0FnWVhOelpYSjBLQ0Z3TG1seldtVnlieWdwS1R0Y2JseHVJQ0FnSUhaaGNpQmhJRDBnZEdocGN6dGNiaUFnSUNCMllYSWdZaUE5SUhBdVkyeHZibVVvS1R0Y2JseHVJQ0FnSUdsbUlDaGhMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQmhJRDBnWVM1MWJXOWtLSEFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnWVM1amJHOXVaU2dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCNE1TQTlJRzVsZHlCQ1RpZ3hLVHRjYmlBZ0lDQjJZWElnZURJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQjJZWElnWkdWc2RHRWdQU0JpTG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9ZUzVqYlhCdUtERXBJRDRnTUNBbUppQmlMbU50Y0c0b01Ta2dQaUF3S1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvWVM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR0V1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2g0TVM1cGMwOWtaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I0TVM1cFlXUmtLR1JsYkhSaEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQjRNUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREFzSUdwdElEMGdNVHNnS0dJdWQyOXlaSE5iTUYwZ0ppQnFiU2tnUFQwOUlEQWdKaVlnYWlBOElESTJPeUFySzJvc0lHcHRJRHc4UFNBeEtUdGNiaUFnSUNBZ0lHbG1JQ2hxSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWhxS1R0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0dvdExTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZURJdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZURJdWFXRmtaQ2hrWld4MFlTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlREl1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2hoTG1OdGNDaGlLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0V1YVhOMVlpaGlLVHRjYmlBZ0lDQWdJQ0FnZURFdWFYTjFZaWg0TWlrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCaUxtbHpkV0lvWVNrN1hHNGdJQ0FnSUNBZ0lIZ3lMbWx6ZFdJb2VERXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHRXVZMjF3YmlneEtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIZ3lPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSEFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWRqWkNBOUlHWjFibU4wYVc5dUlHZGpaQ0FvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCdWRXMHVZV0p6S0NrN1hHNGdJQ0FnYVdZZ0tHNTFiUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJSFJvYVhNdVlXSnpLQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlM1amJHOXVaU2dwTzF4dUlDQWdJR0V1Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUdJdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1WdGIzWmxJR052YlcxdmJpQm1ZV04wYjNJZ2IyWWdkSGR2WEc0Z0lDQWdabTl5SUNoMllYSWdjMmhwWm5RZ1BTQXdPeUJoTG1selJYWmxiaWdwSUNZbUlHSXVhWE5GZG1WdUtDazdJSE5vYVdaMEt5c3BJSHRjYmlBZ0lDQWdJR0V1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnWWk1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWFYTkZkbVZ1S0NrcElIdGNiaUFnSUNBZ0lDQWdZUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ZaTVwYzBWMlpXNG9LU2tnZTF4dUlDQWdJQ0FnSUNCaUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhJZ1BTQmhMbU50Y0NoaUtUdGNiaUFnSUNBZ0lHbG1JQ2h5SUR3Z01Da2dlMXh1SUNBZ0lDQWdJQ0F2THlCVGQyRndJR0JoWUNCaGJtUWdZR0pnSUhSdklHMWhhMlVnWUdGZ0lHRnNkMkY1Y3lCaWFXZG5aWElnZEdoaGJpQmdZbUJjYmlBZ0lDQWdJQ0FnZG1GeUlIUWdQU0JoTzF4dUlDQWdJQ0FnSUNCaElEMGdZanRjYmlBZ0lDQWdJQ0FnWWlBOUlIUTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSElnUFQwOUlEQWdmSHdnWWk1amJYQnVLREVwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoTG1semRXSW9ZaWs3WEc0Z0lDQWdmU0IzYUdsc1pTQW9kSEoxWlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnWWk1cGRYTm9iRzRvYzJocFpuUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVkbVZ5ZENCdWRXMWlaWElnYVc0Z2RHaGxJR1pwWld4a0lFWW9iblZ0S1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc1MmJTQTlJR1oxYm1OMGFXOXVJR2x1ZG0wZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1WblkyUW9iblZ0S1M1aExuVnRiMlFvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTkZkbVZ1SUQwZ1puVnVZM1JwYjI0Z2FYTkZkbVZ1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVkMjl5WkhOYk1GMGdKaUF4S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWE5QWkdRZ1BTQm1kVzVqZEdsdmJpQnBjMDlrWkNBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbmR2Y21Seld6QmRJQ1lnTVNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRVzVrSUdacGNuTjBJSGR2Y21RZ1lXNWtJRzUxYlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a2JHNGdQU0JtZFc1amRHbHZiaUJoYm1Sc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQnVkVzA3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdTVzVqY21WdFpXNTBJR0YwSUhSb1pTQmlhWFFnY0c5emFYUnBiMjRnYVc0dGJHbHVaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZbWx1WTI0Z1BTQm1kVzVqZEdsdmJpQmlhVzVqYmlBb1ltbDBLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUWdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZENBbElESTJPMXh1SUNBZ0lIWmhjaUJ6SUQwZ0tHSnBkQ0F0SUhJcElDOGdNalk3WEc0Z0lDQWdkbUZ5SUhFZ1BTQXhJRHc4SUhJN1hHNWNiaUFnSUNBdkx5QkdZWE4wSUdOaGMyVTZJR0pwZENCcGN5QnRkV05vSUdocFoyaGxjaUIwYUdGdUlHRnNiQ0JsZUdsemRHbHVaeUIzYjNKa2MxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4UFNCektTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5bGVIQmhibVFvY3lBcklERXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXR6WFNCOFBTQnhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUVdSa0lHSnBkQ0JoYm1RZ2NISnZjR0ZuWVhSbExDQnBaaUJ1WldWa1pXUmNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQnhPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0J6T3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhjZ0t6MGdZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNCtJREkyTzF4dUlDQWdJQ0FnZHlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2R6dGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHTmhjbko1SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZMkZ5Y25rN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDc3JPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTmFaWEp2SUQwZ1puVnVZM1JwYjI0Z2FYTmFaWEp2SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXNaVzVuZEdnZ1BUMDlJREVnSmlZZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVkyMXdiaUE5SUdaMWJtTjBhVzl1SUdOdGNHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnVaV2RoZEdsMlpTQTlJRzUxYlNBOElEQTdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNBbUppQWhibVZuWVhScGRtVXBJSEpsZEhWeWJpQXRNVHRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQnVaV2RoZEdsMlpTa2djbVYwZFhKdUlERTdYRzVjYmlBZ0lDQjBhR2x6TGw5emRISnBjQ2dwTzF4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcFppQW9ibVZuWVhScGRtVXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdElEMGdMVzUxYlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJTQThQU0F3ZURObVptWm1abVlzSUNkT2RXMWlaWElnYVhNZ2RHOXZJR0pwWnljcE8xeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUNBZ2NtVnpJRDBnZHlBOVBUMGdiblZ0SUQ4Z01DQTZJSGNnUENCdWRXMGdQeUF0TVNBNklERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdMWEpsY3lCOElEQTdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCRGIyMXdZWEpsSUhSM2J5QnVkVzFpWlhKeklHRnVaQ0J5WlhSMWNtNDZYRzRnSUM4dklERWdMU0JwWmlCZ2RHaHBjMkFnUGlCZ2JuVnRZRnh1SUNBdkx5QXdJQzBnYVdZZ1lIUm9hWE5nSUQwOUlHQnVkVzFnWEc0Z0lDOHZJQzB4SUMwZ2FXWWdZSFJvYVhOZ0lEd2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdGNDQTlJR1oxYm1OMGFXOXVJR050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuVmpiWEFvYm5WdEtUdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnY21WMGRYSnVJQzF5WlhNZ2ZDQXdPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZXNXphV2R1WldRZ1kyOXRjR0Z5YVhOdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRXTnRjQ0E5SUdaMWJtTjBhVzl1SUhWamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRjBJSFJvYVhNZ2NHOXBiblFnWW05MGFDQnVkVzFpWlhKeklHaGhkbVVnZEdobElITmhiV1VnYzJsbmJseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4SUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBdE1UdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdZU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1WEc0Z0lDQWdJQ0JwWmlBb1lTQTlQVDBnWWlrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNCcFppQW9ZU0E4SUdJcElIdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ0xURTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUGlCaUtTQjdYRzRnSUNBZ0lDQWdJSEpsY3lBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1J1SUQwZ1puVnVZM1JwYjI0Z1ozUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEJ1S0c1MWJTa2dQVDA5SURFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMElEMGdablZ1WTNScGIyNGdaM1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBeE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVnVJRDBnWm5WdVkzUnBiMjRnWjNSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlNBOUlHWjFibU4wYVc5dUlHZDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQajBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhSdUlEMGdablZ1WTNScGIyNGdiSFJ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkQ0E5SUdaMWJtTjBhVzl1SUd4MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdMVEU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlc0Z1BTQm1kVzVqZEdsdmJpQnNkR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxJRDBnWm5WdVkzUnBiMjRnYkhSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOFBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjVzRnUFNCbWRXNWpkR2x2YmlCbGNXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SURBN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRU0J5WldSMVkyVWdZMjl1ZEdWNGRDd2dZMjkxYkdRZ1ltVWdkWE5wYm1jZ2JXOXVkR2R2YldWeWVTQnZjaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMQ0JrWlhCbGJtUnBibWRjYmlBZ0x5OGdiMjRnZEdobElHQnRZQ0JwZEhObGJHWXVYRzRnSUM4dlhHNGdJRUpPTG5KbFpDQTlJR1oxYm1OMGFXOXVJSEpsWkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJTWldRb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlTWldRZ1BTQm1kVzVqZEdsdmJpQjBiMUpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ2NtVjBkWEp1SUdOMGVDNWpiMjUyWlhKMFZHOG9kR2hwY3lrdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxU1pXUWdQU0JtZFc1amRHbHZiaUJtY205dFVtVmtJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2RtY205dFVtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnVkVzFpWlhKeklHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtTnZiblpsY25SR2NtOXRLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZlptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQmZabTl5WTJWU1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ1kzUjRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1iM0pqWlZKbFpDQTlJR1oxYm1OMGFXOXVJR1p2Y21ObFVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkJaR1FnUFNCbWRXNWpkR2x2YmlCeVpXUkJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WVdSa0tIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxCWkdRZ1BTQm1kVzVqZEdsdmJpQnlaV1JKUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSSlFXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBZV1JrS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTjFZaUE5SUdaMWJtTjBhVzl1SUhKbFpGTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6ZFdJb2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVk4xWWlBOUlHWjFibU4wYVc5dUlISmxaRWxUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkVsVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtbHpkV0lvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1UyaHNJRDBnWm5WdVkzUnBiMjRnY21Wa1UyaHNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRhR3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbk5vYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUk5kV3dnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRTExYkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TWloMGFHbHpMQ0J1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVTExYkNBOUlHWjFibU4wYVc5dUlISmxaRWxOZFd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkUxMWJDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1paDBhR2x6TENCdWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNpQTlJR1oxYm1OMGFXOXVJSEpsWkZOeGNpQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXpjWElvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JKVTNGeUlDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBjM0Z5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTnhkV0Z5WlNCeWIyOTBJRzkyWlhJZ2NGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5ZENBOUlHWjFibU4wYVc5dUlISmxaRk54Y25RZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y25RZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTnhjblFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnlaV1JKYm5adElDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKYm5adElIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBiblp0S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkFnSlNCZ2NtVmtJRzF2WkhWc2IyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRTVsWnlBOUlHWjFibU4wYVc5dUlISmxaRTVsWnlBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUbVZuSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1dVpXY29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGQnZkeUE5SUdaMWJtTjBhVzl1SUhKbFpGQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrSUNZbUlDRnVkVzB1Y21Wa0xDQW5jbVZrVUc5M0tHNXZjbTFoYkU1MWJTa25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjRzkzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhKcGJXVWdiblZ0WW1WeWN5QjNhWFJvSUdWbVptbGphV1Z1ZENCeVpXUjFZM1JwYjI1Y2JpQWdkbUZ5SUhCeWFXMWxjeUE5SUh0Y2JpQWdJQ0JyTWpVMk9pQnVkV3hzTEZ4dUlDQWdJSEF5TWpRNklHNTFiR3dzWEc0Z0lDQWdjREU1TWpvZ2JuVnNiQ3hjYmlBZ0lDQndNalUxTVRrNklHNTFiR3hjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjMlYxWkc4dFRXVnljMlZ1Ym1VZ2NISnBiV1ZjYmlBZ1puVnVZM1JwYjI0Z1RWQnlhVzFsSUNodVlXMWxMQ0J3S1NCN1hHNGdJQ0FnTHk4Z1VDQTlJRElnWGlCT0lDMGdTMXh1SUNBZ0lIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnZEdocGN5NXdJRDBnYm1WM0lFSk9LSEFzSURFMktUdGNiaUFnSUNCMGFHbHpMbTRnUFNCMGFHbHpMbkF1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZEdocGN5NXJJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxtNHBMbWx6ZFdJb2RHaHBjeTV3S1R0Y2JseHVJQ0FnSUhSb2FYTXVkRzF3SUQwZ2RHaHBjeTVmZEcxd0tDazdYRzRnSUgxY2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbDkwYlhBZ1BTQm1kVzVqZEdsdmJpQmZkRzF3SUNncElIdGNiaUFnSUNCMllYSWdkRzF3SUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lIUnRjQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2hOWVhSb0xtTmxhV3dvZEdocGN5NXVJQzhnTVRNcEtUdGNiaUFnSUNCeVpYUjFjbTRnZEcxd08xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVhWEpsWkhWalpTQTlJR1oxYm1OMGFXOXVJR2x5WldSMVkyVWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRnpjM1Z0WlhNZ2RHaGhkQ0JnYm5WdFlDQnBjeUJzWlhOeklIUm9ZVzRnWUZCZU1tQmNiaUFnSUNBdkx5QnVkVzBnUFNCSVNTQXFJQ2d5SUY0Z1RpQXRJRXNwSUNzZ1NFa2dLaUJMSUNzZ1RFOGdQU0JJU1NBcUlFc2dLeUJNVHlBb2JXOWtJRkFwWEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzA3WEc0Z0lDQWdkbUZ5SUhKc1pXNDdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IwYUdsekxuTndiR2wwS0hJc0lIUm9hWE11ZEcxd0tUdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHRkV3hMS0hJcE8xeHVJQ0FnSUNBZ2NpQTlJSEl1YVdGa1pDaDBhR2x6TG5SdGNDazdYRzRnSUNBZ0lDQnliR1Z1SUQwZ2NpNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaHliR1Z1SUQ0Z2RHaHBjeTV1S1R0Y2JseHVJQ0FnSUhaaGNpQmpiWEFnUFNCeWJHVnVJRHdnZEdocGN5NXVJRDhnTFRFZ09pQnlMblZqYlhBb2RHaHBjeTV3S1R0Y2JpQWdJQ0JwWmlBb1kyMXdJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhJdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnRjQ0ErSURBcElIdGNiaUFnSUNBZ0lISXVhWE4xWWloMGFHbHpMbkFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlMbDl6ZEhKcGNDZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVjM0JzYVhRZ1BTQm1kVzVqZEdsdmJpQnpjR3hwZENBb2FXNXdkWFFzSUc5MWRDa2dlMXh1SUNBZ0lHbHVjSFYwTG1sMWMyaHliaWgwYUdsekxtNHNJREFzSUc5MWRDazdYRzRnSUgwN1hHNWNiaUFnVFZCeWFXMWxMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1sdGRXd29kR2hwY3k1cktUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJMTWpVMklDZ3BJSHRjYmlBZ0lDQk5VSEpwYldVdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBbmF6STFOaWNzWEc0Z0lDQWdJQ0FuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVVnWm1abVptWmpNbVluS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loTE1qVTJMQ0JOVUhKcGJXVXBPMXh1WEc0Z0lFc3lOVFl1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFJ3ZFhRcElIdGNiaUFnSUNBdkx5QXlOVFlnUFNBNUlDb2dNallnS3lBeU1seHVJQ0FnSUhaaGNpQnRZWE5ySUQwZ01IZ3pabVptWm1ZN1hHNWNiaUFnSUNCMllYSWdiM1YwVEdWdUlEMGdUV0YwYUM1dGFXNG9hVzV3ZFhRdWJHVnVaM1JvTENBNUtUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHOTFkRXhsYmpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J2ZFhSd2RYUXVkMjl5WkhOYmFWMGdQU0JwYm5CMWRDNTNiM0prYzF0cFhUdGNiaUFnSUNCOVhHNGdJQ0FnYjNWMGNIVjBMbXhsYm1kMGFDQTlJRzkxZEV4bGJqdGNibHh1SUNBZ0lHbG1JQ2hwYm5CMWRDNXNaVzVuZEdnZ1BEMGdPU2tnZTF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QlRhR2xtZENCaWVTQTVJR3hwYldKelhHNGdJQ0FnZG1GeUlIQnlaWFlnUFNCcGJuQjFkQzUzYjNKa2MxczVYVHRjYmlBZ0lDQnZkWFJ3ZFhRdWQyOXlaSE5iYjNWMGNIVjBMbXhsYm1kMGFDc3JYU0E5SUhCeVpYWWdKaUJ0WVhOck8xeHVYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01UQTdJR2tnUENCcGJuQjFkQzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzVsZUhRZ1BTQnBibkIxZEM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnBibkIxZEM1M2IzSmtjMXRwSUMwZ01UQmRJRDBnS0NodVpYaDBJQ1lnYldGemF5a2dQRHdnTkNrZ2ZDQW9jSEpsZGlBK1BqNGdNaklwTzF4dUlDQWdJQ0FnY0hKbGRpQTlJRzVsZUhRN1hHNGdJQ0FnZlZ4dUlDQWdJSEJ5WlhZZ1BqNCtQU0F5TWp0Y2JpQWdJQ0JwYm5CMWRDNTNiM0prYzF0cElDMGdNVEJkSUQwZ2NISmxkanRjYmlBZ0lDQnBaaUFvY0hKbGRpQTlQVDBnTUNBbUppQnBibkIxZEM1c1pXNW5kR2dnUGlBeE1Da2dlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlERXdPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcGJuQjFkQzVzWlc1bmRHZ2dMVDBnT1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1N6STFOaTV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVRBd01EQXdNMlF4SUQwZ1d5QXdlRFF3TENBd2VETmtNU0JkWEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2hkSUQwZ01EdGNiaUFnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXJJREZkSUQwZ01EdGNiaUFnSUNCdWRXMHViR1Z1WjNSb0lDczlJREk3WEc1Y2JpQWdJQ0F2THlCaWIzVnVaR1ZrSUdGME9pQXdlRFF3SUNvZ01IZ3pabVptWm1abUlDc2dNSGd6WkRBZ1BTQXdlREV3TURBd01ETTVNRnh1SUNBZ0lIWmhjaUJzYnlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ2JuVnRMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUd4dklDczlJSGNnS2lBd2VETmtNVHRjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnYkc4Z1BTQjNJQ29nTUhnME1DQXJJQ2dvYkc4Z0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JzWlc1bmRHZ2djbVZrZFdOMGFXOXVYRzRnSUNBZ2FXWWdLRzUxYlM1M2IzSmtjMXR1ZFcwdWJHVnVaM1JvSUMwZ01WMGdQVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzVzWlc1bmRHZ3RMVHRjYmlBZ0lDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc1MWJTNXNaVzVuZEdndExUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJRzUxYlR0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNakkwSUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RJeU5DY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdNREF3TURBd01EQWdNREF3TURBd01EQWdNREF3TURBd01ERW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTWpJMExDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeE9USWdLQ2tnZTF4dUlDQWdJRTFRY21sdFpTNWpZV3hzS0Z4dUlDQWdJQ0FnZEdocGN5eGNiaUFnSUNBZ0lDZHdNVGt5Snl4Y2JpQWdJQ0FnSUNkbVptWm1abVptWmlCbVptWm1abVptWmlCbVptWm1abVptWmlCbVptWm1abVptWlNCbVptWm1abVptWmlCbVptWm1abVptWmljcE8xeHVJQ0I5WEc0Z0lHbHVhR1Z5YVhSektGQXhPVElzSUUxUWNtbHRaU2s3WEc1Y2JpQWdablZ1WTNScGIyNGdVREkxTlRFNUlDZ3BJSHRjYmlBZ0lDQXZMeUF5SUY0Z01qVTFJQzBnTVRsY2JpQWdJQ0JOVUhKcGJXVXVZMkZzYkNoY2JpQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQW5NalUxTVRrbkxGeHVJQ0FnSUNBZ0p6ZG1abVptWm1abVptWm1abVptWm1ZZ1ptWm1abVptWm1abVptWm1abVptWmlCbVptWm1abVptWm1abVptWm1abVptSUdabVptWm1abVptWm1abVptWm1aV1FuS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loUU1qVTFNVGtzSUUxUWNtbHRaU2s3WEc1Y2JpQWdVREkxTlRFNUxuQnliM1J2ZEhsd1pTNXBiWFZzU3lBOUlHWjFibU4wYVc5dUlHbHRkV3hMSUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJMSUQwZ01IZ3hNMXh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCb2FTQTlJQ2h1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdLU0FxSURCNE1UTWdLeUJqWVhKeWVUdGNiaUFnSUNBZ0lIWmhjaUJzYnlBOUlHaHBJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnYUdrZ1BqNCtQU0F5Tmp0Y2JseHVJQ0FnSUNBZ2JuVnRMbmR2Y21SelcybGRJRDBnYkc4N1hHNGdJQ0FnSUNCallYSnllU0E5SUdocE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXR1ZFcwdWJHVnVaM1JvS3l0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnVkVzA3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdSWGh3YjNKMFpXUWdiVzl6ZEd4NUlHWnZjaUIwWlhOMGFXNW5JSEIxY25CdmMyVnpMQ0IxYzJVZ2NHeGhhVzRnYm1GdFpTQnBibk4wWldGa1hHNGdJRUpPTGw5d2NtbHRaU0E5SUdaMWJtTjBhVzl1SUhCeWFXMWxJQ2h1WVcxbEtTQjdYRzRnSUNBZ0x5OGdRMkZqYUdWa0lIWmxjbk5wYjI0Z2IyWWdjSEpwYldWY2JpQWdJQ0JwWmlBb2NISnBiV1Z6VzI1aGJXVmRLU0J5WlhSMWNtNGdjSEpwYldWelcyNWhiV1ZkTzF4dVhHNGdJQ0FnZG1GeUlIQnlhVzFsTzF4dUlDQWdJR2xtSUNodVlXMWxJRDA5UFNBbmF6STFOaWNwSUh0Y2JpQWdJQ0FnSUhCeWFXMWxJRDBnYm1WM0lFc3lOVFlvS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1aGJXVWdQVDA5SUNkd01qSTBKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1VESXlOQ2dwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm1GdFpTQTlQVDBnSjNBeE9USW5LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1Ua3lLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WVcxbElEMDlQU0FuY0RJMU5URTVKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1VESTFOVEU1S0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WVzVyYm05M2JpQndjbWx0WlNBbklDc2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEJ5YVcxbGMxdHVZVzFsWFNBOUlIQnlhVzFsTzF4dVhHNGdJQ0FnY21WMGRYSnVJSEJ5YVcxbE8xeHVJQ0I5TzF4dVhHNGdJQzh2WEc0Z0lDOHZJRUpoYzJVZ2NtVmtkV04wYVc5dUlHVnVaMmx1WlZ4dUlDQXZMMXh1SUNCbWRXNWpkR2x2YmlCU1pXUWdLRzBwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUcwZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NISnBiV1VnUFNCQ1RpNWZjSEpwYldVb2JTazdYRzRnSUNBZ0lDQjBhR2x6TG0wZ1BTQndjbWx0WlM1d08xeHVJQ0FnSUNBZ2RHaHBjeTV3Y21sdFpTQTlJSEJ5YVcxbE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoYzNObGNuUW9iUzVuZEc0b01Ta3NJQ2R0YjJSMWJIVnpJRzExYzNRZ1ltVWdaM0psWVhSbGNpQjBhR0Z1SURFbktUdGNiaUFnSUNBZ0lIUm9hWE11YlNBOUlHMDdYRzRnSUNBZ0lDQjBhR2x6TG5CeWFXMWxJRDBnYm5Wc2JEdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTGw5MlpYSnBabmt4SUQwZ1puVnVZM1JwYjI0Z1gzWmxjbWxtZVRFZ0tHRXBJSHRjYmlBZ0lDQmhjM05sY25Rb1lTNXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0ozSmxaQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djRzl6YVhScGRtVnpKeWs3WEc0Z0lDQWdZWE56WlhKMEtHRXVjbVZrTENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WDNabGNtbG1lVElnUFNCbWRXNWpkR2x2YmlCZmRtVnlhV1o1TWlBb1lTd2dZaWtnZTF4dUlDQWdJR0Z6YzJWeWRDZ29ZUzV1WldkaGRHbDJaU0I4SUdJdWJtVm5ZWFJwZG1VcElEMDlQU0F3TENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQndiM05wZEdsMlpYTW5LVHRjYmlBZ0lDQmhjM05sY25Rb1lTNXlaV1FnSmlZZ1lTNXlaV1FnUFQwOUlHSXVjbVZrTEZ4dUlDQWdJQ0FnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx0YjJRZ1BTQm1kVzVqZEdsdmJpQnBiVzlrSUNoaEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWNISnBiV1VwSUhKbGRIVnliaUIwYUdsekxuQnlhVzFsTG1seVpXUjFZMlVvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnYlc5MlpTaGhMQ0JoTG5WdGIyUW9kR2hwY3k1dEtTNWZabTl5WTJWU1pXUW9kR2hwY3lrcE8xeHVJQ0FnSUhKbGRIVnliaUJoTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1Ym1WbklEMGdablZ1WTNScGIyNGdibVZuSUNoaEtTQjdYRzRnSUNBZ2FXWWdLR0V1YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoTG1Oc2IyNWxLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YlM1emRXSW9ZU2t1WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVZV1JrSUQwZ1puVnVZM1JwYjI0Z1lXUmtJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQmhMbUZrWkNoaUtUdGNiaUFnSUNCcFppQW9jbVZ6TG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5NXBjM1ZpS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTXVYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWFXRmtaQ0E5SUdaMWJtTjBhVzl1SUdsaFpHUWdLR0VzSUdJcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3lLR0VzSUdJcE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHRXVhV0ZrWkNoaUtUdGNiaUFnSUNCcFppQW9jbVZ6TG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5NXBjM1ZpS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpkV0lnUFNCbWRXNWpkR2x2YmlCemRXSWdLR0VzSUdJcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3lLR0VzSUdJcE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHRXVjM1ZpS0dJcE8xeHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE4xWWlBOUlHWjFibU4wYVc5dUlHbHpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVhOMVlpaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFXRmtaQ2gwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWMyaHNJRDBnWm5WdVkzUnBiMjRnYzJoc0lDaGhMQ0J1ZFcwcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3hLR0VwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzUxYzJoc2JpaHVkVzBwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJXOWtLR0V1YVcxMWJDaGlLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb1lTNXRkV3dvWWlrcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWFYTnhjaUE5SUdaMWJtTjBhVzl1SUdsemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJYVnNLR0VzSUdFdVkyeHZibVVvS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSWdQU0JtZFc1amRHbHZiaUJ6Y1hJZ0tHRXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV0ZFd3b1lTd2dZU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6Y1hKMElEMGdablZ1WTNScGIyNGdjM0Z5ZENBb1lTa2dlMXh1SUNBZ0lHbG1JQ2hoTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWVM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZG1GeUlHMXZaRE1nUFNCMGFHbHpMbTB1WVc1a2JHNG9NeWs3WEc0Z0lDQWdZWE56WlhKMEtHMXZaRE1nSlNBeUlEMDlQU0F4S1R0Y2JseHVJQ0FnSUM4dklFWmhjM1FnWTJGelpWeHVJQ0FnSUdsbUlDaHRiMlF6SUQwOVBTQXpLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NHOTNJRDBnZEdocGN5NXRMbUZrWkNodVpYY2dRazRvTVNrcExtbDFjMmh5YmlneUtUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkJ2ZHloaExDQndiM2NwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZSdmJtVnNiR2t0VTJoaGJtdHpJR0ZzWjI5eWFYUm9iU0FvVkc5MFlXeHNlU0IxYm05d2RHbHRhWHBsWkNCaGJtUWdjMnh2ZHlsY2JpQWdJQ0F2TDF4dUlDQWdJQzh2SUVacGJtUWdVU0JoYm1RZ1V5d2dkR2hoZENCUklDb2dNaUJlSUZNZ1BTQW9VQ0F0SURFcFhHNGdJQ0FnZG1GeUlIRWdQU0IwYUdsekxtMHVjM1ZpYmlneEtUdGNiaUFnSUNCMllYSWdjeUE5SURBN1hHNGdJQ0FnZDJocGJHVWdLQ0Z4TG1seldtVnlieWdwSUNZbUlIRXVZVzVrYkc0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lITXJLenRjYmlBZ0lDQWdJSEV1YVhWemFISnVLREVwTzF4dUlDQWdJSDFjYmlBZ0lDQmhjM05sY25Rb0lYRXVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdkbUZ5SUc5dVpTQTlJRzVsZHlCQ1RpZ3hLUzUwYjFKbFpDaDBhR2x6S1R0Y2JpQWdJQ0IyWVhJZ2JrOXVaU0E5SUc5dVpTNXlaV1JPWldjb0tUdGNibHh1SUNBZ0lDOHZJRVpwYm1RZ2NYVmhaSEpoZEdsaklHNXZiaTF5WlhOcFpIVmxYRzRnSUNBZ0x5OGdUazlVUlRvZ1RXRjRJR2x6SUhOMVkyZ2dZbVZqWVhWelpTQnZaaUJuWlc1bGNtRnNhWHBsWkNCU2FXVnRZVzV1SUdoNWNHOTBhR1Z6YVhNdVhHNGdJQ0FnZG1GeUlHeHdiM2NnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdkbUZ5SUhvZ1BTQjBhR2x6TG0wdVltbDBUR1Z1WjNSb0tDazdYRzRnSUNBZ2VpQTlJRzVsZHlCQ1RpZ3lJQ29nZWlBcUlIb3BMblJ2VW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWNHOTNLSG9zSUd4d2IzY3BMbU50Y0NodVQyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdlaTV5WldSSlFXUmtLRzVQYm1VcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmpJRDBnZEdocGN5NXdiM2NvZWl3Z2NTazdYRzRnSUNBZ2RtRnlJSElnUFNCMGFHbHpMbkJ2ZHloaExDQnhMbUZrWkc0b01Ta3VhWFZ6YUhKdUtERXBLVHRjYmlBZ0lDQjJZWElnZENBOUlIUm9hWE11Y0c5M0tHRXNJSEVwTzF4dUlDQWdJSFpoY2lCdElEMGdjenRjYmlBZ0lDQjNhR2xzWlNBb2RDNWpiWEFvYjI1bEtTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFJ0Y0NBOUlIUTdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2RHMXdMbU50Y0NodmJtVXBJQ0U5UFNBd095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHMXdJRDBnZEcxd0xuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1lYTnpaWEowS0drZ1BDQnRLVHRjYmlBZ0lDQWdJSFpoY2lCaUlEMGdkR2hwY3k1d2IzY29ZeXdnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWh0SUMwZ2FTQXRJREVwS1R0Y2JseHVJQ0FnSUNBZ2NpQTlJSEl1Y21Wa1RYVnNLR0lwTzF4dUlDQWdJQ0FnWXlBOUlHSXVjbVZrVTNGeUtDazdYRzRnSUNBZ0lDQjBJRDBnZEM1eVpXUk5kV3dvWXlrN1hHNGdJQ0FnSUNCdElEMGdhVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHVkbTBnUFNCbWRXNWpkR2x2YmlCcGJuWnRJQ2hoS1NCN1hHNGdJQ0FnZG1GeUlHbHVkaUE5SUdFdVgybHVkbTF3S0hSb2FYTXViU2s3WEc0Z0lDQWdhV1lnS0dsdWRpNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2FXNTJMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvYVc1MktTNXlaV1JPWldjb0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2hwYm5ZcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5CdmR5QTlJR1oxYm1OMGFXOXVJSEJ2ZHlBb1lTd2diblZ0S1NCN1hHNGdJQ0FnYVdZZ0tHNTFiUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3hLUzUwYjFKbFpDaDBhR2x6S1R0Y2JpQWdJQ0JwWmlBb2JuVnRMbU50Y0c0b01Ta2dQVDA5SURBcElISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNWNiaUFnSUNCMllYSWdkMmx1Wkc5M1UybDZaU0E5SURRN1hHNGdJQ0FnZG1GeUlIZHVaQ0E5SUc1bGR5QkJjbkpoZVNneElEdzhJSGRwYm1SdmQxTnBlbVVwTzF4dUlDQWdJSGR1WkZzd1hTQTlJRzVsZHlCQ1RpZ3hLUzUwYjFKbFpDaDBhR2x6S1R0Y2JpQWdJQ0IzYm1SYk1WMGdQU0JoTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBeU95QnBJRHdnZDI1a0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzYm1SYmFWMGdQU0IwYUdsekxtMTFiQ2gzYm1SYmFTQXRJREZkTENCaEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ2QyNWtXekJkTzF4dUlDQWdJSFpoY2lCamRYSnlaVzUwSUQwZ01EdGNiaUFnSUNCMllYSWdZM1Z5Y21WdWRFeGxiaUE5SURBN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ2JuVnRMbUpwZEV4bGJtZDBhQ2dwSUNVZ01qWTdYRzRnSUNBZ2FXWWdLSE4wWVhKMElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCemRHRnlkQ0E5SURJMk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9hU0E5SUc1MWJTNXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGR2Y21RZ1BTQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2MzUmhjblFnTFNBeE95QnFJRDQ5SURBN0lHb3RMU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdZbWwwSUQwZ0tIZHZjbVFnUGo0Z2Fpa2dKaUF4TzF4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6SUNFOVBTQjNibVJiTUYwcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG5OeGNpaHlaWE1wTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dKcGRDQTlQVDBnTUNBbUppQmpkWEp5Wlc1MElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdZM1Z5Y21WdWRFeGxiaUE5SURBN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUR3OFBTQXhPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBJSHc5SUdKcGREdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRFeGxiaXNyTzF4dUlDQWdJQ0FnSUNCcFppQW9ZM1Z5Y21WdWRFeGxiaUFoUFQwZ2QybHVaRzkzVTJsNlpTQW1KaUFvYVNBaFBUMGdNQ0I4ZkNCcUlDRTlQU0F3S1NrZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV0ZFd3b2NtVnpMQ0IzYm1SYlkzVnljbVZ1ZEYwcE8xeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFRHVnVJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZENBOUlEQTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWpiMjUyWlhKMFZHOGdQU0JtZFc1amRHbHZiaUJqYjI1MlpYSjBWRzhnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5SUQwZ2JuVnRMblZ0YjJRb2RHaHBjeTV0S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ5SUQwOVBTQnVkVzBnUHlCeUxtTnNiMjVsS0NrZ09pQnlPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVZMjl1ZG1WeWRFWnliMjBnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowUm5KdmJTQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISmxjeUE5SUc1MWJTNWpiRzl1WlNncE8xeHVJQ0FnSUhKbGN5NXlaV1FnUFNCdWRXeHNPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk5Y2JpQWdMeThnVFc5dWRHZHZiV1Z5ZVNCdFpYUm9iMlFnWlc1bmFXNWxYRzRnSUM4dlhHNWNiaUFnUWs0dWJXOXVkQ0E5SUdaMWJtTjBhVzl1SUcxdmJuUWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1RXOXVkQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJRTF2Ym5RZ0tHMHBJSHRjYmlBZ0lDQlNaV1F1WTJGc2JDaDBhR2x6TENCdEtUdGNibHh1SUNBZ0lIUm9hWE11YzJocFpuUWdQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXVjMmhwWm5RZ0pTQXlOaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1emFHbG1kQ0FyUFNBeU5pQXRJQ2gwYUdsekxuTm9hV1owSUNVZ01qWXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11Y2lBOUlHNWxkeUJDVGlneEtTNXBkWE5vYkc0b2RHaHBjeTV6YUdsbWRDazdYRzRnSUNBZ2RHaHBjeTV5TWlBOUlIUm9hWE11YVcxdlpDaDBhR2x6TG5JdWMzRnlLQ2twTzF4dUlDQWdJSFJvYVhNdWNtbHVkaUE5SUhSb2FYTXVjaTVmYVc1MmJYQW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lIUm9hWE11YldsdWRpQTlJSFJvYVhNdWNtbHVkaTV0ZFd3b2RHaHBjeTV5S1M1cGMzVmliaWd4S1M1a2FYWW9kR2hwY3k1dEtUdGNiaUFnSUNCMGFHbHpMbTFwYm5ZZ1BTQjBhR2x6TG0xcGJuWXVkVzF2WkNoMGFHbHpMbklwTzF4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjaTV6ZFdJb2RHaHBjeTV0YVc1MktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aE5iMjUwTENCU1pXUXBPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1OdmJuWmxjblJVYnlBOUlHWjFibU4wYVc5dUlHTnZiblpsY25SVWJ5QW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2h1ZFcwdWRYTm9iRzRvZEdocGN5NXphR2xtZENrcE8xeHVJQ0I5TzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SR2NtOXRJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRVp5YjIwZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdkR2hwY3k1cGJXOWtLRzUxYlM1dGRXd29kR2hwY3k1eWFXNTJLU2s3WEc0Z0lDQWdjaTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbWx0ZFd3Z1BTQm1kVzVqZEdsdmJpQnBiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnZTF4dUlDQWdJQ0FnWVM1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQmhMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXVhVzExYkNoaUtUdGNiaUFnSUNCMllYSWdZeUE5SUhRdWJXRnphMjRvZEdocGN5NXphR2xtZENrdWJYVnNLSFJvYVhNdWJXbHVkaWt1YVcxaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0wcE8xeHVJQ0FnSUhaaGNpQjFJRDBnZEM1cGMzVmlLR01wTG1sMWMyaHliaWgwYUdsekxuTm9hV1owS1R0Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnZFR0Y2JseHVJQ0FnSUdsbUlDaDFMbU50Y0NoMGFHbHpMbTBwSUQ0OUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIVXVhWE4xWWloMGFHbHpMbTBwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZFM1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RTNXBZV1JrS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjeTVmWm05eVkyVlNaV1FvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnVFc5dWRDNXdjbTkwYjNSNWNHVXViWFZzSUQwZ1puVnVZM1JwYjI0Z2JYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2FXWWdLR0V1YVhOYVpYSnZLQ2tnZkh3Z1lpNXBjMXBsY204b0tTa2djbVYwZFhKdUlHNWxkeUJDVGlnd0tTNWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNWNiaUFnSUNCMllYSWdkQ0E5SUdFdWJYVnNLR0lwTzF4dUlDQWdJSFpoY2lCaklEMGdkQzV0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0YVc1MktTNXBiV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViU2s3WEc0Z0lDQWdkbUZ5SUhVZ1BTQjBMbWx6ZFdJb1l5a3VhWFZ6YUhKdUtIUm9hWE11YzJocFpuUXBPMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjFPMXh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YVc1MmJTQTlJR1oxYm1OMGFXOXVJR2x1ZG0wZ0tHRXBJSHRjYmlBZ0lDQXZMeUFvUVZJcFhpMHhJQ29nVWw0eUlEMGdLRUZlTFRFZ0tpQlNYaTB4S1NBcUlGSmVNaUE5SUVGZUxURWdLaUJTWEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFJvYVhNdWFXMXZaQ2hoTGw5cGJuWnRjQ2gwYUdsekxtMHBMbTExYkNoMGFHbHpMbkl5S1NrN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzU5S1NoMGVYQmxiMllnYlc5a2RXeGxJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QjhmQ0J0YjJSMWJHVXNJSFJvYVhNcE8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvcmFuZC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHI7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByYW5kKGxlbikge1xcbiAgaWYgKCFyKVxcbiAgICByID0gbmV3IFJhbmQobnVsbCk7XFxuXFxuICByZXR1cm4gci5nZW5lcmF0ZShsZW4pO1xcbn07XFxuXFxuZnVuY3Rpb24gUmFuZChyYW5kKSB7XFxuICB0aGlzLnJhbmQgPSByYW5kO1xcbn1cXG5tb2R1bGUuZXhwb3J0cy5SYW5kID0gUmFuZDtcXG5cXG5SYW5kLnByb3RvdHlwZS5nZW5lcmF0ZSA9IGZ1bmN0aW9uIGdlbmVyYXRlKGxlbikge1xcbiAgcmV0dXJuIHRoaXMuX3JhbmQobGVuKTtcXG59O1xcblxcbi8vIEVtdWxhdGUgY3J5cHRvIEFQSSB1c2luZyByYW5keVxcblJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xcbiAgaWYgKHRoaXMucmFuZC5nZXRCeXRlcylcXG4gICAgcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhuKTtcXG5cXG4gIHZhciByZXMgPSBuZXcgVWludDhBcnJheShuKTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmxlbmd0aDsgaSsrKVxcbiAgICByZXNbaV0gPSB0aGlzLnJhbmQuZ2V0Qnl0ZSgpO1xcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcbmlmICh0eXBlb2Ygc2VsZiA9PT0gJ29iamVjdCcpIHtcXG4gIGlmIChzZWxmLmNyeXB0byAmJiBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcXG4gICAgLy8gTW9kZXJuIGJyb3dzZXJzXFxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xcbiAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShuKTtcXG4gICAgICBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYXJyKTtcXG4gICAgICByZXR1cm4gYXJyO1xcbiAgICB9O1xcbiAgfSBlbHNlIGlmIChzZWxmLm1zQ3J5cHRvICYmIHNlbGYubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKSB7XFxuICAgIC8vIElFXFxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xcbiAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShuKTtcXG4gICAgICBzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnIpO1xcbiAgICAgIHJldHVybiBhcnI7XFxuICAgIH07XFxuXFxuICAvLyBTYWZhcmkncyBXZWJXb3JrZXJzIGRvIG5vdCBoYXZlIGBjcnlwdG9gXFxuICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSB7XFxuICAgIC8vIE9sZCBqdW5rXFxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24oKSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQgeWV0Jyk7XFxuICAgIH07XFxuICB9XFxufSBlbHNlIHtcXG4gIC8vIE5vZGUuanMgb3IgV2ViIHdvcmtlciB3aXRoIG5vIGNyeXB0byBzdXBwb3J0XFxuICB0cnkge1xcbiAgICB2YXIgY3J5cHRvID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3J5cHRvICovIDYpO1xcbiAgICBpZiAodHlwZW9mIGNyeXB0by5yYW5kb21CeXRlcyAhPT0gJ2Z1bmN0aW9uJylcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQnKTtcXG5cXG4gICAgUmFuZC5wcm90b3R5cGUuX3JhbmQgPSBmdW5jdGlvbiBfcmFuZChuKSB7XFxuICAgICAgcmV0dXJuIGNyeXB0by5yYW5kb21CeXRlcyhuKTtcXG4gICAgfTtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205eVlXNWtMMmx1WkdWNExtcHpQekJpWW1FaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2FVSkJRV2xDTEdkQ1FVRm5RanRCUVVOcVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zWlVGQlVUdEJRVU5xUXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM0poYm1RdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2NqdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJ5WVc1a0tHeGxiaWtnZTF4dUlDQnBaaUFvSVhJcFhHNGdJQ0FnY2lBOUlHNWxkeUJTWVc1a0tHNTFiR3dwTzF4dVhHNGdJSEpsZEhWeWJpQnlMbWRsYm1WeVlYUmxLR3hsYmlrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCU1lXNWtLSEpoYm1RcElIdGNiaUFnZEdocGN5NXlZVzVrSUQwZ2NtRnVaRHRjYm4xY2JtMXZaSFZzWlM1bGVIQnZjblJ6TGxKaGJtUWdQU0JTWVc1a08xeHVYRzVTWVc1a0xuQnliM1J2ZEhsd1pTNW5aVzVsY21GMFpTQTlJR1oxYm1OMGFXOXVJR2RsYm1WeVlYUmxLR3hsYmlrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtRnVaQ2hzWlc0cE8xeHVmVHRjYmx4dUx5OGdSVzExYkdGMFpTQmpjbmx3ZEc4Z1FWQkpJSFZ6YVc1bklISmhibVI1WEc1U1lXNWtMbkJ5YjNSdmRIbHdaUzVmY21GdVpDQTlJR1oxYm1OMGFXOXVJRjl5WVc1a0tHNHBJSHRjYmlBZ2FXWWdLSFJvYVhNdWNtRnVaQzVuWlhSQ2VYUmxjeWxjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WVc1a0xtZGxkRUo1ZEdWektHNHBPMXh1WEc0Z0lIWmhjaUJ5WlhNZ1BTQnVaWGNnVldsdWREaEJjbkpoZVNodUtUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeVpYTXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdjbVZ6VzJsZElEMGdkR2hwY3k1eVlXNWtMbWRsZEVKNWRHVW9LVHRjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JtbG1JQ2gwZVhCbGIyWWdjMlZzWmlBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ2FXWWdLSE5sYkdZdVkzSjVjSFJ2SUNZbUlITmxiR1l1WTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGN5a2dlMXh1SUNBZ0lDOHZJRTF2WkdWeWJpQmljbTkzYzJWeWMxeHVJQ0FnSUZKaGJtUXVjSEp2ZEc5MGVYQmxMbDl5WVc1a0lEMGdablZ1WTNScGIyNGdYM0poYm1Rb2Jpa2dlMXh1SUNBZ0lDQWdkbUZ5SUdGeWNpQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHNHBPMXh1SUNBZ0lDQWdjMlZzWmk1amNubHdkRzh1WjJWMFVtRnVaRzl0Vm1Gc2RXVnpLR0Z5Y2lrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVhKeU8xeHVJQ0FnSUgwN1hHNGdJSDBnWld4elpTQnBaaUFvYzJWc1ppNXRjME55ZVhCMGJ5QW1KaUJ6Wld4bUxtMXpRM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3lrZ2UxeHVJQ0FnSUM4dklFbEZYRzRnSUNBZ1VtRnVaQzV3Y205MGIzUjVjR1V1WDNKaGJtUWdQU0JtZFc1amRHbHZiaUJmY21GdVpDaHVLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1lYSnlJRDBnYm1WM0lGVnBiblE0UVhKeVlYa29iaWs3WEc0Z0lDQWdJQ0J6Wld4bUxtMXpRM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3loaGNuSXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRnljanRjYmlBZ0lDQjlPMXh1WEc0Z0lDOHZJRk5oWm1GeWFTZHpJRmRsWWxkdmNtdGxjbk1nWkc4Z2JtOTBJR2hoZG1VZ1lHTnllWEIwYjJCY2JpQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdkMmx1Wkc5M0lEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQzh2SUU5c1pDQnFkVzVyWEc0Z0lDQWdVbUZ1WkM1d2NtOTBiM1I1Y0dVdVgzSmhibVFnUFNCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRtOTBJR2x0Y0d4bGJXVnVkR1ZrSUhsbGRDY3BPMXh1SUNBZ0lIMDdYRzRnSUgxY2JuMGdaV3h6WlNCN1hHNGdJQzh2SUU1dlpHVXVhbk1nYjNJZ1YyVmlJSGR2Y210bGNpQjNhWFJvSUc1dklHTnllWEIwYnlCemRYQndiM0owWEc0Z0lIUnllU0I3WEc0Z0lDQWdkbUZ5SUdOeWVYQjBieUE5SUhKbGNYVnBjbVVvSjJOeWVYQjBieWNwTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWTNKNWNIUnZMbkpoYm1SdmJVSjVkR1Z6SUNFOVBTQW5ablZ1WTNScGIyNG5LVnh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE9iM1FnYzNWd2NHOXlkR1ZrSnlrN1hHNWNiaUFnSUNCU1lXNWtMbkJ5YjNSdmRIbHdaUzVmY21GdVpDQTlJR1oxYm1OMGFXOXVJRjl5WVc1a0tHNHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpjbmx3ZEc4dWNtRnVaRzl0UW5sMFpYTW9iaWs3WEc0Z0lDQWdmVHRjYmlBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNCOVhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2Flcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLy8gYmFzZWQgb24gdGhlIGFlcyBpbXBsaW1lbnRhdGlvbiBpbiB0cmlwbGUgc2VjXFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2tleWJhc2UvdHJpcGxlc2VjXFxuLy8gd2hpY2ggaXMgaW4gdHVybiBiYXNlZCBvbiB0aGUgb25lIGZyb20gY3J5cHRvLWpzXFxuLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jcnlwdG8tanMvXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbmZ1bmN0aW9uIGFzVUludDMyQXJyYXkgKGJ1Zikge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkgYnVmID0gQnVmZmVyLmZyb20oYnVmKVxcblxcbiAgdmFyIGxlbiA9IChidWYubGVuZ3RoIC8gNCkgfCAwXFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KGxlbilcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgb3V0W2ldID0gYnVmLnJlYWRVSW50MzJCRShpICogNClcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gc2NydWJWZWMgKHYpIHtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdi5sZW5ndGg7IHYrKykge1xcbiAgICB2W2ldID0gMFxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjcnlwdEJsb2NrIChNLCBrZXlTY2hlZHVsZSwgU1VCX01JWCwgU0JPWCwgblJvdW5kcykge1xcbiAgdmFyIFNVQl9NSVgwID0gU1VCX01JWFswXVxcbiAgdmFyIFNVQl9NSVgxID0gU1VCX01JWFsxXVxcbiAgdmFyIFNVQl9NSVgyID0gU1VCX01JWFsyXVxcbiAgdmFyIFNVQl9NSVgzID0gU1VCX01JWFszXVxcblxcbiAgdmFyIHMwID0gTVswXSBeIGtleVNjaGVkdWxlWzBdXFxuICB2YXIgczEgPSBNWzFdIF4ga2V5U2NoZWR1bGVbMV1cXG4gIHZhciBzMiA9IE1bMl0gXiBrZXlTY2hlZHVsZVsyXVxcbiAgdmFyIHMzID0gTVszXSBeIGtleVNjaGVkdWxlWzNdXFxuICB2YXIgdDAsIHQxLCB0MiwgdDNcXG4gIHZhciBrc1JvdyA9IDRcXG5cXG4gIGZvciAodmFyIHJvdW5kID0gMTsgcm91bmQgPCBuUm91bmRzOyByb3VuZCsrKSB7XFxuICAgIHQwID0gU1VCX01JWDBbczAgPj4+IDI0XSBeIFNVQl9NSVgxWyhzMSA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYMlsoczIgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYM1tzMyAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK11cXG4gICAgdDEgPSBTVUJfTUlYMFtzMSA+Pj4gMjRdIF4gU1VCX01JWDFbKHMyID4+PiAxNikgJiAweGZmXSBeIFNVQl9NSVgyWyhzMyA+Pj4gOCkgJiAweGZmXSBeIFNVQl9NSVgzW3MwICYgMHhmZl0gXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgICB0MiA9IFNVQl9NSVgwW3MyID4+PiAyNF0gXiBTVUJfTUlYMVsoczMgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWDJbKHMwID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWDNbczEgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdXFxuICAgIHQzID0gU1VCX01JWDBbczMgPj4+IDI0XSBeIFNVQl9NSVgxWyhzMCA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYMlsoczEgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYM1tzMiAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK11cXG4gICAgczAgPSB0MFxcbiAgICBzMSA9IHQxXFxuICAgIHMyID0gdDJcXG4gICAgczMgPSB0M1xcbiAgfVxcblxcbiAgdDAgPSAoKFNCT1hbczAgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczEgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMiA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczMgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDEgPSAoKFNCT1hbczEgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczIgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMyA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczAgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDIgPSAoKFNCT1hbczIgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczMgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMCA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczEgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDMgPSAoKFNCT1hbczMgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczAgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMSA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczIgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDAgPSB0MCA+Pj4gMFxcbiAgdDEgPSB0MSA+Pj4gMFxcbiAgdDIgPSB0MiA+Pj4gMFxcbiAgdDMgPSB0MyA+Pj4gMFxcblxcbiAgcmV0dXJuIFt0MCwgdDEsIHQyLCB0M11cXG59XFxuXFxuLy8gQUVTIGNvbnN0YW50c1xcbnZhciBSQ09OID0gWzB4MDAsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzZdXFxudmFyIEcgPSAoZnVuY3Rpb24gKCkge1xcbiAgLy8gQ29tcHV0ZSBkb3VibGUgdGFibGVcXG4gIHZhciBkID0gbmV3IEFycmF5KDI1NilcXG4gIGZvciAodmFyIGogPSAwOyBqIDwgMjU2OyBqKyspIHtcXG4gICAgaWYgKGogPCAxMjgpIHtcXG4gICAgICBkW2pdID0gaiA8PCAxXFxuICAgIH0gZWxzZSB7XFxuICAgICAgZFtqXSA9IChqIDw8IDEpIF4gMHgxMWJcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIFNCT1ggPSBbXVxcbiAgdmFyIElOVl9TQk9YID0gW11cXG4gIHZhciBTVUJfTUlYID0gW1tdLCBbXSwgW10sIFtdXVxcbiAgdmFyIElOVl9TVUJfTUlYID0gW1tdLCBbXSwgW10sIFtdXVxcblxcbiAgLy8gV2FsayBHRigyXjgpXFxuICB2YXIgeCA9IDBcXG4gIHZhciB4aSA9IDBcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcXG4gICAgLy8gQ29tcHV0ZSBzYm94XFxuICAgIHZhciBzeCA9IHhpIF4gKHhpIDw8IDEpIF4gKHhpIDw8IDIpIF4gKHhpIDw8IDMpIF4gKHhpIDw8IDQpXFxuICAgIHN4ID0gKHN4ID4+PiA4KSBeIChzeCAmIDB4ZmYpIF4gMHg2M1xcbiAgICBTQk9YW3hdID0gc3hcXG4gICAgSU5WX1NCT1hbc3hdID0geFxcblxcbiAgICAvLyBDb21wdXRlIG11bHRpcGxpY2F0aW9uXFxuICAgIHZhciB4MiA9IGRbeF1cXG4gICAgdmFyIHg0ID0gZFt4Ml1cXG4gICAgdmFyIHg4ID0gZFt4NF1cXG5cXG4gICAgLy8gQ29tcHV0ZSBzdWIgYnl0ZXMsIG1peCBjb2x1bW5zIHRhYmxlc1xcbiAgICB2YXIgdCA9IChkW3N4XSAqIDB4MTAxKSBeIChzeCAqIDB4MTAxMDEwMClcXG4gICAgU1VCX01JWFswXVt4XSA9ICh0IDw8IDI0KSB8ICh0ID4+PiA4KVxcbiAgICBTVUJfTUlYWzFdW3hdID0gKHQgPDwgMTYpIHwgKHQgPj4+IDE2KVxcbiAgICBTVUJfTUlYWzJdW3hdID0gKHQgPDwgOCkgfCAodCA+Pj4gMjQpXFxuICAgIFNVQl9NSVhbM11beF0gPSB0XFxuXFxuICAgIC8vIENvbXB1dGUgaW52IHN1YiBieXRlcywgaW52IG1peCBjb2x1bW5zIHRhYmxlc1xcbiAgICB0ID0gKHg4ICogMHgxMDEwMTAxKSBeICh4NCAqIDB4MTAwMDEpIF4gKHgyICogMHgxMDEpIF4gKHggKiAweDEwMTAxMDApXFxuICAgIElOVl9TVUJfTUlYWzBdW3N4XSA9ICh0IDw8IDI0KSB8ICh0ID4+PiA4KVxcbiAgICBJTlZfU1VCX01JWFsxXVtzeF0gPSAodCA8PCAxNikgfCAodCA+Pj4gMTYpXFxuICAgIElOVl9TVUJfTUlYWzJdW3N4XSA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KVxcbiAgICBJTlZfU1VCX01JWFszXVtzeF0gPSB0XFxuXFxuICAgIGlmICh4ID09PSAwKSB7XFxuICAgICAgeCA9IHhpID0gMVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHggPSB4MiBeIGRbZFtkW3g4IF4geDJdXV1cXG4gICAgICB4aSBePSBkW2RbeGldXVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICBTQk9YOiBTQk9YLFxcbiAgICBJTlZfU0JPWDogSU5WX1NCT1gsXFxuICAgIFNVQl9NSVg6IFNVQl9NSVgsXFxuICAgIElOVl9TVUJfTUlYOiBJTlZfU1VCX01JWFxcbiAgfVxcbn0pKClcXG5cXG5mdW5jdGlvbiBBRVMgKGtleSkge1xcbiAgdGhpcy5fa2V5ID0gYXNVSW50MzJBcnJheShrZXkpXFxuICB0aGlzLl9yZXNldCgpXFxufVxcblxcbkFFUy5ibG9ja1NpemUgPSA0ICogNFxcbkFFUy5rZXlTaXplID0gMjU2IC8gOFxcbkFFUy5wcm90b3R5cGUuYmxvY2tTaXplID0gQUVTLmJsb2NrU2l6ZVxcbkFFUy5wcm90b3R5cGUua2V5U2l6ZSA9IEFFUy5rZXlTaXplXFxuQUVTLnByb3RvdHlwZS5fcmVzZXQgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIga2V5V29yZHMgPSB0aGlzLl9rZXlcXG4gIHZhciBrZXlTaXplID0ga2V5V29yZHMubGVuZ3RoXFxuICB2YXIgblJvdW5kcyA9IGtleVNpemUgKyA2XFxuICB2YXIga3NSb3dzID0gKG5Sb3VuZHMgKyAxKSAqIDRcXG5cXG4gIHZhciBrZXlTY2hlZHVsZSA9IFtdXFxuICBmb3IgKHZhciBrID0gMDsgayA8IGtleVNpemU7IGsrKykge1xcbiAgICBrZXlTY2hlZHVsZVtrXSA9IGtleVdvcmRzW2tdXFxuICB9XFxuXFxuICBmb3IgKGsgPSBrZXlTaXplOyBrIDwga3NSb3dzOyBrKyspIHtcXG4gICAgdmFyIHQgPSBrZXlTY2hlZHVsZVtrIC0gMV1cXG5cXG4gICAgaWYgKGsgJSBrZXlTaXplID09PSAwKSB7XFxuICAgICAgdCA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KVxcbiAgICAgIHQgPVxcbiAgICAgICAgKEcuU0JPWFt0ID4+PiAyNF0gPDwgMjQpIHxcXG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8XFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHxcXG4gICAgICAgIChHLlNCT1hbdCAmIDB4ZmZdKVxcblxcbiAgICAgIHQgXj0gUkNPTlsoayAvIGtleVNpemUpIHwgMF0gPDwgMjRcXG4gICAgfSBlbHNlIGlmIChrZXlTaXplID4gNiAmJiBrICUga2V5U2l6ZSA9PT0gNCkge1xcbiAgICAgIHQgPVxcbiAgICAgICAgKEcuU0JPWFt0ID4+PiAyNF0gPDwgMjQpIHxcXG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8XFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHxcXG4gICAgICAgIChHLlNCT1hbdCAmIDB4ZmZdKVxcbiAgICB9XFxuXFxuICAgIGtleVNjaGVkdWxlW2tdID0ga2V5U2NoZWR1bGVbayAtIGtleVNpemVdIF4gdFxcbiAgfVxcblxcbiAgdmFyIGludktleVNjaGVkdWxlID0gW11cXG4gIGZvciAodmFyIGlrID0gMDsgaWsgPCBrc1Jvd3M7IGlrKyspIHtcXG4gICAgdmFyIGtzUiA9IGtzUm93cyAtIGlrXFxuICAgIHZhciB0dCA9IGtleVNjaGVkdWxlW2tzUiAtIChpayAlIDQgPyAwIDogNCldXFxuXFxuICAgIGlmIChpayA8IDQgfHwga3NSIDw9IDQpIHtcXG4gICAgICBpbnZLZXlTY2hlZHVsZVtpa10gPSB0dFxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGludktleVNjaGVkdWxlW2lrXSA9XFxuICAgICAgICBHLklOVl9TVUJfTUlYWzBdW0cuU0JPWFt0dCA+Pj4gMjRdXSBeXFxuICAgICAgICBHLklOVl9TVUJfTUlYWzFdW0cuU0JPWFsodHQgPj4+IDE2KSAmIDB4ZmZdXSBeXFxuICAgICAgICBHLklOVl9TVUJfTUlYWzJdW0cuU0JPWFsodHQgPj4+IDgpICYgMHhmZl1dIF5cXG4gICAgICAgIEcuSU5WX1NVQl9NSVhbM11bRy5TQk9YW3R0ICYgMHhmZl1dXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRoaXMuX25Sb3VuZHMgPSBuUm91bmRzXFxuICB0aGlzLl9rZXlTY2hlZHVsZSA9IGtleVNjaGVkdWxlXFxuICB0aGlzLl9pbnZLZXlTY2hlZHVsZSA9IGludktleVNjaGVkdWxlXFxufVxcblxcbkFFUy5wcm90b3R5cGUuZW5jcnlwdEJsb2NrUmF3ID0gZnVuY3Rpb24gKE0pIHtcXG4gIE0gPSBhc1VJbnQzMkFycmF5KE0pXFxuICByZXR1cm4gY3J5cHRCbG9jayhNLCB0aGlzLl9rZXlTY2hlZHVsZSwgRy5TVUJfTUlYLCBHLlNCT1gsIHRoaXMuX25Sb3VuZHMpXFxufVxcblxcbkFFUy5wcm90b3R5cGUuZW5jcnlwdEJsb2NrID0gZnVuY3Rpb24gKE0pIHtcXG4gIHZhciBvdXQgPSB0aGlzLmVuY3J5cHRCbG9ja1JhdyhNKVxcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFswXSwgMClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsxXSwgNClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSwgOClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFszXSwgMTIpXFxuICByZXR1cm4gYnVmXFxufVxcblxcbkFFUy5wcm90b3R5cGUuZGVjcnlwdEJsb2NrID0gZnVuY3Rpb24gKE0pIHtcXG4gIE0gPSBhc1VJbnQzMkFycmF5KE0pXFxuXFxuICAvLyBzd2FwXFxuICB2YXIgbTEgPSBNWzFdXFxuICBNWzFdID0gTVszXVxcbiAgTVszXSA9IG0xXFxuXFxuICB2YXIgb3V0ID0gY3J5cHRCbG9jayhNLCB0aGlzLl9pbnZLZXlTY2hlZHVsZSwgRy5JTlZfU1VCX01JWCwgRy5JTlZfU0JPWCwgdGhpcy5fblJvdW5kcylcXG4gIHZhciBidWYgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMTYpXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMF0sIDApXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbM10sIDQpXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMl0sIDgpXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMV0sIDEyKVxcbiAgcmV0dXJuIGJ1Zlxcbn1cXG5cXG5BRVMucHJvdG90eXBlLnNjcnViID0gZnVuY3Rpb24gKCkge1xcbiAgc2NydWJWZWModGhpcy5fa2V5U2NoZWR1bGUpXFxuICBzY3J1YlZlYyh0aGlzLl9pbnZLZXlTY2hlZHVsZSlcXG4gIHNjcnViVmVjKHRoaXMuX2tleSlcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMuQUVTID0gQUVTXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWhaWE11YW5NL1pXTTNaaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3TzBGQlJXeERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFFrRkJhVUlzWTBGQll6dEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4aFFVRmhPMEZCUXpsQ08wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xGbEJRVms3UVVGREwwSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4clFrRkJhMElzWVVGQllUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMkZsY3k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklHSmhjMlZrSUc5dUlIUm9aU0JoWlhNZ2FXMXdiR2x0Wlc1MFlYUnBiMjRnYVc0Z2RISnBjR3hsSUhObFkxeHVMeThnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJ0bGVXSmhjMlV2ZEhKcGNHeGxjMlZqWEc0dkx5QjNhR2xqYUNCcGN5QnBiaUIwZFhKdUlHSmhjMlZrSUc5dUlIUm9aU0J2Ym1VZ1puSnZiU0JqY25sd2RHOHRhbk5jYmk4dklHaDBkSEJ6T2k4dlkyOWtaUzVuYjI5bmJHVXVZMjl0TDNBdlkzSjVjSFJ2TFdwekwxeHVYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSmNibHh1Wm5WdVkzUnBiMjRnWVhOVlNXNTBNekpCY25KaGVTQW9ZblZtS1NCN1hHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dKMVppa3BJR0oxWmlBOUlFSjFabVpsY2k1bWNtOXRLR0oxWmlsY2JseHVJQ0IyWVhJZ2JHVnVJRDBnS0dKMVppNXNaVzVuZEdnZ0x5QTBLU0I4SURCY2JpQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQmNuSmhlU2hzWlc0cFhHNWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUc5MWRGdHBYU0E5SUdKMVppNXlaV0ZrVlVsdWRETXlRa1VvYVNBcUlEUXBYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiM1YwWEc1OVhHNWNibVoxYm1OMGFXOXVJSE5qY25WaVZtVmpJQ2gyS1NCN1hHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZGk1c1pXNW5kR2c3SUhZckt5a2dlMXh1SUNBZ0lIWmJhVjBnUFNBd1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZM0o1Y0hSQ2JHOWpheUFvVFN3Z2EyVjVVMk5vWldSMWJHVXNJRk5WUWw5TlNWZ3NJRk5DVDFnc0lHNVNiM1Z1WkhNcElIdGNiaUFnZG1GeUlGTlZRbDlOU1Znd0lEMGdVMVZDWDAxSldGc3dYVnh1SUNCMllYSWdVMVZDWDAxSldERWdQU0JUVlVKZlRVbFlXekZkWEc0Z0lIWmhjaUJUVlVKZlRVbFlNaUE5SUZOVlFsOU5TVmhiTWwxY2JpQWdkbUZ5SUZOVlFsOU5TVmd6SUQwZ1UxVkNYMDFKV0ZzelhWeHVYRzRnSUhaaGNpQnpNQ0E5SUUxYk1GMGdYaUJyWlhsVFkyaGxaSFZzWlZzd1hWeHVJQ0IyWVhJZ2N6RWdQU0JOV3pGZElGNGdhMlY1VTJOb1pXUjFiR1ZiTVYxY2JpQWdkbUZ5SUhNeUlEMGdUVnN5WFNCZUlHdGxlVk5qYUdWa2RXeGxXekpkWEc0Z0lIWmhjaUJ6TXlBOUlFMWJNMTBnWGlCclpYbFRZMmhsWkhWc1pWc3pYVnh1SUNCMllYSWdkREFzSUhReExDQjBNaXdnZEROY2JpQWdkbUZ5SUd0elVtOTNJRDBnTkZ4dVhHNGdJR1p2Y2lBb2RtRnlJSEp2ZFc1a0lEMGdNVHNnY205MWJtUWdQQ0J1VW05MWJtUnpPeUJ5YjNWdVpDc3JLU0I3WEc0Z0lDQWdkREFnUFNCVFZVSmZUVWxZTUZ0ek1DQStQajRnTWpSZElGNGdVMVZDWDAxSldERmJLSE14SUQ0K1BpQXhOaWtnSmlBd2VHWm1YU0JlSUZOVlFsOU5TVmd5V3loek1pQStQajRnT0NrZ0ppQXdlR1ptWFNCZUlGTlZRbDlOU1ZnelczTXpJQ1lnTUhobVpsMGdYaUJyWlhsVFkyaGxaSFZzWlZ0cmMxSnZkeXNyWFZ4dUlDQWdJSFF4SUQwZ1UxVkNYMDFKV0RCYmN6RWdQajQrSURJMFhTQmVJRk5WUWw5TlNWZ3hXeWh6TWlBK1BqNGdNVFlwSUNZZ01IaG1abDBnWGlCVFZVSmZUVWxZTWxzb2N6TWdQajQrSURncElDWWdNSGhtWmwwZ1hpQlRWVUpmVFVsWU0xdHpNQ0FtSURCNFptWmRJRjRnYTJWNVUyTm9aV1IxYkdWYmEzTlNiM2NySzExY2JpQWdJQ0IwTWlBOUlGTlZRbDlOU1Znd1czTXlJRDQrUGlBeU5GMGdYaUJUVlVKZlRVbFlNVnNvY3pNZ1BqNCtJREUyS1NBbUlEQjRabVpkSUY0Z1UxVkNYMDFKV0RKYktITXdJRDQrUGlBNEtTQW1JREI0Wm1aZElGNGdVMVZDWDAxSldETmJjekVnSmlBd2VHWm1YU0JlSUd0bGVWTmphR1ZrZFd4bFcydHpVbTkzS3l0ZFhHNGdJQ0FnZERNZ1BTQlRWVUpmVFVsWU1GdHpNeUErUGo0Z01qUmRJRjRnVTFWQ1gwMUpXREZiS0hNd0lENCtQaUF4TmlrZ0ppQXdlR1ptWFNCZUlGTlZRbDlOU1ZneVd5aHpNU0ErUGo0Z09Da2dKaUF3ZUdabVhTQmVJRk5WUWw5TlNWZ3pXM015SUNZZ01IaG1abDBnWGlCclpYbFRZMmhsWkhWc1pWdHJjMUp2ZHlzclhWeHVJQ0FnSUhNd0lEMGdkREJjYmlBZ0lDQnpNU0E5SUhReFhHNGdJQ0FnY3pJZ1BTQjBNbHh1SUNBZ0lITXpJRDBnZEROY2JpQWdmVnh1WEc0Z0lIUXdJRDBnS0NoVFFrOVlXM013SUQ0K1BpQXlORjBnUER3Z01qUXBJSHdnS0ZOQ1QxaGJLSE14SUQ0K1BpQXhOaWtnSmlBd2VHWm1YU0E4UENBeE5pa2dmQ0FvVTBKUFdGc29jeklnUGo0K0lEZ3BJQ1lnTUhobVpsMGdQRHdnT0NrZ2ZDQlRRazlZVzNNeklDWWdNSGhtWmwwcElGNGdhMlY1VTJOb1pXUjFiR1ZiYTNOU2IzY3JLMTFjYmlBZ2RERWdQU0FvS0ZOQ1QxaGJjekVnUGo0K0lESTBYU0E4UENBeU5Da2dmQ0FvVTBKUFdGc29jeklnUGo0K0lERTJLU0FtSURCNFptWmRJRHc4SURFMktTQjhJQ2hUUWs5WVd5aHpNeUErUGo0Z09Da2dKaUF3ZUdabVhTQThQQ0E0S1NCOElGTkNUMWhiY3pBZ0ppQXdlR1ptWFNrZ1hpQnJaWGxUWTJobFpIVnNaVnRyYzFKdmR5c3JYVnh1SUNCME1pQTlJQ2dvVTBKUFdGdHpNaUErUGo0Z01qUmRJRHc4SURJMEtTQjhJQ2hUUWs5WVd5aHpNeUErUGo0Z01UWXBJQ1lnTUhobVpsMGdQRHdnTVRZcElId2dLRk5DVDFoYktITXdJRDQrUGlBNEtTQW1JREI0Wm1aZElEdzhJRGdwSUh3Z1UwSlBXRnR6TVNBbUlEQjRabVpkS1NCZUlHdGxlVk5qYUdWa2RXeGxXMnR6VW05M0t5dGRYRzRnSUhReklEMGdLQ2hUUWs5WVczTXpJRDQrUGlBeU5GMGdQRHdnTWpRcElId2dLRk5DVDFoYktITXdJRDQrUGlBeE5pa2dKaUF3ZUdabVhTQThQQ0F4TmlrZ2ZDQW9VMEpQV0Zzb2N6RWdQajQrSURncElDWWdNSGhtWmwwZ1BEd2dPQ2tnZkNCVFFrOVlXM015SUNZZ01IaG1abDBwSUY0Z2EyVjVVMk5vWldSMWJHVmJhM05TYjNjcksxMWNiaUFnZERBZ1BTQjBNQ0ErUGo0Z01GeHVJQ0IwTVNBOUlIUXhJRDQrUGlBd1hHNGdJSFF5SUQwZ2RESWdQajQrSURCY2JpQWdkRE1nUFNCME15QStQajRnTUZ4dVhHNGdJSEpsZEhWeWJpQmJkREFzSUhReExDQjBNaXdnZEROZFhHNTlYRzVjYmk4dklFRkZVeUJqYjI1emRHRnVkSE5jYm5aaGNpQlNRMDlPSUQwZ1d6QjRNREFzSURCNE1ERXNJREI0TURJc0lEQjRNRFFzSURCNE1EZ3NJREI0TVRBc0lEQjRNakFzSURCNE5EQXNJREI0T0RBc0lEQjRNV0lzSURCNE16WmRYRzUyWVhJZ1J5QTlJQ2htZFc1amRHbHZiaUFvS1NCN1hHNGdJQzh2SUVOdmJYQjFkR1VnWkc5MVlteGxJSFJoWW14bFhHNGdJSFpoY2lCa0lEMGdibVYzSUVGeWNtRjVLREkxTmlsY2JpQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0F5TlRZN0lHb3JLeWtnZTF4dUlDQWdJR2xtSUNocUlEd2dNVEk0S1NCN1hHNGdJQ0FnSUNCa1cycGRJRDBnYWlBOFBDQXhYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdSYmFsMGdQU0FvYWlBOFBDQXhLU0JlSURCNE1URmlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUZOQ1QxZ2dQU0JiWFZ4dUlDQjJZWElnU1U1V1gxTkNUMWdnUFNCYlhWeHVJQ0IyWVhJZ1UxVkNYMDFKV0NBOUlGdGJYU3dnVzEwc0lGdGRMQ0JiWFYxY2JpQWdkbUZ5SUVsT1ZsOVRWVUpmVFVsWUlEMGdXMXRkTENCYlhTd2dXMTBzSUZ0ZFhWeHVYRzRnSUM4dklGZGhiR3NnUjBZb01sNDRLVnh1SUNCMllYSWdlQ0E5SURCY2JpQWdkbUZ5SUhocElEMGdNRnh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElESTFOanNnS3l0cEtTQjdYRzRnSUNBZ0x5OGdRMjl0Y0hWMFpTQnpZbTk0WEc0Z0lDQWdkbUZ5SUhONElEMGdlR2tnWGlBb2VHa2dQRHdnTVNrZ1hpQW9lR2tnUER3Z01pa2dYaUFvZUdrZ1BEd2dNeWtnWGlBb2VHa2dQRHdnTkNsY2JpQWdJQ0J6ZUNBOUlDaHplQ0ErUGo0Z09Da2dYaUFvYzNnZ0ppQXdlR1ptS1NCZUlEQjROak5jYmlBZ0lDQlRRazlZVzNoZElEMGdjM2hjYmlBZ0lDQkpUbFpmVTBKUFdGdHplRjBnUFNCNFhHNWNiaUFnSUNBdkx5QkRiMjF3ZFhSbElHMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lDQWdkbUZ5SUhneUlEMGdaRnQ0WFZ4dUlDQWdJSFpoY2lCNE5DQTlJR1JiZURKZFhHNGdJQ0FnZG1GeUlIZzRJRDBnWkZ0NE5GMWNibHh1SUNBZ0lDOHZJRU52YlhCMWRHVWdjM1ZpSUdKNWRHVnpMQ0J0YVhnZ1kyOXNkVzF1Y3lCMFlXSnNaWE5jYmlBZ0lDQjJZWElnZENBOUlDaGtXM040WFNBcUlEQjRNVEF4S1NCZUlDaHplQ0FxSURCNE1UQXhNREV3TUNsY2JpQWdJQ0JUVlVKZlRVbFlXekJkVzNoZElEMGdLSFFnUER3Z01qUXBJSHdnS0hRZ1BqNCtJRGdwWEc0Z0lDQWdVMVZDWDAxSldGc3hYVnQ0WFNBOUlDaDBJRHc4SURFMktTQjhJQ2gwSUQ0K1BpQXhOaWxjYmlBZ0lDQlRWVUpmVFVsWVd6SmRXM2hkSUQwZ0tIUWdQRHdnT0NrZ2ZDQW9kQ0ErUGo0Z01qUXBYRzRnSUNBZ1UxVkNYMDFKV0ZzelhWdDRYU0E5SUhSY2JseHVJQ0FnSUM4dklFTnZiWEIxZEdVZ2FXNTJJSE4xWWlCaWVYUmxjeXdnYVc1MklHMXBlQ0JqYjJ4MWJXNXpJSFJoWW14bGMxeHVJQ0FnSUhRZ1BTQW9lRGdnS2lBd2VERXdNVEF4TURFcElGNGdLSGcwSUNvZ01IZ3hNREF3TVNrZ1hpQW9lRElnS2lBd2VERXdNU2tnWGlBb2VDQXFJREI0TVRBeE1ERXdNQ2xjYmlBZ0lDQkpUbFpmVTFWQ1gwMUpXRnN3WFZ0emVGMGdQU0FvZENBOFBDQXlOQ2tnZkNBb2RDQStQajRnT0NsY2JpQWdJQ0JKVGxaZlUxVkNYMDFKV0ZzeFhWdHplRjBnUFNBb2RDQThQQ0F4TmlrZ2ZDQW9kQ0ErUGo0Z01UWXBYRzRnSUNBZ1NVNVdYMU5WUWw5TlNWaGJNbDFiYzNoZElEMGdLSFFnUER3Z09Da2dmQ0FvZENBK1BqNGdNalFwWEc0Z0lDQWdTVTVXWDFOVlFsOU5TVmhiTTExYmMzaGRJRDBnZEZ4dVhHNGdJQ0FnYVdZZ0tIZ2dQVDA5SURBcElIdGNiaUFnSUNBZ0lIZ2dQU0I0YVNBOUlERmNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZUNBOUlIZ3lJRjRnWkZ0a1cyUmJlRGdnWGlCNE1sMWRYVnh1SUNBZ0lDQWdlR2tnWGowZ1pGdGtXM2hwWFYxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZTF4dUlDQWdJRk5DVDFnNklGTkNUMWdzWEc0Z0lDQWdTVTVXWDFOQ1QxZzZJRWxPVmw5VFFrOVlMRnh1SUNBZ0lGTlZRbDlOU1ZnNklGTlZRbDlOU1Znc1hHNGdJQ0FnU1U1V1gxTlZRbDlOU1ZnNklFbE9WbDlUVlVKZlRVbFlYRzRnSUgxY2JuMHBLQ2xjYmx4dVpuVnVZM1JwYjI0Z1FVVlRJQ2hyWlhrcElIdGNiaUFnZEdocGN5NWZhMlY1SUQwZ1lYTlZTVzUwTXpKQmNuSmhlU2hyWlhrcFhHNGdJSFJvYVhNdVgzSmxjMlYwS0NsY2JuMWNibHh1UVVWVExtSnNiMk5yVTJsNlpTQTlJRFFnS2lBMFhHNUJSVk11YTJWNVUybDZaU0E5SURJMU5pQXZJRGhjYmtGRlV5NXdjbTkwYjNSNWNHVXVZbXh2WTJ0VGFYcGxJRDBnUVVWVExtSnNiMk5yVTJsNlpWeHVRVVZUTG5CeWIzUnZkSGx3WlM1clpYbFRhWHBsSUQwZ1FVVlRMbXRsZVZOcGVtVmNia0ZGVXk1d2NtOTBiM1I1Y0dVdVgzSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdhMlY1VjI5eVpITWdQU0IwYUdsekxsOXJaWGxjYmlBZ2RtRnlJR3RsZVZOcGVtVWdQU0JyWlhsWGIzSmtjeTVzWlc1bmRHaGNiaUFnZG1GeUlHNVNiM1Z1WkhNZ1BTQnJaWGxUYVhwbElDc2dObHh1SUNCMllYSWdhM05TYjNkeklEMGdLRzVTYjNWdVpITWdLeUF4S1NBcUlEUmNibHh1SUNCMllYSWdhMlY1VTJOb1pXUjFiR1VnUFNCYlhWeHVJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Ec2dheUE4SUd0bGVWTnBlbVU3SUdzckt5a2dlMXh1SUNBZ0lHdGxlVk5qYUdWa2RXeGxXMnRkSUQwZ2EyVjVWMjl5WkhOYmExMWNiaUFnZlZ4dVhHNGdJR1p2Y2lBb2F5QTlJR3RsZVZOcGVtVTdJR3NnUENCcmMxSnZkM003SUdzckt5a2dlMXh1SUNBZ0lIWmhjaUIwSUQwZ2EyVjVVMk5vWldSMWJHVmJheUF0SURGZFhHNWNiaUFnSUNCcFppQW9heUFsSUd0bGVWTnBlbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFFnUFNBb2RDQThQQ0E0S1NCOElDaDBJRDQrUGlBeU5DbGNiaUFnSUNBZ0lIUWdQVnh1SUNBZ0lDQWdJQ0FvUnk1VFFrOVlXM1FnUGo0K0lESTBYU0E4UENBeU5Da2dmRnh1SUNBZ0lDQWdJQ0FvUnk1VFFrOVlXeWgwSUQ0K1BpQXhOaWtnSmlBd2VHWm1YU0E4UENBeE5pa2dmRnh1SUNBZ0lDQWdJQ0FvUnk1VFFrOVlXeWgwSUQ0K1BpQTRLU0FtSURCNFptWmRJRHc4SURncElIeGNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGdDBJQ1lnTUhobVpsMHBYRzVjYmlBZ0lDQWdJSFFnWGowZ1VrTlBUbHNvYXlBdklHdGxlVk5wZW1VcElId2dNRjBnUER3Z01qUmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHdGxlVk5wZW1VZ1BpQTJJQ1ltSUdzZ0pTQnJaWGxUYVhwbElEMDlQU0EwS1NCN1hHNGdJQ0FnSUNCMElEMWNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGdDBJRDQrUGlBeU5GMGdQRHdnTWpRcElIeGNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGc29kQ0ErUGo0Z01UWXBJQ1lnTUhobVpsMGdQRHdnTVRZcElIeGNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGc29kQ0ErUGo0Z09Da2dKaUF3ZUdabVhTQThQQ0E0S1NCOFhHNGdJQ0FnSUNBZ0lDaEhMbE5DVDFoYmRDQW1JREI0Wm1aZEtWeHVJQ0FnSUgxY2JseHVJQ0FnSUd0bGVWTmphR1ZrZFd4bFcydGRJRDBnYTJWNVUyTm9aV1IxYkdWYmF5QXRJR3RsZVZOcGVtVmRJRjRnZEZ4dUlDQjlYRzVjYmlBZ2RtRnlJR2x1ZGt0bGVWTmphR1ZrZFd4bElEMGdXMTFjYmlBZ1ptOXlJQ2gyWVhJZ2FXc2dQU0F3T3lCcGF5QThJR3R6VW05M2N6c2dhV3NyS3lrZ2UxeHVJQ0FnSUhaaGNpQnJjMUlnUFNCcmMxSnZkM01nTFNCcGExeHVJQ0FnSUhaaGNpQjBkQ0E5SUd0bGVWTmphR1ZrZFd4bFcydHpVaUF0SUNocGF5QWxJRFFnUHlBd0lEb2dOQ2xkWEc1Y2JpQWdJQ0JwWmlBb2FXc2dQQ0EwSUh4OElHdHpVaUE4UFNBMEtTQjdYRzRnSUNBZ0lDQnBiblpMWlhsVFkyaGxaSFZzWlZ0cGExMGdQU0IwZEZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBiblpMWlhsVFkyaGxaSFZzWlZ0cGExMGdQVnh1SUNBZ0lDQWdJQ0JITGtsT1ZsOVRWVUpmVFVsWVd6QmRXMGN1VTBKUFdGdDBkQ0ErUGo0Z01qUmRYU0JlWEc0Z0lDQWdJQ0FnSUVjdVNVNVdYMU5WUWw5TlNWaGJNVjFiUnk1VFFrOVlXeWgwZENBK1BqNGdNVFlwSUNZZ01IaG1abDFkSUY1Y2JpQWdJQ0FnSUNBZ1J5NUpUbFpmVTFWQ1gwMUpXRnN5WFZ0SExsTkNUMWhiS0hSMElENCtQaUE0S1NBbUlEQjRabVpkWFNCZVhHNGdJQ0FnSUNBZ0lFY3VTVTVXWDFOVlFsOU5TVmhiTTExYlJ5NVRRazlZVzNSMElDWWdNSGhtWmwxZFhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RHaHBjeTVmYmxKdmRXNWtjeUE5SUc1U2IzVnVaSE5jYmlBZ2RHaHBjeTVmYTJWNVUyTm9aV1IxYkdVZ1BTQnJaWGxUWTJobFpIVnNaVnh1SUNCMGFHbHpMbDlwYm5aTFpYbFRZMmhsWkhWc1pTQTlJR2x1ZGt0bGVWTmphR1ZrZFd4bFhHNTlYRzVjYmtGRlV5NXdjbTkwYjNSNWNHVXVaVzVqY25sd2RFSnNiMk5yVW1GM0lEMGdablZ1WTNScGIyNGdLRTBwSUh0Y2JpQWdUU0E5SUdGelZVbHVkRE15UVhKeVlYa29UU2xjYmlBZ2NtVjBkWEp1SUdOeWVYQjBRbXh2WTJzb1RTd2dkR2hwY3k1ZmEyVjVVMk5vWldSMWJHVXNJRWN1VTFWQ1gwMUpXQ3dnUnk1VFFrOVlMQ0IwYUdsekxsOXVVbTkxYm1SektWeHVmVnh1WEc1QlJWTXVjSEp2ZEc5MGVYQmxMbVZ1WTNKNWNIUkNiRzlqYXlBOUlHWjFibU4wYVc5dUlDaE5LU0I3WEc0Z0lIWmhjaUJ2ZFhRZ1BTQjBhR2x6TG1WdVkzSjVjSFJDYkc5amExSmhkeWhOS1Z4dUlDQjJZWElnWW5WbUlEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLREUyS1Z4dUlDQmlkV1l1ZDNKcGRHVlZTVzUwTXpKQ1JTaHZkWFJiTUYwc0lEQXBYRzRnSUdKMVppNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3hYU3dnTkNsY2JpQWdZblZtTG5keWFYUmxWVWx1ZERNeVFrVW9iM1YwV3pKZExDQTRLVnh1SUNCaWRXWXVkM0pwZEdWVlNXNTBNekpDUlNodmRYUmJNMTBzSURFeUtWeHVJQ0J5WlhSMWNtNGdZblZtWEc1OVhHNWNia0ZGVXk1d2NtOTBiM1I1Y0dVdVpHVmpjbmx3ZEVKc2IyTnJJRDBnWm5WdVkzUnBiMjRnS0UwcElIdGNiaUFnVFNBOUlHRnpWVWx1ZERNeVFYSnlZWGtvVFNsY2JseHVJQ0F2THlCemQyRndYRzRnSUhaaGNpQnRNU0E5SUUxYk1WMWNiaUFnVFZzeFhTQTlJRTFiTTExY2JpQWdUVnN6WFNBOUlHMHhYRzVjYmlBZ2RtRnlJRzkxZENBOUlHTnllWEIwUW14dlkyc29UU3dnZEdocGN5NWZhVzUyUzJWNVUyTm9aV1IxYkdVc0lFY3VTVTVXWDFOVlFsOU5TVmdzSUVjdVNVNVdYMU5DVDFnc0lIUm9hWE11WDI1U2IzVnVaSE1wWEc0Z0lIWmhjaUJpZFdZZ1BTQkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVW9NVFlwWEc0Z0lHSjFaaTUzY21sMFpWVkpiblF6TWtKRktHOTFkRnN3WFN3Z01DbGNiaUFnWW5WbUxuZHlhWFJsVlVsdWRETXlRa1VvYjNWMFd6TmRMQ0EwS1Z4dUlDQmlkV1l1ZDNKcGRHVlZTVzUwTXpKQ1JTaHZkWFJiTWwwc0lEZ3BYRzRnSUdKMVppNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3hYU3dnTVRJcFhHNGdJSEpsZEhWeWJpQmlkV1pjYm4xY2JseHVRVVZUTG5CeWIzUnZkSGx3WlM1elkzSjFZaUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnYzJOeWRXSldaV01vZEdocGN5NWZhMlY1VTJOb1pXUjFiR1VwWEc0Z0lITmpjblZpVm1WaktIUm9hWE11WDJsdWRrdGxlVk5qYUdWa2RXeGxLVnh1SUNCelkzSjFZbFpsWXloMGFHbHpMbDlyWlhrcFhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpMa0ZGVXlBOUlFRkZVMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hZXMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2F1dGhDaXBoZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBhZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBHSEFTSCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZ2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2doYXNoLmpzXFxcIilcXG52YXIgeG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyLXhvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qc1xcXCIpXFxudmFyIGluY3IzMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW5jcjMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9pbmNyMzIuanNcXFwiKVxcblxcbmZ1bmN0aW9uIHhvclRlc3QgKGEsIGIpIHtcXG4gIHZhciBvdXQgPSAwXFxuICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSBvdXQrK1xcblxcbiAgdmFyIGxlbiA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcXG4gICAgb3V0ICs9IChhW2ldIF4gYltpXSlcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gY2FsY0l2IChzZWxmLCBpdiwgY2spIHtcXG4gIGlmIChpdi5sZW5ndGggPT09IDEyKSB7XFxuICAgIHNlbGYuX2ZpbklEID0gQnVmZmVyLmNvbmNhdChbaXYsIEJ1ZmZlci5mcm9tKFswLCAwLCAwLCAxXSldKVxcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbaXYsIEJ1ZmZlci5mcm9tKFswLCAwLCAwLCAyXSldKVxcbiAgfVxcbiAgdmFyIGdoYXNoID0gbmV3IEdIQVNIKGNrKVxcbiAgdmFyIGxlbiA9IGl2Lmxlbmd0aFxcbiAgdmFyIHRvUGFkID0gbGVuICUgMTZcXG4gIGdoYXNoLnVwZGF0ZShpdilcXG4gIGlmICh0b1BhZCkge1xcbiAgICB0b1BhZCA9IDE2IC0gdG9QYWRcXG4gICAgZ2hhc2gudXBkYXRlKEJ1ZmZlci5hbGxvYyh0b1BhZCwgMCkpXFxuICB9XFxuICBnaGFzaC51cGRhdGUoQnVmZmVyLmFsbG9jKDgsIDApKVxcbiAgdmFyIGl2Qml0cyA9IGxlbiAqIDhcXG4gIHZhciB0YWlsID0gQnVmZmVyLmFsbG9jKDgpXFxuICB0YWlsLndyaXRlVUludEJFKGl2Qml0cywgMCwgOClcXG4gIGdoYXNoLnVwZGF0ZSh0YWlsKVxcbiAgc2VsZi5fZmluSUQgPSBnaGFzaC5zdGF0ZVxcbiAgdmFyIG91dCA9IEJ1ZmZlci5mcm9tKHNlbGYuX2ZpbklEKVxcbiAgaW5jcjMyKG91dClcXG4gIHJldHVybiBvdXRcXG59XFxuZnVuY3Rpb24gU3RyZWFtQ2lwaGVyIChtb2RlLCBrZXksIGl2LCBkZWNyeXB0KSB7XFxuICBUcmFuc2Zvcm0uY2FsbCh0aGlzKVxcblxcbiAgdmFyIGggPSBCdWZmZXIuYWxsb2MoNCwgMClcXG5cXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcXG4gIHZhciBjayA9IHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2soaClcXG4gIHRoaXMuX2doYXNoID0gbmV3IEdIQVNIKGNrKVxcbiAgaXYgPSBjYWxjSXYodGhpcywgaXYsIGNrKVxcblxcbiAgdGhpcy5fcHJldiA9IEJ1ZmZlci5mcm9tKGl2KVxcbiAgdGhpcy5fY2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcXG4gIHRoaXMuX3NlY0NhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxuICB0aGlzLl9kZWNyeXB0ID0gZGVjcnlwdFxcbiAgdGhpcy5fYWxlbiA9IDBcXG4gIHRoaXMuX2xlbiA9IDBcXG4gIHRoaXMuX21vZGUgPSBtb2RlXFxuXFxuICB0aGlzLl9hdXRoVGFnID0gbnVsbFxcbiAgdGhpcy5fY2FsbGVkID0gZmFsc2VcXG59XFxuXFxuaW5oZXJpdHMoU3RyZWFtQ2lwaGVyLCBUcmFuc2Zvcm0pXFxuXFxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGNodW5rKSB7XFxuICBpZiAoIXRoaXMuX2NhbGxlZCAmJiB0aGlzLl9hbGVuKSB7XFxuICAgIHZhciBydW1wID0gMTYgLSAodGhpcy5fYWxlbiAlIDE2KVxcbiAgICBpZiAocnVtcCA8IDE2KSB7XFxuICAgICAgcnVtcCA9IEJ1ZmZlci5hbGxvYyhydW1wLCAwKVxcbiAgICAgIHRoaXMuX2doYXNoLnVwZGF0ZShydW1wKVxcbiAgICB9XFxuICB9XFxuXFxuICB0aGlzLl9jYWxsZWQgPSB0cnVlXFxuICB2YXIgb3V0ID0gdGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsIGNodW5rKVxcbiAgaWYgKHRoaXMuX2RlY3J5cHQpIHtcXG4gICAgdGhpcy5fZ2hhc2gudXBkYXRlKGNodW5rKVxcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5fZ2hhc2gudXBkYXRlKG91dClcXG4gIH1cXG4gIHRoaXMuX2xlbiArPSBjaHVuay5sZW5ndGhcXG4gIHJldHVybiBvdXRcXG59XFxuXFxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XFxuICBpZiAodGhpcy5fZGVjcnlwdCAmJiAhdGhpcy5fYXV0aFRhZykgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBzdGF0ZSBvciB1bmFibGUgdG8gYXV0aGVudGljYXRlIGRhdGEnKVxcblxcbiAgdmFyIHRhZyA9IHhvcih0aGlzLl9naGFzaC5maW5hbCh0aGlzLl9hbGVuICogOCwgdGhpcy5fbGVuICogOCksIHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodGhpcy5fZmluSUQpKVxcbiAgaWYgKHRoaXMuX2RlY3J5cHQgJiYgeG9yVGVzdCh0YWcsIHRoaXMuX2F1dGhUYWcpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHN0YXRlIG9yIHVuYWJsZSB0byBhdXRoZW50aWNhdGUgZGF0YScpXFxuXFxuICB0aGlzLl9hdXRoVGFnID0gdGFnXFxuICB0aGlzLl9jaXBoZXIuc2NydWIoKVxcbn1cXG5cXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLmdldEF1dGhUYWcgPSBmdW5jdGlvbiBnZXRBdXRoVGFnICgpIHtcXG4gIGlmICh0aGlzLl9kZWNyeXB0IHx8ICFCdWZmZXIuaXNCdWZmZXIodGhpcy5fYXV0aFRhZykpIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxcblxcbiAgcmV0dXJuIHRoaXMuX2F1dGhUYWdcXG59XFxuXFxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5zZXRBdXRoVGFnID0gZnVuY3Rpb24gc2V0QXV0aFRhZyAodGFnKSB7XFxuICBpZiAoIXRoaXMuX2RlY3J5cHQpIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGluZyB0byBzZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxcblxcbiAgdGhpcy5fYXV0aFRhZyA9IHRhZ1xcbn1cXG5cXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLnNldEFBRCA9IGZ1bmN0aW9uIHNldEFBRCAoYnVmKSB7XFxuICBpZiAodGhpcy5fY2FsbGVkKSB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gc2V0IEFBRCBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXFxuXFxuICB0aGlzLl9naGFzaC51cGRhdGUoYnVmKVxcbiAgdGhpcy5fYWxlbiArPSBidWYubGVuZ3RoXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtQ2lwaGVyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWhkWFJvUTJsd2FHVnlMbXB6UHpnMU16UWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRzFFUVVGUE8wRkJRM3BDTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHRCUVVOeVF5eGxRVUZsTEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3UVVGRGFrTXNXVUZCV1N4dFFrRkJUeXhEUVVGRExIVkVRVUZUTzBGQlF6ZENMRlZCUVZVc2JVSkJRVThzUTBGQlF5eHpSRUZCV1R0QlFVTTVRaXhoUVVGaExHMUNRVUZQTEVOQlFVTXNlVVJCUVZVN08wRkJSUzlDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4VFFVRlRPMEZCUXpGQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWhkWFJvUTJsd2FHVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdGbGN5QTlJSEpsY1hWcGNtVW9KeTR2WVdWekp5bGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVkbUZ5SUZSeVlXNXpabTl5YlNBOUlISmxjWFZwY21Vb0oyTnBjR2hsY2kxaVlYTmxKeWxjYm5aaGNpQnBibWhsY21sMGN5QTlJSEpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWxjYm5aaGNpQkhTRUZUU0NBOUlISmxjWFZwY21Vb0p5NHZaMmhoYzJnbktWeHVkbUZ5SUhodmNpQTlJSEpsY1hWcGNtVW9KMkoxWm1abGNpMTRiM0luS1Z4dWRtRnlJR2x1WTNJek1pQTlJSEpsY1hWcGNtVW9KeTR2YVc1amNqTXlKeWxjYmx4dVpuVnVZM1JwYjI0Z2VHOXlWR1Z6ZENBb1lTd2dZaWtnZTF4dUlDQjJZWElnYjNWMElEMGdNRnh1SUNCcFppQW9ZUzVzWlc1bmRHZ2dJVDA5SUdJdWJHVnVaM1JvS1NCdmRYUXJLMXh1WEc0Z0lIWmhjaUJzWlc0Z1BTQk5ZWFJvTG0xcGJpaGhMbXhsYm1kMGFDd2dZaTVzWlc1bmRHZ3BYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVPeUFySzJrcElIdGNiaUFnSUNCdmRYUWdLejBnS0dGYmFWMGdYaUJpVzJsZEtWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHOTFkRnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpZV3hqU1hZZ0tITmxiR1lzSUdsMkxDQmpheWtnZTF4dUlDQnBaaUFvYVhZdWJHVnVaM1JvSUQwOVBTQXhNaWtnZTF4dUlDQWdJSE5sYkdZdVgyWnBia2xFSUQwZ1FuVm1abVZ5TG1OdmJtTmhkQ2hiYVhZc0lFSjFabVpsY2k1bWNtOXRLRnN3TENBd0xDQXdMQ0F4WFNsZEtWeHVJQ0FnSUhKbGRIVnliaUJDZFdabVpYSXVZMjl1WTJGMEtGdHBkaXdnUW5WbVptVnlMbVp5YjIwb1d6QXNJREFzSURBc0lESmRLVjBwWEc0Z0lIMWNiaUFnZG1GeUlHZG9ZWE5vSUQwZ2JtVjNJRWRJUVZOSUtHTnJLVnh1SUNCMllYSWdiR1Z1SUQwZ2FYWXViR1Z1WjNSb1hHNGdJSFpoY2lCMGIxQmhaQ0E5SUd4bGJpQWxJREUyWEc0Z0lHZG9ZWE5vTG5Wd1pHRjBaU2hwZGlsY2JpQWdhV1lnS0hSdlVHRmtLU0I3WEc0Z0lDQWdkRzlRWVdRZ1BTQXhOaUF0SUhSdlVHRmtYRzRnSUNBZ1oyaGhjMmd1ZFhCa1lYUmxLRUoxWm1abGNpNWhiR3h2WXloMGIxQmhaQ3dnTUNrcFhHNGdJSDFjYmlBZ1oyaGhjMmd1ZFhCa1lYUmxLRUoxWm1abGNpNWhiR3h2WXlnNExDQXdLU2xjYmlBZ2RtRnlJR2wyUW1sMGN5QTlJR3hsYmlBcUlEaGNiaUFnZG1GeUlIUmhhV3dnUFNCQ2RXWm1aWEl1WVd4c2IyTW9PQ2xjYmlBZ2RHRnBiQzUzY21sMFpWVkpiblJDUlNocGRrSnBkSE1zSURBc0lEZ3BYRzRnSUdkb1lYTm9MblZ3WkdGMFpTaDBZV2xzS1Z4dUlDQnpaV3htTGw5bWFXNUpSQ0E5SUdkb1lYTm9Mbk4wWVhSbFhHNGdJSFpoY2lCdmRYUWdQU0JDZFdabVpYSXVabkp2YlNoelpXeG1MbDltYVc1SlJDbGNiaUFnYVc1amNqTXlLRzkxZENsY2JpQWdjbVYwZFhKdUlHOTFkRnh1ZlZ4dVpuVnVZM1JwYjI0Z1UzUnlaV0Z0UTJsd2FHVnlJQ2h0YjJSbExDQnJaWGtzSUdsMkxDQmtaV055ZVhCMEtTQjdYRzRnSUZSeVlXNXpabTl5YlM1allXeHNLSFJvYVhNcFhHNWNiaUFnZG1GeUlHZ2dQU0JDZFdabVpYSXVZV3hzYjJNb05Dd2dNQ2xjYmx4dUlDQjBhR2x6TGw5amFYQm9aWElnUFNCdVpYY2dZV1Z6TGtGRlV5aHJaWGtwWEc0Z0lIWmhjaUJqYXlBOUlIUm9hWE11WDJOcGNHaGxjaTVsYm1OeWVYQjBRbXh2WTJzb2FDbGNiaUFnZEdocGN5NWZaMmhoYzJnZ1BTQnVaWGNnUjBoQlUwZ29ZMnNwWEc0Z0lHbDJJRDBnWTJGc1kwbDJLSFJvYVhNc0lHbDJMQ0JqYXlsY2JseHVJQ0IwYUdsekxsOXdjbVYySUQwZ1FuVm1abVZ5TG1aeWIyMG9hWFlwWEc0Z0lIUm9hWE11WDJOaFkyaGxJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0RBcFhHNGdJSFJvYVhNdVgzTmxZME5oWTJobElEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLREFwWEc0Z0lIUm9hWE11WDJSbFkzSjVjSFFnUFNCa1pXTnllWEIwWEc0Z0lIUm9hWE11WDJGc1pXNGdQU0F3WEc0Z0lIUm9hWE11WDJ4bGJpQTlJREJjYmlBZ2RHaHBjeTVmYlc5a1pTQTlJRzF2WkdWY2JseHVJQ0IwYUdsekxsOWhkWFJvVkdGbklEMGdiblZzYkZ4dUlDQjBhR2x6TGw5allXeHNaV1FnUFNCbVlXeHpaVnh1ZlZ4dVhHNXBibWhsY21sMGN5aFRkSEpsWVcxRGFYQm9aWElzSUZSeVlXNXpabTl5YlNsY2JseHVVM1J5WldGdFEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1ZmRYQmtZWFJsSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyS1NCN1hHNGdJR2xtSUNnaGRHaHBjeTVmWTJGc2JHVmtJQ1ltSUhSb2FYTXVYMkZzWlc0cElIdGNiaUFnSUNCMllYSWdjblZ0Y0NBOUlERTJJQzBnS0hSb2FYTXVYMkZzWlc0Z0pTQXhOaWxjYmlBZ0lDQnBaaUFvY25WdGNDQThJREUyS1NCN1hHNGdJQ0FnSUNCeWRXMXdJRDBnUW5WbVptVnlMbUZzYkc5aktISjFiWEFzSURBcFhHNGdJQ0FnSUNCMGFHbHpMbDluYUdGemFDNTFjR1JoZEdVb2NuVnRjQ2xjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IwYUdsekxsOWpZV3hzWldRZ1BTQjBjblZsWEc0Z0lIWmhjaUJ2ZFhRZ1BTQjBhR2x6TGw5dGIyUmxMbVZ1WTNKNWNIUW9kR2hwY3l3Z1kyaDFibXNwWEc0Z0lHbG1JQ2gwYUdsekxsOWtaV055ZVhCMEtTQjdYRzRnSUNBZ2RHaHBjeTVmWjJoaGMyZ3VkWEJrWVhSbEtHTm9kVzVyS1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSb2FYTXVYMmRvWVhOb0xuVndaR0YwWlNodmRYUXBYRzRnSUgxY2JpQWdkR2hwY3k1ZmJHVnVJQ3M5SUdOb2RXNXJMbXhsYm1kMGFGeHVJQ0J5WlhSMWNtNGdiM1YwWEc1OVhHNWNibE4wY21WaGJVTnBjR2hsY2k1d2NtOTBiM1I1Y0dVdVgyWnBibUZzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCcFppQW9kR2hwY3k1ZlpHVmpjbmx3ZENBbUppQWhkR2hwY3k1ZllYVjBhRlJoWnlrZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkVmJuTjFjSEJ2Y25SbFpDQnpkR0YwWlNCdmNpQjFibUZpYkdVZ2RHOGdZWFYwYUdWdWRHbGpZWFJsSUdSaGRHRW5LVnh1WEc0Z0lIWmhjaUIwWVdjZ1BTQjRiM0lvZEdocGN5NWZaMmhoYzJndVptbHVZV3dvZEdocGN5NWZZV3hsYmlBcUlEZ3NJSFJvYVhNdVgyeGxiaUFxSURncExDQjBhR2x6TGw5amFYQm9aWEl1Wlc1amNubHdkRUpzYjJOcktIUm9hWE11WDJacGJrbEVLU2xjYmlBZ2FXWWdLSFJvYVhNdVgyUmxZM0o1Y0hRZ0ppWWdlRzl5VkdWemRDaDBZV2NzSUhSb2FYTXVYMkYxZEdoVVlXY3BLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1YzNWd2NHOXlkR1ZrSUhOMFlYUmxJRzl5SUhWdVlXSnNaU0IwYnlCaGRYUm9aVzUwYVdOaGRHVWdaR0YwWVNjcFhHNWNiaUFnZEdocGN5NWZZWFYwYUZSaFp5QTlJSFJoWjF4dUlDQjBhR2x6TGw5amFYQm9aWEl1YzJOeWRXSW9LVnh1ZlZ4dVhHNVRkSEpsWVcxRGFYQm9aWEl1Y0hKdmRHOTBlWEJsTG1kbGRFRjFkR2hVWVdjZ1BTQm1kVzVqZEdsdmJpQm5aWFJCZFhSb1ZHRm5JQ2dwSUh0Y2JpQWdhV1lnS0hSb2FYTXVYMlJsWTNKNWNIUWdmSHdnSVVKMVptWmxjaTVwYzBKMVptWmxjaWgwYUdsekxsOWhkWFJvVkdGbktTa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZEJkSFJsYlhCMGFXNW5JSFJ2SUdkbGRDQmhkWFJvSUhSaFp5QnBiaUIxYm5OMWNIQnZjblJsWkNCemRHRjBaU2NwWEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJGMWRHaFVZV2RjYm4xY2JseHVVM1J5WldGdFEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1elpYUkJkWFJvVkdGbklEMGdablZ1WTNScGIyNGdjMlYwUVhWMGFGUmhaeUFvZEdGbktTQjdYRzRnSUdsbUlDZ2hkR2hwY3k1ZlpHVmpjbmx3ZENrZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmRIUmxiWEIwYVc1bklIUnZJSE5sZENCaGRYUm9JSFJoWnlCcGJpQjFibk4xY0hCdmNuUmxaQ0J6ZEdGMFpTY3BYRzVjYmlBZ2RHaHBjeTVmWVhWMGFGUmhaeUE5SUhSaFoxeHVmVnh1WEc1VGRISmxZVzFEYVhCb1pYSXVjSEp2ZEc5MGVYQmxMbk5sZEVGQlJDQTlJR1oxYm1OMGFXOXVJSE5sZEVGQlJDQW9ZblZtS1NCN1hHNGdJR2xtSUNoMGFHbHpMbDlqWVd4c1pXUXBJSFJvY205M0lHNWxkeUJGY25KdmNpZ25RWFIwWlcxd2RHbHVaeUIwYnlCelpYUWdRVUZFSUdsdUlIVnVjM1Z3Y0c5eWRHVmtJSE4wWVhSbEp5bGNibHh1SUNCMGFHbHpMbDluYUdGemFDNTFjR1JoZEdVb1luVm1LVnh1SUNCMGFHbHpMbDloYkdWdUlDczlJR0oxWmk1c1pXNW5kR2hjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRkSEpsWVcxRGFYQm9aWEpjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgY2lwaGVycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZW5jcnlwdGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9lbmNyeXB0ZXIuanNcXFwiKVxcbnZhciBkZWNpcGhlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlY3J5cHRlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZGVjcnlwdGVyLmpzXFxcIilcXG52YXIgbW9kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21vZGVzL2xpc3QuanNvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvbGlzdC5qc29uXFxcIilcXG5cXG5mdW5jdGlvbiBnZXRDaXBoZXJzICgpIHtcXG4gIHJldHVybiBPYmplY3Qua2V5cyhtb2RlcylcXG59XFxuXFxuZXhwb3J0cy5jcmVhdGVDaXBoZXIgPSBleHBvcnRzLkNpcGhlciA9IGNpcGhlcnMuY3JlYXRlQ2lwaGVyXFxuZXhwb3J0cy5jcmVhdGVDaXBoZXJpdiA9IGV4cG9ydHMuQ2lwaGVyaXYgPSBjaXBoZXJzLmNyZWF0ZUNpcGhlcml2XFxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlciA9IGV4cG9ydHMuRGVjaXBoZXIgPSBkZWNpcGhlcnMuY3JlYXRlRGVjaXBoZXJcXG5leHBvcnRzLmNyZWF0ZURlY2lwaGVyaXYgPSBleHBvcnRzLkRlY2lwaGVyaXYgPSBkZWNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdlxcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBleHBvcnRzLmdldENpcGhlcnMgPSBnZXRDaXBoZXJzXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWljbTkzYzJWeUxtcHpQelZpWVRZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZMEZCWXl4dFFrRkJUeXhEUVVGRExDdEVRVUZoTzBGQlEyNURMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMQ3RFUVVGaE8wRkJRM0pETEZsQlFWa3NiVUpCUVU4c1EwRkJReXgzUlVGQmJVSTdPMEZCUlhaRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMkp5YjNkelpYSXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnWTJsd2FHVnljeUE5SUhKbGNYVnBjbVVvSnk0dlpXNWpjbmx3ZEdWeUp5bGNiblpoY2lCa1pXTnBjR2hsY25NZ1BTQnlaWEYxYVhKbEtDY3VMMlJsWTNKNWNIUmxjaWNwWEc1MllYSWdiVzlrWlhNZ1BTQnlaWEYxYVhKbEtDY3VMMjF2WkdWekwyeHBjM1F1YW5OdmJpY3BYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTnBjR2hsY25NZ0tDa2dlMXh1SUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb2JXOWtaWE1wWEc1OVhHNWNibVY0Y0c5eWRITXVZM0psWVhSbFEybHdhR1Z5SUQwZ1pYaHdiM0owY3k1RGFYQm9aWElnUFNCamFYQm9aWEp6TG1OeVpXRjBaVU5wY0dobGNseHVaWGh3YjNKMGN5NWpjbVZoZEdWRGFYQm9aWEpwZGlBOUlHVjRjRzl5ZEhNdVEybHdhR1Z5YVhZZ1BTQmphWEJvWlhKekxtTnlaV0YwWlVOcGNHaGxjbWwyWEc1bGVIQnZjblJ6TG1OeVpXRjBaVVJsWTJsd2FHVnlJRDBnWlhod2IzSjBjeTVFWldOcGNHaGxjaUE5SUdSbFkybHdhR1Z5Y3k1amNtVmhkR1ZFWldOcGNHaGxjbHh1Wlhod2IzSjBjeTVqY21WaGRHVkVaV05wY0dobGNtbDJJRDBnWlhod2IzSjBjeTVFWldOcGNHaGxjbWwySUQwZ1pHVmphWEJvWlhKekxtTnlaV0YwWlVSbFkybHdhR1Z5YVhaY2JtVjRjRzl5ZEhNdWJHbHpkRU5wY0dobGNuTWdQU0JsZUhCdmNuUnpMbWRsZEVOcGNHaGxjbk1nUFNCblpYUkRhWEJvWlhKelhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZGVjcnlwdGVyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9kZWNyeXB0ZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQXV0aENpcGhlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXV0aENpcGhlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYXV0aENpcGhlci5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBNT0RFUyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbW9kZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzXFxcIilcXG52YXIgU3RyZWFtQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zdHJlYW1DaXBoZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL3N0cmVhbUNpcGhlci5qc1xcXCIpXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxudmFyIGFlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hZXMuanNcXFwiKVxcbnZhciBlYnRrID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZwX2J5dGVzdG9rZXkgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2V2cF9ieXRlc3Rva2V5L2luZGV4LmpzXFxcIilcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gRGVjaXBoZXIgKG1vZGUsIGtleSwgaXYpIHtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXFxuXFxuICB0aGlzLl9jYWNoZSA9IG5ldyBTcGxpdHRlcigpXFxuICB0aGlzLl9sYXN0ID0gdm9pZCAwXFxuICB0aGlzLl9jaXBoZXIgPSBuZXcgYWVzLkFFUyhrZXkpXFxuICB0aGlzLl9wcmV2ID0gQnVmZmVyLmZyb20oaXYpXFxuICB0aGlzLl9tb2RlID0gbW9kZVxcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSB0cnVlXFxufVxcblxcbmluaGVyaXRzKERlY2lwaGVyLCBUcmFuc2Zvcm0pXFxuXFxuRGVjaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSkge1xcbiAgdGhpcy5fY2FjaGUuYWRkKGRhdGEpXFxuICB2YXIgY2h1bmtcXG4gIHZhciB0aGluZ1xcbiAgdmFyIG91dCA9IFtdXFxuICB3aGlsZSAoKGNodW5rID0gdGhpcy5fY2FjaGUuZ2V0KHRoaXMuX2F1dG9wYWRkaW5nKSkpIHtcXG4gICAgdGhpbmcgPSB0aGlzLl9tb2RlLmRlY3J5cHQodGhpcywgY2h1bmspXFxuICAgIG91dC5wdXNoKHRoaW5nKVxcbiAgfVxcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQob3V0KVxcbn1cXG5cXG5EZWNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIGNodW5rID0gdGhpcy5fY2FjaGUuZmx1c2goKVxcbiAgaWYgKHRoaXMuX2F1dG9wYWRkaW5nKSB7XFxuICAgIHJldHVybiB1bnBhZCh0aGlzLl9tb2RlLmRlY3J5cHQodGhpcywgY2h1bmspKVxcbiAgfSBlbHNlIGlmIChjaHVuaykge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGEgbm90IG11bHRpcGxlIG9mIGJsb2NrIGxlbmd0aCcpXFxuICB9XFxufVxcblxcbkRlY2lwaGVyLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZyA9IGZ1bmN0aW9uIChzZXRUbykge1xcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBTcGxpdHRlciAoKSB7XFxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxufVxcblxcblNwbGl0dGVyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoZGF0YSkge1xcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxcbn1cXG5cXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGF1dG9QYWRkaW5nKSB7XFxuICB2YXIgb3V0XFxuICBpZiAoYXV0b1BhZGRpbmcpIHtcXG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID4gMTYpIHtcXG4gICAgICBvdXQgPSB0aGlzLmNhY2hlLnNsaWNlKDAsIDE2KVxcbiAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnNsaWNlKDE2KVxcbiAgICAgIHJldHVybiBvdXRcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID49IDE2KSB7XFxuICAgICAgb3V0ID0gdGhpcy5jYWNoZS5zbGljZSgwLCAxNilcXG4gICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5zbGljZSgxNilcXG4gICAgICByZXR1cm4gb3V0XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBudWxsXFxufVxcblxcblNwbGl0dGVyLnByb3RvdHlwZS5mbHVzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIGlmICh0aGlzLmNhY2hlLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2FjaGVcXG59XFxuXFxuZnVuY3Rpb24gdW5wYWQgKGxhc3QpIHtcXG4gIHZhciBwYWRkZWQgPSBsYXN0WzE1XVxcbiAgaWYgKHBhZGRlZCA8IDEgfHwgcGFkZGVkID4gMTYpIHtcXG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZGVjcnlwdCBkYXRhJylcXG4gIH1cXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBwYWRkZWQpIHtcXG4gICAgaWYgKGxhc3RbKGkgKyAoMTYgLSBwYWRkZWQpKV0gIT09IHBhZGRlZCkge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5hYmxlIHRvIGRlY3J5cHQgZGF0YScpXFxuICAgIH1cXG4gIH1cXG4gIGlmIChwYWRkZWQgPT09IDE2KSByZXR1cm5cXG5cXG4gIHJldHVybiBsYXN0LnNsaWNlKDAsIDE2IC0gcGFkZGVkKVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcml2IChzdWl0ZSwgcGFzc3dvcmQsIGl2KSB7XFxuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cXG4gIGlmICghY29uZmlnKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxcblxcbiAgaWYgKHR5cGVvZiBpdiA9PT0gJ3N0cmluZycpIGl2ID0gQnVmZmVyLmZyb20oaXYpXFxuICBpZiAoY29uZmlnLm1vZGUgIT09ICdHQ00nICYmIGl2Lmxlbmd0aCAhPT0gY29uZmlnLml2KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIGl2IGxlbmd0aCAnICsgaXYubGVuZ3RoKVxcblxcbiAgaWYgKHR5cGVvZiBwYXNzd29yZCA9PT0gJ3N0cmluZycpIHBhc3N3b3JkID0gQnVmZmVyLmZyb20ocGFzc3dvcmQpXFxuICBpZiAocGFzc3dvcmQubGVuZ3RoICE9PSBjb25maWcua2V5IC8gOCkgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBrZXkgbGVuZ3RoICcgKyBwYXNzd29yZC5sZW5ndGgpXFxuXFxuICBpZiAoY29uZmlnLnR5cGUgPT09ICdzdHJlYW0nKSB7XFxuICAgIHJldHVybiBuZXcgU3RyZWFtQ2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdiwgdHJ1ZSlcXG4gIH0gZWxzZSBpZiAoY29uZmlnLnR5cGUgPT09ICdhdXRoJykge1xcbiAgICByZXR1cm4gbmV3IEF1dGhDaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2LCB0cnVlKVxcbiAgfVxcblxcbiAgcmV0dXJuIG5ldyBEZWNpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYpXFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcXG4gIHZhciBjb25maWcgPSBNT0RFU1tzdWl0ZS50b0xvd2VyQ2FzZSgpXVxcbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxuXFxuICB2YXIga2V5cyA9IGVidGsocGFzc3dvcmQsIGZhbHNlLCBjb25maWcua2V5LCBjb25maWcuaXYpXFxuICByZXR1cm4gY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXFxufVxcblxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBjcmVhdGVEZWNpcGhlclxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGNyZWF0ZURlY2lwaGVyaXZcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5a1pXTnllWEIwWlhJdWFuTS9ZVEUwTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5eHBSVUZCWXp0QlFVTjJReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNkMFJCUVdFN1FVRkRiRU1zV1VGQldTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVE8wRkJRemRDTEcxQ1FVRnRRaXh0UWtGQlR5eERRVUZETEhGRlFVRm5RanRCUVVNelF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnlReXhWUVVGVkxHMUNRVUZQTEVOQlFVTXNiVVJCUVU4N1FVRkRla0lzVjBGQlZ5eHRRa0ZCVHl4RFFVRkRMRGhFUVVGblFqdEJRVU51UXl4bFFVRmxMRzFDUVVGUExFTkJRVU1zTmtSQlFWVTdPMEZCUldwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTlrWldOeWVYQjBaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1FYVjBhRU5wY0dobGNpQTlJSEpsY1hWcGNtVW9KeTR2WVhWMGFFTnBjR2hsY2ljcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JuWmhjaUJOVDBSRlV5QTlJSEpsY1hWcGNtVW9KeTR2Ylc5a1pYTW5LVnh1ZG1GeUlGTjBjbVZoYlVOcGNHaGxjaUE5SUhKbGNYVnBjbVVvSnk0dmMzUnlaV0Z0UTJsd2FHVnlKeWxjYm5aaGNpQlVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2RqYVhCb1pYSXRZbUZ6WlNjcFhHNTJZWElnWVdWeklEMGdjbVZ4ZFdseVpTZ25MaTloWlhNbktWeHVkbUZ5SUdWaWRHc2dQU0J5WlhGMWFYSmxLQ2RsZG5CZllubDBaWE4wYjJ0bGVTY3BYRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BYRzVjYm1aMWJtTjBhVzl1SUVSbFkybHdhR1Z5SUNodGIyUmxMQ0JyWlhrc0lHbDJLU0I3WEc0Z0lGUnlZVzV6Wm05eWJTNWpZV3hzS0hSb2FYTXBYRzVjYmlBZ2RHaHBjeTVmWTJGamFHVWdQU0J1WlhjZ1UzQnNhWFIwWlhJb0tWeHVJQ0IwYUdsekxsOXNZWE4wSUQwZ2RtOXBaQ0F3WEc0Z0lIUm9hWE11WDJOcGNHaGxjaUE5SUc1bGR5QmhaWE11UVVWVEtHdGxlU2xjYmlBZ2RHaHBjeTVmY0hKbGRpQTlJRUoxWm1abGNpNW1jbTl0S0dsMktWeHVJQ0IwYUdsekxsOXRiMlJsSUQwZ2JXOWtaVnh1SUNCMGFHbHpMbDloZFhSdmNHRmtaR2x1WnlBOUlIUnlkV1ZjYm4xY2JseHVhVzVvWlhKcGRITW9SR1ZqYVhCb1pYSXNJRlJ5WVc1elptOXliU2xjYmx4dVJHVmphWEJvWlhJdWNISnZkRzkwZVhCbExsOTFjR1JoZEdVZ1BTQm1kVzVqZEdsdmJpQW9aR0YwWVNrZ2UxeHVJQ0IwYUdsekxsOWpZV05vWlM1aFpHUW9aR0YwWVNsY2JpQWdkbUZ5SUdOb2RXNXJYRzRnSUhaaGNpQjBhR2x1WjF4dUlDQjJZWElnYjNWMElEMGdXMTFjYmlBZ2QyaHBiR1VnS0NoamFIVnVheUE5SUhSb2FYTXVYMk5oWTJobExtZGxkQ2gwYUdsekxsOWhkWFJ2Y0dGa1pHbHVaeWtwS1NCN1hHNGdJQ0FnZEdocGJtY2dQU0IwYUdsekxsOXRiMlJsTG1SbFkzSjVjSFFvZEdocGN5d2dZMmgxYm1zcFhHNGdJQ0FnYjNWMExuQjFjMmdvZEdocGJtY3BYRzRnSUgxY2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1amIyNWpZWFFvYjNWMEtWeHVmVnh1WEc1RVpXTnBjR2hsY2k1d2NtOTBiM1I1Y0dVdVgyWnBibUZzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdZMmgxYm1zZ1BTQjBhR2x6TGw5allXTm9aUzVtYkhWemFDZ3BYRzRnSUdsbUlDaDBhR2x6TGw5aGRYUnZjR0ZrWkdsdVp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMWJuQmhaQ2gwYUdsekxsOXRiMlJsTG1SbFkzSjVjSFFvZEdocGN5d2dZMmgxYm1zcEtWeHVJQ0I5SUdWc2MyVWdhV1lnS0dOb2RXNXJLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGtZWFJoSUc1dmRDQnRkV3gwYVhCc1pTQnZaaUJpYkc5amF5QnNaVzVuZEdnbktWeHVJQ0I5WEc1OVhHNWNia1JsWTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzV6WlhSQmRYUnZVR0ZrWkdsdVp5QTlJR1oxYm1OMGFXOXVJQ2h6WlhSVWJ5a2dlMXh1SUNCMGFHbHpMbDloZFhSdmNHRmtaR2x1WnlBOUlDRWhjMlYwVkc5Y2JpQWdjbVYwZFhKdUlIUm9hWE5jYm4xY2JseHVablZ1WTNScGIyNGdVM0JzYVhSMFpYSWdLQ2tnZTF4dUlDQjBhR2x6TG1OaFkyaGxJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0RBcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvWkdGMFlTa2dlMXh1SUNCMGFHbHpMbU5oWTJobElEMGdRblZtWm1WeUxtTnZibU5oZENoYmRHaHBjeTVqWVdOb1pTd2daR0YwWVYwcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1blpYUWdQU0JtZFc1amRHbHZiaUFvWVhWMGIxQmhaR1JwYm1jcElIdGNiaUFnZG1GeUlHOTFkRnh1SUNCcFppQW9ZWFYwYjFCaFpHUnBibWNwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVqWVdOb1pTNXNaVzVuZEdnZ1BpQXhOaWtnZTF4dUlDQWdJQ0FnYjNWMElEMGdkR2hwY3k1allXTm9aUzV6YkdsalpTZ3dMQ0F4TmlsY2JpQWdJQ0FnSUhSb2FYTXVZMkZqYUdVZ1BTQjBhR2x6TG1OaFkyaGxMbk5zYVdObEtERTJLVnh1SUNBZ0lDQWdjbVYwZFhKdUlHOTFkRnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NWpZV05vWlM1c1pXNW5kR2dnUGowZ01UWXBJSHRjYmlBZ0lDQWdJRzkxZENBOUlIUm9hWE11WTJGamFHVXVjMnhwWTJVb01Dd2dNVFlwWEc0Z0lDQWdJQ0IwYUdsekxtTmhZMmhsSUQwZ2RHaHBjeTVqWVdOb1pTNXpiR2xqWlNneE5pbGNiaUFnSUNBZ0lISmxkSFZ5YmlCdmRYUmNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JuVnNiRnh1ZlZ4dVhHNVRjR3hwZEhSbGNpNXdjbTkwYjNSNWNHVXVabXgxYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lHbG1JQ2gwYUdsekxtTmhZMmhsTG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyRmphR1ZjYm4xY2JseHVablZ1WTNScGIyNGdkVzV3WVdRZ0tHeGhjM1FwSUh0Y2JpQWdkbUZ5SUhCaFpHUmxaQ0E5SUd4aGMzUmJNVFZkWEc0Z0lHbG1JQ2h3WVdSa1pXUWdQQ0F4SUh4OElIQmhaR1JsWkNBK0lERTJLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZDFibUZpYkdVZ2RHOGdaR1ZqY25sd2RDQmtZWFJoSnlsY2JpQWdmVnh1SUNCMllYSWdhU0E5SUMweFhHNGdJSGRvYVd4bElDZ3JLMmtnUENCd1lXUmtaV1FwSUh0Y2JpQWdJQ0JwWmlBb2JHRnpkRnNvYVNBcklDZ3hOaUF0SUhCaFpHUmxaQ2twWFNBaFBUMGdjR0ZrWkdWa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozVnVZV0pzWlNCMGJ5QmtaV055ZVhCMElHUmhkR0VuS1Z4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JwWmlBb2NHRmtaR1ZrSUQwOVBTQXhOaWtnY21WMGRYSnVYRzVjYmlBZ2NtVjBkWEp1SUd4aGMzUXVjMnhwWTJVb01Dd2dNVFlnTFNCd1lXUmtaV1FwWEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVUmxZMmx3YUdWeWFYWWdLSE4xYVhSbExDQndZWE56ZDI5eVpDd2dhWFlwSUh0Y2JpQWdkbUZ5SUdOdmJtWnBaeUE5SUUxUFJFVlRXM04xYVhSbExuUnZURzkzWlhKRFlYTmxLQ2xkWEc0Z0lHbG1JQ2doWTI5dVptbG5LU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkcGJuWmhiR2xrSUhOMWFYUmxJSFI1Y0dVbktWeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ2FYWWdQVDA5SUNkemRISnBibWNuS1NCcGRpQTlJRUoxWm1abGNpNW1jbTl0S0dsMktWeHVJQ0JwWmlBb1kyOXVabWxuTG0xdlpHVWdJVDA5SUNkSFEwMG5JQ1ltSUdsMkxteGxibWQwYUNBaFBUMGdZMjl1Wm1sbkxtbDJLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkcGJuWmhiR2xrSUdsMklHeGxibWQwYUNBbklDc2dhWFl1YkdWdVozUm9LVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdjR0Z6YzNkdmNtUWdQVDA5SUNkemRISnBibWNuS1NCd1lYTnpkMjl5WkNBOUlFSjFabVpsY2k1bWNtOXRLSEJoYzNOM2IzSmtLVnh1SUNCcFppQW9jR0Z6YzNkdmNtUXViR1Z1WjNSb0lDRTlQU0JqYjI1bWFXY3VhMlY1SUM4Z09Da2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWduYVc1MllXeHBaQ0JyWlhrZ2JHVnVaM1JvSUNjZ0t5QndZWE56ZDI5eVpDNXNaVzVuZEdncFhHNWNiaUFnYVdZZ0tHTnZibVpwWnk1MGVYQmxJRDA5UFNBbmMzUnlaV0Z0SnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1UzUnlaV0Z0UTJsd2FHVnlLR052Ym1acFp5NXRiMlIxYkdVc0lIQmhjM04zYjNKa0xDQnBkaXdnZEhKMVpTbGNiaUFnZlNCbGJITmxJR2xtSUNoamIyNW1hV2N1ZEhsd1pTQTlQVDBnSjJGMWRHZ25LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJCZFhSb1EybHdhR1Z5S0dOdmJtWnBaeTV0YjJSMWJHVXNJSEJoYzNOM2IzSmtMQ0JwZGl3Z2RISjFaU2xjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1WlhjZ1JHVmphWEJvWlhJb1kyOXVabWxuTG0xdlpIVnNaU3dnY0dGemMzZHZjbVFzSUdsMktWeHVmVnh1WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZFWldOcGNHaGxjaUFvYzNWcGRHVXNJSEJoYzNOM2IzSmtLU0I3WEc0Z0lIWmhjaUJqYjI1bWFXY2dQU0JOVDBSRlUxdHpkV2wwWlM1MGIweHZkMlZ5UTJGelpTZ3BYVnh1SUNCcFppQW9JV052Ym1acFp5a2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWduYVc1MllXeHBaQ0J6ZFdsMFpTQjBlWEJsSnlsY2JseHVJQ0IyWVhJZ2EyVjVjeUE5SUdWaWRHc29jR0Z6YzNkdmNtUXNJR1poYkhObExDQmpiMjVtYVdjdWEyVjVMQ0JqYjI1bWFXY3VhWFlwWEc0Z0lISmxkSFZ5YmlCamNtVmhkR1ZFWldOcGNHaGxjbWwyS0hOMWFYUmxMQ0JyWlhsekxtdGxlU3dnYTJWNWN5NXBkaWxjYm4xY2JseHVaWGh3YjNKMGN5NWpjbVZoZEdWRVpXTnBjR2hsY2lBOUlHTnlaV0YwWlVSbFkybHdhR1Z5WEc1bGVIQnZjblJ6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlnUFNCamNtVmhkR1ZFWldOcGNHaGxjbWwyWEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9kZWNyeXB0ZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2VuY3J5cHRlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZW5jcnlwdGVyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIE1PREVTID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9tb2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvaW5kZXguanNcXFwiKVxcbnZhciBBdXRoQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hdXRoQ2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFN0cmVhbUNpcGhlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc3RyZWFtQ2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanNcXFwiKVxcbnZhciBUcmFuc2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjaXBoZXItYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXFwiKVxcbnZhciBhZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzXFxcIilcXG52YXIgZWJ0ayA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2cF9ieXRlc3Rva2V5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qc1xcXCIpXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcblxcbmZ1bmN0aW9uIENpcGhlciAobW9kZSwga2V5LCBpdikge1xcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcXG5cXG4gIHRoaXMuX2NhY2hlID0gbmV3IFNwbGl0dGVyKClcXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcXG4gIHRoaXMuX3ByZXYgPSBCdWZmZXIuZnJvbShpdilcXG4gIHRoaXMuX21vZGUgPSBtb2RlXFxuICB0aGlzLl9hdXRvcGFkZGluZyA9IHRydWVcXG59XFxuXFxuaW5oZXJpdHMoQ2lwaGVyLCBUcmFuc2Zvcm0pXFxuXFxuQ2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2NhY2hlLmFkZChkYXRhKVxcbiAgdmFyIGNodW5rXFxuICB2YXIgdGhpbmdcXG4gIHZhciBvdXQgPSBbXVxcblxcbiAgd2hpbGUgKChjaHVuayA9IHRoaXMuX2NhY2hlLmdldCgpKSkge1xcbiAgICB0aGluZyA9IHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaylcXG4gICAgb3V0LnB1c2godGhpbmcpXFxuICB9XFxuXFxuICByZXR1cm4gQnVmZmVyLmNvbmNhdChvdXQpXFxufVxcblxcbnZhciBQQURESU5HID0gQnVmZmVyLmFsbG9jKDE2LCAweDEwKVxcblxcbkNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIGNodW5rID0gdGhpcy5fY2FjaGUuZmx1c2goKVxcbiAgaWYgKHRoaXMuX2F1dG9wYWRkaW5nKSB7XFxuICAgIGNodW5rID0gdGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsIGNodW5rKVxcbiAgICB0aGlzLl9jaXBoZXIuc2NydWIoKVxcbiAgICByZXR1cm4gY2h1bmtcXG4gIH1cXG5cXG4gIGlmICghY2h1bmsuZXF1YWxzKFBBRERJTkcpKSB7XFxuICAgIHRoaXMuX2NpcGhlci5zY3J1YigpXFxuICAgIHRocm93IG5ldyBFcnJvcignZGF0YSBub3QgbXVsdGlwbGUgb2YgYmxvY2sgbGVuZ3RoJylcXG4gIH1cXG59XFxuXFxuQ2lwaGVyLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZyA9IGZ1bmN0aW9uIChzZXRUbykge1xcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBTcGxpdHRlciAoKSB7XFxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxufVxcblxcblNwbGl0dGVyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoZGF0YSkge1xcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxcbn1cXG5cXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkge1xcbiAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID4gMTUpIHtcXG4gICAgdmFyIG91dCA9IHRoaXMuY2FjaGUuc2xpY2UoMCwgMTYpXFxuICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnNsaWNlKDE2KVxcbiAgICByZXR1cm4gb3V0XFxuICB9XFxuICByZXR1cm4gbnVsbFxcbn1cXG5cXG5TcGxpdHRlci5wcm90b3R5cGUuZmx1c2ggPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgbGVuID0gMTYgLSB0aGlzLmNhY2hlLmxlbmd0aFxcbiAgdmFyIHBhZEJ1ZmYgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuKVxcblxcbiAgdmFyIGkgPSAtMVxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBwYWRCdWZmLndyaXRlVUludDgobGVuLCBpKVxcbiAgfVxcblxcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIHBhZEJ1ZmZdKVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIHBhc3N3b3JkLCBpdikge1xcbiAgdmFyIGNvbmZpZyA9IE1PREVTW3N1aXRlLnRvTG93ZXJDYXNlKCldXFxuICBpZiAoIWNvbmZpZykgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcXG5cXG4gIGlmICh0eXBlb2YgcGFzc3dvcmQgPT09ICdzdHJpbmcnKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkKVxcbiAgaWYgKHBhc3N3b3JkLmxlbmd0aCAhPT0gY29uZmlnLmtleSAvIDgpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQga2V5IGxlbmd0aCAnICsgcGFzc3dvcmQubGVuZ3RoKVxcblxcbiAgaWYgKHR5cGVvZiBpdiA9PT0gJ3N0cmluZycpIGl2ID0gQnVmZmVyLmZyb20oaXYpXFxuICBpZiAoY29uZmlnLm1vZGUgIT09ICdHQ00nICYmIGl2Lmxlbmd0aCAhPT0gY29uZmlnLml2KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIGl2IGxlbmd0aCAnICsgaXYubGVuZ3RoKVxcblxcbiAgaWYgKGNvbmZpZy50eXBlID09PSAnc3RyZWFtJykge1xcbiAgICByZXR1cm4gbmV3IFN0cmVhbUNpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYpXFxuICB9IGVsc2UgaWYgKGNvbmZpZy50eXBlID09PSAnYXV0aCcpIHtcXG4gICAgcmV0dXJuIG5ldyBBdXRoQ2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdilcXG4gIH1cXG5cXG4gIHJldHVybiBuZXcgQ2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdilcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcXG4gIHZhciBjb25maWcgPSBNT0RFU1tzdWl0ZS50b0xvd2VyQ2FzZSgpXVxcbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxuXFxuICB2YXIga2V5cyA9IGVidGsocGFzc3dvcmQsIGZhbHNlLCBjb25maWcua2V5LCBjb25maWcuaXYpXFxuICByZXR1cm4gY3JlYXRlQ2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxcbn1cXG5cXG5leHBvcnRzLmNyZWF0ZUNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcXG5leHBvcnRzLmNyZWF0ZUNpcGhlciA9IGNyZWF0ZUNpcGhlclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTlsYm1OeWVYQjBaWEl1YW5NL09EUTJPU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4WlFVRlpMRzFDUVVGUExFTkJRVU1zTmtSQlFWTTdRVUZETjBJc2FVSkJRV2xDTEcxQ1FVRlBMRU5CUVVNc2FVVkJRV003UVVGRGRrTXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoTzBGQlEyeERMRzFDUVVGdFFpeHRRa0ZCVHl4RFFVRkRMSEZGUVVGblFqdEJRVU16UXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHRCUVVOeVF5eFZRVUZWTEcxQ1FVRlBMRU5CUVVNc2JVUkJRVTg3UVVGRGVrSXNWMEZCVnl4dFFrRkJUeXhEUVVGRExEaEVRVUZuUWp0QlFVTnVReXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3BETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWxibU55ZVhCMFpYSXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnVFU5RVJWTWdQU0J5WlhGMWFYSmxLQ2N1TDIxdlpHVnpKeWxjYm5aaGNpQkJkWFJvUTJsd2FHVnlJRDBnY21WeGRXbHlaU2duTGk5aGRYUm9RMmx3YUdWeUp5bGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVkbUZ5SUZOMGNtVmhiVU5wY0dobGNpQTlJSEpsY1hWcGNtVW9KeTR2YzNSeVpXRnRRMmx3YUdWeUp5bGNiblpoY2lCVWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1MllYSWdZV1Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWhaWE1uS1Z4dWRtRnlJR1ZpZEdzZ1BTQnlaWEYxYVhKbEtDZGxkbkJmWW5sMFpYTjBiMnRsZVNjcFhHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNWNibVoxYm1OMGFXOXVJRU5wY0dobGNpQW9iVzlrWlN3Z2EyVjVMQ0JwZGlrZ2UxeHVJQ0JVY21GdWMyWnZjbTB1WTJGc2JDaDBhR2x6S1Z4dVhHNGdJSFJvYVhNdVgyTmhZMmhsSUQwZ2JtVjNJRk53YkdsMGRHVnlLQ2xjYmlBZ2RHaHBjeTVmWTJsd2FHVnlJRDBnYm1WM0lHRmxjeTVCUlZNb2EyVjVLVnh1SUNCMGFHbHpMbDl3Y21WMklEMGdRblZtWm1WeUxtWnliMjBvYVhZcFhHNGdJSFJvYVhNdVgyMXZaR1VnUFNCdGIyUmxYRzRnSUhSb2FYTXVYMkYxZEc5d1lXUmthVzVuSUQwZ2RISjFaVnh1ZlZ4dVhHNXBibWhsY21sMGN5aERhWEJvWlhJc0lGUnlZVzV6Wm05eWJTbGNibHh1UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0dSaGRHRXBJSHRjYmlBZ2RHaHBjeTVmWTJGamFHVXVZV1JrS0dSaGRHRXBYRzRnSUhaaGNpQmphSFZ1YTF4dUlDQjJZWElnZEdocGJtZGNiaUFnZG1GeUlHOTFkQ0E5SUZ0ZFhHNWNiaUFnZDJocGJHVWdLQ2hqYUhWdWF5QTlJSFJvYVhNdVgyTmhZMmhsTG1kbGRDZ3BLU2tnZTF4dUlDQWdJSFJvYVc1bklEMGdkR2hwY3k1ZmJXOWtaUzVsYm1OeWVYQjBLSFJvYVhNc0lHTm9kVzVyS1Z4dUlDQWdJRzkxZEM1d2RYTm9LSFJvYVc1bktWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1amIyNWpZWFFvYjNWMEtWeHVmVnh1WEc1MllYSWdVRUZFUkVsT1J5QTlJRUoxWm1abGNpNWhiR3h2WXlneE5pd2dNSGd4TUNsY2JseHVRMmx3YUdWeUxuQnliM1J2ZEhsd1pTNWZabWx1WVd3Z1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJqYUhWdWF5QTlJSFJvYVhNdVgyTmhZMmhsTG1ac2RYTm9LQ2xjYmlBZ2FXWWdLSFJvYVhNdVgyRjFkRzl3WVdSa2FXNW5LU0I3WEc0Z0lDQWdZMmgxYm1zZ1BTQjBhR2x6TGw5dGIyUmxMbVZ1WTNKNWNIUW9kR2hwY3l3Z1kyaDFibXNwWEc0Z0lDQWdkR2hwY3k1ZlkybHdhR1Z5TG5OamNuVmlLQ2xjYmlBZ0lDQnlaWFIxY200Z1kyaDFibXRjYmlBZ2ZWeHVYRzRnSUdsbUlDZ2hZMmgxYm1zdVpYRjFZV3h6S0ZCQlJFUkpUa2NwS1NCN1hHNGdJQ0FnZEdocGN5NWZZMmx3YUdWeUxuTmpjblZpS0NsY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMlJoZEdFZ2JtOTBJRzExYkhScGNHeGxJRzltSUdKc2IyTnJJR3hsYm1kMGFDY3BYRzRnSUgxY2JuMWNibHh1UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzV6WlhSQmRYUnZVR0ZrWkdsdVp5QTlJR1oxYm1OMGFXOXVJQ2h6WlhSVWJ5a2dlMXh1SUNCMGFHbHpMbDloZFhSdmNHRmtaR2x1WnlBOUlDRWhjMlYwVkc5Y2JpQWdjbVYwZFhKdUlIUm9hWE5jYm4xY2JseHVablZ1WTNScGIyNGdVM0JzYVhSMFpYSWdLQ2tnZTF4dUlDQjBhR2x6TG1OaFkyaGxJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0RBcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvWkdGMFlTa2dlMXh1SUNCMGFHbHpMbU5oWTJobElEMGdRblZtWm1WeUxtTnZibU5oZENoYmRHaHBjeTVqWVdOb1pTd2daR0YwWVYwcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1blpYUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJR2xtSUNoMGFHbHpMbU5oWTJobExteGxibWQwYUNBK0lERTFLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJSFJvYVhNdVkyRmphR1V1YzJ4cFkyVW9NQ3dnTVRZcFhHNGdJQ0FnZEdocGN5NWpZV05vWlNBOUlIUm9hWE11WTJGamFHVXVjMnhwWTJVb01UWXBYRzRnSUNBZ2NtVjBkWEp1SUc5MWRGeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdWRXeHNYRzU5WEc1Y2JsTndiR2wwZEdWeUxuQnliM1J2ZEhsd1pTNW1iSFZ6YUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJR3hsYmlBOUlERTJJQzBnZEdocGN5NWpZV05vWlM1c1pXNW5kR2hjYmlBZ2RtRnlJSEJoWkVKMVptWWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYkdWdUtWeHVYRzRnSUhaaGNpQnBJRDBnTFRGY2JpQWdkMmhwYkdVZ0tDc3JhU0E4SUd4bGJpa2dlMXh1SUNBZ0lIQmhaRUoxWm1ZdWQzSnBkR1ZWU1c1ME9DaHNaVzRzSUdrcFhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1FuVm1abVZ5TG1OdmJtTmhkQ2hiZEdocGN5NWpZV05vWlN3Z2NHRmtRblZtWmwwcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVU5wY0dobGNtbDJJQ2h6ZFdsMFpTd2djR0Z6YzNkdmNtUXNJR2wyS1NCN1hHNGdJSFpoY2lCamIyNW1hV2NnUFNCTlQwUkZVMXR6ZFdsMFpTNTBiMHh2ZDJWeVEyRnpaU2dwWFZ4dUlDQnBaaUFvSVdOdmJtWnBaeWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNibHh1SUNCcFppQW9kSGx3Wlc5bUlIQmhjM04zYjNKa0lEMDlQU0FuYzNSeWFXNW5KeWtnY0dGemMzZHZjbVFnUFNCQ2RXWm1aWEl1Wm5KdmJTaHdZWE56ZDI5eVpDbGNiaUFnYVdZZ0tIQmhjM04zYjNKa0xteGxibWQwYUNBaFBUMGdZMjl1Wm1sbkxtdGxlU0F2SURncElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMmx1ZG1Gc2FXUWdhMlY1SUd4bGJtZDBhQ0FuSUNzZ2NHRnpjM2R2Y21RdWJHVnVaM1JvS1Z4dVhHNGdJR2xtSUNoMGVYQmxiMllnYVhZZ1BUMDlJQ2R6ZEhKcGJtY25LU0JwZGlBOUlFSjFabVpsY2k1bWNtOXRLR2wyS1Z4dUlDQnBaaUFvWTI5dVptbG5MbTF2WkdVZ0lUMDlJQ2RIUTAwbklDWW1JR2wyTG14bGJtZDBhQ0FoUFQwZ1kyOXVabWxuTG1sMktTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RwYm5aaGJHbGtJR2wySUd4bGJtZDBhQ0FuSUNzZ2FYWXViR1Z1WjNSb0tWeHVYRzRnSUdsbUlDaGpiMjVtYVdjdWRIbHdaU0E5UFQwZ0ozTjBjbVZoYlNjcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGTjBjbVZoYlVOcGNHaGxjaWhqYjI1bWFXY3ViVzlrZFd4bExDQndZWE56ZDI5eVpDd2dhWFlwWEc0Z0lIMGdaV3h6WlNCcFppQW9ZMjl1Wm1sbkxuUjVjR1VnUFQwOUlDZGhkWFJvSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FYVjBhRU5wY0dobGNpaGpiMjVtYVdjdWJXOWtkV3hsTENCd1lYTnpkMjl5WkN3Z2FYWXBYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdibVYzSUVOcGNHaGxjaWhqYjI1bWFXY3ViVzlrZFd4bExDQndZWE56ZDI5eVpDd2dhWFlwWEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVTnBjR2hsY2lBb2MzVnBkR1VzSUhCaGMzTjNiM0prS1NCN1hHNGdJSFpoY2lCamIyNW1hV2NnUFNCTlQwUkZVMXR6ZFdsMFpTNTBiMHh2ZDJWeVEyRnpaU2dwWFZ4dUlDQnBaaUFvSVdOdmJtWnBaeWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNibHh1SUNCMllYSWdhMlY1Y3lBOUlHVmlkR3NvY0dGemMzZHZjbVFzSUdaaGJITmxMQ0JqYjI1bWFXY3VhMlY1TENCamIyNW1hV2N1YVhZcFhHNGdJSEpsZEhWeWJpQmpjbVZoZEdWRGFYQm9aWEpwZGloemRXbDBaU3dnYTJWNWN5NXJaWGtzSUd0bGVYTXVhWFlwWEc1OVhHNWNibVY0Y0c5eWRITXVZM0psWVhSbFEybHdhR1Z5YVhZZ1BTQmpjbVZoZEdWRGFYQm9aWEpwZGx4dVpYaHdiM0owY3k1amNtVmhkR1ZEYVhCb1pYSWdQU0JqY21WaGRHVkRhWEJvWlhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZW5jcnlwdGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9naGFzaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9naGFzaC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBaRVJPRVMgPSBCdWZmZXIuYWxsb2MoMTYsIDApXFxuXFxuZnVuY3Rpb24gdG9BcnJheSAoYnVmKSB7XFxuICByZXR1cm4gW1xcbiAgICBidWYucmVhZFVJbnQzMkJFKDApLFxcbiAgICBidWYucmVhZFVJbnQzMkJFKDQpLFxcbiAgICBidWYucmVhZFVJbnQzMkJFKDgpLFxcbiAgICBidWYucmVhZFVJbnQzMkJFKDEyKVxcbiAgXVxcbn1cXG5cXG5mdW5jdGlvbiBmcm9tQXJyYXkgKG91dCkge1xcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFswXSA+Pj4gMCwgMClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsxXSA+Pj4gMCwgNClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSA+Pj4gMCwgOClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFszXSA+Pj4gMCwgMTIpXFxuICByZXR1cm4gYnVmXFxufVxcblxcbmZ1bmN0aW9uIEdIQVNIIChrZXkpIHtcXG4gIHRoaXMuaCA9IGtleVxcbiAgdGhpcy5zdGF0ZSA9IEJ1ZmZlci5hbGxvYygxNiwgMClcXG4gIHRoaXMuY2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcXG59XFxuXFxuLy8gZnJvbSBodHRwOi8vYml0d2lzZXNoaWZ0bGVmdC5naXRodWIuaW8vc2pjbC9kb2Mvc3ltYm9scy9zcmMvY29yZV9nY20uanMuaHRtbFxcbi8vIGJ5IEp1aG8gVsOkaMOkLUhlcnR0dWFcXG5HSEFTSC5wcm90b3R5cGUuZ2hhc2ggPSBmdW5jdGlvbiAoYmxvY2spIHtcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBibG9jay5sZW5ndGgpIHtcXG4gICAgdGhpcy5zdGF0ZVtpXSBePSBibG9ja1tpXVxcbiAgfVxcbiAgdGhpcy5fbXVsdGlwbHkoKVxcbn1cXG5cXG5HSEFTSC5wcm90b3R5cGUuX211bHRpcGx5ID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIFZpID0gdG9BcnJheSh0aGlzLmgpXFxuICB2YXIgWmkgPSBbMCwgMCwgMCwgMF1cXG4gIHZhciBqLCB4aSwgbHNiVmlcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCAxMjgpIHtcXG4gICAgeGkgPSAodGhpcy5zdGF0ZVt+fihpIC8gOCldICYgKDEgPDwgKDcgLSAoaSAlIDgpKSkpICE9PSAwXFxuICAgIGlmICh4aSkge1xcbiAgICAgIC8vIFpfaSsxID0gWl9pIF4gVl9pXFxuICAgICAgWmlbMF0gXj0gVmlbMF1cXG4gICAgICBaaVsxXSBePSBWaVsxXVxcbiAgICAgIFppWzJdIF49IFZpWzJdXFxuICAgICAgWmlbM10gXj0gVmlbM11cXG4gICAgfVxcblxcbiAgICAvLyBTdG9yZSB0aGUgdmFsdWUgb2YgTFNCKFZfaSlcXG4gICAgbHNiVmkgPSAoVmlbM10gJiAxKSAhPT0gMFxcblxcbiAgICAvLyBWX2krMSA9IFZfaSA+PiAxXFxuICAgIGZvciAoaiA9IDM7IGogPiAwOyBqLS0pIHtcXG4gICAgICBWaVtqXSA9IChWaVtqXSA+Pj4gMSkgfCAoKFZpW2ogLSAxXSAmIDEpIDw8IDMxKVxcbiAgICB9XFxuICAgIFZpWzBdID0gVmlbMF0gPj4+IDFcXG5cXG4gICAgLy8gSWYgTFNCKFZfaSkgaXMgMSwgVl9pKzEgPSAoVl9pID4+IDEpIF4gUlxcbiAgICBpZiAobHNiVmkpIHtcXG4gICAgICBWaVswXSA9IFZpWzBdIF4gKDB4ZTEgPDwgMjQpXFxuICAgIH1cXG4gIH1cXG4gIHRoaXMuc3RhdGUgPSBmcm9tQXJyYXkoWmkpXFxufVxcblxcbkdIQVNILnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoYnVmKSB7XFxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmNvbmNhdChbdGhpcy5jYWNoZSwgYnVmXSlcXG4gIHZhciBjaHVua1xcbiAgd2hpbGUgKHRoaXMuY2FjaGUubGVuZ3RoID49IDE2KSB7XFxuICAgIGNodW5rID0gdGhpcy5jYWNoZS5zbGljZSgwLCAxNilcXG4gICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuc2xpY2UoMTYpXFxuICAgIHRoaXMuZ2hhc2goY2h1bmspXFxuICB9XFxufVxcblxcbkdIQVNILnByb3RvdHlwZS5maW5hbCA9IGZ1bmN0aW9uIChhYmwsIGJsKSB7XFxuICBpZiAodGhpcy5jYWNoZS5sZW5ndGgpIHtcXG4gICAgdGhpcy5naGFzaChCdWZmZXIuY29uY2F0KFt0aGlzLmNhY2hlLCBaRVJPRVNdLCAxNikpXFxuICB9XFxuXFxuICB0aGlzLmdoYXNoKGZyb21BcnJheShbMCwgYWJsLCAwLCBibF0pKVxcbiAgcmV0dXJuIHRoaXMuc3RhdGVcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBHSEFTSFxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTluYUdGemFDNXFjejh6TTJFNElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1pVRkJaU3hQUVVGUE8wRkJRM1JDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0WVdWekwyZG9ZWE5vTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzUyWVhJZ1drVlNUMFZUSUQwZ1FuVm1abVZ5TG1Gc2JHOWpLREUyTENBd0tWeHVYRzVtZFc1amRHbHZiaUIwYjBGeWNtRjVJQ2hpZFdZcElIdGNiaUFnY21WMGRYSnVJRnRjYmlBZ0lDQmlkV1l1Y21WaFpGVkpiblF6TWtKRktEQXBMRnh1SUNBZ0lHSjFaaTV5WldGa1ZVbHVkRE15UWtVb05Da3NYRzRnSUNBZ1luVm1MbkpsWVdSVlNXNTBNekpDUlNnNEtTeGNiaUFnSUNCaWRXWXVjbVZoWkZWSmJuUXpNa0pGS0RFeUtWeHVJQ0JkWEc1OVhHNWNibVoxYm1OMGFXOXVJR1p5YjIxQmNuSmhlU0FvYjNWMEtTQjdYRzRnSUhaaGNpQmlkV1lnUFNCQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1Vb01UWXBYRzRnSUdKMVppNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3dYU0ErUGo0Z01Dd2dNQ2xjYmlBZ1luVm1MbmR5YVhSbFZVbHVkRE15UWtVb2IzVjBXekZkSUQ0K1BpQXdMQ0EwS1Z4dUlDQmlkV1l1ZDNKcGRHVlZTVzUwTXpKQ1JTaHZkWFJiTWwwZ1BqNCtJREFzSURncFhHNGdJR0oxWmk1M2NtbDBaVlZKYm5Rek1rSkZLRzkxZEZzelhTQStQajRnTUN3Z01USXBYRzRnSUhKbGRIVnliaUJpZFdaY2JuMWNibHh1Wm5WdVkzUnBiMjRnUjBoQlUwZ2dLR3RsZVNrZ2UxeHVJQ0IwYUdsekxtZ2dQU0JyWlhsY2JpQWdkR2hwY3k1emRHRjBaU0E5SUVKMVptWmxjaTVoYkd4dll5Z3hOaXdnTUNsY2JpQWdkR2hwY3k1allXTm9aU0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNnd0tWeHVmVnh1WEc0dkx5Qm1jbTl0SUdoMGRIQTZMeTlpYVhSM2FYTmxjMmhwWm5Sc1pXWjBMbWRwZEdoMVlpNXBieTl6YW1Oc0wyUnZZeTl6ZVcxaWIyeHpMM055WXk5amIzSmxYMmRqYlM1cWN5NW9kRzFzWEc0dkx5QmllU0JLZFdodklGYkRwR2pEcEMxSVpYSjBkSFZoWEc1SFNFRlRTQzV3Y205MGIzUjVjR1V1WjJoaGMyZ2dQU0JtZFc1amRHbHZiaUFvWW14dlkyc3BJSHRjYmlBZ2RtRnlJR2tnUFNBdE1WeHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lteHZZMnN1YkdWdVozUm9LU0I3WEc0Z0lDQWdkR2hwY3k1emRHRjBaVnRwWFNCZVBTQmliRzlqYTF0cFhWeHVJQ0I5WEc0Z0lIUm9hWE11WDIxMWJIUnBjR3g1S0NsY2JuMWNibHh1UjBoQlUwZ3VjSEp2ZEc5MGVYQmxMbDl0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZG1GeUlGWnBJRDBnZEc5QmNuSmhlU2gwYUdsekxtZ3BYRzRnSUhaaGNpQmFhU0E5SUZzd0xDQXdMQ0F3TENBd1hWeHVJQ0IyWVhJZ2Fpd2dlR2tzSUd4ellsWnBYRzRnSUhaaGNpQnBJRDBnTFRGY2JpQWdkMmhwYkdVZ0tDc3JhU0E4SURFeU9Da2dlMXh1SUNBZ0lIaHBJRDBnS0hSb2FYTXVjM1JoZEdWYmZuNG9hU0F2SURncFhTQW1JQ2d4SUR3OElDZzNJQzBnS0drZ0pTQTRLU2twS1NBaFBUMGdNRnh1SUNBZ0lHbG1JQ2g0YVNrZ2UxeHVJQ0FnSUNBZ0x5OGdXbDlwS3pFZ1BTQmFYMmtnWGlCV1gybGNiaUFnSUNBZ0lGcHBXekJkSUY0OUlGWnBXekJkWEc0Z0lDQWdJQ0JhYVZzeFhTQmVQU0JXYVZzeFhWeHVJQ0FnSUNBZ1dtbGJNbDBnWGowZ1ZtbGJNbDFjYmlBZ0lDQWdJRnBwV3pOZElGNDlJRlpwV3pOZFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1UzUnZjbVVnZEdobElIWmhiSFZsSUc5bUlFeFRRaWhXWDJrcFhHNGdJQ0FnYkhOaVZta2dQU0FvVm1sYk0xMGdKaUF4S1NBaFBUMGdNRnh1WEc0Z0lDQWdMeThnVmw5cEt6RWdQU0JXWDJrZ1BqNGdNVnh1SUNBZ0lHWnZjaUFvYWlBOUlETTdJR29nUGlBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUZacFcycGRJRDBnS0ZacFcycGRJRDQrUGlBeEtTQjhJQ2dvVm1sYmFpQXRJREZkSUNZZ01Ta2dQRHdnTXpFcFhHNGdJQ0FnZlZ4dUlDQWdJRlpwV3pCZElEMGdWbWxiTUYwZ1BqNCtJREZjYmx4dUlDQWdJQzh2SUVsbUlFeFRRaWhXWDJrcElHbHpJREVzSUZaZmFTc3hJRDBnS0ZaZmFTQStQaUF4S1NCZUlGSmNiaUFnSUNCcFppQW9iSE5pVm1rcElIdGNiaUFnSUNBZ0lGWnBXekJkSUQwZ1ZtbGJNRjBnWGlBb01IaGxNU0E4UENBeU5DbGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2RHaHBjeTV6ZEdGMFpTQTlJR1p5YjIxQmNuSmhlU2hhYVNsY2JuMWNibHh1UjBoQlUwZ3VjSEp2ZEc5MGVYQmxMblZ3WkdGMFpTQTlJR1oxYm1OMGFXOXVJQ2hpZFdZcElIdGNiaUFnZEdocGN5NWpZV05vWlNBOUlFSjFabVpsY2k1amIyNWpZWFFvVzNSb2FYTXVZMkZqYUdVc0lHSjFabDBwWEc0Z0lIWmhjaUJqYUhWdWExeHVJQ0IzYUdsc1pTQW9kR2hwY3k1allXTm9aUzVzWlc1bmRHZ2dQajBnTVRZcElIdGNiaUFnSUNCamFIVnVheUE5SUhSb2FYTXVZMkZqYUdVdWMyeHBZMlVvTUN3Z01UWXBYRzRnSUNBZ2RHaHBjeTVqWVdOb1pTQTlJSFJvYVhNdVkyRmphR1V1YzJ4cFkyVW9NVFlwWEc0Z0lDQWdkR2hwY3k1bmFHRnphQ2hqYUhWdWF5bGNiaUFnZlZ4dWZWeHVYRzVIU0VGVFNDNXdjbTkwYjNSNWNHVXVabWx1WVd3Z1BTQm1kVzVqZEdsdmJpQW9ZV0pzTENCaWJDa2dlMXh1SUNCcFppQW9kR2hwY3k1allXTm9aUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQjBhR2x6TG1kb1lYTm9LRUoxWm1abGNpNWpiMjVqWVhRb1czUm9hWE11WTJGamFHVXNJRnBGVWs5RlUxMHNJREUyS1NsY2JpQWdmVnh1WEc0Z0lIUm9hWE11WjJoaGMyZ29abkp2YlVGeWNtRjVLRnN3TENCaFltd3NJREFzSUdKc1hTa3BYRzRnSUhKbGRIVnliaUIwYUdsekxuTjBZWFJsWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdSMGhCVTBoY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZ2hhc2guanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2luY3IzMi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvaW5jcjMyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiZnVuY3Rpb24gaW5jcjMyIChpdikge1xcbiAgdmFyIGxlbiA9IGl2Lmxlbmd0aFxcbiAgdmFyIGl0ZW1cXG4gIHdoaWxlIChsZW4tLSkge1xcbiAgICBpdGVtID0gaXYucmVhZFVJbnQ4KGxlbilcXG4gICAgaWYgKGl0ZW0gPT09IDI1NSkge1xcbiAgICAgIGl2LndyaXRlVUludDgoMCwgbGVuKVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGl0ZW0rK1xcbiAgICAgIGl2LndyaXRlVUludDgoaXRlbSwgbGVuKVxcbiAgICAgIGJyZWFrXFxuICAgIH1cXG4gIH1cXG59XFxubW9kdWxlLmV4cG9ydHMgPSBpbmNyMzJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5cGJtTnlNekl1YW5NL1ptSTBOU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTlwYm1OeU16SXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5Sm1kVzVqZEdsdmJpQnBibU55TXpJZ0tHbDJLU0I3WEc0Z0lIWmhjaUJzWlc0Z1BTQnBkaTVzWlc1bmRHaGNiaUFnZG1GeUlHbDBaVzFjYmlBZ2QyaHBiR1VnS0d4bGJpMHRLU0I3WEc0Z0lDQWdhWFJsYlNBOUlHbDJMbkpsWVdSVlNXNTBPQ2hzWlc0cFhHNGdJQ0FnYVdZZ0tHbDBaVzBnUFQwOUlESTFOU2tnZTF4dUlDQWdJQ0FnYVhZdWQzSnBkR1ZWU1c1ME9DZ3dMQ0JzWlc0cFhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2wwWlcwcksxeHVJQ0FnSUNBZ2FYWXVkM0pwZEdWVlNXNTBPQ2hwZEdWdExDQnNaVzRwWEc0Z0lDQWdJQ0JpY21WaGExeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCcGJtTnlNekpjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9pbmNyMzIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NiYy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2JjLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHhvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlci14b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci14b3IvaW5kZXguanNcXFwiKVxcblxcbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBibG9jaykge1xcbiAgdmFyIGRhdGEgPSB4b3IoYmxvY2ssIHNlbGYuX3ByZXYpXFxuXFxuICBzZWxmLl9wcmV2ID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhkYXRhKVxcbiAgcmV0dXJuIHNlbGYuX3ByZXZcXG59XFxuXFxuZXhwb3J0cy5kZWNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGJsb2NrKSB7XFxuICB2YXIgcGFkID0gc2VsZi5fcHJldlxcblxcbiAgc2VsZi5fcHJldiA9IGJsb2NrXFxuICB2YXIgb3V0ID0gc2VsZi5fY2lwaGVyLmRlY3J5cHRCbG9jayhibG9jaylcXG5cXG4gIHJldHVybiB4b3Iob3V0LCBwYWQpXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTl0YjJSbGN5OWpZbU11YW5NL1lqSTNZU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4VlFVRlZMRzFDUVVGUExFTkJRVU1zYzBSQlFWazdPMEZCUlRsQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMjF2WkdWekwyTmlZeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCNGIzSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSXRlRzl5SnlsY2JseHVaWGh3YjNKMGN5NWxibU55ZVhCMElEMGdablZ1WTNScGIyNGdLSE5sYkdZc0lHSnNiMk5yS1NCN1hHNGdJSFpoY2lCa1lYUmhJRDBnZUc5eUtHSnNiMk5yTENCelpXeG1MbDl3Y21WMktWeHVYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQnpaV3htTGw5amFYQm9aWEl1Wlc1amNubHdkRUpzYjJOcktHUmhkR0VwWEc0Z0lISmxkSFZ5YmlCelpXeG1MbDl3Y21WMlhHNTlYRzVjYm1WNGNHOXlkSE11WkdWamNubHdkQ0E5SUdaMWJtTjBhVzl1SUNoelpXeG1MQ0JpYkc5amF5a2dlMXh1SUNCMllYSWdjR0ZrSUQwZ2MyVnNaaTVmY0hKbGRseHVYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQmliRzlqYTF4dUlDQjJZWElnYjNWMElEMGdjMlZzWmk1ZlkybHdhR1Z5TG1SbFkzSjVjSFJDYkc5amF5aGliRzlqYXlsY2JseHVJQ0J5WlhSMWNtNGdlRzl5S0c5MWRDd2djR0ZrS1Z4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NiYy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIHhvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlci14b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci14b3IvaW5kZXguanNcXFwiKVxcblxcbmZ1bmN0aW9uIGVuY3J5cHRTdGFydCAoc2VsZiwgZGF0YSwgZGVjcnlwdCkge1xcbiAgdmFyIGxlbiA9IGRhdGEubGVuZ3RoXFxuICB2YXIgb3V0ID0geG9yKGRhdGEsIHNlbGYuX2NhY2hlKVxcbiAgc2VsZi5fY2FjaGUgPSBzZWxmLl9jYWNoZS5zbGljZShsZW4pXFxuICBzZWxmLl9wcmV2ID0gQnVmZmVyLmNvbmNhdChbc2VsZi5fcHJldiwgZGVjcnlwdCA/IGRhdGEgOiBvdXRdKVxcbiAgcmV0dXJuIG91dFxcbn1cXG5cXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgZGF0YSwgZGVjcnlwdCkge1xcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxcbiAgdmFyIGxlblxcblxcbiAgd2hpbGUgKGRhdGEubGVuZ3RoKSB7XFxuICAgIGlmIChzZWxmLl9jYWNoZS5sZW5ndGggPT09IDApIHtcXG4gICAgICBzZWxmLl9jYWNoZSA9IHNlbGYuX2NpcGhlci5lbmNyeXB0QmxvY2soc2VsZi5fcHJldilcXG4gICAgICBzZWxmLl9wcmV2ID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxuICAgIH1cXG5cXG4gICAgaWYgKHNlbGYuX2NhY2hlLmxlbmd0aCA8PSBkYXRhLmxlbmd0aCkge1xcbiAgICAgIGxlbiA9IHNlbGYuX2NhY2hlLmxlbmd0aFxcbiAgICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW291dCwgZW5jcnlwdFN0YXJ0KHNlbGYsIGRhdGEuc2xpY2UoMCwgbGVuKSwgZGVjcnlwdCldKVxcbiAgICAgIGRhdGEgPSBkYXRhLnNsaWNlKGxlbilcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQgPSBCdWZmZXIuY29uY2F0KFtvdXQsIGVuY3J5cHRTdGFydChzZWxmLCBkYXRhLCBkZWNyeXB0KV0pXFxuICAgICAgYnJlYWtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG91dFxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlqWm1JdWFuTS9aV1JpWlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3UVVGRGJFTXNWVUZCVlN4dFFrRkJUeXhEUVVGRExITkVRVUZaT3p0QlFVVTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RZV1Z6TDIxdlpHVnpMMk5tWWk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1ZG1GeUlIaHZjaUE5SUhKbGNYVnBjbVVvSjJKMVptWmxjaTE0YjNJbktWeHVYRzVtZFc1amRHbHZiaUJsYm1OeWVYQjBVM1JoY25RZ0tITmxiR1lzSUdSaGRHRXNJR1JsWTNKNWNIUXBJSHRjYmlBZ2RtRnlJR3hsYmlBOUlHUmhkR0V1YkdWdVozUm9YRzRnSUhaaGNpQnZkWFFnUFNCNGIzSW9aR0YwWVN3Z2MyVnNaaTVmWTJGamFHVXBYRzRnSUhObGJHWXVYMk5oWTJobElEMGdjMlZzWmk1ZlkyRmphR1V1YzJ4cFkyVW9iR1Z1S1Z4dUlDQnpaV3htTGw5d2NtVjJJRDBnUW5WbVptVnlMbU52Ym1OaGRDaGJjMlZzWmk1ZmNISmxkaXdnWkdWamNubHdkQ0EvSUdSaGRHRWdPaUJ2ZFhSZEtWeHVJQ0J5WlhSMWNtNGdiM1YwWEc1OVhHNWNibVY0Y0c5eWRITXVaVzVqY25sd2RDQTlJR1oxYm1OMGFXOXVJQ2h6Wld4bUxDQmtZWFJoTENCa1pXTnllWEIwS1NCN1hHNGdJSFpoY2lCdmRYUWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvTUNsY2JpQWdkbUZ5SUd4bGJseHVYRzRnSUhkb2FXeGxJQ2hrWVhSaExteGxibWQwYUNrZ2UxeHVJQ0FnSUdsbUlDaHpaV3htTGw5allXTm9aUzVzWlc1bmRHZ2dQVDA5SURBcElIdGNiaUFnSUNBZ0lITmxiR1l1WDJOaFkyaGxJRDBnYzJWc1ppNWZZMmx3YUdWeUxtVnVZM0o1Y0hSQ2JHOWpheWh6Wld4bUxsOXdjbVYyS1Z4dUlDQWdJQ0FnYzJWc1ppNWZjSEpsZGlBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTZ3dLVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6Wld4bUxsOWpZV05vWlM1c1pXNW5kR2dnUEQwZ1pHRjBZUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR3hsYmlBOUlITmxiR1l1WDJOaFkyaGxMbXhsYm1kMGFGeHVJQ0FnSUNBZ2IzVjBJRDBnUW5WbVptVnlMbU52Ym1OaGRDaGJiM1YwTENCbGJtTnllWEIwVTNSaGNuUW9jMlZzWml3Z1pHRjBZUzV6YkdsalpTZ3dMQ0JzWlc0cExDQmtaV055ZVhCMEtWMHBYRzRnSUNBZ0lDQmtZWFJoSUQwZ1pHRjBZUzV6YkdsalpTaHNaVzRwWEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUVKMVptWmxjaTVqYjI1allYUW9XMjkxZEN3Z1pXNWpjbmx3ZEZOMFlYSjBLSE5sYkdZc0lHUmhkR0VzSUdSbFkzSjVjSFFwWFNsY2JpQWdJQ0FnSUdKeVpXRnJYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHOTFkRnh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmIxLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiMS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxuZnVuY3Rpb24gZW5jcnlwdEJ5dGUgKHNlbGYsIGJ5dGVQYXJhbSwgZGVjcnlwdCkge1xcbiAgdmFyIHBhZFxcbiAgdmFyIGkgPSAtMVxcbiAgdmFyIGxlbiA9IDhcXG4gIHZhciBvdXQgPSAwXFxuICB2YXIgYml0LCB2YWx1ZVxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBwYWQgPSBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHNlbGYuX3ByZXYpXFxuICAgIGJpdCA9IChieXRlUGFyYW0gJiAoMSA8PCAoNyAtIGkpKSkgPyAweDgwIDogMFxcbiAgICB2YWx1ZSA9IHBhZFswXSBeIGJpdFxcbiAgICBvdXQgKz0gKCh2YWx1ZSAmIDB4ODApID4+IChpICUgOCkpXFxuICAgIHNlbGYuX3ByZXYgPSBzaGlmdEluKHNlbGYuX3ByZXYsIGRlY3J5cHQgPyBiaXQgOiB2YWx1ZSlcXG4gIH1cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gc2hpZnRJbiAoYnVmZmVyLCB2YWx1ZSkge1xcbiAgdmFyIGxlbiA9IGJ1ZmZlci5sZW5ndGhcXG4gIHZhciBpID0gLTFcXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYnVmZmVyLmxlbmd0aClcXG4gIGJ1ZmZlciA9IEJ1ZmZlci5jb25jYXQoW2J1ZmZlciwgQnVmZmVyLmZyb20oW3ZhbHVlXSldKVxcblxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBvdXRbaV0gPSBidWZmZXJbaV0gPDwgMSB8IGJ1ZmZlcltpICsgMV0gPj4gKDcpXFxuICB9XFxuXFxuICByZXR1cm4gb3V0XFxufVxcblxcbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBjaHVuaywgZGVjcnlwdCkge1xcbiAgdmFyIGxlbiA9IGNodW5rLmxlbmd0aFxcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXFxuICB2YXIgaSA9IC0xXFxuXFxuICB3aGlsZSAoKytpIDwgbGVuKSB7XFxuICAgIG91dFtpXSA9IGVuY3J5cHRCeXRlKHNlbGYsIGNodW5rW2ldLCBkZWNyeXB0KVxcbiAgfVxcblxcbiAgcmV0dXJuIG91dFxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlqWm1JeExtcHpQMkkzT1RnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoT3p0QlFVVnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlqWm1JeExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KM05oWm1VdFluVm1abVZ5SnlrdVFuVm1abVZ5WEc1Y2JtWjFibU4wYVc5dUlHVnVZM0o1Y0hSQ2VYUmxJQ2h6Wld4bUxDQmllWFJsVUdGeVlXMHNJR1JsWTNKNWNIUXBJSHRjYmlBZ2RtRnlJSEJoWkZ4dUlDQjJZWElnYVNBOUlDMHhYRzRnSUhaaGNpQnNaVzRnUFNBNFhHNGdJSFpoY2lCdmRYUWdQU0F3WEc0Z0lIWmhjaUJpYVhRc0lIWmhiSFZsWEc0Z0lIZG9hV3hsSUNncksya2dQQ0JzWlc0cElIdGNiaUFnSUNCd1lXUWdQU0J6Wld4bUxsOWphWEJvWlhJdVpXNWpjbmx3ZEVKc2IyTnJLSE5sYkdZdVgzQnlaWFlwWEc0Z0lDQWdZbWwwSUQwZ0tHSjVkR1ZRWVhKaGJTQW1JQ2d4SUR3OElDZzNJQzBnYVNrcEtTQS9JREI0T0RBZ09pQXdYRzRnSUNBZ2RtRnNkV1VnUFNCd1lXUmJNRjBnWGlCaWFYUmNiaUFnSUNCdmRYUWdLejBnS0NoMllXeDFaU0FtSURCNE9EQXBJRDQrSUNocElDVWdPQ2twWEc0Z0lDQWdjMlZzWmk1ZmNISmxkaUE5SUhOb2FXWjBTVzRvYzJWc1ppNWZjSEpsZGl3Z1pHVmpjbmx3ZENBL0lHSnBkQ0E2SUhaaGJIVmxLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnZkWFJjYm4xY2JseHVablZ1WTNScGIyNGdjMmhwWm5SSmJpQW9ZblZtWm1WeUxDQjJZV3gxWlNrZ2UxeHVJQ0IyWVhJZ2JHVnVJRDBnWW5WbVptVnlMbXhsYm1kMGFGeHVJQ0IyWVhJZ2FTQTlJQzB4WEc0Z0lIWmhjaUJ2ZFhRZ1BTQkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVW9ZblZtWm1WeUxteGxibWQwYUNsY2JpQWdZblZtWm1WeUlEMGdRblZtWm1WeUxtTnZibU5oZENoYlluVm1abVZ5TENCQ2RXWm1aWEl1Wm5KdmJTaGJkbUZzZFdWZEtWMHBYRzVjYmlBZ2QyaHBiR1VnS0NzcmFTQThJR3hsYmlrZ2UxeHVJQ0FnSUc5MWRGdHBYU0E5SUdKMVptWmxjbHRwWFNBOFBDQXhJSHdnWW5WbVptVnlXMmtnS3lBeFhTQStQaUFvTnlsY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdmRYUmNibjFjYmx4dVpYaHdiM0owY3k1bGJtTnllWEIwSUQwZ1puVnVZM1JwYjI0Z0tITmxiR1lzSUdOb2RXNXJMQ0JrWldOeWVYQjBLU0I3WEc0Z0lIWmhjaUJzWlc0Z1BTQmphSFZ1YXk1c1pXNW5kR2hjYmlBZ2RtRnlJRzkxZENBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTaHNaVzRwWEc0Z0lIWmhjaUJwSUQwZ0xURmNibHh1SUNCM2FHbHNaU0FvS3l0cElEd2diR1Z1S1NCN1hHNGdJQ0FnYjNWMFcybGRJRDBnWlc1amNubHdkRUo1ZEdVb2MyVnNaaXdnWTJoMWJtdGJhVjBzSUdSbFkzSjVjSFFwWEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYjNWMFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmI4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG5mdW5jdGlvbiBlbmNyeXB0Qnl0ZSAoc2VsZiwgYnl0ZVBhcmFtLCBkZWNyeXB0KSB7XFxuICB2YXIgcGFkID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhzZWxmLl9wcmV2KVxcbiAgdmFyIG91dCA9IHBhZFswXSBeIGJ5dGVQYXJhbVxcblxcbiAgc2VsZi5fcHJldiA9IEJ1ZmZlci5jb25jYXQoW1xcbiAgICBzZWxmLl9wcmV2LnNsaWNlKDEpLFxcbiAgICBCdWZmZXIuZnJvbShbZGVjcnlwdCA/IGJ5dGVQYXJhbSA6IG91dF0pXFxuICBdKVxcblxcbiAgcmV0dXJuIG91dFxcbn1cXG5cXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgY2h1bmssIGRlY3J5cHQpIHtcXG4gIHZhciBsZW4gPSBjaHVuay5sZW5ndGhcXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuKVxcbiAgdmFyIGkgPSAtMVxcblxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBvdXRbaV0gPSBlbmNyeXB0Qnl0ZShzZWxmLCBjaHVua1tpXSwgZGVjcnlwdClcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5alptSTRMbXB6UHpka05HSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5alptSTRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjNOaFptVXRZblZtWm1WeUp5a3VRblZtWm1WeVhHNWNibVoxYm1OMGFXOXVJR1Z1WTNKNWNIUkNlWFJsSUNoelpXeG1MQ0JpZVhSbFVHRnlZVzBzSUdSbFkzSjVjSFFwSUh0Y2JpQWdkbUZ5SUhCaFpDQTlJSE5sYkdZdVgyTnBjR2hsY2k1bGJtTnllWEIwUW14dlkyc29jMlZzWmk1ZmNISmxkaWxjYmlBZ2RtRnlJRzkxZENBOUlIQmhaRnN3WFNCZUlHSjVkR1ZRWVhKaGJWeHVYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0Y2JpQWdJQ0J6Wld4bUxsOXdjbVYyTG5Oc2FXTmxLREVwTEZ4dUlDQWdJRUoxWm1abGNpNW1jbTl0S0Z0a1pXTnllWEIwSUQ4Z1lubDBaVkJoY21GdElEb2diM1YwWFNsY2JpQWdYU2xjYmx4dUlDQnlaWFIxY200Z2IzVjBYRzU5WEc1Y2JtVjRjRzl5ZEhNdVpXNWpjbmx3ZENBOUlHWjFibU4wYVc5dUlDaHpaV3htTENCamFIVnVheXdnWkdWamNubHdkQ2tnZTF4dUlDQjJZWElnYkdWdUlEMGdZMmgxYm1zdWJHVnVaM1JvWEc0Z0lIWmhjaUJ2ZFhRZ1BTQkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVW9iR1Z1S1Z4dUlDQjJZWElnYVNBOUlDMHhYRzVjYmlBZ2QyaHBiR1VnS0NzcmFTQThJR3hsYmlrZ2UxeHVJQ0FnSUc5MWRGdHBYU0E5SUdWdVkzSjVjSFJDZVhSbEtITmxiR1lzSUdOb2RXNXJXMmxkTENCa1pXTnllWEIwS1Z4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc5MWRGeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmI4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jdHIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciB4b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIteG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIteG9yL2luZGV4LmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIGluY3IzMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2luY3IzMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvaW5jcjMyLmpzXFxcIilcXG5cXG5mdW5jdGlvbiBnZXRCbG9jayAoc2VsZikge1xcbiAgdmFyIG91dCA9IHNlbGYuX2NpcGhlci5lbmNyeXB0QmxvY2tSYXcoc2VsZi5fcHJldilcXG4gIGluY3IzMihzZWxmLl9wcmV2KVxcbiAgcmV0dXJuIG91dFxcbn1cXG5cXG52YXIgYmxvY2tTaXplID0gMTZcXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgY2h1bmspIHtcXG4gIHZhciBjaHVua051bSA9IE1hdGguY2VpbChjaHVuay5sZW5ndGggLyBibG9ja1NpemUpXFxuICB2YXIgc3RhcnQgPSBzZWxmLl9jYWNoZS5sZW5ndGhcXG4gIHNlbGYuX2NhY2hlID0gQnVmZmVyLmNvbmNhdChbXFxuICAgIHNlbGYuX2NhY2hlLFxcbiAgICBCdWZmZXIuYWxsb2NVbnNhZmUoY2h1bmtOdW0gKiBibG9ja1NpemUpXFxuICBdKVxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaHVua051bTsgaSsrKSB7XFxuICAgIHZhciBvdXQgPSBnZXRCbG9jayhzZWxmKVxcbiAgICB2YXIgb2Zmc2V0ID0gc3RhcnQgKyBpICogYmxvY2tTaXplXFxuICAgIHNlbGYuX2NhY2hlLndyaXRlVUludDMyQkUob3V0WzBdLCBvZmZzZXQgKyAwKVxcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFsxXSwgb2Zmc2V0ICsgNClcXG4gICAgc2VsZi5fY2FjaGUud3JpdGVVSW50MzJCRShvdXRbMl0sIG9mZnNldCArIDgpXFxuICAgIHNlbGYuX2NhY2hlLndyaXRlVUludDMyQkUob3V0WzNdLCBvZmZzZXQgKyAxMilcXG4gIH1cXG4gIHZhciBwYWQgPSBzZWxmLl9jYWNoZS5zbGljZSgwLCBjaHVuay5sZW5ndGgpXFxuICBzZWxmLl9jYWNoZSA9IHNlbGYuX2NhY2hlLnNsaWNlKGNodW5rLmxlbmd0aClcXG4gIHJldHVybiB4b3IoY2h1bmssIHBhZClcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5amRISXVhbk0vWTJKaFpDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNjMFJCUVZrN1FVRkRPVUlzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE8wRkJRMnhETEdGQlFXRXNiVUpCUVU4c1EwRkJReXd3UkVGQlZ6czdRVUZGYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNhVUpCUVdsQ0xHTkJRV003UVVGREwwSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5amRISXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnZUc5eUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUxYaHZjaWNwWEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25jMkZtWlMxaWRXWm1aWEluS1M1Q2RXWm1aWEpjYm5aaGNpQnBibU55TXpJZ1BTQnlaWEYxYVhKbEtDY3VMaTlwYm1OeU16SW5LVnh1WEc1bWRXNWpkR2x2YmlCblpYUkNiRzlqYXlBb2MyVnNaaWtnZTF4dUlDQjJZWElnYjNWMElEMGdjMlZzWmk1ZlkybHdhR1Z5TG1WdVkzSjVjSFJDYkc5amExSmhkeWh6Wld4bUxsOXdjbVYyS1Z4dUlDQnBibU55TXpJb2MyVnNaaTVmY0hKbGRpbGNiaUFnY21WMGRYSnVJRzkxZEZ4dWZWeHVYRzUyWVhJZ1lteHZZMnRUYVhwbElEMGdNVFpjYm1WNGNHOXlkSE11Wlc1amNubHdkQ0E5SUdaMWJtTjBhVzl1SUNoelpXeG1MQ0JqYUhWdWF5a2dlMXh1SUNCMllYSWdZMmgxYm10T2RXMGdQU0JOWVhSb0xtTmxhV3dvWTJoMWJtc3ViR1Z1WjNSb0lDOGdZbXh2WTJ0VGFYcGxLVnh1SUNCMllYSWdjM1JoY25RZ1BTQnpaV3htTGw5allXTm9aUzVzWlc1bmRHaGNiaUFnYzJWc1ppNWZZMkZqYUdVZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0Y2JpQWdJQ0J6Wld4bUxsOWpZV05vWlN4Y2JpQWdJQ0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvWTJoMWJtdE9kVzBnS2lCaWJHOWphMU5wZW1VcFhHNGdJRjBwWEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZMmgxYm10T2RXMDdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQnZkWFFnUFNCblpYUkNiRzlqYXloelpXeG1LVnh1SUNBZ0lIWmhjaUJ2Wm1aelpYUWdQU0J6ZEdGeWRDQXJJR2tnS2lCaWJHOWphMU5wZW1WY2JpQWdJQ0J6Wld4bUxsOWpZV05vWlM1M2NtbDBaVlZKYm5Rek1rSkZLRzkxZEZzd1hTd2diMlptYzJWMElDc2dNQ2xjYmlBZ0lDQnpaV3htTGw5allXTm9aUzUzY21sMFpWVkpiblF6TWtKRktHOTFkRnN4WFN3Z2IyWm1jMlYwSUNzZ05DbGNiaUFnSUNCelpXeG1MbDlqWVdOb1pTNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3lYU3dnYjJabWMyVjBJQ3NnT0NsY2JpQWdJQ0J6Wld4bUxsOWpZV05vWlM1M2NtbDBaVlZKYm5Rek1rSkZLRzkxZEZzelhTd2diMlptYzJWMElDc2dNVElwWEc0Z0lIMWNiaUFnZG1GeUlIQmhaQ0E5SUhObGJHWXVYMk5oWTJobExuTnNhV05sS0RBc0lHTm9kVzVyTG14bGJtZDBhQ2xjYmlBZ2MyVnNaaTVmWTJGamFHVWdQU0J6Wld4bUxsOWpZV05vWlM1emJHbGpaU2hqYUhWdWF5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQjRiM0lvWTJoMWJtc3NJSEJoWkNsY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvZWNiLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9lY2IuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCJleHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgYmxvY2spIHtcXG4gIHJldHVybiBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGJsb2NrKVxcbn1cXG5cXG5leHBvcnRzLmRlY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgYmxvY2spIHtcXG4gIHJldHVybiBzZWxmLl9jaXBoZXIuZGVjcnlwdEJsb2NrKGJsb2NrKVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlsWTJJdWFuTS9NbU14TWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMjF2WkdWekwyVmpZaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRITXVaVzVqY25sd2RDQTlJR1oxYm1OMGFXOXVJQ2h6Wld4bUxDQmliRzlqYXlrZ2UxeHVJQ0J5WlhSMWNtNGdjMlZzWmk1ZlkybHdhR1Z5TG1WdVkzSjVjSFJDYkc5amF5aGliRzlqYXlsY2JuMWNibHh1Wlhod2IzSjBjeTVrWldOeWVYQjBJRDBnWm5WdVkzUnBiMjRnS0hObGJHWXNJR0pzYjJOcktTQjdYRzRnSUhKbGRIVnliaUJ6Wld4bUxsOWphWEJvWlhJdVpHVmpjbmx3ZEVKc2IyTnJLR0pzYjJOcktWeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9lY2IuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgbW9kZU1vZHVsZXMgPSB7XFxuICBFQ0I6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWNiICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9lY2IuanNcXFwiKSxcXG4gIENCQzogX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jYmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NiYy5qc1xcXCIpLFxcbiAgQ0ZCOiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NmYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiLmpzXFxcIiksXFxuICBDRkI4OiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NmYjggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjguanNcXFwiKSxcXG4gIENGQjE6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2ZiMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiMS5qc1xcXCIpLFxcbiAgT0ZCOiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL29mYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvb2ZiLmpzXFxcIiksXFxuICBDVFI6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY3RyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jdHIuanNcXFwiKSxcXG4gIEdDTTogX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jdHIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qc1xcXCIpXFxufVxcblxcbnZhciBtb2RlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGlzdC5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9saXN0Lmpzb25cXFwiKVxcblxcbmZvciAodmFyIGtleSBpbiBtb2Rlcykge1xcbiAgbW9kZXNba2V5XS5tb2R1bGUgPSBtb2RlTW9kdWxlc1ttb2Rlc1trZXldLm1vZGVdXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gbW9kZXNcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlwYm1SbGVDNXFjejltWlRJNElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFc1QwRkJUeXh0UWtGQlR5eERRVUZETEhsRVFVRlBPMEZCUTNSQ0xFOUJRVThzYlVKQlFVOHNRMEZCUXl4NVJFRkJUenRCUVVOMFFpeFBRVUZQTEcxQ1FVRlBMRU5CUVVNc2VVUkJRVTg3UVVGRGRFSXNVVUZCVVN4dFFrRkJUeXhEUVVGRExESkVRVUZSTzBGQlEzaENMRkZCUVZFc2JVSkJRVThzUTBGQlF5d3lSRUZCVVR0QlFVTjRRaXhQUVVGUExHMUNRVUZQTEVOQlFVTXNlVVJCUVU4N1FVRkRkRUlzVDBGQlR5eHRRa0ZCVHl4RFFVRkRMSGxFUVVGUE8wRkJRM1JDTEU5QlFVOHNiVUpCUVU4c1EwRkJReXg1UkVGQlR6dEJRVU4wUWpzN1FVRkZRU3haUVVGWkxHMUNRVUZQTEVOQlFVTXNhMFZCUVdFN08wRkJSV3BETzBGQlEwRTdRVUZEUVRzN1FVRkZRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlwYm1SbGVDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJ0YjJSbFRXOWtkV3hsY3lBOUlIdGNiaUFnUlVOQ09pQnlaWEYxYVhKbEtDY3VMMlZqWWljcExGeHVJQ0JEUWtNNklISmxjWFZwY21Vb0p5NHZZMkpqSnlrc1hHNGdJRU5HUWpvZ2NtVnhkV2x5WlNnbkxpOWpabUluS1N4Y2JpQWdRMFpDT0RvZ2NtVnhkV2x5WlNnbkxpOWpabUk0Snlrc1hHNGdJRU5HUWpFNklISmxjWFZwY21Vb0p5NHZZMlppTVNjcExGeHVJQ0JQUmtJNklISmxjWFZwY21Vb0p5NHZiMlppSnlrc1hHNGdJRU5VVWpvZ2NtVnhkV2x5WlNnbkxpOWpkSEluS1N4Y2JpQWdSME5OT2lCeVpYRjFhWEpsS0NjdUwyTjBjaWNwWEc1OVhHNWNiblpoY2lCdGIyUmxjeUE5SUhKbGNYVnBjbVVvSnk0dmJHbHpkQzVxYzI5dUp5bGNibHh1Wm05eUlDaDJZWElnYTJWNUlHbHVJRzF2WkdWektTQjdYRzRnSUcxdlpHVnpXMnRsZVYwdWJXOWtkV3hsSUQwZ2JXOWtaVTF2WkhWc1pYTmJiVzlrWlhOYmEyVjVYUzV0YjJSbFhWeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUcxdlpHVnpYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9saXN0Lmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2xpc3QuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogYWVzLTEyOC1lY2IsIGFlcy0xOTItZWNiLCBhZXMtMjU2LWVjYiwgYWVzLTEyOC1jYmMsIGFlcy0xOTItY2JjLCBhZXMtMjU2LWNiYywgYWVzMTI4LCBhZXMxOTIsIGFlczI1NiwgYWVzLTEyOC1jZmIsIGFlcy0xOTItY2ZiLCBhZXMtMjU2LWNmYiwgYWVzLTEyOC1jZmI4LCBhZXMtMTkyLWNmYjgsIGFlcy0yNTYtY2ZiOCwgYWVzLTEyOC1jZmIxLCBhZXMtMTkyLWNmYjEsIGFlcy0yNTYtY2ZiMSwgYWVzLTEyOC1vZmIsIGFlcy0xOTItb2ZiLCBhZXMtMjU2LW9mYiwgYWVzLTEyOC1jdHIsIGFlcy0xOTItY3RyLCBhZXMtMjU2LWN0ciwgYWVzLTEyOC1nY20sIGFlcy0xOTItZ2NtLCBhZXMtMjU2LWdjbSwgZGVmYXVsdCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSkge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBKU09OLnBhcnNlKFxcXCJ7XFxcXFxcXCJhZXMtMTI4LWVjYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjAsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJFQ0JcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImJsb2NrXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTE5Mi1lY2JcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTkyLFxcXFxcXFwiaXZcXFxcXFxcIjowLFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiRUNCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJibG9ja1xcXFxcXFwifSxcXFxcXFxcImFlcy0yNTYtZWNiXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MCxcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkVDQlxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNiY1xcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0JDXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJibG9ja1xcXFxcXFwifSxcXFxcXFxcImFlcy0xOTItY2JjXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjE5MixcXFxcXFxcIml2XFxcXFxcXCI6MTYsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJDQkNcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImJsb2NrXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTI1Ni1jYmNcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MjU2LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMxMjhcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTI4LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMxOTJcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTkyLFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMyNTZcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MjU2LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNmYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTkyLWNmYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMjU2LWNmYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoyNTYsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNmYjhcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTI4LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNGQjhcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcInN0cmVhbVxcXFxcXFwifSxcXFxcXFxcImFlcy0xOTItY2ZiOFxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCOFxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwic3RyZWFtXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTI1Ni1jZmI4XFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MTYsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJDRkI4XFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNmYjFcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTI4LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNGQjFcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcInN0cmVhbVxcXFxcXFwifSxcXFxcXFxcImFlcy0xOTItY2ZiMVxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCMVxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwic3RyZWFtXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTI1Ni1jZmIxXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MTYsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJDRkIxXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LW9mYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiT0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTkyLW9mYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiT0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMjU2LW9mYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoyNTYsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiT0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWN0clxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ1RSXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTkyLWN0clxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ1RSXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMjU2LWN0clxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoyNTYsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ1RSXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWdjbVxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjEyLFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiR0NNXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJhdXRoXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTE5Mi1nY21cXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTkyLFxcXFxcXFwiaXZcXFxcXFxcIjoxMixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkdDTVxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYXV0aFxcXFxcXFwifSxcXFxcXFxcImFlcy0yNTYtZ2NtXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MTIsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJHQ01cXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImF1dGhcXFxcXFxcIn19XFxcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYlhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5c2FYTjBMbXB6YjI0dWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvbGlzdC5qc29uXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9vZmIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL29mYi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHt2YXIgeG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyLXhvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gZ2V0QmxvY2sgKHNlbGYpIHtcXG4gIHNlbGYuX3ByZXYgPSBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHNlbGYuX3ByZXYpXFxuICByZXR1cm4gc2VsZi5fcHJldlxcbn1cXG5cXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgY2h1bmspIHtcXG4gIHdoaWxlIChzZWxmLl9jYWNoZS5sZW5ndGggPCBjaHVuay5sZW5ndGgpIHtcXG4gICAgc2VsZi5fY2FjaGUgPSBCdWZmZXIuY29uY2F0KFtzZWxmLl9jYWNoZSwgZ2V0QmxvY2soc2VsZildKVxcbiAgfVxcblxcbiAgdmFyIHBhZCA9IHNlbGYuX2NhY2hlLnNsaWNlKDAsIGNodW5rLmxlbmd0aClcXG4gIHNlbGYuX2NhY2hlID0gc2VsZi5fY2FjaGUuc2xpY2UoY2h1bmsubGVuZ3RoKVxcbiAgcmV0dXJuIHhvcihjaHVuaywgcGFkKVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5dlptSXVhbk0vTmpoak9TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3gzUkVGQlZTeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk96dEJRVVU1UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTl0YjJSbGN5OXZabUl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2VHOXlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlMWGh2Y2ljcFhHNWNibVoxYm1OMGFXOXVJR2RsZEVKc2IyTnJJQ2h6Wld4bUtTQjdYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQnpaV3htTGw5amFYQm9aWEl1Wlc1amNubHdkRUpzYjJOcktITmxiR1l1WDNCeVpYWXBYRzRnSUhKbGRIVnliaUJ6Wld4bUxsOXdjbVYyWEc1OVhHNWNibVY0Y0c5eWRITXVaVzVqY25sd2RDQTlJR1oxYm1OMGFXOXVJQ2h6Wld4bUxDQmphSFZ1YXlrZ2UxeHVJQ0IzYUdsc1pTQW9jMlZzWmk1ZlkyRmphR1V1YkdWdVozUm9JRHdnWTJoMWJtc3ViR1Z1WjNSb0tTQjdYRzRnSUNBZ2MyVnNaaTVmWTJGamFHVWdQU0JDZFdabVpYSXVZMjl1WTJGMEtGdHpaV3htTGw5allXTm9aU3dnWjJWMFFteHZZMnNvYzJWc1ppbGRLVnh1SUNCOVhHNWNiaUFnZG1GeUlIQmhaQ0E5SUhObGJHWXVYMk5oWTJobExuTnNhV05sS0RBc0lHTm9kVzVyTG14bGJtZDBhQ2xjYmlBZ2MyVnNaaTVmWTJGamFHVWdQU0J6Wld4bUxsOWpZV05vWlM1emJHbGpaU2hqYUhWdWF5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQjRiM0lvWTJoMWJtc3NJSEJoWkNsY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL29mYi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvc3RyZWFtQ2lwaGVyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgYWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2Flcy5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBUcmFuc2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjaXBoZXItYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXFwiKVxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG5cXG5mdW5jdGlvbiBTdHJlYW1DaXBoZXIgKG1vZGUsIGtleSwgaXYsIGRlY3J5cHQpIHtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXFxuXFxuICB0aGlzLl9jaXBoZXIgPSBuZXcgYWVzLkFFUyhrZXkpXFxuICB0aGlzLl9wcmV2ID0gQnVmZmVyLmZyb20oaXYpXFxuICB0aGlzLl9jYWNoZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxcbiAgdGhpcy5fc2VjQ2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcXG4gIHRoaXMuX2RlY3J5cHQgPSBkZWNyeXB0XFxuICB0aGlzLl9tb2RlID0gbW9kZVxcbn1cXG5cXG5pbmhlcml0cyhTdHJlYW1DaXBoZXIsIFRyYW5zZm9ybSlcXG5cXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoY2h1bmspIHtcXG4gIHJldHVybiB0aGlzLl9tb2RlLmVuY3J5cHQodGhpcywgY2h1bmssIHRoaXMuX2RlY3J5cHQpXFxufVxcblxcblN0cmVhbUNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fY2lwaGVyLnNjcnViKClcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTdHJlYW1DaXBoZXJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5emRISmxZVzFEYVhCb1pYSXVhbk0vWVdWaE1DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNiVVJCUVU4N1FVRkRla0lzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE8wRkJRMnhETEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEhkRVFVRmhPMEZCUTNKRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0WVdWekwzTjBjbVZoYlVOcGNHaGxjaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCaFpYTWdQU0J5WlhGMWFYSmxLQ2N1TDJGbGN5Y3BYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSmNiblpoY2lCVWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1MllYSWdhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwWEc1Y2JtWjFibU4wYVc5dUlGTjBjbVZoYlVOcGNHaGxjaUFvYlc5a1pTd2dhMlY1TENCcGRpd2daR1ZqY25sd2RDa2dlMXh1SUNCVWNtRnVjMlp2Y20wdVkyRnNiQ2gwYUdsektWeHVYRzRnSUhSb2FYTXVYMk5wY0dobGNpQTlJRzVsZHlCaFpYTXVRVVZUS0d0bGVTbGNiaUFnZEdocGN5NWZjSEpsZGlBOUlFSjFabVpsY2k1bWNtOXRLR2wyS1Z4dUlDQjBhR2x6TGw5allXTm9aU0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNnd0tWeHVJQ0IwYUdsekxsOXpaV05EWVdOb1pTQTlJRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aU2d3S1Z4dUlDQjBhR2x6TGw5a1pXTnllWEIwSUQwZ1pHVmpjbmx3ZEZ4dUlDQjBhR2x6TGw5dGIyUmxJRDBnYlc5a1pWeHVmVnh1WEc1cGJtaGxjbWwwY3loVGRISmxZVzFEYVhCb1pYSXNJRlJ5WVc1elptOXliU2xjYmx4dVUzUnlaV0Z0UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDl0YjJSbExtVnVZM0o1Y0hRb2RHaHBjeXdnWTJoMWJtc3NJSFJvYVhNdVgyUmxZM0o1Y0hRcFhHNTlYRzVjYmxOMGNtVmhiVU5wY0dobGNpNXdjbTkwYjNSNWNHVXVYMlpwYm1Gc0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjBhR2x6TGw5amFYQm9aWEl1YzJOeWRXSW9LVnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGTjBjbVZoYlVOcGNHaGxjbHh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWNpcGhlci9icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBERVMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWRlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1kZXMvaW5kZXguanNcXFwiKVxcbnZhciBhZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcy9icm93c2VyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9icm93c2VyLmpzXFxcIilcXG52YXIgYWVzTW9kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcy9tb2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvaW5kZXguanNcXFwiKVxcbnZhciBkZXNNb2RlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktZGVzL21vZGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qc1xcXCIpXFxudmFyIGVidGsgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBldnBfYnl0ZXN0b2tleSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZXZwX2J5dGVzdG9rZXkvaW5kZXguanNcXFwiKVxcblxcbmZ1bmN0aW9uIGNyZWF0ZUNpcGhlciAoc3VpdGUsIHBhc3N3b3JkKSB7XFxuICBzdWl0ZSA9IHN1aXRlLnRvTG93ZXJDYXNlKClcXG5cXG4gIHZhciBrZXlMZW4sIGl2TGVuXFxuICBpZiAoYWVzTW9kZXNbc3VpdGVdKSB7XFxuICAgIGtleUxlbiA9IGFlc01vZGVzW3N1aXRlXS5rZXlcXG4gICAgaXZMZW4gPSBhZXNNb2Rlc1tzdWl0ZV0uaXZcXG4gIH0gZWxzZSBpZiAoZGVzTW9kZXNbc3VpdGVdKSB7XFxuICAgIGtleUxlbiA9IGRlc01vZGVzW3N1aXRlXS5rZXkgKiA4XFxuICAgIGl2TGVuID0gZGVzTW9kZXNbc3VpdGVdLml2XFxuICB9IGVsc2Uge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxcbiAgfVxcblxcbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwga2V5TGVuLCBpdkxlbilcXG4gIHJldHVybiBjcmVhdGVDaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcXG4gIHN1aXRlID0gc3VpdGUudG9Mb3dlckNhc2UoKVxcblxcbiAgdmFyIGtleUxlbiwgaXZMZW5cXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHtcXG4gICAga2V5TGVuID0gYWVzTW9kZXNbc3VpdGVdLmtleVxcbiAgICBpdkxlbiA9IGFlc01vZGVzW3N1aXRlXS5pdlxcbiAgfSBlbHNlIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHtcXG4gICAga2V5TGVuID0gZGVzTW9kZXNbc3VpdGVdLmtleSAqIDhcXG4gICAgaXZMZW4gPSBkZXNNb2Rlc1tzdWl0ZV0uaXZcXG4gIH0gZWxzZSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxuICB9XFxuXFxuICB2YXIga2V5cyA9IGVidGsocGFzc3dvcmQsIGZhbHNlLCBrZXlMZW4sIGl2TGVuKVxcbiAgcmV0dXJuIGNyZWF0ZURlY2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIGtleSwgaXYpIHtcXG4gIHN1aXRlID0gc3VpdGUudG9Mb3dlckNhc2UoKVxcbiAgaWYgKGFlc01vZGVzW3N1aXRlXSkgcmV0dXJuIGFlcy5jcmVhdGVDaXBoZXJpdihzdWl0ZSwga2V5LCBpdilcXG4gIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBuZXcgREVTKHsga2V5OiBrZXksIGl2OiBpdiwgbW9kZTogc3VpdGUgfSlcXG5cXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyaXYgKHN1aXRlLCBrZXksIGl2KSB7XFxuICBzdWl0ZSA9IHN1aXRlLnRvTG93ZXJDYXNlKClcXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBhZXMuY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwga2V5LCBpdilcXG4gIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBuZXcgREVTKHsga2V5OiBrZXksIGl2OiBpdiwgbW9kZTogc3VpdGUsIGRlY3J5cHQ6IHRydWUgfSlcXG5cXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxufVxcblxcbmZ1bmN0aW9uIGdldENpcGhlcnMgKCkge1xcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGRlc01vZGVzKS5jb25jYXQoYWVzLmdldENpcGhlcnMoKSlcXG59XFxuXFxuZXhwb3J0cy5jcmVhdGVDaXBoZXIgPSBleHBvcnRzLkNpcGhlciA9IGNyZWF0ZUNpcGhlclxcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBleHBvcnRzLkNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcXG5leHBvcnRzLmNyZWF0ZURlY2lwaGVyID0gZXhwb3J0cy5EZWNpcGhlciA9IGNyZWF0ZURlY2lwaGVyXFxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlcml2ID0gZXhwb3J0cy5EZWNpcGhlcml2ID0gY3JlYXRlRGVjaXBoZXJpdlxcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBleHBvcnRzLmdldENpcGhlcnMgPSBnZXRDaXBoZXJzXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdOcGNHaGxjaTlpY205M2MyVnlMbXB6UDJZMk0yTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhFUVVGblFqdEJRVU5zUXl4VlFVRlZMRzFDUVVGUExFTkJRVU1zZDBWQlFYZENPMEZCUXpGRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3d1JVRkJjMEk3UVVGRE4wTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExHOUZRVUZ6UWp0QlFVTTNReXhYUVVGWExHMUNRVUZQTEVOQlFVTXNPRVJCUVdkQ096dEJRVVZ1UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXl4blEwRkJaME03TzBGQlJYWkZPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVU5CUVhWRExDdERRVUVyUXpzN1FVRkZkRVk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdOcGNHaGxjaTlpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUVSRlV5QTlJSEpsY1hWcGNtVW9KMkp5YjNkelpYSnBabmt0WkdWekp5bGNiblpoY2lCaFpYTWdQU0J5WlhGMWFYSmxLQ2RpY205M2MyVnlhV1o1TFdGbGN5OWljbTkzYzJWeUp5bGNiblpoY2lCaFpYTk5iMlJsY3lBOUlISmxjWFZwY21Vb0oySnliM2R6WlhKcFpua3RZV1Z6TDIxdlpHVnpKeWxjYm5aaGNpQmtaWE5OYjJSbGN5QTlJSEpsY1hWcGNtVW9KMkp5YjNkelpYSnBabmt0WkdWekwyMXZaR1Z6SnlsY2JuWmhjaUJsWW5ScklEMGdjbVZ4ZFdseVpTZ25aWFp3WDJKNWRHVnpkRzlyWlhrbktWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkRhWEJvWlhJZ0tITjFhWFJsTENCd1lYTnpkMjl5WkNrZ2UxeHVJQ0J6ZFdsMFpTQTlJSE4xYVhSbExuUnZURzkzWlhKRFlYTmxLQ2xjYmx4dUlDQjJZWElnYTJWNVRHVnVMQ0JwZGt4bGJseHVJQ0JwWmlBb1lXVnpUVzlrWlhOYmMzVnBkR1ZkS1NCN1hHNGdJQ0FnYTJWNVRHVnVJRDBnWVdWelRXOWtaWE5iYzNWcGRHVmRMbXRsZVZ4dUlDQWdJR2wyVEdWdUlEMGdZV1Z6VFc5a1pYTmJjM1ZwZEdWZExtbDJYRzRnSUgwZ1pXeHpaU0JwWmlBb1pHVnpUVzlrWlhOYmMzVnBkR1ZkS1NCN1hHNGdJQ0FnYTJWNVRHVnVJRDBnWkdWelRXOWtaWE5iYzNWcGRHVmRMbXRsZVNBcUlEaGNiaUFnSUNCcGRreGxiaUE5SUdSbGMwMXZaR1Z6VzNOMWFYUmxYUzVwZGx4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oybHVkbUZzYVdRZ2MzVnBkR1VnZEhsd1pTY3BYRzRnSUgxY2JseHVJQ0IyWVhJZ2EyVjVjeUE5SUdWaWRHc29jR0Z6YzNkdmNtUXNJR1poYkhObExDQnJaWGxNWlc0c0lHbDJUR1Z1S1Z4dUlDQnlaWFIxY200Z1kzSmxZWFJsUTJsd2FHVnlhWFlvYzNWcGRHVXNJR3RsZVhNdWEyVjVMQ0JyWlhsekxtbDJLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRVpXTnBjR2hsY2lBb2MzVnBkR1VzSUhCaGMzTjNiM0prS1NCN1hHNGdJSE4xYVhSbElEMGdjM1ZwZEdVdWRHOU1iM2RsY2tOaGMyVW9LVnh1WEc0Z0lIWmhjaUJyWlhsTVpXNHNJR2wyVEdWdVhHNGdJR2xtSUNoaFpYTk5iMlJsYzF0emRXbDBaVjBwSUh0Y2JpQWdJQ0JyWlhsTVpXNGdQU0JoWlhOTmIyUmxjMXR6ZFdsMFpWMHVhMlY1WEc0Z0lDQWdhWFpNWlc0Z1BTQmhaWE5OYjJSbGMxdHpkV2wwWlYwdWFYWmNiaUFnZlNCbGJITmxJR2xtSUNoa1pYTk5iMlJsYzF0emRXbDBaVjBwSUh0Y2JpQWdJQ0JyWlhsTVpXNGdQU0JrWlhOTmIyUmxjMXR6ZFdsMFpWMHVhMlY1SUNvZ09GeHVJQ0FnSUdsMlRHVnVJRDBnWkdWelRXOWtaWE5iYzNWcGRHVmRMbWwyWEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNiaUFnZlZ4dVhHNGdJSFpoY2lCclpYbHpJRDBnWldKMGF5aHdZWE56ZDI5eVpDd2dabUZzYzJVc0lHdGxlVXhsYml3Z2FYWk1aVzRwWEc0Z0lISmxkSFZ5YmlCamNtVmhkR1ZFWldOcGNHaGxjbWwyS0hOMWFYUmxMQ0JyWlhsekxtdGxlU3dnYTJWNWN5NXBkaWxjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFEybHdhR1Z5YVhZZ0tITjFhWFJsTENCclpYa3NJR2wyS1NCN1hHNGdJSE4xYVhSbElEMGdjM1ZwZEdVdWRHOU1iM2RsY2tOaGMyVW9LVnh1SUNCcFppQW9ZV1Z6VFc5a1pYTmJjM1ZwZEdWZEtTQnlaWFIxY200Z1lXVnpMbU55WldGMFpVTnBjR2hsY21sMktITjFhWFJsTENCclpYa3NJR2wyS1Z4dUlDQnBaaUFvWkdWelRXOWtaWE5iYzNWcGRHVmRLU0J5WlhSMWNtNGdibVYzSUVSRlV5aDdJR3RsZVRvZ2EyVjVMQ0JwZGpvZ2FYWXNJRzF2WkdVNklITjFhWFJsSUgwcFhHNWNiaUFnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUkdWamFYQm9aWEpwZGlBb2MzVnBkR1VzSUd0bGVTd2dhWFlwSUh0Y2JpQWdjM1ZwZEdVZ1BTQnpkV2wwWlM1MGIweHZkMlZ5UTJGelpTZ3BYRzRnSUdsbUlDaGhaWE5OYjJSbGMxdHpkV2wwWlYwcElISmxkSFZ5YmlCaFpYTXVZM0psWVhSbFJHVmphWEJvWlhKcGRpaHpkV2wwWlN3Z2EyVjVMQ0JwZGlsY2JpQWdhV1lnS0dSbGMwMXZaR1Z6VzNOMWFYUmxYU2tnY21WMGRYSnVJRzVsZHlCRVJWTW9leUJyWlhrNklHdGxlU3dnYVhZNklHbDJMQ0J0YjJSbE9pQnpkV2wwWlN3Z1pHVmpjbmx3ZERvZ2RISjFaU0I5S1Z4dVhHNGdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjJsdWRtRnNhV1FnYzNWcGRHVWdkSGx3WlNjcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTnBjR2hsY25NZ0tDa2dlMXh1SUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1pHVnpUVzlrWlhNcExtTnZibU5oZENoaFpYTXVaMlYwUTJsd2FHVnljeWdwS1Z4dWZWeHVYRzVsZUhCdmNuUnpMbU55WldGMFpVTnBjR2hsY2lBOUlHVjRjRzl5ZEhNdVEybHdhR1Z5SUQwZ1kzSmxZWFJsUTJsd2FHVnlYRzVsZUhCdmNuUnpMbU55WldGMFpVTnBjR2hsY21sMklEMGdaWGh3YjNKMGN5NURhWEJvWlhKcGRpQTlJR055WldGMFpVTnBjR2hsY21sMlhHNWxlSEJ2Y25SekxtTnlaV0YwWlVSbFkybHdhR1Z5SUQwZ1pYaHdiM0owY3k1RVpXTnBjR2hsY2lBOUlHTnlaV0YwWlVSbFkybHdhR1Z5WEc1bGVIQnZjblJ6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlnUFNCbGVIQnZjblJ6TGtSbFkybHdhR1Z5YVhZZ1BTQmpjbVZoZEdWRVpXTnBjR2hsY21sMlhHNWxlSEJ2Y25SekxteHBjM1JEYVhCb1pYSnpJRDBnWlhod2IzSjBjeTVuWlhSRGFYQm9aWEp6SUQwZ1oyVjBRMmx3YUdWeWMxeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQ2lwaGVyQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxudmFyIGRlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGRlcy5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMuanNcXFwiKVxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIG1vZGVzID0ge1xcbiAgJ2Rlcy1lZGUzLWNiYyc6IGRlcy5DQkMuaW5zdGFudGlhdGUoZGVzLkVERSksXFxuICAnZGVzLWVkZTMnOiBkZXMuRURFLFxcbiAgJ2Rlcy1lZGUtY2JjJzogZGVzLkNCQy5pbnN0YW50aWF0ZShkZXMuRURFKSxcXG4gICdkZXMtZWRlJzogZGVzLkVERSxcXG4gICdkZXMtY2JjJzogZGVzLkNCQy5pbnN0YW50aWF0ZShkZXMuREVTKSxcXG4gICdkZXMtZWNiJzogZGVzLkRFU1xcbn1cXG5tb2Rlcy5kZXMgPSBtb2Rlc1snZGVzLWNiYyddXFxubW9kZXMuZGVzMyA9IG1vZGVzWydkZXMtZWRlMy1jYmMnXVxcbm1vZHVsZS5leHBvcnRzID0gREVTXFxuaW5oZXJpdHMoREVTLCBDaXBoZXJCYXNlKVxcbmZ1bmN0aW9uIERFUyAob3B0cykge1xcbiAgQ2lwaGVyQmFzZS5jYWxsKHRoaXMpXFxuICB2YXIgbW9kZU5hbWUgPSBvcHRzLm1vZGUudG9Mb3dlckNhc2UoKVxcbiAgdmFyIG1vZGUgPSBtb2Rlc1ttb2RlTmFtZV1cXG4gIHZhciB0eXBlXFxuICBpZiAob3B0cy5kZWNyeXB0KSB7XFxuICAgIHR5cGUgPSAnZGVjcnlwdCdcXG4gIH0gZWxzZSB7XFxuICAgIHR5cGUgPSAnZW5jcnlwdCdcXG4gIH1cXG4gIHZhciBrZXkgPSBvcHRzLmtleVxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoa2V5KSkge1xcbiAgICBrZXkgPSBCdWZmZXIuZnJvbShrZXkpXFxuICB9XFxuICBpZiAobW9kZU5hbWUgPT09ICdkZXMtZWRlJyB8fCBtb2RlTmFtZSA9PT0gJ2Rlcy1lZGUtY2JjJykge1xcbiAgICBrZXkgPSBCdWZmZXIuY29uY2F0KFtrZXksIGtleS5zbGljZSgwLCA4KV0pXFxuICB9XFxuICB2YXIgaXYgPSBvcHRzLml2XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihpdikpIHtcXG4gICAgaXYgPSBCdWZmZXIuZnJvbShpdilcXG4gIH1cXG4gIHRoaXMuX2RlcyA9IG1vZGUuY3JlYXRlKHtcXG4gICAga2V5OiBrZXksXFxuICAgIGl2OiBpdixcXG4gICAgdHlwZTogdHlwZVxcbiAgfSlcXG59XFxuREVTLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMudXBkYXRlKGRhdGEpKVxcbn1cXG5ERVMucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMuZmluYWwoKSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdSbGN5OXBibVJsZUM1cWN6OHhNRFZsSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExIZEVRVUZoTzBGQlEzUkRMRlZCUVZVc2JVSkJRVThzUTBGQlF5eG5SRUZCVVR0QlFVTXhRaXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRha01zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RaR1Z6TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUVOcGNHaGxja0poYzJVZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1MllYSWdaR1Z6SUQwZ2NtVnhkV2x5WlNnblpHVnpMbXB6SnlsY2JuWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlsY2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2R6WVdabExXSjFabVpsY2ljcExrSjFabVpsY2x4dVhHNTJZWElnYlc5a1pYTWdQU0I3WEc0Z0lDZGtaWE10WldSbE15MWpZbU1uT2lCa1pYTXVRMEpETG1sdWMzUmhiblJwWVhSbEtHUmxjeTVGUkVVcExGeHVJQ0FuWkdWekxXVmtaVE1uT2lCa1pYTXVSVVJGTEZ4dUlDQW5aR1Z6TFdWa1pTMWpZbU1uT2lCa1pYTXVRMEpETG1sdWMzUmhiblJwWVhSbEtHUmxjeTVGUkVVcExGeHVJQ0FuWkdWekxXVmtaU2M2SUdSbGN5NUZSRVVzWEc0Z0lDZGtaWE10WTJKakp6b2daR1Z6TGtOQ1F5NXBibk4wWVc1MGFXRjBaU2hrWlhNdVJFVlRLU3hjYmlBZ0oyUmxjeTFsWTJJbk9pQmtaWE11UkVWVFhHNTlYRzV0YjJSbGN5NWtaWE1nUFNCdGIyUmxjMXNuWkdWekxXTmlZeWRkWEc1dGIyUmxjeTVrWlhNeklEMGdiVzlrWlhOYkoyUmxjeTFsWkdVekxXTmlZeWRkWEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSRlUxeHVhVzVvWlhKcGRITW9SRVZUTENCRGFYQm9aWEpDWVhObEtWeHVablZ1WTNScGIyNGdSRVZUSUNodmNIUnpLU0I3WEc0Z0lFTnBjR2hsY2tKaGMyVXVZMkZzYkNoMGFHbHpLVnh1SUNCMllYSWdiVzlrWlU1aGJXVWdQU0J2Y0hSekxtMXZaR1V1ZEc5TWIzZGxja05oYzJVb0tWeHVJQ0IyWVhJZ2JXOWtaU0E5SUcxdlpHVnpXMjF2WkdWT1lXMWxYVnh1SUNCMllYSWdkSGx3WlZ4dUlDQnBaaUFvYjNCMGN5NWtaV055ZVhCMEtTQjdYRzRnSUNBZ2RIbHdaU0E5SUNka1pXTnllWEIwSjF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSNWNHVWdQU0FuWlc1amNubHdkQ2RjYmlBZ2ZWeHVJQ0IyWVhJZ2EyVjVJRDBnYjNCMGN5NXJaWGxjYmlBZ2FXWWdLQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9hMlY1S1NrZ2UxeHVJQ0FnSUd0bGVTQTlJRUoxWm1abGNpNW1jbTl0S0d0bGVTbGNiaUFnZlZ4dUlDQnBaaUFvYlc5a1pVNWhiV1VnUFQwOUlDZGtaWE10WldSbEp5QjhmQ0J0YjJSbFRtRnRaU0E5UFQwZ0oyUmxjeTFsWkdVdFkySmpKeWtnZTF4dUlDQWdJR3RsZVNBOUlFSjFabVpsY2k1amIyNWpZWFFvVzJ0bGVTd2dhMlY1TG5Oc2FXTmxLREFzSURncFhTbGNiaUFnZlZ4dUlDQjJZWElnYVhZZ1BTQnZjSFJ6TG1sMlhHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dsMktTa2dlMXh1SUNBZ0lHbDJJRDBnUW5WbVptVnlMbVp5YjIwb2FYWXBYRzRnSUgxY2JpQWdkR2hwY3k1ZlpHVnpJRDBnYlc5a1pTNWpjbVZoZEdVb2UxeHVJQ0FnSUd0bGVUb2dhMlY1TEZ4dUlDQWdJR2wyT2lCcGRpeGNiaUFnSUNCMGVYQmxPaUIwZVhCbFhHNGdJSDBwWEc1OVhHNUVSVk11Y0hKdmRHOTBlWEJsTGw5MWNHUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHRjBZU2tnZTF4dUlDQnlaWFIxY200Z1FuVm1abVZ5TG1aeWIyMG9kR2hwY3k1ZlpHVnpMblZ3WkdGMFpTaGtZWFJoS1NsY2JuMWNia1JGVXk1d2NtOTBiM1I1Y0dVdVgyWnBibUZzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCeVpYUjFjbTRnUW5WbVptVnlMbVp5YjIwb2RHaHBjeTVmWkdWekxtWnBibUZzS0NrcFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiZXhwb3J0c1snZGVzLWVjYiddID0ge1xcbiAga2V5OiA4LFxcbiAgaXY6IDBcXG59XFxuZXhwb3J0c1snZGVzLWNiYyddID0gZXhwb3J0cy5kZXMgPSB7XFxuICBrZXk6IDgsXFxuICBpdjogOFxcbn1cXG5leHBvcnRzWydkZXMtZWRlMy1jYmMnXSA9IGV4cG9ydHMuZGVzMyA9IHtcXG4gIGtleTogMjQsXFxuICBpdjogOFxcbn1cXG5leHBvcnRzWydkZXMtZWRlMyddID0ge1xcbiAga2V5OiAyNCxcXG4gIGl2OiAwXFxufVxcbmV4cG9ydHNbJ2Rlcy1lZGUtY2JjJ10gPSB7XFxuICBrZXk6IDE2LFxcbiAgaXY6IDhcXG59XFxuZXhwb3J0c1snZGVzLWVkZSddID0ge1xcbiAga2V5OiAxNixcXG4gIGl2OiAwXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXUmxjeTl0YjJSbGN5NXFjejlsWkdGaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXUmxjeTl0YjJSbGN5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZEhOYkoyUmxjeTFsWTJJblhTQTlJSHRjYmlBZ2EyVjVPaUE0TEZ4dUlDQnBkam9nTUZ4dWZWeHVaWGh3YjNKMGMxc25aR1Z6TFdOaVl5ZGRJRDBnWlhod2IzSjBjeTVrWlhNZ1BTQjdYRzRnSUd0bGVUb2dPQ3hjYmlBZ2FYWTZJRGhjYm4xY2JtVjRjRzl5ZEhOYkoyUmxjeTFsWkdVekxXTmlZeWRkSUQwZ1pYaHdiM0owY3k1a1pYTXpJRDBnZTF4dUlDQnJaWGs2SURJMExGeHVJQ0JwZGpvZ09GeHVmVnh1Wlhod2IzSjBjMXNuWkdWekxXVmtaVE1uWFNBOUlIdGNiaUFnYTJWNU9pQXlOQ3hjYmlBZ2FYWTZJREJjYm4xY2JtVjRjRzl5ZEhOYkoyUmxjeTFsWkdVdFkySmpKMTBnUFNCN1hHNGdJR3RsZVRvZ01UWXNYRzRnSUdsMk9pQTRYRzU5WEc1bGVIQnZjblJ6V3lka1pYTXRaV1JsSjEwZ1BTQjdYRzRnSUd0bGVUb2dNVFlzWEc0Z0lHbDJPaUF3WEc1OVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1kZXMvbW9kZXMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oQnVmZmVyKSB7dmFyIGJuID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgcmFuZG9tQnl0ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByYW5kb21ieXRlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmFuZG9tYnl0ZXMvYnJvd3Nlci5qc1xcXCIpO1xcbm1vZHVsZS5leHBvcnRzID0gY3J0O1xcbmZ1bmN0aW9uIGJsaW5kKHByaXYpIHtcXG4gIHZhciByID0gZ2V0cihwcml2KTtcXG4gIHZhciBibGluZGVyID0gci50b1JlZChibi5tb250KHByaXYubW9kdWx1cykpXFxuICAucmVkUG93KG5ldyBibihwcml2LnB1YmxpY0V4cG9uZW50KSkuZnJvbVJlZCgpO1xcbiAgcmV0dXJuIHtcXG4gICAgYmxpbmRlcjogYmxpbmRlcixcXG4gICAgdW5ibGluZGVyOnIuaW52bShwcml2Lm1vZHVsdXMpXFxuICB9O1xcbn1cXG5mdW5jdGlvbiBjcnQobXNnLCBwcml2KSB7XFxuICB2YXIgYmxpbmRzID0gYmxpbmQocHJpdik7XFxuICB2YXIgbGVuID0gcHJpdi5tb2R1bHVzLmJ5dGVMZW5ndGgoKTtcXG4gIHZhciBtb2QgPSBibi5tb250KHByaXYubW9kdWx1cyk7XFxuICB2YXIgYmxpbmRlZCA9IG5ldyBibihtc2cpLm11bChibGluZHMuYmxpbmRlcikudW1vZChwcml2Lm1vZHVsdXMpO1xcbiAgdmFyIGMxID0gYmxpbmRlZC50b1JlZChibi5tb250KHByaXYucHJpbWUxKSk7XFxuICB2YXIgYzIgPSBibGluZGVkLnRvUmVkKGJuLm1vbnQocHJpdi5wcmltZTIpKTtcXG4gIHZhciBxaW52ID0gcHJpdi5jb2VmZmljaWVudDtcXG4gIHZhciBwID0gcHJpdi5wcmltZTE7XFxuICB2YXIgcSA9IHByaXYucHJpbWUyO1xcbiAgdmFyIG0xID0gYzEucmVkUG93KHByaXYuZXhwb25lbnQxKTtcXG4gIHZhciBtMiA9IGMyLnJlZFBvdyhwcml2LmV4cG9uZW50Mik7XFxuICBtMSA9IG0xLmZyb21SZWQoKTtcXG4gIG0yID0gbTIuZnJvbVJlZCgpO1xcbiAgdmFyIGggPSBtMS5pc3ViKG0yKS5pbXVsKHFpbnYpLnVtb2QocCk7XFxuICBoLmltdWwocSk7XFxuICBtMi5pYWRkKGgpO1xcbiAgcmV0dXJuIG5ldyBCdWZmZXIobTIuaW11bChibGluZHMudW5ibGluZGVyKS51bW9kKHByaXYubW9kdWx1cykudG9BcnJheShmYWxzZSwgbGVuKSk7XFxufVxcbmNydC5nZXRyID0gZ2V0cjtcXG5mdW5jdGlvbiBnZXRyKHByaXYpIHtcXG4gIHZhciBsZW4gPSBwcml2Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpO1xcbiAgdmFyIHIgPSBuZXcgYm4ocmFuZG9tQnl0ZXMobGVuKSk7XFxuICB3aGlsZSAoci5jbXAocHJpdi5tb2R1bHVzKSA+PSAgMCB8fCAhci51bW9kKHByaXYucHJpbWUxKSB8fCAhci51bW9kKHByaXYucHJpbWUyKSkge1xcbiAgICByID0gbmV3IGJuKHJhbmRvbUJ5dGVzKGxlbikpO1xcbiAgfVxcbiAgcmV0dXJuIHI7XFxufVxcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL2J1ZmZlci9pbmRleC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWEp6WVM5cGJtUmxlQzVxY3o5bE5HVmhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEhWRVFVRlRMRzFDUVVGUExFTkJRVU1zZVVWQlFVODdRVUZEZUVJc2EwSkJRV3RDTEcxQ1FVRlBMRU5CUVVNc01FUkJRV0U3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhKellTOXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQmliaUE5SUhKbGNYVnBjbVVvSjJKdUxtcHpKeWs3WEc1MllYSWdjbUZ1Wkc5dFFubDBaWE1nUFNCeVpYRjFhWEpsS0NkeVlXNWtiMjFpZVhSbGN5Y3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JqY25RN1hHNW1kVzVqZEdsdmJpQmliR2x1WkNod2NtbDJLU0I3WEc0Z0lIWmhjaUJ5SUQwZ1oyVjBjaWh3Y21sMktUdGNiaUFnZG1GeUlHSnNhVzVrWlhJZ1BTQnlMblJ2VW1Wa0tHSnVMbTF2Ym5Rb2NISnBkaTV0YjJSMWJIVnpLU2xjYmlBZ0xuSmxaRkJ2ZHlodVpYY2dZbTRvY0hKcGRpNXdkV0pzYVdORmVIQnZibVZ1ZENrcExtWnliMjFTWldRb0tUdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmliR2x1WkdWeU9pQmliR2x1WkdWeUxGeHVJQ0FnSUhWdVlteHBibVJsY2pweUxtbHVkbTBvY0hKcGRpNXRiMlIxYkhWektWeHVJQ0I5TzF4dWZWeHVablZ1WTNScGIyNGdZM0owS0cxelp5d2djSEpwZGlrZ2UxeHVJQ0IyWVhJZ1lteHBibVJ6SUQwZ1lteHBibVFvY0hKcGRpazdYRzRnSUhaaGNpQnNaVzRnUFNCd2NtbDJMbTF2WkhWc2RYTXVZbmwwWlV4bGJtZDBhQ2dwTzF4dUlDQjJZWElnYlc5a0lEMGdZbTR1Ylc5dWRDaHdjbWwyTG0xdlpIVnNkWE1wTzF4dUlDQjJZWElnWW14cGJtUmxaQ0E5SUc1bGR5QmliaWh0YzJjcExtMTFiQ2hpYkdsdVpITXVZbXhwYm1SbGNpa3VkVzF2WkNod2NtbDJMbTF2WkhWc2RYTXBPMXh1SUNCMllYSWdZekVnUFNCaWJHbHVaR1ZrTG5SdlVtVmtLR0p1TG0xdmJuUW9jSEpwZGk1d2NtbHRaVEVwS1R0Y2JpQWdkbUZ5SUdNeUlEMGdZbXhwYm1SbFpDNTBiMUpsWkNoaWJpNXRiMjUwS0hCeWFYWXVjSEpwYldVeUtTazdYRzRnSUhaaGNpQnhhVzUySUQwZ2NISnBkaTVqYjJWbVptbGphV1Z1ZER0Y2JpQWdkbUZ5SUhBZ1BTQndjbWwyTG5CeWFXMWxNVHRjYmlBZ2RtRnlJSEVnUFNCd2NtbDJMbkJ5YVcxbE1qdGNiaUFnZG1GeUlHMHhJRDBnWXpFdWNtVmtVRzkzS0hCeWFYWXVaWGh3YjI1bGJuUXhLVHRjYmlBZ2RtRnlJRzB5SUQwZ1l6SXVjbVZrVUc5M0tIQnlhWFl1Wlhod2IyNWxiblF5S1R0Y2JpQWdiVEVnUFNCdE1TNW1jbTl0VW1Wa0tDazdYRzRnSUcweUlEMGdiVEl1Wm5KdmJWSmxaQ2dwTzF4dUlDQjJZWElnYUNBOUlHMHhMbWx6ZFdJb2JUSXBMbWx0ZFd3b2NXbHVkaWt1ZFcxdlpDaHdLVHRjYmlBZ2FDNXBiWFZzS0hFcE8xeHVJQ0J0TWk1cFlXUmtLR2dwTzF4dUlDQnlaWFIxY200Z2JtVjNJRUoxWm1abGNpaHRNaTVwYlhWc0tHSnNhVzVrY3k1MWJtSnNhVzVrWlhJcExuVnRiMlFvY0hKcGRpNXRiMlIxYkhWektTNTBiMEZ5Y21GNUtHWmhiSE5sTENCc1pXNHBLVHRjYm4xY2JtTnlkQzVuWlhSeUlEMGdaMlYwY2p0Y2JtWjFibU4wYVc5dUlHZGxkSElvY0hKcGRpa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ2NISnBkaTV0YjJSMWJIVnpMbUo1ZEdWTVpXNW5kR2dvS1R0Y2JpQWdkbUZ5SUhJZ1BTQnVaWGNnWW00b2NtRnVaRzl0UW5sMFpYTW9iR1Z1S1NrN1hHNGdJSGRvYVd4bElDaHlMbU50Y0Nod2NtbDJMbTF2WkhWc2RYTXBJRDQ5SUNBd0lIeDhJQ0Z5TG5WdGIyUW9jSEpwZGk1d2NtbHRaVEVwSUh4OElDRnlMblZ0YjJRb2NISnBkaTV3Y21sdFpUSXBLU0I3WEc0Z0lDQWdjaUE5SUc1bGR5QmliaWh5WVc1a2IyMUNlWFJsY3loc1pXNHBLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjanRjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXJzYS9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihtb2R1bGUpIHsoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xcbiAgJ3VzZSBzdHJpY3QnO1xcblxcbiAgLy8gVXRpbHNcXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcXG4gICAgaWYgKCF2YWwpIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG4gIH1cXG5cXG4gIC8vIENvdWxkIHVzZSBgaW5oZXJpdHNgIG1vZHVsZSwgYnV0IGRvbid0IHdhbnQgdG8gbW92ZSBmcm9tIHNpbmdsZSBmaWxlXFxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxcbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xcbiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcXG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XFxuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XFxuICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XFxuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcXG4gIH1cXG5cXG4gIC8vIEJOXFxuXFxuICBmdW5jdGlvbiBCTiAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xcbiAgICAgIHJldHVybiBudW1iZXI7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIHRoaXMud29yZHMgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuXFxuICAgIC8vIFJlZHVjdGlvbiBjb250ZXh0XFxuICAgIHRoaXMucmVkID0gbnVsbDtcXG5cXG4gICAgaWYgKG51bWJlciAhPT0gbnVsbCkge1xcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcXG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XFxuICAgICAgICBiYXNlID0gMTA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuX2luaXQobnVtYmVyIHx8IDAsIGJhc2UgfHwgMTAsIGVuZGlhbiB8fCAnYmUnKTtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKSB7XFxuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XFxuICB9IGVsc2Uge1xcbiAgICBleHBvcnRzLkJOID0gQk47XFxuICB9XFxuXFxuICBCTi5CTiA9IEJOO1xcbiAgQk4ud29yZFNpemUgPSAyNjtcXG5cXG4gIHZhciBCdWZmZXI7XFxuICB0cnkge1xcbiAgICBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gOSkuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhKellTOXViMlJsWDIxdlpIVnNaWE12WW00dWFuTXZiR2xpTDJKdUxtcHpQelF4Wm1RaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHVkJRVkU3UVVGRE4wSXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1MSGREUVVGM1F6dEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIZERRVUYzUXl4UlFVRlJPMEZCUTJoRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeDNRa0ZCZDBJc2JVSkJRVzFDTzBGQlF6TkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVFrRkJkVUlzVTBGQlV6dEJRVU5vUXpzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHpRMEZCYzBNc1dVRkJXVHRCUVVOc1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFRRVUZUTzBGQlEyaERPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNjME5CUVhORExITkNRVUZ6UWp0QlFVTTFSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1UwRkJVenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2xDUVVGcFFqdEJRVU53UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMR2xDUVVGcFFqdEJRVU4wUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRFJDUVVFMFFqdEJRVU0zUXp0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4aFFVRmhPMEZCUXpsQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3hwUWtGQmFVSXNZVUZCWVR0QlFVTTVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc1dVRkJXU3hsUVVGbE8wRkJRek5DTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEhGQ1FVRnhRaXhuUWtGQlowSTdRVUZEY2tNN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdPMEZCUlVFN1FVRkRRU3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1ZVRkJWU3cyUWtGQk5rSTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeFpRVUZaTEdOQlFXTTdRVUZETVVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGVkJRVlVzTmtKQlFUWkNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dlJFRkJiMFFzVjBGQlZ6dEJRVU12UkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHZRa0ZCYjBJN1FVRkRka003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2IwUkJRVzlFTEZkQlFWYzdRVUZETDBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4eFFrRkJjVUlzVDBGQlR6dEJRVU0xUWp0QlFVTkJPenRCUVVWQkxIVkNRVUYxUWl4UFFVRlBPMEZCUXpsQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVFrRkJkVUlzUjBGQlJ6dEJRVU14UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNWMEZCVnp0QlFVTTVRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNWMEZCVnp0QlFVTTVRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGTkJRVk03UVVGRE5VSTdPMEZCUlVFc2EwTkJRV3RETzBGQlEyeERMSE5EUVVGelF6dEJRVU4wUXpzN1FVRkZRVHRCUVVOQkxIRkNRVUZ4UWl4UFFVRlBPMEZCUXpWQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cyUWtGQk5rSXNZMEZCWXp0QlFVTXpRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeHBRa0ZCYVVJN1FVRkRiRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc0swSkJRU3RDTEZGQlFWRTdRVUZEZGtNN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1QwRkJUenRCUVVONFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNhVUpCUVdsQ0xHbENRVUZwUWp0QlFVTnNRenRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMQ3REUVVFclF6dEJRVU5zUlR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3h4UWtGQmNVSXNjME5CUVhORE8wRkJRek5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWlVGQlpTeG5Ra0ZCWjBJN1FVRkRMMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1ZVRkJWU3g1UWtGQmVVSTdRVUZEYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWlVGQlpTeHBRa0ZCYVVJN1FVRkRhRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xHTkJRV003UVVGRGJrTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIVkNRVUYxUWl4UlFVRlJPMEZCUXk5Q08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cyUWtGQk5rSXNiVU5CUVcxRE8wRkJRMmhGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3gxUWtGQmRVSXNNRUpCUVRCQ08wRkJRMnBFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeG5RMEZCWjBNN1FVRkRia1E3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsRFFVRnBReXhSUVVGUk8wRkJRM3BETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4WlFVRlpPMEZCUXk5Q08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3huUWtGQlowSXNhMEpCUVd0Q08wRkJRMnhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4blFrRkJaMEk3UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaMEpCUVdkQ08wRkJRMjVETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHhRa0ZCY1VJc2IwSkJRVzlDTzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaMEpCUVdkQ08wRkJRMjVETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc05FSkJRVFJDTEZGQlFWRTdRVUZEY0VNN1FVRkRRU3cyUWtGQk5rSXNVVUZCVVR0QlFVTnlRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZMRTFCUVRaQ0lpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdGNuTmhMMjV2WkdWZmJXOWtkV3hsY3k5aWJpNXFjeTlzYVdJdlltNHVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW9ablZ1WTNScGIyNGdLRzF2WkhWc1pTd2daWGh3YjNKMGN5a2dlMXh1SUNBbmRYTmxJSE4wY21samRDYzdYRzVjYmlBZ0x5OGdWWFJwYkhOY2JpQWdablZ1WTNScGIyNGdZWE56WlhKMElDaDJZV3dzSUcxelp5a2dlMXh1SUNBZ0lHbG1JQ2doZG1Gc0tTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb2JYTm5JSHg4SUNkQmMzTmxjblJwYjI0Z1ptRnBiR1ZrSnlrN1hHNGdJSDFjYmx4dUlDQXZMeUJEYjNWc1pDQjFjMlVnWUdsdWFHVnlhWFJ6WUNCdGIyUjFiR1VzSUdKMWRDQmtiMjRuZENCM1lXNTBJSFJ2SUcxdmRtVWdabkp2YlNCemFXNW5iR1VnWm1sc1pWeHVJQ0F2THlCaGNtTm9hWFJsWTNSMWNtVWdlV1YwTGx4dUlDQm1kVzVqZEdsdmJpQnBibWhsY21sMGN5QW9ZM1J2Y2l3Z2MzVndaWEpEZEc5eUtTQjdYRzRnSUNBZ1kzUnZjaTV6ZFhCbGNsOGdQU0J6ZFhCbGNrTjBiM0k3WEc0Z0lDQWdkbUZ5SUZSbGJYQkRkRzl5SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMzA3WEc0Z0lDQWdWR1Z0Y0VOMGIzSXVjSEp2ZEc5MGVYQmxJRDBnYzNWd1pYSkRkRzl5TG5CeWIzUnZkSGx3WlR0Y2JpQWdJQ0JqZEc5eUxuQnliM1J2ZEhsd1pTQTlJRzVsZHlCVVpXMXdRM1J2Y2lncE8xeHVJQ0FnSUdOMGIzSXVjSEp2ZEc5MGVYQmxMbU52Ym5OMGNuVmpkRzl5SUQwZ1kzUnZjanRjYmlBZ2ZWeHVYRzRnSUM4dklFSk9YRzVjYmlBZ1puVnVZM1JwYjI0Z1FrNGdLRzUxYldKbGNpd2dZbUZ6WlN3Z1pXNWthV0Z1S1NCN1hHNGdJQ0FnYVdZZ0tFSk9MbWx6UWs0b2JuVnRZbVZ5S1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJXSmxjanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCMGFHbHpMbmR2Y21SeklEMGdiblZzYkR0Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlEQTdYRzVjYmlBZ0lDQXZMeUJTWldSMVkzUnBiMjRnWTI5dWRHVjRkRnh1SUNBZ0lIUm9hWE11Y21Wa0lEMGdiblZzYkR0Y2JseHVJQ0FnSUdsbUlDaHVkVzFpWlhJZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FuYkdVbklIeDhJR0poYzJVZ1BUMDlJQ2RpWlNjcElIdGNiaUFnSUNBZ0lDQWdaVzVrYVdGdUlEMGdZbUZ6WlR0Y2JpQWdJQ0FnSUNBZ1ltRnpaU0E5SURFd08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TGw5cGJtbDBLRzUxYldKbGNpQjhmQ0F3TENCaVlYTmxJSHg4SURFd0xDQmxibVJwWVc0Z2ZId2dKMkpsSnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdsbUlDaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1FrNDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdaWGh3YjNKMGN5NUNUaUE5SUVKT08xeHVJQ0I5WEc1Y2JpQWdRazR1UWs0Z1BTQkNUanRjYmlBZ1FrNHVkMjl5WkZOcGVtVWdQU0F5Tmp0Y2JseHVJQ0IyWVhJZ1FuVm1abVZ5TzF4dUlDQjBjbmtnZTF4dUlDQWdJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KMkoxWm1abGNpY3BMa0oxWm1abGNqdGNiaUFnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0I5WEc1Y2JpQWdRazR1YVhOQ1RpQTlJR1oxYm1OMGFXOXVJR2x6UWs0Z0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNodWRXMGdhVzV6ZEdGdVkyVnZaaUJDVGlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTQWhQVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdiblZ0SUQwOVBTQW5iMkpxWldOMEp5QW1KbHh1SUNBZ0lDQWdiblZ0TG1OdmJuTjBjblZqZEc5eUxuZHZjbVJUYVhwbElEMDlQU0JDVGk1M2IzSmtVMmw2WlNBbUppQkJjbkpoZVM1cGMwRnljbUY1S0c1MWJTNTNiM0prY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1YldGNElEMGdablZ1WTNScGIyNGdiV0Y0SUNoc1pXWjBMQ0J5YVdkb2RDa2dlMXh1SUNBZ0lHbG1JQ2hzWldaMExtTnRjQ2h5YVdkb2RDa2dQaUF3S1NCeVpYUjFjbTRnYkdWbWREdGNiaUFnSUNCeVpYUjFjbTRnY21sbmFIUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWJXbHVJRDBnWm5WdVkzUnBiMjRnYldsdUlDaHNaV1owTENCeWFXZG9kQ2tnZTF4dUlDQWdJR2xtSUNoc1pXWjBMbU50Y0NoeWFXZG9kQ2tnUENBd0tTQnlaWFIxY200Z2JHVm1kRHRjYmlBZ0lDQnlaWFIxY200Z2NtbG5hSFE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlwYm1sMElEMGdablZ1WTNScGIyNGdhVzVwZENBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzUxYldKbGNpQTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBibWwwVG5WdFltVnlLRzUxYldKbGNpd2dZbUZ6WlN3Z1pXNWthV0Z1S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1MWJXSmxjaUE5UFQwZ0oyOWlhbVZqZENjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYm1sMFFYSnlZWGtvYm5WdFltVnlMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGlZWE5sSUQwOVBTQW5hR1Y0SnlrZ2UxeHVJQ0FnSUNBZ1ltRnpaU0E5SURFMk8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWs3WEc1Y2JpQWdJQ0J1ZFcxaVpYSWdQU0J1ZFcxaVpYSXVkRzlUZEhKcGJtY29LUzV5WlhCc1lXTmxLQzljWEhNckwyY3NJQ2NuS1R0Y2JpQWdJQ0IyWVhJZ2MzUmhjblFnUFNBd08xeHVJQ0FnSUdsbUlDaHVkVzFpWlhKYk1GMGdQVDA5SUNjdEp5a2dlMXh1SUNBZ0lDQWdjM1JoY25Rckt6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdNVFlwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM0JoY25ObFNHVjRLRzUxYldKbGNpd2djM1JoY25RcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOXdZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQmlZWE5sTENCemRHRnlkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c1MWJXSmxjbHN3WFNBOVBUMGdKeTBuS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxuTjBjbWx3S0NrN1hHNWNiaUFnSUNCcFppQW9aVzVrYVdGdUlDRTlQU0FuYkdVbktTQnlaWFIxY200N1hHNWNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBUblZ0WW1WeUlEMGdablZ1WTNScGIyNGdYMmx1YVhST2RXMWlaWElnS0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtTQjdYRzRnSUNBZ2FXWWdLRzUxYldKbGNpQThJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnYm5WdFltVnlJRDBnTFc1MWJXSmxjanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLRzUxYldKbGNpQThJREI0TkRBd01EQXdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prY3lBOUlGc2diblZ0WW1WeUlDWWdNSGd6Wm1abVptWm1JRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzFpWlhJZ1BDQXdlREV3TURBd01EQXdNREF3TURBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptWEc0Z0lDQWdJQ0JkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXlPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGMzTmxjblFvYm5WdFltVnlJRHdnTUhneU1EQXdNREF3TURBd01EQXdNQ2s3SUM4dklESWdYaUExTXlBb2RXNXpZV1psS1Z4dUlDQWdJQ0FnZEdocGN5NTNiM0prY3lBOUlGdGNiaUFnSUNBZ0lDQWdiblZ0WW1WeUlDWWdNSGd6Wm1abVptWm1MRnh1SUNBZ0lDQWdJQ0FvYm5WdFltVnlJQzhnTUhnME1EQXdNREF3S1NBbUlEQjRNMlptWm1abVppeGNiaUFnSUNBZ0lDQWdNVnh1SUNBZ0lDQWdYVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ016dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9aVzVrYVdGdUlDRTlQU0FuYkdVbktTQnlaWFIxY200N1hHNWNiaUFnSUNBdkx5QlNaWFpsY25ObElIUm9aU0JpZVhSbGMxeHVJQ0FnSUhSb2FYTXVYMmx1YVhSQmNuSmhlU2gwYUdsekxuUnZRWEp5WVhrb0tTd2dZbUZ6WlN3Z1pXNWthV0Z1S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsdWFYUkJjbkpoZVNBOUlHWjFibU4wYVc5dUlGOXBibWwwUVhKeVlYa2dLRzUxYldKbGNpd2dZbUZ6WlN3Z1pXNWthV0Z1S1NCN1hHNGdJQ0FnTHk4Z1VHVnlhR0Z3Y3lCaElGVnBiblE0UVhKeVlYbGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRzUxYldKbGNpNXNaVzVuZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQnBaaUFvYm5WdFltVnlMbXhsYm1kMGFDQThQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SeklEMGdXeUF3SUYwN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlFMWhkR2d1WTJWcGJDaHVkVzFpWlhJdWJHVnVaM1JvSUM4Z015azdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQnBaaUFvWlc1a2FXRnVJRDA5UFNBblltVW5LU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0J1ZFcxaVpYSXViR1Z1WjNSb0lDMGdNU3dnYWlBOUlEQTdJR2tnUGowZ01Ec2dhU0F0UFNBektTQjdYRzRnSUNBZ0lDQWdJSGNnUFNCdWRXMWlaWEpiYVYwZ2ZDQW9iblZ0WW1WeVcya2dMU0F4WFNBOFBDQTRLU0I4SUNodWRXMWlaWEpiYVNBdElESmRJRHc4SURFMktUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxWFNCOFBTQW9keUE4UENCdlptWXBJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNBOUlDaDNJRDQrUGlBb01qWWdMU0J2Wm1ZcEtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQ0FnYjJabUlDczlJREkwTzF4dUlDQWdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1JQzA5SURJMk8xeHVJQ0FnSUNBZ0lDQWdJR29yS3p0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1pXNWthV0Z1SUQwOVBTQW5iR1VuS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd0xDQnFJRDBnTURzZ2FTQThJRzUxYldKbGNpNXNaVzVuZEdnN0lHa2dLejBnTXlrZ2UxeHVJQ0FnSUNBZ0lDQjNJRDBnYm5WdFltVnlXMmxkSUh3Z0tHNTFiV0psY2x0cElDc2dNVjBnUER3Z09Da2dmQ0FvYm5WdFltVnlXMmtnS3lBeVhTQThQQ0F4TmlrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhbDBnZkQwZ0tIY2dQRHdnYjJabUtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cUlDc2dNVjBnUFNBb2R5QStQajRnS0RJMklDMGdiMlptS1NrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHOW1aaUErUFNBeU5pa2dlMXh1SUNBZ0lDQWdJQ0FnSUc5bVppQXRQU0F5Tmp0Y2JpQWdJQ0FnSUNBZ0lDQnFLeXM3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCd1lYSnpaVWhsZUNBb2MzUnlMQ0J6ZEdGeWRDd2daVzVrS1NCN1hHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJSFpoY2lCc1pXNGdQU0JOWVhSb0xtMXBiaWh6ZEhJdWJHVnVaM1JvTENCbGJtUXBPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGeWREc2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdZeUE5SUhOMGNpNWphR0Z5UTI5a1pVRjBLR2twSUMwZ05EZzdYRzVjYmlBZ0lDQWdJSElnUER3OUlEUTdYRzVjYmlBZ0lDQWdJQzh2SUNkaEp5QXRJQ2RtSjF4dUlDQWdJQ0FnYVdZZ0tHTWdQajBnTkRrZ0ppWWdZeUE4UFNBMU5Da2dlMXh1SUNBZ0lDQWdJQ0J5SUh3OUlHTWdMU0EwT1NBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0owRW5JQzBnSjBZblhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTWdQajBnTVRjZ0ppWWdZeUE4UFNBeU1pa2dlMXh1SUNBZ0lDQWdJQ0J5SUh3OUlHTWdMU0F4TnlBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0p6QW5JQzBnSnprblhHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCeUlIdzlJR01nSmlBd2VHWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVaGxlQ0E5SUdaMWJtTjBhVzl1SUY5d1lYSnpaVWhsZUNBb2JuVnRZbVZ5TENCemRHRnlkQ2tnZTF4dUlDQWdJQzh2SUVOeVpXRjBaU0J3YjNOemFXSnNlU0JpYVdkblpYSWdZWEp5WVhrZ2RHOGdaVzV6ZFhKbElIUm9ZWFFnYVhRZ1ptbDBjeUIwYUdVZ2JuVnRZbVZ5WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCTllYUm9MbU5sYVd3b0tHNTFiV0psY2k1c1pXNW5kR2dnTFNCemRHRnlkQ2tnTHlBMktUdGNiaUFnSUNCMGFHbHpMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCcUxDQjNPMXh1SUNBZ0lDOHZJRk5qWVc0Z01qUXRZbWwwSUdOb2RXNXJjeUJoYm1RZ1lXUmtJSFJvWlcwZ2RHOGdkR2hsSUc1MWJXSmxjbHh1SUNBZ0lIWmhjaUJ2Wm1ZZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNBMkxDQnFJRDBnTURzZ2FTQStQU0J6ZEdGeWREc2dhU0F0UFNBMktTQjdYRzRnSUNBZ0lDQjNJRDBnY0dGeWMyVklaWGdvYm5WdFltVnlMQ0JwTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNBdkx5Qk9UMVJGT2lCZ01IZ3pabVptWm1aZ0lHbHpJR2x1ZEdWdWRHbHZibUZzSUdobGNtVXNJREkyWW1sMGN5QnRZWGdnYzJocFpuUWdLeUF5TkdKcGRDQm9aWGdnYkdsdFlseHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ2ZEMGdkeUErUGo0Z0tESTJJQzBnYjJabUtTQW1JREI0TTJabVptWm1PMXh1SUNBZ0lDQWdiMlptSUNzOUlESTBPMXh1SUNBZ0lDQWdhV1lnS0c5bVppQStQU0F5TmlrZ2UxeHVJQ0FnSUNBZ0lDQnZabVlnTFQwZ01qWTdYRzRnSUNBZ0lDQWdJR29yS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0drZ0t5QTJJQ0U5UFNCemRHRnlkQ2tnZTF4dUlDQWdJQ0FnZHlBOUlIQmhjbk5sU0dWNEtHNTFiV0psY2l3Z2MzUmhjblFzSUdrZ0t5QTJLVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUh3OUlIY2dQajQrSUNneU5pQXRJRzltWmlrZ0ppQXdlRE5tWm1abVpqdGNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSEJoY25ObFFtRnpaU0FvYzNSeUxDQnpkR0Z5ZEN3Z1pXNWtMQ0J0ZFd3cElIdGNiaUFnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnZG1GeUlHeGxiaUE5SUUxaGRHZ3ViV2x1S0hOMGNpNXNaVzVuZEdnc0lHVnVaQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z2JHVnVPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrZ0xTQTBPRHRjYmx4dUlDQWdJQ0FnY2lBcVBTQnRkV3c3WEc1Y2JpQWdJQ0FnSUM4dklDZGhKMXh1SUNBZ0lDQWdhV1lnS0dNZ1BqMGdORGtwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0JqSUMwZ05Ea2dLeUF3ZUdFN1hHNWNiaUFnSUNBZ0lDOHZJQ2RCSjF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaklENDlJREUzS1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElERTNJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuTUNjZ0xTQW5PU2RjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ1l6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYM0JoY25ObFFtRnpaU0E5SUdaMWJtTjBhVzl1SUY5d1lYSnpaVUpoYzJVZ0tHNTFiV0psY2l3Z1ltRnpaU3dnYzNSaGNuUXBJSHRjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUdGeklIcGxjbTljYmlBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lBd0lGMDdYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dVhHNGdJQ0FnTHk4Z1JtbHVaQ0JzWlc1bmRHZ2diMllnYkdsdFlpQnBiaUJpWVhObFhHNGdJQ0FnWm05eUlDaDJZWElnYkdsdFlreGxiaUE5SURBc0lHeHBiV0pRYjNjZ1BTQXhPeUJzYVcxaVVHOTNJRHc5SURCNE0yWm1abVptWmpzZ2JHbHRZbEJ2ZHlBcVBTQmlZWE5sS1NCN1hHNGdJQ0FnSUNCc2FXMWlUR1Z1S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJR3hwYldKTVpXNHRMVHRjYmlBZ0lDQnNhVzFpVUc5M0lEMGdLR3hwYldKUWIzY2dMeUJpWVhObEtTQjhJREE3WEc1Y2JpQWdJQ0IyWVhJZ2RHOTBZV3dnUFNCdWRXMWlaWEl1YkdWdVozUm9JQzBnYzNSaGNuUTdYRzRnSUNBZ2RtRnlJRzF2WkNBOUlIUnZkR0ZzSUNVZ2JHbHRZa3hsYmp0Y2JpQWdJQ0IyWVhJZ1pXNWtJRDBnVFdGMGFDNXRhVzRvZEc5MFlXd3NJSFJ2ZEdGc0lDMGdiVzlrS1NBcklITjBZWEowTzF4dVhHNGdJQ0FnZG1GeUlIZHZjbVFnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpkR0Z5ZERzZ2FTQThJR1Z1WkRzZ2FTQXJQU0JzYVcxaVRHVnVLU0I3WEc0Z0lDQWdJQ0IzYjNKa0lEMGdjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dhU3dnYVNBcklHeHBiV0pNWlc0c0lHSmhjMlVwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbWx0ZFd4dUtHeHBiV0pRYjNjcE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWQyOXlaSE5iTUYwZ0t5QjNiM0prSUR3Z01IZzBNREF3TURBd0tTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0t6MGdkMjl5WkR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYMmxoWkdSdUtIZHZjbVFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodGIyUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ3YjNjZ1BTQXhPMXh1SUNBZ0lDQWdkMjl5WkNBOUlIQmhjbk5sUW1GelpTaHVkVzFpWlhJc0lHa3NJRzUxYldKbGNpNXNaVzVuZEdnc0lHSmhjMlVwTzF4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYlc5a095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NHOTNJQ285SUdKaGMyVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWFXMTFiRzRvY0c5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbU52Y0hrZ1BTQm1kVzVqZEdsdmJpQmpiM0I1SUNoa1pYTjBLU0I3WEc0Z0lDQWdaR1Z6ZEM1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmtaWE4wTG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzRnSUNBZ1pHVnpkQzVzWlc1bmRHZ2dQU0IwYUdsekxteGxibWQwYUR0Y2JpQWdJQ0JrWlhOMExtNWxaMkYwYVhabElEMGdkR2hwY3k1dVpXZGhkR2wyWlR0Y2JpQWdJQ0JrWlhOMExuSmxaQ0E5SUhSb2FYTXVjbVZrTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYkc5dVpTQTlJR1oxYm1OMGFXOXVJR05zYjI1bElDZ3BJSHRjYmlBZ0lDQjJZWElnY2lBOUlHNWxkeUJDVGlodWRXeHNLVHRjYmlBZ0lDQjBhR2x6TG1OdmNIa29jaWs3WEc0Z0lDQWdjbVYwZFhKdUlISTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOWxlSEJoYm1RZ1BTQm1kVzVqZEdsdmJpQmZaWGh3WVc1a0lDaHphWHBsS1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUR3Z2MybDZaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFDc3JYU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkpsYlc5MlpTQnNaV0ZrYVc1bklHQXdZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNSeWFYQWdQU0JtZFc1amRHbHZiaUJ6ZEhKcGNDQW9LU0I3WEc0Z0lDQWdkMmhwYkdVZ0tIUm9hWE11YkdWdVozUm9JRDRnTVNBbUppQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvSUMwZ01WMGdQVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYm05eWJWTnBaMjRnUFNCbWRXNWpkR2x2YmlCZmJtOXliVk5wWjI0Z0tDa2dlMXh1SUNBZ0lDOHZJQzB3SUQwZ01GeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01TQW1KaUIwYUdsekxuZHZjbVJ6V3pCZElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWNtVmtJRDhnSnp4Q1RpMVNPaUFuSURvZ0p6eENUam9nSnlrZ0t5QjBhR2x6TG5SdlUzUnlhVzVuS0RFMktTQXJJQ2MrSnp0Y2JpQWdmVHRjYmx4dUlDQXZLbHh1WEc0Z0lIWmhjaUI2WlhKdmN5QTlJRnRkTzF4dUlDQjJZWElnWjNKdmRYQlRhWHBsY3lBOUlGdGRPMXh1SUNCMllYSWdaM0p2ZFhCQ1lYTmxjeUE5SUZ0ZE8xeHVYRzRnSUhaaGNpQnpJRDBnSnljN1hHNGdJSFpoY2lCcElEMGdMVEU3WEc0Z0lIZG9hV3hsSUNncksya2dQQ0JDVGk1M2IzSmtVMmw2WlNrZ2UxeHVJQ0FnSUhwbGNtOXpXMmxkSUQwZ2N6dGNiaUFnSUNCeklDczlJQ2N3Snp0Y2JpQWdmVnh1SUNCbmNtOTFjRk5wZW1Weld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCVGFYcGxjMXN4WFNBOUlEQTdYRzRnSUdkeWIzVndRbUZ6WlhOYk1GMGdQU0F3TzF4dUlDQm5jbTkxY0VKaGMyVnpXekZkSUQwZ01EdGNiaUFnZG1GeUlHSmhjMlVnUFNBeUlDMGdNVHRjYmlBZ2QyaHBiR1VnS0NzclltRnpaU0E4SURNMklDc2dNU2tnZTF4dUlDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQXdPMXh1SUNBZ0lIWmhjaUJuY205MWNFSmhjMlVnUFNBeE8xeHVJQ0FnSUhkb2FXeGxJQ2huY205MWNFSmhjMlVnUENBb01TQThQQ0JDVGk1M2IzSmtVMmw2WlNrZ0x5QmlZWE5sS1NCN1hHNGdJQ0FnSUNCbmNtOTFjRUpoYzJVZ0tqMGdZbUZ6WlR0Y2JpQWdJQ0FnSUdkeWIzVndVMmw2WlNBclBTQXhPMXh1SUNBZ0lIMWNiaUFnSUNCbmNtOTFjRk5wZW1WelcySmhjMlZkSUQwZ1ozSnZkWEJUYVhwbE8xeHVJQ0FnSUdkeWIzVndRbUZ6WlhOYlltRnpaVjBnUFNCbmNtOTFjRUpoYzJVN1hHNGdJSDFjYmx4dUlDQXFMMXh1WEc0Z0lIWmhjaUI2WlhKdmN5QTlJRnRjYmlBZ0lDQW5KeXhjYmlBZ0lDQW5NQ2NzWEc0Z0lDQWdKekF3Snl4Y2JpQWdJQ0FuTURBd0p5eGNiaUFnSUNBbk1EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ2RjYmlBZ1hUdGNibHh1SUNCMllYSWdaM0p2ZFhCVGFYcGxjeUE5SUZ0Y2JpQWdJQ0F3TENBd0xGeHVJQ0FnSURJMUxDQXhOaXdnTVRJc0lERXhMQ0F4TUN3Z09Td2dPQ3hjYmlBZ0lDQTRMQ0EzTENBM0xDQTNMQ0EzTENBMkxDQTJMRnh1SUNBZ0lEWXNJRFlzSURZc0lEWXNJRFlzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05TeGNiaUFnSUNBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMVhHNGdJRjA3WEc1Y2JpQWdkbUZ5SUdkeWIzVndRbUZ6WlhNZ1BTQmJYRzRnSUNBZ01Dd2dNQ3hjYmlBZ0lDQXpNelUxTkRRek1pd2dORE13TkRZM01qRXNJREUyTnpjM01qRTJMQ0EwT0RneU9ERXlOU3dnTmpBME5qWXhOellzSURRd016VXpOakEzTENBeE5qYzNOekl4Tml4Y2JpQWdJQ0EwTXpBME5qY3lNU3dnTVRBd01EQXdNREFzSURFNU5EZzNNVGN4TENBek5UZ3pNVGd3T0N3Z05qSTNORGcxTVRjc0lEYzFNamsxTXpZc0lERXhNemt3TmpJMUxGeHVJQ0FnSURFMk56YzNNakUyTENBeU5ERXpOelUyT1N3Z016UXdNVEl5TWpRc0lEUTNNRFExT0RneExDQTJOREF3TURBd01Dd2dOREE0TkRFd01Td2dOVEUxTXpZek1peGNiaUFnSUNBMk5ETTJNelF6TENBM09UWXlOakkwTENBNU56WTFOakkxTENBeE1UZzRNVE0zTml3Z01UUXpORGc1TURjc0lERTNNakV3TXpZNExDQXlNRFV4TVRFME9TeGNiaUFnSUNBeU5ETXdNREF3TUN3Z01qZzJNamt4TlRFc0lETXpOVFUwTkRNeUxDQXpPVEV6TlRNNU15d2dORFUwTXpVME1qUXNJRFV5TlRJeE9EYzFMQ0EyTURRMk5qRTNObHh1SUNCZE8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5JQ2hpWVhObExDQndZV1JrYVc1bktTQjdYRzRnSUNBZ1ltRnpaU0E5SUdKaGMyVWdmSHdnTVRBN1hHNGdJQ0FnY0dGa1pHbHVaeUE5SUhCaFpHUnBibWNnZkNBd0lIeDhJREU3WEc1Y2JpQWdJQ0IyWVhJZ2IzVjBPMXh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0F4TmlCOGZDQmlZWE5sSUQwOVBTQW5hR1Y0SnlrZ2UxeHVJQ0FnSUNBZ2IzVjBJRDBnSnljN1hHNGdJQ0FnSUNCMllYSWdiMlptSUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUNnb0tIY2dQRHdnYjJabUtTQjhJR05oY25KNUtTQW1JREI0Wm1abVptWm1LUzUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJQ0FnSUNBZ0lHTmhjbko1SUQwZ0tIY2dQajQrSUNneU5DQXRJRzltWmlrcElDWWdNSGhtWm1abVptWTdYRzRnSUNBZ0lDQWdJR2xtSUNoallYSnllU0FoUFQwZ01DQjhmQ0JwSUNFOVBTQjBhR2x6TG14bGJtZDBhQ0F0SURFcElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhRZ1BTQjZaWEp2YzFzMklDMGdkMjl5WkM1c1pXNW5kR2hkSUNzZ2QyOXlaQ0FySUc5MWREdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhRZ1BTQjNiM0prSUNzZ2IzVjBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TzF4dUlDQWdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1JQzA5SURJMk8xeHVJQ0FnSUNBZ0lDQWdJR2t0TFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUdOaGNuSjVMblJ2VTNSeWFXNW5LREUyS1NBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSGRvYVd4bElDaHZkWFF1YkdWdVozUm9JQ1VnY0dGa1pHbHVaeUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5NQ2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNBbkxTY2dLeUJ2ZFhRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnYjNWME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGlZWE5sSUQwOVBTQW9ZbUZ6WlNCOElEQXBJQ1ltSUdKaGMyVWdQajBnTWlBbUppQmlZWE5sSUR3OUlETTJLU0I3WEc0Z0lDQWdJQ0F2THlCMllYSWdaM0p2ZFhCVGFYcGxJRDBnVFdGMGFDNW1iRzl2Y2loQ1RpNTNiM0prVTJsNlpTQXFJRTFoZEdndVRFNHlJQzhnVFdGMGFDNXNiMmNvWW1GelpTa3BPMXh1SUNBZ0lDQWdkbUZ5SUdkeWIzVndVMmw2WlNBOUlHZHliM1Z3VTJsNlpYTmJZbUZ6WlYwN1hHNGdJQ0FnSUNBdkx5QjJZWElnWjNKdmRYQkNZWE5sSUQwZ1RXRjBhQzV3YjNjb1ltRnpaU3dnWjNKdmRYQlRhWHBsS1R0Y2JpQWdJQ0FnSUhaaGNpQm5jbTkxY0VKaGMyVWdQU0JuY205MWNFSmhjMlZ6VzJKaGMyVmRPMXh1SUNBZ0lDQWdiM1YwSUQwZ0p5YzdYRzRnSUNBZ0lDQjJZWElnWXlBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQWdJR011Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2QyaHBiR1VnS0NGakxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCeUlEMGdZeTV0YjJSdUtHZHliM1Z3UW1GelpTa3VkRzlUZEhKcGJtY29ZbUZ6WlNrN1hHNGdJQ0FnSUNBZ0lHTWdQU0JqTG1sa2FYWnVLR2R5YjNWd1FtRnpaU2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZqTG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiM1YwSUQwZ2VtVnliM05iWjNKdmRYQlRhWHBsSUMwZ2NpNXNaVzVuZEdoZElDc2djaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhRZ1BTQnlJQ3NnYjNWME8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5NQ2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb2IzVjBMbXhsYm1kMGFDQWxJSEJoWkdScGJtY2dJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p6QW5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2IzVjBJRDBnSnkwbklDc2diM1YwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVJRzkxZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoYzNObGNuUW9abUZzYzJVc0lDZENZWE5sSUhOb2IzVnNaQ0JpWlNCaVpYUjNaV1Z1SURJZ1lXNWtJRE0ySnlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlRuVnRZbVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOU9kVzFpWlhJZ0tDa2dlMXh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQjBhR2x6TG5kdmNtUnpXekJkTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTWlrZ2UxeHVJQ0FnSUNBZ2NtVjBJQ3M5SUhSb2FYTXVkMjl5WkhOYk1WMGdLaUF3ZURRd01EQXdNREE3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNeUFtSmlCMGFHbHpMbmR2Y21Seld6SmRJRDA5UFNBd2VEQXhLU0I3WEc0Z0lDQWdJQ0F2THlCT1QxUkZPaUJoZENCMGFHbHpJSE4wWVdkbElHbDBJR2x6SUd0dWIzZHVJSFJvWVhRZ2RHaGxJSFJ2Y0NCaWFYUWdhWE1nYzJWMFhHNGdJQ0FnSUNCeVpYUWdLejBnTUhneE1EQXdNREF3TURBd01EQXdNQ0FySUNoMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdNaWtnZTF4dUlDQWdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5UblZ0WW1WeUlHTmhiaUJ2Ym14NUlITmhabVZzZVNCemRHOXlaU0IxY0NCMGJ5QTFNeUJpYVhSekp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ1B5QXRjbVYwSURvZ2NtVjBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMHBUVDA0Z1BTQm1kVzVqZEdsdmJpQjBiMHBUVDA0Z0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblJ2VTNSeWFXNW5LREUyS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5Q2RXWm1aWElnUFNCbWRXNWpkR2x2YmlCMGIwSjFabVpsY2lBb1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlFSjFabVpsY2lBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5SdlFYSnlZWGxNYVd0bEtFSjFabVpsY2l3Z1pXNWthV0Z1TENCc1pXNW5kR2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBGeWNtRjVJRDBnWm5WdVkzUnBiMjRnZEc5QmNuSmhlU0FvWlc1a2FXRnVMQ0JzWlc1bmRHZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjBGeWNtRjVUR2xyWlNoQmNuSmhlU3dnWlc1a2FXRnVMQ0JzWlc1bmRHZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMEZ5Y21GNVRHbHJaU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGxNYVd0bElDaEJjbkpoZVZSNWNHVXNJR1Z1WkdsaGJpd2diR1Z1WjNSb0tTQjdYRzRnSUNBZ2RtRnlJR0o1ZEdWTVpXNW5kR2dnUFNCMGFHbHpMbUo1ZEdWTVpXNW5kR2dvS1R0Y2JpQWdJQ0IyWVhJZ2NtVnhUR1Z1WjNSb0lEMGdiR1Z1WjNSb0lIeDhJRTFoZEdndWJXRjRLREVzSUdKNWRHVk1aVzVuZEdncE8xeHVJQ0FnSUdGemMyVnlkQ2hpZVhSbFRHVnVaM1JvSUR3OUlISmxjVXhsYm1kMGFDd2dKMko1ZEdVZ1lYSnlZWGtnYkc5dVoyVnlJSFJvWVc0Z1pHVnphWEpsWkNCc1pXNW5kR2duS1R0Y2JpQWdJQ0JoYzNObGNuUW9jbVZ4VEdWdVozUm9JRDRnTUN3Z0oxSmxjWFZsYzNSbFpDQmhjbkpoZVNCc1pXNW5kR2dnUEQwZ01DY3BPMXh1WEc0Z0lDQWdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQWdJSFpoY2lCc2FYUjBiR1ZGYm1ScFlXNGdQU0JsYm1ScFlXNGdQVDA5SUNkc1pTYzdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNWxkeUJCY25KaGVWUjVjR1VvY21WeFRHVnVaM1JvS1R0Y2JseHVJQ0FnSUhaaGNpQmlMQ0JwTzF4dUlDQWdJSFpoY2lCeElEMGdkR2hwY3k1amJHOXVaU2dwTzF4dUlDQWdJR2xtSUNnaGJHbDBkR3hsUlc1a2FXRnVLU0I3WEc0Z0lDQWdJQ0F2THlCQmMzTjFiV1VnWW1sbkxXVnVaR2xoYmx4dUlDQWdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJSEpsY1V4bGJtZDBhQ0F0SUdKNWRHVk1aVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUFoY1M1cGMxcGxjbThvS1RzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdJZ1BTQnhMbUZ1Wkd4dUtEQjRabVlwTzF4dUlDQWdJQ0FnSUNCeExtbDFjMmh5YmlnNEtUdGNibHh1SUNBZ0lDQWdJQ0J5WlhOYmNtVnhUR1Z1WjNSb0lDMGdhU0F0SURGZElEMGdZanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dJWEV1YVhOYVpYSnZLQ2s3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0JpSUQwZ2NTNWhibVJzYmlnd2VHWm1LVHRjYmlBZ0lDQWdJQ0FnY1M1cGRYTm9jbTRvT0NrN1hHNWNiaUFnSUNBZ0lDQWdjbVZ6VzJsZElEMGdZanRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCeVpYRk1aVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdhV1lnS0UxaGRHZ3VZMng2TXpJcElIdGNiaUFnSUNCQ1RpNXdjbTkwYjNSNWNHVXVYMk52ZFc1MFFtbDBjeUE5SUdaMWJtTjBhVzl1SUY5amIzVnVkRUpwZEhNZ0tIY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQXpNaUF0SUUxaGRHZ3VZMng2TXpJb2R5azdYRzRnSUNBZ2ZUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQkNUaTV3Y205MGIzUjVjR1V1WDJOdmRXNTBRbWwwY3lBOUlHWjFibU4wYVc5dUlGOWpiM1Z1ZEVKcGRITWdLSGNwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBJRDBnZHp0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0FnSUdsbUlDaDBJRDQ5SURCNE1UQXdNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJREV6TzF4dUlDQWdJQ0FnSUNCMElENCtQajBnTVRNN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VEUXdLU0I3WEc0Z0lDQWdJQ0FnSUhJZ0t6MGdOenRjYmlBZ0lDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RDQStQU0F3ZURncElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBME8xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ05EdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRNRElwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F5TzF4dUlDQWdJQ0FnSUNCMElENCtQajBnTWp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ5SUNzZ2REdGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5NlpYSnZRbWwwY3lBOUlHWjFibU4wYVc5dUlGOTZaWEp2UW1sMGN5QW9keWtnZTF4dUlDQWdJQzh2SUZOb2IzSjBMV04xZEZ4dUlDQWdJR2xtSUNoM0lEMDlQU0F3S1NCeVpYUjFjbTRnTWpZN1hHNWNiaUFnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJR2xtSUNnb2RDQW1JREI0TVdabVppa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISWdLejBnTVRNN1hHNGdJQ0FnSUNCMElENCtQajBnTVRNN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TjJZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdOenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IaG1LU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaUFyUFNBME8xeHVJQ0FnSUNBZ2RDQStQajQ5SURRN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TXlrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJZ0t6MGdNanRjYmlBZ0lDQWdJSFFnUGo0K1BTQXlPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9LSFFnSmlBd2VERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlLeXM3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ1ZFcxaVpYSWdiMllnZFhObFpDQmlhWFJ6SUdsdUlHRWdRazVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUpwZEV4bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUdKcGRFeGxibWQwYUNBb0tTQjdYRzRnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnZG1GeUlHaHBJRDBnZEdocGN5NWZZMjkxYm5SQ2FYUnpLSGNwTzF4dUlDQWdJSEpsZEhWeWJpQW9kR2hwY3k1c1pXNW5kR2dnTFNBeEtTQXFJREkySUNzZ2FHazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnZEc5Q2FYUkJjbkpoZVNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhjZ1BTQnVaWGNnUVhKeVlYa29iblZ0TG1KcGRFeGxibWQwYUNncEtUdGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHSnBkQ0E5SURBN0lHSnBkQ0E4SUhjdWJHVnVaM1JvT3lCaWFYUXJLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHOW1aaUE5SUNoaWFYUWdMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lDQWdkbUZ5SUhkaWFYUWdQU0JpYVhRZ0pTQXlOanRjYmx4dUlDQWdJQ0FnZDF0aWFYUmRJRDBnS0c1MWJTNTNiM0prYzF0dlptWmRJQ1lnS0RFZ1BEd2dkMkpwZENrcElENCtQaUIzWW1sME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIzTzF4dUlDQjlYRzVjYmlBZ0x5OGdUblZ0WW1WeUlHOW1JSFJ5WVdsc2FXNW5JSHBsY204Z1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlbVZ5YjBKcGRITWdQU0JtZFc1amRHbHZiaUI2WlhKdlFtbDBjeUFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUF3TzF4dVhHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHSWdQU0IwYUdsekxsOTZaWEp2UW1sMGN5aDBhR2x6TG5kdmNtUnpXMmxkS1R0Y2JpQWdJQ0FnSUhJZ0t6MGdZanRjYmlBZ0lDQWdJR2xtSUNoaUlDRTlQU0F5TmlrZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aWVYUmxUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbmwwWlV4bGJtZDBhQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRTFoZEdndVkyVnBiQ2gwYUdsekxtSnBkRXhsYm1kMGFDZ3BJQzhnT0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlZIZHZjeUE5SUdaMWJtTjBhVzl1SUhSdlZIZHZjeUFvZDJsa2RHZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZV0p6S0NrdWFXNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bWNtOXRWSGR2Y3lBOUlHWjFibU4wYVc5dUlHWnliMjFVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG5SbGMzUnVLSGRwWkhSb0lDMGdNU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBMbWx1Wldjb0tUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOT1pXY2dQU0JtZFc1amRHbHZiaUJwYzA1bFp5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc1bFoyRjBhWFpsSUdOc2IyNWxJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVibVZuSUQwZ1puVnVZM1JwYjI0Z2JtVm5JQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdVpXY29LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzVsWnlBOUlHWjFibU4wYVc5dUlHbHVaV2NnS0NrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0JlUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUU5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRXOXlJRDBnWm5WdVkzUnBiMjRnYVhWdmNpQW9iblZ0S1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUR3Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNzclhTQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkSUh3Z2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHZjaUE5SUdaMWJtTjBhVzl1SUdsdmNpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ2gwYUdsekxtNWxaMkYwYVhabElId2diblZ0TG01bFoyRjBhWFpsS1NBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWdmNpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTl5SUdCdWRXMWdJSGRwZEdnZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV2Y2lBOUlHWjFibU4wYVc5dUlHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVnZjaUE5SUdaMWJtTjBhVzl1SUhWdmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkVzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDFiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkV0Z1WkNBOUlHWjFibU4wYVc5dUlHbDFZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJpSUQwZ2JXbHVMV3hsYm1kMGFDaHVkVzBzSUhSb2FYTXBYRzRnSUNBZ2RtRnlJR0k3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNBbUlHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUdJdWJHVnVaM1JvTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGdVpDQTlJR1oxYm1OMGFXOXVJR2xoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ29kR2hwY3k1dVpXZGhkR2wyWlNCOElHNTFiUzV1WldkaGRHbDJaU2tnUFQwOUlEQXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWwxWVc1a0tHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRVzVrSUdCdWRXMWdJSGRwZEdnZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoYm1RZ1BTQm1kVzVqZEdsdmJpQmhibVFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVdGdVpDaHVkVzBwTzF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1WTJ4dmJtVW9LUzVwWVc1a0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWVc1a0lEMGdablZ1WTNScGIyNGdkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRXRnVaQ2h1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGRXRnVaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCWWIzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbDFlRzl5SUQwZ1puVnVZM1JwYjI0Z2FYVjRiM0lnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJR0V1YkdWdVozUm9JRDRnWWk1c1pXNW5kR2hjYmlBZ0lDQjJZWElnWVR0Y2JpQWdJQ0IyWVhJZ1lqdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQmhJRDBnZEdocGN6dGNiaUFnSUNBZ0lHSWdQU0J1ZFcwN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0VnUFNCdWRXMDdYRzRnSUNBZ0lDQmlJRDBnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JoTG5kdmNtUnpXMmxkSUY0Z1lpNTNiM0prYzF0cFhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwY3lBaFBUMGdZU2tnZTF4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JoTG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1lTNXNaVzVuZEdnN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGVHOXlJRDBnWm5WdVkzUnBiMjRnYVhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ2gwYUdsekxtNWxaMkYwYVhabElId2diblZ0TG01bFoyRjBhWFpsS1NBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWNGIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJZYjNJZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5odmNpQTlJR1oxYm1OMGFXOXVJSGh2Y2lBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGVHOXlLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1sNGIzSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WNGIzSWdQU0JtZFc1amRHbHZiaUIxZUc5eUlDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFlRzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDFlRzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFNXZkQ0JnWUhSb2FYTmdZQ0IzYVhSb0lHQmdkMmxrZEdoZ1lDQmlhWFIzYVdSMGFGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXNXZkRzRnUFNCbWRXNWpkR2x2YmlCcGJtOTBiaUFvZDJsa2RHZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUhkcFpIUm9JRDA5UFNBbmJuVnRZbVZ5SnlBbUppQjNhV1IwYUNBK1BTQXdLVHRjYmx4dUlDQWdJSFpoY2lCaWVYUmxjMDVsWldSbFpDQTlJRTFoZEdndVkyVnBiQ2gzYVdSMGFDQXZJREkyS1NCOElEQTdYRzRnSUNBZ2RtRnlJR0pwZEhOTVpXWjBJRDBnZDJsa2RHZ2dKU0F5Tmp0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkNCMGFHVWdZblZtWm1WeUlIZHBkR2dnYkdWaFpHbHVaeUI2WlhKdlpYTmNiaUFnSUNCMGFHbHpMbDlsZUhCaGJtUW9ZbmwwWlhOT1pXVmtaV1FwTzF4dVhHNGdJQ0FnYVdZZ0tHSnBkSE5NWldaMElENGdNQ2tnZTF4dUlDQWdJQ0FnWW5sMFpYTk9aV1ZrWldRdExUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QklZVzVrYkdVZ1kyOXRjR3hsZEdVZ2QyOXlaSE5jYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0o1ZEdWelRtVmxaR1ZrT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQitkR2hwY3k1M2IzSmtjMXRwWFNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QklZVzVrYkdVZ2RHaGxJSEpsYzJsa2RXVmNiaUFnSUNCcFppQW9ZbWwwYzB4bFpuUWdQaUF3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZm5Sb2FYTXVkMjl5WkhOYmFWMGdKaUFvTUhnelptWm1abVptSUQ0K0lDZ3lOaUF0SUdKcGRITk1aV1owS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXNWtJSEpsYlc5MlpTQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTV2ZEc0Z1BTQm1kVzVqZEdsdmJpQnViM1J1SUNoM2FXUjBhQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVc1dmRHNG9kMmxrZEdncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZObGRDQmdZbWwwWUNCdlppQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5ObGRHNGdQU0JtZFc1amRHbHZiaUJ6WlhSdUlDaGlhWFFzSUhaaGJDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNWNiaUFnSUNCMllYSWdiMlptSUQwZ0tHSnBkQ0F2SURJMktTQjhJREE3WEc0Z0lDQWdkbUZ5SUhkaWFYUWdQU0JpYVhRZ0pTQXlOanRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNodlptWWdLeUF4S1R0Y2JseHVJQ0FnSUdsbUlDaDJZV3dwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmIyWm1YU0E5SUhSb2FYTXVkMjl5WkhOYmIyWm1YU0I4SUNneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzI5bVpsMGdQU0IwYUdsekxuZHZjbVJ6VzI5bVpsMGdKaUIrS0RFZ1BEd2dkMkpwZENrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwWVdSa0lEMGdablZ1WTNScGIyNGdhV0ZrWkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhJN1hHNWNiaUFnSUNBdkx5QnVaV2RoZEdsMlpTQXJJSEJ2YzJsMGFYWmxYRzRnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2JuVnRMbTVsWjJGMGFYWmxJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z2NHOXphWFJwZG1VZ0t5QnVaV2RoZEdsMlpWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5SUQwZ2RHaHBjeTVwYzNWaUtHNTFiU2s3WEc0Z0lDQWdJQ0J1ZFcwdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISXVYMjV2Y20xVGFXZHVLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVM1c1pXNW5kR2dnUGlCaUxteGxibWQwYUZ4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR0VnUFNCMGFHbHpPMXh1SUNBZ0lDQWdZaUE5SUc1MWJUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVNBOUlHNTFiVHRjYmlBZ0lDQWdJR0lnUFNCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnlJRDBnS0dFdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUNoaUxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K1BpQXlOanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUhJZ1BqNCtJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1lTNXNaVzVuZEdnN1hHNGdJQ0FnYVdZZ0tHTmhjbko1SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzNSb2FYTXViR1Z1WjNSb1hTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQXZMeUJEYjNCNUlIUm9aU0J5WlhOMElHOW1JSFJvWlNCM2IzSmtjMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZU0FoUFQwZ2RHaHBjeWtnZTF4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JoTG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZrWkNCZ2JuVnRZQ0IwYnlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUZrWkNBOUlHWjFibU4wYVc5dUlHRmtaQ0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3p0Y2JpQWdJQ0JwWmlBb2JuVnRMbTVsWjJGMGFYWmxJQ0U5UFNBd0lDWW1JSFJvYVhNdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG5OMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElGNDlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm5WdExtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdjbVZ6SUQwZ2JuVnRMbk4xWWloMGFHbHpLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saFpHUW9iblZ0S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cFlXUmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOMVluUnlZV04wSUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzNWaUlEMGdablZ1WTNScGIyNGdhWE4xWWlBb2JuVnRLU0I3WEc0Z0lDQWdMeThnZEdocGN5QXRJQ2d0Ym5WdEtTQTlJSFJvYVhNZ0t5QnVkVzFjYmlBZ0lDQnBaaUFvYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISWdQU0IwYUdsekxtbGhaR1FvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNibHh1SUNBZ0lDOHZJQzEwYUdseklDMGdiblZ0SUQwZ0xTaDBhR2x6SUNzZ2JuVnRLVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtbGhaR1FvYm5WdEtUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMjV2Y20xVGFXZHVLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nWVhKbElIQnZjMmwwYVhabFhHNGdJQ0FnZG1GeUlHTnRjQ0E5SUhSb2FYTXVZMjF3S0c1MWJTazdYRzVjYmlBZ0lDQXZMeUJQY0hScGJXbDZZWFJwYjI0Z0xTQjZaWEp2YVdaNVhHNGdJQ0FnYVdZZ0tHTnRjQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHRWdQaUJpWEc0Z0lDQWdkbUZ5SUdFc0lHSTdYRzRnSUNBZ2FXWWdLR050Y0NBK0lEQXBJSHRjYmlBZ0lDQWdJR0VnUFNCMGFHbHpPMXh1SUNBZ0lDQWdZaUE5SUc1MWJUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVNBOUlHNTFiVHRjYmlBZ0lDQWdJR0lnUFNCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnlJRDBnS0dFdWQyOXlaSE5iYVYwZ2ZDQXdLU0F0SUNoaUxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCeUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lIMWNiaUFnSUNCbWIzSWdLRHNnWTJGeWNua2dJVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSElnUFNBb1lTNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJEYjNCNUlISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnYVdZZ0tHTmhjbko1SUQwOVBTQXdJQ1ltSUdrZ1BDQmhMbXhsYm1kMGFDQW1KaUJoSUNFOVBTQjBhR2x6S1NCN1hHNGdJQ0FnSUNCbWIzSWdLRHNnYVNBOElHRXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdFdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG0xaGVDaDBhR2x6TG14bGJtZDBhQ3dnYVNrN1hHNWNiaUFnSUNCcFppQW9ZU0FoUFQwZ2RHaHBjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRkV0owY21GamRDQmdiblZ0WUNCbWNtOXRJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMzVmlJRDBnWm5WdVkzUnBiMjRnYzNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1semRXSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQnpiV0ZzYkUxMWJGUnZJQ2h6Wld4bUxDQnVkVzBzSUc5MWRDa2dlMXh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUc1MWJTNXVaV2RoZEdsMlpTQmVJSE5sYkdZdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnZG1GeUlHeGxiaUE5SUNoelpXeG1MbXhsYm1kMGFDQXJJRzUxYlM1c1pXNW5kR2dwSUh3Z01EdGNiaUFnSUNCdmRYUXViR1Z1WjNSb0lEMGdiR1Z1TzF4dUlDQWdJR3hsYmlBOUlDaHNaVzRnTFNBeEtTQjhJREE3WEc1Y2JpQWdJQ0F2THlCUVpXVnNJRzl1WlNCcGRHVnlZWFJwYjI0Z0tHTnZiWEJwYkdWeUlHTmhiaWQwSUdSdklHbDBMQ0JpWldOaGRYTmxJRzltSUdOdlpHVWdZMjl0Y0d4bGVHbDBlU2xjYmlBZ0lDQjJZWElnWVNBOUlITmxiR1l1ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmlJRDBnYm5WdExuZHZjbVJ6V3pCZElId2dNRHRjYmlBZ0lDQjJZWElnY2lBOUlHRWdLaUJpTzF4dVhHNGdJQ0FnZG1GeUlHeHZJRDBnY2lBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lHOTFkQzUzYjNKa2Mxc3dYU0E5SUd4dk8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2F5QTlJREU3SUdzZ1BDQnNaVzQ3SUdzckt5a2dlMXh1SUNBZ0lDQWdMeThnVTNWdElHRnNiQ0IzYjNKa2N5QjNhWFJvSUhSb1pTQnpZVzFsSUdCcElDc2dhaUE5SUd0Z0lHRnVaQ0JoWTJOMWJYVnNZWFJsSUdCdVkyRnljbmxnTEZ4dUlDQWdJQ0FnTHk4Z2JtOTBaU0IwYUdGMElHNWpZWEp5ZVNCamIzVnNaQ0JpWlNBK1BTQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lIWmhjaUJ1WTJGeWNua2dQU0JqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNCMllYSWdjbmR2Y21RZ1BTQmpZWEp5ZVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIWmhjaUJ0WVhoS0lEMGdUV0YwYUM1dGFXNG9heXdnYm5WdExteGxibWQwYUNBdElERXBPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUUxaGRHZ3ViV0Y0S0RBc0lHc2dMU0J6Wld4bUxteGxibWQwYUNBcklERXBPeUJxSUR3OUlHMWhlRW83SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FTQTlJQ2hySUMwZ2Fpa2dmQ0F3TzF4dUlDQWdJQ0FnSUNCaElEMGdjMlZzWmk1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQWdJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCeUlEMGdZU0FxSUdJZ0t5QnlkMjl5WkR0Y2JpQWdJQ0FnSUNBZ2JtTmhjbko1SUNzOUlDaHlJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQWdJSEozYjNKa0lEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUc5MWRDNTNiM0prYzF0clhTQTlJSEozYjNKa0lId2dNRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNUlId2dNRHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0JqWVhKeWVTQjhJREE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHOTFkQzVzWlc1bmRHZ3RMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2IzVjBMbk4wY21sd0tDazdYRzRnSUgxY2JseHVJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwZENCdFlYa2dZbVVnY21WaGMyOXVZV0pzWlNCMGJ5QnZiV2wwSUdsMElHWnZjaUIxYzJWeWN5QjNhRzhnWkc5dUozUWdibVZsWkZ4dUlDQXZMeUIwYnlCM2IzSnJJSGRwZEdnZ01qVTJMV0pwZENCdWRXMWlaWEp6TENCdmRHaGxjbmRwYzJVZ2FYUWdaMmwyWlhNZ01qQWxJR2x0Y0hKdmRtVnRaVzUwSUdadmNpQXlOVFl0WW1sMFhHNGdJQzh2SUcxMWJIUnBjR3hwWTJGMGFXOXVJQ2hzYVd0bElHVnNiR2x3ZEdsaklITmxZM0F5TlRack1Ta3VYRzRnSUhaaGNpQmpiMjFpTVRCTmRXeFVieUE5SUdaMWJtTjBhVzl1SUdOdmJXSXhNRTExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQmhJRDBnYzJWc1ppNTNiM0prY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlM1M2IzSmtjenRjYmlBZ0lDQjJZWElnYnlBOUlHOTFkQzUzYjNKa2N6dGNiaUFnSUNCMllYSWdZeUE5SURBN1hHNGdJQ0FnZG1GeUlHeHZPMXh1SUNBZ0lIWmhjaUJ0YVdRN1hHNGdJQ0FnZG1GeUlHaHBPMXh1SUNBZ0lIWmhjaUJoTUNBOUlHRmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiREFnUFNCaE1DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2d3SUQwZ1lUQWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhNU0E5SUdGYk1WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJERWdQU0JoTVNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZ3hJRDBnWVRFZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE1pQTlJR0ZiTWwwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRJZ1BTQmhNaUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdneUlEMGdZVElnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTXlBOUlHRmJNMTBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRE1nUFNCaE15QW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2d6SUQwZ1lUTWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhOQ0E5SUdGYk5GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEUWdQU0JoTkNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzBJRDBnWVRRZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE5TQTlJR0ZiTlYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRVZ1BTQmhOU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnMUlEMGdZVFVnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTmlBOUlHRmJObDBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRFlnUFNCaE5pQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2cySUQwZ1lUWWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhOeUE5SUdGYk4xMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEY2dQU0JoTnlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzNJRDBnWVRjZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE9DQTlJR0ZiT0YwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRnZ1BTQmhPQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnNElEMGdZVGdnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoT1NBOUlHRmJPVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRGtnUFNCaE9TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2c1SUQwZ1lUa2dQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlNQ0E5SUdKYk1GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEQWdQU0JpTUNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZ3dJRDBnWWpBZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU1TQTlJR0piTVYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRFZ1BTQmlNU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1neElEMGdZakVnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTWlBOUlHSmJNbDBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRElnUFNCaU1pQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWd5SUQwZ1lqSWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlNeUE5SUdKYk0xMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJETWdQU0JpTXlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZ3pJRDBnWWpNZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU5DQTlJR0piTkYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRRZ1BTQmlOQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nMElEMGdZalFnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTlNBOUlHSmJOVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRFVnUFNCaU5TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWcxSUQwZ1lqVWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlOaUE5SUdKYk5sMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEWWdQU0JpTmlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzJJRDBnWWpZZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU55QTlJR0piTjEwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRjZ1BTQmlOeUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nM0lEMGdZamNnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpT0NBOUlHSmJPRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRGdnUFNCaU9DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWc0SUQwZ1lqZ2dQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlPU0E5SUdKYk9WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEa2dQU0JpT1NBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzVJRDBnWWprZ1BqNCtJREV6TzF4dVhHNGdJQ0FnYjNWMExtNWxaMkYwYVhabElEMGdjMlZzWmk1dVpXZGhkR2wyWlNCZUlHNTFiUzV1WldkaGRHbDJaVHRjYmlBZ0lDQnZkWFF1YkdWdVozUm9JRDBnTVRrN1hHNGdJQ0FnTHlvZ2F5QTlJREFnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiREFzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nd0tUdGNiaUFnSUNCMllYSWdkekFnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3eUxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRElzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURJc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6SWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3lJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTWlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURNZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6TWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3pJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTXlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURRZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNOQ0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpRZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MUxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkelVnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGMxSUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM05TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlEWWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpZZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOaUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGNnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNOeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpjZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBNElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpnZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjNElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNPQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGtnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkemtnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGM1SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM09TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXdJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRFcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTVNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXdJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRJcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTWlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01URWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hNU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01USWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTXlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZ3pLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWd6S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFeUlEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01USWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TWlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRFFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb05DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkekV6SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRNZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hNeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREUwSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEVXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTlNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb05TazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UUWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOQ0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UVWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTmlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzJLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWcyS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkekUxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRVZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hOU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREUySUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEY3BPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTnlrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb055azdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UWWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TmlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFM0lDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRGdwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb09DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9PQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UY2dQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UZ2dLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzT1NrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzVLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWc1S1R0Y2JpQWdJQ0IyWVhJZ2R6RTRJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGdnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE9DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdiMXN3WFNBOUlIY3dPMXh1SUNBZ0lHOWJNVjBnUFNCM01UdGNiaUFnSUNCdld6SmRJRDBnZHpJN1hHNGdJQ0FnYjFzelhTQTlJSGN6TzF4dUlDQWdJRzliTkYwZ1BTQjNORHRjYmlBZ0lDQnZXelZkSUQwZ2R6VTdYRzRnSUNBZ2IxczJYU0E5SUhjMk8xeHVJQ0FnSUc5Yk4xMGdQU0IzTnp0Y2JpQWdJQ0J2V3poZElEMGdkemc3WEc0Z0lDQWdiMXM1WFNBOUlIYzVPMXh1SUNBZ0lHOWJNVEJkSUQwZ2R6RXdPMXh1SUNBZ0lHOWJNVEZkSUQwZ2R6RXhPMXh1SUNBZ0lHOWJNVEpkSUQwZ2R6RXlPMXh1SUNBZ0lHOWJNVE5kSUQwZ2R6RXpPMXh1SUNBZ0lHOWJNVFJkSUQwZ2R6RTBPMXh1SUNBZ0lHOWJNVFZkSUQwZ2R6RTFPMXh1SUNBZ0lHOWJNVFpkSUQwZ2R6RTJPMXh1SUNBZ0lHOWJNVGRkSUQwZ2R6RTNPMXh1SUNBZ0lHOWJNVGhkSUQwZ2R6RTRPMXh1SUNBZ0lHbG1JQ2hqSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J2V3pFNVhTQTlJR003WEc0Z0lDQWdJQ0J2ZFhRdWJHVnVaM1JvS3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnZkWFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVRzlzZVdacGJHd2dZMjl0WWx4dUlDQnBaaUFvSVUxaGRHZ3VhVzExYkNrZ2UxeHVJQ0FnSUdOdmJXSXhNRTExYkZSdklEMGdjMjFoYkd4TmRXeFVienRjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUdKcFowMTFiRlJ2SUNoelpXeG1MQ0J1ZFcwc0lHOTFkQ2tnZTF4dUlDQWdJRzkxZEM1dVpXZGhkR2wyWlNBOUlHNTFiUzV1WldkaGRHbDJaU0JlSUhObGJHWXVibVZuWVhScGRtVTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJSE5sYkdZdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFEdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdkbUZ5SUdodVkyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdzZ1BTQXdPeUJySUR3Z2IzVjBMbXhsYm1kMGFDQXRJREU3SUdzckt5a2dlMXh1SUNBZ0lDQWdMeThnVTNWdElHRnNiQ0IzYjNKa2N5QjNhWFJvSUhSb1pTQnpZVzFsSUdCcElDc2dhaUE5SUd0Z0lHRnVaQ0JoWTJOMWJYVnNZWFJsSUdCdVkyRnljbmxnTEZ4dUlDQWdJQ0FnTHk4Z2JtOTBaU0IwYUdGMElHNWpZWEp5ZVNCamIzVnNaQ0JpWlNBK1BTQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lIWmhjaUJ1WTJGeWNua2dQU0JvYm1OaGNuSjVPMXh1SUNBZ0lDQWdhRzVqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0IyWVhJZ2NuZHZjbVFnUFNCallYSnllU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhaaGNpQnRZWGhLSUQwZ1RXRjBhQzV0YVc0b2F5d2diblZ0TG14bGJtZDBhQ0F0SURFcE8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJRTFoZEdndWJXRjRLREFzSUdzZ0xTQnpaV3htTG14bGJtZDBhQ0FySURFcE95QnFJRHc5SUcxaGVFbzdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlHc2dMU0JxTzF4dUlDQWdJQ0FnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzF0cVhTQjhJREE3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnWVNBcUlHSTdYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlHeHZJRDBnY2lBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlEMGdLRzVqWVhKeWVTQXJJQ2dvY2lBdklEQjROREF3TURBd01Da2dmQ0F3S1NrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JzYnlBOUlDaHNieUFySUhKM2IzSmtLU0I4SURBN1hHNGdJQ0FnSUNBZ0lISjNiM0prSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc1allYSnllU0E5SUNodVkyRnljbmtnS3lBb2JHOGdQajQrSURJMktTa2dmQ0F3TzF4dVhHNGdJQ0FnSUNBZ0lHaHVZMkZ5Y25rZ0t6MGdibU5oY25KNUlENCtQaUF5Tmp0Y2JpQWdJQ0FnSUNBZ2JtTmhjbko1SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHOTFkQzUzYjNKa2MxdHJYU0E5SUhKM2IzSmtPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQnVZMkZ5Y25rN1hHNGdJQ0FnSUNCdVkyRnljbmtnUFNCb2JtTmhjbko1TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lHOTFkQzUzYjNKa2MxdHJYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdmRYUXViR1Z1WjNSb0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc5MWRDNXpkSEpwY0NncE8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdhblZ0WW05TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnWm1aMGJTQTlJRzVsZHlCR1JsUk5LQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHWm1kRzB1YlhWc2NDaHpaV3htTENCdWRXMHNJRzkxZENrN1hHNGdJSDFjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ZHOGdQU0JtZFc1amRHbHZiaUJ0ZFd4VWJ5QW9iblZ0TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCMGFHbHpMbXhsYm1kMGFDQXJJRzUxYlM1c1pXNW5kR2c3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4TUNBbUppQnVkVzB1YkdWdVozUm9JRDA5UFNBeE1Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ1kyOXRZakV3VFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JHVnVJRHdnTmpNcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhOdFlXeHNUWFZzVkc4b2RHaHBjeXdnYm5WdExDQnZkWFFwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYkdWdUlEd2dNVEF5TkNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnWW1sblRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYTWdQU0JxZFcxaWIwMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUM4dklFTnZiMnhsZVMxVWRXdGxlU0JoYkdkdmNtbDBhRzBnWm05eUlFWkdWRnh1SUNBdkx5QnpiR2xuYUhSc2VTQnlaWFpwYzJsMFpXUWdkRzhnY21Wc2VTQnZiaUJzYjI5d2FXNW5JR2x1YzNSbFlXUWdiMllnY21WamRYSnphVzl1WEc1Y2JpQWdablZ1WTNScGIyNGdSa1pVVFNBb2VDd2dlU2tnZTF4dUlDQWdJSFJvYVhNdWVDQTlJSGc3WEc0Z0lDQWdkR2hwY3k1NUlEMGdlVHRjYmlBZ2ZWeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbTFoYTJWU1FsUWdQU0JtZFc1amRHbHZiaUJ0WVd0bFVrSlVJQ2hPS1NCN1hHNGdJQ0FnZG1GeUlIUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHd2dQU0JDVGk1d2NtOTBiM1I1Y0dVdVgyTnZkVzUwUW1sMGN5aE9LU0F0SURFN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCT095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSYmFWMGdQU0IwYUdsekxuSmxka0pwYmlocExDQnNMQ0JPS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkRHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlNaWFIxY201eklHSnBibUZ5ZVMxeVpYWmxjbk5sWkNCeVpYQnlaWE5sYm5SaGRHbHZiaUJ2WmlCZ2VHQmNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXVjbVYyUW1sdUlEMGdablZ1WTNScGIyNGdjbVYyUW1sdUlDaDRMQ0JzTENCT0tTQjdYRzRnSUNBZ2FXWWdLSGdnUFQwOUlEQWdmSHdnZUNBOVBUMGdUaUF0SURFcElISmxkSFZ5YmlCNE8xeHVYRzRnSUNBZ2RtRnlJSEppSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHdzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NtSWdmRDBnS0hnZ0ppQXhLU0E4UENBb2JDQXRJR2tnTFNBeEtUdGNiaUFnSUNBZ0lIZ2dQajQ5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEppTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJsY21admNtMXpJRndpZEhkbFpXUnNhVzVuWENJZ2NHaGhjMlVzSUhSb1pYSmxabTl5WlNBblpXMTFiR0YwYVc1bkoxeHVJQ0F2THlCaVpXaGhkbWx2ZFhJZ2IyWWdkR2hsSUhKbFkzVnljMmwyWlNCaGJHZHZjbWwwYUcxY2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWNHVnliWFYwWlNBOUlHWjFibU4wYVc5dUlIQmxjbTExZEdVZ0tISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdjblIzYzF0cFhTQTlJSEozYzF0eVluUmJhVjFkTzF4dUlDQWdJQ0FnYVhSM2MxdHBYU0E5SUdsM2MxdHlZblJiYVYxZE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1MGNtRnVjMlp2Y20wZ1BTQm1kVzVqZEdsdmJpQjBjbUZ1YzJadmNtMGdLSEozY3l3Z2FYZHpMQ0J5ZEhkekxDQnBkSGR6TENCT0xDQnlZblFwSUh0Y2JpQWdJQ0IwYUdsekxuQmxjbTExZEdVb2NtSjBMQ0J5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1RpazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnpJRDBnTVRzZ2N5QThJRTQ3SUhNZ1BEdzlJREVwSUh0Y2JpQWdJQ0FnSUhaaGNpQnNJRDBnY3lBOFBDQXhPMXh1WEc0Z0lDQWdJQ0IyWVhJZ2NuUjNaR1lnUFNCTllYUm9MbU52Y3lneUlDb2dUV0YwYUM1UVNTQXZJR3dwTzF4dUlDQWdJQ0FnZG1GeUlHbDBkMlJtSUQwZ1RXRjBhQzV6YVc0b01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2NDQTlJREE3SUhBZ1BDQk9PeUJ3SUNzOUlHd3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlISjBkMlJtWHlBOUlISjBkMlJtTzF4dUlDQWdJQ0FnSUNCMllYSWdhWFIzWkdaZklEMGdhWFIzWkdZN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0J6T3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjbVVnUFNCeWRIZHpXM0FnS3lCcVhUdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2FXVWdQU0JwZEhkelczQWdLeUJxWFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeWJ5QTlJSEowZDNOYmNDQXJJR29nS3lCelhUdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2FXOGdQU0JwZEhkelczQWdLeUJxSUNzZ2MxMDdYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjbmdnUFNCeWRIZGtabDhnS2lCeWJ5QXRJR2wwZDJSbVh5QXFJR2x2TzF4dVhHNGdJQ0FnSUNBZ0lDQWdhVzhnUFNCeWRIZGtabDhnS2lCcGJ5QXJJR2wwZDJSbVh5QXFJSEp2TzF4dUlDQWdJQ0FnSUNBZ0lISnZJRDBnY25nN1hHNWNiaUFnSUNBZ0lDQWdJQ0J5ZEhkelczQWdLeUJxWFNBOUlISmxJQ3NnY204N1hHNGdJQ0FnSUNBZ0lDQWdhWFIzYzF0d0lDc2dhbDBnUFNCcFpTQXJJR2x2TzF4dVhHNGdJQ0FnSUNBZ0lDQWdjblIzYzF0d0lDc2dhaUFySUhOZElEMGdjbVVnTFNCeWJ6dGNiaUFnSUNBZ0lDQWdJQ0JwZEhkelczQWdLeUJxSUNzZ2MxMGdQU0JwWlNBdElHbHZPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0x5b2dhbk5vYVc1MElHMWhlR1JsY0hSb0lEb2dabUZzYzJVZ0tpOWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2FpQWhQVDBnYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY25nZ1BTQnlkSGRrWmlBcUlISjBkMlJtWHlBdElHbDBkMlJtSUNvZ2FYUjNaR1pmTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwZEhka1psOGdQU0J5ZEhka1ppQXFJR2wwZDJSbVh5QXJJR2wwZDJSbUlDb2djblIzWkdaZk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY25SM1pHWmZJRDBnY25nN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbWQxWlhOelRHVnVNVE5pSUQwZ1puVnVZM1JwYjI0Z1ozVmxjM05NWlc0eE0ySWdLRzRzSUcwcElIdGNiaUFnSUNCMllYSWdUaUE5SUUxaGRHZ3ViV0Y0S0cwc0lHNHBJSHdnTVR0Y2JpQWdJQ0IyWVhJZ2IyUmtJRDBnVGlBbUlERTdYRzRnSUNBZ2RtRnlJR2tnUFNBd08xeHVJQ0FnSUdadmNpQW9UaUE5SUU0Z0x5QXlJSHdnTURzZ1Rqc2dUaUE5SUU0Z1BqNCtJREVwSUh0Y2JpQWdJQ0FnSUdrckt6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnTVNBOFBDQnBJQ3NnTVNBcklHOWtaRHRjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVqYjI1cWRXZGhkR1VnUFNCbWRXNWpkR2x2YmlCamIyNXFkV2RoZEdVZ0tISjNjeXdnYVhkekxDQk9LU0I3WEc0Z0lDQWdhV1lnS0U0Z1BEMGdNU2tnY21WMGRYSnVPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPSUM4Z01qc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhKM2MxdHBYVHRjYmx4dUlDQWdJQ0FnY25kelcybGRJRDBnY25kelcwNGdMU0JwSUMwZ01WMDdYRzRnSUNBZ0lDQnlkM05iVGlBdElHa2dMU0F4WFNBOUlIUTdYRzVjYmlBZ0lDQWdJSFFnUFNCcGQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUdsM2MxdHBYU0E5SUMxcGQzTmJUaUF0SUdrZ0xTQXhYVHRjYmlBZ0lDQWdJR2wzYzF0T0lDMGdhU0F0SURGZElEMGdMWFE3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbTV2Y20xaGJHbDZaVEV6WWlBOUlHWjFibU4wYVc5dUlHNXZjbTFoYkdsNlpURXpZaUFvZDNNc0lFNHBJSHRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCTllYUm9Mbkp2ZFc1a0tIZHpXeklnS2lCcElDc2dNVjBnTHlCT0tTQXFJREI0TWpBd01DQXJYRzRnSUNBZ0lDQWdJRTFoZEdndWNtOTFibVFvZDNOYk1pQXFJR2xkSUM4Z1Rpa2dLMXh1SUNBZ0lDQWdJQ0JqWVhKeWVUdGNibHh1SUNBZ0lDQWdkM05iYVYwZ1BTQjNJQ1lnTUhnelptWm1abVptTzF4dVhHNGdJQ0FnSUNCcFppQW9keUE4SURCNE5EQXdNREF3TUNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlIY2dMeUF3ZURRd01EQXdNREFnZkNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIzY3p0Y2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowTVROaUlEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRERXpZaUFvZDNNc0lHeGxiaXdnY25kekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCallYSnllU0E5SUdOaGNuSjVJQ3NnS0hkelcybGRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lISjNjMXN5SUNvZ2FWMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdJQ0J5ZDNOYk1pQXFJR2tnS3lBeFhTQTlJR05oY25KNUlDWWdNSGd4Wm1abU95QmpZWEp5ZVNBOUlHTmhjbko1SUQ0K1BpQXhNenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRWVdRZ2QybDBhQ0I2WlhKdlpYTmNiaUFnSUNCbWIzSWdLR2tnUFNBeUlDb2diR1Z1T3lCcElEd2dUanNnS3l0cEtTQjdYRzRnSUNBZ0lDQnlkM05iYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHRnpjMlZ5ZENoallYSnllU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NoallYSnllU0FtSUg0d2VERm1abVlwSUQwOVBTQXdLVHRjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV6ZEhWaUlEMGdablZ1WTNScGIyNGdjM1IxWWlBb1Rpa2dlMXh1SUNBZ0lIWmhjaUJ3YUNBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdjR2hiYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCd2FEdGNiaUFnZlR0Y2JseHVJQ0JHUmxSTkxuQnliM1J2ZEhsd1pTNXRkV3h3SUQwZ1puVnVZM1JwYjI0Z2JYVnNjQ0FvZUN3Z2VTd2diM1YwS1NCN1hHNGdJQ0FnZG1GeUlFNGdQU0F5SUNvZ2RHaHBjeTVuZFdWemMweGxiakV6WWloNExteGxibWQwYUN3Z2VTNXNaVzVuZEdncE8xeHVYRzRnSUNBZ2RtRnlJSEppZENBOUlIUm9hWE11YldGclpWSkNWQ2hPS1R0Y2JseHVJQ0FnSUhaaGNpQmZJRDBnZEdocGN5NXpkSFZpS0U0cE8xeHVYRzRnSUNBZ2RtRnlJSEozY3lBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnY25kemRDQTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2FYZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNibHh1SUNBZ0lIWmhjaUJ1Y25keklEMGdibVYzSUVGeWNtRjVLRTRwTzF4dUlDQWdJSFpoY2lCdWNuZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNiaUFnSUNCMllYSWdibWwzYzNRZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtMTNjeUE5SUc5MWRDNTNiM0prY3p0Y2JpQWdJQ0J5YlhkekxteGxibWQwYUNBOUlFNDdYRzVjYmlBZ0lDQjBhR2x6TG1OdmJuWmxjblF4TTJJb2VDNTNiM0prY3l3Z2VDNXNaVzVuZEdnc0lISjNjeXdnVGlrN1hHNGdJQ0FnZEdocGN5NWpiMjUyWlhKME1UTmlLSGt1ZDI5eVpITXNJSGt1YkdWdVozUm9MQ0J1Y25kekxDQk9LVHRjYmx4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtISjNjeXdnWHl3Z2NuZHpkQ3dnYVhkemRDd2dUaXdnY21KMEtUdGNiaUFnSUNCMGFHbHpMblJ5WVc1elptOXliU2h1Y25kekxDQmZMQ0J1Y25kemRDd2dibWwzYzNRc0lFNHNJSEppZENrN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElFNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuZHpkRnRwWFNBcUlHNXlkM04wVzJsZElDMGdhWGR6ZEZ0cFhTQXFJRzVwZDNOMFcybGRPMXh1SUNBZ0lDQWdhWGR6ZEZ0cFhTQTlJSEozYzNSYmFWMGdLaUJ1YVhkemRGdHBYU0FySUdsM2MzUmJhVjBnS2lCdWNuZHpkRnRwWFR0Y2JpQWdJQ0FnSUhKM2MzUmJhVjBnUFNCeWVEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbU52Ym1wMVoyRjBaU2h5ZDNOMExDQnBkM04wTENCT0tUdGNiaUFnSUNCMGFHbHpMblJ5WVc1elptOXliU2h5ZDNOMExDQnBkM04wTENCeWJYZHpMQ0JmTENCT0xDQnlZblFwTzF4dUlDQWdJSFJvYVhNdVkyOXVhblZuWVhSbEtISnRkM01zSUY4c0lFNHBPMXh1SUNBZ0lIUm9hWE11Ym05eWJXRnNhWHBsTVROaUtISnRkM01zSUU0cE8xeHVYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnZUM1dVpXZGhkR2wyWlNCZUlIa3VibVZuWVhScGRtVTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJSGd1YkdWdVozUm9JQ3NnZVM1c1pXNW5kR2c3WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFMTFiSFJwY0d4NUlHQjBhR2x6WUNCaWVTQmdiblZ0WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnYjNWMElEMGdibVYzSUVKT0tHNTFiR3dwTzF4dUlDQWdJRzkxZEM1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDQXJJRzUxYlM1c1pXNW5kR2dwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xMWJGUnZLRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmxiWEJzYjNscGJtY2dSa1pVWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0ZFd4bUlEMGdablZ1WTNScGIyNGdiWFZzWmlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdhblZ0WW05TmRXeFVieWgwYUdsekxDQnVkVzBzSUc5MWRDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNHRjR3hoWTJVZ1RYVnNkR2x3YkdsallYUnBiMjVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx0ZFd3Z1BTQm1kVzVqZEdsdmJpQnBiWFZzSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbTExYkZSdktHNTFiU3dnZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHRkV3h1SUQwZ1puVnVZM1JwYjI0Z2FXMTFiRzRnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnYm5WdElEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4SURCNE5EQXdNREF3TUNrN1hHNWNiaUFnSUNBdkx5QkRZWEp5ZVZ4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdkeUE5SUNoMGFHbHpMbmR2Y21SelcybGRJSHdnTUNrZ0tpQnVkVzA3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0FvZHlBbUlEQjRNMlptWm1abVppa2dLeUFvWTJGeWNua2dKaUF3ZURObVptWm1abVlwTzF4dUlDQWdJQ0FnWTJGeWNua2dQajQ5SURJMk8xeHVJQ0FnSUNBZ1kyRnljbmtnS3owZ0tIY2dMeUF3ZURRd01EQXdNREFwSUh3Z01EdGNiaUFnSUNBZ0lDOHZJRTVQVkVVNklHeHZJR2x6SURJM1ltbDBJRzFoZUdsdGRXMWNiaUFnSUNBZ0lHTmhjbko1SUNzOUlHeHZJRDQrUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCc2J5QW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCallYSnllVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvS3lzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJHNGdQU0JtZFc1amRHbHZiaUJ0ZFd4dUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdGRXeHVLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xMWJDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJnZEdocGMyQWdLaUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpjWElnUFNCbWRXNWpkR2x2YmlCcGMzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJYVnNLSFJvYVhNdVkyeHZibVVvS1NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVFdGMGFDNXdiM2NvWUhSb2FYTmdMQ0JnYm5WdFlDbGNiaUFnUWs0dWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlIY2dQU0IwYjBKcGRFRnljbUY1S0c1MWJTazdYRzRnSUNBZ2FXWWdLSGN1YkdWdVozUm9JRDA5UFNBd0tTQnlaWFIxY200Z2JtVjNJRUpPS0RFcE8xeHVYRzRnSUNBZ0x5OGdVMnRwY0NCc1pXRmthVzVuSUhwbGNtOWxjMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZHk1c1pXNW5kR2c3SUdrckt5d2djbVZ6SUQwZ2NtVnpMbk54Y2lncEtTQjdYRzRnSUNBZ0lDQnBaaUFvZDF0cFhTQWhQVDBnTUNrZ1luSmxZV3M3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NzcmFTQThJSGN1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJ4SUQwZ2NtVnpMbk54Y2lncE95QnBJRHdnZHk1c1pXNW5kR2c3SUdrckt5d2djU0E5SUhFdWMzRnlLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSGRiYVYwZ1BUMDlJREFwSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lISmxjeUE5SUhKbGN5NXRkV3dvY1NrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwZFhOb2JHNGdQU0JtZFc1amRHbHZiaUJwZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNGdJQ0FnZG1GeUlHTmhjbko1VFdGemF5QTlJQ2d3ZURObVptWm1abVlnUGo0K0lDZ3lOaUF0SUhJcEtTQThQQ0FvTWpZZ0xTQnlLVHRjYmlBZ0lDQjJZWElnYVR0Y2JseHVJQ0FnSUdsbUlDaHlJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMllYSWdibVYzUTJGeWNua2dQU0IwYUdsekxuZHZjbVJ6VzJsZElDWWdZMkZ5Y25sTllYTnJPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1l5QTlJQ2dvZEdocGN5NTNiM0prYzF0cFhTQjhJREFwSUMwZ2JtVjNRMkZ5Y25rcElEdzhJSEk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqSUh3Z1kyRnljbms3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnYm1WM1EyRnljbmtnUGo0K0lDZ3lOaUF0SUhJcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWTJGeWNua3BJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ3NyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoeklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNCMGFHbHpMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVNBcklITmRJRDBnZEdocGN5NTNiM0prYzF0cFhUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElITTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnS3owZ2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMyaHNiaUE5SUdaMWJtTjBhVzl1SUdsemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kQ0JwYmkxd2JHRmpaVnh1SUNBdkx5Qk9UMVJGT2lCZ2FHbHVkR0FnYVhNZ1lTQnNiM2RsYzNRZ1ltbDBJR0psWm05eVpTQjBjbUZwYkdsdVp5QjZaWEp2WlhOY2JpQWdMeThnVGs5VVJUb2dhV1lnWUdWNGRHVnVaR1ZrWUNCcGN5QndjbVZ6Wlc1MElDMGdhWFFnZDJsc2JDQmlaU0JtYVd4c1pXUWdkMmwwYUNCa1pYTjBjbTk1WldRZ1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZ6YUhKdUlEMGdablZ1WTNScGIyNGdhWFZ6YUhKdUlDaGlhWFJ6TENCb2FXNTBMQ0JsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnYUR0Y2JpQWdJQ0JwWmlBb2FHbHVkQ2tnZTF4dUlDQWdJQ0FnYUNBOUlDaG9hVzUwSUMwZ0tHaHBiblFnSlNBeU5pa3BJQzhnTWpZN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2dnUFNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdUV0YwYUM1dGFXNG9LR0pwZEhNZ0xTQnlLU0F2SURJMkxDQjBhR2x6TG14bGJtZDBhQ2s3WEc0Z0lDQWdkbUZ5SUcxaGMyc2dQU0F3ZURObVptWm1abVlnWGlBb0tEQjRNMlptWm1abVppQStQajRnY2lrZ1BEd2djaWs3WEc0Z0lDQWdkbUZ5SUcxaGMydGxaRmR2Y21SeklEMGdaWGgwWlc1a1pXUTdYRzVjYmlBZ0lDQm9JQzA5SUhNN1hHNGdJQ0FnYUNBOUlFMWhkR2d1YldGNEtEQXNJR2dwTzF4dVhHNGdJQ0FnTHk4Z1JYaDBaVzVrWldRZ2JXOWtaU3dnWTI5d2VTQnRZWE5yWldRZ2NHRnlkRnh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11YkdWdVozUm9JRDBnY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTh0YjNBc0lIZGxJSE5vYjNWc1pDQnViM1FnYlc5MlpTQmhibmwwYUdsdVp5QmhkQ0JoYkd4Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ0xUMGdjenRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmtnS3lCelhUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTUNBbUppQW9ZMkZ5Y25rZ0lUMDlJREFnZkh3Z2FTQStQU0JvS1RzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJQ2hqWVhKeWVTQThQQ0FvTWpZZ0xTQnlLU2tnZkNBb2QyOXlaQ0ErUGo0Z2NpazdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlIZHZjbVFnSmlCdFlYTnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRkIxYzJnZ1kyRnljbWxsWkNCaWFYUnpJR0Z6SUdFZ2JXRnphMXh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lBbUppQmpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWQyOXlaSE5iYldGemEyVmtWMjl5WkhNdWJHVnVaM1JvS3l0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2x6YUhKdUlDaGlhWFJ6TENCb2FXNTBMQ0JsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJQzh2SUZSUFJFOG9hVzVrZFhSdWVTazZJR2x0Y0d4bGJXVnVkQ0J0WlZ4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG01bFoyRjBhWFpsSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFhOb2NtNG9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk5vYVdaMExXeGxablJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbk5vYkc0Z1BTQm1kVzVqZEdsdmJpQnphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYzJoc2JpaGlhWFJ6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFhOb2JHNGdQU0JtZFc1amRHbHZiaUIxYzJoc2JpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVnphR3h1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTm9hV1owTFhKcFoyaDBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXphSEp1SUQwZ1puVnVZM1JwYjI0Z2MyaHliaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWE5vY200b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ6YUhKdUlEMGdablZ1WTNScGIyNGdkWE5vY200Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sMWMyaHliaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVVpYTjBJR2xtSUc0Z1ltbDBJR2x6SUhObGRGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRHVnpkRzRnUFNCbWRXNWpkR2x2YmlCMFpYTjBiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRDQStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZENBbElESTJPMXh1SUNBZ0lIWmhjaUJ6SUQwZ0tHSnBkQ0F0SUhJcElDOGdNalk3WEc0Z0lDQWdkbUZ5SUhFZ1BTQXhJRHc4SUhJN1hHNWNiaUFnSUNBdkx5QkdZWE4wSUdOaGMyVTZJR0pwZENCcGN5QnRkV05vSUdocFoyaGxjaUIwYUdGdUlHRnNiQ0JsZUdsemRHbHVaeUIzYjNKa2MxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4UFNCektTQnlaWFIxY200Z1ptRnNjMlU3WEc1Y2JpQWdJQ0F2THlCRGFHVmpheUJpYVhRZ1lXNWtJSEpsZEhWeWJseHVJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzF0elhUdGNibHh1SUNBZ0lISmxkSFZ5YmlBaElTaDNJQ1lnY1NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzl1YkhrZ2JHOTNaWEp6SUdKcGRITWdiMllnYm5WdFltVnlJQ2hwYmkxd2JHRmpaU2xjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx0WVhOcmJpQTlJR1oxYm1OMGFXOXVJR2x0WVhOcmJpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdZbWwwY3lBOVBUMGdKMjUxYldKbGNpY2dKaVlnWW1sMGN5QStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZEhNZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFJ6SUMwZ2Npa2dMeUF5Tmp0Y2JseHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3TENBbmFXMWhjMnR1SUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaU0J1ZFcxaVpYSnpKeWs3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQRDBnY3lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSElnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCTllYUm9MbTFwYmloekxDQjBhR2x6TG14bGJtZDBhQ2s3WEc1Y2JpQWdJQ0JwWmlBb2NpQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzFoYzJzZ1BTQXdlRE5tWm1abVptWWdYaUFvS0RCNE0yWm1abVptWmlBK1BqNGdjaWtnUER3Z2NpazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvSUMwZ01WMGdKajBnYldGemF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjbHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViV0Z6YTI0Z1BTQm1kVzVqZEdsdmJpQnRZWE5yYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVcxaGMydHVLR0pwZEhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVGa1pDQndiR0ZwYmlCdWRXMWlaWElnWUc1MWJXQWdkRzhnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV1JrYmlBOUlHWjFibU4wYVc5dUlHbGhaR1J1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVJQ0FnSUdsbUlDaHVkVzBnUENBd0tTQnlaWFIxY200Z2RHaHBjeTVwYzNWaWJpZ3RiblZ0S1R0Y2JseHVJQ0FnSUM4dklGQnZjM05wWW14bElITnBaMjRnWTJoaGJtZGxYRzRnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01TQW1KaUFvZEdocGN5NTNiM0prYzFzd1hTQjhJREFwSUR3Z2JuVnRLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0J1ZFcwZ0xTQW9kR2hwY3k1M2IzSmtjMXN3WFNCOElEQXBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2RHaHBjeTVwYzNWaWJpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQlpHUWdkMmwwYUc5MWRDQmphR1ZqYTNOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmFXRmtaRzRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybGhaR1J1SUQwZ1puVnVZM1JwYjI0Z1gybGhaR1J1SUNodWRXMHBJSHRjYmlBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUNzOUlHNTFiVHRjYmx4dUlDQWdJQzh2SUVOaGNuSjVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0FtSmlCMGFHbHpMbmR2Y21SelcybGRJRDQ5SURCNE5EQXdNREF3TURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElDMDlJREI0TkRBd01EQXdNRHRjYmlBZ0lDQWdJR2xtSUNocElEMDlQU0IwYUdsekxteGxibWQwYUNBdElERXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2dNVjBnUFNBeE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwckt6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG0xaGVDaDBhR2x6TG14bGJtZDBhQ3dnYVNBcklERXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzNWaWJpQTlJR1oxYm1OMGFXOXVJR2x6ZFdKdUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHNTFiU0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BDQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwZ1BDQXdLU0J5WlhSMWNtNGdkR2hwY3k1cFlXUmtiaWd0Ym5WdEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVhV0ZrWkc0b2JuVnRLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBdFBTQnVkVzA3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURFZ0ppWWdkR2hwY3k1M2IzSmtjMXN3WFNBOElEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXRkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJEWVhKeWVWeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0FtSmlCMGFHbHpMbmR2Y21SelcybGRJRHdnTURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdLejBnTUhnME1EQXdNREF3TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUF4WFNBdFBTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtRmtaRzRnUFNCbWRXNWpkR2x2YmlCaFpHUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZbTRnUFNCbWRXNWpkR2x2YmlCemRXSnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHpkV0p1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhZbk1nUFNCbWRXNWpkR2x2YmlCcFlXSnpJQ2dwSUh0Y2JpQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWW5NZ1BTQm1kVzVqZEdsdmJpQmhZbk1nS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXRmljeWdwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVhOb2JHNXpkV0p0ZFd3Z1BTQm1kVzVqZEdsdmJpQmZhWE5vYkc1emRXSnRkV3dnS0c1MWJTd2diWFZzTENCemFHbG1kQ2tnZTF4dUlDQWdJSFpoY2lCc1pXNGdQU0J1ZFcwdWJHVnVaM1JvSUNzZ2MyaHBablE3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCMGFHbHpMbDlsZUhCaGJtUW9iR1Z1S1R0Y2JseHVJQ0FnSUhaaGNpQjNPMXh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJrZ0t5QnphR2xtZEYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdkbUZ5SUhKcFoyaDBJRDBnS0c1MWJTNTNiM0prYzF0cFhTQjhJREFwSUNvZ2JYVnNPMXh1SUNBZ0lDQWdkeUF0UFNCeWFXZG9kQ0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnS0hjZ1BqNGdNallwSUMwZ0tDaHlhV2RvZENBdklEQjROREF3TURBd01Da2dmQ0F3S1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5vYVdaMFhTQTlJSGNnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QnBJRHdnZEdocGN5NXNaVzVuZEdnZ0xTQnphR2xtZERzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0tIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnphR2xtZEYwZ1BTQjNJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoallYSnllU0E5UFQwZ01Da2djbVYwZFhKdUlIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJQzh2SUZOMVluUnlZV04wYVc5dUlHOTJaWEptYkc5M1hHNGdJQ0FnWVhOelpYSjBLR05oY25KNUlEMDlQU0F0TVNrN1hHNGdJQ0FnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjNJRDBnTFNoMGFHbHpMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBK1BpQXlOanRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjNJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOTNiM0prUkdsMklEMGdablZ1WTNScGIyNGdYM2R2Y21SRWFYWWdLRzUxYlN3Z2JXOWtaU2tnZTF4dUlDQWdJSFpoY2lCemFHbG1kQ0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdiblZ0TG14bGJtZDBhRHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3k1amJHOXVaU2dwTzF4dUlDQWdJSFpoY2lCaUlEMGdiblZ0TzF4dVhHNGdJQ0FnTHk4Z1RtOXliV0ZzYVhwbFhHNGdJQ0FnZG1GeUlHSm9hU0E5SUdJdWQyOXlaSE5iWWk1c1pXNW5kR2dnTFNBeFhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKb2FVSnBkSE1nUFNCMGFHbHpMbDlqYjNWdWRFSnBkSE1vWW1ocEtUdGNiaUFnSUNCemFHbG1kQ0E5SURJMklDMGdZbWhwUW1sMGN6dGNiaUFnSUNCcFppQW9jMmhwWm5RZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdJZ1BTQmlMblZ6YUd4dUtITm9hV1owS1R0Y2JpQWdJQ0FnSUdFdWFYVnphR3h1S0hOb2FXWjBLVHRjYmlBZ0lDQWdJR0pvYVNBOUlHSXVkMjl5WkhOYllpNXNaVzVuZEdnZ0xTQXhYU0I4SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1NXNXBkR2xoYkdsNlpTQnhkVzkwYVdWdWRGeHVJQ0FnSUhaaGNpQnRJRDBnWVM1c1pXNW5kR2dnTFNCaUxteGxibWQwYUR0Y2JpQWdJQ0IyWVhJZ2NUdGNibHh1SUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdjU0E5SUc1bGR5QkNUaWh1ZFd4c0tUdGNiaUFnSUNBZ0lIRXViR1Z1WjNSb0lEMGdiU0FySURFN1hHNGdJQ0FnSUNCeExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIRXViR1Z1WjNSb0tUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnhMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1pHbG1aaUE5SUdFdVkyeHZibVVvS1M1ZmFYTm9iRzV6ZFdKdGRXd29ZaXdnTVN3Z2JTazdYRzRnSUNBZ2FXWWdLR1JwWm1ZdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUdFZ1BTQmthV1ptTzF4dUlDQWdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJQ0FnY1M1M2IzSmtjMXR0WFNBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJRzBnTFNBeE95QnFJRDQ5SURBN0lHb3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIRnFJRDBnS0dFdWQyOXlaSE5iWWk1c1pXNW5kR2dnS3lCcVhTQjhJREFwSUNvZ01IZzBNREF3TURBd0lDdGNiaUFnSUNBZ0lDQWdLR0V1ZDI5eVpITmJZaTVzWlc1bmRHZ2dLeUJxSUMwZ01WMGdmQ0F3S1R0Y2JseHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ0tIRnFJQzhnWW1ocEtTQnBjeUFvTUhnelptWm1abVptSUNvZ01IZzBNREF3TURBd0lDc2dNSGd6Wm1abVptWm1LU0F2SURCNE1qQXdNREF3TUNCdFlYaGNiaUFnSUNBZ0lDOHZJQ2d3ZURkbVptWm1abVlwWEc0Z0lDQWdJQ0J4YWlBOUlFMWhkR2d1YldsdUtDaHhhaUF2SUdKb2FTa2dmQ0F3TENBd2VETm1abVptWm1ZcE8xeHVYRzRnSUNBZ0lDQmhMbDlwYzJoc2JuTjFZbTExYkNoaUxDQnhhaXdnYWlrN1hHNGdJQ0FnSUNCM2FHbHNaU0FvWVM1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCeGFpMHRPMXh1SUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2dNU3dnYWlrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doWVM1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0V1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hFcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHFYU0E5SUhGcU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2NTa2dlMXh1SUNBZ0lDQWdjUzV6ZEhKcGNDZ3BPMXh1SUNBZ0lIMWNiaUFnSUNCaExuTjBjbWx3S0NrN1hHNWNiaUFnSUNBdkx5QkVaVzV2Y20xaGJHbDZaVnh1SUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuWkdsMkp5QW1KaUJ6YUdsbWRDQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1lTNXBkWE5vY200b2MyaHBablFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQmthWFk2SUhFZ2ZId2diblZzYkN4Y2JpQWdJQ0FnSUcxdlpEb2dZVnh1SUNBZ0lIMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1RrOVVSVG9nTVNrZ1lHMXZaR1ZnSUdOaGJpQmlaU0J6WlhRZ2RHOGdZRzF2WkdBZ2RHOGdjbVZ4ZFdWemRDQnRiMlFnYjI1c2VTeGNiaUFnTHk4Z0lDQWdJQ0FnZEc4Z1lHUnBkbUFnZEc4Z2NtVnhkV1Z6ZENCa2FYWWdiMjVzZVN3Z2IzSWdZbVVnWVdKelpXNTBJSFJ2WEc0Z0lDOHZJQ0FnSUNBZ0lISmxjWFZsYzNRZ1ltOTBhQ0JrYVhZZ0ppQnRiMlJjYmlBZ0x5OGdJQ0FnSUNBZ01pa2dZSEJ2YzJsMGFYWmxZQ0JwY3lCMGNuVmxJR2xtSUhWdWMybG5ibVZrSUcxdlpDQnBjeUJ5WlhGMVpYTjBaV1JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZG0xdlpDQTlJR1oxYm1OMGFXOXVJR1JwZG0xdlpDQW9iblZ0TENCdGIyUmxMQ0J3YjNOcGRHbDJaU2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hiblZ0TG1seldtVnlieWdwS1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJRzVsZHlCQ1RpZ3dLU3hjYmlBZ0lDQWdJQ0FnYlc5a09pQnVaWGNnUWs0b01DbGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR1JwZGl3Z2JXOWtMQ0J5WlhNN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtNWxaeWdwTG1ScGRtMXZaQ2h1ZFcwc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluS1NCN1hHNGdJQ0FnSUNBZ0lHMXZaQ0E5SUhKbGN5NXRiMlF1Ym1WbktDazdYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2wyWlNBbUppQnRiMlF1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdGIyUXVhV0ZrWkNodWRXMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2daR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdVpHbDJiVzlrS0c1MWJTNXVaV2NvS1N3Z2JXOWtaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5iVzlrSnlrZ2UxeHVJQ0FnSUNBZ0lDQmthWFlnUFNCeVpYTXVaR2wyTG01bFp5Z3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JrYVhZNklHUnBkaXhjYmlBZ0lDQWdJQ0FnYlc5a09pQnlaWE11Ylc5a1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ29kR2hwY3k1dVpXZGhkR2wyWlNBbUlHNTFiUzV1WldkaGRHbDJaU2tnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIUm9hWE11Ym1WbktDa3VaR2wyYlc5a0tHNTFiUzV1Wldjb0tTd2diVzlrWlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuWkdsMkp5a2dlMXh1SUNBZ0lDQWdJQ0J0YjJRZ1BTQnlaWE11Ylc5a0xtNWxaeWdwTzF4dUlDQWdJQ0FnSUNCcFppQW9jRzl6YVhScGRtVWdKaVlnYlc5a0xtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdiVzlrTG1semRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhKbGN5NWthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2diVzlrWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVVnWVhRZ2RHaHBjeUJ3YjJsdWRGeHVYRzRnSUNBZ0x5OGdVM1J5YVhBZ1ltOTBhQ0J1ZFcxaVpYSnpJSFJ2SUdGd2NISnZlR2x0WVhSbElITm9hV1owSUhaaGJIVmxYRzRnSUNBZ2FXWWdLRzUxYlM1c1pXNW5kR2dnUGlCMGFHbHpMbXhsYm1kMGFDQjhmQ0IwYUdsekxtTnRjQ2h1ZFcwcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQnVaWGNnUWs0b01Da3NYRzRnSUNBZ0lDQWdJRzF2WkRvZ2RHaHBjMXh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJXWlhKNUlITm9iM0owSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHViR1Z1WjNSb0lEMDlQU0F4S1NCN1hHNGdJQ0FnSUNCcFppQW9iVzlrWlNBOVBUMGdKMlJwZGljcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0JrYVhZNklIUm9hWE11WkdsMmJpaHVkVzB1ZDI5eVpITmJNRjBwTEZ4dUlDQWdJQ0FnSUNBZ0lHMXZaRG9nYm5Wc2JGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JXOWtaU0E5UFQwZ0oyMXZaQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQmthWFk2SUc1MWJHd3NYRzRnSUNBZ0lDQWdJQ0FnYlc5a09pQnVaWGNnUWs0b2RHaHBjeTV0YjJSdUtHNTFiUzUzYjNKa2Mxc3dYU2twWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JtVjNJRUpPS0hSb2FYTXViVzlrYmlodWRXMHVkMjl5WkhOYk1GMHBLVnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZDI5eVpFUnBkaWh1ZFcwc0lHMXZaR1VwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUM4Z1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZGlBOUlHWjFibU4wYVc5dUlHUnBkaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjJScGRpY3NJR1poYkhObEtTNWthWFk3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdSbWx1WkNCZ2RHaHBjMkFnSlNCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViVzlrSUQwZ1puVnVZM1JwYjI0Z2JXOWtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWthWFp0YjJRb2JuVnRMQ0FuYlc5a0p5d2dabUZzYzJVcExtMXZaRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkVzF2WkNBOUlHWjFibU4wYVc5dUlIVnRiMlFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNkdGIyUW5MQ0IwY25WbEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdSbWx1WkNCU2IzVnVaQ2hnZEdocGMyQWdMeUJnYm5WdFlDbGNiaUFnUWs0dWNISnZkRzkwZVhCbExtUnBkbEp2ZFc1a0lEMGdablZ1WTNScGIyNGdaR2wyVW05MWJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQmtiU0E5SUhSb2FYTXVaR2wyYlc5a0tHNTFiU2s3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVZ0xTQmxlR0ZqZENCa2FYWnBjMmx2Ymx4dUlDQWdJR2xtSUNoa2JTNXRiMlF1YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJrYlM1a2FYWTdYRzVjYmlBZ0lDQjJZWElnYlc5a0lEMGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHViVzlrTG1semRXSW9iblZ0S1NBNklHUnRMbTF2WkR0Y2JseHVJQ0FnSUhaaGNpQm9ZV3htSUQwZ2JuVnRMblZ6YUhKdUtERXBPMXh1SUNBZ0lIWmhjaUJ5TWlBOUlHNTFiUzVoYm1Sc2JpZ3hLVHRjYmlBZ0lDQjJZWElnWTIxd0lEMGdiVzlrTG1OdGNDaG9ZV3htS1R0Y2JseHVJQ0FnSUM4dklGSnZkVzVrSUdSdmQyNWNiaUFnSUNCcFppQW9ZMjF3SUR3Z01DQjhmQ0J5TWlBOVBUMGdNU0FtSmlCamJYQWdQVDA5SURBcElISmxkSFZ5YmlCa2JTNWthWFk3WEc1Y2JpQWdJQ0F2THlCU2IzVnVaQ0IxY0Z4dUlDQWdJSEpsZEhWeWJpQmtiUzVrYVhZdWJtVm5ZWFJwZG1VZ0lUMDlJREFnUHlCa2JTNWthWFl1YVhOMVltNG9NU2tnT2lCa2JTNWthWFl1YVdGa1pHNG9NU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2Wkc0Z1BTQm1kVzVqZEdsdmJpQnRiMlJ1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2JuVnRJRHc5SURCNE0yWm1abVptWmlrN1hHNGdJQ0FnZG1GeUlIQWdQU0FvTVNBOFBDQXlOaWtnSlNCdWRXMDdYRzVjYmlBZ0lDQjJZWElnWVdOaklEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ1lXTmpJRDBnS0hBZ0tpQmhZMk1nS3lBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcEtTQWxJRzUxYlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZV05qTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRWx1TFhCc1lXTmxJR1JwZG1semFXOXVJR0o1SUc1MWJXSmxjbHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV1JwZG00Z1BTQm1kVzVqZEdsdmJpQnBaR2wyYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rZ0tpQXdlRFF3TURBd01EQTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ0tIY2dMeUJ1ZFcwcElId2dNRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUFsSUc1MWJUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1a2FYWnVJRDBnWm5WdVkzUnBiMjRnWkdsMmJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFpHbDJiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bFoyTmtJRDBnWm5WdVkzUnBiMjRnWldkalpDQW9jQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHdMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCaGMzTmxjblFvSVhBdWFYTmFaWEp2S0NrcE8xeHVYRzRnSUNBZ2RtRnlJSGdnUFNCMGFHbHpPMXh1SUNBZ0lIWmhjaUI1SUQwZ2NDNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2FXWWdLSGd1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSGdnUFNCNExuVnRiMlFvY0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSGdnUFNCNExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FTQXFJSGdnS3lCQ0lDb2dlU0E5SUhoY2JpQWdJQ0IyWVhJZ1FTQTlJRzVsZHlCQ1RpZ3hLVHRjYmlBZ0lDQjJZWElnUWlBOUlHNWxkeUJDVGlnd0tUdGNibHh1SUNBZ0lDOHZJRU1nS2lCNElDc2dSQ0FxSUhrZ1BTQjVYRzRnSUNBZ2RtRnlJRU1nUFNCdVpYY2dRazRvTUNrN1hHNGdJQ0FnZG1GeUlFUWdQU0J1WlhjZ1FrNG9NU2s3WEc1Y2JpQWdJQ0IyWVhJZ1p5QTlJREE3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9lQzVwYzBWMlpXNG9LU0FtSmlCNUxtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQjRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJSGt1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnS3l0bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQjVjQ0E5SUhrdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ2VIQWdQU0I0TG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9JWGd1YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JwYlNBOUlERTdJQ2g0TG5kdmNtUnpXekJkSUNZZ2FXMHBJRDA5UFNBd0lDWW1JR2tnUENBeU5qc2dLeXRwTENCcGJTQThQRDBnTVNrN1hHNGdJQ0FnSUNCcFppQW9hU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdlQzVwZFhOb2NtNG9hU2s3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hwTFMwZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRUV1YVhOUFpHUW9LU0I4ZkNCQ0xtbHpUMlJrS0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUVFdWFXRmtaQ2g1Y0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JDTG1semRXSW9lSEFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUVFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0lDQWdJRUl1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3TENCcWJTQTlJREU3SUNoNUxuZHZjbVJ6V3pCZElDWWdhbTBwSUQwOVBTQXdJQ1ltSUdvZ1BDQXlOanNnS3l0cUxDQnFiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYWlBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnZVM1cGRYTm9jbTRvYWlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocUxTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0VNdWFYTlBaR1FvS1NCOGZDQkVMbWx6VDJSa0tDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFTXVhV0ZrWkNoNWNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCRUxtbHpkV0lvZUhBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lFTXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0FnSUVRdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoNExtTnRjQ2g1S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhndWFYTjFZaWg1S1R0Y2JpQWdJQ0FnSUNBZ1FTNXBjM1ZpS0VNcE8xeHVJQ0FnSUNBZ0lDQkNMbWx6ZFdJb1JDazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjVMbWx6ZFdJb2VDazdYRzRnSUNBZ0lDQWdJRU11YVhOMVlpaEJLVHRjYmlBZ0lDQWdJQ0FnUkM1cGMzVmlLRUlwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQmhPaUJETEZ4dUlDQWdJQ0FnWWpvZ1JDeGNiaUFnSUNBZ0lHZGpaRG9nZVM1cGRYTm9iRzRvWnlsY2JpQWdJQ0I5TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlJvYVhNZ2FYTWdjbVZrZFdObFpDQnBibU5oY201aGRHbHZiaUJ2WmlCMGFHVWdZbWx1WVhKNUlFVkZRVnh1SUNBdkx5QmhZbTkyWlN3Z1pHVnphV2R1WVhSbFpDQjBieUJwYm5abGNuUWdiV1Z0WW1WeWN5QnZaaUIwYUdWY2JpQWdMeThnWDNCeWFXMWxYeUJtYVdWc1pITWdSaWh3S1NCaGRDQmhJRzFoZUdsdFlXd2djM0JsWldSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJuWnRjQ0E5SUdaMWJtTjBhVzl1SUY5cGJuWnRjQ0FvY0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h3TG01bFoyRjBhWFpsSUQwOVBTQXdLVHRjYmlBZ0lDQmhjM05sY25Rb0lYQXVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdkbUZ5SUdFZ1BTQjBhR2x6TzF4dUlDQWdJSFpoY2lCaUlEMGdjQzVqYkc5dVpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdFZ1BTQmhMblZ0YjJRb2NDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQmhMbU5zYjI1bEtDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSGd4SUQwZ2JtVjNJRUpPS0RFcE8xeHVJQ0FnSUhaaGNpQjRNaUE5SUc1bGR5QkNUaWd3S1R0Y2JseHVJQ0FnSUhaaGNpQmtaV3gwWVNBOUlHSXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIZG9hV3hsSUNoaExtTnRjRzRvTVNrZ1BpQXdJQ1ltSUdJdVkyMXdiaWd4S1NBK0lEQXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnBiU0E5SURFN0lDaGhMbmR2Y21Seld6QmRJQ1lnYVcwcElEMDlQU0F3SUNZbUlHa2dQQ0F5TmpzZ0t5dHBMQ0JwYlNBOFBEMGdNU2s3WEc0Z0lDQWdJQ0JwWmlBb2FTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b2FTazdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaHBMUzBnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIZ3hMbWx6VDJSa0tDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIZ3hMbWxoWkdRb1pHVnNkR0VwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUhneExtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Dd2dhbTBnUFNBeE95QW9ZaTUzYjNKa2Mxc3dYU0FtSUdwdEtTQTlQVDBnTUNBbUppQnFJRHdnTWpZN0lDc3JhaXdnYW0wZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHb2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHSXVhWFZ6YUhKdUtHb3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9haTB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNaTVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNaTVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1pNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHRXVZMjF3S0dJcElENDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBjM1ZpS0dJcE8xeHVJQ0FnSUNBZ0lDQjRNUzVwYzNWaUtIZ3lLVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR0l1YVhOMVlpaGhLVHRjYmlBZ0lDQWdJQ0FnZURJdWFYTjFZaWg0TVNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvWVM1amJYQnVLREVwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjRNVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZURJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tISmxjeTVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpMbWxoWkdRb2NDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVoyTmtJRDBnWm5WdVkzUnBiMjRnWjJOa0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzUxYlM1aFluTW9LVHRjYmlBZ0lDQnBaaUFvYm5WdExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2RHaHBjeTVoWW5Nb0tUdGNibHh1SUNBZ0lIWmhjaUJoSUQwZ2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbU5zYjI1bEtDazdYRzRnSUNBZ1lTNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdZaTV1WldkaGRHbDJaU0E5SURBN1hHNWNiaUFnSUNBdkx5QlNaVzF2ZG1VZ1kyOXRiVzl1SUdaaFkzUnZjaUJ2WmlCMGQyOWNiaUFnSUNCbWIzSWdLSFpoY2lCemFHbG1kQ0E5SURBN0lHRXVhWE5GZG1WdUtDa2dKaVlnWWk1cGMwVjJaVzRvS1RzZ2MyaHBablFyS3lrZ2UxeHVJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQmlMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ZUzVwYzBWMlpXNG9LU2tnZTF4dUlDQWdJQ0FnSUNCaExtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lIZG9hV3hsSUNoaUxtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQWdJR0l1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMllYSWdjaUE5SUdFdVkyMXdLR0lwTzF4dUlDQWdJQ0FnYVdZZ0tISWdQQ0F3S1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRk4zWVhBZ1lHRmdJR0Z1WkNCZ1ltQWdkRzhnYldGclpTQmdZV0FnWVd4M1lYbHpJR0pwWjJkbGNpQjBhR0Z1SUdCaVlGeHVJQ0FnSUNBZ0lDQjJZWElnZENBOUlHRTdYRzRnSUNBZ0lDQWdJR0VnUFNCaU8xeHVJQ0FnSUNBZ0lDQmlJRDBnZER0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2NpQTlQVDBnTUNCOGZDQmlMbU50Y0c0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNCOUlIZG9hV3hsSUNoMGNuVmxLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQmlMbWwxYzJoc2JpaHphR2xtZENrN1hHNGdJSDA3WEc1Y2JpQWdMeThnU1c1MlpYSjBJRzUxYldKbGNpQnBiaUIwYUdVZ1ptbGxiR1FnUmlodWRXMHBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiblp0SUQwZ1puVnVZM1JwYjI0Z2FXNTJiU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaV2RqWkNodWRXMHBMbUV1ZFcxdlpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzBWMlpXNGdQU0JtZFc1amRHbHZiaUJwYzBWMlpXNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW9kR2hwY3k1M2IzSmtjMXN3WFNBbUlERXBJRDA5UFNBd08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMwOWtaQ0E5SUdaMWJtTjBhVzl1SUdselQyUmtJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01UdGNiaUFnZlR0Y2JseHVJQ0F2THlCQmJtUWdabWx5YzNRZ2QyOXlaQ0JoYm1RZ2JuVnRYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhibVJzYmlBOUlHWjFibU4wYVc5dUlHRnVaR3h1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUzYjNKa2Mxc3dYU0FtSUc1MWJUdGNiaUFnZlR0Y2JseHVJQ0F2THlCSmJtTnlaVzFsYm5RZ1lYUWdkR2hsSUdKcGRDQndiM05wZEdsdmJpQnBiaTFzYVc1bFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aWFXNWpiaUE5SUdaMWJtTjBhVzl1SUdKcGJtTnVJQ2hpYVhRcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZENBOVBUMGdKMjUxYldKbGNpY3BPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMElDMGdjaWtnTHlBeU5qdGNiaUFnSUNCMllYSWdjU0E5SURFZ1BEd2djanRjYmx4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlRvZ1ltbDBJR2x6SUcxMVkyZ2dhR2xuYUdWeUlIUm9ZVzRnWVd4c0lHVjRhWE4wYVc1bklIZHZjbVJ6WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEdzlJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMlY0Y0dGdVpDaHpJQ3NnTVNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczTmRJSHc5SUhFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnWW1sMElHRnVaQ0J3Y205d1lXZGhkR1VzSUdsbUlHNWxaV1JsWkZ4dUlDQWdJSFpoY2lCallYSnllU0E5SUhFN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITTdJR05oY25KNUlDRTlQU0F3SUNZbUlHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdkeUFyUFNCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUErUGo0Z01qWTdYRzRnSUNBZ0lDQjNJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IzTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCallYSnllVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvS3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzFwbGNtOGdQU0JtZFc1amRHbHZiaUJwYzFwbGNtOGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG14bGJtZDBhQ0E5UFQwZ01TQW1KaUIwYUdsekxuZHZjbVJ6V3pCZElEMDlQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYlhCdUlEMGdablZ1WTNScGIyNGdZMjF3YmlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc1bFoyRjBhWFpsSUQwZ2JuVnRJRHdnTUR0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUNGdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SUMweE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUQwOVBTQXdJQ1ltSUc1bFoyRjBhWFpsS1NCeVpYUjFjbTRnTVR0Y2JseHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnTVNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0c1bFoyRjBhWFpsS1NCN1hHNGdJQ0FnSUNBZ0lHNTFiU0E5SUMxdWRXMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUxDQW5UblZ0WW1WeUlHbHpJSFJ2YnlCaWFXY25LVHRjYmx4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6V3pCZElId2dNRHRjYmlBZ0lDQWdJSEpsY3lBOUlIY2dQVDA5SUc1MWJTQS9JREFnT2lCM0lEd2diblZ0SUQ4Z0xURWdPaUF4TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2NtVjBkWEp1SUMxeVpYTWdmQ0F3TzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRMjl0Y0dGeVpTQjBkMjhnYm5WdFltVnljeUJoYm1RZ2NtVjBkWEp1T2x4dUlDQXZMeUF4SUMwZ2FXWWdZSFJvYVhOZ0lENGdZRzUxYldCY2JpQWdMeThnTUNBdElHbG1JR0IwYUdsellDQTlQU0JnYm5WdFlGeHVJQ0F2THlBdE1TQXRJR2xtSUdCMGFHbHpZQ0E4SUdCdWRXMWdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWpiWEFnUFNCbWRXNWpkR2x2YmlCamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2NtVjBkWEp1SUMweE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUQwOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RHaHBjeTUxWTIxd0tHNTFiU2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlZ1YzJsbmJtVmtJR052YlhCaGNtbHpiMjVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZqYlhBZ1BTQm1kVzVqZEdsdmJpQjFZMjF3SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJCZENCMGFHbHpJSEJ2YVc1MElHSnZkR2dnYm5WdFltVnljeUJvWVhabElIUm9aU0J6WVcxbElITnBaMjVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdNVHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BDQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdMVEU3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUdFZ1BTQjBhR2x6TG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21SelcybGRJSHdnTUR0Y2JseHVJQ0FnSUNBZ2FXWWdLR0VnUFQwOUlHSXBJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdhV1lnS0dFZ1BDQmlLU0I3WEc0Z0lDQWdJQ0FnSUhKbGN5QTlJQzB4TzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaElENGdZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F4TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMGJpQTlJR1oxYm1OMGFXOXVJR2QwYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW5kQ0E5SUdaMWJtTjBhVzl1SUdkMElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1JsYmlBOUlHWjFibU4wYVc5dUlHZDBaVzRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0c0b2JuVnRLU0ErUFNBd08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVWdQU0JtZFc1amRHbHZiaUJuZEdVZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNDaHVkVzBwSUQ0OUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExteDBiaUE5SUdaMWJtTjBhVzl1SUd4MGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElEMDlQU0F0TVR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhRZ1BTQm1kVzVqZEdsdmJpQnNkQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SUMweE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1c2RHVnVJRDBnWm5WdVkzUnBiMjRnYkhSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElEdzlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlNBOUlHWjFibU4wYVc5dUlHeDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQRDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhGdUlEMGdablZ1WTNScGIyNGdaWEZ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtVnhJRDBnWm5WdVkzUnBiMjRnWlhFZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNDaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dlhHNGdJQzh2SUVFZ2NtVmtkV05sSUdOdmJuUmxlSFFzSUdOdmRXeGtJR0psSUhWemFXNW5JRzF2Ym5SbmIyMWxjbmtnYjNJZ2MyOXRaWFJvYVc1bklHSmxkSFJsY2l3Z1pHVndaVzVrYVc1blhHNGdJQzh2SUc5dUlIUm9aU0JnYldBZ2FYUnpaV3htTGx4dUlDQXZMMXh1SUNCQ1RpNXlaV1FnUFNCbWRXNWpkR2x2YmlCeVpXUWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VtVmtLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlVtVmtJRDBnWm5WdVkzUnBiMjRnZEc5U1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2doZEdocGN5NXlaV1FzSUNkQmJISmxZV1I1SUdFZ2JuVnRZbVZ5SUdsdUlISmxaSFZqZEdsdmJpQmpiMjUwWlhoMEp5azdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBc0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEJ2YzJsMGFYWmxjeWNwTzF4dUlDQWdJSEpsZEhWeWJpQmpkSGd1WTI5dWRtVnlkRlJ2S0hSb2FYTXBMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bWNtOXRVbVZrSUQwZ1puVnVZM1JwYjI0Z1puSnZiVkpsWkNBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBblpuSnZiVkpsWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnYm5WdFltVnljeUJwYmlCeVpXUjFZM1JwYjI0Z1kyOXVkR1Y0ZENjcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzVqYjI1MlpYSjBSbkp2YlNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMlp2Y21ObFVtVmtJRDBnWm5WdVkzUnBiMjRnWDJadmNtTmxVbVZrSUNoamRIZ3BJSHRjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJR04wZUR0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Wm05eVkyVlNaV1FnUFNCbWRXNWpkR2x2YmlCbWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlptOXlZMlZTWldRb1kzUjRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrUVdSa0lEMGdablZ1WTNScGIyNGdjbVZrUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSQlpHUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtRmtaQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlFXUmtJRDBnWm5WdVkzUnBiMjRnY21Wa1NVRmtaQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVdGa1pDaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUZFdJZ1BTQm1kVzVqZEdsdmJpQnlaV1JUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOMVlpQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMzVmlLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVsVGRXSWdQU0JtZFc1amRHbHZiaUJ5WldSSlUzVmlJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUkpVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzVwYzNWaUtIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRk5vYkNBOUlHWjFibU4wYVc5dUlISmxaRk5vYkNBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTJoc0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1emFHd29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVFhWc0lEMGdablZ1WTNScGIyNGdjbVZrVFhWc0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSTmRXd2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVUSW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVsTmRXd2dQU0JtZFc1amRHbHZiaUJ5WldSSlRYVnNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUk5kV3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVElvZEdocGN5d2diblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVhVzExYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUlRjWElnUFNCbWRXNWpkR2x2YmlCeVpXUlRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpGTnhjaUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeUtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzRnlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTnhjaUFvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1NWTnhjaUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUY1hWaGNtVWdjbTl2ZENCdmRtVnlJSEJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNuUWdQU0JtZFc1amRHbHZiaUJ5WldSVGNYSjBJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGNYSjBJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3hLSFJvYVhNcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6Y1hKMEtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSmJuWnRJRDBnWm5WdVkzUnBiMjRnY21Wa1NXNTJiU0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1NXNTJiU0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVc1MmJTaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdibVZuWVhScGRtVWdZMnh2Ym1VZ2IyWWdZSFJvYVhOZ0lDVWdZSEpsWkNCdGIyUjFiRzlnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldST1pXY2dQU0JtZFc1amRHbHZiaUJ5WldST1pXY2dLQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkU1bFp5QjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVibVZuS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JRYjNjZ1BTQm1kVzVqZEdsdmJpQnlaV1JRYjNjZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDQW1KaUFoYm5WdExuSmxaQ3dnSjNKbFpGQnZkeWh1YjNKdFlXeE9kVzBwSnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5CdmR5aDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUM4dklGQnlhVzFsSUc1MWJXSmxjbk1nZDJsMGFDQmxabVpwWTJsbGJuUWdjbVZrZFdOMGFXOXVYRzRnSUhaaGNpQndjbWx0WlhNZ1BTQjdYRzRnSUNBZ2F6STFOam9nYm5Wc2JDeGNiaUFnSUNCd01qSTBPaUJ1ZFd4c0xGeHVJQ0FnSUhBeE9USTZJRzUxYkd3c1hHNGdJQ0FnY0RJMU5URTVPaUJ1ZFd4c1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhObGRXUnZMVTFsY25ObGJtNWxJSEJ5YVcxbFhHNGdJR1oxYm1OMGFXOXVJRTFRY21sdFpTQW9ibUZ0WlN3Z2NDa2dlMXh1SUNBZ0lDOHZJRkFnUFNBeUlGNGdUaUF0SUV0Y2JpQWdJQ0IwYUdsekxtNWhiV1VnUFNCdVlXMWxPMXh1SUNBZ0lIUm9hWE11Y0NBOUlHNWxkeUJDVGlod0xDQXhOaWs3WEc0Z0lDQWdkR2hwY3k1dUlEMGdkR2hwY3k1d0xtSnBkRXhsYm1kMGFDZ3BPMXh1SUNBZ0lIUm9hWE11YXlBOUlHNWxkeUJDVGlneEtTNXBkWE5vYkc0b2RHaHBjeTV1S1M1cGMzVmlLSFJvYVhNdWNDazdYRzVjYmlBZ0lDQjBhR2x6TG5SdGNDQTlJSFJvYVhNdVgzUnRjQ2dwTzF4dUlDQjlYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1ZmRHMXdJRDBnWm5WdVkzUnBiMjRnWDNSdGNDQW9LU0I3WEc0Z0lDQWdkbUZ5SUhSdGNDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0IwYlhBdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb1RXRjBhQzVqWldsc0tIUm9hWE11YmlBdklERXpLU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUnRjRHRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG1seVpXUjFZMlVnUFNCbWRXNWpkR2x2YmlCcGNtVmtkV05sSUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJCYzNOMWJXVnpJSFJvWVhRZ1lHNTFiV0FnYVhNZ2JHVnpjeUIwYUdGdUlHQlFYakpnWEc0Z0lDQWdMeThnYm5WdElEMGdTRWtnS2lBb01pQmVJRTRnTFNCTEtTQXJJRWhKSUNvZ1N5QXJJRXhQSUQwZ1NFa2dLaUJMSUNzZ1RFOGdLRzF2WkNCUUtWeHVJQ0FnSUhaaGNpQnlJRDBnYm5WdE8xeHVJQ0FnSUhaaGNpQnliR1Z1TzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2RHaHBjeTV6Y0d4cGRDaHlMQ0IwYUdsekxuUnRjQ2s3WEc0Z0lDQWdJQ0J5SUQwZ2RHaHBjeTVwYlhWc1N5aHlLVHRjYmlBZ0lDQWdJSElnUFNCeUxtbGhaR1FvZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY214bGJpQTlJSEl1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZlNCM2FHbHNaU0FvY214bGJpQStJSFJvYVhNdWJpazdYRzVjYmlBZ0lDQjJZWElnWTIxd0lEMGdjbXhsYmlBOElIUm9hWE11YmlBL0lDMHhJRG9nY2k1MVkyMXdLSFJvYVhNdWNDazdYRzRnSUNBZ2FXWWdLR050Y0NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQnlMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0J5TG1semRXSW9kR2hwY3k1d0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY2k1emRISnBjQ2dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUUxUWNtbHRaUzV3Y205MGIzUjVjR1V1YzNCc2FYUWdQU0JtZFc1amRHbHZiaUJ6Y0d4cGRDQW9hVzV3ZFhRc0lHOTFkQ2tnZTF4dUlDQWdJR2x1Y0hWMExtbDFjMmh5YmloMGFHbHpMbTRzSURBc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGJYVnNTeUE5SUdaMWJtTjBhVzl1SUdsdGRXeExJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtbHRkV3dvZEdocGN5NXJLVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCTE1qVTJJQ2dwSUh0Y2JpQWdJQ0JOVUhKcGJXVXVZMkZzYkNoY2JpQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQW5hekkxTmljc1hHNGdJQ0FnSUNBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ptWm1abVpqTW1ZbktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aExNalUyTENCTlVISnBiV1VwTzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExuTndiR2wwSUQwZ1puVnVZM1JwYjI0Z2MzQnNhWFFnS0dsdWNIVjBMQ0J2ZFhSd2RYUXBJSHRjYmlBZ0lDQXZMeUF5TlRZZ1BTQTVJQ29nTWpZZ0t5QXlNbHh1SUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWTdYRzVjYmlBZ0lDQjJZWElnYjNWMFRHVnVJRDBnVFdGMGFDNXRhVzRvYVc1d2RYUXViR1Z1WjNSb0xDQTVLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzkxZEV4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCdmRYUndkWFF1ZDI5eVpITmJhVjBnUFNCcGJuQjFkQzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzRnSUNBZ2IzVjBjSFYwTG14bGJtZDBhQ0E5SUc5MWRFeGxianRjYmx4dUlDQWdJR2xtSUNocGJuQjFkQzVzWlc1bmRHZ2dQRDBnT1NrZ2UxeHVJQ0FnSUNBZ2FXNXdkWFF1ZDI5eVpITmJNRjBnUFNBd08xeHVJQ0FnSUNBZ2FXNXdkWFF1YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJUYUdsbWRDQmllU0E1SUd4cGJXSnpYRzRnSUNBZ2RtRnlJSEJ5WlhZZ1BTQnBibkIxZEM1M2IzSmtjMXM1WFR0Y2JpQWdJQ0J2ZFhSd2RYUXVkMjl5WkhOYmIzVjBjSFYwTG14bGJtZDBhQ3NyWFNBOUlIQnlaWFlnSmlCdFlYTnJPMXh1WEc0Z0lDQWdabTl5SUNocElEMGdNVEE3SUdrZ1BDQnBibkIxZEM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUc1bGVIUWdQU0JwYm5CMWRDNTNiM0prYzF0cFhTQjhJREE3WEc0Z0lDQWdJQ0JwYm5CMWRDNTNiM0prYzF0cElDMGdNVEJkSUQwZ0tDaHVaWGgwSUNZZ2JXRnpheWtnUER3Z05Da2dmQ0FvY0hKbGRpQStQajRnTWpJcE8xeHVJQ0FnSUNBZ2NISmxkaUE5SUc1bGVIUTdYRzRnSUNBZ2ZWeHVJQ0FnSUhCeVpYWWdQajQrUFNBeU1qdGNiaUFnSUNCcGJuQjFkQzUzYjNKa2MxdHBJQzBnTVRCZElEMGdjSEpsZGp0Y2JpQWdJQ0JwWmlBb2NISmxkaUE5UFQwZ01DQW1KaUJwYm5CMWRDNXNaVzVuZEdnZ1BpQXhNQ2tnZTF4dUlDQWdJQ0FnYVc1d2RYUXViR1Z1WjNSb0lDMDlJREV3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBibkIxZEM1c1pXNW5kR2dnTFQwZ09UdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdTekkxTmk1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ0x5OGdTeUE5SURCNE1UQXdNREF3TTJReElEMGdXeUF3ZURRd0xDQXdlRE5rTVNCZFhHNGdJQ0FnYm5WdExuZHZjbVJ6VzI1MWJTNXNaVzVuZEdoZElEMGdNRHRjYmlBZ0lDQnVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhQ0FySURGZElEMGdNRHRjYmlBZ0lDQnVkVzB1YkdWdVozUm9JQ3M5SURJN1hHNWNiaUFnSUNBdkx5QmliM1Z1WkdWa0lHRjBPaUF3ZURRd0lDb2dNSGd6Wm1abVptWm1JQ3NnTUhnelpEQWdQU0F3ZURFd01EQXdNRE01TUZ4dUlDQWdJSFpoY2lCc2J5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM0lEMGdiblZ0TG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lHeHZJQ3M5SUhjZ0tpQXdlRE5rTVR0Y2JpQWdJQ0FnSUc1MWJTNTNiM0prYzF0cFhTQTlJR3h2SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ2JHOGdQU0IzSUNvZ01IZzBNQ0FySUNnb2JHOGdMeUF3ZURRd01EQXdNREFwSUh3Z01DazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCc1pXNW5kR2dnY21Wa2RXTjBhVzl1WEc0Z0lDQWdhV1lnS0c1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0FnSUdsbUlDaHVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhQ0F0SURGZElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHNTFiUzVzWlc1bmRHZ3RMVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc1MWJUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJRTWpJMElDZ3BJSHRjYmlBZ0lDQk5VSEpwYldVdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBbmNESXlOQ2NzWEc0Z0lDQWdJQ0FuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnTURBd01EQXdNREFnTURBd01EQXdNREFnTURBd01EQXdNREVuS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loUU1qSTBMQ0JOVUhKcGJXVXBPMXh1WEc0Z0lHWjFibU4wYVc5dUlGQXhPVElnS0NrZ2UxeHVJQ0FnSUUxUWNtbHRaUzVqWVd4c0tGeHVJQ0FnSUNBZ2RHaHBjeXhjYmlBZ0lDQWdJQ2R3TVRreUp5eGNiaUFnSUNBZ0lDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVpTQm1abVptWm1abVppQm1abVptWm1abVppY3BPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRkF4T1RJc0lFMVFjbWx0WlNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJMU5URTVJQ2dwSUh0Y2JpQWdJQ0F2THlBeUlGNGdNalUxSUMwZ01UbGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuTWpVMU1Ua25MRnh1SUNBZ0lDQWdKemRtWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1abUlHWm1abVptWm1abVptWm1abVptWldRbktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aFFNalUxTVRrc0lFMVFjbWx0WlNrN1hHNWNiaUFnVURJMU5URTVMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCTElEMGdNSGd4TTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCdWRXMHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQm9hU0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlEQjRNVE1nS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCc2J5QTlJR2hwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ2FHa2dQajQrUFNBeU5qdGNibHh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMmxkSUQwZ2JHODdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlHaHBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9ZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0t5dGRJRDBnWTJGeWNuazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwN1hHNGdJSDA3WEc1Y2JpQWdMeThnUlhod2IzSjBaV1FnYlc5emRHeDVJR1p2Y2lCMFpYTjBhVzVuSUhCMWNuQnZjMlZ6TENCMWMyVWdjR3hoYVc0Z2JtRnRaU0JwYm5OMFpXRmtYRzRnSUVKT0xsOXdjbWx0WlNBOUlHWjFibU4wYVc5dUlIQnlhVzFsSUNodVlXMWxLU0I3WEc0Z0lDQWdMeThnUTJGamFHVmtJSFpsY25OcGIyNGdiMllnY0hKcGJXVmNiaUFnSUNCcFppQW9jSEpwYldWelcyNWhiV1ZkS1NCeVpYUjFjbTRnY0hKcGJXVnpXMjVoYldWZE8xeHVYRzRnSUNBZ2RtRnlJSEJ5YVcxbE8xeHVJQ0FnSUdsbUlDaHVZVzFsSUQwOVBTQW5hekkxTmljcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRXN5TlRZb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNakkwSnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREl5TkNncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXhPVEluS1NCN1hHNGdJQ0FnSUNCd2NtbHRaU0E5SUc1bGR5QlFNVGt5S0NrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodVlXMWxJRDA5UFNBbmNESTFOVEU1SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREkxTlRFNUtDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1cmJtOTNiaUJ3Y21sdFpTQW5JQ3NnYm1GdFpTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhCeWFXMWxjMXR1WVcxbFhTQTlJSEJ5YVcxbE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhCeWFXMWxPMXh1SUNCOU8xeHVYRzRnSUM4dlhHNGdJQzh2SUVKaGMyVWdjbVZrZFdOMGFXOXVJR1Z1WjJsdVpWeHVJQ0F2TDF4dUlDQm1kVzVqZEdsdmJpQlNaV1FnS0cwcElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHMGdQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnSUNCMllYSWdjSEpwYldVZ1BTQkNUaTVmY0hKcGJXVW9iU2s3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J3Y21sdFpTNXdPMXh1SUNBZ0lDQWdkR2hwY3k1d2NtbHRaU0E5SUhCeWFXMWxPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGMzTmxjblFvYlM1bmRHNG9NU2tzSUNkdGIyUjFiSFZ6SUcxMWMzUWdZbVVnWjNKbFlYUmxjaUIwYUdGdUlERW5LVHRjYmlBZ0lDQWdJSFJvYVhNdWJTQTlJRzA3WEc0Z0lDQWdJQ0IwYUdsekxuQnlhVzFsSUQwZ2JuVnNiRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reElEMGdablZ1WTNScGIyNGdYM1psY21sbWVURWdLR0VwSUh0Y2JpQWdJQ0JoYzNObGNuUW9ZUzV1WldkaGRHbDJaU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdVgzWmxjbWxtZVRJZ1BTQm1kVzVqZEdsdmJpQmZkbVZ5YVdaNU1pQW9ZU3dnWWlrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvWVM1dVpXZGhkR2wyWlNCOElHSXVibVZuWVhScGRtVXBJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0JoYzNObGNuUW9ZUzV5WldRZ0ppWWdZUzV5WldRZ1BUMDlJR0l1Y21Wa0xGeHVJQ0FnSUNBZ0ozSmxaQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1sdGIyUWdQU0JtZFc1amRHbHZiaUJwYlc5a0lDaGhLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVjSEpwYldVcElISmxkSFZ5YmlCMGFHbHpMbkJ5YVcxbExtbHlaV1IxWTJVb1lTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0FnSUhKbGRIVnliaUJoTG5WdGIyUW9kR2hwY3k1dEtTNWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dVpXY2dQU0JtZFc1amRHbHZiaUJ1WldjZ0tHRXBJSHRjYmlBZ0lDQnBaaUFvWVM1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdFdVkyeHZibVVvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dExuTjFZaWhoS1M1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1WVdSa0tHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjeTVmWm05eVkyVlNaV1FvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXBZV1JrSUQwZ1puVnVZM1JwYjI0Z2FXRmtaQ0FvWVN3Z1lpa2dlMXh1SUNBZ0lIUm9hWE11WDNabGNtbG1lVElvWVN3Z1lpazdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdZUzVwWVdSa0tHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbk4xWWlBOUlHWjFibU4wYVc5dUlITjFZaUFvWVN3Z1lpa2dlMXh1SUNBZ0lIUm9hWE11WDNabGNtbG1lVElvWVN3Z1lpazdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdZUzV6ZFdJb1lpazdYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYzNWaUlEMGdablZ1WTNScGIyNGdhWE4xWWlBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWVM1cGMzVmlLR0lwTzF4dUlDQWdJR2xtSUNoeVpYTXVZMjF3Ymlnd0tTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5NXBZV1JrS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXphR3dnUFNCbWRXNWpkR2x2YmlCemFHd2dLR0VzSUc1MWJTa2dlMXh1SUNBZ0lIUm9hWE11WDNabGNtbG1lVEVvWVNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2hoTG5WemFHeHVLRzUxYlNrcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLR0VzSUdJcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3lLR0VzSUdJcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1cGJYVnNLR0lwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaGhMbTExYkNoaUtTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvWVNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRkV3dvWVN3Z1lTNWpiRzl1WlNncEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuTnhjaUE5SUdaMWJtTjBhVzl1SUhOeGNpQW9ZU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xMWJDaGhMQ0JoS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5OeGNuUWdQU0JtZFc1amRHbHZiaUJ6Y1hKMElDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNWNiaUFnSUNCMllYSWdiVzlrTXlBOUlIUm9hWE11YlM1aGJtUnNiaWd6S1R0Y2JpQWdJQ0JoYzNObGNuUW9iVzlrTXlBbElESWdQVDA5SURFcE8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxYRzRnSUNBZ2FXWWdLRzF2WkRNZ1BUMDlJRE1wSUh0Y2JpQWdJQ0FnSUhaaGNpQndiM2NnUFNCMGFHbHpMbTB1WVdSa0tHNWxkeUJDVGlneEtTa3VhWFZ6YUhKdUtESXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Y0c5M0tHRXNJSEJ2ZHlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ZHOXVaV3hzYVMxVGFHRnVhM01nWVd4bmIzSnBkR2h0SUNoVWIzUmhiR3g1SUhWdWIzQjBhVzFwZW1Wa0lHRnVaQ0J6Ykc5M0tWeHVJQ0FnSUM4dlhHNGdJQ0FnTHk4Z1JtbHVaQ0JSSUdGdVpDQlRMQ0IwYUdGMElGRWdLaUF5SUY0Z1V5QTlJQ2hRSUMwZ01TbGNiaUFnSUNCMllYSWdjU0E5SUhSb2FYTXViUzV6ZFdKdUtERXBPMXh1SUNBZ0lIWmhjaUJ6SUQwZ01EdGNiaUFnSUNCM2FHbHNaU0FvSVhFdWFYTmFaWEp2S0NrZ0ppWWdjUzVoYm1Sc2JpZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjeXNyTzF4dUlDQWdJQ0FnY1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZlZ4dUlDQWdJR0Z6YzJWeWRDZ2hjUzVwYzFwbGNtOG9LU2s3WEc1Y2JpQWdJQ0IyWVhJZ2IyNWxJRDBnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNcE8xeHVJQ0FnSUhaaGNpQnVUMjVsSUQwZ2IyNWxMbkpsWkU1bFp5Z3BPMXh1WEc0Z0lDQWdMeThnUm1sdVpDQnhkV0ZrY21GMGFXTWdibTl1TFhKbGMybGtkV1ZjYmlBZ0lDQXZMeUJPVDFSRk9pQk5ZWGdnYVhNZ2MzVmphQ0JpWldOaGRYTmxJRzltSUdkbGJtVnlZV3hwZW1Wa0lGSnBaVzFoYm00Z2FIbHdiM1JvWlhOcGN5NWNiaUFnSUNCMllYSWdiSEJ2ZHlBOUlIUm9hWE11YlM1emRXSnVLREVwTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0IyWVhJZ2VpQTlJSFJvYVhNdWJTNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjZJRDBnYm1WM0lFSk9LRElnS2lCNklDb2dlaWt1ZEc5U1pXUW9kR2hwY3lrN1hHNWNiaUFnSUNCM2FHbHNaU0FvZEdocGN5NXdiM2NvZWl3Z2JIQnZkeWt1WTIxd0tHNVBibVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I2TG5KbFpFbEJaR1FvYms5dVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR01nUFNCMGFHbHpMbkJ2ZHloNkxDQnhLVHRjYmlBZ0lDQjJZWElnY2lBOUlIUm9hWE11Y0c5M0tHRXNJSEV1WVdSa2JpZ3hLUzVwZFhOb2NtNG9NU2twTzF4dUlDQWdJSFpoY2lCMElEMGdkR2hwY3k1d2IzY29ZU3dnY1NrN1hHNGdJQ0FnZG1GeUlHMGdQU0J6TzF4dUlDQWdJSGRvYVd4bElDaDBMbU50Y0NodmJtVXBJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnZEcxd0lEMGdkRHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QjBiWEF1WTIxd0tHOXVaU2tnSVQwOUlEQTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjBiWEFnUFNCMGJYQXVjbVZrVTNGeUtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmhjM05sY25Rb2FTQThJRzBwTzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0IwYUdsekxuQnZkeWhqTENCdVpYY2dRazRvTVNrdWFYVnphR3h1S0cwZ0xTQnBJQzBnTVNrcE8xeHVYRzRnSUNBZ0lDQnlJRDBnY2k1eVpXUk5kV3dvWWlrN1hHNGdJQ0FnSUNCaklEMGdZaTV5WldSVGNYSW9LVHRjYmlBZ0lDQWdJSFFnUFNCMExuSmxaRTExYkNoaktUdGNiaUFnSUNBZ0lHMGdQU0JwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0dFcElIdGNiaUFnSUNCMllYSWdhVzUySUQwZ1lTNWZhVzUyYlhBb2RHaHBjeTV0S1R0Y2JpQWdJQ0JwWmlBb2FXNTJMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnBibll1Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBMbkpsWkU1bFp5Z3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dsdWRpazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWNHOTNJRDBnWm5WdVkzUnBiMjRnY0c5M0lDaGhMQ0J1ZFcwcElIdGNiaUFnSUNCcFppQW9iblZ0TG1seldtVnlieWdwS1NCeVpYUjFjbTRnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNcE8xeHVJQ0FnSUdsbUlDaHVkVzB1WTIxd2JpZ3hLU0E5UFQwZ01Da2djbVYwZFhKdUlHRXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIWmhjaUIzYVc1a2IzZFRhWHBsSUQwZ05EdGNiaUFnSUNCMllYSWdkMjVrSUQwZ2JtVjNJRUZ5Y21GNUtERWdQRHdnZDJsdVpHOTNVMmw2WlNrN1hHNGdJQ0FnZDI1a1d6QmRJRDBnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNcE8xeHVJQ0FnSUhkdVpGc3hYU0E5SUdFN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlESTdJR2tnUENCM2JtUXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhkdVpGdHBYU0E5SUhSb2FYTXViWFZzS0hkdVpGdHBJQzBnTVYwc0lHRXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjNibVJiTUYwN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQXdPMXh1SUNBZ0lIWmhjaUJqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNCMllYSWdjM1JoY25RZ1BTQnVkVzB1WW1sMFRHVnVaM1JvS0NrZ0pTQXlOanRjYmlBZ0lDQnBaaUFvYzNSaGNuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lITjBZWEowSUQwZ01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hwSUQwZ2JuVnRMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYRzRnSUNBZ0lDQjJZWElnZDI5eVpDQTlJRzUxYlM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQnpkR0Z5ZENBdElERTdJR29nUGowZ01Ec2dhaTB0S1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJpYVhRZ1BTQW9kMjl5WkNBK1BpQnFLU0FtSURFN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhNZ0lUMDlJSGR1WkZzd1hTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdWMzRnlLSEpsY3lrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb1ltbDBJRDA5UFNBd0lDWW1JR04xY25KbGJuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5RZ1BEdzlJREU3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnZkQwZ1ltbDBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1S3lzN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBUR1Z1SUNFOVBTQjNhVzVrYjNkVGFYcGxJQ1ltSUNocElDRTlQU0F3SUh4OElHb2dJVDA5SURBcEtTQmpiMjUwYVc1MVpUdGNibHh1SUNBZ0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG0xMWJDaHlaWE1zSUhkdVpGdGpkWEp5Wlc1MFhTazdYRzRnSUNBZ0lDQWdJR04xY25KbGJuUk1aVzRnUFNBd08xeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSE4wWVhKMElEMGdNalk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUlVieUE5SUdaMWJtTjBhVzl1SUdOdmJuWmxjblJVYnlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzB1ZFcxdlpDaDBhR2x6TG0wcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhJZ1BUMDlJRzUxYlNBL0lISXVZMnh2Ym1Vb0tTQTZJSEk3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBSbkp2YlNBOUlHWjFibU4wYVc5dUlHTnZiblpsY25SR2NtOXRJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2JuVnRMbU5zYjI1bEtDazdYRzRnSUNBZ2NtVnpMbkpsWkNBOUlHNTFiR3c3WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCTmIyNTBaMjl0WlhKNUlHMWxkR2h2WkNCbGJtZHBibVZjYmlBZ0x5OWNibHh1SUNCQ1RpNXRiMjUwSUQwZ1puVnVZM1JwYjI0Z2JXOXVkQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5Qk5iMjUwS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVFc5dWRDQW9iU2tnZTF4dUlDQWdJRkpsWkM1allXeHNLSFJvYVhNc0lHMHBPMXh1WEc0Z0lDQWdkR2hwY3k1emFHbG1kQ0E5SUhSb2FYTXViUzVpYVhSTVpXNW5kR2dvS1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV6YUdsbWRDQWxJREkySUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTm9hV1owSUNzOUlESTJJQzBnS0hSb2FYTXVjMmhwWm5RZ0pTQXlOaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1eUlEMGdibVYzSUVKT0tERXBMbWwxYzJoc2JpaDBhR2x6TG5Ob2FXWjBLVHRjYmlBZ0lDQjBhR2x6TG5JeUlEMGdkR2hwY3k1cGJXOWtLSFJvYVhNdWNpNXpjWElvS1NrN1hHNGdJQ0FnZEdocGN5NXlhVzUySUQwZ2RHaHBjeTV5TGw5cGJuWnRjQ2gwYUdsekxtMHBPMXh1WEc0Z0lDQWdkR2hwY3k1dGFXNTJJRDBnZEdocGN5NXlhVzUyTG0xMWJDaDBhR2x6TG5JcExtbHpkV0p1S0RFcExtUnBkaWgwYUdsekxtMHBPMXh1SUNBZ0lIUm9hWE11YldsdWRpQTlJSFJvYVhNdWJXbHVkaTUxYlc5a0tIUm9hWE11Y2lrN1hHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV5TG5OMVlpaDBhR2x6TG0xcGJuWXBPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRTF2Ym5Rc0lGSmxaQ2s3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZEZSdklEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRGUnZJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0c1MWJTNTFjMmhzYmloMGFHbHpMbk5vYVdaMEtTazdYRzRnSUgwN1hHNWNiaUFnVFc5dWRDNXdjbTkwYjNSNWNHVXVZMjl1ZG1WeWRFWnliMjBnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowUm5KdmJTQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISWdQU0IwYUdsekxtbHRiMlFvYm5WdExtMTFiQ2gwYUdsekxuSnBibllwS1R0Y2JpQWdJQ0J5TG5KbFpDQTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YVcxMWJDQTlJR1oxYm1OMGFXOXVJR2x0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0JwWmlBb1lTNXBjMXBsY204b0tTQjhmQ0JpTG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCaExuZHZjbVJ6V3pCZElEMGdNRHRjYmlBZ0lDQWdJR0V1YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCMElEMGdZUzVwYlhWc0tHSXBPMXh1SUNBZ0lIWmhjaUJqSUQwZ2RDNXRZWE5yYmloMGFHbHpMbk5vYVdaMEtTNXRkV3dvZEdocGN5NXRhVzUyS1M1cGJXRnphMjRvZEdocGN5NXphR2xtZENrdWJYVnNLSFJvYVhNdWJTazdYRzRnSUNBZ2RtRnlJSFVnUFNCMExtbHpkV0lvWXlrdWFYVnphSEp1S0hSb2FYTXVjMmhwWm5RcE8xeHVJQ0FnSUhaaGNpQnlaWE1nUFNCMU8xeHVYRzRnSUNBZ2FXWWdLSFV1WTIxd0tIUm9hWE11YlNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMUxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjFMbWxoWkdRb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCTmIyNTBMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dnS0dFc0lHSXBJSHRjYmlBZ0lDQnBaaUFvWVM1cGMxcGxjbThvS1NCOGZDQmlMbWx6V21WeWJ5Z3BLU0J5WlhSMWNtNGdibVYzSUVKT0tEQXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNibHh1SUNBZ0lIWmhjaUIwSUQwZ1lTNXRkV3dvWWlrN1hHNGdJQ0FnZG1GeUlHTWdQU0IwTG0xaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0xcGJuWXBMbWx0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0S1R0Y2JpQWdJQ0IyWVhJZ2RTQTlJSFF1YVhOMVlpaGpLUzVwZFhOb2NtNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFU3WEc0Z0lDQWdhV1lnS0hVdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cGMzVmlLSFJvYVhNdWJTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDFMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IxTG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1cGJuWnRJRDBnWm5WdVkzUnBiMjRnYVc1MmJTQW9ZU2tnZTF4dUlDQWdJQzh2SUNoQlVpbGVMVEVnS2lCU1hqSWdQU0FvUVY0dE1TQXFJRkplTFRFcElDb2dVbDR5SUQwZ1FWNHRNU0FxSUZKY2JpQWdJQ0IyWVhJZ2NtVnpJRDBnZEdocGN5NXBiVzlrS0dFdVgybHVkbTF3S0hSb2FYTXViU2t1YlhWc0tIUm9hWE11Y2pJcEtUdGNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYm4wcEtIUjVjR1Z2WmlCdGIyUjFiR1VnUFQwOUlDZDFibVJsWm1sdVpXUW5JSHg4SUcxdlpIVnNaU3dnZEdocGN5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9hbGdvcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2FsZ29zLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Jyb3dzZXIvYWxnb3JpdGhtcy5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb25cXFwiKVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2WVd4bmIzTXVhbk0vWldRNVlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXg1UmtGQk1rSWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlluSnZkM05sY21sbWVTMXphV2R1TDJGc1oyOXpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2liVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQnlaWEYxYVhKbEtDY3VMMkp5YjNkelpYSXZZV3huYjNKcGRHaHRjeTVxYzI5dUp5bGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9hbGdvcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvYWxnb3JpdGhtcy5qc29uXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb24gKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IHNoYTIyNFdpdGhSU0FFbmNyeXB0aW9uLCBSU0EtU0hBMjI0LCBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbiwgUlNBLVNIQTI1Niwgc2hhMzg0V2l0aFJTQUVuY3J5cHRpb24sIFJTQS1TSEEzODQsIHNoYTUxMldpdGhSU0FFbmNyeXB0aW9uLCBSU0EtU0hBNTEyLCBSU0EtU0hBMSwgZWNkc2Etd2l0aC1TSEExLCBzaGEyNTYsIHNoYTIyNCwgc2hhMzg0LCBzaGE1MTIsIERTQS1TSEEsIERTQS1TSEExLCBEU0EsIERTQS1XSVRILVNIQTIyNCwgRFNBLVNIQTIyNCwgRFNBLVdJVEgtU0hBMjU2LCBEU0EtU0hBMjU2LCBEU0EtV0lUSC1TSEEzODQsIERTQS1TSEEzODQsIERTQS1XSVRILVNIQTUxMiwgRFNBLVNIQTUxMiwgRFNBLVJJUEVNRDE2MCwgcmlwZW1kMTYwV2l0aFJTQSwgUlNBLVJJUEVNRDE2MCwgbWQ1V2l0aFJTQUVuY3J5cHRpb24sIFJTQS1NRDUsIGRlZmF1bHQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gSlNPTi5wYXJzZShcXFwie1xcXFxcXFwic2hhMjI0V2l0aFJTQUVuY3J5cHRpb25cXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTIyNFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMmQzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwNDA1MDAwNDFjXFxcXFxcXCJ9LFxcXFxcXFwiUlNBLVNIQTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhL3JzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjI0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWNcXFxcXFxcIn0sXFxcXFxcXCJzaGEyNTZXaXRoUlNBRW5jcnlwdGlvblxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjU2XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAzMTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAxMDUwMDA0MjBcXFxcXFxcIn0sXFxcXFxcXCJSU0EtU0hBMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZWNkc2EvcnNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyNTZcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMFxcXFxcXFwifSxcXFxcXFxcInNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uXFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwicnNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEzODRcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCIzMDQxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDIwNTAwMDQzMFxcXFxcXFwifSxcXFxcXFxcIlJTQS1TSEEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJlY2RzYS9yc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTM4NFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwXFxcXFxcXCJ9LFxcXFxcXFwic2hhNTEyV2l0aFJTQUVuY3J5cHRpb25cXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTUxMlxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwNTEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMzA1MDAwNDQwXFxcXFxcXCJ9LFxcXFxcXFwiUlNBLVNIQTUxMlxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhL3JzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhNTEyXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDBcXFxcXFxcIn0sXFxcXFxcXCJSU0EtU0hBMVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMjEzMDA5MDYwNTJiMGUwMzAyMWEwNTAwMDQxNFxcXFxcXFwifSxcXFxcXFxcImVjZHNhLXdpdGgtU0hBMVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGExXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwic2hhMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZWNkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTI1NlxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcInNoYTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyMjRcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJzaGEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJlY2RzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMzg0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwic2hhNTEyXFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZWNkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTUxMlxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1TSEFcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTFcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJEU0EtU0hBMVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1XSVRILVNIQTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjI0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVNIQTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjI0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVdJVEgtU0hBMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyNTZcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJEU0EtU0hBMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyNTZcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJEU0EtV0lUSC1TSEEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTM4NFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1TSEEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTM4NFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1XSVRILVNIQTUxMlxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhNTEyXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVNIQTUxMlxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhNTEyXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVJJUEVNRDE2MFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwicm1kMTYwXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwicmlwZW1kMTYwV2l0aFJTQVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwicm1kMTYwXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0XFxcXFxcXCJ9LFxcXFxcXFwiUlNBLVJJUEVNRDE2MFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwicm1kMTYwXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0XFxcXFxcXCJ9LFxcXFxcXFwibWQ1V2l0aFJTQUVuY3J5cHRpb25cXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcIm1kNVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMFxcXFxcXFwifSxcXFxcXFxcIlJTQS1NRDVcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcIm1kNVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMFxcXFxcXFwifX1cXFwiKTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dlluSnZkM05sY2k5aGJHZHZjbWwwYUcxekxtcHpiMjR1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb25cXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2N1cnZlcy5qc29uXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2N1cnZlcy5qc29uICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IDEuMy4xMzIuMC4xMCwgMS4zLjEzMi4wLjMzLCAxLjIuODQwLjEwMDQ1LjMuMS4xLCAxLjIuODQwLjEwMDQ1LjMuMS43LCAxLjMuMTMyLjAuMzQsIDEuMy4xMzIuMC4zNSwgZGVmYXVsdCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSkge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBKU09OLnBhcnNlKFxcXCJ7XFxcXFxcXCIxLjMuMTMyLjAuMTBcXFxcXFxcIjpcXFxcXFxcInNlY3AyNTZrMVxcXFxcXFwiLFxcXFxcXFwiMS4zLjEzMi4wLjMzXFxcXFxcXCI6XFxcXFxcXCJwMjI0XFxcXFxcXCIsXFxcXFxcXCIxLjIuODQwLjEwMDQ1LjMuMS4xXFxcXFxcXCI6XFxcXFxcXCJwMTkyXFxcXFxcXCIsXFxcXFxcXCIxLjIuODQwLjEwMDQ1LjMuMS43XFxcXFxcXCI6XFxcXFxcXCJwMjU2XFxcXFxcXCIsXFxcXFxcXCIxLjMuMTMyLjAuMzRcXFxcXFxcIjpcXFxcXFxcInAzODRcXFxcXFxcIixcXFxcXFxcIjEuMy4xMzIuMC4zNVxcXFxcXFwiOlxcXFxcXFwicDUyMVxcXFxcXFwifVxcXCIpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2WW5KdmQzTmxjaTlqZFhKMlpYTXVhbk52Ymk1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvY3VydmVzLmpzb25cXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgY3JlYXRlSGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNyZWF0ZS1oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzXFxcIilcXG52YXIgc3RyZWFtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhZGFibGUtc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxcIilcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIHNpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NpZ24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3NpZ24uanNcXFwiKVxcbnZhciB2ZXJpZnkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlcmlmeSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvdmVyaWZ5LmpzXFxcIilcXG5cXG52YXIgYWxnb3JpdGhtcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWxnb3JpdGhtcy5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb25cXFwiKVxcbk9iamVjdC5rZXlzKGFsZ29yaXRobXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xcbiAgYWxnb3JpdGhtc1trZXldLmlkID0gQnVmZmVyLmZyb20oYWxnb3JpdGhtc1trZXldLmlkLCAnaGV4JylcXG4gIGFsZ29yaXRobXNba2V5LnRvTG93ZXJDYXNlKCldID0gYWxnb3JpdGhtc1trZXldXFxufSlcXG5cXG5mdW5jdGlvbiBTaWduIChhbGdvcml0aG0pIHtcXG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXFxuXFxuICB2YXIgZGF0YSA9IGFsZ29yaXRobXNbYWxnb3JpdGhtXVxcbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxcblxcbiAgdGhpcy5faGFzaFR5cGUgPSBkYXRhLmhhc2hcXG4gIHRoaXMuX2hhc2ggPSBjcmVhdGVIYXNoKGRhdGEuaGFzaClcXG4gIHRoaXMuX3RhZyA9IGRhdGEuaWRcXG4gIHRoaXMuX3NpZ25UeXBlID0gZGF0YS5zaWduXFxufVxcbmluaGVyaXRzKFNpZ24sIHN0cmVhbS5Xcml0YWJsZSlcXG5cXG5TaWduLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiBfd3JpdGUgKGRhdGEsIF8sIGRvbmUpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxuICBkb25lKClcXG59XFxuXFxuU2lnbi5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlIChkYXRhLCBlbmMpIHtcXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXFxuXFxuICB0aGlzLl9oYXNoLnVwZGF0ZShkYXRhKVxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuU2lnbi5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ25NZXRob2QgKGtleSwgZW5jKSB7XFxuICB0aGlzLmVuZCgpXFxuICB2YXIgaGFzaCA9IHRoaXMuX2hhc2guZGlnZXN0KClcXG4gIHZhciBzaWcgPSBzaWduKGhhc2gsIGtleSwgdGhpcy5faGFzaFR5cGUsIHRoaXMuX3NpZ25UeXBlLCB0aGlzLl90YWcpXFxuXFxuICByZXR1cm4gZW5jID8gc2lnLnRvU3RyaW5nKGVuYykgOiBzaWdcXG59XFxuXFxuZnVuY3Rpb24gVmVyaWZ5IChhbGdvcml0aG0pIHtcXG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXFxuXFxuICB2YXIgZGF0YSA9IGFsZ29yaXRobXNbYWxnb3JpdGhtXVxcbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxcblxcbiAgdGhpcy5faGFzaCA9IGNyZWF0ZUhhc2goZGF0YS5oYXNoKVxcbiAgdGhpcy5fdGFnID0gZGF0YS5pZFxcbiAgdGhpcy5fc2lnblR5cGUgPSBkYXRhLnNpZ25cXG59XFxuaW5oZXJpdHMoVmVyaWZ5LCBzdHJlYW0uV3JpdGFibGUpXFxuXFxuVmVyaWZ5LnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiBfd3JpdGUgKGRhdGEsIF8sIGRvbmUpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxuICBkb25lKClcXG59XFxuXFxuVmVyaWZ5LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKGRhdGEsIGVuYykge1xcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGVuYylcXG5cXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5WZXJpZnkucHJvdG90eXBlLnZlcmlmeSA9IGZ1bmN0aW9uIHZlcmlmeU1ldGhvZCAoa2V5LCBzaWcsIGVuYykge1xcbiAgaWYgKHR5cGVvZiBzaWcgPT09ICdzdHJpbmcnKSBzaWcgPSBCdWZmZXIuZnJvbShzaWcsIGVuYylcXG5cXG4gIHRoaXMuZW5kKClcXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaC5kaWdlc3QoKVxcbiAgcmV0dXJuIHZlcmlmeShzaWcsIGhhc2gsIGtleSwgdGhpcy5fc2lnblR5cGUsIHRoaXMuX3RhZylcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlU2lnbiAoYWxnb3JpdGhtKSB7XFxuICByZXR1cm4gbmV3IFNpZ24oYWxnb3JpdGhtKVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVWZXJpZnkgKGFsZ29yaXRobSkge1xcbiAgcmV0dXJuIG5ldyBWZXJpZnkoYWxnb3JpdGhtKVxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIFNpZ246IGNyZWF0ZVNpZ24sXFxuICBWZXJpZnk6IGNyZWF0ZVZlcmlmeSxcXG4gIGNyZWF0ZVNpZ246IGNyZWF0ZVNpZ24sXFxuICBjcmVhdGVWZXJpZnk6IGNyZWF0ZVZlcmlmeVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dlluSnZkM05sY2k5cGJtUmxlQzVxY3o4NE9XSmxJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlFXRXNiVUpCUVU4c1EwRkJReXc0UTBGQlVUdEJRVU0zUWl4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl3d1JFRkJZVHRCUVVOMFF5eGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwZEJRV2xDTzBGQlEzUkRMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhYUVVGWExHMUNRVUZQTEVOQlFVTXNPRVJCUVZFN1FVRkRNMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMR3RGUVVGVk96dEJRVVV2UWl4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl4cFJrRkJiVUk3UVVGRE5VTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dlluSnZkM05sY2k5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkaWRXWm1aWEluS1M1Q2RXWm1aWEpjYm5aaGNpQmpjbVZoZEdWSVlYTm9JRDBnY21WeGRXbHlaU2duWTNKbFlYUmxMV2hoYzJnbktWeHVkbUZ5SUhOMGNtVmhiU0E5SUhKbGNYVnBjbVVvSjNKbFlXUmhZbXhsTFhOMGNtVmhiU2NwWEc1MllYSWdhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwWEc1MllYSWdjMmxuYmlBOUlISmxjWFZwY21Vb0p5NHZjMmxuYmljcFhHNTJZWElnZG1WeWFXWjVJRDBnY21WeGRXbHlaU2duTGk5MlpYSnBabmtuS1Z4dVhHNTJZWElnWVd4bmIzSnBkR2h0Y3lBOUlISmxjWFZwY21Vb0p5NHZZV3huYjNKcGRHaHRjeTVxYzI5dUp5bGNiazlpYW1WamRDNXJaWGx6S0dGc1oyOXlhWFJvYlhNcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQmhiR2R2Y21sMGFHMXpXMnRsZVYwdWFXUWdQU0JDZFdabVpYSXVabkp2YlNoaGJHZHZjbWwwYUcxelcydGxlVjB1YVdRc0lDZG9aWGduS1Z4dUlDQmhiR2R2Y21sMGFHMXpXMnRsZVM1MGIweHZkMlZ5UTJGelpTZ3BYU0E5SUdGc1oyOXlhWFJvYlhOYmEyVjVYVnh1ZlNsY2JseHVablZ1WTNScGIyNGdVMmxuYmlBb1lXeG5iM0pwZEdodEtTQjdYRzRnSUhOMGNtVmhiUzVYY21sMFlXSnNaUzVqWVd4c0tIUm9hWE1wWEc1Y2JpQWdkbUZ5SUdSaGRHRWdQU0JoYkdkdmNtbDBhRzF6VzJGc1oyOXlhWFJvYlYxY2JpQWdhV1lnS0NGa1lYUmhLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1YTI1dmQyNGdiV1Z6YzJGblpTQmthV2RsYzNRbktWeHVYRzRnSUhSb2FYTXVYMmhoYzJoVWVYQmxJRDBnWkdGMFlTNW9ZWE5vWEc0Z0lIUm9hWE11WDJoaGMyZ2dQU0JqY21WaGRHVklZWE5vS0dSaGRHRXVhR0Z6YUNsY2JpQWdkR2hwY3k1ZmRHRm5JRDBnWkdGMFlTNXBaRnh1SUNCMGFHbHpMbDl6YVdkdVZIbHdaU0E5SUdSaGRHRXVjMmxuYmx4dWZWeHVhVzVvWlhKcGRITW9VMmxuYml3Z2MzUnlaV0Z0TGxkeWFYUmhZbXhsS1Z4dVhHNVRhV2R1TG5CeWIzUnZkSGx3WlM1ZmQzSnBkR1VnUFNCbWRXNWpkR2x2YmlCZmQzSnBkR1VnS0dSaGRHRXNJRjhzSUdSdmJtVXBJSHRjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb1pHRjBZU2xjYmlBZ1pHOXVaU2dwWEc1OVhHNWNibE5wWjI0dWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNBb1pHRjBZU3dnWlc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ0ozTjBjbWx1WnljcElHUmhkR0VnUFNCQ2RXWm1aWEl1Wm5KdmJTaGtZWFJoTENCbGJtTXBYRzVjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb1pHRjBZU2xjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVUybG5iaTV3Y205MGIzUjVjR1V1YzJsbmJpQTlJR1oxYm1OMGFXOXVJSE5wWjI1TlpYUm9iMlFnS0d0bGVTd2daVzVqS1NCN1hHNGdJSFJvYVhNdVpXNWtLQ2xjYmlBZ2RtRnlJR2hoYzJnZ1BTQjBhR2x6TGw5b1lYTm9MbVJwWjJWemRDZ3BYRzRnSUhaaGNpQnphV2NnUFNCemFXZHVLR2hoYzJnc0lHdGxlU3dnZEdocGN5NWZhR0Z6YUZSNWNHVXNJSFJvYVhNdVgzTnBaMjVVZVhCbExDQjBhR2x6TGw5MFlXY3BYRzVjYmlBZ2NtVjBkWEp1SUdWdVl5QS9JSE5wWnk1MGIxTjBjbWx1WnlobGJtTXBJRG9nYzJsblhHNTlYRzVjYm1aMWJtTjBhVzl1SUZabGNtbG1lU0FvWVd4bmIzSnBkR2h0S1NCN1hHNGdJSE4wY21WaGJTNVhjbWwwWVdKc1pTNWpZV3hzS0hSb2FYTXBYRzVjYmlBZ2RtRnlJR1JoZEdFZ1BTQmhiR2R2Y21sMGFHMXpXMkZzWjI5eWFYUm9iVjFjYmlBZ2FXWWdLQ0ZrWVhSaEtTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxVnVhMjV2ZDI0Z2JXVnpjMkZuWlNCa2FXZGxjM1FuS1Z4dVhHNGdJSFJvYVhNdVgyaGhjMmdnUFNCamNtVmhkR1ZJWVhOb0tHUmhkR0V1YUdGemFDbGNiaUFnZEdocGN5NWZkR0ZuSUQwZ1pHRjBZUzVwWkZ4dUlDQjBhR2x6TGw5emFXZHVWSGx3WlNBOUlHUmhkR0V1YzJsbmJseHVmVnh1YVc1b1pYSnBkSE1vVm1WeWFXWjVMQ0J6ZEhKbFlXMHVWM0pwZEdGaWJHVXBYRzVjYmxabGNtbG1lUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnWDNkeWFYUmxJQ2hrWVhSaExDQmZMQ0JrYjI1bEtTQjdYRzRnSUhSb2FYTXVYMmhoYzJndWRYQmtZWFJsS0dSaGRHRXBYRzRnSUdSdmJtVW9LVnh1ZlZ4dVhHNVdaWEpwWm5rdWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNBb1pHRjBZU3dnWlc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ0ozTjBjbWx1WnljcElHUmhkR0VnUFNCQ2RXWm1aWEl1Wm5KdmJTaGtZWFJoTENCbGJtTXBYRzVjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb1pHRjBZU2xjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVZtVnlhV1o1TG5CeWIzUnZkSGx3WlM1MlpYSnBabmtnUFNCbWRXNWpkR2x2YmlCMlpYSnBabmxOWlhSb2IyUWdLR3RsZVN3Z2MybG5MQ0JsYm1NcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCemFXY2dQVDA5SUNkemRISnBibWNuS1NCemFXY2dQU0JDZFdabVpYSXVabkp2YlNoemFXY3NJR1Z1WXlsY2JseHVJQ0IwYUdsekxtVnVaQ2dwWEc0Z0lIWmhjaUJvWVhOb0lEMGdkR2hwY3k1ZmFHRnphQzVrYVdkbGMzUW9LVnh1SUNCeVpYUjFjbTRnZG1WeWFXWjVLSE5wWnl3Z2FHRnphQ3dnYTJWNUxDQjBhR2x6TGw5emFXZHVWSGx3WlN3Z2RHaHBjeTVmZEdGbktWeHVmVnh1WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZUYVdkdUlDaGhiR2R2Y21sMGFHMHBJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlRhV2R1S0dGc1oyOXlhWFJvYlNsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxWbVZ5YVdaNUlDaGhiR2R2Y21sMGFHMHBJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QldaWEpwWm5rb1lXeG5iM0pwZEdodEtWeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUh0Y2JpQWdVMmxuYmpvZ1kzSmxZWFJsVTJsbmJpeGNiaUFnVm1WeWFXWjVPaUJqY21WaGRHVldaWEpwWm5rc1hHNGdJR055WldGMFpWTnBaMjQ2SUdOeVpXRjBaVk5wWjI0c1hHNGdJR055WldGMFpWWmxjbWxtZVRvZ1kzSmxZWFJsVm1WeWFXWjVYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvc2lnbi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3NpZ24uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLy8gbXVjaCBvZiB0aGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L3NlbGYtc2lnbmVkL2Jsb2IvZ2gtcGFnZXMvbGliL3JzYS5qc1xcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBjcmVhdGVIbWFjID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhtYWMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBjcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LXJzYSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanNcXFwiKVxcbnZhciBFQyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGVsbGlwdGljICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMuanNcXFwiKS5lY1xcbnZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKVxcbnZhciBwYXJzZUtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwYXJzZS1hc24xICovIFxcXCIuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2luZGV4LmpzXFxcIilcXG52YXIgY3VydmVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jdXJ2ZXMuanNvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvY3VydmVzLmpzb25cXFwiKVxcblxcbmZ1bmN0aW9uIHNpZ24gKGhhc2gsIGtleSwgaGFzaFR5cGUsIHNpZ25UeXBlLCB0YWcpIHtcXG4gIHZhciBwcml2ID0gcGFyc2VLZXlzKGtleSlcXG4gIGlmIChwcml2LmN1cnZlKSB7XFxuICAgIC8vIHJzYSBrZXlzIGNhbiBiZSBpbnRlcnByZXRlZCBhcyBlY2RzYSBvbmVzIGluIG9wZW5zc2xcXG4gICAgaWYgKHNpZ25UeXBlICE9PSAnZWNkc2EnICYmIHNpZ25UeXBlICE9PSAnZWNkc2EvcnNhJykgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBwcml2YXRlIGtleSB0eXBlJylcXG4gICAgcmV0dXJuIGVjU2lnbihoYXNoLCBwcml2KVxcbiAgfSBlbHNlIGlmIChwcml2LnR5cGUgPT09ICdkc2EnKSB7XFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ2RzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHJpdmF0ZSBrZXkgdHlwZScpXFxuICAgIHJldHVybiBkc2FTaWduKGhhc2gsIHByaXYsIGhhc2hUeXBlKVxcbiAgfSBlbHNlIHtcXG4gICAgaWYgKHNpZ25UeXBlICE9PSAncnNhJyAmJiBzaWduVHlwZSAhPT0gJ2VjZHNhL3JzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHJpdmF0ZSBrZXkgdHlwZScpXFxuICB9XFxuICBoYXNoID0gQnVmZmVyLmNvbmNhdChbdGFnLCBoYXNoXSlcXG4gIHZhciBsZW4gPSBwcml2Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpXFxuICB2YXIgcGFkID0gWzAsIDFdXFxuICB3aGlsZSAoaGFzaC5sZW5ndGggKyBwYWQubGVuZ3RoICsgMSA8IGxlbikgcGFkLnB1c2goMHhmZilcXG4gIHBhZC5wdXNoKDB4MDApXFxuICB2YXIgaSA9IC0xXFxuICB3aGlsZSAoKytpIDwgaGFzaC5sZW5ndGgpIHBhZC5wdXNoKGhhc2hbaV0pXFxuXFxuICB2YXIgb3V0ID0gY3J0KHBhZCwgcHJpdilcXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gZWNTaWduIChoYXNoLCBwcml2KSB7XFxuICB2YXIgY3VydmVJZCA9IGN1cnZlc1twcml2LmN1cnZlLmpvaW4oJy4nKV1cXG4gIGlmICghY3VydmVJZCkgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGN1cnZlICcgKyBwcml2LmN1cnZlLmpvaW4oJy4nKSlcXG5cXG4gIHZhciBjdXJ2ZSA9IG5ldyBFQyhjdXJ2ZUlkKVxcbiAgdmFyIGtleSA9IGN1cnZlLmtleUZyb21Qcml2YXRlKHByaXYucHJpdmF0ZUtleSlcXG4gIHZhciBvdXQgPSBrZXkuc2lnbihoYXNoKVxcblxcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG91dC50b0RFUigpKVxcbn1cXG5cXG5mdW5jdGlvbiBkc2FTaWduIChoYXNoLCBwcml2LCBhbGdvKSB7XFxuICB2YXIgeCA9IHByaXYucGFyYW1zLnByaXZfa2V5XFxuICB2YXIgcCA9IHByaXYucGFyYW1zLnBcXG4gIHZhciBxID0gcHJpdi5wYXJhbXMucVxcbiAgdmFyIGcgPSBwcml2LnBhcmFtcy5nXFxuICB2YXIgciA9IG5ldyBCTigwKVxcbiAgdmFyIGtcXG4gIHZhciBIID0gYml0czJpbnQoaGFzaCwgcSkubW9kKHEpXFxuICB2YXIgcyA9IGZhbHNlXFxuICB2YXIga3YgPSBnZXRLZXkoeCwgcSwgaGFzaCwgYWxnbylcXG4gIHdoaWxlIChzID09PSBmYWxzZSkge1xcbiAgICBrID0gbWFrZUtleShxLCBrdiwgYWxnbylcXG4gICAgciA9IG1ha2VSKGcsIGssIHAsIHEpXFxuICAgIHMgPSBrLmludm0ocSkuaW11bChILmFkZCh4Lm11bChyKSkpLm1vZChxKVxcbiAgICBpZiAocy5jbXBuKDApID09PSAwKSB7XFxuICAgICAgcyA9IGZhbHNlXFxuICAgICAgciA9IG5ldyBCTigwKVxcbiAgICB9XFxuICB9XFxuICByZXR1cm4gdG9ERVIociwgcylcXG59XFxuXFxuZnVuY3Rpb24gdG9ERVIgKHIsIHMpIHtcXG4gIHIgPSByLnRvQXJyYXkoKVxcbiAgcyA9IHMudG9BcnJheSgpXFxuXFxuICAvLyBQYWQgdmFsdWVzXFxuICBpZiAoclswXSAmIDB4ODApIHIgPSBbMF0uY29uY2F0KHIpXFxuICBpZiAoc1swXSAmIDB4ODApIHMgPSBbMF0uY29uY2F0KHMpXFxuXFxuICB2YXIgdG90YWwgPSByLmxlbmd0aCArIHMubGVuZ3RoICsgNFxcbiAgdmFyIHJlcyA9IFsweDMwLCB0b3RhbCwgMHgwMiwgci5sZW5ndGhdXFxuICByZXMgPSByZXMuY29uY2F0KHIsIFsweDAyLCBzLmxlbmd0aF0sIHMpXFxuICByZXR1cm4gQnVmZmVyLmZyb20ocmVzKVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRLZXkgKHgsIHEsIGhhc2gsIGFsZ28pIHtcXG4gIHggPSBCdWZmZXIuZnJvbSh4LnRvQXJyYXkoKSlcXG4gIGlmICh4Lmxlbmd0aCA8IHEuYnl0ZUxlbmd0aCgpKSB7XFxuICAgIHZhciB6ZXJvcyA9IEJ1ZmZlci5hbGxvYyhxLmJ5dGVMZW5ndGgoKSAtIHgubGVuZ3RoKVxcbiAgICB4ID0gQnVmZmVyLmNvbmNhdChbemVyb3MsIHhdKVxcbiAgfVxcbiAgdmFyIGhsZW4gPSBoYXNoLmxlbmd0aFxcbiAgdmFyIGhiaXRzID0gYml0czJvY3RldHMoaGFzaCwgcSlcXG4gIHZhciB2ID0gQnVmZmVyLmFsbG9jKGhsZW4pXFxuICB2LmZpbGwoMSlcXG4gIHZhciBrID0gQnVmZmVyLmFsbG9jKGhsZW4pXFxuICBrID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikudXBkYXRlKEJ1ZmZlci5mcm9tKFswXSkpLnVwZGF0ZSh4KS51cGRhdGUoaGJpdHMpLmRpZ2VzdCgpXFxuICB2ID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikuZGlnZXN0KClcXG4gIGsgPSBjcmVhdGVIbWFjKGFsZ28sIGspLnVwZGF0ZSh2KS51cGRhdGUoQnVmZmVyLmZyb20oWzFdKSkudXBkYXRlKHgpLnVwZGF0ZShoYml0cykuZGlnZXN0KClcXG4gIHYgPSBjcmVhdGVIbWFjKGFsZ28sIGspLnVwZGF0ZSh2KS5kaWdlc3QoKVxcbiAgcmV0dXJuIHsgazogaywgdjogdiB9XFxufVxcblxcbmZ1bmN0aW9uIGJpdHMyaW50IChvYml0cywgcSkge1xcbiAgdmFyIGJpdHMgPSBuZXcgQk4ob2JpdHMpXFxuICB2YXIgc2hpZnQgPSAob2JpdHMubGVuZ3RoIDw8IDMpIC0gcS5iaXRMZW5ndGgoKVxcbiAgaWYgKHNoaWZ0ID4gMCkgYml0cy5pc2hybihzaGlmdClcXG4gIHJldHVybiBiaXRzXFxufVxcblxcbmZ1bmN0aW9uIGJpdHMyb2N0ZXRzIChiaXRzLCBxKSB7XFxuICBiaXRzID0gYml0czJpbnQoYml0cywgcSlcXG4gIGJpdHMgPSBiaXRzLm1vZChxKVxcbiAgdmFyIG91dCA9IEJ1ZmZlci5mcm9tKGJpdHMudG9BcnJheSgpKVxcbiAgaWYgKG91dC5sZW5ndGggPCBxLmJ5dGVMZW5ndGgoKSkge1xcbiAgICB2YXIgemVyb3MgPSBCdWZmZXIuYWxsb2MocS5ieXRlTGVuZ3RoKCkgLSBvdXQubGVuZ3RoKVxcbiAgICBvdXQgPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgb3V0XSlcXG4gIH1cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gbWFrZUtleSAocSwga3YsIGFsZ28pIHtcXG4gIHZhciB0XFxuICB2YXIga1xcblxcbiAgZG8ge1xcbiAgICB0ID0gQnVmZmVyLmFsbG9jKDApXFxuXFxuICAgIHdoaWxlICh0Lmxlbmd0aCAqIDggPCBxLmJpdExlbmd0aCgpKSB7XFxuICAgICAga3YudiA9IGNyZWF0ZUhtYWMoYWxnbywga3YuaykudXBkYXRlKGt2LnYpLmRpZ2VzdCgpXFxuICAgICAgdCA9IEJ1ZmZlci5jb25jYXQoW3QsIGt2LnZdKVxcbiAgICB9XFxuXFxuICAgIGsgPSBiaXRzMmludCh0LCBxKVxcbiAgICBrdi5rID0gY3JlYXRlSG1hYyhhbGdvLCBrdi5rKS51cGRhdGUoa3YudikudXBkYXRlKEJ1ZmZlci5mcm9tKFswXSkpLmRpZ2VzdCgpXFxuICAgIGt2LnYgPSBjcmVhdGVIbWFjKGFsZ28sIGt2LmspLnVwZGF0ZShrdi52KS5kaWdlc3QoKVxcbiAgfSB3aGlsZSAoay5jbXAocSkgIT09IC0xKVxcblxcbiAgcmV0dXJuIGtcXG59XFxuXFxuZnVuY3Rpb24gbWFrZVIgKGcsIGssIHAsIHEpIHtcXG4gIHJldHVybiBnLnRvUmVkKEJOLm1vbnQocCkpLnJlZFBvdyhrKS5mcm9tUmVkKCkubW9kKHEpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gc2lnblxcbm1vZHVsZS5leHBvcnRzLmdldEtleSA9IGdldEtleVxcbm1vZHVsZS5leHBvcnRzLm1ha2VLZXkgPSBtYWtlS2V5XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZZbkp2ZDNObGNpOXphV2R1TG1welB6SmxORElpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN1FVRkROMElzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zTUVSQlFXRTdRVUZEZEVNc1ZVRkJWU3h0UWtGQlR5eERRVUZETERoRVFVRm5RanRCUVVOc1F5eFRRVUZUTEcxQ1FVRlBMRU5CUVVNc2VVUkJRVlU3UVVGRE0wSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExEWkRRVUZQTzBGQlEzaENMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk8wRkJRM0JETEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UlVGQlpUczdRVUZGY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdGMybG5iaTlpY205M2MyVnlMM05wWjI0dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QnRkV05vSUc5bUlIUm9hWE1nWW1GelpXUWdiMjRnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJsdVpIVjBibmt2YzJWc1ppMXphV2R1WldRdllteHZZaTluYUMxd1lXZGxjeTlzYVdJdmNuTmhMbXB6WEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5a3VRblZtWm1WeVhHNTJZWElnWTNKbFlYUmxTRzFoWXlBOUlISmxjWFZwY21Vb0oyTnlaV0YwWlMxb2JXRmpKeWxjYm5aaGNpQmpjblFnUFNCeVpYRjFhWEpsS0NkaWNtOTNjMlZ5YVdaNUxYSnpZU2NwWEc1MllYSWdSVU1nUFNCeVpYRjFhWEpsS0NkbGJHeHBjSFJwWXljcExtVmpYRzUyWVhJZ1FrNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BYRzUyWVhJZ2NHRnljMlZMWlhseklEMGdjbVZ4ZFdseVpTZ25jR0Z5YzJVdFlYTnVNU2NwWEc1MllYSWdZM1Z5ZG1WeklEMGdjbVZ4ZFdseVpTZ25MaTlqZFhKMlpYTXVhbk52YmljcFhHNWNibVoxYm1OMGFXOXVJSE5wWjI0Z0tHaGhjMmdzSUd0bGVTd2dhR0Z6YUZSNWNHVXNJSE5wWjI1VWVYQmxMQ0IwWVdjcElIdGNiaUFnZG1GeUlIQnlhWFlnUFNCd1lYSnpaVXRsZVhNb2EyVjVLVnh1SUNCcFppQW9jSEpwZGk1amRYSjJaU2tnZTF4dUlDQWdJQzh2SUhKellTQnJaWGx6SUdOaGJpQmlaU0JwYm5SbGNuQnlaWFJsWkNCaGN5QmxZMlJ6WVNCdmJtVnpJR2x1SUc5d1pXNXpjMnhjYmlBZ0lDQnBaaUFvYzJsbmJsUjVjR1VnSVQwOUlDZGxZMlJ6WVNjZ0ppWWdjMmxuYmxSNWNHVWdJVDA5SUNkbFkyUnpZUzl5YzJFbktTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozZHliMjVuSUhCeWFYWmhkR1VnYTJWNUlIUjVjR1VuS1Z4dUlDQWdJSEpsZEhWeWJpQmxZMU5wWjI0b2FHRnphQ3dnY0hKcGRpbGNiaUFnZlNCbGJITmxJR2xtSUNod2NtbDJMblI1Y0dVZ1BUMDlJQ2RrYzJFbktTQjdYRzRnSUNBZ2FXWWdLSE5wWjI1VWVYQmxJQ0U5UFNBblpITmhKeWtnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QzY205dVp5QndjbWwyWVhSbElHdGxlU0IwZVhCbEp5bGNiaUFnSUNCeVpYUjFjbTRnWkhOaFUybG5iaWhvWVhOb0xDQndjbWwyTENCb1lYTm9WSGx3WlNsY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCcFppQW9jMmxuYmxSNWNHVWdJVDA5SUNkeWMyRW5JQ1ltSUhOcFoyNVVlWEJsSUNFOVBTQW5aV05rYzJFdmNuTmhKeWtnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QzY205dVp5QndjbWwyWVhSbElHdGxlU0IwZVhCbEp5bGNiaUFnZlZ4dUlDQm9ZWE5vSUQwZ1FuVm1abVZ5TG1OdmJtTmhkQ2hiZEdGbkxDQm9ZWE5vWFNsY2JpQWdkbUZ5SUd4bGJpQTlJSEJ5YVhZdWJXOWtkV3gxY3k1aWVYUmxUR1Z1WjNSb0tDbGNiaUFnZG1GeUlIQmhaQ0E5SUZzd0xDQXhYVnh1SUNCM2FHbHNaU0FvYUdGemFDNXNaVzVuZEdnZ0t5QndZV1F1YkdWdVozUm9JQ3NnTVNBOElHeGxiaWtnY0dGa0xuQjFjMmdvTUhobVppbGNiaUFnY0dGa0xuQjFjMmdvTUhnd01DbGNiaUFnZG1GeUlHa2dQU0F0TVZ4dUlDQjNhR2xzWlNBb0t5dHBJRHdnYUdGemFDNXNaVzVuZEdncElIQmhaQzV3ZFhOb0tHaGhjMmhiYVYwcFhHNWNiaUFnZG1GeUlHOTFkQ0E5SUdOeWRDaHdZV1FzSUhCeWFYWXBYRzRnSUhKbGRIVnliaUJ2ZFhSY2JuMWNibHh1Wm5WdVkzUnBiMjRnWldOVGFXZHVJQ2hvWVhOb0xDQndjbWwyS1NCN1hHNGdJSFpoY2lCamRYSjJaVWxrSUQwZ1kzVnlkbVZ6VzNCeWFYWXVZM1Z5ZG1VdWFtOXBiaWduTGljcFhWeHVJQ0JwWmlBb0lXTjFjblpsU1dRcElIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbmRXNXJibTkzYmlCamRYSjJaU0FuSUNzZ2NISnBkaTVqZFhKMlpTNXFiMmx1S0NjdUp5a3BYRzVjYmlBZ2RtRnlJR04xY25abElEMGdibVYzSUVWREtHTjFjblpsU1dRcFhHNGdJSFpoY2lCclpYa2dQU0JqZFhKMlpTNXJaWGxHY205dFVISnBkbUYwWlNod2NtbDJMbkJ5YVhaaGRHVkxaWGtwWEc0Z0lIWmhjaUJ2ZFhRZ1BTQnJaWGt1YzJsbmJpaG9ZWE5vS1Z4dVhHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdVpuSnZiU2h2ZFhRdWRHOUVSVklvS1NsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWkhOaFUybG5iaUFvYUdGemFDd2djSEpwZGl3Z1lXeG5ieWtnZTF4dUlDQjJZWElnZUNBOUlIQnlhWFl1Y0dGeVlXMXpMbkJ5YVhaZmEyVjVYRzRnSUhaaGNpQndJRDBnY0hKcGRpNXdZWEpoYlhNdWNGeHVJQ0IyWVhJZ2NTQTlJSEJ5YVhZdWNHRnlZVzF6TG5GY2JpQWdkbUZ5SUdjZ1BTQndjbWwyTG5CaGNtRnRjeTVuWEc0Z0lIWmhjaUJ5SUQwZ2JtVjNJRUpPS0RBcFhHNGdJSFpoY2lCclhHNGdJSFpoY2lCSUlEMGdZbWwwY3pKcGJuUW9hR0Z6YUN3Z2NTa3ViVzlrS0hFcFhHNGdJSFpoY2lCeklEMGdabUZzYzJWY2JpQWdkbUZ5SUd0MklEMGdaMlYwUzJWNUtIZ3NJSEVzSUdoaGMyZ3NJR0ZzWjI4cFhHNGdJSGRvYVd4bElDaHpJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJR3NnUFNCdFlXdGxTMlY1S0hFc0lHdDJMQ0JoYkdkdktWeHVJQ0FnSUhJZ1BTQnRZV3RsVWlobkxDQnJMQ0J3TENCeEtWeHVJQ0FnSUhNZ1BTQnJMbWx1ZG0wb2NTa3VhVzExYkNoSUxtRmtaQ2g0TG0xMWJDaHlLU2twTG0xdlpDaHhLVnh1SUNBZ0lHbG1JQ2h6TG1OdGNHNG9NQ2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1nUFNCbVlXeHpaVnh1SUNBZ0lDQWdjaUE5SUc1bGR5QkNUaWd3S1Z4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdkRzlFUlZJb2Npd2djeWxjYm4xY2JseHVablZ1WTNScGIyNGdkRzlFUlZJZ0tISXNJSE1wSUh0Y2JpQWdjaUE5SUhJdWRHOUJjbkpoZVNncFhHNGdJSE1nUFNCekxuUnZRWEp5WVhrb0tWeHVYRzRnSUM4dklGQmhaQ0IyWVd4MVpYTmNiaUFnYVdZZ0tISmJNRjBnSmlBd2VEZ3dLU0J5SUQwZ1d6QmRMbU52Ym1OaGRDaHlLVnh1SUNCcFppQW9jMXN3WFNBbUlEQjRPREFwSUhNZ1BTQmJNRjB1WTI5dVkyRjBLSE1wWEc1Y2JpQWdkbUZ5SUhSdmRHRnNJRDBnY2k1c1pXNW5kR2dnS3lCekxteGxibWQwYUNBcklEUmNiaUFnZG1GeUlISmxjeUE5SUZzd2VETXdMQ0IwYjNSaGJDd2dNSGd3TWl3Z2NpNXNaVzVuZEdoZFhHNGdJSEpsY3lBOUlISmxjeTVqYjI1allYUW9jaXdnV3pCNE1ESXNJSE11YkdWdVozUm9YU3dnY3lsY2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1bWNtOXRLSEpsY3lsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFMyVjVJQ2g0TENCeExDQm9ZWE5vTENCaGJHZHZLU0I3WEc0Z0lIZ2dQU0JDZFdabVpYSXVabkp2YlNoNExuUnZRWEp5WVhrb0tTbGNiaUFnYVdZZ0tIZ3ViR1Z1WjNSb0lEd2djUzVpZVhSbFRHVnVaM1JvS0NrcElIdGNiaUFnSUNCMllYSWdlbVZ5YjNNZ1BTQkNkV1ptWlhJdVlXeHNiMk1vY1M1aWVYUmxUR1Z1WjNSb0tDa2dMU0I0TG14bGJtZDBhQ2xjYmlBZ0lDQjRJRDBnUW5WbVptVnlMbU52Ym1OaGRDaGJlbVZ5YjNNc0lIaGRLVnh1SUNCOVhHNGdJSFpoY2lCb2JHVnVJRDBnYUdGemFDNXNaVzVuZEdoY2JpQWdkbUZ5SUdoaWFYUnpJRDBnWW1sMGN6SnZZM1JsZEhNb2FHRnphQ3dnY1NsY2JpQWdkbUZ5SUhZZ1BTQkNkV1ptWlhJdVlXeHNiMk1vYUd4bGJpbGNiaUFnZGk1bWFXeHNLREVwWEc0Z0lIWmhjaUJySUQwZ1FuVm1abVZ5TG1Gc2JHOWpLR2hzWlc0cFhHNGdJR3NnUFNCamNtVmhkR1ZJYldGaktHRnNaMjhzSUdzcExuVndaR0YwWlNoMktTNTFjR1JoZEdVb1FuVm1abVZ5TG1aeWIyMG9XekJkS1NrdWRYQmtZWFJsS0hncExuVndaR0YwWlNob1ltbDBjeWt1WkdsblpYTjBLQ2xjYmlBZ2RpQTlJR055WldGMFpVaHRZV01vWVd4bmJ5d2dheWt1ZFhCa1lYUmxLSFlwTG1ScFoyVnpkQ2dwWEc0Z0lHc2dQU0JqY21WaGRHVkliV0ZqS0dGc1oyOHNJR3NwTG5Wd1pHRjBaU2gyS1M1MWNHUmhkR1VvUW5WbVptVnlMbVp5YjIwb1d6RmRLU2t1ZFhCa1lYUmxLSGdwTG5Wd1pHRjBaU2hvWW1sMGN5a3VaR2xuWlhOMEtDbGNiaUFnZGlBOUlHTnlaV0YwWlVodFlXTW9ZV3huYnl3Z2F5a3VkWEJrWVhSbEtIWXBMbVJwWjJWemRDZ3BYRzRnSUhKbGRIVnliaUI3SUdzNklHc3NJSFk2SUhZZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCaWFYUnpNbWx1ZENBb2IySnBkSE1zSUhFcElIdGNiaUFnZG1GeUlHSnBkSE1nUFNCdVpYY2dRazRvYjJKcGRITXBYRzRnSUhaaGNpQnphR2xtZENBOUlDaHZZbWwwY3k1c1pXNW5kR2dnUER3Z015a2dMU0J4TG1KcGRFeGxibWQwYUNncFhHNGdJR2xtSUNoemFHbG1kQ0ErSURBcElHSnBkSE11YVhOb2NtNG9jMmhwWm5RcFhHNGdJSEpsZEhWeWJpQmlhWFJ6WEc1OVhHNWNibVoxYm1OMGFXOXVJR0pwZEhNeWIyTjBaWFJ6SUNoaWFYUnpMQ0J4S1NCN1hHNGdJR0pwZEhNZ1BTQmlhWFJ6TW1sdWRDaGlhWFJ6TENCeEtWeHVJQ0JpYVhSeklEMGdZbWwwY3k1dGIyUW9jU2xjYmlBZ2RtRnlJRzkxZENBOUlFSjFabVpsY2k1bWNtOXRLR0pwZEhNdWRHOUJjbkpoZVNncEtWeHVJQ0JwWmlBb2IzVjBMbXhsYm1kMGFDQThJSEV1WW5sMFpVeGxibWQwYUNncEtTQjdYRzRnSUNBZ2RtRnlJSHBsY205eklEMGdRblZtWm1WeUxtRnNiRzlqS0hFdVlubDBaVXhsYm1kMGFDZ3BJQzBnYjNWMExteGxibWQwYUNsY2JpQWdJQ0J2ZFhRZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0NlpYSnZjeXdnYjNWMFhTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z2IzVjBYRzU5WEc1Y2JtWjFibU4wYVc5dUlHMWhhMlZMWlhrZ0tIRXNJR3QyTENCaGJHZHZLU0I3WEc0Z0lIWmhjaUIwWEc0Z0lIWmhjaUJyWEc1Y2JpQWdaRzhnZTF4dUlDQWdJSFFnUFNCQ2RXWm1aWEl1WVd4c2IyTW9NQ2xjYmx4dUlDQWdJSGRvYVd4bElDaDBMbXhsYm1kMGFDQXFJRGdnUENCeExtSnBkRXhsYm1kMGFDZ3BLU0I3WEc0Z0lDQWdJQ0JyZGk1MklEMGdZM0psWVhSbFNHMWhZeWhoYkdkdkxDQnJkaTVyS1M1MWNHUmhkR1VvYTNZdWRpa3VaR2xuWlhOMEtDbGNiaUFnSUNBZ0lIUWdQU0JDZFdabVpYSXVZMjl1WTJGMEtGdDBMQ0JyZGk1MlhTbGNiaUFnSUNCOVhHNWNiaUFnSUNCcklEMGdZbWwwY3pKcGJuUW9kQ3dnY1NsY2JpQWdJQ0JyZGk1cklEMGdZM0psWVhSbFNHMWhZeWhoYkdkdkxDQnJkaTVyS1M1MWNHUmhkR1VvYTNZdWRpa3VkWEJrWVhSbEtFSjFabVpsY2k1bWNtOXRLRnN3WFNrcExtUnBaMlZ6ZENncFhHNGdJQ0FnYTNZdWRpQTlJR055WldGMFpVaHRZV01vWVd4bmJ5d2dhM1l1YXlrdWRYQmtZWFJsS0d0MkxuWXBMbVJwWjJWemRDZ3BYRzRnSUgwZ2QyaHBiR1VnS0dzdVkyMXdLSEVwSUNFOVBTQXRNU2xjYmx4dUlDQnlaWFIxY200Z2ExeHVmVnh1WEc1bWRXNWpkR2x2YmlCdFlXdGxVaUFvWnl3Z2F5d2djQ3dnY1NrZ2UxeHVJQ0J5WlhSMWNtNGdaeTUwYjFKbFpDaENUaTV0YjI1MEtIQXBLUzV5WldSUWIzY29heWt1Wm5KdmJWSmxaQ2dwTG0xdlpDaHhLVnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlITnBaMjVjYm0xdlpIVnNaUzVsZUhCdmNuUnpMbWRsZEV0bGVTQTlJR2RsZEV0bGVWeHViVzlrZFd4bExtVjRjRzl5ZEhNdWJXRnJaVXRsZVNBOUlHMWhhMlZMWlhsY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvc2lnbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvdmVyaWZ5LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci92ZXJpZnkuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvLyBtdWNoIG9mIHRoaXMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvcnNhLmpzXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpXFxudmFyIEVDID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZWxsaXB0aWMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy5qc1xcXCIpLmVjXFxudmFyIHBhcnNlS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBhcnNlLWFzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanNcXFwiKVxcbnZhciBjdXJ2ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2N1cnZlcy5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9jdXJ2ZXMuanNvblxcXCIpXFxuXFxuZnVuY3Rpb24gdmVyaWZ5IChzaWcsIGhhc2gsIGtleSwgc2lnblR5cGUsIHRhZykge1xcbiAgdmFyIHB1YiA9IHBhcnNlS2V5cyhrZXkpXFxuICBpZiAocHViLnR5cGUgPT09ICdlYycpIHtcXG4gICAgLy8gcnNhIGtleXMgY2FuIGJlIGludGVycHJldGVkIGFzIGVjZHNhIG9uZXMgaW4gb3BlbnNzbFxcbiAgICBpZiAoc2lnblR5cGUgIT09ICdlY2RzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXFxuICAgIHJldHVybiBlY1ZlcmlmeShzaWcsIGhhc2gsIHB1YilcXG4gIH0gZWxzZSBpZiAocHViLnR5cGUgPT09ICdkc2EnKSB7XFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ2RzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHVibGljIGtleSB0eXBlJylcXG4gICAgcmV0dXJuIGRzYVZlcmlmeShzaWcsIGhhc2gsIHB1YilcXG4gIH0gZWxzZSB7XFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ3JzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXFxuICB9XFxuICBoYXNoID0gQnVmZmVyLmNvbmNhdChbdGFnLCBoYXNoXSlcXG4gIHZhciBsZW4gPSBwdWIubW9kdWx1cy5ieXRlTGVuZ3RoKClcXG4gIHZhciBwYWQgPSBbMV1cXG4gIHZhciBwYWROdW0gPSAwXFxuICB3aGlsZSAoaGFzaC5sZW5ndGggKyBwYWQubGVuZ3RoICsgMiA8IGxlbikge1xcbiAgICBwYWQucHVzaCgweGZmKVxcbiAgICBwYWROdW0rK1xcbiAgfVxcbiAgcGFkLnB1c2goMHgwMClcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBoYXNoLmxlbmd0aCkge1xcbiAgICBwYWQucHVzaChoYXNoW2ldKVxcbiAgfVxcbiAgcGFkID0gQnVmZmVyLmZyb20ocGFkKVxcbiAgdmFyIHJlZCA9IEJOLm1vbnQocHViLm1vZHVsdXMpXFxuICBzaWcgPSBuZXcgQk4oc2lnKS50b1JlZChyZWQpXFxuXFxuICBzaWcgPSBzaWcucmVkUG93KG5ldyBCTihwdWIucHVibGljRXhwb25lbnQpKVxcbiAgc2lnID0gQnVmZmVyLmZyb20oc2lnLmZyb21SZWQoKS50b0FycmF5KCkpXFxuICB2YXIgb3V0ID0gcGFkTnVtIDwgOCA/IDEgOiAwXFxuICBsZW4gPSBNYXRoLm1pbihzaWcubGVuZ3RoLCBwYWQubGVuZ3RoKVxcbiAgaWYgKHNpZy5sZW5ndGggIT09IHBhZC5sZW5ndGgpIG91dCA9IDFcXG5cXG4gIGkgPSAtMVxcbiAgd2hpbGUgKCsraSA8IGxlbikgb3V0IHw9IHNpZ1tpXSBeIHBhZFtpXVxcbiAgcmV0dXJuIG91dCA9PT0gMFxcbn1cXG5cXG5mdW5jdGlvbiBlY1ZlcmlmeSAoc2lnLCBoYXNoLCBwdWIpIHtcXG4gIHZhciBjdXJ2ZUlkID0gY3VydmVzW3B1Yi5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCcuJyldXFxuICBpZiAoIWN1cnZlSWQpIHRocm93IG5ldyBFcnJvcigndW5rbm93biBjdXJ2ZSAnICsgcHViLmRhdGEuYWxnb3JpdGhtLmN1cnZlLmpvaW4oJy4nKSlcXG5cXG4gIHZhciBjdXJ2ZSA9IG5ldyBFQyhjdXJ2ZUlkKVxcbiAgdmFyIHB1YmtleSA9IHB1Yi5kYXRhLnN1YmplY3RQcml2YXRlS2V5LmRhdGFcXG5cXG4gIHJldHVybiBjdXJ2ZS52ZXJpZnkoaGFzaCwgc2lnLCBwdWJrZXkpXFxufVxcblxcbmZ1bmN0aW9uIGRzYVZlcmlmeSAoc2lnLCBoYXNoLCBwdWIpIHtcXG4gIHZhciBwID0gcHViLmRhdGEucFxcbiAgdmFyIHEgPSBwdWIuZGF0YS5xXFxuICB2YXIgZyA9IHB1Yi5kYXRhLmdcXG4gIHZhciB5ID0gcHViLmRhdGEucHViX2tleVxcbiAgdmFyIHVucGFja2VkID0gcGFyc2VLZXlzLnNpZ25hdHVyZS5kZWNvZGUoc2lnLCAnZGVyJylcXG4gIHZhciBzID0gdW5wYWNrZWQuc1xcbiAgdmFyIHIgPSB1bnBhY2tlZC5yXFxuICBjaGVja1ZhbHVlKHMsIHEpXFxuICBjaGVja1ZhbHVlKHIsIHEpXFxuICB2YXIgbW9udHAgPSBCTi5tb250KHApXFxuICB2YXIgdyA9IHMuaW52bShxKVxcbiAgdmFyIHYgPSBnLnRvUmVkKG1vbnRwKVxcbiAgICAucmVkUG93KG5ldyBCTihoYXNoKS5tdWwodykubW9kKHEpKVxcbiAgICAuZnJvbVJlZCgpXFxuICAgIC5tdWwoeS50b1JlZChtb250cCkucmVkUG93KHIubXVsKHcpLm1vZChxKSkuZnJvbVJlZCgpKVxcbiAgICAubW9kKHApXFxuICAgIC5tb2QocSlcXG4gIHJldHVybiB2LmNtcChyKSA9PT0gMFxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja1ZhbHVlIChiLCBxKSB7XFxuICBpZiAoYi5jbXBuKDApIDw9IDApIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWcnKVxcbiAgaWYgKGIuY21wKHEpID49IHEpIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWcnKVxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHZlcmlmeVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2WW5KdmQzTmxjaTkyWlhKcFpua3Vhbk0vWVRReU55SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNM1FpeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc05rTkJRVTg3UVVGRGVFSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExIbEVRVUZWTzBGQlF6TkNMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk8wRkJRM0JETEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UlVGQlpUczdRVUZGY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0YzJsbmJpOWljbTkzYzJWeUwzWmxjbWxtZVM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklHMTFZMmdnYjJZZ2RHaHBjeUJpWVhObFpDQnZiaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2YVc1a2RYUnVlUzl6Wld4bUxYTnBaMjVsWkM5aWJHOWlMMmRvTFhCaFoyVnpMMnhwWWk5eWMyRXVhbk5jYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZGlkV1ptWlhJbktTNUNkV1ptWlhKY2JuWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlsY2JuWmhjaUJGUXlBOUlISmxjWFZwY21Vb0oyVnNiR2x3ZEdsakp5a3VaV05jYm5aaGNpQndZWEp6WlV0bGVYTWdQU0J5WlhGMWFYSmxLQ2R3WVhKelpTMWhjMjR4SnlsY2JuWmhjaUJqZFhKMlpYTWdQU0J5WlhGMWFYSmxLQ2N1TDJOMWNuWmxjeTVxYzI5dUp5bGNibHh1Wm5WdVkzUnBiMjRnZG1WeWFXWjVJQ2h6YVdjc0lHaGhjMmdzSUd0bGVTd2djMmxuYmxSNWNHVXNJSFJoWnlrZ2UxeHVJQ0IyWVhJZ2NIVmlJRDBnY0dGeWMyVkxaWGx6S0d0bGVTbGNiaUFnYVdZZ0tIQjFZaTUwZVhCbElEMDlQU0FuWldNbktTQjdYRzRnSUNBZ0x5OGdjbk5oSUd0bGVYTWdZMkZ1SUdKbElHbHVkR1Z5Y0hKbGRHVmtJR0Z6SUdWalpITmhJRzl1WlhNZ2FXNGdiM0JsYm5OemJGeHVJQ0FnSUdsbUlDaHphV2R1Vkhsd1pTQWhQVDBnSjJWalpITmhKeUFtSmlCemFXZHVWSGx3WlNBaFBUMGdKMlZqWkhOaEwzSnpZU2NwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZDNKdmJtY2djSFZpYkdsaklHdGxlU0IwZVhCbEp5bGNiaUFnSUNCeVpYUjFjbTRnWldOV1pYSnBabmtvYzJsbkxDQm9ZWE5vTENCd2RXSXBYRzRnSUgwZ1pXeHpaU0JwWmlBb2NIVmlMblI1Y0dVZ1BUMDlJQ2RrYzJFbktTQjdYRzRnSUNBZ2FXWWdLSE5wWjI1VWVYQmxJQ0U5UFNBblpITmhKeWtnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QzY205dVp5QndkV0pzYVdNZ2EyVjVJSFI1Y0dVbktWeHVJQ0FnSUhKbGRIVnliaUJrYzJGV1pYSnBabmtvYzJsbkxDQm9ZWE5vTENCd2RXSXBYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdhV1lnS0hOcFoyNVVlWEJsSUNFOVBTQW5jbk5oSnlBbUppQnphV2R1Vkhsd1pTQWhQVDBnSjJWalpITmhMM0p6WVNjcElIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbmQzSnZibWNnY0hWaWJHbGpJR3RsZVNCMGVYQmxKeWxjYmlBZ2ZWeHVJQ0JvWVhOb0lEMGdRblZtWm1WeUxtTnZibU5oZENoYmRHRm5MQ0JvWVhOb1hTbGNiaUFnZG1GeUlHeGxiaUE5SUhCMVlpNXRiMlIxYkhWekxtSjVkR1ZNWlc1bmRHZ29LVnh1SUNCMllYSWdjR0ZrSUQwZ1d6RmRYRzRnSUhaaGNpQndZV1JPZFcwZ1BTQXdYRzRnSUhkb2FXeGxJQ2hvWVhOb0xteGxibWQwYUNBcklIQmhaQzVzWlc1bmRHZ2dLeUF5SUR3Z2JHVnVLU0I3WEc0Z0lDQWdjR0ZrTG5CMWMyZ29NSGhtWmlsY2JpQWdJQ0J3WVdST2RXMHJLMXh1SUNCOVhHNGdJSEJoWkM1d2RYTm9LREI0TURBcFhHNGdJSFpoY2lCcElEMGdMVEZjYmlBZ2QyaHBiR1VnS0NzcmFTQThJR2hoYzJndWJHVnVaM1JvS1NCN1hHNGdJQ0FnY0dGa0xuQjFjMmdvYUdGemFGdHBYU2xjYmlBZ2ZWeHVJQ0J3WVdRZ1BTQkNkV1ptWlhJdVpuSnZiU2h3WVdRcFhHNGdJSFpoY2lCeVpXUWdQU0JDVGk1dGIyNTBLSEIxWWk1dGIyUjFiSFZ6S1Z4dUlDQnphV2NnUFNCdVpYY2dRazRvYzJsbktTNTBiMUpsWkNoeVpXUXBYRzVjYmlBZ2MybG5JRDBnYzJsbkxuSmxaRkJ2ZHlodVpYY2dRazRvY0hWaUxuQjFZbXhwWTBWNGNHOXVaVzUwS1NsY2JpQWdjMmxuSUQwZ1FuVm1abVZ5TG1aeWIyMG9jMmxuTG1aeWIyMVNaV1FvS1M1MGIwRnljbUY1S0NrcFhHNGdJSFpoY2lCdmRYUWdQU0J3WVdST2RXMGdQQ0E0SUQ4Z01TQTZJREJjYmlBZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzJsbkxteGxibWQwYUN3Z2NHRmtMbXhsYm1kMGFDbGNiaUFnYVdZZ0tITnBaeTVzWlc1bmRHZ2dJVDA5SUhCaFpDNXNaVzVuZEdncElHOTFkQ0E5SURGY2JseHVJQ0JwSUQwZ0xURmNiaUFnZDJocGJHVWdLQ3NyYVNBOElHeGxiaWtnYjNWMElIdzlJSE5wWjF0cFhTQmVJSEJoWkZ0cFhWeHVJQ0J5WlhSMWNtNGdiM1YwSUQwOVBTQXdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVmpWbVZ5YVdaNUlDaHphV2NzSUdoaGMyZ3NJSEIxWWlrZ2UxeHVJQ0IyWVhJZ1kzVnlkbVZKWkNBOUlHTjFjblpsYzF0d2RXSXVaR0YwWVM1aGJHZHZjbWwwYUcwdVkzVnlkbVV1YW05cGJpZ25MaWNwWFZ4dUlDQnBaaUFvSVdOMWNuWmxTV1FwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJqZFhKMlpTQW5JQ3NnY0hWaUxtUmhkR0V1WVd4bmIzSnBkR2h0TG1OMWNuWmxMbXB2YVc0b0p5NG5LU2xjYmx4dUlDQjJZWElnWTNWeWRtVWdQU0J1WlhjZ1JVTW9ZM1Z5ZG1WSlpDbGNiaUFnZG1GeUlIQjFZbXRsZVNBOUlIQjFZaTVrWVhSaExuTjFZbXBsWTNSUWNtbDJZWFJsUzJWNUxtUmhkR0ZjYmx4dUlDQnlaWFIxY200Z1kzVnlkbVV1ZG1WeWFXWjVLR2hoYzJnc0lITnBaeXdnY0hWaWEyVjVLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmtjMkZXWlhKcFpua2dLSE5wWnl3Z2FHRnphQ3dnY0hWaUtTQjdYRzRnSUhaaGNpQndJRDBnY0hWaUxtUmhkR0V1Y0Z4dUlDQjJZWElnY1NBOUlIQjFZaTVrWVhSaExuRmNiaUFnZG1GeUlHY2dQU0J3ZFdJdVpHRjBZUzVuWEc0Z0lIWmhjaUI1SUQwZ2NIVmlMbVJoZEdFdWNIVmlYMnRsZVZ4dUlDQjJZWElnZFc1d1lXTnJaV1FnUFNCd1lYSnpaVXRsZVhNdWMybG5ibUYwZFhKbExtUmxZMjlrWlNoemFXY3NJQ2RrWlhJbktWeHVJQ0IyWVhJZ2N5QTlJSFZ1Y0dGamEyVmtMbk5jYmlBZ2RtRnlJSElnUFNCMWJuQmhZMnRsWkM1eVhHNGdJR05vWldOclZtRnNkV1VvY3l3Z2NTbGNiaUFnWTJobFkydFdZV3gxWlNoeUxDQnhLVnh1SUNCMllYSWdiVzl1ZEhBZ1BTQkNUaTV0YjI1MEtIQXBYRzRnSUhaaGNpQjNJRDBnY3k1cGJuWnRLSEVwWEc0Z0lIWmhjaUIySUQwZ1p5NTBiMUpsWkNodGIyNTBjQ2xjYmlBZ0lDQXVjbVZrVUc5M0tHNWxkeUJDVGlob1lYTm9LUzV0ZFd3b2R5a3ViVzlrS0hFcEtWeHVJQ0FnSUM1bWNtOXRVbVZrS0NsY2JpQWdJQ0F1YlhWc0tIa3VkRzlTWldRb2JXOXVkSEFwTG5KbFpGQnZkeWh5TG0xMWJDaDNLUzV0YjJRb2NTa3BMbVp5YjIxU1pXUW9LU2xjYmlBZ0lDQXViVzlrS0hBcFhHNGdJQ0FnTG0xdlpDaHhLVnh1SUNCeVpYUjFjbTRnZGk1amJYQW9jaWtnUFQwOUlEQmNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnRXWVd4MVpTQW9ZaXdnY1NrZ2UxeHVJQ0JwWmlBb1lpNWpiWEJ1S0RBcElEdzlJREFwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduYVc1MllXeHBaQ0J6YVdjbktWeHVJQ0JwWmlBb1lpNWpiWEFvY1NrZ1BqMGdjU2tnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RwYm5aaGJHbGtJSE5wWnljcFhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZG1WeWFXWjVYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3ZlcmlmeS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XFxuXFxudmFyIGNvZGVzID0ge307XFxuXFxuZnVuY3Rpb24gY3JlYXRlRXJyb3JUeXBlKGNvZGUsIG1lc3NhZ2UsIEJhc2UpIHtcXG4gIGlmICghQmFzZSkge1xcbiAgICBCYXNlID0gRXJyb3I7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBnZXRNZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpIHtcXG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJykge1xcbiAgICAgIHJldHVybiBtZXNzYWdlO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiBtZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgTm9kZUVycm9yID1cXG4gIC8qI19fUFVSRV9fKi9cXG4gIGZ1bmN0aW9uIChfQmFzZSkge1xcbiAgICBfaW5oZXJpdHNMb29zZShOb2RlRXJyb3IsIF9CYXNlKTtcXG5cXG4gICAgZnVuY3Rpb24gTm9kZUVycm9yKGFyZzEsIGFyZzIsIGFyZzMpIHtcXG4gICAgICByZXR1cm4gX0Jhc2UuY2FsbCh0aGlzLCBnZXRNZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpKSB8fCB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBOb2RlRXJyb3I7XFxuICB9KEJhc2UpO1xcblxcbiAgTm9kZUVycm9yLnByb3RvdHlwZS5uYW1lID0gQmFzZS5uYW1lO1xcbiAgTm9kZUVycm9yLnByb3RvdHlwZS5jb2RlID0gY29kZTtcXG4gIGNvZGVzW2NvZGVdID0gTm9kZUVycm9yO1xcbn0gLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2Jsb2IvdjEwLjguMC9saWIvaW50ZXJuYWwvZXJyb3JzLmpzXFxuXFxuXFxuZnVuY3Rpb24gb25lT2YoZXhwZWN0ZWQsIHRoaW5nKSB7XFxuICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3RlZCkpIHtcXG4gICAgdmFyIGxlbiA9IGV4cGVjdGVkLmxlbmd0aDtcXG4gICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5tYXAoZnVuY3Rpb24gKGkpIHtcXG4gICAgICByZXR1cm4gU3RyaW5nKGkpO1xcbiAgICB9KTtcXG5cXG4gICAgaWYgKGxlbiA+IDIpIHtcXG4gICAgICByZXR1cm4gXFxcIm9uZSBvZiBcXFwiLmNvbmNhdCh0aGluZywgXFxcIiBcXFwiKS5jb25jYXQoZXhwZWN0ZWQuc2xpY2UoMCwgbGVuIC0gMSkuam9pbignLCAnKSwgXFxcIiwgb3IgXFxcIikgKyBleHBlY3RlZFtsZW4gLSAxXTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPT09IDIpIHtcXG4gICAgICByZXR1cm4gXFxcIm9uZSBvZiBcXFwiLmNvbmNhdCh0aGluZywgXFxcIiBcXFwiKS5jb25jYXQoZXhwZWN0ZWRbMF0sIFxcXCIgb3IgXFxcIikuY29uY2F0KGV4cGVjdGVkWzFdKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gXFxcIm9mIFxcXCIuY29uY2F0KHRoaW5nLCBcXFwiIFxcXCIpLmNvbmNhdChleHBlY3RlZFswXSk7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBcXFwib2YgXFxcIi5jb25jYXQodGhpbmcsIFxcXCIgXFxcIikuY29uY2F0KFN0cmluZyhleHBlY3RlZCkpO1xcbiAgfVxcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL3N0YXJ0c1dpdGhcXG5cXG5cXG5mdW5jdGlvbiBzdGFydHNXaXRoKHN0ciwgc2VhcmNoLCBwb3MpIHtcXG4gIHJldHVybiBzdHIuc3Vic3RyKCFwb3MgfHwgcG9zIDwgMCA/IDAgOiArcG9zLCBzZWFyY2gubGVuZ3RoKSA9PT0gc2VhcmNoO1xcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL2VuZHNXaXRoXFxuXFxuXFxuZnVuY3Rpb24gZW5kc1dpdGgoc3RyLCBzZWFyY2gsIHRoaXNfbGVuKSB7XFxuICBpZiAodGhpc19sZW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzX2xlbiA+IHN0ci5sZW5ndGgpIHtcXG4gICAgdGhpc19sZW4gPSBzdHIubGVuZ3RoO1xcbiAgfVxcblxcbiAgcmV0dXJuIHN0ci5zdWJzdHJpbmcodGhpc19sZW4gLSBzZWFyY2gubGVuZ3RoLCB0aGlzX2xlbikgPT09IHNlYXJjaDtcXG59IC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N0cmluZy9pbmNsdWRlc1xcblxcblxcbmZ1bmN0aW9uIGluY2x1ZGVzKHN0ciwgc2VhcmNoLCBzdGFydCkge1xcbiAgaWYgKHR5cGVvZiBzdGFydCAhPT0gJ251bWJlcicpIHtcXG4gICAgc3RhcnQgPSAwO1xcbiAgfVxcblxcbiAgaWYgKHN0YXJ0ICsgc2VhcmNoLmxlbmd0aCA+IHN0ci5sZW5ndGgpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIHN0ci5pbmRleE9mKHNlYXJjaCwgc3RhcnQpICE9PSAtMTtcXG4gIH1cXG59XFxuXFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9PUFRfVkFMVUUnLCBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcXG4gIHJldHVybiAnVGhlIHZhbHVlIFxcXCInICsgdmFsdWUgKyAnXFxcIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gXFxcIicgKyBuYW1lICsgJ1xcXCInO1xcbn0sIFR5cGVFcnJvcik7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9BUkdfVFlQRScsIGZ1bmN0aW9uIChuYW1lLCBleHBlY3RlZCwgYWN0dWFsKSB7XFxuICAvLyBkZXRlcm1pbmVyOiAnbXVzdCBiZScgb3IgJ211c3Qgbm90IGJlJ1xcbiAgdmFyIGRldGVybWluZXI7XFxuXFxuICBpZiAodHlwZW9mIGV4cGVjdGVkID09PSAnc3RyaW5nJyAmJiBzdGFydHNXaXRoKGV4cGVjdGVkLCAnbm90ICcpKSB7XFxuICAgIGRldGVybWluZXIgPSAnbXVzdCBub3QgYmUnO1xcbiAgICBleHBlY3RlZCA9IGV4cGVjdGVkLnJlcGxhY2UoL15ub3QgLywgJycpO1xcbiAgfSBlbHNlIHtcXG4gICAgZGV0ZXJtaW5lciA9ICdtdXN0IGJlJztcXG4gIH1cXG5cXG4gIHZhciBtc2c7XFxuXFxuICBpZiAoZW5kc1dpdGgobmFtZSwgJyBhcmd1bWVudCcpKSB7XFxuICAgIC8vIEZvciBjYXNlcyBsaWtlICdmaXJzdCBhcmd1bWVudCdcXG4gICAgbXNnID0gXFxcIlRoZSBcXFwiLmNvbmNhdChuYW1lLCBcXFwiIFxcXCIpLmNvbmNhdChkZXRlcm1pbmVyLCBcXFwiIFxcXCIpLmNvbmNhdChvbmVPZihleHBlY3RlZCwgJ3R5cGUnKSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgdHlwZSA9IGluY2x1ZGVzKG5hbWUsICcuJykgPyAncHJvcGVydHknIDogJ2FyZ3VtZW50JztcXG4gICAgbXNnID0gXFxcIlRoZSBcXFxcXFxcIlxcXCIuY29uY2F0KG5hbWUsIFxcXCJcXFxcXFxcIiBcXFwiKS5jb25jYXQodHlwZSwgXFxcIiBcXFwiKS5jb25jYXQoZGV0ZXJtaW5lciwgXFxcIiBcXFwiKS5jb25jYXQob25lT2YoZXhwZWN0ZWQsICd0eXBlJykpO1xcbiAgfVxcblxcbiAgbXNnICs9IFxcXCIuIFJlY2VpdmVkIHR5cGUgXFxcIi5jb25jYXQodHlwZW9mIGFjdHVhbCk7XFxuICByZXR1cm4gbXNnO1xcbn0sIFR5cGVFcnJvcik7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GJywgJ3N0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GJyk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCcsIGZ1bmN0aW9uIChuYW1lKSB7XFxuICByZXR1cm4gJ1RoZSAnICsgbmFtZSArICcgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCc7XFxufSk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRScsICdQcmVtYXR1cmUgY2xvc2UnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fREVTVFJPWUVEJywgZnVuY3Rpb24gKG5hbWUpIHtcXG4gIHJldHVybiAnQ2Fubm90IGNhbGwgJyArIG5hbWUgKyAnIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWQnO1xcbn0pO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX01VTFRJUExFX0NBTExCQUNLJywgJ0NhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lcycpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9DQU5OT1RfUElQRScsICdDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlJyk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCcsICd3cml0ZSBhZnRlciBlbmQnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fTlVMTF9WQUxVRVMnLCAnTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0nLCBUeXBlRXJyb3IpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1VOS05PV05fRU5DT0RJTkcnLCBmdW5jdGlvbiAoYXJnKSB7XFxuICByZXR1cm4gJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBhcmc7XFxufSwgVHlwZUVycm9yKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQnLCAnc3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQnKTtcXG5tb2R1bGUuZXhwb3J0cy5jb2RlcyA9IGNvZGVzO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5bGNuSnZjbk10WW5KdmQzTmxjaTVxY3o4MlptWTFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMQ3REUVVFclF5d3dSRUZCTUVRc01rTkJRVEpETEdsRFFVRnBRenM3UVVGRmNrdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlluSnZkM05sY21sbWVTMXphV2R1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdlpYSnliM0p6TFdKeWIzZHpaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNibVoxYm1OMGFXOXVJRjlwYm1obGNtbDBjMHh2YjNObEtITjFZa05zWVhOekxDQnpkWEJsY2tOc1lYTnpLU0I3SUhOMVlrTnNZWE56TG5CeWIzUnZkSGx3WlNBOUlFOWlhbVZqZEM1amNtVmhkR1VvYzNWd1pYSkRiR0Z6Y3k1d2NtOTBiM1I1Y0dVcE95QnpkV0pEYkdGemN5NXdjbTkwYjNSNWNHVXVZMjl1YzNSeWRXTjBiM0lnUFNCemRXSkRiR0Z6Y3pzZ2MzVmlRMnhoYzNNdVgxOXdjbTkwYjE5ZklEMGdjM1Z3WlhKRGJHRnpjenNnZlZ4dVhHNTJZWElnWTI5a1pYTWdQU0I3ZlR0Y2JseHVablZ1WTNScGIyNGdZM0psWVhSbFJYSnliM0pVZVhCbEtHTnZaR1VzSUcxbGMzTmhaMlVzSUVKaGMyVXBJSHRjYmlBZ2FXWWdLQ0ZDWVhObEtTQjdYRzRnSUNBZ1FtRnpaU0E5SUVWeWNtOXlPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnWjJWMFRXVnpjMkZuWlNoaGNtY3hMQ0JoY21jeUxDQmhjbWN6S1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdFpYTnpZV2RsSUQwOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHMWxjM05oWjJVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRaWE56WVdkbEtHRnlaekVzSUdGeVp6SXNJR0Z5WnpNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJPYjJSbFJYSnliM0lnUFZ4dUlDQXZLaU5mWDFCVlVrVmZYeW92WEc0Z0lHWjFibU4wYVc5dUlDaGZRbUZ6WlNrZ2UxeHVJQ0FnSUY5cGJtaGxjbWwwYzB4dmIzTmxLRTV2WkdWRmNuSnZjaXdnWDBKaGMyVXBPMXh1WEc0Z0lDQWdablZ1WTNScGIyNGdUbTlrWlVWeWNtOXlLR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmZRbUZ6WlM1allXeHNLSFJvYVhNc0lHZGxkRTFsYzNOaFoyVW9ZWEpuTVN3Z1lYSm5NaXdnWVhKbk15a3BJSHg4SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUU1dlpHVkZjbkp2Y2p0Y2JpQWdmU2hDWVhObEtUdGNibHh1SUNCT2IyUmxSWEp5YjNJdWNISnZkRzkwZVhCbExtNWhiV1VnUFNCQ1lYTmxMbTVoYldVN1hHNGdJRTV2WkdWRmNuSnZjaTV3Y205MGIzUjVjR1V1WTI5a1pTQTlJR052WkdVN1hHNGdJR052WkdWelcyTnZaR1ZkSUQwZ1RtOWtaVVZ5Y205eU8xeHVmU0F2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJtOWtaV3B6TDI1dlpHVXZZbXh2WWk5Mk1UQXVPQzR3TDJ4cFlpOXBiblJsY201aGJDOWxjbkp2Y25NdWFuTmNibHh1WEc1bWRXNWpkR2x2YmlCdmJtVlBaaWhsZUhCbFkzUmxaQ3dnZEdocGJtY3BJSHRjYmlBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1pYaHdaV04wWldRcEtTQjdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHVjRjR1ZqZEdWa0xteGxibWQwYUR0Y2JpQWdJQ0JsZUhCbFkzUmxaQ0E5SUdWNGNHVmpkR1ZrTG0xaGNDaG1kVzVqZEdsdmJpQW9hU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRk4wY21sdVp5aHBLVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJR2xtSUNoc1pXNGdQaUF5S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWENKdmJtVWdiMllnWENJdVkyOXVZMkYwS0hSb2FXNW5MQ0JjSWlCY0lpa3VZMjl1WTJGMEtHVjRjR1ZqZEdWa0xuTnNhV05sS0RBc0lHeGxiaUF0SURFcExtcHZhVzRvSnl3Z0p5a3NJRndpTENCdmNpQmNJaWtnS3lCbGVIQmxZM1JsWkZ0c1pXNGdMU0F4WFR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQTlQVDBnTWlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWIyNWxJRzltSUZ3aUxtTnZibU5oZENoMGFHbHVaeXdnWENJZ1hDSXBMbU52Ym1OaGRDaGxlSEJsWTNSbFpGc3dYU3dnWENJZ2IzSWdYQ0lwTG1OdmJtTmhkQ2hsZUhCbFkzUmxaRnN4WFNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmNJbTltSUZ3aUxtTnZibU5oZENoMGFHbHVaeXdnWENJZ1hDSXBMbU52Ym1OaGRDaGxlSEJsWTNSbFpGc3dYU2s3WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmNJbTltSUZ3aUxtTnZibU5oZENoMGFHbHVaeXdnWENJZ1hDSXBMbU52Ym1OaGRDaFRkSEpwYm1jb1pYaHdaV04wWldRcEtUdGNiaUFnZlZ4dWZTQXZMeUJvZEhSd2N6b3ZMMlJsZG1Wc2IzQmxjaTV0YjNwcGJHeGhMbTl5Wnk5bGJpMVZVeTlrYjJOekwxZGxZaTlLWVhaaFUyTnlhWEIwTDFKbFptVnlaVzVqWlM5SGJHOWlZV3hmVDJKcVpXTjBjeTlUZEhKcGJtY3ZjM1JoY25SelYybDBhRnh1WEc1Y2JtWjFibU4wYVc5dUlITjBZWEowYzFkcGRHZ29jM1J5TENCelpXRnlZMmdzSUhCdmN5a2dlMXh1SUNCeVpYUjFjbTRnYzNSeUxuTjFZbk4wY2lnaGNHOXpJSHg4SUhCdmN5QThJREFnUHlBd0lEb2dLM0J2Y3l3Z2MyVmhjbU5vTG14bGJtZDBhQ2tnUFQwOUlITmxZWEpqYUR0Y2JuMGdMeThnYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHRWVk12Wkc5amN5OVhaV0l2U21GMllWTmpjbWx3ZEM5U1pXWmxjbVZ1WTJVdlIyeHZZbUZzWDA5aWFtVmpkSE12VTNSeWFXNW5MMlZ1WkhOWGFYUm9YRzVjYmx4dVpuVnVZM1JwYjI0Z1pXNWtjMWRwZEdnb2MzUnlMQ0J6WldGeVkyZ3NJSFJvYVhOZmJHVnVLU0I3WEc0Z0lHbG1JQ2gwYUdselgyeGxiaUE5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhJSFJvYVhOZmJHVnVJRDRnYzNSeUxteGxibWQwYUNrZ2UxeHVJQ0FnSUhSb2FYTmZiR1Z1SUQwZ2MzUnlMbXhsYm1kMGFEdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnpkSEl1YzNWaWMzUnlhVzVuS0hSb2FYTmZiR1Z1SUMwZ2MyVmhjbU5vTG14bGJtZDBhQ3dnZEdocGMxOXNaVzRwSUQwOVBTQnpaV0Z5WTJnN1hHNTlJQzh2SUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBwaGRtRlRZM0pwY0hRdlVtVm1aWEpsYm1ObEwwZHNiMkpoYkY5UFltcGxZM1J6TDFOMGNtbHVaeTlwYm1Oc2RXUmxjMXh1WEc1Y2JtWjFibU4wYVc5dUlHbHVZMngxWkdWektITjBjaXdnYzJWaGNtTm9MQ0J6ZEdGeWRDa2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlITjBZWEowSUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lITjBZWEowSUQwZ01EdGNiaUFnZlZ4dVhHNGdJR2xtSUNoemRHRnlkQ0FySUhObFlYSmphQzVzWlc1bmRHZ2dQaUJ6ZEhJdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCemRISXVhVzVrWlhoUFppaHpaV0Z5WTJnc0lITjBZWEowS1NBaFBUMGdMVEU3WEc0Z0lIMWNibjFjYmx4dVkzSmxZWFJsUlhKeWIzSlVlWEJsS0NkRlVsSmZTVTVXUVV4SlJGOVBVRlJmVmtGTVZVVW5MQ0JtZFc1amRHbHZiaUFvYm1GdFpTd2dkbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJQ2RVYUdVZ2RtRnNkV1VnWENJbklDc2dkbUZzZFdVZ0t5QW5YQ0lnYVhNZ2FXNTJZV3hwWkNCbWIzSWdiM0IwYVc5dUlGd2lKeUFySUc1aGJXVWdLeUFuWENJbk8xeHVmU3dnVkhsd1pVVnljbTl5S1R0Y2JtTnlaV0YwWlVWeWNtOXlWSGx3WlNnblJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVW5MQ0JtZFc1amRHbHZiaUFvYm1GdFpTd2daWGh3WldOMFpXUXNJR0ZqZEhWaGJDa2dlMXh1SUNBdkx5QmtaWFJsY20xcGJtVnlPaUFuYlhWemRDQmlaU2NnYjNJZ0oyMTFjM1FnYm05MElHSmxKMXh1SUNCMllYSWdaR1YwWlhKdGFXNWxjanRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR1Y0Y0dWamRHVmtJRDA5UFNBbmMzUnlhVzVuSnlBbUppQnpkR0Z5ZEhOWGFYUm9LR1Y0Y0dWamRHVmtMQ0FuYm05MElDY3BLU0I3WEc0Z0lDQWdaR1YwWlhKdGFXNWxjaUE5SUNkdGRYTjBJRzV2ZENCaVpTYzdYRzRnSUNBZ1pYaHdaV04wWldRZ1BTQmxlSEJsWTNSbFpDNXlaWEJzWVdObEtDOWVibTkwSUM4c0lDY25LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JrWlhSbGNtMXBibVZ5SUQwZ0oyMTFjM1FnWW1Vbk8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUcxelp6dGNibHh1SUNCcFppQW9aVzVrYzFkcGRHZ29ibUZ0WlN3Z0p5QmhjbWQxYldWdWRDY3BLU0I3WEc0Z0lDQWdMeThnUm05eUlHTmhjMlZ6SUd4cGEyVWdKMlpwY25OMElHRnlaM1Z0Wlc1MEoxeHVJQ0FnSUcxelp5QTlJRndpVkdobElGd2lMbU52Ym1OaGRDaHVZVzFsTENCY0lpQmNJaWt1WTI5dVkyRjBLR1JsZEdWeWJXbHVaWElzSUZ3aUlGd2lLUzVqYjI1allYUW9iMjVsVDJZb1pYaHdaV04wWldRc0lDZDBlWEJsSnlrcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhjaUIwZVhCbElEMGdhVzVqYkhWa1pYTW9ibUZ0WlN3Z0p5NG5LU0EvSUNkd2NtOXdaWEowZVNjZ09pQW5ZWEpuZFcxbGJuUW5PMXh1SUNBZ0lHMXpaeUE5SUZ3aVZHaGxJRnhjWENKY0lpNWpiMjVqWVhRb2JtRnRaU3dnWENKY1hGd2lJRndpS1M1amIyNWpZWFFvZEhsd1pTd2dYQ0lnWENJcExtTnZibU5oZENoa1pYUmxjbTFwYm1WeUxDQmNJaUJjSWlrdVkyOXVZMkYwS0c5dVpVOW1LR1Y0Y0dWamRHVmtMQ0FuZEhsd1pTY3BLVHRjYmlBZ2ZWeHVYRzRnSUcxelp5QXJQU0JjSWk0Z1VtVmpaV2wyWldRZ2RIbHdaU0JjSWk1amIyNWpZWFFvZEhsd1pXOW1JR0ZqZEhWaGJDazdYRzRnSUhKbGRIVnliaUJ0YzJjN1hHNTlMQ0JVZVhCbFJYSnliM0lwTzF4dVkzSmxZWFJsUlhKeWIzSlVlWEJsS0NkRlVsSmZVMVJTUlVGTlgxQlZVMGhmUVVaVVJWSmZSVTlHSnl3Z0ozTjBjbVZoYlM1d2RYTm9LQ2tnWVdaMFpYSWdSVTlHSnlrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUp5d2dablZ1WTNScGIyNGdLRzVoYldVcElIdGNiaUFnY21WMGRYSnVJQ2RVYUdVZ0p5QXJJRzVoYldVZ0t5QW5JRzFsZEdodlpDQnBjeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUW5PMXh1ZlNrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlUVkZKRlFVMWZVRkpGVFVGVVZWSkZYME5NVDFORkp5d2dKMUJ5WlcxaGRIVnlaU0JqYkc5elpTY3BPMXh1WTNKbFlYUmxSWEp5YjNKVWVYQmxLQ2RGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNjc0lHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJSEpsZEhWeWJpQW5RMkZ1Ym05MElHTmhiR3dnSnlBcklHNWhiV1VnS3lBbklHRm1kR1Z5SUdFZ2MzUnlaV0Z0SUhkaGN5QmtaWE4wY205NVpXUW5PMXh1ZlNrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeWNzSUNkRFlXeHNZbUZqYXlCallXeHNaV1FnYlhWc2RHbHdiR1VnZEdsdFpYTW5LVHRjYm1OeVpXRjBaVVZ5Y205eVZIbHdaU2duUlZKU1gxTlVVa1ZCVFY5RFFVNU9UMVJmVUVsUVJTY3NJQ2REWVc1dWIzUWdjR2x3WlN3Z2JtOTBJSEpsWVdSaFlteGxKeWs3WEc1amNtVmhkR1ZGY25KdmNsUjVjR1VvSjBWU1VsOVRWRkpGUVUxZlYxSkpWRVZmUVVaVVJWSmZSVTVFSnl3Z0ozZHlhWFJsSUdGbWRHVnlJR1Z1WkNjcE8xeHVZM0psWVhSbFJYSnliM0pVZVhCbEtDZEZVbEpmVTFSU1JVRk5YMDVWVEV4ZlZrRk1WVVZUSnl3Z0owMWhlU0J1YjNRZ2QzSnBkR1VnYm5Wc2JDQjJZV3gxWlhNZ2RHOGdjM1J5WldGdEp5d2dWSGx3WlVWeWNtOXlLVHRjYm1OeVpXRjBaVVZ5Y205eVZIbHdaU2duUlZKU1gxVk9TMDVQVjA1ZlJVNURUMFJKVGtjbkxDQm1kVzVqZEdsdmJpQW9ZWEpuS1NCN1hHNGdJSEpsZEhWeWJpQW5WVzVyYm05M2JpQmxibU52WkdsdVp6b2dKeUFySUdGeVp6dGNibjBzSUZSNWNHVkZjbkp2Y2lrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlUVkZKRlFVMWZWVTVUU0VsR1ZGOUJSbFJGVWw5RlRrUmZSVlpGVGxRbkxDQW5jM1J5WldGdExuVnVjMmhwWm5Rb0tTQmhablJsY2lCbGJtUWdaWFpsYm5RbktUdGNibTF2WkhWc1pTNWxlSEJ2Y25SekxtTnZaR1Z6SUQwZ1kyOWtaWE03WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7Ly8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuLy8gYSBkdXBsZXggc3RyZWFtIGlzIGp1c3QgYSBzdHJlYW0gdGhhdCBpcyBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZS5cXG4vLyBTaW5jZSBKUyBkb2Vzbid0IGhhdmUgbXVsdGlwbGUgcHJvdG90eXBhbCBpbmhlcml0YW5jZSwgdGhpcyBjbGFzc1xcbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cXG4vLyBXcml0YWJsZS5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBvYmplY3RLZXlzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24gKG9iaikge1xcbiAgdmFyIGtleXMgPSBbXTtcXG5cXG4gIGZvciAodmFyIGtleSBpbiBvYmopIHtcXG4gICAga2V5cy5wdXNoKGtleSk7XFxuICB9XFxuXFxuICByZXR1cm4ga2V5cztcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblxcbm1vZHVsZS5leHBvcnRzID0gRHVwbGV4O1xcblxcbnZhciBSZWFkYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9yZWFkYWJsZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcXFwiKTtcXG5cXG52YXIgV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fd3JpdGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXFxcIik7XFxuXFxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKShEdXBsZXgsIFJlYWRhYmxlKTtcXG5cXG57XFxuICAvLyBBbGxvdyB0aGUga2V5cyBhcnJheSB0byBiZSBHQydlZC5cXG4gIHZhciBrZXlzID0gb2JqZWN0S2V5cyhXcml0YWJsZS5wcm90b3R5cGUpO1xcblxcbiAgZm9yICh2YXIgdiA9IDA7IHYgPCBrZXlzLmxlbmd0aDsgdisrKSB7XFxuICAgIHZhciBtZXRob2QgPSBrZXlzW3ZdO1xcbiAgICBpZiAoIUR1cGxleC5wcm90b3R5cGVbbWV0aG9kXSkgRHVwbGV4LnByb3RvdHlwZVttZXRob2RdID0gV3JpdGFibGUucHJvdG90eXBlW21ldGhvZF07XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIER1cGxleChvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgRHVwbGV4KSkgcmV0dXJuIG5ldyBEdXBsZXgob3B0aW9ucyk7XFxuICBSZWFkYWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbiAgV3JpdGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gIHRoaXMuYWxsb3dIYWxmT3BlbiA9IHRydWU7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAob3B0aW9ucy5yZWFkYWJsZSA9PT0gZmFsc2UpIHRoaXMucmVhZGFibGUgPSBmYWxzZTtcXG4gICAgaWYgKG9wdGlvbnMud3JpdGFibGUgPT09IGZhbHNlKSB0aGlzLndyaXRhYmxlID0gZmFsc2U7XFxuXFxuICAgIGlmIChvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB7XFxuICAgICAgdGhpcy5hbGxvd0hhbGZPcGVuID0gZmFsc2U7XFxuICAgICAgdGhpcy5vbmNlKCdlbmQnLCBvbmVuZCk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XFxuICB9XFxufSk7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUJ1ZmZlcicsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKTtcXG4gIH1cXG59KTtcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ3dyaXRhYmxlTGVuZ3RoJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGg7XFxuICB9XFxufSk7IC8vIHRoZSBuby1oYWxmLW9wZW4gZW5mb3JjZXJcXG5cXG5mdW5jdGlvbiBvbmVuZCgpIHtcXG4gIC8vIElmIHRoZSB3cml0YWJsZSBzaWRlIGVuZGVkLCB0aGVuIHdlJ3JlIG9rLlxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQpIHJldHVybjsgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxcbiAgLy8gQnV0IGFsbG93IG1vcmUgd3JpdGVzIHRvIGhhcHBlbiBpbiB0aGlzIHRpY2suXFxuXFxuICBwcm9jZXNzLm5leHRUaWNrKG9uRW5kTlQsIHRoaXMpO1xcbn1cXG5cXG5mdW5jdGlvbiBvbkVuZE5UKHNlbGYpIHtcXG4gIHNlbGYuZW5kKCk7XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XFxuICB9LFxcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcXG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXFxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjlrZFhCc1pYZ3Vhbk0vTnpZNE55SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVR0QlFVTmlPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMQ3RIUVVGdlFqczdRVUZGTTBNc1pVRkJaU3h0UWtGQlR5eERRVUZETEN0SFFVRnZRanM3UVVGRk0wTXNiVUpCUVU4c1EwRkJReXcyUkVGQlZUczdRVUZGYkVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJReXhGUVVGRk96dEJRVVZJTzBGQlEwRTdRVUZEUVN4M1EwRkJkME03UVVGRGVFTTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5a2RYQnNaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JpOHZJR0VnWkhWd2JHVjRJSE4wY21WaGJTQnBjeUJxZFhOMElHRWdjM1J5WldGdElIUm9ZWFFnYVhNZ1ltOTBhQ0J5WldGa1lXSnNaU0JoYm1RZ2QzSnBkR0ZpYkdVdVhHNHZMeUJUYVc1alpTQktVeUJrYjJWemJpZDBJR2hoZG1VZ2JYVnNkR2x3YkdVZ2NISnZkRzkwZVhCaGJDQnBibWhsY21sMFlXNWpaU3dnZEdocGN5QmpiR0Z6YzF4dUx5OGdjSEp2ZEc5MGVYQmhiR3g1SUdsdWFHVnlhWFJ6SUdaeWIyMGdVbVZoWkdGaWJHVXNJR0Z1WkNCMGFHVnVJSEJoY21GemFYUnBZMkZzYkhrZ1puSnZiVnh1THk4Z1YzSnBkR0ZpYkdVdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnYjJKcVpXTjBTMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpJSHg4SUdaMWJtTjBhVzl1SUNodlltb3BJSHRjYmlBZ2RtRnlJR3RsZVhNZ1BTQmJYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnJaWGtnYVc0Z2IySnFLU0I3WEc0Z0lDQWdhMlY1Y3k1d2RYTm9LR3RsZVNrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2EyVjVjenRjYm4wN1hHNHZLand2Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSMWNHeGxlRHRjYmx4dWRtRnlJRkpsWVdSaFlteGxJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDNKbFlXUmhZbXhsSnlrN1hHNWNiblpoY2lCWGNtbDBZV0pzWlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21WaGJWOTNjbWwwWVdKc1pTY3BPMXh1WEc1eVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcEtFUjFjR3hsZUN3Z1VtVmhaR0ZpYkdVcE8xeHVYRzU3WEc0Z0lDOHZJRUZzYkc5M0lIUm9aU0JyWlhseklHRnljbUY1SUhSdklHSmxJRWRESjJWa0xseHVJQ0IyWVhJZ2EyVjVjeUE5SUc5aWFtVmpkRXRsZVhNb1YzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbEtUdGNibHh1SUNCbWIzSWdLSFpoY2lCMklEMGdNRHNnZGlBOElHdGxlWE11YkdWdVozUm9PeUIyS3lzcElIdGNiaUFnSUNCMllYSWdiV1YwYUc5a0lEMGdhMlY1YzF0MlhUdGNiaUFnSUNCcFppQW9JVVIxY0d4bGVDNXdjbTkwYjNSNWNHVmJiV1YwYUc5a1hTa2dSSFZ3YkdWNExuQnliM1J2ZEhsd1pWdHRaWFJvYjJSZElEMGdWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxXMjFsZEdodlpGMDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnUkhWd2JHVjRLRzl3ZEdsdmJuTXBJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVIxY0d4bGVDa3BJSEpsZEhWeWJpQnVaWGNnUkhWd2JHVjRLRzl3ZEdsdmJuTXBPMXh1SUNCU1pXRmtZV0pzWlM1allXeHNLSFJvYVhNc0lHOXdkR2x2Ym5NcE8xeHVJQ0JYY21sMFlXSnNaUzVqWVd4c0tIUm9hWE1zSUc5d2RHbHZibk1wTzF4dUlDQjBhR2x6TG1Gc2JHOTNTR0ZzWms5d1pXNGdQU0IwY25WbE8xeHVYRzRnSUdsbUlDaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVjbVZoWkdGaWJHVWdQVDA5SUdaaGJITmxLU0IwYUdsekxuSmxZV1JoWW14bElEMGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tHOXdkR2x2Ym5NdWQzSnBkR0ZpYkdVZ1BUMDlJR1poYkhObEtTQjBhR2x6TG5keWFYUmhZbXhsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3k1aGJHeHZkMGhoYkdaUGNHVnVJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWhiR3h2ZDBoaGJHWlBjR1Z1SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IwYUdsekxtOXVZMlVvSjJWdVpDY3NJRzl1Wlc1a0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNkM2NtbDBZV0pzWlVocFoyaFhZWFJsY2sxaGNtc25MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1ocFoyaFhZWFJsY2sxaGNtczdYRzRnSUgxY2JuMHBPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtFUjFjR3hsZUM1d2NtOTBiM1I1Y0dVc0lDZDNjbWwwWVdKc1pVSjFabVpsY2ljc0lIdGNiaUFnTHk4Z2JXRnJhVzVuSUdsMElHVjRjR3hwWTJsMElIUm9hWE1nY0hKdmNHVnlkSGtnYVhNZ2JtOTBJR1Z1ZFcxbGNtRmliR1ZjYmlBZ0x5OGdZbVZqWVhWelpTQnZkR2hsY25kcGMyVWdjMjl0WlNCd2NtOTBiM1I1Y0dVZ2JXRnVhWEIxYkdGMGFXOXVJR2x1WEc0Z0lDOHZJSFZ6WlhKc1lXNWtJSGRwYkd3Z1ptRnBiRnh1SUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdKaVlnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1blpYUkNkV1ptWlhJb0tUdGNiaUFnZlZ4dWZTazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1JIVndiR1Y0TG5CeWIzUnZkSGx3WlN3Z0ozZHlhWFJoWW14bFRHVnVaM1JvSnl3Z2UxeHVJQ0F2THlCdFlXdHBibWNnYVhRZ1pYaHdiR2xqYVhRZ2RHaHBjeUJ3Y205d1pYSjBlU0JwY3lCdWIzUWdaVzUxYldWeVlXSnNaVnh1SUNBdkx5QmlaV05oZFhObElHOTBhR1Z5ZDJselpTQnpiMjFsSUhCeWIzUnZkSGx3WlNCdFlXNXBjSFZzWVhScGIyNGdhVzVjYmlBZ0x5OGdkWE5sY214aGJtUWdkMmxzYkNCbVlXbHNYRzRnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUdkbGRDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNXNaVzVuZEdnN1hHNGdJSDFjYm4wcE95QXZMeUIwYUdVZ2JtOHRhR0ZzWmkxdmNHVnVJR1Z1Wm05eVkyVnlYRzVjYm1aMWJtTjBhVzl1SUc5dVpXNWtLQ2tnZTF4dUlDQXZMeUJKWmlCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlNCbGJtUmxaQ3dnZEdobGJpQjNaU2R5WlNCdmF5NWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRcElISmxkSFZ5YmpzZ0x5OGdibThnYlc5eVpTQmtZWFJoSUdOaGJpQmlaU0IzY21sMGRHVnVMbHh1SUNBdkx5QkNkWFFnWVd4c2IzY2diVzl5WlNCM2NtbDBaWE1nZEc4Z2FHRndjR1Z1SUdsdUlIUm9hWE1nZEdsamF5NWNibHh1SUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0c5dVJXNWtUbFFzSUhSb2FYTXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZia1Z1WkU1VUtITmxiR1lwSUh0Y2JpQWdjMlZzWmk1bGJtUW9LVHRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNka1pYTjBjbTk1WldRbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dUlDQjlMRnh1SUNCelpYUTZJR1oxYm1OMGFXOXVJSE5sZENoMllXeDFaU2tnZTF4dUlDQWdJQzh2SUhkbElHbG5ibTl5WlNCMGFHVWdkbUZzZFdVZ2FXWWdkR2hsSUhOMGNtVmhiVnh1SUNBZ0lDOHZJR2hoY3lCdWIzUWdZbVZsYmlCcGJtbDBhV0ZzYVhwbFpDQjVaWFJjYmlBZ0lDQnBaaUFvZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnWW1GamEzZGhjbVFnWTI5dGNHRjBhV0pwYkdsMGVTd2dkR2hsSUhWelpYSWdhWE1nWlhod2JHbGphWFJzZVZ4dUlDQWdJQzh2SUcxaGJtRm5hVzVuSUdSbGMzUnliM2xsWkZ4dVhHNWNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFpoYkhWbE8xeHVJQ0FnSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cXG4vLyBiYXNpY2FsbHkganVzdCB0aGUgbW9zdCBtaW5pbWFsIHNvcnQgb2YgVHJhbnNmb3JtIHN0cmVhbS5cXG4vLyBFdmVyeSB3cml0dGVuIGNodW5rIGdldHMgb3V0cHV0IGFzLWlzLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gUGFzc1Rocm91Z2g7XFxuXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV90cmFuc2Zvcm0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XFxuXFxuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbn1cXG5cXG5QYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihudWxsLCBjaHVuayk7XFxufTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl3WVhOemRHaHliM1ZuYUM1cWN6OHhZbU5oSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanM3UVVGRlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHBTRUZCY1VJN08wRkJSVGRETEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3TzBGQlJXeENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5d1lYTnpkR2h5YjNWbmFDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRU52Y0hseWFXZG9kQ0JLYjNsbGJuUXNJRWx1WXk0Z1lXNWtJRzkwYUdWeUlFNXZaR1VnWTI5dWRISnBZblYwYjNKekxseHVMeTljYmk4dklGQmxjbTFwYzNOcGIyNGdhWE1nYUdWeVpXSjVJR2R5WVc1MFpXUXNJR1p5WldVZ2IyWWdZMmhoY21kbExDQjBieUJoYm5rZ2NHVnljMjl1SUc5aWRHRnBibWx1WnlCaFhHNHZMeUJqYjNCNUlHOW1JSFJvYVhNZ2MyOW1kSGRoY21VZ1lXNWtJR0Z6YzI5amFXRjBaV1FnWkc5amRXMWxiblJoZEdsdmJpQm1hV3hsY3lBb2RHaGxYRzR2THlCY0lsTnZablIzWVhKbFhDSXBMQ0IwYnlCa1pXRnNJR2x1SUhSb1pTQlRiMlowZDJGeVpTQjNhWFJvYjNWMElISmxjM1J5YVdOMGFXOXVMQ0JwYm1Oc2RXUnBibWRjYmk4dklIZHBkR2h2ZFhRZ2JHbHRhWFJoZEdsdmJpQjBhR1VnY21sbmFIUnpJSFJ2SUhWelpTd2dZMjl3ZVN3Z2JXOWthV1o1TENCdFpYSm5aU3dnY0hWaWJHbHphQ3hjYmk4dklHUnBjM1J5YVdKMWRHVXNJSE4xWW14cFkyVnVjMlVzSUdGdVpDOXZjaUJ6Wld4c0lHTnZjR2xsY3lCdlppQjBhR1VnVTI5bWRIZGhjbVVzSUdGdVpDQjBieUJ3WlhKdGFYUmNiaTh2SUhCbGNuTnZibk1nZEc4Z2QyaHZiU0IwYUdVZ1UyOW1kSGRoY21VZ2FYTWdablZ5Ym1semFHVmtJSFJ2SUdSdklITnZMQ0J6ZFdKcVpXTjBJSFJ2SUhSb1pWeHVMeThnWm05c2JHOTNhVzVuSUdOdmJtUnBkR2x2Ym5NNlhHNHZMMXh1THk4Z1ZHaGxJR0ZpYjNabElHTnZjSGx5YVdkb2RDQnViM1JwWTJVZ1lXNWtJSFJvYVhNZ2NHVnliV2x6YzJsdmJpQnViM1JwWTJVZ2MyaGhiR3dnWW1VZ2FXNWpiSFZrWldSY2JpOHZJR2x1SUdGc2JDQmpiM0JwWlhNZ2IzSWdjM1ZpYzNSaGJuUnBZV3dnY0c5eWRHbHZibk1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMbHh1THk5Y2JpOHZJRlJJUlNCVFQwWlVWMEZTUlNCSlV5QlFVazlXU1VSRlJDQmNJa0ZUSUVsVFhDSXNJRmRKVkVoUFZWUWdWMEZTVWtGT1ZGa2dUMFlnUVU1WklFdEpUa1FzSUVWWVVGSkZVMU5jYmk4dklFOVNJRWxOVUV4SlJVUXNJRWxPUTB4VlJFbE9SeUJDVlZRZ1RrOVVJRXhKVFVsVVJVUWdWRThnVkVoRklGZEJVbEpCVGxSSlJWTWdUMFpjYmk4dklFMUZVa05JUVU1VVFVSkpURWxVV1N3Z1JrbFVUa1ZUVXlCR1QxSWdRU0JRUVZKVVNVTlZURUZTSUZCVlVsQlBVMFVnUVU1RUlFNVBUa2xPUmxKSlRrZEZUVVZPVkM0Z1NVNWNiaTh2SUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCQlZWUklUMUpUSUU5U0lFTlBVRmxTU1VkSVZDQklUMHhFUlZKVElFSkZJRXhKUVVKTVJTQkdUMUlnUVU1WklFTk1RVWxOTEZ4dUx5OGdSRUZOUVVkRlV5QlBVaUJQVkVoRlVpQk1TVUZDU1V4SlZGa3NJRmRJUlZSSVJWSWdTVTRnUVU0Z1FVTlVTVTlPSUU5R0lFTlBUbFJTUVVOVUxDQlVUMUpVSUU5U1hHNHZMeUJQVkVoRlVsZEpVMFVzSUVGU1NWTkpUa2NnUmxKUFRTd2dUMVZVSUU5R0lFOVNJRWxPSUVOUFRrNUZRMVJKVDA0Z1YwbFVTQ0JVU0VVZ1UwOUdWRmRCVWtVZ1QxSWdWRWhGWEc0dkx5QlZVMFVnVDFJZ1QxUklSVklnUkVWQlRFbE9SMU1nU1U0Z1ZFaEZJRk5QUmxSWFFWSkZMbHh1THk4Z1lTQndZWE56ZEdoeWIzVm5hQ0J6ZEhKbFlXMHVYRzR2THlCaVlYTnBZMkZzYkhrZ2FuVnpkQ0IwYUdVZ2JXOXpkQ0J0YVc1cGJXRnNJSE52Y25RZ2IyWWdWSEpoYm5ObWIzSnRJSE4wY21WaGJTNWNiaTh2SUVWMlpYSjVJSGR5YVhSMFpXNGdZMmgxYm1zZ1oyVjBjeUJ2ZFhSd2RYUWdZWE10YVhNdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1VHRnpjMVJvY205MVoyZzdYRzVjYm5aaGNpQlVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmZEhKaGJuTm1iM0p0SnlrN1hHNWNibkpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWtvVUdGemMxUm9jbTkxWjJnc0lGUnlZVzV6Wm05eWJTazdYRzVjYm1aMWJtTjBhVzl1SUZCaGMzTlVhSEp2ZFdkb0tHOXdkR2x2Ym5NcElIdGNiaUFnYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlGQmhjM05VYUhKdmRXZG9LU2tnY21WMGRYSnVJRzVsZHlCUVlYTnpWR2h5YjNWbmFDaHZjSFJwYjI1ektUdGNiaUFnVkhKaGJuTm1iM0p0TG1OaGJHd29kR2hwY3l3Z2IzQjBhVzl1Y3lrN1hHNTlYRzVjYmxCaGMzTlVhSEp2ZFdkb0xuQnliM1J2ZEhsd1pTNWZkSEpoYm5ObWIzSnRJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnWTJJb2JuVnNiQ3dnWTJoMWJtc3BPMXh1ZlRzaVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gUmVhZGFibGU7XFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgRHVwbGV4O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblJlYWRhYmxlLlJlYWRhYmxlU3RhdGUgPSBSZWFkYWJsZVN0YXRlO1xcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIEVFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZlbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxcIikuRXZlbnRFbWl0dGVyO1xcblxcbnZhciBFRWxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiBFRWxpc3RlbmVyQ291bnQoZW1pdHRlciwgdHlwZSkge1xcbiAgcmV0dXJuIGVtaXR0ZXIubGlzdGVuZXJzKHR5cGUpLmxlbmd0aDtcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcblxcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XFxuXFxuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcXG59XFxuXFxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcXG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xcbn1cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcblxcbnZhciBkZWJ1Z1V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB1dGlsICovIDcpO1xcblxcbnZhciBkZWJ1ZztcXG5cXG5pZiAoZGVidWdVdGlsICYmIGRlYnVnVXRpbC5kZWJ1Z2xvZykge1xcbiAgZGVidWcgPSBkZWJ1Z1V0aWwuZGVidWdsb2coJ3N0cmVhbScpO1xcbn0gZWxzZSB7XFxuICBkZWJ1ZyA9IGZ1bmN0aW9uIGRlYnVnKCkge307XFxufVxcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblxcbnZhciBCdWZmZXJMaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qc1xcXCIpO1xcblxcbnZhciBkZXN0cm95SW1wbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95ICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXFxcIik7XFxuXFxudmFyIF9yZXF1aXJlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZS5qc1xcXCIpLFxcbiAgICBnZXRIaWdoV2F0ZXJNYXJrID0gX3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyaztcXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9JTlZBTElEX0FSR19UWVBFID0gX3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsXFxuICAgIEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDsgLy8gTGF6eSBsb2FkZWQgdG8gaW1wcm92ZSB0aGUgc3RhcnR1cCBwZXJmb3JtYW5jZS5cXG5cXG5cXG52YXIgU3RyaW5nRGVjb2RlcjtcXG52YXIgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xcbnZhciBmcm9tO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoUmVhZGFibGUsIFN0cmVhbSk7XFxuXFxudmFyIGVycm9yT3JEZXN0cm95ID0gZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3k7XFxudmFyIGtQcm94eUV2ZW50cyA9IFsnZXJyb3InLCAnY2xvc2UnLCAnZGVzdHJveScsICdwYXVzZScsICdyZXN1bWUnXTtcXG5cXG5mdW5jdGlvbiBwcmVwZW5kTGlzdGVuZXIoZW1pdHRlciwgZXZlbnQsIGZuKSB7XFxuICAvLyBTYWRseSB0aGlzIGlzIG5vdCBjYWNoZWFibGUgYXMgc29tZSBsaWJyYXJpZXMgYnVuZGxlIHRoZWlyIG93blxcbiAgLy8gZXZlbnQgZW1pdHRlciBpbXBsZW1lbnRhdGlvbiB3aXRoIHRoZW0uXFxuICBpZiAodHlwZW9mIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyID09PSAnZnVuY3Rpb24nKSByZXR1cm4gZW1pdHRlci5wcmVwZW5kTGlzdGVuZXIoZXZlbnQsIGZuKTsgLy8gVGhpcyBpcyBhIGhhY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIGFueVxcbiAgLy8gdXNlcmxhbmQgb25lcy4gIE5FVkVSIERPIFRISVMuIFRoaXMgaXMgaGVyZSBvbmx5IGJlY2F1c2UgdGhpcyBjb2RlIG5lZWRzXFxuICAvLyB0byBjb250aW51ZSB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgTm9kZS5qcyB0aGF0IGRvIG5vdCBpbmNsdWRlXFxuICAvLyB0aGUgcHJlcGVuZExpc3RlbmVyKCkgbWV0aG9kLiBUaGUgZ29hbCBpcyB0byBldmVudHVhbGx5IHJlbW92ZSB0aGlzIGhhY2suXFxuXFxuICBpZiAoIWVtaXR0ZXIuX2V2ZW50cyB8fCAhZW1pdHRlci5fZXZlbnRzW2V2ZW50XSkgZW1pdHRlci5vbihldmVudCwgZm4pO2Vsc2UgaWYgKEFycmF5LmlzQXJyYXkoZW1pdHRlci5fZXZlbnRzW2V2ZW50XSkpIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0udW5zaGlmdChmbik7ZWxzZSBlbWl0dGVyLl9ldmVudHNbZXZlbnRdID0gW2ZuLCBlbWl0dGVyLl9ldmVudHNbZXZlbnRdXTtcXG59XFxuXFxuZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXFxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cXG5cXG4gIGlmICh0eXBlb2YgaXNEdXBsZXggIT09ICdib29sZWFuJykgaXNEdXBsZXggPSBzdHJlYW0gaW5zdGFuY2VvZiBEdXBsZXg7IC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXFxuICAvLyBtYWtlIGFsbCB0aGUgYnVmZmVyIG1lcmdpbmcgYW5kIGxlbmd0aCBjaGVja3MgZ28gYXdheVxcblxcbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XFxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlOyAvLyB0aGUgcG9pbnQgYXQgd2hpY2ggaXQgc3RvcHMgY2FsbGluZyBfcmVhZCgpIHRvIGZpbGwgdGhlIGJ1ZmZlclxcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyBcXFwiZG9uJ3QgY2FsbCBfcmVhZCBwcmVlbXB0aXZlbHkgZXZlclxcXCJcXG5cXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IGdldEhpZ2hXYXRlck1hcmsodGhpcywgb3B0aW9ucywgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIGlzRHVwbGV4KTsgLy8gQSBsaW5rZWQgbGlzdCBpcyB1c2VkIHRvIHN0b3JlIGRhdGEgY2h1bmtzIGluc3RlYWQgb2YgYW4gYXJyYXkgYmVjYXVzZSB0aGVcXG4gIC8vIGxpbmtlZCBsaXN0IGNhbiByZW1vdmUgZWxlbWVudHMgZnJvbSB0aGUgYmVnaW5uaW5nIGZhc3RlciB0aGFuXFxuICAvLyBhcnJheS5zaGlmdCgpXFxuXFxuICB0aGlzLmJ1ZmZlciA9IG5ldyBCdWZmZXJMaXN0KCk7XFxuICB0aGlzLmxlbmd0aCA9IDA7XFxuICB0aGlzLnBpcGVzID0gbnVsbDtcXG4gIHRoaXMucGlwZXNDb3VudCA9IDA7XFxuICB0aGlzLmZsb3dpbmcgPSBudWxsO1xcbiAgdGhpcy5lbmRlZCA9IGZhbHNlO1xcbiAgdGhpcy5lbmRFbWl0dGVkID0gZmFsc2U7XFxuICB0aGlzLnJlYWRpbmcgPSBmYWxzZTsgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxcbiAgLy8gaW1tZWRpYXRlbHksIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2VcXG4gIC8vIGFueSBhY3Rpb25zIHRoYXQgc2hvdWxkbid0IGhhcHBlbiB1bnRpbCBcXFwibGF0ZXJcXFwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xcbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHJlYWQgY2FsbC5cXG5cXG4gIHRoaXMuc3luYyA9IHRydWU7IC8vIHdoZW5ldmVyIHdlIHJldHVybiBudWxsLCB0aGVuIHdlIHNldCBhIGZsYWcgdG8gc2F5XFxuICAvLyB0aGF0IHdlJ3JlIGF3YWl0aW5nIGEgJ3JlYWRhYmxlJyBldmVudCBlbWlzc2lvbi5cXG5cXG4gIHRoaXMubmVlZFJlYWRhYmxlID0gZmFsc2U7XFxuICB0aGlzLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgdGhpcy5yZWFkYWJsZUxpc3RlbmluZyA9IGZhbHNlO1xcbiAgdGhpcy5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcXG4gIHRoaXMucGF1c2VkID0gdHJ1ZTsgLy8gU2hvdWxkIGNsb3NlIGJlIGVtaXR0ZWQgb24gZGVzdHJveS4gRGVmYXVsdHMgdG8gdHJ1ZS5cXG5cXG4gIHRoaXMuZW1pdENsb3NlID0gb3B0aW9ucy5lbWl0Q2xvc2UgIT09IGZhbHNlOyAvLyBTaG91bGQgLmRlc3Ryb3koKSBiZSBjYWxsZWQgYWZ0ZXIgJ2VuZCcgKGFuZCBwb3RlbnRpYWxseSAnZmluaXNoJylcXG5cXG4gIHRoaXMuYXV0b0Rlc3Ryb3kgPSAhIW9wdGlvbnMuYXV0b0Rlc3Ryb3k7IC8vIGhhcyBpdCBiZWVuIGRlc3Ryb3llZFxcblxcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTsgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxcbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxcblxcbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7IC8vIHRoZSBudW1iZXIgb2Ygd3JpdGVycyB0aGF0IGFyZSBhd2FpdGluZyBhIGRyYWluIGV2ZW50IGluIC5waXBlKClzXFxuXFxuICB0aGlzLmF3YWl0RHJhaW4gPSAwOyAvLyBpZiB0cnVlLCBhIG1heWJlUmVhZE1vcmUgaGFzIGJlZW4gc2NoZWR1bGVkXFxuXFxuICB0aGlzLnJlYWRpbmdNb3JlID0gZmFsc2U7XFxuICB0aGlzLmRlY29kZXIgPSBudWxsO1xcbiAgdGhpcy5lbmNvZGluZyA9IG51bGw7XFxuXFxuICBpZiAob3B0aW9ucy5lbmNvZGluZykge1xcbiAgICBpZiAoIVN0cmluZ0RlY29kZXIpIFN0cmluZ0RlY29kZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzdHJpbmdfZGVjb2Rlci8gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1xcXCIpLlN0cmluZ0RlY29kZXI7XFxuICAgIHRoaXMuZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKG9wdGlvbnMuZW5jb2RpbmcpO1xcbiAgICB0aGlzLmVuY29kaW5nID0gb3B0aW9ucy5lbmNvZGluZztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gUmVhZGFibGUob3B0aW9ucykge1xcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSkgcmV0dXJuIG5ldyBSZWFkYWJsZShvcHRpb25zKTsgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxcbiAgLy8gdGhlIFJlYWRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XFxuXFxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZSA9IG5ldyBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTsgLy8gbGVnYWN5XFxuXFxuICB0aGlzLnJlYWRhYmxlID0gdHJ1ZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5yZWFkID09PSAnZnVuY3Rpb24nKSB0aGlzLl9yZWFkID0gb3B0aW9ucy5yZWFkO1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZGVzdHJveSA9IG9wdGlvbnMuZGVzdHJveTtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZDtcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxcbiAgICBpZiAoIXRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XFxuUmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcXG4gIGNiKGVycik7XFxufTsgLy8gTWFudWFsbHkgc2hvdmUgc29tZXRoaW5nIGludG8gdGhlIHJlYWQoKSBidWZmZXIuXFxuLy8gVGhpcyByZXR1cm5zIHRydWUgaWYgdGhlIGhpZ2hXYXRlck1hcmsgaGFzIG5vdCBiZWVuIGhpdCB5ZXQsXFxuLy8gc2ltaWxhciB0byBob3cgV3JpdGFibGUud3JpdGUoKSByZXR1cm5zIHRydWUgaWYgeW91IHNob3VsZFxcbi8vIHdyaXRlKCkgc29tZSBtb3JlLlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciBza2lwQ2h1bmtDaGVjaztcXG5cXG4gIGlmICghc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBpZiAodHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xcbiAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcgfHwgc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xcblxcbiAgICAgIGlmIChlbmNvZGluZyAhPT0gc3RhdGUuZW5jb2RpbmcpIHtcXG4gICAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oY2h1bmssIGVuY29kaW5nKTtcXG4gICAgICAgIGVuY29kaW5nID0gJyc7XFxuICAgICAgfVxcblxcbiAgICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIGVuY29kaW5nLCBmYWxzZSwgc2tpcENodW5rQ2hlY2spO1xcbn07IC8vIFVuc2hpZnQgc2hvdWxkICphbHdheXMqIGJlIHNvbWV0aGluZyBkaXJlY3RseSBvdXQgb2YgcmVhZCgpXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoY2h1bmspIHtcXG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBudWxsLCB0cnVlLCBmYWxzZSk7XFxufTtcXG5cXG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xcbiAgZGVidWcoJ3JlYWRhYmxlQWRkQ2h1bmsnLCBjaHVuayk7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuXFxuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcXG4gICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGVyO1xcbiAgICBpZiAoIXNraXBDaHVua0NoZWNrKSBlciA9IGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspO1xcblxcbiAgICBpZiAoZXIpIHtcXG4gICAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVyKTtcXG4gICAgfSBlbHNlIGlmIChzdGF0ZS5vYmplY3RNb2RlIHx8IGNodW5rICYmIGNodW5rLmxlbmd0aCA+IDApIHtcXG4gICAgICBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2h1bmspICE9PSBCdWZmZXIucHJvdG90eXBlKSB7XFxuICAgICAgICBjaHVuayA9IF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYWRkVG9Gcm9udCkge1xcbiAgICAgICAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgbmV3IEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQoKSk7ZWxzZSBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgdHJ1ZSk7XFxuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5lbmRlZCkge1xcbiAgICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBuZXcgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRigpKTtcXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmRlc3Ryb3llZCkge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuXFxuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcXG4gICAgICAgICAgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTtcXG4gICAgICAgICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsubGVuZ3RoICE9PSAwKSBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgZmFsc2UpO2Vsc2UgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFhZGRUb0Zyb250KSB7XFxuICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICAgIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XFxuICAgIH1cXG4gIH0gLy8gV2UgY2FuIHB1c2ggbW9yZSBkYXRhIGlmIHdlIGFyZSBiZWxvdyB0aGUgaGlnaFdhdGVyTWFyay5cXG4gIC8vIEFsc28sIGlmIHdlIGhhdmUgbm8gZGF0YSB5ZXQsIHdlIGNhbiBzdGFuZCBzb21lIG1vcmUgYnl0ZXMuXFxuICAvLyBUaGlzIGlzIHRvIHdvcmsgYXJvdW5kIGNhc2VzIHdoZXJlIGh3bT0wLCBzdWNoIGFzIHRoZSByZXBsLlxcblxcblxcbiAgcmV0dXJuICFzdGF0ZS5lbmRlZCAmJiAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5sZW5ndGggPT09IDApO1xcbn1cXG5cXG5mdW5jdGlvbiBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgYWRkVG9Gcm9udCkge1xcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwICYmICFzdGF0ZS5zeW5jKSB7XFxuICAgIHN0YXRlLmF3YWl0RHJhaW4gPSAwO1xcbiAgICBzdHJlYW0uZW1pdCgnZGF0YScsIGNodW5rKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIHVwZGF0ZSB0aGUgYnVmZmVyIGluZm8uXFxuICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgaWYgKGFkZFRvRnJvbnQpIHN0YXRlLmJ1ZmZlci51bnNoaWZ0KGNodW5rKTtlbHNlIHN0YXRlLmJ1ZmZlci5wdXNoKGNodW5rKTtcXG4gICAgaWYgKHN0YXRlLm5lZWRSZWFkYWJsZSkgZW1pdFJlYWRhYmxlKHN0cmVhbSk7XFxuICB9XFxuXFxuICBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xcbn1cXG5cXG5mdW5jdGlvbiBjaHVua0ludmFsaWQoc3RhdGUsIGNodW5rKSB7XFxuICB2YXIgZXI7XFxuXFxuICBpZiAoIV9pc1VpbnQ4QXJyYXkoY2h1bmspICYmIHR5cGVvZiBjaHVuayAhPT0gJ3N0cmluZycgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBlciA9IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnY2h1bmsnLCBbJ3N0cmluZycsICdCdWZmZXInLCAnVWludDhBcnJheSddLCBjaHVuayk7XFxuICB9XFxuXFxuICByZXR1cm4gZXI7XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPT09IGZhbHNlO1xcbn07IC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZyA9IGZ1bmN0aW9uIChlbmMpIHtcXG4gIGlmICghU3RyaW5nRGVjb2RlcikgU3RyaW5nRGVjb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHN0cmluZ19kZWNvZGVyLyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzXFxcIikuU3RyaW5nRGVjb2RlcjtcXG4gIHZhciBkZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2RlciA9IGRlY29kZXI7IC8vIElmIHNldEVuY29kaW5nKG51bGwpLCBkZWNvZGVyLmVuY29kaW5nIGVxdWFscyB1dGY4XFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nID0gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nOyAvLyBJdGVyYXRlIG92ZXIgY3VycmVudCBidWZmZXIgdG8gY29udmVydCBhbHJlYWR5IHN0b3JlZCBCdWZmZXJzOlxcblxcbiAgdmFyIHAgPSB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkO1xcbiAgdmFyIGNvbnRlbnQgPSAnJztcXG5cXG4gIHdoaWxlIChwICE9PSBudWxsKSB7XFxuICAgIGNvbnRlbnQgKz0gZGVjb2Rlci53cml0ZShwLmRhdGEpO1xcbiAgICBwID0gcC5uZXh0O1xcbiAgfVxcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKTtcXG5cXG4gIGlmIChjb250ZW50ICE9PSAnJykgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChjb250ZW50KTtcXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoID0gY29udGVudC5sZW5ndGg7XFxuICByZXR1cm4gdGhpcztcXG59OyAvLyBEb24ndCByYWlzZSB0aGUgaHdtID4gMUdCXFxuXFxuXFxudmFyIE1BWF9IV00gPSAweDQwMDAwMDAwO1xcblxcbmZ1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pIHtcXG4gIGlmIChuID49IE1BWF9IV00pIHtcXG4gICAgLy8gVE9ETyhyb25hZyk6IFRocm93IEVSUl9WQUxVRV9PVVRfT0ZfUkFOR0UuXFxuICAgIG4gPSBNQVhfSFdNO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gR2V0IHRoZSBuZXh0IGhpZ2hlc3QgcG93ZXIgb2YgMiB0byBwcmV2ZW50IGluY3JlYXNpbmcgaHdtIGV4Y2Vzc2l2ZWx5IGluXFxuICAgIC8vIHRpbnkgYW1vdW50c1xcbiAgICBuLS07XFxuICAgIG4gfD0gbiA+Pj4gMTtcXG4gICAgbiB8PSBuID4+PiAyO1xcbiAgICBuIHw9IG4gPj4+IDQ7XFxuICAgIG4gfD0gbiA+Pj4gODtcXG4gICAgbiB8PSBuID4+PiAxNjtcXG4gICAgbisrO1xcbiAgfVxcblxcbiAgcmV0dXJuIG47XFxufSAvLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGlubGluYWJsZSwgc28gcGxlYXNlIHRha2UgY2FyZSB3aGVuIG1ha2luZ1xcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXFxuXFxuXFxuZnVuY3Rpb24gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSkge1xcbiAgaWYgKG4gPD0gMCB8fCBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIHJldHVybiAwO1xcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldHVybiAxO1xcblxcbiAgaWYgKG4gIT09IG4pIHtcXG4gICAgLy8gT25seSBmbG93IG9uZSBidWZmZXIgYXQgYSB0aW1lXFxuICAgIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCkgcmV0dXJuIHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoO2Vsc2UgcmV0dXJuIHN0YXRlLmxlbmd0aDtcXG4gIH0gLy8gSWYgd2UncmUgYXNraW5nIGZvciBtb3JlIHRoYW4gdGhlIGN1cnJlbnQgaHdtLCB0aGVuIHJhaXNlIHRoZSBod20uXFxuXFxuXFxuICBpZiAobiA+IHN0YXRlLmhpZ2hXYXRlck1hcmspIHN0YXRlLmhpZ2hXYXRlck1hcmsgPSBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhuKTtcXG4gIGlmIChuIDw9IHN0YXRlLmxlbmd0aCkgcmV0dXJuIG47IC8vIERvbid0IGhhdmUgZW5vdWdoXFxuXFxuICBpZiAoIXN0YXRlLmVuZGVkKSB7XFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgIHJldHVybiAwO1xcbiAgfVxcblxcbiAgcmV0dXJuIHN0YXRlLmxlbmd0aDtcXG59IC8vIHlvdSBjYW4gb3ZlcnJpZGUgZWl0aGVyIHRoaXMgbWV0aG9kLCBvciB0aGUgYXN5bmMgX3JlYWQobikgYmVsb3cuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnJlYWQgPSBmdW5jdGlvbiAobikge1xcbiAgZGVidWcoJ3JlYWQnLCBuKTtcXG4gIG4gPSBwYXJzZUludChuLCAxMCk7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIG5PcmlnID0gbjtcXG4gIGlmIChuICE9PSAwKSBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTsgLy8gaWYgd2UncmUgZG9pbmcgcmVhZCgwKSB0byB0cmlnZ2VyIGEgcmVhZGFibGUgZXZlbnQsIGJ1dCB3ZVxcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxcbiAgLy8gdGhlICdyZWFkYWJsZScgZXZlbnQgYW5kIG1vdmUgb24uXFxuXFxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5uZWVkUmVhZGFibGUgJiYgKChzdGF0ZS5oaWdoV2F0ZXJNYXJrICE9PSAwID8gc3RhdGUubGVuZ3RoID49IHN0YXRlLmhpZ2hXYXRlck1hcmsgOiBzdGF0ZS5sZW5ndGggPiAwKSB8fCBzdGF0ZS5lbmRlZCkpIHtcXG4gICAgZGVidWcoJ3JlYWQ6IGVtaXRSZWFkYWJsZScsIHN0YXRlLmxlbmd0aCwgc3RhdGUuZW5kZWQpO1xcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSBlbmRSZWFkYWJsZSh0aGlzKTtlbHNlIGVtaXRSZWFkYWJsZSh0aGlzKTtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBuID0gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSk7IC8vIGlmIHdlJ3ZlIGVuZGVkLCBhbmQgd2UncmUgbm93IGNsZWFyLCB0aGVuIGZpbmlzaCBpdCB1cC5cXG5cXG4gIGlmIChuID09PSAwICYmIHN0YXRlLmVuZGVkKSB7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gQWxsIHRoZSBhY3R1YWwgY2h1bmsgZ2VuZXJhdGlvbiBsb2dpYyBuZWVkcyB0byBiZVxcbiAgLy8gKmJlbG93KiB0aGUgY2FsbCB0byBfcmVhZC4gIFRoZSByZWFzb24gaXMgdGhhdCBpbiBjZXJ0YWluXFxuICAvLyBzeW50aGV0aWMgc3RyZWFtIGNhc2VzLCBzdWNoIGFzIHBhc3N0aHJvdWdoIHN0cmVhbXMsIF9yZWFkXFxuICAvLyBtYXkgYmUgYSBjb21wbGV0ZWx5IHN5bmNocm9ub3VzIG9wZXJhdGlvbiB3aGljaCBtYXkgY2hhbmdlXFxuICAvLyB0aGUgc3RhdGUgb2YgdGhlIHJlYWQgYnVmZmVyLCBwcm92aWRpbmcgZW5vdWdoIGRhdGEgd2hlblxcbiAgLy8gYmVmb3JlIHRoZXJlIHdhcyAqbm90KiBlbm91Z2guXFxuICAvL1xcbiAgLy8gU28sIHRoZSBzdGVwcyBhcmU6XFxuICAvLyAxLiBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0YXRlIG9mIHRoaW5ncyB3aWxsIGJlIGFmdGVyIHdlIGRvXFxuICAvLyBhIHJlYWQgZnJvbSB0aGUgYnVmZmVyLlxcbiAgLy9cXG4gIC8vIDIuIElmIHRoYXQgcmVzdWx0aW5nIHN0YXRlIHdpbGwgdHJpZ2dlciBhIF9yZWFkLCB0aGVuIGNhbGwgX3JlYWQuXFxuICAvLyBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgYXN5bmNocm9ub3VzLCBvciBzeW5jaHJvbm91cy4gIFllcywgaXQgaXNcXG4gIC8vIGRlZXBseSB1Z2x5IHRvIHdyaXRlIEFQSXMgdGhpcyB3YXksIGJ1dCB0aGF0IHN0aWxsIGRvZXNuJ3QgbWVhblxcbiAgLy8gdGhhdCB0aGUgUmVhZGFibGUgY2xhc3Mgc2hvdWxkIGJlaGF2ZSBpbXByb3Blcmx5LCBhcyBzdHJlYW1zIGFyZVxcbiAgLy8gZGVzaWduZWQgdG8gYmUgc3luYy9hc3luYyBhZ25vc3RpYy5cXG4gIC8vIFRha2Ugbm90ZSBpZiB0aGUgX3JlYWQgY2FsbCBpcyBzeW5jIG9yIGFzeW5jIChpZSwgaWYgdGhlIHJlYWQgY2FsbFxcbiAgLy8gaGFzIHJldHVybmVkIHlldCksIHNvIHRoYXQgd2Uga25vdyB3aGV0aGVyIG9yIG5vdCBpdCdzIHNhZmUgdG8gZW1pdFxcbiAgLy8gJ3JlYWRhYmxlJyBldGMuXFxuICAvL1xcbiAgLy8gMy4gQWN0dWFsbHkgcHVsbCB0aGUgcmVxdWVzdGVkIGNodW5rcyBvdXQgb2YgdGhlIGJ1ZmZlciBhbmQgcmV0dXJuLlxcbiAgLy8gaWYgd2UgbmVlZCBhIHJlYWRhYmxlIGV2ZW50LCB0aGVuIHdlIG5lZWQgdG8gZG8gc29tZSByZWFkaW5nLlxcblxcblxcbiAgdmFyIGRvUmVhZCA9IHN0YXRlLm5lZWRSZWFkYWJsZTtcXG4gIGRlYnVnKCduZWVkIHJlYWRhYmxlJywgZG9SZWFkKTsgLy8gaWYgd2UgY3VycmVudGx5IGhhdmUgbGVzcyB0aGFuIHRoZSBoaWdoV2F0ZXJNYXJrLCB0aGVuIGFsc28gcmVhZCBzb21lXFxuXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwIHx8IHN0YXRlLmxlbmd0aCAtIG4gPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrKSB7XFxuICAgIGRvUmVhZCA9IHRydWU7XFxuICAgIGRlYnVnKCdsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFyaycsIGRvUmVhZCk7XFxuICB9IC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XFxuICAvLyByZWFkaW5nLCB0aGVuIGl0J3MgdW5uZWNlc3NhcnkuXFxuXFxuXFxuICBpZiAoc3RhdGUuZW5kZWQgfHwgc3RhdGUucmVhZGluZykge1xcbiAgICBkb1JlYWQgPSBmYWxzZTtcXG4gICAgZGVidWcoJ3JlYWRpbmcgb3IgZW5kZWQnLCBkb1JlYWQpO1xcbiAgfSBlbHNlIGlmIChkb1JlYWQpIHtcXG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcXG4gICAgc3RhdGUucmVhZGluZyA9IHRydWU7XFxuICAgIHN0YXRlLnN5bmMgPSB0cnVlOyAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxcblxcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlOyAvLyBjYWxsIGludGVybmFsIHJlYWQgbWV0aG9kXFxuXFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XFxuXFxuICAgIHN0YXRlLnN5bmMgPSBmYWxzZTsgLy8gSWYgX3JlYWQgcHVzaGVkIGRhdGEgc3luY2hyb25vdXNseSwgdGhlbiBgcmVhZGluZ2Agd2lsbCBiZSBmYWxzZSxcXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxcblxcbiAgICBpZiAoIXN0YXRlLnJlYWRpbmcpIG4gPSBob3dNdWNoVG9SZWFkKG5PcmlnLCBzdGF0ZSk7XFxuICB9XFxuXFxuICB2YXIgcmV0O1xcbiAgaWYgKG4gPiAwKSByZXQgPSBmcm9tTGlzdChuLCBzdGF0ZSk7ZWxzZSByZXQgPSBudWxsO1xcblxcbiAgaWYgKHJldCA9PT0gbnVsbCkge1xcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBzdGF0ZS5sZW5ndGggPD0gc3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gICAgbiA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICBzdGF0ZS5sZW5ndGggLT0gbjtcXG4gICAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XFxuICB9XFxuXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSB7XFxuICAgIC8vIElmIHdlIGhhdmUgbm90aGluZyBpbiB0aGUgYnVmZmVyLCB0aGVuIHdlIHdhbnQgdG8ga25vd1xcbiAgICAvLyBhcyBzb29uIGFzIHdlICpkbyogZ2V0IHNvbWV0aGluZyBpbnRvIHRoZSBidWZmZXIuXFxuICAgIGlmICghc3RhdGUuZW5kZWQpIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7IC8vIElmIHdlIHRyaWVkIHRvIHJlYWQoKSBwYXN0IHRoZSBFT0YsIHRoZW4gZW1pdCBlbmQgb24gdGhlIG5leHQgdGljay5cXG5cXG4gICAgaWYgKG5PcmlnICE9PSBuICYmIHN0YXRlLmVuZGVkKSBlbmRSZWFkYWJsZSh0aGlzKTtcXG4gIH1cXG5cXG4gIGlmIChyZXQgIT09IG51bGwpIHRoaXMuZW1pdCgnZGF0YScsIHJldCk7XFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuZnVuY3Rpb24gb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKSB7XFxuICBkZWJ1Zygnb25Fb2ZDaHVuaycpO1xcbiAgaWYgKHN0YXRlLmVuZGVkKSByZXR1cm47XFxuXFxuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xcbiAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xcblxcbiAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSB7XFxuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xcbiAgICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgfVxcbiAgfVxcblxcbiAgc3RhdGUuZW5kZWQgPSB0cnVlO1xcblxcbiAgaWYgKHN0YXRlLnN5bmMpIHtcXG4gICAgLy8gaWYgd2UgYXJlIHN5bmMsIHdhaXQgdW50aWwgbmV4dCB0aWNrIHRvIGVtaXQgdGhlIGRhdGEuXFxuICAgIC8vIE90aGVyd2lzZSB3ZSByaXNrIGVtaXR0aW5nIGRhdGEgaW4gdGhlIGZsb3coKVxcbiAgICAvLyB0aGUgcmVhZGFibGUgY29kZSB0cmlnZ2VycyBkdXJpbmcgYSByZWFkKCkgY2FsbFxcbiAgICBlbWl0UmVhZGFibGUoc3RyZWFtKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIGVtaXQgJ3JlYWRhYmxlJyBub3cgdG8gbWFrZSBzdXJlIGl0IGdldHMgcGlja2VkIHVwLlxcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBmYWxzZTtcXG5cXG4gICAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcXG4gICAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICAgIGVtaXRSZWFkYWJsZV8oc3RyZWFtKTtcXG4gICAgfVxcbiAgfVxcbn0gLy8gRG9uJ3QgZW1pdCByZWFkYWJsZSByaWdodCBhd2F5IGluIHN5bmMgbW9kZSwgYmVjYXVzZSB0aGlzIGNhbiB0cmlnZ2VyXFxuLy8gYW5vdGhlciByZWFkKCkgY2FsbCA9PiBzdGFjayBvdmVyZmxvdy4gIFRoaXMgd2F5LCBpdCBtaWdodCB0cmlnZ2VyXFxuLy8gYSBuZXh0VGljayByZWN1cnNpb24gd2FybmluZywgYnV0IHRoYXQncyBub3Qgc28gYmFkLlxcblxcblxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZShzdHJlYW0pIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG4gIGRlYnVnKCdlbWl0UmVhZGFibGUnLCBzdGF0ZS5uZWVkUmVhZGFibGUsIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSk7XFxuICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBmYWxzZTtcXG5cXG4gIGlmICghc3RhdGUuZW1pdHRlZFJlYWRhYmxlKSB7XFxuICAgIGRlYnVnKCdlbWl0UmVhZGFibGUnLCBzdGF0ZS5mbG93aW5nKTtcXG4gICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gdHJ1ZTtcXG4gICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0UmVhZGFibGVfLCBzdHJlYW0pO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0UmVhZGFibGVfKHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2VtaXRSZWFkYWJsZV8nLCBzdGF0ZS5kZXN0cm95ZWQsIHN0YXRlLmxlbmd0aCwgc3RhdGUuZW5kZWQpO1xcblxcbiAgaWYgKCFzdGF0ZS5kZXN0cm95ZWQgJiYgKHN0YXRlLmxlbmd0aCB8fCBzdGF0ZS5lbmRlZCkpIHtcXG4gICAgc3RyZWFtLmVtaXQoJ3JlYWRhYmxlJyk7XFxuICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgfSAvLyBUaGUgc3RyZWFtIG5lZWRzIGFub3RoZXIgcmVhZGFibGUgZXZlbnQgaWZcXG4gIC8vIDEuIEl0IGlzIG5vdCBmbG93aW5nLCBhcyB0aGUgZmxvdyBtZWNoYW5pc20gd2lsbCB0YWtlXFxuICAvLyAgICBjYXJlIG9mIGl0LlxcbiAgLy8gMi4gSXQgaXMgbm90IGVuZGVkLlxcbiAgLy8gMy4gSXQgaXMgYmVsb3cgdGhlIGhpZ2hXYXRlck1hcmssIHNvIHdlIGNhbiBzY2hlZHVsZVxcbiAgLy8gICAgYW5vdGhlciByZWFkYWJsZSBsYXRlci5cXG5cXG5cXG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9ICFzdGF0ZS5mbG93aW5nICYmICFzdGF0ZS5lbmRlZCAmJiBzdGF0ZS5sZW5ndGggPD0gc3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIGZsb3coc3RyZWFtKTtcXG59IC8vIGF0IHRoaXMgcG9pbnQsIHRoZSB1c2VyIGhhcyBwcmVzdW1hYmx5IHNlZW4gdGhlICdyZWFkYWJsZScgZXZlbnQsXFxuLy8gYW5kIGNhbGxlZCByZWFkKCkgdG8gY29uc3VtZSBzb21lIGRhdGEuICB0aGF0IG1heSBoYXZlIHRyaWdnZXJlZFxcbi8vIGluIHR1cm4gYW5vdGhlciBfcmVhZChuKSBjYWxsLCBpbiB3aGljaCBjYXNlIHJlYWRpbmcgPSB0cnVlIGlmXFxuLy8gaXQncyBpbiBwcm9ncmVzcy5cXG4vLyBIb3dldmVyLCBpZiB3ZSdyZSBub3QgZW5kZWQsIG9yIHJlYWRpbmcsIGFuZCB0aGUgbGVuZ3RoIDwgaHdtLFxcbi8vIHRoZW4gZ28gYWhlYWQgYW5kIHRyeSB0byByZWFkIHNvbWUgbW9yZSBwcmVlbXB0aXZlbHkuXFxuXFxuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlYWRpbmdNb3JlKSB7XFxuICAgIHN0YXRlLnJlYWRpbmdNb3JlID0gdHJ1ZTtcXG4gICAgcHJvY2Vzcy5uZXh0VGljayhtYXliZVJlYWRNb3JlXywgc3RyZWFtLCBzdGF0ZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG1heWJlUmVhZE1vcmVfKHN0cmVhbSwgc3RhdGUpIHtcXG4gIC8vIEF0dGVtcHQgdG8gcmVhZCBtb3JlIGRhdGEgaWYgd2Ugc2hvdWxkLlxcbiAgLy9cXG4gIC8vIFRoZSBjb25kaXRpb25zIGZvciByZWFkaW5nIG1vcmUgZGF0YSBhcmUgKG9uZSBvZik6XFxuICAvLyAtIE5vdCBlbm91Z2ggZGF0YSBidWZmZXJlZCAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykuIFRoZSBsb29wXFxuICAvLyAgIGlzIHJlc3BvbnNpYmxlIGZvciBmaWxsaW5nIHRoZSBidWZmZXIgd2l0aCBlbm91Z2ggZGF0YSBpZiBzdWNoIGRhdGFcXG4gIC8vICAgaXMgYXZhaWxhYmxlLiBJZiBoaWdoV2F0ZXJNYXJrIGlzIDAgYW5kIHdlIGFyZSBub3QgaW4gdGhlIGZsb3dpbmcgbW9kZVxcbiAgLy8gICB3ZSBzaG91bGQgX25vdF8gYXR0ZW1wdCB0byBidWZmZXIgYW55IGV4dHJhIGRhdGEuIFdlJ2xsIGdldCBtb3JlIGRhdGFcXG4gIC8vICAgd2hlbiB0aGUgc3RyZWFtIGNvbnN1bWVyIGNhbGxzIHJlYWQoKSBpbnN0ZWFkLlxcbiAgLy8gLSBObyBkYXRhIGluIHRoZSBidWZmZXIsIGFuZCB0aGUgc3RyZWFtIGlzIGluIGZsb3dpbmcgbW9kZS4gSW4gdGhpcyBtb2RlXFxuICAvLyAgIHRoZSBsb29wIGJlbG93IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyByZWFkKCkgaXMgY2FsbGVkLiBGYWlsaW5nIHRvXFxuICAvLyAgIGNhbGwgcmVhZCBoZXJlIHdvdWxkIGFib3J0IHRoZSBmbG93IGFuZCB0aGVyZSdzIG5vIG90aGVyIG1lY2hhbmlzbSBmb3JcXG4gIC8vICAgY29udGludWluZyB0aGUgZmxvdyBpZiB0aGUgc3RyZWFtIGNvbnN1bWVyIGhhcyBqdXN0IHN1YnNjcmliZWQgdG8gdGhlXFxuICAvLyAgICdkYXRhJyBldmVudC5cXG4gIC8vXFxuICAvLyBJbiBhZGRpdGlvbiB0byB0aGUgYWJvdmUgY29uZGl0aW9ucyB0byBrZWVwIHJlYWRpbmcgZGF0YSwgdGhlIGZvbGxvd2luZ1xcbiAgLy8gY29uZGl0aW9ucyBwcmV2ZW50IHRoZSBkYXRhIGZyb20gYmVpbmcgcmVhZDpcXG4gIC8vIC0gVGhlIHN0cmVhbSBoYXMgZW5kZWQgKHN0YXRlLmVuZGVkKS5cXG4gIC8vIC0gVGhlcmUgaXMgYWxyZWFkeSBhIHBlbmRpbmcgJ3JlYWQnIG9wZXJhdGlvbiAoc3RhdGUucmVhZGluZykuIFRoaXMgaXMgYVxcbiAgLy8gICBjYXNlIHdoZXJlIHRoZSB0aGUgc3RyZWFtIGhhcyBjYWxsZWQgdGhlIGltcGxlbWVudGF0aW9uIGRlZmluZWQgX3JlYWQoKVxcbiAgLy8gICBtZXRob2QsIGJ1dCB0aGV5IGFyZSBwcm9jZXNzaW5nIHRoZSBjYWxsIGFzeW5jaHJvbm91c2x5IGFuZCBoYXZlIF9ub3RfXFxuICAvLyAgIGNhbGxlZCBwdXNoKCkgd2l0aCBuZXcgZGF0YS4gSW4gdGhpcyBjYXNlIHdlIHNraXAgcGVyZm9ybWluZyBtb3JlXFxuICAvLyAgIHJlYWQoKXMuIFRoZSBleGVjdXRpb24gZW5kcyBpbiB0aGlzIG1ldGhvZCBhZ2FpbiBhZnRlciB0aGUgX3JlYWQoKSBlbmRzXFxuICAvLyAgIHVwIGNhbGxpbmcgcHVzaCgpIHdpdGggbW9yZSBkYXRhLlxcbiAgd2hpbGUgKCFzdGF0ZS5yZWFkaW5nICYmICFzdGF0ZS5lbmRlZCAmJiAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkpIHtcXG4gICAgdmFyIGxlbiA9IHN0YXRlLmxlbmd0aDtcXG4gICAgZGVidWcoJ21heWJlUmVhZE1vcmUgcmVhZCAwJyk7XFxuICAgIHN0cmVhbS5yZWFkKDApO1xcbiAgICBpZiAobGVuID09PSBzdGF0ZS5sZW5ndGgpIC8vIGRpZG4ndCBnZXQgYW55IGRhdGEsIHN0b3Agc3Bpbm5pbmcuXFxuICAgICAgYnJlYWs7XFxuICB9XFxuXFxuICBzdGF0ZS5yZWFkaW5nTW9yZSA9IGZhbHNlO1xcbn0gLy8gYWJzdHJhY3QgbWV0aG9kLiAgdG8gYmUgb3ZlcnJpZGRlbiBpbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxcbi8vIGNhbGwgY2IoZXIsIGRhdGEpIHdoZXJlIGRhdGEgaXMgPD0gbiBpbiBsZW5ndGguXFxuLy8gZm9yIHZpcnR1YWwgKG5vbi1zdHJpbmcsIG5vbi1idWZmZXIpIHN0cmVhbXMsIFxcXCJsZW5ndGhcXFwiIGlzIHNvbWV3aGF0XFxuLy8gYXJiaXRyYXJ5LCBhbmQgcGVyaGFwcyBub3QgdmVyeSBtZWFuaW5nZnVsLlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICBlcnJvck9yRGVzdHJveSh0aGlzLCBuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoJ19yZWFkKCknKSk7XFxufTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uIChkZXN0LCBwaXBlT3B0cykge1xcbiAgdmFyIHNyYyA9IHRoaXM7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgc3dpdGNoIChzdGF0ZS5waXBlc0NvdW50KSB7XFxuICAgIGNhc2UgMDpcXG4gICAgICBzdGF0ZS5waXBlcyA9IGRlc3Q7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgMTpcXG4gICAgICBzdGF0ZS5waXBlcyA9IFtzdGF0ZS5waXBlcywgZGVzdF07XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgc3RhdGUucGlwZXMucHVzaChkZXN0KTtcXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHN0YXRlLnBpcGVzQ291bnQgKz0gMTtcXG4gIGRlYnVnKCdwaXBlIGNvdW50PSVkIG9wdHM9JWonLCBzdGF0ZS5waXBlc0NvdW50LCBwaXBlT3B0cyk7XFxuICB2YXIgZG9FbmQgPSAoIXBpcGVPcHRzIHx8IHBpcGVPcHRzLmVuZCAhPT0gZmFsc2UpICYmIGRlc3QgIT09IHByb2Nlc3Muc3Rkb3V0ICYmIGRlc3QgIT09IHByb2Nlc3Muc3RkZXJyO1xcbiAgdmFyIGVuZEZuID0gZG9FbmQgPyBvbmVuZCA6IHVucGlwZTtcXG4gIGlmIChzdGF0ZS5lbmRFbWl0dGVkKSBwcm9jZXNzLm5leHRUaWNrKGVuZEZuKTtlbHNlIHNyYy5vbmNlKCdlbmQnLCBlbmRGbik7XFxuICBkZXN0Lm9uKCd1bnBpcGUnLCBvbnVucGlwZSk7XFxuXFxuICBmdW5jdGlvbiBvbnVucGlwZShyZWFkYWJsZSwgdW5waXBlSW5mbykge1xcbiAgICBkZWJ1Zygnb251bnBpcGUnKTtcXG5cXG4gICAgaWYgKHJlYWRhYmxlID09PSBzcmMpIHtcXG4gICAgICBpZiAodW5waXBlSW5mbyAmJiB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPT09IGZhbHNlKSB7XFxuICAgICAgICB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPSB0cnVlO1xcbiAgICAgICAgY2xlYW51cCgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgZnVuY3Rpb24gb25lbmQoKSB7XFxuICAgIGRlYnVnKCdvbmVuZCcpO1xcbiAgICBkZXN0LmVuZCgpO1xcbiAgfSAvLyB3aGVuIHRoZSBkZXN0IGRyYWlucywgaXQgcmVkdWNlcyB0aGUgYXdhaXREcmFpbiBjb3VudGVyXFxuICAvLyBvbiB0aGUgc291cmNlLiAgVGhpcyB3b3VsZCBiZSBtb3JlIGVsZWdhbnQgd2l0aCBhIC5vbmNlKClcXG4gIC8vIGhhbmRsZXIgaW4gZmxvdygpLCBidXQgYWRkaW5nIGFuZCByZW1vdmluZyByZXBlYXRlZGx5IGlzXFxuICAvLyB0b28gc2xvdy5cXG5cXG5cXG4gIHZhciBvbmRyYWluID0gcGlwZU9uRHJhaW4oc3JjKTtcXG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XFxuICB2YXIgY2xlYW5lZFVwID0gZmFsc2U7XFxuXFxuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xcbiAgICBkZWJ1ZygnY2xlYW51cCcpOyAvLyBjbGVhbnVwIGV2ZW50IGhhbmRsZXJzIG9uY2UgdGhlIHBpcGUgaXMgYnJva2VuXFxuXFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZHJhaW4nLCBvbmRyYWluKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcigndW5waXBlJywgb251bnBpcGUpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9uZW5kKTtcXG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCB1bnBpcGUpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2RhdGEnLCBvbmRhdGEpO1xcbiAgICBjbGVhbmVkVXAgPSB0cnVlOyAvLyBpZiB0aGUgcmVhZGVyIGlzIHdhaXRpbmcgZm9yIGEgZHJhaW4gZXZlbnQgZnJvbSB0aGlzXFxuICAgIC8vIHNwZWNpZmljIHdyaXRlciwgdGhlbiBpdCB3b3VsZCBjYXVzZSBpdCB0byBuZXZlciBzdGFydFxcbiAgICAvLyBmbG93aW5nIGFnYWluLlxcbiAgICAvLyBTbywgaWYgdGhpcyBpcyBhd2FpdGluZyBhIGRyYWluLCB0aGVuIHdlIGp1c3QgY2FsbCBpdCBub3cuXFxuICAgIC8vIElmIHdlIGRvbid0IGtub3csIHRoZW4gYXNzdW1lIHRoYXQgd2UgYXJlIHdhaXRpbmcgZm9yIG9uZS5cXG5cXG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4gJiYgKCFkZXN0Ll93cml0YWJsZVN0YXRlIHx8IGRlc3QuX3dyaXRhYmxlU3RhdGUubmVlZERyYWluKSkgb25kcmFpbigpO1xcbiAgfVxcblxcbiAgc3JjLm9uKCdkYXRhJywgb25kYXRhKTtcXG5cXG4gIGZ1bmN0aW9uIG9uZGF0YShjaHVuaykge1xcbiAgICBkZWJ1Zygnb25kYXRhJyk7XFxuICAgIHZhciByZXQgPSBkZXN0LndyaXRlKGNodW5rKTtcXG4gICAgZGVidWcoJ2Rlc3Qud3JpdGUnLCByZXQpO1xcblxcbiAgICBpZiAocmV0ID09PSBmYWxzZSkge1xcbiAgICAgIC8vIElmIHRoZSB1c2VyIHVucGlwZWQgZHVyaW5nIGBkZXN0LndyaXRlKClgLCBpdCBpcyBwb3NzaWJsZVxcbiAgICAgIC8vIHRvIGdldCBzdHVjayBpbiBhIHBlcm1hbmVudGx5IHBhdXNlZCBzdGF0ZSBpZiB0aGF0IHdyaXRlXFxuICAgICAgLy8gYWxzbyByZXR1cm5lZCBmYWxzZS5cXG4gICAgICAvLyA9PiBDaGVjayB3aGV0aGVyIGBkZXN0YCBpcyBzdGlsbCBhIHBpcGluZyBkZXN0aW5hdGlvbi5cXG4gICAgICBpZiAoKHN0YXRlLnBpcGVzQ291bnQgPT09IDEgJiYgc3RhdGUucGlwZXMgPT09IGRlc3QgfHwgc3RhdGUucGlwZXNDb3VudCA+IDEgJiYgaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCkgIT09IC0xKSAmJiAhY2xlYW5lZFVwKSB7XFxuICAgICAgICBkZWJ1ZygnZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlJywgc3RhdGUuYXdhaXREcmFpbik7XFxuICAgICAgICBzdGF0ZS5hd2FpdERyYWluKys7XFxuICAgICAgfVxcblxcbiAgICAgIHNyYy5wYXVzZSgpO1xcbiAgICB9XFxuICB9IC8vIGlmIHRoZSBkZXN0IGhhcyBhbiBlcnJvciwgdGhlbiBzdG9wIHBpcGluZyBpbnRvIGl0LlxcbiAgLy8gaG93ZXZlciwgZG9uJ3Qgc3VwcHJlc3MgdGhlIHRocm93aW5nIGJlaGF2aW9yIGZvciB0aGlzLlxcblxcblxcbiAgZnVuY3Rpb24gb25lcnJvcihlcikge1xcbiAgICBkZWJ1Zygnb25lcnJvcicsIGVyKTtcXG4gICAgdW5waXBlKCk7XFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XFxuICAgIGlmIChFRWxpc3RlbmVyQ291bnQoZGVzdCwgJ2Vycm9yJykgPT09IDApIGVycm9yT3JEZXN0cm95KGRlc3QsIGVyKTtcXG4gIH0gLy8gTWFrZSBzdXJlIG91ciBlcnJvciBoYW5kbGVyIGlzIGF0dGFjaGVkIGJlZm9yZSB1c2VybGFuZCBvbmVzLlxcblxcblxcbiAgcHJlcGVuZExpc3RlbmVyKGRlc3QsICdlcnJvcicsIG9uZXJyb3IpOyAvLyBCb3RoIGNsb3NlIGFuZCBmaW5pc2ggc2hvdWxkIHRyaWdnZXIgdW5waXBlLCBidXQgb25seSBvbmNlLlxcblxcbiAgZnVuY3Rpb24gb25jbG9zZSgpIHtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICB1bnBpcGUoKTtcXG4gIH1cXG5cXG4gIGRlc3Qub25jZSgnY2xvc2UnLCBvbmNsb3NlKTtcXG5cXG4gIGZ1bmN0aW9uIG9uZmluaXNoKCkge1xcbiAgICBkZWJ1Zygnb25maW5pc2gnKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcXG4gICAgdW5waXBlKCk7XFxuICB9XFxuXFxuICBkZXN0Lm9uY2UoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG5cXG4gIGZ1bmN0aW9uIHVucGlwZSgpIHtcXG4gICAgZGVidWcoJ3VucGlwZScpO1xcbiAgICBzcmMudW5waXBlKGRlc3QpO1xcbiAgfSAvLyB0ZWxsIHRoZSBkZXN0IHRoYXQgaXQncyBiZWluZyBwaXBlZCB0b1xcblxcblxcbiAgZGVzdC5lbWl0KCdwaXBlJywgc3JjKTsgLy8gc3RhcnQgdGhlIGZsb3cgaWYgaXQgaGFzbid0IGJlZW4gc3RhcnRlZCBhbHJlYWR5LlxcblxcbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XFxuICAgIGRlYnVnKCdwaXBlIHJlc3VtZScpO1xcbiAgICBzcmMucmVzdW1lKCk7XFxuICB9XFxuXFxuICByZXR1cm4gZGVzdDtcXG59O1xcblxcbmZ1bmN0aW9uIHBpcGVPbkRyYWluKHNyYykge1xcbiAgcmV0dXJuIGZ1bmN0aW9uIHBpcGVPbkRyYWluRnVuY3Rpb25SZXN1bHQoKSB7XFxuICAgIHZhciBzdGF0ZSA9IHNyYy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgZGVidWcoJ3BpcGVPbkRyYWluJywgc3RhdGUuYXdhaXREcmFpbik7XFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluKSBzdGF0ZS5hd2FpdERyYWluLS07XFxuXFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluID09PSAwICYmIEVFbGlzdGVuZXJDb3VudChzcmMsICdkYXRhJykpIHtcXG4gICAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcXG4gICAgICBmbG93KHNyYyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciB1bnBpcGVJbmZvID0ge1xcbiAgICBoYXNVbnBpcGVkOiBmYWxzZVxcbiAgfTsgLy8gaWYgd2UncmUgbm90IHBpcGluZyBhbnl3aGVyZSwgdGhlbiBkbyBub3RoaW5nLlxcblxcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDApIHJldHVybiB0aGlzOyAvLyBqdXN0IG9uZSBkZXN0aW5hdGlvbi4gIG1vc3QgY29tbW9uIGNhc2UuXFxuXFxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkge1xcbiAgICAvLyBwYXNzZWQgaW4gb25lLCBidXQgaXQncyBub3QgdGhlIHJpZ2h0IG9uZS5cXG4gICAgaWYgKGRlc3QgJiYgZGVzdCAhPT0gc3RhdGUucGlwZXMpIHJldHVybiB0aGlzO1xcbiAgICBpZiAoIWRlc3QpIGRlc3QgPSBzdGF0ZS5waXBlczsgLy8gZ290IGEgbWF0Y2guXFxuXFxuICAgIHN0YXRlLnBpcGVzID0gbnVsbDtcXG4gICAgc3RhdGUucGlwZXNDb3VudCA9IDA7XFxuICAgIHN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgaWYgKGRlc3QpIGRlc3QuZW1pdCgndW5waXBlJywgdGhpcywgdW5waXBlSW5mbyk7XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfSAvLyBzbG93IGNhc2UuIG11bHRpcGxlIHBpcGUgZGVzdGluYXRpb25zLlxcblxcblxcbiAgaWYgKCFkZXN0KSB7XFxuICAgIC8vIHJlbW92ZSBhbGwuXFxuICAgIHZhciBkZXN0cyA9IHN0YXRlLnBpcGVzO1xcbiAgICB2YXIgbGVuID0gc3RhdGUucGlwZXNDb3VudDtcXG4gICAgc3RhdGUucGlwZXMgPSBudWxsO1xcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcXG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgZGVzdHNbaV0uZW1pdCgndW5waXBlJywgdGhpcywge1xcbiAgICAgICAgaGFzVW5waXBlZDogZmFsc2VcXG4gICAgICB9KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH0gLy8gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IG9uZS5cXG5cXG5cXG4gIHZhciBpbmRleCA9IGluZGV4T2Yoc3RhdGUucGlwZXMsIGRlc3QpO1xcbiAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIHRoaXM7XFxuICBzdGF0ZS5waXBlcy5zcGxpY2UoaW5kZXgsIDEpO1xcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHN0YXRlLnBpcGVzID0gc3RhdGUucGlwZXNbMF07XFxuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xcbiAgcmV0dXJuIHRoaXM7XFxufTsgLy8gc2V0IHVwIGRhdGEgZXZlbnRzIGlmIHRoZXkgYXJlIGFza2VkIGZvclxcbi8vIEVuc3VyZSByZWFkYWJsZSBsaXN0ZW5lcnMgZXZlbnR1YWxseSBnZXQgc29tZXRoaW5nXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLm9uID0gZnVuY3Rpb24gKGV2LCBmbikge1xcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUub24uY2FsbCh0aGlzLCBldiwgZm4pO1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gIGlmIChldiA9PT0gJ2RhdGEnKSB7XFxuICAgIC8vIHVwZGF0ZSByZWFkYWJsZUxpc3RlbmluZyBzbyB0aGF0IHJlc3VtZSgpIG1heSBiZSBhIG5vLW9wXFxuICAgIC8vIGEgZmV3IGxpbmVzIGRvd24uIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgb25jZSgncmVhZGFibGUnKS5cXG4gICAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSB0aGlzLmxpc3RlbmVyQ291bnQoJ3JlYWRhYmxlJykgPiAwOyAvLyBUcnkgc3RhcnQgZmxvd2luZyBvbiBuZXh0IHRpY2sgaWYgc3RyZWFtIGlzbid0IGV4cGxpY2l0bHkgcGF1c2VkXFxuXFxuICAgIGlmIChzdGF0ZS5mbG93aW5nICE9PSBmYWxzZSkgdGhpcy5yZXN1bWUoKTtcXG4gIH0gZWxzZSBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcXG4gICAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmICFzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZykge1xcbiAgICAgIHN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nID0gc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcXG4gICAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuICAgICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICAgICAgZGVidWcoJ29uIHJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5yZWFkaW5nKTtcXG5cXG4gICAgICBpZiAoc3RhdGUubGVuZ3RoKSB7XFxuICAgICAgICBlbWl0UmVhZGFibGUodGhpcyk7XFxuICAgICAgfSBlbHNlIGlmICghc3RhdGUucmVhZGluZykge1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLCB0aGlzKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIgPSBSZWFkYWJsZS5wcm90b3R5cGUub247XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyID0gZnVuY3Rpb24gKGV2LCBmbikge1xcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLCBldiwgZm4pO1xcblxcbiAgaWYgKGV2ID09PSAncmVhZGFibGUnKSB7XFxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgc29tZW9uZSBzdGlsbCBsaXN0ZW5pbmcgdG9cXG4gICAgLy8gcmVhZGFibGUgYW5kIHJlc2V0IHRoZSBzdGF0ZS4gSG93ZXZlciB0aGlzIG5lZWRzIHRvIGhhcHBlblxcbiAgICAvLyBhZnRlciByZWFkYWJsZSBoYXMgYmVlbiBlbWl0dGVkIGJ1dCBiZWZvcmUgSS9PIChuZXh0VGljaykgdG9cXG4gICAgLy8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScsIGZuKSBjeWNsZXMuIFRoaXMgbWVhbnMgdGhhdCBjYWxsaW5nXFxuICAgIC8vIHJlc3VtZSB3aXRoaW4gdGhlIHNhbWUgdGljayB3aWxsIGhhdmUgbm9cXG4gICAgLy8gZWZmZWN0LlxcbiAgICBwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLCB0aGlzKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID0gZnVuY3Rpb24gKGV2KSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG5cXG4gIGlmIChldiA9PT0gJ3JlYWRhYmxlJyB8fCBldiA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgc29tZW9uZSBzdGlsbCBsaXN0ZW5pbmcgdG9cXG4gICAgLy8gcmVhZGFibGUgYW5kIHJlc2V0IHRoZSBzdGF0ZS4gSG93ZXZlciB0aGlzIG5lZWRzIHRvIGhhcHBlblxcbiAgICAvLyBhZnRlciByZWFkYWJsZSBoYXMgYmVlbiBlbWl0dGVkIGJ1dCBiZWZvcmUgSS9PIChuZXh0VGljaykgdG9cXG4gICAgLy8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScsIGZuKSBjeWNsZXMuIFRoaXMgbWVhbnMgdGhhdCBjYWxsaW5nXFxuICAgIC8vIHJlc3VtZSB3aXRoaW4gdGhlIHNhbWUgdGljayB3aWxsIGhhdmUgbm9cXG4gICAgLy8gZWZmZWN0LlxcbiAgICBwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLCB0aGlzKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5mdW5jdGlvbiB1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyhzZWxmKSB7XFxuICB2YXIgc3RhdGUgPSBzZWxmLl9yZWFkYWJsZVN0YXRlO1xcbiAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSBzZWxmLmxpc3RlbmVyQ291bnQoJ3JlYWRhYmxlJykgPiAwO1xcblxcbiAgaWYgKHN0YXRlLnJlc3VtZVNjaGVkdWxlZCAmJiAhc3RhdGUucGF1c2VkKSB7XFxuICAgIC8vIGZsb3dpbmcgbmVlZHMgdG8gYmUgc2V0IHRvIHRydWUgbm93LCBvdGhlcndpc2VcXG4gICAgLy8gdGhlIHVwY29taW5nIHJlc3VtZSB3aWxsIG5vdCBmbG93LlxcbiAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTsgLy8gY3J1ZGUgd2F5IHRvIGNoZWNrIGlmIHdlIHNob3VsZCByZXN1bWVcXG4gIH0gZWxzZSBpZiAoc2VsZi5saXN0ZW5lckNvdW50KCdkYXRhJykgPiAwKSB7XFxuICAgIHNlbGYucmVzdW1lKCk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG5SZWFkaW5nTmV4dFRpY2soc2VsZikge1xcbiAgZGVidWcoJ3JlYWRhYmxlIG5leHR0aWNrIHJlYWQgMCcpO1xcbiAgc2VsZi5yZWFkKDApO1xcbn0gLy8gcGF1c2UoKSBhbmQgcmVzdW1lKCkgYXJlIHJlbW5hbnRzIG9mIHRoZSBsZWdhY3kgcmVhZGFibGUgc3RyZWFtIEFQSVxcbi8vIElmIHRoZSB1c2VyIHVzZXMgdGhlbSwgdGhlbiBzd2l0Y2ggaW50byBvbGQgbW9kZS5cXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gIGlmICghc3RhdGUuZmxvd2luZykge1xcbiAgICBkZWJ1ZygncmVzdW1lJyk7IC8vIHdlIGZsb3cgb25seSBpZiB0aGVyZSBpcyBubyBvbmUgbGlzdGVuaW5nXFxuICAgIC8vIGZvciByZWFkYWJsZSwgYnV0IHdlIHN0aWxsIGhhdmUgdG8gY2FsbFxcbiAgICAvLyByZXN1bWUoKVxcblxcbiAgICBzdGF0ZS5mbG93aW5nID0gIXN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nO1xcbiAgICByZXN1bWUodGhpcywgc3RhdGUpO1xcbiAgfVxcblxcbiAgc3RhdGUucGF1c2VkID0gZmFsc2U7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIHJlc3VtZShzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlc3VtZVNjaGVkdWxlZCkge1xcbiAgICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKHJlc3VtZV8sIHN0cmVhbSwgc3RhdGUpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiByZXN1bWVfKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGRlYnVnKCdyZXN1bWUnLCBzdGF0ZS5yZWFkaW5nKTtcXG5cXG4gIGlmICghc3RhdGUucmVhZGluZykge1xcbiAgICBzdHJlYW0ucmVhZCgwKTtcXG4gIH1cXG5cXG4gIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgc3RyZWFtLmVtaXQoJ3Jlc3VtZScpO1xcbiAgZmxvdyhzdHJlYW0pO1xcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLnJlYWRpbmcpIHN0cmVhbS5yZWFkKDApO1xcbn1cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XFxuICBkZWJ1ZygnY2FsbCBwYXVzZSBmbG93aW5nPSVqJywgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKTtcXG5cXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgIT09IGZhbHNlKSB7XFxuICAgIGRlYnVnKCdwYXVzZScpO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xcbiAgfVxcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQgPSB0cnVlO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5mdW5jdGlvbiBmbG93KHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2Zsb3cnLCBzdGF0ZS5mbG93aW5nKTtcXG5cXG4gIHdoaWxlIChzdGF0ZS5mbG93aW5nICYmIHN0cmVhbS5yZWFkKCkgIT09IG51bGwpIHtcXG4gICAgO1xcbiAgfVxcbn0gLy8gd3JhcCBhbiBvbGQtc3R5bGUgc3RyZWFtIGFzIHRoZSBhc3luYyBkYXRhIHNvdXJjZS5cXG4vLyBUaGlzIGlzICpub3QqIHBhcnQgb2YgdGhlIHJlYWRhYmxlIHN0cmVhbSBpbnRlcmZhY2UuXFxuLy8gSXQgaXMgYW4gdWdseSB1bmZvcnR1bmF0ZSBtZXNzIG9mIGhpc3RvcnkuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLndyYXAgPSBmdW5jdGlvbiAoc3RyZWFtKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciBwYXVzZWQgPSBmYWxzZTtcXG4gIHN0cmVhbS5vbignZW5kJywgZnVuY3Rpb24gKCkge1xcbiAgICBkZWJ1Zygnd3JhcHBlZCBlbmQnKTtcXG5cXG4gICAgaWYgKHN0YXRlLmRlY29kZXIgJiYgIXN0YXRlLmVuZGVkKSB7XFxuICAgICAgdmFyIGNodW5rID0gc3RhdGUuZGVjb2Rlci5lbmQoKTtcXG4gICAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSBfdGhpcy5wdXNoKGNodW5rKTtcXG4gICAgfVxcblxcbiAgICBfdGhpcy5wdXNoKG51bGwpO1xcbiAgfSk7XFxuICBzdHJlYW0ub24oJ2RhdGEnLCBmdW5jdGlvbiAoY2h1bmspIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgZGF0YScpO1xcbiAgICBpZiAoc3RhdGUuZGVjb2RlcikgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTsgLy8gZG9uJ3Qgc2tpcCBvdmVyIGZhbHN5IHZhbHVlcyBpbiBvYmplY3RNb2RlXFxuXFxuICAgIGlmIChzdGF0ZS5vYmplY3RNb2RlICYmIChjaHVuayA9PT0gbnVsbCB8fCBjaHVuayA9PT0gdW5kZWZpbmVkKSkgcmV0dXJuO2Vsc2UgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmICghY2h1bmsgfHwgIWNodW5rLmxlbmd0aCkpIHJldHVybjtcXG5cXG4gICAgdmFyIHJldCA9IF90aGlzLnB1c2goY2h1bmspO1xcblxcbiAgICBpZiAoIXJldCkge1xcbiAgICAgIHBhdXNlZCA9IHRydWU7XFxuICAgICAgc3RyZWFtLnBhdXNlKCk7XFxuICAgIH1cXG4gIH0pOyAvLyBwcm94eSBhbGwgdGhlIG90aGVyIG1ldGhvZHMuXFxuICAvLyBpbXBvcnRhbnQgd2hlbiB3cmFwcGluZyBmaWx0ZXJzIGFuZCBkdXBsZXhlcy5cXG5cXG4gIGZvciAodmFyIGkgaW4gc3RyZWFtKSB7XFxuICAgIGlmICh0aGlzW2ldID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHN0cmVhbVtpXSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHRoaXNbaV0gPSBmdW5jdGlvbiBtZXRob2RXcmFwKG1ldGhvZCkge1xcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIG1ldGhvZFdyYXBSZXR1cm5GdW5jdGlvbigpIHtcXG4gICAgICAgICAgcmV0dXJuIHN0cmVhbVttZXRob2RdLmFwcGx5KHN0cmVhbSwgYXJndW1lbnRzKTtcXG4gICAgICAgIH07XFxuICAgICAgfShpKTtcXG4gICAgfVxcbiAgfSAvLyBwcm94eSBjZXJ0YWluIGltcG9ydGFudCBldmVudHMuXFxuXFxuXFxuICBmb3IgKHZhciBuID0gMDsgbiA8IGtQcm94eUV2ZW50cy5sZW5ndGg7IG4rKykge1xcbiAgICBzdHJlYW0ub24oa1Byb3h5RXZlbnRzW25dLCB0aGlzLmVtaXQuYmluZCh0aGlzLCBrUHJveHlFdmVudHNbbl0pKTtcXG4gIH0gLy8gd2hlbiB3ZSB0cnkgdG8gY29uc3VtZSBzb21lIG1vcmUgYnl0ZXMsIHNpbXBseSB1bnBhdXNlIHRoZVxcbiAgLy8gdW5kZXJseWluZyBzdHJlYW0uXFxuXFxuXFxuICB0aGlzLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgX3JlYWQnLCBuKTtcXG5cXG4gICAgaWYgKHBhdXNlZCkge1xcbiAgICAgIHBhdXNlZCA9IGZhbHNlO1xcbiAgICAgIHN0cmVhbS5yZXN1bWUoKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicpIHtcXG4gIFJlYWRhYmxlLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7XFxuICAgIGlmIChjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanNcXFwiKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHRoaXMpO1xcbiAgfTtcXG59XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIH1cXG59KTtcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyO1xcbiAgfVxcbn0pO1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUZsb3dpbmcnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc7XFxuICB9LFxcbiAgc2V0OiBmdW5jdGlvbiBzZXQoc3RhdGUpIHtcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcXG4gICAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBzdGF0ZTtcXG4gICAgfVxcbiAgfVxcbn0pOyAvLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXFxuXFxuUmVhZGFibGUuX2Zyb21MaXN0ID0gZnJvbUxpc3Q7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlTGVuZ3RoJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg7XFxuICB9XFxufSk7IC8vIFBsdWNrIG9mZiBuIGJ5dGVzIGZyb20gYW4gYXJyYXkgb2YgYnVmZmVycy5cXG4vLyBMZW5ndGggaXMgdGhlIGNvbWJpbmVkIGxlbmd0aHMgb2YgYWxsIHRoZSBidWZmZXJzIGluIHRoZSBsaXN0Llxcbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXFxuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cXG5cXG5mdW5jdGlvbiBmcm9tTGlzdChuLCBzdGF0ZSkge1xcbiAgLy8gbm90aGluZyBidWZmZXJlZFxcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XFxuICB2YXIgcmV0O1xcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldCA9IHN0YXRlLmJ1ZmZlci5zaGlmdCgpO2Vsc2UgaWYgKCFuIHx8IG4gPj0gc3RhdGUubGVuZ3RoKSB7XFxuICAgIC8vIHJlYWQgaXQgYWxsLCB0cnVuY2F0ZSB0aGUgbGlzdFxcbiAgICBpZiAoc3RhdGUuZGVjb2RlcikgcmV0ID0gc3RhdGUuYnVmZmVyLmpvaW4oJycpO2Vsc2UgaWYgKHN0YXRlLmJ1ZmZlci5sZW5ndGggPT09IDEpIHJldCA9IHN0YXRlLmJ1ZmZlci5maXJzdCgpO2Vsc2UgcmV0ID0gc3RhdGUuYnVmZmVyLmNvbmNhdChzdGF0ZS5sZW5ndGgpO1xcbiAgICBzdGF0ZS5idWZmZXIuY2xlYXIoKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIHJlYWQgcGFydCBvZiBsaXN0XFxuICAgIHJldCA9IHN0YXRlLmJ1ZmZlci5jb25zdW1lKG4sIHN0YXRlLmRlY29kZXIpO1xcbiAgfVxcbiAgcmV0dXJuIHJldDtcXG59XFxuXFxuZnVuY3Rpb24gZW5kUmVhZGFibGUoc3RyZWFtKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuICBkZWJ1ZygnZW5kUmVhZGFibGUnLCBzdGF0ZS5lbmRFbWl0dGVkKTtcXG5cXG4gIGlmICghc3RhdGUuZW5kRW1pdHRlZCkge1xcbiAgICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuICAgIHByb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCwgc3RhdGUsIHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xcbiAgZGVidWcoJ2VuZFJlYWRhYmxlTlQnLCBzdGF0ZS5lbmRFbWl0dGVkLCBzdGF0ZS5sZW5ndGgpOyAvLyBDaGVjayB0aGF0IHdlIGRpZG4ndCBnZXQgb25lIGxhc3QgdW5zaGlmdC5cXG5cXG4gIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiBzdGF0ZS5sZW5ndGggPT09IDApIHtcXG4gICAgc3RhdGUuZW5kRW1pdHRlZCA9IHRydWU7XFxuICAgIHN0cmVhbS5yZWFkYWJsZSA9IGZhbHNlO1xcbiAgICBzdHJlYW0uZW1pdCgnZW5kJyk7XFxuXFxuICAgIGlmIChzdGF0ZS5hdXRvRGVzdHJveSkge1xcbiAgICAgIC8vIEluIGNhc2Ugb2YgZHVwbGV4IHN0cmVhbXMgd2UgbmVlZCBhIHdheSB0byBkZXRlY3RcXG4gICAgICAvLyBpZiB0aGUgd3JpdGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxcbiAgICAgIHZhciB3U3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XFxuXFxuICAgICAgaWYgKCF3U3RhdGUgfHwgd1N0YXRlLmF1dG9EZXN0cm95ICYmIHdTdGF0ZS5maW5pc2hlZCkge1xcbiAgICAgICAgc3RyZWFtLmRlc3Ryb3koKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicpIHtcXG4gIFJlYWRhYmxlLmZyb20gPSBmdW5jdGlvbiAoaXRlcmFibGUsIG9wdHMpIHtcXG4gICAgaWYgKGZyb20gPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIGZyb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZnJvbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzXFxcIik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZyb20oUmVhZGFibGUsIGl0ZXJhYmxlLCBvcHRzKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGluZGV4T2YoeHMsIHgpIHtcXG4gIGZvciAodmFyIGkgPSAwLCBsID0geHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XFxuICAgIGlmICh4c1tpXSA9PT0geCkgcmV0dXJuIGk7XFxuICB9XFxuXFxuICByZXR1cm4gLTE7XFxufVxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcXFwiKSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3o4NU1UazRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc0swTkJRVkU3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNjVWxCUVRKQ08wRkJRMmhFT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVGRDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEVzWjBKQlFXZENMRzFDUVVGUExFTkJRVU1zWVVGQlRUczdRVUZGT1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN096dEJRVWRCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhWSlFVRm5RenM3UVVGRmVrUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNLMGhCUVRSQ096dEJRVVYwUkN4bFFVRmxMRzFDUVVGUExFTkJRVU1zTWtoQlFUQkNPMEZCUTJwRU96dEJRVVZCTEhGQ1FVRnhRaXh0UWtGQlR5eERRVUZETEdkSFFVRlhPMEZCUTNoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTERKR1FVRXlSanM3TzBGQlJ6TkdPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZzUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEN0R1FVRXJSanRCUVVNdlJqdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2VVVkJRWGxGTEcxR1FVRnRSanRCUVVNMVNqczdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMREpIUVVGclFqdEJRVU12UXl3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzZVVWQlFYbEZPMEZCUTNwRk96dEJRVVZCTzBGQlEwRXNhMFpCUVd0R08wRkJRMnhHT3p0QlFVVkJMREJHUVVFd1JqdEJRVU14Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTzBGQlEzWkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJN1FVRkRia0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ0xDdERRVUVyUXpzN1FVRkZMME1zTWtOQlFUSkRPenRCUVVVelF5eDVRa0ZCZVVJN1FVRkRla0k3UVVGRFFUczdRVUZGUVN3eVJFRkJNa1E3TzBGQlJUTkVMSE5DUVVGelFqczdRVUZGZEVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkME5CUVhkRExHMUNRVUZQTEVOQlFVTXNORVZCUVdsQ08wRkJRMnBGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zTWtkQlFXdENPMEZCUXk5RExHZEZRVUZuUlR0QlFVTm9SVHM3UVVGRlFUdEJRVU5CTEcxRlFVRnRSVHM3UVVGRmJrVTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJMRVZCUVVVN096dEJRVWRHTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3clJrRkJLMFk3UVVGREwwWXNUMEZCVHp0QlFVTlFPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUmtGQk5FWTdRVUZETlVZc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPenM3UVVGSFJqdEJRVU5CTEhORFFVRnpReXh0UWtGQlR5eERRVUZETERSRlFVRnBRanRCUVVNdlJEdEJRVU5CTEhkRFFVRjNRenM3UVVGRmVFTXNjMFZCUVhORk96dEJRVVYwUlR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdPenRCUVVkR096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXp0QlFVTkVPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxEUkZRVUUwUlR0QlFVTTFSU3hIUVVGSE96czdRVUZIU0R0QlFVTkJMR3REUVVGclF6czdRVUZGYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4RFFVRkRPenM3UVVGSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05rTkJRVFpETzBGQlF6ZERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERaRVFVRTJSRHRCUVVNM1JEdEJRVU5CT3p0QlFVVkJMRGhDUVVFNFFqczdRVUZGT1VJN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFTeHBRMEZCYVVNN08wRkJSV3BETzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeHpRa0ZCYzBJN08wRkJSWFJDTEhORVFVRnpSRHM3UVVGRmRFUTdPMEZCUlVFc2RVSkJRWFZDTzBGQlEzWkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4elEwRkJjME03TzBGQlJYUkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPenRCUVVWb1JEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5SRUZCWjBRN1FVRkRhRVE3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0N4NVFrRkJlVUk3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hKUVVGSk96dEJRVVZLTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFc2EwTkJRV3RET3p0QlFVVnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVURzN1FVRkZRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVWQlFXbEZPenRCUVVWcVJUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhsQ1FVRjVRanRCUVVONlFpeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlDUVVGdlFqdEJRVU53UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMREJFUVVFd1JEczdRVUZGTVVRc05FVkJRVFJGT3p0QlFVVTFSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjc1JVRkJSVHRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTEVkQlFVYzdPenRCUVVkSUxHbENRVUZwUWl4NVFrRkJlVUk3UVVGRE1VTTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERCRFFVRXdReXh0UWtGQlR5eERRVUZETERaSlFVRnRRenRCUVVOeVJqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVUkJRVzFFTzBGQlEyNUVPMEZCUTBFc2JVUkJRVzFFTEN0RVFVRXJSRHRCUVVOc1NEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2VVUkJRWGxFT3p0QlFVVjZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHbEpRVUY1UWp0QlFVTTVRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3huUTBGQlowTXNUMEZCVHp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUVOdmNIbHlhV2RvZENCS2IzbGxiblFzSUVsdVl5NGdZVzVrSUc5MGFHVnlJRTV2WkdVZ1kyOXVkSEpwWW5WMGIzSnpMbHh1THk5Y2JpOHZJRkJsY20xcGMzTnBiMjRnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1FzSUdaeVpXVWdiMllnWTJoaGNtZGxMQ0IwYnlCaGJua2djR1Z5YzI5dUlHOWlkR0ZwYm1sdVp5QmhYRzR2THlCamIzQjVJRzltSUhSb2FYTWdjMjltZEhkaGNtVWdZVzVrSUdGemMyOWphV0YwWldRZ1pHOWpkVzFsYm5SaGRHbHZiaUJtYVd4bGN5QW9kR2hsWEc0dkx5QmNJbE52Wm5SM1lYSmxYQ0lwTENCMGJ5QmtaV0ZzSUdsdUlIUm9aU0JUYjJaMGQyRnlaU0IzYVhSb2IzVjBJSEpsYzNSeWFXTjBhVzl1TENCcGJtTnNkV1JwYm1kY2JpOHZJSGRwZEdodmRYUWdiR2x0YVhSaGRHbHZiaUIwYUdVZ2NtbG5hSFJ6SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQnRaWEpuWlN3Z2NIVmliR2x6YUN4Y2JpOHZJR1JwYzNSeWFXSjFkR1VzSUhOMVlteHBZMlZ1YzJVc0lHRnVaQzl2Y2lCelpXeHNJR052Y0dsbGN5QnZaaUIwYUdVZ1UyOW1kSGRoY21Vc0lHRnVaQ0IwYnlCd1pYSnRhWFJjYmk4dklIQmxjbk52Ym5NZ2RHOGdkMmh2YlNCMGFHVWdVMjltZEhkaGNtVWdhWE1nWm5WeWJtbHphR1ZrSUhSdklHUnZJSE52TENCemRXSnFaV04wSUhSdklIUm9aVnh1THk4Z1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTTZYRzR2TDF4dUx5OGdWR2hsSUdGaWIzWmxJR052Y0hseWFXZG9kQ0J1YjNScFkyVWdZVzVrSUhSb2FYTWdjR1Z5YldsemMybHZiaUJ1YjNScFkyVWdjMmhoYkd3Z1ltVWdhVzVqYkhWa1pXUmNiaTh2SUdsdUlHRnNiQ0JqYjNCcFpYTWdiM0lnYzNWaWMzUmhiblJwWVd3Z2NHOXlkR2x2Ym5NZ2IyWWdkR2hsSUZOdlpuUjNZWEpsTGx4dUx5OWNiaTh2SUZSSVJTQlRUMFpVVjBGU1JTQkpVeUJRVWs5V1NVUkZSQ0JjSWtGVElFbFRYQ0lzSUZkSlZFaFBWVlFnVjBGU1VrRk9WRmtnVDBZZ1FVNVpJRXRKVGtRc0lFVllVRkpGVTFOY2JpOHZJRTlTSUVsTlVFeEpSVVFzSUVsT1EweFZSRWxPUnlCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4Z1ZFaEZJRmRCVWxKQlRsUkpSVk1nVDBaY2JpOHZJRTFGVWtOSVFVNVVRVUpKVEVsVVdTd2dSa2xVVGtWVFV5QkdUMUlnUVNCUVFWSlVTVU5WVEVGU0lGQlZVbEJQVTBVZ1FVNUVJRTVQVGtsT1JsSkpUa2RGVFVWT1ZDNGdTVTVjYmk4dklFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkJWVlJJVDFKVElFOVNJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUpGSUV4SlFVSk1SU0JHVDFJZ1FVNVpJRU5NUVVsTkxGeHVMeThnUkVGTlFVZEZVeUJQVWlCUFZFaEZVaUJNU1VGQ1NVeEpWRmtzSUZkSVJWUklSVklnU1U0Z1FVNGdRVU5VU1U5T0lFOUdJRU5QVGxSU1FVTlVMQ0JVVDFKVUlFOVNYRzR2THlCUFZFaEZVbGRKVTBVc0lFRlNTVk5KVGtjZ1JsSlBUU3dnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdVMDlHVkZkQlVrVWdUMUlnVkVoRlhHNHZMeUJWVTBVZ1QxSWdUMVJJUlZJZ1JFVkJURWxPUjFNZ1NVNGdWRWhGSUZOUFJsUlhRVkpGTGx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUZKbFlXUmhZbXhsTzF4dUx5bzhjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVkbUZ5SUVSMWNHeGxlRHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNVNaV0ZrWVdKc1pTNVNaV0ZrWVdKc1pWTjBZWFJsSUQwZ1VtVmhaR0ZpYkdWVGRHRjBaVHRjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JuWmhjaUJGUlNBOUlISmxjWFZwY21Vb0oyVjJaVzUwY3ljcExrVjJaVzUwUlcxcGRIUmxjanRjYmx4dWRtRnlJRVZGYkdsemRHVnVaWEpEYjNWdWRDQTlJR1oxYm1OMGFXOXVJRVZGYkdsemRHVnVaWEpEYjNWdWRDaGxiV2wwZEdWeUxDQjBlWEJsS1NCN1hHNGdJSEpsZEhWeWJpQmxiV2wwZEdWeUxteHBjM1JsYm1WeWN5aDBlWEJsS1M1c1pXNW5kR2c3WEc1OU8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JseHVkbUZ5SUZOMGNtVmhiU0E5SUhKbGNYVnBjbVVvSnk0dmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5emRISmxZVzBuS1R0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZGlkV1ptWlhJbktTNUNkV1ptWlhJN1hHNWNiblpoY2lCUGRYSlZhVzUwT0VGeWNtRjVJRDBnWjJ4dlltRnNMbFZwYm5RNFFYSnlZWGtnZkh3Z1puVnVZM1JwYjI0Z0tDa2dlMzA3WEc1Y2JtWjFibU4wYVc5dUlGOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSW9ZMmgxYm1zcElIdGNiaUFnY21WMGRYSnVJRUoxWm1abGNpNW1jbTl0S0dOb2RXNXJLVHRjYm4xY2JseHVablZ1WTNScGIyNGdYMmx6VldsdWREaEJjbkpoZVNodlltb3BJSHRjYmlBZ2NtVjBkWEp1SUVKMVptWmxjaTVwYzBKMVptWmxjaWh2WW1vcElIeDhJRzlpYWlCcGJuTjBZVzVqWlc5bUlFOTFjbFZwYm5RNFFYSnlZWGs3WEc1OVhHNHZLanh5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzVjYm5aaGNpQmtaV0oxWjFWMGFXd2dQU0J5WlhGMWFYSmxLQ2QxZEdsc0p5azdYRzVjYm5aaGNpQmtaV0oxWnp0Y2JseHVhV1lnS0dSbFluVm5WWFJwYkNBbUppQmtaV0oxWjFWMGFXd3VaR1ZpZFdkc2IyY3BJSHRjYmlBZ1pHVmlkV2NnUFNCa1pXSjFaMVYwYVd3dVpHVmlkV2RzYjJjb0ozTjBjbVZoYlNjcE8xeHVmU0JsYkhObElIdGNiaUFnWkdWaWRXY2dQU0JtZFc1amRHbHZiaUJrWldKMVp5Z3BJSHQ5TzF4dWZWeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmx4dWRtRnlJRUoxWm1abGNreHBjM1FnUFNCeVpYRjFhWEpsS0NjdUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlluVm1abVZ5WDJ4cGMzUW5LVHRjYmx4dWRtRnlJR1JsYzNSeWIzbEpiWEJzSUQwZ2NtVnhkV2x5WlNnbkxpOXBiblJsY201aGJDOXpkSEpsWVcxekwyUmxjM1J5YjNrbktUdGNibHh1ZG1GeUlGOXlaWEYxYVhKbElEMGdjbVZ4ZFdseVpTZ25MaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMM04wWVhSbEp5a3NYRzRnSUNBZ1oyVjBTR2xuYUZkaGRHVnlUV0Z5YXlBOUlGOXlaWEYxYVhKbExtZGxkRWhwWjJoWFlYUmxjazFoY21zN1hHNWNiblpoY2lCZmNtVnhkV2x5WlNSamIyUmxjeUE5SUhKbGNYVnBjbVVvSnk0dUwyVnljbTl5Y3ljcExtTnZaR1Z6TEZ4dUlDQWdJRVZTVWw5SlRsWkJURWxFWDBGU1IxOVVXVkJGSUQwZ1gzSmxjWFZwY21Va1kyOWtaWE11UlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVc1hHNGdJQ0FnUlZKU1gxTlVVa1ZCVFY5UVZWTklYMEZHVkVWU1gwVlBSaUE5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5VFZGSkZRVTFmVUZWVFNGOUJSbFJGVWw5RlQwWXNYRzRnSUNBZ1JWSlNYMDFGVkVoUFJGOU9UMVJmU1UxUVRFVk5SVTVVUlVRZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZUVVZVU0U5RVgwNVBWRjlKVFZCTVJVMUZUbFJGUkN4Y2JpQWdJQ0JGVWxKZlUxUlNSVUZOWDFWT1UwaEpSbFJmUVVaVVJWSmZSVTVFWDBWV1JVNVVJRDBnWDNKbGNYVnBjbVVrWTI5a1pYTXVSVkpTWDFOVVVrVkJUVjlWVGxOSVNVWlVYMEZHVkVWU1gwVk9SRjlGVmtWT1ZEc2dMeThnVEdGNmVTQnNiMkZrWldRZ2RHOGdhVzF3Y205MlpTQjBhR1VnYzNSaGNuUjFjQ0J3WlhKbWIzSnRZVzVqWlM1Y2JseHVYRzUyWVhJZ1UzUnlhVzVuUkdWamIyUmxjanRjYm5aaGNpQmpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJN1hHNTJZWElnWm5KdmJUdGNibHh1Y21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1NoU1pXRmtZV0pzWlN3Z1UzUnlaV0Z0S1R0Y2JseHVkbUZ5SUdWeWNtOXlUM0pFWlhOMGNtOTVJRDBnWkdWemRISnZlVWx0Y0d3dVpYSnliM0pQY2tSbGMzUnliM2s3WEc1MllYSWdhMUJ5YjNoNVJYWmxiblJ6SUQwZ1d5ZGxjbkp2Y2ljc0lDZGpiRzl6WlNjc0lDZGtaWE4wY205NUp5d2dKM0JoZFhObEp5d2dKM0psYzNWdFpTZGRPMXh1WEc1bWRXNWpkR2x2YmlCd2NtVndaVzVrVEdsemRHVnVaWElvWlcxcGRIUmxjaXdnWlhabGJuUXNJR1p1S1NCN1hHNGdJQzh2SUZOaFpHeDVJSFJvYVhNZ2FYTWdibTkwSUdOaFkyaGxZV0pzWlNCaGN5QnpiMjFsSUd4cFluSmhjbWxsY3lCaWRXNWtiR1VnZEdobGFYSWdiM2R1WEc0Z0lDOHZJR1YyWlc1MElHVnRhWFIwWlhJZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnZDJsMGFDQjBhR1Z0TGx4dUlDQnBaaUFvZEhsd1pXOW1JR1Z0YVhSMFpYSXVjSEpsY0dWdVpFeHBjM1JsYm1WeUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCeVpYUjFjbTRnWlcxcGRIUmxjaTV3Y21Wd1pXNWtUR2x6ZEdWdVpYSW9aWFpsYm5Rc0lHWnVLVHNnTHk4Z1ZHaHBjeUJwY3lCaElHaGhZMnNnZEc4Z2JXRnJaU0J6ZFhKbElIUm9ZWFFnYjNWeUlHVnljbTl5SUdoaGJtUnNaWElnYVhNZ1lYUjBZV05vWldRZ1ltVm1iM0psSUdGdWVWeHVJQ0F2THlCMWMyVnliR0Z1WkNCdmJtVnpMaUFnVGtWV1JWSWdSRThnVkVoSlV5NGdWR2hwY3lCcGN5Qm9aWEpsSUc5dWJIa2dZbVZqWVhWelpTQjBhR2x6SUdOdlpHVWdibVZsWkhOY2JpQWdMeThnZEc4Z1kyOXVkR2x1ZFdVZ2RHOGdkMjl5YXlCM2FYUm9JRzlzWkdWeUlIWmxjbk5wYjI1eklHOW1JRTV2WkdVdWFuTWdkR2hoZENCa2J5QnViM1FnYVc1amJIVmtaVnh1SUNBdkx5QjBhR1VnY0hKbGNHVnVaRXhwYzNSbGJtVnlLQ2tnYldWMGFHOWtMaUJVYUdVZ1oyOWhiQ0JwY3lCMGJ5QmxkbVZ1ZEhWaGJHeDVJSEpsYlc5MlpTQjBhR2x6SUdoaFkyc3VYRzVjYmlBZ2FXWWdLQ0ZsYldsMGRHVnlMbDlsZG1WdWRITWdmSHdnSVdWdGFYUjBaWEl1WDJWMlpXNTBjMXRsZG1WdWRGMHBJR1Z0YVhSMFpYSXViMjRvWlhabGJuUXNJR1p1S1R0bGJITmxJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLR1Z0YVhSMFpYSXVYMlYyWlc1MGMxdGxkbVZ1ZEYwcEtTQmxiV2wwZEdWeUxsOWxkbVZ1ZEhOYlpYWmxiblJkTG5WdWMyaHBablFvWm00cE8yVnNjMlVnWlcxcGRIUmxjaTVmWlhabGJuUnpXMlYyWlc1MFhTQTlJRnRtYml3Z1pXMXBkSFJsY2k1ZlpYWmxiblJ6VzJWMlpXNTBYVjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJRkpsWVdSaFlteGxVM1JoZEdVb2IzQjBhVzl1Y3l3Z2MzUnlaV0Z0TENCcGMwUjFjR3hsZUNrZ2UxeHVJQ0JFZFhCc1pYZ2dQU0JFZFhCc1pYZ2dmSHdnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDJSMWNHeGxlQ2NwTzF4dUlDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5QjhmQ0I3ZlRzZ0x5OGdSSFZ3YkdWNElITjBjbVZoYlhNZ1lYSmxJR0p2ZEdnZ2NtVmhaR0ZpYkdVZ1lXNWtJSGR5YVhSaFlteGxMQ0JpZFhRZ2MyaGhjbVZjYmlBZ0x5OGdkR2hsSUhOaGJXVWdiM0IwYVc5dWN5QnZZbXBsWTNRdVhHNGdJQzh2SUVodmQyVjJaWElzSUhOdmJXVWdZMkZ6WlhNZ2NtVnhkV2x5WlNCelpYUjBhVzVuSUc5d2RHbHZibk1nZEc4Z1pHbG1abVZ5Wlc1MFhHNGdJQzh2SUhaaGJIVmxjeUJtYjNJZ2RHaGxJSEpsWVdSaFlteGxJR0Z1WkNCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlhNZ2IyWWdkR2hsSUdSMWNHeGxlQ0J6ZEhKbFlXMHVYRzRnSUM4dklGUm9aWE5sSUc5d2RHbHZibk1nWTJGdUlHSmxJSEJ5YjNacFpHVmtJSE5sY0dGeVlYUmxiSGtnWVhNZ2NtVmhaR0ZpYkdWWVdGZ2dZVzVrSUhkeWFYUmhZbXhsV0ZoWUxseHVYRzRnSUdsbUlDaDBlWEJsYjJZZ2FYTkVkWEJzWlhnZ0lUMDlJQ2RpYjI5c1pXRnVKeWtnYVhORWRYQnNaWGdnUFNCemRISmxZVzBnYVc1emRHRnVZMlZ2WmlCRWRYQnNaWGc3SUM4dklHOWlhbVZqZENCemRISmxZVzBnWm14aFp5NGdWWE5sWkNCMGJ5QnRZV3RsSUhKbFlXUW9iaWtnYVdkdWIzSmxJRzRnWVc1a0lIUnZYRzRnSUM4dklHMWhhMlVnWVd4c0lIUm9aU0JpZFdabVpYSWdiV1Z5WjJsdVp5QmhibVFnYkdWdVozUm9JR05vWldOcmN5Qm5ieUJoZDJGNVhHNWNiaUFnZEdocGN5NXZZbXBsWTNSTmIyUmxJRDBnSVNGdmNIUnBiMjV6TG05aWFtVmpkRTF2WkdVN1hHNGdJR2xtSUNocGMwUjFjR3hsZUNrZ2RHaHBjeTV2WW1wbFkzUk5iMlJsSUQwZ2RHaHBjeTV2WW1wbFkzUk5iMlJsSUh4OElDRWhiM0IwYVc5dWN5NXlaV0ZrWVdKc1pVOWlhbVZqZEUxdlpHVTdJQzh2SUhSb1pTQndiMmx1ZENCaGRDQjNhR2xqYUNCcGRDQnpkRzl3Y3lCallXeHNhVzVuSUY5eVpXRmtLQ2tnZEc4Z1ptbHNiQ0IwYUdVZ1luVm1abVZ5WEc0Z0lDOHZJRTV2ZEdVNklEQWdhWE1nWVNCMllXeHBaQ0IyWVd4MVpTd2diV1ZoYm5NZ1hDSmtiMjRuZENCallXeHNJRjl5WldGa0lIQnlaV1Z0Y0hScGRtVnNlU0JsZG1WeVhDSmNibHh1SUNCMGFHbHpMbWhwWjJoWFlYUmxjazFoY21zZ1BTQm5aWFJJYVdkb1YyRjBaWEpOWVhKcktIUm9hWE1zSUc5d2RHbHZibk1zSUNkeVpXRmtZV0pzWlVocFoyaFhZWFJsY2sxaGNtc25MQ0JwYzBSMWNHeGxlQ2s3SUM4dklFRWdiR2x1YTJWa0lHeHBjM1FnYVhNZ2RYTmxaQ0IwYnlCemRHOXlaU0JrWVhSaElHTm9kVzVyY3lCcGJuTjBaV0ZrSUc5bUlHRnVJR0Z5Y21GNUlHSmxZMkYxYzJVZ2RHaGxYRzRnSUM4dklHeHBibXRsWkNCc2FYTjBJR05oYmlCeVpXMXZkbVVnWld4bGJXVnVkSE1nWm5KdmJTQjBhR1VnWW1WbmFXNXVhVzVuSUdaaGMzUmxjaUIwYUdGdVhHNGdJQzh2SUdGeWNtRjVMbk5vYVdaMEtDbGNibHh1SUNCMGFHbHpMbUoxWm1abGNpQTlJRzVsZHlCQ2RXWm1aWEpNYVhOMEtDazdYRzRnSUhSb2FYTXViR1Z1WjNSb0lEMGdNRHRjYmlBZ2RHaHBjeTV3YVhCbGN5QTlJRzUxYkd3N1hHNGdJSFJvYVhNdWNHbHdaWE5EYjNWdWRDQTlJREE3WEc0Z0lIUm9hWE11Wm14dmQybHVaeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXVaVzVrWldRZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1bGJtUkZiV2wwZEdWa0lEMGdabUZzYzJVN1hHNGdJSFJvYVhNdWNtVmhaR2x1WnlBOUlHWmhiSE5sT3lBdkx5QmhJR1pzWVdjZ2RHOGdZbVVnWVdKc1pTQjBieUIwWld4c0lHbG1JSFJvWlNCbGRtVnVkQ0FuY21WaFpHRmliR1VuTHlka1lYUmhKeUJwY3lCbGJXbDBkR1ZrWEc0Z0lDOHZJR2x0YldWa2FXRjBaV3g1TENCdmNpQnZiaUJoSUd4aGRHVnlJSFJwWTJzdUlDQlhaU0J6WlhRZ2RHaHBjeUIwYnlCMGNuVmxJR0YwSUdacGNuTjBMQ0JpWldOaGRYTmxYRzRnSUM4dklHRnVlU0JoWTNScGIyNXpJSFJvWVhRZ2MyaHZkV3hrYmlkMElHaGhjSEJsYmlCMWJuUnBiQ0JjSW14aGRHVnlYQ0lnYzJodmRXeGtJR2RsYm1WeVlXeHNlU0JoYkhOdlhHNGdJQzh2SUc1dmRDQm9ZWEJ3Wlc0Z1ltVm1iM0psSUhSb1pTQm1hWEp6ZENCeVpXRmtJR05oYkd3dVhHNWNiaUFnZEdocGN5NXplVzVqSUQwZ2RISjFaVHNnTHk4Z2QyaGxibVYyWlhJZ2QyVWdjbVYwZFhKdUlHNTFiR3dzSUhSb1pXNGdkMlVnYzJWMElHRWdabXhoWnlCMGJ5QnpZWGxjYmlBZ0x5OGdkR2hoZENCM1pTZHlaU0JoZDJGcGRHbHVaeUJoSUNkeVpXRmtZV0pzWlNjZ1pYWmxiblFnWlcxcGMzTnBiMjR1WEc1Y2JpQWdkR2hwY3k1dVpXVmtVbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlHWmhiSE5sTzF4dUlDQjBhR2x6TG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0E5SUdaaGJITmxPMXh1SUNCMGFHbHpMbkJoZFhObFpDQTlJSFJ5ZFdVN0lDOHZJRk5vYjNWc1pDQmpiRzl6WlNCaVpTQmxiV2wwZEdWa0lHOXVJR1JsYzNSeWIza3VJRVJsWm1GMWJIUnpJSFJ2SUhSeWRXVXVYRzVjYmlBZ2RHaHBjeTVsYldsMFEyeHZjMlVnUFNCdmNIUnBiMjV6TG1WdGFYUkRiRzl6WlNBaFBUMGdabUZzYzJVN0lDOHZJRk5vYjNWc1pDQXVaR1Z6ZEhKdmVTZ3BJR0psSUdOaGJHeGxaQ0JoWm5SbGNpQW5aVzVrSnlBb1lXNWtJSEJ2ZEdWdWRHbGhiR3g1SUNkbWFXNXBjMmduS1Z4dVhHNGdJSFJvYVhNdVlYVjBiMFJsYzNSeWIza2dQU0FoSVc5d2RHbHZibk11WVhWMGIwUmxjM1J5YjNrN0lDOHZJR2hoY3lCcGRDQmlaV1Z1SUdSbGMzUnliM2xsWkZ4dVhHNGdJSFJvYVhNdVpHVnpkSEp2ZVdWa0lEMGdabUZzYzJVN0lDOHZJRU55ZVhCMGJ5QnBjeUJyYVc1a0lHOW1JRzlzWkNCaGJtUWdZM0oxYzNSNUxpQWdTR2x6ZEc5eWFXTmhiR3g1TENCcGRITWdaR1ZtWVhWc2RDQnpkSEpwYm1kY2JpQWdMeThnWlc1amIyUnBibWNnYVhNZ0oySnBibUZ5ZVNjZ2MyOGdkMlVnYUdGMlpTQjBieUJ0WVd0bElIUm9hWE1nWTI5dVptbG5kWEpoWW14bExseHVJQ0F2THlCRmRtVnllWFJvYVc1bklHVnNjMlVnYVc0Z2RHaGxJSFZ1YVhabGNuTmxJSFZ6WlhNZ0ozVjBaamduTENCMGFHOTFaMmd1WEc1Y2JpQWdkR2hwY3k1a1pXWmhkV3gwUlc1amIyUnBibWNnUFNCdmNIUnBiMjV6TG1SbFptRjFiSFJGYm1OdlpHbHVaeUI4ZkNBbmRYUm1PQ2M3SUM4dklIUm9aU0J1ZFcxaVpYSWdiMllnZDNKcGRHVnljeUIwYUdGMElHRnlaU0JoZDJGcGRHbHVaeUJoSUdSeVlXbHVJR1YyWlc1MElHbHVJQzV3YVhCbEtDbHpYRzVjYmlBZ2RHaHBjeTVoZDJGcGRFUnlZV2x1SUQwZ01Ec2dMeThnYVdZZ2RISjFaU3dnWVNCdFlYbGlaVkpsWVdSTmIzSmxJR2hoY3lCaVpXVnVJSE5qYUdWa2RXeGxaRnh1WEc0Z0lIUm9hWE11Y21WaFpHbHVaMDF2Y21VZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1a1pXTnZaR1Z5SUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTXVaVzVqYjJScGJtY3BJSHRjYmlBZ0lDQnBaaUFvSVZOMGNtbHVaMFJsWTI5a1pYSXBJRk4wY21sdVowUmxZMjlrWlhJZ1BTQnlaWEYxYVhKbEtDZHpkSEpwYm1kZlpHVmpiMlJsY2k4bktTNVRkSEpwYm1kRVpXTnZaR1Z5TzF4dUlDQWdJSFJvYVhNdVpHVmpiMlJsY2lBOUlHNWxkeUJUZEhKcGJtZEVaV052WkdWeUtHOXdkR2x2Ym5NdVpXNWpiMlJwYm1jcE8xeHVJQ0FnSUhSb2FYTXVaVzVqYjJScGJtY2dQU0J2Y0hScGIyNXpMbVZ1WTI5a2FXNW5PMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUZKbFlXUmhZbXhsS0c5d2RHbHZibk1wSUh0Y2JpQWdSSFZ3YkdWNElEMGdSSFZ3YkdWNElIeDhJSEpsY1hWcGNtVW9KeTR2WDNOMGNtVmhiVjlrZFhCc1pYZ25LVHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRkpsWVdSaFlteGxLU2tnY21WMGRYSnVJRzVsZHlCU1pXRmtZV0pzWlNodmNIUnBiMjV6S1RzZ0x5OGdRMmhsWTJ0cGJtY2dabTl5SUdFZ1UzUnlaV0Z0TGtSMWNHeGxlQ0JwYm5OMFlXNWpaU0JwY3lCbVlYTjBaWElnYUdWeVpTQnBibk4wWldGa0lHOW1JR2x1YzJsa1pWeHVJQ0F2THlCMGFHVWdVbVZoWkdGaWJHVlRkR0YwWlNCamIyNXpkSEoxWTNSdmNpd2dZWFFnYkdWaGMzUWdkMmwwYUNCV09DQTJMalZjYmx4dUlDQjJZWElnYVhORWRYQnNaWGdnUFNCMGFHbHpJR2x1YzNSaGJtTmxiMllnUkhWd2JHVjRPMXh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElEMGdibVYzSUZKbFlXUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2dkR2hwY3l3Z2FYTkVkWEJzWlhncE95QXZMeUJzWldkaFkzbGNibHh1SUNCMGFHbHpMbkpsWVdSaFlteGxJRDBnZEhKMVpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NXlaV0ZrSUQwOVBTQW5ablZ1WTNScGIyNG5LU0IwYUdsekxsOXlaV0ZrSUQwZ2IzQjBhVzl1Y3k1eVpXRmtPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NWtaWE4wY205NUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCMGFHbHpMbDlrWlhOMGNtOTVJRDBnYjNCMGFXOXVjeTVrWlhOMGNtOTVPMXh1SUNCOVhHNWNiaUFnVTNSeVpXRnRMbU5oYkd3b2RHaHBjeWs3WEc1OVhHNWNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoU1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVc0lDZGtaWE4wY205NVpXUW5MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNWtaWE4wY205NVpXUTdYRzRnSUgwc1hHNGdJSE5sZERvZ1puVnVZM1JwYjI0Z2MyVjBLSFpoYkhWbEtTQjdYRzRnSUNBZ0x5OGdkMlVnYVdkdWIzSmxJSFJvWlNCMllXeDFaU0JwWmlCMGFHVWdjM1J5WldGdFhHNGdJQ0FnTHk4Z2FHRnpJRzV2ZENCaVpXVnVJR2x1YVhScFlXeHBlbVZrSUhsbGRGeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnWW1GamEzZGhjbVFnWTI5dGNHRjBhV0pwYkdsMGVTd2dkR2hsSUhWelpYSWdhWE1nWlhod2JHbGphWFJzZVZ4dUlDQWdJQzh2SUcxaGJtRm5hVzVuSUdSbGMzUnliM2xsWkZ4dVhHNWNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFpoYkhWbE8xeHVJQ0I5WEc1OUtUdGNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVrWlhOMGNtOTVJRDBnWkdWemRISnZlVWx0Y0d3dVpHVnpkSEp2ZVR0Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNWZkVzVrWlhOMGNtOTVJRDBnWkdWemRISnZlVWx0Y0d3dWRXNWtaWE4wY205NU8xeHVYRzVTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1WDJSbGMzUnliM2tnUFNCbWRXNWpkR2x2YmlBb1pYSnlMQ0JqWWlrZ2UxeHVJQ0JqWWlobGNuSXBPMXh1ZlRzZ0x5OGdUV0Z1ZFdGc2JIa2djMmh2ZG1VZ2MyOXRaWFJvYVc1bklHbHVkRzhnZEdobElISmxZV1FvS1NCaWRXWm1aWEl1WEc0dkx5QlVhR2x6SUhKbGRIVnlibk1nZEhKMVpTQnBaaUIwYUdVZ2FHbG5hRmRoZEdWeVRXRnlheUJvWVhNZ2JtOTBJR0psWlc0Z2FHbDBJSGxsZEN4Y2JpOHZJSE5wYldsc1lYSWdkRzhnYUc5M0lGZHlhWFJoWW14bExuZHlhWFJsS0NrZ2NtVjBkWEp1Y3lCMGNuVmxJR2xtSUhsdmRTQnphRzkxYkdSY2JpOHZJSGR5YVhSbEtDa2djMjl0WlNCdGIzSmxMbHh1WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXdkWE5vSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVJQ0IyWVhJZ2MydHBjRU5vZFc1clEyaGxZMnM3WEc1Y2JpQWdhV1lnS0NGemRHRjBaUzV2WW1wbFkzUk5iMlJsS1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUE5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lHVnVZMjlrYVc1bklEMGdaVzVqYjJScGJtY2dmSHdnYzNSaGRHVXVaR1ZtWVhWc2RFVnVZMjlrYVc1bk8xeHVYRzRnSUNBZ0lDQnBaaUFvWlc1amIyUnBibWNnSVQwOUlITjBZWFJsTG1WdVkyOWthVzVuS1NCN1hHNGdJQ0FnSUNBZ0lHTm9kVzVySUQwZ1FuVm1abVZ5TG1aeWIyMG9ZMmgxYm1zc0lHVnVZMjlrYVc1bktUdGNiaUFnSUNBZ0lDQWdaVzVqYjJScGJtY2dQU0FuSnp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MydHBjRU5vZFc1clEyaGxZMnNnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnphMmx3UTJoMWJtdERhR1ZqYXlBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnY21WaFpHRmliR1ZCWkdSRGFIVnVheWgwYUdsekxDQmphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHWmhiSE5sTENCemEybHdRMmgxYm10RGFHVmpheWs3WEc1OU95QXZMeUJWYm5Ob2FXWjBJSE5vYjNWc1pDQXFZV3gzWVhsektpQmlaU0J6YjIxbGRHaHBibWNnWkdseVpXTjBiSGtnYjNWMElHOW1JSEpsWVdRb0tWeHVYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1MWJuTm9hV1owSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyS1NCN1hHNGdJSEpsZEhWeWJpQnlaV0ZrWVdKc1pVRmtaRU5vZFc1cktIUm9hWE1zSUdOb2RXNXJMQ0J1ZFd4c0xDQjBjblZsTENCbVlXeHpaU2s3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJ5WldGa1lXSnNaVUZrWkVOb2RXNXJLSE4wY21WaGJTd2dZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmhaR1JVYjBaeWIyNTBMQ0J6YTJsd1EyaDFibXREYUdWamF5a2dlMXh1SUNCa1pXSjFaeWduY21WaFpHRmliR1ZCWkdSRGFIVnVheWNzSUdOb2RXNXJLVHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dVhHNGdJR2xtSUNoamFIVnVheUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSE4wWVhSbExuSmxZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0J2YmtWdlprTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCbGNqdGNiaUFnSUNCcFppQW9JWE5yYVhCRGFIVnVhME5vWldOcktTQmxjaUE5SUdOb2RXNXJTVzUyWVd4cFpDaHpkR0YwWlN3Z1kyaDFibXNwTzF4dVhHNGdJQ0FnYVdZZ0tHVnlLU0I3WEc0Z0lDQWdJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSE4wWVhSbExtOWlhbVZqZEUxdlpHVWdmSHdnWTJoMWJtc2dKaVlnWTJoMWJtc3ViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUFoUFQwZ0ozTjBjbWx1WnljZ0ppWWdJWE4wWVhSbExtOWlhbVZqZEUxdlpHVWdKaVlnVDJKcVpXTjBMbWRsZEZCeWIzUnZkSGx3WlU5bUtHTm9kVzVyS1NBaFBUMGdRblZtWm1WeUxuQnliM1J2ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0JqYUhWdWF5QTlJRjkxYVc1ME9FRnljbUY1Vkc5Q2RXWm1aWElvWTJoMWJtc3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1lXUmtWRzlHY205dWRDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2MzUmhkR1V1Wlc1a1JXMXBkSFJsWkNrZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0J1WlhjZ1JWSlNYMU5VVWtWQlRWOVZUbE5JU1VaVVgwRkdWRVZTWDBWT1JGOUZWa1ZPVkNncEtUdGxiSE5sSUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQjBjblZsS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSlBja1JsYzNSeWIza29jM1J5WldGdExDQnVaWGNnUlZKU1gxTlVVa1ZCVFY5UVZWTklYMEZHVkVWU1gwVlBSaWdwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1WkdWemRISnZlV1ZrS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSE4wWVhSbExuSmxZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYzNSaGRHVXVaR1ZqYjJSbGNpQW1KaUFoWlc1amIyUnBibWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmphSFZ1YXlBOUlITjBZWFJsTG1SbFkyOWtaWEl1ZDNKcGRHVW9ZMmgxYm1zcE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoemRHRjBaUzV2WW1wbFkzUk5iMlJsSUh4OElHTm9kVzVyTG14bGJtZDBhQ0FoUFQwZ01Da2dZV1JrUTJoMWJtc29jM1J5WldGdExDQnpkR0YwWlN3Z1kyaDFibXNzSUdaaGJITmxLVHRsYkhObElHMWhlV0psVW1WaFpFMXZjbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnWVdSa1EyaDFibXNvYzNSeVpXRnRMQ0J6ZEdGMFpTd2dZMmgxYm1zc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb0lXRmtaRlJ2Um5KdmJuUXBJSHRjYmlBZ0lDQWdJSE4wWVhSbExuSmxZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUcxaGVXSmxVbVZoWkUxdmNtVW9jM1J5WldGdExDQnpkR0YwWlNrN1hHNGdJQ0FnZlZ4dUlDQjlJQzh2SUZkbElHTmhiaUJ3ZFhOb0lHMXZjbVVnWkdGMFlTQnBaaUIzWlNCaGNtVWdZbVZzYjNjZ2RHaGxJR2hwWjJoWFlYUmxjazFoY21zdVhHNGdJQzh2SUVGc2MyOHNJR2xtSUhkbElHaGhkbVVnYm04Z1pHRjBZU0I1WlhRc0lIZGxJR05oYmlCemRHRnVaQ0J6YjIxbElHMXZjbVVnWW5sMFpYTXVYRzRnSUM4dklGUm9hWE1nYVhNZ2RHOGdkMjl5YXlCaGNtOTFibVFnWTJGelpYTWdkMmhsY21VZ2FIZHRQVEFzSUhOMVkyZ2dZWE1nZEdobElISmxjR3d1WEc1Y2JseHVJQ0J5WlhSMWNtNGdJWE4wWVhSbExtVnVaR1ZrSUNZbUlDaHpkR0YwWlM1c1pXNW5kR2dnUENCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKcklIeDhJSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR0ZrWkVOb2RXNXJLSE4wY21WaGJTd2djM1JoZEdVc0lHTm9kVzVyTENCaFpHUlViMFp5YjI1MEtTQjdYRzRnSUdsbUlDaHpkR0YwWlM1bWJHOTNhVzVuSUNZbUlITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01DQW1KaUFoYzNSaGRHVXVjM2x1WXlrZ2UxeHVJQ0FnSUhOMFlYUmxMbUYzWVdsMFJISmhhVzRnUFNBd08xeHVJQ0FnSUhOMGNtVmhiUzVsYldsMEtDZGtZWFJoSnl3Z1kyaDFibXNwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklIVndaR0YwWlNCMGFHVWdZblZtWm1WeUlHbHVabTh1WEc0Z0lDQWdjM1JoZEdVdWJHVnVaM1JvSUNzOUlITjBZWFJsTG05aWFtVmpkRTF2WkdVZ1B5QXhJRG9nWTJoMWJtc3ViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGhaR1JVYjBaeWIyNTBLU0J6ZEdGMFpTNWlkV1ptWlhJdWRXNXphR2xtZENoamFIVnVheWs3Wld4elpTQnpkR0YwWlM1aWRXWm1aWEl1Y0hWemFDaGphSFZ1YXlrN1hHNGdJQ0FnYVdZZ0tITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTa2daVzFwZEZKbFlXUmhZbXhsS0hOMGNtVmhiU2s3WEc0Z0lIMWNibHh1SUNCdFlYbGlaVkpsWVdSTmIzSmxLSE4wY21WaGJTd2djM1JoZEdVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamFIVnVhMGx1ZG1Gc2FXUW9jM1JoZEdVc0lHTm9kVzVyS1NCN1hHNGdJSFpoY2lCbGNqdGNibHh1SUNCcFppQW9JVjlwYzFWcGJuUTRRWEp5WVhrb1kyaDFibXNwSUNZbUlIUjVjR1Z2WmlCamFIVnVheUFoUFQwZ0ozTjBjbWx1WnljZ0ppWWdZMmgxYm1zZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlBaGMzUmhkR1V1YjJKcVpXTjBUVzlrWlNrZ2UxeHVJQ0FnSUdWeUlEMGdibVYzSUVWU1VsOUpUbFpCVEVsRVgwRlNSMTlVV1ZCRktDZGphSFZ1YXljc0lGc25jM1J5YVc1bkp5d2dKMEoxWm1abGNpY3NJQ2RWYVc1ME9FRnljbUY1SjEwc0lHTm9kVzVyS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbGNqdGNibjFjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExtbHpVR0YxYzJWa0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNW1iRzkzYVc1bklEMDlQU0JtWVd4elpUdGNibjA3SUM4dklHSmhZMnQzWVhKa2N5QmpiMjF3WVhScFltbHNhWFI1TGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV6WlhSRmJtTnZaR2x1WnlBOUlHWjFibU4wYVc5dUlDaGxibU1wSUh0Y2JpQWdhV1lnS0NGVGRISnBibWRFWldOdlpHVnlLU0JUZEhKcGJtZEVaV052WkdWeUlEMGdjbVZ4ZFdseVpTZ25jM1J5YVc1blgyUmxZMjlrWlhJdkp5a3VVM1J5YVc1blJHVmpiMlJsY2p0Y2JpQWdkbUZ5SUdSbFkyOWtaWElnUFNCdVpYY2dVM1J5YVc1blJHVmpiMlJsY2lobGJtTXBPMXh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxZMjlrWlhJZ1BTQmtaV052WkdWeU95QXZMeUJKWmlCelpYUkZibU52WkdsdVp5aHVkV3hzS1N3Z1pHVmpiMlJsY2k1bGJtTnZaR2x1WnlCbGNYVmhiSE1nZFhSbU9GeHVYRzRnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpXNWpiMlJwYm1jZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsWTI5a1pYSXVaVzVqYjJScGJtYzdJQzh2SUVsMFpYSmhkR1VnYjNabGNpQmpkWEp5Wlc1MElHSjFabVpsY2lCMGJ5QmpiMjUyWlhKMElHRnNjbVZoWkhrZ2MzUnZjbVZrSUVKMVptWmxjbk02WEc1Y2JpQWdkbUZ5SUhBZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbUoxWm1abGNpNW9aV0ZrTzF4dUlDQjJZWElnWTI5dWRHVnVkQ0E5SUNjbk8xeHVYRzRnSUhkb2FXeGxJQ2h3SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWTI5dWRHVnVkQ0FyUFNCa1pXTnZaR1Z5TG5keWFYUmxLSEF1WkdGMFlTazdYRzRnSUNBZ2NDQTlJSEF1Ym1WNGREdGNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WW5WbVptVnlMbU5zWldGeUtDazdYRzVjYmlBZ2FXWWdLR052Ym5SbGJuUWdJVDA5SUNjbktTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbUoxWm1abGNpNXdkWE5vS0dOdmJuUmxiblFwTzF4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbXhsYm1kMGFDQTlJR052Ym5SbGJuUXViR1Z1WjNSb08xeHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdJQzh2SUVSdmJpZDBJSEpoYVhObElIUm9aU0JvZDIwZ1BpQXhSMEpjYmx4dVhHNTJZWElnVFVGWVgwaFhUU0E5SURCNE5EQXdNREF3TURBN1hHNWNibVoxYm1OMGFXOXVJR052YlhCMWRHVk9aWGRJYVdkb1YyRjBaWEpOWVhKcktHNHBJSHRjYmlBZ2FXWWdLRzRnUGowZ1RVRllYMGhYVFNrZ2UxeHVJQ0FnSUM4dklGUlBSRThvY205dVlXY3BPaUJVYUhKdmR5QkZVbEpmVmtGTVZVVmZUMVZVWDA5R1gxSkJUa2RGTGx4dUlDQWdJRzRnUFNCTlFWaGZTRmROTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFZGxkQ0IwYUdVZ2JtVjRkQ0JvYVdkb1pYTjBJSEJ2ZDJWeUlHOW1JRElnZEc4Z2NISmxkbVZ1ZENCcGJtTnlaV0Z6YVc1bklHaDNiU0JsZUdObGMzTnBkbVZzZVNCcGJseHVJQ0FnSUM4dklIUnBibmtnWVcxdmRXNTBjMXh1SUNBZ0lHNHRMVHRjYmlBZ0lDQnVJSHc5SUc0Z1BqNCtJREU3WEc0Z0lDQWdiaUI4UFNCdUlENCtQaUF5TzF4dUlDQWdJRzRnZkQwZ2JpQStQajRnTkR0Y2JpQWdJQ0J1SUh3OUlHNGdQajQrSURnN1hHNGdJQ0FnYmlCOFBTQnVJRDQrUGlBeE5qdGNiaUFnSUNCdUt5czdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdianRjYm4wZ0x5OGdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmtaWE5wWjI1bFpDQjBieUJpWlNCcGJteHBibUZpYkdVc0lITnZJSEJzWldGelpTQjBZV3RsSUdOaGNtVWdkMmhsYmlCdFlXdHBibWRjYmk4dklHTm9ZVzVuWlhNZ2RHOGdkR2hsSUdaMWJtTjBhVzl1SUdKdlpIa3VYRzVjYmx4dVpuVnVZM1JwYjI0Z2FHOTNUWFZqYUZSdlVtVmhaQ2h1TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvYmlBOFBTQXdJSHg4SUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNBbUppQnpkR0YwWlM1bGJtUmxaQ2tnY21WMGRYSnVJREE3WEc0Z0lHbG1JQ2h6ZEdGMFpTNXZZbXBsWTNSTmIyUmxLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQnBaaUFvYmlBaFBUMGdiaWtnZTF4dUlDQWdJQzh2SUU5dWJIa2dabXh2ZHlCdmJtVWdZblZtWm1WeUlHRjBJR0VnZEdsdFpWeHVJQ0FnSUdsbUlDaHpkR0YwWlM1bWJHOTNhVzVuSUNZbUlITjBZWFJsTG14bGJtZDBhQ2tnY21WMGRYSnVJSE4wWVhSbExtSjFabVpsY2k1b1pXRmtMbVJoZEdFdWJHVnVaM1JvTzJWc2MyVWdjbVYwZFhKdUlITjBZWFJsTG14bGJtZDBhRHRjYmlBZ2ZTQXZMeUJKWmlCM1pTZHlaU0JoYzJ0cGJtY2dabTl5SUcxdmNtVWdkR2hoYmlCMGFHVWdZM1Z5Y21WdWRDQm9kMjBzSUhSb1pXNGdjbUZwYzJVZ2RHaGxJR2gzYlM1Y2JseHVYRzRnSUdsbUlDaHVJRDRnYzNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXlrZ2MzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF5QTlJR052YlhCMWRHVk9aWGRJYVdkb1YyRjBaWEpOWVhKcktHNHBPMXh1SUNCcFppQW9iaUE4UFNCemRHRjBaUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQnVPeUF2THlCRWIyNG5kQ0JvWVhabElHVnViM1ZuYUZ4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQnpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVWdQU0IwY25WbE8xeHVJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhOMFlYUmxMbXhsYm1kMGFEdGNibjBnTHk4Z2VXOTFJR05oYmlCdmRtVnljbWxrWlNCbGFYUm9aWElnZEdocGN5QnRaWFJvYjJRc0lHOXlJSFJvWlNCaGMzbHVZeUJmY21WaFpDaHVLU0JpWld4dmR5NWNibHh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWNtVmhaQ0E5SUdaMWJtTjBhVzl1SUNodUtTQjdYRzRnSUdSbFluVm5LQ2R5WldGa0p5d2diaWs3WEc0Z0lHNGdQU0J3WVhKelpVbHVkQ2h1TENBeE1DazdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzRnSUhaaGNpQnVUM0pwWnlBOUlHNDdYRzRnSUdsbUlDaHVJQ0U5UFNBd0tTQnpkR0YwWlM1bGJXbDBkR1ZrVW1WaFpHRmliR1VnUFNCbVlXeHpaVHNnTHk4Z2FXWWdkMlVuY21VZ1pHOXBibWNnY21WaFpDZ3dLU0IwYnlCMGNtbG5aMlZ5SUdFZ2NtVmhaR0ZpYkdVZ1pYWmxiblFzSUdKMWRDQjNaVnh1SUNBdkx5QmhiSEpsWVdSNUlHaGhkbVVnWVNCaWRXNWphQ0J2WmlCa1lYUmhJR2x1SUhSb1pTQmlkV1ptWlhJc0lIUm9aVzRnYW5WemRDQjBjbWxuWjJWeVhHNGdJQzh2SUhSb1pTQW5jbVZoWkdGaWJHVW5JR1YyWlc1MElHRnVaQ0J0YjNabElHOXVMbHh1WEc0Z0lHbG1JQ2h1SUQwOVBTQXdJQ1ltSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBbUppQW9LSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXNnSVQwOUlEQWdQeUJ6ZEdGMFpTNXNaVzVuZEdnZ1BqMGdjM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUE2SUhOMFlYUmxMbXhsYm1kMGFDQStJREFwSUh4OElITjBZWFJsTG1WdVpHVmtLU2tnZTF4dUlDQWdJR1JsWW5WbktDZHlaV0ZrT2lCbGJXbDBVbVZoWkdGaWJHVW5MQ0J6ZEdGMFpTNXNaVzVuZEdnc0lITjBZWFJsTG1WdVpHVmtLVHRjYmlBZ0lDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3SUNZbUlITjBZWFJsTG1WdVpHVmtLU0JsYm1SU1pXRmtZV0pzWlNoMGFHbHpLVHRsYkhObElHVnRhWFJTWldGa1lXSnNaU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJRzRnUFNCb2IzZE5kV05vVkc5U1pXRmtLRzRzSUhOMFlYUmxLVHNnTHk4Z2FXWWdkMlVuZG1VZ1pXNWtaV1FzSUdGdVpDQjNaU2R5WlNCdWIzY2dZMnhsWVhJc0lIUm9aVzRnWm1sdWFYTm9JR2wwSUhWd0xseHVYRzRnSUdsbUlDaHVJRDA5UFNBd0lDWW1JSE4wWVhSbExtVnVaR1ZrS1NCN1hHNGdJQ0FnYVdZZ0tITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01Da2daVzVrVW1WaFpHRmliR1VvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgwZ0x5OGdRV3hzSUhSb1pTQmhZM1IxWVd3Z1kyaDFibXNnWjJWdVpYSmhkR2x2YmlCc2IyZHBZeUJ1WldWa2N5QjBieUJpWlZ4dUlDQXZMeUFxWW1Wc2IzY3FJSFJvWlNCallXeHNJSFJ2SUY5eVpXRmtMaUFnVkdobElISmxZWE52YmlCcGN5QjBhR0YwSUdsdUlHTmxjblJoYVc1Y2JpQWdMeThnYzNsdWRHaGxkR2xqSUhOMGNtVmhiU0JqWVhObGN5d2djM1ZqYUNCaGN5QndZWE56ZEdoeWIzVm5hQ0J6ZEhKbFlXMXpMQ0JmY21WaFpGeHVJQ0F2THlCdFlYa2dZbVVnWVNCamIyMXdiR1YwWld4NUlITjVibU5vY205dWIzVnpJRzl3WlhKaGRHbHZiaUIzYUdsamFDQnRZWGtnWTJoaGJtZGxYRzRnSUM4dklIUm9aU0J6ZEdGMFpTQnZaaUIwYUdVZ2NtVmhaQ0JpZFdabVpYSXNJSEJ5YjNacFpHbHVaeUJsYm05MVoyZ2daR0YwWVNCM2FHVnVYRzRnSUM4dklHSmxabTl5WlNCMGFHVnlaU0IzWVhNZ0ttNXZkQ29nWlc1dmRXZG9MbHh1SUNBdkwxeHVJQ0F2THlCVGJ5d2dkR2hsSUhOMFpYQnpJR0Z5WlRwY2JpQWdMeThnTVM0Z1JtbG5kWEpsSUc5MWRDQjNhR0YwSUhSb1pTQnpkR0YwWlNCdlppQjBhR2x1WjNNZ2QybHNiQ0JpWlNCaFpuUmxjaUIzWlNCa2IxeHVJQ0F2THlCaElISmxZV1FnWm5KdmJTQjBhR1VnWW5WbVptVnlMbHh1SUNBdkwxeHVJQ0F2THlBeUxpQkpaaUIwYUdGMElISmxjM1ZzZEdsdVp5QnpkR0YwWlNCM2FXeHNJSFJ5YVdkblpYSWdZU0JmY21WaFpDd2dkR2hsYmlCallXeHNJRjl5WldGa0xseHVJQ0F2THlCT2IzUmxJSFJvWVhRZ2RHaHBjeUJ0WVhrZ1ltVWdZWE41Ym1Ob2NtOXViM1Z6TENCdmNpQnplVzVqYUhKdmJtOTFjeTRnSUZsbGN5d2dhWFFnYVhOY2JpQWdMeThnWkdWbGNHeDVJSFZuYkhrZ2RHOGdkM0pwZEdVZ1FWQkpjeUIwYUdseklIZGhlU3dnWW5WMElIUm9ZWFFnYzNScGJHd2daRzlsYzI0bmRDQnRaV0Z1WEc0Z0lDOHZJSFJvWVhRZ2RHaGxJRkpsWVdSaFlteGxJR05zWVhOeklITm9iM1ZzWkNCaVpXaGhkbVVnYVcxd2NtOXdaWEpzZVN3Z1lYTWdjM1J5WldGdGN5QmhjbVZjYmlBZ0x5OGdaR1Z6YVdkdVpXUWdkRzhnWW1VZ2MzbHVZeTloYzNsdVl5QmhaMjV2YzNScFl5NWNiaUFnTHk4Z1ZHRnJaU0J1YjNSbElHbG1JSFJvWlNCZmNtVmhaQ0JqWVd4c0lHbHpJSE41Ym1NZ2IzSWdZWE41Ym1NZ0tHbGxMQ0JwWmlCMGFHVWdjbVZoWkNCallXeHNYRzRnSUM4dklHaGhjeUJ5WlhSMWNtNWxaQ0I1WlhRcExDQnpieUIwYUdGMElIZGxJR3R1YjNjZ2QyaGxkR2hsY2lCdmNpQnViM1FnYVhRbmN5QnpZV1psSUhSdklHVnRhWFJjYmlBZ0x5OGdKM0psWVdSaFlteGxKeUJsZEdNdVhHNGdJQzh2WEc0Z0lDOHZJRE11SUVGamRIVmhiR3g1SUhCMWJHd2dkR2hsSUhKbGNYVmxjM1JsWkNCamFIVnVhM01nYjNWMElHOW1JSFJvWlNCaWRXWm1aWElnWVc1a0lISmxkSFZ5Ymk1Y2JpQWdMeThnYVdZZ2QyVWdibVZsWkNCaElISmxZV1JoWW14bElHVjJaVzUwTENCMGFHVnVJSGRsSUc1bFpXUWdkRzhnWkc4Z2MyOXRaU0J5WldGa2FXNW5MbHh1WEc1Y2JpQWdkbUZ5SUdSdlVtVmhaQ0E5SUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlR0Y2JpQWdaR1ZpZFdjb0oyNWxaV1FnY21WaFpHRmliR1VuTENCa2IxSmxZV1FwT3lBdkx5QnBaaUIzWlNCamRYSnlaVzUwYkhrZ2FHRjJaU0JzWlhOeklIUm9ZVzRnZEdobElHaHBaMmhYWVhSbGNrMWhjbXNzSUhSb1pXNGdZV3h6YnlCeVpXRmtJSE52YldWY2JseHVJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0lIeDhJSE4wWVhSbExteGxibWQwYUNBdElHNGdQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyS1NCN1hHNGdJQ0FnWkc5U1pXRmtJRDBnZEhKMVpUdGNiaUFnSUNCa1pXSjFaeWduYkdWdVozUm9JR3hsYzNNZ2RHaGhiaUIzWVhSbGNtMWhjbXNuTENCa2IxSmxZV1FwTzF4dUlDQjlJQzh2SUdodmQyVjJaWElzSUdsbUlIZGxKM1psSUdWdVpHVmtMQ0IwYUdWdUlIUm9aWEpsSjNNZ2JtOGdjRzlwYm5Rc0lHRnVaQ0JwWmlCM1pTZHlaU0JoYkhKbFlXUjVYRzRnSUM4dklISmxZV1JwYm1jc0lIUm9aVzRnYVhRbmN5QjFibTVsWTJWemMyRnllUzVjYmx4dVhHNGdJR2xtSUNoemRHRjBaUzVsYm1SbFpDQjhmQ0J6ZEdGMFpTNXlaV0ZrYVc1bktTQjdYRzRnSUNBZ1pHOVNaV0ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdaR1ZpZFdjb0ozSmxZV1JwYm1jZ2IzSWdaVzVrWldRbkxDQmtiMUpsWVdRcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dSdlVtVmhaQ2tnZTF4dUlDQWdJR1JsWW5WbktDZGtieUJ5WldGa0p5azdYRzRnSUNBZ2MzUmhkR1V1Y21WaFpHbHVaeUE5SUhSeWRXVTdYRzRnSUNBZ2MzUmhkR1V1YzNsdVl5QTlJSFJ5ZFdVN0lDOHZJR2xtSUhSb1pTQnNaVzVuZEdnZ2FYTWdZM1Z5Y21WdWRHeDVJSHBsY204c0lIUm9aVzRnZDJVZ0ttNWxaV1FxSUdFZ2NtVmhaR0ZpYkdVZ1pYWmxiblF1WEc1Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0tTQnpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVWdQU0IwY25WbE95QXZMeUJqWVd4c0lHbHVkR1Z5Ym1Gc0lISmxZV1FnYldWMGFHOWtYRzVjYmlBZ0lDQjBhR2x6TGw5eVpXRmtLSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dVhHNGdJQ0FnYzNSaGRHVXVjM2x1WXlBOUlHWmhiSE5sT3lBdkx5QkpaaUJmY21WaFpDQndkWE5vWldRZ1pHRjBZU0J6ZVc1amFISnZibTkxYzJ4NUxDQjBhR1Z1SUdCeVpXRmthVzVuWUNCM2FXeHNJR0psSUdaaGJITmxMRnh1SUNBZ0lDOHZJR0Z1WkNCM1pTQnVaV1ZrSUhSdklISmxMV1YyWVd4MVlYUmxJR2h2ZHlCdGRXTm9JR1JoZEdFZ2QyVWdZMkZ1SUhKbGRIVnliaUIwYnlCMGFHVWdkWE5sY2k1Y2JseHVJQ0FnSUdsbUlDZ2hjM1JoZEdVdWNtVmhaR2x1WnlrZ2JpQTlJR2h2ZDAxMVkyaFViMUpsWVdRb2JrOXlhV2NzSUhOMFlYUmxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaWFE3WEc0Z0lHbG1JQ2h1SUQ0Z01Da2djbVYwSUQwZ1puSnZiVXhwYzNRb2Jpd2djM1JoZEdVcE8yVnNjMlVnY21WMElEMGdiblZzYkR0Y2JseHVJQ0JwWmlBb2NtVjBJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdjM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxJRDBnYzNSaGRHVXViR1Z1WjNSb0lEdzlJSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXM3WEc0Z0lDQWdiaUE5SURBN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MzUmhkR1V1YkdWdVozUm9JQzA5SUc0N1hHNGdJQ0FnYzNSaGRHVXVZWGRoYVhSRWNtRnBiaUE5SURBN1hHNGdJSDFjYmx4dUlDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnYUdGMlpTQnViM1JvYVc1bklHbHVJSFJvWlNCaWRXWm1aWElzSUhSb1pXNGdkMlVnZDJGdWRDQjBieUJyYm05M1hHNGdJQ0FnTHk4Z1lYTWdjMjl2YmlCaGN5QjNaU0FxWkc4cUlHZGxkQ0J6YjIxbGRHaHBibWNnYVc1MGJ5QjBhR1VnWW5WbVptVnlMbHh1SUNBZ0lHbG1JQ2doYzNSaGRHVXVaVzVrWldRcElITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN0lDOHZJRWxtSUhkbElIUnlhV1ZrSUhSdklISmxZV1FvS1NCd1lYTjBJSFJvWlNCRlQwWXNJSFJvWlc0Z1pXMXBkQ0JsYm1RZ2IyNGdkR2hsSUc1bGVIUWdkR2xqYXk1Y2JseHVJQ0FnSUdsbUlDaHVUM0pwWnlBaFBUMGdiaUFtSmlCemRHRjBaUzVsYm1SbFpDa2daVzVrVW1WaFpHRmliR1VvZEdocGN5azdYRzRnSUgxY2JseHVJQ0JwWmlBb2NtVjBJQ0U5UFNCdWRXeHNLU0IwYUdsekxtVnRhWFFvSjJSaGRHRW5MQ0J5WlhRcE8xeHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnYjI1RmIyWkRhSFZ1YXloemRISmxZVzBzSUhOMFlYUmxLU0I3WEc0Z0lHUmxZblZuS0NkdmJrVnZaa05vZFc1ckp5azdYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUmxaQ2tnY21WMGRYSnVPMXh1WEc0Z0lHbG1JQ2h6ZEdGMFpTNWtaV052WkdWeUtTQjdYRzRnSUNBZ2RtRnlJR05vZFc1cklEMGdjM1JoZEdVdVpHVmpiMlJsY2k1bGJtUW9LVHRjYmx4dUlDQWdJR2xtSUNoamFIVnVheUFtSmlCamFIVnVheTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExtSjFabVpsY2k1d2RYTm9LR05vZFc1cktUdGNiaUFnSUNBZ0lITjBZWFJsTG14bGJtZDBhQ0FyUFNCemRHRjBaUzV2WW1wbFkzUk5iMlJsSUQ4Z01TQTZJR05vZFc1ckxteGxibWQwYUR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCemRHRjBaUzVsYm1SbFpDQTlJSFJ5ZFdVN1hHNWNiaUFnYVdZZ0tITjBZWFJsTG5ONWJtTXBJSHRjYmlBZ0lDQXZMeUJwWmlCM1pTQmhjbVVnYzNsdVl5d2dkMkZwZENCMWJuUnBiQ0J1WlhoMElIUnBZMnNnZEc4Z1pXMXBkQ0IwYUdVZ1pHRjBZUzVjYmlBZ0lDQXZMeUJQZEdobGNuZHBjMlVnZDJVZ2NtbHpheUJsYldsMGRHbHVaeUJrWVhSaElHbHVJSFJvWlNCbWJHOTNLQ2xjYmlBZ0lDQXZMeUIwYUdVZ2NtVmhaR0ZpYkdVZ1kyOWtaU0IwY21sbloyVnljeUJrZFhKcGJtY2dZU0J5WldGa0tDa2dZMkZzYkZ4dUlDQWdJR1Z0YVhSU1pXRmtZV0pzWlNoemRISmxZVzBwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklHVnRhWFFnSjNKbFlXUmhZbXhsSnlCdWIzY2dkRzhnYldGclpTQnpkWEpsSUdsMElHZGxkSE1nY0dsamEyVmtJSFZ3TGx4dUlDQWdJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdhV1lnS0NGemRHRjBaUzVsYldsMGRHVmtVbVZoWkdGaWJHVXBJSHRjYmlBZ0lDQWdJSE4wWVhSbExtVnRhWFIwWldSU1pXRmtZV0pzWlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0JsYldsMFVtVmhaR0ZpYkdWZktITjBjbVZoYlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5SUM4dklFUnZiaWQwSUdWdGFYUWdjbVZoWkdGaWJHVWdjbWxuYUhRZ1lYZGhlU0JwYmlCemVXNWpJRzF2WkdVc0lHSmxZMkYxYzJVZ2RHaHBjeUJqWVc0Z2RISnBaMmRsY2x4dUx5OGdZVzV2ZEdobGNpQnlaV0ZrS0NrZ1kyRnNiQ0E5UGlCemRHRmpheUJ2ZG1WeVpteHZkeTRnSUZSb2FYTWdkMkY1TENCcGRDQnRhV2RvZENCMGNtbG5aMlZ5WEc0dkx5QmhJRzVsZUhSVWFXTnJJSEpsWTNWeWMybHZiaUIzWVhKdWFXNW5MQ0JpZFhRZ2RHaGhkQ2R6SUc1dmRDQnpieUJpWVdRdVhHNWNibHh1Wm5WdVkzUnBiMjRnWlcxcGRGSmxZV1JoWW14bEtITjBjbVZoYlNrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCemRISmxZVzB1WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzRnSUdSbFluVm5LQ2RsYldsMFVtVmhaR0ZpYkdVbkxDQnpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVXNJSE4wWVhSbExtVnRhWFIwWldSU1pXRmtZV0pzWlNrN1hHNGdJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUdaaGJITmxPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzFwZEhSbFpGSmxZV1JoWW14bEtTQjdYRzRnSUNBZ1pHVmlkV2NvSjJWdGFYUlNaV0ZrWVdKc1pTY3NJSE4wWVhSbExtWnNiM2RwYm1jcE8xeHVJQ0FnSUhOMFlYUmxMbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN1hHNGdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhsYldsMFVtVmhaR0ZpYkdWZkxDQnpkSEpsWVcwcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1Z0YVhSU1pXRmtZV0pzWlY4b2MzUnlaV0Z0S1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhOMGNtVmhiUzVmY21WaFpHRmliR1ZUZEdGMFpUdGNiaUFnWkdWaWRXY29KMlZ0YVhSU1pXRmtZV0pzWlY4bkxDQnpkR0YwWlM1a1pYTjBjbTk1WldRc0lITjBZWFJsTG14bGJtZDBhQ3dnYzNSaGRHVXVaVzVrWldRcE8xeHVYRzRnSUdsbUlDZ2hjM1JoZEdVdVpHVnpkSEp2ZVdWa0lDWW1JQ2h6ZEdGMFpTNXNaVzVuZEdnZ2ZId2djM1JoZEdVdVpXNWtaV1FwS1NCN1hHNGdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0ozSmxZV1JoWW14bEp5azdYRzRnSUNBZ2MzUmhkR1V1WlcxcGRIUmxaRkpsWVdSaFlteGxJRDBnWm1Gc2MyVTdYRzRnSUgwZ0x5OGdWR2hsSUhOMGNtVmhiU0J1WldWa2N5QmhibTkwYUdWeUlISmxZV1JoWW14bElHVjJaVzUwSUdsbVhHNGdJQzh2SURFdUlFbDBJR2x6SUc1dmRDQm1iRzkzYVc1bkxDQmhjeUIwYUdVZ1pteHZkeUJ0WldOb1lXNXBjMjBnZDJsc2JDQjBZV3RsWEc0Z0lDOHZJQ0FnSUdOaGNtVWdiMllnYVhRdVhHNGdJQzh2SURJdUlFbDBJR2x6SUc1dmRDQmxibVJsWkM1Y2JpQWdMeThnTXk0Z1NYUWdhWE1nWW1Wc2IzY2dkR2hsSUdocFoyaFhZWFJsY2sxaGNtc3NJSE52SUhkbElHTmhiaUJ6WTJobFpIVnNaVnh1SUNBdkx5QWdJQ0JoYm05MGFHVnlJSEpsWVdSaFlteGxJR3hoZEdWeUxseHVYRzVjYmlBZ2MzUmhkR1V1Ym1WbFpGSmxZV1JoWW14bElEMGdJWE4wWVhSbExtWnNiM2RwYm1jZ0ppWWdJWE4wWVhSbExtVnVaR1ZrSUNZbUlITjBZWFJsTG14bGJtZDBhQ0E4UFNCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKck8xeHVJQ0JtYkc5M0tITjBjbVZoYlNrN1hHNTlJQzh2SUdGMElIUm9hWE1nY0c5cGJuUXNJSFJvWlNCMWMyVnlJR2hoY3lCd2NtVnpkVzFoWW14NUlITmxaVzRnZEdobElDZHlaV0ZrWVdKc1pTY2daWFpsYm5Rc1hHNHZMeUJoYm1RZ1kyRnNiR1ZrSUhKbFlXUW9LU0IwYnlCamIyNXpkVzFsSUhOdmJXVWdaR0YwWVM0Z0lIUm9ZWFFnYldGNUlHaGhkbVVnZEhKcFoyZGxjbVZrWEc0dkx5QnBiaUIwZFhKdUlHRnViM1JvWlhJZ1gzSmxZV1FvYmlrZ1kyRnNiQ3dnYVc0Z2QyaHBZMmdnWTJGelpTQnlaV0ZrYVc1bklEMGdkSEoxWlNCcFpseHVMeThnYVhRbmN5QnBiaUJ3Y205bmNtVnpjeTVjYmk4dklFaHZkMlYyWlhJc0lHbG1JSGRsSjNKbElHNXZkQ0JsYm1SbFpDd2diM0lnY21WaFpHbHVaeXdnWVc1a0lIUm9aU0JzWlc1bmRHZ2dQQ0JvZDIwc1hHNHZMeUIwYUdWdUlHZHZJR0ZvWldGa0lHRnVaQ0IwY25rZ2RHOGdjbVZoWkNCemIyMWxJRzF2Y21VZ2NISmxaVzF3ZEdsMlpXeDVMbHh1WEc1Y2JtWjFibU4wYVc5dUlHMWhlV0psVW1WaFpFMXZjbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9JWE4wWVhSbExuSmxZV1JwYm1kTmIzSmxLU0I3WEc0Z0lDQWdjM1JoZEdVdWNtVmhaR2x1WjAxdmNtVWdQU0IwY25WbE8xeHVJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvYldGNVltVlNaV0ZrVFc5eVpWOHNJSE4wY21WaGJTd2djM1JoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFVtVmhaRTF2Y21WZktITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdMeThnUVhSMFpXMXdkQ0IwYnlCeVpXRmtJRzF2Y21VZ1pHRjBZU0JwWmlCM1pTQnphRzkxYkdRdVhHNGdJQzh2WEc0Z0lDOHZJRlJvWlNCamIyNWthWFJwYjI1eklHWnZjaUJ5WldGa2FXNW5JRzF2Y21VZ1pHRjBZU0JoY21VZ0tHOXVaU0J2WmlrNlhHNGdJQzh2SUMwZ1RtOTBJR1Z1YjNWbmFDQmtZWFJoSUdKMVptWmxjbVZrSUNoemRHRjBaUzVzWlc1bmRHZ2dQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyS1M0Z1ZHaGxJR3h2YjNCY2JpQWdMeThnSUNCcGN5QnlaWE53YjI1emFXSnNaU0JtYjNJZ1ptbHNiR2x1WnlCMGFHVWdZblZtWm1WeUlIZHBkR2dnWlc1dmRXZG9JR1JoZEdFZ2FXWWdjM1ZqYUNCa1lYUmhYRzRnSUM4dklDQWdhWE1nWVhaaGFXeGhZbXhsTGlCSlppQm9hV2RvVjJGMFpYSk5ZWEpySUdseklEQWdZVzVrSUhkbElHRnlaU0J1YjNRZ2FXNGdkR2hsSUdac2IzZHBibWNnYlc5a1pWeHVJQ0F2THlBZ0lIZGxJSE5vYjNWc1pDQmZibTkwWHlCaGRIUmxiWEIwSUhSdklHSjFabVpsY2lCaGJua2daWGgwY21FZ1pHRjBZUzRnVjJVbmJHd2daMlYwSUcxdmNtVWdaR0YwWVZ4dUlDQXZMeUFnSUhkb1pXNGdkR2hsSUhOMGNtVmhiU0JqYjI1emRXMWxjaUJqWVd4c2N5QnlaV0ZrS0NrZ2FXNXpkR1ZoWkM1Y2JpQWdMeThnTFNCT2J5QmtZWFJoSUdsdUlIUm9aU0JpZFdabVpYSXNJR0Z1WkNCMGFHVWdjM1J5WldGdElHbHpJR2x1SUdac2IzZHBibWNnYlc5a1pTNGdTVzRnZEdocGN5QnRiMlJsWEc0Z0lDOHZJQ0FnZEdobElHeHZiM0FnWW1Wc2IzY2dhWE1nY21WemNHOXVjMmxpYkdVZ1ptOXlJR1Z1YzNWeWFXNW5JSEpsWVdRb0tTQnBjeUJqWVd4c1pXUXVJRVpoYVd4cGJtY2dkRzljYmlBZ0x5OGdJQ0JqWVd4c0lISmxZV1FnYUdWeVpTQjNiM1ZzWkNCaFltOXlkQ0IwYUdVZ1pteHZkeUJoYm1RZ2RHaGxjbVVuY3lCdWJ5QnZkR2hsY2lCdFpXTm9ZVzVwYzIwZ1ptOXlYRzRnSUM4dklDQWdZMjl1ZEdsdWRXbHVaeUIwYUdVZ1pteHZkeUJwWmlCMGFHVWdjM1J5WldGdElHTnZibk4xYldWeUlHaGhjeUJxZFhOMElITjFZbk5qY21saVpXUWdkRzhnZEdobFhHNGdJQzh2SUNBZ0oyUmhkR0VuSUdWMlpXNTBMbHh1SUNBdkwxeHVJQ0F2THlCSmJpQmhaR1JwZEdsdmJpQjBieUIwYUdVZ1lXSnZkbVVnWTI5dVpHbDBhVzl1Y3lCMGJ5QnJaV1Z3SUhKbFlXUnBibWNnWkdGMFlTd2dkR2hsSUdadmJHeHZkMmx1WjF4dUlDQXZMeUJqYjI1a2FYUnBiMjV6SUhCeVpYWmxiblFnZEdobElHUmhkR0VnWm5KdmJTQmlaV2x1WnlCeVpXRmtPbHh1SUNBdkx5QXRJRlJvWlNCemRISmxZVzBnYUdGeklHVnVaR1ZrSUNoemRHRjBaUzVsYm1SbFpDa3VYRzRnSUM4dklDMGdWR2hsY21VZ2FYTWdZV3h5WldGa2VTQmhJSEJsYm1ScGJtY2dKM0psWVdRbklHOXdaWEpoZEdsdmJpQW9jM1JoZEdVdWNtVmhaR2x1WnlrdUlGUm9hWE1nYVhNZ1lWeHVJQ0F2THlBZ0lHTmhjMlVnZDJobGNtVWdkR2hsSUhSb1pTQnpkSEpsWVcwZ2FHRnpJR05oYkd4bFpDQjBhR1VnYVcxd2JHVnRaVzUwWVhScGIyNGdaR1ZtYVc1bFpDQmZjbVZoWkNncFhHNGdJQzh2SUNBZ2JXVjBhRzlrTENCaWRYUWdkR2hsZVNCaGNtVWdjSEp2WTJWemMybHVaeUIwYUdVZ1kyRnNiQ0JoYzNsdVkyaHliMjV2ZFhOc2VTQmhibVFnYUdGMlpTQmZibTkwWDF4dUlDQXZMeUFnSUdOaGJHeGxaQ0J3ZFhOb0tDa2dkMmwwYUNCdVpYY2daR0YwWVM0Z1NXNGdkR2hwY3lCallYTmxJSGRsSUhOcmFYQWdjR1Z5Wm05eWJXbHVaeUJ0YjNKbFhHNGdJQzh2SUNBZ2NtVmhaQ2dwY3k0Z1ZHaGxJR1Y0WldOMWRHbHZiaUJsYm1SeklHbHVJSFJvYVhNZ2JXVjBhRzlrSUdGbllXbHVJR0ZtZEdWeUlIUm9aU0JmY21WaFpDZ3BJR1Z1WkhOY2JpQWdMeThnSUNCMWNDQmpZV3hzYVc1bklIQjFjMmdvS1NCM2FYUm9JRzF2Y21VZ1pHRjBZUzVjYmlBZ2QyaHBiR1VnS0NGemRHRjBaUzV5WldGa2FXNW5JQ1ltSUNGemRHRjBaUzVsYm1SbFpDQW1KaUFvYzNSaGRHVXViR1Z1WjNSb0lEd2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUI4ZkNCemRHRjBaUzVtYkc5M2FXNW5JQ1ltSUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNrcElIdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2MzUmhkR1V1YkdWdVozUm9PMXh1SUNBZ0lHUmxZblZuS0NkdFlYbGlaVkpsWVdSTmIzSmxJSEpsWVdRZ01DY3BPMXh1SUNBZ0lITjBjbVZoYlM1eVpXRmtLREFwTzF4dUlDQWdJR2xtSUNoc1pXNGdQVDA5SUhOMFlYUmxMbXhsYm1kMGFDa2dMeThnWkdsa2JpZDBJR2RsZENCaGJua2daR0YwWVN3Z2MzUnZjQ0J6Y0dsdWJtbHVaeTVjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdWNtVmhaR2x1WjAxdmNtVWdQU0JtWVd4elpUdGNibjBnTHk4Z1lXSnpkSEpoWTNRZ2JXVjBhRzlrTGlBZ2RHOGdZbVVnYjNabGNuSnBaR1JsYmlCcGJpQnpjR1ZqYVdacFl5QnBiWEJzWlcxbGJuUmhkR2x2YmlCamJHRnpjMlZ6TGx4dUx5OGdZMkZzYkNCallpaGxjaXdnWkdGMFlTa2dkMmhsY21VZ1pHRjBZU0JwY3lBOFBTQnVJR2x1SUd4bGJtZDBhQzVjYmk4dklHWnZjaUIyYVhKMGRXRnNJQ2h1YjI0dGMzUnlhVzVuTENCdWIyNHRZblZtWm1WeUtTQnpkSEpsWVcxekxDQmNJbXhsYm1kMGFGd2lJR2x6SUhOdmJXVjNhR0YwWEc0dkx5QmhjbUpwZEhKaGNua3NJR0Z1WkNCd1pYSm9ZWEJ6SUc1dmRDQjJaWEo1SUcxbFlXNXBibWRtZFd3dVhHNWNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTGw5eVpXRmtJRDBnWm5WdVkzUnBiMjRnS0c0cElIdGNiaUFnWlhKeWIzSlBja1JsYzNSeWIza29kR2hwY3l3Z2JtVjNJRVZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVLQ2RmY21WaFpDZ3BKeWtwTzF4dWZUdGNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTG5CcGNHVWdQU0JtZFc1amRHbHZiaUFvWkdWemRDd2djR2x3WlU5d2RITXBJSHRjYmlBZ2RtRnlJSE55WXlBOUlIUm9hWE03WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdjM2RwZEdOb0lDaHpkR0YwWlM1d2FYQmxjME52ZFc1MEtTQjdYRzRnSUNBZ1kyRnpaU0F3T2x4dUlDQWdJQ0FnYzNSaGRHVXVjR2x3WlhNZ1BTQmtaWE4wTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQmpZWE5sSURFNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5QTlJRnR6ZEdGMFpTNXdhWEJsY3l3Z1pHVnpkRjA3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5NXdkWE5vS0dSbGMzUXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJSDFjYmx4dUlDQnpkR0YwWlM1d2FYQmxjME52ZFc1MElDczlJREU3WEc0Z0lHUmxZblZuS0Nkd2FYQmxJR052ZFc1MFBTVmtJRzl3ZEhNOUpXb25MQ0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBMQ0J3YVhCbFQzQjBjeWs3WEc0Z0lIWmhjaUJrYjBWdVpDQTlJQ2doY0dsd1pVOXdkSE1nZkh3Z2NHbHdaVTl3ZEhNdVpXNWtJQ0U5UFNCbVlXeHpaU2tnSmlZZ1pHVnpkQ0FoUFQwZ2NISnZZMlZ6Y3k1emRHUnZkWFFnSmlZZ1pHVnpkQ0FoUFQwZ2NISnZZMlZ6Y3k1emRHUmxjbkk3WEc0Z0lIWmhjaUJsYm1SR2JpQTlJR1J2Ulc1a0lEOGdiMjVsYm1RZ09pQjFibkJwY0dVN1hHNGdJR2xtSUNoemRHRjBaUzVsYm1SRmJXbDBkR1ZrS1NCd2NtOWpaWE56TG01bGVIUlVhV05yS0dWdVpFWnVLVHRsYkhObElITnlZeTV2Ym1ObEtDZGxibVFuTENCbGJtUkdiaWs3WEc0Z0lHUmxjM1F1YjI0b0ozVnVjR2x3WlNjc0lHOXVkVzV3YVhCbEtUdGNibHh1SUNCbWRXNWpkR2x2YmlCdmJuVnVjR2x3WlNoeVpXRmtZV0pzWlN3Z2RXNXdhWEJsU1c1bWJ5a2dlMXh1SUNBZ0lHUmxZblZuS0NkdmJuVnVjR2x3WlNjcE8xeHVYRzRnSUNBZ2FXWWdLSEpsWVdSaFlteGxJRDA5UFNCemNtTXBJSHRjYmlBZ0lDQWdJR2xtSUNoMWJuQnBjR1ZKYm1adklDWW1JSFZ1Y0dsd1pVbHVabTh1YUdGelZXNXdhWEJsWkNBOVBUMGdabUZzYzJVcElIdGNiaUFnSUNBZ0lDQWdkVzV3YVhCbFNXNW1ieTVvWVhOVmJuQnBjR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnWTJ4bFlXNTFjQ2dwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUc5dVpXNWtLQ2tnZTF4dUlDQWdJR1JsWW5WbktDZHZibVZ1WkNjcE8xeHVJQ0FnSUdSbGMzUXVaVzVrS0NrN1hHNGdJSDBnTHk4Z2QyaGxiaUIwYUdVZ1pHVnpkQ0JrY21GcGJuTXNJR2wwSUhKbFpIVmpaWE1nZEdobElHRjNZV2wwUkhKaGFXNGdZMjkxYm5SbGNseHVJQ0F2THlCdmJpQjBhR1VnYzI5MWNtTmxMaUFnVkdocGN5QjNiM1ZzWkNCaVpTQnRiM0psSUdWc1pXZGhiblFnZDJsMGFDQmhJQzV2Ym1ObEtDbGNiaUFnTHk4Z2FHRnVaR3hsY2lCcGJpQm1iRzkzS0Nrc0lHSjFkQ0JoWkdScGJtY2dZVzVrSUhKbGJXOTJhVzVuSUhKbGNHVmhkR1ZrYkhrZ2FYTmNiaUFnTHk4Z2RHOXZJSE5zYjNjdVhHNWNibHh1SUNCMllYSWdiMjVrY21GcGJpQTlJSEJwY0dWUGJrUnlZV2x1S0hOeVl5azdYRzRnSUdSbGMzUXViMjRvSjJSeVlXbHVKeXdnYjI1a2NtRnBiaWs3WEc0Z0lIWmhjaUJqYkdWaGJtVmtWWEFnUFNCbVlXeHpaVHRjYmx4dUlDQm1kVzVqZEdsdmJpQmpiR1ZoYm5Wd0tDa2dlMXh1SUNBZ0lHUmxZblZuS0NkamJHVmhiblZ3SnlrN0lDOHZJR05zWldGdWRYQWdaWFpsYm5RZ2FHRnVaR3hsY25NZ2IyNWpaU0IwYUdVZ2NHbHdaU0JwY3lCaWNtOXJaVzVjYmx4dUlDQWdJR1JsYzNRdWNtVnRiM1psVEdsemRHVnVaWElvSjJOc2IzTmxKeXdnYjI1amJHOXpaU2s3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWm1sdWFYTm9KeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJR1JsYzNRdWNtVnRiM1psVEdsemRHVnVaWElvSjJSeVlXbHVKeXdnYjI1a2NtRnBiaWs3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlhKeWIzSW5MQ0J2Ym1WeWNtOXlLVHRjYmlBZ0lDQmtaWE4wTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2QxYm5CcGNHVW5MQ0J2Ym5WdWNHbHdaU2s3WEc0Z0lDQWdjM0pqTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RsYm1RbkxDQnZibVZ1WkNrN1hHNGdJQ0FnYzNKakxuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGJtUW5MQ0IxYm5CcGNHVXBPMXh1SUNBZ0lITnlZeTV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aR0YwWVNjc0lHOXVaR0YwWVNrN1hHNGdJQ0FnWTJ4bFlXNWxaRlZ3SUQwZ2RISjFaVHNnTHk4Z2FXWWdkR2hsSUhKbFlXUmxjaUJwY3lCM1lXbDBhVzVuSUdadmNpQmhJR1J5WVdsdUlHVjJaVzUwSUdaeWIyMGdkR2hwYzF4dUlDQWdJQzh2SUhOd1pXTnBabWxqSUhkeWFYUmxjaXdnZEdobGJpQnBkQ0IzYjNWc1pDQmpZWFZ6WlNCcGRDQjBieUJ1WlhabGNpQnpkR0Z5ZEZ4dUlDQWdJQzh2SUdac2IzZHBibWNnWVdkaGFXNHVYRzRnSUNBZ0x5OGdVMjhzSUdsbUlIUm9hWE1nYVhNZ1lYZGhhWFJwYm1jZ1lTQmtjbUZwYml3Z2RHaGxiaUIzWlNCcWRYTjBJR05oYkd3Z2FYUWdibTkzTGx4dUlDQWdJQzh2SUVsbUlIZGxJR1J2YmlkMElHdHViM2NzSUhSb1pXNGdZWE56ZFcxbElIUm9ZWFFnZDJVZ1lYSmxJSGRoYVhScGJtY2dabTl5SUc5dVpTNWNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWhkMkZwZEVSeVlXbHVJQ1ltSUNnaFpHVnpkQzVmZDNKcGRHRmliR1ZUZEdGMFpTQjhmQ0JrWlhOMExsOTNjbWwwWVdKc1pWTjBZWFJsTG01bFpXUkVjbUZwYmlrcElHOXVaSEpoYVc0b0tUdGNiaUFnZlZ4dVhHNGdJSE55WXk1dmJpZ25aR0YwWVNjc0lHOXVaR0YwWVNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnYjI1a1lYUmhLR05vZFc1cktTQjdYRzRnSUNBZ1pHVmlkV2NvSjI5dVpHRjBZU2NwTzF4dUlDQWdJSFpoY2lCeVpYUWdQU0JrWlhOMExuZHlhWFJsS0dOb2RXNXJLVHRjYmlBZ0lDQmtaV0oxWnlnblpHVnpkQzUzY21sMFpTY3NJSEpsZENrN1hHNWNiaUFnSUNCcFppQW9jbVYwSUQwOVBTQm1ZV3h6WlNrZ2UxeHVJQ0FnSUNBZ0x5OGdTV1lnZEdobElIVnpaWElnZFc1d2FYQmxaQ0JrZFhKcGJtY2dZR1JsYzNRdWQzSnBkR1VvS1dBc0lHbDBJR2x6SUhCdmMzTnBZbXhsWEc0Z0lDQWdJQ0F2THlCMGJ5Qm5aWFFnYzNSMVkyc2dhVzRnWVNCd1pYSnRZVzVsYm5Sc2VTQndZWFZ6WldRZ2MzUmhkR1VnYVdZZ2RHaGhkQ0IzY21sMFpWeHVJQ0FnSUNBZ0x5OGdZV3h6YnlCeVpYUjFjbTVsWkNCbVlXeHpaUzVjYmlBZ0lDQWdJQzh2SUQwK0lFTm9aV05ySUhkb1pYUm9aWElnWUdSbGMzUmdJR2x6SUhOMGFXeHNJR0VnY0dsd2FXNW5JR1JsYzNScGJtRjBhVzl1TGx4dUlDQWdJQ0FnYVdZZ0tDaHpkR0YwWlM1d2FYQmxjME52ZFc1MElEMDlQU0F4SUNZbUlITjBZWFJsTG5CcGNHVnpJRDA5UFNCa1pYTjBJSHg4SUhOMFlYUmxMbkJwY0dWelEyOTFiblFnUGlBeElDWW1JR2x1WkdWNFQyWW9jM1JoZEdVdWNHbHdaWE1zSUdSbGMzUXBJQ0U5UFNBdE1Ta2dKaVlnSVdOc1pXRnVaV1JWY0NrZ2UxeHVJQ0FnSUNBZ0lDQmtaV0oxWnlnblptRnNjMlVnZDNKcGRHVWdjbVZ6Y0c5dWMyVXNJSEJoZFhObEp5d2djM1JoZEdVdVlYZGhhWFJFY21GcGJpazdYRzRnSUNBZ0lDQWdJSE4wWVhSbExtRjNZV2wwUkhKaGFXNHJLenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYzNKakxuQmhkWE5sS0NrN1hHNGdJQ0FnZlZ4dUlDQjlJQzh2SUdsbUlIUm9aU0JrWlhOMElHaGhjeUJoYmlCbGNuSnZjaXdnZEdobGJpQnpkRzl3SUhCcGNHbHVaeUJwYm5SdklHbDBMbHh1SUNBdkx5Qm9iM2RsZG1WeUxDQmtiMjRuZENCemRYQndjbVZ6Y3lCMGFHVWdkR2h5YjNkcGJtY2dZbVZvWVhacGIzSWdabTl5SUhSb2FYTXVYRzVjYmx4dUlDQm1kVzVqZEdsdmJpQnZibVZ5Y205eUtHVnlLU0I3WEc0Z0lDQWdaR1ZpZFdjb0oyOXVaWEp5YjNJbkxDQmxjaWs3WEc0Z0lDQWdkVzV3YVhCbEtDazdYRzRnSUNBZ1pHVnpkQzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aWEp5YjNJbkxDQnZibVZ5Y205eUtUdGNiaUFnSUNCcFppQW9SVVZzYVhOMFpXNWxja052ZFc1MEtHUmxjM1FzSUNkbGNuSnZjaWNwSUQwOVBTQXdLU0JsY25KdmNrOXlSR1Z6ZEhKdmVTaGtaWE4wTENCbGNpazdYRzRnSUgwZ0x5OGdUV0ZyWlNCemRYSmxJRzkxY2lCbGNuSnZjaUJvWVc1a2JHVnlJR2x6SUdGMGRHRmphR1ZrSUdKbFptOXlaU0IxYzJWeWJHRnVaQ0J2Ym1WekxseHVYRzVjYmlBZ2NISmxjR1Z1WkV4cGMzUmxibVZ5S0dSbGMzUXNJQ2RsY25KdmNpY3NJRzl1WlhKeWIzSXBPeUF2THlCQ2IzUm9JR05zYjNObElHRnVaQ0JtYVc1cGMyZ2djMmh2ZFd4a0lIUnlhV2RuWlhJZ2RXNXdhWEJsTENCaWRYUWdiMjVzZVNCdmJtTmxMbHh1WEc0Z0lHWjFibU4wYVc5dUlHOXVZMnh2YzJVb0tTQjdYRzRnSUNBZ1pHVnpkQzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25abWx1YVhOb0p5d2diMjVtYVc1cGMyZ3BPMXh1SUNBZ0lIVnVjR2x3WlNncE8xeHVJQ0I5WEc1Y2JpQWdaR1Z6ZEM1dmJtTmxLQ2RqYkc5elpTY3NJRzl1WTJ4dmMyVXBPMXh1WEc0Z0lHWjFibU4wYVc5dUlHOXVabWx1YVhOb0tDa2dlMXh1SUNBZ0lHUmxZblZuS0NkdmJtWnBibWx6YUNjcE8xeHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyTnNiM05sSnl3Z2IyNWpiRzl6WlNrN1hHNGdJQ0FnZFc1d2FYQmxLQ2s3WEc0Z0lIMWNibHh1SUNCa1pYTjBMbTl1WTJVb0oyWnBibWx6YUNjc0lHOXVabWx1YVhOb0tUdGNibHh1SUNCbWRXNWpkR2x2YmlCMWJuQnBjR1VvS1NCN1hHNGdJQ0FnWkdWaWRXY29KM1Z1Y0dsd1pTY3BPMXh1SUNBZ0lITnlZeTUxYm5CcGNHVW9aR1Z6ZENrN1hHNGdJSDBnTHk4Z2RHVnNiQ0IwYUdVZ1pHVnpkQ0IwYUdGMElHbDBKM01nWW1WcGJtY2djR2x3WldRZ2RHOWNibHh1WEc0Z0lHUmxjM1F1WlcxcGRDZ25jR2x3WlNjc0lITnlZeWs3SUM4dklITjBZWEowSUhSb1pTQm1iRzkzSUdsbUlHbDBJR2hoYzI0bmRDQmlaV1Z1SUhOMFlYSjBaV1FnWVd4eVpXRmtlUzVjYmx4dUlDQnBaaUFvSVhOMFlYUmxMbVpzYjNkcGJtY3BJSHRjYmlBZ0lDQmtaV0oxWnlnbmNHbHdaU0J5WlhOMWJXVW5LVHRjYmlBZ0lDQnpjbU11Y21WemRXMWxLQ2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWkdWemREdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlIQnBjR1ZQYmtSeVlXbHVLSE55WXlrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdjR2x3WlU5dVJISmhhVzVHZFc1amRHbHZibEpsYzNWc2RDZ3BJSHRjYmlBZ0lDQjJZWElnYzNSaGRHVWdQU0J6Y21NdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lDQWdaR1ZpZFdjb0ozQnBjR1ZQYmtSeVlXbHVKeXdnYzNSaGRHVXVZWGRoYVhSRWNtRnBiaWs3WEc0Z0lDQWdhV1lnS0hOMFlYUmxMbUYzWVdsMFJISmhhVzRwSUhOMFlYUmxMbUYzWVdsMFJISmhhVzR0TFR0Y2JseHVJQ0FnSUdsbUlDaHpkR0YwWlM1aGQyRnBkRVJ5WVdsdUlEMDlQU0F3SUNZbUlFVkZiR2x6ZEdWdVpYSkRiM1Z1ZENoemNtTXNJQ2RrWVhSaEp5a3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExtWnNiM2RwYm1jZ1BTQjBjblZsTzF4dUlDQWdJQ0FnWm14dmR5aHpjbU1wTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibjFjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuVnVjR2x3WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJSFpoY2lCMWJuQnBjR1ZKYm1adklEMGdlMXh1SUNBZ0lHaGhjMVZ1Y0dsd1pXUTZJR1poYkhObFhHNGdJSDA3SUM4dklHbG1JSGRsSjNKbElHNXZkQ0J3YVhCcGJtY2dZVzU1ZDJobGNtVXNJSFJvWlc0Z1pHOGdibTkwYUdsdVp5NWNibHh1SUNCcFppQW9jM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlQVDBnTUNrZ2NtVjBkWEp1SUhSb2FYTTdJQzh2SUdwMWMzUWdiMjVsSUdSbGMzUnBibUYwYVc5dUxpQWdiVzl6ZENCamIyMXRiMjRnWTJGelpTNWNibHh1SUNCcFppQW9jM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlQVDBnTVNrZ2UxeHVJQ0FnSUM4dklIQmhjM05sWkNCcGJpQnZibVVzSUdKMWRDQnBkQ2R6SUc1dmRDQjBhR1VnY21sbmFIUWdiMjVsTGx4dUlDQWdJR2xtSUNoa1pYTjBJQ1ltSUdSbGMzUWdJVDA5SUhOMFlYUmxMbkJwY0dWektTQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQnBaaUFvSVdSbGMzUXBJR1JsYzNRZ1BTQnpkR0YwWlM1d2FYQmxjenNnTHk4Z1oyOTBJR0VnYldGMFkyZ3VYRzVjYmlBZ0lDQnpkR0YwWlM1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUNBZ2MzUmhkR1V1Y0dsd1pYTkRiM1Z1ZENBOUlEQTdYRzRnSUNBZ2MzUmhkR1V1Wm14dmQybHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lHbG1JQ2hrWlhOMEtTQmtaWE4wTG1WdGFYUW9KM1Z1Y0dsd1pTY3NJSFJvYVhNc0lIVnVjR2x3WlVsdVptOHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOUlDOHZJSE5zYjNjZ1kyRnpaUzRnYlhWc2RHbHdiR1VnY0dsd1pTQmtaWE4wYVc1aGRHbHZibk11WEc1Y2JseHVJQ0JwWmlBb0lXUmxjM1FwSUh0Y2JpQWdJQ0F2THlCeVpXMXZkbVVnWVd4c0xseHVJQ0FnSUhaaGNpQmtaWE4wY3lBOUlITjBZWFJsTG5CcGNHVnpPMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQnpkR0YwWlM1d2FYQmxjME52ZFc1ME8xeHVJQ0FnSUhOMFlYUmxMbkJwY0dWeklEMGdiblZzYkR0Y2JpQWdJQ0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJRDBnTUR0Y2JpQWdJQ0J6ZEdGMFpTNW1iRzkzYVc1bklEMGdabUZzYzJVN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQmtaWE4wYzF0cFhTNWxiV2wwS0NkMWJuQnBjR1VuTENCMGFHbHpMQ0I3WEc0Z0lDQWdJQ0FnSUdoaGMxVnVjR2x3WldRNklHWmhiSE5sWEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmU0F2THlCMGNua2dkRzhnWm1sdVpDQjBhR1VnY21sbmFIUWdiMjVsTGx4dVhHNWNiaUFnZG1GeUlHbHVaR1Y0SUQwZ2FXNWtaWGhQWmloemRHRjBaUzV3YVhCbGN5d2daR1Z6ZENrN1hHNGdJR2xtSUNocGJtUmxlQ0E5UFQwZ0xURXBJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQnpkR0YwWlM1d2FYQmxjeTV6Y0d4cFkyVW9hVzVrWlhnc0lERXBPMXh1SUNCemRHRjBaUzV3YVhCbGMwTnZkVzUwSUMwOUlERTdYRzRnSUdsbUlDaHpkR0YwWlM1d2FYQmxjME52ZFc1MElEMDlQU0F4S1NCemRHRjBaUzV3YVhCbGN5QTlJSE4wWVhSbExuQnBjR1Z6V3pCZE8xeHVJQ0JrWlhOMExtVnRhWFFvSjNWdWNHbHdaU2NzSUhSb2FYTXNJSFZ1Y0dsd1pVbHVabThwTzF4dUlDQnlaWFIxY200Z2RHaHBjenRjYm4wN0lDOHZJSE5sZENCMWNDQmtZWFJoSUdWMlpXNTBjeUJwWmlCMGFHVjVJR0Z5WlNCaGMydGxaQ0JtYjNKY2JpOHZJRVZ1YzNWeVpTQnlaV0ZrWVdKc1pTQnNhWE4wWlc1bGNuTWdaWFpsYm5SMVlXeHNlU0JuWlhRZ2MyOXRaWFJvYVc1blhHNWNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTG05dUlEMGdablZ1WTNScGIyNGdLR1YyTENCbWJpa2dlMXh1SUNCMllYSWdjbVZ6SUQwZ1UzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1dmJpNWpZV3hzS0hSb2FYTXNJR1YyTENCbWJpazdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ2FXWWdLR1YySUQwOVBTQW5aR0YwWVNjcElIdGNiaUFnSUNBdkx5QjFjR1JoZEdVZ2NtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jZ2MyOGdkR2hoZENCeVpYTjFiV1VvS1NCdFlYa2dZbVVnWVNCdWJ5MXZjRnh1SUNBZ0lDOHZJR0VnWm1WM0lHeHBibVZ6SUdSdmQyNHVJRlJvYVhNZ2FYTWdibVZsWkdWa0lIUnZJSE4xY0hCdmNuUWdiMjVqWlNnbmNtVmhaR0ZpYkdVbktTNWNiaUFnSUNCemRHRjBaUzV5WldGa1lXSnNaVXhwYzNSbGJtbHVaeUE5SUhSb2FYTXViR2x6ZEdWdVpYSkRiM1Z1ZENnbmNtVmhaR0ZpYkdVbktTQStJREE3SUM4dklGUnllU0J6ZEdGeWRDQm1iRzkzYVc1bklHOXVJRzVsZUhRZ2RHbGpheUJwWmlCemRISmxZVzBnYVhOdUozUWdaWGh3YkdsamFYUnNlU0J3WVhWelpXUmNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNW1iRzkzYVc1bklDRTlQU0JtWVd4elpTa2dkR2hwY3k1eVpYTjFiV1VvS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2hsZGlBOVBUMGdKM0psWVdSaFlteGxKeWtnZTF4dUlDQWdJR2xtSUNnaGMzUmhkR1V1Wlc1a1JXMXBkSFJsWkNBbUppQWhjM1JoZEdVdWNtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jcElIdGNiaUFnSUNBZ0lITjBZWFJsTG5KbFlXUmhZbXhsVEdsemRHVnVhVzVuSUQwZ2MzUmhkR1V1Ym1WbFpGSmxZV1JoWW14bElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhOMFlYUmxMbVpzYjNkcGJtY2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lITjBZWFJsTG1WdGFYUjBaV1JTWldGa1lXSnNaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdaR1ZpZFdjb0oyOXVJSEpsWVdSaFlteGxKeXdnYzNSaGRHVXViR1Z1WjNSb0xDQnpkR0YwWlM1eVpXRmthVzVuS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSE4wWVhSbExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQmxiV2wwVW1WaFpHRmliR1VvZEdocGN5azdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0Z6ZEdGMFpTNXlaV0ZrYVc1bktTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ibEpsWVdScGJtZE9aWGgwVkdsamF5d2dkR2hwY3lrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNWhaR1JNYVhOMFpXNWxjaUE5SUZKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1dmJqdGNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTG5KbGJXOTJaVXhwYzNSbGJtVnlJRDBnWm5WdVkzUnBiMjRnS0dWMkxDQm1iaWtnZTF4dUlDQjJZWElnY21WeklEMGdVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaVzF2ZG1WTWFYTjBaVzVsY2k1allXeHNLSFJvYVhNc0lHVjJMQ0JtYmlrN1hHNWNiaUFnYVdZZ0tHVjJJRDA5UFNBbmNtVmhaR0ZpYkdVbktTQjdYRzRnSUNBZ0x5OGdWMlVnYm1WbFpDQjBieUJqYUdWamF5QnBaaUIwYUdWeVpTQnBjeUJ6YjIxbGIyNWxJSE4wYVd4c0lHeHBjM1JsYm1sdVp5QjBiMXh1SUNBZ0lDOHZJSEpsWVdSaFlteGxJR0Z1WkNCeVpYTmxkQ0IwYUdVZ2MzUmhkR1V1SUVodmQyVjJaWElnZEdocGN5QnVaV1ZrY3lCMGJ5Qm9ZWEJ3Wlc1Y2JpQWdJQ0F2THlCaFpuUmxjaUJ5WldGa1lXSnNaU0JvWVhNZ1ltVmxiaUJsYldsMGRHVmtJR0oxZENCaVpXWnZjbVVnU1M5UElDaHVaWGgwVkdsamF5a2dkRzljYmlBZ0lDQXZMeUJ6ZFhCd2IzSjBJRzl1WTJVb0ozSmxZV1JoWW14bEp5d2dabTRwSUdONVkyeGxjeTRnVkdocGN5QnRaV0Z1Y3lCMGFHRjBJR05oYkd4cGJtZGNiaUFnSUNBdkx5QnlaWE4xYldVZ2QybDBhR2x1SUhSb1pTQnpZVzFsSUhScFkyc2dkMmxzYkNCb1lYWmxJRzV2WEc0Z0lDQWdMeThnWldabVpXTjBMbHh1SUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb2RYQmtZWFJsVW1WaFpHRmliR1ZNYVhOMFpXNXBibWNzSUhSb2FYTXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1eVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NZ1BTQm1kVzVqZEdsdmJpQW9aWFlwSUh0Y2JpQWdkbUZ5SUhKbGN5QTlJRk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZ0YjNabFFXeHNUR2x6ZEdWdVpYSnpMbUZ3Y0d4NUtIUm9hWE1zSUdGeVozVnRaVzUwY3lrN1hHNWNiaUFnYVdZZ0tHVjJJRDA5UFNBbmNtVmhaR0ZpYkdVbklIeDhJR1YySUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQXZMeUJYWlNCdVpXVmtJSFJ2SUdOb1pXTnJJR2xtSUhSb1pYSmxJR2x6SUhOdmJXVnZibVVnYzNScGJHd2diR2x6ZEdWdWFXNW5JSFJ2WEc0Z0lDQWdMeThnY21WaFpHRmliR1VnWVc1a0lISmxjMlYwSUhSb1pTQnpkR0YwWlM0Z1NHOTNaWFpsY2lCMGFHbHpJRzVsWldSeklIUnZJR2hoY0hCbGJseHVJQ0FnSUM4dklHRm1kR1Z5SUhKbFlXUmhZbXhsSUdoaGN5QmlaV1Z1SUdWdGFYUjBaV1FnWW5WMElHSmxabTl5WlNCSkwwOGdLRzVsZUhSVWFXTnJLU0IwYjF4dUlDQWdJQzh2SUhOMWNIQnZjblFnYjI1alpTZ25jbVZoWkdGaWJHVW5MQ0JtYmlrZ1kzbGpiR1Z6TGlCVWFHbHpJRzFsWVc1eklIUm9ZWFFnWTJGc2JHbHVaMXh1SUNBZ0lDOHZJSEpsYzNWdFpTQjNhWFJvYVc0Z2RHaGxJSE5oYldVZ2RHbGpheUIzYVd4c0lHaGhkbVVnYm05Y2JpQWdJQ0F2THlCbFptWmxZM1F1WEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aDFjR1JoZEdWU1pXRmtZV0pzWlV4cGMzUmxibWx1Wnl3Z2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVW1WaFpHRmliR1ZNYVhOMFpXNXBibWNvYzJWc1ppa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpaV3htTGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCemRHRjBaUzV5WldGa1lXSnNaVXhwYzNSbGJtbHVaeUE5SUhObGJHWXViR2x6ZEdWdVpYSkRiM1Z1ZENnbmNtVmhaR0ZpYkdVbktTQStJREE3WEc1Y2JpQWdhV1lnS0hOMFlYUmxMbkpsYzNWdFpWTmphR1ZrZFd4bFpDQW1KaUFoYzNSaGRHVXVjR0YxYzJWa0tTQjdYRzRnSUNBZ0x5OGdabXh2ZDJsdVp5QnVaV1ZrY3lCMGJ5QmlaU0J6WlhRZ2RHOGdkSEoxWlNCdWIzY3NJRzkwYUdWeWQybHpaVnh1SUNBZ0lDOHZJSFJvWlNCMWNHTnZiV2x1WnlCeVpYTjFiV1VnZDJsc2JDQnViM1FnWm14dmR5NWNiaUFnSUNCemRHRjBaUzVtYkc5M2FXNW5JRDBnZEhKMVpUc2dMeThnWTNKMVpHVWdkMkY1SUhSdklHTm9aV05ySUdsbUlIZGxJSE5vYjNWc1pDQnlaWE4xYldWY2JpQWdmU0JsYkhObElHbG1JQ2h6Wld4bUxteHBjM1JsYm1WeVEyOTFiblFvSjJSaGRHRW5LU0ErSURBcElIdGNiaUFnSUNCelpXeG1MbkpsYzNWdFpTZ3BPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUc1U1pXRmthVzVuVG1WNGRGUnBZMnNvYzJWc1ppa2dlMXh1SUNCa1pXSjFaeWduY21WaFpHRmliR1VnYm1WNGRIUnBZMnNnY21WaFpDQXdKeWs3WEc0Z0lITmxiR1l1Y21WaFpDZ3dLVHRjYm4wZ0x5OGdjR0YxYzJVb0tTQmhibVFnY21WemRXMWxLQ2tnWVhKbElISmxiVzVoYm5SeklHOW1JSFJvWlNCc1pXZGhZM2tnY21WaFpHRmliR1VnYzNSeVpXRnRJRUZRU1Z4dUx5OGdTV1lnZEdobElIVnpaWElnZFhObGN5QjBhR1Z0TENCMGFHVnVJSE4zYVhSamFDQnBiblJ2SUc5c1pDQnRiMlJsTGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV5WlhOMWJXVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1bWJHOTNhVzVuS1NCN1hHNGdJQ0FnWkdWaWRXY29KM0psYzNWdFpTY3BPeUF2THlCM1pTQm1iRzkzSUc5dWJIa2dhV1lnZEdobGNtVWdhWE1nYm04Z2IyNWxJR3hwYzNSbGJtbHVaMXh1SUNBZ0lDOHZJR1p2Y2lCeVpXRmtZV0pzWlN3Z1luVjBJSGRsSUhOMGFXeHNJR2hoZG1VZ2RHOGdZMkZzYkZ4dUlDQWdJQzh2SUhKbGMzVnRaU2dwWEc1Y2JpQWdJQ0J6ZEdGMFpTNW1iRzkzYVc1bklEMGdJWE4wWVhSbExuSmxZV1JoWW14bFRHbHpkR1Z1YVc1bk8xeHVJQ0FnSUhKbGMzVnRaU2gwYUdsekxDQnpkR0YwWlNrN1hHNGdJSDFjYmx4dUlDQnpkR0YwWlM1d1lYVnpaV1FnUFNCbVlXeHpaVHRjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQnlaWE4xYldVb2MzUnlaV0Z0TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvSVhOMFlYUmxMbkpsYzNWdFpWTmphR1ZrZFd4bFpDa2dlMXh1SUNBZ0lITjBZWFJsTG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXloeVpYTjFiV1ZmTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCeVpYTjFiV1ZmS0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ1pHVmlkV2NvSjNKbGMzVnRaU2NzSUhOMFlYUmxMbkpsWVdScGJtY3BPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVjbVZoWkdsdVp5a2dlMXh1SUNBZ0lITjBjbVZoYlM1eVpXRmtLREFwTzF4dUlDQjlYRzVjYmlBZ2MzUmhkR1V1Y21WemRXMWxVMk5vWldSMWJHVmtJRDBnWm1Gc2MyVTdYRzRnSUhOMGNtVmhiUzVsYldsMEtDZHlaWE4xYldVbktUdGNiaUFnWm14dmR5aHpkSEpsWVcwcE8xeHVJQ0JwWmlBb2MzUmhkR1V1Wm14dmQybHVaeUFtSmlBaGMzUmhkR1V1Y21WaFpHbHVaeWtnYzNSeVpXRnRMbkpsWVdRb01DazdYRzU5WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXdZWFZ6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ1pHVmlkV2NvSjJOaGJHd2djR0YxYzJVZ1pteHZkMmx1WnowbGFpY3NJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wm14dmQybHVaeWs3WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpteHZkMmx1WnlBaFBUMGdabUZzYzJVcElIdGNiaUFnSUNCa1pXSjFaeWduY0dGMWMyVW5LVHRjYmlBZ0lDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVpzYjNkcGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbVZ0YVhRb0ozQmhkWE5sSnlrN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbkJoZFhObFpDQTlJSFJ5ZFdVN1hHNGdJSEpsZEhWeWJpQjBhR2x6TzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWm14dmR5aHpkSEpsWVcwcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCa1pXSjFaeWduWm14dmR5Y3NJSE4wWVhSbExtWnNiM2RwYm1jcE8xeHVYRzRnSUhkb2FXeGxJQ2h6ZEdGMFpTNW1iRzkzYVc1bklDWW1JSE4wY21WaGJTNXlaV0ZrS0NrZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBN1hHNGdJSDFjYm4wZ0x5OGdkM0poY0NCaGJpQnZiR1F0YzNSNWJHVWdjM1J5WldGdElHRnpJSFJvWlNCaGMzbHVZeUJrWVhSaElITnZkWEpqWlM1Y2JpOHZJRlJvYVhNZ2FYTWdLbTV2ZENvZ2NHRnlkQ0J2WmlCMGFHVWdjbVZoWkdGaWJHVWdjM1J5WldGdElHbHVkR1Z5Wm1GalpTNWNiaTh2SUVsMElHbHpJR0Z1SUhWbmJIa2dkVzVtYjNKMGRXNWhkR1VnYldWemN5QnZaaUJvYVhOMGIzSjVMbHh1WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNTNjbUZ3SUQwZ1puVnVZM1JwYjI0Z0tITjBjbVZoYlNrZ2UxeHVJQ0IyWVhJZ1gzUm9hWE1nUFNCMGFHbHpPMXh1WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lIWmhjaUJ3WVhWelpXUWdQU0JtWVd4elpUdGNiaUFnYzNSeVpXRnRMbTl1S0NkbGJtUW5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnWkdWaWRXY29KM2R5WVhCd1pXUWdaVzVrSnlrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdVpHVmpiMlJsY2lBbUppQWhjM1JoZEdVdVpXNWtaV1FwSUh0Y2JpQWdJQ0FnSUhaaGNpQmphSFZ1YXlBOUlITjBZWFJsTG1SbFkyOWtaWEl1Wlc1a0tDazdYRzRnSUNBZ0lDQnBaaUFvWTJoMWJtc2dKaVlnWTJoMWJtc3ViR1Z1WjNSb0tTQmZkR2hwY3k1d2RYTm9LR05vZFc1cktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCZmRHaHBjeTV3ZFhOb0tHNTFiR3dwTzF4dUlDQjlLVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZGtZWFJoSnl3Z1puVnVZM1JwYjI0Z0tHTm9kVzVyS1NCN1hHNGdJQ0FnWkdWaWRXY29KM2R5WVhCd1pXUWdaR0YwWVNjcE8xeHVJQ0FnSUdsbUlDaHpkR0YwWlM1a1pXTnZaR1Z5S1NCamFIVnVheUE5SUhOMFlYUmxMbVJsWTI5a1pYSXVkM0pwZEdVb1kyaDFibXNwT3lBdkx5QmtiMjRuZENCemEybHdJRzkyWlhJZ1ptRnNjM2tnZG1Gc2RXVnpJR2x1SUc5aWFtVmpkRTF2WkdWY2JseHVJQ0FnSUdsbUlDaHpkR0YwWlM1dlltcGxZM1JOYjJSbElDWW1JQ2hqYUhWdWF5QTlQVDBnYm5Wc2JDQjhmQ0JqYUhWdWF5QTlQVDBnZFc1a1pXWnBibVZrS1NrZ2NtVjBkWEp1TzJWc2MyVWdhV1lnS0NGemRHRjBaUzV2WW1wbFkzUk5iMlJsSUNZbUlDZ2hZMmgxYm1zZ2ZId2dJV05vZFc1ckxteGxibWQwYUNrcElISmxkSFZ5Ymp0Y2JseHVJQ0FnSUhaaGNpQnlaWFFnUFNCZmRHaHBjeTV3ZFhOb0tHTm9kVzVyS1R0Y2JseHVJQ0FnSUdsbUlDZ2hjbVYwS1NCN1hHNGdJQ0FnSUNCd1lYVnpaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjM1J5WldGdExuQmhkWE5sS0NrN1hHNGdJQ0FnZlZ4dUlDQjlLVHNnTHk4Z2NISnZlSGtnWVd4c0lIUm9aU0J2ZEdobGNpQnRaWFJvYjJSekxseHVJQ0F2THlCcGJYQnZjblJoYm5RZ2QyaGxiaUIzY21Gd2NHbHVaeUJtYVd4MFpYSnpJR0Z1WkNCa2RYQnNaWGhsY3k1Y2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUdsdUlITjBjbVZoYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6VzJsZElEMDlQU0IxYm1SbFptbHVaV1FnSmlZZ2RIbHdaVzltSUhOMGNtVmhiVnRwWFNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnZEdocGMxdHBYU0E5SUdaMWJtTjBhVzl1SUcxbGRHaHZaRmR5WVhBb2JXVjBhRzlrS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCdFpYUm9iMlJYY21Gd1VtVjBkWEp1Um5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbVZoYlZ0dFpYUm9iMlJkTG1Gd2NHeDVLSE4wY21WaGJTd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUgwb2FTazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklIQnliM2g1SUdObGNuUmhhVzRnYVcxd2IzSjBZVzUwSUdWMlpXNTBjeTVjYmx4dVhHNGdJR1p2Y2lBb2RtRnlJRzRnUFNBd095QnVJRHdnYTFCeWIzaDVSWFpsYm5SekxteGxibWQwYURzZ2Jpc3JLU0I3WEc0Z0lDQWdjM1J5WldGdExtOXVLR3RRY205NGVVVjJaVzUwYzF0dVhTd2dkR2hwY3k1bGJXbDBMbUpwYm1Rb2RHaHBjeXdnYTFCeWIzaDVSWFpsYm5SelcyNWRLU2s3WEc0Z0lIMGdMeThnZDJobGJpQjNaU0IwY25rZ2RHOGdZMjl1YzNWdFpTQnpiMjFsSUcxdmNtVWdZbmwwWlhNc0lITnBiWEJzZVNCMWJuQmhkWE5sSUhSb1pWeHVJQ0F2THlCMWJtUmxjbXg1YVc1bklITjBjbVZoYlM1Y2JseHVYRzRnSUhSb2FYTXVYM0psWVdRZ1BTQm1kVzVqZEdsdmJpQW9iaWtnZTF4dUlDQWdJR1JsWW5WbktDZDNjbUZ3Y0dWa0lGOXlaV0ZrSnl3Z2JpazdYRzVjYmlBZ0lDQnBaaUFvY0dGMWMyVmtLU0I3WEc0Z0lDQWdJQ0J3WVhWelpXUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lITjBjbVZoYlM1eVpYTjFiV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNXBaaUFvZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0JTWldGa1lXSnNaUzV3Y205MGIzUjVjR1ZiVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNKZElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJR2xtSUNoamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdZM0psWVhSbFVtVmhaR0ZpYkdWVGRISmxZVzFCYzNsdVkwbDBaWEpoZEc5eUlEMGdjbVZ4ZFdseVpTZ25MaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMkZ6ZVc1algybDBaWEpoZEc5eUp5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdOeVpXRjBaVkpsWVdSaFlteGxVM1J5WldGdFFYTjVibU5KZEdWeVlYUnZjaWgwYUdsektUdGNiaUFnZlR0Y2JuMWNibHh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtGSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTd2dKM0psWVdSaFlteGxTR2xuYUZkaGRHVnlUV0Z5YXljc0lIdGNiaUFnTHk4Z2JXRnJhVzVuSUdsMElHVjRjR3hwWTJsMElIUm9hWE1nY0hKdmNHVnlkSGtnYVhNZ2JtOTBJR1Z1ZFcxbGNtRmliR1ZjYmlBZ0x5OGdZbVZqWVhWelpTQnZkR2hsY25kcGMyVWdjMjl0WlNCd2NtOTBiM1I1Y0dVZ2JXRnVhWEIxYkdGMGFXOXVJR2x1WEc0Z0lDOHZJSFZ6WlhKc1lXNWtJSGRwYkd3Z1ptRnBiRnh1SUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXp0Y2JpQWdmVnh1ZlNrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmNtVmhaR0ZpYkdWQ2RXWm1aWEluTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WW5WbVptVnlPMXh1SUNCOVhHNTlLVHRjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaFNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXNJQ2R5WldGa1lXSnNaVVpzYjNkcGJtY25MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1ac2IzZHBibWM3WEc0Z0lIMHNYRzRnSUhObGREb2dablZ1WTNScGIyNGdjMlYwS0hOMFlYUmxLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVabXh2ZDJsdVp5QTlJSE4wWVhSbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlNrN0lDOHZJR1Y0Y0c5elpXUWdabTl5SUhSbGMzUnBibWNnY0hWeWNHOXpaWE1nYjI1c2VTNWNibHh1VW1WaFpHRmliR1V1WDJaeWIyMU1hWE4wSUQwZ1puSnZiVXhwYzNRN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmNtVmhaR0ZpYkdWTVpXNW5kR2duTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExteGxibWQwYUR0Y2JpQWdmVnh1ZlNrN0lDOHZJRkJzZFdOcklHOW1aaUJ1SUdKNWRHVnpJR1p5YjIwZ1lXNGdZWEp5WVhrZ2IyWWdZblZtWm1WeWN5NWNiaTh2SUV4bGJtZDBhQ0JwY3lCMGFHVWdZMjl0WW1sdVpXUWdiR1Z1WjNSb2N5QnZaaUJoYkd3Z2RHaGxJR0oxWm1abGNuTWdhVzRnZEdobElHeHBjM1F1WEc0dkx5QlVhR2x6SUdaMWJtTjBhVzl1SUdseklHUmxjMmxuYm1Wa0lIUnZJR0psSUdsdWJHbHVZV0pzWlN3Z2MyOGdjR3hsWVhObElIUmhhMlVnWTJGeVpTQjNhR1Z1SUcxaGEybHVaMXh1THk4Z1kyaGhibWRsY3lCMGJ5QjBhR1VnWm5WdVkzUnBiMjRnWW05a2VTNWNibHh1Wm5WdVkzUnBiMjRnWm5KdmJVeHBjM1FvYml3Z2MzUmhkR1VwSUh0Y2JpQWdMeThnYm05MGFHbHVaeUJpZFdabVpYSmxaRnh1SUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdkbUZ5SUhKbGREdGNiaUFnYVdZZ0tITjBZWFJsTG05aWFtVmpkRTF2WkdVcElISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNXphR2xtZENncE8yVnNjMlVnYVdZZ0tDRnVJSHg4SUc0Z1BqMGdjM1JoZEdVdWJHVnVaM1JvS1NCN1hHNGdJQ0FnTHk4Z2NtVmhaQ0JwZENCaGJHd3NJSFJ5ZFc1allYUmxJSFJvWlNCc2FYTjBYRzRnSUNBZ2FXWWdLSE4wWVhSbExtUmxZMjlrWlhJcElISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNXFiMmx1S0NjbktUdGxiSE5sSUdsbUlDaHpkR0YwWlM1aWRXWm1aWEl1YkdWdVozUm9JRDA5UFNBeEtTQnlaWFFnUFNCemRHRjBaUzVpZFdabVpYSXVabWx5YzNRb0tUdGxiSE5sSUhKbGRDQTlJSE4wWVhSbExtSjFabVpsY2k1amIyNWpZWFFvYzNSaGRHVXViR1Z1WjNSb0tUdGNiaUFnSUNCemRHRjBaUzVpZFdabVpYSXVZMnhsWVhJb0tUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQXZMeUJ5WldGa0lIQmhjblFnYjJZZ2JHbHpkRnh1SUNBZ0lISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNWpiMjV6ZFcxbEtHNHNJSE4wWVhSbExtUmxZMjlrWlhJcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVnVaRkpsWVdSaFlteGxLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lHUmxZblZuS0NkbGJtUlNaV0ZrWVdKc1pTY3NJSE4wWVhSbExtVnVaRVZ0YVhSMFpXUXBPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzVrUlcxcGRIUmxaQ2tnZTF4dUlDQWdJSE4wWVhSbExtVnVaR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQndjbTlqWlhOekxtNWxlSFJVYVdOcktHVnVaRkpsWVdSaFlteGxUbFFzSUhOMFlYUmxMQ0J6ZEhKbFlXMHBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdWdVpGSmxZV1JoWW14bFRsUW9jM1JoZEdVc0lITjBjbVZoYlNrZ2UxeHVJQ0JrWldKMVp5Z25aVzVrVW1WaFpHRmliR1ZPVkNjc0lITjBZWFJsTG1WdVpFVnRhWFIwWldRc0lITjBZWFJsTG14bGJtZDBhQ2s3SUM4dklFTm9aV05ySUhSb1lYUWdkMlVnWkdsa2JpZDBJR2RsZENCdmJtVWdiR0Z6ZENCMWJuTm9hV1owTGx4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Wlc1a1JXMXBkSFJsWkNBbUppQnpkR0YwWlM1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQnpkR0YwWlM1bGJtUkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J6ZEhKbFlXMHVjbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnSUNCemRISmxZVzB1WlcxcGRDZ25aVzVrSnlrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdVlYVjBiMFJsYzNSeWIza3BJSHRjYmlBZ0lDQWdJQzh2SUVsdUlHTmhjMlVnYjJZZ1pIVndiR1Y0SUhOMGNtVmhiWE1nZDJVZ2JtVmxaQ0JoSUhkaGVTQjBieUJrWlhSbFkzUmNiaUFnSUNBZ0lDOHZJR2xtSUhSb1pTQjNjbWwwWVdKc1pTQnphV1JsSUdseklISmxZV1I1SUdadmNpQmhkWFJ2UkdWemRISnZlU0JoY3lCM1pXeHNYRzRnSUNBZ0lDQjJZWElnZDFOMFlYUmxJRDBnYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUNBZ0lDQnBaaUFvSVhkVGRHRjBaU0I4ZkNCM1UzUmhkR1V1WVhWMGIwUmxjM1J5YjNrZ0ppWWdkMU4wWVhSbExtWnBibWx6YUdWa0tTQjdYRzRnSUNBZ0lDQWdJSE4wY21WaGJTNWtaWE4wY205NUtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibWxtSUNoMGVYQmxiMllnVTNsdFltOXNJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUZKbFlXUmhZbXhsTG1aeWIyMGdQU0JtZFc1amRHbHZiaUFvYVhSbGNtRmliR1VzSUc5d2RITXBJSHRjYmlBZ0lDQnBaaUFvWm5KdmJTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCbWNtOXRJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJaeWIyMG5LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1puSnZiU2hTWldGa1lXSnNaU3dnYVhSbGNtRmliR1VzSUc5d2RITXBPMXh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJtUmxlRTltS0hoekxDQjRLU0I3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdlSE11YkdWdVozUm9PeUJwSUR3Z2JEc2dhU3NyS1NCN1hHNGdJQ0FnYVdZZ0tIaHpXMmxkSUQwOVBTQjRLU0J5WlhSMWNtNGdhVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUF0TVR0Y2JuMGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4vLyBhIHRyYW5zZm9ybSBzdHJlYW0gaXMgYSByZWFkYWJsZS93cml0YWJsZSBzdHJlYW0gd2hlcmUgeW91IGRvXFxuLy8gc29tZXRoaW5nIHdpdGggdGhlIGRhdGEuICBTb21ldGltZXMgaXQncyBjYWxsZWQgYSBcXFwiZmlsdGVyXFxcIixcXG4vLyBidXQgdGhhdCdzIG5vdCBhIGdyZWF0IG5hbWUgZm9yIGl0LCBzaW5jZSB0aGF0IGltcGxpZXMgYSB0aGluZyB3aGVyZVxcbi8vIHNvbWUgYml0cyBwYXNzIHRocm91Z2gsIGFuZCBvdGhlcnMgYXJlIHNpbXBseSBpZ25vcmVkLiAgKFRoYXQgd291bGRcXG4vLyBiZSBhIHZhbGlkIGV4YW1wbGUgb2YgYSB0cmFuc2Zvcm0sIG9mIGNvdXJzZS4pXFxuLy9cXG4vLyBXaGlsZSB0aGUgb3V0cHV0IGlzIGNhdXNhbGx5IHJlbGF0ZWQgdG8gdGhlIGlucHV0LCBpdCdzIG5vdCBhXFxuLy8gbmVjZXNzYXJpbHkgc3ltbWV0cmljIG9yIHN5bmNocm9ub3VzIHRyYW5zZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUsXFxuLy8gYSB6bGliIHN0cmVhbSBtaWdodCB0YWtlIG11bHRpcGxlIHBsYWluLXRleHQgd3JpdGVzKCksIGFuZCB0aGVuXFxuLy8gZW1pdCBhIHNpbmdsZSBjb21wcmVzc2VkIGNodW5rIHNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLlxcbi8vXFxuLy8gSGVyZSdzIGhvdyB0aGlzIHdvcmtzOlxcbi8vXFxuLy8gVGhlIFRyYW5zZm9ybSBzdHJlYW0gaGFzIGFsbCB0aGUgYXNwZWN0cyBvZiB0aGUgcmVhZGFibGUgYW5kIHdyaXRhYmxlXFxuLy8gc3RyZWFtIGNsYXNzZXMuICBXaGVuIHlvdSB3cml0ZShjaHVuayksIHRoYXQgY2FsbHMgX3dyaXRlKGNodW5rLGNiKVxcbi8vIGludGVybmFsbHksIGFuZCByZXR1cm5zIGZhbHNlIGlmIHRoZXJlJ3MgYSBsb3Qgb2YgcGVuZGluZyB3cml0ZXNcXG4vLyBidWZmZXJlZCB1cC4gIFdoZW4geW91IGNhbGwgcmVhZCgpLCB0aGF0IGNhbGxzIF9yZWFkKG4pIHVudGlsXFxuLy8gdGhlcmUncyBlbm91Z2ggcGVuZGluZyByZWFkYWJsZSBkYXRhIGJ1ZmZlcmVkIHVwLlxcbi8vXFxuLy8gSW4gYSB0cmFuc2Zvcm0gc3RyZWFtLCB0aGUgd3JpdHRlbiBkYXRhIGlzIHBsYWNlZCBpbiBhIGJ1ZmZlci4gIFdoZW5cXG4vLyBfcmVhZChuKSBpcyBjYWxsZWQsIGl0IHRyYW5zZm9ybXMgdGhlIHF1ZXVlZCB1cCBkYXRhLCBjYWxsaW5nIHRoZVxcbi8vIGJ1ZmZlcmVkIF93cml0ZSBjYidzIGFzIGl0IGNvbnN1bWVzIGNodW5rcy4gIElmIGNvbnN1bWluZyBhIHNpbmdsZVxcbi8vIHdyaXR0ZW4gY2h1bmsgd291bGQgcmVzdWx0IGluIG11bHRpcGxlIG91dHB1dCBjaHVua3MsIHRoZW4gdGhlIGZpcnN0XFxuLy8gb3V0cHV0dGVkIGJpdCBjYWxscyB0aGUgcmVhZGNiLCBhbmQgc3Vic2VxdWVudCBjaHVua3MganVzdCBnbyBpbnRvXFxuLy8gdGhlIHJlYWQgYnVmZmVyLCBhbmQgd2lsbCBjYXVzZSBpdCB0byBlbWl0ICdyZWFkYWJsZScgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gVGhpcyB3YXksIGJhY2stcHJlc3N1cmUgaXMgYWN0dWFsbHkgZGV0ZXJtaW5lZCBieSB0aGUgcmVhZGluZyBzaWRlLFxcbi8vIHNpbmNlIF9yZWFkIGhhcyB0byBiZSBjYWxsZWQgdG8gc3RhcnQgcHJvY2Vzc2luZyBhIG5ldyBjaHVuay4gIEhvd2V2ZXIsXFxuLy8gYSBwYXRob2xvZ2ljYWwgaW5mbGF0ZSB0eXBlIG9mIHRyYW5zZm9ybSBjYW4gY2F1c2UgZXhjZXNzaXZlIGJ1ZmZlcmluZ1xcbi8vIGhlcmUuICBGb3IgZXhhbXBsZSwgaW1hZ2luZSBhIHN0cmVhbSB3aGVyZSBldmVyeSBieXRlIG9mIGlucHV0IGlzXFxuLy8gaW50ZXJwcmV0ZWQgYXMgYW4gaW50ZWdlciBmcm9tIDAtMjU1LCBhbmQgdGhlbiByZXN1bHRzIGluIHRoYXQgbWFueVxcbi8vIGJ5dGVzIG9mIG91dHB1dC4gIFdyaXRpbmcgdGhlIDQgYnl0ZXMge2ZmLGZmLGZmLGZmfSB3b3VsZCByZXN1bHQgaW5cXG4vLyAxa2Igb2YgZGF0YSBiZWluZyBvdXRwdXQuICBJbiB0aGlzIGNhc2UsIHlvdSBjb3VsZCB3cml0ZSBhIHZlcnkgc21hbGxcXG4vLyBhbW91bnQgb2YgaW5wdXQsIGFuZCBlbmQgdXAgd2l0aCBhIHZlcnkgbGFyZ2UgYW1vdW50IG9mIG91dHB1dC4gIEluXFxuLy8gc3VjaCBhIHBhdGhvbG9naWNhbCBpbmZsYXRpbmcgbWVjaGFuaXNtLCB0aGVyZSdkIGJlIG5vIHdheSB0byB0ZWxsXFxuLy8gdGhlIHN5c3RlbSB0byBzdG9wIGRvaW5nIHRoZSB0cmFuc2Zvcm0uICBBIHNpbmdsZSA0TUIgd3JpdGUgY291bGRcXG4vLyBjYXVzZSB0aGUgc3lzdGVtIHRvIHJ1biBvdXQgb2YgbWVtb3J5Llxcbi8vXFxuLy8gSG93ZXZlciwgZXZlbiBpbiBzdWNoIGEgcGF0aG9sb2dpY2FsIGNhc2UsIG9ubHkgYSBzaW5nbGUgd3JpdHRlbiBjaHVua1xcbi8vIHdvdWxkIGJlIGNvbnN1bWVkLCBhbmQgdGhlbiB0aGUgcmVzdCB3b3VsZCB3YWl0ICh1bi10cmFuc2Zvcm1lZCkgdW50aWxcXG4vLyB0aGUgcmVzdWx0cyBvZiB0aGUgcHJldmlvdXMgdHJhbnNmb3JtZWQgY2h1bmsgd2VyZSBjb25zdW1lZC5cXG5cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFRyYW5zZm9ybTtcXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEID0gX3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsXFxuICAgIEVSUl9NVUxUSVBMRV9DQUxMQkFDSyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxcXG4gICAgRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcsXFxuICAgIEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMDtcXG5cXG52YXIgRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuXFxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKShUcmFuc2Zvcm0sIER1cGxleCk7XFxuXFxuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMudHJhbnNmb3JtaW5nID0gZmFsc2U7XFxuICB2YXIgY2IgPSB0cy53cml0ZWNiO1xcblxcbiAgaWYgKGNiID09PSBudWxsKSB7XFxuICAgIHJldHVybiB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpKTtcXG4gIH1cXG5cXG4gIHRzLndyaXRlY2h1bmsgPSBudWxsO1xcbiAgdHMud3JpdGVjYiA9IG51bGw7XFxuICBpZiAoZGF0YSAhPSBudWxsKSAvLyBzaW5nbGUgZXF1YWxzIGNoZWNrIGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcXG4gICAgdGhpcy5wdXNoKGRhdGEpO1xcbiAgY2IoZXIpO1xcbiAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHJzLnJlYWRpbmcgPSBmYWxzZTtcXG5cXG4gIGlmIChycy5uZWVkUmVhZGFibGUgfHwgcnMubGVuZ3RoIDwgcnMuaGlnaFdhdGVyTWFyaykge1xcbiAgICB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBUcmFuc2Zvcm0ob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpIHJldHVybiBuZXcgVHJhbnNmb3JtKG9wdGlvbnMpO1xcbiAgRHVwbGV4LmNhbGwodGhpcywgb3B0aW9ucyk7XFxuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZSA9IHtcXG4gICAgYWZ0ZXJUcmFuc2Zvcm06IGFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksXFxuICAgIG5lZWRUcmFuc2Zvcm06IGZhbHNlLFxcbiAgICB0cmFuc2Zvcm1pbmc6IGZhbHNlLFxcbiAgICB3cml0ZWNiOiBudWxsLFxcbiAgICB3cml0ZWNodW5rOiBudWxsLFxcbiAgICB3cml0ZWVuY29kaW5nOiBudWxsXFxuICB9OyAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cXG5cXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTsgLy8gd2UgaGF2ZSBpbXBsZW1lbnRlZCB0aGUgX3JlYWQgbWV0aG9kLCBhbmQgZG9uZSB0aGUgb3RoZXIgdGhpbmdzXFxuICAvLyB0aGF0IFJlYWRhYmxlIHdhbnRzIGJlZm9yZSB0aGUgZmlyc3QgX3JlYWQgY2FsbCwgc28gdW5zZXQgdGhlXFxuICAvLyBzeW5jIGd1YXJkIGZsYWcuXFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmMgPSBmYWxzZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy50cmFuc2Zvcm0gPT09ICdmdW5jdGlvbicpIHRoaXMuX3RyYW5zZm9ybSA9IG9wdGlvbnMudHJhbnNmb3JtO1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmx1c2ggPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZsdXNoID0gb3B0aW9ucy5mbHVzaDtcXG4gIH0gLy8gV2hlbiB0aGUgd3JpdGFibGUgc2lkZSBmaW5pc2hlcywgdGhlbiBmbHVzaCBvdXQgYW55dGhpbmcgcmVtYWluaW5nLlxcblxcblxcbiAgdGhpcy5vbigncHJlZmluaXNoJywgcHJlZmluaXNoKTtcXG59XFxuXFxuZnVuY3Rpb24gcHJlZmluaXNoKCkge1xcbiAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gIGlmICh0eXBlb2YgdGhpcy5fZmx1c2ggPT09ICdmdW5jdGlvbicgJiYgIXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkKSB7XFxuICAgIHRoaXMuX2ZsdXNoKGZ1bmN0aW9uIChlciwgZGF0YSkge1xcbiAgICAgIGRvbmUoX3RoaXMsIGVyLCBkYXRhKTtcXG4gICAgfSk7XFxuICB9IGVsc2Uge1xcbiAgICBkb25lKHRoaXMsIG51bGwsIG51bGwpO1xcbiAgfVxcbn1cXG5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XFxuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtID0gZmFsc2U7XFxuICByZXR1cm4gRHVwbGV4LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcywgY2h1bmssIGVuY29kaW5nKTtcXG59OyAvLyBUaGlzIGlzIHRoZSBwYXJ0IHdoZXJlIHlvdSBkbyBzdHVmZiFcXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXFxuLy8gJ2NodW5rJyBpcyBhbiBpbnB1dCBjaHVuay5cXG4vL1xcbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxcbi8vIHRvIHRoZSByZWFkYWJsZSBzaWRlLiAgWW91IG1heSBjYWxsICdwdXNoJyB6ZXJvIG9yIG1vcmUgdGltZXMuXFxuLy9cXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xcbi8vIGFuIGVycm9yLCB0aGVuIHRoYXQnbGwgcHV0IHRoZSBodXJ0IG9uIHRoZSB3aG9sZSBvcGVyYXRpb24uICBJZiB5b3VcXG4vLyBuZXZlciBjYWxsIGNiKCksIHRoZW4geW91J2xsIG5ldmVyIGdldCBhbm90aGVyIGNodW5rLlxcblxcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoJ190cmFuc2Zvcm0oKScpKTtcXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMud3JpdGVjYiA9IGNiO1xcbiAgdHMud3JpdGVjaHVuayA9IGNodW5rO1xcbiAgdHMud3JpdGVlbmNvZGluZyA9IGVuY29kaW5nO1xcblxcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcXG4gICAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgaWYgKHRzLm5lZWRUcmFuc2Zvcm0gfHwgcnMubmVlZFJlYWRhYmxlIHx8IHJzLmxlbmd0aCA8IHJzLmhpZ2hXYXRlck1hcmspIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XFxuICB9XFxufTsgLy8gRG9lc24ndCBtYXR0ZXIgd2hhdCB0aGUgYXJncyBhcmUgaGVyZS5cXG4vLyBfdHJhbnNmb3JtIGRvZXMgYWxsIHRoZSB3b3JrLlxcbi8vIFRoYXQgd2UgZ290IGhlcmUgbWVhbnMgdGhhdCB0aGUgcmVhZGFibGUgc2lkZSB3YW50cyBtb3JlIGRhdGEuXFxuXFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcXG5cXG4gIGlmICh0cy53cml0ZWNodW5rICE9PSBudWxsICYmICF0cy50cmFuc2Zvcm1pbmcpIHtcXG4gICAgdHMudHJhbnNmb3JtaW5nID0gdHJ1ZTtcXG5cXG4gICAgdGhpcy5fdHJhbnNmb3JtKHRzLndyaXRlY2h1bmssIHRzLndyaXRlZW5jb2RpbmcsIHRzLmFmdGVyVHJhbnNmb3JtKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIG1hcmsgdGhhdCB3ZSBuZWVkIGEgdHJhbnNmb3JtLCBzbyB0aGF0IGFueSBkYXRhIHRoYXQgY29tZXMgaW5cXG4gICAgLy8gd2lsbCBnZXQgcHJvY2Vzc2VkLCBub3cgdGhhdCB3ZSd2ZSBhc2tlZCBmb3IgaXQuXFxuICAgIHRzLm5lZWRUcmFuc2Zvcm0gPSB0cnVlO1xcbiAgfVxcbn07XFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XFxuICBEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcywgZXJyLCBmdW5jdGlvbiAoZXJyMikge1xcbiAgICBjYihlcnIyKTtcXG4gIH0pO1xcbn07XFxuXFxuZnVuY3Rpb24gZG9uZShzdHJlYW0sIGVyLCBkYXRhKSB7XFxuICBpZiAoZXIpIHJldHVybiBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XFxuICBpZiAoZGF0YSAhPSBudWxsKSAvLyBzaW5nbGUgZXF1YWxzIGNoZWNrIGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcXG4gICAgc3RyZWFtLnB1c2goZGF0YSk7IC8vIFRPRE8oQnJpZGdlQVIpOiBXcml0ZSBhIHRlc3QgZm9yIHRoZXNlIHR3byBlcnJvciBjYXNlc1xcbiAgLy8gaWYgdGhlcmUncyBub3RoaW5nIGluIHRoZSB3cml0ZSBidWZmZXIsIHRoZW4gdGhhdCBtZWFuc1xcbiAgLy8gdGhhdCBub3RoaW5nIG1vcmUgd2lsbCBldmVyIGJlIHByb3ZpZGVkXFxuXFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCgpO1xcbiAgaWYgKHN0cmVhbS5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKSB0aHJvdyBuZXcgRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORygpO1xcbiAgcmV0dXJuIHN0cmVhbS5wdXNoKG51bGwpO1xcbn0vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjkwY21GdWMyWnZjbTB1YW5NL1pUUXpZaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3dRMEZCTUVNc1dVRkJXVHRCUVVOMFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFlUczdRVUZGWWpzN1FVRkZRU3h4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXhuUjBGQlZ6dEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc01rZEJRV3RDT3p0QlFVVjJReXh0UWtGQlR5eERRVUZETERaRVFVRlZPenRCUVVWc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEpRVUZKT3p0QlFVVktMREJEUVVFd1F6dEJRVU14UXp0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdRVUZEUmp0QlFVTkJPenM3UVVGSFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMEpCUVhOQ08wRkJRM1JDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbkp2ZDNObGNtbG1lUzF6YVdkdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZEhKaGJuTm1iM0p0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1EyOXdlWEpwWjJoMElFcHZlV1Z1ZEN3Z1NXNWpMaUJoYm1RZ2IzUm9aWElnVG05a1pTQmpiMjUwY21saWRYUnZjbk11WEc0dkwxeHVMeThnVUdWeWJXbHpjMmx2YmlCcGN5Qm9aWEpsWW5rZ1ozSmhiblJsWkN3Z1puSmxaU0J2WmlCamFHRnlaMlVzSUhSdklHRnVlU0J3WlhKemIyNGdiMkowWVdsdWFXNW5JR0ZjYmk4dklHTnZjSGtnYjJZZ2RHaHBjeUJ6YjJaMGQyRnlaU0JoYm1RZ1lYTnpiMk5wWVhSbFpDQmtiMk4xYldWdWRHRjBhVzl1SUdacGJHVnpJQ2gwYUdWY2JpOHZJRndpVTI5bWRIZGhjbVZjSWlrc0lIUnZJR1JsWVd3Z2FXNGdkR2hsSUZOdlpuUjNZWEpsSUhkcGRHaHZkWFFnY21WemRISnBZM1JwYjI0c0lHbHVZMngxWkdsdVoxeHVMeThnZDJsMGFHOTFkQ0JzYVcxcGRHRjBhVzl1SUhSb1pTQnlhV2RvZEhNZ2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJRzFsY21kbExDQndkV0pzYVhOb0xGeHVMeThnWkdsemRISnBZblYwWlN3Z2MzVmliR2xqWlc1elpTd2dZVzVrTDI5eUlITmxiR3dnWTI5d2FXVnpJRzltSUhSb1pTQlRiMlowZDJGeVpTd2dZVzVrSUhSdklIQmxjbTFwZEZ4dUx5OGdjR1Z5YzI5dWN5QjBieUIzYUc5dElIUm9aU0JUYjJaMGQyRnlaU0JwY3lCbWRYSnVhWE5vWldRZ2RHOGdaRzhnYzI4c0lITjFZbXBsWTNRZ2RHOGdkR2hsWEc0dkx5Qm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjenBjYmk4dlhHNHZMeUJVYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU0JoYm1RZ2RHaHBjeUJ3WlhKdGFYTnphVzl1SUc1dmRHbGpaU0J6YUdGc2JDQmlaU0JwYm1Oc2RXUmxaRnh1THk4Z2FXNGdZV3hzSUdOdmNHbGxjeUJ2Y2lCemRXSnpkR0Z1ZEdsaGJDQndiM0owYVc5dWN5QnZaaUIwYUdVZ1UyOW1kSGRoY21VdVhHNHZMMXh1THk4Z1ZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWl3Z1YwbFVTRTlWVkNCWFFWSlNRVTVVV1NCUFJpQkJUbGtnUzBsT1JDd2dSVmhRVWtWVFUxeHVMeThnVDFJZ1NVMVFURWxGUkN3Z1NVNURURlZFU1U1SElFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5QlVTRVVnVjBGU1VrRk9WRWxGVXlCUFJseHVMeThnVFVWU1EwaEJUbFJCUWtsTVNWUlpMQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJUa1FnVGs5T1NVNUdVa2xPUjBWTlJVNVVMaUJKVGx4dUx5OGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVsTWdUMUlnUTA5UVdWSkpSMGhVSUVoUFRFUkZVbE1nUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnUTB4QlNVMHNYRzR2THlCRVFVMUJSMFZUSUU5U0lFOVVTRVZTSUV4SlFVSkpURWxVV1N3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUZSUFVsUWdUMUpjYmk4dklFOVVTRVZTVjBsVFJTd2dRVkpKVTBsT1J5QkdVazlOTENCUFZWUWdUMFlnVDFJZ1NVNGdRMDlPVGtWRFZFbFBUaUJYU1ZSSUlGUklSU0JUVDBaVVYwRlNSU0JQVWlCVVNFVmNiaTh2SUZWVFJTQlBVaUJQVkVoRlVpQkVSVUZNU1U1SFV5QkpUaUJVU0VVZ1UwOUdWRmRCVWtVdVhHNHZMeUJoSUhSeVlXNXpabTl5YlNCemRISmxZVzBnYVhNZ1lTQnlaV0ZrWVdKc1pTOTNjbWwwWVdKc1pTQnpkSEpsWVcwZ2QyaGxjbVVnZVc5MUlHUnZYRzR2THlCemIyMWxkR2hwYm1jZ2QybDBhQ0IwYUdVZ1pHRjBZUzRnSUZOdmJXVjBhVzFsY3lCcGRDZHpJR05oYkd4bFpDQmhJRndpWm1sc2RHVnlYQ0lzWEc0dkx5QmlkWFFnZEdoaGRDZHpJRzV2ZENCaElHZHlaV0YwSUc1aGJXVWdabTl5SUdsMExDQnphVzVqWlNCMGFHRjBJR2x0Y0d4cFpYTWdZU0IwYUdsdVp5QjNhR1Z5WlZ4dUx5OGdjMjl0WlNCaWFYUnpJSEJoYzNNZ2RHaHliM1ZuYUN3Z1lXNWtJRzkwYUdWeWN5QmhjbVVnYzJsdGNHeDVJR2xuYm05eVpXUXVJQ0FvVkdoaGRDQjNiM1ZzWkZ4dUx5OGdZbVVnWVNCMllXeHBaQ0JsZUdGdGNHeGxJRzltSUdFZ2RISmhibk5tYjNKdExDQnZaaUJqYjNWeWMyVXVLVnh1THk5Y2JpOHZJRmRvYVd4bElIUm9aU0J2ZFhSd2RYUWdhWE1nWTJGMWMyRnNiSGtnY21Wc1lYUmxaQ0IwYnlCMGFHVWdhVzV3ZFhRc0lHbDBKM01nYm05MElHRmNiaTh2SUc1bFkyVnpjMkZ5YVd4NUlITjViVzFsZEhKcFl5QnZjaUJ6ZVc1amFISnZibTkxY3lCMGNtRnVjMlp2Y20xaGRHbHZiaTRnSUVadmNpQmxlR0Z0Y0d4bExGeHVMeThnWVNCNmJHbGlJSE4wY21WaGJTQnRhV2RvZENCMFlXdGxJRzExYkhScGNHeGxJSEJzWVdsdUxYUmxlSFFnZDNKcGRHVnpLQ2tzSUdGdVpDQjBhR1Z1WEc0dkx5QmxiV2wwSUdFZ2MybHVaMnhsSUdOdmJYQnlaWE56WldRZ1kyaDFibXNnYzI5dFpTQjBhVzFsSUdsdUlIUm9aU0JtZFhSMWNtVXVYRzR2TDF4dUx5OGdTR1Z5WlNkeklHaHZkeUIwYUdseklIZHZjbXR6T2x4dUx5OWNiaTh2SUZSb1pTQlVjbUZ1YzJadmNtMGdjM1J5WldGdElHaGhjeUJoYkd3Z2RHaGxJR0Z6Y0dWamRITWdiMllnZEdobElISmxZV1JoWW14bElHRnVaQ0IzY21sMFlXSnNaVnh1THk4Z2MzUnlaV0Z0SUdOc1lYTnpaWE11SUNCWGFHVnVJSGx2ZFNCM2NtbDBaU2hqYUhWdWF5a3NJSFJvWVhRZ1kyRnNiSE1nWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1THk4Z2FXNTBaWEp1WVd4c2VTd2dZVzVrSUhKbGRIVnlibk1nWm1Gc2MyVWdhV1lnZEdobGNtVW5jeUJoSUd4dmRDQnZaaUJ3Wlc1a2FXNW5JSGR5YVhSbGMxeHVMeThnWW5WbVptVnlaV1FnZFhBdUlDQlhhR1Z1SUhsdmRTQmpZV3hzSUhKbFlXUW9LU3dnZEdoaGRDQmpZV3hzY3lCZmNtVmhaQ2h1S1NCMWJuUnBiRnh1THk4Z2RHaGxjbVVuY3lCbGJtOTFaMmdnY0dWdVpHbHVaeUJ5WldGa1lXSnNaU0JrWVhSaElHSjFabVpsY21Wa0lIVndMbHh1THk5Y2JpOHZJRWx1SUdFZ2RISmhibk5tYjNKdElITjBjbVZoYlN3Z2RHaGxJSGR5YVhSMFpXNGdaR0YwWVNCcGN5QndiR0ZqWldRZ2FXNGdZU0JpZFdabVpYSXVJQ0JYYUdWdVhHNHZMeUJmY21WaFpDaHVLU0JwY3lCallXeHNaV1FzSUdsMElIUnlZVzV6Wm05eWJYTWdkR2hsSUhGMVpYVmxaQ0IxY0NCa1lYUmhMQ0JqWVd4c2FXNW5JSFJvWlZ4dUx5OGdZblZtWm1WeVpXUWdYM2R5YVhSbElHTmlKM01nWVhNZ2FYUWdZMjl1YzNWdFpYTWdZMmgxYm10ekxpQWdTV1lnWTI5dWMzVnRhVzVuSUdFZ2MybHVaMnhsWEc0dkx5QjNjbWwwZEdWdUlHTm9kVzVySUhkdmRXeGtJSEpsYzNWc2RDQnBiaUJ0ZFd4MGFYQnNaU0J2ZFhSd2RYUWdZMmgxYm10ekxDQjBhR1Z1SUhSb1pTQm1hWEp6ZEZ4dUx5OGdiM1YwY0hWMGRHVmtJR0pwZENCallXeHNjeUIwYUdVZ2NtVmhaR05pTENCaGJtUWdjM1ZpYzJWeGRXVnVkQ0JqYUhWdWEzTWdhblZ6ZENCbmJ5QnBiblJ2WEc0dkx5QjBhR1VnY21WaFpDQmlkV1ptWlhJc0lHRnVaQ0IzYVd4c0lHTmhkWE5sSUdsMElIUnZJR1Z0YVhRZ0ozSmxZV1JoWW14bEp5QnBaaUJ1WldObGMzTmhjbmt1WEc0dkwxeHVMeThnVkdocGN5QjNZWGtzSUdKaFkyc3RjSEpsYzNOMWNtVWdhWE1nWVdOMGRXRnNiSGtnWkdWMFpYSnRhVzVsWkNCaWVTQjBhR1VnY21WaFpHbHVaeUJ6YVdSbExGeHVMeThnYzJsdVkyVWdYM0psWVdRZ2FHRnpJSFJ2SUdKbElHTmhiR3hsWkNCMGJ5QnpkR0Z5ZENCd2NtOWpaWE56YVc1bklHRWdibVYzSUdOb2RXNXJMaUFnU0c5M1pYWmxjaXhjYmk4dklHRWdjR0YwYUc5c2IyZHBZMkZzSUdsdVpteGhkR1VnZEhsd1pTQnZaaUIwY21GdWMyWnZjbTBnWTJGdUlHTmhkWE5sSUdWNFkyVnpjMmwyWlNCaWRXWm1aWEpwYm1kY2JpOHZJR2hsY21VdUlDQkdiM0lnWlhoaGJYQnNaU3dnYVcxaFoybHVaU0JoSUhOMGNtVmhiU0IzYUdWeVpTQmxkbVZ5ZVNCaWVYUmxJRzltSUdsdWNIVjBJR2x6WEc0dkx5QnBiblJsY25CeVpYUmxaQ0JoY3lCaGJpQnBiblJsWjJWeUlHWnliMjBnTUMweU5UVXNJR0Z1WkNCMGFHVnVJSEpsYzNWc2RITWdhVzRnZEdoaGRDQnRZVzU1WEc0dkx5QmllWFJsY3lCdlppQnZkWFJ3ZFhRdUlDQlhjbWwwYVc1bklIUm9aU0EwSUdKNWRHVnpJSHRtWml4bVppeG1aaXhtWm4wZ2QyOTFiR1FnY21WemRXeDBJR2x1WEc0dkx5QXhhMklnYjJZZ1pHRjBZU0JpWldsdVp5QnZkWFJ3ZFhRdUlDQkpiaUIwYUdseklHTmhjMlVzSUhsdmRTQmpiM1ZzWkNCM2NtbDBaU0JoSUhabGNua2djMjFoYkd4Y2JpOHZJR0Z0YjNWdWRDQnZaaUJwYm5CMWRDd2dZVzVrSUdWdVpDQjFjQ0IzYVhSb0lHRWdkbVZ5ZVNCc1lYSm5aU0JoYlc5MWJuUWdiMllnYjNWMGNIVjBMaUFnU1c1Y2JpOHZJSE4xWTJnZ1lTQndZWFJvYjJ4dloybGpZV3dnYVc1bWJHRjBhVzVuSUcxbFkyaGhibWx6YlN3Z2RHaGxjbVVuWkNCaVpTQnVieUIzWVhrZ2RHOGdkR1ZzYkZ4dUx5OGdkR2hsSUhONWMzUmxiU0IwYnlCemRHOXdJR1J2YVc1bklIUm9aU0IwY21GdWMyWnZjbTB1SUNCQklITnBibWRzWlNBMFRVSWdkM0pwZEdVZ1kyOTFiR1JjYmk4dklHTmhkWE5sSUhSb1pTQnplWE4wWlcwZ2RHOGdjblZ1SUc5MWRDQnZaaUJ0WlcxdmNua3VYRzR2TDF4dUx5OGdTRzkzWlhabGNpd2daWFpsYmlCcGJpQnpkV05vSUdFZ2NHRjBhRzlzYjJkcFkyRnNJR05oYzJVc0lHOXViSGtnWVNCemFXNW5iR1VnZDNKcGRIUmxiaUJqYUhWdWExeHVMeThnZDI5MWJHUWdZbVVnWTI5dWMzVnRaV1FzSUdGdVpDQjBhR1Z1SUhSb1pTQnlaWE4wSUhkdmRXeGtJSGRoYVhRZ0tIVnVMWFJ5WVc1elptOXliV1ZrS1NCMWJuUnBiRnh1THk4Z2RHaGxJSEpsYzNWc2RITWdiMllnZEdobElIQnlaWFpwYjNWeklIUnlZVzV6Wm05eWJXVmtJR05vZFc1cklIZGxjbVVnWTI5dWMzVnRaV1F1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVkhKaGJuTm1iM0p0TzF4dVhHNTJZWElnWDNKbGNYVnBjbVVrWTI5a1pYTWdQU0J5WlhGMWFYSmxLQ2N1TGk5bGNuSnZjbk1uS1M1amIyUmxjeXhjYmlBZ0lDQkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDQTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUxGeHVJQ0FnSUVWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5QTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeXhjYmlBZ0lDQkZVbEpmVkZKQlRsTkdUMUpOWDBGTVVrVkJSRmxmVkZKQlRsTkdUMUpOU1U1SElEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMVJTUVU1VFJrOVNUVjlCVEZKRlFVUlpYMVJTUVU1VFJrOVNUVWxPUnl4Y2JpQWdJQ0JGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekFnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekE3WEc1Y2JuWmhjaUJFZFhCc1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmWkhWd2JHVjRKeWs3WEc1Y2JuSmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5a29WSEpoYm5ObWIzSnRMQ0JFZFhCc1pYZ3BPMXh1WEc1bWRXNWpkR2x2YmlCaFpuUmxjbFJ5WVc1elptOXliU2hsY2l3Z1pHRjBZU2tnZTF4dUlDQjJZWElnZEhNZ1BTQjBhR2x6TGw5MGNtRnVjMlp2Y20xVGRHRjBaVHRjYmlBZ2RITXVkSEpoYm5ObWIzSnRhVzVuSUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJqWWlBOUlIUnpMbmR5YVhSbFkySTdYRzVjYmlBZ2FXWWdLR05pSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpXMXBkQ2duWlhKeWIzSW5MQ0J1WlhjZ1JWSlNYMDFWVEZSSlVFeEZYME5CVEV4Q1FVTkxLQ2twTzF4dUlDQjlYRzVjYmlBZ2RITXVkM0pwZEdWamFIVnVheUE5SUc1MWJHdzdYRzRnSUhSekxuZHlhWFJsWTJJZ1BTQnVkV3hzTzF4dUlDQnBaaUFvWkdGMFlTQWhQU0J1ZFd4c0tTQXZMeUJ6YVc1bmJHVWdaWEYxWVd4eklHTm9aV05ySUdadmNpQmliM1JvSUdCdWRXeHNZQ0JoYm1RZ1lIVnVaR1ZtYVc1bFpHQmNiaUFnSUNCMGFHbHpMbkIxYzJnb1pHRjBZU2s3WEc0Z0lHTmlLR1Z5S1R0Y2JpQWdkbUZ5SUhKeklEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2NuTXVjbVZoWkdsdVp5QTlJR1poYkhObE8xeHVYRzRnSUdsbUlDaHljeTV1WldWa1VtVmhaR0ZpYkdVZ2ZId2djbk11YkdWdVozUm9JRHdnY25NdWFHbG5hRmRoZEdWeVRXRnlheWtnZTF4dUlDQWdJSFJvYVhNdVgzSmxZV1FvY25NdWFHbG5hRmRoZEdWeVRXRnlheWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ZISmhibk5tYjNKdEtHOXdkR2x2Ym5NcElIdGNiaUFnYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlGUnlZVzV6Wm05eWJTa3BJSEpsZEhWeWJpQnVaWGNnVkhKaGJuTm1iM0p0S0c5d2RHbHZibk1wTzF4dUlDQkVkWEJzWlhndVkyRnNiQ2gwYUdsekxDQnZjSFJwYjI1ektUdGNiaUFnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVZ1BTQjdYRzRnSUNBZ1lXWjBaWEpVY21GdWMyWnZjbTA2SUdGbWRHVnlWSEpoYm5ObWIzSnRMbUpwYm1Rb2RHaHBjeWtzWEc0Z0lDQWdibVZsWkZSeVlXNXpabTl5YlRvZ1ptRnNjMlVzWEc0Z0lDQWdkSEpoYm5ObWIzSnRhVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQjNjbWwwWldOaU9pQnVkV3hzTEZ4dUlDQWdJSGR5YVhSbFkyaDFibXM2SUc1MWJHd3NYRzRnSUNBZ2QzSnBkR1ZsYm1OdlpHbHVaem9nYm5Wc2JGeHVJQ0I5T3lBdkx5QnpkR0Z5ZENCdmRYUWdZWE5yYVc1bklHWnZjaUJoSUhKbFlXUmhZbXhsSUdWMlpXNTBJRzl1WTJVZ1pHRjBZU0JwY3lCMGNtRnVjMlp2Y20xbFpDNWNibHh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdJQzh2SUhkbElHaGhkbVVnYVcxd2JHVnRaVzUwWldRZ2RHaGxJRjl5WldGa0lHMWxkR2h2WkN3Z1lXNWtJR1J2Ym1VZ2RHaGxJRzkwYUdWeUlIUm9hVzVuYzF4dUlDQXZMeUIwYUdGMElGSmxZV1JoWW14bElIZGhiblJ6SUdKbFptOXlaU0IwYUdVZ1ptbHljM1FnWDNKbFlXUWdZMkZzYkN3Z2MyOGdkVzV6WlhRZ2RHaGxYRzRnSUM4dklITjVibU1nWjNWaGNtUWdabXhoWnk1Y2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5ONWJtTWdQU0JtWVd4elpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NTBjbUZ1YzJadmNtMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNSeVlXNXpabTl5YlNBOUlHOXdkR2x2Ym5NdWRISmhibk5tYjNKdE8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3k1bWJIVnphQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dkR2hwY3k1ZlpteDFjMmdnUFNCdmNIUnBiMjV6TG1ac2RYTm9PMXh1SUNCOUlDOHZJRmRvWlc0Z2RHaGxJSGR5YVhSaFlteGxJSE5wWkdVZ1ptbHVhWE5vWlhNc0lIUm9aVzRnWm14MWMyZ2diM1YwSUdGdWVYUm9hVzVuSUhKbGJXRnBibWx1Wnk1Y2JseHVYRzRnSUhSb2FYTXViMjRvSjNCeVpXWnBibWx6YUNjc0lIQnlaV1pwYm1semFDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQnlaV1pwYm1semFDZ3BJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUhSb2FYTXVYMlpzZFhOb0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJSFJvYVhNdVgyWnNkWE5vS0daMWJtTjBhVzl1SUNobGNpd2daR0YwWVNrZ2UxeHVJQ0FnSUNBZ1pHOXVaU2hmZEdocGN5d2daWElzSUdSaGRHRXBPMXh1SUNBZ0lIMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1J2Ym1Vb2RHaHBjeXdnYm5Wc2JDd2diblZzYkNrN1hHNGdJSDFjYm4xY2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzV3ZFhOb0lEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5a2dlMXh1SUNCMGFHbHpMbDkwY21GdWMyWnZjbTFUZEdGMFpTNXVaV1ZrVkhKaGJuTm1iM0p0SUQwZ1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTG5CMWMyZ3VZMkZzYkNoMGFHbHpMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3BPMXh1ZlRzZ0x5OGdWR2hwY3lCcGN5QjBhR1VnY0dGeWRDQjNhR1Z5WlNCNWIzVWdaRzhnYzNSMVptWWhYRzR2THlCdmRtVnljbWxrWlNCMGFHbHpJR1oxYm1OMGFXOXVJR2x1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR05zWVhOelpYTXVYRzR2THlBblkyaDFibXNuSUdseklHRnVJR2x1Y0hWMElHTm9kVzVyTGx4dUx5OWNiaTh2SUVOaGJHd2dZSEIxYzJnb2JtVjNRMmgxYm1zcFlDQjBieUJ3WVhOeklHRnNiMjVuSUhSeVlXNXpabTl5YldWa0lHOTFkSEIxZEZ4dUx5OGdkRzhnZEdobElISmxZV1JoWW14bElITnBaR1V1SUNCWmIzVWdiV0Y1SUdOaGJHd2dKM0IxYzJnbklIcGxjbThnYjNJZ2JXOXlaU0IwYVcxbGN5NWNiaTh2WEc0dkx5QkRZV3hzSUdCallpaGxjbklwWUNCM2FHVnVJSGx2ZFNCaGNtVWdaRzl1WlNCM2FYUm9JSFJvYVhNZ1kyaDFibXN1SUNCSlppQjViM1VnY0dGemMxeHVMeThnWVc0Z1pYSnliM0lzSUhSb1pXNGdkR2hoZENkc2JDQndkWFFnZEdobElHaDFjblFnYjI0Z2RHaGxJSGRvYjJ4bElHOXdaWEpoZEdsdmJpNGdJRWxtSUhsdmRWeHVMeThnYm1WMlpYSWdZMkZzYkNCallpZ3BMQ0IwYUdWdUlIbHZkU2RzYkNCdVpYWmxjaUJuWlhRZ1lXNXZkR2hsY2lCamFIVnVheTVjYmx4dVhHNVVjbUZ1YzJadmNtMHVjSEp2ZEc5MGVYQmxMbDkwY21GdWMyWnZjbTBnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCallpaHVaWGNnUlZKU1gwMUZWRWhQUkY5T1QxUmZTVTFRVEVWTlJVNVVSVVFvSjE5MGNtRnVjMlp2Y20wb0tTY3BLVHRjYm4wN1hHNWNibFJ5WVc1elptOXliUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnZG1GeUlIUnpJRDBnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVN1hHNGdJSFJ6TG5keWFYUmxZMklnUFNCallqdGNiaUFnZEhNdWQzSnBkR1ZqYUhWdWF5QTlJR05vZFc1ck8xeHVJQ0IwY3k1M2NtbDBaV1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWM3WEc1Y2JpQWdhV1lnS0NGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IyWVhJZ2NuTWdQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQWdJR2xtSUNoMGN5NXVaV1ZrVkhKaGJuTm1iM0p0SUh4OElISnpMbTVsWldSU1pXRmtZV0pzWlNCOGZDQnljeTVzWlc1bmRHZ2dQQ0J5Y3k1b2FXZG9WMkYwWlhKTllYSnJLU0IwYUdsekxsOXlaV0ZrS0hKekxtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dUlDQjlYRzU5T3lBdkx5QkViMlZ6YmlkMElHMWhkSFJsY2lCM2FHRjBJSFJvWlNCaGNtZHpJR0Z5WlNCb1pYSmxMbHh1THk4Z1gzUnlZVzV6Wm05eWJTQmtiMlZ6SUdGc2JDQjBhR1VnZDI5eWF5NWNiaTh2SUZSb1lYUWdkMlVnWjI5MElHaGxjbVVnYldWaGJuTWdkR2hoZENCMGFHVWdjbVZoWkdGaWJHVWdjMmxrWlNCM1lXNTBjeUJ0YjNKbElHUmhkR0V1WEc1Y2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzVmY21WaFpDQTlJR1oxYm1OMGFXOXVJQ2h1S1NCN1hHNGdJSFpoY2lCMGN5QTlJSFJvYVhNdVgzUnlZVzV6Wm05eWJWTjBZWFJsTzF4dVhHNGdJR2xtSUNoMGN5NTNjbWwwWldOb2RXNXJJQ0U5UFNCdWRXeHNJQ1ltSUNGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IwY3k1MGNtRnVjMlp2Y20xcGJtY2dQU0IwY25WbE8xeHVYRzRnSUNBZ2RHaHBjeTVmZEhKaGJuTm1iM0p0S0hSekxuZHlhWFJsWTJoMWJtc3NJSFJ6TG5keWFYUmxaVzVqYjJScGJtY3NJSFJ6TG1GbWRHVnlWSEpoYm5ObWIzSnRLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCdFlYSnJJSFJvWVhRZ2QyVWdibVZsWkNCaElIUnlZVzV6Wm05eWJTd2djMjhnZEdoaGRDQmhibmtnWkdGMFlTQjBhR0YwSUdOdmJXVnpJR2x1WEc0Z0lDQWdMeThnZDJsc2JDQm5aWFFnY0hKdlkyVnpjMlZrTENCdWIzY2dkR2hoZENCM1pTZDJaU0JoYzJ0bFpDQm1iM0lnYVhRdVhHNGdJQ0FnZEhNdWJtVmxaRlJ5WVc1elptOXliU0E5SUhSeWRXVTdYRzRnSUgxY2JuMDdYRzVjYmxSeVlXNXpabTl5YlM1d2NtOTBiM1I1Y0dVdVgyUmxjM1J5YjNrZ1BTQm1kVzVqZEdsdmJpQW9aWEp5TENCallpa2dlMXh1SUNCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTGw5a1pYTjBjbTk1TG1OaGJHd29kR2hwY3l3Z1pYSnlMQ0JtZFc1amRHbHZiaUFvWlhKeU1pa2dlMXh1SUNBZ0lHTmlLR1Z5Y2pJcE8xeHVJQ0I5S1R0Y2JuMDdYRzVjYm1aMWJtTjBhVzl1SUdSdmJtVW9jM1J5WldGdExDQmxjaXdnWkdGMFlTa2dlMXh1SUNCcFppQW9aWElwSUhKbGRIVnliaUJ6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUdsbUlDaGtZWFJoSUNFOUlHNTFiR3dwSUM4dklITnBibWRzWlNCbGNYVmhiSE1nWTJobFkyc2dabTl5SUdKdmRHZ2dZRzUxYkd4Z0lHRnVaQ0JnZFc1a1pXWnBibVZrWUZ4dUlDQWdJSE4wY21WaGJTNXdkWE5vS0dSaGRHRXBPeUF2THlCVVQwUlBLRUp5YVdSblpVRlNLVG9nVjNKcGRHVWdZU0IwWlhOMElHWnZjaUIwYUdWelpTQjBkMjhnWlhKeWIzSWdZMkZ6WlhOY2JpQWdMeThnYVdZZ2RHaGxjbVVuY3lCdWIzUm9hVzVuSUdsdUlIUm9aU0IzY21sMFpTQmlkV1ptWlhJc0lIUm9aVzRnZEdoaGRDQnRaV0Z1YzF4dUlDQXZMeUIwYUdGMElHNXZkR2hwYm1jZ2JXOXlaU0IzYVd4c0lHVjJaWElnWW1VZ2NISnZkbWxrWldSY2JseHVJQ0JwWmlBb2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxMbXhsYm1kMGFDa2dkR2h5YjNjZ2JtVjNJRVZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ2dwTzF4dUlDQnBaaUFvYzNSeVpXRnRMbDkwY21GdWMyWnZjbTFUZEdGMFpTNTBjbUZ1YzJadmNtMXBibWNwSUhSb2NtOTNJRzVsZHlCRlVsSmZWRkpCVGxOR1QxSk5YMEZNVWtWQlJGbGZWRkpCVGxOR1QxSk5TVTVIS0NrN1hHNGdJSEpsZEhWeWJpQnpkSEpsWVcwdWNIVnphQ2h1ZFd4c0tUdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcbi8vIEEgYml0IHNpbXBsZXIgdGhhbiByZWFkYWJsZSBzdHJlYW1zLlxcbi8vIEltcGxlbWVudCBhbiBhc3luYyAuX3dyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpLCBhbmQgaXQnbGwgaGFuZGxlIGFsbFxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XFxuLyogPHJlcGxhY2VtZW50PiAqL1xcblxcbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHRoaXMuY2h1bmsgPSBjaHVuaztcXG4gIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZztcXG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcXG4gIHRoaXMubmV4dCA9IG51bGw7XFxufSAvLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3RcXG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cXG5cXG5cXG5mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KHN0YXRlKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdGhpcy5uZXh0ID0gbnVsbDtcXG4gIHRoaXMuZW50cnkgPSBudWxsO1xcblxcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XFxuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XFxuICB9O1xcbn1cXG4vKiA8L3JlcGxhY2VtZW50PiAqL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIER1cGxleDtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5Xcml0YWJsZS5Xcml0YWJsZVN0YXRlID0gV3JpdGFibGVTdGF0ZTtcXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBpbnRlcm5hbFV0aWwgPSB7XFxuICBkZXByZWNhdGU6IF9fd2VicGFja19yZXF1aXJlX18oLyohIHV0aWwtZGVwcmVjYXRlICovIFxcXCIuL25vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzXFxcIilcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcblxcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XFxuXFxuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcXG59XFxuXFxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcXG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xcbn1cXG5cXG52YXIgZGVzdHJveUltcGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qc1xcXCIpO1xcblxcbnZhciBfcmVxdWlyZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcXFwiKSxcXG4gICAgZ2V0SGlnaFdhdGVyTWFyayA9IF9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcms7XFxuXFxudmFyIF9yZXF1aXJlJGNvZGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLFxcbiAgICBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXFxuICAgIEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELFxcbiAgICBFUlJfU1RSRUFNX05VTExfVkFMVUVTID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxcXG4gICAgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxcXG4gICAgRVJSX1VOS05PV05fRU5DT0RJTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORztcXG5cXG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcXG5cXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpKFdyaXRhYmxlLCBTdHJlYW0pO1xcblxcbmZ1bmN0aW9uIG5vcCgpIHt9XFxuXFxuZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0sXFxuICAvLyBlLmcuIG9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlIHZzLiBvcHRpb25zLndyaXRhYmxlT2JqZWN0TW9kZSwgZXRjLlxcblxcbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDsgLy8gb2JqZWN0IHN0cmVhbSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoaXMgc3RyZWFtXFxuICAvLyBjb250YWlucyBidWZmZXJzIG9yIG9iamVjdHMuXFxuXFxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy53cml0YWJsZU9iamVjdE1vZGU7IC8vIHRoZSBwb2ludCBhdCB3aGljaCB3cml0ZSgpIHN0YXJ0cyByZXR1cm5pbmcgZmFsc2VcXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgdGhhdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIGlmXFxuICAvLyB0aGUgZW50aXJlIGJ1ZmZlciBpcyBub3QgZmx1c2hlZCBpbW1lZGlhdGVseSBvbiB3cml0ZSgpXFxuXFxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSBnZXRIaWdoV2F0ZXJNYXJrKHRoaXMsIG9wdGlvbnMsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCBpc0R1cGxleCk7IC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcXG5cXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTsgLy8gZHJhaW4gZXZlbnQgZmxhZy5cXG5cXG4gIHRoaXMubmVlZERyYWluID0gZmFsc2U7IC8vIGF0IHRoZSBzdGFydCBvZiBjYWxsaW5nIGVuZCgpXFxuXFxuICB0aGlzLmVuZGluZyA9IGZhbHNlOyAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXFxuXFxuICB0aGlzLmVuZGVkID0gZmFsc2U7IC8vIHdoZW4gJ2ZpbmlzaCcgaXMgZW1pdHRlZFxcblxcbiAgdGhpcy5maW5pc2hlZCA9IGZhbHNlOyAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcXG5cXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7IC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xcbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXFxuICAvLyBoYW5kbGluZyBhdCBhIGxvd2VyIGxldmVsLlxcblxcbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTsgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxcbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxcblxcbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7IC8vIG5vdCBhbiBhY3R1YWwgYnVmZmVyIHdlIGtlZXAgdHJhY2sgb2YsIGJ1dCBhIG1lYXN1cmVtZW50XFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXFxuICAvLyBzb2NrZXQgb3IgZmlsZS5cXG5cXG4gIHRoaXMubGVuZ3RoID0gMDsgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cXG5cXG4gIHRoaXMud3JpdGluZyA9IGZhbHNlOyAvLyB3aGVuIHRydWUgYWxsIHdyaXRlcyB3aWxsIGJlIGJ1ZmZlcmVkIHVudGlsIC51bmNvcmsoKSBjYWxsXFxuXFxuICB0aGlzLmNvcmtlZCA9IDA7IC8vIGEgZmxhZyB0byBiZSBhYmxlIHRvIHRlbGwgaWYgdGhlIG9ud3JpdGUgY2IgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LFxcbiAgLy8gb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZSBhbnlcXG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFxcXCJsYXRlclxcXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXFxuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGUgY2FsbC5cXG5cXG4gIHRoaXMuc3luYyA9IHRydWU7IC8vIGEgZmxhZyB0byBrbm93IGlmIHdlJ3JlIHByb2Nlc3NpbmcgcHJldmlvdXNseSBidWZmZXJlZCBpdGVtcywgd2hpY2hcXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cXG5cXG4gIHRoaXMuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlOyAvLyB0aGUgY2FsbGJhY2sgdGhhdCdzIHBhc3NlZCB0byBfd3JpdGUoY2h1bmssY2IpXFxuXFxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcXG4gICAgb253cml0ZShzdHJlYW0sIGVyKTtcXG4gIH07IC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxcblxcblxcbiAgdGhpcy53cml0ZWNiID0gbnVsbDsgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxcblxcbiAgdGhpcy53cml0ZWxlbiA9IDA7XFxuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XFxuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsOyAvLyBudW1iZXIgb2YgcGVuZGluZyB1c2VyLXN1cHBsaWVkIHdyaXRlIGNhbGxiYWNrc1xcbiAgLy8gdGhpcyBtdXN0IGJlIDAgYmVmb3JlICdmaW5pc2gnIGNhbiBiZSBlbWl0dGVkXFxuXFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7IC8vIGVtaXQgcHJlZmluaXNoIGlmIHRoZSBvbmx5IHRoaW5nIHdlJ3JlIHdhaXRpbmcgZm9yIGlzIF93cml0ZSBjYnNcXG4gIC8vIFRoaXMgaXMgcmVsZXZhbnQgZm9yIHN5bmNocm9ub3VzIFRyYW5zZm9ybSBzdHJlYW1zXFxuXFxuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7IC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXFxuXFxuICB0aGlzLmVycm9yRW1pdHRlZCA9IGZhbHNlOyAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxcblxcbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7IC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZmluaXNoJyAoYW5kIHBvdGVudGlhbGx5ICdlbmQnKVxcblxcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTsgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcXG5cXG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwOyAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXFxuICAvLyBvbmUgYWxsb2NhdGVkIGFuZCBmcmVlIHRvIHVzZSwgYW5kIHdlIG1haW50YWluIGF0IG1vc3QgdHdvXFxuXFxuICB0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHRoaXMpO1xcbn1cXG5cXG5Xcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXIgPSBmdW5jdGlvbiBnZXRCdWZmZXIoKSB7XFxuICB2YXIgY3VycmVudCA9IHRoaXMuYnVmZmVyZWRSZXF1ZXN0O1xcbiAgdmFyIG91dCA9IFtdO1xcblxcbiAgd2hpbGUgKGN1cnJlbnQpIHtcXG4gICAgb3V0LnB1c2goY3VycmVudCk7XFxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XFxuICB9XFxuXFxuICByZXR1cm4gb3V0O1xcbn07XFxuXFxuKGZ1bmN0aW9uICgpIHtcXG4gIHRyeSB7XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSwgJ2J1ZmZlcicsIHtcXG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gd3JpdGFibGVTdGF0ZUJ1ZmZlckdldHRlcigpIHtcXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1ZmZlcigpO1xcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxcbiAgICB9KTtcXG4gIH0gY2F0Y2ggKF8pIHt9XFxufSkoKTsgLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXFxuLy8gd2hvc2UgcHJvdG90eXBlIGNoYWluIG9ubHkgcG9pbnRzIHRvIFJlYWRhYmxlLlxcblxcblxcbnZhciByZWFsSGFzSW5zdGFuY2U7XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgcmVhbEhhc0luc3RhbmNlID0gRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV07XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUsIFN5bWJvbC5oYXNJbnN0YW5jZSwge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUob2JqZWN0KSB7XFxuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xcbiAgICAgIGlmICh0aGlzICE9PSBXcml0YWJsZSkgcmV0dXJuIGZhbHNlO1xcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcXG4gICAgfVxcbiAgfSk7XFxufSBlbHNlIHtcXG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIHJlYWxIYXNJbnN0YW5jZShvYmplY3QpIHtcXG4gICAgcmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIHRoaXM7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7IC8vIFdyaXRhYmxlIGN0b3IgaXMgYXBwbGllZCB0byBEdXBsZXhlcywgdG9vLlxcbiAgLy8gYHJlYWxIYXNJbnN0YW5jZWAgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdXNpbmcgcGxhaW4gYGluc3RhbmNlb2ZgXFxuICAvLyB3b3VsZCByZXR1cm4gZmFsc2UsIGFzIG5vIGBfd3JpdGFibGVTdGF0ZWAgcHJvcGVydHkgaXMgYXR0YWNoZWQuXFxuICAvLyBUcnlpbmcgdG8gdXNlIHRoZSBjdXN0b20gYGluc3RhbmNlb2ZgIGZvciBXcml0YWJsZSBoZXJlIHdpbGwgYWxzbyBicmVhayB0aGVcXG4gIC8vIE5vZGUuanMgTGF6eVRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaGFzIGEgbm9uLXRyaXZpYWwgZ2V0dGVyIGZvclxcbiAgLy8gYF93cml0YWJsZVN0YXRlYCB0aGF0IHdvdWxkIGxlYWQgdG8gaW5maW5pdGUgcmVjdXJzaW9uLlxcbiAgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxcbiAgLy8gdGhlIFdyaXRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XFxuXFxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xcbiAgaWYgKCFpc0R1cGxleCAmJiAhcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsIHRoaXMpKSByZXR1cm4gbmV3IFdyaXRhYmxlKG9wdGlvbnMpO1xcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTsgLy8gbGVnYWN5LlxcblxcbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLndyaXRldiA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGV2ID0gb3B0aW9ucy53cml0ZXY7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn0gLy8gT3RoZXJ3aXNlIHBlb3BsZSBjYW4gcGlwZSBXcml0YWJsZSBzdHJlYW1zLCB3aGljaCBpcyBqdXN0IHdyb25nLlxcblxcblxcbldyaXRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKCkge1xcbiAgZXJyb3JPckRlc3Ryb3kodGhpcywgbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUoKSk7XFxufTtcXG5cXG5mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKHN0cmVhbSwgY2IpIHtcXG4gIHZhciBlciA9IG5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCgpOyAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxcblxcbiAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxufSAvLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXFxuLy8gbW9kZSB0aGUgc3RyZWFtIGlzIGluLiBDdXJyZW50bHkgdGhpcyBtZWFucyB0aGF0IGBudWxsYCBpcyBuZXZlciBhY2NlcHRlZFxcbi8vIGFuZCB1bmRlZmluZWQvbm9uLXN0cmluZyB2YWx1ZXMgYXJlIG9ubHkgYWxsb3dlZCBpbiBvYmplY3QgbW9kZS5cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xcbiAgdmFyIGVyO1xcblxcbiAgaWYgKGNodW5rID09PSBudWxsKSB7XFxuICAgIGVyID0gbmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVMoKTtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBlciA9IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnY2h1bmsnLCBbJ3N0cmluZycsICdCdWZmZXInXSwgY2h1bmspO1xcbiAgfVxcblxcbiAgaWYgKGVyKSB7XFxuICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcXG4gIHZhciByZXQgPSBmYWxzZTtcXG5cXG4gIHZhciBpc0J1ZiA9ICFzdGF0ZS5vYmplY3RNb2RlICYmIF9pc1VpbnQ4QXJyYXkoY2h1bmspO1xcblxcbiAgaWYgKGlzQnVmICYmICFCdWZmZXIuaXNCdWZmZXIoY2h1bmspKSB7XFxuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChpc0J1ZikgZW5jb2RpbmcgPSAnYnVmZmVyJztlbHNlIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgY2IgPSBub3A7XFxuICBpZiAoc3RhdGUuZW5kaW5nKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrO1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLnVuY29yayA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZC0tO1xcbiAgICBpZiAoIXN0YXRlLndyaXRpbmcgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG59O1xcblxcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcXG4gIC8vIG5vZGU6OlBhcnNlRW5jb2RpbmcoKSByZXF1aXJlcyBsb3dlciBjYXNlLlxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcXG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlbmNvZGluZyk7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XFxuICB9XFxufSk7XFxuXFxuZnVuY3Rpb24gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZykge1xcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmIHN0YXRlLmRlY29kZVN0cmluZ3MgIT09IGZhbHNlICYmIHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcXG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGNodW5rO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pOyAvLyBpZiB3ZSdyZSBhbHJlYWR5IHdyaXRpbmcgc29tZXRoaW5nLCB0aGVuIGp1c3QgcHV0IHRoaXNcXG4vLyBpbiB0aGUgcXVldWUsIGFuZCB3YWl0IG91ciB0dXJuLiAgT3RoZXJ3aXNlLCBjYWxsIF93cml0ZVxcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXFxuXFxuZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihzdHJlYW0sIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgaWYgKCFpc0J1Zikge1xcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcXG5cXG4gICAgaWYgKGNodW5rICE9PSBuZXdDaHVuaykge1xcbiAgICAgIGlzQnVmID0gdHJ1ZTtcXG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xcbiAgICAgIGNodW5rID0gbmV3Q2h1bms7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gIHN0YXRlLmxlbmd0aCArPSBsZW47XFxuICB2YXIgcmV0ID0gc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyazsgLy8gd2UgbXVzdCBlbnN1cmUgdGhhdCBwcmV2aW91cyBuZWVkRHJhaW4gd2lsbCBub3QgYmUgcmVzZXQgdG8gZmFsc2UuXFxuXFxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcXG5cXG4gIGlmIChzdGF0ZS53cml0aW5nIHx8IHN0YXRlLmNvcmtlZCkge1xcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSB7XFxuICAgICAgY2h1bms6IGNodW5rLFxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcXG4gICAgICBpc0J1ZjogaXNCdWYsXFxuICAgICAgY2FsbGJhY2s6IGNiLFxcbiAgICAgIG5leHQ6IG51bGxcXG4gICAgfTtcXG5cXG4gICAgaWYgKGxhc3QpIHtcXG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIH1cXG5cXG4gICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQgKz0gMTtcXG4gIH0gZWxzZSB7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuXFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBzdGF0ZS53cml0ZWxlbiA9IGxlbjtcXG4gIHN0YXRlLndyaXRlY2IgPSBjYjtcXG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xcbiAgc3RhdGUuc3luYyA9IHRydWU7XFxuICBpZiAoc3RhdGUuZGVzdHJveWVkKSBzdGF0ZS5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgnd3JpdGUnKSk7ZWxzZSBpZiAod3JpdGV2KSBzdHJlYW0uX3dyaXRldihjaHVuaywgc3RhdGUub253cml0ZSk7ZWxzZSBzdHJlYW0uX3dyaXRlKGNodW5rLCBlbmNvZGluZywgc3RhdGUub253cml0ZSk7XFxuICBzdGF0ZS5zeW5jID0gZmFsc2U7XFxufVxcblxcbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcXG4gIC0tc3RhdGUucGVuZGluZ2NiO1xcblxcbiAgaWYgKHN5bmMpIHtcXG4gICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGlmIHdlIGFyZSBiZWluZyBjYWxsZWQgc3luY2hyb25vdXNseVxcbiAgICAvLyB0byBhdm9pZCBwaWxpbmcgdXAgdGhpbmdzIG9uIHRoZSBzdGFja1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBhbmQgaXQgd2lsbCBhbHdheXMgaGFwcGVuXFxuICAgIC8vIGFmdGVyIGVycm9yXFxuXFxuICAgIHByb2Nlc3MubmV4dFRpY2soZmluaXNoTWF5YmUsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICB9IGVsc2Uge1xcbiAgICAvLyB0aGUgY2FsbGVyIGV4cGVjdCB0aGlzIHRvIGhhcHBlbiBiZWZvcmUgaWZcXG4gICAgLy8gaXQgaXMgYXN5bmNcXG4gICAgY2IoZXIpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBidXQgZmluaXNoIG11c3RcXG4gICAgLy8gYWx3YXlzIGZvbGxvdyBlcnJvclxcblxcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XFxuICBzdGF0ZS53cml0aW5nID0gZmFsc2U7XFxuICBzdGF0ZS53cml0ZWNiID0gbnVsbDtcXG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcXG4gIHN0YXRlLndyaXRlbGVuID0gMDtcXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZShzdHJlYW0sIGVyKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XFxuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XFxuICB2YXIgY2IgPSBzdGF0ZS53cml0ZWNiO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpO1xcbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcXG4gIGlmIChlcikgb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYik7ZWxzZSB7XFxuICAgIC8vIENoZWNrIGlmIHdlJ3JlIGFjdHVhbGx5IHJlYWR5IHRvIGZpbmlzaCwgYnV0IGRvbid0IGVtaXQgeWV0XFxuICAgIHZhciBmaW5pc2hlZCA9IG5lZWRGaW5pc2goc3RhdGUpIHx8IHN0cmVhbS5kZXN0cm95ZWQ7XFxuXFxuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcXG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBpZiAoc3luYykge1xcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soYWZ0ZXJXcml0ZSwgc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWZ0ZXJXcml0ZShzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpIHtcXG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcXG4gIHN0YXRlLnBlbmRpbmdjYi0tO1xcbiAgY2IoKTtcXG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbn0gLy8gTXVzdCBmb3JjZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgb24gbmV4dFRpY2ssIHNvIHRoYXQgd2UgZG9uJ3RcXG4vLyBlbWl0ICdkcmFpbicgYmVmb3JlIHRoZSB3cml0ZSgpIGNvbnN1bWVyIGdldHMgdGhlICdmYWxzZScgcmV0dXJuXFxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cXG5cXG5cXG5mdW5jdGlvbiBvbndyaXRlRHJhaW4oc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5uZWVkRHJhaW4pIHtcXG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XFxuICAgIHN0cmVhbS5lbWl0KCdkcmFpbicpO1xcbiAgfVxcbn0gLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcXG5cXG5cXG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gdHJ1ZTtcXG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcXG5cXG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XFxuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcXG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcXG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XFxuICAgIHZhciBjb3VudCA9IDA7XFxuICAgIHZhciBhbGxCdWZmZXJzID0gdHJ1ZTtcXG5cXG4gICAgd2hpbGUgKGVudHJ5KSB7XFxuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xcbiAgICAgIGlmICghZW50cnkuaXNCdWYpIGFsbEJ1ZmZlcnMgPSBmYWxzZTtcXG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICAgICAgY291bnQgKz0gMTtcXG4gICAgfVxcblxcbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTsgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXFxuXFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG5cXG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XFxuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gaG9sZGVyLm5leHQ7XFxuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXFxuICAgIHdoaWxlIChlbnRyeSkge1xcbiAgICAgIHZhciBjaHVuayA9IGVudHJ5LmNodW5rO1xcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICAgIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcXG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tOyAvLyBpZiB3ZSBkaWRuJ3QgY2FsbCB0aGUgb253cml0ZSBpbW1lZGlhdGVseSwgdGhlblxcbiAgICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0IGRvZXMuXFxuICAgICAgLy8gYWxzbywgdGhhdCBtZWFucyB0aGF0IHRoZSBjaHVuayBhbmQgY2IgYXJlIGN1cnJlbnRseVxcbiAgICAgIC8vIGJlaW5nIHByb2Nlc3NlZCwgc28gbW92ZSB0aGUgYnVmZmVyIGNvdW50ZXIgcGFzdCB0aGVtLlxcblxcbiAgICAgIGlmIChzdGF0ZS53cml0aW5nKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGVudHJ5ID09PSBudWxsKSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG4gIH1cXG5cXG4gIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IGVudHJ5O1xcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIGNiKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3dyaXRlKCknKSk7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGNodW5rO1xcbiAgICBjaHVuayA9IG51bGw7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7IC8vIC5lbmQoKSBmdWxseSB1bmNvcmtzXFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZCA9IDE7XFxuICAgIHRoaXMudW5jb3JrKCk7XFxuICB9IC8vIGlnbm9yZSB1bm5lY2Vzc2FyeSBlbmQoKSBjYWxscy5cXG5cXG5cXG4gIGlmICghc3RhdGUuZW5kaW5nKSBlbmRXcml0YWJsZSh0aGlzLCBzdGF0ZSwgY2IpO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVMZW5ndGgnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aDtcXG4gIH1cXG59KTtcXG5cXG5mdW5jdGlvbiBuZWVkRmluaXNoKHN0YXRlKSB7XFxuICByZXR1cm4gc3RhdGUuZW5kaW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPT09IG51bGwgJiYgIXN0YXRlLmZpbmlzaGVkICYmICFzdGF0ZS53cml0aW5nO1xcbn1cXG5cXG5mdW5jdGlvbiBjYWxsRmluYWwoc3RyZWFtLCBzdGF0ZSkge1xcbiAgc3RyZWFtLl9maW5hbChmdW5jdGlvbiAoZXJyKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xcblxcbiAgICBpZiAoZXJyKSB7XFxuICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcnIpO1xcbiAgICB9XFxuXFxuICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLmVtaXQoJ3ByZWZpbmlzaCcpO1xcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBwcmVmaW5pc2goc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKCFzdGF0ZS5wcmVmaW5pc2hlZCAmJiAhc3RhdGUuZmluYWxDYWxsZWQpIHtcXG4gICAgaWYgKHR5cGVvZiBzdHJlYW0uX2ZpbmFsID09PSAnZnVuY3Rpb24nICYmICFzdGF0ZS5kZXN0cm95ZWQpIHtcXG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcXG4gICAgICBzdGF0ZS5maW5hbENhbGxlZCA9IHRydWU7XFxuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xcbiAgdmFyIG5lZWQgPSBuZWVkRmluaXNoKHN0YXRlKTtcXG5cXG4gIGlmIChuZWVkKSB7XFxuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcXG5cXG4gICAgaWYgKHN0YXRlLnBlbmRpbmdjYiA9PT0gMCkge1xcbiAgICAgIHN0YXRlLmZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XFxuXFxuICAgICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XFxuICAgICAgICAvLyBJbiBjYXNlIG9mIGR1cGxleCBzdHJlYW1zIHdlIG5lZWQgYSB3YXkgdG8gZGV0ZWN0XFxuICAgICAgICAvLyBpZiB0aGUgcmVhZGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxcbiAgICAgICAgdmFyIHJTdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gICAgICAgIGlmICghclN0YXRlIHx8IHJTdGF0ZS5hdXRvRGVzdHJveSAmJiByU3RhdGUuZW5kRW1pdHRlZCkge1xcbiAgICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG5lZWQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFdyaXRhYmxlKHN0cmVhbSwgc3RhdGUsIGNiKSB7XFxuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxuXFxuICBpZiAoY2IpIHtcXG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwcm9jZXNzLm5leHRUaWNrKGNiKTtlbHNlIHN0cmVhbS5vbmNlKCdmaW5pc2gnLCBjYik7XFxuICB9XFxuXFxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuICBzdHJlYW0ud3JpdGFibGUgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gb25Db3JrZWRGaW5pc2goY29ya1JlcSwgc3RhdGUsIGVycikge1xcbiAgdmFyIGVudHJ5ID0gY29ya1JlcS5lbnRyeTtcXG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xcblxcbiAgd2hpbGUgKGVudHJ5KSB7XFxuICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcXG4gICAgY2IoZXJyKTtcXG4gICAgZW50cnkgPSBlbnRyeS5uZXh0O1xcbiAgfSAvLyByZXVzZSB0aGUgZnJlZSBjb3JrUmVxLlxcblxcblxcbiAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxcbiAgICBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG5Xcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XFxuV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcXG4gIGNiKGVycik7XFxufTtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5M2NtbDBZV0pzWlM1cWN6ODBabUZpSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNaMFZCUVdkQ08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN08wRkJSVUVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSEZKUVVFeVFqdEJRVU5vUkRzN08wRkJSMEVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk96dEJRVVUzUWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExDdElRVUUwUWpzN1FVRkZkRVFzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMREpJUVVFd1FqdEJRVU5xUkRzN1FVRkZRU3h4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXhuUjBGQlZ6dEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQkxHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3hDT3p0QlFVVkJPMEZCUTBFc2NVSkJRWEZDTEcxQ1FVRlBMRU5CUVVNc01rZEJRV3RDTzBGQlF5OURMREJDUVVFd1FqdEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDVSVUZCZVVVN1FVRkRla1U3TzBGQlJVRTdRVUZEUVN4clJrRkJhMFk3UVVGRGJFWTdRVUZEUVRzN1FVRkZRU3d3UmtGQk1FWTdPMEZCUlRGR0xESkNRVUV5UWpzN1FVRkZNMElzZVVKQlFYbENPenRCUVVWNlFpeHpRa0ZCYzBJN08wRkJSWFJDTEhGQ1FVRnhRanM3UVVGRmNrSXNkMEpCUVhkQ096dEJRVVY0UWl4NVFrRkJlVUk3UVVGRGVrSTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTERKRVFVRXlSRHRCUVVNelJEdEJRVU5CT3p0QlFVVkJMR3RDUVVGclFqczdRVUZGYkVJc2RVSkJRWFZDT3p0QlFVVjJRaXhyUWtGQmEwSTdRVUZEYkVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRanRCUVVOdVFqdEJRVU5CT3p0QlFVVkJMR2REUVVGblF6czdRVUZGYUVNN1FVRkRRVHRCUVVOQkxFbEJRVWs3T3p0QlFVZEtMSE5DUVVGelFqczdRVUZGZEVJN1FVRkRRVHRCUVVOQkxHdERRVUZyUXp0QlFVTnNRenM3UVVGRlFTeHhRa0ZCY1VJN1FVRkRja0k3TzBGQlJVRXNNa0pCUVRKQ096dEJRVVV6UWl3MFFrRkJORUk3TzBGQlJUVkNMQ3REUVVFclF6czdRVUZGTDBNc01rTkJRVEpET3p0QlFVVXpReXhuUTBGQlowTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUUxFdEJRVXM3UVVGRFRDeEhRVUZITzBGQlEwZ3NRMEZCUXl4SlFVRkpPMEZCUTB3N096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2NVSkJRWEZDTEcxQ1FVRlBMRU5CUVVNc01rZEJRV3RDTEVWQlFVVTdRVUZEYWtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUZRVUZ0UlRzN1FVRkZia1U3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXpzN08wRkJSMFE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc05FTkJRVFJET3p0QlFVVTFRenRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xEUVVGcFF6dEJRVU5xUXp0QlFVTkJMRFJEUVVFMFF6dEJRVU0xUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3dyUTBGQkswTTdPMEZCUlM5RE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNSVUZCZDBVc2MwUkJRWE5FTzBGQlF6bElPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cyUWtGQk5rSTdRVUZETjBJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzSzBKQlFTdENPMEZCUXk5Q096dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RU8wRkJRM0JFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN08wRkJSMFE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc01FVkJRVEJGTzBGQlF6RkZPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF6dEJRVU51UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTEhsRlFVRjVSVHM3UVVGRmVrVTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRFpEUVVFMlF6dEJRVU0zUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96czdRVUZIUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRVVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbkp2ZDNObGNtbG1lUzF6YVdkdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZDNKcGRHRmliR1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JpOHZJRUVnWW1sMElITnBiWEJzWlhJZ2RHaGhiaUJ5WldGa1lXSnNaU0J6ZEhKbFlXMXpMbHh1THk4Z1NXMXdiR1Z0Wlc1MElHRnVJR0Z6ZVc1aklDNWZkM0pwZEdVb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa3NJR0Z1WkNCcGRDZHNiQ0JvWVc1a2JHVWdZV3hzWEc0dkx5QjBhR1VnWkhKaGFXNGdaWFpsYm5RZ1pXMXBjM05wYjI0Z1lXNWtJR0oxWm1abGNtbHVaeTVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JYY21sMFlXSnNaVHRjYmk4cUlEeHlaWEJzWVdObGJXVnVkRDRnS2k5Y2JseHVablZ1WTNScGIyNGdWM0pwZEdWU1pYRW9ZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmpZaWtnZTF4dUlDQjBhR2x6TG1Ob2RXNXJJRDBnWTJoMWJtczdYRzRnSUhSb2FYTXVaVzVqYjJScGJtY2dQU0JsYm1OdlpHbHVaenRjYmlBZ2RHaHBjeTVqWVd4c1ltRmpheUE5SUdOaU8xeHVJQ0IwYUdsekxtNWxlSFFnUFNCdWRXeHNPMXh1ZlNBdkx5QkpkQ0J6WldWdGN5QmhJR3hwYm10bFpDQnNhWE4wSUdKMWRDQnBkQ0JwY3lCdWIzUmNiaTh2SUhSb1pYSmxJSGRwYkd3Z1ltVWdiMjVzZVNBeUlHOW1JSFJvWlhObElHWnZjaUJsWVdOb0lITjBjbVZoYlZ4dVhHNWNibVoxYm1OMGFXOXVJRU52Y210bFpGSmxjWFZsYzNRb2MzUmhkR1VwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNCMGFHbHpMbTVsZUhRZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG1WdWRISjVJRDBnYm5Wc2JEdGNibHh1SUNCMGFHbHpMbVpwYm1semFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J2YmtOdmNtdGxaRVpwYm1semFDaGZkR2hwY3l3Z2MzUmhkR1VwTzF4dUlDQjlPMXh1ZlZ4dUx5b2dQQzl5WlhCc1lXTmxiV1Z1ZEQ0Z0tpOWNibHh1THlvOGNtVndiR0ZqWlcxbGJuUStLaTljYmx4dVhHNTJZWElnUkhWd2JHVjRPMXh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JsZHlhWFJoWW14bExsZHlhWFJoWW14bFUzUmhkR1VnUFNCWGNtbDBZV0pzWlZOMFlYUmxPMXh1THlvOGNtVndiR0ZqWlcxbGJuUStLaTljYmx4dWRtRnlJR2x1ZEdWeWJtRnNWWFJwYkNBOUlIdGNiaUFnWkdWd2NtVmpZWFJsT2lCeVpYRjFhWEpsS0NkMWRHbHNMV1JsY0hKbFkyRjBaU2NwWEc1OU8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JuWmhjaUJUZEhKbFlXMGdQU0J5WlhGMWFYSmxLQ2N1TDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSeVpXRnRKeWs3WEc0dktqd3ZjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5SnlrdVFuVm1abVZ5TzF4dVhHNTJZWElnVDNWeVZXbHVkRGhCY25KaGVTQTlJR2RzYjJKaGJDNVZhVzUwT0VGeWNtRjVJSHg4SUdaMWJtTjBhVzl1SUNncElIdDlPMXh1WEc1bWRXNWpkR2x2YmlCZmRXbHVkRGhCY25KaGVWUnZRblZtWm1WeUtHTm9kVzVyS1NCN1hHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdVpuSnZiU2hqYUhWdWF5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlGOXBjMVZwYm5RNFFYSnlZWGtvYjJKcUtTQjdYRzRnSUhKbGRIVnliaUJDZFdabVpYSXVhWE5DZFdabVpYSW9iMkpxS1NCOGZDQnZZbW9nYVc1emRHRnVZMlZ2WmlCUGRYSlZhVzUwT0VGeWNtRjVPMXh1ZlZ4dVhHNTJZWElnWkdWemRISnZlVWx0Y0d3Z1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZaR1Z6ZEhKdmVTY3BPMXh1WEc1MllYSWdYM0psY1hWcGNtVWdQU0J5WlhGMWFYSmxLQ2N1TDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSaGRHVW5LU3hjYmlBZ0lDQm5aWFJJYVdkb1YyRjBaWEpOWVhKcklEMGdYM0psY1hWcGNtVXVaMlYwU0dsbmFGZGhkR1Z5VFdGeWF6dGNibHh1ZG1GeUlGOXlaWEYxYVhKbEpHTnZaR1Z6SUQwZ2NtVnhkV2x5WlNnbkxpNHZaWEp5YjNKekp5a3VZMjlrWlhNc1hHNGdJQ0FnUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZTVTVXUVV4SlJGOUJVa2RmVkZsUVJTeGNiaUFnSUNCRlVsSmZUVVZVU0U5RVgwNVBWRjlKVFZCTVJVMUZUbFJGUkNBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOU5SVlJJVDBSZlRrOVVYMGxOVUV4RlRVVk9WRVZFTEZ4dUlDQWdJRVZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3lBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5eGNiaUFnSUNCRlVsSmZVMVJTUlVGTlgwTkJUazVQVkY5UVNWQkZJRDBnWDNKbGNYVnBjbVVrWTI5a1pYTXVSVkpTWDFOVVVrVkJUVjlEUVU1T1QxUmZVRWxRUlN4Y2JpQWdJQ0JGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOVRWRkpGUVUxZlJFVlRWRkpQV1VWRUxGeHVJQ0FnSUVWU1VsOVRWRkpGUVUxZlRsVk1URjlXUVV4VlJWTWdQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVTFSU1JVRk5YMDVWVEV4ZlZrRk1WVVZUTEZ4dUlDQWdJRVZTVWw5VFZGSkZRVTFmVjFKSlZFVmZRVVpVUlZKZlJVNUVJRDBnWDNKbGNYVnBjbVVrWTI5a1pYTXVSVkpTWDFOVVVrVkJUVjlYVWtsVVJWOUJSbFJGVWw5RlRrUXNYRzRnSUNBZ1JWSlNYMVZPUzA1UFYwNWZSVTVEVDBSSlRrY2dQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVlU1TFRrOVhUbDlGVGtOUFJFbE9SenRjYmx4dWRtRnlJR1Z5Y205eVQzSkVaWE4wY205NUlEMGdaR1Z6ZEhKdmVVbHRjR3d1WlhKeWIzSlBja1JsYzNSeWIzazdYRzVjYm5KbGNYVnBjbVVvSjJsdWFHVnlhWFJ6Snlrb1YzSnBkR0ZpYkdVc0lGTjBjbVZoYlNrN1hHNWNibVoxYm1OMGFXOXVJRzV2Y0NncElIdDlYRzVjYm1aMWJtTjBhVzl1SUZkeWFYUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2djM1J5WldGdExDQnBjMFIxY0d4bGVDa2dlMXh1SUNCRWRYQnNaWGdnUFNCRWRYQnNaWGdnZkh3Z2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE8xeHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUc2dMeThnUkhWd2JHVjRJSE4wY21WaGJYTWdZWEpsSUdKdmRHZ2djbVZoWkdGaWJHVWdZVzVrSUhkeWFYUmhZbXhsTENCaWRYUWdjMmhoY21WY2JpQWdMeThnZEdobElITmhiV1VnYjNCMGFXOXVjeUJ2WW1wbFkzUXVYRzRnSUM4dklFaHZkMlYyWlhJc0lITnZiV1VnWTJGelpYTWdjbVZ4ZFdseVpTQnpaWFIwYVc1bklHOXdkR2x2Ym5NZ2RHOGdaR2xtWm1WeVpXNTBYRzRnSUM4dklIWmhiSFZsY3lCbWIzSWdkR2hsSUhKbFlXUmhZbXhsSUdGdVpDQjBhR1VnZDNKcGRHRmliR1VnYzJsa1pYTWdiMllnZEdobElHUjFjR3hsZUNCemRISmxZVzBzWEc0Z0lDOHZJR1V1Wnk0Z2IzQjBhVzl1Y3k1eVpXRmtZV0pzWlU5aWFtVmpkRTF2WkdVZ2RuTXVJRzl3ZEdsdmJuTXVkM0pwZEdGaWJHVlBZbXBsWTNSTmIyUmxMQ0JsZEdNdVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGMwUjFjR3hsZUNBaFBUMGdKMkp2YjJ4bFlXNG5LU0JwYzBSMWNHeGxlQ0E5SUhOMGNtVmhiU0JwYm5OMFlXNWpaVzltSUVSMWNHeGxlRHNnTHk4Z2IySnFaV04wSUhOMGNtVmhiU0JtYkdGbklIUnZJR2x1WkdsallYUmxJSGRvWlhSb1pYSWdiM0lnYm05MElIUm9hWE1nYzNSeVpXRnRYRzRnSUM4dklHTnZiblJoYVc1eklHSjFabVpsY25NZ2IzSWdiMkpxWldOMGN5NWNibHh1SUNCMGFHbHpMbTlpYW1WamRFMXZaR1VnUFNBaElXOXdkR2x2Ym5NdWIySnFaV04wVFc5a1pUdGNiaUFnYVdZZ0tHbHpSSFZ3YkdWNEtTQjBhR2x6TG05aWFtVmpkRTF2WkdVZ1BTQjBhR2x6TG05aWFtVmpkRTF2WkdVZ2ZId2dJU0Z2Y0hScGIyNXpMbmR5YVhSaFlteGxUMkpxWldOMFRXOWtaVHNnTHk4Z2RHaGxJSEJ2YVc1MElHRjBJSGRvYVdOb0lIZHlhWFJsS0NrZ2MzUmhjblJ6SUhKbGRIVnlibWx1WnlCbVlXeHpaVnh1SUNBdkx5Qk9iM1JsT2lBd0lHbHpJR0VnZG1Gc2FXUWdkbUZzZFdVc0lHMWxZVzV6SUhSb1lYUWdkMlVnWVd4M1lYbHpJSEpsZEhWeWJpQm1ZV3h6WlNCcFpseHVJQ0F2THlCMGFHVWdaVzUwYVhKbElHSjFabVpsY2lCcGN5QnViM1FnWm14MWMyaGxaQ0JwYlcxbFpHbGhkR1ZzZVNCdmJpQjNjbWwwWlNncFhHNWNiaUFnZEdocGN5NW9hV2RvVjJGMFpYSk5ZWEpySUQwZ1oyVjBTR2xuYUZkaGRHVnlUV0Z5YXloMGFHbHpMQ0J2Y0hScGIyNXpMQ0FuZDNKcGRHRmliR1ZJYVdkb1YyRjBaWEpOWVhKckp5d2dhWE5FZFhCc1pYZ3BPeUF2THlCcFppQmZabWx1WVd3Z2FHRnpJR0psWlc0Z1kyRnNiR1ZrWEc1Y2JpQWdkR2hwY3k1bWFXNWhiRU5oYkd4bFpDQTlJR1poYkhObE95QXZMeUJrY21GcGJpQmxkbVZ1ZENCbWJHRm5MbHh1WEc0Z0lIUm9hWE11Ym1WbFpFUnlZV2x1SUQwZ1ptRnNjMlU3SUM4dklHRjBJSFJvWlNCemRHRnlkQ0J2WmlCallXeHNhVzVuSUdWdVpDZ3BYRzVjYmlBZ2RHaHBjeTVsYm1ScGJtY2dQU0JtWVd4elpUc2dMeThnZDJobGJpQmxibVFvS1NCb1lYTWdZbVZsYmlCallXeHNaV1FzSUdGdVpDQnlaWFIxY201bFpGeHVYRzRnSUhSb2FYTXVaVzVrWldRZ1BTQm1ZV3h6WlRzZ0x5OGdkMmhsYmlBblptbHVhWE5vSnlCcGN5QmxiV2wwZEdWa1hHNWNiaUFnZEdocGN5NW1hVzVwYzJobFpDQTlJR1poYkhObE95QXZMeUJvWVhNZ2FYUWdZbVZsYmlCa1pYTjBjbTk1WldSY2JseHVJQ0IwYUdsekxtUmxjM1J5YjNsbFpDQTlJR1poYkhObE95QXZMeUJ6YUc5MWJHUWdkMlVnWkdWamIyUmxJSE4wY21sdVozTWdhVzUwYnlCaWRXWm1aWEp6SUdKbFptOXlaU0J3WVhOemFXNW5JSFJ2SUY5M2NtbDBaVDljYmlBZ0x5OGdkR2hwY3lCcGN5Qm9aWEpsSUhOdklIUm9ZWFFnYzI5dFpTQnViMlJsTFdOdmNtVWdjM1J5WldGdGN5QmpZVzRnYjNCMGFXMXBlbVVnYzNSeWFXNW5YRzRnSUM4dklHaGhibVJzYVc1bklHRjBJR0VnYkc5M1pYSWdiR1YyWld3dVhHNWNiaUFnZG1GeUlHNXZSR1ZqYjJSbElEMGdiM0IwYVc5dWN5NWtaV052WkdWVGRISnBibWR6SUQwOVBTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1a1pXTnZaR1ZUZEhKcGJtZHpJRDBnSVc1dlJHVmpiMlJsT3lBdkx5QkRjbmx3ZEc4Z2FYTWdhMmx1WkNCdlppQnZiR1FnWVc1a0lHTnlkWE4wZVM0Z0lFaHBjM1J2Y21sallXeHNlU3dnYVhSeklHUmxabUYxYkhRZ2MzUnlhVzVuWEc0Z0lDOHZJR1Z1WTI5a2FXNW5JR2x6SUNkaWFXNWhjbmtuSUhOdklIZGxJR2hoZG1VZ2RHOGdiV0ZyWlNCMGFHbHpJR052Ym1acFozVnlZV0pzWlM1Y2JpQWdMeThnUlhabGNubDBhR2x1WnlCbGJITmxJR2x1SUhSb1pTQjFibWwyWlhKelpTQjFjMlZ6SUNkMWRHWTRKeXdnZEdodmRXZG9MbHh1WEc0Z0lIUm9hWE11WkdWbVlYVnNkRVZ1WTI5a2FXNW5JRDBnYjNCMGFXOXVjeTVrWldaaGRXeDBSVzVqYjJScGJtY2dmSHdnSjNWMFpqZ25PeUF2THlCdWIzUWdZVzRnWVdOMGRXRnNJR0oxWm1abGNpQjNaU0JyWldWd0lIUnlZV05ySUc5bUxDQmlkWFFnWVNCdFpXRnpkWEpsYldWdWRGeHVJQ0F2THlCdlppQm9iM2NnYlhWamFDQjNaU2R5WlNCM1lXbDBhVzVuSUhSdklHZGxkQ0J3ZFhOb1pXUWdkRzhnYzI5dFpTQjFibVJsY214NWFXNW5YRzRnSUM4dklITnZZMnRsZENCdmNpQm1hV3hsTGx4dVhHNGdJSFJvYVhNdWJHVnVaM1JvSUQwZ01Ec2dMeThnWVNCbWJHRm5JSFJ2SUhObFpTQjNhR1Z1SUhkbEozSmxJR2x1SUhSb1pTQnRhV1JrYkdVZ2IyWWdZU0IzY21sMFpTNWNibHh1SUNCMGFHbHpMbmR5YVhScGJtY2dQU0JtWVd4elpUc2dMeThnZDJobGJpQjBjblZsSUdGc2JDQjNjbWwwWlhNZ2QybHNiQ0JpWlNCaWRXWm1aWEpsWkNCMWJuUnBiQ0F1ZFc1amIzSnJLQ2tnWTJGc2JGeHVYRzRnSUhSb2FYTXVZMjl5YTJWa0lEMGdNRHNnTHk4Z1lTQm1iR0ZuSUhSdklHSmxJR0ZpYkdVZ2RHOGdkR1ZzYkNCcFppQjBhR1VnYjI1M2NtbDBaU0JqWWlCcGN5QmpZV3hzWldRZ2FXMXRaV1JwWVhSbGJIa3NYRzRnSUM4dklHOXlJRzl1SUdFZ2JHRjBaWElnZEdsamF5NGdJRmRsSUhObGRDQjBhR2x6SUhSdklIUnlkV1VnWVhRZ1ptbHljM1FzSUdKbFkyRjFjMlVnWVc1NVhHNGdJQzh2SUdGamRHbHZibk1nZEdoaGRDQnphRzkxYkdSdUozUWdhR0Z3Y0dWdUlIVnVkR2xzSUZ3aWJHRjBaWEpjSWlCemFHOTFiR1FnWjJWdVpYSmhiR3g1SUdGc2MyOWNiaUFnTHk4Z2JtOTBJR2hoY0hCbGJpQmlaV1p2Y21VZ2RHaGxJR1pwY25OMElIZHlhWFJsSUdOaGJHd3VYRzVjYmlBZ2RHaHBjeTV6ZVc1aklEMGdkSEoxWlRzZ0x5OGdZU0JtYkdGbklIUnZJR3R1YjNjZ2FXWWdkMlVuY21VZ2NISnZZMlZ6YzJsdVp5QndjbVYyYVc5MWMyeDVJR0oxWm1abGNtVmtJR2wwWlcxekxDQjNhR2xqYUZ4dUlDQXZMeUJ0WVhrZ1kyRnNiQ0IwYUdVZ1gzZHlhWFJsS0NrZ1kyRnNiR0poWTJzZ2FXNGdkR2hsSUhOaGJXVWdkR2xqYXl3Z2MyOGdkR2hoZENCM1pTQmtiMjRuZEZ4dUlDQXZMeUJsYm1RZ2RYQWdhVzRnWVc0Z2IzWmxjbXhoY0hCbFpDQnZibmR5YVhSbElITnBkSFZoZEdsdmJpNWNibHh1SUNCMGFHbHpMbUoxWm1abGNsQnliMk5sYzNOcGJtY2dQU0JtWVd4elpUc2dMeThnZEdobElHTmhiR3hpWVdOcklIUm9ZWFFuY3lCd1lYTnpaV1FnZEc4Z1gzZHlhWFJsS0dOb2RXNXJMR05pS1Z4dVhHNGdJSFJvYVhNdWIyNTNjbWwwWlNBOUlHWjFibU4wYVc5dUlDaGxjaWtnZTF4dUlDQWdJRzl1ZDNKcGRHVW9jM1J5WldGdExDQmxjaWs3WEc0Z0lIMDdJQzh2SUhSb1pTQmpZV3hzWW1GamF5QjBhR0YwSUhSb1pTQjFjMlZ5SUhOMWNIQnNhV1Z6SUhSdklIZHlhWFJsS0dOb2RXNXJMR1Z1WTI5a2FXNW5MR05pS1Z4dVhHNWNiaUFnZEdocGN5NTNjbWwwWldOaUlEMGdiblZzYkRzZ0x5OGdkR2hsSUdGdGIzVnVkQ0IwYUdGMElHbHpJR0psYVc1bklIZHlhWFIwWlc0Z2QyaGxiaUJmZDNKcGRHVWdhWE1nWTJGc2JHVmtMbHh1WEc0Z0lIUm9hWE11ZDNKcGRHVnNaVzRnUFNBd08xeHVJQ0IwYUdsekxtSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlHNTFiR3c3WEc0Z0lIUm9hWE11YkdGemRFSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlHNTFiR3c3SUM4dklHNTFiV0psY2lCdlppQndaVzVrYVc1bklIVnpaWEl0YzNWd2NHeHBaV1FnZDNKcGRHVWdZMkZzYkdKaFkydHpYRzRnSUM4dklIUm9hWE1nYlhWemRDQmlaU0F3SUdKbFptOXlaU0FuWm1sdWFYTm9KeUJqWVc0Z1ltVWdaVzFwZEhSbFpGeHVYRzRnSUhSb2FYTXVjR1Z1WkdsdVoyTmlJRDBnTURzZ0x5OGdaVzFwZENCd2NtVm1hVzVwYzJnZ2FXWWdkR2hsSUc5dWJIa2dkR2hwYm1jZ2QyVW5jbVVnZDJGcGRHbHVaeUJtYjNJZ2FYTWdYM2R5YVhSbElHTmljMXh1SUNBdkx5QlVhR2x6SUdseklISmxiR1YyWVc1MElHWnZjaUJ6ZVc1amFISnZibTkxY3lCVWNtRnVjMlp2Y20wZ2MzUnlaV0Z0YzF4dVhHNGdJSFJvYVhNdWNISmxabWx1YVhOb1pXUWdQU0JtWVd4elpUc2dMeThnVkhKMVpTQnBaaUIwYUdVZ1pYSnliM0lnZDJGeklHRnNjbVZoWkhrZ1pXMXBkSFJsWkNCaGJtUWdjMmh2ZFd4a0lHNXZkQ0JpWlNCMGFISnZkMjRnWVdkaGFXNWNibHh1SUNCMGFHbHpMbVZ5Y205eVJXMXBkSFJsWkNBOUlHWmhiSE5sT3lBdkx5QlRhRzkxYkdRZ1kyeHZjMlVnWW1VZ1pXMXBkSFJsWkNCdmJpQmtaWE4wY205NUxpQkVaV1poZFd4MGN5QjBieUIwY25WbExseHVYRzRnSUhSb2FYTXVaVzFwZEVOc2IzTmxJRDBnYjNCMGFXOXVjeTVsYldsMFEyeHZjMlVnSVQwOUlHWmhiSE5sT3lBdkx5QlRhRzkxYkdRZ0xtUmxjM1J5YjNrb0tTQmlaU0JqWVd4c1pXUWdZV1owWlhJZ0oyWnBibWx6YUNjZ0tHRnVaQ0J3YjNSbGJuUnBZV3hzZVNBblpXNWtKeWxjYmx4dUlDQjBhR2x6TG1GMWRHOUVaWE4wY205NUlEMGdJU0Z2Y0hScGIyNXpMbUYxZEc5RVpYTjBjbTk1T3lBdkx5QmpiM1Z1ZENCaWRXWm1aWEpsWkNCeVpYRjFaWE4wYzF4dVhHNGdJSFJvYVhNdVluVm1abVZ5WldSU1pYRjFaWE4wUTI5MWJuUWdQU0F3T3lBdkx5QmhiR3h2WTJGMFpTQjBhR1VnWm1seWMzUWdRMjl5YTJWa1VtVnhkV1Z6ZEN3Z2RHaGxjbVVnYVhNZ1lXeDNZWGx6WEc0Z0lDOHZJRzl1WlNCaGJHeHZZMkYwWldRZ1lXNWtJR1p5WldVZ2RHOGdkWE5sTENCaGJtUWdkMlVnYldGcGJuUmhhVzRnWVhRZ2JXOXpkQ0IwZDI5Y2JseHVJQ0IwYUdsekxtTnZjbXRsWkZKbGNYVmxjM1J6Um5KbFpTQTlJRzVsZHlCRGIzSnJaV1JTWlhGMVpYTjBLSFJvYVhNcE8xeHVmVnh1WEc1WGNtbDBZV0pzWlZOMFlYUmxMbkJ5YjNSdmRIbHdaUzVuWlhSQ2RXWm1aWElnUFNCbWRXNWpkR2x2YmlCblpYUkNkV1ptWlhJb0tTQjdYRzRnSUhaaGNpQmpkWEp5Wlc1MElEMGdkR2hwY3k1aWRXWm1aWEpsWkZKbGNYVmxjM1E3WEc0Z0lIWmhjaUJ2ZFhRZ1BTQmJYVHRjYmx4dUlDQjNhR2xzWlNBb1kzVnljbVZ1ZENrZ2UxeHVJQ0FnSUc5MWRDNXdkWE5vS0dOMWNuSmxiblFwTzF4dUlDQWdJR04xY25KbGJuUWdQU0JqZFhKeVpXNTBMbTVsZUhRN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2IzVjBPMXh1ZlR0Y2JseHVLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1YzSnBkR0ZpYkdWVGRHRjBaUzV3Y205MGIzUjVjR1VzSUNkaWRXWm1aWEluTENCN1hHNGdJQ0FnSUNCblpYUTZJR2x1ZEdWeWJtRnNWWFJwYkM1a1pYQnlaV05oZEdVb1puVnVZM1JwYjI0Z2QzSnBkR0ZpYkdWVGRHRjBaVUoxWm1abGNrZGxkSFJsY2lncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFFuVm1abVZ5S0NrN1hHNGdJQ0FnSUNCOUxDQW5YM2R5YVhSaFlteGxVM1JoZEdVdVluVm1abVZ5SUdseklHUmxjSEpsWTJGMFpXUXVJRlZ6WlNCZmQzSnBkR0ZpYkdWVGRHRjBaUzVuWlhSQ2RXWm1aWElnSnlBcklDZHBibk4wWldGa0xpY3NJQ2RFUlZBd01EQXpKeWxjYmlBZ0lDQjlLVHRjYmlBZ2ZTQmpZWFJqYUNBb1h5a2dlMzFjYm4wcEtDazdJQzh2SUZSbGMzUWdYM2R5YVhSaFlteGxVM1JoZEdVZ1ptOXlJR2x1YUdWeWFYUmhibU5sSUhSdklHRmpZMjkxYm5RZ1ptOXlJRVIxY0d4bGVDQnpkSEpsWVcxekxGeHVMeThnZDJodmMyVWdjSEp2ZEc5MGVYQmxJR05vWVdsdUlHOXViSGtnY0c5cGJuUnpJSFJ2SUZKbFlXUmhZbXhsTGx4dVhHNWNiblpoY2lCeVpXRnNTR0Z6U1c1emRHRnVZMlU3WEc1Y2JtbG1JQ2gwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGTjViV0p2YkM1b1lYTkpibk4wWVc1alpTQW1KaUIwZVhCbGIyWWdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxXMU41YldKdmJDNW9ZWE5KYm5OMFlXNWpaVjBnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ2NtVmhiRWhoYzBsdWMzUmhibU5sSUQwZ1JuVnVZM1JwYjI0dWNISnZkRzkwZVhCbFcxTjViV0p2YkM1b1lYTkpibk4wWVc1alpWMDdYRzRnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaFhjbWwwWVdKc1pTd2dVM2x0WW05c0xtaGhjMGx1YzNSaGJtTmxMQ0I3WEc0Z0lDQWdkbUZzZFdVNklHWjFibU4wYVc5dUlIWmhiSFZsS0c5aWFtVmpkQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tISmxZV3hJWVhOSmJuTjBZVzVqWlM1allXeHNLSFJvYVhNc0lHOWlhbVZqZENrcElISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTWdJVDA5SUZkeWFYUmhZbXhsS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQnlaWFIxY200Z2IySnFaV04wSUNZbUlHOWlhbVZqZEM1ZmQzSnBkR0ZpYkdWVGRHRjBaU0JwYm5OMFlXNWpaVzltSUZkeWFYUmhZbXhsVTNSaGRHVTdYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JuMGdaV3h6WlNCN1hHNGdJSEpsWVd4SVlYTkpibk4wWVc1alpTQTlJR1oxYm1OMGFXOXVJSEpsWVd4SVlYTkpibk4wWVc1alpTaHZZbXBsWTNRcElIdGNiaUFnSUNCeVpYUjFjbTRnYjJKcVpXTjBJR2x1YzNSaGJtTmxiMllnZEdocGN6dGNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnVjNKcGRHRmliR1VvYjNCMGFXOXVjeWtnZTF4dUlDQkVkWEJzWlhnZ1BTQkVkWEJzWlhnZ2ZId2djbVZ4ZFdseVpTZ25MaTlmYzNSeVpXRnRYMlIxY0d4bGVDY3BPeUF2THlCWGNtbDBZV0pzWlNCamRHOXlJR2x6SUdGd2NHeHBaV1FnZEc4Z1JIVndiR1Y0WlhNc0lIUnZieTVjYmlBZ0x5OGdZSEpsWVd4SVlYTkpibk4wWVc1alpXQWdhWE1nYm1WalpYTnpZWEo1SUdKbFkyRjFjMlVnZFhOcGJtY2djR3hoYVc0Z1lHbHVjM1JoYm1ObGIyWmdYRzRnSUM4dklIZHZkV3hrSUhKbGRIVnliaUJtWVd4elpTd2dZWE1nYm04Z1lGOTNjbWwwWVdKc1pWTjBZWFJsWUNCd2NtOXdaWEowZVNCcGN5QmhkSFJoWTJobFpDNWNiaUFnTHk4Z1ZISjVhVzVuSUhSdklIVnpaU0IwYUdVZ1kzVnpkRzl0SUdCcGJuTjBZVzVqWlc5bVlDQm1iM0lnVjNKcGRHRmliR1VnYUdWeVpTQjNhV3hzSUdGc2MyOGdZbkpsWVdzZ2RHaGxYRzRnSUM4dklFNXZaR1V1YW5NZ1RHRjZlVlJ5WVc1elptOXliU0JwYlhCc1pXMWxiblJoZEdsdmJpd2dkMmhwWTJnZ2FHRnpJR0VnYm05dUxYUnlhWFpwWVd3Z1oyVjBkR1Z5SUdadmNseHVJQ0F2THlCZ1gzZHlhWFJoWW14bFUzUmhkR1ZnSUhSb1lYUWdkMjkxYkdRZ2JHVmhaQ0IwYnlCcGJtWnBibWwwWlNCeVpXTjFjbk5wYjI0dVhHNGdJQzh2SUVOb1pXTnJhVzVuSUdadmNpQmhJRk4wY21WaGJTNUVkWEJzWlhnZ2FXNXpkR0Z1WTJVZ2FYTWdabUZ6ZEdWeUlHaGxjbVVnYVc1emRHVmhaQ0J2WmlCcGJuTnBaR1ZjYmlBZ0x5OGdkR2hsSUZkeWFYUmhZbXhsVTNSaGRHVWdZMjl1YzNSeWRXTjBiM0lzSUdGMElHeGxZWE4wSUhkcGRHZ2dWamdnTmk0MVhHNWNiaUFnZG1GeUlHbHpSSFZ3YkdWNElEMGdkR2hwY3lCcGJuTjBZVzVqWlc5bUlFUjFjR3hsZUR0Y2JpQWdhV1lnS0NGcGMwUjFjR3hsZUNBbUppQWhjbVZoYkVoaGMwbHVjM1JoYm1ObExtTmhiR3dvVjNKcGRHRmliR1VzSUhSb2FYTXBLU0J5WlhSMWNtNGdibVYzSUZkeWFYUmhZbXhsS0c5d2RHbHZibk1wTzF4dUlDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJRDBnYm1WM0lGZHlhWFJoWW14bFUzUmhkR1VvYjNCMGFXOXVjeXdnZEdocGN5d2dhWE5FZFhCc1pYZ3BPeUF2THlCc1pXZGhZM2t1WEc1Y2JpQWdkR2hwY3k1M2NtbDBZV0pzWlNBOUlIUnlkV1U3WEc1Y2JpQWdhV1lnS0c5d2RHbHZibk1wSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11ZDNKcGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNkeWFYUmxJRDBnYjNCMGFXOXVjeTUzY21sMFpUdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NdWQzSnBkR1YySUQwOVBTQW5ablZ1WTNScGIyNG5LU0IwYUdsekxsOTNjbWwwWlhZZ1BTQnZjSFJwYjI1ekxuZHlhWFJsZGp0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11WkdWemRISnZlU0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dkR2hwY3k1ZlpHVnpkSEp2ZVNBOUlHOXdkR2x2Ym5NdVpHVnpkSEp2ZVR0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11Wm1sdVlXd2dQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDJacGJtRnNJRDBnYjNCMGFXOXVjeTVtYVc1aGJEdGNiaUFnZlZ4dVhHNGdJRk4wY21WaGJTNWpZV3hzS0hSb2FYTXBPMXh1ZlNBdkx5QlBkR2hsY25kcGMyVWdjR1Z2Y0d4bElHTmhiaUJ3YVhCbElGZHlhWFJoWW14bElITjBjbVZoYlhNc0lIZG9hV05vSUdseklHcDFjM1FnZDNKdmJtY3VYRzVjYmx4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExuQnBjR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUdWeWNtOXlUM0pFWlhOMGNtOTVLSFJvYVhNc0lHNWxkeUJGVWxKZlUxUlNSVUZOWDBOQlRrNVBWRjlRU1ZCRktDa3BPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdkM0pwZEdWQlpuUmxja1Z1WkNoemRISmxZVzBzSUdOaUtTQjdYRzRnSUhaaGNpQmxjaUE5SUc1bGR5QkZVbEpmVTFSU1JVRk5YMWRTU1ZSRlgwRkdWRVZTWDBWT1JDZ3BPeUF2THlCVVQwUlBPaUJrWldabGNpQmxjbkp2Y2lCbGRtVnVkSE1nWTI5dWMybHpkR1Z1ZEd4NUlHVjJaWEo1ZDJobGNtVXNJRzV2ZENCcWRYTjBJSFJvWlNCallseHVYRzRnSUdWeWNtOXlUM0pFWlhOMGNtOTVLSE4wY21WaGJTd2daWElwTzF4dUlDQndjbTlqWlhOekxtNWxlSFJVYVdOcktHTmlMQ0JsY2lrN1hHNTlJQzh2SUVOb1pXTnJjeUIwYUdGMElHRWdkWE5sY2kxemRYQndiR2xsWkNCamFIVnVheUJwY3lCMllXeHBaQ3dnWlhOd1pXTnBZV3hzZVNCbWIzSWdkR2hsSUhCaGNuUnBZM1ZzWVhKY2JpOHZJRzF2WkdVZ2RHaGxJSE4wY21WaGJTQnBjeUJwYmk0Z1EzVnljbVZ1ZEd4NUlIUm9hWE1nYldWaGJuTWdkR2hoZENCZ2JuVnNiR0FnYVhNZ2JtVjJaWElnWVdOalpYQjBaV1JjYmk4dklHRnVaQ0IxYm1SbFptbHVaV1F2Ym05dUxYTjBjbWx1WnlCMllXeDFaWE1nWVhKbElHOXViSGtnWVd4c2IzZGxaQ0JwYmlCdlltcGxZM1FnYlc5a1pTNWNibHh1WEc1bWRXNWpkR2x2YmlCMllXeHBaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JqWWlrZ2UxeHVJQ0IyWVhJZ1pYSTdYRzVjYmlBZ2FXWWdLR05vZFc1cklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1pYSWdQU0J1WlhjZ1JWSlNYMU5VVWtWQlRWOU9WVXhNWDFaQlRGVkZVeWdwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmphSFZ1YXlBaFBUMGdKM04wY21sdVp5Y2dKaVlnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VwSUh0Y2JpQWdJQ0JsY2lBOUlHNWxkeUJGVWxKZlNVNVdRVXhKUkY5QlVrZGZWRmxRUlNnblkyaDFibXNuTENCYkozTjBjbWx1Wnljc0lDZENkV1ptWlhJblhTd2dZMmgxYm1zcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dWeUtTQjdYRzRnSUNBZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0JsY2lrN1hHNGdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhqWWl3Z1pYSXBPMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIwY25WbE8xeHVmVnh1WEc1WGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjbVYwSUQwZ1ptRnNjMlU3WEc1Y2JpQWdkbUZ5SUdselFuVm1JRDBnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VnSmlZZ1gybHpWV2x1ZERoQmNuSmhlU2hqYUhWdWF5azdYRzVjYmlBZ2FXWWdLR2x6UW5WbUlDWW1JQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZMmgxYm1zcEtTQjdYRzRnSUNBZ1kyaDFibXNnUFNCZmRXbHVkRGhCY25KaGVWUnZRblZtWm1WeUtHTm9kVzVyS1R0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaVzVqYjJScGJtY2dQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCallpQTlJR1Z1WTI5a2FXNW5PMXh1SUNBZ0lHVnVZMjlrYVc1bklEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hwYzBKMVppa2daVzVqYjJScGJtY2dQU0FuWW5WbVptVnlKenRsYkhObElHbG1JQ2doWlc1amIyUnBibWNwSUdWdVkyOWthVzVuSUQwZ2MzUmhkR1V1WkdWbVlYVnNkRVZ1WTI5a2FXNW5PMXh1SUNCcFppQW9kSGx3Wlc5bUlHTmlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQmpZaUE5SUc1dmNEdGNiaUFnYVdZZ0tITjBZWFJsTG1WdVpHbHVaeWtnZDNKcGRHVkJablJsY2tWdVpDaDBhR2x6TENCallpazdaV3h6WlNCcFppQW9hWE5DZFdZZ2ZId2dkbUZzYVdSRGFIVnVheWgwYUdsekxDQnpkR0YwWlN3Z1kyaDFibXNzSUdOaUtTa2dlMXh1SUNBZ0lITjBZWFJsTG5CbGJtUnBibWRqWWlzck8xeHVJQ0FnSUhKbGRDQTlJSGR5YVhSbFQzSkNkV1ptWlhJb2RHaHBjeXdnYzNSaGRHVXNJR2x6UW5WbUxDQmphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZUdGNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG1OdmNtc2dQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WTI5eWEyVmtLeXM3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1ZFc1amIzSnJJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRdExUdGNiaUFnSUNCcFppQW9JWE4wWVhSbExuZHlhWFJwYm1jZ0ppWWdJWE4wWVhSbExtTnZjbXRsWkNBbUppQWhjM1JoZEdVdVluVm1abVZ5VUhKdlkyVnpjMmx1WnlBbUppQnpkR0YwWlM1aWRXWm1aWEpsWkZKbGNYVmxjM1FwSUdOc1pXRnlRblZtWm1WeUtIUm9hWE1zSUhOMFlYUmxLVHRjYmlBZ2ZWeHVmVHRjYmx4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExuTmxkRVJsWm1GMWJIUkZibU52WkdsdVp5QTlJR1oxYm1OMGFXOXVJSE5sZEVSbFptRjFiSFJGYm1OdlpHbHVaeWhsYm1OdlpHbHVaeWtnZTF4dUlDQXZMeUJ1YjJSbE9qcFFZWEp6WlVWdVkyOWthVzVuS0NrZ2NtVnhkV2x5WlhNZ2JHOTNaWElnWTJGelpTNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCbGJtTnZaR2x1WnlBOVBUMGdKM04wY21sdVp5Y3BJR1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWN1ZEc5TWIzZGxja05oYzJVb0tUdGNiaUFnYVdZZ0tDRW9XeWRvWlhnbkxDQW5kWFJtT0Njc0lDZDFkR1l0T0Njc0lDZGhjMk5wYVNjc0lDZGlhVzVoY25rbkxDQW5ZbUZ6WlRZMEp5d2dKM1ZqY3pJbkxDQW5kV056TFRJbkxDQW5kWFJtTVRac1pTY3NJQ2QxZEdZdE1UWnNaU2NzSUNkeVlYY25YUzVwYm1SbGVFOW1LQ2hsYm1OdlpHbHVaeUFySUNjbktTNTBiMHh2ZDJWeVEyRnpaU2dwS1NBK0lDMHhLU2tnZEdoeWIzY2dibVYzSUVWU1VsOVZUa3RPVDFkT1gwVk9RMDlFU1U1SEtHVnVZMjlrYVc1bktUdGNiaUFnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1a1pXWmhkV3gwUlc1amIyUnBibWNnUFNCbGJtTnZaR2x1Wnp0Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1YzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5kM0pwZEdGaWJHVkNkV1ptWlhJbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVoyVjBRblZtWm1WeUtDazdYRzRnSUgxY2JuMHBPMXh1WEc1bWRXNWpkR2x2YmlCa1pXTnZaR1ZEYUhWdWF5aHpkR0YwWlN3Z1kyaDFibXNzSUdWdVkyOWthVzVuS1NCN1hHNGdJR2xtSUNnaGMzUmhkR1V1YjJKcVpXTjBUVzlrWlNBbUppQnpkR0YwWlM1a1pXTnZaR1ZUZEhKcGJtZHpJQ0U5UFNCbVlXeHpaU0FtSmlCMGVYQmxiMllnWTJoMWJtc2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnWTJoMWJtc2dQU0JDZFdabVpYSXVabkp2YlNoamFIVnVheXdnWlc1amIyUnBibWNwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdOb2RXNXJPMXh1ZlZ4dVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmQzSnBkR0ZpYkdWSWFXZG9WMkYwWlhKTllYSnJKeXdnZTF4dUlDQXZMeUJ0WVd0cGJtY2dhWFFnWlhod2JHbGphWFFnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJ1YjNRZ1pXNTFiV1Z5WVdKc1pWeHVJQ0F2THlCaVpXTmhkWE5sSUc5MGFHVnlkMmx6WlNCemIyMWxJSEJ5YjNSdmRIbHdaU0J0WVc1cGNIVnNZWFJwYjI0Z2FXNWNiaUFnTHk4Z2RYTmxjbXhoYm1RZ2QybHNiQ0JtWVdsc1hHNGdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJR2RsZENncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCOVhHNTlLVHNnTHk4Z2FXWWdkMlVuY21VZ1lXeHlaV0ZrZVNCM2NtbDBhVzVuSUhOdmJXVjBhR2x1Wnl3Z2RHaGxiaUJxZFhOMElIQjFkQ0IwYUdselhHNHZMeUJwYmlCMGFHVWdjWFZsZFdVc0lHRnVaQ0IzWVdsMElHOTFjaUIwZFhKdUxpQWdUM1JvWlhKM2FYTmxMQ0JqWVd4c0lGOTNjbWwwWlZ4dUx5OGdTV1lnZDJVZ2NtVjBkWEp1SUdaaGJITmxMQ0IwYUdWdUlIZGxJRzVsWldRZ1lTQmtjbUZwYmlCbGRtVnVkQ3dnYzI4Z2MyVjBJSFJvWVhRZ1pteGhaeTVjYmx4dVpuVnVZM1JwYjI0Z2QzSnBkR1ZQY2tKMVptWmxjaWh6ZEhKbFlXMHNJSE4wWVhSbExDQnBjMEoxWml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCcFppQW9JV2x6UW5WbUtTQjdYRzRnSUNBZ2RtRnlJRzVsZDBOb2RXNXJJRDBnWkdWamIyUmxRMmgxYm1zb2MzUmhkR1VzSUdOb2RXNXJMQ0JsYm1OdlpHbHVaeWs3WEc1Y2JpQWdJQ0JwWmlBb1kyaDFibXNnSVQwOUlHNWxkME5vZFc1cktTQjdYRzRnSUNBZ0lDQnBjMEoxWmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUNkaWRXWm1aWEluTzF4dUlDQWdJQ0FnWTJoMWJtc2dQU0J1WlhkRGFIVnVhenRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IyWVhJZ2JHVnVJRDBnYzNSaGRHVXViMkpxWldOMFRXOWtaU0EvSURFZ09pQmphSFZ1YXk1c1pXNW5kR2c3WEc0Z0lITjBZWFJsTG14bGJtZDBhQ0FyUFNCc1pXNDdYRzRnSUhaaGNpQnlaWFFnUFNCemRHRjBaUzVzWlc1bmRHZ2dQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyT3lBdkx5QjNaU0J0ZFhOMElHVnVjM1Z5WlNCMGFHRjBJSEJ5WlhacGIzVnpJRzVsWldSRWNtRnBiaUIzYVd4c0lHNXZkQ0JpWlNCeVpYTmxkQ0IwYnlCbVlXeHpaUzVjYmx4dUlDQnBaaUFvSVhKbGRDa2djM1JoZEdVdWJtVmxaRVJ5WVdsdUlEMGdkSEoxWlR0Y2JseHVJQ0JwWmlBb2MzUmhkR1V1ZDNKcGRHbHVaeUI4ZkNCemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQjJZWElnYkdGemRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2MzUmhkR1V1YkdGemRFSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlIdGNiaUFnSUNBZ0lHTm9kVzVyT2lCamFIVnVheXhjYmlBZ0lDQWdJR1Z1WTI5a2FXNW5PaUJsYm1OdlpHbHVaeXhjYmlBZ0lDQWdJR2x6UW5WbU9pQnBjMEoxWml4Y2JpQWdJQ0FnSUdOaGJHeGlZV05yT2lCallpeGNiaUFnSUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLR3hoYzNRcElIdGNiaUFnSUNBZ0lHeGhjM1F1Ym1WNGRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzUmhkR1V1WW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RZ0t6MGdNVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JrYjFkeWFYUmxLSE4wY21WaGJTd2djM1JoZEdVc0lHWmhiSE5sTENCc1pXNHNJR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHOVhjbWwwWlNoemRISmxZVzBzSUhOMFlYUmxMQ0IzY21sMFpYWXNJR3hsYml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCemRHRjBaUzUzY21sMFpXeGxiaUE5SUd4bGJqdGNiaUFnYzNSaGRHVXVkM0pwZEdWallpQTlJR05pTzF4dUlDQnpkR0YwWlM1M2NtbDBhVzVuSUQwZ2RISjFaVHRjYmlBZ2MzUmhkR1V1YzNsdVl5QTlJSFJ5ZFdVN1hHNGdJR2xtSUNoemRHRjBaUzVrWlhOMGNtOTVaV1FwSUhOMFlYUmxMbTl1ZDNKcGRHVW9ibVYzSUVWU1VsOVRWRkpGUVUxZlJFVlRWRkpQV1VWRUtDZDNjbWwwWlNjcEtUdGxiSE5sSUdsbUlDaDNjbWwwWlhZcElITjBjbVZoYlM1ZmQzSnBkR1YyS0dOb2RXNXJMQ0J6ZEdGMFpTNXZibmR5YVhSbEtUdGxiSE5sSUhOMGNtVmhiUzVmZDNKcGRHVW9ZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQnpkR0YwWlM1dmJuZHlhWFJsS1R0Y2JpQWdjM1JoZEdVdWMzbHVZeUE5SUdaaGJITmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZibmR5YVhSbFJYSnliM0lvYzNSeVpXRnRMQ0J6ZEdGMFpTd2djM2x1WXl3Z1pYSXNJR05pS1NCN1hHNGdJQzB0YzNSaGRHVXVjR1Z1WkdsdVoyTmlPMXh1WEc0Z0lHbG1JQ2h6ZVc1aktTQjdYRzRnSUNBZ0x5OGdaR1ZtWlhJZ2RHaGxJR05oYkd4aVlXTnJJR2xtSUhkbElHRnlaU0JpWldsdVp5QmpZV3hzWldRZ2MzbHVZMmh5YjI1dmRYTnNlVnh1SUNBZ0lDOHZJSFJ2SUdGMmIybGtJSEJwYkdsdVp5QjFjQ0IwYUdsdVozTWdiMjRnZEdobElITjBZV05yWEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aGpZaXdnWlhJcE95QXZMeUIwYUdseklHTmhiaUJsYldsMElHWnBibWx6YUN3Z1lXNWtJR2wwSUhkcGJHd2dZV3gzWVhseklHaGhjSEJsYmx4dUlDQWdJQzh2SUdGbWRHVnlJR1Z5Y205eVhHNWNiaUFnSUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0dacGJtbHphRTFoZVdKbExDQnpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdJQ0J6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVdVpYSnliM0pGYldsMGRHVmtJRDBnZEhKMVpUdGNiaUFnSUNCbGNuSnZjazl5UkdWemRISnZlU2h6ZEhKbFlXMHNJR1Z5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QjBhR1VnWTJGc2JHVnlJR1Y0Y0dWamRDQjBhR2x6SUhSdklHaGhjSEJsYmlCaVpXWnZjbVVnYVdaY2JpQWdJQ0F2THlCcGRDQnBjeUJoYzNsdVkxeHVJQ0FnSUdOaUtHVnlLVHRjYmlBZ0lDQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnlLVHNnTHk4Z2RHaHBjeUJqWVc0Z1pXMXBkQ0JtYVc1cGMyZ3NJR0oxZENCbWFXNXBjMmdnYlhWemRGeHVJQ0FnSUM4dklHRnNkMkY1Y3lCbWIyeHNiM2NnWlhKeWIzSmNibHh1SUNBZ0lHWnBibWx6YUUxaGVXSmxLSE4wY21WaGJTd2djM1JoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzl1ZDNKcGRHVlRkR0YwWlZWd1pHRjBaU2h6ZEdGMFpTa2dlMXh1SUNCemRHRjBaUzUzY21sMGFXNW5JRDBnWm1Gc2MyVTdYRzRnSUhOMFlYUmxMbmR5YVhSbFkySWdQU0J1ZFd4c08xeHVJQ0J6ZEdGMFpTNXNaVzVuZEdnZ0xUMGdjM1JoZEdVdWQzSnBkR1ZzWlc0N1hHNGdJSE4wWVhSbExuZHlhWFJsYkdWdUlEMGdNRHRjYm4xY2JseHVablZ1WTNScGIyNGdiMjUzY21sMFpTaHpkSEpsWVcwc0lHVnlLU0I3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSE4wY21WaGJTNWZkM0pwZEdGaWJHVlRkR0YwWlR0Y2JpQWdkbUZ5SUhONWJtTWdQU0J6ZEdGMFpTNXplVzVqTzF4dUlDQjJZWElnWTJJZ1BTQnpkR0YwWlM1M2NtbDBaV05pTzF4dUlDQnBaaUFvZEhsd1pXOW1JR05pSUNFOVBTQW5ablZ1WTNScGIyNG5LU0IwYUhKdmR5QnVaWGNnUlZKU1gwMVZURlJKVUV4RlgwTkJURXhDUVVOTEtDazdYRzRnSUc5dWQzSnBkR1ZUZEdGMFpWVndaR0YwWlNoemRHRjBaU2s3WEc0Z0lHbG1JQ2hsY2lrZ2IyNTNjbWwwWlVWeWNtOXlLSE4wY21WaGJTd2djM1JoZEdVc0lITjVibU1zSUdWeUxDQmpZaWs3Wld4elpTQjdYRzRnSUNBZ0x5OGdRMmhsWTJzZ2FXWWdkMlVuY21VZ1lXTjBkV0ZzYkhrZ2NtVmhaSGtnZEc4Z1ptbHVhWE5vTENCaWRYUWdaRzl1SjNRZ1pXMXBkQ0I1WlhSY2JpQWdJQ0IyWVhJZ1ptbHVhWE5vWldRZ1BTQnVaV1ZrUm1sdWFYTm9LSE4wWVhSbEtTQjhmQ0J6ZEhKbFlXMHVaR1Z6ZEhKdmVXVmtPMXh1WEc0Z0lDQWdhV1lnS0NGbWFXNXBjMmhsWkNBbUppQWhjM1JoZEdVdVkyOXlhMlZrSUNZbUlDRnpkR0YwWlM1aWRXWm1aWEpRY205alpYTnphVzVuSUNZbUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkQ2tnZTF4dUlDQWdJQ0FnWTJ4bFlYSkNkV1ptWlhJb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hONWJtTXBJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ZV1owWlhKWGNtbDBaU3dnYzNSeVpXRnRMQ0J6ZEdGMFpTd2dabWx1YVhOb1pXUXNJR05pS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZV1owWlhKWGNtbDBaU2h6ZEhKbFlXMHNJSE4wWVhSbExDQm1hVzVwYzJobFpDd2dZMklwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCaFpuUmxjbGR5YVhSbEtITjBjbVZoYlN3Z2MzUmhkR1VzSUdacGJtbHphR1ZrTENCallpa2dlMXh1SUNCcFppQW9JV1pwYm1semFHVmtLU0J2Ym5keWFYUmxSSEpoYVc0b2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lITjBZWFJsTG5CbGJtUnBibWRqWWkwdE8xeHVJQ0JqWWlncE8xeHVJQ0JtYVc1cGMyaE5ZWGxpWlNoemRISmxZVzBzSUhOMFlYUmxLVHRjYm4wZ0x5OGdUWFZ6ZENCbWIzSmpaU0JqWVd4c1ltRmpheUIwYnlCaVpTQmpZV3hzWldRZ2IyNGdibVY0ZEZScFkyc3NJSE52SUhSb1lYUWdkMlVnWkc5dUozUmNiaTh2SUdWdGFYUWdKMlJ5WVdsdUp5QmlaV1p2Y21VZ2RHaGxJSGR5YVhSbEtDa2dZMjl1YzNWdFpYSWdaMlYwY3lCMGFHVWdKMlpoYkhObEp5QnlaWFIxY201Y2JpOHZJSFpoYkhWbExDQmhibVFnYUdGeklHRWdZMmhoYm1ObElIUnZJR0YwZEdGamFDQmhJQ2RrY21GcGJpY2diR2x6ZEdWdVpYSXVYRzVjYmx4dVpuVnVZM1JwYjI0Z2IyNTNjbWwwWlVSeVlXbHVLSE4wY21WaGJTd2djM1JoZEdVcElIdGNiaUFnYVdZZ0tITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01DQW1KaUJ6ZEdGMFpTNXVaV1ZrUkhKaGFXNHBJSHRjYmlBZ0lDQnpkR0YwWlM1dVpXVmtSSEpoYVc0Z1BTQm1ZV3h6WlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnblpISmhhVzRuS1R0Y2JpQWdmVnh1ZlNBdkx5QnBaaUIwYUdWeVpTZHpJSE52YldWMGFHbHVaeUJwYmlCMGFHVWdZblZtWm1WeUlIZGhhWFJwYm1jc0lIUm9aVzRnY0hKdlkyVnpjeUJwZEZ4dVhHNWNibVoxYm1OMGFXOXVJR05zWldGeVFuVm1abVZ5S0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ2MzUmhkR1V1WW5WbVptVnlVSEp2WTJWemMybHVaeUE5SUhSeWRXVTdYRzRnSUhaaGNpQmxiblJ5ZVNBOUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkRHRjYmx4dUlDQnBaaUFvYzNSeVpXRnRMbDkzY21sMFpYWWdKaVlnWlc1MGNua2dKaVlnWlc1MGNua3VibVY0ZENrZ2UxeHVJQ0FnSUM4dklFWmhjM1FnWTJGelpTd2dkM0pwZEdVZ1pYWmxjbmwwYUdsdVp5QjFjMmx1WnlCZmQzSnBkR1YyS0NsY2JpQWdJQ0IyWVhJZ2JDQTlJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZEVOdmRXNTBPMXh1SUNBZ0lIWmhjaUJpZFdabVpYSWdQU0J1WlhjZ1FYSnlZWGtvYkNrN1hHNGdJQ0FnZG1GeUlHaHZiR1JsY2lBOUlITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlR0Y2JpQWdJQ0JvYjJ4a1pYSXVaVzUwY25rZ1BTQmxiblJ5ZVR0Y2JpQWdJQ0IyWVhJZ1kyOTFiblFnUFNBd08xeHVJQ0FnSUhaaGNpQmhiR3hDZFdabVpYSnpJRDBnZEhKMVpUdGNibHh1SUNBZ0lIZG9hV3hsSUNobGJuUnllU2tnZTF4dUlDQWdJQ0FnWW5WbVptVnlXMk52ZFc1MFhTQTlJR1Z1ZEhKNU8xeHVJQ0FnSUNBZ2FXWWdLQ0ZsYm5SeWVTNXBjMEoxWmlrZ1lXeHNRblZtWm1WeWN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ1pXNTBjbmtnUFNCbGJuUnllUzV1WlhoME8xeHVJQ0FnSUNBZ1kyOTFiblFnS3owZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCaWRXWm1aWEl1WVd4c1FuVm1abVZ5Y3lBOUlHRnNiRUoxWm1abGNuTTdYRzRnSUNBZ1pHOVhjbWwwWlNoemRISmxZVzBzSUhOMFlYUmxMQ0IwY25WbExDQnpkR0YwWlM1c1pXNW5kR2dzSUdKMVptWmxjaXdnSnljc0lHaHZiR1JsY2k1bWFXNXBjMmdwT3lBdkx5QmtiMWR5YVhSbElHbHpJR0ZzYlc5emRDQmhiSGRoZVhNZ1lYTjVibU1zSUdSbFptVnlJSFJvWlhObElIUnZJSE5oZG1VZ1lTQmlhWFFnYjJZZ2RHbHRaVnh1SUNBZ0lDOHZJR0Z6SUhSb1pTQm9iM1FnY0dGMGFDQmxibVJ6SUhkcGRHZ2daRzlYY21sMFpWeHVYRzRnSUNBZ2MzUmhkR1V1Y0dWdVpHbHVaMk5pS3lzN1hHNGdJQ0FnYzNSaGRHVXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdYRzVjYmlBZ0lDQnBaaUFvYUc5c1pHVnlMbTVsZUhRcElIdGNiaUFnSUNBZ0lITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlNBOUlHaHZiR1JsY2k1dVpYaDBPMXh1SUNBZ0lDQWdhRzlzWkdWeUxtNWxlSFFnUFNCdWRXeHNPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCemRHRjBaUzVqYjNKclpXUlNaWEYxWlhOMGMwWnlaV1VnUFNCdVpYY2dRMjl5YTJWa1VtVnhkV1Z6ZENoemRHRjBaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjM1JoZEdVdVluVm1abVZ5WldSU1pYRjFaWE4wUTI5MWJuUWdQU0F3TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGTnNiM2NnWTJGelpTd2dkM0pwZEdVZ1kyaDFibXR6SUc5dVpTMWllUzF2Ym1WY2JpQWdJQ0IzYUdsc1pTQW9aVzUwY25rcElIdGNiaUFnSUNBZ0lIWmhjaUJqYUhWdWF5QTlJR1Z1ZEhKNUxtTm9kVzVyTzF4dUlDQWdJQ0FnZG1GeUlHVnVZMjlrYVc1bklEMGdaVzUwY25rdVpXNWpiMlJwYm1jN1hHNGdJQ0FnSUNCMllYSWdZMklnUFNCbGJuUnllUzVqWVd4c1ltRmphenRjYmlBZ0lDQWdJSFpoY2lCc1pXNGdQU0J6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJRDhnTVNBNklHTm9kVzVyTG14bGJtZDBhRHRjYmlBZ0lDQWdJR1J2VjNKcGRHVW9jM1J5WldGdExDQnpkR0YwWlN3Z1ptRnNjMlVzSUd4bGJpd2dZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmpZaWs3WEc0Z0lDQWdJQ0JsYm5SeWVTQTlJR1Z1ZEhKNUxtNWxlSFE3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNSRGIzVnVkQzB0T3lBdkx5QnBaaUIzWlNCa2FXUnVKM1FnWTJGc2JDQjBhR1VnYjI1M2NtbDBaU0JwYlcxbFpHbGhkR1ZzZVN3Z2RHaGxibHh1SUNBZ0lDQWdMeThnYVhRZ2JXVmhibk1nZEdoaGRDQjNaU0J1WldWa0lIUnZJSGRoYVhRZ2RXNTBhV3dnYVhRZ1pHOWxjeTVjYmlBZ0lDQWdJQzh2SUdGc2MyOHNJSFJvWVhRZ2JXVmhibk1nZEdoaGRDQjBhR1VnWTJoMWJtc2dZVzVrSUdOaUlHRnlaU0JqZFhKeVpXNTBiSGxjYmlBZ0lDQWdJQzh2SUdKbGFXNW5JSEJ5YjJObGMzTmxaQ3dnYzI4Z2JXOTJaU0IwYUdVZ1luVm1abVZ5SUdOdmRXNTBaWElnY0dGemRDQjBhR1Z0TGx4dVhHNGdJQ0FnSUNCcFppQW9jM1JoZEdVdWQzSnBkR2x1WnlrZ2UxeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1pXNTBjbmtnUFQwOUlHNTFiR3dwSUhOMFlYUmxMbXhoYzNSQ2RXWm1aWEpsWkZKbGNYVmxjM1FnUFNCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYzNSaGRHVXVZblZtWm1WeVpXUlNaWEYxWlhOMElEMGdaVzUwY25rN1hHNGdJSE4wWVhSbExtSjFabVpsY2xCeWIyTmxjM05wYm1jZ1BTQm1ZV3h6WlR0Y2JuMWNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTGw5M2NtbDBaU0E5SUdaMWJtTjBhVzl1SUNoamFIVnVheXdnWlc1amIyUnBibWNzSUdOaUtTQjdYRzRnSUdOaUtHNWxkeUJGVWxKZlRVVlVTRTlFWDA1UFZGOUpUVkJNUlUxRlRsUkZSQ2duWDNkeWFYUmxLQ2tuS1NrN1hHNTlPMXh1WEc1WGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dVdVgzZHlhWFJsZGlBOUlHNTFiR3c3WEc1Y2JsZHlhWFJoWW14bExuQnliM1J2ZEhsd1pTNWxibVFnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdZMmgxYm1zZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JqWWlBOUlHTm9kVzVyTzF4dUlDQWdJR05vZFc1cklEMGdiblZzYkR0Y2JpQWdJQ0JsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzRnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdWdVkyOWthVzVuSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdZMklnUFNCbGJtTnZaR2x1Wnp0Y2JpQWdJQ0JsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JwWmlBb1kyaDFibXNnSVQwOUlHNTFiR3dnSmlZZ1kyaDFibXNnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwY3k1M2NtbDBaU2hqYUhWdWF5d2daVzVqYjJScGJtY3BPeUF2THlBdVpXNWtLQ2tnWm5Wc2JIa2dkVzVqYjNKcmMxeHVYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRZ1BTQXhPMXh1SUNBZ0lIUm9hWE11ZFc1amIzSnJLQ2s3WEc0Z0lIMGdMeThnYVdkdWIzSmxJSFZ1Ym1WalpYTnpZWEo1SUdWdVpDZ3BJR05oYkd4ekxseHVYRzVjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNWxibVJwYm1jcElHVnVaRmR5YVhSaFlteGxLSFJvYVhNc0lITjBZWFJsTENCallpazdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRmR5YVhSaFlteGxMbkJ5YjNSdmRIbHdaU3dnSjNkeWFYUmhZbXhsVEdWdVozUm9KeXdnZTF4dUlDQXZMeUJ0WVd0cGJtY2dhWFFnWlhod2JHbGphWFFnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJ1YjNRZ1pXNTFiV1Z5WVdKc1pWeHVJQ0F2THlCaVpXTmhkWE5sSUc5MGFHVnlkMmx6WlNCemIyMWxJSEJ5YjNSdmRIbHdaU0J0WVc1cGNIVnNZWFJwYjI0Z2FXNWNiaUFnTHk4Z2RYTmxjbXhoYm1RZ2QybHNiQ0JtWVdsc1hHNGdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJR2RsZENncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1c1pXNW5kR2c3WEc0Z0lIMWNibjBwTzF4dVhHNW1kVzVqZEdsdmJpQnVaV1ZrUm1sdWFYTm9LSE4wWVhSbEtTQjdYRzRnSUhKbGRIVnliaUJ6ZEdGMFpTNWxibVJwYm1jZ0ppWWdjM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdJQ1ltSUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemRDQTlQVDBnYm5Wc2JDQW1KaUFoYzNSaGRHVXVabWx1YVhOb1pXUWdKaVlnSVhOMFlYUmxMbmR5YVhScGJtYzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTmhiR3hHYVc1aGJDaHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJSE4wY21WaGJTNWZabWx1WVd3b1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJSE4wWVhSbExuQmxibVJwYm1kallpMHRPMXh1WEc0Z0lDQWdhV1lnS0dWeWNpa2dlMXh1SUNBZ0lDQWdaWEp5YjNKUGNrUmxjM1J5YjNrb2MzUnlaV0Z0TENCbGNuSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjBZWFJsTG5CeVpXWnBibWx6YUdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnbmNISmxabWx1YVhOb0p5azdYRzRnSUNBZ1ptbHVhWE5vVFdGNVltVW9jM1J5WldGdExDQnpkR0YwWlNrN1hHNGdJSDBwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3Y21WbWFXNXBjMmdvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9JWE4wWVhSbExuQnlaV1pwYm1semFHVmtJQ1ltSUNGemRHRjBaUzVtYVc1aGJFTmhiR3hsWkNrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MzUnlaV0Z0TGw5bWFXNWhiQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoYzNSaGRHVXVaR1Z6ZEhKdmVXVmtLU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNXdaVzVrYVc1blkySXJLenRjYmlBZ0lDQWdJSE4wWVhSbExtWnBibUZzUTJGc2JHVmtJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1kyRnNiRVpwYm1Gc0xDQnpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjM1JoZEdVdWNISmxabWx1YVhOb1pXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2MzUnlaV0Z0TG1WdGFYUW9KM0J5WldacGJtbHphQ2NwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWFXNXBjMmhOWVhsaVpTaHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJSFpoY2lCdVpXVmtJRDBnYm1WbFpFWnBibWx6YUNoemRHRjBaU2s3WEc1Y2JpQWdhV1lnS0c1bFpXUXBJSHRjYmlBZ0lDQndjbVZtYVc1cGMyZ29jM1J5WldGdExDQnpkR0YwWlNrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdWNHVnVaR2x1WjJOaUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCemRHRjBaUzVtYVc1cGMyaGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWm1sdWFYTm9KeWs3WEc1Y2JpQWdJQ0FnSUdsbUlDaHpkR0YwWlM1aGRYUnZSR1Z6ZEhKdmVTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCSmJpQmpZWE5sSUc5bUlHUjFjR3hsZUNCemRISmxZVzF6SUhkbElHNWxaV1FnWVNCM1lYa2dkRzhnWkdWMFpXTjBYRzRnSUNBZ0lDQWdJQzh2SUdsbUlIUm9aU0J5WldGa1lXSnNaU0J6YVdSbElHbHpJSEpsWVdSNUlHWnZjaUJoZFhSdlJHVnpkSEp2ZVNCaGN5QjNaV3hzWEc0Z0lDQWdJQ0FnSUhaaGNpQnlVM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0Z5VTNSaGRHVWdmSHdnY2xOMFlYUmxMbUYxZEc5RVpYTjBjbTk1SUNZbUlISlRkR0YwWlM1bGJtUkZiV2wwZEdWa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYzNSeVpXRnRMbVJsYzNSeWIza29LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1WldWa08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGJtUlhjbWwwWVdKc1pTaHpkSEpsWVcwc0lITjBZWFJsTENCallpa2dlMXh1SUNCemRHRjBaUzVsYm1ScGJtY2dQU0IwY25WbE8xeHVJQ0JtYVc1cGMyaE5ZWGxpWlNoemRISmxZVzBzSUhOMFlYUmxLVHRjYmx4dUlDQnBaaUFvWTJJcElIdGNiaUFnSUNCcFppQW9jM1JoZEdVdVptbHVhWE5vWldRcElIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1kySXBPMlZzYzJVZ2MzUnlaV0Z0TG05dVkyVW9KMlpwYm1semFDY3NJR05pS1R0Y2JpQWdmVnh1WEc0Z0lITjBZWFJsTG1WdVpHVmtJRDBnZEhKMVpUdGNiaUFnYzNSeVpXRnRMbmR5YVhSaFlteGxJRDBnWm1Gc2MyVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOXVRMjl5YTJWa1JtbHVhWE5vS0dOdmNtdFNaWEVzSUhOMFlYUmxMQ0JsY25JcElIdGNiaUFnZG1GeUlHVnVkSEo1SUQwZ1kyOXlhMUpsY1M1bGJuUnllVHRjYmlBZ1kyOXlhMUpsY1M1bGJuUnllU0E5SUc1MWJHdzdYRzVjYmlBZ2QyaHBiR1VnS0dWdWRISjVLU0I3WEc0Z0lDQWdkbUZ5SUdOaUlEMGdaVzUwY25rdVkyRnNiR0poWTJzN1hHNGdJQ0FnYzNSaGRHVXVjR1Z1WkdsdVoyTmlMUzA3WEc0Z0lDQWdZMklvWlhKeUtUdGNiaUFnSUNCbGJuUnllU0E5SUdWdWRISjVMbTVsZUhRN1hHNGdJSDBnTHk4Z2NtVjFjMlVnZEdobElHWnlaV1VnWTI5eWExSmxjUzVjYmx4dVhHNGdJSE4wWVhSbExtTnZjbXRsWkZKbGNYVmxjM1J6Um5KbFpTNXVaWGgwSUQwZ1kyOXlhMUpsY1R0Y2JuMWNibHh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtGZHlhWFJoWW14bExuQnliM1J2ZEhsd1pTd2dKMlJsYzNSeWIzbGxaQ2NzSUh0Y2JpQWdMeThnYldGcmFXNW5JR2wwSUdWNGNHeHBZMmwwSUhSb2FYTWdjSEp2Y0dWeWRIa2dhWE1nYm05MElHVnVkVzFsY21GaWJHVmNiaUFnTHk4Z1ltVmpZWFZ6WlNCdmRHaGxjbmRwYzJVZ2MyOXRaU0J3Y205MGIzUjVjR1VnYldGdWFYQjFiR0YwYVc5dUlHbHVYRzRnSUM4dklIVnpaWEpzWVc1a0lIZHBiR3dnWm1GcGJGeHVJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUJuWlhRb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaRHRjYmlBZ2ZTeGNiaUFnYzJWME9pQm1kVzVqZEdsdmJpQnpaWFFvZG1Gc2RXVXBJSHRjYmlBZ0lDQXZMeUIzWlNCcFoyNXZjbVVnZEdobElIWmhiSFZsSUdsbUlIUm9aU0J6ZEhKbFlXMWNiaUFnSUNBdkx5Qm9ZWE1nYm05MElHSmxaVzRnYVc1cGRHbGhiR2w2WldRZ2VXVjBYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmU0F2THlCaVlXTnJkMkZ5WkNCamIyMXdZWFJwWW1sc2FYUjVMQ0IwYUdVZ2RYTmxjaUJwY3lCbGVIQnNhV05wZEd4NVhHNGdJQ0FnTHk4Z2JXRnVZV2RwYm1jZ1pHVnpkSEp2ZVdWa1hHNWNibHh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaR1Z6ZEhKdmVXVmtJRDBnZG1Gc2RXVTdYRzRnSUgxY2JuMHBPMXh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG1SbGMzUnliM2tnUFNCa1pYTjBjbTk1U1cxd2JDNWtaWE4wY205NU8xeHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbDkxYm1SbGMzUnliM2tnUFNCa1pYTjBjbTk1U1cxd2JDNTFibVJsYzNSeWIzazdYRzVjYmxkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlM1ZlpHVnpkSEp2ZVNBOUlHWjFibU4wYVc5dUlDaGxjbklzSUdOaUtTQjdYRzRnSUdOaUtHVnljaWs3WEc1OU95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7XFxuXFxudmFyIF9PYmplY3Qkc2V0UHJvdG90eXBlTztcXG5cXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxcblxcbnZhciBmaW5pc2hlZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZW5kLW9mLXN0cmVhbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qc1xcXCIpO1xcblxcbnZhciBrTGFzdFJlc29sdmUgPSBTeW1ib2woJ2xhc3RSZXNvbHZlJyk7XFxudmFyIGtMYXN0UmVqZWN0ID0gU3ltYm9sKCdsYXN0UmVqZWN0Jyk7XFxudmFyIGtFcnJvciA9IFN5bWJvbCgnZXJyb3InKTtcXG52YXIga0VuZGVkID0gU3ltYm9sKCdlbmRlZCcpO1xcbnZhciBrTGFzdFByb21pc2UgPSBTeW1ib2woJ2xhc3RQcm9taXNlJyk7XFxudmFyIGtIYW5kbGVQcm9taXNlID0gU3ltYm9sKCdoYW5kbGVQcm9taXNlJyk7XFxudmFyIGtTdHJlYW0gPSBTeW1ib2woJ3N0cmVhbScpO1xcblxcbmZ1bmN0aW9uIGNyZWF0ZUl0ZXJSZXN1bHQodmFsdWUsIGRvbmUpIHtcXG4gIHJldHVybiB7XFxuICAgIHZhbHVlOiB2YWx1ZSxcXG4gICAgZG9uZTogZG9uZVxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gcmVhZEFuZFJlc29sdmUoaXRlcikge1xcbiAgdmFyIHJlc29sdmUgPSBpdGVyW2tMYXN0UmVzb2x2ZV07XFxuXFxuICBpZiAocmVzb2x2ZSAhPT0gbnVsbCkge1xcbiAgICB2YXIgZGF0YSA9IGl0ZXJba1N0cmVhbV0ucmVhZCgpOyAvLyB3ZSBkZWZlciBpZiBkYXRhIGlzIG51bGxcXG4gICAgLy8gd2UgY2FuIGJlIGV4cGVjdGluZyBlaXRoZXIgJ2VuZCcgb3JcXG4gICAgLy8gJ2Vycm9yJ1xcblxcbiAgICBpZiAoZGF0YSAhPT0gbnVsbCkge1xcbiAgICAgIGl0ZXJba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgaXRlcltrTGFzdFJlc29sdmVdID0gbnVsbDtcXG4gICAgICBpdGVyW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25SZWFkYWJsZShpdGVyKSB7XFxuICAvLyB3ZSB3YWl0IGZvciB0aGUgbmV4dCB0aWNrLCBiZWNhdXNlIGl0IG1pZ2h0XFxuICAvLyBlbWl0IGFuIGVycm9yIHdpdGggcHJvY2Vzcy5uZXh0VGlja1xcbiAgcHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSwgaXRlcik7XFxufVxcblxcbmZ1bmN0aW9uIHdyYXBGb3JOZXh0KGxhc3RQcm9taXNlLCBpdGVyKSB7XFxuICByZXR1cm4gZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xcbiAgICBsYXN0UHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcXG4gICAgICBpZiAoaXRlcltrRW5kZWRdKSB7XFxuICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIGl0ZXJba0hhbmRsZVByb21pc2VdKHJlc29sdmUsIHJlamVjdCk7XFxuICAgIH0sIHJlamVjdCk7XFxuICB9O1xcbn1cXG5cXG52YXIgQXN5bmNJdGVyYXRvclByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbiAoKSB7fSk7XFxudmFyIFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZSA9IE9iamVjdC5zZXRQcm90b3R5cGVPZigoX09iamVjdCRzZXRQcm90b3R5cGVPID0ge1xcbiAgZ2V0IHN0cmVhbSgpIHtcXG4gICAgcmV0dXJuIHRoaXNba1N0cmVhbV07XFxuICB9LFxcblxcbiAgbmV4dDogZnVuY3Rpb24gbmV4dCgpIHtcXG4gICAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gICAgLy8gaWYgd2UgaGF2ZSBkZXRlY3RlZCBhbiBlcnJvciBpbiB0aGUgbWVhbndoaWxlXFxuICAgIC8vIHJlamVjdCBzdHJhaWdodCBhd2F5XFxuICAgIHZhciBlcnJvciA9IHRoaXNba0Vycm9yXTtcXG5cXG4gICAgaWYgKGVycm9yICE9PSBudWxsKSB7XFxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpc1trRW5kZWRdKSB7XFxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzW2tTdHJlYW1dLmRlc3Ryb3llZCkge1xcbiAgICAgIC8vIFdlIG5lZWQgdG8gZGVmZXIgdmlhIG5leHRUaWNrIGJlY2F1c2UgaWYgLmRlc3Ryb3koZXJyKSBpc1xcbiAgICAgIC8vIGNhbGxlZCwgdGhlIGVycm9yIHdpbGwgYmUgZW1pdHRlZCB2aWEgbmV4dFRpY2ssIGFuZFxcbiAgICAgIC8vIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhhdCB0aGVyZSBpcyBubyBlcnJvciBsaW5nZXJpbmcgYXJvdW5kXFxuICAgICAgLy8gd2FpdGluZyB0byBiZSBlbWl0dGVkLlxcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgaWYgKF90aGlzW2tFcnJvcl0pIHtcXG4gICAgICAgICAgICByZWplY3QoX3RoaXNba0Vycm9yXSk7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgICB9KTtcXG4gICAgfSAvLyBpZiB3ZSBoYXZlIG11bHRpcGxlIG5leHQoKSBjYWxsc1xcbiAgICAvLyB3ZSB3aWxsIHdhaXQgZm9yIHRoZSBwcmV2aW91cyBQcm9taXNlIHRvIGZpbmlzaFxcbiAgICAvLyB0aGlzIGxvZ2ljIGlzIG9wdGltaXplZCB0byBzdXBwb3J0IGZvciBhd2FpdCBsb29wcyxcXG4gICAgLy8gd2hlcmUgbmV4dCgpIGlzIG9ubHkgY2FsbGVkIG9uY2UgYXQgYSB0aW1lXFxuXFxuXFxuICAgIHZhciBsYXN0UHJvbWlzZSA9IHRoaXNba0xhc3RQcm9taXNlXTtcXG4gICAgdmFyIHByb21pc2U7XFxuXFxuICAgIGlmIChsYXN0UHJvbWlzZSkge1xcbiAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChsYXN0UHJvbWlzZSwgdGhpcykpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIGZhc3QgcGF0aCBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0aGlzLnB1c2goKVxcbiAgICAgIC8vIHdpdGhvdXQgdHJpZ2dlcmluZyB0aGUgbmV4dCgpIHF1ZXVlXFxuICAgICAgdmFyIGRhdGEgPSB0aGlzW2tTdHJlYW1dLnJlYWQoKTtcXG5cXG4gICAgICBpZiAoZGF0YSAhPT0gbnVsbCkge1xcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XFxuICAgICAgfVxcblxcbiAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSh0aGlzW2tIYW5kbGVQcm9taXNlXSk7XFxuICAgIH1cXG5cXG4gICAgdGhpc1trTGFzdFByb21pc2VdID0gcHJvbWlzZTtcXG4gICAgcmV0dXJuIHByb21pc2U7XFxuICB9XFxufSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3Qkc2V0UHJvdG90eXBlTywgU3ltYm9sLmFzeW5jSXRlcmF0b3IsIGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzO1xcbn0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLCBcXFwicmV0dXJuXFxcIiwgZnVuY3Rpb24gX3JldHVybigpIHtcXG4gIHZhciBfdGhpczIgPSB0aGlzO1xcblxcbiAgLy8gZGVzdHJveShlcnIsIGNiKSBpcyBhIHByaXZhdGUgQVBJXFxuICAvLyB3ZSBjYW4gZ3VhcmFudGVlIHdlIGhhdmUgdGhhdCBoZXJlLCBiZWNhdXNlIHdlIGNvbnRyb2wgdGhlXFxuICAvLyBSZWFkYWJsZSBjbGFzcyB0aGlzIGlzIGF0dGFjaGVkIHRvXFxuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xcbiAgICBfdGhpczJba1N0cmVhbV0uZGVzdHJveShudWxsLCBmdW5jdGlvbiAoZXJyKSB7XFxuICAgICAgaWYgKGVycikge1xcbiAgICAgICAgcmVqZWN0KGVycik7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcXG4gICAgfSk7XFxuICB9KTtcXG59KSwgX09iamVjdCRzZXRQcm90b3R5cGVPKSwgQXN5bmNJdGVyYXRvclByb3RvdHlwZSk7XFxuXFxudmFyIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9IGZ1bmN0aW9uIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcihzdHJlYW0pIHtcXG4gIHZhciBfT2JqZWN0JGNyZWF0ZTtcXG5cXG4gIHZhciBpdGVyYXRvciA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlLCAoX09iamVjdCRjcmVhdGUgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrU3RyZWFtLCB7XFxuICAgIHZhbHVlOiBzdHJlYW0sXFxuICAgIHdyaXRhYmxlOiB0cnVlXFxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrTGFzdFJlc29sdmUsIHtcXG4gICAgdmFsdWU6IG51bGwsXFxuICAgIHdyaXRhYmxlOiB0cnVlXFxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrTGFzdFJlamVjdCwge1xcbiAgICB2YWx1ZTogbnVsbCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtFcnJvciwge1xcbiAgICB2YWx1ZTogbnVsbCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtFbmRlZCwge1xcbiAgICB2YWx1ZTogc3RyZWFtLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsXFxuICAgIHdyaXRhYmxlOiB0cnVlXFxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrSGFuZGxlUHJvbWlzZSwge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgICAgdmFyIGRhdGEgPSBpdGVyYXRvcltrU3RyZWFtXS5yZWFkKCk7XFxuXFxuICAgICAgaWYgKGRhdGEpIHtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IG51bGw7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSBudWxsO1xcbiAgICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSByZXNvbHZlO1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gcmVqZWN0O1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfT2JqZWN0JGNyZWF0ZSkpO1xcbiAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICBmaW5pc2hlZChzdHJlYW0sIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKGVyciAmJiBlcnIuY29kZSAhPT0gJ0VSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFJykge1xcbiAgICAgIHZhciByZWplY3QgPSBpdGVyYXRvcltrTGFzdFJlamVjdF07IC8vIHJlamVjdCBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgZGF0YSBpbiB0aGUgUHJvbWlzZVxcbiAgICAgIC8vIHJldHVybmVkIGJ5IG5leHQoKSBhbmQgc3RvcmUgdGhlIGVycm9yXFxuXFxuICAgICAgaWYgKHJlamVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlc29sdmVdID0gbnVsbDtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgICByZWplY3QoZXJyKTtcXG4gICAgICB9XFxuXFxuICAgICAgaXRlcmF0b3Jba0Vycm9yXSA9IGVycjtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlc29sdmUgPSBpdGVyYXRvcltrTGFzdFJlc29sdmVdO1xcblxcbiAgICBpZiAocmVzb2x2ZSAhPT0gbnVsbCkge1xcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICB9XFxuXFxuICAgIGl0ZXJhdG9yW2tFbmRlZF0gPSB0cnVlO1xcbiAgfSk7XFxuICBzdHJlYW0ub24oJ3JlYWRhYmxlJywgb25SZWFkYWJsZS5iaW5kKG51bGwsIGl0ZXJhdG9yKSk7XFxuICByZXR1cm4gaXRlcmF0b3I7XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTloYzNsdVkxOXBkR1Z5WVhSdmNpNXFjejh3WmpJM0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMQ3REUVVGaE96dEJRVVZpT3p0QlFVVkJMREpEUVVFeVF5eHJRa0ZCYTBJc2EwTkJRV3RETEhGRlFVRnhSU3hGUVVGRkxFVkJRVVVzVDBGQlR5eHJRa0ZCYTBJc1JVRkJSU3haUVVGWk96dEJRVVV2VFN4bFFVRmxMRzFDUVVGUExFTkJRVU1zTUVoQlFXbENPenRCUVVWNFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlEUVVGdlF6dEJRVU53UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJMR2xGUVVGcFJUdEJRVU5xUlR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVFzVDBGQlR6dEJRVU5RTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRXNRMEZCUXp0QlFVTkVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SFFVRkhPMEZCUTBnc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJMSGxHUVVGNVJqdEJRVU42Ump0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeDVRMEZCZVVNN1FVRkRla003TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUVJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RjMmxuYmk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMkZ6ZVc1algybDBaWEpoZEc5eUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdYMDlpYW1WamRDUnpaWFJRY205MGIzUjVjR1ZQTzF4dVhHNW1kVzVqZEdsdmJpQmZaR1ZtYVc1bFVISnZjR1Z5ZEhrb2IySnFMQ0JyWlhrc0lIWmhiSFZsS1NCN0lHbG1JQ2hyWlhrZ2FXNGdiMkpxS1NCN0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZXlCMllXeDFaVG9nZG1Gc2RXVXNJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaU3dnZDNKcGRHRmliR1U2SUhSeWRXVWdmU2s3SUgwZ1pXeHpaU0I3SUc5aWFsdHJaWGxkSUQwZ2RtRnNkV1U3SUgwZ2NtVjBkWEp1SUc5aWFqc2dmVnh1WEc1MllYSWdabWx1YVhOb1pXUWdQU0J5WlhGMWFYSmxLQ2N1TDJWdVpDMXZaaTF6ZEhKbFlXMG5LVHRjYmx4dWRtRnlJR3RNWVhOMFVtVnpiMngyWlNBOUlGTjViV0p2YkNnbmJHRnpkRkpsYzI5c2RtVW5LVHRjYm5aaGNpQnJUR0Z6ZEZKbGFtVmpkQ0E5SUZONWJXSnZiQ2duYkdGemRGSmxhbVZqZENjcE8xeHVkbUZ5SUd0RmNuSnZjaUE5SUZONWJXSnZiQ2duWlhKeWIzSW5LVHRjYm5aaGNpQnJSVzVrWldRZ1BTQlRlVzFpYjJ3b0oyVnVaR1ZrSnlrN1hHNTJZWElnYTB4aGMzUlFjbTl0YVhObElEMGdVM2x0WW05c0tDZHNZWE4wVUhKdmJXbHpaU2NwTzF4dWRtRnlJR3RJWVc1a2JHVlFjbTl0YVhObElEMGdVM2x0WW05c0tDZG9ZVzVrYkdWUWNtOXRhWE5sSnlrN1hHNTJZWElnYTFOMGNtVmhiU0E5SUZONWJXSnZiQ2duYzNSeVpXRnRKeWs3WEc1Y2JtWjFibU4wYVc5dUlHTnlaV0YwWlVsMFpYSlNaWE4xYkhRb2RtRnNkV1VzSUdSdmJtVXBJSHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0IyWVd4MVpUb2dkbUZzZFdVc1hHNGdJQ0FnWkc5dVpUb2daRzl1WlZ4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaV0ZrUVc1a1VtVnpiMngyWlNocGRHVnlLU0I3WEc0Z0lIWmhjaUJ5WlhOdmJIWmxJRDBnYVhSbGNsdHJUR0Z6ZEZKbGMyOXNkbVZkTzF4dVhHNGdJR2xtSUNoeVpYTnZiSFpsSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHUmhkR0VnUFNCcGRHVnlXMnRUZEhKbFlXMWRMbkpsWVdRb0tUc2dMeThnZDJVZ1pHVm1aWElnYVdZZ1pHRjBZU0JwY3lCdWRXeHNYRzRnSUNBZ0x5OGdkMlVnWTJGdUlHSmxJR1Y0Y0dWamRHbHVaeUJsYVhSb1pYSWdKMlZ1WkNjZ2IzSmNiaUFnSUNBdkx5QW5aWEp5YjNJblhHNWNiaUFnSUNCcFppQW9aR0YwWVNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FYUmxjbHRyVEdGemRGQnliMjFwYzJWZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUdsMFpYSmJhMHhoYzNSU1pYTnZiSFpsWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JwZEdWeVcydE1ZWE4wVW1WcVpXTjBYU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQnlaWE52YkhabEtHTnlaV0YwWlVsMFpYSlNaWE4xYkhRb1pHRjBZU3dnWm1Gc2MyVXBLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYjI1U1pXRmtZV0pzWlNocGRHVnlLU0I3WEc0Z0lDOHZJSGRsSUhkaGFYUWdabTl5SUhSb1pTQnVaWGgwSUhScFkyc3NJR0psWTJGMWMyVWdhWFFnYldsbmFIUmNiaUFnTHk4Z1pXMXBkQ0JoYmlCbGNuSnZjaUIzYVhSb0lIQnliMk5sYzNNdWJtVjRkRlJwWTJ0Y2JpQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aHlaV0ZrUVc1a1VtVnpiMngyWlN3Z2FYUmxjaWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJSGR5WVhCR2IzSk9aWGgwS0d4aGMzUlFjbTl0YVhObExDQnBkR1Z5S1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ2JHRnpkRkJ5YjIxcGMyVXVkR2hsYmlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQnBaaUFvYVhSbGNsdHJSVzVrWldSZEtTQjdYRzRnSUNBZ0lDQWdJSEpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaDFibVJsWm1sdVpXUXNJSFJ5ZFdVcEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBkR1Z5VzJ0SVlXNWtiR1ZRY205dGFYTmxYU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBPMXh1SUNBZ0lIMHNJSEpsYW1WamRDazdYRzRnSUgwN1hHNTlYRzVjYm5aaGNpQkJjM2x1WTBsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUQwZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LR1oxYm1OMGFXOXVJQ2dwSUh0OUtUdGNiblpoY2lCU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVZ1BTQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllvS0Y5UFltcGxZM1FrYzJWMFVISnZkRzkwZVhCbFR5QTlJSHRjYmlBZ1oyVjBJSE4wY21WaGJTZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjMXRyVTNSeVpXRnRYVHRjYmlBZ2ZTeGNibHh1SUNCdVpYaDBPaUJtZFc1amRHbHZiaUJ1WlhoMEtDa2dlMXh1SUNBZ0lIWmhjaUJmZEdocGN5QTlJSFJvYVhNN1hHNWNiaUFnSUNBdkx5QnBaaUIzWlNCb1lYWmxJR1JsZEdWamRHVmtJR0Z1SUdWeWNtOXlJR2x1SUhSb1pTQnRaV0Z1ZDJocGJHVmNiaUFnSUNBdkx5QnlaV3BsWTNRZ2MzUnlZV2xuYUhRZ1lYZGhlVnh1SUNBZ0lIWmhjaUJsY25KdmNpQTlJSFJvYVhOYmEwVnljbTl5WFR0Y2JseHVJQ0FnSUdsbUlDaGxjbkp2Y2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUZCeWIyMXBjMlV1Y21WcVpXTjBLR1Z5Y205eUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwYzF0clJXNWtaV1JkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzV5WlhOdmJIWmxLR055WldGMFpVbDBaWEpTWlhOMWJIUW9kVzVrWldacGJtVmtMQ0IwY25WbEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhOYmExTjBjbVZoYlYwdVpHVnpkSEp2ZVdWa0tTQjdYRzRnSUNBZ0lDQXZMeUJYWlNCdVpXVmtJSFJ2SUdSbFptVnlJSFpwWVNCdVpYaDBWR2xqYXlCaVpXTmhkWE5sSUdsbUlDNWtaWE4wY205NUtHVnljaWtnYVhOY2JpQWdJQ0FnSUM4dklHTmhiR3hsWkN3Z2RHaGxJR1Z5Y205eUlIZHBiR3dnWW1VZ1pXMXBkSFJsWkNCMmFXRWdibVY0ZEZScFkyc3NJR0Z1WkZ4dUlDQWdJQ0FnTHk4Z2QyVWdZMkZ1Ym05MElHZDFZWEpoYm5SbFpTQjBhR0YwSUhSb1pYSmxJR2x6SUc1dklHVnljbTl5SUd4cGJtZGxjbWx1WnlCaGNtOTFibVJjYmlBZ0lDQWdJQzh2SUhkaGFYUnBibWNnZEc4Z1ltVWdaVzFwZEhSbFpDNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hmZEdocGMxdHJSWEp5YjNKZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpXcGxZM1FvWDNSb2FYTmJhMFZ5Y205eVhTazdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoMWJtUmxabWx1WldRc0lIUnlkV1VwS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlNBdkx5QnBaaUIzWlNCb1lYWmxJRzExYkhScGNHeGxJRzVsZUhRb0tTQmpZV3hzYzF4dUlDQWdJQzh2SUhkbElIZHBiR3dnZDJGcGRDQm1iM0lnZEdobElIQnlaWFpwYjNWeklGQnliMjFwYzJVZ2RHOGdabWx1YVhOb1hHNGdJQ0FnTHk4Z2RHaHBjeUJzYjJkcFl5QnBjeUJ2Y0hScGJXbDZaV1FnZEc4Z2MzVndjRzl5ZENCbWIzSWdZWGRoYVhRZ2JHOXZjSE1zWEc0Z0lDQWdMeThnZDJobGNtVWdibVY0ZENncElHbHpJRzl1YkhrZ1kyRnNiR1ZrSUc5dVkyVWdZWFFnWVNCMGFXMWxYRzVjYmx4dUlDQWdJSFpoY2lCc1lYTjBVSEp2YldselpTQTlJSFJvYVhOYmEweGhjM1JRY205dGFYTmxYVHRjYmlBZ0lDQjJZWElnY0hKdmJXbHpaVHRjYmx4dUlDQWdJR2xtSUNoc1lYTjBVSEp2YldselpTa2dlMXh1SUNBZ0lDQWdjSEp2YldselpTQTlJRzVsZHlCUWNtOXRhWE5sS0hkeVlYQkdiM0pPWlhoMEtHeGhjM1JRY205dGFYTmxMQ0IwYUdsektTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklHWmhjM1FnY0dGMGFDQnVaV1ZrWldRZ2RHOGdjM1Z3Y0c5eWRDQnRkV3gwYVhCc1pTQjBhR2x6TG5CMWMyZ29LVnh1SUNBZ0lDQWdMeThnZDJsMGFHOTFkQ0IwY21sbloyVnlhVzVuSUhSb1pTQnVaWGgwS0NrZ2NYVmxkV1ZjYmlBZ0lDQWdJSFpoY2lCa1lYUmhJRDBnZEdocGMxdHJVM1J5WldGdFhTNXlaV0ZrS0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hrWVhSaElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQlFjbTl0YVhObExuSmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoa1lYUmhMQ0JtWVd4elpTa3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J3Y205dGFYTmxJRDBnYm1WM0lGQnliMjFwYzJVb2RHaHBjMXRyU0dGdVpHeGxVSEp2YldselpWMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE5iYTB4aGMzUlFjbTl0YVhObFhTQTlJSEJ5YjIxcGMyVTdYRzRnSUNBZ2NtVjBkWEp1SUhCeWIyMXBjMlU3WEc0Z0lIMWNibjBzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKSE5sZEZCeWIzUnZkSGx3WlU4c0lGTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TzF4dWZTa3NJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpITmxkRkJ5YjNSdmRIbHdaVThzSUZ3aWNtVjBkWEp1WENJc0lHWjFibU4wYVc5dUlGOXlaWFIxY200b0tTQjdYRzRnSUhaaGNpQmZkR2hwY3pJZ1BTQjBhR2x6TzF4dVhHNGdJQzh2SUdSbGMzUnliM2tvWlhKeUxDQmpZaWtnYVhNZ1lTQndjbWwyWVhSbElFRlFTVnh1SUNBdkx5QjNaU0JqWVc0Z1ozVmhjbUZ1ZEdWbElIZGxJR2hoZG1VZ2RHaGhkQ0JvWlhKbExDQmlaV05oZFhObElIZGxJR052Ym5SeWIyd2dkR2hsWEc0Z0lDOHZJRkpsWVdSaFlteGxJR05zWVhOeklIUm9hWE1nYVhNZ1lYUjBZV05vWldRZ2RHOWNiaUFnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1SUNoeVpYTnZiSFpsTENCeVpXcGxZM1FwSUh0Y2JpQWdJQ0JmZEdocGN6SmJhMU4wY21WaGJWMHVaR1Z6ZEhKdmVTaHVkV3hzTENCbWRXNWpkR2x2YmlBb1pYSnlLU0I3WEc0Z0lDQWdJQ0JwWmlBb1pYSnlLU0I3WEc0Z0lDQWdJQ0FnSUhKbGFtVmpkQ2hsY25JcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoMWJtUmxabWx1WldRc0lIUnlkV1VwS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdmU2s3WEc1OUtTd2dYMDlpYW1WamRDUnpaWFJRY205MGIzUjVjR1ZQS1N3Z1FYTjVibU5KZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU2s3WEc1Y2JuWmhjaUJqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSWdQU0JtZFc1amRHbHZiaUJqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSW9jM1J5WldGdEtTQjdYRzRnSUhaaGNpQmZUMkpxWldOMEpHTnlaV0YwWlR0Y2JseHVJQ0IyWVhJZ2FYUmxjbUYwYjNJZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0ZKbFlXUmhZbXhsVTNSeVpXRnRRWE41Ym1OSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlN3Z0tGOVBZbXBsWTNRa1kzSmxZWFJsSUQwZ2UzMHNJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpHTnlaV0YwWlN3Z2ExTjBjbVZoYlN3Z2UxeHVJQ0FnSUhaaGJIVmxPaUJ6ZEhKbFlXMHNYRzRnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1ZjYmlBZ2ZTa3NJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpHTnlaV0YwWlN3Z2EweGhjM1JTWlhOdmJIWmxMQ0I3WEc0Z0lDQWdkbUZzZFdVNklHNTFiR3dzWEc0Z0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMHhoYzNSU1pXcGxZM1FzSUh0Y2JpQWdJQ0IyWVd4MVpUb2diblZzYkN4Y2JpQWdJQ0IzY21sMFlXSnNaVG9nZEhKMVpWeHVJQ0I5S1N3Z1gyUmxabWx1WlZCeWIzQmxjblI1S0Y5UFltcGxZM1FrWTNKbFlYUmxMQ0JyUlhKeWIzSXNJSHRjYmlBZ0lDQjJZV3gxWlRvZ2JuVnNiQ3hjYmlBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlZ4dUlDQjlLU3dnWDJSbFptbHVaVkJ5YjNCbGNuUjVLRjlQWW1wbFkzUWtZM0psWVhSbExDQnJSVzVrWldRc0lIdGNiaUFnSUNCMllXeDFaVG9nYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbExtVnVaRVZ0YVhSMFpXUXNYRzRnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1ZjYmlBZ2ZTa3NJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpHTnlaV0YwWlN3Z2EwaGhibVJzWlZCeWIyMXBjMlVzSUh0Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdkbUZzZFdVb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NCN1hHNGdJQ0FnSUNCMllYSWdaR0YwWVNBOUlHbDBaWEpoZEc5eVcydFRkSEpsWVcxZExuSmxZV1FvS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLR1JoZEdFcElIdGNiaUFnSUNBZ0lDQWdhWFJsY21GMGIzSmJhMHhoYzNSUWNtOXRhWE5sWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUdsMFpYSmhkRzl5VzJ0TVlYTjBVbVZ6YjJ4MlpWMGdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZKbGFtVmpkRjBnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0J5WlhOdmJIWmxLR055WldGMFpVbDBaWEpTWlhOMWJIUW9aR0YwWVN3Z1ptRnNjMlVwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdsMFpYSmhkRzl5VzJ0TVlYTjBVbVZ6YjJ4MlpWMGdQU0J5WlhOdmJIWmxPMXh1SUNBZ0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGSmxhbVZqZEYwZ1BTQnlaV3BsWTNRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlN4Y2JpQWdJQ0IzY21sMFlXSnNaVG9nZEhKMVpWeHVJQ0I5S1N3Z1gwOWlhbVZqZENSamNtVmhkR1VwS1R0Y2JpQWdhWFJsY21GMGIzSmJhMHhoYzNSUWNtOXRhWE5sWFNBOUlHNTFiR3c3WEc0Z0lHWnBibWx6YUdWa0tITjBjbVZoYlN3Z1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJR2xtSUNobGNuSWdKaVlnWlhKeUxtTnZaR1VnSVQwOUlDZEZVbEpmVTFSU1JVRk5YMUJTUlUxQlZGVlNSVjlEVEU5VFJTY3BJSHRjYmlBZ0lDQWdJSFpoY2lCeVpXcGxZM1FnUFNCcGRHVnlZWFJ2Y2x0clRHRnpkRkpsYW1WamRGMDdJQzh2SUhKbGFtVmpkQ0JwWmlCM1pTQmhjbVVnZDJGcGRHbHVaeUJtYjNJZ1pHRjBZU0JwYmlCMGFHVWdVSEp2YldselpWeHVJQ0FnSUNBZ0x5OGdjbVYwZFhKdVpXUWdZbmtnYm1WNGRDZ3BJR0Z1WkNCemRHOXlaU0IwYUdVZ1pYSnliM0pjYmx4dUlDQWdJQ0FnYVdZZ0tISmxhbVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZCeWIyMXBjMlZkSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnYVhSbGNtRjBiM0piYTB4aGMzUlNaWE52YkhabFhTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEc5eVcydE1ZWE4wVW1WcVpXTjBYU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSEpsYW1WamRDaGxjbklwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcGRHVnlZWFJ2Y2x0clJYSnliM0pkSUQwZ1pYSnlPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE52YkhabElEMGdhWFJsY21GMGIzSmJhMHhoYzNSU1pYTnZiSFpsWFR0Y2JseHVJQ0FnSUdsbUlDaHlaWE52YkhabElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZCeWIyMXBjMlZkSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJR2wwWlhKaGRHOXlXMnRNWVhOMFVtVnpiMngyWlYwZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnYVhSbGNtRjBiM0piYTB4aGMzUlNaV3BsWTNSZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUhKbGMyOXNkbVVvWTNKbFlYUmxTWFJsY2xKbGMzVnNkQ2gxYm1SbFptbHVaV1FzSUhSeWRXVXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBkR1Z5WVhSdmNsdHJSVzVrWldSZElEMGdkSEoxWlR0Y2JpQWdmU2s3WEc0Z0lITjBjbVZoYlM1dmJpZ25jbVZoWkdGaWJHVW5MQ0J2YmxKbFlXUmhZbXhsTG1KcGJtUW9iblZzYkN3Z2FYUmxjbUYwYjNJcEtUdGNiaUFnY21WMGRYSnVJR2wwWlhKaGRHOXlPMXh1ZlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJN0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XFxuXFxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKE9iamVjdChzb3VyY2UpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XFxuXFxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cXG5cXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblxcXCIpOyB9IH1cXG5cXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcXFwidmFsdWVcXFwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxcblxcbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XFxuXFxudmFyIF9yZXF1aXJlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKSxcXG4gICAgQnVmZmVyID0gX3JlcXVpcmUuQnVmZmVyO1xcblxcbnZhciBfcmVxdWlyZTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB1dGlsICovIDgpLFxcbiAgICBpbnNwZWN0ID0gX3JlcXVpcmUyLmluc3BlY3Q7XFxuXFxudmFyIGN1c3RvbSA9IGluc3BlY3QgJiYgaW5zcGVjdC5jdXN0b20gfHwgJ2luc3BlY3QnO1xcblxcbmZ1bmN0aW9uIGNvcHlCdWZmZXIoc3JjLCB0YXJnZXQsIG9mZnNldCkge1xcbiAgQnVmZmVyLnByb3RvdHlwZS5jb3B5LmNhbGwoc3JjLCB0YXJnZXQsIG9mZnNldCk7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID1cXG4vKiNfX1BVUkVfXyovXFxuZnVuY3Rpb24gKCkge1xcbiAgZnVuY3Rpb24gQnVmZmVyTGlzdCgpIHtcXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJ1ZmZlckxpc3QpO1xcblxcbiAgICB0aGlzLmhlYWQgPSBudWxsO1xcbiAgICB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuICB9XFxuXFxuICBfY3JlYXRlQ2xhc3MoQnVmZmVyTGlzdCwgW3tcXG4gICAga2V5OiBcXFwicHVzaFxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwdXNoKHYpIHtcXG4gICAgICB2YXIgZW50cnkgPSB7XFxuICAgICAgICBkYXRhOiB2LFxcbiAgICAgICAgbmV4dDogbnVsbFxcbiAgICAgIH07XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgdGhpcy50YWlsLm5leHQgPSBlbnRyeTtlbHNlIHRoaXMuaGVhZCA9IGVudHJ5O1xcbiAgICAgIHRoaXMudGFpbCA9IGVudHJ5O1xcbiAgICAgICsrdGhpcy5sZW5ndGg7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwidW5zaGlmdFxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bnNoaWZ0KHYpIHtcXG4gICAgICB2YXIgZW50cnkgPSB7XFxuICAgICAgICBkYXRhOiB2LFxcbiAgICAgICAgbmV4dDogdGhpcy5oZWFkXFxuICAgICAgfTtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHRoaXMudGFpbCA9IGVudHJ5O1xcbiAgICAgIHRoaXMuaGVhZCA9IGVudHJ5O1xcbiAgICAgICsrdGhpcy5sZW5ndGg7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwic2hpZnRcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2hpZnQoKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm47XFxuICAgICAgdmFyIHJldCA9IHRoaXMuaGVhZC5kYXRhO1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSkgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMuaGVhZC5uZXh0O1xcbiAgICAgIC0tdGhpcy5sZW5ndGg7XFxuICAgICAgcmV0dXJuIHJldDtcXG4gICAgfVxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJjbGVhclxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjbGVhcigpIHtcXG4gICAgICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMDtcXG4gICAgfVxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJqb2luXFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGpvaW4ocykge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xcbiAgICAgIHZhciByZXQgPSAnJyArIHAuZGF0YTtcXG5cXG4gICAgICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICAgICAgcmV0ICs9IHMgKyBwLmRhdGE7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiY29uY2F0XFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbmNhdChuKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gQnVmZmVyLmFsbG9jKDApO1xcbiAgICAgIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobiA+Pj4gMCk7XFxuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgICAgdmFyIGkgPSAwO1xcblxcbiAgICAgIHdoaWxlIChwKSB7XFxuICAgICAgICBjb3B5QnVmZmVyKHAuZGF0YSwgcmV0LCBpKTtcXG4gICAgICAgIGkgKz0gcC5kYXRhLmxlbmd0aDtcXG4gICAgICAgIHAgPSBwLm5leHQ7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH0gLy8gQ29uc3VtZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIG9yIGNoYXJhY3RlcnMgZnJvbSB0aGUgYnVmZmVyZWQgZGF0YS5cXG5cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiY29uc3VtZVxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb25zdW1lKG4sIGhhc1N0cmluZ3MpIHtcXG4gICAgICB2YXIgcmV0O1xcblxcbiAgICAgIGlmIChuIDwgdGhpcy5oZWFkLmRhdGEubGVuZ3RoKSB7XFxuICAgICAgICAvLyBgc2xpY2VgIGlzIHRoZSBzYW1lIGZvciBidWZmZXJzIGFuZCBzdHJpbmdzLlxcbiAgICAgICAgcmV0ID0gdGhpcy5oZWFkLmRhdGEuc2xpY2UoMCwgbik7XFxuICAgICAgICB0aGlzLmhlYWQuZGF0YSA9IHRoaXMuaGVhZC5kYXRhLnNsaWNlKG4pO1xcbiAgICAgIH0gZWxzZSBpZiAobiA9PT0gdGhpcy5oZWFkLmRhdGEubGVuZ3RoKSB7XFxuICAgICAgICAvLyBGaXJzdCBjaHVuayBpcyBhIHBlcmZlY3QgbWF0Y2guXFxuICAgICAgICByZXQgPSB0aGlzLnNoaWZ0KCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIFJlc3VsdCBzcGFucyBtb3JlIHRoYW4gb25lIGJ1ZmZlci5cXG4gICAgICAgIHJldCA9IGhhc1N0cmluZ3MgPyB0aGlzLl9nZXRTdHJpbmcobikgOiB0aGlzLl9nZXRCdWZmZXIobik7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiZmlyc3RcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZmlyc3QoKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaGVhZC5kYXRhO1xcbiAgICB9IC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBjaGFyYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXFxuXFxuICB9LCB7XFxuICAgIGtleTogXFxcIl9nZXRTdHJpbmdcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldFN0cmluZyhuKSB7XFxuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgICAgdmFyIGMgPSAxO1xcbiAgICAgIHZhciByZXQgPSBwLmRhdGE7XFxuICAgICAgbiAtPSByZXQubGVuZ3RoO1xcblxcbiAgICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XFxuICAgICAgICB2YXIgc3RyID0gcC5kYXRhO1xcbiAgICAgICAgdmFyIG5iID0gbiA+IHN0ci5sZW5ndGggPyBzdHIubGVuZ3RoIDogbjtcXG4gICAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkgcmV0ICs9IHN0cjtlbHNlIHJldCArPSBzdHIuc2xpY2UoMCwgbik7XFxuICAgICAgICBuIC09IG5iO1xcblxcbiAgICAgICAgaWYgKG4gPT09IDApIHtcXG4gICAgICAgICAgaWYgKG5iID09PSBzdHIubGVuZ3RoKSB7XFxuICAgICAgICAgICAgKytjO1xcbiAgICAgICAgICAgIGlmIChwLm5leHQpIHRoaXMuaGVhZCA9IHAubmV4dDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdGhpcy5oZWFkID0gcDtcXG4gICAgICAgICAgICBwLmRhdGEgPSBzdHIuc2xpY2UobmIpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgKytjO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmxlbmd0aCAtPSBjO1xcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH0gLy8gQ29uc3VtZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXFxuXFxuICB9LCB7XFxuICAgIGtleTogXFxcIl9nZXRCdWZmZXJcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldEJ1ZmZlcihuKSB7XFxuICAgICAgdmFyIHJldCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuKTtcXG4gICAgICB2YXIgcCA9IHRoaXMuaGVhZDtcXG4gICAgICB2YXIgYyA9IDE7XFxuICAgICAgcC5kYXRhLmNvcHkocmV0KTtcXG4gICAgICBuIC09IHAuZGF0YS5sZW5ndGg7XFxuXFxuICAgICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcXG4gICAgICAgIHZhciBidWYgPSBwLmRhdGE7XFxuICAgICAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xcbiAgICAgICAgYnVmLmNvcHkocmV0LCByZXQubGVuZ3RoIC0gbiwgMCwgbmIpO1xcbiAgICAgICAgbiAtPSBuYjtcXG5cXG4gICAgICAgIGlmIChuID09PSAwKSB7XFxuICAgICAgICAgIGlmIChuYiA9PT0gYnVmLmxlbmd0aCkge1xcbiAgICAgICAgICAgICsrYztcXG4gICAgICAgICAgICBpZiAocC5uZXh0KSB0aGlzLmhlYWQgPSBwLm5leHQ7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHRoaXMuaGVhZCA9IHA7XFxuICAgICAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICsrYztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5sZW5ndGggLT0gYztcXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9IC8vIE1ha2Ugc3VyZSB0aGUgbGlua2VkIGxpc3Qgb25seSBzaG93cyB0aGUgbWluaW1hbCBuZWNlc3NhcnkgaW5mb3JtYXRpb24uXFxuXFxuICB9LCB7XFxuICAgIGtleTogY3VzdG9tLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUoXywgb3B0aW9ucykge1xcbiAgICAgIHJldHVybiBpbnNwZWN0KHRoaXMsIF9vYmplY3RTcHJlYWQoe30sIG9wdGlvbnMsIHtcXG4gICAgICAgIC8vIE9ubHkgaW5zcGVjdCBvbmUgbGV2ZWwuXFxuICAgICAgICBkZXB0aDogMCxcXG4gICAgICAgIC8vIEl0IHNob3VsZCBub3QgcmVjdXJzZS5cXG4gICAgICAgIGN1c3RvbUluc3BlY3Q6IGZhbHNlXFxuICAgICAgfSkpO1xcbiAgICB9XFxuICB9XSk7XFxuXFxuICByZXR1cm4gQnVmZmVyTGlzdDtcXG59KCk7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5aWRXWm1aWEpmYkdsemRDNXFjejh3Tm1SaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxEQkRRVUV3UXl4blEwRkJaME1zYjBOQlFXOURMRzlFUVVGdlJDdzRSRUZCT0VRc1owVkJRV2RGTEVWQlFVVXNSVUZCUlN4blEwRkJaME1zUlVGQlJTeGhRVUZoT3p0QlFVVnVWaXhuUTBGQlowTXNaMEpCUVdkQ0xITkNRVUZ6UWl4UFFVRlBMSFZFUVVGMVJDeGhRVUZoTEhWRVFVRjFSQ3d5UTBGQk1rTXNSVUZCUlN4RlFVRkZMRVZCUVVVc05rTkJRVFpETERKRlFVRXlSU3hGUVVGRkxFOUJRVThzYVVSQlFXbEVMR3RHUVVGclJpeEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMR1ZCUVdVN08wRkJSWEJvUWl3eVEwRkJNa01zYTBKQlFXdENMR3REUVVGclF5eHhSVUZCY1VVc1JVRkJSU3hGUVVGRkxFOUJRVThzYTBKQlFXdENMRVZCUVVVc1dVRkJXVHM3UVVGRkwwMHNhVVJCUVdsRUxEQkRRVUV3UXl3d1JFRkJNRVFzUlVGQlJUczdRVUZGZGtvc01rTkJRVEpETEdkQ1FVRm5RaXhyUWtGQmEwSXNUMEZCVHl3eVFrRkJNa0lzZDBSQlFYZEVMR2REUVVGblF5eDFSRUZCZFVRc01rUkJRVEpFTEVWQlFVVTdPMEZCUlROVUxEWkVRVUUyUkN4elJVRkJjMFVzT0VSQlFUaEVMRzlDUVVGdlFqczdRVUZGY2s0c1pVRkJaU3h0UWtGQlR5eERRVUZETERoRFFVRlJPMEZCUXk5Q096dEJRVVZCTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEdGQlFVMDdRVUZET1VJN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHJSRUZCYTBRN1FVRkRiRVE3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNRVJCUVRCRU8wRkJRekZFTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMT3p0QlFVVk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FTkJRVEJETzBGQlF6RkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERKRFFVRXlRenRCUVVNelF5eFhRVUZYTzBGQlExZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVEN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d5UTBGQk1rTTdRVUZETTBNc1YwRkJWenRCUVVOWU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN08wRkJSVXdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN3eVEwRkJNa003UVVGRE0wTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFc1EwRkJReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1Wm5WdVkzUnBiMjRnYjNkdVMyVjVjeWh2WW1wbFkzUXNJR1Z1ZFcxbGNtRmliR1ZQYm14NUtTQjdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2IySnFaV04wS1RzZ2FXWWdLRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1wSUhzZ2RtRnlJSE41YldKdmJITWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0c5aWFtVmpkQ2s3SUdsbUlDaGxiblZ0WlhKaFlteGxUMjVzZVNrZ2MzbHRZbTlzY3lBOUlITjViV0p2YkhNdVptbHNkR1Z5S0daMWJtTjBhVzl1SUNoemVXMHBJSHNnY21WMGRYSnVJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2IySnFaV04wTENCemVXMHBMbVZ1ZFcxbGNtRmliR1U3SUgwcE95QnJaWGx6TG5CMWMyZ3VZWEJ3Ykhrb2EyVjVjeXdnYzNsdFltOXNjeWs3SUgwZ2NtVjBkWEp1SUd0bGVYTTdJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyOWlhbVZqZEZOd2NtVmhaQ2gwWVhKblpYUXBJSHNnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BJSHNnZG1GeUlITnZkWEpqWlNBOUlHRnlaM1Z0Wlc1MGMxdHBYU0FoUFNCdWRXeHNJRDhnWVhKbmRXMWxiblJ6VzJsZElEb2dlMzA3SUdsbUlDaHBJQ1VnTWlrZ2V5QnZkMjVMWlhsektFOWlhbVZqZENoemIzVnlZMlVwTENCMGNuVmxLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hyWlhrcElIc2dYMlJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z2EyVjVMQ0J6YjNWeVkyVmJhMlY1WFNrN0lIMHBPeUI5SUdWc2MyVWdhV1lnS0U5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSnpLU0I3SUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGFXVnpLSFJoY21kbGRDd2dUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25Nb2MyOTFjbU5sS1NrN0lIMGdaV3h6WlNCN0lHOTNia3RsZVhNb1QySnFaV04wS0hOdmRYSmpaU2twTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0d0bGVTa2dleUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2MyOTFjbU5sTENCclpYa3BLVHNnZlNrN0lIMGdmU0J5WlhSMWNtNGdkR0Z5WjJWME95QjlYRzVjYm1aMWJtTjBhVzl1SUY5a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZG1Gc2RXVXBJSHNnYVdZZ0tHdGxlU0JwYmlCdlltb3BJSHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOWlhaXdnYTJWNUxDQjdJSFpoYkhWbE9pQjJZV3gxWlN3Z1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExDQjNjbWwwWVdKc1pUb2dkSEoxWlNCOUtUc2dmU0JsYkhObElIc2diMkpxVzJ0bGVWMGdQU0IyWVd4MVpUc2dmU0J5WlhSMWNtNGdiMkpxT3lCOVhHNWNibVoxYm1OMGFXOXVJRjlqYkdGemMwTmhiR3hEYUdWamF5aHBibk4wWVc1alpTd2dRMjl1YzNSeWRXTjBiM0lwSUhzZ2FXWWdLQ0VvYVc1emRHRnVZMlVnYVc1emRHRnVZMlZ2WmlCRGIyNXpkSEoxWTNSdmNpa3BJSHNnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCallXeHNJR0VnWTJ4aGMzTWdZWE1nWVNCbWRXNWpkR2x2Ymx3aUtUc2dmU0I5WEc1Y2JtWjFibU4wYVc5dUlGOWtaV1pwYm1WUWNtOXdaWEowYVdWektIUmhjbWRsZEN3Z2NISnZjSE1wSUhzZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUdrckt5a2dleUIyWVhJZ1pHVnpZM0pwY0hSdmNpQTlJSEJ5YjNCelcybGRPeUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdVZ1BTQmtaWE5qY21sd2RHOXlMbVZ1ZFcxbGNtRmliR1VnZkh3Z1ptRnNjMlU3SUdSbGMyTnlhWEIwYjNJdVkyOXVabWxuZFhKaFlteGxJRDBnZEhKMVpUc2dhV1lnS0Z3aWRtRnNkV1ZjSWlCcGJpQmtaWE5qY21sd2RHOXlLU0JrWlhOamNtbHdkRzl5TG5keWFYUmhZbXhsSUQwZ2RISjFaVHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z1pHVnpZM0pwY0hSdmNpNXJaWGtzSUdSbGMyTnlhWEIwYjNJcE95QjlJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyTnlaV0YwWlVOc1lYTnpLRU52Ym5OMGNuVmpkRzl5TENCd2NtOTBiMUJ5YjNCekxDQnpkR0YwYVdOUWNtOXdjeWtnZXlCcFppQW9jSEp2ZEc5UWNtOXdjeWtnWDJSbFptbHVaVkJ5YjNCbGNuUnBaWE1vUTI5dWMzUnlkV04wYjNJdWNISnZkRzkwZVhCbExDQndjbTkwYjFCeWIzQnpLVHNnYVdZZ0tITjBZWFJwWTFCeWIzQnpLU0JmWkdWbWFXNWxVSEp2Y0dWeWRHbGxjeWhEYjI1emRISjFZM1J2Y2l3Z2MzUmhkR2xqVUhKdmNITXBPeUJ5WlhSMWNtNGdRMjl1YzNSeWRXTjBiM0k3SUgxY2JseHVkbUZ5SUY5eVpYRjFhWEpsSUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5Snlrc1hHNGdJQ0FnUW5WbVptVnlJRDBnWDNKbGNYVnBjbVV1UW5WbVptVnlPMXh1WEc1MllYSWdYM0psY1hWcGNtVXlJRDBnY21WeGRXbHlaU2duZFhScGJDY3BMRnh1SUNBZ0lHbHVjM0JsWTNRZ1BTQmZjbVZ4ZFdseVpUSXVhVzV6Y0dWamREdGNibHh1ZG1GeUlHTjFjM1J2YlNBOUlHbHVjM0JsWTNRZ0ppWWdhVzV6Y0dWamRDNWpkWE4wYjIwZ2ZId2dKMmx1YzNCbFkzUW5PMXh1WEc1bWRXNWpkR2x2YmlCamIzQjVRblZtWm1WeUtITnlZeXdnZEdGeVoyVjBMQ0J2Wm1aelpYUXBJSHRjYmlBZ1FuVm1abVZ5TG5CeWIzUnZkSGx3WlM1amIzQjVMbU5oYkd3b2MzSmpMQ0IwWVhKblpYUXNJRzltWm5ObGRDazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQxY2JpOHFJMTlmVUZWU1JWOWZLaTljYm1aMWJtTjBhVzl1SUNncElIdGNiaUFnWm5WdVkzUnBiMjRnUW5WbVptVnlUR2x6ZENncElIdGNiaUFnSUNCZlkyeGhjM05EWVd4c1EyaGxZMnNvZEdocGN5d2dRblZtWm1WeVRHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtaGxZV1FnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1SUNCOVhHNWNiaUFnWDJOeVpXRjBaVU5zWVhOektFSjFabVpsY2t4cGMzUXNJRnQ3WEc0Z0lDQWdhMlY1T2lCY0luQjFjMmhjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdjSFZ6YUNoMktTQjdYRzRnSUNBZ0lDQjJZWElnWlc1MGNua2dQU0I3WEc0Z0lDQWdJQ0FnSUdSaGRHRTZJSFlzWEc0Z0lDQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBd0tTQjBhR2x6TG5SaGFXd3VibVY0ZENBOUlHVnVkSEo1TzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG5SaGFXd2dQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5WdWMyaHBablJjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdkVzV6YUdsbWRDaDJLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCN1hHNGdJQ0FnSUNBZ0lHUmhkR0U2SUhZc1hHNGdJQ0FnSUNBZ0lHNWxlSFE2SUhSb2FYTXVhR1ZoWkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dkR2hwY3k1MFlXbHNJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG1obFlXUWdQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5Ob2FXWjBYQ0lzWEc0Z0lDQWdkbUZzZFdVNklHWjFibU4wYVc5dUlITm9hV1owS0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1b1pXRmtMbVJoZEdFN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXBJSFJvYVhNdWFHVmhaQ0E5SUhSb2FYTXVkR0ZwYkNBOUlHNTFiR3c3Wld4elpTQjBhR2x6TG1obFlXUWdQU0IwYUdsekxtaGxZV1F1Ym1WNGREdGNiaUFnSUNBZ0lDMHRkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDFjYmlBZ2ZTd2dlMXh1SUNBZ0lHdGxlVG9nWENKamJHVmhjbHdpTEZ4dUlDQWdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQmpiR1ZoY2lncElIdGNiaUFnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltcHZhVzVjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdhbTlwYmloektTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUFuSnp0Y2JpQWdJQ0FnSUhaaGNpQndJRDBnZEdocGN5NW9aV0ZrTzF4dUlDQWdJQ0FnZG1GeUlISmxkQ0E5SUNjbklDc2djQzVrWVhSaE8xeHVYRzRnSUNBZ0lDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhRZ0t6MGdjeUFySUhBdVpHRjBZVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsZER0Y2JpQWdJQ0I5WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVZMkYwWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR052Ym1OaGRDaHVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCQ2RXWm1aWEl1WVd4c2IyTW9NQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NtVjBJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0c0Z1BqNCtJREFwTzF4dUlDQWdJQ0FnZG1GeUlIQWdQU0IwYUdsekxtaGxZV1E3WEc0Z0lDQWdJQ0IyWVhJZ2FTQTlJREE3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZjSGxDZFdabVpYSW9jQzVrWVhSaExDQnlaWFFzSUdrcE8xeHVJQ0FnSUNBZ0lDQnBJQ3M5SUhBdVpHRjBZUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJSEFnUFNCd0xtNWxlSFE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlNBdkx5QkRiMjV6ZFcxbGN5QmhJSE53WldOcFptbGxaQ0JoYlc5MWJuUWdiMllnWW5sMFpYTWdiM0lnWTJoaGNtRmpkR1Z5Y3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVjM1Z0WlZ3aUxGeHVJQ0FnSUhaaGJIVmxPaUJtZFc1amRHbHZiaUJqYjI1emRXMWxLRzRzSUdoaGMxTjBjbWx1WjNNcElIdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1SUR3Z2RHaHBjeTVvWldGa0xtUmhkR0V1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUM4dklHQnpiR2xqWldBZ2FYTWdkR2hsSUhOaGJXVWdabTl5SUdKMVptWmxjbk1nWVc1a0lITjBjbWx1WjNNdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtEQXNJRzRwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbWhsWVdRdVpHRjBZU0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtHNHBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h1SUQwOVBTQjBhR2x6TG1obFlXUXVaR0YwWVM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbWx5YzNRZ1kyaDFibXNnYVhNZ1lTQndaWEptWldOMElHMWhkR05vTGx4dUlDQWdJQ0FnSUNCeVpYUWdQU0IwYUdsekxuTm9hV1owS0NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QlNaWE4xYkhRZ2MzQmhibk1nYlc5eVpTQjBhR0Z1SUc5dVpTQmlkV1ptWlhJdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUdoaGMxTjBjbWx1WjNNZ1B5QjBhR2x6TGw5blpYUlRkSEpwYm1jb2Jpa2dPaUIwYUdsekxsOW5aWFJDZFdabVpYSW9iaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltWnBjbk4wWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR1pwY25OMEtDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YUdWaFpDNWtZWFJoTzF4dUlDQWdJSDBnTHk4Z1EyOXVjM1Z0WlhNZ1lTQnpjR1ZqYVdacFpXUWdZVzF2ZFc1MElHOW1JR05vWVhKaFkzUmxjbk1nWm5KdmJTQjBhR1VnWW5WbVptVnlaV1FnWkdGMFlTNWNibHh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSWw5blpYUlRkSEpwYm1kY0lpeGNiaUFnSUNCMllXeDFaVG9nWm5WdVkzUnBiMjRnWDJkbGRGTjBjbWx1WnlodUtTQjdYRzRnSUNBZ0lDQjJZWElnY0NBOUlIUm9hWE11YUdWaFpEdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ01UdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNCdUlDMDlJSEpsZEM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6ZEhJZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJ6ZEhJdWJHVnVaM1JvSUQ4Z2MzUnlMbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdsbUlDaHVZaUE5UFQwZ2MzUnlMbXhsYm1kMGFDa2djbVYwSUNzOUlITjBjanRsYkhObElISmxkQ0FyUFNCemRISXVjMnhwWTJVb01Dd2diaWs3WEc0Z0lDQWdJQ0FnSUc0Z0xUMGdibUk3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibUlnUFQwOUlITjBjaTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDc3JZenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3TG01bGVIUXBJSFJvYVhNdWFHVmhaQ0E5SUhBdWJtVjRkRHRsYkhObElIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSEE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndMbVJoZEdFZ1BTQnpkSEl1YzJ4cFkyVW9ibUlwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0t5dGpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBdFBTQmpPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxkRHRjYmlBZ0lDQjlJQzh2SUVOdmJuTjFiV1Z6SUdFZ2MzQmxZMmxtYVdWa0lHRnRiM1Z1ZENCdlppQmllWFJsY3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVgyZGxkRUoxWm1abGNsd2lMRnh1SUNBZ0lIWmhiSFZsT2lCbWRXNWpkR2x2YmlCZloyVjBRblZtWm1WeUtHNHBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYUWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYmlrN1hHNGdJQ0FnSUNCMllYSWdjQ0E5SUhSb2FYTXVhR1ZoWkR0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnTVR0Y2JpQWdJQ0FnSUhBdVpHRjBZUzVqYjNCNUtISmxkQ2s3WEc0Z0lDQWdJQ0J1SUMwOUlIQXVaR0YwWVM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJpZFdZZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJpZFdZdWJHVnVaM1JvSUQ4Z1luVm1MbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdKMVppNWpiM0I1S0hKbGRDd2djbVYwTG14bGJtZDBhQ0F0SUc0c0lEQXNJRzVpS1R0Y2JpQWdJQ0FnSUNBZ2JpQXRQU0J1WWp0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h1WWlBOVBUMGdZblZtTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdLeXRqTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hBdWJtVjRkQ2tnZEdocGN5NW9aV0ZrSUQwZ2NDNXVaWGgwTzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnZEdocGN5NTBZV2xzSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1b1pXRmtJRDBnY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEF1WkdGMFlTQTlJR0oxWmk1emJHbGpaU2h1WWlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQXJLMk03WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJR003WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDBnTHk4Z1RXRnJaU0J6ZFhKbElIUm9aU0JzYVc1clpXUWdiR2x6ZENCdmJteDVJSE5vYjNkeklIUm9aU0J0YVc1cGJXRnNJRzVsWTJWemMyRnllU0JwYm1admNtMWhkR2x2Ymk1Y2JseHVJQ0I5TENCN1hHNGdJQ0FnYTJWNU9pQmpkWE4wYjIwc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJSFpoYkhWbEtGOHNJRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnBibk53WldOMEtIUm9hWE1zSUY5dlltcGxZM1JUY0hKbFlXUW9lMzBzSUc5d2RHbHZibk1zSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCcGJuTndaV04wSUc5dVpTQnNaWFpsYkM1Y2JpQWdJQ0FnSUNBZ1pHVndkR2c2SURBc1hHNGdJQ0FnSUNBZ0lDOHZJRWwwSUhOb2IzVnNaQ0J1YjNRZ2NtVmpkWEp6WlM1Y2JpQWdJQ0FnSUNBZ1kzVnpkRzl0U1c1emNHVmpkRG9nWm1Gc2MyVmNiaUFnSUNBZ0lIMHBLVHRjYmlBZ0lDQjlYRzRnSUgxZEtUdGNibHh1SUNCeVpYUjFjbTRnUW5WbVptVnlUR2x6ZER0Y2JuMG9LVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7IC8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcXG5cXG5mdW5jdGlvbiBkZXN0cm95KGVyciwgY2IpIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICB2YXIgcmVhZGFibGVEZXN0cm95ZWQgPSB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgdmFyIHdyaXRhYmxlRGVzdHJveWVkID0gdGhpcy5fd3JpdGFibGVTdGF0ZSAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG5cXG4gIGlmIChyZWFkYWJsZURlc3Ryb3llZCB8fCB3cml0YWJsZURlc3Ryb3llZCkge1xcbiAgICBpZiAoY2IpIHtcXG4gICAgICBjYihlcnIpO1xcbiAgICB9IGVsc2UgaWYgKGVycikge1xcbiAgICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9IC8vIHdlIHNldCBkZXN0cm95ZWQgdG8gdHJ1ZSBiZWZvcmUgZmlyaW5nIGVycm9yIGNhbGxiYWNrcyBpbiBvcmRlclxcbiAgLy8gdG8gbWFrZSBpdCByZS1lbnRyYW5jZSBzYWZlIGluIGNhc2UgZGVzdHJveSgpIGlzIGNhbGxlZCB3aXRoaW4gY2FsbGJhY2tzXFxuXFxuXFxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHRydWU7XFxuICB9IC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcXG5cXG5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKCFjYiAmJiBlcnIpIHtcXG4gICAgICBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQsIF90aGlzLCBlcnIpO1xcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCwgX3RoaXMsIGVycik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsIF90aGlzKTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoY2IpIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgICAgY2IoZXJyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQoc2VsZiwgZXJyKSB7XFxuICBlbWl0RXJyb3JOVChzZWxmLCBlcnIpO1xcbiAgZW1pdENsb3NlTlQoc2VsZik7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRDbG9zZU5UKHNlbGYpIHtcXG4gIGlmIChzZWxmLl93cml0YWJsZVN0YXRlICYmICFzZWxmLl93cml0YWJsZVN0YXRlLmVtaXRDbG9zZSkgcmV0dXJuO1xcbiAgaWYgKHNlbGYuX3JlYWRhYmxlU3RhdGUgJiYgIXNlbGYuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlKSByZXR1cm47XFxuICBzZWxmLmVtaXQoJ2Nsb3NlJyk7XFxufVxcblxcbmZ1bmN0aW9uIHVuZGVzdHJveSgpIHtcXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcXG4gIHNlbGYuZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5mdW5jdGlvbiBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVycikge1xcbiAgLy8gV2UgaGF2ZSB0ZXN0cyB0aGF0IHJlbHkgb24gZXJyb3JzIGJlaW5nIGVtaXR0ZWRcXG4gIC8vIGluIHRoZSBzYW1lIHRpY2ssIHNvIGNoYW5naW5nIHRoaXMgaXMgc2VtdmVyIG1ham9yLlxcbiAgLy8gRm9yIG5vdyB3aGVuIHlvdSBvcHQtaW4gdG8gYXV0b0Rlc3Ryb3kgd2UgYWxsb3dcXG4gIC8vIHRoZSBlcnJvciB0byBiZSBlbWl0dGVkIG5leHRUaWNrLiBJbiBhIGZ1dHVyZVxcbiAgLy8gc2VtdmVyIG1ham9yIHVwZGF0ZSB3ZSBzaG91bGQgY2hhbmdlIHRoZSBkZWZhdWx0IHRvIHRoaXMuXFxuICB2YXIgclN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG4gIGlmIChyU3RhdGUgJiYgclN0YXRlLmF1dG9EZXN0cm95IHx8IHdTdGF0ZSAmJiB3U3RhdGUuYXV0b0Rlc3Ryb3kpIHN0cmVhbS5kZXN0cm95KGVycik7ZWxzZSBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXFxuICB1bmRlc3Ryb3k6IHVuZGVzdHJveSxcXG4gIGVycm9yT3JEZXN0cm95OiBlcnJvck9yRGVzdHJveVxcbn07XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5a1pYTjBjbTk1TG1welB6SmtNMklpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc0swTkJRV0U3TzBGQlJXSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGRHUVVGM1JqdEJRVU40UmpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVVaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WW5KdmQzTmxjbWxtZVMxemFXZHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlpHVnpkSEp2ZVM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6c2dMeThnZFc1a2IyTjFiV1Z1ZEdWa0lHTmlLQ2tnUVZCSkxDQnVaV1ZrWldRZ1ptOXlJR052Y21Vc0lHNXZkQ0JtYjNJZ2NIVmliR2xqSUVGUVNWeHVYRzVtZFc1amRHbHZiaUJrWlhOMGNtOTVLR1Z5Y2l3Z1kySXBJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0IyWVhJZ2NtVmhaR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVJQ0IyWVhJZ2QzSnBkR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVYRzRnSUdsbUlDaHlaV0ZrWVdKc1pVUmxjM1J5YjNsbFpDQjhmQ0IzY21sMFlXSnNaVVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJR2xtSUNoallpa2dlMXh1SUNBZ0lDQWdZMklvWlhKeUtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnljaWtnZTF4dUlDQWdJQ0FnYVdZZ0tDRjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWlcxcGRFVnljbTl5VGxRc0lIUm9hWE1zSUdWeWNpazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0YwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WeWNtOXlSVzFwZEhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WeWNtOXlSVzFwZEhSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1pXMXBkRVZ5Y205eVRsUXNJSFJvYVhNc0lHVnljaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMGdMeThnZDJVZ2MyVjBJR1JsYzNSeWIzbGxaQ0IwYnlCMGNuVmxJR0psWm05eVpTQm1hWEpwYm1jZ1pYSnliM0lnWTJGc2JHSmhZMnR6SUdsdUlHOXlaR1Z5WEc0Z0lDOHZJSFJ2SUcxaGEyVWdhWFFnY21VdFpXNTBjbUZ1WTJVZ2MyRm1aU0JwYmlCallYTmxJR1JsYzNSeWIza29LU0JwY3lCallXeHNaV1FnZDJsMGFHbHVJR05oYkd4aVlXTnJjMXh1WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFJ5ZFdVN1hHNGdJSDBnTHk4Z2FXWWdkR2hwY3lCcGN5QmhJR1IxY0d4bGVDQnpkSEpsWVcwZ2JXRnlheUIwYUdVZ2QzSnBkR0ZpYkdVZ2NHRnlkQ0JoY3lCa1pYTjBjbTk1WldRZ1lYTWdkMlZzYkZ4dVhHNWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0IwYUdsekxsOWtaWE4wY205NUtHVnljaUI4ZkNCdWRXeHNMQ0JtZFc1amRHbHZiaUFvWlhKeUtTQjdYRzRnSUNBZ2FXWWdLQ0ZqWWlBbUppQmxjbklwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hYM1JvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobGJXbDBSWEp5YjNKQmJtUkRiRzl6WlU1VUxDQmZkR2hwY3l3Z1pYSnlLVHRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvSVY5MGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtVnljbTl5UlcxcGRIUmxaQ2tnZTF4dUlDQWdJQ0FnSUNCZmRHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNWxjbkp2Y2tWdGFYUjBaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1Z0YVhSRmNuSnZja0Z1WkVOc2IzTmxUbFFzSUY5MGFHbHpMQ0JsY25JcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobGJXbDBRMnh2YzJWT1ZDd2dYM1JvYVhNcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1kySXBJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29aVzFwZEVOc2IzTmxUbFFzSUY5MGFHbHpLVHRjYmlBZ0lDQWdJR05pS0dWeWNpazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWlcxcGRFTnNiM05sVGxRc0lGOTBhR2x6S1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmxiV2wwUlhKeWIzSkJibVJEYkc5elpVNVVLSE5sYkdZc0lHVnljaWtnZTF4dUlDQmxiV2wwUlhKeWIzSk9WQ2h6Wld4bUxDQmxjbklwTzF4dUlDQmxiV2wwUTJ4dmMyVk9WQ2h6Wld4bUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRU5zYjNObFRsUW9jMlZzWmlrZ2UxeHVJQ0JwWmlBb2MyVnNaaTVmZDNKcGRHRmliR1ZUZEdGMFpTQW1KaUFoYzJWc1ppNWZkM0pwZEdGaWJHVlRkR0YwWlM1bGJXbDBRMnh2YzJVcElISmxkSFZ5Ymp0Y2JpQWdhV1lnS0hObGJHWXVYM0psWVdSaFlteGxVM1JoZEdVZ0ppWWdJWE5sYkdZdVgzSmxZV1JoWW14bFUzUmhkR1V1WlcxcGRFTnNiM05sS1NCeVpYUjFjbTQ3WEc0Z0lITmxiR1l1WlcxcGRDZ25ZMnh2YzJVbktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNWtaWE4wY205NUtDa2dlMXh1SUNCcFppQW9kR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaU2tnZTF4dUlDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzV5WldGa2FXNW5JRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNWxibVJsWkNBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wlc1a1JXMXBkSFJsWkNBOUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2FXWWdLSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtVnVaR2x1WnlBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1Wm1sdVlXeERZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG5CeVpXWnBibWx6YUdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1bWFXNXBjMmhsWkNBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdabUZzYzJVN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdaVzFwZEVWeWNtOXlUbFFvYzJWc1ppd2daWEp5S1NCN1hHNGdJSE5sYkdZdVpXMXBkQ2duWlhKeWIzSW5MQ0JsY25JcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGNuSnZjazl5UkdWemRISnZlU2h6ZEhKbFlXMHNJR1Z5Y2lrZ2UxeHVJQ0F2THlCWFpTQm9ZWFpsSUhSbGMzUnpJSFJvWVhRZ2NtVnNlU0J2YmlCbGNuSnZjbk1nWW1WcGJtY2daVzFwZEhSbFpGeHVJQ0F2THlCcGJpQjBhR1VnYzJGdFpTQjBhV05yTENCemJ5QmphR0Z1WjJsdVp5QjBhR2x6SUdseklITmxiWFpsY2lCdFlXcHZjaTVjYmlBZ0x5OGdSbTl5SUc1dmR5QjNhR1Z1SUhsdmRTQnZjSFF0YVc0Z2RHOGdZWFYwYjBSbGMzUnliM2tnZDJVZ1lXeHNiM2RjYmlBZ0x5OGdkR2hsSUdWeWNtOXlJSFJ2SUdKbElHVnRhWFIwWldRZ2JtVjRkRlJwWTJzdUlFbHVJR0VnWm5WMGRYSmxYRzRnSUM4dklITmxiWFpsY2lCdFlXcHZjaUIxY0dSaGRHVWdkMlVnYzJodmRXeGtJR05vWVc1blpTQjBhR1VnWkdWbVlYVnNkQ0IwYnlCMGFHbHpMbHh1SUNCMllYSWdjbE4wWVhSbElEMGdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQjJZWElnZDFOMFlYUmxJRDBnYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVJQ0JwWmlBb2NsTjBZWFJsSUNZbUlISlRkR0YwWlM1aGRYUnZSR1Z6ZEhKdmVTQjhmQ0IzVTNSaGRHVWdKaVlnZDFOMFlYUmxMbUYxZEc5RVpYTjBjbTk1S1NCemRISmxZVzB1WkdWemRISnZlU2hsY25JcE8yVnNjMlVnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z1pYSnlLVHRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdYRzRnSUdSbGMzUnliM2s2SUdSbGMzUnliM2tzWEc0Z0lIVnVaR1Z6ZEhKdmVUb2dkVzVrWlhOMGNtOTVMRnh1SUNCbGNuSnZjazl5UkdWemRISnZlVG9nWlhKeWIzSlBja1JsYzNSeWIzbGNibjA3SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIFBvcnRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tYWZpbnRvc2gvZW5kLW9mLXN0cmVhbSB3aXRoXFxuLy8gcGVybWlzc2lvbiBmcm9tIHRoZSBhdXRob3IsIE1hdGhpYXMgQnV1cyAoQG1hZmludG9zaCkuXFxuXFxuXFxudmFyIEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vLi4vLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO1xcblxcbmZ1bmN0aW9uIG9uY2UoY2FsbGJhY2spIHtcXG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIGlmIChjYWxsZWQpIHJldHVybjtcXG4gICAgY2FsbGVkID0gdHJ1ZTtcXG5cXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XFxuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcXG4gICAgfVxcblxcbiAgICBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmdzKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIG5vb3AoKSB7fVxcblxcbmZ1bmN0aW9uIGlzUmVxdWVzdChzdHJlYW0pIHtcXG4gIHJldHVybiBzdHJlYW0uc2V0SGVhZGVyICYmIHR5cGVvZiBzdHJlYW0uYWJvcnQgPT09ICdmdW5jdGlvbic7XFxufVxcblxcbmZ1bmN0aW9uIGVvcyhzdHJlYW0sIG9wdHMsIGNhbGxiYWNrKSB7XFxuICBpZiAodHlwZW9mIG9wdHMgPT09ICdmdW5jdGlvbicpIHJldHVybiBlb3Moc3RyZWFtLCBudWxsLCBvcHRzKTtcXG4gIGlmICghb3B0cykgb3B0cyA9IHt9O1xcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrIHx8IG5vb3ApO1xcbiAgdmFyIHJlYWRhYmxlID0gb3B0cy5yZWFkYWJsZSB8fCBvcHRzLnJlYWRhYmxlICE9PSBmYWxzZSAmJiBzdHJlYW0ucmVhZGFibGU7XFxuICB2YXIgd3JpdGFibGUgPSBvcHRzLndyaXRhYmxlIHx8IG9wdHMud3JpdGFibGUgIT09IGZhbHNlICYmIHN0cmVhbS53cml0YWJsZTtcXG5cXG4gIHZhciBvbmxlZ2FjeWZpbmlzaCA9IGZ1bmN0aW9uIG9ubGVnYWN5ZmluaXNoKCkge1xcbiAgICBpZiAoIXN0cmVhbS53cml0YWJsZSkgb25maW5pc2goKTtcXG4gIH07XFxuXFxuICB2YXIgd3JpdGFibGVFbmRlZCA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZSAmJiBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ7XFxuXFxuICB2YXIgb25maW5pc2ggPSBmdW5jdGlvbiBvbmZpbmlzaCgpIHtcXG4gICAgd3JpdGFibGUgPSBmYWxzZTtcXG4gICAgd3JpdGFibGVFbmRlZCA9IHRydWU7XFxuICAgIGlmICghcmVhZGFibGUpIGNhbGxiYWNrLmNhbGwoc3RyZWFtKTtcXG4gIH07XFxuXFxuICB2YXIgcmVhZGFibGVFbmRlZCA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZSAmJiBzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZDtcXG5cXG4gIHZhciBvbmVuZCA9IGZ1bmN0aW9uIG9uZW5kKCkge1xcbiAgICByZWFkYWJsZSA9IGZhbHNlO1xcbiAgICByZWFkYWJsZUVuZGVkID0gdHJ1ZTtcXG4gICAgaWYgKCF3cml0YWJsZSkgY2FsbGJhY2suY2FsbChzdHJlYW0pO1xcbiAgfTtcXG5cXG4gIHZhciBvbmVycm9yID0gZnVuY3Rpb24gb25lcnJvcihlcnIpIHtcXG4gICAgY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XFxuICB9O1xcblxcbiAgdmFyIG9uY2xvc2UgPSBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICB2YXIgZXJyO1xcblxcbiAgICBpZiAocmVhZGFibGUgJiYgIXJlYWRhYmxlRW5kZWQpIHtcXG4gICAgICBpZiAoIXN0cmVhbS5fcmVhZGFibGVTdGF0ZSB8fCAhc3RyZWFtLl9yZWFkYWJsZVN0YXRlLmVuZGVkKSBlcnIgPSBuZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UoKTtcXG4gICAgICByZXR1cm4gY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XFxuICAgIH1cXG5cXG4gICAgaWYgKHdyaXRhYmxlICYmICF3cml0YWJsZUVuZGVkKSB7XFxuICAgICAgaWYgKCFzdHJlYW0uX3dyaXRhYmxlU3RhdGUgfHwgIXN0cmVhbS5fd3JpdGFibGVTdGF0ZS5lbmRlZCkgZXJyID0gbmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKCk7XFxuICAgICAgcmV0dXJuIGNhbGxiYWNrLmNhbGwoc3RyZWFtLCBlcnIpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgdmFyIG9ucmVxdWVzdCA9IGZ1bmN0aW9uIG9ucmVxdWVzdCgpIHtcXG4gICAgc3RyZWFtLnJlcS5vbignZmluaXNoJywgb25maW5pc2gpO1xcbiAgfTtcXG5cXG4gIGlmIChpc1JlcXVlc3Qoc3RyZWFtKSkge1xcbiAgICBzdHJlYW0ub24oJ2NvbXBsZXRlJywgb25maW5pc2gpO1xcbiAgICBzdHJlYW0ub24oJ2Fib3J0Jywgb25jbG9zZSk7XFxuICAgIGlmIChzdHJlYW0ucmVxKSBvbnJlcXVlc3QoKTtlbHNlIHN0cmVhbS5vbigncmVxdWVzdCcsIG9ucmVxdWVzdCk7XFxuICB9IGVsc2UgaWYgKHdyaXRhYmxlICYmICFzdHJlYW0uX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgLy8gbGVnYWN5IHN0cmVhbXNcXG4gICAgc3RyZWFtLm9uKCdlbmQnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICAgIHN0cmVhbS5vbignY2xvc2UnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICB9XFxuXFxuICBzdHJlYW0ub24oJ2VuZCcsIG9uZW5kKTtcXG4gIHN0cmVhbS5vbignZmluaXNoJywgb25maW5pc2gpO1xcbiAgaWYgKG9wdHMuZXJyb3IgIT09IGZhbHNlKSBzdHJlYW0ub24oJ2Vycm9yJywgb25lcnJvcik7XFxuICBzdHJlYW0ub24oJ2Nsb3NlJywgb25jbG9zZSk7XFxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2NvbXBsZXRlJywgb25maW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Fib3J0Jywgb25jbG9zZSk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcigncmVxdWVzdCcsIG9ucmVxdWVzdCk7XFxuICAgIGlmIChzdHJlYW0ucmVxKSBzdHJlYW0ucmVxLnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25sZWdhY3lmaW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25sZWdhY3lmaW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmVuZCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgfTtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBlb3M7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5bGJtUXRiMll0YzNSeVpXRnRMbXB6UHpJNVpqSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5oT3p0QlFVVmlMR2xEUVVGcFF5eHRRa0ZCVHl4RFFVRkRMSE5IUVVGcFFqczdRVUZGTVVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVJVRkJkVVVzWVVGQllUdEJRVU53Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNaME5CUVdkRE8wRkJRMmhETEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0YzJsbmJpOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJWdVpDMXZaaTF6ZEhKbFlXMHVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJRYjNKMFpXUWdabkp2YlNCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJXRm1hVzUwYjNOb0wyVnVaQzF2WmkxemRISmxZVzBnZDJsMGFGeHVMeThnY0dWeWJXbHpjMmx2YmlCbWNtOXRJSFJvWlNCaGRYUm9iM0lzSUUxaGRHaHBZWE1nUW5WMWN5QW9RRzFoWm1sdWRHOXphQ2t1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQkZVbEpmVTFSU1JVRk5YMUJTUlUxQlZGVlNSVjlEVEU5VFJTQTlJSEpsY1hWcGNtVW9KeTR1THk0dUx5NHVMMlZ5Y205eWN5Y3BMbU52WkdWekxrVlNVbDlUVkZKRlFVMWZVRkpGVFVGVVZWSkZYME5NVDFORk8xeHVYRzVtZFc1amRHbHZiaUJ2Ym1ObEtHTmhiR3hpWVdOcktTQjdYRzRnSUhaaGNpQmpZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnBaaUFvWTJGc2JHVmtLU0J5WlhSMWNtNDdYRzRnSUNBZ1kyRnNiR1ZrSUQwZ2RISjFaVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJRjlzWlc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQmhjbWR6SUQwZ2JtVjNJRUZ5Y21GNUtGOXNaVzRwTENCZmEyVjVJRDBnTURzZ1gydGxlU0E4SUY5c1pXNDdJRjlyWlhrckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0ZmEyVjVYU0E5SUdGeVozVnRaVzUwYzF0ZmEyVjVYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpZV3hzWW1GamF5NWhjSEJzZVNoMGFHbHpMQ0JoY21kektUdGNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYm05dmNDZ3BJSHQ5WEc1Y2JtWjFibU4wYVc5dUlHbHpVbVZ4ZFdWemRDaHpkSEpsWVcwcElIdGNiaUFnY21WMGRYSnVJSE4wY21WaGJTNXpaWFJJWldGa1pYSWdKaVlnZEhsd1pXOW1JSE4wY21WaGJTNWhZbTl5ZENBOVBUMGdKMloxYm1OMGFXOXVKenRjYm4xY2JseHVablZ1WTNScGIyNGdaVzl6S0hOMGNtVmhiU3dnYjNCMGN5d2dZMkZzYkdKaFkyc3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnZjSFJ6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0J5WlhSMWNtNGdaVzl6S0hOMGNtVmhiU3dnYm5Wc2JDd2diM0IwY3lrN1hHNGdJR2xtSUNnaGIzQjBjeWtnYjNCMGN5QTlJSHQ5TzF4dUlDQmpZV3hzWW1GamF5QTlJRzl1WTJVb1kyRnNiR0poWTJzZ2ZId2dibTl2Y0NrN1hHNGdJSFpoY2lCeVpXRmtZV0pzWlNBOUlHOXdkSE11Y21WaFpHRmliR1VnZkh3Z2IzQjBjeTV5WldGa1lXSnNaU0FoUFQwZ1ptRnNjMlVnSmlZZ2MzUnlaV0Z0TG5KbFlXUmhZbXhsTzF4dUlDQjJZWElnZDNKcGRHRmliR1VnUFNCdmNIUnpMbmR5YVhSaFlteGxJSHg4SUc5d2RITXVkM0pwZEdGaWJHVWdJVDA5SUdaaGJITmxJQ1ltSUhOMGNtVmhiUzUzY21sMFlXSnNaVHRjYmx4dUlDQjJZWElnYjI1c1pXZGhZM2xtYVc1cGMyZ2dQU0JtZFc1amRHbHZiaUJ2Ym14bFoyRmplV1pwYm1semFDZ3BJSHRjYmlBZ0lDQnBaaUFvSVhOMGNtVmhiUzUzY21sMFlXSnNaU2tnYjI1bWFXNXBjMmdvS1R0Y2JpQWdmVHRjYmx4dUlDQjJZWElnZDNKcGRHRmliR1ZGYm1SbFpDQTlJSE4wY21WaGJTNWZkM0pwZEdGaWJHVlRkR0YwWlNBbUppQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1Wm1sdWFYTm9aV1E3WEc1Y2JpQWdkbUZ5SUc5dVptbHVhWE5vSUQwZ1puVnVZM1JwYjI0Z2IyNW1hVzVwYzJnb0tTQjdYRzRnSUNBZ2QzSnBkR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IzY21sMFlXSnNaVVZ1WkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0JwWmlBb0lYSmxZV1JoWW14bEtTQmpZV3hzWW1GamF5NWpZV3hzS0hOMGNtVmhiU2s3WEc0Z0lIMDdYRzVjYmlBZ2RtRnlJSEpsWVdSaFlteGxSVzVrWldRZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1VnSmlZZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVZ1WkVWdGFYUjBaV1E3WEc1Y2JpQWdkbUZ5SUc5dVpXNWtJRDBnWm5WdVkzUnBiMjRnYjI1bGJtUW9LU0I3WEc0Z0lDQWdjbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnSUNCeVpXRmtZV0pzWlVWdVpHVmtJRDBnZEhKMVpUdGNiaUFnSUNCcFppQW9JWGR5YVhSaFlteGxLU0JqWVd4c1ltRmpheTVqWVd4c0tITjBjbVZoYlNrN1hHNGdJSDA3WEc1Y2JpQWdkbUZ5SUc5dVpYSnliM0lnUFNCbWRXNWpkR2x2YmlCdmJtVnljbTl5S0dWeWNpa2dlMXh1SUNBZ0lHTmhiR3hpWVdOckxtTmhiR3dvYzNSeVpXRnRMQ0JsY25JcE8xeHVJQ0I5TzF4dVhHNGdJSFpoY2lCdmJtTnNiM05sSUQwZ1puVnVZM1JwYjI0Z2IyNWpiRzl6WlNncElIdGNiaUFnSUNCMllYSWdaWEp5TzF4dVhHNGdJQ0FnYVdZZ0tISmxZV1JoWW14bElDWW1JQ0Z5WldGa1lXSnNaVVZ1WkdWa0tTQjdYRzRnSUNBZ0lDQnBaaUFvSVhOMGNtVmhiUzVmY21WaFpHRmliR1ZUZEdGMFpTQjhmQ0FoYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbExtVnVaR1ZrS1NCbGNuSWdQU0J1WlhjZ1JWSlNYMU5VVWtWQlRWOVFVa1ZOUVZSVlVrVmZRMHhQVTBVb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCallXeHNZbUZqYXk1allXeHNLSE4wY21WaGJTd2daWEp5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2QzSnBkR0ZpYkdVZ0ppWWdJWGR5YVhSaFlteGxSVzVrWldRcElIdGNiaUFnSUNBZ0lHbG1JQ2doYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbElIeDhJQ0Z6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVdVpXNWtaV1FwSUdWeWNpQTlJRzVsZHlCRlVsSmZVMVJTUlVGTlgxQlNSVTFCVkZWU1JWOURURTlUUlNncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOaGJHeGlZV05yTG1OaGJHd29jM1J5WldGdExDQmxjbklwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCMllYSWdiMjV5WlhGMVpYTjBJRDBnWm5WdVkzUnBiMjRnYjI1eVpYRjFaWE4wS0NrZ2UxeHVJQ0FnSUhOMGNtVmhiUzV5WlhFdWIyNG9KMlpwYm1semFDY3NJRzl1Wm1sdWFYTm9LVHRjYmlBZ2ZUdGNibHh1SUNCcFppQW9hWE5TWlhGMVpYTjBLSE4wY21WaGJTa3BJSHRjYmlBZ0lDQnpkSEpsWVcwdWIyNG9KMk52YlhCc1pYUmxKeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJSE4wY21WaGJTNXZiaWduWVdKdmNuUW5MQ0J2Ym1Oc2IzTmxLVHRjYmlBZ0lDQnBaaUFvYzNSeVpXRnRMbkpsY1NrZ2IyNXlaWEYxWlhOMEtDazdaV3h6WlNCemRISmxZVzB1YjI0b0ozSmxjWFZsYzNRbkxDQnZibkpsY1hWbGMzUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIZHlhWFJoWW14bElDWW1JQ0Z6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNBdkx5QnNaV2RoWTNrZ2MzUnlaV0Z0YzF4dUlDQWdJSE4wY21WaGJTNXZiaWduWlc1a0p5d2diMjVzWldkaFkzbG1hVzVwYzJncE8xeHVJQ0FnSUhOMGNtVmhiUzV2YmlnblkyeHZjMlVuTENCdmJteGxaMkZqZVdacGJtbHphQ2s3WEc0Z0lIMWNibHh1SUNCemRISmxZVzB1YjI0b0oyVnVaQ2NzSUc5dVpXNWtLVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZG1hVzVwYzJnbkxDQnZibVpwYm1semFDazdYRzRnSUdsbUlDaHZjSFJ6TG1WeWNtOXlJQ0U5UFNCbVlXeHpaU2tnYzNSeVpXRnRMbTl1S0NkbGNuSnZjaWNzSUc5dVpYSnliM0lwTzF4dUlDQnpkSEpsWVcwdWIyNG9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYzNSeVpXRnRMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZGpiMjF3YkdWMFpTY3NJRzl1Wm1sdWFYTm9LVHRjYmlBZ0lDQnpkSEpsWVcwdWNtVnRiM1psVEdsemRHVnVaWElvSjJGaWIzSjBKeXdnYjI1amJHOXpaU2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkeVpYRjFaWE4wSnl3Z2IyNXlaWEYxWlhOMEtUdGNiaUFnSUNCcFppQW9jM1J5WldGdExuSmxjU2tnYzNSeVpXRnRMbkpsY1M1eVpXMXZkbVZNYVhOMFpXNWxjaWduWm1sdWFYTm9KeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJSE4wY21WaGJTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblpXNWtKeXdnYjI1c1pXZGhZM2xtYVc1cGMyZ3BPMXh1SUNBZ0lITjBjbVZoYlM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWTJ4dmMyVW5MQ0J2Ym14bFoyRmplV1pwYm1semFDazdYRzRnSUNBZ2MzUnlaV0Z0TG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RtYVc1cGMyZ25MQ0J2Ym1acGJtbHphQ2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGJtUW5MQ0J2Ym1WdVpDazdYRzRnSUNBZ2MzUnlaV0Z0TG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RsY25KdmNpY3NJRzl1WlhKeWIzSXBPMXh1SUNBZ0lITjBjbVZoYlM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWTJ4dmMyVW5MQ0J2Ym1Oc2IzTmxLVHRjYmlBZ2ZUdGNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbGIzTTdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ1JlYWRhYmxlLmZyb20gaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgYnJvd3NlcicpXFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTltY205dExXSnliM2R6WlhJdWFuTS9NVGd4TmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlluSnZkM05sY21sbWVTMXphV2R1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZabkp2YlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25VbVZoWkdGaWJHVXVabkp2YlNCcGN5QnViM1FnWVhaaGFXeGhZbXhsSUdsdUlIUm9aU0JpY205M2MyVnlKeWxjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL3B1bXAgd2l0aFxcbi8vIHBlcm1pc3Npb24gZnJvbSB0aGUgYXV0aG9yLCBNYXRoaWFzIEJ1dXMgKEBtYWZpbnRvc2gpLlxcblxcblxcbnZhciBlb3M7XFxuXFxuZnVuY3Rpb24gb25jZShjYWxsYmFjaykge1xcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNhbGxlZCkgcmV0dXJuO1xcbiAgICBjYWxsZWQgPSB0cnVlO1xcbiAgICBjYWxsYmFjay5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XFxuICB9O1xcbn1cXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9NSVNTSU5HX0FSR1MgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTUlTU0lOR19BUkdTLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVEO1xcblxcbmZ1bmN0aW9uIG5vb3AoZXJyKSB7XFxuICAvLyBSZXRocm93IHRoZSBlcnJvciBpZiBpdCBleGlzdHMgdG8gYXZvaWQgc3dhbGxvd2luZyBpdFxcbiAgaWYgKGVycikgdGhyb3cgZXJyO1xcbn1cXG5cXG5mdW5jdGlvbiBpc1JlcXVlc3Qoc3RyZWFtKSB7XFxuICByZXR1cm4gc3RyZWFtLnNldEhlYWRlciAmJiB0eXBlb2Ygc3RyZWFtLmFib3J0ID09PSAnZnVuY3Rpb24nO1xcbn1cXG5cXG5mdW5jdGlvbiBkZXN0cm95ZXIoc3RyZWFtLCByZWFkaW5nLCB3cml0aW5nLCBjYWxsYmFjaykge1xcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrKTtcXG4gIHZhciBjbG9zZWQgPSBmYWxzZTtcXG4gIHN0cmVhbS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XFxuICAgIGNsb3NlZCA9IHRydWU7XFxuICB9KTtcXG4gIGlmIChlb3MgPT09IHVuZGVmaW5lZCkgZW9zID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbmQtb2Ytc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxcIik7XFxuICBlb3Moc3RyZWFtLCB7XFxuICAgIHJlYWRhYmxlOiByZWFkaW5nLFxcbiAgICB3cml0YWJsZTogd3JpdGluZ1xcbiAgfSwgZnVuY3Rpb24gKGVycikge1xcbiAgICBpZiAoZXJyKSByZXR1cm4gY2FsbGJhY2soZXJyKTtcXG4gICAgY2xvc2VkID0gdHJ1ZTtcXG4gICAgY2FsbGJhY2soKTtcXG4gIH0pO1xcbiAgdmFyIGRlc3Ryb3llZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKGNsb3NlZCkgcmV0dXJuO1xcbiAgICBpZiAoZGVzdHJveWVkKSByZXR1cm47XFxuICAgIGRlc3Ryb3llZCA9IHRydWU7IC8vIHJlcXVlc3QuZGVzdHJveSBqdXN0IGRvIC5lbmQgLSAuYWJvcnQgaXMgd2hhdCB3ZSB3YW50XFxuXFxuICAgIGlmIChpc1JlcXVlc3Qoc3RyZWFtKSkgcmV0dXJuIHN0cmVhbS5hYm9ydCgpO1xcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gc3RyZWFtLmRlc3Ryb3koKTtcXG4gICAgY2FsbGJhY2soZXJyIHx8IG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgncGlwZScpKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGNhbGwoZm4pIHtcXG4gIGZuKCk7XFxufVxcblxcbmZ1bmN0aW9uIHBpcGUoZnJvbSwgdG8pIHtcXG4gIHJldHVybiBmcm9tLnBpcGUodG8pO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BDYWxsYmFjayhzdHJlYW1zKSB7XFxuICBpZiAoIXN0cmVhbXMubGVuZ3RoKSByZXR1cm4gbm9vcDtcXG4gIGlmICh0eXBlb2Ygc3RyZWFtc1tzdHJlYW1zLmxlbmd0aCAtIDFdICE9PSAnZnVuY3Rpb24nKSByZXR1cm4gbm9vcDtcXG4gIHJldHVybiBzdHJlYW1zLnBvcCgpO1xcbn1cXG5cXG5mdW5jdGlvbiBwaXBlbGluZSgpIHtcXG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdHJlYW1zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICBzdHJlYW1zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xcbiAgfVxcblxcbiAgdmFyIGNhbGxiYWNrID0gcG9wQ2FsbGJhY2soc3RyZWFtcyk7XFxuICBpZiAoQXJyYXkuaXNBcnJheShzdHJlYW1zWzBdKSkgc3RyZWFtcyA9IHN0cmVhbXNbMF07XFxuXFxuICBpZiAoc3RyZWFtcy5sZW5ndGggPCAyKSB7XFxuICAgIHRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKCdzdHJlYW1zJyk7XFxuICB9XFxuXFxuICB2YXIgZXJyb3I7XFxuICB2YXIgZGVzdHJveXMgPSBzdHJlYW1zLm1hcChmdW5jdGlvbiAoc3RyZWFtLCBpKSB7XFxuICAgIHZhciByZWFkaW5nID0gaSA8IHN0cmVhbXMubGVuZ3RoIC0gMTtcXG4gICAgdmFyIHdyaXRpbmcgPSBpID4gMDtcXG4gICAgcmV0dXJuIGRlc3Ryb3llcihzdHJlYW0sIHJlYWRpbmcsIHdyaXRpbmcsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICBpZiAoIWVycm9yKSBlcnJvciA9IGVycjtcXG4gICAgICBpZiAoZXJyKSBkZXN0cm95cy5mb3JFYWNoKGNhbGwpO1xcbiAgICAgIGlmIChyZWFkaW5nKSByZXR1cm47XFxuICAgICAgZGVzdHJveXMuZm9yRWFjaChjYWxsKTtcXG4gICAgICBjYWxsYmFjayhlcnJvcik7XFxuICAgIH0pO1xcbiAgfSk7XFxuICByZXR1cm4gc3RyZWFtcy5yZWR1Y2UocGlwZSk7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gcGlwZWxpbmU7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5d2FYQmxiR2x1WlM1cWN6ODVPREJoSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFlUczdRVUZGWWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRkNRVUZ4UWl4dFFrRkJUeXhEUVVGRExITkhRVUZwUWp0QlFVTTVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTEN0Q1FVRXJRaXh0UWtGQlR5eERRVUZETERCSVFVRnBRanRCUVVONFJEdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDT3p0QlFVVnlRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSGRGUVVGM1JTeGhRVUZoTzBGQlEzSkdPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbkp2ZDNObGNtbG1lUzF6YVdkdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12Y0dsd1pXeHBibVV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCUWIzSjBaV1FnWm5KdmJTQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiV0ZtYVc1MGIzTm9MM0IxYlhBZ2QybDBhRnh1THk4Z2NHVnliV2x6YzJsdmJpQm1jbTl0SUhSb1pTQmhkWFJvYjNJc0lFMWhkR2hwWVhNZ1FuVjFjeUFvUUcxaFptbHVkRzl6YUNrdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJsYjNNN1hHNWNibVoxYm1OMGFXOXVJRzl1WTJVb1kyRnNiR0poWTJzcElIdGNiaUFnZG1GeUlHTmhiR3hsWkNBOUlHWmhiSE5sTzF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lHbG1JQ2hqWVd4c1pXUXBJSEpsZEhWeWJqdGNiaUFnSUNCallXeHNaV1FnUFNCMGNuVmxPMXh1SUNBZ0lHTmhiR3hpWVdOckxtRndjR3g1S0hadmFXUWdNQ3dnWVhKbmRXMWxiblJ6S1R0Y2JpQWdmVHRjYm4xY2JseHVkbUZ5SUY5eVpYRjFhWEpsSkdOdlpHVnpJRDBnY21WeGRXbHlaU2duTGk0dkxpNHZMaTR2WlhKeWIzSnpKeWt1WTI5a1pYTXNYRzRnSUNBZ1JWSlNYMDFKVTFOSlRrZGZRVkpIVXlBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOU5TVk5UU1U1SFgwRlNSMU1zWEc0Z0lDQWdSVkpTWDFOVVVrVkJUVjlFUlZOVVVrOVpSVVFnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkR0Y2JseHVablZ1WTNScGIyNGdibTl2Y0NobGNuSXBJSHRjYmlBZ0x5OGdVbVYwYUhKdmR5QjBhR1VnWlhKeWIzSWdhV1lnYVhRZ1pYaHBjM1J6SUhSdklHRjJiMmxrSUhOM1lXeHNiM2RwYm1jZ2FYUmNiaUFnYVdZZ0tHVnljaWtnZEdoeWIzY2daWEp5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFKbGNYVmxjM1FvYzNSeVpXRnRLU0I3WEc0Z0lISmxkSFZ5YmlCemRISmxZVzB1YzJWMFNHVmhaR1Z5SUNZbUlIUjVjR1Z2WmlCemRISmxZVzB1WVdKdmNuUWdQVDA5SUNkbWRXNWpkR2x2YmljN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdSbGMzUnliM2xsY2loemRISmxZVzBzSUhKbFlXUnBibWNzSUhkeWFYUnBibWNzSUdOaGJHeGlZV05yS1NCN1hHNGdJR05oYkd4aVlXTnJJRDBnYjI1alpTaGpZV3hzWW1GamF5azdYRzRnSUhaaGNpQmpiRzl6WldRZ1BTQm1ZV3h6WlR0Y2JpQWdjM1J5WldGdExtOXVLQ2RqYkc5elpTY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JqYkc5elpXUWdQU0IwY25WbE8xeHVJQ0I5S1R0Y2JpQWdhV1lnS0dWdmN5QTlQVDBnZFc1a1pXWnBibVZrS1NCbGIzTWdQU0J5WlhGMWFYSmxLQ2N1TDJWdVpDMXZaaTF6ZEhKbFlXMG5LVHRjYmlBZ1pXOXpLSE4wY21WaGJTd2dlMXh1SUNBZ0lISmxZV1JoWW14bE9pQnlaV0ZrYVc1bkxGeHVJQ0FnSUhkeWFYUmhZbXhsT2lCM2NtbDBhVzVuWEc0Z0lIMHNJR1oxYm1OMGFXOXVJQ2hsY25JcElIdGNiaUFnSUNCcFppQW9aWEp5S1NCeVpYUjFjbTRnWTJGc2JHSmhZMnNvWlhKeUtUdGNiaUFnSUNCamJHOXpaV1FnUFNCMGNuVmxPMXh1SUNBZ0lHTmhiR3hpWVdOcktDazdYRzRnSUgwcE8xeHVJQ0IyWVhJZ1pHVnpkSEp2ZVdWa0lEMGdabUZzYzJVN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9aWEp5S1NCN1hHNGdJQ0FnYVdZZ0tHTnNiM05sWkNrZ2NtVjBkWEp1TzF4dUlDQWdJR2xtSUNoa1pYTjBjbTk1WldRcElISmxkSFZ5Ymp0Y2JpQWdJQ0JrWlhOMGNtOTVaV1FnUFNCMGNuVmxPeUF2THlCeVpYRjFaWE4wTG1SbGMzUnliM2tnYW5WemRDQmtieUF1Wlc1a0lDMGdMbUZpYjNKMElHbHpJSGRvWVhRZ2QyVWdkMkZ1ZEZ4dVhHNGdJQ0FnYVdZZ0tHbHpVbVZ4ZFdWemRDaHpkSEpsWVcwcEtTQnlaWFIxY200Z2MzUnlaV0Z0TG1GaWIzSjBLQ2s3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ6ZEhKbFlXMHVaR1Z6ZEhKdmVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2NtVjBkWEp1SUhOMGNtVmhiUzVrWlhOMGNtOTVLQ2s3WEc0Z0lDQWdZMkZzYkdKaFkyc29aWEp5SUh4OElHNWxkeUJGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNnbmNHbHdaU2NwS1R0Y2JpQWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdZMkZzYkNobWJpa2dlMXh1SUNCbWJpZ3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndhWEJsS0daeWIyMHNJSFJ2S1NCN1hHNGdJSEpsZEhWeWJpQm1jbTl0TG5CcGNHVW9kRzhwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3YjNCRFlXeHNZbUZqYXloemRISmxZVzF6S1NCN1hHNGdJR2xtSUNnaGMzUnlaV0Z0Y3k1c1pXNW5kR2dwSUhKbGRIVnliaUJ1YjI5d08xeHVJQ0JwWmlBb2RIbHdaVzltSUhOMGNtVmhiWE5iYzNSeVpXRnRjeTVzWlc1bmRHZ2dMU0F4WFNBaFBUMGdKMloxYm1OMGFXOXVKeWtnY21WMGRYSnVJRzV2YjNBN1hHNGdJSEpsZEhWeWJpQnpkSEpsWVcxekxuQnZjQ2dwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3YVhCbGJHbHVaU2dwSUh0Y2JpQWdabTl5SUNoMllYSWdYMnhsYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lITjBjbVZoYlhNZ1BTQnVaWGNnUVhKeVlYa29YMnhsYmlrc0lGOXJaWGtnUFNBd095QmZhMlY1SUR3Z1gyeGxianNnWDJ0bGVTc3JLU0I3WEc0Z0lDQWdjM1J5WldGdGMxdGZhMlY1WFNBOUlHRnlaM1Z0Wlc1MGMxdGZhMlY1WFR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJqWVd4c1ltRmpheUE5SUhCdmNFTmhiR3hpWVdOcktITjBjbVZoYlhNcE8xeHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2h6ZEhKbFlXMXpXekJkS1NrZ2MzUnlaV0Z0Y3lBOUlITjBjbVZoYlhOYk1GMDdYRzVjYmlBZ2FXWWdLSE4wY21WaGJYTXViR1Z1WjNSb0lEd2dNaWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJGVWxKZlRVbFRVMGxPUjE5QlVrZFRLQ2R6ZEhKbFlXMXpKeWs3WEc0Z0lIMWNibHh1SUNCMllYSWdaWEp5YjNJN1hHNGdJSFpoY2lCa1pYTjBjbTk1Y3lBOUlITjBjbVZoYlhNdWJXRndLR1oxYm1OMGFXOXVJQ2h6ZEhKbFlXMHNJR2twSUh0Y2JpQWdJQ0IyWVhJZ2NtVmhaR2x1WnlBOUlHa2dQQ0J6ZEhKbFlXMXpMbXhsYm1kMGFDQXRJREU3WEc0Z0lDQWdkbUZ5SUhkeWFYUnBibWNnUFNCcElENGdNRHRjYmlBZ0lDQnlaWFIxY200Z1pHVnpkSEp2ZVdWeUtITjBjbVZoYlN3Z2NtVmhaR2x1Wnl3Z2QzSnBkR2x1Wnl3Z1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJQ0FnYVdZZ0tDRmxjbkp2Y2lrZ1pYSnliM0lnUFNCbGNuSTdYRzRnSUNBZ0lDQnBaaUFvWlhKeUtTQmtaWE4wY205NWN5NW1iM0pGWVdOb0tHTmhiR3dwTzF4dUlDQWdJQ0FnYVdZZ0tISmxZV1JwYm1jcElISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUdSbGMzUnliM2x6TG1admNrVmhZMmdvWTJGc2JDazdYRzRnSUNBZ0lDQmpZV3hzWW1GamF5aGxjbkp2Y2lrN1hHNGdJQ0FnZlNrN1hHNGdJSDBwTzF4dUlDQnlaWFIxY200Z2MzUnlaV0Z0Y3k1eVpXUjFZMlVvY0dsd1pTazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NHbHdaV3hwYm1VN0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBFUlJfSU5WQUxJRF9PUFRfVkFMVUUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMuRVJSX0lOVkFMSURfT1BUX1ZBTFVFO1xcblxcbmZ1bmN0aW9uIGhpZ2hXYXRlck1hcmtGcm9tKG9wdGlvbnMsIGlzRHVwbGV4LCBkdXBsZXhLZXkpIHtcXG4gIHJldHVybiBvcHRpb25zLmhpZ2hXYXRlck1hcmsgIT0gbnVsbCA/IG9wdGlvbnMuaGlnaFdhdGVyTWFyayA6IGlzRHVwbGV4ID8gb3B0aW9uc1tkdXBsZXhLZXldIDogbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0SGlnaFdhdGVyTWFyayhzdGF0ZSwgb3B0aW9ucywgZHVwbGV4S2V5LCBpc0R1cGxleCkge1xcbiAgdmFyIGh3bSA9IGhpZ2hXYXRlck1hcmtGcm9tKG9wdGlvbnMsIGlzRHVwbGV4LCBkdXBsZXhLZXkpO1xcblxcbiAgaWYgKGh3bSAhPSBudWxsKSB7XFxuICAgIGlmICghKGlzRmluaXRlKGh3bSkgJiYgTWF0aC5mbG9vcihod20pID09PSBod20pIHx8IGh3bSA8IDApIHtcXG4gICAgICB2YXIgbmFtZSA9IGlzRHVwbGV4ID8gZHVwbGV4S2V5IDogJ2hpZ2hXYXRlck1hcmsnO1xcbiAgICAgIHRocm93IG5ldyBFUlJfSU5WQUxJRF9PUFRfVkFMVUUobmFtZSwgaHdtKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gTWF0aC5mbG9vcihod20pO1xcbiAgfSAvLyBEZWZhdWx0IHZhbHVlXFxuXFxuXFxuICByZXR1cm4gc3RhdGUub2JqZWN0TW9kZSA/IDE2IDogMTYgKiAxMDI0O1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGdldEhpZ2hXYXRlck1hcms6IGdldEhpZ2hXYXRlck1hcmtcXG59Oy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkR0YwWlM1cWN6OWxNR0UxSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTERSQ1FVRTBRaXh0UWtGQlR5eERRVUZETEhOSFFVRnBRanM3UVVGRmNrUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RjMmxuYmk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMM04wWVhSbExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdSVkpTWDBsT1ZrRk1TVVJmVDFCVVgxWkJURlZGSUQwZ2NtVnhkV2x5WlNnbkxpNHZMaTR2TGk0dlpYSnliM0p6SnlrdVkyOWtaWE11UlZKU1gwbE9Wa0ZNU1VSZlQxQlVYMVpCVEZWRk8xeHVYRzVtZFc1amRHbHZiaUJvYVdkb1YyRjBaWEpOWVhKclJuSnZiU2h2Y0hScGIyNXpMQ0JwYzBSMWNHeGxlQ3dnWkhWd2JHVjRTMlY1S1NCN1hHNGdJSEpsZEhWeWJpQnZjSFJwYjI1ekxtaHBaMmhYWVhSbGNrMWhjbXNnSVQwZ2JuVnNiQ0EvSUc5d2RHbHZibk11YUdsbmFGZGhkR1Z5VFdGeWF5QTZJR2x6UkhWd2JHVjRJRDhnYjNCMGFXOXVjMXRrZFhCc1pYaExaWGxkSURvZ2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwU0dsbmFGZGhkR1Z5VFdGeWF5aHpkR0YwWlN3Z2IzQjBhVzl1Y3l3Z1pIVndiR1Y0UzJWNUxDQnBjMFIxY0d4bGVDa2dlMXh1SUNCMllYSWdhSGR0SUQwZ2FHbG5hRmRoZEdWeVRXRnlhMFp5YjIwb2IzQjBhVzl1Y3l3Z2FYTkVkWEJzWlhnc0lHUjFjR3hsZUV0bGVTazdYRzVjYmlBZ2FXWWdLR2gzYlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnYVdZZ0tDRW9hWE5HYVc1cGRHVW9hSGR0S1NBbUppQk5ZWFJvTG1ac2IyOXlLR2gzYlNrZ1BUMDlJR2gzYlNrZ2ZId2dhSGR0SUR3Z01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUc1aGJXVWdQU0JwYzBSMWNHeGxlQ0EvSUdSMWNHeGxlRXRsZVNBNklDZG9hV2RvVjJGMFpYSk5ZWEpySnp0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRlVsSmZTVTVXUVV4SlJGOVBVRlJmVmtGTVZVVW9ibUZ0WlN3Z2FIZHRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVtYkc5dmNpaG9kMjBwTzF4dUlDQjlJQzh2SUVSbFptRjFiSFFnZG1Gc2RXVmNibHh1WEc0Z0lISmxkSFZ5YmlCemRHRjBaUzV2WW1wbFkzUk5iMlJsSUQ4Z01UWWdPaUF4TmlBcUlERXdNalE3WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdlMXh1SUNCblpYUklhV2RvVjJGMFpYSk5ZWEpyT2lCblpYUklhV2RvVjJGMFpYSk5ZWEpyWEc1OU95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2ZW50cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qc1xcXCIpLkV2ZW50RW1pdHRlcjtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTl6ZEhKbFlXMHRZbkp2ZDNObGNpNXFjejh5WmpjMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR2xDUVVGcFFpeHRRa0ZCVHl4RFFVRkRMQ3REUVVGUklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdGMybG5iaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzTjBjbVZoYlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2RsZG1WdWRITW5LUzVGZG1WdWRFVnRhWFIwWlhJN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxcIik7XFxuZXhwb3J0cy5TdHJlYW0gPSBleHBvcnRzO1xcbmV4cG9ydHMuUmVhZGFibGUgPSBleHBvcnRzO1xcbmV4cG9ydHMuV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbmV4cG9ydHMuRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcbmV4cG9ydHMuVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcbmV4cG9ydHMuUGFzc1Rocm91Z2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcXCIpO1xcbmV4cG9ydHMuZmluaXNoZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcXFwiKTtcXG5leHBvcnRzLnBpcGVsaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXlaV0ZrWVdKc1pTMWljbTkzYzJWeUxtcHpQMk5sWkRraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNNa0pCUVRKQ0xHMUNRVUZQTEVOQlFVTXNjMGhCUVRKQ08wRkJRemxFTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYlVKQlFVOHNRMEZCUXl4elNFRkJNa0k3UVVGRGRFUXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNhMGhCUVhsQ08wRkJRMnhFTEc5Q1FVRnZRaXh0UWtGQlR5eERRVUZETEhkSVFVRTBRanRCUVVONFJDeHpRa0ZCYzBJc2JVSkJRVThzUTBGQlF5dzBTRUZCT0VJN1FVRkROVVFzYlVKQlFXMUNMRzFDUVVGUExFTkJRVU1zYTBwQlFYbERPMEZCUTNCRkxHMUNRVUZ0UWl4dFFrRkJUeXhEUVVGRExIZEpRVUZ2UXlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzl5WldGa1lXSnNaUzFpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMGN5QTlJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdjbVZ4ZFdseVpTZ25MaTlzYVdJdlgzTjBjbVZoYlY5eVpXRmtZV0pzWlM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVUZEhKbFlXMGdQU0JsZUhCdmNuUnpPMXh1Wlhod2IzSjBjeTVTWldGa1lXSnNaU0E5SUdWNGNHOXlkSE03WEc1bGVIQnZjblJ6TGxkeWFYUmhZbXhsSUQwZ2NtVnhkV2x5WlNnbkxpOXNhV0l2WDNOMGNtVmhiVjkzY21sMFlXSnNaUzVxY3ljcE8xeHVaWGh3YjNKMGN5NUVkWEJzWlhnZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5ZmMzUnlaV0Z0WDJSMWNHeGxlQzVxY3ljcE8xeHVaWGh3YjNKMGN5NVVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWZjM1J5WldGdFgzUnlZVzV6Wm05eWJTNXFjeWNwTzF4dVpYaHdiM0owY3k1UVlYTnpWR2h5YjNWbmFDQTlJSEpsY1hWcGNtVW9KeTR2YkdsaUwxOXpkSEpsWVcxZmNHRnpjM1JvY205MVoyZ3Vhbk1uS1R0Y2JtVjRjRzl5ZEhNdVptbHVhWE5vWldRZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJWdVpDMXZaaTF6ZEhKbFlXMHVhbk1uS1R0Y2JtVjRjRzl5ZEhNdWNHbHdaV3hwYm1VZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNCcGNHVnNhVzVsTG1wekp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci14b3IvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9idWZmZXIteG9yL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHttb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHhvciAoYSwgYikge1xcbiAgdmFyIGxlbmd0aCA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcXG4gIHZhciBidWZmZXIgPSBuZXcgQnVmZmVyKGxlbmd0aClcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcXG4gICAgYnVmZmVyW2ldID0gYVtpXSBeIGJbaV1cXG4gIH1cXG5cXG4gIHJldHVybiBidWZmZXJcXG59XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vYnVmZmVyL2luZGV4LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXIpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWRXWm1aWEl0ZUc5eUwybHVaR1Y0TG1welB6bG1NMllpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhaUVVGWk8wRkJRemRDTzBGQlEwRTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWlkV1ptWlhJdGVHOXlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCNGIzSWdLR0VzSUdJcElIdGNiaUFnZG1GeUlHeGxibWQwYUNBOUlFMWhkR2d1YldsdUtHRXViR1Z1WjNSb0xDQmlMbXhsYm1kMGFDbGNiaUFnZG1GeUlHSjFabVpsY2lBOUlHNWxkeUJDZFdabVpYSW9iR1Z1WjNSb0tWeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQmlkV1ptWlhKYmFWMGdQU0JoVzJsZElGNGdZbHRwWFZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdKMVptWmxjbHh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihnbG9iYWwpIHsvKiFcXG4gKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci5cXG4gKlxcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwOi8vZmVyb3NzLm9yZz5cXG4gKiBAbGljZW5zZSAgTUlUXFxuICovXFxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cXG5cXG5cXG5cXG52YXIgYmFzZTY0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmFzZTY0LWpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanNcXFwiKVxcbnZhciBpZWVlNzU0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaWVlZTc1NCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qc1xcXCIpXFxudmFyIGlzQXJyYXkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpc2FycmF5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzXFxcIilcXG5cXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxcbmV4cG9ydHMuU2xvd0J1ZmZlciA9IFNsb3dCdWZmZXJcXG5leHBvcnRzLklOU1BFQ1RfTUFYX0JZVEVTID0gNTBcXG5cXG4vKipcXG4gKiBJZiBgQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRgOlxcbiAqICAgPT09IHRydWUgICAgVXNlIFVpbnQ4QXJyYXkgaW1wbGVtZW50YXRpb24gKGZhc3Rlc3QpXFxuICogICA9PT0gZmFsc2UgICBVc2UgT2JqZWN0IGltcGxlbWVudGF0aW9uIChtb3N0IGNvbXBhdGlibGUsIGV2ZW4gSUU2KVxcbiAqXFxuICogQnJvd3NlcnMgdGhhdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBhcmUgSUUgMTArLCBGaXJlZm94IDQrLCBDaHJvbWUgNyssIFNhZmFyaSA1LjErLFxcbiAqIE9wZXJhIDExLjYrLCBpT1MgNC4yKy5cXG4gKlxcbiAqIER1ZSB0byB2YXJpb3VzIGJyb3dzZXIgYnVncywgc29tZXRpbWVzIHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24gd2lsbCBiZSB1c2VkIGV2ZW5cXG4gKiB3aGVuIHRoZSBicm93c2VyIHN1cHBvcnRzIHR5cGVkIGFycmF5cy5cXG4gKlxcbiAqIE5vdGU6XFxuICpcXG4gKiAgIC0gRmlyZWZveCA0LTI5IGxhY2tzIHN1cHBvcnQgZm9yIGFkZGluZyBuZXcgcHJvcGVydGllcyB0byBgVWludDhBcnJheWAgaW5zdGFuY2VzLFxcbiAqICAgICBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOC5cXG4gKlxcbiAqICAgLSBDaHJvbWUgOS0xMCBpcyBtaXNzaW5nIHRoZSBgVHlwZWRBcnJheS5wcm90b3R5cGUuc3ViYXJyYXlgIGZ1bmN0aW9uLlxcbiAqXFxuICogICAtIElFMTAgaGFzIGEgYnJva2VuIGBUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheWAgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhcnJheXMgb2ZcXG4gKiAgICAgaW5jb3JyZWN0IGxlbmd0aCBpbiBzb21lIHNpdHVhdGlvbnMuXFxuXFxuICogV2UgZGV0ZWN0IHRoZXNlIGJ1Z2d5IGJyb3dzZXJzIGFuZCBzZXQgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYCB0byBgZmFsc2VgIHNvIHRoZXlcXG4gKiBnZXQgdGhlIE9iamVjdCBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaXMgc2xvd2VyIGJ1dCBiZWhhdmVzIGNvcnJlY3RseS5cXG4gKi9cXG5CdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCA9IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUICE9PSB1bmRlZmluZWRcXG4gID8gZ2xvYmFsLlRZUEVEX0FSUkFZX1NVUFBPUlRcXG4gIDogdHlwZWRBcnJheVN1cHBvcnQoKVxcblxcbi8qXFxuICogRXhwb3J0IGtNYXhMZW5ndGggYWZ0ZXIgdHlwZWQgYXJyYXkgc3VwcG9ydCBpcyBkZXRlcm1pbmVkLlxcbiAqL1xcbmV4cG9ydHMua01heExlbmd0aCA9IGtNYXhMZW5ndGgoKVxcblxcbmZ1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0ICgpIHtcXG4gIHRyeSB7XFxuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheSgxKVxcbiAgICBhcnIuX19wcm90b19fID0ge19fcHJvdG9fXzogVWludDhBcnJheS5wcm90b3R5cGUsIGZvbzogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDIgfX1cXG4gICAgcmV0dXJuIGFyci5mb28oKSA9PT0gNDIgJiYgLy8gdHlwZWQgYXJyYXkgaW5zdGFuY2VzIGNhbiBiZSBhdWdtZW50ZWRcXG4gICAgICAgIHR5cGVvZiBhcnIuc3ViYXJyYXkgPT09ICdmdW5jdGlvbicgJiYgLy8gY2hyb21lIDktMTAgbGFjayBgc3ViYXJyYXlgXFxuICAgICAgICBhcnIuc3ViYXJyYXkoMSwgMSkuYnl0ZUxlbmd0aCA9PT0gMCAvLyBpZTEwIGhhcyBicm9rZW4gYHN1YmFycmF5YFxcbiAgfSBjYXRjaCAoZSkge1xcbiAgICByZXR1cm4gZmFsc2VcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24ga01heExlbmd0aCAoKSB7XFxuICByZXR1cm4gQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRcXG4gICAgPyAweDdmZmZmZmZmXFxuICAgIDogMHgzZmZmZmZmZlxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVCdWZmZXIgKHRoYXQsIGxlbmd0aCkge1xcbiAgaWYgKGtNYXhMZW5ndGgoKSA8IGxlbmd0aCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgnKVxcbiAgfVxcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxcbiAgICB0aGF0ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKVxcbiAgICB0aGF0Ll9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcXG4gIH0gZWxzZSB7XFxuICAgIC8vIEZhbGxiYWNrOiBSZXR1cm4gYW4gb2JqZWN0IGluc3RhbmNlIG9mIHRoZSBCdWZmZXIgY2xhc3NcXG4gICAgaWYgKHRoYXQgPT09IG51bGwpIHtcXG4gICAgICB0aGF0ID0gbmV3IEJ1ZmZlcihsZW5ndGgpXFxuICAgIH1cXG4gICAgdGhhdC5sZW5ndGggPSBsZW5ndGhcXG4gIH1cXG5cXG4gIHJldHVybiB0aGF0XFxufVxcblxcbi8qKlxcbiAqIFRoZSBCdWZmZXIgY29uc3RydWN0b3IgcmV0dXJucyBpbnN0YW5jZXMgb2YgYFVpbnQ4QXJyYXlgIHRoYXQgaGF2ZSB0aGVpclxcbiAqIHByb3RvdHlwZSBjaGFuZ2VkIHRvIGBCdWZmZXIucHJvdG90eXBlYC4gRnVydGhlcm1vcmUsIGBCdWZmZXJgIGlzIGEgc3ViY2xhc3Mgb2ZcXG4gKiBgVWludDhBcnJheWAsIHNvIHRoZSByZXR1cm5lZCBpbnN0YW5jZXMgd2lsbCBoYXZlIGFsbCB0aGUgbm9kZSBgQnVmZmVyYCBtZXRob2RzXFxuICogYW5kIHRoZSBgVWludDhBcnJheWAgbWV0aG9kcy4gU3F1YXJlIGJyYWNrZXQgbm90YXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgLS0gaXRcXG4gKiByZXR1cm5zIGEgc2luZ2xlIG9jdGV0LlxcbiAqXFxuICogVGhlIGBVaW50OEFycmF5YCBwcm90b3R5cGUgcmVtYWlucyB1bm1vZGlmaWVkLlxcbiAqL1xcblxcbmZ1bmN0aW9uIEJ1ZmZlciAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiYgISh0aGlzIGluc3RhbmNlb2YgQnVmZmVyKSkge1xcbiAgICByZXR1cm4gbmV3IEJ1ZmZlcihhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG4gIH1cXG5cXG4gIC8vIENvbW1vbiBjYXNlLlxcbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XFxuICAgIGlmICh0eXBlb2YgZW5jb2RpbmdPck9mZnNldCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXFxuICAgICAgICAnSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnXFxuICAgICAgKVxcbiAgICB9XFxuICAgIHJldHVybiBhbGxvY1Vuc2FmZSh0aGlzLCBhcmcpXFxuICB9XFxuICByZXR1cm4gZnJvbSh0aGlzLCBhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuQnVmZmVyLnBvb2xTaXplID0gODE5MiAvLyBub3QgdXNlZCBieSB0aGlzIGltcGxlbWVudGF0aW9uXFxuXFxuLy8gVE9ETzogTGVnYWN5LCBub3QgbmVlZGVkIGFueW1vcmUuIFJlbW92ZSBpbiBuZXh0IG1ham9yIHZlcnNpb24uXFxuQnVmZmVyLl9hdWdtZW50ID0gZnVuY3Rpb24gKGFycikge1xcbiAgYXJyLl9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcXG4gIHJldHVybiBhcnJcXG59XFxuXFxuZnVuY3Rpb24gZnJvbSAodGhhdCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcInZhbHVlXFxcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXFxuICB9XFxuXFxuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XFxuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIodGhhdCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiBmcm9tU3RyaW5nKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxcbiAgfVxcblxcbiAgcmV0dXJuIGZyb21PYmplY3QodGhhdCwgdmFsdWUpXFxufVxcblxcbi8qKlxcbiAqIEZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIEJ1ZmZlcihhcmcsIGVuY29kaW5nKSBidXQgdGhyb3dzIGEgVHlwZUVycm9yXFxuICogaWYgdmFsdWUgaXMgYSBudW1iZXIuXFxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxcbiAqIEJ1ZmZlci5mcm9tKGFycmF5KVxcbiAqIEJ1ZmZlci5mcm9tKGJ1ZmZlcilcXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcXG4gKiovXFxuQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xcbiAgcmV0dXJuIGZyb20obnVsbCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICBCdWZmZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXkucHJvdG90eXBlXFxuICBCdWZmZXIuX19wcm90b19fID0gVWludDhBcnJheVxcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5zcGVjaWVzICYmXFxuICAgICAgQnVmZmVyW1N5bWJvbC5zcGVjaWVzXSA9PT0gQnVmZmVyKSB7XFxuICAgIC8vIEZpeCBzdWJhcnJheSgpIGluIEVTMjAxNi4gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmVyb3NzL2J1ZmZlci9wdWxsLzk3XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIsIFN5bWJvbC5zcGVjaWVzLCB7XFxuICAgICAgdmFsdWU6IG51bGwsXFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxuICAgIH0pXFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGFzc2VydFNpemUgKHNpemUpIHtcXG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcInNpemVcXFwiIGFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxcbiAgfSBlbHNlIGlmIChzaXplIDwgMCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFxcInNpemVcXFwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG5lZ2F0aXZlJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWxsb2MgKHRoYXQsIHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XFxuICBhc3NlcnRTaXplKHNpemUpXFxuICBpZiAoc2l6ZSA8PSAwKSB7XFxuICAgIHJldHVybiBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSlcXG4gIH1cXG4gIGlmIChmaWxsICE9PSB1bmRlZmluZWQpIHtcXG4gICAgLy8gT25seSBwYXkgYXR0ZW50aW9uIHRvIGVuY29kaW5nIGlmIGl0J3MgYSBzdHJpbmcuIFRoaXNcXG4gICAgLy8gcHJldmVudHMgYWNjaWRlbnRhbGx5IHNlbmRpbmcgaW4gYSBudW1iZXIgdGhhdCB3b3VsZFxcbiAgICAvLyBiZSBpbnRlcnByZXR0ZWQgYXMgYSBzdGFydCBvZmZzZXQuXFxuICAgIHJldHVybiB0eXBlb2YgZW5jb2RpbmcgPT09ICdzdHJpbmcnXFxuICAgICAgPyBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSkuZmlsbChmaWxsLCBlbmNvZGluZylcXG4gICAgICA6IGNyZWF0ZUJ1ZmZlcih0aGF0LCBzaXplKS5maWxsKGZpbGwpXFxuICB9XFxuICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXFxufVxcblxcbi8qKlxcbiAqIENyZWF0ZXMgYSBuZXcgZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cXG4gKiBhbGxvYyhzaXplWywgZmlsbFssIGVuY29kaW5nXV0pXFxuICoqL1xcbkJ1ZmZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xcbiAgcmV0dXJuIGFsbG9jKG51bGwsIHNpemUsIGZpbGwsIGVuY29kaW5nKVxcbn1cXG5cXG5mdW5jdGlvbiBhbGxvY1Vuc2FmZSAodGhhdCwgc2l6ZSkge1xcbiAgYXNzZXJ0U2l6ZShzaXplKVxcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBzaXplIDwgMCA/IDAgOiBjaGVja2VkKHNpemUpIHwgMClcXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHtcXG4gICAgICB0aGF0W2ldID0gMFxcbiAgICB9XFxuICB9XFxuICByZXR1cm4gdGhhdFxcbn1cXG5cXG4vKipcXG4gKiBFcXVpdmFsZW50IHRvIEJ1ZmZlcihudW0pLCBieSBkZWZhdWx0IGNyZWF0ZXMgYSBub24temVyby1maWxsZWQgQnVmZmVyIGluc3RhbmNlLlxcbiAqICovXFxuQnVmZmVyLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKHNpemUpIHtcXG4gIHJldHVybiBhbGxvY1Vuc2FmZShudWxsLCBzaXplKVxcbn1cXG4vKipcXG4gKiBFcXVpdmFsZW50IHRvIFNsb3dCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cXG4gKi9cXG5CdWZmZXIuYWxsb2NVbnNhZmVTbG93ID0gZnVuY3Rpb24gKHNpemUpIHtcXG4gIHJldHVybiBhbGxvY1Vuc2FmZShudWxsLCBzaXplKVxcbn1cXG5cXG5mdW5jdGlvbiBmcm9tU3RyaW5nICh0aGF0LCBzdHJpbmcsIGVuY29kaW5nKSB7XFxuICBpZiAodHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJyB8fCBlbmNvZGluZyA9PT0gJycpIHtcXG4gICAgZW5jb2RpbmcgPSAndXRmOCdcXG4gIH1cXG5cXG4gIGlmICghQnVmZmVyLmlzRW5jb2RpbmcoZW5jb2RpbmcpKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJlbmNvZGluZ1xcXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpXFxuICB9XFxuXFxuICB2YXIgbGVuZ3RoID0gYnl0ZUxlbmd0aChzdHJpbmcsIGVuY29kaW5nKSB8IDBcXG4gIHRoYXQgPSBjcmVhdGVCdWZmZXIodGhhdCwgbGVuZ3RoKVxcblxcbiAgdmFyIGFjdHVhbCA9IHRoYXQud3JpdGUoc3RyaW5nLCBlbmNvZGluZylcXG5cXG4gIGlmIChhY3R1YWwgIT09IGxlbmd0aCkge1xcbiAgICAvLyBXcml0aW5nIGEgaGV4IHN0cmluZywgZm9yIGV4YW1wbGUsIHRoYXQgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzIHdpbGxcXG4gICAgLy8gY2F1c2UgZXZlcnl0aGluZyBhZnRlciB0aGUgZmlyc3QgaW52YWxpZCBjaGFyYWN0ZXIgdG8gYmUgaWdub3JlZC4gKGUuZy5cXG4gICAgLy8gJ2FieHhjZCcgd2lsbCBiZSB0cmVhdGVkIGFzICdhYicpXFxuICAgIHRoYXQgPSB0aGF0LnNsaWNlKDAsIGFjdHVhbClcXG4gIH1cXG5cXG4gIHJldHVybiB0aGF0XFxufVxcblxcbmZ1bmN0aW9uIGZyb21BcnJheUxpa2UgKHRoYXQsIGFycmF5KSB7XFxuICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoIDwgMCA/IDAgOiBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXFxuICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIGxlbmd0aClcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcXG4gICAgdGhhdFtpXSA9IGFycmF5W2ldICYgMjU1XFxuICB9XFxuICByZXR1cm4gdGhhdFxcbn1cXG5cXG5mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIgKHRoYXQsIGFycmF5LCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGFycmF5LmJ5dGVMZW5ndGggLy8gdGhpcyB0aHJvd3MgaWYgYGFycmF5YCBpcyBub3QgYSB2YWxpZCBBcnJheUJ1ZmZlclxcblxcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwIHx8IGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0KSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdcXFxcJ29mZnNldFxcXFwnIGlzIG91dCBvZiBib3VuZHMnKVxcbiAgfVxcblxcbiAgaWYgKGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0ICsgKGxlbmd0aCB8fCAwKSkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFxcXCdsZW5ndGhcXFxcJyBpcyBvdXQgb2YgYm91bmRzJylcXG4gIH1cXG5cXG4gIGlmIChieXRlT2Zmc2V0ID09PSB1bmRlZmluZWQgJiYgbGVuZ3RoID09PSB1bmRlZmluZWQpIHtcXG4gICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheSlcXG4gIH0gZWxzZSBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcXG4gICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheSwgYnl0ZU9mZnNldClcXG4gIH0gZWxzZSB7XFxuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcXG4gIH1cXG5cXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xcbiAgICAvLyBSZXR1cm4gYW4gYXVnbWVudGVkIGBVaW50OEFycmF5YCBpbnN0YW5jZSwgZm9yIGJlc3QgcGVyZm9ybWFuY2VcXG4gICAgdGhhdCA9IGFycmF5XFxuICAgIHRoYXQuX19wcm90b19fID0gQnVmZmVyLnByb3RvdHlwZVxcbiAgfSBlbHNlIHtcXG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xcbiAgICB0aGF0ID0gZnJvbUFycmF5TGlrZSh0aGF0LCBhcnJheSlcXG4gIH1cXG4gIHJldHVybiB0aGF0XFxufVxcblxcbmZ1bmN0aW9uIGZyb21PYmplY3QgKHRoYXQsIG9iaikge1xcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XFxuICAgIHZhciBsZW4gPSBjaGVja2VkKG9iai5sZW5ndGgpIHwgMFxcbiAgICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIGxlbilcXG5cXG4gICAgaWYgKHRoYXQubGVuZ3RoID09PSAwKSB7XFxuICAgICAgcmV0dXJuIHRoYXRcXG4gICAgfVxcblxcbiAgICBvYmouY29weSh0aGF0LCAwLCAwLCBsZW4pXFxuICAgIHJldHVybiB0aGF0XFxuICB9XFxuXFxuICBpZiAob2JqKSB7XFxuICAgIGlmICgodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJlxcbiAgICAgICAgb2JqLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB8fCAnbGVuZ3RoJyBpbiBvYmopIHtcXG4gICAgICBpZiAodHlwZW9mIG9iai5sZW5ndGggIT09ICdudW1iZXInIHx8IGlzbmFuKG9iai5sZW5ndGgpKSB7XFxuICAgICAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIDApXFxuICAgICAgfVxcbiAgICAgIHJldHVybiBmcm9tQXJyYXlMaWtlKHRoYXQsIG9iailcXG4gICAgfVxcblxcbiAgICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIGlzQXJyYXkob2JqLmRhdGEpKSB7XFxuICAgICAgcmV0dXJuIGZyb21BcnJheUxpa2UodGhhdCwgb2JqLmRhdGEpXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBhcnJheS1saWtlIG9iamVjdC4nKVxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja2VkIChsZW5ndGgpIHtcXG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IGtNYXhMZW5ndGgoKWAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxcbiAgLy8gbGVuZ3RoIGlzIE5hTiAod2hpY2ggaXMgb3RoZXJ3aXNlIGNvZXJjZWQgdG8gemVyby4pXFxuICBpZiAobGVuZ3RoID49IGtNYXhMZW5ndGgoKSkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ3NpemU6IDB4JyArIGtNYXhMZW5ndGgoKS50b1N0cmluZygxNikgKyAnIGJ5dGVzJylcXG4gIH1cXG4gIHJldHVybiBsZW5ndGggfCAwXFxufVxcblxcbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xcbiAgaWYgKCtsZW5ndGggIT0gbGVuZ3RoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZXFlcWVxXFxuICAgIGxlbmd0aCA9IDBcXG4gIH1cXG4gIHJldHVybiBCdWZmZXIuYWxsb2MoK2xlbmd0aClcXG59XFxuXFxuQnVmZmVyLmlzQnVmZmVyID0gZnVuY3Rpb24gaXNCdWZmZXIgKGIpIHtcXG4gIHJldHVybiAhIShiICE9IG51bGwgJiYgYi5faXNCdWZmZXIpXFxufVxcblxcbkJ1ZmZlci5jb21wYXJlID0gZnVuY3Rpb24gY29tcGFyZSAoYSwgYikge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYSkgfHwgIUJ1ZmZlci5pc0J1ZmZlcihiKSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudHMgbXVzdCBiZSBCdWZmZXJzJylcXG4gIH1cXG5cXG4gIGlmIChhID09PSBiKSByZXR1cm4gMFxcblxcbiAgdmFyIHggPSBhLmxlbmd0aFxcbiAgdmFyIHkgPSBiLmxlbmd0aFxcblxcbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcXG4gICAgaWYgKGFbaV0gIT09IGJbaV0pIHtcXG4gICAgICB4ID0gYVtpXVxcbiAgICAgIHkgPSBiW2ldXFxuICAgICAgYnJlYWtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHggPCB5KSByZXR1cm4gLTFcXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcXG4gIHJldHVybiAwXFxufVxcblxcbkJ1ZmZlci5pc0VuY29kaW5nID0gZnVuY3Rpb24gaXNFbmNvZGluZyAoZW5jb2RpbmcpIHtcXG4gIHN3aXRjaCAoU3RyaW5nKGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpKSB7XFxuICAgIGNhc2UgJ2hleCc6XFxuICAgIGNhc2UgJ3V0ZjgnOlxcbiAgICBjYXNlICd1dGYtOCc6XFxuICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgY2FzZSAnbGF0aW4xJzpcXG4gICAgY2FzZSAnYmluYXJ5JzpcXG4gICAgY2FzZSAnYmFzZTY0JzpcXG4gICAgY2FzZSAndWNzMic6XFxuICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgY2FzZSAndXRmMTZsZSc6XFxuICAgIGNhc2UgJ3V0Zi0xNmxlJzpcXG4gICAgICByZXR1cm4gdHJ1ZVxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHJldHVybiBmYWxzZVxcbiAgfVxcbn1cXG5cXG5CdWZmZXIuY29uY2F0ID0gZnVuY3Rpb24gY29uY2F0IChsaXN0LCBsZW5ndGgpIHtcXG4gIGlmICghaXNBcnJheShsaXN0KSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcXFwibGlzdFxcXCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcXG4gIH1cXG5cXG4gIGlmIChsaXN0Lmxlbmd0aCA9PT0gMCkge1xcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXFxuICB9XFxuXFxuICB2YXIgaVxcbiAgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGxlbmd0aCA9IDBcXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcXG4gICAgICBsZW5ndGggKz0gbGlzdFtpXS5sZW5ndGhcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW5ndGgpXFxuICB2YXIgcG9zID0gMFxcbiAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcXG4gICAgdmFyIGJ1ZiA9IGxpc3RbaV1cXG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJsaXN0XFxcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKVxcbiAgICB9XFxuICAgIGJ1Zi5jb3B5KGJ1ZmZlciwgcG9zKVxcbiAgICBwb3MgKz0gYnVmLmxlbmd0aFxcbiAgfVxcbiAgcmV0dXJuIGJ1ZmZlclxcbn1cXG5cXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChzdHJpbmcsIGVuY29kaW5nKSB7XFxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHN0cmluZykpIHtcXG4gICAgcmV0dXJuIHN0cmluZy5sZW5ndGhcXG4gIH1cXG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcgPT09ICdmdW5jdGlvbicgJiZcXG4gICAgICAoQXJyYXlCdWZmZXIuaXNWaWV3KHN0cmluZykgfHwgc3RyaW5nIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XFxuICAgIHJldHVybiBzdHJpbmcuYnl0ZUxlbmd0aFxcbiAgfVxcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XFxuICAgIHN0cmluZyA9ICcnICsgc3RyaW5nXFxuICB9XFxuXFxuICB2YXIgbGVuID0gc3RyaW5nLmxlbmd0aFxcbiAgaWYgKGxlbiA9PT0gMCkgcmV0dXJuIDBcXG5cXG4gIC8vIFVzZSBhIGZvciBsb29wIHRvIGF2b2lkIHJlY3Vyc2lvblxcbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcXG4gIGZvciAoOzspIHtcXG4gICAgc3dpdGNoIChlbmNvZGluZykge1xcbiAgICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgICBjYXNlICdsYXRpbjEnOlxcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XFxuICAgICAgICByZXR1cm4gbGVuXFxuICAgICAgY2FzZSAndXRmOCc6XFxuICAgICAgY2FzZSAndXRmLTgnOlxcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxcbiAgICAgICAgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoXFxuICAgICAgY2FzZSAndWNzMic6XFxuICAgICAgY2FzZSAndWNzLTInOlxcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcXG4gICAgICAgIHJldHVybiBsZW4gKiAyXFxuICAgICAgY2FzZSAnaGV4JzpcXG4gICAgICAgIHJldHVybiBsZW4gPj4+IDFcXG4gICAgICBjYXNlICdiYXNlNjQnOlxcbiAgICAgICAgcmV0dXJuIGJhc2U2NFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSByZXR1cm4gdXRmOFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGggLy8gYXNzdW1lIHV0ZjhcXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcXG4gICAgICAgIGxvd2VyZWRDYXNlID0gdHJ1ZVxcbiAgICB9XFxuICB9XFxufVxcbkJ1ZmZlci5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxcblxcbmZ1bmN0aW9uIHNsb3dUb1N0cmluZyAoZW5jb2RpbmcsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciBsb3dlcmVkQ2FzZSA9IGZhbHNlXFxuXFxuICAvLyBObyBuZWVkIHRvIHZlcmlmeSB0aGF0IFxcXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXFxcIiBzaW5jZSBpdCdzIGEgcmVhZC1vbmx5XFxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxcblxcbiAgLy8gVGhpcyBiZWhhdmVzIG5laXRoZXIgbGlrZSBTdHJpbmcgbm9yIFVpbnQ4QXJyYXkgaW4gdGhhdCB3ZSBzZXQgc3RhcnQvZW5kXFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXFxuICAvLyB1bmRlZmluZWQgaXMgaGFuZGxlZCBzcGVjaWFsbHkgYXMgcGVyIEVDTUEtMjYyIDZ0aCBFZGl0aW9uLFxcbiAgLy8gU2VjdGlvbiAxMy4zLjMuNyBSdW50aW1lIFNlbWFudGljczogS2V5ZWRCaW5kaW5nSW5pdGlhbGl6YXRpb24uXFxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcXG4gICAgc3RhcnQgPSAwXFxuICB9XFxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxcbiAgLy8gY29lcmNpb24gZmFpbCBiZWxvdy5cXG4gIGlmIChzdGFydCA+IHRoaXMubGVuZ3RoKSB7XFxuICAgIHJldHVybiAnJ1xcbiAgfVxcblxcbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XFxuICAgIGVuZCA9IHRoaXMubGVuZ3RoXFxuICB9XFxuXFxuICBpZiAoZW5kIDw9IDApIHtcXG4gICAgcmV0dXJuICcnXFxuICB9XFxuXFxuICAvLyBGb3JjZSBjb2Vyc2lvbiB0byB1aW50MzIuIFRoaXMgd2lsbCBhbHNvIGNvZXJjZSBmYWxzZXkvTmFOIHZhbHVlcyB0byAwLlxcbiAgZW5kID4+Pj0gMFxcbiAgc3RhcnQgPj4+PSAwXFxuXFxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XFxuICAgIHJldHVybiAnJ1xcbiAgfVxcblxcbiAgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSAndXRmOCdcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcXG4gICAgICBjYXNlICdoZXgnOlxcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgY2FzZSAndXRmOCc6XFxuICAgICAgY2FzZSAndXRmLTgnOlxcbiAgICAgICAgcmV0dXJuIHV0ZjhTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxcblxcbiAgICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgICAgIHJldHVybiBhc2NpaVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgY2FzZSAnbGF0aW4xJzpcXG4gICAgICBjYXNlICdiaW5hcnknOlxcbiAgICAgICAgcmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgY2FzZSAnYmFzZTY0JzpcXG4gICAgICAgIHJldHVybiBiYXNlNjRTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxcblxcbiAgICAgIGNhc2UgJ3VjczInOlxcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgICBjYXNlICd1dGYxNmxlJzpcXG4gICAgICBjYXNlICd1dGYtMTZsZSc6XFxuICAgICAgICByZXR1cm4gdXRmMTZsZVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLy8gVGhlIHByb3BlcnR5IGlzIHVzZWQgYnkgYEJ1ZmZlci5pc0J1ZmZlcmAgYW5kIGBpcy1idWZmZXJgIChpbiBTYWZhcmkgNS03KSB0byBkZXRlY3RcXG4vLyBCdWZmZXIgaW5zdGFuY2VzLlxcbkJ1ZmZlci5wcm90b3R5cGUuX2lzQnVmZmVyID0gdHJ1ZVxcblxcbmZ1bmN0aW9uIHN3YXAgKGIsIG4sIG0pIHtcXG4gIHZhciBpID0gYltuXVxcbiAgYltuXSA9IGJbbV1cXG4gIGJbbV0gPSBpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDE2ID0gZnVuY3Rpb24gc3dhcDE2ICgpIHtcXG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxcbiAgaWYgKGxlbiAlIDIgIT09IDApIHtcXG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzJylcXG4gIH1cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHtcXG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMSlcXG4gIH1cXG4gIHJldHVybiB0aGlzXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyID0gZnVuY3Rpb24gc3dhcDMyICgpIHtcXG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxcbiAgaWYgKGxlbiAlIDQgIT09IDApIHtcXG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcXG4gIH1cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDQpIHtcXG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcXG4gICAgc3dhcCh0aGlzLCBpICsgMSwgaSArIDIpXFxuICB9XFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XFxuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcXG4gIGlmIChsZW4gJSA4ICE9PSAwKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cycpXFxuICB9XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSArPSA4KSB7XFxuICAgIHN3YXAodGhpcywgaSwgaSArIDcpXFxuICAgIHN3YXAodGhpcywgaSArIDEsIGkgKyA2KVxcbiAgICBzd2FwKHRoaXMsIGkgKyAyLCBpICsgNSlcXG4gICAgc3dhcCh0aGlzLCBpICsgMywgaSArIDQpXFxuICB9XFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKCkge1xcbiAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoIHwgMFxcbiAgaWYgKGxlbmd0aCA9PT0gMCkgcmV0dXJuICcnXFxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHV0ZjhTbGljZSh0aGlzLCAwLCBsZW5ndGgpXFxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcXG4gIGlmICh0aGlzID09PSBiKSByZXR1cm4gdHJ1ZVxcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgdmFyIHN0ciA9ICcnXFxuICB2YXIgbWF4ID0gZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFU1xcbiAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xcbiAgICBzdHIgPSB0aGlzLnRvU3RyaW5nKCdoZXgnLCAwLCBtYXgpLm1hdGNoKC8uezJ9L2cpLmpvaW4oJyAnKVxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBtYXgpIHN0ciArPSAnIC4uLiAnXFxuICB9XFxuICByZXR1cm4gJzxCdWZmZXIgJyArIHN0ciArICc+J1xcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLmNvbXBhcmUgPSBmdW5jdGlvbiBjb21wYXJlICh0YXJnZXQsIHN0YXJ0LCBlbmQsIHRoaXNTdGFydCwgdGhpc0VuZCkge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodGFyZ2V0KSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcXG4gIH1cXG5cXG4gIGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIHN0YXJ0ID0gMFxcbiAgfVxcbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGVuZCA9IHRhcmdldCA/IHRhcmdldC5sZW5ndGggOiAwXFxuICB9XFxuICBpZiAodGhpc1N0YXJ0ID09PSB1bmRlZmluZWQpIHtcXG4gICAgdGhpc1N0YXJ0ID0gMFxcbiAgfVxcbiAgaWYgKHRoaXNFbmQgPT09IHVuZGVmaW5lZCkge1xcbiAgICB0aGlzRW5kID0gdGhpcy5sZW5ndGhcXG4gIH1cXG5cXG4gIGlmIChzdGFydCA8IDAgfHwgZW5kID4gdGFyZ2V0Lmxlbmd0aCB8fCB0aGlzU3RhcnQgPCAwIHx8IHRoaXNFbmQgPiB0aGlzLmxlbmd0aCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb3V0IG9mIHJhbmdlIGluZGV4JylcXG4gIH1cXG5cXG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCAmJiBzdGFydCA+PSBlbmQpIHtcXG4gICAgcmV0dXJuIDBcXG4gIH1cXG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCkge1xcbiAgICByZXR1cm4gLTFcXG4gIH1cXG4gIGlmIChzdGFydCA+PSBlbmQpIHtcXG4gICAgcmV0dXJuIDFcXG4gIH1cXG5cXG4gIHN0YXJ0ID4+Pj0gMFxcbiAgZW5kID4+Pj0gMFxcbiAgdGhpc1N0YXJ0ID4+Pj0gMFxcbiAgdGhpc0VuZCA+Pj49IDBcXG5cXG4gIGlmICh0aGlzID09PSB0YXJnZXQpIHJldHVybiAwXFxuXFxuICB2YXIgeCA9IHRoaXNFbmQgLSB0aGlzU3RhcnRcXG4gIHZhciB5ID0gZW5kIC0gc3RhcnRcXG4gIHZhciBsZW4gPSBNYXRoLm1pbih4LCB5KVxcblxcbiAgdmFyIHRoaXNDb3B5ID0gdGhpcy5zbGljZSh0aGlzU3RhcnQsIHRoaXNFbmQpXFxuICB2YXIgdGFyZ2V0Q29weSA9IHRhcmdldC5zbGljZShzdGFydCwgZW5kKVxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xcbiAgICBpZiAodGhpc0NvcHlbaV0gIT09IHRhcmdldENvcHlbaV0pIHtcXG4gICAgICB4ID0gdGhpc0NvcHlbaV1cXG4gICAgICB5ID0gdGFyZ2V0Q29weVtpXVxcbiAgICAgIGJyZWFrXFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXFxuICBpZiAoeSA8IHgpIHJldHVybiAxXFxuICByZXR1cm4gMFxcbn1cXG5cXG4vLyBGaW5kcyBlaXRoZXIgdGhlIGZpcnN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA+PSBgYnl0ZU9mZnNldGAsXFxuLy8gT1IgdGhlIGxhc3QgaW5kZXggb2YgYHZhbGAgaW4gYGJ1ZmZlcmAgYXQgb2Zmc2V0IDw9IGBieXRlT2Zmc2V0YC5cXG4vL1xcbi8vIEFyZ3VtZW50czpcXG4vLyAtIGJ1ZmZlciAtIGEgQnVmZmVyIHRvIHNlYXJjaFxcbi8vIC0gdmFsIC0gYSBzdHJpbmcsIEJ1ZmZlciwgb3IgbnVtYmVyXFxuLy8gLSBieXRlT2Zmc2V0IC0gYW4gaW5kZXggaW50byBgYnVmZmVyYDsgd2lsbCBiZSBjbGFtcGVkIHRvIGFuIGludDMyXFxuLy8gLSBlbmNvZGluZyAtIGFuIG9wdGlvbmFsIGVuY29kaW5nLCByZWxldmFudCBpcyB2YWwgaXMgYSBzdHJpbmdcXG4vLyAtIGRpciAtIHRydWUgZm9yIGluZGV4T2YsIGZhbHNlIGZvciBsYXN0SW5kZXhPZlxcbmZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mIChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xcbiAgLy8gRW1wdHkgYnVmZmVyIG1lYW5zIG5vIG1hdGNoXFxuICBpZiAoYnVmZmVyLmxlbmd0aCA9PT0gMCkgcmV0dXJuIC0xXFxuXFxuICAvLyBOb3JtYWxpemUgYnl0ZU9mZnNldFxcbiAgaWYgKHR5cGVvZiBieXRlT2Zmc2V0ID09PSAnc3RyaW5nJykge1xcbiAgICBlbmNvZGluZyA9IGJ5dGVPZmZzZXRcXG4gICAgYnl0ZU9mZnNldCA9IDBcXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA+IDB4N2ZmZmZmZmYpIHtcXG4gICAgYnl0ZU9mZnNldCA9IDB4N2ZmZmZmZmZcXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA8IC0weDgwMDAwMDAwKSB7XFxuICAgIGJ5dGVPZmZzZXQgPSAtMHg4MDAwMDAwMFxcbiAgfVxcbiAgYnl0ZU9mZnNldCA9ICtieXRlT2Zmc2V0ICAvLyBDb2VyY2UgdG8gTnVtYmVyLlxcbiAgaWYgKGlzTmFOKGJ5dGVPZmZzZXQpKSB7XFxuICAgIC8vIGJ5dGVPZmZzZXQ6IGl0IGl0J3MgdW5kZWZpbmVkLCBudWxsLCBOYU4sIFxcXCJmb29cXFwiLCBldGMsIHNlYXJjaCB3aG9sZSBidWZmZXJcXG4gICAgYnl0ZU9mZnNldCA9IGRpciA/IDAgOiAoYnVmZmVyLmxlbmd0aCAtIDEpXFxuICB9XFxuXFxuICAvLyBOb3JtYWxpemUgYnl0ZU9mZnNldDogbmVnYXRpdmUgb2Zmc2V0cyBzdGFydCBmcm9tIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlclxcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gYnVmZmVyLmxlbmd0aCArIGJ5dGVPZmZzZXRcXG4gIGlmIChieXRlT2Zmc2V0ID49IGJ1ZmZlci5sZW5ndGgpIHtcXG4gICAgaWYgKGRpcikgcmV0dXJuIC0xXFxuICAgIGVsc2UgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggLSAxXFxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPCAwKSB7XFxuICAgIGlmIChkaXIpIGJ5dGVPZmZzZXQgPSAwXFxuICAgIGVsc2UgcmV0dXJuIC0xXFxuICB9XFxuXFxuICAvLyBOb3JtYWxpemUgdmFsXFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcXG4gICAgdmFsID0gQnVmZmVyLmZyb20odmFsLCBlbmNvZGluZylcXG4gIH1cXG5cXG4gIC8vIEZpbmFsbHksIHNlYXJjaCBlaXRoZXIgaW5kZXhPZiAoaWYgZGlyIGlzIHRydWUpIG9yIGxhc3RJbmRleE9mXFxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbCkpIHtcXG4gICAgLy8gU3BlY2lhbCBjYXNlOiBsb29raW5nIGZvciBlbXB0eSBzdHJpbmcvYnVmZmVyIGFsd2F5cyBmYWlsc1xcbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMCkge1xcbiAgICAgIHJldHVybiAtMVxcbiAgICB9XFxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXFxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XFxuICAgIHZhbCA9IHZhbCAmIDB4RkYgLy8gU2VhcmNoIGZvciBhIGJ5dGUgdmFsdWUgWzAtMjU1XVxcbiAgICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiZcXG4gICAgICAgIHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgaWYgKGRpcikge1xcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldClcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCBbIHZhbCBdLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKVxcbiAgfVxcblxcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcigndmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyJylcXG59XFxuXFxuZnVuY3Rpb24gYXJyYXlJbmRleE9mIChhcnIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xcbiAgdmFyIGluZGV4U2l6ZSA9IDFcXG4gIHZhciBhcnJMZW5ndGggPSBhcnIubGVuZ3RoXFxuICB2YXIgdmFsTGVuZ3RoID0gdmFsLmxlbmd0aFxcblxcbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIHtcXG4gICAgZW5jb2RpbmcgPSBTdHJpbmcoZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcXG4gICAgaWYgKGVuY29kaW5nID09PSAndWNzMicgfHwgZW5jb2RpbmcgPT09ICd1Y3MtMicgfHxcXG4gICAgICAgIGVuY29kaW5nID09PSAndXRmMTZsZScgfHwgZW5jb2RpbmcgPT09ICd1dGYtMTZsZScpIHtcXG4gICAgICBpZiAoYXJyLmxlbmd0aCA8IDIgfHwgdmFsLmxlbmd0aCA8IDIpIHtcXG4gICAgICAgIHJldHVybiAtMVxcbiAgICAgIH1cXG4gICAgICBpbmRleFNpemUgPSAyXFxuICAgICAgYXJyTGVuZ3RoIC89IDJcXG4gICAgICB2YWxMZW5ndGggLz0gMlxcbiAgICAgIGJ5dGVPZmZzZXQgLz0gMlxcbiAgICB9XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWFkIChidWYsIGkpIHtcXG4gICAgaWYgKGluZGV4U2l6ZSA9PT0gMSkge1xcbiAgICAgIHJldHVybiBidWZbaV1cXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gYnVmLnJlYWRVSW50MTZCRShpICogaW5kZXhTaXplKVxcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgaVxcbiAgaWYgKGRpcikge1xcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xXFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPCBhcnJMZW5ndGg7IGkrKykge1xcbiAgICAgIGlmIChyZWFkKGFyciwgaSkgPT09IHJlYWQodmFsLCBmb3VuZEluZGV4ID09PSAtMSA/IDAgOiBpIC0gZm91bmRJbmRleCkpIHtcXG4gICAgICAgIGlmIChmb3VuZEluZGV4ID09PSAtMSkgZm91bmRJbmRleCA9IGlcXG4gICAgICAgIGlmIChpIC0gZm91bmRJbmRleCArIDEgPT09IHZhbExlbmd0aCkgcmV0dXJuIGZvdW5kSW5kZXggKiBpbmRleFNpemVcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSBpIC09IGkgLSBmb3VuZEluZGV4XFxuICAgICAgICBmb3VuZEluZGV4ID0gLTFcXG4gICAgICB9XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGlmIChieXRlT2Zmc2V0ICsgdmFsTGVuZ3RoID4gYXJyTGVuZ3RoKSBieXRlT2Zmc2V0ID0gYXJyTGVuZ3RoIC0gdmFsTGVuZ3RoXFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGZvdW5kID0gdHJ1ZVxcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsTGVuZ3RoOyBqKyspIHtcXG4gICAgICAgIGlmIChyZWFkKGFyciwgaSArIGopICE9PSByZWFkKHZhbCwgaikpIHtcXG4gICAgICAgICAgZm91bmQgPSBmYWxzZVxcbiAgICAgICAgICBicmVha1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoZm91bmQpIHJldHVybiBpXFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiAtMVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLmluY2x1ZGVzID0gZnVuY3Rpb24gaW5jbHVkZXMgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcXG4gIHJldHVybiB0aGlzLmluZGV4T2YodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykgIT09IC0xXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIGluZGV4T2YgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcXG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCB0cnVlKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLmxhc3RJbmRleE9mID0gZnVuY3Rpb24gbGFzdEluZGV4T2YgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcXG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBmYWxzZSlcXG59XFxuXFxuZnVuY3Rpb24gaGV4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xcbiAgb2Zmc2V0ID0gTnVtYmVyKG9mZnNldCkgfHwgMFxcbiAgdmFyIHJlbWFpbmluZyA9IGJ1Zi5sZW5ndGggLSBvZmZzZXRcXG4gIGlmICghbGVuZ3RoKSB7XFxuICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xcbiAgfSBlbHNlIHtcXG4gICAgbGVuZ3RoID0gTnVtYmVyKGxlbmd0aClcXG4gICAgaWYgKGxlbmd0aCA+IHJlbWFpbmluZykge1xcbiAgICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xcbiAgICB9XFxuICB9XFxuXFxuICAvLyBtdXN0IGJlIGFuIGV2ZW4gbnVtYmVyIG9mIGRpZ2l0c1xcbiAgdmFyIHN0ckxlbiA9IHN0cmluZy5sZW5ndGhcXG4gIGlmIChzdHJMZW4gJSAyICE9PSAwKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGhleCBzdHJpbmcnKVxcblxcbiAgaWYgKGxlbmd0aCA+IHN0ckxlbiAvIDIpIHtcXG4gICAgbGVuZ3RoID0gc3RyTGVuIC8gMlxcbiAgfVxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xcbiAgICB2YXIgcGFyc2VkID0gcGFyc2VJbnQoc3RyaW5nLnN1YnN0cihpICogMiwgMiksIDE2KVxcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcXG4gICAgYnVmW29mZnNldCArIGldID0gcGFyc2VkXFxuICB9XFxuICByZXR1cm4gaVxcbn1cXG5cXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xcbiAgcmV0dXJuIGJsaXRCdWZmZXIodXRmOFRvQnl0ZXMoc3RyaW5nLCBidWYubGVuZ3RoIC0gb2Zmc2V0KSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuZnVuY3Rpb24gYXNjaWlXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gYmxpdEJ1ZmZlcihhc2NpaVRvQnl0ZXMoc3RyaW5nKSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuZnVuY3Rpb24gbGF0aW4xV3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xcbiAgcmV0dXJuIGFzY2lpV3JpdGUoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gYmxpdEJ1ZmZlcihiYXNlNjRUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXFxufVxcblxcbmZ1bmN0aW9uIHVjczJXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKHN0cmluZywgb2Zmc2V0LCBsZW5ndGgsIGVuY29kaW5nKSB7XFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nKVxcbiAgaWYgKG9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGVuY29kaW5nID0gJ3V0ZjgnXFxuICAgIGxlbmd0aCA9IHRoaXMubGVuZ3RoXFxuICAgIG9mZnNldCA9IDBcXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIGVuY29kaW5nKVxcbiAgfSBlbHNlIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb2Zmc2V0ID09PSAnc3RyaW5nJykge1xcbiAgICBlbmNvZGluZyA9IG9mZnNldFxcbiAgICBsZW5ndGggPSB0aGlzLmxlbmd0aFxcbiAgICBvZmZzZXQgPSAwXFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nLCBvZmZzZXRbLCBsZW5ndGhdWywgZW5jb2RpbmddKVxcbiAgfSBlbHNlIGlmIChpc0Zpbml0ZShvZmZzZXQpKSB7XFxuICAgIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gICAgaWYgKGlzRmluaXRlKGxlbmd0aCkpIHtcXG4gICAgICBsZW5ndGggPSBsZW5ndGggfCAwXFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXFxuICAgIH0gZWxzZSB7XFxuICAgICAgZW5jb2RpbmcgPSBsZW5ndGhcXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcXG4gICAgfVxcbiAgLy8gbGVnYWN5IHdyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldCwgbGVuZ3RoKSAtIHJlbW92ZSBpbiB2MC4xM1xcbiAgfSBlbHNlIHtcXG4gICAgdGhyb3cgbmV3IEVycm9yKFxcbiAgICAgICdCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCdcXG4gICAgKVxcbiAgfVxcblxcbiAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XFxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQgfHwgbGVuZ3RoID4gcmVtYWluaW5nKSBsZW5ndGggPSByZW1haW5pbmdcXG5cXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kcycpXFxuICB9XFxuXFxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xcblxcbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcXG4gIGZvciAoOzspIHtcXG4gICAgc3dpdGNoIChlbmNvZGluZykge1xcbiAgICAgIGNhc2UgJ2hleCc6XFxuICAgICAgICByZXR1cm4gaGV4V3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcXG5cXG4gICAgICBjYXNlICd1dGY4JzpcXG4gICAgICBjYXNlICd1dGYtOCc6XFxuICAgICAgICByZXR1cm4gdXRmOFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXFxuXFxuICAgICAgY2FzZSAnYXNjaWknOlxcbiAgICAgICAgcmV0dXJuIGFzY2lpV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcXG5cXG4gICAgICBjYXNlICdsYXRpbjEnOlxcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XFxuICAgICAgICByZXR1cm4gbGF0aW4xV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcXG5cXG4gICAgICBjYXNlICdiYXNlNjQnOlxcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcXG4gICAgICAgIHJldHVybiBiYXNlNjRXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxcblxcbiAgICAgIGNhc2UgJ3VjczInOlxcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgICBjYXNlICd1dGYxNmxlJzpcXG4gICAgICBjYXNlICd1dGYtMTZsZSc6XFxuICAgICAgICByZXR1cm4gdWNzMldyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxcbiAgICAgICAgZW5jb2RpbmcgPSAoJycgKyBlbmNvZGluZykudG9Mb3dlckNhc2UoKVxcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXFxuICAgIH1cXG4gIH1cXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgcmV0dXJuIHtcXG4gICAgdHlwZTogJ0J1ZmZlcicsXFxuICAgIGRhdGE6IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX2FyciB8fCB0aGlzLCAwKVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XFxuICBpZiAoc3RhcnQgPT09IDAgJiYgZW5kID09PSBidWYubGVuZ3RoKSB7XFxuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYpXFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmLnNsaWNlKHN0YXJ0LCBlbmQpKVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB1dGY4U2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxcbiAgdmFyIHJlcyA9IFtdXFxuXFxuICB2YXIgaSA9IHN0YXJ0XFxuICB3aGlsZSAoaSA8IGVuZCkge1xcbiAgICB2YXIgZmlyc3RCeXRlID0gYnVmW2ldXFxuICAgIHZhciBjb2RlUG9pbnQgPSBudWxsXFxuICAgIHZhciBieXRlc1BlclNlcXVlbmNlID0gKGZpcnN0Qnl0ZSA+IDB4RUYpID8gNFxcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4REYpID8gM1xcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4QkYpID8gMlxcbiAgICAgIDogMVxcblxcbiAgICBpZiAoaSArIGJ5dGVzUGVyU2VxdWVuY2UgPD0gZW5kKSB7XFxuICAgICAgdmFyIHNlY29uZEJ5dGUsIHRoaXJkQnl0ZSwgZm91cnRoQnl0ZSwgdGVtcENvZGVQb2ludFxcblxcbiAgICAgIHN3aXRjaCAoYnl0ZXNQZXJTZXF1ZW5jZSkge1xcbiAgICAgICAgY2FzZSAxOlxcbiAgICAgICAgICBpZiAoZmlyc3RCeXRlIDwgMHg4MCkge1xcbiAgICAgICAgICAgIGNvZGVQb2ludCA9IGZpcnN0Qnl0ZVxcbiAgICAgICAgICB9XFxuICAgICAgICAgIGJyZWFrXFxuICAgICAgICBjYXNlIDI6XFxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXFxuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XFxuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweDFGKSA8PCAweDYgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpXFxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGKSB7XFxuICAgICAgICAgICAgICBjb2RlUG9pbnQgPSB0ZW1wQ29kZVBvaW50XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICAgIGJyZWFrXFxuICAgICAgICBjYXNlIDM6XFxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXFxuICAgICAgICAgIHRoaXJkQnl0ZSA9IGJ1ZltpICsgMl1cXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XFxuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4QyB8IChzZWNvbmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKHRoaXJkQnl0ZSAmIDB4M0YpXFxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGRiAmJiAodGVtcENvZGVQb2ludCA8IDB4RDgwMCB8fCB0ZW1wQ29kZVBvaW50ID4gMHhERkZGKSkge1xcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSA0OlxcbiAgICAgICAgICBzZWNvbmRCeXRlID0gYnVmW2kgKyAxXVxcbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXFxuICAgICAgICAgIGZvdXJ0aEJ5dGUgPSBidWZbaSArIDNdXFxuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwICYmICh0aGlyZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCAmJiAoZm91cnRoQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XFxuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4MTIgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpIDw8IDB4QyB8ICh0aGlyZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAoZm91cnRoQnl0ZSAmIDB4M0YpXFxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweEZGRkYgJiYgdGVtcENvZGVQb2ludCA8IDB4MTEwMDAwKSB7XFxuICAgICAgICAgICAgICBjb2RlUG9pbnQgPSB0ZW1wQ29kZVBvaW50XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChjb2RlUG9pbnQgPT09IG51bGwpIHtcXG4gICAgICAvLyB3ZSBkaWQgbm90IGdlbmVyYXRlIGEgdmFsaWQgY29kZVBvaW50IHNvIGluc2VydCBhXFxuICAgICAgLy8gcmVwbGFjZW1lbnQgY2hhciAoVStGRkZEKSBhbmQgYWR2YW5jZSBvbmx5IDEgYnl0ZVxcbiAgICAgIGNvZGVQb2ludCA9IDB4RkZGRFxcbiAgICAgIGJ5dGVzUGVyU2VxdWVuY2UgPSAxXFxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50ID4gMHhGRkZGKSB7XFxuICAgICAgLy8gZW5jb2RlIHRvIHV0ZjE2IChzdXJyb2dhdGUgcGFpciBkYW5jZSlcXG4gICAgICBjb2RlUG9pbnQgLT0gMHgxMDAwMFxcbiAgICAgIHJlcy5wdXNoKGNvZGVQb2ludCA+Pj4gMTAgJiAweDNGRiB8IDB4RDgwMClcXG4gICAgICBjb2RlUG9pbnQgPSAweERDMDAgfCBjb2RlUG9pbnQgJiAweDNGRlxcbiAgICB9XFxuXFxuICAgIHJlcy5wdXNoKGNvZGVQb2ludClcXG4gICAgaSArPSBieXRlc1BlclNlcXVlbmNlXFxuICB9XFxuXFxuICByZXR1cm4gZGVjb2RlQ29kZVBvaW50c0FycmF5KHJlcylcXG59XFxuXFxuLy8gQmFzZWQgb24gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjI3NDcyNzIvNjgwNzQyLCB0aGUgYnJvd3NlciB3aXRoXFxuLy8gdGhlIGxvd2VzdCBsaW1pdCBpcyBDaHJvbWUsIHdpdGggMHgxMDAwMCBhcmdzLlxcbi8vIFdlIGdvIDEgbWFnbml0dWRlIGxlc3MsIGZvciBzYWZldHlcXG52YXIgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcXG5cXG5mdW5jdGlvbiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkgKGNvZGVQb2ludHMpIHtcXG4gIHZhciBsZW4gPSBjb2RlUG9pbnRzLmxlbmd0aFxcbiAgaWYgKGxlbiA8PSBNQVhfQVJHVU1FTlRTX0xFTkdUSCkge1xcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIGNvZGVQb2ludHMpIC8vIGF2b2lkIGV4dHJhIHNsaWNlKClcXG4gIH1cXG5cXG4gIC8vIERlY29kZSBpbiBjaHVua3MgdG8gYXZvaWQgXFxcImNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZFxcXCIuXFxuICB2YXIgcmVzID0gJydcXG4gIHZhciBpID0gMFxcbiAgd2hpbGUgKGkgPCBsZW4pIHtcXG4gICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoXFxuICAgICAgU3RyaW5nLFxcbiAgICAgIGNvZGVQb2ludHMuc2xpY2UoaSwgaSArPSBNQVhfQVJHVU1FTlRTX0xFTkdUSClcXG4gICAgKVxcbiAgfVxcbiAgcmV0dXJuIHJlc1xcbn1cXG5cXG5mdW5jdGlvbiBhc2NpaVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciByZXQgPSAnJ1xcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxcblxcbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcXG4gICAgcmV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldICYgMHg3RilcXG4gIH1cXG4gIHJldHVybiByZXRcXG59XFxuXFxuZnVuY3Rpb24gbGF0aW4xU2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xcbiAgdmFyIHJldCA9ICcnXFxuICBlbmQgPSBNYXRoLm1pbihidWYubGVuZ3RoLCBlbmQpXFxuXFxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xcbiAgICByZXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pXFxuICB9XFxuICByZXR1cm4gcmV0XFxufVxcblxcbmZ1bmN0aW9uIGhleFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciBsZW4gPSBidWYubGVuZ3RoXFxuXFxuICBpZiAoIXN0YXJ0IHx8IHN0YXJ0IDwgMCkgc3RhcnQgPSAwXFxuICBpZiAoIWVuZCB8fCBlbmQgPCAwIHx8IGVuZCA+IGxlbikgZW5kID0gbGVuXFxuXFxuICB2YXIgb3V0ID0gJydcXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XFxuICAgIG91dCArPSB0b0hleChidWZbaV0pXFxuICB9XFxuICByZXR1cm4gb3V0XFxufVxcblxcbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XFxuICB2YXIgYnl0ZXMgPSBidWYuc2xpY2Uoc3RhcnQsIGVuZClcXG4gIHZhciByZXMgPSAnJ1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikge1xcbiAgICByZXMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1tpXSArIGJ5dGVzW2kgKyAxXSAqIDI1NilcXG4gIH1cXG4gIHJldHVybiByZXNcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIHNsaWNlIChzdGFydCwgZW5kKSB7XFxuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcXG4gIHN0YXJ0ID0gfn5zdGFydFxcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxcblxcbiAgaWYgKHN0YXJ0IDwgMCkge1xcbiAgICBzdGFydCArPSBsZW5cXG4gICAgaWYgKHN0YXJ0IDwgMCkgc3RhcnQgPSAwXFxuICB9IGVsc2UgaWYgKHN0YXJ0ID4gbGVuKSB7XFxuICAgIHN0YXJ0ID0gbGVuXFxuICB9XFxuXFxuICBpZiAoZW5kIDwgMCkge1xcbiAgICBlbmQgKz0gbGVuXFxuICAgIGlmIChlbmQgPCAwKSBlbmQgPSAwXFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xcbiAgICBlbmQgPSBsZW5cXG4gIH1cXG5cXG4gIGlmIChlbmQgPCBzdGFydCkgZW5kID0gc3RhcnRcXG5cXG4gIHZhciBuZXdCdWZcXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xcbiAgICBuZXdCdWYgPSB0aGlzLnN1YmFycmF5KHN0YXJ0LCBlbmQpXFxuICAgIG5ld0J1Zi5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXFxuICB9IGVsc2Uge1xcbiAgICB2YXIgc2xpY2VMZW4gPSBlbmQgLSBzdGFydFxcbiAgICBuZXdCdWYgPSBuZXcgQnVmZmVyKHNsaWNlTGVuLCB1bmRlZmluZWQpXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2xpY2VMZW47ICsraSkge1xcbiAgICAgIG5ld0J1ZltpXSA9IHRoaXNbaSArIHN0YXJ0XVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbmV3QnVmXFxufVxcblxcbi8qXFxuICogTmVlZCB0byBtYWtlIHN1cmUgdGhhdCBidWZmZXIgaXNuJ3QgdHJ5aW5nIHRvIHdyaXRlIG91dCBvZiBib3VuZHMuXFxuICovXFxuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcXG4gIGlmICgob2Zmc2V0ICUgMSkgIT09IDAgfHwgb2Zmc2V0IDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ29mZnNldCBpcyBub3QgdWludCcpXFxuICBpZiAob2Zmc2V0ICsgZXh0ID4gbGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCcpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRMRSA9IGZ1bmN0aW9uIHJlYWRVSW50TEUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aClcXG5cXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF1cXG4gIHZhciBtdWwgPSAxXFxuICB2YXIgaSA9IDBcXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XFxuICAgIHZhbCArPSB0aGlzW29mZnNldCArIGldICogbXVsXFxuICB9XFxuXFxuICByZXR1cm4gdmFsXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRCRSA9IGZ1bmN0aW9uIHJlYWRVSW50QkUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxcbiAgaWYgKCFub0Fzc2VydCkge1xcbiAgICBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxcbiAgfVxcblxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXVxcbiAgdmFyIG11bCA9IDFcXG4gIHdoaWxlIChieXRlTGVuZ3RoID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyAtLWJ5dGVMZW5ndGhdICogbXVsXFxuICB9XFxuXFxuICByZXR1cm4gdmFsXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gcmVhZFVJbnQ4IChvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDEsIHRoaXMubGVuZ3RoKVxcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiB0aGlzW29mZnNldF0gfCAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiAodGhpc1tvZmZzZXRdIDw8IDgpIHwgdGhpc1tvZmZzZXQgKyAxXVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcXG5cXG4gIHJldHVybiAoKHRoaXNbb2Zmc2V0XSkgfFxcbiAgICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcXG4gICAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikpICtcXG4gICAgICAodGhpc1tvZmZzZXQgKyAzXSAqIDB4MTAwMDAwMClcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyQkUgPSBmdW5jdGlvbiByZWFkVUludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuXFxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xcbiAgICAoKHRoaXNbb2Zmc2V0ICsgMV0gPDwgMTYpIHxcXG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxcbiAgICB0aGlzW29mZnNldCArIDNdKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRSA9IGZ1bmN0aW9uIHJlYWRJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxcblxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XVxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBpID0gMFxcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcXG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgaV0gKiBtdWxcXG4gIH1cXG4gIG11bCAqPSAweDgwXFxuXFxuICBpZiAodmFsID49IG11bCkgdmFsIC09IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKVxcblxcbiAgcmV0dXJuIHZhbFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRCRSA9IGZ1bmN0aW9uIHJlYWRJbnRCRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxcblxcbiAgdmFyIGkgPSBieXRlTGVuZ3RoXFxuICB2YXIgbXVsID0gMVxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1pXVxcbiAgd2hpbGUgKGkgPiAwICYmIChtdWwgKj0gMHgxMDApKSB7XFxuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcXG4gIH1cXG4gIG11bCAqPSAweDgwXFxuXFxuICBpZiAodmFsID49IG11bCkgdmFsIC09IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKVxcblxcbiAgcmV0dXJuIHZhbFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXFxuICBpZiAoISh0aGlzW29mZnNldF0gJiAweDgwKSkgcmV0dXJuICh0aGlzW29mZnNldF0pXFxuICByZXR1cm4gKCgweGZmIC0gdGhpc1tvZmZzZXRdICsgMSkgKiAtMSlcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRJbnQxNkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXFxuICByZXR1cm4gKHZhbCAmIDB4ODAwMCkgPyB2YWwgfCAweEZGRkYwMDAwIDogdmFsXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2QkUgPSBmdW5jdGlvbiByZWFkSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldCArIDFdIHwgKHRoaXNbb2Zmc2V0XSA8PCA4KVxcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFID0gZnVuY3Rpb24gcmVhZEludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuXFxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSkgfFxcbiAgICAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KSB8XFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDE2KSB8XFxuICAgICh0aGlzW29mZnNldCArIDNdIDw8IDI0KVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFID0gZnVuY3Rpb24gcmVhZEludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuXFxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxcbiAgICAodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCA4KSB8XFxuICAgICh0aGlzW29mZnNldCArIDNdKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gcmVhZEZsb2F0TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgdHJ1ZSwgMjMsIDQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0QkUgPSBmdW5jdGlvbiByZWFkRmxvYXRCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiBpZWVlNzU0LnJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgMjMsIDQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUxFID0gZnVuY3Rpb24gcmVhZERvdWJsZUxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDUyLCA4KVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRSA9IGZ1bmN0aW9uIHJlYWREb3VibGVCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA4LCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiBpZWVlNzU0LnJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgNTIsIDgpXFxufVxcblxcbmZ1bmN0aW9uIGNoZWNrSW50IChidWYsIHZhbHVlLCBvZmZzZXQsIGV4dCwgbWF4LCBtaW4pIHtcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJidWZmZXJcXFwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKVxcbiAgaWYgKHZhbHVlID4gbWF4IHx8IHZhbHVlIDwgbWluKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFxcInZhbHVlXFxcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcXG4gIGlmIChvZmZzZXQgKyBleHQgPiBidWYubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlJylcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnRMRSA9IGZ1bmN0aW9uIHdyaXRlVUludExFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxcbiAgaWYgKCFub0Fzc2VydCkge1xcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXFxuICAgIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG1heEJ5dGVzLCAwKVxcbiAgfVxcblxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBpID0gMFxcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXFxuICB3aGlsZSAoKytpIDwgYnl0ZUxlbmd0aCAmJiAobXVsICo9IDB4MTAwKSkge1xcbiAgICB0aGlzW29mZnNldCArIGldID0gKHZhbHVlIC8gbXVsKSAmIDB4RkZcXG4gIH1cXG5cXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50QkUgPSBmdW5jdGlvbiB3cml0ZVVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIHtcXG4gICAgdmFyIG1heEJ5dGVzID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpIC0gMVxcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBtYXhCeXRlcywgMClcXG4gIH1cXG5cXG4gIHZhciBpID0gYnl0ZUxlbmd0aCAtIDFcXG4gIHZhciBtdWwgPSAxXFxuICB0aGlzW29mZnNldCArIGldID0gdmFsdWUgJiAweEZGXFxuICB3aGlsZSAoLS1pID49IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcXG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXFxuICB9XFxuXFxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiB3cml0ZVVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDEsIDB4ZmYsIDApXFxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB2YWx1ZSA9IE1hdGguZmxvb3IodmFsdWUpXFxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxcbiAgcmV0dXJuIG9mZnNldCArIDFcXG59XFxuXFxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MTYgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XFxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZiArIHZhbHVlICsgMVxcbiAgZm9yICh2YXIgaSA9IDAsIGogPSBNYXRoLm1pbihidWYubGVuZ3RoIC0gb2Zmc2V0LCAyKTsgaSA8IGo7ICsraSkge1xcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSAodmFsdWUgJiAoMHhmZiA8PCAoOCAqIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpKSkpID4+PlxcbiAgICAgIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpICogOFxcbiAgfVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEUgPSBmdW5jdGlvbiB3cml0ZVVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4ZmZmZiwgMClcXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSlcXG4gIH1cXG4gIHJldHVybiBvZmZzZXQgKyAyXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHhmZmZmLCAwKVxcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gOClcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXFxuICB9IGVsc2Uge1xcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSlcXG4gIH1cXG4gIHJldHVybiBvZmZzZXQgKyAyXFxufVxcblxcbmZ1bmN0aW9uIG9iamVjdFdyaXRlVUludDMyIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbikge1xcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmZmZmZmZmICsgdmFsdWUgKyAxXFxuICBmb3IgKHZhciBpID0gMCwgaiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSBvZmZzZXQsIDQpOyBpIDwgajsgKytpKSB7XFxuICAgIGJ1ZltvZmZzZXQgKyBpXSA9ICh2YWx1ZSA+Pj4gKGxpdHRsZUVuZGlhbiA/IGkgOiAzIC0gaSkgKiA4KSAmIDB4ZmZcXG4gIH1cXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweGZmZmZmZmZmLCAwKVxcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgPj4+IDI0KVxcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiAxNilcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcXG4gIH0gZWxzZSB7XFxuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgNFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyQkUgPSBmdW5jdGlvbiB3cml0ZVVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4ZmZmZmZmZmYsIDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gMTYpXFxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgNFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50TEUgPSBmdW5jdGlvbiB3cml0ZUludExFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIHtcXG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxcblxcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBsaW1pdCAtIDEsIC1saW1pdClcXG4gIH1cXG5cXG4gIHZhciBpID0gMFxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBzdWIgPSAwXFxuICB0aGlzW29mZnNldF0gPSB2YWx1ZSAmIDB4RkZcXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XFxuICAgIGlmICh2YWx1ZSA8IDAgJiYgc3ViID09PSAwICYmIHRoaXNbb2Zmc2V0ICsgaSAtIDFdICE9PSAwKSB7XFxuICAgICAgc3ViID0gMVxcbiAgICB9XFxuICAgIHRoaXNbb2Zmc2V0ICsgaV0gPSAoKHZhbHVlIC8gbXVsKSA+PiAwKSAtIHN1YiAmIDB4RkZcXG4gIH1cXG5cXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnRCRSA9IGZ1bmN0aW9uIHdyaXRlSW50QkUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkge1xcbiAgICB2YXIgbGltaXQgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCAtIDEpXFxuXFxuICAgIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIGxpbWl0IC0gMSwgLWxpbWl0KVxcbiAgfVxcblxcbiAgdmFyIGkgPSBieXRlTGVuZ3RoIC0gMVxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBzdWIgPSAwXFxuICB0aGlzW29mZnNldCArIGldID0gdmFsdWUgJiAweEZGXFxuICB3aGlsZSAoLS1pID49IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcXG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcXG4gICAgICBzdWIgPSAxXFxuICAgIH1cXG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxcbiAgfVxcblxcbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHg3ZiwgLTB4ODApXFxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB2YWx1ZSA9IE1hdGguZmxvb3IodmFsdWUpXFxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmYgKyB2YWx1ZSArIDFcXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXFxuICByZXR1cm4gb2Zmc2V0ICsgMVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZMRSA9IGZ1bmN0aW9uIHdyaXRlSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweDdmZmYsIC0weDgwMDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcXG4gIH0gZWxzZSB7XFxuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgMlxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MTZCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweDdmZmYsIC0weDgwMDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiA4KVxcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlICYgMHhmZilcXG4gIH0gZWxzZSB7XFxuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKVxcbiAgfVxcbiAgcmV0dXJuIG9mZnNldCArIDJcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHg3ZmZmZmZmZiwgLTB4ODAwMDAwMDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcXG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgPj4+IDI0KVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSlcXG4gIH1cXG4gIHJldHVybiBvZmZzZXQgKyA0XFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmZmZmZmZmICsgdmFsdWUgKyAxXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gMTYpXFxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgNFxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0lFRUU3NTQgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgZXh0LCBtYXgsIG1pbikge1xcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxcbiAgaWYgKG9mZnNldCA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxcbn1cXG5cXG5mdW5jdGlvbiB3cml0ZUZsb2F0IChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIHtcXG4gICAgY2hlY2tJRUVFNzU0KGJ1ZiwgdmFsdWUsIG9mZnNldCwgNCwgMy40MDI4MjM0NjYzODUyODg2ZSszOCwgLTMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgpXFxuICB9XFxuICBpZWVlNzU0LndyaXRlKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCAyMywgNClcXG4gIHJldHVybiBvZmZzZXQgKyA0XFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdExFID0gZnVuY3Rpb24gd3JpdGVGbG9hdExFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UsIG5vQXNzZXJ0KVxcbn1cXG5cXG5mdW5jdGlvbiB3cml0ZURvdWJsZSAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSB7XFxuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDgsIDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4LCAtMS43OTc2OTMxMzQ4NjIzMTU3RSszMDgpXFxuICB9XFxuICBpZWVlNzU0LndyaXRlKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCA1MiwgOClcXG4gIHJldHVybiBvZmZzZXQgKyA4XFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICByZXR1cm4gd3JpdGVEb3VibGUodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVCRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlQkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICByZXR1cm4gd3JpdGVEb3VibGUodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UsIG5vQXNzZXJ0KVxcbn1cXG5cXG4vLyBjb3B5KHRhcmdldEJ1ZmZlciwgdGFyZ2V0U3RhcnQ9MCwgc291cmNlU3RhcnQ9MCwgc291cmNlRW5kPWJ1ZmZlci5sZW5ndGgpXFxuQnVmZmVyLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAodGFyZ2V0LCB0YXJnZXRTdGFydCwgc3RhcnQsIGVuZCkge1xcbiAgaWYgKCFzdGFydCkgc3RhcnQgPSAwXFxuICBpZiAoIWVuZCAmJiBlbmQgIT09IDApIGVuZCA9IHRoaXMubGVuZ3RoXFxuICBpZiAodGFyZ2V0U3RhcnQgPj0gdGFyZ2V0Lmxlbmd0aCkgdGFyZ2V0U3RhcnQgPSB0YXJnZXQubGVuZ3RoXFxuICBpZiAoIXRhcmdldFN0YXJ0KSB0YXJnZXRTdGFydCA9IDBcXG4gIGlmIChlbmQgPiAwICYmIGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxcblxcbiAgLy8gQ29weSAwIGJ5dGVzOyB3ZSdyZSBkb25lXFxuICBpZiAoZW5kID09PSBzdGFydCkgcmV0dXJuIDBcXG4gIGlmICh0YXJnZXQubGVuZ3RoID09PSAwIHx8IHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gMFxcblxcbiAgLy8gRmF0YWwgZXJyb3IgY29uZGl0aW9uc1xcbiAgaWYgKHRhcmdldFN0YXJ0IDwgMCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigndGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcycpXFxuICB9XFxuICBpZiAoc3RhcnQgPCAwIHx8IHN0YXJ0ID49IHRoaXMubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlU3RhcnQgb3V0IG9mIGJvdW5kcycpXFxuICBpZiAoZW5kIDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NvdXJjZUVuZCBvdXQgb2YgYm91bmRzJylcXG5cXG4gIC8vIEFyZSB3ZSBvb2I/XFxuICBpZiAoZW5kID4gdGhpcy5sZW5ndGgpIGVuZCA9IHRoaXMubGVuZ3RoXFxuICBpZiAodGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0IDwgZW5kIC0gc3RhcnQpIHtcXG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcXG4gIH1cXG5cXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydFxcbiAgdmFyIGlcXG5cXG4gIGlmICh0aGlzID09PSB0YXJnZXQgJiYgc3RhcnQgPCB0YXJnZXRTdGFydCAmJiB0YXJnZXRTdGFydCA8IGVuZCkge1xcbiAgICAvLyBkZXNjZW5kaW5nIGNvcHkgZnJvbSBlbmRcXG4gICAgZm9yIChpID0gbGVuIC0gMTsgaSA+PSAwOyAtLWkpIHtcXG4gICAgICB0YXJnZXRbaSArIHRhcmdldFN0YXJ0XSA9IHRoaXNbaSArIHN0YXJ0XVxcbiAgICB9XFxuICB9IGVsc2UgaWYgKGxlbiA8IDEwMDAgfHwgIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIC8vIGFzY2VuZGluZyBjb3B5IGZyb20gc3RhcnRcXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKSB7XFxuICAgICAgdGFyZ2V0W2kgKyB0YXJnZXRTdGFydF0gPSB0aGlzW2kgKyBzdGFydF1cXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoXFxuICAgICAgdGFyZ2V0LFxcbiAgICAgIHRoaXMuc3ViYXJyYXkoc3RhcnQsIHN0YXJ0ICsgbGVuKSxcXG4gICAgICB0YXJnZXRTdGFydFxcbiAgICApXFxuICB9XFxuXFxuICByZXR1cm4gbGVuXFxufVxcblxcbi8vIFVzYWdlOlxcbi8vICAgIGJ1ZmZlci5maWxsKG51bWJlclssIG9mZnNldFssIGVuZF1dKVxcbi8vICAgIGJ1ZmZlci5maWxsKGJ1ZmZlclssIG9mZnNldFssIGVuZF1dKVxcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxcbkJ1ZmZlci5wcm90b3R5cGUuZmlsbCA9IGZ1bmN0aW9uIGZpbGwgKHZhbCwgc3RhcnQsIGVuZCwgZW5jb2RpbmcpIHtcXG4gIC8vIEhhbmRsZSBzdHJpbmcgY2FzZXM6XFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcXG4gICAgaWYgKHR5cGVvZiBzdGFydCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICBlbmNvZGluZyA9IHN0YXJ0XFxuICAgICAgc3RhcnQgPSAwXFxuICAgICAgZW5kID0gdGhpcy5sZW5ndGhcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZW5kID09PSAnc3RyaW5nJykge1xcbiAgICAgIGVuY29kaW5nID0gZW5kXFxuICAgICAgZW5kID0gdGhpcy5sZW5ndGhcXG4gICAgfVxcbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xcbiAgICAgIHZhciBjb2RlID0gdmFsLmNoYXJDb2RlQXQoMClcXG4gICAgICBpZiAoY29kZSA8IDI1Nikge1xcbiAgICAgICAgdmFsID0gY29kZVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XFxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZycpXFxuICAgIH1cXG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcXG4gICAgfVxcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xcbiAgICB2YWwgPSB2YWwgJiAyNTVcXG4gIH1cXG5cXG4gIC8vIEludmFsaWQgcmFuZ2VzIGFyZSBub3Qgc2V0IHRvIGEgZGVmYXVsdCwgc28gY2FuIHJhbmdlIGNoZWNrIGVhcmx5LlxcbiAgaWYgKHN0YXJ0IDwgMCB8fCB0aGlzLmxlbmd0aCA8IHN0YXJ0IHx8IHRoaXMubGVuZ3RoIDwgZW5kKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdPdXQgb2YgcmFuZ2UgaW5kZXgnKVxcbiAgfVxcblxcbiAgaWYgKGVuZCA8PSBzdGFydCkge1xcbiAgICByZXR1cm4gdGhpc1xcbiAgfVxcblxcbiAgc3RhcnQgPSBzdGFydCA+Pj4gMFxcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyB0aGlzLmxlbmd0aCA6IGVuZCA+Pj4gMFxcblxcbiAgaWYgKCF2YWwpIHZhbCA9IDBcXG5cXG4gIHZhciBpXFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcXG4gICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xcbiAgICAgIHRoaXNbaV0gPSB2YWxcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGJ5dGVzID0gQnVmZmVyLmlzQnVmZmVyKHZhbClcXG4gICAgICA/IHZhbFxcbiAgICAgIDogdXRmOFRvQnl0ZXMobmV3IEJ1ZmZlcih2YWwsIGVuY29kaW5nKS50b1N0cmluZygpKVxcbiAgICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoXFxuICAgIGZvciAoaSA9IDA7IGkgPCBlbmQgLSBzdGFydDsgKytpKSB7XFxuICAgICAgdGhpc1tpICsgc3RhcnRdID0gYnl0ZXNbaSAlIGxlbl1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuLy8gSEVMUEVSIEZVTkNUSU9OU1xcbi8vID09PT09PT09PT09PT09PT1cXG5cXG52YXIgSU5WQUxJRF9CQVNFNjRfUkUgPSAvW14rXFxcXC8wLTlBLVphLXotX10vZ1xcblxcbmZ1bmN0aW9uIGJhc2U2NGNsZWFuIChzdHIpIHtcXG4gIC8vIE5vZGUgc3RyaXBzIG91dCBpbnZhbGlkIGNoYXJhY3RlcnMgbGlrZSBcXFxcbiBhbmQgXFxcXHQgZnJvbSB0aGUgc3RyaW5nLCBiYXNlNjQtanMgZG9lcyBub3RcXG4gIHN0ciA9IHN0cmluZ3RyaW0oc3RyKS5yZXBsYWNlKElOVkFMSURfQkFTRTY0X1JFLCAnJylcXG4gIC8vIE5vZGUgY29udmVydHMgc3RyaW5ncyB3aXRoIGxlbmd0aCA8IDIgdG8gJydcXG4gIGlmIChzdHIubGVuZ3RoIDwgMikgcmV0dXJuICcnXFxuICAvLyBOb2RlIGFsbG93cyBmb3Igbm9uLXBhZGRlZCBiYXNlNjQgc3RyaW5ncyAobWlzc2luZyB0cmFpbGluZyA9PT0pLCBiYXNlNjQtanMgZG9lcyBub3RcXG4gIHdoaWxlIChzdHIubGVuZ3RoICUgNCAhPT0gMCkge1xcbiAgICBzdHIgPSBzdHIgKyAnPSdcXG4gIH1cXG4gIHJldHVybiBzdHJcXG59XFxuXFxuZnVuY3Rpb24gc3RyaW5ndHJpbSAoc3RyKSB7XFxuICBpZiAoc3RyLnRyaW0pIHJldHVybiBzdHIudHJpbSgpXFxuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXFxccyt8XFxcXHMrJC9nLCAnJylcXG59XFxuXFxuZnVuY3Rpb24gdG9IZXggKG4pIHtcXG4gIGlmIChuIDwgMTYpIHJldHVybiAnMCcgKyBuLnRvU3RyaW5nKDE2KVxcbiAgcmV0dXJuIG4udG9TdHJpbmcoMTYpXFxufVxcblxcbmZ1bmN0aW9uIHV0ZjhUb0J5dGVzIChzdHJpbmcsIHVuaXRzKSB7XFxuICB1bml0cyA9IHVuaXRzIHx8IEluZmluaXR5XFxuICB2YXIgY29kZVBvaW50XFxuICB2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aFxcbiAgdmFyIGxlYWRTdXJyb2dhdGUgPSBudWxsXFxuICB2YXIgYnl0ZXMgPSBbXVxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xcbiAgICBjb2RlUG9pbnQgPSBzdHJpbmcuY2hhckNvZGVBdChpKVxcblxcbiAgICAvLyBpcyBzdXJyb2dhdGUgY29tcG9uZW50XFxuICAgIGlmIChjb2RlUG9pbnQgPiAweEQ3RkYgJiYgY29kZVBvaW50IDwgMHhFMDAwKSB7XFxuICAgICAgLy8gbGFzdCBjaGFyIHdhcyBhIGxlYWRcXG4gICAgICBpZiAoIWxlYWRTdXJyb2dhdGUpIHtcXG4gICAgICAgIC8vIG5vIGxlYWQgeWV0XFxuICAgICAgICBpZiAoY29kZVBvaW50ID4gMHhEQkZGKSB7XFxuICAgICAgICAgIC8vIHVuZXhwZWN0ZWQgdHJhaWxcXG4gICAgICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXFxuICAgICAgICAgIGNvbnRpbnVlXFxuICAgICAgICB9IGVsc2UgaWYgKGkgKyAxID09PSBsZW5ndGgpIHtcXG4gICAgICAgICAgLy8gdW5wYWlyZWQgbGVhZFxcbiAgICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcXG4gICAgICAgICAgY29udGludWVcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC8vIHZhbGlkIGxlYWRcXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcXG5cXG4gICAgICAgIGNvbnRpbnVlXFxuICAgICAgfVxcblxcbiAgICAgIC8vIDIgbGVhZHMgaW4gYSByb3dcXG4gICAgICBpZiAoY29kZVBvaW50IDwgMHhEQzAwKSB7XFxuICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcXG4gICAgICAgIGNvbnRpbnVlXFxuICAgICAgfVxcblxcbiAgICAgIC8vIHZhbGlkIHN1cnJvZ2F0ZSBwYWlyXFxuICAgICAgY29kZVBvaW50ID0gKGxlYWRTdXJyb2dhdGUgLSAweEQ4MDAgPDwgMTAgfCBjb2RlUG9pbnQgLSAweERDMDApICsgMHgxMDAwMFxcbiAgICB9IGVsc2UgaWYgKGxlYWRTdXJyb2dhdGUpIHtcXG4gICAgICAvLyB2YWxpZCBibXAgY2hhciwgYnV0IGxhc3QgY2hhciB3YXMgYSBsZWFkXFxuICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXFxuICAgIH1cXG5cXG4gICAgbGVhZFN1cnJvZ2F0ZSA9IG51bGxcXG5cXG4gICAgLy8gZW5jb2RlIHV0ZjhcXG4gICAgaWYgKGNvZGVQb2ludCA8IDB4ODApIHtcXG4gICAgICBpZiAoKHVuaXRzIC09IDEpIDwgMCkgYnJlYWtcXG4gICAgICBieXRlcy5wdXNoKGNvZGVQb2ludClcXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDgwMCkge1xcbiAgICAgIGlmICgodW5pdHMgLT0gMikgPCAwKSBicmVha1xcbiAgICAgIGJ5dGVzLnB1c2goXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2IHwgMHhDMCxcXG4gICAgICAgIGNvZGVQb2ludCAmIDB4M0YgfCAweDgwXFxuICAgICAgKVxcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTAwMDApIHtcXG4gICAgICBpZiAoKHVuaXRzIC09IDMpIDwgMCkgYnJlYWtcXG4gICAgICBieXRlcy5wdXNoKFxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyB8IDB4RTAsXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2ICYgMHgzRiB8IDB4ODAsXFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxcbiAgICAgIClcXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDExMDAwMCkge1xcbiAgICAgIGlmICgodW5pdHMgLT0gNCkgPCAwKSBicmVha1xcbiAgICAgIGJ5dGVzLnB1c2goXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHgxMiB8IDB4RjAsXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDICYgMHgzRiB8IDB4ODAsXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2ICYgMHgzRiB8IDB4ODAsXFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxcbiAgICAgIClcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29kZSBwb2ludCcpXFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBieXRlc1xcbn1cXG5cXG5mdW5jdGlvbiBhc2NpaVRvQnl0ZXMgKHN0cikge1xcbiAgdmFyIGJ5dGVBcnJheSA9IFtdXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cXG4gICAgYnl0ZUFycmF5LnB1c2goc3RyLmNoYXJDb2RlQXQoaSkgJiAweEZGKVxcbiAgfVxcbiAgcmV0dXJuIGJ5dGVBcnJheVxcbn1cXG5cXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xcbiAgdmFyIGMsIGhpLCBsb1xcbiAgdmFyIGJ5dGVBcnJheSA9IFtdXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xcbiAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcXG5cXG4gICAgYyA9IHN0ci5jaGFyQ29kZUF0KGkpXFxuICAgIGhpID0gYyA+PiA4XFxuICAgIGxvID0gYyAlIDI1NlxcbiAgICBieXRlQXJyYXkucHVzaChsbylcXG4gICAgYnl0ZUFycmF5LnB1c2goaGkpXFxuICB9XFxuXFxuICByZXR1cm4gYnl0ZUFycmF5XFxufVxcblxcbmZ1bmN0aW9uIGJhc2U2NFRvQnl0ZXMgKHN0cikge1xcbiAgcmV0dXJuIGJhc2U2NC50b0J5dGVBcnJheShiYXNlNjRjbGVhbihzdHIpKVxcbn1cXG5cXG5mdW5jdGlvbiBibGl0QnVmZmVyIChzcmMsIGRzdCwgb2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcXG4gICAgaWYgKChpICsgb2Zmc2V0ID49IGRzdC5sZW5ndGgpIHx8IChpID49IHNyYy5sZW5ndGgpKSBicmVha1xcbiAgICBkc3RbaSArIG9mZnNldF0gPSBzcmNbaV1cXG4gIH1cXG4gIHJldHVybiBpXFxufVxcblxcbmZ1bmN0aW9uIGlzbmFuICh2YWwpIHtcXG4gIHJldHVybiB2YWwgIT09IHZhbCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWRXWm1aWEl2YVc1a1pYZ3Vhbk0vTlRVNE1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZXVHM3UVVGRldpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2IwUkJRVmM3UVVGRGFFTXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHZEVRVUZUTzBGQlF5OUNMR05CUVdNc2JVSkJRVThzUTBGQlF5eG5SRUZCVXpzN1FVRkZMMEk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4dFJFRkJiVVE3UVVGRGVFVTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4VlFVRlZPMEZCUXpkQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4WlFVRlpPMEZCUXpkQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTd3dRa0ZCTUVJN1FVRkRNVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2RVTkJRWFZETEZOQlFWTTdRVUZEYUVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWlVGQlpTeHBRa0ZCYVVJN1FVRkRhRU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHbENRVUZwUWp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRk5CUVZNN1FVRkRNVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4blJFRkJaMFFzUlVGQlJUdEJRVU5zUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1UwRkJVenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNlVU5CUVhsRE8wRkJRM3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUWtGQmQwSXNaVUZCWlR0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeDNRa0ZCZDBJc1VVRkJVVHRCUVVOb1F6dEJRVU5CTEhGQ1FVRnhRaXhsUVVGbE8wRkJRM0JETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4WlFVRlpPMEZCUXpkQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSXNVMEZCVXp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMRk5CUVZNN1FVRkRPVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2NVSkJRWEZDTEZOQlFWTTdRVUZET1VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEd0Q1FVRnJRanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdOQlFXTTdRVUZEYWtNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMSFZFUVVGMVJDeFBRVUZQTzBGQlF6bEVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3gxUkVGQmRVUXNUMEZCVHp0QlFVTTVSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4clFrRkJhMEk3UVVGRGJFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHhRa0ZCY1VJc1VVRkJVVHRCUVVNM1FqdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1pVRkJaU3hUUVVGVE8wRkJRM2hDTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHVkJRV1VzYVVKQlFXbENPMEZCUTJoRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xGbEJRVms3UVVGRE4wSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhuUWtGQlowSTdRVUZEYWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNaMEpCUVdkQ08wRkJRMnBET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xDUVVGcFFpeFpRVUZaTzBGQlF6ZENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySjFabVpsY2k5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxSVZ4dUlDb2dWR2hsSUdKMVptWmxjaUJ0YjJSMWJHVWdabkp2YlNCdWIyUmxMbXB6TENCbWIzSWdkR2hsSUdKeWIzZHpaWEl1WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUFnSUVabGNtOXpjeUJCWW05MWEyaGhaR2xxWldnZ1BHaDBkSEE2THk5bVpYSnZjM011YjNKblBseHVJQ29nUUd4cFkyVnVjMlVnSUUxSlZGeHVJQ292WEc0dktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCdWJ5MXdjbTkwYnlBcUwxeHVYRzRuZFhObElITjBjbWxqZENkY2JseHVkbUZ5SUdKaGMyVTJOQ0E5SUhKbGNYVnBjbVVvSjJKaGMyVTJOQzFxY3ljcFhHNTJZWElnYVdWbFpUYzFOQ0E5SUhKbGNYVnBjbVVvSjJsbFpXVTNOVFFuS1Z4dWRtRnlJR2x6UVhKeVlYa2dQU0J5WlhGMWFYSmxLQ2RwYzJGeWNtRjVKeWxjYmx4dVpYaHdiM0owY3k1Q2RXWm1aWElnUFNCQ2RXWm1aWEpjYm1WNGNHOXlkSE11VTJ4dmQwSjFabVpsY2lBOUlGTnNiM2RDZFdabVpYSmNibVY0Y0c5eWRITXVTVTVUVUVWRFZGOU5RVmhmUWxsVVJWTWdQU0ExTUZ4dVhHNHZLaXBjYmlBcUlFbG1JR0JDZFdabVpYSXVWRmxRUlVSZlFWSlNRVmxmVTFWUVVFOVNWR0E2WEc0Z0tpQWdJRDA5UFNCMGNuVmxJQ0FnSUZWelpTQlZhVzUwT0VGeWNtRjVJR2x0Y0d4bGJXVnVkR0YwYVc5dUlDaG1ZWE4wWlhOMEtWeHVJQ29nSUNBOVBUMGdabUZzYzJVZ0lDQlZjMlVnVDJKcVpXTjBJR2x0Y0d4bGJXVnVkR0YwYVc5dUlDaHRiM04wSUdOdmJYQmhkR2xpYkdVc0lHVjJaVzRnU1VVMktWeHVJQ3BjYmlBcUlFSnliM2R6WlhKeklIUm9ZWFFnYzNWd2NHOXlkQ0IwZVhCbFpDQmhjbkpoZVhNZ1lYSmxJRWxGSURFd0t5d2dSbWx5WldadmVDQTBLeXdnUTJoeWIyMWxJRGNyTENCVFlXWmhjbWtnTlM0eEt5eGNiaUFxSUU5d1pYSmhJREV4TGpZckxDQnBUMU1nTkM0eUt5NWNiaUFxWEc0Z0tpQkVkV1VnZEc4Z2RtRnlhVzkxY3lCaWNtOTNjMlZ5SUdKMVozTXNJSE52YldWMGFXMWxjeUIwYUdVZ1QySnFaV04wSUdsdGNHeGxiV1Z1ZEdGMGFXOXVJSGRwYkd3Z1ltVWdkWE5sWkNCbGRtVnVYRzRnS2lCM2FHVnVJSFJvWlNCaWNtOTNjMlZ5SUhOMWNIQnZjblJ6SUhSNWNHVmtJR0Z5Y21GNWN5NWNiaUFxWEc0Z0tpQk9iM1JsT2x4dUlDcGNiaUFxSUNBZ0xTQkdhWEpsWm05NElEUXRNamtnYkdGamEzTWdjM1Z3Y0c5eWRDQm1iM0lnWVdSa2FXNW5JRzVsZHlCd2NtOXdaWEowYVdWeklIUnZJR0JWYVc1ME9FRnljbUY1WUNCcGJuTjBZVzVqWlhNc1hHNGdLaUFnSUNBZ1UyVmxPaUJvZEhSd2N6b3ZMMkoxWjNwcGJHeGhMbTF2ZW1sc2JHRXViM0puTDNOb2IzZGZZblZuTG1ObmFUOXBaRDAyT1RVME16Z3VYRzRnS2x4dUlDb2dJQ0F0SUVOb2NtOXRaU0E1TFRFd0lHbHpJRzFwYzNOcGJtY2dkR2hsSUdCVWVYQmxaRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpkV0poY25KaGVXQWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dJQ0F0SUVsRk1UQWdhR0Z6SUdFZ1luSnZhMlZ1SUdCVWVYQmxaRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpkV0poY25KaGVXQWdablZ1WTNScGIyNGdkMmhwWTJnZ2NtVjBkWEp1Y3lCaGNuSmhlWE1nYjJaY2JpQXFJQ0FnSUNCcGJtTnZjbkpsWTNRZ2JHVnVaM1JvSUdsdUlITnZiV1VnYzJsMGRXRjBhVzl1Y3k1Y2JseHVJQ29nVjJVZ1pHVjBaV04wSUhSb1pYTmxJR0oxWjJkNUlHSnliM2R6WlhKeklHRnVaQ0J6WlhRZ1lFSjFabVpsY2k1VVdWQkZSRjlCVWxKQldWOVRWVkJRVDFKVVlDQjBieUJnWm1Gc2MyVmdJSE52SUhSb1pYbGNiaUFxSUdkbGRDQjBhR1VnVDJKcVpXTjBJR2x0Y0d4bGJXVnVkR0YwYVc5dUxDQjNhR2xqYUNCcGN5QnpiRzkzWlhJZ1luVjBJR0psYUdGMlpYTWdZMjl5Y21WamRHeDVMbHh1SUNvdlhHNUNkV1ptWlhJdVZGbFFSVVJmUVZKU1FWbGZVMVZRVUU5U1ZDQTlJR2RzYjJKaGJDNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVJQ0U5UFNCMWJtUmxabWx1WldSY2JpQWdQeUJuYkc5aVlXd3VWRmxRUlVSZlFWSlNRVmxmVTFWUVVFOVNWRnh1SUNBNklIUjVjR1ZrUVhKeVlYbFRkWEJ3YjNKMEtDbGNibHh1THlwY2JpQXFJRVY0Y0c5eWRDQnJUV0Y0VEdWdVozUm9JR0ZtZEdWeUlIUjVjR1ZrSUdGeWNtRjVJSE4xY0hCdmNuUWdhWE1nWkdWMFpYSnRhVzVsWkM1Y2JpQXFMMXh1Wlhod2IzSjBjeTVyVFdGNFRHVnVaM1JvSUQwZ2EwMWhlRXhsYm1kMGFDZ3BYRzVjYm1aMWJtTjBhVzl1SUhSNWNHVmtRWEp5WVhsVGRYQndiM0owSUNncElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCMllYSWdZWEp5SUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvTVNsY2JpQWdJQ0JoY25JdVgxOXdjbTkwYjE5ZklEMGdlMTlmY0hKdmRHOWZYem9nVldsdWREaEJjbkpoZVM1d2NtOTBiM1I1Y0dVc0lHWnZiem9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z05ESWdmWDFjYmlBZ0lDQnlaWFIxY200Z1lYSnlMbVp2YnlncElEMDlQU0EwTWlBbUppQXZMeUIwZVhCbFpDQmhjbkpoZVNCcGJuTjBZVzVqWlhNZ1kyRnVJR0psSUdGMVoyMWxiblJsWkZ4dUlDQWdJQ0FnSUNCMGVYQmxiMllnWVhKeUxuTjFZbUZ5Y21GNUlEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDOHZJR05vY205dFpTQTVMVEV3SUd4aFkyc2dZSE4xWW1GeWNtRjVZRnh1SUNBZ0lDQWdJQ0JoY25JdWMzVmlZWEp5WVhrb01Td2dNU2t1WW5sMFpVeGxibWQwYUNBOVBUMGdNQ0F2THlCcFpURXdJR2hoY3lCaWNtOXJaVzRnWUhOMVltRnljbUY1WUZ4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2EwMWhlRXhsYm1kMGFDQW9LU0I3WEc0Z0lISmxkSFZ5YmlCQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkZ4dUlDQWdJRDhnTUhnM1ptWm1abVptWmx4dUlDQWdJRG9nTUhnelptWm1abVptWmx4dWZWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkNkV1ptWlhJZ0tIUm9ZWFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnBaaUFvYTAxaGVFeGxibWQwYUNncElEd2diR1Z1WjNSb0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGSmhibWRsUlhKeWIzSW9KMGx1ZG1Gc2FXUWdkSGx3WldRZ1lYSnlZWGtnYkdWdVozUm9KeWxjYmlBZ2ZWeHVJQ0JwWmlBb1FuVm1abVZ5TGxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRcElIdGNiaUFnSUNBdkx5QlNaWFIxY200Z1lXNGdZWFZuYldWdWRHVmtJR0JWYVc1ME9FRnljbUY1WUNCcGJuTjBZVzVqWlN3Z1ptOXlJR0psYzNRZ2NHVnlabTl5YldGdVkyVmNiaUFnSUNCMGFHRjBJRDBnYm1WM0lGVnBiblE0UVhKeVlYa29iR1Z1WjNSb0tWeHVJQ0FnSUhSb1lYUXVYMTl3Y205MGIxOWZJRDBnUW5WbVptVnlMbkJ5YjNSdmRIbHdaVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVaaGJHeGlZV05yT2lCU1pYUjFjbTRnWVc0Z2IySnFaV04wSUdsdWMzUmhibU5sSUc5bUlIUm9aU0JDZFdabVpYSWdZMnhoYzNOY2JpQWdJQ0JwWmlBb2RHaGhkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZEdoaGRDQTlJRzVsZHlCQ2RXWm1aWElvYkdWdVozUm9LVnh1SUNBZ0lIMWNiaUFnSUNCMGFHRjBMbXhsYm1kMGFDQTlJR3hsYm1kMGFGeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUm9ZWFJjYm4xY2JseHVMeW9xWEc0Z0tpQlVhR1VnUW5WbVptVnlJR052Ym5OMGNuVmpkRzl5SUhKbGRIVnlibk1nYVc1emRHRnVZMlZ6SUc5bUlHQlZhVzUwT0VGeWNtRjVZQ0IwYUdGMElHaGhkbVVnZEdobGFYSmNiaUFxSUhCeWIzUnZkSGx3WlNCamFHRnVaMlZrSUhSdklHQkNkV1ptWlhJdWNISnZkRzkwZVhCbFlDNGdSblZ5ZEdobGNtMXZjbVVzSUdCQ2RXWm1aWEpnSUdseklHRWdjM1ZpWTJ4aGMzTWdiMlpjYmlBcUlHQlZhVzUwT0VGeWNtRjVZQ3dnYzI4Z2RHaGxJSEpsZEhWeWJtVmtJR2x1YzNSaGJtTmxjeUIzYVd4c0lHaGhkbVVnWVd4c0lIUm9aU0J1YjJSbElHQkNkV1ptWlhKZ0lHMWxkR2h2WkhOY2JpQXFJR0Z1WkNCMGFHVWdZRlZwYm5RNFFYSnlZWGxnSUcxbGRHaHZaSE11SUZOeGRXRnlaU0JpY21GamEyVjBJRzV2ZEdGMGFXOXVJSGR2Y210eklHRnpJR1Y0Y0dWamRHVmtJQzB0SUdsMFhHNGdLaUJ5WlhSMWNtNXpJR0VnYzJsdVoyeGxJRzlqZEdWMExseHVJQ3BjYmlBcUlGUm9aU0JnVldsdWREaEJjbkpoZVdBZ2NISnZkRzkwZVhCbElISmxiV0ZwYm5NZ2RXNXRiMlJwWm1sbFpDNWNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQkNkV1ptWlhJZ0tHRnlaeXdnWlc1amIyUnBibWRQY2s5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHbG1JQ2doUW5WbVptVnlMbFJaVUVWRVgwRlNVa0ZaWDFOVlVGQlBVbFFnSmlZZ0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1FuVm1abVZ5S1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FuVm1abVZ5S0dGeVp5d2daVzVqYjJScGJtZFBjazltWm5ObGRDd2diR1Z1WjNSb0tWeHVJQ0I5WEc1Y2JpQWdMeThnUTI5dGJXOXVJR05oYzJVdVhHNGdJR2xtSUNoMGVYQmxiMllnWVhKbklEMDlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWlc1amIyUnBibWRQY2s5bVpuTmxkQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0owbG1JR1Z1WTI5a2FXNW5JR2x6SUhOd1pXTnBabWxsWkNCMGFHVnVJSFJvWlNCbWFYSnpkQ0JoY21kMWJXVnVkQ0J0ZFhOMElHSmxJR0VnYzNSeWFXNW5KMXh1SUNBZ0lDQWdLVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWVd4c2IyTlZibk5oWm1Vb2RHaHBjeXdnWVhKbktWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCbWNtOXRLSFJvYVhNc0lHRnlaeXdnWlc1amIyUnBibWRQY2s5bVpuTmxkQ3dnYkdWdVozUm9LVnh1ZlZ4dVhHNUNkV1ptWlhJdWNHOXZiRk5wZW1VZ1BTQTRNVGt5SUM4dklHNXZkQ0IxYzJWa0lHSjVJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjVjYmx4dUx5OGdWRTlFVHpvZ1RHVm5ZV041TENCdWIzUWdibVZsWkdWa0lHRnVlVzF2Y21VdUlGSmxiVzkyWlNCcGJpQnVaWGgwSUcxaGFtOXlJSFpsY25OcGIyNHVYRzVDZFdabVpYSXVYMkYxWjIxbGJuUWdQU0JtZFc1amRHbHZiaUFvWVhKeUtTQjdYRzRnSUdGeWNpNWZYM0J5YjNSdlgxOGdQU0JDZFdabVpYSXVjSEp2ZEc5MGVYQmxYRzRnSUhKbGRIVnliaUJoY25KY2JuMWNibHh1Wm5WdVkzUnBiMjRnWm5KdmJTQW9kR2hoZEN3Z2RtRnNkV1VzSUdWdVkyOWthVzVuVDNKUFptWnpaWFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjF3aWRtRnNkV1ZjSWlCaGNtZDFiV1Z1ZENCdGRYTjBJRzV2ZENCaVpTQmhJRzUxYldKbGNpY3BYRzRnSUgxY2JseHVJQ0JwWmlBb2RIbHdaVzltSUVGeWNtRjVRblZtWm1WeUlDRTlQU0FuZFc1a1pXWnBibVZrSnlBbUppQjJZV3gxWlNCcGJuTjBZVzVqWlc5bUlFRnljbUY1UW5WbVptVnlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWnliMjFCY25KaGVVSjFabVpsY2loMGFHRjBMQ0IyWVd4MVpTd2daVzVqYjJScGJtZFBjazltWm5ObGRDd2diR1Z1WjNSb0tWeHVJQ0I5WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabkp2YlZOMGNtbHVaeWgwYUdGMExDQjJZV3gxWlN3Z1pXNWpiMlJwYm1kUGNrOW1abk5sZENsY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbWNtOXRUMkpxWldOMEtIUm9ZWFFzSUhaaGJIVmxLVnh1ZlZ4dVhHNHZLaXBjYmlBcUlFWjFibU4wYVc5dVlXeHNlU0JsY1hWcGRtRnNaVzUwSUhSdklFSjFabVpsY2loaGNtY3NJR1Z1WTI5a2FXNW5LU0JpZFhRZ2RHaHliM2R6SUdFZ1ZIbHdaVVZ5Y205eVhHNGdLaUJwWmlCMllXeDFaU0JwY3lCaElHNTFiV0psY2k1Y2JpQXFJRUoxWm1abGNpNW1jbTl0S0hOMGNsc3NJR1Z1WTI5a2FXNW5YU2xjYmlBcUlFSjFabVpsY2k1bWNtOXRLR0Z5Y21GNUtWeHVJQ29nUW5WbVptVnlMbVp5YjIwb1luVm1abVZ5S1Z4dUlDb2dRblZtWm1WeUxtWnliMjBvWVhKeVlYbENkV1ptWlhKYkxDQmllWFJsVDJabWMyVjBXeXdnYkdWdVozUm9YVjBwWEc0Z0tpb3ZYRzVDZFdabVpYSXVabkp2YlNBOUlHWjFibU4wYVc5dUlDaDJZV3gxWlN3Z1pXNWpiMlJwYm1kUGNrOW1abk5sZEN3Z2JHVnVaM1JvS1NCN1hHNGdJSEpsZEhWeWJpQm1jbTl0S0c1MWJHd3NJSFpoYkhWbExDQmxibU52WkdsdVowOXlUMlptYzJWMExDQnNaVzVuZEdncFhHNTlYRzVjYm1sbUlDaENkV1ptWlhJdVZGbFFSVVJmUVZKU1FWbGZVMVZRVUU5U1ZDa2dlMXh1SUNCQ2RXWm1aWEl1Y0hKdmRHOTBlWEJsTGw5ZmNISnZkRzlmWHlBOUlGVnBiblE0UVhKeVlYa3VjSEp2ZEc5MGVYQmxYRzRnSUVKMVptWmxjaTVmWDNCeWIzUnZYMThnUFNCVmFXNTBPRUZ5Y21GNVhHNGdJR2xtSUNoMGVYQmxiMllnVTNsdFltOXNJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUJUZVcxaWIyd3VjM0JsWTJsbGN5QW1KbHh1SUNBZ0lDQWdRblZtWm1WeVcxTjViV0p2YkM1emNHVmphV1Z6WFNBOVBUMGdRblZtWm1WeUtTQjdYRzRnSUNBZ0x5OGdSbWw0SUhOMVltRnljbUY1S0NrZ2FXNGdSVk15TURFMkxpQlRaV1U2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVpYSnZjM012WW5WbVptVnlMM0IxYkd3dk9UZGNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29RblZtWm1WeUxDQlRlVzFpYjJ3dWMzQmxZMmxsY3l3Z2UxeHVJQ0FnSUNBZ2RtRnNkV1U2SUc1MWJHd3NYRzRnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNiaUFnSUNCOUtWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR0Z6YzJWeWRGTnBlbVVnS0hOcGVtVXBJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnphWHBsSUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMXdpYzJsNlpWd2lJR0Z5WjNWdFpXNTBJRzExYzNRZ1ltVWdZU0J1ZFcxaVpYSW5LVnh1SUNCOUlHVnNjMlVnYVdZZ0tITnBlbVVnUENBd0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGSmhibWRsUlhKeWIzSW9KMXdpYzJsNlpWd2lJR0Z5WjNWdFpXNTBJRzExYzNRZ2JtOTBJR0psSUc1bFoyRjBhWFpsSnlsY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhiR3h2WXlBb2RHaGhkQ3dnYzJsNlpTd2dabWxzYkN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnWVhOelpYSjBVMmw2WlNoemFYcGxLVnh1SUNCcFppQW9jMmw2WlNBOFBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnlaV0YwWlVKMVptWmxjaWgwYUdGMExDQnphWHBsS1Z4dUlDQjlYRzRnSUdsbUlDaG1hV3hzSUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQXZMeUJQYm14NUlIQmhlU0JoZEhSbGJuUnBiMjRnZEc4Z1pXNWpiMlJwYm1jZ2FXWWdhWFFuY3lCaElITjBjbWx1Wnk0Z1ZHaHBjMXh1SUNBZ0lDOHZJSEJ5WlhabGJuUnpJR0ZqWTJsa1pXNTBZV3hzZVNCelpXNWthVzVuSUdsdUlHRWdiblZ0WW1WeUlIUm9ZWFFnZDI5MWJHUmNiaUFnSUNBdkx5QmlaU0JwYm5SbGNuQnlaWFIwWldRZ1lYTWdZU0J6ZEdGeWRDQnZabVp6WlhRdVhHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQmxibU52WkdsdVp5QTlQVDBnSjNOMGNtbHVaeWRjYmlBZ0lDQWdJRDhnWTNKbFlYUmxRblZtWm1WeUtIUm9ZWFFzSUhOcGVtVXBMbVpwYkd3b1ptbHNiQ3dnWlc1amIyUnBibWNwWEc0Z0lDQWdJQ0E2SUdOeVpXRjBaVUoxWm1abGNpaDBhR0YwTENCemFYcGxLUzVtYVd4c0tHWnBiR3dwWEc0Z0lIMWNiaUFnY21WMGRYSnVJR055WldGMFpVSjFabVpsY2loMGFHRjBMQ0J6YVhwbEtWeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCdVpYY2dabWxzYkdWa0lFSjFabVpsY2lCcGJuTjBZVzVqWlM1Y2JpQXFJR0ZzYkc5aktITnBlbVZiTENCbWFXeHNXeXdnWlc1amIyUnBibWRkWFNsY2JpQXFLaTljYmtKMVptWmxjaTVoYkd4dll5QTlJR1oxYm1OMGFXOXVJQ2h6YVhwbExDQm1hV3hzTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0J5WlhSMWNtNGdZV3hzYjJNb2JuVnNiQ3dnYzJsNlpTd2dabWxzYkN3Z1pXNWpiMlJwYm1jcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdGc2JHOWpWVzV6WVdabElDaDBhR0YwTENCemFYcGxLU0I3WEc0Z0lHRnpjMlZ5ZEZOcGVtVW9jMmw2WlNsY2JpQWdkR2hoZENBOUlHTnlaV0YwWlVKMVptWmxjaWgwYUdGMExDQnphWHBsSUR3Z01DQS9JREFnT2lCamFHVmphMlZrS0hOcGVtVXBJSHdnTUNsY2JpQWdhV1lnS0NGQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2MybDZaVHNnS3l0cEtTQjdYRzRnSUNBZ0lDQjBhR0YwVzJsZElEMGdNRnh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z2RHaGhkRnh1ZlZ4dVhHNHZLaXBjYmlBcUlFVnhkV2wyWVd4bGJuUWdkRzhnUW5WbVptVnlLRzUxYlNrc0lHSjVJR1JsWm1GMWJIUWdZM0psWVhSbGN5QmhJRzV2YmkxNlpYSnZMV1pwYkd4bFpDQkNkV1ptWlhJZ2FXNXpkR0Z1WTJVdVhHNGdLaUFxTDF4dVFuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabElEMGdablZ1WTNScGIyNGdLSE5wZW1VcElIdGNiaUFnY21WMGRYSnVJR0ZzYkc5alZXNXpZV1psS0c1MWJHd3NJSE5wZW1VcFhHNTlYRzR2S2lwY2JpQXFJRVZ4ZFdsMllXeGxiblFnZEc4Z1UyeHZkMEoxWm1abGNpaHVkVzBwTENCaWVTQmtaV1poZFd4MElHTnlaV0YwWlhNZ1lTQnViMjR0ZW1WeWJ5MW1hV3hzWldRZ1FuVm1abVZ5SUdsdWMzUmhibU5sTGx4dUlDb3ZYRzVDZFdabVpYSXVZV3hzYjJOVmJuTmhabVZUYkc5M0lEMGdablZ1WTNScGIyNGdLSE5wZW1VcElIdGNiaUFnY21WMGRYSnVJR0ZzYkc5alZXNXpZV1psS0c1MWJHd3NJSE5wZW1VcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdaeWIyMVRkSEpwYm1jZ0tIUm9ZWFFzSUhOMGNtbHVaeXdnWlc1amIyUnBibWNwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYm1OdlpHbHVaeUFoUFQwZ0ozTjBjbWx1WnljZ2ZId2daVzVqYjJScGJtY2dQVDA5SUNjbktTQjdYRzRnSUNBZ1pXNWpiMlJwYm1jZ1BTQW5kWFJtT0NkY2JpQWdmVnh1WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6Ulc1amIyUnBibWNvWlc1amIyUnBibWNwS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblhDSmxibU52WkdsdVoxd2lJRzExYzNRZ1ltVWdZU0IyWVd4cFpDQnpkSEpwYm1jZ1pXNWpiMlJwYm1jbktWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUd4bGJtZDBhQ0E5SUdKNWRHVk1aVzVuZEdnb2MzUnlhVzVuTENCbGJtTnZaR2x1WnlrZ2ZDQXdYRzRnSUhSb1lYUWdQU0JqY21WaGRHVkNkV1ptWlhJb2RHaGhkQ3dnYkdWdVozUm9LVnh1WEc0Z0lIWmhjaUJoWTNSMVlXd2dQU0IwYUdGMExuZHlhWFJsS0hOMGNtbHVaeXdnWlc1amIyUnBibWNwWEc1Y2JpQWdhV1lnS0dGamRIVmhiQ0FoUFQwZ2JHVnVaM1JvS1NCN1hHNGdJQ0FnTHk4Z1YzSnBkR2x1WnlCaElHaGxlQ0J6ZEhKcGJtY3NJR1p2Y2lCbGVHRnRjR3hsTENCMGFHRjBJR052Ym5SaGFXNXpJR2x1ZG1Gc2FXUWdZMmhoY21GamRHVnljeUIzYVd4c1hHNGdJQ0FnTHk4Z1kyRjFjMlVnWlhabGNubDBhR2x1WnlCaFpuUmxjaUIwYUdVZ1ptbHljM1FnYVc1MllXeHBaQ0JqYUdGeVlXTjBaWElnZEc4Z1ltVWdhV2R1YjNKbFpDNGdLR1V1Wnk1Y2JpQWdJQ0F2THlBbllXSjRlR05rSnlCM2FXeHNJR0psSUhSeVpXRjBaV1FnWVhNZ0oyRmlKeWxjYmlBZ0lDQjBhR0YwSUQwZ2RHaGhkQzV6YkdsalpTZ3dMQ0JoWTNSMVlXd3BYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkR2hoZEZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtY205dFFYSnlZWGxNYVd0bElDaDBhR0YwTENCaGNuSmhlU2tnZTF4dUlDQjJZWElnYkdWdVozUm9JRDBnWVhKeVlYa3ViR1Z1WjNSb0lEd2dNQ0EvSURBZ09pQmphR1ZqYTJWa0tHRnljbUY1TG14bGJtZDBhQ2tnZkNBd1hHNGdJSFJvWVhRZ1BTQmpjbVZoZEdWQ2RXWm1aWElvZEdoaGRDd2diR1Z1WjNSb0tWeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4bGJtZDBhRHNnYVNBclBTQXhLU0I3WEc0Z0lDQWdkR2hoZEZ0cFhTQTlJR0Z5Y21GNVcybGRJQ1lnTWpVMVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhSb1lYUmNibjFjYmx4dVpuVnVZM1JwYjI0Z1puSnZiVUZ5Y21GNVFuVm1abVZ5SUNoMGFHRjBMQ0JoY25KaGVTd2dZbmwwWlU5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHRnljbUY1TG1KNWRHVk1aVzVuZEdnZ0x5OGdkR2hwY3lCMGFISnZkM01nYVdZZ1lHRnljbUY1WUNCcGN5QnViM1FnWVNCMllXeHBaQ0JCY25KaGVVSjFabVpsY2x4dVhHNGdJR2xtSUNoaWVYUmxUMlptYzJWMElEd2dNQ0I4ZkNCaGNuSmhlUzVpZVhSbFRHVnVaM1JvSUR3Z1lubDBaVTltWm5ObGRDa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RjWENkdlptWnpaWFJjWENjZ2FYTWdiM1YwSUc5bUlHSnZkVzVrY3ljcFhHNGdJSDFjYmx4dUlDQnBaaUFvWVhKeVlYa3VZbmwwWlV4bGJtZDBhQ0E4SUdKNWRHVlBabVp6WlhRZ0t5QW9iR1Z1WjNSb0lIeDhJREFwS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0oxeGNKMnhsYm1kMGFGeGNKeUJwY3lCdmRYUWdiMllnWW05MWJtUnpKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaGllWFJsVDJabWMyVjBJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdiR1Z1WjNSb0lEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0JoY25KaGVTQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHRnljbUY1S1Z4dUlDQjlJR1ZzYzJVZ2FXWWdLR3hsYm1kMGFDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWVhKeVlYa2dQU0J1WlhjZ1ZXbHVkRGhCY25KaGVTaGhjbkpoZVN3Z1lubDBaVTltWm5ObGRDbGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQmhjbkpoZVNBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0dGeWNtRjVMQ0JpZVhSbFQyWm1jMlYwTENCc1pXNW5kR2dwWEc0Z0lIMWNibHh1SUNCcFppQW9RblZtWm1WeUxsUlpVRVZFWDBGU1VrRlpYMU5WVUZCUFVsUXBJSHRjYmlBZ0lDQXZMeUJTWlhSMWNtNGdZVzRnWVhWbmJXVnVkR1ZrSUdCVmFXNTBPRUZ5Y21GNVlDQnBibk4wWVc1alpTd2dabTl5SUdKbGMzUWdjR1Z5Wm05eWJXRnVZMlZjYmlBZ0lDQjBhR0YwSUQwZ1lYSnlZWGxjYmlBZ0lDQjBhR0YwTGw5ZmNISnZkRzlmWHlBOUlFSjFabVpsY2k1d2NtOTBiM1I1Y0dWY2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QkdZV3hzWW1GamF6b2dVbVYwZFhKdUlHRnVJRzlpYW1WamRDQnBibk4wWVc1alpTQnZaaUIwYUdVZ1FuVm1abVZ5SUdOc1lYTnpYRzRnSUNBZ2RHaGhkQ0E5SUdaeWIyMUJjbkpoZVV4cGEyVW9kR2hoZEN3Z1lYSnlZWGtwWEc0Z0lIMWNiaUFnY21WMGRYSnVJSFJvWVhSY2JuMWNibHh1Wm5WdVkzUnBiMjRnWm5KdmJVOWlhbVZqZENBb2RHaGhkQ3dnYjJKcUtTQjdYRzRnSUdsbUlDaENkV1ptWlhJdWFYTkNkV1ptWlhJb2IySnFLU2tnZTF4dUlDQWdJSFpoY2lCc1pXNGdQU0JqYUdWamEyVmtLRzlpYWk1c1pXNW5kR2dwSUh3Z01GeHVJQ0FnSUhSb1lYUWdQU0JqY21WaGRHVkNkV1ptWlhJb2RHaGhkQ3dnYkdWdUtWeHVYRzRnSUNBZ2FXWWdLSFJvWVhRdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hoZEZ4dUlDQWdJSDFjYmx4dUlDQWdJRzlpYWk1amIzQjVLSFJvWVhRc0lEQXNJREFzSUd4bGJpbGNiaUFnSUNCeVpYUjFjbTRnZEdoaGRGeHVJQ0I5WEc1Y2JpQWdhV1lnS0c5aWFpa2dlMXh1SUNBZ0lHbG1JQ2dvZEhsd1pXOW1JRUZ5Y21GNVFuVm1abVZ5SUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmx4dUlDQWdJQ0FnSUNCdlltb3VZblZtWm1WeUlHbHVjM1JoYm1ObGIyWWdRWEp5WVhsQ2RXWm1aWElwSUh4OElDZHNaVzVuZEdnbklHbHVJRzlpYWlrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnZZbW91YkdWdVozUm9JQ0U5UFNBbmJuVnRZbVZ5SnlCOGZDQnBjMjVoYmlodlltb3ViR1Z1WjNSb0tTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFFuVm1abVZ5S0hSb1lYUXNJREFwWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabkp2YlVGeWNtRjVUR2xyWlNoMGFHRjBMQ0J2WW1vcFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHOWlhaTUwZVhCbElEMDlQU0FuUW5WbVptVnlKeUFtSmlCcGMwRnljbUY1S0c5aWFpNWtZWFJoS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaeWIyMUJjbkpoZVV4cGEyVW9kR2hoZEN3Z2IySnFMbVJoZEdFcFhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25SbWx5YzNRZ1lYSm5kVzFsYm5RZ2JYVnpkQ0JpWlNCaElITjBjbWx1Wnl3Z1FuVm1abVZ5TENCQmNuSmhlVUoxWm1abGNpd2dRWEp5WVhrc0lHOXlJR0Z5Y21GNUxXeHBhMlVnYjJKcVpXTjBMaWNwWEc1OVhHNWNibVoxYm1OMGFXOXVJR05vWldOclpXUWdLR3hsYm1kMGFDa2dlMXh1SUNBdkx5Qk9iM1JsT2lCallXNXViM1FnZFhObElHQnNaVzVuZEdnZ1BDQnJUV0Y0VEdWdVozUm9LQ2xnSUdobGNtVWdZbVZqWVhWelpTQjBhR0YwSUdaaGFXeHpJSGRvWlc1Y2JpQWdMeThnYkdWdVozUm9JR2x6SUU1aFRpQW9kMmhwWTJnZ2FYTWdiM1JvWlhKM2FYTmxJR052WlhKalpXUWdkRzhnZW1WeWJ5NHBYRzRnSUdsbUlDaHNaVzVuZEdnZ1BqMGdhMDFoZUV4bGJtZDBhQ2dwS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0owRjBkR1Z0Y0hRZ2RHOGdZV3hzYjJOaGRHVWdRblZtWm1WeUlHeGhjbWRsY2lCMGFHRnVJRzFoZUdsdGRXMGdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSjNOcGVtVTZJREI0SnlBcklHdE5ZWGhNWlc1bmRHZ29LUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QW5JR0o1ZEdWekp5bGNiaUFnZlZ4dUlDQnlaWFIxY200Z2JHVnVaM1JvSUh3Z01GeHVmVnh1WEc1bWRXNWpkR2x2YmlCVGJHOTNRblZtWm1WeUlDaHNaVzVuZEdncElIdGNiaUFnYVdZZ0tDdHNaVzVuZEdnZ0lUMGdiR1Z1WjNSb0tTQjdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ1pYRmxjV1Z4WEc0Z0lDQWdiR1Z1WjNSb0lEMGdNRnh1SUNCOVhHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdVlXeHNiMk1vSzJ4bGJtZDBhQ2xjYm4xY2JseHVRblZtWm1WeUxtbHpRblZtWm1WeUlEMGdablZ1WTNScGIyNGdhWE5DZFdabVpYSWdLR0lwSUh0Y2JpQWdjbVYwZFhKdUlDRWhLR0lnSVQwZ2JuVnNiQ0FtSmlCaUxsOXBjMEoxWm1abGNpbGNibjFjYmx4dVFuVm1abVZ5TG1OdmJYQmhjbVVnUFNCbWRXNWpkR2x2YmlCamIyMXdZWEpsSUNoaExDQmlLU0I3WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6UW5WbVptVnlLR0VwSUh4OElDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1lpa3BJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RCY21kMWJXVnVkSE1nYlhWemRDQmlaU0JDZFdabVpYSnpKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaGhJRDA5UFNCaUtTQnlaWFIxY200Z01GeHVYRzRnSUhaaGNpQjRJRDBnWVM1c1pXNW5kR2hjYmlBZ2RtRnlJSGtnUFNCaUxteGxibWQwYUZ4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNaVzRnUFNCTllYUm9MbTFwYmloNExDQjVLVHNnYVNBOElHeGxianNnS3l0cEtTQjdYRzRnSUNBZ2FXWWdLR0ZiYVYwZ0lUMDlJR0piYVYwcElIdGNiaUFnSUNBZ0lIZ2dQU0JoVzJsZFhHNGdJQ0FnSUNCNUlEMGdZbHRwWFZ4dUlDQWdJQ0FnWW5KbFlXdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnBaaUFvZUNBOElIa3BJSEpsZEhWeWJpQXRNVnh1SUNCcFppQW9lU0E4SUhncElISmxkSFZ5YmlBeFhHNGdJSEpsZEhWeWJpQXdYRzU5WEc1Y2JrSjFabVpsY2k1cGMwVnVZMjlrYVc1bklEMGdablZ1WTNScGIyNGdhWE5GYm1OdlpHbHVaeUFvWlc1amIyUnBibWNwSUh0Y2JpQWdjM2RwZEdOb0lDaFRkSEpwYm1jb1pXNWpiMlJwYm1jcExuUnZURzkzWlhKRFlYTmxLQ2twSUh0Y2JpQWdJQ0JqWVhObElDZG9aWGduT2x4dUlDQWdJR05oYzJVZ0ozVjBaamduT2x4dUlDQWdJR05oYzJVZ0ozVjBaaTA0SnpwY2JpQWdJQ0JqWVhObElDZGhjMk5wYVNjNlhHNGdJQ0FnWTJGelpTQW5iR0YwYVc0eEp6cGNiaUFnSUNCallYTmxJQ2RpYVc1aGNua25PbHh1SUNBZ0lHTmhjMlVnSjJKaGMyVTJOQ2M2WEc0Z0lDQWdZMkZ6WlNBbmRXTnpNaWM2WEc0Z0lDQWdZMkZ6WlNBbmRXTnpMVEluT2x4dUlDQWdJR05oYzJVZ0ozVjBaakUyYkdVbk9seHVJQ0FnSUdOaGMyVWdKM1YwWmkweE5teGxKenBjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsWEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVnh1SUNCOVhHNTlYRzVjYmtKMVptWmxjaTVqYjI1allYUWdQU0JtZFc1amRHbHZiaUJqYjI1allYUWdLR3hwYzNRc0lHeGxibWQwYUNrZ2UxeHVJQ0JwWmlBb0lXbHpRWEp5WVhrb2JHbHpkQ2twSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0lteHBjM1JjSWlCaGNtZDFiV1Z1ZENCdGRYTjBJR0psSUdGdUlFRnljbUY1SUc5bUlFSjFabVpsY25NbktWeHVJQ0I5WEc1Y2JpQWdhV1lnS0d4cGMzUXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnY21WMGRYSnVJRUoxWm1abGNpNWhiR3h2WXlnd0tWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdsY2JpQWdhV1lnS0d4bGJtZDBhQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2JHVnVaM1JvSUQwZ01GeHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0JzYVhOMExteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0JzWlc1bmRHZ2dLejBnYkdsemRGdHBYUzVzWlc1bmRHaGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnWW5WbVptVnlJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0d4bGJtZDBhQ2xjYmlBZ2RtRnlJSEJ2Y3lBOUlEQmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJR3hwYzNRdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQjJZWElnWW5WbUlEMGdiR2x6ZEZ0cFhWeHVJQ0FnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtHSjFaaWtwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxd2liR2x6ZEZ3aUlHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lXNGdRWEp5WVhrZ2IyWWdRblZtWm1WeWN5Y3BYRzRnSUNBZ2ZWeHVJQ0FnSUdKMVppNWpiM0I1S0dKMVptWmxjaXdnY0c5ektWeHVJQ0FnSUhCdmN5QXJQU0JpZFdZdWJHVnVaM1JvWEc0Z0lIMWNiaUFnY21WMGRYSnVJR0oxWm1abGNseHVmVnh1WEc1bWRXNWpkR2x2YmlCaWVYUmxUR1Z1WjNSb0lDaHpkSEpwYm1jc0lHVnVZMjlrYVc1bktTQjdYRzRnSUdsbUlDaENkV1ptWlhJdWFYTkNkV1ptWlhJb2MzUnlhVzVuS1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ6ZEhKcGJtY3ViR1Z1WjNSb1hHNGdJSDFjYmlBZ2FXWWdLSFI1Y0dWdlppQkJjbkpoZVVKMVptWmxjaUFoUFQwZ0ozVnVaR1ZtYVc1bFpDY2dKaVlnZEhsd1pXOW1JRUZ5Y21GNVFuVm1abVZ5TG1selZtbGxkeUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KbHh1SUNBZ0lDQWdLRUZ5Y21GNVFuVm1abVZ5TG1selZtbGxkeWh6ZEhKcGJtY3BJSHg4SUhOMGNtbHVaeUJwYm5OMFlXNWpaVzltSUVGeWNtRjVRblZtWm1WeUtTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCemRISnBibWN1WW5sMFpVeGxibWQwYUZ4dUlDQjlYRzRnSUdsbUlDaDBlWEJsYjJZZ2MzUnlhVzVuSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lITjBjbWx1WnlBOUlDY25JQ3NnYzNSeWFXNW5YRzRnSUgxY2JseHVJQ0IyWVhJZ2JHVnVJRDBnYzNSeWFXNW5MbXhsYm1kMGFGeHVJQ0JwWmlBb2JHVnVJRDA5UFNBd0tTQnlaWFIxY200Z01GeHVYRzRnSUM4dklGVnpaU0JoSUdadmNpQnNiMjl3SUhSdklHRjJiMmxrSUhKbFkzVnljMmx2Ymx4dUlDQjJZWElnYkc5M1pYSmxaRU5oYzJVZ1BTQm1ZV3h6WlZ4dUlDQm1iM0lnS0RzN0tTQjdYRzRnSUNBZ2MzZHBkR05vSUNobGJtTnZaR2x1WnlrZ2UxeHVJQ0FnSUNBZ1kyRnpaU0FuWVhOamFXa25PbHh1SUNBZ0lDQWdZMkZ6WlNBbmJHRjBhVzR4SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMkpwYm1GeWVTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnNaVzVjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaamduT2x4dUlDQWdJQ0FnWTJGelpTQW5kWFJtTFRnbk9seHVJQ0FnSUNBZ1kyRnpaU0IxYm1SbFptbHVaV1E2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIxZEdZNFZHOUNlWFJsY3loemRISnBibWNwTG14bGJtZDBhRnh1SUNBZ0lDQWdZMkZ6WlNBbmRXTnpNaWM2WEc0Z0lDQWdJQ0JqWVhObElDZDFZM010TWljNlhHNGdJQ0FnSUNCallYTmxJQ2QxZEdZeE5teGxKenBjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaaTB4Tm14bEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeGxiaUFxSURKY2JpQWdJQ0FnSUdOaGMyVWdKMmhsZUNjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc1pXNGdQajQrSURGY2JpQWdJQ0FnSUdOaGMyVWdKMkpoYzJVMk5DYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmlZWE5sTmpSVWIwSjVkR1Z6S0hOMGNtbHVaeWt1YkdWdVozUm9YRzRnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQnBaaUFvYkc5M1pYSmxaRU5oYzJVcElISmxkSFZ5YmlCMWRHWTRWRzlDZVhSbGN5aHpkSEpwYm1jcExteGxibWQwYUNBdkx5QmhjM04xYldVZ2RYUm1PRnh1SUNBZ0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUNnbkp5QXJJR1Z1WTI5a2FXNW5LUzUwYjB4dmQyVnlRMkZ6WlNncFhHNGdJQ0FnSUNBZ0lHeHZkMlZ5WldSRFlYTmxJRDBnZEhKMVpWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVFuVm1abVZ5TG1KNWRHVk1aVzVuZEdnZ1BTQmllWFJsVEdWdVozUm9YRzVjYm1aMWJtTjBhVzl1SUhOc2IzZFViMU4wY21sdVp5QW9aVzVqYjJScGJtY3NJSE4wWVhKMExDQmxibVFwSUh0Y2JpQWdkbUZ5SUd4dmQyVnlaV1JEWVhObElEMGdabUZzYzJWY2JseHVJQ0F2THlCT2J5QnVaV1ZrSUhSdklIWmxjbWxtZVNCMGFHRjBJRndpZEdocGN5NXNaVzVuZEdnZ1BEMGdUVUZZWDFWSlRsUXpNbHdpSUhOcGJtTmxJR2wwSjNNZ1lTQnlaV0ZrTFc5dWJIbGNiaUFnTHk4Z2NISnZjR1Z5ZEhrZ2IyWWdZU0IwZVhCbFpDQmhjbkpoZVM1Y2JseHVJQ0F2THlCVWFHbHpJR0psYUdGMlpYTWdibVZwZEdobGNpQnNhV3RsSUZOMGNtbHVaeUJ1YjNJZ1ZXbHVkRGhCY25KaGVTQnBiaUIwYUdGMElIZGxJSE5sZENCemRHRnlkQzlsYm1SY2JpQWdMeThnZEc4Z2RHaGxhWElnZFhCd1pYSXZiRzkzWlhJZ1ltOTFibVJ6SUdsbUlIUm9aU0IyWVd4MVpTQndZWE56WldRZ2FYTWdiM1YwSUc5bUlISmhibWRsTGx4dUlDQXZMeUIxYm1SbFptbHVaV1FnYVhNZ2FHRnVaR3hsWkNCemNHVmphV0ZzYkhrZ1lYTWdjR1Z5SUVWRFRVRXRNall5SURaMGFDQkZaR2wwYVc5dUxGeHVJQ0F2THlCVFpXTjBhVzl1SURFekxqTXVNeTQzSUZKMWJuUnBiV1VnVTJWdFlXNTBhV056T2lCTFpYbGxaRUpwYm1ScGJtZEpibWwwYVdGc2FYcGhkR2x2Ymk1Y2JpQWdhV1lnS0hOMFlYSjBJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2djM1JoY25RZ1BDQXdLU0I3WEc0Z0lDQWdjM1JoY25RZ1BTQXdYRzRnSUgxY2JpQWdMeThnVW1WMGRYSnVJR1ZoY214NUlHbG1JSE4wWVhKMElENGdkR2hwY3k1c1pXNW5kR2d1SUVSdmJtVWdhR1Z5WlNCMGJ5QndjbVYyWlc1MElIQnZkR1Z1ZEdsaGJDQjFhVzUwTXpKY2JpQWdMeThnWTI5bGNtTnBiMjRnWm1GcGJDQmlaV3h2ZHk1Y2JpQWdhV1lnS0hOMFlYSjBJRDRnZEdocGN5NXNaVzVuZEdncElIdGNiaUFnSUNCeVpYUjFjbTRnSnlkY2JpQWdmVnh1WEc0Z0lHbG1JQ2hsYm1RZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCbGJtUWdQaUIwYUdsekxteGxibWQwYUNrZ2UxeHVJQ0FnSUdWdVpDQTlJSFJvYVhNdWJHVnVaM1JvWEc0Z0lIMWNibHh1SUNCcFppQW9aVzVrSUR3OUlEQXBJSHRjYmlBZ0lDQnlaWFIxY200Z0p5ZGNiaUFnZlZ4dVhHNGdJQzh2SUVadmNtTmxJR052WlhKemFXOXVJSFJ2SUhWcGJuUXpNaTRnVkdocGN5QjNhV3hzSUdGc2MyOGdZMjlsY21ObElHWmhiSE5sZVM5T1lVNGdkbUZzZFdWeklIUnZJREF1WEc0Z0lHVnVaQ0ErUGo0OUlEQmNiaUFnYzNSaGNuUWdQajQrUFNBd1hHNWNiaUFnYVdZZ0tHVnVaQ0E4UFNCemRHRnlkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW5KMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRmxibU52WkdsdVp5a2daVzVqYjJScGJtY2dQU0FuZFhSbU9DZGNibHh1SUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lITjNhWFJqYUNBb1pXNWpiMlJwYm1jcElIdGNiaUFnSUNBZ0lHTmhjMlVnSjJobGVDYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm9aWGhUYkdsalpTaDBhR2x6TENCemRHRnlkQ3dnWlc1a0tWeHVYRzRnSUNBZ0lDQmpZWE5sSUNkMWRHWTRKenBjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaaTA0SnpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWMFpqaFRiR2xqWlNoMGFHbHpMQ0J6ZEdGeWRDd2daVzVrS1Z4dVhHNGdJQ0FnSUNCallYTmxJQ2RoYzJOcGFTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmhjMk5wYVZOc2FXTmxLSFJvYVhNc0lITjBZWEowTENCbGJtUXBYRzVjYmlBZ0lDQWdJR05oYzJVZ0oyeGhkR2x1TVNjNlhHNGdJQ0FnSUNCallYTmxJQ2RpYVc1aGNua25PbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiR0YwYVc0eFUyeHBZMlVvZEdocGN5d2djM1JoY25Rc0lHVnVaQ2xjYmx4dUlDQWdJQ0FnWTJGelpTQW5ZbUZ6WlRZMEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHSmhjMlUyTkZOc2FXTmxLSFJvYVhNc0lITjBZWEowTENCbGJtUXBYRzVjYmlBZ0lDQWdJR05oYzJVZ0ozVmpjekluT2x4dUlDQWdJQ0FnWTJGelpTQW5kV056TFRJbk9seHVJQ0FnSUNBZ1kyRnpaU0FuZFhSbU1UWnNaU2M2WEc0Z0lDQWdJQ0JqWVhObElDZDFkR1l0TVRac1pTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFkR1l4Tm14bFUyeHBZMlVvZEdocGN5d2djM1JoY25Rc0lHVnVaQ2xjYmx4dUlDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnYVdZZ0tHeHZkMlZ5WldSRFlYTmxLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkVmJtdHViM2R1SUdWdVkyOWthVzVuT2lBbklDc2daVzVqYjJScGJtY3BYRzRnSUNBZ0lDQWdJR1Z1WTI5a2FXNW5JRDBnS0dWdVkyOWthVzVuSUNzZ0p5Y3BMblJ2VEc5M1pYSkRZWE5sS0NsY2JpQWdJQ0FnSUNBZ2JHOTNaWEpsWkVOaGMyVWdQU0IwY25WbFhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JpOHZJRlJvWlNCd2NtOXdaWEowZVNCcGN5QjFjMlZrSUdKNUlHQkNkV1ptWlhJdWFYTkNkV1ptWlhKZ0lHRnVaQ0JnYVhNdFluVm1abVZ5WUNBb2FXNGdVMkZtWVhKcElEVXROeWtnZEc4Z1pHVjBaV04wWEc0dkx5QkNkV1ptWlhJZ2FXNXpkR0Z1WTJWekxseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNWZhWE5DZFdabVpYSWdQU0IwY25WbFhHNWNibVoxYm1OMGFXOXVJSE4zWVhBZ0tHSXNJRzRzSUcwcElIdGNiaUFnZG1GeUlHa2dQU0JpVzI1ZFhHNGdJR0piYmwwZ1BTQmlXMjFkWEc0Z0lHSmJiVjBnUFNCcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1YzNkaGNERTJJRDBnWm5WdVkzUnBiMjRnYzNkaGNERTJJQ2dwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvWEc0Z0lHbG1JQ2hzWlc0Z0pTQXlJQ0U5UFNBd0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGSmhibWRsUlhKeWIzSW9KMEoxWm1abGNpQnphWHBsSUcxMWMzUWdZbVVnWVNCdGRXeDBhWEJzWlNCdlppQXhOaTFpYVhSekp5bGNiaUFnZlZ4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYmpzZ2FTQXJQU0F5S1NCN1hHNGdJQ0FnYzNkaGNDaDBhR2x6TENCcExDQnBJQ3NnTVNsY2JpQWdmVnh1SUNCeVpYUjFjbTRnZEdocGMxeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5OM1lYQXpNaUE5SUdaMWJtTjBhVzl1SUhOM1lYQXpNaUFvS1NCN1hHNGdJSFpoY2lCc1pXNGdQU0IwYUdsekxteGxibWQwYUZ4dUlDQnBaaUFvYkdWdUlDVWdOQ0FoUFQwZ01Da2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RDZFdabVpYSWdjMmw2WlNCdGRYTjBJR0psSUdFZ2JYVnNkR2x3YkdVZ2IyWWdNekl0WW1sMGN5Y3BYRzRnSUgxY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lHa2dLejBnTkNrZ2UxeHVJQ0FnSUhOM1lYQW9kR2hwY3l3Z2FTd2dhU0FySURNcFhHNGdJQ0FnYzNkaGNDaDBhR2x6TENCcElDc2dNU3dnYVNBcklESXBYRzRnSUgxY2JpQWdjbVYwZFhKdUlIUm9hWE5jYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXpkMkZ3TmpRZ1BTQm1kVzVqZEdsdmJpQnpkMkZ3TmpRZ0tDa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHaGNiaUFnYVdZZ0tHeGxiaUFsSURnZ0lUMDlJREFwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnblFuVm1abVZ5SUhOcGVtVWdiWFZ6ZENCaVpTQmhJRzExYkhScGNHeGxJRzltSURZMExXSnBkSE1uS1Z4dUlDQjlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVPeUJwSUNzOUlEZ3BJSHRjYmlBZ0lDQnpkMkZ3S0hSb2FYTXNJR2tzSUdrZ0t5QTNLVnh1SUNBZ0lITjNZWEFvZEdocGN5d2dhU0FySURFc0lHa2dLeUEyS1Z4dUlDQWdJSE4zWVhBb2RHaHBjeXdnYVNBcklESXNJR2tnS3lBMUtWeHVJQ0FnSUhOM1lYQW9kR2hwY3l3Z2FTQXJJRE1zSUdrZ0t5QTBLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQjBhR2x6WEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvS1NCN1hHNGdJSFpoY2lCc1pXNW5kR2dnUFNCMGFHbHpMbXhsYm1kMGFDQjhJREJjYmlBZ2FXWWdLR3hsYm1kMGFDQTlQVDBnTUNrZ2NtVjBkWEp1SUNjblhHNGdJR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdkWFJtT0ZOc2FXTmxLSFJvYVhNc0lEQXNJR3hsYm1kMGFDbGNiaUFnY21WMGRYSnVJSE5zYjNkVWIxTjBjbWx1Wnk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdVpYRjFZV3h6SUQwZ1puVnVZM1JwYjI0Z1pYRjFZV3h6SUNoaUtTQjdYRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtHSXBLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkQmNtZDFiV1Z1ZENCdGRYTjBJR0psSUdFZ1FuVm1abVZ5SnlsY2JpQWdhV1lnS0hSb2FYTWdQVDA5SUdJcElISmxkSFZ5YmlCMGNuVmxYRzRnSUhKbGRIVnliaUJDZFdabVpYSXVZMjl0Y0dGeVpTaDBhR2x6TENCaUtTQTlQVDBnTUZ4dWZWeHVYRzVDZFdabVpYSXVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBJQ2dwSUh0Y2JpQWdkbUZ5SUhOMGNpQTlJQ2NuWEc0Z0lIWmhjaUJ0WVhnZ1BTQmxlSEJ2Y25SekxrbE9VMUJGUTFSZlRVRllYMEpaVkVWVFhHNGdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0J6ZEhJZ1BTQjBhR2x6TG5SdlUzUnlhVzVuS0Nkb1pYZ25MQ0F3TENCdFlYZ3BMbTFoZEdOb0tDOHVleko5TDJjcExtcHZhVzRvSnlBbktWeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUcxaGVDa2djM1J5SUNzOUlDY2dMaTR1SUNkY2JpQWdmVnh1SUNCeVpYUjFjbTRnSnp4Q2RXWm1aWElnSnlBcklITjBjaUFySUNjK0oxeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG1OdmJYQmhjbVVnUFNCbWRXNWpkR2x2YmlCamIyMXdZWEpsSUNoMFlYSm5aWFFzSUhOMFlYSjBMQ0JsYm1Rc0lIUm9hWE5UZEdGeWRDd2dkR2hwYzBWdVpDa2dlMXh1SUNCcFppQW9JVUoxWm1abGNpNXBjMEoxWm1abGNpaDBZWEpuWlhRcEtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25RWEpuZFcxbGJuUWdiWFZ6ZENCaVpTQmhJRUoxWm1abGNpY3BYRzRnSUgxY2JseHVJQ0JwWmlBb2MzUmhjblFnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lITjBZWEowSUQwZ01GeHVJQ0I5WEc0Z0lHbG1JQ2hsYm1RZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJR1Z1WkNBOUlIUmhjbWRsZENBL0lIUmhjbWRsZEM1c1pXNW5kR2dnT2lBd1hHNGdJSDFjYmlBZ2FXWWdLSFJvYVhOVGRHRnlkQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2RHaHBjMU4wWVhKMElEMGdNRnh1SUNCOVhHNGdJR2xtSUNoMGFHbHpSVzVrSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQjBhR2x6Ulc1a0lEMGdkR2hwY3k1c1pXNW5kR2hjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkR0Z5ZENBOElEQWdmSHdnWlc1a0lENGdkR0Z5WjJWMExteGxibWQwYUNCOGZDQjBhR2x6VTNSaGNuUWdQQ0F3SUh4OElIUm9hWE5GYm1RZ1BpQjBhR2x6TG14bGJtZDBhQ2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkdmRYUWdiMllnY21GdVoyVWdhVzVrWlhnbktWeHVJQ0I5WEc1Y2JpQWdhV1lnS0hSb2FYTlRkR0Z5ZENBK1BTQjBhR2x6Ulc1a0lDWW1JSE4wWVhKMElENDlJR1Z1WkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUF3WEc0Z0lIMWNiaUFnYVdZZ0tIUm9hWE5UZEdGeWRDQStQU0IwYUdselJXNWtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDMHhYRzRnSUgxY2JpQWdhV1lnS0hOMFlYSjBJRDQ5SUdWdVpDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBeFhHNGdJSDFjYmx4dUlDQnpkR0Z5ZENBK1BqNDlJREJjYmlBZ1pXNWtJRDQrUGowZ01GeHVJQ0IwYUdselUzUmhjblFnUGo0K1BTQXdYRzRnSUhSb2FYTkZibVFnUGo0K1BTQXdYRzVjYmlBZ2FXWWdLSFJvYVhNZ1BUMDlJSFJoY21kbGRDa2djbVYwZFhKdUlEQmNibHh1SUNCMllYSWdlQ0E5SUhSb2FYTkZibVFnTFNCMGFHbHpVM1JoY25SY2JpQWdkbUZ5SUhrZ1BTQmxibVFnTFNCemRHRnlkRnh1SUNCMllYSWdiR1Z1SUQwZ1RXRjBhQzV0YVc0b2VDd2dlU2xjYmx4dUlDQjJZWElnZEdocGMwTnZjSGtnUFNCMGFHbHpMbk5zYVdObEtIUm9hWE5UZEdGeWRDd2dkR2hwYzBWdVpDbGNiaUFnZG1GeUlIUmhjbWRsZEVOdmNIa2dQU0IwWVhKblpYUXVjMnhwWTJVb2MzUmhjblFzSUdWdVpDbGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnS3l0cEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhORGIzQjVXMmxkSUNFOVBTQjBZWEpuWlhSRGIzQjVXMmxkS1NCN1hHNGdJQ0FnSUNCNElEMGdkR2hwYzBOdmNIbGJhVjFjYmlBZ0lDQWdJSGtnUFNCMFlYSm5aWFJEYjNCNVcybGRYRzRnSUNBZ0lDQmljbVZoYTF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaDRJRHdnZVNrZ2NtVjBkWEp1SUMweFhHNGdJR2xtSUNoNUlEd2dlQ2tnY21WMGRYSnVJREZjYmlBZ2NtVjBkWEp1SURCY2JuMWNibHh1THk4Z1JtbHVaSE1nWldsMGFHVnlJSFJvWlNCbWFYSnpkQ0JwYm1SbGVDQnZaaUJnZG1Gc1lDQnBiaUJnWW5WbVptVnlZQ0JoZENCdlptWnpaWFFnUGowZ1lHSjVkR1ZQWm1aelpYUmdMRnh1THk4Z1QxSWdkR2hsSUd4aGMzUWdhVzVrWlhnZ2IyWWdZSFpoYkdBZ2FXNGdZR0oxWm1abGNtQWdZWFFnYjJabWMyVjBJRHc5SUdCaWVYUmxUMlptYzJWMFlDNWNiaTh2WEc0dkx5QkJjbWQxYldWdWRITTZYRzR2THlBdElHSjFabVpsY2lBdElHRWdRblZtWm1WeUlIUnZJSE5sWVhKamFGeHVMeThnTFNCMllXd2dMU0JoSUhOMGNtbHVaeXdnUW5WbVptVnlMQ0J2Y2lCdWRXMWlaWEpjYmk4dklDMGdZbmwwWlU5bVpuTmxkQ0F0SUdGdUlHbHVaR1Y0SUdsdWRHOGdZR0oxWm1abGNtQTdJSGRwYkd3Z1ltVWdZMnhoYlhCbFpDQjBieUJoYmlCcGJuUXpNbHh1THk4Z0xTQmxibU52WkdsdVp5QXRJR0Z1SUc5d2RHbHZibUZzSUdWdVkyOWthVzVuTENCeVpXeGxkbUZ1ZENCcGN5QjJZV3dnYVhNZ1lTQnpkSEpwYm1kY2JpOHZJQzBnWkdseUlDMGdkSEoxWlNCbWIzSWdhVzVrWlhoUFppd2dabUZzYzJVZ1ptOXlJR3hoYzNSSmJtUmxlRTltWEc1bWRXNWpkR2x2YmlCaWFXUnBjbVZqZEdsdmJtRnNTVzVrWlhoUFppQW9ZblZtWm1WeUxDQjJZV3dzSUdKNWRHVlBabVp6WlhRc0lHVnVZMjlrYVc1bkxDQmthWElwSUh0Y2JpQWdMeThnUlcxd2RIa2dZblZtWm1WeUlHMWxZVzV6SUc1dklHMWhkR05vWEc0Z0lHbG1JQ2hpZFdabVpYSXViR1Z1WjNSb0lEMDlQU0F3S1NCeVpYUjFjbTRnTFRGY2JseHVJQ0F2THlCT2IzSnRZV3hwZW1VZ1lubDBaVTltWm5ObGRGeHVJQ0JwWmlBb2RIbHdaVzltSUdKNWRHVlBabVp6WlhRZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdaVzVqYjJScGJtY2dQU0JpZVhSbFQyWm1jMlYwWEc0Z0lDQWdZbmwwWlU5bVpuTmxkQ0E5SURCY2JpQWdmU0JsYkhObElHbG1JQ2hpZVhSbFQyWm1jMlYwSUQ0Z01IZzNabVptWm1abVppa2dlMXh1SUNBZ0lHSjVkR1ZQWm1aelpYUWdQU0F3ZURkbVptWm1abVptWEc0Z0lIMGdaV3h6WlNCcFppQW9ZbmwwWlU5bVpuTmxkQ0E4SUMwd2VEZ3dNREF3TURBd0tTQjdYRzRnSUNBZ1lubDBaVTltWm5ObGRDQTlJQzB3ZURnd01EQXdNREF3WEc0Z0lIMWNiaUFnWW5sMFpVOW1abk5sZENBOUlDdGllWFJsVDJabWMyVjBJQ0F2THlCRGIyVnlZMlVnZEc4Z1RuVnRZbVZ5TGx4dUlDQnBaaUFvYVhOT1lVNG9ZbmwwWlU5bVpuTmxkQ2twSUh0Y2JpQWdJQ0F2THlCaWVYUmxUMlptYzJWME9pQnBkQ0JwZENkeklIVnVaR1ZtYVc1bFpDd2diblZzYkN3Z1RtRk9MQ0JjSW1admIxd2lMQ0JsZEdNc0lITmxZWEpqYUNCM2FHOXNaU0JpZFdabVpYSmNiaUFnSUNCaWVYUmxUMlptYzJWMElEMGdaR2x5SUQ4Z01DQTZJQ2hpZFdabVpYSXViR1Z1WjNSb0lDMGdNU2xjYmlBZ2ZWeHVYRzRnSUM4dklFNXZjbTFoYkdsNlpTQmllWFJsVDJabWMyVjBPaUJ1WldkaGRHbDJaU0J2Wm1aelpYUnpJSE4wWVhKMElHWnliMjBnZEdobElHVnVaQ0J2WmlCMGFHVWdZblZtWm1WeVhHNGdJR2xtSUNoaWVYUmxUMlptYzJWMElEd2dNQ2tnWW5sMFpVOW1abk5sZENBOUlHSjFabVpsY2k1c1pXNW5kR2dnS3lCaWVYUmxUMlptYzJWMFhHNGdJR2xtSUNoaWVYUmxUMlptYzJWMElENDlJR0oxWm1abGNpNXNaVzVuZEdncElIdGNiaUFnSUNCcFppQW9aR2x5S1NCeVpYUjFjbTRnTFRGY2JpQWdJQ0JsYkhObElHSjVkR1ZQWm1aelpYUWdQU0JpZFdabVpYSXViR1Z1WjNSb0lDMGdNVnh1SUNCOUlHVnNjMlVnYVdZZ0tHSjVkR1ZQWm1aelpYUWdQQ0F3S1NCN1hHNGdJQ0FnYVdZZ0tHUnBjaWtnWW5sMFpVOW1abk5sZENBOUlEQmNiaUFnSUNCbGJITmxJSEpsZEhWeWJpQXRNVnh1SUNCOVhHNWNiaUFnTHk4Z1RtOXliV0ZzYVhwbElIWmhiRnh1SUNCcFppQW9kSGx3Wlc5bUlIWmhiQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCMllXd2dQU0JDZFdabVpYSXVabkp2YlNoMllXd3NJR1Z1WTI5a2FXNW5LVnh1SUNCOVhHNWNiaUFnTHk4Z1JtbHVZV3hzZVN3Z2MyVmhjbU5vSUdWcGRHaGxjaUJwYm1SbGVFOW1JQ2hwWmlCa2FYSWdhWE1nZEhKMVpTa2diM0lnYkdGemRFbHVaR1Y0VDJaY2JpQWdhV1lnS0VKMVptWmxjaTVwYzBKMVptWmxjaWgyWVd3cEtTQjdYRzRnSUNBZ0x5OGdVM0JsWTJsaGJDQmpZWE5sT2lCc2IyOXJhVzVuSUdadmNpQmxiWEIwZVNCemRISnBibWN2WW5WbVptVnlJR0ZzZDJGNWN5Qm1ZV2xzYzF4dUlDQWdJR2xtSUNoMllXd3ViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTFRGY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHRnljbUY1U1c1a1pYaFBaaWhpZFdabVpYSXNJSFpoYkN3Z1lubDBaVTltWm5ObGRDd2daVzVqYjJScGJtY3NJR1JwY2lsY2JpQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdkbUZzSUQwOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lIWmhiQ0E5SUhaaGJDQW1JREI0UmtZZ0x5OGdVMlZoY21Ob0lHWnZjaUJoSUdKNWRHVWdkbUZzZFdVZ1d6QXRNalUxWFZ4dUlDQWdJR2xtSUNoQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNBbUpseHVJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1ZXbHVkRGhCY25KaGVTNXdjbTkwYjNSNWNHVXVhVzVrWlhoUFppQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLR1JwY2lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ZXbHVkRGhCY25KaGVTNXdjbTkwYjNSNWNHVXVhVzVrWlhoUFppNWpZV3hzS0dKMVptWmxjaXdnZG1Gc0xDQmllWFJsVDJabWMyVjBLVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGVnBiblE0UVhKeVlYa3VjSEp2ZEc5MGVYQmxMbXhoYzNSSmJtUmxlRTltTG1OaGJHd29ZblZtWm1WeUxDQjJZV3dzSUdKNWRHVlBabVp6WlhRcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmhjbkpoZVVsdVpHVjRUMllvWW5WbVptVnlMQ0JiSUhaaGJDQmRMQ0JpZVhSbFQyWm1jMlYwTENCbGJtTnZaR2x1Wnl3Z1pHbHlLVnh1SUNCOVhHNWNiaUFnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmRtRnNJRzExYzNRZ1ltVWdjM1J5YVc1bkxDQnVkVzFpWlhJZ2IzSWdRblZtWm1WeUp5bGNibjFjYmx4dVpuVnVZM1JwYjI0Z1lYSnlZWGxKYm1SbGVFOW1JQ2hoY25Jc0lIWmhiQ3dnWW5sMFpVOW1abk5sZEN3Z1pXNWpiMlJwYm1jc0lHUnBjaWtnZTF4dUlDQjJZWElnYVc1a1pYaFRhWHBsSUQwZ01WeHVJQ0IyWVhJZ1lYSnlUR1Z1WjNSb0lEMGdZWEp5TG14bGJtZDBhRnh1SUNCMllYSWdkbUZzVEdWdVozUm9JRDBnZG1Gc0xteGxibWQwYUZ4dVhHNGdJR2xtSUNobGJtTnZaR2x1WnlBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdaVzVqYjJScGJtY2dQU0JUZEhKcGJtY29aVzVqYjJScGJtY3BMblJ2VEc5M1pYSkRZWE5sS0NsY2JpQWdJQ0JwWmlBb1pXNWpiMlJwYm1jZ1BUMDlJQ2QxWTNNeUp5QjhmQ0JsYm1OdlpHbHVaeUE5UFQwZ0ozVmpjeTB5SnlCOGZGeHVJQ0FnSUNBZ0lDQmxibU52WkdsdVp5QTlQVDBnSjNWMFpqRTJiR1VuSUh4OElHVnVZMjlrYVc1bklEMDlQU0FuZFhSbUxURTJiR1VuS1NCN1hHNGdJQ0FnSUNCcFppQW9ZWEp5TG14bGJtZDBhQ0E4SURJZ2ZId2dkbUZzTG14bGJtZDBhQ0E4SURJcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDMHhYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBibVJsZUZOcGVtVWdQU0F5WEc0Z0lDQWdJQ0JoY25KTVpXNW5kR2dnTHowZ01seHVJQ0FnSUNBZ2RtRnNUR1Z1WjNSb0lDODlJREpjYmlBZ0lDQWdJR0o1ZEdWUFptWnpaWFFnTHowZ01seHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlISmxZV1FnS0dKMVppd2dhU2tnZTF4dUlDQWdJR2xtSUNocGJtUmxlRk5wZW1VZ1BUMDlJREVwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJpZFdaYmFWMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0oxWmk1eVpXRmtWVWx1ZERFMlFrVW9hU0FxSUdsdVpHVjRVMmw2WlNsY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdhVnh1SUNCcFppQW9aR2x5S1NCN1hHNGdJQ0FnZG1GeUlHWnZkVzVrU1c1a1pYZ2dQU0F0TVZ4dUlDQWdJR1p2Y2lBb2FTQTlJR0o1ZEdWUFptWnpaWFE3SUdrZ1BDQmhjbkpNWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLSEpsWVdRb1lYSnlMQ0JwS1NBOVBUMGdjbVZoWkNoMllXd3NJR1p2ZFc1a1NXNWtaWGdnUFQwOUlDMHhJRDhnTUNBNklHa2dMU0JtYjNWdVpFbHVaR1Y0S1NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWm05MWJtUkpibVJsZUNBOVBUMGdMVEVwSUdadmRXNWtTVzVrWlhnZ1BTQnBYRzRnSUNBZ0lDQWdJR2xtSUNocElDMGdabTkxYm1SSmJtUmxlQ0FySURFZ1BUMDlJSFpoYkV4bGJtZDBhQ2tnY21WMGRYSnVJR1p2ZFc1a1NXNWtaWGdnS2lCcGJtUmxlRk5wZW1WY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaG1iM1Z1WkVsdVpHVjRJQ0U5UFNBdE1Ta2dhU0F0UFNCcElDMGdabTkxYm1SSmJtUmxlRnh1SUNBZ0lDQWdJQ0JtYjNWdVpFbHVaR1Y0SUQwZ0xURmNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2FXWWdLR0o1ZEdWUFptWnpaWFFnS3lCMllXeE1aVzVuZEdnZ1BpQmhjbkpNWlc1bmRHZ3BJR0o1ZEdWUFptWnpaWFFnUFNCaGNuSk1aVzVuZEdnZ0xTQjJZV3hNWlc1bmRHaGNiaUFnSUNCbWIzSWdLR2tnUFNCaWVYUmxUMlptYzJWME95QnBJRDQ5SURBN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlHWnZkVzVrSUQwZ2RISjFaVnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0IyWVd4TVpXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2NtVmhaQ2hoY25Jc0lHa2dLeUJxS1NBaFBUMGdjbVZoWkNoMllXd3NJR29wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdabTkxYm1RZ1BTQm1ZV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaG1iM1Z1WkNrZ2NtVjBkWEp1SUdsY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnTFRGY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzVwYm1Oc2RXUmxjeUE5SUdaMWJtTjBhVzl1SUdsdVkyeDFaR1Z6SUNoMllXd3NJR0o1ZEdWUFptWnpaWFFzSUdWdVkyOWthVzVuS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1sdVpHVjRUMllvZG1Gc0xDQmllWFJsVDJabWMyVjBMQ0JsYm1OdlpHbHVaeWtnSVQwOUlDMHhYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWFXNWtaWGhQWmlBOUlHWjFibU4wYVc5dUlHbHVaR1Y0VDJZZ0tIWmhiQ3dnWW5sMFpVOW1abk5sZEN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnY21WMGRYSnVJR0pwWkdseVpXTjBhVzl1WVd4SmJtUmxlRTltS0hSb2FYTXNJSFpoYkN3Z1lubDBaVTltWm5ObGRDd2daVzVqYjJScGJtY3NJSFJ5ZFdVcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1YkdGemRFbHVaR1Y0VDJZZ1BTQm1kVzVqZEdsdmJpQnNZWE4wU1c1a1pYaFBaaUFvZG1Gc0xDQmllWFJsVDJabWMyVjBMQ0JsYm1OdlpHbHVaeWtnZTF4dUlDQnlaWFIxY200Z1ltbGthWEpsWTNScGIyNWhiRWx1WkdWNFQyWW9kR2hwY3l3Z2RtRnNMQ0JpZVhSbFQyWm1jMlYwTENCbGJtTnZaR2x1Wnl3Z1ptRnNjMlVwWEc1OVhHNWNibVoxYm1OMGFXOXVJR2hsZUZkeWFYUmxJQ2hpZFdZc0lITjBjbWx1Wnl3Z2IyWm1jMlYwTENCc1pXNW5kR2dwSUh0Y2JpQWdiMlptYzJWMElEMGdUblZ0WW1WeUtHOW1abk5sZENrZ2ZId2dNRnh1SUNCMllYSWdjbVZ0WVdsdWFXNW5JRDBnWW5WbUxteGxibWQwYUNBdElHOW1abk5sZEZ4dUlDQnBaaUFvSVd4bGJtZDBhQ2tnZTF4dUlDQWdJR3hsYm1kMGFDQTlJSEpsYldGcGJtbHVaMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR3hsYm1kMGFDQTlJRTUxYldKbGNpaHNaVzVuZEdncFhHNGdJQ0FnYVdZZ0tHeGxibWQwYUNBK0lISmxiV0ZwYm1sdVp5a2dlMXh1SUNBZ0lDQWdiR1Z1WjNSb0lEMGdjbVZ0WVdsdWFXNW5YRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeThnYlhWemRDQmlaU0JoYmlCbGRtVnVJRzUxYldKbGNpQnZaaUJrYVdkcGRITmNiaUFnZG1GeUlITjBja3hsYmlBOUlITjBjbWx1Wnk1c1pXNW5kR2hjYmlBZ2FXWWdLSE4wY2t4bGJpQWxJRElnSVQwOUlEQXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjBsdWRtRnNhV1FnYUdWNElITjBjbWx1WnljcFhHNWNiaUFnYVdZZ0tHeGxibWQwYUNBK0lITjBja3hsYmlBdklESXBJSHRjYmlBZ0lDQnNaVzVuZEdnZ1BTQnpkSEpNWlc0Z0x5QXlYRzRnSUgxY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUhaaGNpQndZWEp6WldRZ1BTQndZWEp6WlVsdWRDaHpkSEpwYm1jdWMzVmljM1J5S0drZ0tpQXlMQ0F5S1N3Z01UWXBYRzRnSUNBZ2FXWWdLR2x6VG1GT0tIQmhjbk5sWkNrcElISmxkSFZ5YmlCcFhHNGdJQ0FnWW5WbVcyOW1abk5sZENBcklHbGRJRDBnY0dGeWMyVmtYRzRnSUgxY2JpQWdjbVYwZFhKdUlHbGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYUm1PRmR5YVhSbElDaGlkV1lzSUhOMGNtbHVaeXdnYjJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2NtVjBkWEp1SUdKc2FYUkNkV1ptWlhJb2RYUm1PRlJ2UW5sMFpYTW9jM1J5YVc1bkxDQmlkV1l1YkdWdVozUm9JQzBnYjJabWMyVjBLU3dnWW5WbUxDQnZabVp6WlhRc0lHeGxibWQwYUNsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVhOamFXbFhjbWwwWlNBb1luVm1MQ0J6ZEhKcGJtY3NJRzltWm5ObGRDd2diR1Z1WjNSb0tTQjdYRzRnSUhKbGRIVnliaUJpYkdsMFFuVm1abVZ5S0dGelkybHBWRzlDZVhSbGN5aHpkSEpwYm1jcExDQmlkV1lzSUc5bVpuTmxkQ3dnYkdWdVozUm9LVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnNZWFJwYmpGWGNtbDBaU0FvWW5WbUxDQnpkSEpwYm1jc0lHOW1abk5sZEN3Z2JHVnVaM1JvS1NCN1hHNGdJSEpsZEhWeWJpQmhjMk5wYVZkeWFYUmxLR0oxWml3Z2MzUnlhVzVuTENCdlptWnpaWFFzSUd4bGJtZDBhQ2xjYm4xY2JseHVablZ1WTNScGIyNGdZbUZ6WlRZMFYzSnBkR1VnS0dKMVppd2djM1J5YVc1bkxDQnZabVp6WlhRc0lHeGxibWQwYUNrZ2UxeHVJQ0J5WlhSMWNtNGdZbXhwZEVKMVptWmxjaWhpWVhObE5qUlViMEo1ZEdWektITjBjbWx1Wnlrc0lHSjFaaXdnYjJabWMyVjBMQ0JzWlc1bmRHZ3BYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVmpjekpYY21sMFpTQW9ZblZtTENCemRISnBibWNzSUc5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lISmxkSFZ5YmlCaWJHbDBRblZtWm1WeUtIVjBaakUyYkdWVWIwSjVkR1Z6S0hOMGNtbHVaeXdnWW5WbUxteGxibWQwYUNBdElHOW1abk5sZENrc0lHSjFaaXdnYjJabWMyVjBMQ0JzWlc1bmRHZ3BYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmlCM2NtbDBaU0FvYzNSeWFXNW5MQ0J2Wm1aelpYUXNJR3hsYm1kMGFDd2daVzVqYjJScGJtY3BJSHRjYmlBZ0x5OGdRblZtWm1WeUkzZHlhWFJsS0hOMGNtbHVaeWxjYmlBZ2FXWWdLRzltWm5ObGRDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWlc1amIyUnBibWNnUFNBbmRYUm1PQ2RjYmlBZ0lDQnNaVzVuZEdnZ1BTQjBhR2x6TG14bGJtZDBhRnh1SUNBZ0lHOW1abk5sZENBOUlEQmNiaUFnTHk4Z1FuVm1abVZ5STNkeWFYUmxLSE4wY21sdVp5d2daVzVqYjJScGJtY3BYRzRnSUgwZ1pXeHpaU0JwWmlBb2JHVnVaM1JvSUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnZEhsd1pXOW1JRzltWm5ObGRDQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0JsYm1OdlpHbHVaeUE5SUc5bVpuTmxkRnh1SUNBZ0lHeGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9YRzRnSUNBZ2IyWm1jMlYwSUQwZ01GeHVJQ0F2THlCQ2RXWm1aWElqZDNKcGRHVW9jM1J5YVc1bkxDQnZabVp6WlhSYkxDQnNaVzVuZEdoZFd5d2daVzVqYjJScGJtZGRLVnh1SUNCOUlHVnNjMlVnYVdZZ0tHbHpSbWx1YVhSbEtHOW1abk5sZENrcElIdGNiaUFnSUNCdlptWnpaWFFnUFNCdlptWnpaWFFnZkNBd1hHNGdJQ0FnYVdZZ0tHbHpSbWx1YVhSbEtHeGxibWQwYUNrcElIdGNiaUFnSUNBZ0lHeGxibWQwYUNBOUlHeGxibWQwYUNCOElEQmNiaUFnSUNBZ0lHbG1JQ2hsYm1OdlpHbHVaeUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQmxibU52WkdsdVp5QTlJQ2QxZEdZNEoxeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUd4bGJtZDBhRnh1SUNBZ0lDQWdiR1Z1WjNSb0lEMGdkVzVrWldacGJtVmtYRzRnSUNBZ2ZWeHVJQ0F2THlCc1pXZGhZM2tnZDNKcGRHVW9jM1J5YVc1bkxDQmxibU52WkdsdVp5d2diMlptYzJWMExDQnNaVzVuZEdncElDMGdjbVZ0YjNabElHbHVJSFl3TGpFelhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Z4dUlDQWdJQ0FnSjBKMVptWmxjaTUzY21sMFpTaHpkSEpwYm1jc0lHVnVZMjlrYVc1bkxDQnZabVp6WlhSYkxDQnNaVzVuZEdoZEtTQnBjeUJ1YnlCc2IyNW5aWElnYzNWd2NHOXlkR1ZrSjF4dUlDQWdJQ2xjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaVzFoYVc1cGJtY2dQU0IwYUdsekxteGxibWQwYUNBdElHOW1abk5sZEZ4dUlDQnBaaUFvYkdWdVozUm9JRDA5UFNCMWJtUmxabWx1WldRZ2ZId2diR1Z1WjNSb0lENGdjbVZ0WVdsdWFXNW5LU0JzWlc1bmRHZ2dQU0J5WlcxaGFXNXBibWRjYmx4dUlDQnBaaUFvS0hOMGNtbHVaeTVzWlc1bmRHZ2dQaUF3SUNZbUlDaHNaVzVuZEdnZ1BDQXdJSHg4SUc5bVpuTmxkQ0E4SURBcEtTQjhmQ0J2Wm1aelpYUWdQaUIwYUdsekxteGxibWQwYUNrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCU1lXNW5aVVZ5Y205eUtDZEJkSFJsYlhCMElIUnZJSGR5YVhSbElHOTFkSE5wWkdVZ1luVm1abVZ5SUdKdmRXNWtjeWNwWEc0Z0lIMWNibHh1SUNCcFppQW9JV1Z1WTI5a2FXNW5LU0JsYm1OdlpHbHVaeUE5SUNkMWRHWTRKMXh1WEc0Z0lIWmhjaUJzYjNkbGNtVmtRMkZ6WlNBOUlHWmhiSE5sWEc0Z0lHWnZjaUFvT3pzcElIdGNiaUFnSUNCemQybDBZMmdnS0dWdVkyOWthVzVuS1NCN1hHNGdJQ0FnSUNCallYTmxJQ2RvWlhnbk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FHVjRWM0pwZEdVb2RHaHBjeXdnYzNSeWFXNW5MQ0J2Wm1aelpYUXNJR3hsYm1kMGFDbGNibHh1SUNBZ0lDQWdZMkZ6WlNBbmRYUm1PQ2M2WEc0Z0lDQWdJQ0JqWVhObElDZDFkR1l0T0NjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWRHWTRWM0pwZEdVb2RHaHBjeXdnYzNSeWFXNW5MQ0J2Wm1aelpYUXNJR3hsYm1kMGFDbGNibHh1SUNBZ0lDQWdZMkZ6WlNBbllYTmphV2tuT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVhOamFXbFhjbWwwWlNoMGFHbHpMQ0J6ZEhKcGJtY3NJRzltWm5ObGRDd2diR1Z1WjNSb0tWeHVYRzRnSUNBZ0lDQmpZWE5sSUNkc1lYUnBiakVuT2x4dUlDQWdJQ0FnWTJGelpTQW5ZbWx1WVhKNUp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeGhkR2x1TVZkeWFYUmxLSFJvYVhNc0lITjBjbWx1Wnl3Z2IyWm1jMlYwTENCc1pXNW5kR2dwWEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMkpoYzJVMk5DYzZYRzRnSUNBZ0lDQWdJQzh2SUZkaGNtNXBibWM2SUcxaGVFeGxibWQwYUNCdWIzUWdkR0ZyWlc0Z2FXNTBieUJoWTJOdmRXNTBJR2x1SUdKaGMyVTJORmR5YVhSbFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaVlYTmxOalJYY21sMFpTaDBhR2x6TENCemRISnBibWNzSUc5bVpuTmxkQ3dnYkdWdVozUm9LVnh1WEc0Z0lDQWdJQ0JqWVhObElDZDFZM015SnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1ZqY3kweUp6cGNiaUFnSUNBZ0lHTmhjMlVnSjNWMFpqRTJiR1VuT2x4dUlDQWdJQ0FnWTJGelpTQW5kWFJtTFRFMmJHVW5PbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkV056TWxkeWFYUmxLSFJvYVhNc0lITjBjbWx1Wnl3Z2IyWm1jMlYwTENCc1pXNW5kR2dwWEc1Y2JpQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUdsbUlDaHNiM2RsY21Wa1EyRnpaU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblZXNXJibTkzYmlCbGJtTnZaR2x1WnpvZ0p5QXJJR1Z1WTI5a2FXNW5LVnh1SUNBZ0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUNnbkp5QXJJR1Z1WTI5a2FXNW5LUzUwYjB4dmQyVnlRMkZ6WlNncFhHNGdJQ0FnSUNBZ0lHeHZkMlZ5WldSRFlYTmxJRDBnZEhKMVpWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuUnZTbE5QVGlBOUlHWjFibU4wYVc5dUlIUnZTbE5QVGlBb0tTQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdkSGx3WlRvZ0owSjFabVpsY2ljc1hHNGdJQ0FnWkdGMFlUb2dRWEp5WVhrdWNISnZkRzkwZVhCbExuTnNhV05sTG1OaGJHd29kR2hwY3k1ZllYSnlJSHg4SUhSb2FYTXNJREFwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRnpaVFkwVTJ4cFkyVWdLR0oxWml3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCcFppQW9jM1JoY25RZ1BUMDlJREFnSmlZZ1pXNWtJRDA5UFNCaWRXWXViR1Z1WjNSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdKaGMyVTJOQzVtY205dFFubDBaVUZ5Y21GNUtHSjFaaWxjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZbUZ6WlRZMExtWnliMjFDZVhSbFFYSnlZWGtvWW5WbUxuTnNhV05sS0hOMFlYSjBMQ0JsYm1RcEtWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFYwWmpoVGJHbGpaU0FvWW5WbUxDQnpkR0Z5ZEN3Z1pXNWtLU0I3WEc0Z0lHVnVaQ0E5SUUxaGRHZ3ViV2x1S0dKMVppNXNaVzVuZEdnc0lHVnVaQ2xjYmlBZ2RtRnlJSEpsY3lBOUlGdGRYRzVjYmlBZ2RtRnlJR2tnUFNCemRHRnlkRnh1SUNCM2FHbHNaU0FvYVNBOElHVnVaQ2tnZTF4dUlDQWdJSFpoY2lCbWFYSnpkRUo1ZEdVZ1BTQmlkV1piYVYxY2JpQWdJQ0IyWVhJZ1kyOWtaVkJ2YVc1MElEMGdiblZzYkZ4dUlDQWdJSFpoY2lCaWVYUmxjMUJsY2xObGNYVmxibU5sSUQwZ0tHWnBjbk4wUW5sMFpTQStJREI0UlVZcElEOGdORnh1SUNBZ0lDQWdPaUFvWm1seWMzUkNlWFJsSUQ0Z01IaEVSaWtnUHlBelhHNGdJQ0FnSUNBNklDaG1hWEp6ZEVKNWRHVWdQaUF3ZUVKR0tTQS9JREpjYmlBZ0lDQWdJRG9nTVZ4dVhHNGdJQ0FnYVdZZ0tHa2dLeUJpZVhSbGMxQmxjbE5sY1hWbGJtTmxJRHc5SUdWdVpDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhObFkyOXVaRUo1ZEdVc0lIUm9hWEprUW5sMFpTd2dabTkxY25Sb1FubDBaU3dnZEdWdGNFTnZaR1ZRYjJsdWRGeHVYRzRnSUNBZ0lDQnpkMmwwWTJnZ0tHSjVkR1Z6VUdWeVUyVnhkV1Z1WTJVcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNBeE9seHVJQ0FnSUNBZ0lDQWdJR2xtSUNobWFYSnpkRUo1ZEdVZ1BDQXdlRGd3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjJSbFVHOXBiblFnUFNCbWFYSnpkRUo1ZEdWY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXdGNiaUFnSUNBZ0lDQWdZMkZ6WlNBeU9seHVJQ0FnSUNBZ0lDQWdJSE5sWTI5dVpFSjVkR1VnUFNCaWRXWmJhU0FySURGZFhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NoelpXTnZibVJDZVhSbElDWWdNSGhETUNrZ1BUMDlJREI0T0RBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSbGJYQkRiMlJsVUc5cGJuUWdQU0FvWm1seWMzUkNlWFJsSUNZZ01IZ3hSaWtnUER3Z01IZzJJSHdnS0hObFkyOXVaRUo1ZEdVZ0ppQXdlRE5HS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSbGJYQkRiMlJsVUc5cGJuUWdQaUF3ZURkR0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJSFJsYlhCRGIyUmxVRzlwYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVd0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0F6T2x4dUlDQWdJQ0FnSUNBZ0lITmxZMjl1WkVKNWRHVWdQU0JpZFdaYmFTQXJJREZkWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjbVJDZVhSbElEMGdZblZtVzJrZ0t5QXlYVnh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ29jMlZqYjI1a1FubDBaU0FtSURCNFF6QXBJRDA5UFNBd2VEZ3dJQ1ltSUNoMGFHbHlaRUo1ZEdVZ0ppQXdlRU13S1NBOVBUMGdNSGc0TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdWdGNFTnZaR1ZRYjJsdWRDQTlJQ2htYVhKemRFSjVkR1VnSmlBd2VFWXBJRHc4SURCNFF5QjhJQ2h6WldOdmJtUkNlWFJsSUNZZ01IZ3pSaWtnUER3Z01IZzJJSHdnS0hSb2FYSmtRbmwwWlNBbUlEQjRNMFlwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdWdGNFTnZaR1ZRYjJsdWRDQStJREI0TjBaR0lDWW1JQ2gwWlcxd1EyOWtaVkJ2YVc1MElEd2dNSGhFT0RBd0lIeDhJSFJsYlhCRGIyUmxVRzlwYm5RZ1BpQXdlRVJHUmtZcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJSFJsYlhCRGIyUmxVRzlwYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVd0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0EwT2x4dUlDQWdJQ0FnSUNBZ0lITmxZMjl1WkVKNWRHVWdQU0JpZFdaYmFTQXJJREZkWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjbVJDZVhSbElEMGdZblZtVzJrZ0t5QXlYVnh1SUNBZ0lDQWdJQ0FnSUdadmRYSjBhRUo1ZEdVZ1BTQmlkV1piYVNBcklETmRYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDaHpaV052Ym1SQ2VYUmxJQ1lnTUhoRE1Da2dQVDA5SURCNE9EQWdKaVlnS0hSb2FYSmtRbmwwWlNBbUlEQjRRekFwSUQwOVBTQXdlRGd3SUNZbUlDaG1iM1Z5ZEdoQ2VYUmxJQ1lnTUhoRE1Da2dQVDA5SURCNE9EQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUmxiWEJEYjJSbFVHOXBiblFnUFNBb1ptbHljM1JDZVhSbElDWWdNSGhHS1NBOFBDQXdlREV5SUh3Z0tITmxZMjl1WkVKNWRHVWdKaUF3ZUROR0tTQThQQ0F3ZUVNZ2ZDQW9kR2hwY21SQ2VYUmxJQ1lnTUhnelJpa2dQRHdnTUhnMklId2dLR1p2ZFhKMGFFSjVkR1VnSmlBd2VETkdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJsYlhCRGIyUmxVRzlwYm5RZ1BpQXdlRVpHUmtZZ0ppWWdkR1Z0Y0VOdlpHVlFiMmx1ZENBOElEQjRNVEV3TURBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJSFJsYlhCRGIyUmxVRzlwYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTnZaR1ZRYjJsdWRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdMeThnZDJVZ1pHbGtJRzV2ZENCblpXNWxjbUYwWlNCaElIWmhiR2xrSUdOdlpHVlFiMmx1ZENCemJ5QnBibk5sY25RZ1lWeHVJQ0FnSUNBZ0x5OGdjbVZ3YkdGalpXMWxiblFnWTJoaGNpQW9WU3RHUmtaRUtTQmhibVFnWVdSMllXNWpaU0J2Ym14NUlERWdZbmwwWlZ4dUlDQWdJQ0FnWTI5a1pWQnZhVzUwSUQwZ01IaEdSa1pFWEc0Z0lDQWdJQ0JpZVhSbGMxQmxjbE5sY1hWbGJtTmxJRDBnTVZ4dUlDQWdJSDBnWld4elpTQnBaaUFvWTI5a1pWQnZhVzUwSUQ0Z01IaEdSa1pHS1NCN1hHNGdJQ0FnSUNBdkx5QmxibU52WkdVZ2RHOGdkWFJtTVRZZ0tITjFjbkp2WjJGMFpTQndZV2x5SUdSaGJtTmxLVnh1SUNBZ0lDQWdZMjlrWlZCdmFXNTBJQzA5SURCNE1UQXdNREJjYmlBZ0lDQWdJSEpsY3k1d2RYTm9LR052WkdWUWIybHVkQ0ErUGo0Z01UQWdKaUF3ZUROR1JpQjhJREI0UkRnd01DbGNiaUFnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJREI0UkVNd01DQjhJR052WkdWUWIybHVkQ0FtSURCNE0wWkdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVnpMbkIxYzJnb1kyOWtaVkJ2YVc1MEtWeHVJQ0FnSUdrZ0t6MGdZbmwwWlhOUVpYSlRaWEYxWlc1alpWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHUmxZMjlrWlVOdlpHVlFiMmx1ZEhOQmNuSmhlU2h5WlhNcFhHNTlYRzVjYmk4dklFSmhjMlZrSUc5dUlHaDBkSEE2THk5emRHRmphMjkyWlhKbWJHOTNMbU52YlM5aEx6SXlOelEzTWpjeUx6WTRNRGMwTWl3Z2RHaGxJR0p5YjNkelpYSWdkMmwwYUZ4dUx5OGdkR2hsSUd4dmQyVnpkQ0JzYVcxcGRDQnBjeUJEYUhKdmJXVXNJSGRwZEdnZ01IZ3hNREF3TUNCaGNtZHpMbHh1THk4Z1YyVWdaMjhnTVNCdFlXZHVhWFIxWkdVZ2JHVnpjeXdnWm05eUlITmhabVYwZVZ4dWRtRnlJRTFCV0Y5QlVrZFZUVVZPVkZOZlRFVk9SMVJJSUQwZ01IZ3hNREF3WEc1Y2JtWjFibU4wYVc5dUlHUmxZMjlrWlVOdlpHVlFiMmx1ZEhOQmNuSmhlU0FvWTI5a1pWQnZhVzUwY3lrZ2UxeHVJQ0IyWVhJZ2JHVnVJRDBnWTI5a1pWQnZhVzUwY3k1c1pXNW5kR2hjYmlBZ2FXWWdLR3hsYmlBOFBTQk5RVmhmUVZKSFZVMUZUbFJUWDB4RlRrZFVTQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxMbUZ3Y0d4NUtGTjBjbWx1Wnl3Z1kyOWtaVkJ2YVc1MGN5a2dMeThnWVhadmFXUWdaWGgwY21FZ2MyeHBZMlVvS1Z4dUlDQjlYRzVjYmlBZ0x5OGdSR1ZqYjJSbElHbHVJR05vZFc1cmN5QjBieUJoZG05cFpDQmNJbU5oYkd3Z2MzUmhZMnNnYzJsNlpTQmxlR05sWldSbFpGd2lMbHh1SUNCMllYSWdjbVZ6SUQwZ0p5ZGNiaUFnZG1GeUlHa2dQU0F3WEc0Z0lIZG9hV3hsSUNocElEd2diR1Z1S1NCN1hHNGdJQ0FnY21WeklDczlJRk4wY21sdVp5NW1jbTl0UTJoaGNrTnZaR1V1WVhCd2JIa29YRzRnSUNBZ0lDQlRkSEpwYm1jc1hHNGdJQ0FnSUNCamIyUmxVRzlwYm5SekxuTnNhV05sS0drc0lHa2dLejBnVFVGWVgwRlNSMVZOUlU1VVUxOU1SVTVIVkVncFhHNGdJQ0FnS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJ5WlhOY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVhOamFXbFRiR2xqWlNBb1luVm1MQ0J6ZEdGeWRDd2daVzVrS1NCN1hHNGdJSFpoY2lCeVpYUWdQU0FuSjF4dUlDQmxibVFnUFNCTllYUm9MbTFwYmloaWRXWXViR1Z1WjNSb0xDQmxibVFwWEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z1pXNWtPeUFySzJrcElIdGNiaUFnSUNCeVpYUWdLejBnVTNSeWFXNW5MbVp5YjIxRGFHRnlRMjlrWlNoaWRXWmJhVjBnSmlBd2VEZEdLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWFJjYm4xY2JseHVablZ1WTNScGIyNGdiR0YwYVc0eFUyeHBZMlVnS0dKMVppd2djM1JoY25Rc0lHVnVaQ2tnZTF4dUlDQjJZWElnY21WMElEMGdKeWRjYmlBZ1pXNWtJRDBnVFdGMGFDNXRhVzRvWW5WbUxteGxibWQwYUN3Z1pXNWtLVnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGeWREc2dhU0E4SUdWdVpEc2dLeXRwS1NCN1hHNGdJQ0FnY21WMElDczlJRk4wY21sdVp5NW1jbTl0UTJoaGNrTnZaR1VvWW5WbVcybGRLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWFJjYm4xY2JseHVablZ1WTNScGIyNGdhR1Y0VTJ4cFkyVWdLR0oxWml3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ1luVm1MbXhsYm1kMGFGeHVYRzRnSUdsbUlDZ2hjM1JoY25RZ2ZId2djM1JoY25RZ1BDQXdLU0J6ZEdGeWRDQTlJREJjYmlBZ2FXWWdLQ0ZsYm1RZ2ZId2daVzVrSUR3Z01DQjhmQ0JsYm1RZ1BpQnNaVzRwSUdWdVpDQTlJR3hsYmx4dVhHNGdJSFpoY2lCdmRYUWdQU0FuSjF4dUlDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCbGJtUTdJQ3NyYVNrZ2UxeHVJQ0FnSUc5MWRDQXJQU0IwYjBobGVDaGlkV1piYVYwcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5MWRGeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWRHWXhObXhsVTJ4cFkyVWdLR0oxWml3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCMllYSWdZbmwwWlhNZ1BTQmlkV1l1YzJ4cFkyVW9jM1JoY25Rc0lHVnVaQ2xjYmlBZ2RtRnlJSEpsY3lBOUlDY25YRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lubDBaWE11YkdWdVozUm9PeUJwSUNzOUlESXBJSHRjYmlBZ0lDQnlaWE1nS3owZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTaGllWFJsYzF0cFhTQXJJR0o1ZEdWelcya2dLeUF4WFNBcUlESTFOaWxjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVZ6WEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVjMnhwWTJVZ1BTQm1kVzVqZEdsdmJpQnpiR2xqWlNBb2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHaGNiaUFnYzNSaGNuUWdQU0IrZm5OMFlYSjBYRzRnSUdWdVpDQTlJR1Z1WkNBOVBUMGdkVzVrWldacGJtVmtJRDhnYkdWdUlEb2dmbjVsYm1SY2JseHVJQ0JwWmlBb2MzUmhjblFnUENBd0tTQjdYRzRnSUNBZ2MzUmhjblFnS3owZ2JHVnVYRzRnSUNBZ2FXWWdLSE4wWVhKMElEd2dNQ2tnYzNSaGNuUWdQU0F3WEc0Z0lIMGdaV3h6WlNCcFppQW9jM1JoY25RZ1BpQnNaVzRwSUh0Y2JpQWdJQ0J6ZEdGeWRDQTlJR3hsYmx4dUlDQjlYRzVjYmlBZ2FXWWdLR1Z1WkNBOElEQXBJSHRjYmlBZ0lDQmxibVFnS3owZ2JHVnVYRzRnSUNBZ2FXWWdLR1Z1WkNBOElEQXBJR1Z1WkNBOUlEQmNiaUFnZlNCbGJITmxJR2xtSUNobGJtUWdQaUJzWlc0cElIdGNiaUFnSUNCbGJtUWdQU0JzWlc1Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hsYm1RZ1BDQnpkR0Z5ZENrZ1pXNWtJRDBnYzNSaGNuUmNibHh1SUNCMllYSWdibVYzUW5WbVhHNGdJR2xtSUNoQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNrZ2UxeHVJQ0FnSUc1bGQwSjFaaUE5SUhSb2FYTXVjM1ZpWVhKeVlYa29jM1JoY25Rc0lHVnVaQ2xjYmlBZ0lDQnVaWGRDZFdZdVgxOXdjbTkwYjE5ZklEMGdRblZtWm1WeUxuQnliM1J2ZEhsd1pWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhjaUJ6YkdsalpVeGxiaUE5SUdWdVpDQXRJSE4wWVhKMFhHNGdJQ0FnYm1WM1FuVm1JRDBnYm1WM0lFSjFabVpsY2loemJHbGpaVXhsYml3Z2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2MyeHBZMlZNWlc0N0lDc3JhU2tnZTF4dUlDQWdJQ0FnYm1WM1FuVm1XMmxkSUQwZ2RHaHBjMXRwSUNzZ2MzUmhjblJkWEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZDBKMVpseHVmVnh1WEc0dktseHVJQ29nVG1WbFpDQjBieUJ0WVd0bElITjFjbVVnZEdoaGRDQmlkV1ptWlhJZ2FYTnVKM1FnZEhKNWFXNW5JSFJ2SUhkeWFYUmxJRzkxZENCdlppQmliM1Z1WkhNdVhHNGdLaTljYm1aMWJtTjBhVzl1SUdOb1pXTnJUMlptYzJWMElDaHZabVp6WlhRc0lHVjRkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHbG1JQ2dvYjJabWMyVjBJQ1VnTVNrZ0lUMDlJREFnZkh3Z2IyWm1jMlYwSUR3Z01Da2dkR2h5YjNjZ2JtVjNJRkpoYm1kbFJYSnliM0lvSjI5bVpuTmxkQ0JwY3lCdWIzUWdkV2x1ZENjcFhHNGdJR2xtSUNodlptWnpaWFFnS3lCbGVIUWdQaUJzWlc1bmRHZ3BJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkVWNubHBibWNnZEc4Z1lXTmpaWE56SUdKbGVXOXVaQ0JpZFdabVpYSWdiR1Z1WjNSb0p5bGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1eVpXRmtWVWx1ZEV4RklEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUk1SU0FvYjJabWMyVjBMQ0JpZVhSbFRHVnVaM1JvTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0J2Wm1aelpYUWdQU0J2Wm1aelpYUWdmQ0F3WEc0Z0lHSjVkR1ZNWlc1bmRHZ2dQU0JpZVhSbFRHVnVaM1JvSUh3Z01GeHVJQ0JwWmlBb0lXNXZRWE56WlhKMEtTQmphR1ZqYTA5bVpuTmxkQ2h2Wm1aelpYUXNJR0o1ZEdWTVpXNW5kR2dzSUhSb2FYTXViR1Z1WjNSb0tWeHVYRzRnSUhaaGNpQjJZV3dnUFNCMGFHbHpXMjltWm5ObGRGMWNiaUFnZG1GeUlHMTFiQ0E5SURGY2JpQWdkbUZ5SUdrZ1BTQXdYRzRnSUhkb2FXeGxJQ2dySzJrZ1BDQmllWFJsVEdWdVozUm9JQ1ltSUNodGRXd2dLajBnTUhneE1EQXBLU0I3WEc0Z0lDQWdkbUZzSUNzOUlIUm9hWE5iYjJabWMyVjBJQ3NnYVYwZ0tpQnRkV3hjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIyWVd4Y2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WldGa1ZVbHVkRUpGSUQwZ1puVnVZM1JwYjI0Z2NtVmhaRlZKYm5SQ1JTQW9iMlptYzJWMExDQmllWFJsVEdWdVozUm9MQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdKNWRHVk1aVzVuZEdnZ1BTQmllWFJsVEdWdVozUm9JSHdnTUZ4dUlDQnBaaUFvSVc1dlFYTnpaWEowS1NCN1hHNGdJQ0FnWTJobFkydFBabVp6WlhRb2IyWm1jMlYwTENCaWVYUmxUR1Z1WjNSb0xDQjBhR2x6TG14bGJtZDBhQ2xjYmlBZ2ZWeHVYRzRnSUhaaGNpQjJZV3dnUFNCMGFHbHpXMjltWm5ObGRDQXJJQzB0WW5sMFpVeGxibWQwYUYxY2JpQWdkbUZ5SUcxMWJDQTlJREZjYmlBZ2QyaHBiR1VnS0dKNWRHVk1aVzVuZEdnZ1BpQXdJQ1ltSUNodGRXd2dLajBnTUhneE1EQXBLU0I3WEc0Z0lDQWdkbUZzSUNzOUlIUm9hWE5iYjJabWMyVjBJQ3NnTFMxaWVYUmxUR1Z1WjNSb1hTQXFJRzExYkZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhaaGJGeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5KbFlXUlZTVzUwT0NBOUlHWjFibU4wYVc5dUlISmxZV1JWU1c1ME9DQW9iMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0JqYUdWamEwOW1abk5sZENodlptWnpaWFFzSURFc0lIUm9hWE11YkdWdVozUm9LVnh1SUNCeVpYUjFjbTRnZEdocGMxdHZabVp6WlhSZFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Y21WaFpGVkpiblF4Tmt4RklEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUXhOa3hGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dNaXdnZEdocGN5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQjBhR2x6VzI5bVpuTmxkRjBnZkNBb2RHaHBjMXR2Wm1aelpYUWdLeUF4WFNBOFBDQTRLVnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuSmxZV1JWU1c1ME1UWkNSU0E5SUdaMWJtTjBhVzl1SUhKbFlXUlZTVzUwTVRaQ1JTQW9iMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0JqYUdWamEwOW1abk5sZENodlptWnpaWFFzSURJc0lIUm9hWE11YkdWdVozUm9LVnh1SUNCeVpYUjFjbTRnS0hSb2FYTmJiMlptYzJWMFhTQThQQ0E0S1NCOElIUm9hWE5iYjJabWMyVjBJQ3NnTVYxY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WldGa1ZVbHVkRE15VEVVZ1BTQm1kVzVqZEdsdmJpQnlaV0ZrVlVsdWRETXlURVVnS0c5bVpuTmxkQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ1kyaGxZMnRQWm1aelpYUW9iMlptYzJWMExDQTBMQ0IwYUdsekxteGxibWQwYUNsY2JseHVJQ0J5WlhSMWNtNGdLQ2gwYUdselcyOW1abk5sZEYwcElIeGNiaUFnSUNBZ0lDaDBhR2x6VzI5bVpuTmxkQ0FySURGZElEdzhJRGdwSUh4Y2JpQWdJQ0FnSUNoMGFHbHpXMjltWm5ObGRDQXJJREpkSUR3OElERTJLU2tnSzF4dUlDQWdJQ0FnS0hSb2FYTmJiMlptYzJWMElDc2dNMTBnS2lBd2VERXdNREF3TURBcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Y21WaFpGVkpiblF6TWtKRklEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUXpNa0pGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dOQ3dnZEdocGN5NXNaVzVuZEdncFhHNWNiaUFnY21WMGRYSnVJQ2gwYUdselcyOW1abk5sZEYwZ0tpQXdlREV3TURBd01EQXBJQ3RjYmlBZ0lDQW9LSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQRHdnTVRZcElIeGNiaUFnSUNBb2RHaHBjMXR2Wm1aelpYUWdLeUF5WFNBOFBDQTRLU0I4WEc0Z0lDQWdkR2hwYzF0dlptWnpaWFFnS3lBelhTbGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1eVpXRmtTVzUwVEVVZ1BTQm1kVzVqZEdsdmJpQnlaV0ZrU1c1MFRFVWdLRzltWm5ObGRDd2dZbmwwWlV4bGJtZDBhQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdiMlptYzJWMElEMGdiMlptYzJWMElId2dNRnh1SUNCaWVYUmxUR1Z1WjNSb0lEMGdZbmwwWlV4bGJtZDBhQ0I4SURCY2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ1kyaGxZMnRQWm1aelpYUW9iMlptYzJWMExDQmllWFJsVEdWdVozUm9MQ0IwYUdsekxteGxibWQwYUNsY2JseHVJQ0IyWVhJZ2RtRnNJRDBnZEdocGMxdHZabVp6WlhSZFhHNGdJSFpoY2lCdGRXd2dQU0F4WEc0Z0lIWmhjaUJwSUQwZ01GeHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lubDBaVXhsYm1kMGFDQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lIWmhiQ0FyUFNCMGFHbHpXMjltWm5ObGRDQXJJR2xkSUNvZ2JYVnNYRzRnSUgxY2JpQWdiWFZzSUNvOUlEQjRPREJjYmx4dUlDQnBaaUFvZG1Gc0lENDlJRzExYkNrZ2RtRnNJQzA5SUUxaGRHZ3VjRzkzS0RJc0lEZ2dLaUJpZVhSbFRHVnVaM1JvS1Z4dVhHNGdJSEpsZEhWeWJpQjJZV3hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1MFFrVWdQU0JtZFc1amRHbHZiaUJ5WldGa1NXNTBRa1VnS0c5bVpuTmxkQ3dnWW5sMFpVeGxibWQwYUN3Z2JtOUJjM05sY25RcElIdGNiaUFnYjJabWMyVjBJRDBnYjJabWMyVjBJSHdnTUZ4dUlDQmllWFJsVEdWdVozUm9JRDBnWW5sMFpVeGxibWQwYUNCOElEQmNiaUFnYVdZZ0tDRnViMEZ6YzJWeWRDa2dZMmhsWTJ0UFptWnpaWFFvYjJabWMyVjBMQ0JpZVhSbFRHVnVaM1JvTENCMGFHbHpMbXhsYm1kMGFDbGNibHh1SUNCMllYSWdhU0E5SUdKNWRHVk1aVzVuZEdoY2JpQWdkbUZ5SUcxMWJDQTlJREZjYmlBZ2RtRnlJSFpoYkNBOUlIUm9hWE5iYjJabWMyVjBJQ3NnTFMxcFhWeHVJQ0IzYUdsc1pTQW9hU0ErSURBZ0ppWWdLRzExYkNBcVBTQXdlREV3TUNrcElIdGNiaUFnSUNCMllXd2dLejBnZEdocGMxdHZabVp6WlhRZ0t5QXRMV2xkSUNvZ2JYVnNYRzRnSUgxY2JpQWdiWFZzSUNvOUlEQjRPREJjYmx4dUlDQnBaaUFvZG1Gc0lENDlJRzExYkNrZ2RtRnNJQzA5SUUxaGRHZ3VjRzkzS0RJc0lEZ2dLaUJpZVhSbFRHVnVaM1JvS1Z4dVhHNGdJSEpsZEhWeWJpQjJZV3hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME9DQTlJR1oxYm1OMGFXOXVJSEpsWVdSSmJuUTRJQ2h2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUdOb1pXTnJUMlptYzJWMEtHOW1abk5sZEN3Z01Td2dkR2hwY3k1c1pXNW5kR2dwWEc0Z0lHbG1JQ2doS0hSb2FYTmJiMlptYzJWMFhTQW1JREI0T0RBcEtTQnlaWFIxY200Z0tIUm9hWE5iYjJabWMyVjBYU2xjYmlBZ2NtVjBkWEp1SUNnb01IaG1aaUF0SUhSb2FYTmJiMlptYzJWMFhTQXJJREVwSUNvZ0xURXBYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWNtVmhaRWx1ZERFMlRFVWdQU0JtZFc1amRHbHZiaUJ5WldGa1NXNTBNVFpNUlNBb2IyWm1jMlYwTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0JwWmlBb0lXNXZRWE56WlhKMEtTQmphR1ZqYTA5bVpuTmxkQ2h2Wm1aelpYUXNJRElzSUhSb2FYTXViR1Z1WjNSb0tWeHVJQ0IyWVhJZ2RtRnNJRDBnZEdocGMxdHZabVp6WlhSZElId2dLSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQRHdnT0NsY2JpQWdjbVYwZFhKdUlDaDJZV3dnSmlBd2VEZ3dNREFwSUQ4Z2RtRnNJSHdnTUhoR1JrWkdNREF3TUNBNklIWmhiRnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuSmxZV1JKYm5ReE5rSkZJRDBnWm5WdVkzUnBiMjRnY21WaFpFbHVkREUyUWtVZ0tHOW1abk5sZEN3Z2JtOUJjM05sY25RcElIdGNiaUFnYVdZZ0tDRnViMEZ6YzJWeWRDa2dZMmhsWTJ0UFptWnpaWFFvYjJabWMyVjBMQ0F5TENCMGFHbHpMbXhsYm1kMGFDbGNiaUFnZG1GeUlIWmhiQ0E5SUhSb2FYTmJiMlptYzJWMElDc2dNVjBnZkNBb2RHaHBjMXR2Wm1aelpYUmRJRHc4SURncFhHNGdJSEpsZEhWeWJpQW9kbUZzSUNZZ01IZzRNREF3S1NBL0lIWmhiQ0I4SURCNFJrWkdSakF3TURBZ09pQjJZV3hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME16Sk1SU0E5SUdaMWJtTjBhVzl1SUhKbFlXUkpiblF6TWt4RklDaHZabVp6WlhRc0lHNXZRWE56WlhKMEtTQjdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclQyWm1jMlYwS0c5bVpuTmxkQ3dnTkN3Z2RHaHBjeTVzWlc1bmRHZ3BYRzVjYmlBZ2NtVjBkWEp1SUNoMGFHbHpXMjltWm5ObGRGMHBJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBeFhTQThQQ0E0S1NCOFhHNGdJQ0FnS0hSb2FYTmJiMlptYzJWMElDc2dNbDBnUER3Z01UWXBJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBelhTQThQQ0F5TkNsY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WldGa1NXNTBNekpDUlNBOUlHWjFibU4wYVc5dUlISmxZV1JKYm5Rek1rSkZJQ2h2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUdOb1pXTnJUMlptYzJWMEtHOW1abk5sZEN3Z05Dd2dkR2hwY3k1c1pXNW5kR2dwWEc1Y2JpQWdjbVYwZFhKdUlDaDBhR2x6VzI5bVpuTmxkRjBnUER3Z01qUXBJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBeFhTQThQQ0F4TmlrZ2ZGeHVJQ0FnSUNoMGFHbHpXMjltWm5ObGRDQXJJREpkSUR3OElEZ3BJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBelhTbGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1eVpXRmtSbXh2WVhSTVJTQTlJR1oxYm1OMGFXOXVJSEpsWVdSR2JHOWhkRXhGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dOQ3dnZEdocGN5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQnBaV1ZsTnpVMExuSmxZV1FvZEdocGN5d2diMlptYzJWMExDQjBjblZsTENBeU15d2dOQ2xjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrUm14dllYUkNSU0E5SUdaMWJtTjBhVzl1SUhKbFlXUkdiRzloZEVKRklDaHZabVp6WlhRc0lHNXZRWE56WlhKMEtTQjdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclQyWm1jMlYwS0c5bVpuTmxkQ3dnTkN3Z2RHaHBjeTVzWlc1bmRHZ3BYRzRnSUhKbGRIVnliaUJwWldWbE56VTBMbkpsWVdRb2RHaHBjeXdnYjJabWMyVjBMQ0JtWVd4elpTd2dNak1zSURRcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Y21WaFpFUnZkV0pzWlV4RklEMGdablZ1WTNScGIyNGdjbVZoWkVSdmRXSnNaVXhGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dPQ3dnZEdocGN5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQnBaV1ZsTnpVMExuSmxZV1FvZEdocGN5d2diMlptYzJWMExDQjBjblZsTENBMU1pd2dPQ2xjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrUkc5MVlteGxRa1VnUFNCbWRXNWpkR2x2YmlCeVpXRmtSRzkxWW14bFFrVWdLRzltWm5ObGRDd2dibTlCYzNObGNuUXBJSHRjYmlBZ2FXWWdLQ0Z1YjBGemMyVnlkQ2tnWTJobFkydFBabVp6WlhRb2IyWm1jMlYwTENBNExDQjBhR2x6TG14bGJtZDBhQ2xjYmlBZ2NtVjBkWEp1SUdsbFpXVTNOVFF1Y21WaFpDaDBhR2x6TENCdlptWnpaWFFzSUdaaGJITmxMQ0ExTWl3Z09DbGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnRKYm5RZ0tHSjFaaXdnZG1Gc2RXVXNJRzltWm5ObGRDd2daWGgwTENCdFlYZ3NJRzFwYmlrZ2UxeHVJQ0JwWmlBb0lVSjFabVpsY2k1cGMwSjFabVpsY2loaWRXWXBLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0ltSjFabVpsY2x3aUlHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQkNkV1ptWlhJZ2FXNXpkR0Z1WTJVbktWeHVJQ0JwWmlBb2RtRnNkV1VnUGlCdFlYZ2dmSHdnZG1Gc2RXVWdQQ0J0YVc0cElIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RjSW5aaGJIVmxYQ0lnWVhKbmRXMWxiblFnYVhNZ2IzVjBJRzltSUdKdmRXNWtjeWNwWEc0Z0lHbG1JQ2h2Wm1aelpYUWdLeUJsZUhRZ1BpQmlkV1l1YkdWdVozUm9LU0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnblNXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEp5bGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1M2NtbDBaVlZKYm5STVJTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFZVbHVkRXhGSUNoMllXeDFaU3dnYjJabWMyVjBMQ0JpZVhSbFRHVnVaM1JvTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0IyWVd4MVpTQTlJQ3QyWVd4MVpWeHVJQ0J2Wm1aelpYUWdQU0J2Wm1aelpYUWdmQ0F3WEc0Z0lHSjVkR1ZNWlc1bmRHZ2dQU0JpZVhSbFRHVnVaM1JvSUh3Z01GeHVJQ0JwWmlBb0lXNXZRWE56WlhKMEtTQjdYRzRnSUNBZ2RtRnlJRzFoZUVKNWRHVnpJRDBnVFdGMGFDNXdiM2NvTWl3Z09DQXFJR0o1ZEdWTVpXNW5kR2dwSUMwZ01WeHVJQ0FnSUdOb1pXTnJTVzUwS0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lHSjVkR1ZNWlc1bmRHZ3NJRzFoZUVKNWRHVnpMQ0F3S1Z4dUlDQjlYRzVjYmlBZ2RtRnlJRzExYkNBOUlERmNiaUFnZG1GeUlHa2dQU0F3WEc0Z0lIUm9hWE5iYjJabWMyVjBYU0E5SUhaaGJIVmxJQ1lnTUhoR1JseHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lubDBaVXhsYm1kMGFDQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnYVYwZ1BTQW9kbUZzZFdVZ0x5QnRkV3dwSUNZZ01IaEdSbHh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzltWm5ObGRDQXJJR0o1ZEdWTVpXNW5kR2hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNTNjbWwwWlZWSmJuUkNSU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxWVWx1ZEVKRklDaDJZV3gxWlN3Z2IyWm1jMlYwTENCaWVYUmxUR1Z1WjNSb0xDQnViMEZ6YzJWeWRDa2dlMXh1SUNCMllXeDFaU0E5SUN0MllXeDFaVnh1SUNCdlptWnpaWFFnUFNCdlptWnpaWFFnZkNBd1hHNGdJR0o1ZEdWTVpXNW5kR2dnUFNCaWVYUmxUR1Z1WjNSb0lId2dNRnh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0I3WEc0Z0lDQWdkbUZ5SUcxaGVFSjVkR1Z6SUQwZ1RXRjBhQzV3YjNjb01pd2dPQ0FxSUdKNWRHVk1aVzVuZEdncElDMGdNVnh1SUNBZ0lHTm9aV05yU1c1MEtIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJR0o1ZEdWTVpXNW5kR2dzSUcxaGVFSjVkR1Z6TENBd0tWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdrZ1BTQmllWFJsVEdWdVozUm9JQzBnTVZ4dUlDQjJZWElnYlhWc0lEMGdNVnh1SUNCMGFHbHpXMjltWm5ObGRDQXJJR2xkSUQwZ2RtRnNkV1VnSmlBd2VFWkdYRzRnSUhkb2FXeGxJQ2d0TFdrZ1BqMGdNQ0FtSmlBb2JYVnNJQ285SURCNE1UQXdLU2tnZTF4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ2FWMGdQU0FvZG1Gc2RXVWdMeUJ0ZFd3cElDWWdNSGhHUmx4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc5bVpuTmxkQ0FySUdKNWRHVk1aVzVuZEdoY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzUzY21sMFpWVkpiblE0SUQwZ1puVnVZM1JwYjI0Z2QzSnBkR1ZWU1c1ME9DQW9kbUZzZFdVc0lHOW1abk5sZEN3Z2JtOUJjM05sY25RcElIdGNiaUFnZG1Gc2RXVWdQU0FyZG1Gc2RXVmNiaUFnYjJabWMyVjBJRDBnYjJabWMyVjBJSHdnTUZ4dUlDQnBaaUFvSVc1dlFYTnpaWEowS1NCamFHVmphMGx1ZENoMGFHbHpMQ0IyWVd4MVpTd2diMlptYzJWMExDQXhMQ0F3ZUdabUxDQXdLVnh1SUNCcFppQW9JVUoxWm1abGNpNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVLU0IyWVd4MVpTQTlJRTFoZEdndVpteHZiM0lvZG1Gc2RXVXBYRzRnSUhSb2FYTmJiMlptYzJWMFhTQTlJQ2gyWVd4MVpTQW1JREI0Wm1ZcFhHNGdJSEpsZEhWeWJpQnZabVp6WlhRZ0t5QXhYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOWlhbVZqZEZkeWFYUmxWVWx1ZERFMklDaGlkV1lzSUhaaGJIVmxMQ0J2Wm1aelpYUXNJR3hwZEhSc1pVVnVaR2xoYmlrZ2UxeHVJQ0JwWmlBb2RtRnNkV1VnUENBd0tTQjJZV3gxWlNBOUlEQjRabVptWmlBcklIWmhiSFZsSUNzZ01WeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhaUE5SUUxaGRHZ3ViV2x1S0dKMVppNXNaVzVuZEdnZ0xTQnZabVp6WlhRc0lESXBPeUJwSUR3Z2Fqc2dLeXRwS1NCN1hHNGdJQ0FnWW5WbVcyOW1abk5sZENBcklHbGRJRDBnS0haaGJIVmxJQ1lnS0RCNFptWWdQRHdnS0RnZ0tpQW9iR2wwZEd4bFJXNWthV0Z1SUQ4Z2FTQTZJREVnTFNCcEtTa3BLU0ErUGo1Y2JpQWdJQ0FnSUNoc2FYUjBiR1ZGYm1ScFlXNGdQeUJwSURvZ01TQXRJR2twSUNvZ09GeHVJQ0I5WEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWVlNXNTBNVFpNUlNBOUlHWjFibU4wYVc5dUlIZHlhWFJsVlVsdWRERTJURVVnS0haaGJIVmxMQ0J2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lIWmhiSFZsSUQwZ0szWmhiSFZsWEc0Z0lHOW1abk5sZENBOUlHOW1abk5sZENCOElEQmNiaUFnYVdZZ0tDRnViMEZ6YzJWeWRDa2dZMmhsWTJ0SmJuUW9kR2hwY3l3Z2RtRnNkV1VzSUc5bVpuTmxkQ3dnTWl3Z01IaG1abVptTENBd0tWeHVJQ0JwWmlBb1FuVm1abVZ5TGxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRcElIdGNiaUFnSUNCMGFHbHpXMjltWm5ObGRGMGdQU0FvZG1Gc2RXVWdKaUF3ZUdabUtWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dNVjBnUFNBb2RtRnNkV1VnUGo0K0lEZ3BYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdiMkpxWldOMFYzSnBkR1ZWU1c1ME1UWW9kR2hwY3l3Z2RtRnNkV1VzSUc5bVpuTmxkQ3dnZEhKMVpTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z2IyWm1jMlYwSUNzZ01seHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5keWFYUmxWVWx1ZERFMlFrVWdQU0JtZFc1amRHbHZiaUIzY21sMFpWVkpiblF4TmtKRklDaDJZV3gxWlN3Z2IyWm1jMlYwTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0IyWVd4MVpTQTlJQ3QyWVd4MVpWeHVJQ0J2Wm1aelpYUWdQU0J2Wm1aelpYUWdmQ0F3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUdOb1pXTnJTVzUwS0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lESXNJREI0Wm1abVppd2dNQ2xjYmlBZ2FXWWdLRUoxWm1abGNpNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVLU0I3WEc0Z0lDQWdkR2hwYzF0dlptWnpaWFJkSUQwZ0tIWmhiSFZsSUQ0K1BpQTRLVnh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnTVYwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUc5aWFtVmpkRmR5YVhSbFZVbHVkREUyS0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lHWmhiSE5sS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUF5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzlpYW1WamRGZHlhWFJsVlVsdWRETXlJQ2hpZFdZc0lIWmhiSFZsTENCdlptWnpaWFFzSUd4cGRIUnNaVVZ1WkdsaGJpa2dlMXh1SUNCcFppQW9kbUZzZFdVZ1BDQXdLU0IyWVd4MVpTQTlJREI0Wm1abVptWm1abVlnS3lCMllXeDFaU0FySURGY2JpQWdabTl5SUNoMllYSWdhU0E5SURBc0lHb2dQU0JOWVhSb0xtMXBiaWhpZFdZdWJHVnVaM1JvSUMwZ2IyWm1jMlYwTENBMEtUc2dhU0E4SUdvN0lDc3JhU2tnZTF4dUlDQWdJR0oxWmx0dlptWnpaWFFnS3lCcFhTQTlJQ2gyWVd4MVpTQStQajRnS0d4cGRIUnNaVVZ1WkdsaGJpQS9JR2tnT2lBeklDMGdhU2tnS2lBNEtTQW1JREI0Wm1aY2JpQWdmVnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuZHlhWFJsVlVsdWRETXlURVVnUFNCbWRXNWpkR2x2YmlCM2NtbDBaVlZKYm5Rek1reEZJQ2gyWVd4MVpTd2diMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCMllXeDFaU0E5SUN0MllXeDFaVnh1SUNCdlptWnpaWFFnUFNCdlptWnpaWFFnZkNBd1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yU1c1MEtIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJRFFzSURCNFptWm1abVptWm1Zc0lEQXBYRzRnSUdsbUlDaENkV1ptWlhJdVZGbFFSVVJmUVZKU1FWbGZVMVZRVUU5U1ZDa2dlMXh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnTTEwZ1BTQW9kbUZzZFdVZ1BqNCtJREkwS1Z4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ01sMGdQU0FvZG1Gc2RXVWdQajQrSURFMktWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dNVjBnUFNBb2RtRnNkV1VnUGo0K0lEZ3BYRzRnSUNBZ2RHaHBjMXR2Wm1aelpYUmRJRDBnS0haaGJIVmxJQ1lnTUhobVppbGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnZZbXBsWTNSWGNtbDBaVlZKYm5Rek1paDBhR2x6TENCMllXeDFaU3dnYjJabWMyVjBMQ0IwY25WbEtWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdlptWnpaWFFnS3lBMFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVlZTVzUwTXpKQ1JTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFZVbHVkRE15UWtVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJSFpoYkhWbElEMGdLM1poYkhWbFhHNGdJRzltWm5ObGRDQTlJRzltWm5ObGRDQjhJREJjYmlBZ2FXWWdLQ0Z1YjBGemMyVnlkQ2tnWTJobFkydEpiblFvZEdocGN5d2dkbUZzZFdVc0lHOW1abk5sZEN3Z05Dd2dNSGhtWm1abVptWm1aaXdnTUNsY2JpQWdhV1lnS0VKMVptWmxjaTVVV1ZCRlJGOUJVbEpCV1Y5VFZWQlFUMUpVS1NCN1hHNGdJQ0FnZEdocGMxdHZabVp6WlhSZElEMGdLSFpoYkhWbElENCtQaUF5TkNsY2JpQWdJQ0IwYUdselcyOW1abk5sZENBcklERmRJRDBnS0haaGJIVmxJRDQrUGlBeE5pbGNiaUFnSUNCMGFHbHpXMjltWm5ObGRDQXJJREpkSUQwZ0tIWmhiSFZsSUQ0K1BpQTRLVnh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnTTEwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUc5aWFtVmpkRmR5YVhSbFZVbHVkRE15S0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lHWmhiSE5sS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUEwWEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWSmJuUk1SU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxTVzUwVEVVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHNXZRWE56WlhKMEtTQjdYRzRnSUhaaGJIVmxJRDBnSzNaaGJIVmxYRzRnSUc5bVpuTmxkQ0E5SUc5bVpuTmxkQ0I4SURCY2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ2UxeHVJQ0FnSUhaaGNpQnNhVzFwZENBOUlFMWhkR2d1Y0c5M0tESXNJRGdnS2lCaWVYUmxUR1Z1WjNSb0lDMGdNU2xjYmx4dUlDQWdJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHeHBiV2wwSUMwZ01Td2dMV3hwYldsMEtWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdrZ1BTQXdYRzRnSUhaaGNpQnRkV3dnUFNBeFhHNGdJSFpoY2lCemRXSWdQU0F3WEc0Z0lIUm9hWE5iYjJabWMyVjBYU0E5SUhaaGJIVmxJQ1lnTUhoR1JseHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lubDBaVXhsYm1kMGFDQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQThJREFnSmlZZ2MzVmlJRDA5UFNBd0lDWW1JSFJvYVhOYmIyWm1jMlYwSUNzZ2FTQXRJREZkSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6ZFdJZ1BTQXhYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dhVjBnUFNBb0tIWmhiSFZsSUM4Z2JYVnNLU0ErUGlBd0tTQXRJSE4xWWlBbUlEQjRSa1pjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUJpZVhSbFRHVnVaM1JvWEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWSmJuUkNSU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxTVzUwUWtVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHNXZRWE56WlhKMEtTQjdYRzRnSUhaaGJIVmxJRDBnSzNaaGJIVmxYRzRnSUc5bVpuTmxkQ0E5SUc5bVpuTmxkQ0I4SURCY2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ2UxeHVJQ0FnSUhaaGNpQnNhVzFwZENBOUlFMWhkR2d1Y0c5M0tESXNJRGdnS2lCaWVYUmxUR1Z1WjNSb0lDMGdNU2xjYmx4dUlDQWdJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHeHBiV2wwSUMwZ01Td2dMV3hwYldsMEtWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdrZ1BTQmllWFJsVEdWdVozUm9JQzBnTVZ4dUlDQjJZWElnYlhWc0lEMGdNVnh1SUNCMllYSWdjM1ZpSUQwZ01GeHVJQ0IwYUdselcyOW1abk5sZENBcklHbGRJRDBnZG1Gc2RXVWdKaUF3ZUVaR1hHNGdJSGRvYVd4bElDZ3RMV2tnUGowZ01DQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQThJREFnSmlZZ2MzVmlJRDA5UFNBd0lDWW1JSFJvYVhOYmIyWm1jMlYwSUNzZ2FTQXJJREZkSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6ZFdJZ1BTQXhYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dhVjBnUFNBb0tIWmhiSFZsSUM4Z2JYVnNLU0ErUGlBd0tTQXRJSE4xWWlBbUlEQjRSa1pjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUJpZVhSbFRHVnVaM1JvWEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWSmJuUTRJRDBnWm5WdVkzUnBiMjRnZDNKcGRHVkpiblE0SUNoMllXeDFaU3dnYjJabWMyVjBMQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQjJZV3gxWlNBOUlDdDJZV3gxWlZ4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSURFc0lEQjROMllzSUMwd2VEZ3dLVnh1SUNCcFppQW9JVUoxWm1abGNpNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVLU0IyWVd4MVpTQTlJRTFoZEdndVpteHZiM0lvZG1Gc2RXVXBYRzRnSUdsbUlDaDJZV3gxWlNBOElEQXBJSFpoYkhWbElEMGdNSGhtWmlBcklIWmhiSFZsSUNzZ01WeHVJQ0IwYUdselcyOW1abk5sZEYwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQnlaWFIxY200Z2IyWm1jMlYwSUNzZ01WeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5keWFYUmxTVzUwTVRaTVJTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFNXNTBNVFpNUlNBb2RtRnNkV1VzSUc5bVpuTmxkQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdkbUZzZFdVZ1BTQXJkbUZzZFdWY2JpQWdiMlptYzJWMElEMGdiMlptYzJWMElId2dNRnh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0JqYUdWamEwbHVkQ2gwYUdsekxDQjJZV3gxWlN3Z2IyWm1jMlYwTENBeUxDQXdlRGRtWm1Zc0lDMHdlRGd3TURBcFhHNGdJR2xtSUNoQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNrZ2UxeHVJQ0FnSUhSb2FYTmJiMlptYzJWMFhTQTlJQ2gyWVd4MVpTQW1JREI0Wm1ZcFhHNGdJQ0FnZEdocGMxdHZabVp6WlhRZ0t5QXhYU0E5SUNoMllXeDFaU0ErUGo0Z09DbGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnZZbXBsWTNSWGNtbDBaVlZKYm5ReE5paDBhR2x6TENCMllXeDFaU3dnYjJabWMyVjBMQ0IwY25WbEtWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdlptWnpaWFFnS3lBeVhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVkpiblF4TmtKRklEMGdablZ1WTNScGIyNGdkM0pwZEdWSmJuUXhOa0pGSUNoMllXeDFaU3dnYjJabWMyVjBMQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQjJZV3gxWlNBOUlDdDJZV3gxWlZ4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSURJc0lEQjROMlptWml3Z0xUQjRPREF3TUNsY2JpQWdhV1lnS0VKMVptWmxjaTVVV1ZCRlJGOUJVbEpCV1Y5VFZWQlFUMUpVS1NCN1hHNGdJQ0FnZEdocGMxdHZabVp6WlhSZElEMGdLSFpoYkhWbElENCtQaUE0S1Z4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQU0FvZG1Gc2RXVWdKaUF3ZUdabUtWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHOWlhbVZqZEZkeWFYUmxWVWx1ZERFMktIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJR1poYkhObEtWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdlptWnpaWFFnS3lBeVhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVkpiblF6TWt4RklEMGdablZ1WTNScGIyNGdkM0pwZEdWSmJuUXpNa3hGSUNoMllXeDFaU3dnYjJabWMyVjBMQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQjJZV3gxWlNBOUlDdDJZV3gxWlZ4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSURRc0lEQjROMlptWm1abVptWXNJQzB3ZURnd01EQXdNREF3S1Z4dUlDQnBaaUFvUW5WbVptVnlMbFJaVUVWRVgwRlNVa0ZaWDFOVlVGQlBVbFFwSUh0Y2JpQWdJQ0IwYUdselcyOW1abk5sZEYwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQU0FvZG1Gc2RXVWdQajQrSURncFhHNGdJQ0FnZEdocGMxdHZabVp6WlhRZ0t5QXlYU0E5SUNoMllXeDFaU0ErUGo0Z01UWXBYRzRnSUNBZ2RHaHBjMXR2Wm1aelpYUWdLeUF6WFNBOUlDaDJZV3gxWlNBK1BqNGdNalFwWEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYjJKcVpXTjBWM0pwZEdWVlNXNTBNeklvZEdocGN5d2dkbUZzZFdVc0lHOW1abk5sZEN3Z2RISjFaU2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiMlptYzJWMElDc2dORnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuZHlhWFJsU1c1ME16SkNSU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxTVzUwTXpKQ1JTQW9kbUZzZFdVc0lHOW1abk5sZEN3Z2JtOUJjM05sY25RcElIdGNiaUFnZG1Gc2RXVWdQU0FyZG1Gc2RXVmNiaUFnYjJabWMyVjBJRDBnYjJabWMyVjBJSHdnTUZ4dUlDQnBaaUFvSVc1dlFYTnpaWEowS1NCamFHVmphMGx1ZENoMGFHbHpMQ0IyWVd4MVpTd2diMlptYzJWMExDQTBMQ0F3ZURkbVptWm1abVptTENBdE1IZzRNREF3TURBd01DbGNiaUFnYVdZZ0tIWmhiSFZsSUR3Z01Da2dkbUZzZFdVZ1BTQXdlR1ptWm1abVptWm1JQ3NnZG1Gc2RXVWdLeUF4WEc0Z0lHbG1JQ2hDZFdabVpYSXVWRmxRUlVSZlFWSlNRVmxmVTFWUVVFOVNWQ2tnZTF4dUlDQWdJSFJvYVhOYmIyWm1jMlYwWFNBOUlDaDJZV3gxWlNBK1BqNGdNalFwWEc0Z0lDQWdkR2hwYzF0dlptWnpaWFFnS3lBeFhTQTlJQ2gyWVd4MVpTQStQajRnTVRZcFhHNGdJQ0FnZEdocGMxdHZabVp6WlhRZ0t5QXlYU0E5SUNoMllXeDFaU0ErUGo0Z09DbGNiaUFnSUNCMGFHbHpXMjltWm5ObGRDQXJJRE5kSUQwZ0tIWmhiSFZsSUNZZ01IaG1aaWxjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J2WW1wbFkzUlhjbWwwWlZWSmJuUXpNaWgwYUdsekxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCbVlXeHpaU2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiMlptYzJWMElDc2dORnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmphR1ZqYTBsRlJVVTNOVFFnS0dKMVppd2dkbUZzZFdVc0lHOW1abk5sZEN3Z1pYaDBMQ0J0WVhnc0lHMXBiaWtnZTF4dUlDQnBaaUFvYjJabWMyVjBJQ3NnWlhoMElENGdZblZtTG14bGJtZDBhQ2tnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0owbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpTY3BYRzRnSUdsbUlDaHZabVp6WlhRZ1BDQXdLU0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnblNXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEp5bGNibjFjYmx4dVpuVnVZM1JwYjI0Z2QzSnBkR1ZHYkc5aGRDQW9ZblZtTENCMllXeDFaU3dnYjJabWMyVjBMQ0JzYVhSMGJHVkZibVJwWVc0c0lHNXZRWE56WlhKMEtTQjdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJSHRjYmlBZ0lDQmphR1ZqYTBsRlJVVTNOVFFvWW5WbUxDQjJZV3gxWlN3Z2IyWm1jMlYwTENBMExDQXpMalF3TWpneU16UTJOak00TlRJNE9EWmxLek00TENBdE15NDBNREk0TWpNME5qWXpPRFV5T0RnMlpTc3pPQ2xjYmlBZ2ZWeHVJQ0JwWldWbE56VTBMbmR5YVhSbEtHSjFaaXdnZG1Gc2RXVXNJRzltWm5ObGRDd2diR2wwZEd4bFJXNWthV0Z1TENBeU15d2dOQ2xjYmlBZ2NtVjBkWEp1SUc5bVpuTmxkQ0FySURSY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzUzY21sMFpVWnNiMkYwVEVVZ1BTQm1kVzVqZEdsdmJpQjNjbWwwWlVac2IyRjBURVVnS0haaGJIVmxMQ0J2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lISmxkSFZ5YmlCM2NtbDBaVVpzYjJGMEtIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJSFJ5ZFdVc0lHNXZRWE56WlhKMEtWeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5keWFYUmxSbXh2WVhSQ1JTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFJteHZZWFJDUlNBb2RtRnNkV1VzSUc5bVpuTmxkQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdjbVYwZFhKdUlIZHlhWFJsUm14dllYUW9kR2hwY3l3Z2RtRnNkV1VzSUc5bVpuTmxkQ3dnWm1Gc2MyVXNJRzV2UVhOelpYSjBLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjNjbWwwWlVSdmRXSnNaU0FvWW5WbUxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCc2FYUjBiR1ZGYm1ScFlXNHNJRzV2UVhOelpYSjBLU0I3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUh0Y2JpQWdJQ0JqYUdWamEwbEZSVVUzTlRRb1luVm1MQ0IyWVd4MVpTd2diMlptYzJWMExDQTRMQ0F4TGpjNU56WTVNekV6TkRnMk1qTXhOVGRGS3pNd09Dd2dMVEV1TnprM05qa3pNVE0wT0RZeU16RTFOMFVyTXpBNEtWeHVJQ0I5WEc0Z0lHbGxaV1UzTlRRdWQzSnBkR1VvWW5WbUxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCc2FYUjBiR1ZGYm1ScFlXNHNJRFV5TENBNEtWeHVJQ0J5WlhSMWNtNGdiMlptYzJWMElDc2dPRnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuZHlhWFJsUkc5MVlteGxURVVnUFNCbWRXNWpkR2x2YmlCM2NtbDBaVVJ2ZFdKc1pVeEZJQ2gyWVd4MVpTd2diMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCeVpYUjFjbTRnZDNKcGRHVkViM1ZpYkdVb2RHaHBjeXdnZG1Gc2RXVXNJRzltWm5ObGRDd2dkSEoxWlN3Z2JtOUJjM05sY25RcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVkViM1ZpYkdWQ1JTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFJHOTFZbXhsUWtVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJSEpsZEhWeWJpQjNjbWwwWlVSdmRXSnNaU2gwYUdsekxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCbVlXeHpaU3dnYm05QmMzTmxjblFwWEc1OVhHNWNiaTh2SUdOdmNIa29kR0Z5WjJWMFFuVm1abVZ5TENCMFlYSm5aWFJUZEdGeWREMHdMQ0J6YjNWeVkyVlRkR0Z5ZEQwd0xDQnpiM1Z5WTJWRmJtUTlZblZtWm1WeUxteGxibWQwYUNsY2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUdOdmNIa2dLSFJoY21kbGRDd2dkR0Z5WjJWMFUzUmhjblFzSUhOMFlYSjBMQ0JsYm1RcElIdGNiaUFnYVdZZ0tDRnpkR0Z5ZENrZ2MzUmhjblFnUFNBd1hHNGdJR2xtSUNnaFpXNWtJQ1ltSUdWdVpDQWhQVDBnTUNrZ1pXNWtJRDBnZEdocGN5NXNaVzVuZEdoY2JpQWdhV1lnS0hSaGNtZGxkRk4wWVhKMElENDlJSFJoY21kbGRDNXNaVzVuZEdncElIUmhjbWRsZEZOMFlYSjBJRDBnZEdGeVoyVjBMbXhsYm1kMGFGeHVJQ0JwWmlBb0lYUmhjbWRsZEZOMFlYSjBLU0IwWVhKblpYUlRkR0Z5ZENBOUlEQmNiaUFnYVdZZ0tHVnVaQ0ErSURBZ0ppWWdaVzVrSUR3Z2MzUmhjblFwSUdWdVpDQTlJSE4wWVhKMFhHNWNiaUFnTHk4Z1EyOXdlU0F3SUdKNWRHVnpPeUIzWlNkeVpTQmtiMjVsWEc0Z0lHbG1JQ2hsYm1RZ1BUMDlJSE4wWVhKMEtTQnlaWFIxY200Z01GeHVJQ0JwWmlBb2RHRnlaMlYwTG14bGJtZDBhQ0E5UFQwZ01DQjhmQ0IwYUdsekxteGxibWQwYUNBOVBUMGdNQ2tnY21WMGRYSnVJREJjYmx4dUlDQXZMeUJHWVhSaGJDQmxjbkp2Y2lCamIyNWthWFJwYjI1elhHNGdJR2xtSUNoMFlYSm5aWFJUZEdGeWRDQThJREFwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnbmRHRnlaMlYwVTNSaGNuUWdiM1YwSUc5bUlHSnZkVzVrY3ljcFhHNGdJSDFjYmlBZ2FXWWdLSE4wWVhKMElEd2dNQ0I4ZkNCemRHRnlkQ0ErUFNCMGFHbHpMbXhsYm1kMGFDa2dkR2h5YjNjZ2JtVjNJRkpoYm1kbFJYSnliM0lvSjNOdmRYSmpaVk4wWVhKMElHOTFkQ0J2WmlCaWIzVnVaSE1uS1Z4dUlDQnBaaUFvWlc1a0lEd2dNQ2tnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0ozTnZkWEpqWlVWdVpDQnZkWFFnYjJZZ1ltOTFibVJ6SnlsY2JseHVJQ0F2THlCQmNtVWdkMlVnYjI5aVAxeHVJQ0JwWmlBb1pXNWtJRDRnZEdocGN5NXNaVzVuZEdncElHVnVaQ0E5SUhSb2FYTXViR1Z1WjNSb1hHNGdJR2xtSUNoMFlYSm5aWFF1YkdWdVozUm9JQzBnZEdGeVoyVjBVM1JoY25RZ1BDQmxibVFnTFNCemRHRnlkQ2tnZTF4dUlDQWdJR1Z1WkNBOUlIUmhjbWRsZEM1c1pXNW5kR2dnTFNCMFlYSm5aWFJUZEdGeWRDQXJJSE4wWVhKMFhHNGdJSDFjYmx4dUlDQjJZWElnYkdWdUlEMGdaVzVrSUMwZ2MzUmhjblJjYmlBZ2RtRnlJR2xjYmx4dUlDQnBaaUFvZEdocGN5QTlQVDBnZEdGeVoyVjBJQ1ltSUhOMFlYSjBJRHdnZEdGeVoyVjBVM1JoY25RZ0ppWWdkR0Z5WjJWMFUzUmhjblFnUENCbGJtUXBJSHRjYmlBZ0lDQXZMeUJrWlhOalpXNWthVzVuSUdOdmNIa2dabkp2YlNCbGJtUmNiaUFnSUNCbWIzSWdLR2tnUFNCc1pXNGdMU0F4T3lCcElENDlJREE3SUMwdGFTa2dlMXh1SUNBZ0lDQWdkR0Z5WjJWMFcya2dLeUIwWVhKblpYUlRkR0Z5ZEYwZ1BTQjBhR2x6VzJrZ0t5QnpkR0Z5ZEYxY2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCcFppQW9iR1Z1SUR3Z01UQXdNQ0I4ZkNBaFFuVm1abVZ5TGxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRcElIdGNiaUFnSUNBdkx5QmhjMk5sYm1ScGJtY2dZMjl3ZVNCbWNtOXRJSE4wWVhKMFhHNGdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0IwWVhKblpYUmJhU0FySUhSaGNtZGxkRk4wWVhKMFhTQTlJSFJvYVhOYmFTQXJJSE4wWVhKMFhWeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCVmFXNTBPRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpaWFF1WTJGc2JDaGNiaUFnSUNBZ0lIUmhjbWRsZEN4Y2JpQWdJQ0FnSUhSb2FYTXVjM1ZpWVhKeVlYa29jM1JoY25Rc0lITjBZWEowSUNzZ2JHVnVLU3hjYmlBZ0lDQWdJSFJoY21kbGRGTjBZWEowWEc0Z0lDQWdLVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR3hsYmx4dWZWeHVYRzR2THlCVmMyRm5aVHBjYmk4dklDQWdJR0oxWm1abGNpNW1hV3hzS0c1MWJXSmxjbHNzSUc5bVpuTmxkRnNzSUdWdVpGMWRLVnh1THk4Z0lDQWdZblZtWm1WeUxtWnBiR3dvWW5WbVptVnlXeXdnYjJabWMyVjBXeXdnWlc1a1hWMHBYRzR2THlBZ0lDQmlkV1ptWlhJdVptbHNiQ2h6ZEhKcGJtZGJMQ0J2Wm1aelpYUmJMQ0JsYm1SZFhWc3NJR1Z1WTI5a2FXNW5YU2xjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Wm1sc2JDQTlJR1oxYm1OMGFXOXVJR1pwYkd3Z0tIWmhiQ3dnYzNSaGNuUXNJR1Z1WkN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnTHk4Z1NHRnVaR3hsSUhOMGNtbHVaeUJqWVhObGN6cGNiaUFnYVdZZ0tIUjVjR1Z2WmlCMllXd2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCemRHRnlkQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lHVnVZMjlrYVc1bklEMGdjM1JoY25SY2JpQWdJQ0FnSUhOMFlYSjBJRDBnTUZ4dUlDQWdJQ0FnWlc1a0lEMGdkR2hwY3k1c1pXNW5kR2hjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmxibVFnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQmxibU52WkdsdVp5QTlJR1Z1WkZ4dUlDQWdJQ0FnWlc1a0lEMGdkR2hwY3k1c1pXNW5kR2hjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSFpoYkM1c1pXNW5kR2dnUFQwOUlERXBJSHRjYmlBZ0lDQWdJSFpoY2lCamIyUmxJRDBnZG1Gc0xtTm9ZWEpEYjJSbFFYUW9NQ2xjYmlBZ0lDQWdJR2xtSUNoamIyUmxJRHdnTWpVMktTQjdYRzRnSUNBZ0lDQWdJSFpoYkNBOUlHTnZaR1ZjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR1Z1WTI5a2FXNW5JQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdkSGx3Wlc5bUlHVnVZMjlrYVc1bklDRTlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblpXNWpiMlJwYm1jZ2JYVnpkQ0JpWlNCaElITjBjbWx1WnljcFhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMGVYQmxiMllnWlc1amIyUnBibWNnUFQwOUlDZHpkSEpwYm1jbklDWW1JQ0ZDZFdabVpYSXVhWE5GYm1OdlpHbHVaeWhsYm1OdlpHbHVaeWtwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxVnVhMjV2ZDI0Z1pXNWpiMlJwYm1jNklDY2dLeUJsYm1OdlpHbHVaeWxjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhaaGJDQTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0IyWVd3Z1BTQjJZV3dnSmlBeU5UVmNiaUFnZlZ4dVhHNGdJQzh2SUVsdWRtRnNhV1FnY21GdVoyVnpJR0Z5WlNCdWIzUWdjMlYwSUhSdklHRWdaR1ZtWVhWc2RDd2djMjhnWTJGdUlISmhibWRsSUdOb1pXTnJJR1ZoY214NUxseHVJQ0JwWmlBb2MzUmhjblFnUENBd0lIeDhJSFJvYVhNdWJHVnVaM1JvSUR3Z2MzUmhjblFnZkh3Z2RHaHBjeTVzWlc1bmRHZ2dQQ0JsYm1RcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1VtRnVaMlZGY25KdmNpZ25UM1YwSUc5bUlISmhibWRsSUdsdVpHVjRKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaGxibVFnUEQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwYzF4dUlDQjlYRzVjYmlBZ2MzUmhjblFnUFNCemRHRnlkQ0ErUGo0Z01GeHVJQ0JsYm1RZ1BTQmxibVFnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JSFJvYVhNdWJHVnVaM1JvSURvZ1pXNWtJRDQrUGlBd1hHNWNiaUFnYVdZZ0tDRjJZV3dwSUhaaGJDQTlJREJjYmx4dUlDQjJZWElnYVZ4dUlDQnBaaUFvZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnpkR0Z5ZERzZ2FTQThJR1Z1WkRzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0IwYUdselcybGRJRDBnZG1Gc1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmllWFJsY3lBOUlFSjFabVpsY2k1cGMwSjFabVpsY2loMllXd3BYRzRnSUNBZ0lDQS9JSFpoYkZ4dUlDQWdJQ0FnT2lCMWRHWTRWRzlDZVhSbGN5aHVaWGNnUW5WbVptVnlLSFpoYkN3Z1pXNWpiMlJwYm1jcExuUnZVM1J5YVc1bktDa3BYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHSjVkR1Z6TG14bGJtZDBhRnh1SUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCbGJtUWdMU0J6ZEdGeWREc2dLeXRwS1NCN1hHNGdJQ0FnSUNCMGFHbHpXMmtnS3lCemRHRnlkRjBnUFNCaWVYUmxjMXRwSUNVZ2JHVnVYVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBhR2x6WEc1OVhHNWNiaTh2SUVoRlRGQkZVaUJHVlU1RFZFbFBUbE5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JseHVkbUZ5SUVsT1ZrRk1TVVJmUWtGVFJUWTBYMUpGSUQwZ0wxdGVLMXhjTHpBdE9VRXRXbUV0ZWkxZlhTOW5YRzVjYm1aMWJtTjBhVzl1SUdKaGMyVTJOR05zWldGdUlDaHpkSElwSUh0Y2JpQWdMeThnVG05a1pTQnpkSEpwY0hNZ2IzVjBJR2x1ZG1Gc2FXUWdZMmhoY21GamRHVnljeUJzYVd0bElGeGNiaUJoYm1RZ1hGeDBJR1p5YjIwZ2RHaGxJSE4wY21sdVp5d2dZbUZ6WlRZMExXcHpJR1J2WlhNZ2JtOTBYRzRnSUhOMGNpQTlJSE4wY21sdVozUnlhVzBvYzNSeUtTNXlaWEJzWVdObEtFbE9Wa0ZNU1VSZlFrRlRSVFkwWDFKRkxDQW5KeWxjYmlBZ0x5OGdUbTlrWlNCamIyNTJaWEowY3lCemRISnBibWR6SUhkcGRHZ2diR1Z1WjNSb0lEd2dNaUIwYnlBbkoxeHVJQ0JwWmlBb2MzUnlMbXhsYm1kMGFDQThJRElwSUhKbGRIVnliaUFuSjF4dUlDQXZMeUJPYjJSbElHRnNiRzkzY3lCbWIzSWdibTl1TFhCaFpHUmxaQ0JpWVhObE5qUWdjM1J5YVc1bmN5QW9iV2x6YzJsdVp5QjBjbUZwYkdsdVp5QTlQVDBwTENCaVlYTmxOalF0YW5NZ1pHOWxjeUJ1YjNSY2JpQWdkMmhwYkdVZ0tITjBjaTVzWlc1bmRHZ2dKU0EwSUNFOVBTQXdLU0I3WEc0Z0lDQWdjM1J5SUQwZ2MzUnlJQ3NnSnowblhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhOMGNseHVmVnh1WEc1bWRXNWpkR2x2YmlCemRISnBibWQwY21sdElDaHpkSElwSUh0Y2JpQWdhV1lnS0hOMGNpNTBjbWx0S1NCeVpYUjFjbTRnYzNSeUxuUnlhVzBvS1Z4dUlDQnlaWFIxY200Z2MzUnlMbkpsY0d4aFkyVW9MMTVjWEhNcmZGeGNjeXNrTDJjc0lDY25LVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBiMGhsZUNBb2Jpa2dlMXh1SUNCcFppQW9iaUE4SURFMktTQnlaWFIxY200Z0p6QW5JQ3NnYmk1MGIxTjBjbWx1WnlneE5pbGNiaUFnY21WMGRYSnVJRzR1ZEc5VGRISnBibWNvTVRZcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhWMFpqaFViMEo1ZEdWeklDaHpkSEpwYm1jc0lIVnVhWFJ6S1NCN1hHNGdJSFZ1YVhSeklEMGdkVzVwZEhNZ2ZId2dTVzVtYVc1cGRIbGNiaUFnZG1GeUlHTnZaR1ZRYjJsdWRGeHVJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2MzUnlhVzVuTG14bGJtZDBhRnh1SUNCMllYSWdiR1ZoWkZOMWNuSnZaMkYwWlNBOUlHNTFiR3hjYmlBZ2RtRnlJR0o1ZEdWeklEMGdXMTFjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnWTI5a1pWQnZhVzUwSUQwZ2MzUnlhVzVuTG1Ob1lYSkRiMlJsUVhRb2FTbGNibHh1SUNBZ0lDOHZJR2x6SUhOMWNuSnZaMkYwWlNCamIyMXdiMjVsYm5SY2JpQWdJQ0JwWmlBb1kyOWtaVkJ2YVc1MElENGdNSGhFTjBaR0lDWW1JR052WkdWUWIybHVkQ0E4SURCNFJUQXdNQ2tnZTF4dUlDQWdJQ0FnTHk4Z2JHRnpkQ0JqYUdGeUlIZGhjeUJoSUd4bFlXUmNiaUFnSUNBZ0lHbG1JQ2doYkdWaFpGTjFjbkp2WjJGMFpTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCdWJ5QnNaV0ZrSUhsbGRGeHVJQ0FnSUNBZ0lDQnBaaUFvWTI5a1pWQnZhVzUwSUQ0Z01IaEVRa1pHS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnZFc1bGVIQmxZM1JsWkNCMGNtRnBiRnh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ29kVzVwZEhNZ0xUMGdNeWtnUGlBdE1Ta2dZbmwwWlhNdWNIVnphQ2d3ZUVWR0xDQXdlRUpHTENBd2VFSkVLVnh1SUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsWEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FTQXJJREVnUFQwOUlHeGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUhWdWNHRnBjbVZrSUd4bFlXUmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlETXBJRDRnTFRFcElHSjVkR1Z6TG5CMWMyZ29NSGhGUml3Z01IaENSaXdnTUhoQ1JDbGNiaUFnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdkbUZzYVdRZ2JHVmhaRnh1SUNBZ0lDQWdJQ0JzWldGa1UzVnljbTluWVhSbElEMGdZMjlrWlZCdmFXNTBYRzVjYmlBZ0lDQWdJQ0FnWTI5dWRHbHVkV1ZjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk4Z01pQnNaV0ZrY3lCcGJpQmhJSEp2ZDF4dUlDQWdJQ0FnYVdZZ0tHTnZaR1ZRYjJsdWRDQThJREI0UkVNd01Da2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlETXBJRDRnTFRFcElHSjVkR1Z6TG5CMWMyZ29NSGhGUml3Z01IaENSaXdnTUhoQ1JDbGNiaUFnSUNBZ0lDQWdiR1ZoWkZOMWNuSnZaMkYwWlNBOUlHTnZaR1ZRYjJsdWRGeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUIyWVd4cFpDQnpkWEp5YjJkaGRHVWdjR0ZwY2x4dUlDQWdJQ0FnWTI5a1pWQnZhVzUwSUQwZ0tHeGxZV1JUZFhKeWIyZGhkR1VnTFNBd2VFUTRNREFnUER3Z01UQWdmQ0JqYjJSbFVHOXBiblFnTFNBd2VFUkRNREFwSUNzZ01IZ3hNREF3TUZ4dUlDQWdJSDBnWld4elpTQnBaaUFvYkdWaFpGTjFjbkp2WjJGMFpTa2dlMXh1SUNBZ0lDQWdMeThnZG1Gc2FXUWdZbTF3SUdOb1lYSXNJR0oxZENCc1lYTjBJR05vWVhJZ2QyRnpJR0VnYkdWaFpGeHVJQ0FnSUNBZ2FXWWdLQ2gxYm1sMGN5QXRQU0F6S1NBK0lDMHhLU0JpZVhSbGN5NXdkWE5vS0RCNFJVWXNJREI0UWtZc0lEQjRRa1FwWEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1ZoWkZOMWNuSnZaMkYwWlNBOUlHNTFiR3hjYmx4dUlDQWdJQzh2SUdWdVkyOWtaU0IxZEdZNFhHNGdJQ0FnYVdZZ0tHTnZaR1ZRYjJsdWRDQThJREI0T0RBcElIdGNiaUFnSUNBZ0lHbG1JQ2dvZFc1cGRITWdMVDBnTVNrZ1BDQXdLU0JpY21WaGExeHVJQ0FnSUNBZ1lubDBaWE11Y0hWemFDaGpiMlJsVUc5cGJuUXBYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpiMlJsVUc5cGJuUWdQQ0F3ZURnd01Da2dlMXh1SUNBZ0lDQWdhV1lnS0NoMWJtbDBjeUF0UFNBeUtTQThJREFwSUdKeVpXRnJYRzRnSUNBZ0lDQmllWFJsY3k1d2RYTm9LRnh1SUNBZ0lDQWdJQ0JqYjJSbFVHOXBiblFnUGo0Z01IZzJJSHdnTUhoRE1DeGNiaUFnSUNBZ0lDQWdZMjlrWlZCdmFXNTBJQ1lnTUhnelJpQjhJREI0T0RCY2JpQWdJQ0FnSUNsY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dOdlpHVlFiMmx1ZENBOElEQjRNVEF3TURBcElIdGNiaUFnSUNBZ0lHbG1JQ2dvZFc1cGRITWdMVDBnTXlrZ1BDQXdLU0JpY21WaGExeHVJQ0FnSUNBZ1lubDBaWE11Y0hWemFDaGNiaUFnSUNBZ0lDQWdZMjlrWlZCdmFXNTBJRDQrSURCNFF5QjhJREI0UlRBc1hHNGdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQStQaUF3ZURZZ0ppQXdlRE5HSUh3Z01IZzRNQ3hjYmlBZ0lDQWdJQ0FnWTI5a1pWQnZhVzUwSUNZZ01IZ3pSaUI4SURCNE9EQmNiaUFnSUNBZ0lDbGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnZaR1ZRYjJsdWRDQThJREI0TVRFd01EQXdLU0I3WEc0Z0lDQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlEUXBJRHdnTUNrZ1luSmxZV3RjYmlBZ0lDQWdJR0o1ZEdWekxuQjFjMmdvWEc0Z0lDQWdJQ0FnSUdOdlpHVlFiMmx1ZENBK1BpQXdlREV5SUh3Z01IaEdNQ3hjYmlBZ0lDQWdJQ0FnWTI5a1pWQnZhVzUwSUQ0K0lEQjRReUFtSURCNE0wWWdmQ0F3ZURnd0xGeHVJQ0FnSUNBZ0lDQmpiMlJsVUc5cGJuUWdQajRnTUhnMklDWWdNSGd6UmlCOElEQjRPREFzWEc0Z0lDQWdJQ0FnSUdOdlpHVlFiMmx1ZENBbUlEQjRNMFlnZkNBd2VEZ3dYRzRnSUNBZ0lDQXBYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduU1c1MllXeHBaQ0JqYjJSbElIQnZhVzUwSnlsY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWW5sMFpYTmNibjFjYmx4dVpuVnVZM1JwYjI0Z1lYTmphV2xVYjBKNWRHVnpJQ2h6ZEhJcElIdGNiaUFnZG1GeUlHSjVkR1ZCY25KaGVTQTlJRnRkWEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djM1J5TG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0x5OGdUbTlrWlNkeklHTnZaR1VnYzJWbGJYTWdkRzhnWW1VZ1pHOXBibWNnZEdocGN5QmhibVFnYm05MElDWWdNSGczUmk0dVhHNGdJQ0FnWW5sMFpVRnljbUY1TG5CMWMyZ29jM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dKaUF3ZUVaR0tWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCaWVYUmxRWEp5WVhsY2JuMWNibHh1Wm5WdVkzUnBiMjRnZFhSbU1UWnNaVlJ2UW5sMFpYTWdLSE4wY2l3Z2RXNXBkSE1wSUh0Y2JpQWdkbUZ5SUdNc0lHaHBMQ0JzYjF4dUlDQjJZWElnWW5sMFpVRnljbUY1SUQwZ1cxMWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemRISXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlESXBJRHdnTUNrZ1luSmxZV3RjYmx4dUlDQWdJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1Z4dUlDQWdJR2hwSUQwZ1l5QStQaUE0WEc0Z0lDQWdiRzhnUFNCaklDVWdNalUyWEc0Z0lDQWdZbmwwWlVGeWNtRjVMbkIxYzJnb2JHOHBYRzRnSUNBZ1lubDBaVUZ5Y21GNUxuQjFjMmdvYUdrcFhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1lubDBaVUZ5Y21GNVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdKaGMyVTJORlJ2UW5sMFpYTWdLSE4wY2lrZ2UxeHVJQ0J5WlhSMWNtNGdZbUZ6WlRZMExuUnZRbmwwWlVGeWNtRjVLR0poYzJVMk5HTnNaV0Z1S0hOMGNpa3BYRzU5WEc1Y2JtWjFibU4wYVc5dUlHSnNhWFJDZFdabVpYSWdLSE55WXl3Z1pITjBMQ0J2Wm1aelpYUXNJR3hsYm1kMGFDa2dlMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdhV1lnS0NocElDc2diMlptYzJWMElENDlJR1J6ZEM1c1pXNW5kR2dwSUh4OElDaHBJRDQ5SUhOeVl5NXNaVzVuZEdncEtTQmljbVZoYTF4dUlDQWdJR1J6ZEZ0cElDc2diMlptYzJWMFhTQTlJSE55WTF0cFhWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdsemJtRnVJQ2gyWVd3cElIdGNiaUFnY21WMGRYSnVJSFpoYkNBaFBUMGdkbUZzSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdibTh0YzJWc1ppMWpiMjF3WVhKbFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9pbmRleC5qc1xcXCIpLlRyYW5zZm9ybVxcbnZhciBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1xcXCIpLlN0cmluZ0RlY29kZXJcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gQ2lwaGVyQmFzZSAoaGFzaE1vZGUpIHtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXFxuICB0aGlzLmhhc2hNb2RlID0gdHlwZW9mIGhhc2hNb2RlID09PSAnc3RyaW5nJ1xcbiAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcXG4gICAgdGhpc1toYXNoTW9kZV0gPSB0aGlzLl9maW5hbE9yRGlnZXN0XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLmZpbmFsID0gdGhpcy5fZmluYWxPckRpZ2VzdFxcbiAgfVxcbiAgaWYgKHRoaXMuX2ZpbmFsKSB7XFxuICAgIHRoaXMuX19maW5hbCA9IHRoaXMuX2ZpbmFsXFxuICAgIHRoaXMuX2ZpbmFsID0gbnVsbFxcbiAgfVxcbiAgdGhpcy5fZGVjb2RlciA9IG51bGxcXG4gIHRoaXMuX2VuY29kaW5nID0gbnVsbFxcbn1cXG5pbmhlcml0cyhDaXBoZXJCYXNlLCBUcmFuc2Zvcm0pXFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEsIGlucHV0RW5jLCBvdXRwdXRFbmMpIHtcXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcXG4gICAgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGlucHV0RW5jKVxcbiAgfVxcblxcbiAgdmFyIG91dERhdGEgPSB0aGlzLl91cGRhdGUoZGF0YSlcXG4gIGlmICh0aGlzLmhhc2hNb2RlKSByZXR1cm4gdGhpc1xcblxcbiAgaWYgKG91dHB1dEVuYykge1xcbiAgICBvdXREYXRhID0gdGhpcy5fdG9TdHJpbmcob3V0RGF0YSwgb3V0cHV0RW5jKVxcbiAgfVxcblxcbiAgcmV0dXJuIG91dERhdGFcXG59XFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmcgPSBmdW5jdGlvbiAoKSB7fVxcbkNpcGhlckJhc2UucHJvdG90eXBlLmdldEF1dGhUYWcgPSBmdW5jdGlvbiAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ3RyeWluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxcbn1cXG5cXG5DaXBoZXJCYXNlLnByb3RvdHlwZS5zZXRBdXRoVGFnID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCd0cnlpbmcgdG8gc2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlJylcXG59XFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuc2V0QUFEID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCd0cnlpbmcgdG8gc2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXFxufVxcblxcbkNpcGhlckJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZGF0YSwgXywgbmV4dCkge1xcbiAgdmFyIGVyclxcbiAgdHJ5IHtcXG4gICAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcXG4gICAgICB0aGlzLl91cGRhdGUoZGF0YSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLnB1c2godGhpcy5fdXBkYXRlKGRhdGEpKVxcbiAgICB9XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIGVyciA9IGVcXG4gIH0gZmluYWxseSB7XFxuICAgIG5leHQoZXJyKVxcbiAgfVxcbn1cXG5DaXBoZXJCYXNlLnByb3RvdHlwZS5fZmx1c2ggPSBmdW5jdGlvbiAoZG9uZSkge1xcbiAgdmFyIGVyclxcbiAgdHJ5IHtcXG4gICAgdGhpcy5wdXNoKHRoaXMuX19maW5hbCgpKVxcbiAgfSBjYXRjaCAoZSkge1xcbiAgICBlcnIgPSBlXFxuICB9XFxuXFxuICBkb25lKGVycilcXG59XFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZpbmFsT3JEaWdlc3QgPSBmdW5jdGlvbiAob3V0cHV0RW5jKSB7XFxuICB2YXIgb3V0RGF0YSA9IHRoaXMuX19maW5hbCgpIHx8IEJ1ZmZlci5hbGxvYygwKVxcbiAgaWYgKG91dHB1dEVuYykge1xcbiAgICBvdXREYXRhID0gdGhpcy5fdG9TdHJpbmcob3V0RGF0YSwgb3V0cHV0RW5jLCB0cnVlKVxcbiAgfVxcbiAgcmV0dXJuIG91dERhdGFcXG59XFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX3RvU3RyaW5nID0gZnVuY3Rpb24gKHZhbHVlLCBlbmMsIGZpbikge1xcbiAgaWYgKCF0aGlzLl9kZWNvZGVyKSB7XFxuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihlbmMpXFxuICAgIHRoaXMuX2VuY29kaW5nID0gZW5jXFxuICB9XFxuXFxuICBpZiAodGhpcy5fZW5jb2RpbmcgIT09IGVuYykgdGhyb3cgbmV3IEVycm9yKCdjYW5cXFxcJ3Qgc3dpdGNoIGVuY29kaW5ncycpXFxuXFxuICB2YXIgb3V0ID0gdGhpcy5fZGVjb2Rlci53cml0ZSh2YWx1ZSlcXG4gIGlmIChmaW4pIHtcXG4gICAgb3V0ICs9IHRoaXMuX2RlY29kZXIuZW5kKClcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBDaXBoZXJCYXNlXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYVhCb1pYSXRZbUZ6WlM5cGJtUmxlQzVxY3o5a09XTXhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVOb1F5eHZRa0ZCYjBJc2JVSkJRVThzUTBGQlF5d3lSVUZCWjBJN1FVRkROVU1zWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZxUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJOcGNHaGxjaTFpWVhObEwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzUyWVhJZ1ZISmhibk5tYjNKdElEMGdjbVZ4ZFdseVpTZ25jM1J5WldGdEp5a3VWSEpoYm5ObWIzSnRYRzUyWVhJZ1UzUnlhVzVuUkdWamIyUmxjaUE5SUhKbGNYVnBjbVVvSjNOMGNtbHVaMTlrWldOdlpHVnlKeWt1VTNSeWFXNW5SR1ZqYjJSbGNseHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVYRzVtZFc1amRHbHZiaUJEYVhCb1pYSkNZWE5sSUNob1lYTm9UVzlrWlNrZ2UxeHVJQ0JVY21GdWMyWnZjbTB1WTJGc2JDaDBhR2x6S1Z4dUlDQjBhR2x6TG1oaGMyaE5iMlJsSUQwZ2RIbHdaVzltSUdoaGMyaE5iMlJsSUQwOVBTQW5jM1J5YVc1bkoxeHVJQ0JwWmlBb2RHaHBjeTVvWVhOb1RXOWtaU2tnZTF4dUlDQWdJSFJvYVhOYmFHRnphRTF2WkdWZElEMGdkR2hwY3k1ZlptbHVZV3hQY2tScFoyVnpkRnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJvYVhNdVptbHVZV3dnUFNCMGFHbHpMbDltYVc1aGJFOXlSR2xuWlhOMFhHNGdJSDFjYmlBZ2FXWWdLSFJvYVhNdVgyWnBibUZzS1NCN1hHNGdJQ0FnZEdocGN5NWZYMlpwYm1Gc0lEMGdkR2hwY3k1ZlptbHVZV3hjYmlBZ0lDQjBhR2x6TGw5bWFXNWhiQ0E5SUc1MWJHeGNiaUFnZlZ4dUlDQjBhR2x6TGw5a1pXTnZaR1Z5SUQwZ2JuVnNiRnh1SUNCMGFHbHpMbDlsYm1OdlpHbHVaeUE5SUc1MWJHeGNibjFjYm1sdWFHVnlhWFJ6S0VOcGNHaGxja0poYzJVc0lGUnlZVzV6Wm05eWJTbGNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdWRYQmtZWFJsSUQwZ1puVnVZM1JwYjI0Z0tHUmhkR0VzSUdsdWNIVjBSVzVqTENCdmRYUndkWFJGYm1NcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCa1lYUmhJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUdSaGRHRWdQU0JDZFdabVpYSXVabkp2YlNoa1lYUmhMQ0JwYm5CMWRFVnVZeWxjYmlBZ2ZWeHVYRzRnSUhaaGNpQnZkWFJFWVhSaElEMGdkR2hwY3k1ZmRYQmtZWFJsS0dSaGRHRXBYRzRnSUdsbUlDaDBhR2x6TG1oaGMyaE5iMlJsS1NCeVpYUjFjbTRnZEdocGMxeHVYRzRnSUdsbUlDaHZkWFJ3ZFhSRmJtTXBJSHRjYmlBZ0lDQnZkWFJFWVhSaElEMGdkR2hwY3k1ZmRHOVRkSEpwYm1jb2IzVjBSR0YwWVN3Z2IzVjBjSFYwUlc1aktWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHOTFkRVJoZEdGY2JuMWNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdWMyVjBRWFYwYjFCaFpHUnBibWNnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVnh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdVoyVjBRWFYwYUZSaFp5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZDBjbmxwYm1jZ2RHOGdaMlYwSUdGMWRHZ2dkR0ZuSUdsdUlIVnVjM1Z3Y0c5eWRHVmtJSE4wWVhSbEp5bGNibjFjYmx4dVEybHdhR1Z5UW1GelpTNXdjbTkwYjNSNWNHVXVjMlYwUVhWMGFGUmhaeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QwY25scGJtY2dkRzhnYzJWMElHRjFkR2dnZEdGbklHbHVJSFZ1YzNWd2NHOXlkR1ZrSUhOMFlYUmxKeWxjYm4xY2JseHVRMmx3YUdWeVFtRnpaUzV3Y205MGIzUjVjR1V1YzJWMFFVRkVJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1J5ZVdsdVp5QjBieUJ6WlhRZ1lXRmtJR2x1SUhWdWMzVndjRzl5ZEdWa0lITjBZWFJsSnlsY2JuMWNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdVgzUnlZVzV6Wm05eWJTQTlJR1oxYm1OMGFXOXVJQ2hrWVhSaExDQmZMQ0J1WlhoMEtTQjdYRzRnSUhaaGNpQmxjbkpjYmlBZ2RISjVJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NW9ZWE5vVFc5a1pTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmRYQmtZWFJsS0dSaGRHRXBYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVjSFZ6YUNoMGFHbHpMbDkxY0dSaGRHVW9aR0YwWVNrcFhHNGdJQ0FnZlZ4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdaWEp5SUQwZ1pWeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJRzVsZUhRb1pYSnlLVnh1SUNCOVhHNTlYRzVEYVhCb1pYSkNZWE5sTG5CeWIzUnZkSGx3WlM1ZlpteDFjMmdnUFNCbWRXNWpkR2x2YmlBb1pHOXVaU2tnZTF4dUlDQjJZWElnWlhKeVhHNGdJSFJ5ZVNCN1hHNGdJQ0FnZEdocGN5NXdkWE5vS0hSb2FYTXVYMTltYVc1aGJDZ3BLVnh1SUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ1pYSnlJRDBnWlZ4dUlDQjlYRzVjYmlBZ1pHOXVaU2hsY25JcFhHNTlYRzVEYVhCb1pYSkNZWE5sTG5CeWIzUnZkSGx3WlM1ZlptbHVZV3hQY2tScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUNodmRYUndkWFJGYm1NcElIdGNiaUFnZG1GeUlHOTFkRVJoZEdFZ1BTQjBhR2x6TGw5ZlptbHVZV3dvS1NCOGZDQkNkV1ptWlhJdVlXeHNiMk1vTUNsY2JpQWdhV1lnS0c5MWRIQjFkRVZ1WXlrZ2UxeHVJQ0FnSUc5MWRFUmhkR0VnUFNCMGFHbHpMbDkwYjFOMGNtbHVaeWh2ZFhSRVlYUmhMQ0J2ZFhSd2RYUkZibU1zSUhSeWRXVXBYRzRnSUgxY2JpQWdjbVYwZFhKdUlHOTFkRVJoZEdGY2JuMWNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdVgzUnZVM1J5YVc1bklEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmxibU1zSUdacGJpa2dlMXh1SUNCcFppQW9JWFJvYVhNdVgyUmxZMjlrWlhJcElIdGNiaUFnSUNCMGFHbHpMbDlrWldOdlpHVnlJRDBnYm1WM0lGTjBjbWx1WjBSbFkyOWtaWElvWlc1aktWeHVJQ0FnSUhSb2FYTXVYMlZ1WTI5a2FXNW5JRDBnWlc1alhHNGdJSDFjYmx4dUlDQnBaaUFvZEdocGN5NWZaVzVqYjJScGJtY2dJVDA5SUdWdVl5a2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGpZVzVjWENkMElITjNhWFJqYUNCbGJtTnZaR2x1WjNNbktWeHVYRzRnSUhaaGNpQnZkWFFnUFNCMGFHbHpMbDlrWldOdlpHVnlMbmR5YVhSbEtIWmhiSFZsS1Z4dUlDQnBaaUFvWm1sdUtTQjdYRzRnSUNBZ2IzVjBJQ3M5SUhSb2FYTXVYMlJsWTI5a1pYSXVaVzVrS0NsY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdmRYUmNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCRGFYQm9aWEpDWVhObFhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvY29udmVyc2lvbnMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2NvbnZlcnNpb25zLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIE1JVCBsaWNlbnNlICovXFxudmFyIGNzc0tleXdvcmRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29sb3ItbmFtZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3ItbmFtZS9pbmRleC5qc1xcXCIpO1xcblxcbi8vIE5PVEU6IGNvbnZlcnNpb25zIHNob3VsZCBvbmx5IHJldHVybiBwcmltaXRpdmUgdmFsdWVzIChpLmUuIGFycmF5cywgb3JcXG4vLyAgICAgICB2YWx1ZXMgdGhhdCBnaXZlIGNvcnJlY3QgYHR5cGVvZmAgcmVzdWx0cykuXFxuLy8gICAgICAgZG8gbm90IHVzZSBib3ggdmFsdWVzIHR5cGVzIChpLmUuIE51bWJlcigpLCBTdHJpbmcoKSwgZXRjLilcXG5cXG52YXIgcmV2ZXJzZUtleXdvcmRzID0ge307XFxuZm9yICh2YXIga2V5IGluIGNzc0tleXdvcmRzKSB7XFxuXFx0aWYgKGNzc0tleXdvcmRzLmhhc093blByb3BlcnR5KGtleSkpIHtcXG5cXHRcXHRyZXZlcnNlS2V5d29yZHNbY3NzS2V5d29yZHNba2V5XV0gPSBrZXk7XFxuXFx0fVxcbn1cXG5cXG52YXIgY29udmVydCA9IG1vZHVsZS5leHBvcnRzID0ge1xcblxcdHJnYjoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdyZ2InfSxcXG5cXHRoc2w6IHtjaGFubmVsczogMywgbGFiZWxzOiAnaHNsJ30sXFxuXFx0aHN2OiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ2hzdid9LFxcblxcdGh3Yjoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdod2InfSxcXG5cXHRjbXlrOiB7Y2hhbm5lbHM6IDQsIGxhYmVsczogJ2NteWsnfSxcXG5cXHR4eXo6IHtjaGFubmVsczogMywgbGFiZWxzOiAneHl6J30sXFxuXFx0bGFiOiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ2xhYid9LFxcblxcdGxjaDoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdsY2gnfSxcXG5cXHRoZXg6IHtjaGFubmVsczogMSwgbGFiZWxzOiBbJ2hleCddfSxcXG5cXHRrZXl3b3JkOiB7Y2hhbm5lbHM6IDEsIGxhYmVsczogWydrZXl3b3JkJ119LFxcblxcdGFuc2kxNjoge2NoYW5uZWxzOiAxLCBsYWJlbHM6IFsnYW5zaTE2J119LFxcblxcdGFuc2kyNTY6IHtjaGFubmVsczogMSwgbGFiZWxzOiBbJ2Fuc2kyNTYnXX0sXFxuXFx0aGNnOiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogWydoJywgJ2MnLCAnZyddfSxcXG5cXHRhcHBsZToge2NoYW5uZWxzOiAzLCBsYWJlbHM6IFsncjE2JywgJ2cxNicsICdiMTYnXX0sXFxuXFx0Z3JheToge2NoYW5uZWxzOiAxLCBsYWJlbHM6IFsnZ3JheSddfVxcbn07XFxuXFxuLy8gaGlkZSAuY2hhbm5lbHMgYW5kIC5sYWJlbHMgcHJvcGVydGllc1xcbmZvciAodmFyIG1vZGVsIGluIGNvbnZlcnQpIHtcXG5cXHRpZiAoY29udmVydC5oYXNPd25Qcm9wZXJ0eShtb2RlbCkpIHtcXG5cXHRcXHRpZiAoISgnY2hhbm5lbHMnIGluIGNvbnZlcnRbbW9kZWxdKSkge1xcblxcdFxcdFxcdHRocm93IG5ldyBFcnJvcignbWlzc2luZyBjaGFubmVscyBwcm9wZXJ0eTogJyArIG1vZGVsKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKCEoJ2xhYmVscycgaW4gY29udmVydFttb2RlbF0pKSB7XFxuXFx0XFx0XFx0dGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIGNoYW5uZWwgbGFiZWxzIHByb3BlcnR5OiAnICsgbW9kZWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoY29udmVydFttb2RlbF0ubGFiZWxzLmxlbmd0aCAhPT0gY29udmVydFttb2RlbF0uY2hhbm5lbHMpIHtcXG5cXHRcXHRcXHR0aHJvdyBuZXcgRXJyb3IoJ2NoYW5uZWwgYW5kIGxhYmVsIGNvdW50cyBtaXNtYXRjaDogJyArIG1vZGVsKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0dmFyIGNoYW5uZWxzID0gY29udmVydFttb2RlbF0uY2hhbm5lbHM7XFxuXFx0XFx0dmFyIGxhYmVscyA9IGNvbnZlcnRbbW9kZWxdLmxhYmVscztcXG5cXHRcXHRkZWxldGUgY29udmVydFttb2RlbF0uY2hhbm5lbHM7XFxuXFx0XFx0ZGVsZXRlIGNvbnZlcnRbbW9kZWxdLmxhYmVscztcXG5cXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFttb2RlbF0sICdjaGFubmVscycsIHt2YWx1ZTogY2hhbm5lbHN9KTtcXG5cXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFttb2RlbF0sICdsYWJlbHMnLCB7dmFsdWU6IGxhYmVsc30pO1xcblxcdH1cXG59XFxuXFxuY29udmVydC5yZ2IuaHNsID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciBtaW4gPSBNYXRoLm1pbihyLCBnLCBiKTtcXG5cXHR2YXIgbWF4ID0gTWF0aC5tYXgociwgZywgYik7XFxuXFx0dmFyIGRlbHRhID0gbWF4IC0gbWluO1xcblxcdHZhciBoO1xcblxcdHZhciBzO1xcblxcdHZhciBsO1xcblxcblxcdGlmIChtYXggPT09IG1pbikge1xcblxcdFxcdGggPSAwO1xcblxcdH0gZWxzZSBpZiAociA9PT0gbWF4KSB7XFxuXFx0XFx0aCA9IChnIC0gYikgLyBkZWx0YTtcXG5cXHR9IGVsc2UgaWYgKGcgPT09IG1heCkge1xcblxcdFxcdGggPSAyICsgKGIgLSByKSAvIGRlbHRhO1xcblxcdH0gZWxzZSBpZiAoYiA9PT0gbWF4KSB7XFxuXFx0XFx0aCA9IDQgKyAociAtIGcpIC8gZGVsdGE7XFxuXFx0fVxcblxcblxcdGggPSBNYXRoLm1pbihoICogNjAsIDM2MCk7XFxuXFxuXFx0aWYgKGggPCAwKSB7XFxuXFx0XFx0aCArPSAzNjA7XFxuXFx0fVxcblxcblxcdGwgPSAobWluICsgbWF4KSAvIDI7XFxuXFxuXFx0aWYgKG1heCA9PT0gbWluKSB7XFxuXFx0XFx0cyA9IDA7XFxuXFx0fSBlbHNlIGlmIChsIDw9IDAuNSkge1xcblxcdFxcdHMgPSBkZWx0YSAvIChtYXggKyBtaW4pO1xcblxcdH0gZWxzZSB7XFxuXFx0XFx0cyA9IGRlbHRhIC8gKDIgLSBtYXggLSBtaW4pO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2gsIHMgKiAxMDAsIGwgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5yZ2IuaHN2ID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByZGlmO1xcblxcdHZhciBnZGlmO1xcblxcdHZhciBiZGlmO1xcblxcdHZhciBoO1xcblxcdHZhciBzO1xcblxcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciB2ID0gTWF0aC5tYXgociwgZywgYik7XFxuXFx0dmFyIGRpZmYgPSB2IC0gTWF0aC5taW4ociwgZywgYik7XFxuXFx0dmFyIGRpZmZjID0gZnVuY3Rpb24gKGMpIHtcXG5cXHRcXHRyZXR1cm4gKHYgLSBjKSAvIDYgLyBkaWZmICsgMSAvIDI7XFxuXFx0fTtcXG5cXG5cXHRpZiAoZGlmZiA9PT0gMCkge1xcblxcdFxcdGggPSBzID0gMDtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdHMgPSBkaWZmIC8gdjtcXG5cXHRcXHRyZGlmID0gZGlmZmMocik7XFxuXFx0XFx0Z2RpZiA9IGRpZmZjKGcpO1xcblxcdFxcdGJkaWYgPSBkaWZmYyhiKTtcXG5cXG5cXHRcXHRpZiAociA9PT0gdikge1xcblxcdFxcdFxcdGggPSBiZGlmIC0gZ2RpZjtcXG5cXHRcXHR9IGVsc2UgaWYgKGcgPT09IHYpIHtcXG5cXHRcXHRcXHRoID0gKDEgLyAzKSArIHJkaWYgLSBiZGlmO1xcblxcdFxcdH0gZWxzZSBpZiAoYiA9PT0gdikge1xcblxcdFxcdFxcdGggPSAoMiAvIDMpICsgZ2RpZiAtIHJkaWY7XFxuXFx0XFx0fVxcblxcdFxcdGlmIChoIDwgMCkge1xcblxcdFxcdFxcdGggKz0gMTtcXG5cXHRcXHR9IGVsc2UgaWYgKGggPiAxKSB7XFxuXFx0XFx0XFx0aCAtPSAxO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0cmV0dXJuIFtcXG5cXHRcXHRoICogMzYwLFxcblxcdFxcdHMgKiAxMDAsXFxuXFx0XFx0diAqIDEwMFxcblxcdF07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5od2IgPSBmdW5jdGlvbiAocmdiKSB7XFxuXFx0dmFyIHIgPSByZ2JbMF07XFxuXFx0dmFyIGcgPSByZ2JbMV07XFxuXFx0dmFyIGIgPSByZ2JbMl07XFxuXFx0dmFyIGggPSBjb252ZXJ0LnJnYi5oc2wocmdiKVswXTtcXG5cXHR2YXIgdyA9IDEgLyAyNTUgKiBNYXRoLm1pbihyLCBNYXRoLm1pbihnLCBiKSk7XFxuXFxuXFx0YiA9IDEgLSAxIC8gMjU1ICogTWF0aC5tYXgociwgTWF0aC5tYXgoZywgYikpO1xcblxcblxcdHJldHVybiBbaCwgdyAqIDEwMCwgYiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5jbXlrID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciBjO1xcblxcdHZhciBtO1xcblxcdHZhciB5O1xcblxcdHZhciBrO1xcblxcblxcdGsgPSBNYXRoLm1pbigxIC0gciwgMSAtIGcsIDEgLSBiKTtcXG5cXHRjID0gKDEgLSByIC0gaykgLyAoMSAtIGspIHx8IDA7XFxuXFx0bSA9ICgxIC0gZyAtIGspIC8gKDEgLSBrKSB8fCAwO1xcblxcdHkgPSAoMSAtIGIgLSBrKSAvICgxIC0gaykgfHwgMDtcXG5cXG5cXHRyZXR1cm4gW2MgKiAxMDAsIG0gKiAxMDAsIHkgKiAxMDAsIGsgKiAxMDBdO1xcbn07XFxuXFxuLyoqXFxuICogU2VlIGh0dHBzOi8vZW4ubS53aWtpcGVkaWEub3JnL3dpa2kvRXVjbGlkZWFuX2Rpc3RhbmNlI1NxdWFyZWRfRXVjbGlkZWFuX2Rpc3RhbmNlXFxuICogKi9cXG5mdW5jdGlvbiBjb21wYXJhdGl2ZURpc3RhbmNlKHgsIHkpIHtcXG5cXHRyZXR1cm4gKFxcblxcdFxcdE1hdGgucG93KHhbMF0gLSB5WzBdLCAyKSArXFxuXFx0XFx0TWF0aC5wb3coeFsxXSAtIHlbMV0sIDIpICtcXG5cXHRcXHRNYXRoLnBvdyh4WzJdIC0geVsyXSwgMilcXG5cXHQpO1xcbn1cXG5cXG5jb252ZXJ0LnJnYi5rZXl3b3JkID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByZXZlcnNlZCA9IHJldmVyc2VLZXl3b3Jkc1tyZ2JdO1xcblxcdGlmIChyZXZlcnNlZCkge1xcblxcdFxcdHJldHVybiByZXZlcnNlZDtcXG5cXHR9XFxuXFxuXFx0dmFyIGN1cnJlbnRDbG9zZXN0RGlzdGFuY2UgPSBJbmZpbml0eTtcXG5cXHR2YXIgY3VycmVudENsb3Nlc3RLZXl3b3JkO1xcblxcblxcdGZvciAodmFyIGtleXdvcmQgaW4gY3NzS2V5d29yZHMpIHtcXG5cXHRcXHRpZiAoY3NzS2V5d29yZHMuaGFzT3duUHJvcGVydHkoa2V5d29yZCkpIHtcXG5cXHRcXHRcXHR2YXIgdmFsdWUgPSBjc3NLZXl3b3Jkc1trZXl3b3JkXTtcXG5cXG5cXHRcXHRcXHQvLyBDb21wdXRlIGNvbXBhcmF0aXZlIGRpc3RhbmNlXFxuXFx0XFx0XFx0dmFyIGRpc3RhbmNlID0gY29tcGFyYXRpdmVEaXN0YW5jZShyZ2IsIHZhbHVlKTtcXG5cXG5cXHRcXHRcXHQvLyBDaGVjayBpZiBpdHMgbGVzcywgaWYgc28gc2V0IGFzIGNsb3Nlc3RcXG5cXHRcXHRcXHRpZiAoZGlzdGFuY2UgPCBjdXJyZW50Q2xvc2VzdERpc3RhbmNlKSB7XFxuXFx0XFx0XFx0XFx0Y3VycmVudENsb3Nlc3REaXN0YW5jZSA9IGRpc3RhbmNlO1xcblxcdFxcdFxcdFxcdGN1cnJlbnRDbG9zZXN0S2V5d29yZCA9IGtleXdvcmQ7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0cmV0dXJuIGN1cnJlbnRDbG9zZXN0S2V5d29yZDtcXG59O1xcblxcbmNvbnZlcnQua2V5d29yZC5yZ2IgPSBmdW5jdGlvbiAoa2V5d29yZCkge1xcblxcdHJldHVybiBjc3NLZXl3b3Jkc1trZXl3b3JkXTtcXG59O1xcblxcbmNvbnZlcnQucmdiLnh5eiA9IGZ1bmN0aW9uIChyZ2IpIHtcXG5cXHR2YXIgciA9IHJnYlswXSAvIDI1NTtcXG5cXHR2YXIgZyA9IHJnYlsxXSAvIDI1NTtcXG5cXHR2YXIgYiA9IHJnYlsyXSAvIDI1NTtcXG5cXG5cXHQvLyBhc3N1bWUgc1JHQlxcblxcdHIgPSByID4gMC4wNDA0NSA/IE1hdGgucG93KCgociArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChyIC8gMTIuOTIpO1xcblxcdGcgPSBnID4gMC4wNDA0NSA/IE1hdGgucG93KCgoZyArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChnIC8gMTIuOTIpO1xcblxcdGIgPSBiID4gMC4wNDA0NSA/IE1hdGgucG93KCgoYiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChiIC8gMTIuOTIpO1xcblxcblxcdHZhciB4ID0gKHIgKiAwLjQxMjQpICsgKGcgKiAwLjM1NzYpICsgKGIgKiAwLjE4MDUpO1xcblxcdHZhciB5ID0gKHIgKiAwLjIxMjYpICsgKGcgKiAwLjcxNTIpICsgKGIgKiAwLjA3MjIpO1xcblxcdHZhciB6ID0gKHIgKiAwLjAxOTMpICsgKGcgKiAwLjExOTIpICsgKGIgKiAwLjk1MDUpO1xcblxcblxcdHJldHVybiBbeCAqIDEwMCwgeSAqIDEwMCwgeiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5sYWIgPSBmdW5jdGlvbiAocmdiKSB7XFxuXFx0dmFyIHh5eiA9IGNvbnZlcnQucmdiLnh5eihyZ2IpO1xcblxcdHZhciB4ID0geHl6WzBdO1xcblxcdHZhciB5ID0geHl6WzFdO1xcblxcdHZhciB6ID0geHl6WzJdO1xcblxcdHZhciBsO1xcblxcdHZhciBhO1xcblxcdHZhciBiO1xcblxcblxcdHggLz0gOTUuMDQ3O1xcblxcdHkgLz0gMTAwO1xcblxcdHogLz0gMTA4Ljg4MztcXG5cXG5cXHR4ID0geCA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeCwgMSAvIDMpIDogKDcuNzg3ICogeCkgKyAoMTYgLyAxMTYpO1xcblxcdHkgPSB5ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh5LCAxIC8gMykgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7XFxuXFx0eiA9IHogPiAwLjAwODg1NiA/IE1hdGgucG93KHosIDEgLyAzKSA6ICg3Ljc4NyAqIHopICsgKDE2IC8gMTE2KTtcXG5cXG5cXHRsID0gKDExNiAqIHkpIC0gMTY7XFxuXFx0YSA9IDUwMCAqICh4IC0geSk7XFxuXFx0YiA9IDIwMCAqICh5IC0geik7XFxuXFxuXFx0cmV0dXJuIFtsLCBhLCBiXTtcXG59O1xcblxcbmNvbnZlcnQuaHNsLnJnYiA9IGZ1bmN0aW9uIChoc2wpIHtcXG5cXHR2YXIgaCA9IGhzbFswXSAvIDM2MDtcXG5cXHR2YXIgcyA9IGhzbFsxXSAvIDEwMDtcXG5cXHR2YXIgbCA9IGhzbFsyXSAvIDEwMDtcXG5cXHR2YXIgdDE7XFxuXFx0dmFyIHQyO1xcblxcdHZhciB0MztcXG5cXHR2YXIgcmdiO1xcblxcdHZhciB2YWw7XFxuXFxuXFx0aWYgKHMgPT09IDApIHtcXG5cXHRcXHR2YWwgPSBsICogMjU1O1xcblxcdFxcdHJldHVybiBbdmFsLCB2YWwsIHZhbF07XFxuXFx0fVxcblxcblxcdGlmIChsIDwgMC41KSB7XFxuXFx0XFx0dDIgPSBsICogKDEgKyBzKTtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdHQyID0gbCArIHMgLSBsICogcztcXG5cXHR9XFxuXFxuXFx0dDEgPSAyICogbCAtIHQyO1xcblxcblxcdHJnYiA9IFswLCAwLCAwXTtcXG5cXHRmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdHQzID0gaCArIDEgLyAzICogLShpIC0gMSk7XFxuXFx0XFx0aWYgKHQzIDwgMCkge1xcblxcdFxcdFxcdHQzKys7XFxuXFx0XFx0fVxcblxcdFxcdGlmICh0MyA+IDEpIHtcXG5cXHRcXHRcXHR0My0tO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoNiAqIHQzIDwgMSkge1xcblxcdFxcdFxcdHZhbCA9IHQxICsgKHQyIC0gdDEpICogNiAqIHQzO1xcblxcdFxcdH0gZWxzZSBpZiAoMiAqIHQzIDwgMSkge1xcblxcdFxcdFxcdHZhbCA9IHQyO1xcblxcdFxcdH0gZWxzZSBpZiAoMyAqIHQzIDwgMikge1xcblxcdFxcdFxcdHZhbCA9IHQxICsgKHQyIC0gdDEpICogKDIgLyAzIC0gdDMpICogNjtcXG5cXHRcXHR9IGVsc2Uge1xcblxcdFxcdFxcdHZhbCA9IHQxO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZ2JbaV0gPSB2YWwgKiAyNTU7XFxuXFx0fVxcblxcblxcdHJldHVybiByZ2I7XFxufTtcXG5cXG5jb252ZXJ0LmhzbC5oc3YgPSBmdW5jdGlvbiAoaHNsKSB7XFxuXFx0dmFyIGggPSBoc2xbMF07XFxuXFx0dmFyIHMgPSBoc2xbMV0gLyAxMDA7XFxuXFx0dmFyIGwgPSBoc2xbMl0gLyAxMDA7XFxuXFx0dmFyIHNtaW4gPSBzO1xcblxcdHZhciBsbWluID0gTWF0aC5tYXgobCwgMC4wMSk7XFxuXFx0dmFyIHN2O1xcblxcdHZhciB2O1xcblxcblxcdGwgKj0gMjtcXG5cXHRzICo9IChsIDw9IDEpID8gbCA6IDIgLSBsO1xcblxcdHNtaW4gKj0gbG1pbiA8PSAxID8gbG1pbiA6IDIgLSBsbWluO1xcblxcdHYgPSAobCArIHMpIC8gMjtcXG5cXHRzdiA9IGwgPT09IDAgPyAoMiAqIHNtaW4pIC8gKGxtaW4gKyBzbWluKSA6ICgyICogcykgLyAobCArIHMpO1xcblxcblxcdHJldHVybiBbaCwgc3YgKiAxMDAsIHYgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5oc3YucmdiID0gZnVuY3Rpb24gKGhzdikge1xcblxcdHZhciBoID0gaHN2WzBdIC8gNjA7XFxuXFx0dmFyIHMgPSBoc3ZbMV0gLyAxMDA7XFxuXFx0dmFyIHYgPSBoc3ZbMl0gLyAxMDA7XFxuXFx0dmFyIGhpID0gTWF0aC5mbG9vcihoKSAlIDY7XFxuXFxuXFx0dmFyIGYgPSBoIC0gTWF0aC5mbG9vcihoKTtcXG5cXHR2YXIgcCA9IDI1NSAqIHYgKiAoMSAtIHMpO1xcblxcdHZhciBxID0gMjU1ICogdiAqICgxIC0gKHMgKiBmKSk7XFxuXFx0dmFyIHQgPSAyNTUgKiB2ICogKDEgLSAocyAqICgxIC0gZikpKTtcXG5cXHR2ICo9IDI1NTtcXG5cXG5cXHRzd2l0Y2ggKGhpKSB7XFxuXFx0XFx0Y2FzZSAwOlxcblxcdFxcdFxcdHJldHVybiBbdiwgdCwgcF07XFxuXFx0XFx0Y2FzZSAxOlxcblxcdFxcdFxcdHJldHVybiBbcSwgdiwgcF07XFxuXFx0XFx0Y2FzZSAyOlxcblxcdFxcdFxcdHJldHVybiBbcCwgdiwgdF07XFxuXFx0XFx0Y2FzZSAzOlxcblxcdFxcdFxcdHJldHVybiBbcCwgcSwgdl07XFxuXFx0XFx0Y2FzZSA0OlxcblxcdFxcdFxcdHJldHVybiBbdCwgcCwgdl07XFxuXFx0XFx0Y2FzZSA1OlxcblxcdFxcdFxcdHJldHVybiBbdiwgcCwgcV07XFxuXFx0fVxcbn07XFxuXFxuY29udmVydC5oc3YuaHNsID0gZnVuY3Rpb24gKGhzdikge1xcblxcdHZhciBoID0gaHN2WzBdO1xcblxcdHZhciBzID0gaHN2WzFdIC8gMTAwO1xcblxcdHZhciB2ID0gaHN2WzJdIC8gMTAwO1xcblxcdHZhciB2bWluID0gTWF0aC5tYXgodiwgMC4wMSk7XFxuXFx0dmFyIGxtaW47XFxuXFx0dmFyIHNsO1xcblxcdHZhciBsO1xcblxcblxcdGwgPSAoMiAtIHMpICogdjtcXG5cXHRsbWluID0gKDIgLSBzKSAqIHZtaW47XFxuXFx0c2wgPSBzICogdm1pbjtcXG5cXHRzbCAvPSAobG1pbiA8PSAxKSA/IGxtaW4gOiAyIC0gbG1pbjtcXG5cXHRzbCA9IHNsIHx8IDA7XFxuXFx0bCAvPSAyO1xcblxcblxcdHJldHVybiBbaCwgc2wgKiAxMDAsIGwgKiAxMDBdO1xcbn07XFxuXFxuLy8gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWNvbG9yLyNod2ItdG8tcmdiXFxuY29udmVydC5od2IucmdiID0gZnVuY3Rpb24gKGh3Yikge1xcblxcdHZhciBoID0gaHdiWzBdIC8gMzYwO1xcblxcdHZhciB3aCA9IGh3YlsxXSAvIDEwMDtcXG5cXHR2YXIgYmwgPSBod2JbMl0gLyAxMDA7XFxuXFx0dmFyIHJhdGlvID0gd2ggKyBibDtcXG5cXHR2YXIgaTtcXG5cXHR2YXIgdjtcXG5cXHR2YXIgZjtcXG5cXHR2YXIgbjtcXG5cXG5cXHQvLyB3aCArIGJsIGNhbnQgYmUgPiAxXFxuXFx0aWYgKHJhdGlvID4gMSkge1xcblxcdFxcdHdoIC89IHJhdGlvO1xcblxcdFxcdGJsIC89IHJhdGlvO1xcblxcdH1cXG5cXG5cXHRpID0gTWF0aC5mbG9vcig2ICogaCk7XFxuXFx0diA9IDEgLSBibDtcXG5cXHRmID0gNiAqIGggLSBpO1xcblxcblxcdGlmICgoaSAmIDB4MDEpICE9PSAwKSB7XFxuXFx0XFx0ZiA9IDEgLSBmO1xcblxcdH1cXG5cXG5cXHRuID0gd2ggKyBmICogKHYgLSB3aCk7IC8vIGxpbmVhciBpbnRlcnBvbGF0aW9uXFxuXFxuXFx0dmFyIHI7XFxuXFx0dmFyIGc7XFxuXFx0dmFyIGI7XFxuXFx0c3dpdGNoIChpKSB7XFxuXFx0XFx0ZGVmYXVsdDpcXG5cXHRcXHRjYXNlIDY6XFxuXFx0XFx0Y2FzZSAwOiByID0gdjsgZyA9IG47IGIgPSB3aDsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAxOiByID0gbjsgZyA9IHY7IGIgPSB3aDsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAyOiByID0gd2g7IGcgPSB2OyBiID0gbjsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAzOiByID0gd2g7IGcgPSBuOyBiID0gdjsgYnJlYWs7XFxuXFx0XFx0Y2FzZSA0OiByID0gbjsgZyA9IHdoOyBiID0gdjsgYnJlYWs7XFxuXFx0XFx0Y2FzZSA1OiByID0gdjsgZyA9IHdoOyBiID0gbjsgYnJlYWs7XFxuXFx0fVxcblxcblxcdHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07XFxufTtcXG5cXG5jb252ZXJ0LmNteWsucmdiID0gZnVuY3Rpb24gKGNteWspIHtcXG5cXHR2YXIgYyA9IGNteWtbMF0gLyAxMDA7XFxuXFx0dmFyIG0gPSBjbXlrWzFdIC8gMTAwO1xcblxcdHZhciB5ID0gY215a1syXSAvIDEwMDtcXG5cXHR2YXIgayA9IGNteWtbM10gLyAxMDA7XFxuXFx0dmFyIHI7XFxuXFx0dmFyIGc7XFxuXFx0dmFyIGI7XFxuXFxuXFx0ciA9IDEgLSBNYXRoLm1pbigxLCBjICogKDEgLSBrKSArIGspO1xcblxcdGcgPSAxIC0gTWF0aC5taW4oMSwgbSAqICgxIC0gaykgKyBrKTtcXG5cXHRiID0gMSAtIE1hdGgubWluKDEsIHkgKiAoMSAtIGspICsgayk7XFxuXFxuXFx0cmV0dXJuIFtyICogMjU1LCBnICogMjU1LCBiICogMjU1XTtcXG59O1xcblxcbmNvbnZlcnQueHl6LnJnYiA9IGZ1bmN0aW9uICh4eXopIHtcXG5cXHR2YXIgeCA9IHh5elswXSAvIDEwMDtcXG5cXHR2YXIgeSA9IHh5elsxXSAvIDEwMDtcXG5cXHR2YXIgeiA9IHh5elsyXSAvIDEwMDtcXG5cXHR2YXIgcjtcXG5cXHR2YXIgZztcXG5cXHR2YXIgYjtcXG5cXG5cXHRyID0gKHggKiAzLjI0MDYpICsgKHkgKiAtMS41MzcyKSArICh6ICogLTAuNDk4Nik7XFxuXFx0ZyA9ICh4ICogLTAuOTY4OSkgKyAoeSAqIDEuODc1OCkgKyAoeiAqIDAuMDQxNSk7XFxuXFx0YiA9ICh4ICogMC4wNTU3KSArICh5ICogLTAuMjA0MCkgKyAoeiAqIDEuMDU3MCk7XFxuXFxuXFx0Ly8gYXNzdW1lIHNSR0JcXG5cXHRyID0gciA+IDAuMDAzMTMwOFxcblxcdFxcdD8gKCgxLjA1NSAqIE1hdGgucG93KHIsIDEuMCAvIDIuNCkpIC0gMC4wNTUpXFxuXFx0XFx0OiByICogMTIuOTI7XFxuXFxuXFx0ZyA9IGcgPiAwLjAwMzEzMDhcXG5cXHRcXHQ/ICgoMS4wNTUgKiBNYXRoLnBvdyhnLCAxLjAgLyAyLjQpKSAtIDAuMDU1KVxcblxcdFxcdDogZyAqIDEyLjkyO1xcblxcblxcdGIgPSBiID4gMC4wMDMxMzA4XFxuXFx0XFx0PyAoKDEuMDU1ICogTWF0aC5wb3coYiwgMS4wIC8gMi40KSkgLSAwLjA1NSlcXG5cXHRcXHQ6IGIgKiAxMi45MjtcXG5cXG5cXHRyID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgciksIDEpO1xcblxcdGcgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBnKSwgMSk7XFxuXFx0YiA9IE1hdGgubWluKE1hdGgubWF4KDAsIGIpLCAxKTtcXG5cXG5cXHRyZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdO1xcbn07XFxuXFxuY29udmVydC54eXoubGFiID0gZnVuY3Rpb24gKHh5eikge1xcblxcdHZhciB4ID0geHl6WzBdO1xcblxcdHZhciB5ID0geHl6WzFdO1xcblxcdHZhciB6ID0geHl6WzJdO1xcblxcdHZhciBsO1xcblxcdHZhciBhO1xcblxcdHZhciBiO1xcblxcblxcdHggLz0gOTUuMDQ3O1xcblxcdHkgLz0gMTAwO1xcblxcdHogLz0gMTA4Ljg4MztcXG5cXG5cXHR4ID0geCA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeCwgMSAvIDMpIDogKDcuNzg3ICogeCkgKyAoMTYgLyAxMTYpO1xcblxcdHkgPSB5ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh5LCAxIC8gMykgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7XFxuXFx0eiA9IHogPiAwLjAwODg1NiA/IE1hdGgucG93KHosIDEgLyAzKSA6ICg3Ljc4NyAqIHopICsgKDE2IC8gMTE2KTtcXG5cXG5cXHRsID0gKDExNiAqIHkpIC0gMTY7XFxuXFx0YSA9IDUwMCAqICh4IC0geSk7XFxuXFx0YiA9IDIwMCAqICh5IC0geik7XFxuXFxuXFx0cmV0dXJuIFtsLCBhLCBiXTtcXG59O1xcblxcbmNvbnZlcnQubGFiLnh5eiA9IGZ1bmN0aW9uIChsYWIpIHtcXG5cXHR2YXIgbCA9IGxhYlswXTtcXG5cXHR2YXIgYSA9IGxhYlsxXTtcXG5cXHR2YXIgYiA9IGxhYlsyXTtcXG5cXHR2YXIgeDtcXG5cXHR2YXIgeTtcXG5cXHR2YXIgejtcXG5cXG5cXHR5ID0gKGwgKyAxNikgLyAxMTY7XFxuXFx0eCA9IGEgLyA1MDAgKyB5O1xcblxcdHogPSB5IC0gYiAvIDIwMDtcXG5cXG5cXHR2YXIgeTIgPSBNYXRoLnBvdyh5LCAzKTtcXG5cXHR2YXIgeDIgPSBNYXRoLnBvdyh4LCAzKTtcXG5cXHR2YXIgejIgPSBNYXRoLnBvdyh6LCAzKTtcXG5cXHR5ID0geTIgPiAwLjAwODg1NiA/IHkyIDogKHkgLSAxNiAvIDExNikgLyA3Ljc4NztcXG5cXHR4ID0geDIgPiAwLjAwODg1NiA/IHgyIDogKHggLSAxNiAvIDExNikgLyA3Ljc4NztcXG5cXHR6ID0gejIgPiAwLjAwODg1NiA/IHoyIDogKHogLSAxNiAvIDExNikgLyA3Ljc4NztcXG5cXG5cXHR4ICo9IDk1LjA0NztcXG5cXHR5ICo9IDEwMDtcXG5cXHR6ICo9IDEwOC44ODM7XFxuXFxuXFx0cmV0dXJuIFt4LCB5LCB6XTtcXG59O1xcblxcbmNvbnZlcnQubGFiLmxjaCA9IGZ1bmN0aW9uIChsYWIpIHtcXG5cXHR2YXIgbCA9IGxhYlswXTtcXG5cXHR2YXIgYSA9IGxhYlsxXTtcXG5cXHR2YXIgYiA9IGxhYlsyXTtcXG5cXHR2YXIgaHI7XFxuXFx0dmFyIGg7XFxuXFx0dmFyIGM7XFxuXFxuXFx0aHIgPSBNYXRoLmF0YW4yKGIsIGEpO1xcblxcdGggPSBociAqIDM2MCAvIDIgLyBNYXRoLlBJO1xcblxcblxcdGlmIChoIDwgMCkge1xcblxcdFxcdGggKz0gMzYwO1xcblxcdH1cXG5cXG5cXHRjID0gTWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpO1xcblxcblxcdHJldHVybiBbbCwgYywgaF07XFxufTtcXG5cXG5jb252ZXJ0LmxjaC5sYWIgPSBmdW5jdGlvbiAobGNoKSB7XFxuXFx0dmFyIGwgPSBsY2hbMF07XFxuXFx0dmFyIGMgPSBsY2hbMV07XFxuXFx0dmFyIGggPSBsY2hbMl07XFxuXFx0dmFyIGE7XFxuXFx0dmFyIGI7XFxuXFx0dmFyIGhyO1xcblxcblxcdGhyID0gaCAvIDM2MCAqIDIgKiBNYXRoLlBJO1xcblxcdGEgPSBjICogTWF0aC5jb3MoaHIpO1xcblxcdGIgPSBjICogTWF0aC5zaW4oaHIpO1xcblxcblxcdHJldHVybiBbbCwgYSwgYl07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5hbnNpMTYgPSBmdW5jdGlvbiAoYXJncykge1xcblxcdHZhciByID0gYXJnc1swXTtcXG5cXHR2YXIgZyA9IGFyZ3NbMV07XFxuXFx0dmFyIGIgPSBhcmdzWzJdO1xcblxcdHZhciB2YWx1ZSA9IDEgaW4gYXJndW1lbnRzID8gYXJndW1lbnRzWzFdIDogY29udmVydC5yZ2IuaHN2KGFyZ3MpWzJdOyAvLyBoc3YgLT4gYW5zaTE2IG9wdGltaXphdGlvblxcblxcblxcdHZhbHVlID0gTWF0aC5yb3VuZCh2YWx1ZSAvIDUwKTtcXG5cXG5cXHRpZiAodmFsdWUgPT09IDApIHtcXG5cXHRcXHRyZXR1cm4gMzA7XFxuXFx0fVxcblxcblxcdHZhciBhbnNpID0gMzBcXG5cXHRcXHQrICgoTWF0aC5yb3VuZChiIC8gMjU1KSA8PCAyKVxcblxcdFxcdHwgKE1hdGgucm91bmQoZyAvIDI1NSkgPDwgMSlcXG5cXHRcXHR8IE1hdGgucm91bmQociAvIDI1NSkpO1xcblxcblxcdGlmICh2YWx1ZSA9PT0gMikge1xcblxcdFxcdGFuc2kgKz0gNjA7XFxuXFx0fVxcblxcblxcdHJldHVybiBhbnNpO1xcbn07XFxuXFxuY29udmVydC5oc3YuYW5zaTE2ID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHQvLyBvcHRpbWl6YXRpb24gaGVyZTsgd2UgYWxyZWFkeSBrbm93IHRoZSB2YWx1ZSBhbmQgZG9uJ3QgbmVlZCB0byBnZXRcXG5cXHQvLyBpdCBjb252ZXJ0ZWQgZm9yIHVzLlxcblxcdHJldHVybiBjb252ZXJ0LnJnYi5hbnNpMTYoY29udmVydC5oc3YucmdiKGFyZ3MpLCBhcmdzWzJdKTtcXG59O1xcblxcbmNvbnZlcnQucmdiLmFuc2kyNTYgPSBmdW5jdGlvbiAoYXJncykge1xcblxcdHZhciByID0gYXJnc1swXTtcXG5cXHR2YXIgZyA9IGFyZ3NbMV07XFxuXFx0dmFyIGIgPSBhcmdzWzJdO1xcblxcblxcdC8vIHdlIHVzZSB0aGUgZXh0ZW5kZWQgZ3JleXNjYWxlIHBhbGV0dGUgaGVyZSwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mXFxuXFx0Ly8gYmxhY2sgYW5kIHdoaXRlLiBub3JtYWwgcGFsZXR0ZSBvbmx5IGhhcyA0IGdyZXlzY2FsZSBzaGFkZXMuXFxuXFx0aWYgKHIgPT09IGcgJiYgZyA9PT0gYikge1xcblxcdFxcdGlmIChyIDwgOCkge1xcblxcdFxcdFxcdHJldHVybiAxNjtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKHIgPiAyNDgpIHtcXG5cXHRcXHRcXHRyZXR1cm4gMjMxO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gTWF0aC5yb3VuZCgoKHIgLSA4KSAvIDI0NykgKiAyNCkgKyAyMzI7XFxuXFx0fVxcblxcblxcdHZhciBhbnNpID0gMTZcXG5cXHRcXHQrICgzNiAqIE1hdGgucm91bmQociAvIDI1NSAqIDUpKVxcblxcdFxcdCsgKDYgKiBNYXRoLnJvdW5kKGcgLyAyNTUgKiA1KSlcXG5cXHRcXHQrIE1hdGgucm91bmQoYiAvIDI1NSAqIDUpO1xcblxcblxcdHJldHVybiBhbnNpO1xcbn07XFxuXFxuY29udmVydC5hbnNpMTYucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHR2YXIgY29sb3IgPSBhcmdzICUgMTA7XFxuXFxuXFx0Ly8gaGFuZGxlIGdyZXlzY2FsZVxcblxcdGlmIChjb2xvciA9PT0gMCB8fCBjb2xvciA9PT0gNykge1xcblxcdFxcdGlmIChhcmdzID4gNTApIHtcXG5cXHRcXHRcXHRjb2xvciArPSAzLjU7XFxuXFx0XFx0fVxcblxcblxcdFxcdGNvbG9yID0gY29sb3IgLyAxMC41ICogMjU1O1xcblxcblxcdFxcdHJldHVybiBbY29sb3IsIGNvbG9yLCBjb2xvcl07XFxuXFx0fVxcblxcblxcdHZhciBtdWx0ID0gKH5+KGFyZ3MgPiA1MCkgKyAxKSAqIDAuNTtcXG5cXHR2YXIgciA9ICgoY29sb3IgJiAxKSAqIG11bHQpICogMjU1O1xcblxcdHZhciBnID0gKCgoY29sb3IgPj4gMSkgJiAxKSAqIG11bHQpICogMjU1O1xcblxcdHZhciBiID0gKCgoY29sb3IgPj4gMikgJiAxKSAqIG11bHQpICogMjU1O1xcblxcblxcdHJldHVybiBbciwgZywgYl07XFxufTtcXG5cXG5jb252ZXJ0LmFuc2kyNTYucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHQvLyBoYW5kbGUgZ3JleXNjYWxlXFxuXFx0aWYgKGFyZ3MgPj0gMjMyKSB7XFxuXFx0XFx0dmFyIGMgPSAoYXJncyAtIDIzMikgKiAxMCArIDg7XFxuXFx0XFx0cmV0dXJuIFtjLCBjLCBjXTtcXG5cXHR9XFxuXFxuXFx0YXJncyAtPSAxNjtcXG5cXG5cXHR2YXIgcmVtO1xcblxcdHZhciByID0gTWF0aC5mbG9vcihhcmdzIC8gMzYpIC8gNSAqIDI1NTtcXG5cXHR2YXIgZyA9IE1hdGguZmxvb3IoKHJlbSA9IGFyZ3MgJSAzNikgLyA2KSAvIDUgKiAyNTU7XFxuXFx0dmFyIGIgPSAocmVtICUgNikgLyA1ICogMjU1O1xcblxcblxcdHJldHVybiBbciwgZywgYl07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5oZXggPSBmdW5jdGlvbiAoYXJncykge1xcblxcdHZhciBpbnRlZ2VyID0gKChNYXRoLnJvdW5kKGFyZ3NbMF0pICYgMHhGRikgPDwgMTYpXFxuXFx0XFx0KyAoKE1hdGgucm91bmQoYXJnc1sxXSkgJiAweEZGKSA8PCA4KVxcblxcdFxcdCsgKE1hdGgucm91bmQoYXJnc1syXSkgJiAweEZGKTtcXG5cXG5cXHR2YXIgc3RyaW5nID0gaW50ZWdlci50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtcXG5cXHRyZXR1cm4gJzAwMDAwMCcuc3Vic3RyaW5nKHN0cmluZy5sZW5ndGgpICsgc3RyaW5nO1xcbn07XFxuXFxuY29udmVydC5oZXgucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHR2YXIgbWF0Y2ggPSBhcmdzLnRvU3RyaW5nKDE2KS5tYXRjaCgvW2EtZjAtOV17Nn18W2EtZjAtOV17M30vaSk7XFxuXFx0aWYgKCFtYXRjaCkge1xcblxcdFxcdHJldHVybiBbMCwgMCwgMF07XFxuXFx0fVxcblxcblxcdHZhciBjb2xvclN0cmluZyA9IG1hdGNoWzBdO1xcblxcblxcdGlmIChtYXRjaFswXS5sZW5ndGggPT09IDMpIHtcXG5cXHRcXHRjb2xvclN0cmluZyA9IGNvbG9yU3RyaW5nLnNwbGl0KCcnKS5tYXAoZnVuY3Rpb24gKGNoYXIpIHtcXG5cXHRcXHRcXHRyZXR1cm4gY2hhciArIGNoYXI7XFxuXFx0XFx0fSkuam9pbignJyk7XFxuXFx0fVxcblxcblxcdHZhciBpbnRlZ2VyID0gcGFyc2VJbnQoY29sb3JTdHJpbmcsIDE2KTtcXG5cXHR2YXIgciA9IChpbnRlZ2VyID4+IDE2KSAmIDB4RkY7XFxuXFx0dmFyIGcgPSAoaW50ZWdlciA+PiA4KSAmIDB4RkY7XFxuXFx0dmFyIGIgPSBpbnRlZ2VyICYgMHhGRjtcXG5cXG5cXHRyZXR1cm4gW3IsIGcsIGJdO1xcbn07XFxuXFxuY29udmVydC5yZ2IuaGNnID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciBtYXggPSBNYXRoLm1heChNYXRoLm1heChyLCBnKSwgYik7XFxuXFx0dmFyIG1pbiA9IE1hdGgubWluKE1hdGgubWluKHIsIGcpLCBiKTtcXG5cXHR2YXIgY2hyb21hID0gKG1heCAtIG1pbik7XFxuXFx0dmFyIGdyYXlzY2FsZTtcXG5cXHR2YXIgaHVlO1xcblxcblxcdGlmIChjaHJvbWEgPCAxKSB7XFxuXFx0XFx0Z3JheXNjYWxlID0gbWluIC8gKDEgLSBjaHJvbWEpO1xcblxcdH0gZWxzZSB7XFxuXFx0XFx0Z3JheXNjYWxlID0gMDtcXG5cXHR9XFxuXFxuXFx0aWYgKGNocm9tYSA8PSAwKSB7XFxuXFx0XFx0aHVlID0gMDtcXG5cXHR9IGVsc2VcXG5cXHRpZiAobWF4ID09PSByKSB7XFxuXFx0XFx0aHVlID0gKChnIC0gYikgLyBjaHJvbWEpICUgNjtcXG5cXHR9IGVsc2VcXG5cXHRpZiAobWF4ID09PSBnKSB7XFxuXFx0XFx0aHVlID0gMiArIChiIC0gcikgLyBjaHJvbWE7XFxuXFx0fSBlbHNlIHtcXG5cXHRcXHRodWUgPSA0ICsgKHIgLSBnKSAvIGNocm9tYSArIDQ7XFxuXFx0fVxcblxcblxcdGh1ZSAvPSA2O1xcblxcdGh1ZSAlPSAxO1xcblxcblxcdHJldHVybiBbaHVlICogMzYwLCBjaHJvbWEgKiAxMDAsIGdyYXlzY2FsZSAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LmhzbC5oY2cgPSBmdW5jdGlvbiAoaHNsKSB7XFxuXFx0dmFyIHMgPSBoc2xbMV0gLyAxMDA7XFxuXFx0dmFyIGwgPSBoc2xbMl0gLyAxMDA7XFxuXFx0dmFyIGMgPSAxO1xcblxcdHZhciBmID0gMDtcXG5cXG5cXHRpZiAobCA8IDAuNSkge1xcblxcdFxcdGMgPSAyLjAgKiBzICogbDtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdGMgPSAyLjAgKiBzICogKDEuMCAtIGwpO1xcblxcdH1cXG5cXG5cXHRpZiAoYyA8IDEuMCkge1xcblxcdFxcdGYgPSAobCAtIDAuNSAqIGMpIC8gKDEuMCAtIGMpO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2hzbFswXSwgYyAqIDEwMCwgZiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0Lmhzdi5oY2cgPSBmdW5jdGlvbiAoaHN2KSB7XFxuXFx0dmFyIHMgPSBoc3ZbMV0gLyAxMDA7XFxuXFx0dmFyIHYgPSBoc3ZbMl0gLyAxMDA7XFxuXFxuXFx0dmFyIGMgPSBzICogdjtcXG5cXHR2YXIgZiA9IDA7XFxuXFxuXFx0aWYgKGMgPCAxLjApIHtcXG5cXHRcXHRmID0gKHYgLSBjKSAvICgxIC0gYyk7XFxuXFx0fVxcblxcblxcdHJldHVybiBbaHN2WzBdLCBjICogMTAwLCBmICogMTAwXTtcXG59O1xcblxcbmNvbnZlcnQuaGNnLnJnYiA9IGZ1bmN0aW9uIChoY2cpIHtcXG5cXHR2YXIgaCA9IGhjZ1swXSAvIDM2MDtcXG5cXHR2YXIgYyA9IGhjZ1sxXSAvIDEwMDtcXG5cXHR2YXIgZyA9IGhjZ1syXSAvIDEwMDtcXG5cXG5cXHRpZiAoYyA9PT0gMC4wKSB7XFxuXFx0XFx0cmV0dXJuIFtnICogMjU1LCBnICogMjU1LCBnICogMjU1XTtcXG5cXHR9XFxuXFxuXFx0dmFyIHB1cmUgPSBbMCwgMCwgMF07XFxuXFx0dmFyIGhpID0gKGggJSAxKSAqIDY7XFxuXFx0dmFyIHYgPSBoaSAlIDE7XFxuXFx0dmFyIHcgPSAxIC0gdjtcXG5cXHR2YXIgbWcgPSAwO1xcblxcblxcdHN3aXRjaCAoTWF0aC5mbG9vcihoaSkpIHtcXG5cXHRcXHRjYXNlIDA6XFxuXFx0XFx0XFx0cHVyZVswXSA9IDE7IHB1cmVbMV0gPSB2OyBwdXJlWzJdID0gMDsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAxOlxcblxcdFxcdFxcdHB1cmVbMF0gPSB3OyBwdXJlWzFdID0gMTsgcHVyZVsyXSA9IDA7IGJyZWFrO1xcblxcdFxcdGNhc2UgMjpcXG5cXHRcXHRcXHRwdXJlWzBdID0gMDsgcHVyZVsxXSA9IDE7IHB1cmVbMl0gPSB2OyBicmVhaztcXG5cXHRcXHRjYXNlIDM6XFxuXFx0XFx0XFx0cHVyZVswXSA9IDA7IHB1cmVbMV0gPSB3OyBwdXJlWzJdID0gMTsgYnJlYWs7XFxuXFx0XFx0Y2FzZSA0OlxcblxcdFxcdFxcdHB1cmVbMF0gPSB2OyBwdXJlWzFdID0gMDsgcHVyZVsyXSA9IDE7IGJyZWFrO1xcblxcdFxcdGRlZmF1bHQ6XFxuXFx0XFx0XFx0cHVyZVswXSA9IDE7IHB1cmVbMV0gPSAwOyBwdXJlWzJdID0gdztcXG5cXHR9XFxuXFxuXFx0bWcgPSAoMS4wIC0gYykgKiBnO1xcblxcblxcdHJldHVybiBbXFxuXFx0XFx0KGMgKiBwdXJlWzBdICsgbWcpICogMjU1LFxcblxcdFxcdChjICogcHVyZVsxXSArIG1nKSAqIDI1NSxcXG5cXHRcXHQoYyAqIHB1cmVbMl0gKyBtZykgKiAyNTVcXG5cXHRdO1xcbn07XFxuXFxuY29udmVydC5oY2cuaHN2ID0gZnVuY3Rpb24gKGhjZykge1xcblxcdHZhciBjID0gaGNnWzFdIC8gMTAwO1xcblxcdHZhciBnID0gaGNnWzJdIC8gMTAwO1xcblxcblxcdHZhciB2ID0gYyArIGcgKiAoMS4wIC0gYyk7XFxuXFx0dmFyIGYgPSAwO1xcblxcblxcdGlmICh2ID4gMC4wKSB7XFxuXFx0XFx0ZiA9IGMgLyB2O1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2hjZ1swXSwgZiAqIDEwMCwgdiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LmhjZy5oc2wgPSBmdW5jdGlvbiAoaGNnKSB7XFxuXFx0dmFyIGMgPSBoY2dbMV0gLyAxMDA7XFxuXFx0dmFyIGcgPSBoY2dbMl0gLyAxMDA7XFxuXFxuXFx0dmFyIGwgPSBnICogKDEuMCAtIGMpICsgMC41ICogYztcXG5cXHR2YXIgcyA9IDA7XFxuXFxuXFx0aWYgKGwgPiAwLjAgJiYgbCA8IDAuNSkge1xcblxcdFxcdHMgPSBjIC8gKDIgKiBsKTtcXG5cXHR9IGVsc2VcXG5cXHRpZiAobCA+PSAwLjUgJiYgbCA8IDEuMCkge1xcblxcdFxcdHMgPSBjIC8gKDIgKiAoMSAtIGwpKTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIFtoY2dbMF0sIHMgKiAxMDAsIGwgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5oY2cuaHdiID0gZnVuY3Rpb24gKGhjZykge1xcblxcdHZhciBjID0gaGNnWzFdIC8gMTAwO1xcblxcdHZhciBnID0gaGNnWzJdIC8gMTAwO1xcblxcdHZhciB2ID0gYyArIGcgKiAoMS4wIC0gYyk7XFxuXFx0cmV0dXJuIFtoY2dbMF0sICh2IC0gYykgKiAxMDAsICgxIC0gdikgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5od2IuaGNnID0gZnVuY3Rpb24gKGh3Yikge1xcblxcdHZhciB3ID0gaHdiWzFdIC8gMTAwO1xcblxcdHZhciBiID0gaHdiWzJdIC8gMTAwO1xcblxcdHZhciB2ID0gMSAtIGI7XFxuXFx0dmFyIGMgPSB2IC0gdztcXG5cXHR2YXIgZyA9IDA7XFxuXFxuXFx0aWYgKGMgPCAxKSB7XFxuXFx0XFx0ZyA9ICh2IC0gYykgLyAoMSAtIGMpO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2h3YlswXSwgYyAqIDEwMCwgZyAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LmFwcGxlLnJnYiA9IGZ1bmN0aW9uIChhcHBsZSkge1xcblxcdHJldHVybiBbKGFwcGxlWzBdIC8gNjU1MzUpICogMjU1LCAoYXBwbGVbMV0gLyA2NTUzNSkgKiAyNTUsIChhcHBsZVsyXSAvIDY1NTM1KSAqIDI1NV07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5hcHBsZSA9IGZ1bmN0aW9uIChyZ2IpIHtcXG5cXHRyZXR1cm4gWyhyZ2JbMF0gLyAyNTUpICogNjU1MzUsIChyZ2JbMV0gLyAyNTUpICogNjU1MzUsIChyZ2JbMl0gLyAyNTUpICogNjU1MzVdO1xcbn07XFxuXFxuY29udmVydC5ncmF5LnJnYiA9IGZ1bmN0aW9uIChhcmdzKSB7XFxuXFx0cmV0dXJuIFthcmdzWzBdIC8gMTAwICogMjU1LCBhcmdzWzBdIC8gMTAwICogMjU1LCBhcmdzWzBdIC8gMTAwICogMjU1XTtcXG59O1xcblxcbmNvbnZlcnQuZ3JheS5oc2wgPSBjb252ZXJ0LmdyYXkuaHN2ID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHRyZXR1cm4gWzAsIDAsIGFyZ3NbMF1dO1xcbn07XFxuXFxuY29udmVydC5ncmF5Lmh3YiA9IGZ1bmN0aW9uIChncmF5KSB7XFxuXFx0cmV0dXJuIFswLCAxMDAsIGdyYXlbMF1dO1xcbn07XFxuXFxuY29udmVydC5ncmF5LmNteWsgPSBmdW5jdGlvbiAoZ3JheSkge1xcblxcdHJldHVybiBbMCwgMCwgMCwgZ3JheVswXV07XFxufTtcXG5cXG5jb252ZXJ0LmdyYXkubGFiID0gZnVuY3Rpb24gKGdyYXkpIHtcXG5cXHRyZXR1cm4gW2dyYXlbMF0sIDAsIDBdO1xcbn07XFxuXFxuY29udmVydC5ncmF5LmhleCA9IGZ1bmN0aW9uIChncmF5KSB7XFxuXFx0dmFyIHZhbCA9IE1hdGgucm91bmQoZ3JheVswXSAvIDEwMCAqIDI1NSkgJiAweEZGO1xcblxcdHZhciBpbnRlZ2VyID0gKHZhbCA8PCAxNikgKyAodmFsIDw8IDgpICsgdmFsO1xcblxcblxcdHZhciBzdHJpbmcgPSBpbnRlZ2VyLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xcblxcdHJldHVybiAnMDAwMDAwJy5zdWJzdHJpbmcoc3RyaW5nLmxlbmd0aCkgKyBzdHJpbmc7XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5ncmF5ID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciB2YWwgPSAocmdiWzBdICsgcmdiWzFdICsgcmdiWzJdKSAvIDM7XFxuXFx0cmV0dXJuIFt2YWwgLyAyNTUgKiAxMDBdO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjJ4dmNpMWpiMjUyWlhKMEwyTnZiblpsY25OcGIyNXpMbXB6UHpVM09UVWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFTeHJRa0ZCYTBJc2JVSkJRVThzUTBGQlF5eHpSRUZCV1RzN1FVRkZkRU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRkZCUVZFc05FSkJRVFJDTzBGQlEzQkRMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c05rSkJRVFpDTzBGQlEzQkRMRmRCUVZjc2FVTkJRV2xETzBGQlF6VkRMRlZCUVZVc1owTkJRV2RETzBGQlF6RkRMRmRCUVZjc2FVTkJRV2xETzBGQlF6VkRMRTlCUVU4c2NVTkJRWEZETzBGQlF6VkRMRk5CUVZNc01rTkJRVEpETzBGQlEzQkVMRkZCUVZFN1FVRkRVanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZFUVVGeFJDeG5Ra0ZCWjBJN1FVRkRja1VzYlVSQlFXMUVMR05CUVdNN1FVRkRha1U3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFc1JVRkJSVHRCUVVOR08wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPMEZCUTBZN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN4blFrRkJaMElzVDBGQlR6dEJRVU4yUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNkVUpCUVhWQ096dEJRVVYyUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5Ra0ZCWjBJc1QwRkJUeXhSUVVGUk8wRkJReTlDTEdkQ1FVRm5RaXhQUVVGUExGRkJRVkU3UVVGREwwSXNhVUpCUVdsQ0xFOUJRVThzVDBGQlR6dEJRVU12UWl4cFFrRkJhVUlzVDBGQlR5eFBRVUZQTzBGQlF5OUNMR2RDUVVGblFpeFJRVUZSTEU5QlFVODdRVUZETDBJc1owSkJRV2RDTEZGQlFWRXNUMEZCVHp0QlFVTXZRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UlVGQmMwVTdPMEZCUlhSRk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSE5DUVVGelFqdEJRVU4wUWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3clEwRkJLME1zUlVGQlJTeFZRVUZWTEVWQlFVVTdRVUZETjBRN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFVkJRVVU3UVVGRFJqdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdWQlFXVXNZVUZCWVN4aFFVRmhPMEZCUTNwRE8wRkJRMEVzWlVGQlpTeGhRVUZoTEdGQlFXRTdRVUZEZWtNN1FVRkRRU3hsUVVGbExHRkJRV0VzWVVGQllUdEJRVU42UXp0QlFVTkJMR1ZCUVdVc1lVRkJZU3hoUVVGaE8wRkJRM3BETzBGQlEwRXNaVUZCWlN4aFFVRmhMR0ZCUVdFN1FVRkRla003UVVGRFFTeGxRVUZsTEdGQlFXRTdRVUZETlVJN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPMEZCUTBZN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2kxamIyNTJaWEowTDJOdmJuWmxjbk5wYjI1ekxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b2dUVWxVSUd4cFkyVnVjMlVnS2k5Y2JuWmhjaUJqYzNOTFpYbDNiM0prY3lBOUlISmxjWFZwY21Vb0oyTnZiRzl5TFc1aGJXVW5LVHRjYmx4dUx5OGdUazlVUlRvZ1kyOXVkbVZ5YzJsdmJuTWdjMmh2ZFd4a0lHOXViSGtnY21WMGRYSnVJSEJ5YVcxcGRHbDJaU0IyWVd4MVpYTWdLR2t1WlM0Z1lYSnlZWGx6TENCdmNseHVMeThnSUNBZ0lDQWdkbUZzZFdWeklIUm9ZWFFnWjJsMlpTQmpiM0p5WldOMElHQjBlWEJsYjJaZ0lISmxjM1ZzZEhNcExseHVMeThnSUNBZ0lDQWdaRzhnYm05MElIVnpaU0JpYjNnZ2RtRnNkV1Z6SUhSNWNHVnpJQ2hwTG1VdUlFNTFiV0psY2lncExDQlRkSEpwYm1jb0tTd2daWFJqTGlsY2JseHVkbUZ5SUhKbGRtVnljMlZMWlhsM2IzSmtjeUE5SUh0OU8xeHVabTl5SUNoMllYSWdhMlY1SUdsdUlHTnpjMHRsZVhkdmNtUnpLU0I3WEc1Y2RHbG1JQ2hqYzNOTFpYbDNiM0prY3k1b1lYTlBkMjVRY205d1pYSjBlU2hyWlhrcEtTQjdYRzVjZEZ4MGNtVjJaWEp6WlV0bGVYZHZjbVJ6VzJOemMwdGxlWGR2Y21SelcydGxlVjFkSUQwZ2EyVjVPMXh1WEhSOVhHNTlYRzVjYm5aaGNpQmpiMjUyWlhKMElEMGdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdYRzVjZEhKbllqb2dlMk5vWVc1dVpXeHpPaUF6TENCc1lXSmxiSE02SUNkeVoySW5mU3hjYmx4MGFITnNPaUI3WTJoaGJtNWxiSE02SURNc0lHeGhZbVZzY3pvZ0oyaHpiQ2Q5TEZ4dVhIUm9jM1k2SUh0amFHRnVibVZzY3pvZ015d2diR0ZpWld4ek9pQW5hSE4ySjMwc1hHNWNkR2gzWWpvZ2UyTm9ZVzV1Wld4ek9pQXpMQ0JzWVdKbGJITTZJQ2RvZDJJbmZTeGNibHgwWTIxNWF6b2dlMk5vWVc1dVpXeHpPaUEwTENCc1lXSmxiSE02SUNkamJYbHJKMzBzWEc1Y2RIaDVlam9nZTJOb1lXNXVaV3h6T2lBekxDQnNZV0psYkhNNklDZDRlWG9uZlN4Y2JseDBiR0ZpT2lCN1kyaGhibTVsYkhNNklETXNJR3hoWW1Wc2N6b2dKMnhoWWlkOUxGeHVYSFJzWTJnNklIdGphR0Z1Ym1Wc2N6b2dNeXdnYkdGaVpXeHpPaUFuYkdOb0ozMHNYRzVjZEdobGVEb2dlMk5vWVc1dVpXeHpPaUF4TENCc1lXSmxiSE02SUZzbmFHVjRKMTE5TEZ4dVhIUnJaWGwzYjNKa09pQjdZMmhoYm01bGJITTZJREVzSUd4aFltVnNjem9nV3lkclpYbDNiM0prSjExOUxGeHVYSFJoYm5OcE1UWTZJSHRqYUdGdWJtVnNjem9nTVN3Z2JHRmlaV3h6T2lCYkoyRnVjMmt4TmlkZGZTeGNibHgwWVc1emFUSTFOam9nZTJOb1lXNXVaV3h6T2lBeExDQnNZV0psYkhNNklGc25ZVzV6YVRJMU5pZGRmU3hjYmx4MGFHTm5PaUI3WTJoaGJtNWxiSE02SURNc0lHeGhZbVZzY3pvZ1d5ZG9KeXdnSjJNbkxDQW5aeWRkZlN4Y2JseDBZWEJ3YkdVNklIdGphR0Z1Ym1Wc2N6b2dNeXdnYkdGaVpXeHpPaUJiSjNJeE5pY3NJQ2RuTVRZbkxDQW5ZakUySjExOUxGeHVYSFJuY21GNU9pQjdZMmhoYm01bGJITTZJREVzSUd4aFltVnNjem9nV3lkbmNtRjVKMTE5WEc1OU8xeHVYRzR2THlCb2FXUmxJQzVqYUdGdWJtVnNjeUJoYm1RZ0xteGhZbVZzY3lCd2NtOXdaWEowYVdWelhHNW1iM0lnS0haaGNpQnRiMlJsYkNCcGJpQmpiMjUyWlhKMEtTQjdYRzVjZEdsbUlDaGpiMjUyWlhKMExtaGhjMDkzYmxCeWIzQmxjblI1S0cxdlpHVnNLU2tnZTF4dVhIUmNkR2xtSUNnaEtDZGphR0Z1Ym1Wc2N5Y2dhVzRnWTI5dWRtVnlkRnR0YjJSbGJGMHBLU0I3WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMjFwYzNOcGJtY2dZMmhoYm01bGJITWdjSEp2Y0dWeWRIazZJQ2NnS3lCdGIyUmxiQ2s3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBhV1lnS0NFb0oyeGhZbVZzY3ljZ2FXNGdZMjl1ZG1WeWRGdHRiMlJsYkYwcEtTQjdYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oyMXBjM05wYm1jZ1kyaGhibTVsYkNCc1lXSmxiSE1nY0hKdmNHVnlkSGs2SUNjZ0t5QnRiMlJsYkNrN1hHNWNkRngwZlZ4dVhHNWNkRngwYVdZZ0tHTnZiblpsY25SYmJXOWtaV3hkTG14aFltVnNjeTVzWlc1bmRHZ2dJVDA5SUdOdmJuWmxjblJiYlc5a1pXeGRMbU5vWVc1dVpXeHpLU0I3WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMk5vWVc1dVpXd2dZVzVrSUd4aFltVnNJR052ZFc1MGN5QnRhWE50WVhSamFEb2dKeUFySUcxdlpHVnNLVHRjYmx4MFhIUjlYRzVjYmx4MFhIUjJZWElnWTJoaGJtNWxiSE1nUFNCamIyNTJaWEowVzIxdlpHVnNYUzVqYUdGdWJtVnNjenRjYmx4MFhIUjJZWElnYkdGaVpXeHpJRDBnWTI5dWRtVnlkRnR0YjJSbGJGMHViR0ZpWld4ek8xeHVYSFJjZEdSbGJHVjBaU0JqYjI1MlpYSjBXMjF2WkdWc1hTNWphR0Z1Ym1Wc2N6dGNibHgwWEhSa1pXeGxkR1VnWTI5dWRtVnlkRnR0YjJSbGJGMHViR0ZpWld4ek8xeHVYSFJjZEU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGpiMjUyWlhKMFcyMXZaR1ZzWFN3Z0oyTm9ZVzV1Wld4ekp5d2dlM1poYkhWbE9pQmphR0Z1Ym1Wc2MzMHBPMXh1WEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqYjI1MlpYSjBXMjF2WkdWc1hTd2dKMnhoWW1Wc2N5Y3NJSHQyWVd4MVpUb2diR0ZpWld4emZTazdYRzVjZEgxY2JuMWNibHh1WTI5dWRtVnlkQzV5WjJJdWFITnNJRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSMllYSWdjaUE5SUhKbllsc3dYU0F2SURJMU5UdGNibHgwZG1GeUlHY2dQU0J5WjJKYk1WMGdMeUF5TlRVN1hHNWNkSFpoY2lCaUlEMGdjbWRpV3pKZElDOGdNalUxTzF4dVhIUjJZWElnYldsdUlEMGdUV0YwYUM1dGFXNG9jaXdnWnl3Z1lpazdYRzVjZEhaaGNpQnRZWGdnUFNCTllYUm9MbTFoZUNoeUxDQm5MQ0JpS1R0Y2JseDBkbUZ5SUdSbGJIUmhJRDBnYldGNElDMGdiV2x1TzF4dVhIUjJZWElnYUR0Y2JseDBkbUZ5SUhNN1hHNWNkSFpoY2lCc08xeHVYRzVjZEdsbUlDaHRZWGdnUFQwOUlHMXBiaWtnZTF4dVhIUmNkR2dnUFNBd08xeHVYSFI5SUdWc2MyVWdhV1lnS0hJZ1BUMDlJRzFoZUNrZ2UxeHVYSFJjZEdnZ1BTQW9aeUF0SUdJcElDOGdaR1ZzZEdFN1hHNWNkSDBnWld4elpTQnBaaUFvWnlBOVBUMGdiV0Y0S1NCN1hHNWNkRngwYUNBOUlESWdLeUFvWWlBdElISXBJQzhnWkdWc2RHRTdYRzVjZEgwZ1pXeHpaU0JwWmlBb1lpQTlQVDBnYldGNEtTQjdYRzVjZEZ4MGFDQTlJRFFnS3lBb2NpQXRJR2NwSUM4Z1pHVnNkR0U3WEc1Y2RIMWNibHh1WEhSb0lEMGdUV0YwYUM1dGFXNG9hQ0FxSURZd0xDQXpOakFwTzF4dVhHNWNkR2xtSUNob0lEd2dNQ2tnZTF4dVhIUmNkR2dnS3owZ016WXdPMXh1WEhSOVhHNWNibHgwYkNBOUlDaHRhVzRnS3lCdFlYZ3BJQzhnTWp0Y2JseHVYSFJwWmlBb2JXRjRJRDA5UFNCdGFXNHBJSHRjYmx4MFhIUnpJRDBnTUR0Y2JseDBmU0JsYkhObElHbG1JQ2hzSUR3OUlEQXVOU2tnZTF4dVhIUmNkSE1nUFNCa1pXeDBZU0F2SUNodFlYZ2dLeUJ0YVc0cE8xeHVYSFI5SUdWc2MyVWdlMXh1WEhSY2RITWdQU0JrWld4MFlTQXZJQ2d5SUMwZ2JXRjRJQzBnYldsdUtUdGNibHgwZlZ4dVhHNWNkSEpsZEhWeWJpQmJhQ3dnY3lBcUlERXdNQ3dnYkNBcUlERXdNRjA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbkpuWWk1b2MzWWdQU0JtZFc1amRHbHZiaUFvY21kaUtTQjdYRzVjZEhaaGNpQnlaR2xtTzF4dVhIUjJZWElnWjJScFpqdGNibHgwZG1GeUlHSmthV1k3WEc1Y2RIWmhjaUJvTzF4dVhIUjJZWElnY3p0Y2JseHVYSFIyWVhJZ2NpQTlJSEpuWWxzd1hTQXZJREkxTlR0Y2JseDBkbUZ5SUdjZ1BTQnlaMkpiTVYwZ0x5QXlOVFU3WEc1Y2RIWmhjaUJpSUQwZ2NtZGlXekpkSUM4Z01qVTFPMXh1WEhSMllYSWdkaUE5SUUxaGRHZ3ViV0Y0S0hJc0lHY3NJR0lwTzF4dVhIUjJZWElnWkdsbVppQTlJSFlnTFNCTllYUm9MbTFwYmloeUxDQm5MQ0JpS1R0Y2JseDBkbUZ5SUdScFptWmpJRDBnWm5WdVkzUnBiMjRnS0dNcElIdGNibHgwWEhSeVpYUjFjbTRnS0hZZ0xTQmpLU0F2SURZZ0x5QmthV1ptSUNzZ01TQXZJREk3WEc1Y2RIMDdYRzVjYmx4MGFXWWdLR1JwWm1ZZ1BUMDlJREFwSUh0Y2JseDBYSFJvSUQwZ2N5QTlJREE3WEc1Y2RIMGdaV3h6WlNCN1hHNWNkRngwY3lBOUlHUnBabVlnTHlCMk8xeHVYSFJjZEhKa2FXWWdQU0JrYVdabVl5aHlLVHRjYmx4MFhIUm5aR2xtSUQwZ1pHbG1abU1vWnlrN1hHNWNkRngwWW1ScFppQTlJR1JwWm1aaktHSXBPMXh1WEc1Y2RGeDBhV1lnS0hJZ1BUMDlJSFlwSUh0Y2JseDBYSFJjZEdnZ1BTQmlaR2xtSUMwZ1oyUnBaanRjYmx4MFhIUjlJR1ZzYzJVZ2FXWWdLR2NnUFQwOUlIWXBJSHRjYmx4MFhIUmNkR2dnUFNBb01TQXZJRE1wSUNzZ2NtUnBaaUF0SUdKa2FXWTdYRzVjZEZ4MGZTQmxiSE5sSUdsbUlDaGlJRDA5UFNCMktTQjdYRzVjZEZ4MFhIUm9JRDBnS0RJZ0x5QXpLU0FySUdka2FXWWdMU0J5WkdsbU8xeHVYSFJjZEgxY2JseDBYSFJwWmlBb2FDQThJREFwSUh0Y2JseDBYSFJjZEdnZ0t6MGdNVHRjYmx4MFhIUjlJR1ZzYzJVZ2FXWWdLR2dnUGlBeEtTQjdYRzVjZEZ4MFhIUm9JQzA5SURFN1hHNWNkRngwZlZ4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUZ0Y2JseDBYSFJvSUNvZ016WXdMRnh1WEhSY2RITWdLaUF4TURBc1hHNWNkRngwZGlBcUlERXdNRnh1WEhSZE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1eVoySXVhSGRpSUQwZ1puVnVZM1JwYjI0Z0tISm5ZaWtnZTF4dVhIUjJZWElnY2lBOUlISm5ZbHN3WFR0Y2JseDBkbUZ5SUdjZ1BTQnlaMkpiTVYwN1hHNWNkSFpoY2lCaUlEMGdjbWRpV3pKZE8xeHVYSFIyWVhJZ2FDQTlJR052Ym5abGNuUXVjbWRpTG1oemJDaHlaMklwV3pCZE8xeHVYSFIyWVhJZ2R5QTlJREVnTHlBeU5UVWdLaUJOWVhSb0xtMXBiaWh5TENCTllYUm9MbTFwYmlobkxDQmlLU2s3WEc1Y2JseDBZaUE5SURFZ0xTQXhJQzhnTWpVMUlDb2dUV0YwYUM1dFlYZ29jaXdnVFdGMGFDNXRZWGdvWnl3Z1lpa3BPMXh1WEc1Y2RISmxkSFZ5YmlCYmFDd2dkeUFxSURFd01Dd2dZaUFxSURFd01GMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExuSm5ZaTVqYlhscklEMGdablZ1WTNScGIyNGdLSEpuWWlrZ2UxeHVYSFIyWVhJZ2NpQTlJSEpuWWxzd1hTQXZJREkxTlR0Y2JseDBkbUZ5SUdjZ1BTQnlaMkpiTVYwZ0x5QXlOVFU3WEc1Y2RIWmhjaUJpSUQwZ2NtZGlXekpkSUM4Z01qVTFPMXh1WEhSMllYSWdZenRjYmx4MGRtRnlJRzA3WEc1Y2RIWmhjaUI1TzF4dVhIUjJZWElnYXp0Y2JseHVYSFJySUQwZ1RXRjBhQzV0YVc0b01TQXRJSElzSURFZ0xTQm5MQ0F4SUMwZ1lpazdYRzVjZEdNZ1BTQW9NU0F0SUhJZ0xTQnJLU0F2SUNneElDMGdheWtnZkh3Z01EdGNibHgwYlNBOUlDZ3hJQzBnWnlBdElHc3BJQzhnS0RFZ0xTQnJLU0I4ZkNBd08xeHVYSFI1SUQwZ0tERWdMU0JpSUMwZ2F5a2dMeUFvTVNBdElHc3BJSHg4SURBN1hHNWNibHgwY21WMGRYSnVJRnRqSUNvZ01UQXdMQ0J0SUNvZ01UQXdMQ0I1SUNvZ01UQXdMQ0JySUNvZ01UQXdYVHRjYm4wN1hHNWNiaThxS2x4dUlDb2dVMlZsSUdoMGRIQnpPaTh2Wlc0dWJTNTNhV3RwY0dWa2FXRXViM0puTDNkcGEya3ZSWFZqYkdsa1pXRnVYMlJwYzNSaGJtTmxJMU54ZFdGeVpXUmZSWFZqYkdsa1pXRnVYMlJwYzNSaGJtTmxYRzRnS2lBcUwxeHVablZ1WTNScGIyNGdZMjl0Y0dGeVlYUnBkbVZFYVhOMFlXNWpaU2g0TENCNUtTQjdYRzVjZEhKbGRIVnliaUFvWEc1Y2RGeDBUV0YwYUM1d2IzY29lRnN3WFNBdElIbGJNRjBzSURJcElDdGNibHgwWEhSTllYUm9MbkJ2ZHloNFd6RmRJQzBnZVZzeFhTd2dNaWtnSzF4dVhIUmNkRTFoZEdndWNHOTNLSGhiTWwwZ0xTQjVXekpkTENBeUtWeHVYSFFwTzF4dWZWeHVYRzVqYjI1MlpYSjBMbkpuWWk1clpYbDNiM0prSUQwZ1puVnVZM1JwYjI0Z0tISm5ZaWtnZTF4dVhIUjJZWElnY21WMlpYSnpaV1FnUFNCeVpYWmxjbk5sUzJWNWQyOXlaSE5iY21kaVhUdGNibHgwYVdZZ0tISmxkbVZ5YzJWa0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUhKbGRtVnljMlZrTzF4dVhIUjlYRzVjYmx4MGRtRnlJR04xY25KbGJuUkRiRzl6WlhOMFJHbHpkR0Z1WTJVZ1BTQkpibVpwYm1sMGVUdGNibHgwZG1GeUlHTjFjbkpsYm5SRGJHOXpaWE4wUzJWNWQyOXlaRHRjYmx4dVhIUm1iM0lnS0haaGNpQnJaWGwzYjNKa0lHbHVJR056YzB0bGVYZHZjbVJ6S1NCN1hHNWNkRngwYVdZZ0tHTnpjMHRsZVhkdmNtUnpMbWhoYzA5M2JsQnliM0JsY25SNUtHdGxlWGR2Y21RcEtTQjdYRzVjZEZ4MFhIUjJZWElnZG1Gc2RXVWdQU0JqYzNOTFpYbDNiM0prYzF0clpYbDNiM0prWFR0Y2JseHVYSFJjZEZ4MEx5OGdRMjl0Y0hWMFpTQmpiMjF3WVhKaGRHbDJaU0JrYVhOMFlXNWpaVnh1WEhSY2RGeDBkbUZ5SUdScGMzUmhibU5sSUQwZ1kyOXRjR0Z5WVhScGRtVkVhWE4wWVc1alpTaHlaMklzSUhaaGJIVmxLVHRjYmx4dVhIUmNkRngwTHk4Z1EyaGxZMnNnYVdZZ2FYUnpJR3hsYzNNc0lHbG1JSE52SUhObGRDQmhjeUJqYkc5elpYTjBYRzVjZEZ4MFhIUnBaaUFvWkdsemRHRnVZMlVnUENCamRYSnlaVzUwUTJ4dmMyVnpkRVJwYzNSaGJtTmxLU0I3WEc1Y2RGeDBYSFJjZEdOMWNuSmxiblJEYkc5elpYTjBSR2x6ZEdGdVkyVWdQU0JrYVhOMFlXNWpaVHRjYmx4MFhIUmNkRngwWTNWeWNtVnVkRU5zYjNObGMzUkxaWGwzYjNKa0lEMGdhMlY1ZDI5eVpEdGNibHgwWEhSY2RIMWNibHgwWEhSOVhHNWNkSDFjYmx4dVhIUnlaWFIxY200Z1kzVnljbVZ1ZEVOc2IzTmxjM1JMWlhsM2IzSmtPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNXJaWGwzYjNKa0xuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoclpYbDNiM0prS1NCN1hHNWNkSEpsZEhWeWJpQmpjM05MWlhsM2IzSmtjMXRyWlhsM2IzSmtYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG5oNWVpQTlJR1oxYm1OMGFXOXVJQ2h5WjJJcElIdGNibHgwZG1GeUlISWdQU0J5WjJKYk1GMGdMeUF5TlRVN1hHNWNkSFpoY2lCbklEMGdjbWRpV3pGZElDOGdNalUxTzF4dVhIUjJZWElnWWlBOUlISm5ZbHN5WFNBdklESTFOVHRjYmx4dVhIUXZMeUJoYzNOMWJXVWdjMUpIUWx4dVhIUnlJRDBnY2lBK0lEQXVNRFF3TkRVZ1B5Qk5ZWFJvTG5CdmR5Z29LSElnS3lBd0xqQTFOU2tnTHlBeExqQTFOU2tzSURJdU5Da2dPaUFvY2lBdklERXlMamt5S1R0Y2JseDBaeUE5SUdjZ1BpQXdMakEwTURRMUlEOGdUV0YwYUM1d2IzY29LQ2huSUNzZ01DNHdOVFVwSUM4Z01TNHdOVFVwTENBeUxqUXBJRG9nS0djZ0x5QXhNaTQ1TWlrN1hHNWNkR0lnUFNCaUlENGdNQzR3TkRBME5TQS9JRTFoZEdndWNHOTNLQ2dvWWlBcklEQXVNRFUxS1NBdklERXVNRFUxS1N3Z01pNDBLU0E2SUNoaUlDOGdNVEl1T1RJcE8xeHVYRzVjZEhaaGNpQjRJRDBnS0hJZ0tpQXdMalF4TWpRcElDc2dLR2NnS2lBd0xqTTFOellwSUNzZ0tHSWdLaUF3TGpFNE1EVXBPMXh1WEhSMllYSWdlU0E5SUNoeUlDb2dNQzR5TVRJMktTQXJJQ2huSUNvZ01DNDNNVFV5S1NBcklDaGlJQ29nTUM0d056SXlLVHRjYmx4MGRtRnlJSG9nUFNBb2NpQXFJREF1TURFNU15a2dLeUFvWnlBcUlEQXVNVEU1TWlrZ0t5QW9ZaUFxSURBdU9UVXdOU2s3WEc1Y2JseDBjbVYwZFhKdUlGdDRJQ29nTVRBd0xDQjVJQ29nTVRBd0xDQjZJQ29nTVRBd1hUdGNibjA3WEc1Y2JtTnZiblpsY25RdWNtZGlMbXhoWWlBOUlHWjFibU4wYVc5dUlDaHlaMklwSUh0Y2JseDBkbUZ5SUhoNWVpQTlJR052Ym5abGNuUXVjbWRpTG5oNWVpaHlaMklwTzF4dVhIUjJZWElnZUNBOUlIaDVlbHN3WFR0Y2JseDBkbUZ5SUhrZ1BTQjRlWHBiTVYwN1hHNWNkSFpoY2lCNklEMGdlSGw2V3pKZE8xeHVYSFIyWVhJZ2JEdGNibHgwZG1GeUlHRTdYRzVjZEhaaGNpQmlPMXh1WEc1Y2RIZ2dMejBnT1RVdU1EUTNPMXh1WEhSNUlDODlJREV3TUR0Y2JseDBlaUF2UFNBeE1EZ3VPRGd6TzF4dVhHNWNkSGdnUFNCNElENGdNQzR3TURnNE5UWWdQeUJOWVhSb0xuQnZkeWg0TENBeElDOGdNeWtnT2lBb055NDNPRGNnS2lCNEtTQXJJQ2d4TmlBdklERXhOaWs3WEc1Y2RIa2dQU0I1SUQ0Z01DNHdNRGc0TlRZZ1B5Qk5ZWFJvTG5CdmR5aDVMQ0F4SUM4Z015a2dPaUFvTnk0M09EY2dLaUI1S1NBcklDZ3hOaUF2SURFeE5pazdYRzVjZEhvZ1BTQjZJRDRnTUM0d01EZzROVFlnUHlCTllYUm9MbkJ2ZHloNkxDQXhJQzhnTXlrZ09pQW9OeTQzT0RjZ0tpQjZLU0FySUNneE5pQXZJREV4TmlrN1hHNWNibHgwYkNBOUlDZ3hNVFlnS2lCNUtTQXRJREUyTzF4dVhIUmhJRDBnTlRBd0lDb2dLSGdnTFNCNUtUdGNibHgwWWlBOUlESXdNQ0FxSUNoNUlDMGdlaWs3WEc1Y2JseDBjbVYwZFhKdUlGdHNMQ0JoTENCaVhUdGNibjA3WEc1Y2JtTnZiblpsY25RdWFITnNMbkpuWWlBOUlHWjFibU4wYVc5dUlDaG9jMndwSUh0Y2JseDBkbUZ5SUdnZ1BTQm9jMnhiTUYwZ0x5QXpOakE3WEc1Y2RIWmhjaUJ6SUQwZ2FITnNXekZkSUM4Z01UQXdPMXh1WEhSMllYSWdiQ0E5SUdoemJGc3lYU0F2SURFd01EdGNibHgwZG1GeUlIUXhPMXh1WEhSMllYSWdkREk3WEc1Y2RIWmhjaUIwTXp0Y2JseDBkbUZ5SUhKbllqdGNibHgwZG1GeUlIWmhiRHRjYmx4dVhIUnBaaUFvY3lBOVBUMGdNQ2tnZTF4dVhIUmNkSFpoYkNBOUlHd2dLaUF5TlRVN1hHNWNkRngwY21WMGRYSnVJRnQyWVd3c0lIWmhiQ3dnZG1Gc1hUdGNibHgwZlZ4dVhHNWNkR2xtSUNoc0lEd2dNQzQxS1NCN1hHNWNkRngwZERJZ1BTQnNJQ29nS0RFZ0t5QnpLVHRjYmx4MGZTQmxiSE5sSUh0Y2JseDBYSFIwTWlBOUlHd2dLeUJ6SUMwZ2JDQXFJSE03WEc1Y2RIMWNibHh1WEhSME1TQTlJRElnS2lCc0lDMGdkREk3WEc1Y2JseDBjbWRpSUQwZ1d6QXNJREFzSURCZE8xeHVYSFJtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURNN0lHa3JLeWtnZTF4dVhIUmNkSFF6SUQwZ2FDQXJJREVnTHlBeklDb2dMU2hwSUMwZ01TazdYRzVjZEZ4MGFXWWdLSFF6SUR3Z01Da2dlMXh1WEhSY2RGeDBkRE1yS3p0Y2JseDBYSFI5WEc1Y2RGeDBhV1lnS0hReklENGdNU2tnZTF4dVhIUmNkRngwZERNdExUdGNibHgwWEhSOVhHNWNibHgwWEhScFppQW9OaUFxSUhReklEd2dNU2tnZTF4dVhIUmNkRngwZG1Gc0lEMGdkREVnS3lBb2RESWdMU0IwTVNrZ0tpQTJJQ29nZERNN1hHNWNkRngwZlNCbGJITmxJR2xtSUNneUlDb2dkRE1nUENBeEtTQjdYRzVjZEZ4MFhIUjJZV3dnUFNCME1qdGNibHgwWEhSOUlHVnNjMlVnYVdZZ0tETWdLaUIwTXlBOElESXBJSHRjYmx4MFhIUmNkSFpoYkNBOUlIUXhJQ3NnS0hReUlDMGdkREVwSUNvZ0tESWdMeUF6SUMwZ2RETXBJQ29nTmp0Y2JseDBYSFI5SUdWc2MyVWdlMXh1WEhSY2RGeDBkbUZzSUQwZ2RERTdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGNtZGlXMmxkSUQwZ2RtRnNJQ29nTWpVMU8xeHVYSFI5WEc1Y2JseDBjbVYwZFhKdUlISm5ZanRjYm4wN1hHNWNibU52Ym5abGNuUXVhSE5zTG1oemRpQTlJR1oxYm1OMGFXOXVJQ2hvYzJ3cElIdGNibHgwZG1GeUlHZ2dQU0JvYzJ4Yk1GMDdYRzVjZEhaaGNpQnpJRDBnYUhOc1d6RmRJQzhnTVRBd08xeHVYSFIyWVhJZ2JDQTlJR2h6YkZzeVhTQXZJREV3TUR0Y2JseDBkbUZ5SUhOdGFXNGdQU0J6TzF4dVhIUjJZWElnYkcxcGJpQTlJRTFoZEdndWJXRjRLR3dzSURBdU1ERXBPMXh1WEhSMllYSWdjM1k3WEc1Y2RIWmhjaUIyTzF4dVhHNWNkR3dnS2owZ01qdGNibHgwY3lBcVBTQW9iQ0E4UFNBeEtTQS9JR3dnT2lBeUlDMGdiRHRjYmx4MGMyMXBiaUFxUFNCc2JXbHVJRHc5SURFZ1B5QnNiV2x1SURvZ01pQXRJR3h0YVc0N1hHNWNkSFlnUFNBb2JDQXJJSE1wSUM4Z01qdGNibHgwYzNZZ1BTQnNJRDA5UFNBd0lEOGdLRElnS2lCemJXbHVLU0F2SUNoc2JXbHVJQ3NnYzIxcGJpa2dPaUFvTWlBcUlITXBJQzhnS0d3Z0t5QnpLVHRjYmx4dVhIUnlaWFIxY200Z1cyZ3NJSE4ySUNvZ01UQXdMQ0IySUNvZ01UQXdYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVhSE4yTG5KbllpQTlJR1oxYm1OMGFXOXVJQ2hvYzNZcElIdGNibHgwZG1GeUlHZ2dQU0JvYzNaYk1GMGdMeUEyTUR0Y2JseDBkbUZ5SUhNZ1BTQm9jM1piTVYwZ0x5QXhNREE3WEc1Y2RIWmhjaUIySUQwZ2FITjJXekpkSUM4Z01UQXdPMXh1WEhSMllYSWdhR2tnUFNCTllYUm9MbVpzYjI5eUtHZ3BJQ1VnTmp0Y2JseHVYSFIyWVhJZ1ppQTlJR2dnTFNCTllYUm9MbVpzYjI5eUtHZ3BPMXh1WEhSMllYSWdjQ0E5SURJMU5TQXFJSFlnS2lBb01TQXRJSE1wTzF4dVhIUjJZWElnY1NBOUlESTFOU0FxSUhZZ0tpQW9NU0F0SUNoeklDb2daaWtwTzF4dVhIUjJZWElnZENBOUlESTFOU0FxSUhZZ0tpQW9NU0F0SUNoeklDb2dLREVnTFNCbUtTa3BPMXh1WEhSMklDbzlJREkxTlR0Y2JseHVYSFJ6ZDJsMFkyZ2dLR2hwS1NCN1hHNWNkRngwWTJGelpTQXdPbHh1WEhSY2RGeDBjbVYwZFhKdUlGdDJMQ0IwTENCd1hUdGNibHgwWEhSallYTmxJREU2WEc1Y2RGeDBYSFJ5WlhSMWNtNGdXM0VzSUhZc0lIQmRPMXh1WEhSY2RHTmhjMlVnTWpwY2JseDBYSFJjZEhKbGRIVnliaUJiY0N3Z2Rpd2dkRjA3WEc1Y2RGeDBZMkZ6WlNBek9seHVYSFJjZEZ4MGNtVjBkWEp1SUZ0d0xDQnhMQ0IyWFR0Y2JseDBYSFJqWVhObElEUTZYRzVjZEZ4MFhIUnlaWFIxY200Z1czUXNJSEFzSUhaZE8xeHVYSFJjZEdOaGMyVWdOVHBjYmx4MFhIUmNkSEpsZEhWeWJpQmJkaXdnY0N3Z2NWMDdYRzVjZEgxY2JuMDdYRzVjYm1OdmJuWmxjblF1YUhOMkxtaHpiQ0E5SUdaMWJtTjBhVzl1SUNob2MzWXBJSHRjYmx4MGRtRnlJR2dnUFNCb2MzWmJNRjA3WEc1Y2RIWmhjaUJ6SUQwZ2FITjJXekZkSUM4Z01UQXdPMXh1WEhSMllYSWdkaUE5SUdoemRsc3lYU0F2SURFd01EdGNibHgwZG1GeUlIWnRhVzRnUFNCTllYUm9MbTFoZUNoMkxDQXdMakF4S1R0Y2JseDBkbUZ5SUd4dGFXNDdYRzVjZEhaaGNpQnpiRHRjYmx4MGRtRnlJR3c3WEc1Y2JseDBiQ0E5SUNneUlDMGdjeWtnS2lCMk8xeHVYSFJzYldsdUlEMGdLRElnTFNCektTQXFJSFp0YVc0N1hHNWNkSE5zSUQwZ2N5QXFJSFp0YVc0N1hHNWNkSE5zSUM4OUlDaHNiV2x1SUR3OUlERXBJRDhnYkcxcGJpQTZJRElnTFNCc2JXbHVPMXh1WEhSemJDQTlJSE5zSUh4OElEQTdYRzVjZEd3Z0x6MGdNanRjYmx4dVhIUnlaWFIxY200Z1cyZ3NJSE5zSUNvZ01UQXdMQ0JzSUNvZ01UQXdYVHRjYm4wN1hHNWNiaTh2SUdoMGRIQTZMeTlrWlhZdWR6TXViM0puTDJOemMzZG5MMk56Y3kxamIyeHZjaThqYUhkaUxYUnZMWEpuWWx4dVkyOXVkbVZ5ZEM1b2QySXVjbWRpSUQwZ1puVnVZM1JwYjI0Z0tHaDNZaWtnZTF4dVhIUjJZWElnYUNBOUlHaDNZbHN3WFNBdklETTJNRHRjYmx4MGRtRnlJSGRvSUQwZ2FIZGlXekZkSUM4Z01UQXdPMXh1WEhSMllYSWdZbXdnUFNCb2QySmJNbDBnTHlBeE1EQTdYRzVjZEhaaGNpQnlZWFJwYnlBOUlIZG9JQ3NnWW13N1hHNWNkSFpoY2lCcE8xeHVYSFIyWVhJZ2RqdGNibHgwZG1GeUlHWTdYRzVjZEhaaGNpQnVPMXh1WEc1Y2RDOHZJSGRvSUNzZ1ltd2dZMkZ1ZENCaVpTQStJREZjYmx4MGFXWWdLSEpoZEdsdklENGdNU2tnZTF4dVhIUmNkSGRvSUM4OUlISmhkR2x2TzF4dVhIUmNkR0pzSUM4OUlISmhkR2x2TzF4dVhIUjlYRzVjYmx4MGFTQTlJRTFoZEdndVpteHZiM0lvTmlBcUlHZ3BPMXh1WEhSMklEMGdNU0F0SUdKc08xeHVYSFJtSUQwZ05pQXFJR2dnTFNCcE8xeHVYRzVjZEdsbUlDZ29hU0FtSURCNE1ERXBJQ0U5UFNBd0tTQjdYRzVjZEZ4MFppQTlJREVnTFNCbU8xeHVYSFI5WEc1Y2JseDBiaUE5SUhkb0lDc2daaUFxSUNoMklDMGdkMmdwT3lBdkx5QnNhVzVsWVhJZ2FXNTBaWEp3YjJ4aGRHbHZibHh1WEc1Y2RIWmhjaUJ5TzF4dVhIUjJZWElnWnp0Y2JseDBkbUZ5SUdJN1hHNWNkSE4zYVhSamFDQW9hU2tnZTF4dVhIUmNkR1JsWm1GMWJIUTZYRzVjZEZ4MFkyRnpaU0EyT2x4dVhIUmNkR05oYzJVZ01Eb2djaUE5SUhZN0lHY2dQU0J1T3lCaUlEMGdkMmc3SUdKeVpXRnJPMXh1WEhSY2RHTmhjMlVnTVRvZ2NpQTlJRzQ3SUdjZ1BTQjJPeUJpSUQwZ2QyZzdJR0p5WldGck8xeHVYSFJjZEdOaGMyVWdNam9nY2lBOUlIZG9PeUJuSUQwZ2Rqc2dZaUE5SUc0N0lHSnlaV0ZyTzF4dVhIUmNkR05oYzJVZ016b2djaUE5SUhkb095Qm5JRDBnYmpzZ1lpQTlJSFk3SUdKeVpXRnJPMXh1WEhSY2RHTmhjMlVnTkRvZ2NpQTlJRzQ3SUdjZ1BTQjNhRHNnWWlBOUlIWTdJR0p5WldGck8xeHVYSFJjZEdOaGMyVWdOVG9nY2lBOUlIWTdJR2NnUFNCM2FEc2dZaUE5SUc0N0lHSnlaV0ZyTzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUZ0eUlDb2dNalUxTENCbklDb2dNalUxTENCaUlDb2dNalUxWFR0Y2JuMDdYRzVjYm1OdmJuWmxjblF1WTIxNWF5NXlaMklnUFNCbWRXNWpkR2x2YmlBb1kyMTVheWtnZTF4dVhIUjJZWElnWXlBOUlHTnRlV3RiTUYwZ0x5QXhNREE3WEc1Y2RIWmhjaUJ0SUQwZ1kyMTVhMXN4WFNBdklERXdNRHRjYmx4MGRtRnlJSGtnUFNCamJYbHJXekpkSUM4Z01UQXdPMXh1WEhSMllYSWdheUE5SUdOdGVXdGJNMTBnTHlBeE1EQTdYRzVjZEhaaGNpQnlPMXh1WEhSMllYSWdaenRjYmx4MGRtRnlJR0k3WEc1Y2JseDBjaUE5SURFZ0xTQk5ZWFJvTG0xcGJpZ3hMQ0JqSUNvZ0tERWdMU0JyS1NBcklHc3BPMXh1WEhSbklEMGdNU0F0SUUxaGRHZ3ViV2x1S0RFc0lHMGdLaUFvTVNBdElHc3BJQ3NnYXlrN1hHNWNkR0lnUFNBeElDMGdUV0YwYUM1dGFXNG9NU3dnZVNBcUlDZ3hJQzBnYXlrZ0t5QnJLVHRjYmx4dVhIUnlaWFIxY200Z1czSWdLaUF5TlRVc0lHY2dLaUF5TlRVc0lHSWdLaUF5TlRWZE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1NGVYb3VjbWRpSUQwZ1puVnVZM1JwYjI0Z0tIaDVlaWtnZTF4dVhIUjJZWElnZUNBOUlIaDVlbHN3WFNBdklERXdNRHRjYmx4MGRtRnlJSGtnUFNCNGVYcGJNVjBnTHlBeE1EQTdYRzVjZEhaaGNpQjZJRDBnZUhsNld6SmRJQzhnTVRBd08xeHVYSFIyWVhJZ2NqdGNibHgwZG1GeUlHYzdYRzVjZEhaaGNpQmlPMXh1WEc1Y2RISWdQU0FvZUNBcUlETXVNalF3TmlrZ0t5QW9lU0FxSUMweExqVXpOeklwSUNzZ0tIb2dLaUF0TUM0ME9UZzJLVHRjYmx4MFp5QTlJQ2g0SUNvZ0xUQXVPVFk0T1NrZ0t5QW9lU0FxSURFdU9EYzFPQ2tnS3lBb2VpQXFJREF1TURReE5TazdYRzVjZEdJZ1BTQW9lQ0FxSURBdU1EVTFOeWtnS3lBb2VTQXFJQzB3TGpJd05EQXBJQ3NnS0hvZ0tpQXhMakExTnpBcE8xeHVYRzVjZEM4dklHRnpjM1Z0WlNCelVrZENYRzVjZEhJZ1BTQnlJRDRnTUM0d01ETXhNekE0WEc1Y2RGeDBQeUFvS0RFdU1EVTFJQ29nVFdGMGFDNXdiM2NvY2l3Z01TNHdJQzhnTWk0MEtTa2dMU0F3TGpBMU5TbGNibHgwWEhRNklISWdLaUF4TWk0NU1qdGNibHh1WEhSbklEMGdaeUErSURBdU1EQXpNVE13T0Z4dVhIUmNkRDhnS0NneExqQTFOU0FxSUUxaGRHZ3VjRzkzS0djc0lERXVNQ0F2SURJdU5Da3BJQzBnTUM0d05UVXBYRzVjZEZ4ME9pQm5JQ29nTVRJdU9USTdYRzVjYmx4MFlpQTlJR0lnUGlBd0xqQXdNekV6TURoY2JseDBYSFEvSUNnb01TNHdOVFVnS2lCTllYUm9MbkJ2ZHloaUxDQXhMakFnTHlBeUxqUXBLU0F0SURBdU1EVTFLVnh1WEhSY2REb2dZaUFxSURFeUxqa3lPMXh1WEc1Y2RISWdQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2d3TENCeUtTd2dNU2s3WEc1Y2RHY2dQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2d3TENCbktTd2dNU2s3WEc1Y2RHSWdQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2d3TENCaUtTd2dNU2s3WEc1Y2JseDBjbVYwZFhKdUlGdHlJQ29nTWpVMUxDQm5JQ29nTWpVMUxDQmlJQ29nTWpVMVhUdGNibjA3WEc1Y2JtTnZiblpsY25RdWVIbDZMbXhoWWlBOUlHWjFibU4wYVc5dUlDaDRlWG9wSUh0Y2JseDBkbUZ5SUhnZ1BTQjRlWHBiTUYwN1hHNWNkSFpoY2lCNUlEMGdlSGw2V3pGZE8xeHVYSFIyWVhJZ2VpQTlJSGg1ZWxzeVhUdGNibHgwZG1GeUlHdzdYRzVjZEhaaGNpQmhPMXh1WEhSMllYSWdZanRjYmx4dVhIUjRJQzg5SURrMUxqQTBOenRjYmx4MGVTQXZQU0F4TURBN1hHNWNkSG9nTHowZ01UQTRMamc0TXp0Y2JseHVYSFI0SUQwZ2VDQStJREF1TURBNE9EVTJJRDhnVFdGMGFDNXdiM2NvZUN3Z01TQXZJRE1wSURvZ0tEY3VOemczSUNvZ2VDa2dLeUFvTVRZZ0x5QXhNVFlwTzF4dVhIUjVJRDBnZVNBK0lEQXVNREE0T0RVMklEOGdUV0YwYUM1d2IzY29lU3dnTVNBdklETXBJRG9nS0RjdU56ZzNJQ29nZVNrZ0t5QW9NVFlnTHlBeE1UWXBPMXh1WEhSNklEMGdlaUErSURBdU1EQTRPRFUySUQ4Z1RXRjBhQzV3YjNjb2Vpd2dNU0F2SURNcElEb2dLRGN1TnpnM0lDb2dlaWtnS3lBb01UWWdMeUF4TVRZcE8xeHVYRzVjZEd3Z1BTQW9NVEUySUNvZ2VTa2dMU0F4Tmp0Y2JseDBZU0E5SURVd01DQXFJQ2g0SUMwZ2VTazdYRzVjZEdJZ1BTQXlNREFnS2lBb2VTQXRJSG9wTzF4dVhHNWNkSEpsZEhWeWJpQmJiQ3dnWVN3Z1lsMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExteGhZaTU0ZVhvZ1BTQm1kVzVqZEdsdmJpQW9iR0ZpS1NCN1hHNWNkSFpoY2lCc0lEMGdiR0ZpV3pCZE8xeHVYSFIyWVhJZ1lTQTlJR3hoWWxzeFhUdGNibHgwZG1GeUlHSWdQU0JzWVdKYk1sMDdYRzVjZEhaaGNpQjRPMXh1WEhSMllYSWdlVHRjYmx4MGRtRnlJSG83WEc1Y2JseDBlU0E5SUNoc0lDc2dNVFlwSUM4Z01URTJPMXh1WEhSNElEMGdZU0F2SURVd01DQXJJSGs3WEc1Y2RIb2dQU0I1SUMwZ1lpQXZJREl3TUR0Y2JseHVYSFIyWVhJZ2VUSWdQU0JOWVhSb0xuQnZkeWg1TENBektUdGNibHgwZG1GeUlIZ3lJRDBnVFdGMGFDNXdiM2NvZUN3Z015azdYRzVjZEhaaGNpQjZNaUE5SUUxaGRHZ3VjRzkzS0hvc0lETXBPMXh1WEhSNUlEMGdlVElnUGlBd0xqQXdPRGcxTmlBL0lIa3lJRG9nS0hrZ0xTQXhOaUF2SURFeE5pa2dMeUEzTGpjNE56dGNibHgwZUNBOUlIZ3lJRDRnTUM0d01EZzROVFlnUHlCNE1pQTZJQ2g0SUMwZ01UWWdMeUF4TVRZcElDOGdOeTQzT0RjN1hHNWNkSG9nUFNCNk1pQStJREF1TURBNE9EVTJJRDhnZWpJZ09pQW9laUF0SURFMklDOGdNVEUyS1NBdklEY3VOemczTzF4dVhHNWNkSGdnS2owZ09UVXVNRFEzTzF4dVhIUjVJQ285SURFd01EdGNibHgwZWlBcVBTQXhNRGd1T0Rnek8xeHVYRzVjZEhKbGRIVnliaUJiZUN3Z2VTd2dlbDA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbXhoWWk1c1kyZ2dQU0JtZFc1amRHbHZiaUFvYkdGaUtTQjdYRzVjZEhaaGNpQnNJRDBnYkdGaVd6QmRPMXh1WEhSMllYSWdZU0E5SUd4aFlsc3hYVHRjYmx4MGRtRnlJR0lnUFNCc1lXSmJNbDA3WEc1Y2RIWmhjaUJvY2p0Y2JseDBkbUZ5SUdnN1hHNWNkSFpoY2lCak8xeHVYRzVjZEdoeUlEMGdUV0YwYUM1aGRHRnVNaWhpTENCaEtUdGNibHgwYUNBOUlHaHlJQ29nTXpZd0lDOGdNaUF2SUUxaGRHZ3VVRWs3WEc1Y2JseDBhV1lnS0dnZ1BDQXdLU0I3WEc1Y2RGeDBhQ0FyUFNBek5qQTdYRzVjZEgxY2JseHVYSFJqSUQwZ1RXRjBhQzV6Y1hKMEtHRWdLaUJoSUNzZ1lpQXFJR0lwTzF4dVhHNWNkSEpsZEhWeWJpQmJiQ3dnWXl3Z2FGMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExteGphQzVzWVdJZ1BTQm1kVzVqZEdsdmJpQW9iR05vS1NCN1hHNWNkSFpoY2lCc0lEMGdiR05vV3pCZE8xeHVYSFIyWVhJZ1l5QTlJR3hqYUZzeFhUdGNibHgwZG1GeUlHZ2dQU0JzWTJoYk1sMDdYRzVjZEhaaGNpQmhPMXh1WEhSMllYSWdZanRjYmx4MGRtRnlJR2h5TzF4dVhHNWNkR2h5SUQwZ2FDQXZJRE0yTUNBcUlESWdLaUJOWVhSb0xsQkpPMXh1WEhSaElEMGdZeUFxSUUxaGRHZ3VZMjl6S0doeUtUdGNibHgwWWlBOUlHTWdLaUJOWVhSb0xuTnBiaWhvY2lrN1hHNWNibHgwY21WMGRYSnVJRnRzTENCaExDQmlYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG1GdWMya3hOaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RIWmhjaUJ5SUQwZ1lYSm5jMXN3WFR0Y2JseDBkbUZ5SUdjZ1BTQmhjbWR6V3pGZE8xeHVYSFIyWVhJZ1lpQTlJR0Z5WjNOYk1sMDdYRzVjZEhaaGNpQjJZV3gxWlNBOUlERWdhVzRnWVhKbmRXMWxiblJ6SUQ4Z1lYSm5kVzFsYm5Seld6RmRJRG9nWTI5dWRtVnlkQzV5WjJJdWFITjJLR0Z5WjNNcFd6SmRPeUF2THlCb2MzWWdMVDRnWVc1emFURTJJRzl3ZEdsdGFYcGhkR2x2Ymx4dVhHNWNkSFpoYkhWbElEMGdUV0YwYUM1eWIzVnVaQ2gyWVd4MVpTQXZJRFV3S1R0Y2JseHVYSFJwWmlBb2RtRnNkV1VnUFQwOUlEQXBJSHRjYmx4MFhIUnlaWFIxY200Z016QTdYRzVjZEgxY2JseHVYSFIyWVhJZ1lXNXphU0E5SURNd1hHNWNkRngwS3lBb0tFMWhkR2d1Y205MWJtUW9ZaUF2SURJMU5Ta2dQRHdnTWlsY2JseDBYSFI4SUNoTllYUm9Mbkp2ZFc1a0tHY2dMeUF5TlRVcElEdzhJREVwWEc1Y2RGeDBmQ0JOWVhSb0xuSnZkVzVrS0hJZ0x5QXlOVFVwS1R0Y2JseHVYSFJwWmlBb2RtRnNkV1VnUFQwOUlESXBJSHRjYmx4MFhIUmhibk5wSUNzOUlEWXdPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJR0Z1YzJrN1hHNTlPMXh1WEc1amIyNTJaWEowTG1oemRpNWhibk5wTVRZZ1BTQm1kVzVqZEdsdmJpQW9ZWEpuY3lrZ2UxeHVYSFF2THlCdmNIUnBiV2w2WVhScGIyNGdhR1Z5WlRzZ2QyVWdZV3h5WldGa2VTQnJibTkzSUhSb1pTQjJZV3gxWlNCaGJtUWdaRzl1SjNRZ2JtVmxaQ0IwYnlCblpYUmNibHgwTHk4Z2FYUWdZMjl1ZG1WeWRHVmtJR1p2Y2lCMWN5NWNibHgwY21WMGRYSnVJR052Ym5abGNuUXVjbWRpTG1GdWMya3hOaWhqYjI1MlpYSjBMbWh6ZGk1eVoySW9ZWEpuY3lrc0lHRnlaM05iTWwwcE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1eVoySXVZVzV6YVRJMU5pQTlJR1oxYm1OMGFXOXVJQ2hoY21kektTQjdYRzVjZEhaaGNpQnlJRDBnWVhKbmMxc3dYVHRjYmx4MGRtRnlJR2NnUFNCaGNtZHpXekZkTzF4dVhIUjJZWElnWWlBOUlHRnlaM05iTWwwN1hHNWNibHgwTHk4Z2QyVWdkWE5sSUhSb1pTQmxlSFJsYm1SbFpDQm5jbVY1YzJOaGJHVWdjR0ZzWlhSMFpTQm9aWEpsTENCM2FYUm9JSFJvWlNCbGVHTmxjSFJwYjI0Z2IyWmNibHgwTHk4Z1lteGhZMnNnWVc1a0lIZG9hWFJsTGlCdWIzSnRZV3dnY0dGc1pYUjBaU0J2Ym14NUlHaGhjeUEwSUdkeVpYbHpZMkZzWlNCemFHRmtaWE11WEc1Y2RHbG1JQ2h5SUQwOVBTQm5JQ1ltSUdjZ1BUMDlJR0lwSUh0Y2JseDBYSFJwWmlBb2NpQThJRGdwSUh0Y2JseDBYSFJjZEhKbGRIVnliaUF4Tmp0Y2JseDBYSFI5WEc1Y2JseDBYSFJwWmlBb2NpQStJREkwT0NrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1SURJek1UdGNibHgwWEhSOVhHNWNibHgwWEhSeVpYUjFjbTRnVFdGMGFDNXliM1Z1WkNnb0tISWdMU0E0S1NBdklESTBOeWtnS2lBeU5Da2dLeUF5TXpJN1hHNWNkSDFjYmx4dVhIUjJZWElnWVc1emFTQTlJREUyWEc1Y2RGeDBLeUFvTXpZZ0tpQk5ZWFJvTG5KdmRXNWtLSElnTHlBeU5UVWdLaUExS1NsY2JseDBYSFFySUNnMklDb2dUV0YwYUM1eWIzVnVaQ2huSUM4Z01qVTFJQ29nTlNrcFhHNWNkRngwS3lCTllYUm9Mbkp2ZFc1a0tHSWdMeUF5TlRVZ0tpQTFLVHRjYmx4dVhIUnlaWFIxY200Z1lXNXphVHRjYm4wN1hHNWNibU52Ym5abGNuUXVZVzV6YVRFMkxuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RIWmhjaUJqYjJ4dmNpQTlJR0Z5WjNNZ0pTQXhNRHRjYmx4dVhIUXZMeUJvWVc1a2JHVWdaM0psZVhOallXeGxYRzVjZEdsbUlDaGpiMnh2Y2lBOVBUMGdNQ0I4ZkNCamIyeHZjaUE5UFQwZ055a2dlMXh1WEhSY2RHbG1JQ2hoY21keklENGdOVEFwSUh0Y2JseDBYSFJjZEdOdmJHOXlJQ3M5SURNdU5UdGNibHgwWEhSOVhHNWNibHgwWEhSamIyeHZjaUE5SUdOdmJHOXlJQzhnTVRBdU5TQXFJREkxTlR0Y2JseHVYSFJjZEhKbGRIVnliaUJiWTI5c2IzSXNJR052Ykc5eUxDQmpiMnh2Y2wwN1hHNWNkSDFjYmx4dVhIUjJZWElnYlhWc2RDQTlJQ2grZmloaGNtZHpJRDRnTlRBcElDc2dNU2tnS2lBd0xqVTdYRzVjZEhaaGNpQnlJRDBnS0NoamIyeHZjaUFtSURFcElDb2diWFZzZENrZ0tpQXlOVFU3WEc1Y2RIWmhjaUJuSUQwZ0tDZ29ZMjlzYjNJZ1BqNGdNU2tnSmlBeEtTQXFJRzExYkhRcElDb2dNalUxTzF4dVhIUjJZWElnWWlBOUlDZ29LR052Ykc5eUlENCtJRElwSUNZZ01Ta2dLaUJ0ZFd4MEtTQXFJREkxTlR0Y2JseHVYSFJ5WlhSMWNtNGdXM0lzSUdjc0lHSmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNWhibk5wTWpVMkxuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RDOHZJR2hoYm1Sc1pTQm5jbVY1YzJOaGJHVmNibHgwYVdZZ0tHRnlaM01nUGowZ01qTXlLU0I3WEc1Y2RGeDBkbUZ5SUdNZ1BTQW9ZWEpuY3lBdElESXpNaWtnS2lBeE1DQXJJRGc3WEc1Y2RGeDBjbVYwZFhKdUlGdGpMQ0JqTENCalhUdGNibHgwZlZ4dVhHNWNkR0Z5WjNNZ0xUMGdNVFk3WEc1Y2JseDBkbUZ5SUhKbGJUdGNibHgwZG1GeUlISWdQU0JOWVhSb0xtWnNiMjl5S0dGeVozTWdMeUF6TmlrZ0x5QTFJQ29nTWpVMU8xeHVYSFIyWVhJZ1p5QTlJRTFoZEdndVpteHZiM0lvS0hKbGJTQTlJR0Z5WjNNZ0pTQXpOaWtnTHlBMktTQXZJRFVnS2lBeU5UVTdYRzVjZEhaaGNpQmlJRDBnS0hKbGJTQWxJRFlwSUM4Z05TQXFJREkxTlR0Y2JseHVYSFJ5WlhSMWNtNGdXM0lzSUdjc0lHSmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNXlaMkl1YUdWNElEMGdablZ1WTNScGIyNGdLR0Z5WjNNcElIdGNibHgwZG1GeUlHbHVkR1ZuWlhJZ1BTQW9LRTFoZEdndWNtOTFibVFvWVhKbmMxc3dYU2tnSmlBd2VFWkdLU0E4UENBeE5pbGNibHgwWEhRcklDZ29UV0YwYUM1eWIzVnVaQ2hoY21keld6RmRLU0FtSURCNFJrWXBJRHc4SURncFhHNWNkRngwS3lBb1RXRjBhQzV5YjNWdVpDaGhjbWR6V3pKZEtTQW1JREI0UmtZcE8xeHVYRzVjZEhaaGNpQnpkSEpwYm1jZ1BTQnBiblJsWjJWeUxuUnZVM1J5YVc1bktERTJLUzUwYjFWd2NHVnlRMkZ6WlNncE8xeHVYSFJ5WlhSMWNtNGdKekF3TURBd01DY3VjM1ZpYzNSeWFXNW5LSE4wY21sdVp5NXNaVzVuZEdncElDc2djM1J5YVc1bk8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1b1pYZ3VjbWRpSUQwZ1puVnVZM1JwYjI0Z0tHRnlaM01wSUh0Y2JseDBkbUZ5SUcxaGRHTm9JRDBnWVhKbmN5NTBiMU4wY21sdVp5Z3hOaWt1YldGMFkyZ29MMXRoTFdZd0xUbGRlelo5ZkZ0aExXWXdMVGxkZXpOOUwya3BPMXh1WEhScFppQW9JVzFoZEdOb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUZzd0xDQXdMQ0F3WFR0Y2JseDBmVnh1WEc1Y2RIWmhjaUJqYjJ4dmNsTjBjbWx1WnlBOUlHMWhkR05vV3pCZE8xeHVYRzVjZEdsbUlDaHRZWFJqYUZzd1hTNXNaVzVuZEdnZ1BUMDlJRE1wSUh0Y2JseDBYSFJqYjJ4dmNsTjBjbWx1WnlBOUlHTnZiRzl5VTNSeWFXNW5Mbk53YkdsMEtDY25LUzV0WVhBb1puVnVZM1JwYjI0Z0tHTm9ZWElwSUh0Y2JseDBYSFJjZEhKbGRIVnliaUJqYUdGeUlDc2dZMmhoY2p0Y2JseDBYSFI5S1M1cWIybHVLQ2NuS1R0Y2JseDBmVnh1WEc1Y2RIWmhjaUJwYm5SbFoyVnlJRDBnY0dGeWMyVkpiblFvWTI5c2IzSlRkSEpwYm1jc0lERTJLVHRjYmx4MGRtRnlJSElnUFNBb2FXNTBaV2RsY2lBK1BpQXhOaWtnSmlBd2VFWkdPMXh1WEhSMllYSWdaeUE5SUNocGJuUmxaMlZ5SUQ0K0lEZ3BJQ1lnTUhoR1JqdGNibHgwZG1GeUlHSWdQU0JwYm5SbFoyVnlJQ1lnTUhoR1JqdGNibHh1WEhSeVpYUjFjbTRnVzNJc0lHY3NJR0pkTzF4dWZUdGNibHh1WTI5dWRtVnlkQzV5WjJJdWFHTm5JRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSMllYSWdjaUE5SUhKbllsc3dYU0F2SURJMU5UdGNibHgwZG1GeUlHY2dQU0J5WjJKYk1WMGdMeUF5TlRVN1hHNWNkSFpoY2lCaUlEMGdjbWRpV3pKZElDOGdNalUxTzF4dVhIUjJZWElnYldGNElEMGdUV0YwYUM1dFlYZ29UV0YwYUM1dFlYZ29jaXdnWnlrc0lHSXBPMXh1WEhSMllYSWdiV2x1SUQwZ1RXRjBhQzV0YVc0b1RXRjBhQzV0YVc0b2Npd2daeWtzSUdJcE8xeHVYSFIyWVhJZ1kyaHliMjFoSUQwZ0tHMWhlQ0F0SUcxcGJpazdYRzVjZEhaaGNpQm5jbUY1YzJOaGJHVTdYRzVjZEhaaGNpQm9kV1U3WEc1Y2JseDBhV1lnS0dOb2NtOXRZU0E4SURFcElIdGNibHgwWEhSbmNtRjVjMk5oYkdVZ1BTQnRhVzRnTHlBb01TQXRJR05vY205dFlTazdYRzVjZEgwZ1pXeHpaU0I3WEc1Y2RGeDBaM0poZVhOallXeGxJRDBnTUR0Y2JseDBmVnh1WEc1Y2RHbG1JQ2hqYUhKdmJXRWdQRDBnTUNrZ2UxeHVYSFJjZEdoMVpTQTlJREE3WEc1Y2RIMGdaV3h6WlZ4dVhIUnBaaUFvYldGNElEMDlQU0J5S1NCN1hHNWNkRngwYUhWbElEMGdLQ2huSUMwZ1lpa2dMeUJqYUhKdmJXRXBJQ1VnTmp0Y2JseDBmU0JsYkhObFhHNWNkR2xtSUNodFlYZ2dQVDA5SUdjcElIdGNibHgwWEhSb2RXVWdQU0F5SUNzZ0tHSWdMU0J5S1NBdklHTm9jbTl0WVR0Y2JseDBmU0JsYkhObElIdGNibHgwWEhSb2RXVWdQU0EwSUNzZ0tISWdMU0JuS1NBdklHTm9jbTl0WVNBcklEUTdYRzVjZEgxY2JseHVYSFJvZFdVZ0x6MGdOanRjYmx4MGFIVmxJQ1U5SURFN1hHNWNibHgwY21WMGRYSnVJRnRvZFdVZ0tpQXpOakFzSUdOb2NtOXRZU0FxSURFd01Dd2daM0poZVhOallXeGxJQ29nTVRBd1hUdGNibjA3WEc1Y2JtTnZiblpsY25RdWFITnNMbWhqWnlBOUlHWjFibU4wYVc5dUlDaG9jMndwSUh0Y2JseDBkbUZ5SUhNZ1BTQm9jMnhiTVYwZ0x5QXhNREE3WEc1Y2RIWmhjaUJzSUQwZ2FITnNXekpkSUM4Z01UQXdPMXh1WEhSMllYSWdZeUE5SURFN1hHNWNkSFpoY2lCbUlEMGdNRHRjYmx4dVhIUnBaaUFvYkNBOElEQXVOU2tnZTF4dVhIUmNkR01nUFNBeUxqQWdLaUJ6SUNvZ2JEdGNibHgwZlNCbGJITmxJSHRjYmx4MFhIUmpJRDBnTWk0d0lDb2djeUFxSUNneExqQWdMU0JzS1R0Y2JseDBmVnh1WEc1Y2RHbG1JQ2hqSUR3Z01TNHdLU0I3WEc1Y2RGeDBaaUE5SUNoc0lDMGdNQzQxSUNvZ1l5a2dMeUFvTVM0d0lDMGdZeWs3WEc1Y2RIMWNibHh1WEhSeVpYUjFjbTRnVzJoemJGc3dYU3dnWXlBcUlERXdNQ3dnWmlBcUlERXdNRjA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbWh6ZGk1b1kyY2dQU0JtZFc1amRHbHZiaUFvYUhOMktTQjdYRzVjZEhaaGNpQnpJRDBnYUhOMld6RmRJQzhnTVRBd08xeHVYSFIyWVhJZ2RpQTlJR2h6ZGxzeVhTQXZJREV3TUR0Y2JseHVYSFIyWVhJZ1l5QTlJSE1nS2lCMk8xeHVYSFIyWVhJZ1ppQTlJREE3WEc1Y2JseDBhV1lnS0dNZ1BDQXhMakFwSUh0Y2JseDBYSFJtSUQwZ0tIWWdMU0JqS1NBdklDZ3hJQzBnWXlrN1hHNWNkSDFjYmx4dVhIUnlaWFIxY200Z1cyaHpkbHN3WFN3Z1l5QXFJREV3TUN3Z1ppQXFJREV3TUYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1oalp5NXlaMklnUFNCbWRXNWpkR2x2YmlBb2FHTm5LU0I3WEc1Y2RIWmhjaUJvSUQwZ2FHTm5XekJkSUM4Z016WXdPMXh1WEhSMllYSWdZeUE5SUdoaloxc3hYU0F2SURFd01EdGNibHgwZG1GeUlHY2dQU0JvWTJkYk1sMGdMeUF4TURBN1hHNWNibHgwYVdZZ0tHTWdQVDA5SURBdU1Da2dlMXh1WEhSY2RISmxkSFZ5YmlCYlp5QXFJREkxTlN3Z1p5QXFJREkxTlN3Z1p5QXFJREkxTlYwN1hHNWNkSDFjYmx4dVhIUjJZWElnY0hWeVpTQTlJRnN3TENBd0xDQXdYVHRjYmx4MGRtRnlJR2hwSUQwZ0tHZ2dKU0F4S1NBcUlEWTdYRzVjZEhaaGNpQjJJRDBnYUdrZ0pTQXhPMXh1WEhSMllYSWdkeUE5SURFZ0xTQjJPMXh1WEhSMllYSWdiV2NnUFNBd08xeHVYRzVjZEhOM2FYUmphQ0FvVFdGMGFDNW1iRzl2Y2lob2FTa3BJSHRjYmx4MFhIUmpZWE5sSURBNlhHNWNkRngwWEhSd2RYSmxXekJkSUQwZ01Uc2djSFZ5WlZzeFhTQTlJSFk3SUhCMWNtVmJNbDBnUFNBd095QmljbVZoYXp0Y2JseDBYSFJqWVhObElERTZYRzVjZEZ4MFhIUndkWEpsV3pCZElEMGdkenNnY0hWeVpWc3hYU0E5SURFN0lIQjFjbVZiTWwwZ1BTQXdPeUJpY21WaGF6dGNibHgwWEhSallYTmxJREk2WEc1Y2RGeDBYSFJ3ZFhKbFd6QmRJRDBnTURzZ2NIVnlaVnN4WFNBOUlERTdJSEIxY21WYk1sMGdQU0IyT3lCaWNtVmhhenRjYmx4MFhIUmpZWE5sSURNNlhHNWNkRngwWEhSd2RYSmxXekJkSUQwZ01Ec2djSFZ5WlZzeFhTQTlJSGM3SUhCMWNtVmJNbDBnUFNBeE95QmljbVZoYXp0Y2JseDBYSFJqWVhObElEUTZYRzVjZEZ4MFhIUndkWEpsV3pCZElEMGdkanNnY0hWeVpWc3hYU0E5SURBN0lIQjFjbVZiTWwwZ1BTQXhPeUJpY21WaGF6dGNibHgwWEhSa1pXWmhkV3gwT2x4dVhIUmNkRngwY0hWeVpWc3dYU0E5SURFN0lIQjFjbVZiTVYwZ1BTQXdPeUJ3ZFhKbFd6SmRJRDBnZHp0Y2JseDBmVnh1WEc1Y2RHMW5JRDBnS0RFdU1DQXRJR01wSUNvZ1p6dGNibHh1WEhSeVpYUjFjbTRnVzF4dVhIUmNkQ2hqSUNvZ2NIVnlaVnN3WFNBcklHMW5LU0FxSURJMU5TeGNibHgwWEhRb1l5QXFJSEIxY21WYk1WMGdLeUJ0WnlrZ0tpQXlOVFVzWEc1Y2RGeDBLR01nS2lCd2RYSmxXekpkSUNzZ2JXY3BJQ29nTWpVMVhHNWNkRjA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbWhqWnk1b2MzWWdQU0JtZFc1amRHbHZiaUFvYUdObktTQjdYRzVjZEhaaGNpQmpJRDBnYUdObld6RmRJQzhnTVRBd08xeHVYSFIyWVhJZ1p5QTlJR2hqWjFzeVhTQXZJREV3TUR0Y2JseHVYSFIyWVhJZ2RpQTlJR01nS3lCbklDb2dLREV1TUNBdElHTXBPMXh1WEhSMllYSWdaaUE5SURBN1hHNWNibHgwYVdZZ0tIWWdQaUF3TGpBcElIdGNibHgwWEhSbUlEMGdZeUF2SUhZN1hHNWNkSDFjYmx4dVhIUnlaWFIxY200Z1cyaGpaMXN3WFN3Z1ppQXFJREV3TUN3Z2RpQXFJREV3TUYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1oalp5NW9jMndnUFNCbWRXNWpkR2x2YmlBb2FHTm5LU0I3WEc1Y2RIWmhjaUJqSUQwZ2FHTm5XekZkSUM4Z01UQXdPMXh1WEhSMllYSWdaeUE5SUdoaloxc3lYU0F2SURFd01EdGNibHh1WEhSMllYSWdiQ0E5SUdjZ0tpQW9NUzR3SUMwZ1l5a2dLeUF3TGpVZ0tpQmpPMXh1WEhSMllYSWdjeUE5SURBN1hHNWNibHgwYVdZZ0tHd2dQaUF3TGpBZ0ppWWdiQ0E4SURBdU5Ta2dlMXh1WEhSY2RITWdQU0JqSUM4Z0tESWdLaUJzS1R0Y2JseDBmU0JsYkhObFhHNWNkR2xtSUNoc0lENDlJREF1TlNBbUppQnNJRHdnTVM0d0tTQjdYRzVjZEZ4MGN5QTlJR01nTHlBb01pQXFJQ2d4SUMwZ2JDa3BPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJRnRvWTJkYk1GMHNJSE1nS2lBeE1EQXNJR3dnS2lBeE1EQmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNW9ZMmN1YUhkaUlEMGdablZ1WTNScGIyNGdLR2hqWnlrZ2UxeHVYSFIyWVhJZ1l5QTlJR2hqWjFzeFhTQXZJREV3TUR0Y2JseDBkbUZ5SUdjZ1BTQm9ZMmRiTWwwZ0x5QXhNREE3WEc1Y2RIWmhjaUIySUQwZ1l5QXJJR2NnS2lBb01TNHdJQzBnWXlrN1hHNWNkSEpsZEhWeWJpQmJhR05uV3pCZExDQW9kaUF0SUdNcElDb2dNVEF3TENBb01TQXRJSFlwSUNvZ01UQXdYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVhSGRpTG1oalp5QTlJR1oxYm1OMGFXOXVJQ2hvZDJJcElIdGNibHgwZG1GeUlIY2dQU0JvZDJKYk1WMGdMeUF4TURBN1hHNWNkSFpoY2lCaUlEMGdhSGRpV3pKZElDOGdNVEF3TzF4dVhIUjJZWElnZGlBOUlERWdMU0JpTzF4dVhIUjJZWElnWXlBOUlIWWdMU0IzTzF4dVhIUjJZWElnWnlBOUlEQTdYRzVjYmx4MGFXWWdLR01nUENBeEtTQjdYRzVjZEZ4MFp5QTlJQ2gySUMwZ1l5a2dMeUFvTVNBdElHTXBPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJRnRvZDJKYk1GMHNJR01nS2lBeE1EQXNJR2NnS2lBeE1EQmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNWhjSEJzWlM1eVoySWdQU0JtZFc1amRHbHZiaUFvWVhCd2JHVXBJSHRjYmx4MGNtVjBkWEp1SUZzb1lYQndiR1ZiTUYwZ0x5QTJOVFV6TlNrZ0tpQXlOVFVzSUNoaGNIQnNaVnN4WFNBdklEWTFOVE0xS1NBcUlESTFOU3dnS0dGd2NHeGxXekpkSUM4Z05qVTFNelVwSUNvZ01qVTFYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG1Gd2NHeGxJRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSeVpYUjFjbTRnV3loeVoySmJNRjBnTHlBeU5UVXBJQ29nTmpVMU16VXNJQ2h5WjJKYk1WMGdMeUF5TlRVcElDb2dOalUxTXpVc0lDaHlaMkpiTWwwZ0x5QXlOVFVwSUNvZ05qVTFNelZkTzF4dWZUdGNibHh1WTI5dWRtVnlkQzVuY21GNUxuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RISmxkSFZ5YmlCYllYSm5jMXN3WFNBdklERXdNQ0FxSURJMU5Td2dZWEpuYzFzd1hTQXZJREV3TUNBcUlESTFOU3dnWVhKbmMxc3dYU0F2SURFd01DQXFJREkxTlYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1keVlYa3VhSE5zSUQwZ1kyOXVkbVZ5ZEM1bmNtRjVMbWh6ZGlBOUlHWjFibU4wYVc5dUlDaGhjbWR6S1NCN1hHNWNkSEpsZEhWeWJpQmJNQ3dnTUN3Z1lYSm5jMXN3WFYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1keVlYa3VhSGRpSUQwZ1puVnVZM1JwYjI0Z0tHZHlZWGtwSUh0Y2JseDBjbVYwZFhKdUlGc3dMQ0F4TURBc0lHZHlZWGxiTUYxZE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1bmNtRjVMbU50ZVdzZ1BTQm1kVzVqZEdsdmJpQW9aM0poZVNrZ2UxeHVYSFJ5WlhSMWNtNGdXekFzSURBc0lEQXNJR2R5WVhsYk1GMWRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNW5jbUY1TG14aFlpQTlJR1oxYm1OMGFXOXVJQ2huY21GNUtTQjdYRzVjZEhKbGRIVnliaUJiWjNKaGVWc3dYU3dnTUN3Z01GMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExtZHlZWGt1YUdWNElEMGdablZ1WTNScGIyNGdLR2R5WVhrcElIdGNibHgwZG1GeUlIWmhiQ0E5SUUxaGRHZ3VjbTkxYm1Rb1ozSmhlVnN3WFNBdklERXdNQ0FxSURJMU5Ta2dKaUF3ZUVaR08xeHVYSFIyWVhJZ2FXNTBaV2RsY2lBOUlDaDJZV3dnUER3Z01UWXBJQ3NnS0haaGJDQThQQ0E0S1NBcklIWmhiRHRjYmx4dVhIUjJZWElnYzNSeWFXNW5JRDBnYVc1MFpXZGxjaTUwYjFOMGNtbHVaeWd4TmlrdWRHOVZjSEJsY2tOaGMyVW9LVHRjYmx4MGNtVjBkWEp1SUNjd01EQXdNREFuTG5OMVluTjBjbWx1WnloemRISnBibWN1YkdWdVozUm9LU0FySUhOMGNtbHVaenRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG1keVlYa2dQU0JtZFc1amRHbHZiaUFvY21kaUtTQjdYRzVjZEhaaGNpQjJZV3dnUFNBb2NtZGlXekJkSUNzZ2NtZGlXekZkSUNzZ2NtZGlXekpkS1NBdklETTdYRzVjZEhKbGRIVnliaUJiZG1Gc0lDOGdNalUxSUNvZ01UQXdYVHRjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9jb252ZXJzaW9ucy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGNvbnZlcnNpb25zID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb252ZXJzaW9ucyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9jb252ZXJzaW9ucy5qc1xcXCIpO1xcbnZhciByb3V0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcm91dGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvcm91dGUuanNcXFwiKTtcXG5cXG52YXIgY29udmVydCA9IHt9O1xcblxcbnZhciBtb2RlbHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9ucyk7XFxuXFxuZnVuY3Rpb24gd3JhcFJhdyhmbikge1xcblxcdHZhciB3cmFwcGVkRm4gPSBmdW5jdGlvbiAoYXJncykge1xcblxcdFxcdGlmIChhcmdzID09PSB1bmRlZmluZWQgfHwgYXJncyA9PT0gbnVsbCkge1xcblxcdFxcdFxcdHJldHVybiBhcmdzO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcXG5cXHRcXHRcXHRhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIGZuKGFyZ3MpO1xcblxcdH07XFxuXFxuXFx0Ly8gcHJlc2VydmUgLmNvbnZlcnNpb24gcHJvcGVydHkgaWYgdGhlcmUgaXMgb25lXFxuXFx0aWYgKCdjb252ZXJzaW9uJyBpbiBmbikge1xcblxcdFxcdHdyYXBwZWRGbi5jb252ZXJzaW9uID0gZm4uY29udmVyc2lvbjtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIHdyYXBwZWRGbjtcXG59XFxuXFxuZnVuY3Rpb24gd3JhcFJvdW5kZWQoZm4pIHtcXG5cXHR2YXIgd3JhcHBlZEZuID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHRcXHRpZiAoYXJncyA9PT0gdW5kZWZpbmVkIHx8IGFyZ3MgPT09IG51bGwpIHtcXG5cXHRcXHRcXHRyZXR1cm4gYXJncztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XFxuXFx0XFx0XFx0YXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XFxuXFx0XFx0fVxcblxcblxcdFxcdHZhciByZXN1bHQgPSBmbihhcmdzKTtcXG5cXG5cXHRcXHQvLyB3ZSdyZSBhc3N1bWluZyB0aGUgcmVzdWx0IGlzIGFuIGFycmF5IGhlcmUuXFxuXFx0XFx0Ly8gc2VlIG5vdGljZSBpbiBjb252ZXJzaW9ucy5qczsgZG9uJ3QgdXNlIGJveCB0eXBlc1xcblxcdFxcdC8vIGluIGNvbnZlcnNpb24gZnVuY3Rpb25zLlxcblxcdFxcdGlmICh0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0Jykge1xcblxcdFxcdFxcdGZvciAodmFyIGxlbiA9IHJlc3VsdC5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG5cXHRcXHRcXHRcXHRyZXN1bHRbaV0gPSBNYXRoLnJvdW5kKHJlc3VsdFtpXSk7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmVzdWx0O1xcblxcdH07XFxuXFxuXFx0Ly8gcHJlc2VydmUgLmNvbnZlcnNpb24gcHJvcGVydHkgaWYgdGhlcmUgaXMgb25lXFxuXFx0aWYgKCdjb252ZXJzaW9uJyBpbiBmbikge1xcblxcdFxcdHdyYXBwZWRGbi5jb252ZXJzaW9uID0gZm4uY29udmVyc2lvbjtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIHdyYXBwZWRGbjtcXG59XFxuXFxubW9kZWxzLmZvckVhY2goZnVuY3Rpb24gKGZyb21Nb2RlbCkge1xcblxcdGNvbnZlcnRbZnJvbU1vZGVsXSA9IHt9O1xcblxcblxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb252ZXJ0W2Zyb21Nb2RlbF0sICdjaGFubmVscycsIHt2YWx1ZTogY29udmVyc2lvbnNbZnJvbU1vZGVsXS5jaGFubmVsc30pO1xcblxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb252ZXJ0W2Zyb21Nb2RlbF0sICdsYWJlbHMnLCB7dmFsdWU6IGNvbnZlcnNpb25zW2Zyb21Nb2RlbF0ubGFiZWxzfSk7XFxuXFxuXFx0dmFyIHJvdXRlcyA9IHJvdXRlKGZyb21Nb2RlbCk7XFxuXFx0dmFyIHJvdXRlTW9kZWxzID0gT2JqZWN0LmtleXMocm91dGVzKTtcXG5cXG5cXHRyb3V0ZU1vZGVscy5mb3JFYWNoKGZ1bmN0aW9uICh0b01vZGVsKSB7XFxuXFx0XFx0dmFyIGZuID0gcm91dGVzW3RvTW9kZWxdO1xcblxcblxcdFxcdGNvbnZlcnRbZnJvbU1vZGVsXVt0b01vZGVsXSA9IHdyYXBSb3VuZGVkKGZuKTtcXG5cXHRcXHRjb252ZXJ0W2Zyb21Nb2RlbF1bdG9Nb2RlbF0ucmF3ID0gd3JhcFJhdyhmbik7XFxuXFx0fSk7XFxufSk7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBjb252ZXJ0O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amIyeHZjaTFqYjI1MlpYSjBMMmx1WkdWNExtcHpQekl5TWpZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNhMFZCUVdVN1FVRkRla01zV1VGQldTeHRRa0ZCVHl4RFFVRkRMSE5FUVVGVE96dEJRVVUzUWpzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3hyUTBGQmEwTTdRVUZEYkVNN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXl4VFFVRlRPMEZCUTJoRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4M1JFRkJkMFFzZFVOQlFYVkRPMEZCUXk5R0xITkVRVUZ6UkN4eFEwRkJjVU03TzBGQlJUTkdPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHRCUVVOR0xFTkJRVU03TzBGQlJVUWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXNiM0l0WTI5dWRtVnlkQzlwYm1SbGVDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJqYjI1MlpYSnphVzl1Y3lBOUlISmxjWFZwY21Vb0p5NHZZMjl1ZG1WeWMybHZibk1uS1R0Y2JuWmhjaUJ5YjNWMFpTQTlJSEpsY1hWcGNtVW9KeTR2Y205MWRHVW5LVHRjYmx4dWRtRnlJR052Ym5abGNuUWdQU0I3ZlR0Y2JseHVkbUZ5SUcxdlpHVnNjeUE5SUU5aWFtVmpkQzVyWlhsektHTnZiblpsY25OcGIyNXpLVHRjYmx4dVpuVnVZM1JwYjI0Z2QzSmhjRkpoZHlobWJpa2dlMXh1WEhSMllYSWdkM0poY0hCbFpFWnVJRDBnWm5WdVkzUnBiMjRnS0dGeVozTXBJSHRjYmx4MFhIUnBaaUFvWVhKbmN5QTlQVDBnZFc1a1pXWnBibVZrSUh4OElHRnlaM01nUFQwOUlHNTFiR3dwSUh0Y2JseDBYSFJjZEhKbGRIVnliaUJoY21kek8xeHVYSFJjZEgxY2JseHVYSFJjZEdsbUlDaGhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU2tnZTF4dVhIUmNkRngwWVhKbmN5QTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR0Z5WjNWdFpXNTBjeWs3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbVYwZFhKdUlHWnVLR0Z5WjNNcE8xeHVYSFI5TzF4dVhHNWNkQzh2SUhCeVpYTmxjblpsSUM1amIyNTJaWEp6YVc5dUlIQnliM0JsY25SNUlHbG1JSFJvWlhKbElHbHpJRzl1WlZ4dVhIUnBaaUFvSjJOdmJuWmxjbk5wYjI0bklHbHVJR1p1S1NCN1hHNWNkRngwZDNKaGNIQmxaRVp1TG1OdmJuWmxjbk5wYjI0Z1BTQm1iaTVqYjI1MlpYSnphVzl1TzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUhkeVlYQndaV1JHYmp0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZDNKaGNGSnZkVzVrWldRb1ptNHBJSHRjYmx4MGRtRnlJSGR5WVhCd1pXUkdiaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RGeDBhV1lnS0dGeVozTWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQmhjbWR6SUQwOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSeVpYUjFjbTRnWVhKbmN6dGNibHgwWEhSOVhHNWNibHgwWEhScFppQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREVwSUh0Y2JseDBYSFJjZEdGeVozTWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1wTzF4dVhIUmNkSDFjYmx4dVhIUmNkSFpoY2lCeVpYTjFiSFFnUFNCbWJpaGhjbWR6S1R0Y2JseHVYSFJjZEM4dklIZGxKM0psSUdGemMzVnRhVzVuSUhSb1pTQnlaWE4xYkhRZ2FYTWdZVzRnWVhKeVlYa2dhR1Z5WlM1Y2JseDBYSFF2THlCelpXVWdibTkwYVdObElHbHVJR052Ym5abGNuTnBiMjV6TG1wek95QmtiMjRuZENCMWMyVWdZbTk0SUhSNWNHVnpYRzVjZEZ4MEx5OGdhVzRnWTI5dWRtVnljMmx2YmlCbWRXNWpkR2x2Ym5NdVhHNWNkRngwYVdZZ0tIUjVjR1Z2WmlCeVpYTjFiSFFnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzVjZEZ4MFhIUm1iM0lnS0haaGNpQnNaVzRnUFNCeVpYTjFiSFF1YkdWdVozUm9MQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNWNkRngwWEhSY2RISmxjM1ZzZEZ0cFhTQTlJRTFoZEdndWNtOTFibVFvY21WemRXeDBXMmxkS1R0Y2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2JseDBYSFJ5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVYSFI5TzF4dVhHNWNkQzh2SUhCeVpYTmxjblpsSUM1amIyNTJaWEp6YVc5dUlIQnliM0JsY25SNUlHbG1JSFJvWlhKbElHbHpJRzl1WlZ4dVhIUnBaaUFvSjJOdmJuWmxjbk5wYjI0bklHbHVJR1p1S1NCN1hHNWNkRngwZDNKaGNIQmxaRVp1TG1OdmJuWmxjbk5wYjI0Z1BTQm1iaTVqYjI1MlpYSnphVzl1TzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUhkeVlYQndaV1JHYmp0Y2JuMWNibHh1Ylc5a1pXeHpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR1p5YjIxTmIyUmxiQ2tnZTF4dVhIUmpiMjUyWlhKMFcyWnliMjFOYjJSbGJGMGdQU0I3ZlR0Y2JseHVYSFJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1kyOXVkbVZ5ZEZ0bWNtOXRUVzlrWld4ZExDQW5ZMmhoYm01bGJITW5MQ0I3ZG1Gc2RXVTZJR052Ym5abGNuTnBiMjV6VzJaeWIyMU5iMlJsYkYwdVkyaGhibTVsYkhOOUtUdGNibHgwVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHTnZiblpsY25SYlpuSnZiVTF2WkdWc1hTd2dKMnhoWW1Wc2N5Y3NJSHQyWVd4MVpUb2dZMjl1ZG1WeWMybHZibk5iWm5KdmJVMXZaR1ZzWFM1c1lXSmxiSE45S1R0Y2JseHVYSFIyWVhJZ2NtOTFkR1Z6SUQwZ2NtOTFkR1VvWm5KdmJVMXZaR1ZzS1R0Y2JseDBkbUZ5SUhKdmRYUmxUVzlrWld4eklEMGdUMkpxWldOMExtdGxlWE1vY205MWRHVnpLVHRjYmx4dVhIUnliM1YwWlUxdlpHVnNjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2gwYjAxdlpHVnNLU0I3WEc1Y2RGeDBkbUZ5SUdadUlEMGdjbTkxZEdWelczUnZUVzlrWld4ZE8xeHVYRzVjZEZ4MFkyOXVkbVZ5ZEZ0bWNtOXRUVzlrWld4ZFczUnZUVzlrWld4ZElEMGdkM0poY0ZKdmRXNWtaV1FvWm00cE8xeHVYSFJjZEdOdmJuWmxjblJiWm5KdmJVMXZaR1ZzWFZ0MGIwMXZaR1ZzWFM1eVlYY2dQU0IzY21Gd1VtRjNLR1p1S1R0Y2JseDBmU2s3WEc1OUtUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JqYjI1MlpYSjBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L3JvdXRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9yb3V0ZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgY29udmVyc2lvbnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbnZlcnNpb25zICovIFxcXCIuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2NvbnZlcnNpb25zLmpzXFxcIik7XFxuXFxuLypcXG5cXHR0aGlzIGZ1bmN0aW9uIHJvdXRlcyBhIG1vZGVsIHRvIGFsbCBvdGhlciBtb2RlbHMuXFxuXFxuXFx0YWxsIGZ1bmN0aW9ucyB0aGF0IGFyZSByb3V0ZWQgaGF2ZSBhIHByb3BlcnR5IGAuY29udmVyc2lvbmAgYXR0YWNoZWRcXG5cXHR0byB0aGUgcmV0dXJuZWQgc3ludGhldGljIGZ1bmN0aW9uLiBUaGlzIHByb3BlcnR5IGlzIGFuIGFycmF5XFxuXFx0b2Ygc3RyaW5ncywgZWFjaCB3aXRoIHRoZSBzdGVwcyBpbiBiZXR3ZWVuIHRoZSAnZnJvbScgYW5kICd0bydcXG5cXHRjb2xvciBtb2RlbHMgKGluY2x1c2l2ZSkuXFxuXFxuXFx0Y29udmVyc2lvbnMgdGhhdCBhcmUgbm90IHBvc3NpYmxlIHNpbXBseSBhcmUgbm90IGluY2x1ZGVkLlxcbiovXFxuXFxuZnVuY3Rpb24gYnVpbGRHcmFwaCgpIHtcXG5cXHR2YXIgZ3JhcGggPSB7fTtcXG5cXHQvLyBodHRwczovL2pzcGVyZi5jb20vb2JqZWN0LWtleXMtdnMtZm9yLWluLXdpdGgtY2xvc3VyZS8zXFxuXFx0dmFyIG1vZGVscyA9IE9iamVjdC5rZXlzKGNvbnZlcnNpb25zKTtcXG5cXG5cXHRmb3IgKHZhciBsZW4gPSBtb2RlbHMubGVuZ3RoLCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuXFx0XFx0Z3JhcGhbbW9kZWxzW2ldXSA9IHtcXG5cXHRcXHRcXHQvLyBodHRwOi8vanNwZXJmLmNvbS8xLXZzLWluZmluaXR5XFxuXFx0XFx0XFx0Ly8gbWljcm8tb3B0LCBidXQgdGhpcyBpcyBzaW1wbGUuXFxuXFx0XFx0XFx0ZGlzdGFuY2U6IC0xLFxcblxcdFxcdFxcdHBhcmVudDogbnVsbFxcblxcdFxcdH07XFxuXFx0fVxcblxcblxcdHJldHVybiBncmFwaDtcXG59XFxuXFxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQnJlYWR0aC1maXJzdF9zZWFyY2hcXG5mdW5jdGlvbiBkZXJpdmVCRlMoZnJvbU1vZGVsKSB7XFxuXFx0dmFyIGdyYXBoID0gYnVpbGRHcmFwaCgpO1xcblxcdHZhciBxdWV1ZSA9IFtmcm9tTW9kZWxdOyAvLyB1bnNoaWZ0IC0+IHF1ZXVlIC0+IHBvcFxcblxcblxcdGdyYXBoW2Zyb21Nb2RlbF0uZGlzdGFuY2UgPSAwO1xcblxcblxcdHdoaWxlIChxdWV1ZS5sZW5ndGgpIHtcXG5cXHRcXHR2YXIgY3VycmVudCA9IHF1ZXVlLnBvcCgpO1xcblxcdFxcdHZhciBhZGphY2VudHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9uc1tjdXJyZW50XSk7XFxuXFxuXFx0XFx0Zm9yICh2YXIgbGVuID0gYWRqYWNlbnRzLmxlbmd0aCwgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcblxcdFxcdFxcdHZhciBhZGphY2VudCA9IGFkamFjZW50c1tpXTtcXG5cXHRcXHRcXHR2YXIgbm9kZSA9IGdyYXBoW2FkamFjZW50XTtcXG5cXG5cXHRcXHRcXHRpZiAobm9kZS5kaXN0YW5jZSA9PT0gLTEpIHtcXG5cXHRcXHRcXHRcXHRub2RlLmRpc3RhbmNlID0gZ3JhcGhbY3VycmVudF0uZGlzdGFuY2UgKyAxO1xcblxcdFxcdFxcdFxcdG5vZGUucGFyZW50ID0gY3VycmVudDtcXG5cXHRcXHRcXHRcXHRxdWV1ZS51bnNoaWZ0KGFkamFjZW50KTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHRyZXR1cm4gZ3JhcGg7XFxufVxcblxcbmZ1bmN0aW9uIGxpbmsoZnJvbSwgdG8pIHtcXG5cXHRyZXR1cm4gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHRcXHRyZXR1cm4gdG8oZnJvbShhcmdzKSk7XFxuXFx0fTtcXG59XFxuXFxuZnVuY3Rpb24gd3JhcENvbnZlcnNpb24odG9Nb2RlbCwgZ3JhcGgpIHtcXG5cXHR2YXIgcGF0aCA9IFtncmFwaFt0b01vZGVsXS5wYXJlbnQsIHRvTW9kZWxdO1xcblxcdHZhciBmbiA9IGNvbnZlcnNpb25zW2dyYXBoW3RvTW9kZWxdLnBhcmVudF1bdG9Nb2RlbF07XFxuXFxuXFx0dmFyIGN1ciA9IGdyYXBoW3RvTW9kZWxdLnBhcmVudDtcXG5cXHR3aGlsZSAoZ3JhcGhbY3VyXS5wYXJlbnQpIHtcXG5cXHRcXHRwYXRoLnVuc2hpZnQoZ3JhcGhbY3VyXS5wYXJlbnQpO1xcblxcdFxcdGZuID0gbGluayhjb252ZXJzaW9uc1tncmFwaFtjdXJdLnBhcmVudF1bY3VyXSwgZm4pO1xcblxcdFxcdGN1ciA9IGdyYXBoW2N1cl0ucGFyZW50O1xcblxcdH1cXG5cXG5cXHRmbi5jb252ZXJzaW9uID0gcGF0aDtcXG5cXHRyZXR1cm4gZm47XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZyb21Nb2RlbCkge1xcblxcdHZhciBncmFwaCA9IGRlcml2ZUJGUyhmcm9tTW9kZWwpO1xcblxcdHZhciBjb252ZXJzaW9uID0ge307XFxuXFxuXFx0dmFyIG1vZGVscyA9IE9iamVjdC5rZXlzKGdyYXBoKTtcXG5cXHRmb3IgKHZhciBsZW4gPSBtb2RlbHMubGVuZ3RoLCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuXFx0XFx0dmFyIHRvTW9kZWwgPSBtb2RlbHNbaV07XFxuXFx0XFx0dmFyIG5vZGUgPSBncmFwaFt0b01vZGVsXTtcXG5cXG5cXHRcXHRpZiAobm9kZS5wYXJlbnQgPT09IG51bGwpIHtcXG5cXHRcXHRcXHQvLyBubyBwb3NzaWJsZSBjb252ZXJzaW9uLCBvciB0aGlzIG5vZGUgaXMgdGhlIHNvdXJjZSBtb2RlbC5cXG5cXHRcXHRcXHRjb250aW51ZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Y29udmVyc2lvblt0b01vZGVsXSA9IHdyYXBDb252ZXJzaW9uKHRvTW9kZWwsIGdyYXBoKTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIGNvbnZlcnNpb247XFxufTtcXG5cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2kxamIyNTJaWEowTDNKdmRYUmxMbXB6UHpRd01tSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzYTBKQlFXdENMRzFDUVVGUExFTkJRVU1zYTBWQlFXVTdPMEZCUlhwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHhRMEZCY1VNc1UwRkJVenRCUVVNNVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIbENRVUY1UWpzN1FVRkZla0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIbERRVUY1UXl4VFFVRlRPMEZCUTJ4RU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhGRFFVRnhReXhUUVVGVE8wRkJRemxETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJOdmJHOXlMV052Ym5abGNuUXZjbTkxZEdVdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdZMjl1ZG1WeWMybHZibk1nUFNCeVpYRjFhWEpsS0NjdUwyTnZiblpsY25OcGIyNXpKeWs3WEc1Y2JpOHFYRzVjZEhSb2FYTWdablZ1WTNScGIyNGdjbTkxZEdWeklHRWdiVzlrWld3Z2RHOGdZV3hzSUc5MGFHVnlJRzF2WkdWc2N5NWNibHh1WEhSaGJHd2dablZ1WTNScGIyNXpJSFJvWVhRZ1lYSmxJSEp2ZFhSbFpDQm9ZWFpsSUdFZ2NISnZjR1Z5ZEhrZ1lDNWpiMjUyWlhKemFXOXVZQ0JoZEhSaFkyaGxaRnh1WEhSMGJ5QjBhR1VnY21WMGRYSnVaV1FnYzNsdWRHaGxkR2xqSUdaMWJtTjBhVzl1TGlCVWFHbHpJSEJ5YjNCbGNuUjVJR2x6SUdGdUlHRnljbUY1WEc1Y2RHOW1JSE4wY21sdVozTXNJR1ZoWTJnZ2QybDBhQ0IwYUdVZ2MzUmxjSE1nYVc0Z1ltVjBkMlZsYmlCMGFHVWdKMlp5YjIwbklHRnVaQ0FuZEc4blhHNWNkR052Ykc5eUlHMXZaR1ZzY3lBb2FXNWpiSFZ6YVhabEtTNWNibHh1WEhSamIyNTJaWEp6YVc5dWN5QjBhR0YwSUdGeVpTQnViM1FnY0c5emMybGliR1VnYzJsdGNHeDVJR0Z5WlNCdWIzUWdhVzVqYkhWa1pXUXVYRzRxTDF4dVhHNW1kVzVqZEdsdmJpQmlkV2xzWkVkeVlYQm9LQ2tnZTF4dVhIUjJZWElnWjNKaGNHZ2dQU0I3ZlR0Y2JseDBMeThnYUhSMGNITTZMeTlxYzNCbGNtWXVZMjl0TDI5aWFtVmpkQzFyWlhsekxYWnpMV1p2Y2kxcGJpMTNhWFJvTFdOc2IzTjFjbVV2TTF4dVhIUjJZWElnYlc5a1pXeHpJRDBnVDJKcVpXTjBMbXRsZVhNb1kyOXVkbVZ5YzJsdmJuTXBPMXh1WEc1Y2RHWnZjaUFvZG1GeUlHeGxiaUE5SUcxdlpHVnNjeTVzWlc1bmRHZ3NJR2tnUFNBd095QnBJRHdnYkdWdU95QnBLeXNwSUh0Y2JseDBYSFJuY21Gd2FGdHRiMlJsYkhOYmFWMWRJRDBnZTF4dVhIUmNkRngwTHk4Z2FIUjBjRG92TDJwemNHVnlaaTVqYjIwdk1TMTJjeTFwYm1acGJtbDBlVnh1WEhSY2RGeDBMeThnYldsamNtOHRiM0IwTENCaWRYUWdkR2hwY3lCcGN5QnphVzF3YkdVdVhHNWNkRngwWEhSa2FYTjBZVzVqWlRvZ0xURXNYRzVjZEZ4MFhIUndZWEpsYm5RNklHNTFiR3hjYmx4MFhIUjlPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJR2R5WVhCb08xeHVmVnh1WEc0dkx5Qm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlDY21WaFpIUm9MV1pwY25OMFgzTmxZWEpqYUZ4dVpuVnVZM1JwYjI0Z1pHVnlhWFpsUWtaVEtHWnliMjFOYjJSbGJDa2dlMXh1WEhSMllYSWdaM0poY0dnZ1BTQmlkV2xzWkVkeVlYQm9LQ2s3WEc1Y2RIWmhjaUJ4ZFdWMVpTQTlJRnRtY205dFRXOWtaV3hkT3lBdkx5QjFibk5vYVdaMElDMCtJSEYxWlhWbElDMCtJSEJ2Y0Z4dVhHNWNkR2R5WVhCb1cyWnliMjFOYjJSbGJGMHVaR2x6ZEdGdVkyVWdQU0F3TzF4dVhHNWNkSGRvYVd4bElDaHhkV1YxWlM1c1pXNW5kR2dwSUh0Y2JseDBYSFIyWVhJZ1kzVnljbVZ1ZENBOUlIRjFaWFZsTG5CdmNDZ3BPMXh1WEhSY2RIWmhjaUJoWkdwaFkyVnVkSE1nUFNCUFltcGxZM1F1YTJWNWN5aGpiMjUyWlhKemFXOXVjMXRqZFhKeVpXNTBYU2s3WEc1Y2JseDBYSFJtYjNJZ0tIWmhjaUJzWlc0Z1BTQmhaR3BoWTJWdWRITXViR1Z1WjNSb0xDQnBJRDBnTURzZ2FTQThJR3hsYmpzZ2FTc3JLU0I3WEc1Y2RGeDBYSFIyWVhJZ1lXUnFZV05sYm5RZ1BTQmhaR3BoWTJWdWRITmJhVjA3WEc1Y2RGeDBYSFIyWVhJZ2JtOWtaU0E5SUdkeVlYQm9XMkZrYW1GalpXNTBYVHRjYmx4dVhIUmNkRngwYVdZZ0tHNXZaR1V1WkdsemRHRnVZMlVnUFQwOUlDMHhLU0I3WEc1Y2RGeDBYSFJjZEc1dlpHVXVaR2x6ZEdGdVkyVWdQU0JuY21Gd2FGdGpkWEp5Wlc1MFhTNWthWE4wWVc1alpTQXJJREU3WEc1Y2RGeDBYSFJjZEc1dlpHVXVjR0Z5Wlc1MElEMGdZM1Z5Y21WdWREdGNibHgwWEhSY2RGeDBjWFZsZFdVdWRXNXphR2xtZENoaFpHcGhZMlZ1ZENrN1hHNWNkRngwWEhSOVhHNWNkRngwZlZ4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUdkeVlYQm9PMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnNhVzVyS0daeWIyMHNJSFJ2S1NCN1hHNWNkSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9ZWEpuY3lrZ2UxeHVYSFJjZEhKbGRIVnliaUIwYnlobWNtOXRLR0Z5WjNNcEtUdGNibHgwZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZDNKaGNFTnZiblpsY25OcGIyNG9kRzlOYjJSbGJDd2daM0poY0dncElIdGNibHgwZG1GeUlIQmhkR2dnUFNCYlozSmhjR2hiZEc5TmIyUmxiRjB1Y0dGeVpXNTBMQ0IwYjAxdlpHVnNYVHRjYmx4MGRtRnlJR1p1SUQwZ1kyOXVkbVZ5YzJsdmJuTmJaM0poY0doYmRHOU5iMlJsYkYwdWNHRnlaVzUwWFZ0MGIwMXZaR1ZzWFR0Y2JseHVYSFIyWVhJZ1kzVnlJRDBnWjNKaGNHaGJkRzlOYjJSbGJGMHVjR0Z5Wlc1ME8xeHVYSFIzYUdsc1pTQW9aM0poY0doYlkzVnlYUzV3WVhKbGJuUXBJSHRjYmx4MFhIUndZWFJvTG5WdWMyaHBablFvWjNKaGNHaGJZM1Z5WFM1d1lYSmxiblFwTzF4dVhIUmNkR1p1SUQwZ2JHbHVheWhqYjI1MlpYSnphVzl1YzF0bmNtRndhRnRqZFhKZExuQmhjbVZ1ZEYxYlkzVnlYU3dnWm00cE8xeHVYSFJjZEdOMWNpQTlJR2R5WVhCb1cyTjFjbDB1Y0dGeVpXNTBPMXh1WEhSOVhHNWNibHgwWm00dVkyOXVkbVZ5YzJsdmJpQTlJSEJoZEdnN1hHNWNkSEpsZEhWeWJpQm1ianRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9abkp2YlUxdlpHVnNLU0I3WEc1Y2RIWmhjaUJuY21Gd2FDQTlJR1JsY21sMlpVSkdVeWhtY205dFRXOWtaV3dwTzF4dVhIUjJZWElnWTI5dWRtVnljMmx2YmlBOUlIdDlPMXh1WEc1Y2RIWmhjaUJ0YjJSbGJITWdQU0JQWW1wbFkzUXVhMlY1Y3lobmNtRndhQ2s3WEc1Y2RHWnZjaUFvZG1GeUlHeGxiaUE5SUcxdlpHVnNjeTVzWlc1bmRHZ3NJR2tnUFNBd095QnBJRHdnYkdWdU95QnBLeXNwSUh0Y2JseDBYSFIyWVhJZ2RHOU5iMlJsYkNBOUlHMXZaR1ZzYzF0cFhUdGNibHgwWEhSMllYSWdibTlrWlNBOUlHZHlZWEJvVzNSdlRXOWtaV3hkTzF4dVhHNWNkRngwYVdZZ0tHNXZaR1V1Y0dGeVpXNTBJRDA5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFF2THlCdWJ5QndiM056YVdKc1pTQmpiMjUyWlhKemFXOXVMQ0J2Y2lCMGFHbHpJRzV2WkdVZ2FYTWdkR2hsSUhOdmRYSmpaU0J0YjJSbGJDNWNibHgwWEhSY2RHTnZiblJwYm5WbE8xeHVYSFJjZEgxY2JseHVYSFJjZEdOdmJuWmxjbk5wYjI1YmRHOU5iMlJsYkYwZ1BTQjNjbUZ3UTI5dWRtVnljMmx2YmloMGIwMXZaR1ZzTENCbmNtRndhQ2s3WEc1Y2RIMWNibHh1WEhSeVpYUjFjbTRnWTI5dWRtVnljMmx2Ymp0Y2JuMDdYRzVjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L3JvdXRlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jb2xvci1uYW1lL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY29sb3ItbmFtZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcblxcclxcbm1vZHVsZS5leHBvcnRzID0ge1xcclxcblxcdFxcXCJhbGljZWJsdWVcXFwiOiBbMjQwLCAyNDgsIDI1NV0sXFxyXFxuXFx0XFxcImFudGlxdWV3aGl0ZVxcXCI6IFsyNTAsIDIzNSwgMjE1XSxcXHJcXG5cXHRcXFwiYXF1YVxcXCI6IFswLCAyNTUsIDI1NV0sXFxyXFxuXFx0XFxcImFxdWFtYXJpbmVcXFwiOiBbMTI3LCAyNTUsIDIxMl0sXFxyXFxuXFx0XFxcImF6dXJlXFxcIjogWzI0MCwgMjU1LCAyNTVdLFxcclxcblxcdFxcXCJiZWlnZVxcXCI6IFsyNDUsIDI0NSwgMjIwXSxcXHJcXG5cXHRcXFwiYmlzcXVlXFxcIjogWzI1NSwgMjI4LCAxOTZdLFxcclxcblxcdFxcXCJibGFja1xcXCI6IFswLCAwLCAwXSxcXHJcXG5cXHRcXFwiYmxhbmNoZWRhbG1vbmRcXFwiOiBbMjU1LCAyMzUsIDIwNV0sXFxyXFxuXFx0XFxcImJsdWVcXFwiOiBbMCwgMCwgMjU1XSxcXHJcXG5cXHRcXFwiYmx1ZXZpb2xldFxcXCI6IFsxMzgsIDQzLCAyMjZdLFxcclxcblxcdFxcXCJicm93blxcXCI6IFsxNjUsIDQyLCA0Ml0sXFxyXFxuXFx0XFxcImJ1cmx5d29vZFxcXCI6IFsyMjIsIDE4NCwgMTM1XSxcXHJcXG5cXHRcXFwiY2FkZXRibHVlXFxcIjogWzk1LCAxNTgsIDE2MF0sXFxyXFxuXFx0XFxcImNoYXJ0cmV1c2VcXFwiOiBbMTI3LCAyNTUsIDBdLFxcclxcblxcdFxcXCJjaG9jb2xhdGVcXFwiOiBbMjEwLCAxMDUsIDMwXSxcXHJcXG5cXHRcXFwiY29yYWxcXFwiOiBbMjU1LCAxMjcsIDgwXSxcXHJcXG5cXHRcXFwiY29ybmZsb3dlcmJsdWVcXFwiOiBbMTAwLCAxNDksIDIzN10sXFxyXFxuXFx0XFxcImNvcm5zaWxrXFxcIjogWzI1NSwgMjQ4LCAyMjBdLFxcclxcblxcdFxcXCJjcmltc29uXFxcIjogWzIyMCwgMjAsIDYwXSxcXHJcXG5cXHRcXFwiY3lhblxcXCI6IFswLCAyNTUsIDI1NV0sXFxyXFxuXFx0XFxcImRhcmtibHVlXFxcIjogWzAsIDAsIDEzOV0sXFxyXFxuXFx0XFxcImRhcmtjeWFuXFxcIjogWzAsIDEzOSwgMTM5XSxcXHJcXG5cXHRcXFwiZGFya2dvbGRlbnJvZFxcXCI6IFsxODQsIDEzNCwgMTFdLFxcclxcblxcdFxcXCJkYXJrZ3JheVxcXCI6IFsxNjksIDE2OSwgMTY5XSxcXHJcXG5cXHRcXFwiZGFya2dyZWVuXFxcIjogWzAsIDEwMCwgMF0sXFxyXFxuXFx0XFxcImRhcmtncmV5XFxcIjogWzE2OSwgMTY5LCAxNjldLFxcclxcblxcdFxcXCJkYXJra2hha2lcXFwiOiBbMTg5LCAxODMsIDEwN10sXFxyXFxuXFx0XFxcImRhcmttYWdlbnRhXFxcIjogWzEzOSwgMCwgMTM5XSxcXHJcXG5cXHRcXFwiZGFya29saXZlZ3JlZW5cXFwiOiBbODUsIDEwNywgNDddLFxcclxcblxcdFxcXCJkYXJrb3JhbmdlXFxcIjogWzI1NSwgMTQwLCAwXSxcXHJcXG5cXHRcXFwiZGFya29yY2hpZFxcXCI6IFsxNTMsIDUwLCAyMDRdLFxcclxcblxcdFxcXCJkYXJrcmVkXFxcIjogWzEzOSwgMCwgMF0sXFxyXFxuXFx0XFxcImRhcmtzYWxtb25cXFwiOiBbMjMzLCAxNTAsIDEyMl0sXFxyXFxuXFx0XFxcImRhcmtzZWFncmVlblxcXCI6IFsxNDMsIDE4OCwgMTQzXSxcXHJcXG5cXHRcXFwiZGFya3NsYXRlYmx1ZVxcXCI6IFs3MiwgNjEsIDEzOV0sXFxyXFxuXFx0XFxcImRhcmtzbGF0ZWdyYXlcXFwiOiBbNDcsIDc5LCA3OV0sXFxyXFxuXFx0XFxcImRhcmtzbGF0ZWdyZXlcXFwiOiBbNDcsIDc5LCA3OV0sXFxyXFxuXFx0XFxcImRhcmt0dXJxdW9pc2VcXFwiOiBbMCwgMjA2LCAyMDldLFxcclxcblxcdFxcXCJkYXJrdmlvbGV0XFxcIjogWzE0OCwgMCwgMjExXSxcXHJcXG5cXHRcXFwiZGVlcHBpbmtcXFwiOiBbMjU1LCAyMCwgMTQ3XSxcXHJcXG5cXHRcXFwiZGVlcHNreWJsdWVcXFwiOiBbMCwgMTkxLCAyNTVdLFxcclxcblxcdFxcXCJkaW1ncmF5XFxcIjogWzEwNSwgMTA1LCAxMDVdLFxcclxcblxcdFxcXCJkaW1ncmV5XFxcIjogWzEwNSwgMTA1LCAxMDVdLFxcclxcblxcdFxcXCJkb2RnZXJibHVlXFxcIjogWzMwLCAxNDQsIDI1NV0sXFxyXFxuXFx0XFxcImZpcmVicmlja1xcXCI6IFsxNzgsIDM0LCAzNF0sXFxyXFxuXFx0XFxcImZsb3JhbHdoaXRlXFxcIjogWzI1NSwgMjUwLCAyNDBdLFxcclxcblxcdFxcXCJmb3Jlc3RncmVlblxcXCI6IFszNCwgMTM5LCAzNF0sXFxyXFxuXFx0XFxcImZ1Y2hzaWFcXFwiOiBbMjU1LCAwLCAyNTVdLFxcclxcblxcdFxcXCJnYWluc2Jvcm9cXFwiOiBbMjIwLCAyMjAsIDIyMF0sXFxyXFxuXFx0XFxcImdob3N0d2hpdGVcXFwiOiBbMjQ4LCAyNDgsIDI1NV0sXFxyXFxuXFx0XFxcImdvbGRcXFwiOiBbMjU1LCAyMTUsIDBdLFxcclxcblxcdFxcXCJnb2xkZW5yb2RcXFwiOiBbMjE4LCAxNjUsIDMyXSxcXHJcXG5cXHRcXFwiZ3JheVxcXCI6IFsxMjgsIDEyOCwgMTI4XSxcXHJcXG5cXHRcXFwiZ3JlZW5cXFwiOiBbMCwgMTI4LCAwXSxcXHJcXG5cXHRcXFwiZ3JlZW55ZWxsb3dcXFwiOiBbMTczLCAyNTUsIDQ3XSxcXHJcXG5cXHRcXFwiZ3JleVxcXCI6IFsxMjgsIDEyOCwgMTI4XSxcXHJcXG5cXHRcXFwiaG9uZXlkZXdcXFwiOiBbMjQwLCAyNTUsIDI0MF0sXFxyXFxuXFx0XFxcImhvdHBpbmtcXFwiOiBbMjU1LCAxMDUsIDE4MF0sXFxyXFxuXFx0XFxcImluZGlhbnJlZFxcXCI6IFsyMDUsIDkyLCA5Ml0sXFxyXFxuXFx0XFxcImluZGlnb1xcXCI6IFs3NSwgMCwgMTMwXSxcXHJcXG5cXHRcXFwiaXZvcnlcXFwiOiBbMjU1LCAyNTUsIDI0MF0sXFxyXFxuXFx0XFxcImtoYWtpXFxcIjogWzI0MCwgMjMwLCAxNDBdLFxcclxcblxcdFxcXCJsYXZlbmRlclxcXCI6IFsyMzAsIDIzMCwgMjUwXSxcXHJcXG5cXHRcXFwibGF2ZW5kZXJibHVzaFxcXCI6IFsyNTUsIDI0MCwgMjQ1XSxcXHJcXG5cXHRcXFwibGF3bmdyZWVuXFxcIjogWzEyNCwgMjUyLCAwXSxcXHJcXG5cXHRcXFwibGVtb25jaGlmZm9uXFxcIjogWzI1NSwgMjUwLCAyMDVdLFxcclxcblxcdFxcXCJsaWdodGJsdWVcXFwiOiBbMTczLCAyMTYsIDIzMF0sXFxyXFxuXFx0XFxcImxpZ2h0Y29yYWxcXFwiOiBbMjQwLCAxMjgsIDEyOF0sXFxyXFxuXFx0XFxcImxpZ2h0Y3lhblxcXCI6IFsyMjQsIDI1NSwgMjU1XSxcXHJcXG5cXHRcXFwibGlnaHRnb2xkZW5yb2R5ZWxsb3dcXFwiOiBbMjUwLCAyNTAsIDIxMF0sXFxyXFxuXFx0XFxcImxpZ2h0Z3JheVxcXCI6IFsyMTEsIDIxMSwgMjExXSxcXHJcXG5cXHRcXFwibGlnaHRncmVlblxcXCI6IFsxNDQsIDIzOCwgMTQ0XSxcXHJcXG5cXHRcXFwibGlnaHRncmV5XFxcIjogWzIxMSwgMjExLCAyMTFdLFxcclxcblxcdFxcXCJsaWdodHBpbmtcXFwiOiBbMjU1LCAxODIsIDE5M10sXFxyXFxuXFx0XFxcImxpZ2h0c2FsbW9uXFxcIjogWzI1NSwgMTYwLCAxMjJdLFxcclxcblxcdFxcXCJsaWdodHNlYWdyZWVuXFxcIjogWzMyLCAxNzgsIDE3MF0sXFxyXFxuXFx0XFxcImxpZ2h0c2t5Ymx1ZVxcXCI6IFsxMzUsIDIwNiwgMjUwXSxcXHJcXG5cXHRcXFwibGlnaHRzbGF0ZWdyYXlcXFwiOiBbMTE5LCAxMzYsIDE1M10sXFxyXFxuXFx0XFxcImxpZ2h0c2xhdGVncmV5XFxcIjogWzExOSwgMTM2LCAxNTNdLFxcclxcblxcdFxcXCJsaWdodHN0ZWVsYmx1ZVxcXCI6IFsxNzYsIDE5NiwgMjIyXSxcXHJcXG5cXHRcXFwibGlnaHR5ZWxsb3dcXFwiOiBbMjU1LCAyNTUsIDIyNF0sXFxyXFxuXFx0XFxcImxpbWVcXFwiOiBbMCwgMjU1LCAwXSxcXHJcXG5cXHRcXFwibGltZWdyZWVuXFxcIjogWzUwLCAyMDUsIDUwXSxcXHJcXG5cXHRcXFwibGluZW5cXFwiOiBbMjUwLCAyNDAsIDIzMF0sXFxyXFxuXFx0XFxcIm1hZ2VudGFcXFwiOiBbMjU1LCAwLCAyNTVdLFxcclxcblxcdFxcXCJtYXJvb25cXFwiOiBbMTI4LCAwLCAwXSxcXHJcXG5cXHRcXFwibWVkaXVtYXF1YW1hcmluZVxcXCI6IFsxMDIsIDIwNSwgMTcwXSxcXHJcXG5cXHRcXFwibWVkaXVtYmx1ZVxcXCI6IFswLCAwLCAyMDVdLFxcclxcblxcdFxcXCJtZWRpdW1vcmNoaWRcXFwiOiBbMTg2LCA4NSwgMjExXSxcXHJcXG5cXHRcXFwibWVkaXVtcHVycGxlXFxcIjogWzE0NywgMTEyLCAyMTldLFxcclxcblxcdFxcXCJtZWRpdW1zZWFncmVlblxcXCI6IFs2MCwgMTc5LCAxMTNdLFxcclxcblxcdFxcXCJtZWRpdW1zbGF0ZWJsdWVcXFwiOiBbMTIzLCAxMDQsIDIzOF0sXFxyXFxuXFx0XFxcIm1lZGl1bXNwcmluZ2dyZWVuXFxcIjogWzAsIDI1MCwgMTU0XSxcXHJcXG5cXHRcXFwibWVkaXVtdHVycXVvaXNlXFxcIjogWzcyLCAyMDksIDIwNF0sXFxyXFxuXFx0XFxcIm1lZGl1bXZpb2xldHJlZFxcXCI6IFsxOTksIDIxLCAxMzNdLFxcclxcblxcdFxcXCJtaWRuaWdodGJsdWVcXFwiOiBbMjUsIDI1LCAxMTJdLFxcclxcblxcdFxcXCJtaW50Y3JlYW1cXFwiOiBbMjQ1LCAyNTUsIDI1MF0sXFxyXFxuXFx0XFxcIm1pc3R5cm9zZVxcXCI6IFsyNTUsIDIyOCwgMjI1XSxcXHJcXG5cXHRcXFwibW9jY2FzaW5cXFwiOiBbMjU1LCAyMjgsIDE4MV0sXFxyXFxuXFx0XFxcIm5hdmFqb3doaXRlXFxcIjogWzI1NSwgMjIyLCAxNzNdLFxcclxcblxcdFxcXCJuYXZ5XFxcIjogWzAsIDAsIDEyOF0sXFxyXFxuXFx0XFxcIm9sZGxhY2VcXFwiOiBbMjUzLCAyNDUsIDIzMF0sXFxyXFxuXFx0XFxcIm9saXZlXFxcIjogWzEyOCwgMTI4LCAwXSxcXHJcXG5cXHRcXFwib2xpdmVkcmFiXFxcIjogWzEwNywgMTQyLCAzNV0sXFxyXFxuXFx0XFxcIm9yYW5nZVxcXCI6IFsyNTUsIDE2NSwgMF0sXFxyXFxuXFx0XFxcIm9yYW5nZXJlZFxcXCI6IFsyNTUsIDY5LCAwXSxcXHJcXG5cXHRcXFwib3JjaGlkXFxcIjogWzIxOCwgMTEyLCAyMTRdLFxcclxcblxcdFxcXCJwYWxlZ29sZGVucm9kXFxcIjogWzIzOCwgMjMyLCAxNzBdLFxcclxcblxcdFxcXCJwYWxlZ3JlZW5cXFwiOiBbMTUyLCAyNTEsIDE1Ml0sXFxyXFxuXFx0XFxcInBhbGV0dXJxdW9pc2VcXFwiOiBbMTc1LCAyMzgsIDIzOF0sXFxyXFxuXFx0XFxcInBhbGV2aW9sZXRyZWRcXFwiOiBbMjE5LCAxMTIsIDE0N10sXFxyXFxuXFx0XFxcInBhcGF5YXdoaXBcXFwiOiBbMjU1LCAyMzksIDIxM10sXFxyXFxuXFx0XFxcInBlYWNocHVmZlxcXCI6IFsyNTUsIDIxOCwgMTg1XSxcXHJcXG5cXHRcXFwicGVydVxcXCI6IFsyMDUsIDEzMywgNjNdLFxcclxcblxcdFxcXCJwaW5rXFxcIjogWzI1NSwgMTkyLCAyMDNdLFxcclxcblxcdFxcXCJwbHVtXFxcIjogWzIyMSwgMTYwLCAyMjFdLFxcclxcblxcdFxcXCJwb3dkZXJibHVlXFxcIjogWzE3NiwgMjI0LCAyMzBdLFxcclxcblxcdFxcXCJwdXJwbGVcXFwiOiBbMTI4LCAwLCAxMjhdLFxcclxcblxcdFxcXCJyZWJlY2NhcHVycGxlXFxcIjogWzEwMiwgNTEsIDE1M10sXFxyXFxuXFx0XFxcInJlZFxcXCI6IFsyNTUsIDAsIDBdLFxcclxcblxcdFxcXCJyb3N5YnJvd25cXFwiOiBbMTg4LCAxNDMsIDE0M10sXFxyXFxuXFx0XFxcInJveWFsYmx1ZVxcXCI6IFs2NSwgMTA1LCAyMjVdLFxcclxcblxcdFxcXCJzYWRkbGVicm93blxcXCI6IFsxMzksIDY5LCAxOV0sXFxyXFxuXFx0XFxcInNhbG1vblxcXCI6IFsyNTAsIDEyOCwgMTE0XSxcXHJcXG5cXHRcXFwic2FuZHlicm93blxcXCI6IFsyNDQsIDE2NCwgOTZdLFxcclxcblxcdFxcXCJzZWFncmVlblxcXCI6IFs0NiwgMTM5LCA4N10sXFxyXFxuXFx0XFxcInNlYXNoZWxsXFxcIjogWzI1NSwgMjQ1LCAyMzhdLFxcclxcblxcdFxcXCJzaWVubmFcXFwiOiBbMTYwLCA4MiwgNDVdLFxcclxcblxcdFxcXCJzaWx2ZXJcXFwiOiBbMTkyLCAxOTIsIDE5Ml0sXFxyXFxuXFx0XFxcInNreWJsdWVcXFwiOiBbMTM1LCAyMDYsIDIzNV0sXFxyXFxuXFx0XFxcInNsYXRlYmx1ZVxcXCI6IFsxMDYsIDkwLCAyMDVdLFxcclxcblxcdFxcXCJzbGF0ZWdyYXlcXFwiOiBbMTEyLCAxMjgsIDE0NF0sXFxyXFxuXFx0XFxcInNsYXRlZ3JleVxcXCI6IFsxMTIsIDEyOCwgMTQ0XSxcXHJcXG5cXHRcXFwic25vd1xcXCI6IFsyNTUsIDI1MCwgMjUwXSxcXHJcXG5cXHRcXFwic3ByaW5nZ3JlZW5cXFwiOiBbMCwgMjU1LCAxMjddLFxcclxcblxcdFxcXCJzdGVlbGJsdWVcXFwiOiBbNzAsIDEzMCwgMTgwXSxcXHJcXG5cXHRcXFwidGFuXFxcIjogWzIxMCwgMTgwLCAxNDBdLFxcclxcblxcdFxcXCJ0ZWFsXFxcIjogWzAsIDEyOCwgMTI4XSxcXHJcXG5cXHRcXFwidGhpc3RsZVxcXCI6IFsyMTYsIDE5MSwgMjE2XSxcXHJcXG5cXHRcXFwidG9tYXRvXFxcIjogWzI1NSwgOTksIDcxXSxcXHJcXG5cXHRcXFwidHVycXVvaXNlXFxcIjogWzY0LCAyMjQsIDIwOF0sXFxyXFxuXFx0XFxcInZpb2xldFxcXCI6IFsyMzgsIDEzMCwgMjM4XSxcXHJcXG5cXHRcXFwid2hlYXRcXFwiOiBbMjQ1LCAyMjIsIDE3OV0sXFxyXFxuXFx0XFxcIndoaXRlXFxcIjogWzI1NSwgMjU1LCAyNTVdLFxcclxcblxcdFxcXCJ3aGl0ZXNtb2tlXFxcIjogWzI0NSwgMjQ1LCAyNDVdLFxcclxcblxcdFxcXCJ5ZWxsb3dcXFwiOiBbMjU1LCAyNTUsIDBdLFxcclxcblxcdFxcXCJ5ZWxsb3dncmVlblxcXCI6IFsxNTQsIDIwNSwgNTBdXFxyXFxufTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2kxdVlXMWxMMmx1WkdWNExtcHpQMkpoWWpJaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFWazdPMEZCUlZvN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Ykc5eUxXNWhiV1V2YVc1a1pYZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2RjY2x4dVhISmNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdlMXh5WEc1Y2RGd2lZV3hwWTJWaWJIVmxYQ0k2SUZzeU5EQXNJREkwT0N3Z01qVTFYU3hjY2x4dVhIUmNJbUZ1ZEdseGRXVjNhR2wwWlZ3aU9pQmJNalV3TENBeU16VXNJREl4TlYwc1hISmNibHgwWENKaGNYVmhYQ0k2SUZzd0xDQXlOVFVzSURJMU5WMHNYSEpjYmx4MFhDSmhjWFZoYldGeWFXNWxYQ0k2SUZzeE1qY3NJREkxTlN3Z01qRXlYU3hjY2x4dVhIUmNJbUY2ZFhKbFhDSTZJRnN5TkRBc0lESTFOU3dnTWpVMVhTeGNjbHh1WEhSY0ltSmxhV2RsWENJNklGc3lORFVzSURJME5Td2dNakl3WFN4Y2NseHVYSFJjSW1KcGMzRjFaVndpT2lCYk1qVTFMQ0F5TWpnc0lERTVObDBzWEhKY2JseDBYQ0ppYkdGamExd2lPaUJiTUN3Z01Dd2dNRjBzWEhKY2JseDBYQ0ppYkdGdVkyaGxaR0ZzYlc5dVpGd2lPaUJiTWpVMUxDQXlNelVzSURJd05WMHNYSEpjYmx4MFhDSmliSFZsWENJNklGc3dMQ0F3TENBeU5UVmRMRnh5WEc1Y2RGd2lZbXgxWlhacGIyeGxkRndpT2lCYk1UTTRMQ0EwTXl3Z01qSTJYU3hjY2x4dVhIUmNJbUp5YjNkdVhDSTZJRnN4TmpVc0lEUXlMQ0EwTWwwc1hISmNibHgwWENKaWRYSnNlWGR2YjJSY0lqb2dXekl5TWl3Z01UZzBMQ0F4TXpWZExGeHlYRzVjZEZ3aVkyRmtaWFJpYkhWbFhDSTZJRnM1TlN3Z01UVTRMQ0F4TmpCZExGeHlYRzVjZEZ3aVkyaGhjblJ5WlhWelpWd2lPaUJiTVRJM0xDQXlOVFVzSURCZExGeHlYRzVjZEZ3aVkyaHZZMjlzWVhSbFhDSTZJRnN5TVRBc0lERXdOU3dnTXpCZExGeHlYRzVjZEZ3aVkyOXlZV3hjSWpvZ1d6STFOU3dnTVRJM0xDQTRNRjBzWEhKY2JseDBYQ0pqYjNKdVpteHZkMlZ5WW14MVpWd2lPaUJiTVRBd0xDQXhORGtzSURJek4xMHNYSEpjYmx4MFhDSmpiM0p1YzJsc2Exd2lPaUJiTWpVMUxDQXlORGdzSURJeU1GMHNYSEpjYmx4MFhDSmpjbWx0YzI5dVhDSTZJRnN5TWpBc0lESXdMQ0EyTUYwc1hISmNibHgwWENKamVXRnVYQ0k2SUZzd0xDQXlOVFVzSURJMU5WMHNYSEpjYmx4MFhDSmtZWEpyWW14MVpWd2lPaUJiTUN3Z01Dd2dNVE01WFN4Y2NseHVYSFJjSW1SaGNtdGplV0Z1WENJNklGc3dMQ0F4TXprc0lERXpPVjBzWEhKY2JseDBYQ0prWVhKcloyOXNaR1Z1Y205a1hDSTZJRnN4T0RRc0lERXpOQ3dnTVRGZExGeHlYRzVjZEZ3aVpHRnlhMmR5WVhsY0lqb2dXekUyT1N3Z01UWTVMQ0F4TmpsZExGeHlYRzVjZEZ3aVpHRnlhMmR5WldWdVhDSTZJRnN3TENBeE1EQXNJREJkTEZ4eVhHNWNkRndpWkdGeWEyZHlaWGxjSWpvZ1d6RTJPU3dnTVRZNUxDQXhOamxkTEZ4eVhHNWNkRndpWkdGeWEydG9ZV3RwWENJNklGc3hPRGtzSURFNE15d2dNVEEzWFN4Y2NseHVYSFJjSW1SaGNtdHRZV2RsYm5SaFhDSTZJRnN4TXprc0lEQXNJREV6T1Ywc1hISmNibHgwWENKa1lYSnJiMnhwZG1WbmNtVmxibHdpT2lCYk9EVXNJREV3Tnl3Z05EZGRMRnh5WEc1Y2RGd2laR0Z5YTI5eVlXNW5aVndpT2lCYk1qVTFMQ0F4TkRBc0lEQmRMRnh5WEc1Y2RGd2laR0Z5YTI5eVkyaHBaRndpT2lCYk1UVXpMQ0ExTUN3Z01qQTBYU3hjY2x4dVhIUmNJbVJoY210eVpXUmNJam9nV3pFek9Td2dNQ3dnTUYwc1hISmNibHgwWENKa1lYSnJjMkZzYlc5dVhDSTZJRnN5TXpNc0lERTFNQ3dnTVRJeVhTeGNjbHh1WEhSY0ltUmhjbXR6WldGbmNtVmxibHdpT2lCYk1UUXpMQ0F4T0Rnc0lERTBNMTBzWEhKY2JseDBYQ0prWVhKcmMyeGhkR1ZpYkhWbFhDSTZJRnMzTWl3Z05qRXNJREV6T1Ywc1hISmNibHgwWENKa1lYSnJjMnhoZEdWbmNtRjVYQ0k2SUZzME55d2dOemtzSURjNVhTeGNjbHh1WEhSY0ltUmhjbXR6YkdGMFpXZHlaWGxjSWpvZ1d6UTNMQ0EzT1N3Z056bGRMRnh5WEc1Y2RGd2laR0Z5YTNSMWNuRjFiMmx6WlZ3aU9pQmJNQ3dnTWpBMkxDQXlNRGxkTEZ4eVhHNWNkRndpWkdGeWEzWnBiMnhsZEZ3aU9pQmJNVFE0TENBd0xDQXlNVEZkTEZ4eVhHNWNkRndpWkdWbGNIQnBibXRjSWpvZ1d6STFOU3dnTWpBc0lERTBOMTBzWEhKY2JseDBYQ0prWldWd2MydDVZbXgxWlZ3aU9pQmJNQ3dnTVRreExDQXlOVFZkTEZ4eVhHNWNkRndpWkdsdFozSmhlVndpT2lCYk1UQTFMQ0F4TURVc0lERXdOVjBzWEhKY2JseDBYQ0prYVcxbmNtVjVYQ0k2SUZzeE1EVXNJREV3TlN3Z01UQTFYU3hjY2x4dVhIUmNJbVJ2WkdkbGNtSnNkV1ZjSWpvZ1d6TXdMQ0F4TkRRc0lESTFOVjBzWEhKY2JseDBYQ0ptYVhKbFluSnBZMnRjSWpvZ1d6RTNPQ3dnTXpRc0lETTBYU3hjY2x4dVhIUmNJbVpzYjNKaGJIZG9hWFJsWENJNklGc3lOVFVzSURJMU1Dd2dNalF3WFN4Y2NseHVYSFJjSW1admNtVnpkR2R5WldWdVhDSTZJRnN6TkN3Z01UTTVMQ0F6TkYwc1hISmNibHgwWENKbWRXTm9jMmxoWENJNklGc3lOVFVzSURBc0lESTFOVjBzWEhKY2JseDBYQ0puWVdsdWMySnZjbTljSWpvZ1d6SXlNQ3dnTWpJd0xDQXlNakJkTEZ4eVhHNWNkRndpWjJodmMzUjNhR2wwWlZ3aU9pQmJNalE0TENBeU5EZ3NJREkxTlYwc1hISmNibHgwWENKbmIyeGtYQ0k2SUZzeU5UVXNJREl4TlN3Z01GMHNYSEpjYmx4MFhDSm5iMnhrWlc1eWIyUmNJam9nV3pJeE9Dd2dNVFkxTENBek1sMHNYSEpjYmx4MFhDSm5jbUY1WENJNklGc3hNamdzSURFeU9Dd2dNVEk0WFN4Y2NseHVYSFJjSW1keVpXVnVYQ0k2SUZzd0xDQXhNamdzSURCZExGeHlYRzVjZEZ3aVozSmxaVzU1Wld4c2IzZGNJam9nV3pFM015d2dNalUxTENBME4xMHNYSEpjYmx4MFhDSm5jbVY1WENJNklGc3hNamdzSURFeU9Dd2dNVEk0WFN4Y2NseHVYSFJjSW1odmJtVjVaR1YzWENJNklGc3lOREFzSURJMU5Td2dNalF3WFN4Y2NseHVYSFJjSW1odmRIQnBibXRjSWpvZ1d6STFOU3dnTVRBMUxDQXhPREJkTEZ4eVhHNWNkRndpYVc1a2FXRnVjbVZrWENJNklGc3lNRFVzSURreUxDQTVNbDBzWEhKY2JseDBYQ0pwYm1ScFoyOWNJam9nV3pjMUxDQXdMQ0F4TXpCZExGeHlYRzVjZEZ3aWFYWnZjbmxjSWpvZ1d6STFOU3dnTWpVMUxDQXlOREJkTEZ4eVhHNWNkRndpYTJoaGEybGNJam9nV3pJME1Dd2dNak13TENBeE5EQmRMRnh5WEc1Y2RGd2liR0YyWlc1a1pYSmNJam9nV3pJek1Dd2dNak13TENBeU5UQmRMRnh5WEc1Y2RGd2liR0YyWlc1a1pYSmliSFZ6YUZ3aU9pQmJNalUxTENBeU5EQXNJREkwTlYwc1hISmNibHgwWENKc1lYZHVaM0psWlc1Y0lqb2dXekV5TkN3Z01qVXlMQ0F3WFN4Y2NseHVYSFJjSW14bGJXOXVZMmhwWm1admJsd2lPaUJiTWpVMUxDQXlOVEFzSURJd05WMHNYSEpjYmx4MFhDSnNhV2RvZEdKc2RXVmNJam9nV3pFM015d2dNakUyTENBeU16QmRMRnh5WEc1Y2RGd2liR2xuYUhSamIzSmhiRndpT2lCYk1qUXdMQ0F4TWpnc0lERXlPRjBzWEhKY2JseDBYQ0pzYVdkb2RHTjVZVzVjSWpvZ1d6SXlOQ3dnTWpVMUxDQXlOVFZkTEZ4eVhHNWNkRndpYkdsbmFIUm5iMnhrWlc1eWIyUjVaV3hzYjNkY0lqb2dXekkxTUN3Z01qVXdMQ0F5TVRCZExGeHlYRzVjZEZ3aWJHbG5hSFJuY21GNVhDSTZJRnN5TVRFc0lESXhNU3dnTWpFeFhTeGNjbHh1WEhSY0lteHBaMmgwWjNKbFpXNWNJam9nV3pFME5Dd2dNak00TENBeE5EUmRMRnh5WEc1Y2RGd2liR2xuYUhSbmNtVjVYQ0k2SUZzeU1URXNJREl4TVN3Z01qRXhYU3hjY2x4dVhIUmNJbXhwWjJoMGNHbHVhMXdpT2lCYk1qVTFMQ0F4T0RJc0lERTVNMTBzWEhKY2JseDBYQ0pzYVdkb2RITmhiRzF2Ymx3aU9pQmJNalUxTENBeE5qQXNJREV5TWwwc1hISmNibHgwWENKc2FXZG9kSE5sWVdkeVpXVnVYQ0k2SUZzek1pd2dNVGM0TENBeE56QmRMRnh5WEc1Y2RGd2liR2xuYUhSemEzbGliSFZsWENJNklGc3hNelVzSURJd05pd2dNalV3WFN4Y2NseHVYSFJjSW14cFoyaDBjMnhoZEdWbmNtRjVYQ0k2SUZzeE1Ua3NJREV6Tml3Z01UVXpYU3hjY2x4dVhIUmNJbXhwWjJoMGMyeGhkR1ZuY21WNVhDSTZJRnN4TVRrc0lERXpOaXdnTVRVelhTeGNjbHh1WEhSY0lteHBaMmgwYzNSbFpXeGliSFZsWENJNklGc3hOellzSURFNU5pd2dNakl5WFN4Y2NseHVYSFJjSW14cFoyaDBlV1ZzYkc5M1hDSTZJRnN5TlRVc0lESTFOU3dnTWpJMFhTeGNjbHh1WEhSY0lteHBiV1ZjSWpvZ1d6QXNJREkxTlN3Z01GMHNYSEpjYmx4MFhDSnNhVzFsWjNKbFpXNWNJam9nV3pVd0xDQXlNRFVzSURVd1hTeGNjbHh1WEhSY0lteHBibVZ1WENJNklGc3lOVEFzSURJME1Dd2dNak13WFN4Y2NseHVYSFJjSW0xaFoyVnVkR0ZjSWpvZ1d6STFOU3dnTUN3Z01qVTFYU3hjY2x4dVhIUmNJbTFoY205dmJsd2lPaUJiTVRJNExDQXdMQ0F3WFN4Y2NseHVYSFJjSW0xbFpHbDFiV0Z4ZFdGdFlYSnBibVZjSWpvZ1d6RXdNaXdnTWpBMUxDQXhOekJkTEZ4eVhHNWNkRndpYldWa2FYVnRZbXgxWlZ3aU9pQmJNQ3dnTUN3Z01qQTFYU3hjY2x4dVhIUmNJbTFsWkdsMWJXOXlZMmhwWkZ3aU9pQmJNVGcyTENBNE5Td2dNakV4WFN4Y2NseHVYSFJjSW0xbFpHbDFiWEIxY25Cc1pWd2lPaUJiTVRRM0xDQXhNVElzSURJeE9WMHNYSEpjYmx4MFhDSnRaV1JwZFcxelpXRm5jbVZsYmx3aU9pQmJOakFzSURFM09Td2dNVEV6WFN4Y2NseHVYSFJjSW0xbFpHbDFiWE5zWVhSbFlteDFaVndpT2lCYk1USXpMQ0F4TURRc0lESXpPRjBzWEhKY2JseDBYQ0p0WldScGRXMXpjSEpwYm1kbmNtVmxibHdpT2lCYk1Dd2dNalV3TENBeE5UUmRMRnh5WEc1Y2RGd2liV1ZrYVhWdGRIVnljWFZ2YVhObFhDSTZJRnMzTWl3Z01qQTVMQ0F5TURSZExGeHlYRzVjZEZ3aWJXVmthWFZ0ZG1sdmJHVjBjbVZrWENJNklGc3hPVGtzSURJeExDQXhNek5kTEZ4eVhHNWNkRndpYldsa2JtbG5hSFJpYkhWbFhDSTZJRnN5TlN3Z01qVXNJREV4TWwwc1hISmNibHgwWENKdGFXNTBZM0psWVcxY0lqb2dXekkwTlN3Z01qVTFMQ0F5TlRCZExGeHlYRzVjZEZ3aWJXbHpkSGx5YjNObFhDSTZJRnN5TlRVc0lESXlPQ3dnTWpJMVhTeGNjbHh1WEhSY0ltMXZZMk5oYzJsdVhDSTZJRnN5TlRVc0lESXlPQ3dnTVRneFhTeGNjbHh1WEhSY0ltNWhkbUZxYjNkb2FYUmxYQ0k2SUZzeU5UVXNJREl5TWl3Z01UY3pYU3hjY2x4dVhIUmNJbTVoZG5sY0lqb2dXekFzSURBc0lERXlPRjBzWEhKY2JseDBYQ0p2YkdSc1lXTmxYQ0k2SUZzeU5UTXNJREkwTlN3Z01qTXdYU3hjY2x4dVhIUmNJbTlzYVhabFhDSTZJRnN4TWpnc0lERXlPQ3dnTUYwc1hISmNibHgwWENKdmJHbDJaV1J5WVdKY0lqb2dXekV3Tnl3Z01UUXlMQ0F6TlYwc1hISmNibHgwWENKdmNtRnVaMlZjSWpvZ1d6STFOU3dnTVRZMUxDQXdYU3hjY2x4dVhIUmNJbTl5WVc1blpYSmxaRndpT2lCYk1qVTFMQ0EyT1N3Z01GMHNYSEpjYmx4MFhDSnZjbU5vYVdSY0lqb2dXekl4T0N3Z01URXlMQ0F5TVRSZExGeHlYRzVjZEZ3aWNHRnNaV2R2YkdSbGJuSnZaRndpT2lCYk1qTTRMQ0F5TXpJc0lERTNNRjBzWEhKY2JseDBYQ0p3WVd4bFozSmxaVzVjSWpvZ1d6RTFNaXdnTWpVeExDQXhOVEpkTEZ4eVhHNWNkRndpY0dGc1pYUjFjbkYxYjJselpWd2lPaUJiTVRjMUxDQXlNemdzSURJek9GMHNYSEpjYmx4MFhDSndZV3hsZG1sdmJHVjBjbVZrWENJNklGc3lNVGtzSURFeE1pd2dNVFEzWFN4Y2NseHVYSFJjSW5CaGNHRjVZWGRvYVhCY0lqb2dXekkxTlN3Z01qTTVMQ0F5TVROZExGeHlYRzVjZEZ3aWNHVmhZMmh3ZFdabVhDSTZJRnN5TlRVc0lESXhPQ3dnTVRnMVhTeGNjbHh1WEhSY0luQmxjblZjSWpvZ1d6SXdOU3dnTVRNekxDQTJNMTBzWEhKY2JseDBYQ0p3YVc1clhDSTZJRnN5TlRVc0lERTVNaXdnTWpBelhTeGNjbHh1WEhSY0luQnNkVzFjSWpvZ1d6SXlNU3dnTVRZd0xDQXlNakZkTEZ4eVhHNWNkRndpY0c5M1pHVnlZbXgxWlZ3aU9pQmJNVGMyTENBeU1qUXNJREl6TUYwc1hISmNibHgwWENKd2RYSndiR1ZjSWpvZ1d6RXlPQ3dnTUN3Z01USTRYU3hjY2x4dVhIUmNJbkpsWW1WalkyRndkWEp3YkdWY0lqb2dXekV3TWl3Z05URXNJREUxTTEwc1hISmNibHgwWENKeVpXUmNJam9nV3pJMU5Td2dNQ3dnTUYwc1hISmNibHgwWENKeWIzTjVZbkp2ZDI1Y0lqb2dXekU0T0N3Z01UUXpMQ0F4TkROZExGeHlYRzVjZEZ3aWNtOTVZV3hpYkhWbFhDSTZJRnMyTlN3Z01UQTFMQ0F5TWpWZExGeHlYRzVjZEZ3aWMyRmtaR3hsWW5KdmQyNWNJam9nV3pFek9Td2dOamtzSURFNVhTeGNjbHh1WEhSY0luTmhiRzF2Ymx3aU9pQmJNalV3TENBeE1qZ3NJREV4TkYwc1hISmNibHgwWENKellXNWtlV0p5YjNkdVhDSTZJRnN5TkRRc0lERTJOQ3dnT1RaZExGeHlYRzVjZEZ3aWMyVmhaM0psWlc1Y0lqb2dXelEyTENBeE16a3NJRGczWFN4Y2NseHVYSFJjSW5ObFlYTm9aV3hzWENJNklGc3lOVFVzSURJME5Td2dNak00WFN4Y2NseHVYSFJjSW5OcFpXNXVZVndpT2lCYk1UWXdMQ0E0TWl3Z05EVmRMRnh5WEc1Y2RGd2ljMmxzZG1WeVhDSTZJRnN4T1RJc0lERTVNaXdnTVRreVhTeGNjbHh1WEhSY0luTnJlV0pzZFdWY0lqb2dXekV6TlN3Z01qQTJMQ0F5TXpWZExGeHlYRzVjZEZ3aWMyeGhkR1ZpYkhWbFhDSTZJRnN4TURZc0lEa3dMQ0F5TURWZExGeHlYRzVjZEZ3aWMyeGhkR1ZuY21GNVhDSTZJRnN4TVRJc0lERXlPQ3dnTVRRMFhTeGNjbHh1WEhSY0luTnNZWFJsWjNKbGVWd2lPaUJiTVRFeUxDQXhNamdzSURFME5GMHNYSEpjYmx4MFhDSnpibTkzWENJNklGc3lOVFVzSURJMU1Dd2dNalV3WFN4Y2NseHVYSFJjSW5Od2NtbHVaMmR5WldWdVhDSTZJRnN3TENBeU5UVXNJREV5TjEwc1hISmNibHgwWENKemRHVmxiR0pzZFdWY0lqb2dXemN3TENBeE16QXNJREU0TUYwc1hISmNibHgwWENKMFlXNWNJam9nV3pJeE1Dd2dNVGd3TENBeE5EQmRMRnh5WEc1Y2RGd2lkR1ZoYkZ3aU9pQmJNQ3dnTVRJNExDQXhNamhkTEZ4eVhHNWNkRndpZEdocGMzUnNaVndpT2lCYk1qRTJMQ0F4T1RFc0lESXhObDBzWEhKY2JseDBYQ0owYjIxaGRHOWNJam9nV3pJMU5Td2dPVGtzSURjeFhTeGNjbHh1WEhSY0luUjFjbkYxYjJselpWd2lPaUJiTmpRc0lESXlOQ3dnTWpBNFhTeGNjbHh1WEhSY0luWnBiMnhsZEZ3aU9pQmJNak00TENBeE16QXNJREl6T0Ywc1hISmNibHgwWENKM2FHVmhkRndpT2lCYk1qUTFMQ0F5TWpJc0lERTNPVjBzWEhKY2JseDBYQ0ozYUdsMFpWd2lPaUJiTWpVMUxDQXlOVFVzSURJMU5WMHNYSEpjYmx4MFhDSjNhR2wwWlhOdGIydGxYQ0k2SUZzeU5EVXNJREkwTlN3Z01qUTFYU3hjY2x4dVhIUmNJbmxsYkd4dmQxd2lPaUJiTWpVMUxDQXlOVFVzSURCZExGeHlYRzVjZEZ3aWVXVnNiRzkzWjNKbFpXNWNJam9nV3pFMU5Dd2dNakExTENBMU1GMWNjbHh1ZlR0Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvbG9yLW5hbWUvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLXN0cmluZy9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY29sb3Itc3RyaW5nL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogTUlUIGxpY2Vuc2UgKi9cXG52YXIgY29sb3JOYW1lcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvbG9yLW5hbWUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLW5hbWUvaW5kZXguanNcXFwiKTtcXG52YXIgc3dpenpsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNpbXBsZS1zd2l6emxlICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qc1xcXCIpO1xcblxcbnZhciByZXZlcnNlTmFtZXMgPSB7fTtcXG5cXG4vLyBjcmVhdGUgYSBsaXN0IG9mIHJldmVyc2UgY29sb3IgbmFtZXNcXG5mb3IgKHZhciBuYW1lIGluIGNvbG9yTmFtZXMpIHtcXG5cXHRpZiAoY29sb3JOYW1lcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xcblxcdFxcdHJldmVyc2VOYW1lc1tjb2xvck5hbWVzW25hbWVdXSA9IG5hbWU7XFxuXFx0fVxcbn1cXG5cXG52YXIgY3MgPSBtb2R1bGUuZXhwb3J0cyA9IHtcXG5cXHR0bzoge30sXFxuXFx0Z2V0OiB7fVxcbn07XFxuXFxuY3MuZ2V0ID0gZnVuY3Rpb24gKHN0cmluZykge1xcblxcdHZhciBwcmVmaXggPSBzdHJpbmcuc3Vic3RyaW5nKDAsIDMpLnRvTG93ZXJDYXNlKCk7XFxuXFx0dmFyIHZhbDtcXG5cXHR2YXIgbW9kZWw7XFxuXFx0c3dpdGNoIChwcmVmaXgpIHtcXG5cXHRcXHRjYXNlICdoc2wnOlxcblxcdFxcdFxcdHZhbCA9IGNzLmdldC5oc2woc3RyaW5nKTtcXG5cXHRcXHRcXHRtb2RlbCA9ICdoc2wnO1xcblxcdFxcdFxcdGJyZWFrO1xcblxcdFxcdGNhc2UgJ2h3Yic6XFxuXFx0XFx0XFx0dmFsID0gY3MuZ2V0Lmh3YihzdHJpbmcpO1xcblxcdFxcdFxcdG1vZGVsID0gJ2h3Yic7XFxuXFx0XFx0XFx0YnJlYWs7XFxuXFx0XFx0ZGVmYXVsdDpcXG5cXHRcXHRcXHR2YWwgPSBjcy5nZXQucmdiKHN0cmluZyk7XFxuXFx0XFx0XFx0bW9kZWwgPSAncmdiJztcXG5cXHRcXHRcXHRicmVhaztcXG5cXHR9XFxuXFxuXFx0aWYgKCF2YWwpIHtcXG5cXHRcXHRyZXR1cm4gbnVsbDtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIHttb2RlbDogbW9kZWwsIHZhbHVlOiB2YWx9O1xcbn07XFxuXFxuY3MuZ2V0LnJnYiA9IGZ1bmN0aW9uIChzdHJpbmcpIHtcXG5cXHRpZiAoIXN0cmluZykge1xcblxcdFxcdHJldHVybiBudWxsO1xcblxcdH1cXG5cXG5cXHR2YXIgYWJiciA9IC9eIyhbYS1mMC05XXszLDR9KSQvaTtcXG5cXHR2YXIgaGV4ID0gL14jKFthLWYwLTldezZ9KShbYS1mMC05XXsyfSk/JC9pO1xcblxcdHZhciByZ2JhID0gL15yZ2JhP1xcXFwoXFxcXHMqKFsrLV0/XFxcXGQrKVxcXFxzKixcXFxccyooWystXT9cXFxcZCspXFxcXHMqLFxcXFxzKihbKy1dP1xcXFxkKylcXFxccyooPzosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKylcXFxccyopP1xcXFwpJC87XFxuXFx0dmFyIHBlciA9IC9ecmdiYT9cXFxcKFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspXFxcXCVcXFxccyosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKylcXFxcJVxcXFxzKixcXFxccyooWystXT9bXFxcXGRcXFxcLl0rKVxcXFwlXFxcXHMqKD86LFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspXFxcXHMqKT9cXFxcKSQvO1xcblxcdHZhciBrZXl3b3JkID0gLyhcXFxcRCspLztcXG5cXG5cXHR2YXIgcmdiID0gWzAsIDAsIDAsIDFdO1xcblxcdHZhciBtYXRjaDtcXG5cXHR2YXIgaTtcXG5cXHR2YXIgaGV4QWxwaGE7XFxuXFxuXFx0aWYgKG1hdGNoID0gc3RyaW5nLm1hdGNoKGhleCkpIHtcXG5cXHRcXHRoZXhBbHBoYSA9IG1hdGNoWzJdO1xcblxcdFxcdG1hdGNoID0gbWF0Y2hbMV07XFxuXFxuXFx0XFx0Zm9yIChpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdFxcdC8vIGh0dHBzOi8vanNwZXJmLmNvbS9zbGljZS12cy1zdWJzdHItdnMtc3Vic3RyaW5nLW1ldGhvZHMtbG9uZy1zdHJpbmcvMTlcXG5cXHRcXHRcXHR2YXIgaTIgPSBpICogMjtcXG5cXHRcXHRcXHRyZ2JbaV0gPSBwYXJzZUludChtYXRjaC5zbGljZShpMiwgaTIgKyAyKSwgMTYpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoaGV4QWxwaGEpIHtcXG5cXHRcXHRcXHRyZ2JbM10gPSBNYXRoLnJvdW5kKChwYXJzZUludChoZXhBbHBoYSwgMTYpIC8gMjU1KSAqIDEwMCkgLyAxMDA7XFxuXFx0XFx0fVxcblxcdH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2goYWJicikpIHtcXG5cXHRcXHRtYXRjaCA9IG1hdGNoWzFdO1xcblxcdFxcdGhleEFscGhhID0gbWF0Y2hbM107XFxuXFxuXFx0XFx0Zm9yIChpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdFxcdHJnYltpXSA9IHBhcnNlSW50KG1hdGNoW2ldICsgbWF0Y2hbaV0sIDE2KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKGhleEFscGhhKSB7XFxuXFx0XFx0XFx0cmdiWzNdID0gTWF0aC5yb3VuZCgocGFyc2VJbnQoaGV4QWxwaGEgKyBoZXhBbHBoYSwgMTYpIC8gMjU1KSAqIDEwMCkgLyAxMDA7XFxuXFx0XFx0fVxcblxcdH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2gocmdiYSkpIHtcXG5cXHRcXHRmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7XFxuXFx0XFx0XFx0cmdiW2ldID0gcGFyc2VJbnQobWF0Y2hbaSArIDFdLCAwKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKG1hdGNoWzRdKSB7XFxuXFx0XFx0XFx0cmdiWzNdID0gcGFyc2VGbG9hdChtYXRjaFs0XSk7XFxuXFx0XFx0fVxcblxcdH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2gocGVyKSkge1xcblxcdFxcdGZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHtcXG5cXHRcXHRcXHRyZ2JbaV0gPSBNYXRoLnJvdW5kKHBhcnNlRmxvYXQobWF0Y2hbaSArIDFdKSAqIDIuNTUpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAobWF0Y2hbNF0pIHtcXG5cXHRcXHRcXHRyZ2JbM10gPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTtcXG5cXHRcXHR9XFxuXFx0fSBlbHNlIGlmIChtYXRjaCA9IHN0cmluZy5tYXRjaChrZXl3b3JkKSkge1xcblxcdFxcdGlmIChtYXRjaFsxXSA9PT0gJ3RyYW5zcGFyZW50Jykge1xcblxcdFxcdFxcdHJldHVybiBbMCwgMCwgMCwgMF07XFxuXFx0XFx0fVxcblxcblxcdFxcdHJnYiA9IGNvbG9yTmFtZXNbbWF0Y2hbMV1dO1xcblxcblxcdFxcdGlmICghcmdiKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG51bGw7XFxuXFx0XFx0fVxcblxcblxcdFxcdHJnYlszXSA9IDE7XFxuXFxuXFx0XFx0cmV0dXJuIHJnYjtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdHJldHVybiBudWxsO1xcblxcdH1cXG5cXG5cXHRmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7XFxuXFx0XFx0cmdiW2ldID0gY2xhbXAocmdiW2ldLCAwLCAyNTUpO1xcblxcdH1cXG5cXHRyZ2JbM10gPSBjbGFtcChyZ2JbM10sIDAsIDEpO1xcblxcblxcdHJldHVybiByZ2I7XFxufTtcXG5cXG5jcy5nZXQuaHNsID0gZnVuY3Rpb24gKHN0cmluZykge1xcblxcdGlmICghc3RyaW5nKSB7XFxuXFx0XFx0cmV0dXJuIG51bGw7XFxuXFx0fVxcblxcblxcdHZhciBoc2wgPSAvXmhzbGE/XFxcXChcXFxccyooWystXT8oPzpcXFxcZCpcXFxcLik/XFxcXGQrKSg/OmRlZyk/XFxcXHMqLFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspJVxcXFxzKixcXFxccyooWystXT9bXFxcXGRcXFxcLl0rKSVcXFxccyooPzosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKylcXFxccyopP1xcXFwpJC87XFxuXFx0dmFyIG1hdGNoID0gc3RyaW5nLm1hdGNoKGhzbCk7XFxuXFxuXFx0aWYgKG1hdGNoKSB7XFxuXFx0XFx0dmFyIGFscGhhID0gcGFyc2VGbG9hdChtYXRjaFs0XSk7XFxuXFx0XFx0dmFyIGggPSAocGFyc2VGbG9hdChtYXRjaFsxXSkgKyAzNjApICUgMzYwO1xcblxcdFxcdHZhciBzID0gY2xhbXAocGFyc2VGbG9hdChtYXRjaFsyXSksIDAsIDEwMCk7XFxuXFx0XFx0dmFyIGwgPSBjbGFtcChwYXJzZUZsb2F0KG1hdGNoWzNdKSwgMCwgMTAwKTtcXG5cXHRcXHR2YXIgYSA9IGNsYW1wKGlzTmFOKGFscGhhKSA/IDEgOiBhbHBoYSwgMCwgMSk7XFxuXFxuXFx0XFx0cmV0dXJuIFtoLCBzLCBsLCBhXTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIG51bGw7XFxufTtcXG5cXG5jcy5nZXQuaHdiID0gZnVuY3Rpb24gKHN0cmluZykge1xcblxcdGlmICghc3RyaW5nKSB7XFxuXFx0XFx0cmV0dXJuIG51bGw7XFxuXFx0fVxcblxcblxcdHZhciBod2IgPSAvXmh3YlxcXFwoXFxcXHMqKFsrLV0/XFxcXGQqW1xcXFwuXT9cXFxcZCspKD86ZGVnKT9cXFxccyosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKyklXFxcXHMqLFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspJVxcXFxzKig/OixcXFxccyooWystXT9bXFxcXGRcXFxcLl0rKVxcXFxzKik/XFxcXCkkLztcXG5cXHR2YXIgbWF0Y2ggPSBzdHJpbmcubWF0Y2goaHdiKTtcXG5cXG5cXHRpZiAobWF0Y2gpIHtcXG5cXHRcXHR2YXIgYWxwaGEgPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTtcXG5cXHRcXHR2YXIgaCA9ICgocGFyc2VGbG9hdChtYXRjaFsxXSkgJSAzNjApICsgMzYwKSAlIDM2MDtcXG5cXHRcXHR2YXIgdyA9IGNsYW1wKHBhcnNlRmxvYXQobWF0Y2hbMl0pLCAwLCAxMDApO1xcblxcdFxcdHZhciBiID0gY2xhbXAocGFyc2VGbG9hdChtYXRjaFszXSksIDAsIDEwMCk7XFxuXFx0XFx0dmFyIGEgPSBjbGFtcChpc05hTihhbHBoYSkgPyAxIDogYWxwaGEsIDAsIDEpO1xcblxcdFxcdHJldHVybiBbaCwgdywgYiwgYV07XFxuXFx0fVxcblxcblxcdHJldHVybiBudWxsO1xcbn07XFxuXFxuY3MudG8uaGV4ID0gZnVuY3Rpb24gKCkge1xcblxcdHZhciByZ2JhID0gc3dpenpsZShhcmd1bWVudHMpO1xcblxcblxcdHJldHVybiAoXFxuXFx0XFx0JyMnICtcXG5cXHRcXHRoZXhEb3VibGUocmdiYVswXSkgK1xcblxcdFxcdGhleERvdWJsZShyZ2JhWzFdKSArXFxuXFx0XFx0aGV4RG91YmxlKHJnYmFbMl0pICtcXG5cXHRcXHQocmdiYVszXSA8IDFcXG5cXHRcXHRcXHQ/IChoZXhEb3VibGUoTWF0aC5yb3VuZChyZ2JhWzNdICogMjU1KSkpXFxuXFx0XFx0XFx0OiAnJylcXG5cXHQpO1xcbn07XFxuXFxuY3MudG8ucmdiID0gZnVuY3Rpb24gKCkge1xcblxcdHZhciByZ2JhID0gc3dpenpsZShhcmd1bWVudHMpO1xcblxcblxcdHJldHVybiByZ2JhLmxlbmd0aCA8IDQgfHwgcmdiYVszXSA9PT0gMVxcblxcdFxcdD8gJ3JnYignICsgTWF0aC5yb3VuZChyZ2JhWzBdKSArICcsICcgKyBNYXRoLnJvdW5kKHJnYmFbMV0pICsgJywgJyArIE1hdGgucm91bmQocmdiYVsyXSkgKyAnKSdcXG5cXHRcXHQ6ICdyZ2JhKCcgKyBNYXRoLnJvdW5kKHJnYmFbMF0pICsgJywgJyArIE1hdGgucm91bmQocmdiYVsxXSkgKyAnLCAnICsgTWF0aC5yb3VuZChyZ2JhWzJdKSArICcsICcgKyByZ2JhWzNdICsgJyknO1xcbn07XFxuXFxuY3MudG8ucmdiLnBlcmNlbnQgPSBmdW5jdGlvbiAoKSB7XFxuXFx0dmFyIHJnYmEgPSBzd2l6emxlKGFyZ3VtZW50cyk7XFxuXFxuXFx0dmFyIHIgPSBNYXRoLnJvdW5kKHJnYmFbMF0gLyAyNTUgKiAxMDApO1xcblxcdHZhciBnID0gTWF0aC5yb3VuZChyZ2JhWzFdIC8gMjU1ICogMTAwKTtcXG5cXHR2YXIgYiA9IE1hdGgucm91bmQocmdiYVsyXSAvIDI1NSAqIDEwMCk7XFxuXFxuXFx0cmV0dXJuIHJnYmEubGVuZ3RoIDwgNCB8fCByZ2JhWzNdID09PSAxXFxuXFx0XFx0PyAncmdiKCcgKyByICsgJyUsICcgKyBnICsgJyUsICcgKyBiICsgJyUpJ1xcblxcdFxcdDogJ3JnYmEoJyArIHIgKyAnJSwgJyArIGcgKyAnJSwgJyArIGIgKyAnJSwgJyArIHJnYmFbM10gKyAnKSc7XFxufTtcXG5cXG5jcy50by5oc2wgPSBmdW5jdGlvbiAoKSB7XFxuXFx0dmFyIGhzbGEgPSBzd2l6emxlKGFyZ3VtZW50cyk7XFxuXFx0cmV0dXJuIGhzbGEubGVuZ3RoIDwgNCB8fCBoc2xhWzNdID09PSAxXFxuXFx0XFx0PyAnaHNsKCcgKyBoc2xhWzBdICsgJywgJyArIGhzbGFbMV0gKyAnJSwgJyArIGhzbGFbMl0gKyAnJSknXFxuXFx0XFx0OiAnaHNsYSgnICsgaHNsYVswXSArICcsICcgKyBoc2xhWzFdICsgJyUsICcgKyBoc2xhWzJdICsgJyUsICcgKyBoc2xhWzNdICsgJyknO1xcbn07XFxuXFxuLy8gaHdiIGlzIGEgYml0IGRpZmZlcmVudCB0aGFuIHJnYihhKSAmIGhzbChhKSBzaW5jZSB0aGVyZSBpcyBubyBhbHBoYSBzcGVjaWZpYyBzeW50YXhcXG4vLyAoaHdiIGhhdmUgYWxwaGEgb3B0aW9uYWwgJiAxIGlzIGRlZmF1bHQgdmFsdWUpXFxuY3MudG8uaHdiID0gZnVuY3Rpb24gKCkge1xcblxcdHZhciBod2JhID0gc3dpenpsZShhcmd1bWVudHMpO1xcblxcblxcdHZhciBhID0gJyc7XFxuXFx0aWYgKGh3YmEubGVuZ3RoID49IDQgJiYgaHdiYVszXSAhPT0gMSkge1xcblxcdFxcdGEgPSAnLCAnICsgaHdiYVszXTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuICdod2IoJyArIGh3YmFbMF0gKyAnLCAnICsgaHdiYVsxXSArICclLCAnICsgaHdiYVsyXSArICclJyArIGEgKyAnKSc7XFxufTtcXG5cXG5jcy50by5rZXl3b3JkID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHJldHVybiByZXZlcnNlTmFtZXNbcmdiLnNsaWNlKDAsIDMpXTtcXG59O1xcblxcbi8vIGhlbHBlcnNcXG5mdW5jdGlvbiBjbGFtcChudW0sIG1pbiwgbWF4KSB7XFxuXFx0cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG1pbiwgbnVtKSwgbWF4KTtcXG59XFxuXFxuZnVuY3Rpb24gaGV4RG91YmxlKG51bSkge1xcblxcdHZhciBzdHIgPSBudW0udG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XFxuXFx0cmV0dXJuIChzdHIubGVuZ3RoIDwgMikgPyAnMCcgKyBzdHIgOiBzdHI7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amIyeHZjaTF6ZEhKcGJtY3ZhVzVrWlhndWFuTS9PVE5sTmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhORVFVRlpPMEZCUTNKRExHTkJRV01zYlVKQlFVOHNRMEZCUXl3NFJFRkJaMEk3TzBGQlJYUkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNVMEZCVXp0QlFVTlVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSGxDUVVGNVFpeEpRVUZKTzBGQlF6ZENMSGRDUVVGM1FpeEZRVUZGTEZkQlFWY3NSVUZCUlR0QlFVTjJRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR0ZCUVdFc1QwRkJUenRCUVVOd1FqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVRzN1FVRkZRU3hoUVVGaExFOUJRVTg3UVVGRGNFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWXNZVUZCWVN4UFFVRlBPMEZCUTNCQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHRCUVVOR0xHRkJRV0VzVDBGQlR6dEJRVU53UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdRVUZEUmp0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN08wRkJSVUVzV1VGQldTeFBRVUZQTzBGQlEyNUNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJOdmJHOXlMWE4wY21sdVp5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUlFMUpWQ0JzYVdObGJuTmxJQ292WEc1MllYSWdZMjlzYjNKT1lXMWxjeUE5SUhKbGNYVnBjbVVvSjJOdmJHOXlMVzVoYldVbktUdGNiblpoY2lCemQybDZlbXhsSUQwZ2NtVnhkV2x5WlNnbmMybHRjR3hsTFhOM2FYcDZiR1VuS1R0Y2JseHVkbUZ5SUhKbGRtVnljMlZPWVcxbGN5QTlJSHQ5TzF4dVhHNHZMeUJqY21WaGRHVWdZU0JzYVhOMElHOW1JSEpsZG1WeWMyVWdZMjlzYjNJZ2JtRnRaWE5jYm1admNpQW9kbUZ5SUc1aGJXVWdhVzRnWTI5c2IzSk9ZVzFsY3lrZ2UxeHVYSFJwWmlBb1kyOXNiM0pPWVcxbGN5NW9ZWE5QZDI1UWNtOXdaWEowZVNodVlXMWxLU2tnZTF4dVhIUmNkSEpsZG1WeWMyVk9ZVzFsYzF0amIyeHZjazVoYldWelcyNWhiV1ZkWFNBOUlHNWhiV1U3WEc1Y2RIMWNibjFjYmx4dWRtRnlJR056SUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCN1hHNWNkSFJ2T2lCN2ZTeGNibHgwWjJWME9pQjdmVnh1ZlR0Y2JseHVZM011WjJWMElEMGdablZ1WTNScGIyNGdLSE4wY21sdVp5a2dlMXh1WEhSMllYSWdjSEpsWm1sNElEMGdjM1J5YVc1bkxuTjFZbk4wY21sdVp5Z3dMQ0F6S1M1MGIweHZkMlZ5UTJGelpTZ3BPMXh1WEhSMllYSWdkbUZzTzF4dVhIUjJZWElnYlc5a1pXdzdYRzVjZEhOM2FYUmphQ0FvY0hKbFptbDRLU0I3WEc1Y2RGeDBZMkZ6WlNBbmFITnNKenBjYmx4MFhIUmNkSFpoYkNBOUlHTnpMbWRsZEM1b2Myd29jM1J5YVc1bktUdGNibHgwWEhSY2RHMXZaR1ZzSUQwZ0oyaHpiQ2M3WEc1Y2RGeDBYSFJpY21WaGF6dGNibHgwWEhSallYTmxJQ2RvZDJJbk9seHVYSFJjZEZ4MGRtRnNJRDBnWTNNdVoyVjBMbWgzWWloemRISnBibWNwTzF4dVhIUmNkRngwYlc5a1pXd2dQU0FuYUhkaUp6dGNibHgwWEhSY2RHSnlaV0ZyTzF4dVhIUmNkR1JsWm1GMWJIUTZYRzVjZEZ4MFhIUjJZV3dnUFNCamN5NW5aWFF1Y21kaUtITjBjbWx1WnlrN1hHNWNkRngwWEhSdGIyUmxiQ0E5SUNkeVoySW5PMXh1WEhSY2RGeDBZbkpsWVdzN1hHNWNkSDFjYmx4dVhIUnBaaUFvSVhaaGJDa2dlMXh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJSHR0YjJSbGJEb2diVzlrWld3c0lIWmhiSFZsT2lCMllXeDlPMXh1ZlR0Y2JseHVZM011WjJWMExuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoemRISnBibWNwSUh0Y2JseDBhV1lnS0NGemRISnBibWNwSUh0Y2JseDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2JseDBmVnh1WEc1Y2RIWmhjaUJoWW1KeUlEMGdMMTRqS0Z0aExXWXdMVGxkZXpNc05IMHBKQzlwTzF4dVhIUjJZWElnYUdWNElEMGdMMTRqS0Z0aExXWXdMVGxkZXpaOUtTaGJZUzFtTUMwNVhYc3lmU2svSkM5cE8xeHVYSFIyWVhJZ2NtZGlZU0E5SUM5ZWNtZGlZVDljWENoY1hITXFLRnNyTFYwL1hGeGtLeWxjWEhNcUxGeGNjeW9vV3lzdFhUOWNYR1FyS1Z4Y2N5b3NYRnh6S2loYkt5MWRQMXhjWkNzcFhGeHpLaWcvT2l4Y1hITXFLRnNyTFYwL1cxeGNaRnhjTGwwcktWeGNjeW9wUDF4Y0tTUXZPMXh1WEhSMllYSWdjR1Z5SUQwZ0wxNXlaMkpoUDF4Y0tGeGNjeW9vV3lzdFhUOWJYRnhrWEZ3dVhTc3BYRndsWEZ4ektpeGNYSE1xS0ZzckxWMC9XMXhjWkZ4Y0xsMHJLVnhjSlZ4Y2N5b3NYRnh6S2loYkt5MWRQMXRjWEdSY1hDNWRLeWxjWENWY1hITXFLRDg2TEZ4Y2N5b29XeXN0WFQ5YlhGeGtYRnd1WFNzcFhGeHpLaWsvWEZ3cEpDODdYRzVjZEhaaGNpQnJaWGwzYjNKa0lEMGdMeWhjWEVRcktTODdYRzVjYmx4MGRtRnlJSEpuWWlBOUlGc3dMQ0F3TENBd0xDQXhYVHRjYmx4MGRtRnlJRzFoZEdOb08xeHVYSFIyWVhJZ2FUdGNibHgwZG1GeUlHaGxlRUZzY0doaE8xeHVYRzVjZEdsbUlDaHRZWFJqYUNBOUlITjBjbWx1Wnk1dFlYUmphQ2hvWlhncEtTQjdYRzVjZEZ4MGFHVjRRV3h3YUdFZ1BTQnRZWFJqYUZzeVhUdGNibHgwWEhSdFlYUmphQ0E5SUcxaGRHTm9XekZkTzF4dVhHNWNkRngwWm05eUlDaHBJRDBnTURzZ2FTQThJRE03SUdrckt5a2dlMXh1WEhSY2RGeDBMeThnYUhSMGNITTZMeTlxYzNCbGNtWXVZMjl0TDNOc2FXTmxMWFp6TFhOMVluTjBjaTEyY3kxemRXSnpkSEpwYm1jdGJXVjBhRzlrY3kxc2IyNW5MWE4wY21sdVp5OHhPVnh1WEhSY2RGeDBkbUZ5SUdreUlEMGdhU0FxSURJN1hHNWNkRngwWEhSeVoySmJhVjBnUFNCd1lYSnpaVWx1ZENodFlYUmphQzV6YkdsalpTaHBNaXdnYVRJZ0t5QXlLU3dnTVRZcE8xeHVYSFJjZEgxY2JseHVYSFJjZEdsbUlDaG9aWGhCYkhCb1lTa2dlMXh1WEhSY2RGeDBjbWRpV3pOZElEMGdUV0YwYUM1eWIzVnVaQ2dvY0dGeWMyVkpiblFvYUdWNFFXeHdhR0VzSURFMktTQXZJREkxTlNrZ0tpQXhNREFwSUM4Z01UQXdPMXh1WEhSY2RIMWNibHgwZlNCbGJITmxJR2xtSUNodFlYUmphQ0E5SUhOMGNtbHVaeTV0WVhSamFDaGhZbUp5S1NrZ2UxeHVYSFJjZEcxaGRHTm9JRDBnYldGMFkyaGJNVjA3WEc1Y2RGeDBhR1Y0UVd4d2FHRWdQU0J0WVhSamFGc3pYVHRjYmx4dVhIUmNkR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQXpPeUJwS3lzcElIdGNibHgwWEhSY2RISm5ZbHRwWFNBOUlIQmhjbk5sU1c1MEtHMWhkR05vVzJsZElDc2diV0YwWTJoYmFWMHNJREUyS1R0Y2JseDBYSFI5WEc1Y2JseDBYSFJwWmlBb2FHVjRRV3h3YUdFcElIdGNibHgwWEhSY2RISm5ZbHN6WFNBOUlFMWhkR2d1Y205MWJtUW9LSEJoY25ObFNXNTBLR2hsZUVGc2NHaGhJQ3NnYUdWNFFXeHdhR0VzSURFMktTQXZJREkxTlNrZ0tpQXhNREFwSUM4Z01UQXdPMXh1WEhSY2RIMWNibHgwZlNCbGJITmxJR2xtSUNodFlYUmphQ0E5SUhOMGNtbHVaeTV0WVhSamFDaHlaMkpoS1NrZ2UxeHVYSFJjZEdadmNpQW9hU0E5SURBN0lHa2dQQ0F6T3lCcEt5c3BJSHRjYmx4MFhIUmNkSEpuWWx0cFhTQTlJSEJoY25ObFNXNTBLRzFoZEdOb1cya2dLeUF4WFN3Z01DazdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGFXWWdLRzFoZEdOb1d6UmRLU0I3WEc1Y2RGeDBYSFJ5WjJKYk0xMGdQU0J3WVhKelpVWnNiMkYwS0cxaGRHTm9XelJkS1R0Y2JseDBYSFI5WEc1Y2RIMGdaV3h6WlNCcFppQW9iV0YwWTJnZ1BTQnpkSEpwYm1jdWJXRjBZMmdvY0dWeUtTa2dlMXh1WEhSY2RHWnZjaUFvYVNBOUlEQTdJR2tnUENBek95QnBLeXNwSUh0Y2JseDBYSFJjZEhKbllsdHBYU0E5SUUxaGRHZ3VjbTkxYm1Rb2NHRnljMlZHYkc5aGRDaHRZWFJqYUZ0cElDc2dNVjBwSUNvZ01pNDFOU2s3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBhV1lnS0cxaGRHTm9XelJkS1NCN1hHNWNkRngwWEhSeVoySmJNMTBnUFNCd1lYSnpaVVpzYjJGMEtHMWhkR05vV3pSZEtUdGNibHgwWEhSOVhHNWNkSDBnWld4elpTQnBaaUFvYldGMFkyZ2dQU0J6ZEhKcGJtY3ViV0YwWTJnb2EyVjVkMjl5WkNrcElIdGNibHgwWEhScFppQW9iV0YwWTJoYk1WMGdQVDA5SUNkMGNtRnVjM0JoY21WdWRDY3BJSHRjYmx4MFhIUmNkSEpsZEhWeWJpQmJNQ3dnTUN3Z01Dd2dNRjA3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbWRpSUQwZ1kyOXNiM0pPWVcxbGMxdHRZWFJqYUZzeFhWMDdYRzVjYmx4MFhIUnBaaUFvSVhKbllpa2dlMXh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbWRpV3pOZElEMGdNVHRjYmx4dVhIUmNkSEpsZEhWeWJpQnlaMkk3WEc1Y2RIMGdaV3h6WlNCN1hHNWNkRngwY21WMGRYSnVJRzUxYkd3N1hHNWNkSDFjYmx4dVhIUm1iM0lnS0drZ1BTQXdPeUJwSUR3Z016c2dhU3NyS1NCN1hHNWNkRngwY21kaVcybGRJRDBnWTJ4aGJYQW9jbWRpVzJsZExDQXdMQ0F5TlRVcE8xeHVYSFI5WEc1Y2RISm5ZbHN6WFNBOUlHTnNZVzF3S0hKbllsc3pYU3dnTUN3Z01TazdYRzVjYmx4MGNtVjBkWEp1SUhKbllqdGNibjA3WEc1Y2JtTnpMbWRsZEM1b2Myd2dQU0JtZFc1amRHbHZiaUFvYzNSeWFXNW5LU0I3WEc1Y2RHbG1JQ2doYzNSeWFXNW5LU0I3WEc1Y2RGeDBjbVYwZFhKdUlHNTFiR3c3WEc1Y2RIMWNibHh1WEhSMllYSWdhSE5zSUQwZ0wxNW9jMnhoUDF4Y0tGeGNjeW9vV3lzdFhUOG9QenBjWEdRcVhGd3VLVDljWEdRcktTZy9PbVJsWnlrL1hGeHpLaXhjWEhNcUtGc3JMVjAvVzF4Y1pGeGNMbDByS1NWY1hITXFMRnhjY3lvb1d5c3RYVDliWEZ4a1hGd3VYU3NwSlZ4Y2N5b29Qem9zWEZ4ektpaGJLeTFkUDF0Y1hHUmNYQzVkS3lsY1hITXFLVDljWENra0x6dGNibHgwZG1GeUlHMWhkR05vSUQwZ2MzUnlhVzVuTG0xaGRHTm9LR2h6YkNrN1hHNWNibHgwYVdZZ0tHMWhkR05vS1NCN1hHNWNkRngwZG1GeUlHRnNjR2hoSUQwZ2NHRnljMlZHYkc5aGRDaHRZWFJqYUZzMFhTazdYRzVjZEZ4MGRtRnlJR2dnUFNBb2NHRnljMlZHYkc5aGRDaHRZWFJqYUZzeFhTa2dLeUF6TmpBcElDVWdNell3TzF4dVhIUmNkSFpoY2lCeklEMGdZMnhoYlhBb2NHRnljMlZHYkc5aGRDaHRZWFJqYUZzeVhTa3NJREFzSURFd01DazdYRzVjZEZ4MGRtRnlJR3dnUFNCamJHRnRjQ2h3WVhKelpVWnNiMkYwS0cxaGRHTm9Xek5kS1N3Z01Dd2dNVEF3S1R0Y2JseDBYSFIyWVhJZ1lTQTlJR05zWVcxd0tHbHpUbUZPS0dGc2NHaGhLU0EvSURFZ09pQmhiSEJvWVN3Z01Dd2dNU2s3WEc1Y2JseDBYSFJ5WlhSMWNtNGdXMmdzSUhNc0lHd3NJR0ZkTzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUc1MWJHdzdYRzU5TzF4dVhHNWpjeTVuWlhRdWFIZGlJRDBnWm5WdVkzUnBiMjRnS0hOMGNtbHVaeWtnZTF4dVhIUnBaaUFvSVhOMGNtbHVaeWtnZTF4dVhIUmNkSEpsZEhWeWJpQnVkV3hzTzF4dVhIUjlYRzVjYmx4MGRtRnlJR2gzWWlBOUlDOWVhSGRpWEZ3b1hGeHpLaWhiS3kxZFAxeGNaQ3BiWEZ3dVhUOWNYR1FyS1NnL09tUmxaeWsvWEZ4ektpeGNYSE1xS0ZzckxWMC9XMXhjWkZ4Y0xsMHJLU1ZjWEhNcUxGeGNjeW9vV3lzdFhUOWJYRnhrWEZ3dVhTc3BKVnhjY3lvb1B6b3NYRnh6S2loYkt5MWRQMXRjWEdSY1hDNWRLeWxjWEhNcUtUOWNYQ2trTHp0Y2JseDBkbUZ5SUcxaGRHTm9JRDBnYzNSeWFXNW5MbTFoZEdOb0tHaDNZaWs3WEc1Y2JseDBhV1lnS0cxaGRHTm9LU0I3WEc1Y2RGeDBkbUZ5SUdGc2NHaGhJRDBnY0dGeWMyVkdiRzloZENodFlYUmphRnMwWFNrN1hHNWNkRngwZG1GeUlHZ2dQU0FvS0hCaGNuTmxSbXh2WVhRb2JXRjBZMmhiTVYwcElDVWdNell3S1NBcklETTJNQ2tnSlNBek5qQTdYRzVjZEZ4MGRtRnlJSGNnUFNCamJHRnRjQ2h3WVhKelpVWnNiMkYwS0cxaGRHTm9XekpkS1N3Z01Dd2dNVEF3S1R0Y2JseDBYSFIyWVhJZ1lpQTlJR05zWVcxd0tIQmhjbk5sUm14dllYUW9iV0YwWTJoYk0xMHBMQ0F3TENBeE1EQXBPMXh1WEhSY2RIWmhjaUJoSUQwZ1kyeGhiWEFvYVhOT1lVNG9ZV3h3YUdFcElEOGdNU0E2SUdGc2NHaGhMQ0F3TENBeEtUdGNibHgwWEhSeVpYUjFjbTRnVzJnc0lIY3NJR0lzSUdGZE8xeHVYSFI5WEc1Y2JseDBjbVYwZFhKdUlHNTFiR3c3WEc1OU8xeHVYRzVqY3k1MGJ5NW9aWGdnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzVjZEhaaGNpQnlaMkpoSUQwZ2MzZHBlbnBzWlNoaGNtZDFiV1Z1ZEhNcE8xeHVYRzVjZEhKbGRIVnliaUFvWEc1Y2RGeDBKeU1uSUN0Y2JseDBYSFJvWlhoRWIzVmliR1VvY21kaVlWc3dYU2tnSzF4dVhIUmNkR2hsZUVSdmRXSnNaU2h5WjJKaFd6RmRLU0FyWEc1Y2RGeDBhR1Y0Ukc5MVlteGxLSEpuWW1GYk1sMHBJQ3RjYmx4MFhIUW9jbWRpWVZzelhTQThJREZjYmx4MFhIUmNkRDhnS0dobGVFUnZkV0pzWlNoTllYUm9Mbkp2ZFc1a0tISm5ZbUZiTTEwZ0tpQXlOVFVwS1NsY2JseDBYSFJjZERvZ0p5Y3BYRzVjZENrN1hHNTlPMXh1WEc1amN5NTBieTV5WjJJZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RIWmhjaUJ5WjJKaElEMGdjM2RwZW5wc1pTaGhjbWQxYldWdWRITXBPMXh1WEc1Y2RISmxkSFZ5YmlCeVoySmhMbXhsYm1kMGFDQThJRFFnZkh3Z2NtZGlZVnN6WFNBOVBUMGdNVnh1WEhSY2REOGdKM0puWWlnbklDc2dUV0YwYUM1eWIzVnVaQ2h5WjJKaFd6QmRLU0FySUNjc0lDY2dLeUJOWVhSb0xuSnZkVzVrS0hKblltRmJNVjBwSUNzZ0p5d2dKeUFySUUxaGRHZ3VjbTkxYm1Rb2NtZGlZVnN5WFNrZ0t5QW5LU2RjYmx4MFhIUTZJQ2R5WjJKaEtDY2dLeUJOWVhSb0xuSnZkVzVrS0hKblltRmJNRjBwSUNzZ0p5d2dKeUFySUUxaGRHZ3VjbTkxYm1Rb2NtZGlZVnN4WFNrZ0t5QW5MQ0FuSUNzZ1RXRjBhQzV5YjNWdVpDaHlaMkpoV3pKZEtTQXJJQ2NzSUNjZ0t5QnlaMkpoV3pOZElDc2dKeWtuTzF4dWZUdGNibHh1WTNNdWRHOHVjbWRpTG5CbGNtTmxiblFnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzVjZEhaaGNpQnlaMkpoSUQwZ2MzZHBlbnBzWlNoaGNtZDFiV1Z1ZEhNcE8xeHVYRzVjZEhaaGNpQnlJRDBnVFdGMGFDNXliM1Z1WkNoeVoySmhXekJkSUM4Z01qVTFJQ29nTVRBd0tUdGNibHgwZG1GeUlHY2dQU0JOWVhSb0xuSnZkVzVrS0hKblltRmJNVjBnTHlBeU5UVWdLaUF4TURBcE8xeHVYSFIyWVhJZ1lpQTlJRTFoZEdndWNtOTFibVFvY21kaVlWc3lYU0F2SURJMU5TQXFJREV3TUNrN1hHNWNibHgwY21WMGRYSnVJSEpuWW1FdWJHVnVaM1JvSUR3Z05DQjhmQ0J5WjJKaFd6TmRJRDA5UFNBeFhHNWNkRngwUHlBbmNtZGlLQ2NnS3lCeUlDc2dKeVVzSUNjZ0t5Qm5JQ3NnSnlVc0lDY2dLeUJpSUNzZ0p5VXBKMXh1WEhSY2REb2dKM0puWW1Fb0p5QXJJSElnS3lBbkpTd2dKeUFySUdjZ0t5QW5KU3dnSnlBcklHSWdLeUFuSlN3Z0p5QXJJSEpuWW1GYk0xMGdLeUFuS1NjN1hHNTlPMXh1WEc1amN5NTBieTVvYzJ3Z1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RIWmhjaUJvYzJ4aElEMGdjM2RwZW5wc1pTaGhjbWQxYldWdWRITXBPMXh1WEhSeVpYUjFjbTRnYUhOc1lTNXNaVzVuZEdnZ1BDQTBJSHg4SUdoemJHRmJNMTBnUFQwOUlERmNibHgwWEhRL0lDZG9jMndvSnlBcklHaHpiR0ZiTUYwZ0t5QW5MQ0FuSUNzZ2FITnNZVnN4WFNBcklDY2xMQ0FuSUNzZ2FITnNZVnN5WFNBcklDY2xLU2RjYmx4MFhIUTZJQ2RvYzJ4aEtDY2dLeUJvYzJ4aFd6QmRJQ3NnSnl3Z0p5QXJJR2h6YkdGYk1WMGdLeUFuSlN3Z0p5QXJJR2h6YkdGYk1sMGdLeUFuSlN3Z0p5QXJJR2h6YkdGYk0xMGdLeUFuS1NjN1hHNTlPMXh1WEc0dkx5Qm9kMklnYVhNZ1lTQmlhWFFnWkdsbVptVnlaVzUwSUhSb1lXNGdjbWRpS0dFcElDWWdhSE5zS0dFcElITnBibU5sSUhSb1pYSmxJR2x6SUc1dklHRnNjR2hoSUhOd1pXTnBabWxqSUhONWJuUmhlRnh1THk4Z0tHaDNZaUJvWVhabElHRnNjR2hoSUc5d2RHbHZibUZzSUNZZ01TQnBjeUJrWldaaGRXeDBJSFpoYkhWbEtWeHVZM011ZEc4dWFIZGlJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVYSFIyWVhJZ2FIZGlZU0E5SUhOM2FYcDZiR1VvWVhKbmRXMWxiblJ6S1R0Y2JseHVYSFIyWVhJZ1lTQTlJQ2NuTzF4dVhIUnBaaUFvYUhkaVlTNXNaVzVuZEdnZ1BqMGdOQ0FtSmlCb2QySmhXek5kSUNFOVBTQXhLU0I3WEc1Y2RGeDBZU0E5SUNjc0lDY2dLeUJvZDJKaFd6TmRPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJQ2RvZDJJb0p5QXJJR2gzWW1GYk1GMGdLeUFuTENBbklDc2dhSGRpWVZzeFhTQXJJQ2NsTENBbklDc2dhSGRpWVZzeVhTQXJJQ2NsSnlBcklHRWdLeUFuS1NjN1hHNTlPMXh1WEc1amN5NTBieTVyWlhsM2IzSmtJRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSeVpYUjFjbTRnY21WMlpYSnpaVTVoYldWelczSm5ZaTV6YkdsalpTZ3dMQ0F6S1YwN1hHNTlPMXh1WEc0dkx5Qm9aV3h3WlhKelhHNW1kVzVqZEdsdmJpQmpiR0Z0Y0NodWRXMHNJRzFwYml3Z2JXRjRLU0I3WEc1Y2RISmxkSFZ5YmlCTllYUm9MbTFwYmloTllYUm9MbTFoZUNodGFXNHNJRzUxYlNrc0lHMWhlQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hsZUVSdmRXSnNaU2h1ZFcwcElIdGNibHgwZG1GeUlITjBjaUE5SUc1MWJTNTBiMU4wY21sdVp5Z3hOaWt1ZEc5VmNIQmxja05oYzJVb0tUdGNibHgwY21WMGRYSnVJQ2h6ZEhJdWJHVnVaM1JvSUR3Z01pa2dQeUFuTUNjZ0t5QnpkSElnT2lCemRISTdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb2xvci1zdHJpbmcvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBjb2xvclN0cmluZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvbG9yLXN0cmluZyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3Itc3RyaW5nL2luZGV4LmpzXFxcIik7XFxudmFyIGNvbnZlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb2xvci1jb252ZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2luZGV4LmpzXFxcIik7XFxuXFxudmFyIF9zbGljZSA9IFtdLnNsaWNlO1xcblxcbnZhciBza2lwcGVkTW9kZWxzID0gW1xcblxcdC8vIHRvIGJlIGhvbmVzdCwgSSBkb24ndCByZWFsbHkgZmVlbCBsaWtlIGtleXdvcmQgYmVsb25ncyBpbiBjb2xvciBjb252ZXJ0LCBidXQgZWguXFxuXFx0J2tleXdvcmQnLFxcblxcblxcdC8vIGdyYXkgY29uZmxpY3RzIHdpdGggc29tZSBtZXRob2QgbmFtZXMsIGFuZCBoYXMgaXRzIG93biBtZXRob2QgZGVmaW5lZC5cXG5cXHQnZ3JheScsXFxuXFxuXFx0Ly8gc2hvdWxkbid0IHJlYWxseSBiZSBpbiBjb2xvci1jb252ZXJ0IGVpdGhlci4uLlxcblxcdCdoZXgnXFxuXTtcXG5cXG52YXIgaGFzaGVkTW9kZWxLZXlzID0ge307XFxuT2JqZWN0LmtleXMoY29udmVydCkuZm9yRWFjaChmdW5jdGlvbiAobW9kZWwpIHtcXG5cXHRoYXNoZWRNb2RlbEtleXNbX3NsaWNlLmNhbGwoY29udmVydFttb2RlbF0ubGFiZWxzKS5zb3J0KCkuam9pbignJyldID0gbW9kZWw7XFxufSk7XFxuXFxudmFyIGxpbWl0ZXJzID0ge307XFxuXFxuZnVuY3Rpb24gQ29sb3Iob2JqLCBtb2RlbCkge1xcblxcdGlmICghKHRoaXMgaW5zdGFuY2VvZiBDb2xvcikpIHtcXG5cXHRcXHRyZXR1cm4gbmV3IENvbG9yKG9iaiwgbW9kZWwpO1xcblxcdH1cXG5cXG5cXHRpZiAobW9kZWwgJiYgbW9kZWwgaW4gc2tpcHBlZE1vZGVscykge1xcblxcdFxcdG1vZGVsID0gbnVsbDtcXG5cXHR9XFxuXFxuXFx0aWYgKG1vZGVsICYmICEobW9kZWwgaW4gY29udmVydCkpIHtcXG5cXHRcXHR0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbW9kZWw6ICcgKyBtb2RlbCk7XFxuXFx0fVxcblxcblxcdHZhciBpO1xcblxcdHZhciBjaGFubmVscztcXG5cXG5cXHRpZiAob2JqID09IG51bGwpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1lcS1udWxsLGVxZXFlcVxcblxcdFxcdHRoaXMubW9kZWwgPSAncmdiJztcXG5cXHRcXHR0aGlzLmNvbG9yID0gWzAsIDAsIDBdO1xcblxcdFxcdHRoaXMudmFscGhhID0gMTtcXG5cXHR9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIENvbG9yKSB7XFxuXFx0XFx0dGhpcy5tb2RlbCA9IG9iai5tb2RlbDtcXG5cXHRcXHR0aGlzLmNvbG9yID0gb2JqLmNvbG9yLnNsaWNlKCk7XFxuXFx0XFx0dGhpcy52YWxwaGEgPSBvYmoudmFscGhhO1xcblxcdH0gZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcXG5cXHRcXHR2YXIgcmVzdWx0ID0gY29sb3JTdHJpbmcuZ2V0KG9iaik7XFxuXFx0XFx0aWYgKHJlc3VsdCA9PT0gbnVsbCkge1xcblxcdFxcdFxcdHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHBhcnNlIGNvbG9yIGZyb20gc3RyaW5nOiAnICsgb2JqKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0dGhpcy5tb2RlbCA9IHJlc3VsdC5tb2RlbDtcXG5cXHRcXHRjaGFubmVscyA9IGNvbnZlcnRbdGhpcy5tb2RlbF0uY2hhbm5lbHM7XFxuXFx0XFx0dGhpcy5jb2xvciA9IHJlc3VsdC52YWx1ZS5zbGljZSgwLCBjaGFubmVscyk7XFxuXFx0XFx0dGhpcy52YWxwaGEgPSB0eXBlb2YgcmVzdWx0LnZhbHVlW2NoYW5uZWxzXSA9PT0gJ251bWJlcicgPyByZXN1bHQudmFsdWVbY2hhbm5lbHNdIDogMTtcXG5cXHR9IGVsc2UgaWYgKG9iai5sZW5ndGgpIHtcXG5cXHRcXHR0aGlzLm1vZGVsID0gbW9kZWwgfHwgJ3JnYic7XFxuXFx0XFx0Y2hhbm5lbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmNoYW5uZWxzO1xcblxcdFxcdHZhciBuZXdBcnIgPSBfc2xpY2UuY2FsbChvYmosIDAsIGNoYW5uZWxzKTtcXG5cXHRcXHR0aGlzLmNvbG9yID0gemVyb0FycmF5KG5ld0FyciwgY2hhbm5lbHMpO1xcblxcdFxcdHRoaXMudmFscGhhID0gdHlwZW9mIG9ialtjaGFubmVsc10gPT09ICdudW1iZXInID8gb2JqW2NoYW5uZWxzXSA6IDE7XFxuXFx0fSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnbnVtYmVyJykge1xcblxcdFxcdC8vIHRoaXMgaXMgYWx3YXlzIFJHQiAtIGNhbiBiZSBjb252ZXJ0ZWQgbGF0ZXIgb24uXFxuXFx0XFx0b2JqICY9IDB4RkZGRkZGO1xcblxcdFxcdHRoaXMubW9kZWwgPSAncmdiJztcXG5cXHRcXHR0aGlzLmNvbG9yID0gW1xcblxcdFxcdFxcdChvYmogPj4gMTYpICYgMHhGRixcXG5cXHRcXHRcXHQob2JqID4+IDgpICYgMHhGRixcXG5cXHRcXHRcXHRvYmogJiAweEZGXFxuXFx0XFx0XTtcXG5cXHRcXHR0aGlzLnZhbHBoYSA9IDE7XFxuXFx0fSBlbHNlIHtcXG5cXHRcXHR0aGlzLnZhbHBoYSA9IDE7XFxuXFxuXFx0XFx0dmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xcblxcdFxcdGlmICgnYWxwaGEnIGluIG9iaikge1xcblxcdFxcdFxcdGtleXMuc3BsaWNlKGtleXMuaW5kZXhPZignYWxwaGEnKSwgMSk7XFxuXFx0XFx0XFx0dGhpcy52YWxwaGEgPSB0eXBlb2Ygb2JqLmFscGhhID09PSAnbnVtYmVyJyA/IG9iai5hbHBoYSA6IDA7XFxuXFx0XFx0fVxcblxcblxcdFxcdHZhciBoYXNoZWRLZXlzID0ga2V5cy5zb3J0KCkuam9pbignJyk7XFxuXFx0XFx0aWYgKCEoaGFzaGVkS2V5cyBpbiBoYXNoZWRNb2RlbEtleXMpKSB7XFxuXFx0XFx0XFx0dGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcGFyc2UgY29sb3IgZnJvbSBvYmplY3Q6ICcgKyBKU09OLnN0cmluZ2lmeShvYmopKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0dGhpcy5tb2RlbCA9IGhhc2hlZE1vZGVsS2V5c1toYXNoZWRLZXlzXTtcXG5cXG5cXHRcXHR2YXIgbGFiZWxzID0gY29udmVydFt0aGlzLm1vZGVsXS5sYWJlbHM7XFxuXFx0XFx0dmFyIGNvbG9yID0gW107XFxuXFx0XFx0Zm9yIChpID0gMDsgaSA8IGxhYmVscy5sZW5ndGg7IGkrKykge1xcblxcdFxcdFxcdGNvbG9yLnB1c2gob2JqW2xhYmVsc1tpXV0pO1xcblxcdFxcdH1cXG5cXG5cXHRcXHR0aGlzLmNvbG9yID0gemVyb0FycmF5KGNvbG9yKTtcXG5cXHR9XFxuXFxuXFx0Ly8gcGVyZm9ybSBsaW1pdGF0aW9ucyAoY2xhbXBpbmcsIGV0Yy4pXFxuXFx0aWYgKGxpbWl0ZXJzW3RoaXMubW9kZWxdKSB7XFxuXFx0XFx0Y2hhbm5lbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmNoYW5uZWxzO1xcblxcdFxcdGZvciAoaSA9IDA7IGkgPCBjaGFubmVsczsgaSsrKSB7XFxuXFx0XFx0XFx0dmFyIGxpbWl0ID0gbGltaXRlcnNbdGhpcy5tb2RlbF1baV07XFxuXFx0XFx0XFx0aWYgKGxpbWl0KSB7XFxuXFx0XFx0XFx0XFx0dGhpcy5jb2xvcltpXSA9IGxpbWl0KHRoaXMuY29sb3JbaV0pO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdHRoaXMudmFscGhhID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgdGhpcy52YWxwaGEpKTtcXG5cXG5cXHRpZiAoT2JqZWN0LmZyZWV6ZSkge1xcblxcdFxcdE9iamVjdC5mcmVlemUodGhpcyk7XFxuXFx0fVxcbn1cXG5cXG5Db2xvci5wcm90b3R5cGUgPSB7XFxuXFx0dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHRyZXR1cm4gdGhpcy5zdHJpbmcoKTtcXG5cXHR9LFxcblxcblxcdHRvSlNPTjogZnVuY3Rpb24gKCkge1xcblxcdFxcdHJldHVybiB0aGlzW3RoaXMubW9kZWxdKCk7XFxuXFx0fSxcXG5cXG5cXHRzdHJpbmc6IGZ1bmN0aW9uIChwbGFjZXMpIHtcXG5cXHRcXHR2YXIgc2VsZiA9IHRoaXMubW9kZWwgaW4gY29sb3JTdHJpbmcudG8gPyB0aGlzIDogdGhpcy5yZ2IoKTtcXG5cXHRcXHRzZWxmID0gc2VsZi5yb3VuZCh0eXBlb2YgcGxhY2VzID09PSAnbnVtYmVyJyA/IHBsYWNlcyA6IDEpO1xcblxcdFxcdHZhciBhcmdzID0gc2VsZi52YWxwaGEgPT09IDEgPyBzZWxmLmNvbG9yIDogc2VsZi5jb2xvci5jb25jYXQodGhpcy52YWxwaGEpO1xcblxcdFxcdHJldHVybiBjb2xvclN0cmluZy50b1tzZWxmLm1vZGVsXShhcmdzKTtcXG5cXHR9LFxcblxcblxcdHBlcmNlbnRTdHJpbmc6IGZ1bmN0aW9uIChwbGFjZXMpIHtcXG5cXHRcXHR2YXIgc2VsZiA9IHRoaXMucmdiKCkucm91bmQodHlwZW9mIHBsYWNlcyA9PT0gJ251bWJlcicgPyBwbGFjZXMgOiAxKTtcXG5cXHRcXHR2YXIgYXJncyA9IHNlbGYudmFscGhhID09PSAxID8gc2VsZi5jb2xvciA6IHNlbGYuY29sb3IuY29uY2F0KHRoaXMudmFscGhhKTtcXG5cXHRcXHRyZXR1cm4gY29sb3JTdHJpbmcudG8ucmdiLnBlcmNlbnQoYXJncyk7XFxuXFx0fSxcXG5cXG5cXHRhcnJheTogZnVuY3Rpb24gKCkge1xcblxcdFxcdHJldHVybiB0aGlzLnZhbHBoYSA9PT0gMSA/IHRoaXMuY29sb3Iuc2xpY2UoKSA6IHRoaXMuY29sb3IuY29uY2F0KHRoaXMudmFscGhhKTtcXG5cXHR9LFxcblxcblxcdG9iamVjdDogZnVuY3Rpb24gKCkge1xcblxcdFxcdHZhciByZXN1bHQgPSB7fTtcXG5cXHRcXHR2YXIgY2hhbm5lbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmNoYW5uZWxzO1xcblxcdFxcdHZhciBsYWJlbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmxhYmVscztcXG5cXG5cXHRcXHRmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5uZWxzOyBpKyspIHtcXG5cXHRcXHRcXHRyZXN1bHRbbGFiZWxzW2ldXSA9IHRoaXMuY29sb3JbaV07XFxuXFx0XFx0fVxcblxcblxcdFxcdGlmICh0aGlzLnZhbHBoYSAhPT0gMSkge1xcblxcdFxcdFxcdHJlc3VsdC5hbHBoYSA9IHRoaXMudmFscGhhO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmVzdWx0O1xcblxcdH0sXFxuXFxuXFx0dW5pdEFycmF5OiBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0dmFyIHJnYiA9IHRoaXMucmdiKCkuY29sb3I7XFxuXFx0XFx0cmdiWzBdIC89IDI1NTtcXG5cXHRcXHRyZ2JbMV0gLz0gMjU1O1xcblxcdFxcdHJnYlsyXSAvPSAyNTU7XFxuXFxuXFx0XFx0aWYgKHRoaXMudmFscGhhICE9PSAxKSB7XFxuXFx0XFx0XFx0cmdiLnB1c2godGhpcy52YWxwaGEpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmdiO1xcblxcdH0sXFxuXFxuXFx0dW5pdE9iamVjdDogZnVuY3Rpb24gKCkge1xcblxcdFxcdHZhciByZ2IgPSB0aGlzLnJnYigpLm9iamVjdCgpO1xcblxcdFxcdHJnYi5yIC89IDI1NTtcXG5cXHRcXHRyZ2IuZyAvPSAyNTU7XFxuXFx0XFx0cmdiLmIgLz0gMjU1O1xcblxcblxcdFxcdGlmICh0aGlzLnZhbHBoYSAhPT0gMSkge1xcblxcdFxcdFxcdHJnYi5hbHBoYSA9IHRoaXMudmFscGhhO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmdiO1xcblxcdH0sXFxuXFxuXFx0cm91bmQ6IGZ1bmN0aW9uIChwbGFjZXMpIHtcXG5cXHRcXHRwbGFjZXMgPSBNYXRoLm1heChwbGFjZXMgfHwgMCwgMCk7XFxuXFx0XFx0cmV0dXJuIG5ldyBDb2xvcih0aGlzLmNvbG9yLm1hcChyb3VuZFRvUGxhY2UocGxhY2VzKSkuY29uY2F0KHRoaXMudmFscGhhKSwgdGhpcy5tb2RlbCk7XFxuXFx0fSxcXG5cXG5cXHRhbHBoYTogZnVuY3Rpb24gKHZhbCkge1xcblxcdFxcdGlmIChhcmd1bWVudHMubGVuZ3RoKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG5ldyBDb2xvcih0aGlzLmNvbG9yLmNvbmNhdChNYXRoLm1heCgwLCBNYXRoLm1pbigxLCB2YWwpKSksIHRoaXMubW9kZWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gdGhpcy52YWxwaGE7XFxuXFx0fSxcXG5cXG5cXHQvLyByZ2JcXG5cXHRyZWQ6IGdldHNldCgncmdiJywgMCwgbWF4Zm4oMjU1KSksXFxuXFx0Z3JlZW46IGdldHNldCgncmdiJywgMSwgbWF4Zm4oMjU1KSksXFxuXFx0Ymx1ZTogZ2V0c2V0KCdyZ2InLCAyLCBtYXhmbigyNTUpKSxcXG5cXG5cXHRodWU6IGdldHNldChbJ2hzbCcsICdoc3YnLCAnaHNsJywgJ2h3YicsICdoY2cnXSwgMCwgZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gKCh2YWwgJSAzNjApICsgMzYwKSAlIDM2MDsgfSksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgYnJhY2Utc3R5bGVcXG5cXG5cXHRzYXR1cmF0aW9ubDogZ2V0c2V0KCdoc2wnLCAxLCBtYXhmbigxMDApKSxcXG5cXHRsaWdodG5lc3M6IGdldHNldCgnaHNsJywgMiwgbWF4Zm4oMTAwKSksXFxuXFxuXFx0c2F0dXJhdGlvbnY6IGdldHNldCgnaHN2JywgMSwgbWF4Zm4oMTAwKSksXFxuXFx0dmFsdWU6IGdldHNldCgnaHN2JywgMiwgbWF4Zm4oMTAwKSksXFxuXFxuXFx0Y2hyb21hOiBnZXRzZXQoJ2hjZycsIDEsIG1heGZuKDEwMCkpLFxcblxcdGdyYXk6IGdldHNldCgnaGNnJywgMiwgbWF4Zm4oMTAwKSksXFxuXFxuXFx0d2hpdGU6IGdldHNldCgnaHdiJywgMSwgbWF4Zm4oMTAwKSksXFxuXFx0d2JsYWNrOiBnZXRzZXQoJ2h3YicsIDIsIG1heGZuKDEwMCkpLFxcblxcblxcdGN5YW46IGdldHNldCgnY215aycsIDAsIG1heGZuKDEwMCkpLFxcblxcdG1hZ2VudGE6IGdldHNldCgnY215aycsIDEsIG1heGZuKDEwMCkpLFxcblxcdHllbGxvdzogZ2V0c2V0KCdjbXlrJywgMiwgbWF4Zm4oMTAwKSksXFxuXFx0YmxhY2s6IGdldHNldCgnY215aycsIDMsIG1heGZuKDEwMCkpLFxcblxcblxcdHg6IGdldHNldCgneHl6JywgMCwgbWF4Zm4oMTAwKSksXFxuXFx0eTogZ2V0c2V0KCd4eXonLCAxLCBtYXhmbigxMDApKSxcXG5cXHR6OiBnZXRzZXQoJ3h5eicsIDIsIG1heGZuKDEwMCkpLFxcblxcblxcdGw6IGdldHNldCgnbGFiJywgMCwgbWF4Zm4oMTAwKSksXFxuXFx0YTogZ2V0c2V0KCdsYWInLCAxKSxcXG5cXHRiOiBnZXRzZXQoJ2xhYicsIDIpLFxcblxcblxcdGtleXdvcmQ6IGZ1bmN0aW9uICh2YWwpIHtcXG5cXHRcXHRpZiAoYXJndW1lbnRzLmxlbmd0aCkge1xcblxcdFxcdFxcdHJldHVybiBuZXcgQ29sb3IodmFsKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIGNvbnZlcnRbdGhpcy5tb2RlbF0ua2V5d29yZCh0aGlzLmNvbG9yKTtcXG5cXHR9LFxcblxcblxcdGhleDogZnVuY3Rpb24gKHZhbCkge1xcblxcdFxcdGlmIChhcmd1bWVudHMubGVuZ3RoKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG5ldyBDb2xvcih2YWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gY29sb3JTdHJpbmcudG8uaGV4KHRoaXMucmdiKCkucm91bmQoKS5jb2xvcik7XFxuXFx0fSxcXG5cXG5cXHRyZ2JOdW1iZXI6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKS5jb2xvcjtcXG5cXHRcXHRyZXR1cm4gKChyZ2JbMF0gJiAweEZGKSA8PCAxNikgfCAoKHJnYlsxXSAmIDB4RkYpIDw8IDgpIHwgKHJnYlsyXSAmIDB4RkYpO1xcblxcdH0sXFxuXFxuXFx0bHVtaW5vc2l0eTogZnVuY3Rpb24gKCkge1xcblxcdFxcdC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKS5jb2xvcjtcXG5cXG5cXHRcXHR2YXIgbHVtID0gW107XFxuXFx0XFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZ2IubGVuZ3RoOyBpKyspIHtcXG5cXHRcXHRcXHR2YXIgY2hhbiA9IHJnYltpXSAvIDI1NTtcXG5cXHRcXHRcXHRsdW1baV0gPSAoY2hhbiA8PSAwLjAzOTI4KSA/IGNoYW4gLyAxMi45MiA6IE1hdGgucG93KCgoY2hhbiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIDAuMjEyNiAqIGx1bVswXSArIDAuNzE1MiAqIGx1bVsxXSArIDAuMDcyMiAqIGx1bVsyXTtcXG5cXHR9LFxcblxcblxcdGNvbnRyYXN0OiBmdW5jdGlvbiAoY29sb3IyKSB7XFxuXFx0XFx0Ly8gaHR0cDovL3d3dy53My5vcmcvVFIvV0NBRzIwLyNjb250cmFzdC1yYXRpb2RlZlxcblxcdFxcdHZhciBsdW0xID0gdGhpcy5sdW1pbm9zaXR5KCk7XFxuXFx0XFx0dmFyIGx1bTIgPSBjb2xvcjIubHVtaW5vc2l0eSgpO1xcblxcblxcdFxcdGlmIChsdW0xID4gbHVtMikge1xcblxcdFxcdFxcdHJldHVybiAobHVtMSArIDAuMDUpIC8gKGx1bTIgKyAwLjA1KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIChsdW0yICsgMC4wNSkgLyAobHVtMSArIDAuMDUpO1xcblxcdH0sXFxuXFxuXFx0bGV2ZWw6IGZ1bmN0aW9uIChjb2xvcjIpIHtcXG5cXHRcXHR2YXIgY29udHJhc3RSYXRpbyA9IHRoaXMuY29udHJhc3QoY29sb3IyKTtcXG5cXHRcXHRpZiAoY29udHJhc3RSYXRpbyA+PSA3LjEpIHtcXG5cXHRcXHRcXHRyZXR1cm4gJ0FBQSc7XFxuXFx0XFx0fVxcblxcblxcdFxcdHJldHVybiAoY29udHJhc3RSYXRpbyA+PSA0LjUpID8gJ0FBJyA6ICcnO1xcblxcdH0sXFxuXFxuXFx0aXNEYXJrOiBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0Ly8gWUlRIGVxdWF0aW9uIGZyb20gaHR0cDovLzI0d2F5cy5vcmcvMjAxMC9jYWxjdWxhdGluZy1jb2xvci1jb250cmFzdFxcblxcdFxcdHZhciByZ2IgPSB0aGlzLnJnYigpLmNvbG9yO1xcblxcdFxcdHZhciB5aXEgPSAocmdiWzBdICogMjk5ICsgcmdiWzFdICogNTg3ICsgcmdiWzJdICogMTE0KSAvIDEwMDA7XFxuXFx0XFx0cmV0dXJuIHlpcSA8IDEyODtcXG5cXHR9LFxcblxcblxcdGlzTGlnaHQ6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHRyZXR1cm4gIXRoaXMuaXNEYXJrKCk7XFxuXFx0fSxcXG5cXG5cXHRuZWdhdGU6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKTtcXG5cXHRcXHRmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdFxcdHJnYi5jb2xvcltpXSA9IDI1NSAtIHJnYi5jb2xvcltpXTtcXG5cXHRcXHR9XFxuXFx0XFx0cmV0dXJuIHJnYjtcXG5cXHR9LFxcblxcblxcdGxpZ2h0ZW46IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHZhciBoc2wgPSB0aGlzLmhzbCgpO1xcblxcdFxcdGhzbC5jb2xvclsyXSArPSBoc2wuY29sb3JbMl0gKiByYXRpbztcXG5cXHRcXHRyZXR1cm4gaHNsO1xcblxcdH0sXFxuXFxuXFx0ZGFya2VuOiBmdW5jdGlvbiAocmF0aW8pIHtcXG5cXHRcXHR2YXIgaHNsID0gdGhpcy5oc2woKTtcXG5cXHRcXHRoc2wuY29sb3JbMl0gLT0gaHNsLmNvbG9yWzJdICogcmF0aW87XFxuXFx0XFx0cmV0dXJuIGhzbDtcXG5cXHR9LFxcblxcblxcdHNhdHVyYXRlOiBmdW5jdGlvbiAocmF0aW8pIHtcXG5cXHRcXHR2YXIgaHNsID0gdGhpcy5oc2woKTtcXG5cXHRcXHRoc2wuY29sb3JbMV0gKz0gaHNsLmNvbG9yWzFdICogcmF0aW87XFxuXFx0XFx0cmV0dXJuIGhzbDtcXG5cXHR9LFxcblxcblxcdGRlc2F0dXJhdGU6IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHZhciBoc2wgPSB0aGlzLmhzbCgpO1xcblxcdFxcdGhzbC5jb2xvclsxXSAtPSBoc2wuY29sb3JbMV0gKiByYXRpbztcXG5cXHRcXHRyZXR1cm4gaHNsO1xcblxcdH0sXFxuXFxuXFx0d2hpdGVuOiBmdW5jdGlvbiAocmF0aW8pIHtcXG5cXHRcXHR2YXIgaHdiID0gdGhpcy5od2IoKTtcXG5cXHRcXHRod2IuY29sb3JbMV0gKz0gaHdiLmNvbG9yWzFdICogcmF0aW87XFxuXFx0XFx0cmV0dXJuIGh3YjtcXG5cXHR9LFxcblxcblxcdGJsYWNrZW46IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHZhciBod2IgPSB0aGlzLmh3YigpO1xcblxcdFxcdGh3Yi5jb2xvclsyXSArPSBod2IuY29sb3JbMl0gKiByYXRpbztcXG5cXHRcXHRyZXR1cm4gaHdiO1xcblxcdH0sXFxuXFxuXFx0Z3JheXNjYWxlOiBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0Ly8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HcmF5c2NhbGUjQ29udmVydGluZ19jb2xvcl90b19ncmF5c2NhbGVcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKS5jb2xvcjtcXG5cXHRcXHR2YXIgdmFsID0gcmdiWzBdICogMC4zICsgcmdiWzFdICogMC41OSArIHJnYlsyXSAqIDAuMTE7XFxuXFx0XFx0cmV0dXJuIENvbG9yLnJnYih2YWwsIHZhbCwgdmFsKTtcXG5cXHR9LFxcblxcblxcdGZhZGU6IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHJldHVybiB0aGlzLmFscGhhKHRoaXMudmFscGhhIC0gKHRoaXMudmFscGhhICogcmF0aW8pKTtcXG5cXHR9LFxcblxcblxcdG9wYXF1ZXI6IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHJldHVybiB0aGlzLmFscGhhKHRoaXMudmFscGhhICsgKHRoaXMudmFscGhhICogcmF0aW8pKTtcXG5cXHR9LFxcblxcblxcdHJvdGF0ZTogZnVuY3Rpb24gKGRlZ3JlZXMpIHtcXG5cXHRcXHR2YXIgaHNsID0gdGhpcy5oc2woKTtcXG5cXHRcXHR2YXIgaHVlID0gaHNsLmNvbG9yWzBdO1xcblxcdFxcdGh1ZSA9IChodWUgKyBkZWdyZWVzKSAlIDM2MDtcXG5cXHRcXHRodWUgPSBodWUgPCAwID8gMzYwICsgaHVlIDogaHVlO1xcblxcdFxcdGhzbC5jb2xvclswXSA9IGh1ZTtcXG5cXHRcXHRyZXR1cm4gaHNsO1xcblxcdH0sXFxuXFxuXFx0bWl4OiBmdW5jdGlvbiAobWl4aW5Db2xvciwgd2VpZ2h0KSB7XFxuXFx0XFx0Ly8gcG9ydGVkIGZyb20gc2FzcyBpbXBsZW1lbnRhdGlvbiBpbiBDXFxuXFx0XFx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9ibG9iLzBlNmI0YTI4NTAwOTIzNTZhYTNlY2UwN2M2YjI0OWYwMjIxY2FjZWQvZnVuY3Rpb25zLmNwcCNMMjA5XFxuXFx0XFx0aWYgKCFtaXhpbkNvbG9yIHx8ICFtaXhpbkNvbG9yLnJnYikge1xcblxcdFxcdFxcdHRocm93IG5ldyBFcnJvcignQXJndW1lbnQgdG8gXFxcIm1peFxcXCIgd2FzIG5vdCBhIENvbG9yIGluc3RhbmNlLCBidXQgcmF0aGVyIGFuIGluc3RhbmNlIG9mICcgKyB0eXBlb2YgbWl4aW5Db2xvcik7XFxuXFx0XFx0fVxcblxcdFxcdHZhciBjb2xvcjEgPSBtaXhpbkNvbG9yLnJnYigpO1xcblxcdFxcdHZhciBjb2xvcjIgPSB0aGlzLnJnYigpO1xcblxcdFxcdHZhciBwID0gd2VpZ2h0ID09PSB1bmRlZmluZWQgPyAwLjUgOiB3ZWlnaHQ7XFxuXFxuXFx0XFx0dmFyIHcgPSAyICogcCAtIDE7XFxuXFx0XFx0dmFyIGEgPSBjb2xvcjEuYWxwaGEoKSAtIGNvbG9yMi5hbHBoYSgpO1xcblxcblxcdFxcdHZhciB3MSA9ICgoKHcgKiBhID09PSAtMSkgPyB3IDogKHcgKyBhKSAvICgxICsgdyAqIGEpKSArIDEpIC8gMi4wO1xcblxcdFxcdHZhciB3MiA9IDEgLSB3MTtcXG5cXG5cXHRcXHRyZXR1cm4gQ29sb3IucmdiKFxcblxcdFxcdFxcdFxcdHcxICogY29sb3IxLnJlZCgpICsgdzIgKiBjb2xvcjIucmVkKCksXFxuXFx0XFx0XFx0XFx0dzEgKiBjb2xvcjEuZ3JlZW4oKSArIHcyICogY29sb3IyLmdyZWVuKCksXFxuXFx0XFx0XFx0XFx0dzEgKiBjb2xvcjEuYmx1ZSgpICsgdzIgKiBjb2xvcjIuYmx1ZSgpLFxcblxcdFxcdFxcdFxcdGNvbG9yMS5hbHBoYSgpICogcCArIGNvbG9yMi5hbHBoYSgpICogKDEgLSBwKSk7XFxuXFx0fVxcbn07XFxuXFxuLy8gbW9kZWwgY29udmVyc2lvbiBtZXRob2RzIGFuZCBzdGF0aWMgY29uc3RydWN0b3JzXFxuT2JqZWN0LmtleXMoY29udmVydCkuZm9yRWFjaChmdW5jdGlvbiAobW9kZWwpIHtcXG5cXHRpZiAoc2tpcHBlZE1vZGVscy5pbmRleE9mKG1vZGVsKSAhPT0gLTEpIHtcXG5cXHRcXHRyZXR1cm47XFxuXFx0fVxcblxcblxcdHZhciBjaGFubmVscyA9IGNvbnZlcnRbbW9kZWxdLmNoYW5uZWxzO1xcblxcblxcdC8vIGNvbnZlcnNpb24gbWV0aG9kc1xcblxcdENvbG9yLnByb3RvdHlwZVttb2RlbF0gPSBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0aWYgKHRoaXMubW9kZWwgPT09IG1vZGVsKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG5ldyBDb2xvcih0aGlzKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKGFyZ3VtZW50cy5sZW5ndGgpIHtcXG5cXHRcXHRcXHRyZXR1cm4gbmV3IENvbG9yKGFyZ3VtZW50cywgbW9kZWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHR2YXIgbmV3QWxwaGEgPSB0eXBlb2YgYXJndW1lbnRzW2NoYW5uZWxzXSA9PT0gJ251bWJlcicgPyBjaGFubmVscyA6IHRoaXMudmFscGhhO1xcblxcdFxcdHJldHVybiBuZXcgQ29sb3IoYXNzZXJ0QXJyYXkoY29udmVydFt0aGlzLm1vZGVsXVttb2RlbF0ucmF3KHRoaXMuY29sb3IpKS5jb25jYXQobmV3QWxwaGEpLCBtb2RlbCk7XFxuXFx0fTtcXG5cXG5cXHQvLyAnc3RhdGljJyBjb25zdHJ1Y3Rpb24gbWV0aG9kc1xcblxcdENvbG9yW21vZGVsXSA9IGZ1bmN0aW9uIChjb2xvcikge1xcblxcdFxcdGlmICh0eXBlb2YgY29sb3IgPT09ICdudW1iZXInKSB7XFxuXFx0XFx0XFx0Y29sb3IgPSB6ZXJvQXJyYXkoX3NsaWNlLmNhbGwoYXJndW1lbnRzKSwgY2hhbm5lbHMpO1xcblxcdFxcdH1cXG5cXHRcXHRyZXR1cm4gbmV3IENvbG9yKGNvbG9yLCBtb2RlbCk7XFxuXFx0fTtcXG59KTtcXG5cXG5mdW5jdGlvbiByb3VuZFRvKG51bSwgcGxhY2VzKSB7XFxuXFx0cmV0dXJuIE51bWJlcihudW0udG9GaXhlZChwbGFjZXMpKTtcXG59XFxuXFxuZnVuY3Rpb24gcm91bmRUb1BsYWNlKHBsYWNlcykge1xcblxcdHJldHVybiBmdW5jdGlvbiAobnVtKSB7XFxuXFx0XFx0cmV0dXJuIHJvdW5kVG8obnVtLCBwbGFjZXMpO1xcblxcdH07XFxufVxcblxcbmZ1bmN0aW9uIGdldHNldChtb2RlbCwgY2hhbm5lbCwgbW9kaWZpZXIpIHtcXG5cXHRtb2RlbCA9IEFycmF5LmlzQXJyYXkobW9kZWwpID8gbW9kZWwgOiBbbW9kZWxdO1xcblxcblxcdG1vZGVsLmZvckVhY2goZnVuY3Rpb24gKG0pIHtcXG5cXHRcXHQobGltaXRlcnNbbV0gfHwgKGxpbWl0ZXJzW21dID0gW10pKVtjaGFubmVsXSA9IG1vZGlmaWVyO1xcblxcdH0pO1xcblxcblxcdG1vZGVsID0gbW9kZWxbMF07XFxuXFxuXFx0cmV0dXJuIGZ1bmN0aW9uICh2YWwpIHtcXG5cXHRcXHR2YXIgcmVzdWx0O1xcblxcblxcdFxcdGlmIChhcmd1bWVudHMubGVuZ3RoKSB7XFxuXFx0XFx0XFx0aWYgKG1vZGlmaWVyKSB7XFxuXFx0XFx0XFx0XFx0dmFsID0gbW9kaWZpZXIodmFsKTtcXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0cmVzdWx0ID0gdGhpc1ttb2RlbF0oKTtcXG5cXHRcXHRcXHRyZXN1bHQuY29sb3JbY2hhbm5lbF0gPSB2YWw7XFxuXFx0XFx0XFx0cmV0dXJuIHJlc3VsdDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmVzdWx0ID0gdGhpc1ttb2RlbF0oKS5jb2xvcltjaGFubmVsXTtcXG5cXHRcXHRpZiAobW9kaWZpZXIpIHtcXG5cXHRcXHRcXHRyZXN1bHQgPSBtb2RpZmllcihyZXN1bHQpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmVzdWx0O1xcblxcdH07XFxufVxcblxcbmZ1bmN0aW9uIG1heGZuKG1heCkge1xcblxcdHJldHVybiBmdW5jdGlvbiAodikge1xcblxcdFxcdHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbihtYXgsIHYpKTtcXG5cXHR9O1xcbn1cXG5cXG5mdW5jdGlvbiBhc3NlcnRBcnJheSh2YWwpIHtcXG5cXHRyZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XFxufVxcblxcbmZ1bmN0aW9uIHplcm9BcnJheShhcnIsIGxlbmd0aCkge1xcblxcdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcXG5cXHRcXHRpZiAodHlwZW9mIGFycltpXSAhPT0gJ251bWJlcicpIHtcXG5cXHRcXHRcXHRhcnJbaV0gPSAwO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0cmV0dXJuIGFycjtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBDb2xvcjtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2k5cGJtUmxlQzVxY3o4MVpEQmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMREJFUVVGak8wRkJRM2hETEdOQlFXTXNiVUpCUVU4c1EwRkJReXcwUkVGQlpUczdRVUZGY2tNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWp0QlFVTnVRanRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHRCUVVOR08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVzFDTzBGQlEyaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHTkJRV003UVVGRE0wSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN08wRkJSVVk3UVVGRFFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGT3p0QlFVVkdPMEZCUTBFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4alFVRmpPMEZCUXk5Q08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFVkJRVVU3TzBGQlJVWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN08wRkJSVVk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRkZRVUZ4UlN4clEwRkJhME1zUlVGQlJUczdRVUZGZWtjN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRa0ZCYVVJc1owSkJRV2RDTzBGQlEycERPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3TzBGQlJVWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN08wRkJSVVk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RlFVRkZPenRCUVVWR08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3TzBGQlJVWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHZENRVUZuUWl4WlFVRlpPMEZCUXpWQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjlzYjNJdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCamIyeHZjbE4wY21sdVp5QTlJSEpsY1hWcGNtVW9KMk52Ykc5eUxYTjBjbWx1WnljcE8xeHVkbUZ5SUdOdmJuWmxjblFnUFNCeVpYRjFhWEpsS0NkamIyeHZjaTFqYjI1MlpYSjBKeWs3WEc1Y2JuWmhjaUJmYzJ4cFkyVWdQU0JiWFM1emJHbGpaVHRjYmx4dWRtRnlJSE5yYVhCd1pXUk5iMlJsYkhNZ1BTQmJYRzVjZEM4dklIUnZJR0psSUdodmJtVnpkQ3dnU1NCa2IyNG5kQ0J5WldGc2JIa2dabVZsYkNCc2FXdGxJR3RsZVhkdmNtUWdZbVZzYjI1bmN5QnBiaUJqYjJ4dmNpQmpiMjUyWlhKMExDQmlkWFFnWldndVhHNWNkQ2RyWlhsM2IzSmtKeXhjYmx4dVhIUXZMeUJuY21GNUlHTnZibVpzYVdOMGN5QjNhWFJvSUhOdmJXVWdiV1YwYUc5a0lHNWhiV1Z6TENCaGJtUWdhR0Z6SUdsMGN5QnZkMjRnYldWMGFHOWtJR1JsWm1sdVpXUXVYRzVjZENkbmNtRjVKeXhjYmx4dVhIUXZMeUJ6YUc5MWJHUnVKM1FnY21WaGJHeDVJR0psSUdsdUlHTnZiRzl5TFdOdmJuWmxjblFnWldsMGFHVnlMaTR1WEc1Y2RDZG9aWGduWEc1ZE8xeHVYRzUyWVhJZ2FHRnphR1ZrVFc5a1pXeExaWGx6SUQwZ2UzMDdYRzVQWW1wbFkzUXVhMlY1Y3loamIyNTJaWEowS1M1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNodGIyUmxiQ2tnZTF4dVhIUm9ZWE5vWldSTmIyUmxiRXRsZVhOYlgzTnNhV05sTG1OaGJHd29ZMjl1ZG1WeWRGdHRiMlJsYkYwdWJHRmlaV3h6S1M1emIzSjBLQ2t1YW05cGJpZ25KeWxkSUQwZ2JXOWtaV3c3WEc1OUtUdGNibHh1ZG1GeUlHeHBiV2wwWlhKeklEMGdlMzA3WEc1Y2JtWjFibU4wYVc5dUlFTnZiRzl5S0c5aWFpd2diVzlrWld3cElIdGNibHgwYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlFTnZiRzl5S1NrZ2UxeHVYSFJjZEhKbGRIVnliaUJ1WlhjZ1EyOXNiM0lvYjJKcUxDQnRiMlJsYkNrN1hHNWNkSDFjYmx4dVhIUnBaaUFvYlc5a1pXd2dKaVlnYlc5a1pXd2dhVzRnYzJ0cGNIQmxaRTF2WkdWc2N5a2dlMXh1WEhSY2RHMXZaR1ZzSUQwZ2JuVnNiRHRjYmx4MGZWeHVYRzVjZEdsbUlDaHRiMlJsYkNBbUppQWhLRzF2WkdWc0lHbHVJR052Ym5abGNuUXBLU0I3WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFZibXR1YjNkdUlHMXZaR1ZzT2lBbklDc2diVzlrWld3cE8xeHVYSFI5WEc1Y2JseDBkbUZ5SUdrN1hHNWNkSFpoY2lCamFHRnVibVZzY3p0Y2JseHVYSFJwWmlBb2IySnFJRDA5SUc1MWJHd3BJSHNnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTFsY1MxdWRXeHNMR1Z4WlhGbGNWeHVYSFJjZEhSb2FYTXViVzlrWld3Z1BTQW5jbWRpSnp0Y2JseDBYSFIwYUdsekxtTnZiRzl5SUQwZ1d6QXNJREFzSURCZE8xeHVYSFJjZEhSb2FYTXVkbUZzY0doaElEMGdNVHRjYmx4MGZTQmxiSE5sSUdsbUlDaHZZbW9nYVc1emRHRnVZMlZ2WmlCRGIyeHZjaWtnZTF4dVhIUmNkSFJvYVhNdWJXOWtaV3dnUFNCdlltb3ViVzlrWld3N1hHNWNkRngwZEdocGN5NWpiMnh2Y2lBOUlHOWlhaTVqYjJ4dmNpNXpiR2xqWlNncE8xeHVYSFJjZEhSb2FYTXVkbUZzY0doaElEMGdiMkpxTG5aaGJIQm9ZVHRjYmx4MGZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ2IySnFJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVYSFJjZEhaaGNpQnlaWE4xYkhRZ1BTQmpiMnh2Y2xOMGNtbHVaeTVuWlhRb2IySnFLVHRjYmx4MFhIUnBaaUFvY21WemRXeDBJRDA5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1WVdKc1pTQjBieUJ3WVhKelpTQmpiMnh2Y2lCbWNtOXRJSE4wY21sdVp6b2dKeUFySUc5aWFpazdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGRHaHBjeTV0YjJSbGJDQTlJSEpsYzNWc2RDNXRiMlJsYkR0Y2JseDBYSFJqYUdGdWJtVnNjeUE5SUdOdmJuWmxjblJiZEdocGN5NXRiMlJsYkYwdVkyaGhibTVsYkhNN1hHNWNkRngwZEdocGN5NWpiMnh2Y2lBOUlISmxjM1ZzZEM1MllXeDFaUzV6YkdsalpTZ3dMQ0JqYUdGdWJtVnNjeWs3WEc1Y2RGeDBkR2hwY3k1MllXeHdhR0VnUFNCMGVYQmxiMllnY21WemRXeDBMblpoYkhWbFcyTm9ZVzV1Wld4elhTQTlQVDBnSjI1MWJXSmxjaWNnUHlCeVpYTjFiSFF1ZG1Gc2RXVmJZMmhoYm01bGJITmRJRG9nTVR0Y2JseDBmU0JsYkhObElHbG1JQ2h2WW1vdWJHVnVaM1JvS1NCN1hHNWNkRngwZEdocGN5NXRiMlJsYkNBOUlHMXZaR1ZzSUh4OElDZHlaMkluTzF4dVhIUmNkR05vWVc1dVpXeHpJRDBnWTI5dWRtVnlkRnQwYUdsekxtMXZaR1ZzWFM1amFHRnVibVZzY3p0Y2JseDBYSFIyWVhJZ2JtVjNRWEp5SUQwZ1gzTnNhV05sTG1OaGJHd29iMkpxTENBd0xDQmphR0Z1Ym1Wc2N5azdYRzVjZEZ4MGRHaHBjeTVqYjJ4dmNpQTlJSHBsY205QmNuSmhlU2h1WlhkQmNuSXNJR05vWVc1dVpXeHpLVHRjYmx4MFhIUjBhR2x6TG5aaGJIQm9ZU0E5SUhSNWNHVnZaaUJ2WW1wYlkyaGhibTVsYkhOZElEMDlQU0FuYm5WdFltVnlKeUEvSUc5aWFsdGphR0Z1Ym1Wc2MxMGdPaUF4TzF4dVhIUjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQnZZbW9nUFQwOUlDZHVkVzFpWlhJbktTQjdYRzVjZEZ4MEx5OGdkR2hwY3lCcGN5QmhiSGRoZVhNZ1VrZENJQzBnWTJGdUlHSmxJR052Ym5abGNuUmxaQ0JzWVhSbGNpQnZiaTVjYmx4MFhIUnZZbW9nSmowZ01IaEdSa1pHUmtZN1hHNWNkRngwZEdocGN5NXRiMlJsYkNBOUlDZHlaMkluTzF4dVhIUmNkSFJvYVhNdVkyOXNiM0lnUFNCYlhHNWNkRngwWEhRb2IySnFJRDQrSURFMktTQW1JREI0UmtZc1hHNWNkRngwWEhRb2IySnFJRDQrSURncElDWWdNSGhHUml4Y2JseDBYSFJjZEc5aWFpQW1JREI0UmtaY2JseDBYSFJkTzF4dVhIUmNkSFJvYVhNdWRtRnNjR2hoSUQwZ01UdGNibHgwZlNCbGJITmxJSHRjYmx4MFhIUjBhR2x6TG5aaGJIQm9ZU0E5SURFN1hHNWNibHgwWEhSMllYSWdhMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpLRzlpYWlrN1hHNWNkRngwYVdZZ0tDZGhiSEJvWVNjZ2FXNGdiMkpxS1NCN1hHNWNkRngwWEhSclpYbHpMbk53YkdsalpTaHJaWGx6TG1sdVpHVjRUMllvSjJGc2NHaGhKeWtzSURFcE8xeHVYSFJjZEZ4MGRHaHBjeTUyWVd4d2FHRWdQU0IwZVhCbGIyWWdiMkpxTG1Gc2NHaGhJRDA5UFNBbmJuVnRZbVZ5SnlBL0lHOWlhaTVoYkhCb1lTQTZJREE3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBkbUZ5SUdoaGMyaGxaRXRsZVhNZ1BTQnJaWGx6TG5OdmNuUW9LUzVxYjJsdUtDY25LVHRjYmx4MFhIUnBaaUFvSVNob1lYTm9aV1JMWlhseklHbHVJR2hoYzJobFpFMXZaR1ZzUzJWNWN5a3BJSHRjYmx4MFhIUmNkSFJvY205M0lHNWxkeUJGY25KdmNpZ25WVzVoWW14bElIUnZJSEJoY25ObElHTnZiRzl5SUdaeWIyMGdiMkpxWldOME9pQW5JQ3NnU2xOUFRpNXpkSEpwYm1kcFpua29iMkpxS1NrN1hHNWNkRngwZlZ4dVhHNWNkRngwZEdocGN5NXRiMlJsYkNBOUlHaGhjMmhsWkUxdlpHVnNTMlY1YzF0b1lYTm9aV1JMWlhselhUdGNibHh1WEhSY2RIWmhjaUJzWVdKbGJITWdQU0JqYjI1MlpYSjBXM1JvYVhNdWJXOWtaV3hkTG14aFltVnNjenRjYmx4MFhIUjJZWElnWTI5c2IzSWdQU0JiWFR0Y2JseDBYSFJtYjNJZ0tHa2dQU0F3T3lCcElEd2diR0ZpWld4ekxteGxibWQwYURzZ2FTc3JLU0I3WEc1Y2RGeDBYSFJqYjJ4dmNpNXdkWE5vS0c5aWFsdHNZV0psYkhOYmFWMWRLVHRjYmx4MFhIUjlYRzVjYmx4MFhIUjBhR2x6TG1OdmJHOXlJRDBnZW1WeWIwRnljbUY1S0dOdmJHOXlLVHRjYmx4MGZWeHVYRzVjZEM4dklIQmxjbVp2Y20wZ2JHbHRhWFJoZEdsdmJuTWdLR05zWVcxd2FXNW5MQ0JsZEdNdUtWeHVYSFJwWmlBb2JHbHRhWFJsY25OYmRHaHBjeTV0YjJSbGJGMHBJSHRjYmx4MFhIUmphR0Z1Ym1Wc2N5QTlJR052Ym5abGNuUmJkR2hwY3k1dGIyUmxiRjB1WTJoaGJtNWxiSE03WEc1Y2RGeDBabTl5SUNocElEMGdNRHNnYVNBOElHTm9ZVzV1Wld4ek95QnBLeXNwSUh0Y2JseDBYSFJjZEhaaGNpQnNhVzFwZENBOUlHeHBiV2wwWlhKelczUm9hWE11Ylc5a1pXeGRXMmxkTzF4dVhIUmNkRngwYVdZZ0tHeHBiV2wwS1NCN1hHNWNkRngwWEhSY2RIUm9hWE11WTI5c2IzSmJhVjBnUFNCc2FXMXBkQ2gwYUdsekxtTnZiRzl5VzJsZEtUdGNibHgwWEhSY2RIMWNibHgwWEhSOVhHNWNkSDFjYmx4dVhIUjBhR2x6TG5aaGJIQm9ZU0E5SUUxaGRHZ3ViV0Y0S0RBc0lFMWhkR2d1YldsdUtERXNJSFJvYVhNdWRtRnNjR2hoS1NrN1hHNWNibHgwYVdZZ0tFOWlhbVZqZEM1bWNtVmxlbVVwSUh0Y2JseDBYSFJQWW1wbFkzUXVabkpsWlhwbEtIUm9hWE1wTzF4dVhIUjlYRzU5WEc1Y2JrTnZiRzl5TG5CeWIzUnZkSGx3WlNBOUlIdGNibHgwZEc5VGRISnBibWM2SUdaMWJtTjBhVzl1SUNncElIdGNibHgwWEhSeVpYUjFjbTRnZEdocGN5NXpkSEpwYm1jb0tUdGNibHgwZlN4Y2JseHVYSFIwYjBwVFQwNDZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwYzF0MGFHbHpMbTF2WkdWc1hTZ3BPMXh1WEhSOUxGeHVYRzVjZEhOMGNtbHVaem9nWm5WdVkzUnBiMjRnS0hCc1lXTmxjeWtnZTF4dVhIUmNkSFpoY2lCelpXeG1JRDBnZEdocGN5NXRiMlJsYkNCcGJpQmpiMnh2Y2xOMGNtbHVaeTUwYnlBL0lIUm9hWE1nT2lCMGFHbHpMbkpuWWlncE8xeHVYSFJjZEhObGJHWWdQU0J6Wld4bUxuSnZkVzVrS0hSNWNHVnZaaUJ3YkdGalpYTWdQVDA5SUNkdWRXMWlaWEluSUQ4Z2NHeGhZMlZ6SURvZ01TazdYRzVjZEZ4MGRtRnlJR0Z5WjNNZ1BTQnpaV3htTG5aaGJIQm9ZU0E5UFQwZ01TQS9JSE5sYkdZdVkyOXNiM0lnT2lCelpXeG1MbU52Ykc5eUxtTnZibU5oZENoMGFHbHpMblpoYkhCb1lTazdYRzVjZEZ4MGNtVjBkWEp1SUdOdmJHOXlVM1J5YVc1bkxuUnZXM05sYkdZdWJXOWtaV3hkS0dGeVozTXBPMXh1WEhSOUxGeHVYRzVjZEhCbGNtTmxiblJUZEhKcGJtYzZJR1oxYm1OMGFXOXVJQ2h3YkdGalpYTXBJSHRjYmx4MFhIUjJZWElnYzJWc1ppQTlJSFJvYVhNdWNtZGlLQ2t1Y205MWJtUW9kSGx3Wlc5bUlIQnNZV05sY3lBOVBUMGdKMjUxYldKbGNpY2dQeUJ3YkdGalpYTWdPaUF4S1R0Y2JseDBYSFIyWVhJZ1lYSm5jeUE5SUhObGJHWXVkbUZzY0doaElEMDlQU0F4SUQ4Z2MyVnNaaTVqYjJ4dmNpQTZJSE5sYkdZdVkyOXNiM0l1WTI5dVkyRjBLSFJvYVhNdWRtRnNjR2hoS1R0Y2JseDBYSFJ5WlhSMWNtNGdZMjlzYjNKVGRISnBibWN1ZEc4dWNtZGlMbkJsY21ObGJuUW9ZWEpuY3lrN1hHNWNkSDBzWEc1Y2JseDBZWEp5WVhrNklHWjFibU4wYVc5dUlDZ3BJSHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTUyWVd4d2FHRWdQVDA5SURFZ1B5QjBhR2x6TG1OdmJHOXlMbk5zYVdObEtDa2dPaUIwYUdsekxtTnZiRzl5TG1OdmJtTmhkQ2gwYUdsekxuWmhiSEJvWVNrN1hHNWNkSDBzWEc1Y2JseDBiMkpxWldOME9pQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBkbUZ5SUhKbGMzVnNkQ0E5SUh0OU8xeHVYSFJjZEhaaGNpQmphR0Z1Ym1Wc2N5QTlJR052Ym5abGNuUmJkR2hwY3k1dGIyUmxiRjB1WTJoaGJtNWxiSE03WEc1Y2RGeDBkbUZ5SUd4aFltVnNjeUE5SUdOdmJuWmxjblJiZEdocGN5NXRiMlJsYkYwdWJHRmlaV3h6TzF4dVhHNWNkRngwWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCamFHRnVibVZzY3pzZ2FTc3JLU0I3WEc1Y2RGeDBYSFJ5WlhOMWJIUmJiR0ZpWld4elcybGRYU0E5SUhSb2FYTXVZMjlzYjNKYmFWMDdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGFXWWdLSFJvYVhNdWRtRnNjR2hoSUNFOVBTQXhLU0I3WEc1Y2RGeDBYSFJ5WlhOMWJIUXVZV3h3YUdFZ1BTQjBhR2x6TG5aaGJIQm9ZVHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWFIxY200Z2NtVnpkV3gwTzF4dVhIUjlMRnh1WEc1Y2RIVnVhWFJCY25KaGVUb2dablZ1WTNScGIyNGdLQ2tnZTF4dVhIUmNkSFpoY2lCeVoySWdQU0IwYUdsekxuSm5ZaWdwTG1OdmJHOXlPMXh1WEhSY2RISm5ZbHN3WFNBdlBTQXlOVFU3WEc1Y2RGeDBjbWRpV3pGZElDODlJREkxTlR0Y2JseDBYSFJ5WjJKYk1sMGdMejBnTWpVMU8xeHVYRzVjZEZ4MGFXWWdLSFJvYVhNdWRtRnNjR2hoSUNFOVBTQXhLU0I3WEc1Y2RGeDBYSFJ5WjJJdWNIVnphQ2gwYUdsekxuWmhiSEJvWVNrN1hHNWNkRngwZlZ4dVhHNWNkRngwY21WMGRYSnVJSEpuWWp0Y2JseDBmU3hjYmx4dVhIUjFibWwwVDJKcVpXTjBPaUJtZFc1amRHbHZiaUFvS1NCN1hHNWNkRngwZG1GeUlISm5ZaUE5SUhSb2FYTXVjbWRpS0NrdWIySnFaV04wS0NrN1hHNWNkRngwY21kaUxuSWdMejBnTWpVMU8xeHVYSFJjZEhKbllpNW5JQzg5SURJMU5UdGNibHgwWEhSeVoySXVZaUF2UFNBeU5UVTdYRzVjYmx4MFhIUnBaaUFvZEdocGN5NTJZV3h3YUdFZ0lUMDlJREVwSUh0Y2JseDBYSFJjZEhKbllpNWhiSEJvWVNBOUlIUm9hWE11ZG1Gc2NHaGhPMXh1WEhSY2RIMWNibHh1WEhSY2RISmxkSFZ5YmlCeVoySTdYRzVjZEgwc1hHNWNibHgwY205MWJtUTZJR1oxYm1OMGFXOXVJQ2h3YkdGalpYTXBJSHRjYmx4MFhIUndiR0ZqWlhNZ1BTQk5ZWFJvTG0xaGVDaHdiR0ZqWlhNZ2ZId2dNQ3dnTUNrN1hHNWNkRngwY21WMGRYSnVJRzVsZHlCRGIyeHZjaWgwYUdsekxtTnZiRzl5TG0xaGNDaHliM1Z1WkZSdlVHeGhZMlVvY0d4aFkyVnpLU2t1WTI5dVkyRjBLSFJvYVhNdWRtRnNjR2hoS1N3Z2RHaHBjeTV0YjJSbGJDazdYRzVjZEgwc1hHNWNibHgwWVd4d2FHRTZJR1oxYm1OMGFXOXVJQ2gyWVd3cElIdGNibHgwWEhScFppQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDa2dlMXh1WEhSY2RGeDBjbVYwZFhKdUlHNWxkeUJEYjJ4dmNpaDBhR2x6TG1OdmJHOXlMbU52Ym1OaGRDaE5ZWFJvTG0xaGVDZ3dMQ0JOWVhSb0xtMXBiaWd4TENCMllXd3BLU2tzSUhSb2FYTXViVzlrWld3cE8xeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUIwYUdsekxuWmhiSEJvWVR0Y2JseDBmU3hjYmx4dVhIUXZMeUJ5WjJKY2JseDBjbVZrT2lCblpYUnpaWFFvSjNKbllpY3NJREFzSUcxaGVHWnVLREkxTlNrcExGeHVYSFJuY21WbGJqb2daMlYwYzJWMEtDZHlaMkluTENBeExDQnRZWGhtYmlneU5UVXBLU3hjYmx4MFlteDFaVG9nWjJWMGMyVjBLQ2R5WjJJbkxDQXlMQ0J0WVhobWJpZ3lOVFVwS1N4Y2JseHVYSFJvZFdVNklHZGxkSE5sZENoYkoyaHpiQ2NzSUNkb2MzWW5MQ0FuYUhOc0p5d2dKMmgzWWljc0lDZG9ZMmNuWFN3Z01Dd2dablZ1WTNScGIyNGdLSFpoYkNrZ2V5QnlaWFIxY200Z0tDaDJZV3dnSlNBek5qQXBJQ3NnTXpZd0tTQWxJRE0yTURzZ2ZTa3NJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ1luSmhZMlV0YzNSNWJHVmNibHh1WEhSellYUjFjbUYwYVc5dWJEb2daMlYwYzJWMEtDZG9jMnduTENBeExDQnRZWGhtYmlneE1EQXBLU3hjYmx4MGJHbG5hSFJ1WlhOek9pQm5aWFJ6WlhRb0oyaHpiQ2NzSURJc0lHMWhlR1p1S0RFd01Da3BMRnh1WEc1Y2RITmhkSFZ5WVhScGIyNTJPaUJuWlhSelpYUW9KMmh6ZGljc0lERXNJRzFoZUdadUtERXdNQ2twTEZ4dVhIUjJZV3gxWlRvZ1oyVjBjMlYwS0Nkb2MzWW5MQ0F5TENCdFlYaG1iaWd4TURBcEtTeGNibHh1WEhSamFISnZiV0U2SUdkbGRITmxkQ2duYUdObkp5d2dNU3dnYldGNFptNG9NVEF3S1Nrc1hHNWNkR2R5WVhrNklHZGxkSE5sZENnbmFHTm5KeXdnTWl3Z2JXRjRabTRvTVRBd0tTa3NYRzVjYmx4MGQyaHBkR1U2SUdkbGRITmxkQ2duYUhkaUp5d2dNU3dnYldGNFptNG9NVEF3S1Nrc1hHNWNkSGRpYkdGamF6b2daMlYwYzJWMEtDZG9kMkluTENBeUxDQnRZWGhtYmlneE1EQXBLU3hjYmx4dVhIUmplV0Z1T2lCblpYUnpaWFFvSjJOdGVXc25MQ0F3TENCdFlYaG1iaWd4TURBcEtTeGNibHgwYldGblpXNTBZVG9nWjJWMGMyVjBLQ2RqYlhsckp5d2dNU3dnYldGNFptNG9NVEF3S1Nrc1hHNWNkSGxsYkd4dmR6b2daMlYwYzJWMEtDZGpiWGxySnl3Z01pd2diV0Y0Wm00b01UQXdLU2tzWEc1Y2RHSnNZV05yT2lCblpYUnpaWFFvSjJOdGVXc25MQ0F6TENCdFlYaG1iaWd4TURBcEtTeGNibHh1WEhSNE9pQm5aWFJ6WlhRb0ozaDVlaWNzSURBc0lHMWhlR1p1S0RFd01Da3BMRnh1WEhSNU9pQm5aWFJ6WlhRb0ozaDVlaWNzSURFc0lHMWhlR1p1S0RFd01Da3BMRnh1WEhSNk9pQm5aWFJ6WlhRb0ozaDVlaWNzSURJc0lHMWhlR1p1S0RFd01Da3BMRnh1WEc1Y2RHdzZJR2RsZEhObGRDZ25iR0ZpSnl3Z01Dd2diV0Y0Wm00b01UQXdLU2tzWEc1Y2RHRTZJR2RsZEhObGRDZ25iR0ZpSnl3Z01Ta3NYRzVjZEdJNklHZGxkSE5sZENnbmJHRmlKeXdnTWlrc1hHNWNibHgwYTJWNWQyOXlaRG9nWm5WdVkzUnBiMjRnS0haaGJDa2dlMXh1WEhSY2RHbG1JQ2hoY21kMWJXVnVkSE11YkdWdVozUm9LU0I3WEc1Y2RGeDBYSFJ5WlhSMWNtNGdibVYzSUVOdmJHOXlLSFpoYkNrN1hHNWNkRngwZlZ4dVhHNWNkRngwY21WMGRYSnVJR052Ym5abGNuUmJkR2hwY3k1dGIyUmxiRjB1YTJWNWQyOXlaQ2gwYUdsekxtTnZiRzl5S1R0Y2JseDBmU3hjYmx4dVhIUm9aWGc2SUdaMWJtTjBhVzl1SUNoMllXd3BJSHRjYmx4MFhIUnBaaUFvWVhKbmRXMWxiblJ6TG14bGJtZDBhQ2tnZTF4dVhIUmNkRngwY21WMGRYSnVJRzVsZHlCRGIyeHZjaWgyWVd3cE8xeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUJqYjJ4dmNsTjBjbWx1Wnk1MGJ5NW9aWGdvZEdocGN5NXlaMklvS1M1eWIzVnVaQ2dwTG1OdmJHOXlLVHRjYmx4MGZTeGNibHh1WEhSeVoySk9kVzFpWlhJNklHWjFibU4wYVc5dUlDZ3BJSHRjYmx4MFhIUjJZWElnY21kaUlEMGdkR2hwY3k1eVoySW9LUzVqYjJ4dmNqdGNibHgwWEhSeVpYUjFjbTRnS0NoeVoySmJNRjBnSmlBd2VFWkdLU0E4UENBeE5pa2dmQ0FvS0hKbllsc3hYU0FtSURCNFJrWXBJRHc4SURncElId2dLSEpuWWxzeVhTQW1JREI0UmtZcE8xeHVYSFI5TEZ4dVhHNWNkR3gxYldsdWIzTnBkSGs2SUdaMWJtTjBhVzl1SUNncElIdGNibHgwWEhRdkx5Qm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTlYUTBGSE1qQXZJM0psYkdGMGFYWmxiSFZ0YVc1aGJtTmxaR1ZtWEc1Y2RGeDBkbUZ5SUhKbllpQTlJSFJvYVhNdWNtZGlLQ2t1WTI5c2IzSTdYRzVjYmx4MFhIUjJZWElnYkhWdElEMGdXMTA3WEc1Y2RGeDBabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J5WjJJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmx4MFhIUmNkSFpoY2lCamFHRnVJRDBnY21kaVcybGRJQzhnTWpVMU8xeHVYSFJjZEZ4MGJIVnRXMmxkSUQwZ0tHTm9ZVzRnUEQwZ01DNHdNemt5T0NrZ1B5QmphR0Z1SUM4Z01USXVPVElnT2lCTllYUm9MbkJ2ZHlnb0tHTm9ZVzRnS3lBd0xqQTFOU2tnTHlBeExqQTFOU2tzSURJdU5DazdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGNtVjBkWEp1SURBdU1qRXlOaUFxSUd4MWJWc3dYU0FySURBdU56RTFNaUFxSUd4MWJWc3hYU0FySURBdU1EY3lNaUFxSUd4MWJWc3lYVHRjYmx4MGZTeGNibHh1WEhSamIyNTBjbUZ6ZERvZ1puVnVZM1JwYjI0Z0tHTnZiRzl5TWlrZ2UxeHVYSFJjZEM4dklHaDBkSEE2THk5M2QzY3Vkek11YjNKbkwxUlNMMWREUVVjeU1DOGpZMjl1ZEhKaGMzUXRjbUYwYVc5a1pXWmNibHgwWEhSMllYSWdiSFZ0TVNBOUlIUm9hWE11YkhWdGFXNXZjMmwwZVNncE8xeHVYSFJjZEhaaGNpQnNkVzB5SUQwZ1kyOXNiM0l5TG14MWJXbHViM05wZEhrb0tUdGNibHh1WEhSY2RHbG1JQ2hzZFcweElENGdiSFZ0TWlrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1SUNoc2RXMHhJQ3NnTUM0d05Ta2dMeUFvYkhWdE1pQXJJREF1TURVcE8xeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUFvYkhWdE1pQXJJREF1TURVcElDOGdLR3gxYlRFZ0t5QXdMakExS1R0Y2JseDBmU3hjYmx4dVhIUnNaWFpsYkRvZ1puVnVZM1JwYjI0Z0tHTnZiRzl5TWlrZ2UxeHVYSFJjZEhaaGNpQmpiMjUwY21GemRGSmhkR2x2SUQwZ2RHaHBjeTVqYjI1MGNtRnpkQ2hqYjJ4dmNqSXBPMXh1WEhSY2RHbG1JQ2hqYjI1MGNtRnpkRkpoZEdsdklENDlJRGN1TVNrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1SUNkQlFVRW5PMXh1WEhSY2RIMWNibHh1WEhSY2RISmxkSFZ5YmlBb1kyOXVkSEpoYzNSU1lYUnBieUErUFNBMExqVXBJRDhnSjBGQkp5QTZJQ2NuTzF4dVhIUjlMRnh1WEc1Y2RHbHpSR0Z5YXpvZ1puVnVZM1JwYjI0Z0tDa2dlMXh1WEhSY2RDOHZJRmxKVVNCbGNYVmhkR2x2YmlCbWNtOXRJR2gwZEhBNkx5OHlOSGRoZVhNdWIzSm5Mekl3TVRBdlkyRnNZM1ZzWVhScGJtY3RZMjlzYjNJdFkyOXVkSEpoYzNSY2JseDBYSFIyWVhJZ2NtZGlJRDBnZEdocGN5NXlaMklvS1M1amIyeHZjanRjYmx4MFhIUjJZWElnZVdseElEMGdLSEpuWWxzd1hTQXFJREk1T1NBcklISm5ZbHN4WFNBcUlEVTROeUFySUhKbllsc3lYU0FxSURFeE5Da2dMeUF4TURBd08xeHVYSFJjZEhKbGRIVnliaUI1YVhFZ1BDQXhNamc3WEc1Y2RIMHNYRzVjYmx4MGFYTk1hV2RvZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh1WEhSY2RISmxkSFZ5YmlBaGRHaHBjeTVwYzBSaGNtc29LVHRjYmx4MGZTeGNibHh1WEhSdVpXZGhkR1U2SUdaMWJtTjBhVzl1SUNncElIdGNibHgwWEhSMllYSWdjbWRpSUQwZ2RHaHBjeTV5WjJJb0tUdGNibHgwWEhSbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElETTdJR2tyS3lrZ2UxeHVYSFJjZEZ4MGNtZGlMbU52Ykc5eVcybGRJRDBnTWpVMUlDMGdjbWRpTG1OdmJHOXlXMmxkTzF4dVhIUmNkSDFjYmx4MFhIUnlaWFIxY200Z2NtZGlPMXh1WEhSOUxGeHVYRzVjZEd4cFoyaDBaVzQ2SUdaMWJtTjBhVzl1SUNoeVlYUnBieWtnZTF4dVhIUmNkSFpoY2lCb2Myd2dQU0IwYUdsekxtaHpiQ2dwTzF4dVhIUmNkR2h6YkM1amIyeHZjbHN5WFNBclBTQm9jMnd1WTI5c2IzSmJNbDBnS2lCeVlYUnBienRjYmx4MFhIUnlaWFIxY200Z2FITnNPMXh1WEhSOUxGeHVYRzVjZEdSaGNtdGxiam9nWm5WdVkzUnBiMjRnS0hKaGRHbHZLU0I3WEc1Y2RGeDBkbUZ5SUdoemJDQTlJSFJvYVhNdWFITnNLQ2s3WEc1Y2RGeDBhSE5zTG1OdmJHOXlXekpkSUMwOUlHaHpiQzVqYjJ4dmNsc3lYU0FxSUhKaGRHbHZPMXh1WEhSY2RISmxkSFZ5YmlCb2MydzdYRzVjZEgwc1hHNWNibHgwYzJGMGRYSmhkR1U2SUdaMWJtTjBhVzl1SUNoeVlYUnBieWtnZTF4dVhIUmNkSFpoY2lCb2Myd2dQU0IwYUdsekxtaHpiQ2dwTzF4dVhIUmNkR2h6YkM1amIyeHZjbHN4WFNBclBTQm9jMnd1WTI5c2IzSmJNVjBnS2lCeVlYUnBienRjYmx4MFhIUnlaWFIxY200Z2FITnNPMXh1WEhSOUxGeHVYRzVjZEdSbGMyRjBkWEpoZEdVNklHWjFibU4wYVc5dUlDaHlZWFJwYnlrZ2UxeHVYSFJjZEhaaGNpQm9jMndnUFNCMGFHbHpMbWh6YkNncE8xeHVYSFJjZEdoemJDNWpiMnh2Y2xzeFhTQXRQU0JvYzJ3dVkyOXNiM0piTVYwZ0tpQnlZWFJwYnp0Y2JseDBYSFJ5WlhSMWNtNGdhSE5zTzF4dVhIUjlMRnh1WEc1Y2RIZG9hWFJsYmpvZ1puVnVZM1JwYjI0Z0tISmhkR2x2S1NCN1hHNWNkRngwZG1GeUlHaDNZaUE5SUhSb2FYTXVhSGRpS0NrN1hHNWNkRngwYUhkaUxtTnZiRzl5V3pGZElDczlJR2gzWWk1amIyeHZjbHN4WFNBcUlISmhkR2x2TzF4dVhIUmNkSEpsZEhWeWJpQm9kMkk3WEc1Y2RIMHNYRzVjYmx4MFlteGhZMnRsYmpvZ1puVnVZM1JwYjI0Z0tISmhkR2x2S1NCN1hHNWNkRngwZG1GeUlHaDNZaUE5SUhSb2FYTXVhSGRpS0NrN1hHNWNkRngwYUhkaUxtTnZiRzl5V3pKZElDczlJR2gzWWk1amIyeHZjbHN5WFNBcUlISmhkR2x2TzF4dVhIUmNkSEpsZEhWeWJpQm9kMkk3WEc1Y2RIMHNYRzVjYmx4MFozSmhlWE5qWVd4bE9pQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBMeThnYUhSMGNEb3ZMMlZ1TG5kcGEybHdaV1JwWVM1dmNtY3ZkMmxyYVM5SGNtRjVjMk5oYkdValEyOXVkbVZ5ZEdsdVoxOWpiMnh2Y2w5MGIxOW5jbUY1YzJOaGJHVmNibHgwWEhSMllYSWdjbWRpSUQwZ2RHaHBjeTV5WjJJb0tTNWpiMnh2Y2p0Y2JseDBYSFIyWVhJZ2RtRnNJRDBnY21kaVd6QmRJQ29nTUM0eklDc2djbWRpV3pGZElDb2dNQzQxT1NBcklISm5ZbHN5WFNBcUlEQXVNVEU3WEc1Y2RGeDBjbVYwZFhKdUlFTnZiRzl5TG5KbllpaDJZV3dzSUhaaGJDd2dkbUZzS1R0Y2JseDBmU3hjYmx4dVhIUm1ZV1JsT2lCbWRXNWpkR2x2YmlBb2NtRjBhVzhwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1aGJIQm9ZU2gwYUdsekxuWmhiSEJvWVNBdElDaDBhR2x6TG5aaGJIQm9ZU0FxSUhKaGRHbHZLU2s3WEc1Y2RIMHNYRzVjYmx4MGIzQmhjWFZsY2pvZ1puVnVZM1JwYjI0Z0tISmhkR2x2S1NCN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNdVlXeHdhR0VvZEdocGN5NTJZV3h3YUdFZ0t5QW9kR2hwY3k1MllXeHdhR0VnS2lCeVlYUnBieWtwTzF4dVhIUjlMRnh1WEc1Y2RISnZkR0YwWlRvZ1puVnVZM1JwYjI0Z0tHUmxaM0psWlhNcElIdGNibHgwWEhSMllYSWdhSE5zSUQwZ2RHaHBjeTVvYzJ3b0tUdGNibHgwWEhSMllYSWdhSFZsSUQwZ2FITnNMbU52Ykc5eVd6QmRPMXh1WEhSY2RHaDFaU0E5SUNob2RXVWdLeUJrWldkeVpXVnpLU0FsSURNMk1EdGNibHgwWEhSb2RXVWdQU0JvZFdVZ1BDQXdJRDhnTXpZd0lDc2dhSFZsSURvZ2FIVmxPMXh1WEhSY2RHaHpiQzVqYjJ4dmNsc3dYU0E5SUdoMVpUdGNibHgwWEhSeVpYUjFjbTRnYUhOc08xeHVYSFI5TEZ4dVhHNWNkRzFwZURvZ1puVnVZM1JwYjI0Z0tHMXBlR2x1UTI5c2IzSXNJSGRsYVdkb2RDa2dlMXh1WEhSY2RDOHZJSEJ2Y25SbFpDQm1jbTl0SUhOaGMzTWdhVzF3YkdWdFpXNTBZWFJwYjI0Z2FXNGdRMXh1WEhSY2RDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl6WVhOekwyeHBZbk5oYzNNdllteHZZaTh3WlRaaU5HRXlPRFV3TURreU16VTJZV0V6WldObE1EZGpObUl5TkRsbU1ESXlNV05oWTJWa0wyWjFibU4wYVc5dWN5NWpjSEFqVERJd09WeHVYSFJjZEdsbUlDZ2hiV2w0YVc1RGIyeHZjaUI4ZkNBaGJXbDRhVzVEYjJ4dmNpNXlaMklwSUh0Y2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWduUVhKbmRXMWxiblFnZEc4Z1hDSnRhWGhjSWlCM1lYTWdibTkwSUdFZ1EyOXNiM0lnYVc1emRHRnVZMlVzSUdKMWRDQnlZWFJvWlhJZ1lXNGdhVzV6ZEdGdVkyVWdiMllnSnlBcklIUjVjR1Z2WmlCdGFYaHBia052Ykc5eUtUdGNibHgwWEhSOVhHNWNkRngwZG1GeUlHTnZiRzl5TVNBOUlHMXBlR2x1UTI5c2IzSXVjbWRpS0NrN1hHNWNkRngwZG1GeUlHTnZiRzl5TWlBOUlIUm9hWE11Y21kaUtDazdYRzVjZEZ4MGRtRnlJSEFnUFNCM1pXbG5hSFFnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JREF1TlNBNklIZGxhV2RvZER0Y2JseHVYSFJjZEhaaGNpQjNJRDBnTWlBcUlIQWdMU0F4TzF4dVhIUmNkSFpoY2lCaElEMGdZMjlzYjNJeExtRnNjR2hoS0NrZ0xTQmpiMnh2Y2pJdVlXeHdhR0VvS1R0Y2JseHVYSFJjZEhaaGNpQjNNU0E5SUNnb0tIY2dLaUJoSUQwOVBTQXRNU2tnUHlCM0lEb2dLSGNnS3lCaEtTQXZJQ2d4SUNzZ2R5QXFJR0VwS1NBcklERXBJQzhnTWk0d08xeHVYSFJjZEhaaGNpQjNNaUE5SURFZ0xTQjNNVHRjYmx4dVhIUmNkSEpsZEhWeWJpQkRiMnh2Y2k1eVoySW9YRzVjZEZ4MFhIUmNkSGN4SUNvZ1kyOXNiM0l4TG5KbFpDZ3BJQ3NnZHpJZ0tpQmpiMnh2Y2pJdWNtVmtLQ2tzWEc1Y2RGeDBYSFJjZEhjeElDb2dZMjlzYjNJeExtZHlaV1Z1S0NrZ0t5QjNNaUFxSUdOdmJHOXlNaTVuY21WbGJpZ3BMRnh1WEhSY2RGeDBYSFIzTVNBcUlHTnZiRzl5TVM1aWJIVmxLQ2tnS3lCM01pQXFJR052Ykc5eU1pNWliSFZsS0Nrc1hHNWNkRngwWEhSY2RHTnZiRzl5TVM1aGJIQm9ZU2dwSUNvZ2NDQXJJR052Ykc5eU1pNWhiSEJvWVNncElDb2dLREVnTFNCd0tTazdYRzVjZEgxY2JuMDdYRzVjYmk4dklHMXZaR1ZzSUdOdmJuWmxjbk5wYjI0Z2JXVjBhRzlrY3lCaGJtUWdjM1JoZEdsaklHTnZibk4wY25WamRHOXljMXh1VDJKcVpXTjBMbXRsZVhNb1kyOXVkbVZ5ZENrdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb2JXOWtaV3dwSUh0Y2JseDBhV1lnS0hOcmFYQndaV1JOYjJSbGJITXVhVzVrWlhoUFppaHRiMlJsYkNrZ0lUMDlJQzB4S1NCN1hHNWNkRngwY21WMGRYSnVPMXh1WEhSOVhHNWNibHgwZG1GeUlHTm9ZVzV1Wld4eklEMGdZMjl1ZG1WeWRGdHRiMlJsYkYwdVkyaGhibTVsYkhNN1hHNWNibHgwTHk4Z1kyOXVkbVZ5YzJsdmJpQnRaWFJvYjJSelhHNWNkRU52Ykc5eUxuQnliM1J2ZEhsd1pWdHRiMlJsYkYwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBhV1lnS0hSb2FYTXViVzlrWld3Z1BUMDlJRzF2WkdWc0tTQjdYRzVjZEZ4MFhIUnlaWFIxY200Z2JtVjNJRU52Ykc5eUtIUm9hWE1wTzF4dVhIUmNkSDFjYmx4dVhIUmNkR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvS1NCN1hHNWNkRngwWEhSeVpYUjFjbTRnYm1WM0lFTnZiRzl5S0dGeVozVnRaVzUwY3l3Z2JXOWtaV3dwTzF4dVhIUmNkSDFjYmx4dVhIUmNkSFpoY2lCdVpYZEJiSEJvWVNBOUlIUjVjR1Z2WmlCaGNtZDFiV1Z1ZEhOYlkyaGhibTVsYkhOZElEMDlQU0FuYm5WdFltVnlKeUEvSUdOb1lXNXVaV3h6SURvZ2RHaHBjeTUyWVd4d2FHRTdYRzVjZEZ4MGNtVjBkWEp1SUc1bGR5QkRiMnh2Y2loaGMzTmxjblJCY25KaGVTaGpiMjUyWlhKMFczUm9hWE11Ylc5a1pXeGRXMjF2WkdWc1hTNXlZWGNvZEdocGN5NWpiMnh2Y2lrcExtTnZibU5oZENodVpYZEJiSEJvWVNrc0lHMXZaR1ZzS1R0Y2JseDBmVHRjYmx4dVhIUXZMeUFuYzNSaGRHbGpKeUJqYjI1emRISjFZM1JwYjI0Z2JXVjBhRzlrYzF4dVhIUkRiMnh2Y2x0dGIyUmxiRjBnUFNCbWRXNWpkR2x2YmlBb1kyOXNiM0lwSUh0Y2JseDBYSFJwWmlBb2RIbHdaVzltSUdOdmJHOXlJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVYSFJjZEZ4MFkyOXNiM0lnUFNCNlpYSnZRWEp5WVhrb1gzTnNhV05sTG1OaGJHd29ZWEpuZFcxbGJuUnpLU3dnWTJoaGJtNWxiSE1wTzF4dVhIUmNkSDFjYmx4MFhIUnlaWFIxY200Z2JtVjNJRU52Ykc5eUtHTnZiRzl5TENCdGIyUmxiQ2s3WEc1Y2RIMDdYRzU5S1R0Y2JseHVablZ1WTNScGIyNGdjbTkxYm1SVWJ5aHVkVzBzSUhCc1lXTmxjeWtnZTF4dVhIUnlaWFIxY200Z1RuVnRZbVZ5S0c1MWJTNTBiMFpwZUdWa0tIQnNZV05sY3lrcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCeWIzVnVaRlJ2VUd4aFkyVW9jR3hoWTJWektTQjdYRzVjZEhKbGRIVnliaUJtZFc1amRHbHZiaUFvYm5WdEtTQjdYRzVjZEZ4MGNtVjBkWEp1SUhKdmRXNWtWRzhvYm5WdExDQndiR0ZqWlhNcE8xeHVYSFI5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSelpYUW9iVzlrWld3c0lHTm9ZVzV1Wld3c0lHMXZaR2xtYVdWeUtTQjdYRzVjZEcxdlpHVnNJRDBnUVhKeVlYa3VhWE5CY25KaGVTaHRiMlJsYkNrZ1B5QnRiMlJsYkNBNklGdHRiMlJsYkYwN1hHNWNibHgwYlc5a1pXd3VabTl5UldGamFDaG1kVzVqZEdsdmJpQW9iU2tnZTF4dVhIUmNkQ2hzYVcxcGRHVnljMXR0WFNCOGZDQW9iR2x0YVhSbGNuTmJiVjBnUFNCYlhTa3BXMk5vWVc1dVpXeGRJRDBnYlc5a2FXWnBaWEk3WEc1Y2RIMHBPMXh1WEc1Y2RHMXZaR1ZzSUQwZ2JXOWtaV3hiTUYwN1hHNWNibHgwY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2gyWVd3cElIdGNibHgwWEhSMllYSWdjbVZ6ZFd4ME8xeHVYRzVjZEZ4MGFXWWdLR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3BJSHRjYmx4MFhIUmNkR2xtSUNodGIyUnBabWxsY2lrZ2UxeHVYSFJjZEZ4MFhIUjJZV3dnUFNCdGIyUnBabWxsY2loMllXd3BPMXh1WEhSY2RGeDBmVnh1WEc1Y2RGeDBYSFJ5WlhOMWJIUWdQU0IwYUdselcyMXZaR1ZzWFNncE8xeHVYSFJjZEZ4MGNtVnpkV3gwTG1OdmJHOXlXMk5vWVc1dVpXeGRJRDBnZG1Gc08xeHVYSFJjZEZ4MGNtVjBkWEp1SUhKbGMzVnNkRHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWE4xYkhRZ1BTQjBhR2x6VzIxdlpHVnNYU2dwTG1OdmJHOXlXMk5vWVc1dVpXeGRPMXh1WEhSY2RHbG1JQ2h0YjJScFptbGxjaWtnZTF4dVhIUmNkRngwY21WemRXeDBJRDBnYlc5a2FXWnBaWElvY21WemRXeDBLVHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWFIxY200Z2NtVnpkV3gwTzF4dVhIUjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRZWGhtYmlodFlYZ3BJSHRjYmx4MGNtVjBkWEp1SUdaMWJtTjBhVzl1SUNoMktTQjdYRzVjZEZ4MGNtVjBkWEp1SUUxaGRHZ3ViV0Y0S0RBc0lFMWhkR2d1YldsdUtHMWhlQ3dnZGlrcE8xeHVYSFI5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJoYzNObGNuUkJjbkpoZVNoMllXd3BJSHRjYmx4MGNtVjBkWEp1SUVGeWNtRjVMbWx6UVhKeVlYa29kbUZzS1NBL0lIWmhiQ0E2SUZ0MllXeGRPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjZaWEp2UVhKeVlYa29ZWEp5TENCc1pXNW5kR2dwSUh0Y2JseDBabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc1bmRHZzdJR2tyS3lrZ2UxeHVYSFJjZEdsbUlDaDBlWEJsYjJZZ1lYSnlXMmxkSUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1WEhSY2RGeDBZWEp5VzJsZElEMGdNRHRjYmx4MFhIUjlYRzVjZEgxY2JseHVYSFJ5WlhSMWNtNGdZWEp5TzF4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRU52Ykc5eU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLXV0aWwtaXMvbGliL3V0aWwuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtdXRpbC1pcy9saWIvdXRpbC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHsvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG4vLyBOT1RFOiBUaGVzZSB0eXBlIGNoZWNraW5nIGZ1bmN0aW9ucyBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBgaW5zdGFuY2VvZmBcXG4vLyBiZWNhdXNlIGl0IGlzIGZyYWdpbGUgYW5kIGNhbiBiZSBlYXNpbHkgZmFrZWQgd2l0aCBgT2JqZWN0LmNyZWF0ZSgpYC5cXG5cXG5mdW5jdGlvbiBpc0FycmF5KGFyZykge1xcbiAgaWYgKEFycmF5LmlzQXJyYXkpIHtcXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJnKTtcXG4gIH1cXG4gIHJldHVybiBvYmplY3RUb1N0cmluZyhhcmcpID09PSAnW29iamVjdCBBcnJheV0nO1xcbn1cXG5leHBvcnRzLmlzQXJyYXkgPSBpc0FycmF5O1xcblxcbmZ1bmN0aW9uIGlzQm9vbGVhbihhcmcpIHtcXG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnYm9vbGVhbic7XFxufVxcbmV4cG9ydHMuaXNCb29sZWFuID0gaXNCb29sZWFuO1xcblxcbmZ1bmN0aW9uIGlzTnVsbChhcmcpIHtcXG4gIHJldHVybiBhcmcgPT09IG51bGw7XFxufVxcbmV4cG9ydHMuaXNOdWxsID0gaXNOdWxsO1xcblxcbmZ1bmN0aW9uIGlzTnVsbE9yVW5kZWZpbmVkKGFyZykge1xcbiAgcmV0dXJuIGFyZyA9PSBudWxsO1xcbn1cXG5leHBvcnRzLmlzTnVsbE9yVW5kZWZpbmVkID0gaXNOdWxsT3JVbmRlZmluZWQ7XFxuXFxuZnVuY3Rpb24gaXNOdW1iZXIoYXJnKSB7XFxuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ251bWJlcic7XFxufVxcbmV4cG9ydHMuaXNOdW1iZXIgPSBpc051bWJlcjtcXG5cXG5mdW5jdGlvbiBpc1N0cmluZyhhcmcpIHtcXG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJztcXG59XFxuZXhwb3J0cy5pc1N0cmluZyA9IGlzU3RyaW5nO1xcblxcbmZ1bmN0aW9uIGlzU3ltYm9sKGFyZykge1xcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdzeW1ib2wnO1xcbn1cXG5leHBvcnRzLmlzU3ltYm9sID0gaXNTeW1ib2w7XFxuXFxuZnVuY3Rpb24gaXNVbmRlZmluZWQoYXJnKSB7XFxuICByZXR1cm4gYXJnID09PSB2b2lkIDA7XFxufVxcbmV4cG9ydHMuaXNVbmRlZmluZWQgPSBpc1VuZGVmaW5lZDtcXG5cXG5mdW5jdGlvbiBpc1JlZ0V4cChyZSkge1xcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKHJlKSA9PT0gJ1tvYmplY3QgUmVnRXhwXSc7XFxufVxcbmV4cG9ydHMuaXNSZWdFeHAgPSBpc1JlZ0V4cDtcXG5cXG5mdW5jdGlvbiBpc09iamVjdChhcmcpIHtcXG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiBhcmcgIT09IG51bGw7XFxufVxcbmV4cG9ydHMuaXNPYmplY3QgPSBpc09iamVjdDtcXG5cXG5mdW5jdGlvbiBpc0RhdGUoZCkge1xcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKGQpID09PSAnW29iamVjdCBEYXRlXSc7XFxufVxcbmV4cG9ydHMuaXNEYXRlID0gaXNEYXRlO1xcblxcbmZ1bmN0aW9uIGlzRXJyb3IoZSkge1xcbiAgcmV0dXJuIChvYmplY3RUb1N0cmluZyhlKSA9PT0gJ1tvYmplY3QgRXJyb3JdJyB8fCBlIGluc3RhbmNlb2YgRXJyb3IpO1xcbn1cXG5leHBvcnRzLmlzRXJyb3IgPSBpc0Vycm9yO1xcblxcbmZ1bmN0aW9uIGlzRnVuY3Rpb24oYXJnKSB7XFxuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJztcXG59XFxuZXhwb3J0cy5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcXG5cXG5mdW5jdGlvbiBpc1ByaW1pdGl2ZShhcmcpIHtcXG4gIHJldHVybiBhcmcgPT09IG51bGwgfHxcXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnYm9vbGVhbicgfHxcXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnbnVtYmVyJyB8fFxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8XFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3N5bWJvbCcgfHwgIC8vIEVTNiBzeW1ib2xcXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAndW5kZWZpbmVkJztcXG59XFxuZXhwb3J0cy5pc1ByaW1pdGl2ZSA9IGlzUHJpbWl0aXZlO1xcblxcbmV4cG9ydHMuaXNCdWZmZXIgPSBCdWZmZXIuaXNCdWZmZXI7XFxuXFxuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcobykge1xcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKTtcXG59XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vYnVmZmVyL2luZGV4LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXIpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMWFYwYVd3dGFYTXZiR2xpTDNWMGFXd3Vhbk0vTVdGa09TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExYVjBhV3d0YVhNdmJHbGlMM1YwYVd3dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1THk4Z1RrOVVSVG9nVkdobGMyVWdkSGx3WlNCamFHVmphMmx1WnlCbWRXNWpkR2x2Ym5NZ2FXNTBaVzUwYVc5dVlXeHNlU0JrYjI0bmRDQjFjMlVnWUdsdWMzUmhibU5sYjJaZ1hHNHZMeUJpWldOaGRYTmxJR2wwSUdseklHWnlZV2RwYkdVZ1lXNWtJR05oYmlCaVpTQmxZWE5wYkhrZ1ptRnJaV1FnZDJsMGFDQmdUMkpxWldOMExtTnlaV0YwWlNncFlDNWNibHh1Wm5WdVkzUnBiMjRnYVhOQmNuSmhlU2hoY21jcElIdGNiaUFnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdRWEp5WVhrdWFYTkJjbkpoZVNoaGNtY3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnZZbXBsWTNSVWIxTjBjbWx1WnloaGNtY3BJRDA5UFNBblcyOWlhbVZqZENCQmNuSmhlVjBuTzF4dWZWeHVaWGh3YjNKMGN5NXBjMEZ5Y21GNUlEMGdhWE5CY25KaGVUdGNibHh1Wm5WdVkzUnBiMjRnYVhOQ2IyOXNaV0Z1S0dGeVp5a2dlMXh1SUNCeVpYUjFjbTRnZEhsd1pXOW1JR0Z5WnlBOVBUMGdKMkp2YjJ4bFlXNG5PMXh1ZlZ4dVpYaHdiM0owY3k1cGMwSnZiMnhsWVc0Z1BTQnBjMEp2YjJ4bFlXNDdYRzVjYm1aMWJtTjBhVzl1SUdselRuVnNiQ2hoY21jcElIdGNiaUFnY21WMGRYSnVJR0Z5WnlBOVBUMGdiblZzYkR0Y2JuMWNibVY0Y0c5eWRITXVhWE5PZFd4c0lEMGdhWE5PZFd4c08xeHVYRzVtZFc1amRHbHZiaUJwYzA1MWJHeFBjbFZ1WkdWbWFXNWxaQ2hoY21jcElIdGNiaUFnY21WMGRYSnVJR0Z5WnlBOVBTQnVkV3hzTzF4dWZWeHVaWGh3YjNKMGN5NXBjMDUxYkd4UGNsVnVaR1ZtYVc1bFpDQTlJR2x6VG5Wc2JFOXlWVzVrWldacGJtVmtPMXh1WEc1bWRXNWpkR2x2YmlCcGMwNTFiV0psY2loaGNtY3BJSHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUJoY21jZ1BUMDlJQ2R1ZFcxaVpYSW5PMXh1ZlZ4dVpYaHdiM0owY3k1cGMwNTFiV0psY2lBOUlHbHpUblZ0WW1WeU8xeHVYRzVtZFc1amRHbHZiaUJwYzFOMGNtbHVaeWhoY21jcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQmhjbWNnUFQwOUlDZHpkSEpwYm1jbk8xeHVmVnh1Wlhod2IzSjBjeTVwYzFOMGNtbHVaeUE5SUdselUzUnlhVzVuTzF4dVhHNW1kVzVqZEdsdmJpQnBjMU41YldKdmJDaGhjbWNwSUh0Y2JpQWdjbVYwZFhKdUlIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkemVXMWliMnduTzF4dWZWeHVaWGh3YjNKMGN5NXBjMU41YldKdmJDQTlJR2x6VTNsdFltOXNPMXh1WEc1bWRXNWpkR2x2YmlCcGMxVnVaR1ZtYVc1bFpDaGhjbWNwSUh0Y2JpQWdjbVYwZFhKdUlHRnlaeUE5UFQwZ2RtOXBaQ0F3TzF4dWZWeHVaWGh3YjNKMGN5NXBjMVZ1WkdWbWFXNWxaQ0E5SUdselZXNWtaV1pwYm1Wa08xeHVYRzVtZFc1amRHbHZiaUJwYzFKbFowVjRjQ2h5WlNrZ2UxeHVJQ0J5WlhSMWNtNGdiMkpxWldOMFZHOVRkSEpwYm1jb2NtVXBJRDA5UFNBblcyOWlhbVZqZENCU1pXZEZlSEJkSnp0Y2JuMWNibVY0Y0c5eWRITXVhWE5TWldkRmVIQWdQU0JwYzFKbFowVjRjRHRjYmx4dVpuVnVZM1JwYjI0Z2FYTlBZbXBsWTNRb1lYSm5LU0I3WEc0Z0lISmxkSFZ5YmlCMGVYQmxiMllnWVhKbklEMDlQU0FuYjJKcVpXTjBKeUFtSmlCaGNtY2dJVDA5SUc1MWJHdzdYRzU5WEc1bGVIQnZjblJ6TG1selQySnFaV04wSUQwZ2FYTlBZbXBsWTNRN1hHNWNibVoxYm1OMGFXOXVJR2x6UkdGMFpTaGtLU0I3WEc0Z0lISmxkSFZ5YmlCdlltcGxZM1JVYjFOMGNtbHVaeWhrS1NBOVBUMGdKMXR2WW1wbFkzUWdSR0YwWlYwbk8xeHVmVnh1Wlhod2IzSjBjeTVwYzBSaGRHVWdQU0JwYzBSaGRHVTdYRzVjYm1aMWJtTjBhVzl1SUdselJYSnliM0lvWlNrZ2UxeHVJQ0J5WlhSMWNtNGdLRzlpYW1WamRGUnZVM1J5YVc1bktHVXBJRDA5UFNBblcyOWlhbVZqZENCRmNuSnZjbDBuSUh4OElHVWdhVzV6ZEdGdVkyVnZaaUJGY25KdmNpazdYRzU5WEc1bGVIQnZjblJ6TG1selJYSnliM0lnUFNCcGMwVnljbTl5TzF4dVhHNW1kVzVqZEdsdmJpQnBjMFoxYm1OMGFXOXVLR0Z5WnlrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlHRnlaeUE5UFQwZ0oyWjFibU4wYVc5dUp6dGNibjFjYm1WNGNHOXlkSE11YVhOR2RXNWpkR2x2YmlBOUlHbHpSblZ1WTNScGIyNDdYRzVjYm1aMWJtTjBhVzl1SUdselVISnBiV2wwYVhabEtHRnlaeWtnZTF4dUlDQnlaWFIxY200Z1lYSm5JRDA5UFNCdWRXeHNJSHg4WEc0Z0lDQWdJQ0FnSUNCMGVYQmxiMllnWVhKbklEMDlQU0FuWW05dmJHVmhiaWNnZkh4Y2JpQWdJQ0FnSUNBZ0lIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkdWRXMWlaWEluSUh4OFhHNGdJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1lYSm5JRDA5UFNBbmMzUnlhVzVuSnlCOGZGeHVJQ0FnSUNBZ0lDQWdkSGx3Wlc5bUlHRnlaeUE5UFQwZ0ozTjViV0p2YkNjZ2ZId2dJQzh2SUVWVE5pQnplVzFpYjJ4Y2JpQWdJQ0FnSUNBZ0lIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkMWJtUmxabWx1WldRbk8xeHVmVnh1Wlhod2IzSjBjeTVwYzFCeWFXMXBkR2wyWlNBOUlHbHpVSEpwYldsMGFYWmxPMXh1WEc1bGVIQnZjblJ6TG1selFuVm1abVZ5SUQwZ1FuVm1abVZ5TG1selFuVm1abVZ5TzF4dVhHNW1kVzVqZEdsdmJpQnZZbXBsWTNSVWIxTjBjbWx1WnlodktTQjdYRzRnSUhKbGRIVnliaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b2J5azdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLXV0aWwtaXMvbGliL3V0aWwuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1lY2RoL2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHt2YXIgZWxsaXB0aWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBlbGxpcHRpYyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljLmpzXFxcIilcXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3JlYXRlLWVjZGgvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVFQ0RIIChjdXJ2ZSkge1xcbiAgcmV0dXJuIG5ldyBFQ0RIKGN1cnZlKVxcbn1cXG5cXG52YXIgYWxpYXNlcyA9IHtcXG4gIHNlY3AyNTZrMToge1xcbiAgICBuYW1lOiAnc2VjcDI1NmsxJyxcXG4gICAgYnl0ZUxlbmd0aDogMzJcXG4gIH0sXFxuICBzZWNwMjI0cjE6IHtcXG4gICAgbmFtZTogJ3AyMjQnLFxcbiAgICBieXRlTGVuZ3RoOiAyOFxcbiAgfSxcXG4gIHByaW1lMjU2djE6IHtcXG4gICAgbmFtZTogJ3AyNTYnLFxcbiAgICBieXRlTGVuZ3RoOiAzMlxcbiAgfSxcXG4gIHByaW1lMTkydjE6IHtcXG4gICAgbmFtZTogJ3AxOTInLFxcbiAgICBieXRlTGVuZ3RoOiAyNFxcbiAgfSxcXG4gIGVkMjU1MTk6IHtcXG4gICAgbmFtZTogJ2VkMjU1MTknLFxcbiAgICBieXRlTGVuZ3RoOiAzMlxcbiAgfSxcXG4gIHNlY3AzODRyMToge1xcbiAgICBuYW1lOiAncDM4NCcsXFxuICAgIGJ5dGVMZW5ndGg6IDQ4XFxuICB9LFxcbiAgc2VjcDUyMXIxOiB7XFxuICAgIG5hbWU6ICdwNTIxJyxcXG4gICAgYnl0ZUxlbmd0aDogNjZcXG4gIH1cXG59XFxuXFxuYWxpYXNlcy5wMjI0ID0gYWxpYXNlcy5zZWNwMjI0cjFcXG5hbGlhc2VzLnAyNTYgPSBhbGlhc2VzLnNlY3AyNTZyMSA9IGFsaWFzZXMucHJpbWUyNTZ2MVxcbmFsaWFzZXMucDE5MiA9IGFsaWFzZXMuc2VjcDE5MnIxID0gYWxpYXNlcy5wcmltZTE5MnYxXFxuYWxpYXNlcy5wMzg0ID0gYWxpYXNlcy5zZWNwMzg0cjFcXG5hbGlhc2VzLnA1MjEgPSBhbGlhc2VzLnNlY3A1MjFyMVxcblxcbmZ1bmN0aW9uIEVDREggKGN1cnZlKSB7XFxuICB0aGlzLmN1cnZlVHlwZSA9IGFsaWFzZXNbY3VydmVdXFxuICBpZiAoIXRoaXMuY3VydmVUeXBlKSB7XFxuICAgIHRoaXMuY3VydmVUeXBlID0ge1xcbiAgICAgIG5hbWU6IGN1cnZlXFxuICAgIH1cXG4gIH1cXG4gIHRoaXMuY3VydmUgPSBuZXcgZWxsaXB0aWMuZWModGhpcy5jdXJ2ZVR5cGUubmFtZSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuZXctY2FwXFxuICB0aGlzLmtleXMgPSB2b2lkIDBcXG59XFxuXFxuRUNESC5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzID0gZnVuY3Rpb24gKGVuYywgZm9ybWF0KSB7XFxuICB0aGlzLmtleXMgPSB0aGlzLmN1cnZlLmdlbktleVBhaXIoKVxcbiAgcmV0dXJuIHRoaXMuZ2V0UHVibGljS2V5KGVuYywgZm9ybWF0KVxcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5jb21wdXRlU2VjcmV0ID0gZnVuY3Rpb24gKG90aGVyLCBpbmVuYywgZW5jKSB7XFxuICBpbmVuYyA9IGluZW5jIHx8ICd1dGY4J1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIob3RoZXIpKSB7XFxuICAgIG90aGVyID0gbmV3IEJ1ZmZlcihvdGhlciwgaW5lbmMpXFxuICB9XFxuICB2YXIgb3RoZXJQdWIgPSB0aGlzLmN1cnZlLmtleUZyb21QdWJsaWMob3RoZXIpLmdldFB1YmxpYygpXFxuICB2YXIgb3V0ID0gb3RoZXJQdWIubXVsKHRoaXMua2V5cy5nZXRQcml2YXRlKCkpLmdldFgoKVxcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKG91dCwgZW5jLCB0aGlzLmN1cnZlVHlwZS5ieXRlTGVuZ3RoKVxcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5nZXRQdWJsaWNLZXkgPSBmdW5jdGlvbiAoZW5jLCBmb3JtYXQpIHtcXG4gIHZhciBrZXkgPSB0aGlzLmtleXMuZ2V0UHVibGljKGZvcm1hdCA9PT0gJ2NvbXByZXNzZWQnLCB0cnVlKVxcbiAgaWYgKGZvcm1hdCA9PT0gJ2h5YnJpZCcpIHtcXG4gICAgaWYgKGtleVtrZXkubGVuZ3RoIC0gMV0gJSAyKSB7XFxuICAgICAga2V5WzBdID0gN1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGtleVswXSA9IDZcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKGtleSwgZW5jKVxcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5nZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gKGVuYykge1xcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMua2V5cy5nZXRQcml2YXRlKCksIGVuYylcXG59XFxuXFxuRUNESC5wcm90b3R5cGUuc2V0UHVibGljS2V5ID0gZnVuY3Rpb24gKHB1YiwgZW5jKSB7XFxuICBlbmMgPSBlbmMgfHwgJ3V0ZjgnXFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwdWIpKSB7XFxuICAgIHB1YiA9IG5ldyBCdWZmZXIocHViLCBlbmMpXFxuICB9XFxuICB0aGlzLmtleXMuX2ltcG9ydFB1YmxpYyhwdWIpXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5zZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gKHByaXYsIGVuYykge1xcbiAgZW5jID0gZW5jIHx8ICd1dGY4J1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpdikpIHtcXG4gICAgcHJpdiA9IG5ldyBCdWZmZXIocHJpdiwgZW5jKVxcbiAgfVxcblxcbiAgdmFyIF9wcml2ID0gbmV3IEJOKHByaXYpXFxuICBfcHJpdiA9IF9wcml2LnRvU3RyaW5nKDE2KVxcbiAgdGhpcy5rZXlzID0gdGhpcy5jdXJ2ZS5nZW5LZXlQYWlyKClcXG4gIHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShfcHJpdilcXG4gIHJldHVybiB0aGlzXFxufVxcblxcbmZ1bmN0aW9uIGZvcm1hdFJldHVyblZhbHVlIChibiwgZW5jLCBsZW4pIHtcXG4gIGlmICghQXJyYXkuaXNBcnJheShibikpIHtcXG4gICAgYm4gPSBibi50b0FycmF5KClcXG4gIH1cXG4gIHZhciBidWYgPSBuZXcgQnVmZmVyKGJuKVxcbiAgaWYgKGxlbiAmJiBidWYubGVuZ3RoIDwgbGVuKSB7XFxuICAgIHZhciB6ZXJvcyA9IG5ldyBCdWZmZXIobGVuIC0gYnVmLmxlbmd0aClcXG4gICAgemVyb3MuZmlsbCgwKVxcbiAgICBidWYgPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgYnVmXSlcXG4gIH1cXG4gIGlmICghZW5jKSB7XFxuICAgIHJldHVybiBidWZcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBidWYudG9TdHJpbmcoZW5jKVxcbiAgfVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRaV05rYUM5aWNtOTNjMlZ5TG1welB6QTNZV0lpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc05rUkJRV1VzYlVKQlFVOHNRMEZCUXl4NVJFRkJWVHRCUVVOcVF5eFRRVUZUTEcxQ1FVRlBMRU5CUVVNc2MwVkJRVTg3TzBGQlJYaENPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZM0psWVhSbExXVmpaR2d2WW5KdmQzTmxjaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCbGJHeHBjSFJwWXlBOUlISmxjWFZwY21Vb0oyVnNiR2x3ZEdsakp5bGNiblpoY2lCQ1RpQTlJSEpsY1hWcGNtVW9KMkp1TG1wekp5bGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJqY21WaGRHVkZRMFJJSUNoamRYSjJaU2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJRVZEUkVnb1kzVnlkbVVwWEc1OVhHNWNiblpoY2lCaGJHbGhjMlZ6SUQwZ2UxeHVJQ0J6WldOd01qVTJhekU2SUh0Y2JpQWdJQ0J1WVcxbE9pQW5jMlZqY0RJMU5tc3hKeXhjYmlBZ0lDQmllWFJsVEdWdVozUm9PaUF6TWx4dUlDQjlMRnh1SUNCelpXTndNakkwY2pFNklIdGNiaUFnSUNCdVlXMWxPaUFuY0RJeU5DY3NYRzRnSUNBZ1lubDBaVXhsYm1kMGFEb2dNamhjYmlBZ2ZTeGNiaUFnY0hKcGJXVXlOVFoyTVRvZ2UxeHVJQ0FnSUc1aGJXVTZJQ2R3TWpVMkp5eGNiaUFnSUNCaWVYUmxUR1Z1WjNSb09pQXpNbHh1SUNCOUxGeHVJQ0J3Y21sdFpURTVNbll4T2lCN1hHNGdJQ0FnYm1GdFpUb2dKM0F4T1RJbkxGeHVJQ0FnSUdKNWRHVk1aVzVuZEdnNklESTBYRzRnSUgwc1hHNGdJR1ZrTWpVMU1UazZJSHRjYmlBZ0lDQnVZVzFsT2lBblpXUXlOVFV4T1Njc1hHNGdJQ0FnWW5sMFpVeGxibWQwYURvZ016SmNiaUFnZlN4Y2JpQWdjMlZqY0RNNE5ISXhPaUI3WEc0Z0lDQWdibUZ0WlRvZ0ozQXpPRFFuTEZ4dUlDQWdJR0o1ZEdWTVpXNW5kR2c2SURRNFhHNGdJSDBzWEc0Z0lITmxZM0ExTWpGeU1Ub2dlMXh1SUNBZ0lHNWhiV1U2SUNkd05USXhKeXhjYmlBZ0lDQmllWFJsVEdWdVozUm9PaUEyTmx4dUlDQjlYRzU5WEc1Y2JtRnNhV0Z6WlhNdWNESXlOQ0E5SUdGc2FXRnpaWE11YzJWamNESXlOSEl4WEc1aGJHbGhjMlZ6TG5BeU5UWWdQU0JoYkdsaGMyVnpMbk5sWTNBeU5UWnlNU0E5SUdGc2FXRnpaWE11Y0hKcGJXVXlOVFoyTVZ4dVlXeHBZWE5sY3k1d01Ua3lJRDBnWVd4cFlYTmxjeTV6WldOd01Ua3ljakVnUFNCaGJHbGhjMlZ6TG5CeWFXMWxNVGt5ZGpGY2JtRnNhV0Z6WlhNdWNETTROQ0E5SUdGc2FXRnpaWE11YzJWamNETTROSEl4WEc1aGJHbGhjMlZ6TG5BMU1qRWdQU0JoYkdsaGMyVnpMbk5sWTNBMU1qRnlNVnh1WEc1bWRXNWpkR2x2YmlCRlEwUklJQ2hqZFhKMlpTa2dlMXh1SUNCMGFHbHpMbU4xY25abFZIbHdaU0E5SUdGc2FXRnpaWE5iWTNWeWRtVmRYRzRnSUdsbUlDZ2hkR2hwY3k1amRYSjJaVlI1Y0dVcElIdGNiaUFnSUNCMGFHbHpMbU4xY25abFZIbHdaU0E5SUh0Y2JpQWdJQ0FnSUc1aGJXVTZJR04xY25abFhHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhSb2FYTXVZM1Z5ZG1VZ1BTQnVaWGNnWld4c2FYQjBhV011WldNb2RHaHBjeTVqZFhKMlpWUjVjR1V1Ym1GdFpTa2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdVpYY3RZMkZ3WEc0Z0lIUm9hWE11YTJWNWN5QTlJSFp2YVdRZ01GeHVmVnh1WEc1RlEwUklMbkJ5YjNSdmRIbHdaUzVuWlc1bGNtRjBaVXRsZVhNZ1BTQm1kVzVqZEdsdmJpQW9aVzVqTENCbWIzSnRZWFFwSUh0Y2JpQWdkR2hwY3k1clpYbHpJRDBnZEdocGN5NWpkWEoyWlM1blpXNUxaWGxRWVdseUtDbGNiaUFnY21WMGRYSnVJSFJvYVhNdVoyVjBVSFZpYkdsalMyVjVLR1Z1WXl3Z1ptOXliV0YwS1Z4dWZWeHVYRzVGUTBSSUxuQnliM1J2ZEhsd1pTNWpiMjF3ZFhSbFUyVmpjbVYwSUQwZ1puVnVZM1JwYjI0Z0tHOTBhR1Z5TENCcGJtVnVZeXdnWlc1aktTQjdYRzRnSUdsdVpXNWpJRDBnYVc1bGJtTWdmSHdnSjNWMFpqZ25YRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtHOTBhR1Z5S1NrZ2UxeHVJQ0FnSUc5MGFHVnlJRDBnYm1WM0lFSjFabVpsY2lodmRHaGxjaXdnYVc1bGJtTXBYRzRnSUgxY2JpQWdkbUZ5SUc5MGFHVnlVSFZpSUQwZ2RHaHBjeTVqZFhKMlpTNXJaWGxHY205dFVIVmliR2xqS0c5MGFHVnlLUzVuWlhSUWRXSnNhV01vS1Z4dUlDQjJZWElnYjNWMElEMGdiM1JvWlhKUWRXSXViWFZzS0hSb2FYTXVhMlY1Y3k1blpYUlFjbWwyWVhSbEtDa3BMbWRsZEZnb0tWeHVJQ0J5WlhSMWNtNGdabTl5YldGMFVtVjBkWEp1Vm1Gc2RXVW9iM1YwTENCbGJtTXNJSFJvYVhNdVkzVnlkbVZVZVhCbExtSjVkR1ZNWlc1bmRHZ3BYRzU5WEc1Y2JrVkRSRWd1Y0hKdmRHOTBlWEJsTG1kbGRGQjFZbXhwWTB0bGVTQTlJR1oxYm1OMGFXOXVJQ2hsYm1Nc0lHWnZjbTFoZENrZ2UxeHVJQ0IyWVhJZ2EyVjVJRDBnZEdocGN5NXJaWGx6TG1kbGRGQjFZbXhwWXlobWIzSnRZWFFnUFQwOUlDZGpiMjF3Y21WemMyVmtKeXdnZEhKMVpTbGNiaUFnYVdZZ0tHWnZjbTFoZENBOVBUMGdKMmg1WW5KcFpDY3BJSHRjYmlBZ0lDQnBaaUFvYTJWNVcydGxlUzVzWlc1bmRHZ2dMU0F4WFNBbElESXBJSHRjYmlBZ0lDQWdJR3RsZVZzd1hTQTlJRGRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2EyVjVXekJkSUQwZ05seHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWm05eWJXRjBVbVYwZFhKdVZtRnNkV1VvYTJWNUxDQmxibU1wWEc1OVhHNWNia1ZEUkVndWNISnZkRzkwZVhCbExtZGxkRkJ5YVhaaGRHVkxaWGtnUFNCbWRXNWpkR2x2YmlBb1pXNWpLU0I3WEc0Z0lISmxkSFZ5YmlCbWIzSnRZWFJTWlhSMWNtNVdZV3gxWlNoMGFHbHpMbXRsZVhNdVoyVjBVSEpwZG1GMFpTZ3BMQ0JsYm1NcFhHNTlYRzVjYmtWRFJFZ3VjSEp2ZEc5MGVYQmxMbk5sZEZCMVlteHBZMHRsZVNBOUlHWjFibU4wYVc5dUlDaHdkV0lzSUdWdVl5a2dlMXh1SUNCbGJtTWdQU0JsYm1NZ2ZId2dKM1YwWmpnblhHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0hCMVlpa3BJSHRjYmlBZ0lDQndkV0lnUFNCdVpYY2dRblZtWm1WeUtIQjFZaXdnWlc1aktWeHVJQ0I5WEc0Z0lIUm9hWE11YTJWNWN5NWZhVzF3YjNKMFVIVmliR2xqS0hCMVlpbGNiaUFnY21WMGRYSnVJSFJvYVhOY2JuMWNibHh1UlVORVNDNXdjbTkwYjNSNWNHVXVjMlYwVUhKcGRtRjBaVXRsZVNBOUlHWjFibU4wYVc5dUlDaHdjbWwyTENCbGJtTXBJSHRjYmlBZ1pXNWpJRDBnWlc1aklIeDhJQ2QxZEdZNEoxeHVJQ0JwWmlBb0lVSjFabVpsY2k1cGMwSjFabVpsY2lod2NtbDJLU2tnZTF4dUlDQWdJSEJ5YVhZZ1BTQnVaWGNnUW5WbVptVnlLSEJ5YVhZc0lHVnVZeWxjYmlBZ2ZWeHVYRzRnSUhaaGNpQmZjSEpwZGlBOUlHNWxkeUJDVGlod2NtbDJLVnh1SUNCZmNISnBkaUE5SUY5d2NtbDJMblJ2VTNSeWFXNW5LREUyS1Z4dUlDQjBhR2x6TG10bGVYTWdQU0IwYUdsekxtTjFjblpsTG1kbGJrdGxlVkJoYVhJb0tWeHVJQ0IwYUdsekxtdGxlWE11WDJsdGNHOXlkRkJ5YVhaaGRHVW9YM0J5YVhZcFhHNGdJSEpsZEhWeWJpQjBhR2x6WEc1OVhHNWNibVoxYm1OMGFXOXVJR1p2Y20xaGRGSmxkSFZ5YmxaaGJIVmxJQ2hpYml3Z1pXNWpMQ0JzWlc0cElIdGNiaUFnYVdZZ0tDRkJjbkpoZVM1cGMwRnljbUY1S0dKdUtTa2dlMXh1SUNBZ0lHSnVJRDBnWW00dWRHOUJjbkpoZVNncFhHNGdJSDFjYmlBZ2RtRnlJR0oxWmlBOUlHNWxkeUJDZFdabVpYSW9ZbTRwWEc0Z0lHbG1JQ2hzWlc0Z0ppWWdZblZtTG14bGJtZDBhQ0E4SUd4bGJpa2dlMXh1SUNBZ0lIWmhjaUI2WlhKdmN5QTlJRzVsZHlCQ2RXWm1aWElvYkdWdUlDMGdZblZtTG14bGJtZDBhQ2xjYmlBZ0lDQjZaWEp2Y3k1bWFXeHNLREFwWEc0Z0lDQWdZblZtSUQwZ1FuVm1abVZ5TG1OdmJtTmhkQ2hiZW1WeWIzTXNJR0oxWmwwcFhHNGdJSDFjYmlBZ2FXWWdLQ0ZsYm1NcElIdGNiaUFnSUNCeVpYUjFjbTRnWW5WbVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUdKMVppNTBiMU4wY21sdVp5aGxibU1wWEc0Z0lIMWNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWVjZGgvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24obW9kdWxlKSB7KGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcXG4gICd1c2Ugc3RyaWN0JztcXG5cXG4gIC8vIFV0aWxzXFxuICBmdW5jdGlvbiBhc3NlcnQgKHZhbCwgbXNnKSB7XFxuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XFxuICB9XFxuXFxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cXG4gIGZ1bmN0aW9uIGluaGVyaXRzIChjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XFxuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xcbiAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XFxuICB9XFxuXFxuICAvLyBCTlxcblxcbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcXG4gICAgICByZXR1cm4gbnVtYmVyO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxcbiAgICB0aGlzLnJlZCA9IG51bGw7XFxuXFxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcXG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XFxuICAgICAgICBlbmRpYW4gPSBiYXNlO1xcbiAgICAgICAgYmFzZSA9IDEwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XFxuICAgIH1cXG4gIH1cXG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xcbiAgfSBlbHNlIHtcXG4gICAgZXhwb3J0cy5CTiA9IEJOO1xcbiAgfVxcblxcbiAgQk4uQk4gPSBCTjtcXG4gIEJOLndvcmRTaXplID0gMjY7XFxuXFxuICB2YXIgQnVmZmVyO1xcbiAgdHJ5IHtcXG4gICAgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIDEzKS5CdWZmZXI7XFxuICB9IGNhdGNoIChlKSB7XFxuICB9XFxuXFxuICBCTi5pc0JOID0gZnVuY3Rpb24gaXNCTiAobnVtKSB7XFxuICAgIGlmIChudW0gaW5zdGFuY2VvZiBCTikge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gJ29iamVjdCcgJiZcXG4gICAgICBudW0uY29uc3RydWN0b3Iud29yZFNpemUgPT09IEJOLndvcmRTaXplICYmIEFycmF5LmlzQXJyYXkobnVtLndvcmRzKTtcXG4gIH07XFxuXFxuICBCTi5tYXggPSBmdW5jdGlvbiBtYXggKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPiAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLm1pbiA9IGZ1bmN0aW9uIG1pbiAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA8IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdCAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdudW1iZXInKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXROdW1iZXIobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0QXJyYXkobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIGJhc2UgPSAxNjtcXG4gICAgfVxcbiAgICBhc3NlcnQoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNik7XFxuXFxuICAgIG51bWJlciA9IG51bWJlci50b1N0cmluZygpLnJlcGxhY2UoL1xcXFxzKy9nLCAnJyk7XFxuICAgIHZhciBzdGFydCA9IDA7XFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHN0YXJ0Kys7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IDE2KSB7XFxuICAgICAgdGhpcy5fcGFyc2VIZXgobnVtYmVyLCBzdGFydCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy5fcGFyc2VCYXNlKG51bWJlciwgYmFzZSwgc3RhcnQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0TnVtYmVyID0gZnVuY3Rpb24gX2luaXROdW1iZXIgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChudW1iZXIgPCAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgbnVtYmVyID0gLW51bWJlcjtcXG4gICAgfVxcbiAgICBpZiAobnVtYmVyIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFsgbnVtYmVyICYgMHgzZmZmZmZmIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKG51bWJlciA8IDB4MTAwMDAwMDAwMDAwMDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmZcXG4gICAgICBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobnVtYmVyIDwgMHgyMDAwMDAwMDAwMDAwMCk7IC8vIDIgXiA1MyAodW5zYWZlKVxcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZixcXG4gICAgICAgIDFcXG4gICAgICBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMztcXG4gICAgfVxcblxcbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XFxuXFxuICAgIC8vIFJldmVyc2UgdGhlIGJ5dGVzXFxuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXRBcnJheSA9IGZ1bmN0aW9uIF9pbml0QXJyYXkgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIC8vIFBlcmhhcHMgYSBVaW50OEFycmF5XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtYmVyLmxlbmd0aCA9PT0gJ251bWJlcicpO1xcbiAgICBpZiAobnVtYmVyLmxlbmd0aCA8PSAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbChudW1iZXIubGVuZ3RoIC8gMyk7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGlmIChlbmRpYW4gPT09ICdiZScpIHtcXG4gICAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gMSwgaiA9IDA7IGkgPj0gMDsgaSAtPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpIC0gMV0gPDwgOCkgfCAobnVtYmVyW2kgLSAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xcbiAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpICsgMV0gPDwgOCkgfCAobnVtYmVyW2kgKyAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VIZXggKHN0ciwgc3RhcnQsIGVuZCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByIDw8PSA0O1xcblxcbiAgICAgIC8vICdhJyAtICdmJ1xcbiAgICAgIGlmIChjID49IDQ5ICYmIGMgPD0gNTQpIHtcXG4gICAgICAgIHIgfD0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJyAtICdGJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNyAmJiBjIDw9IDIyKSB7XFxuICAgICAgICByIHw9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciB8PSBjICYgMHhmO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VIZXggPSBmdW5jdGlvbiBfcGFyc2VIZXggKG51bWJlciwgc3RhcnQpIHtcXG4gICAgLy8gQ3JlYXRlIHBvc3NpYmx5IGJpZ2dlciBhcnJheSB0byBlbnN1cmUgdGhhdCBpdCBmaXRzIHRoZSBudW1iZXJcXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwoKG51bWJlci5sZW5ndGggLSBzdGFydCkgLyA2KTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICAvLyBTY2FuIDI0LWJpdCBjaHVua3MgYW5kIGFkZCB0aGVtIHRvIHRoZSBudW1iZXJcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSA2LCBqID0gMDsgaSA+PSBzdGFydDsgaSAtPSA2KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgaSwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAvLyBOT1RFOiBgMHgzZmZmZmZgIGlzIGludGVudGlvbmFsIGhlcmUsIDI2Yml0cyBtYXggc2hpZnQgKyAyNGJpdCBoZXggbGltYlxcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgICBvZmYgKz0gMjQ7XFxuICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgaisrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoaSArIDYgIT09IHN0YXJ0KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgc3RhcnQsIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBwYXJzZUJhc2UgKHN0ciwgc3RhcnQsIGVuZCwgbXVsKSB7XFxuICAgIHZhciByID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgKj0gbXVsO1xcblxcbiAgICAgIC8vICdhJ1xcbiAgICAgIGlmIChjID49IDQ5KSB7XFxuICAgICAgICByICs9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQSdcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcpIHtcXG4gICAgICAgIHIgKz0gYyAtIDE3ICsgMHhhO1xcblxcbiAgICAgIC8vICcwJyAtICc5J1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByICs9IGM7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUJhc2UgPSBmdW5jdGlvbiBfcGFyc2VCYXNlIChudW1iZXIsIGJhc2UsIHN0YXJ0KSB7XFxuICAgIC8vIEluaXRpYWxpemUgYXMgemVyb1xcbiAgICB0aGlzLndvcmRzID0gWyAwIF07XFxuICAgIHRoaXMubGVuZ3RoID0gMTtcXG5cXG4gICAgLy8gRmluZCBsZW5ndGggb2YgbGltYiBpbiBiYXNlXFxuICAgIGZvciAodmFyIGxpbWJMZW4gPSAwLCBsaW1iUG93ID0gMTsgbGltYlBvdyA8PSAweDNmZmZmZmY7IGxpbWJQb3cgKj0gYmFzZSkge1xcbiAgICAgIGxpbWJMZW4rKztcXG4gICAgfVxcbiAgICBsaW1iTGVuLS07XFxuICAgIGxpbWJQb3cgPSAobGltYlBvdyAvIGJhc2UpIHwgMDtcXG5cXG4gICAgdmFyIHRvdGFsID0gbnVtYmVyLmxlbmd0aCAtIHN0YXJ0O1xcbiAgICB2YXIgbW9kID0gdG90YWwgJSBsaW1iTGVuO1xcbiAgICB2YXIgZW5kID0gTWF0aC5taW4odG90YWwsIHRvdGFsIC0gbW9kKSArIHN0YXJ0O1xcblxcbiAgICB2YXIgd29yZCA9IDA7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSBsaW1iTGVuKSB7XFxuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIGkgKyBsaW1iTGVuLCBiYXNlKTtcXG5cXG4gICAgICB0aGlzLmltdWxuKGxpbWJQb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKG1vZCAhPT0gMCkge1xcbiAgICAgIHZhciBwb3cgPSAxO1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBudW1iZXIubGVuZ3RoLCBiYXNlKTtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgbW9kOyBpKyspIHtcXG4gICAgICAgIHBvdyAqPSBiYXNlO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmltdWxuKHBvdyk7XFxuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAoZGVzdCkge1xcbiAgICBkZXN0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgZGVzdC53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XFxuICAgIH1cXG4gICAgZGVzdC5sZW5ndGggPSB0aGlzLmxlbmd0aDtcXG4gICAgZGVzdC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XFxuICAgIGRlc3QucmVkID0gdGhpcy5yZWQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUgKCkge1xcbiAgICB2YXIgciA9IG5ldyBCTihudWxsKTtcXG4gICAgdGhpcy5jb3B5KHIpO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2V4cGFuZCA9IGZ1bmN0aW9uIF9leHBhbmQgKHNpemUpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgc2l6ZSkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFJlbW92ZSBsZWFkaW5nIGAwYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnN0cmlwID0gZnVuY3Rpb24gc3RyaXAgKCkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPiAxICYmIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIHRoaXMubGVuZ3RoLS07XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9ub3JtU2lnbiA9IGZ1bmN0aW9uIF9ub3JtU2lnbiAoKSB7XFxuICAgIC8vIC0wID0gMFxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbnNwZWN0ID0gZnVuY3Rpb24gaW5zcGVjdCAoKSB7XFxuICAgIHJldHVybiAodGhpcy5yZWQgPyAnPEJOLVI6ICcgOiAnPEJOOiAnKSArIHRoaXMudG9TdHJpbmcoMTYpICsgJz4nO1xcbiAgfTtcXG5cXG4gIC8qXFxuXFxuICB2YXIgemVyb3MgPSBbXTtcXG4gIHZhciBncm91cFNpemVzID0gW107XFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtdO1xcblxcbiAgdmFyIHMgPSAnJztcXG4gIHZhciBpID0gLTE7XFxuICB3aGlsZSAoKytpIDwgQk4ud29yZFNpemUpIHtcXG4gICAgemVyb3NbaV0gPSBzO1xcbiAgICBzICs9ICcwJztcXG4gIH1cXG4gIGdyb3VwU2l6ZXNbMF0gPSAwO1xcbiAgZ3JvdXBTaXplc1sxXSA9IDA7XFxuICBncm91cEJhc2VzWzBdID0gMDtcXG4gIGdyb3VwQmFzZXNbMV0gPSAwO1xcbiAgdmFyIGJhc2UgPSAyIC0gMTtcXG4gIHdoaWxlICgrK2Jhc2UgPCAzNiArIDEpIHtcXG4gICAgdmFyIGdyb3VwU2l6ZSA9IDA7XFxuICAgIHZhciBncm91cEJhc2UgPSAxO1xcbiAgICB3aGlsZSAoZ3JvdXBCYXNlIDwgKDEgPDwgQk4ud29yZFNpemUpIC8gYmFzZSkge1xcbiAgICAgIGdyb3VwQmFzZSAqPSBiYXNlO1xcbiAgICAgIGdyb3VwU2l6ZSArPSAxO1xcbiAgICB9XFxuICAgIGdyb3VwU2l6ZXNbYmFzZV0gPSBncm91cFNpemU7XFxuICAgIGdyb3VwQmFzZXNbYmFzZV0gPSBncm91cEJhc2U7XFxuICB9XFxuXFxuICAqL1xcblxcbiAgdmFyIHplcm9zID0gW1xcbiAgICAnJyxcXG4gICAgJzAnLFxcbiAgICAnMDAnLFxcbiAgICAnMDAwJyxcXG4gICAgJzAwMDAnLFxcbiAgICAnMDAwMDAnLFxcbiAgICAnMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnXFxuICBdO1xcblxcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDI1LCAxNiwgMTIsIDExLCAxMCwgOSwgOCxcXG4gICAgOCwgNywgNywgNywgNywgNiwgNixcXG4gICAgNiwgNiwgNiwgNiwgNiwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNVxcbiAgXTtcXG5cXG4gIHZhciBncm91cEJhc2VzID0gW1xcbiAgICAwLCAwLFxcbiAgICAzMzU1NDQzMiwgNDMwNDY3MjEsIDE2Nzc3MjE2LCA0ODgyODEyNSwgNjA0NjYxNzYsIDQwMzUzNjA3LCAxNjc3NzIxNixcXG4gICAgNDMwNDY3MjEsIDEwMDAwMDAwLCAxOTQ4NzE3MSwgMzU4MzE4MDgsIDYyNzQ4NTE3LCA3NTI5NTM2LCAxMTM5MDYyNSxcXG4gICAgMTY3NzcyMTYsIDI0MTM3NTY5LCAzNDAxMjIyNCwgNDcwNDU4ODEsIDY0MDAwMDAwLCA0MDg0MTAxLCA1MTUzNjMyLFxcbiAgICA2NDM2MzQzLCA3OTYyNjI0LCA5NzY1NjI1LCAxMTg4MTM3NiwgMTQzNDg5MDcsIDE3MjEwMzY4LCAyMDUxMTE0OSxcXG4gICAgMjQzMDAwMDAsIDI4NjI5MTUxLCAzMzU1NDQzMiwgMzkxMzUzOTMsIDQ1NDM1NDI0LCA1MjUyMTg3NSwgNjA0NjYxNzZcXG4gIF07XFxuXFxuICBCTi5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyAoYmFzZSwgcGFkZGluZykge1xcbiAgICBiYXNlID0gYmFzZSB8fCAxMDtcXG4gICAgcGFkZGluZyA9IHBhZGRpbmcgfCAwIHx8IDE7XFxuXFxuICAgIHZhciBvdXQ7XFxuICAgIGlmIChiYXNlID09PSAxNiB8fCBiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBvZmYgPSAwO1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV07XFxuICAgICAgICB2YXIgd29yZCA9ICgoKHcgPDwgb2ZmKSB8IGNhcnJ5KSAmIDB4ZmZmZmZmKS50b1N0cmluZygxNik7XFxuICAgICAgICBjYXJyeSA9ICh3ID4+PiAoMjQgLSBvZmYpKSAmIDB4ZmZmZmZmO1xcbiAgICAgICAgaWYgKGNhcnJ5ICE9PSAwIHx8IGkgIT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgICBvdXQgPSB6ZXJvc1s2IC0gd29yZC5sZW5ndGhdICsgd29yZCArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHdvcmQgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgICBvZmYgKz0gMjtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBpLS07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gY2FycnkudG9TdHJpbmcoMTYpICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNikge1xcbiAgICAgIC8vIHZhciBncm91cFNpemUgPSBNYXRoLmZsb29yKEJOLndvcmRTaXplICogTWF0aC5MTjIgLyBNYXRoLmxvZyhiYXNlKSk7XFxuICAgICAgdmFyIGdyb3VwU2l6ZSA9IGdyb3VwU2l6ZXNbYmFzZV07XFxuICAgICAgLy8gdmFyIGdyb3VwQmFzZSA9IE1hdGgucG93KGJhc2UsIGdyb3VwU2l6ZSk7XFxuICAgICAgdmFyIGdyb3VwQmFzZSA9IGdyb3VwQmFzZXNbYmFzZV07XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIGMgPSB0aGlzLmNsb25lKCk7XFxuICAgICAgYy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgd2hpbGUgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICB2YXIgciA9IGMubW9kbihncm91cEJhc2UpLnRvU3RyaW5nKGJhc2UpO1xcbiAgICAgICAgYyA9IGMuaWRpdm4oZ3JvdXBCYXNlKTtcXG5cXG4gICAgICAgIGlmICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgICBvdXQgPSB6ZXJvc1tncm91cFNpemUgLSByLmxlbmd0aF0gKyByICsgb3V0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgb3V0ID0gciArIG91dDtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgYXNzZXJ0KGZhbHNlLCAnQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNicpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b051bWJlciA9IGZ1bmN0aW9uIHRvTnVtYmVyICgpIHtcXG4gICAgdmFyIHJldCA9IHRoaXMud29yZHNbMF07XFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMikge1xcbiAgICAgIHJldCArPSB0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID09PSAzICYmIHRoaXMud29yZHNbMl0gPT09IDB4MDEpIHtcXG4gICAgICAvLyBOT1RFOiBhdCB0aGlzIHN0YWdlIGl0IGlzIGtub3duIHRoYXQgdGhlIHRvcCBiaXQgaXMgc2V0XFxuICAgICAgcmV0ICs9IDB4MTAwMDAwMDAwMDAwMDAgKyAodGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMCk7XFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiAyKSB7XFxuICAgICAgYXNzZXJ0KGZhbHNlLCAnTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzJyk7XFxuICAgIH1cXG4gICAgcmV0dXJuICh0aGlzLm5lZ2F0aXZlICE9PSAwKSA/IC1yZXQgOiByZXQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9uIHRvSlNPTiAoKSB7XFxuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKDE2KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9CdWZmZXIgPSBmdW5jdGlvbiB0b0J1ZmZlciAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBCdWZmZXIgIT09ICd1bmRlZmluZWQnKTtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQnVmZmVyLCBlbmRpYW4sIGxlbmd0aCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiB0b0FycmF5IChlbmRpYW4sIGxlbmd0aCkge1xcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5TGlrZSA9IGZ1bmN0aW9uIHRvQXJyYXlMaWtlIChBcnJheVR5cGUsIGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHZhciBieXRlTGVuZ3RoID0gdGhpcy5ieXRlTGVuZ3RoKCk7XFxuICAgIHZhciByZXFMZW5ndGggPSBsZW5ndGggfHwgTWF0aC5tYXgoMSwgYnl0ZUxlbmd0aCk7XFxuICAgIGFzc2VydChieXRlTGVuZ3RoIDw9IHJlcUxlbmd0aCwgJ2J5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgnKTtcXG4gICAgYXNzZXJ0KHJlcUxlbmd0aCA+IDAsICdSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAnKTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcbiAgICB2YXIgbGl0dGxlRW5kaWFuID0gZW5kaWFuID09PSAnbGUnO1xcbiAgICB2YXIgcmVzID0gbmV3IEFycmF5VHlwZShyZXFMZW5ndGgpO1xcblxcbiAgICB2YXIgYiwgaTtcXG4gICAgdmFyIHEgPSB0aGlzLmNsb25lKCk7XFxuICAgIGlmICghbGl0dGxlRW5kaWFuKSB7XFxuICAgICAgLy8gQXNzdW1lIGJpZy1lbmRpYW5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgcmVxTGVuZ3RoIC0gYnl0ZUxlbmd0aDsgaSsrKSB7XFxuICAgICAgICByZXNbaV0gPSAwO1xcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW3JlcUxlbmd0aCAtIGkgLSAxXSA9IGI7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGZvciAoaSA9IDA7ICFxLmlzWmVybygpOyBpKyspIHtcXG4gICAgICAgIGIgPSBxLmFuZGxuKDB4ZmYpO1xcbiAgICAgICAgcS5pdXNocm4oOCk7XFxuXFxuICAgICAgICByZXNbaV0gPSBiO1xcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKDsgaSA8IHJlcUxlbmd0aDsgaSsrKSB7XFxuICAgICAgICByZXNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIGlmIChNYXRoLmNsejMyKSB7XFxuICAgIEJOLnByb3RvdHlwZS5fY291bnRCaXRzID0gZnVuY3Rpb24gX2NvdW50Qml0cyAodykge1xcbiAgICAgIHJldHVybiAzMiAtIE1hdGguY2x6MzIodyk7XFxuICAgIH07XFxuICB9IGVsc2Uge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICB2YXIgdCA9IHc7XFxuICAgICAgdmFyIHIgPSAwO1xcbiAgICAgIGlmICh0ID49IDB4MTAwMCkge1xcbiAgICAgICAgciArPSAxMztcXG4gICAgICAgIHQgPj4+PSAxMztcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHg0MCkge1xcbiAgICAgICAgciArPSA3O1xcbiAgICAgICAgdCA+Pj49IDc7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4OCkge1xcbiAgICAgICAgciArPSA0O1xcbiAgICAgICAgdCA+Pj49IDQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4MDIpIHtcXG4gICAgICAgIHIgKz0gMjtcXG4gICAgICAgIHQgPj4+PSAyO1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gciArIHQ7XFxuICAgIH07XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3plcm9CaXRzID0gZnVuY3Rpb24gX3plcm9CaXRzICh3KSB7XFxuICAgIC8vIFNob3J0LWN1dFxcbiAgICBpZiAodyA9PT0gMCkgcmV0dXJuIDI2O1xcblxcbiAgICB2YXIgdCA9IHc7XFxuICAgIHZhciByID0gMDtcXG4gICAgaWYgKCh0ICYgMHgxZmZmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gMTM7XFxuICAgICAgdCA+Pj49IDEzO1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4N2YpID09PSAwKSB7XFxuICAgICAgciArPSA3O1xcbiAgICAgIHQgPj4+PSA3O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4ZikgPT09IDApIHtcXG4gICAgICByICs9IDQ7XFxuICAgICAgdCA+Pj49IDQ7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgzKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gMjtcXG4gICAgICB0ID4+Pj0gMjtcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDEpID09PSAwKSB7XFxuICAgICAgcisrO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBudW1iZXIgb2YgdXNlZCBiaXRzIGluIGEgQk5cXG4gIEJOLnByb3RvdHlwZS5iaXRMZW5ndGggPSBmdW5jdGlvbiBiaXRMZW5ndGggKCkge1xcbiAgICB2YXIgdyA9IHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXTtcXG4gICAgdmFyIGhpID0gdGhpcy5fY291bnRCaXRzKHcpO1xcbiAgICByZXR1cm4gKHRoaXMubGVuZ3RoIC0gMSkgKiAyNiArIGhpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHRvQml0QXJyYXkgKG51bSkge1xcbiAgICB2YXIgdyA9IG5ldyBBcnJheShudW0uYml0TGVuZ3RoKCkpO1xcblxcbiAgICBmb3IgKHZhciBiaXQgPSAwOyBiaXQgPCB3Lmxlbmd0aDsgYml0KyspIHtcXG4gICAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcXG5cXG4gICAgICB3W2JpdF0gPSAobnVtLndvcmRzW29mZl0gJiAoMSA8PCB3Yml0KSkgPj4+IHdiaXQ7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHc7XFxuICB9XFxuXFxuICAvLyBOdW1iZXIgb2YgdHJhaWxpbmcgemVybyBiaXRzXFxuICBCTi5wcm90b3R5cGUuemVyb0JpdHMgPSBmdW5jdGlvbiB6ZXJvQml0cyAoKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gMDtcXG5cXG4gICAgdmFyIHIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgYiA9IHRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbaV0pO1xcbiAgICAgIHIgKz0gYjtcXG4gICAgICBpZiAoYiAhPT0gMjYpIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ieXRlTGVuZ3RoID0gZnVuY3Rpb24gYnl0ZUxlbmd0aCAoKSB7XFxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKSAvIDgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1R3b3MgPSBmdW5jdGlvbiB0b1R3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21Ud29zID0gZnVuY3Rpb24gZnJvbVR3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLnRlc3RuKHdpZHRoIC0gMSkpIHtcXG4gICAgICByZXR1cm4gdGhpcy5ub3RuKHdpZHRoKS5pYWRkbigxKS5pbmVnKCk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNOZWcgPSBmdW5jdGlvbiBpc05lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLm5lZ2F0aXZlICE9PSAwO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5lZyA9IGZ1bmN0aW9uIGluZWcgKCkge1xcbiAgICBpZiAoIXRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdW9yID0gZnVuY3Rpb24gaXVvciAobnVtKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldIHwgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlvciA9IGZ1bmN0aW9uIGlvciAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdW9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5vciA9IGZ1bmN0aW9uIG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pb3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlvcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW9yID0gZnVuY3Rpb24gdW9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdW9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1YW5kID0gZnVuY3Rpb24gaXVhbmQgKG51bSkge1xcbiAgICAvLyBiID0gbWluLWxlbmd0aChudW0sIHRoaXMpXFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSAmIG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGIubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pYW5kID0gZnVuY3Rpb24gaWFuZCAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdWFuZChudW0pO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmFuZCA9IGZ1bmN0aW9uIGFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFuZCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudWFuZCA9IGZ1bmN0aW9uIHVhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1YW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdWFuZCh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdXhvciA9IGZ1bmN0aW9uIGl1eG9yIChudW0pIHtcXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYTtcXG4gICAgdmFyIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV0gXiBiLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzICE9PSBhKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXhvciA9IGZ1bmN0aW9uIGl4b3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXV4b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiB4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnV4b3IgPSBmdW5jdGlvbiB1eG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXV4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gTm90IGBgdGhpc2BgIHdpdGggYGB3aWR0aGBgIGJpdHdpZHRoXFxuICBCTi5wcm90b3R5cGUuaW5vdG4gPSBmdW5jdGlvbiBpbm90biAod2lkdGgpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgJiYgd2lkdGggPj0gMCk7XFxuXFxuICAgIHZhciBieXRlc05lZWRlZCA9IE1hdGguY2VpbCh3aWR0aCAvIDI2KSB8IDA7XFxuICAgIHZhciBiaXRzTGVmdCA9IHdpZHRoICUgMjY7XFxuXFxuICAgIC8vIEV4dGVuZCB0aGUgYnVmZmVyIHdpdGggbGVhZGluZyB6ZXJvZXNcXG4gICAgdGhpcy5fZXhwYW5kKGJ5dGVzTmVlZGVkKTtcXG5cXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIGJ5dGVzTmVlZGVkLS07XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIGNvbXBsZXRlIHdvcmRzXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXNOZWVkZWQ7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgdGhlIHJlc2lkdWVcXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmICgweDNmZmZmZmYgPj4gKDI2IC0gYml0c0xlZnQpKTtcXG4gICAgfVxcblxcbiAgICAvLyBBbmQgcmVtb3ZlIGxlYWRpbmcgemVyb2VzXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm5vdG4gPSBmdW5jdGlvbiBub3RuICh3aWR0aCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKHdpZHRoKTtcXG4gIH07XFxuXFxuICAvLyBTZXQgYGJpdGAgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc2V0biA9IGZ1bmN0aW9uIHNldG4gKGJpdCwgdmFsKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XFxuXFxuICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcXG4gICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKG9mZiArIDEpO1xcblxcbiAgICBpZiAodmFsKSB7XFxuICAgICAgdGhpcy53b3Jkc1tvZmZdID0gdGhpcy53b3Jkc1tvZmZdIHwgKDEgPDwgd2JpdCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy53b3Jkc1tvZmZdID0gdGhpcy53b3Jkc1tvZmZdICYgfigxIDw8IHdiaXQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChudW0pIHtcXG4gICAgdmFyIHI7XFxuXFxuICAgIC8vIG5lZ2F0aXZlICsgcG9zaXRpdmVcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgXj0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gcG9zaXRpdmUgKyBuZWdhdGl2ZVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgKGIud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGhdID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgLy8gQ29weSB0aGUgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgfSBlbHNlIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAobnVtKSB7XFxuICAgIHZhciByZXM7XFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDAgJiYgdGhpcy5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgcmVzID0gdGhpcy5zdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgXj0gMTtcXG4gICAgICByZXR1cm4gcmVzO1xcbiAgICB9IGVsc2UgaWYgKG51bS5uZWdhdGl2ZSA9PT0gMCAmJiB0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgcmVzID0gbnVtLnN1Yih0aGlzKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gcmVzO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZChudW0pO1xcblxcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFkZCh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlzdWIgPSBmdW5jdGlvbiBpc3ViIChudW0pIHtcXG4gICAgLy8gdGhpcyAtICgtbnVtKSA9IHRoaXMgKyBudW1cXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdmFyIHIgPSB0aGlzLmlhZGQobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyAtdGhpcyAtIG51bSA9IC0odGhpcyArIG51bSlcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pYWRkKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlXFxuICAgIHZhciBjbXAgPSB0aGlzLmNtcChudW0pO1xcblxcbiAgICAvLyBPcHRpbWl6YXRpb24gLSB6ZXJvaWZ5XFxuICAgIGlmIChjbXAgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gYSA+IGJcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmIChjbXAgPiAwKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApIC0gKGIud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gciA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gciA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICAvLyBDb3B5IHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIGlmIChjYXJyeSA9PT0gMCAmJiBpIDwgYS5sZW5ndGggJiYgYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5sZW5ndGgsIGkpO1xcblxcbiAgICBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIobnVtKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBzbWFsbE11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICB2YXIgbGVuID0gKHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aCkgfCAwO1xcbiAgICBvdXQubGVuZ3RoID0gbGVuO1xcbiAgICBsZW4gPSAobGVuIC0gMSkgfCAwO1xcblxcbiAgICAvLyBQZWVsIG9uZSBpdGVyYXRpb24gKGNvbXBpbGVyIGNhbid0IGRvIGl0LCBiZWNhdXNlIG9mIGNvZGUgY29tcGxleGl0eSlcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIGIgPSBudW0ud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xcbiAgICB2YXIgY2FycnkgPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICBvdXQud29yZHNbMF0gPSBsbztcXG5cXG4gICAgZm9yICh2YXIgayA9IDE7IGsgPCBsZW47IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBjYXJyeSA+Pj4gMjY7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSAoayAtIGopIHwgMDtcXG4gICAgICAgIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcXG4gICAgICAgIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgciA9IGEgKiBiICsgcndvcmQ7XFxuICAgICAgICBuY2FycnkgKz0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICB9XFxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQgfCAwO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5IHwgMDtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeSB8IDA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIC8vIFRPRE8oaW5kdXRueSk6IGl0IG1heSBiZSByZWFzb25hYmxlIHRvIG9taXQgaXQgZm9yIHVzZXJzIHdobyBkb24ndCBuZWVkXFxuICAvLyB0byB3b3JrIHdpdGggMjU2LWJpdCBudW1iZXJzLCBvdGhlcndpc2UgaXQgZ2l2ZXMgMjAlIGltcHJvdmVtZW50IGZvciAyNTYtYml0XFxuICAvLyBtdWx0aXBsaWNhdGlvbiAobGlrZSBlbGxpcHRpYyBzZWNwMjU2azEpLlxcbiAgdmFyIGNvbWIxME11bFRvID0gZnVuY3Rpb24gY29tYjEwTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBhID0gc2VsZi53b3JkcztcXG4gICAgdmFyIGIgPSBudW0ud29yZHM7XFxuICAgIHZhciBvID0gb3V0LndvcmRzO1xcbiAgICB2YXIgYyA9IDA7XFxuICAgIHZhciBsbztcXG4gICAgdmFyIG1pZDtcXG4gICAgdmFyIGhpO1xcbiAgICB2YXIgYTAgPSBhWzBdIHwgMDtcXG4gICAgdmFyIGFsMCA9IGEwICYgMHgxZmZmO1xcbiAgICB2YXIgYWgwID0gYTAgPj4+IDEzO1xcbiAgICB2YXIgYTEgPSBhWzFdIHwgMDtcXG4gICAgdmFyIGFsMSA9IGExICYgMHgxZmZmO1xcbiAgICB2YXIgYWgxID0gYTEgPj4+IDEzO1xcbiAgICB2YXIgYTIgPSBhWzJdIHwgMDtcXG4gICAgdmFyIGFsMiA9IGEyICYgMHgxZmZmO1xcbiAgICB2YXIgYWgyID0gYTIgPj4+IDEzO1xcbiAgICB2YXIgYTMgPSBhWzNdIHwgMDtcXG4gICAgdmFyIGFsMyA9IGEzICYgMHgxZmZmO1xcbiAgICB2YXIgYWgzID0gYTMgPj4+IDEzO1xcbiAgICB2YXIgYTQgPSBhWzRdIHwgMDtcXG4gICAgdmFyIGFsNCA9IGE0ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg0ID0gYTQgPj4+IDEzO1xcbiAgICB2YXIgYTUgPSBhWzVdIHwgMDtcXG4gICAgdmFyIGFsNSA9IGE1ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg1ID0gYTUgPj4+IDEzO1xcbiAgICB2YXIgYTYgPSBhWzZdIHwgMDtcXG4gICAgdmFyIGFsNiA9IGE2ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg2ID0gYTYgPj4+IDEzO1xcbiAgICB2YXIgYTcgPSBhWzddIHwgMDtcXG4gICAgdmFyIGFsNyA9IGE3ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg3ID0gYTcgPj4+IDEzO1xcbiAgICB2YXIgYTggPSBhWzhdIHwgMDtcXG4gICAgdmFyIGFsOCA9IGE4ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg4ID0gYTggPj4+IDEzO1xcbiAgICB2YXIgYTkgPSBhWzldIHwgMDtcXG4gICAgdmFyIGFsOSA9IGE5ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg5ID0gYTkgPj4+IDEzO1xcbiAgICB2YXIgYjAgPSBiWzBdIHwgMDtcXG4gICAgdmFyIGJsMCA9IGIwICYgMHgxZmZmO1xcbiAgICB2YXIgYmgwID0gYjAgPj4+IDEzO1xcbiAgICB2YXIgYjEgPSBiWzFdIHwgMDtcXG4gICAgdmFyIGJsMSA9IGIxICYgMHgxZmZmO1xcbiAgICB2YXIgYmgxID0gYjEgPj4+IDEzO1xcbiAgICB2YXIgYjIgPSBiWzJdIHwgMDtcXG4gICAgdmFyIGJsMiA9IGIyICYgMHgxZmZmO1xcbiAgICB2YXIgYmgyID0gYjIgPj4+IDEzO1xcbiAgICB2YXIgYjMgPSBiWzNdIHwgMDtcXG4gICAgdmFyIGJsMyA9IGIzICYgMHgxZmZmO1xcbiAgICB2YXIgYmgzID0gYjMgPj4+IDEzO1xcbiAgICB2YXIgYjQgPSBiWzRdIHwgMDtcXG4gICAgdmFyIGJsNCA9IGI0ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg0ID0gYjQgPj4+IDEzO1xcbiAgICB2YXIgYjUgPSBiWzVdIHwgMDtcXG4gICAgdmFyIGJsNSA9IGI1ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg1ID0gYjUgPj4+IDEzO1xcbiAgICB2YXIgYjYgPSBiWzZdIHwgMDtcXG4gICAgdmFyIGJsNiA9IGI2ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg2ID0gYjYgPj4+IDEzO1xcbiAgICB2YXIgYjcgPSBiWzddIHwgMDtcXG4gICAgdmFyIGJsNyA9IGI3ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg3ID0gYjcgPj4+IDEzO1xcbiAgICB2YXIgYjggPSBiWzhdIHwgMDtcXG4gICAgdmFyIGJsOCA9IGI4ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg4ID0gYjggPj4+IDEzO1xcbiAgICB2YXIgYjkgPSBiWzldIHwgMDtcXG4gICAgdmFyIGJsOSA9IGI5ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg5ID0gYjkgPj4+IDEzO1xcblxcbiAgICBvdXQubmVnYXRpdmUgPSBzZWxmLm5lZ2F0aXZlIF4gbnVtLm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0gMTk7XFxuICAgIC8qIGsgPSAwICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgwLCBiaDApO1xcbiAgICB2YXIgdzAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcwICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwxLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwxLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDEsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMSkpIHwgMDtcXG4gICAgdmFyIHcxID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEgPj4+IDI2KSkgfCAwO1xcbiAgICB3MSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAyICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMiwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMiwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgyLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMikpIHwgMDtcXG4gICAgdmFyIHcyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzIgPj4+IDI2KSkgfCAwO1xcbiAgICB3MiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAzICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgzLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgzKSkgfCAwO1xcbiAgICB2YXIgdzMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MyA+Pj4gMjYpKSB8IDA7XFxuICAgIHczICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw0LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw0LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDQsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNCkpIHwgMDtcXG4gICAgdmFyIHc0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzQgPj4+IDI2KSkgfCAwO1xcbiAgICB3NCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA1ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg1LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNSkpIHwgMDtcXG4gICAgdmFyIHc1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzUgPj4+IDI2KSkgfCAwO1xcbiAgICB3NSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA2ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNiwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNiwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg2LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg2KSkgfCAwO1xcbiAgICB2YXIgdzYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NiA+Pj4gMjYpKSB8IDA7XFxuICAgIHc2ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw3LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw3LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDcsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNykpIHwgMDtcXG4gICAgdmFyIHc3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzcgPj4+IDI2KSkgfCAwO1xcbiAgICB3NyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA4ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg4LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOCkpIHwgMDtcXG4gICAgdmFyIHc4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzggPj4+IDI2KSkgfCAwO1xcbiAgICB3OCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA5ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzkgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OSA+Pj4gMjYpKSB8IDA7XFxuICAgIHc5ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEwICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwxKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgxKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDEpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDIpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgyKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzExID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzExID4+PiAyNikpIHwgMDtcXG4gICAgdzExICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEyICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwzKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgzKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMykpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDMpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEyID4+PiAyNikpIHwgMDtcXG4gICAgdzEyICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEzICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw0KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg0KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDQpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDUpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg1KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE0ID4+PiAyNikpIHwgMDtcXG4gICAgdzE0ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE1ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw2KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg2KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNikpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDYpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE1ID4+PiAyNikpIHwgMDtcXG4gICAgdzE1ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE2ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw3KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg3KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNykpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDcpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDgpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg4KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE3ID4+PiAyNikpIHwgMDtcXG4gICAgdzE3ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE4ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw5KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg5KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDkpO1xcbiAgICB2YXIgdzE4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE4ID4+PiAyNikpIHwgMDtcXG4gICAgdzE4ICY9IDB4M2ZmZmZmZjtcXG4gICAgb1swXSA9IHcwO1xcbiAgICBvWzFdID0gdzE7XFxuICAgIG9bMl0gPSB3MjtcXG4gICAgb1szXSA9IHczO1xcbiAgICBvWzRdID0gdzQ7XFxuICAgIG9bNV0gPSB3NTtcXG4gICAgb1s2XSA9IHc2O1xcbiAgICBvWzddID0gdzc7XFxuICAgIG9bOF0gPSB3ODtcXG4gICAgb1s5XSA9IHc5O1xcbiAgICBvWzEwXSA9IHcxMDtcXG4gICAgb1sxMV0gPSB3MTE7XFxuICAgIG9bMTJdID0gdzEyO1xcbiAgICBvWzEzXSA9IHcxMztcXG4gICAgb1sxNF0gPSB3MTQ7XFxuICAgIG9bMTVdID0gdzE1O1xcbiAgICBvWzE2XSA9IHcxNjtcXG4gICAgb1sxN10gPSB3MTc7XFxuICAgIG9bMThdID0gdzE4O1xcbiAgICBpZiAoYyAhPT0gMCkge1xcbiAgICAgIG9bMTldID0gYztcXG4gICAgICBvdXQubGVuZ3RoKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIG91dDtcXG4gIH07XFxuXFxuICAvLyBQb2x5ZmlsbCBjb21iXFxuICBpZiAoIU1hdGguaW11bCkge1xcbiAgICBjb21iMTBNdWxUbyA9IHNtYWxsTXVsVG87XFxuICB9XFxuXFxuICBmdW5jdGlvbiBiaWdNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgdmFyIGhuY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBrID0gMDsgayA8IG91dC5sZW5ndGggLSAxOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gaG5jYXJyeTtcXG4gICAgICBobmNhcnJ5ID0gMDtcXG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcXG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XFxuICAgICAgICB2YXIgaSA9IGsgLSBqO1xcbiAgICAgICAgdmFyIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcXG4gICAgICAgIHZhciBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHZhciByID0gYSAqIGI7XFxuXFxuICAgICAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArICgociAvIDB4NDAwMDAwMCkgfCAwKSkgfCAwO1xcbiAgICAgICAgbG8gPSAobG8gKyByd29yZCkgfCAwO1xcbiAgICAgICAgcndvcmQgPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAobG8gPj4+IDI2KSkgfCAwO1xcblxcbiAgICAgICAgaG5jYXJyeSArPSBuY2FycnkgPj4+IDI2O1xcbiAgICAgICAgbmNhcnJ5ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB9XFxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQ7XFxuICAgICAgY2FycnkgPSBuY2Fycnk7XFxuICAgICAgbmNhcnJ5ID0gaG5jYXJyeTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQubGVuZ3RoLS07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24ganVtYm9NdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgdmFyIGZmdG0gPSBuZXcgRkZUTSgpO1xcbiAgICByZXR1cm4gZmZ0bS5tdWxwKHNlbGYsIG51bSwgb3V0KTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxUbyA9IGZ1bmN0aW9uIG11bFRvIChudW0sIG91dCkge1xcbiAgICB2YXIgcmVzO1xcbiAgICB2YXIgbGVuID0gdGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEwICYmIG51bS5sZW5ndGggPT09IDEwKSB7XFxuICAgICAgcmVzID0gY29tYjEwTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDYzKSB7XFxuICAgICAgcmVzID0gc21hbGxNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgMTAyNCkge1xcbiAgICAgIHJlcyA9IGJpZ011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvb2xleS1UdWtleSBhbGdvcml0aG0gZm9yIEZGVFxcbiAgLy8gc2xpZ2h0bHkgcmV2aXNpdGVkIHRvIHJlbHkgb24gbG9vcGluZyBpbnN0ZWFkIG9mIHJlY3Vyc2lvblxcblxcbiAgZnVuY3Rpb24gRkZUTSAoeCwgeSkge1xcbiAgICB0aGlzLnggPSB4O1xcbiAgICB0aGlzLnkgPSB5O1xcbiAgfVxcblxcbiAgRkZUTS5wcm90b3R5cGUubWFrZVJCVCA9IGZ1bmN0aW9uIG1ha2VSQlQgKE4pIHtcXG4gICAgdmFyIHQgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBsID0gQk4ucHJvdG90eXBlLl9jb3VudEJpdHMoTikgLSAxO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHRbaV0gPSB0aGlzLnJldkJpbihpLCBsLCBOKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm5zIGJpbmFyeS1yZXZlcnNlZCByZXByZXNlbnRhdGlvbiBvZiBgeGBcXG4gIEZGVE0ucHJvdG90eXBlLnJldkJpbiA9IGZ1bmN0aW9uIHJldkJpbiAoeCwgbCwgTikge1xcbiAgICBpZiAoeCA9PT0gMCB8fCB4ID09PSBOIC0gMSkgcmV0dXJuIHg7XFxuXFxuICAgIHZhciByYiA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbDsgaSsrKSB7XFxuICAgICAgcmIgfD0gKHggJiAxKSA8PCAobCAtIGkgLSAxKTtcXG4gICAgICB4ID4+PSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByYjtcXG4gIH07XFxuXFxuICAvLyBQZXJmb3JtcyBcXFwidHdlZWRsaW5nXFxcIiBwaGFzZSwgdGhlcmVmb3JlICdlbXVsYXRpbmcnXFxuICAvLyBiZWhhdmlvdXIgb2YgdGhlIHJlY3Vyc2l2ZSBhbGdvcml0aG1cXG4gIEZGVE0ucHJvdG90eXBlLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlIChyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcnR3c1tpXSA9IHJ3c1tyYnRbaV1dO1xcbiAgICAgIGl0d3NbaV0gPSBpd3NbcmJ0W2ldXTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIHRyYW5zZm9ybSAocndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4sIHJidCkge1xcbiAgICB0aGlzLnBlcm11dGUocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTik7XFxuXFxuICAgIGZvciAodmFyIHMgPSAxOyBzIDwgTjsgcyA8PD0gMSkge1xcbiAgICAgIHZhciBsID0gcyA8PCAxO1xcblxcbiAgICAgIHZhciBydHdkZiA9IE1hdGguY29zKDIgKiBNYXRoLlBJIC8gbCk7XFxuICAgICAgdmFyIGl0d2RmID0gTWF0aC5zaW4oMiAqIE1hdGguUEkgLyBsKTtcXG5cXG4gICAgICBmb3IgKHZhciBwID0gMDsgcCA8IE47IHAgKz0gbCkge1xcbiAgICAgICAgdmFyIHJ0d2RmXyA9IHJ0d2RmO1xcbiAgICAgICAgdmFyIGl0d2RmXyA9IGl0d2RmO1xcblxcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzOyBqKyspIHtcXG4gICAgICAgICAgdmFyIHJlID0gcnR3c1twICsgal07XFxuICAgICAgICAgIHZhciBpZSA9IGl0d3NbcCArIGpdO1xcblxcbiAgICAgICAgICB2YXIgcm8gPSBydHdzW3AgKyBqICsgc107XFxuICAgICAgICAgIHZhciBpbyA9IGl0d3NbcCArIGogKyBzXTtcXG5cXG4gICAgICAgICAgdmFyIHJ4ID0gcnR3ZGZfICogcm8gLSBpdHdkZl8gKiBpbztcXG5cXG4gICAgICAgICAgaW8gPSBydHdkZl8gKiBpbyArIGl0d2RmXyAqIHJvO1xcbiAgICAgICAgICBybyA9IHJ4O1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqXSA9IHJlICsgcm87XFxuICAgICAgICAgIGl0d3NbcCArIGpdID0gaWUgKyBpbztcXG5cXG4gICAgICAgICAgcnR3c1twICsgaiArIHNdID0gcmUgLSBybztcXG4gICAgICAgICAgaXR3c1twICsgaiArIHNdID0gaWUgLSBpbztcXG5cXG4gICAgICAgICAgLyoganNoaW50IG1heGRlcHRoIDogZmFsc2UgKi9cXG4gICAgICAgICAgaWYgKGogIT09IGwpIHtcXG4gICAgICAgICAgICByeCA9IHJ0d2RmICogcnR3ZGZfIC0gaXR3ZGYgKiBpdHdkZl87XFxuXFxuICAgICAgICAgICAgaXR3ZGZfID0gcnR3ZGYgKiBpdHdkZl8gKyBpdHdkZiAqIHJ0d2RmXztcXG4gICAgICAgICAgICBydHdkZl8gPSByeDtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiID0gZnVuY3Rpb24gZ3Vlc3NMZW4xM2IgKG4sIG0pIHtcXG4gICAgdmFyIE4gPSBNYXRoLm1heChtLCBuKSB8IDE7XFxuICAgIHZhciBvZGQgPSBOICYgMTtcXG4gICAgdmFyIGkgPSAwO1xcbiAgICBmb3IgKE4gPSBOIC8gMiB8IDA7IE47IE4gPSBOID4+PiAxKSB7XFxuICAgICAgaSsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiAxIDw8IGkgKyAxICsgb2RkO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZSA9IGZ1bmN0aW9uIGNvbmp1Z2F0ZSAocndzLCBpd3MsIE4pIHtcXG4gICAgaWYgKE4gPD0gMSkgcmV0dXJuO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdCA9IHJ3c1tpXTtcXG5cXG4gICAgICByd3NbaV0gPSByd3NbTiAtIGkgLSAxXTtcXG4gICAgICByd3NbTiAtIGkgLSAxXSA9IHQ7XFxuXFxuICAgICAgdCA9IGl3c1tpXTtcXG5cXG4gICAgICBpd3NbaV0gPSAtaXdzW04gLSBpIC0gMV07XFxuICAgICAgaXdzW04gLSBpIC0gMV0gPSAtdDtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYiA9IGZ1bmN0aW9uIG5vcm1hbGl6ZTEzYiAod3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBNYXRoLnJvdW5kKHdzWzIgKiBpICsgMV0gLyBOKSAqIDB4MjAwMCArXFxuICAgICAgICBNYXRoLnJvdW5kKHdzWzIgKiBpXSAvIE4pICtcXG4gICAgICAgIGNhcnJ5O1xcblxcbiAgICAgIHdzW2ldID0gdyAmIDB4M2ZmZmZmZjtcXG5cXG4gICAgICBpZiAodyA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgY2FycnkgPSAwO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXJyeSA9IHcgLyAweDQwMDAwMDAgfCAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gd3M7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29udmVydDEzYiA9IGZ1bmN0aW9uIGNvbnZlcnQxM2IgKHdzLCBsZW4sIHJ3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgY2FycnkgPSBjYXJyeSArICh3c1tpXSB8IDApO1xcblxcbiAgICAgIHJ3c1syICogaV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgICAgcndzWzIgKiBpICsgMV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgIH1cXG5cXG4gICAgLy8gUGFkIHdpdGggemVyb2VzXFxuICAgIGZvciAoaSA9IDIgKiBsZW47IGkgPCBOOyArK2kpIHtcXG4gICAgICByd3NbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChjYXJyeSA9PT0gMCk7XFxuICAgIGFzc2VydCgoY2FycnkgJiB+MHgxZmZmKSA9PT0gMCk7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuc3R1YiA9IGZ1bmN0aW9uIHN0dWIgKE4pIHtcXG4gICAgdmFyIHBoID0gbmV3IEFycmF5KE4pO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHBoW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcGg7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubXVscCA9IGZ1bmN0aW9uIG11bHAgKHgsIHksIG91dCkge1xcbiAgICB2YXIgTiA9IDIgKiB0aGlzLmd1ZXNzTGVuMTNiKHgubGVuZ3RoLCB5Lmxlbmd0aCk7XFxuXFxuICAgIHZhciByYnQgPSB0aGlzLm1ha2VSQlQoTik7XFxuXFxuICAgIHZhciBfID0gdGhpcy5zdHViKE4pO1xcblxcbiAgICB2YXIgcndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgcndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGl3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBucndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbnJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBuaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIHJtd3MgPSBvdXQud29yZHM7XFxuICAgIHJtd3MubGVuZ3RoID0gTjtcXG5cXG4gICAgdGhpcy5jb252ZXJ0MTNiKHgud29yZHMsIHgubGVuZ3RoLCByd3MsIE4pO1xcbiAgICB0aGlzLmNvbnZlcnQxM2IoeS53b3JkcywgeS5sZW5ndGgsIG5yd3MsIE4pO1xcblxcbiAgICB0aGlzLnRyYW5zZm9ybShyd3MsIF8sIHJ3c3QsIGl3c3QsIE4sIHJidCk7XFxuICAgIHRoaXMudHJhbnNmb3JtKG5yd3MsIF8sIG5yd3N0LCBuaXdzdCwgTiwgcmJ0KTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB2YXIgcnggPSByd3N0W2ldICogbnJ3c3RbaV0gLSBpd3N0W2ldICogbml3c3RbaV07XFxuICAgICAgaXdzdFtpXSA9IHJ3c3RbaV0gKiBuaXdzdFtpXSArIGl3c3RbaV0gKiBucndzdFtpXTtcXG4gICAgICByd3N0W2ldID0gcng7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5jb25qdWdhdGUocndzdCwgaXdzdCwgTik7XFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3c3QsIGl3c3QsIHJtd3MsIF8sIE4sIHJidCk7XFxuICAgIHRoaXMuY29uanVnYXRlKHJtd3MsIF8sIE4pO1xcbiAgICB0aGlzLm5vcm1hbGl6ZTEzYihybXdzLCBOKTtcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0geC5uZWdhdGl2ZSBeIHkubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSB4Lmxlbmd0aCArIHkubGVuZ3RoO1xcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgYHRoaXNgIGJ5IGBudW1gXFxuICBCTi5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiB0aGlzLm11bFRvKG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBNdWx0aXBseSBlbXBsb3lpbmcgRkZUXFxuICBCTi5wcm90b3R5cGUubXVsZiA9IGZ1bmN0aW9uIG11bGYgKG51bSkge1xcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcXG4gICAgcmV0dXJuIGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIE11bHRpcGxpY2F0aW9uXFxuICBCTi5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKG51bSwgdGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmltdWxuID0gZnVuY3Rpb24gaW11bG4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICogbnVtO1xcbiAgICAgIHZhciBsbyA9ICh3ICYgMHgzZmZmZmZmKSArIChjYXJyeSAmIDB4M2ZmZmZmZik7XFxuICAgICAgY2FycnkgPj49IDI2O1xcbiAgICAgIGNhcnJ5ICs9ICh3IC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgLy8gTk9URTogbG8gaXMgMjdiaXQgbWF4aW11bVxcbiAgICAgIGNhcnJ5ICs9IGxvID4+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm11bG4gPSBmdW5jdGlvbiBtdWxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIGB0aGlzYCAqIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoKSB7XFxuICAgIHJldHVybiB0aGlzLm11bCh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3FyID0gZnVuY3Rpb24gaXNxciAoKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICAvLyBNYXRoLnBvdyhgdGhpc2AsIGBudW1gKVxcbiAgQk4ucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAobnVtKSB7XFxuICAgIHZhciB3ID0gdG9CaXRBcnJheShudW0pO1xcbiAgICBpZiAody5sZW5ndGggPT09IDApIHJldHVybiBuZXcgQk4oMSk7XFxuXFxuICAgIC8vIFNraXAgbGVhZGluZyB6ZXJvZXNcXG4gICAgdmFyIHJlcyA9IHRoaXM7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdy5sZW5ndGg7IGkrKywgcmVzID0gcmVzLnNxcigpKSB7XFxuICAgICAgaWYgKHdbaV0gIT09IDApIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIGlmICgrK2kgPCB3Lmxlbmd0aCkge1xcbiAgICAgIGZvciAodmFyIHEgPSByZXMuc3FyKCk7IGkgPCB3Lmxlbmd0aDsgaSsrLCBxID0gcS5zcXIoKSkge1xcbiAgICAgICAgaWYgKHdbaV0gPT09IDApIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gcmVzLm11bChxKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0IGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVzaGxuID0gZnVuY3Rpb24gaXVzaGxuIChiaXRzKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xcbiAgICB2YXIgY2FycnlNYXNrID0gKDB4M2ZmZmZmZiA+Pj4gKDI2IC0gcikpIDw8ICgyNiAtIHIpO1xcbiAgICB2YXIgaTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgbmV3Q2FycnkgPSB0aGlzLndvcmRzW2ldICYgY2FycnlNYXNrO1xcbiAgICAgICAgdmFyIGMgPSAoKHRoaXMud29yZHNbaV0gfCAwKSAtIG5ld0NhcnJ5KSA8PCByO1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGMgfCBjYXJyeTtcXG4gICAgICAgIGNhcnJ5ID0gbmV3Q2FycnkgPj4+ICgyNiAtIHIpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoY2FycnkpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChzICE9PSAwKSB7XFxuICAgICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgc10gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgczsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5sZW5ndGggKz0gcztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc2hsbiA9IGZ1bmN0aW9uIGlzaGxuIChiaXRzKSB7XFxuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodCBpbi1wbGFjZVxcbiAgLy8gTk9URTogYGhpbnRgIGlzIGEgbG93ZXN0IGJpdCBiZWZvcmUgdHJhaWxpbmcgemVyb2VzXFxuICAvLyBOT1RFOiBpZiBgZXh0ZW5kZWRgIGlzIHByZXNlbnQgLSBpdCB3aWxsIGJlIGZpbGxlZCB3aXRoIGRlc3Ryb3llZCBiaXRzXFxuICBCTi5wcm90b3R5cGUuaXVzaHJuID0gZnVuY3Rpb24gaXVzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciBoO1xcbiAgICBpZiAoaGludCkge1xcbiAgICAgIGggPSAoaGludCAtIChoaW50ICUgMjYpKSAvIDI2O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGggPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IE1hdGgubWluKChiaXRzIC0gcikgLyAyNiwgdGhpcy5sZW5ndGgpO1xcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgdmFyIG1hc2tlZFdvcmRzID0gZXh0ZW5kZWQ7XFxuXFxuICAgIGggLT0gcztcXG4gICAgaCA9IE1hdGgubWF4KDAsIGgpO1xcblxcbiAgICAvLyBFeHRlbmRlZCBtb2RlLCBjb3B5IG1hc2tlZCBwYXJ0XFxuICAgIGlmIChtYXNrZWRXb3Jkcykge1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgczsgaSsrKSB7XFxuICAgICAgICBtYXNrZWRXb3Jkcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XFxuICAgICAgfVxcbiAgICAgIG1hc2tlZFdvcmRzLmxlbmd0aCA9IHM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHMgPT09IDApIHtcXG4gICAgICAvLyBOby1vcCwgd2Ugc2hvdWxkIG5vdCBtb3ZlIGFueXRoaW5nIGF0IGFsbFxcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gcykge1xcbiAgICAgIHRoaXMubGVuZ3RoIC09IHM7XFxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2kgKyBzXTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwICYmIChjYXJyeSAhPT0gMCB8fCBpID49IGgpOyBpLS0pIHtcXG4gICAgICB2YXIgd29yZCA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAoY2FycnkgPDwgKDI2IC0gcikpIHwgKHdvcmQgPj4+IHIpO1xcbiAgICAgIGNhcnJ5ID0gd29yZCAmIG1hc2s7XFxuICAgIH1cXG5cXG4gICAgLy8gUHVzaCBjYXJyaWVkIGJpdHMgYXMgYSBtYXNrXFxuICAgIGlmIChtYXNrZWRXb3JkcyAmJiBjYXJyeSAhPT0gMCkge1xcbiAgICAgIG1hc2tlZFdvcmRzLndvcmRzW21hc2tlZFdvcmRzLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc2hybiA9IGZ1bmN0aW9uIGlzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNocm4oYml0cywgaGludCwgZXh0ZW5kZWQpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnRcXG4gIEJOLnByb3RvdHlwZS5zaGxuID0gZnVuY3Rpb24gc2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hsbiA9IGZ1bmN0aW9uIHVzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0XFxuICBCTi5wcm90b3R5cGUuc2hybiA9IGZ1bmN0aW9uIHNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNocm4gPSBmdW5jdGlvbiB1c2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBUZXN0IGlmIG4gYml0IGlzIHNldFxcbiAgQk4ucHJvdG90eXBlLnRlc3RuID0gZnVuY3Rpb24gdGVzdG4gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHJldHVybiBmYWxzZTtcXG5cXG4gICAgLy8gQ2hlY2sgYml0IGFuZCByZXR1cm5cXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3NdO1xcblxcbiAgICByZXR1cm4gISEodyAmIHEpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlciAoaW4tcGxhY2UpXFxuICBCTi5wcm90b3R5cGUuaW1hc2tuID0gZnVuY3Rpb24gaW1hc2tuIChiaXRzKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xcblxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ2ltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycycpO1xcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICB9XFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5taW4ocywgdGhpcy5sZW5ndGgpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSAmPSBtYXNrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyXFxuICBCTi5wcm90b3R5cGUubWFza24gPSBmdW5jdGlvbiBtYXNrbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgcGxhaW4gbnVtYmVyIGBudW1gIHRvIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlhZGRuID0gZnVuY3Rpb24gaWFkZG4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlzdWJuKC1udW0pO1xcblxcbiAgICAvLyBQb3NzaWJsZSBzaWduIGNoYW5nZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiAodGhpcy53b3Jkc1swXSB8IDApIDwgbnVtKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdID0gbnVtIC0gKHRoaXMud29yZHNbMF0gfCAwKTtcXG4gICAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaXN1Ym4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgd2l0aG91dCBjaGVja3NcXG4gICAgcmV0dXJuIHRoaXMuX2lhZGRuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pYWRkbiA9IGZ1bmN0aW9uIF9pYWRkbiAobnVtKSB7XFxuICAgIHRoaXMud29yZHNbMF0gKz0gbnVtO1xcblxcbiAgICAvLyBDYXJyeVxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPj0gMHg0MDAwMDAwOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldIC09IDB4NDAwMDAwMDtcXG4gICAgICBpZiAoaSA9PT0gdGhpcy5sZW5ndGggLSAxKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSA9IDE7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdKys7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5sZW5ndGgsIGkgKyAxKTtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgcGxhaW4gbnVtYmVyIGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuaXN1Ym4gPSBmdW5jdGlvbiBpc3VibiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaWFkZG4oLW51bSk7XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pYWRkbihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHRoaXMud29yZHNbMF0gLT0gbnVtO1xcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA8IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gLXRoaXMud29yZHNbMF07XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gQ2FycnlcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPCAwOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gKz0gMHg0MDAwMDAwO1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gLT0gMTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWRkbiA9IGZ1bmN0aW9uIGFkZG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnN1Ym4gPSBmdW5jdGlvbiBzdWJuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pYWJzID0gZnVuY3Rpb24gaWFicyAoKSB7XFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWJzID0gZnVuY3Rpb24gYWJzICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pc2hsbnN1Ym11bCA9IGZ1bmN0aW9uIF9pc2hsbnN1Ym11bCAobnVtLCBtdWwsIHNoaWZ0KSB7XFxuICAgIHZhciBsZW4gPSBudW0ubGVuZ3RoICsgc2hpZnQ7XFxuICAgIHZhciBpO1xcblxcbiAgICB0aGlzLl9leHBhbmQobGVuKTtcXG5cXG4gICAgdmFyIHc7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgdmFyIHJpZ2h0ID0gKG51bS53b3Jkc1tpXSB8IDApICogbXVsO1xcbiAgICAgIHcgLT0gcmlnaHQgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSAodyA+PiAyNikgLSAoKHJpZ2h0IC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGkgPCB0aGlzLmxlbmd0aCAtIHNoaWZ0OyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ID09PSAwKSByZXR1cm4gdGhpcy5zdHJpcCgpO1xcblxcbiAgICAvLyBTdWJ0cmFjdGlvbiBvdmVyZmxvd1xcbiAgICBhc3NlcnQoY2FycnkgPT09IC0xKTtcXG4gICAgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHcgPSAtKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX3dvcmREaXYgPSBmdW5jdGlvbiBfd29yZERpdiAobnVtLCBtb2RlKSB7XFxuICAgIHZhciBzaGlmdCA9IHRoaXMubGVuZ3RoIC0gbnVtLmxlbmd0aDtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtO1xcblxcbiAgICAvLyBOb3JtYWxpemVcXG4gICAgdmFyIGJoaSA9IGIud29yZHNbYi5sZW5ndGggLSAxXSB8IDA7XFxuICAgIHZhciBiaGlCaXRzID0gdGhpcy5fY291bnRCaXRzKGJoaSk7XFxuICAgIHNoaWZ0ID0gMjYgLSBiaGlCaXRzO1xcbiAgICBpZiAoc2hpZnQgIT09IDApIHtcXG4gICAgICBiID0gYi51c2hsbihzaGlmdCk7XFxuICAgICAgYS5pdXNobG4oc2hpZnQpO1xcbiAgICAgIGJoaSA9IGIud29yZHNbYi5sZW5ndGggLSAxXSB8IDA7XFxuICAgIH1cXG5cXG4gICAgLy8gSW5pdGlhbGl6ZSBxdW90aWVudFxcbiAgICB2YXIgbSA9IGEubGVuZ3RoIC0gYi5sZW5ndGg7XFxuICAgIHZhciBxO1xcblxcbiAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICBxID0gbmV3IEJOKG51bGwpO1xcbiAgICAgIHEubGVuZ3RoID0gbSArIDE7XFxuICAgICAgcS53b3JkcyA9IG5ldyBBcnJheShxLmxlbmd0aCk7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICBxLndvcmRzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGRpZmYgPSBhLmNsb25lKCkuX2lzaGxuc3VibXVsKGIsIDEsIG0pO1xcbiAgICBpZiAoZGlmZi5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIGEgPSBkaWZmO1xcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW21dID0gMTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaiA9IG0gLSAxOyBqID49IDA7IGotLSkge1xcbiAgICAgIHZhciBxaiA9IChhLndvcmRzW2IubGVuZ3RoICsgal0gfCAwKSAqIDB4NDAwMDAwMCArXFxuICAgICAgICAoYS53b3Jkc1tiLmxlbmd0aCArIGogLSAxXSB8IDApO1xcblxcbiAgICAgIC8vIE5PVEU6IChxaiAvIGJoaSkgaXMgKDB4M2ZmZmZmZiAqIDB4NDAwMDAwMCArIDB4M2ZmZmZmZikgLyAweDIwMDAwMDAgbWF4XFxuICAgICAgLy8gKDB4N2ZmZmZmZilcXG4gICAgICBxaiA9IE1hdGgubWluKChxaiAvIGJoaSkgfCAwLCAweDNmZmZmZmYpO1xcblxcbiAgICAgIGEuX2lzaGxuc3VibXVsKGIsIHFqLCBqKTtcXG4gICAgICB3aGlsZSAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgcWotLTtcXG4gICAgICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICAgICAgYS5faXNobG5zdWJtdWwoYiwgMSwgaik7XFxuICAgICAgICBpZiAoIWEuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgYS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1tqXSA9IHFqO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAocSkge1xcbiAgICAgIHEuc3RyaXAoKTtcXG4gICAgfVxcbiAgICBhLnN0cmlwKCk7XFxuXFxuICAgIC8vIERlbm9ybWFsaXplXFxuICAgIGlmIChtb2RlICE9PSAnZGl2JyAmJiBzaGlmdCAhPT0gMCkge1xcbiAgICAgIGEuaXVzaHJuKHNoaWZ0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4ge1xcbiAgICAgIGRpdjogcSB8fCBudWxsLFxcbiAgICAgIG1vZDogYVxcbiAgICB9O1xcbiAgfTtcXG5cXG4gIC8vIE5PVEU6IDEpIGBtb2RlYCBjYW4gYmUgc2V0IHRvIGBtb2RgIHRvIHJlcXVlc3QgbW9kIG9ubHksXFxuICAvLyAgICAgICB0byBgZGl2YCB0byByZXF1ZXN0IGRpdiBvbmx5LCBvciBiZSBhYnNlbnQgdG9cXG4gIC8vICAgICAgIHJlcXVlc3QgYm90aCBkaXYgJiBtb2RcXG4gIC8vICAgICAgIDIpIGBwb3NpdGl2ZWAgaXMgdHJ1ZSBpZiB1bnNpZ25lZCBtb2QgaXMgcmVxdWVzdGVkXFxuICBCTi5wcm90b3R5cGUuZGl2bW9kID0gZnVuY3Rpb24gZGl2bW9kIChudW0sIG1vZGUsIHBvc2l0aXZlKSB7XFxuICAgIGFzc2VydCghbnVtLmlzWmVybygpKTtcXG5cXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXFxuICAgICAgICBtb2Q6IG5ldyBCTigwKVxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgdmFyIGRpdiwgbW9kLCByZXM7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcXG4gICAgICAgIG1vZCA9IHJlcy5tb2QubmVnKCk7XFxuICAgICAgICBpZiAocG9zaXRpdmUgJiYgbW9kLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICAgIG1vZC5pYWRkKG51bSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogbW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogZGl2LFxcbiAgICAgICAgbW9kOiByZXMubW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICBpZiAoKHRoaXMubmVnYXRpdmUgJiBudW0ubmVnYXRpdmUpICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcXG4gICAgICAgIG1vZCA9IHJlcy5tb2QubmVnKCk7XFxuICAgICAgICBpZiAocG9zaXRpdmUgJiYgbW9kLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICAgIG1vZC5pc3ViKG51bSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHJlcy5kaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gQm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZSBhdCB0aGlzIHBvaW50XFxuXFxuICAgIC8vIFN0cmlwIGJvdGggbnVtYmVycyB0byBhcHByb3hpbWF0ZSBzaGlmdCB2YWx1ZVxcbiAgICBpZiAobnVtLmxlbmd0aCA+IHRoaXMubGVuZ3RoIHx8IHRoaXMuY21wKG51bSkgPCAwKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiB0aGlzXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICAvLyBWZXJ5IHNob3J0IHJlZHVjdGlvblxcbiAgICBpZiAobnVtLmxlbmd0aCA9PT0gMSkge1xcbiAgICAgIGlmIChtb2RlID09PSAnZGl2Jykge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcXG4gICAgICAgICAgbW9kOiBudWxsXFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobW9kZSA9PT0gJ21vZCcpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogbnVsbCxcXG4gICAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpXFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcXG4gICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3dvcmREaXYobnVtLCBtb2RlKTtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAvIGBudW1gXFxuICBCTi5wcm90b3R5cGUuZGl2ID0gZnVuY3Rpb24gZGl2IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ2RpdicsIGZhbHNlKS5kaXY7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgJSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm1vZCA9IGZ1bmN0aW9uIG1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCBmYWxzZSkubW9kO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51bW9kID0gZnVuY3Rpb24gdW1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCB0cnVlKS5tb2Q7XFxuICB9O1xcblxcbiAgLy8gRmluZCBSb3VuZChgdGhpc2AgLyBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5kaXZSb3VuZCA9IGZ1bmN0aW9uIGRpdlJvdW5kIChudW0pIHtcXG4gICAgdmFyIGRtID0gdGhpcy5kaXZtb2QobnVtKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlIC0gZXhhY3QgZGl2aXNpb25cXG4gICAgaWYgKGRtLm1vZC5pc1plcm8oKSkgcmV0dXJuIGRtLmRpdjtcXG5cXG4gICAgdmFyIG1vZCA9IGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLm1vZC5pc3ViKG51bSkgOiBkbS5tb2Q7XFxuXFxuICAgIHZhciBoYWxmID0gbnVtLnVzaHJuKDEpO1xcbiAgICB2YXIgcjIgPSBudW0uYW5kbG4oMSk7XFxuICAgIHZhciBjbXAgPSBtb2QuY21wKGhhbGYpO1xcblxcbiAgICAvLyBSb3VuZCBkb3duXFxuICAgIGlmIChjbXAgPCAwIHx8IHIyID09PSAxICYmIGNtcCA9PT0gMCkgcmV0dXJuIGRtLmRpdjtcXG5cXG4gICAgLy8gUm91bmQgdXBcXG4gICAgcmV0dXJuIGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLmRpdi5pc3VibigxKSA6IGRtLmRpdi5pYWRkbigxKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubW9kbiA9IGZ1bmN0aW9uIG1vZG4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuICAgIHZhciBwID0gKDEgPDwgMjYpICUgbnVtO1xcblxcbiAgICB2YXIgYWNjID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICBhY2MgPSAocCAqIGFjYyArICh0aGlzLndvcmRzW2ldIHwgMCkpICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBhY2M7XFxuICB9O1xcblxcbiAgLy8gSW4tcGxhY2UgZGl2aXNpb24gYnkgbnVtYmVyXFxuICBCTi5wcm90b3R5cGUuaWRpdm4gPSBmdW5jdGlvbiBpZGl2biAobnVtKSB7XFxuICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmKTtcXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeSAqIDB4NDAwMDAwMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKHcgLyBudW0pIHwgMDtcXG4gICAgICBjYXJyeSA9IHcgJSBudW07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZGl2biA9IGZ1bmN0aW9uIGRpdm4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVnY2QgPSBmdW5jdGlvbiBlZ2NkIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIHggPSB0aGlzO1xcbiAgICB2YXIgeSA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKHgubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB4ID0geC51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHggPSB4LmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gQSAqIHggKyBCICogeSA9IHhcXG4gICAgdmFyIEEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciBCID0gbmV3IEJOKDApO1xcblxcbiAgICAvLyBDICogeCArIEQgKiB5ID0geVxcbiAgICB2YXIgQyA9IG5ldyBCTigwKTtcXG4gICAgdmFyIEQgPSBuZXcgQk4oMSk7XFxuXFxuICAgIHZhciBnID0gMDtcXG5cXG4gICAgd2hpbGUgKHguaXNFdmVuKCkgJiYgeS5pc0V2ZW4oKSkge1xcbiAgICAgIHguaXVzaHJuKDEpO1xcbiAgICAgIHkuaXVzaHJuKDEpO1xcbiAgICAgICsrZztcXG4gICAgfVxcblxcbiAgICB2YXIgeXAgPSB5LmNsb25lKCk7XFxuICAgIHZhciB4cCA9IHguY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKCF4LmlzWmVybygpKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKHgud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIHguaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEEuaXNPZGQoKSB8fCBCLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBBLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEIuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQS5pdXNocm4oMSk7XFxuICAgICAgICAgIEIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoeS53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgeS5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQy5pc09kZCgpIHx8IEQuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEMuaWFkZCh5cCk7XFxuICAgICAgICAgICAgRC5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBDLml1c2hybigxKTtcXG4gICAgICAgICAgRC5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh4LmNtcCh5KSA+PSAwKSB7XFxuICAgICAgICB4LmlzdWIoeSk7XFxuICAgICAgICBBLmlzdWIoQyk7XFxuICAgICAgICBCLmlzdWIoRCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHkuaXN1Yih4KTtcXG4gICAgICAgIEMuaXN1YihBKTtcXG4gICAgICAgIEQuaXN1YihCKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBhOiBDLFxcbiAgICAgIGI6IEQsXFxuICAgICAgZ2NkOiB5Lml1c2hsbihnKVxcbiAgICB9O1xcbiAgfTtcXG5cXG4gIC8vIFRoaXMgaXMgcmVkdWNlZCBpbmNhcm5hdGlvbiBvZiB0aGUgYmluYXJ5IEVFQVxcbiAgLy8gYWJvdmUsIGRlc2lnbmF0ZWQgdG8gaW52ZXJ0IG1lbWJlcnMgb2YgdGhlXFxuICAvLyBfcHJpbWVfIGZpZWxkcyBGKHApIGF0IGEgbWF4aW1hbCBzcGVlZFxcbiAgQk4ucHJvdG90eXBlLl9pbnZtcCA9IGZ1bmN0aW9uIF9pbnZtcCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBhID0gdGhpcztcXG4gICAgdmFyIGIgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgYSA9IGEudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gYS5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIHZhciB4MSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIHgyID0gbmV3IEJOKDApO1xcblxcbiAgICB2YXIgZGVsdGEgPSBiLmNsb25lKCk7XFxuXFxuICAgIHdoaWxlIChhLmNtcG4oMSkgPiAwICYmIGIuY21wbigxKSA+IDApIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoYS53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgYS5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDEuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgxLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgxLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKGIud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIGIuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgyLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4Mi5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4Mi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhLmNtcChiKSA+PSAwKSB7XFxuICAgICAgICBhLmlzdWIoYik7XFxuICAgICAgICB4MS5pc3ViKHgyKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgYi5pc3ViKGEpO1xcbiAgICAgICAgeDIuaXN1Yih4MSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciByZXM7XFxuICAgIGlmIChhLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICByZXMgPSB4MTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSB4MjtcXG4gICAgfVxcblxcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQocCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ2NkID0gZnVuY3Rpb24gZ2NkIChudW0pIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiBudW0uYWJzKCk7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiB0aGlzLmFicygpO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW0uY2xvbmUoKTtcXG4gICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgIGIubmVnYXRpdmUgPSAwO1xcblxcbiAgICAvLyBSZW1vdmUgY29tbW9uIGZhY3RvciBvZiB0d29cXG4gICAgZm9yICh2YXIgc2hpZnQgPSAwOyBhLmlzRXZlbigpICYmIGIuaXNFdmVuKCk7IHNoaWZ0KyspIHtcXG4gICAgICBhLml1c2hybigxKTtcXG4gICAgICBiLml1c2hybigxKTtcXG4gICAgfVxcblxcbiAgICBkbyB7XFxuICAgICAgd2hpbGUgKGEuaXNFdmVuKCkpIHtcXG4gICAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAoYi5pc0V2ZW4oKSkge1xcbiAgICAgICAgYi5pdXNocm4oMSk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciByID0gYS5jbXAoYik7XFxuICAgICAgaWYgKHIgPCAwKSB7XFxuICAgICAgICAvLyBTd2FwIGBhYCBhbmQgYGJgIHRvIG1ha2UgYGFgIGFsd2F5cyBiaWdnZXIgdGhhbiBgYmBcXG4gICAgICAgIHZhciB0ID0gYTtcXG4gICAgICAgIGEgPSBiO1xcbiAgICAgICAgYiA9IHQ7XFxuICAgICAgfSBlbHNlIGlmIChyID09PSAwIHx8IGIuY21wbigxKSA9PT0gMCkge1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGEuaXN1YihiKTtcXG4gICAgfSB3aGlsZSAodHJ1ZSk7XFxuXFxuICAgIHJldHVybiBiLml1c2hsbihzaGlmdCk7XFxuICB9O1xcblxcbiAgLy8gSW52ZXJ0IG51bWJlciBpbiB0aGUgZmllbGQgRihudW0pXFxuICBCTi5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5lZ2NkKG51bSkuYS51bW9kKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzRXZlbiA9IGZ1bmN0aW9uIGlzRXZlbiAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc09kZCA9IGZ1bmN0aW9uIGlzT2RkICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDE7XFxuICB9O1xcblxcbiAgLy8gQW5kIGZpcnN0IHdvcmQgYW5kIG51bVxcbiAgQk4ucHJvdG90eXBlLmFuZGxuID0gZnVuY3Rpb24gYW5kbG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy53b3Jkc1swXSAmIG51bTtcXG4gIH07XFxuXFxuICAvLyBJbmNyZW1lbnQgYXQgdGhlIGJpdCBwb3NpdGlvbiBpbi1saW5lXFxuICBCTi5wcm90b3R5cGUuYmluY24gPSBmdW5jdGlvbiBiaW5jbiAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHRoaXMuX2V4cGFuZChzICsgMSk7XFxuICAgICAgdGhpcy53b3Jkc1tzXSB8PSBxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCBiaXQgYW5kIHByb3BhZ2F0ZSwgaWYgbmVlZGVkXFxuICAgIHZhciBjYXJyeSA9IHE7XFxuICAgIGZvciAodmFyIGkgPSBzOyBjYXJyeSAhPT0gMCAmJiBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdyArPSBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4+IDI2O1xcbiAgICAgIHcgJj0gMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc1plcm8gPSBmdW5jdGlvbiBpc1plcm8gKCkge1xcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY21wbiA9IGZ1bmN0aW9uIGNtcG4gKG51bSkge1xcbiAgICB2YXIgbmVnYXRpdmUgPSBudW0gPCAwO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiAhbmVnYXRpdmUpIHJldHVybiAtMTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbmVnYXRpdmUpIHJldHVybiAxO1xcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIHZhciByZXM7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHtcXG4gICAgICByZXMgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGlmIChuZWdhdGl2ZSkge1xcbiAgICAgICAgbnVtID0gLW51bTtcXG4gICAgICB9XFxuXFxuICAgICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYsICdOdW1iZXIgaXMgdG9vIGJpZycpO1xcblxcbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1swXSB8IDA7XFxuICAgICAgcmVzID0gdyA9PT0gbnVtID8gMCA6IHcgPCBudW0gPyAtMSA6IDE7XFxuICAgIH1cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb21wYXJlIHR3byBudW1iZXJzIGFuZCByZXR1cm46XFxuICAvLyAxIC0gaWYgYHRoaXNgID4gYG51bWBcXG4gIC8vIDAgLSBpZiBgdGhpc2AgPT0gYG51bWBcXG4gIC8vIC0xIC0gaWYgYHRoaXNgIDwgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5jbXAgPSBmdW5jdGlvbiBjbXAgKG51bSkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHJldHVybiAtMTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gMTtcXG5cXG4gICAgdmFyIHJlcyA9IHRoaXMudWNtcChudW0pO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIFVuc2lnbmVkIGNvbXBhcmlzb25cXG4gIEJOLnByb3RvdHlwZS51Y21wID0gZnVuY3Rpb24gdWNtcCAobnVtKSB7XFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGhhdmUgdGhlIHNhbWUgc2lnblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gMTtcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkgcmV0dXJuIC0xO1xcblxcbiAgICB2YXIgcmVzID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICB2YXIgYSA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHZhciBiID0gbnVtLndvcmRzW2ldIHwgMDtcXG5cXG4gICAgICBpZiAoYSA9PT0gYikgY29udGludWU7XFxuICAgICAgaWYgKGEgPCBiKSB7XFxuICAgICAgICByZXMgPSAtMTtcXG4gICAgICB9IGVsc2UgaWYgKGEgPiBiKSB7XFxuICAgICAgICByZXMgPSAxO1xcbiAgICAgIH1cXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndG4gPSBmdW5jdGlvbiBndG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ID0gZnVuY3Rpb24gZ3QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RlbiA9IGZ1bmN0aW9uIGd0ZW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPj0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RlID0gZnVuY3Rpb24gZ3RlIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPj0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHRuID0gZnVuY3Rpb24gbHRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAtMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHQgPSBmdW5jdGlvbiBsdCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAtMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHRlbiA9IGZ1bmN0aW9uIGx0ZW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPD0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHRlID0gZnVuY3Rpb24gbHRlIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPD0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXFuID0gZnVuY3Rpb24gZXFuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDA7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIEEgcmVkdWNlIGNvbnRleHQsIGNvdWxkIGJlIHVzaW5nIG1vbnRnb21lcnkgb3Igc29tZXRoaW5nIGJldHRlciwgZGVwZW5kaW5nXFxuICAvLyBvbiB0aGUgYG1gIGl0c2VsZi5cXG4gIC8vXFxuICBCTi5yZWQgPSBmdW5jdGlvbiByZWQgKG51bSkge1xcbiAgICByZXR1cm4gbmV3IFJlZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1JlZCA9IGZ1bmN0aW9uIHRvUmVkIChjdHgpIHtcXG4gICAgYXNzZXJ0KCF0aGlzLnJlZCwgJ0FscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICByZXR1cm4gY3R4LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoY3R4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZnJvbVJlZCA9IGZ1bmN0aW9uIGZyb21SZWQgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2ZvcmNlUmVkID0gZnVuY3Rpb24gX2ZvcmNlUmVkIChjdHgpIHtcXG4gICAgdGhpcy5yZWQgPSBjdHg7XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mb3JjZVJlZCA9IGZ1bmN0aW9uIGZvcmNlUmVkIChjdHgpIHtcXG4gICAgYXNzZXJ0KCF0aGlzLnJlZCwgJ0FscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZEFkZCA9IGZ1bmN0aW9uIHJlZEFkZCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJQWRkID0gZnVuY3Rpb24gcmVkSUFkZCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pYWRkKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFN1YiA9IGZ1bmN0aW9uIHJlZFN1YiAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3ViID0gZnVuY3Rpb24gcmVkSVN1YiAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pc3ViKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFNobCA9IGZ1bmN0aW9uIHJlZFNobCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNobCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRNdWwgPSBmdW5jdGlvbiByZWRNdWwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5tdWwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSU11bCA9IGZ1bmN0aW9uIHJlZElNdWwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pbXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFNxciA9IGZ1bmN0aW9uIHJlZFNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zcXIodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElTcXIgPSBmdW5jdGlvbiByZWRJU3FyICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFNxdWFyZSByb290IG92ZXIgcFxcbiAgQk4ucHJvdG90eXBlLnJlZFNxcnQgPSBmdW5jdGlvbiByZWRTcXJ0ICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zcXJ0KHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJbnZtID0gZnVuY3Rpb24gcmVkSW52bSAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW52bSh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgICUgYHJlZCBtb2R1bG9gXFxuICBCTi5wcm90b3R5cGUucmVkTmVnID0gZnVuY3Rpb24gcmVkTmVnICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkUG93ID0gZnVuY3Rpb24gcmVkUG93IChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkICYmICFudW0ucmVkLCAncmVkUG93KG5vcm1hbE51bSknKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5wb3codGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICAvLyBQcmltZSBudW1iZXJzIHdpdGggZWZmaWNpZW50IHJlZHVjdGlvblxcbiAgdmFyIHByaW1lcyA9IHtcXG4gICAgazI1NjogbnVsbCxcXG4gICAgcDIyNDogbnVsbCxcXG4gICAgcDE5MjogbnVsbCxcXG4gICAgcDI1NTE5OiBudWxsXFxuICB9O1xcblxcbiAgLy8gUHNldWRvLU1lcnNlbm5lIHByaW1lXFxuICBmdW5jdGlvbiBNUHJpbWUgKG5hbWUsIHApIHtcXG4gICAgLy8gUCA9IDIgXiBOIC0gS1xcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xcbiAgICB0aGlzLnAgPSBuZXcgQk4ocCwgMTYpO1xcbiAgICB0aGlzLm4gPSB0aGlzLnAuYml0TGVuZ3RoKCk7XFxuICAgIHRoaXMuayA9IG5ldyBCTigxKS5pdXNobG4odGhpcy5uKS5pc3ViKHRoaXMucCk7XFxuXFxuICAgIHRoaXMudG1wID0gdGhpcy5fdG1wKCk7XFxuICB9XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLl90bXAgPSBmdW5jdGlvbiBfdG1wICgpIHtcXG4gICAgdmFyIHRtcCA9IG5ldyBCTihudWxsKTtcXG4gICAgdG1wLndvcmRzID0gbmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4gLyAxMykpO1xcbiAgICByZXR1cm4gdG1wO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaXJlZHVjZSA9IGZ1bmN0aW9uIGlyZWR1Y2UgKG51bSkge1xcbiAgICAvLyBBc3N1bWVzIHRoYXQgYG51bWAgaXMgbGVzcyB0aGFuIGBQXjJgXFxuICAgIC8vIG51bSA9IEhJICogKDIgXiBOIC0gSykgKyBISSAqIEsgKyBMTyA9IEhJICogSyArIExPIChtb2QgUClcXG4gICAgdmFyIHIgPSBudW07XFxuICAgIHZhciBybGVuO1xcblxcbiAgICBkbyB7XFxuICAgICAgdGhpcy5zcGxpdChyLCB0aGlzLnRtcCk7XFxuICAgICAgciA9IHRoaXMuaW11bEsocik7XFxuICAgICAgciA9IHIuaWFkZCh0aGlzLnRtcCk7XFxuICAgICAgcmxlbiA9IHIuYml0TGVuZ3RoKCk7XFxuICAgIH0gd2hpbGUgKHJsZW4gPiB0aGlzLm4pO1xcblxcbiAgICB2YXIgY21wID0gcmxlbiA8IHRoaXMubiA/IC0xIDogci51Y21wKHRoaXMucCk7XFxuICAgIGlmIChjbXAgPT09IDApIHtcXG4gICAgICByLndvcmRzWzBdID0gMDtcXG4gICAgICByLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAoY21wID4gMCkge1xcbiAgICAgIHIuaXN1Yih0aGlzLnApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHIuc3RyaXAoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXQpIHtcXG4gICAgaW5wdXQuaXVzaHJuKHRoaXMubiwgMCwgb3V0KTtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICByZXR1cm4gbnVtLmltdWwodGhpcy5rKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBLMjU2ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAnazI1NicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmJyk7XFxuICB9XFxuICBpbmhlcml0cyhLMjU2LCBNUHJpbWUpO1xcblxcbiAgSzI1Ni5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dHB1dCkge1xcbiAgICAvLyAyNTYgPSA5ICogMjYgKyAyMlxcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmO1xcblxcbiAgICB2YXIgb3V0TGVuID0gTWF0aC5taW4oaW5wdXQubGVuZ3RoLCA5KTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRMZW47IGkrKykge1xcbiAgICAgIG91dHB1dC53b3Jkc1tpXSA9IGlucHV0LndvcmRzW2ldO1xcbiAgICB9XFxuICAgIG91dHB1dC5sZW5ndGggPSBvdXRMZW47XFxuXFxuICAgIGlmIChpbnB1dC5sZW5ndGggPD0gOSkge1xcbiAgICAgIGlucHV0LndvcmRzWzBdID0gMDtcXG4gICAgICBpbnB1dC5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICAvLyBTaGlmdCBieSA5IGxpbWJzXFxuICAgIHZhciBwcmV2ID0gaW5wdXQud29yZHNbOV07XFxuICAgIG91dHB1dC53b3Jkc1tvdXRwdXQubGVuZ3RoKytdID0gcHJldiAmIG1hc2s7XFxuXFxuICAgIGZvciAoaSA9IDEwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgbmV4dCA9IGlucHV0LndvcmRzW2ldIHwgMDtcXG4gICAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gKChuZXh0ICYgbWFzaykgPDwgNCkgfCAocHJldiA+Pj4gMjIpO1xcbiAgICAgIHByZXYgPSBuZXh0O1xcbiAgICB9XFxuICAgIHByZXYgPj4+PSAyMjtcXG4gICAgaW5wdXQud29yZHNbaSAtIDEwXSA9IHByZXY7XFxuICAgIGlmIChwcmV2ID09PSAwICYmIGlucHV0Lmxlbmd0aCA+IDEwKSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDEwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSA5O1xcbiAgICB9XFxuICB9O1xcblxcbiAgSzI1Ni5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEwMDAwMDNkMSA9IFsgMHg0MCwgMHgzZDEgXVxcbiAgICBudW0ud29yZHNbbnVtLmxlbmd0aF0gPSAwO1xcbiAgICBudW0ud29yZHNbbnVtLmxlbmd0aCArIDFdID0gMDtcXG4gICAgbnVtLmxlbmd0aCArPSAyO1xcblxcbiAgICAvLyBib3VuZGVkIGF0OiAweDQwICogMHgzZmZmZmZmICsgMHgzZDAgPSAweDEwMDAwMDM5MFxcbiAgICB2YXIgbG8gPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gbnVtLndvcmRzW2ldIHwgMDtcXG4gICAgICBsbyArPSB3ICogMHgzZDE7XFxuICAgICAgbnVtLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgbG8gPSB3ICogMHg0MCArICgobG8gLyAweDQwMDAwMDApIHwgMCk7XFxuICAgIH1cXG5cXG4gICAgLy8gRmFzdCBsZW5ndGggcmVkdWN0aW9uXFxuICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gUDIyNCAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AyMjQnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMScpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDIyNCwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAxOTIgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMTkyJyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAxOTIsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMjU1MTkgKCkge1xcbiAgICAvLyAyIF4gMjU1IC0gMTlcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAnMjU1MTknLFxcbiAgICAgICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjU1MTksIE1QcmltZSk7XFxuXFxuICBQMjU1MTkucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxM1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBoaSA9IChudW0ud29yZHNbaV0gfCAwKSAqIDB4MTMgKyBjYXJyeTtcXG4gICAgICB2YXIgbG8gPSBoaSAmIDB4M2ZmZmZmZjtcXG4gICAgICBoaSA+Pj49IDI2O1xcblxcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvO1xcbiAgICAgIGNhcnJ5ID0gaGk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbnVtLndvcmRzW251bS5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIC8vIEV4cG9ydGVkIG1vc3RseSBmb3IgdGVzdGluZyBwdXJwb3NlcywgdXNlIHBsYWluIG5hbWUgaW5zdGVhZFxcbiAgQk4uX3ByaW1lID0gZnVuY3Rpb24gcHJpbWUgKG5hbWUpIHtcXG4gICAgLy8gQ2FjaGVkIHZlcnNpb24gb2YgcHJpbWVcXG4gICAgaWYgKHByaW1lc1tuYW1lXSkgcmV0dXJuIHByaW1lc1tuYW1lXTtcXG5cXG4gICAgdmFyIHByaW1lO1xcbiAgICBpZiAobmFtZSA9PT0gJ2syNTYnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgSzI1NigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjI0Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyMjQoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDE5MicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMTkyKCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyNTUxOScpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjU1MTkoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcHJpbWUgJyArIG5hbWUpO1xcbiAgICB9XFxuICAgIHByaW1lc1tuYW1lXSA9IHByaW1lO1xcblxcbiAgICByZXR1cm4gcHJpbWU7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIEJhc2UgcmVkdWN0aW9uIGVuZ2luZVxcbiAgLy9cXG4gIGZ1bmN0aW9uIFJlZCAobSkge1xcbiAgICBpZiAodHlwZW9mIG0gPT09ICdzdHJpbmcnKSB7XFxuICAgICAgdmFyIHByaW1lID0gQk4uX3ByaW1lKG0pO1xcbiAgICAgIHRoaXMubSA9IHByaW1lLnA7XFxuICAgICAgdGhpcy5wcmltZSA9IHByaW1lO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChtLmd0bigxKSwgJ21vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMScpO1xcbiAgICAgIHRoaXMubSA9IG07XFxuICAgICAgdGhpcy5wcmltZSA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTEgPSBmdW5jdGlvbiBfdmVyaWZ5MSAoYSkge1xcbiAgICBhc3NlcnQoYS5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkyID0gZnVuY3Rpb24gX3ZlcmlmeTIgKGEsIGIpIHtcXG4gICAgYXNzZXJ0KChhLm5lZ2F0aXZlIHwgYi5uZWdhdGl2ZSkgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQgJiYgYS5yZWQgPT09IGIucmVkLFxcbiAgICAgICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pbW9kID0gZnVuY3Rpb24gaW1vZCAoYSkge1xcbiAgICBpZiAodGhpcy5wcmltZSkgcmV0dXJuIHRoaXMucHJpbWUuaXJlZHVjZShhKS5fZm9yY2VSZWQodGhpcyk7XFxuICAgIHJldHVybiBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKGEpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkpIHtcXG4gICAgICByZXR1cm4gYS5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLm0uc3ViKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5hZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzdWIgPSBmdW5jdGlvbiBpc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlzdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zaGwgPSBmdW5jdGlvbiBzaGwgKGEsIG51bSkge1xcbiAgICB0aGlzLl92ZXJpZnkxKGEpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEudXNobG4obnVtKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEuaW11bChiKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLm11bChiKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3FyID0gZnVuY3Rpb24gaXNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKGEsIGEuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMubXVsKGEsIGEpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FydCA9IGZ1bmN0aW9uIHNxcnQgKGEpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkpIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciBtb2QzID0gdGhpcy5tLmFuZGxuKDMpO1xcbiAgICBhc3NlcnQobW9kMyAlIDIgPT09IDEpO1xcblxcbiAgICAvLyBGYXN0IGNhc2VcXG4gICAgaWYgKG1vZDMgPT09IDMpIHtcXG4gICAgICB2YXIgcG93ID0gdGhpcy5tLmFkZChuZXcgQk4oMSkpLml1c2hybigyKTtcXG4gICAgICByZXR1cm4gdGhpcy5wb3coYSwgcG93KTtcXG4gICAgfVxcblxcbiAgICAvLyBUb25lbGxpLVNoYW5rcyBhbGdvcml0aG0gKFRvdGFsbHkgdW5vcHRpbWl6ZWQgYW5kIHNsb3cpXFxuICAgIC8vXFxuICAgIC8vIEZpbmQgUSBhbmQgUywgdGhhdCBRICogMiBeIFMgPSAoUCAtIDEpXFxuICAgIHZhciBxID0gdGhpcy5tLnN1Ym4oMSk7XFxuICAgIHZhciBzID0gMDtcXG4gICAgd2hpbGUgKCFxLmlzWmVybygpICYmIHEuYW5kbG4oMSkgPT09IDApIHtcXG4gICAgICBzKys7XFxuICAgICAgcS5pdXNocm4oMSk7XFxuICAgIH1cXG4gICAgYXNzZXJ0KCFxLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIG9uZSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgdmFyIG5PbmUgPSBvbmUucmVkTmVnKCk7XFxuXFxuICAgIC8vIEZpbmQgcXVhZHJhdGljIG5vbi1yZXNpZHVlXFxuICAgIC8vIE5PVEU6IE1heCBpcyBzdWNoIGJlY2F1c2Ugb2YgZ2VuZXJhbGl6ZWQgUmllbWFubiBoeXBvdGhlc2lzLlxcbiAgICB2YXIgbHBvdyA9IHRoaXMubS5zdWJuKDEpLml1c2hybigxKTtcXG4gICAgdmFyIHogPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIHogPSBuZXcgQk4oMiAqIHogKiB6KS50b1JlZCh0aGlzKTtcXG5cXG4gICAgd2hpbGUgKHRoaXMucG93KHosIGxwb3cpLmNtcChuT25lKSAhPT0gMCkge1xcbiAgICAgIHoucmVkSUFkZChuT25lKTtcXG4gICAgfVxcblxcbiAgICB2YXIgYyA9IHRoaXMucG93KHosIHEpO1xcbiAgICB2YXIgciA9IHRoaXMucG93KGEsIHEuYWRkbigxKS5pdXNocm4oMSkpO1xcbiAgICB2YXIgdCA9IHRoaXMucG93KGEsIHEpO1xcbiAgICB2YXIgbSA9IHM7XFxuICAgIHdoaWxlICh0LmNtcChvbmUpICE9PSAwKSB7XFxuICAgICAgdmFyIHRtcCA9IHQ7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IHRtcC5jbXAob25lKSAhPT0gMDsgaSsrKSB7XFxuICAgICAgICB0bXAgPSB0bXAucmVkU3FyKCk7XFxuICAgICAgfVxcbiAgICAgIGFzc2VydChpIDwgbSk7XFxuICAgICAgdmFyIGIgPSB0aGlzLnBvdyhjLCBuZXcgQk4oMSkuaXVzaGxuKG0gLSBpIC0gMSkpO1xcblxcbiAgICAgIHIgPSByLnJlZE11bChiKTtcXG4gICAgICBjID0gYi5yZWRTcXIoKTtcXG4gICAgICB0ID0gdC5yZWRNdWwoYyk7XFxuICAgICAgbSA9IGk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICB2YXIgaW52ID0gYS5faW52bXAodGhpcy5tKTtcXG4gICAgaWYgKGludi5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGludi5uZWdhdGl2ZSA9IDA7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpLnJlZE5lZygpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChhLCBudW0pIHtcXG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgaWYgKG51bS5jbXBuKDEpID09PSAwKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgd2luZG93U2l6ZSA9IDQ7XFxuICAgIHZhciB3bmQgPSBuZXcgQXJyYXkoMSA8PCB3aW5kb3dTaXplKTtcXG4gICAgd25kWzBdID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB3bmRbMV0gPSBhO1xcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IHduZC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHduZFtpXSA9IHRoaXMubXVsKHduZFtpIC0gMV0sIGEpO1xcbiAgICB9XFxuXFxuICAgIHZhciByZXMgPSB3bmRbMF07XFxuICAgIHZhciBjdXJyZW50ID0gMDtcXG4gICAgdmFyIGN1cnJlbnRMZW4gPSAwO1xcbiAgICB2YXIgc3RhcnQgPSBudW0uYml0TGVuZ3RoKCkgJSAyNjtcXG4gICAgaWYgKHN0YXJ0ID09PSAwKSB7XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICBmb3IgKGkgPSBudW0ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICB2YXIgd29yZCA9IG51bS53b3Jkc1tpXTtcXG4gICAgICBmb3IgKHZhciBqID0gc3RhcnQgLSAxOyBqID49IDA7IGotLSkge1xcbiAgICAgICAgdmFyIGJpdCA9ICh3b3JkID4+IGopICYgMTtcXG4gICAgICAgIGlmIChyZXMgIT09IHduZFswXSkge1xcbiAgICAgICAgICByZXMgPSB0aGlzLnNxcihyZXMpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGJpdCA9PT0gMCAmJiBjdXJyZW50ID09PSAwKSB7XFxuICAgICAgICAgIGN1cnJlbnRMZW4gPSAwO1xcbiAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGN1cnJlbnQgPDw9IDE7XFxuICAgICAgICBjdXJyZW50IHw9IGJpdDtcXG4gICAgICAgIGN1cnJlbnRMZW4rKztcXG4gICAgICAgIGlmIChjdXJyZW50TGVuICE9PSB3aW5kb3dTaXplICYmIChpICE9PSAwIHx8IGogIT09IDApKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHRoaXMubXVsKHJlcywgd25kW2N1cnJlbnRdKTtcXG4gICAgICAgIGN1cnJlbnRMZW4gPSAwO1xcbiAgICAgICAgY3VycmVudCA9IDA7XFxuICAgICAgfVxcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHZhciByID0gbnVtLnVtb2QodGhpcy5tKTtcXG5cXG4gICAgcmV0dXJuIHIgPT09IG51bSA/IHIuY2xvbmUoKSA6IHI7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHJlcyA9IG51bS5jbG9uZSgpO1xcbiAgICByZXMucmVkID0gbnVsbDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gTW9udGdvbWVyeSBtZXRob2QgZW5naW5lXFxuICAvL1xcblxcbiAgQk4ubW9udCA9IGZ1bmN0aW9uIG1vbnQgKG51bSkge1xcbiAgICByZXR1cm4gbmV3IE1vbnQobnVtKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBNb250IChtKSB7XFxuICAgIFJlZC5jYWxsKHRoaXMsIG0pO1xcblxcbiAgICB0aGlzLnNoaWZ0ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICBpZiAodGhpcy5zaGlmdCAlIDI2ICE9PSAwKSB7XFxuICAgICAgdGhpcy5zaGlmdCArPSAyNiAtICh0aGlzLnNoaWZ0ICUgMjYpO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuciA9IG5ldyBCTigxKS5pdXNobG4odGhpcy5zaGlmdCk7XFxuICAgIHRoaXMucjIgPSB0aGlzLmltb2QodGhpcy5yLnNxcigpKTtcXG4gICAgdGhpcy5yaW52ID0gdGhpcy5yLl9pbnZtcCh0aGlzLm0pO1xcblxcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSk7XFxuICAgIHRoaXMubWludiA9IHRoaXMubWludi51bW9kKHRoaXMucik7XFxuICAgIHRoaXMubWludiA9IHRoaXMuci5zdWIodGhpcy5taW52KTtcXG4gIH1cXG4gIGluaGVyaXRzKE1vbnQsIFJlZCk7XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKG51bS51c2hsbih0aGlzLnNoaWZ0KSk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByID0gdGhpcy5pbW9kKG51bS5tdWwodGhpcy5yaW52KSk7XFxuICAgIHIucmVkID0gbnVsbDtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkge1xcbiAgICAgIGEud29yZHNbMF0gPSAwO1xcbiAgICAgIGEubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm4gYTtcXG4gICAgfVxcblxcbiAgICB2YXIgdCA9IGEuaW11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG5cXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKGEsIGIpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigwKS5fZm9yY2VSZWQodGhpcyk7XFxuXFxuICAgIHZhciB0ID0gYS5tdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgLy8gKEFSKV4tMSAqIFJeMiA9IChBXi0xICogUl4tMSkgKiBSXjIgPSBBXi0xICogUlxcbiAgICB2YXIgcmVzID0gdGhpcy5pbW9kKGEuX2ludm1wKHRoaXMubSkubXVsKHRoaXMucjIpKTtcXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcbn0pKCBmYWxzZSB8fCBtb2R1bGUsIHRoaXMpO1xcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanNcXFwiKShtb2R1bGUpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpjbVZoZEdVdFpXTmthQzl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6UHpBeVpqQWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMR2RDUVVGUk8wRkJRemRDTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4M1EwRkJkME03UVVGRGVFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTXNVVUZCVVR0QlFVTm9SRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzZDBKQlFYZENMRzFDUVVGdFFqdEJRVU16UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xGTkJRVk03UVVGRGFFTTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBOQlFYTkRMRmxCUVZrN1FVRkRiRVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVFrRkJkVUlzVTBGQlV6dEJRVU5vUXpzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhORFFVRnpReXh6UWtGQmMwSTdRVUZETlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZFVKQlFYVkNMRk5CUVZNN1FVRkRhRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYVVKQlFXbENMRk5CUVZNN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4cFFrRkJhVUk3UVVGRGRFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl3MFFrRkJORUk3UVVGRE4wTTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNZVUZCWVR0QlFVTTVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c2FVSkJRV2xDTEdGQlFXRTdRVUZET1VJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRmxCUVZrc1pVRkJaVHRCUVVNelFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1owSkJRV2RDTzBGQlEzSkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHTkJRV003UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hWUVVGVkxEWkNRVUUyUWp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNVMEZCVXp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYjBKQlFXOUNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlFUVVGdlJDeFhRVUZYTzBGQlF5OUVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVDBGQlR6dEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNjVUpCUVhGQ0xFOUJRVTg3UVVGRE5VSTdRVUZEUVRzN1FVRkZRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFZEJRVWM3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEZkQlFWYzdRVUZET1VJN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEZkQlFWYzdRVUZET1VJN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhUUVVGVE8wRkJRelZDT3p0QlFVVkJMR3REUVVGclF6dEJRVU5zUXl4elEwRkJjME03UVVGRGRFTTdPMEZCUlVFN1FVRkRRU3h4UWtGQmNVSXNUMEZCVHp0QlFVTTFRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRTlCUVU4N1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVDBGQlR6dEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEdOQlFXTTdRVUZETTBNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzYVVKQlFXbENPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMQ3RDUVVFclFpeFJRVUZSTzBGQlEzWkRPMEZCUTBFN08wRkJSVUVzYVVKQlFXbENMRTlCUVU4N1FVRkRlRUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cyUWtGQk5rSXNiVU5CUVcxRE8wRkJRMmhGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl3clEwRkJLME03UVVGRGJFVTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc2NVSkJRWEZDTEhORFFVRnpRenRCUVVNelJEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHVkJRV1VzWjBKQlFXZENPMEZCUXk5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc2VVSkJRWGxDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHVkJRV1VzYVVKQlFXbENPMEZCUTJoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRaXhqUVVGak8wRkJRMjVETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3gxUWtGQmRVSXNVVUZCVVR0QlFVTXZRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTXNVVUZCVVR0QlFVTjZRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNhVU5CUVdsRExGRkJRVkU3UVVGRGVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEcxRFFVRnRRenRCUVVOb1JUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3cyUWtGQk5rSXNiVU5CUVcxRE8wRkJRMmhGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERaQ1FVRTJRaXh0UTBGQmJVTTdRVUZEYUVVN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTERCQ1FVRXdRanRCUVVOcVJEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMT3p0QlFVVk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBOQlFXZERPMEZCUTI1RU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3UVVGRlREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNXVUZCV1R0QlFVTXZRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1owSkJRV2RDTEd0Q1FVRnJRanRCUVVOc1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaMEpCUVdkQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMRzlDUVVGdlFqdEJRVU42UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFJDUVVFMFFpeFJRVUZSTzBGQlEzQkRPMEZCUTBFc05rSkJRVFpDTEZGQlFWRTdRVUZEY2tNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlN4TlFVRTJRaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWpjbVZoZEdVdFpXTmthQzl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lLR1oxYm1OMGFXOXVJQ2h0YjJSMWJHVXNJR1Y0Y0c5eWRITXBJSHRjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHZJRlYwYVd4elhHNGdJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDQW9kbUZzTENCdGMyY3BJSHRjYmlBZ0lDQnBaaUFvSVhaaGJDa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeUI4ZkNBblFYTnpaWEowYVc5dUlHWmhhV3hsWkNjcE8xeHVJQ0I5WEc1Y2JpQWdMeThnUTI5MWJHUWdkWE5sSUdCcGJtaGxjbWwwYzJBZ2JXOWtkV3hsTENCaWRYUWdaRzl1SjNRZ2QyRnVkQ0IwYnlCdGIzWmxJR1p5YjIwZ2MybHVaMnhsSUdacGJHVmNiaUFnTHk4Z1lYSmphR2wwWldOMGRYSmxJSGxsZEM1Y2JpQWdablZ1WTNScGIyNGdhVzVvWlhKcGRITWdLR04wYjNJc0lITjFjR1Z5UTNSdmNpa2dlMXh1SUNBZ0lHTjBiM0l1YzNWd1pYSmZJRDBnYzNWd1pYSkRkRzl5TzF4dUlDQWdJSFpoY2lCVVpXMXdRM1J2Y2lBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dUlDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJQ0FnWTNSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1ZHVnRjRU4wYjNJb0tUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaUzVqYjI1emRISjFZM1J2Y2lBOUlHTjBiM0k3WEc0Z0lIMWNibHh1SUNBdkx5QkNUbHh1WEc0Z0lHWjFibU4wYVc5dUlFSk9JQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaENUaTVwYzBKT0tHNTFiV0psY2lrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXMWlaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1Wa2RXTjBhVzl1SUdOdmJuUmxlSFJjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9iblZ0WW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBaaUFvWW1GelpTQTlQVDBnSjJ4bEp5QjhmQ0JpWVhObElEMDlQU0FuWW1VbktTQjdYRzRnSUNBZ0lDQWdJR1Z1WkdsaGJpQTlJR0poYzJVN1hHNGdJQ0FnSUNBZ0lHSmhjMlVnUFNBeE1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1ZmFXNXBkQ2h1ZFcxaVpYSWdmSHdnTUN3Z1ltRnpaU0I4ZkNBeE1Dd2daVzVrYVdGdUlIeDhJQ2RpWlNjcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCcFppQW9kSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlFSk9PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1Y0Y0c5eWRITXVRazRnUFNCQ1RqdGNiaUFnZlZ4dVhHNGdJRUpPTGtKT0lEMGdRazQ3WEc0Z0lFSk9MbmR2Y21SVGFYcGxJRDBnTWpZN1hHNWNiaUFnZG1GeUlFSjFabVpsY2p0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnZlZ4dVhHNGdJRUpPTG1selFrNGdQU0JtZFc1amRHbHZiaUJwYzBKT0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRJR2x1YzNSaGJtTmxiMllnUWs0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMGdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJRzUxYlM1amIyNXpkSEoxWTNSdmNpNTNiM0prVTJsNlpTQTlQVDBnUWs0dWQyOXlaRk5wZW1VZ0ppWWdRWEp5WVhrdWFYTkJjbkpoZVNodWRXMHVkMjl5WkhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG0xaGVDQTlJR1oxYm1OMGFXOXVJRzFoZUNBb2JHVm1kQ3dnY21sbmFIUXBJSHRjYmlBZ0lDQnBaaUFvYkdWbWRDNWpiWEFvY21sbmFIUXBJRDRnTUNrZ2NtVjBkWEp1SUd4bFpuUTdYRzRnSUNBZ2NtVjBkWEp1SUhKcFoyaDBPMXh1SUNCOU8xeHVYRzRnSUVKT0xtMXBiaUE5SUdaMWJtTjBhVzl1SUcxcGJpQW9iR1ZtZEN3Z2NtbG5hSFFwSUh0Y2JpQWdJQ0JwWmlBb2JHVm1kQzVqYlhBb2NtbG5hSFFwSUR3Z01Da2djbVYwZFhKdUlHeGxablE3WEc0Z0lDQWdjbVYwZFhKdUlISnBaMmgwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRDQTlJR1oxYm1OMGFXOXVJR2x1YVhRZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1ZFcxaVpYSWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZhVzVwZEU1MWJXSmxjaWh1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdWRXMWlaWElnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRFRnljbUY1S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHSmhjMlVnUFNBeE5qdGNiaUFnSUNCOVhHNGdJQ0FnWVhOelpYSjBLR0poYzJVZ1BUMDlJQ2hpWVhObElId2dNQ2tnSmlZZ1ltRnpaU0ErUFNBeUlDWW1JR0poYzJVZ1BEMGdNellwTzF4dVhHNGdJQ0FnYm5WdFltVnlJRDBnYm5WdFltVnlMblJ2VTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2WEZ4ekt5OW5MQ0FuSnlrN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ01EdGNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSE4wWVhKMEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR0poYzJVZ1BUMDlJREUyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVaGxlQ2h1ZFcxaVpYSXNJSE4wWVhKMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWZjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ2RHaHBjeTVmYVc1cGRFRnljbUY1S0hSb2FYTXVkRzlCY25KaGVTZ3BMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNXBkRTUxYldKbGNpQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFRuVnRZbVZ5SUNodWRXMWlaWElzSUdKaGMyVXNJR1Z1WkdsaGJpa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0FnSUc1MWJXSmxjaUE5SUMxdWRXMWlaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaUJkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iblZ0WW1WeUlEd2dNSGd4TURBd01EQXdNREF3TURBd01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZ0Y2JpQWdJQ0FnSUNBZ2JuVnRZbVZ5SUNZZ01IZ3pabVptWm1abUxGeHVJQ0FnSUNBZ0lDQW9iblZ0WW1WeUlDOGdNSGcwTURBd01EQXdLU0FtSURCNE0yWm1abVptWmx4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJXSmxjaUE4SURCNE1qQXdNREF3TURBd01EQXdNREFwT3lBdkx5QXlJRjRnTlRNZ0tIVnVjMkZtWlNsY2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJREZjYmlBZ0lDQWdJRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlETTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdVbVYyWlhKelpTQjBhR1VnWW5sMFpYTmNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQmZhVzVwZEVGeWNtRjVJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUM4dklGQmxjbWhoY0hNZ1lTQlZhVzUwT0VGeWNtRjVYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJ1ZFcxaVpYSXViR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaTVzWlc1bmRHZ2dQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnTUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29iblZ0WW1WeUxteGxibWQwYUNBdklETXBPMXh1SUNBZ0lIUm9hWE11ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NXNaVzVuZEdncE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHb3NJSGM3WEc0Z0lDQWdkbUZ5SUc5bVppQTlJREE3WEc0Z0lDQWdhV1lnS0dWdVpHbGhiaUE5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJREVzSUdvZ1BTQXdPeUJwSUQ0OUlEQTdJR2tnTFQwZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQzBnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0xTQXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMnhsSnlrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Dd2dhaUE5SURBN0lHa2dQQ0J1ZFcxaVpYSXViR1Z1WjNSb095QnBJQ3M5SURNcElIdGNiaUFnSUNBZ0lDQWdkeUE5SUc1MWJXSmxjbHRwWFNCOElDaHVkVzFpWlhKYmFTQXJJREZkSUR3OElEZ3BJSHdnS0c1MWJXSmxjbHRwSUNzZ01sMGdQRHdnTVRZcE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMnBkSUh3OUlDaDNJRHc4SUc5bVppa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUQwZ0tIY2dQajQrSUNneU5pQXRJRzltWmlrcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0t6MGdNalE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZabVlnUGowZ01qWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdlptWWdMVDBnTWpZN1hHNGdJQ0FnSUNBZ0lDQWdhaXNyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZJWlhnZ0tITjBjaXdnYzNSaGNuUXNJR1Z1WkNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzNSeUxteGxibWQwYUN3Z1pXNWtLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1NBdElEUTRPMXh1WEc0Z0lDQWdJQ0J5SUR3OFBTQTBPMXh1WEc0Z0lDQWdJQ0F2THlBbllTY2dMU0FuWmlkY2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURRNUlDWW1JR01nUEQwZ05UUXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTkRrZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDZEJKeUF0SUNkR0oxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0lDWW1JR01nUEQwZ01qSXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQjhQU0JqSUNZZ01IaG1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ3WVhKelpVSmhjMlVnS0hOMGNpd2djM1JoY25Rc0lHVnVaQ3dnYlhWc0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ0tqMGdiWFZzTzF4dVhHNGdJQ0FnSUNBdkx5QW5ZU2RjYmlBZ0lDQWdJR2xtSUNoaklENDlJRFE1S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SUdNZ0xTQXhOeUFySURCNFlUdGNibHh1SUNBZ0lDQWdMeThnSnpBbklDMGdKemtuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVSmhjMlVnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZDWVhObElDaHVkVzFpWlhJc0lHSmhjMlVzSUhOMFlYSjBLU0I3WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCaGN5QjZaWEp2WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZzZ01DQmRPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JseHVJQ0FnSUM4dklFWnBibVFnYkdWdVozUm9JRzltSUd4cGJXSWdhVzRnWW1GelpWeHVJQ0FnSUdadmNpQW9kbUZ5SUd4cGJXSk1aVzRnUFNBd0xDQnNhVzFpVUc5M0lEMGdNVHNnYkdsdFlsQnZkeUE4UFNBd2VETm1abVptWm1ZN0lHeHBiV0pRYjNjZ0tqMGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ2JHbHRZa3hsYmlzck8xeHVJQ0FnSUgxY2JpQWdJQ0JzYVcxaVRHVnVMUzA3WEc0Z0lDQWdiR2x0WWxCdmR5QTlJQ2hzYVcxaVVHOTNJQzhnWW1GelpTa2dmQ0F3TzF4dVhHNGdJQ0FnZG1GeUlIUnZkR0ZzSUQwZ2JuVnRZbVZ5TG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNBZ0lIWmhjaUJ0YjJRZ1BTQjBiM1JoYkNBbElHeHBiV0pNWlc0N1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUUxaGRHZ3ViV2x1S0hSdmRHRnNMQ0IwYjNSaGJDQXRJRzF2WkNrZ0t5QnpkR0Z5ZER0Y2JseHVJQ0FnSUhaaGNpQjNiM0prSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JsYm1RN0lHa2dLejBnYkdsdFlreGxiaWtnZTF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUdrZ0t5QnNhVzFpVEdWdUxDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHNhVzFpVUc5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXOWtJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnY0c5M0lEMGdNVHRjYmlBZ0lDQWdJSGR2Y21RZ1BTQndZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQnBMQ0J1ZFcxaVpYSXViR1Z1WjNSb0xDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdlpEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnZkeUFxUFNCaVlYTmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxtbHRkV3h1S0hCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdZMjl3ZVNBb1pHVnpkQ2tnZTF4dUlDQWdJR1JsYzNRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaR1Z6ZEM1M2IzSmtjMXRwWFNBOUlIUm9hWE11ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHUmxjM1F1YkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSFJvYVhNdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnWkdWemRDNXlaV1FnUFNCMGFHbHpMbkpsWkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTJ4dmJtVWdQU0JtZFc1amRHbHZiaUJqYkc5dVpTQW9LU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVaWGNnUWs0b2JuVnNiQ2s3WEc0Z0lDQWdkR2hwY3k1amIzQjVLSElwTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZaWGh3WVc1a0lEMGdablZ1WTNScGIyNGdYMlY0Y0dGdVpDQW9jMmw2WlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElITnBlbVVwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ3JLMTBnUFNBd08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlcxdmRtVWdiR1ZoWkdsdVp5QmdNR0FnWm5KdmJTQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OMGNtbHdJRDBnWm5WdVkzUnBiMjRnYzNSeWFYQWdLQ2tnZTF4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG14bGJtZDBhQ0ErSURFZ0ppWWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQzB0TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDI1dmNtMVRhV2R1SUQwZ1puVnVZM1JwYjI0Z1gyNXZjbTFUYVdkdUlDZ3BJSHRjYmlBZ0lDQXZMeUF0TUNBOUlEQmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5Od1pXTjBJRDBnWm5WdVkzUnBiMjRnYVc1emNHVmpkQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuSmxaQ0EvSUNjOFFrNHRVam9nSnlBNklDYzhRazQ2SUNjcElDc2dkR2hwY3k1MGIxTjBjbWx1WnlneE5pa2dLeUFuUGljN1hHNGdJSDA3WEc1Y2JpQWdMeXBjYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWFR0Y2JpQWdkbUZ5SUdkeWIzVndVMmw2WlhNZ1BTQmJYVHRjYmlBZ2RtRnlJR2R5YjNWd1FtRnpaWE1nUFNCYlhUdGNibHh1SUNCMllYSWdjeUE5SUNjbk8xeHVJQ0IyWVhJZ2FTQTlJQzB4TzF4dUlDQjNhR2xzWlNBb0t5dHBJRHdnUWs0dWQyOXlaRk5wZW1VcElIdGNiaUFnSUNCNlpYSnZjMXRwWFNBOUlITTdYRzRnSUNBZ2N5QXJQU0FuTUNjN1hHNGdJSDFjYmlBZ1ozSnZkWEJUYVhwbGMxc3dYU0E5SURBN1hHNGdJR2R5YjNWd1UybDZaWE5iTVYwZ1BTQXdPMXh1SUNCbmNtOTFjRUpoYzJWeld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN4WFNBOUlEQTdYRzRnSUhaaGNpQmlZWE5sSUQwZ01pQXRJREU3WEc0Z0lIZG9hV3hsSUNncksySmhjMlVnUENBek5pQXJJREVwSUh0Y2JpQWdJQ0IyWVhJZ1ozSnZkWEJUYVhwbElEMGdNRHRjYmlBZ0lDQjJZWElnWjNKdmRYQkNZWE5sSUQwZ01UdGNiaUFnSUNCM2FHbHNaU0FvWjNKdmRYQkNZWE5sSUR3Z0tERWdQRHdnUWs0dWQyOXlaRk5wZW1VcElDOGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ1ozSnZkWEJDWVhObElDbzlJR0poYzJVN1hHNGdJQ0FnSUNCbmNtOTFjRk5wZW1VZ0t6MGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ozSnZkWEJUYVhwbGMxdGlZWE5sWFNBOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNCbmNtOTFjRUpoYzJWelcySmhjMlZkSUQwZ1ozSnZkWEJDWVhObE8xeHVJQ0I5WEc1Y2JpQWdLaTljYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWEc0Z0lDQWdKeWNzWEc0Z0lDQWdKekFuTEZ4dUlDQWdJQ2N3TUNjc1hHNGdJQ0FnSnpBd01DY3NYRzRnSUNBZ0p6QXdNREFuTEZ4dUlDQWdJQ2N3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuWEc0Z0lGMDdYRzVjYmlBZ2RtRnlJR2R5YjNWd1UybDZaWE1nUFNCYlhHNGdJQ0FnTUN3Z01DeGNiaUFnSUNBeU5Td2dNVFlzSURFeUxDQXhNU3dnTVRBc0lEa3NJRGdzWEc0Z0lDQWdPQ3dnTnl3Z055d2dOeXdnTnl3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMUxDQTFMRnh1SUNBZ0lEVXNJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05WeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNek0xTlRRME16SXNJRFF6TURRMk56SXhMQ0F4TmpjM056SXhOaXdnTkRnNE1qZ3hNalVzSURZd05EWTJNVGMyTENBME1ETTFNell3Tnl3Z01UWTNOemN5TVRZc1hHNGdJQ0FnTkRNd05EWTNNakVzSURFd01EQXdNREF3TENBeE9UUTROekUzTVN3Z016VTRNekU0TURnc0lEWXlOelE0TlRFM0xDQTNOVEk1TlRNMkxDQXhNVE01TURZeU5TeGNiaUFnSUNBeE5qYzNOekl4Tml3Z01qUXhNemMxTmprc0lETTBNREV5TWpJMExDQTBOekEwTlRnNE1Td2dOalF3TURBd01EQXNJRFF3T0RReE1ERXNJRFV4TlRNMk16SXNYRzRnSUNBZ05qUXpOak0wTXl3Z056azJNall5TkN3Z09UYzJOVFl5TlN3Z01URTRPREV6TnpZc0lERTBNelE0T1RBM0xDQXhOekl4TURNMk9Dd2dNakExTVRFeE5Ea3NYRzRnSUNBZ01qUXpNREF3TURBc0lESTROakk1TVRVeExDQXpNelUxTkRRek1pd2dNemt4TXpVek9UTXNJRFExTkRNMU5ESTBMQ0ExTWpVeU1UZzNOU3dnTmpBME5qWXhOelpjYmlBZ1hUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvWW1GelpTd2djR0ZrWkdsdVp5a2dlMXh1SUNBZ0lHSmhjMlVnUFNCaVlYTmxJSHg4SURFd08xeHVJQ0FnSUhCaFpHUnBibWNnUFNCd1lXUmthVzVuSUh3Z01DQjhmQ0F4TzF4dVhHNGdJQ0FnZG1GeUlHOTFkRHRjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZZ2ZId2dZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlEQTdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIZHZjbVFnUFNBb0tDaDNJRHc4SUc5bVppa2dmQ0JqWVhKeWVTa2dKaUF3ZUdabVptWm1aaWt1ZEc5VGRISnBibWNvTVRZcE8xeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrUGlBb01qUWdMU0J2Wm1ZcEtTQW1JREI0Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQWdmSHdnYVNBaFBUMGdkR2hwY3k1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYk5pQXRJSGR2Y21RdWJHVnVaM1JvWFNBcklIZHZjbVFnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCdlptWWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JwTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNCallYSnllUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWtnZTF4dUlDQWdJQ0FnTHk4Z2RtRnlJR2R5YjNWd1UybDZaU0E5SUUxaGRHZ3VabXh2YjNJb1FrNHVkMjl5WkZOcGVtVWdLaUJOWVhSb0xreE9NaUF2SUUxaGRHZ3ViRzluS0dKaGMyVXBLVHRjYmlBZ0lDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZE8xeHVJQ0FnSUNBZ0x5OGdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlFMWhkR2d1Y0c5M0tHSmhjMlVzSUdkeWIzVndVMmw2WlNrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCQ1lYTmxJRDBnWjNKdmRYQkNZWE5sYzF0aVlYTmxYVHRjYmlBZ0lDQWdJRzkxZENBOUlDY25PMXh1SUNBZ0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0JqTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIZG9hV3hsSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR011Ylc5a2JpaG5jbTkxY0VKaGMyVXBMblJ2VTNSeWFXNW5LR0poYzJVcE8xeHVJQ0FnSUNBZ0lDQmpJRDBnWXk1cFpHbDJiaWhuY205MWNFSmhjMlVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWXk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzkxZENBOUlIcGxjbTl6VzJkeWIzVndVMmw2WlNBdElISXViR1Z1WjNSb1hTQXJJSElnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdjaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkMmhwYkdVZ0tHOTFkQzVzWlc1bmRHZ2dKU0J3WVdSa2FXNW5JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3dKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjdEp5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5RbUZ6WlNCemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeUlHRnVaQ0F6TmljcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwNTFiV0psY2lBOUlHWjFibU4wYVc5dUlIUnZUblZ0WW1WeUlDZ3BJSHRjYmlBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lISmxkQ0FyUFNCMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJRE1nSmlZZ2RHaHBjeTUzYjNKa2Mxc3lYU0E5UFQwZ01IZ3dNU2tnZTF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nWVhRZ2RHaHBjeUJ6ZEdGblpTQnBkQ0JwY3lCcmJtOTNiaUIwYUdGMElIUm9aU0IwYjNBZ1ltbDBJR2x6SUhObGRGeHVJQ0FnSUNBZ2NtVjBJQ3M5SURCNE1UQXdNREF3TURBd01EQXdNREFnS3lBb2RHaHBjeTUzYjNKa2Mxc3hYU0FxSURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0FnSUdGemMyVnlkQ2htWVd4elpTd2dKMDUxYldKbGNpQmpZVzRnYjI1c2VTQnpZV1psYkhrZ2MzUnZjbVVnZFhBZ2RHOGdOVE1nWW1sMGN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElEOGdMWEpsZENBNklISmxkRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlLVTA5T0lEMGdablZ1WTNScGIyNGdkRzlLVTA5T0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOUNkV1ptWlhJZ0tHVnVaR2xoYml3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQkNkV1ptWlhJZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaENkV1ptWlhJc0lHVnVaR2xoYml3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0dWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlVXhwYTJVb1FYSnlZWGtzSUdWdVpHbGhiaXdnYkdWdVozUm9LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJpZVhSbFRHVnVaM1JvSUQwZ2RHaHBjeTVpZVhSbFRHVnVaM1JvS0NrN1hHNGdJQ0FnZG1GeUlISmxjVXhsYm1kMGFDQTlJR3hsYm1kMGFDQjhmQ0JOWVhSb0xtMWhlQ2d4TENCaWVYUmxUR1Z1WjNSb0tUdGNiaUFnSUNCaGMzTmxjblFvWW5sMFpVeGxibWQwYUNBOFBTQnlaWEZNWlc1bmRHZ3NJQ2RpZVhSbElHRnljbUY1SUd4dmJtZGxjaUIwYUdGdUlHUmxjMmx5WldRZ2JHVnVaM1JvSnlrN1hHNGdJQ0FnWVhOelpYSjBLSEpsY1V4bGJtZDBhQ0ErSURBc0lDZFNaWEYxWlhOMFpXUWdZWEp5WVhrZ2JHVnVaM1JvSUR3OUlEQW5LVHRjYmx4dUlDQWdJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdJQ0IyWVhJZ2JHbDBkR3hsUlc1a2FXRnVJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5PMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQnVaWGNnUVhKeVlYbFVlWEJsS0hKbGNVeGxibWQwYUNrN1hHNWNiaUFnSUNCMllYSWdZaXdnYVR0Y2JpQWdJQ0IyWVhJZ2NTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0JwWmlBb0lXeHBkSFJzWlVWdVpHbGhiaWtnZTF4dUlDQWdJQ0FnTHk4Z1FYTnpkVzFsSUdKcFp5MWxibVJwWVc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J5WlhGTVpXNW5kR2dnTFNCaWVYUmxUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelczSmxjVXhsYm1kMGFDQXRJR2tnTFNBeFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJQ0Z4TG1seldtVnlieWdwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlIRXVZVzVrYkc0b01IaG1aaWs3WEc0Z0lDQWdJQ0FnSUhFdWFYVnphSEp1S0RncE8xeHVYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z2NtVnhUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNoTllYUm9MbU5zZWpNeUtTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNeklnTFNCTllYUm9MbU5zZWpNeUtIY3BPMXh1SUNBZ0lIMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTGw5amIzVnVkRUpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZZMjkxYm5SQ2FYUnpJQ2gzS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VERXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F4TXp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFFnUGowZ01IZzBNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnNEtTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlREF5S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY2lBcklIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmVtVnliMEpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZlbVZ5YjBKcGRITWdLSGNwSUh0Y2JpQWdJQ0F2THlCVGFHOXlkQzFqZFhSY2JpQWdJQ0JwWmlBb2R5QTlQVDBnTUNrZ2NtVjBkWEp1SURJMk8xeHVYRzRnSUNBZ2RtRnlJSFFnUFNCM08xeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURGbVptWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURkbUtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpQXJQU0EzTzF4dUlDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvZENBbUlEQjRaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lIUWdQajQrUFNBME8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURNcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREk3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdNanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaXNyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm5WdFltVnlJRzltSUhWelpXUWdZbWwwY3lCcGJpQmhJRUpPWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVpYVhSTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWFYUk1aVzVuZEdnZ0tDa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUhaaGNpQm9hU0E5SUhSb2FYTXVYMk52ZFc1MFFtbDBjeWgzS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWJHVnVaM1JvSUMwZ01Ta2dLaUF5TmlBcklHaHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhSdlFtbDBRWEp5WVhrZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCM0lEMGdibVYzSUVGeWNtRjVLRzUxYlM1aWFYUk1aVzVuZEdnb0tTazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmlhWFFnUFNBd095QmlhWFFnUENCM0xteGxibWQwYURzZ1ltbDBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQnZabVlnUFNBb1ltbDBJQzhnTWpZcElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0FnSUhkYlltbDBYU0E5SUNodWRXMHVkMjl5WkhOYmIyWm1YU0FtSUNneElEdzhJSGRpYVhRcEtTQStQajRnZDJKcGREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZHp0Y2JpQWdmVnh1WEc0Z0lDOHZJRTUxYldKbGNpQnZaaUIwY21GcGJHbHVaeUI2WlhKdklHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbnBsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnZW1WeWIwSnBkSE1nS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NWZlbVZ5YjBKcGRITW9kR2hwY3k1M2IzSmtjMXRwWFNrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdJQ0JwWmlBb1lpQWhQVDBnTWpZcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlubDBaVXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtTmxhV3dvZEdocGN5NWlhWFJNWlc1bmRHZ29LU0F2SURncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxUjNiM01nUFNCbWRXNWpkR2x2YmlCMGIxUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUZpY3lncExtbHViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVlIzYjNNZ1BTQm1kVzVqZEdsdmJpQm1jbTl0VkhkdmN5QW9kMmxrZEdncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1MFpYTjBiaWgzYVdSMGFDQXRJREVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLUzVwYm1WbktDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1selRtVm5JRDBnWm5WdVkzUnBiMjRnYVhOT1pXY2dLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJtVm5LQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1WldjZ1BTQm1kVzVqZEdsdmJpQnBibVZuSUNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCUGNpQmdiblZ0WUNCM2FYUm9JR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYVnZjaUE5SUdaMWJtTjBhVzl1SUdsMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdncksxMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saGJtUWdQU0JtZFc1amRHbHZiaUJwWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ2ZDQnVkVzB1Ym1WbllYUnBkbVVwSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFdGdVpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a0lEMGdablZ1WTNScGIyNGdZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saGJtUW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVdGdVpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFdGdVpDQTlJR1oxYm1OMGFXOXVJSFZoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVmhibVFvYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFYVmhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1dHOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkWGh2Y2lBOUlHWjFibU4wYVc5dUlHbDFlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJoTG14bGJtZDBhQ0ErSUdJdWJHVnVaM1JvWEc0Z0lDQWdkbUZ5SUdFN1hHNGdJQ0FnZG1GeUlHSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZU0E5SUhSb2FYTTdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoSUQwZ2JuVnRPMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFNCZUlHSXVkMjl5WkhOYmFWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJR0VwSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYaHZjaUE5SUdaMWJtTjBhVzl1SUdsNGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWVHOXlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnV0c5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NGIzSWdQU0JtZFc1amRHbHZiaUI0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYaHZjaWh1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGVHOXlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWVHOXlJRDBnWm5WdVkzUnBiMjRnZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkWGh2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk9iM1FnWUdCMGFHbHpZR0FnZDJsMGFDQmdZSGRwWkhSb1lHQWdZbWwwZDJsa2RHaGNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHViM1J1SUQwZ1puVnVZM1JwYjI0Z2FXNXZkRzRnS0hkcFpIUm9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCM2FXUjBhQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdkMmxrZEdnZ1BqMGdNQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaWE5PWldWa1pXUWdQU0JOWVhSb0xtTmxhV3dvZDJsa2RHZ2dMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYVhSelRHVm1kQ0E5SUhkcFpIUm9JQ1VnTWpZN1hHNWNiaUFnSUNBdkx5QkZlSFJsYm1RZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR0o1ZEdWelRtVmxaR1ZrS1R0Y2JseHVJQ0FnSUdsbUlDaGlhWFJ6VEdWbWRDQStJREFwSUh0Y2JpQWdJQ0FnSUdKNWRHVnpUbVZsWkdWa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHTnZiWEJzWlhSbElIZHZjbVJ6WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpZVhSbGMwNWxaV1JsWkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdmblJvYVhNdWQyOXlaSE5iYVYwZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUm9aU0J5WlhOcFpIVmxYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnS0RCNE0yWm1abVptWmlBK1BpQW9NallnTFNCaWFYUnpUR1ZtZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRnVaQ0J5WlcxdmRtVWdiR1ZoWkdsdVp5QjZaWEp2WlhOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV1YjNSdUlEMGdablZ1WTNScGIyNGdibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdWIzUnVLSGRwWkhSb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVFpYUWdZR0pwZEdBZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1elpYUnVJRDBnWm5WdVkzUnBiMjRnYzJWMGJpQW9ZbWwwTENCMllXd3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBJRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJoYm1Rb2IyWm1JQ3NnTVNrN1hHNWNiaUFnSUNCcFppQW9kbUZzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnZkNBb01TQThQQ0IzWW1sMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0dlptWmRJRDBnZEdocGN5NTNiM0prYzF0dlptWmRJQ1lnZmlneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVdSa0lHQnVkVzFnSUhSdklHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGa1pDQTlJR1oxYm1OMGFXOXVJR2xoWkdRZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeU8xeHVYRzRnSUNBZ0x5OGdibVZuWVhScGRtVWdLeUJ3YjNOcGRHbDJaVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQnlJRDBnZEdocGN5NXBjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JseHVJQ0FnSUM4dklIQnZjMmwwYVhabElDc2dibVZuWVhScGRtVmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnS3lBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BqNGdNalk3WEc0Z0lDQWdmVnh1SUNBZ0lHWnZjaUFvT3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY2lBOUlDaGhMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFGMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdMeThnUTI5d2VTQjBhR1VnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUIwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1emRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSEpsY3lBOUlHNTFiUzV6ZFdJb2RHaHBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXUmtLRzUxYlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFXRmtaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdMU0FvTFc1MWJTa2dQU0IwYUdseklDc2diblZ0WEc0Z0lDQWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhJdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUF0ZEdocGN5QXRJRzUxYlNBOUlDMG9kR2hwY3lBcklHNTFiU2xjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGMElIUm9hWE1nY0c5cGJuUWdZbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpWeHVJQ0FnSUhaaGNpQmpiWEFnUFNCMGFHbHpMbU50Y0NodWRXMHBPMXh1WEc0Z0lDQWdMeThnVDNCMGFXMXBlbUYwYVc5dUlDMGdlbVZ5YjJsbWVWeHVJQ0FnSUdsbUlDaGpiWEFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhJRDRnWWx4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnTFNBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K0lESTJPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlISWdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUTI5d2VTQnlaWE4wSUc5bUlIUm9aU0IzYjNKa2MxeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZ2dKaVlnWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrcE8xeHVYRzRnSUNBZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZaUE5SUdaMWJtTjBhVzl1SUhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMzVmlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjMjFoYkd4TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNBb2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1NCOElEQTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJR3hsYmp0Y2JpQWdJQ0JzWlc0Z1BTQW9iR1Z1SUMwZ01Ta2dmQ0F3TzF4dVhHNGdJQ0FnTHk4Z1VHVmxiQ0J2Ym1VZ2FYUmxjbUYwYVc5dUlDaGpiMjF3YVd4bGNpQmpZVzRuZENCa2J5QnBkQ3dnWW1WallYVnpaU0J2WmlCamIyUmxJR052YlhCc1pYaHBkSGtwWEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdLSElnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQnZkWFF1ZDI5eVpITmJNRjBnUFNCc2J6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F4T3lCcklEd2diR1Z1T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnWTJGeWNua2dQajQrSURJMk8xeHVJQ0FnSUNBZ2RtRnlJSEozYjNKa0lEMGdZMkZ5Y25rZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjJZWElnYldGNFNpQTlJRTFoZEdndWJXbHVLR3NzSUc1MWJTNXNaVzVuZEdnZ0xTQXhLVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNCTllYUm9MbTFoZUNnd0xDQnJJQzBnYzJWc1ppNXNaVzVuZEdnZ0t5QXhLVHNnYWlBOFBTQnRZWGhLT3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0FvYXlBdElHb3BJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lTQTlJSE5sYkdZdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2JuVnRMbmR2Y21SelcycGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NpQTlJR0VnS2lCaUlDc2djbmR2Y21RN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBclBTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5ZDI5eVpDQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpDQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJRzVqWVhKeWVTQjhJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2IzVjBMbmR2Y21SelcydGRJRDBnWTJGeWNua2dmQ0F3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnTHk4Z1ZFOUVUeWhwYm1SMWRHNTVLVG9nYVhRZ2JXRjVJR0psSUhKbFlYTnZibUZpYkdVZ2RHOGdiMjFwZENCcGRDQm1iM0lnZFhObGNuTWdkMmh2SUdSdmJpZDBJRzVsWldSY2JpQWdMeThnZEc4Z2QyOXlheUIzYVhSb0lESTFOaTFpYVhRZ2JuVnRZbVZ5Y3l3Z2IzUm9aWEozYVhObElHbDBJR2RwZG1WeklESXdKU0JwYlhCeWIzWmxiV1Z1ZENCbWIzSWdNalUyTFdKcGRGeHVJQ0F2THlCdGRXeDBhWEJzYVdOaGRHbHZiaUFvYkdsclpTQmxiR3hwY0hScFl5QnpaV053TWpVMmF6RXBMbHh1SUNCMllYSWdZMjl0WWpFd1RYVnNWRzhnUFNCbWRXNWpkR2x2YmlCamIyMWlNVEJOZFd4VWJ5QW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcElIdGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUc4Z1BTQnZkWFF1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJR01nUFNBd08xeHVJQ0FnSUhaaGNpQnNienRjYmlBZ0lDQjJZWElnYldsa08xeHVJQ0FnSUhaaGNpQm9hVHRjYmlBZ0lDQjJZWElnWVRBZ1BTQmhXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d3SUQwZ1lUQWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTUNBOUlHRXdJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVEVnUFNCaFd6RmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3hJRDBnWVRFZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NU0E5SUdFeElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUSWdQU0JoV3pKZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eUlEMGdZVElnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01pQTlJR0V5SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRNZ1BTQmhXek5kSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d6SUQwZ1lUTWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTXlBOUlHRXpJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFFnUFNCaFd6UmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzBJRDBnWVRRZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OQ0E5SUdFMElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUVWdQU0JoV3pWZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MUlEMGdZVFVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05TQTlJR0UxSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRZZ1BTQmhXelpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cySUQwZ1lUWWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTmlBOUlHRTJJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGNnUFNCaFd6ZGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzNJRDBnWVRjZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OeUE5SUdFM0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUZ2dQU0JoV3poZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3NElEMGdZVGdnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb09DQTlJR0U0SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRrZ1BTQmhXemxkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c1SUQwZ1lUa2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT1NBOUlHRTVJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZakFnUFNCaVd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3dJRDBnWWpBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NQ0E5SUdJd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqRWdQU0JpV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eElEMGdZakVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01TQTlJR0l4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpJZ1BTQmlXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd5SUQwZ1lqSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTWlBOUlHSXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZak1nUFNCaVd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3pJRDBnWWpNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NeUE5SUdJeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqUWdQU0JpV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MElEMGdZalFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05DQTlJR0kwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpVZ1BTQmlXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcxSUQwZ1lqVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTlNBOUlHSTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZallnUFNCaVd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzJJRDBnWWpZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OaUE5SUdJMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqY2dQU0JpV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWW13M0lEMGdZamNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb055QTlJR0kzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpnZ1BTQmlXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXc0SUQwZ1lqZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvT0NBOUlHSTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamtnUFNCaVd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzVJRDBnWWprZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PU0E5SUdJNUlENCtQaUF4TXp0Y2JseHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJSE5sYkdZdWJtVm5ZWFJwZG1VZ1hpQnVkVzB1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SURFNU8xeHVJQ0FnSUM4cUlHc2dQU0F3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01DazdYRzRnSUNBZ2RtRnlJSGN3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTUNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6QWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01pQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdneUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3lJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNaUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3pJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpNZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kelFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ05TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTlNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6VWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTJJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM05pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkellnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EzSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNExDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjNElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM09DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkemdnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0E1SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM1SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT1NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6a2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eEtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhREVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURFcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UQWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNU0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRElwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURJcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXhJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRNcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NeWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTXlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXlJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE15QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEUXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRFFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVE1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TkNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzFLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURVcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEVXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRZcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTmlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TlNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzNLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURjcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEY3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE5pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRZZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE55QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEZ3BPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRGdwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE55QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRrcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT1NrN1hHNGdJQ0FnZG1GeUlIY3hPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekU0SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UZ2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJRzliTUYwZ1BTQjNNRHRjYmlBZ0lDQnZXekZkSUQwZ2R6RTdYRzRnSUNBZ2Ixc3lYU0E5SUhjeU8xeHVJQ0FnSUc5Yk0xMGdQU0IzTXp0Y2JpQWdJQ0J2V3pSZElEMGdkelE3WEc0Z0lDQWdiMXMxWFNBOUlIYzFPMXh1SUNBZ0lHOWJObDBnUFNCM05qdGNiaUFnSUNCdld6ZGRJRDBnZHpjN1hHNGdJQ0FnYjFzNFhTQTlJSGM0TzF4dUlDQWdJRzliT1YwZ1BTQjNPVHRjYmlBZ0lDQnZXekV3WFNBOUlIY3hNRHRjYmlBZ0lDQnZXekV4WFNBOUlIY3hNVHRjYmlBZ0lDQnZXekV5WFNBOUlIY3hNanRjYmlBZ0lDQnZXekV6WFNBOUlIY3hNenRjYmlBZ0lDQnZXekUwWFNBOUlIY3hORHRjYmlBZ0lDQnZXekUxWFNBOUlIY3hOVHRjYmlBZ0lDQnZXekUyWFNBOUlIY3hOanRjYmlBZ0lDQnZXekUzWFNBOUlIY3hOenRjYmlBZ0lDQnZXekU0WFNBOUlIY3hPRHRjYmlBZ0lDQnBaaUFvWXlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjFzeE9WMGdQU0JqTzF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiM1YwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ2YkhsbWFXeHNJR052YldKY2JpQWdhV1lnS0NGTllYUm9MbWx0ZFd3cElIdGNiaUFnSUNCamIyMWlNVEJOZFd4VWJ5QTlJSE50WVd4c1RYVnNWRzg3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaWFXZE5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQnVkVzB1Ym1WbllYUnBkbVVnWGlCelpXeG1MbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0J6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJSFpoY2lCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcklEMGdNRHNnYXlBOElHOTFkQzVzWlc1bmRHZ2dMU0F4T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQWdJR2h1WTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISjNiM0prSUQwZ1kyRnljbmtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMllYSWdiV0Y0U2lBOUlFMWhkR2d1YldsdUtHc3NJRzUxYlM1c1pXNW5kR2dnTFNBeEtUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0JOWVhSb0xtMWhlQ2d3TENCcklDMGdjMlZzWmk1c1pXNW5kR2dnS3lBeEtUc2dhaUE4UFNCdFlYaEtPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQnJJQzBnYWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzVqWVhKeWVTQTlJQ2h1WTJGeWNua2dLeUFvS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrcElId2dNRHRjYmlBZ0lDQWdJQ0FnYkc4Z1BTQW9iRzhnS3lCeWQyOXlaQ2tnZkNBd08xeHVJQ0FnSUNBZ0lDQnlkMjl5WkNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tHeHZJRDQrUGlBeU5pa3BJSHdnTUR0Y2JseHVJQ0FnSUNBZ0lDQm9ibU5oY25KNUlDczlJRzVqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCeWQyOXlaRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNU8xeHVJQ0FnSUNBZ2JtTmhjbko1SUQwZ2FHNWpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2IzVjBMbXhsYm1kMGFDMHRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUXVjM1J5YVhBb0tUdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR3AxYldKdlRYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdabWRHMGdQU0J1WlhjZ1JrWlVUU2dwTzF4dUlDQWdJSEpsZEhWeWJpQm1ablJ0TG0xMWJIQW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmdkR2hwYzJBZ1lua2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXeFVieWh1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2daVzF3Ykc5NWFXNW5JRVpHVkZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ppQTlJR1oxYm1OMGFXOXVJRzExYkdZZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJR3AxYldKdlRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVMWEJzWVdObElFMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzV0ZFd4VWJ5aHVkVzBzSUhSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiWFZzYmlBOUlHWjFibU4wYVc5dUlHbHRkV3h1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeHVJRDBnWm5WdVkzUnBiMjRnYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJYVnNiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdCMGFHbHpZQ0FxSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM0Z5SUQwZ1puVnVZM1JwYjI0Z2MzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMTFiQ2gwYUdsekxtTnNiMjVsS0NrcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxaGRHZ3VjRzkzS0dCMGFHbHpZQ3dnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXdiM2NnUFNCbWRXNWpkR2x2YmlCd2IzY2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEc5Q2FYUkJjbkpoZVNodWRXMHBPMXh1SUNBZ0lHbG1JQ2gzTG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lDOHZJRk5yYVhBZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3p0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEpsY3lBOUlISmxjeTV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdhV1lnS0hkYmFWMGdJVDA5SURBcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNncksya2dQQ0IzTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnY1NBOUlISmxjeTV6Y1hJb0tUc2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEVnUFNCeExuTnhjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gzVzJsZElEMDlQU0F3S1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWE1nUFNCeVpYTXViWFZzS0hFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRiR1ZtZENCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFHeHVJRDBnWm5WdVkzUnBiMjRnYVhWemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZEhNZ0xTQnlLU0F2SURJMk8xeHVJQ0FnSUhaaGNpQmpZWEp5ZVUxaGMyc2dQU0FvTUhnelptWm1abVptSUQ0K1BpQW9NallnTFNCeUtTa2dQRHdnS0RJMklDMGdjaWs3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVsZDBOaGNuSjVJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JR05oY25KNVRXRnphenRjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0FvS0hSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElHNWxkME5oY25KNUtTQThQQ0J5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWXlCOElHTmhjbko1TzF4dUlDQWdJQ0FnSUNCallYSnllU0E5SUc1bGQwTmhjbko1SUQ0K1BpQW9NallnTFNCeUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUNzOUlITTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbHRjR3hsYldWdWRDQnRaVnh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWE5vYkc0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMmhwWm5RdGNtbG5hSFFnYVc0dGNHeGhZMlZjYmlBZ0x5OGdUazlVUlRvZ1lHaHBiblJnSUdseklHRWdiRzkzWlhOMElHSnBkQ0JpWldadmNtVWdkSEpoYVd4cGJtY2dlbVZ5YjJWelhHNGdJQzh2SUU1UFZFVTZJR2xtSUdCbGVIUmxibVJsWkdBZ2FYTWdjSEpsYzJWdWRDQXRJR2wwSUhkcGJHd2dZbVVnWm1sc2JHVmtJSGRwZEdnZ1pHVnpkSEp2ZVdWa0lHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2wxYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkSE1nUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZEhNZ1BqMGdNQ2s3WEc0Z0lDQWdkbUZ5SUdnN1hHNGdJQ0FnYVdZZ0tHaHBiblFwSUh0Y2JpQWdJQ0FnSUdnZ1BTQW9hR2x1ZENBdElDaG9hVzUwSUNVZ01qWXBLU0F2SURJMk8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJRTFoZEdndWJXbHVLQ2hpYVhSeklDMGdjaWtnTHlBeU5pd2dkR2hwY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVptSUY0Z0tDZ3dlRE5tWm1abVptWWdQajQrSUhJcElEdzhJSElwTzF4dUlDQWdJSFpoY2lCdFlYTnJaV1JYYjNKa2N5QTlJR1Y0ZEdWdVpHVmtPMXh1WEc0Z0lDQWdhQ0F0UFNCek8xeHVJQ0FnSUdnZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JvS1R0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkdWa0lHMXZaR1VzSUdOdmNIa2diV0Z6YTJWa0lIQmhjblJjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djenNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG14bGJtZDBhQ0E5SUhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDOHZJRTV2TFc5d0xDQjNaU0J6YUc5MWJHUWdibTkwSUcxdmRtVWdZVzU1ZEdocGJtY2dZWFFnWVd4c1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJSE03WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBZ0ppWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dQajBnYUNrN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIZHZjbVFnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvWTJGeWNua2dQRHdnS0RJMklDMGdjaWtwSUh3Z0tIZHZjbVFnUGo0K0lISXBPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNiM0prSUNZZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRZFhOb0lHTmhjbkpwWldRZ1ltbDBjeUJoY3lCaElHMWhjMnRjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNZ0ppWWdZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGMydGxaRmR2Y21SekxuZHZjbVJ6VzIxaGMydGxaRmR2Y21SekxteGxibWQwYUNzclhTQTlJR05oY25KNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYjI1c2VTQnNiM2RsY25NZ1ltbDBjeUJ2WmlCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTFoYzJ0dUlEMGdablZ1WTNScGIyNGdiV0Z6YTI0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdFlYTnJiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJSFJ2SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV0ZrWkc0Z1BTQm1kVzVqZEdsdmJpQnBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3Z01IZzBNREF3TURBd0tUdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2djbVYwZFhKdUlIUm9hWE11YVhOMVltNG9MVzUxYlNrN1hHNWNiaUFnSUNBdkx5QlFiM056YVdKc1pTQnphV2R1SUdOb1lXNW5aVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnS0hSb2FYTXVkMjl5WkhOYk1GMGdmQ0F3S1NBOElHNTFiU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnYm5WdElDMGdLSFJvYVhNdWQyOXlaSE5iTUYwZ2ZDQXdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVhOMVltNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdodmRYUWdZMmhsWTJ0elhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBZV1JrYmlBOUlHWjFibU4wYVc5dUlGOXBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBclBTQnVkVzA3WEc1Y2JpQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0ErUFNBd2VEUXdNREF3TURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQXRQU0F3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJREZkSUQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySURGZEt5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrZ0t5QXhLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk4xWW5SeVlXTjBJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVltNGdQU0JtZFc1amRHbHZiaUJwYzNWaWJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmlBZ0lDQnBaaUFvYm5WdElEd2dNQ2tnY21WMGRYSnVJSFJvYVhNdWFXRmtaRzRvTFc1MWJTazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdSdUtHNTFiU2s3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0xUMGdiblZ0TzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeElDWW1JSFJvYVhNdWQyOXlaSE5iTUYwZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdMWFJvYVhNdWQyOXlaSE5iTUYwN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnUTJGeWNubGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0E4SURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQ3M5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ0xUMGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhaR1J1SUQwZ1puVnVZM1JwYjI0Z1lXUmtiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZV1JrYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkV0p1SUQwZ1puVnVZM1JwYjI0Z2MzVmliaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBjM1ZpYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV0p6SUQwZ1puVnVZM1JwYjI0Z2FXRmljeUFvS1NCN1hHNGdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdKeklEMGdablZ1WTNScGIyNGdZV0p6SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhZbk1vS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsemFHeHVjM1ZpYlhWc0lEMGdablZ1WTNScGIyNGdYMmx6YUd4dWMzVmliWFZzSUNodWRXMHNJRzExYkN3Z2MyaHBablFwSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYm5WdExteGxibWQwYUNBcklITm9hV1owTzF4dUlDQWdJSFpoY2lCcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR3hsYmlrN1hHNWNiaUFnSUNCMllYSWdkenRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCeWFXZG9kQ0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlHMTFiRHRjYmlBZ0lDQWdJSGNnTFQwZ2NtbG5hSFFnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUNoM0lENCtJREkyS1NBdElDZ29jbWxuYUhRZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDMGdjMmhwWm5RN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnUFQwOUlEQXBJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc1Y2JpQWdJQ0F2THlCVGRXSjBjbUZqZEdsdmJpQnZkbVZ5Wm14dmQxeHVJQ0FnSUdGemMyVnlkQ2hqWVhKeWVTQTlQVDBnTFRFcE8xeHVJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUMwb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZkMjl5WkVScGRpQTlJR1oxYm1OMGFXOXVJRjkzYjNKa1JHbDJJQ2h1ZFcwc0lHMXZaR1VwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCMGFHbHpMbXhsYm1kMGFDQXRJRzUxYlM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFNXZjbTFoYkdsNlpWeHVJQ0FnSUhaaGNpQmlhR2tnUFNCaUxuZHZjbVJ6VzJJdWJHVnVaM1JvSUMwZ01WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWFHbENhWFJ6SUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0dKb2FTazdYRzRnSUNBZ2MyaHBablFnUFNBeU5pQXRJR0pvYVVKcGRITTdYRzRnSUNBZ2FXWWdLSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaUlEMGdZaTUxYzJoc2JpaHphR2xtZENrN1hHNGdJQ0FnSUNCaExtbDFjMmhzYmloemFHbG1kQ2s3WEc0Z0lDQWdJQ0JpYUdrZ1BTQmlMbmR2Y21SelcySXViR1Z1WjNSb0lDMGdNVjBnZkNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdjWFZ2ZEdsbGJuUmNiaUFnSUNCMllYSWdiU0E5SUdFdWJHVnVaM1JvSUMwZ1lpNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlIRTdYRzVjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJSEVnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ0lDQnhMbXhsYm1kMGFDQTlJRzBnS3lBeE8xeHVJQ0FnSUNBZ2NTNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaHhMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHUnBabVlnUFNCaExtTnNiMjVsS0NrdVgybHphR3h1YzNWaWJYVnNLR0lzSURFc0lHMHBPMXh1SUNBZ0lHbG1JQ2hrYVdabUxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdaR2xtWmp0Y2JpQWdJQ0FnSUdsbUlDaHhLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYlYwZ1BTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J0SUMwZ01Uc2dhaUErUFNBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhhaUE5SUNoaExuZHZjbVJ6VzJJdWJHVnVaM1JvSUNzZ2FsMGdmQ0F3S1NBcUlEQjROREF3TURBd01DQXJYRzRnSUNBZ0lDQWdJQ2hoTG5kdmNtUnpXMkl1YkdWdVozUm9JQ3NnYWlBdElERmRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lDOHZJRTVQVkVVNklDaHhhaUF2SUdKb2FTa2dhWE1nS0RCNE0yWm1abVptWmlBcUlEQjROREF3TURBd01DQXJJREI0TTJabVptWm1aaWtnTHlBd2VESXdNREF3TURBZ2JXRjRYRzRnSUNBZ0lDQXZMeUFvTUhnM1ptWm1abVptS1Z4dUlDQWdJQ0FnY1dvZ1BTQk5ZWFJvTG0xcGJpZ29jV29nTHlCaWFHa3BJSHdnTUN3Z01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2djV29zSUdvcE8xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NXb3RMVHRjYmlBZ0lDQWdJQ0FnWVM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQWdJR0V1WDJsemFHeHVjM1ZpYlhWc0tHSXNJREVzSUdvcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeEtTQjdYRzRnSUNBZ0lDQWdJSEV1ZDI5eVpITmJhbDBnUFNCeGFqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJSEV1YzNSeWFYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ1lTNXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdSR1Z1YjNKdFlXeHBlbVZjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY2dKaVlnYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtITm9hV1owS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdaR2wyT2lCeElIeDhJRzUxYkd3c1hHNGdJQ0FnSUNCdGIyUTZJR0ZjYmlBZ0lDQjlPMXh1SUNCOU8xeHVYRzRnSUM4dklFNVBWRVU2SURFcElHQnRiMlJsWUNCallXNGdZbVVnYzJWMElIUnZJR0J0YjJSZ0lIUnZJSEpsY1hWbGMzUWdiVzlrSUc5dWJIa3NYRzRnSUM4dklDQWdJQ0FnSUhSdklHQmthWFpnSUhSdklISmxjWFZsYzNRZ1pHbDJJRzl1Ykhrc0lHOXlJR0psSUdGaWMyVnVkQ0IwYjF4dUlDQXZMeUFnSUNBZ0lDQnlaWEYxWlhOMElHSnZkR2dnWkdsMklDWWdiVzlrWEc0Z0lDOHZJQ0FnSUNBZ0lESXBJR0J3YjNOcGRHbDJaV0FnYVhNZ2RISjFaU0JwWmlCMWJuTnBaMjVsWkNCdGIyUWdhWE1nY21WeGRXVnpkR1ZrWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhadGIyUWdQU0JtZFc1amRHbHZiaUJrYVhadGIyUWdLRzUxYlN3Z2JXOWtaU3dnY0c5emFYUnBkbVVwSUh0Y2JpQWdJQ0JoYzNObGNuUW9JVzUxYlM1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tEQXBYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVhZc0lHMXZaQ3dnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2R0YjJRbktTQjdYRzRnSUNBZ0lDQWdJR1JwZGlBOUlISmxjeTVrYVhZdWJtVm5LQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnRiMlFnUFNCeVpYTXViVzlrTG01bFp5Z3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwZG1VZ0ppWWdiVzlrTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXOWtMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUnBkbTF2WkNodWRXMHVibVZuS0Nrc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2djbVZ6TG0xdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ0ppQnVkVzB1Ym1WbllYUnBkbVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG01bFp5Z3BMbVJwZG0xdlpDaHVkVzB1Ym1WbktDa3NJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCeVpYTXVaR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQ2IzUm9JRzUxYldKbGNuTWdZWEpsSUhCdmMybDBhWFpsSUdGMElIUm9hWE1nY0c5cGJuUmNibHh1SUNBZ0lDOHZJRk4wY21sd0lHSnZkR2dnYm5WdFltVnljeUIwYnlCaGNIQnliM2hwYldGMFpTQnphR2xtZENCMllXeDFaVnh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQ0Z2RHaHBjeTVzWlc1bmRHZ2dmSHdnZEdocGN5NWpiWEFvYm5WdEtTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklIUm9hWE5jYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVm1WeWVTQnphRzl5ZENCeVpXUjFZM1JwYjI1Y2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1MWJHeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdaR2wyT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhSb2FYTXVaR2wyYmlodWRXMHVkMjl5WkhOYk1GMHBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2Wkc0b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnY2pJZ1BUMDlJREVnSmlZZ1kyMXdJRDA5UFNBd0tTQnlaWFIxY200Z1pHMHVaR2wyTzF4dVhHNGdJQ0FnTHk4Z1VtOTFibVFnZFhCY2JpQWdJQ0J5WlhSMWNtNGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHVaR2wyTG1semRXSnVLREVwSURvZ1pHMHVaR2wyTG1saFpHUnVLREVwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0YjJSdUlEMGdablZ1WTNScGIyNGdiVzlrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUhaaGNpQndJRDBnS0RFZ1BEd2dNallwSUNVZ2JuVnRPMXh1WEc0Z0lDQWdkbUZ5SUdGall5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lHRmpZeUE5SUNod0lDb2dZV05qSUNzZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTa2dKU0J1ZFcwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JrYVhacGMybHZiaUJpZVNCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxrYVhadUlEMGdablZ1WTNScGIyNGdhV1JwZG00Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNUlDb2dNSGcwTURBd01EQXdPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlDaDNJQzhnYm5WdEtTQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiaUE5SUdaMWJtTjBhVzl1SUdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXUnBkbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpXZGpaQ0E5SUdaMWJtTjBhVzl1SUdWblkyUWdLSEFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9jQzV1WldkaGRHbDJaU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NGd0xtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUI0SUQwZ2RHaHBjenRjYmlBZ0lDQjJZWElnZVNBOUlIQXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lHbG1JQ2g0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNTFiVzlrS0hBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNWpiRzl1WlNncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRWdLaUI0SUNzZ1FpQXFJSGtnUFNCNFhHNGdJQ0FnZG1GeUlFRWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUVJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQXZMeUJESUNvZ2VDQXJJRVFnS2lCNUlEMGdlVnh1SUNBZ0lIWmhjaUJESUQwZ2JtVjNJRUpPS0RBcE8xeHVJQ0FnSUhaaGNpQkVJRDBnYm1WM0lFSk9LREVwTzF4dVhHNGdJQ0FnZG1GeUlHY2dQU0F3TzF4dVhHNGdJQ0FnZDJocGJHVWdLSGd1YVhORmRtVnVLQ2tnSmlZZ2VTNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdlQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I1TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNzclp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdlWEFnUFNCNUxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlIaHdJRDBnZUM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLQ0Y0TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvZUM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSGd1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hCTG1selQyUmtLQ2tnZkh3Z1FpNXBjMDlrWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxtbGhaR1FvZVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnUWk1cGMzVmlLSGh3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCQkxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdJQ0JDTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTUN3Z2FtMGdQU0F4T3lBb2VTNTNiM0prYzFzd1hTQW1JR3B0S1NBOVBUMGdNQ0FtSmlCcUlEd2dNalk3SUNzcmFpd2dhbTBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0dvZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYVnphSEp1S0dvcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FpMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoRExtbHpUMlJrS0NrZ2ZId2dSQzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkRMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1JDNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCRUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VDNWpiWEFvZVNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbHpkV0lvZVNrN1hHNGdJQ0FnSUNBZ0lFRXVhWE4xWWloREtUdGNiaUFnSUNBZ0lDQWdRaTVwYzNWaUtFUXBPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlUzVwYzNWaUtIZ3BPMXh1SUNBZ0lDQWdJQ0JETG1semRXSW9RU2s3WEc0Z0lDQWdJQ0FnSUVRdWFYTjFZaWhDS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZVG9nUXl4Y2JpQWdJQ0FnSUdJNklFUXNYRzRnSUNBZ0lDQm5ZMlE2SUhrdWFYVnphR3h1S0djcFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJVYUdseklHbHpJSEpsWkhWalpXUWdhVzVqWVhKdVlYUnBiMjRnYjJZZ2RHaGxJR0pwYm1GeWVTQkZSVUZjYmlBZ0x5OGdZV0p2ZG1Vc0lHUmxjMmxuYm1GMFpXUWdkRzhnYVc1MlpYSjBJRzFsYldKbGNuTWdiMllnZEdobFhHNGdJQzh2SUY5d2NtbHRaVjhnWm1sbGJHUnpJRVlvY0NrZ1lYUWdZU0J0WVhocGJXRnNJSE53WldWa1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNTJiWEFnUFNCbWRXNWpkR2x2YmlCZmFXNTJiWEFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoaExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdZUzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaElEMGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI0TVNBOUlHNWxkeUJDVGlneEtUdGNiaUFnSUNCMllYSWdlRElnUFNCdVpYY2dRazRvTUNrN1hHNWNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQmlMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjNhR2xzWlNBb1lTNWpiWEJ1S0RFcElENGdNQ0FtSmlCaUxtTnRjRzRvTVNrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhVzBnUFNBeE95QW9ZUzUzYjNKa2Mxc3dYU0FtSUdsdEtTQTlQVDBnTUNBbUppQnBJRHdnTWpZN0lDc3JhU3dnYVcwZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWFZ6YUhKdUtHa3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hUzB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNUzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNUzVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1TNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLR0l1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmlMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9lREl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlREl1YVdGa1pDaGtaV3gwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2VESXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGhMbU50Y0NoaUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNBZ0lDQWdlREV1YVhOMVlpaDRNaWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JpTG1semRXSW9ZU2s3WEc0Z0lDQWdJQ0FnSUhneUxtbHpkV0lvZURFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdhV1lnS0dFdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdlREU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZGpaQ0E5SUdaMWJtTjBhVzl1SUdkalpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJ1ZFcwdVlXSnpLQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTNXBjMXBsY204b0tTa2djbVYwZFhKdUlIUm9hWE11WVdKektDazdYRzVjYmlBZ0lDQjJZWElnWVNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQjJZWElnWWlBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJR0l1Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ0x5OGdVbVZ0YjNabElHTnZiVzF2YmlCbVlXTjBiM0lnYjJZZ2RIZHZYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2MyaHBablFnUFNBd095QmhMbWx6UlhabGJpZ3BJQ1ltSUdJdWFYTkZkbVZ1S0NrN0lITm9hV1owS3lzcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdZaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnZDJocGJHVWdLR0V1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb1lpNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSElnUFNCaExtTnRjQ2hpS1R0Y2JpQWdJQ0FnSUdsbUlDaHlJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUZDJGd0lHQmhZQ0JoYm1RZ1lHSmdJSFJ2SUcxaGEyVWdZR0ZnSUdGc2QyRjVjeUJpYVdkblpYSWdkR2hoYmlCZ1ltQmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQmhPMXh1SUNBZ0lDQWdJQ0JoSUQwZ1lqdGNiaUFnSUNBZ0lDQWdZaUE5SUhRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISWdQVDA5SURBZ2ZId2dZaTVqYlhCdUtERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2RISjFaU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZaTVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdWRtVnlkQ0J1ZFcxaVpYSWdhVzRnZEdobElHWnBaV3hrSUVZb2JuVnRLVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZuWTJRb2JuVnRLUzVoTG5WdGIyUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhORmRtVnVJRDBnWm5WdVkzUnBiMjRnYVhORmRtVnVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTlBaR1FnUFNCbWRXNWpkR2x2YmlCcGMwOWtaQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuZHZjbVJ6V3pCZElDWWdNU2tnUFQwOUlERTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR1pwY25OMElIZHZjbVFnWVc1a0lHNTFiVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZVzVrYkc0Z1BTQm1kVzVqZEdsdmJpQmhibVJzYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZDI5eVpITmJNRjBnSmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNWpjbVZ0Wlc1MElHRjBJSFJvWlNCaWFYUWdjRzl6YVhScGIyNGdhVzR0YkdsdVpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbHVZMjRnUFNCbWRXNWpkR2x2YmlCaWFXNWpiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkQ0FsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRDQXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJSEVnUFNBeElEdzhJSEk3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVNklHSnBkQ0JwY3lCdGRXTm9JR2hwWjJobGNpQjBhR0Z1SUdGc2JDQmxlR2x6ZEdsdVp5QjNiM0prYzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQThQU0J6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlsZUhCaGJtUW9jeUFySURFcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHpYU0I4UFNCeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKcGRDQmhibVFnY0hKdmNHRm5ZWFJsTENCcFppQnVaV1ZrWldSY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNCeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpPeUJqWVhKeWVTQWhQVDBnTUNBbUppQnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSGNnS3owZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnUGo0K0lESTJPMXh1SUNBZ0lDQWdkeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZHp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOYVpYSnZJRDBnWm5WdVkzUnBiMjRnYVhOYVpYSnZJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTIxd2JpQTlJR1oxYm1OMGFXOXVJR050Y0c0Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdVpXZGhkR2wyWlNBOUlHNTFiU0E4SURBN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlBaGJtVm5ZWFJwZG1VcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lISmxjeUE5SURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNodVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzBnUFNBdGJuVnRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppd2dKMDUxYldKbGNpQnBjeUIwYjI4Z1ltbG5KeWs3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjNJRDA5UFNCdWRXMGdQeUF3SURvZ2R5QThJRzUxYlNBL0lDMHhJRG9nTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdkSGR2SUc1MWJXSmxjbk1nWVc1a0lISmxkSFZ5YmpwY2JpQWdMeThnTVNBdElHbG1JR0IwYUdsellDQStJR0J1ZFcxZ1hHNGdJQzh2SURBZ0xTQnBaaUJnZEdocGMyQWdQVDBnWUc1MWJXQmNiaUFnTHk4Z0xURWdMU0JwWmlCZ2RHaHBjMkFnUENCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZMjF3SUQwZ1puVnVZM1JwYjI0Z1kyMXdJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdQVDA5SURBcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE11ZFdOdGNDaHVkVzBwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQnlaWFIxY200Z0xYSmxjeUI4SURBN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJWYm5OcFoyNWxaQ0JqYjIxd1lYSnBjMjl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWTIxd0lEMGdablZ1WTNScGIyNGdkV050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nYUdGMlpTQjBhR1VnYzJGdFpTQnphV2R1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJREU3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJQzB4TzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJSFpoY2lCaElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHBYU0I4SURBN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoSUQwOVBTQmlLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJR2xtSUNoaElEd2dZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F0TVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lTQStJR0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHNGdQU0JtZFc1amRHbHZiaUJuZEc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1FnUFNCbWRXNWpkR2x2YmlCbmRDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdLRzUxYlNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlc0Z1BTQm1kVzVqZEdsdmJpQm5kR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUGowZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVozUmxJRDBnWm5WdVkzUnBiMjRnWjNSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkRzRnUFNCbWRXNWpkR2x2YmlCc2RHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTFRFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MElEMGdablZ1WTNScGIyNGdiSFFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxiaUE5SUdaMWJtTjBhVzl1SUd4MFpXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQThQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVzZEdVZ1BTQm1kVzVqZEdsdmJpQnNkR1VnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1WeGJpQTlJR1oxYm1OMGFXOXVJR1Z4YmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQklISmxaSFZqWlNCamIyNTBaWGgwTENCamIzVnNaQ0JpWlNCMWMybHVaeUJ0YjI1MFoyOXRaWEo1SUc5eUlITnZiV1YwYUdsdVp5QmlaWFIwWlhJc0lHUmxjR1Z1WkdsdVoxeHVJQ0F2THlCdmJpQjBhR1VnWUcxZ0lHbDBjMlZzWmk1Y2JpQWdMeTljYmlBZ1FrNHVjbVZrSUQwZ1puVnVZM1JwYjI0Z2NtVmtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGSmxaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxSmxaQ0E5SUdaMWJtTjBhVzl1SUhSdlVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZM1I0TG1OdmJuWmxjblJVYnloMGFHbHpLUzVmWm05eVkyVlNaV1FvWTNSNEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVkpsWkNBOUlHWjFibU4wYVc5dUlHWnliMjFTWldRZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0oyWnliMjFTWldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUc1MWJXSmxjbk1nYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WTI5dWRtVnlkRVp5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDltYjNKalpWSmxaQ0E5SUdaMWJtTjBhVzl1SUY5bWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdkR2hwY3k1eVpXUWdQU0JqZEhnN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1admNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1ptOXlZMlZTWldRZ0tHTjBlQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hkR2hwY3k1eVpXUXNJQ2RCYkhKbFlXUjVJR0VnYm5WdFltVnlJR2x1SUhKbFpIVmpkR2x2YmlCamIyNTBaWGgwSnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVGa1pDQTlJR1oxYm1OMGFXOXVJSEpsWkVGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1FXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNWhaR1FvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NVRmtaQ0E5SUdaMWJtTjBhVzl1SUhKbFpFbEJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRWxCWkdRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1saFpHUW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVTNWaUlEMGdablZ1WTNScGIyNGdjbVZrVTNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTjFZaWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzVmlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk4xWWlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOMVlpaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUYUd3Z1BTQm1kVzVqZEdsdmJpQnlaV1JUYUd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOb2JDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMyaHNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkUxMWJDQTlJR1oxYm1OMGFXOXVJSEpsWkUxMWJDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1RYVnNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3lLSFJvYVhNc0lHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtMTFiQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlRYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1NVMTFiQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUWFZzSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt5S0hSb2FYTXNJRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbWx0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtVM0Z5SUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5OeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NWTnhjaUE5SUdaMWJtTjBhVzl1SUhKbFpFbFRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbFRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1semNYSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNGMVlYSmxJSEp2YjNRZ2IzWmxjaUJ3WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGNYSjBJRDBnWm5WdVkzUnBiMjRnY21Wa1UzRnlkQ0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UzRnlkQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeWRDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NXNTJiU0E5SUdaMWJtTjBhVzl1SUhKbFpFbHVkbTBnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbHVkbTBnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1sdWRtMG9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzVsWjJGMGFYWmxJR05zYjI1bElHOW1JR0IwYUdsellDQWxJR0J5WldRZ2JXOWtkV3h2WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RtVm5JRDBnWm5WdVkzUnBiMjRnY21Wa1RtVm5JQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldST1pXY2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVURW9kR2hwY3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbTVsWnloMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVUc5M0lEMGdablZ1WTNScGIyNGdjbVZrVUc5M0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUWdKaVlnSVc1MWJTNXlaV1FzSUNkeVpXUlFiM2NvYm05eWJXRnNUblZ0S1NjcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1d2IzY29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjbWx0WlNCdWRXMWlaWEp6SUhkcGRHZ2daV1ptYVdOcFpXNTBJSEpsWkhWamRHbHZibHh1SUNCMllYSWdjSEpwYldWeklEMGdlMXh1SUNBZ0lHc3lOVFk2SUc1MWJHd3NYRzRnSUNBZ2NESXlORG9nYm5Wc2JDeGNiaUFnSUNCd01Ua3lPaUJ1ZFd4c0xGeHVJQ0FnSUhBeU5UVXhPVG9nYm5Wc2JGeHVJQ0I5TzF4dVhHNGdJQzh2SUZCelpYVmtieTFOWlhKelpXNXVaU0J3Y21sdFpWeHVJQ0JtZFc1amRHbHZiaUJOVUhKcGJXVWdLRzVoYldVc0lIQXBJSHRjYmlBZ0lDQXZMeUJRSUQwZ01pQmVJRTRnTFNCTFhHNGdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG5BZ1BTQnVaWGNnUWs0b2NDd2dNVFlwTzF4dUlDQWdJSFJvYVhNdWJpQTlJSFJvYVhNdWNDNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1zZ1BTQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtIUm9hWE11YmlrdWFYTjFZaWgwYUdsekxuQXBPMXh1WEc0Z0lDQWdkR2hwY3k1MGJYQWdQU0IwYUdsekxsOTBiWEFvS1R0Y2JpQWdmVnh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdVgzUnRjQ0E5SUdaMWJtTjBhVzl1SUY5MGJYQWdLQ2tnZTF4dUlDQWdJSFpoY2lCMGJYQWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnZEcxd0xuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtFMWhkR2d1WTJWcGJDaDBhR2x6TG00Z0x5QXhNeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBiWEE3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z2FYSmxaSFZqWlNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhOemRXMWxjeUIwYUdGMElHQnVkVzFnSUdseklHeGxjM01nZEdoaGJpQmdVRjR5WUZ4dUlDQWdJQzh2SUc1MWJTQTlJRWhKSUNvZ0tESWdYaUJPSUMwZ1N5a2dLeUJJU1NBcUlFc2dLeUJNVHlBOUlFaEpJQ29nU3lBcklFeFBJQ2h0YjJRZ1VDbGNiaUFnSUNCMllYSWdjaUE5SUc1MWJUdGNiaUFnSUNCMllYSWdjbXhsYmp0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIUm9hWE11YzNCc2FYUW9jaXdnZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVcxMWJFc29jaWs3WEc0Z0lDQWdJQ0J5SUQwZ2NpNXBZV1JrS0hSb2FYTXVkRzF3S1R0Y2JpQWdJQ0FnSUhKc1pXNGdQU0J5TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0hKc1pXNGdQaUIwYUdsekxtNHBPMXh1WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJSEpzWlc0Z1BDQjBhR2x6TG00Z1B5QXRNU0E2SUhJdWRXTnRjQ2gwYUdsekxuQXBPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjaTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTIxd0lENGdNQ2tnZTF4dUlDQWdJQ0FnY2k1cGMzVmlLSFJvYVhNdWNDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhJdWMzUnlhWEFvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFFwSUh0Y2JpQWdJQ0JwYm5CMWRDNXBkWE5vY200b2RHaHBjeTV1TENBd0xDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNXBiWFZzS0hSb2FYTXVheWs3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1N6STFOaUFvS1NCN1hHNGdJQ0FnVFZCeWFXMWxMbU5oYkd3b1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdKMnN5TlRZbkxGeHVJQ0FnSUNBZ0oyWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abElHWm1abVptWXpKbUp5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9TekkxTml3Z1RWQnlhVzFsS1R0Y2JseHVJQ0JMTWpVMkxuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMGNIVjBLU0I3WEc0Z0lDQWdMeThnTWpVMklEMGdPU0FxSURJMklDc2dNakpjYmlBZ0lDQjJZWElnYldGemF5QTlJREI0TTJabVptWm1PMXh1WEc0Z0lDQWdkbUZ5SUc5MWRFeGxiaUE5SUUxaGRHZ3ViV2x1S0dsdWNIVjBMbXhsYm1kMGFDd2dPU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2ZFhSTVpXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2IzVjBjSFYwTG5kdmNtUnpXMmxkSUQwZ2FXNXdkWFF1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHOTFkSEIxZEM1c1pXNW5kR2dnUFNCdmRYUk1aVzQ3WEc1Y2JpQWdJQ0JwWmlBb2FXNXdkWFF1YkdWdVozUm9JRHc5SURrcElIdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lHbHVjSFYwTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVTJocFpuUWdZbmtnT1NCc2FXMWljMXh1SUNBZ0lIWmhjaUJ3Y21WMklEMGdhVzV3ZFhRdWQyOXlaSE5iT1YwN1hHNGdJQ0FnYjNWMGNIVjBMbmR2Y21SelcyOTFkSEIxZEM1c1pXNW5kR2dySzEwZ1BTQndjbVYySUNZZ2JXRnphenRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJREV3T3lCcElEd2dhVzV3ZFhRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdVpYaDBJRDBnYVc1d2RYUXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYmFTQXRJREV3WFNBOUlDZ29ibVY0ZENBbUlHMWhjMnNwSUR3OElEUXBJSHdnS0hCeVpYWWdQajQrSURJeUtUdGNiaUFnSUNBZ0lIQnlaWFlnUFNCdVpYaDBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtVjJJRDQrUGowZ01qSTdYRzRnSUNBZ2FXNXdkWFF1ZDI5eVpITmJhU0F0SURFd1hTQTlJSEJ5WlhZN1hHNGdJQ0FnYVdZZ0tIQnlaWFlnUFQwOUlEQWdKaVlnYVc1d2RYUXViR1Z1WjNSb0lENGdNVEFwSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0F4TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlEazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXdNREF3TUROa01TQTlJRnNnTUhnME1Dd2dNSGd6WkRFZ1hWeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb1hTQTlJREE3WEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnS3lBeFhTQTlJREE3WEc0Z0lDQWdiblZ0TG14bGJtZDBhQ0FyUFNBeU8xeHVYRzRnSUNBZ0x5OGdZbTkxYm1SbFpDQmhkRG9nTUhnME1DQXFJREI0TTJabVptWm1aaUFySURCNE0yUXdJRDBnTUhneE1EQXdNREF6T1RCY2JpQWdJQ0IyWVhJZ2JHOGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRzUxYlM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnNieUFyUFNCM0lDb2dNSGd6WkRFN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHeHZJRDBnZHlBcUlEQjROREFnS3lBb0tHeHZJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRVpoYzNRZ2JHVnVaM1JvSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J1ZFcwdWJHVnVaM1JvTFMwN1hHNGdJQ0FnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzB1YkdWdVozUm9MUzA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJeU5DQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXlNalFuTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SURBd01EQXdNREF4SnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VESXlOQ3dnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNVGt5SUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RFNU1pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1abVptWWdabVptWm1abVptWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTVRreUxDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeU5UVXhPU0FvS1NCN1hHNGdJQ0FnTHk4Z01pQmVJREkxTlNBdElERTVYRzRnSUNBZ1RWQnlhVzFsTG1OaGJHd29YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnSnpJMU5URTVKeXhjYmlBZ0lDQWdJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9VREkxTlRFNUxDQk5VSEpwYldVcE8xeHVYRzRnSUZBeU5UVXhPUzV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVROY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVnRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNBb2JuVnRMbmR2Y21SelcybGRJSHdnTUNrZ0tpQXdlREV6SUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JvYVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHaHBJRDQrUGowZ01qWTdYRzVjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQm9hVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDc3JYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVWNGNHOXlkR1ZrSUcxdmMzUnNlU0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3l3Z2RYTmxJSEJzWVdsdUlHNWhiV1VnYVc1emRHVmhaRnh1SUNCQ1RpNWZjSEpwYldVZ1BTQm1kVzVqZEdsdmJpQndjbWx0WlNBb2JtRnRaU2tnZTF4dUlDQWdJQzh2SUVOaFkyaGxaQ0IyWlhKemFXOXVJRzltSUhCeWFXMWxYRzRnSUNBZ2FXWWdLSEJ5YVcxbGMxdHVZVzFsWFNrZ2NtVjBkWEp1SUhCeWFXMWxjMXR1WVcxbFhUdGNibHh1SUNBZ0lIWmhjaUJ3Y21sdFpUdGNiaUFnSUNCcFppQW9ibUZ0WlNBOVBUMGdKMnN5TlRZbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJMTWpVMktDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREl5TkNjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TWpRb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNVGt5SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREU1TWlncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXlOVFV4T1NjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TlRVeE9TZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdWEyNXZkMjRnY0hKcGJXVWdKeUFySUc1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtbHRaWE5iYm1GdFpWMGdQU0J3Y21sdFpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd2NtbHRaVHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQ1lYTmxJSEpsWkhWamRHbHZiaUJsYm1kcGJtVmNiaUFnTHk5Y2JpQWdablZ1WTNScGIyNGdVbVZrSUNodEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YVcxbElEMGdRazR1WDNCeWFXMWxLRzBwTzF4dUlDQWdJQ0FnZEdocGN5NXRJRDBnY0hKcGJXVXVjRHRjYmlBZ0lDQWdJSFJvYVhNdWNISnBiV1VnUFNCd2NtbHRaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0cwdVozUnVLREVwTENBbmJXOWtkV3gxY3lCdGRYTjBJR0psSUdkeVpXRjBaWElnZEdoaGJpQXhKeWs3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J0TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWZkbVZ5YVdaNU1TQTlJR1oxYm1OMGFXOXVJRjkyWlhKcFpua3hJQ2hoS1NCN1hHNGdJQ0FnWVhOelpYSjBLR0V1Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUdGemMyVnlkQ2hoTG5KbFpDd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reUlEMGdablZ1WTNScGIyNGdYM1psY21sbWVUSWdLR0VzSUdJcElIdGNiaUFnSUNCaGMzTmxjblFvS0dFdWJtVm5ZWFJwZG1VZ2ZDQmlMbTVsWjJGMGFYWmxLU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0lDWW1JR0V1Y21Wa0lEMDlQU0JpTG5KbFpDeGNiaUFnSUNBZ0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJXOWtJRDBnWm5WdVkzUnBiMjRnYVcxdlpDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbkJ5YVcxbEtTQnlaWFIxY200Z2RHaHBjeTV3Y21sdFpTNXBjbVZrZFdObEtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnWVM1MWJXOWtLSFJvYVhNdWJTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbklDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJTNXpkV0lvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrSUNoaExDQmlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRtVnlhV1o1TWloaExDQmlLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0JoTG1Ga1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhV0ZrWkNBOUlHWjFibU4wYVc5dUlHbGhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVdGa1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YzNWaUtHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdWFYTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjMmhzSUQwZ1puVnVZM1JwYjI0Z2MyaHNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt4S0dFcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1MWMyaHNiaWh1ZFcwcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRkV3dnUFNCbWRXNWpkR2x2YmlCcGJYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWFXMTFiQ2hpS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzV0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE54Y2lBOUlHWjFibU4wYVc5dUlHbHpjWElnS0dFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0dFc0lHRXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29ZU3dnWVNrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSjBJRDBnWm5WdVkzUnBiMjRnYzNGeWRDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoaExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z1lTNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2RtRnlJRzF2WkRNZ1BTQjBhR2x6TG0wdVlXNWtiRzRvTXlrN1hHNGdJQ0FnWVhOelpYSjBLRzF2WkRNZ0pTQXlJRDA5UFNBeEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaVnh1SUNBZ0lHbG1JQ2h0YjJReklEMDlQU0F6S1NCN1hHNGdJQ0FnSUNCMllYSWdjRzkzSUQwZ2RHaHBjeTV0TG1Ga1pDaHVaWGNnUWs0b01Ta3BMbWwxYzJoeWJpZ3lLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmR5aGhMQ0J3YjNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGUnZibVZzYkdrdFUyaGhibXR6SUdGc1oyOXlhWFJvYlNBb1ZHOTBZV3hzZVNCMWJtOXdkR2x0YVhwbFpDQmhibVFnYzJ4dmR5bGNiaUFnSUNBdkwxeHVJQ0FnSUM4dklFWnBibVFnVVNCaGJtUWdVeXdnZEdoaGRDQlJJQ29nTWlCZUlGTWdQU0FvVUNBdElERXBYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLVHRjYmlBZ0lDQjJZWElnY3lBOUlEQTdYRzRnSUNBZ2QyaHBiR1VnS0NGeExtbHpXbVZ5YnlncElDWW1JSEV1WVc1a2JHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0FnSUhFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9JWEV1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHOXVaU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCMllYSWdiazl1WlNBOUlHOXVaUzV5WldST1pXY29LVHRjYmx4dUlDQWdJQzh2SUVacGJtUWdjWFZoWkhKaGRHbGpJRzV2YmkxeVpYTnBaSFZsWEc0Z0lDQWdMeThnVGs5VVJUb2dUV0Y0SUdseklITjFZMmdnWW1WallYVnpaU0J2WmlCblpXNWxjbUZzYVhwbFpDQlNhV1Z0WVc1dUlHaDVjRzkwYUdWemFYTXVYRzRnSUNBZ2RtRnlJR3h3YjNjZ1BTQjBhR2x6TG0wdWMzVmliaWd4S1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlIb2dQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdlaUE5SUc1bGR5QkNUaWd5SUNvZ2VpQXFJSG9wTG5SdlVtVmtLSFJvYVhNcE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXVjRzkzS0hvc0lHeHdiM2NwTG1OdGNDaHVUMjVsS1NBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZWk1eVpXUkpRV1JrS0c1UGJtVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTV3YjNjb2Vpd2djU2s3WEc0Z0lDQWdkbUZ5SUhJZ1BTQjBhR2x6TG5CdmR5aGhMQ0J4TG1Ga1pHNG9NU2t1YVhWemFISnVLREVwS1R0Y2JpQWdJQ0IyWVhJZ2RDQTlJSFJvYVhNdWNHOTNLR0VzSUhFcE8xeHVJQ0FnSUhaaGNpQnRJRDBnY3p0Y2JpQWdJQ0IzYUdsc1pTQW9kQzVqYlhBb2IyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSFE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dkRzF3TG1OdGNDaHZibVVwSUNFOVBTQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkRzF3SUQwZ2RHMXdMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWE56WlhKMEtHa2dQQ0J0S1R0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NXdiM2NvWXl3Z2JtVjNJRUpPS0RFcExtbDFjMmhzYmlodElDMGdhU0F0SURFcEtUdGNibHh1SUNBZ0lDQWdjaUE5SUhJdWNtVmtUWFZzS0dJcE8xeHVJQ0FnSUNBZ1l5QTlJR0l1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0IwSUQwZ2RDNXlaV1JOZFd3b1l5azdYRzRnSUNBZ0lDQnRJRDBnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ2RtRnlJR2x1ZGlBOUlHRXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNGdJQ0FnYVdZZ0tHbHVkaTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhVzUyTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb2FXNTJLUzV5WldST1pXY29LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9ZU3dnYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlM1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCcFppQW9iblZ0TG1OdGNHNG9NU2tnUFQwOUlEQXBJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnZDJsdVpHOTNVMmw2WlNBOUlEUTdYRzRnSUNBZ2RtRnlJSGR1WkNBOUlHNWxkeUJCY25KaGVTZ3hJRHc4SUhkcGJtUnZkMU5wZW1VcE8xeHVJQ0FnSUhkdVpGc3dYU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCM2JtUmJNVjBnUFNCaE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z2QyNWtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM2JtUmJhVjBnUFNCMGFHbHpMbTExYkNoM2JtUmJhU0F0SURGZExDQmhLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkMjVrV3pCZE8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ2RtRnlJSE4wWVhKMElEMGdiblZ0TG1KcGRFeGxibWQwYUNncElDVWdNalk3WEc0Z0lDQWdhV1lnS0hOMFlYSjBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiUzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdjM1JoY25RZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWW1sMElEMGdLSGR2Y21RZ1BqNGdhaWtnSmlBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WeklDRTlQU0IzYm1SYk1GMHBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTnhjaWh5WlhNcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnBkQ0E5UFQwZ01DQW1KaUJqZFhKeVpXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEdzhQU0F4TzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUh3OUlHSnBkRHRjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlzck8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRXhsYmlBaFBUMGdkMmx1Wkc5M1UybDZaU0FtSmlBb2FTQWhQVDBnTUNCOGZDQnFJQ0U5UFNBd0tTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdkR2hwY3k1dGRXd29jbVZ6TENCM2JtUmJZM1Z5Y21WdWRGMHBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6ZEdGeWRDQTlJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdiblZ0TG5WdGIyUW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCeUlEMDlQU0J1ZFcwZ1B5QnlMbU5zYjI1bEtDa2dPaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lISmxjeTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OWNiaUFnTHk4Z1RXOXVkR2R2YldWeWVTQnRaWFJvYjJRZ1pXNW5hVzVsWEc0Z0lDOHZYRzVjYmlBZ1FrNHViVzl1ZENBOUlHWjFibU4wYVc5dUlHMXZiblFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dUVzl1ZENodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUUxdmJuUWdLRzBwSUh0Y2JpQWdJQ0JTWldRdVkyRnNiQ2gwYUdsekxDQnRLVHRjYmx4dUlDQWdJSFJvYVhNdWMyaHBablFnUFNCMGFHbHpMbTB1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXphR2xtZENBclBTQXlOaUF0SUNoMGFHbHpMbk5vYVdaMElDVWdNallwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWNpQTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkR2hwY3k1eU1pQTlJSFJvYVhNdWFXMXZaQ2gwYUdsekxuSXVjM0Z5S0NrcE8xeHVJQ0FnSUhSb2FYTXVjbWx1ZGlBOUlIUm9hWE11Y2k1ZmFXNTJiWEFvZEdocGN5NXRLVHRjYmx4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjbWx1ZGk1dGRXd29kR2hwY3k1eUtTNXBjM1ZpYmlneEtTNWthWFlvZEdocGN5NXRLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxtMXBibll1ZFcxdlpDaDBhR2x6TG5JcE8xeHVJQ0FnSUhSb2FYTXViV2x1ZGlBOUlIUm9hWE11Y2k1emRXSW9kR2hwY3k1dGFXNTJLVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhOYjI1MExDQlNaV1FwTzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SVWJ5QTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUlVieUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNodWRXMHVkWE5vYkc0b2RHaHBjeTV6YUdsbWRDa3BPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUkdjbTl0SUQwZ1puVnVZM1JwYjI0Z1kyOXVkbVZ5ZEVaeWIyMGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBiVzlrS0c1MWJTNXRkV3dvZEdocGN5NXlhVzUyS1NrN1hHNGdJQ0FnY2k1eVpXUWdQU0J1ZFd4c08xeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa2dmSHdnWWk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ1lTNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JoTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2RDQTlJR0V1YVcxMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNibHh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3dLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXViWFZzS0dJcE8xeHVJQ0FnSUhaaGNpQmpJRDBnZEM1dFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dGFXNTJLUzVwYldGemEyNG9kR2hwY3k1emFHbG1kQ2t1YlhWc0tIUm9hWE11YlNrN1hHNGdJQ0FnZG1GeUlIVWdQU0IwTG1semRXSW9ZeWt1YVhWemFISnVLSFJvYVhNdWMyaHBablFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IxTzF4dUlDQWdJR2xtSUNoMUxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kUzVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXNTJiU0E5SUdaMWJtTjBhVzl1SUdsdWRtMGdLR0VwSUh0Y2JpQWdJQ0F2THlBb1FWSXBYaTB4SUNvZ1VsNHlJRDBnS0VGZUxURWdLaUJTWGkweEtTQXFJRkplTWlBOUlFRmVMVEVnS2lCU1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTXVhVzF2WkNoaExsOXBiblp0Y0NoMGFHbHpMbTBwTG0xMWJDaDBhR2x6TG5JeUtTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1OUtTaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCdGIyUjFiR1VzSUhSb2FYTXBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgTUQ1ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWQ1LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9tZDUuanMvaW5kZXguanNcXFwiKVxcbnZhciBSSVBFTUQxNjAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByaXBlbWQxNjAgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qc1xcXCIpXFxudmFyIHNoYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNoYS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzXFxcIilcXG52YXIgQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gSGFzaCAoaGFzaCkge1xcbiAgQmFzZS5jYWxsKHRoaXMsICdkaWdlc3QnKVxcblxcbiAgdGhpcy5faGFzaCA9IGhhc2hcXG59XFxuXFxuaW5oZXJpdHMoSGFzaCwgQmFzZSlcXG5cXG5IYXNoLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxufVxcblxcbkhhc2gucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzLl9oYXNoLmRpZ2VzdCgpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3JlYXRlSGFzaCAoYWxnKSB7XFxuICBhbGcgPSBhbGcudG9Mb3dlckNhc2UoKVxcbiAgaWYgKGFsZyA9PT0gJ21kNScpIHJldHVybiBuZXcgTUQ1KClcXG4gIGlmIChhbGcgPT09ICdybWQxNjAnIHx8IGFsZyA9PT0gJ3JpcGVtZDE2MCcpIHJldHVybiBuZXcgUklQRU1EMTYwKClcXG5cXG4gIHJldHVybiBuZXcgSGFzaChzaGEoYWxnKSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhR0Z6YUM5aWNtOTNjMlZ5TG1welAyRTNOMklpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVZrN1FVRkRXaXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRha01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk8wRkJRekZDTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEc5RVFVRlhPMEZCUTI1RExGVkJRVlVzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNeFFpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3TzBGQlJXaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTNKbFlYUmxMV2hoYzJndlluSnZkM05sY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEoxeHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVkbUZ5SUUxRU5TQTlJSEpsY1hWcGNtVW9KMjFrTlM1cWN5Y3BYRzUyWVhJZ1VrbFFSVTFFTVRZd0lEMGdjbVZ4ZFdseVpTZ25jbWx3Wlcxa01UWXdKeWxjYm5aaGNpQnphR0VnUFNCeVpYRjFhWEpsS0NkemFHRXVhbk1uS1Z4dWRtRnlJRUpoYzJVZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1Y2JtWjFibU4wYVc5dUlFaGhjMmdnS0doaGMyZ3BJSHRjYmlBZ1FtRnpaUzVqWVd4c0tIUm9hWE1zSUNka2FXZGxjM1FuS1Z4dVhHNGdJSFJvYVhNdVgyaGhjMmdnUFNCb1lYTm9YRzU5WEc1Y2JtbHVhR1Z5YVhSektFaGhjMmdzSUVKaGMyVXBYRzVjYmtoaGMyZ3VjSEp2ZEc5MGVYQmxMbDkxY0dSaGRHVWdQU0JtZFc1amRHbHZiaUFvWkdGMFlTa2dlMXh1SUNCMGFHbHpMbDlvWVhOb0xuVndaR0YwWlNoa1lYUmhLVnh1ZlZ4dVhHNUlZWE5vTG5CeWIzUnZkSGx3WlM1ZlptbHVZV3dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxsOW9ZWE5vTG1ScFoyVnpkQ2dwWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdZM0psWVhSbFNHRnphQ0FvWVd4bktTQjdYRzRnSUdGc1p5QTlJR0ZzWnk1MGIweHZkMlZ5UTJGelpTZ3BYRzRnSUdsbUlDaGhiR2NnUFQwOUlDZHRaRFVuS1NCeVpYUjFjbTRnYm1WM0lFMUVOU2dwWEc0Z0lHbG1JQ2hoYkdjZ1BUMDlJQ2R5YldReE5qQW5JSHg4SUdGc1p5QTlQVDBnSjNKcGNHVnRaREUyTUNjcElISmxkSFZ5YmlCdVpYY2dVa2xRUlUxRU1UWXdLQ2xjYmx4dUlDQnlaWFIxY200Z2JtVjNJRWhoYzJnb2MyaGhLR0ZzWnlrcFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL21kNS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvbWQ1LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIE1ENSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1kNS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWQ1LmpzL2luZGV4LmpzXFxcIilcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChidWZmZXIpIHtcXG4gIHJldHVybiBuZXcgTUQ1KCkudXBkYXRlKGJ1ZmZlcikuZGlnZXN0KClcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhR0Z6YUM5dFpEVXVhbk0vTW1FeFlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVEZDTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhR0Z6YUM5dFpEVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnVFVRMUlEMGdjbVZ4ZFdseVpTZ25iV1ExTG1wekp5bGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvWW5WbVptVnlLU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dUVVExS0NrdWRYQmtZWFJsS0dKMVptWmxjaWt1WkdsblpYTjBLQ2xjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvbWQ1LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaG1hYy9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhtYWMvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgTGVnYWN5ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9sZWdhY3kgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qc1xcXCIpXFxudmFyIEJhc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjaXBoZXItYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgbWQ1ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhhc2gvbWQ1ICovIFxcXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9tZDUuanNcXFwiKVxcbnZhciBSSVBFTUQxNjAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByaXBlbWQxNjAgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qc1xcXCIpXFxuXFxudmFyIHNoYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNoYS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzXFxcIilcXG5cXG52YXIgWkVST1MgPSBCdWZmZXIuYWxsb2MoMTI4KVxcblxcbmZ1bmN0aW9uIEhtYWMgKGFsZywga2V5KSB7XFxuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXFxuICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycpIHtcXG4gICAga2V5ID0gQnVmZmVyLmZyb20oa2V5KVxcbiAgfVxcblxcbiAgdmFyIGJsb2Nrc2l6ZSA9IChhbGcgPT09ICdzaGE1MTInIHx8IGFsZyA9PT0gJ3NoYTM4NCcpID8gMTI4IDogNjRcXG5cXG4gIHRoaXMuX2FsZyA9IGFsZ1xcbiAgdGhpcy5fa2V5ID0ga2V5XFxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xcbiAgICB2YXIgaGFzaCA9IGFsZyA9PT0gJ3JtZDE2MCcgPyBuZXcgUklQRU1EMTYwKCkgOiBzaGEoYWxnKVxcbiAgICBrZXkgPSBoYXNoLnVwZGF0ZShrZXkpLmRpZ2VzdCgpXFxuICB9IGVsc2UgaWYgKGtleS5sZW5ndGggPCBibG9ja3NpemUpIHtcXG4gICAga2V5ID0gQnVmZmVyLmNvbmNhdChba2V5LCBaRVJPU10sIGJsb2Nrc2l6ZSlcXG4gIH1cXG5cXG4gIHZhciBpcGFkID0gdGhpcy5faXBhZCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShibG9ja3NpemUpXFxuICB2YXIgb3BhZCA9IHRoaXMuX29wYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBibG9ja3NpemU7IGkrKykge1xcbiAgICBpcGFkW2ldID0ga2V5W2ldIF4gMHgzNlxcbiAgICBvcGFkW2ldID0ga2V5W2ldIF4gMHg1Q1xcbiAgfVxcbiAgdGhpcy5faGFzaCA9IGFsZyA9PT0gJ3JtZDE2MCcgPyBuZXcgUklQRU1EMTYwKCkgOiBzaGEoYWxnKVxcbiAgdGhpcy5faGFzaC51cGRhdGUoaXBhZClcXG59XFxuXFxuaW5oZXJpdHMoSG1hYywgQmFzZSlcXG5cXG5IbWFjLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxufVxcblxcbkhtYWMucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBoID0gdGhpcy5faGFzaC5kaWdlc3QoKVxcbiAgdmFyIGhhc2ggPSB0aGlzLl9hbGcgPT09ICdybWQxNjAnID8gbmV3IFJJUEVNRDE2MCgpIDogc2hhKHRoaXMuX2FsZylcXG4gIHJldHVybiBoYXNoLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoaCkuZGlnZXN0KClcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVIbWFjIChhbGcsIGtleSkge1xcbiAgYWxnID0gYWxnLnRvTG93ZXJDYXNlKClcXG4gIGlmIChhbGcgPT09ICdybWQxNjAnIHx8IGFsZyA9PT0gJ3JpcGVtZDE2MCcpIHtcXG4gICAgcmV0dXJuIG5ldyBIbWFjKCdybWQxNjAnLCBrZXkpXFxuICB9XFxuICBpZiAoYWxnID09PSAnbWQ1Jykge1xcbiAgICByZXR1cm4gbmV3IExlZ2FjeShtZDUsIGtleSlcXG4gIH1cXG4gIHJldHVybiBuZXcgSG1hYyhhbGcsIGtleSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhRzFoWXk5aWNtOTNjMlZ5TG1welB6bG1OamNpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVZrN1FVRkRXaXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRha01zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSE5FUVVGVk8wRkJReTlDTEZkQlFWY3NiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5vUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdRVUZEYkVNc1ZVRkJWU3h0UWtGQlR5eERRVUZETERCRVFVRnBRanRCUVVOdVF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSRUZCVnpzN1FVRkZia01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk96dEJRVVV4UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeGxRVUZsTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5amNtVmhkR1V0YUcxaFl5OWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5YRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BYRzUyWVhJZ1RHVm5ZV041SUQwZ2NtVnhkV2x5WlNnbkxpOXNaV2RoWTNrbktWeHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2RqYVhCb1pYSXRZbUZ6WlNjcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JuWmhjaUJ0WkRVZ1BTQnlaWEYxYVhKbEtDZGpjbVZoZEdVdGFHRnphQzl0WkRVbktWeHVkbUZ5SUZKSlVFVk5SREUyTUNBOUlISmxjWFZwY21Vb0ozSnBjR1Z0WkRFMk1DY3BYRzVjYm5aaGNpQnphR0VnUFNCeVpYRjFhWEpsS0NkemFHRXVhbk1uS1Z4dVhHNTJZWElnV2tWU1QxTWdQU0JDZFdabVpYSXVZV3hzYjJNb01USTRLVnh1WEc1bWRXNWpkR2x2YmlCSWJXRmpJQ2hoYkdjc0lHdGxlU2tnZTF4dUlDQkNZWE5sTG1OaGJHd29kR2hwY3l3Z0oyUnBaMlZ6ZENjcFhHNGdJR2xtSUNoMGVYQmxiMllnYTJWNUlEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJR3RsZVNBOUlFSjFabVpsY2k1bWNtOXRLR3RsZVNsY2JpQWdmVnh1WEc0Z0lIWmhjaUJpYkc5amEzTnBlbVVnUFNBb1lXeG5JRDA5UFNBbmMyaGhOVEV5SnlCOGZDQmhiR2NnUFQwOUlDZHphR0V6T0RRbktTQS9JREV5T0NBNklEWTBYRzVjYmlBZ2RHaHBjeTVmWVd4bklEMGdZV3huWEc0Z0lIUm9hWE11WDJ0bGVTQTlJR3RsZVZ4dUlDQnBaaUFvYTJWNUxteGxibWQwYUNBK0lHSnNiMk5yYzJsNlpTa2dlMXh1SUNBZ0lIWmhjaUJvWVhOb0lEMGdZV3huSUQwOVBTQW5jbTFrTVRZd0p5QS9JRzVsZHlCU1NWQkZUVVF4TmpBb0tTQTZJSE5vWVNoaGJHY3BYRzRnSUNBZ2EyVjVJRDBnYUdGemFDNTFjR1JoZEdVb2EyVjVLUzVrYVdkbGMzUW9LVnh1SUNCOUlHVnNjMlVnYVdZZ0tHdGxlUzVzWlc1bmRHZ2dQQ0JpYkc5amEzTnBlbVVwSUh0Y2JpQWdJQ0JyWlhrZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0clpYa3NJRnBGVWs5VFhTd2dZbXh2WTJ0emFYcGxLVnh1SUNCOVhHNWNiaUFnZG1GeUlHbHdZV1FnUFNCMGFHbHpMbDlwY0dGa0lEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOcmMybDZaU2xjYmlBZ2RtRnlJRzl3WVdRZ1BTQjBhR2x6TGw5dmNHRmtJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0dKc2IyTnJjMmw2WlNsY2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKc2IyTnJjMmw2WlRzZ2FTc3JLU0I3WEc0Z0lDQWdhWEJoWkZ0cFhTQTlJR3RsZVZ0cFhTQmVJREI0TXpaY2JpQWdJQ0J2Y0dGa1cybGRJRDBnYTJWNVcybGRJRjRnTUhnMVExeHVJQ0I5WEc0Z0lIUm9hWE11WDJoaGMyZ2dQU0JoYkdjZ1BUMDlJQ2R5YldReE5qQW5JRDhnYm1WM0lGSkpVRVZOUkRFMk1DZ3BJRG9nYzJoaEtHRnNaeWxjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb2FYQmhaQ2xjYm4xY2JseHVhVzVvWlhKcGRITW9TRzFoWXl3Z1FtRnpaU2xjYmx4dVNHMWhZeTV3Y205MGIzUjVjR1V1WDNWd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUNoa1lYUmhLU0I3WEc0Z0lIUm9hWE11WDJoaGMyZ3VkWEJrWVhSbEtHUmhkR0VwWEc1OVhHNWNia2h0WVdNdWNISnZkRzkwZVhCbExsOW1hVzVoYkNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJR2dnUFNCMGFHbHpMbDlvWVhOb0xtUnBaMlZ6ZENncFhHNGdJSFpoY2lCb1lYTm9JRDBnZEdocGN5NWZZV3huSUQwOVBTQW5jbTFrTVRZd0p5QS9JRzVsZHlCU1NWQkZUVVF4TmpBb0tTQTZJSE5vWVNoMGFHbHpMbDloYkdjcFhHNGdJSEpsZEhWeWJpQm9ZWE5vTG5Wd1pHRjBaU2gwYUdsekxsOXZjR0ZrS1M1MWNHUmhkR1VvYUNrdVpHbG5aWE4wS0NsY2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJqY21WaGRHVkliV0ZqSUNoaGJHY3NJR3RsZVNrZ2UxeHVJQ0JoYkdjZ1BTQmhiR2N1ZEc5TWIzZGxja05oYzJVb0tWeHVJQ0JwWmlBb1lXeG5JRDA5UFNBbmNtMWtNVFl3SnlCOGZDQmhiR2NnUFQwOUlDZHlhWEJsYldReE5qQW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJJYldGaktDZHliV1F4TmpBbkxDQnJaWGtwWEc0Z0lIMWNiaUFnYVdZZ0tHRnNaeUE5UFQwZ0oyMWtOU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUV4bFoyRmplU2h0WkRVc0lHdGxlU2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdibVYzSUVodFlXTW9ZV3huTENCclpYa3BYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtaG1hYy9icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaG1hYy9sZWdhY3kuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG52YXIgQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxuXFxudmFyIFpFUk9TID0gQnVmZmVyLmFsbG9jKDEyOClcXG52YXIgYmxvY2tzaXplID0gNjRcXG5cXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSkge1xcbiAgQmFzZS5jYWxsKHRoaXMsICdkaWdlc3QnKVxcbiAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnKSB7XFxuICAgIGtleSA9IEJ1ZmZlci5mcm9tKGtleSlcXG4gIH1cXG5cXG4gIHRoaXMuX2FsZyA9IGFsZ1xcbiAgdGhpcy5fa2V5ID0ga2V5XFxuXFxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xcbiAgICBrZXkgPSBhbGcoa2V5KVxcbiAgfSBlbHNlIGlmIChrZXkubGVuZ3RoIDwgYmxvY2tzaXplKSB7XFxuICAgIGtleSA9IEJ1ZmZlci5jb25jYXQoW2tleSwgWkVST1NdLCBibG9ja3NpemUpXFxuICB9XFxuXFxuICB2YXIgaXBhZCA9IHRoaXMuX2lwYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxcbiAgdmFyIG9wYWQgPSB0aGlzLl9vcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSlcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tzaXplOyBpKyspIHtcXG4gICAgaXBhZFtpXSA9IGtleVtpXSBeIDB4MzZcXG4gICAgb3BhZFtpXSA9IGtleVtpXSBeIDB4NUNcXG4gIH1cXG5cXG4gIHRoaXMuX2hhc2ggPSBbaXBhZF1cXG59XFxuXFxuaW5oZXJpdHMoSG1hYywgQmFzZSlcXG5cXG5IbWFjLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2hhc2gucHVzaChkYXRhKVxcbn1cXG5cXG5IbWFjLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgaCA9IHRoaXMuX2FsZyhCdWZmZXIuY29uY2F0KHRoaXMuX2hhc2gpKVxcbiAgcmV0dXJuIHRoaXMuX2FsZyhCdWZmZXIuY29uY2F0KFt0aGlzLl9vcGFkLCBoXSkpXFxufVxcbm1vZHVsZS5leHBvcnRzID0gSG1hY1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amNtVmhkR1V0YUcxaFl5OXNaV2RoWTNrdWFuTS9ORGd5T0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQldUdEJRVU5hTEdWQlFXVXNiVUpCUVU4c1EwRkJReXcyUkVGQlZUdEJRVU5xUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RExGZEJRVmNzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHM3UVVGRmFFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xHVkJRV1U3UVVGRGFFTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTNKbFlYUmxMV2h0WVdNdmJHVm5ZV041TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JseHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2RqYVhCb1pYSXRZbUZ6WlNjcFhHNWNiblpoY2lCYVJWSlBVeUE5SUVKMVptWmxjaTVoYkd4dll5Z3hNamdwWEc1MllYSWdZbXh2WTJ0emFYcGxJRDBnTmpSY2JseHVablZ1WTNScGIyNGdTRzFoWXlBb1lXeG5MQ0JyWlhrcElIdGNiaUFnUW1GelpTNWpZV3hzS0hSb2FYTXNJQ2RrYVdkbGMzUW5LVnh1SUNCcFppQW9kSGx3Wlc5bUlHdGxlU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCclpYa2dQU0JDZFdabVpYSXVabkp2YlNoclpYa3BYRzRnSUgxY2JseHVJQ0IwYUdsekxsOWhiR2NnUFNCaGJHZGNiaUFnZEdocGN5NWZhMlY1SUQwZ2EyVjVYRzVjYmlBZ2FXWWdLR3RsZVM1c1pXNW5kR2dnUGlCaWJHOWphM05wZW1VcElIdGNiaUFnSUNCclpYa2dQU0JoYkdjb2EyVjVLVnh1SUNCOUlHVnNjMlVnYVdZZ0tHdGxlUzVzWlc1bmRHZ2dQQ0JpYkc5amEzTnBlbVVwSUh0Y2JpQWdJQ0JyWlhrZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0clpYa3NJRnBGVWs5VFhTd2dZbXh2WTJ0emFYcGxLVnh1SUNCOVhHNWNiaUFnZG1GeUlHbHdZV1FnUFNCMGFHbHpMbDlwY0dGa0lEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOcmMybDZaU2xjYmlBZ2RtRnlJRzl3WVdRZ1BTQjBhR2x6TGw5dmNHRmtJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0dKc2IyTnJjMmw2WlNsY2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKc2IyTnJjMmw2WlRzZ2FTc3JLU0I3WEc0Z0lDQWdhWEJoWkZ0cFhTQTlJR3RsZVZ0cFhTQmVJREI0TXpaY2JpQWdJQ0J2Y0dGa1cybGRJRDBnYTJWNVcybGRJRjRnTUhnMVExeHVJQ0I5WEc1Y2JpQWdkR2hwY3k1ZmFHRnphQ0E5SUZ0cGNHRmtYVnh1ZlZ4dVhHNXBibWhsY21sMGN5aEliV0ZqTENCQ1lYTmxLVnh1WEc1SWJXRmpMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0dSaGRHRXBJSHRjYmlBZ2RHaHBjeTVmYUdGemFDNXdkWE5vS0dSaGRHRXBYRzU5WEc1Y2JraHRZV011Y0hKdmRHOTBlWEJsTGw5bWFXNWhiQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZG1GeUlHZ2dQU0IwYUdsekxsOWhiR2NvUW5WbVptVnlMbU52Ym1OaGRDaDBhR2x6TGw5b1lYTm9LU2xjYmlBZ2NtVjBkWEp1SUhSb2FYTXVYMkZzWnloQ2RXWm1aWEl1WTI5dVkyRjBLRnQwYUdsekxsOXZjR0ZrTENCb1hTa3BYRzU5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVodFlXTmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy5yYW5kb21CeXRlcyA9IGV4cG9ydHMucm5nID0gZXhwb3J0cy5wc2V1ZG9SYW5kb21CeXRlcyA9IGV4cG9ydHMucHJuZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWJ5dGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcy9icm93c2VyLmpzXFxcIilcXG5leHBvcnRzLmNyZWF0ZUhhc2ggPSBleHBvcnRzLkhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjcmVhdGUtaGFzaCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvYnJvd3Nlci5qc1xcXCIpXFxuZXhwb3J0cy5jcmVhdGVIbWFjID0gZXhwb3J0cy5IbWFjID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhtYWMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2Jyb3dzZXIuanNcXFwiKVxcblxcbnZhciBhbGdvcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktc2lnbi9hbGdvcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2FsZ29zLmpzXFxcIilcXG52YXIgYWxnb0tleXMgPSBPYmplY3Qua2V5cyhhbGdvcylcXG52YXIgaGFzaGVzID0gWydzaGExJywgJ3NoYTIyNCcsICdzaGEyNTYnLCAnc2hhMzg0JywgJ3NoYTUxMicsICdtZDUnLCAncm1kMTYwJ10uY29uY2F0KGFsZ29LZXlzKVxcbmV4cG9ydHMuZ2V0SGFzaGVzID0gZnVuY3Rpb24gKCkge1xcbiAgcmV0dXJuIGhhc2hlc1xcbn1cXG5cXG52YXIgcCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBia2RmMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanNcXFwiKVxcbmV4cG9ydHMucGJrZGYyID0gcC5wYmtkZjJcXG5leHBvcnRzLnBia2RmMlN5bmMgPSBwLnBia2RmMlN5bmNcXG5cXG52YXIgYWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnJvd3NlcmlmeS1jaXBoZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanNcXFwiKVxcblxcbmV4cG9ydHMuQ2lwaGVyID0gYWVzLkNpcGhlclxcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyID0gYWVzLmNyZWF0ZUNpcGhlclxcbmV4cG9ydHMuQ2lwaGVyaXYgPSBhZXMuQ2lwaGVyaXZcXG5leHBvcnRzLmNyZWF0ZUNpcGhlcml2ID0gYWVzLmNyZWF0ZUNpcGhlcml2XFxuZXhwb3J0cy5EZWNpcGhlciA9IGFlcy5EZWNpcGhlclxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBhZXMuY3JlYXRlRGVjaXBoZXJcXG5leHBvcnRzLkRlY2lwaGVyaXYgPSBhZXMuRGVjaXBoZXJpdlxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGFlcy5jcmVhdGVEZWNpcGhlcml2XFxuZXhwb3J0cy5nZXRDaXBoZXJzID0gYWVzLmdldENpcGhlcnNcXG5leHBvcnRzLmxpc3RDaXBoZXJzID0gYWVzLmxpc3RDaXBoZXJzXFxuXFxudmFyIGRoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZGlmZmllLWhlbGxtYW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2Jyb3dzZXIuanNcXFwiKVxcblxcbmV4cG9ydHMuRGlmZmllSGVsbG1hbkdyb3VwID0gZGguRGlmZmllSGVsbG1hbkdyb3VwXFxuZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXAgPSBkaC5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXBcXG5leHBvcnRzLmdldERpZmZpZUhlbGxtYW4gPSBkaC5nZXREaWZmaWVIZWxsbWFuXFxuZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuID0gZGguY3JlYXRlRGlmZmllSGVsbG1hblxcbmV4cG9ydHMuRGlmZmllSGVsbG1hbiA9IGRoLkRpZmZpZUhlbGxtYW5cXG5cXG52YXIgc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktc2lnbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvaW5kZXguanNcXFwiKVxcblxcbmV4cG9ydHMuY3JlYXRlU2lnbiA9IHNpZ24uY3JlYXRlU2lnblxcbmV4cG9ydHMuU2lnbiA9IHNpZ24uU2lnblxcbmV4cG9ydHMuY3JlYXRlVmVyaWZ5ID0gc2lnbi5jcmVhdGVWZXJpZnlcXG5leHBvcnRzLlZlcmlmeSA9IHNpZ24uVmVyaWZ5XFxuXFxuZXhwb3J0cy5jcmVhdGVFQ0RIID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWVjZGggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1lY2RoL2Jyb3dzZXIuanNcXFwiKVxcblxcbnZhciBwdWJsaWNFbmNyeXB0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcHVibGljLWVuY3J5cHQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L2Jyb3dzZXIuanNcXFwiKVxcblxcbmV4cG9ydHMucHVibGljRW5jcnlwdCA9IHB1YmxpY0VuY3J5cHQucHVibGljRW5jcnlwdFxcbmV4cG9ydHMucHJpdmF0ZUVuY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnByaXZhdGVFbmNyeXB0XFxuZXhwb3J0cy5wdWJsaWNEZWNyeXB0ID0gcHVibGljRW5jcnlwdC5wdWJsaWNEZWNyeXB0XFxuZXhwb3J0cy5wcml2YXRlRGVjcnlwdCA9IHB1YmxpY0VuY3J5cHQucHJpdmF0ZURlY3J5cHRcXG5cXG4vLyB0aGUgbGVhc3QgSSBjYW4gZG8gaXMgbWFrZSBlcnJvciBtZXNzYWdlcyBmb3IgdGhlIHJlc3Qgb2YgdGhlIG5vZGUuanMvY3J5cHRvIGFwaS5cXG4vLyA7W1xcbi8vICAgJ2NyZWF0ZUNyZWRlbnRpYWxzJ1xcbi8vIF0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbi8vICAgZXhwb3J0c1tuYW1lXSA9IGZ1bmN0aW9uICgpIHtcXG4vLyAgICAgdGhyb3cgbmV3IEVycm9yKFtcXG4vLyAgICAgICAnc29ycnksICcgKyBuYW1lICsgJyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0JyxcXG4vLyAgICAgICAnd2UgYWNjZXB0IHB1bGwgcmVxdWVzdHMnLFxcbi8vICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvLWJyb3dzZXJpZnkvY3J5cHRvLWJyb3dzZXJpZnknXFxuLy8gICAgIF0uam9pbignXFxcXG4nKSlcXG4vLyAgIH1cXG4vLyB9KVxcblxcbnZhciByZiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWZpbGwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWZpbGwvYnJvd3Nlci5qc1xcXCIpXFxuXFxuZXhwb3J0cy5yYW5kb21GaWxsID0gcmYucmFuZG9tRmlsbFxcbmV4cG9ydHMucmFuZG9tRmlsbFN5bmMgPSByZi5yYW5kb21GaWxsU3luY1xcblxcbmV4cG9ydHMuY3JlYXRlQ3JlZGVudGlhbHMgPSBmdW5jdGlvbiAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoW1xcbiAgICAnc29ycnksIGNyZWF0ZUNyZWRlbnRpYWxzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQnLFxcbiAgICAnd2UgYWNjZXB0IHB1bGwgcmVxdWVzdHMnLFxcbiAgICAnaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0by1icm93c2VyaWZ5L2NyeXB0by1icm93c2VyaWZ5J1xcbiAgXS5qb2luKCdcXFxcbicpKVxcbn1cXG5cXG5leHBvcnRzLmNvbnN0YW50cyA9IHtcXG4gICdESF9DSEVDS19QX05PVF9TQUZFX1BSSU1FJzogMixcXG4gICdESF9DSEVDS19QX05PVF9QUklNRSc6IDEsXFxuICAnREhfVU5BQkxFX1RPX0NIRUNLX0dFTkVSQVRPUic6IDQsXFxuICAnREhfTk9UX1NVSVRBQkxFX0dFTkVSQVRPUic6IDgsXFxuICAnTlBOX0VOQUJMRUQnOiAxLFxcbiAgJ0FMUE5fRU5BQkxFRCc6IDEsXFxuICAnUlNBX1BLQ1MxX1BBRERJTkcnOiAxLFxcbiAgJ1JTQV9TU0xWMjNfUEFERElORyc6IDIsXFxuICAnUlNBX05PX1BBRERJTkcnOiAzLFxcbiAgJ1JTQV9QS0NTMV9PQUVQX1BBRERJTkcnOiA0LFxcbiAgJ1JTQV9YOTMxX1BBRERJTkcnOiA1LFxcbiAgJ1JTQV9QS0NTMV9QU1NfUEFERElORyc6IDYsXFxuICAnUE9JTlRfQ09OVkVSU0lPTl9DT01QUkVTU0VEJzogMixcXG4gICdQT0lOVF9DT05WRVJTSU9OX1VOQ09NUFJFU1NFRCc6IDQsXFxuICAnUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQnOiA2XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amNubHdkRzh0WW5KdmQzTmxjbWxtZVM5cGJtUmxlQzVxY3o5a056TmhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZaT3p0QlFVVmFMQ3RGUVVFclJTeHRRa0ZCVHl4RFFVRkRMREJFUVVGaE8wRkJRM0JITEc5RFFVRnZReXh0UWtGQlR5eERRVUZETERCRVFVRmhPMEZCUTNwRUxHOURRVUZ2UXl4dFFrRkJUeXhEUVVGRExEQkVRVUZoT3p0QlFVVjZSQ3haUVVGWkxHMUNRVUZQTEVOQlFVTXNjMFZCUVhWQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzVVVGQlVTeHRRa0ZCVHl4RFFVRkRMR2RFUVVGUk8wRkJRM2hDTzBGQlEwRTdPMEZCUlVFc1ZVRkJWU3h0UWtGQlR5eERRVUZETEhORlFVRnRRanM3UVVGRmNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1UwRkJVeXh0UWtGQlR5eERRVUZETEdkRlFVRm5RanM3UVVGRmFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc2QwVkJRV2xDT3p0QlFVVndRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl3d1JFRkJZVHM3UVVGRk1VTXNiMEpCUVc5Q0xHMUNRVUZQTEVOQlFVTXNaMFZCUVdkQ096dEJRVVUxUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVsQlFVazdRVUZEU2p0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SlFVRkpPenRCUVVWS0xGTkJRVk1zYlVKQlFVOHNRMEZCUXl4M1JFRkJXVHM3UVVGRk4wSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyTnllWEIwYnkxaWNtOTNjMlZ5YVdaNUwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNWNibVY0Y0c5eWRITXVjbUZ1Wkc5dFFubDBaWE1nUFNCbGVIQnZjblJ6TG5KdVp5QTlJR1Y0Y0c5eWRITXVjSE5sZFdSdlVtRnVaRzl0UW5sMFpYTWdQU0JsZUhCdmNuUnpMbkJ5Ym1jZ1BTQnlaWEYxYVhKbEtDZHlZVzVrYjIxaWVYUmxjeWNwWEc1bGVIQnZjblJ6TG1OeVpXRjBaVWhoYzJnZ1BTQmxlSEJ2Y25SekxraGhjMmdnUFNCeVpYRjFhWEpsS0NkamNtVmhkR1V0YUdGemFDY3BYRzVsZUhCdmNuUnpMbU55WldGMFpVaHRZV01nUFNCbGVIQnZjblJ6TGtodFlXTWdQU0J5WlhGMWFYSmxLQ2RqY21WaGRHVXRhRzFoWXljcFhHNWNiblpoY2lCaGJHZHZjeUE5SUhKbGNYVnBjbVVvSjJKeWIzZHpaWEpwWm5rdGMybG5iaTloYkdkdmN5Y3BYRzUyWVhJZ1lXeG5iMHRsZVhNZ1BTQlBZbXBsWTNRdWEyVjVjeWhoYkdkdmN5bGNiblpoY2lCb1lYTm9aWE1nUFNCYkozTm9ZVEVuTENBbmMyaGhNakkwSnl3Z0ozTm9ZVEkxTmljc0lDZHphR0V6T0RRbkxDQW5jMmhoTlRFeUp5d2dKMjFrTlNjc0lDZHliV1F4TmpBblhTNWpiMjVqWVhRb1lXeG5iMHRsZVhNcFhHNWxlSEJ2Y25SekxtZGxkRWhoYzJobGN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdjbVYwZFhKdUlHaGhjMmhsYzF4dWZWeHVYRzUyWVhJZ2NDQTlJSEpsY1hWcGNtVW9KM0JpYTJSbU1pY3BYRzVsZUhCdmNuUnpMbkJpYTJSbU1pQTlJSEF1Y0dKclpHWXlYRzVsZUhCdmNuUnpMbkJpYTJSbU1sTjVibU1nUFNCd0xuQmlhMlJtTWxONWJtTmNibHh1ZG1GeUlHRmxjeUE5SUhKbGNYVnBjbVVvSjJKeWIzZHpaWEpwWm5rdFkybHdhR1Z5SnlsY2JseHVaWGh3YjNKMGN5NURhWEJvWlhJZ1BTQmhaWE11UTJsd2FHVnlYRzVsZUhCdmNuUnpMbU55WldGMFpVTnBjR2hsY2lBOUlHRmxjeTVqY21WaGRHVkRhWEJvWlhKY2JtVjRjRzl5ZEhNdVEybHdhR1Z5YVhZZ1BTQmhaWE11UTJsd2FHVnlhWFpjYm1WNGNHOXlkSE11WTNKbFlYUmxRMmx3YUdWeWFYWWdQU0JoWlhNdVkzSmxZWFJsUTJsd2FHVnlhWFpjYm1WNGNHOXlkSE11UkdWamFYQm9aWElnUFNCaFpYTXVSR1ZqYVhCb1pYSmNibVY0Y0c5eWRITXVZM0psWVhSbFJHVmphWEJvWlhJZ1BTQmhaWE11WTNKbFlYUmxSR1ZqYVhCb1pYSmNibVY0Y0c5eWRITXVSR1ZqYVhCb1pYSnBkaUE5SUdGbGN5NUVaV05wY0dobGNtbDJYRzVsZUhCdmNuUnpMbU55WldGMFpVUmxZMmx3YUdWeWFYWWdQU0JoWlhNdVkzSmxZWFJsUkdWamFYQm9aWEpwZGx4dVpYaHdiM0owY3k1blpYUkRhWEJvWlhKeklEMGdZV1Z6TG1kbGRFTnBjR2hsY25OY2JtVjRjRzl5ZEhNdWJHbHpkRU5wY0dobGNuTWdQU0JoWlhNdWJHbHpkRU5wY0dobGNuTmNibHh1ZG1GeUlHUm9JRDBnY21WeGRXbHlaU2duWkdsbVptbGxMV2hsYkd4dFlXNG5LVnh1WEc1bGVIQnZjblJ6TGtScFptWnBaVWhsYkd4dFlXNUhjbTkxY0NBOUlHUm9Ma1JwWm1acFpVaGxiR3h0WVc1SGNtOTFjRnh1Wlhod2IzSjBjeTVqY21WaGRHVkVhV1ptYVdWSVpXeHNiV0Z1UjNKdmRYQWdQU0JrYUM1amNtVmhkR1ZFYVdabWFXVklaV3hzYldGdVIzSnZkWEJjYm1WNGNHOXlkSE11WjJWMFJHbG1abWxsU0dWc2JHMWhiaUE5SUdSb0xtZGxkRVJwWm1acFpVaGxiR3h0WVc1Y2JtVjRjRzl5ZEhNdVkzSmxZWFJsUkdsbVptbGxTR1ZzYkcxaGJpQTlJR1JvTG1OeVpXRjBaVVJwWm1acFpVaGxiR3h0WVc1Y2JtVjRjRzl5ZEhNdVJHbG1abWxsU0dWc2JHMWhiaUE5SUdSb0xrUnBabVpwWlVobGJHeHRZVzVjYmx4dWRtRnlJSE5wWjI0Z1BTQnlaWEYxYVhKbEtDZGljbTkzYzJWeWFXWjVMWE5wWjI0bktWeHVYRzVsZUhCdmNuUnpMbU55WldGMFpWTnBaMjRnUFNCemFXZHVMbU55WldGMFpWTnBaMjVjYm1WNGNHOXlkSE11VTJsbmJpQTlJSE5wWjI0dVUybG5ibHh1Wlhod2IzSjBjeTVqY21WaGRHVldaWEpwWm5rZ1BTQnphV2R1TG1OeVpXRjBaVlpsY21sbWVWeHVaWGh3YjNKMGN5NVdaWEpwWm5rZ1BTQnphV2R1TGxabGNtbG1lVnh1WEc1bGVIQnZjblJ6TG1OeVpXRjBaVVZEUkVnZ1BTQnlaWEYxYVhKbEtDZGpjbVZoZEdVdFpXTmthQ2NwWEc1Y2JuWmhjaUJ3ZFdKc2FXTkZibU55ZVhCMElEMGdjbVZ4ZFdseVpTZ25jSFZpYkdsakxXVnVZM0o1Y0hRbktWeHVYRzVsZUhCdmNuUnpMbkIxWW14cFkwVnVZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CMVlteHBZMFZ1WTNKNWNIUmNibVY0Y0c5eWRITXVjSEpwZG1GMFpVVnVZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CeWFYWmhkR1ZGYm1OeWVYQjBYRzVsZUhCdmNuUnpMbkIxWW14cFkwUmxZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CMVlteHBZMFJsWTNKNWNIUmNibVY0Y0c5eWRITXVjSEpwZG1GMFpVUmxZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CeWFYWmhkR1ZFWldOeWVYQjBYRzVjYmk4dklIUm9aU0JzWldGemRDQkpJR05oYmlCa2J5QnBjeUJ0WVd0bElHVnljbTl5SUcxbGMzTmhaMlZ6SUdadmNpQjBhR1VnY21WemRDQnZaaUIwYUdVZ2JtOWtaUzVxY3k5amNubHdkRzhnWVhCcExseHVMeThnTzF0Y2JpOHZJQ0FnSjJOeVpXRjBaVU55WldSbGJuUnBZV3h6SjF4dUx5OGdYUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzR2THlBZ0lHVjRjRzl5ZEhOYmJtRnRaVjBnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzR2THlBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGdGNiaTh2SUNBZ0lDQWdJQ2R6YjNKeWVTd2dKeUFySUc1aGJXVWdLeUFuSUdseklHNXZkQ0JwYlhCc1pXMWxiblJsWkNCNVpYUW5MRnh1THk4Z0lDQWdJQ0FnSjNkbElHRmpZMlZ3ZENCd2RXeHNJSEpsY1hWbGMzUnpKeXhjYmk4dklDQWdJQ0FnSUNkb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlkzSjVjSFJ2TFdKeWIzZHpaWEpwWm5rdlkzSjVjSFJ2TFdKeWIzZHpaWEpwWm5rblhHNHZMeUFnSUNBZ1hTNXFiMmx1S0NkY1hHNG5LU2xjYmk4dklDQWdmVnh1THk4Z2ZTbGNibHh1ZG1GeUlISm1JRDBnY21WeGRXbHlaU2duY21GdVpHOXRabWxzYkNjcFhHNWNibVY0Y0c5eWRITXVjbUZ1Wkc5dFJtbHNiQ0E5SUhKbUxuSmhibVJ2YlVacGJHeGNibVY0Y0c5eWRITXVjbUZ1Wkc5dFJtbHNiRk41Ym1NZ1BTQnlaaTV5WVc1a2IyMUdhV3hzVTNsdVkxeHVYRzVsZUhCdmNuUnpMbU55WldGMFpVTnlaV1JsYm5ScFlXeHpJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9XMXh1SUNBZ0lDZHpiM0p5ZVN3Z1kzSmxZWFJsUTNKbFpHVnVkR2xoYkhNZ2FYTWdibTkwSUdsdGNHeGxiV1Z1ZEdWa0lIbGxkQ2NzWEc0Z0lDQWdKM2RsSUdGalkyVndkQ0J3ZFd4c0lISmxjWFZsYzNSekp5eGNiaUFnSUNBbmFIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyTnllWEIwYnkxaWNtOTNjMlZ5YVdaNUwyTnllWEIwYnkxaWNtOTNjMlZ5YVdaNUoxeHVJQ0JkTG1wdmFXNG9KMXhjYmljcEtWeHVmVnh1WEc1bGVIQnZjblJ6TG1OdmJuTjBZVzUwY3lBOUlIdGNiaUFnSjBSSVgwTklSVU5MWDFCZlRrOVVYMU5CUmtWZlVGSkpUVVVuT2lBeUxGeHVJQ0FuUkVoZlEwaEZRMHRmVUY5T1QxUmZVRkpKVFVVbk9pQXhMRnh1SUNBblJFaGZWVTVCUWt4RlgxUlBYME5JUlVOTFgwZEZUa1ZTUVZSUFVpYzZJRFFzWEc0Z0lDZEVTRjlPVDFSZlUxVkpWRUZDVEVWZlIwVk9SVkpCVkU5U0p6b2dPQ3hjYmlBZ0owNVFUbDlGVGtGQ1RFVkVKem9nTVN4Y2JpQWdKMEZNVUU1ZlJVNUJRa3hGUkNjNklERXNYRzRnSUNkU1UwRmZVRXREVXpGZlVFRkVSRWxPUnljNklERXNYRzRnSUNkU1UwRmZVMU5NVmpJelgxQkJSRVJKVGtjbk9pQXlMRnh1SUNBblVsTkJYMDVQWDFCQlJFUkpUa2NuT2lBekxGeHVJQ0FuVWxOQlgxQkxRMU14WDA5QlJWQmZVRUZFUkVsT1J5YzZJRFFzWEc0Z0lDZFNVMEZmV0Rrek1WOVFRVVJFU1U1SEp6b2dOU3hjYmlBZ0oxSlRRVjlRUzBOVE1WOVFVMU5mVUVGRVJFbE9SeWM2SURZc1hHNGdJQ2RRVDBsT1ZGOURUMDVXUlZKVFNVOU9YME5QVFZCU1JWTlRSVVFuT2lBeUxGeHVJQ0FuVUU5SlRsUmZRMDlPVmtWU1UwbFBUbDlWVGtOUFRWQlNSVk5UUlVRbk9pQTBMRnh1SUNBblVFOUpUbFJmUTA5T1ZrVlNVMGxQVGw5SVdVSlNTVVFuT2lBMlhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NyeXB0by1icm93c2VyaWZ5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL0xhbmRpbmcuY3NzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3NyYy9MYW5kaW5nLmNzcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvLyBJbXBvcnRzXFxudmFyIF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1xcXCIpO1xcbmV4cG9ydHMgPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oZmFsc2UpO1xcbi8vIE1vZHVsZVxcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFxcXCIuTGFuZGluZ0J1dHRvblxcXFxyXFxcXG57XFxcXHJcXFxcblxcXFx0d2lkdGg6IGZpdC1jb250ZW50O1xcXFxyXFxcXG5cXFxcdGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjtcXFxcclxcXFxuXFxcXHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZWVuO1xcXFxyXFxcXG5cXFxcdGJvcmRlci1yYWRpdXM6IDdweDtcXFxcclxcXFxuXFxcXHRwYWRkaW5nOiAzcHg7XFxcXHJcXFxcbn1cXFxcclxcXFxuXFxcXHJcXFxcbi5MYW5kaW5nQnV0dG9uOmhvdmVyXFxcXHJcXFxcbntcXFxcclxcXFxuXFxcXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmE5OTZiO1xcXFxyXFxcXG59XFxcXHJcXFxcblxcXFxyXFxcXG5cXFwiLCBcXFwiXFxcIl0pO1xcbi8vIEV4cG9ydHNcXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHM7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlNWVc1a2FXNW5MbU56Y3o5aVl6RmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRXNhME5CUVd0RExHMUNRVUZQTEVOQlFVTXNjVWRCUVdkRU8wRkJRekZHTzBGQlEwRTdRVUZEUVN4alFVRmpMRkZCUVZNc2MwSkJRWE5DTEhsQ1FVRjVRaXhyUTBGQmEwTXNiVU5CUVcxRExIbENRVUY1UWl4dFFrRkJiVUlzUzBGQlN5eHBRMEZCYVVNc1owTkJRV2RETEV0QlFVczdRVUZEYkZFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWpjM010Ykc5aFpHVnlMMlJwYzNRdlkycHpMbXB6SVM0dmMzSmpMMHhoYm1ScGJtY3VZM056TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnU1cxd2IzSjBjMXh1ZG1GeUlGOWZYME5UVTE5TVQwRkVSVkpmUVZCSlgwbE5VRTlTVkY5Zlh5QTlJSEpsY1hWcGNtVW9YQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZZM056TFd4dllXUmxjaTlrYVhOMEwzSjFiblJwYldVdllYQnBMbXB6WENJcE8xeHVaWGh3YjNKMGN5QTlJRjlmWDBOVFUxOU1UMEZFUlZKZlFWQkpYMGxOVUU5U1ZGOWZYeWhtWVd4elpTazdYRzR2THlCTmIyUjFiR1ZjYm1WNGNHOXlkSE11Y0hWemFDaGJiVzlrZFd4bExtbGtMQ0JjSWk1TVlXNWthVzVuUW5WMGRHOXVYRnh5WEZ4dWUxeGNjbHhjYmx4Y2RIZHBaSFJvT2lCbWFYUXRZMjl1ZEdWdWREdGNYSEpjWEc1Y1hIUmliM0prWlhJNklERndlQ0J6YjJ4cFpDQmtZWEpyWjNKbFpXNDdYRnh5WEZ4dVhGeDBZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2diR2xuYUhSbmNtVmxianRjWEhKY1hHNWNYSFJpYjNKa1pYSXRjbUZrYVhWek9pQTNjSGc3WEZ4eVhGeHVYRngwY0dGa1pHbHVaem9nTTNCNE8xeGNjbHhjYm4xY1hISmNYRzVjWEhKY1hHNHVUR0Z1WkdsdVowSjFkSFJ2Ympwb2IzWmxjbHhjY2x4Y2JudGNYSEpjWEc1Y1hIUmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNbUU1T1RaaU8xeGNjbHhjYm4xY1hISmNYRzVjWEhKY1hHNWNJaXdnWENKY0lsMHBPMXh1THk4Z1JYaHdiM0owYzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbGVIQnZjblJ6TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3NyYy9MYW5kaW5nLmNzc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qXFxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxcbiovXFxuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHVzZVNvdXJjZU1hcCkge1xcbiAgdmFyIGxpc3QgPSBbXTsgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xcblxcbiAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcXG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKTtcXG5cXG4gICAgICBpZiAoaXRlbVsyXSkge1xcbiAgICAgICAgcmV0dXJuIFxcXCJAbWVkaWEgXFxcIi5jb25jYXQoaXRlbVsyXSwgXFxcIiB7XFxcIikuY29uY2F0KGNvbnRlbnQsIFxcXCJ9XFxcIik7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiBjb250ZW50O1xcbiAgICB9KS5qb2luKCcnKTtcXG4gIH07IC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xcblxcblxcbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXFxuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgJyddXTtcXG4gICAgfVxcblxcbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xcblxcbiAgICBpZiAoZGVkdXBlKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcXG4gICAgICAgIHZhciBpZCA9IHRoaXNbaV1bMF07XFxuXFxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xcbiAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2ldKTtcXG5cXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250aW51ZVxcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XFxuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcXG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhUXVlcnk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBpdGVtWzJdID0gXFxcIlxcXCIuY29uY2F0KG1lZGlhUXVlcnksIFxcXCIgYW5kIFxcXCIpLmNvbmNhdChpdGVtWzJdKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xcbiAgICB9XFxuICB9O1xcblxcbiAgcmV0dXJuIGxpc3Q7XFxufTtcXG5cXG5mdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCkge1xcbiAgdmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcXG5cXG4gIHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcXG5cXG4gIGlmICghY3NzTWFwcGluZykge1xcbiAgICByZXR1cm4gY29udGVudDtcXG4gIH1cXG5cXG4gIGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgdmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XFxuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XFxuICAgICAgcmV0dXJuIFxcXCIvKiMgc291cmNlVVJMPVxcXCIuY29uY2F0KGNzc01hcHBpbmcuc291cmNlUm9vdCB8fCAnJykuY29uY2F0KHNvdXJjZSwgXFxcIiAqL1xcXCIpO1xcbiAgICB9KTtcXG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxcXG4nKTtcXG4gIH1cXG5cXG4gIHJldHVybiBbY29udGVudF0uam9pbignXFxcXG4nKTtcXG59IC8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcXG5cXG5cXG5mdW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcXG4gIHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xcbiAgdmFyIGRhdGEgPSBcXFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXFxcIi5jb25jYXQoYmFzZTY0KTtcXG4gIHJldHVybiBcXFwiLyojIFxcXCIuY29uY2F0KGRhdGEsIFxcXCIgKi9cXFwiKTtcXG59Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYzNNdGJHOWhaR1Z5TDJScGMzUXZjblZ1ZEdsdFpTOWhjR2t1YW5NL04ySXlOQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2RDUVVGblFqczdRVUZGYUVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNORU5CUVRSRExIRkNRVUZ4UWp0QlFVTnFSVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SlFVRkpPMEZCUTBvN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN4eFFrRkJjVUlzYVVKQlFXbENPMEZCUTNSRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHZRa0ZCYjBJc2NVSkJRWEZDTzBGQlEzcERPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3c0UWtGQk9FSTdPMEZCUlRsQ096dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VSQlFYRkVMR05CUVdNN1FVRkRia1U3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5amMzTXRiRzloWkdWeUwyUnBjM1F2Y25WdWRHbHRaUzloY0drdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKY0luVnpaU0J6ZEhKcFkzUmNJanRjYmx4dUx5cGNiaUFnVFVsVUlFeHBZMlZ1YzJVZ2FIUjBjRG92TDNkM2R5NXZjR1Z1YzI5MWNtTmxMbTl5Wnk5c2FXTmxibk5sY3k5dGFYUXRiR2xqWlc1elpTNXdhSEJjYmlBZ1FYVjBhRzl5SUZSdlltbGhjeUJMYjNCd1pYSnpJRUJ6YjJ0eVlWeHVLaTljYmk4dklHTnpjeUJpWVhObElHTnZaR1VzSUdsdWFtVmpkR1ZrSUdKNUlIUm9aU0JqYzNNdGJHOWhaR1Z5WEc0dkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1puVnVZeTF1WVcxbGMxeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9kWE5sVTI5MWNtTmxUV0Z3S1NCN1hHNGdJSFpoY2lCc2FYTjBJRDBnVzEwN0lDOHZJSEpsZEhWeWJpQjBhR1VnYkdsemRDQnZaaUJ0YjJSMWJHVnpJR0Z6SUdOemN5QnpkSEpwYm1kY2JseHVJQ0JzYVhOMExuUnZVM1J5YVc1bklEMGdablZ1WTNScGIyNGdkRzlUZEhKcGJtY29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YldGd0tHWjFibU4wYVc5dUlDaHBkR1Z0S1NCN1hHNGdJQ0FnSUNCMllYSWdZMjl1ZEdWdWRDQTlJR056YzFkcGRHaE5ZWEJ3YVc1blZHOVRkSEpwYm1jb2FYUmxiU3dnZFhObFUyOTFjbU5sVFdGd0tUdGNibHh1SUNBZ0lDQWdhV1lnS0dsMFpXMWJNbDBwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVFHMWxaR2xoSUZ3aUxtTnZibU5oZENocGRHVnRXekpkTENCY0lpQjdYQ0lwTG1OdmJtTmhkQ2hqYjI1MFpXNTBMQ0JjSW4xY0lpazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQmpiMjUwWlc1ME8xeHVJQ0FnSUgwcExtcHZhVzRvSnljcE8xeHVJQ0I5T3lBdkx5QnBiWEJ2Y25RZ1lTQnNhWE4wSUc5bUlHMXZaSFZzWlhNZ2FXNTBieUIwYUdVZ2JHbHpkRnh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1puVnVZeTF1WVcxbGMxeHVYRzVjYmlBZ2JHbHpkQzVwSUQwZ1puVnVZM1JwYjI0Z0tHMXZaSFZzWlhNc0lHMWxaR2xoVVhWbGNua3NJR1JsWkhWd1pTa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiVzlrZFd4bGN5QTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXdZWEpoYlMxeVpXRnpjMmxuYmx4dUlDQWdJQ0FnYlc5a2RXeGxjeUE5SUZ0YmJuVnNiQ3dnYlc5a2RXeGxjeXdnSnlkZFhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZV3h5WldGa2VVbHRjRzl5ZEdWa1RXOWtkV3hsY3lBOUlIdDlPMXh1WEc0Z0lDQWdhV1lnS0dSbFpIVndaU2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdFpHVnpkSEoxWTNSMWNtbHVaMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FXUWdQU0IwYUdselcybGRXekJkTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwWkNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZV3h5WldGa2VVbHRjRzl5ZEdWa1RXOWtkV3hsYzF0cFpGMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ1gya2dQU0F3T3lCZmFTQThJRzF2WkhWc1pYTXViR1Z1WjNSb095QmZhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhWFJsYlNBOUlGdGRMbU52Ym1OaGRDaHRiMlIxYkdWelcxOXBYU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaGtaV1IxY0dVZ0ppWWdZV3h5WldGa2VVbHRjRzl5ZEdWa1RXOWtkV3hsYzF0cGRHVnRXekJkWFNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0WTI5dWRHbHVkV1ZjYmlBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRaV1JwWVZGMVpYSjVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hhWFJsYlZzeVhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsMFpXMWJNbDBnUFNCdFpXUnBZVkYxWlhKNU8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR2wwWlcxYk1sMGdQU0JjSWx3aUxtTnZibU5oZENodFpXUnBZVkYxWlhKNUxDQmNJaUJoYm1RZ1hDSXBMbU52Ym1OaGRDaHBkR1Z0V3pKZEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JzYVhOMExuQjFjMmdvYVhSbGJTazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJSEpsZEhWeWJpQnNhWE4wTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWTNOelYybDBhRTFoY0hCcGJtZFViMU4wY21sdVp5aHBkR1Z0TENCMWMyVlRiM1Z5WTJWTllYQXBJSHRjYmlBZ2RtRnlJR052Ym5SbGJuUWdQU0JwZEdWdFd6RmRJSHg4SUNjbk95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdjSEpsWm1WeUxXUmxjM1J5ZFdOMGRYSnBibWRjYmx4dUlDQjJZWElnWTNOelRXRndjR2x1WnlBOUlHbDBaVzFiTTEwN1hHNWNiaUFnYVdZZ0tDRmpjM05OWVhCd2FXNW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJsYm5RN1hHNGdJSDFjYmx4dUlDQnBaaUFvZFhObFUyOTFjbU5sVFdGd0lDWW1JSFI1Y0dWdlppQmlkRzloSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdkbUZ5SUhOdmRYSmpaVTFoY0hCcGJtY2dQU0IwYjBOdmJXMWxiblFvWTNOelRXRndjR2x1WnlrN1hHNGdJQ0FnZG1GeUlITnZkWEpqWlZWU1RITWdQU0JqYzNOTllYQndhVzVuTG5OdmRYSmpaWE11YldGd0tHWjFibU4wYVc5dUlDaHpiM1Z5WTJVcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCY0lpOHFJeUJ6YjNWeVkyVlZVa3c5WENJdVkyOXVZMkYwS0dOemMwMWhjSEJwYm1jdWMyOTFjbU5sVW05dmRDQjhmQ0FuSnlrdVkyOXVZMkYwS0hOdmRYSmpaU3dnWENJZ0tpOWNJaWs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlGdGpiMjUwWlc1MFhTNWpiMjVqWVhRb2MyOTFjbU5sVlZKTWN5a3VZMjl1WTJGMEtGdHpiM1Z5WTJWTllYQndhVzVuWFNrdWFtOXBiaWduWEZ4dUp5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdXMk52Ym5SbGJuUmRMbXB2YVc0b0oxeGNiaWNwTzF4dWZTQXZMeUJCWkdGd2RHVmtJR1p5YjIwZ1kyOXVkbVZ5ZEMxemIzVnlZMlV0YldGd0lDaE5TVlFwWEc1Y2JseHVablZ1WTNScGIyNGdkRzlEYjIxdFpXNTBLSE52ZFhKalpVMWhjQ2tnZTF4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0ZFc1a1pXWmNiaUFnZG1GeUlHSmhjMlUyTkNBOUlHSjBiMkVvZFc1bGMyTmhjR1VvWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0VwVFQwNHVjM1J5YVc1bmFXWjVLSE52ZFhKalpVMWhjQ2twS1NrN1hHNGdJSFpoY2lCa1lYUmhJRDBnWENKemIzVnlZMlZOWVhCd2FXNW5WVkpNUFdSaGRHRTZZWEJ3YkdsallYUnBiMjR2YW5OdmJqdGphR0Z5YzJWMFBYVjBaaTA0TzJKaGMyVTJOQ3hjSWk1amIyNWpZWFFvWW1GelpUWTBLVHRjYmlBZ2NtVjBkWEp1SUZ3aUx5b2pJRndpTG1OdmJtTmhkQ2hrWVhSaExDQmNJaUFxTDF3aUtUdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy51dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVzL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qc1xcXCIpO1xcbmV4cG9ydHMuQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZXMvY2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jaXBoZXIuanNcXFwiKTtcXG5leHBvcnRzLkRFUyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVzL2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZGVzLmpzXFxcIik7XFxuZXhwb3J0cy5DQkMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Rlcy9jYmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NiYy5qc1xcXCIpO1xcbmV4cG9ydHMuRURFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZXMvZWRlICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9lZGUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k1cWN6OHhaRE5pSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETERKRVFVRmhPMEZCUTNKRExHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExEWkVRVUZqTzBGQlEzWkRMR05CUVdNc2JVSkJRVThzUTBGQlF5eDFSRUZCVnp0QlFVTnFReXhqUVVGakxHMUNRVUZQTEVOQlFVTXNkVVJCUVZjN1FVRkRha01zWTBGQll5eHRRa0ZCVHl4RFFVRkRMSFZFUVVGWElpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJSbGN5NXFjeTlzYVdJdlpHVnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWxlSEJ2Y25SekxuVjBhV3h6SUQwZ2NtVnhkV2x5WlNnbkxpOWtaWE12ZFhScGJITW5LVHRjYm1WNGNHOXlkSE11UTJsd2FHVnlJRDBnY21WeGRXbHlaU2duTGk5a1pYTXZZMmx3YUdWeUp5azdYRzVsZUhCdmNuUnpMa1JGVXlBOUlISmxjWFZwY21Vb0p5NHZaR1Z6TDJSbGN5Y3BPMXh1Wlhod2IzSjBjeTVEUWtNZ1BTQnlaWEYxYVhKbEtDY3VMMlJsY3k5alltTW5LVHRjYm1WNGNHOXlkSE11UlVSRklEMGdjbVZ4ZFdseVpTZ25MaTlrWlhNdlpXUmxKeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvY2JjLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jYmMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBhc3NlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaW5pbWFsaXN0aWMtYXNzZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxcIik7XFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG5cXG52YXIgcHJvdG8gPSB7fTtcXG5cXG5mdW5jdGlvbiBDQkNTdGF0ZShpdikge1xcbiAgYXNzZXJ0LmVxdWFsKGl2Lmxlbmd0aCwgOCwgJ0ludmFsaWQgSVYgbGVuZ3RoJyk7XFxuXFxuICB0aGlzLml2ID0gbmV3IEFycmF5KDgpO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLml2Lmxlbmd0aDsgaSsrKVxcbiAgICB0aGlzLml2W2ldID0gaXZbaV07XFxufVxcblxcbmZ1bmN0aW9uIGluc3RhbnRpYXRlKEJhc2UpIHtcXG4gIGZ1bmN0aW9uIENCQyhvcHRpb25zKSB7XFxuICAgIEJhc2UuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gICAgdGhpcy5fY2JjSW5pdCgpO1xcbiAgfVxcbiAgaW5oZXJpdHMoQ0JDLCBCYXNlKTtcXG5cXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMocHJvdG8pO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xcbiAgICBDQkMucHJvdG90eXBlW2tleV0gPSBwcm90b1trZXldO1xcbiAgfVxcblxcbiAgQ0JDLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XFxuICAgIHJldHVybiBuZXcgQ0JDKG9wdGlvbnMpO1xcbiAgfTtcXG5cXG4gIHJldHVybiBDQkM7XFxufVxcblxcbmV4cG9ydHMuaW5zdGFudGlhdGUgPSBpbnN0YW50aWF0ZTtcXG5cXG5wcm90by5fY2JjSW5pdCA9IGZ1bmN0aW9uIF9jYmNJbml0KCkge1xcbiAgdmFyIHN0YXRlID0gbmV3IENCQ1N0YXRlKHRoaXMub3B0aW9ucy5pdik7XFxuICB0aGlzLl9jYmNTdGF0ZSA9IHN0YXRlO1xcbn07XFxuXFxucHJvdG8uX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2NiY1N0YXRlO1xcbiAgdmFyIHN1cGVyUHJvdG8gPSB0aGlzLmNvbnN0cnVjdG9yLnN1cGVyXy5wcm90b3R5cGU7XFxuXFxuICB2YXIgaXYgPSBzdGF0ZS5pdjtcXG4gIGlmICh0aGlzLnR5cGUgPT09ICdlbmNyeXB0Jykge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYmxvY2tTaXplOyBpKyspXFxuICAgICAgaXZbaV0gXj0gaW5wW2luT2ZmICsgaV07XFxuXFxuICAgIHN1cGVyUHJvdG8uX3VwZGF0ZS5jYWxsKHRoaXMsIGl2LCAwLCBvdXQsIG91dE9mZik7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5ibG9ja1NpemU7IGkrKylcXG4gICAgICBpdltpXSA9IG91dFtvdXRPZmYgKyBpXTtcXG4gIH0gZWxzZSB7XFxuICAgIHN1cGVyUHJvdG8uX3VwZGF0ZS5jYWxsKHRoaXMsIGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxcbiAgICAgIG91dFtvdXRPZmYgKyBpXSBePSBpdltpXTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxcbiAgICAgIGl2W2ldID0gaW5wW2luT2ZmICsgaV07XFxuICB9XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k5alltTXVhbk0vWldWbVlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDTzBGQlF6RkRMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZha003TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4dlFrRkJiMEk3UVVGRGNrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUWtGQmFVSXNhVUpCUVdsQ08wRkJRMnhETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHZRa0ZCYjBJN1FVRkRka003TzBGQlJVRTdPMEZCUlVFc2JVSkJRVzFDTEc5Q1FVRnZRanRCUVVOMlF6dEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRU3h0UWtGQmJVSXNiMEpCUVc5Q08wRkJRM1pET3p0QlFVVkJMRzFDUVVGdFFpeHZRa0ZCYjBJN1FVRkRka003UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMlJsY3k1cWN5OXNhV0l2WkdWekwyTmlZeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdGemMyVnlkQ0E5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWhjM05sY25RbktUdGNiblpoY2lCcGJtaGxjbWwwY3lBOUlISmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5azdYRzVjYm5aaGNpQndjbTkwYnlBOUlIdDlPMXh1WEc1bWRXNWpkR2x2YmlCRFFrTlRkR0YwWlNocGRpa2dlMXh1SUNCaGMzTmxjblF1WlhGMVlXd29hWFl1YkdWdVozUm9MQ0E0TENBblNXNTJZV3hwWkNCSlZpQnNaVzVuZEdnbktUdGNibHh1SUNCMGFHbHpMbWwySUQwZ2JtVjNJRUZ5Y21GNUtEZ3BPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YVhZdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ2RHaHBjeTVwZGx0cFhTQTlJR2wyVzJsZE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJuTjBZVzUwYVdGMFpTaENZWE5sS1NCN1hHNGdJR1oxYm1OMGFXOXVJRU5DUXlodmNIUnBiMjV6S1NCN1hHNGdJQ0FnUW1GelpTNWpZV3hzS0hSb2FYTXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lIUm9hWE11WDJOaVkwbHVhWFFvS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loRFFrTXNJRUpoYzJVcE8xeHVYRzRnSUhaaGNpQnJaWGx6SUQwZ1QySnFaV04wTG10bGVYTW9jSEp2ZEc4cE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd0bGVYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0IyWVhJZ2EyVjVJRDBnYTJWNWMxdHBYVHRjYmlBZ0lDQkRRa011Y0hKdmRHOTBlWEJsVzJ0bGVWMGdQU0J3Y205MGIxdHJaWGxkTzF4dUlDQjlYRzVjYmlBZ1EwSkRMbU55WldGMFpTQTlJR1oxYm1OMGFXOXVJR055WldGMFpTaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkRRa01vYjNCMGFXOXVjeWs3WEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUVOQ1F6dGNibjFjYmx4dVpYaHdiM0owY3k1cGJuTjBZVzUwYVdGMFpTQTlJR2x1YzNSaGJuUnBZWFJsTzF4dVhHNXdjbTkwYnk1ZlkySmpTVzVwZENBOUlHWjFibU4wYVc5dUlGOWpZbU5KYm1sMEtDa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnVaWGNnUTBKRFUzUmhkR1VvZEdocGN5NXZjSFJwYjI1ekxtbDJLVHRjYmlBZ2RHaHBjeTVmWTJKalUzUmhkR1VnUFNCemRHRjBaVHRjYm4wN1hHNWNibkJ5YjNSdkxsOTFjR1JoZEdVZ1BTQm1kVzVqZEdsdmJpQmZkWEJrWVhSbEtHbHVjQ3dnYVc1UFptWXNJRzkxZEN3Z2IzVjBUMlptS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYMk5pWTFOMFlYUmxPMXh1SUNCMllYSWdjM1Z3WlhKUWNtOTBieUE5SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0l1YzNWd1pYSmZMbkJ5YjNSdmRIbHdaVHRjYmx4dUlDQjJZWElnYVhZZ1BTQnpkR0YwWlM1cGRqdGNiaUFnYVdZZ0tIUm9hWE11ZEhsd1pTQTlQVDBnSjJWdVkzSjVjSFFuS1NCN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbUpzYjJOclUybDZaVHNnYVNzcktWeHVJQ0FnSUNBZ2FYWmJhVjBnWGowZ2FXNXdXMmx1VDJabUlDc2dhVjA3WEc1Y2JpQWdJQ0J6ZFhCbGNsQnliM1J2TGw5MWNHUmhkR1V1WTJGc2JDaDBhR2x6TENCcGRpd2dNQ3dnYjNWMExDQnZkWFJQWm1ZcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1Kc2IyTnJVMmw2WlRzZ2FTc3JLVnh1SUNBZ0lDQWdhWFpiYVYwZ1BTQnZkWFJiYjNWMFQyWm1JQ3NnYVYwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MzVndaWEpRY205MGJ5NWZkWEJrWVhSbExtTmhiR3dvZEdocGN5d2dhVzV3TENCcGJrOW1aaXdnYjNWMExDQnZkWFJQWm1ZcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1Kc2IyTnJVMmw2WlRzZ2FTc3JLVnh1SUNBZ0lDQWdiM1YwVzI5MWRFOW1aaUFySUdsZElGNDlJR2wyVzJsZE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1Kc2IyTnJVMmw2WlRzZ2FTc3JLVnh1SUNBZ0lDQWdhWFpiYVYwZ1BTQnBibkJiYVc1UFptWWdLeUJwWFR0Y2JpQWdmVnh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvY2JjLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jaXBoZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NpcGhlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBDaXBoZXIob3B0aW9ucykge1xcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcXG5cXG4gIHRoaXMudHlwZSA9IHRoaXMub3B0aW9ucy50eXBlO1xcbiAgdGhpcy5ibG9ja1NpemUgPSA4O1xcbiAgdGhpcy5faW5pdCgpO1xcblxcbiAgdGhpcy5idWZmZXIgPSBuZXcgQXJyYXkodGhpcy5ibG9ja1NpemUpO1xcbiAgdGhpcy5idWZmZXJPZmYgPSAwO1xcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IENpcGhlcjtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gX2luaXQoKSB7XFxuICAvLyBNaWdodCBiZSBvdmVycmlkZWRcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKGRhdGEpIHtcXG4gIGlmIChkYXRhLmxlbmd0aCA9PT0gMClcXG4gICAgcmV0dXJuIFtdO1xcblxcbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2RlY3J5cHQnKVxcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlRGVjcnlwdChkYXRhKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuX3VwZGF0ZUVuY3J5cHQoZGF0YSk7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9idWZmZXIgPSBmdW5jdGlvbiBfYnVmZmVyKGRhdGEsIG9mZikge1xcbiAgLy8gQXBwZW5kIGRhdGEgdG8gYnVmZmVyXFxuICB2YXIgbWluID0gTWF0aC5taW4odGhpcy5idWZmZXIubGVuZ3RoIC0gdGhpcy5idWZmZXJPZmYsIGRhdGEubGVuZ3RoIC0gb2ZmKTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbWluOyBpKyspXFxuICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyT2ZmICsgaV0gPSBkYXRhW29mZiArIGldO1xcbiAgdGhpcy5idWZmZXJPZmYgKz0gbWluO1xcblxcbiAgLy8gU2hpZnQgbmV4dFxcbiAgcmV0dXJuIG1pbjtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuX2ZsdXNoQnVmZmVyID0gZnVuY3Rpb24gX2ZsdXNoQnVmZmVyKG91dCwgb2ZmKSB7XFxuICB0aGlzLl91cGRhdGUodGhpcy5idWZmZXIsIDAsIG91dCwgb2ZmKTtcXG4gIHRoaXMuYnVmZmVyT2ZmID0gMDtcXG4gIHJldHVybiB0aGlzLmJsb2NrU2l6ZTtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZUVuY3J5cHQgPSBmdW5jdGlvbiBfdXBkYXRlRW5jcnlwdChkYXRhKSB7XFxuICB2YXIgaW5wdXRPZmYgPSAwO1xcbiAgdmFyIG91dHB1dE9mZiA9IDA7XFxuXFxuICB2YXIgY291bnQgPSAoKHRoaXMuYnVmZmVyT2ZmICsgZGF0YS5sZW5ndGgpIC8gdGhpcy5ibG9ja1NpemUpIHwgMDtcXG4gIHZhciBvdXQgPSBuZXcgQXJyYXkoY291bnQgKiB0aGlzLmJsb2NrU2l6ZSk7XFxuXFxuICBpZiAodGhpcy5idWZmZXJPZmYgIT09IDApIHtcXG4gICAgaW5wdXRPZmYgKz0gdGhpcy5fYnVmZmVyKGRhdGEsIGlucHV0T2ZmKTtcXG5cXG4gICAgaWYgKHRoaXMuYnVmZmVyT2ZmID09PSB0aGlzLmJ1ZmZlci5sZW5ndGgpXFxuICAgICAgb3V0cHV0T2ZmICs9IHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgb3V0cHV0T2ZmKTtcXG4gIH1cXG5cXG4gIC8vIFdyaXRlIGJsb2Nrc1xcbiAgdmFyIG1heCA9IGRhdGEubGVuZ3RoIC0gKChkYXRhLmxlbmd0aCAtIGlucHV0T2ZmKSAlIHRoaXMuYmxvY2tTaXplKTtcXG4gIGZvciAoOyBpbnB1dE9mZiA8IG1heDsgaW5wdXRPZmYgKz0gdGhpcy5ibG9ja1NpemUpIHtcXG4gICAgdGhpcy5fdXBkYXRlKGRhdGEsIGlucHV0T2ZmLCBvdXQsIG91dHB1dE9mZik7XFxuICAgIG91dHB1dE9mZiArPSB0aGlzLmJsb2NrU2l6ZTtcXG4gIH1cXG5cXG4gIC8vIFF1ZXVlIHJlc3RcXG4gIGZvciAoOyBpbnB1dE9mZiA8IGRhdGEubGVuZ3RoOyBpbnB1dE9mZisrLCB0aGlzLmJ1ZmZlck9mZisrKVxcbiAgICB0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZl0gPSBkYXRhW2lucHV0T2ZmXTtcXG5cXG4gIHJldHVybiBvdXQ7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl91cGRhdGVEZWNyeXB0ID0gZnVuY3Rpb24gX3VwZGF0ZURlY3J5cHQoZGF0YSkge1xcbiAgdmFyIGlucHV0T2ZmID0gMDtcXG4gIHZhciBvdXRwdXRPZmYgPSAwO1xcblxcbiAgdmFyIGNvdW50ID0gTWF0aC5jZWlsKCh0aGlzLmJ1ZmZlck9mZiArIGRhdGEubGVuZ3RoKSAvIHRoaXMuYmxvY2tTaXplKSAtIDE7XFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KGNvdW50ICogdGhpcy5ibG9ja1NpemUpO1xcblxcbiAgLy8gVE9ETyhpbmR1dG55KTogb3B0aW1pemUgaXQsIHRoaXMgaXMgZmFyIGZyb20gb3B0aW1hbFxcbiAgZm9yICg7IGNvdW50ID4gMDsgY291bnQtLSkge1xcbiAgICBpbnB1dE9mZiArPSB0aGlzLl9idWZmZXIoZGF0YSwgaW5wdXRPZmYpO1xcbiAgICBvdXRwdXRPZmYgKz0gdGhpcy5fZmx1c2hCdWZmZXIob3V0LCBvdXRwdXRPZmYpO1xcbiAgfVxcblxcbiAgLy8gQnVmZmVyIHJlc3Qgb2YgdGhlIGlucHV0XFxuICBpbnB1dE9mZiArPSB0aGlzLl9idWZmZXIoZGF0YSwgaW5wdXRPZmYpO1xcblxcbiAgcmV0dXJuIG91dDtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuZmluYWwgPSBmdW5jdGlvbiBmaW5hbChidWZmZXIpIHtcXG4gIHZhciBmaXJzdDtcXG4gIGlmIChidWZmZXIpXFxuICAgIGZpcnN0ID0gdGhpcy51cGRhdGUoYnVmZmVyKTtcXG5cXG4gIHZhciBsYXN0O1xcbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2VuY3J5cHQnKVxcbiAgICBsYXN0ID0gdGhpcy5fZmluYWxFbmNyeXB0KCk7XFxuICBlbHNlXFxuICAgIGxhc3QgPSB0aGlzLl9maW5hbERlY3J5cHQoKTtcXG5cXG4gIGlmIChmaXJzdClcXG4gICAgcmV0dXJuIGZpcnN0LmNvbmNhdChsYXN0KTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIGxhc3Q7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9wYWQgPSBmdW5jdGlvbiBfcGFkKGJ1ZmZlciwgb2ZmKSB7XFxuICBpZiAob2ZmID09PSAwKVxcbiAgICByZXR1cm4gZmFsc2U7XFxuXFxuICB3aGlsZSAob2ZmIDwgYnVmZmVyLmxlbmd0aClcXG4gICAgYnVmZmVyW29mZisrXSA9IDA7XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuX2ZpbmFsRW5jcnlwdCA9IGZ1bmN0aW9uIF9maW5hbEVuY3J5cHQoKSB7XFxuICBpZiAoIXRoaXMuX3BhZCh0aGlzLmJ1ZmZlciwgdGhpcy5idWZmZXJPZmYpKVxcbiAgICByZXR1cm4gW107XFxuXFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtcXG4gIHRoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwgMCwgb3V0LCAwKTtcXG4gIHJldHVybiBvdXQ7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl91bnBhZCA9IGZ1bmN0aW9uIF91bnBhZChidWZmZXIpIHtcXG4gIHJldHVybiBidWZmZXI7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9maW5hbERlY3J5cHQgPSBmdW5jdGlvbiBfZmluYWxEZWNyeXB0KCkge1xcbiAgYXNzZXJ0LmVxdWFsKHRoaXMuYnVmZmVyT2ZmLCB0aGlzLmJsb2NrU2l6ZSwgJ05vdCBlbm91Z2ggZGF0YSB0byBkZWNyeXB0Jyk7XFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtcXG4gIHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgMCk7XFxuXFxuICByZXR1cm4gdGhpcy5fdW5wYWQob3V0KTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5a1pYTXVhbk12YkdsaUwyUmxjeTlqYVhCb1pYSXVhbk0vWWpJMllTSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDT3p0QlFVVXhRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1VVRkJVU3huUWtGQlowSTdRVUZEZUVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNVVUZCVVN4M1FrRkJkMEk3UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEZGQlFWRXNWMEZCVnp0QlFVTnVRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlrWlhNdWFuTXZiR2xpTDJSbGN5OWphWEJvWlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQmhjM05sY25RZ1BTQnlaWEYxYVhKbEtDZHRhVzVwYldGc2FYTjBhV010WVhOelpYSjBKeWs3WEc1Y2JtWjFibU4wYVc5dUlFTnBjR2hsY2lodmNIUnBiMjV6S1NCN1hHNGdJSFJvYVhNdWIzQjBhVzl1Y3lBOUlHOXdkR2x2Ym5NN1hHNWNiaUFnZEdocGN5NTBlWEJsSUQwZ2RHaHBjeTV2Y0hScGIyNXpMblI1Y0dVN1hHNGdJSFJvYVhNdVlteHZZMnRUYVhwbElEMGdPRHRjYmlBZ2RHaHBjeTVmYVc1cGRDZ3BPMXh1WEc0Z0lIUm9hWE11WW5WbVptVnlJRDBnYm1WM0lFRnljbUY1S0hSb2FYTXVZbXh2WTJ0VGFYcGxLVHRjYmlBZ2RHaHBjeTVpZFdabVpYSlBabVlnUFNBd08xeHVmVnh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JEYVhCb1pYSTdYRzVjYmtOcGNHaGxjaTV3Y205MGIzUjVjR1V1WDJsdWFYUWdQU0JtZFc1amRHbHZiaUJmYVc1cGRDZ3BJSHRjYmlBZ0x5OGdUV2xuYUhRZ1ltVWdiM1psY25KcFpHVmtYRzU5TzF4dVhHNURhWEJvWlhJdWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNoa1lYUmhLU0I3WEc0Z0lHbG1JQ2hrWVhSaExteGxibWQwYUNBOVBUMGdNQ2xjYmlBZ0lDQnlaWFIxY200Z1cxMDdYRzVjYmlBZ2FXWWdLSFJvYVhNdWRIbHdaU0E5UFQwZ0oyUmxZM0o1Y0hRbktWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTFjR1JoZEdWRVpXTnllWEIwS0dSaGRHRXBPMXh1SUNCbGJITmxYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM1Z3WkdGMFpVVnVZM0o1Y0hRb1pHRjBZU2s3WEc1OU8xeHVYRzVEYVhCb1pYSXVjSEp2ZEc5MGVYQmxMbDlpZFdabVpYSWdQU0JtZFc1amRHbHZiaUJmWW5WbVptVnlLR1JoZEdFc0lHOW1aaWtnZTF4dUlDQXZMeUJCY0hCbGJtUWdaR0YwWVNCMGJ5QmlkV1ptWlhKY2JpQWdkbUZ5SUcxcGJpQTlJRTFoZEdndWJXbHVLSFJvYVhNdVluVm1abVZ5TG14bGJtZDBhQ0F0SUhSb2FYTXVZblZtWm1WeVQyWm1MQ0JrWVhSaExteGxibWQwYUNBdElHOW1aaWs3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diV2x1T3lCcEt5c3BYRzRnSUNBZ2RHaHBjeTVpZFdabVpYSmJkR2hwY3k1aWRXWm1aWEpQWm1ZZ0t5QnBYU0E5SUdSaGRHRmJiMlptSUNzZ2FWMDdYRzRnSUhSb2FYTXVZblZtWm1WeVQyWm1JQ3M5SUcxcGJqdGNibHh1SUNBdkx5QlRhR2xtZENCdVpYaDBYRzRnSUhKbGRIVnliaUJ0YVc0N1hHNTlPMXh1WEc1RGFYQm9aWEl1Y0hKdmRHOTBlWEJsTGw5bWJIVnphRUoxWm1abGNpQTlJR1oxYm1OMGFXOXVJRjltYkhWemFFSjFabVpsY2lodmRYUXNJRzltWmlrZ2UxeHVJQ0IwYUdsekxsOTFjR1JoZEdVb2RHaHBjeTVpZFdabVpYSXNJREFzSUc5MWRDd2diMlptS1R0Y2JpQWdkR2hwY3k1aWRXWm1aWEpQWm1ZZ1BTQXdPMXh1SUNCeVpYUjFjbTRnZEdocGN5NWliRzlqYTFOcGVtVTdYRzU5TzF4dVhHNURhWEJvWlhJdWNISnZkRzkwZVhCbExsOTFjR1JoZEdWRmJtTnllWEIwSUQwZ1puVnVZM1JwYjI0Z1gzVndaR0YwWlVWdVkzSjVjSFFvWkdGMFlTa2dlMXh1SUNCMllYSWdhVzV3ZFhSUFptWWdQU0F3TzF4dUlDQjJZWElnYjNWMGNIVjBUMlptSUQwZ01EdGNibHh1SUNCMllYSWdZMjkxYm5RZ1BTQW9LSFJvYVhNdVluVm1abVZ5VDJabUlDc2daR0YwWVM1c1pXNW5kR2dwSUM4Z2RHaHBjeTVpYkc5amExTnBlbVVwSUh3Z01EdGNiaUFnZG1GeUlHOTFkQ0E5SUc1bGR5QkJjbkpoZVNoamIzVnVkQ0FxSUhSb2FYTXVZbXh2WTJ0VGFYcGxLVHRjYmx4dUlDQnBaaUFvZEdocGN5NWlkV1ptWlhKUFptWWdJVDA5SURBcElIdGNiaUFnSUNCcGJuQjFkRTltWmlBclBTQjBhR2x6TGw5aWRXWm1aWElvWkdGMFlTd2dhVzV3ZFhSUFptWXBPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVZblZtWm1WeVQyWm1JRDA5UFNCMGFHbHpMbUoxWm1abGNpNXNaVzVuZEdncFhHNGdJQ0FnSUNCdmRYUndkWFJQWm1ZZ0t6MGdkR2hwY3k1ZlpteDFjMmhDZFdabVpYSW9iM1YwTENCdmRYUndkWFJQWm1ZcE8xeHVJQ0I5WEc1Y2JpQWdMeThnVjNKcGRHVWdZbXh2WTJ0elhHNGdJSFpoY2lCdFlYZ2dQU0JrWVhSaExteGxibWQwYUNBdElDZ29aR0YwWVM1c1pXNW5kR2dnTFNCcGJuQjFkRTltWmlrZ0pTQjBhR2x6TG1Kc2IyTnJVMmw2WlNrN1hHNGdJR1p2Y2lBb095QnBibkIxZEU5bVppQThJRzFoZURzZ2FXNXdkWFJQWm1ZZ0t6MGdkR2hwY3k1aWJHOWphMU5wZW1VcElIdGNiaUFnSUNCMGFHbHpMbDkxY0dSaGRHVW9aR0YwWVN3Z2FXNXdkWFJQWm1Zc0lHOTFkQ3dnYjNWMGNIVjBUMlptS1R0Y2JpQWdJQ0J2ZFhSd2RYUlBabVlnS3owZ2RHaHBjeTVpYkc5amExTnBlbVU3WEc0Z0lIMWNibHh1SUNBdkx5QlJkV1YxWlNCeVpYTjBYRzRnSUdadmNpQW9PeUJwYm5CMWRFOW1aaUE4SUdSaGRHRXViR1Z1WjNSb095QnBibkIxZEU5bVppc3JMQ0IwYUdsekxtSjFabVpsY2s5bVppc3JLVnh1SUNBZ0lIUm9hWE11WW5WbVptVnlXM1JvYVhNdVluVm1abVZ5VDJabVhTQTlJR1JoZEdGYmFXNXdkWFJQWm1aZE8xeHVYRzRnSUhKbGRIVnliaUJ2ZFhRN1hHNTlPMXh1WEc1RGFYQm9aWEl1Y0hKdmRHOTBlWEJsTGw5MWNHUmhkR1ZFWldOeWVYQjBJRDBnWm5WdVkzUnBiMjRnWDNWd1pHRjBaVVJsWTNKNWNIUW9aR0YwWVNrZ2UxeHVJQ0IyWVhJZ2FXNXdkWFJQWm1ZZ1BTQXdPMXh1SUNCMllYSWdiM1YwY0hWMFQyWm1JRDBnTUR0Y2JseHVJQ0IyWVhJZ1kyOTFiblFnUFNCTllYUm9MbU5sYVd3b0tIUm9hWE11WW5WbVptVnlUMlptSUNzZ1pHRjBZUzVzWlc1bmRHZ3BJQzhnZEdocGN5NWliRzlqYTFOcGVtVXBJQzBnTVR0Y2JpQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQmNuSmhlU2hqYjNWdWRDQXFJSFJvYVhNdVlteHZZMnRUYVhwbEtUdGNibHh1SUNBdkx5QlVUMFJQS0dsdVpIVjBibmtwT2lCdmNIUnBiV2w2WlNCcGRDd2dkR2hwY3lCcGN5Qm1ZWElnWm5KdmJTQnZjSFJwYldGc1hHNGdJR1p2Y2lBb095QmpiM1Z1ZENBK0lEQTdJR052ZFc1MExTMHBJSHRjYmlBZ0lDQnBibkIxZEU5bVppQXJQU0IwYUdsekxsOWlkV1ptWlhJb1pHRjBZU3dnYVc1d2RYUlBabVlwTzF4dUlDQWdJRzkxZEhCMWRFOW1aaUFyUFNCMGFHbHpMbDltYkhWemFFSjFabVpsY2lodmRYUXNJRzkxZEhCMWRFOW1aaWs3WEc0Z0lIMWNibHh1SUNBdkx5QkNkV1ptWlhJZ2NtVnpkQ0J2WmlCMGFHVWdhVzV3ZFhSY2JpQWdhVzV3ZFhSUFptWWdLejBnZEdocGN5NWZZblZtWm1WeUtHUmhkR0VzSUdsdWNIVjBUMlptS1R0Y2JseHVJQ0J5WlhSMWNtNGdiM1YwTzF4dWZUdGNibHh1UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzVtYVc1aGJDQTlJR1oxYm1OMGFXOXVJR1pwYm1Gc0tHSjFabVpsY2lrZ2UxeHVJQ0IyWVhJZ1ptbHljM1E3WEc0Z0lHbG1JQ2hpZFdabVpYSXBYRzRnSUNBZ1ptbHljM1FnUFNCMGFHbHpMblZ3WkdGMFpTaGlkV1ptWlhJcE8xeHVYRzRnSUhaaGNpQnNZWE4wTzF4dUlDQnBaaUFvZEdocGN5NTBlWEJsSUQwOVBTQW5aVzVqY25sd2RDY3BYRzRnSUNBZ2JHRnpkQ0E5SUhSb2FYTXVYMlpwYm1Gc1JXNWpjbmx3ZENncE8xeHVJQ0JsYkhObFhHNGdJQ0FnYkdGemRDQTlJSFJvYVhNdVgyWnBibUZzUkdWamNubHdkQ2dwTzF4dVhHNGdJR2xtSUNobWFYSnpkQ2xjYmlBZ0lDQnlaWFIxY200Z1ptbHljM1F1WTI5dVkyRjBLR3hoYzNRcE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJR3hoYzNRN1hHNTlPMXh1WEc1RGFYQm9aWEl1Y0hKdmRHOTBlWEJsTGw5d1lXUWdQU0JtZFc1amRHbHZiaUJmY0dGa0tHSjFabVpsY2l3Z2IyWm1LU0I3WEc0Z0lHbG1JQ2h2Wm1ZZ1BUMDlJREFwWEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSGRvYVd4bElDaHZabVlnUENCaWRXWm1aWEl1YkdWdVozUm9LVnh1SUNBZ0lHSjFabVpsY2x0dlptWXJLMTBnUFNBd08xeHVYRzRnSUhKbGRIVnliaUIwY25WbE8xeHVmVHRjYmx4dVEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1ZlptbHVZV3hGYm1OeWVYQjBJRDBnWm5WdVkzUnBiMjRnWDJacGJtRnNSVzVqY25sd2RDZ3BJSHRjYmlBZ2FXWWdLQ0YwYUdsekxsOXdZV1FvZEdocGN5NWlkV1ptWlhJc0lIUm9hWE11WW5WbVptVnlUMlptS1NsY2JpQWdJQ0J5WlhSMWNtNGdXMTA3WEc1Y2JpQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQmNuSmhlU2gwYUdsekxtSnNiMk5yVTJsNlpTazdYRzRnSUhSb2FYTXVYM1Z3WkdGMFpTaDBhR2x6TG1KMVptWmxjaXdnTUN3Z2IzVjBMQ0F3S1R0Y2JpQWdjbVYwZFhKdUlHOTFkRHRjYm4wN1hHNWNia05wY0dobGNpNXdjbTkwYjNSNWNHVXVYM1Z1Y0dGa0lEMGdablZ1WTNScGIyNGdYM1Z1Y0dGa0tHSjFabVpsY2lrZ2UxeHVJQ0J5WlhSMWNtNGdZblZtWm1WeU8xeHVmVHRjYmx4dVEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1ZlptbHVZV3hFWldOeWVYQjBJRDBnWm5WdVkzUnBiMjRnWDJacGJtRnNSR1ZqY25sd2RDZ3BJSHRjYmlBZ1lYTnpaWEowTG1WeGRXRnNLSFJvYVhNdVluVm1abVZ5VDJabUxDQjBhR2x6TG1Kc2IyTnJVMmw2WlN3Z0owNXZkQ0JsYm05MVoyZ2daR0YwWVNCMGJ5QmtaV055ZVhCMEp5azdYRzRnSUhaaGNpQnZkWFFnUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVpYkc5amExTnBlbVVwTzF4dUlDQjBhR2x6TGw5bWJIVnphRUoxWm1abGNpaHZkWFFzSURBcE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxsOTFibkJoWkNodmRYUXBPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvY2lwaGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9kZXMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2Rlcy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL3V0aWxzLmpzXFxcIik7XFxudmFyIENpcGhlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jaXBoZXIuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBERVNTdGF0ZSgpIHtcXG4gIHRoaXMudG1wID0gbmV3IEFycmF5KDIpO1xcbiAgdGhpcy5rZXlzID0gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gREVTKG9wdGlvbnMpIHtcXG4gIENpcGhlci5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcblxcbiAgdmFyIHN0YXRlID0gbmV3IERFU1N0YXRlKCk7XFxuICB0aGlzLl9kZXNTdGF0ZSA9IHN0YXRlO1xcblxcbiAgdGhpcy5kZXJpdmVLZXlzKHN0YXRlLCBvcHRpb25zLmtleSk7XFxufVxcbmluaGVyaXRzKERFUywgQ2lwaGVyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IERFUztcXG5cXG5ERVMuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKG9wdGlvbnMpIHtcXG4gIHJldHVybiBuZXcgREVTKG9wdGlvbnMpO1xcbn07XFxuXFxudmFyIHNoaWZ0VGFibGUgPSBbXFxuICAxLCAxLCAyLCAyLCAyLCAyLCAyLCAyLFxcbiAgMSwgMiwgMiwgMiwgMiwgMiwgMiwgMVxcbl07XFxuXFxuREVTLnByb3RvdHlwZS5kZXJpdmVLZXlzID0gZnVuY3Rpb24gZGVyaXZlS2V5cyhzdGF0ZSwga2V5KSB7XFxuICBzdGF0ZS5rZXlzID0gbmV3IEFycmF5KDE2ICogMik7XFxuXFxuICBhc3NlcnQuZXF1YWwoa2V5Lmxlbmd0aCwgdGhpcy5ibG9ja1NpemUsICdJbnZhbGlkIGtleSBsZW5ndGgnKTtcXG5cXG4gIHZhciBrTCA9IHV0aWxzLnJlYWRVSW50MzJCRShrZXksIDApO1xcbiAgdmFyIGtSID0gdXRpbHMucmVhZFVJbnQzMkJFKGtleSwgNCk7XFxuXFxuICB1dGlscy5wYzEoa0wsIGtSLCBzdGF0ZS50bXAsIDApO1xcbiAga0wgPSBzdGF0ZS50bXBbMF07XFxuICBrUiA9IHN0YXRlLnRtcFsxXTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUua2V5cy5sZW5ndGg7IGkgKz0gMikge1xcbiAgICB2YXIgc2hpZnQgPSBzaGlmdFRhYmxlW2kgPj4+IDFdO1xcbiAgICBrTCA9IHV0aWxzLnIyOHNobChrTCwgc2hpZnQpO1xcbiAgICBrUiA9IHV0aWxzLnIyOHNobChrUiwgc2hpZnQpO1xcbiAgICB1dGlscy5wYzIoa0wsIGtSLCBzdGF0ZS5rZXlzLCBpKTtcXG4gIH1cXG59O1xcblxcbkRFUy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Rlc1N0YXRlO1xcblxcbiAgdmFyIGwgPSB1dGlscy5yZWFkVUludDMyQkUoaW5wLCBpbk9mZik7XFxuICB2YXIgciA9IHV0aWxzLnJlYWRVSW50MzJCRShpbnAsIGluT2ZmICsgNCk7XFxuXFxuICAvLyBJbml0aWFsIFBlcm11dGF0aW9uXFxuICB1dGlscy5pcChsLCByLCBzdGF0ZS50bXAsIDApO1xcbiAgbCA9IHN0YXRlLnRtcFswXTtcXG4gIHIgPSBzdGF0ZS50bXBbMV07XFxuXFxuICBpZiAodGhpcy50eXBlID09PSAnZW5jcnlwdCcpXFxuICAgIHRoaXMuX2VuY3J5cHQoc3RhdGUsIGwsIHIsIHN0YXRlLnRtcCwgMCk7XFxuICBlbHNlXFxuICAgIHRoaXMuX2RlY3J5cHQoc3RhdGUsIGwsIHIsIHN0YXRlLnRtcCwgMCk7XFxuXFxuICBsID0gc3RhdGUudG1wWzBdO1xcbiAgciA9IHN0YXRlLnRtcFsxXTtcXG5cXG4gIHV0aWxzLndyaXRlVUludDMyQkUob3V0LCBsLCBvdXRPZmYpO1xcbiAgdXRpbHMud3JpdGVVSW50MzJCRShvdXQsIHIsIG91dE9mZiArIDQpO1xcbn07XFxuXFxuREVTLnByb3RvdHlwZS5fcGFkID0gZnVuY3Rpb24gX3BhZChidWZmZXIsIG9mZikge1xcbiAgdmFyIHZhbHVlID0gYnVmZmVyLmxlbmd0aCAtIG9mZjtcXG4gIGZvciAodmFyIGkgPSBvZmY7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspXFxuICAgIGJ1ZmZlcltpXSA9IHZhbHVlO1xcblxcbiAgcmV0dXJuIHRydWU7XFxufTtcXG5cXG5ERVMucHJvdG90eXBlLl91bnBhZCA9IGZ1bmN0aW9uIF91bnBhZChidWZmZXIpIHtcXG4gIHZhciBwYWQgPSBidWZmZXJbYnVmZmVyLmxlbmd0aCAtIDFdO1xcbiAgZm9yICh2YXIgaSA9IGJ1ZmZlci5sZW5ndGggLSBwYWQ7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspXFxuICAgIGFzc2VydC5lcXVhbChidWZmZXJbaV0sIHBhZCk7XFxuXFxuICByZXR1cm4gYnVmZmVyLnNsaWNlKDAsIGJ1ZmZlci5sZW5ndGggLSBwYWQpO1xcbn07XFxuXFxuREVTLnByb3RvdHlwZS5fZW5jcnlwdCA9IGZ1bmN0aW9uIF9lbmNyeXB0KHN0YXRlLCBsU3RhcnQsIHJTdGFydCwgb3V0LCBvZmYpIHtcXG4gIHZhciBsID0gbFN0YXJ0O1xcbiAgdmFyIHIgPSByU3RhcnQ7XFxuXFxuICAvLyBBcHBseSBmKCkgeDE2IHRpbWVzXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLmtleXMubGVuZ3RoOyBpICs9IDIpIHtcXG4gICAgdmFyIGtleUwgPSBzdGF0ZS5rZXlzW2ldO1xcbiAgICB2YXIga2V5UiA9IHN0YXRlLmtleXNbaSArIDFdO1xcblxcbiAgICAvLyBmKHIsIGspXFxuICAgIHV0aWxzLmV4cGFuZChyLCBzdGF0ZS50bXAsIDApO1xcblxcbiAgICBrZXlMIF49IHN0YXRlLnRtcFswXTtcXG4gICAga2V5UiBePSBzdGF0ZS50bXBbMV07XFxuICAgIHZhciBzID0gdXRpbHMuc3Vic3RpdHV0ZShrZXlMLCBrZXlSKTtcXG4gICAgdmFyIGYgPSB1dGlscy5wZXJtdXRlKHMpO1xcblxcbiAgICB2YXIgdCA9IHI7XFxuICAgIHIgPSAobCBeIGYpID4+PiAwO1xcbiAgICBsID0gdDtcXG4gIH1cXG5cXG4gIC8vIFJldmVyc2UgSW5pdGlhbCBQZXJtdXRhdGlvblxcbiAgdXRpbHMucmlwKHIsIGwsIG91dCwgb2ZmKTtcXG59O1xcblxcbkRFUy5wcm90b3R5cGUuX2RlY3J5cHQgPSBmdW5jdGlvbiBfZGVjcnlwdChzdGF0ZSwgbFN0YXJ0LCByU3RhcnQsIG91dCwgb2ZmKSB7XFxuICB2YXIgbCA9IHJTdGFydDtcXG4gIHZhciByID0gbFN0YXJ0O1xcblxcbiAgLy8gQXBwbHkgZigpIHgxNiB0aW1lc1xcbiAgZm9yICh2YXIgaSA9IHN0YXRlLmtleXMubGVuZ3RoIC0gMjsgaSA+PSAwOyBpIC09IDIpIHtcXG4gICAgdmFyIGtleUwgPSBzdGF0ZS5rZXlzW2ldO1xcbiAgICB2YXIga2V5UiA9IHN0YXRlLmtleXNbaSArIDFdO1xcblxcbiAgICAvLyBmKHIsIGspXFxuICAgIHV0aWxzLmV4cGFuZChsLCBzdGF0ZS50bXAsIDApO1xcblxcbiAgICBrZXlMIF49IHN0YXRlLnRtcFswXTtcXG4gICAga2V5UiBePSBzdGF0ZS50bXBbMV07XFxuICAgIHZhciBzID0gdXRpbHMuc3Vic3RpdHV0ZShrZXlMLCBrZXlSKTtcXG4gICAgdmFyIGYgPSB1dGlscy5wZXJtdXRlKHMpO1xcblxcbiAgICB2YXIgdCA9IGw7XFxuICAgIGwgPSAociBeIGYpID4+PiAwO1xcbiAgICByID0gdDtcXG4gIH1cXG5cXG4gIC8vIFJldmVyc2UgSW5pdGlhbCBQZXJtdXRhdGlvblxcbiAgdXRpbHMucmlwKGwsIHIsIG91dCwgb2ZmKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5a1pYTXVhbk12YkdsaUwyUmxjeTlrWlhNdWFuTS9Oamd3WmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBWQlFYRkNPMEZCUXpGRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTXNXVUZCV1N4dFFrRkJUeXhEUVVGRExIVkVRVUZUTzBGQlF6ZENMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVlRzN1FVRkZMMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMSFZDUVVGMVFqdEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNiVUpCUVcxQ08wRkJRM1JET3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxRFFVRnRReXh0UWtGQmJVSTdRVUZEZEVRN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRa0ZCYVVJc2RVSkJRWFZDTzBGQlEzaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VOQlFYRkRMRkZCUVZFN1FVRkROME03UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlrWlhNdWFuTXZiR2xpTDJSbGN5OWtaWE11YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCaGMzTmxjblFnUFNCeVpYRjFhWEpsS0NkdGFXNXBiV0ZzYVhOMGFXTXRZWE56WlhKMEp5azdYRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BPMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMM1YwYVd4ekp5azdYRzUyWVhJZ1EybHdhR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWphWEJvWlhJbktUdGNibHh1Wm5WdVkzUnBiMjRnUkVWVFUzUmhkR1VvS1NCN1hHNGdJSFJvYVhNdWRHMXdJRDBnYm1WM0lFRnljbUY1S0RJcE8xeHVJQ0IwYUdsekxtdGxlWE1nUFNCdWRXeHNPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkVSVk1vYjNCMGFXOXVjeWtnZTF4dUlDQkRhWEJvWlhJdVkyRnNiQ2gwYUdsekxDQnZjSFJwYjI1ektUdGNibHh1SUNCMllYSWdjM1JoZEdVZ1BTQnVaWGNnUkVWVFUzUmhkR1VvS1R0Y2JpQWdkR2hwY3k1ZlpHVnpVM1JoZEdVZ1BTQnpkR0YwWlR0Y2JseHVJQ0IwYUdsekxtUmxjbWwyWlV0bGVYTW9jM1JoZEdVc0lHOXdkR2x2Ym5NdWEyVjVLVHRjYm4xY2JtbHVhR1Z5YVhSektFUkZVeXdnUTJsd2FHVnlLVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUkVWVE8xeHVYRzVFUlZNdVkzSmxZWFJsSUQwZ1puVnVZM1JwYjI0Z1kzSmxZWFJsS0c5d2RHbHZibk1wSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJFUlZNb2IzQjBhVzl1Y3lrN1hHNTlPMXh1WEc1MllYSWdjMmhwWm5SVVlXSnNaU0E5SUZ0Y2JpQWdNU3dnTVN3Z01pd2dNaXdnTWl3Z01pd2dNaXdnTWl4Y2JpQWdNU3dnTWl3Z01pd2dNaXdnTWl3Z01pd2dNaXdnTVZ4dVhUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWtaWEpwZG1WTFpYbHpJRDBnWm5WdVkzUnBiMjRnWkdWeWFYWmxTMlY1Y3loemRHRjBaU3dnYTJWNUtTQjdYRzRnSUhOMFlYUmxMbXRsZVhNZ1BTQnVaWGNnUVhKeVlYa29NVFlnS2lBeUtUdGNibHh1SUNCaGMzTmxjblF1WlhGMVlXd29hMlY1TG14bGJtZDBhQ3dnZEdocGN5NWliRzlqYTFOcGVtVXNJQ2RKYm5aaGJHbGtJR3RsZVNCc1pXNW5kR2duS1R0Y2JseHVJQ0IyWVhJZ2Ewd2dQU0IxZEdsc2N5NXlaV0ZrVlVsdWRETXlRa1VvYTJWNUxDQXdLVHRjYmlBZ2RtRnlJR3RTSUQwZ2RYUnBiSE11Y21WaFpGVkpiblF6TWtKRktHdGxlU3dnTkNrN1hHNWNiaUFnZFhScGJITXVjR014S0d0TUxDQnJVaXdnYzNSaGRHVXVkRzF3TENBd0tUdGNiaUFnYTB3Z1BTQnpkR0YwWlM1MGJYQmJNRjA3WEc0Z0lHdFNJRDBnYzNSaGRHVXVkRzF3V3pGZE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhOMFlYUmxMbXRsZVhNdWJHVnVaM1JvT3lCcElDczlJRElwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCemFHbG1kRlJoWW14bFcya2dQajQrSURGZE8xeHVJQ0FnSUd0TUlEMGdkWFJwYkhNdWNqSTRjMmhzS0d0TUxDQnphR2xtZENrN1hHNGdJQ0FnYTFJZ1BTQjFkR2xzY3k1eU1qaHphR3dvYTFJc0lITm9hV1owS1R0Y2JpQWdJQ0IxZEdsc2N5NXdZeklvYTB3c0lHdFNMQ0J6ZEdGMFpTNXJaWGx6TENCcEtUdGNiaUFnZlZ4dWZUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWZkWEJrWVhSbElEMGdablZ1WTNScGIyNGdYM1Z3WkdGMFpTaHBibkFzSUdsdVQyWm1MQ0J2ZFhRc0lHOTFkRTltWmlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlrWlhOVGRHRjBaVHRjYmx4dUlDQjJZWElnYkNBOUlIVjBhV3h6TG5KbFlXUlZTVzUwTXpKQ1JTaHBibkFzSUdsdVQyWm1LVHRjYmlBZ2RtRnlJSElnUFNCMWRHbHNjeTV5WldGa1ZVbHVkRE15UWtVb2FXNXdMQ0JwYms5bVppQXJJRFFwTzF4dVhHNGdJQzh2SUVsdWFYUnBZV3dnVUdWeWJYVjBZWFJwYjI1Y2JpQWdkWFJwYkhNdWFYQW9iQ3dnY2l3Z2MzUmhkR1V1ZEcxd0xDQXdLVHRjYmlBZ2JDQTlJSE4wWVhSbExuUnRjRnN3WFR0Y2JpQWdjaUE5SUhOMFlYUmxMblJ0Y0ZzeFhUdGNibHh1SUNCcFppQW9kR2hwY3k1MGVYQmxJRDA5UFNBblpXNWpjbmx3ZENjcFhHNGdJQ0FnZEdocGN5NWZaVzVqY25sd2RDaHpkR0YwWlN3Z2JDd2djaXdnYzNSaGRHVXVkRzF3TENBd0tUdGNiaUFnWld4elpWeHVJQ0FnSUhSb2FYTXVYMlJsWTNKNWNIUW9jM1JoZEdVc0lHd3NJSElzSUhOMFlYUmxMblJ0Y0N3Z01DazdYRzVjYmlBZ2JDQTlJSE4wWVhSbExuUnRjRnN3WFR0Y2JpQWdjaUE5SUhOMFlYUmxMblJ0Y0ZzeFhUdGNibHh1SUNCMWRHbHNjeTUzY21sMFpWVkpiblF6TWtKRktHOTFkQ3dnYkN3Z2IzVjBUMlptS1R0Y2JpQWdkWFJwYkhNdWQzSnBkR1ZWU1c1ME16SkNSU2h2ZFhRc0lISXNJRzkxZEU5bVppQXJJRFFwTzF4dWZUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWZjR0ZrSUQwZ1puVnVZM1JwYjI0Z1gzQmhaQ2hpZFdabVpYSXNJRzltWmlrZ2UxeHVJQ0IyWVhJZ2RtRnNkV1VnUFNCaWRXWm1aWEl1YkdWdVozUm9JQzBnYjJabU8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2IyWm1PeUJwSUR3Z1luVm1abVZ5TG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUdKMVptWmxjbHRwWFNBOUlIWmhiSFZsTzF4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWZkVzV3WVdRZ1BTQm1kVzVqZEdsdmJpQmZkVzV3WVdRb1luVm1abVZ5S1NCN1hHNGdJSFpoY2lCd1lXUWdQU0JpZFdabVpYSmJZblZtWm1WeUxteGxibWQwYUNBdElERmRPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdZblZtWm1WeUxteGxibWQwYUNBdElIQmhaRHNnYVNBOElHSjFabVpsY2k1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCaGMzTmxjblF1WlhGMVlXd29ZblZtWm1WeVcybGRMQ0J3WVdRcE8xeHVYRzRnSUhKbGRIVnliaUJpZFdabVpYSXVjMnhwWTJVb01Dd2dZblZtWm1WeUxteGxibWQwYUNBdElIQmhaQ2s3WEc1OU8xeHVYRzVFUlZNdWNISnZkRzkwZVhCbExsOWxibU55ZVhCMElEMGdablZ1WTNScGIyNGdYMlZ1WTNKNWNIUW9jM1JoZEdVc0lHeFRkR0Z5ZEN3Z2NsTjBZWEowTENCdmRYUXNJRzltWmlrZ2UxeHVJQ0IyWVhJZ2JDQTlJR3hUZEdGeWREdGNiaUFnZG1GeUlISWdQU0J5VTNSaGNuUTdYRzVjYmlBZ0x5OGdRWEJ3YkhrZ1ppZ3BJSGd4TmlCMGFXMWxjMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElITjBZWFJsTG10bGVYTXViR1Z1WjNSb095QnBJQ3M5SURJcElIdGNiaUFnSUNCMllYSWdhMlY1VENBOUlITjBZWFJsTG10bGVYTmJhVjA3WEc0Z0lDQWdkbUZ5SUd0bGVWSWdQU0J6ZEdGMFpTNXJaWGx6VzJrZ0t5QXhYVHRjYmx4dUlDQWdJQzh2SUdZb2Npd2dheWxjYmlBZ0lDQjFkR2xzY3k1bGVIQmhibVFvY2l3Z2MzUmhkR1V1ZEcxd0xDQXdLVHRjYmx4dUlDQWdJR3RsZVV3Z1hqMGdjM1JoZEdVdWRHMXdXekJkTzF4dUlDQWdJR3RsZVZJZ1hqMGdjM1JoZEdVdWRHMXdXekZkTzF4dUlDQWdJSFpoY2lCeklEMGdkWFJwYkhNdWMzVmljM1JwZEhWMFpTaHJaWGxNTENCclpYbFNLVHRjYmlBZ0lDQjJZWElnWmlBOUlIVjBhV3h6TG5CbGNtMTFkR1VvY3lrN1hHNWNiaUFnSUNCMllYSWdkQ0E5SUhJN1hHNGdJQ0FnY2lBOUlDaHNJRjRnWmlrZ1BqNCtJREE3WEc0Z0lDQWdiQ0E5SUhRN1hHNGdJSDFjYmx4dUlDQXZMeUJTWlhabGNuTmxJRWx1YVhScFlXd2dVR1Z5YlhWMFlYUnBiMjVjYmlBZ2RYUnBiSE11Y21sd0tISXNJR3dzSUc5MWRDd2diMlptS1R0Y2JuMDdYRzVjYmtSRlV5NXdjbTkwYjNSNWNHVXVYMlJsWTNKNWNIUWdQU0JtZFc1amRHbHZiaUJmWkdWamNubHdkQ2h6ZEdGMFpTd2diRk4wWVhKMExDQnlVM1JoY25Rc0lHOTFkQ3dnYjJabUtTQjdYRzRnSUhaaGNpQnNJRDBnY2xOMFlYSjBPMXh1SUNCMllYSWdjaUE5SUd4VGRHRnlkRHRjYmx4dUlDQXZMeUJCY0hCc2VTQm1LQ2tnZURFMklIUnBiV1Z6WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGMFpTNXJaWGx6TG14bGJtZDBhQ0F0SURJN0lHa2dQajBnTURzZ2FTQXRQU0F5S1NCN1hHNGdJQ0FnZG1GeUlHdGxlVXdnUFNCemRHRjBaUzVyWlhselcybGRPMXh1SUNBZ0lIWmhjaUJyWlhsU0lEMGdjM1JoZEdVdWEyVjVjMXRwSUNzZ01WMDdYRzVjYmlBZ0lDQXZMeUJtS0hJc0lHc3BYRzRnSUNBZ2RYUnBiSE11Wlhod1lXNWtLR3dzSUhOMFlYUmxMblJ0Y0N3Z01DazdYRzVjYmlBZ0lDQnJaWGxNSUY0OUlITjBZWFJsTG5SdGNGc3dYVHRjYmlBZ0lDQnJaWGxTSUY0OUlITjBZWFJsTG5SdGNGc3hYVHRjYmlBZ0lDQjJZWElnY3lBOUlIVjBhV3h6TG5OMVluTjBhWFIxZEdVb2EyVjVUQ3dnYTJWNVVpazdYRzRnSUNBZ2RtRnlJR1lnUFNCMWRHbHNjeTV3WlhKdGRYUmxLSE1wTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0JzTzF4dUlDQWdJR3dnUFNBb2NpQmVJR1lwSUQ0K1BpQXdPMXh1SUNBZ0lISWdQU0IwTzF4dUlDQjlYRzVjYmlBZ0x5OGdVbVYyWlhKelpTQkpibWwwYVdGc0lGQmxjbTExZEdGMGFXOXVYRzRnSUhWMGFXeHpMbkpwY0Noc0xDQnlMQ0J2ZFhRc0lHOW1aaWs3WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2Rlcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZWRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9lZGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBhc3NlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaW5pbWFsaXN0aWMtYXNzZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxcIik7XFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG5cXG52YXIgQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jaXBoZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NpcGhlci5qc1xcXCIpO1xcbnZhciBERVMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZGVzLmpzXFxcIik7XFxuXFxuZnVuY3Rpb24gRURFU3RhdGUodHlwZSwga2V5KSB7XFxuICBhc3NlcnQuZXF1YWwoa2V5Lmxlbmd0aCwgMjQsICdJbnZhbGlkIGtleSBsZW5ndGgnKTtcXG5cXG4gIHZhciBrMSA9IGtleS5zbGljZSgwLCA4KTtcXG4gIHZhciBrMiA9IGtleS5zbGljZSg4LCAxNik7XFxuICB2YXIgazMgPSBrZXkuc2xpY2UoMTYsIDI0KTtcXG5cXG4gIGlmICh0eXBlID09PSAnZW5jcnlwdCcpIHtcXG4gICAgdGhpcy5jaXBoZXJzID0gW1xcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZW5jcnlwdCcsIGtleTogazEgfSksXFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMiB9KSxcXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGszIH0pXFxuICAgIF07XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLmNpcGhlcnMgPSBbXFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMyB9KSxcXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGsyIH0pLFxcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZGVjcnlwdCcsIGtleTogazEgfSlcXG4gICAgXTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gRURFKG9wdGlvbnMpIHtcXG4gIENpcGhlci5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcblxcbiAgdmFyIHN0YXRlID0gbmV3IEVERVN0YXRlKHRoaXMudHlwZSwgdGhpcy5vcHRpb25zLmtleSk7XFxuICB0aGlzLl9lZGVTdGF0ZSA9IHN0YXRlO1xcbn1cXG5pbmhlcml0cyhFREUsIENpcGhlcik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBFREU7XFxuXFxuRURFLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XFxuICByZXR1cm4gbmV3IEVERShvcHRpb25zKTtcXG59O1xcblxcbkVERS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2VkZVN0YXRlO1xcblxcbiAgc3RhdGUuY2lwaGVyc1swXS5fdXBkYXRlKGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKTtcXG4gIHN0YXRlLmNpcGhlcnNbMV0uX3VwZGF0ZShvdXQsIG91dE9mZiwgb3V0LCBvdXRPZmYpO1xcbiAgc3RhdGUuY2lwaGVyc1syXS5fdXBkYXRlKG91dCwgb3V0T2ZmLCBvdXQsIG91dE9mZik7XFxufTtcXG5cXG5FREUucHJvdG90eXBlLl9wYWQgPSBERVMucHJvdG90eXBlLl9wYWQ7XFxuRURFLnByb3RvdHlwZS5fdW5wYWQgPSBERVMucHJvdG90eXBlLl91bnBhZDtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k5bFpHVXVhbk0vWVdGbE1DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDTzBGQlF6RkRMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZha01zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGxFUVVGVk8wRkJReTlDTEZWQlFWVXNiVUpCUVU4c1EwRkJReXh0UkVGQlR6czdRVUZGZWtJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHdENRVUZyUWl3eVFrRkJNa0k3UVVGRE4wTXNhMEpCUVd0Q0xESkNRVUV5UWp0QlFVTTNReXhyUWtGQmEwSXNNa0pCUVRKQ08wRkJRemRETzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc2EwSkJRV3RDTERKQ1FVRXlRanRCUVVNM1F5eHJRa0ZCYTBJc01rSkJRVEpDTzBGQlF6ZERMR3RDUVVGclFpd3lRa0ZCTWtJN1FVRkROME03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k5bFpHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJoYzNObGNuUWdQU0J5WlhGMWFYSmxLQ2R0YVc1cGJXRnNhWE4wYVdNdFlYTnpaWEowSnlrN1hHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcE8xeHVYRzUyWVhJZ1EybHdhR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWphWEJvWlhJbktUdGNiblpoY2lCRVJWTWdQU0J5WlhGMWFYSmxLQ2N1TDJSbGN5Y3BPMXh1WEc1bWRXNWpkR2x2YmlCRlJFVlRkR0YwWlNoMGVYQmxMQ0JyWlhrcElIdGNiaUFnWVhOelpYSjBMbVZ4ZFdGc0tHdGxlUzVzWlc1bmRHZ3NJREkwTENBblNXNTJZV3hwWkNCclpYa2diR1Z1WjNSb0p5azdYRzVjYmlBZ2RtRnlJR3N4SUQwZ2EyVjVMbk5zYVdObEtEQXNJRGdwTzF4dUlDQjJZWElnYXpJZ1BTQnJaWGt1YzJ4cFkyVW9PQ3dnTVRZcE8xeHVJQ0IyWVhJZ2F6TWdQU0JyWlhrdWMyeHBZMlVvTVRZc0lESTBLVHRjYmx4dUlDQnBaaUFvZEhsd1pTQTlQVDBnSjJWdVkzSjVjSFFuS1NCN1hHNGdJQ0FnZEdocGN5NWphWEJvWlhKeklEMGdXMXh1SUNBZ0lDQWdSRVZUTG1OeVpXRjBaU2g3SUhSNWNHVTZJQ2RsYm1OeWVYQjBKeXdnYTJWNU9pQnJNU0I5S1N4Y2JpQWdJQ0FnSUVSRlV5NWpjbVZoZEdVb2V5QjBlWEJsT2lBblpHVmpjbmx3ZENjc0lHdGxlVG9nYXpJZ2ZTa3NYRzRnSUNBZ0lDQkVSVk11WTNKbFlYUmxLSHNnZEhsd1pUb2dKMlZ1WTNKNWNIUW5MQ0JyWlhrNklHc3pJSDBwWEc0Z0lDQWdYVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUdsekxtTnBjR2hsY25NZ1BTQmJYRzRnSUNBZ0lDQkVSVk11WTNKbFlYUmxLSHNnZEhsd1pUb2dKMlJsWTNKNWNIUW5MQ0JyWlhrNklHc3pJSDBwTEZ4dUlDQWdJQ0FnUkVWVExtTnlaV0YwWlNoN0lIUjVjR1U2SUNkbGJtTnllWEIwSnl3Z2EyVjVPaUJyTWlCOUtTeGNiaUFnSUNBZ0lFUkZVeTVqY21WaGRHVW9leUIwZVhCbE9pQW5aR1ZqY25sd2RDY3NJR3RsZVRvZ2F6RWdmU2xjYmlBZ0lDQmRPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUVWRVJTaHZjSFJwYjI1ektTQjdYRzRnSUVOcGNHaGxjaTVqWVd4c0tIUm9hWE1zSUc5d2RHbHZibk1wTzF4dVhHNGdJSFpoY2lCemRHRjBaU0E5SUc1bGR5QkZSRVZUZEdGMFpTaDBhR2x6TG5SNWNHVXNJSFJvYVhNdWIzQjBhVzl1Y3k1clpYa3BPMXh1SUNCMGFHbHpMbDlsWkdWVGRHRjBaU0E5SUhOMFlYUmxPMXh1ZlZ4dWFXNW9aWEpwZEhNb1JVUkZMQ0JEYVhCb1pYSXBPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVWRVJUdGNibHh1UlVSRkxtTnlaV0YwWlNBOUlHWjFibU4wYVc5dUlHTnlaV0YwWlNodmNIUnBiMjV6S1NCN1hHNGdJSEpsZEhWeWJpQnVaWGNnUlVSRktHOXdkR2x2Ym5NcE8xeHVmVHRjYmx4dVJVUkZMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnWDNWd1pHRjBaU2hwYm5Bc0lHbHVUMlptTENCdmRYUXNJRzkxZEU5bVppa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5bFpHVlRkR0YwWlR0Y2JseHVJQ0J6ZEdGMFpTNWphWEJvWlhKeld6QmRMbDkxY0dSaGRHVW9hVzV3TENCcGJrOW1aaXdnYjNWMExDQnZkWFJQWm1ZcE8xeHVJQ0J6ZEdGMFpTNWphWEJvWlhKeld6RmRMbDkxY0dSaGRHVW9iM1YwTENCdmRYUlBabVlzSUc5MWRDd2diM1YwVDJabUtUdGNiaUFnYzNSaGRHVXVZMmx3YUdWeWMxc3lYUzVmZFhCa1lYUmxLRzkxZEN3Z2IzVjBUMlptTENCdmRYUXNJRzkxZEU5bVppazdYRzU5TzF4dVhHNUZSRVV1Y0hKdmRHOTBlWEJsTGw5d1lXUWdQU0JFUlZNdWNISnZkRzkwZVhCbExsOXdZV1E3WEc1RlJFVXVjSEp2ZEc5MGVYQmxMbDkxYm5CaFpDQTlJRVJGVXk1d2NtOTBiM1I1Y0dVdVgzVnVjR0ZrTzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZWRlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5leHBvcnRzLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJCRShieXRlcywgb2ZmKSB7XFxuICB2YXIgcmVzID0gIChieXRlc1swICsgb2ZmXSA8PCAyNCkgfFxcbiAgICAgICAgICAgICAoYnl0ZXNbMSArIG9mZl0gPDwgMTYpIHxcXG4gICAgICAgICAgICAgKGJ5dGVzWzIgKyBvZmZdIDw8IDgpIHxcXG4gICAgICAgICAgICAgYnl0ZXNbMyArIG9mZl07XFxuICByZXR1cm4gcmVzID4+PiAwO1xcbn07XFxuXFxuZXhwb3J0cy53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRShieXRlcywgdmFsdWUsIG9mZikge1xcbiAgYnl0ZXNbMCArIG9mZl0gPSB2YWx1ZSA+Pj4gMjQ7XFxuICBieXRlc1sxICsgb2ZmXSA9ICh2YWx1ZSA+Pj4gMTYpICYgMHhmZjtcXG4gIGJ5dGVzWzIgKyBvZmZdID0gKHZhbHVlID4+PiA4KSAmIDB4ZmY7XFxuICBieXRlc1szICsgb2ZmXSA9IHZhbHVlICYgMHhmZjtcXG59O1xcblxcbmV4cG9ydHMuaXAgPSBmdW5jdGlvbiBpcChpbkwsIGluUiwgb3V0LCBvZmYpIHtcXG4gIHZhciBvdXRMID0gMDtcXG4gIHZhciBvdXRSID0gMDtcXG5cXG4gIGZvciAodmFyIGkgPSA2OyBpID49IDA7IGkgLT0gMikge1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpblIgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgZm9yICh2YXIgaSA9IDY7IGkgPj0gMDsgaSAtPSAyKSB7XFxuICAgIGZvciAodmFyIGogPSAxOyBqIDw9IDI1OyBqICs9IDgpIHtcXG4gICAgICBvdXRSIDw8PSAxO1xcbiAgICAgIG91dFIgfD0gKGluUiA+Pj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICAgIGZvciAodmFyIGogPSAxOyBqIDw9IDI1OyBqICs9IDgpIHtcXG4gICAgICBvdXRSIDw8PSAxO1xcbiAgICAgIG91dFIgfD0gKGluTCA+Pj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICB9XFxuXFxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xcbiAgb3V0W29mZiArIDFdID0gb3V0UiA+Pj4gMDtcXG59O1xcblxcbmV4cG9ydHMucmlwID0gZnVuY3Rpb24gcmlwKGluTCwgaW5SLCBvdXQsIG9mZikge1xcbiAgdmFyIG91dEwgPSAwO1xcbiAgdmFyIG91dFIgPSAwO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXG4gICAgZm9yICh2YXIgaiA9IDI0OyBqID49IDA7IGogLT0gOCkge1xcbiAgICAgIG91dEwgPDw9IDE7XFxuICAgICAgb3V0TCB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgfVxcbiAgZm9yICh2YXIgaSA9IDQ7IGkgPCA4OyBpKyspIHtcXG4gICAgZm9yICh2YXIgaiA9IDI0OyBqID49IDA7IGogLT0gOCkge1xcbiAgICAgIG91dFIgPDw9IDE7XFxuICAgICAgb3V0UiB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XFxuICAgICAgb3V0UiA8PD0gMTtcXG4gICAgICBvdXRSIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgb3V0W29mZiArIDBdID0gb3V0TCA+Pj4gMDtcXG4gIG91dFtvZmYgKyAxXSA9IG91dFIgPj4+IDA7XFxufTtcXG5cXG5leHBvcnRzLnBjMSA9IGZ1bmN0aW9uIHBjMShpbkwsIGluUiwgb3V0LCBvZmYpIHtcXG4gIHZhciBvdXRMID0gMDtcXG4gIHZhciBvdXRSID0gMDtcXG5cXG4gIC8vIDcsIDE1LCAyMywgMzEsIDM5LCA0NywgNTUsIDYzXFxuICAvLyA2LCAxNCwgMjIsIDMwLCAzOSwgNDcsIDU1LCA2M1xcbiAgLy8gNSwgMTMsIDIxLCAyOSwgMzksIDQ3LCA1NSwgNjNcXG4gIC8vIDQsIDEyLCAyMCwgMjhcXG4gIGZvciAodmFyIGkgPSA3OyBpID49IDU7IGktLSkge1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpblIgPj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgICBvdXRMIDw8PSAxO1xcbiAgICAgIG91dEwgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XFxuICAgIH1cXG4gIH1cXG4gIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgb3V0TCA8PD0gMTtcXG4gICAgb3V0TCB8PSAoaW5SID4+IChqICsgaSkpICYgMTtcXG4gIH1cXG5cXG4gIC8vIDEsIDksIDE3LCAyNSwgMzMsIDQxLCA0OSwgNTdcXG4gIC8vIDIsIDEwLCAxOCwgMjYsIDM0LCA0MiwgNTAsIDU4XFxuICAvLyAzLCAxMSwgMTksIDI3LCAzNSwgNDMsIDUxLCA1OVxcbiAgLy8gMzYsIDQ0LCA1MiwgNjBcXG4gIGZvciAodmFyIGkgPSAxOyBpIDw9IDM7IGkrKykge1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0UiA8PD0gMTtcXG4gICAgICBvdXRSIHw9IChpblIgPj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgICBvdXRSIDw8PSAxO1xcbiAgICAgIG91dFIgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XFxuICAgIH1cXG4gIH1cXG4gIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgb3V0UiA8PD0gMTtcXG4gICAgb3V0UiB8PSAoaW5MID4+IChqICsgaSkpICYgMTtcXG4gIH1cXG5cXG4gIG91dFtvZmYgKyAwXSA9IG91dEwgPj4+IDA7XFxuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xcbn07XFxuXFxuZXhwb3J0cy5yMjhzaGwgPSBmdW5jdGlvbiByMjhzaGwobnVtLCBzaGlmdCkge1xcbiAgcmV0dXJuICgobnVtIDw8IHNoaWZ0KSAmIDB4ZmZmZmZmZikgfCAobnVtID4+PiAoMjggLSBzaGlmdCkpO1xcbn07XFxuXFxudmFyIHBjMnRhYmxlID0gW1xcbiAgLy8gaW5MID0+IG91dExcXG4gIDE0LCAxMSwgMTcsIDQsIDI3LCAyMywgMjUsIDAsXFxuICAxMywgMjIsIDcsIDE4LCA1LCA5LCAxNiwgMjQsXFxuICAyLCAyMCwgMTIsIDIxLCAxLCA4LCAxNSwgMjYsXFxuXFxuICAvLyBpblIgPT4gb3V0UlxcbiAgMTUsIDQsIDI1LCAxOSwgOSwgMSwgMjYsIDE2LFxcbiAgNSwgMTEsIDIzLCA4LCAxMiwgNywgMTcsIDAsXFxuICAyMiwgMywgMTAsIDE0LCA2LCAyMCwgMjcsIDI0XFxuXTtcXG5cXG5leHBvcnRzLnBjMiA9IGZ1bmN0aW9uIHBjMihpbkwsIGluUiwgb3V0LCBvZmYpIHtcXG4gIHZhciBvdXRMID0gMDtcXG4gIHZhciBvdXRSID0gMDtcXG5cXG4gIHZhciBsZW4gPSBwYzJ0YWJsZS5sZW5ndGggPj4+IDE7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgIG91dEwgPDw9IDE7XFxuICAgIG91dEwgfD0gKGluTCA+Pj4gcGMydGFibGVbaV0pICYgMHgxO1xcbiAgfVxcbiAgZm9yICh2YXIgaSA9IGxlbjsgaSA8IHBjMnRhYmxlLmxlbmd0aDsgaSsrKSB7XFxuICAgIG91dFIgPDw9IDE7XFxuICAgIG91dFIgfD0gKGluUiA+Pj4gcGMydGFibGVbaV0pICYgMHgxO1xcbiAgfVxcblxcbiAgb3V0W29mZiArIDBdID0gb3V0TCA+Pj4gMDtcXG4gIG91dFtvZmYgKyAxXSA9IG91dFIgPj4+IDA7XFxufTtcXG5cXG5leHBvcnRzLmV4cGFuZCA9IGZ1bmN0aW9uIGV4cGFuZChyLCBvdXQsIG9mZikge1xcbiAgdmFyIG91dEwgPSAwO1xcbiAgdmFyIG91dFIgPSAwO1xcblxcbiAgb3V0TCA9ICgociAmIDEpIDw8IDUpIHwgKHIgPj4+IDI3KTtcXG4gIGZvciAodmFyIGkgPSAyMzsgaSA+PSAxNTsgaSAtPSA0KSB7XFxuICAgIG91dEwgPDw9IDY7XFxuICAgIG91dEwgfD0gKHIgPj4+IGkpICYgMHgzZjtcXG4gIH1cXG4gIGZvciAodmFyIGkgPSAxMTsgaSA+PSAzOyBpIC09IDQpIHtcXG4gICAgb3V0UiB8PSAociA+Pj4gaSkgJiAweDNmO1xcbiAgICBvdXRSIDw8PSA2O1xcbiAgfVxcbiAgb3V0UiB8PSAoKHIgJiAweDFmKSA8PCAxKSB8IChyID4+PiAzMSk7XFxuXFxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xcbiAgb3V0W29mZiArIDFdID0gb3V0UiA+Pj4gMDtcXG59O1xcblxcbnZhciBzVGFibGUgPSBbXFxuICAxNCwgMCwgNCwgMTUsIDEzLCA3LCAxLCA0LCAyLCAxNCwgMTUsIDIsIDExLCAxMywgOCwgMSxcXG4gIDMsIDEwLCAxMCwgNiwgNiwgMTIsIDEyLCAxMSwgNSwgOSwgOSwgNSwgMCwgMywgNywgOCxcXG4gIDQsIDE1LCAxLCAxMiwgMTQsIDgsIDgsIDIsIDEzLCA0LCA2LCA5LCAyLCAxLCAxMSwgNyxcXG4gIDE1LCA1LCAxMiwgMTEsIDksIDMsIDcsIDE0LCAzLCAxMCwgMTAsIDAsIDUsIDYsIDAsIDEzLFxcblxcbiAgMTUsIDMsIDEsIDEzLCA4LCA0LCAxNCwgNywgNiwgMTUsIDExLCAyLCAzLCA4LCA0LCAxNCxcXG4gIDksIDEyLCA3LCAwLCAyLCAxLCAxMywgMTAsIDEyLCA2LCAwLCA5LCA1LCAxMSwgMTAsIDUsXFxuICAwLCAxMywgMTQsIDgsIDcsIDEwLCAxMSwgMSwgMTAsIDMsIDQsIDE1LCAxMywgNCwgMSwgMixcXG4gIDUsIDExLCA4LCA2LCAxMiwgNywgNiwgMTIsIDksIDAsIDMsIDUsIDIsIDE0LCAxNSwgOSxcXG5cXG4gIDEwLCAxMywgMCwgNywgOSwgMCwgMTQsIDksIDYsIDMsIDMsIDQsIDE1LCA2LCA1LCAxMCxcXG4gIDEsIDIsIDEzLCA4LCAxMiwgNSwgNywgMTQsIDExLCAxMiwgNCwgMTEsIDIsIDE1LCA4LCAxLFxcbiAgMTMsIDEsIDYsIDEwLCA0LCAxMywgOSwgMCwgOCwgNiwgMTUsIDksIDMsIDgsIDAsIDcsXFxuICAxMSwgNCwgMSwgMTUsIDIsIDE0LCAxMiwgMywgNSwgMTEsIDEwLCA1LCAxNCwgMiwgNywgMTIsXFxuXFxuICA3LCAxMywgMTMsIDgsIDE0LCAxMSwgMywgNSwgMCwgNiwgNiwgMTUsIDksIDAsIDEwLCAzLFxcbiAgMSwgNCwgMiwgNywgOCwgMiwgNSwgMTIsIDExLCAxLCAxMiwgMTAsIDQsIDE0LCAxNSwgOSxcXG4gIDEwLCAzLCA2LCAxNSwgOSwgMCwgMCwgNiwgMTIsIDEwLCAxMSwgMSwgNywgMTMsIDEzLCA4LFxcbiAgMTUsIDksIDEsIDQsIDMsIDUsIDE0LCAxMSwgNSwgMTIsIDIsIDcsIDgsIDIsIDQsIDE0LFxcblxcbiAgMiwgMTQsIDEyLCAxMSwgNCwgMiwgMSwgMTIsIDcsIDQsIDEwLCA3LCAxMSwgMTMsIDYsIDEsXFxuICA4LCA1LCA1LCAwLCAzLCAxNSwgMTUsIDEwLCAxMywgMywgMCwgOSwgMTQsIDgsIDksIDYsXFxuICA0LCAxMSwgMiwgOCwgMSwgMTIsIDExLCA3LCAxMCwgMSwgMTMsIDE0LCA3LCAyLCA4LCAxMyxcXG4gIDE1LCA2LCA5LCAxNSwgMTIsIDAsIDUsIDksIDYsIDEwLCAzLCA0LCAwLCA1LCAxNCwgMyxcXG5cXG4gIDEyLCAxMCwgMSwgMTUsIDEwLCA0LCAxNSwgMiwgOSwgNywgMiwgMTIsIDYsIDksIDgsIDUsXFxuICAwLCA2LCAxMywgMSwgMywgMTMsIDQsIDE0LCAxNCwgMCwgNywgMTEsIDUsIDMsIDExLCA4LFxcbiAgOSwgNCwgMTQsIDMsIDE1LCAyLCA1LCAxMiwgMiwgOSwgOCwgNSwgMTIsIDE1LCAzLCAxMCxcXG4gIDcsIDExLCAwLCAxNCwgNCwgMSwgMTAsIDcsIDEsIDYsIDEzLCAwLCAxMSwgOCwgNiwgMTMsXFxuXFxuICA0LCAxMywgMTEsIDAsIDIsIDExLCAxNCwgNywgMTUsIDQsIDAsIDksIDgsIDEsIDEzLCAxMCxcXG4gIDMsIDE0LCAxMiwgMywgOSwgNSwgNywgMTIsIDUsIDIsIDEwLCAxNSwgNiwgOCwgMSwgNixcXG4gIDEsIDYsIDQsIDExLCAxMSwgMTMsIDEzLCA4LCAxMiwgMSwgMywgNCwgNywgMTAsIDE0LCA3LFxcbiAgMTAsIDksIDE1LCA1LCA2LCAwLCA4LCAxNSwgMCwgMTQsIDUsIDIsIDksIDMsIDIsIDEyLFxcblxcbiAgMTMsIDEsIDIsIDE1LCA4LCAxMywgNCwgOCwgNiwgMTAsIDE1LCAzLCAxMSwgNywgMSwgNCxcXG4gIDEwLCAxMiwgOSwgNSwgMywgNiwgMTQsIDExLCA1LCAwLCAwLCAxNCwgMTIsIDksIDcsIDIsXFxuICA3LCAyLCAxMSwgMSwgNCwgMTQsIDEsIDcsIDksIDQsIDEyLCAxMCwgMTQsIDgsIDIsIDEzLFxcbiAgMCwgMTUsIDYsIDEyLCAxMCwgOSwgMTMsIDAsIDE1LCAzLCAzLCA1LCA1LCA2LCA4LCAxMVxcbl07XFxuXFxuZXhwb3J0cy5zdWJzdGl0dXRlID0gZnVuY3Rpb24gc3Vic3RpdHV0ZShpbkwsIGluUikge1xcbiAgdmFyIG91dCA9IDA7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICB2YXIgYiA9IChpbkwgPj4+ICgxOCAtIGkgKiA2KSkgJiAweDNmO1xcbiAgICB2YXIgc2IgPSBzVGFibGVbaSAqIDB4NDAgKyBiXTtcXG5cXG4gICAgb3V0IDw8PSA0O1xcbiAgICBvdXQgfD0gc2I7XFxuICB9XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICB2YXIgYiA9IChpblIgPj4+ICgxOCAtIGkgKiA2KSkgJiAweDNmO1xcbiAgICB2YXIgc2IgPSBzVGFibGVbNCAqIDB4NDAgKyBpICogMHg0MCArIGJdO1xcblxcbiAgICBvdXQgPDw9IDQ7XFxuICAgIG91dCB8PSBzYjtcXG4gIH1cXG4gIHJldHVybiBvdXQgPj4+IDA7XFxufTtcXG5cXG52YXIgcGVybXV0ZVRhYmxlID0gW1xcbiAgMTYsIDI1LCAxMiwgMTEsIDMsIDIwLCA0LCAxNSwgMzEsIDE3LCA5LCA2LCAyNywgMTQsIDEsIDIyLFxcbiAgMzAsIDI0LCA4LCAxOCwgMCwgNSwgMjksIDIzLCAxMywgMTksIDIsIDI2LCAxMCwgMjEsIDI4LCA3XFxuXTtcXG5cXG5leHBvcnRzLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlKG51bSkge1xcbiAgdmFyIG91dCA9IDA7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBlcm11dGVUYWJsZS5sZW5ndGg7IGkrKykge1xcbiAgICBvdXQgPDw9IDE7XFxuICAgIG91dCB8PSAobnVtID4+PiBwZXJtdXRlVGFibGVbaV0pICYgMHgxO1xcbiAgfVxcbiAgcmV0dXJuIG91dCA+Pj4gMDtcXG59O1xcblxcbmV4cG9ydHMucGFkU3BsaXQgPSBmdW5jdGlvbiBwYWRTcGxpdChudW0sIHNpemUsIGdyb3VwKSB7XFxuICB2YXIgc3RyID0gbnVtLnRvU3RyaW5nKDIpO1xcbiAgd2hpbGUgKHN0ci5sZW5ndGggPCBzaXplKVxcbiAgICBzdHIgPSAnMCcgKyBzdHI7XFxuXFxuICB2YXIgb3V0ID0gW107XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHNpemU7IGkgKz0gZ3JvdXApXFxuICAgIG91dC5wdXNoKHN0ci5zbGljZShpLCBpICsgZ3JvdXApKTtcXG4gIHJldHVybiBvdXQuam9pbignICcpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlrWlhNdWFuTXZiR2xpTDJSbGN5OTFkR2xzY3k1cWN6ODNNRE16SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJc2JVSkJRVzFDTEZOQlFWTTdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJc2JVSkJRVzFDTEZOQlFWTTdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRaXh2UWtGQmIwSXNVVUZCVVR0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVDBGQlR6dEJRVU40UWl4dlFrRkJiMElzVVVGQlVUdEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ0xHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ08wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhUUVVGVE8wRkJRelZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJc2JVSkJRVzFDTEZOQlFWTTdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEhGQ1FVRnhRanRCUVVONFF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHdENRVUZyUWl4VFFVRlRPMEZCUXpOQ08wRkJRMEU3UVVGRFFUdEJRVU5CTEd0Q1FVRnJRaXhSUVVGUk8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhQUVVGUE8wRkJRM2hDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRTlCUVU4N1FVRkRlRUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2VVSkJRWGxDTzBGQlF6RkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRa0ZCYVVJc1ZVRkJWVHRCUVVNelFqdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpHVnpMbXB6TDJ4cFlpOWtaWE12ZFhScGJITXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtVjRjRzl5ZEhNdWNtVmhaRlZKYm5Rek1rSkZJRDBnWm5WdVkzUnBiMjRnY21WaFpGVkpiblF6TWtKRktHSjVkR1Z6TENCdlptWXBJSHRjYmlBZ2RtRnlJSEpsY3lBOUlDQW9ZbmwwWlhOYk1DQXJJRzltWmwwZ1BEd2dNalFwSUh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FvWW5sMFpYTmJNU0FySUc5bVpsMGdQRHdnTVRZcElIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBb1lubDBaWE5iTWlBcklHOW1abDBnUER3Z09Da2dmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lHSjVkR1Z6V3pNZ0t5QnZabVpkTzF4dUlDQnlaWFIxY200Z2NtVnpJRDQrUGlBd08xeHVmVHRjYmx4dVpYaHdiM0owY3k1M2NtbDBaVlZKYm5Rek1rSkZJRDBnWm5WdVkzUnBiMjRnZDNKcGRHVlZTVzUwTXpKQ1JTaGllWFJsY3l3Z2RtRnNkV1VzSUc5bVppa2dlMXh1SUNCaWVYUmxjMXN3SUNzZ2IyWm1YU0E5SUhaaGJIVmxJRDQrUGlBeU5EdGNiaUFnWW5sMFpYTmJNU0FySUc5bVpsMGdQU0FvZG1Gc2RXVWdQajQrSURFMktTQW1JREI0Wm1ZN1hHNGdJR0o1ZEdWeld6SWdLeUJ2Wm1aZElEMGdLSFpoYkhWbElENCtQaUE0S1NBbUlEQjRabVk3WEc0Z0lHSjVkR1Z6V3pNZ0t5QnZabVpkSUQwZ2RtRnNkV1VnSmlBd2VHWm1PMXh1ZlR0Y2JseHVaWGh3YjNKMGN5NXBjQ0E5SUdaMWJtTjBhVzl1SUdsd0tHbHVUQ3dnYVc1U0xDQnZkWFFzSUc5bVppa2dlMXh1SUNCMllYSWdiM1YwVENBOUlEQTdYRzRnSUhaaGNpQnZkWFJTSUQwZ01EdGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdOanNnYVNBK1BTQXdPeUJwSUMwOUlESXBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTURzZ2FpQThQU0F5TkRzZ2FpQXJQU0E0S1NCN1hHNGdJQ0FnSUNCdmRYUk1JRHc4UFNBeE8xeHVJQ0FnSUNBZ2IzVjBUQ0I4UFNBb2FXNVNJRDQrUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3OUlESTBPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEV3Z1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSTUlIdzlJQ2hwYmt3Z1BqNCtJQ2hxSUNzZ2FTa3BJQ1lnTVR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdOanNnYVNBK1BTQXdPeUJwSUMwOUlESXBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTVRzZ2FpQThQU0F5TlRzZ2FpQXJQU0E0S1NCN1hHNGdJQ0FnSUNCdmRYUlNJRHc4UFNBeE8xeHVJQ0FnSUNBZ2IzVjBVaUI4UFNBb2FXNVNJRDQrUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXhPeUJxSUR3OUlESTFPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEZJZ1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSU0lIdzlJQ2hwYmt3Z1BqNCtJQ2hxSUNzZ2FTa3BJQ1lnTVR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCdmRYUmJiMlptSUNzZ01GMGdQU0J2ZFhSTUlENCtQaUF3TzF4dUlDQnZkWFJiYjJabUlDc2dNVjBnUFNCdmRYUlNJRDQrUGlBd08xeHVmVHRjYmx4dVpYaHdiM0owY3k1eWFYQWdQU0JtZFc1amRHbHZiaUJ5YVhBb2FXNU1MQ0JwYmxJc0lHOTFkQ3dnYjJabUtTQjdYRzRnSUhaaGNpQnZkWFJNSUQwZ01EdGNiaUFnZG1GeUlHOTFkRklnUFNBd08xeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hHNGdJQ0FnWm05eUlDaDJZWElnYWlBOUlESTBPeUJxSUQ0OUlEQTdJR29nTFQwZ09Da2dlMXh1SUNBZ0lDQWdiM1YwVENBOFBEMGdNVHRjYmlBZ0lDQWdJRzkxZEV3Z2ZEMGdLR2x1VWlBK1BqNGdLR29nS3lCcEtTa2dKaUF4TzF4dUlDQWdJQ0FnYjNWMFRDQThQRDBnTVR0Y2JpQWdJQ0FnSUc5MWRFd2dmRDBnS0dsdVRDQStQajRnS0dvZ0t5QnBLU2tnSmlBeE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCbWIzSWdLSFpoY2lCcElEMGdORHNnYVNBOElEZzdJR2tyS3lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXlORHNnYWlBK1BTQXdPeUJxSUMwOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEZJZ1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSU0lIdzlJQ2hwYmxJZ1BqNCtJQ2hxSUNzZ2FTa3BJQ1lnTVR0Y2JpQWdJQ0FnSUc5MWRGSWdQRHc5SURFN1hHNGdJQ0FnSUNCdmRYUlNJSHc5SUNocGJrd2dQajQrSUNocUlDc2dhU2twSUNZZ01UdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnZkWFJiYjJabUlDc2dNRjBnUFNCdmRYUk1JRDQrUGlBd08xeHVJQ0J2ZFhSYmIyWm1JQ3NnTVYwZ1BTQnZkWFJTSUQ0K1BpQXdPMXh1ZlR0Y2JseHVaWGh3YjNKMGN5NXdZekVnUFNCbWRXNWpkR2x2YmlCd1l6RW9hVzVNTENCcGJsSXNJRzkxZEN3Z2IyWm1LU0I3WEc0Z0lIWmhjaUJ2ZFhSTUlEMGdNRHRjYmlBZ2RtRnlJRzkxZEZJZ1BTQXdPMXh1WEc0Z0lDOHZJRGNzSURFMUxDQXlNeXdnTXpFc0lETTVMQ0EwTnl3Z05UVXNJRFl6WEc0Z0lDOHZJRFlzSURFMExDQXlNaXdnTXpBc0lETTVMQ0EwTnl3Z05UVXNJRFl6WEc0Z0lDOHZJRFVzSURFekxDQXlNU3dnTWprc0lETTVMQ0EwTnl3Z05UVXNJRFl6WEc0Z0lDOHZJRFFzSURFeUxDQXlNQ3dnTWpoY2JpQWdabTl5SUNoMllYSWdhU0E5SURjN0lHa2dQajBnTlRzZ2FTMHRLU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQRDBnTWpRN0lHb2dLejBnT0NrZ2UxeHVJQ0FnSUNBZ2IzVjBUQ0E4UEQwZ01UdGNiaUFnSUNBZ0lHOTFkRXdnZkQwZ0tHbHVVaUErUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3OUlESTBPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEV3Z1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSTUlIdzlJQ2hwYmt3Z1BqNGdLR29nS3lCcEtTa2dKaUF4TzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4UFNBeU5Ec2dhaUFyUFNBNEtTQjdYRzRnSUNBZ2IzVjBUQ0E4UEQwZ01UdGNiaUFnSUNCdmRYUk1JSHc5SUNocGJsSWdQajRnS0dvZ0t5QnBLU2tnSmlBeE8xeHVJQ0I5WEc1Y2JpQWdMeThnTVN3Z09Td2dNVGNzSURJMUxDQXpNeXdnTkRFc0lEUTVMQ0ExTjF4dUlDQXZMeUF5TENBeE1Dd2dNVGdzSURJMkxDQXpOQ3dnTkRJc0lEVXdMQ0ExT0Z4dUlDQXZMeUF6TENBeE1Td2dNVGtzSURJM0xDQXpOU3dnTkRNc0lEVXhMQ0ExT1Z4dUlDQXZMeUF6Tml3Z05EUXNJRFV5TENBMk1GeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Uc2dhU0E4UFNBek95QnBLeXNwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4UFNBeU5Ec2dhaUFyUFNBNEtTQjdYRzRnSUNBZ0lDQnZkWFJTSUR3OFBTQXhPMXh1SUNBZ0lDQWdiM1YwVWlCOFBTQW9hVzVTSUQ0K0lDaHFJQ3NnYVNrcElDWWdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BEMGdNalE3SUdvZ0t6MGdPQ2tnZTF4dUlDQWdJQ0FnYjNWMFVpQThQRDBnTVR0Y2JpQWdJQ0FnSUc5MWRGSWdmRDBnS0dsdVRDQStQaUFvYWlBcklHa3BLU0FtSURFN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3OUlESTBPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQnZkWFJTSUR3OFBTQXhPMXh1SUNBZ0lHOTFkRklnZkQwZ0tHbHVUQ0ErUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUgxY2JseHVJQ0J2ZFhSYmIyWm1JQ3NnTUYwZ1BTQnZkWFJNSUQ0K1BpQXdPMXh1SUNCdmRYUmJiMlptSUNzZ01WMGdQU0J2ZFhSU0lENCtQaUF3TzF4dWZUdGNibHh1Wlhod2IzSjBjeTV5TWpoemFHd2dQU0JtZFc1amRHbHZiaUJ5TWpoemFHd29iblZ0TENCemFHbG1kQ2tnZTF4dUlDQnlaWFIxY200Z0tDaHVkVzBnUER3Z2MyaHBablFwSUNZZ01IaG1abVptWm1abUtTQjhJQ2h1ZFcwZ1BqNCtJQ2d5T0NBdElITm9hV1owS1NrN1hHNTlPMXh1WEc1MllYSWdjR015ZEdGaWJHVWdQU0JiWEc0Z0lDOHZJR2x1VENBOVBpQnZkWFJNWEc0Z0lERTBMQ0F4TVN3Z01UY3NJRFFzSURJM0xDQXlNeXdnTWpVc0lEQXNYRzRnSURFekxDQXlNaXdnTnl3Z01UZ3NJRFVzSURrc0lERTJMQ0F5TkN4Y2JpQWdNaXdnTWpBc0lERXlMQ0F5TVN3Z01Td2dPQ3dnTVRVc0lESTJMRnh1WEc0Z0lDOHZJR2x1VWlBOVBpQnZkWFJTWEc0Z0lERTFMQ0EwTENBeU5Td2dNVGtzSURrc0lERXNJREkyTENBeE5peGNiaUFnTlN3Z01URXNJREl6TENBNExDQXhNaXdnTnl3Z01UY3NJREFzWEc0Z0lESXlMQ0F6TENBeE1Dd2dNVFFzSURZc0lESXdMQ0F5Tnl3Z01qUmNibDA3WEc1Y2JtVjRjRzl5ZEhNdWNHTXlJRDBnWm5WdVkzUnBiMjRnY0dNeUtHbHVUQ3dnYVc1U0xDQnZkWFFzSUc5bVppa2dlMXh1SUNCMllYSWdiM1YwVENBOUlEQTdYRzRnSUhaaGNpQnZkWFJTSUQwZ01EdGNibHh1SUNCMllYSWdiR1Z1SUQwZ2NHTXlkR0ZpYkdVdWJHVnVaM1JvSUQ0K1BpQXhPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ2IzVjBUQ0E4UEQwZ01UdGNiaUFnSUNCdmRYUk1JSHc5SUNocGJrd2dQajQrSUhCak1uUmhZbXhsVzJsZEtTQW1JREI0TVR0Y2JpQWdmVnh1SUNCbWIzSWdLSFpoY2lCcElEMGdiR1Z1T3lCcElEd2djR015ZEdGaWJHVXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0J2ZFhSU0lEdzhQU0F4TzF4dUlDQWdJRzkxZEZJZ2ZEMGdLR2x1VWlBK1BqNGdjR015ZEdGaWJHVmJhVjBwSUNZZ01IZ3hPMXh1SUNCOVhHNWNiaUFnYjNWMFcyOW1aaUFySURCZElEMGdiM1YwVENBK1BqNGdNRHRjYmlBZ2IzVjBXMjltWmlBcklERmRJRDBnYjNWMFVpQStQajRnTUR0Y2JuMDdYRzVjYm1WNGNHOXlkSE11Wlhod1lXNWtJRDBnWm5WdVkzUnBiMjRnWlhod1lXNWtLSElzSUc5MWRDd2diMlptS1NCN1hHNGdJSFpoY2lCdmRYUk1JRDBnTUR0Y2JpQWdkbUZ5SUc5MWRGSWdQU0F3TzF4dVhHNGdJRzkxZEV3Z1BTQW9LSElnSmlBeEtTQThQQ0ExS1NCOElDaHlJRDQrUGlBeU55azdYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXlNenNnYVNBK1BTQXhOVHNnYVNBdFBTQTBLU0I3WEc0Z0lDQWdiM1YwVENBOFBEMGdOanRjYmlBZ0lDQnZkWFJNSUh3OUlDaHlJRDQrUGlCcEtTQW1JREI0TTJZN1hHNGdJSDFjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREV4T3lCcElENDlJRE03SUdrZ0xUMGdOQ2tnZTF4dUlDQWdJRzkxZEZJZ2ZEMGdLSElnUGo0K0lHa3BJQ1lnTUhnelpqdGNiaUFnSUNCdmRYUlNJRHc4UFNBMk8xeHVJQ0I5WEc0Z0lHOTFkRklnZkQwZ0tDaHlJQ1lnTUhneFppa2dQRHdnTVNrZ2ZDQW9jaUErUGo0Z016RXBPMXh1WEc0Z0lHOTFkRnR2Wm1ZZ0t5QXdYU0E5SUc5MWRFd2dQajQrSURBN1hHNGdJRzkxZEZ0dlptWWdLeUF4WFNBOUlHOTFkRklnUGo0K0lEQTdYRzU5TzF4dVhHNTJZWElnYzFSaFlteGxJRDBnVzF4dUlDQXhOQ3dnTUN3Z05Dd2dNVFVzSURFekxDQTNMQ0F4TENBMExDQXlMQ0F4TkN3Z01UVXNJRElzSURFeExDQXhNeXdnT0N3Z01TeGNiaUFnTXl3Z01UQXNJREV3TENBMkxDQTJMQ0F4TWl3Z01USXNJREV4TENBMUxDQTVMQ0E1TENBMUxDQXdMQ0F6TENBM0xDQTRMRnh1SUNBMExDQXhOU3dnTVN3Z01USXNJREUwTENBNExDQTRMQ0F5TENBeE15d2dOQ3dnTml3Z09Td2dNaXdnTVN3Z01URXNJRGNzWEc0Z0lERTFMQ0ExTENBeE1pd2dNVEVzSURrc0lETXNJRGNzSURFMExDQXpMQ0F4TUN3Z01UQXNJREFzSURVc0lEWXNJREFzSURFekxGeHVYRzRnSURFMUxDQXpMQ0F4TENBeE15d2dPQ3dnTkN3Z01UUXNJRGNzSURZc0lERTFMQ0F4TVN3Z01pd2dNeXdnT0N3Z05Dd2dNVFFzWEc0Z0lEa3NJREV5TENBM0xDQXdMQ0F5TENBeExDQXhNeXdnTVRBc0lERXlMQ0EyTENBd0xDQTVMQ0ExTENBeE1Td2dNVEFzSURVc1hHNGdJREFzSURFekxDQXhOQ3dnT0N3Z055d2dNVEFzSURFeExDQXhMQ0F4TUN3Z015d2dOQ3dnTVRVc0lERXpMQ0EwTENBeExDQXlMRnh1SUNBMUxDQXhNU3dnT0N3Z05pd2dNVElzSURjc0lEWXNJREV5TENBNUxDQXdMQ0F6TENBMUxDQXlMQ0F4TkN3Z01UVXNJRGtzWEc1Y2JpQWdNVEFzSURFekxDQXdMQ0EzTENBNUxDQXdMQ0F4TkN3Z09Td2dOaXdnTXl3Z015d2dOQ3dnTVRVc0lEWXNJRFVzSURFd0xGeHVJQ0F4TENBeUxDQXhNeXdnT0N3Z01USXNJRFVzSURjc0lERTBMQ0F4TVN3Z01USXNJRFFzSURFeExDQXlMQ0F4TlN3Z09Dd2dNU3hjYmlBZ01UTXNJREVzSURZc0lERXdMQ0EwTENBeE15d2dPU3dnTUN3Z09Dd2dOaXdnTVRVc0lEa3NJRE1zSURnc0lEQXNJRGNzWEc0Z0lERXhMQ0EwTENBeExDQXhOU3dnTWl3Z01UUXNJREV5TENBekxDQTFMQ0F4TVN3Z01UQXNJRFVzSURFMExDQXlMQ0EzTENBeE1peGNibHh1SUNBM0xDQXhNeXdnTVRNc0lEZ3NJREUwTENBeE1Td2dNeXdnTlN3Z01Dd2dOaXdnTml3Z01UVXNJRGtzSURBc0lERXdMQ0F6TEZ4dUlDQXhMQ0EwTENBeUxDQTNMQ0E0TENBeUxDQTFMQ0F4TWl3Z01URXNJREVzSURFeUxDQXhNQ3dnTkN3Z01UUXNJREUxTENBNUxGeHVJQ0F4TUN3Z015d2dOaXdnTVRVc0lEa3NJREFzSURBc0lEWXNJREV5TENBeE1Dd2dNVEVzSURFc0lEY3NJREV6TENBeE15d2dPQ3hjYmlBZ01UVXNJRGtzSURFc0lEUXNJRE1zSURVc0lERTBMQ0F4TVN3Z05Td2dNVElzSURJc0lEY3NJRGdzSURJc0lEUXNJREUwTEZ4dVhHNGdJRElzSURFMExDQXhNaXdnTVRFc0lEUXNJRElzSURFc0lERXlMQ0EzTENBMExDQXhNQ3dnTnl3Z01URXNJREV6TENBMkxDQXhMRnh1SUNBNExDQTFMQ0ExTENBd0xDQXpMQ0F4TlN3Z01UVXNJREV3TENBeE15d2dNeXdnTUN3Z09Td2dNVFFzSURnc0lEa3NJRFlzWEc0Z0lEUXNJREV4TENBeUxDQTRMQ0F4TENBeE1pd2dNVEVzSURjc0lERXdMQ0F4TENBeE15d2dNVFFzSURjc0lESXNJRGdzSURFekxGeHVJQ0F4TlN3Z05pd2dPU3dnTVRVc0lERXlMQ0F3TENBMUxDQTVMQ0EyTENBeE1Dd2dNeXdnTkN3Z01Dd2dOU3dnTVRRc0lETXNYRzVjYmlBZ01USXNJREV3TENBeExDQXhOU3dnTVRBc0lEUXNJREUxTENBeUxDQTVMQ0EzTENBeUxDQXhNaXdnTml3Z09Td2dPQ3dnTlN4Y2JpQWdNQ3dnTml3Z01UTXNJREVzSURNc0lERXpMQ0EwTENBeE5Dd2dNVFFzSURBc0lEY3NJREV4TENBMUxDQXpMQ0F4TVN3Z09DeGNiaUFnT1N3Z05Dd2dNVFFzSURNc0lERTFMQ0F5TENBMUxDQXhNaXdnTWl3Z09Td2dPQ3dnTlN3Z01USXNJREUxTENBekxDQXhNQ3hjYmlBZ055d2dNVEVzSURBc0lERTBMQ0EwTENBeExDQXhNQ3dnTnl3Z01Td2dOaXdnTVRNc0lEQXNJREV4TENBNExDQTJMQ0F4TXl4Y2JseHVJQ0EwTENBeE15d2dNVEVzSURBc0lESXNJREV4TENBeE5Dd2dOeXdnTVRVc0lEUXNJREFzSURrc0lEZ3NJREVzSURFekxDQXhNQ3hjYmlBZ015d2dNVFFzSURFeUxDQXpMQ0E1TENBMUxDQTNMQ0F4TWl3Z05Td2dNaXdnTVRBc0lERTFMQ0EyTENBNExDQXhMQ0EyTEZ4dUlDQXhMQ0EyTENBMExDQXhNU3dnTVRFc0lERXpMQ0F4TXl3Z09Dd2dNVElzSURFc0lETXNJRFFzSURjc0lERXdMQ0F4TkN3Z055eGNiaUFnTVRBc0lEa3NJREUxTENBMUxDQTJMQ0F3TENBNExDQXhOU3dnTUN3Z01UUXNJRFVzSURJc0lEa3NJRE1zSURJc0lERXlMRnh1WEc0Z0lERXpMQ0F4TENBeUxDQXhOU3dnT0N3Z01UTXNJRFFzSURnc0lEWXNJREV3TENBeE5Td2dNeXdnTVRFc0lEY3NJREVzSURRc1hHNGdJREV3TENBeE1pd2dPU3dnTlN3Z015d2dOaXdnTVRRc0lERXhMQ0ExTENBd0xDQXdMQ0F4TkN3Z01USXNJRGtzSURjc0lESXNYRzRnSURjc0lESXNJREV4TENBeExDQTBMQ0F4TkN3Z01Td2dOeXdnT1N3Z05Dd2dNVElzSURFd0xDQXhOQ3dnT0N3Z01pd2dNVE1zWEc0Z0lEQXNJREUxTENBMkxDQXhNaXdnTVRBc0lEa3NJREV6TENBd0xDQXhOU3dnTXl3Z015d2dOU3dnTlN3Z05pd2dPQ3dnTVRGY2JsMDdYRzVjYm1WNGNHOXlkSE11YzNWaWMzUnBkSFYwWlNBOUlHWjFibU4wYVc5dUlITjFZbk4wYVhSMWRHVW9hVzVNTENCcGJsSXBJSHRjYmlBZ2RtRnlJRzkxZENBOUlEQTdYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hHNGdJQ0FnZG1GeUlHSWdQU0FvYVc1TUlENCtQaUFvTVRnZ0xTQnBJQ29nTmlrcElDWWdNSGd6Wmp0Y2JpQWdJQ0IyWVhJZ2MySWdQU0J6VkdGaWJHVmJhU0FxSURCNE5EQWdLeUJpWFR0Y2JseHVJQ0FnSUc5MWRDQThQRDBnTkR0Y2JpQWdJQ0J2ZFhRZ2ZEMGdjMkk3WEc0Z0lIMWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBME95QnBLeXNwSUh0Y2JpQWdJQ0IyWVhJZ1lpQTlJQ2hwYmxJZ1BqNCtJQ2d4T0NBdElHa2dLaUEyS1NrZ0ppQXdlRE5tTzF4dUlDQWdJSFpoY2lCellpQTlJSE5VWVdKc1pWczBJQ29nTUhnME1DQXJJR2tnS2lBd2VEUXdJQ3NnWWwwN1hHNWNiaUFnSUNCdmRYUWdQRHc5SURRN1hHNGdJQ0FnYjNWMElIdzlJSE5pTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ2ZFhRZ1BqNCtJREE3WEc1OU8xeHVYRzUyWVhJZ2NHVnliWFYwWlZSaFlteGxJRDBnVzF4dUlDQXhOaXdnTWpVc0lERXlMQ0F4TVN3Z015d2dNakFzSURRc0lERTFMQ0F6TVN3Z01UY3NJRGtzSURZc0lESTNMQ0F4TkN3Z01Td2dNaklzWEc0Z0lETXdMQ0F5TkN3Z09Dd2dNVGdzSURBc0lEVXNJREk1TENBeU15d2dNVE1zSURFNUxDQXlMQ0F5Tml3Z01UQXNJREl4TENBeU9Dd2dOMXh1WFR0Y2JseHVaWGh3YjNKMGN5NXdaWEp0ZFhSbElEMGdablZ1WTNScGIyNGdjR1Z5YlhWMFpTaHVkVzBwSUh0Y2JpQWdkbUZ5SUc5MWRDQTlJREE3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djR1Z5YlhWMFpWUmhZbXhsTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ2IzVjBJRHc4UFNBeE8xeHVJQ0FnSUc5MWRDQjhQU0FvYm5WdElENCtQaUJ3WlhKdGRYUmxWR0ZpYkdWYmFWMHBJQ1lnTUhneE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdmRYUWdQajQrSURBN1hHNTlPMXh1WEc1bGVIQnZjblJ6TG5CaFpGTndiR2wwSUQwZ1puVnVZM1JwYjI0Z2NHRmtVM0JzYVhRb2JuVnRMQ0J6YVhwbExDQm5jbTkxY0NrZ2UxeHVJQ0IyWVhJZ2MzUnlJRDBnYm5WdExuUnZVM1J5YVc1bktESXBPMXh1SUNCM2FHbHNaU0FvYzNSeUxteGxibWQwYUNBOElITnBlbVVwWEc0Z0lDQWdjM1J5SUQwZ0p6QW5JQ3NnYzNSeU8xeHVYRzRnSUhaaGNpQnZkWFFnUFNCYlhUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemFYcGxPeUJwSUNzOUlHZHliM1Z3S1Z4dUlDQWdJRzkxZEM1d2RYTm9LSE4wY2k1emJHbGpaU2hwTENCcElDc2daM0p2ZFhBcEtUdGNiaUFnY21WMGRYSnVJRzkxZEM1cWIybHVLQ2NnSnlrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKEJ1ZmZlcikge3ZhciBnZW5lcmF0ZVByaW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvZ2VuZXJhdGVQcmltZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2dlbmVyYXRlUHJpbWUuanNcXFwiKVxcbnZhciBwcmltZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9wcmltZXMuanNvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL3ByaW1lcy5qc29uXFxcIilcXG5cXG52YXIgREggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9kaCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2RoLmpzXFxcIilcXG5cXG5mdW5jdGlvbiBnZXREaWZmaWVIZWxsbWFuIChtb2QpIHtcXG4gIHZhciBwcmltZSA9IG5ldyBCdWZmZXIocHJpbWVzW21vZF0ucHJpbWUsICdoZXgnKVxcbiAgdmFyIGdlbiA9IG5ldyBCdWZmZXIocHJpbWVzW21vZF0uZ2VuLCAnaGV4JylcXG5cXG4gIHJldHVybiBuZXcgREgocHJpbWUsIGdlbilcXG59XFxuXFxudmFyIEVOQ09ESU5HUyA9IHtcXG4gICdiaW5hcnknOiB0cnVlLCAnaGV4JzogdHJ1ZSwgJ2Jhc2U2NCc6IHRydWVcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlRGlmZmllSGVsbG1hbiAocHJpbWUsIGVuYywgZ2VuZXJhdG9yLCBnZW5jKSB7XFxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKGVuYykgfHwgRU5DT0RJTkdTW2VuY10gPT09IHVuZGVmaW5lZCkge1xcbiAgICByZXR1cm4gY3JlYXRlRGlmZmllSGVsbG1hbihwcmltZSwgJ2JpbmFyeScsIGVuYywgZ2VuZXJhdG9yKVxcbiAgfVxcblxcbiAgZW5jID0gZW5jIHx8ICdiaW5hcnknXFxuICBnZW5jID0gZ2VuYyB8fCAnYmluYXJ5J1xcbiAgZ2VuZXJhdG9yID0gZ2VuZXJhdG9yIHx8IG5ldyBCdWZmZXIoWzJdKVxcblxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoZ2VuZXJhdG9yKSkge1xcbiAgICBnZW5lcmF0b3IgPSBuZXcgQnVmZmVyKGdlbmVyYXRvciwgZ2VuYylcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgcHJpbWUgPT09ICdudW1iZXInKSB7XFxuICAgIHJldHVybiBuZXcgREgoZ2VuZXJhdGVQcmltZShwcmltZSwgZ2VuZXJhdG9yKSwgZ2VuZXJhdG9yLCB0cnVlKVxcbiAgfVxcblxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpbWUpKSB7XFxuICAgIHByaW1lID0gbmV3IEJ1ZmZlcihwcmltZSwgZW5jKVxcbiAgfVxcblxcbiAgcmV0dXJuIG5ldyBESChwcmltZSwgZ2VuZXJhdG9yLCB0cnVlKVxcbn1cXG5cXG5leHBvcnRzLkRpZmZpZUhlbGxtYW5Hcm91cCA9IGV4cG9ydHMuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwID0gZXhwb3J0cy5nZXREaWZmaWVIZWxsbWFuID0gZ2V0RGlmZmllSGVsbG1hblxcbmV4cG9ydHMuY3JlYXRlRGlmZmllSGVsbG1hbiA9IGV4cG9ydHMuRGlmZmllSGVsbG1hbiA9IGNyZWF0ZURpZmZpZUhlbGxtYW5cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlrYVdabWFXVXRhR1ZzYkcxaGJpOWljbTkzYzJWeUxtcHpQemN4WkRnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNhMFZCUVc5Q0xHMUNRVUZQTEVOQlFVTXNLMFZCUVhGQ08wRkJRMnBFTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUlVGQmJVSTdPMEZCUlhoRExGTkJRVk1zYlVKQlFVOHNRMEZCUXl4NVJFRkJWVHM3UVVGRk0wSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpHbG1abWxsTFdobGJHeHRZVzR2WW5KdmQzTmxjaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCblpXNWxjbUYwWlZCeWFXMWxJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZaMlZ1WlhKaGRHVlFjbWx0WlNjcFhHNTJZWElnY0hKcGJXVnpJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZjSEpwYldWekxtcHpiMjRuS1Z4dVhHNTJZWElnUkVnZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5a2FDY3BYRzVjYm1aMWJtTjBhVzl1SUdkbGRFUnBabVpwWlVobGJHeHRZVzRnS0cxdlpDa2dlMXh1SUNCMllYSWdjSEpwYldVZ1BTQnVaWGNnUW5WbVptVnlLSEJ5YVcxbGMxdHRiMlJkTG5CeWFXMWxMQ0FuYUdWNEp5bGNiaUFnZG1GeUlHZGxiaUE5SUc1bGR5QkNkV1ptWlhJb2NISnBiV1Z6VzIxdlpGMHVaMlZ1TENBbmFHVjRKeWxjYmx4dUlDQnlaWFIxY200Z2JtVjNJRVJJS0hCeWFXMWxMQ0JuWlc0cFhHNTlYRzVjYm5aaGNpQkZUa05QUkVsT1IxTWdQU0I3WEc0Z0lDZGlhVzVoY25rbk9pQjBjblZsTENBbmFHVjRKem9nZEhKMVpTd2dKMkpoYzJVMk5DYzZJSFJ5ZFdWY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSR2xtWm1sbFNHVnNiRzFoYmlBb2NISnBiV1VzSUdWdVl5d2daMlZ1WlhKaGRHOXlMQ0JuWlc1aktTQjdYRzRnSUdsbUlDaENkV1ptWlhJdWFYTkNkV1ptWlhJb1pXNWpLU0I4ZkNCRlRrTlBSRWxPUjFOYlpXNWpYU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdOeVpXRjBaVVJwWm1acFpVaGxiR3h0WVc0b2NISnBiV1VzSUNkaWFXNWhjbmtuTENCbGJtTXNJR2RsYm1WeVlYUnZjaWxjYmlBZ2ZWeHVYRzRnSUdWdVl5QTlJR1Z1WXlCOGZDQW5ZbWx1WVhKNUoxeHVJQ0JuWlc1aklEMGdaMlZ1WXlCOGZDQW5ZbWx1WVhKNUoxeHVJQ0JuWlc1bGNtRjBiM0lnUFNCblpXNWxjbUYwYjNJZ2ZId2dibVYzSUVKMVptWmxjaWhiTWwwcFhHNWNiaUFnYVdZZ0tDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1oyVnVaWEpoZEc5eUtTa2dlMXh1SUNBZ0lHZGxibVZ5WVhSdmNpQTlJRzVsZHlCQ2RXWm1aWElvWjJWdVpYSmhkRzl5TENCblpXNWpLVnh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCd2NtbHRaU0E5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lFUklLR2RsYm1WeVlYUmxVSEpwYldVb2NISnBiV1VzSUdkbGJtVnlZWFJ2Y2lrc0lHZGxibVZ5WVhSdmNpd2dkSEoxWlNsY2JpQWdmVnh1WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6UW5WbVptVnlLSEJ5YVcxbEtTa2dlMXh1SUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRUoxWm1abGNpaHdjbWx0WlN3Z1pXNWpLVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZHlCRVNDaHdjbWx0WlN3Z1oyVnVaWEpoZEc5eUxDQjBjblZsS1Z4dWZWeHVYRzVsZUhCdmNuUnpMa1JwWm1acFpVaGxiR3h0WVc1SGNtOTFjQ0E5SUdWNGNHOXlkSE11WTNKbFlYUmxSR2xtWm1sbFNHVnNiRzFoYmtkeWIzVndJRDBnWlhod2IzSjBjeTVuWlhSRWFXWm1hV1ZJWld4c2JXRnVJRDBnWjJWMFJHbG1abWxsU0dWc2JHMWhibHh1Wlhod2IzSjBjeTVqY21WaGRHVkVhV1ptYVdWSVpXeHNiV0Z1SUQwZ1pYaHdiM0owY3k1RWFXWm1hV1ZJWld4c2JXRnVJRDBnWTNKbFlYUmxSR2xtWm1sbFNHVnNiRzFoYmx4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2RoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZGguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oQnVmZmVyKSB7dmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgTWlsbGVyUmFiaW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaWxsZXItcmFiaW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbGxlci1yYWJpbi9saWIvbXIuanNcXFwiKTtcXG52YXIgbWlsbGVyUmFiaW4gPSBuZXcgTWlsbGVyUmFiaW4oKTtcXG52YXIgVFdFTlRZRk9VUiA9IG5ldyBCTigyNCk7XFxudmFyIEVMRVZFTiA9IG5ldyBCTigxMSk7XFxudmFyIFRFTiA9IG5ldyBCTigxMCk7XFxudmFyIFRIUkVFID0gbmV3IEJOKDMpO1xcbnZhciBTRVZFTiA9IG5ldyBCTig3KTtcXG52YXIgcHJpbWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9nZW5lcmF0ZVByaW1lICovIFxcXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZ2VuZXJhdGVQcmltZS5qc1xcXCIpO1xcbnZhciByYW5kb21CeXRlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWJ5dGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcy9icm93c2VyLmpzXFxcIik7XFxubW9kdWxlLmV4cG9ydHMgPSBESDtcXG5cXG5mdW5jdGlvbiBzZXRQdWJsaWNLZXkocHViLCBlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwdWIpKSB7XFxuICAgIHB1YiA9IG5ldyBCdWZmZXIocHViLCBlbmMpO1xcbiAgfVxcbiAgdGhpcy5fcHViID0gbmV3IEJOKHB1Yik7XFxuICByZXR1cm4gdGhpcztcXG59XFxuXFxuZnVuY3Rpb24gc2V0UHJpdmF0ZUtleShwcml2LCBlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwcml2KSkge1xcbiAgICBwcml2ID0gbmV3IEJ1ZmZlcihwcml2LCBlbmMpO1xcbiAgfVxcbiAgdGhpcy5fcHJpdiA9IG5ldyBCTihwcml2KTtcXG4gIHJldHVybiB0aGlzO1xcbn1cXG5cXG52YXIgcHJpbWVDYWNoZSA9IHt9O1xcbmZ1bmN0aW9uIGNoZWNrUHJpbWUocHJpbWUsIGdlbmVyYXRvcikge1xcbiAgdmFyIGdlbiA9IGdlbmVyYXRvci50b1N0cmluZygnaGV4Jyk7XFxuICB2YXIgaGV4ID0gW2dlbiwgcHJpbWUudG9TdHJpbmcoMTYpXS5qb2luKCdfJyk7XFxuICBpZiAoaGV4IGluIHByaW1lQ2FjaGUpIHtcXG4gICAgcmV0dXJuIHByaW1lQ2FjaGVbaGV4XTtcXG4gIH1cXG4gIHZhciBlcnJvciA9IDA7XFxuXFxuICBpZiAocHJpbWUuaXNFdmVuKCkgfHxcXG4gICAgIXByaW1lcy5zaW1wbGVTaWV2ZSB8fFxcbiAgICAhcHJpbWVzLmZlcm1hdFRlc3QocHJpbWUpIHx8XFxuICAgICFtaWxsZXJSYWJpbi50ZXN0KHByaW1lKSkge1xcbiAgICAvL25vdCBhIHByaW1lIHNvICsxXFxuICAgIGVycm9yICs9IDE7XFxuXFxuICAgIGlmIChnZW4gPT09ICcwMicgfHwgZ2VuID09PSAnMDUnKSB7XFxuICAgICAgLy8gd2UnZCBiZSBhYmxlIHRvIGNoZWNrIHRoZSBnZW5lcmF0b3JcXG4gICAgICAvLyBpdCB3b3VsZCBmYWlsIHNvICs4XFxuICAgICAgZXJyb3IgKz0gODtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvL3dlIHdvdWxkbid0IGJlIGFibGUgdG8gdGVzdCB0aGUgZ2VuZXJhdG9yXFxuICAgICAgLy8gc28gKzRcXG4gICAgICBlcnJvciArPSA0O1xcbiAgICB9XFxuICAgIHByaW1lQ2FjaGVbaGV4XSA9IGVycm9yO1xcbiAgICByZXR1cm4gZXJyb3I7XFxuICB9XFxuICBpZiAoIW1pbGxlclJhYmluLnRlc3QocHJpbWUuc2hybigxKSkpIHtcXG4gICAgLy9ub3QgYSBzYWZlIHByaW1lXFxuICAgIGVycm9yICs9IDI7XFxuICB9XFxuICB2YXIgcmVtO1xcbiAgc3dpdGNoIChnZW4pIHtcXG4gICAgY2FzZSAnMDInOlxcbiAgICAgIGlmIChwcmltZS5tb2QoVFdFTlRZRk9VUikuY21wKEVMRVZFTikpIHtcXG4gICAgICAgIC8vIHVuc3VpZGFibGUgZ2VuZXJhdG9yXFxuICAgICAgICBlcnJvciArPSA4O1xcbiAgICAgIH1cXG4gICAgICBicmVhaztcXG4gICAgY2FzZSAnMDUnOlxcbiAgICAgIHJlbSA9IHByaW1lLm1vZChURU4pO1xcbiAgICAgIGlmIChyZW0uY21wKFRIUkVFKSAmJiByZW0uY21wKFNFVkVOKSkge1xcbiAgICAgICAgLy8gcHJpbWUgbW9kIDEwIG5lZWRzIHRvIGVxdWFsIDMgb3IgN1xcbiAgICAgICAgZXJyb3IgKz0gODtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIGRlZmF1bHQ6XFxuICAgICAgZXJyb3IgKz0gNDtcXG4gIH1cXG4gIHByaW1lQ2FjaGVbaGV4XSA9IGVycm9yO1xcbiAgcmV0dXJuIGVycm9yO1xcbn1cXG5cXG5mdW5jdGlvbiBESChwcmltZSwgZ2VuZXJhdG9yLCBtYWxsZWFibGUpIHtcXG4gIHRoaXMuc2V0R2VuZXJhdG9yKGdlbmVyYXRvcik7XFxuICB0aGlzLl9fcHJpbWUgPSBuZXcgQk4ocHJpbWUpO1xcbiAgdGhpcy5fcHJpbWUgPSBCTi5tb250KHRoaXMuX19wcmltZSk7XFxuICB0aGlzLl9wcmltZUxlbiA9IHByaW1lLmxlbmd0aDtcXG4gIHRoaXMuX3B1YiA9IHVuZGVmaW5lZDtcXG4gIHRoaXMuX3ByaXYgPSB1bmRlZmluZWQ7XFxuICB0aGlzLl9wcmltZUNvZGUgPSB1bmRlZmluZWQ7XFxuICBpZiAobWFsbGVhYmxlKSB7XFxuICAgIHRoaXMuc2V0UHVibGljS2V5ID0gc2V0UHVibGljS2V5O1xcbiAgICB0aGlzLnNldFByaXZhdGVLZXkgPSBzZXRQcml2YXRlS2V5O1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5fcHJpbWVDb2RlID0gODtcXG4gIH1cXG59XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KERILnByb3RvdHlwZSwgJ3ZlcmlmeUVycm9yJywge1xcbiAgZW51bWVyYWJsZTogdHJ1ZSxcXG4gIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ByaW1lQ29kZSAhPT0gJ251bWJlcicpIHtcXG4gICAgICB0aGlzLl9wcmltZUNvZGUgPSBjaGVja1ByaW1lKHRoaXMuX19wcmltZSwgdGhpcy5fX2dlbik7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX3ByaW1lQ29kZTtcXG4gIH1cXG59KTtcXG5ESC5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzID0gZnVuY3Rpb24gKCkge1xcbiAgaWYgKCF0aGlzLl9wcml2KSB7XFxuICAgIHRoaXMuX3ByaXYgPSBuZXcgQk4ocmFuZG9tQnl0ZXModGhpcy5fcHJpbWVMZW4pKTtcXG4gIH1cXG4gIHRoaXMuX3B1YiA9IHRoaXMuX2dlbi50b1JlZCh0aGlzLl9wcmltZSkucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKTtcXG4gIHJldHVybiB0aGlzLmdldFB1YmxpY0tleSgpO1xcbn07XFxuXFxuREgucHJvdG90eXBlLmNvbXB1dGVTZWNyZXQgPSBmdW5jdGlvbiAob3RoZXIpIHtcXG4gIG90aGVyID0gbmV3IEJOKG90aGVyKTtcXG4gIG90aGVyID0gb3RoZXIudG9SZWQodGhpcy5fcHJpbWUpO1xcbiAgdmFyIHNlY3JldCA9IG90aGVyLnJlZFBvdyh0aGlzLl9wcml2KS5mcm9tUmVkKCk7XFxuICB2YXIgb3V0ID0gbmV3IEJ1ZmZlcihzZWNyZXQudG9BcnJheSgpKTtcXG4gIHZhciBwcmltZSA9IHRoaXMuZ2V0UHJpbWUoKTtcXG4gIGlmIChvdXQubGVuZ3RoIDwgcHJpbWUubGVuZ3RoKSB7XFxuICAgIHZhciBmcm9udCA9IG5ldyBCdWZmZXIocHJpbWUubGVuZ3RoIC0gb3V0Lmxlbmd0aCk7XFxuICAgIGZyb250LmZpbGwoMCk7XFxuICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW2Zyb250LCBvdXRdKTtcXG4gIH1cXG4gIHJldHVybiBvdXQ7XFxufTtcXG5cXG5ESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5ID0gZnVuY3Rpb24gZ2V0UHVibGljS2V5KGVuYykge1xcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX3B1YiwgZW5jKTtcXG59O1xcblxcbkRILnByb3RvdHlwZS5nZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gZ2V0UHJpdmF0ZUtleShlbmMpIHtcXG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZSh0aGlzLl9wcml2LCBlbmMpO1xcbn07XFxuXFxuREgucHJvdG90eXBlLmdldFByaW1lID0gZnVuY3Rpb24gKGVuYykge1xcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX19wcmltZSwgZW5jKTtcXG59O1xcblxcbkRILnByb3RvdHlwZS5nZXRHZW5lcmF0b3IgPSBmdW5jdGlvbiAoZW5jKSB7XFxuICByZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fZ2VuLCBlbmMpO1xcbn07XFxuXFxuREgucHJvdG90eXBlLnNldEdlbmVyYXRvciA9IGZ1bmN0aW9uIChnZW4sIGVuYykge1xcbiAgZW5jID0gZW5jIHx8ICd1dGY4JztcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGdlbikpIHtcXG4gICAgZ2VuID0gbmV3IEJ1ZmZlcihnZW4sIGVuYyk7XFxuICB9XFxuICB0aGlzLl9fZ2VuID0gZ2VuO1xcbiAgdGhpcy5fZ2VuID0gbmV3IEJOKGdlbik7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIGZvcm1hdFJldHVyblZhbHVlKGJuLCBlbmMpIHtcXG4gIHZhciBidWYgPSBuZXcgQnVmZmVyKGJuLnRvQXJyYXkoKSk7XFxuICBpZiAoIWVuYykge1xcbiAgICByZXR1cm4gYnVmO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIGJ1Zi50b1N0cmluZyhlbmMpO1xcbiAgfVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlrYVdabWFXVXRhR1ZzYkcxaGJpOXNhV0l2WkdndWFuTS9aV0prTWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeDFSRUZCVXl4dFFrRkJUeXhEUVVGRExIbEZRVUZQTzBGQlEzaENMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMREpFUVVGak8wRkJRM2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3eVJVRkJhVUk3UVVGRGRFTXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNNRVJCUVdFN1FVRkRka003TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJScFptWnBaUzFvWld4c2JXRnVMMnhwWWk5a2FDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlrN1hHNTJZWElnVFdsc2JHVnlVbUZpYVc0Z1BTQnlaWEYxYVhKbEtDZHRhV3hzWlhJdGNtRmlhVzRuS1R0Y2JuWmhjaUJ0YVd4c1pYSlNZV0pwYmlBOUlHNWxkeUJOYVd4c1pYSlNZV0pwYmlncE8xeHVkbUZ5SUZSWFJVNVVXVVpQVlZJZ1BTQnVaWGNnUWs0b01qUXBPMXh1ZG1GeUlFVk1SVlpGVGlBOUlHNWxkeUJDVGlneE1TazdYRzUyWVhJZ1ZFVk9JRDBnYm1WM0lFSk9LREV3S1R0Y2JuWmhjaUJVU0ZKRlJTQTlJRzVsZHlCQ1RpZ3pLVHRjYm5aaGNpQlRSVlpGVGlBOUlHNWxkeUJDVGlnM0tUdGNiblpoY2lCd2NtbHRaWE1nUFNCeVpYRjFhWEpsS0NjdUwyZGxibVZ5WVhSbFVISnBiV1VuS1R0Y2JuWmhjaUJ5WVc1a2IyMUNlWFJsY3lBOUlISmxjWFZwY21Vb0ozSmhibVJ2YldKNWRHVnpKeWs3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSSU8xeHVYRzVtZFc1amRHbHZiaUJ6WlhSUWRXSnNhV05MWlhrb2NIVmlMQ0JsYm1NcElIdGNiaUFnWlc1aklEMGdaVzVqSUh4OElDZDFkR1k0Snp0Y2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0hWaUtTa2dlMXh1SUNBZ0lIQjFZaUE5SUc1bGR5QkNkV1ptWlhJb2NIVmlMQ0JsYm1NcE8xeHVJQ0I5WEc0Z0lIUm9hWE11WDNCMVlpQTlJRzVsZHlCQ1RpaHdkV0lwTzF4dUlDQnlaWFIxY200Z2RHaHBjenRjYm4xY2JseHVablZ1WTNScGIyNGdjMlYwVUhKcGRtRjBaVXRsZVNod2NtbDJMQ0JsYm1NcElIdGNiaUFnWlc1aklEMGdaVzVqSUh4OElDZDFkR1k0Snp0Y2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0hKcGRpa3BJSHRjYmlBZ0lDQndjbWwySUQwZ2JtVjNJRUoxWm1abGNpaHdjbWwyTENCbGJtTXBPMXh1SUNCOVhHNGdJSFJvYVhNdVgzQnlhWFlnUFNCdVpYY2dRazRvY0hKcGRpazdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVnh1WEc1MllYSWdjSEpwYldWRFlXTm9aU0E5SUh0OU8xeHVablZ1WTNScGIyNGdZMmhsWTJ0UWNtbHRaU2h3Y21sdFpTd2daMlZ1WlhKaGRHOXlLU0I3WEc0Z0lIWmhjaUJuWlc0Z1BTQm5aVzVsY21GMGIzSXVkRzlUZEhKcGJtY29KMmhsZUNjcE8xeHVJQ0IyWVhJZ2FHVjRJRDBnVzJkbGJpd2djSEpwYldVdWRHOVRkSEpwYm1jb01UWXBYUzVxYjJsdUtDZGZKeWs3WEc0Z0lHbG1JQ2hvWlhnZ2FXNGdjSEpwYldWRFlXTm9aU2tnZTF4dUlDQWdJSEpsZEhWeWJpQndjbWx0WlVOaFkyaGxXMmhsZUYwN1hHNGdJSDFjYmlBZ2RtRnlJR1Z5Y205eUlEMGdNRHRjYmx4dUlDQnBaaUFvY0hKcGJXVXVhWE5GZG1WdUtDa2dmSHhjYmlBZ0lDQWhjSEpwYldWekxuTnBiWEJzWlZOcFpYWmxJSHg4WEc0Z0lDQWdJWEJ5YVcxbGN5NW1aWEp0WVhSVVpYTjBLSEJ5YVcxbEtTQjhmRnh1SUNBZ0lDRnRhV3hzWlhKU1lXSnBiaTUwWlhOMEtIQnlhVzFsS1NrZ2UxeHVJQ0FnSUM4dmJtOTBJR0VnY0hKcGJXVWdjMjhnS3pGY2JpQWdJQ0JsY25KdmNpQXJQU0F4TzF4dVhHNGdJQ0FnYVdZZ0tHZGxiaUE5UFQwZ0p6QXlKeUI4ZkNCblpXNGdQVDA5SUNjd05TY3BJSHRjYmlBZ0lDQWdJQzh2SUhkbEoyUWdZbVVnWVdKc1pTQjBieUJqYUdWamF5QjBhR1VnWjJWdVpYSmhkRzl5WEc0Z0lDQWdJQ0F2THlCcGRDQjNiM1ZzWkNCbVlXbHNJSE52SUNzNFhHNGdJQ0FnSUNCbGNuSnZjaUFyUFNBNE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2TDNkbElIZHZkV3hrYmlkMElHSmxJR0ZpYkdVZ2RHOGdkR1Z6ZENCMGFHVWdaMlZ1WlhKaGRHOXlYRzRnSUNBZ0lDQXZMeUJ6YnlBck5GeHVJQ0FnSUNBZ1pYSnliM0lnS3owZ05EdGNiaUFnSUNCOVhHNGdJQ0FnY0hKcGJXVkRZV05vWlZ0b1pYaGRJRDBnWlhKeWIzSTdYRzRnSUNBZ2NtVjBkWEp1SUdWeWNtOXlPMXh1SUNCOVhHNGdJR2xtSUNnaGJXbHNiR1Z5VW1GaWFXNHVkR1Z6ZENod2NtbHRaUzV6YUhKdUtERXBLU2tnZTF4dUlDQWdJQzh2Ym05MElHRWdjMkZtWlNCd2NtbHRaVnh1SUNBZ0lHVnljbTl5SUNzOUlESTdYRzRnSUgxY2JpQWdkbUZ5SUhKbGJUdGNiaUFnYzNkcGRHTm9JQ2huWlc0cElIdGNiaUFnSUNCallYTmxJQ2N3TWljNlhHNGdJQ0FnSUNCcFppQW9jSEpwYldVdWJXOWtLRlJYUlU1VVdVWlBWVklwTG1OdGNDaEZURVZXUlU0cEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUhWdWMzVnBaR0ZpYkdVZ1oyVnVaWEpoZEc5eVhHNGdJQ0FnSUNBZ0lHVnljbTl5SUNzOUlEZzdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0JqWVhObElDY3dOU2M2WEc0Z0lDQWdJQ0J5WlcwZ1BTQndjbWx0WlM1dGIyUW9WRVZPS1R0Y2JpQWdJQ0FnSUdsbUlDaHlaVzB1WTIxd0tGUklVa1ZGS1NBbUppQnlaVzB1WTIxd0tGTkZWa1ZPS1NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJ3Y21sdFpTQnRiMlFnTVRBZ2JtVmxaSE1nZEc4Z1pYRjFZV3dnTXlCdmNpQTNYRzRnSUNBZ0lDQWdJR1Z5Y205eUlDczlJRGc3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnWlhKeWIzSWdLejBnTkR0Y2JpQWdmVnh1SUNCd2NtbHRaVU5oWTJobFcyaGxlRjBnUFNCbGNuSnZjanRjYmlBZ2NtVjBkWEp1SUdWeWNtOXlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkVTQ2h3Y21sdFpTd2daMlZ1WlhKaGRHOXlMQ0J0WVd4c1pXRmliR1VwSUh0Y2JpQWdkR2hwY3k1elpYUkhaVzVsY21GMGIzSW9aMlZ1WlhKaGRHOXlLVHRjYmlBZ2RHaHBjeTVmWDNCeWFXMWxJRDBnYm1WM0lFSk9LSEJ5YVcxbEtUdGNiaUFnZEdocGN5NWZjSEpwYldVZ1BTQkNUaTV0YjI1MEtIUm9hWE11WDE5d2NtbHRaU2s3WEc0Z0lIUm9hWE11WDNCeWFXMWxUR1Z1SUQwZ2NISnBiV1V1YkdWdVozUm9PMXh1SUNCMGFHbHpMbDl3ZFdJZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUhSb2FYTXVYM0J5YVhZZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUhSb2FYTXVYM0J5YVcxbFEyOWtaU0E5SUhWdVpHVm1hVzVsWkR0Y2JpQWdhV1lnS0cxaGJHeGxZV0pzWlNrZ2UxeHVJQ0FnSUhSb2FYTXVjMlYwVUhWaWJHbGpTMlY1SUQwZ2MyVjBVSFZpYkdsalMyVjVPMXh1SUNBZ0lIUm9hWE11YzJWMFVISnBkbUYwWlV0bGVTQTlJSE5sZEZCeWFYWmhkR1ZMWlhrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RHaHBjeTVmY0hKcGJXVkRiMlJsSUQwZ09EdGNiaUFnZlZ4dWZWeHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSSUxuQnliM1J2ZEhsd1pTd2dKM1psY21sbWVVVnljbTl5Snl3Z2UxeHVJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhSb2FYTXVYM0J5YVcxbFEyOWtaU0FoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCeWFXMWxRMjlrWlNBOUlHTm9aV05yVUhKcGJXVW9kR2hwY3k1ZlgzQnlhVzFsTENCMGFHbHpMbDlmWjJWdUtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzQnlhVzFsUTI5a1pUdGNiaUFnZlZ4dWZTazdYRzVFU0M1d2NtOTBiM1I1Y0dVdVoyVnVaWEpoZEdWTFpYbHpJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0JwWmlBb0lYUm9hWE11WDNCeWFYWXBJSHRjYmlBZ0lDQjBhR2x6TGw5d2NtbDJJRDBnYm1WM0lFSk9LSEpoYm1SdmJVSjVkR1Z6S0hSb2FYTXVYM0J5YVcxbFRHVnVLU2s3WEc0Z0lIMWNiaUFnZEdocGN5NWZjSFZpSUQwZ2RHaHBjeTVmWjJWdUxuUnZVbVZrS0hSb2FYTXVYM0J5YVcxbEtTNXlaV1JRYjNjb2RHaHBjeTVmY0hKcGRpa3Vabkp2YlZKbFpDZ3BPMXh1SUNCeVpYUjFjbTRnZEdocGN5NW5aWFJRZFdKc2FXTkxaWGtvS1R0Y2JuMDdYRzVjYmtSSUxuQnliM1J2ZEhsd1pTNWpiMjF3ZFhSbFUyVmpjbVYwSUQwZ1puVnVZM1JwYjI0Z0tHOTBhR1Z5S1NCN1hHNGdJRzkwYUdWeUlEMGdibVYzSUVKT0tHOTBhR1Z5S1R0Y2JpQWdiM1JvWlhJZ1BTQnZkR2hsY2k1MGIxSmxaQ2gwYUdsekxsOXdjbWx0WlNrN1hHNGdJSFpoY2lCelpXTnlaWFFnUFNCdmRHaGxjaTV5WldSUWIzY29kR2hwY3k1ZmNISnBkaWt1Wm5KdmJWSmxaQ2dwTzF4dUlDQjJZWElnYjNWMElEMGdibVYzSUVKMVptWmxjaWh6WldOeVpYUXVkRzlCY25KaGVTZ3BLVHRjYmlBZ2RtRnlJSEJ5YVcxbElEMGdkR2hwY3k1blpYUlFjbWx0WlNncE8xeHVJQ0JwWmlBb2IzVjBMbXhsYm1kMGFDQThJSEJ5YVcxbExteGxibWQwYUNrZ2UxeHVJQ0FnSUhaaGNpQm1jbTl1ZENBOUlHNWxkeUJDZFdabVpYSW9jSEpwYldVdWJHVnVaM1JvSUMwZ2IzVjBMbXhsYm1kMGFDazdYRzRnSUNBZ1puSnZiblF1Wm1sc2JDZ3dLVHRjYmlBZ0lDQnZkWFFnUFNCQ2RXWm1aWEl1WTI5dVkyRjBLRnRtY205dWRDd2diM1YwWFNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5MWREdGNibjA3WEc1Y2JrUklMbkJ5YjNSdmRIbHdaUzVuWlhSUWRXSnNhV05MWlhrZ1BTQm1kVzVqZEdsdmJpQm5aWFJRZFdKc2FXTkxaWGtvWlc1aktTQjdYRzRnSUhKbGRIVnliaUJtYjNKdFlYUlNaWFIxY201V1lXeDFaU2gwYUdsekxsOXdkV0lzSUdWdVl5azdYRzU5TzF4dVhHNUVTQzV3Y205MGIzUjVjR1V1WjJWMFVISnBkbUYwWlV0bGVTQTlJR1oxYm1OMGFXOXVJR2RsZEZCeWFYWmhkR1ZMWlhrb1pXNWpLU0I3WEc0Z0lISmxkSFZ5YmlCbWIzSnRZWFJTWlhSMWNtNVdZV3gxWlNoMGFHbHpMbDl3Y21sMkxDQmxibU1wTzF4dWZUdGNibHh1UkVndWNISnZkRzkwZVhCbExtZGxkRkJ5YVcxbElEMGdablZ1WTNScGIyNGdLR1Z1WXlrZ2UxeHVJQ0J5WlhSMWNtNGdabTl5YldGMFVtVjBkWEp1Vm1Gc2RXVW9kR2hwY3k1ZlgzQnlhVzFsTENCbGJtTXBPMXh1ZlR0Y2JseHVSRWd1Y0hKdmRHOTBlWEJsTG1kbGRFZGxibVZ5WVhSdmNpQTlJR1oxYm1OMGFXOXVJQ2hsYm1NcElIdGNiaUFnY21WMGRYSnVJR1p2Y20xaGRGSmxkSFZ5YmxaaGJIVmxLSFJvYVhNdVgyZGxiaXdnWlc1aktUdGNibjA3WEc1Y2JrUklMbkJ5YjNSdmRIbHdaUzV6WlhSSFpXNWxjbUYwYjNJZ1BTQm1kVzVqZEdsdmJpQW9aMlZ1TENCbGJtTXBJSHRjYmlBZ1pXNWpJRDBnWlc1aklIeDhJQ2QxZEdZNEp6dGNiaUFnYVdZZ0tDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1oyVnVLU2tnZTF4dUlDQWdJR2RsYmlBOUlHNWxkeUJDZFdabVpYSW9aMlZ1TENCbGJtTXBPMXh1SUNCOVhHNGdJSFJvYVhNdVgxOW5aVzRnUFNCblpXNDdYRzRnSUhSb2FYTXVYMmRsYmlBOUlHNWxkeUJDVGloblpXNHBPMXh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JtWjFibU4wYVc5dUlHWnZjbTFoZEZKbGRIVnlibFpoYkhWbEtHSnVMQ0JsYm1NcElIdGNiaUFnZG1GeUlHSjFaaUE5SUc1bGR5QkNkV1ptWlhJb1ltNHVkRzlCY25KaGVTZ3BLVHRjYmlBZ2FXWWdLQ0ZsYm1NcElIdGNiaUFnSUNCeVpYUjFjbTRnWW5WbU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCaWRXWXVkRzlUZEhKcGJtY29aVzVqS1R0Y2JpQWdmVnh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2RoLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZ2VuZXJhdGVQcmltZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZ2VuZXJhdGVQcmltZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHJhbmRvbUJ5dGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmFuZG9tYnl0ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanNcXFwiKTtcXG5tb2R1bGUuZXhwb3J0cyA9IGZpbmRQcmltZTtcXG5maW5kUHJpbWUuc2ltcGxlU2lldmUgPSBzaW1wbGVTaWV2ZTtcXG5maW5kUHJpbWUuZmVybWF0VGVzdCA9IGZlcm1hdFRlc3Q7XFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgVFdFTlRZRk9VUiA9IG5ldyBCTigyNCk7XFxudmFyIE1pbGxlclJhYmluID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWlsbGVyLXJhYmluICovIFxcXCIuL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbGliL21yLmpzXFxcIik7XFxudmFyIG1pbGxlclJhYmluID0gbmV3IE1pbGxlclJhYmluKCk7XFxudmFyIE9ORSA9IG5ldyBCTigxKTtcXG52YXIgVFdPID0gbmV3IEJOKDIpO1xcbnZhciBGSVZFID0gbmV3IEJOKDUpO1xcbnZhciBTSVhURUVOID0gbmV3IEJOKDE2KTtcXG52YXIgRUlHSFQgPSBuZXcgQk4oOCk7XFxudmFyIFRFTiA9IG5ldyBCTigxMCk7XFxudmFyIFRIUkVFID0gbmV3IEJOKDMpO1xcbnZhciBTRVZFTiA9IG5ldyBCTig3KTtcXG52YXIgRUxFVkVOID0gbmV3IEJOKDExKTtcXG52YXIgRk9VUiA9IG5ldyBCTig0KTtcXG52YXIgVFdFTFZFID0gbmV3IEJOKDEyKTtcXG52YXIgcHJpbWVzID0gbnVsbDtcXG5cXG5mdW5jdGlvbiBfZ2V0UHJpbWVzKCkge1xcbiAgaWYgKHByaW1lcyAhPT0gbnVsbClcXG4gICAgcmV0dXJuIHByaW1lcztcXG5cXG4gIHZhciBsaW1pdCA9IDB4MTAwMDAwO1xcbiAgdmFyIHJlcyA9IFtdO1xcbiAgcmVzWzBdID0gMjtcXG4gIGZvciAodmFyIGkgPSAxLCBrID0gMzsgayA8IGxpbWl0OyBrICs9IDIpIHtcXG4gICAgdmFyIHNxcnQgPSBNYXRoLmNlaWwoTWF0aC5zcXJ0KGspKTtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBpICYmIHJlc1tqXSA8PSBzcXJ0OyBqKyspXFxuICAgICAgaWYgKGsgJSByZXNbal0gPT09IDApXFxuICAgICAgICBicmVhaztcXG5cXG4gICAgaWYgKGkgIT09IGogJiYgcmVzW2pdIDw9IHNxcnQpXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIHJlc1tpKytdID0gaztcXG4gIH1cXG4gIHByaW1lcyA9IHJlcztcXG4gIHJldHVybiByZXM7XFxufVxcblxcbmZ1bmN0aW9uIHNpbXBsZVNpZXZlKHApIHtcXG4gIHZhciBwcmltZXMgPSBfZ2V0UHJpbWVzKCk7XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHByaW1lcy5sZW5ndGg7IGkrKylcXG4gICAgaWYgKHAubW9kbihwcmltZXNbaV0pID09PSAwKSB7XFxuICAgICAgaWYgKHAuY21wbihwcmltZXNbaV0pID09PSAwKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcblxcbmZ1bmN0aW9uIGZlcm1hdFRlc3QocCkge1xcbiAgdmFyIHJlZCA9IEJOLm1vbnQocCk7XFxuICByZXR1cm4gVFdPLnRvUmVkKHJlZCkucmVkUG93KHAuc3VibigxKSkuZnJvbVJlZCgpLmNtcG4oMSkgPT09IDA7XFxufVxcblxcbmZ1bmN0aW9uIGZpbmRQcmltZShiaXRzLCBnZW4pIHtcXG4gIGlmIChiaXRzIDwgMTYpIHtcXG4gICAgLy8gdGhpcyBpcyB3aGF0IG9wZW5zc2wgZG9lc1xcbiAgICBpZiAoZ2VuID09PSAyIHx8IGdlbiA9PT0gNSkge1xcbiAgICAgIHJldHVybiBuZXcgQk4oWzB4OGMsIDB4N2JdKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gbmV3IEJOKFsweDhjLCAweDI3XSk7XFxuICAgIH1cXG4gIH1cXG4gIGdlbiA9IG5ldyBCTihnZW4pO1xcblxcbiAgdmFyIG51bSwgbjI7XFxuXFxuICB3aGlsZSAodHJ1ZSkge1xcbiAgICBudW0gPSBuZXcgQk4ocmFuZG9tQnl0ZXMoTWF0aC5jZWlsKGJpdHMgLyA4KSkpO1xcbiAgICB3aGlsZSAobnVtLmJpdExlbmd0aCgpID4gYml0cykge1xcbiAgICAgIG51bS5pc2hybigxKTtcXG4gICAgfVxcbiAgICBpZiAobnVtLmlzRXZlbigpKSB7XFxuICAgICAgbnVtLmlhZGQoT05FKTtcXG4gICAgfVxcbiAgICBpZiAoIW51bS50ZXN0bigxKSkge1xcbiAgICAgIG51bS5pYWRkKFRXTyk7XFxuICAgIH1cXG4gICAgaWYgKCFnZW4uY21wKFRXTykpIHtcXG4gICAgICB3aGlsZSAobnVtLm1vZChUV0VOVFlGT1VSKS5jbXAoRUxFVkVOKSkge1xcbiAgICAgICAgbnVtLmlhZGQoRk9VUik7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFnZW4uY21wKEZJVkUpKSB7XFxuICAgICAgd2hpbGUgKG51bS5tb2QoVEVOKS5jbXAoVEhSRUUpKSB7XFxuICAgICAgICBudW0uaWFkZChGT1VSKTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgbjIgPSBudW0uc2hybigxKTtcXG4gICAgaWYgKHNpbXBsZVNpZXZlKG4yKSAmJiBzaW1wbGVTaWV2ZShudW0pICYmXFxuICAgICAgZmVybWF0VGVzdChuMikgJiYgZmVybWF0VGVzdChudW0pICYmXFxuICAgICAgbWlsbGVyUmFiaW4udGVzdChuMikgJiYgbWlsbGVyUmFiaW4udGVzdChudW0pKSB7XFxuICAgICAgcmV0dXJuIG51bTtcXG4gICAgfVxcbiAgfVxcblxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWthV1ptYVdVdGFHVnNiRzFoYmk5c2FXSXZaMlZ1WlhKaGRHVlFjbWx0WlM1cWN6OWpOR00zSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExEQkVRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk1zYlVKQlFVOHNRMEZCUXl4NVJVRkJUenRCUVVONFFqdEJRVU5CTEd0Q1FVRnJRaXh0UWtGQlR5eERRVUZETERKRVFVRmpPMEZCUTNoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4M1FrRkJkMElzVjBGQlZ6dEJRVU51UXp0QlFVTkJMRzFDUVVGdFFpeDVRa0ZCZVVJN1FVRkROVU03UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2JVSkJRVzFDTzBGQlEzQkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJScFptWnBaUzFvWld4c2JXRnVMMnhwWWk5blpXNWxjbUYwWlZCeWFXMWxMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUhKaGJtUnZiVUo1ZEdWeklEMGdjbVZ4ZFdseVpTZ25jbUZ1Wkc5dFlubDBaWE1uS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1ptbHVaRkJ5YVcxbE8xeHVabWx1WkZCeWFXMWxMbk5wYlhCc1pWTnBaWFpsSUQwZ2MybHRjR3hsVTJsbGRtVTdYRzVtYVc1a1VISnBiV1V1Wm1WeWJXRjBWR1Z6ZENBOUlHWmxjbTFoZEZSbGMzUTdYRzUyWVhJZ1FrNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BPMXh1ZG1GeUlGUlhSVTVVV1VaUFZWSWdQU0J1WlhjZ1FrNG9NalFwTzF4dWRtRnlJRTFwYkd4bGNsSmhZbWx1SUQwZ2NtVnhkV2x5WlNnbmJXbHNiR1Z5TFhKaFltbHVKeWs3WEc1MllYSWdiV2xzYkdWeVVtRmlhVzRnUFNCdVpYY2dUV2xzYkdWeVVtRmlhVzRvS1R0Y2JuWmhjaUJQVGtVZ1BTQnVaWGNnUWs0b01TazdYRzUyWVhJZ1ZGZFBJRDBnYm1WM0lFSk9LRElwTzF4dWRtRnlJRVpKVmtVZ1BTQnVaWGNnUWs0b05TazdYRzUyWVhJZ1UwbFlWRVZGVGlBOUlHNWxkeUJDVGlneE5pazdYRzUyWVhJZ1JVbEhTRlFnUFNCdVpYY2dRazRvT0NrN1hHNTJZWElnVkVWT0lEMGdibVYzSUVKT0tERXdLVHRjYm5aaGNpQlVTRkpGUlNBOUlHNWxkeUJDVGlnektUdGNiblpoY2lCVFJWWkZUaUE5SUc1bGR5QkNUaWczS1R0Y2JuWmhjaUJGVEVWV1JVNGdQU0J1WlhjZ1FrNG9NVEVwTzF4dWRtRnlJRVpQVlZJZ1BTQnVaWGNnUWs0b05DazdYRzUyWVhJZ1ZGZEZURlpGSUQwZ2JtVjNJRUpPS0RFeUtUdGNiblpoY2lCd2NtbHRaWE1nUFNCdWRXeHNPMXh1WEc1bWRXNWpkR2x2YmlCZloyVjBVSEpwYldWektDa2dlMXh1SUNCcFppQW9jSEpwYldWeklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUhKbGRIVnliaUJ3Y21sdFpYTTdYRzVjYmlBZ2RtRnlJR3hwYldsMElEMGdNSGd4TURBd01EQTdYRzRnSUhaaGNpQnlaWE1nUFNCYlhUdGNiaUFnY21Weld6QmRJRDBnTWp0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURFc0lHc2dQU0F6T3lCcklEd2diR2x0YVhRN0lHc2dLejBnTWlrZ2UxeHVJQ0FnSUhaaGNpQnpjWEowSUQwZ1RXRjBhQzVqWldsc0tFMWhkR2d1YzNGeWRDaHJLU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0JwSUNZbUlISmxjMXRxWFNBOFBTQnpjWEowT3lCcUt5c3BYRzRnSUNBZ0lDQnBaaUFvYXlBbElISmxjMXRxWFNBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQnBaaUFvYVNBaFBUMGdhaUFtSmlCeVpYTmJhbDBnUEQwZ2MzRnlkQ2xjYmlBZ0lDQWdJR052Ym5ScGJuVmxPMXh1WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0JyTzF4dUlDQjlYRzRnSUhCeWFXMWxjeUE5SUhKbGN6dGNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJsdGNHeGxVMmxsZG1Vb2NDa2dlMXh1SUNCMllYSWdjSEpwYldWeklEMGdYMmRsZEZCeWFXMWxjeWdwTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnY0hKcGJXVnpMbXhsYm1kMGFEc2dhU3NyS1Z4dUlDQWdJR2xtSUNod0xtMXZaRzRvY0hKcGJXVnpXMmxkS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tIQXVZMjF3Ymlod2NtbHRaWE5iYVYwcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQnlaWFIxY200Z2RISjFaVHRjYm4xY2JseHVablZ1WTNScGIyNGdabVZ5YldGMFZHVnpkQ2h3S1NCN1hHNGdJSFpoY2lCeVpXUWdQU0JDVGk1dGIyNTBLSEFwTzF4dUlDQnlaWFIxY200Z1ZGZFBMblJ2VW1Wa0tISmxaQ2t1Y21Wa1VHOTNLSEF1YzNWaWJpZ3hLU2t1Wm5KdmJWSmxaQ2dwTG1OdGNHNG9NU2tnUFQwOUlEQTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnBibVJRY21sdFpTaGlhWFJ6TENCblpXNHBJSHRjYmlBZ2FXWWdLR0pwZEhNZ1BDQXhOaWtnZTF4dUlDQWdJQzh2SUhSb2FYTWdhWE1nZDJoaGRDQnZjR1Z1YzNOc0lHUnZaWE5jYmlBZ0lDQnBaaUFvWjJWdUlEMDlQU0F5SUh4OElHZGxiaUE5UFQwZ05Ta2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJDVGloYk1IZzRZeXdnTUhnM1lsMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFSk9LRnN3ZURoakxDQXdlREkzWFNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdkbGJpQTlJRzVsZHlCQ1RpaG5aVzRwTzF4dVhHNGdJSFpoY2lCdWRXMHNJRzR5TzF4dVhHNGdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnYm5WdElEMGdibVYzSUVKT0tISmhibVJ2YlVKNWRHVnpLRTFoZEdndVkyVnBiQ2hpYVhSeklDOGdPQ2twS1R0Y2JpQWdJQ0IzYUdsc1pTQW9iblZ0TG1KcGRFeGxibWQwYUNncElENGdZbWwwY3lrZ2UxeHVJQ0FnSUNBZ2JuVnRMbWx6YUhKdUtERXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9iblZ0TG1selJYWmxiaWdwS1NCN1hHNGdJQ0FnSUNCdWRXMHVhV0ZrWkNoUFRrVXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9JVzUxYlM1MFpYTjBiaWd4S1NrZ2UxeHVJQ0FnSUNBZ2JuVnRMbWxoWkdRb1ZGZFBLVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ0ZuWlc0dVkyMXdLRlJYVHlrcElIdGNiaUFnSUNBZ0lIZG9hV3hsSUNodWRXMHViVzlrS0ZSWFJVNVVXVVpQVlZJcExtTnRjQ2hGVEVWV1JVNHBLU0I3WEc0Z0lDQWdJQ0FnSUc1MWJTNXBZV1JrS0VaUFZWSXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9JV2RsYmk1amJYQW9Sa2xXUlNrcElIdGNiaUFnSUNBZ0lIZG9hV3hsSUNodWRXMHViVzlrS0ZSRlRpa3VZMjF3S0ZSSVVrVkZLU2tnZTF4dUlDQWdJQ0FnSUNCdWRXMHVhV0ZrWkNoR1QxVlNLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2JqSWdQU0J1ZFcwdWMyaHliaWd4S1R0Y2JpQWdJQ0JwWmlBb2MybHRjR3hsVTJsbGRtVW9iaklwSUNZbUlITnBiWEJzWlZOcFpYWmxLRzUxYlNrZ0ppWmNiaUFnSUNBZ0lHWmxjbTFoZEZSbGMzUW9iaklwSUNZbUlHWmxjbTFoZEZSbGMzUW9iblZ0S1NBbUpseHVJQ0FnSUNBZ2JXbHNiR1Z5VW1GaWFXNHVkR1Z6ZENodU1pa2dKaVlnYldsc2JHVnlVbUZpYVc0dWRHVnpkQ2h1ZFcwcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnRPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2xpYi9nZW5lcmF0ZVByaW1lLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvcHJpbWVzLmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2xpYi9wcmltZXMuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogbW9kcDEsIG1vZHAyLCBtb2RwNSwgbW9kcDE0LCBtb2RwMTUsIG1vZHAxNiwgbW9kcDE3LCBtb2RwMTgsIGRlZmF1bHQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gSlNPTi5wYXJzZShcXFwie1xcXFxcXFwibW9kcDFcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzYTM2MjBmZmZmZmZmZmZmZmZmZmZmXFxcXFxcXCJ9LFxcXFxcXFwibW9kcDJcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTY1MzgxZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHA1XFxcXFxcXCI6e1xcXFxcXFwiZ2VuXFxcXFxcXCI6XFxcXFxcXCIwMlxcXFxcXFwiLFxcXFxcXFwicHJpbWVcXFxcXFxcIjpcXFxcXFxcImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMjM3MzI3ZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHAxNFxcXFxcXFwiOntcXFxcXFxcImdlblxcXFxcXFwiOlxcXFxcXFwiMDJcXFxcXFxcIixcXFxcXFxcInByaW1lXFxcXFxcXCI6XFxcXFxcXCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWNhYTY4ZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHAxNVxcXFxcXFwiOntcXFxcXFxcImdlblxcXFxcXFwiOlxcXFxcXFwiMDJcXFxcXFxcIixcXFxcXFxcInByaW1lXFxcXFxcXCI6XFxcXFxcXCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTNhZDJjYWZmZmZmZmZmZmZmZmZmZmZcXFxcXFxcIn0sXFxcXFxcXCJtb2RwMTZcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDYzMTk5ZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHAxN1xcXFxcXFwiOntcXFxcXFxcImdlblxcXFxcXFwiOlxcXFxcXFwiMDJcXFxcXFxcIixcXFxcXFxcInByaW1lXFxcXFxcXCI6XFxcXFxcXCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTIxMDgwMTFhNzIzYzEyYTc4N2U2ZDc4ODcxOWExMGJkYmE1YjI2OTljMzI3MTg2YWY0ZTIzYzFhOTQ2ODM0YjYxNTBiZGEyNTgzZTljYTJhZDQ0Y2U4ZGJiYmMyZGIwNGRlOGVmOTJlOGVmYzE0MWZiZWNhYTYyODdjNTk0NzRlNmJjMDVkOTliMjk2NGZhMDkwYzNhMjIzM2JhMTg2NTE1YmU3ZWQxZjYxMjk3MGNlZTJkN2FmYjgxYmRkNzYyMTcwNDgxY2QwMDY5MTI3ZDViMDVhYTk5M2I0ZWE5ODhkOGZkZGMxODZmZmI3ZGM5MGE2YzA4ZjRkZjQzNWM5MzQwMjg0OTIzNmMzZmFiNGQyN2M3MDI2YzFkNGRjYjI2MDI2NDZkZWM5NzUxZTc2M2RiYTM3YmRmOGZmOTQwNmFkOWU1MzBlZTVkYjM4MmY0MTMwMDFhZWIwNmE1M2VkOTAyN2Q4MzExNzk3MjdiMDg2NWE4OTE4ZGEzZWRiZWJjZjliMTRlZDQ0Y2U2Y2JhY2VkNGJiMWJkYjdmMTQ0N2U2Y2MyNTRiMzMyMDUxNTEyYmQ3YWY0MjZmYjhmNDAxMzc4Y2QyYmY1OTgzY2EwMWM2NGI5MmVjZjAzMmVhMTVkMTcyMWQwM2Y0ODJkN2NlNmU3NGZlZjZkNTVlNzAyZjQ2OTgwYzgyYjVhODQwMzE5MDBiMWM5ZTU5ZTdjOTdmYmVjN2U4ZjMyM2E5N2E3ZTM2Y2M4OGJlMGYxZDQ1YjdmZjU4NWFjNTRiZDQwN2IyMmI0MTU0YWFjYzhmNmQ3ZWJmNDhlMWQ4MTRjYzVlZDIwZjgwMzdlMGE3OTcxNWVlZjI5YmUzMjgwNmExZDU4YmI3YzVkYTc2ZjU1MGFhM2Q4YTFmYmZmMGViMTljY2IxYTMxM2Q1NWNkYTU2YzllYzJlZjI5NjMyMzg3ZmU4ZDc2ZTNjMDQ2ODA0M2U4ZjY2M2Y0ODYwZWUxMmJmMmQ1YjBiNzQ3NGQ2ZTY5NGY5MWU2ZGNjNDAyNGZmZmZmZmZmZmZmZmZmZmZcXFxcXFxcIn0sXFxcXFxcXCJtb2RwMThcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDI4NDkyMzZjM2ZhYjRkMjdjNzAyNmMxZDRkY2IyNjAyNjQ2ZGVjOTc1MWU3NjNkYmEzN2JkZjhmZjk0MDZhZDllNTMwZWU1ZGIzODJmNDEzMDAxYWViMDZhNTNlZDkwMjdkODMxMTc5NzI3YjA4NjVhODkxOGRhM2VkYmViY2Y5YjE0ZWQ0NGNlNmNiYWNlZDRiYjFiZGI3ZjE0NDdlNmNjMjU0YjMzMjA1MTUxMmJkN2FmNDI2ZmI4ZjQwMTM3OGNkMmJmNTk4M2NhMDFjNjRiOTJlY2YwMzJlYTE1ZDE3MjFkMDNmNDgyZDdjZTZlNzRmZWY2ZDU1ZTcwMmY0Njk4MGM4MmI1YTg0MDMxOTAwYjFjOWU1OWU3Yzk3ZmJlYzdlOGYzMjNhOTdhN2UzNmNjODhiZTBmMWQ0NWI3ZmY1ODVhYzU0YmQ0MDdiMjJiNDE1NGFhY2M4ZjZkN2ViZjQ4ZTFkODE0Y2M1ZWQyMGY4MDM3ZTBhNzk3MTVlZWYyOWJlMzI4MDZhMWQ1OGJiN2M1ZGE3NmY1NTBhYTNkOGExZmJmZjBlYjE5Y2NiMWEzMTNkNTVjZGE1NmM5ZWMyZWYyOTYzMjM4N2ZlOGQ3NmUzYzA0NjgwNDNlOGY2NjNmNDg2MGVlMTJiZjJkNWIwYjc0NzRkNmU2OTRmOTFlNmRiZTExNTk3NGEzOTI2ZjEyZmVlNWU0Mzg3NzdjYjZhOTMyZGY4Y2Q4YmVjNGQwNzNiOTMxYmEzYmM4MzJiNjhkOWRkMzAwNzQxZmE3YmY4YWZjNDdlZDI1NzZmNjkzNmJhNDI0NjYzYWFiNjM5YzVhZTRmNTY4MzQyM2I0NzQyYmYxYzk3ODIzOGYxNmNiZTM5ZDY1MmRlM2ZkYjhiZWZjODQ4YWQ5MjIyMjJlMDRhNDAzN2MwNzEzZWI1N2E4MWEyM2YwYzczNDczZmM2NDZjZWEzMDZiNGJjYmM4ODYyZjgzODVkZGZhOWQ0YjdmYTJjMDg3ZTg3OTY4MzMwM2VkNWJkZDNhMDYyYjNjZjViM2EyNzhhNjZkMmExM2Y4M2Y0NGY4MmRkZjMxMGVlMDc0YWI2YTM2NDU5N2U4OTlhMDI1NWRjMTY0ZjMxY2M1MDg0Njg1MWRmOWFiNDgxOTVkZWQ3ZWExYjFkNTEwYmQ3ZWU3NGQ3M2ZhZjM2YmMzMWVjZmEyNjgzNTkwNDZmNGViODc5ZjkyNDAwOTQzOGI0ODFjNmNkNzg4OWEwMDJlZDVlZTM4MmJjOTE5MGRhNmZjMDI2ZTQ3OTU1OGU0NDc1Njc3ZTlhYTllMzA1MGUyNzY1Njk0ZGZjODFmNTZlODgwYjk2ZTcxNjBjOTgwZGQ5OGVkZDNkZmZmZmZmZmZmZmZmZmZmZmZcXFxcXFxcIn19XFxcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYlhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlrYVdabWFXVXRhR1ZzYkcxaGJpOXNhV0l2Y0hKcGJXVnpMbXB6YjI0dWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL3ByaW1lcy5qc29uXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24obW9kdWxlKSB7KGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcXG4gICd1c2Ugc3RyaWN0JztcXG5cXG4gIC8vIFV0aWxzXFxuICBmdW5jdGlvbiBhc3NlcnQgKHZhbCwgbXNnKSB7XFxuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XFxuICB9XFxuXFxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cXG4gIGZ1bmN0aW9uIGluaGVyaXRzIChjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XFxuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xcbiAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XFxuICB9XFxuXFxuICAvLyBCTlxcblxcbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcXG4gICAgICByZXR1cm4gbnVtYmVyO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxcbiAgICB0aGlzLnJlZCA9IG51bGw7XFxuXFxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcXG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XFxuICAgICAgICBlbmRpYW4gPSBiYXNlO1xcbiAgICAgICAgYmFzZSA9IDEwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XFxuICAgIH1cXG4gIH1cXG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xcbiAgfSBlbHNlIHtcXG4gICAgZXhwb3J0cy5CTiA9IEJOO1xcbiAgfVxcblxcbiAgQk4uQk4gPSBCTjtcXG4gIEJOLndvcmRTaXplID0gMjY7XFxuXFxuICB2YXIgQnVmZmVyO1xcbiAgdHJ5IHtcXG4gICAgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIDQpLkJ1ZmZlcjtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG5cXG4gIEJOLmlzQk4gPSBmdW5jdGlvbiBpc0JOIChudW0pIHtcXG4gICAgaWYgKG51bSBpbnN0YW5jZW9mIEJOKSB7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bSAhPT0gbnVsbCAmJiB0eXBlb2YgbnVtID09PSAnb2JqZWN0JyAmJlxcbiAgICAgIG51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZSA9PT0gQk4ud29yZFNpemUgJiYgQXJyYXkuaXNBcnJheShudW0ud29yZHMpO1xcbiAgfTtcXG5cXG4gIEJOLm1heCA9IGZ1bmN0aW9uIG1heCAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA+IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ubWluID0gZnVuY3Rpb24gbWluIChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpIDwgMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ251bWJlcicpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdE51bWJlcihudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdvYmplY3QnKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXRBcnJheShudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgYmFzZSA9IDE2O1xcbiAgICB9XFxuICAgIGFzc2VydChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KTtcXG5cXG4gICAgbnVtYmVyID0gbnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxcXHMrL2csICcnKTtcXG4gICAgdmFyIHN0YXJ0ID0gMDtcXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgc3RhcnQrKztcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gMTYpIHtcXG4gICAgICB0aGlzLl9wYXJzZUhleChudW1iZXIsIHN0YXJ0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLl9wYXJzZUJhc2UobnVtYmVyLCBiYXNlLCBzdGFydCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XFxuXFxuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXROdW1iZXIgPSBmdW5jdGlvbiBfaW5pdE51bWJlciAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKG51bWJlciA8IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICBudW1iZXIgPSAtbnVtYmVyO1xcbiAgICB9XFxuICAgIGlmIChudW1iZXIgPCAweDQwMDAwMDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyBudW1iZXIgJiAweDNmZmZmZmYgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChudW1iZXIgPCAweDIwMDAwMDAwMDAwMDAwKTsgLy8gMiBeIDUzICh1bnNhZmUpXFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmLFxcbiAgICAgICAgMVxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAzO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdEFycmF5ID0gZnVuY3Rpb24gX2luaXRBcnJheSAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XFxuICAgIGlmIChudW1iZXIubGVuZ3RoIDw9IDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyAwIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKG51bWJlci5sZW5ndGggLyAzKTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xcbiAgICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSAxLCBqID0gMDsgaSA+PSAwOyBpIC09IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgLSAxXSA8PCA4KSB8IChudW1iZXJbaSAtIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZW5kaWFuID09PSAnbGUnKSB7XFxuICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBudW1iZXIubGVuZ3RoOyBpICs9IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgKyAxXSA8PCA4KSB8IChudW1iZXJbaSArIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBwYXJzZUhleCAoc3RyLCBzdGFydCwgZW5kKSB7XFxuICAgIHZhciByID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgPDw9IDQ7XFxuXFxuICAgICAgLy8gJ2EnIC0gJ2YnXFxuICAgICAgaWYgKGMgPj0gNDkgJiYgYyA8PSA1NCkge1xcbiAgICAgICAgciB8PSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnIC0gJ0YnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3ICYmIGMgPD0gMjIpIHtcXG4gICAgICAgIHIgfD0gYyAtIDE3ICsgMHhhO1xcblxcbiAgICAgIC8vICcwJyAtICc5J1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByIHw9IGMgJiAweGY7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUhleCA9IGZ1bmN0aW9uIF9wYXJzZUhleCAobnVtYmVyLCBzdGFydCkge1xcbiAgICAvLyBDcmVhdGUgcG9zc2libHkgYmlnZ2VyIGFycmF5IHRvIGVuc3VyZSB0aGF0IGl0IGZpdHMgdGhlIG51bWJlclxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbCgobnVtYmVyLmxlbmd0aCAtIHN0YXJ0KSAvIDYpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIC8vIFNjYW4gMjQtYml0IGNodW5rcyBhbmQgYWRkIHRoZW0gdG8gdGhlIG51bWJlclxcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDYsIGogPSAwOyBpID49IHN0YXJ0OyBpIC09IDYpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBpLCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIC8vIE5PVEU6IGAweDNmZmZmZmAgaXMgaW50ZW50aW9uYWwgaGVyZSwgMjZiaXRzIG1heCBzaGlmdCArIDI0Yml0IGhleCBsaW1iXFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICAgIG9mZiArPSAyNDtcXG4gICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICBqKys7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChpICsgNiAhPT0gc3RhcnQpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBzdGFydCwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlQmFzZSAoc3RyLCBzdGFydCwgZW5kLCBtdWwpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciAqPSBtdWw7XFxuXFxuICAgICAgLy8gJ2EnXFxuICAgICAgaWYgKGMgPj0gNDkpIHtcXG4gICAgICAgIHIgKz0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xcbiAgICAgICAgciArPSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgKz0gYztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlQmFzZSA9IGZ1bmN0aW9uIF9wYXJzZUJhc2UgKG51bWJlciwgYmFzZSwgc3RhcnQpIHtcXG4gICAgLy8gSW5pdGlhbGl6ZSBhcyB6ZXJvXFxuICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgdGhpcy5sZW5ndGggPSAxO1xcblxcbiAgICAvLyBGaW5kIGxlbmd0aCBvZiBsaW1iIGluIGJhc2VcXG4gICAgZm9yICh2YXIgbGltYkxlbiA9IDAsIGxpbWJQb3cgPSAxOyBsaW1iUG93IDw9IDB4M2ZmZmZmZjsgbGltYlBvdyAqPSBiYXNlKSB7XFxuICAgICAgbGltYkxlbisrO1xcbiAgICB9XFxuICAgIGxpbWJMZW4tLTtcXG4gICAgbGltYlBvdyA9IChsaW1iUG93IC8gYmFzZSkgfCAwO1xcblxcbiAgICB2YXIgdG90YWwgPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XFxuICAgIHZhciBtb2QgPSB0b3RhbCAlIGxpbWJMZW47XFxuICAgIHZhciBlbmQgPSBNYXRoLm1pbih0b3RhbCwgdG90YWwgLSBtb2QpICsgc3RhcnQ7XFxuXFxuICAgIHZhciB3b3JkID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IGxpbWJMZW4pIHtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgaSArIGxpbWJMZW4sIGJhc2UpO1xcblxcbiAgICAgIHRoaXMuaW11bG4obGltYlBvdyk7XFxuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobW9kICE9PSAwKSB7XFxuICAgICAgdmFyIHBvdyA9IDE7XFxuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIG51bWJlci5sZW5ndGgsIGJhc2UpO1xcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBtb2Q7IGkrKykge1xcbiAgICAgICAgcG93ICo9IGJhc2U7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuaW11bG4ocG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiBjb3B5IChkZXN0KSB7XFxuICAgIGRlc3Qud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBkZXN0LndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBkZXN0Lmxlbmd0aCA9IHRoaXMubGVuZ3RoO1xcbiAgICBkZXN0Lm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcXG4gICAgZGVzdC5yZWQgPSB0aGlzLnJlZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSAoKSB7XFxuICAgIHZhciByID0gbmV3IEJOKG51bGwpO1xcbiAgICB0aGlzLmNvcHkocik7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZXhwYW5kID0gZnVuY3Rpb24gX2V4cGFuZCAoc2l6ZSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBzaXplKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gUmVtb3ZlIGxlYWRpbmcgYDBgIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3RyaXAgPSBmdW5jdGlvbiBzdHJpcCAoKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA+IDEgJiYgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgdGhpcy5sZW5ndGgtLTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX25vcm1TaWduID0gZnVuY3Rpb24gX25vcm1TaWduICgpIHtcXG4gICAgLy8gLTAgPSAwXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLnJlZCA/ICc8Qk4tUjogJyA6ICc8Qk46ICcpICsgdGhpcy50b1N0cmluZygxNikgKyAnPic7XFxuICB9O1xcblxcbiAgLypcXG5cXG4gIHZhciB6ZXJvcyA9IFtdO1xcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXTtcXG4gIHZhciBncm91cEJhc2VzID0gW107XFxuXFxuICB2YXIgcyA9ICcnO1xcbiAgdmFyIGkgPSAtMTtcXG4gIHdoaWxlICgrK2kgPCBCTi53b3JkU2l6ZSkge1xcbiAgICB6ZXJvc1tpXSA9IHM7XFxuICAgIHMgKz0gJzAnO1xcbiAgfVxcbiAgZ3JvdXBTaXplc1swXSA9IDA7XFxuICBncm91cFNpemVzWzFdID0gMDtcXG4gIGdyb3VwQmFzZXNbMF0gPSAwO1xcbiAgZ3JvdXBCYXNlc1sxXSA9IDA7XFxuICB2YXIgYmFzZSA9IDIgLSAxO1xcbiAgd2hpbGUgKCsrYmFzZSA8IDM2ICsgMSkge1xcbiAgICB2YXIgZ3JvdXBTaXplID0gMDtcXG4gICAgdmFyIGdyb3VwQmFzZSA9IDE7XFxuICAgIHdoaWxlIChncm91cEJhc2UgPCAoMSA8PCBCTi53b3JkU2l6ZSkgLyBiYXNlKSB7XFxuICAgICAgZ3JvdXBCYXNlICo9IGJhc2U7XFxuICAgICAgZ3JvdXBTaXplICs9IDE7XFxuICAgIH1cXG4gICAgZ3JvdXBTaXplc1tiYXNlXSA9IGdyb3VwU2l6ZTtcXG4gICAgZ3JvdXBCYXNlc1tiYXNlXSA9IGdyb3VwQmFzZTtcXG4gIH1cXG5cXG4gICovXFxuXFxuICB2YXIgemVyb3MgPSBbXFxuICAgICcnLFxcbiAgICAnMCcsXFxuICAgICcwMCcsXFxuICAgICcwMDAnLFxcbiAgICAnMDAwMCcsXFxuICAgICcwMDAwMCcsXFxuICAgICcwMDAwMDAnLFxcbiAgICAnMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBTaXplcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMjUsIDE2LCAxMiwgMTEsIDEwLCA5LCA4LFxcbiAgICA4LCA3LCA3LCA3LCA3LCA2LCA2LFxcbiAgICA2LCA2LCA2LCA2LCA2LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1XFxuICBdO1xcblxcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDMzNTU0NDMyLCA0MzA0NjcyMSwgMTY3NzcyMTYsIDQ4ODI4MTI1LCA2MDQ2NjE3NiwgNDAzNTM2MDcsIDE2Nzc3MjE2LFxcbiAgICA0MzA0NjcyMSwgMTAwMDAwMDAsIDE5NDg3MTcxLCAzNTgzMTgwOCwgNjI3NDg1MTcsIDc1Mjk1MzYsIDExMzkwNjI1LFxcbiAgICAxNjc3NzIxNiwgMjQxMzc1NjksIDM0MDEyMjI0LCA0NzA0NTg4MSwgNjQwMDAwMDAsIDQwODQxMDEsIDUxNTM2MzIsXFxuICAgIDY0MzYzNDMsIDc5NjI2MjQsIDk3NjU2MjUsIDExODgxMzc2LCAxNDM0ODkwNywgMTcyMTAzNjgsIDIwNTExMTQ5LFxcbiAgICAyNDMwMDAwMCwgMjg2MjkxNTEsIDMzNTU0NDMyLCAzOTEzNTM5MywgNDU0MzU0MjQsIDUyNTIxODc1LCA2MDQ2NjE3NlxcbiAgXTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChiYXNlLCBwYWRkaW5nKSB7XFxuICAgIGJhc2UgPSBiYXNlIHx8IDEwO1xcbiAgICBwYWRkaW5nID0gcGFkZGluZyB8IDAgfHwgMTtcXG5cXG4gICAgdmFyIG91dDtcXG4gICAgaWYgKGJhc2UgPT09IDE2IHx8IGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIG9mZiA9IDA7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICAgIHZhciB3b3JkID0gKCgodyA8PCBvZmYpIHwgY2FycnkpICYgMHhmZmZmZmYpLnRvU3RyaW5nKDE2KTtcXG4gICAgICAgIGNhcnJ5ID0gKHcgPj4+ICgyNCAtIG9mZikpICYgMHhmZmZmZmY7XFxuICAgICAgICBpZiAoY2FycnkgIT09IDAgfHwgaSAhPT0gdGhpcy5sZW5ndGggLSAxKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zWzYgLSB3b3JkLmxlbmd0aF0gKyB3b3JkICsgb3V0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgb3V0ID0gd29yZCArIG91dDtcXG4gICAgICAgIH1cXG4gICAgICAgIG9mZiArPSAyO1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGktLTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSBjYXJyeS50b1N0cmluZygxNikgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KSB7XFxuICAgICAgLy8gdmFyIGdyb3VwU2l6ZSA9IE1hdGguZmxvb3IoQk4ud29yZFNpemUgKiBNYXRoLkxOMiAvIE1hdGgubG9nKGJhc2UpKTtcXG4gICAgICB2YXIgZ3JvdXBTaXplID0gZ3JvdXBTaXplc1tiYXNlXTtcXG4gICAgICAvLyB2YXIgZ3JvdXBCYXNlID0gTWF0aC5wb3coYmFzZSwgZ3JvdXBTaXplKTtcXG4gICAgICB2YXIgZ3JvdXBCYXNlID0gZ3JvdXBCYXNlc1tiYXNlXTtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgYyA9IHRoaXMuY2xvbmUoKTtcXG4gICAgICBjLm5lZ2F0aXZlID0gMDtcXG4gICAgICB3aGlsZSAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgIHZhciByID0gYy5tb2RuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7XFxuICAgICAgICBjID0gYy5pZGl2bihncm91cEJhc2UpO1xcblxcbiAgICAgICAgaWYgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zW2dyb3VwU2l6ZSAtIHIubGVuZ3RoXSArIHIgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSByICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoZmFsc2UsICdCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Jyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvTnVtYmVyID0gZnVuY3Rpb24gdG9OdW1iZXIgKCkge1xcbiAgICB2YXIgcmV0ID0gdGhpcy53b3Jkc1swXTtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAyKSB7XFxuICAgICAgcmV0ICs9IHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDA7XFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPT09IDMgJiYgdGhpcy53b3Jkc1syXSA9PT0gMHgwMSkge1xcbiAgICAgIC8vIE5PVEU6IGF0IHRoaXMgc3RhZ2UgaXQgaXMga25vd24gdGhhdCB0aGUgdG9wIGJpdCBpcyBzZXRcXG4gICAgICByZXQgKz0gMHgxMDAwMDAwMDAwMDAwMCArICh0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwKTtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IDIpIHtcXG4gICAgICBhc3NlcnQoZmFsc2UsICdOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gKHRoaXMubmVnYXRpdmUgIT09IDApID8gLXJldCA6IHJldDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0J1ZmZlciA9IGZ1bmN0aW9uIHRvQnVmZmVyIChlbmRpYW4sIGxlbmd0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpO1xcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIHRvQXJyYXkgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LCBlbmRpYW4sIGxlbmd0aCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQXJyYXlMaWtlID0gZnVuY3Rpb24gdG9BcnJheUxpa2UgKEFycmF5VHlwZSwgZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgdmFyIGJ5dGVMZW5ndGggPSB0aGlzLmJ5dGVMZW5ndGgoKTtcXG4gICAgdmFyIHJlcUxlbmd0aCA9IGxlbmd0aCB8fCBNYXRoLm1heCgxLCBieXRlTGVuZ3RoKTtcXG4gICAgYXNzZXJ0KGJ5dGVMZW5ndGggPD0gcmVxTGVuZ3RoLCAnYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCcpO1xcbiAgICBhc3NlcnQocmVxTGVuZ3RoID4gMCwgJ1JlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCcpO1xcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICAgIHZhciBsaXR0bGVFbmRpYW4gPSBlbmRpYW4gPT09ICdsZSc7XFxuICAgIHZhciByZXMgPSBuZXcgQXJyYXlUeXBlKHJlcUxlbmd0aCk7XFxuXFxuICAgIHZhciBiLCBpO1xcbiAgICB2YXIgcSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgaWYgKCFsaXR0bGVFbmRpYW4pIHtcXG4gICAgICAvLyBBc3N1bWUgYmlnLWVuZGlhblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCByZXFMZW5ndGggLSBieXRlTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7ICFxLmlzWmVybygpOyBpKyspIHtcXG4gICAgICAgIGIgPSBxLmFuZGxuKDB4ZmYpO1xcbiAgICAgICAgcS5pdXNocm4oOCk7XFxuXFxuICAgICAgICByZXNbcmVxTGVuZ3RoIC0gaSAtIDFdID0gYjtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tpXSA9IGI7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoOyBpIDwgcmVxTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgaWYgKE1hdGguY2x6MzIpIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgcmV0dXJuIDMyIC0gTWF0aC5jbHozMih3KTtcXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIEJOLnByb3RvdHlwZS5fY291bnRCaXRzID0gZnVuY3Rpb24gX2NvdW50Qml0cyAodykge1xcbiAgICAgIHZhciB0ID0gdztcXG4gICAgICB2YXIgciA9IDA7XFxuICAgICAgaWYgKHQgPj0gMHgxMDAwKSB7XFxuICAgICAgICByICs9IDEzO1xcbiAgICAgICAgdCA+Pj49IDEzO1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDQwKSB7XFxuICAgICAgICByICs9IDc7XFxuICAgICAgICB0ID4+Pj0gNztcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHg4KSB7XFxuICAgICAgICByICs9IDQ7XFxuICAgICAgICB0ID4+Pj0gNDtcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHgwMikge1xcbiAgICAgICAgciArPSAyO1xcbiAgICAgICAgdCA+Pj49IDI7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiByICsgdDtcXG4gICAgfTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5femVyb0JpdHMgPSBmdW5jdGlvbiBfemVyb0JpdHMgKHcpIHtcXG4gICAgLy8gU2hvcnQtY3V0XFxuICAgIGlmICh3ID09PSAwKSByZXR1cm4gMjY7XFxuXFxuICAgIHZhciB0ID0gdztcXG4gICAgdmFyIHIgPSAwO1xcbiAgICBpZiAoKHQgJiAweDFmZmYpID09PSAwKSB7XFxuICAgICAgciArPSAxMztcXG4gICAgICB0ID4+Pj0gMTM7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHg3ZikgPT09IDApIHtcXG4gICAgICByICs9IDc7XFxuICAgICAgdCA+Pj49IDc7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHhmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNDtcXG4gICAgICB0ID4+Pj0gNDtcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDMpID09PSAwKSB7XFxuICAgICAgciArPSAyO1xcbiAgICAgIHQgPj4+PSAyO1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MSkgPT09IDApIHtcXG4gICAgICByKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG51bWJlciBvZiB1c2VkIGJpdHMgaW4gYSBCTlxcbiAgQk4ucHJvdG90eXBlLmJpdExlbmd0aCA9IGZ1bmN0aW9uIGJpdExlbmd0aCAoKSB7XFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdO1xcbiAgICB2YXIgaGkgPSB0aGlzLl9jb3VudEJpdHModyk7XFxuICAgIHJldHVybiAodGhpcy5sZW5ndGggLSAxKSAqIDI2ICsgaGk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gdG9CaXRBcnJheSAobnVtKSB7XFxuICAgIHZhciB3ID0gbmV3IEFycmF5KG51bS5iaXRMZW5ndGgoKSk7XFxuXFxuICAgIGZvciAodmFyIGJpdCA9IDA7IGJpdCA8IHcubGVuZ3RoOyBiaXQrKykge1xcbiAgICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcXG4gICAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICAgIHdbYml0XSA9IChudW0ud29yZHNbb2ZmXSAmICgxIDw8IHdiaXQpKSA+Pj4gd2JpdDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdztcXG4gIH1cXG5cXG4gIC8vIE51bWJlciBvZiB0cmFpbGluZyB6ZXJvIGJpdHNcXG4gIEJOLnByb3RvdHlwZS56ZXJvQml0cyA9IGZ1bmN0aW9uIHplcm9CaXRzICgpIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiAwO1xcblxcbiAgICB2YXIgciA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBiID0gdGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7XFxuICAgICAgciArPSBiO1xcbiAgICAgIGlmIChiICE9PSAyNikgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmJ5dGVMZW5ndGggPSBmdW5jdGlvbiBieXRlTGVuZ3RoICgpIHtcXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpIC8gOCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvVHdvcyA9IGZ1bmN0aW9uIHRvVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICByZXR1cm4gdGhpcy5hYnMoKS5pbm90bih3aWR0aCkuaWFkZG4oMSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZnJvbVR3b3MgPSBmdW5jdGlvbiBmcm9tVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMudGVzdG4od2lkdGggLSAxKSkge1xcbiAgICAgIHJldHVybiB0aGlzLm5vdG4od2lkdGgpLmlhZGRuKDEpLmluZWcoKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc05lZyA9IGZ1bmN0aW9uIGlzTmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubmVnYXRpdmUgIT09IDA7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5lZygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbmVnID0gZnVuY3Rpb24gaW5lZyAoKSB7XFxuICAgIGlmICghdGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgXj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1b3IgPSBmdW5jdGlvbiBpdW9yIChudW0pIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gfCBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW9yID0gZnVuY3Rpb24gaW9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm9yID0gZnVuY3Rpb24gb3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaW9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51b3IgPSBmdW5jdGlvbiB1b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVhbmQgPSBmdW5jdGlvbiBpdWFuZCAobnVtKSB7XFxuICAgIC8vIGIgPSBtaW4tbGVuZ3RoKG51bSwgdGhpcylcXG4gICAgdmFyIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldICYgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYi5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1YW5kKG51bSk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51YW5kID0gZnVuY3Rpb24gdWFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1eG9yID0gZnVuY3Rpb24gaXV4b3IgKG51bSkge1xcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhO1xcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5peG9yID0gZnVuY3Rpb24gaXhvciAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXhvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnhvciA9IGZ1bmN0aW9uIHhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXhvciA9IGZ1bmN0aW9uIHV4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1eG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBOb3QgYGB0aGlzYGAgd2l0aCBgYHdpZHRoYGAgYml0d2lkdGhcXG4gIEJOLnByb3RvdHlwZS5pbm90biA9IGZ1bmN0aW9uIGlub3RuICh3aWR0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJyAmJiB3aWR0aCA+PSAwKTtcXG5cXG4gICAgdmFyIGJ5dGVzTmVlZGVkID0gTWF0aC5jZWlsKHdpZHRoIC8gMjYpIHwgMDtcXG4gICAgdmFyIGJpdHNMZWZ0ID0gd2lkdGggJSAyNjtcXG5cXG4gICAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgd2l0aCBsZWFkaW5nIHplcm9lc1xcbiAgICB0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO1xcblxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgYnl0ZXNOZWVkZWQtLTtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgY29tcGxldGUgd29yZHNcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlc05lZWRlZDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSB0aGUgcmVzaWR1ZVxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgKDB4M2ZmZmZmZiA+PiAoMjYgLSBiaXRzTGVmdCkpO1xcbiAgICB9XFxuXFxuICAgIC8vIEFuZCByZW1vdmUgbGVhZGluZyB6ZXJvZXNcXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubm90biA9IGZ1bmN0aW9uIG5vdG4gKHdpZHRoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpO1xcbiAgfTtcXG5cXG4gIC8vIFNldCBgYml0YCBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zZXRuID0gZnVuY3Rpb24gc2V0biAoYml0LCB2YWwpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG5cXG4gICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICB0aGlzLl9leHBhbmQob2ZmICsgMSk7XFxuXFxuICAgIGlmICh2YWwpIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gfCAoMSA8PCB3Yml0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gJiB+KDEgPDwgd2JpdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xcbiAgICB2YXIgcjtcXG5cXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAvLyBDb3B5IHRoZSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSB0aGlzLnN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0gZWxzZSBpZiAobnVtLm5lZ2F0aXZlID09PSAwICYmIHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XFxuXFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYWRkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIC10aGlzIC0gbnVtID0gLSh0aGlzICsgbnVtKVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGQobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcXG4gICAgdmFyIGNtcCA9IHRoaXMuY21wKG51bSk7XFxuXFxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBhID4gYlxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKGNtcCA+IDApIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgaWYgKGNhcnJ5ID09PSAwICYmIGkgPCBhLmxlbmd0aCAmJiBhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSk7XFxuXFxuICAgIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHNtYWxsTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIHZhciBsZW4gPSAoc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoKSB8IDA7XFxuICAgIG91dC5sZW5ndGggPSBsZW47XFxuICAgIGxlbiA9IChsZW4gLSAxKSB8IDA7XFxuXFxuICAgIC8vIFBlZWwgb25lIGl0ZXJhdGlvbiAoY29tcGlsZXIgY2FuJ3QgZG8gaXQsIGJlY2F1c2Ugb2YgY29kZSBjb21wbGV4aXR5KVxcbiAgICB2YXIgYSA9IHNlbGYud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgYiA9IG51bS53b3Jkc1swXSB8IDA7XFxuICAgIHZhciByID0gYSAqIGI7XFxuXFxuICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgIHZhciBjYXJyeSA9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgIG91dC53b3Jkc1swXSA9IGxvO1xcblxcbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGxlbjsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGNhcnJ5ID4+PiAyNjtcXG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcXG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XFxuICAgICAgICB2YXIgaSA9IChrIC0gaikgfCAwO1xcbiAgICAgICAgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICByID0gYSAqIGIgKyByd29yZDtcXG4gICAgICAgIG5jYXJyeSArPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgICAgcndvcmQgPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZCB8IDA7XFxuICAgICAgY2FycnkgPSBuY2FycnkgfCAwO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5IHwgMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQubGVuZ3RoLS07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfVxcblxcbiAgLy8gVE9ETyhpbmR1dG55KTogaXQgbWF5IGJlIHJlYXNvbmFibGUgdG8gb21pdCBpdCBmb3IgdXNlcnMgd2hvIGRvbid0IG5lZWRcXG4gIC8vIHRvIHdvcmsgd2l0aCAyNTYtYml0IG51bWJlcnMsIG90aGVyd2lzZSBpdCBnaXZlcyAyMCUgaW1wcm92ZW1lbnQgZm9yIDI1Ni1iaXRcXG4gIC8vIG11bHRpcGxpY2F0aW9uIChsaWtlIGVsbGlwdGljIHNlY3AyNTZrMSkuXFxuICB2YXIgY29tYjEwTXVsVG8gPSBmdW5jdGlvbiBjb21iMTBNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzO1xcbiAgICB2YXIgYiA9IG51bS53b3JkcztcXG4gICAgdmFyIG8gPSBvdXQud29yZHM7XFxuICAgIHZhciBjID0gMDtcXG4gICAgdmFyIGxvO1xcbiAgICB2YXIgbWlkO1xcbiAgICB2YXIgaGk7XFxuICAgIHZhciBhMCA9IGFbMF0gfCAwO1xcbiAgICB2YXIgYWwwID0gYTAgJiAweDFmZmY7XFxuICAgIHZhciBhaDAgPSBhMCA+Pj4gMTM7XFxuICAgIHZhciBhMSA9IGFbMV0gfCAwO1xcbiAgICB2YXIgYWwxID0gYTEgJiAweDFmZmY7XFxuICAgIHZhciBhaDEgPSBhMSA+Pj4gMTM7XFxuICAgIHZhciBhMiA9IGFbMl0gfCAwO1xcbiAgICB2YXIgYWwyID0gYTIgJiAweDFmZmY7XFxuICAgIHZhciBhaDIgPSBhMiA+Pj4gMTM7XFxuICAgIHZhciBhMyA9IGFbM10gfCAwO1xcbiAgICB2YXIgYWwzID0gYTMgJiAweDFmZmY7XFxuICAgIHZhciBhaDMgPSBhMyA+Pj4gMTM7XFxuICAgIHZhciBhNCA9IGFbNF0gfCAwO1xcbiAgICB2YXIgYWw0ID0gYTQgJiAweDFmZmY7XFxuICAgIHZhciBhaDQgPSBhNCA+Pj4gMTM7XFxuICAgIHZhciBhNSA9IGFbNV0gfCAwO1xcbiAgICB2YXIgYWw1ID0gYTUgJiAweDFmZmY7XFxuICAgIHZhciBhaDUgPSBhNSA+Pj4gMTM7XFxuICAgIHZhciBhNiA9IGFbNl0gfCAwO1xcbiAgICB2YXIgYWw2ID0gYTYgJiAweDFmZmY7XFxuICAgIHZhciBhaDYgPSBhNiA+Pj4gMTM7XFxuICAgIHZhciBhNyA9IGFbN10gfCAwO1xcbiAgICB2YXIgYWw3ID0gYTcgJiAweDFmZmY7XFxuICAgIHZhciBhaDcgPSBhNyA+Pj4gMTM7XFxuICAgIHZhciBhOCA9IGFbOF0gfCAwO1xcbiAgICB2YXIgYWw4ID0gYTggJiAweDFmZmY7XFxuICAgIHZhciBhaDggPSBhOCA+Pj4gMTM7XFxuICAgIHZhciBhOSA9IGFbOV0gfCAwO1xcbiAgICB2YXIgYWw5ID0gYTkgJiAweDFmZmY7XFxuICAgIHZhciBhaDkgPSBhOSA+Pj4gMTM7XFxuICAgIHZhciBiMCA9IGJbMF0gfCAwO1xcbiAgICB2YXIgYmwwID0gYjAgJiAweDFmZmY7XFxuICAgIHZhciBiaDAgPSBiMCA+Pj4gMTM7XFxuICAgIHZhciBiMSA9IGJbMV0gfCAwO1xcbiAgICB2YXIgYmwxID0gYjEgJiAweDFmZmY7XFxuICAgIHZhciBiaDEgPSBiMSA+Pj4gMTM7XFxuICAgIHZhciBiMiA9IGJbMl0gfCAwO1xcbiAgICB2YXIgYmwyID0gYjIgJiAweDFmZmY7XFxuICAgIHZhciBiaDIgPSBiMiA+Pj4gMTM7XFxuICAgIHZhciBiMyA9IGJbM10gfCAwO1xcbiAgICB2YXIgYmwzID0gYjMgJiAweDFmZmY7XFxuICAgIHZhciBiaDMgPSBiMyA+Pj4gMTM7XFxuICAgIHZhciBiNCA9IGJbNF0gfCAwO1xcbiAgICB2YXIgYmw0ID0gYjQgJiAweDFmZmY7XFxuICAgIHZhciBiaDQgPSBiNCA+Pj4gMTM7XFxuICAgIHZhciBiNSA9IGJbNV0gfCAwO1xcbiAgICB2YXIgYmw1ID0gYjUgJiAweDFmZmY7XFxuICAgIHZhciBiaDUgPSBiNSA+Pj4gMTM7XFxuICAgIHZhciBiNiA9IGJbNl0gfCAwO1xcbiAgICB2YXIgYmw2ID0gYjYgJiAweDFmZmY7XFxuICAgIHZhciBiaDYgPSBiNiA+Pj4gMTM7XFxuICAgIHZhciBiNyA9IGJbN10gfCAwO1xcbiAgICB2YXIgYmw3ID0gYjcgJiAweDFmZmY7XFxuICAgIHZhciBiaDcgPSBiNyA+Pj4gMTM7XFxuICAgIHZhciBiOCA9IGJbOF0gfCAwO1xcbiAgICB2YXIgYmw4ID0gYjggJiAweDFmZmY7XFxuICAgIHZhciBiaDggPSBiOCA+Pj4gMTM7XFxuICAgIHZhciBiOSA9IGJbOV0gfCAwO1xcbiAgICB2YXIgYmw5ID0gYjkgJiAweDFmZmY7XFxuICAgIHZhciBiaDkgPSBiOSA+Pj4gMTM7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHNlbGYubmVnYXRpdmUgXiBudW0ubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSAxOTtcXG4gICAgLyogayA9IDAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwwLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwwLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDAsIGJoMCk7XFxuICAgIHZhciB3MCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcwID4+PiAyNikpIHwgMDtcXG4gICAgdzAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDEsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDEsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgxKSkgfCAwO1xcbiAgICB2YXIgdzEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwyLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwyLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDIsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgyKSkgfCAwO1xcbiAgICB2YXIgdzIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcyICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwzLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwzLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDMsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDMpKSB8IDA7XFxuICAgIHZhciB3MyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHczID4+PiAyNikpIHwgMDtcXG4gICAgdzMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDQsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDQsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg0KSkgfCAwO1xcbiAgICB2YXIgdzQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc0ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw1LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw1LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDUsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg1KSkgfCAwO1xcbiAgICB2YXIgdzUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NSA+Pj4gMjYpKSB8IDA7XFxuICAgIHc1ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw2LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw2LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDYsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDYpKSB8IDA7XFxuICAgIHZhciB3NiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc2ID4+PiAyNikpIHwgMDtcXG4gICAgdzYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDcsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDcsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg3KSkgfCAwO1xcbiAgICB2YXIgdzcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NyA+Pj4gMjYpKSB8IDA7XFxuICAgIHc3ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw4LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw4LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDgsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg4KSkgfCAwO1xcbiAgICB2YXIgdzggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc4ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDkgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3OSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc5ID4+PiAyNikpIHwgMDtcXG4gICAgdzkgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDEpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDEpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEwID4+PiAyNikpIHwgMDtcXG4gICAgdzEwICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDExICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwyKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgyKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMikpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDIpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTEgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDMpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDMpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTIgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDQpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDQpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEzID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEzID4+PiAyNikpIHwgMDtcXG4gICAgdzEzICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw1KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg1KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDUpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTQgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDYpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDYpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTUgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDcpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDcpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE2ID4+PiAyNikpIHwgMDtcXG4gICAgdzE2ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw4KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg4KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDgpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTcgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDkpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDkpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOSk7XFxuICAgIHZhciB3MTggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTggPj4+IDI2KSkgfCAwO1xcbiAgICB3MTggJj0gMHgzZmZmZmZmO1xcbiAgICBvWzBdID0gdzA7XFxuICAgIG9bMV0gPSB3MTtcXG4gICAgb1syXSA9IHcyO1xcbiAgICBvWzNdID0gdzM7XFxuICAgIG9bNF0gPSB3NDtcXG4gICAgb1s1XSA9IHc1O1xcbiAgICBvWzZdID0gdzY7XFxuICAgIG9bN10gPSB3NztcXG4gICAgb1s4XSA9IHc4O1xcbiAgICBvWzldID0gdzk7XFxuICAgIG9bMTBdID0gdzEwO1xcbiAgICBvWzExXSA9IHcxMTtcXG4gICAgb1sxMl0gPSB3MTI7XFxuICAgIG9bMTNdID0gdzEzO1xcbiAgICBvWzE0XSA9IHcxNDtcXG4gICAgb1sxNV0gPSB3MTU7XFxuICAgIG9bMTZdID0gdzE2O1xcbiAgICBvWzE3XSA9IHcxNztcXG4gICAgb1sxOF0gPSB3MTg7XFxuICAgIGlmIChjICE9PSAwKSB7XFxuICAgICAgb1sxOV0gPSBjO1xcbiAgICAgIG91dC5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gb3V0O1xcbiAgfTtcXG5cXG4gIC8vIFBvbHlmaWxsIGNvbWJcXG4gIGlmICghTWF0aC5pbXVsKSB7XFxuICAgIGNvbWIxME11bFRvID0gc21hbGxNdWxUbztcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGJpZ011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0gc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICB2YXIgaG5jYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb3V0Lmxlbmd0aCAtIDE7IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICAgIGhuY2FycnkgPSAwO1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gayAtIGo7XFxuICAgICAgICB2YXIgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgdmFyIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKChyIC8gMHg0MDAwMDAwKSB8IDApKSB8IDA7XFxuICAgICAgICBsbyA9IChsbyArIHJ3b3JkKSB8IDA7XFxuICAgICAgICByd29yZCA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArIChsbyA+Pj4gMjYpKSB8IDA7XFxuXFxuICAgICAgICBobmNhcnJ5ICs9IG5jYXJyeSA+Pj4gMjY7XFxuICAgICAgICBuY2FycnkgJj0gMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeTtcXG4gICAgICBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgZmZ0bSA9IG5ldyBGRlRNKCk7XFxuICAgIHJldHVybiBmZnRtLm11bHAoc2VsZiwgbnVtLCBvdXQpO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLm11bFRvID0gZnVuY3Rpb24gbXVsVG8gKG51bSwgb3V0KSB7XFxuICAgIHZhciByZXM7XFxuICAgIHZhciBsZW4gPSB0aGlzLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMTAgJiYgbnVtLmxlbmd0aCA9PT0gMTApIHtcXG4gICAgICByZXMgPSBjb21iMTBNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgNjMpIHtcXG4gICAgICByZXMgPSBzbWFsbE11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCAxMDI0KSB7XFxuICAgICAgcmVzID0gYmlnTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29vbGV5LVR1a2V5IGFsZ29yaXRobSBmb3IgRkZUXFxuICAvLyBzbGlnaHRseSByZXZpc2l0ZWQgdG8gcmVseSBvbiBsb29waW5nIGluc3RlYWQgb2YgcmVjdXJzaW9uXFxuXFxuICBmdW5jdGlvbiBGRlRNICh4LCB5KSB7XFxuICAgIHRoaXMueCA9IHg7XFxuICAgIHRoaXMueSA9IHk7XFxuICB9XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tYWtlUkJUID0gZnVuY3Rpb24gbWFrZVJCVCAoTikge1xcbiAgICB2YXIgdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGwgPSBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKSAtIDE7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdFtpXSA9IHRoaXMucmV2QmluKGksIGwsIE4pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0O1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybnMgYmluYXJ5LXJldmVyc2VkIHJlcHJlc2VudGF0aW9uIG9mIGB4YFxcbiAgRkZUTS5wcm90b3R5cGUucmV2QmluID0gZnVuY3Rpb24gcmV2QmluICh4LCBsLCBOKSB7XFxuICAgIGlmICh4ID09PSAwIHx8IHggPT09IE4gLSAxKSByZXR1cm4geDtcXG5cXG4gICAgdmFyIHJiID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcXG4gICAgICByYiB8PSAoeCAmIDEpIDw8IChsIC0gaSAtIDEpO1xcbiAgICAgIHggPj49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJiO1xcbiAgfTtcXG5cXG4gIC8vIFBlcmZvcm1zIFxcXCJ0d2VlZGxpbmdcXFwiIHBoYXNlLCB0aGVyZWZvcmUgJ2VtdWxhdGluZydcXG4gIC8vIGJlaGF2aW91ciBvZiB0aGUgcmVjdXJzaXZlIGFsZ29yaXRobVxcbiAgRkZUTS5wcm90b3R5cGUucGVybXV0ZSA9IGZ1bmN0aW9uIHBlcm11dGUgKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBydHdzW2ldID0gcndzW3JidFtpXV07XFxuICAgICAgaXR3c1tpXSA9IGl3c1tyYnRbaV1dO1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24gdHJhbnNmb3JtIChyd3MsIGl3cywgcnR3cywgaXR3cywgTiwgcmJ0KSB7XFxuICAgIHRoaXMucGVybXV0ZShyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKTtcXG5cXG4gICAgZm9yICh2YXIgcyA9IDE7IHMgPCBOOyBzIDw8PSAxKSB7XFxuICAgICAgdmFyIGwgPSBzIDw8IDE7XFxuXFxuICAgICAgdmFyIHJ0d2RmID0gTWF0aC5jb3MoMiAqIE1hdGguUEkgLyBsKTtcXG4gICAgICB2YXIgaXR3ZGYgPSBNYXRoLnNpbigyICogTWF0aC5QSSAvIGwpO1xcblxcbiAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgTjsgcCArPSBsKSB7XFxuICAgICAgICB2YXIgcnR3ZGZfID0gcnR3ZGY7XFxuICAgICAgICB2YXIgaXR3ZGZfID0gaXR3ZGY7XFxuXFxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHM7IGorKykge1xcbiAgICAgICAgICB2YXIgcmUgPSBydHdzW3AgKyBqXTtcXG4gICAgICAgICAgdmFyIGllID0gaXR3c1twICsgal07XFxuXFxuICAgICAgICAgIHZhciBybyA9IHJ0d3NbcCArIGogKyBzXTtcXG4gICAgICAgICAgdmFyIGlvID0gaXR3c1twICsgaiArIHNdO1xcblxcbiAgICAgICAgICB2YXIgcnggPSBydHdkZl8gKiBybyAtIGl0d2RmXyAqIGlvO1xcblxcbiAgICAgICAgICBpbyA9IHJ0d2RmXyAqIGlvICsgaXR3ZGZfICogcm87XFxuICAgICAgICAgIHJvID0gcng7XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGpdID0gcmUgKyBybztcXG4gICAgICAgICAgaXR3c1twICsgal0gPSBpZSArIGlvO1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqICsgc10gPSByZSAtIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqICsgc10gPSBpZSAtIGlvO1xcblxcbiAgICAgICAgICAvKiBqc2hpbnQgbWF4ZGVwdGggOiBmYWxzZSAqL1xcbiAgICAgICAgICBpZiAoaiAhPT0gbCkge1xcbiAgICAgICAgICAgIHJ4ID0gcnR3ZGYgKiBydHdkZl8gLSBpdHdkZiAqIGl0d2RmXztcXG5cXG4gICAgICAgICAgICBpdHdkZl8gPSBydHdkZiAqIGl0d2RmXyArIGl0d2RmICogcnR3ZGZfO1xcbiAgICAgICAgICAgIHJ0d2RmXyA9IHJ4O1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuZ3Vlc3NMZW4xM2IgPSBmdW5jdGlvbiBndWVzc0xlbjEzYiAobiwgbSkge1xcbiAgICB2YXIgTiA9IE1hdGgubWF4KG0sIG4pIHwgMTtcXG4gICAgdmFyIG9kZCA9IE4gJiAxO1xcbiAgICB2YXIgaSA9IDA7XFxuICAgIGZvciAoTiA9IE4gLyAyIHwgMDsgTjsgTiA9IE4gPj4+IDEpIHtcXG4gICAgICBpKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIDEgPDwgaSArIDEgKyBvZGQ7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29uanVnYXRlID0gZnVuY3Rpb24gY29uanVnYXRlIChyd3MsIGl3cywgTikge1xcbiAgICBpZiAoTiA8PSAxKSByZXR1cm47XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB0ID0gcndzW2ldO1xcblxcbiAgICAgIHJ3c1tpXSA9IHJ3c1tOIC0gaSAtIDFdO1xcbiAgICAgIHJ3c1tOIC0gaSAtIDFdID0gdDtcXG5cXG4gICAgICB0ID0gaXdzW2ldO1xcblxcbiAgICAgIGl3c1tpXSA9IC1pd3NbTiAtIGkgLSAxXTtcXG4gICAgICBpd3NbTiAtIGkgLSAxXSA9IC10O1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubm9ybWFsaXplMTNiID0gZnVuY3Rpb24gbm9ybWFsaXplMTNiICh3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IE1hdGgucm91bmQod3NbMiAqIGkgKyAxXSAvIE4pICogMHgyMDAwICtcXG4gICAgICAgIE1hdGgucm91bmQod3NbMiAqIGldIC8gTikgK1xcbiAgICAgICAgY2Fycnk7XFxuXFxuICAgICAgd3NbaV0gPSB3ICYgMHgzZmZmZmZmO1xcblxcbiAgICAgIGlmICh3IDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICBjYXJyeSA9IDA7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGNhcnJ5ID0gdyAvIDB4NDAwMDAwMCB8IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB3cztcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiID0gZnVuY3Rpb24gY29udmVydDEzYiAod3MsIGxlbiwgcndzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBjYXJyeSA9IGNhcnJ5ICsgKHdzW2ldIHwgMCk7XFxuXFxuICAgICAgcndzWzIgKiBpXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgICByd3NbMiAqIGkgKyAxXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgfVxcblxcbiAgICAvLyBQYWQgd2l0aCB6ZXJvZXNcXG4gICAgZm9yIChpID0gMiAqIGxlbjsgaSA8IE47ICsraSkge1xcbiAgICAgIHJ3c1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAwKTtcXG4gICAgYXNzZXJ0KChjYXJyeSAmIH4weDFmZmYpID09PSAwKTtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5zdHViID0gZnVuY3Rpb24gc3R1YiAoTikge1xcbiAgICB2YXIgcGggPSBuZXcgQXJyYXkoTik7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcGhbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBwaDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tdWxwID0gZnVuY3Rpb24gbXVscCAoeCwgeSwgb3V0KSB7XFxuICAgIHZhciBOID0gMiAqIHRoaXMuZ3Vlc3NMZW4xM2IoeC5sZW5ndGgsIHkubGVuZ3RoKTtcXG5cXG4gICAgdmFyIHJidCA9IHRoaXMubWFrZVJCVChOKTtcXG5cXG4gICAgdmFyIF8gPSB0aGlzLnN0dWIoTik7XFxuXFxuICAgIHZhciByd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciByd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIG5yd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBucndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5pd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgcm13cyA9IG91dC53b3JkcztcXG4gICAgcm13cy5sZW5ndGggPSBOO1xcblxcbiAgICB0aGlzLmNvbnZlcnQxM2IoeC53b3JkcywgeC5sZW5ndGgsIHJ3cywgTik7XFxuICAgIHRoaXMuY29udmVydDEzYih5LndvcmRzLCB5Lmxlbmd0aCwgbnJ3cywgTik7XFxuXFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3cywgXywgcndzdCwgaXdzdCwgTiwgcmJ0KTtcXG4gICAgdGhpcy50cmFuc2Zvcm0obnJ3cywgXywgbnJ3c3QsIG5pd3N0LCBOLCByYnQpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHZhciByeCA9IHJ3c3RbaV0gKiBucndzdFtpXSAtIGl3c3RbaV0gKiBuaXdzdFtpXTtcXG4gICAgICBpd3N0W2ldID0gcndzdFtpXSAqIG5pd3N0W2ldICsgaXdzdFtpXSAqIG5yd3N0W2ldO1xcbiAgICAgIHJ3c3RbaV0gPSByeDtcXG4gICAgfVxcblxcbiAgICB0aGlzLmNvbmp1Z2F0ZShyd3N0LCBpd3N0LCBOKTtcXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzdCwgaXdzdCwgcm13cywgXywgTiwgcmJ0KTtcXG4gICAgdGhpcy5jb25qdWdhdGUocm13cywgXywgTik7XFxuICAgIHRoaXMubm9ybWFsaXplMTNiKHJtd3MsIE4pO1xcblxcbiAgICBvdXQubmVnYXRpdmUgPSB4Lm5lZ2F0aXZlIF4geS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IHgubGVuZ3RoICsgeS5sZW5ndGg7XFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBNdWx0aXBseSBgdGhpc2AgYnkgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKG51bSkge1xcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcXG4gICAgcmV0dXJuIHRoaXMubXVsVG8obnVtLCBvdXQpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGVtcGxveWluZyBGRlRcXG4gIEJOLnByb3RvdHlwZS5tdWxmID0gZnVuY3Rpb24gbXVsZiAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gSW4tcGxhY2UgTXVsdGlwbGljYXRpb25cXG4gIEJOLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkubXVsVG8obnVtLCB0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW11bG4gPSBmdW5jdGlvbiBpbXVsbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcblxcbiAgICAvLyBDYXJyeVxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKiBudW07XFxuICAgICAgdmFyIGxvID0gKHcgJiAweDNmZmZmZmYpICsgKGNhcnJ5ICYgMHgzZmZmZmZmKTtcXG4gICAgICBjYXJyeSA+Pj0gMjY7XFxuICAgICAgY2FycnkgKz0gKHcgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAvLyBOT1RFOiBsbyBpcyAyN2JpdCBtYXhpbXVtXFxuICAgICAgY2FycnkgKz0gbG8gPj4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubXVsbiA9IGZ1bmN0aW9uIG11bG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKG51bSk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubXVsKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIGB0aGlzYCAqIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIC8vIE1hdGgucG93KGB0aGlzYCwgYG51bWApXFxuICBCTi5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChudW0pIHtcXG4gICAgdmFyIHcgPSB0b0JpdEFycmF5KG51bSk7XFxuICAgIGlmICh3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBCTigxKTtcXG5cXG4gICAgLy8gU2tpcCBsZWFkaW5nIHplcm9lc1xcbiAgICB2YXIgcmVzID0gdGhpcztcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3Lmxlbmd0aDsgaSsrLCByZXMgPSByZXMuc3FyKCkpIHtcXG4gICAgICBpZiAod1tpXSAhPT0gMCkgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKCsraSA8IHcubGVuZ3RoKSB7XFxuICAgICAgZm9yICh2YXIgcSA9IHJlcy5zcXIoKTsgaSA8IHcubGVuZ3RoOyBpKyssIHEgPSBxLnNxcigpKSB7XFxuICAgICAgICBpZiAod1tpXSA9PT0gMCkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSByZXMubXVsKHEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnQgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdXNobG4gPSBmdW5jdGlvbiBpdXNobG4gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuICAgIHZhciBjYXJyeU1hc2sgPSAoMHgzZmZmZmZmID4+PiAoMjYgLSByKSkgPDwgKDI2IC0gcik7XFxuICAgIHZhciBpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciBuZXdDYXJyeSA9IHRoaXMud29yZHNbaV0gJiBjYXJyeU1hc2s7XFxuICAgICAgICB2YXIgYyA9ICgodGhpcy53b3Jkc1tpXSB8IDApIC0gbmV3Q2FycnkpIDw8IHI7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYyB8IGNhcnJ5O1xcbiAgICAgICAgY2FycnkgPSBuZXdDYXJyeSA+Pj4gKDI2IC0gcik7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjYXJyeSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHMgIT09IDApIHtcXG4gICAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyBzXSA9IHRoaXMud29yZHNbaV07XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmxlbmd0aCArPSBzO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXFxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcXG4gIC8vIE5PVEU6IGlmIGBleHRlbmRlZGAgaXMgcHJlc2VudCAtIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggZGVzdHJveWVkIGJpdHNcXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIGg7XFxuICAgIGlmIChoaW50KSB7XFxuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaCA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcXG5cXG4gICAgaCAtPSBzO1xcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XFxuXFxuICAgIC8vIEV4dGVuZGVkIG1vZGUsIGNvcHkgbWFza2VkIHBhcnRcXG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIG1hc2tlZFdvcmRzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcXG4gICAgfVxcblxcbiAgICBpZiAocyA9PT0gMCkge1xcbiAgICAgIC8vIE5vLW9wLCB3ZSBzaG91bGQgbm90IG1vdmUgYW55dGhpbmcgYXQgYWxsXFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XFxuICAgICAgdGhpcy5sZW5ndGggLT0gcztcXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDAgJiYgKGNhcnJ5ICE9PSAwIHx8IGkgPj0gaCk7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XFxuICAgICAgY2FycnkgPSB3b3JkICYgbWFzaztcXG4gICAgfVxcblxcbiAgICAvLyBQdXNoIGNhcnJpZWQgYml0cyBhcyBhIG1hc2tcXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaHJuID0gZnVuY3Rpb24gaXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1c2hybihiaXRzLCBoaW50LCBleHRlbmRlZCk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdFxcbiAgQk4ucHJvdG90eXBlLnNobG4gPSBmdW5jdGlvbiBzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaGxuID0gZnVuY3Rpb24gdXNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHRcXG4gIEJOLnByb3RvdHlwZS5zaHJuID0gZnVuY3Rpb24gc2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hybiA9IGZ1bmN0aW9uIHVzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFRlc3QgaWYgbiBiaXQgaXMgc2V0XFxuICBCTi5wcm90b3R5cGUudGVzdG4gPSBmdW5jdGlvbiB0ZXN0biAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykgcmV0dXJuIGZhbHNlO1xcblxcbiAgICAvLyBDaGVjayBiaXQgYW5kIHJldHVyblxcbiAgICB2YXIgdyA9IHRoaXMud29yZHNbc107XFxuXFxuICAgIHJldHVybiAhISh3ICYgcSk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyIChpbi1wbGFjZSlcXG4gIEJOLnByb3RvdHlwZS5pbWFza24gPSBmdW5jdGlvbiBpbWFza24gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAnaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzJyk7XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICBzKys7XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1pbihzLCB0aGlzLmxlbmd0aCk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdICY9IG1hc2s7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5tYXNrbiA9IGZ1bmN0aW9uIG1hc2tuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBwbGFpbiBudW1iZXIgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuaWFkZG4gPSBmdW5jdGlvbiBpYWRkbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaXN1Ym4oLW51bSk7XFxuXFxuICAgIC8vIFBvc3NpYmxlIHNpZ24gY2hhbmdlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmICh0aGlzLndvcmRzWzBdIHwgMCkgPCBudW0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pc3VibihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcXG4gICAgdGhpcy53b3Jkc1swXSArPSBudW07XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA+PSAweDQwMDAwMDA7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdID0gMTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGRuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDYXJyeVxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA8IDA7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hZGRuID0gZnVuY3Rpb24gYWRkbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuc3VibiA9IGZ1bmN0aW9uIHN1Ym4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhYnMgPSBmdW5jdGlvbiBpYWJzICgpIHtcXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hYnMgPSBmdW5jdGlvbiBhYnMgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsID0gZnVuY3Rpb24gX2lzaGxuc3VibXVsIChudW0sIG11bCwgc2hpZnQpIHtcXG4gICAgdmFyIGxlbiA9IG51bS5sZW5ndGggKyBzaGlmdDtcXG4gICAgdmFyIGk7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChsZW4pO1xcblxcbiAgICB2YXIgdztcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICB2YXIgcmlnaHQgPSAobnVtLndvcmRzW2ldIHwgMCkgKiBtdWw7XFxuICAgICAgdyAtPSByaWdodCAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9ICh3ID4+IDI2KSAtICgocmlnaHQgLyAweDQwMDAwMDApIHwgMCk7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICBmb3IgKDsgaSA8IHRoaXMubGVuZ3RoIC0gc2hpZnQ7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgPT09IDApIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIC8vIFN1YnRyYWN0aW9uIG92ZXJmbG93XFxuICAgIGFzc2VydChjYXJyeSA9PT0gLTEpO1xcbiAgICBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9IC0odGhpcy53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fd29yZERpdiA9IGZ1bmN0aW9uIF93b3JkRGl2IChudW0sIG1vZGUpIHtcXG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW07XFxuXFxuICAgIC8vIE5vcm1hbGl6ZVxcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcXG4gICAgc2hpZnQgPSAyNiAtIGJoaUJpdHM7XFxuICAgIGlmIChzaGlmdCAhPT0gMCkge1xcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcXG4gICAgICBhLml1c2hsbihzaGlmdCk7XFxuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgfVxcblxcbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcXG4gICAgdmFyIHE7XFxuXFxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgIHEgPSBuZXcgQk4obnVsbCk7XFxuICAgICAgcS5sZW5ndGggPSBtICsgMTtcXG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XFxuICAgIGlmIChkaWZmLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgYSA9IGRpZmY7XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbbV0gPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcXG4gICAgICAgIChhLndvcmRzW2IubGVuZ3RoICsgaiAtIDFdIHwgMCk7XFxuXFxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcXG4gICAgICAvLyAoMHg3ZmZmZmZmKVxcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XFxuXFxuICAgICAgYS5faXNobG5zdWJtdWwoYiwgcWosIGopO1xcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBxai0tO1xcbiAgICAgICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcXG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xcbiAgICAgICAgICBhLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW2pdID0gcWo7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChxKSB7XFxuICAgICAgcS5zdHJpcCgpO1xcbiAgICB9XFxuICAgIGEuc3RyaXAoKTtcXG5cXG4gICAgLy8gRGVub3JtYWxpemVcXG4gICAgaWYgKG1vZGUgIT09ICdkaXYnICYmIHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYS5pdXNocm4oc2hpZnQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgZGl2OiBxIHx8IG51bGwsXFxuICAgICAgbW9kOiBhXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gTk9URTogMSkgYG1vZGVgIGNhbiBiZSBzZXQgdG8gYG1vZGAgdG8gcmVxdWVzdCBtb2Qgb25seSxcXG4gIC8vICAgICAgIHRvIGBkaXZgIHRvIHJlcXVlc3QgZGl2IG9ubHksIG9yIGJlIGFic2VudCB0b1xcbiAgLy8gICAgICAgcmVxdWVzdCBib3RoIGRpdiAmIG1vZFxcbiAgLy8gICAgICAgMikgYHBvc2l0aXZlYCBpcyB0cnVlIGlmIHVuc2lnbmVkIG1vZCBpcyByZXF1ZXN0ZWRcXG4gIEJOLnByb3RvdHlwZS5kaXZtb2QgPSBmdW5jdGlvbiBkaXZtb2QgKG51bSwgbW9kZSwgcG9zaXRpdmUpIHtcXG4gICAgYXNzZXJ0KCFudW0uaXNaZXJvKCkpO1xcblxcbiAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogbmV3IEJOKDApXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICB2YXIgZGl2LCBtb2QsIHJlcztcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlhZGQobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IHJlcy5tb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICgodGhpcy5uZWdhdGl2ZSAmIG51bS5uZWdhdGl2ZSkgIT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlzdWIobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogcmVzLmRpdixcXG4gICAgICAgIG1vZDogbW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICAvLyBCb3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlIGF0IHRoaXMgcG9pbnRcXG5cXG4gICAgLy8gU3RyaXAgYm90aCBudW1iZXJzIHRvIGFwcHJveGltYXRlIHNoaWZ0IHZhbHVlXFxuICAgIGlmIChudW0ubGVuZ3RoID4gdGhpcy5sZW5ndGggfHwgdGhpcy5jbXAobnVtKSA8IDApIHtcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXFxuICAgICAgICBtb2Q6IHRoaXNcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIFZlcnkgc2hvcnQgcmVkdWN0aW9uXFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAxKSB7XFxuICAgICAgaWYgKG1vZGUgPT09ICdkaXYnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgICBtb2Q6IG51bGxcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlID09PSAnbW9kJykge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgZGl2OiBudWxsLFxcbiAgICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fd29yZERpdihudW0sIG1vZGUpO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgIC8gYG51bWBcXG4gIEJOLnByb3RvdHlwZS5kaXYgPSBmdW5jdGlvbiBkaXYgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnZGl2JywgZmFsc2UpLmRpdjtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAlIGBudW1gXFxuICBCTi5wcm90b3R5cGUubW9kID0gZnVuY3Rpb24gbW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIGZhbHNlKS5tb2Q7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVtb2QgPSBmdW5jdGlvbiB1bW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIHRydWUpLm1vZDtcXG4gIH07XFxuXFxuICAvLyBGaW5kIFJvdW5kKGB0aGlzYCAvIGBudW1gKVxcbiAgQk4ucHJvdG90eXBlLmRpdlJvdW5kID0gZnVuY3Rpb24gZGl2Um91bmQgKG51bSkge1xcbiAgICB2YXIgZG0gPSB0aGlzLmRpdm1vZChudW0pO1xcblxcbiAgICAvLyBGYXN0IGNhc2UgLSBleGFjdCBkaXZpc2lvblxcbiAgICBpZiAoZG0ubW9kLmlzWmVybygpKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICB2YXIgbW9kID0gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0ubW9kLmlzdWIobnVtKSA6IGRtLm1vZDtcXG5cXG4gICAgdmFyIGhhbGYgPSBudW0udXNocm4oMSk7XFxuICAgIHZhciByMiA9IG51bS5hbmRsbigxKTtcXG4gICAgdmFyIGNtcCA9IG1vZC5jbXAoaGFsZik7XFxuXFxuICAgIC8vIFJvdW5kIGRvd25cXG4gICAgaWYgKGNtcCA8IDAgfHwgcjIgPT09IDEgJiYgY21wID09PSAwKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICAvLyBSb3VuZCB1cFxcbiAgICByZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0uZGl2LmlzdWJuKDEpIDogZG0uZGl2LmlhZGRuKDEpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tb2RuID0gZnVuY3Rpb24gbW9kbiAobnVtKSB7XFxuICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmKTtcXG4gICAgdmFyIHAgPSAoMSA8PCAyNikgJSBudW07XFxuXFxuICAgIHZhciBhY2MgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIGFjYyA9IChwICogYWNjICsgKHRoaXMud29yZHNbaV0gfCAwKSkgJSBudW07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGFjYztcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5pZGl2biA9IGZ1bmN0aW9uIGlkaXZuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5ICogMHg0MDAwMDAwO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAodyAvIG51bSkgfCAwO1xcbiAgICAgIGNhcnJ5ID0gdyAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5kaXZuID0gZnVuY3Rpb24gZGl2biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWRpdm4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZWdjZCA9IGZ1bmN0aW9uIGVnY2QgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgeCA9IHRoaXM7XFxuICAgIHZhciB5ID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoeC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHggPSB4LnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgeCA9IHguY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICAvLyBBICogeCArIEIgKiB5ID0geFxcbiAgICB2YXIgQSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIEIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIC8vIEMgKiB4ICsgRCAqIHkgPSB5XFxuICAgIHZhciBDID0gbmV3IEJOKDApO1xcbiAgICB2YXIgRCA9IG5ldyBCTigxKTtcXG5cXG4gICAgdmFyIGcgPSAwO1xcblxcbiAgICB3aGlsZSAoeC5pc0V2ZW4oKSAmJiB5LmlzRXZlbigpKSB7XFxuICAgICAgeC5pdXNocm4oMSk7XFxuICAgICAgeS5pdXNocm4oMSk7XFxuICAgICAgKytnO1xcbiAgICB9XFxuXFxuICAgIHZhciB5cCA9IHkuY2xvbmUoKTtcXG4gICAgdmFyIHhwID0geC5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoIXguaXNaZXJvKCkpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoeC53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgeC5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQS5pc09kZCgpIHx8IEIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEEuaWFkZCh5cCk7XFxuICAgICAgICAgICAgQi5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBBLml1c2hybigxKTtcXG4gICAgICAgICAgQi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7ICh5LndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICB5Lml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChDLmlzT2RkKCkgfHwgRC5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQy5pYWRkKHlwKTtcXG4gICAgICAgICAgICBELmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEMuaXVzaHJuKDEpO1xcbiAgICAgICAgICBELml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHguY21wKHkpID49IDApIHtcXG4gICAgICAgIHguaXN1Yih5KTtcXG4gICAgICAgIEEuaXN1YihDKTtcXG4gICAgICAgIEIuaXN1YihEKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgeS5pc3ViKHgpO1xcbiAgICAgICAgQy5pc3ViKEEpO1xcbiAgICAgICAgRC5pc3ViKEIpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4ge1xcbiAgICAgIGE6IEMsXFxuICAgICAgYjogRCxcXG4gICAgICBnY2Q6IHkuaXVzaGxuKGcpXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gVGhpcyBpcyByZWR1Y2VkIGluY2FybmF0aW9uIG9mIHRoZSBiaW5hcnkgRUVBXFxuICAvLyBhYm92ZSwgZGVzaWduYXRlZCB0byBpbnZlcnQgbWVtYmVycyBvZiB0aGVcXG4gIC8vIF9wcmltZV8gZmllbGRzIEYocCkgYXQgYSBtYXhpbWFsIHNwZWVkXFxuICBCTi5wcm90b3R5cGUuX2ludm1wID0gZnVuY3Rpb24gX2ludm1wIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzO1xcbiAgICB2YXIgYiA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBhID0gYS51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHgxID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgeDIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIHZhciBkZWx0YSA9IGIuY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKGEuY21wbigxKSA+IDAgJiYgYi5jbXBuKDEpID4gMCkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7IChhLndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICBhLml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4MS5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDEuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDEuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoYi53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgYi5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgyLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgyLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGEuY21wKGIpID49IDApIHtcXG4gICAgICAgIGEuaXN1YihiKTtcXG4gICAgICAgIHgxLmlzdWIoeDIpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBiLmlzdWIoYSk7XFxuICAgICAgICB4Mi5pc3ViKHgxKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKGEuY21wbigxKSA9PT0gMCkge1xcbiAgICAgIHJlcyA9IHgxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IHgyO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZChwKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5nY2QgPSBmdW5jdGlvbiBnY2QgKG51bSkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIG51bS5hYnMoKTtcXG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIHRoaXMuYWJzKCk7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bS5jbG9uZSgpO1xcbiAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgYi5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIC8vIFJlbW92ZSBjb21tb24gZmFjdG9yIG9mIHR3b1xcbiAgICBmb3IgKHZhciBzaGlmdCA9IDA7IGEuaXNFdmVuKCkgJiYgYi5pc0V2ZW4oKTsgc2hpZnQrKykge1xcbiAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICB9XFxuXFxuICAgIGRvIHtcXG4gICAgICB3aGlsZSAoYS5pc0V2ZW4oKSkge1xcbiAgICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChiLmlzRXZlbigpKSB7XFxuICAgICAgICBiLml1c2hybigxKTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIHIgPSBhLmNtcChiKTtcXG4gICAgICBpZiAociA8IDApIHtcXG4gICAgICAgIC8vIFN3YXAgYGFgIGFuZCBgYmAgdG8gbWFrZSBgYWAgYWx3YXlzIGJpZ2dlciB0aGFuIGBiYFxcbiAgICAgICAgdmFyIHQgPSBhO1xcbiAgICAgICAgYSA9IGI7XFxuICAgICAgICBiID0gdDtcXG4gICAgICB9IGVsc2UgaWYgKHIgPT09IDAgfHwgYi5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgYS5pc3ViKGIpO1xcbiAgICB9IHdoaWxlICh0cnVlKTtcXG5cXG4gICAgcmV0dXJuIGIuaXVzaGxuKHNoaWZ0KTtcXG4gIH07XFxuXFxuICAvLyBJbnZlcnQgbnVtYmVyIGluIHRoZSBmaWVsZCBGKG51bSlcXG4gIEJOLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmVnY2QobnVtKS5hLnVtb2QobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNFdmVuID0gZnVuY3Rpb24gaXNFdmVuICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzT2RkID0gZnVuY3Rpb24gaXNPZGQgKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMTtcXG4gIH07XFxuXFxuICAvLyBBbmQgZmlyc3Qgd29yZCBhbmQgbnVtXFxuICBCTi5wcm90b3R5cGUuYW5kbG4gPSBmdW5jdGlvbiBhbmRsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLndvcmRzWzBdICYgbnVtO1xcbiAgfTtcXG5cXG4gIC8vIEluY3JlbWVudCBhdCB0aGUgYml0IHBvc2l0aW9uIGluLWxpbmVcXG4gIEJOLnByb3RvdHlwZS5iaW5jbiA9IGZ1bmN0aW9uIGJpbmNuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgdGhpcy5fZXhwYW5kKHMgKyAxKTtcXG4gICAgICB0aGlzLndvcmRzW3NdIHw9IHE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIGJpdCBhbmQgcHJvcGFnYXRlLCBpZiBuZWVkZWRcXG4gICAgdmFyIGNhcnJ5ID0gcTtcXG4gICAgZm9yICh2YXIgaSA9IHM7IGNhcnJ5ICE9PSAwICYmIGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB3ICs9IGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+Pj4gMjY7XFxuICAgICAgdyAmPSAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHc7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzWmVybyA9IGZ1bmN0aW9uIGlzWmVybyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbXBuID0gZnVuY3Rpb24gY21wbiAobnVtKSB7XFxuICAgIHZhciBuZWdhdGl2ZSA9IG51bSA8IDA7XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmICFuZWdhdGl2ZSkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBuZWdhdGl2ZSkgcmV0dXJuIDE7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gMSkge1xcbiAgICAgIHJlcyA9IDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKG5lZ2F0aXZlKSB7XFxuICAgICAgICBudW0gPSAtbnVtO1xcbiAgICAgIH1cXG5cXG4gICAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZiwgJ051bWJlciBpcyB0b28gYmlnJyk7XFxuXFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzWzBdIHwgMDtcXG4gICAgICByZXMgPSB3ID09PSBudW0gPyAwIDogdyA8IG51bSA/IC0xIDogMTtcXG4gICAgfVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvbXBhcmUgdHdvIG51bWJlcnMgYW5kIHJldHVybjpcXG4gIC8vIDEgLSBpZiBgdGhpc2AgPiBgbnVtYFxcbiAgLy8gMCAtIGlmIGB0aGlzYCA9PSBgbnVtYFxcbiAgLy8gLTEgLSBpZiBgdGhpc2AgPCBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmNtcCA9IGZ1bmN0aW9uIGNtcCAobnVtKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHJldHVybiAxO1xcblxcbiAgICB2YXIgcmVzID0gdGhpcy51Y21wKG51bSk7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gVW5zaWduZWQgY29tcGFyaXNvblxcbiAgQk4ucHJvdG90eXBlLnVjbXAgPSBmdW5jdGlvbiB1Y21wIChudW0pIHtcXG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgaGF2ZSB0aGUgc2FtZSBzaWduXFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiAxO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSByZXR1cm4gLTE7XFxuXFxuICAgIHZhciByZXMgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciBhID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdmFyIGIgPSBudW0ud29yZHNbaV0gfCAwO1xcblxcbiAgICAgIGlmIChhID09PSBiKSBjb250aW51ZTtcXG4gICAgICBpZiAoYSA8IGIpIHtcXG4gICAgICAgIHJlcyA9IC0xO1xcbiAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcXG4gICAgICAgIHJlcyA9IDE7XFxuICAgICAgfVxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0biA9IGZ1bmN0aW9uIGd0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3QgPSBmdW5jdGlvbiBndCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGVuID0gZnVuY3Rpb24gZ3RlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGUgPSBmdW5jdGlvbiBndGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdG4gPSBmdW5jdGlvbiBsdG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdCA9IGZ1bmN0aW9uIGx0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGVuID0gZnVuY3Rpb24gbHRlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGUgPSBmdW5jdGlvbiBsdGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lcW4gPSBmdW5jdGlvbiBlcW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQSByZWR1Y2UgY29udGV4dCwgY291bGQgYmUgdXNpbmcgbW9udGdvbWVyeSBvciBzb21ldGhpbmcgYmV0dGVyLCBkZXBlbmRpbmdcXG4gIC8vIG9uIHRoZSBgbWAgaXRzZWxmLlxcbiAgLy9cXG4gIEJOLnJlZCA9IGZ1bmN0aW9uIHJlZCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgUmVkKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvUmVkID0gZnVuY3Rpb24gdG9SZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIHJldHVybiBjdHguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tUmVkID0gZnVuY3Rpb24gZnJvbVJlZCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ2Zyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZm9yY2VSZWQgPSBmdW5jdGlvbiBfZm9yY2VSZWQgKGN0eCkge1xcbiAgICB0aGlzLnJlZCA9IGN0eDtcXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZvcmNlUmVkID0gZnVuY3Rpb24gZm9yY2VSZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5fZm9yY2VSZWQoY3R4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkQWRkID0gZnVuY3Rpb24gcmVkQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElBZGQgPSBmdW5jdGlvbiByZWRJQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3ViID0gZnVuY3Rpb24gcmVkU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElTdWIgPSBmdW5jdGlvbiByZWRJU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU2hsID0gZnVuY3Rpb24gcmVkU2hsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZE11bCA9IGZ1bmN0aW9uIHJlZE11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJTXVsID0gZnVuY3Rpb24gcmVkSU11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmltdWwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3FyID0gZnVuY3Rpb24gcmVkU3FyICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVNxciA9IGZ1bmN0aW9uIHJlZElTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3F1YXJlIHJvb3Qgb3ZlciBwXFxuICBCTi5wcm90b3R5cGUucmVkU3FydCA9IGZ1bmN0aW9uIHJlZFNxcnQgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcnQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZEludm0gPSBmdW5jdGlvbiByZWRJbnZtICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2AgJSBgcmVkIG1vZHVsb2BcXG4gIEJOLnByb3RvdHlwZS5yZWROZWcgPSBmdW5jdGlvbiByZWROZWcgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubmVnKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRQb3cgPSBmdW5jdGlvbiByZWRQb3cgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQgJiYgIW51bS5yZWQsICdyZWRQb3cobm9ybWFsTnVtKScpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnBvdyh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFByaW1lIG51bWJlcnMgd2l0aCBlZmZpY2llbnQgcmVkdWN0aW9uXFxuICB2YXIgcHJpbWVzID0ge1xcbiAgICBrMjU2OiBudWxsLFxcbiAgICBwMjI0OiBudWxsLFxcbiAgICBwMTkyOiBudWxsLFxcbiAgICBwMjU1MTk6IG51bGxcXG4gIH07XFxuXFxuICAvLyBQc2V1ZG8tTWVyc2VubmUgcHJpbWVcXG4gIGZ1bmN0aW9uIE1QcmltZSAobmFtZSwgcCkge1xcbiAgICAvLyBQID0gMiBeIE4gLSBLXFxuICAgIHRoaXMubmFtZSA9IG5hbWU7XFxuICAgIHRoaXMucCA9IG5ldyBCTihwLCAxNik7XFxuICAgIHRoaXMubiA9IHRoaXMucC5iaXRMZW5ndGgoKTtcXG4gICAgdGhpcy5rID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKTtcXG5cXG4gICAgdGhpcy50bXAgPSB0aGlzLl90bXAoKTtcXG4gIH1cXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuX3RtcCA9IGZ1bmN0aW9uIF90bXAgKCkge1xcbiAgICB2YXIgdG1wID0gbmV3IEJOKG51bGwpO1xcbiAgICB0bXAud29yZHMgPSBuZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubiAvIDEzKSk7XFxuICAgIHJldHVybiB0bXA7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pcmVkdWNlID0gZnVuY3Rpb24gaXJlZHVjZSAobnVtKSB7XFxuICAgIC8vIEFzc3VtZXMgdGhhdCBgbnVtYCBpcyBsZXNzIHRoYW4gYFBeMmBcXG4gICAgLy8gbnVtID0gSEkgKiAoMiBeIE4gLSBLKSArIEhJICogSyArIExPID0gSEkgKiBLICsgTE8gKG1vZCBQKVxcbiAgICB2YXIgciA9IG51bTtcXG4gICAgdmFyIHJsZW47XFxuXFxuICAgIGRvIHtcXG4gICAgICB0aGlzLnNwbGl0KHIsIHRoaXMudG1wKTtcXG4gICAgICByID0gdGhpcy5pbXVsSyhyKTtcXG4gICAgICByID0gci5pYWRkKHRoaXMudG1wKTtcXG4gICAgICBybGVuID0gci5iaXRMZW5ndGgoKTtcXG4gICAgfSB3aGlsZSAocmxlbiA+IHRoaXMubik7XFxuXFxuICAgIHZhciBjbXAgPSBybGVuIDwgdGhpcy5uID8gLTEgOiByLnVjbXAodGhpcy5wKTtcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHIud29yZHNbMF0gPSAwO1xcbiAgICAgIHIubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChjbXAgPiAwKSB7XFxuICAgICAgci5pc3ViKHRoaXMucCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgci5zdHJpcCgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIHJldHVybiBudW0uaW11bCh0aGlzLmspO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIEsyNTYgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdrMjU2JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKEsyNTYsIE1QcmltZSk7XFxuXFxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XFxuICAgIC8vIDI1NiA9IDkgKiAyNiArIDIyXFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XFxuXFxuICAgIHZhciBvdXRMZW4gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIDkpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XFxuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XFxuICAgIH1cXG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcXG5cXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8PSA5KSB7XFxuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIFNoaWZ0IGJ5IDkgbGltYnNcXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcXG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcXG5cXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xcbiAgICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSAoKG5leHQgJiBtYXNrKSA8PCA0KSB8IChwcmV2ID4+PiAyMik7XFxuICAgICAgcHJldiA9IG5leHQ7XFxuICAgIH1cXG4gICAgcHJldiA+Pj49IDIyO1xcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcXG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gMTA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XFxuICAgIH1cXG4gIH07XFxuXFxuICBLMjU2LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoICsgMV0gPSAwO1xcbiAgICBudW0ubGVuZ3RoICs9IDI7XFxuXFxuICAgIC8vIGJvdW5kZWQgYXQ6IDB4NDAgKiAweDNmZmZmZmYgKyAweDNkMCA9IDB4MTAwMDAwMzkwXFxuICAgIHZhciBsbyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBudW0ud29yZHNbaV0gfCAwO1xcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcXG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICBsbyA9IHcgKiAweDQwICsgKChsbyAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgfVxcblxcbiAgICAvLyBGYXN0IGxlbmd0aCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBQMjI0ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDIyNCcsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDE5MiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AxOTInLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDE5MiwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XFxuICAgIC8vIDIgXiAyNTUgLSAxOVxcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICcyNTUxOScsXFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyNTUxOSwgTVByaW1lKTtcXG5cXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEzXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGhpID0gKG51bS53b3Jkc1tpXSB8IDApICogMHgxMyArIGNhcnJ5O1xcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xcbiAgICAgIGhpID4+Pj0gMjY7XFxuXFxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XFxuICAgICAgY2FycnkgPSBoaTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xcbiAgICAvLyBDYWNoZWQgdmVyc2lvbiBvZiBwcmltZVxcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xcblxcbiAgICB2YXIgcHJpbWU7XFxuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyMjQnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xcbiAgICAgIHByaW1lID0gbmV3IFAxOTIoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XFxuICAgIH1cXG4gICAgcHJpbWVzW25hbWVdID0gcHJpbWU7XFxuXFxuICAgIHJldHVybiBwcmltZTtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQmFzZSByZWR1Y3Rpb24gZW5naW5lXFxuICAvL1xcbiAgZnVuY3Rpb24gUmVkIChtKSB7XFxuICAgIGlmICh0eXBlb2YgbSA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XFxuICAgICAgdGhpcy5tID0gcHJpbWUucDtcXG4gICAgICB0aGlzLnByaW1lID0gcHJpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XFxuICAgICAgdGhpcy5tID0gbTtcXG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XFxuICAgIGFzc2VydChhLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCAmJiBhLnJlZCA9PT0gYi5yZWQsXFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XFxuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG4gICAgcmV0dXJuIGEudW1vZCh0aGlzLm0pLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5zdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTEoYSk7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwoYSwgYS5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XFxuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZVxcbiAgICBpZiAobW9kMyA9PT0gMykge1xcbiAgICAgIHZhciBwb3cgPSB0aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO1xcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xcbiAgICB9XFxuXFxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcXG4gICAgLy9cXG4gICAgLy8gRmluZCBRIGFuZCBTLCB0aGF0IFEgKiAyIF4gUyA9IChQIC0gMSlcXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcXG4gICAgdmFyIHMgPSAwO1xcbiAgICB3aGlsZSAoIXEuaXNaZXJvKCkgJiYgcS5hbmRsbigxKSA9PT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgICBxLml1c2hybigxKTtcXG4gICAgfVxcbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgb25lID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcXG5cXG4gICAgLy8gRmluZCBxdWFkcmF0aWMgbm9uLXJlc2lkdWVcXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXFxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xcbiAgICB2YXIgeiA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xcblxcbiAgICB3aGlsZSAodGhpcy5wb3coeiwgbHBvdykuY21wKG5PbmUpICE9PSAwKSB7XFxuICAgICAgei5yZWRJQWRkKG5PbmUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XFxuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XFxuICAgIHZhciB0ID0gdGhpcy5wb3coYSwgcSk7XFxuICAgIHZhciBtID0gcztcXG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcXG4gICAgICB2YXIgdG1wID0gdDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcXG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcXG4gICAgICB9XFxuICAgICAgYXNzZXJ0KGkgPCBtKTtcXG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XFxuXFxuICAgICAgciA9IHIucmVkTXVsKGIpO1xcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xcbiAgICAgIHQgPSB0LnJlZE11bChjKTtcXG4gICAgICBtID0gaTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xcbiAgICBpZiAoaW52Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciB3aW5kb3dTaXplID0gNDtcXG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHduZFsxXSA9IGE7XFxuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcyA9IHduZFswXTtcXG4gICAgdmFyIGN1cnJlbnQgPSAwO1xcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XFxuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xcbiAgICBpZiAoc3RhcnQgPT09IDApIHtcXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xcbiAgICAgIGZvciAodmFyIGogPSBzdGFydCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XFxuICAgICAgICAgIHJlcyA9IHRoaXMuc3FyKHJlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoYml0ID09PSAwICYmIGN1cnJlbnQgPT09IDApIHtcXG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY3VycmVudCA8PD0gMTtcXG4gICAgICAgIGN1cnJlbnQgfD0gYml0O1xcbiAgICAgICAgY3VycmVudExlbisrO1xcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xcbiAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICBjdXJyZW50ID0gMDtcXG4gICAgICB9XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgdmFyIHIgPSBudW0udW1vZCh0aGlzLm0pO1xcblxcbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgcmVzID0gbnVtLmNsb25lKCk7XFxuICAgIHJlcy5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBNb250Z29tZXJ5IG1ldGhvZCBlbmdpbmVcXG4gIC8vXFxuXFxuICBCTi5tb250ID0gZnVuY3Rpb24gbW9udCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcXG4gICAgUmVkLmNhbGwodGhpcywgbSk7XFxuXFxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcXG4gICAgICB0aGlzLnNoaWZ0ICs9IDI2IC0gKHRoaXMuc2hpZnQgJSAyNik7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5yID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTtcXG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XFxuXFxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5yLnN1Yih0aGlzLm1pbnYpO1xcbiAgfVxcbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHIgPSB0aGlzLmltb2QobnVtLm11bCh0aGlzLnJpbnYpKTtcXG4gICAgci5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSB7XFxuICAgICAgYS53b3Jkc1swXSA9IDA7XFxuICAgICAgYS5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiBhO1xcbiAgICB9XFxuXFxuICAgIHZhciB0ID0gYS5pbXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcblxcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgdmFyIHQgPSBhLm11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXFxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxufSkoIGZhbHNlIHx8IG1vZHVsZSwgdGhpcyk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vd2VicGFjay9idWlsZGluL21vZHVsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1xcXCIpKG1vZHVsZSkpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5a2FXWm1hV1V0YUdWc2JHMWhiaTl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6UHpVMllqa2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMR1ZCUVZFN1FVRkROMElzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEhkRFFVRjNRenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eFJRVUZSTzBGQlEyaEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUWtGQmQwSXNiVUpCUVcxQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UTBGQmMwTXNXVUZCV1R0QlFVTnNSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVE8wRkJRMmhET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHM3UVVGRlFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYzBOQlFYTkRMSE5DUVVGelFqdEJRVU0xUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3gxUWtGQmRVSXNVMEZCVXp0QlFVTm9RenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTERSQ1FVRTBRanRCUVVNM1F6dEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeGhRVUZoTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNXVUZCV1N4bFFVRmxPMEZCUXpOQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxIRkNRVUZ4UWl4blFrRkJaMEk3UVVGRGNrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN3MlFrRkJOa0k3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHZSRUZCYjBRc1YwRkJWenRCUVVNdlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXh2UWtGQmIwSTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFBRVUZQTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1IwRkJSenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWpzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3TzBGQlJVRXNhME5CUVd0RE8wRkJRMnhETEhORFFVRnpRenRCUVVOMFF6czdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeFBRVUZQTzBGQlF6VkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzWTBGQll6dEJRVU16UXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNLMEpCUVN0Q0xGRkJRVkU3UVVGRGRrTTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNUMEZCVHp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzYVVKQlFXbENMR2xDUVVGcFFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEN0RFFVRXJRenRCUVVOc1JUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4eFFrRkJjVUlzYzBOQlFYTkRPMEZCUXpORU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3huUWtGQlowSTdRVUZETDBJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN4NVFrRkJlVUk3UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3hwUWtGQmFVSTdRVUZEYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMR05CUVdNN1FVRkRia003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF5eFJRVUZSTzBGQlEzcERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVFrRkJkVUlzTUVKQlFUQkNPMEZCUTJwRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3TzBGQlJVdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhuUTBGQlowTTdRVUZEYmtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeFpRVUZaTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4blFrRkJaMElzYTBKQlFXdENPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeG5Ra0ZCWjBJN1FVRkRia003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNiMEpCUVc5Q08wRkJRM3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNORUpCUVRSQ0xGRkJRVkU3UVVGRGNFTTdRVUZEUVN3MlFrRkJOa0lzVVVGQlVUdEJRVU55UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGTEUxQlFUWkNJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyUnBabVpwWlMxb1pXeHNiV0Z1TDI1dlpHVmZiVzlrZFd4bGN5OWliaTVxY3k5c2FXSXZZbTR1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUlvWm5WdVkzUnBiMjRnS0cxdlpIVnNaU3dnWlhod2IzSjBjeWtnZTF4dUlDQW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpQWdMeThnVlhScGJITmNiaUFnWm5WdVkzUnBiMjRnWVhOelpYSjBJQ2gyWVd3c0lHMXpaeWtnZTF4dUlDQWdJR2xtSUNnaGRtRnNLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9iWE5uSUh4OElDZEJjM05sY25ScGIyNGdabUZwYkdWa0p5azdYRzRnSUgxY2JseHVJQ0F2THlCRGIzVnNaQ0IxYzJVZ1lHbHVhR1Z5YVhSellDQnRiMlIxYkdVc0lHSjFkQ0JrYjI0bmRDQjNZVzUwSUhSdklHMXZkbVVnWm5KdmJTQnphVzVuYkdVZ1ptbHNaVnh1SUNBdkx5QmhjbU5vYVhSbFkzUjFjbVVnZVdWMExseHVJQ0JtZFc1amRHbHZiaUJwYm1obGNtbDBjeUFvWTNSdmNpd2djM1Z3WlhKRGRHOXlLU0I3WEc0Z0lDQWdZM1J2Y2k1emRYQmxjbDhnUFNCemRYQmxja04wYjNJN1hHNGdJQ0FnZG1GeUlGUmxiWEJEZEc5eUlEMGdablZ1WTNScGIyNGdLQ2tnZTMwN1hHNGdJQ0FnVkdWdGNFTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ2MzVndaWEpEZEc5eUxuQnliM1J2ZEhsd1pUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaU0E5SUc1bGR5QlVaVzF3UTNSdmNpZ3BPMXh1SUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsTG1OdmJuTjBjblZqZEc5eUlEMGdZM1J2Y2p0Y2JpQWdmVnh1WEc0Z0lDOHZJRUpPWEc1Y2JpQWdablZ1WTNScGIyNGdRazRnS0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtTQjdYRzRnSUNBZ2FXWWdLRUpPTG1selFrNG9iblZ0WW1WeUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiV0psY2p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnYm5Wc2JEdGNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREE3WEc1Y2JpQWdJQ0F2THlCU1pXUjFZM1JwYjI0Z1kyOXVkR1Y0ZEZ4dUlDQWdJSFJvYVhNdWNtVmtJRDBnYm5Wc2JEdGNibHh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2xtSUNoaVlYTmxJRDA5UFNBbmJHVW5JSHg4SUdKaGMyVWdQVDA5SUNkaVpTY3BJSHRjYmlBZ0lDQWdJQ0FnWlc1a2FXRnVJRDBnWW1GelpUdGNiaUFnSUNBZ0lDQWdZbUZ6WlNBOUlERXdPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxsOXBibWwwS0c1MWJXSmxjaUI4ZkNBd0xDQmlZWE5sSUh4OElERXdMQ0JsYm1ScFlXNGdmSHdnSjJKbEp5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHbG1JQ2gwZVhCbGIyWWdiVzlrZFd4bElEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdRazQ3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWlhod2IzSjBjeTVDVGlBOUlFSk9PMXh1SUNCOVhHNWNiaUFnUWs0dVFrNGdQU0JDVGp0Y2JpQWdRazR1ZDI5eVpGTnBlbVVnUFNBeU5qdGNibHh1SUNCMllYSWdRblZtWm1WeU8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjJKMVptWmxjaWNwTGtKMVptWmxjanRjYmlBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNCOVhHNWNiaUFnUWs0dWFYTkNUaUE5SUdaMWJtTjBhVzl1SUdselFrNGdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaHVkVzBnYVc1emRHRnVZMlZ2WmlCQ1Rpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiU0FoUFQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnYm5WdElEMDlQU0FuYjJKcVpXTjBKeUFtSmx4dUlDQWdJQ0FnYm5WdExtTnZibk4wY25WamRHOXlMbmR2Y21SVGFYcGxJRDA5UFNCQ1RpNTNiM0prVTJsNlpTQW1KaUJCY25KaGVTNXBjMEZ5Y21GNUtHNTFiUzUzYjNKa2N5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWJXRjRJRDBnWm5WdVkzUnBiMjRnYldGNElDaHNaV1owTENCeWFXZG9kQ2tnZTF4dUlDQWdJR2xtSUNoc1pXWjBMbU50Y0NoeWFXZG9kQ2tnUGlBd0tTQnlaWFIxY200Z2JHVm1kRHRjYmlBZ0lDQnlaWFIxY200Z2NtbG5hSFE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHViV2x1SUQwZ1puVnVZM1JwYjI0Z2JXbHVJQ2hzWldaMExDQnlhV2RvZENrZ2UxeHVJQ0FnSUdsbUlDaHNaV1owTG1OdGNDaHlhV2RvZENrZ1BDQXdLU0J5WlhSMWNtNGdiR1ZtZER0Y2JpQWdJQ0J5WlhSMWNtNGdjbWxuYUhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBJRDBnWm5WdVkzUnBiMjRnYVc1cGRDQW9iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1MWJXSmxjaUE5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYm1sMFRuVnRZbVZ5S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNTFiV0psY2lBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5cGJtbDBRWEp5WVhrb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FuYUdWNEp5a2dlMXh1SUNBZ0lDQWdZbUZ6WlNBOUlERTJPMXh1SUNBZ0lIMWNiaUFnSUNCaGMzTmxjblFvWW1GelpTQTlQVDBnS0dKaGMyVWdmQ0F3S1NBbUppQmlZWE5sSUQ0OUlESWdKaVlnWW1GelpTQThQU0F6TmlrN1hHNWNiaUFnSUNCdWRXMWlaWElnUFNCdWRXMWlaWEl1ZEc5VGRISnBibWNvS1M1eVpYQnNZV05sS0M5Y1hITXJMMmNzSUNjbktUdGNiaUFnSUNCMllYSWdjM1JoY25RZ1BTQXdPMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSmJNRjBnUFQwOUlDY3RKeWtnZTF4dUlDQWdJQ0FnYzNSaGNuUXJLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYzNSaGNuUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVSmhjMlVvYm5WdFltVnlMQ0JpWVhObExDQnpkR0Z5ZENrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHNTFiV0psY2xzd1hTQTlQVDBnSnkwbktTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQnBaaUFvWlc1a2FXRnVJQ0U5UFNBbmJHVW5LU0J5WlhSMWNtNDdYRzVjYmlBZ0lDQjBhR2x6TGw5cGJtbDBRWEp5WVhrb2RHaHBjeTUwYjBGeWNtRjVLQ2tzSUdKaGMyVXNJR1Z1WkdsaGJpazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBibWwwVG5WdFltVnlJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUk9kVzFpWlhJZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUE4SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2JuVnRZbVZ5SUQwZ0xXNTFiV0psY2p0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUE4SURCNE5EQXdNREF3TUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnYm5WdFltVnlJQ1lnTUhnelptWm1abVptSUYwN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURFd01EQXdNREF3TURBd01EQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ1cxeHVJQ0FnSUNBZ0lDQnVkVzFpWlhJZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJQ2h1ZFcxaVpYSWdMeUF3ZURRd01EQXdNREFwSUNZZ01IZ3pabVptWm1abVhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F5TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb2JuVnRZbVZ5SUR3Z01IZ3lNREF3TURBd01EQXdNREF3TUNrN0lDOHZJRElnWGlBMU15QW9kVzV6WVdabEtWeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnRjYmlBZ0lDQWdJQ0FnYm5WdFltVnlJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBb2JuVnRZbVZ5SUM4Z01IZzBNREF3TURBd0tTQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnTVZ4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWlc1a2FXRnVJQ0U5UFNBbmJHVW5LU0J5WlhSMWNtNDdYRzVjYmlBZ0lDQXZMeUJTWlhabGNuTmxJSFJvWlNCaWVYUmxjMXh1SUNBZ0lIUm9hWE11WDJsdWFYUkJjbkpoZVNoMGFHbHpMblJ2UVhKeVlYa29LU3dnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHVhWFJCY25KaGVTQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFFYSnlZWGtnS0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtTQjdYRzRnSUNBZ0x5OGdVR1Z5YUdGd2N5QmhJRlZwYm5RNFFYSnlZWGxjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJXSmxjaTVzWlc1bmRHZ2dQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5TG14bGJtZDBhQ0E4UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lBd0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2h1ZFcxaVpYSXViR1Z1WjNSb0lDOGdNeWs3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdhaXdnZHp0Y2JpQWdJQ0IyWVhJZ2IyWm1JRDBnTUR0Y2JpQWdJQ0JwWmlBb1pXNWthV0Z1SUQwOVBTQW5ZbVVuS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNCdWRXMWlaWEl1YkdWdVozUm9JQzBnTVN3Z2FpQTlJREE3SUdrZ1BqMGdNRHNnYVNBdFBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnTFNBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXRJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9aVzVrYVdGdUlEMDlQU0FuYkdVbktTQjdYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdMQ0JxSUQwZ01Ec2dhU0E4SUc1MWJXSmxjaTVzWlc1bmRHZzdJR2tnS3owZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQ3NnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0t5QXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQndZWEp6WlVobGVDQW9jM1J5TENCemRHRnlkQ3dnWlc1a0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ1BEdzlJRFE3WEc1Y2JpQWdJQ0FnSUM4dklDZGhKeUF0SUNkbUoxeHVJQ0FnSUNBZ2FXWWdLR01nUGowZ05Ea2dKaVlnWXlBOFBTQTFOQ2tnZTF4dUlDQWdJQ0FnSUNCeUlIdzlJR01nTFNBME9TQXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKMEVuSUMwZ0owWW5YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUGowZ01UY2dKaVlnWXlBOFBTQXlNaWtnZTF4dUlDQWdJQ0FnSUNCeUlIdzlJR01nTFNBeE55QXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKekFuSUMwZ0p6a25YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlJSHc5SUdNZ0ppQXdlR1k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5d1lYSnpaVWhsZUNBOUlHWjFibU4wYVc5dUlGOXdZWEp6WlVobGVDQW9iblZ0WW1WeUxDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUM4dklFTnlaV0YwWlNCd2IzTnphV0pzZVNCaWFXZG5aWElnWVhKeVlYa2dkRzhnWlc1emRYSmxJSFJvWVhRZ2FYUWdabWwwY3lCMGFHVWdiblZ0WW1WeVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29LRzUxYldKbGNpNXNaVzVuZEdnZ0xTQnpkR0Z5ZENrZ0x5QTJLVHRjYmlBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnYm1WM0lFRnljbUY1S0hSb2FYTXViR1Z1WjNSb0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnFMQ0IzTzF4dUlDQWdJQzh2SUZOallXNGdNalF0WW1sMElHTm9kVzVyY3lCaGJtUWdZV1JrSUhSb1pXMGdkRzhnZEdobElHNTFiV0psY2x4dUlDQWdJSFpoY2lCdlptWWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJRzUxYldKbGNpNXNaVzVuZEdnZ0xTQTJMQ0JxSUQwZ01Ec2dhU0ErUFNCemRHRnlkRHNnYVNBdFBTQTJLU0I3WEc0Z0lDQWdJQ0IzSUQwZ2NHRnljMlZJWlhnb2JuVnRZbVZ5TENCcExDQnBJQ3NnTmlrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcycGRJSHc5SUNoM0lEdzhJRzltWmlrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQmdNSGd6Wm1abVptWmdJR2x6SUdsdWRHVnVkR2x2Ym1Gc0lHaGxjbVVzSURJMlltbDBjeUJ0WVhnZ2MyaHBablFnS3lBeU5HSnBkQ0JvWlhnZ2JHbHRZbHh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxSUNzZ01WMGdmRDBnZHlBK1BqNGdLREkySUMwZ2IyWm1LU0FtSURCNE0yWm1abVptTzF4dUlDQWdJQ0FnYjJabUlDczlJREkwTzF4dUlDQWdJQ0FnYVdZZ0tHOW1aaUErUFNBeU5pa2dlMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHa2dLeUEySUNFOVBTQnpkR0Z5ZENrZ2UxeHVJQ0FnSUNBZ2R5QTlJSEJoY25ObFNHVjRLRzUxYldKbGNpd2djM1JoY25Rc0lHa2dLeUEyS1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFsMGdmRDBnS0hjZ1BEd2diMlptS1NBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhCaGNuTmxRbUZ6WlNBb2MzUnlMQ0J6ZEdGeWRDd2daVzVrTENCdGRXd3BJSHRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlFMWhkR2d1YldsdUtITjBjaTVzWlc1bmRHZ3NJR1Z1WkNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITjBZWEowT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCaklEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dMU0EwT0R0Y2JseHVJQ0FnSUNBZ2NpQXFQU0J0ZFd3N1hHNWNiaUFnSUNBZ0lDOHZJQ2RoSjF4dUlDQWdJQ0FnYVdZZ0tHTWdQajBnTkRrcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNCaklDMGdORGtnS3lBd2VHRTdYRzVjYmlBZ0lDQWdJQzh2SUNkQkoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0tTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ1l5QXRJREUzSUNzZ01IaGhPMXh1WEc0Z0lDQWdJQ0F2THlBbk1DY2dMU0FuT1NkY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhJZ0t6MGdZenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDFjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNCaGNuTmxRbUZ6WlNBOUlHWjFibU4wYVc5dUlGOXdZWEp6WlVKaGMyVWdLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCSmJtbDBhV0ZzYVhwbElHRnpJSHBsY205Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ1d5QXdJRjA3WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVYRzRnSUNBZ0x5OGdSbWx1WkNCc1pXNW5kR2dnYjJZZ2JHbHRZaUJwYmlCaVlYTmxYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2JHbHRZa3hsYmlBOUlEQXNJR3hwYldKUWIzY2dQU0F4T3lCc2FXMWlVRzkzSUR3OUlEQjRNMlptWm1abVpqc2diR2x0WWxCdmR5QXFQU0JpWVhObEtTQjdYRzRnSUNBZ0lDQnNhVzFpVEdWdUt5czdYRzRnSUNBZ2ZWeHVJQ0FnSUd4cGJXSk1aVzR0TFR0Y2JpQWdJQ0JzYVcxaVVHOTNJRDBnS0d4cGJXSlFiM2NnTHlCaVlYTmxLU0I4SURBN1hHNWNiaUFnSUNCMllYSWdkRzkwWVd3Z1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblE3WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJSFJ2ZEdGc0lDVWdiR2x0WWt4bGJqdGNiaUFnSUNCMllYSWdaVzVrSUQwZ1RXRjBhQzV0YVc0b2RHOTBZV3dzSUhSdmRHRnNJQzBnYlc5a0tTQXJJSE4wWVhKME8xeHVYRzRnSUNBZ2RtRnlJSGR2Y21RZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGeWREc2dhU0E4SUdWdVpEc2dhU0FyUFNCc2FXMWlUR1Z1S1NCN1hHNGdJQ0FnSUNCM2IzSmtJRDBnY0dGeWMyVkNZWE5sS0c1MWJXSmxjaXdnYVN3Z2FTQXJJR3hwYldKTVpXNHNJR0poYzJVcE8xeHVYRzRnSUNBZ0lDQjBhR2x6TG1sdGRXeHVLR3hwYldKUWIzY3BPMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkMjl5WkhOYk1GMGdLeUIzYjNKa0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnZDI5eVpEdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDJsaFpHUnVLSGR2Y21RcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRiMlFnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCd2IzY2dQU0F4TzF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUc1MWJXSmxjaTVzWlc1bmRHZ3NJR0poYzJVcE8xeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2JXOWtPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjRzkzSUNvOUlHSmhjMlU3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXVhVzExYkc0b2NHOTNLVHRjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbmR2Y21Seld6QmRJQ3NnZDI5eVpDQThJREI0TkRBd01EQXdNQ2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJQ3M5SUhkdmNtUTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5cFlXUmtiaWgzYjNKa0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdmNIa2dQU0JtZFc1amRHbHZiaUJqYjNCNUlDaGtaWE4wS1NCN1hHNGdJQ0FnWkdWemRDNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG14bGJtZDBhQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JrWlhOMExuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdaR1Z6ZEM1c1pXNW5kR2dnUFNCMGFHbHpMbXhsYm1kMGFEdGNiaUFnSUNCa1pYTjBMbTVsWjJGMGFYWmxJRDBnZEdocGN5NXVaV2RoZEdsMlpUdGNiaUFnSUNCa1pYTjBMbkpsWkNBOUlIUm9hWE11Y21Wa08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1amJHOXVaU0E5SUdaMWJtTjBhVzl1SUdOc2IyNWxJQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2NpQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0IwYUdsekxtTnZjSGtvY2lrN1hHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlsZUhCaGJtUWdQU0JtZFc1amRHbHZiaUJmWlhod1lXNWtJQ2h6YVhwbEtTQjdYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXViR1Z1WjNSb0lEd2djMmw2WlNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ3NyWFNBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGJXOTJaU0JzWldGa2FXNW5JR0F3WUNCbWNtOXRJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMzUnlhWEFnUFNCbWRXNWpkR2x2YmlCemRISnBjQ0FvS1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z01TQW1KaUIwYUdsekxuZHZjbVJ6VzNSb2FYTXViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvTFMwN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRVMmxuYmlncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmJtOXliVk5wWjI0Z1BTQm1kVzVqZEdsdmJpQmZibTl5YlZOcFoyNGdLQ2tnZTF4dUlDQWdJQzh2SUMwd0lEMGdNRnh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWMzQmxZM1FnUFNCbWRXNWpkR2x2YmlCcGJuTndaV04wSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVjbVZrSUQ4Z0p6eENUaTFTT2lBbklEb2dKenhDVGpvZ0p5a2dLeUIwYUdsekxuUnZVM1J5YVc1bktERTJLU0FySUNjK0p6dGNiaUFnZlR0Y2JseHVJQ0F2S2x4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0ZE8xeHVJQ0IyWVhJZ1ozSnZkWEJUYVhwbGN5QTlJRnRkTzF4dUlDQjJZWElnWjNKdmRYQkNZWE5sY3lBOUlGdGRPMXh1WEc0Z0lIWmhjaUJ6SUQwZ0p5YzdYRzRnSUhaaGNpQnBJRDBnTFRFN1hHNGdJSGRvYVd4bElDZ3JLMmtnUENCQ1RpNTNiM0prVTJsNlpTa2dlMXh1SUNBZ0lIcGxjbTl6VzJsZElEMGdjenRjYmlBZ0lDQnpJQ3M5SUNjd0p6dGNiaUFnZlZ4dUlDQm5jbTkxY0ZOcGVtVnpXekJkSUQwZ01EdGNiaUFnWjNKdmRYQlRhWHBsYzFzeFhTQTlJREE3WEc0Z0lHZHliM1Z3UW1GelpYTmJNRjBnUFNBd08xeHVJQ0JuY205MWNFSmhjMlZ6V3pGZElEMGdNRHRjYmlBZ2RtRnlJR0poYzJVZ1BTQXlJQzBnTVR0Y2JpQWdkMmhwYkdVZ0tDc3JZbUZ6WlNBOElETTJJQ3NnTVNrZ2UxeHVJQ0FnSUhaaGNpQm5jbTkxY0ZOcGVtVWdQU0F3TzF4dUlDQWdJSFpoY2lCbmNtOTFjRUpoYzJVZ1BTQXhPMXh1SUNBZ0lIZG9hV3hsSUNobmNtOTFjRUpoYzJVZ1BDQW9NU0E4UENCQ1RpNTNiM0prVTJsNlpTa2dMeUJpWVhObEtTQjdYRzRnSUNBZ0lDQm5jbTkxY0VKaGMyVWdLajBnWW1GelpUdGNiaUFnSUNBZ0lHZHliM1Z3VTJsNlpTQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ0lDQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZElEMGdaM0p2ZFhCVGFYcGxPMXh1SUNBZ0lHZHliM1Z3UW1GelpYTmJZbUZ6WlYwZ1BTQm5jbTkxY0VKaGMyVTdYRzRnSUgxY2JseHVJQ0FxTDF4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0Y2JpQWdJQ0FuSnl4Y2JpQWdJQ0FuTUNjc1hHNGdJQ0FnSnpBd0p5eGNiaUFnSUNBbk1EQXdKeXhjYmlBZ0lDQW5NREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNkY2JpQWdYVHRjYmx4dUlDQjJZWElnWjNKdmRYQlRhWHBsY3lBOUlGdGNiaUFnSUNBd0xDQXdMRnh1SUNBZ0lESTFMQ0F4Tml3Z01USXNJREV4TENBeE1Dd2dPU3dnT0N4Y2JpQWdJQ0E0TENBM0xDQTNMQ0EzTENBM0xDQTJMQ0EyTEZ4dUlDQWdJRFlzSURZc0lEWXNJRFlzSURZc0lEVXNJRFVzWEc0Z0lDQWdOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3hjYmlBZ0lDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFYRzRnSUYwN1hHNWNiaUFnZG1GeUlHZHliM1Z3UW1GelpYTWdQU0JiWEc0Z0lDQWdNQ3dnTUN4Y2JpQWdJQ0F6TXpVMU5EUXpNaXdnTkRNd05EWTNNakVzSURFMk56YzNNakUyTENBME9EZ3lPREV5TlN3Z05qQTBOall4TnpZc0lEUXdNelV6TmpBM0xDQXhOamMzTnpJeE5peGNiaUFnSUNBME16QTBOamN5TVN3Z01UQXdNREF3TURBc0lERTVORGczTVRjeExDQXpOVGd6TVRnd09Dd2dOakkzTkRnMU1UY3NJRGMxTWprMU16WXNJREV4TXprd05qSTFMRnh1SUNBZ0lERTJOemMzTWpFMkxDQXlOREV6TnpVMk9Td2dNelF3TVRJeU1qUXNJRFEzTURRMU9EZ3hMQ0EyTkRBd01EQXdNQ3dnTkRBNE5ERXdNU3dnTlRFMU16WXpNaXhjYmlBZ0lDQTJORE0yTXpRekxDQTNPVFl5TmpJMExDQTVOelkxTmpJMUxDQXhNVGc0TVRNM05pd2dNVFF6TkRnNU1EY3NJREUzTWpFd016WTRMQ0F5TURVeE1URTBPU3hjYmlBZ0lDQXlORE13TURBd01Dd2dNamcyTWpreE5URXNJRE16TlRVME5ETXlMQ0F6T1RFek5UTTVNeXdnTkRVME16VTBNalFzSURVeU5USXhPRGMxTENBMk1EUTJOakUzTmx4dUlDQmRPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjFOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUhSdlUzUnlhVzVuSUNoaVlYTmxMQ0J3WVdSa2FXNW5LU0I3WEc0Z0lDQWdZbUZ6WlNBOUlHSmhjMlVnZkh3Z01UQTdYRzRnSUNBZ2NHRmtaR2x1WnlBOUlIQmhaR1JwYm1jZ2ZDQXdJSHg4SURFN1hHNWNiaUFnSUNCMllYSWdiM1YwTzF4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pQjhmQ0JpWVhObElEMDlQU0FuYUdWNEp5a2dlMXh1SUNBZ0lDQWdiM1YwSUQwZ0p5YzdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnSUNCMllYSWdkMjl5WkNBOUlDZ29LSGNnUER3Z2IyWm1LU0I4SUdOaGNuSjVLU0FtSURCNFptWm1abVptS1M1MGIxTjBjbWx1WnlneE5pazdYRzRnSUNBZ0lDQWdJR05oY25KNUlEMGdLSGNnUGo0K0lDZ3lOQ0F0SUc5bVppa3BJQ1lnTUhobVptWm1abVk3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ0I4ZkNCcElDRTlQU0IwYUdsekxteGxibWQwYUNBdElERXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxczJJQzBnZDI5eVpDNXNaVzVuZEdoZElDc2dkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0IzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHOW1aaUFyUFNBeU8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdrdExUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlHTmhjbko1TG5SdlUzUnlhVzVuS0RFMktTQXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FvWW1GelpTQjhJREFwSUNZbUlHSmhjMlVnUGowZ01pQW1KaUJpWVhObElEdzlJRE0yS1NCN1hHNGdJQ0FnSUNBdkx5QjJZWElnWjNKdmRYQlRhWHBsSUQwZ1RXRjBhQzVtYkc5dmNpaENUaTUzYjNKa1UybDZaU0FxSUUxaGRHZ3VURTR5SUM4Z1RXRjBhQzVzYjJjb1ltRnpaU2twTzF4dUlDQWdJQ0FnZG1GeUlHZHliM1Z3VTJsNlpTQTlJR2R5YjNWd1UybDZaWE5iWW1GelpWMDdYRzRnSUNBZ0lDQXZMeUIyWVhJZ1ozSnZkWEJDWVhObElEMGdUV0YwYUM1d2IzY29ZbUZ6WlN3Z1ozSnZkWEJUYVhwbEtUdGNiaUFnSUNBZ0lIWmhjaUJuY205MWNFSmhjMlVnUFNCbmNtOTFjRUpoYzJWelcySmhjMlZkTzF4dUlDQWdJQ0FnYjNWMElEMGdKeWM3WEc0Z0lDQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0FnSUdNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tDRmpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnWXk1dGIyUnVLR2R5YjNWd1FtRnpaU2t1ZEc5VGRISnBibWNvWW1GelpTazdYRzRnSUNBZ0lDQWdJR01nUFNCakxtbGthWFp1S0dkeWIzVndRbUZ6WlNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGakxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYlozSnZkWEJUYVhwbElDMGdjaTVzWlc1bmRHaGRJQ3NnY2lBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0J5SUNzZ2IzVjBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVwYzFwbGNtOG9LU2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCaGMzTmxjblFvWm1Gc2MyVXNJQ2RDWVhObElITm9iM1ZzWkNCaVpTQmlaWFIzWldWdUlESWdZVzVrSURNMkp5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZUblZ0WW1WeUlEMGdablZ1WTNScGIyNGdkRzlPZFcxaVpYSWdLQ2tnZTF4dUlDQWdJSFpoY2lCeVpYUWdQU0IwYUdsekxuZHZjbVJ6V3pCZE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01pa2dlMXh1SUNBZ0lDQWdjbVYwSUNzOUlIUm9hWE11ZDI5eVpITmJNVjBnS2lBd2VEUXdNREF3TURBN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTXlBbUppQjBhR2x6TG5kdmNtUnpXekpkSUQwOVBTQXdlREF4S1NCN1hHNGdJQ0FnSUNBdkx5Qk9UMVJGT2lCaGRDQjBhR2x6SUhOMFlXZGxJR2wwSUdseklHdHViM2R1SUhSb1lYUWdkR2hsSUhSdmNDQmlhWFFnYVhNZ2MyVjBYRzRnSUNBZ0lDQnlaWFFnS3owZ01IZ3hNREF3TURBd01EQXdNREF3TUNBcklDaDBhR2x6TG5kdmNtUnpXekZkSUNvZ01IZzBNREF3TURBd0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnTWlrZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0daaGJITmxMQ0FuVG5WdFltVnlJR05oYmlCdmJteDVJSE5oWm1Wc2VTQnpkRzl5WlNCMWNDQjBieUExTXlCaWFYUnpKeWs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dQeUF0Y21WMElEb2djbVYwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBwVFQwNGdQU0JtZFc1amRHbHZiaUIwYjBwVFQwNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5SdlUzUnlhVzVuS0RFMktUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRHOUNkV1ptWlhJZ1BTQm1kVzVqZEdsdmJpQjBiMEoxWm1abGNpQW9aVzVrYVdGdUxDQnNaVzVuZEdncElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRUoxWm1abGNpQWhQVDBnSjNWdVpHVm1hVzVsWkNjcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZRWEp5WVhsTWFXdGxLRUoxWm1abGNpd2daVzVrYVdGdUxDQnNaVzVuZEdncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwRnljbUY1SUQwZ1puVnVZM1JwYjI0Z2RHOUJjbkpoZVNBb1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaEJjbkpoZVN3Z1pXNWthV0Z1TENCc1pXNW5kR2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBGeWNtRjVUR2xyWlNBOUlHWjFibU4wYVc5dUlIUnZRWEp5WVhsTWFXdGxJQ2hCY25KaGVWUjVjR1VzSUdWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdkbUZ5SUdKNWRHVk1aVzVuZEdnZ1BTQjBhR2x6TG1KNWRHVk1aVzVuZEdnb0tUdGNiaUFnSUNCMllYSWdjbVZ4VEdWdVozUm9JRDBnYkdWdVozUm9JSHg4SUUxaGRHZ3ViV0Y0S0RFc0lHSjVkR1ZNWlc1bmRHZ3BPMXh1SUNBZ0lHRnpjMlZ5ZENoaWVYUmxUR1Z1WjNSb0lEdzlJSEpsY1V4bGJtZDBhQ3dnSjJKNWRHVWdZWEp5WVhrZ2JHOXVaMlZ5SUhSb1lXNGdaR1Z6YVhKbFpDQnNaVzVuZEdnbktUdGNiaUFnSUNCaGMzTmxjblFvY21WeFRHVnVaM1JvSUQ0Z01Dd2dKMUpsY1hWbGMzUmxaQ0JoY25KaGVTQnNaVzVuZEdnZ1BEMGdNQ2NwTzF4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0FnSUhaaGNpQnNhWFIwYkdWRmJtUnBZVzRnUFNCbGJtUnBZVzRnUFQwOUlDZHNaU2M3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJRzVsZHlCQmNuSmhlVlI1Y0dVb2NtVnhUR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJpTENCcE8xeHVJQ0FnSUhaaGNpQnhJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUdsbUlDZ2hiR2wwZEd4bFJXNWthV0Z1S1NCN1hHNGdJQ0FnSUNBdkx5QkJjM04xYldVZ1ltbG5MV1Z1WkdsaGJseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhKbGNVeGxibWQwYUNBdElHSjVkR1ZNWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lBaGNTNXBjMXBsY204b0tUc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHSWdQU0J4TG1GdVpHeHVLREI0Wm1ZcE8xeHVJQ0FnSUNBZ0lDQnhMbWwxYzJoeWJpZzRLVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTmJjbVZ4VEdWdVozUm9JQzBnYVNBdElERmRJRDBnWWp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelcybGRJRDBnWWp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQnlaWEZNWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnYVdZZ0tFMWhkR2d1WTJ4Nk16SXBJSHRjYmlBZ0lDQkNUaTV3Y205MGIzUjVjR1V1WDJOdmRXNTBRbWwwY3lBOUlHWjFibU4wYVc5dUlGOWpiM1Z1ZEVKcGRITWdLSGNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUF6TWlBdElFMWhkR2d1WTJ4Nk16SW9keWs3WEc0Z0lDQWdmVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgyTnZkVzUwUW1sMGN5QTlJR1oxYm1OMGFXOXVJRjlqYjNWdWRFSnBkSE1nS0hjcElIdGNiaUFnSUNBZ0lIWmhjaUIwSUQwZ2R6dGNiaUFnSUNBZ0lIWmhjaUJ5SUQwZ01EdGNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRNVEF3TUNrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ01UTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlRFF3S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTnp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURjN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VEZ3BJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQTBPMXh1SUNBZ0lDQWdJQ0IwSUQ0K1BqMGdORHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMElENDlJREI0TURJcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBeU8xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ01qdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lISmxkSFZ5YmlCeUlDc2dkRHRjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOTZaWEp2UW1sMGN5QTlJR1oxYm1OMGFXOXVJRjk2WlhKdlFtbDBjeUFvZHlrZ2UxeHVJQ0FnSUM4dklGTm9iM0owTFdOMWRGeHVJQ0FnSUdsbUlDaDNJRDA5UFNBd0tTQnlaWFIxY200Z01qWTdYRzVjYmlBZ0lDQjJZWElnZENBOUlIYzdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNE1XWm1aaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ01UTTdYRzRnSUNBZ0lDQjBJRDQrUGowZ01UTTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNE4yWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURjN1hHNGdJQ0FnSUNCMElENCtQajBnTnp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0NoMElDWWdNSGhtS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQTBPMXh1SUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNE15a2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUhRZ1BqNCtQU0F5TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlREVwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdWRXMWlaWElnYjJZZ2RYTmxaQ0JpYVhSeklHbHVJR0VnUWs1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1KcGRFeGxibWQwYUNBOUlHWjFibU4wYVc5dUlHSnBkRXhsYm1kMGFDQW9LU0I3WEc0Z0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvSUMwZ01WMDdYRzRnSUNBZ2RtRnlJR2hwSUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0hjcE8xeHVJQ0FnSUhKbGRIVnliaUFvZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0FxSURJMklDc2dhR2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2RHOUNhWFJCY25KaGVTQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlIY2dQU0J1WlhjZ1FYSnlZWGtvYm5WdExtSnBkRXhsYm1kMGFDZ3BLVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR0pwZENBOUlEQTdJR0pwZENBOElIY3ViR1Z1WjNSb095QmlhWFFyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlIZGlhWFFnUFNCaWFYUWdKU0F5Tmp0Y2JseHVJQ0FnSUNBZ2QxdGlhWFJkSUQwZ0tHNTFiUzUzYjNKa2MxdHZabVpkSUNZZ0tERWdQRHdnZDJKcGRDa3BJRDQrUGlCM1ltbDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCM08xeHVJQ0I5WEc1Y2JpQWdMeThnVG5WdFltVnlJRzltSUhSeVlXbHNhVzVuSUhwbGNtOGdZbWwwYzF4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZW1WeWIwSnBkSE1nUFNCbWRXNWpkR2x2YmlCNlpYSnZRbWwwY3lBb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlBd08xeHVYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR0lnUFNCMGFHbHpMbDk2WlhKdlFtbDBjeWgwYUdsekxuZHZjbVJ6VzJsZEtUdGNiaUFnSUNBZ0lISWdLejBnWWp0Y2JpQWdJQ0FnSUdsbUlDaGlJQ0U5UFNBeU5pa2dZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWllWFJsVEdWdVozUm9JRDBnWm5WdVkzUnBiMjRnWW5sMFpVeGxibWQwYUNBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VZMlZwYkNoMGFHbHpMbUpwZEV4bGJtZDBhQ2dwSUM4Z09DazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZWSGR2Y3lBOUlHWjFibU4wYVc5dUlIUnZWSGR2Y3lBb2QybGtkR2dwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WVdKektDa3VhVzV2ZEc0b2QybGtkR2dwTG1saFpHUnVLREVwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1jbTl0VkhkdmN5QTlJR1oxYm1OMGFXOXVJR1p5YjIxVWQyOXpJQ2gzYVdSMGFDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxuUmxjM1J1S0hkcFpIUm9JQzBnTVNrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTV2ZEc0b2QybGtkR2dwTG1saFpHUnVLREVwTG1sdVpXY29LVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTk9aV2NnUFNCbWRXNWpkR2x2YmlCcGMwNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHNWxaMkYwYVhabElHTnNiMjVsSUc5bUlHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Ym1WbklEMGdablZ1WTNScGIyNGdibVZuSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHVaV2NvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc1bFp5QTlJR1oxYm1OMGFXOXVJR2x1WldjZ0tDa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNCZVBTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUM4dklFOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkVzl5SUQwZ1puVnVZM1JwYjI0Z2FYVnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFDc3JYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCdWRXMHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJsZElId2diblZ0TG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx2Y2lBOUlHWjFibU4wYVc5dUlHbHZjaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVnZjaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUU5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dmNpQTlJR1oxYm1OMGFXOXVJRzl5SUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdmNpaHVkVzBwTzF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1WTJ4dmJtVW9LUzVwYjNJb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ2Y2lBOUlHWjFibU4wYVc5dUlIVnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwZFc5eUtHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxYjNJb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRVzVrSUdCdWRXMWdJSGRwZEdnZ1lIUm9hWE5nSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwZFdGdVpDQTlJR1oxYm1OMGFXOXVJR2wxWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCaUlEMGdiV2x1TFd4bGJtZDBhQ2h1ZFcwc0lIUm9hWE1wWEc0Z0lDQWdkbUZ5SUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lpQTlJRzUxYlR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JRzUxYlM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHSXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXRnVaQ0E5SUdaMWJtTjBhVzl1SUdsaGJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMVlXNWtLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVc1a0lHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aGJtUWdQU0JtZFc1amRHbHZiaUJoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXRnVaQ2h1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cFlXNWtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MVlXNWtJRDBnWm5WdVkzUnBiMjRnZFdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkV0Z1WkNodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkV0Z1WkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlliM0lnWUc1MWJXQWdkMmwwYUNCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxZUc5eUlEMGdablZ1WTNScGIyNGdhWFY0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lUdGNiaUFnSUNCMllYSWdZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0l1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZElGNGdZaTUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5QWhQVDBnWVNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBlRzl5SUQwZ1puVnVZM1JwYjI0Z2FYaHZjaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVjRiM0lvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCWWIzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuaHZjaUE5SUdaMWJtTjBhVzl1SUhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBlRzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDRiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVjRiM0lnUFNCbWRXNWpkR2x2YmlCMWVHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxZUc5eUtHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxZUc5eUtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTV2ZENCZ1lIUm9hWE5nWUNCM2FYUm9JR0JnZDJsa2RHaGdZQ0JpYVhSM2FXUjBhRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzV2ZEc0Z1BTQm1kVzVqZEdsdmJpQnBibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlIZHBaSFJvSUQwOVBTQW5iblZ0WW1WeUp5QW1KaUIzYVdSMGFDQStQU0F3S1R0Y2JseHVJQ0FnSUhaaGNpQmllWFJsYzA1bFpXUmxaQ0E5SUUxaGRHZ3VZMlZwYkNoM2FXUjBhQ0F2SURJMktTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKcGRITk1aV1owSUQwZ2QybGtkR2dnSlNBeU5qdGNibHh1SUNBZ0lDOHZJRVY0ZEdWdVpDQjBhR1VnWW5WbVptVnlJSGRwZEdnZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjBhR2x6TGw5bGVIQmhibVFvWW5sMFpYTk9aV1ZrWldRcE8xeHVYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lubDBaWE5PWldWa1pXUXRMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdZMjl0Y0d4bGRHVWdkMjl5WkhOY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKNWRHVnpUbVZsWkdWa095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IrZEdocGN5NTNiM0prYzF0cFhTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdkR2hsSUhKbGMybGtkV1ZjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2ZuUm9hWE11ZDI5eVpITmJhVjBnSmlBb01IZ3pabVptWm1abUlENCtJQ2d5TmlBdElHSnBkSE5NWldaMEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRVzVrSUhKbGJXOTJaU0JzWldGa2FXNW5JSHBsY205bGMxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG01dmRHNGdQU0JtZFc1amRHbHZiaUJ1YjNSdUlDaDNhV1IwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXNXZkRzRvZDJsa2RHZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklGTmxkQ0JnWW1sMFlDQnZaaUJnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTmxkRzRnUFNCbWRXNWpkR2x2YmlCelpYUnVJQ2hpYVhRc0lIWmhiQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQmlhWFFnUGowZ01DazdYRzVjYmlBZ0lDQjJZWElnYjJabUlEMGdLR0pwZENBdklESTJLU0I4SURBN1hHNGdJQ0FnZG1GeUlIZGlhWFFnUFNCaWFYUWdKU0F5Tmp0Y2JseHVJQ0FnSUhSb2FYTXVYMlY0Y0dGdVpDaHZabVlnS3lBeEtUdGNibHh1SUNBZ0lHbG1JQ2gyWVd3cElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJiMlptWFNBOUlIUm9hWE11ZDI5eVpITmJiMlptWFNCOElDZ3hJRHc4SUhkaWFYUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnSmlCK0tERWdQRHdnZDJKcGRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdZRzUxYldBZ2RHOGdZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFlXUmtJRDBnWm5WdVkzUnBiMjRnYVdGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISTdYRzVjYmlBZ0lDQXZMeUJ1WldkaGRHbDJaU0FySUhCdmMybDBhWFpsWEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSElnUFNCMGFHbHpMbWx6ZFdJb2JuVnRLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1hqMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRVMmxuYmlncE8xeHVYRzRnSUNBZ0x5OGdjRzl6YVhScGRtVWdLeUJ1WldkaGRHbDJaVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeUlEMGdkR2hwY3k1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEl1WDI1dmNtMVRhV2R1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1lTNXNaVzVuZEdnZ1BpQmlMbXhsYm1kMGFGeHVJQ0FnSUhaaGNpQmhMQ0JpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklDaGlMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc0Z0lDQWdabTl5SUNnN0lHTmhjbko1SUNFOVBTQXdJQ1ltSUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCeUlEMGdLR0V1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZUzVzWlc1bmRHZzdYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9YU0E5SUdOaGNuSjVPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0F2THlCRGIzQjVJSFJvWlNCeVpYTjBJRzltSUhSb1pTQjNiM0prYzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVGa1pDQmdiblZ0WUNCMGJ5QmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1Ga1pDQTlJR1oxYm1OMGFXOXVJR0ZrWkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCcFppQW9iblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUhSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTjFZaWh1ZFcwcE8xeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRjQ5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JuVnRMbTVsWjJGMGFYWmxJRDA5UFNBd0lDWW1JSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdiblZ0TG5OMVlpaDBhR2x6S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhaR1FvYm5WdEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBZV1JrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTjFZblJ5WVdOMElHQnVkVzFnSUdaeWIyMGdZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMzVmlJRDBnWm5WdVkzUnBiMjRnYVhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z2RHaHBjeUF0SUNndGJuVnRLU0E5SUhSb2FYTWdLeUJ1ZFcxY2JpQWdJQ0JwWmlBb2JuVnRMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2RtRnlJSElnUFNCMGFHbHpMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2NpNWZibTl5YlZOcFoyNG9LVHRjYmx4dUlDQWdJQzh2SUMxMGFHbHpJQzBnYm5WdElEMGdMU2gwYUdseklDc2diblZ0S1Z4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDI1dmNtMVRhV2R1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FYUWdkR2hwY3lCd2IybHVkQ0JpYjNSb0lHNTFiV0psY25NZ1lYSmxJSEJ2YzJsMGFYWmxYRzRnSUNBZ2RtRnlJR050Y0NBOUlIUm9hWE11WTIxd0tHNTFiU2s3WEc1Y2JpQWdJQ0F2THlCUGNIUnBiV2w2WVhScGIyNGdMU0I2WlhKdmFXWjVYRzRnSUNBZ2FXWWdLR050Y0NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR0VnUGlCaVhHNGdJQ0FnZG1GeUlHRXNJR0k3WEc0Z0lDQWdhV1lnS0dOdGNDQStJREFwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElDaGlMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BpQXlOanRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQm1iM0lnS0RzZ1kyRnljbmtnSVQwOUlEQWdKaVlnYVNBOElHRXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhJZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCRGIzQjVJSEpsYzNRZ2IyWWdkR2hsSUhkdmNtUnpYRzRnSUNBZ2FXWWdLR05oY25KNUlEMDlQU0F3SUNZbUlHa2dQQ0JoTG14bGJtZDBhQ0FtSmlCaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JOWVhSb0xtMWhlQ2gwYUdsekxteGxibWQwYUN3Z2FTazdYRzVjYmlBZ0lDQnBaaUFvWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUZFdKMGNtRmpkQ0JnYm5WdFlDQm1jbTl0SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM1ZpSUQwZ1puVnVZM1JwYjI0Z2MzVmlJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHpkV0lvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ6YldGc2JFMTFiRlJ2SUNoelpXeG1MQ0J1ZFcwc0lHOTFkQ2tnZTF4dUlDQWdJRzkxZEM1dVpXZGhkR2wyWlNBOUlHNTFiUzV1WldkaGRHbDJaU0JlSUhObGJHWXVibVZuWVhScGRtVTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlDaHpaV3htTG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdncElId2dNRHRjYmlBZ0lDQnZkWFF1YkdWdVozUm9JRDBnYkdWdU8xeHVJQ0FnSUd4bGJpQTlJQ2hzWlc0Z0xTQXhLU0I4SURBN1hHNWNiaUFnSUNBdkx5QlFaV1ZzSUc5dVpTQnBkR1Z5WVhScGIyNGdLR052YlhCcGJHVnlJR05oYmlkMElHUnZJR2wwTENCaVpXTmhkWE5sSUc5bUlHTnZaR1VnWTI5dGNHeGxlR2wwZVNsY2JpQWdJQ0IyWVhJZ1lTQTlJSE5sYkdZdWQyOXlaSE5iTUYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21Seld6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0VnS2lCaU8xeHVYRzRnSUNBZ2RtRnlJR3h2SUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0FvY2lBdklEQjROREF3TURBd01Da2dmQ0F3TzF4dUlDQWdJRzkxZEM1M2IzSmtjMXN3WFNBOUlHeHZPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURFN0lHc2dQQ0JzWlc0N0lHc3JLeWtnZTF4dUlDQWdJQ0FnTHk4Z1UzVnRJR0ZzYkNCM2IzSmtjeUIzYVhSb0lIUm9aU0J6WVcxbElHQnBJQ3NnYWlBOUlHdGdJR0Z1WkNCaFkyTjFiWFZzWVhSbElHQnVZMkZ5Y25sZ0xGeHVJQ0FnSUNBZ0x5OGdibTkwWlNCMGFHRjBJRzVqWVhKeWVTQmpiM1ZzWkNCaVpTQStQU0F3ZURObVptWm1abVpjYmlBZ0lDQWdJSFpoY2lCdVkyRnljbmtnUFNCallYSnllU0ErUGo0Z01qWTdYRzRnSUNBZ0lDQjJZWElnY25kdmNtUWdQU0JqWVhKeWVTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJSFpoY2lCdFlYaEtJRDBnVFdGMGFDNXRhVzRvYXl3Z2JuVnRMbXhsYm1kMGFDQXRJREVwTzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlFMWhkR2d1YldGNEtEQXNJR3NnTFNCelpXeG1MbXhsYm1kMGFDQXJJREVwT3lCcUlEdzlJRzFoZUVvN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNCMllYSWdhU0E5SUNocklDMGdhaWtnZkNBd08xeHVJQ0FnSUNBZ0lDQmhJRDBnYzJWc1ppNTNiM0prYzF0cFhTQjhJREE3WEc0Z0lDQWdJQ0FnSUdJZ1BTQnVkVzB1ZDI5eVpITmJhbDBnZkNBd08xeHVJQ0FnSUNBZ0lDQnlJRDBnWVNBcUlHSWdLeUJ5ZDI5eVpEdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlDczlJQ2h5SUM4Z01IZzBNREF3TURBd0tTQjhJREE3WEc0Z0lDQWdJQ0FnSUhKM2IzSmtJRDBnY2lBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHOTFkQzUzYjNKa2MxdHJYU0E5SUhKM2IzSmtJSHdnTUR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnYm1OaGNuSjVJSHdnTUR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllU0I4SURBN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzkxZEM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiM1YwTG5OMGNtbHdLQ2s3WEc0Z0lIMWNibHh1SUNBdkx5QlVUMFJQS0dsdVpIVjBibmtwT2lCcGRDQnRZWGtnWW1VZ2NtVmhjMjl1WVdKc1pTQjBieUJ2YldsMElHbDBJR1p2Y2lCMWMyVnljeUIzYUc4Z1pHOXVKM1FnYm1WbFpGeHVJQ0F2THlCMGJ5QjNiM0pySUhkcGRHZ2dNalUyTFdKcGRDQnVkVzFpWlhKekxDQnZkR2hsY25kcGMyVWdhWFFnWjJsMlpYTWdNakFsSUdsdGNISnZkbVZ0Wlc1MElHWnZjaUF5TlRZdFltbDBYRzRnSUM4dklHMTFiSFJwY0d4cFkyRjBhVzl1SUNoc2FXdGxJR1ZzYkdsd2RHbGpJSE5sWTNBeU5UWnJNU2t1WEc0Z0lIWmhjaUJqYjIxaU1UQk5kV3hVYnlBOUlHWjFibU4wYVc5dUlHTnZiV0l4TUUxMWJGUnZJQ2h6Wld4bUxDQnVkVzBzSUc5MWRDa2dlMXh1SUNBZ0lIWmhjaUJoSUQwZ2MyVnNaaTUzYjNKa2N6dGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prY3p0Y2JpQWdJQ0IyWVhJZ2J5QTlJRzkxZEM1M2IzSmtjenRjYmlBZ0lDQjJZWElnWXlBOUlEQTdYRzRnSUNBZ2RtRnlJR3h2TzF4dUlDQWdJSFpoY2lCdGFXUTdYRzRnSUNBZ2RtRnlJR2hwTzF4dUlDQWdJSFpoY2lCaE1DQTlJR0ZiTUYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRBZ1BTQmhNQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnd0lEMGdZVEFnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTVNBOUlHRmJNVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiREVnUFNCaE1TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2d4SUQwZ1lURWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhNaUE5SUdGYk1sMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJESWdQU0JoTWlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZ3lJRDBnWVRJZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE15QTlJR0ZiTTEwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRNZ1BTQmhNeUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdneklEMGdZVE1nUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTkNBOUlHRmJORjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRFFnUFNCaE5DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2cwSUQwZ1lUUWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhOU0E5SUdGYk5WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEVWdQU0JoTlNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzFJRDBnWVRVZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE5pQTlJR0ZiTmwwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRZZ1BTQmhOaUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnMklEMGdZVFlnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTnlBOUlHRmJOMTBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRGNnUFNCaE55QW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2czSUQwZ1lUY2dQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhPQ0E5SUdGYk9GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEZ2dQU0JoT0NBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzRJRDBnWVRnZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE9TQTlJR0ZiT1YwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRrZ1BTQmhPU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnNUlEMGdZVGtnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTUNBOUlHSmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliREFnUFNCaU1DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWd3SUQwZ1lqQWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlNU0E5SUdKYk1WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJERWdQU0JpTVNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZ3hJRDBnWWpFZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU1pQTlJR0piTWwwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRJZ1BTQmlNaUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1neUlEMGdZaklnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTXlBOUlHSmJNMTBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRE1nUFNCaU15QW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWd6SUQwZ1lqTWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlOQ0E5SUdKYk5GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEUWdQU0JpTkNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzBJRDBnWWpRZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU5TQTlJR0piTlYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRVZ1BTQmlOU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nMUlEMGdZalVnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTmlBOUlHSmJObDBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRFlnUFNCaU5pQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWcySUQwZ1lqWWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlOeUE5SUdKYk4xMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEY2dQU0JpTnlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzNJRDBnWWpjZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU9DQTlJR0piT0YwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRnZ1BTQmlPQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nNElEMGdZamdnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpT1NBOUlHSmJPVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRGtnUFNCaU9TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWc1SUQwZ1lqa2dQajQrSURFek8xeHVYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnYzJWc1ppNXVaV2RoZEdsMlpTQmVJRzUxYlM1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ01UazdYRzRnSUNBZ0x5b2dheUE5SURBZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3dLVHRjYmlBZ0lDQjJZWElnZHpBZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjd0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCMllYSWdkeklnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN5SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01pQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlETWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCMllYSWdkek1nUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN6SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM015QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlEUWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMwSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTkNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6UWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpVZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRFlnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6WWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIYzJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTmlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURjZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMzSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTnlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6Y2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6Z2dQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIYzRJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzT0NBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURrZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHprZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjNUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNPU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREV3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJERXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTVNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01TazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkekV3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRBZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hNQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREV4SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJESXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTWlrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01pazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVEVnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TVNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RXhJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVElnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc015azdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWd6S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nektUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXlJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVElnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1pQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXpJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRRcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTkNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFeklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UTWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TXlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRFVwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb05TazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OU2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVFFnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TkNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTBJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVFVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc05pazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWcyS1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nMktUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFMUlEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UVWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TlNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFMklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRGNwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb055azdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OeWs3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTJJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFlnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5pQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTNJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRncE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT0NrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVGNnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TnlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTNJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVGdnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc09TazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWc1S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nNUtUdGNiaUFnSUNCMllYSWdkekU0SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRnZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hPQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnYjFzd1hTQTlJSGN3TzF4dUlDQWdJRzliTVYwZ1BTQjNNVHRjYmlBZ0lDQnZXekpkSUQwZ2R6STdYRzRnSUNBZ2Ixc3pYU0E5SUhjek8xeHVJQ0FnSUc5Yk5GMGdQU0IzTkR0Y2JpQWdJQ0J2V3pWZElEMGdkelU3WEc0Z0lDQWdiMXMyWFNBOUlIYzJPMXh1SUNBZ0lHOWJOMTBnUFNCM056dGNiaUFnSUNCdld6aGRJRDBnZHpnN1hHNGdJQ0FnYjFzNVhTQTlJSGM1TzF4dUlDQWdJRzliTVRCZElEMGdkekV3TzF4dUlDQWdJRzliTVRGZElEMGdkekV4TzF4dUlDQWdJRzliTVRKZElEMGdkekV5TzF4dUlDQWdJRzliTVROZElEMGdkekV6TzF4dUlDQWdJRzliTVRSZElEMGdkekUwTzF4dUlDQWdJRzliTVRWZElEMGdkekUxTzF4dUlDQWdJRzliTVRaZElEMGdkekUyTzF4dUlDQWdJRzliTVRkZElEMGdkekUzTzF4dUlDQWdJRzliTVRoZElEMGdkekU0TzF4dUlDQWdJR2xtSUNoaklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdld6RTVYU0E5SUdNN1hHNGdJQ0FnSUNCdmRYUXViR1Z1WjNSb0t5czdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUc5c2VXWnBiR3dnWTI5dFlseHVJQ0JwWmlBb0lVMWhkR2d1YVcxMWJDa2dlMXh1SUNBZ0lHTnZiV0l4TUUxMWJGUnZJRDBnYzIxaGJHeE5kV3hVYnp0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHSnBaMDExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJRzUxYlM1dVpXZGhkR2wyWlNCZUlITmxiR1l1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SUhObGJHWXViR1Z1WjNSb0lDc2diblZ0TG14bGJtZDBhRHRjYmx4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnZG1GeUlHaHVZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F3T3lCcklEd2diM1YwTG14bGJtZDBhQ0F0SURFN0lHc3JLeWtnZTF4dUlDQWdJQ0FnTHk4Z1UzVnRJR0ZzYkNCM2IzSmtjeUIzYVhSb0lIUm9aU0J6WVcxbElHQnBJQ3NnYWlBOUlHdGdJR0Z1WkNCaFkyTjFiWFZzWVhSbElHQnVZMkZ5Y25sZ0xGeHVJQ0FnSUNBZ0x5OGdibTkwWlNCMGFHRjBJRzVqWVhKeWVTQmpiM1ZzWkNCaVpTQStQU0F3ZURObVptWm1abVpjYmlBZ0lDQWdJSFpoY2lCdVkyRnljbmtnUFNCb2JtTmhjbko1TzF4dUlDQWdJQ0FnYUc1allYSnllU0E5SURBN1hHNGdJQ0FnSUNCMllYSWdjbmR2Y21RZ1BTQmpZWEp5ZVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIWmhjaUJ0WVhoS0lEMGdUV0YwYUM1dGFXNG9heXdnYm5WdExteGxibWQwYUNBdElERXBPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUUxaGRHZ3ViV0Y0S0RBc0lHc2dMU0J6Wld4bUxteGxibWQwYUNBcklERXBPeUJxSUR3OUlHMWhlRW83SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FTQTlJR3NnTFNCcU8xeHVJQ0FnSUNBZ0lDQjJZWElnWVNBOUlITmxiR1l1ZDI5eVpITmJhVjBnZkNBd08xeHVJQ0FnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHFYU0I4SURBN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ5SUQwZ1lTQXFJR0k3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJR3h2SUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQ0FnYm1OaGNuSjVJRDBnS0c1allYSnllU0FySUNnb2NpQXZJREI0TkRBd01EQXdNQ2tnZkNBd0tTa2dmQ0F3TzF4dUlDQWdJQ0FnSUNCc2J5QTlJQ2hzYnlBcklISjNiM0prS1NCOElEQTdYRzRnSUNBZ0lDQWdJSEozYjNKa0lEMGdiRzhnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBOUlDaHVZMkZ5Y25rZ0t5QW9iRzhnUGo0K0lESTJLU2tnZkNBd08xeHVYRzRnSUNBZ0lDQWdJR2h1WTJGeWNua2dLejBnYm1OaGNuSjVJRDQrUGlBeU5qdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlISjNiM0prTzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J1WTJGeWNuazdYRzRnSUNBZ0lDQnVZMkZ5Y25rZ1BTQm9ibU5oY25KNU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlHTmhjbko1TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYW5WdFltOU5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0IyWVhJZ1ptWjBiU0E5SUc1bGR5QkdSbFJOS0NrN1hHNGdJQ0FnY21WMGRYSnVJR1ptZEcwdWJYVnNjQ2h6Wld4bUxDQnVkVzBzSUc5MWRDazdYRzRnSUgxY2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJYVnNWRzhnUFNCbWRXNWpkR2x2YmlCdGRXeFVieUFvYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQjBhR2x6TG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdnN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeE1DQW1KaUJ1ZFcwdWJHVnVaM1JvSUQwOVBTQXhNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdZMjl0WWpFd1RYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iR1Z1SUR3Z05qTXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlITnRZV3hzVFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JHVnVJRHdnTVRBeU5Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ1ltbG5UWFZzVkc4b2RHaHBjeXdnYm5WdExDQnZkWFFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCcWRXMWliMDExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YjJ4bGVTMVVkV3RsZVNCaGJHZHZjbWwwYUcwZ1ptOXlJRVpHVkZ4dUlDQXZMeUJ6YkdsbmFIUnNlU0J5WlhacGMybDBaV1FnZEc4Z2NtVnNlU0J2YmlCc2IyOXdhVzVuSUdsdWMzUmxZV1FnYjJZZ2NtVmpkWEp6YVc5dVhHNWNiaUFnWm5WdVkzUnBiMjRnUmtaVVRTQW9lQ3dnZVNrZ2UxeHVJQ0FnSUhSb2FYTXVlQ0E5SUhnN1hHNGdJQ0FnZEdocGN5NTVJRDBnZVR0Y2JpQWdmVnh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG0xaGEyVlNRbFFnUFNCbWRXNWpkR2x2YmlCdFlXdGxVa0pVSUNoT0tTQjdYRzRnSUNBZ2RtRnlJSFFnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJR3dnUFNCQ1RpNXdjbTkwYjNSNWNHVXVYMk52ZFc1MFFtbDBjeWhPS1NBdElERTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUmJhVjBnUFNCMGFHbHpMbkpsZGtKcGJpaHBMQ0JzTENCT0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZER0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNXpJR0pwYm1GeWVTMXlaWFpsY25ObFpDQnlaWEJ5WlhObGJuUmhkR2x2YmlCdlppQmdlR0JjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1Y21WMlFtbHVJRDBnWm5WdVkzUnBiMjRnY21WMlFtbHVJQ2g0TENCc0xDQk9LU0I3WEc0Z0lDQWdhV1lnS0hnZ1BUMDlJREFnZkh3Z2VDQTlQVDBnVGlBdElERXBJSEpsZEhWeWJpQjRPMXh1WEc0Z0lDQWdkbUZ5SUhKaUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjbUlnZkQwZ0tIZ2dKaUF4S1NBOFBDQW9iQ0F0SUdrZ0xTQXhLVHRjYmlBZ0lDQWdJSGdnUGo0OUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKaU8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZCbGNtWnZjbTF6SUZ3aWRIZGxaV1JzYVc1blhDSWdjR2hoYzJVc0lIUm9aWEpsWm05eVpTQW5aVzExYkdGMGFXNW5KMXh1SUNBdkx5QmlaV2hoZG1sdmRYSWdiMllnZEdobElISmxZM1Z5YzJsMlpTQmhiR2R2Y21sMGFHMWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXVjR1Z5YlhWMFpTQTlJR1oxYm1OMGFXOXVJSEJsY20xMWRHVWdLSEppZEN3Z2NuZHpMQ0JwZDNNc0lISjBkM01zSUdsMGQzTXNJRTRwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnY25SM2MxdHBYU0E5SUhKM2MxdHlZblJiYVYxZE8xeHVJQ0FnSUNBZ2FYUjNjMXRwWFNBOUlHbDNjMXR5WW5SYmFWMWRPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JHUmxSTkxuQnliM1J2ZEhsd1pTNTBjbUZ1YzJadmNtMGdQU0JtZFc1amRHbHZiaUIwY21GdWMyWnZjbTBnS0hKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9MQ0J5WW5RcElIdGNiaUFnSUNCMGFHbHpMbkJsY20xMWRHVW9jbUowTENCeWQzTXNJR2wzY3l3Z2NuUjNjeXdnYVhSM2N5d2dUaWs3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJ6SUQwZ01Uc2djeUE4SUU0N0lITWdQRHc5SURFcElIdGNiaUFnSUNBZ0lIWmhjaUJzSUQwZ2N5QThQQ0F4TzF4dVhHNGdJQ0FnSUNCMllYSWdjblIzWkdZZ1BTQk5ZWFJvTG1OdmN5Z3lJQ29nVFdGMGFDNVFTU0F2SUd3cE8xeHVJQ0FnSUNBZ2RtRnlJR2wwZDJSbUlEMGdUV0YwYUM1emFXNG9NaUFxSUUxaGRHZ3VVRWtnTHlCc0tUdGNibHh1SUNBZ0lDQWdabTl5SUNoMllYSWdjQ0E5SURBN0lIQWdQQ0JPT3lCd0lDczlJR3dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEowZDJSbVh5QTlJSEowZDJSbU8xeHVJQ0FnSUNBZ0lDQjJZWElnYVhSM1pHWmZJRDBnYVhSM1pHWTdYRzVjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENCek95QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY21VZ1BTQnlkSGR6VzNBZ0t5QnFYVHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdhV1VnUFNCcGRIZHpXM0FnS3lCcVhUdGNibHh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnlieUE5SUhKMGQzTmJjQ0FySUdvZ0t5QnpYVHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdhVzhnUFNCcGRIZHpXM0FnS3lCcUlDc2djMTA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY25nZ1BTQnlkSGRrWmw4Z0tpQnlieUF0SUdsMGQyUm1YeUFxSUdsdk8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVc4Z1BTQnlkSGRrWmw4Z0tpQnBieUFySUdsMGQyUm1YeUFxSUhKdk8xeHVJQ0FnSUNBZ0lDQWdJSEp2SUQwZ2NuZzdYRzVjYmlBZ0lDQWdJQ0FnSUNCeWRIZHpXM0FnS3lCcVhTQTlJSEpsSUNzZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWwwZ1BTQnBaU0FySUdsdk8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWlBcklITmRJRDBnY21VZ0xTQnlienRjYmlBZ0lDQWdJQ0FnSUNCcGRIZHpXM0FnS3lCcUlDc2djMTBnUFNCcFpTQXRJR2x2TzF4dVhHNGdJQ0FnSUNBZ0lDQWdMeW9nYW5Ob2FXNTBJRzFoZUdSbGNIUm9JRG9nWm1Gc2MyVWdLaTljYmlBZ0lDQWdJQ0FnSUNCcFppQW9haUFoUFQwZ2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NuZ2dQU0J5ZEhka1ppQXFJSEowZDJSbVh5QXRJR2wwZDJSbUlDb2dhWFIzWkdaZk8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcGRIZGtabDhnUFNCeWRIZGtaaUFxSUdsMGQyUm1YeUFySUdsMGQyUm1JQ29nY25SM1pHWmZPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NuUjNaR1pmSUQwZ2NuZzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG1kMVpYTnpUR1Z1TVROaUlEMGdablZ1WTNScGIyNGdaM1ZsYzNOTVpXNHhNMklnS0c0c0lHMHBJSHRjYmlBZ0lDQjJZWElnVGlBOUlFMWhkR2d1YldGNEtHMHNJRzRwSUh3Z01UdGNiaUFnSUNCMllYSWdiMlJrSUQwZ1RpQW1JREU3WEc0Z0lDQWdkbUZ5SUdrZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvVGlBOUlFNGdMeUF5SUh3Z01Ec2dUanNnVGlBOUlFNGdQajQrSURFcElIdGNiaUFnSUNBZ0lHa3JLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z01TQThQQ0JwSUNzZ01TQXJJRzlrWkR0Y2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1amIyNXFkV2RoZEdVZ1BTQm1kVzVqZEdsdmJpQmpiMjVxZFdkaGRHVWdLSEozY3l3Z2FYZHpMQ0JPS1NCN1hHNGdJQ0FnYVdZZ0tFNGdQRDBnTVNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCT0lDOGdNanNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnZENBOUlISjNjMXRwWFR0Y2JseHVJQ0FnSUNBZ2NuZHpXMmxkSUQwZ2NuZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0J5ZDNOYlRpQXRJR2tnTFNBeFhTQTlJSFE3WEc1Y2JpQWdJQ0FnSUhRZ1BTQnBkM05iYVYwN1hHNWNiaUFnSUNBZ0lHbDNjMXRwWFNBOUlDMXBkM05iVGlBdElHa2dMU0F4WFR0Y2JpQWdJQ0FnSUdsM2MxdE9JQzBnYVNBdElERmRJRDBnTFhRN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlRFellpQTlJR1oxYm1OMGFXOXVJRzV2Y20xaGJHbDZaVEV6WWlBb2QzTXNJRTRwSUh0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1RpQXZJREk3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQk5ZWFJvTG5KdmRXNWtLSGR6V3pJZ0tpQnBJQ3NnTVYwZ0x5Qk9LU0FxSURCNE1qQXdNQ0FyWEc0Z0lDQWdJQ0FnSUUxaGRHZ3VjbTkxYm1Rb2QzTmJNaUFxSUdsZElDOGdUaWtnSzF4dUlDQWdJQ0FnSUNCallYSnllVHRjYmx4dUlDQWdJQ0FnZDNOYmFWMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVYRzRnSUNBZ0lDQnBaaUFvZHlBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0JqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JqWVhKeWVTQTlJSGNnTHlBd2VEUXdNREF3TURBZ2ZDQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCM2N6dGNiaUFnZlR0Y2JseHVJQ0JHUmxSTkxuQnliM1J2ZEhsd1pTNWpiMjUyWlhKME1UTmlJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkREV6WWlBb2QzTXNJR3hsYml3Z2NuZHpMQ0JPS1NCN1hHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlHTmhjbko1SUNzZ0tIZHpXMmxkSUh3Z01DazdYRzVjYmlBZ0lDQWdJSEozYzFzeUlDb2dhVjBnUFNCallYSnllU0FtSURCNE1XWm1aanNnWTJGeWNua2dQU0JqWVhKeWVTQStQajRnTVRNN1hHNGdJQ0FnSUNCeWQzTmJNaUFxSUdrZ0t5QXhYU0E5SUdOaGNuSjVJQ1lnTUhneFptWm1PeUJqWVhKeWVTQTlJR05oY25KNUlENCtQaUF4TXp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCUVlXUWdkMmwwYUNCNlpYSnZaWE5jYmlBZ0lDQm1iM0lnS0drZ1BTQXlJQ29nYkdWdU95QnBJRHdnVGpzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0J5ZDNOYmFWMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR0Z6YzJWeWRDaGpZWEp5ZVNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDaGpZWEp5ZVNBbUlINHdlREZtWm1ZcElEMDlQU0F3S1R0Y2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1emRIVmlJRDBnWm5WdVkzUnBiMjRnYzNSMVlpQW9UaWtnZTF4dUlDQWdJSFpoY2lCd2FDQTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnY0doYmFWMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQndhRHRjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0ZFd4d0lEMGdablZ1WTNScGIyNGdiWFZzY0NBb2VDd2dlU3dnYjNWMEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNBeUlDb2dkR2hwY3k1bmRXVnpjMHhsYmpFellpaDRMbXhsYm1kMGFDd2dlUzVzWlc1bmRHZ3BPMXh1WEc0Z0lDQWdkbUZ5SUhKaWRDQTlJSFJvYVhNdWJXRnJaVkpDVkNoT0tUdGNibHh1SUNBZ0lIWmhjaUJmSUQwZ2RHaHBjeTV6ZEhWaUtFNHBPMXh1WEc0Z0lDQWdkbUZ5SUhKM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2NuZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNiaUFnSUNCMllYSWdhWGR6ZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmx4dUlDQWdJSFpoY2lCdWNuZHpJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnVjbmR6ZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnYm1sM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNWNiaUFnSUNCMllYSWdjbTEzY3lBOUlHOTFkQzUzYjNKa2N6dGNiaUFnSUNCeWJYZHpMbXhsYm1kMGFDQTlJRTQ3WEc1Y2JpQWdJQ0IwYUdsekxtTnZiblpsY25ReE0ySW9lQzUzYjNKa2N5d2dlQzVzWlc1bmRHZ3NJSEozY3l3Z1RpazdYRzRnSUNBZ2RHaHBjeTVqYjI1MlpYSjBNVE5pS0hrdWQyOXlaSE1zSUhrdWJHVnVaM1JvTENCdWNuZHpMQ0JPS1R0Y2JseHVJQ0FnSUhSb2FYTXVkSEpoYm5ObWIzSnRLSEozY3l3Z1h5d2djbmR6ZEN3Z2FYZHpkQ3dnVGl3Z2NtSjBLVHRjYmlBZ0lDQjBhR2x6TG5SeVlXNXpabTl5YlNodWNuZHpMQ0JmTENCdWNuZHpkQ3dnYm1sM2MzUXNJRTRzSUhKaWRDazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhKNElEMGdjbmR6ZEZ0cFhTQXFJRzV5ZDNOMFcybGRJQzBnYVhkemRGdHBYU0FxSUc1cGQzTjBXMmxkTzF4dUlDQWdJQ0FnYVhkemRGdHBYU0E5SUhKM2MzUmJhVjBnS2lCdWFYZHpkRnRwWFNBcklHbDNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhUdGNiaUFnSUNBZ0lISjNjM1JiYVYwZ1BTQnllRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG1OdmJtcDFaMkYwWlNoeWQzTjBMQ0JwZDNOMExDQk9LVHRjYmlBZ0lDQjBhR2x6TG5SeVlXNXpabTl5YlNoeWQzTjBMQ0JwZDNOMExDQnliWGR6TENCZkxDQk9MQ0J5WW5RcE8xeHVJQ0FnSUhSb2FYTXVZMjl1YW5WbllYUmxLSEp0ZDNNc0lGOHNJRTRwTzF4dUlDQWdJSFJvYVhNdWJtOXliV0ZzYVhwbE1UTmlLSEp0ZDNNc0lFNHBPMXh1WEc0Z0lDQWdiM1YwTG01bFoyRjBhWFpsSUQwZ2VDNXVaV2RoZEdsMlpTQmVJSGt1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SUhndWJHVnVaM1JvSUNzZ2VTNXNaVzVuZEdnN1hHNGdJQ0FnY21WMGRYSnVJRzkxZEM1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTExYkhScGNHeDVJR0IwYUdsellDQmllU0JnYm5WdFlGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJYVnNJRDBnWm5WdVkzUnBiMjRnYlhWc0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2IzVjBJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUc5MWRDNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdncE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtMTFiRlJ2S0c1MWJTd2diM1YwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJOZFd4MGFYQnNlU0JsYlhCc2IzbHBibWNnUmtaVVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeG1JRDBnWm5WdVkzUnBiMjRnYlhWc1ppQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlHOTFkQ0E5SUc1bGR5QkNUaWh1ZFd4c0tUdGNiaUFnSUNCdmRYUXVkMjl5WkhNZ1BTQnVaWGNnUVhKeVlYa29kR2hwY3k1c1pXNW5kR2dnS3lCdWRXMHViR1Z1WjNSb0tUdGNiaUFnSUNCeVpYUjFjbTRnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdTVzR0Y0d4aFkyVWdUWFZzZEdsd2JHbGpZWFJwYjI1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG0xMWJGUnZLRzUxYlN3Z2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx0ZFd4dUlEMGdablZ1WTNScGIyNGdhVzExYkc0Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOElEQjROREF3TURBd01DazdYRzVjYmlBZ0lDQXZMeUJEWVhKeWVWeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dLaUJ1ZFcwN1hHNGdJQ0FnSUNCMllYSWdiRzhnUFNBb2R5QW1JREI0TTJabVptWm1aaWtnS3lBb1kyRnljbmtnSmlBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUNBZ1kyRnljbmtnUGo0OUlESTJPMXh1SUNBZ0lDQWdZMkZ5Y25rZ0t6MGdLSGNnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQWdJQzh2SUU1UFZFVTZJR3h2SUdseklESTNZbWwwSUcxaGVHbHRkVzFjYmlBZ0lDQWdJR05oY25KNUlDczlJR3h2SUQ0K1BpQXlOanRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQnNieUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtMTFiRzRnUFNCbWRXNWpkR2x2YmlCdGRXeHVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHRkV3h1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1lIUm9hWE5nSUNvZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6Y1hJZ1BTQm1kVzVqZEdsdmJpQnpjWElnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtMTFiQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCZ2RHaHBjMkFnS2lCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6Y1hJZ1BTQm1kVzVqZEdsdmJpQnBjM0Z5SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0hSb2FYTXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1RXRjBhQzV3YjNjb1lIUm9hWE5nTENCZ2JuVnRZQ2xjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkJ2ZHlBOUlHWjFibU4wYVc5dUlIQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSGNnUFNCMGIwSnBkRUZ5Y21GNUtHNTFiU2s3WEc0Z0lDQWdhV1lnS0hjdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdibVYzSUVKT0tERXBPMXh1WEc0Z0lDQWdMeThnVTJ0cGNDQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsek8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2R5NXNaVzVuZEdnN0lHa3JLeXdnY21WeklEMGdjbVZ6TG5OeGNpZ3BLU0I3WEc0Z0lDQWdJQ0JwWmlBb2QxdHBYU0FoUFQwZ01Da2dZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tDc3JhU0E4SUhjdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCeElEMGdjbVZ6TG5OeGNpZ3BPeUJwSUR3Z2R5NXNaVzVuZEdnN0lHa3JLeXdnY1NBOUlIRXVjM0Z5S0NrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hkYmFWMGdQVDA5SURBcElHTnZiblJwYm5WbE8xeHVYRzRnSUNBZ0lDQWdJSEpsY3lBOUlISmxjeTV0ZFd3b2NTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCVGFHbG1kQzFzWldaMElHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGRYTm9iRzRnS0dKcGRITXBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRITWdQVDA5SUNkdWRXMWlaWEluSUNZbUlHSnBkSE1nUGowZ01DazdYRzRnSUNBZ2RtRnlJSElnUFNCaWFYUnpJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMGN5QXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJR05oY25KNVRXRnpheUE5SUNnd2VETm1abVptWm1ZZ1BqNCtJQ2d5TmlBdElISXBLU0E4UENBb01qWWdMU0J5S1R0Y2JpQWdJQ0IyWVhJZ2FUdGNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYm1WM1EyRnljbmtnUFNCMGFHbHpMbmR2Y21SelcybGRJQ1lnWTJGeWNubE5ZWE5yTzF4dUlDQWdJQ0FnSUNCMllYSWdZeUE5SUNnb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDMGdibVYzUTJGeWNua3BJRHc4SUhJN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaklId2dZMkZ5Y25rN1hHNGdJQ0FnSUNBZ0lHTmhjbko1SUQwZ2JtVjNRMkZ5Y25rZ1BqNCtJQ2d5TmlBdElISXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kyRnljbmtwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdOaGNuSjVPMXh1SUNBZ0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHpJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5kSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJSE03SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdNRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ0t6MGdjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMmhzYmlBOUlHWjFibU4wYVc5dUlHbHphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdMeThnVkU5RVR5aHBibVIxZEc1NUtUb2dhVzF3YkdWdFpXNTBJRzFsWEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWwxYzJoc2JpaGlhWFJ6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXlhV2RvZENCcGJpMXdiR0ZqWlZ4dUlDQXZMeUJPVDFSRk9pQmdhR2x1ZEdBZ2FYTWdZU0JzYjNkbGMzUWdZbWwwSUdKbFptOXlaU0IwY21GcGJHbHVaeUI2WlhKdlpYTmNiaUFnTHk4Z1RrOVVSVG9nYVdZZ1lHVjRkR1Z1WkdWa1lDQnBjeUJ3Y21WelpXNTBJQzBnYVhRZ2QybHNiQ0JpWlNCbWFXeHNaV1FnZDJsMGFDQmtaWE4wY205NVpXUWdZbWwwYzF4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFISnVJRDBnWm5WdVkzUnBiMjRnYVhWemFISnVJQ2hpYVhSekxDQm9hVzUwTENCbGVIUmxibVJsWkNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdZbWwwY3lBOVBUMGdKMjUxYldKbGNpY2dKaVlnWW1sMGN5QStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2FEdGNiaUFnSUNCcFppQW9hR2x1ZENrZ2UxeHVJQ0FnSUNBZ2FDQTlJQ2hvYVc1MElDMGdLR2hwYm5RZ0pTQXlOaWtwSUM4Z01qWTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdnZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBjeUFsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnVFdGMGFDNXRhVzRvS0dKcGRITWdMU0J5S1NBdklESTJMQ0IwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnZG1GeUlHMWhjMnNnUFNBd2VETm1abVptWm1ZZ1hpQW9LREI0TTJabVptWm1aaUErUGo0Z2Npa2dQRHdnY2lrN1hHNGdJQ0FnZG1GeUlHMWhjMnRsWkZkdmNtUnpJRDBnWlhoMFpXNWtaV1E3WEc1Y2JpQWdJQ0JvSUMwOUlITTdYRzRnSUNBZ2FDQTlJRTFoZEdndWJXRjRLREFzSUdncE8xeHVYRzRnSUNBZ0x5OGdSWGgwWlc1a1pXUWdiVzlrWlN3Z1kyOXdlU0J0WVhOclpXUWdjR0Z5ZEZ4dUlDQWdJR2xtSUNodFlYTnJaV1JYYjNKa2N5a2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6T3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWJHVnVaM1JvSUQwZ2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jeUE5UFQwZ01Da2dlMXh1SUNBZ0lDQWdMeThnVG04dGIzQXNJSGRsSUhOb2IzVnNaQ0J1YjNRZ2JXOTJaU0JoYm5sMGFHbHVaeUJoZENCaGJHeGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnY3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dMVDBnY3p0Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01DQW1KaUFvWTJGeWNua2dJVDA5SURBZ2ZId2dhU0ErUFNCb0tUc2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdkMjl5WkNBOUlIUm9hWE11ZDI5eVpITmJhVjBnZkNBd08xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUNoallYSnllU0E4UENBb01qWWdMU0J5S1NrZ2ZDQW9kMjl5WkNBK1BqNGdjaWs3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGR2Y21RZ0ppQnRZWE5yTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZCMWMyZ2dZMkZ5Y21sbFpDQmlhWFJ6SUdGeklHRWdiV0Z6YTF4dUlDQWdJR2xtSUNodFlYTnJaV1JYYjNKa2N5QW1KaUJqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JXRnphMlZrVjI5eVpITXVkMjl5WkhOYmJXRnphMlZrVjI5eVpITXViR1Z1WjNSb0t5dGRJRDBnWTJGeWNuazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdNRHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMyaHliaUE5SUdaMWJtTjBhVzl1SUdsemFISnVJQ2hpYVhSekxDQm9hVzUwTENCbGVIUmxibVJsWkNrZ2UxeHVJQ0FnSUM4dklGUlBSRThvYVc1a2RYUnVlU2s2SUdsdGNHeGxiV1Z1ZENCdFpWeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGRYTm9jbTRvWW1sMGN5d2dhR2x1ZEN3Z1pYaDBaVzVrWldRcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOb2FXWjBMV3hsWm5SY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5Ob2JHNGdQU0JtZFc1amRHbHZiaUJ6YUd4dUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMyaHNiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRYTm9iRzRnUFNCbWRXNWpkR2x2YmlCMWMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ6YUd4dUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk5vYVdaMExYSnBaMmgwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUhKdUlEMGdablZ1WTNScGIyNGdjMmh5YmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2NtNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFISnVJRDBnWm5WdVkzUnBiMjRnZFhOb2NtNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmh5YmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlVaWE4wSUdsbUlHNGdZbWwwSUdseklITmxkRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkR1Z6ZEc0Z1BTQm1kVzVqZEdsdmJpQjBaWE4wYmlBb1ltbDBLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUWdQVDA5SUNkdWRXMWlaWEluSUNZbUlHSnBkQ0ErUFNBd0tUdGNiaUFnSUNCMllYSWdjaUE5SUdKcGRDQWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZENBdElISXBJQzhnTWpZN1hHNGdJQ0FnZG1GeUlIRWdQU0F4SUR3OElISTdYRzVjYmlBZ0lDQXZMeUJHWVhOMElHTmhjMlU2SUdKcGRDQnBjeUJ0ZFdOb0lHaHBaMmhsY2lCMGFHRnVJR0ZzYkNCbGVHbHpkR2x1WnlCM2IzSmtjMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOFBTQnpLU0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNBdkx5QkRhR1ZqYXlCaWFYUWdZVzVrSUhKbGRIVnlibHh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHpYVHRjYmx4dUlDQWdJSEpsZEhWeWJpQWhJU2gzSUNZZ2NTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc5dWJIa2diRzkzWlhKeklHSnBkSE1nYjJZZ2JuVnRZbVZ5SUNocGJpMXdiR0ZqWlNsY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdFlYTnJiaUE5SUdaMWJtTjBhVzl1SUdsdFlYTnJiaUFvWW1sMGN5a2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMGN5QTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBjeUErUFNBd0tUdGNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJQ2hpYVhSeklDMGdjaWtnTHlBeU5qdGNibHh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5hVzFoYzJ0dUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCd2IzTnBkR2wyWlNCdWRXMWlaWEp6SnlrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hJZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhNckt6dGNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG0xcGJpaHpMQ0IwYUdsekxteGxibWQwYUNrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUcxaGMyc2dQU0F3ZURObVptWm1abVlnWGlBb0tEQjRNMlptWm1abVppQStQajRnY2lrZ1BEd2djaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzNSb2FYTXViR1Z1WjNSb0lDMGdNVjBnSmowZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdmJteDVJR3h2ZDJWeWN5QmlhWFJ6SUc5bUlHNTFiV0psY2x4dUlDQkNUaTV3Y205MGIzUjVjR1V1YldGemEyNGdQU0JtZFc1amRHbHZiaUJ0WVhOcmJpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXMWhjMnR1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0J3YkdGcGJpQnVkVzFpWlhJZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwWVdSa2JpQTlJR1oxYm1OMGFXOXVJR2xoWkdSdUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHNTFiU0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BDQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwZ1BDQXdLU0J5WlhSMWNtNGdkR2hwY3k1cGMzVmliaWd0Ym5WdEtUdGNibHh1SUNBZ0lDOHZJRkJ2YzNOcFlteGxJSE5wWjI0Z1kyaGhibWRsWEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0I4SURBcElEd2diblZ0S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnUFNCdWRXMGdMU0FvZEdocGN5NTNiM0prYzFzd1hTQjhJREFwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cGMzVmliaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnZDJsMGFHOTFkQ0JqYUdWamEzTmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZhV0ZrWkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmxoWkdSdUlEMGdablZ1WTNScGIyNGdYMmxoWkdSdUlDaHVkVzBwSUh0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUQ0OUlEQjROREF3TURBd01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQzA5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUdsbUlDaHBJRDA5UFNCMGFHbHpMbXhsYm1kMGFDQXRJREVwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ1BTQXhPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ01WMHJLenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JOWVhSb0xtMWhlQ2gwYUdsekxteGxibWQwYUN3Z2FTQXJJREVwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNWaWRISmhZM1FnY0d4aGFXNGdiblZ0WW1WeUlHQnVkVzFnSUdaeWIyMGdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMzVmliaUE5SUdaMWJtTjBhVzl1SUdsemRXSnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjUxYldKbGNpY3BPMXh1SUNBZ0lHRnpjMlZ5ZENodWRXMGdQQ0F3ZURRd01EQXdNREFwTzF4dUlDQWdJR2xtSUNodWRXMGdQQ0F3S1NCeVpYUjFjbTRnZEdocGN5NXBZV1JrYmlndGJuVnRLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pHNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXRQU0J1ZFcwN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQThJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F0ZEdocGN5NTNiM0prYzFzd1hUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUR3Z01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnS3owZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQXRQU0F4TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUZrWkc0Z1BTQm1kVzVqZEdsdmJpQmhaR1J1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxoWkdSdUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbk4xWW00Z1BTQm1kVzVqZEdsdmJpQnpkV0p1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6ZFdKdUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxoWW5NZ1BTQm1kVzVqZEdsdmJpQnBZV0p6SUNncElIdGNiaUFnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aFluTWdQU0JtZFc1amRHbHZiaUJoWW5NZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZpY3lncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFYTm9iRzV6ZFdKdGRXd2dQU0JtZFc1amRHbHZiaUJmYVhOb2JHNXpkV0p0ZFd3Z0tHNTFiU3dnYlhWc0xDQnphR2xtZENrZ2UxeHVJQ0FnSUhaaGNpQnNaVzRnUFNCdWRXMHViR1Z1WjNSb0lDc2djMmhwWm5RN1hHNGdJQ0FnZG1GeUlHazdYRzVjYmlBZ0lDQjBhR2x6TGw5bGVIQmhibVFvYkdWdUtUdGNibHh1SUNBZ0lIWmhjaUIzTzF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJRzUxYlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUNoMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnZG1GeUlISnBaMmgwSUQwZ0tHNTFiUzUzYjNKa2MxdHBYU0I4SURBcElDb2diWFZzTzF4dUlDQWdJQ0FnZHlBdFBTQnlhV2RvZENBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ0tIY2dQajRnTWpZcElDMGdLQ2h5YVdkb2RDQXZJREI0TkRBd01EQXdNQ2tnZkNBd0tUdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9PeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZ2dMU0J6YUdsbWREc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM0lEMGdLSFJvYVhNdWQyOXlaSE5iYVNBcklITm9hV1owWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlIY2dQajRnTWpZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ2tnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JseHVJQ0FnSUM4dklGTjFZblJ5WVdOMGFXOXVJRzkyWlhKbWJHOTNYRzRnSUNBZ1lYTnpaWEowS0dOaGNuSjVJRDA5UFNBdE1TazdYRzRnSUNBZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0xTaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2R5QStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDkzYjNKa1JHbDJJRDBnWm5WdVkzUnBiMjRnWDNkdmNtUkVhWFlnS0c1MWJTd2diVzlrWlNrZ2UxeHVJQ0FnSUhaaGNpQnphR2xtZENBOUlIUm9hWE11YkdWdVozUm9JQzBnYm5WdExteGxibWQwYUR0Y2JseHVJQ0FnSUhaaGNpQmhJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUhaaGNpQmlJRDBnYm5WdE8xeHVYRzRnSUNBZ0x5OGdUbTl5YldGc2FYcGxYRzRnSUNBZ2RtRnlJR0pvYVNBOUlHSXVkMjl5WkhOYllpNXNaVzVuZEdnZ0xTQXhYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSm9hVUpwZEhNZ1BTQjBhR2x6TGw5amIzVnVkRUpwZEhNb1ltaHBLVHRjYmlBZ0lDQnphR2xtZENBOUlESTJJQzBnWW1ocFFtbDBjenRjYmlBZ0lDQnBaaUFvYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHSWdQU0JpTG5WemFHeHVLSE5vYVdaMEtUdGNiaUFnSUNBZ0lHRXVhWFZ6YUd4dUtITm9hV1owS1R0Y2JpQWdJQ0FnSUdKb2FTQTlJR0l1ZDI5eVpITmJZaTVzWlc1bmRHZ2dMU0F4WFNCOElEQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTVzVwZEdsaGJHbDZaU0J4ZFc5MGFXVnVkRnh1SUNBZ0lIWmhjaUJ0SUQwZ1lTNXNaVzVuZEdnZ0xTQmlMbXhsYm1kMGFEdGNiaUFnSUNCMllYSWdjVHRjYmx4dUlDQWdJR2xtSUNodGIyUmxJQ0U5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnY1NBOUlHNWxkeUJDVGlodWRXeHNLVHRjYmlBZ0lDQWdJSEV1YkdWdVozUm9JRDBnYlNBcklERTdYRzRnSUNBZ0lDQnhMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSEV1YkdWdVozUm9LVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnY1M1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0J4TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdaR2xtWmlBOUlHRXVZMnh2Ym1Vb0tTNWZhWE5vYkc1emRXSnRkV3dvWWl3Z01Td2diU2s3WEc0Z0lDQWdhV1lnS0dScFptWXVibVZuWVhScGRtVWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHRWdQU0JrYVdabU8xeHVJQ0FnSUNBZ2FXWWdLSEVwSUh0Y2JpQWdJQ0FnSUNBZ2NTNTNiM0prYzF0dFhTQTlJREU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SUcwZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEZxSUQwZ0tHRXVkMjl5WkhOYllpNXNaVzVuZEdnZ0t5QnFYU0I4SURBcElDb2dNSGcwTURBd01EQXdJQ3RjYmlBZ0lDQWdJQ0FnS0dFdWQyOXlaSE5iWWk1c1pXNW5kR2dnS3lCcUlDMGdNVjBnZkNBd0tUdGNibHh1SUNBZ0lDQWdMeThnVGs5VVJUb2dLSEZxSUM4Z1ltaHBLU0JwY3lBb01IZ3pabVptWm1abUlDb2dNSGcwTURBd01EQXdJQ3NnTUhnelptWm1abVptS1NBdklEQjRNakF3TURBd01DQnRZWGhjYmlBZ0lDQWdJQzh2SUNnd2VEZG1abVptWm1ZcFhHNGdJQ0FnSUNCeGFpQTlJRTFoZEdndWJXbHVLQ2h4YWlBdklHSm9hU2tnZkNBd0xDQXdlRE5tWm1abVptWXBPMXh1WEc0Z0lDQWdJQ0JoTGw5cGMyaHNibk4xWW0xMWJDaGlMQ0J4YWl3Z2FpazdYRzRnSUNBZ0lDQjNhR2xzWlNBb1lTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnhhaTB0TzF4dUlDQWdJQ0FnSUNCaExtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJQ0FnWVM1ZmFYTm9iRzV6ZFdKdGRXd29ZaXdnTVN3Z2FpazdYRzRnSUNBZ0lDQWdJR2xtSUNnaFlTNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdFdWJtVm5ZWFJwZG1VZ1hqMGdNVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJQ0FnY1M1M2IzSmtjMXRxWFNBOUlIRnFPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9jU2tnZTF4dUlDQWdJQ0FnY1M1emRISnBjQ2dwTzF4dUlDQWdJSDFjYmlBZ0lDQmhMbk4wY21sd0tDazdYRzVjYmlBZ0lDQXZMeUJFWlc1dmNtMWhiR2w2WlZ4dUlDQWdJR2xtSUNodGIyUmxJQ0U5UFNBblpHbDJKeUFtSmlCemFHbG1kQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZUzVwZFhOb2NtNG9jMmhwWm5RcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JrYVhZNklIRWdmSHdnYm5Wc2JDeGNiaUFnSUNBZ0lHMXZaRG9nWVZ4dUlDQWdJSDA3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUazlVUlRvZ01Ta2dZRzF2WkdWZ0lHTmhiaUJpWlNCelpYUWdkRzhnWUcxdlpHQWdkRzhnY21WeGRXVnpkQ0J0YjJRZ2IyNXNlU3hjYmlBZ0x5OGdJQ0FnSUNBZ2RHOGdZR1JwZG1BZ2RHOGdjbVZ4ZFdWemRDQmthWFlnYjI1c2VTd2diM0lnWW1VZ1lXSnpaVzUwSUhSdlhHNGdJQzh2SUNBZ0lDQWdJSEpsY1hWbGMzUWdZbTkwYUNCa2FYWWdKaUJ0YjJSY2JpQWdMeThnSUNBZ0lDQWdNaWtnWUhCdmMybDBhWFpsWUNCcGN5QjBjblZsSUdsbUlIVnVjMmxuYm1Wa0lHMXZaQ0JwY3lCeVpYRjFaWE4wWldSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1ScGRtMXZaQ0E5SUdaMWJtTjBhVzl1SUdScGRtMXZaQ0FvYm5WdExDQnRiMlJsTENCd2IzTnBkR2wyWlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2doYm5WdExtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUc1bGR5QkNUaWd3S1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9NQ2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdScGRpd2diVzlrTENCeVpYTTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2JuVnRMbTVsWjJGMGFYWmxJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMGFHbHpMbTVsWnlncExtUnBkbTF2WkNodWRXMHNJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJQ0FnWkdsMklEMGdjbVZ6TG1ScGRpNXVaV2NvS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJRzF2WkNBOUlISmxjeTV0YjJRdWJtVm5LQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdiM05wZEdsMlpTQW1KaUJ0YjJRdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnRiMlF1YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nWkdsMkxGeHVJQ0FnSUNBZ0lDQnRiMlE2SUcxdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVaR2wyYlc5a0tHNTFiUzV1Wldjb0tTd2diVzlrWlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdJQ0JrYVhZZ1BTQnlaWE11WkdsMkxtNWxaeWdwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ5WlhNdWJXOWtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2dvZEdocGN5NXVaV2RoZEdsMlpTQW1JRzUxYlM1dVpXZGhkR2wyWlNrZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdWJtVm5LQ2t1WkdsMmJXOWtLRzUxYlM1dVpXY29LU3dnYlc5a1pTazdYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJQ0U5UFNBblpHbDJKeWtnZTF4dUlDQWdJQ0FnSUNCdGIyUWdQU0J5WlhNdWJXOWtMbTVsWnlncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY0c5emFYUnBkbVVnSmlZZ2JXOWtMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYlc5a0xtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JrYVhZNklISmxjeTVrYVhZc1hHNGdJQ0FnSUNBZ0lHMXZaRG9nYlc5a1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFSnZkR2dnYm5WdFltVnljeUJoY21VZ2NHOXphWFJwZG1VZ1lYUWdkR2hwY3lCd2IybHVkRnh1WEc0Z0lDQWdMeThnVTNSeWFYQWdZbTkwYUNCdWRXMWlaWEp6SUhSdklHRndjSEp2ZUdsdFlYUmxJSE5vYVdaMElIWmhiSFZsWEc0Z0lDQWdhV1lnS0c1MWJTNXNaVzVuZEdnZ1BpQjBhR2x6TG14bGJtZDBhQ0I4ZkNCMGFHbHpMbU50Y0NodWRXMHBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dkR2hwYzF4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCV1pYSjVJSE5vYjNKMElISmxaSFZqZEdsdmJseHVJQ0FnSUdsbUlDaHVkVzB1YkdWdVozUm9JRDA5UFNBeEtTQjdYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQTlQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNCa2FYWTZJSFJvYVhNdVpHbDJiaWh1ZFcwdWQyOXlaSE5iTUYwcExGeHVJQ0FnSUNBZ0lDQWdJRzF2WkRvZ2JuVnNiRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBOVBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0JrYVhZNklHNTFiR3dzWEc0Z0lDQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9kR2hwY3k1dGIyUnVLRzUxYlM1M2IzSmtjMXN3WFNrcFhHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ2RHaHBjeTVrYVhadUtHNTFiUzUzYjNKa2Mxc3dYU2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmQyOXlaRVJwZGlodWRXMHNJRzF2WkdVcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVacGJtUWdZSFJvYVhOZ0lDOGdZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1ScGRpQTlJR1oxYm1OMGFXOXVJR1JwZGlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WkdsMmJXOWtLRzUxYlN3Z0oyUnBkaWNzSUdaaGJITmxLUzVrYVhZN1hHNGdJSDA3WEc1Y2JpQWdMeThnUm1sdVpDQmdkR2hwYzJBZ0pTQmdiblZ0WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Ylc5a0lEMGdablZ1WTNScGIyNGdiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnWm1Gc2MyVXBMbTF2WkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFcxdlpDQTlJR1oxYm1OMGFXOXVJSFZ0YjJRZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGRtMXZaQ2h1ZFcwc0lDZHRiMlFuTENCMGNuVmxLUzV0YjJRN1hHNGdJSDA3WEc1Y2JpQWdMeThnUm1sdVpDQlNiM1Z1WkNoZ2RHaHBjMkFnTHlCZ2JuVnRZQ2xjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZGxKdmRXNWtJRDBnWm5WdVkzUnBiMjRnWkdsMlVtOTFibVFnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJrYlNBOUlIUm9hWE11WkdsMmJXOWtLRzUxYlNrN1hHNWNiaUFnSUNBdkx5QkdZWE4wSUdOaGMyVWdMU0JsZUdGamRDQmthWFpwYzJsdmJseHVJQ0FnSUdsbUlDaGtiUzV0YjJRdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCa2JTNWthWFk3WEc1Y2JpQWdJQ0IyWVhJZ2JXOWtJRDBnWkcwdVpHbDJMbTVsWjJGMGFYWmxJQ0U5UFNBd0lEOGdaRzB1Ylc5a0xtbHpkV0lvYm5WdEtTQTZJR1J0TG0xdlpEdGNibHh1SUNBZ0lIWmhjaUJvWVd4bUlEMGdiblZ0TG5WemFISnVLREVwTzF4dUlDQWdJSFpoY2lCeU1pQTlJRzUxYlM1aGJtUnNiaWd4S1R0Y2JpQWdJQ0IyWVhJZ1kyMXdJRDBnYlc5a0xtTnRjQ2hvWVd4bUtUdGNibHh1SUNBZ0lDOHZJRkp2ZFc1a0lHUnZkMjVjYmlBZ0lDQnBaaUFvWTIxd0lEd2dNQ0I4ZkNCeU1pQTlQVDBnTVNBbUppQmpiWEFnUFQwOUlEQXBJSEpsZEhWeWJpQmtiUzVrYVhZN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCMWNGeHVJQ0FnSUhKbGRIVnliaUJrYlM1a2FYWXVibVZuWVhScGRtVWdJVDA5SURBZ1B5QmtiUzVrYVhZdWFYTjFZbTRvTVNrZ09pQmtiUzVrYVhZdWFXRmtaRzRvTVNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xdlpHNGdQU0JtZFc1amRHbHZiaUJ0YjJSdUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppazdYRzRnSUNBZ2RtRnlJSEFnUFNBb01TQThQQ0F5TmlrZ0pTQnVkVzA3WEc1Y2JpQWdJQ0IyWVhJZ1lXTmpJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdZV05qSUQwZ0tIQWdLaUJoWTJNZ0t5QW9kR2hwY3k1M2IzSmtjMXRwWFNCOElEQXBLU0FsSUc1MWJUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWVdOak8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdUxYQnNZV05sSUdScGRtbHphVzl1SUdKNUlHNTFiV0psY2x4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdScGRtNGdQU0JtZFc1amRHbHZiaUJwWkdsMmJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOFBTQXdlRE5tWm1abVptWXBPMXh1WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQW9kR2hwY3k1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNua2dLaUF3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdLSGNnTHlCdWRXMHBJSHdnTUR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBbElHNTFiVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFp1SUQwZ1puVnVZM1JwYjI0Z1pHbDJiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBaR2wyYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxaMk5rSUQwZ1puVnVZM1JwYjI0Z1pXZGpaQ0FvY0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h3TG01bFoyRjBhWFpsSUQwOVBTQXdLVHRjYmlBZ0lDQmhjM05sY25Rb0lYQXVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdkbUZ5SUhnZ1BTQjBhR2x6TzF4dUlDQWdJSFpoY2lCNUlEMGdjQzVqYkc5dVpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0hndWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhnZ1BTQjRMblZ0YjJRb2NDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhnZ1BTQjRMbU5zYjI1bEtDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRU0FxSUhnZ0t5QkNJQ29nZVNBOUlIaGNiaUFnSUNCMllYSWdRU0E5SUc1bGR5QkNUaWd4S1R0Y2JpQWdJQ0IyWVhJZ1FpQTlJRzVsZHlCQ1RpZ3dLVHRjYmx4dUlDQWdJQzh2SUVNZ0tpQjRJQ3NnUkNBcUlIa2dQU0I1WEc0Z0lDQWdkbUZ5SUVNZ1BTQnVaWGNnUWs0b01DazdYRzRnSUNBZ2RtRnlJRVFnUFNCdVpYY2dRazRvTVNrN1hHNWNiaUFnSUNCMllYSWdaeUE5SURBN1hHNWNiaUFnSUNCM2FHbHNaU0FvZUM1cGMwVjJaVzRvS1NBbUppQjVMbWx6UlhabGJpZ3BLU0I3WEc0Z0lDQWdJQ0I0TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUhrdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0t5dG5PMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI1Y0NBOUlIa3VZMnh2Ym1Vb0tUdGNiaUFnSUNCMllYSWdlSEFnUFNCNExtTnNiMjVsS0NrN1hHNWNiaUFnSUNCM2FHbHNaU0FvSVhndWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCcGJTQTlJREU3SUNoNExuZHZjbVJ6V3pCZElDWWdhVzBwSUQwOVBTQXdJQ1ltSUdrZ1BDQXlOanNnS3l0cExDQnBiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYVNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnZUM1cGRYTm9jbTRvYVNrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocExTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0VFdWFYTlBaR1FvS1NCOGZDQkNMbWx6VDJSa0tDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFRXVhV0ZrWkNoNWNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCQ0xtbHpkV0lvZUhBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lFRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0FnSUVJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd0xDQnFiU0E5SURFN0lDaDVMbmR2Y21Seld6QmRJQ1lnYW0wcElEMDlQU0F3SUNZbUlHb2dQQ0F5TmpzZ0t5dHFMQ0JxYlNBOFBEMGdNU2s3WEc0Z0lDQWdJQ0JwWmlBb2FpQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ2VTNXBkWE5vY200b2FpazdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaHFMUzBnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tFTXVhWE5QWkdRb0tTQjhmQ0JFTG1selQyUmtLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRU11YVdGa1pDaDVjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkVMbWx6ZFdJb2VIQXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJRU11YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNBZ0lFUXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaDRMbU50Y0NoNUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lIZ3VhWE4xWWloNUtUdGNiaUFnSUNBZ0lDQWdRUzVwYzNWaUtFTXBPMXh1SUNBZ0lDQWdJQ0JDTG1semRXSW9SQ2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0I1TG1semRXSW9lQ2s3WEc0Z0lDQWdJQ0FnSUVNdWFYTjFZaWhCS1R0Y2JpQWdJQ0FnSUNBZ1JDNXBjM1ZpS0VJcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JoT2lCRExGeHVJQ0FnSUNBZ1lqb2dSQ3hjYmlBZ0lDQWdJR2RqWkRvZ2VTNXBkWE5vYkc0b1p5bGNiaUFnSUNCOU8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZSb2FYTWdhWE1nY21Wa2RXTmxaQ0JwYm1OaGNtNWhkR2x2YmlCdlppQjBhR1VnWW1sdVlYSjVJRVZGUVZ4dUlDQXZMeUJoWW05MlpTd2daR1Z6YVdkdVlYUmxaQ0IwYnlCcGJuWmxjblFnYldWdFltVnljeUJ2WmlCMGFHVmNiaUFnTHk4Z1gzQnlhVzFsWHlCbWFXVnNaSE1nUmlod0tTQmhkQ0JoSUcxaGVHbHRZV3dnYzNCbFpXUmNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBiblp0Y0NBOUlHWjFibU4wYVc5dUlGOXBiblp0Y0NBb2NDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENod0xtNWxaMkYwYVhabElEMDlQU0F3S1R0Y2JpQWdJQ0JoYzNObGNuUW9JWEF1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0IwYUdsek8xeHVJQ0FnSUhaaGNpQmlJRDBnY0M1amJHOXVaU2dwTzF4dVhHNGdJQ0FnYVdZZ0tHRXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRWdQU0JoTG5WdGIyUW9jQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHRWdQU0JoTG1Oc2IyNWxLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhneElEMGdibVYzSUVKT0tERXBPMXh1SUNBZ0lIWmhjaUI0TWlBOUlHNWxkeUJDVGlnd0tUdGNibHh1SUNBZ0lIWmhjaUJrWld4MFlTQTlJR0l1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSGRvYVd4bElDaGhMbU50Y0c0b01Ta2dQaUF3SUNZbUlHSXVZMjF3YmlneEtTQStJREFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JwYlNBOUlERTdJQ2hoTG5kdmNtUnpXekJkSUNZZ2FXMHBJRDA5UFNBd0lDWW1JR2tnUENBeU5qc2dLeXRwTENCcGJTQThQRDBnTVNrN1hHNGdJQ0FnSUNCcFppQW9hU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdZUzVwZFhOb2NtNG9hU2s3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hwTFMwZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSGd4TG1selQyUmtLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGd4TG1saFpHUW9aR1ZzZEdFcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIZ3hMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNQ3dnYW0wZ1BTQXhPeUFvWWk1M2IzSmtjMXN3WFNBbUlHcHRLU0E5UFQwZ01DQW1KaUJxSUR3Z01qWTdJQ3NyYWl3Z2FtMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR29nUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR0l1YVhWemFISnVLR29wTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYWkwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2g0TWk1cGMwOWtaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I0TWk1cFlXUmtLR1JsYkhSaEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQjRNaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLR0V1WTIxd0tHSXBJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdZUzVwYzNWaUtHSXBPMXh1SUNBZ0lDQWdJQ0I0TVM1cGMzVmlLSGd5S1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdJdWFYTjFZaWhoS1R0Y2JpQWdJQ0FnSUNBZ2VESXVhWE4xWWloNE1TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSEpsY3p0Y2JpQWdJQ0JwWmlBb1lTNWpiWEJ1S0RFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0I0TVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2VESTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9jQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaMk5rSUQwZ1puVnVZM1JwYjI0Z1oyTmtJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1MWJTNWhZbk1vS1R0Y2JpQWdJQ0JwWmlBb2JuVnRMbWx6V21WeWJ5Z3BLU0J5WlhSMWNtNGdkR2hwY3k1aFluTW9LVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3k1amJHOXVaU2dwTzF4dUlDQWdJSFpoY2lCaUlEMGdiblZ0TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdZUzV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnWWk1dVpXZGhkR2wyWlNBOUlEQTdYRzVjYmlBZ0lDQXZMeUJTWlcxdmRtVWdZMjl0Ylc5dUlHWmhZM1J2Y2lCdlppQjBkMjljYmlBZ0lDQm1iM0lnS0haaGNpQnphR2xtZENBOUlEQTdJR0V1YVhORmRtVnVLQ2tnSmlZZ1lpNXBjMFYyWlc0b0tUc2djMmhwWm5Rckt5a2dlMXh1SUNBZ0lDQWdZUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JrYnlCN1hHNGdJQ0FnSUNCM2FHbHNaU0FvWVM1cGMwVjJaVzRvS1NrZ2UxeHVJQ0FnSUNBZ0lDQmhMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSGRvYVd4bElDaGlMbWx6UlhabGJpZ3BLU0I3WEc0Z0lDQWdJQ0FnSUdJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjJZWElnY2lBOUlHRXVZMjF3S0dJcE8xeHVJQ0FnSUNBZ2FXWWdLSElnUENBd0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUZOM1lYQWdZR0ZnSUdGdVpDQmdZbUFnZEc4Z2JXRnJaU0JnWVdBZ1lXeDNZWGx6SUdKcFoyZGxjaUIwYUdGdUlHQmlZRnh1SUNBZ0lDQWdJQ0IyWVhJZ2RDQTlJR0U3WEc0Z0lDQWdJQ0FnSUdFZ1BTQmlPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2REdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jaUE5UFQwZ01DQjhmQ0JpTG1OdGNHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR0V1YVhOMVlpaGlLVHRjYmlBZ0lDQjlJSGRvYVd4bElDaDBjblZsS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJpTG1sMWMyaHNiaWh6YUdsbWRDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNTJaWEowSUc1MWJXSmxjaUJwYmlCMGFHVWdabWxsYkdRZ1JpaHVkVzBwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5adElEMGdablZ1WTNScGIyNGdhVzUyYlNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WldkalpDaHVkVzBwTG1FdWRXMXZaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMwVjJaVzRnUFNCbWRXNWpkR2x2YmlCcGMwVjJaVzRnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUFvZEdocGN5NTNiM0prYzFzd1hTQW1JREVwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMDlrWkNBOUlHWjFibU4wYVc5dUlHbHpUMlJrSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVkMjl5WkhOYk1GMGdKaUF4S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkJibVFnWm1seWMzUWdkMjl5WkNCaGJtUWdiblZ0WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoYm1Sc2JpQTlJR1oxYm1OMGFXOXVJR0Z1Wkd4dUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1M2IzSmtjMXN3WFNBbUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpibU55WlcxbGJuUWdZWFFnZEdobElHSnBkQ0J3YjNOcGRHbHZiaUJwYmkxc2FXNWxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWlhVzVqYmlBOUlHWjFibU4wYVc5dUlHSnBibU51SUNoaWFYUXBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJSFpoY2lCeUlEMGdZbWwwSUNVZ01qWTdYRzRnSUNBZ2RtRnlJSE1nUFNBb1ltbDBJQzBnY2lrZ0x5QXlOanRjYmlBZ0lDQjJZWElnY1NBOUlERWdQRHdnY2p0Y2JseHVJQ0FnSUM4dklFWmhjM1FnWTJGelpUb2dZbWwwSUdseklHMTFZMmdnYUdsbmFHVnlJSFJvWVc0Z1lXeHNJR1Y0YVhOMGFXNW5JSGR2Y21SelhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lIUm9hWE11WDJWNGNHRnVaQ2h6SUNzZ01TazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM05kSUh3OUlIRTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCWkdRZ1ltbDBJR0Z1WkNCd2NtOXdZV2RoZEdVc0lHbG1JRzVsWldSbFpGeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlIRTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJSE03SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZHlBclBTQmpZWEp5ZVR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBK1BqNGdNalk3WEc0Z0lDQWdJQ0IzSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCM08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMxcGxjbThnUFNCbWRXNWpkR2x2YmlCcGMxcGxjbThnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRDA5UFNBd08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1amJYQnVJRDBnWm5WdVkzUnBiMjRnWTIxd2JpQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlHNWxaMkYwYVhabElEMGdiblZ0SUR3Z01EdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlDRnVaV2RoZEdsMlpTa2djbVYwZFhKdUlDMHhPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNWxaMkYwYVhabEtTQnlaWFIxY200Z01UdGNibHh1SUNBZ0lIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJSFpoY2lCeVpYTTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYVdZZ0tHNWxaMkYwYVhabEtTQjdYRzRnSUNBZ0lDQWdJRzUxYlNBOUlDMXVkVzA3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BEMGdNSGd6Wm1abVptWm1MQ0FuVG5WdFltVnlJR2x6SUhSdmJ5QmlhV2NuS1R0Y2JseHVJQ0FnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21Seld6QmRJSHdnTUR0Y2JpQWdJQ0FnSUhKbGN5QTlJSGNnUFQwOUlHNTFiU0EvSURBZ09pQjNJRHdnYm5WdElEOGdMVEVnT2lBeE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2djbVYwZFhKdUlDMXlaWE1nZkNBd08xeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnUTI5dGNHRnlaU0IwZDI4Z2JuVnRZbVZ5Y3lCaGJtUWdjbVYwZFhKdU9seHVJQ0F2THlBeElDMGdhV1lnWUhSb2FYTmdJRDRnWUc1MWJXQmNiaUFnTHk4Z01DQXRJR2xtSUdCMGFHbHpZQ0E5UFNCZ2JuVnRZRnh1SUNBdkx5QXRNU0F0SUdsbUlHQjBhR2x6WUNBOElHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYlhBZ1BTQm1kVzVqZEdsdmJpQmpiWEFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2djbVYwZFhKdUlDMHhPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2djbVYwZFhKdUlERTdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3k1MVkyMXdLRzUxYlNrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSEpsZEhWeWJpQXRjbVZ6SUh3Z01EdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZWdWMybG5ibVZrSUdOdmJYQmhjbWx6YjI1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WamJYQWdQU0JtZFc1amRHbHZiaUIxWTIxd0lDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCQmRDQjBhR2x6SUhCdmFXNTBJR0p2ZEdnZ2JuVnRZbVZ5Y3lCb1lYWmxJSFJvWlNCellXMWxJSE5wWjI1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnTVR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnTFRFN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlHRWdQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXMmxkSUh3Z01EdGNibHh1SUNBZ0lDQWdhV1lnS0dFZ1BUMDlJR0lwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnYVdZZ0tHRWdQQ0JpS1NCN1hHNGdJQ0FnSUNBZ0lISmxjeUE5SUMweE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGhJRDRnWWlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE1nUFNBeE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZDBiaUE5SUdaMWJtTjBhVzl1SUdkMGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElEMDlQU0F4TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVuZENBOUlHWjFibU4wYVc5dUlHZDBJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEFvYm5WdEtTQTlQVDBnTVR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WjNSbGJpQTlJR1oxYm1OMGFXOXVJR2QwWlc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW5kR1VnUFNCbWRXNWpkR2x2YmlCbmRHVWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjQ2h1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwYmlBOUlHWjFibU4wYVc5dUlHeDBiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3YmlodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUWdQU0JtZFc1amRHbHZiaUJzZENBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd0tHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkR1Z1SUQwZ1puVnVZM1JwYjI0Z2JIUmxiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3YmlodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MFpTQTlJR1oxYm1OMGFXOXVJR3gwWlNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd0tHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpYRnVJRDBnWm5WdVkzUnBiMjRnWlhGdUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQnVLRzUxYlNrZ1BUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVZ4SUQwZ1puVnVZM1JwYjI0Z1pYRWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjQ2h1ZFcwcElEMDlQU0F3TzF4dUlDQjlPMXh1WEc0Z0lDOHZYRzRnSUM4dklFRWdjbVZrZFdObElHTnZiblJsZUhRc0lHTnZkV3hrSUdKbElIVnphVzVuSUcxdmJuUm5iMjFsY25rZ2IzSWdjMjl0WlhSb2FXNW5JR0psZEhSbGNpd2daR1Z3Wlc1a2FXNW5YRzRnSUM4dklHOXVJSFJvWlNCZ2JXQWdhWFJ6Wld4bUxseHVJQ0F2TDF4dUlDQkNUaTV5WldRZ1BTQm1kVzVqZEdsdmJpQnlaV1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dVbVZrS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZVbVZrSUQwZ1puVnVZM1JwYjI0Z2RHOVNaV1FnS0dOMGVDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENnaGRHaHBjeTV5WldRc0lDZEJiSEpsWVdSNUlHRWdiblZ0WW1WeUlHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUhKbGRIVnliaUJqZEhndVkyOXVkbVZ5ZEZSdktIUm9hWE1wTGw5bWIzSmpaVkpsWkNoamRIZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1jbTl0VW1Wa0lEMGdablZ1WTNScGIyNGdabkp2YlZKbFpDQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5abkp2YlZKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2JuVnRZbVZ5Y3lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1amIyNTJaWEowUm5KdmJTaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJadmNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1gyWnZjbU5sVW1Wa0lDaGpkSGdwSUh0Y2JpQWdJQ0IwYUdsekxuSmxaQ0E5SUdOMGVEdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQm1iM0pqWlZKbFpDQW9ZM1I0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ0YwYUdsekxuSmxaQ3dnSjBGc2NtVmhaSGtnWVNCdWRXMWlaWElnYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZabTl5WTJWU1pXUW9ZM1I0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1FXUmtJRDBnWm5WdVkzUnBiMjRnY21Wa1FXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUkJaR1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbUZrWkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkpRV1JrSUQwZ1puVnVZM1JwYjI0Z2NtVmtTVUZrWkNBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrU1VGa1pDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWFXRmtaQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGRXSWdQU0JtZFc1amRHbHZiaUJ5WldSVGRXSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpGTjFZaUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjM1ZpS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpFbFRkV0lnUFNCbWRXNWpkR2x2YmlCeVpXUkpVM1ZpSUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNWaUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGMzVmlLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOb2JDQTlJR1oxYm1OMGFXOXVJSEpsWkZOb2JDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UyaHNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXphR3dvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1RYVnNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUk5kV3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVElvZEdocGN5d2diblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXViWFZzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpFbE5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUkpUWFZzSUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JOZFd3Z2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRJb2RHaHBjeXdnYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVcxMWJDaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JUY1hJZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y2lCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TVNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMzRnlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkpVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtTVk54Y2lBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk54Y2lCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TVNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWFYTnhjaWgwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGNYVmhjbVVnY205dmRDQnZkbVZ5SUhCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTnhjblFnUFNCbWRXNWpkR2x2YmlCeVpXUlRjWEowSUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWEowSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1emNYSjBLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkpiblp0SUQwZ1puVnVZM1JwYjI0Z2NtVmtTVzUyYlNBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVzUyYlNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TVNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWFXNTJiU2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm1WbllYUnBkbVVnWTJ4dmJtVWdiMllnWUhSb2FYTmdJQ1VnWUhKbFpDQnRiMlIxYkc5Z1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk9aV2NnUFNCbWRXNWpkR2x2YmlCeVpXUk9aV2NnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFNWxaeUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1Ym1WbktIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSUWIzY2dQU0JtZFc1amRHbHZiaUJ5WldSUWIzY2dLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ0FtSmlBaGJuVnRMbkpsWkN3Z0ozSmxaRkJ2ZHlodWIzSnRZV3hPZFcwcEp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuQnZkeWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ5YVcxbElHNTFiV0psY25NZ2QybDBhQ0JsWm1acFkybGxiblFnY21Wa2RXTjBhVzl1WEc0Z0lIWmhjaUJ3Y21sdFpYTWdQU0I3WEc0Z0lDQWdhekkxTmpvZ2JuVnNiQ3hjYmlBZ0lDQndNakkwT2lCdWRXeHNMRnh1SUNBZ0lIQXhPVEk2SUc1MWJHd3NYRzRnSUNBZ2NESTFOVEU1T2lCdWRXeHNYRzRnSUgwN1hHNWNiaUFnTHk4Z1VITmxkV1J2TFUxbGNuTmxibTVsSUhCeWFXMWxYRzRnSUdaMWJtTjBhVzl1SUUxUWNtbHRaU0FvYm1GdFpTd2djQ2tnZTF4dUlDQWdJQzh2SUZBZ1BTQXlJRjRnVGlBdElFdGNiaUFnSUNCMGFHbHpMbTVoYldVZ1BTQnVZVzFsTzF4dUlDQWdJSFJvYVhNdWNDQTlJRzVsZHlCQ1RpaHdMQ0F4TmlrN1hHNGdJQ0FnZEdocGN5NXVJRDBnZEdocGN5NXdMbUpwZEV4bGJtZDBhQ2dwTzF4dUlDQWdJSFJvYVhNdWF5QTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1dUtTNXBjM1ZpS0hSb2FYTXVjQ2s3WEc1Y2JpQWdJQ0IwYUdsekxuUnRjQ0E5SUhSb2FYTXVYM1J0Y0NncE8xeHVJQ0I5WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNWZkRzF3SUQwZ1puVnVZM1JwYjI0Z1gzUnRjQ0FvS1NCN1hHNGdJQ0FnZG1GeUlIUnRjQ0E5SUc1bGR5QkNUaWh1ZFd4c0tUdGNiaUFnSUNCMGJYQXVkMjl5WkhNZ1BTQnVaWGNnUVhKeVlYa29UV0YwYUM1alpXbHNLSFJvYVhNdWJpQXZJREV6S1NrN1hHNGdJQ0FnY21WMGRYSnVJSFJ0Y0R0Y2JpQWdmVHRjYmx4dUlDQk5VSEpwYldVdWNISnZkRzkwZVhCbExtbHlaV1IxWTJVZ1BTQm1kVzVqZEdsdmJpQnBjbVZrZFdObElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCQmMzTjFiV1Z6SUhSb1lYUWdZRzUxYldBZ2FYTWdiR1Z6Y3lCMGFHRnVJR0JRWGpKZ1hHNGdJQ0FnTHk4Z2JuVnRJRDBnU0VrZ0tpQW9NaUJlSUU0Z0xTQkxLU0FySUVoSklDb2dTeUFySUV4UElEMGdTRWtnS2lCTElDc2dURThnS0cxdlpDQlFLVnh1SUNBZ0lIWmhjaUJ5SUQwZ2JuVnRPMXh1SUNBZ0lIWmhjaUJ5YkdWdU8xeHVYRzRnSUNBZ1pHOGdlMXh1SUNBZ0lDQWdkR2hwY3k1emNHeHBkQ2h5TENCMGFHbHpMblJ0Y0NrN1hHNGdJQ0FnSUNCeUlEMGdkR2hwY3k1cGJYVnNTeWh5S1R0Y2JpQWdJQ0FnSUhJZ1BTQnlMbWxoWkdRb2RHaHBjeTUwYlhBcE8xeHVJQ0FnSUNBZ2NteGxiaUE5SUhJdVltbDBUR1Z1WjNSb0tDazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2NteGxiaUErSUhSb2FYTXViaWs3WEc1Y2JpQWdJQ0IyWVhJZ1kyMXdJRDBnY214bGJpQThJSFJvYVhNdWJpQS9JQzB4SURvZ2NpNTFZMjF3S0hSb2FYTXVjQ2s3WEc0Z0lDQWdhV1lnS0dOdGNDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0J5TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoamJYQWdQaUF3S1NCN1hHNGdJQ0FnSUNCeUxtbHpkV0lvZEdocGN5NXdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NpNXpkSEpwY0NncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWMzQnNhWFFnUFNCbWRXNWpkR2x2YmlCemNHeHBkQ0FvYVc1d2RYUXNJRzkxZENrZ2UxeHVJQ0FnSUdsdWNIVjBMbWwxYzJoeWJpaDBhR2x6TG00c0lEQXNJRzkxZENrN1hHNGdJSDA3WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNXBiWFZzU3lBOUlHWjFibU4wYVc5dUlHbHRkV3hMSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbWx0ZFd3b2RHaHBjeTVyS1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQkxNalUySUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuYXpJMU5pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1aak1tWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhMTWpVMkxDQk5VSEpwYldVcE8xeHVYRzRnSUVzeU5UWXVjSEp2ZEc5MGVYQmxMbk53YkdsMElEMGdablZ1WTNScGIyNGdjM0JzYVhRZ0tHbHVjSFYwTENCdmRYUndkWFFwSUh0Y2JpQWdJQ0F2THlBeU5UWWdQU0E1SUNvZ01qWWdLeUF5TWx4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVk3WEc1Y2JpQWdJQ0IyWVhJZ2IzVjBUR1Z1SUQwZ1RXRjBhQzV0YVc0b2FXNXdkWFF1YkdWdVozUm9MQ0E1S1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUc5MWRFeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQnZkWFJ3ZFhRdWQyOXlaSE5iYVYwZ1BTQnBibkIxZEM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdiM1YwY0hWMExteGxibWQwYUNBOUlHOTFkRXhsYmp0Y2JseHVJQ0FnSUdsbUlDaHBibkIxZEM1c1pXNW5kR2dnUEQwZ09Ta2dlMXh1SUNBZ0lDQWdhVzV3ZFhRdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCVGFHbG1kQ0JpZVNBNUlHeHBiV0p6WEc0Z0lDQWdkbUZ5SUhCeVpYWWdQU0JwYm5CMWRDNTNiM0prYzFzNVhUdGNiaUFnSUNCdmRYUndkWFF1ZDI5eVpITmJiM1YwY0hWMExteGxibWQwYUNzclhTQTlJSEJ5WlhZZ0ppQnRZWE5yTzF4dVhHNGdJQ0FnWm05eUlDaHBJRDBnTVRBN0lHa2dQQ0JwYm5CMWRDNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHNWxlSFFnUFNCcGJuQjFkQzUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNCcGJuQjFkQzUzYjNKa2MxdHBJQzBnTVRCZElEMGdLQ2h1WlhoMElDWWdiV0Z6YXlrZ1BEd2dOQ2tnZkNBb2NISmxkaUErUGo0Z01qSXBPMXh1SUNBZ0lDQWdjSEpsZGlBOUlHNWxlSFE3WEc0Z0lDQWdmVnh1SUNBZ0lIQnlaWFlnUGo0K1BTQXlNanRjYmlBZ0lDQnBibkIxZEM1M2IzSmtjMXRwSUMwZ01UQmRJRDBnY0hKbGRqdGNiaUFnSUNCcFppQW9jSEpsZGlBOVBUMGdNQ0FtSmlCcGJuQjFkQzVzWlc1bmRHZ2dQaUF4TUNrZ2UxeHVJQ0FnSUNBZ2FXNXdkWFF1YkdWdVozUm9JQzA5SURFd08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwYm5CMWRDNXNaVzVuZEdnZ0xUMGdPVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnU3pJMU5pNXdjbTkwYjNSNWNHVXVhVzExYkVzZ1BTQm1kVzVqZEdsdmJpQnBiWFZzU3lBb2JuVnRLU0I3WEc0Z0lDQWdMeThnU3lBOUlEQjRNVEF3TURBd00yUXhJRDBnV3lBd2VEUXdMQ0F3ZUROa01TQmRYRzRnSUNBZ2JuVnRMbmR2Y21SelcyNTFiUzVzWlc1bmRHaGRJRDBnTUR0Y2JpQWdJQ0J1ZFcwdWQyOXlaSE5iYm5WdExteGxibWQwYUNBcklERmRJRDBnTUR0Y2JpQWdJQ0J1ZFcwdWJHVnVaM1JvSUNzOUlESTdYRzVjYmlBZ0lDQXZMeUJpYjNWdVpHVmtJR0YwT2lBd2VEUXdJQ29nTUhnelptWm1abVptSUNzZ01IZ3paREFnUFNBd2VERXdNREF3TURNNU1GeHVJQ0FnSUhaaGNpQnNieUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCdWRXMHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnYm5WdExuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJR3h2SUNzOUlIY2dLaUF3ZUROa01UdGNiaUFnSUNBZ0lHNTFiUzUzYjNKa2MxdHBYU0E5SUd4dklDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdiRzhnUFNCM0lDb2dNSGcwTUNBcklDZ29iRzhnTHlBd2VEUXdNREF3TURBcElId2dNQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUm1GemRDQnNaVzVuZEdnZ2NtVmtkV04wYVc5dVhHNGdJQ0FnYVdZZ0tHNTFiUzUzYjNKa2MxdHVkVzB1YkdWdVozUm9JQzBnTVYwZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNXNaVzVuZEdndExUdGNiaUFnSUNBZ0lHbG1JQ2h1ZFcwdWQyOXlaSE5iYm5WdExteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzUxYlM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCUU1qSTBJQ2dwSUh0Y2JpQWdJQ0JOVUhKcGJXVXVZMkZzYkNoY2JpQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQW5jREl5TkNjc1hHNGdJQ0FnSUNBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ01EQXdNREF3TURBZ01EQXdNREF3TURBZ01EQXdNREF3TURFbktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aFFNakkwTENCTlVISnBiV1VwTzF4dVhHNGdJR1oxYm1OMGFXOXVJRkF4T1RJZ0tDa2dlMXh1SUNBZ0lFMVFjbWx0WlM1allXeHNLRnh1SUNBZ0lDQWdkR2hwY3l4Y2JpQWdJQ0FnSUNkd01Ua3lKeXhjYmlBZ0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptWm1aaUJtWm1abVptWm1aaWNwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0ZBeE9USXNJRTFRY21sdFpTazdYRzVjYmlBZ1puVnVZM1JwYjI0Z1VESTFOVEU1SUNncElIdGNiaUFnSUNBdkx5QXlJRjRnTWpVMUlDMGdNVGxjYmlBZ0lDQk5VSEpwYldVdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBbk1qVTFNVGtuTEZ4dUlDQWdJQ0FnSnpkbVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWm1aaUJtWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVpXUW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTWpVMU1Ua3NJRTFRY21sdFpTazdYRzVjYmlBZ1VESTFOVEU1TG5CeWIzUnZkSGx3WlM1cGJYVnNTeUE5SUdaMWJtTjBhVzl1SUdsdGRXeExJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QkxJRDBnTUhneE0xeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJvYVNBOUlDaHVkVzB1ZDI5eVpITmJhVjBnZkNBd0tTQXFJREI0TVRNZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhaaGNpQnNieUE5SUdocElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdhR2tnUGo0K1BTQXlOanRjYmx4dUlDQWdJQ0FnYm5WdExuZHZjbVJ6VzJsZElEMGdiRzg3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJR2hwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzUzYjNKa2MxdHVkVzB1YkdWdVozUm9LeXRkSUQwZ1kyRnljbms3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1JYaHdiM0owWldRZ2JXOXpkR3g1SUdadmNpQjBaWE4wYVc1bklIQjFjbkJ2YzJWekxDQjFjMlVnY0d4aGFXNGdibUZ0WlNCcGJuTjBaV0ZrWEc0Z0lFSk9MbDl3Y21sdFpTQTlJR1oxYm1OMGFXOXVJSEJ5YVcxbElDaHVZVzFsS1NCN1hHNGdJQ0FnTHk4Z1EyRmphR1ZrSUhabGNuTnBiMjRnYjJZZ2NISnBiV1ZjYmlBZ0lDQnBaaUFvY0hKcGJXVnpXMjVoYldWZEtTQnlaWFIxY200Z2NISnBiV1Z6VzI1aGJXVmRPMXh1WEc0Z0lDQWdkbUZ5SUhCeWFXMWxPMXh1SUNBZ0lHbG1JQ2h1WVcxbElEMDlQU0FuYXpJMU5pY3BJSHRjYmlBZ0lDQWdJSEJ5YVcxbElEMGdibVYzSUVzeU5UWW9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVoYldVZ1BUMDlJQ2R3TWpJMEp5a2dlMXh1SUNBZ0lDQWdjSEpwYldVZ1BTQnVaWGNnVURJeU5DZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ibUZ0WlNBOVBUMGdKM0F4T1RJbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJRTVRreUtDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREkxTlRFNUp5a2dlMXh1SUNBZ0lDQWdjSEpwYldVZ1BTQnVaWGNnVURJMU5URTVLQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZXNXJibTkzYmlCd2NtbHRaU0FuSUNzZ2JtRnRaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lIQnlhVzFsYzF0dVlXMWxYU0E5SUhCeWFXMWxPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIQnlhVzFsTzF4dUlDQjlPMXh1WEc0Z0lDOHZYRzRnSUM4dklFSmhjMlVnY21Wa2RXTjBhVzl1SUdWdVoybHVaVnh1SUNBdkwxeHVJQ0JtZFc1amRHbHZiaUJTWldRZ0tHMHBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzBnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQjJZWElnY0hKcGJXVWdQU0JDVGk1ZmNISnBiV1VvYlNrN1hHNGdJQ0FnSUNCMGFHbHpMbTBnUFNCd2NtbHRaUzV3TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlIQnlhVzFsTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb2JTNW5kRzRvTVNrc0lDZHRiMlIxYkhWeklHMTFjM1FnWW1VZ1ozSmxZWFJsY2lCMGFHRnVJREVuS1R0Y2JpQWdJQ0FnSUhSb2FYTXViU0E5SUcwN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YVcxbElEMGdiblZzYkR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbDkyWlhKcFpua3hJRDBnWm5WdVkzUnBiMjRnWDNabGNtbG1lVEVnS0dFcElIdGNiaUFnSUNCaGMzTmxjblFvWVM1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ1lYTnpaWEowS0dFdWNtVmtMQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVYM1psY21sbWVUSWdQU0JtZFc1amRHbHZiaUJmZG1WeWFXWjVNaUFvWVN3Z1lpa2dlMXh1SUNBZ0lHRnpjMlZ5ZENnb1lTNXVaV2RoZEdsMlpTQjhJR0l1Ym1WbllYUnBkbVVwSUQwOVBTQXdMQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCd2IzTnBkR2wyWlhNbktUdGNiaUFnSUNCaGMzTmxjblFvWVM1eVpXUWdKaVlnWVM1eVpXUWdQVDA5SUdJdWNtVmtMRnh1SUNBZ0lDQWdKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRiMlFnUFNCbWRXNWpkR2x2YmlCcGJXOWtJQ2hoS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Y0hKcGJXVXBJSEpsZEhWeWJpQjBhR2x6TG5CeWFXMWxMbWx5WldSMVkyVW9ZU2t1WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCaExuVnRiMlFvZEdocGN5NXRLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXVaV2NnUFNCbWRXNWpkR2x2YmlCdVpXY2dLR0VwSUh0Y2JpQWdJQ0JwWmlBb1lTNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRXVZMnh2Ym1Vb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXRMbk4xWWloaEtTNWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUJoWkdRZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdVlXUmtLR0lwTzF4dUlDQWdJR2xtSUNoeVpYTXVZMjF3S0hSb2FYTXViU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1semRXSW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwWVdSa0lEMGdablZ1WTNScGIyNGdhV0ZrWkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWVM1cFlXUmtLR0lwTzF4dUlDQWdJR2xtSUNoeVpYTXVZMjF3S0hSb2FYTXViU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1semRXSW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5OMVlpQTlJR1oxYm1OMGFXOXVJSE4xWWlBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWVM1emRXSW9ZaWs3WEc0Z0lDQWdhV1lnS0hKbGN5NWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WekxtbGhaR1FvZEdocGN5NXRLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGMzVmlJRDBnWm5WdVkzUnBiMjRnYVhOMVlpQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lTNXBjM1ZpS0dJcE8xeHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6YUd3Z1BTQm1kVzVqZEdsdmJpQnphR3dnS0dFc0lHNTFiU2tnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRFb1lTazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNoaExuVnphR3h1S0c1MWJTa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzExYkNBOUlHWjFibU4wYVc5dUlHbHRkV3dnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb1lTNXBiWFZzS0dJcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2hoTG0xMWJDaGlLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYzNGeUlEMGdablZ1WTNScGIyNGdhWE54Y2lBb1lTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0ZFd3b1lTd2dZUzVqYkc5dVpTZ3BLVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbk54Y2lBOUlHWjFibU4wYVc5dUlITnhjaUFvWVNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtMTFiQ2hoTENCaEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuTnhjblFnUFNCbWRXNWpkR2x2YmlCemNYSjBJQ2hoS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa3BJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnYlc5a015QTlJSFJvYVhNdWJTNWhibVJzYmlnektUdGNiaUFnSUNCaGMzTmxjblFvYlc5a015QWxJRElnUFQwOUlERXBPMXh1WEc0Z0lDQWdMeThnUm1GemRDQmpZWE5sWEc0Z0lDQWdhV1lnS0cxdlpETWdQVDA5SURNcElIdGNiaUFnSUNBZ0lIWmhjaUJ3YjNjZ1BTQjBhR2x6TG0wdVlXUmtLRzVsZHlCQ1RpZ3hLU2t1YVhWemFISnVLRElwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNHOTNLR0VzSUhCdmR5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWRzl1Wld4c2FTMVRhR0Z1YTNNZ1lXeG5iM0pwZEdodElDaFViM1JoYkd4NUlIVnViM0IwYVcxcGVtVmtJR0Z1WkNCemJHOTNLVnh1SUNBZ0lDOHZYRzRnSUNBZ0x5OGdSbWx1WkNCUklHRnVaQ0JUTENCMGFHRjBJRkVnS2lBeUlGNGdVeUE5SUNoUUlDMGdNU2xjYmlBZ0lDQjJZWElnY1NBOUlIUm9hWE11YlM1emRXSnVLREVwTzF4dUlDQWdJSFpoY2lCeklEMGdNRHRjYmlBZ0lDQjNhR2xzWlNBb0lYRXVhWE5hWlhKdktDa2dKaVlnY1M1aGJtUnNiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY3lzck8xeHVJQ0FnSUNBZ2NTNXBkWE5vY200b01TazdYRzRnSUNBZ2ZWeHVJQ0FnSUdGemMyVnlkQ2doY1M1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCMllYSWdiMjVsSUQwZ2JtVjNJRUpPS0RFcExuUnZVbVZrS0hSb2FYTXBPMXh1SUNBZ0lIWmhjaUJ1VDI1bElEMGdiMjVsTG5KbFpFNWxaeWdwTzF4dVhHNGdJQ0FnTHk4Z1JtbHVaQ0J4ZFdGa2NtRjBhV01nYm05dUxYSmxjMmxrZFdWY2JpQWdJQ0F2THlCT1QxUkZPaUJOWVhnZ2FYTWdjM1ZqYUNCaVpXTmhkWE5sSUc5bUlHZGxibVZ5WVd4cGVtVmtJRkpwWlcxaGJtNGdhSGx3YjNSb1pYTnBjeTVjYmlBZ0lDQjJZWElnYkhCdmR5QTlJSFJvYVhNdWJTNXpkV0p1S0RFcExtbDFjMmh5YmlneEtUdGNiaUFnSUNCMllYSWdlaUE5SUhSb2FYTXViUzVpYVhSTVpXNW5kR2dvS1R0Y2JpQWdJQ0I2SUQwZ2JtVjNJRUpPS0RJZ0tpQjZJQ29nZWlrdWRHOVNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTV3YjNjb2Vpd2diSEJ2ZHlrdVkyMXdLRzVQYm1VcElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCNkxuSmxaRWxCWkdRb2JrOXVaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG5CdmR5aDZMQ0J4S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJSFJvYVhNdWNHOTNLR0VzSUhFdVlXUmtiaWd4S1M1cGRYTm9jbTRvTVNrcE8xeHVJQ0FnSUhaaGNpQjBJRDBnZEdocGN5NXdiM2NvWVN3Z2NTazdYRzRnSUNBZ2RtRnlJRzBnUFNCek8xeHVJQ0FnSUhkb2FXeGxJQ2gwTG1OdGNDaHZibVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RHMXdJRDBnZER0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUIwYlhBdVkyMXdLRzl1WlNrZ0lUMDlJREE3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYlhBZ1BTQjBiWEF1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JoYzNObGNuUW9hU0E4SUcwcE8xeHVJQ0FnSUNBZ2RtRnlJR0lnUFNCMGFHbHpMbkJ2ZHloakxDQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtHMGdMU0JwSUMwZ01Ta3BPMXh1WEc0Z0lDQWdJQ0J5SUQwZ2NpNXlaV1JOZFd3b1lpazdYRzRnSUNBZ0lDQmpJRDBnWWk1eVpXUlRjWElvS1R0Y2JpQWdJQ0FnSUhRZ1BTQjBMbkpsWkUxMWJDaGpLVHRjYmlBZ0lDQWdJRzBnUFNCcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVc1MmJTQTlJR1oxYm1OMGFXOXVJR2x1ZG0wZ0tHRXBJSHRjYmlBZ0lDQjJZWElnYVc1MklEMGdZUzVmYVc1MmJYQW9kR2hwY3k1dEtUdGNiaUFnSUNCcFppQW9hVzUyTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0JwYm5ZdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaHBibllwTG5KbFpFNWxaeWdwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHbHVkaWs3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjRzkzSUQwZ1puVnVZM1JwYjI0Z2NHOTNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQnBaaUFvYm5WdExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2JtVjNJRUpPS0RFcExuUnZVbVZrS0hSb2FYTXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwdVkyMXdiaWd4S1NBOVBUMGdNQ2tnY21WMGRYSnVJR0V1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSFpoY2lCM2FXNWtiM2RUYVhwbElEMGdORHRjYmlBZ0lDQjJZWElnZDI1a0lEMGdibVYzSUVGeWNtRjVLREVnUER3Z2QybHVaRzkzVTJsNlpTazdYRzRnSUNBZ2QyNWtXekJkSUQwZ2JtVjNJRUpPS0RFcExuUnZVbVZrS0hSb2FYTXBPMXh1SUNBZ0lIZHVaRnN4WFNBOUlHRTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREk3SUdrZ1BDQjNibVF1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIZHVaRnRwWFNBOUlIUm9hWE11YlhWc0tIZHVaRnRwSUMwZ01WMHNJR0VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IzYm1SYk1GMDdYRzRnSUNBZ2RtRnlJR04xY25KbGJuUWdQU0F3TzF4dUlDQWdJSFpoY2lCamRYSnlaVzUwVEdWdUlEMGdNRHRjYmlBZ0lDQjJZWElnYzNSaGNuUWdQU0J1ZFcwdVltbDBUR1Z1WjNSb0tDa2dKU0F5Tmp0Y2JpQWdJQ0JwWmlBb2MzUmhjblFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE4wWVhKMElEMGdNalk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNocElEMGdiblZ0TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUc1MWJTNTNiM0prYzF0cFhUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J6ZEdGeWRDQXRJREU3SUdvZ1BqMGdNRHNnYWkwdEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCaWFYUWdQU0FvZDI5eVpDQStQaUJxS1NBbUlERTdYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTWdJVDA5SUhkdVpGc3dYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM0Z5S0hKbGN5azdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9ZbWwwSUQwOVBTQXdJQ1ltSUdOMWNuSmxiblFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamRYSnlaVzUwVEdWdUlEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR04xY25KbGJuUWdQRHc5SURFN1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5RZ2ZEMGdZbWwwTzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwVEdWdUt5czdYRzRnSUNBZ0lDQWdJR2xtSUNoamRYSnlaVzUwVEdWdUlDRTlQU0IzYVc1a2IzZFRhWHBsSUNZbUlDaHBJQ0U5UFNBd0lIeDhJR29nSVQwOUlEQXBLU0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtMTFiQ2h5WlhNc0lIZHVaRnRqZFhKeVpXNTBYU2s3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblJNWlc0Z1BTQXdPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBJRDBnTUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhOMFlYSjBJRDBnTWpZN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1OdmJuWmxjblJVYnlBOUlHWjFibU4wYVc5dUlHTnZiblpsY25SVWJ5QW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISWdQU0J1ZFcwdWRXMXZaQ2gwYUdsekxtMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlISWdQVDA5SUc1MWJTQS9JSEl1WTJ4dmJtVW9LU0E2SUhJN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowUm5KdmJTQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUkdjbTl0SUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnY21WeklEMGdiblZ0TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdjbVZ6TG5KbFpDQTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMMXh1SUNBdkx5Qk5iMjUwWjI5dFpYSjVJRzFsZEdodlpDQmxibWRwYm1WY2JpQWdMeTljYmx4dUlDQkNUaTV0YjI1MElEMGdablZ1WTNScGIyNGdiVzl1ZENBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJOYjI1MEtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1RXOXVkQ0FvYlNrZ2UxeHVJQ0FnSUZKbFpDNWpZV3hzS0hSb2FYTXNJRzBwTzF4dVhHNGdJQ0FnZEdocGN5NXphR2xtZENBOUlIUm9hWE11YlM1aWFYUk1aVzVuZEdnb0tUdGNiaUFnSUNCcFppQW9kR2hwY3k1emFHbG1kQ0FsSURJMklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbk5vYVdaMElDczlJREkySUMwZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXlJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxuTm9hV1owS1R0Y2JpQWdJQ0IwYUdsekxuSXlJRDBnZEdocGN5NXBiVzlrS0hSb2FYTXVjaTV6Y1hJb0tTazdYRzRnSUNBZ2RHaHBjeTV5YVc1MklEMGdkR2hwY3k1eUxsOXBiblp0Y0NoMGFHbHpMbTBwTzF4dVhHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV5YVc1MkxtMTFiQ2gwYUdsekxuSXBMbWx6ZFdKdUtERXBMbVJwZGloMGFHbHpMbTBwTzF4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXViV2x1ZGk1MWJXOWtLSFJvYVhNdWNpazdYRzRnSUNBZ2RHaHBjeTV0YVc1MklEMGdkR2hwY3k1eUxuTjFZaWgwYUdsekxtMXBibllwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0UxdmJuUXNJRkpsWkNrN1hHNWNiaUFnVFc5dWRDNXdjbTkwYjNSNWNHVXVZMjl1ZG1WeWRGUnZJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRlJ2SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHNTFiUzUxYzJoc2JpaDBhR2x6TG5Ob2FXWjBLU2s3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSElnUFNCMGFHbHpMbWx0YjJRb2JuVnRMbTExYkNoMGFHbHpMbkpwYm5ZcEtUdGNiaUFnSUNCeUxuSmxaQ0E5SUc1MWJHdzdYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLR0VzSUdJcElIdGNiaUFnSUNCcFppQW9ZUzVwYzFwbGNtOG9LU0I4ZkNCaUxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQmhMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUdFdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQjBJRDBnWVM1cGJYVnNLR0lwTzF4dUlDQWdJSFpoY2lCaklEMGdkQzV0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0YVc1MktTNXBiV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViU2s3WEc0Z0lDQWdkbUZ5SUhVZ1BTQjBMbWx6ZFdJb1l5a3VhWFZ6YUhKdUtIUm9hWE11YzJocFpuUXBPMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjFPMXh1WEc0Z0lDQWdhV1lnS0hVdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cGMzVmlLSFJvYVhNdWJTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDFMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IxTG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0JwWmlBb1lTNXBjMXBsY204b0tTQjhmQ0JpTG1seldtVnlieWdwS1NCeVpYUjFjbTRnYm1WM0lFSk9LREFwTGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmx4dUlDQWdJSFpoY2lCMElEMGdZUzV0ZFd3b1lpazdYRzRnSUNBZ2RtRnlJR01nUFNCMExtMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMXBibllwTG1sdFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dEtUdGNiaUFnSUNCMllYSWdkU0E5SUhRdWFYTjFZaWhqS1M1cGRYTm9jbTRvZEdocGN5NXphR2xtZENrN1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhVN1hHNGdJQ0FnYVdZZ0tIVXVZMjF3S0hSb2FYTXViU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RTNXBjM1ZpS0hSb2FYTXViU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gxTG1OdGNHNG9NQ2tnUENBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMUxtbGhaR1FvZEdocGN5NXRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JOYjI1MExuQnliM1J2ZEhsd1pTNXBiblp0SUQwZ1puVnVZM1JwYjI0Z2FXNTJiU0FvWVNrZ2UxeHVJQ0FnSUM4dklDaEJVaWxlTFRFZ0tpQlNYaklnUFNBb1FWNHRNU0FxSUZKZUxURXBJQ29nVWw0eUlEMGdRVjR0TVNBcUlGSmNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RHaHBjeTVwYlc5a0tHRXVYMmx1ZG0xd0tIUm9hWE11YlNrdWJYVnNLSFJvYVhNdWNqSXBLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JuMHBLSFI1Y0dWdlppQnRiMlIxYkdVZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUh4OElHMXZaSFZzWlN3Z2RHaHBjeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGVsbGlwdGljID0gZXhwb3J0cztcXG5cXG5lbGxpcHRpYy52ZXJzaW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vcGFja2FnZS5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9wYWNrYWdlLmpzb25cXFwiKS52ZXJzaW9uO1xcbmVsbGlwdGljLnV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbGxpcHRpYy91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxuZWxsaXB0aWMucmFuZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3JhbmQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanNcXFwiKTtcXG5lbGxpcHRpYy5jdXJ2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWxsaXB0aWMvY3VydmUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9pbmRleC5qc1xcXCIpO1xcbmVsbGlwdGljLmN1cnZlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWxsaXB0aWMvY3VydmVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzXFxcIik7XFxuXFxuLy8gUHJvdG9jb2xzXFxuZWxsaXB0aWMuZWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2VsbGlwdGljL2VjICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanNcXFwiKTtcXG5lbGxpcHRpYy5lZGRzYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWxsaXB0aWMvZWRkc2EgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9pbmRleC5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXVhbk0vTm1GbU5TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllqczdRVUZGUVN4dFFrRkJiVUlzYlVKQlFVOHNRMEZCUXl3MlJFRkJhVUk3UVVGRE5VTXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNkVVZCUVd0Q08wRkJRek5ETEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEdkRVFVRlRPMEZCUTJwRExHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExEWkZRVUZyUWp0QlFVTXpReXhyUWtGQmEwSXNiVUpCUVU4c1EwRkJReXg1UlVGQmJVSTdPMEZCUlRkRE8wRkJRMEVzWTBGQll5eHRRa0ZCVHl4RFFVRkRMSFZGUVVGbE8wRkJRM0pETEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETERaRlFVRnJRaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV011YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCbGJHeHBjSFJwWXlBOUlHVjRjRzl5ZEhNN1hHNWNibVZzYkdsd2RHbGpMblpsY25OcGIyNGdQU0J5WlhGMWFYSmxLQ2N1TGk5d1lXTnJZV2RsTG1wemIyNG5LUzUyWlhKemFXOXVPMXh1Wld4c2FYQjBhV011ZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TDJWc2JHbHdkR2xqTDNWMGFXeHpKeWs3WEc1bGJHeHBjSFJwWXk1eVlXNWtJRDBnY21WeGRXbHlaU2duWW5KdmNtRnVaQ2NwTzF4dVpXeHNhWEIwYVdNdVkzVnlkbVVnUFNCeVpYRjFhWEpsS0NjdUwyVnNiR2x3ZEdsakwyTjFjblpsSnlrN1hHNWxiR3hwY0hScFl5NWpkWEoyWlhNZ1BTQnlaWEYxYVhKbEtDY3VMMlZzYkdsd2RHbGpMMk4xY25abGN5Y3BPMXh1WEc0dkx5QlFjbTkwYjJOdmJITmNibVZzYkdsd2RHbGpMbVZqSUQwZ2NtVnhkV2x5WlNnbkxpOWxiR3hwY0hScFl5OWxZeWNwTzF4dVpXeHNhWEIwYVdNdVpXUmtjMkVnUFNCeVpYRjFhWEpsS0NjdUwyVnNiR2x3ZEdsakwyVmtaSE5oSnlrN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgZ2V0TkFGID0gdXRpbHMuZ2V0TkFGO1xcbnZhciBnZXRKU0YgPSB1dGlscy5nZXRKU0Y7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG5cXG5mdW5jdGlvbiBCYXNlQ3VydmUodHlwZSwgY29uZikge1xcbiAgdGhpcy50eXBlID0gdHlwZTtcXG4gIHRoaXMucCA9IG5ldyBCTihjb25mLnAsIDE2KTtcXG5cXG4gIC8vIFVzZSBNb250Z29tZXJ5LCB3aGVuIHRoZXJlIGlzIG5vIGZhc3QgcmVkdWN0aW9uIGZvciB0aGUgcHJpbWVcXG4gIHRoaXMucmVkID0gY29uZi5wcmltZSA/IEJOLnJlZChjb25mLnByaW1lKSA6IEJOLm1vbnQodGhpcy5wKTtcXG5cXG4gIC8vIFVzZWZ1bCBmb3IgbWFueSBjdXJ2ZXNcXG4gIHRoaXMuemVybyA9IG5ldyBCTigwKS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLm9uZSA9IG5ldyBCTigxKS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XFxuXFxuICAvLyBDdXJ2ZSBjb25maWd1cmF0aW9uLCBvcHRpb25hbFxcbiAgdGhpcy5uID0gY29uZi5uICYmIG5ldyBCTihjb25mLm4sIDE2KTtcXG4gIHRoaXMuZyA9IGNvbmYuZyAmJiB0aGlzLnBvaW50RnJvbUpTT04oY29uZi5nLCBjb25mLmdSZWQpO1xcblxcbiAgLy8gVGVtcG9yYXJ5IGFycmF5c1xcbiAgdGhpcy5fd25hZlQxID0gbmV3IEFycmF5KDQpO1xcbiAgdGhpcy5fd25hZlQyID0gbmV3IEFycmF5KDQpO1xcbiAgdGhpcy5fd25hZlQzID0gbmV3IEFycmF5KDQpO1xcbiAgdGhpcy5fd25hZlQ0ID0gbmV3IEFycmF5KDQpO1xcblxcbiAgdGhpcy5fYml0TGVuZ3RoID0gdGhpcy5uID8gdGhpcy5uLmJpdExlbmd0aCgpIDogMDtcXG5cXG4gIC8vIEdlbmVyYWxpemVkIEdyZWcgTWF4d2VsbCdzIHRyaWNrXFxuICB2YXIgYWRqdXN0Q291bnQgPSB0aGlzLm4gJiYgdGhpcy5wLmRpdih0aGlzLm4pO1xcbiAgaWYgKCFhZGp1c3RDb3VudCB8fCBhZGp1c3RDb3VudC5jbXBuKDEwMCkgPiAwKSB7XFxuICAgIHRoaXMucmVkTiA9IG51bGw7XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLl9tYXh3ZWxsVHJpY2sgPSB0cnVlO1xcbiAgICB0aGlzLnJlZE4gPSB0aGlzLm4udG9SZWQodGhpcy5yZWQpO1xcbiAgfVxcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IEJhc2VDdXJ2ZTtcXG5cXG5CYXNlQ3VydmUucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24gcG9pbnQoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xcbn07XFxuXFxuQmFzZUN1cnZlLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcXG59O1xcblxcbkJhc2VDdXJ2ZS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsID0gZnVuY3Rpb24gX2ZpeGVkTmFmTXVsKHAsIGspIHtcXG4gIGFzc2VydChwLnByZWNvbXB1dGVkKTtcXG4gIHZhciBkb3VibGVzID0gcC5fZ2V0RG91YmxlcygpO1xcblxcbiAgdmFyIG5hZiA9IGdldE5BRihrLCAxLCB0aGlzLl9iaXRMZW5ndGgpO1xcbiAgdmFyIEkgPSAoMSA8PCAoZG91Ymxlcy5zdGVwICsgMSkpIC0gKGRvdWJsZXMuc3RlcCAlIDIgPT09IDAgPyAyIDogMSk7XFxuICBJIC89IDM7XFxuXFxuICAvLyBUcmFuc2xhdGUgaW50byBtb3JlIHdpbmRvd2VkIGZvcm1cXG4gIHZhciByZXByID0gW107XFxuICBmb3IgKHZhciBqID0gMDsgaiA8IG5hZi5sZW5ndGg7IGogKz0gZG91Ymxlcy5zdGVwKSB7XFxuICAgIHZhciBuYWZXID0gMDtcXG4gICAgZm9yICh2YXIgayA9IGogKyBkb3VibGVzLnN0ZXAgLSAxOyBrID49IGo7IGstLSlcXG4gICAgICBuYWZXID0gKG5hZlcgPDwgMSkgKyBuYWZba107XFxuICAgIHJlcHIucHVzaChuYWZXKTtcXG4gIH1cXG5cXG4gIHZhciBhID0gdGhpcy5qcG9pbnQobnVsbCwgbnVsbCwgbnVsbCk7XFxuICB2YXIgYiA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xcbiAgZm9yICh2YXIgaSA9IEk7IGkgPiAwOyBpLS0pIHtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXByLmxlbmd0aDsgaisrKSB7XFxuICAgICAgdmFyIG5hZlcgPSByZXByW2pdO1xcbiAgICAgIGlmIChuYWZXID09PSBpKVxcbiAgICAgICAgYiA9IGIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0pO1xcbiAgICAgIGVsc2UgaWYgKG5hZlcgPT09IC1pKVxcbiAgICAgICAgYiA9IGIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0ubmVnKCkpO1xcbiAgICB9XFxuICAgIGEgPSBhLmFkZChiKTtcXG4gIH1cXG4gIHJldHVybiBhLnRvUCgpO1xcbn07XFxuXFxuQmFzZUN1cnZlLnByb3RvdHlwZS5fd25hZk11bCA9IGZ1bmN0aW9uIF93bmFmTXVsKHAsIGspIHtcXG4gIHZhciB3ID0gNDtcXG5cXG4gIC8vIFByZWNvbXB1dGUgd2luZG93XFxuICB2YXIgbmFmUG9pbnRzID0gcC5fZ2V0TkFGUG9pbnRzKHcpO1xcbiAgdyA9IG5hZlBvaW50cy53bmQ7XFxuICB2YXIgd25kID0gbmFmUG9pbnRzLnBvaW50cztcXG5cXG4gIC8vIEdldCBOQUYgZm9ybVxcbiAgdmFyIG5hZiA9IGdldE5BRihrLCB3LCB0aGlzLl9iaXRMZW5ndGgpO1xcblxcbiAgLy8gQWRkIGB0aGlzYCooTisxKSBmb3IgZXZlcnkgdy1OQUYgaW5kZXhcXG4gIHZhciBhY2MgPSB0aGlzLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gIGZvciAodmFyIGkgPSBuYWYubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgLy8gQ291bnQgemVyb2VzXFxuICAgIGZvciAodmFyIGsgPSAwOyBpID49IDAgJiYgbmFmW2ldID09PSAwOyBpLS0pXFxuICAgICAgaysrO1xcbiAgICBpZiAoaSA+PSAwKVxcbiAgICAgIGsrKztcXG4gICAgYWNjID0gYWNjLmRibHAoayk7XFxuXFxuICAgIGlmIChpIDwgMClcXG4gICAgICBicmVhaztcXG4gICAgdmFyIHogPSBuYWZbaV07XFxuICAgIGFzc2VydCh6ICE9PSAwKTtcXG4gICAgaWYgKHAudHlwZSA9PT0gJ2FmZmluZScpIHtcXG4gICAgICAvLyBKICstIFBcXG4gICAgICBpZiAoeiA+IDApXFxuICAgICAgICBhY2MgPSBhY2MubWl4ZWRBZGQod25kWyh6IC0gMSkgPj4gMV0pO1xcbiAgICAgIGVsc2VcXG4gICAgICAgIGFjYyA9IGFjYy5taXhlZEFkZCh3bmRbKC16IC0gMSkgPj4gMV0ubmVnKCkpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEogKy0gSlxcbiAgICAgIGlmICh6ID4gMClcXG4gICAgICAgIGFjYyA9IGFjYy5hZGQod25kWyh6IC0gMSkgPj4gMV0pO1xcbiAgICAgIGVsc2VcXG4gICAgICAgIGFjYyA9IGFjYy5hZGQod25kWygteiAtIDEpID4+IDFdLm5lZygpKTtcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIHAudHlwZSA9PT0gJ2FmZmluZScgPyBhY2MudG9QKCkgOiBhY2M7XFxufTtcXG5cXG5CYXNlQ3VydmUucHJvdG90eXBlLl93bmFmTXVsQWRkID0gZnVuY3Rpb24gX3duYWZNdWxBZGQoZGVmVyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2VmZnMsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamFjb2JpYW5SZXN1bHQpIHtcXG4gIHZhciB3bmRXaWR0aCA9IHRoaXMuX3duYWZUMTtcXG4gIHZhciB3bmQgPSB0aGlzLl93bmFmVDI7XFxuICB2YXIgbmFmID0gdGhpcy5fd25hZlQzO1xcblxcbiAgLy8gRmlsbCBhbGwgYXJyYXlzXFxuICB2YXIgbWF4ID0gMDtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgdmFyIHAgPSBwb2ludHNbaV07XFxuICAgIHZhciBuYWZQb2ludHMgPSBwLl9nZXROQUZQb2ludHMoZGVmVyk7XFxuICAgIHduZFdpZHRoW2ldID0gbmFmUG9pbnRzLnduZDtcXG4gICAgd25kW2ldID0gbmFmUG9pbnRzLnBvaW50cztcXG4gIH1cXG5cXG4gIC8vIENvbWIgc21hbGwgd2luZG93IE5BRnNcXG4gIGZvciAodmFyIGkgPSBsZW4gLSAxOyBpID49IDE7IGkgLT0gMikge1xcbiAgICB2YXIgYSA9IGkgLSAxO1xcbiAgICB2YXIgYiA9IGk7XFxuICAgIGlmICh3bmRXaWR0aFthXSAhPT0gMSB8fCB3bmRXaWR0aFtiXSAhPT0gMSkge1xcbiAgICAgIG5hZlthXSA9IGdldE5BRihjb2VmZnNbYV0sIHduZFdpZHRoW2FdLCB0aGlzLl9iaXRMZW5ndGgpO1xcbiAgICAgIG5hZltiXSA9IGdldE5BRihjb2VmZnNbYl0sIHduZFdpZHRoW2JdLCB0aGlzLl9iaXRMZW5ndGgpO1xcbiAgICAgIG1heCA9IE1hdGgubWF4KG5hZlthXS5sZW5ndGgsIG1heCk7XFxuICAgICAgbWF4ID0gTWF0aC5tYXgobmFmW2JdLmxlbmd0aCwgbWF4KTtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICB2YXIgY29tYiA9IFtcXG4gICAgICBwb2ludHNbYV0sIC8qIDEgKi9cXG4gICAgICBudWxsLCAvKiAzICovXFxuICAgICAgbnVsbCwgLyogNSAqL1xcbiAgICAgIHBvaW50c1tiXSAvKiA3ICovXFxuICAgIF07XFxuXFxuICAgIC8vIFRyeSB0byBhdm9pZCBQcm9qZWN0aXZlIHBvaW50cywgaWYgcG9zc2libGVcXG4gICAgaWYgKHBvaW50c1thXS55LmNtcChwb2ludHNbYl0ueSkgPT09IDApIHtcXG4gICAgICBjb21iWzFdID0gcG9pbnRzW2FdLmFkZChwb2ludHNbYl0pO1xcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcXG4gICAgfSBlbHNlIGlmIChwb2ludHNbYV0ueS5jbXAocG9pbnRzW2JdLnkucmVkTmVnKCkpID09PSAwKSB7XFxuICAgICAgY29tYlsxXSA9IHBvaW50c1thXS50b0ooKS5taXhlZEFkZChwb2ludHNbYl0pO1xcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0uYWRkKHBvaW50c1tiXS5uZWcoKSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgY29tYlsxXSA9IHBvaW50c1thXS50b0ooKS5taXhlZEFkZChwb2ludHNbYl0pO1xcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcXG4gICAgfVxcblxcbiAgICB2YXIgaW5kZXggPSBbXFxuICAgICAgLTMsIC8qIC0xIC0xICovXFxuICAgICAgLTEsIC8qIC0xIDAgKi9cXG4gICAgICAtNSwgLyogLTEgMSAqL1xcbiAgICAgIC03LCAvKiAwIC0xICovXFxuICAgICAgMCwgLyogMCAwICovXFxuICAgICAgNywgLyogMCAxICovXFxuICAgICAgNSwgLyogMSAtMSAqL1xcbiAgICAgIDEsIC8qIDEgMCAqL1xcbiAgICAgIDMgIC8qIDEgMSAqL1xcbiAgICBdO1xcblxcbiAgICB2YXIganNmID0gZ2V0SlNGKGNvZWZmc1thXSwgY29lZmZzW2JdKTtcXG4gICAgbWF4ID0gTWF0aC5tYXgoanNmWzBdLmxlbmd0aCwgbWF4KTtcXG4gICAgbmFmW2FdID0gbmV3IEFycmF5KG1heCk7XFxuICAgIG5hZltiXSA9IG5ldyBBcnJheShtYXgpO1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IG1heDsgaisrKSB7XFxuICAgICAgdmFyIGphID0ganNmWzBdW2pdIHwgMDtcXG4gICAgICB2YXIgamIgPSBqc2ZbMV1bal0gfCAwO1xcblxcbiAgICAgIG5hZlthXVtqXSA9IGluZGV4WyhqYSArIDEpICogMyArIChqYiArIDEpXTtcXG4gICAgICBuYWZbYl1bal0gPSAwO1xcbiAgICAgIHduZFthXSA9IGNvbWI7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBhY2MgPSB0aGlzLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gIHZhciB0bXAgPSB0aGlzLl93bmFmVDQ7XFxuICBmb3IgKHZhciBpID0gbWF4OyBpID49IDA7IGktLSkge1xcbiAgICB2YXIgayA9IDA7XFxuXFxuICAgIHdoaWxlIChpID49IDApIHtcXG4gICAgICB2YXIgemVybyA9IHRydWU7XFxuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW47IGorKykge1xcbiAgICAgICAgdG1wW2pdID0gbmFmW2pdW2ldIHwgMDtcXG4gICAgICAgIGlmICh0bXBbal0gIT09IDApXFxuICAgICAgICAgIHplcm8gPSBmYWxzZTtcXG4gICAgICB9XFxuICAgICAgaWYgKCF6ZXJvKVxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgaysrO1xcbiAgICAgIGktLTtcXG4gICAgfVxcbiAgICBpZiAoaSA+PSAwKVxcbiAgICAgIGsrKztcXG4gICAgYWNjID0gYWNjLmRibHAoayk7XFxuICAgIGlmIChpIDwgMClcXG4gICAgICBicmVhaztcXG5cXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW47IGorKykge1xcbiAgICAgIHZhciB6ID0gdG1wW2pdO1xcbiAgICAgIHZhciBwO1xcbiAgICAgIGlmICh6ID09PSAwKVxcbiAgICAgICAgY29udGludWU7XFxuICAgICAgZWxzZSBpZiAoeiA+IDApXFxuICAgICAgICBwID0gd25kW2pdWyh6IC0gMSkgPj4gMV07XFxuICAgICAgZWxzZSBpZiAoeiA8IDApXFxuICAgICAgICBwID0gd25kW2pdWygteiAtIDEpID4+IDFdLm5lZygpO1xcblxcbiAgICAgIGlmIChwLnR5cGUgPT09ICdhZmZpbmUnKVxcbiAgICAgICAgYWNjID0gYWNjLm1peGVkQWRkKHApO1xcbiAgICAgIGVsc2VcXG4gICAgICAgIGFjYyA9IGFjYy5hZGQocCk7XFxuICAgIH1cXG4gIH1cXG4gIC8vIFplcm9pZnkgcmVmZXJlbmNlc1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKylcXG4gICAgd25kW2ldID0gbnVsbDtcXG5cXG4gIGlmIChqYWNvYmlhblJlc3VsdClcXG4gICAgcmV0dXJuIGFjYztcXG4gIGVsc2VcXG4gICAgcmV0dXJuIGFjYy50b1AoKTtcXG59O1xcblxcbmZ1bmN0aW9uIEJhc2VQb2ludChjdXJ2ZSwgdHlwZSkge1xcbiAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xcbiAgdGhpcy50eXBlID0gdHlwZTtcXG4gIHRoaXMucHJlY29tcHV0ZWQgPSBudWxsO1xcbn1cXG5CYXNlQ3VydmUuQmFzZVBvaW50ID0gQmFzZVBvaW50O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSgvKm90aGVyKi8pIHtcXG4gIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XFxufTtcXG5cXG5CYXNlUG9pbnQucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUoKSB7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS52YWxpZGF0ZSh0aGlzKTtcXG59O1xcblxcbkJhc2VDdXJ2ZS5wcm90b3R5cGUuZGVjb2RlUG9pbnQgPSBmdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcywgZW5jKSB7XFxuICBieXRlcyA9IHV0aWxzLnRvQXJyYXkoYnl0ZXMsIGVuYyk7XFxuXFxuICB2YXIgbGVuID0gdGhpcy5wLmJ5dGVMZW5ndGgoKTtcXG5cXG4gIC8vIHVuY29tcHJlc3NlZCwgaHlicmlkLW9kZCwgaHlicmlkLWV2ZW5cXG4gIGlmICgoYnl0ZXNbMF0gPT09IDB4MDQgfHwgYnl0ZXNbMF0gPT09IDB4MDYgfHwgYnl0ZXNbMF0gPT09IDB4MDcpICYmXFxuICAgICAgYnl0ZXMubGVuZ3RoIC0gMSA9PT0gMiAqIGxlbikge1xcbiAgICBpZiAoYnl0ZXNbMF0gPT09IDB4MDYpXFxuICAgICAgYXNzZXJ0KGJ5dGVzW2J5dGVzLmxlbmd0aCAtIDFdICUgMiA9PT0gMCk7XFxuICAgIGVsc2UgaWYgKGJ5dGVzWzBdID09PSAweDA3KVxcbiAgICAgIGFzc2VydChieXRlc1tieXRlcy5sZW5ndGggLSAxXSAlIDIgPT09IDEpO1xcblxcbiAgICB2YXIgcmVzID0gIHRoaXMucG9pbnQoYnl0ZXMuc2xpY2UoMSwgMSArIGxlbiksXFxuICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlcy5zbGljZSgxICsgbGVuLCAxICsgMiAqIGxlbikpO1xcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfSBlbHNlIGlmICgoYnl0ZXNbMF0gPT09IDB4MDIgfHwgYnl0ZXNbMF0gPT09IDB4MDMpICYmXFxuICAgICAgICAgICAgICBieXRlcy5sZW5ndGggLSAxID09PSBsZW4pIHtcXG4gICAgcmV0dXJuIHRoaXMucG9pbnRGcm9tWChieXRlcy5zbGljZSgxLCAxICsgbGVuKSwgYnl0ZXNbMF0gPT09IDB4MDMpO1xcbiAgfVxcbiAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHBvaW50IGZvcm1hdCcpO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGVDb21wcmVzc2VkID0gZnVuY3Rpb24gZW5jb2RlQ29tcHJlc3NlZChlbmMpIHtcXG4gIHJldHVybiB0aGlzLmVuY29kZShlbmMsIHRydWUpO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5fZW5jb2RlID0gZnVuY3Rpb24gX2VuY29kZShjb21wYWN0KSB7XFxuICB2YXIgbGVuID0gdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKTtcXG4gIHZhciB4ID0gdGhpcy5nZXRYKCkudG9BcnJheSgnYmUnLCBsZW4pO1xcblxcbiAgaWYgKGNvbXBhY3QpXFxuICAgIHJldHVybiBbIHRoaXMuZ2V0WSgpLmlzRXZlbigpID8gMHgwMiA6IDB4MDMgXS5jb25jYXQoeCk7XFxuXFxuICByZXR1cm4gWyAweDA0IF0uY29uY2F0KHgsIHRoaXMuZ2V0WSgpLnRvQXJyYXkoJ2JlJywgbGVuKSkgO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZW5jLCBjb21wYWN0KSB7XFxuICByZXR1cm4gdXRpbHMuZW5jb2RlKHRoaXMuX2VuY29kZShjb21wYWN0KSwgZW5jKTtcXG59O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUucHJlY29tcHV0ZSA9IGZ1bmN0aW9uIHByZWNvbXB1dGUocG93ZXIpIHtcXG4gIGlmICh0aGlzLnByZWNvbXB1dGVkKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIHZhciBwcmVjb21wdXRlZCA9IHtcXG4gICAgZG91YmxlczogbnVsbCxcXG4gICAgbmFmOiBudWxsLFxcbiAgICBiZXRhOiBudWxsXFxuICB9O1xcbiAgcHJlY29tcHV0ZWQubmFmID0gdGhpcy5fZ2V0TkFGUG9pbnRzKDgpO1xcbiAgcHJlY29tcHV0ZWQuZG91YmxlcyA9IHRoaXMuX2dldERvdWJsZXMoNCwgcG93ZXIpO1xcbiAgcHJlY29tcHV0ZWQuYmV0YSA9IHRoaXMuX2dldEJldGEoKTtcXG4gIHRoaXMucHJlY29tcHV0ZWQgPSBwcmVjb21wdXRlZDtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5faGFzRG91YmxlcyA9IGZ1bmN0aW9uIF9oYXNEb3VibGVzKGspIHtcXG4gIGlmICghdGhpcy5wcmVjb21wdXRlZClcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgdmFyIGRvdWJsZXMgPSB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7XFxuICBpZiAoIWRvdWJsZXMpXFxuICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIHJldHVybiBkb3VibGVzLnBvaW50cy5sZW5ndGggPj0gTWF0aC5jZWlsKChrLmJpdExlbmd0aCgpICsgMSkgLyBkb3VibGVzLnN0ZXApO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5fZ2V0RG91YmxlcyA9IGZ1bmN0aW9uIF9nZXREb3VibGVzKHN0ZXAsIHBvd2VyKSB7XFxuICBpZiAodGhpcy5wcmVjb21wdXRlZCAmJiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMpXFxuICAgIHJldHVybiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7XFxuXFxuICB2YXIgZG91YmxlcyA9IFsgdGhpcyBdO1xcbiAgdmFyIGFjYyA9IHRoaXM7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBvd2VyOyBpICs9IHN0ZXApIHtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdGVwOyBqKyspXFxuICAgICAgYWNjID0gYWNjLmRibCgpO1xcbiAgICBkb3VibGVzLnB1c2goYWNjKTtcXG4gIH1cXG4gIHJldHVybiB7XFxuICAgIHN0ZXA6IHN0ZXAsXFxuICAgIHBvaW50czogZG91Ymxlc1xcbiAgfTtcXG59O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldE5BRlBvaW50cyA9IGZ1bmN0aW9uIF9nZXROQUZQb2ludHMod25kKSB7XFxuICBpZiAodGhpcy5wcmVjb21wdXRlZCAmJiB0aGlzLnByZWNvbXB1dGVkLm5hZilcXG4gICAgcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQubmFmO1xcblxcbiAgdmFyIHJlcyA9IFsgdGhpcyBdO1xcbiAgdmFyIG1heCA9ICgxIDw8IHduZCkgLSAxO1xcbiAgdmFyIGRibCA9IG1heCA9PT0gMSA/IG51bGwgOiB0aGlzLmRibCgpO1xcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBtYXg7IGkrKylcXG4gICAgcmVzW2ldID0gcmVzW2kgLSAxXS5hZGQoZGJsKTtcXG4gIHJldHVybiB7XFxuICAgIHduZDogd25kLFxcbiAgICBwb2ludHM6IHJlc1xcbiAgfTtcXG59O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldEJldGEgPSBmdW5jdGlvbiBfZ2V0QmV0YSgpIHtcXG4gIHJldHVybiBudWxsO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5kYmxwID0gZnVuY3Rpb24gZGJscChrKSB7XFxuICB2YXIgciA9IHRoaXM7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGs7IGkrKylcXG4gICAgciA9IHIuZGJsKCk7XFxuICByZXR1cm4gcjtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdlltRnpaUzVxY3o5alpEQmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMRk5CUVZNc2JVSkJRVThzUTBGQlF5eHRSVUZCVHp0QlFVTjRRaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNLMFJCUVZVN1FVRkRPVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNaMEpCUVdkQ08wRkJRMnBETzBGQlEwRXNjME5CUVhORExGRkJRVkU3UVVGRE9VTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1QwRkJUenRCUVVONFFpeHRRa0ZCYlVJc2FVSkJRV2xDTzBGQlEzQkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc09FSkJRVGhDTEZGQlFWRTdRVUZEZEVNN1FVRkRRU3h0UWtGQmJVSXNkMEpCUVhkQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTEZGQlFWRTdRVUZETDBJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGTkJRVk03UVVGRE5VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNVVUZCVVR0QlFVTXpRanM3UVVGRlFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xGTkJRVk03UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1UwRkJVenRCUVVNMVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRk5CUVZNN1FVRkRNVUk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeFhRVUZYTzBGQlF6VkNMRzFDUVVGdFFpeFZRVUZWTzBGQlF6ZENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeFRRVUZUTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhQUVVGUE8wRkJRM2hDTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2WW1GelpTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRUpPSUQwZ2NtVnhkV2x5WlNnblltNHVhbk1uS1R0Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR1TDNWMGFXeHpKeWs3WEc1MllYSWdaMlYwVGtGR0lEMGdkWFJwYkhNdVoyVjBUa0ZHTzF4dWRtRnlJR2RsZEVwVFJpQTlJSFYwYVd4ekxtZGxkRXBUUmp0Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRUpoYzJWRGRYSjJaU2gwZVhCbExDQmpiMjVtS1NCN1hHNGdJSFJvYVhNdWRIbHdaU0E5SUhSNWNHVTdYRzRnSUhSb2FYTXVjQ0E5SUc1bGR5QkNUaWhqYjI1bUxuQXNJREUyS1R0Y2JseHVJQ0F2THlCVmMyVWdUVzl1ZEdkdmJXVnllU3dnZDJobGJpQjBhR1Z5WlNCcGN5QnVieUJtWVhOMElISmxaSFZqZEdsdmJpQm1iM0lnZEdobElIQnlhVzFsWEc0Z0lIUm9hWE11Y21Wa0lEMGdZMjl1Wmk1d2NtbHRaU0EvSUVKT0xuSmxaQ2hqYjI1bUxuQnlhVzFsS1NBNklFSk9MbTF2Ym5Rb2RHaHBjeTV3S1R0Y2JseHVJQ0F2THlCVmMyVm1kV3dnWm05eUlHMWhibmtnWTNWeWRtVnpYRzRnSUhSb2FYTXVlbVZ5YnlBOUlHNWxkeUJDVGlnd0tTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSFJvYVhNdWIyNWxJRDBnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNdWNtVmtLVHRjYmlBZ2RHaHBjeTUwZDI4Z1BTQnVaWGNnUWs0b01pa3VkRzlTWldRb2RHaHBjeTV5WldRcE8xeHVYRzRnSUM4dklFTjFjblpsSUdOdmJtWnBaM1Z5WVhScGIyNHNJRzl3ZEdsdmJtRnNYRzRnSUhSb2FYTXViaUE5SUdOdmJtWXViaUFtSmlCdVpYY2dRazRvWTI5dVppNXVMQ0F4TmlrN1hHNGdJSFJvYVhNdVp5QTlJR052Ym1ZdVp5QW1KaUIwYUdsekxuQnZhVzUwUm5KdmJVcFRUMDRvWTI5dVppNW5MQ0JqYjI1bUxtZFNaV1FwTzF4dVhHNGdJQzh2SUZSbGJYQnZjbUZ5ZVNCaGNuSmhlWE5jYmlBZ2RHaHBjeTVmZDI1aFpsUXhJRDBnYm1WM0lFRnljbUY1S0RRcE8xeHVJQ0IwYUdsekxsOTNibUZtVkRJZ1BTQnVaWGNnUVhKeVlYa29OQ2s3WEc0Z0lIUm9hWE11WDNkdVlXWlVNeUE5SUc1bGR5QkJjbkpoZVNnMEtUdGNiaUFnZEdocGN5NWZkMjVoWmxRMElEMGdibVYzSUVGeWNtRjVLRFFwTzF4dVhHNGdJSFJvYVhNdVgySnBkRXhsYm1kMGFDQTlJSFJvYVhNdWJpQS9JSFJvYVhNdWJpNWlhWFJNWlc1bmRHZ29LU0E2SURBN1hHNWNiaUFnTHk4Z1IyVnVaWEpoYkdsNlpXUWdSM0psWnlCTllYaDNaV3hzSjNNZ2RISnBZMnRjYmlBZ2RtRnlJR0ZrYW5WemRFTnZkVzUwSUQwZ2RHaHBjeTV1SUNZbUlIUm9hWE11Y0M1a2FYWW9kR2hwY3k1dUtUdGNiaUFnYVdZZ0tDRmhaR3AxYzNSRGIzVnVkQ0I4ZkNCaFpHcDFjM1JEYjNWdWRDNWpiWEJ1S0RFd01Da2dQaUF3S1NCN1hHNGdJQ0FnZEdocGN5NXlaV1JPSUQwZ2JuVnNiRHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUdsekxsOXRZWGgzWld4c1ZISnBZMnNnUFNCMGNuVmxPMXh1SUNBZ0lIUm9hWE11Y21Wa1RpQTlJSFJvYVhNdWJpNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSDFjYm4xY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1FtRnpaVU4xY25abE8xeHVYRzVDWVhObFEzVnlkbVV1Y0hKdmRHOTBlWEJsTG5CdmFXNTBJRDBnWm5WdVkzUnBiMjRnY0c5cGJuUW9LU0I3WEc0Z0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlrN1hHNTlPMXh1WEc1Q1lYTmxRM1Z5ZG1VdWNISnZkRzkwZVhCbExuWmhiR2xrWVhSbElEMGdablZ1WTNScGIyNGdkbUZzYVdSaGRHVW9LU0I3WEc0Z0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlrN1hHNTlPMXh1WEc1Q1lYTmxRM1Z5ZG1VdWNISnZkRzkwZVhCbExsOW1hWGhsWkU1aFprMTFiQ0E5SUdaMWJtTjBhVzl1SUY5bWFYaGxaRTVoWmsxMWJDaHdMQ0JyS1NCN1hHNGdJR0Z6YzJWeWRDaHdMbkJ5WldOdmJYQjFkR1ZrS1R0Y2JpQWdkbUZ5SUdSdmRXSnNaWE1nUFNCd0xsOW5aWFJFYjNWaWJHVnpLQ2s3WEc1Y2JpQWdkbUZ5SUc1aFppQTlJR2RsZEU1QlJpaHJMQ0F4TENCMGFHbHpMbDlpYVhSTVpXNW5kR2dwTzF4dUlDQjJZWElnU1NBOUlDZ3hJRHc4SUNoa2IzVmliR1Z6TG5OMFpYQWdLeUF4S1NrZ0xTQW9aRzkxWW14bGN5NXpkR1Z3SUNVZ01pQTlQVDBnTUNBL0lESWdPaUF4S1R0Y2JpQWdTU0F2UFNBek8xeHVYRzRnSUM4dklGUnlZVzV6YkdGMFpTQnBiblJ2SUcxdmNtVWdkMmx1Wkc5M1pXUWdabTl5YlZ4dUlDQjJZWElnY21Wd2NpQTlJRnRkTzF4dUlDQm1iM0lnS0haaGNpQnFJRDBnTURzZ2FpQThJRzVoWmk1c1pXNW5kR2c3SUdvZ0t6MGdaRzkxWW14bGN5NXpkR1Z3S1NCN1hHNGdJQ0FnZG1GeUlHNWhabGNnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdzZ1BTQnFJQ3NnWkc5MVlteGxjeTV6ZEdWd0lDMGdNVHNnYXlBK1BTQnFPeUJyTFMwcFhHNGdJQ0FnSUNCdVlXWlhJRDBnS0c1aFpsY2dQRHdnTVNrZ0t5QnVZV1piYTEwN1hHNGdJQ0FnY21Wd2NpNXdkWE5vS0c1aFpsY3BPMXh1SUNCOVhHNWNiaUFnZG1GeUlHRWdQU0IwYUdsekxtcHdiMmx1ZENodWRXeHNMQ0J1ZFd4c0xDQnVkV3hzS1R0Y2JpQWdkbUZ5SUdJZ1BTQjBhR2x6TG1wd2IybHVkQ2h1ZFd4c0xDQnVkV3hzTENCdWRXeHNLVHRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJRWs3SUdrZ1BpQXdPeUJwTFMwcElIdGNiaUFnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElISmxjSEl1YkdWdVozUm9PeUJxS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ1WVdaWElEMGdjbVZ3Y2x0cVhUdGNiaUFnSUNBZ0lHbG1JQ2h1WVdaWElEMDlQU0JwS1Z4dUlDQWdJQ0FnSUNCaUlEMGdZaTV0YVhobFpFRmtaQ2hrYjNWaWJHVnpMbkJ2YVc1MGMxdHFYU2s3WEc0Z0lDQWdJQ0JsYkhObElHbG1JQ2h1WVdaWElEMDlQU0F0YVNsY2JpQWdJQ0FnSUNBZ1lpQTlJR0l1YldsNFpXUkJaR1FvWkc5MVlteGxjeTV3YjJsdWRITmJhbDB1Ym1WbktDa3BPMXh1SUNBZ0lIMWNiaUFnSUNCaElEMGdZUzVoWkdRb1lpazdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHRXVkRzlRS0NrN1hHNTlPMXh1WEc1Q1lYTmxRM1Z5ZG1VdWNISnZkRzkwZVhCbExsOTNibUZtVFhWc0lEMGdablZ1WTNScGIyNGdYM2R1WVdaTmRXd29jQ3dnYXlrZ2UxeHVJQ0IyWVhJZ2R5QTlJRFE3WEc1Y2JpQWdMeThnVUhKbFkyOXRjSFYwWlNCM2FXNWtiM2RjYmlBZ2RtRnlJRzVoWmxCdmFXNTBjeUE5SUhBdVgyZGxkRTVCUmxCdmFXNTBjeWgzS1R0Y2JpQWdkeUE5SUc1aFpsQnZhVzUwY3k1M2JtUTdYRzRnSUhaaGNpQjNibVFnUFNCdVlXWlFiMmx1ZEhNdWNHOXBiblJ6TzF4dVhHNGdJQzh2SUVkbGRDQk9RVVlnWm05eWJWeHVJQ0IyWVhJZ2JtRm1JRDBnWjJWMFRrRkdLR3NzSUhjc0lIUm9hWE11WDJKcGRFeGxibWQwYUNrN1hHNWNiaUFnTHk4Z1FXUmtJR0IwYUdsellDb29UaXN4S1NCbWIzSWdaWFpsY25rZ2R5MU9RVVlnYVc1a1pYaGNiaUFnZG1GeUlHRmpZeUE5SUhSb2FYTXVhbkJ2YVc1MEtHNTFiR3dzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2JtRm1MbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYRzRnSUNBZ0x5OGdRMjkxYm5RZ2VtVnliMlZ6WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURBN0lHa2dQajBnTUNBbUppQnVZV1piYVYwZ1BUMDlJREE3SUdrdExTbGNiaUFnSUNBZ0lHc3JLenRjYmlBZ0lDQnBaaUFvYVNBK1BTQXdLVnh1SUNBZ0lDQWdheXNyTzF4dUlDQWdJR0ZqWXlBOUlHRmpZeTVrWW14d0tHc3BPMXh1WEc0Z0lDQWdhV1lnS0drZ1BDQXdLVnh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZG1GeUlIb2dQU0J1WVdaYmFWMDdYRzRnSUNBZ1lYTnpaWEowS0hvZ0lUMDlJREFwTzF4dUlDQWdJR2xtSUNod0xuUjVjR1VnUFQwOUlDZGhabVpwYm1VbktTQjdYRzRnSUNBZ0lDQXZMeUJLSUNzdElGQmNiaUFnSUNBZ0lHbG1JQ2g2SUQ0Z01DbGNiaUFnSUNBZ0lDQWdZV05qSUQwZ1lXTmpMbTFwZUdWa1FXUmtLSGR1WkZzb2VpQXRJREVwSUQ0K0lERmRLVHRjYmlBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ1lXTmpJRDBnWVdOakxtMXBlR1ZrUVdSa0tIZHVaRnNvTFhvZ0xTQXhLU0ErUGlBeFhTNXVaV2NvS1NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUVvZ0t5MGdTbHh1SUNBZ0lDQWdhV1lnS0hvZ1BpQXdLVnh1SUNBZ0lDQWdJQ0JoWTJNZ1BTQmhZMk11WVdSa0tIZHVaRnNvZWlBdElERXBJRDQrSURGZEtUdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnWVdOaklEMGdZV05qTG1Ga1pDaDNibVJiS0MxNklDMGdNU2tnUGo0Z01WMHVibVZuS0NrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY0M1MGVYQmxJRDA5UFNBbllXWm1hVzVsSnlBL0lHRmpZeTUwYjFBb0tTQTZJR0ZqWXp0Y2JuMDdYRzVjYmtKaGMyVkRkWEoyWlM1d2NtOTBiM1I1Y0dVdVgzZHVZV1pOZFd4QlpHUWdQU0JtZFc1amRHbHZiaUJmZDI1aFprMTFiRUZrWkNoa1pXWlhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCdmFXNTBjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyVm1abk1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVnVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdwaFkyOWlhV0Z1VW1WemRXeDBLU0I3WEc0Z0lIWmhjaUIzYm1SWGFXUjBhQ0E5SUhSb2FYTXVYM2R1WVdaVU1UdGNiaUFnZG1GeUlIZHVaQ0E5SUhSb2FYTXVYM2R1WVdaVU1qdGNiaUFnZG1GeUlHNWhaaUE5SUhSb2FYTXVYM2R1WVdaVU16dGNibHh1SUNBdkx5QkdhV3hzSUdGc2JDQmhjbkpoZVhOY2JpQWdkbUZ5SUcxaGVDQTlJREE3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQjJZWElnY0NBOUlIQnZhVzUwYzF0cFhUdGNiaUFnSUNCMllYSWdibUZtVUc5cGJuUnpJRDBnY0M1ZloyVjBUa0ZHVUc5cGJuUnpLR1JsWmxjcE8xeHVJQ0FnSUhkdVpGZHBaSFJvVzJsZElEMGdibUZtVUc5cGJuUnpMbmR1WkR0Y2JpQWdJQ0IzYm1SYmFWMGdQU0J1WVdaUWIybHVkSE11Y0c5cGJuUnpPMXh1SUNCOVhHNWNiaUFnTHk4Z1EyOXRZaUJ6YldGc2JDQjNhVzVrYjNjZ1RrRkdjMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdiR1Z1SUMwZ01Uc2dhU0ErUFNBeE95QnBJQzA5SURJcElIdGNiaUFnSUNCMllYSWdZU0E5SUdrZ0xTQXhPMXh1SUNBZ0lIWmhjaUJpSUQwZ2FUdGNiaUFnSUNCcFppQW9kMjVrVjJsa2RHaGJZVjBnSVQwOUlERWdmSHdnZDI1a1YybGtkR2hiWWwwZ0lUMDlJREVwSUh0Y2JpQWdJQ0FnSUc1aFpsdGhYU0E5SUdkbGRFNUJSaWhqYjJWbVpuTmJZVjBzSUhkdVpGZHBaSFJvVzJGZExDQjBhR2x6TGw5aWFYUk1aVzVuZEdncE8xeHVJQ0FnSUNBZ2JtRm1XMkpkSUQwZ1oyVjBUa0ZHS0dOdlpXWm1jMXRpWFN3Z2QyNWtWMmxrZEdoYllsMHNJSFJvYVhNdVgySnBkRXhsYm1kMGFDazdYRzRnSUNBZ0lDQnRZWGdnUFNCTllYUm9MbTFoZUNodVlXWmJZVjB1YkdWdVozUm9MQ0J0WVhncE8xeHVJQ0FnSUNBZ2JXRjRJRDBnVFdGMGFDNXRZWGdvYm1GbVcySmRMbXhsYm1kMGFDd2diV0Y0S1R0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCamIyMWlJRDBnVzF4dUlDQWdJQ0FnY0c5cGJuUnpXMkZkTENBdktpQXhJQ292WEc0Z0lDQWdJQ0J1ZFd4c0xDQXZLaUF6SUNvdlhHNGdJQ0FnSUNCdWRXeHNMQ0F2S2lBMUlDb3ZYRzRnSUNBZ0lDQndiMmx1ZEhOYllsMGdMeW9nTnlBcUwxeHVJQ0FnSUYwN1hHNWNiaUFnSUNBdkx5QlVjbmtnZEc4Z1lYWnZhV1FnVUhKdmFtVmpkR2wyWlNCd2IybHVkSE1zSUdsbUlIQnZjM05wWW14bFhHNGdJQ0FnYVdZZ0tIQnZhVzUwYzF0aFhTNTVMbU50Y0Nod2IybHVkSE5iWWwwdWVTa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lHTnZiV0piTVYwZ1BTQndiMmx1ZEhOYllWMHVZV1JrS0hCdmFXNTBjMXRpWFNrN1hHNGdJQ0FnSUNCamIyMWlXekpkSUQwZ2NHOXBiblJ6VzJGZExuUnZTaWdwTG0xcGVHVmtRV1JrS0hCdmFXNTBjMXRpWFM1dVpXY29LU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h3YjJsdWRITmJZVjB1ZVM1amJYQW9jRzlwYm5SelcySmRMbmt1Y21Wa1RtVm5LQ2twSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0JqYjIxaVd6RmRJRDBnY0c5cGJuUnpXMkZkTG5SdlNpZ3BMbTFwZUdWa1FXUmtLSEJ2YVc1MGMxdGlYU2s3WEc0Z0lDQWdJQ0JqYjIxaVd6SmRJRDBnY0c5cGJuUnpXMkZkTG1Ga1pDaHdiMmx1ZEhOYllsMHVibVZuS0NrcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjIxaVd6RmRJRDBnY0c5cGJuUnpXMkZkTG5SdlNpZ3BMbTFwZUdWa1FXUmtLSEJ2YVc1MGMxdGlYU2s3WEc0Z0lDQWdJQ0JqYjIxaVd6SmRJRDBnY0c5cGJuUnpXMkZkTG5SdlNpZ3BMbTFwZUdWa1FXUmtLSEJ2YVc1MGMxdGlYUzV1Wldjb0tTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR2x1WkdWNElEMGdXMXh1SUNBZ0lDQWdMVE1zSUM4cUlDMHhJQzB4SUNvdlhHNGdJQ0FnSUNBdE1Td2dMeW9nTFRFZ01DQXFMMXh1SUNBZ0lDQWdMVFVzSUM4cUlDMHhJREVnS2k5Y2JpQWdJQ0FnSUMwM0xDQXZLaUF3SUMweElDb3ZYRzRnSUNBZ0lDQXdMQ0F2S2lBd0lEQWdLaTljYmlBZ0lDQWdJRGNzSUM4cUlEQWdNU0FxTDF4dUlDQWdJQ0FnTlN3Z0x5b2dNU0F0TVNBcUwxeHVJQ0FnSUNBZ01Td2dMeW9nTVNBd0lDb3ZYRzRnSUNBZ0lDQXpJQ0F2S2lBeElERWdLaTljYmlBZ0lDQmRPMXh1WEc0Z0lDQWdkbUZ5SUdwelppQTlJR2RsZEVwVFJpaGpiMlZtWm5OYllWMHNJR052WldabWMxdGlYU2s3WEc0Z0lDQWdiV0Y0SUQwZ1RXRjBhQzV0WVhnb2FuTm1XekJkTG14bGJtZDBhQ3dnYldGNEtUdGNiaUFnSUNCdVlXWmJZVjBnUFNCdVpYY2dRWEp5WVhrb2JXRjRLVHRjYmlBZ0lDQnVZV1piWWwwZ1BTQnVaWGNnUVhKeVlYa29iV0Y0S1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4SUcxaGVEc2dhaXNyS1NCN1hHNGdJQ0FnSUNCMllYSWdhbUVnUFNCcWMyWmJNRjFiYWwwZ2ZDQXdPMXh1SUNBZ0lDQWdkbUZ5SUdwaUlEMGdhbk5tV3pGZFcycGRJSHdnTUR0Y2JseHVJQ0FnSUNBZ2JtRm1XMkZkVzJwZElEMGdhVzVrWlhoYktHcGhJQ3NnTVNrZ0tpQXpJQ3NnS0dwaUlDc2dNU2xkTzF4dUlDQWdJQ0FnYm1GbVcySmRXMnBkSUQwZ01EdGNiaUFnSUNBZ0lIZHVaRnRoWFNBOUlHTnZiV0k3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnZG1GeUlHRmpZeUE5SUhSb2FYTXVhbkJ2YVc1MEtHNTFiR3dzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0IyWVhJZ2RHMXdJRDBnZEdocGN5NWZkMjVoWmxRME8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2JXRjRPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUhaaGNpQnJJRDBnTUR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2hwSUQ0OUlEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCNlpYSnZJRDBnZEhKMVpUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3T3lCcUlEd2diR1Z1T3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZEcxd1cycGRJRDBnYm1GbVcycGRXMmxkSUh3Z01EdGNiaUFnSUNBZ0lDQWdhV1lnS0hSdGNGdHFYU0FoUFQwZ01DbGNiaUFnSUNBZ0lDQWdJQ0I2WlhKdklEMGdabUZzYzJVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9JWHBsY204cFhHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnYXlzck8xeHVJQ0FnSUNBZ2FTMHRPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hU0ErUFNBd0tWeHVJQ0FnSUNBZ2F5c3JPMXh1SUNBZ0lHRmpZeUE5SUdGall5NWtZbXh3S0dzcE8xeHVJQ0FnSUdsbUlDaHBJRHdnTUNsY2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0JzWlc0N0lHb3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIb2dQU0IwYlhCYmFsMDdYRzRnSUNBZ0lDQjJZWElnY0R0Y2JpQWdJQ0FnSUdsbUlDaDZJRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lHVnNjMlVnYVdZZ0tIb2dQaUF3S1Z4dUlDQWdJQ0FnSUNCd0lEMGdkMjVrVzJwZFd5aDZJQzBnTVNrZ1BqNGdNVjA3WEc0Z0lDQWdJQ0JsYkhObElHbG1JQ2g2SUR3Z01DbGNiaUFnSUNBZ0lDQWdjQ0E5SUhkdVpGdHFYVnNvTFhvZ0xTQXhLU0ErUGlBeFhTNXVaV2NvS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSEF1ZEhsd1pTQTlQVDBnSjJGbVptbHVaU2NwWEc0Z0lDQWdJQ0FnSUdGall5QTlJR0ZqWXk1dGFYaGxaRUZrWkNod0tUdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnWVdOaklEMGdZV05qTG1Ga1pDaHdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdMeThnV21WeWIybG1lU0J5WldabGNtVnVZMlZ6WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BYRzRnSUNBZ2QyNWtXMmxkSUQwZ2JuVnNiRHRjYmx4dUlDQnBaaUFvYW1GamIySnBZVzVTWlhOMWJIUXBYRzRnSUNBZ2NtVjBkWEp1SUdGall6dGNiaUFnWld4elpWeHVJQ0FnSUhKbGRIVnliaUJoWTJNdWRHOVFLQ2s3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJDWVhObFVHOXBiblFvWTNWeWRtVXNJSFI1Y0dVcElIdGNiaUFnZEdocGN5NWpkWEoyWlNBOUlHTjFjblpsTzF4dUlDQjBhR2x6TG5SNWNHVWdQU0IwZVhCbE8xeHVJQ0IwYUdsekxuQnlaV052YlhCMWRHVmtJRDBnYm5Wc2JEdGNibjFjYmtKaGMyVkRkWEoyWlM1Q1lYTmxVRzlwYm5RZ1BTQkNZWE5sVUc5cGJuUTdYRzVjYmtKaGMyVlFiMmx1ZEM1d2NtOTBiM1I1Y0dVdVpYRWdQU0JtZFc1amRHbHZiaUJsY1NndkttOTBhR1Z5S2k4cElIdGNiaUFnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RPYjNRZ2FXMXdiR1Z0Wlc1MFpXUW5LVHRjYm4wN1hHNWNia0poYzJWUWIybHVkQzV3Y205MGIzUjVjR1V1ZG1Gc2FXUmhkR1VnUFNCbWRXNWpkR2x2YmlCMllXeHBaR0YwWlNncElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1ZG1Gc2FXUmhkR1VvZEdocGN5azdYRzU5TzF4dVhHNUNZWE5sUTNWeWRtVXVjSEp2ZEc5MGVYQmxMbVJsWTI5a1pWQnZhVzUwSUQwZ1puVnVZM1JwYjI0Z1pHVmpiMlJsVUc5cGJuUW9ZbmwwWlhNc0lHVnVZeWtnZTF4dUlDQmllWFJsY3lBOUlIVjBhV3h6TG5SdlFYSnlZWGtvWW5sMFpYTXNJR1Z1WXlrN1hHNWNiaUFnZG1GeUlHeGxiaUE5SUhSb2FYTXVjQzVpZVhSbFRHVnVaM1JvS0NrN1hHNWNiaUFnTHk4Z2RXNWpiMjF3Y21WemMyVmtMQ0JvZVdKeWFXUXRiMlJrTENCb2VXSnlhV1F0WlhabGJseHVJQ0JwWmlBb0tHSjVkR1Z6V3pCZElEMDlQU0F3ZURBMElIeDhJR0o1ZEdWeld6QmRJRDA5UFNBd2VEQTJJSHg4SUdKNWRHVnpXekJkSUQwOVBTQXdlREEzS1NBbUpseHVJQ0FnSUNBZ1lubDBaWE11YkdWdVozUm9JQzBnTVNBOVBUMGdNaUFxSUd4bGJpa2dlMXh1SUNBZ0lHbG1JQ2hpZVhSbGMxc3dYU0E5UFQwZ01IZ3dOaWxjYmlBZ0lDQWdJR0Z6YzJWeWRDaGllWFJsYzF0aWVYUmxjeTVzWlc1bmRHZ2dMU0F4WFNBbElESWdQVDA5SURBcE8xeHVJQ0FnSUdWc2MyVWdhV1lnS0dKNWRHVnpXekJkSUQwOVBTQXdlREEzS1Z4dUlDQWdJQ0FnWVhOelpYSjBLR0o1ZEdWelcySjVkR1Z6TG14bGJtZDBhQ0F0SURGZElDVWdNaUE5UFQwZ01TazdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdJSFJvYVhNdWNHOXBiblFvWW5sMFpYTXVjMnhwWTJVb01Td2dNU0FySUd4bGJpa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0o1ZEdWekxuTnNhV05sS0RFZ0t5QnNaVzRzSURFZ0t5QXlJQ29nYkdWdUtTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDaGllWFJsYzFzd1hTQTlQVDBnTUhnd01pQjhmQ0JpZVhSbGMxc3dYU0E5UFQwZ01IZ3dNeWtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5sMFpYTXViR1Z1WjNSb0lDMGdNU0E5UFQwZ2JHVnVLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y0c5cGJuUkdjbTl0V0NoaWVYUmxjeTV6YkdsalpTZ3hMQ0F4SUNzZ2JHVnVLU3dnWW5sMFpYTmJNRjBnUFQwOUlEQjRNRE1wTzF4dUlDQjlYRzRnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1cmJtOTNiaUJ3YjJsdWRDQm1iM0p0WVhRbktUdGNibjA3WEc1Y2JrSmhjMlZRYjJsdWRDNXdjbTkwYjNSNWNHVXVaVzVqYjJSbFEyOXRjSEpsYzNObFpDQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pVTnZiWEJ5WlhOelpXUW9aVzVqS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1WdVkyOWtaU2hsYm1Nc0lIUnlkV1VwTzF4dWZUdGNibHh1UW1GelpWQnZhVzUwTG5CeWIzUnZkSGx3WlM1ZlpXNWpiMlJsSUQwZ1puVnVZM1JwYjI0Z1gyVnVZMjlrWlNoamIyMXdZV04wS1NCN1hHNGdJSFpoY2lCc1pXNGdQU0IwYUdsekxtTjFjblpsTG5BdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNCMllYSWdlQ0E5SUhSb2FYTXVaMlYwV0NncExuUnZRWEp5WVhrb0oySmxKeXdnYkdWdUtUdGNibHh1SUNCcFppQW9ZMjl0Y0dGamRDbGNiaUFnSUNCeVpYUjFjbTRnV3lCMGFHbHpMbWRsZEZrb0tTNXBjMFYyWlc0b0tTQS9JREI0TURJZ09pQXdlREF6SUYwdVkyOXVZMkYwS0hncE8xeHVYRzRnSUhKbGRIVnliaUJiSURCNE1EUWdYUzVqYjI1allYUW9lQ3dnZEdocGN5NW5aWFJaS0NrdWRHOUJjbkpoZVNnblltVW5MQ0JzWlc0cEtTQTdYRzU5TzF4dVhHNUNZWE5sVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbVZ1WTI5a1pTQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pTaGxibU1zSUdOdmJYQmhZM1FwSUh0Y2JpQWdjbVYwZFhKdUlIVjBhV3h6TG1WdVkyOWtaU2gwYUdsekxsOWxibU52WkdVb1kyOXRjR0ZqZENrc0lHVnVZeWs3WEc1OU8xeHVYRzVDWVhObFVHOXBiblF1Y0hKdmRHOTBlWEJsTG5CeVpXTnZiWEIxZEdVZ1BTQm1kVzVqZEdsdmJpQndjbVZqYjIxd2RYUmxLSEJ2ZDJWeUtTQjdYRzRnSUdsbUlDaDBhR2x6TG5CeVpXTnZiWEIxZEdWa0tWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUhaaGNpQndjbVZqYjIxd2RYUmxaQ0E5SUh0Y2JpQWdJQ0JrYjNWaWJHVnpPaUJ1ZFd4c0xGeHVJQ0FnSUc1aFpqb2diblZzYkN4Y2JpQWdJQ0JpWlhSaE9pQnVkV3hzWEc0Z0lIMDdYRzRnSUhCeVpXTnZiWEIxZEdWa0xtNWhaaUE5SUhSb2FYTXVYMmRsZEU1QlJsQnZhVzUwY3lnNEtUdGNiaUFnY0hKbFkyOXRjSFYwWldRdVpHOTFZbXhsY3lBOUlIUm9hWE11WDJkbGRFUnZkV0pzWlhNb05Dd2djRzkzWlhJcE8xeHVJQ0J3Y21WamIyMXdkWFJsWkM1aVpYUmhJRDBnZEdocGN5NWZaMlYwUW1WMFlTZ3BPMXh1SUNCMGFHbHpMbkJ5WldOdmJYQjFkR1ZrSUQwZ2NISmxZMjl0Y0hWMFpXUTdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNUNZWE5sVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlvWVhORWIzVmliR1Z6SUQwZ1puVnVZM1JwYjI0Z1gyaGhjMFJ2ZFdKc1pYTW9heWtnZTF4dUlDQnBaaUFvSVhSb2FYTXVjSEpsWTI5dGNIVjBaV1FwWEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSFpoY2lCa2IzVmliR1Z6SUQwZ2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1a2IzVmliR1Z6TzF4dUlDQnBaaUFvSVdSdmRXSnNaWE1wWEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSEpsZEhWeWJpQmtiM1ZpYkdWekxuQnZhVzUwY3k1c1pXNW5kR2dnUGowZ1RXRjBhQzVqWldsc0tDaHJMbUpwZEV4bGJtZDBhQ2dwSUNzZ01Ta2dMeUJrYjNWaWJHVnpMbk4wWlhBcE8xeHVmVHRjYmx4dVFtRnpaVkJ2YVc1MExuQnliM1J2ZEhsd1pTNWZaMlYwUkc5MVlteGxjeUE5SUdaMWJtTjBhVzl1SUY5blpYUkViM1ZpYkdWektITjBaWEFzSUhCdmQyVnlLU0I3WEc0Z0lHbG1JQ2gwYUdsekxuQnlaV052YlhCMWRHVmtJQ1ltSUhSb2FYTXVjSEpsWTI5dGNIVjBaV1F1Wkc5MVlteGxjeWxjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1a2IzVmliR1Z6TzF4dVhHNGdJSFpoY2lCa2IzVmliR1Z6SUQwZ1d5QjBhR2x6SUYwN1hHNGdJSFpoY2lCaFkyTWdQU0IwYUdsek8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhCdmQyVnlPeUJwSUNzOUlITjBaWEFwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4SUhOMFpYQTdJR29yS3lsY2JpQWdJQ0FnSUdGall5QTlJR0ZqWXk1a1ltd29LVHRjYmlBZ0lDQmtiM1ZpYkdWekxuQjFjMmdvWVdOaktUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUhOMFpYQTZJSE4wWlhBc1hHNGdJQ0FnY0c5cGJuUnpPaUJrYjNWaWJHVnpYRzRnSUgwN1hHNTlPMXh1WEc1Q1lYTmxVRzlwYm5RdWNISnZkRzkwZVhCbExsOW5aWFJPUVVaUWIybHVkSE1nUFNCbWRXNWpkR2x2YmlCZloyVjBUa0ZHVUc5cGJuUnpLSGR1WkNrZ2UxeHVJQ0JwWmlBb2RHaHBjeTV3Y21WamIyMXdkWFJsWkNBbUppQjBhR2x6TG5CeVpXTnZiWEIxZEdWa0xtNWhaaWxjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1dVlXWTdYRzVjYmlBZ2RtRnlJSEpsY3lBOUlGc2dkR2hwY3lCZE8xeHVJQ0IyWVhJZ2JXRjRJRDBnS0RFZ1BEd2dkMjVrS1NBdElERTdYRzRnSUhaaGNpQmtZbXdnUFNCdFlYZ2dQVDA5SURFZ1B5QnVkV3hzSURvZ2RHaHBjeTVrWW13b0tUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCdFlYZzdJR2tyS3lsY2JpQWdJQ0J5WlhOYmFWMGdQU0J5WlhOYmFTQXRJREZkTG1Ga1pDaGtZbXdwTzF4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUhkdVpEb2dkMjVrTEZ4dUlDQWdJSEJ2YVc1MGN6b2djbVZ6WEc0Z0lIMDdYRzU5TzF4dVhHNUNZWE5sVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDluWlhSQ1pYUmhJRDBnWm5WdVkzUnBiMjRnWDJkbGRFSmxkR0VvS1NCN1hHNGdJSEpsZEhWeWJpQnVkV3hzTzF4dWZUdGNibHh1UW1GelpWQnZhVzUwTG5CeWIzUnZkSGx3WlM1a1lteHdJRDBnWm5WdVkzUnBiMjRnWkdKc2NDaHJLU0I3WEc0Z0lIWmhjaUJ5SUQwZ2RHaHBjenRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnJPeUJwS3lzcFhHNGdJQ0FnY2lBOUlISXVaR0pzS0NrN1hHNGdJSEpsZEhWeWJpQnlPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL2Jhc2UuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9lZHdhcmRzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9lZHdhcmRzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxudmFyIEJhc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Jhc2UgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9iYXNlLmpzXFxcIik7XFxuXFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG5cXG5mdW5jdGlvbiBFZHdhcmRzQ3VydmUoY29uZikge1xcbiAgLy8gTk9URTogSW1wb3J0YW50IGFzIHdlIGFyZSBjcmVhdGluZyBwb2ludCBpbiBCYXNlLmNhbGwoKVxcbiAgdGhpcy50d2lzdGVkID0gKGNvbmYuYSB8IDApICE9PSAxO1xcbiAgdGhpcy5tT25lQSA9IHRoaXMudHdpc3RlZCAmJiAoY29uZi5hIHwgMCkgPT09IC0xO1xcbiAgdGhpcy5leHRlbmRlZCA9IHRoaXMubU9uZUE7XFxuXFxuICBCYXNlLmNhbGwodGhpcywgJ2Vkd2FyZHMnLCBjb25mKTtcXG5cXG4gIHRoaXMuYSA9IG5ldyBCTihjb25mLmEsIDE2KS51bW9kKHRoaXMucmVkLm0pO1xcbiAgdGhpcy5hID0gdGhpcy5hLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMuYyA9IG5ldyBCTihjb25mLmMsIDE2KS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLmMyID0gdGhpcy5jLnJlZFNxcigpO1xcbiAgdGhpcy5kID0gbmV3IEJOKGNvbmYuZCwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMuZGQgPSB0aGlzLmQucmVkQWRkKHRoaXMuZCk7XFxuXFxuICBhc3NlcnQoIXRoaXMudHdpc3RlZCB8fCB0aGlzLmMuZnJvbVJlZCgpLmNtcG4oMSkgPT09IDApO1xcbiAgdGhpcy5vbmVDID0gKGNvbmYuYyB8IDApID09PSAxO1xcbn1cXG5pbmhlcml0cyhFZHdhcmRzQ3VydmUsIEJhc2UpO1xcbm1vZHVsZS5leHBvcnRzID0gRWR3YXJkc0N1cnZlO1xcblxcbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUuX211bEEgPSBmdW5jdGlvbiBfbXVsQShudW0pIHtcXG4gIGlmICh0aGlzLm1PbmVBKVxcbiAgICByZXR1cm4gbnVtLnJlZE5lZygpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5hLnJlZE11bChudW0pO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5fbXVsQyA9IGZ1bmN0aW9uIF9tdWxDKG51bSkge1xcbiAgaWYgKHRoaXMub25lQylcXG4gICAgcmV0dXJuIG51bTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuYy5yZWRNdWwobnVtKTtcXG59O1xcblxcbi8vIEp1c3QgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBTaG9ydCBjdXJ2ZVxcbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUuanBvaW50ID0gZnVuY3Rpb24ganBvaW50KHgsIHksIHosIHQpIHtcXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHksIHosIHQpO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YID0gZnVuY3Rpb24gcG9pbnRGcm9tWCh4LCBvZGQpIHtcXG4gIHggPSBuZXcgQk4oeCwgMTYpO1xcbiAgaWYgKCF4LnJlZClcXG4gICAgeCA9IHgudG9SZWQodGhpcy5yZWQpO1xcblxcbiAgdmFyIHgyID0geC5yZWRTcXIoKTtcXG4gIHZhciByaHMgPSB0aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKHgyKSk7XFxuICB2YXIgbGhzID0gdGhpcy5vbmUucmVkU3ViKHRoaXMuYzIucmVkTXVsKHRoaXMuZCkucmVkTXVsKHgyKSk7XFxuXFxuICB2YXIgeTIgPSByaHMucmVkTXVsKGxocy5yZWRJbnZtKCkpO1xcbiAgdmFyIHkgPSB5Mi5yZWRTcXJ0KCk7XFxuICBpZiAoeS5yZWRTcXIoKS5yZWRTdWIoeTIpLmNtcCh0aGlzLnplcm8pICE9PSAwKVxcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcXG5cXG4gIHZhciBpc09kZCA9IHkuZnJvbVJlZCgpLmlzT2RkKCk7XFxuICBpZiAob2RkICYmICFpc09kZCB8fCAhb2RkICYmIGlzT2RkKVxcbiAgICB5ID0geS5yZWROZWcoKTtcXG5cXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21ZID0gZnVuY3Rpb24gcG9pbnRGcm9tWSh5LCBvZGQpIHtcXG4gIHkgPSBuZXcgQk4oeSwgMTYpO1xcbiAgaWYgKCF5LnJlZClcXG4gICAgeSA9IHkudG9SZWQodGhpcy5yZWQpO1xcblxcbiAgLy8geF4yID0gKHleMiAtIGNeMikgLyAoY14yIGQgeV4yIC0gYSlcXG4gIHZhciB5MiA9IHkucmVkU3FyKCk7XFxuICB2YXIgbGhzID0geTIucmVkU3ViKHRoaXMuYzIpO1xcbiAgdmFyIHJocyA9IHkyLnJlZE11bCh0aGlzLmQpLnJlZE11bCh0aGlzLmMyKS5yZWRTdWIodGhpcy5hKTtcXG4gIHZhciB4MiA9IGxocy5yZWRNdWwocmhzLnJlZEludm0oKSk7XFxuXFxuICBpZiAoeDIuY21wKHRoaXMuemVybykgPT09IDApIHtcXG4gICAgaWYgKG9kZClcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcXG4gICAgZWxzZVxcbiAgICAgIHJldHVybiB0aGlzLnBvaW50KHRoaXMuemVybywgeSk7XFxuICB9XFxuXFxuICB2YXIgeCA9IHgyLnJlZFNxcnQoKTtcXG4gIGlmICh4LnJlZFNxcigpLnJlZFN1Yih4MikuY21wKHRoaXMuemVybykgIT09IDApXFxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xcblxcbiAgaWYgKHguZnJvbVJlZCgpLmlzT2RkKCkgIT09IG9kZClcXG4gICAgeCA9IHgucmVkTmVnKCk7XFxuXFxuICByZXR1cm4gdGhpcy5wb2ludCh4LCB5KTtcXG59O1xcblxcbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZShwb2ludCkge1xcbiAgaWYgKHBvaW50LmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIHRydWU7XFxuXFxuICAvLyBDdXJ2ZTogQSAqIFheMiArIFleMiA9IENeMiAqICgxICsgRCAqIFheMiAqIFleMilcXG4gIHBvaW50Lm5vcm1hbGl6ZSgpO1xcblxcbiAgdmFyIHgyID0gcG9pbnQueC5yZWRTcXIoKTtcXG4gIHZhciB5MiA9IHBvaW50LnkucmVkU3FyKCk7XFxuICB2YXIgbGhzID0geDIucmVkTXVsKHRoaXMuYSkucmVkQWRkKHkyKTtcXG4gIHZhciByaHMgPSB0aGlzLmMyLnJlZE11bCh0aGlzLm9uZS5yZWRBZGQodGhpcy5kLnJlZE11bCh4MikucmVkTXVsKHkyKSkpO1xcblxcbiAgcmV0dXJuIGxocy5jbXAocmhzKSA9PT0gMDtcXG59O1xcblxcbmZ1bmN0aW9uIFBvaW50KGN1cnZlLCB4LCB5LCB6LCB0KSB7XFxuICBCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsIGN1cnZlLCAncHJvamVjdGl2ZScpO1xcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XFxuICAgIHRoaXMueCA9IHRoaXMuY3VydmUuemVybztcXG4gICAgdGhpcy55ID0gdGhpcy5jdXJ2ZS5vbmU7XFxuICAgIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xcbiAgICB0aGlzLnQgPSB0aGlzLmN1cnZlLnplcm87XFxuICAgIHRoaXMuek9uZSA9IHRydWU7XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLnggPSBuZXcgQk4oeCwgMTYpO1xcbiAgICB0aGlzLnkgPSBuZXcgQk4oeSwgMTYpO1xcbiAgICB0aGlzLnogPSB6ID8gbmV3IEJOKHosIDE2KSA6IHRoaXMuY3VydmUub25lO1xcbiAgICB0aGlzLnQgPSB0ICYmIG5ldyBCTih0LCAxNik7XFxuICAgIGlmICghdGhpcy54LnJlZClcXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICBpZiAoIXRoaXMueS5yZWQpXFxuICAgICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgaWYgKCF0aGlzLnoucmVkKVxcbiAgICAgIHRoaXMueiA9IHRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XFxuICAgIGlmICh0aGlzLnQgJiYgIXRoaXMudC5yZWQpXFxuICAgICAgdGhpcy50ID0gdGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgdGhpcy56T25lID0gdGhpcy56ID09PSB0aGlzLmN1cnZlLm9uZTtcXG5cXG4gICAgLy8gVXNlIGV4dGVuZGVkIGNvb3JkaW5hdGVzXFxuICAgIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkICYmICF0aGlzLnQpIHtcXG4gICAgICB0aGlzLnQgPSB0aGlzLngucmVkTXVsKHRoaXMueSk7XFxuICAgICAgaWYgKCF0aGlzLnpPbmUpXFxuICAgICAgICB0aGlzLnQgPSB0aGlzLnQucmVkTXVsKHRoaXMuei5yZWRJbnZtKCkpO1xcbiAgICB9XFxuICB9XFxufVxcbmluaGVyaXRzKFBvaW50LCBCYXNlLkJhc2VQb2ludCk7XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21KU09OID0gZnVuY3Rpb24gcG9pbnRGcm9tSlNPTihvYmopIHtcXG4gIHJldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLCBvYmopO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludCA9IGZ1bmN0aW9uIHBvaW50KHgsIHksIHosIHQpIHtcXG4gIHJldHVybiBuZXcgUG9pbnQodGhpcywgeCwgeSwgeiwgdCk7XFxufTtcXG5cXG5Qb2ludC5mcm9tSlNPTiA9IGZ1bmN0aW9uIGZyb21KU09OKGN1cnZlLCBvYmopIHtcXG4gIHJldHVybiBuZXcgUG9pbnQoY3VydmUsIG9ialswXSwgb2JqWzFdLCBvYmpbMl0pO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gJzxFQyBQb2ludCBJbmZpbml0eT4nO1xcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcXG4gICAgICAnIHk6ICcgKyB0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB6OiAnICsgdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgKyAnPic7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XFxuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxcbiAgcmV0dXJuIHRoaXMueC5jbXBuKDApID09PSAwICYmXFxuICAgICh0aGlzLnkuY21wKHRoaXMueikgPT09IDAgfHxcXG4gICAgKHRoaXMuek9uZSAmJiB0aGlzLnkuY21wKHRoaXMuY3VydmUuYykgPT09IDApKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5fZXh0RGJsID0gZnVuY3Rpb24gX2V4dERibCgpIHtcXG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by10d2lzdGVkLWV4dGVuZGVkLTEuaHRtbFxcbiAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOC1od2NkXFxuICAvLyA0TSArIDRTXFxuXFxuICAvLyBBID0gWDFeMlxcbiAgdmFyIGEgPSB0aGlzLngucmVkU3FyKCk7XFxuICAvLyBCID0gWTFeMlxcbiAgdmFyIGIgPSB0aGlzLnkucmVkU3FyKCk7XFxuICAvLyBDID0gMiAqIFoxXjJcXG4gIHZhciBjID0gdGhpcy56LnJlZFNxcigpO1xcbiAgYyA9IGMucmVkSUFkZChjKTtcXG4gIC8vIEQgPSBhICogQVxcbiAgdmFyIGQgPSB0aGlzLmN1cnZlLl9tdWxBKGEpO1xcbiAgLy8gRSA9IChYMSArIFkxKV4yIC0gQSAtIEJcXG4gIHZhciBlID0gdGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZFNxcigpLnJlZElTdWIoYSkucmVkSVN1YihiKTtcXG4gIC8vIEcgPSBEICsgQlxcbiAgdmFyIGcgPSBkLnJlZEFkZChiKTtcXG4gIC8vIEYgPSBHIC0gQ1xcbiAgdmFyIGYgPSBnLnJlZFN1YihjKTtcXG4gIC8vIEggPSBEIC0gQlxcbiAgdmFyIGggPSBkLnJlZFN1YihiKTtcXG4gIC8vIFgzID0gRSAqIEZcXG4gIHZhciBueCA9IGUucmVkTXVsKGYpO1xcbiAgLy8gWTMgPSBHICogSFxcbiAgdmFyIG55ID0gZy5yZWRNdWwoaCk7XFxuICAvLyBUMyA9IEUgKiBIXFxuICB2YXIgbnQgPSBlLnJlZE11bChoKTtcXG4gIC8vIFozID0gRiAqIEdcXG4gIHZhciBueiA9IGYucmVkTXVsKGcpO1xcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG55LCBueiwgbnQpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLl9wcm9qRGJsID0gZnVuY3Rpb24gX3Byb2pEYmwoKSB7XFxuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1wcm9qZWN0aXZlLmh0bWxcXG4gIC8vICAgICAjZG91YmxpbmctZGJsLTIwMDgtYmJqbHBcXG4gIC8vICAgICAjZG91YmxpbmctZGJsLTIwMDctYmxcXG4gIC8vIGFuZCBvdGhlcnNcXG4gIC8vIEdlbmVyYWxseSAzTSArIDRTIG9yIDJNICsgNFNcXG5cXG4gIC8vIEIgPSAoWDEgKyBZMSleMlxcbiAgdmFyIGIgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCk7XFxuICAvLyBDID0gWDFeMlxcbiAgdmFyIGMgPSB0aGlzLngucmVkU3FyKCk7XFxuICAvLyBEID0gWTFeMlxcbiAgdmFyIGQgPSB0aGlzLnkucmVkU3FyKCk7XFxuXFxuICB2YXIgbng7XFxuICB2YXIgbnk7XFxuICB2YXIgbno7XFxuICBpZiAodGhpcy5jdXJ2ZS50d2lzdGVkKSB7XFxuICAgIC8vIEUgPSBhICogQ1xcbiAgICB2YXIgZSA9IHRoaXMuY3VydmUuX211bEEoYyk7XFxuICAgIC8vIEYgPSBFICsgRFxcbiAgICB2YXIgZiA9IGUucmVkQWRkKGQpO1xcbiAgICBpZiAodGhpcy56T25lKSB7XFxuICAgICAgLy8gWDMgPSAoQiAtIEMgLSBEKSAqIChGIC0gMilcXG4gICAgICBueCA9IGIucmVkU3ViKGMpLnJlZFN1YihkKS5yZWRNdWwoZi5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKTtcXG4gICAgICAvLyBZMyA9IEYgKiAoRSAtIEQpXFxuICAgICAgbnkgPSBmLnJlZE11bChlLnJlZFN1YihkKSk7XFxuICAgICAgLy8gWjMgPSBGXjIgLSAyICogRlxcbiAgICAgIG56ID0gZi5yZWRTcXIoKS5yZWRTdWIoZikucmVkU3ViKGYpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEggPSBaMV4yXFxuICAgICAgdmFyIGggPSB0aGlzLnoucmVkU3FyKCk7XFxuICAgICAgLy8gSiA9IEYgLSAyICogSFxcbiAgICAgIHZhciBqID0gZi5yZWRTdWIoaCkucmVkSVN1YihoKTtcXG4gICAgICAvLyBYMyA9IChCLUMtRCkqSlxcbiAgICAgIG54ID0gYi5yZWRTdWIoYykucmVkSVN1YihkKS5yZWRNdWwoaik7XFxuICAgICAgLy8gWTMgPSBGICogKEUgLSBEKVxcbiAgICAgIG55ID0gZi5yZWRNdWwoZS5yZWRTdWIoZCkpO1xcbiAgICAgIC8vIFozID0gRiAqIEpcXG4gICAgICBueiA9IGYucmVkTXVsKGopO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBFID0gQyArIERcXG4gICAgdmFyIGUgPSBjLnJlZEFkZChkKTtcXG4gICAgLy8gSCA9IChjICogWjEpXjJcXG4gICAgdmFyIGggPSB0aGlzLmN1cnZlLl9tdWxDKHRoaXMueikucmVkU3FyKCk7XFxuICAgIC8vIEogPSBFIC0gMiAqIEhcXG4gICAgdmFyIGogPSBlLnJlZFN1YihoKS5yZWRTdWIoaCk7XFxuICAgIC8vIFgzID0gYyAqIChCIC0gRSkgKiBKXFxuICAgIG54ID0gdGhpcy5jdXJ2ZS5fbXVsQyhiLnJlZElTdWIoZSkpLnJlZE11bChqKTtcXG4gICAgLy8gWTMgPSBjICogRSAqIChDIC0gRClcXG4gICAgbnkgPSB0aGlzLmN1cnZlLl9tdWxDKGUpLnJlZE11bChjLnJlZElTdWIoZCkpO1xcbiAgICAvLyBaMyA9IEUgKiBKXFxuICAgIG56ID0gZS5yZWRNdWwoaik7XFxuICB9XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56KTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5kYmwgPSBmdW5jdGlvbiBkYmwoKSB7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gRG91YmxlIGluIGV4dGVuZGVkIGNvb3JkaW5hdGVzXFxuICBpZiAodGhpcy5jdXJ2ZS5leHRlbmRlZClcXG4gICAgcmV0dXJuIHRoaXMuX2V4dERibCgpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5fcHJvakRibCgpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLl9leHRBZGQgPSBmdW5jdGlvbiBfZXh0QWRkKHApIHtcXG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by10d2lzdGVkLWV4dGVuZGVkLTEuaHRtbFxcbiAgLy8gICAgICNhZGRpdGlvbi1hZGQtMjAwOC1od2NkLTNcXG4gIC8vIDhNXFxuXFxuICAvLyBBID0gKFkxIC0gWDEpICogKFkyIC0gWDIpXFxuICB2YXIgYSA9IHRoaXMueS5yZWRTdWIodGhpcy54KS5yZWRNdWwocC55LnJlZFN1YihwLngpKTtcXG4gIC8vIEIgPSAoWTEgKyBYMSkgKiAoWTIgKyBYMilcXG4gIHZhciBiID0gdGhpcy55LnJlZEFkZCh0aGlzLngpLnJlZE11bChwLnkucmVkQWRkKHAueCkpO1xcbiAgLy8gQyA9IFQxICogayAqIFQyXFxuICB2YXIgYyA9IHRoaXMudC5yZWRNdWwodGhpcy5jdXJ2ZS5kZCkucmVkTXVsKHAudCk7XFxuICAvLyBEID0gWjEgKiAyICogWjJcXG4gIHZhciBkID0gdGhpcy56LnJlZE11bChwLnoucmVkQWRkKHAueikpO1xcbiAgLy8gRSA9IEIgLSBBXFxuICB2YXIgZSA9IGIucmVkU3ViKGEpO1xcbiAgLy8gRiA9IEQgLSBDXFxuICB2YXIgZiA9IGQucmVkU3ViKGMpO1xcbiAgLy8gRyA9IEQgKyBDXFxuICB2YXIgZyA9IGQucmVkQWRkKGMpO1xcbiAgLy8gSCA9IEIgKyBBXFxuICB2YXIgaCA9IGIucmVkQWRkKGEpO1xcbiAgLy8gWDMgPSBFICogRlxcbiAgdmFyIG54ID0gZS5yZWRNdWwoZik7XFxuICAvLyBZMyA9IEcgKiBIXFxuICB2YXIgbnkgPSBnLnJlZE11bChoKTtcXG4gIC8vIFQzID0gRSAqIEhcXG4gIHZhciBudCA9IGUucmVkTXVsKGgpO1xcbiAgLy8gWjMgPSBGICogR1xcbiAgdmFyIG56ID0gZi5yZWRNdWwoZyk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56LCBudCk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuX3Byb2pBZGQgPSBmdW5jdGlvbiBfcHJvakFkZChwKSB7XFxuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1wcm9qZWN0aXZlLmh0bWxcXG4gIC8vICAgICAjYWRkaXRpb24tYWRkLTIwMDgtYmJqbHBcXG4gIC8vICAgICAjYWRkaXRpb24tYWRkLTIwMDctYmxcXG4gIC8vIDEwTSArIDFTXFxuXFxuICAvLyBBID0gWjEgKiBaMlxcbiAgdmFyIGEgPSB0aGlzLnoucmVkTXVsKHAueik7XFxuICAvLyBCID0gQV4yXFxuICB2YXIgYiA9IGEucmVkU3FyKCk7XFxuICAvLyBDID0gWDEgKiBYMlxcbiAgdmFyIGMgPSB0aGlzLngucmVkTXVsKHAueCk7XFxuICAvLyBEID0gWTEgKiBZMlxcbiAgdmFyIGQgPSB0aGlzLnkucmVkTXVsKHAueSk7XFxuICAvLyBFID0gZCAqIEMgKiBEXFxuICB2YXIgZSA9IHRoaXMuY3VydmUuZC5yZWRNdWwoYykucmVkTXVsKGQpO1xcbiAgLy8gRiA9IEIgLSBFXFxuICB2YXIgZiA9IGIucmVkU3ViKGUpO1xcbiAgLy8gRyA9IEIgKyBFXFxuICB2YXIgZyA9IGIucmVkQWRkKGUpO1xcbiAgLy8gWDMgPSBBICogRiAqICgoWDEgKyBZMSkgKiAoWDIgKyBZMikgLSBDIC0gRClcXG4gIHZhciB0bXAgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkTXVsKHAueC5yZWRBZGQocC55KSkucmVkSVN1YihjKS5yZWRJU3ViKGQpO1xcbiAgdmFyIG54ID0gYS5yZWRNdWwoZikucmVkTXVsKHRtcCk7XFxuICB2YXIgbnk7XFxuICB2YXIgbno7XFxuICBpZiAodGhpcy5jdXJ2ZS50d2lzdGVkKSB7XFxuICAgIC8vIFkzID0gQSAqIEcgKiAoRCAtIGEgKiBDKVxcbiAgICBueSA9IGEucmVkTXVsKGcpLnJlZE11bChkLnJlZFN1Yih0aGlzLmN1cnZlLl9tdWxBKGMpKSk7XFxuICAgIC8vIFozID0gRiAqIEdcXG4gICAgbnogPSBmLnJlZE11bChnKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIFkzID0gQSAqIEcgKiAoRCAtIEMpXFxuICAgIG55ID0gYS5yZWRNdWwoZykucmVkTXVsKGQucmVkU3ViKGMpKTtcXG4gICAgLy8gWjMgPSBjICogRiAqIEdcXG4gICAgbnogPSB0aGlzLmN1cnZlLl9tdWxDKGYpLnJlZE11bChnKTtcXG4gIH1cXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG54LCBueSwgbnopO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZChwKSB7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiBwO1xcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkKVxcbiAgICByZXR1cm4gdGhpcy5fZXh0QWRkKHApO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5fcHJvakFkZChwKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xcbiAgaWYgKHRoaXMuX2hhc0RvdWJsZXMoaykpXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLCBrKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWwodGhpcywgayk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubXVsQWRkID0gZnVuY3Rpb24gbXVsQWRkKGsxLCBwLCBrMikge1xcbiAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSwgWyB0aGlzLCBwIF0sIFsgazEsIGsyIF0sIDIsIGZhbHNlKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5qbXVsQWRkID0gZnVuY3Rpb24gam11bEFkZChrMSwgcCwgazIpIHtcXG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIFsgdGhpcywgcCBdLCBbIGsxLCBrMiBdLCAyLCB0cnVlKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiBub3JtYWxpemUoKSB7XFxuICBpZiAodGhpcy56T25lKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIC8vIE5vcm1hbGl6ZSBjb29yZGluYXRlc1xcbiAgdmFyIHppID0gdGhpcy56LnJlZEludm0oKTtcXG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwoemkpO1xcbiAgdGhpcy55ID0gdGhpcy55LnJlZE11bCh6aSk7XFxuICBpZiAodGhpcy50KVxcbiAgICB0aGlzLnQgPSB0aGlzLnQucmVkTXVsKHppKTtcXG4gIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xcbiAgdGhpcy56T25lID0gdHJ1ZTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWROZWcoKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMueSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMueixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudCAmJiB0aGlzLnQucmVkTmVnKCkpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xcbiAgdGhpcy5ub3JtYWxpemUoKTtcXG4gIHJldHVybiB0aGlzLnguZnJvbVJlZCgpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFkgPSBmdW5jdGlvbiBnZXRZKCkge1xcbiAgdGhpcy5ub3JtYWxpemUoKTtcXG4gIHJldHVybiB0aGlzLnkuZnJvbVJlZCgpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEob3RoZXIpIHtcXG4gIHJldHVybiB0aGlzID09PSBvdGhlciB8fFxcbiAgICAgICAgIHRoaXMuZ2V0WCgpLmNtcChvdGhlci5nZXRYKCkpID09PSAwICYmXFxuICAgICAgICAgdGhpcy5nZXRZKCkuY21wKG90aGVyLmdldFkoKSkgPT09IDA7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZXFYVG9QID0gZnVuY3Rpb24gZXFYVG9QKHgpIHtcXG4gIHZhciByeCA9IHgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO1xcbiAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxcbiAgICByZXR1cm4gdHJ1ZTtcXG5cXG4gIHZhciB4YyA9IHguY2xvbmUoKTtcXG4gIHZhciB0ID0gdGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh0aGlzLnopO1xcbiAgZm9yICg7Oykge1xcbiAgICB4Yy5pYWRkKHRoaXMuY3VydmUubik7XFxuICAgIGlmICh4Yy5jbXAodGhpcy5jdXJ2ZS5wKSA+PSAwKVxcbiAgICAgIHJldHVybiBmYWxzZTtcXG5cXG4gICAgcngucmVkSUFkZCh0KTtcXG4gICAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgfVxcbn07XFxuXFxuLy8gQ29tcGF0aWJpbGl0eSB3aXRoIEJhc2VDdXJ2ZVxcblBvaW50LnByb3RvdHlwZS50b1AgPSBQb2ludC5wcm90b3R5cGUubm9ybWFsaXplO1xcblBvaW50LnByb3RvdHlwZS5taXhlZEFkZCA9IFBvaW50LnByb3RvdHlwZS5hZGQ7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2WldSM1lYSmtjeTVxY3o4MFpqUXhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRaXhUUVVGVExHMUNRVUZQTEVOQlFVTXNiVVZCUVU4N1FVRkRlRUlzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXhyUlVGQlVUczdRVUZGTTBJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2WldSM1lYSmtjeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUhWMGFXeHpJRDBnY21WeGRXbHlaU2duTGk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlrN1hHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcE8xeHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2N1TDJKaGMyVW5LVHRjYmx4dWRtRnlJR0Z6YzJWeWRDQTlJSFYwYVd4ekxtRnpjMlZ5ZER0Y2JseHVablZ1WTNScGIyNGdSV1IzWVhKa2MwTjFjblpsS0dOdmJtWXBJSHRjYmlBZ0x5OGdUazlVUlRvZ1NXMXdiM0owWVc1MElHRnpJSGRsSUdGeVpTQmpjbVZoZEdsdVp5QndiMmx1ZENCcGJpQkNZWE5sTG1OaGJHd29LVnh1SUNCMGFHbHpMblIzYVhOMFpXUWdQU0FvWTI5dVppNWhJSHdnTUNrZ0lUMDlJREU3WEc0Z0lIUm9hWE11YlU5dVpVRWdQU0IwYUdsekxuUjNhWE4wWldRZ0ppWWdLR052Ym1ZdVlTQjhJREFwSUQwOVBTQXRNVHRjYmlBZ2RHaHBjeTVsZUhSbGJtUmxaQ0E5SUhSb2FYTXViVTl1WlVFN1hHNWNiaUFnUW1GelpTNWpZV3hzS0hSb2FYTXNJQ2RsWkhkaGNtUnpKeXdnWTI5dVppazdYRzVjYmlBZ2RHaHBjeTVoSUQwZ2JtVjNJRUpPS0dOdmJtWXVZU3dnTVRZcExuVnRiMlFvZEdocGN5NXlaV1F1YlNrN1hHNGdJSFJvYVhNdVlTQTlJSFJvYVhNdVlTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSFJvYVhNdVl5QTlJRzVsZHlCQ1RpaGpiMjVtTG1Nc0lERTJLUzUwYjFKbFpDaDBhR2x6TG5KbFpDazdYRzRnSUhSb2FYTXVZeklnUFNCMGFHbHpMbU11Y21Wa1UzRnlLQ2s3WEc0Z0lIUm9hWE11WkNBOUlHNWxkeUJDVGloamIyNW1MbVFzSURFMktTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSFJvYVhNdVpHUWdQU0IwYUdsekxtUXVjbVZrUVdSa0tIUm9hWE11WkNrN1hHNWNiaUFnWVhOelpYSjBLQ0YwYUdsekxuUjNhWE4wWldRZ2ZId2dkR2hwY3k1akxtWnliMjFTWldRb0tTNWpiWEJ1S0RFcElEMDlQU0F3S1R0Y2JpQWdkR2hwY3k1dmJtVkRJRDBnS0dOdmJtWXVZeUI4SURBcElEMDlQU0F4TzF4dWZWeHVhVzVvWlhKcGRITW9SV1IzWVhKa2MwTjFjblpsTENCQ1lYTmxLVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUldSM1lYSmtjME4xY25abE8xeHVYRzVGWkhkaGNtUnpRM1Z5ZG1VdWNISnZkRzkwZVhCbExsOXRkV3hCSUQwZ1puVnVZM1JwYjI0Z1gyMTFiRUVvYm5WdEtTQjdYRzRnSUdsbUlDaDBhR2x6TG0xUGJtVkJLVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVjbVZrVG1WbktDazdYRzRnSUdWc2MyVmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWhMbkpsWkUxMWJDaHVkVzBwTzF4dWZUdGNibHh1UldSM1lYSmtjME4xY25abExuQnliM1J2ZEhsd1pTNWZiWFZzUXlBOUlHWjFibU4wYVc5dUlGOXRkV3hES0c1MWJTa2dlMXh1SUNCcFppQW9kR2hwY3k1dmJtVkRLVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUdWc2MyVmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpMbkpsWkUxMWJDaHVkVzBwTzF4dWZUdGNibHh1THk4Z1NuVnpkQ0JtYjNJZ1kyOXRjR0YwYVdKcGJHbDBlU0IzYVhSb0lGTm9iM0owSUdOMWNuWmxYRzVGWkhkaGNtUnpRM1Z5ZG1VdWNISnZkRzkwZVhCbExtcHdiMmx1ZENBOUlHWjFibU4wYVc5dUlHcHdiMmx1ZENoNExDQjVMQ0I2TENCMEtTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxuQnZhVzUwS0hnc0lIa3NJSG9zSUhRcE8xeHVmVHRjYmx4dVJXUjNZWEprYzBOMWNuWmxMbkJ5YjNSdmRIbHdaUzV3YjJsdWRFWnliMjFZSUQwZ1puVnVZM1JwYjI0Z2NHOXBiblJHY205dFdDaDRMQ0J2WkdRcElIdGNiaUFnZUNBOUlHNWxkeUJDVGloNExDQXhOaWs3WEc0Z0lHbG1JQ2doZUM1eVpXUXBYRzRnSUNBZ2VDQTlJSGd1ZEc5U1pXUW9kR2hwY3k1eVpXUXBPMXh1WEc0Z0lIWmhjaUI0TWlBOUlIZ3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQnlhSE1nUFNCMGFHbHpMbU15TG5KbFpGTjFZaWgwYUdsekxtRXVjbVZrVFhWc0tIZ3lLU2s3WEc0Z0lIWmhjaUJzYUhNZ1BTQjBhR2x6TG05dVpTNXlaV1JUZFdJb2RHaHBjeTVqTWk1eVpXUk5kV3dvZEdocGN5NWtLUzV5WldSTmRXd29lRElwS1R0Y2JseHVJQ0IyWVhJZ2VUSWdQU0J5YUhNdWNtVmtUWFZzS0d4b2N5NXlaV1JKYm5adEtDa3BPMXh1SUNCMllYSWdlU0E5SUhreUxuSmxaRk54Y25Rb0tUdGNiaUFnYVdZZ0tIa3VjbVZrVTNGeUtDa3VjbVZrVTNWaUtIa3lLUzVqYlhBb2RHaHBjeTU2WlhKdktTQWhQVDBnTUNsY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMmx1ZG1Gc2FXUWdjRzlwYm5RbktUdGNibHh1SUNCMllYSWdhWE5QWkdRZ1BTQjVMbVp5YjIxU1pXUW9LUzVwYzA5a1pDZ3BPMXh1SUNCcFppQW9iMlJrSUNZbUlDRnBjMDlrWkNCOGZDQWhiMlJrSUNZbUlHbHpUMlJrS1Z4dUlDQWdJSGtnUFNCNUxuSmxaRTVsWnlncE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxuQnZhVzUwS0hnc0lIa3BPMXh1ZlR0Y2JseHVSV1IzWVhKa2MwTjFjblpsTG5CeWIzUnZkSGx3WlM1d2IybHVkRVp5YjIxWklEMGdablZ1WTNScGIyNGdjRzlwYm5SR2NtOXRXU2g1TENCdlpHUXBJSHRjYmlBZ2VTQTlJRzVsZHlCQ1RpaDVMQ0F4TmlrN1hHNGdJR2xtSUNnaGVTNXlaV1FwWEc0Z0lDQWdlU0E5SUhrdWRHOVNaV1FvZEdocGN5NXlaV1FwTzF4dVhHNGdJQzh2SUhoZU1pQTlJQ2g1WGpJZ0xTQmpYaklwSUM4Z0tHTmVNaUJrSUhsZU1pQXRJR0VwWEc0Z0lIWmhjaUI1TWlBOUlIa3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQnNhSE1nUFNCNU1pNXlaV1JUZFdJb2RHaHBjeTVqTWlrN1hHNGdJSFpoY2lCeWFITWdQU0I1TWk1eVpXUk5kV3dvZEdocGN5NWtLUzV5WldSTmRXd29kR2hwY3k1ak1pa3VjbVZrVTNWaUtIUm9hWE11WVNrN1hHNGdJSFpoY2lCNE1pQTlJR3hvY3k1eVpXUk5kV3dvY21oekxuSmxaRWx1ZG0wb0tTazdYRzVjYmlBZ2FXWWdLSGd5TG1OdGNDaDBhR2x6TG5wbGNtOHBJRDA5UFNBd0tTQjdYRzRnSUNBZ2FXWWdLRzlrWkNsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduYVc1MllXeHBaQ0J3YjJsdWRDY3BPMXh1SUNBZ0lHVnNjMlZjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmFXNTBLSFJvYVhNdWVtVnlieXdnZVNrN1hHNGdJSDFjYmx4dUlDQjJZWElnZUNBOUlIZ3lMbkpsWkZOeGNuUW9LVHRjYmlBZ2FXWWdLSGd1Y21Wa1UzRnlLQ2t1Y21Wa1UzVmlLSGd5S1M1amJYQW9kR2hwY3k1NlpYSnZLU0FoUFQwZ01DbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjJsdWRtRnNhV1FnY0c5cGJuUW5LVHRjYmx4dUlDQnBaaUFvZUM1bWNtOXRVbVZrS0NrdWFYTlBaR1FvS1NBaFBUMGdiMlJrS1Z4dUlDQWdJSGdnUFNCNExuSmxaRTVsWnlncE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxuQnZhVzUwS0hnc0lIa3BPMXh1ZlR0Y2JseHVSV1IzWVhKa2MwTjFjblpsTG5CeWIzUnZkSGx3WlM1MllXeHBaR0YwWlNBOUlHWjFibU4wYVc5dUlIWmhiR2xrWVhSbEtIQnZhVzUwS1NCN1hHNGdJR2xtSUNod2IybHVkQzVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNWNiaUFnTHk4Z1EzVnlkbVU2SUVFZ0tpQllYaklnS3lCWlhqSWdQU0JEWGpJZ0tpQW9NU0FySUVRZ0tpQllYaklnS2lCWlhqSXBYRzRnSUhCdmFXNTBMbTV2Y20xaGJHbDZaU2dwTzF4dVhHNGdJSFpoY2lCNE1pQTlJSEJ2YVc1MExuZ3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQjVNaUE5SUhCdmFXNTBMbmt1Y21Wa1UzRnlLQ2s3WEc0Z0lIWmhjaUJzYUhNZ1BTQjRNaTV5WldSTmRXd29kR2hwY3k1aEtTNXlaV1JCWkdRb2VUSXBPMXh1SUNCMllYSWdjbWh6SUQwZ2RHaHBjeTVqTWk1eVpXUk5kV3dvZEdocGN5NXZibVV1Y21Wa1FXUmtLSFJvYVhNdVpDNXlaV1JOZFd3b2VESXBMbkpsWkUxMWJDaDVNaWtwS1R0Y2JseHVJQ0J5WlhSMWNtNGdiR2h6TG1OdGNDaHlhSE1wSUQwOVBTQXdPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdVRzlwYm5Rb1kzVnlkbVVzSUhnc0lIa3NJSG9zSUhRcElIdGNiaUFnUW1GelpTNUNZWE5sVUc5cGJuUXVZMkZzYkNoMGFHbHpMQ0JqZFhKMlpTd2dKM0J5YjJwbFkzUnBkbVVuS1R0Y2JpQWdhV1lnS0hnZ1BUMDlJRzUxYkd3Z0ppWWdlU0E5UFQwZ2JuVnNiQ0FtSmlCNklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2RHaHBjeTVqZFhKMlpTNTZaWEp2TzF4dUlDQWdJSFJvYVhNdWVTQTlJSFJvYVhNdVkzVnlkbVV1YjI1bE8xeHVJQ0FnSUhSb2FYTXVlaUE5SUhSb2FYTXVZM1Z5ZG1VdWIyNWxPMXh1SUNBZ0lIUm9hWE11ZENBOUlIUm9hWE11WTNWeWRtVXVlbVZ5Ynp0Y2JpQWdJQ0IwYUdsekxucFBibVVnUFNCMGNuVmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJvYVhNdWVDQTlJRzVsZHlCQ1RpaDRMQ0F4TmlrN1hHNGdJQ0FnZEdocGN5NTVJRDBnYm1WM0lFSk9LSGtzSURFMktUdGNiaUFnSUNCMGFHbHpMbm9nUFNCNklEOGdibVYzSUVKT0tIb3NJREUyS1NBNklIUm9hWE11WTNWeWRtVXViMjVsTzF4dUlDQWdJSFJvYVhNdWRDQTlJSFFnSmlZZ2JtVjNJRUpPS0hRc0lERTJLVHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVlQzV5WldRcFhHNGdJQ0FnSUNCMGFHbHpMbmdnUFNCMGFHbHpMbmd1ZEc5U1pXUW9kR2hwY3k1amRYSjJaUzV5WldRcE8xeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1NUxuSmxaQ2xjYmlBZ0lDQWdJSFJvYVhNdWVTQTlJSFJvYVhNdWVTNTBiMUpsWkNoMGFHbHpMbU4xY25abExuSmxaQ2s3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbm91Y21Wa0tWeHVJQ0FnSUNBZ2RHaHBjeTU2SUQwZ2RHaHBjeTU2TG5SdlVtVmtLSFJvYVhNdVkzVnlkbVV1Y21Wa0tUdGNiaUFnSUNCcFppQW9kR2hwY3k1MElDWW1JQ0YwYUdsekxuUXVjbVZrS1Z4dUlDQWdJQ0FnZEdocGN5NTBJRDBnZEdocGN5NTBMblJ2VW1Wa0tIUm9hWE11WTNWeWRtVXVjbVZrS1R0Y2JpQWdJQ0IwYUdsekxucFBibVVnUFNCMGFHbHpMbm9nUFQwOUlIUm9hWE11WTNWeWRtVXViMjVsTzF4dVhHNGdJQ0FnTHk4Z1ZYTmxJR1Y0ZEdWdVpHVmtJR052YjNKa2FXNWhkR1Z6WEc0Z0lDQWdhV1lnS0hSb2FYTXVZM1Z5ZG1VdVpYaDBaVzVrWldRZ0ppWWdJWFJvYVhNdWRDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1MElEMGdkR2hwY3k1NExuSmxaRTExYkNoMGFHbHpMbmtwTzF4dUlDQWdJQ0FnYVdZZ0tDRjBhR2x6TG5wUGJtVXBYRzRnSUNBZ0lDQWdJSFJvYVhNdWRDQTlJSFJvYVhNdWRDNXlaV1JOZFd3b2RHaHBjeTU2TG5KbFpFbHVkbTBvS1NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1cGJtaGxjbWwwY3loUWIybHVkQ3dnUW1GelpTNUNZWE5sVUc5cGJuUXBPMXh1WEc1RlpIZGhjbVJ6UTNWeWRtVXVjSEp2ZEc5MGVYQmxMbkJ2YVc1MFJuSnZiVXBUVDA0Z1BTQm1kVzVqZEdsdmJpQndiMmx1ZEVaeWIyMUtVMDlPS0c5aWFpa2dlMXh1SUNCeVpYUjFjbTRnVUc5cGJuUXVabkp2YlVwVFQwNG9kR2hwY3l3Z2IySnFLVHRjYm4wN1hHNWNia1ZrZDJGeVpITkRkWEoyWlM1d2NtOTBiM1I1Y0dVdWNHOXBiblFnUFNCbWRXNWpkR2x2YmlCd2IybHVkQ2g0TENCNUxDQjZMQ0IwS1NCN1hHNGdJSEpsZEhWeWJpQnVaWGNnVUc5cGJuUW9kR2hwY3l3Z2VDd2dlU3dnZWl3Z2RDazdYRzU5TzF4dVhHNVFiMmx1ZEM1bWNtOXRTbE5QVGlBOUlHWjFibU4wYVc5dUlHWnliMjFLVTA5T0tHTjFjblpsTENCdlltb3BJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlFiMmx1ZENoamRYSjJaU3dnYjJKcVd6QmRMQ0J2WW1wYk1WMHNJRzlpYWxzeVhTazdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdWFXNXpjR1ZqZENBOUlHWjFibU4wYVc5dUlHbHVjM0JsWTNRb0tTQjdYRzRnSUdsbUlDaDBhR2x6TG1selNXNW1hVzVwZEhrb0tTbGNiaUFnSUNCeVpYUjFjbTRnSnp4RlF5QlFiMmx1ZENCSmJtWnBibWwwZVQ0bk8xeHVJQ0J5WlhSMWNtNGdKenhGUXlCUWIybHVkQ0I0T2lBbklDc2dkR2hwY3k1NExtWnliMjFTWldRb0tTNTBiMU4wY21sdVp5Z3hOaXdnTWlrZ0sxeHVJQ0FnSUNBZ0p5QjVPaUFuSUNzZ2RHaHBjeTU1TG1aeWIyMVNaV1FvS1M1MGIxTjBjbWx1WnlneE5pd2dNaWtnSzF4dUlDQWdJQ0FnSnlCNk9pQW5JQ3NnZEdocGN5NTZMbVp5YjIxU1pXUW9LUzUwYjFOMGNtbHVaeWd4Tml3Z01pa2dLeUFuUGljN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1YVhOSmJtWnBibWwwZVNBOUlHWjFibU4wYVc5dUlHbHpTVzVtYVc1cGRIa29LU0I3WEc0Z0lDOHZJRmhZV0NCVWFHbHpJR052WkdVZ1lYTnpkVzFsY3lCMGFHRjBJSHBsY204Z2FYTWdZV3gzWVhseklIcGxjbThnYVc0Z2NtVmtYRzRnSUhKbGRIVnliaUIwYUdsekxuZ3VZMjF3Ymlnd0tTQTlQVDBnTUNBbUpseHVJQ0FnSUNoMGFHbHpMbmt1WTIxd0tIUm9hWE11ZWlrZ1BUMDlJREFnZkh4Y2JpQWdJQ0FvZEdocGN5NTZUMjVsSUNZbUlIUm9hWE11ZVM1amJYQW9kR2hwY3k1amRYSjJaUzVqS1NBOVBUMGdNQ2twTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlsZUhSRVltd2dQU0JtZFc1amRHbHZiaUJmWlhoMFJHSnNLQ2tnZTF4dUlDQXZMeUJvZVhCbGNtVnNiR2x3ZEdsakxtOXlaeTlGUmtRdlp6RndMMkYxZEc4dGRIZHBjM1JsWkMxbGVIUmxibVJsWkMweExtaDBiV3hjYmlBZ0x5OGdJQ0FnSUNOa2IzVmliR2x1Wnkxa1ltd3RNakF3T0Mxb2QyTmtYRzRnSUM4dklEUk5JQ3NnTkZOY2JseHVJQ0F2THlCQklEMGdXREZlTWx4dUlDQjJZWElnWVNBOUlIUm9hWE11ZUM1eVpXUlRjWElvS1R0Y2JpQWdMeThnUWlBOUlGa3hYakpjYmlBZ2RtRnlJR0lnUFNCMGFHbHpMbmt1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRU1nUFNBeUlDb2dXakZlTWx4dUlDQjJZWElnWXlBOUlIUm9hWE11ZWk1eVpXUlRjWElvS1R0Y2JpQWdZeUE5SUdNdWNtVmtTVUZrWkNoaktUdGNiaUFnTHk4Z1JDQTlJR0VnS2lCQlhHNGdJSFpoY2lCa0lEMGdkR2hwY3k1amRYSjJaUzVmYlhWc1FTaGhLVHRjYmlBZ0x5OGdSU0E5SUNoWU1TQXJJRmt4S1Y0eUlDMGdRU0F0SUVKY2JpQWdkbUZ5SUdVZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hSb2FYTXVlU2t1Y21Wa1UzRnlLQ2t1Y21Wa1NWTjFZaWhoS1M1eVpXUkpVM1ZpS0dJcE8xeHVJQ0F2THlCSElEMGdSQ0FySUVKY2JpQWdkbUZ5SUdjZ1BTQmtMbkpsWkVGa1pDaGlLVHRjYmlBZ0x5OGdSaUE5SUVjZ0xTQkRYRzRnSUhaaGNpQm1JRDBnWnk1eVpXUlRkV0lvWXlrN1hHNGdJQzh2SUVnZ1BTQkVJQzBnUWx4dUlDQjJZWElnYUNBOUlHUXVjbVZrVTNWaUtHSXBPMXh1SUNBdkx5QllNeUE5SUVVZ0tpQkdYRzRnSUhaaGNpQnVlQ0E5SUdVdWNtVmtUWFZzS0dZcE8xeHVJQ0F2THlCWk15QTlJRWNnS2lCSVhHNGdJSFpoY2lCdWVTQTlJR2N1Y21Wa1RYVnNLR2dwTzF4dUlDQXZMeUJVTXlBOUlFVWdLaUJJWEc0Z0lIWmhjaUJ1ZENBOUlHVXVjbVZrVFhWc0tHZ3BPMXh1SUNBdkx5QmFNeUE5SUVZZ0tpQkhYRzRnSUhaaGNpQnVlaUE5SUdZdWNtVmtUWFZzS0djcE8xeHVJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzV3YjJsdWRDaHVlQ3dnYm5rc0lHNTZMQ0J1ZENrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WDNCeWIycEVZbXdnUFNCbWRXNWpkR2x2YmlCZmNISnZha1JpYkNncElIdGNiaUFnTHk4Z2FIbHdaWEpsYkd4cGNIUnBZeTV2Y21jdlJVWkVMMmN4Y0M5aGRYUnZMWFIzYVhOMFpXUXRjSEp2YW1WamRHbDJaUzVvZEcxc1hHNGdJQzh2SUNBZ0lDQWpaRzkxWW14cGJtY3RaR0pzTFRJd01EZ3RZbUpxYkhCY2JpQWdMeThnSUNBZ0lDTmtiM1ZpYkdsdVp5MWtZbXd0TWpBd055MWliRnh1SUNBdkx5QmhibVFnYjNSb1pYSnpYRzRnSUM4dklFZGxibVZ5WVd4c2VTQXpUU0FySURSVElHOXlJREpOSUNzZ05GTmNibHh1SUNBdkx5QkNJRDBnS0ZneElDc2dXVEVwWGpKY2JpQWdkbUZ5SUdJZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hSb2FYTXVlU2t1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRU1nUFNCWU1WNHlYRzRnSUhaaGNpQmpJRDBnZEdocGN5NTRMbkpsWkZOeGNpZ3BPMXh1SUNBdkx5QkVJRDBnV1RGZU1seHVJQ0IyWVhJZ1pDQTlJSFJvYVhNdWVTNXlaV1JUY1hJb0tUdGNibHh1SUNCMllYSWdibmc3WEc0Z0lIWmhjaUJ1ZVR0Y2JpQWdkbUZ5SUc1Nk8xeHVJQ0JwWmlBb2RHaHBjeTVqZFhKMlpTNTBkMmx6ZEdWa0tTQjdYRzRnSUNBZ0x5OGdSU0E5SUdFZ0tpQkRYRzRnSUNBZ2RtRnlJR1VnUFNCMGFHbHpMbU4xY25abExsOXRkV3hCS0dNcE8xeHVJQ0FnSUM4dklFWWdQU0JGSUNzZ1JGeHVJQ0FnSUhaaGNpQm1JRDBnWlM1eVpXUkJaR1FvWkNrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11ZWs5dVpTa2dlMXh1SUNBZ0lDQWdMeThnV0RNZ1BTQW9RaUF0SUVNZ0xTQkVLU0FxSUNoR0lDMGdNaWxjYmlBZ0lDQWdJRzU0SUQwZ1lpNXlaV1JUZFdJb1l5a3VjbVZrVTNWaUtHUXBMbkpsWkUxMWJDaG1MbkpsWkZOMVlpaDBhR2x6TG1OMWNuWmxMblIzYnlrcE8xeHVJQ0FnSUNBZ0x5OGdXVE1nUFNCR0lDb2dLRVVnTFNCRUtWeHVJQ0FnSUNBZ2Jua2dQU0JtTG5KbFpFMTFiQ2hsTG5KbFpGTjFZaWhrS1NrN1hHNGdJQ0FnSUNBdkx5QmFNeUE5SUVaZU1pQXRJRElnS2lCR1hHNGdJQ0FnSUNCdWVpQTlJR1l1Y21Wa1UzRnlLQ2t1Y21Wa1UzVmlLR1lwTG5KbFpGTjFZaWhtS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnU0NBOUlGb3hYakpjYmlBZ0lDQWdJSFpoY2lCb0lEMGdkR2hwY3k1NkxuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ0x5OGdTaUE5SUVZZ0xTQXlJQ29nU0Z4dUlDQWdJQ0FnZG1GeUlHb2dQU0JtTG5KbFpGTjFZaWhvS1M1eVpXUkpVM1ZpS0dncE8xeHVJQ0FnSUNBZ0x5OGdXRE1nUFNBb1FpMURMVVFwS2twY2JpQWdJQ0FnSUc1NElEMGdZaTV5WldSVGRXSW9ZeWt1Y21Wa1NWTjFZaWhrS1M1eVpXUk5kV3dvYWlrN1hHNGdJQ0FnSUNBdkx5QlpNeUE5SUVZZ0tpQW9SU0F0SUVRcFhHNGdJQ0FnSUNCdWVTQTlJR1l1Y21Wa1RYVnNLR1V1Y21Wa1UzVmlLR1FwS1R0Y2JpQWdJQ0FnSUM4dklGb3pJRDBnUmlBcUlFcGNiaUFnSUNBZ0lHNTZJRDBnWmk1eVpXUk5kV3dvYWlrN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFVWdQU0JESUNzZ1JGeHVJQ0FnSUhaaGNpQmxJRDBnWXk1eVpXUkJaR1FvWkNrN1hHNGdJQ0FnTHk4Z1NDQTlJQ2hqSUNvZ1dqRXBYakpjYmlBZ0lDQjJZWElnYUNBOUlIUm9hWE11WTNWeWRtVXVYMjExYkVNb2RHaHBjeTU2S1M1eVpXUlRjWElvS1R0Y2JpQWdJQ0F2THlCS0lEMGdSU0F0SURJZ0tpQklYRzRnSUNBZ2RtRnlJR29nUFNCbExuSmxaRk4xWWlob0tTNXlaV1JUZFdJb2FDazdYRzRnSUNBZ0x5OGdXRE1nUFNCaklDb2dLRUlnTFNCRktTQXFJRXBjYmlBZ0lDQnVlQ0E5SUhSb2FYTXVZM1Z5ZG1VdVgyMTFiRU1vWWk1eVpXUkpVM1ZpS0dVcEtTNXlaV1JOZFd3b2FpazdYRzRnSUNBZ0x5OGdXVE1nUFNCaklDb2dSU0FxSUNoRElDMGdSQ2xjYmlBZ0lDQnVlU0E5SUhSb2FYTXVZM1Z5ZG1VdVgyMTFiRU1vWlNrdWNtVmtUWFZzS0dNdWNtVmtTVk4xWWloa0tTazdYRzRnSUNBZ0x5OGdXak1nUFNCRklDb2dTbHh1SUNBZ0lHNTZJRDBnWlM1eVpXUk5kV3dvYWlrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhSb2FYTXVZM1Z5ZG1VdWNHOXBiblFvYm5nc0lHNTVMQ0J1ZWlrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WkdKc0lEMGdablZ1WTNScGIyNGdaR0pzS0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnTHk4Z1JHOTFZbXhsSUdsdUlHVjRkR1Z1WkdWa0lHTnZiM0prYVc1aGRHVnpYRzRnSUdsbUlDaDBhR2x6TG1OMWNuWmxMbVY0ZEdWdVpHVmtLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlsZUhSRVltd29LVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl3Y205cVJHSnNLQ2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVYMlY0ZEVGa1pDQTlJR1oxYm1OMGFXOXVJRjlsZUhSQlpHUW9jQ2tnZTF4dUlDQXZMeUJvZVhCbGNtVnNiR2x3ZEdsakxtOXlaeTlGUmtRdlp6RndMMkYxZEc4dGRIZHBjM1JsWkMxbGVIUmxibVJsWkMweExtaDBiV3hjYmlBZ0x5OGdJQ0FnSUNOaFpHUnBkR2x2YmkxaFpHUXRNakF3T0Mxb2QyTmtMVE5jYmlBZ0x5OGdPRTFjYmx4dUlDQXZMeUJCSUQwZ0tGa3hJQzBnV0RFcElDb2dLRmt5SUMwZ1dESXBYRzRnSUhaaGNpQmhJRDBnZEdocGN5NTVMbkpsWkZOMVlpaDBhR2x6TG5ncExuSmxaRTExYkNod0xua3VjbVZrVTNWaUtIQXVlQ2twTzF4dUlDQXZMeUJDSUQwZ0tGa3hJQ3NnV0RFcElDb2dLRmt5SUNzZ1dESXBYRzRnSUhaaGNpQmlJRDBnZEdocGN5NTVMbkpsWkVGa1pDaDBhR2x6TG5ncExuSmxaRTExYkNod0xua3VjbVZrUVdSa0tIQXVlQ2twTzF4dUlDQXZMeUJESUQwZ1ZERWdLaUJySUNvZ1ZESmNiaUFnZG1GeUlHTWdQU0IwYUdsekxuUXVjbVZrVFhWc0tIUm9hWE11WTNWeWRtVXVaR1FwTG5KbFpFMTFiQ2h3TG5RcE8xeHVJQ0F2THlCRUlEMGdXakVnS2lBeUlDb2dXakpjYmlBZ2RtRnlJR1FnUFNCMGFHbHpMbm91Y21Wa1RYVnNLSEF1ZWk1eVpXUkJaR1FvY0M1NktTazdYRzRnSUM4dklFVWdQU0JDSUMwZ1FWeHVJQ0IyWVhJZ1pTQTlJR0l1Y21Wa1UzVmlLR0VwTzF4dUlDQXZMeUJHSUQwZ1JDQXRJRU5jYmlBZ2RtRnlJR1lnUFNCa0xuSmxaRk4xWWloaktUdGNiaUFnTHk4Z1J5QTlJRVFnS3lCRFhHNGdJSFpoY2lCbklEMGdaQzV5WldSQlpHUW9ZeWs3WEc0Z0lDOHZJRWdnUFNCQ0lDc2dRVnh1SUNCMllYSWdhQ0E5SUdJdWNtVmtRV1JrS0dFcE8xeHVJQ0F2THlCWU15QTlJRVVnS2lCR1hHNGdJSFpoY2lCdWVDQTlJR1V1Y21Wa1RYVnNLR1lwTzF4dUlDQXZMeUJaTXlBOUlFY2dLaUJJWEc0Z0lIWmhjaUJ1ZVNBOUlHY3VjbVZrVFhWc0tHZ3BPMXh1SUNBdkx5QlVNeUE5SUVVZ0tpQklYRzRnSUhaaGNpQnVkQ0E5SUdVdWNtVmtUWFZzS0dncE8xeHVJQ0F2THlCYU15QTlJRVlnS2lCSFhHNGdJSFpoY2lCdWVpQTlJR1l1Y21Wa1RYVnNLR2NwTzF4dUlDQnlaWFIxY200Z2RHaHBjeTVqZFhKMlpTNXdiMmx1ZENodWVDd2dibmtzSUc1NkxDQnVkQ2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVYM0J5YjJwQlpHUWdQU0JtZFc1amRHbHZiaUJmY0hKdmFrRmtaQ2h3S1NCN1hHNGdJQzh2SUdoNWNHVnlaV3hzYVhCMGFXTXViM0puTDBWR1JDOW5NWEF2WVhWMGJ5MTBkMmx6ZEdWa0xYQnliMnBsWTNScGRtVXVhSFJ0YkZ4dUlDQXZMeUFnSUNBZ0kyRmtaR2wwYVc5dUxXRmtaQzB5TURBNExXSmlhbXh3WEc0Z0lDOHZJQ0FnSUNBallXUmthWFJwYjI0dFlXUmtMVEl3TURjdFlteGNiaUFnTHk4Z01UQk5JQ3NnTVZOY2JseHVJQ0F2THlCQklEMGdXakVnS2lCYU1seHVJQ0IyWVhJZ1lTQTlJSFJvYVhNdWVpNXlaV1JOZFd3b2NDNTZLVHRjYmlBZ0x5OGdRaUE5SUVGZU1seHVJQ0IyWVhJZ1lpQTlJR0V1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRU1nUFNCWU1TQXFJRmd5WEc0Z0lIWmhjaUJqSUQwZ2RHaHBjeTU0TG5KbFpFMTFiQ2h3TG5ncE8xeHVJQ0F2THlCRUlEMGdXVEVnS2lCWk1seHVJQ0IyWVhJZ1pDQTlJSFJvYVhNdWVTNXlaV1JOZFd3b2NDNTVLVHRjYmlBZ0x5OGdSU0E5SUdRZ0tpQkRJQ29nUkZ4dUlDQjJZWElnWlNBOUlIUm9hWE11WTNWeWRtVXVaQzV5WldSTmRXd29ZeWt1Y21Wa1RYVnNLR1FwTzF4dUlDQXZMeUJHSUQwZ1FpQXRJRVZjYmlBZ2RtRnlJR1lnUFNCaUxuSmxaRk4xWWlobEtUdGNiaUFnTHk4Z1J5QTlJRUlnS3lCRlhHNGdJSFpoY2lCbklEMGdZaTV5WldSQlpHUW9aU2s3WEc0Z0lDOHZJRmd6SUQwZ1FTQXFJRVlnS2lBb0tGZ3hJQ3NnV1RFcElDb2dLRmd5SUNzZ1dUSXBJQzBnUXlBdElFUXBYRzRnSUhaaGNpQjBiWEFnUFNCMGFHbHpMbmd1Y21Wa1FXUmtLSFJvYVhNdWVTa3VjbVZrVFhWc0tIQXVlQzV5WldSQlpHUW9jQzU1S1NrdWNtVmtTVk4xWWloaktTNXlaV1JKVTNWaUtHUXBPMXh1SUNCMllYSWdibmdnUFNCaExuSmxaRTExYkNobUtTNXlaV1JOZFd3b2RHMXdLVHRjYmlBZ2RtRnlJRzU1TzF4dUlDQjJZWElnYm5vN1hHNGdJR2xtSUNoMGFHbHpMbU4xY25abExuUjNhWE4wWldRcElIdGNiaUFnSUNBdkx5QlpNeUE5SUVFZ0tpQkhJQ29nS0VRZ0xTQmhJQ29nUXlsY2JpQWdJQ0J1ZVNBOUlHRXVjbVZrVFhWc0tHY3BMbkpsWkUxMWJDaGtMbkpsWkZOMVlpaDBhR2x6TG1OMWNuWmxMbDl0ZFd4QktHTXBLU2s3WEc0Z0lDQWdMeThnV2pNZ1BTQkdJQ29nUjF4dUlDQWdJRzU2SUQwZ1ppNXlaV1JOZFd3b1p5azdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnV1RNZ1BTQkJJQ29nUnlBcUlDaEVJQzBnUXlsY2JpQWdJQ0J1ZVNBOUlHRXVjbVZrVFhWc0tHY3BMbkpsWkUxMWJDaGtMbkpsWkZOMVlpaGpLU2s3WEc0Z0lDQWdMeThnV2pNZ1BTQmpJQ29nUmlBcUlFZGNiaUFnSUNCdWVpQTlJSFJvYVhNdVkzVnlkbVV1WDIxMWJFTW9aaWt1Y21Wa1RYVnNLR2NwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTG5CdmFXNTBLRzU0TENCdWVTd2dibm9wTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbUZrWkNBOUlHWjFibU4wYVc5dUlHRmtaQ2h3S1NCN1hHNGdJR2xtSUNoMGFHbHpMbWx6U1c1bWFXNXBkSGtvS1NsY2JpQWdJQ0J5WlhSMWNtNGdjRHRjYmlBZ2FXWWdLSEF1YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUdsbUlDaDBhR2x6TG1OMWNuWmxMbVY0ZEdWdVpHVmtLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlsZUhSQlpHUW9jQ2s3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY0hKdmFrRmtaQ2h3S1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dvYXlrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVmYUdGelJHOTFZbXhsY3locktTbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1ZlptbDRaV1JPWVdaTmRXd29kR2hwY3l3Z2F5azdYRzRnSUdWc2MyVmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1ZmQyNWhaazExYkNoMGFHbHpMQ0JyS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV0ZFd4QlpHUWdQU0JtZFc1amRHbHZiaUJ0ZFd4QlpHUW9hekVzSUhBc0lHc3lLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOTNibUZtVFhWc1FXUmtLREVzSUZzZ2RHaHBjeXdnY0NCZExDQmJJR3N4TENCck1pQmRMQ0F5TENCbVlXeHpaU2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVhbTExYkVGa1pDQTlJR1oxYm1OMGFXOXVJR3B0ZFd4QlpHUW9hekVzSUhBc0lHc3lLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOTNibUZtVFhWc1FXUmtLREVzSUZzZ2RHaHBjeXdnY0NCZExDQmJJR3N4TENCck1pQmRMQ0F5TENCMGNuVmxLVHRjYm4wN1hHNWNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNXViM0p0WVd4cGVtVWdQU0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvS1NCN1hHNGdJR2xtSUNoMGFHbHpMbnBQYm1VcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnTHk4Z1RtOXliV0ZzYVhwbElHTnZiM0prYVc1aGRHVnpYRzRnSUhaaGNpQjZhU0E5SUhSb2FYTXVlaTV5WldSSmJuWnRLQ2s3WEc0Z0lIUm9hWE11ZUNBOUlIUm9hWE11ZUM1eVpXUk5kV3dvZW1rcE8xeHVJQ0IwYUdsekxua2dQU0IwYUdsekxua3VjbVZrVFhWc0tIcHBLVHRjYmlBZ2FXWWdLSFJvYVhNdWRDbGNiaUFnSUNCMGFHbHpMblFnUFNCMGFHbHpMblF1Y21Wa1RYVnNLSHBwS1R0Y2JpQWdkR2hwY3k1NklEMGdkR2hwY3k1amRYSjJaUzV2Ym1VN1hHNGdJSFJvYVhNdWVrOXVaU0E5SUhSeWRXVTdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVVHOXBiblF1Y0hKdmRHOTBlWEJsTG01bFp5QTlJR1oxYm1OMGFXOXVJRzVsWnlncElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1Y0c5cGJuUW9kR2hwY3k1NExuSmxaRTVsWnlncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUwSUNZbUlIUm9hWE11ZEM1eVpXUk9aV2NvS1NrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WjJWMFdDQTlJR1oxYm1OMGFXOXVJR2RsZEZnb0tTQjdYRzRnSUhSb2FYTXVibTl5YldGc2FYcGxLQ2s3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbmd1Wm5KdmJWSmxaQ2dwTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbWRsZEZrZ1BTQm1kVzVqZEdsdmJpQm5aWFJaS0NrZ2UxeHVJQ0IwYUdsekxtNXZjbTFoYkdsNlpTZ3BPMXh1SUNCeVpYUjFjbTRnZEdocGN5NTVMbVp5YjIxU1pXUW9LVHRjYm4wN1hHNWNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeEtHOTBhR1Z5S1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6SUQwOVBTQnZkR2hsY2lCOGZGeHVJQ0FnSUNBZ0lDQWdkR2hwY3k1blpYUllLQ2t1WTIxd0tHOTBhR1Z5TG1kbGRGZ29LU2tnUFQwOUlEQWdKaVpjYmlBZ0lDQWdJQ0FnSUhSb2FYTXVaMlYwV1NncExtTnRjQ2h2ZEdobGNpNW5aWFJaS0NrcElEMDlQU0F3TzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbVZ4V0ZSdlVDQTlJR1oxYm1OMGFXOXVJR1Z4V0ZSdlVDaDRLU0I3WEc0Z0lIWmhjaUJ5ZUNBOUlIZ3VkRzlTWldRb2RHaHBjeTVqZFhKMlpTNXlaV1FwTG5KbFpFMTFiQ2gwYUdsekxub3BPMXh1SUNCcFppQW9kR2hwY3k1NExtTnRjQ2h5ZUNrZ1BUMDlJREFwWEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc1Y2JpQWdkbUZ5SUhoaklEMGdlQzVqYkc5dVpTZ3BPMXh1SUNCMllYSWdkQ0E5SUhSb2FYTXVZM1Z5ZG1VdWNtVmtUaTV5WldSTmRXd29kR2hwY3k1NktUdGNiaUFnWm05eUlDZzdPeWtnZTF4dUlDQWdJSGhqTG1saFpHUW9kR2hwY3k1amRYSjJaUzV1S1R0Y2JpQWdJQ0JwWmlBb2VHTXVZMjF3S0hSb2FYTXVZM1Z5ZG1VdWNDa2dQajBnTUNsY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lISjRMbkpsWkVsQlpHUW9kQ2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXVlQzVqYlhBb2NuZ3BJRDA5UFNBd0tWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgxY2JuMDdYRzVjYmk4dklFTnZiWEJoZEdsaWFXeHBkSGtnZDJsMGFDQkNZWE5sUTNWeWRtVmNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNTBiMUFnUFNCUWIybHVkQzV3Y205MGIzUjVjR1V1Ym05eWJXRnNhWHBsTzF4dVVHOXBiblF1Y0hKdmRHOTBlWEJsTG0xcGVHVmtRV1JrSUQwZ1VHOXBiblF1Y0hKdmRHOTBlWEJsTG1Ga1pEdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9lZHdhcmRzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGN1cnZlID0gZXhwb3J0cztcXG5cXG5jdXJ2ZS5iYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qc1xcXCIpO1xcbmN1cnZlLnNob3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaG9ydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzXFxcIik7XFxuY3VydmUubW9udCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbW9udCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL21vbnQuanNcXFwiKTtcXG5jdXJ2ZS5lZHdhcmRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lZHdhcmRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvZWR3YXJkcy5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdmFXNWtaWGd1YW5NL1pEVmlaaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2EwVkJRVkU3UVVGRE4wSXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHOUZRVUZUTzBGQlF5OUNMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eHJSVUZCVVR0QlFVTTNRaXhuUWtGQlowSXNiVUpCUVU4c1EwRkJReXgzUlVGQlZ5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCamRYSjJaU0E5SUdWNGNHOXlkSE03WEc1Y2JtTjFjblpsTG1KaGMyVWdQU0J5WlhGMWFYSmxLQ2N1TDJKaGMyVW5LVHRjYm1OMWNuWmxMbk5vYjNKMElEMGdjbVZ4ZFdseVpTZ25MaTl6YUc5eWRDY3BPMXh1WTNWeWRtVXViVzl1ZENBOUlISmxjWFZwY21Vb0p5NHZiVzl1ZENjcE8xeHVZM1Z5ZG1VdVpXUjNZWEprY3lBOUlISmxjWFZwY21Vb0p5NHZaV1IzWVhKa2N5Y3BPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9tb250LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9tb250LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxcIik7XFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG52YXIgQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL2Jhc2UuanNcXFwiKTtcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxuXFxuZnVuY3Rpb24gTW9udEN1cnZlKGNvbmYpIHtcXG4gIEJhc2UuY2FsbCh0aGlzLCAnbW9udCcsIGNvbmYpO1xcblxcbiAgdGhpcy5hID0gbmV3IEJOKGNvbmYuYSwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMuYiA9IG5ldyBCTihjb25mLmIsIDE2KS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLmk0ID0gbmV3IEJOKDQpLnRvUmVkKHRoaXMucmVkKS5yZWRJbnZtKCk7XFxuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLmEyNCA9IHRoaXMuaTQucmVkTXVsKHRoaXMuYS5yZWRBZGQodGhpcy50d28pKTtcXG59XFxuaW5oZXJpdHMoTW9udEN1cnZlLCBCYXNlKTtcXG5tb2R1bGUuZXhwb3J0cyA9IE1vbnRDdXJ2ZTtcXG5cXG5Nb250Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUocG9pbnQpIHtcXG4gIHZhciB4ID0gcG9pbnQubm9ybWFsaXplKCkueDtcXG4gIHZhciB4MiA9IHgucmVkU3FyKCk7XFxuICB2YXIgcmhzID0geDIucmVkTXVsKHgpLnJlZEFkZCh4Mi5yZWRNdWwodGhpcy5hKSkucmVkQWRkKHgpO1xcbiAgdmFyIHkgPSByaHMucmVkU3FydCgpO1xcblxcbiAgcmV0dXJuIHkucmVkU3FyKCkuY21wKHJocykgPT09IDA7XFxufTtcXG5cXG5mdW5jdGlvbiBQb2ludChjdXJ2ZSwgeCwgeikge1xcbiAgQmFzZS5CYXNlUG9pbnQuY2FsbCh0aGlzLCBjdXJ2ZSwgJ3Byb2plY3RpdmUnKTtcXG4gIGlmICh4ID09PSBudWxsICYmIHogPT09IG51bGwpIHtcXG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS5vbmU7XFxuICAgIHRoaXMueiA9IHRoaXMuY3VydmUuemVybztcXG4gIH0gZWxzZSB7XFxuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XFxuICAgIHRoaXMueiA9IG5ldyBCTih6LCAxNik7XFxuICAgIGlmICghdGhpcy54LnJlZClcXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICBpZiAoIXRoaXMuei5yZWQpXFxuICAgICAgdGhpcy56ID0gdGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gIH1cXG59XFxuaW5oZXJpdHMoUG9pbnQsIEJhc2UuQmFzZVBvaW50KTtcXG5cXG5Nb250Q3VydmUucHJvdG90eXBlLmRlY29kZVBvaW50ID0gZnVuY3Rpb24gZGVjb2RlUG9pbnQoYnl0ZXMsIGVuYykge1xcbiAgcmV0dXJuIHRoaXMucG9pbnQodXRpbHMudG9BcnJheShieXRlcywgZW5jKSwgMSk7XFxufTtcXG5cXG5Nb250Q3VydmUucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24gcG9pbnQoeCwgeikge1xcbiAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLCB4LCB6KTtcXG59O1xcblxcbk1vbnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTiA9IGZ1bmN0aW9uIHBvaW50RnJvbUpTT04ob2JqKSB7XFxuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5wcmVjb21wdXRlID0gZnVuY3Rpb24gcHJlY29tcHV0ZSgpIHtcXG4gIC8vIE5vLW9wXFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuX2VuY29kZSA9IGZ1bmN0aW9uIF9lbmNvZGUoKSB7XFxuICByZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgnYmUnLCB0aGlzLmN1cnZlLnAuYnl0ZUxlbmd0aCgpKTtcXG59O1xcblxcblBvaW50LmZyb21KU09OID0gZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsIG9iaikge1xcbiAgcmV0dXJuIG5ldyBQb2ludChjdXJ2ZSwgb2JqWzBdLCBvYmpbMV0gfHwgY3VydmUub25lKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5pbnNwZWN0ID0gZnVuY3Rpb24gaW5zcGVjdCgpIHtcXG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuICc8RUMgUG9pbnQgSW5maW5pdHk+JztcXG4gIHJldHVybiAnPEVDIFBvaW50IHg6ICcgKyB0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB6OiAnICsgdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgKyAnPic7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XFxuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxcbiAgcmV0dXJuIHRoaXMuei5jbXBuKDApID09PSAwO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmRibCA9IGZ1bmN0aW9uIGRibCgpIHtcXG4gIC8vIGh0dHA6Ly9oeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tbW9udGdvbS14ei5odG1sI2RvdWJsaW5nLWRibC0xOTg3LW0tM1xcbiAgLy8gMk0gKyAyUyArIDRBXFxuXFxuICAvLyBBID0gWDEgKyBaMVxcbiAgdmFyIGEgPSB0aGlzLngucmVkQWRkKHRoaXMueik7XFxuICAvLyBBQSA9IEFeMlxcbiAgdmFyIGFhID0gYS5yZWRTcXIoKTtcXG4gIC8vIEIgPSBYMSAtIFoxXFxuICB2YXIgYiA9IHRoaXMueC5yZWRTdWIodGhpcy56KTtcXG4gIC8vIEJCID0gQl4yXFxuICB2YXIgYmIgPSBiLnJlZFNxcigpO1xcbiAgLy8gQyA9IEFBIC0gQkJcXG4gIHZhciBjID0gYWEucmVkU3ViKGJiKTtcXG4gIC8vIFgzID0gQUEgKiBCQlxcbiAgdmFyIG54ID0gYWEucmVkTXVsKGJiKTtcXG4gIC8vIFozID0gQyAqIChCQiArIEEyNCAqIEMpXFxuICB2YXIgbnogPSBjLnJlZE11bChiYi5yZWRBZGQodGhpcy5jdXJ2ZS5hMjQucmVkTXVsKGMpKSk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnopO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCgpIHtcXG4gIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlJyk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZGlmZkFkZCA9IGZ1bmN0aW9uIGRpZmZBZGQocCwgZGlmZikge1xcbiAgLy8gaHR0cDovL2h5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1tb250Z29tLXh6Lmh0bWwjZGlmZmFkZC1kYWRkLTE5ODctbS0zXFxuICAvLyA0TSArIDJTICsgNkFcXG5cXG4gIC8vIEEgPSBYMiArIFoyXFxuICB2YXIgYSA9IHRoaXMueC5yZWRBZGQodGhpcy56KTtcXG4gIC8vIEIgPSBYMiAtIFoyXFxuICB2YXIgYiA9IHRoaXMueC5yZWRTdWIodGhpcy56KTtcXG4gIC8vIEMgPSBYMyArIFozXFxuICB2YXIgYyA9IHAueC5yZWRBZGQocC56KTtcXG4gIC8vIEQgPSBYMyAtIFozXFxuICB2YXIgZCA9IHAueC5yZWRTdWIocC56KTtcXG4gIC8vIERBID0gRCAqIEFcXG4gIHZhciBkYSA9IGQucmVkTXVsKGEpO1xcbiAgLy8gQ0IgPSBDICogQlxcbiAgdmFyIGNiID0gYy5yZWRNdWwoYik7XFxuICAvLyBYNSA9IFoxICogKERBICsgQ0IpXjJcXG4gIHZhciBueCA9IGRpZmYuei5yZWRNdWwoZGEucmVkQWRkKGNiKS5yZWRTcXIoKSk7XFxuICAvLyBaNSA9IFgxICogKERBIC0gQ0IpXjJcXG4gIHZhciBueiA9IGRpZmYueC5yZWRNdWwoZGEucmVkSVN1YihjYikucmVkU3FyKCkpO1xcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG56KTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xcbiAgdmFyIHQgPSBrLmNsb25lKCk7XFxuICB2YXIgYSA9IHRoaXM7IC8vIChOIC8gMikgKiBRICsgUVxcbiAgdmFyIGIgPSB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpOyAvLyAoTiAvIDIpICogUVxcbiAgdmFyIGMgPSB0aGlzOyAvLyBRXFxuXFxuICBmb3IgKHZhciBiaXRzID0gW107IHQuY21wbigwKSAhPT0gMDsgdC5pdXNocm4oMSkpXFxuICAgIGJpdHMucHVzaCh0LmFuZGxuKDEpKTtcXG5cXG4gIGZvciAodmFyIGkgPSBiaXRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgIGlmIChiaXRzW2ldID09PSAwKSB7XFxuICAgICAgLy8gTiAqIFEgKyBRID0gKChOIC8gMikgKiBRICsgUSkpICsgKE4gLyAyKSAqIFFcXG4gICAgICBhID0gYS5kaWZmQWRkKGIsIGMpO1xcbiAgICAgIC8vIE4gKiBRID0gMiAqICgoTiAvIDIpICogUSArIFEpKVxcbiAgICAgIGIgPSBiLmRibCgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIE4gKiBRID0gKChOIC8gMikgKiBRICsgUSkgKyAoKE4gLyAyKSAqIFEpXFxuICAgICAgYiA9IGEuZGlmZkFkZChiLCBjKTtcXG4gICAgICAvLyBOICogUSArIFEgPSAyICogKChOIC8gMikgKiBRICsgUSlcXG4gICAgICBhID0gYS5kYmwoKTtcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIGI7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubXVsQWRkID0gZnVuY3Rpb24gbXVsQWRkKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUnKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5qdW1sQWRkID0gZnVuY3Rpb24ganVtbEFkZCgpIHtcXG4gIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlJyk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcShvdGhlcikge1xcbiAgcmV0dXJuIHRoaXMuZ2V0WCgpLmNtcChvdGhlci5nZXRYKCkpID09PSAwO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uIG5vcm1hbGl6ZSgpIHtcXG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwodGhpcy56LnJlZEludm0oKSk7XFxuICB0aGlzLnogPSB0aGlzLmN1cnZlLm9uZTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xcbiAgLy8gTm9ybWFsaXplIGNvb3JkaW5hdGVzXFxuICB0aGlzLm5vcm1hbGl6ZSgpO1xcblxcbiAgcmV0dXJuIHRoaXMueC5mcm9tUmVkKCk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WTNWeWRtVXZiVzl1ZEM1cWN6OHlNVFV4SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZOQlFWTXNiVUpCUVU4c1EwRkJReXh0UlVGQlR6dEJRVU40UWl4bFFVRmxMRzFDUVVGUExFTkJRVU1zTmtSQlFWVTdRVUZEYWtNc1YwRkJWeXh0UWtGQlR5eERRVUZETEd0RlFVRlJPenRCUVVVelFpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc0swUkJRVlU3TzBGQlJUbENPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNaVUZCWlR0QlFVTm1MSFZEUVVGMVF6dEJRVU4yUXl4bFFVRmxPenRCUVVWbUxIRkNRVUZ4UWl4cFFrRkJhVUk3UVVGRGRFTTdPMEZCUlVFc0swSkJRU3RDTEZGQlFWRTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wld4c2FYQjBhV012YkdsaUwyVnNiR2x3ZEdsakwyTjFjblpsTDIxdmJuUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlrN1hHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcE8xeHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2N1TDJKaGMyVW5LVHRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYmx4dVpuVnVZM1JwYjI0Z1RXOXVkRU4xY25abEtHTnZibVlwSUh0Y2JpQWdRbUZ6WlM1allXeHNLSFJvYVhNc0lDZHRiMjUwSnl3Z1kyOXVaaWs3WEc1Y2JpQWdkR2hwY3k1aElEMGdibVYzSUVKT0tHTnZibVl1WVN3Z01UWXBMblJ2VW1Wa0tIUm9hWE11Y21Wa0tUdGNiaUFnZEdocGN5NWlJRDBnYm1WM0lFSk9LR052Ym1ZdVlpd2dNVFlwTG5SdlVtVmtLSFJvYVhNdWNtVmtLVHRjYmlBZ2RHaHBjeTVwTkNBOUlHNWxkeUJDVGlnMEtTNTBiMUpsWkNoMGFHbHpMbkpsWkNrdWNtVmtTVzUyYlNncE8xeHVJQ0IwYUdsekxuUjNieUE5SUc1bGR5QkNUaWd5S1M1MGIxSmxaQ2gwYUdsekxuSmxaQ2s3WEc0Z0lIUm9hWE11WVRJMElEMGdkR2hwY3k1cE5DNXlaV1JOZFd3b2RHaHBjeTVoTG5KbFpFRmtaQ2gwYUdsekxuUjNieWtwTzF4dWZWeHVhVzVvWlhKcGRITW9UVzl1ZEVOMWNuWmxMQ0JDWVhObEtUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdUVzl1ZEVOMWNuWmxPMXh1WEc1TmIyNTBRM1Z5ZG1VdWNISnZkRzkwZVhCbExuWmhiR2xrWVhSbElEMGdablZ1WTNScGIyNGdkbUZzYVdSaGRHVW9jRzlwYm5RcElIdGNiaUFnZG1GeUlIZ2dQU0J3YjJsdWRDNXViM0p0WVd4cGVtVW9LUzU0TzF4dUlDQjJZWElnZURJZ1BTQjRMbkpsWkZOeGNpZ3BPMXh1SUNCMllYSWdjbWh6SUQwZ2VESXVjbVZrVFhWc0tIZ3BMbkpsWkVGa1pDaDRNaTV5WldSTmRXd29kR2hwY3k1aEtTa3VjbVZrUVdSa0tIZ3BPMXh1SUNCMllYSWdlU0E5SUhKb2N5NXlaV1JUY1hKMEtDazdYRzVjYmlBZ2NtVjBkWEp1SUhrdWNtVmtVM0Z5S0NrdVkyMXdLSEpvY3lrZ1BUMDlJREE3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJRYjJsdWRDaGpkWEoyWlN3Z2VDd2dlaWtnZTF4dUlDQkNZWE5sTGtKaGMyVlFiMmx1ZEM1allXeHNLSFJvYVhNc0lHTjFjblpsTENBbmNISnZhbVZqZEdsMlpTY3BPMXh1SUNCcFppQW9lQ0E5UFQwZ2JuVnNiQ0FtSmlCNklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2RHaHBjeTVqZFhKMlpTNXZibVU3WEc0Z0lDQWdkR2hwY3k1NklEMGdkR2hwY3k1amRYSjJaUzU2WlhKdk8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIUm9hWE11ZUNBOUlHNWxkeUJDVGloNExDQXhOaWs3WEc0Z0lDQWdkR2hwY3k1NklEMGdibVYzSUVKT0tIb3NJREUyS1R0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11ZUM1eVpXUXBYRzRnSUNBZ0lDQjBhR2x6TG5nZ1BTQjBhR2x6TG5ndWRHOVNaV1FvZEdocGN5NWpkWEoyWlM1eVpXUXBPMXh1SUNBZ0lHbG1JQ2doZEdocGN5NTZMbkpsWkNsY2JpQWdJQ0FnSUhSb2FYTXVlaUE5SUhSb2FYTXVlaTUwYjFKbFpDaDBhR2x6TG1OMWNuWmxMbkpsWkNrN1hHNGdJSDFjYm4xY2JtbHVhR1Z5YVhSektGQnZhVzUwTENCQ1lYTmxMa0poYzJWUWIybHVkQ2s3WEc1Y2JrMXZiblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVaR1ZqYjJSbFVHOXBiblFnUFNCbWRXNWpkR2x2YmlCa1pXTnZaR1ZRYjJsdWRDaGllWFJsY3l3Z1pXNWpLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbkJ2YVc1MEtIVjBhV3h6TG5SdlFYSnlZWGtvWW5sMFpYTXNJR1Z1WXlrc0lERXBPMXh1ZlR0Y2JseHVUVzl1ZEVOMWNuWmxMbkJ5YjNSdmRIbHdaUzV3YjJsdWRDQTlJR1oxYm1OMGFXOXVJSEJ2YVc1MEtIZ3NJSG9wSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJRYjJsdWRDaDBhR2x6TENCNExDQjZLVHRjYm4wN1hHNWNiazF2Ym5SRGRYSjJaUzV3Y205MGIzUjVjR1V1Y0c5cGJuUkdjbTl0U2xOUFRpQTlJR1oxYm1OMGFXOXVJSEJ2YVc1MFJuSnZiVXBUVDA0b2IySnFLU0I3WEc0Z0lISmxkSFZ5YmlCUWIybHVkQzVtY205dFNsTlBUaWgwYUdsekxDQnZZbW9wTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbkJ5WldOdmJYQjFkR1VnUFNCbWRXNWpkR2x2YmlCd2NtVmpiMjF3ZFhSbEtDa2dlMXh1SUNBdkx5Qk9ieTF2Y0Z4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlsYm1OdlpHVWdQU0JtZFc1amRHbHZiaUJmWlc1amIyUmxLQ2tnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTVuWlhSWUtDa3VkRzlCY25KaGVTZ25ZbVVuTENCMGFHbHpMbU4xY25abExuQXVZbmwwWlV4bGJtZDBhQ2dwS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbVp5YjIxS1UwOU9JRDBnWm5WdVkzUnBiMjRnWm5KdmJVcFRUMDRvWTNWeWRtVXNJRzlpYWlrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUZCdmFXNTBLR04xY25abExDQnZZbXBiTUYwc0lHOWlhbHN4WFNCOGZDQmpkWEoyWlM1dmJtVXBPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtbHVjM0JsWTNRZ1BTQm1kVzVqZEdsdmJpQnBibk53WldOMEtDa2dlMXh1SUNCcFppQW9kR2hwY3k1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUNjOFJVTWdVRzlwYm5RZ1NXNW1hVzVwZEhrK0p6dGNiaUFnY21WMGRYSnVJQ2M4UlVNZ1VHOXBiblFnZURvZ0p5QXJJSFJvYVhNdWVDNW1jbTl0VW1Wa0tDa3VkRzlUZEhKcGJtY29NVFlzSURJcElDdGNiaUFnSUNBZ0lDY2dlam9nSnlBcklIUm9hWE11ZWk1bWNtOXRVbVZrS0NrdWRHOVRkSEpwYm1jb01UWXNJRElwSUNzZ0p6NG5PMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtbHpTVzVtYVc1cGRIa2dQU0JtZFc1amRHbHZiaUJwYzBsdVptbHVhWFI1S0NrZ2UxeHVJQ0F2THlCWVdGZ2dWR2hwY3lCamIyUmxJR0Z6YzNWdFpYTWdkR2hoZENCNlpYSnZJR2x6SUdGc2QyRjVjeUI2WlhKdklHbHVJSEpsWkZ4dUlDQnlaWFIxY200Z2RHaHBjeTU2TG1OdGNHNG9NQ2tnUFQwOUlEQTdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdVpHSnNJRDBnWm5WdVkzUnBiMjRnWkdKc0tDa2dlMXh1SUNBdkx5Qm9kSFJ3T2k4dmFIbHdaWEpsYkd4cGNIUnBZeTV2Y21jdlJVWkVMMmN4Y0M5aGRYUnZMVzF2Ym5SbmIyMHRlSG91YUhSdGJDTmtiM1ZpYkdsdVp5MWtZbXd0TVRrNE55MXRMVE5jYmlBZ0x5OGdNazBnS3lBeVV5QXJJRFJCWEc1Y2JpQWdMeThnUVNBOUlGZ3hJQ3NnV2pGY2JpQWdkbUZ5SUdFZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hSb2FYTXVlaWs3WEc0Z0lDOHZJRUZCSUQwZ1FWNHlYRzRnSUhaaGNpQmhZU0E5SUdFdWNtVmtVM0Z5S0NrN1hHNGdJQzh2SUVJZ1BTQllNU0F0SUZveFhHNGdJSFpoY2lCaUlEMGdkR2hwY3k1NExuSmxaRk4xWWloMGFHbHpMbm9wTzF4dUlDQXZMeUJDUWlBOUlFSmVNbHh1SUNCMllYSWdZbUlnUFNCaUxuSmxaRk54Y2lncE8xeHVJQ0F2THlCRElEMGdRVUVnTFNCQ1FseHVJQ0IyWVhJZ1l5QTlJR0ZoTG5KbFpGTjFZaWhpWWlrN1hHNGdJQzh2SUZneklEMGdRVUVnS2lCQ1FseHVJQ0IyWVhJZ2JuZ2dQU0JoWVM1eVpXUk5kV3dvWW1JcE8xeHVJQ0F2THlCYU15QTlJRU1nS2lBb1FrSWdLeUJCTWpRZ0tpQkRLVnh1SUNCMllYSWdibm9nUFNCakxuSmxaRTExYkNoaVlpNXlaV1JCWkdRb2RHaHBjeTVqZFhKMlpTNWhNalF1Y21Wa1RYVnNLR01wS1NrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbkJ2YVc1MEtHNTRMQ0J1ZWlrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMDV2ZENCemRYQndiM0owWldRZ2IyNGdUVzl1ZEdkdmJXVnllU0JqZFhKMlpTY3BPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtUnBabVpCWkdRZ1BTQm1kVzVqZEdsdmJpQmthV1ptUVdSa0tIQXNJR1JwWm1ZcElIdGNiaUFnTHk4Z2FIUjBjRG92TDJoNWNHVnlaV3hzYVhCMGFXTXViM0puTDBWR1JDOW5NWEF2WVhWMGJ5MXRiMjUwWjI5dExYaDZMbWgwYld3alpHbG1abUZrWkMxa1lXUmtMVEU1T0RjdGJTMHpYRzRnSUM4dklEUk5JQ3NnTWxNZ0t5QTJRVnh1WEc0Z0lDOHZJRUVnUFNCWU1pQXJJRm95WEc0Z0lIWmhjaUJoSUQwZ2RHaHBjeTU0TG5KbFpFRmtaQ2gwYUdsekxub3BPMXh1SUNBdkx5QkNJRDBnV0RJZ0xTQmFNbHh1SUNCMllYSWdZaUE5SUhSb2FYTXVlQzV5WldSVGRXSW9kR2hwY3k1NktUdGNiaUFnTHk4Z1F5QTlJRmd6SUNzZ1dqTmNiaUFnZG1GeUlHTWdQU0J3TG5ndWNtVmtRV1JrS0hBdWVpazdYRzRnSUM4dklFUWdQU0JZTXlBdElGb3pYRzRnSUhaaGNpQmtJRDBnY0M1NExuSmxaRk4xWWlod0xub3BPMXh1SUNBdkx5QkVRU0E5SUVRZ0tpQkJYRzRnSUhaaGNpQmtZU0E5SUdRdWNtVmtUWFZzS0dFcE8xeHVJQ0F2THlCRFFpQTlJRU1nS2lCQ1hHNGdJSFpoY2lCallpQTlJR011Y21Wa1RYVnNLR0lwTzF4dUlDQXZMeUJZTlNBOUlGb3hJQ29nS0VSQklDc2dRMElwWGpKY2JpQWdkbUZ5SUc1NElEMGdaR2xtWmk1NkxuSmxaRTExYkNoa1lTNXlaV1JCWkdRb1kySXBMbkpsWkZOeGNpZ3BLVHRjYmlBZ0x5OGdXalVnUFNCWU1TQXFJQ2hFUVNBdElFTkNLVjR5WEc0Z0lIWmhjaUJ1ZWlBOUlHUnBabVl1ZUM1eVpXUk5kV3dvWkdFdWNtVmtTVk4xWWloallpa3VjbVZrVTNGeUtDa3BPMXh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1d2IybHVkQ2h1ZUN3Z2Jub3BPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDaHJLU0I3WEc0Z0lIWmhjaUIwSUQwZ2F5NWpiRzl1WlNncE8xeHVJQ0IyWVhJZ1lTQTlJSFJvYVhNN0lDOHZJQ2hPSUM4Z01pa2dLaUJSSUNzZ1VWeHVJQ0IyWVhJZ1lpQTlJSFJvYVhNdVkzVnlkbVV1Y0c5cGJuUW9iblZzYkN3Z2JuVnNiQ2s3SUM4dklDaE9JQzhnTWlrZ0tpQlJYRzRnSUhaaGNpQmpJRDBnZEdocGN6c2dMeThnVVZ4dVhHNGdJR1p2Y2lBb2RtRnlJR0pwZEhNZ1BTQmJYVHNnZEM1amJYQnVLREFwSUNFOVBTQXdPeUIwTG1sMWMyaHliaWd4S1NsY2JpQWdJQ0JpYVhSekxuQjFjMmdvZEM1aGJtUnNiaWd4S1NrN1hHNWNiaUFnWm05eUlDaDJZWElnYVNBOUlHSnBkSE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQnBaaUFvWW1sMGMxdHBYU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdMeThnVGlBcUlGRWdLeUJSSUQwZ0tDaE9JQzhnTWlrZ0tpQlJJQ3NnVVNrcElDc2dLRTRnTHlBeUtTQXFJRkZjYmlBZ0lDQWdJR0VnUFNCaExtUnBabVpCWkdRb1lpd2dZeWs3WEc0Z0lDQWdJQ0F2THlCT0lDb2dVU0E5SURJZ0tpQW9LRTRnTHlBeUtTQXFJRkVnS3lCUktTbGNiaUFnSUNBZ0lHSWdQU0JpTG1SaWJDZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5Qk9JQ29nVVNBOUlDZ29UaUF2SURJcElDb2dVU0FySUZFcElDc2dLQ2hPSUM4Z01pa2dLaUJSS1Z4dUlDQWdJQ0FnWWlBOUlHRXVaR2xtWmtGa1pDaGlMQ0JqS1R0Y2JpQWdJQ0FnSUM4dklFNGdLaUJSSUNzZ1VTQTlJRElnS2lBb0tFNGdMeUF5S1NBcUlGRWdLeUJSS1Z4dUlDQWdJQ0FnWVNBOUlHRXVaR0pzS0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUJpTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbTExYkVGa1pDQTlJR1oxYm1OMGFXOXVJRzExYkVGa1pDZ3BJSHRjYmlBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkT2IzUWdjM1Z3Y0c5eWRHVmtJRzl1SUUxdmJuUm5iMjFsY25rZ1kzVnlkbVVuS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzVxZFcxc1FXUmtJRDBnWm5WdVkzUnBiMjRnYW5WdGJFRmtaQ2dwSUh0Y2JpQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE9iM1FnYzNWd2NHOXlkR1ZrSUc5dUlFMXZiblJuYjIxbGNua2dZM1Z5ZG1VbktUdGNibjA3WEc1Y2JsQnZhVzUwTG5CeWIzUnZkSGx3WlM1bGNTQTlJR1oxYm1OMGFXOXVJR1Z4S0c5MGFHVnlLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbWRsZEZnb0tTNWpiWEFvYjNSb1pYSXVaMlYwV0NncEtTQTlQVDBnTUR0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVVnUFNCbWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1Vb0tTQjdYRzRnSUhSb2FYTXVlQ0E5SUhSb2FYTXVlQzV5WldSTmRXd29kR2hwY3k1NkxuSmxaRWx1ZG0wb0tTazdYRzRnSUhSb2FYTXVlaUE5SUhSb2FYTXVZM1Z5ZG1VdWIyNWxPMXh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JsQnZhVzUwTG5CeWIzUnZkSGx3WlM1blpYUllJRDBnWm5WdVkzUnBiMjRnWjJWMFdDZ3BJSHRjYmlBZ0x5OGdUbTl5YldGc2FYcGxJR052YjNKa2FXNWhkR1Z6WEc0Z0lIUm9hWE11Ym05eWJXRnNhWHBsS0NrN1hHNWNiaUFnY21WMGRYSnVJSFJvYVhNdWVDNW1jbTl0VW1Wa0tDazdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL21vbnQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9zaG9ydC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcbnZhciBCYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qc1xcXCIpO1xcblxcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XFxuXFxuZnVuY3Rpb24gU2hvcnRDdXJ2ZShjb25mKSB7XFxuICBCYXNlLmNhbGwodGhpcywgJ3Nob3J0JywgY29uZik7XFxuXFxuICB0aGlzLmEgPSBuZXcgQk4oY29uZi5hLCAxNikudG9SZWQodGhpcy5yZWQpO1xcbiAgdGhpcy5iID0gbmV3IEJOKGNvbmYuYiwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMudGludiA9IHRoaXMudHdvLnJlZEludm0oKTtcXG5cXG4gIHRoaXMuemVyb0EgPSB0aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCkgPT09IDA7XFxuICB0aGlzLnRocmVlQSA9IHRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMykgPT09IDA7XFxuXFxuICAvLyBJZiB0aGUgY3VydmUgaXMgZW5kb21vcnBoaWMsIHByZWNhbGN1bGF0ZSBiZXRhIGFuZCBsYW1iZGFcXG4gIHRoaXMuZW5kbyA9IHRoaXMuX2dldEVuZG9tb3JwaGlzbShjb25mKTtcXG4gIHRoaXMuX2VuZG9XbmFmVDEgPSBuZXcgQXJyYXkoNCk7XFxuICB0aGlzLl9lbmRvV25hZlQyID0gbmV3IEFycmF5KDQpO1xcbn1cXG5pbmhlcml0cyhTaG9ydEN1cnZlLCBCYXNlKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFNob3J0Q3VydmU7XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9tb3JwaGlzbSA9IGZ1bmN0aW9uIF9nZXRFbmRvbW9ycGhpc20oY29uZikge1xcbiAgLy8gTm8gZWZmaWNpZW50IGVuZG9tb3JwaGlzbVxcbiAgaWYgKCF0aGlzLnplcm9BIHx8ICF0aGlzLmcgfHwgIXRoaXMubiB8fCB0aGlzLnAubW9kbigzKSAhPT0gMSlcXG4gICAgcmV0dXJuO1xcblxcbiAgLy8gQ29tcHV0ZSBiZXRhIGFuZCBsYW1iZGEsIHRoYXQgbGFtYmRhICogUCA9IChiZXRhICogUHg7IFB5KVxcbiAgdmFyIGJldGE7XFxuICB2YXIgbGFtYmRhO1xcbiAgaWYgKGNvbmYuYmV0YSkge1xcbiAgICBiZXRhID0gbmV3IEJOKGNvbmYuYmV0YSwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBiZXRhcyA9IHRoaXMuX2dldEVuZG9Sb290cyh0aGlzLnApO1xcbiAgICAvLyBDaG9vc2UgdGhlIHNtYWxsZXN0IGJldGFcXG4gICAgYmV0YSA9IGJldGFzWzBdLmNtcChiZXRhc1sxXSkgPCAwID8gYmV0YXNbMF0gOiBiZXRhc1sxXTtcXG4gICAgYmV0YSA9IGJldGEudG9SZWQodGhpcy5yZWQpO1xcbiAgfVxcbiAgaWYgKGNvbmYubGFtYmRhKSB7XFxuICAgIGxhbWJkYSA9IG5ldyBCTihjb25mLmxhbWJkYSwgMTYpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQ2hvb3NlIHRoZSBsYW1iZGEgdGhhdCBpcyBtYXRjaGluZyBzZWxlY3RlZCBiZXRhXFxuICAgIHZhciBsYW1iZGFzID0gdGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMubik7XFxuICAgIGlmICh0aGlzLmcubXVsKGxhbWJkYXNbMF0pLnguY21wKHRoaXMuZy54LnJlZE11bChiZXRhKSkgPT09IDApIHtcXG4gICAgICBsYW1iZGEgPSBsYW1iZGFzWzBdO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGxhbWJkYSA9IGxhbWJkYXNbMV07XFxuICAgICAgYXNzZXJ0KHRoaXMuZy5tdWwobGFtYmRhKS54LmNtcCh0aGlzLmcueC5yZWRNdWwoYmV0YSkpID09PSAwKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gR2V0IGJhc2lzIHZlY3RvcnMsIHVzZWQgZm9yIGJhbGFuY2VkIGxlbmd0aC10d28gcmVwcmVzZW50YXRpb25cXG4gIHZhciBiYXNpcztcXG4gIGlmIChjb25mLmJhc2lzKSB7XFxuICAgIGJhc2lzID0gY29uZi5iYXNpcy5tYXAoZnVuY3Rpb24odmVjKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGE6IG5ldyBCTih2ZWMuYSwgMTYpLFxcbiAgICAgICAgYjogbmV3IEJOKHZlYy5iLCAxNilcXG4gICAgICB9O1xcbiAgICB9KTtcXG4gIH0gZWxzZSB7XFxuICAgIGJhc2lzID0gdGhpcy5fZ2V0RW5kb0Jhc2lzKGxhbWJkYSk7XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICBiZXRhOiBiZXRhLFxcbiAgICBsYW1iZGE6IGxhbWJkYSxcXG4gICAgYmFzaXM6IGJhc2lzXFxuICB9O1xcbn07XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9Sb290cyA9IGZ1bmN0aW9uIF9nZXRFbmRvUm9vdHMobnVtKSB7XFxuICAvLyBGaW5kIHJvb3RzIG9mIGZvciB4XjIgKyB4ICsgMSBpbiBGXFxuICAvLyBSb290ID0gKC0xICstIFNxcnQoLTMpKSAvIDJcXG4gIC8vXFxuICB2YXIgcmVkID0gbnVtID09PSB0aGlzLnAgPyB0aGlzLnJlZCA6IEJOLm1vbnQobnVtKTtcXG4gIHZhciB0aW52ID0gbmV3IEJOKDIpLnRvUmVkKHJlZCkucmVkSW52bSgpO1xcbiAgdmFyIG50aW52ID0gdGludi5yZWROZWcoKTtcXG5cXG4gIHZhciBzID0gbmV3IEJOKDMpLnRvUmVkKHJlZCkucmVkTmVnKCkucmVkU3FydCgpLnJlZE11bCh0aW52KTtcXG5cXG4gIHZhciBsMSA9IG50aW52LnJlZEFkZChzKS5mcm9tUmVkKCk7XFxuICB2YXIgbDIgPSBudGludi5yZWRTdWIocykuZnJvbVJlZCgpO1xcbiAgcmV0dXJuIFsgbDEsIGwyIF07XFxufTtcXG5cXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzID0gZnVuY3Rpb24gX2dldEVuZG9CYXNpcyhsYW1iZGEpIHtcXG4gIC8vIGFwcnhTcXJ0ID49IHNxcnQodGhpcy5uKVxcbiAgdmFyIGFwcnhTcXJ0ID0gdGhpcy5uLnVzaHJuKE1hdGguZmxvb3IodGhpcy5uLmJpdExlbmd0aCgpIC8gMikpO1xcblxcbiAgLy8gMy43NFxcbiAgLy8gUnVuIEVHQ0QsIHVudGlsIHIoTCArIDEpIDwgYXByeFNxcnRcXG4gIHZhciB1ID0gbGFtYmRhO1xcbiAgdmFyIHYgPSB0aGlzLm4uY2xvbmUoKTtcXG4gIHZhciB4MSA9IG5ldyBCTigxKTtcXG4gIHZhciB5MSA9IG5ldyBCTigwKTtcXG4gIHZhciB4MiA9IG5ldyBCTigwKTtcXG4gIHZhciB5MiA9IG5ldyBCTigxKTtcXG5cXG4gIC8vIE5PVEU6IGFsbCB2ZWN0b3JzIGFyZSByb290cyBvZjogYSArIGIgKiBsYW1iZGEgPSAwIChtb2QgbilcXG4gIHZhciBhMDtcXG4gIHZhciBiMDtcXG4gIC8vIEZpcnN0IHZlY3RvclxcbiAgdmFyIGExO1xcbiAgdmFyIGIxO1xcbiAgLy8gU2Vjb25kIHZlY3RvclxcbiAgdmFyIGEyO1xcbiAgdmFyIGIyO1xcblxcbiAgdmFyIHByZXZSO1xcbiAgdmFyIGkgPSAwO1xcbiAgdmFyIHI7XFxuICB2YXIgeDtcXG4gIHdoaWxlICh1LmNtcG4oMCkgIT09IDApIHtcXG4gICAgdmFyIHEgPSB2LmRpdih1KTtcXG4gICAgciA9IHYuc3ViKHEubXVsKHUpKTtcXG4gICAgeCA9IHgyLnN1YihxLm11bCh4MSkpO1xcbiAgICB2YXIgeSA9IHkyLnN1YihxLm11bCh5MSkpO1xcblxcbiAgICBpZiAoIWExICYmIHIuY21wKGFwcnhTcXJ0KSA8IDApIHtcXG4gICAgICBhMCA9IHByZXZSLm5lZygpO1xcbiAgICAgIGIwID0geDE7XFxuICAgICAgYTEgPSByLm5lZygpO1xcbiAgICAgIGIxID0geDtcXG4gICAgfSBlbHNlIGlmIChhMSAmJiArK2kgPT09IDIpIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgICBwcmV2UiA9IHI7XFxuXFxuICAgIHYgPSB1O1xcbiAgICB1ID0gcjtcXG4gICAgeDIgPSB4MTtcXG4gICAgeDEgPSB4O1xcbiAgICB5MiA9IHkxO1xcbiAgICB5MSA9IHk7XFxuICB9XFxuICBhMiA9IHIubmVnKCk7XFxuICBiMiA9IHg7XFxuXFxuICB2YXIgbGVuMSA9IGExLnNxcigpLmFkZChiMS5zcXIoKSk7XFxuICB2YXIgbGVuMiA9IGEyLnNxcigpLmFkZChiMi5zcXIoKSk7XFxuICBpZiAobGVuMi5jbXAobGVuMSkgPj0gMCkge1xcbiAgICBhMiA9IGEwO1xcbiAgICBiMiA9IGIwO1xcbiAgfVxcblxcbiAgLy8gTm9ybWFsaXplIHNpZ25zXFxuICBpZiAoYTEubmVnYXRpdmUpIHtcXG4gICAgYTEgPSBhMS5uZWcoKTtcXG4gICAgYjEgPSBiMS5uZWcoKTtcXG4gIH1cXG4gIGlmIChhMi5uZWdhdGl2ZSkge1xcbiAgICBhMiA9IGEyLm5lZygpO1xcbiAgICBiMiA9IGIyLm5lZygpO1xcbiAgfVxcblxcbiAgcmV0dXJuIFtcXG4gICAgeyBhOiBhMSwgYjogYjEgfSxcXG4gICAgeyBhOiBhMiwgYjogYjIgfVxcbiAgXTtcXG59O1xcblxcblNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvU3BsaXQgPSBmdW5jdGlvbiBfZW5kb1NwbGl0KGspIHtcXG4gIHZhciBiYXNpcyA9IHRoaXMuZW5kby5iYXNpcztcXG4gIHZhciB2MSA9IGJhc2lzWzBdO1xcbiAgdmFyIHYyID0gYmFzaXNbMV07XFxuXFxuICB2YXIgYzEgPSB2Mi5iLm11bChrKS5kaXZSb3VuZCh0aGlzLm4pO1xcbiAgdmFyIGMyID0gdjEuYi5uZWcoKS5tdWwoaykuZGl2Um91bmQodGhpcy5uKTtcXG5cXG4gIHZhciBwMSA9IGMxLm11bCh2MS5hKTtcXG4gIHZhciBwMiA9IGMyLm11bCh2Mi5hKTtcXG4gIHZhciBxMSA9IGMxLm11bCh2MS5iKTtcXG4gIHZhciBxMiA9IGMyLm11bCh2Mi5iKTtcXG5cXG4gIC8vIENhbGN1bGF0ZSBhbnN3ZXJcXG4gIHZhciBrMSA9IGsuc3ViKHAxKS5zdWIocDIpO1xcbiAgdmFyIGsyID0gcTEuYWRkKHEyKS5uZWcoKTtcXG4gIHJldHVybiB7IGsxOiBrMSwgazI6IGsyIH07XFxufTtcXG5cXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YID0gZnVuY3Rpb24gcG9pbnRGcm9tWCh4LCBvZGQpIHtcXG4gIHggPSBuZXcgQk4oeCwgMTYpO1xcbiAgaWYgKCF4LnJlZClcXG4gICAgeCA9IHgudG9SZWQodGhpcy5yZWQpO1xcblxcbiAgdmFyIHkyID0geC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZCh4LnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYik7XFxuICB2YXIgeSA9IHkyLnJlZFNxcnQoKTtcXG4gIGlmICh5LnJlZFNxcigpLnJlZFN1Yih5MikuY21wKHRoaXMuemVybykgIT09IDApXFxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xcblxcbiAgLy8gWFhYIElzIHRoZXJlIGFueSB3YXkgdG8gdGVsbCBpZiB0aGUgbnVtYmVyIGlzIG9kZCB3aXRob3V0IGNvbnZlcnRpbmcgaXRcXG4gIC8vIHRvIG5vbi1yZWQgZm9ybT9cXG4gIHZhciBpc09kZCA9IHkuZnJvbVJlZCgpLmlzT2RkKCk7XFxuICBpZiAob2RkICYmICFpc09kZCB8fCAhb2RkICYmIGlzT2RkKVxcbiAgICB5ID0geS5yZWROZWcoKTtcXG5cXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xcbn07XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZShwb2ludCkge1xcbiAgaWYgKHBvaW50LmluZilcXG4gICAgcmV0dXJuIHRydWU7XFxuXFxuICB2YXIgeCA9IHBvaW50Lng7XFxuICB2YXIgeSA9IHBvaW50Lnk7XFxuXFxuICB2YXIgYXggPSB0aGlzLmEucmVkTXVsKHgpO1xcbiAgdmFyIHJocyA9IHgucmVkU3FyKCkucmVkTXVsKHgpLnJlZElBZGQoYXgpLnJlZElBZGQodGhpcy5iKTtcXG4gIHJldHVybiB5LnJlZFNxcigpLnJlZElTdWIocmhzKS5jbXBuKDApID09PSAwO1xcbn07XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2VuZG9XbmFmTXVsQWRkID1cXG4gICAgZnVuY3Rpb24gX2VuZG9XbmFmTXVsQWRkKHBvaW50cywgY29lZmZzLCBqYWNvYmlhblJlc3VsdCkge1xcbiAgdmFyIG5wb2ludHMgPSB0aGlzLl9lbmRvV25hZlQxO1xcbiAgdmFyIG5jb2VmZnMgPSB0aGlzLl9lbmRvV25hZlQyO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHNwbGl0ID0gdGhpcy5fZW5kb1NwbGl0KGNvZWZmc1tpXSk7XFxuICAgIHZhciBwID0gcG9pbnRzW2ldO1xcbiAgICB2YXIgYmV0YSA9IHAuX2dldEJldGEoKTtcXG5cXG4gICAgaWYgKHNwbGl0LmsxLm5lZ2F0aXZlKSB7XFxuICAgICAgc3BsaXQuazEuaW5lZygpO1xcbiAgICAgIHAgPSBwLm5lZyh0cnVlKTtcXG4gICAgfVxcbiAgICBpZiAoc3BsaXQuazIubmVnYXRpdmUpIHtcXG4gICAgICBzcGxpdC5rMi5pbmVnKCk7XFxuICAgICAgYmV0YSA9IGJldGEubmVnKHRydWUpO1xcbiAgICB9XFxuXFxuICAgIG5wb2ludHNbaSAqIDJdID0gcDtcXG4gICAgbnBvaW50c1tpICogMiArIDFdID0gYmV0YTtcXG4gICAgbmNvZWZmc1tpICogMl0gPSBzcGxpdC5rMTtcXG4gICAgbmNvZWZmc1tpICogMiArIDFdID0gc3BsaXQuazI7XFxuICB9XFxuICB2YXIgcmVzID0gdGhpcy5fd25hZk11bEFkZCgxLCBucG9pbnRzLCBuY29lZmZzLCBpICogMiwgamFjb2JpYW5SZXN1bHQpO1xcblxcbiAgLy8gQ2xlYW4tdXAgcmVmZXJlbmNlcyB0byBwb2ludHMgYW5kIGNvZWZmaWNpZW50c1xcbiAgZm9yICh2YXIgaiA9IDA7IGogPCBpICogMjsgaisrKSB7XFxuICAgIG5wb2ludHNbal0gPSBudWxsO1xcbiAgICBuY29lZmZzW2pdID0gbnVsbDtcXG4gIH1cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5mdW5jdGlvbiBQb2ludChjdXJ2ZSwgeCwgeSwgaXNSZWQpIHtcXG4gIEJhc2UuQmFzZVBvaW50LmNhbGwodGhpcywgY3VydmUsICdhZmZpbmUnKTtcXG4gIGlmICh4ID09PSBudWxsICYmIHkgPT09IG51bGwpIHtcXG4gICAgdGhpcy54ID0gbnVsbDtcXG4gICAgdGhpcy55ID0gbnVsbDtcXG4gICAgdGhpcy5pbmYgPSB0cnVlO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy54ID0gbmV3IEJOKHgsIDE2KTtcXG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcXG4gICAgLy8gRm9yY2UgcmVkZ29tZXJ5IHJlcHJlc2VudGF0aW9uIHdoZW4gbG9hZGluZyBmcm9tIEpTT05cXG4gICAgaWYgKGlzUmVkKSB7XFxuICAgICAgdGhpcy54LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgICB0aGlzLnkuZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICB9XFxuICAgIGlmICghdGhpcy54LnJlZClcXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICBpZiAoIXRoaXMueS5yZWQpXFxuICAgICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgdGhpcy5pbmYgPSBmYWxzZTtcXG4gIH1cXG59XFxuaW5oZXJpdHMoUG9pbnQsIEJhc2UuQmFzZVBvaW50KTtcXG5cXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludCA9IGZ1bmN0aW9uIHBvaW50KHgsIHksIGlzUmVkKSB7XFxuICByZXR1cm4gbmV3IFBvaW50KHRoaXMsIHgsIHksIGlzUmVkKTtcXG59O1xcblxcblNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT04gPSBmdW5jdGlvbiBwb2ludEZyb21KU09OKG9iaiwgcmVkKSB7XFxuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqLCByZWQpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhID0gZnVuY3Rpb24gX2dldEJldGEoKSB7XFxuICBpZiAoIXRoaXMuY3VydmUuZW5kbylcXG4gICAgcmV0dXJuO1xcblxcbiAgdmFyIHByZSA9IHRoaXMucHJlY29tcHV0ZWQ7XFxuICBpZiAocHJlICYmIHByZS5iZXRhKVxcbiAgICByZXR1cm4gcHJlLmJldGE7XFxuXFxuICB2YXIgYmV0YSA9IHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE11bCh0aGlzLmN1cnZlLmVuZG8uYmV0YSksIHRoaXMueSk7XFxuICBpZiAocHJlKSB7XFxuICAgIHZhciBjdXJ2ZSA9IHRoaXMuY3VydmU7XFxuICAgIHZhciBlbmRvTXVsID0gZnVuY3Rpb24ocCkge1xcbiAgICAgIHJldHVybiBjdXJ2ZS5wb2ludChwLngucmVkTXVsKGN1cnZlLmVuZG8uYmV0YSksIHAueSk7XFxuICAgIH07XFxuICAgIHByZS5iZXRhID0gYmV0YTtcXG4gICAgYmV0YS5wcmVjb21wdXRlZCA9IHtcXG4gICAgICBiZXRhOiBudWxsLFxcbiAgICAgIG5hZjogcHJlLm5hZiAmJiB7XFxuICAgICAgICB3bmQ6IHByZS5uYWYud25kLFxcbiAgICAgICAgcG9pbnRzOiBwcmUubmFmLnBvaW50cy5tYXAoZW5kb011bClcXG4gICAgICB9LFxcbiAgICAgIGRvdWJsZXM6IHByZS5kb3VibGVzICYmIHtcXG4gICAgICAgIHN0ZXA6IHByZS5kb3VibGVzLnN0ZXAsXFxuICAgICAgICBwb2ludHM6IHByZS5kb3VibGVzLnBvaW50cy5tYXAoZW5kb011bClcXG4gICAgICB9XFxuICAgIH07XFxuICB9XFxuICByZXR1cm4gYmV0YTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04oKSB7XFxuICBpZiAoIXRoaXMucHJlY29tcHV0ZWQpXFxuICAgIHJldHVybiBbIHRoaXMueCwgdGhpcy55IF07XFxuXFxuICByZXR1cm4gWyB0aGlzLngsIHRoaXMueSwgdGhpcy5wcmVjb21wdXRlZCAmJiB7XFxuICAgIGRvdWJsZXM6IHRoaXMucHJlY29tcHV0ZWQuZG91YmxlcyAmJiB7XFxuICAgICAgc3RlcDogdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAsXFxuICAgICAgcG9pbnRzOiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMucG9pbnRzLnNsaWNlKDEpXFxuICAgIH0sXFxuICAgIG5hZjogdGhpcy5wcmVjb21wdXRlZC5uYWYgJiYge1xcbiAgICAgIHduZDogdGhpcy5wcmVjb21wdXRlZC5uYWYud25kLFxcbiAgICAgIHBvaW50czogdGhpcy5wcmVjb21wdXRlZC5uYWYucG9pbnRzLnNsaWNlKDEpXFxuICAgIH1cXG4gIH0gXTtcXG59O1xcblxcblBvaW50LmZyb21KU09OID0gZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsIG9iaiwgcmVkKSB7XFxuICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpXFxuICAgIG9iaiA9IEpTT04ucGFyc2Uob2JqKTtcXG4gIHZhciByZXMgPSBjdXJ2ZS5wb2ludChvYmpbMF0sIG9ialsxXSwgcmVkKTtcXG4gIGlmICghb2JqWzJdKVxcbiAgICByZXR1cm4gcmVzO1xcblxcbiAgZnVuY3Rpb24gb2JqMnBvaW50KG9iaikge1xcbiAgICByZXR1cm4gY3VydmUucG9pbnQob2JqWzBdLCBvYmpbMV0sIHJlZCk7XFxuICB9XFxuXFxuICB2YXIgcHJlID0gb2JqWzJdO1xcbiAgcmVzLnByZWNvbXB1dGVkID0ge1xcbiAgICBiZXRhOiBudWxsLFxcbiAgICBkb3VibGVzOiBwcmUuZG91YmxlcyAmJiB7XFxuICAgICAgc3RlcDogcHJlLmRvdWJsZXMuc3RlcCxcXG4gICAgICBwb2ludHM6IFsgcmVzIF0uY29uY2F0KHByZS5kb3VibGVzLnBvaW50cy5tYXAob2JqMnBvaW50KSlcXG4gICAgfSxcXG4gICAgbmFmOiBwcmUubmFmICYmIHtcXG4gICAgICB3bmQ6IHByZS5uYWYud25kLFxcbiAgICAgIHBvaW50czogWyByZXMgXS5jb25jYXQocHJlLm5hZi5wb2ludHMubWFwKG9iajJwb2ludCkpXFxuICAgIH1cXG4gIH07XFxuICByZXR1cm4gcmVzO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gJzxFQyBQb2ludCBJbmZpbml0eT4nO1xcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcXG4gICAgICAnIHk6ICcgKyB0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LCAyKSArICc+JztcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5pc0luZmluaXR5ID0gZnVuY3Rpb24gaXNJbmZpbml0eSgpIHtcXG4gIHJldHVybiB0aGlzLmluZjtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQocCkge1xcbiAgLy8gTyArIFAgPSBQXFxuICBpZiAodGhpcy5pbmYpXFxuICAgIHJldHVybiBwO1xcblxcbiAgLy8gUCArIE8gPSBQXFxuICBpZiAocC5pbmYpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gUCArIFAgPSAyUFxcbiAgaWYgKHRoaXMuZXEocCkpXFxuICAgIHJldHVybiB0aGlzLmRibCgpO1xcblxcbiAgLy8gUCArICgtUCkgPSBPXFxuICBpZiAodGhpcy5uZWcoKS5lcShwKSlcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7XFxuXFxuICAvLyBQICsgUSA9IE9cXG4gIGlmICh0aGlzLnguY21wKHAueCkgPT09IDApXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpO1xcblxcbiAgdmFyIGMgPSB0aGlzLnkucmVkU3ViKHAueSk7XFxuICBpZiAoYy5jbXBuKDApICE9PSAwKVxcbiAgICBjID0gYy5yZWRNdWwodGhpcy54LnJlZFN1YihwLngpLnJlZEludm0oKSk7XFxuICB2YXIgbnggPSBjLnJlZFNxcigpLnJlZElTdWIodGhpcy54KS5yZWRJU3ViKHAueCk7XFxuICB2YXIgbnkgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKG54KSkucmVkSVN1Yih0aGlzLnkpO1xcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG55KTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5kYmwgPSBmdW5jdGlvbiBkYmwoKSB7XFxuICBpZiAodGhpcy5pbmYpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gMlAgPSBPXFxuICB2YXIgeXMxID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xcbiAgaWYgKHlzMS5jbXBuKDApID09PSAwKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLCBudWxsKTtcXG5cXG4gIHZhciBhID0gdGhpcy5jdXJ2ZS5hO1xcblxcbiAgdmFyIHgyID0gdGhpcy54LnJlZFNxcigpO1xcbiAgdmFyIGR5aW52ID0geXMxLnJlZEludm0oKTtcXG4gIHZhciBjID0geDIucmVkQWRkKHgyKS5yZWRJQWRkKHgyKS5yZWRJQWRkKGEpLnJlZE11bChkeWludik7XFxuXFxuICB2YXIgbnggPSBjLnJlZFNxcigpLnJlZElTdWIodGhpcy54LnJlZEFkZCh0aGlzLngpKTtcXG4gIHZhciBueSA9IGMucmVkTXVsKHRoaXMueC5yZWRTdWIobngpKS5yZWRJU3ViKHRoaXMueSk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnkpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xcbiAgcmV0dXJuIHRoaXMueC5mcm9tUmVkKCk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZ2V0WSA9IGZ1bmN0aW9uIGdldFkoKSB7XFxuICByZXR1cm4gdGhpcy55LmZyb21SZWQoKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xcbiAgayA9IG5ldyBCTihrLCAxNik7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcbiAgZWxzZSBpZiAodGhpcy5faGFzRG91YmxlcyhrKSlcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX2ZpeGVkTmFmTXVsKHRoaXMsIGspO1xcbiAgZWxzZSBpZiAodGhpcy5jdXJ2ZS5lbmRvKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoWyB0aGlzIF0sIFsgayBdKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWwodGhpcywgayk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubXVsQWRkID0gZnVuY3Rpb24gbXVsQWRkKGsxLCBwMiwgazIpIHtcXG4gIHZhciBwb2ludHMgPSBbIHRoaXMsIHAyIF07XFxuICB2YXIgY29lZmZzID0gWyBrMSwgazIgXTtcXG4gIGlmICh0aGlzLmN1cnZlLmVuZG8pXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChwb2ludHMsIGNvZWZmcyk7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIHBvaW50cywgY29lZmZzLCAyKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5qbXVsQWRkID0gZnVuY3Rpb24gam11bEFkZChrMSwgcDIsIGsyKSB7XFxuICB2YXIgcG9pbnRzID0gWyB0aGlzLCBwMiBdO1xcbiAgdmFyIGNvZWZmcyA9IFsgazEsIGsyIF07XFxuICBpZiAodGhpcy5jdXJ2ZS5lbmRvKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQocG9pbnRzLCBjb2VmZnMsIHRydWUpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLCBwb2ludHMsIGNvZWZmcywgMiwgdHJ1ZSk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcShwKSB7XFxuICByZXR1cm4gdGhpcyA9PT0gcCB8fFxcbiAgICAgICAgIHRoaXMuaW5mID09PSBwLmluZiAmJlxcbiAgICAgICAgICAgICAodGhpcy5pbmYgfHwgdGhpcy54LmNtcChwLngpID09PSAwICYmIHRoaXMueS5jbXAocC55KSA9PT0gMCk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnKF9wcmVjb21wdXRlKSB7XFxuICBpZiAodGhpcy5pbmYpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgdmFyIHJlcyA9IHRoaXMuY3VydmUucG9pbnQodGhpcy54LCB0aGlzLnkucmVkTmVnKCkpO1xcbiAgaWYgKF9wcmVjb21wdXRlICYmIHRoaXMucHJlY29tcHV0ZWQpIHtcXG4gICAgdmFyIHByZSA9IHRoaXMucHJlY29tcHV0ZWQ7XFxuICAgIHZhciBuZWdhdGUgPSBmdW5jdGlvbihwKSB7XFxuICAgICAgcmV0dXJuIHAubmVnKCk7XFxuICAgIH07XFxuICAgIHJlcy5wcmVjb21wdXRlZCA9IHtcXG4gICAgICBuYWY6IHByZS5uYWYgJiYge1xcbiAgICAgICAgd25kOiBwcmUubmFmLnduZCxcXG4gICAgICAgIHBvaW50czogcHJlLm5hZi5wb2ludHMubWFwKG5lZ2F0ZSlcXG4gICAgICB9LFxcbiAgICAgIGRvdWJsZXM6IHByZS5kb3VibGVzICYmIHtcXG4gICAgICAgIHN0ZXA6IHByZS5kb3VibGVzLnN0ZXAsXFxuICAgICAgICBwb2ludHM6IHByZS5kb3VibGVzLnBvaW50cy5tYXAobmVnYXRlKVxcbiAgICAgIH1cXG4gICAgfTtcXG4gIH1cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUudG9KID0gZnVuY3Rpb24gdG9KKCkge1xcbiAgaWYgKHRoaXMuaW5mKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCwgbnVsbCwgbnVsbCk7XFxuXFxuICB2YXIgcmVzID0gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LCB0aGlzLnksIHRoaXMuY3VydmUub25lKTtcXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5mdW5jdGlvbiBKUG9pbnQoY3VydmUsIHgsIHksIHopIHtcXG4gIEJhc2UuQmFzZVBvaW50LmNhbGwodGhpcywgY3VydmUsICdqYWNvYmlhbicpO1xcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XFxuICAgIHRoaXMueCA9IHRoaXMuY3VydmUub25lO1xcbiAgICB0aGlzLnkgPSB0aGlzLmN1cnZlLm9uZTtcXG4gICAgdGhpcy56ID0gbmV3IEJOKDApO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy54ID0gbmV3IEJOKHgsIDE2KTtcXG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcXG4gICAgdGhpcy56ID0gbmV3IEJOKHosIDE2KTtcXG4gIH1cXG4gIGlmICghdGhpcy54LnJlZClcXG4gICAgdGhpcy54ID0gdGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gIGlmICghdGhpcy55LnJlZClcXG4gICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gIGlmICghdGhpcy56LnJlZClcXG4gICAgdGhpcy56ID0gdGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG5cXG4gIHRoaXMuek9uZSA9IHRoaXMueiA9PT0gdGhpcy5jdXJ2ZS5vbmU7XFxufVxcbmluaGVyaXRzKEpQb2ludCwgQmFzZS5CYXNlUG9pbnQpO1xcblxcblNob3J0Q3VydmUucHJvdG90eXBlLmpwb2ludCA9IGZ1bmN0aW9uIGpwb2ludCh4LCB5LCB6KSB7XFxuICByZXR1cm4gbmV3IEpQb2ludCh0aGlzLCB4LCB5LCB6KTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUudG9QID0gZnVuY3Rpb24gdG9QKCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLCBudWxsKTtcXG5cXG4gIHZhciB6aW52ID0gdGhpcy56LnJlZEludm0oKTtcXG4gIHZhciB6aW52MiA9IHppbnYucmVkU3FyKCk7XFxuICB2YXIgYXggPSB0aGlzLngucmVkTXVsKHppbnYyKTtcXG4gIHZhciBheSA9IHRoaXMueS5yZWRNdWwoemludjIpLnJlZE11bCh6aW52KTtcXG5cXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KGF4LCBheSk7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsIHRoaXMueS5yZWROZWcoKSwgdGhpcy56KTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkKHApIHtcXG4gIC8vIE8gKyBQID0gUFxcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gcDtcXG5cXG4gIC8vIFAgKyBPID0gUFxcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIC8vIDEyTSArIDRTICsgN0FcXG4gIHZhciBwejIgPSBwLnoucmVkU3FyKCk7XFxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgdTEgPSB0aGlzLngucmVkTXVsKHB6Mik7XFxuICB2YXIgdTIgPSBwLngucmVkTXVsKHoyKTtcXG4gIHZhciBzMSA9IHRoaXMueS5yZWRNdWwocHoyLnJlZE11bChwLnopKTtcXG4gIHZhciBzMiA9IHAueS5yZWRNdWwoejIucmVkTXVsKHRoaXMueikpO1xcblxcbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xcbiAgdmFyIHIgPSBzMS5yZWRTdWIoczIpO1xcbiAgaWYgKGguY21wbigwKSA9PT0gMCkge1xcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxcbiAgICAgIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gICAgZWxzZVxcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xcbiAgfVxcblxcbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcXG4gIHZhciBoMyA9IGgyLnJlZE11bChoKTtcXG4gIHZhciB2ID0gdTEucmVkTXVsKGgyKTtcXG5cXG4gIHZhciBueCA9IHIucmVkU3FyKCkucmVkSUFkZChoMykucmVkSVN1Yih2KS5yZWRJU3ViKHYpO1xcbiAgdmFyIG55ID0gci5yZWRNdWwodi5yZWRJU3ViKG54KSkucmVkSVN1YihzMS5yZWRNdWwoaDMpKTtcXG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwocC56KS5yZWRNdWwoaCk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLm1peGVkQWRkID0gZnVuY3Rpb24gbWl4ZWRBZGQocCkge1xcbiAgLy8gTyArIFAgPSBQXFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiBwLnRvSigpO1xcblxcbiAgLy8gUCArIE8gPSBQXFxuICBpZiAocC5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gOE0gKyAzUyArIDdBXFxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgdTEgPSB0aGlzLng7XFxuICB2YXIgdTIgPSBwLngucmVkTXVsKHoyKTtcXG4gIHZhciBzMSA9IHRoaXMueTtcXG4gIHZhciBzMiA9IHAueS5yZWRNdWwoejIpLnJlZE11bCh0aGlzLnopO1xcblxcbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xcbiAgdmFyIHIgPSBzMS5yZWRTdWIoczIpO1xcbiAgaWYgKGguY21wbigwKSA9PT0gMCkge1xcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxcbiAgICAgIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gICAgZWxzZVxcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xcbiAgfVxcblxcbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcXG4gIHZhciBoMyA9IGgyLnJlZE11bChoKTtcXG4gIHZhciB2ID0gdTEucmVkTXVsKGgyKTtcXG5cXG4gIHZhciBueCA9IHIucmVkU3FyKCkucmVkSUFkZChoMykucmVkSVN1Yih2KS5yZWRJU3ViKHYpO1xcbiAgdmFyIG55ID0gci5yZWRNdWwodi5yZWRJU3ViKG54KSkucmVkSVN1YihzMS5yZWRNdWwoaDMpKTtcXG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwoaCk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLmRibHAgPSBmdW5jdGlvbiBkYmxwKHBvdykge1xcbiAgaWYgKHBvdyA9PT0gMClcXG4gICAgcmV0dXJuIHRoaXM7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcbiAgaWYgKCFwb3cpXFxuICAgIHJldHVybiB0aGlzLmRibCgpO1xcblxcbiAgaWYgKHRoaXMuY3VydmUuemVyb0EgfHwgdGhpcy5jdXJ2ZS50aHJlZUEpIHtcXG4gICAgdmFyIHIgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBvdzsgaSsrKVxcbiAgICAgIHIgPSByLmRibCgpO1xcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIC8vIDFNICsgMlMgKyAxQSArIE4gKiAoNFMgKyA1TSArIDhBKVxcbiAgLy8gTiA9IDEgPT4gNk0gKyA2UyArIDlBXFxuICB2YXIgYSA9IHRoaXMuY3VydmUuYTtcXG4gIHZhciB0aW52ID0gdGhpcy5jdXJ2ZS50aW52O1xcblxcbiAgdmFyIGp4ID0gdGhpcy54O1xcbiAgdmFyIGp5ID0gdGhpcy55O1xcbiAgdmFyIGp6ID0gdGhpcy56O1xcbiAgdmFyIGp6NCA9IGp6LnJlZFNxcigpLnJlZFNxcigpO1xcblxcbiAgLy8gUmV1c2UgcmVzdWx0c1xcbiAgdmFyIGp5ZCA9IGp5LnJlZEFkZChqeSk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBvdzsgaSsrKSB7XFxuICAgIHZhciBqeDIgPSBqeC5yZWRTcXIoKTtcXG4gICAgdmFyIGp5ZDIgPSBqeWQucmVkU3FyKCk7XFxuICAgIHZhciBqeWQ0ID0ganlkMi5yZWRTcXIoKTtcXG4gICAgdmFyIGMgPSBqeDIucmVkQWRkKGp4MikucmVkSUFkZChqeDIpLnJlZElBZGQoYS5yZWRNdWwoano0KSk7XFxuXFxuICAgIHZhciB0MSA9IGp4LnJlZE11bChqeWQyKTtcXG4gICAgdmFyIG54ID0gYy5yZWRTcXIoKS5yZWRJU3ViKHQxLnJlZEFkZCh0MSkpO1xcbiAgICB2YXIgdDIgPSB0MS5yZWRJU3ViKG54KTtcXG4gICAgdmFyIGRueSA9IGMucmVkTXVsKHQyKTtcXG4gICAgZG55ID0gZG55LnJlZElBZGQoZG55KS5yZWRJU3ViKGp5ZDQpO1xcbiAgICB2YXIgbnogPSBqeWQucmVkTXVsKGp6KTtcXG4gICAgaWYgKGkgKyAxIDwgcG93KVxcbiAgICAgIGp6NCA9IGp6NC5yZWRNdWwoanlkNCk7XFxuXFxuICAgIGp4ID0gbng7XFxuICAgIGp6ID0gbno7XFxuICAgIGp5ZCA9IGRueTtcXG4gIH1cXG5cXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChqeCwganlkLnJlZE11bCh0aW52KSwganopO1xcbn07XFxuXFxuSlBvaW50LnByb3RvdHlwZS5kYmwgPSBmdW5jdGlvbiBkYmwoKSB7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgaWYgKHRoaXMuY3VydmUuemVyb0EpXFxuICAgIHJldHVybiB0aGlzLl96ZXJvRGJsKCk7XFxuICBlbHNlIGlmICh0aGlzLmN1cnZlLnRocmVlQSlcXG4gICAgcmV0dXJuIHRoaXMuX3RocmVlRGJsKCk7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLl9kYmwoKTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuX3plcm9EYmwgPSBmdW5jdGlvbiBfemVyb0RibCgpIHtcXG4gIHZhciBueDtcXG4gIHZhciBueTtcXG4gIHZhciBuejtcXG4gIC8vIFogPSAxXFxuICBpZiAodGhpcy56T25lKSB7XFxuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMC5odG1sXFxuICAgIC8vICAgICAjZG91YmxpbmctbWRibC0yMDA3LWJsXFxuICAgIC8vIDFNICsgNVMgKyAxNEFcXG5cXG4gICAgLy8gWFggPSBYMV4yXFxuICAgIHZhciB4eCA9IHRoaXMueC5yZWRTcXIoKTtcXG4gICAgLy8gWVkgPSBZMV4yXFxuICAgIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gICAgLy8gWVlZWSA9IFlZXjJcXG4gICAgdmFyIHl5eXkgPSB5eS5yZWRTcXIoKTtcXG4gICAgLy8gUyA9IDIgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpXFxuICAgIHZhciBzID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcXG4gICAgcyA9IHMucmVkSUFkZChzKTtcXG4gICAgLy8gTSA9IDMgKiBYWCArIGE7IGEgPSAwXFxuICAgIHZhciBtID0geHgucmVkQWRkKHh4KS5yZWRJQWRkKHh4KTtcXG4gICAgLy8gVCA9IE0gXiAyIC0gMipTXFxuICAgIHZhciB0ID0gbS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7XFxuXFxuICAgIC8vIDggKiBZWVlZXFxuICAgIHZhciB5eXl5OCA9IHl5eXkucmVkSUFkZCh5eXl5KTtcXG4gICAgeXl5eTggPSB5eXl5OC5yZWRJQWRkKHl5eXk4KTtcXG4gICAgeXl5eTggPSB5eXl5OC5yZWRJQWRkKHl5eXk4KTtcXG5cXG4gICAgLy8gWDMgPSBUXFxuICAgIG54ID0gdDtcXG4gICAgLy8gWTMgPSBNICogKFMgLSBUKSAtIDggKiBZWVlZXFxuICAgIG55ID0gbS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtcXG4gICAgLy8gWjMgPSAyKlkxXFxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy1qYWNvYmlhbi0wLmh0bWxcXG4gICAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOS1sXFxuICAgIC8vIDJNICsgNVMgKyAxM0FcXG5cXG4gICAgLy8gQSA9IFgxXjJcXG4gICAgdmFyIGEgPSB0aGlzLngucmVkU3FyKCk7XFxuICAgIC8vIEIgPSBZMV4yXFxuICAgIHZhciBiID0gdGhpcy55LnJlZFNxcigpO1xcbiAgICAvLyBDID0gQl4yXFxuICAgIHZhciBjID0gYi5yZWRTcXIoKTtcXG4gICAgLy8gRCA9IDIgKiAoKFgxICsgQileMiAtIEEgLSBDKVxcbiAgICB2YXIgZCA9IHRoaXMueC5yZWRBZGQoYikucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGMpO1xcbiAgICBkID0gZC5yZWRJQWRkKGQpO1xcbiAgICAvLyBFID0gMyAqIEFcXG4gICAgdmFyIGUgPSBhLnJlZEFkZChhKS5yZWRJQWRkKGEpO1xcbiAgICAvLyBGID0gRV4yXFxuICAgIHZhciBmID0gZS5yZWRTcXIoKTtcXG5cXG4gICAgLy8gOCAqIENcXG4gICAgdmFyIGM4ID0gYy5yZWRJQWRkKGMpO1xcbiAgICBjOCA9IGM4LnJlZElBZGQoYzgpO1xcbiAgICBjOCA9IGM4LnJlZElBZGQoYzgpO1xcblxcbiAgICAvLyBYMyA9IEYgLSAyICogRFxcbiAgICBueCA9IGYucmVkSVN1YihkKS5yZWRJU3ViKGQpO1xcbiAgICAvLyBZMyA9IEUgKiAoRCAtIFgzKSAtIDggKiBDXFxuICAgIG55ID0gZS5yZWRNdWwoZC5yZWRJU3ViKG54KSkucmVkSVN1YihjOCk7XFxuICAgIC8vIFozID0gMiAqIFkxICogWjFcXG4gICAgbnogPSB0aGlzLnkucmVkTXVsKHRoaXMueik7XFxuICAgIG56ID0gbnoucmVkSUFkZChueik7XFxuICB9XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLl90aHJlZURibCA9IGZ1bmN0aW9uIF90aHJlZURibCgpIHtcXG4gIHZhciBueDtcXG4gIHZhciBueTtcXG4gIHZhciBuejtcXG4gIC8vIFogPSAxXFxuICBpZiAodGhpcy56T25lKSB7XFxuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMy5odG1sXFxuICAgIC8vICAgICAjZG91YmxpbmctbWRibC0yMDA3LWJsXFxuICAgIC8vIDFNICsgNVMgKyAxNUFcXG5cXG4gICAgLy8gWFggPSBYMV4yXFxuICAgIHZhciB4eCA9IHRoaXMueC5yZWRTcXIoKTtcXG4gICAgLy8gWVkgPSBZMV4yXFxuICAgIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gICAgLy8gWVlZWSA9IFlZXjJcXG4gICAgdmFyIHl5eXkgPSB5eS5yZWRTcXIoKTtcXG4gICAgLy8gUyA9IDIgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpXFxuICAgIHZhciBzID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcXG4gICAgcyA9IHMucmVkSUFkZChzKTtcXG4gICAgLy8gTSA9IDMgKiBYWCArIGFcXG4gICAgdmFyIG0gPSB4eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpLnJlZElBZGQodGhpcy5jdXJ2ZS5hKTtcXG4gICAgLy8gVCA9IE1eMiAtIDIgKiBTXFxuICAgIHZhciB0ID0gbS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7XFxuICAgIC8vIFgzID0gVFxcbiAgICBueCA9IHQ7XFxuICAgIC8vIFkzID0gTSAqIChTIC0gVCkgLSA4ICogWVlZWVxcbiAgICB2YXIgeXl5eTggPSB5eXl5LnJlZElBZGQoeXl5eSk7XFxuICAgIHl5eXk4ID0geXl5eTgucmVkSUFkZCh5eXl5OCk7XFxuICAgIHl5eXk4ID0geXl5eTgucmVkSUFkZCh5eXl5OCk7XFxuICAgIG55ID0gbS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtcXG4gICAgLy8gWjMgPSAyICogWTFcXG4gICAgbnogPSB0aGlzLnkucmVkQWRkKHRoaXMueSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTMuaHRtbCNkb3VibGluZy1kYmwtMjAwMS1iXFxuICAgIC8vIDNNICsgNVNcXG5cXG4gICAgLy8gZGVsdGEgPSBaMV4yXFxuICAgIHZhciBkZWx0YSA9IHRoaXMuei5yZWRTcXIoKTtcXG4gICAgLy8gZ2FtbWEgPSBZMV4yXFxuICAgIHZhciBnYW1tYSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gICAgLy8gYmV0YSA9IFgxICogZ2FtbWFcXG4gICAgdmFyIGJldGEgPSB0aGlzLngucmVkTXVsKGdhbW1hKTtcXG4gICAgLy8gYWxwaGEgPSAzICogKFgxIC0gZGVsdGEpICogKFgxICsgZGVsdGEpXFxuICAgIHZhciBhbHBoYSA9IHRoaXMueC5yZWRTdWIoZGVsdGEpLnJlZE11bCh0aGlzLngucmVkQWRkKGRlbHRhKSk7XFxuICAgIGFscGhhID0gYWxwaGEucmVkQWRkKGFscGhhKS5yZWRJQWRkKGFscGhhKTtcXG4gICAgLy8gWDMgPSBhbHBoYV4yIC0gOCAqIGJldGFcXG4gICAgdmFyIGJldGE0ID0gYmV0YS5yZWRJQWRkKGJldGEpO1xcbiAgICBiZXRhNCA9IGJldGE0LnJlZElBZGQoYmV0YTQpO1xcbiAgICB2YXIgYmV0YTggPSBiZXRhNC5yZWRBZGQoYmV0YTQpO1xcbiAgICBueCA9IGFscGhhLnJlZFNxcigpLnJlZElTdWIoYmV0YTgpO1xcbiAgICAvLyBaMyA9IChZMSArIFoxKV4yIC0gZ2FtbWEgLSBkZWx0YVxcbiAgICBueiA9IHRoaXMueS5yZWRBZGQodGhpcy56KS5yZWRTcXIoKS5yZWRJU3ViKGdhbW1hKS5yZWRJU3ViKGRlbHRhKTtcXG4gICAgLy8gWTMgPSBhbHBoYSAqICg0ICogYmV0YSAtIFgzKSAtIDggKiBnYW1tYV4yXFxuICAgIHZhciBnZ2FtbWE4ID0gZ2FtbWEucmVkU3FyKCk7XFxuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XFxuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XFxuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XFxuICAgIG55ID0gYWxwaGEucmVkTXVsKGJldGE0LnJlZElTdWIobngpKS5yZWRJU3ViKGdnYW1tYTgpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xcbn07XFxuXFxuSlBvaW50LnByb3RvdHlwZS5fZGJsID0gZnVuY3Rpb24gX2RibCgpIHtcXG4gIHZhciBhID0gdGhpcy5jdXJ2ZS5hO1xcblxcbiAgLy8gNE0gKyA2UyArIDEwQVxcbiAgdmFyIGp4ID0gdGhpcy54O1xcbiAgdmFyIGp5ID0gdGhpcy55O1xcbiAgdmFyIGp6ID0gdGhpcy56O1xcbiAgdmFyIGp6NCA9IGp6LnJlZFNxcigpLnJlZFNxcigpO1xcblxcbiAgdmFyIGp4MiA9IGp4LnJlZFNxcigpO1xcbiAgdmFyIGp5MiA9IGp5LnJlZFNxcigpO1xcblxcbiAgdmFyIGMgPSBqeDIucmVkQWRkKGp4MikucmVkSUFkZChqeDIpLnJlZElBZGQoYS5yZWRNdWwoano0KSk7XFxuXFxuICB2YXIganhkNCA9IGp4LnJlZEFkZChqeCk7XFxuICBqeGQ0ID0ganhkNC5yZWRJQWRkKGp4ZDQpO1xcbiAgdmFyIHQxID0ganhkNC5yZWRNdWwoankyKTtcXG4gIHZhciBueCA9IGMucmVkU3FyKCkucmVkSVN1Yih0MS5yZWRBZGQodDEpKTtcXG4gIHZhciB0MiA9IHQxLnJlZElTdWIobngpO1xcblxcbiAgdmFyIGp5ZDggPSBqeTIucmVkU3FyKCk7XFxuICBqeWQ4ID0ganlkOC5yZWRJQWRkKGp5ZDgpO1xcbiAganlkOCA9IGp5ZDgucmVkSUFkZChqeWQ4KTtcXG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XFxuICB2YXIgbnkgPSBjLnJlZE11bCh0MikucmVkSVN1YihqeWQ4KTtcXG4gIHZhciBueiA9IGp5LnJlZEFkZChqeSkucmVkTXVsKGp6KTtcXG5cXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCwgbnksIG56KTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUudHJwbCA9IGZ1bmN0aW9uIHRycGwoKSB7XFxuICBpZiAoIXRoaXMuY3VydmUuemVyb0EpXFxuICAgIHJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTtcXG5cXG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMC5odG1sI3RyaXBsaW5nLXRwbC0yMDA3LWJsXFxuICAvLyA1TSArIDEwUyArIC4uLlxcblxcbiAgLy8gWFggPSBYMV4yXFxuICB2YXIgeHggPSB0aGlzLngucmVkU3FyKCk7XFxuICAvLyBZWSA9IFkxXjJcXG4gIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gIC8vIFpaID0gWjFeMlxcbiAgdmFyIHp6ID0gdGhpcy56LnJlZFNxcigpO1xcbiAgLy8gWVlZWSA9IFlZXjJcXG4gIHZhciB5eXl5ID0geXkucmVkU3FyKCk7XFxuICAvLyBNID0gMyAqIFhYICsgYSAqIFpaMjsgYSA9IDBcXG4gIHZhciBtID0geHgucmVkQWRkKHh4KS5yZWRJQWRkKHh4KTtcXG4gIC8vIE1NID0gTV4yXFxuICB2YXIgbW0gPSBtLnJlZFNxcigpO1xcbiAgLy8gRSA9IDYgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpIC0gTU1cXG4gIHZhciBlID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcXG4gIGUgPSBlLnJlZElBZGQoZSk7XFxuICBlID0gZS5yZWRBZGQoZSkucmVkSUFkZChlKTtcXG4gIGUgPSBlLnJlZElTdWIobW0pO1xcbiAgLy8gRUUgPSBFXjJcXG4gIHZhciBlZSA9IGUucmVkU3FyKCk7XFxuICAvLyBUID0gMTYqWVlZWVxcbiAgdmFyIHQgPSB5eXl5LnJlZElBZGQoeXl5eSk7XFxuICB0ID0gdC5yZWRJQWRkKHQpO1xcbiAgdCA9IHQucmVkSUFkZCh0KTtcXG4gIHQgPSB0LnJlZElBZGQodCk7XFxuICAvLyBVID0gKE0gKyBFKV4yIC0gTU0gLSBFRSAtIFRcXG4gIHZhciB1ID0gbS5yZWRJQWRkKGUpLnJlZFNxcigpLnJlZElTdWIobW0pLnJlZElTdWIoZWUpLnJlZElTdWIodCk7XFxuICAvLyBYMyA9IDQgKiAoWDEgKiBFRSAtIDQgKiBZWSAqIFUpXFxuICB2YXIgeXl1NCA9IHl5LnJlZE11bCh1KTtcXG4gIHl5dTQgPSB5eXU0LnJlZElBZGQoeXl1NCk7XFxuICB5eXU0ID0geXl1NC5yZWRJQWRkKHl5dTQpO1xcbiAgdmFyIG54ID0gdGhpcy54LnJlZE11bChlZSkucmVkSVN1Yih5eXU0KTtcXG4gIG54ID0gbngucmVkSUFkZChueCk7XFxuICBueCA9IG54LnJlZElBZGQobngpO1xcbiAgLy8gWTMgPSA4ICogWTEgKiAoVSAqIChUIC0gVSkgLSBFICogRUUpXFxuICB2YXIgbnkgPSB0aGlzLnkucmVkTXVsKHUucmVkTXVsKHQucmVkSVN1Yih1KSkucmVkSVN1YihlLnJlZE11bChlZSkpKTtcXG4gIG55ID0gbnkucmVkSUFkZChueSk7XFxuICBueSA9IG55LnJlZElBZGQobnkpO1xcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcXG4gIC8vIFozID0gKFoxICsgRSleMiAtIFpaIC0gRUVcXG4gIHZhciBueiA9IHRoaXMuei5yZWRBZGQoZSkucmVkU3FyKCkucmVkSVN1Yih6eikucmVkSVN1YihlZSk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bChrLCBrYmFzZSkge1xcbiAgayA9IG5ldyBCTihrLCBrYmFzZSk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLCBrKTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcShwKSB7XFxuICBpZiAocC50eXBlID09PSAnYWZmaW5lJylcXG4gICAgcmV0dXJuIHRoaXMuZXEocC50b0ooKSk7XFxuXFxuICBpZiAodGhpcyA9PT0gcClcXG4gICAgcmV0dXJuIHRydWU7XFxuXFxuICAvLyB4MSAqIHoyXjIgPT0geDIgKiB6MV4yXFxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgcHoyID0gcC56LnJlZFNxcigpO1xcbiAgaWYgKHRoaXMueC5yZWRNdWwocHoyKS5yZWRJU3ViKHAueC5yZWRNdWwoejIpKS5jbXBuKDApICE9PSAwKVxcbiAgICByZXR1cm4gZmFsc2U7XFxuXFxuICAvLyB5MSAqIHoyXjMgPT0geTIgKiB6MV4zXFxuICB2YXIgejMgPSB6Mi5yZWRNdWwodGhpcy56KTtcXG4gIHZhciBwejMgPSBwejIucmVkTXVsKHAueik7XFxuICByZXR1cm4gdGhpcy55LnJlZE11bChwejMpLnJlZElTdWIocC55LnJlZE11bCh6MykpLmNtcG4oMCkgPT09IDA7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLmVxWFRvUCA9IGZ1bmN0aW9uIGVxWFRvUCh4KSB7XFxuICB2YXIgenMgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgcnggPSB4LnRvUmVkKHRoaXMuY3VydmUucmVkKS5yZWRNdWwoenMpO1xcbiAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxcbiAgICByZXR1cm4gdHJ1ZTtcXG5cXG4gIHZhciB4YyA9IHguY2xvbmUoKTtcXG4gIHZhciB0ID0gdGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh6cyk7XFxuICBmb3IgKDs7KSB7XFxuICAgIHhjLmlhZGQodGhpcy5jdXJ2ZS5uKTtcXG4gICAgaWYgKHhjLmNtcCh0aGlzLmN1cnZlLnApID49IDApXFxuICAgICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgICByeC5yZWRJQWRkKHQpO1xcbiAgICBpZiAodGhpcy54LmNtcChyeCkgPT09IDApXFxuICAgICAgcmV0dXJuIHRydWU7XFxuICB9XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gJzxFQyBKUG9pbnQgSW5maW5pdHk+JztcXG4gIHJldHVybiAnPEVDIEpQb2ludCB4OiAnICsgdGhpcy54LnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB5OiAnICsgdGhpcy55LnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB6OiAnICsgdGhpcy56LnRvU3RyaW5nKDE2LCAyKSArICc+JztcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XFxuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxcbiAgcmV0dXJuIHRoaXMuei5jbXBuKDApID09PSAwO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2YzJodmNuUXVhbk0vTlROaE1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc0swUkJRVlU3UVVGRE9VSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExHMUZRVUZQTzBGQlEzaENMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhYUVVGWExHMUNRVUZQTEVOQlFVTXNhMFZCUVZFN08wRkJSVE5DT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc01rUkJRVEpFTzBGQlF6TkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTEdWQlFXVTdRVUZEY0VJc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEcxQ1FVRnRRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUWtGQmFVSXNWMEZCVnp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1UwRkJVenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UWtGQmMwSTdRVUZEZEVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d3UWtGQk1FSTdRVUZETVVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdmMyaHZjblF1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dUwzVjBhV3h6SnlrN1hHNTJZWElnUWs0Z1BTQnlaWEYxYVhKbEtDZGliaTVxY3ljcE8xeHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktUdGNiblpoY2lCQ1lYTmxJRDBnY21WeGRXbHlaU2duTGk5aVlYTmxKeWs3WEc1Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRk5vYjNKMFEzVnlkbVVvWTI5dVppa2dlMXh1SUNCQ1lYTmxMbU5oYkd3b2RHaHBjeXdnSjNOb2IzSjBKeXdnWTI5dVppazdYRzVjYmlBZ2RHaHBjeTVoSUQwZ2JtVjNJRUpPS0dOdmJtWXVZU3dnTVRZcExuUnZVbVZrS0hSb2FYTXVjbVZrS1R0Y2JpQWdkR2hwY3k1aUlEMGdibVYzSUVKT0tHTnZibVl1WWl3Z01UWXBMblJ2VW1Wa0tIUm9hWE11Y21Wa0tUdGNiaUFnZEdocGN5NTBhVzUySUQwZ2RHaHBjeTUwZDI4dWNtVmtTVzUyYlNncE8xeHVYRzRnSUhSb2FYTXVlbVZ5YjBFZ1BTQjBhR2x6TG1FdVpuSnZiVkpsWkNncExtTnRjRzRvTUNrZ1BUMDlJREE3WEc0Z0lIUm9hWE11ZEdoeVpXVkJJRDBnZEdocGN5NWhMbVp5YjIxU1pXUW9LUzV6ZFdJb2RHaHBjeTV3S1M1amJYQnVLQzB6S1NBOVBUMGdNRHRjYmx4dUlDQXZMeUJKWmlCMGFHVWdZM1Z5ZG1VZ2FYTWdaVzVrYjIxdmNuQm9hV01zSUhCeVpXTmhiR04xYkdGMFpTQmlaWFJoSUdGdVpDQnNZVzFpWkdGY2JpQWdkR2hwY3k1bGJtUnZJRDBnZEdocGN5NWZaMlYwUlc1a2IyMXZjbkJvYVhOdEtHTnZibVlwTzF4dUlDQjBhR2x6TGw5bGJtUnZWMjVoWmxReElEMGdibVYzSUVGeWNtRjVLRFFwTzF4dUlDQjBhR2x6TGw5bGJtUnZWMjVoWmxReUlEMGdibVYzSUVGeWNtRjVLRFFwTzF4dWZWeHVhVzVvWlhKcGRITW9VMmh2Y25SRGRYSjJaU3dnUW1GelpTazdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRk5vYjNKMFEzVnlkbVU3WEc1Y2JsTm9iM0owUTNWeWRtVXVjSEp2ZEc5MGVYQmxMbDluWlhSRmJtUnZiVzl5Y0docGMyMGdQU0JtZFc1amRHbHZiaUJmWjJWMFJXNWtiMjF2Y25Cb2FYTnRLR052Ym1ZcElIdGNiaUFnTHk4Z1RtOGdaV1ptYVdOcFpXNTBJR1Z1Wkc5dGIzSndhR2x6YlZ4dUlDQnBaaUFvSVhSb2FYTXVlbVZ5YjBFZ2ZId2dJWFJvYVhNdVp5QjhmQ0FoZEdocGN5NXVJSHg4SUhSb2FYTXVjQzV0YjJSdUtETXBJQ0U5UFNBeEtWeHVJQ0FnSUhKbGRIVnlianRjYmx4dUlDQXZMeUJEYjIxd2RYUmxJR0psZEdFZ1lXNWtJR3hoYldKa1lTd2dkR2hoZENCc1lXMWlaR0VnS2lCUUlEMGdLR0psZEdFZ0tpQlFlRHNnVUhrcFhHNGdJSFpoY2lCaVpYUmhPMXh1SUNCMllYSWdiR0Z0WW1SaE8xeHVJQ0JwWmlBb1kyOXVaaTVpWlhSaEtTQjdYRzRnSUNBZ1ltVjBZU0E5SUc1bGR5QkNUaWhqYjI1bUxtSmxkR0VzSURFMktTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJR0psZEdGeklEMGdkR2hwY3k1ZloyVjBSVzVrYjFKdmIzUnpLSFJvYVhNdWNDazdYRzRnSUNBZ0x5OGdRMmh2YjNObElIUm9aU0J6YldGc2JHVnpkQ0JpWlhSaFhHNGdJQ0FnWW1WMFlTQTlJR0psZEdGeld6QmRMbU50Y0NoaVpYUmhjMXN4WFNrZ1BDQXdJRDhnWW1WMFlYTmJNRjBnT2lCaVpYUmhjMXN4WFR0Y2JpQWdJQ0JpWlhSaElEMGdZbVYwWVM1MGIxSmxaQ2gwYUdsekxuSmxaQ2s3WEc0Z0lIMWNiaUFnYVdZZ0tHTnZibVl1YkdGdFltUmhLU0I3WEc0Z0lDQWdiR0Z0WW1SaElEMGdibVYzSUVKT0tHTnZibVl1YkdGdFltUmhMQ0F4TmlrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdRMmh2YjNObElIUm9aU0JzWVcxaVpHRWdkR2hoZENCcGN5QnRZWFJqYUdsdVp5QnpaV3hsWTNSbFpDQmlaWFJoWEc0Z0lDQWdkbUZ5SUd4aGJXSmtZWE1nUFNCMGFHbHpMbDluWlhSRmJtUnZVbTl2ZEhNb2RHaHBjeTV1S1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVuTG0xMWJDaHNZVzFpWkdGeld6QmRLUzU0TG1OdGNDaDBhR2x6TG1jdWVDNXlaV1JOZFd3b1ltVjBZU2twSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0JzWVcxaVpHRWdQU0JzWVcxaVpHRnpXekJkTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnNZVzFpWkdFZ1BTQnNZVzFpWkdGeld6RmRPMXh1SUNBZ0lDQWdZWE56WlhKMEtIUm9hWE11Wnk1dGRXd29iR0Z0WW1SaEtTNTRMbU50Y0NoMGFHbHpMbWN1ZUM1eVpXUk5kV3dvWW1WMFlTa3BJRDA5UFNBd0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZMeUJIWlhRZ1ltRnphWE1nZG1WamRHOXljeXdnZFhObFpDQm1iM0lnWW1Gc1lXNWpaV1FnYkdWdVozUm9MWFIzYnlCeVpYQnlaWE5sYm5SaGRHbHZibHh1SUNCMllYSWdZbUZ6YVhNN1hHNGdJR2xtSUNoamIyNW1MbUpoYzJsektTQjdYRzRnSUNBZ1ltRnphWE1nUFNCamIyNW1MbUpoYzJsekxtMWhjQ2htZFc1amRHbHZiaWgyWldNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHRTZJRzVsZHlCQ1RpaDJaV011WVN3Z01UWXBMRnh1SUNBZ0lDQWdJQ0JpT2lCdVpYY2dRazRvZG1WakxtSXNJREUyS1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCaVlYTnBjeUE5SUhSb2FYTXVYMmRsZEVWdVpHOUNZWE5wY3loc1lXMWlaR0VwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0JpWlhSaE9pQmlaWFJoTEZ4dUlDQWdJR3hoYldKa1lUb2diR0Z0WW1SaExGeHVJQ0FnSUdKaGMybHpPaUJpWVhOcGMxeHVJQ0I5TzF4dWZUdGNibHh1VTJodmNuUkRkWEoyWlM1d2NtOTBiM1I1Y0dVdVgyZGxkRVZ1Wkc5U2IyOTBjeUE5SUdaMWJtTjBhVzl1SUY5blpYUkZibVJ2VW05dmRITW9iblZ0S1NCN1hHNGdJQzh2SUVacGJtUWdjbTl2ZEhNZ2IyWWdabTl5SUhoZU1pQXJJSGdnS3lBeElHbHVJRVpjYmlBZ0x5OGdVbTl2ZENBOUlDZ3RNU0FyTFNCVGNYSjBLQzB6S1NrZ0x5QXlYRzRnSUM4dlhHNGdJSFpoY2lCeVpXUWdQU0J1ZFcwZ1BUMDlJSFJvYVhNdWNDQS9JSFJvYVhNdWNtVmtJRG9nUWs0dWJXOXVkQ2h1ZFcwcE8xeHVJQ0IyWVhJZ2RHbHVkaUE5SUc1bGR5QkNUaWd5S1M1MGIxSmxaQ2h5WldRcExuSmxaRWx1ZG0wb0tUdGNiaUFnZG1GeUlHNTBhVzUySUQwZ2RHbHVkaTV5WldST1pXY29LVHRjYmx4dUlDQjJZWElnY3lBOUlHNWxkeUJDVGlnektTNTBiMUpsWkNoeVpXUXBMbkpsWkU1bFp5Z3BMbkpsWkZOeGNuUW9LUzV5WldSTmRXd29kR2x1ZGlrN1hHNWNiaUFnZG1GeUlHd3hJRDBnYm5ScGJuWXVjbVZrUVdSa0tITXBMbVp5YjIxU1pXUW9LVHRjYmlBZ2RtRnlJR3d5SUQwZ2JuUnBibll1Y21Wa1UzVmlLSE1wTG1aeWIyMVNaV1FvS1R0Y2JpQWdjbVYwZFhKdUlGc2diREVzSUd3eUlGMDdYRzU5TzF4dVhHNVRhRzl5ZEVOMWNuWmxMbkJ5YjNSdmRIbHdaUzVmWjJWMFJXNWtiMEpoYzJseklEMGdablZ1WTNScGIyNGdYMmRsZEVWdVpHOUNZWE5wY3loc1lXMWlaR0VwSUh0Y2JpQWdMeThnWVhCeWVGTnhjblFnUGowZ2MzRnlkQ2gwYUdsekxtNHBYRzRnSUhaaGNpQmhjSEo0VTNGeWRDQTlJSFJvYVhNdWJpNTFjMmh5YmloTllYUm9MbVpzYjI5eUtIUm9hWE11Ymk1aWFYUk1aVzVuZEdnb0tTQXZJRElwS1R0Y2JseHVJQ0F2THlBekxqYzBYRzRnSUM4dklGSjFiaUJGUjBORUxDQjFiblJwYkNCeUtFd2dLeUF4S1NBOElHRndjbmhUY1hKMFhHNGdJSFpoY2lCMUlEMGdiR0Z0WW1SaE8xeHVJQ0IyWVhJZ2RpQTlJSFJvYVhNdWJpNWpiRzl1WlNncE8xeHVJQ0IyWVhJZ2VERWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lIWmhjaUI1TVNBOUlHNWxkeUJDVGlnd0tUdGNiaUFnZG1GeUlIZ3lJRDBnYm1WM0lFSk9LREFwTzF4dUlDQjJZWElnZVRJZ1BTQnVaWGNnUWs0b01TazdYRzVjYmlBZ0x5OGdUazlVUlRvZ1lXeHNJSFpsWTNSdmNuTWdZWEpsSUhKdmIzUnpJRzltT2lCaElDc2dZaUFxSUd4aGJXSmtZU0E5SURBZ0tHMXZaQ0J1S1Z4dUlDQjJZWElnWVRBN1hHNGdJSFpoY2lCaU1EdGNiaUFnTHk4Z1JtbHljM1FnZG1WamRHOXlYRzRnSUhaaGNpQmhNVHRjYmlBZ2RtRnlJR0l4TzF4dUlDQXZMeUJUWldOdmJtUWdkbVZqZEc5eVhHNGdJSFpoY2lCaE1qdGNiaUFnZG1GeUlHSXlPMXh1WEc0Z0lIWmhjaUJ3Y21WMlVqdGNiaUFnZG1GeUlHa2dQU0F3TzF4dUlDQjJZWElnY2p0Y2JpQWdkbUZ5SUhnN1hHNGdJSGRvYVd4bElDaDFMbU50Y0c0b01Da2dJVDA5SURBcElIdGNiaUFnSUNCMllYSWdjU0E5SUhZdVpHbDJLSFVwTzF4dUlDQWdJSElnUFNCMkxuTjFZaWh4TG0xMWJDaDFLU2s3WEc0Z0lDQWdlQ0E5SUhneUxuTjFZaWh4TG0xMWJDaDRNU2twTzF4dUlDQWdJSFpoY2lCNUlEMGdlVEl1YzNWaUtIRXViWFZzS0hreEtTazdYRzVjYmlBZ0lDQnBaaUFvSVdFeElDWW1JSEl1WTIxd0tHRndjbmhUY1hKMEtTQThJREFwSUh0Y2JpQWdJQ0FnSUdFd0lEMGdjSEpsZGxJdWJtVm5LQ2s3WEc0Z0lDQWdJQ0JpTUNBOUlIZ3hPMXh1SUNBZ0lDQWdZVEVnUFNCeUxtNWxaeWdwTzF4dUlDQWdJQ0FnWWpFZ1BTQjRPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZVEVnSmlZZ0t5dHBJRDA5UFNBeUtTQjdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpsZGxJZ1BTQnlPMXh1WEc0Z0lDQWdkaUE5SUhVN1hHNGdJQ0FnZFNBOUlISTdYRzRnSUNBZ2VESWdQU0I0TVR0Y2JpQWdJQ0I0TVNBOUlIZzdYRzRnSUNBZ2VUSWdQU0I1TVR0Y2JpQWdJQ0I1TVNBOUlIazdYRzRnSUgxY2JpQWdZVElnUFNCeUxtNWxaeWdwTzF4dUlDQmlNaUE5SUhnN1hHNWNiaUFnZG1GeUlHeGxiakVnUFNCaE1TNXpjWElvS1M1aFpHUW9ZakV1YzNGeUtDa3BPMXh1SUNCMllYSWdiR1Z1TWlBOUlHRXlMbk54Y2lncExtRmtaQ2hpTWk1emNYSW9LU2s3WEc0Z0lHbG1JQ2hzWlc0eUxtTnRjQ2hzWlc0eEtTQStQU0F3S1NCN1hHNGdJQ0FnWVRJZ1BTQmhNRHRjYmlBZ0lDQmlNaUE5SUdJd08xeHVJQ0I5WEc1Y2JpQWdMeThnVG05eWJXRnNhWHBsSUhOcFoyNXpYRzRnSUdsbUlDaGhNUzV1WldkaGRHbDJaU2tnZTF4dUlDQWdJR0V4SUQwZ1lURXVibVZuS0NrN1hHNGdJQ0FnWWpFZ1BTQmlNUzV1Wldjb0tUdGNiaUFnZlZ4dUlDQnBaaUFvWVRJdWJtVm5ZWFJwZG1VcElIdGNiaUFnSUNCaE1pQTlJR0V5TG01bFp5Z3BPMXh1SUNBZ0lHSXlJRDBnWWpJdWJtVm5LQ2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnVzF4dUlDQWdJSHNnWVRvZ1lURXNJR0k2SUdJeElIMHNYRzRnSUNBZ2V5QmhPaUJoTWl3Z1lqb2dZaklnZlZ4dUlDQmRPMXh1ZlR0Y2JseHVVMmh2Y25SRGRYSjJaUzV3Y205MGIzUjVjR1V1WDJWdVpHOVRjR3hwZENBOUlHWjFibU4wYVc5dUlGOWxibVJ2VTNCc2FYUW9heWtnZTF4dUlDQjJZWElnWW1GemFYTWdQU0IwYUdsekxtVnVaRzh1WW1GemFYTTdYRzRnSUhaaGNpQjJNU0E5SUdKaGMybHpXekJkTzF4dUlDQjJZWElnZGpJZ1BTQmlZWE5wYzFzeFhUdGNibHh1SUNCMllYSWdZekVnUFNCMk1pNWlMbTExYkNocktTNWthWFpTYjNWdVpDaDBhR2x6TG00cE8xeHVJQ0IyWVhJZ1l6SWdQU0IyTVM1aUxtNWxaeWdwTG0xMWJDaHJLUzVrYVhaU2IzVnVaQ2gwYUdsekxtNHBPMXh1WEc0Z0lIWmhjaUJ3TVNBOUlHTXhMbTExYkNoMk1TNWhLVHRjYmlBZ2RtRnlJSEF5SUQwZ1l6SXViWFZzS0hZeUxtRXBPMXh1SUNCMllYSWdjVEVnUFNCak1TNXRkV3dvZGpFdVlpazdYRzRnSUhaaGNpQnhNaUE5SUdNeUxtMTFiQ2gyTWk1aUtUdGNibHh1SUNBdkx5QkRZV3hqZFd4aGRHVWdZVzV6ZDJWeVhHNGdJSFpoY2lCck1TQTlJR3N1YzNWaUtIQXhLUzV6ZFdJb2NESXBPMXh1SUNCMllYSWdheklnUFNCeE1TNWhaR1FvY1RJcExtNWxaeWdwTzF4dUlDQnlaWFIxY200Z2V5QnJNVG9nYXpFc0lHc3lPaUJyTWlCOU8xeHVmVHRjYmx4dVUyaHZjblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVjRzlwYm5SR2NtOXRXQ0E5SUdaMWJtTjBhVzl1SUhCdmFXNTBSbkp2YlZnb2VDd2diMlJrS1NCN1hHNGdJSGdnUFNCdVpYY2dRazRvZUN3Z01UWXBPMXh1SUNCcFppQW9JWGd1Y21Wa0tWeHVJQ0FnSUhnZ1BTQjRMblJ2VW1Wa0tIUm9hWE11Y21Wa0tUdGNibHh1SUNCMllYSWdlVElnUFNCNExuSmxaRk54Y2lncExuSmxaRTExYkNoNEtTNXlaV1JKUVdSa0tIZ3VjbVZrVFhWc0tIUm9hWE11WVNrcExuSmxaRWxCWkdRb2RHaHBjeTVpS1R0Y2JpQWdkbUZ5SUhrZ1BTQjVNaTV5WldSVGNYSjBLQ2s3WEc0Z0lHbG1JQ2g1TG5KbFpGTnhjaWdwTG5KbFpGTjFZaWg1TWlrdVkyMXdLSFJvYVhNdWVtVnlieWtnSVQwOUlEQXBYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkcGJuWmhiR2xrSUhCdmFXNTBKeWs3WEc1Y2JpQWdMeThnV0ZoWUlFbHpJSFJvWlhKbElHRnVlU0IzWVhrZ2RHOGdkR1ZzYkNCcFppQjBhR1VnYm5WdFltVnlJR2x6SUc5a1pDQjNhWFJvYjNWMElHTnZiblpsY25ScGJtY2dhWFJjYmlBZ0x5OGdkRzhnYm05dUxYSmxaQ0JtYjNKdFAxeHVJQ0IyWVhJZ2FYTlBaR1FnUFNCNUxtWnliMjFTWldRb0tTNXBjMDlrWkNncE8xeHVJQ0JwWmlBb2IyUmtJQ1ltSUNGcGMwOWtaQ0I4ZkNBaGIyUmtJQ1ltSUdselQyUmtLVnh1SUNBZ0lIa2dQU0I1TG5KbFpFNWxaeWdwTzF4dVhHNGdJSEpsZEhWeWJpQjBhR2x6TG5CdmFXNTBLSGdzSUhrcE8xeHVmVHRjYmx4dVUyaHZjblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVkbUZzYVdSaGRHVWdQU0JtZFc1amRHbHZiaUIyWVd4cFpHRjBaU2h3YjJsdWRDa2dlMXh1SUNCcFppQW9jRzlwYm5RdWFXNW1LVnh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1WEc0Z0lIWmhjaUI0SUQwZ2NHOXBiblF1ZUR0Y2JpQWdkbUZ5SUhrZ1BTQndiMmx1ZEM1NU8xeHVYRzRnSUhaaGNpQmhlQ0E5SUhSb2FYTXVZUzV5WldSTmRXd29lQ2s3WEc0Z0lIWmhjaUJ5YUhNZ1BTQjRMbkpsWkZOeGNpZ3BMbkpsWkUxMWJDaDRLUzV5WldSSlFXUmtLR0Y0S1M1eVpXUkpRV1JrS0hSb2FYTXVZaWs3WEc0Z0lISmxkSFZ5YmlCNUxuSmxaRk54Y2lncExuSmxaRWxUZFdJb2NtaHpLUzVqYlhCdUtEQXBJRDA5UFNBd08xeHVmVHRjYmx4dVUyaHZjblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVYMlZ1Wkc5WGJtRm1UWFZzUVdSa0lEMWNiaUFnSUNCbWRXNWpkR2x2YmlCZlpXNWtiMWR1WVdaTmRXeEJaR1FvY0c5cGJuUnpMQ0JqYjJWbVpuTXNJR3BoWTI5aWFXRnVVbVZ6ZFd4MEtTQjdYRzRnSUhaaGNpQnVjRzlwYm5SeklEMGdkR2hwY3k1ZlpXNWtiMWR1WVdaVU1UdGNiaUFnZG1GeUlHNWpiMlZtWm5NZ1BTQjBhR2x6TGw5bGJtUnZWMjVoWmxReU8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhCdmFXNTBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQnpjR3hwZENBOUlIUm9hWE11WDJWdVpHOVRjR3hwZENoamIyVm1abk5iYVYwcE8xeHVJQ0FnSUhaaGNpQndJRDBnY0c5cGJuUnpXMmxkTzF4dUlDQWdJSFpoY2lCaVpYUmhJRDBnY0M1ZloyVjBRbVYwWVNncE8xeHVYRzRnSUNBZ2FXWWdLSE53YkdsMExtc3hMbTVsWjJGMGFYWmxLU0I3WEc0Z0lDQWdJQ0J6Y0d4cGRDNXJNUzVwYm1WbktDazdYRzRnSUNBZ0lDQndJRDBnY0M1dVpXY29kSEoxWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoemNHeHBkQzVyTWk1dVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ2MzQnNhWFF1YXpJdWFXNWxaeWdwTzF4dUlDQWdJQ0FnWW1WMFlTQTlJR0psZEdFdWJtVm5LSFJ5ZFdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUc1d2IybHVkSE5iYVNBcUlESmRJRDBnY0R0Y2JpQWdJQ0J1Y0c5cGJuUnpXMmtnS2lBeUlDc2dNVjBnUFNCaVpYUmhPMXh1SUNBZ0lHNWpiMlZtWm5OYmFTQXFJREpkSUQwZ2MzQnNhWFF1YXpFN1hHNGdJQ0FnYm1OdlpXWm1jMXRwSUNvZ01pQXJJREZkSUQwZ2MzQnNhWFF1YXpJN1hHNGdJSDFjYmlBZ2RtRnlJSEpsY3lBOUlIUm9hWE11WDNkdVlXWk5kV3hCWkdRb01Td2dibkJ2YVc1MGN5d2dibU52WldabWN5d2dhU0FxSURJc0lHcGhZMjlpYVdGdVVtVnpkV3gwS1R0Y2JseHVJQ0F2THlCRGJHVmhiaTExY0NCeVpXWmxjbVZ1WTJWeklIUnZJSEJ2YVc1MGN5QmhibVFnWTI5bFptWnBZMmxsYm5SelhHNGdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnYVNBcUlESTdJR29yS3lrZ2UxeHVJQ0FnSUc1d2IybHVkSE5iYWwwZ1BTQnVkV3hzTzF4dUlDQWdJRzVqYjJWbVpuTmJhbDBnUFNCdWRXeHNPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE03WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJRYjJsdWRDaGpkWEoyWlN3Z2VDd2dlU3dnYVhOU1pXUXBJSHRjYmlBZ1FtRnpaUzVDWVhObFVHOXBiblF1WTJGc2JDaDBhR2x6TENCamRYSjJaU3dnSjJGbVptbHVaU2NwTzF4dUlDQnBaaUFvZUNBOVBUMGdiblZzYkNBbUppQjVJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdkR2hwY3k1NElEMGdiblZzYkR0Y2JpQWdJQ0IwYUdsekxua2dQU0J1ZFd4c08xeHVJQ0FnSUhSb2FYTXVhVzVtSUQwZ2RISjFaVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0J1WlhjZ1FrNG9lQ3dnTVRZcE8xeHVJQ0FnSUhSb2FYTXVlU0E5SUc1bGR5QkNUaWg1TENBeE5pazdYRzRnSUNBZ0x5OGdSbTl5WTJVZ2NtVmtaMjl0WlhKNUlISmxjSEpsYzJWdWRHRjBhVzl1SUhkb1pXNGdiRzloWkdsdVp5Qm1jbTl0SUVwVFQwNWNiaUFnSUNCcFppQW9hWE5TWldRcElIdGNiaUFnSUNBZ0lIUm9hWE11ZUM1bWIzSmpaVkpsWkNoMGFHbHpMbU4xY25abExuSmxaQ2s3WEc0Z0lDQWdJQ0IwYUdsekxua3VabTl5WTJWU1pXUW9kR2hwY3k1amRYSjJaUzV5WldRcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0lYUm9hWE11ZUM1eVpXUXBYRzRnSUNBZ0lDQjBhR2x6TG5nZ1BTQjBhR2x6TG5ndWRHOVNaV1FvZEdocGN5NWpkWEoyWlM1eVpXUXBPMXh1SUNBZ0lHbG1JQ2doZEdocGN5NTVMbkpsWkNsY2JpQWdJQ0FnSUhSb2FYTXVlU0E5SUhSb2FYTXVlUzUwYjFKbFpDaDBhR2x6TG1OMWNuWmxMbkpsWkNrN1hHNGdJQ0FnZEdocGN5NXBibVlnUFNCbVlXeHpaVHRjYmlBZ2ZWeHVmVnh1YVc1b1pYSnBkSE1vVUc5cGJuUXNJRUpoYzJVdVFtRnpaVkJ2YVc1MEtUdGNibHh1VTJodmNuUkRkWEoyWlM1d2NtOTBiM1I1Y0dVdWNHOXBiblFnUFNCbWRXNWpkR2x2YmlCd2IybHVkQ2g0TENCNUxDQnBjMUpsWkNrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUZCdmFXNTBLSFJvYVhNc0lIZ3NJSGtzSUdselVtVmtLVHRjYm4wN1hHNWNibE5vYjNKMFEzVnlkbVV1Y0hKdmRHOTBlWEJsTG5CdmFXNTBSbkp2YlVwVFQwNGdQU0JtZFc1amRHbHZiaUJ3YjJsdWRFWnliMjFLVTA5T0tHOWlhaXdnY21Wa0tTQjdYRzRnSUhKbGRIVnliaUJRYjJsdWRDNW1jbTl0U2xOUFRpaDBhR2x6TENCdlltb3NJSEpsWkNrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WDJkbGRFSmxkR0VnUFNCbWRXNWpkR2x2YmlCZloyVjBRbVYwWVNncElIdGNiaUFnYVdZZ0tDRjBhR2x6TG1OMWNuWmxMbVZ1Wkc4cFhHNGdJQ0FnY21WMGRYSnVPMXh1WEc0Z0lIWmhjaUJ3Y21VZ1BTQjBhR2x6TG5CeVpXTnZiWEIxZEdWa08xeHVJQ0JwWmlBb2NISmxJQ1ltSUhCeVpTNWlaWFJoS1Z4dUlDQWdJSEpsZEhWeWJpQndjbVV1WW1WMFlUdGNibHh1SUNCMllYSWdZbVYwWVNBOUlIUm9hWE11WTNWeWRtVXVjRzlwYm5Rb2RHaHBjeTU0TG5KbFpFMTFiQ2gwYUdsekxtTjFjblpsTG1WdVpHOHVZbVYwWVNrc0lIUm9hWE11ZVNrN1hHNGdJR2xtSUNod2NtVXBJSHRjYmlBZ0lDQjJZWElnWTNWeWRtVWdQU0IwYUdsekxtTjFjblpsTzF4dUlDQWdJSFpoY2lCbGJtUnZUWFZzSUQwZ1puVnVZM1JwYjI0b2NDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTjFjblpsTG5CdmFXNTBLSEF1ZUM1eVpXUk5kV3dvWTNWeWRtVXVaVzVrYnk1aVpYUmhLU3dnY0M1NUtUdGNiaUFnSUNCOU8xeHVJQ0FnSUhCeVpTNWlaWFJoSUQwZ1ltVjBZVHRjYmlBZ0lDQmlaWFJoTG5CeVpXTnZiWEIxZEdWa0lEMGdlMXh1SUNBZ0lDQWdZbVYwWVRvZ2JuVnNiQ3hjYmlBZ0lDQWdJRzVoWmpvZ2NISmxMbTVoWmlBbUppQjdYRzRnSUNBZ0lDQWdJSGR1WkRvZ2NISmxMbTVoWmk1M2JtUXNYRzRnSUNBZ0lDQWdJSEJ2YVc1MGN6b2djSEpsTG01aFppNXdiMmx1ZEhNdWJXRndLR1Z1Wkc5TmRXd3BYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdaRzkxWW14bGN6b2djSEpsTG1SdmRXSnNaWE1nSmlZZ2UxeHVJQ0FnSUNBZ0lDQnpkR1Z3T2lCd2NtVXVaRzkxWW14bGN5NXpkR1Z3TEZ4dUlDQWdJQ0FnSUNCd2IybHVkSE02SUhCeVpTNWtiM1ZpYkdWekxuQnZhVzUwY3k1dFlYQW9aVzVrYjAxMWJDbGNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCaVpYUmhPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExuUnZTbE5QVGlBOUlHWjFibU4wYVc5dUlIUnZTbE5QVGlncElIdGNiaUFnYVdZZ0tDRjBhR2x6TG5CeVpXTnZiWEIxZEdWa0tWeHVJQ0FnSUhKbGRIVnliaUJiSUhSb2FYTXVlQ3dnZEdocGN5NTVJRjA3WEc1Y2JpQWdjbVYwZFhKdUlGc2dkR2hwY3k1NExDQjBhR2x6TG5rc0lIUm9hWE11Y0hKbFkyOXRjSFYwWldRZ0ppWWdlMXh1SUNBZ0lHUnZkV0pzWlhNNklIUm9hWE11Y0hKbFkyOXRjSFYwWldRdVpHOTFZbXhsY3lBbUppQjdYRzRnSUNBZ0lDQnpkR1Z3T2lCMGFHbHpMbkJ5WldOdmJYQjFkR1ZrTG1SdmRXSnNaWE11YzNSbGNDeGNiaUFnSUNBZ0lIQnZhVzUwY3pvZ2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1a2IzVmliR1Z6TG5CdmFXNTBjeTV6YkdsalpTZ3hLVnh1SUNBZ0lIMHNYRzRnSUNBZ2JtRm1PaUIwYUdsekxuQnlaV052YlhCMWRHVmtMbTVoWmlBbUppQjdYRzRnSUNBZ0lDQjNibVE2SUhSb2FYTXVjSEpsWTI5dGNIVjBaV1F1Ym1GbUxuZHVaQ3hjYmlBZ0lDQWdJSEJ2YVc1MGN6b2dkR2hwY3k1d2NtVmpiMjF3ZFhSbFpDNXVZV1l1Y0c5cGJuUnpMbk5zYVdObEtERXBYRzRnSUNBZ2ZWeHVJQ0I5SUYwN1hHNTlPMXh1WEc1UWIybHVkQzVtY205dFNsTlBUaUE5SUdaMWJtTjBhVzl1SUdaeWIyMUtVMDlPS0dOMWNuWmxMQ0J2WW1vc0lISmxaQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JRzlpYWlBOVBUMGdKM04wY21sdVp5Y3BYRzRnSUNBZ2IySnFJRDBnU2xOUFRpNXdZWEp6WlNodlltb3BPMXh1SUNCMllYSWdjbVZ6SUQwZ1kzVnlkbVV1Y0c5cGJuUW9iMkpxV3pCZExDQnZZbXBiTVYwc0lISmxaQ2s3WEc0Z0lHbG1JQ2doYjJKcVd6SmRLVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzVjYmlBZ1puVnVZM1JwYjI0Z2IySnFNbkJ2YVc1MEtHOWlhaWtnZTF4dUlDQWdJSEpsZEhWeWJpQmpkWEoyWlM1d2IybHVkQ2h2WW1wYk1GMHNJRzlpYWxzeFhTd2djbVZrS1R0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21VZ1BTQnZZbXBiTWwwN1hHNGdJSEpsY3k1d2NtVmpiMjF3ZFhSbFpDQTlJSHRjYmlBZ0lDQmlaWFJoT2lCdWRXeHNMRnh1SUNBZ0lHUnZkV0pzWlhNNklIQnlaUzVrYjNWaWJHVnpJQ1ltSUh0Y2JpQWdJQ0FnSUhOMFpYQTZJSEJ5WlM1a2IzVmliR1Z6TG5OMFpYQXNYRzRnSUNBZ0lDQndiMmx1ZEhNNklGc2djbVZ6SUYwdVkyOXVZMkYwS0hCeVpTNWtiM1ZpYkdWekxuQnZhVzUwY3k1dFlYQW9iMkpxTW5CdmFXNTBLU2xjYmlBZ0lDQjlMRnh1SUNBZ0lHNWhaam9nY0hKbExtNWhaaUFtSmlCN1hHNGdJQ0FnSUNCM2JtUTZJSEJ5WlM1dVlXWXVkMjVrTEZ4dUlDQWdJQ0FnY0c5cGJuUnpPaUJiSUhKbGN5QmRMbU52Ym1OaGRDaHdjbVV1Ym1GbUxuQnZhVzUwY3k1dFlYQW9iMkpxTW5CdmFXNTBLU2xjYmlBZ0lDQjlYRzRnSUgwN1hHNGdJSEpsZEhWeWJpQnlaWE03WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVhVzV6Y0dWamRDQTlJR1oxYm1OMGFXOXVJR2x1YzNCbFkzUW9LU0I3WEc0Z0lHbG1JQ2gwYUdsekxtbHpTVzVtYVc1cGRIa29LU2xjYmlBZ0lDQnlaWFIxY200Z0p6eEZReUJRYjJsdWRDQkpibVpwYm1sMGVUNG5PMXh1SUNCeVpYUjFjbTRnSnp4RlF5QlFiMmx1ZENCNE9pQW5JQ3NnZEdocGN5NTRMbVp5YjIxU1pXUW9LUzUwYjFOMGNtbHVaeWd4Tml3Z01pa2dLMXh1SUNBZ0lDQWdKeUI1T2lBbklDc2dkR2hwY3k1NUxtWnliMjFTWldRb0tTNTBiMU4wY21sdVp5Z3hOaXdnTWlrZ0t5QW5QaWM3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVhWE5KYm1acGJtbDBlU0E5SUdaMWJtTjBhVzl1SUdselNXNW1hVzVwZEhrb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxtbHVaanRjYm4wN1hHNWNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlCaFpHUW9jQ2tnZTF4dUlDQXZMeUJQSUNzZ1VDQTlJRkJjYmlBZ2FXWWdLSFJvYVhNdWFXNW1LVnh1SUNBZ0lISmxkSFZ5YmlCd08xeHVYRzRnSUM4dklGQWdLeUJQSUQwZ1VGeHVJQ0JwWmlBb2NDNXBibVlwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc1Y2JpQWdMeThnVUNBcklGQWdQU0F5VUZ4dUlDQnBaaUFvZEdocGN5NWxjU2h3S1NsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a1ltd29LVHRjYmx4dUlDQXZMeUJRSUNzZ0tDMVFLU0E5SUU5Y2JpQWdhV1lnS0hSb2FYTXVibVZuS0NrdVpYRW9jQ2twWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVjRzlwYm5Rb2JuVnNiQ3dnYm5Wc2JDazdYRzVjYmlBZ0x5OGdVQ0FySUZFZ1BTQlBYRzRnSUdsbUlDaDBhR2x6TG5ndVkyMXdLSEF1ZUNrZ1BUMDlJREFwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVjRzlwYm5Rb2JuVnNiQ3dnYm5Wc2JDazdYRzVjYmlBZ2RtRnlJR01nUFNCMGFHbHpMbmt1Y21Wa1UzVmlLSEF1ZVNrN1hHNGdJR2xtSUNoakxtTnRjRzRvTUNrZ0lUMDlJREFwWEc0Z0lDQWdZeUE5SUdNdWNtVmtUWFZzS0hSb2FYTXVlQzV5WldSVGRXSW9jQzU0S1M1eVpXUkpiblp0S0NrcE8xeHVJQ0IyWVhJZ2JuZ2dQU0JqTG5KbFpGTnhjaWdwTG5KbFpFbFRkV0lvZEdocGN5NTRLUzV5WldSSlUzVmlLSEF1ZUNrN1hHNGdJSFpoY2lCdWVTQTlJR011Y21Wa1RYVnNLSFJvYVhNdWVDNXlaV1JUZFdJb2JuZ3BLUzV5WldSSlUzVmlLSFJvYVhNdWVTazdYRzRnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTG5CdmFXNTBLRzU0TENCdWVTazdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdVpHSnNJRDBnWm5WdVkzUnBiMjRnWkdKc0tDa2dlMXh1SUNCcFppQW9kR2hwY3k1cGJtWXBYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzVjYmlBZ0x5OGdNbEFnUFNCUFhHNGdJSFpoY2lCNWN6RWdQU0IwYUdsekxua3VjbVZrUVdSa0tIUm9hWE11ZVNrN1hHNGdJR2xtSUNoNWN6RXVZMjF3Ymlnd0tTQTlQVDBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzV3YjJsdWRDaHVkV3hzTENCdWRXeHNLVHRjYmx4dUlDQjJZWElnWVNBOUlIUm9hWE11WTNWeWRtVXVZVHRjYmx4dUlDQjJZWElnZURJZ1BTQjBhR2x6TG5ndWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCa2VXbHVkaUE5SUhsek1TNXlaV1JKYm5adEtDazdYRzRnSUhaaGNpQmpJRDBnZURJdWNtVmtRV1JrS0hneUtTNXlaV1JKUVdSa0tIZ3lLUzV5WldSSlFXUmtLR0VwTG5KbFpFMTFiQ2hrZVdsdWRpazdYRzVjYmlBZ2RtRnlJRzU0SUQwZ1l5NXlaV1JUY1hJb0tTNXlaV1JKVTNWaUtIUm9hWE11ZUM1eVpXUkJaR1FvZEdocGN5NTRLU2s3WEc0Z0lIWmhjaUJ1ZVNBOUlHTXVjbVZrVFhWc0tIUm9hWE11ZUM1eVpXUlRkV0lvYm5ncEtTNXlaV1JKVTNWaUtIUm9hWE11ZVNrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbkJ2YVc1MEtHNTRMQ0J1ZVNrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WjJWMFdDQTlJR1oxYm1OMGFXOXVJR2RsZEZnb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxuZ3Vabkp2YlZKbFpDZ3BPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtZGxkRmtnUFNCbWRXNWpkR2x2YmlCblpYUlpLQ2tnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTU1TG1aeWIyMVNaV1FvS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dvYXlrZ2UxeHVJQ0JySUQwZ2JtVjNJRUpPS0dzc0lERTJLVHRjYmlBZ2FXWWdLSFJvYVhNdWFYTkpibVpwYm1sMGVTZ3BLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCbGJITmxJR2xtSUNoMGFHbHpMbDlvWVhORWIzVmliR1Z6S0dzcEtWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTGw5bWFYaGxaRTVoWmsxMWJDaDBhR2x6TENCcktUdGNiaUFnWld4elpTQnBaaUFvZEdocGN5NWpkWEoyWlM1bGJtUnZLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOWxibVJ2VjI1aFprMTFiRUZrWkNoYklIUm9hWE1nWFN3Z1d5QnJJRjBwTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVYM2R1WVdaTmRXd29kR2hwY3l3Z2F5azdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdWJYVnNRV1JrSUQwZ1puVnVZM1JwYjI0Z2JYVnNRV1JrS0dzeExDQndNaXdnYXpJcElIdGNiaUFnZG1GeUlIQnZhVzUwY3lBOUlGc2dkR2hwY3l3Z2NESWdYVHRjYmlBZ2RtRnlJR052WldabWN5QTlJRnNnYXpFc0lHc3lJRjA3WEc0Z0lHbG1JQ2gwYUdsekxtTjFjblpsTG1WdVpHOHBYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZM1Z5ZG1VdVgyVnVaRzlYYm1GbVRYVnNRV1JrS0hCdmFXNTBjeXdnWTI5bFptWnpLVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOTNibUZtVFhWc1FXUmtLREVzSUhCdmFXNTBjeXdnWTI5bFptWnpMQ0F5S1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzVxYlhWc1FXUmtJRDBnWm5WdVkzUnBiMjRnYW0xMWJFRmtaQ2hyTVN3Z2NESXNJR3N5S1NCN1hHNGdJSFpoY2lCd2IybHVkSE1nUFNCYklIUm9hWE1zSUhBeUlGMDdYRzRnSUhaaGNpQmpiMlZtWm5NZ1BTQmJJR3N4TENCck1pQmRPMXh1SUNCcFppQW9kR2hwY3k1amRYSjJaUzVsYm1SdktWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTGw5bGJtUnZWMjVoWmsxMWJFRmtaQ2h3YjJsdWRITXNJR052WldabWN5d2dkSEoxWlNrN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzVmZDI1aFprMTFiRUZrWkNneExDQndiMmx1ZEhNc0lHTnZaV1ptY3l3Z01pd2dkSEoxWlNrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU2h3S1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6SUQwOVBTQndJSHg4WEc0Z0lDQWdJQ0FnSUNCMGFHbHpMbWx1WmlBOVBUMGdjQzVwYm1ZZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBb2RHaHBjeTVwYm1ZZ2ZId2dkR2hwY3k1NExtTnRjQ2h3TG5ncElEMDlQU0F3SUNZbUlIUm9hWE11ZVM1amJYQW9jQzU1S1NBOVBUMGdNQ2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVibVZuSUQwZ1puVnVZM1JwYjI0Z2JtVm5LRjl3Y21WamIyMXdkWFJsS1NCN1hHNGdJR2xtSUNoMGFHbHpMbWx1WmlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JseHVJQ0IyWVhJZ2NtVnpJRDBnZEdocGN5NWpkWEoyWlM1d2IybHVkQ2gwYUdsekxuZ3NJSFJvYVhNdWVTNXlaV1JPWldjb0tTazdYRzRnSUdsbUlDaGZjSEpsWTI5dGNIVjBaU0FtSmlCMGFHbHpMbkJ5WldOdmJYQjFkR1ZrS1NCN1hHNGdJQ0FnZG1GeUlIQnlaU0E5SUhSb2FYTXVjSEpsWTI5dGNIVjBaV1E3WEc0Z0lDQWdkbUZ5SUc1bFoyRjBaU0E5SUdaMWJtTjBhVzl1S0hBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCd0xtNWxaeWdwTzF4dUlDQWdJSDA3WEc0Z0lDQWdjbVZ6TG5CeVpXTnZiWEIxZEdWa0lEMGdlMXh1SUNBZ0lDQWdibUZtT2lCd2NtVXVibUZtSUNZbUlIdGNiaUFnSUNBZ0lDQWdkMjVrT2lCd2NtVXVibUZtTG5kdVpDeGNiaUFnSUNBZ0lDQWdjRzlwYm5Sek9pQndjbVV1Ym1GbUxuQnZhVzUwY3k1dFlYQW9ibVZuWVhSbEtWeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHUnZkV0pzWlhNNklIQnlaUzVrYjNWaWJHVnpJQ1ltSUh0Y2JpQWdJQ0FnSUNBZ2MzUmxjRG9nY0hKbExtUnZkV0pzWlhNdWMzUmxjQ3hjYmlBZ0lDQWdJQ0FnY0c5cGJuUnpPaUJ3Y21VdVpHOTFZbXhsY3k1d2IybHVkSE11YldGd0tHNWxaMkYwWlNsY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5TzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1ZEc5S0lEMGdablZ1WTNScGIyNGdkRzlLS0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVwYm1ZcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1YW5CdmFXNTBLRzUxYkd3c0lHNTFiR3dzSUc1MWJHd3BPMXh1WEc0Z0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TG1OMWNuWmxMbXB3YjJsdWRDaDBhR2x6TG5nc0lIUm9hWE11ZVN3Z2RHaHBjeTVqZFhKMlpTNXZibVVwTzF4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdTbEJ2YVc1MEtHTjFjblpsTENCNExDQjVMQ0I2S1NCN1hHNGdJRUpoYzJVdVFtRnpaVkJ2YVc1MExtTmhiR3dvZEdocGN5d2dZM1Z5ZG1Vc0lDZHFZV052WW1saGJpY3BPMXh1SUNCcFppQW9lQ0E5UFQwZ2JuVnNiQ0FtSmlCNUlEMDlQU0J1ZFd4c0lDWW1JSG9nUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0IwYUdsekxtTjFjblpsTG05dVpUdGNiaUFnSUNCMGFHbHpMbmtnUFNCMGFHbHpMbU4xY25abExtOXVaVHRjYmlBZ0lDQjBhR2x6TG5vZ1BTQnVaWGNnUWs0b01DazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkR2hwY3k1NElEMGdibVYzSUVKT0tIZ3NJREUyS1R0Y2JpQWdJQ0IwYUdsekxua2dQU0J1WlhjZ1FrNG9lU3dnTVRZcE8xeHVJQ0FnSUhSb2FYTXVlaUE5SUc1bGR5QkNUaWg2TENBeE5pazdYRzRnSUgxY2JpQWdhV1lnS0NGMGFHbHpMbmd1Y21Wa0tWeHVJQ0FnSUhSb2FYTXVlQ0E5SUhSb2FYTXVlQzUwYjFKbFpDaDBhR2x6TG1OMWNuWmxMbkpsWkNrN1hHNGdJR2xtSUNnaGRHaHBjeTU1TG5KbFpDbGNiaUFnSUNCMGFHbHpMbmtnUFNCMGFHbHpMbmt1ZEc5U1pXUW9kR2hwY3k1amRYSjJaUzV5WldRcE8xeHVJQ0JwWmlBb0lYUm9hWE11ZWk1eVpXUXBYRzRnSUNBZ2RHaHBjeTU2SUQwZ2RHaHBjeTU2TG5SdlVtVmtLSFJvYVhNdVkzVnlkbVV1Y21Wa0tUdGNibHh1SUNCMGFHbHpMbnBQYm1VZ1BTQjBhR2x6TG5vZ1BUMDlJSFJvYVhNdVkzVnlkbVV1YjI1bE8xeHVmVnh1YVc1b1pYSnBkSE1vU2xCdmFXNTBMQ0JDWVhObExrSmhjMlZRYjJsdWRDazdYRzVjYmxOb2IzSjBRM1Z5ZG1VdWNISnZkRzkwZVhCbExtcHdiMmx1ZENBOUlHWjFibU4wYVc5dUlHcHdiMmx1ZENoNExDQjVMQ0I2S1NCN1hHNGdJSEpsZEhWeWJpQnVaWGNnU2xCdmFXNTBLSFJvYVhNc0lIZ3NJSGtzSUhvcE8xeHVmVHRjYmx4dVNsQnZhVzUwTG5CeWIzUnZkSGx3WlM1MGIxQWdQU0JtZFc1amRHbHZiaUIwYjFBb0tTQjdYRzRnSUdsbUlDaDBhR2x6TG1selNXNW1hVzVwZEhrb0tTbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1d2IybHVkQ2h1ZFd4c0xDQnVkV3hzS1R0Y2JseHVJQ0IyWVhJZ2VtbHVkaUE5SUhSb2FYTXVlaTV5WldSSmJuWnRLQ2s3WEc0Z0lIWmhjaUI2YVc1Mk1pQTlJSHBwYm5ZdWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCaGVDQTlJSFJvYVhNdWVDNXlaV1JOZFd3b2VtbHVkaklwTzF4dUlDQjJZWElnWVhrZ1BTQjBhR2x6TG5rdWNtVmtUWFZzS0hwcGJuWXlLUzV5WldSTmRXd29lbWx1ZGlrN1hHNWNiaUFnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1Y0c5cGJuUW9ZWGdzSUdGNUtUdGNibjA3WEc1Y2JrcFFiMmx1ZEM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbktDa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1cWNHOXBiblFvZEdocGN5NTRMQ0IwYUdsekxua3VjbVZrVG1WbktDa3NJSFJvYVhNdWVpazdYRzU5TzF4dVhHNUtVRzlwYm5RdWNISnZkRzkwZVhCbExtRmtaQ0E5SUdaMWJtTjBhVzl1SUdGa1pDaHdLU0I3WEc0Z0lDOHZJRThnS3lCUUlEMGdVRnh1SUNCcFppQW9kR2hwY3k1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUhBN1hHNWNiaUFnTHk4Z1VDQXJJRThnUFNCUVhHNGdJR2xtSUNod0xtbHpTVzVtYVc1cGRIa29LU2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmx4dUlDQXZMeUF4TWswZ0t5QTBVeUFySURkQlhHNGdJSFpoY2lCd2VqSWdQU0J3TG5vdWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCNk1pQTlJSFJvYVhNdWVpNXlaV1JUY1hJb0tUdGNiaUFnZG1GeUlIVXhJRDBnZEdocGN5NTRMbkpsWkUxMWJDaHdlaklwTzF4dUlDQjJZWElnZFRJZ1BTQndMbmd1Y21Wa1RYVnNLSG95S1R0Y2JpQWdkbUZ5SUhNeElEMGdkR2hwY3k1NUxuSmxaRTExYkNod2VqSXVjbVZrVFhWc0tIQXVlaWtwTzF4dUlDQjJZWElnY3pJZ1BTQndMbmt1Y21Wa1RYVnNLSG95TG5KbFpFMTFiQ2gwYUdsekxub3BLVHRjYmx4dUlDQjJZWElnYUNBOUlIVXhMbkpsWkZOMVlpaDFNaWs3WEc0Z0lIWmhjaUJ5SUQwZ2N6RXVjbVZrVTNWaUtITXlLVHRjYmlBZ2FXWWdLR2d1WTIxd2JpZ3dLU0E5UFQwZ01Da2dlMXh1SUNBZ0lHbG1JQ2h5TG1OdGNHNG9NQ2tnSVQwOUlEQXBYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVqZFhKMlpTNXFjRzlwYm5Rb2JuVnNiQ3dnYm5Wc2JDd2diblZzYkNrN1hHNGdJQ0FnWld4elpWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR0pzS0NrN1hHNGdJSDFjYmx4dUlDQjJZWElnYURJZ1BTQm9MbkpsWkZOeGNpZ3BPMXh1SUNCMllYSWdhRE1nUFNCb01pNXlaV1JOZFd3b2FDazdYRzRnSUhaaGNpQjJJRDBnZFRFdWNtVmtUWFZzS0dneUtUdGNibHh1SUNCMllYSWdibmdnUFNCeUxuSmxaRk54Y2lncExuSmxaRWxCWkdRb2FETXBMbkpsWkVsVGRXSW9kaWt1Y21Wa1NWTjFZaWgyS1R0Y2JpQWdkbUZ5SUc1NUlEMGdjaTV5WldSTmRXd29kaTV5WldSSlUzVmlLRzU0S1NrdWNtVmtTVk4xWWloek1TNXlaV1JOZFd3b2FETXBLVHRjYmlBZ2RtRnlJRzU2SUQwZ2RHaHBjeTU2TG5KbFpFMTFiQ2h3TG5vcExuSmxaRTExYkNob0tUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1cWNHOXBiblFvYm5nc0lHNTVMQ0J1ZWlrN1hHNTlPMXh1WEc1S1VHOXBiblF1Y0hKdmRHOTBlWEJsTG0xcGVHVmtRV1JrSUQwZ1puVnVZM1JwYjI0Z2JXbDRaV1JCWkdRb2NDa2dlMXh1SUNBdkx5QlBJQ3NnVUNBOUlGQmNiaUFnYVdZZ0tIUm9hWE11YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUhKbGRIVnliaUJ3TG5SdlNpZ3BPMXh1WEc0Z0lDOHZJRkFnS3lCUElEMGdVRnh1SUNCcFppQW9jQzVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnTHk4Z09FMGdLeUF6VXlBcklEZEJYRzRnSUhaaGNpQjZNaUE5SUhSb2FYTXVlaTV5WldSVGNYSW9LVHRjYmlBZ2RtRnlJSFV4SUQwZ2RHaHBjeTU0TzF4dUlDQjJZWElnZFRJZ1BTQndMbmd1Y21Wa1RYVnNLSG95S1R0Y2JpQWdkbUZ5SUhNeElEMGdkR2hwY3k1NU8xeHVJQ0IyWVhJZ2N6SWdQU0J3TG5rdWNtVmtUWFZzS0hveUtTNXlaV1JOZFd3b2RHaHBjeTU2S1R0Y2JseHVJQ0IyWVhJZ2FDQTlJSFV4TG5KbFpGTjFZaWgxTWlrN1hHNGdJSFpoY2lCeUlEMGdjekV1Y21Wa1UzVmlLSE15S1R0Y2JpQWdhV1lnS0dndVkyMXdiaWd3S1NBOVBUMGdNQ2tnZTF4dUlDQWdJR2xtSUNoeUxtTnRjRzRvTUNrZ0lUMDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzVxY0c5cGJuUW9iblZzYkN3Z2JuVnNiQ3dnYm5Wc2JDazdYRzRnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WkdKc0tDazdYRzRnSUgxY2JseHVJQ0IyWVhJZ2FESWdQU0JvTG5KbFpGTnhjaWdwTzF4dUlDQjJZWElnYURNZ1BTQm9NaTV5WldSTmRXd29hQ2s3WEc0Z0lIWmhjaUIySUQwZ2RURXVjbVZrVFhWc0tHZ3lLVHRjYmx4dUlDQjJZWElnYm5nZ1BTQnlMbkpsWkZOeGNpZ3BMbkpsWkVsQlpHUW9hRE1wTG5KbFpFbFRkV0lvZGlrdWNtVmtTVk4xWWloMktUdGNiaUFnZG1GeUlHNTVJRDBnY2k1eVpXUk5kV3dvZGk1eVpXUkpVM1ZpS0c1NEtTa3VjbVZrU1ZOMVlpaHpNUzV5WldSTmRXd29hRE1wS1R0Y2JpQWdkbUZ5SUc1NklEMGdkR2hwY3k1NkxuSmxaRTExYkNob0tUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1cWNHOXBiblFvYm5nc0lHNTVMQ0J1ZWlrN1hHNTlPMXh1WEc1S1VHOXBiblF1Y0hKdmRHOTBlWEJsTG1SaWJIQWdQU0JtZFc1amRHbHZiaUJrWW14d0tIQnZkeWtnZTF4dUlDQnBaaUFvY0c5M0lEMDlQU0F3S1Z4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQnBaaUFvZEdocGN5NXBjMGx1Wm1sdWFYUjVLQ2twWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lHbG1JQ2doY0c5M0tWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtUmliQ2dwTzF4dVhHNGdJR2xtSUNoMGFHbHpMbU4xY25abExucGxjbTlCSUh4OElIUm9hWE11WTNWeWRtVXVkR2h5WldWQktTQjdYRzRnSUNBZ2RtRnlJSElnUFNCMGFHbHpPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djRzkzT3lCcEt5c3BYRzRnSUNBZ0lDQnlJRDBnY2k1a1ltd29LVHRjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlZ4dVhHNGdJQzh2SURGTklDc2dNbE1nS3lBeFFTQXJJRTRnS2lBb05GTWdLeUExVFNBcklEaEJLVnh1SUNBdkx5Qk9JRDBnTVNBOVBpQTJUU0FySURaVElDc2dPVUZjYmlBZ2RtRnlJR0VnUFNCMGFHbHpMbU4xY25abExtRTdYRzRnSUhaaGNpQjBhVzUySUQwZ2RHaHBjeTVqZFhKMlpTNTBhVzUyTzF4dVhHNGdJSFpoY2lCcWVDQTlJSFJvYVhNdWVEdGNiaUFnZG1GeUlHcDVJRDBnZEdocGN5NTVPMXh1SUNCMllYSWdhbm9nUFNCMGFHbHpMbm83WEc0Z0lIWmhjaUJxZWpRZ1BTQnFlaTV5WldSVGNYSW9LUzV5WldSVGNYSW9LVHRjYmx4dUlDQXZMeUJTWlhWelpTQnlaWE4xYkhSelhHNGdJSFpoY2lCcWVXUWdQU0JxZVM1eVpXUkJaR1FvYW5rcE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhCdmR6c2dhU3NyS1NCN1hHNGdJQ0FnZG1GeUlHcDRNaUE5SUdwNExuSmxaRk54Y2lncE8xeHVJQ0FnSUhaaGNpQnFlV1F5SUQwZ2FubGtMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lIWmhjaUJxZVdRMElEMGdhbmxrTWk1eVpXUlRjWElvS1R0Y2JpQWdJQ0IyWVhJZ1l5QTlJR3A0TWk1eVpXUkJaR1FvYW5neUtTNXlaV1JKUVdSa0tHcDRNaWt1Y21Wa1NVRmtaQ2hoTG5KbFpFMTFiQ2hxZWpRcEtUdGNibHh1SUNBZ0lIWmhjaUIwTVNBOUlHcDRMbkpsWkUxMWJDaHFlV1F5S1R0Y2JpQWdJQ0IyWVhJZ2JuZ2dQU0JqTG5KbFpGTnhjaWdwTG5KbFpFbFRkV0lvZERFdWNtVmtRV1JrS0hReEtTazdYRzRnSUNBZ2RtRnlJSFF5SUQwZ2RERXVjbVZrU1ZOMVlpaHVlQ2s3WEc0Z0lDQWdkbUZ5SUdSdWVTQTlJR011Y21Wa1RYVnNLSFF5S1R0Y2JpQWdJQ0JrYm5rZ1BTQmtibmt1Y21Wa1NVRmtaQ2hrYm5rcExuSmxaRWxUZFdJb2FubGtOQ2s3WEc0Z0lDQWdkbUZ5SUc1NklEMGdhbmxrTG5KbFpFMTFiQ2hxZWlrN1hHNGdJQ0FnYVdZZ0tHa2dLeUF4SUR3Z2NHOTNLVnh1SUNBZ0lDQWdhbm8wSUQwZ2FubzBMbkpsWkUxMWJDaHFlV1EwS1R0Y2JseHVJQ0FnSUdwNElEMGdibmc3WEc0Z0lDQWdhbm9nUFNCdWVqdGNiaUFnSUNCcWVXUWdQU0JrYm5rN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RHaHBjeTVqZFhKMlpTNXFjRzlwYm5Rb2FuZ3NJR3A1WkM1eVpXUk5kV3dvZEdsdWRpa3NJR3A2S1R0Y2JuMDdYRzVjYmtwUWIybHVkQzV3Y205MGIzUjVjR1V1WkdKc0lEMGdablZ1WTNScGIyNGdaR0pzS0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnYVdZZ0tIUm9hWE11WTNWeWRtVXVlbVZ5YjBFcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzcGxjbTlFWW13b0tUdGNiaUFnWld4elpTQnBaaUFvZEdocGN5NWpkWEoyWlM1MGFISmxaVUVwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNSb2NtVmxSR0pzS0NrN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHSnNLQ2s3WEc1OU8xeHVYRzVLVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDk2WlhKdlJHSnNJRDBnWm5WdVkzUnBiMjRnWDNwbGNtOUVZbXdvS1NCN1hHNGdJSFpoY2lCdWVEdGNiaUFnZG1GeUlHNTVPMXh1SUNCMllYSWdibm83WEc0Z0lDOHZJRm9nUFNBeFhHNGdJR2xtSUNoMGFHbHpMbnBQYm1VcElIdGNiaUFnSUNBdkx5Qm9lWEJsY21Wc2JHbHdkR2xqTG05eVp5OUZSa1F2WnpGd0wyRjFkRzh0YzJodmNuUjNMV3BoWTI5aWFXRnVMVEF1YUhSdGJGeHVJQ0FnSUM4dklDQWdJQ0FqWkc5MVlteHBibWN0YldSaWJDMHlNREEzTFdKc1hHNGdJQ0FnTHk4Z01VMGdLeUExVXlBcklERTBRVnh1WEc0Z0lDQWdMeThnV0ZnZ1BTQllNVjR5WEc0Z0lDQWdkbUZ5SUhoNElEMGdkR2hwY3k1NExuSmxaRk54Y2lncE8xeHVJQ0FnSUM4dklGbFpJRDBnV1RGZU1seHVJQ0FnSUhaaGNpQjVlU0E5SUhSb2FYTXVlUzV5WldSVGNYSW9LVHRjYmlBZ0lDQXZMeUJaV1ZsWklEMGdXVmxlTWx4dUlDQWdJSFpoY2lCNWVYbDVJRDBnZVhrdWNtVmtVM0Z5S0NrN1hHNGdJQ0FnTHk4Z1V5QTlJRElnS2lBb0tGZ3hJQ3NnV1ZrcFhqSWdMU0JZV0NBdElGbFpXVmtwWEc0Z0lDQWdkbUZ5SUhNZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hsNUtTNXlaV1JUY1hJb0tTNXlaV1JKVTNWaUtIaDRLUzV5WldSSlUzVmlLSGw1ZVhrcE8xeHVJQ0FnSUhNZ1BTQnpMbkpsWkVsQlpHUW9jeWs3WEc0Z0lDQWdMeThnVFNBOUlETWdLaUJZV0NBcklHRTdJR0VnUFNBd1hHNGdJQ0FnZG1GeUlHMGdQU0I0ZUM1eVpXUkJaR1FvZUhncExuSmxaRWxCWkdRb2VIZ3BPMXh1SUNBZ0lDOHZJRlFnUFNCTklGNGdNaUF0SURJcVUxeHVJQ0FnSUhaaGNpQjBJRDBnYlM1eVpXUlRjWElvS1M1eVpXUkpVM1ZpS0hNcExuSmxaRWxUZFdJb2N5azdYRzVjYmlBZ0lDQXZMeUE0SUNvZ1dWbFpXVnh1SUNBZ0lIWmhjaUI1ZVhsNU9DQTlJSGw1ZVhrdWNtVmtTVUZrWkNoNWVYbDVLVHRjYmlBZ0lDQjVlWGw1T0NBOUlIbDVlWGs0TG5KbFpFbEJaR1FvZVhsNWVUZ3BPMXh1SUNBZ0lIbDVlWGs0SUQwZ2VYbDVlVGd1Y21Wa1NVRmtaQ2g1ZVhsNU9DazdYRzVjYmlBZ0lDQXZMeUJZTXlBOUlGUmNiaUFnSUNCdWVDQTlJSFE3WEc0Z0lDQWdMeThnV1RNZ1BTQk5JQ29nS0ZNZ0xTQlVLU0F0SURnZ0tpQlpXVmxaWEc0Z0lDQWdibmtnUFNCdExuSmxaRTExYkNoekxuSmxaRWxUZFdJb2RDa3BMbkpsWkVsVGRXSW9lWGw1ZVRncE8xeHVJQ0FnSUM4dklGb3pJRDBnTWlwWk1WeHVJQ0FnSUc1NklEMGdkR2hwY3k1NUxuSmxaRUZrWkNoMGFHbHpMbmtwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklHaDVjR1Z5Wld4c2FYQjBhV011YjNKbkwwVkdSQzluTVhBdllYVjBieTF6YUc5eWRIY3RhbUZqYjJKcFlXNHRNQzVvZEcxc1hHNGdJQ0FnTHk4Z0lDQWdJQ05rYjNWaWJHbHVaeTFrWW13dE1qQXdPUzFzWEc0Z0lDQWdMeThnTWswZ0t5QTFVeUFySURFelFWeHVYRzRnSUNBZ0x5OGdRU0E5SUZneFhqSmNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTXVlQzV5WldSVGNYSW9LVHRjYmlBZ0lDQXZMeUJDSUQwZ1dURmVNbHh1SUNBZ0lIWmhjaUJpSUQwZ2RHaHBjeTU1TG5KbFpGTnhjaWdwTzF4dUlDQWdJQzh2SUVNZ1BTQkNYakpjYmlBZ0lDQjJZWElnWXlBOUlHSXVjbVZrVTNGeUtDazdYRzRnSUNBZ0x5OGdSQ0E5SURJZ0tpQW9LRmd4SUNzZ1FpbGVNaUF0SUVFZ0xTQkRLVnh1SUNBZ0lIWmhjaUJrSUQwZ2RHaHBjeTU0TG5KbFpFRmtaQ2hpS1M1eVpXUlRjWElvS1M1eVpXUkpVM1ZpS0dFcExuSmxaRWxUZFdJb1l5azdYRzRnSUNBZ1pDQTlJR1F1Y21Wa1NVRmtaQ2hrS1R0Y2JpQWdJQ0F2THlCRklEMGdNeUFxSUVGY2JpQWdJQ0IyWVhJZ1pTQTlJR0V1Y21Wa1FXUmtLR0VwTG5KbFpFbEJaR1FvWVNrN1hHNGdJQ0FnTHk4Z1JpQTlJRVZlTWx4dUlDQWdJSFpoY2lCbUlEMGdaUzV5WldSVGNYSW9LVHRjYmx4dUlDQWdJQzh2SURnZ0tpQkRYRzRnSUNBZ2RtRnlJR000SUQwZ1l5NXlaV1JKUVdSa0tHTXBPMXh1SUNBZ0lHTTRJRDBnWXpndWNtVmtTVUZrWkNoak9DazdYRzRnSUNBZ1l6Z2dQU0JqT0M1eVpXUkpRV1JrS0dNNEtUdGNibHh1SUNBZ0lDOHZJRmd6SUQwZ1JpQXRJRElnS2lCRVhHNGdJQ0FnYm5nZ1BTQm1MbkpsWkVsVGRXSW9aQ2t1Y21Wa1NWTjFZaWhrS1R0Y2JpQWdJQ0F2THlCWk15QTlJRVVnS2lBb1JDQXRJRmd6S1NBdElEZ2dLaUJEWEc0Z0lDQWdibmtnUFNCbExuSmxaRTExYkNoa0xuSmxaRWxUZFdJb2JuZ3BLUzV5WldSSlUzVmlLR000S1R0Y2JpQWdJQ0F2THlCYU15QTlJRElnS2lCWk1TQXFJRm94WEc0Z0lDQWdibm9nUFNCMGFHbHpMbmt1Y21Wa1RYVnNLSFJvYVhNdWVpazdYRzRnSUNBZ2Jub2dQU0J1ZWk1eVpXUkpRV1JrS0c1NktUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbXB3YjJsdWRDaHVlQ3dnYm5rc0lHNTZLVHRjYm4wN1hHNWNia3BRYjJsdWRDNXdjbTkwYjNSNWNHVXVYM1JvY21WbFJHSnNJRDBnWm5WdVkzUnBiMjRnWDNSb2NtVmxSR0pzS0NrZ2UxeHVJQ0IyWVhJZ2JuZzdYRzRnSUhaaGNpQnVlVHRjYmlBZ2RtRnlJRzU2TzF4dUlDQXZMeUJhSUQwZ01WeHVJQ0JwWmlBb2RHaHBjeTU2VDI1bEtTQjdYRzRnSUNBZ0x5OGdhSGx3WlhKbGJHeHBjSFJwWXk1dmNtY3ZSVVpFTDJjeGNDOWhkWFJ2TFhOb2IzSjBkeTFxWVdOdlltbGhiaTB6TG1oMGJXeGNiaUFnSUNBdkx5QWdJQ0FnSTJSdmRXSnNhVzVuTFcxa1ltd3RNakF3TnkxaWJGeHVJQ0FnSUM4dklERk5JQ3NnTlZNZ0t5QXhOVUZjYmx4dUlDQWdJQzh2SUZoWUlEMGdXREZlTWx4dUlDQWdJSFpoY2lCNGVDQTlJSFJvYVhNdWVDNXlaV1JUY1hJb0tUdGNiaUFnSUNBdkx5QlpXU0E5SUZreFhqSmNiaUFnSUNCMllYSWdlWGtnUFNCMGFHbHpMbmt1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdMeThnV1ZsWldTQTlJRmxaWGpKY2JpQWdJQ0IyWVhJZ2VYbDVlU0E5SUhsNUxuSmxaRk54Y2lncE8xeHVJQ0FnSUM4dklGTWdQU0F5SUNvZ0tDaFlNU0FySUZsWktWNHlJQzBnV0ZnZ0xTQlpXVmxaS1Z4dUlDQWdJSFpoY2lCeklEMGdkR2hwY3k1NExuSmxaRUZrWkNoNWVTa3VjbVZrVTNGeUtDa3VjbVZrU1ZOMVlpaDRlQ2t1Y21Wa1NWTjFZaWg1ZVhsNUtUdGNiaUFnSUNCeklEMGdjeTV5WldSSlFXUmtLSE1wTzF4dUlDQWdJQzh2SUUwZ1BTQXpJQ29nV0ZnZ0t5QmhYRzRnSUNBZ2RtRnlJRzBnUFNCNGVDNXlaV1JCWkdRb2VIZ3BMbkpsWkVsQlpHUW9lSGdwTG5KbFpFbEJaR1FvZEdocGN5NWpkWEoyWlM1aEtUdGNiaUFnSUNBdkx5QlVJRDBnVFY0eUlDMGdNaUFxSUZOY2JpQWdJQ0IyWVhJZ2RDQTlJRzB1Y21Wa1UzRnlLQ2t1Y21Wa1NWTjFZaWh6S1M1eVpXUkpVM1ZpS0hNcE8xeHVJQ0FnSUM4dklGZ3pJRDBnVkZ4dUlDQWdJRzU0SUQwZ2REdGNiaUFnSUNBdkx5QlpNeUE5SUUwZ0tpQW9VeUF0SUZRcElDMGdPQ0FxSUZsWldWbGNiaUFnSUNCMllYSWdlWGw1ZVRnZ1BTQjVlWGw1TG5KbFpFbEJaR1FvZVhsNWVTazdYRzRnSUNBZ2VYbDVlVGdnUFNCNWVYbDVPQzV5WldSSlFXUmtLSGw1ZVhrNEtUdGNiaUFnSUNCNWVYbDVPQ0E5SUhsNWVYazRMbkpsWkVsQlpHUW9lWGw1ZVRncE8xeHVJQ0FnSUc1NUlEMGdiUzV5WldSTmRXd29jeTV5WldSSlUzVmlLSFFwS1M1eVpXUkpVM1ZpS0hsNWVYazRLVHRjYmlBZ0lDQXZMeUJhTXlBOUlESWdLaUJaTVZ4dUlDQWdJRzU2SUQwZ2RHaHBjeTU1TG5KbFpFRmtaQ2gwYUdsekxua3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUdoNWNHVnlaV3hzYVhCMGFXTXViM0puTDBWR1JDOW5NWEF2WVhWMGJ5MXphRzl5ZEhjdGFtRmpiMkpwWVc0dE15NW9kRzFzSTJSdmRXSnNhVzVuTFdSaWJDMHlNREF4TFdKY2JpQWdJQ0F2THlBelRTQXJJRFZUWEc1Y2JpQWdJQ0F2THlCa1pXeDBZU0E5SUZveFhqSmNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQjBhR2x6TG5vdWNtVmtVM0Z5S0NrN1hHNGdJQ0FnTHk4Z1oyRnRiV0VnUFNCWk1WNHlYRzRnSUNBZ2RtRnlJR2RoYlcxaElEMGdkR2hwY3k1NUxuSmxaRk54Y2lncE8xeHVJQ0FnSUM4dklHSmxkR0VnUFNCWU1TQXFJR2RoYlcxaFhHNGdJQ0FnZG1GeUlHSmxkR0VnUFNCMGFHbHpMbmd1Y21Wa1RYVnNLR2RoYlcxaEtUdGNiaUFnSUNBdkx5QmhiSEJvWVNBOUlETWdLaUFvV0RFZ0xTQmtaV3gwWVNrZ0tpQW9XREVnS3lCa1pXeDBZU2xjYmlBZ0lDQjJZWElnWVd4d2FHRWdQU0IwYUdsekxuZ3VjbVZrVTNWaUtHUmxiSFJoS1M1eVpXUk5kV3dvZEdocGN5NTRMbkpsWkVGa1pDaGtaV3gwWVNrcE8xeHVJQ0FnSUdGc2NHaGhJRDBnWVd4d2FHRXVjbVZrUVdSa0tHRnNjR2hoS1M1eVpXUkpRV1JrS0dGc2NHaGhLVHRjYmlBZ0lDQXZMeUJZTXlBOUlHRnNjR2hoWGpJZ0xTQTRJQ29nWW1WMFlWeHVJQ0FnSUhaaGNpQmlaWFJoTkNBOUlHSmxkR0V1Y21Wa1NVRmtaQ2hpWlhSaEtUdGNiaUFnSUNCaVpYUmhOQ0E5SUdKbGRHRTBMbkpsWkVsQlpHUW9ZbVYwWVRRcE8xeHVJQ0FnSUhaaGNpQmlaWFJoT0NBOUlHSmxkR0UwTG5KbFpFRmtaQ2hpWlhSaE5DazdYRzRnSUNBZ2JuZ2dQU0JoYkhCb1lTNXlaV1JUY1hJb0tTNXlaV1JKVTNWaUtHSmxkR0U0S1R0Y2JpQWdJQ0F2THlCYU15QTlJQ2haTVNBcklGb3hLVjR5SUMwZ1oyRnRiV0VnTFNCa1pXeDBZVnh1SUNBZ0lHNTZJRDBnZEdocGN5NTVMbkpsWkVGa1pDaDBhR2x6TG5vcExuSmxaRk54Y2lncExuSmxaRWxUZFdJb1oyRnRiV0VwTG5KbFpFbFRkV0lvWkdWc2RHRXBPMXh1SUNBZ0lDOHZJRmt6SUQwZ1lXeHdhR0VnS2lBb05DQXFJR0psZEdFZ0xTQllNeWtnTFNBNElDb2daMkZ0YldGZU1seHVJQ0FnSUhaaGNpQm5aMkZ0YldFNElEMGdaMkZ0YldFdWNtVmtVM0Z5S0NrN1hHNGdJQ0FnWjJkaGJXMWhPQ0E5SUdkbllXMXRZVGd1Y21Wa1NVRmtaQ2huWjJGdGJXRTRLVHRjYmlBZ0lDQm5aMkZ0YldFNElEMGdaMmRoYlcxaE9DNXlaV1JKUVdSa0tHZG5ZVzF0WVRncE8xeHVJQ0FnSUdkbllXMXRZVGdnUFNCbloyRnRiV0U0TG5KbFpFbEJaR1FvWjJkaGJXMWhPQ2s3WEc0Z0lDQWdibmtnUFNCaGJIQm9ZUzV5WldSTmRXd29ZbVYwWVRRdWNtVmtTVk4xWWlodWVDa3BMbkpsWkVsVGRXSW9aMmRoYlcxaE9DazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzVxY0c5cGJuUW9ibmdzSUc1NUxDQnVlaWs3WEc1OU8xeHVYRzVLVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlrWW13Z1BTQm1kVzVqZEdsdmJpQmZaR0pzS0NrZ2UxeHVJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkzVnlkbVV1WVR0Y2JseHVJQ0F2THlBMFRTQXJJRFpUSUNzZ01UQkJYRzRnSUhaaGNpQnFlQ0E5SUhSb2FYTXVlRHRjYmlBZ2RtRnlJR3A1SUQwZ2RHaHBjeTU1TzF4dUlDQjJZWElnYW5vZ1BTQjBhR2x6TG5vN1hHNGdJSFpoY2lCcWVqUWdQU0JxZWk1eVpXUlRjWElvS1M1eVpXUlRjWElvS1R0Y2JseHVJQ0IyWVhJZ2FuZ3lJRDBnYW5ndWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCcWVUSWdQU0JxZVM1eVpXUlRjWElvS1R0Y2JseHVJQ0IyWVhJZ1l5QTlJR3A0TWk1eVpXUkJaR1FvYW5neUtTNXlaV1JKUVdSa0tHcDRNaWt1Y21Wa1NVRmtaQ2hoTG5KbFpFMTFiQ2hxZWpRcEtUdGNibHh1SUNCMllYSWdhbmhrTkNBOUlHcDRMbkpsWkVGa1pDaHFlQ2s3WEc0Z0lHcDRaRFFnUFNCcWVHUTBMbkpsWkVsQlpHUW9hbmhrTkNrN1hHNGdJSFpoY2lCME1TQTlJR3A0WkRRdWNtVmtUWFZzS0dwNU1pazdYRzRnSUhaaGNpQnVlQ0E5SUdNdWNtVmtVM0Z5S0NrdWNtVmtTVk4xWWloME1TNXlaV1JCWkdRb2RERXBLVHRjYmlBZ2RtRnlJSFF5SUQwZ2RERXVjbVZrU1ZOMVlpaHVlQ2s3WEc1Y2JpQWdkbUZ5SUdwNVpEZ2dQU0JxZVRJdWNtVmtVM0Z5S0NrN1hHNGdJR3A1WkRnZ1BTQnFlV1E0TG5KbFpFbEJaR1FvYW5sa09DazdYRzRnSUdwNVpEZ2dQU0JxZVdRNExuSmxaRWxCWkdRb2FubGtPQ2s3WEc0Z0lHcDVaRGdnUFNCcWVXUTRMbkpsWkVsQlpHUW9hbmxrT0NrN1hHNGdJSFpoY2lCdWVTQTlJR011Y21Wa1RYVnNLSFF5S1M1eVpXUkpVM1ZpS0dwNVpEZ3BPMXh1SUNCMllYSWdibm9nUFNCcWVTNXlaV1JCWkdRb2Fua3BMbkpsWkUxMWJDaHFlaWs3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVhbkJ2YVc1MEtHNTRMQ0J1ZVN3Z2Jub3BPMXh1ZlR0Y2JseHVTbEJ2YVc1MExuQnliM1J2ZEhsd1pTNTBjbkJzSUQwZ1puVnVZM1JwYjI0Z2RISndiQ2dwSUh0Y2JpQWdhV1lnS0NGMGFHbHpMbU4xY25abExucGxjbTlCS1Z4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1SaWJDZ3BMbUZrWkNoMGFHbHpLVHRjYmx4dUlDQXZMeUJvZVhCbGNtVnNiR2x3ZEdsakxtOXlaeTlGUmtRdlp6RndMMkYxZEc4dGMyaHZjblIzTFdwaFkyOWlhV0Z1TFRBdWFIUnRiQ04wY21sd2JHbHVaeTEwY0d3dE1qQXdOeTFpYkZ4dUlDQXZMeUExVFNBcklERXdVeUFySUM0dUxseHVYRzRnSUM4dklGaFlJRDBnV0RGZU1seHVJQ0IyWVhJZ2VIZ2dQU0IwYUdsekxuZ3VjbVZrVTNGeUtDazdYRzRnSUM4dklGbFpJRDBnV1RGZU1seHVJQ0IyWVhJZ2VYa2dQU0IwYUdsekxua3VjbVZrVTNGeUtDazdYRzRnSUM4dklGcGFJRDBnV2pGZU1seHVJQ0IyWVhJZ2Vub2dQU0IwYUdsekxub3VjbVZrVTNGeUtDazdYRzRnSUM4dklGbFpXVmtnUFNCWldWNHlYRzRnSUhaaGNpQjVlWGw1SUQwZ2VYa3VjbVZrVTNGeUtDazdYRzRnSUM4dklFMGdQU0F6SUNvZ1dGZ2dLeUJoSUNvZ1dsb3lPeUJoSUQwZ01GeHVJQ0IyWVhJZ2JTQTlJSGg0TG5KbFpFRmtaQ2g0ZUNrdWNtVmtTVUZrWkNoNGVDazdYRzRnSUM4dklFMU5JRDBnVFY0eVhHNGdJSFpoY2lCdGJTQTlJRzB1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRVVnUFNBMklDb2dLQ2hZTVNBcklGbFpLVjR5SUMwZ1dGZ2dMU0JaV1ZsWktTQXRJRTFOWEc0Z0lIWmhjaUJsSUQwZ2RHaHBjeTU0TG5KbFpFRmtaQ2g1ZVNrdWNtVmtVM0Z5S0NrdWNtVmtTVk4xWWloNGVDa3VjbVZrU1ZOMVlpaDVlWGw1S1R0Y2JpQWdaU0E5SUdVdWNtVmtTVUZrWkNobEtUdGNiaUFnWlNBOUlHVXVjbVZrUVdSa0tHVXBMbkpsWkVsQlpHUW9aU2s3WEc0Z0lHVWdQU0JsTG5KbFpFbFRkV0lvYlcwcE8xeHVJQ0F2THlCRlJTQTlJRVZlTWx4dUlDQjJZWElnWldVZ1BTQmxMbkpsWkZOeGNpZ3BPMXh1SUNBdkx5QlVJRDBnTVRZcVdWbFpXVnh1SUNCMllYSWdkQ0E5SUhsNWVYa3VjbVZrU1VGa1pDaDVlWGw1S1R0Y2JpQWdkQ0E5SUhRdWNtVmtTVUZrWkNoMEtUdGNiaUFnZENBOUlIUXVjbVZrU1VGa1pDaDBLVHRjYmlBZ2RDQTlJSFF1Y21Wa1NVRmtaQ2gwS1R0Y2JpQWdMeThnVlNBOUlDaE5JQ3NnUlNsZU1pQXRJRTFOSUMwZ1JVVWdMU0JVWEc0Z0lIWmhjaUIxSUQwZ2JTNXlaV1JKUVdSa0tHVXBMbkpsWkZOeGNpZ3BMbkpsWkVsVGRXSW9iVzBwTG5KbFpFbFRkV0lvWldVcExuSmxaRWxUZFdJb2RDazdYRzRnSUM4dklGZ3pJRDBnTkNBcUlDaFlNU0FxSUVWRklDMGdOQ0FxSUZsWklDb2dWU2xjYmlBZ2RtRnlJSGw1ZFRRZ1BTQjVlUzV5WldSTmRXd29kU2s3WEc0Z0lIbDVkVFFnUFNCNWVYVTBMbkpsWkVsQlpHUW9lWGwxTkNrN1hHNGdJSGw1ZFRRZ1BTQjVlWFUwTG5KbFpFbEJaR1FvZVhsMU5DazdYRzRnSUhaaGNpQnVlQ0E5SUhSb2FYTXVlQzV5WldSTmRXd29aV1VwTG5KbFpFbFRkV0lvZVhsMU5DazdYRzRnSUc1NElEMGdibmd1Y21Wa1NVRmtaQ2h1ZUNrN1hHNGdJRzU0SUQwZ2JuZ3VjbVZrU1VGa1pDaHVlQ2s3WEc0Z0lDOHZJRmt6SUQwZ09DQXFJRmt4SUNvZ0tGVWdLaUFvVkNBdElGVXBJQzBnUlNBcUlFVkZLVnh1SUNCMllYSWdibmtnUFNCMGFHbHpMbmt1Y21Wa1RYVnNLSFV1Y21Wa1RYVnNLSFF1Y21Wa1NWTjFZaWgxS1NrdWNtVmtTVk4xWWlobExuSmxaRTExYkNobFpTa3BLVHRjYmlBZ2Jua2dQU0J1ZVM1eVpXUkpRV1JrS0c1NUtUdGNiaUFnYm5rZ1BTQnVlUzV5WldSSlFXUmtLRzU1S1R0Y2JpQWdibmtnUFNCdWVTNXlaV1JKUVdSa0tHNTVLVHRjYmlBZ0x5OGdXak1nUFNBb1dqRWdLeUJGS1Y0eUlDMGdXbG9nTFNCRlJWeHVJQ0IyWVhJZ2Jub2dQU0IwYUdsekxub3VjbVZrUVdSa0tHVXBMbkpsWkZOeGNpZ3BMbkpsWkVsVGRXSW9lbm9wTG5KbFpFbFRkV0lvWldVcE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTG1wd2IybHVkQ2h1ZUN3Z2Jua3NJRzU2S1R0Y2JuMDdYRzVjYmtwUWIybHVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzS0dzc0lHdGlZWE5sS1NCN1hHNGdJR3NnUFNCdVpYY2dRazRvYXl3Z2EySmhjMlVwTzF4dVhHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbDkzYm1GbVRYVnNLSFJvYVhNc0lHc3BPMXh1ZlR0Y2JseHVTbEJ2YVc1MExuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeEtIQXBJSHRjYmlBZ2FXWWdLSEF1ZEhsd1pTQTlQVDBnSjJGbVptbHVaU2NwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WlhFb2NDNTBiMG9vS1NrN1hHNWNiaUFnYVdZZ0tIUm9hWE1nUFQwOUlIQXBYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzVjYmlBZ0x5OGdlREVnS2lCNk1sNHlJRDA5SUhneUlDb2dlakZlTWx4dUlDQjJZWElnZWpJZ1BTQjBhR2x6TG5vdWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCd2VqSWdQU0J3TG5vdWNtVmtVM0Z5S0NrN1hHNGdJR2xtSUNoMGFHbHpMbmd1Y21Wa1RYVnNLSEI2TWlrdWNtVmtTVk4xWWlod0xuZ3VjbVZrVFhWc0tIb3lLU2t1WTIxd2JpZ3dLU0FoUFQwZ01DbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdlVEVnS2lCNk1sNHpJRDA5SUhreUlDb2dlakZlTTF4dUlDQjJZWElnZWpNZ1BTQjZNaTV5WldSTmRXd29kR2hwY3k1NktUdGNiaUFnZG1GeUlIQjZNeUE5SUhCNk1pNXlaV1JOZFd3b2NDNTZLVHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVlUzV5WldSTmRXd29jSG96S1M1eVpXUkpVM1ZpS0hBdWVTNXlaV1JOZFd3b2VqTXBLUzVqYlhCdUtEQXBJRDA5UFNBd08xeHVmVHRjYmx4dVNsQnZhVzUwTG5CeWIzUnZkSGx3WlM1bGNWaFViMUFnUFNCbWRXNWpkR2x2YmlCbGNWaFViMUFvZUNrZ2UxeHVJQ0IyWVhJZ2VuTWdQU0IwYUdsekxub3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQnllQ0E5SUhndWRHOVNaV1FvZEdocGN5NWpkWEoyWlM1eVpXUXBMbkpsWkUxMWJDaDZjeWs3WEc0Z0lHbG1JQ2gwYUdsekxuZ3VZMjF3S0hKNEtTQTlQVDBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JseHVJQ0IyWVhJZ2VHTWdQU0I0TG1Oc2IyNWxLQ2s3WEc0Z0lIWmhjaUIwSUQwZ2RHaHBjeTVqZFhKMlpTNXlaV1JPTG5KbFpFMTFiQ2g2Y3lrN1hHNGdJR1p2Y2lBb096c3BJSHRjYmlBZ0lDQjRZeTVwWVdSa0tIUm9hWE11WTNWeWRtVXViaWs3WEc0Z0lDQWdhV1lnS0hoakxtTnRjQ2gwYUdsekxtTjFjblpsTG5BcElENDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNCeWVDNXlaV1JKUVdSa0tIUXBPMXh1SUNBZ0lHbG1JQ2gwYUdsekxuZ3VZMjF3S0hKNEtTQTlQVDBnTUNsY2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1OU8xeHVYRzVLVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBLQ2tnZTF4dUlDQnBaaUFvZEdocGN5NXBjMGx1Wm1sdWFYUjVLQ2twWEc0Z0lDQWdjbVYwZFhKdUlDYzhSVU1nU2xCdmFXNTBJRWx1Wm1sdWFYUjVQaWM3WEc0Z0lISmxkSFZ5YmlBblBFVkRJRXBRYjJsdWRDQjRPaUFuSUNzZ2RHaHBjeTU0TG5SdlUzUnlhVzVuS0RFMkxDQXlLU0FyWEc0Z0lDQWdJQ0FuSUhrNklDY2dLeUIwYUdsekxua3VkRzlUZEhKcGJtY29NVFlzSURJcElDdGNiaUFnSUNBZ0lDY2dlam9nSnlBcklIUm9hWE11ZWk1MGIxTjBjbWx1WnlneE5pd2dNaWtnS3lBblBpYzdYRzU5TzF4dVhHNUtVRzlwYm5RdWNISnZkRzkwZVhCbExtbHpTVzVtYVc1cGRIa2dQU0JtZFc1amRHbHZiaUJwYzBsdVptbHVhWFI1S0NrZ2UxeHVJQ0F2THlCWVdGZ2dWR2hwY3lCamIyUmxJR0Z6YzNWdFpYTWdkR2hoZENCNlpYSnZJR2x6SUdGc2QyRjVjeUI2WlhKdklHbHVJSEpsWkZ4dUlDQnlaWFIxY200Z2RHaHBjeTU2TG1OdGNHNG9NQ2tnUFQwOUlEQTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlcy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBjdXJ2ZXMgPSBleHBvcnRzO1xcblxcbnZhciBoYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1xcXCIpO1xcbnZhciBjdXJ2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY3VydmUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9pbmRleC5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy91dGlscy5qc1xcXCIpO1xcblxcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XFxuXFxuZnVuY3Rpb24gUHJlc2V0Q3VydmUob3B0aW9ucykge1xcbiAgaWYgKG9wdGlvbnMudHlwZSA9PT0gJ3Nob3J0JylcXG4gICAgdGhpcy5jdXJ2ZSA9IG5ldyBjdXJ2ZS5zaG9ydChvcHRpb25zKTtcXG4gIGVsc2UgaWYgKG9wdGlvbnMudHlwZSA9PT0gJ2Vkd2FyZHMnKVxcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLmVkd2FyZHMob3B0aW9ucyk7XFxuICBlbHNlXFxuICAgIHRoaXMuY3VydmUgPSBuZXcgY3VydmUubW9udChvcHRpb25zKTtcXG4gIHRoaXMuZyA9IHRoaXMuY3VydmUuZztcXG4gIHRoaXMubiA9IHRoaXMuY3VydmUubjtcXG4gIHRoaXMuaGFzaCA9IG9wdGlvbnMuaGFzaDtcXG5cXG4gIGFzc2VydCh0aGlzLmcudmFsaWRhdGUoKSwgJ0ludmFsaWQgY3VydmUnKTtcXG4gIGFzc2VydCh0aGlzLmcubXVsKHRoaXMubikuaXNJbmZpbml0eSgpLCAnSW52YWxpZCBjdXJ2ZSwgRypOICE9IE8nKTtcXG59XFxuY3VydmVzLlByZXNldEN1cnZlID0gUHJlc2V0Q3VydmU7XFxuXFxuZnVuY3Rpb24gZGVmaW5lQ3VydmUobmFtZSwgb3B0aW9ucykge1xcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGN1cnZlcywgbmFtZSwge1xcbiAgICBjb25maWd1cmFibGU6IHRydWUsXFxuICAgIGVudW1lcmFibGU6IHRydWUsXFxuICAgIGdldDogZnVuY3Rpb24oKSB7XFxuICAgICAgdmFyIGN1cnZlID0gbmV3IFByZXNldEN1cnZlKG9wdGlvbnMpO1xcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJ2ZXMsIG5hbWUsIHtcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXFxuICAgICAgICB2YWx1ZTogY3VydmVcXG4gICAgICB9KTtcXG4gICAgICByZXR1cm4gY3VydmU7XFxuICAgIH1cXG4gIH0pO1xcbn1cXG5cXG5kZWZpbmVDdXJ2ZSgncDE5MicsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogJ3AxOTInLFxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyxcXG4gIGE6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmYycsXFxuICBiOiAnNjQyMTA1MTkgZTU5YzgwZTcgMGZhN2U5YWIgNzIyNDMwNDkgZmViOGRlZWMgYzE0NmI5YjEnLFxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDk5ZGVmODM2IDE0NmJjOWIxIGI0ZDIyODMxJyxcXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxcbiAgZ1JlZDogZmFsc2UsXFxuICBnOiBbXFxuICAgICcxODhkYTgwZSBiMDMwOTBmNiA3Y2JmMjBlYiA0M2ExODgwMCBmNGZmMGFmZCA4MmZmMTAxMicsXFxuICAgICcwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgncDIyNCcsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogJ3AyMjQnLFxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyxcXG4gIGE6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZScsXFxuICBiOiAnYjQwNTBhODUgMGMwNGIzYWIgZjU0MTMyNTYgNTA0NGIwYjcgZDdiZmQ4YmEgMjcwYjM5NDMgMjM1NWZmYjQnLFxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkJyxcXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxcbiAgZ1JlZDogZmFsc2UsXFxuICBnOiBbXFxuICAgICdiNzBlMGNiZCA2YmI0YmY3ZiAzMjEzOTBiOSA0YTAzYzFkMyA1NmMyMTEyMiAzNDMyODBkNiAxMTVjMWQyMScsXFxuICAgICdiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgncDI1NicsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogbnVsbCxcXG4gIHA6ICdmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZicsXFxuICBhOiAnZmZmZmZmZmYgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMnLFxcbiAgYjogJzVhYzYzNWQ4IGFhM2E5M2U3IGIzZWJiZDU1IDc2OTg4NmJjIDY1MWQwNmIwIGNjNTNiMGY2IDNiY2UzYzNlIDI3ZDI2MDRiJyxcXG4gIG46ICdmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBiY2U2ZmFhZCBhNzE3OWU4NCBmM2I5Y2FjMiBmYzYzMjU1MScsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnNmIxN2QxZjIgZTEyYzQyNDcgZjhiY2U2ZTUgNjNhNDQwZjIgNzcwMzdkODEgMmRlYjMzYTAgZjRhMTM5NDUgZDg5OGMyOTYnLFxcbiAgICAnNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUnXFxuICBdXFxufSk7XFxuXFxuZGVmaW5lQ3VydmUoJ3AzODQnLCB7XFxuICB0eXBlOiAnc2hvcnQnLFxcbiAgcHJpbWU6IG51bGwsXFxuICBwOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXFxuICAgICAnZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYnLFxcbiAgYTogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICcgK1xcbiAgICAgJ2ZmZmZmZmZlIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZjJyxcXG4gIGI6ICdiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiAnICtcXG4gICAgICc1MDEzODc1YSBjNjU2Mzk4ZCA4YTJlZDE5ZCAyYTg1YzhlZCBkM2VjMmFlZicsXFxuICBuOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgYzc2MzRkODEgJyArXFxuICAgICAnZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzMnLFxcbiAgaGFzaDogaGFzaC5zaGEzODQsXFxuICBnUmVkOiBmYWxzZSxcXG4gIGc6IFtcXG4gICAgJ2FhODdjYTIyIGJlOGIwNTM3IDhlYjFjNzFlIGYzMjBhZDc0IDZlMWQzYjYyIDhiYTc5Yjk4IDU5Zjc0MWUwIDgyNTQyYTM4ICcgK1xcbiAgICAnNTUwMmYyNWQgYmY1NTI5NmMgM2E1NDVlMzggNzI3NjBhYjcnLFxcbiAgICAnMzYxN2RlNGEgOTYyNjJjNmYgNWQ5ZTk4YmYgOTI5MmRjMjkgZjhmNDFkYmQgMjg5YTE0N2MgZTlkYTMxMTMgYjVmMGI4YzAgJyArXFxuICAgICcwYTYwYjFjZSAxZDdlODE5ZCA3YTQzMWQ3YyA5MGVhMGU1ZidcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgncDUyMScsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogbnVsbCxcXG4gIHA6ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZicsXFxuICBhOiAnMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXFxuICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXFxuICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMnLFxcbiAgYjogJzAwMDAwMDUxIDk1M2ViOTYxIDhlMWM5YTFmIDkyOWEyMWEwIGI2ODU0MGVlIGEyZGE3MjViICcgK1xcbiAgICAgJzk5YjMxNWYzIGI4YjQ4OTkxIDhlZjEwOWUxIDU2MTkzOTUxIGVjN2U5MzdiIDE2NTJjMGJkICcgK1xcbiAgICAgJzNiYjFiZjA3IDM1NzNkZjg4IDNkMmMzNGYxIGVmNDUxZmQ0IDZiNTAzZjAwJyxcXG4gIG46ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYSA1MTg2ODc4MyBiZjJmOTY2YiA3ZmNjMDE0OCAnICtcXG4gICAgICdmNzA5YTVkMCAzYmI1YzliOCA4OTljNDdhZSBiYjZmYjcxZSA5MTM4NjQwOScsXFxuICBoYXNoOiBoYXNoLnNoYTUxMixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgJyArXFxuICAgICcwNTNmYjUyMSBmODI4YWY2MCA2YjRkM2RiYSBhMTRiNWU3NyBlZmU3NTkyOCBmZTFkYzEyNyAnICtcXG4gICAgJ2EyZmZhOGRlIDMzNDhiM2MxIDg1NmE0MjliIGY5N2U3ZTMxIGMyZTViZDY2JyxcXG4gICAgJzAwMDAwMTE4IDM5Mjk2YTc4IDlhM2JjMDA0IDVjOGE1ZmI0IDJjN2QxYmQ5IDk4ZjU0NDQ5ICcgK1xcbiAgICAnNTc5YjQ0NjggMTdhZmJkMTcgMjczZTY2MmMgOTdlZTcyOTkgNWVmNDI2NDAgYzU1MGI5MDEgJyArXFxuICAgICczZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgnY3VydmUyNTUxOScsIHtcXG4gIHR5cGU6ICdtb250JyxcXG4gIHByaW1lOiAncDI1NTE5JyxcXG4gIHA6ICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyxcXG4gIGE6ICc3NmQwNicsXFxuICBiOiAnMScsXFxuICBuOiAnMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCcsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnOSdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgnZWQyNTUxOScsIHtcXG4gIHR5cGU6ICdlZHdhcmRzJyxcXG4gIHByaW1lOiAncDI1NTE5JyxcXG4gIHA6ICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyxcXG4gIGE6ICctMScsXFxuICBjOiAnMScsXFxuICAvLyAtMTIxNjY1ICogKDEyMTY2Nl4oLTEpKSAobW9kIFApXFxuICBkOiAnNTIwMzZjZWUyYjZmZmU3MyA4Y2M3NDA3OTc3NzllODk4IDAwNzAwYTRkNDE0MWQ4YWIgNzVlYjRkY2ExMzU5NzhhMycsXFxuICBuOiAnMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCcsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnMjE2OTM2ZDNjZDZlNTNmZWMwYTRlMjMxZmRkNmRjNWM2OTJjYzc2MDk1MjVhN2IyYzk1NjJkNjA4ZjI1ZDUxYScsXFxuXFxuICAgIC8vIDQvNVxcbiAgICAnNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCdcXG4gIF1cXG59KTtcXG5cXG52YXIgcHJlO1xcbnRyeSB7XFxuICBwcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ByZWNvbXB1dGVkL3NlY3AyNTZrMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3ByZWNvbXB1dGVkL3NlY3AyNTZrMS5qc1xcXCIpO1xcbn0gY2F0Y2ggKGUpIHtcXG4gIHByZSA9IHVuZGVmaW5lZDtcXG59XFxuXFxuZGVmaW5lQ3VydmUoJ3NlY3AyNTZrMScsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogJ2syNTYnLFxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmJyxcXG4gIGE6ICcwJyxcXG4gIGI6ICc3JyxcXG4gIG46ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBiYWFlZGNlNiBhZjQ4YTAzYiBiZmQyNWU4YyBkMDM2NDE0MScsXFxuICBoOiAnMScsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG5cXG4gIC8vIFByZWNvbXB1dGVkIGVuZG9tb3JwaGlzbVxcbiAgYmV0YTogJzdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUnLFxcbiAgbGFtYmRhOiAnNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MicsXFxuICBiYXNpczogW1xcbiAgICB7XFxuICAgICAgYTogJzMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1JyxcXG4gICAgICBiOiAnLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzJ1xcbiAgICB9LFxcbiAgICB7XFxuICAgICAgYTogJzExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCcsXFxuICAgICAgYjogJzMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1J1xcbiAgICB9XFxuICBdLFxcblxcbiAgZ1JlZDogZmFsc2UsXFxuICBnOiBbXFxuICAgICc3OWJlNjY3ZWY5ZGNiYmFjNTVhMDYyOTVjZTg3MGIwNzAyOWJmY2RiMmRjZTI4ZDk1OWYyODE1YjE2ZjgxNzk4JyxcXG4gICAgJzQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgnLFxcbiAgICBwcmVcXG4gIF1cXG59KTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WTNWeWRtVnpMbXB6UHpsaVpXTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSTdPMEZCUlVFc1YwRkJWeXh0UWtGQlR5eERRVUZETEcxRVFVRlRPMEZCUXpWQ0xGbEJRVmtzYlVKQlFVOHNRMEZCUXl4dlJVRkJVenRCUVVNM1FpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc09FUkJRVk03TzBGQlJUZENPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQkxGRkJRVkVzYlVKQlFVOHNRMEZCUXl3NFJrRkJlVUk3UVVGRGVrTXNRMEZCUXp0QlFVTkVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WTNWeWRtVnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWTNWeWRtVnpJRDBnWlhod2IzSjBjenRjYmx4dWRtRnlJR2hoYzJnZ1BTQnlaWEYxYVhKbEtDZG9ZWE5vTG1wekp5azdYRzUyWVhJZ1kzVnlkbVVnUFNCeVpYRjFhWEpsS0NjdUwyTjFjblpsSnlrN1hHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TDNWMGFXeHpKeWs3WEc1Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRkJ5WlhObGRFTjFjblpsS0c5d2RHbHZibk1wSUh0Y2JpQWdhV1lnS0c5d2RHbHZibk11ZEhsd1pTQTlQVDBnSjNOb2IzSjBKeWxjYmlBZ0lDQjBhR2x6TG1OMWNuWmxJRDBnYm1WM0lHTjFjblpsTG5Ob2IzSjBLRzl3ZEdsdmJuTXBPMXh1SUNCbGJITmxJR2xtSUNodmNIUnBiMjV6TG5SNWNHVWdQVDA5SUNkbFpIZGhjbVJ6SnlsY2JpQWdJQ0IwYUdsekxtTjFjblpsSUQwZ2JtVjNJR04xY25abExtVmtkMkZ5WkhNb2IzQjBhVzl1Y3lrN1hHNGdJR1ZzYzJWY2JpQWdJQ0IwYUdsekxtTjFjblpsSUQwZ2JtVjNJR04xY25abExtMXZiblFvYjNCMGFXOXVjeWs3WEc0Z0lIUm9hWE11WnlBOUlIUm9hWE11WTNWeWRtVXVaenRjYmlBZ2RHaHBjeTV1SUQwZ2RHaHBjeTVqZFhKMlpTNXVPMXh1SUNCMGFHbHpMbWhoYzJnZ1BTQnZjSFJwYjI1ekxtaGhjMmc3WEc1Y2JpQWdZWE56WlhKMEtIUm9hWE11Wnk1MllXeHBaR0YwWlNncExDQW5TVzUyWVd4cFpDQmpkWEoyWlNjcE8xeHVJQ0JoYzNObGNuUW9kR2hwY3k1bkxtMTFiQ2gwYUdsekxtNHBMbWx6U1c1bWFXNXBkSGtvS1N3Z0owbHVkbUZzYVdRZ1kzVnlkbVVzSUVjcVRpQWhQU0JQSnlrN1hHNTlYRzVqZFhKMlpYTXVVSEpsYzJWMFEzVnlkbVVnUFNCUWNtVnpaWFJEZFhKMlpUdGNibHh1Wm5WdVkzUnBiMjRnWkdWbWFXNWxRM1Z5ZG1Vb2JtRnRaU3dnYjNCMGFXOXVjeWtnZTF4dUlDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWTNWeWRtVnpMQ0J1WVcxbExDQjdYRzRnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExGeHVJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEc0Z0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lIWmhjaUJqZFhKMlpTQTlJRzVsZHlCUWNtVnpaWFJEZFhKMlpTaHZjSFJwYjI1ektUdGNiaUFnSUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqZFhKMlpYTXNJRzVoYldVc0lIdGNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0IyWVd4MVpUb2dZM1Z5ZG1WY2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOMWNuWmxPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNTlYRzVjYm1SbFptbHVaVU4xY25abEtDZHdNVGt5Snl3Z2UxeHVJQ0IwZVhCbE9pQW5jMmh2Y25RbkxGeHVJQ0J3Y21sdFpUb2dKM0F4T1RJbkxGeHVJQ0J3T2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZbkxGeHVJQ0JoT2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1NbkxGeHVJQ0JpT2lBbk5qUXlNVEExTVRrZ1pUVTVZemd3WlRjZ01HWmhOMlU1WVdJZ056SXlORE13TkRrZ1ptVmlPR1JsWldNZ1l6RTBObUk1WWpFbkxGeHVJQ0J1T2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ09UbGtaV1k0TXpZZ01UUTJZbU01WWpFZ1lqUmtNakk0TXpFbkxGeHVJQ0JvWVhOb09pQm9ZWE5vTG5Ob1lUSTFOaXhjYmlBZ1oxSmxaRG9nWm1Gc2MyVXNYRzRnSUdjNklGdGNiaUFnSUNBbk1UZzRaR0U0TUdVZ1lqQXpNRGt3WmpZZ04yTmlaakl3WldJZ05ETmhNVGc0TURBZ1pqUm1aakJoWm1RZ09ESm1aakV3TVRJbkxGeHVJQ0FnSUNjd056RTVNbUk1TlNCbVptTTRaR0UzT0NBMk16RXdNVEZsWkNBMllqSTBZMlJrTlNBM00yWTVOemRoTVNBeFpUYzVORGd4TVNkY2JpQWdYVnh1ZlNrN1hHNWNibVJsWm1sdVpVTjFjblpsS0Nkd01qSTBKeXdnZTF4dUlDQjBlWEJsT2lBbmMyaHZjblFuTEZ4dUlDQndjbWx0WlRvZ0ozQXlNalFuTEZ4dUlDQndPaUFuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnTURBd01EQXdNREFnTURBd01EQXdNREFnTURBd01EQXdNREVuTEZ4dUlDQmhPaUFuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVVnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVVuTEZ4dUlDQmlPaUFuWWpRd05UQmhPRFVnTUdNd05HSXpZV0lnWmpVME1UTXlOVFlnTlRBME5HSXdZamNnWkRkaVptUTRZbUVnTWpjd1lqTTVORE1nTWpNMU5XWm1ZalFuTEZ4dUlDQnVPaUFuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVpqRTJZVElnWlRCaU9HWXdNMlVnTVROa1pESTVORFVnTldNMVl6SmhNMlFuTEZ4dUlDQm9ZWE5vT2lCb1lYTm9Mbk5vWVRJMU5peGNiaUFnWjFKbFpEb2dabUZzYzJVc1hHNGdJR2M2SUZ0Y2JpQWdJQ0FuWWpjd1pUQmpZbVFnTm1KaU5HSm1OMllnTXpJeE16a3dZamtnTkdFd00yTXhaRE1nTlRaak1qRXhNaklnTXpRek1qZ3daRFlnTVRFMVl6RmtNakVuTEZ4dUlDQWdJQ2RpWkRNM05qTTRPQ0JpTldZM01qTm1ZaUEwWXpJeVpHWmxOaUJqWkRRek56VmhNQ0ExWVRBM05EYzJOQ0EwTkdRMU9ERTVPU0E0TlRBd04yVXpOQ2RjYmlBZ1hWeHVmU2s3WEc1Y2JtUmxabWx1WlVOMWNuWmxLQ2R3TWpVMkp5d2dlMXh1SUNCMGVYQmxPaUFuYzJodmNuUW5MRnh1SUNCd2NtbHRaVG9nYm5Wc2JDeGNiaUFnY0RvZ0oyWm1abVptWm1abUlEQXdNREF3TURBeElEQXdNREF3TURBd0lEQXdNREF3TURBd0lEQXdNREF3TURBd0lHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUp5eGNiaUFnWVRvZ0oyWm1abVptWm1abUlEQXdNREF3TURBeElEQXdNREF3TURBd0lEQXdNREF3TURBd0lEQXdNREF3TURBd0lHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1aakp5eGNiaUFnWWpvZ0p6VmhZell6TldRNElHRmhNMkU1TTJVM0lHSXpaV0ppWkRVMUlEYzJPVGc0Tm1KaklEWTFNV1F3Tm1Jd0lHTmpOVE5pTUdZMklETmlZMlV6WXpObElESTNaREkyTURSaUp5eGNiaUFnYmpvZ0oyWm1abVptWm1abUlEQXdNREF3TURBd0lHWm1abVptWm1abUlHWm1abVptWm1abUlHSmpaVFptWVdGa0lHRTNNVGM1WlRnMElHWXpZamxqWVdNeUlHWmpOak15TlRVeEp5eGNiaUFnYUdGemFEb2dhR0Z6YUM1emFHRXlOVFlzWEc0Z0lHZFNaV1E2SUdaaGJITmxMRnh1SUNCbk9pQmJYRzRnSUNBZ0p6WmlNVGRrTVdZeUlHVXhNbU0wTWpRM0lHWTRZbU5sTm1VMUlEWXpZVFEwTUdZeUlEYzNNRE0zWkRneElESmtaV0l6TTJFd0lHWTBZVEV6T1RRMUlHUTRPVGhqTWprMkp5eGNiaUFnSUNBbk5HWmxNelF5WlRJZ1ptVXhZVGRtT1dJZ09HVmxOMlZpTkdFZ04yTXdaamxsTVRZZ01tSmpaVE16TlRjZ05tSXpNVFZsWTJVZ1kySmlOalF3TmpnZ016ZGlaalV4WmpVblhHNGdJRjFjYm4wcE8xeHVYRzVrWldacGJtVkRkWEoyWlNnbmNETTROQ2NzSUh0Y2JpQWdkSGx3WlRvZ0ozTm9iM0owSnl4Y2JpQWdjSEpwYldVNklHNTFiR3dzWEc0Z0lIQTZJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUFuSUN0Y2JpQWdJQ0FnSjJabVptWm1abVpsSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SUdabVptWm1abVptSnl4Y2JpQWdZVG9nSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUNjZ0sxeHVJQ0FnSUNBblptWm1abVptWm1VZ1ptWm1abVptWm1ZZ01EQXdNREF3TURBZ01EQXdNREF3TURBZ1ptWm1abVptWm1NbkxGeHVJQ0JpT2lBbllqTXpNVEptWVRjZ1pUSXpaV1UzWlRRZ09UZzRaVEExTm1JZ1pUTm1PREprTVRrZ01UZ3haRGxqTm1VZ1ptVTRNVFF4TVRJZ01ETXhOREE0T0dZZ0p5QXJYRzRnSUNBZ0lDYzFNREV6T0RjMVlTQmpOalUyTXprNFpDQTRZVEpsWkRFNVpDQXlZVGcxWXpobFpDQmtNMlZqTW1GbFppY3NYRzRnSUc0NklDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQmpOell6TkdRNE1TQW5JQ3RjYmlBZ0lDQWdKMlkwTXpjeVpHUm1JRFU0TVdFd1pHSXlJRFE0WWpCaE56ZGhJR1ZqWldNeE9UWmhJR05qWXpVeU9UY3pKeXhjYmlBZ2FHRnphRG9nYUdGemFDNXphR0V6T0RRc1hHNGdJR2RTWldRNklHWmhiSE5sTEZ4dUlDQm5PaUJiWEc0Z0lDQWdKMkZoT0RkallUSXlJR0psT0dJd05UTTNJRGhsWWpGak56RmxJR1l6TWpCaFpEYzBJRFpsTVdRellqWXlJRGhpWVRjNVlqazRJRFU1WmpjME1XVXdJRGd5TlRReVlUTTRJQ2NnSzF4dUlDQWdJQ2MxTlRBeVpqSTFaQ0JpWmpVMU1qazJZeUF6WVRVME5XVXpPQ0EzTWpjMk1HRmlOeWNzWEc0Z0lDQWdKek0yTVRka1pUUmhJRGsyTWpZeVl6Wm1JRFZrT1dVNU9HSm1JRGt5T1RKa1l6STVJR1k0WmpReFpHSmtJREk0T1dFeE5EZGpJR1U1WkdFek1URXpJR0kxWmpCaU9HTXdJQ2NnSzF4dUlDQWdJQ2N3WVRZd1lqRmpaU0F4WkRkbE9ERTVaQ0EzWVRRek1XUTNZeUE1TUdWaE1HVTFaaWRjYmlBZ1hWeHVmU2s3WEc1Y2JtUmxabWx1WlVOMWNuWmxLQ2R3TlRJeEp5d2dlMXh1SUNCMGVYQmxPaUFuYzJodmNuUW5MRnh1SUNCd2NtbHRaVG9nYm5Wc2JDeGNiaUFnY0RvZ0p6QXdNREF3TVdabUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlDY2dLMXh1SUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdKeUFyWEc0Z0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaWNzWEc0Z0lHRTZJQ2N3TURBd01ERm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUFuSUN0Y2JpQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUNjZ0sxeHVJQ0FnSUNBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1NbkxGeHVJQ0JpT2lBbk1EQXdNREF3TlRFZ09UVXpaV0k1TmpFZ09HVXhZemxoTVdZZ09USTVZVEl4WVRBZ1lqWTROVFF3WldVZ1lUSmtZVGN5TldJZ0p5QXJYRzRnSUNBZ0lDYzVPV0l6TVRWbU15QmlPR0kwT0RrNU1TQTRaV1l4TURsbE1TQTFOakU1TXprMU1TQmxZemRsT1RNM1lpQXhOalV5WXpCaVpDQW5JQ3RjYmlBZ0lDQWdKek5pWWpGaVpqQTNJRE0xTnpOa1pqZzRJRE5rTW1Nek5HWXhJR1ZtTkRVeFptUTBJRFppTlRBelpqQXdKeXhjYmlBZ2Jqb2dKekF3TURBd01XWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JQ2NnSzF4dUlDQWdJQ0FuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abUVnTlRFNE5qZzNPRE1nWW1ZeVpqazJObUlnTjJaall6QXhORGdnSnlBclhHNGdJQ0FnSUNkbU56QTVZVFZrTUNBelltSTFZemxpT0NBNE9UbGpORGRoWlNCaVlqWm1ZamN4WlNBNU1UTTROalF3T1Njc1hHNGdJR2hoYzJnNklHaGhjMmd1YzJoaE5URXlMRnh1SUNCblVtVmtPaUJtWVd4elpTeGNiaUFnWnpvZ1cxeHVJQ0FnSUNjd01EQXdNREJqTmlBNE5UaGxNRFppTnlBd05EQTBaVGxqWkNBNVpUTmxZMkkyTmlBeU16azFZalEwTWlBNVl6WTBPREV6T1NBbklDdGNiaUFnSUNBbk1EVXpabUkxTWpFZ1pqZ3lPR0ZtTmpBZ05tSTBaRE5rWW1FZ1lURTBZalZsTnpjZ1pXWmxOelU1TWpnZ1ptVXhaR014TWpjZ0p5QXJYRzRnSUNBZ0oyRXlabVpoT0dSbElETXpORGhpTTJNeElEZzFObUUwTWpsaUlHWTVOMlUzWlRNeElHTXlaVFZpWkRZMkp5eGNiaUFnSUNBbk1EQXdNREF4TVRnZ016a3lPVFpoTnpnZ09XRXpZbU13TURRZ05XTTRZVFZtWWpRZ01tTTNaREZpWkRrZ09UaG1OVFEwTkRrZ0p5QXJYRzRnSUNBZ0p6VTNPV0kwTkRZNElERTNZV1ppWkRFM0lESTNNMlUyTmpKaklEazNaV1UzTWprNUlEVmxaalF5TmpRd0lHTTFOVEJpT1RBeElDY2dLMXh1SUNBZ0lDY3pabUZrTURjMk1TQXpOVE5qTnpBNE5pQmhNamN5WXpJME1DQTRPR0psT1RRM05pQTVabVF4TmpZMU1DZGNiaUFnWFZ4dWZTazdYRzVjYm1SbFptbHVaVU4xY25abEtDZGpkWEoyWlRJMU5URTVKeXdnZTF4dUlDQjBlWEJsT2lBbmJXOXVkQ2NzWEc0Z0lIQnlhVzFsT2lBbmNESTFOVEU1Snl4Y2JpQWdjRG9nSnpkbVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWm1aaUJtWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVpXUW5MRnh1SUNCaE9pQW5OelprTURZbkxGeHVJQ0JpT2lBbk1TY3NYRzRnSUc0NklDY3hNREF3TURBd01EQXdNREF3TURBd0lEQXdNREF3TURBd01EQXdNREF3TURBZ01UUmtaV1k1WkdWaE1tWTNPV05rTmlBMU9ERXlOak14WVRWalpqVmtNMlZrSnl4Y2JpQWdhR0Z6YURvZ2FHRnphQzV6YUdFeU5UWXNYRzRnSUdkU1pXUTZJR1poYkhObExGeHVJQ0JuT2lCYlhHNGdJQ0FnSnprblhHNGdJRjFjYm4wcE8xeHVYRzVrWldacGJtVkRkWEoyWlNnblpXUXlOVFV4T1Njc0lIdGNiaUFnZEhsd1pUb2dKMlZrZDJGeVpITW5MRnh1SUNCd2NtbHRaVG9nSjNBeU5UVXhPU2NzWEc0Z0lIQTZJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5eGNiaUFnWVRvZ0p5MHhKeXhjYmlBZ1l6b2dKekVuTEZ4dUlDQXZMeUF0TVRJeE5qWTFJQ29nS0RFeU1UWTJObDRvTFRFcEtTQW9iVzlrSUZBcFhHNGdJR1E2SUNjMU1qQXpObU5sWlRKaU5tWm1aVGN6SURoall6YzBNRGM1TnpjM09XVTRPVGdnTURBM01EQmhOR1EwTVRReFpEaGhZaUEzTldWaU5HUmpZVEV6TlRrM09HRXpKeXhjYmlBZ2Jqb2dKekV3TURBd01EQXdNREF3TURBd01EQWdNREF3TURBd01EQXdNREF3TURBd01DQXhOR1JsWmpsa1pXRXlaamM1WTJRMklEVTRNVEkyTXpGaE5XTm1OV1F6WldRbkxGeHVJQ0JvWVhOb09pQm9ZWE5vTG5Ob1lUSTFOaXhjYmlBZ1oxSmxaRG9nWm1Gc2MyVXNYRzRnSUdjNklGdGNiaUFnSUNBbk1qRTJPVE0yWkROalpEWmxOVE5tWldNd1lUUmxNak14Wm1Sa05tUmpOV00yT1RKall6YzJNRGsxTWpWaE4ySXlZemsxTmpKa05qQTRaakkxWkRVeFlTY3NYRzVjYmlBZ0lDQXZMeUEwTHpWY2JpQWdJQ0FuTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkxT0NkY2JpQWdYVnh1ZlNrN1hHNWNiblpoY2lCd2NtVTdYRzUwY25rZ2UxeHVJQ0J3Y21VZ1BTQnlaWEYxYVhKbEtDY3VMM0J5WldOdmJYQjFkR1ZrTDNObFkzQXlOVFpyTVNjcE8xeHVmU0JqWVhSamFDQW9aU2tnZTF4dUlDQndjbVVnUFNCMWJtUmxabWx1WldRN1hHNTlYRzVjYm1SbFptbHVaVU4xY25abEtDZHpaV053TWpVMmF6RW5MQ0I3WEc0Z0lIUjVjR1U2SUNkemFHOXlkQ2NzWEc0Z0lIQnlhVzFsT2lBbmF6STFOaWNzWEc0Z0lIQTZJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptTXlaaWNzWEc0Z0lHRTZJQ2N3Snl4Y2JpQWdZam9nSnpjbkxGeHVJQ0J1T2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ltRmhaV1JqWlRZZ1lXWTBPR0V3TTJJZ1ltWmtNalZsT0dNZ1pEQXpOalF4TkRFbkxGeHVJQ0JvT2lBbk1TY3NYRzRnSUdoaGMyZzZJR2hoYzJndWMyaGhNalUyTEZ4dVhHNGdJQzh2SUZCeVpXTnZiWEIxZEdWa0lHVnVaRzl0YjNKd2FHbHpiVnh1SUNCaVpYUmhPaUFuTjJGbE9UWmhNbUkyTlRkak1EY3hNRFpsTmpRME56bGxZV016TkRNMFpUazVZMll3TkRrM05URXlaalU0T1RrMVl6RXpPVFpqTWpnM01UazFNREZsWlNjc1hHNGdJR3hoYldKa1lUb2dKelV6TmpOaFpEUmpZekExWXpNd1pUQmhOVEkyTVdNd01qZzRNVEkyTkRWaE1USXlaVEl5WldFeU1EZ3hOalkzT0dSbU1ESTVOamRqTVdJeU0ySmtOekluTEZ4dUlDQmlZWE5wY3pvZ1cxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUdFNklDY3pNRGcyWkRJeU1XRTNaRFEyWW1Oa1pUZzJZemt3WlRRNU1qZzBaV0l4TlNjc1hHNGdJQ0FnSUNCaU9pQW5MV1UwTkRNM1pXUTJNREV3WlRnNE1qZzJaalUwTjJaaE9UQmhZbVpsTkdNekoxeHVJQ0FnSUgwc1hHNGdJQ0FnZTF4dUlDQWdJQ0FnWVRvZ0p6RXhOR05oTlRCbU4yRTRaVEptTTJZMk5UZGpNVEV3T0dRNVpEUTBZMlprT0Njc1hHNGdJQ0FnSUNCaU9pQW5NekE0Tm1ReU1qRmhOMlEwTm1KalpHVTRObU01TUdVME9USTROR1ZpTVRVblhHNGdJQ0FnZlZ4dUlDQmRMRnh1WEc0Z0lHZFNaV1E2SUdaaGJITmxMRnh1SUNCbk9pQmJYRzRnSUNBZ0p6YzVZbVUyTmpkbFpqbGtZMkppWVdNMU5XRXdOakk1TldObE9EY3dZakEzTURJNVltWmpaR0l5WkdObE1qaGtPVFU1WmpJNE1UVmlNVFptT0RFM09UZ25MRnh1SUNBZ0lDYzBPRE5oWkdFM056STJZVE5qTkRZMU5XUmhOR1ppWm1Nd1pURXhNRGhoT0daa01UZGlORFE0WVRZNE5UVTBNVGs1WXpRM1pEQTRabVppTVRCa05HSTRKeXhjYmlBZ0lDQndjbVZjYmlBZ1hWeHVmU2s3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgSG1hY0RSQkcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBobWFjLWRyYmcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2htYWMtZHJiZy9saWIvaG1hYy1kcmJnLmpzXFxcIik7XFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy91dGlscy5qc1xcXCIpO1xcbnZhciBjdXJ2ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jdXJ2ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZXMuanNcXFwiKTtcXG52YXIgcmFuZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3JhbmQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xcblxcbnZhciBLZXlQYWlyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9rZXkgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9rZXkuanNcXFwiKTtcXG52YXIgU2lnbmF0dXJlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaWduYXR1cmUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9zaWduYXR1cmUuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBFQyhvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgRUMpKVxcbiAgICByZXR1cm4gbmV3IEVDKG9wdGlvbnMpO1xcblxcbiAgLy8gU2hvcnRjdXQgYGVsbGlwdGljLmVjKGN1cnZlLW5hbWUpYFxcbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xcbiAgICBhc3NlcnQoY3VydmVzLmhhc093blByb3BlcnR5KG9wdGlvbnMpLCAnVW5rbm93biBjdXJ2ZSAnICsgb3B0aW9ucyk7XFxuXFxuICAgIG9wdGlvbnMgPSBjdXJ2ZXNbb3B0aW9uc107XFxuICB9XFxuXFxuICAvLyBTaG9ydGN1dCBmb3IgYGVsbGlwdGljLmVjKGVsbGlwdGljLmN1cnZlcy5jdXJ2ZU5hbWUpYFxcbiAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBjdXJ2ZXMuUHJlc2V0Q3VydmUpXFxuICAgIG9wdGlvbnMgPSB7IGN1cnZlOiBvcHRpb25zIH07XFxuXFxuICB0aGlzLmN1cnZlID0gb3B0aW9ucy5jdXJ2ZS5jdXJ2ZTtcXG4gIHRoaXMubiA9IHRoaXMuY3VydmUubjtcXG4gIHRoaXMubmggPSB0aGlzLm4udXNocm4oMSk7XFxuICB0aGlzLmcgPSB0aGlzLmN1cnZlLmc7XFxuXFxuICAvLyBQb2ludCBvbiBjdXJ2ZVxcbiAgdGhpcy5nID0gb3B0aW9ucy5jdXJ2ZS5nO1xcbiAgdGhpcy5nLnByZWNvbXB1dGUob3B0aW9ucy5jdXJ2ZS5uLmJpdExlbmd0aCgpICsgMSk7XFxuXFxuICAvLyBIYXNoIGZvciBmdW5jdGlvbiBmb3IgRFJCR1xcbiAgdGhpcy5oYXNoID0gb3B0aW9ucy5oYXNoIHx8IG9wdGlvbnMuY3VydmUuaGFzaDtcXG59XFxubW9kdWxlLmV4cG9ydHMgPSBFQztcXG5cXG5FQy5wcm90b3R5cGUua2V5UGFpciA9IGZ1bmN0aW9uIGtleVBhaXIob3B0aW9ucykge1xcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKHRoaXMsIG9wdGlvbnMpO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLmtleUZyb21Qcml2YXRlID0gZnVuY3Rpb24ga2V5RnJvbVByaXZhdGUocHJpdiwgZW5jKSB7XFxuICByZXR1cm4gS2V5UGFpci5mcm9tUHJpdmF0ZSh0aGlzLCBwcml2LCBlbmMpO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLmtleUZyb21QdWJsaWMgPSBmdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1YiwgZW5jKSB7XFxuICByZXR1cm4gS2V5UGFpci5mcm9tUHVibGljKHRoaXMsIHB1YiwgZW5jKTtcXG59O1xcblxcbkVDLnByb3RvdHlwZS5nZW5LZXlQYWlyID0gZnVuY3Rpb24gZ2VuS2V5UGFpcihvcHRpb25zKSB7XFxuICBpZiAoIW9wdGlvbnMpXFxuICAgIG9wdGlvbnMgPSB7fTtcXG5cXG4gIC8vIEluc3RhbnRpYXRlIEhtYWNfRFJCR1xcbiAgdmFyIGRyYmcgPSBuZXcgSG1hY0RSQkcoe1xcbiAgICBoYXNoOiB0aGlzLmhhc2gsXFxuICAgIHBlcnM6IG9wdGlvbnMucGVycyxcXG4gICAgcGVyc0VuYzogb3B0aW9ucy5wZXJzRW5jIHx8ICd1dGY4JyxcXG4gICAgZW50cm9weTogb3B0aW9ucy5lbnRyb3B5IHx8IHJhbmQodGhpcy5oYXNoLmhtYWNTdHJlbmd0aCksXFxuICAgIGVudHJvcHlFbmM6IG9wdGlvbnMuZW50cm9weSAmJiBvcHRpb25zLmVudHJvcHlFbmMgfHwgJ3V0ZjgnLFxcbiAgICBub25jZTogdGhpcy5uLnRvQXJyYXkoKVxcbiAgfSk7XFxuXFxuICB2YXIgYnl0ZXMgPSB0aGlzLm4uYnl0ZUxlbmd0aCgpO1xcbiAgdmFyIG5zMiA9IHRoaXMubi5zdWIobmV3IEJOKDIpKTtcXG4gIGRvIHtcXG4gICAgdmFyIHByaXYgPSBuZXcgQk4oZHJiZy5nZW5lcmF0ZShieXRlcykpO1xcbiAgICBpZiAocHJpdi5jbXAobnMyKSA+IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIHByaXYuaWFkZG4oMSk7XFxuICAgIHJldHVybiB0aGlzLmtleUZyb21Qcml2YXRlKHByaXYpO1xcbiAgfSB3aGlsZSAodHJ1ZSk7XFxufTtcXG5cXG5FQy5wcm90b3R5cGUuX3RydW5jYXRlVG9OID0gZnVuY3Rpb24gdHJ1bmNhdGVUb04obXNnLCB0cnVuY09ubHkpIHtcXG4gIHZhciBkZWx0YSA9IG1zZy5ieXRlTGVuZ3RoKCkgKiA4IC0gdGhpcy5uLmJpdExlbmd0aCgpO1xcbiAgaWYgKGRlbHRhID4gMClcXG4gICAgbXNnID0gbXNnLnVzaHJuKGRlbHRhKTtcXG4gIGlmICghdHJ1bmNPbmx5ICYmIG1zZy5jbXAodGhpcy5uKSA+PSAwKVxcbiAgICByZXR1cm4gbXNnLnN1Yih0aGlzLm4pO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gbXNnO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLnNpZ24gPSBmdW5jdGlvbiBzaWduKG1zZywga2V5LCBlbmMsIG9wdGlvbnMpIHtcXG4gIGlmICh0eXBlb2YgZW5jID09PSAnb2JqZWN0Jykge1xcbiAgICBvcHRpb25zID0gZW5jO1xcbiAgICBlbmMgPSBudWxsO1xcbiAgfVxcbiAgaWYgKCFvcHRpb25zKVxcbiAgICBvcHRpb25zID0ge307XFxuXFxuICBrZXkgPSB0aGlzLmtleUZyb21Qcml2YXRlKGtleSwgZW5jKTtcXG4gIG1zZyA9IHRoaXMuX3RydW5jYXRlVG9OKG5ldyBCTihtc2csIDE2KSk7XFxuXFxuICAvLyBaZXJvLWV4dGVuZCBrZXkgdG8gcHJvdmlkZSBlbm91Z2ggZW50cm9weVxcbiAgdmFyIGJ5dGVzID0gdGhpcy5uLmJ5dGVMZW5ndGgoKTtcXG4gIHZhciBia2V5ID0ga2V5LmdldFByaXZhdGUoKS50b0FycmF5KCdiZScsIGJ5dGVzKTtcXG5cXG4gIC8vIFplcm8tZXh0ZW5kIG5vbmNlIHRvIGhhdmUgdGhlIHNhbWUgYnl0ZSBzaXplIGFzIE5cXG4gIHZhciBub25jZSA9IG1zZy50b0FycmF5KCdiZScsIGJ5dGVzKTtcXG5cXG4gIC8vIEluc3RhbnRpYXRlIEhtYWNfRFJCR1xcbiAgdmFyIGRyYmcgPSBuZXcgSG1hY0RSQkcoe1xcbiAgICBoYXNoOiB0aGlzLmhhc2gsXFxuICAgIGVudHJvcHk6IGJrZXksXFxuICAgIG5vbmNlOiBub25jZSxcXG4gICAgcGVyczogb3B0aW9ucy5wZXJzLFxcbiAgICBwZXJzRW5jOiBvcHRpb25zLnBlcnNFbmMgfHwgJ3V0ZjgnXFxuICB9KTtcXG5cXG4gIC8vIE51bWJlciBvZiBieXRlcyB0byBnZW5lcmF0ZVxcbiAgdmFyIG5zMSA9IHRoaXMubi5zdWIobmV3IEJOKDEpKTtcXG5cXG4gIGZvciAodmFyIGl0ZXIgPSAwOyB0cnVlOyBpdGVyKyspIHtcXG4gICAgdmFyIGsgPSBvcHRpb25zLmsgP1xcbiAgICAgICAgb3B0aW9ucy5rKGl0ZXIpIDpcXG4gICAgICAgIG5ldyBCTihkcmJnLmdlbmVyYXRlKHRoaXMubi5ieXRlTGVuZ3RoKCkpKTtcXG4gICAgayA9IHRoaXMuX3RydW5jYXRlVG9OKGssIHRydWUpO1xcbiAgICBpZiAoay5jbXBuKDEpIDw9IDAgfHwgay5jbXAobnMxKSA+PSAwKVxcbiAgICAgIGNvbnRpbnVlO1xcblxcbiAgICB2YXIga3AgPSB0aGlzLmcubXVsKGspO1xcbiAgICBpZiAoa3AuaXNJbmZpbml0eSgpKVxcbiAgICAgIGNvbnRpbnVlO1xcblxcbiAgICB2YXIga3BYID0ga3AuZ2V0WCgpO1xcbiAgICB2YXIgciA9IGtwWC51bW9kKHRoaXMubik7XFxuICAgIGlmIChyLmNtcG4oMCkgPT09IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIHZhciBzID0gay5pbnZtKHRoaXMubikubXVsKHIubXVsKGtleS5nZXRQcml2YXRlKCkpLmlhZGQobXNnKSk7XFxuICAgIHMgPSBzLnVtb2QodGhpcy5uKTtcXG4gICAgaWYgKHMuY21wbigwKSA9PT0gMClcXG4gICAgICBjb250aW51ZTtcXG5cXG4gICAgdmFyIHJlY292ZXJ5UGFyYW0gPSAoa3AuZ2V0WSgpLmlzT2RkKCkgPyAxIDogMCkgfFxcbiAgICAgICAgICAgICAgICAgICAgICAgIChrcFguY21wKHIpICE9PSAwID8gMiA6IDApO1xcblxcbiAgICAvLyBVc2UgY29tcGxlbWVudCBvZiBgc2AsIGlmIGl0IGlzID4gYG4gLyAyYFxcbiAgICBpZiAob3B0aW9ucy5jYW5vbmljYWwgJiYgcy5jbXAodGhpcy5uaCkgPiAwKSB7XFxuICAgICAgcyA9IHRoaXMubi5zdWIocyk7XFxuICAgICAgcmVjb3ZlcnlQYXJhbSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBuZXcgU2lnbmF0dXJlKHsgcjogciwgczogcywgcmVjb3ZlcnlQYXJhbTogcmVjb3ZlcnlQYXJhbSB9KTtcXG4gIH1cXG59O1xcblxcbkVDLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobXNnLCBzaWduYXR1cmUsIGtleSwgZW5jKSB7XFxuICBtc2cgPSB0aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4obXNnLCAxNikpO1xcbiAga2V5ID0gdGhpcy5rZXlGcm9tUHVibGljKGtleSwgZW5jKTtcXG4gIHNpZ25hdHVyZSA9IG5ldyBTaWduYXR1cmUoc2lnbmF0dXJlLCAnaGV4Jyk7XFxuXFxuICAvLyBQZXJmb3JtIHByaW1pdGl2ZSB2YWx1ZXMgdmFsaWRhdGlvblxcbiAgdmFyIHIgPSBzaWduYXR1cmUucjtcXG4gIHZhciBzID0gc2lnbmF0dXJlLnM7XFxuICBpZiAoci5jbXBuKDEpIDwgMCB8fCByLmNtcCh0aGlzLm4pID49IDApXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIGlmIChzLmNtcG4oMSkgPCAwIHx8IHMuY21wKHRoaXMubikgPj0gMClcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgLy8gVmFsaWRhdGUgc2lnbmF0dXJlXFxuICB2YXIgc2ludiA9IHMuaW52bSh0aGlzLm4pO1xcbiAgdmFyIHUxID0gc2ludi5tdWwobXNnKS51bW9kKHRoaXMubik7XFxuICB2YXIgdTIgPSBzaW52Lm11bChyKS51bW9kKHRoaXMubik7XFxuXFxuICBpZiAoIXRoaXMuY3VydmUuX21heHdlbGxUcmljaykge1xcbiAgICB2YXIgcCA9IHRoaXMuZy5tdWxBZGQodTEsIGtleS5nZXRQdWJsaWMoKSwgdTIpO1xcbiAgICBpZiAocC5pc0luZmluaXR5KCkpXFxuICAgICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgICByZXR1cm4gcC5nZXRYKCkudW1vZCh0aGlzLm4pLmNtcChyKSA9PT0gMDtcXG4gIH1cXG5cXG4gIC8vIE5PVEU6IEdyZWcgTWF4d2VsbCdzIHRyaWNrLCBpbnNwaXJlZCBieTpcXG4gIC8vIGh0dHBzOi8vZ2l0LmlvL3ZhZDNLXFxuXFxuICB2YXIgcCA9IHRoaXMuZy5qbXVsQWRkKHUxLCBrZXkuZ2V0UHVibGljKCksIHUyKTtcXG4gIGlmIChwLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgLy8gQ29tcGFyZSBgcC54YCBvZiBKYWNvYmlhbiBwb2ludCB3aXRoIGByYCxcXG4gIC8vIHRoaXMgd2lsbCBkbyBgcC54ID09IHIgKiBwLnpeMmAgaW5zdGVhZCBvZiBtdWx0aXBseWluZyBgcC54YCBieSB0aGVcXG4gIC8vIGludmVyc2Ugb2YgYHAuel4yYFxcbiAgcmV0dXJuIHAuZXFYVG9QKHIpO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLnJlY292ZXJQdWJLZXkgPSBmdW5jdGlvbihtc2csIHNpZ25hdHVyZSwgaiwgZW5jKSB7XFxuICBhc3NlcnQoKDMgJiBqKSA9PT0gaiwgJ1RoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHMnKTtcXG4gIHNpZ25hdHVyZSA9IG5ldyBTaWduYXR1cmUoc2lnbmF0dXJlLCBlbmMpO1xcblxcbiAgdmFyIG4gPSB0aGlzLm47XFxuICB2YXIgZSA9IG5ldyBCTihtc2cpO1xcbiAgdmFyIHIgPSBzaWduYXR1cmUucjtcXG4gIHZhciBzID0gc2lnbmF0dXJlLnM7XFxuXFxuICAvLyBBIHNldCBMU0Igc2lnbmlmaWVzIHRoYXQgdGhlIHktY29vcmRpbmF0ZSBpcyBvZGRcXG4gIHZhciBpc1lPZGQgPSBqICYgMTtcXG4gIHZhciBpc1NlY29uZEtleSA9IGogPj4gMTtcXG4gIGlmIChyLmNtcCh0aGlzLmN1cnZlLnAudW1vZCh0aGlzLmN1cnZlLm4pKSA+PSAwICYmIGlzU2Vjb25kS2V5KVxcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIHNlbmNvbmQga2V5IGNhbmRpbmF0ZScpO1xcblxcbiAgLy8gMS4xLiBMZXQgeCA9IHIgKyBqbi5cXG4gIGlmIChpc1NlY29uZEtleSlcXG4gICAgciA9IHRoaXMuY3VydmUucG9pbnRGcm9tWChyLmFkZCh0aGlzLmN1cnZlLm4pLCBpc1lPZGQpO1xcbiAgZWxzZVxcbiAgICByID0gdGhpcy5jdXJ2ZS5wb2ludEZyb21YKHIsIGlzWU9kZCk7XFxuXFxuICB2YXIgckludiA9IHNpZ25hdHVyZS5yLmludm0obik7XFxuICB2YXIgczEgPSBuLnN1YihlKS5tdWwockludikudW1vZChuKTtcXG4gIHZhciBzMiA9IHMubXVsKHJJbnYpLnVtb2Qobik7XFxuXFxuICAvLyAxLjYuMSBDb21wdXRlIFEgPSByXi0xIChzUiAtICBlRylcXG4gIC8vICAgICAgICAgICAgICAgUSA9IHJeLTEgKHNSICsgLWVHKVxcbiAgcmV0dXJuIHRoaXMuZy5tdWxBZGQoczEsIHIsIHMyKTtcXG59O1xcblxcbkVDLnByb3RvdHlwZS5nZXRLZXlSZWNvdmVyeVBhcmFtID0gZnVuY3Rpb24oZSwgc2lnbmF0dXJlLCBRLCBlbmMpIHtcXG4gIHNpZ25hdHVyZSA9IG5ldyBTaWduYXR1cmUoc2lnbmF0dXJlLCBlbmMpO1xcbiAgaWYgKHNpZ25hdHVyZS5yZWNvdmVyeVBhcmFtICE9PSBudWxsKVxcbiAgICByZXR1cm4gc2lnbmF0dXJlLnJlY292ZXJ5UGFyYW07XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICB2YXIgUXByaW1lO1xcbiAgICB0cnkge1xcbiAgICAgIFFwcmltZSA9IHRoaXMucmVjb3ZlclB1YktleShlLCBzaWduYXR1cmUsIGkpO1xcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKFFwcmltZS5lcShRKSlcXG4gICAgICByZXR1cm4gaTtcXG4gIH1cXG4gIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgdmFsaWQgcmVjb3ZlcnkgZmFjdG9yJyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldNdmFXNWtaWGd1YW5NL1pXUmtZaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZaXhUUVVGVExHMUNRVUZQTEVOQlFVTXNiVVZCUVU4N1FVRkRlRUlzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFJFUVVGWE8wRkJRMnhETEZsQlFWa3NiVUpCUVU4c1EwRkJReXdyUkVGQlZUdEJRVU01UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zYVVWQlFWYzdRVUZEYUVNc1YwRkJWeXh0UWtGQlR5eERRVUZETEdkRVFVRlRPMEZCUXpWQ096dEJRVVZCTEdOQlFXTXNiVUpCUVU4c1EwRkJReXcyUkVGQlR6dEJRVU0zUWl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4NVJVRkJZVHM3UVVGRmNrTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeGxRVUZsT3p0QlFVVm1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN08wRkJSVUVzYjBKQlFXOUNMRTFCUVUwN1FVRkRNVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzTUVKQlFUQkNMREpEUVVFeVF6dEJRVU55UlR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRanRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMlZzYkdsd2RHbGpMMnhwWWk5bGJHeHBjSFJwWXk5bFl5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlFSk9JRDBnY21WeGRXbHlaU2duWW00dWFuTW5LVHRjYm5aaGNpQkliV0ZqUkZKQ1J5QTlJSEpsY1hWcGNtVW9KMmh0WVdNdFpISmlaeWNwTzF4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQmpkWEoyWlhNZ1BTQnlaWEYxYVhKbEtDY3VMaTlqZFhKMlpYTW5LVHRjYm5aaGNpQnlZVzVrSUQwZ2NtVnhkV2x5WlNnblluSnZjbUZ1WkNjcE8xeHVkbUZ5SUdGemMyVnlkQ0E5SUhWMGFXeHpMbUZ6YzJWeWREdGNibHh1ZG1GeUlFdGxlVkJoYVhJZ1BTQnlaWEYxYVhKbEtDY3VMMnRsZVNjcE8xeHVkbUZ5SUZOcFoyNWhkSFZ5WlNBOUlISmxjWFZwY21Vb0p5NHZjMmxuYm1GMGRYSmxKeWs3WEc1Y2JtWjFibU4wYVc5dUlFVkRLRzl3ZEdsdmJuTXBJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVZES1NsY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVWREtHOXdkR2x2Ym5NcE8xeHVYRzRnSUM4dklGTm9iM0owWTNWMElHQmxiR3hwY0hScFl5NWxZeWhqZFhKMlpTMXVZVzFsS1dCY2JpQWdhV1lnS0hSNWNHVnZaaUJ2Y0hScGIyNXpJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUdGemMyVnlkQ2hqZFhKMlpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2IzQjBhVzl1Y3lrc0lDZFZibXR1YjNkdUlHTjFjblpsSUNjZ0t5QnZjSFJwYjI1ektUdGNibHh1SUNBZ0lHOXdkR2x2Ym5NZ1BTQmpkWEoyWlhOYmIzQjBhVzl1YzEwN1hHNGdJSDFjYmx4dUlDQXZMeUJUYUc5eWRHTjFkQ0JtYjNJZ1lHVnNiR2x3ZEdsakxtVmpLR1ZzYkdsd2RHbGpMbU4xY25abGN5NWpkWEoyWlU1aGJXVXBZRnh1SUNCcFppQW9iM0IwYVc5dWN5QnBibk4wWVc1alpXOW1JR04xY25abGN5NVFjbVZ6WlhSRGRYSjJaU2xjYmlBZ0lDQnZjSFJwYjI1eklEMGdleUJqZFhKMlpUb2diM0IwYVc5dWN5QjlPMXh1WEc0Z0lIUm9hWE11WTNWeWRtVWdQU0J2Y0hScGIyNXpMbU4xY25abExtTjFjblpsTzF4dUlDQjBhR2x6TG00Z1BTQjBhR2x6TG1OMWNuWmxMbTQ3WEc0Z0lIUm9hWE11Ym1nZ1BTQjBhR2x6TG00dWRYTm9jbTRvTVNrN1hHNGdJSFJvYVhNdVp5QTlJSFJvYVhNdVkzVnlkbVV1Wnp0Y2JseHVJQ0F2THlCUWIybHVkQ0J2YmlCamRYSjJaVnh1SUNCMGFHbHpMbWNnUFNCdmNIUnBiMjV6TG1OMWNuWmxMbWM3WEc0Z0lIUm9hWE11Wnk1d2NtVmpiMjF3ZFhSbEtHOXdkR2x2Ym5NdVkzVnlkbVV1Ymk1aWFYUk1aVzVuZEdnb0tTQXJJREVwTzF4dVhHNGdJQzh2SUVoaGMyZ2dabTl5SUdaMWJtTjBhVzl1SUdadmNpQkVVa0pIWEc0Z0lIUm9hWE11YUdGemFDQTlJRzl3ZEdsdmJuTXVhR0Z6YUNCOGZDQnZjSFJwYjI1ekxtTjFjblpsTG1oaGMyZzdYRzU5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVWRE8xeHVYRzVGUXk1d2NtOTBiM1I1Y0dVdWEyVjVVR0ZwY2lBOUlHWjFibU4wYVc5dUlHdGxlVkJoYVhJb2IzQjBhVzl1Y3lrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUV0bGVWQmhhWElvZEdocGN5d2diM0IwYVc5dWN5azdYRzU5TzF4dVhHNUZReTV3Y205MGIzUjVjR1V1YTJWNVJuSnZiVkJ5YVhaaGRHVWdQU0JtZFc1amRHbHZiaUJyWlhsR2NtOXRVSEpwZG1GMFpTaHdjbWwyTENCbGJtTXBJSHRjYmlBZ2NtVjBkWEp1SUV0bGVWQmhhWEl1Wm5KdmJWQnlhWFpoZEdVb2RHaHBjeXdnY0hKcGRpd2daVzVqS1R0Y2JuMDdYRzVjYmtWRExuQnliM1J2ZEhsd1pTNXJaWGxHY205dFVIVmliR2xqSUQwZ1puVnVZM1JwYjI0Z2EyVjVSbkp2YlZCMVlteHBZeWh3ZFdJc0lHVnVZeWtnZTF4dUlDQnlaWFIxY200Z1MyVjVVR0ZwY2k1bWNtOXRVSFZpYkdsaktIUm9hWE1zSUhCMVlpd2daVzVqS1R0Y2JuMDdYRzVjYmtWRExuQnliM1J2ZEhsd1pTNW5aVzVMWlhsUVlXbHlJRDBnWm5WdVkzUnBiMjRnWjJWdVMyVjVVR0ZwY2lodmNIUnBiMjV6S1NCN1hHNGdJR2xtSUNnaGIzQjBhVzl1Y3lsY2JpQWdJQ0J2Y0hScGIyNXpJRDBnZTMwN1hHNWNiaUFnTHk4Z1NXNXpkR0Z1ZEdsaGRHVWdTRzFoWTE5RVVrSkhYRzRnSUhaaGNpQmtjbUpuSUQwZ2JtVjNJRWh0WVdORVVrSkhLSHRjYmlBZ0lDQm9ZWE5vT2lCMGFHbHpMbWhoYzJnc1hHNGdJQ0FnY0dWeWN6b2diM0IwYVc5dWN5NXdaWEp6TEZ4dUlDQWdJSEJsY25ORmJtTTZJRzl3ZEdsdmJuTXVjR1Z5YzBWdVl5QjhmQ0FuZFhSbU9DY3NYRzRnSUNBZ1pXNTBjbTl3ZVRvZ2IzQjBhVzl1Y3k1bGJuUnliM0I1SUh4OElISmhibVFvZEdocGN5NW9ZWE5vTG1odFlXTlRkSEpsYm1kMGFDa3NYRzRnSUNBZ1pXNTBjbTl3ZVVWdVl6b2diM0IwYVc5dWN5NWxiblJ5YjNCNUlDWW1JRzl3ZEdsdmJuTXVaVzUwY205d2VVVnVZeUI4ZkNBbmRYUm1PQ2NzWEc0Z0lDQWdibTl1WTJVNklIUm9hWE11Ymk1MGIwRnljbUY1S0NsY2JpQWdmU2s3WEc1Y2JpQWdkbUZ5SUdKNWRHVnpJRDBnZEdocGN5NXVMbUo1ZEdWTVpXNW5kR2dvS1R0Y2JpQWdkbUZ5SUc1ek1pQTlJSFJvYVhNdWJpNXpkV0lvYm1WM0lFSk9LRElwS1R0Y2JpQWdaRzhnZTF4dUlDQWdJSFpoY2lCd2NtbDJJRDBnYm1WM0lFSk9LR1J5WW1jdVoyVnVaWEpoZEdVb1lubDBaWE1wS1R0Y2JpQWdJQ0JwWmlBb2NISnBkaTVqYlhBb2JuTXlLU0ErSURBcFhHNGdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUhCeWFYWXVhV0ZrWkc0b01TazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhMlY1Um5KdmJWQnlhWFpoZEdVb2NISnBkaWs3WEc0Z0lIMGdkMmhwYkdVZ0tIUnlkV1VwTzF4dWZUdGNibHh1UlVNdWNISnZkRzkwZVhCbExsOTBjblZ1WTJGMFpWUnZUaUE5SUdaMWJtTjBhVzl1SUhSeWRXNWpZWFJsVkc5T0tHMXpaeXdnZEhKMWJtTlBibXg1S1NCN1hHNGdJSFpoY2lCa1pXeDBZU0E5SUcxelp5NWllWFJsVEdWdVozUm9LQ2tnS2lBNElDMGdkR2hwY3k1dUxtSnBkRXhsYm1kMGFDZ3BPMXh1SUNCcFppQW9aR1ZzZEdFZ1BpQXdLVnh1SUNBZ0lHMXpaeUE5SUcxelp5NTFjMmh5Ymloa1pXeDBZU2s3WEc0Z0lHbG1JQ2doZEhKMWJtTlBibXg1SUNZbUlHMXpaeTVqYlhBb2RHaHBjeTV1S1NBK1BTQXdLVnh1SUNBZ0lISmxkSFZ5YmlCdGMyY3VjM1ZpS0hSb2FYTXViaWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2JYTm5PMXh1ZlR0Y2JseHVSVU11Y0hKdmRHOTBlWEJsTG5OcFoyNGdQU0JtZFc1amRHbHZiaUJ6YVdkdUtHMXpaeXdnYTJWNUxDQmxibU1zSUc5d2RHbHZibk1wSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYm1NZ1BUMDlJQ2R2WW1wbFkzUW5LU0I3WEc0Z0lDQWdiM0IwYVc5dWN5QTlJR1Z1WXp0Y2JpQWdJQ0JsYm1NZ1BTQnVkV3hzTzF4dUlDQjlYRzRnSUdsbUlDZ2hiM0IwYVc5dWN5bGNiaUFnSUNCdmNIUnBiMjV6SUQwZ2UzMDdYRzVjYmlBZ2EyVjVJRDBnZEdocGN5NXJaWGxHY205dFVISnBkbUYwWlNoclpYa3NJR1Z1WXlrN1hHNGdJRzF6WnlBOUlIUm9hWE11WDNSeWRXNWpZWFJsVkc5T0tHNWxkeUJDVGlodGMyY3NJREUyS1NrN1hHNWNiaUFnTHk4Z1dtVnlieTFsZUhSbGJtUWdhMlY1SUhSdklIQnliM1pwWkdVZ1pXNXZkV2RvSUdWdWRISnZjSGxjYmlBZ2RtRnlJR0o1ZEdWeklEMGdkR2hwY3k1dUxtSjVkR1ZNWlc1bmRHZ29LVHRjYmlBZ2RtRnlJR0pyWlhrZ1BTQnJaWGt1WjJWMFVISnBkbUYwWlNncExuUnZRWEp5WVhrb0oySmxKeXdnWW5sMFpYTXBPMXh1WEc0Z0lDOHZJRnBsY204dFpYaDBaVzVrSUc1dmJtTmxJSFJ2SUdoaGRtVWdkR2hsSUhOaGJXVWdZbmwwWlNCemFYcGxJR0Z6SUU1Y2JpQWdkbUZ5SUc1dmJtTmxJRDBnYlhObkxuUnZRWEp5WVhrb0oySmxKeXdnWW5sMFpYTXBPMXh1WEc0Z0lDOHZJRWx1YzNSaGJuUnBZWFJsSUVodFlXTmZSRkpDUjF4dUlDQjJZWElnWkhKaVp5QTlJRzVsZHlCSWJXRmpSRkpDUnloN1hHNGdJQ0FnYUdGemFEb2dkR2hwY3k1b1lYTm9MRnh1SUNBZ0lHVnVkSEp2Y0hrNklHSnJaWGtzWEc0Z0lDQWdibTl1WTJVNklHNXZibU5sTEZ4dUlDQWdJSEJsY25NNklHOXdkR2x2Ym5NdWNHVnljeXhjYmlBZ0lDQndaWEp6Ulc1ak9pQnZjSFJwYjI1ekxuQmxjbk5GYm1NZ2ZId2dKM1YwWmpnblhHNGdJSDBwTzF4dVhHNGdJQzh2SUU1MWJXSmxjaUJ2WmlCaWVYUmxjeUIwYnlCblpXNWxjbUYwWlZ4dUlDQjJZWElnYm5NeElEMGdkR2hwY3k1dUxuTjFZaWh1WlhjZ1FrNG9NU2twTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2wwWlhJZ1BTQXdPeUIwY25WbE95QnBkR1Z5S3lzcElIdGNiaUFnSUNCMllYSWdheUE5SUc5d2RHbHZibk11YXlBL1hHNGdJQ0FnSUNBZ0lHOXdkR2x2Ym5NdWF5aHBkR1Z5S1NBNlhHNGdJQ0FnSUNBZ0lHNWxkeUJDVGloa2NtSm5MbWRsYm1WeVlYUmxLSFJvYVhNdWJpNWllWFJsVEdWdVozUm9LQ2twS1R0Y2JpQWdJQ0JySUQwZ2RHaHBjeTVmZEhKMWJtTmhkR1ZVYjA0b2F5d2dkSEoxWlNrN1hHNGdJQ0FnYVdZZ0tHc3VZMjF3YmlneEtTQThQU0F3SUh4OElHc3VZMjF3S0c1ek1Ta2dQajBnTUNsY2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnZG1GeUlHdHdJRDBnZEdocGN5NW5MbTExYkNocktUdGNiaUFnSUNCcFppQW9hM0F1YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNCMllYSWdhM0JZSUQwZ2EzQXVaMlYwV0NncE8xeHVJQ0FnSUhaaGNpQnlJRDBnYTNCWUxuVnRiMlFvZEdocGN5NXVLVHRjYmlBZ0lDQnBaaUFvY2k1amJYQnVLREFwSUQwOVBTQXdLVnh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQjJZWElnY3lBOUlHc3VhVzUyYlNoMGFHbHpMbTRwTG0xMWJDaHlMbTExYkNoclpYa3VaMlYwVUhKcGRtRjBaU2dwS1M1cFlXUmtLRzF6WnlrcE8xeHVJQ0FnSUhNZ1BTQnpMblZ0YjJRb2RHaHBjeTV1S1R0Y2JpQWdJQ0JwWmlBb2N5NWpiWEJ1S0RBcElEMDlQU0F3S1Z4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0IyWVhJZ2NtVmpiM1psY25sUVlYSmhiU0E5SUNocmNDNW5aWFJaS0NrdWFYTlBaR1FvS1NBL0lERWdPaUF3S1NCOFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2EzQllMbU50Y0NoeUtTQWhQVDBnTUNBL0lESWdPaUF3S1R0Y2JseHVJQ0FnSUM4dklGVnpaU0JqYjIxd2JHVnRaVzUwSUc5bUlHQnpZQ3dnYVdZZ2FYUWdhWE1nUGlCZ2JpQXZJREpnWEc0Z0lDQWdhV1lnS0c5d2RHbHZibk11WTJGdWIyNXBZMkZzSUNZbUlITXVZMjF3S0hSb2FYTXVibWdwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdjeUE5SUhSb2FYTXViaTV6ZFdJb2N5azdYRzRnSUNBZ0lDQnlaV052ZG1WeWVWQmhjbUZ0SUY0OUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlRhV2R1WVhSMWNtVW9leUJ5T2lCeUxDQnpPaUJ6TENCeVpXTnZkbVZ5ZVZCaGNtRnRPaUJ5WldOdmRtVnllVkJoY21GdElIMHBPMXh1SUNCOVhHNTlPMXh1WEc1RlF5NXdjbTkwYjNSNWNHVXVkbVZ5YVdaNUlEMGdablZ1WTNScGIyNGdkbVZ5YVdaNUtHMXpaeXdnYzJsbmJtRjBkWEpsTENCclpYa3NJR1Z1WXlrZ2UxeHVJQ0J0YzJjZ1BTQjBhR2x6TGw5MGNuVnVZMkYwWlZSdlRpaHVaWGNnUWs0b2JYTm5MQ0F4TmlrcE8xeHVJQ0JyWlhrZ1BTQjBhR2x6TG10bGVVWnliMjFRZFdKc2FXTW9hMlY1TENCbGJtTXBPMXh1SUNCemFXZHVZWFIxY21VZ1BTQnVaWGNnVTJsbmJtRjBkWEpsS0hOcFoyNWhkSFZ5WlN3Z0oyaGxlQ2NwTzF4dVhHNGdJQzh2SUZCbGNtWnZjbTBnY0hKcGJXbDBhWFpsSUhaaGJIVmxjeUIyWVd4cFpHRjBhVzl1WEc0Z0lIWmhjaUJ5SUQwZ2MybG5ibUYwZFhKbExuSTdYRzRnSUhaaGNpQnpJRDBnYzJsbmJtRjBkWEpsTG5NN1hHNGdJR2xtSUNoeUxtTnRjRzRvTVNrZ1BDQXdJSHg4SUhJdVkyMXdLSFJvYVhNdWJpa2dQajBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJR2xtSUNoekxtTnRjRzRvTVNrZ1BDQXdJSHg4SUhNdVkyMXdLSFJvYVhNdWJpa2dQajBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnTHk4Z1ZtRnNhV1JoZEdVZ2MybG5ibUYwZFhKbFhHNGdJSFpoY2lCemFXNTJJRDBnY3k1cGJuWnRLSFJvYVhNdWJpazdYRzRnSUhaaGNpQjFNU0E5SUhOcGJuWXViWFZzS0cxelp5a3VkVzF2WkNoMGFHbHpMbTRwTzF4dUlDQjJZWElnZFRJZ1BTQnphVzUyTG0xMWJDaHlLUzUxYlc5a0tIUm9hWE11YmlrN1hHNWNiaUFnYVdZZ0tDRjBhR2x6TG1OMWNuWmxMbDl0WVhoM1pXeHNWSEpwWTJzcElIdGNiaUFnSUNCMllYSWdjQ0E5SUhSb2FYTXVaeTV0ZFd4QlpHUW9kVEVzSUd0bGVTNW5aWFJRZFdKc2FXTW9LU3dnZFRJcE8xeHVJQ0FnSUdsbUlDaHdMbWx6U1c1bWFXNXBkSGtvS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd0xtZGxkRmdvS1M1MWJXOWtLSFJvYVhNdWJpa3VZMjF3S0hJcElEMDlQU0F3TzF4dUlDQjlYRzVjYmlBZ0x5OGdUazlVUlRvZ1IzSmxaeUJOWVhoM1pXeHNKM01nZEhKcFkyc3NJR2x1YzNCcGNtVmtJR0o1T2x4dUlDQXZMeUJvZEhSd2N6b3ZMMmRwZEM1cGJ5OTJZV1F6UzF4dVhHNGdJSFpoY2lCd0lEMGdkR2hwY3k1bkxtcHRkV3hCWkdRb2RURXNJR3RsZVM1blpYUlFkV0pzYVdNb0tTd2dkVElwTzF4dUlDQnBaaUFvY0M1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdZSEF1ZUdBZ2IyWWdTbUZqYjJKcFlXNGdjRzlwYm5RZ2QybDBhQ0JnY21Bc1hHNGdJQzh2SUhSb2FYTWdkMmxzYkNCa2J5QmdjQzU0SUQwOUlISWdLaUJ3TG5wZU1tQWdhVzV6ZEdWaFpDQnZaaUJ0ZFd4MGFYQnNlV2x1WnlCZ2NDNTRZQ0JpZVNCMGFHVmNiaUFnTHk4Z2FXNTJaWEp6WlNCdlppQmdjQzU2WGpKZ1hHNGdJSEpsZEhWeWJpQndMbVZ4V0ZSdlVDaHlLVHRjYm4wN1hHNWNia1ZETG5CeWIzUnZkSGx3WlM1eVpXTnZkbVZ5VUhWaVMyVjVJRDBnWm5WdVkzUnBiMjRvYlhObkxDQnphV2R1WVhSMWNtVXNJR29zSUdWdVl5a2dlMXh1SUNCaGMzTmxjblFvS0RNZ0ppQnFLU0E5UFQwZ2Fpd2dKMVJvWlNCeVpXTnZkbVZ5ZVNCd1lYSmhiU0JwY3lCdGIzSmxJSFJvWVc0Z2RIZHZJR0pwZEhNbktUdGNiaUFnYzJsbmJtRjBkWEpsSUQwZ2JtVjNJRk5wWjI1aGRIVnlaU2h6YVdkdVlYUjFjbVVzSUdWdVl5azdYRzVjYmlBZ2RtRnlJRzRnUFNCMGFHbHpMbTQ3WEc0Z0lIWmhjaUJsSUQwZ2JtVjNJRUpPS0cxelp5azdYRzRnSUhaaGNpQnlJRDBnYzJsbmJtRjBkWEpsTG5JN1hHNGdJSFpoY2lCeklEMGdjMmxuYm1GMGRYSmxMbk03WEc1Y2JpQWdMeThnUVNCelpYUWdURk5DSUhOcFoyNXBabWxsY3lCMGFHRjBJSFJvWlNCNUxXTnZiM0prYVc1aGRHVWdhWE1nYjJSa1hHNGdJSFpoY2lCcGMxbFBaR1FnUFNCcUlDWWdNVHRjYmlBZ2RtRnlJR2x6VTJWamIyNWtTMlY1SUQwZ2FpQStQaUF4TzF4dUlDQnBaaUFvY2k1amJYQW9kR2hwY3k1amRYSjJaUzV3TG5WdGIyUW9kR2hwY3k1amRYSjJaUzV1S1NrZ1BqMGdNQ0FtSmlCcGMxTmxZMjl1WkV0bGVTbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdVlXSnNaU0IwYnlCbWFXNWtJSE5sYm1OdmJtUWdhMlY1SUdOaGJtUnBibUYwWlNjcE8xeHVYRzRnSUM4dklERXVNUzRnVEdWMElIZ2dQU0J5SUNzZ2FtNHVYRzRnSUdsbUlDaHBjMU5sWTI5dVpFdGxlU2xjYmlBZ0lDQnlJRDBnZEdocGN5NWpkWEoyWlM1d2IybHVkRVp5YjIxWUtISXVZV1JrS0hSb2FYTXVZM1Z5ZG1VdWJpa3NJR2x6V1U5a1pDazdYRzRnSUdWc2MyVmNiaUFnSUNCeUlEMGdkR2hwY3k1amRYSjJaUzV3YjJsdWRFWnliMjFZS0hJc0lHbHpXVTlrWkNrN1hHNWNiaUFnZG1GeUlISkpibllnUFNCemFXZHVZWFIxY21VdWNpNXBiblp0S0c0cE8xeHVJQ0IyWVhJZ2N6RWdQU0J1TG5OMVlpaGxLUzV0ZFd3b2NrbHVkaWt1ZFcxdlpDaHVLVHRjYmlBZ2RtRnlJSE15SUQwZ2N5NXRkV3dvY2tsdWRpa3VkVzF2WkNodUtUdGNibHh1SUNBdkx5QXhMall1TVNCRGIyMXdkWFJsSUZFZ1BTQnlYaTB4SUNoelVpQXRJQ0JsUnlsY2JpQWdMeThnSUNBZ0lDQWdJQ0FnSUNBZ0lDQlJJRDBnY2w0dE1TQW9jMUlnS3lBdFpVY3BYRzRnSUhKbGRIVnliaUIwYUdsekxtY3ViWFZzUVdSa0tITXhMQ0J5TENCek1pazdYRzU5TzF4dVhHNUZReTV3Y205MGIzUjVjR1V1WjJWMFMyVjVVbVZqYjNabGNubFFZWEpoYlNBOUlHWjFibU4wYVc5dUtHVXNJSE5wWjI1aGRIVnlaU3dnVVN3Z1pXNWpLU0I3WEc0Z0lITnBaMjVoZEhWeVpTQTlJRzVsZHlCVGFXZHVZWFIxY21Vb2MybG5ibUYwZFhKbExDQmxibU1wTzF4dUlDQnBaaUFvYzJsbmJtRjBkWEpsTG5KbFkyOTJaWEo1VUdGeVlXMGdJVDA5SUc1MWJHd3BYRzRnSUNBZ2NtVjBkWEp1SUhOcFoyNWhkSFZ5WlM1eVpXTnZkbVZ5ZVZCaGNtRnRPMXh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dORHNnYVNzcktTQjdYRzRnSUNBZ2RtRnlJRkZ3Y21sdFpUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdVWEJ5YVcxbElEMGdkR2hwY3k1eVpXTnZkbVZ5VUhWaVMyVjVLR1VzSUhOcFoyNWhkSFZ5WlN3Z2FTazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRkZ3Y21sdFpTNWxjU2hSS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJwTzF4dUlDQjlYRzRnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1aFlteGxJSFJ2SUdacGJtUWdkbUZzYVdRZ2NtVmpiM1psY25rZ1ptRmpkRzl5SnlrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9rZXkuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMva2V5LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG5cXG5mdW5jdGlvbiBLZXlQYWlyKGVjLCBvcHRpb25zKSB7XFxuICB0aGlzLmVjID0gZWM7XFxuICB0aGlzLnByaXYgPSBudWxsO1xcbiAgdGhpcy5wdWIgPSBudWxsO1xcblxcbiAgLy8gS2V5UGFpcihlYywgeyBwcml2OiAuLi4sIHB1YjogLi4uIH0pXFxuICBpZiAob3B0aW9ucy5wcml2KVxcbiAgICB0aGlzLl9pbXBvcnRQcml2YXRlKG9wdGlvbnMucHJpdiwgb3B0aW9ucy5wcml2RW5jKTtcXG4gIGlmIChvcHRpb25zLnB1YilcXG4gICAgdGhpcy5faW1wb3J0UHVibGljKG9wdGlvbnMucHViLCBvcHRpb25zLnB1YkVuYyk7XFxufVxcbm1vZHVsZS5leHBvcnRzID0gS2V5UGFpcjtcXG5cXG5LZXlQYWlyLmZyb21QdWJsaWMgPSBmdW5jdGlvbiBmcm9tUHVibGljKGVjLCBwdWIsIGVuYykge1xcbiAgaWYgKHB1YiBpbnN0YW5jZW9mIEtleVBhaXIpXFxuICAgIHJldHVybiBwdWI7XFxuXFxuICByZXR1cm4gbmV3IEtleVBhaXIoZWMsIHtcXG4gICAgcHViOiBwdWIsXFxuICAgIHB1YkVuYzogZW5jXFxuICB9KTtcXG59O1xcblxcbktleVBhaXIuZnJvbVByaXZhdGUgPSBmdW5jdGlvbiBmcm9tUHJpdmF0ZShlYywgcHJpdiwgZW5jKSB7XFxuICBpZiAocHJpdiBpbnN0YW5jZW9mIEtleVBhaXIpXFxuICAgIHJldHVybiBwcml2O1xcblxcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKGVjLCB7XFxuICAgIHByaXY6IHByaXYsXFxuICAgIHByaXZFbmM6IGVuY1xcbiAgfSk7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKCkge1xcbiAgdmFyIHB1YiA9IHRoaXMuZ2V0UHVibGljKCk7XFxuXFxuICBpZiAocHViLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnSW52YWxpZCBwdWJsaWMga2V5JyB9O1xcbiAgaWYgKCFwdWIudmFsaWRhdGUoKSlcXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnUHVibGljIGtleSBpcyBub3QgYSBwb2ludCcgfTtcXG4gIGlmICghcHViLm11bCh0aGlzLmVjLmN1cnZlLm4pLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnUHVibGljIGtleSAqIE4gIT0gTycgfTtcXG5cXG4gIHJldHVybiB7IHJlc3VsdDogdHJ1ZSwgcmVhc29uOiBudWxsIH07XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5nZXRQdWJsaWMgPSBmdW5jdGlvbiBnZXRQdWJsaWMoY29tcGFjdCwgZW5jKSB7XFxuICAvLyBjb21wYWN0IGlzIG9wdGlvbmFsIGFyZ3VtZW50XFxuICBpZiAodHlwZW9mIGNvbXBhY3QgPT09ICdzdHJpbmcnKSB7XFxuICAgIGVuYyA9IGNvbXBhY3Q7XFxuICAgIGNvbXBhY3QgPSBudWxsO1xcbiAgfVxcblxcbiAgaWYgKCF0aGlzLnB1YilcXG4gICAgdGhpcy5wdWIgPSB0aGlzLmVjLmcubXVsKHRoaXMucHJpdik7XFxuXFxuICBpZiAoIWVuYylcXG4gICAgcmV0dXJuIHRoaXMucHViO1xcblxcbiAgcmV0dXJuIHRoaXMucHViLmVuY29kZShlbmMsIGNvbXBhY3QpO1xcbn07XFxuXFxuS2V5UGFpci5wcm90b3R5cGUuZ2V0UHJpdmF0ZSA9IGZ1bmN0aW9uIGdldFByaXZhdGUoZW5jKSB7XFxuICBpZiAoZW5jID09PSAnaGV4JylcXG4gICAgcmV0dXJuIHRoaXMucHJpdi50b1N0cmluZygxNiwgMik7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLnByaXY7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHJpdmF0ZSA9IGZ1bmN0aW9uIF9pbXBvcnRQcml2YXRlKGtleSwgZW5jKSB7XFxuICB0aGlzLnByaXYgPSBuZXcgQk4oa2V5LCBlbmMgfHwgMTYpO1xcblxcbiAgLy8gRW5zdXJlIHRoYXQgdGhlIHByaXYgd29uJ3QgYmUgYmlnZ2VyIHRoYW4gbiwgb3RoZXJ3aXNlIHdlIG1heSBmYWlsXFxuICAvLyBpbiBmaXhlZCBtdWx0aXBsaWNhdGlvbiBtZXRob2RcXG4gIHRoaXMucHJpdiA9IHRoaXMucHJpdi51bW9kKHRoaXMuZWMuY3VydmUubik7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHVibGljID0gZnVuY3Rpb24gX2ltcG9ydFB1YmxpYyhrZXksIGVuYykge1xcbiAgaWYgKGtleS54IHx8IGtleS55KSB7XFxuICAgIC8vIE1vbnRnb21lcnkgcG9pbnRzIG9ubHkgaGF2ZSBhbiBgeGAgY29vcmRpbmF0ZS5cXG4gICAgLy8gV2VpZXJzdHJhc3MvRWR3YXJkcyBwb2ludHMgb24gdGhlIG90aGVyIGhhbmQgaGF2ZSBib3RoIGB4YCBhbmRcXG4gICAgLy8gYHlgIGNvb3JkaW5hdGVzLlxcbiAgICBpZiAodGhpcy5lYy5jdXJ2ZS50eXBlID09PSAnbW9udCcpIHtcXG4gICAgICBhc3NlcnQoa2V5LngsICdOZWVkIHggY29vcmRpbmF0ZScpO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWMuY3VydmUudHlwZSA9PT0gJ3Nob3J0JyB8fFxcbiAgICAgICAgICAgICAgIHRoaXMuZWMuY3VydmUudHlwZSA9PT0gJ2Vkd2FyZHMnKSB7XFxuICAgICAgYXNzZXJ0KGtleS54ICYmIGtleS55LCAnTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZScpO1xcbiAgICB9XFxuICAgIHRoaXMucHViID0gdGhpcy5lYy5jdXJ2ZS5wb2ludChrZXkueCwga2V5LnkpO1xcbiAgICByZXR1cm47XFxuICB9XFxuICB0aGlzLnB1YiA9IHRoaXMuZWMuY3VydmUuZGVjb2RlUG9pbnQoa2V5LCBlbmMpO1xcbn07XFxuXFxuLy8gRUNESFxcbktleVBhaXIucHJvdG90eXBlLmRlcml2ZSA9IGZ1bmN0aW9uIGRlcml2ZShwdWIpIHtcXG4gIHJldHVybiBwdWIubXVsKHRoaXMucHJpdikuZ2V0WCgpO1xcbn07XFxuXFxuLy8gRUNEU0FcXG5LZXlQYWlyLnByb3RvdHlwZS5zaWduID0gZnVuY3Rpb24gc2lnbihtc2csIGVuYywgb3B0aW9ucykge1xcbiAgcmV0dXJuIHRoaXMuZWMuc2lnbihtc2csIHRoaXMsIGVuYywgb3B0aW9ucyk7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobXNnLCBzaWduYXR1cmUpIHtcXG4gIHJldHVybiB0aGlzLmVjLnZlcmlmeShtc2csIHNpZ25hdHVyZSwgdGhpcyk7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5pbnNwZWN0ID0gZnVuY3Rpb24gaW5zcGVjdCgpIHtcXG4gIHJldHVybiAnPEtleSBwcml2OiAnICsgKHRoaXMucHJpdiAmJiB0aGlzLnByaXYudG9TdHJpbmcoMTYsIDIpKSArXFxuICAgICAgICAgJyBwdWI6ICcgKyAodGhpcy5wdWIgJiYgdGhpcy5wdWIuaW5zcGVjdCgpKSArICcgPic7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldNdmEyVjVMbXB6UHpnd1pXWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExHMUZRVUZQTzBGQlEzaENMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hyUWtGQmEwSXNjMEpCUVhOQ08wRkJRM2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRmxCUVZrN1FVRkRXanRCUVVOQkxGbEJRVms3UVVGRFdqdEJRVU5CTEZsQlFWazdPMEZCUlZvc1ZVRkJWVHRCUVVOV096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldNdmEyVjVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnUWs0Z1BTQnlaWEYxYVhKbEtDZGliaTVxY3ljcE8xeHVkbUZ5SUhWMGFXeHpJRDBnY21WeGRXbHlaU2duTGk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRXRsZVZCaGFYSW9aV01zSUc5d2RHbHZibk1wSUh0Y2JpQWdkR2hwY3k1bFl5QTlJR1ZqTzF4dUlDQjBhR2x6TG5CeWFYWWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxuQjFZaUE5SUc1MWJHdzdYRzVjYmlBZ0x5OGdTMlY1VUdGcGNpaGxZeXdnZXlCd2NtbDJPaUF1TGk0c0lIQjFZam9nTGk0dUlIMHBYRzRnSUdsbUlDaHZjSFJwYjI1ekxuQnlhWFlwWEc0Z0lDQWdkR2hwY3k1ZmFXMXdiM0owVUhKcGRtRjBaU2h2Y0hScGIyNXpMbkJ5YVhZc0lHOXdkR2x2Ym5NdWNISnBka1Z1WXlrN1hHNGdJR2xtSUNodmNIUnBiMjV6TG5CMVlpbGNiaUFnSUNCMGFHbHpMbDlwYlhCdmNuUlFkV0pzYVdNb2IzQjBhVzl1Y3k1d2RXSXNJRzl3ZEdsdmJuTXVjSFZpUlc1aktUdGNibjFjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUzJWNVVHRnBjanRjYmx4dVMyVjVVR0ZwY2k1bWNtOXRVSFZpYkdsaklEMGdablZ1WTNScGIyNGdabkp2YlZCMVlteHBZeWhsWXl3Z2NIVmlMQ0JsYm1NcElIdGNiaUFnYVdZZ0tIQjFZaUJwYm5OMFlXNWpaVzltSUV0bGVWQmhhWElwWEc0Z0lDQWdjbVYwZFhKdUlIQjFZanRjYmx4dUlDQnlaWFIxY200Z2JtVjNJRXRsZVZCaGFYSW9aV01zSUh0Y2JpQWdJQ0J3ZFdJNklIQjFZaXhjYmlBZ0lDQndkV0pGYm1NNklHVnVZMXh1SUNCOUtUdGNibjA3WEc1Y2JrdGxlVkJoYVhJdVpuSnZiVkJ5YVhaaGRHVWdQU0JtZFc1amRHbHZiaUJtY205dFVISnBkbUYwWlNobFl5d2djSEpwZGl3Z1pXNWpLU0I3WEc0Z0lHbG1JQ2h3Y21sMklHbHVjM1JoYm1ObGIyWWdTMlY1VUdGcGNpbGNiaUFnSUNCeVpYUjFjbTRnY0hKcGRqdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lFdGxlVkJoYVhJb1pXTXNJSHRjYmlBZ0lDQndjbWwyT2lCd2NtbDJMRnh1SUNBZ0lIQnlhWFpGYm1NNklHVnVZMXh1SUNCOUtUdGNibjA3WEc1Y2JrdGxlVkJoYVhJdWNISnZkRzkwZVhCbExuWmhiR2xrWVhSbElEMGdablZ1WTNScGIyNGdkbUZzYVdSaGRHVW9LU0I3WEc0Z0lIWmhjaUJ3ZFdJZ1BTQjBhR2x6TG1kbGRGQjFZbXhwWXlncE8xeHVYRzRnSUdsbUlDaHdkV0l1YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUhKbGRIVnliaUI3SUhKbGMzVnNkRG9nWm1Gc2MyVXNJSEpsWVhOdmJqb2dKMGx1ZG1Gc2FXUWdjSFZpYkdsaklHdGxlU2NnZlR0Y2JpQWdhV1lnS0NGd2RXSXVkbUZzYVdSaGRHVW9LU2xjYmlBZ0lDQnlaWFIxY200Z2V5QnlaWE4xYkhRNklHWmhiSE5sTENCeVpXRnpiMjQ2SUNkUWRXSnNhV01nYTJWNUlHbHpJRzV2ZENCaElIQnZhVzUwSnlCOU8xeHVJQ0JwWmlBb0lYQjFZaTV0ZFd3b2RHaHBjeTVsWXk1amRYSjJaUzV1S1M1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUhzZ2NtVnpkV3gwT2lCbVlXeHpaU3dnY21WaGMyOXVPaUFuVUhWaWJHbGpJR3RsZVNBcUlFNGdJVDBnVHljZ2ZUdGNibHh1SUNCeVpYUjFjbTRnZXlCeVpYTjFiSFE2SUhSeWRXVXNJSEpsWVhOdmJqb2diblZzYkNCOU8xeHVmVHRjYmx4dVMyVjVVR0ZwY2k1d2NtOTBiM1I1Y0dVdVoyVjBVSFZpYkdsaklEMGdablZ1WTNScGIyNGdaMlYwVUhWaWJHbGpLR052YlhCaFkzUXNJR1Z1WXlrZ2UxeHVJQ0F2THlCamIyMXdZV04wSUdseklHOXdkR2x2Ym1Gc0lHRnlaM1Z0Wlc1MFhHNGdJR2xtSUNoMGVYQmxiMllnWTI5dGNHRmpkQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCbGJtTWdQU0JqYjIxd1lXTjBPMXh1SUNBZ0lHTnZiWEJoWTNRZ1BTQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0YwYUdsekxuQjFZaWxjYmlBZ0lDQjBhR2x6TG5CMVlpQTlJSFJvYVhNdVpXTXVaeTV0ZFd3b2RHaHBjeTV3Y21sMktUdGNibHh1SUNCcFppQW9JV1Z1WXlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1d2RXSTdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjSFZpTG1WdVkyOWtaU2hsYm1Nc0lHTnZiWEJoWTNRcE8xeHVmVHRjYmx4dVMyVjVVR0ZwY2k1d2NtOTBiM1I1Y0dVdVoyVjBVSEpwZG1GMFpTQTlJR1oxYm1OMGFXOXVJR2RsZEZCeWFYWmhkR1VvWlc1aktTQjdYRzRnSUdsbUlDaGxibU1nUFQwOUlDZG9aWGduS1Z4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5CeWFYWXVkRzlUZEhKcGJtY29NVFlzSURJcE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNISnBkanRjYm4wN1hHNWNia3RsZVZCaGFYSXVjSEp2ZEc5MGVYQmxMbDlwYlhCdmNuUlFjbWwyWVhSbElEMGdablZ1WTNScGIyNGdYMmx0Y0c5eWRGQnlhWFpoZEdVb2EyVjVMQ0JsYm1NcElIdGNiaUFnZEdocGN5NXdjbWwySUQwZ2JtVjNJRUpPS0d0bGVTd2daVzVqSUh4OElERTJLVHRjYmx4dUlDQXZMeUJGYm5OMWNtVWdkR2hoZENCMGFHVWdjSEpwZGlCM2IyNG5kQ0JpWlNCaWFXZG5aWElnZEdoaGJpQnVMQ0J2ZEdobGNuZHBjMlVnZDJVZ2JXRjVJR1poYVd4Y2JpQWdMeThnYVc0Z1ptbDRaV1FnYlhWc2RHbHdiR2xqWVhScGIyNGdiV1YwYUc5a1hHNGdJSFJvYVhNdWNISnBkaUE5SUhSb2FYTXVjSEpwZGk1MWJXOWtLSFJvYVhNdVpXTXVZM1Z5ZG1VdWJpazdYRzU5TzF4dVhHNUxaWGxRWVdseUxuQnliM1J2ZEhsd1pTNWZhVzF3YjNKMFVIVmliR2xqSUQwZ1puVnVZM1JwYjI0Z1gybHRjRzl5ZEZCMVlteHBZeWhyWlhrc0lHVnVZeWtnZTF4dUlDQnBaaUFvYTJWNUxuZ2dmSHdnYTJWNUxua3BJSHRjYmlBZ0lDQXZMeUJOYjI1MFoyOXRaWEo1SUhCdmFXNTBjeUJ2Ym14NUlHaGhkbVVnWVc0Z1lIaGdJR052YjNKa2FXNWhkR1V1WEc0Z0lDQWdMeThnVjJWcFpYSnpkSEpoYzNNdlJXUjNZWEprY3lCd2IybHVkSE1nYjI0Z2RHaGxJRzkwYUdWeUlHaGhibVFnYUdGMlpTQmliM1JvSUdCNFlDQmhibVJjYmlBZ0lDQXZMeUJnZVdBZ1kyOXZjbVJwYm1GMFpYTXVYRzRnSUNBZ2FXWWdLSFJvYVhNdVpXTXVZM1Z5ZG1VdWRIbHdaU0E5UFQwZ0oyMXZiblFuS1NCN1hHNGdJQ0FnSUNCaGMzTmxjblFvYTJWNUxuZ3NJQ2RPWldWa0lIZ2dZMjl2Y21ScGJtRjBaU2NwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NWxZeTVqZFhKMlpTNTBlWEJsSUQwOVBTQW5jMmh2Y25RbklIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1WakxtTjFjblpsTG5SNWNHVWdQVDA5SUNkbFpIZGhjbVJ6SnlrZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0d0bGVTNTRJQ1ltSUd0bGVTNTVMQ0FuVG1WbFpDQmliM1JvSUhnZ1lXNWtJSGtnWTI5dmNtUnBibUYwWlNjcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUdsekxuQjFZaUE5SUhSb2FYTXVaV011WTNWeWRtVXVjRzlwYm5Rb2EyVjVMbmdzSUd0bGVTNTVLVHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmlBZ2RHaHBjeTV3ZFdJZ1BTQjBhR2x6TG1WakxtTjFjblpsTG1SbFkyOWtaVkJ2YVc1MEtHdGxlU3dnWlc1aktUdGNibjA3WEc1Y2JpOHZJRVZEUkVoY2JrdGxlVkJoYVhJdWNISnZkRzkwZVhCbExtUmxjbWwyWlNBOUlHWjFibU4wYVc5dUlHUmxjbWwyWlNod2RXSXBJSHRjYmlBZ2NtVjBkWEp1SUhCMVlpNXRkV3dvZEdocGN5NXdjbWwyS1M1blpYUllLQ2s3WEc1OU8xeHVYRzR2THlCRlEwUlRRVnh1UzJWNVVHRnBjaTV3Y205MGIzUjVjR1V1YzJsbmJpQTlJR1oxYm1OMGFXOXVJSE5wWjI0b2JYTm5MQ0JsYm1Nc0lHOXdkR2x2Ym5NcElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVpXTXVjMmxuYmlodGMyY3NJSFJvYVhNc0lHVnVZeXdnYjNCMGFXOXVjeWs3WEc1OU8xeHVYRzVMWlhsUVlXbHlMbkJ5YjNSdmRIbHdaUzUyWlhKcFpua2dQU0JtZFc1amRHbHZiaUIyWlhKcFpua29iWE5uTENCemFXZHVZWFIxY21VcElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVpXTXVkbVZ5YVdaNUtHMXpaeXdnYzJsbmJtRjBkWEpsTENCMGFHbHpLVHRjYm4wN1hHNWNia3RsZVZCaGFYSXVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBLQ2tnZTF4dUlDQnlaWFIxY200Z0p6eExaWGtnY0hKcGRqb2dKeUFySUNoMGFHbHpMbkJ5YVhZZ0ppWWdkR2hwY3k1d2NtbDJMblJ2VTNSeWFXNW5LREUyTENBeUtTa2dLMXh1SUNBZ0lDQWdJQ0FnSnlCd2RXSTZJQ2NnS3lBb2RHaHBjeTV3ZFdJZ0ppWWdkR2hwY3k1d2RXSXVhVzV6Y0dWamRDZ3BLU0FySUNjZ1BpYzdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VjL2tleS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VjL3NpZ25hdHVyZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9zaWduYXR1cmUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xcblxcbmZ1bmN0aW9uIFNpZ25hdHVyZShvcHRpb25zLCBlbmMpIHtcXG4gIGlmIChvcHRpb25zIGluc3RhbmNlb2YgU2lnbmF0dXJlKVxcbiAgICByZXR1cm4gb3B0aW9ucztcXG5cXG4gIGlmICh0aGlzLl9pbXBvcnRERVIob3B0aW9ucywgZW5jKSlcXG4gICAgcmV0dXJuO1xcblxcbiAgYXNzZXJ0KG9wdGlvbnMuciAmJiBvcHRpb25zLnMsICdTaWduYXR1cmUgd2l0aG91dCByIG9yIHMnKTtcXG4gIHRoaXMuciA9IG5ldyBCTihvcHRpb25zLnIsIDE2KTtcXG4gIHRoaXMucyA9IG5ldyBCTihvcHRpb25zLnMsIDE2KTtcXG4gIGlmIChvcHRpb25zLnJlY292ZXJ5UGFyYW0gPT09IHVuZGVmaW5lZClcXG4gICAgdGhpcy5yZWNvdmVyeVBhcmFtID0gbnVsbDtcXG4gIGVsc2VcXG4gICAgdGhpcy5yZWNvdmVyeVBhcmFtID0gb3B0aW9ucy5yZWNvdmVyeVBhcmFtO1xcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hdHVyZTtcXG5cXG5mdW5jdGlvbiBQb3NpdGlvbigpIHtcXG4gIHRoaXMucGxhY2UgPSAwO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRMZW5ndGgoYnVmLCBwKSB7XFxuICB2YXIgaW5pdGlhbCA9IGJ1ZltwLnBsYWNlKytdO1xcbiAgaWYgKCEoaW5pdGlhbCAmIDB4ODApKSB7XFxuICAgIHJldHVybiBpbml0aWFsO1xcbiAgfVxcbiAgdmFyIG9jdGV0TGVuID0gaW5pdGlhbCAmIDB4ZjtcXG4gIHZhciB2YWwgPSAwO1xcbiAgZm9yICh2YXIgaSA9IDAsIG9mZiA9IHAucGxhY2U7IGkgPCBvY3RldExlbjsgaSsrLCBvZmYrKykge1xcbiAgICB2YWwgPDw9IDg7XFxuICAgIHZhbCB8PSBidWZbb2ZmXTtcXG4gIH1cXG4gIHAucGxhY2UgPSBvZmY7XFxuICByZXR1cm4gdmFsO1xcbn1cXG5cXG5mdW5jdGlvbiBybVBhZGRpbmcoYnVmKSB7XFxuICB2YXIgaSA9IDA7XFxuICB2YXIgbGVuID0gYnVmLmxlbmd0aCAtIDE7XFxuICB3aGlsZSAoIWJ1ZltpXSAmJiAhKGJ1ZltpICsgMV0gJiAweDgwKSAmJiBpIDwgbGVuKSB7XFxuICAgIGkrKztcXG4gIH1cXG4gIGlmIChpID09PSAwKSB7XFxuICAgIHJldHVybiBidWY7XFxuICB9XFxuICByZXR1cm4gYnVmLnNsaWNlKGkpO1xcbn1cXG5cXG5TaWduYXR1cmUucHJvdG90eXBlLl9pbXBvcnRERVIgPSBmdW5jdGlvbiBfaW1wb3J0REVSKGRhdGEsIGVuYykge1xcbiAgZGF0YSA9IHV0aWxzLnRvQXJyYXkoZGF0YSwgZW5jKTtcXG4gIHZhciBwID0gbmV3IFBvc2l0aW9uKCk7XFxuICBpZiAoZGF0YVtwLnBsYWNlKytdICE9PSAweDMwKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciBsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XFxuICBpZiAoKGxlbiArIHAucGxhY2UpICE9PSBkYXRhLmxlbmd0aCkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuICBpZiAoZGF0YVtwLnBsYWNlKytdICE9PSAweDAyKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciBybGVuID0gZ2V0TGVuZ3RoKGRhdGEsIHApO1xcbiAgdmFyIHIgPSBkYXRhLnNsaWNlKHAucGxhY2UsIHJsZW4gKyBwLnBsYWNlKTtcXG4gIHAucGxhY2UgKz0gcmxlbjtcXG4gIGlmIChkYXRhW3AucGxhY2UrK10gIT09IDB4MDIpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbiAgdmFyIHNsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XFxuICBpZiAoZGF0YS5sZW5ndGggIT09IHNsZW4gKyBwLnBsYWNlKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciBzID0gZGF0YS5zbGljZShwLnBsYWNlLCBzbGVuICsgcC5wbGFjZSk7XFxuICBpZiAoclswXSA9PT0gMCAmJiAoclsxXSAmIDB4ODApKSB7XFxuICAgIHIgPSByLnNsaWNlKDEpO1xcbiAgfVxcbiAgaWYgKHNbMF0gPT09IDAgJiYgKHNbMV0gJiAweDgwKSkge1xcbiAgICBzID0gcy5zbGljZSgxKTtcXG4gIH1cXG5cXG4gIHRoaXMuciA9IG5ldyBCTihyKTtcXG4gIHRoaXMucyA9IG5ldyBCTihzKTtcXG4gIHRoaXMucmVjb3ZlcnlQYXJhbSA9IG51bGw7XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbmZ1bmN0aW9uIGNvbnN0cnVjdExlbmd0aChhcnIsIGxlbikge1xcbiAgaWYgKGxlbiA8IDB4ODApIHtcXG4gICAgYXJyLnB1c2gobGVuKTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcbiAgdmFyIG9jdGV0cyA9IDEgKyAoTWF0aC5sb2cobGVuKSAvIE1hdGguTE4yID4+PiAzKTtcXG4gIGFyci5wdXNoKG9jdGV0cyB8IDB4ODApO1xcbiAgd2hpbGUgKC0tb2N0ZXRzKSB7XFxuICAgIGFyci5wdXNoKChsZW4gPj4+IChvY3RldHMgPDwgMykpICYgMHhmZik7XFxuICB9XFxuICBhcnIucHVzaChsZW4pO1xcbn1cXG5cXG5TaWduYXR1cmUucHJvdG90eXBlLnRvREVSID0gZnVuY3Rpb24gdG9ERVIoZW5jKSB7XFxuICB2YXIgciA9IHRoaXMuci50b0FycmF5KCk7XFxuICB2YXIgcyA9IHRoaXMucy50b0FycmF5KCk7XFxuXFxuICAvLyBQYWQgdmFsdWVzXFxuICBpZiAoclswXSAmIDB4ODApXFxuICAgIHIgPSBbIDAgXS5jb25jYXQocik7XFxuICAvLyBQYWQgdmFsdWVzXFxuICBpZiAoc1swXSAmIDB4ODApXFxuICAgIHMgPSBbIDAgXS5jb25jYXQocyk7XFxuXFxuICByID0gcm1QYWRkaW5nKHIpO1xcbiAgcyA9IHJtUGFkZGluZyhzKTtcXG5cXG4gIHdoaWxlICghc1swXSAmJiAhKHNbMV0gJiAweDgwKSkge1xcbiAgICBzID0gcy5zbGljZSgxKTtcXG4gIH1cXG4gIHZhciBhcnIgPSBbIDB4MDIgXTtcXG4gIGNvbnN0cnVjdExlbmd0aChhcnIsIHIubGVuZ3RoKTtcXG4gIGFyciA9IGFyci5jb25jYXQocik7XFxuICBhcnIucHVzaCgweDAyKTtcXG4gIGNvbnN0cnVjdExlbmd0aChhcnIsIHMubGVuZ3RoKTtcXG4gIHZhciBiYWNrSGFsZiA9IGFyci5jb25jYXQocyk7XFxuICB2YXIgcmVzID0gWyAweDMwIF07XFxuICBjb25zdHJ1Y3RMZW5ndGgocmVzLCBiYWNrSGFsZi5sZW5ndGgpO1xcbiAgcmVzID0gcmVzLmNvbmNhdChiYWNrSGFsZik7XFxuICByZXR1cm4gdXRpbHMuZW5jb2RlKHJlcywgZW5jKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZaV012YzJsbmJtRjBkWEpsTG1welB6QXhaREVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVdFN08wRkJSV0lzVTBGQlV5eHRRa0ZCVHl4RFFVRkRMRzFGUVVGUE96dEJRVVY0UWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zSzBSQlFWVTdRVUZET1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2REUVVGblF5eGpRVUZqTzBGQlF6bERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpXeHNhWEIwYVdNdmJHbGlMMlZzYkdsd2RHbGpMMlZqTDNOcFoyNWhkSFZ5WlM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlFSk9JRDBnY21WeGRXbHlaU2duWW00dWFuTW5LVHRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQmhjM05sY25RZ1BTQjFkR2xzY3k1aGMzTmxjblE3WEc1Y2JtWjFibU4wYVc5dUlGTnBaMjVoZEhWeVpTaHZjSFJwYjI1ekxDQmxibU1wSUh0Y2JpQWdhV1lnS0c5d2RHbHZibk1nYVc1emRHRnVZMlZ2WmlCVGFXZHVZWFIxY21VcFhHNGdJQ0FnY21WMGRYSnVJRzl3ZEdsdmJuTTdYRzVjYmlBZ2FXWWdLSFJvYVhNdVgybHRjRzl5ZEVSRlVpaHZjSFJwYjI1ekxDQmxibU1wS1Z4dUlDQWdJSEpsZEhWeWJqdGNibHh1SUNCaGMzTmxjblFvYjNCMGFXOXVjeTV5SUNZbUlHOXdkR2x2Ym5NdWN5d2dKMU5wWjI1aGRIVnlaU0IzYVhSb2IzVjBJSElnYjNJZ2N5Y3BPMXh1SUNCMGFHbHpMbklnUFNCdVpYY2dRazRvYjNCMGFXOXVjeTV5TENBeE5pazdYRzRnSUhSb2FYTXVjeUE5SUc1bGR5QkNUaWh2Y0hScGIyNXpMbk1zSURFMktUdGNiaUFnYVdZZ0tHOXdkR2x2Ym5NdWNtVmpiM1psY25sUVlYSmhiU0E5UFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUhSb2FYTXVjbVZqYjNabGNubFFZWEpoYlNBOUlHNTFiR3c3WEc0Z0lHVnNjMlZjYmlBZ0lDQjBhR2x6TG5KbFkyOTJaWEo1VUdGeVlXMGdQU0J2Y0hScGIyNXpMbkpsWTI5MlpYSjVVR0Z5WVcwN1hHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRk5wWjI1aGRIVnlaVHRjYmx4dVpuVnVZM1JwYjI0Z1VHOXphWFJwYjI0b0tTQjdYRzRnSUhSb2FYTXVjR3hoWTJVZ1BTQXdPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJNWlc1bmRHZ29ZblZtTENCd0tTQjdYRzRnSUhaaGNpQnBibWwwYVdGc0lEMGdZblZtVzNBdWNHeGhZMlVySzEwN1hHNGdJR2xtSUNnaEtHbHVhWFJwWVd3Z0ppQXdlRGd3S1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJwYm1sMGFXRnNPMXh1SUNCOVhHNGdJSFpoY2lCdlkzUmxkRXhsYmlBOUlHbHVhWFJwWVd3Z0ppQXdlR1k3WEc0Z0lIWmhjaUIyWVd3Z1BTQXdPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYjJabUlEMGdjQzV3YkdGalpUc2dhU0E4SUc5amRHVjBUR1Z1T3lCcEt5c3NJRzltWmlzcktTQjdYRzRnSUNBZ2RtRnNJRHc4UFNBNE8xeHVJQ0FnSUhaaGJDQjhQU0JpZFdaYmIyWm1YVHRjYmlBZ2ZWeHVJQ0J3TG5Cc1lXTmxJRDBnYjJabU8xeHVJQ0J5WlhSMWNtNGdkbUZzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5YlZCaFpHUnBibWNvWW5WbUtTQjdYRzRnSUhaaGNpQnBJRDBnTUR0Y2JpQWdkbUZ5SUd4bGJpQTlJR0oxWmk1c1pXNW5kR2dnTFNBeE8xeHVJQ0IzYUdsc1pTQW9JV0oxWmx0cFhTQW1KaUFoS0dKMVpsdHBJQ3NnTVYwZ0ppQXdlRGd3S1NBbUppQnBJRHdnYkdWdUtTQjdYRzRnSUNBZ2FTc3JPMXh1SUNCOVhHNGdJR2xtSUNocElEMDlQU0F3S1NCN1hHNGdJQ0FnY21WMGRYSnVJR0oxWmp0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnWW5WbUxuTnNhV05sS0drcE8xeHVmVnh1WEc1VGFXZHVZWFIxY21VdWNISnZkRzkwZVhCbExsOXBiWEJ2Y25SRVJWSWdQU0JtZFc1amRHbHZiaUJmYVcxd2IzSjBSRVZTS0dSaGRHRXNJR1Z1WXlrZ2UxeHVJQ0JrWVhSaElEMGdkWFJwYkhNdWRHOUJjbkpoZVNoa1lYUmhMQ0JsYm1NcE8xeHVJQ0IyWVhJZ2NDQTlJRzVsZHlCUWIzTnBkR2x2YmlncE8xeHVJQ0JwWmlBb1pHRjBZVnR3TG5Cc1lXTmxLeXRkSUNFOVBTQXdlRE13S1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc0Z0lIWmhjaUJzWlc0Z1BTQm5aWFJNWlc1bmRHZ29aR0YwWVN3Z2NDazdYRzRnSUdsbUlDZ29iR1Z1SUNzZ2NDNXdiR0ZqWlNrZ0lUMDlJR1JoZEdFdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc0Z0lHbG1JQ2hrWVhSaFczQXVjR3hoWTJVcksxMGdJVDA5SURCNE1ESXBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNiaUFnZG1GeUlISnNaVzRnUFNCblpYUk1aVzVuZEdnb1pHRjBZU3dnY0NrN1hHNGdJSFpoY2lCeUlEMGdaR0YwWVM1emJHbGpaU2h3TG5Cc1lXTmxMQ0J5YkdWdUlDc2djQzV3YkdGalpTazdYRzRnSUhBdWNHeGhZMlVnS3owZ2NteGxianRjYmlBZ2FXWWdLR1JoZEdGYmNDNXdiR0ZqWlNzclhTQWhQVDBnTUhnd01pa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVJQ0IyWVhJZ2MyeGxiaUE5SUdkbGRFeGxibWQwYUNoa1lYUmhMQ0J3S1R0Y2JpQWdhV1lnS0dSaGRHRXViR1Z1WjNSb0lDRTlQU0J6YkdWdUlDc2djQzV3YkdGalpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVJQ0IyWVhJZ2N5QTlJR1JoZEdFdWMyeHBZMlVvY0M1d2JHRmpaU3dnYzJ4bGJpQXJJSEF1Y0d4aFkyVXBPMXh1SUNCcFppQW9jbHN3WFNBOVBUMGdNQ0FtSmlBb2Nsc3hYU0FtSURCNE9EQXBLU0I3WEc0Z0lDQWdjaUE5SUhJdWMyeHBZMlVvTVNrN1hHNGdJSDFjYmlBZ2FXWWdLSE5iTUYwZ1BUMDlJREFnSmlZZ0tITmJNVjBnSmlBd2VEZ3dLU2tnZTF4dUlDQWdJSE1nUFNCekxuTnNhV05sS0RFcE8xeHVJQ0I5WEc1Y2JpQWdkR2hwY3k1eUlEMGdibVYzSUVKT0tISXBPMXh1SUNCMGFHbHpMbk1nUFNCdVpYY2dRazRvY3lrN1hHNGdJSFJvYVhNdWNtVmpiM1psY25sUVlYSmhiU0E5SUc1MWJHdzdYRzVjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQmpiMjV6ZEhKMVkzUk1aVzVuZEdnb1lYSnlMQ0JzWlc0cElIdGNiaUFnYVdZZ0tHeGxiaUE4SURCNE9EQXBJSHRjYmlBZ0lDQmhjbkl1Y0hWemFDaHNaVzRwTzF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dUlDQjJZWElnYjJOMFpYUnpJRDBnTVNBcklDaE5ZWFJvTG14dlp5aHNaVzRwSUM4Z1RXRjBhQzVNVGpJZ1BqNCtJRE1wTzF4dUlDQmhjbkl1Y0hWemFDaHZZM1JsZEhNZ2ZDQXdlRGd3S1R0Y2JpQWdkMmhwYkdVZ0tDMHRiMk4wWlhSektTQjdYRzRnSUNBZ1lYSnlMbkIxYzJnb0tHeGxiaUErUGo0Z0tHOWpkR1YwY3lBOFBDQXpLU2tnSmlBd2VHWm1LVHRjYmlBZ2ZWeHVJQ0JoY25JdWNIVnphQ2hzWlc0cE8xeHVmVnh1WEc1VGFXZHVZWFIxY21VdWNISnZkRzkwZVhCbExuUnZSRVZTSUQwZ1puVnVZM1JwYjI0Z2RHOUVSVklvWlc1aktTQjdYRzRnSUhaaGNpQnlJRDBnZEdocGN5NXlMblJ2UVhKeVlYa29LVHRjYmlBZ2RtRnlJSE1nUFNCMGFHbHpMbk11ZEc5QmNuSmhlU2dwTzF4dVhHNGdJQzh2SUZCaFpDQjJZV3gxWlhOY2JpQWdhV1lnS0hKYk1GMGdKaUF3ZURnd0tWeHVJQ0FnSUhJZ1BTQmJJREFnWFM1amIyNWpZWFFvY2lrN1hHNGdJQzh2SUZCaFpDQjJZV3gxWlhOY2JpQWdhV1lnS0hOYk1GMGdKaUF3ZURnd0tWeHVJQ0FnSUhNZ1BTQmJJREFnWFM1amIyNWpZWFFvY3lrN1hHNWNiaUFnY2lBOUlISnRVR0ZrWkdsdVp5aHlLVHRjYmlBZ2N5QTlJSEp0VUdGa1pHbHVaeWh6S1R0Y2JseHVJQ0IzYUdsc1pTQW9JWE5iTUYwZ0ppWWdJU2h6V3pGZElDWWdNSGc0TUNrcElIdGNiaUFnSUNCeklEMGdjeTV6YkdsalpTZ3hLVHRjYmlBZ2ZWeHVJQ0IyWVhJZ1lYSnlJRDBnV3lBd2VEQXlJRjA3WEc0Z0lHTnZibk4wY25WamRFeGxibWQwYUNoaGNuSXNJSEl1YkdWdVozUm9LVHRjYmlBZ1lYSnlJRDBnWVhKeUxtTnZibU5oZENoeUtUdGNiaUFnWVhKeUxuQjFjMmdvTUhnd01pazdYRzRnSUdOdmJuTjBjblZqZEV4bGJtZDBhQ2hoY25Jc0lITXViR1Z1WjNSb0tUdGNiaUFnZG1GeUlHSmhZMnRJWVd4bUlEMGdZWEp5TG1OdmJtTmhkQ2h6S1R0Y2JpQWdkbUZ5SUhKbGN5QTlJRnNnTUhnek1DQmRPMXh1SUNCamIyNXpkSEoxWTNSTVpXNW5kR2dvY21WekxDQmlZV05yU0dGc1ppNXNaVzVuZEdncE8xeHVJQ0J5WlhNZ1BTQnlaWE11WTI5dVkyRjBLR0poWTJ0SVlXeG1LVHRjYmlBZ2NtVjBkWEp1SUhWMGFXeHpMbVZ1WTI5a1pTaHlaWE1zSUdWdVl5azdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VjL3NpZ25hdHVyZS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWRkc2EvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBoYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1xcXCIpO1xcbnZhciBjdXJ2ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jdXJ2ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZXMuanNcXFwiKTtcXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG52YXIgcGFyc2VCeXRlcyA9IHV0aWxzLnBhcnNlQnl0ZXM7XFxudmFyIEtleVBhaXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2tleSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qc1xcXCIpO1xcbnZhciBTaWduYXR1cmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NpZ25hdHVyZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL3NpZ25hdHVyZS5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIEVERFNBKGN1cnZlKSB7XFxuICBhc3NlcnQoY3VydmUgPT09ICdlZDI1NTE5JywgJ29ubHkgdGVzdGVkIHdpdGggZWQyNTUxOSBzbyBmYXInKTtcXG5cXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBFRERTQSkpXFxuICAgIHJldHVybiBuZXcgRUREU0EoY3VydmUpO1xcblxcbiAgdmFyIGN1cnZlID0gY3VydmVzW2N1cnZlXS5jdXJ2ZTtcXG4gIHRoaXMuY3VydmUgPSBjdXJ2ZTtcXG4gIHRoaXMuZyA9IGN1cnZlLmc7XFxuICB0aGlzLmcucHJlY29tcHV0ZShjdXJ2ZS5uLmJpdExlbmd0aCgpICsgMSk7XFxuXFxuICB0aGlzLnBvaW50Q2xhc3MgPSBjdXJ2ZS5wb2ludCgpLmNvbnN0cnVjdG9yO1xcbiAgdGhpcy5lbmNvZGluZ0xlbmd0aCA9IE1hdGguY2VpbChjdXJ2ZS5uLmJpdExlbmd0aCgpIC8gOCk7XFxuICB0aGlzLmhhc2ggPSBoYXNoLnNoYTUxMjtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBFRERTQTtcXG5cXG4vKipcXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfSBtZXNzYWdlIC0gbWVzc2FnZSBieXRlc1xcbiogQHBhcmFtIHtBcnJheXxTdHJpbmd8S2V5UGFpcn0gc2VjcmV0IC0gc2VjcmV0IGJ5dGVzIG9yIGEga2V5cGFpclxcbiogQHJldHVybnMge1NpZ25hdHVyZX0gLSBzaWduYXR1cmVcXG4qL1xcbkVERFNBLnByb3RvdHlwZS5zaWduID0gZnVuY3Rpb24gc2lnbihtZXNzYWdlLCBzZWNyZXQpIHtcXG4gIG1lc3NhZ2UgPSBwYXJzZUJ5dGVzKG1lc3NhZ2UpO1xcbiAgdmFyIGtleSA9IHRoaXMua2V5RnJvbVNlY3JldChzZWNyZXQpO1xcbiAgdmFyIHIgPSB0aGlzLmhhc2hJbnQoa2V5Lm1lc3NhZ2VQcmVmaXgoKSwgbWVzc2FnZSk7XFxuICB2YXIgUiA9IHRoaXMuZy5tdWwocik7XFxuICB2YXIgUmVuY29kZWQgPSB0aGlzLmVuY29kZVBvaW50KFIpO1xcbiAgdmFyIHNfID0gdGhpcy5oYXNoSW50KFJlbmNvZGVkLCBrZXkucHViQnl0ZXMoKSwgbWVzc2FnZSlcXG4gICAgICAgICAgICAgICAubXVsKGtleS5wcml2KCkpO1xcbiAgdmFyIFMgPSByLmFkZChzXykudW1vZCh0aGlzLmN1cnZlLm4pO1xcbiAgcmV0dXJuIHRoaXMubWFrZVNpZ25hdHVyZSh7IFI6IFIsIFM6IFMsIFJlbmNvZGVkOiBSZW5jb2RlZCB9KTtcXG59O1xcblxcbi8qKlxcbiogQHBhcmFtIHtBcnJheX0gbWVzc2FnZSAtIG1lc3NhZ2UgYnl0ZXNcXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfFNpZ25hdHVyZX0gc2lnIC0gc2lnIGJ5dGVzXFxuKiBAcGFyYW0ge0FycmF5fFN0cmluZ3xQb2ludHxLZXlQYWlyfSBwdWIgLSBwdWJsaWMga2V5XFxuKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSB0cnVlIGlmIHB1YmxpYyBrZXkgbWF0Y2hlcyBzaWcgb2YgbWVzc2FnZVxcbiovXFxuRUREU0EucHJvdG90eXBlLnZlcmlmeSA9IGZ1bmN0aW9uIHZlcmlmeShtZXNzYWdlLCBzaWcsIHB1Yikge1xcbiAgbWVzc2FnZSA9IHBhcnNlQnl0ZXMobWVzc2FnZSk7XFxuICBzaWcgPSB0aGlzLm1ha2VTaWduYXR1cmUoc2lnKTtcXG4gIHZhciBrZXkgPSB0aGlzLmtleUZyb21QdWJsaWMocHViKTtcXG4gIHZhciBoID0gdGhpcy5oYXNoSW50KHNpZy5SZW5jb2RlZCgpLCBrZXkucHViQnl0ZXMoKSwgbWVzc2FnZSk7XFxuICB2YXIgU0cgPSB0aGlzLmcubXVsKHNpZy5TKCkpO1xcbiAgdmFyIFJwbHVzQWggPSBzaWcuUigpLmFkZChrZXkucHViKCkubXVsKGgpKTtcXG4gIHJldHVybiBScGx1c0FoLmVxKFNHKTtcXG59O1xcblxcbkVERFNBLnByb3RvdHlwZS5oYXNoSW50ID0gZnVuY3Rpb24gaGFzaEludCgpIHtcXG4gIHZhciBoYXNoID0gdGhpcy5oYXNoKCk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcXG4gICAgaGFzaC51cGRhdGUoYXJndW1lbnRzW2ldKTtcXG4gIHJldHVybiB1dGlscy5pbnRGcm9tTEUoaGFzaC5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLmtleUZyb21QdWJsaWMgPSBmdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1Yikge1xcbiAgcmV0dXJuIEtleVBhaXIuZnJvbVB1YmxpYyh0aGlzLCBwdWIpO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLmtleUZyb21TZWNyZXQgPSBmdW5jdGlvbiBrZXlGcm9tU2VjcmV0KHNlY3JldCkge1xcbiAgcmV0dXJuIEtleVBhaXIuZnJvbVNlY3JldCh0aGlzLCBzZWNyZXQpO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLm1ha2VTaWduYXR1cmUgPSBmdW5jdGlvbiBtYWtlU2lnbmF0dXJlKHNpZykge1xcbiAgaWYgKHNpZyBpbnN0YW5jZW9mIFNpZ25hdHVyZSlcXG4gICAgcmV0dXJuIHNpZztcXG4gIHJldHVybiBuZXcgU2lnbmF0dXJlKHRoaXMsIHNpZyk7XFxufTtcXG5cXG4vKipcXG4qICogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWpvc2Vmc3Nvbi1lZGRzYS1lZDI1NTE5LTAzI3NlY3Rpb24tNS4yXFxuKlxcbiogRUREU0EgZGVmaW5lcyBtZXRob2RzIGZvciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgcG9pbnRzIGFuZCBpbnRlZ2Vycy4gVGhlc2UgYXJlXFxuKiBoZWxwZXIgY29udmVuaWVuY2UgbWV0aG9kcywgdGhhdCBwYXNzIGFsb25nIHRvIHV0aWxpdHkgZnVuY3Rpb25zIGltcGxpZWRcXG4qIHBhcmFtZXRlcnMuXFxuKlxcbiovXFxuRUREU0EucHJvdG90eXBlLmVuY29kZVBvaW50ID0gZnVuY3Rpb24gZW5jb2RlUG9pbnQocG9pbnQpIHtcXG4gIHZhciBlbmMgPSBwb2ludC5nZXRZKCkudG9BcnJheSgnbGUnLCB0aGlzLmVuY29kaW5nTGVuZ3RoKTtcXG4gIGVuY1t0aGlzLmVuY29kaW5nTGVuZ3RoIC0gMV0gfD0gcG9pbnQuZ2V0WCgpLmlzT2RkKCkgPyAweDgwIDogMDtcXG4gIHJldHVybiBlbmM7XFxufTtcXG5cXG5FRERTQS5wcm90b3R5cGUuZGVjb2RlUG9pbnQgPSBmdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcykge1xcbiAgYnl0ZXMgPSB1dGlscy5wYXJzZUJ5dGVzKGJ5dGVzKTtcXG5cXG4gIHZhciBsYXN0SXggPSBieXRlcy5sZW5ndGggLSAxO1xcbiAgdmFyIG5vcm1lZCA9IGJ5dGVzLnNsaWNlKDAsIGxhc3RJeCkuY29uY2F0KGJ5dGVzW2xhc3RJeF0gJiB+MHg4MCk7XFxuICB2YXIgeElzT2RkID0gKGJ5dGVzW2xhc3RJeF0gJiAweDgwKSAhPT0gMDtcXG5cXG4gIHZhciB5ID0gdXRpbHMuaW50RnJvbUxFKG5vcm1lZCk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKHksIHhJc09kZCk7XFxufTtcXG5cXG5FRERTQS5wcm90b3R5cGUuZW5jb2RlSW50ID0gZnVuY3Rpb24gZW5jb2RlSW50KG51bSkge1xcbiAgcmV0dXJuIG51bS50b0FycmF5KCdsZScsIHRoaXMuZW5jb2RpbmdMZW5ndGgpO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLmRlY29kZUludCA9IGZ1bmN0aW9uIGRlY29kZUludChieXRlcykge1xcbiAgcmV0dXJuIHV0aWxzLmludEZyb21MRShieXRlcyk7XFxufTtcXG5cXG5FRERTQS5wcm90b3R5cGUuaXNQb2ludCA9IGZ1bmN0aW9uIGlzUG9pbnQodmFsKSB7XFxuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgdGhpcy5wb2ludENsYXNzO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlpXUmtjMkV2YVc1a1pYZ3Vhbk0vTnpJeFpDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc2JVUkJRVk03UVVGRE5VSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHbEZRVUZYTzBGQlEyaERMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRanRCUVVOQk8wRkJRMEVzWTBGQll5eHRRa0ZCVHl4RFFVRkRMR2RGUVVGUE8wRkJRemRDTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETERSRlFVRmhPenRCUVVWeVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3hWUVVGVkxHRkJRV0U3UVVGRGRrSXNWVUZCVlN4eFFrRkJjVUk3UVVGREwwSXNXVUZCV1N4VlFVRlZPMEZCUTNSQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTmtKQlFUWkNMR2xEUVVGcFF6dEJRVU01UkRzN1FVRkZRVHRCUVVOQkxGVkJRVlVzVFVGQlRUdEJRVU5vUWl4VlFVRlZMSFZDUVVGMVFqdEJRVU5xUXl4VlFVRlZMREpDUVVFeVFqdEJRVU55UXl4WlFVRlpMRkZCUVZFN1FVRkRjRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeHpRa0ZCYzBJN1FVRkRka003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZaV3hzYVhCMGFXTXZiR2xpTDJWc2JHbHdkR2xqTDJWa1pITmhMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdhR0Z6YUNBOUlISmxjWFZwY21Vb0oyaGhjMmd1YW5NbktUdGNiblpoY2lCamRYSjJaWE1nUFNCeVpYRjFhWEpsS0NjdUxpOWpkWEoyWlhNbktUdGNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dUwzVjBhV3h6SnlrN1hHNTJZWElnWVhOelpYSjBJRDBnZFhScGJITXVZWE56WlhKME8xeHVkbUZ5SUhCaGNuTmxRbmwwWlhNZ1BTQjFkR2xzY3k1d1lYSnpaVUo1ZEdWek8xeHVkbUZ5SUV0bGVWQmhhWElnUFNCeVpYRjFhWEpsS0NjdUwydGxlU2NwTzF4dWRtRnlJRk5wWjI1aGRIVnlaU0E5SUhKbGNYVnBjbVVvSnk0dmMybG5ibUYwZFhKbEp5azdYRzVjYm1aMWJtTjBhVzl1SUVWRVJGTkJLR04xY25abEtTQjdYRzRnSUdGemMyVnlkQ2hqZFhKMlpTQTlQVDBnSjJWa01qVTFNVGtuTENBbmIyNXNlU0IwWlhOMFpXUWdkMmwwYUNCbFpESTFOVEU1SUhOdklHWmhjaWNwTzF4dVhHNGdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCRlJFUlRRU2twWEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJGUkVSVFFTaGpkWEoyWlNrN1hHNWNiaUFnZG1GeUlHTjFjblpsSUQwZ1kzVnlkbVZ6VzJOMWNuWmxYUzVqZFhKMlpUdGNiaUFnZEdocGN5NWpkWEoyWlNBOUlHTjFjblpsTzF4dUlDQjBhR2x6TG1jZ1BTQmpkWEoyWlM1bk8xeHVJQ0IwYUdsekxtY3VjSEpsWTI5dGNIVjBaU2hqZFhKMlpTNXVMbUpwZEV4bGJtZDBhQ2dwSUNzZ01TazdYRzVjYmlBZ2RHaHBjeTV3YjJsdWRFTnNZWE56SUQwZ1kzVnlkbVV1Y0c5cGJuUW9LUzVqYjI1emRISjFZM1J2Y2p0Y2JpQWdkR2hwY3k1bGJtTnZaR2x1WjB4bGJtZDBhQ0E5SUUxaGRHZ3VZMlZwYkNoamRYSjJaUzV1TG1KcGRFeGxibWQwYUNncElDOGdPQ2s3WEc0Z0lIUm9hWE11YUdGemFDQTlJR2hoYzJndWMyaGhOVEV5TzF4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRVZFUkZOQk8xeHVYRzR2S2lwY2Jpb2dRSEJoY21GdElIdEJjbkpoZVh4VGRISnBibWQ5SUcxbGMzTmhaMlVnTFNCdFpYTnpZV2RsSUdKNWRHVnpYRzRxSUVCd1lYSmhiU0I3UVhKeVlYbDhVM1J5YVc1bmZFdGxlVkJoYVhKOUlITmxZM0psZENBdElITmxZM0psZENCaWVYUmxjeUJ2Y2lCaElHdGxlWEJoYVhKY2Jpb2dRSEpsZEhWeWJuTWdlMU5wWjI1aGRIVnlaWDBnTFNCemFXZHVZWFIxY21WY2Jpb3ZYRzVGUkVSVFFTNXdjbTkwYjNSNWNHVXVjMmxuYmlBOUlHWjFibU4wYVc5dUlITnBaMjRvYldWemMyRm5aU3dnYzJWamNtVjBLU0I3WEc0Z0lHMWxjM05oWjJVZ1BTQndZWEp6WlVKNWRHVnpLRzFsYzNOaFoyVXBPMXh1SUNCMllYSWdhMlY1SUQwZ2RHaHBjeTVyWlhsR2NtOXRVMlZqY21WMEtITmxZM0psZENrN1hHNGdJSFpoY2lCeUlEMGdkR2hwY3k1b1lYTm9TVzUwS0d0bGVTNXRaWE56WVdkbFVISmxabWw0S0Nrc0lHMWxjM05oWjJVcE8xeHVJQ0IyWVhJZ1VpQTlJSFJvYVhNdVp5NXRkV3dvY2lrN1hHNGdJSFpoY2lCU1pXNWpiMlJsWkNBOUlIUm9hWE11Wlc1amIyUmxVRzlwYm5Rb1VpazdYRzRnSUhaaGNpQnpYeUE5SUhSb2FYTXVhR0Z6YUVsdWRDaFNaVzVqYjJSbFpDd2dhMlY1TG5CMVlrSjVkR1Z6S0Nrc0lHMWxjM05oWjJVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdWJYVnNLR3RsZVM1d2NtbDJLQ2twTzF4dUlDQjJZWElnVXlBOUlISXVZV1JrS0hOZktTNTFiVzlrS0hSb2FYTXVZM1Z5ZG1VdWJpazdYRzRnSUhKbGRIVnliaUIwYUdsekxtMWhhMlZUYVdkdVlYUjFjbVVvZXlCU09pQlNMQ0JUT2lCVExDQlNaVzVqYjJSbFpEb2dVbVZ1WTI5a1pXUWdmU2s3WEc1OU8xeHVYRzR2S2lwY2Jpb2dRSEJoY21GdElIdEJjbkpoZVgwZ2JXVnpjMkZuWlNBdElHMWxjM05oWjJVZ1lubDBaWE5jYmlvZ1FIQmhjbUZ0SUh0QmNuSmhlWHhUZEhKcGJtZDhVMmxuYm1GMGRYSmxmU0J6YVdjZ0xTQnphV2NnWW5sMFpYTmNiaW9nUUhCaGNtRnRJSHRCY25KaGVYeFRkSEpwYm1kOFVHOXBiblI4UzJWNVVHRnBjbjBnY0hWaUlDMGdjSFZpYkdsaklHdGxlVnh1S2lCQWNtVjBkWEp1Y3lCN1FtOXZiR1ZoYm4wZ0xTQjBjblZsSUdsbUlIQjFZbXhwWXlCclpYa2diV0YwWTJobGN5QnphV2NnYjJZZ2JXVnpjMkZuWlZ4dUtpOWNia1ZFUkZOQkxuQnliM1J2ZEhsd1pTNTJaWEpwWm5rZ1BTQm1kVzVqZEdsdmJpQjJaWEpwWm5rb2JXVnpjMkZuWlN3Z2MybG5MQ0J3ZFdJcElIdGNiaUFnYldWemMyRm5aU0E5SUhCaGNuTmxRbmwwWlhNb2JXVnpjMkZuWlNrN1hHNGdJSE5wWnlBOUlIUm9hWE11YldGclpWTnBaMjVoZEhWeVpTaHphV2NwTzF4dUlDQjJZWElnYTJWNUlEMGdkR2hwY3k1clpYbEdjbTl0VUhWaWJHbGpLSEIxWWlrN1hHNGdJSFpoY2lCb0lEMGdkR2hwY3k1b1lYTm9TVzUwS0hOcFp5NVNaVzVqYjJSbFpDZ3BMQ0JyWlhrdWNIVmlRbmwwWlhNb0tTd2diV1Z6YzJGblpTazdYRzRnSUhaaGNpQlRSeUE5SUhSb2FYTXVaeTV0ZFd3b2MybG5MbE1vS1NrN1hHNGdJSFpoY2lCU2NHeDFjMEZvSUQwZ2MybG5MbElvS1M1aFpHUW9hMlY1TG5CMVlpZ3BMbTExYkNob0tTazdYRzRnSUhKbGRIVnliaUJTY0d4MWMwRm9MbVZ4S0ZOSEtUdGNibjA3WEc1Y2JrVkVSRk5CTG5CeWIzUnZkSGx3WlM1b1lYTm9TVzUwSUQwZ1puVnVZM1JwYjI0Z2FHRnphRWx1ZENncElIdGNiaUFnZG1GeUlHaGhjMmdnUFNCMGFHbHpMbWhoYzJnb0tUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ2FHRnphQzUxY0dSaGRHVW9ZWEpuZFcxbGJuUnpXMmxkS1R0Y2JpQWdjbVYwZFhKdUlIVjBhV3h6TG1sdWRFWnliMjFNUlNob1lYTm9MbVJwWjJWemRDZ3BLUzUxYlc5a0tIUm9hWE11WTNWeWRtVXViaWs3WEc1OU8xeHVYRzVGUkVSVFFTNXdjbTkwYjNSNWNHVXVhMlY1Um5KdmJWQjFZbXhwWXlBOUlHWjFibU4wYVc5dUlHdGxlVVp5YjIxUWRXSnNhV01vY0hWaUtTQjdYRzRnSUhKbGRIVnliaUJMWlhsUVlXbHlMbVp5YjIxUWRXSnNhV01vZEdocGN5d2djSFZpS1R0Y2JuMDdYRzVjYmtWRVJGTkJMbkJ5YjNSdmRIbHdaUzVyWlhsR2NtOXRVMlZqY21WMElEMGdablZ1WTNScGIyNGdhMlY1Um5KdmJWTmxZM0psZENoelpXTnlaWFFwSUh0Y2JpQWdjbVYwZFhKdUlFdGxlVkJoYVhJdVpuSnZiVk5sWTNKbGRDaDBhR2x6TENCelpXTnlaWFFwTzF4dWZUdGNibHh1UlVSRVUwRXVjSEp2ZEc5MGVYQmxMbTFoYTJWVGFXZHVZWFIxY21VZ1BTQm1kVzVqZEdsdmJpQnRZV3RsVTJsbmJtRjBkWEpsS0hOcFp5a2dlMXh1SUNCcFppQW9jMmxuSUdsdWMzUmhibU5sYjJZZ1UybG5ibUYwZFhKbEtWeHVJQ0FnSUhKbGRIVnliaUJ6YVdjN1hHNGdJSEpsZEhWeWJpQnVaWGNnVTJsbmJtRjBkWEpsS0hSb2FYTXNJSE5wWnlrN1hHNTlPMXh1WEc0dktpcGNiaW9nS2lCb2RIUndjem92TDNSdmIyeHpMbWxsZEdZdWIzSm5MMmgwYld3dlpISmhablF0YW05elpXWnpjMjl1TFdWa1pITmhMV1ZrTWpVMU1Ua3RNRE1qYzJWamRHbHZiaTAxTGpKY2JpcGNiaW9nUlVSRVUwRWdaR1ZtYVc1bGN5QnRaWFJvYjJSeklHWnZjaUJsYm1OdlpHbHVaeUJoYm1RZ1pHVmpiMlJwYm1jZ2NHOXBiblJ6SUdGdVpDQnBiblJsWjJWeWN5NGdWR2hsYzJVZ1lYSmxYRzRxSUdobGJIQmxjaUJqYjI1MlpXNXBaVzVqWlNCdFpYUm9iMlJ6TENCMGFHRjBJSEJoYzNNZ1lXeHZibWNnZEc4Z2RYUnBiR2wwZVNCbWRXNWpkR2x2Ym5NZ2FXMXdiR2xsWkZ4dUtpQndZWEpoYldWMFpYSnpMbHh1S2x4dUtpOWNia1ZFUkZOQkxuQnliM1J2ZEhsd1pTNWxibU52WkdWUWIybHVkQ0E5SUdaMWJtTjBhVzl1SUdWdVkyOWtaVkJ2YVc1MEtIQnZhVzUwS1NCN1hHNGdJSFpoY2lCbGJtTWdQU0J3YjJsdWRDNW5aWFJaS0NrdWRHOUJjbkpoZVNnbmJHVW5MQ0IwYUdsekxtVnVZMjlrYVc1blRHVnVaM1JvS1R0Y2JpQWdaVzVqVzNSb2FYTXVaVzVqYjJScGJtZE1aVzVuZEdnZ0xTQXhYU0I4UFNCd2IybHVkQzVuWlhSWUtDa3VhWE5QWkdRb0tTQS9JREI0T0RBZ09pQXdPMXh1SUNCeVpYUjFjbTRnWlc1ak8xeHVmVHRjYmx4dVJVUkVVMEV1Y0hKdmRHOTBlWEJsTG1SbFkyOWtaVkJ2YVc1MElEMGdablZ1WTNScGIyNGdaR1ZqYjJSbFVHOXBiblFvWW5sMFpYTXBJSHRjYmlBZ1lubDBaWE1nUFNCMWRHbHNjeTV3WVhKelpVSjVkR1Z6S0dKNWRHVnpLVHRjYmx4dUlDQjJZWElnYkdGemRFbDRJRDBnWW5sMFpYTXViR1Z1WjNSb0lDMGdNVHRjYmlBZ2RtRnlJRzV2Y20xbFpDQTlJR0o1ZEdWekxuTnNhV05sS0RBc0lHeGhjM1JKZUNrdVkyOXVZMkYwS0dKNWRHVnpXMnhoYzNSSmVGMGdKaUIrTUhnNE1DazdYRzRnSUhaaGNpQjRTWE5QWkdRZ1BTQW9ZbmwwWlhOYmJHRnpkRWw0WFNBbUlEQjRPREFwSUNFOVBTQXdPMXh1WEc0Z0lIWmhjaUI1SUQwZ2RYUnBiSE11YVc1MFJuSnZiVXhGS0c1dmNtMWxaQ2s3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExuQnZhVzUwUm5KdmJWa29lU3dnZUVselQyUmtLVHRjYm4wN1hHNWNia1ZFUkZOQkxuQnliM1J2ZEhsd1pTNWxibU52WkdWSmJuUWdQU0JtZFc1amRHbHZiaUJsYm1OdlpHVkpiblFvYm5WdEtTQjdYRzRnSUhKbGRIVnliaUJ1ZFcwdWRHOUJjbkpoZVNnbmJHVW5MQ0IwYUdsekxtVnVZMjlrYVc1blRHVnVaM1JvS1R0Y2JuMDdYRzVjYmtWRVJGTkJMbkJ5YjNSdmRIbHdaUzVrWldOdlpHVkpiblFnUFNCbWRXNWpkR2x2YmlCa1pXTnZaR1ZKYm5Rb1lubDBaWE1wSUh0Y2JpQWdjbVYwZFhKdUlIVjBhV3h6TG1sdWRFWnliMjFNUlNoaWVYUmxjeWs3WEc1OU8xeHVYRzVGUkVSVFFTNXdjbTkwYjNSNWNHVXVhWE5RYjJsdWRDQTlJR1oxYm1OMGFXOXVJR2x6VUc5cGJuUW9kbUZzS1NCN1hHNGdJSEpsZEhWeWJpQjJZV3dnYVc1emRHRnVZMlZ2WmlCMGFHbHpMbkJ2YVc1MFEyeGhjM003WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9rZXkuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG52YXIgcGFyc2VCeXRlcyA9IHV0aWxzLnBhcnNlQnl0ZXM7XFxudmFyIGNhY2hlZFByb3BlcnR5ID0gdXRpbHMuY2FjaGVkUHJvcGVydHk7XFxuXFxuLyoqXFxuKiBAcGFyYW0ge0VERFNBfSBlZGRzYSAtIGluc3RhbmNlXFxuKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gcHVibGljL3ByaXZhdGUga2V5IHBhcmFtZXRlcnNcXG4qXFxuKiBAcGFyYW0ge0FycmF5PEJ5dGU+fSBbcGFyYW1zLnNlY3JldF0gLSBzZWNyZXQgc2VlZCBieXRlc1xcbiogQHBhcmFtIHtQb2ludH0gW3BhcmFtcy5wdWJdIC0gcHVibGljIGtleSBwb2ludCAoYWthIGBBYCBpbiBlZGRzYSB0ZXJtcylcXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZT59IFtwYXJhbXMucHViXSAtIHB1YmxpYyBrZXkgcG9pbnQgZW5jb2RlZCBhcyBieXRlc1xcbipcXG4qL1xcbmZ1bmN0aW9uIEtleVBhaXIoZWRkc2EsIHBhcmFtcykge1xcbiAgdGhpcy5lZGRzYSA9IGVkZHNhO1xcbiAgdGhpcy5fc2VjcmV0ID0gcGFyc2VCeXRlcyhwYXJhbXMuc2VjcmV0KTtcXG4gIGlmIChlZGRzYS5pc1BvaW50KHBhcmFtcy5wdWIpKVxcbiAgICB0aGlzLl9wdWIgPSBwYXJhbXMucHViO1xcbiAgZWxzZVxcbiAgICB0aGlzLl9wdWJCeXRlcyA9IHBhcnNlQnl0ZXMocGFyYW1zLnB1Yik7XFxufVxcblxcbktleVBhaXIuZnJvbVB1YmxpYyA9IGZ1bmN0aW9uIGZyb21QdWJsaWMoZWRkc2EsIHB1Yikge1xcbiAgaWYgKHB1YiBpbnN0YW5jZW9mIEtleVBhaXIpXFxuICAgIHJldHVybiBwdWI7XFxuICByZXR1cm4gbmV3IEtleVBhaXIoZWRkc2EsIHsgcHViOiBwdWIgfSk7XFxufTtcXG5cXG5LZXlQYWlyLmZyb21TZWNyZXQgPSBmdW5jdGlvbiBmcm9tU2VjcmV0KGVkZHNhLCBzZWNyZXQpIHtcXG4gIGlmIChzZWNyZXQgaW5zdGFuY2VvZiBLZXlQYWlyKVxcbiAgICByZXR1cm4gc2VjcmV0O1xcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKGVkZHNhLCB7IHNlY3JldDogc2VjcmV0IH0pO1xcbn07XFxuXFxuS2V5UGFpci5wcm90b3R5cGUuc2VjcmV0ID0gZnVuY3Rpb24gc2VjcmV0KCkge1xcbiAgcmV0dXJuIHRoaXMuX3NlY3JldDtcXG59O1xcblxcbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdwdWJCeXRlcycsIGZ1bmN0aW9uIHB1YkJ5dGVzKCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5wdWIoKSk7XFxufSk7XFxuXFxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3B1YicsIGZ1bmN0aW9uIHB1YigpIHtcXG4gIGlmICh0aGlzLl9wdWJCeXRlcylcXG4gICAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlUG9pbnQodGhpcy5fcHViQnl0ZXMpO1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZy5tdWwodGhpcy5wcml2KCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdwcml2Qnl0ZXMnLCBmdW5jdGlvbiBwcml2Qnl0ZXMoKSB7XFxuICB2YXIgZWRkc2EgPSB0aGlzLmVkZHNhO1xcbiAgdmFyIGhhc2ggPSB0aGlzLmhhc2goKTtcXG4gIHZhciBsYXN0SXggPSBlZGRzYS5lbmNvZGluZ0xlbmd0aCAtIDE7XFxuXFxuICB2YXIgYSA9IGhhc2guc2xpY2UoMCwgZWRkc2EuZW5jb2RpbmdMZW5ndGgpO1xcbiAgYVswXSAmPSAyNDg7XFxuICBhW2xhc3RJeF0gJj0gMTI3O1xcbiAgYVtsYXN0SXhdIHw9IDY0O1xcblxcbiAgcmV0dXJuIGE7XFxufSk7XFxuXFxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3ByaXYnLCBmdW5jdGlvbiBwcml2KCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlSW50KHRoaXMucHJpdkJ5dGVzKCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdoYXNoJywgZnVuY3Rpb24gaGFzaCgpIHtcXG4gIHJldHVybiB0aGlzLmVkZHNhLmhhc2goKS51cGRhdGUodGhpcy5zZWNyZXQoKSkuZGlnZXN0KCk7XFxufSk7XFxuXFxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ21lc3NhZ2VQcmVmaXgnLCBmdW5jdGlvbiBtZXNzYWdlUHJlZml4KCkge1xcbiAgcmV0dXJuIHRoaXMuaGFzaCgpLnNsaWNlKHRoaXMuZWRkc2EuZW5jb2RpbmdMZW5ndGgpO1xcbn0pO1xcblxcbktleVBhaXIucHJvdG90eXBlLnNpZ24gPSBmdW5jdGlvbiBzaWduKG1lc3NhZ2UpIHtcXG4gIGFzc2VydCh0aGlzLl9zZWNyZXQsICdLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeScpO1xcbiAgcmV0dXJuIHRoaXMuZWRkc2Euc2lnbihtZXNzYWdlLCB0aGlzKTtcXG59O1xcblxcbktleVBhaXIucHJvdG90eXBlLnZlcmlmeSA9IGZ1bmN0aW9uIHZlcmlmeShtZXNzYWdlLCBzaWcpIHtcXG4gIHJldHVybiB0aGlzLmVkZHNhLnZlcmlmeShtZXNzYWdlLCBzaWcsIHRoaXMpO1xcbn07XFxuXFxuS2V5UGFpci5wcm90b3R5cGUuZ2V0U2VjcmV0ID0gZnVuY3Rpb24gZ2V0U2VjcmV0KGVuYykge1xcbiAgYXNzZXJ0KHRoaXMuX3NlY3JldCwgJ0tleVBhaXIgaXMgcHVibGljIG9ubHknKTtcXG4gIHJldHVybiB1dGlscy5lbmNvZGUodGhpcy5zZWNyZXQoKSwgZW5jKTtcXG59O1xcblxcbktleVBhaXIucHJvdG90eXBlLmdldFB1YmxpYyA9IGZ1bmN0aW9uIGdldFB1YmxpYyhlbmMpIHtcXG4gIHJldHVybiB1dGlscy5lbmNvZGUodGhpcy5wdWJCeXRlcygpLCBlbmMpO1xcbn07XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBLZXlQYWlyO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZaV1JrYzJFdmEyVjVMbXB6UHpneFkyTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNXVUZCV1N4dFFrRkJUeXhEUVVGRExDdEVRVUZWTzBGQlF6bENPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEZWQlFWVXNUVUZCVFR0QlFVTm9RaXhWUVVGVkxFOUJRVTg3UVVGRGFrSTdRVUZEUVN4VlFVRlZMRmxCUVZrN1FVRkRkRUlzVlVGQlZTeE5RVUZOTzBGQlEyaENMRlZCUVZVc1dVRkJXVHRCUVVOMFFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cyUWtGQk5rSXNWMEZCVnp0QlFVTjRRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0lzYVVKQlFXbENPMEZCUXpsRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wld4c2FYQjBhV012YkdsaUwyVnNiR2x3ZEdsakwyVmtaSE5oTDJ0bGVTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQmhjM05sY25RZ1BTQjFkR2xzY3k1aGMzTmxjblE3WEc1MllYSWdjR0Z5YzJWQ2VYUmxjeUE5SUhWMGFXeHpMbkJoY25ObFFubDBaWE03WEc1MllYSWdZMkZqYUdWa1VISnZjR1Z5ZEhrZ1BTQjFkR2xzY3k1allXTm9aV1JRY205d1pYSjBlVHRjYmx4dUx5b3FYRzRxSUVCd1lYSmhiU0I3UlVSRVUwRjlJR1ZrWkhOaElDMGdhVzV6ZEdGdVkyVmNiaW9nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSEJoY21GdGN5QXRJSEIxWW14cFl5OXdjbWwyWVhSbElHdGxlU0J3WVhKaGJXVjBaWEp6WEc0cVhHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaVDU5SUZ0d1lYSmhiWE11YzJWamNtVjBYU0F0SUhObFkzSmxkQ0J6WldWa0lHSjVkR1Z6WEc0cUlFQndZWEpoYlNCN1VHOXBiblI5SUZ0d1lYSmhiWE11Y0hWaVhTQXRJSEIxWW14cFl5QnJaWGtnY0c5cGJuUWdLR0ZyWVNCZ1FXQWdhVzRnWldSa2MyRWdkR1Z5YlhNcFhHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaVDU5SUZ0d1lYSmhiWE11Y0hWaVhTQXRJSEIxWW14cFl5QnJaWGtnY0c5cGJuUWdaVzVqYjJSbFpDQmhjeUJpZVhSbGMxeHVLbHh1S2k5Y2JtWjFibU4wYVc5dUlFdGxlVkJoYVhJb1pXUmtjMkVzSUhCaGNtRnRjeWtnZTF4dUlDQjBhR2x6TG1Wa1pITmhJRDBnWldSa2MyRTdYRzRnSUhSb2FYTXVYM05sWTNKbGRDQTlJSEJoY25ObFFubDBaWE1vY0dGeVlXMXpMbk5sWTNKbGRDazdYRzRnSUdsbUlDaGxaR1J6WVM1cGMxQnZhVzUwS0hCaGNtRnRjeTV3ZFdJcEtWeHVJQ0FnSUhSb2FYTXVYM0IxWWlBOUlIQmhjbUZ0Y3k1d2RXSTdYRzRnSUdWc2MyVmNiaUFnSUNCMGFHbHpMbDl3ZFdKQ2VYUmxjeUE5SUhCaGNuTmxRbmwwWlhNb2NHRnlZVzF6TG5CMVlpazdYRzU5WEc1Y2JrdGxlVkJoYVhJdVpuSnZiVkIxWW14cFl5QTlJR1oxYm1OMGFXOXVJR1p5YjIxUWRXSnNhV01vWldSa2MyRXNJSEIxWWlrZ2UxeHVJQ0JwWmlBb2NIVmlJR2x1YzNSaGJtTmxiMllnUzJWNVVHRnBjaWxjYmlBZ0lDQnlaWFIxY200Z2NIVmlPMXh1SUNCeVpYUjFjbTRnYm1WM0lFdGxlVkJoYVhJb1pXUmtjMkVzSUhzZ2NIVmlPaUJ3ZFdJZ2ZTazdYRzU5TzF4dVhHNUxaWGxRWVdseUxtWnliMjFUWldOeVpYUWdQU0JtZFc1amRHbHZiaUJtY205dFUyVmpjbVYwS0dWa1pITmhMQ0J6WldOeVpYUXBJSHRjYmlBZ2FXWWdLSE5sWTNKbGRDQnBibk4wWVc1alpXOW1JRXRsZVZCaGFYSXBYRzRnSUNBZ2NtVjBkWEp1SUhObFkzSmxkRHRjYmlBZ2NtVjBkWEp1SUc1bGR5QkxaWGxRWVdseUtHVmtaSE5oTENCN0lITmxZM0psZERvZ2MyVmpjbVYwSUgwcE8xeHVmVHRjYmx4dVMyVjVVR0ZwY2k1d2NtOTBiM1I1Y0dVdWMyVmpjbVYwSUQwZ1puVnVZM1JwYjI0Z2MyVmpjbVYwS0NrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1ZmMyVmpjbVYwTzF4dWZUdGNibHh1WTJGamFHVmtVSEp2Y0dWeWRIa29TMlY1VUdGcGNpd2dKM0IxWWtKNWRHVnpKeXdnWm5WdVkzUnBiMjRnY0hWaVFubDBaWE1vS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMbVZ1WTI5a1pWQnZhVzUwS0hSb2FYTXVjSFZpS0NrcE8xeHVmU2s3WEc1Y2JtTmhZMmhsWkZCeWIzQmxjblI1S0V0bGVWQmhhWElzSUNkd2RXSW5MQ0JtZFc1amRHbHZiaUJ3ZFdJb0tTQjdYRzRnSUdsbUlDaDBhR2x6TGw5d2RXSkNlWFJsY3lsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFpHUnpZUzVrWldOdlpHVlFiMmx1ZENoMGFHbHpMbDl3ZFdKQ2VYUmxjeWs3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbVZrWkhOaExtY3ViWFZzS0hSb2FYTXVjSEpwZGlncEtUdGNibjBwTzF4dVhHNWpZV05vWldSUWNtOXdaWEowZVNoTFpYbFFZV2x5TENBbmNISnBka0o1ZEdWekp5d2dablZ1WTNScGIyNGdjSEpwZGtKNWRHVnpLQ2tnZTF4dUlDQjJZWElnWldSa2MyRWdQU0IwYUdsekxtVmtaSE5oTzF4dUlDQjJZWElnYUdGemFDQTlJSFJvYVhNdWFHRnphQ2dwTzF4dUlDQjJZWElnYkdGemRFbDRJRDBnWldSa2MyRXVaVzVqYjJScGJtZE1aVzVuZEdnZ0xTQXhPMXh1WEc0Z0lIWmhjaUJoSUQwZ2FHRnphQzV6YkdsalpTZ3dMQ0JsWkdSellTNWxibU52WkdsdVoweGxibWQwYUNrN1hHNGdJR0ZiTUYwZ0pqMGdNalE0TzF4dUlDQmhXMnhoYzNSSmVGMGdKajBnTVRJM08xeHVJQ0JoVzJ4aGMzUkplRjBnZkQwZ05qUTdYRzVjYmlBZ2NtVjBkWEp1SUdFN1hHNTlLVHRjYmx4dVkyRmphR1ZrVUhKdmNHVnlkSGtvUzJWNVVHRnBjaXdnSjNCeWFYWW5MQ0JtZFc1amRHbHZiaUJ3Y21sMktDa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWxaR1J6WVM1a1pXTnZaR1ZKYm5Rb2RHaHBjeTV3Y21sMlFubDBaWE1vS1NrN1hHNTlLVHRjYmx4dVkyRmphR1ZrVUhKdmNHVnlkSGtvUzJWNVVHRnBjaXdnSjJoaGMyZ25MQ0JtZFc1amRHbHZiaUJvWVhOb0tDa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWxaR1J6WVM1b1lYTm9LQ2t1ZFhCa1lYUmxLSFJvYVhNdWMyVmpjbVYwS0NrcExtUnBaMlZ6ZENncE8xeHVmU2s3WEc1Y2JtTmhZMmhsWkZCeWIzQmxjblI1S0V0bGVWQmhhWElzSUNkdFpYTnpZV2RsVUhKbFptbDRKeXdnWm5WdVkzUnBiMjRnYldWemMyRm5aVkJ5WldacGVDZ3BJSHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVhR0Z6YUNncExuTnNhV05sS0hSb2FYTXVaV1JrYzJFdVpXNWpiMlJwYm1kTVpXNW5kR2dwTzF4dWZTazdYRzVjYmt0bGVWQmhhWEl1Y0hKdmRHOTBlWEJsTG5OcFoyNGdQU0JtZFc1amRHbHZiaUJ6YVdkdUtHMWxjM05oWjJVcElIdGNiaUFnWVhOelpYSjBLSFJvYVhNdVgzTmxZM0psZEN3Z0owdGxlVkJoYVhJZ1kyRnVJRzl1YkhrZ2RtVnlhV1o1SnlrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMbk5wWjI0b2JXVnpjMkZuWlN3Z2RHaHBjeWs3WEc1OU8xeHVYRzVMWlhsUVlXbHlMbkJ5YjNSdmRIbHdaUzUyWlhKcFpua2dQU0JtZFc1amRHbHZiaUIyWlhKcFpua29iV1Z6YzJGblpTd2djMmxuS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMblpsY21sbWVTaHRaWE56WVdkbExDQnphV2NzSUhSb2FYTXBPMXh1ZlR0Y2JseHVTMlY1VUdGcGNpNXdjbTkwYjNSNWNHVXVaMlYwVTJWamNtVjBJRDBnWm5WdVkzUnBiMjRnWjJWMFUyVmpjbVYwS0dWdVl5a2dlMXh1SUNCaGMzTmxjblFvZEdocGN5NWZjMlZqY21WMExDQW5TMlY1VUdGcGNpQnBjeUJ3ZFdKc2FXTWdiMjVzZVNjcE8xeHVJQ0J5WlhSMWNtNGdkWFJwYkhNdVpXNWpiMlJsS0hSb2FYTXVjMlZqY21WMEtDa3NJR1Z1WXlrN1hHNTlPMXh1WEc1TFpYbFFZV2x5TG5CeWIzUnZkSGx3WlM1blpYUlFkV0pzYVdNZ1BTQm1kVzVqZEdsdmJpQm5aWFJRZFdKc2FXTW9aVzVqS1NCN1hHNGdJSEpsZEhWeWJpQjFkR2xzY3k1bGJtTnZaR1VvZEdocGN5NXdkV0pDZVhSbGN5Z3BMQ0JsYm1NcE8xeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCTFpYbFFZV2x5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL3NpZ25hdHVyZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9zaWduYXR1cmUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xcbnZhciBjYWNoZWRQcm9wZXJ0eSA9IHV0aWxzLmNhY2hlZFByb3BlcnR5O1xcbnZhciBwYXJzZUJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcztcXG5cXG4vKipcXG4qIEBwYXJhbSB7RUREU0F9IGVkZHNhIC0gZWRkc2EgaW5zdGFuY2VcXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZXM+fE9iamVjdH0gc2lnIC1cXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZXM+fFBvaW50fSBbc2lnLlJdIC0gUiBwb2ludCBhcyBQb2ludCBvciBieXRlc1xcbiogQHBhcmFtIHtBcnJheTxCeXRlcz58Ym59IFtzaWcuU10gLSBTIHNjYWxhciBhcyBibiBvciBieXRlc1xcbiogQHBhcmFtIHtBcnJheTxCeXRlcz59IFtzaWcuUmVuY29kZWRdIC0gUiBwb2ludCBlbmNvZGVkXFxuKiBAcGFyYW0ge0FycmF5PEJ5dGVzPn0gW3NpZy5TZW5jb2RlZF0gLSBTIHNjYWxhciBlbmNvZGVkXFxuKi9cXG5mdW5jdGlvbiBTaWduYXR1cmUoZWRkc2EsIHNpZykge1xcbiAgdGhpcy5lZGRzYSA9IGVkZHNhO1xcblxcbiAgaWYgKHR5cGVvZiBzaWcgIT09ICdvYmplY3QnKVxcbiAgICBzaWcgPSBwYXJzZUJ5dGVzKHNpZyk7XFxuXFxuICBpZiAoQXJyYXkuaXNBcnJheShzaWcpKSB7XFxuICAgIHNpZyA9IHtcXG4gICAgICBSOiBzaWcuc2xpY2UoMCwgZWRkc2EuZW5jb2RpbmdMZW5ndGgpLFxcbiAgICAgIFM6IHNpZy5zbGljZShlZGRzYS5lbmNvZGluZ0xlbmd0aClcXG4gICAgfTtcXG4gIH1cXG5cXG4gIGFzc2VydChzaWcuUiAmJiBzaWcuUywgJ1NpZ25hdHVyZSB3aXRob3V0IFIgb3IgUycpO1xcblxcbiAgaWYgKGVkZHNhLmlzUG9pbnQoc2lnLlIpKVxcbiAgICB0aGlzLl9SID0gc2lnLlI7XFxuICBpZiAoc2lnLlMgaW5zdGFuY2VvZiBCTilcXG4gICAgdGhpcy5fUyA9IHNpZy5TO1xcblxcbiAgdGhpcy5fUmVuY29kZWQgPSBBcnJheS5pc0FycmF5KHNpZy5SKSA/IHNpZy5SIDogc2lnLlJlbmNvZGVkO1xcbiAgdGhpcy5fU2VuY29kZWQgPSBBcnJheS5pc0FycmF5KHNpZy5TKSA/IHNpZy5TIDogc2lnLlNlbmNvZGVkO1xcbn1cXG5cXG5jYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsICdTJywgZnVuY3Rpb24gUygpIHtcXG4gIHJldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLlNlbmNvZGVkKCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwgJ1InLCBmdW5jdGlvbiBSKCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlUG9pbnQodGhpcy5SZW5jb2RlZCgpKTtcXG59KTtcXG5cXG5jYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsICdSZW5jb2RlZCcsIGZ1bmN0aW9uIFJlbmNvZGVkKCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwgJ1NlbmNvZGVkJywgZnVuY3Rpb24gU2VuY29kZWQoKSB7XFxuICByZXR1cm4gdGhpcy5lZGRzYS5lbmNvZGVJbnQodGhpcy5TKCkpO1xcbn0pO1xcblxcblNpZ25hdHVyZS5wcm90b3R5cGUudG9CeXRlcyA9IGZ1bmN0aW9uIHRvQnl0ZXMoKSB7XFxuICByZXR1cm4gdGhpcy5SZW5jb2RlZCgpLmNvbmNhdCh0aGlzLlNlbmNvZGVkKCkpO1xcbn07XFxuXFxuU2lnbmF0dXJlLnByb3RvdHlwZS50b0hleCA9IGZ1bmN0aW9uIHRvSGV4KCkge1xcbiAgcmV0dXJuIHV0aWxzLmVuY29kZSh0aGlzLnRvQnl0ZXMoKSwgJ2hleCcpLnRvVXBwZXJDYXNlKCk7XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hdHVyZTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldSa2MyRXZjMmxuYm1GMGRYSmxMbXB6UDJReFlUa2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExHMUZRVUZQTzBGQlEzaENMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VlFVRlZMRTFCUVUwN1FVRkRhRUlzVlVGQlZTeHZRa0ZCYjBJN1FVRkRPVUlzVlVGQlZTeHRRa0ZCYlVJN1FVRkROMElzVlVGQlZTeG5Ra0ZCWjBJN1FVRkRNVUlzVlVGQlZTeGhRVUZoTzBGQlEzWkNMRlZCUVZVc1lVRkJZVHRCUVVOMlFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpXeHNhWEIwYVdNdmJHbGlMMlZzYkdsd2RHbGpMMlZrWkhOaEwzTnBaMjVoZEhWeVpTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRUpPSUQwZ2NtVnhkV2x5WlNnblltNHVhbk1uS1R0Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR1TDNWMGFXeHpKeWs3WEc1MllYSWdZWE56WlhKMElEMGdkWFJwYkhNdVlYTnpaWEowTzF4dWRtRnlJR05oWTJobFpGQnliM0JsY25SNUlEMGdkWFJwYkhNdVkyRmphR1ZrVUhKdmNHVnlkSGs3WEc1MllYSWdjR0Z5YzJWQ2VYUmxjeUE5SUhWMGFXeHpMbkJoY25ObFFubDBaWE03WEc1Y2JpOHFLbHh1S2lCQWNHRnlZVzBnZTBWRVJGTkJmU0JsWkdSellTQXRJR1ZrWkhOaElHbHVjM1JoYm1ObFhHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaWE0rZkU5aWFtVmpkSDBnYzJsbklDMWNiaW9nUUhCaGNtRnRJSHRCY25KaGVUeENlWFJsY3o1OFVHOXBiblI5SUZ0emFXY3VVbDBnTFNCU0lIQnZhVzUwSUdGeklGQnZhVzUwSUc5eUlHSjVkR1Z6WEc0cUlFQndZWEpoYlNCN1FYSnlZWGs4UW5sMFpYTStmR0p1ZlNCYmMybG5MbE5kSUMwZ1V5QnpZMkZzWVhJZ1lYTWdZbTRnYjNJZ1lubDBaWE5jYmlvZ1FIQmhjbUZ0SUh0QmNuSmhlVHhDZVhSbGN6NTlJRnR6YVdjdVVtVnVZMjlrWldSZElDMGdVaUJ3YjJsdWRDQmxibU52WkdWa1hHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaWE0rZlNCYmMybG5MbE5sYm1OdlpHVmtYU0F0SUZNZ2MyTmhiR0Z5SUdWdVkyOWtaV1JjYmlvdlhHNW1kVzVqZEdsdmJpQlRhV2R1WVhSMWNtVW9aV1JrYzJFc0lITnBaeWtnZTF4dUlDQjBhR2x6TG1Wa1pITmhJRDBnWldSa2MyRTdYRzVjYmlBZ2FXWWdLSFI1Y0dWdlppQnphV2NnSVQwOUlDZHZZbXBsWTNRbktWeHVJQ0FnSUhOcFp5QTlJSEJoY25ObFFubDBaWE1vYzJsbktUdGNibHh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoemFXY3BLU0I3WEc0Z0lDQWdjMmxuSUQwZ2UxeHVJQ0FnSUNBZ1Vqb2djMmxuTG5Oc2FXTmxLREFzSUdWa1pITmhMbVZ1WTI5a2FXNW5UR1Z1WjNSb0tTeGNiaUFnSUNBZ0lGTTZJSE5wWnk1emJHbGpaU2hsWkdSellTNWxibU52WkdsdVoweGxibWQwYUNsY2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ1lYTnpaWEowS0hOcFp5NVNJQ1ltSUhOcFp5NVRMQ0FuVTJsbmJtRjBkWEpsSUhkcGRHaHZkWFFnVWlCdmNpQlRKeWs3WEc1Y2JpQWdhV1lnS0dWa1pITmhMbWx6VUc5cGJuUW9jMmxuTGxJcEtWeHVJQ0FnSUhSb2FYTXVYMUlnUFNCemFXY3VVanRjYmlBZ2FXWWdLSE5wWnk1VElHbHVjM1JoYm1ObGIyWWdRazRwWEc0Z0lDQWdkR2hwY3k1ZlV5QTlJSE5wWnk1VE8xeHVYRzRnSUhSb2FYTXVYMUpsYm1OdlpHVmtJRDBnUVhKeVlYa3VhWE5CY25KaGVTaHphV2N1VWlrZ1B5QnphV2N1VWlBNklITnBaeTVTWlc1amIyUmxaRHRjYmlBZ2RHaHBjeTVmVTJWdVkyOWtaV1FnUFNCQmNuSmhlUzVwYzBGeWNtRjVLSE5wWnk1VEtTQS9JSE5wWnk1VElEb2djMmxuTGxObGJtTnZaR1ZrTzF4dWZWeHVYRzVqWVdOb1pXUlFjbTl3WlhKMGVTaFRhV2R1WVhSMWNtVXNJQ2RUSnl3Z1puVnVZM1JwYjI0Z1V5Z3BJSHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVaV1JrYzJFdVpHVmpiMlJsU1c1MEtIUm9hWE11VTJWdVkyOWtaV1FvS1NrN1hHNTlLVHRjYmx4dVkyRmphR1ZrVUhKdmNHVnlkSGtvVTJsbmJtRjBkWEpsTENBblVpY3NJR1oxYm1OMGFXOXVJRklvS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMbVJsWTI5a1pWQnZhVzUwS0hSb2FYTXVVbVZ1WTI5a1pXUW9LU2s3WEc1OUtUdGNibHh1WTJGamFHVmtVSEp2Y0dWeWRIa29VMmxuYm1GMGRYSmxMQ0FuVW1WdVkyOWtaV1FuTENCbWRXNWpkR2x2YmlCU1pXNWpiMlJsWkNncElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVpXUmtjMkV1Wlc1amIyUmxVRzlwYm5Rb2RHaHBjeTVTS0NrcE8xeHVmU2s3WEc1Y2JtTmhZMmhsWkZCeWIzQmxjblI1S0ZOcFoyNWhkSFZ5WlN3Z0oxTmxibU52WkdWa0p5d2dablZ1WTNScGIyNGdVMlZ1WTI5a1pXUW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbVZrWkhOaExtVnVZMjlrWlVsdWRDaDBhR2x6TGxNb0tTazdYRzU5S1R0Y2JseHVVMmxuYm1GMGRYSmxMbkJ5YjNSdmRIbHdaUzUwYjBKNWRHVnpJRDBnWm5WdVkzUnBiMjRnZEc5Q2VYUmxjeWdwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11VW1WdVkyOWtaV1FvS1M1amIyNWpZWFFvZEdocGN5NVRaVzVqYjJSbFpDZ3BLVHRjYm4wN1hHNWNibE5wWjI1aGRIVnlaUzV3Y205MGIzUjVjR1V1ZEc5SVpYZ2dQU0JtZFc1amRHbHZiaUIwYjBobGVDZ3BJSHRjYmlBZ2NtVjBkWEp1SUhWMGFXeHpMbVZ1WTI5a1pTaDBhR2x6TG5SdlFubDBaWE1vS1N3Z0oyaGxlQ2NwTG5SdlZYQndaWEpEWVhObEtDazdYRzU5TzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGTnBaMjVoZEhWeVpUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9zaWduYXR1cmUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9wcmVjb21wdXRlZC9zZWNwMjU2azEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvcHJlY29tcHV0ZWQvc2VjcDI1NmsxLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0ge1xcbiAgZG91Ymxlczoge1xcbiAgICBzdGVwOiA0LFxcbiAgICBwb2ludHM6IFtcXG4gICAgICBbXFxuICAgICAgICAnZTYwZmNlOTNiNTllOWVjNTMwMTFhYWJjMjFjMjNlOTdiMmEzMTM2OWI4N2E1YWU5YzQ0ZWU4OWUyYTZkZWMwYScsXFxuICAgICAgICAnZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4MjgyMjYzMjEyYzYwOWQ5ZWEyYTZlM2UxNzJkZTIzOGQ4YzM5Y2FiZDVhYzFjYTEwNjQ2ZTIzZmQ1ZjUxNTA4JyxcXG4gICAgICAgICcxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE3NWUxNTlmNzI4Yjg2NWE3MmY5OWNjNmM2ZmM4NDZkZTBiOTM4MzNmZDIyMjJlZDczZmNlNWI1NTFlNWI3MzknLFxcbiAgICAgICAgJ2QzNTA2ZTBkOWUzYzc5ZWJhNGVmOTdhNTFmZjcxZjVlYWNiNTk1NWFkZDI0MzQ1YzZlZmE2ZmZlZTlmZWQ2OTUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzYzZDkwZDQ0N2IwMGM5Yzk5Y2VhYzA1YjYyNjJlZTA1MzQ0MWM3ZTU1NTUyZmZlNTI2YmFkOGY4M2ZmNDY0MCcsXFxuICAgICAgICAnNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhiNGI1ZjE2NWRmM2MyYmU4YzYyNDRiNWI3NDU2Mzg4NDNlNGE3ODFhMTViY2QxYjY5Zjc5YTU1ZGZmZGY4MGMnLFxcbiAgICAgICAgJzRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzIzY2JhYTZlNWRiOTk2ZDZiZjc3MWMwMGJkNTQ4YzdiNzAwZGJmZmE2YzBlNzdiY2I2MTE1OTI1MjMyZmNkYScsXFxuICAgICAgICAnOTZlODY3YjU1OTVjYzQ5OGE5MjExMzc0ODg4MjRkNmUyNjYwYTA2NTM3Nzk0OTQ4MDFkYzA2OWQ5ZWIzOWY1ZidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlZWJmYTRkNDkzYmViZjk4YmE1ZmVlYzgxMmMyZDNiNTA5NDc5NjEyMzdhOTE5ODM5YTUzM2VjYTBlN2RkN2ZhJyxcXG4gICAgICAgICc1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzEwMGY0NGRhNjk2ZTcxNjcyNzkxZDBhMDliN2JkZTQ1OWYxMjE1YTI5YjNjMDNiZmVmZDc4MzViMzlhNDhkYjAnLFxcbiAgICAgICAgJ2NkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTEwMzFiZTI2MmM3ZWQxYjFkYzkyMjdhNGEwNGMwMTdhNzdmOGQ0NDY0ZjNiMzg1MmM4YWNkZTZlNTM0ZmQyZCcsXFxuICAgICAgICAnOWQ3MDYxOTI4OTQwNDA1ZTZiYjZhNDE3NjU5NzUzNWFmMjkyZGQ0MTllMWNlZDc5YTQ0ZjE4ZjI5NDU2YTAwZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdmZWVhNmNhZTQ2ZDU1YjUzMGFjMjgzOWYxNDNiZDdlYzVjZjhiMjY2YTQxZDZhZjUyZDVlNjg4ZDkwOTQ2OTZkJyxcXG4gICAgICAgICdlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2RhNjdhOTFkOTEwNDljZGNiMzY3YmU0YmU2ZmZjYTNjZmVlZDY1N2Q4MDg1ODNkZTMzZmE5NzhiYzFlYzZjYjEnLFxcbiAgICAgICAgJzliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNTM5MDRmYWEwYjMzNGNkZGE2ZTAwMDkzNWVmMjIxNTFlYzA4ZDBmN2JiMTEwNjlmNTc1NDVjY2MxYTM3YjdjMCcsXFxuICAgICAgICAnNWJjMDg3ZDBiYzgwMTA2ZDg4YzllY2NhYzIwZDNjMWMxMzk5OTk4MWUxNDQzNDY5OWRjYjA5NmIwMjI3NzFjOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4ZTdiY2QwYmQzNTk4M2E3NzE5Y2NhNzc2NGNhOTA2Nzc5YjUzYTA0M2E5YjhiY2FlZmY5NTlmNDNhZDg2MDQ3JyxcXG4gICAgICAgICcxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzM4NWVlZDM0YzFjZGZmMjFlNmQwODE4Njg5YjgxYmRlNzFhN2Y0ZjE4Mzk3ZTY2OTBhODQxZTE1OTljNDM4NjInLFxcbiAgICAgICAgJzI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNmY5ZDliODAzZWNmMTkxNjM3YzczYTQ0MTNkZmExODBmZGRmODRhNTk0N2ZiYzljNjA2ZWQ4NmMzZmFjM2E3JyxcXG4gICAgICAgICc3YzgwYzY4ZTYwMzA1OWJhNjliOGUyYTMwZTQ1YzRkNDdlYTRkZDJmNWMyODEwMDJkODY4OTA2MDNhODQyMTYwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMzMjJkNDAxMjQzYzRlMjU4MmEyMTQ3YzEwNGQ2ZWNiZjc3NGQxNjNkYjBmNWU1MzEzYjdlMGU3NDJkMGU2YmQnLFxcbiAgICAgICAgJzU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODU2NzJjN2QyZGUwYjdkYTJiZDE3NzBkODk2NjU4Njg3NDFiM2Y5YWY3NjQzMzk3NzIxZDc0ZDI4MTM0YWI4MycsXFxuICAgICAgICAnN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5NDhiZjgwOWIxOTg4YTQ2YjA2YzlmMTkxOTQxM2IxMGY5MjI2YzYwZjY2ODgzMmZmZDk1OWFmNjBjODJhMGEnLFxcbiAgICAgICAgJzUzYTU2Mjg1NmRjYjY2NDZkYzZiNzRjNWQxYzM0MThjNmQ0ZGZmMDhjOTdjZDJiZWQ0Y2I3Zjg4ZDhjOGU1ODknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNjI2MGNlN2Y0NjE4MDFjMzRmMDY3Y2UwZjAyODczYThmMWIwZTQ0ZGZjNjk3NTJhY2NlY2Q4MTlmMzhmZDhlOCcsXFxuICAgICAgICAnYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlNTAzN2RlMGFmYzFkOGQ0M2Q4MzQ4NDE0YmJmNDEwMzA0M2VjOGY1NzViZmRjNDMyOTUzY2M4ZDIwMzdmYTJkJyxcXG4gICAgICAgICc0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2UwNjM3MmIwZjRhMjA3YWRmNWVhOTA1ZThmMTc3MWI0ZTdlOGRiZDFjNmE2YzViNzI1ODY2YTBhZTRmY2U3MjUnLFxcbiAgICAgICAgJzdhOTA4OTc0YmNlMThjZmUxMmEyN2JiMmFkNWE0ODhjZDc0ODRhNzc4NzEwNDg3MGIyNzAzNGY5NGVlZTMxZGQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMjEzYzdhNzE1Y2Q1ZDQ1MzU4ZDBiYmY5ZGMwY2UwMjIwNGIxMGJkZGUyYTNmNTg1NDBhZDY5MDhkMDU1OTc1NCcsXFxuICAgICAgICAnNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0ZTdjMjcyYTdhZjRiMzRlOGRiYjkzNTJhNTQxOWE4N2UyODM4YzcwYWRjNjJjZGRmMGNjM2EzYjA4ZmJkNTNjJyxcXG4gICAgICAgICcxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ZlYTc0ZTNkYmU3NzhiMWIxMGYyMzhhZDYxNjg2YWE1Yzc2ZTNkYjJiZTQzMDU3NjMyNDI3ZTI4NDBmYjI3YjYnLFxcbiAgICAgICAgJzZlMDU2OGRiOWIwYjEzMjk3Y2Y2NzRkZWNjYjZhZjkzMTI2YjU5NmI5NzNmN2I3NzcwMWQzZGI3ZjIzY2I5NmYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzZlNjQxMTNmNjc3Y2YwZTEwYTI1NzBkNTk5OTY4ZDMxNTQ0ZTE3OWI3NjA0MzI5NTJjMDJhNDQxN2JkZGUzOScsXFxuICAgICAgICAnYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdjNzM4YzU2YjAzYjJhYmUxZTgyODFiYWE3NDNmOGY5YThmN2NjNjQzZGYyNmNiZWUzYWIxNTAyNDJiY2JiODkxJyxcXG4gICAgICAgICc4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Q4OTU2MjY1NDhiNjViODFlMjY0Yzc2MzdjOTcyODc3ZDFkNzJlNWYzYTkyNTAxNDM3MmU5ZjY1ODhmNmMxNGInLFxcbiAgICAgICAgJ2ZlYmZhYTM4ZjJiYzdlYWU3MjhlYzYwODE4YzM0MGViMDM0MjhkNjMyYmIwNjdlMTc5MzYzZWQ3NWQ3ZDk5MWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjhkYTk0MDMyYTk1NzUxOGViMGY2NDMzNTcxZTg3NjFjZWZmYzczNjkzZTg0ZWRkNDkxNTBhNTY0ZjY3NmUwMycsXFxuICAgICAgICAnMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlODBmZWExNDQ0MWZiMzNhN2Q4YWRhYjk0NzVkN2ZhYjIwMTllZmZiNTE1NmE3OTJmMWExMTc3OGUzYzBkZjVkJyxcXG4gICAgICAgICdlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2EzMDE2OTdiZGZjZDcwNDMxM2JhNDhlNTFkNTY3NTQzZjJhMTgyMDMxZWZkNjkxNWRkYzA3YmJjYzRlMTYwNzAnLFxcbiAgICAgICAgJzczNzBmOTFjZmI2N2U0ZjUwODE4MDlmYTI1ZDQwZjliMTczNWRiZjdjMGExMWExMzBjMGQxYTA0MWUxNzdlYTEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOTBhZDg1YjM4OWQ2YjkzNjQ2M2Y5ZDA1MTI2NzhkZTIwOGNjMzMwYjExMzA3ZmZmYWI3YWM2M2UzZmIwNGVkNCcsXFxuICAgICAgICAnZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhmNjhiOWQyZjYzYjVmMzM5MjM5YzFhZDk4MWYxNjJlZTg4YzU2Nzg3MjNlYTMzNTFiN2I0NDRjOWVjNGMwZGEnLFxcbiAgICAgICAgJzY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTRmM2ZiMDE3NmFmODVkNjVmZjk5ZmY5MTk4YzM2MDkxZjQ4ZTg2NTAzNjgxZTNlNjY4NmZkNTA1MzIzMWUxMScsXFxuICAgICAgICAnMWU2MzYzM2FkMGVmNGYxYzE2NjFhNmQwZWEwMmI3Mjg2Y2M3ZTc0ZWM5NTFkMWM5ODIyYzM4NTc2ZmViNzNiYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4YzAwZmE5YjE4ZWJmMzMxZWI5NjE1MzdhNDVhNDI2NmM3MDM0ZjJmMGQ0ZTFkMDcxNmZiNmVhZTIwZWFlMjllJyxcXG4gICAgICAgICdlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U3YTI2Y2U2OWRkNDgyOWYzZTEwY2VjMGE5ZTk4ZWQzMTQzZDA4NGYzMDhiOTJjMDk5N2ZkZGZjNjBjYjNlNDEnLFxcbiAgICAgICAgJzJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjY0NTllMGVlMzY2MmVjOGQyMzU0MGMyMjNiY2JkYzU3MWNiY2I5NjdkNzk0MjRmM2NmMjllYjNkZTZiODBlZicsXFxuICAgICAgICAnNjdjODc2ZDA2ZjNlMDZkZTFkYWRmMTZlNTY2MWRiM2M0YjNhZTZkNDhlMzViMmZmMzBiZjBiNjFhNzFiYTQ1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Q2OGE4MGM4MjgwYmI4NDA3OTMyMzRhYTExOGYwNjIzMWQ2ZjFmYzY3ZTczYzVhNWRlZGEwZjViNDk2OTQzZTgnLFxcbiAgICAgICAgJ2RiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzI0YWVkN2RmNjVjODA0MjUyZGMwMjcwOTA3YTMwYjA5NjEyYWViOTczNDQ5Y2VhNDA5NTk4MGZjMjhkM2Q1ZCcsXFxuICAgICAgICAnNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0ZGY5YzE0OTE5Y2RlNjFmNmQ1MWRmZGJlNWZlZTVkY2VlYzQxNDNiYThkMWNhODg4ZThiZDM3M2ZkMDU0Yzk2JyxcXG4gICAgICAgICczNWVjNTEwOTJkODcyODA1MDk3NGMyM2ExZDg1ZDRiNWQ1MDZjZGMyODg0OTAxOTJlYmFjMDZjYWQxMGQ1ZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5YzM5MTlhODRhNDc0ODcwZmFlZDhhOWMxY2M2NjAyMTUyMzQ4OTA1NGQ3ZjAzMDhjYmZjOTljOGFjMWY5OGNkJyxcXG4gICAgICAgICdkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzYwNTcxNzBiMWRkMTJmZGY4ZGUwNWYyODFkOGUwNmJiOTFlMTQ5M2E4YjkxZDRjYzVhMjEzODIxMjBhOTU5ZTUnLFxcbiAgICAgICAgJzlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYTgnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYTU3NmRmOGUyM2EwODQxMTQyMTQzOWE0NTE4ZGEzMTg4MGNlZjBmYmE3ZDRkZjEyYjFhNjk3M2VlY2I5NDI2NicsXFxuICAgICAgICAnNDBhNmJmMjBlNzY2NDBiMmM5MmI5N2FmZTU4Y2Q4MmM0MzJlMTBhN2Y1MTRkOWYzZWU4YmUxMWFlMWIyOGVjOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc3Nzc4YTc4YzI4ZGVjM2UzMGEwNWZlOTYyOWRlOGMzOGJiMzBkMWY1Y2Y5YTNhMjA4Zjc2Mzg4OWJlNThhZDcxJyxcXG4gICAgICAgICczNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzkyODk1NWVlNjM3YTg0NDYzNzI5ZmQzMGU3YWZkMmVkNWY5NjI3NGU1YWQ3ZTVjYjA5ZWRhOWMwNmQ5MDNhYycsXFxuICAgICAgICAnYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4NWQwZmVmM2VjNmRiMTA5Mzk5MDY0ZjNhMGUzYjI4NTU2NDViNGE5MDdhZDM1NDUyN2FhZTc1MTYzZDgyNzUxJyxcXG4gICAgICAgICcxZjAzNjQ4NDEzYTM4YzBiZTI5ZDQ5NmU1ODJjZjU2NjNlODc1MWU5Njg3NzMzMTU4MmMyMzdhMjRlYjFmOTYyJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ZmMmIwZGNlOTdlZWNlOTdjMWM5YjYwNDE3OThiODVkZmRmYjZkODg4MmRhMjAzMDhmNTQwNDgyNDUyNjA4N2UnLFxcbiAgICAgICAgJzQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODI3ZmJiZTRiMWU4ODBlYTllZDJiMmU2MzAxYjIxMmI1N2YxZWUxNDhjZDZkZDI4NzgwZTVlMmNmODU2ZTI0MScsXFxuICAgICAgICAnYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlYWE2NDlmMjFmNTFiZGJhZTdiZTRhZTM0Y2U2ZTUyMTdhNThmZGNlN2Y0N2Y5YWE3ZjNiNThmYTIxMjBlMmIzJyxcXG4gICAgICAgICdiZTMyNzllZDViYmJiMDNhYzY5YTgwZjg5ODc5YWE1YTAxYTZiOTY1ZjEzZjdlNTlkNDdhNTMwNWJhNWFkOTNkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U0YTQyZDQzYzVjZjE2OWQ5MzkxZGY2ZGVjZjQyZWU1NDFiNmQ4ZjBjOWExMzc0MDFlMjM2MzJkZGEzNGQyNGYnLFxcbiAgICAgICAgJzRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMWVjODBmZWYzNjBjYmRkOTU0MTYwZmFkYWIzNTJiNmI5MmI1MzU3NmE4OGZlYTQ5NDcxNzNiOWQ0MzAwYmYxOScsXFxuICAgICAgICAnYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNDZhNzc4YzA0NjcwYzJmOTFiMDBhZjQ2ODBkZmE4YmNlMzQ5MDcxN2Q1OGJhODg5ZGRiNTkyODM2NjY0MmJlJyxcXG4gICAgICAgICdiMzE4ZTBlYzMzNTQwMjhhZGQ2Njk4MjdmOWQ0YjI4NzBhYWE5NzFkMmY3ZTVlZDFkMGIyOTc0ODNkODNlZmQwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ZhNTBjMGY2MWQyMmU1ZjA3ZTNhY2ViYjFhYTA3YjEyOGQwMDEyMjA5YTI4Yjk3NzZkNzZhODc5MzE4MGVlZjknLFxcbiAgICAgICAgJzZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZGExZDYxZDBjYTcyMWExMWIxYTViZjZiN2Q4OGU4NDIxYTI4OGFiNWQ1YmJhNTIyMGU1M2QzMmI1ZjA2N2VjMicsXFxuICAgICAgICAnODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdhOGUyODJmZjBjOTcwNjkwNzIxNWZmOThlOGZkNDE2NjE1MzExZGUwNDQ2ZjFlMDYyYTczYjA2MTBkMDY0ZTEzJyxcXG4gICAgICAgICc3Zjk3MzU1YjhkYjgxYzA5YWJmYjdmM2M1YjI1MTU4ODhiNjc5YTNlNTBkZDZiZDZjZWY3YzczMTExZjRjYzBjJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE3NGE1M2I5YzlhMjg1ODcyZDM5ZTU2ZTY5MTNjYWIxNWQ1OWIxZmE1MTI1MDhjMDIyZjM4MmRlODMxOTQ5N2MnLFxcbiAgICAgICAgJ2NjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOTU5Mzk2OTgxOTQzNzg1YzNkM2U1N2VkZjUwMThjZGJlMDM5ZTczMGU0OTE4YjNkODg0ZmRmZjA5NDc1YjdiYScsXFxuICAgICAgICAnMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkMmE2M2E1MGFlNDAxZTU2ZDY0NWExMTUzYjEwOWE4ZmNjYTBhNDNkNTYxZmJhMmRiYjUxMzQwYzlkODJiMTUxJyxcXG4gICAgICAgICdlODJkODZmYjY0NDNmY2I3NTY1YWVlNThiMjk0ODIyMGE3MGY3NTBhZjQ4NGNhNTJkNDE0MjE3NGRjZjg5NDA1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzY0NTg3ZTIzMzU0NzFlYjg5MGVlNzg5NmQ3Y2ZkYzg2NmJhY2JkYmQzODM5MzE3YjM0MzZmOWI0NTYxN2UwNzMnLFxcbiAgICAgICAgJ2Q5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODQ4MWJkZTBlNGU0ZDg4NWIzYTU0NmQzZTU0OWRlMDQyZjBhYTZjZWEyNTBlN2ZkMzU4ZDZjODZkZDQ1ZTQ1OCcsXFxuICAgICAgICAnMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxMzQ2NGE1N2E3ODEwMmFhNjJiNjk3OWFlODE3ZjQ2MzdmZmNmZWQzYzRiMWNlMzBiY2Q2MzAzZjZjYWY2NjZiJyxcXG4gICAgICAgICc2OWJlMTU5MDA0NjE0NTgwZWY3ZTQzMzQ1M2NjYjBjYTQ4ZjMwMGE4MWQwOTQyZTEzZjQ5NWE5MDdmNmVjYzI3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2JjNGE5ZGY1YjcxM2ZlMmU5YWVmNDMwYmNjMWRjOTdhMGNkOWNjZWRlMmYyODU4OGNhZGEzYTBkMmQ4M2YzNjYnLFxcbiAgICAgICAgJ2QzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4YzI4YTk3YmY4Mjk4YmMwZDIzZDhjNzQ5NDUyYTMyZTY5NGI2NWUzMGE5NDcyYTM5NTRhYjMwZmU1MzI0Y2FhJyxcXG4gICAgICAgICc0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhlYTk2NjYxMzk1MjdhOGMxZGQ5NGNlNGYwNzFmZDIzYzhiMzUwYzVhNGJiMzM3NDhjNGJhMTExZmFjY2FlMCcsXFxuICAgICAgICAnNjIwZWZhYmJjOGVlMjc4MmUyNGU3YzBjZmI5NWM1ZDczNWI3ODNiZTljZjBmOGU5NTVhZjM0YTMwZTYyYjk0NSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkZDM2MjVmYWVmNWJhMDYwNzQ2Njk3MTZiYmQzNzg4ZDg5YmRkZTgxNTk1OTk2ODA5MmY3NmNjNGViOWE5Nzg3JyxcXG4gICAgICAgICc3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Y3MTBkNzlkOWViOTYyMjk3ZTRmNjIzMmI0MGU4ZjdmZWIyYmM2MzgxNDYxNGQ2OTJjMTJkZTc1MjQwODIyMWUnLFxcbiAgICAgICAgJ2VhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODInXFxuICAgICAgXVxcbiAgICBdXFxuICB9LFxcbiAgbmFmOiB7XFxuICAgIHduZDogNyxcXG4gICAgcG9pbnRzOiBbXFxuICAgICAgW1xcbiAgICAgICAgJ2Y5MzA4YTAxOTI1OGMzMTA0OTM0NGY4NWY4OWQ1MjI5YjUzMWM4NDU4MzZmOTliMDg2MDFmMTEzYmNlMDM2ZjknLFxcbiAgICAgICAgJzM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMmY4YmRlNGQxYTA3MjA5MzU1YjRhNzI1MGE1YzUxMjhlODhiODRiZGRjNjE5YWI3Y2JhOGQ1NjliMjQwZWZlNCcsXFxuICAgICAgICAnZDhhYzIyMjYzNmU1ZTNkNmQ0ZGJhOWRkYTZjOWM0MjZmNzg4MjcxYmFiMGQ2ODQwZGNhODdkM2FhNmFjNjJkNidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc1Y2JkZjA2NDZlNWRiNGVhYTM5OGYzNjVmMmVhN2EwZTNkNDE5YjdlMDMzMGUzOWNlOTJiZGRlZGNhYzRmOWJjJyxcXG4gICAgICAgICc2YWViY2E0MGJhMjU1OTYwYTMxNzhkNmQ4NjFhNTRkYmE4MTNkMGI4MTNmZGU3YjVhNTA4MjYyODA4NzI2NGRhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2FjZDQ4NGUyZjBjN2Y2NTMwOWFkMTc4YTlmNTU5YWJkZTA5Nzk2OTc0YzU3ZTcxNGMzNWYxMTBkZmMyN2NjYmUnLFxcbiAgICAgICAgJ2NjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzc0YWU3Zjg1OGE5NDExZTVlZjQyNDZiNzBjNjVhYWM1NjQ5OTgwYmU1YzE3ODkxYmJlYzE3ODk1ZGEwMDhjYicsXFxuICAgICAgICAnZDk4NGEwMzJlYjZiNWUxOTAyNDNkZDU2ZDdiN2IzNjUzNzJkYjFlMmRmZjlkNmE4MzAxZDc0YzljOTUzYzYxYidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdmMjg3NzNjMmQ5NzUyODhiYzdkMWQyMDVjMzc0ODY1MWIwNzVmYmM2NjEwZTU4Y2RkZWVkZGY4ZjE5NDA1YWE4JyxcXG4gICAgICAgICdhYjA5MDJlOGQ4ODBhODk3NTgyMTJlYjY1Y2RhZjQ3M2ExYTA2ZGE1MjFmYTkxZjI5YjVjYjUyZGIwM2VkODEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDc5MjRkNGY3ZDQzZWE5NjVhNDY1YWUzMDk1ZmY0MTEzMWU1OTQ2ZjNjODVmNzllNDRhZGJjZjhlMjdlMDgwZScsXFxuICAgICAgICAnNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkZWZkZWE0Y2RiNjc3NzUwYTQyMGZlZTgwN2VhY2YyMWViOTg5OGFlNzliOTc2ODc2NmU0ZmFhMDRhMmQ0YTM0JyxcXG4gICAgICAgICc0MjExYWIwNjk0NjM1MTY4ZTk5N2IwZWFkMmE5M2RhZWNlZDFmNGEwNGE5NWMwZjZjZmIxOTlmNjllNTZlYjc3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzJiNGVhMGE3OTdhNDQzZDI5M2VmNWNmZjQ0NGY0OTc5ZjA2YWNmZWJkN2U4NmQyNzc0NzU2NTYxMzgzODViNmMnLFxcbiAgICAgICAgJzg1ZTg5YmMwMzc5NDVkOTNiMzQzMDgzYjVhMWM4NjEzMWEwMWY2MGM1MDI2OTc2M2I1NzBjODU0ZTVjMDliN2EnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzUyYmJmNGE0Y2RkMTI1NjRmOTNmYTMzMmNlMzMzMzAxZDlhZDQwMjcxZjgxMDcxODEzNDBhZWYyNWJlNTlkNScsXFxuICAgICAgICAnMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyZmEyMTA0ZDZiMzhkMTFiMDIzMDAxMDU1OTg3OTEyNGU0MmFiOGRmZWZmNWZmMjlkYzljZGFkZDRlY2FjYzNmJyxcXG4gICAgICAgICcyZGUxMDY4Mjk1ZGQ4NjViNjQ1NjkzMzViZDVkZDgwMTgxZDcwZWNmYzg4MjY0ODQyM2JhNzZiNTMyYjdkNjcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOTI0ODI3OWIwOWI0ZDY4ZGFiMjFhOWIwNjZlZGRhODMyNjNjM2Q4NGUwOTU3MmUyNjljYTBjZDdmNTQ1MzcxNCcsXFxuICAgICAgICAnNzMwMTZmN2JmMjM0YWFkZTVkMWFhNzFiZGVhMmIxZmYzZmMwZGUyYTg4NzkxMmZmZTU0YTMyY2U5N2NiMzQwMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkYWVkNGYyYmUzYThiZjI3OGU3MDEzMmZiMGJlYjc1MjJmNTcwZTE0NGJmNjE1YzA3ZTk5NmQ0NDNkZWU4NzI5JyxcXG4gICAgICAgICdhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQwZTUyMjkwYmUxYzU1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2M0NGQxMmM3MDY1ZDgxMmU4YWNmMjhkN2NiYjE5ZjkwMTFlY2Q5ZTlmZGYyODFiMGU2YTNiNWU4N2QyMmU3ZGInLFxcbiAgICAgICAgJzIxMTlhNDYwY2UzMjZjZGM3NmM0NTkyNmM5ODJmZGFjMGUxMDZlODYxZWRmNjFjNWEwMzkwNjNmMGUwZTY0ODInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNmEyNDViZjZkYzY5ODUwNGM4OWEyMGNmZGVkNjA4NTMxNTJiNjk1MzM2YzI4MDYzYjYxYzY1Y2JkMjY5ZTZiNCcsXFxuICAgICAgICAnZTAyMmNmNDJjMmJkNGE3MDhiM2Y1MTI2ZjE2YTI0YWQ4YjMzYmE0OGQwNDIzYjZlZmQ1ZTYzNDgxMDBkOGE4MidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNjk3ZmZhNmZkOWRlNjI3YzA3N2UzZDJmZTU0MTA4NGNlMTMzMDBiMGJlYzExNDZmOTVhZTU3ZjBkMGJkNmE1JyxcXG4gICAgICAgICdiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzYwNWJkYjAxOTk4MTcxOGI5ODZkMGYwN2U4MzRjYjBkOWRlYjgzNjBmZmI3ZjYxZGY5ODIzNDVlZjI3YTc0NzknLFxcbiAgICAgICAgJzI5NzJkMmRlNGY4ZDIwNjgxYTc4ZDkzZWM5NmZlMjNjMjZiZmFlODRmYjE0ZGI0M2IwMWUxZTkwNTZiOGM0OSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc2MmQxNGRhYjQxNTBiZjQ5NzQwMmZkYzQ1YTIxNWUxMGRjYjAxYzM1NDk1OWIxMGNmZTMxYzdlOWQ4N2ZmMzNkJyxcXG4gICAgICAgICc4MGZjMDZiZDhjYzViMDEwOTgwODhhMTk1MGVlZDBkYjAxYWExMzI5NjdhYjQ3MjIzNWY1NjQyNDgzYjI1ZWFmJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzgwYzYwYWQwMDQwZjI3ZGFkZTViNGIwNmM0MDhlNTZiMmM1MGU5ZjU2YjliOGI0MjVlNTU1YzJmODYzMDhiNmYnLFxcbiAgICAgICAgJzFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1N2EnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnN2E5Mzc1YWQ2MTY3YWQ1NGFhNzRjNjM0OGNjNTRkMzQ0Y2M1ZGM5NDg3ZDg0NzA0OWQ1ZWFiYjBmYTAzYzhmYicsXFxuICAgICAgICAnZDBlM2ZhOWVjYTg3MjY5MDk1NTllMGQ3OTI2OTA0NmJkYzU5ZWExMGM3MGNlMmIwMmQ0OTllYzIyNGRjN2Y3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Q1MjhlY2Q5YjY5NmI1NGM5MDdhOWVkMDQ1NDQ3YTc5YmI0MDhlYzM5YjY4ZGY1MDRiYjUxZjQ1OWJjM2ZmYzknLFxcbiAgICAgICAgJ2VlY2Y0MTI1MzEzNmU1Zjk5OTY2ZjIxODgxZmQ2NTZlYmM0MzQ1NDA1YzUyMGRiYzA2MzQ2NWI1MjE0MDk5MzMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNDkzNzBhNGI1ZjQzNDEyZWEyNWY1MTRlOGVjZGFkMDUyNjYxMTVlNGE3ZWNiMTM4NzIzMTgwOGY4YjQ1OTYzJyxcXG4gICAgICAgICc3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc3ZjIzMDkzNmVlODhjYmJkNzNkZjkzMGQ2NDcwMmVmODgxZDgxMWUwZTE0OThlMmYxYzEzZWIxZmMzNDVkNzQnLFxcbiAgICAgICAgJzk1OGVmNDJhNzg4NmI2NDAwYTA4MjY2ZTliYTFiMzc4OTZjOTUzMzBkOTcwNzdjYmJlOGViM2M3NjcxYzYwZDYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZjJkYWM5OTFjYzRjZTRiOWVhNDQ4ODdlNWM3YzBiY2U1OGM4MDA3NGFiOWQ0ZGJhZWIyODUzMWI3NzM5ZjUzMCcsXFxuICAgICAgICAnZTBkZWRjOWIzYjJmOGRhZDRkYTFmMzJkZWMyNTMxZGY5ZWI1ZmJlYjA1OThlNGZkMWExMTdkYmE3MDNhM2MzNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0NjNiM2Q5ZjY2MjYyMWZiMWI0YmU4ZmJiZTI1MjAxMjVhMjE2Y2RmYzlkYWUzZGViY2JhNDg1MGM2OTBkNDViJyxcXG4gICAgICAgICc1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2YxNmY4MDQyNDRlNDZlMmEwOTIzMmQ0YWZmM2I1OTk3NmI5OGZhYzE0MzI4YTJkMWEzMjQ5NmI0OTk5OGYyNDcnLFxcbiAgICAgICAgJ2NlZGFiZDliODIyMDNmN2UxM2QyMDZmY2RmNGUzM2Q5MmE2YzUzYzI2ZTVjY2UyNmQ2NTc5OTYyYzRlMzFkZjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnY2FmNzU0MjcyZGM4NDU2M2IwMzUyYjdhMTQzMTFhZjU1ZDI0NTMxNWFjZTI3YzY1MzY5ZTE1ZjcxNTFkNDFkMScsXFxuICAgICAgICAnY2I0NzQ2NjBlZjM1ZjVmMmE0MWI2NDNmYTVlNDYwNTc1ZjRmYTliNzk2MjIzMmE1YzMyZjkwODMxOGEwNDQ3NidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyNjAwY2E0YjI4MmNiOTg2Zjg1ZDBmMTcwOTk3OWQ4YjQ0YTA5YzA3Y2I4NmQ3YzEyNDQ5N2JjODZmMDgyMTIwJyxcXG4gICAgICAgICc0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc2MzVjYTcyZDdlODQzMmMzMzhlYzUzY2QxMjIyMGJjMDFjNDg2ODVlMjRmN2RjOGM2MDJhNzc0Njk5OGU0MzUnLFxcbiAgICAgICAgJzkxYjY0OTYwOTQ4OWQ2MTNkMWQ1ZTU5MGY3OGU2ZDc0ZWNmYzA2MWQ1NzA0OGJhZDllNzZmMzAyYzViOWM2MSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc3NTRlMzIzOWYzMjU1NzBjZGJiZjRhODdkZWVlOGE2NmI3ZjJiMzM0NzlkNDY4ZmJjMWE1MDc0M2JmNTZjYzE4JyxcXG4gICAgICAgICc2NzNmYjg2ZTViZGEzMGZiM2NkMGVkMzA0ZWE0OWEwMjNlZTMzZDAxOTdhNjk1ZDBjNWQ5ODA5M2M1MzY2ODMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTNlNmJkMTA3MWExZTk2YWZmNTc4NTljODJkNTcwZjAzMzA4MDA2NjFkMWM5NTJmOWZlMjY5NDY5MWQ5YjllOCcsXFxuICAgICAgICAnNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxODZiNDgzZDA1NmEwMzM4MjZhZTczZDg4ZjczMjk4NWM0Y2NiMWYzMmJhMzVmNGI0Y2M0N2ZkY2YwNGFhNmViJyxcXG4gICAgICAgICczYjk1MmQzMmM2N2NmNzdlMmUxNzQ0NmUyMDQxODBhYjIxZmI4MDkwODk1MTM4YjRhNGE3OTdmODZlODA4ODhiJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2RmOWQ3MGE2Yjk4NzZjZTU0NGM5ODU2MWY0YmU0ZjcyNTQ0MmU2ZDJiNzM3ZDljOTFhODMyMTcyNGNlMDk2M2YnLFxcbiAgICAgICAgJzU1ZWIyZGFmZDg0ZDZjY2Q1Zjg2MmI3ODVkYzM5ZDRhYjE1NzIyMjcyMGVmOWRhMjE3YjhjNDVjZjJiYTI0MTcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNWVkZDVjYzIzYzUxZTg3YTQ5N2NhODE1ZDVkY2UwZjhhYjUyNTU0Zjg0OWVkODk5NWRlNjRjNWYzNGNlNzE0MycsXFxuICAgICAgICAnZWZhZTljOGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyOTA3OThjMmI2NDc2ODMwZGExMmZlMDIyODdlOWU3NzdhYTNmYmExYzM1NWIxN2E3MjJkMzYyZjg0NjE0ZmJhJyxcXG4gICAgICAgICdlMzhkYTc2ZGNkNDQwNjIxOTg4ZDAwYmNmNzlhZjI1ZDViMjljMDk0ZGIyYTIzMTQ2ZDAwM2FmZDQxOTQzZTdhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2FmM2M0MjNhOTVkOWY1YjMwNTQ3NTRlZmExNTBhYzM5Y2QyOTU1MmZlMzYwMjU3MzYyZGZkZWNlZjQwNTNiNDUnLFxcbiAgICAgICAgJ2Y5OGEzZmQ4MzFlYjJiNzQ5YTkzYjBlNmYzNWNmYjQwYzhjZDVhYTY2N2ExNTU4MWJjMmZlZGVkNDk4ZmQ5YzYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzY2ZGJiMjRkMTM0ZTc0NWNjY2FhMjhjOTliZjI3NDkwNmJiNjZiMjZkY2Y5OGRmOGQyZmVkNTBkODg0MjQ5YScsXFxuICAgICAgICAnNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc1OWRiZjQ2ZjhjOTQ3NTliYTIxMjc3YzMzNzg0ZjQxNjQ1ZjdiNDRmNmM1OTZhNThjZTkyZTY2NjE5MWFiZTNlJyxcXG4gICAgICAgICdjNTM0YWQ0NDE3NWZiYzMwMGY0ZWE2Y2U2NDgzMDlhMDQyY2U3MzlhNzkxOTc5OGNkODVlMjE2YzRhMzA3ZjZlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2YxM2FkYTk1MTAzYzQ1MzczMDVlNjkxZTc0ZTlhNGE4ZGQ2NDdlNzExYTk1ZTczY2I2MmRjNjAxOGNmZDg3YjgnLFxcbiAgICAgICAgJ2UxMzgxN2I0NGVlMTRkZTY2M2JmNGJjODA4MzQxZjMyNjk0OWUyMWE2YTc1YzI1NzA3Nzg0MTliZGFmNTczM2QnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzc1NGI0ZmEwZThhY2VkMDZkNDE2N2EyYzU5Y2NhNGNkYTE4NjljMDZlYmFkZmI2NDg4NTUwMDE1YTg4NTIyYycsXFxuICAgICAgICAnMzBlOTNlODY0ZTY2OWQ4MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5NDhkY2FkZjU5OTBlMDQ4YWEzODc0ZDQ2YWJlZjlkNzAxODU4Zjk1ZGU4MDQxZDJhNjgyOGM5OWUyMjYyNTE5JyxcXG4gICAgICAgICdlNDkxYTQyNTM3ZjZlNTk3ZDVkMjhhMzIyNGIxYmMyNWRmOTE1NGVmYmQyZWYxZDJjYmJhMmNhZTUzNDdkNTdlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc5NjI0MTQ0NTBjNzZjMTY4OWM3YjQ4ZjgyMDJlYzM3ZmIyMjRjZjVhYzBiZmExNTcwMzI4YThhM2Q3Yzc3YWInLFxcbiAgICAgICAgJzEwMGI2MTBlYzRmZmI0NzYwZDVjMWZjMTMzZWY2ZjZiMTI1MDdhMDUxZjA0YWM1NzYwYWZhNWIyOWRiODM0MzcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzUxNDA4NzgzNDk2NGI1NGIxNWIxNjA2NDRkOTE1NDg1YTE2OTc3MjI1Yjg4NDdiYjBkZDA4NTEzN2VjNDdjYScsXFxuICAgICAgICAnZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkM2NjMzBhZDZiNDgzZTRiYzc5Y2UyYzlkZDhiYzU0OTkzZTk0N2ViOGRmNzg3YjQ0Mjk0M2QzZjdiNTI3ZWFmJyxcXG4gICAgICAgICc4YjM3OGEyMmQ4MjcyNzhkODljNWU5YmU4Zjk1MDhhZTNjMmFkNDYyOTAzNTg2MzBhZmIzNGRiMDRlZWRlMGE0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE2MjRkODQ3ODA3MzI4NjBjZTFjNzhmY2JmZWZlMDhiMmIyOTgyM2RiOTEzZjY0OTM5NzViYTBmZjQ4NDc2MTAnLFxcbiAgICAgICAgJzY4NjUxY2Y5YjZkYTkwM2UwOTE0NDQ4YzZjZDlkNGNhODk2ODc4ZjUyODJiZTRjOGNjMDZlMmE0MDQwNzg1NzUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzMzY2U4MGRhOTU1YThhMjY5MDJjOTU2MzNlNjJhOTg1MTkyNDc0YjVhZjIwN2RhNmRmN2I0ZmQ1ZmM2MWNkNCcsXFxuICAgICAgICAnZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhiOGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNWQ5NDQxMjU0OTQ1MDY0Y2YxYTFjMzNiYmQzYjQ5Zjg5NjZjNTA5MjE3MWU2OTllZjI1OGRmYWI4MWMwNDVjJyxcXG4gICAgICAgICdkNTZlYjMwYjY5NDYzZTcyMzRmNTEzN2I3M2I4NDE3NzQzNDgwMGJhY2ViZmM2ODVmYzM3YmJlOWVmZTQwNzBkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ExZDBmY2YyZWM5ZGU2NzViNjEyMTM2ZTVjZTcwZDI3MWMyMTQxN2M5ZDJiOGFhYWFjMTM4NTk5ZDA3MTc5NDAnLFxcbiAgICAgICAgJ2VkZDc3ZjUwYmNiNWEzY2FiMmU5MDczNzMwOTY2N2YyNjQxNDYyYTU0MDcwZjNkNTE5MjEyZDM5YzE5N2E2MjknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTIyZmJlMTVjMGFmOGNjYzU3ODBjMDczNWY4NGRiZTlhNzkwYmFkZWU4MjQ1YzA2YzdjYTM3MzMxY2IzNjk4MCcsXFxuICAgICAgICAnYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMxMTA5MWRkOTg2MGU4ZTIwZWUxMzQ3M2MxMTU1ZjVmNjk2MzVlMzk0NzA0ZWFhNzQwMDk0NTIyNDZjZmE5YjMnLFxcbiAgICAgICAgJzY2ZGI2NTZmODdkMWYwNGZmZmQxZjA0Nzg4YzA2ODMwODcxZWM1YTY0ZmVlZTY4NWJkODBmMGIxMjg2ZDgzNzQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzRjMWZkMDRkMzAxYmU4OWIzMWMwNDQyZDNlNmFjMjQ4ODM5MjhiNDVhOTM0MDc4MTg2N2Q0MjMyZWMyZGJkZicsXFxuICAgICAgICAnOTQxNDY4NWU5N2IxYjU5NTRiZDQ2ZjczMDE3NDEzNmQ1N2YxY2VlYjQ4NzQ0M2RjNTMyMTg1N2JhNzNhYmVlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2YyMTllYTVkNmI1NDcwMWMxYzE0ZGU1YjU1N2ViNDJhOGQxM2YzYWJiY2QwOGFmZmNjMmE1ZTZiMDQ5YjhkNjMnLFxcbiAgICAgICAgJzRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRiMDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDdiODc0MGY3NGE4ZmJhYWIxZjY4M2RiOGY0NWRlMjY1NDNhNTQ5MGJjYTYyNzA4NzIzNjkxMjQ2OWEwYjQ0OCcsXFxuICAgICAgICAnZmE3Nzk2ODEyOGQ5YzkyZWUxMDEwZjMzN2FkNDcxN2VmZjE1ZGI1ZWQzYzA0OWIzNDExZTAzMTVlYWE0NTkzYidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczMmQzMWMyMjJmOGY2ZjBlZjg2ZjdjOThkM2EzMzM1ZWFkNWJjZDMyYWJkZDk0Mjg5ZmU0ZDMwOTFhYTgyNGJmJyxcXG4gICAgICAgICc1ZjMwMzJmNTg5MjE1NmUzOWNjZDNkNzkxNWI5ZTFkYTJlNmRhYzllNmYyNmU5NjExMThkMTRiODQ2MmUxNjYxJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc0NjFmMzcxOTE0YWIzMjY3MTA0NWExNTVkOTgzMWVhODc5M2Q3N2NkNTk1OTJjNDM0MGY4NmNiYzE4MzQ3YjUnLFxcbiAgICAgICAgJzhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZWUwNzlhZGIxZGYxODYwMDc0MzU2YTI1YWEzODIwNmE2ZDcxNmIyYzNlNjc0NTNkMjg3Njk4YmFkN2IyYjJkNicsXFxuICAgICAgICAnOGRjMjQxMmFhZmUzYmU1YzRjNWYzN2UwZWNjNWY5ZjZhNDQ2OTg5YWYwNGM0ZTI1ZWJhYWM0NzllYzFjOGMxZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNmVjOTNlNDQ3ZWM4M2YwNDY3YjE4MzAyZWU2MjBmN2U2NWRlMzMxODc0YzlkYzcyYmZkODYxNmJhOWRhNmI1JyxcXG4gICAgICAgICc1ZTQ2MzExNTBlNjJmYjQwZDBlOGMyYTdjYTU4MDRhMzlkNTgxODZhNTBlNDk3MTM5NjI2Nzc4ZTI1YjA2NzRkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2VhYTVmOTgwYzI0NWY2ZjAzODk3ODI5MGFmYTcwYjZiZDg4NTU4OTdmOThiNmFhNDg1Yjk2MDY1ZDUzN2JkOTknLFxcbiAgICAgICAgJ2Y2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZlYTY3ZmIxODA0MTAyNGVkYzA3ZGMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzhjOTQwNzU0NGFjMTMyNjkyZWUxOTEwYTAyNDM5OTU4YWUwNDg3NzE1MTM0MmVhOTZjNGI2YjM1YTQ5ZjUxJyxcXG4gICAgICAgICdmM2UwMzE5MTY5ZWI5Yjg1ZDU0MDQ3OTU1MzlhNWU2OGZhMWZiZDU4M2MwNjRkMjQ2MmI2NzVmMTk0YTNkZGI0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzQ5NGY0YmUyMTlhMWE3NzAxNmRjZDgzODQzMWFlYTAwMDFjZGM4YWU3YTZmYzY4ODcyNjU3OGQ5NzAyODU3YTUnLFxcbiAgICAgICAgJzQyMjQyYTk2OTI4M2E1ZjMzOWJhN2YwNzVlMzZiYTJhZjkyNWNlMzBkNzY3ZWQ2ZTU1ZjRiMDMxODgwZDU2MmMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYTU5OGE4MDMwZGE2ZDg2YzZiYzdmMmY1MTQ0ZWE1NDlkMjgyMTFlYTU4ZmFhNzBlYmY0YzFlNjY1YzFmZTliNScsXFxuICAgICAgICAnMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdjNDE5MTYzNjVhYmIyYjVkMDkxOTJmNWYyZGJlYWZlYzIwOGYwMjBmMTI1NzBhMTg0ZGJhZGMzZTU4NTk1OTk3JyxcXG4gICAgICAgICc0ZjE0MzUxZDAwODdlZmE0OWQyNDViMzI4OTg0OTg5ZDVjYWY5NDUwZjM0YmZjMGVkMTZlOTZiNThmYTk5MTMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODQxZDYwNjNhNTg2ZmE0NzVhNzI0NjA0ZGEwM2JjNWI5MmEyZTBkMmUwYTM2YWNmZTRjNzNhNTUxNDc0Mjg4MScsXFxuICAgICAgICAnNzM4NjdmNTljMDY1OWU4MTkwNGY5YTFjNzU0MzY5OGU2MjU2MmQ2NzQ0YzE2OWNlN2EzNmRlMDFhOGQ2MTU0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzVlOTViYjM5OWE2OTcxZDM3NjAyNjk0N2Y4OWJkZTJmMjgyYjMzODEwOTI4YmU0ZGVkMTEyYWM0ZDcwZTIwZDUnLFxcbiAgICAgICAgJzM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3NDYwMTI4NjUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzZlNDY0MWE1Mzk0OGZkNDc2YzM5ZjhhOTlmZDk3NGU1ZWMwNzU2NGI1MzE1ZDhiZjk5NDcxYmNhMGVmMmY2NicsXFxuICAgICAgICAnZDI0MjRiMWIxYWJlNGViODE2NDIyN2IwODVjOWFhOTQ1NmVhMTM0OTNmZDU2M2UwNmZkNTFjZjU2OTRjNzhmYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczMzY1ODFlYTdiZmJiYjI5MGMxOTFhMmY1MDdhNDFjZjU2NDM4NDIxNzBlOTE0ZmFlYWIyN2MyYzU3OWY3MjYnLFxcbiAgICAgICAgJ2VhZDEyMTY4NTk1ZmUxYmU5OTI1MjEyOWI2ZTU2YjMzOTFmN2FiMTQxMGNkMWUwZWYzZGNkY2FiZDJmZGEyMjQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOGFiODk4MTZkYWRmZDZiNmExZjI2MzRmY2YwMGVjODQwMzc4MTAyNWVkNjg5MGM0ODQ5NzQyNzA2YmQ0M2VkZScsXFxuICAgICAgICAnNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxZTMzZjFhNzQ2YzljNTc3ODEzMzM0NGQ5Mjk5ZmNhYTIwYjA5MzhlOGFjZmYyNTQ0YmI0MDI4NGI4YzVmYjk0JyxcXG4gICAgICAgICc2MDY2MDI1N2RkMTFiM2FhOWM4ZWQ2MThkMjRlZGZmMjMwNmQzMjBmMWQwMzAxMGUzM2E3ZDIwNTdmM2IzYjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODViN2MxZGNiM2NlYzFiN2VlN2YzMGRlZDc5ZGQyMGEwZWQxZjRjYzE4Y2JjZmNmYTQxMDM2MWZkOGYwOGYzMScsXFxuICAgICAgICAnM2Q5OGE5Y2RkMDI2ZGQ0M2YzOTA0OGYyNWE4ODQ3ZjRmY2FmYWQxODk1ZDdhNjMzYzZmZWQzYzM1ZTk5OTUxMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyOWRmOWZiZDhkOWU0NjUwOTI3NWY0YjEyNWQ2ZDQ1ZDdmYmU5YTNiODc4YTdhZjg3MmEyODAwNjYxYWM1ZjUxJyxcXG4gICAgICAgICdiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYTBiMWNhZTA2YjBhODQ3YTNmZWE2ZTY3MWFhZjhhZGZkZmU1OGNhMmY3NjgxMDVjODA4MmIyZTQ0OWZjZTI1MicsXFxuICAgICAgICAnYWU0MzQxMDJlZGRlMDk1OGVjNGIxOWQ5MTdhNmEyOGU2YjcyZGExODM0YWZmMGU2NTBmMDQ5NTAzYTI5NmNmMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0ZThjZWFmYjliM2U5YTEzNmRjN2ZmNjdlODQwMjk1YjQ5OWRmYjNiMjEzM2U0YmExMTNmMmU0YzBlMTIxZTUnLFxcbiAgICAgICAgJ2NmMjE3NDExOGM4YjZkN2E0YjQ4ZjZkNTM0Y2U1Yzc5NDIyYzA4NmE2MzQ2MDUwMmI4MjdjZTYyYTMyNjY4M2MnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDI0YTQ0ZTA0N2UxOWI2ZjVhZmI4MWM3Y2EyZjY5MDgwYTUwNzY2ODlhMDEwOTE5ZjQyNzI1YzJiNzg5YTMzYicsXFxuICAgICAgICAnNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlYTAxNjA2YTdhNmM5Y2RkMjQ5ZmRmY2ZhY2I5OTU4NDAwMWVkZDI4YWJiYWI3N2I1MTA0ZTk4ZThlM2IzNWQ0JyxcXG4gICAgICAgICczMjJhZjQ5MDhjNzMxMmIwY2ZiZmUzNjlmN2E3YjNjZGI3ZDQ0OTRiYzI4MjM3MDBjZmQ2NTIxODhhM2VhOThkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2FmOGFkZGJmMmI2NjFjOGE2YzYzMjg2NTVlYjk2NjUxMjUyMDA3ZDhjNWVhMzFiZTRhZDE5NmRlOGNlMjEzMWYnLFxcbiAgICAgICAgJzY3NDllNjdjMDI5Yjg1ZjUyYTAzNGVhZmQwOTY4MzZiMjUyMDgxODY4MGUyNmFjOGYzZGZiY2RiNzE3NDk3MDAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTNhZTE5NzQ1NjZjYTA2Y2M1MTZkNDdlMGZiMTY1YTY3NGEzZGFiY2ZjYTE1ZTcyMmYwZTM0NTBmNDU4ODknLFxcbiAgICAgICAgJzJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNTkxZWUzNTUzMTNkOTk3MjFjZjY5OTNmZmVkMWUzZTMwMTk5M2ZmM2VkMjU4ODAyMDc1ZWE4Y2VkMzk3ZTI0NicsXFxuICAgICAgICAnYjBlYTU1OGExMTNjMzBiZWE2MGZjNDc3NTQ2MGM3OTAxZmYwYjA1M2QyNWNhMmJkZWVlOThmMWE0YmU1ZDE5NidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxMTM5NmQ1NWZkYTU0YzQ5ZjE5YWE5NzMxOGQ4ZGE2MWZhODU4NGU0N2IwODQ5NDUwNzdjZjAzMjU1YjUyOTg0JyxcXG4gICAgICAgICc5OThjNzRhOGNkNDVhYzAxMjg5ZDU4MzNhN2JlYjQ3NDRmZjUzNmIwMWIyNTdiZTRjNTc2N2JlYTkzZWE1N2E0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzNjNWQyYTFiYTM5YzVhMTc5MDAwMDczOGM5ZTBjNDBiOGRjZGZkNTQ2ODc1NGI2NDA1NTQwMTU3ZTAxN2FhN2EnLFxcbiAgICAgICAgJ2IyMjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnY2M4NzA0YjhhNjBhMGRlZmEzYTk5YTcyOTlmMmU5YzNmYmMzOTVhZmIwNGFjMDc4NDI1ZWY4YTE3OTNjYzAzMCcsXFxuICAgICAgICAnYmRkNDYwMzlmZWVkMTc4ODFkMWUwODYyZGIzNDdmOGNmMzk1Yjc0ZmM0YmNkYzRlOTQwYjc0ZTNhYzFmMWIxMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdjNTMzZTRmN2VhODU1NWFhY2Q5Nzc3YWM1Y2FkMjliOTdkZDRkZWZjY2M1M2VlN2VhMjA0MTE5YjI4ODliMTk3JyxcXG4gICAgICAgICc2ZjBhMjU2YmM1ZWZkZjQyOWEyZmI2MjQyZjFhNDNhMmQ5YjkyNWJiNGE0YjNhMjZiYjhlMGY0NWViNTk2MDk2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2MxNGY4ZjJjY2IyN2Q2ZjEwOWY2ZDA4ZDAzY2M5NmE2OWJhOGMzNGVlYzA3YmJjZjU2NmQ0OGUzM2RhNjU5MycsXFxuICAgICAgICAnYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdhNmNiYzMwNDZiYzZhNDUwYmFjMjQ3ODlmYTE3MTE1YTRjOTczOWVkNzVmOGYyMWNlNDQxZjcyZTBiOTBlNmVmJyxcXG4gICAgICAgICcyMWFlN2Y0NjgwZTg4OWJiMTMwNjE5ZTJjMGY5NWEzNjBjZWI1NzNjNzA2MDMxMzk4NjJhZmQ2MTdmYTliOWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzQ3ZDZkOWEwMmM0ODkyN2ViZmI4NmMxMzU5YjFjYWYxMzBhM2MwMjY3ZDExY2U2MzQ0YjM5Zjk5ZDQzY2MzOCcsXFxuICAgICAgICAnNjBlYTdmNjFhMzUzNTI0ZDFjOTg3ZjZlY2VjOTJmMDg2ZDU2NWFiNjg3ODcwY2IxMjY4OWZmMWUzMWM3NDQ0OCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkYTY1NDVkMjE4MWRiOGQ5ODNmN2RjYjM3NWVmNTg2NmQ0N2M2N2IxYmYzMWM4Y2Y4NTVlZjc0MzdiNzI2NTZhJyxcXG4gICAgICAgICc0OWI5NjcxNWFiNjg3OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2M0MDc0N2NjOWQwMTJjYjFhMTNiODE0ODMwOWM2ZGU3ZWMyNWQ2OTQ1ZDY1NzE0NmI5ZDU5OTRiOGZlYjExMTEnLFxcbiAgICAgICAgJzVjYTU2MDc1M2JlMmExMmZjNmRlNmNhZjJjYjQ4OTU2NWRiOTM2MTU2Yjk1MTRlMWJiNWU4MzAzN2UwZmEyZDQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNGU0MmM4ZWM4MmM5OTc5OGNjZjNhNjEwYmU4NzBlNzgzMzhjN2Y3MTMzNDhiZDM0YzgyMDNlZjQwMzdmMzUwMicsXFxuICAgICAgICAnNzU3MWQ3NGVlNWUwZmI5MmE3YThiMzNhMDc3ODMzNDFhNTQ5MjE0NGNjNTRiY2M0MGE5NDQ3MzY5MzYwNjQzNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczNzc1YWI3MDg5YmM2YWY4MjNhYmEyZTFhZjcwYjIzNmQyNTFjYWRiMGM4Njc0MzI4NzUyMmExYjNiMGRlZGVhJyxcXG4gICAgICAgICdiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2NlZTMxY2JmN2UzNGVjMzc5ZDk0ZmI4MTRkM2Q3NzVhZDk1NDU5NWQxMzE0YmE4ODQ2OTU5ZTNlODJmNzRlMjYnLFxcbiAgICAgICAgJzhmZDY0YTE0YzA2YjU4OWMyNmI5NDdhZTJiY2Y2YmZhMDE0OWVmMGJlMTRlZDRkODBmNDQ4YTAxYzQzYjFjNmQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjRmOWVhZWEwOWI2OTE3NjE5ZjZlYTZhNGViNTQ2NGVmZGRiNThmZDQ1YjFlYmVmY2RjMWEwMWQwOGI0Nzk4NicsXFxuICAgICAgICAnMzllNWM5OTI1YjVhNTRiMDc0MzNhNGYxOGM2MTcyNmY4YmIxMzFjMDEyY2E1NDJlYjI0YThhYzA3MjAwNjgyYSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkNDI2M2RmYzNkMmRmOTIzYTAxNzlhNDg5NjZkMzBjZTg0ZTI1MTVhZmMzZGNjYzFiNzc5MDc3OTJlYmNjNjBlJyxcXG4gICAgICAgICc2MmRmYWYwN2EwZjc4ZmViMzBlMzBkNjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzQ4NDU3NTI0ODIwZmE2NWE0ZjhkMzVlYjY5MzA4NTdjMDAzMmFjYzBhNGEyZGU0MjIyMzNlZWRhODk3NjEyYzQnLFxcbiAgICAgICAgJzI1YTc0OGFiMzY3OTc5ZDk4NzMzYzM4YTFmYTFjMmU3ZGM2Y2MwN2RiMmQ2MGE5YWU3YTc2YWFhNDliZDBmNzcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZGZlZWVmMTg4MTEwMWYyY2IxMTY0NGYzYTJhZmRmYzIwNDVlMTk5MTkxNTI5MjNmMzY3YTE3NjdjMTFjY2VkYScsXFxuICAgICAgICAnZWNmYjcwNTZjZjFkZTA0MmY5NDIwYmFiMzk2NzkzYzBjMzkwYmRlNzRiNGJiZGZmMTZhODNhZTA5YTlhNzUxNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc2ZDdlZjZiMTc1NDNmODM3M2M1NzNmNDRlMWYzODk4MzVkODliY2JjNjA2MmNlZDM2YzgyZGY4M2I4ZmFlODU5JyxcXG4gICAgICAgICdjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U3NTYwNWQ1OTEwMmE1YTI2ODQ1MDBkM2I5OTFmMmUzZjNjODhiOTMyMjU1NDcwMzVhZjI1YWY2NmUwNDU0MWYnLFxcbiAgICAgICAgJ2Y1YzU0NzU0YThmNzFlZTU0MGI5YjQ4NzI4NDczZTMxNGY3MjlhYzUzMDhiMDY5MzgzNjA5OTBlMmJmYWQxMjUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZWI5ODY2MGY0YzRkZmFhMDZhMmJlNDUzZDUwMjBiYzk5YTBjMmU2MGFiZTM4ODQ1N2RkNDNmZWZiMWVkNjIwYycsXFxuICAgICAgICAnNmNiOWE4ODc2ZDljYjg1MjA2MDlhZjNhZGQyNmNkMjBhMGE3Y2Q4YTk0MTExMzFjZTg1ZjQ0MTAwMDk5MjIzZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxM2U4N2IwMjdkODUxNGQzNTkzOWYyZTY4OTJiMTk5MjIxNTQ1OTY5NDE4ODgzMzZkYzM1NjNlM2I4ZGJhOTQyJyxcXG4gICAgICAgICdmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkxYWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2VlMTYzMDI2ZTlmZDZmZTAxN2MzOGYwNmE1YmU2ZmMxMjU0MjRiMzcxY2UyNzA4ZTdiZjQ0OTE2OTFlNTc2NGEnLFxcbiAgICAgICAgJzFhY2IyNTBmMjU1ZGQ2MWM0M2Q5NGNjYzY3MGQwZjU4ZjQ5YWUzZmExNWI5NjYyM2U1NDMwZGEwYWQ2YzYyYjInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjI2OGY1ZWY5YWQ1MWU0ZDc4ZGUzYTc1MGMyZGM4OWIxZTYyNmQ0MzUwNTg2Nzk5OTkzMmU1ZGIzM2FmM2Q4MCcsXFxuICAgICAgICAnNWYzMTBkNGIzYzk5YjllYmIxOWY3N2Q0MWMxZGVlMDE4Y2YwZDM0ZmQ0MTkxNjE0MDAzZTk0NWExMjE2ZTQyMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdmZjA3ZjMxMThhOWRmMDM1ZTlmYWQ4NWViNmM3YmZlNDJiMDJmMDFjYTk5Y2VlYTNiZjdmZmRiYTkzYzQ3NTBkJyxcXG4gICAgICAgICc0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhkOGI5ODU1YzdjMDUyYTM0MTQ2ZmQyMGZmYjY1OGJlYTRiOWY2OWUwZDgyNWViZWMxNmU4YzNjZTJiNTI2YTEnLFxcbiAgICAgICAgJ2NkYjU1OWVlZGMyZDc5ZjkyNmJhZjQ0ZmI4NGVhNGQ0NGJjZjUwZmVlNTFkN2NlYjMwZTJlN2Y0NjMwMzY3NTgnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNTJkYjBiNTM4NGRmYmYwNWJmYTlkNDcyZDdhZTI2ZGZlNGI4NTFjZWNhOTFiMWViYTU0MjYzMTgwZGEzMmI2MycsXFxuICAgICAgICAnYzNiOTk3ZDA1MGVlNWQ0MjNlYmFmNjZhNmRiOWY1N2IzMTgwYzkwMjg3NTY3OWRlOTI0YjY5ZDg0YTdiMzc1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U2MmY5NDkwZDNkNTFkYTYzOTVlZmQyNGU4MDkxOWNjN2QwZjI5YzNmM2ZhNDhjNmZmZjU0M2JlY2JkNDMzNTInLFxcbiAgICAgICAgJzZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkxZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnN2YzMGVhMjQ3NmIzOTliNDk1NzUwOWM4OGY3N2QwMTkxYWZhMmZmNWNiN2IxNGZkNmQ4ZTdkNjVhYWFiMTE5MycsXFxuICAgICAgICAnY2E1ZWY3ZDRiMjMxYzk0YzNiMTUzODlhNWY2MzExZTlkYWZmN2JiNjdiMTAzZTk4ODBlZjRiZmY2MzdhY2FlYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc1MDk4ZmYxZTFkOWYxNGZiNDZhMjEwZmFkYTZjOTAzZmVmMGZiN2I0YTFkZDFkOWFjNjBhMDM2MTgwMGI3YTAwJyxcXG4gICAgICAgICc5NzMxMTQxZDgxZmM4ZjgwODRkMzdjNmU3NTQyMDA2YjNlZTFiNDBkNjBkZmU1MzYyYTViMTMyZmQxN2RkYzAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzJiNzhjN2RlOWVlNTEyYTcyODk1YmU2YjljYmVmYTZlMmYzYzRjY2NlNDQ1Yzk2YjlmMmM4MWUyNzc4YWQ1OCcsXFxuICAgICAgICAnZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlMmNiNzRmZGRjOGU5ZmJjZDA3NmVlZjJhN2M3MmIwY2UzN2Q1MGYwODI2OWRmYzA3NGI1ODE1NTA1NDdhNGY3JyxcXG4gICAgICAgICdkM2FhMmVkNzFjOWRkMjI0N2E2MmRmMDYyNzM2ZWIwYmFkZGVhOWUzNjEyMmQyYmU4NjQxYWJjYjAwNWNjNGE0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzg0Mzg0NDc1NjZkNGQ3YmVkYWRjMjk5NDk2YWIzNTc0MjYwMDlhMzVmMjM1Y2IxNDFiZTBkOTljZDEwYWUzYTgnLFxcbiAgICAgICAgJ2M0ZTEwMjA5MTY5ODBhNGRhNWQwMWFjNWU2YWQzMzA3MzRlZjBkNzkwNjYzMWM0ZjIzOTA0MjZiMmVkZDc5MWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNDE2MmQ0ODhiODk0MDIwMzliNTg0YzZmYzZjMzA4ODcwNTg3ZDljNDZmNjYwYjg3OGFiNjVjODJjNzExZDY3ZScsXFxuICAgICAgICAnNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRhNDdhZTVhMDg1MjY0OSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczZmFkM2ZhODRjYWYwZjM0ZjBmODliZmQyZGNmNTRmYzE3NWQ3NjdhZWMzZTUwNjg0ZjNiYTRhNGJmNWY2ODNkJyxcXG4gICAgICAgICdjZDFiYzdjYjZjYzQwN2JiMmYwY2E2NDdjNzE4YTczMGNmNzE4NzJlN2QwZDJhNTNmYTIwZWZjZGZlNjE4MjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNjc0ZjI2MDBhMzAwN2EwMDU2OGMxYTdjZTA1ZDA4MTZjMWZiODRiZjEzNzA3OThmMWM2OTUzMmZhZWIxYTg2YicsXFxuICAgICAgICAnMjk5ZDIxZjk0MTNmMzNiM2VkZjQzYjI1NzAwNDU4MGI3MGRiNTdkYTBiMTgyMjU5ZTA5ZWVjYzY5ZTBkMzhhNSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkMzJmNGRhNTRhZGU3NGFiYjgxYjgxNWFkMWZiM2IyNjNkODJkNmM2OTI3MTRiY2ZmODdkMjliZDVlZTlmMDhmJyxcXG4gICAgICAgICdmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMwZTRlNjcwNDM1Mzg1NTU2ZTU5MzY1NzEzNTg0NWQzNmZiYjY5MzFmNzJiMDhjYjFlZDk1NGYxZTNjZTNmZjYnLFxcbiAgICAgICAgJzQ2MmY5YmNlNjE5ODk4NjM4NDk5MzUwMTEzYmJjOWIxMGE4NzhkMzVkYTcwNzQwZGM2OTVhNTU5ZWI4OGRiN2InXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYmUyMDYyMDAzYzUxY2MzMDA0NjgyOTA0MzMwZTRkZWU3ZjNkY2QxMGIwMWU1ODBiZjE5NzFiMDRkNGNhZDI5NycsXFxuICAgICAgICAnNjIxODhiYzQ5ZDYxZTU0Mjg1NzNkNDhhNzRlMWM2NTViMWM2MTA5MDkwNTY4MmEwZDU1NThlZDcyZGNjYjliYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5MzE0NDQyM2FjZTM0NTFlZDI5ZTBmYjlhYzJhZjIxMWNiNmU4NGE2MDFkZjU5OTNjNDE5ODU5ZmZmNWRmMDRhJyxcXG4gICAgICAgICc3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdiNDdjJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2IwMTVmODA0NGY1ZmNiZGNmMjFjYTI2ZDZjMzRmYjgxOTc4MjkyMDVjN2I3ZDJhN2NiNjY0MThjMTU3YjExMmMnLFxcbiAgICAgICAgJ2FiOGMxZTA4NmQwNGU4MTM3NDRhNjU1YjJkZjhkNWY4M2IzY2RjNmZhYTMwODhjMWQzYWVhMTQ1NGUzYTFkNWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDVlOWUxZGE2NDlkOTdkODllNDg2ODExN2E0NjVhM2E0ZjhhMThkZTU3YTE0MGQzNmIzZjJhZjM0MWEyMWI1MicsXFxuICAgICAgICAnNGNiMDQ0MzdmMzkxZWQ3MzExMWExM2NjMWQ0ZGQwZGIxNjkzNDY1YzIyNDA0ODBkODk1NWU4NTkyZjI3NDQ3YSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkM2FlNDEwNDdkZDdjYTA2NWRiZjhlZDc3Yjk5MjQzOTk4MzAwNWNkNzJlMTZkNmY5OTZhNTMxNmQzNjk2NmJiJyxcXG4gICAgICAgICdiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzQ2M2UyNzYzZDg4NWY5NThmYzY2Y2RkMjI4MDBmMGE0ODcxOTdkMGE4MmUzNzdiNDlmODBhZjg3Yzg5N2IwNjUnLFxcbiAgICAgICAgJ2JmZWZhY2RiMGU1ZDBmZDdkZjNhMzExYTk0ZGUwNjJiMjZiODBjNjFmYmM5NzUwOGI3OTk5MjY3MWVmN2NhN2YnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzk4NWZkZmQxMjdjMDU2N2M2ZjUzZWMxYmI2M2VjMzE1OGU1OTdjNDBiZmU3NDdjODNjZGRmYzkxMDY0MTkxNycsXFxuICAgICAgICAnNjAzYzEyZGFmM2Q5ODYyZWYyYjI1ZmUxZGUyODlhZWQyNGVkMjkxZTBlYzY3MDg3MDNhNWJkNTY3ZjMyZWQwMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc3NGExYWQ2YjVmNzZlMzlkYjJkZDI0OTQxMGVhYzdmOTllNzRjNTljYjgzZDJkMGVkNWZmMTU0M2RhNzcwM2U5JyxcXG4gICAgICAgICdjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMwNjgyYTUwNzAzMzc1ZjYwMmQ0MTY2NjRiYTE5YjdmYzliYWI0MmM3Mjc0NzQ2M2E3MWQwODk2YjIyZjZkYTMnLFxcbiAgICAgICAgJzU1M2UwNGY2YjAxOGI0ZmE2YzhmMzllN2YzMTFkMzE3NjI5MGQwZTBmMTljYTczZjE3NzE0ZDk5NzdhMjJmZjgnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOWUyMTU4ZjBkN2MwZDVmMjZjMzc5MWVmZWZhNzk1OTc2NTRlN2EyYjI0NjRmNTJiMWVlNmMxMzQ3NzY5ZWY1NycsXFxuICAgICAgICAnNzEyZmNkZDFiOTA1M2YwOTAwM2EzNDgxZmE3NzYyZTlmZmQ3YzhlZjM1YTM4NTA5ZTJmYmYyNjI5MDA4MzczJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE3NmUyNjk4OWE0M2M5Y2ZlYmE0MDI5YzIwMjUzOGMyODE3MmU1NjZlM2M0ZmNlNzMyMjg1N2YzYmUzMjdkNjYnLFxcbiAgICAgICAgJ2VkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzVkNDZlZmVhMzc3MWU2ZTY4YWJiODlhMTNhZDc0N2VjZjE4OTIzOTNkZmM0ZjFiNzAwNDc4OGM1MDM3NGRhOCcsXFxuICAgICAgICAnOTg1MjM5MGE5OTUwNzY3OWZkMGI4NmZkMmIzOWE4NjhkN2VmYzIyMTUxMzQ2ZTFhM2NhNDcyNjU4NmE2YmVkOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4MDlhMjBjNjdkNjQ5MDBmZmI2OThjNGM4MjVmNmQ1ZjIzMTBmYjA0NTFjODY5MzQ1YjczMTlmNjQ1NjA1NzIxJyxcXG4gICAgICAgICc5ZTk5NDk4MGQ5OTE3ZTIyYjc2YjA2MTkyN2ZhMDQxNDNkMDk2Y2NjNTQ5NjNlNmE1ZWJmYTVmM2Y4ZTI4NmMxJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzFiMzg5MDNhNDNmN2YxMTRlZDQ1MDBiNGVhYzcwODNmZGVmZWNlMWNmMjljNjM1MjhkNTYzNDQ2Zjk3MmMxODAnLFxcbiAgICAgICAgJzQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjknXFxuICAgICAgXVxcbiAgICBdXFxuICB9XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012Y0hKbFkyOXRjSFYwWldRdmMyVmpjREkxTm1zeExtcHpQemRqTUdZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZaV3hzYVhCMGFXTXZiR2xpTDJWc2JHbHdkR2xqTDNCeVpXTnZiWEIxZEdWa0wzTmxZM0F5TlRack1TNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JrYjNWaWJHVnpPaUI3WEc0Z0lDQWdjM1JsY0RvZ05DeGNiaUFnSUNCd2IybHVkSE02SUZ0Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVTJNR1pqWlRrellqVTVaVGxsWXpVek1ERXhZV0ZpWXpJeFl6SXpaVGszWWpKaE16RXpOamxpT0RkaE5XRmxPV00wTkdWbE9EbGxNbUUyWkdWak1HRW5MRnh1SUNBZ0lDQWdJQ0FuWmpkbE16VXdOek01T1dVMU9UVTVNamxrWWprNVpqTTBaalUzT1RNM01UQXhNamsyT0RreFpUUTBaREl6WmpCaVpURm1NekpqWTJVMk9UWXhOamd5TVNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzRNamd5TWpZek1qRXlZell3T1dRNVpXRXlZVFpsTTJVeE56SmtaVEl6T0dRNFl6TTVZMkZpWkRWaFl6RmpZVEV3TmpRMlpUSXpabVExWmpVeE5UQTRKeXhjYmlBZ0lDQWdJQ0FnSnpFeFpqaGhPREE1T0RVMU4yUm1aVFExWlRneU5UWmxPRE13WWpZd1lXTmxOakprTmpFellXTXlaamRpTVRkaVpXUXpNV0kyWldGbVpqWmxNalpqWVdZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5NVGMxWlRFMU9XWTNNamhpT0RZMVlUY3laams1WTJNMll6Wm1ZemcwTm1SbE1HSTVNemd6TTJaa01qSXlNbVZrTnpObVkyVTFZalUxTVdVMVlqY3pPU2NzWEc0Z0lDQWdJQ0FnSUNka016VXdObVV3WkRsbE0yTTNPV1ZpWVRSbFpqazNZVFV4Wm1ZM01XWTFaV0ZqWWpVNU5UVmhaR1F5TkRNME5XTTJaV1poTm1abVpXVTVabVZrTmprMUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek0yTTJRNU1HUTBORGRpTURCak9XTTVPV05sWVdNd05XSTJNall5WldVd05UTTBOREZqTjJVMU5UVTFNbVptWlRVeU5tSmhaRGhtT0RObVpqUTJOREFuTEZ4dUlDQWdJQ0FnSUNBbk5HVXlOek5oWkdaak56TXlNakl4T1RVellqUTBOVE01TjJZek16WXpNVFExWWpsaE9Ea3dNRGd4T1RsbFkySTJNakF3TTJNM1pqTmlaV1U1WkdVNUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemhpTkdJMVpqRTJOV1JtTTJNeVltVTRZell5TkRSaU5XSTNORFUyTXpnNE5ETmxOR0UzT0RGaE1UVmlZMlF4WWpZNVpqYzVZVFUxWkdabVpHWTRNR01uTEZ4dUlDQWdJQ0FnSUNBbk5HRmhaREJoTm1ZMk9HUXpNRGhpTkdJelptSmtOemd4TTJGaU1HUmhNRFJtT1dVek16WTFORFl4TmpKbFpUVTJZak5sWm1Zd1l6WTFabVEwWm1Rek5pZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzTWpOalltRmhObVUxWkdJNU9UWmtObUptTnpjeFl6QXdZbVExTkRoak4ySTNNREJrWW1abVlUWmpNR1UzTjJKallqWXhNVFU1TWpVeU16Sm1ZMlJoSnl4Y2JpQWdJQ0FnSUNBZ0p6azJaVGcyTjJJMU5UazFZMk0wT1RoaE9USXhNVE0zTkRnNE9ESTBaRFpsTWpZMk1HRXdOalV6TnpjNU5EazBPREF4WkdNd05qbGtPV1ZpTXpsbU5XWW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuWldWaVptRTBaRFE1TTJKbFltWTVPR0poTldabFpXTTRNVEpqTW1RellqVXdPVFEzT1RZeE1qTTNZVGt4T1Rnek9XRTFNek5sWTJFd1pUZGtaRGRtWVNjc1hHNGdJQ0FnSUNBZ0lDYzFaRGxoT0dOaE16azNNR1ZtTUdZeU5qbGxaVGRsWkdGbU1UYzRNRGc1WkRsaFpUUmpaR016WVRjeE1XWTNNVEprWkdaa05HWmtZV1V4WkdVNE9UazVKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFd01HWTBOR1JoTmprMlpUY3hOamN5TnpreFpEQmhNRGxpTjJKa1pUUTFPV1l4TWpFMVlUSTVZak5qTUROaVptVm1aRGM0TXpWaU16bGhORGhrWWpBbkxGeHVJQ0FnSUNBZ0lDQW5ZMlJrT1dVeE16RTVNbUV3TUdJM056SmxZemhtTXpNd01HTXdPVEEyTmpaaU4yWm1OR0V4T0dabU5URTVOV0ZqTUdaaVpEVmpaRFl5WW1NMk5XRXdPU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbE1UQXpNV0psTWpZeVl6ZGxaREZpTVdSak9USXlOMkUwWVRBMFl6QXhOMkUzTjJZNFpEUTBOalJtTTJJek9EVXlZemhoWTJSbE5tVTFNelJtWkRKa0p5eGNiaUFnSUNBZ0lDQWdKemxrTnpBMk1Ua3lPRGswTURRd05XVTJZbUkyWVRReE56WTFPVGMxTXpWaFpqSTVNbVJrTkRFNVpURmpaV1EzT1dFME5HWXhPR1l5T1RRMU5tRXdNR1FuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblptVmxZVFpqWVdVME5tUTFOV0kxTXpCaFl6STRNemxtTVRRelltUTNaV00xWTJZNFlqSTJObUUwTVdRMllXWTFNbVExWlRZNE9HUTVNRGswTmprMlpDY3NYRzRnSUNBZ0lDQWdJQ2RsTlRkak5tSTJZemszWkdObE1XSmhZakEyWlRSbE1USmlaak5sWTJRMVl6azRNV000T1RVM1kyTTBNVFEwTW1Rek1UVTFaR1ZpWmpFNE1Ea3dNRGc0SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyUmhOamRoT1RGa09URXdORGxqWkdOaU16WTNZbVUwWW1VMlptWmpZVE5qWm1WbFpEWTFOMlE0TURnMU9ETmtaVE16Wm1FNU56aGlZekZsWXpaallqRW5MRnh1SUNBZ0lDQWdJQ0FuT1dKaFkyRmhNelUwT0RFMk5ESmlZelF4WmpRMk0yWTNaV001Tnpnd1pUVmtaV00zWVdSak5UQTRaamMwTUdFeE4yVTVaV0U0WlRJM1lUWTRZbVV4WkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzFNemt3TkdaaFlUQmlNek0wWTJSa1lUWmxNREF3T1RNMVpXWXlNakUxTVdWak1EaGtNR1kzWW1JeE1UQTJPV1kxTnpVME5XTmpZekZoTXpkaU4yTXdKeXhjYmlBZ0lDQWdJQ0FnSnpWaVl6QTROMlF3WW1NNE1ERXdObVE0T0dNNVpXTmpZV015TUdRell6RmpNVE01T1RrNU9ERmxNVFEwTXpRMk9UbGtZMkl3T1RaaU1ESXlOemN4WXpnblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PR1UzWW1Oa01HSmtNelU1T0ROaE56Y3hPV05qWVRjM05qUmpZVGt3TmpjM09XSTFNMkV3TkROaE9XSTRZbU5oWldabU9UVTVaalF6WVdRNE5qQTBOeWNzWEc0Z0lDQWdJQ0FnSUNjeE1HSTNOemN3WWpKaE0yUmhOR0l6T1RRd016RXdOREl3WTJFNU5URTBOVGM1WlRnNFpUSmxORGRtWkRZNFlqTmxZVEV3TURRM1pUZzBOakF6TnpKaEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek00TldWbFpETTBZekZqWkdabU1qRmxObVF3T0RFNE5qZzVZamd4WW1SbE56RmhOMlkwWmpFNE16azNaVFkyT1RCaE9EUXhaVEUxT1Rsak5ETTROakluTEZ4dUlDQWdJQ0FnSUNBbk1qZ3pZbVZpWXpObE9HVmhNak5tTlRZM01ERmtaVEU1WlRsbFltWTBOVGMyWWpNd05HVmxZekl3T0Raa1l6aGpZekEwTlRobVpUVTFOREpsTlRRMU15ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MyWmpsa09XSTRNRE5sWTJZeE9URTJNemRqTnpOaE5EUXhNMlJtWVRFNE1HWmtaR1k0TkdFMU9UUTNabUpqT1dNMk1EWmxaRGcyWXpObVlXTXpZVGNuTEZ4dUlDQWdJQ0FnSUNBbk4yTTRNR00yT0dVMk1ETXdOVGxpWVRZNVlqaGxNbUV6TUdVME5XTTBaRFEzWldFMFpHUXlaalZqTWpneE1EQXlaRGcyT0Rrd05qQXpZVGcwTWpFMk1DZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2N6TXpJeVpEUXdNVEkwTTJNMFpUSTFPREpoTWpFME4yTXhNRFJrTm1WalltWTNOelJrTVRZelpHSXdaalZsTlRNeE0ySTNaVEJsTnpReVpEQmxObUprSnl4Y2JpQWdJQ0FnSUNBZ0p6VTJaVGN3TnprM1pUazJOalJsWmpWaVptSXdNVGxpWXpSa1pHRm1PV0kzTWpnd05XWTJNMlZoTWpnM00yRm1OakkwWmpOaE1tVTVObU15T0dJeVlUQW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0RVMk56SmpOMlF5WkdVd1lqZGtZVEppWkRFM056QmtPRGsyTmpVNE5qZzNOREZpTTJZNVlXWTNOalF6TXprM056SXhaRGMwWkRJNE1UTTBZV0k0TXljc1hHNGdJQ0FnSUNBZ0lDYzNZelE0TVdJNVlqVmlORE5pTW1WaU5qTTNOREEwT1dKbVlUWXlZekpsTldVM04yWXhOMlpqWXpVeU9UaG1ORFJqT0dVek1EazBaamM1TURNeE0yRTJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnprME9HSm1PREE1WWpFNU9EaGhORFppTURaak9XWXhPVEU1TkRFellqRXdaamt5TWpaak5qQm1Oalk0T0RNeVptWmtPVFU1WVdZMk1HTTRNbUV3WVNjc1hHNGdJQ0FnSUNBZ0lDYzFNMkUxTmpJNE5UWmtZMkkyTmpRMlpHTTJZamMwWXpWa01XTXpOREU0WXpaa05HUm1aakE0WXprM1kyUXlZbVZrTkdOaU4yWTRPR1E0WXpobE5UZzVKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpZeU5qQmpaVGRtTkRZeE9EQXhZek0wWmpBMk4yTmxNR1l3TWpnM00yRTRaakZpTUdVME5HUm1Zelk1TnpVeVlXTmpaV05rT0RFNVpqTTRabVE0WlRnbkxGeHVJQ0FnSUNBZ0lDQW5ZbU15WkdFNE1tSTJabUUxWWpVM01XRTNaakE1TURRNU56YzJZVEZsWmpkbFkyUXlPVEl5TXpnd05URmpNVGs0WXpGaE9EUmxPVFZpTW1JMFlXVXhOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbE5UQXpOMlJsTUdGbVl6RmtPR1EwTTJRNE16UTROREUwWW1KbU5ERXdNekEwTTJWak9HWTFOelZpWm1Sak5ETXlPVFV6WTJNNFpESXdNemRtWVRKa0p5eGNiaUFnSUNBZ0lDQWdKelExTnpFMU16UmlZV0U1TkdRellqVm1PV1k1T0dRd09XWmlPVGt3WW1Sa1ltUTFaalZpTURObFl6UTRNV1l4TUdVd1pUVmtZemcwTVdRM05UVmlaR0VuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpUQTJNemN5WWpCbU5HRXlNRGRoWkdZMVpXRTVNRFZsT0dZeE56Y3hZalJsTjJVNFpHSmtNV00yWVRaak5XSTNNalU0TmpaaE1HRmxOR1pqWlRjeU5TY3NYRzRnSUNBZ0lDQWdJQ2MzWVRrd09EazNOR0pqWlRFNFkyWmxNVEpoTWpkaVlqSmhaRFZoTkRnNFkyUTNORGcwWVRjM09EY3hNRFE0TnpCaU1qY3dNelJtT1RSbFpXVXpNV1JrSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6SXhNMk0zWVRjeE5XTmtOV1EwTlRNMU9HUXdZbUptT1dSak1HTmxNREl5TURSaU1UQmlaR1JsTW1FelpqVTROVFF3WVdRMk9UQTRaREExTlRrM05UUW5MRnh1SUNBZ0lDQWdJQ0FuTkdJMlpHRmtNR0kxWVdVME5qSTFNRGN3TVROaFpEQTJNalExWW1FeE9UQmlZalE0TlRCbU5XWXpObUUzWldWa1pHWm1NbU15TnpVek5HSTBOVGhtTWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzBaVGRqTWpjeVlUZGhaalJpTXpSbE9HUmlZamt6TlRKaE5UUXhPV0U0TjJVeU9ETTRZemN3WVdSak5qSmpaR1JtTUdOak0yRXpZakE0Wm1Ka05UTmpKeXhjYmlBZ0lDQWdJQ0FnSnpFM056UTVZemMyTm1NNVpEQmlNVGhsTVRabVpEQTVaalprWldZMk9ERmlOVE13WWprMk1UUmlabVkzWkdRek0yVXdZak01TkRFNE1UZGtZMkZoWlRZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5abVZoTnpSbE0yUmlaVGMzT0dJeFlqRXdaakl6T0dGa05qRTJPRFpoWVRWak56WmxNMlJpTW1KbE5ETXdOVGMyTXpJME1qZGxNamcwTUdaaU1qZGlOaWNzWEc0Z0lDQWdJQ0FnSUNjMlpUQTFOamhrWWpsaU1HSXhNekk1TjJObU5qYzBaR1ZqWTJJMllXWTVNekV5Tm1JMU9UWmlPVGN6WmpkaU56YzNNREZrTTJSaU4yWXlNMk5pT1RabUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemMyWlRZME1URXpaalkzTjJObU1HVXhNR0V5TlRjd1pEVTVPVGsyT0dRek1UVTBOR1V4TnpsaU56WXdORE15T1RVeVl6QXlZVFEwTVRkaVpHUmxNemtuTEZ4dUlDQWdJQ0FnSUNBbll6a3daR1JtT0dSbFpUUmxPVFZqWmpVM056QTJObVEzTURZNE1XWXdaRE0xWlRKaE16TmtNbUkxTm1ReU1ETXlZalJpTVRjMU1tUXhPVEF4WVdNd01TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RqTnpNNFl6VTJZakF6WWpKaFltVXhaVGd5T0RGaVlXRTNORE5tT0dZNVlUaG1OMk5qTmpRelpHWXlObU5pWldVellXSXhOVEF5TkRKaVkySmlPRGt4Snl4Y2JpQWdJQ0FnSUNBZ0p6ZzVNMlppTlRjNE9UVXhZV1F5TlRNM1pqY3hPR1l5WldGalltWmlZbUppT0RJek1UUmxaV1kzT0Rnd1kyWmxPVEUzWlRjek5XUTVOams1WVRnMFl6TW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuWkRnNU5UWXlOalUwT0dJMk5XSTRNV1V5TmpSak56WXpOMk01TnpJNE56ZGtNV1EzTW1VMVpqTmhPVEkxTURFME16Y3laVGxtTmpVNE9HWTJZekUwWWljc1hHNGdJQ0FnSUNBZ0lDZG1aV0ptWVdFek9HWXlZbU0zWldGbE56STRaV00yTURneE9HTXpOREJsWWpBek5ESTRaRFl6TW1KaU1EWTNaVEUzT1RNMk0yVmtOelZrTjJRNU9URm1KMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJJNFpHRTVOREF6TW1FNU5UYzFNVGhsWWpCbU5qUXpNelUzTVdVNE56WXhZMlZtWm1NM016WTVNMlU0TkdWa1pEUTVNVFV3WVRVMk5HWTJOelpsTURNbkxGeHVJQ0FnSUNBZ0lDQW5Namd3TkdSbVlUUTBPREExWVRGbE5HUTNZems1WTJNNU56WXlPREE0WWpBNU1tTmpOVGcwWkRrMVptWXpZalV4TVRRNE9HVTBaVGMwWldaa1pqWmxOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbE9EQm1aV0V4TkRRME1XWmlNek5oTjJRNFlXUmhZamswTnpWa04yWmhZakl3TVRsbFptWmlOVEUxTm1FM09USm1NV0V4TVRjM09HVXpZekJrWmpWa0p5eGNiaUFnSUNBZ0lDQWdKMlZsWkRGa1pUZG1Oak00WlRBd056Y3haVGc1TnpZNFkyRXpZMkU1TkRRM01tUXhOVFZsT0RCaFpqTXlNbVZoT1daallqUXlPVEZpTm1Gak9XVmpOemduWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbllUTXdNVFk1TjJKa1ptTmtOekEwTXpFelltRTBPR1UxTVdRMU5qYzFORE5tTW1FeE9ESXdNekZsWm1RMk9URTFaR1JqTURkaVltTmpOR1V4TmpBM01DY3NYRzRnSUNBZ0lDQWdJQ2MzTXpjd1pqa3hZMlppTmpkbE5HWTFNRGd4T0RBNVptRXlOV1EwTUdZNVlqRTNNelZrWW1ZM1l6QmhNVEZoTVRNd1l6QmtNV0V3TkRGbE1UYzNaV0V4SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6a3dZV1E0TldJek9EbGtObUk1TXpZME5qTm1PV1F3TlRFeU5qYzRaR1V5TURoall6TXpNR0l4TVRNd04yWm1abUZpTjJGak5qTmxNMlppTURSbFpEUW5MRnh1SUNBZ0lDQWdJQ0FuWlRVd04yRXpOakl3WVRNNE1qWXhZV1ptWkdOaVpEazBNamN5TWpKaU9ETTVZV1ZtWVdKbE1UVTRNamc1TkdRNU9URmtOR1EwT0dOaU5tVm1NVFV3SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6aG1OamhpT1dReVpqWXpZalZtTXpNNU1qTTVZekZoWkRrNE1XWXhOakpsWlRnNFl6VTJOemczTWpObFlUTXpOVEZpTjJJME5EUmpPV1ZqTkdNd1pHRW5MRnh1SUNBZ0lDQWdJQ0FuTmpZeVlUbG1NbVJpWVRBMk16azRObVJsTVdRNU1HTXlZalppWlRJeE5XUmlZbVZoTW1ObVpUazFOVEV3WW1aa1pqSXpZMkptTnprMU1ERm1abVk0TWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGxOR1l6Wm1Jd01UYzJZV1k0TldRMk5XWm1PVGxtWmpreE9UaGpNell3T1RGbU5EaGxPRFkxTURNMk9ERmxNMlUyTmpnMlptUTFNRFV6TWpNeFpURXhKeXhjYmlBZ0lDQWdJQ0FnSnpGbE5qTTJNek5oWkRCbFpqUm1NV014TmpZeFlUWmtNR1ZoTURKaU56STRObU5qTjJVM05HVmpPVFV4WkRGak9UZ3lNbU16T0RVM05tWmxZamN6WW1NblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PR013TUdaaE9XSXhPR1ZpWmpNek1XVmlPVFl4TlRNM1lUUTFZVFF5Tmpaak56QXpOR1l5WmpCa05HVXhaREEzTVRabVlqWmxZV1V5TUdWaFpUSTVaU2NzWEc0Z0lDQWdJQ0FnSUNkbFptRTBOekkyTjJabFlUVXlNV0V4WVRsa1l6TTBNMkV6TnpNMll6azNOR015Wm1Ga1lXWmhPREZsTXpaak5UUmxOMlF5WVRSak5qWTNNREkwTVRSaUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlUzWVRJMlkyVTJPV1JrTkRneU9XWXpaVEV3WTJWak1HRTVaVGs0WldRek1UUXpaREE0TkdZek1EaGlPVEpqTURrNU4yWmtaR1pqTmpCallqTmxOREVuTEZ4dUlDQWdJQ0FnSUNBbk1tRTNOVGhsTXpBd1ptRTNPVGcwWWpRM01XSXdNRFpoTVdGaFptSmlNVGhrTUdFMllqSmpNRFF5TUdVNE0yVXlNR1U0WVRrME1qRmpaakpqWm1RMU1TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RpTmpRMU9XVXdaV1V6TmpZeVpXTTRaREl6TlRRd1l6SXlNMkpqWW1Sak5UY3hZMkpqWWprMk4yUTNPVFF5TkdZelkyWXlPV1ZpTTJSbE5tSTRNR1ZtSnl4Y2JpQWdJQ0FnSUNBZ0p6WTNZemczTm1Rd05tWXpaVEEyWkdVeFpHRmtaakUyWlRVMk5qRmtZak5qTkdJellXVTJaRFE0WlRNMVlqSm1aak13WW1Zd1lqWXhZVGN4WW1FME5TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTmpoaE9EQmpPREk0TUdKaU9EUXdOemt6TWpNMFlXRXhNVGhtTURZeU16RmtObVl4Wm1NMk4yVTNNMk0xWVRWa1pXUmhNR1kxWWpRNU5qazBNMlU0Snl4Y2JpQWdJQ0FnSUNBZ0oyUmlPR0poT1dabVpqUmlOVGcyWkRBd1l6UmlNV1k1TVRjM1lqQmxNamhpTldJd1pUZGlPR1kzT0RRMU1qazFZVEk1TkdNNE5ESTJObUl4TXpNeE1qQW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpJMFlXVmtOMlJtTmpWak9EQTBNalV5WkdNd01qY3dPVEEzWVRNd1lqQTVOakV5WVdWaU9UY3pORFE1WTJWaE5EQTVOVGs0TUdaak1qaGtNMlExWkNjc1hHNGdJQ0FnSUNBZ0lDYzJORGhoTXpZMU56YzBZall4WmpKbVpqRXpNR013WXpNMVlXVmpNV1kwWmpFNU1qRXpZakJqTjJVek16STRORE01TmpjeU1qUmhaamsyWVdJM1l6ZzBKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpSa1pqbGpNVFE1TVRsalpHVTJNV1kyWkRVeFpHWmtZbVUxWm1WbE5XUmpaV1ZqTkRFME0ySmhPR1F4WTJFNE9EaGxPR0prTXpjelptUXdOVFJqT1RZbkxGeHVJQ0FnSUNBZ0lDQW5NelZsWXpVeE1Ea3laRGczTWpnd05UQTVOelJqTWpOaE1XUTROV1EwWWpWa05UQTJZMlJqTWpnNE5Ea3dNVGt5WldKaFl6QTJZMkZrTVRCa05XUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT1dNek9URTVZVGcwWVRRM05EZzNNR1poWldRNFlUbGpNV05qTmpZd01qRTFNak0wT0Rrd05UUmtOMll3TXpBNFkySm1Zems1WXpoaFl6Rm1PVGhqWkNjc1hHNGdJQ0FnSUNBZ0lDZGtaR0k0TkdZd1pqUmhOR1JrWkRVM05UZzBaakEwTkdKbU1qWXdaVFkwTVRrd05UTXlObVkzTm1NMk5HTTRaVFppWlRkbE5XVXdNMlEwWm1NMU9UbGtKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpZd05UY3hOekJpTVdSa01USm1aR1k0WkdVd05XWXlPREZrT0dVd05tSmlPVEZsTVRRNU0yRTRZamt4WkRSall6VmhNakV6T0RJeE1qQmhPVFU1WlRVbkxGeHVJQ0FnSUNBZ0lDQW5PV0V4WVdZd1lqSTJZVFpoTkRnd04yRmtaRGxoTW1SaFpqY3haR1l5TmpJME5qVXhOVEppWXpObFpUSTBZelkxWlRnNU9XSmxPVE15TXpnMVlUSmhPQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaE5UYzJaR1k0WlRJellUQTROREV4TkRJeE5ETTVZVFExTVRoa1lUTXhPRGd3WTJWbU1HWmlZVGRrTkdSbU1USmlNV0UyT1RjelpXVmpZamswTWpZMkp5eGNiaUFnSUNBZ0lDQWdKelF3WVRaaVpqSXdaVGMyTmpRd1lqSmpPVEppT1RkaFptVTFPR05rT0RKak5ETXlaVEV3WVRkbU5URTBaRGxtTTJWbE9HSmxNVEZoWlRGaU1qaGxZemduWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk56YzNPR0UzT0dNeU9HUmxZek5sTXpCaE1EVm1aVGsyTWpsa1pUaGpNemhpWWpNd1pERm1OV05tT1dFellUSXdPR1kzTmpNNE9EbGlaVFU0WVdRM01TY3NYRzRnSUNBZ0lDQWdJQ2N6TkRZeU5tUTVZV0kxWVRWaU1qSm1aamN3T1RobE1USm1NbVptTlRnd01EZzNZak00TkRFeFptWXlOR0ZqTlRZellqVXhNMlpqTVdaa09XWTBNMkZqSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6a3lPRGsxTldWbE5qTTNZVGcwTkRZek56STVabVF6TUdVM1lXWmtNbVZrTldZNU5qSTNOR1UxWVdRM1pUVmpZakE1WldSaE9XTXdObVE1TUROaFl5Y3NYRzRnSUNBZ0lDQWdJQ2RqTWpVMk1qRXdNRE5rTTJZME1tRTRNamRpTnpoaE1UTXdPVE5oT1RWbFpXRmpNMlF5Tm1WbVlUaGhPR1E0TTJaak5URTRNR1U1TXpWaVkyUXdPVEZtSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6ZzFaREJtWldZelpXTTJaR0l4TURrek9Ua3dOalJtTTJFd1pUTmlNamcxTlRZME5XSTBZVGt3TjJGa016VTBOVEkzWVdGbE56VXhOak5rT0RJM05URW5MRnh1SUNBZ0lDQWdJQ0FuTVdZd016WTBPRFF4TTJFek9HTXdZbVV5T1dRME9UWmxOVGd5WTJZMU5qWXpaVGczTlRGbE9UWTROemN6TXpFMU9ESmpNak0zWVRJMFpXSXhaamsyTWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZG1aakppTUdSalpUazNaV1ZqWlRrM1l6RmpPV0kyTURReE56azRZamcxWkdaa1ptSTJaRGc0T0RKa1lUSXdNekE0WmpVME1EUTRNalExTWpZd09EZGxKeXhjYmlBZ0lDQWdJQ0FnSnpRNU0yUXhNMlpsWmpVeU5HSmhNVGc0WVdZMFl6UmtZelUwWkRBM09UTTJZemRpTjJWa05tWmlPVEJsTW1ObFlqSmpPVFV4WlRBeFpqQmpNams1TURjblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PREkzWm1KaVpUUmlNV1U0T0RCbFlUbGxaREppTW1VMk16QXhZakl4TW1JMU4yWXhaV1V4TkRoalpEWmtaREk0Tnpnd1pUVmxNbU5tT0RVMlpUSTBNU2NzWEc0Z0lDQWdJQ0FnSUNkak5qQm1PV001TWpOak56STNZakJpTnpGaVpXWXlZelkzWkRGa01USTJPRGRtWmpkaE5qTXhPRFk1TURNeE5qWmtOakExWWpZNFltRmxZekk1TTJWakoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlZoWVRZME9XWXlNV1kxTVdKa1ltRmxOMkpsTkdGbE16UmpaVFpsTlRJeE4yRTFPR1prWTJVM1pqUTNaamxoWVRkbU0ySTFPR1poTWpFeU1HVXlZak1uTEZ4dUlDQWdJQ0FnSUNBblltVXpNamM1WldRMVltSmlZakF6WVdNMk9XRTRNR1k0T1RnM09XRmhOV0V3TVdFMllqazJOV1l4TTJZM1pUVTVaRFEzWVRVek1EVmlZVFZoWkRrelpDZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RsTkdFME1tUTBNMk0xWTJZeE5qbGtPVE01TVdSbU5tUmxZMlkwTW1WbE5UUXhZalprT0dZd1l6bGhNVE0zTkRBeFpUSXpOak15WkdSaE16UmtNalJtSnl4Y2JpQWdJQ0FnSUNBZ0p6UmtPV1k1TW1VM01UWmtNV00zTXpVeU5tWmpPVGxqWTJaaU9HRmtNelJqWlRnNE5tVmxaR1poT0dRNFpUUm1NVE5oTjJZM01UTXhaR1ZpWVRrME1UUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTVdWak9EQm1aV1l6TmpCalltUmtPVFUwTVRZd1ptRmtZV0l6TlRKaU5tSTVNbUkxTXpVM05tRTRPR1psWVRRNU5EY3hOek5pT1dRME16QXdZbVl4T1Njc1hHNGdJQ0FnSUNBZ0lDZGhaV1ZtWlRrek56VTJZalV6TkRCa01tWXpZVFE1TlRoaE4yRmlZbVkxWlRBeE5EWmxOemRtTmpJNU5XRXdOMkkyTnpGalpHTXhZMk14TURkalpXWmtKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFME5tRTNOemhqTURRMk56QmpNbVk1TVdJd01HRm1ORFk0TUdSbVlUaGlZMlV6TkRrd056RTNaRFU0WW1FNE9EbGtaR0kxT1RJNE16WTJOalF5WW1VbkxGeHVJQ0FnSUNBZ0lDQW5Zak14T0dVd1pXTXpNelUwTURJNFlXUmtOalk1T0RJM1pqbGtOR0l5T0Rjd1lXRmhPVGN4WkRKbU4yVTFaV1F4WkRCaU1qazNORGd6WkRnelpXWmtNQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbVlUVXdZekJtTmpGa01qSmxOV1l3TjJVellXTmxZbUl4WVdFd04ySXhNamhrTURBeE1qSXdPV0V5T0dJNU56YzJaRGMyWVRnM09UTXhPREJsWldZNUp5eGNiaUFnSUNBZ0lDQWdKelppT0RSak5qa3lNak01TjJWaVlUbGlOekpqWkRJNE56SXlPREZoTmpoaE5XVTJPRE15T1ROaE5UZGhNakV6WWpNNFkyUTRaRGRrTTJZMFpqSTRNVEVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpHRXhaRFl4WkRCallUY3lNV0V4TVdJeFlUVmlaalppTjJRNE9HVTROREl4WVRJNE9HRmlOV1ExWW1KaE5USXlNR1UxTTJRek1tSTFaakEyTjJWak1pY3NYRzRnSUNBZ0lDQWdJQ2M0TVRVM1pqVTFZVGRqT1Rrek1EWmpOemxqTURjMk5qRTJNV001TVdVeU9UWTJZVGN6T0RrNVpESTNPV0kwT0dFMk5UVm1ZbUV3WmpGaFpEZ3pObVl4SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyRTRaVEk0TW1abU1HTTVOekEyT1RBM01qRTFabVk1T0dVNFptUTBNVFkyTVRVek1URmtaVEEwTkRabU1XVXdOakpoTnpOaU1EWXhNR1F3TmpSbE1UTW5MRnh1SUNBZ0lDQWdJQ0FuTjJZNU56TTFOV0k0WkdJNE1XTXdPV0ZpWm1JM1pqTmpOV0l5TlRFMU9EZzRZalkzT1dFelpUVXdaR1EyWW1RMlkyVm1OMk0zTXpFeE1XWTBZMk13WXlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3hOelJoTlROaU9XTTVZVEk0TlRnM01tUXpPV1UxTm1VMk9URXpZMkZpTVRWa05UbGlNV1poTlRFeU5UQTRZekF5TW1Zek9ESmtaVGd6TVRrME9UZGpKeXhjYmlBZ0lDQWdJQ0FnSjJOall6bGtZek0zWVdKbVl6bGpNVFkxTjJJME1UVTFaakpqTkRkbU9XVTJOalEyWWpOaE1XUTRZMkk1T0RVME16Z3paR0V4TTJGak1EYzVZV1poTnpNblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PVFU1TXprMk9UZ3hPVFF6TnpnMVl6TmtNMlUxTjJWa1pqVXdNVGhqWkdKbE1ETTVaVGN6TUdVME9URTRZak5rT0RnMFptUm1aakE1TkRjMVlqZGlZU2NzWEc0Z0lDQWdJQ0FnSUNjeVpUZGxOVFV5T0RnNFl6TXpNV1JrT0dKaE1ETTRObUUwWWpsalpEWTRORGxqTmpVelpqWTBZemczTURrek9EVmxPV0k0WVdKbU9EYzFNalJtTW1aa0oxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlF5WVRZellUVXdZV1UwTURGbE5UWmtOalExWVRFeE5UTmlNVEE1WVRobVkyTmhNR0UwTTJRMU5qRm1ZbUV5WkdKaU5URXpOREJqT1dRNE1tSXhOVEVuTEZ4dUlDQWdJQ0FnSUNBblpUZ3laRGcyWm1JMk5EUXpabU5pTnpVMk5XRmxaVFU0WWpJNU5EZ3lNakJoTnpCbU56VXdZV1kwT0RSallUVXlaRFF4TkRJeE56UmtZMlk0T1RRd05TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MyTkRVNE4yVXlNek0xTkRjeFpXSTRPVEJsWlRjNE9UWmtOMk5tWkdNNE5qWmlZV05pWkdKa016Z3pPVE14TjJJek5ETTJaamxpTkRVMk1UZGxNRGN6Snl4Y2JpQWdJQ0FnSUNBZ0oyUTVPV1pqWkdRMVltWTJPVEF5WlRKaFpUazJaR1EyTkRRM1l6STVPV0V4T0RWaU9UQmhNemt4TXpOaFpXRmlNelU0TWprNVpUVmxPV1poWmpZMU9Ea25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0RRNE1XSmtaVEJsTkdVMFpEZzROV0l6WVRVME5tUXpaVFUwT1dSbE1EUXlaakJoWVRaalpXRXlOVEJsTjJaa016VTRaRFpqT0Raa1pEUTFaVFExT0Njc1hHNGdJQ0FnSUNBZ0lDY3pPR1ZsTjJJNFkySmhOVFF3TkdSa09EUmhNalZpWmpNNVkyVmpZakpqWVRrd01HRTNPV00wTW1JeU5qSmxOVFUyWkRZMFlqRmlOVGszTnprd05UZGxKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFek5EWTBZVFUzWVRjNE1UQXlZV0UyTW1JMk9UYzVZV1U0TVRkbU5EWXpOMlptWTJabFpETmpOR0l4WTJVek1HSmpaRFl6TURObU5tTmhaalkyTm1JbkxGeHVJQ0FnSUNBZ0lDQW5OamxpWlRFMU9UQXdORFl4TkRVNE1HVm1OMlUwTXpNME5UTmpZMkl3WTJFME9HWXpNREJoT0RGa01EazBNbVV4TTJZME9UVmhPVEEzWmpabFkyTXlOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaVl6UmhPV1JtTldJM01UTm1aVEpsT1dGbFpqUXpNR0pqWXpGa1l6azNZVEJqWkRsalkyVmtaVEptTWpnMU9EaGpZV1JoTTJFd1pESmtPRE5tTXpZMkp5eGNiaUFnSUNBZ0lDQWdKMlF6WVRneFkyRTJaVGM0TldNd05qTTRNemt6TjJGa1pqUmlOems0WTJGaE5tVTRZVGxtWW1aaE5UUTNZakUyWkRjMU9HUTJOalkxT0RGbU16TmpNU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjNFl6STRZVGszWW1ZNE1qazRZbU13WkRJelpEaGpOelE1TkRVeVlUTXlaVFk1TkdJMk5XVXpNR0U1TkRjeVlUTTVOVFJoWWpNd1ptVTFNekkwWTJGaEp5eGNiaUFnSUNBZ0lDQWdKelF3WVRNd05EWXpZVE16TURVeE9UTXpOemhtWldSbU16Rm1OMk5qTUdWaU4yRmxOemcwWmpBME5URmpZamswTlRsbE56RmtZemN6WTJKbFpqazBPREluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk9HVmhPVFkyTmpFek9UVXlOMkU0WXpGa1pEazBZMlUwWmpBM01XWmtNak5qT0dJek5UQmpOV0UwWW1Jek16YzBPR00wWW1FeE1URm1ZV05qWVdVd0p5eGNiaUFnSUNBZ0lDQWdKell5TUdWbVlXSmlZemhsWlRJM09ESmxNalJsTjJNd1kyWmlPVFZqTldRM016VmlOemd6WW1VNVkyWXdaamhsT1RVMVlXWXpOR0V6TUdVMk1tSTVORFVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpHUXpOakkxWm1GbFpqVmlZVEEyTURjME5qWTVOekUyWW1Ka016YzRPR1E0T1dKa1pHVTRNVFU1TlRrNU5qZ3dPVEptTnpaall6UmxZamxoT1RjNE55Y3NYRzRnSUNBZ0lDQWdJQ2MzWVRFNE9HWmhNelV5TUdVek1HUTBOakZrWVRJMU1ERXdORFUzTXpGallUazBNVFEyTVRrNE1qZzRNek01TlRrek4yWTJPR1F3TUdNMk5EUmhOVGN6SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyWTNNVEJrTnpsa09XVmlPVFl5TWprM1pUUm1Oakl6TW1JME1HVTRaamRtWldJeVltTTJNemd4TkRZeE5HUTJPVEpqTVRKa1pUYzFNalF3T0RJeU1XVW5MRnh1SUNBZ0lDQWdJQ0FuWldFNU9HVTJOekl6TW1RellqTXlPVFZrTTJJMU16VTFNekl4TVRWalkyRmpPRFl4TW1NM01qRTROVEUyTVRjMU1qWmhaVFEzWVRsak56ZGlabU00TWlkY2JpQWdJQ0FnSUYxY2JpQWdJQ0JkWEc0Z0lIMHNYRzRnSUc1aFpqb2dlMXh1SUNBZ0lIZHVaRG9nTnl4Y2JpQWdJQ0J3YjJsdWRITTZJRnRjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJZNU16QTRZVEF4T1RJMU9HTXpNVEEwT1RNME5HWTROV1k0T1dRMU1qSTVZalV6TVdNNE5EVTRNelptT1RsaU1EZzJNREZtTVRFelltTmxNRE0yWmprbkxGeHVJQ0FnSUNBZ0lDQW5Nemc0WmpkaU1HWTJNekprWlRneE5EQm1aVE16TjJVMk1tRXpOMll6TlRZMk5UQXdZVGs1T1RNMFl6SXlNekZpTm1OaU9XWmtOelU0TkdJNFpUWTNNaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjeVpqaGlaR1UwWkRGaE1EY3lNRGt6TlRWaU5HRTNNalV3WVRWak5URXlPR1U0T0dJNE5HSmtaR00yTVRsaFlqZGpZbUU0WkRVMk9XSXlOREJsWm1VMEp5eGNiaUFnSUNBZ0lDQWdKMlE0WVdNeU1qSTJNelpsTldVelpEWmtOR1JpWVRsa1pHRTJZemxqTkRJMlpqYzRPREkzTVdKaFlqQmtOamcwTUdSallUZzNaRE5oWVRaaFl6WXlaRFluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk5XTmlaR1l3TmpRMlpUVmtZalJsWVdFek9UaG1NelkxWmpKbFlUZGhNR1V6WkRReE9XSTNaVEF6TXpCbE16bGpaVGt5WW1Sa1pXUmpZV00wWmpsaVl5Y3NYRzRnSUNBZ0lDQWdJQ2MyWVdWaVkyRTBNR0poTWpVMU9UWXdZVE14Tnpoa05tUTROakZoTlRSa1ltRTRNVE5rTUdJNE1UTm1aR1UzWWpWaE5UQTRNall5T0RBNE56STJOR1JoSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyRmpaRFE0TkdVeVpqQmpOMlkyTlRNd09XRmtNVGM0WVRsbU5UVTVZV0prWlRBNU56azJPVGMwWXpVM1pUY3hOR016TldZeE1UQmtabU15TjJOalltVW5MRnh1SUNBZ0lDQWdJQ0FuWTJNek16ZzVNakZpTUdFM1pEbG1aRFkwTXpnd09UY3hOell6WWpZeFpUbGhaR1E0T0RoaE5ETTNOV1k0WlRCbU1EVmpZekkyTW1Gak5qUm1PV016TnlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzNOelJoWlRkbU9EVTRZVGswTVRGbE5XVm1OREkwTm1JM01HTTJOV0ZoWXpVMk5EazVPREJpWlRWak1UYzRPVEZpWW1Wak1UYzRPVFZrWVRBd09HTmlKeXhjYmlBZ0lDQWdJQ0FnSjJRNU9EUmhNRE15WldJMllqVmxNVGt3TWpRelpHUTFObVEzWWpkaU16WTFNemN5WkdJeFpUSmtabVk1WkRaaE9ETXdNV1EzTkdNNVl6azFNMk0yTVdJblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aakk0Tnpjell6SmtPVGMxTWpnNFltTTNaREZrTWpBMVl6TTNORGcyTlRGaU1EYzFabUpqTmpZeE1HVTFPR05rWkdWbFpHUm1PR1l4T1RRd05XRmhPQ2NzWEc0Z0lDQWdJQ0FnSUNkaFlqQTVNREpsT0dRNE9EQmhPRGszTlRneU1USmxZalkxWTJSaFpqUTNNMkV4WVRBMlpHRTFNakZtWVRreFpqSTVZalZqWWpVeVpHSXdNMlZrT0RFblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aRGM1TWpSa05HWTNaRFF6WldFNU5qVmhORFkxWVdVek1EazFabVkwTVRFek1XVTFPVFEyWmpOak9EVm1OemxsTkRSaFpHSmpaamhsTWpkbE1EZ3daU2NzWEc0Z0lDQWdJQ0FnSUNjMU9ERmxNamczTW1FNE5tTTNNbUUyT0RNNE5ESmxZekl5T0dOak5tUmxabVZoTkRCaFpqSmlaRGc1Tm1RellUVmpOVEEwWkdNNVptWTJZVEkyWWpVNEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlJsWm1SbFlUUmpaR0kyTnpjM05UQmhOREl3Wm1WbE9EQTNaV0ZqWmpJeFpXSTVPRGs0WVdVM09XSTVOelk0TnpZMlpUUm1ZV0V3TkdFeVpEUmhNelFuTEZ4dUlDQWdJQ0FnSUNBbk5ESXhNV0ZpTURZNU5EWXpOVEUyT0dVNU9UZGlNR1ZoWkRKaE9UTmtZV1ZqWldReFpqUmhNRFJoT1RWak1HWTJZMlppTVRrNVpqWTVaVFUyWldJM055ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2N5WWpSbFlUQmhOemszWVRRME0yUXlPVE5sWmpWalptWTBORFJtTkRrM09XWXdObUZqWm1WaVpEZGxPRFprTWpjM05EYzFOalUyTVRNNE16ZzFZalpqSnl4Y2JpQWdJQ0FnSUNBZ0p6ZzFaVGc1WW1Nd016YzVORFZrT1ROaU16UXpNRGd6WWpWaE1XTTROakV6TVdFd01XWTJNR00xTURJMk9UYzJNMkkxTnpCak9EVTBaVFZqTURsaU4yRW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpVeVltSm1OR0UwWTJSa01USTFOalJtT1RObVlUTXpNbU5sTXpNek16QXhaRGxoWkRRd01qY3haamd4TURjeE9ERXpOREJoWldZeU5XSmxOVGxrTlNjc1hHNGdJQ0FnSUNBZ0lDY3pNakZsWWpRd056VXpORGhtTlRNMFpEVTVZekU0TWpVNVpHUmhNMlV4WmpSaE1XSXpZakpsTnpGaU1UQXpPV00yTjJKa00yUTRZbU5tT0RFNU9UaGpKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpKbVlUSXhNRFJrTm1Jek9HUXhNV0l3TWpNd01ERXdOVFU1T0RjNU1USTBaVFF5WVdJNFpHWmxabVkxWm1ZeU9XUmpPV05rWVdSa05HVmpZV05qTTJZbkxGeHVJQ0FnSUNBZ0lDQW5NbVJsTVRBMk9ESTVOV1JrT0RZMVlqWTBOVFk1TXpNMVltUTFaR1E0TURFNE1XUTNNR1ZqWm1NNE9ESTJORGcwTWpOaVlUYzJZalV6TW1JM1pEWTNKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpreU5EZ3lOemxpTURsaU5HUTJPR1JoWWpJeFlUbGlNRFkyWldSa1lUZ3pNall6WXpOa09EUmxNRGsxTnpKbE1qWTVZMkV3WTJRM1pqVTBOVE0zTVRRbkxGeHVJQ0FnSUNBZ0lDQW5Oek13TVRabU4ySm1Nak0wWVdGa1pUVmtNV0ZoTnpGaVpHVmhNbUl4Wm1ZelptTXdaR1V5WVRnNE56a3hNbVptWlRVMFlUTXlZMlU1TjJOaU16UXdNaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNka1lXVmtOR1l5WW1VellUaGlaakkzT0dVM01ERXpNbVppTUdKbFlqYzFNakptTlRjd1pURTBOR0ptTmpFMVl6QTNaVGs1Tm1RME5ETmtaV1U0TnpJNUp5eGNiaUFnSUNBZ0lDQWdKMkUyT1dSalpUUmhOMlEyWXprNFpUaGtOR0V4WVdOaE9EZGxaamhrTnpBd00yWTRNMk15TXpCbU0yRm1ZVGN5Tm1GaU5EQmxOVEl5T1RCaVpURmpOVFVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbll6UTBaREV5WXpjd05qVmtPREV5WlRoaFkyWXlPR1EzWTJKaU1UbG1PVEF4TVdWalpEbGxPV1prWmpJNE1XSXdaVFpoTTJJMVpUZzNaREl5WlRka1lpY3NYRzRnSUNBZ0lDQWdJQ2N5TVRFNVlUUTJNR05sTXpJMlkyUmpOelpqTkRVNU1qWmpPVGd5Wm1SaFl6QmxNVEEyWlRnMk1XVmtaall4WXpWaE1ETTVNRFl6WmpCbE1HVTJORGd5SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6WmhNalExWW1ZMlpHTTJPVGcxTURSak9EbGhNakJqWm1SbFpEWXdPRFV6TVRVeVlqWTVOVE16Tm1NeU9EQTJNMkkyTVdNMk5XTmlaREkyT1dVMllqUW5MRnh1SUNBZ0lDQWdJQ0FuWlRBeU1tTm1OREpqTW1Ka05HRTNNRGhpTTJZMU1USTJaakUyWVRJMFlXUTRZak16WW1FME9HUXdOREl6WWpabFptUTFaVFl6TkRneE1EQmtPR0U0TWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3hOamszWm1aaE5tWmtPV1JsTmpJM1l6QTNOMlV6WkRKbVpUVTBNVEE0TkdObE1UTXpNREJpTUdKbFl6RXhORFptT1RWaFpUVTNaakJrTUdKa05tRTFKeXhjYmlBZ0lDQWdJQ0FnSjJJNVl6TTVPR1l4T0RZNE1EWm1OV1F5TnpVMk1UVXdObVUwTlRVM05ETXpZVEpqWmpFMU1EQTVaVFE1T0dGbE4yRmtaV1U1WkRZelpEQXhZakl6T1RZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OakExWW1SaU1ERTVPVGd4TnpFNFlqazRObVF3WmpBM1pUZ3pOR05pTUdRNVpHVmlPRE0yTUdabVlqZG1OakZrWmprNE1qTTBOV1ZtTWpkaE56UTNPU2NzWEc0Z0lDQWdJQ0FnSUNjeU9UY3laREprWlRSbU9HUXlNRFk0TVdFM09HUTVNMlZqT1RabVpUSXpZekkyWW1aaFpUZzBabUl4TkdSaU5ETmlNREZsTVdVNU1EVTJZamhqTkRrblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OakprTVRSa1lXSTBNVFV3WW1ZME9UYzBNREptWkdNME5XRXlNVFZsTVRCa1kySXdNV016TlRRNU5UbGlNVEJqWm1Vek1XTTNaVGxrT0RkbVpqTXpaQ2NzWEc0Z0lDQWdJQ0FnSUNjNE1HWmpNRFppWkRoall6VmlNREV3T1Rnd09EaGhNVGsxTUdWbFpEQmtZakF4WVdFeE16STVOamRoWWpRM01qSXpOV1kxTmpReU5EZ3pZakkxWldGbUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemd3WXpZd1lXUXdNRFF3WmpJM1pHRmtaVFZpTkdJd05tTTBNRGhsTlRaaU1tTTFNR1U1WmpVMllqbGlPR0kwTWpWbE5UVTFZekptT0RZek1EaGlObVluTEZ4dUlDQWdJQ0FnSUNBbk1XTXpPRE13TTJZeFkyTTFZek13WmpJMlpUWTJZbUZrTjJabE56Sm1OekJoTmpWbFpXUTBZMkpsTnpBeU5HVmlNV0ZoTURGbU5UWTBNekJpWkRVM1lTZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzWVRrek56VmhaRFl4TmpkaFpEVTBZV0UzTkdNMk16UTRZMk0xTkdRek5EUmpZelZrWXprME9EZGtPRFEzTURRNVpEVmxZV0ppTUdaaE1ETmpPR1ppSnl4Y2JpQWdJQ0FnSUNBZ0oyUXdaVE5tWVRsbFkyRTROekkyT1RBNU5UVTVaVEJrTnpreU5qa3dORFppWkdNMU9XVmhNVEJqTnpCalpUSmlNREprTkRrNVpXTXlNalJrWXpkbU55ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTlRJNFpXTmtPV0kyT1RaaU5UUmpPVEEzWVRsbFpEQTBOVFEwTjJFM09XSmlOREE0WldNek9XSTJPR1JtTlRBMFltSTFNV1kwTlRsaVl6Tm1abU01Snl4Y2JpQWdJQ0FnSUNBZ0oyVmxZMlkwTVRJMU16RXpObVUxWmprNU9UWTJaakl4T0RneFptUTJOVFpsWW1NME16UTFOREExWXpVeU1HUmlZekEyTXpRMk5XSTFNakUwTURrNU16TW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTkRrek56QmhOR0kxWmpRek5ERXlaV0V5TldZMU1UUmxPR1ZqWkdGa01EVXlOall4TVRWbE5HRTNaV05pTVRNNE56SXpNVGd3T0dZNFlqUTFPVFl6Snl4Y2JpQWdJQ0FnSUNBZ0p6YzFPR1l6WmpReFlXWmtObVZrTkRJNFlqTXdPREZpTURVeE1tWmtOakpoTlRSak0yWXpZV1ppWWpWaU5qYzJOR0kyTlRNd05USmhNVEk1TkRsak9XRW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTnpkbU1qTXdPVE0yWldVNE9HTmlZbVEzTTJSbU9UTXdaRFkwTnpBeVpXWTRPREZrT0RFeFpUQmxNVFE1T0dVeVpqRmpNVE5sWWpGbVl6TTBOV1EzTkNjc1hHNGdJQ0FnSUNBZ0lDYzVOVGhsWmpReVlUYzRPRFppTmpRd01HRXdPREkyTm1VNVltRXhZak0zT0RrMll6azFNek13WkRrM01EYzNZMkppWlRobFlqTmpOelkzTVdNMk1HUTJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJZeVpHRmpPVGt4WTJNMFkyVTBZamxsWVRRME9EZzNaVFZqTjJNd1ltTmxOVGhqT0RBd056UmhZamxrTkdSaVlXVmlNamcxTXpGaU56Y3pPV1kxTXpBbkxGeHVJQ0FnSUNBZ0lDQW5aVEJrWldSak9XSXpZakptT0dSaFpEUmtZVEZtTXpKa1pXTXlOVE14WkdZNVpXSTFabUpsWWpBMU9UaGxOR1prTVdFeE1UZGtZbUUzTUROaE0yTXpOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjME5qTmlNMlE1WmpZMk1qWXlNV1ppTVdJMFltVTRabUppWlRJMU1qQXhNalZoTWpFMlkyUm1ZemxrWVdVelpHVmlZMkpoTkRnMU1HTTJPVEJrTkRWaUp5eGNiaUFnSUNBZ0lDQWdKelZsWkRRek1HUTNPR015T1Raak16VTBNekV4TkRNd05tUmtPRFl5TW1RM1l6WXlNbVV5TjJNNU56QmhNV1JsTXpGallqTTNOMkl3TVdGbU56TXdOMlVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpqRTJaamd3TkRJME5HVTBObVV5WVRBNU1qTXlaRFJoWm1ZellqVTVPVGMyWWprNFptRmpNVFF6TWpoaE1tUXhZVE15TkRrMllqUTVPVGs0WmpJME55Y3NYRzRnSUNBZ0lDQWdJQ2RqWldSaFltUTVZamd5TWpBelpqZGxNVE5rTWpBMlptTmtaalJsTXpOa09USmhObU0xTTJNeU5tVTFZMk5sTWpaa05qVTNPVGsyTW1NMFpUTXhaR1kySjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyTmhaamMxTkRJM01tUmpPRFExTmpOaU1ETTFNbUkzWVRFME16RXhZV1kxTldReU5EVXpNVFZoWTJVeU4yTTJOVE0yT1dVeE5XWTNNVFV4WkRReFpERW5MRnh1SUNBZ0lDQWdJQ0FuWTJJME56UTJOakJsWmpNMVpqVm1NbUUwTVdJMk5ETm1ZVFZsTkRZd05UYzFaalJtWVRsaU56azJNakl6TW1FMVl6TXlaamt3T0RNeE9HRXdORFEzTmlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3lOakF3WTJFMFlqSTRNbU5pT1RnMlpqZzFaREJtTVRjd09UazNPV1E0WWpRMFlUQTVZekEzWTJJNE5tUTNZekV5TkRRNU4ySmpPRFptTURneU1USXdKeXhjYmlBZ0lDQWdJQ0FnSnpReE1UbGlPRGczTlROak1UVmlaRFpoTmprellqQXpabU5rWkdKaU5EVmtOV0ZqTm1KbE56UmhZalZtTUdWbU5EUmlNR0psT1RRM05XRTNaVFJpTkRBblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5Oell6TldOaE56SmtOMlU0TkRNeVl6TXpPR1ZqTlROalpERXlNakl3WW1Nd01XTTBPRFk0TldVeU5HWTNaR000WXpZd01tRTNOelEyT1RrNFpUUXpOU2NzWEc0Z0lDQWdJQ0FnSUNjNU1XSTJORGsyTURrME9EbGtOakV6WkRGa05XVTFPVEJtTnpobE5tUTNOR1ZqWm1Nd05qRmtOVGN3TkRoaVlXUTVaVGMyWmpNd01tTTFZamxqTmpFblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OelUwWlRNeU16bG1NekkxTlRjd1kyUmlZbVkwWVRnM1pHVmxaVGhoTmpaaU4yWXlZak16TkRjNVpEUTJPR1ppWXpGaE5UQTNORE5pWmpVMlkyTXhPQ2NzWEc0Z0lDQWdJQ0FnSUNjMk56Tm1ZamcyWlRWaVpHRXpNR1ppTTJOa01HVmtNekEwWldFME9XRXdNak5sWlRNelpEQXhPVGRoTmprMVpEQmpOV1E1T0RBNU0yTTFNelkyT0RNblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aVE5sTm1Ka01UQTNNV0V4WlRrMllXWm1OVGM0TlRsak9ESmtOVGN3WmpBek16QTRNREEyTmpGa01XTTVOVEptT1dabE1qWTVORFk1TVdRNVlqbGxPQ2NzWEc0Z0lDQWdJQ0FnSUNjMU9XTTVaVEJpWW1Fek9UUmxOelptTkRCak1HRmhOVGd6TnpsaE0yTmlObUUxWVRJeU9ETTVPVE5sT1RCak5ERTJOekF3TW1GbU5Ea3lNR1V6TjJZMUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKekU0Tm1JME9ETmtNRFUyWVRBek16Z3lObUZsTnpOa09EaG1Oek15T1RnMVl6UmpZMkl4WmpNeVltRXpOV1kwWWpSall6UTNabVJqWmpBMFlXRTJaV0luTEZ4dUlDQWdJQ0FnSUNBbk0ySTVOVEprTXpKak5qZGpaamMzWlRKbE1UYzBORFpsTWpBME1UZ3dZV0l5TVdaaU9EQTVNRGc1TlRFek9HSTBZVFJoTnprM1pqZzJaVGd3T0RnNFlpZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrWmpsa056QmhObUk1T0RjMlkyVTFORFJqT1RnMU5qRm1OR0psTkdZM01qVTBOREpsTm1ReVlqY3pOMlE1WXpreFlUZ3pNakUzTWpSalpUQTVOak5tSnl4Y2JpQWdJQ0FnSUNBZ0p6VTFaV0l5WkdGbVpEZzBaRFpqWTJRMVpqZzJNbUkzT0RWa1l6TTVaRFJoWWpFMU56SXlNamN5TUdWbU9XUmhNakUzWWpoak5EVmpaakppWVRJME1UY25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTldWa1pEVmpZekl6WXpVeFpUZzNZVFE1TjJOaE9ERTFaRFZrWTJVd1pqaGhZalV5TlRVMFpqZzBPV1ZrT0RrNU5XUmxOalJqTldZek5HTmxOekUwTXljc1hHNGdJQ0FnSUNBZ0lDZGxabUZsT1dNNFpHSmpNVFF4TXpBMk5qRmxPR05sWXpBek1HTTRPV0ZrTUdNeE0yTTJObU13WkRFM1lUSTVNRFZqWkdNM01EWmhZamN6T1RsaE9EWTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpJNU1EYzVPR015WWpZME56WTRNekJrWVRFeVptVXdNakk0TjJVNVpUYzNOMkZoTTJaaVlURmpNelUxWWpFM1lUY3lNbVF6TmpKbU9EUTJNVFJtWW1FbkxGeHVJQ0FnSUNBZ0lDQW5aVE00WkdFM05tUmpaRFEwTURZeU1UazRPR1F3TUdKalpqYzVZV1l5TldRMVlqSTVZekE1TkdSaU1tRXlNekUwTm1Rd01ETmhabVEwTVRrME0yVTNZU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaFpqTmpOREl6WVRrMVpEbG1OV0l6TURVME56VTBaV1poTVRVd1lXTXpPV05rTWprMU5USm1aVE0yTURJMU56TTJNbVJtWkdWalpXWTBNRFV6WWpRMUp5eGNiaUFnSUNBZ0lDQWdKMlk1T0dFelptUTRNekZsWWpKaU56UTVZVGt6WWpCbE5tWXpOV05tWWpRd1l6aGpaRFZoWVRZMk4yRXhOVFU0TVdKak1tWmxaR1ZrTkRrNFptUTVZelluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk56WTJaR0ppTWpSa01UTTBaVGMwTldOalkyRmhNamhqT1RsaVpqSTNORGt3Tm1KaU5qWmlNalprWTJZNU9HUm1PR1F5Wm1Wa05UQmtPRGcwTWpRNVlTY3NYRzRnSUNBZ0lDQWdJQ2MzTkRSaU1URTFNbVZoWTJKbE5XVXpPR1JqWXpnNE56azRNR1JoTXpoaU9EazNOVGcwWVRZMVptRXdObU5sWkdReVl6a3lOR1k1TjJOaVlXTTFPVGsySjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6VTVaR0ptTkRabU9HTTVORGMxT1dKaE1qRXlOemRqTXpNM09EUm1OREUyTkRWbU4ySTBOR1kyWXpVNU5tRTFPR05sT1RKbE5qWTJNVGt4WVdKbE0yVW5MRnh1SUNBZ0lDQWdJQ0FuWXpVek5HRmtORFF4TnpWbVltTXpNREJtTkdWaE5tTmxOalE0TXpBNVlUQTBNbU5sTnpNNVlUYzVNVGszT1RoalpEZzFaVEl4Tm1NMFlUTXdOMlkyWlNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZG1NVE5oWkdFNU5URXdNMk0wTlRNM016QTFaVFk1TVdVM05HVTVZVFJoT0dSa05qUTNaVGN4TVdFNU5XVTNNMk5pTmpKa1l6WXdNVGhqWm1RNE4ySTRKeXhjYmlBZ0lDQWdJQ0FnSjJVeE16Z3hOMkkwTkdWbE1UUmtaVFkyTTJKbU5HSmpPREE0TXpReFpqTXlOamswT1dVeU1XRTJZVGMxWXpJMU56QTNOemcwTVRsaVpHRm1OVGN6TTJRblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OemMxTkdJMFptRXdaVGhoWTJWa01EWmtOREUyTjJFeVl6VTVZMk5oTkdOa1lURTROamxqTURabFltRmtabUkyTkRnNE5UVXdNREUxWVRnNE5USXlZeWNzWEc0Z0lDQWdJQ0FnSUNjek1HVTVNMlU0TmpSbE5qWTVaRGd5TWpJMFlqazJOMk16TURJd1lqaG1ZVGhrTVdVMFpUTTFNR0kyWTJKall6VXpOMkUwT0dJMU56ZzBNVEUyTTJFeUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemswT0dSallXUm1OVGs1TUdVd05EaGhZVE00TnpSa05EWmhZbVZtT1dRM01ERTROVGhtT1RWa1pUZ3dOREZrTW1FMk9ESTRZems1WlRJeU5qSTFNVGtuTEZ4dUlDQWdJQ0FnSUNBblpUUTVNV0UwTWpVek4yWTJaVFU1TjJRMVpESTRZVE15TWpSaU1XSmpNalZrWmpreE5UUmxabUprTW1WbU1XUXlZMkppWVRKallXVTFNelEzWkRVM1pTZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzT1RZeU5ERTBORFV3WXpjMll6RTJPRGxqTjJJME9HWTRNakF5WldNek4yWmlNakkwWTJZMVlXTXdZbVpoTVRVM01ETXlPR0U0WVROa04yTTNOMkZpSnl4Y2JpQWdJQ0FnSUNBZ0p6RXdNR0kyTVRCbFl6Um1abUkwTnpZd1pEVmpNV1pqTVRNelpXWTJaalppTVRJMU1EZGhNRFV4WmpBMFlXTTFOell3WVdaaE5XSXlPV1JpT0RNME16Y25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpVeE5EQTROemd6TkRrMk5HSTFOR0l4TldJeE5qQTJORFJrT1RFMU5EZzFZVEUyT1RjM01qSTFZamc0TkRkaVlqQmtaREE0TlRFek4yVmpORGRqWVNjc1hHNGdJQ0FnSUNBZ0lDZGxaakJoWm1KaU1qQTFOakl3TlRRME9HVXhOalV5WXpRNFpUZ3hNamRtWXpZd016bGxOemRqTVRWak1qTTNPR0kzWlRka01UVmhNR1JsTWprek16RXhKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJRelkyTXpNR0ZrTm1JME9ETmxOR0pqTnpsalpUSmpPV1JrT0dKak5UUTVPVE5sT1RRM1pXSTRaR1kzT0RkaU5EUXlPVFF6WkRObU4ySTFNamRsWVdZbkxGeHVJQ0FnSUNBZ0lDQW5PR0l6TnpoaE1qSmtPREkzTWpjNFpEZzVZelZsT1dKbE9HWTVOVEE0WVdVell6SmhaRFEyTWprd016VTROak13WVdaaU16UmtZakEwWldWa1pUQmhOQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjeE5qSTBaRGcwTnpnd056TXlPRFl3WTJVeFl6YzRabU5pWm1WbVpUQTRZakppTWprNE1qTmtZamt4TTJZMk5Ea3pPVGMxWW1Fd1ptWTBPRFEzTmpFd0p5eGNiaUFnSUNBZ0lDQWdKelk0TmpVeFkyWTVZalprWVRrd00yVXdPVEUwTkRRNFl6WmpaRGxrTkdOaE9EazJPRGM0WmpVeU9ESmlaVFJqT0dOak1EWmxNbUUwTURRd056ZzFOelVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk56TXpZMlU0TUdSaE9UVTFZVGhoTWpZNU1ESmpPVFUyTXpObE5qSmhPVGcxTVRreU5EYzBZalZoWmpJd04yUmhObVJtTjJJMFptUTFabU0yTVdOa05DY3NYRzRnSUNBZ0lDQWdJQ2RtTlRRek5XRXlZbVF5WW1Ga1pqZGtORGcxWVRSa09HSTRaR0k1Wm1OalpUTmxNV1ZtT0dVd01qQXhaVFExTnpoak5UUTJOek5pWXpGa1l6VmxZVEZrSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6RTFaRGswTkRFeU5UUTVORFV3TmpSalpqRmhNV016TTJKaVpETmlORGxtT0RrMk5tTTFNRGt5TVRjeFpUWTVPV1ZtTWpVNFpHWmhZamd4WXpBME5XTW5MRnh1SUNBZ0lDQWdJQ0FuWkRVMlpXSXpNR0kyT1RRMk0yVTNNak0wWmpVeE16ZGlOek5pT0RReE56YzBNelE0TURCaVlXTmxZbVpqTmpnMVptTXpOMkppWlRsbFptVTBNRGN3WkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGhNV1F3Wm1ObU1tVmpPV1JsTmpjMVlqWXhNakV6Tm1VMVkyVTNNR1F5TnpGak1qRTBNVGRqT1dReVlqaGhZV0ZoWXpFek9EVTVPV1F3TnpFM09UUXdKeXhjYmlBZ0lDQWdJQ0FnSjJWa1pEYzNaalV3WW1OaU5XRXpZMkZpTW1VNU1EY3pOek13T1RZMk4yWXlOalF4TkRZeVlUVTBNRGN3WmpOa05URTVNakV5WkRNNVl6RTVOMkUyTWprblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aVEl5Wm1KbE1UVmpNR0ZtT0dOall6VTNPREJqTURjek5XWTROR1JpWlRsaE56a3dZbUZrWldVNE1qUTFZekEyWXpkallUTTNNek14WTJJek5qazRNQ2NzWEc0Z0lDQWdJQ0FnSUNkaE9EVTFZbUZpWVdRMVkyUTJNR000T0dJME16QmhOamxtTlROaE1XRTNZVE00TWpnNU1UVTBPVFkwTnprNVltVTBNMlF3Tm1RM04yUXpNV1JoTURZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5NekV4TURreFpHUTVPRFl3WlRobE1qQmxaVEV6TkRjell6RXhOVFZtTldZMk9UWXpOV1V6T1RRM01EUmxZV0UzTkRBd09UUTFNakkwTm1ObVlUbGlNeWNzWEc0Z0lDQWdJQ0FnSUNjMk5tUmlOalUyWmpnM1pERm1NRFJtWm1aa01XWXdORGM0T0dNd05qZ3pNRGczTVdWak5XRTJOR1psWldVMk9EVmlaRGd3WmpCaU1USTRObVE0TXpjMEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek0wWXpGbVpEQTBaRE13TVdKbE9EbGlNekZqTURRME1tUXpaVFpoWXpJME9EZ3pPVEk0WWpRMVlUa3pOREEzT0RFNE5qZGtOREl6TW1Wak1tUmlaR1luTEZ4dUlDQWdJQ0FnSUNBbk9UUXhORFk0TldVNU4ySXhZalU1TlRSaVpEUTJaamN6TURFM05ERXpObVExTjJZeFkyVmxZalE0TnpRME0yUmpOVE15TVRnMU4ySmhOek5oWW1WbEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMll5TVRsbFlUVmtObUkxTkRjd01XTXhZekUwWkdVMVlqVTFOMlZpTkRKaE9HUXhNMll6WVdKaVkyUXdPR0ZtWm1Oak1tRTFaVFppTURRNVlqaGtOak1uTEZ4dUlDQWdJQ0FnSUNBbk5HTmlPVFU1TlRkbE9ETmtOREJpTUdZM00yRm1ORFUwTkdOalkyWTJZakZtTkdJd09HUXpZekEzWWpJM1ptSTRaRGhqTWprMk1tRTBNREEzTmpaa01TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTjJJNE56UXdaamMwWVRobVltRmhZakZtTmpnelpHSTRaalExWkdVeU5qVTBNMkUxTkRrd1ltTmhOakkzTURnM01qTTJPVEV5TkRZNVlUQmlORFE0Snl4Y2JpQWdJQ0FnSUNBZ0oyWmhOemM1TmpneE1qaGtPV001TW1WbE1UQXhNR1l6TXpkaFpEUTNNVGRsWm1ZeE5XUmlOV1ZrTTJNd05EbGlNelF4TVdVd016RTFaV0ZoTkRVNU0ySW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpKa016RmpNakl5WmpobU5tWXdaV1k0Tm1ZM1l6azRaRE5oTXpNek5XVmhaRFZpWTJRek1tRmlaR1E1TkRJNE9XWmxOR1F6TURreFlXRTRNalJpWmljc1hHNGdJQ0FnSUNBZ0lDYzFaak13TXpKbU5UZzVNakUxTm1Vek9XTmpaRE5rTnpreE5XSTVaVEZrWVRKbE5tUmhZemxsTm1ZeU5tVTVOakV4TVRoa01UUmlPRFEyTW1VeE5qWXhKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpjME5qRm1NemN4T1RFMFlXSXpNalkzTVRBME5XRXhOVFZrT1Rnek1XVmhPRGM1TTJRM04yTmtOVGsxT1RKak5ETTBNR1k0Tm1OaVl6RTRNelEzWWpVbkxGeHVJQ0FnSUNBZ0lDQW5PR1ZqTUdKaE1qTTRZamsyWW1Wak1HTmlaR1JrWTJGbE1HRmhORFF5TlRReVpXVmxNV1ptTlRCak9UZzJaV0UyWWpNNU9EUTNZak5qWXpBNU1tWm1OaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbFpUQTNPV0ZrWWpGa1pqRTROakF3TnpRek5UWmhNalZoWVRNNE1qQTJZVFprTnpFMllqSmpNMlUyTnpRMU0yUXlPRGMyT1RoaVlXUTNZakppTW1RMkp5eGNiaUFnSUNBZ0lDQWdKemhrWXpJME1USmhZV1psTTJKbE5XTTBZelZtTXpkbE1HVmpZelZtT1dZMllUUTBOams0T1dGbU1EUmpOR1V5TldWaVlXRmpORGM1WldNeFl6aGpNV1VuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk1UWmxZemt6WlRRME4yVmpPRE5tTURRMk4ySXhPRE13TW1WbE5qSXdaamRsTmpWa1pUTXpNVGczTkdNNVpHTTNNbUptWkRnMk1UWmlZVGxrWVRaaU5TY3NYRzRnSUNBZ0lDQWdJQ2MxWlRRMk16RXhOVEJsTmpKbVlqUXdaREJsT0dNeVlUZGpZVFU0TURSaE16bGtOVGd4T0RaaE5UQmxORGszTVRNNU5qSTJOemM0WlRJMVlqQTJOelJrSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVmhZVFZtT1Rnd1l6STBOV1kyWmpBek9EazNPREk1TUdGbVlUY3dZalppWkRnNE5UVTRPVGRtT1RoaU5tRmhORGcxWWprMk1EWTFaRFV6TjJKa09Ua25MRnh1SUNBZ0lDQWdJQ0FuWmpZMVpqVmtNMlV5T1RKak1tVXdPREU1WVRVeU9ETTVNV001T1RRMk1qUmtOemcwT0RZNVpEZGxObVZoTmpkbVlqRTRNRFF4TURJMFpXUmpNRGRrWXlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzNPR001TkRBM05UUTBZV014TXpJMk9USmxaVEU1TVRCaE1ESTBNems1TlRoaFpUQTBPRGMzTVRVeE16UXlaV0U1Tm1NMFlqWmlNelZoTkRsbU5URW5MRnh1SUNBZ0lDQWdJQ0FuWmpObE1ETXhPVEUyT1dWaU9XSTROV1ExTkRBME56azFOVE01WVRWbE5qaG1ZVEZtWW1RMU9ETmpNRFkwWkRJME5qSmlOamMxWmpFNU5HRXpaR1JpTkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzBPVFJtTkdKbE1qRTVZVEZoTnpjd01UWmtZMlE0TXpnME16RmhaV0V3TURBeFkyUmpPR0ZsTjJFMlptTTJPRGczTWpZMU56aGtPVGN3TWpnMU4yRTFKeXhjYmlBZ0lDQWdJQ0FnSnpReU1qUXlZVGsyT1RJNE0yRTFaak16T1dKaE4yWXdOelZsTXpaaVlUSmhaamt5TldObE16QmtOelkzWldRMlpUVTFaalJpTURNeE9EZ3daRFUyTW1NblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5ZVFU1T0dFNE1ETXdaR0UyWkRnMll6WmlZemRtTW1ZMU1UUTBaV0UxTkRsa01qZ3lNVEZsWVRVNFptRmhOekJsWW1ZMFl6RmxOalkxWXpGbVpUbGlOU2NzWEc0Z0lDQWdJQ0FnSUNjeU1EUmlOV1EyWmpnME9ESXlZek13TjJVMFlqUmhOekUwTURjek4yRmxZekl6Wm1NMk0ySTJOV0l6TldZNE5tRXhNREF5Tm1SaVpESmtPRFkwWlRaaUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMk0wTVRreE5qTTJOV0ZpWWpKaU5XUXdPVEU1TW1ZMVpqSmtZbVZoWm1Wak1qQTRaakF5TUdZeE1qVTNNR0V4T0RSa1ltRmtZek5sTlRnMU9UVTVPVGNuTEZ4dUlDQWdJQ0FnSUNBbk5HWXhORE0xTVdRd01EZzNaV1poTkRsa01qUTFZak15T0RrNE5EazRPV1ExWTJGbU9UUTFNR1l6TkdKbVl6QmxaREUyWlRrMllqVTRabUU1T1RFekoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemcwTVdRMk1EWXpZVFU0Tm1aaE5EYzFZVGN5TkRZd05HUmhNRE5pWXpWaU9USmhNbVV3WkRKbE1HRXpObUZqWm1VMFl6Y3pZVFUxTVRRM05ESTRPREVuTEZ4dUlDQWdJQ0FnSUNBbk56TTROamRtTlRsak1EWTFPV1U0TVRrd05HWTVZVEZqTnpVME16WTVPR1UyTWpVMk1tUTJOelEwWXpFMk9XTmxOMkV6Tm1SbE1ERmhPR1EyTVRVMEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKelZsT1RWaVlqTTVPV0UyT1RjeFpETTNOakF5TmprME4yWTRPV0prWlRKbU1qZ3lZak16T0RFd09USTRZbVUwWkdWa01URXlZV00wWkRjd1pUSXdaRFVuTEZ4dUlDQWdJQ0FnSUNBbk16bG1Nak5tTXpZMk9EQTVNRGcxWW1WbFltWmpOekV4T0RFek1UTTNOelZoT1Rsak9XRmxaRGRrT0dKaE16aGlNVFl4TXpnMFl6YzBOakF4TWpnMk5TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2N6Tm1VME5qUXhZVFV6T1RRNFptUTBOelpqTXpsbU9HRTVPV1prT1RjMFpUVmxZekEzTlRZMFlqVXpNVFZrT0dKbU9UazBOekZpWTJFd1pXWXlaalkySnl4Y2JpQWdJQ0FnSUNBZ0oyUXlOREkwWWpGaU1XRmlaVFJsWWpneE5qUXlNamRpTURnMVl6bGhZVGswTlRabFlURXpORGt6Wm1RMU5qTmxNRFptWkRVeFkyWTFOamswWXpjNFptTW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpNMk5UZ3haV0UzWW1aaVltSXlPVEJqTVRreFlUSm1OVEEzWVRReFkyWTFOalF6T0RReU1UY3daVGt4TkdaaFpXRmlNamRqTW1NMU56bG1OekkySnl4Y2JpQWdJQ0FnSUNBZ0oyVmhaREV5TVRZNE5UazFabVV4WW1VNU9USTFNakV5T1dJMlpUVTJZak16T1RGbU4yRmlNVFF4TUdOa01XVXdaV1l6WkdOa1kyRmlaREptWkdFeU1qUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0dGaU9EazRNVFprWVdSbVpEWmlObUV4WmpJMk16Um1ZMll3TUdWak9EUXdNemM0TVRBeU5XVmtOamc1TUdNME9EUTVOelF5TnpBMlltUTBNMlZrWlNjc1hHNGdJQ0FnSUNBZ0lDYzJabVJqWldZd09XWXlaalprTUdFd05EUmxOalUwWVdWbU5qSTBNVE0yWmpVd00yUTBOVGxqTTJVNE9UZzBOVGcxT0dFME4yRTVNVEk1WTJSa01qUmxKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpGbE16Tm1NV0UzTkRaak9XTTFOemM0TVRNek16UTBaRGt5T1RsbVkyRmhNakJpTURrek9HVTRZV05tWmpJMU5EUmlZalF3TWpnMFlqaGpOV1ppT1RRbkxGeHVJQ0FnSUNBZ0lDQW5OakEyTmpBeU5UZGtaREV4WWpOaFlUbGpPR1ZrTmpFNFpESTBaV1JtWmpJek1EWmtNekl3WmpGa01ETXdNVEJsTXpOaE4yUXlNRFUzWmpOaU0ySTJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpnMVlqZGpNV1JqWWpOalpXTXhZamRsWlRkbU16QmtaV1EzT1dSa01qQmhNR1ZrTVdZMFkyTXhPR05pWTJaalptRTBNVEF6TmpGbVpEaG1NRGhtTXpFbkxGeHVJQ0FnSUNBZ0lDQW5NMlE1T0dFNVkyUmtNREkyWkdRME0yWXpPVEEwT0dZeU5XRTRPRFEzWmpSbVkyRm1ZV1F4T0RrMVpEZGhOak16WXpabVpXUXpZek0xWlRrNU9UVXhNU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjeU9XUm1PV1ppWkRoa09XVTBOalV3T1RJM05XWTBZakV5TldRMlpEUTFaRGRtWW1VNVlUTmlPRGM0WVRkaFpqZzNNbUV5T0RBd05qWXhZV00xWmpVeEp5eGNiaUFnSUNBZ0lDQWdKMkkwWXpSbVpUazVZemMzTldFMk1EWmxNbVE0T0RZeU1UYzVNVE01Wm1aa1lUWXhaR000TmpGak1ERTVaVFUxWTJReU9EYzJaV0l5WVRJM1pEZzBZaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaE1HSXhZMkZsTURaaU1HRTRORGRoTTJabFlUWmxOamN4WVdGbU9HRmtabVJtWlRVNFkyRXlaamMyT0RFd05XTTRNRGd5WWpKbE5EUTVabU5sTWpVeUp5eGNiaUFnSUNBZ0lDQWdKMkZsTkRNME1UQXlaV1JrWlRBNU5UaGxZelJpTVRsa09URTNZVFpoTWpobE5tSTNNbVJoTVRnek5HRm1aakJsTmpVd1pqQTBPVFV3TTJFeU9UWmpaakluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk5HVTRZMlZoWm1JNVlqTmxPV0V4TXpaa1l6ZG1aalkzWlRnME1ESTVOV0kwT1Rsa1ptSXpZakl4TXpObE5HSmhNVEV6WmpKbE5HTXdaVEV5TVdVMUp5eGNiaUFnSUNBZ0lDQWdKMk5tTWpFM05ERXhPR000WWpaa04yRTBZalE0Wmpaa05UTTBZMlUxWXpjNU5ESXlZekE0Tm1FMk16UTJNRFV3TW1JNE1qZGpaVFl5WVRNeU5qWTRNMk1uWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpESTBZVFEwWlRBME4yVXhPV0kyWmpWaFptSTRNV00zWTJFeVpqWTVNRGd3WVRVd056WTJPRGxoTURFd09URTVaalF5TnpJMVl6SmlOemc1WVRNellpY3NYRzRnSUNBZ0lDQWdJQ2MyWm1JNFpEVTFPVEZpTkRZMlpqaG1Zell6WkdJMU1HWXhZekJtTVdNMk9UQXhNMlk1T1RZNE9EZGlPREkwTkdReVkyUmxZelF4TjJGbVpXRTRabUV6SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVmhNREUyTURaaE4yRTJZemxqWkdReU5EbG1aR1pqWm1GallqazVOVGcwTURBeFpXUmtNamhoWW1KaFlqYzNZalV4TURSbE9UaGxPR1V6WWpNMVpEUW5MRnh1SUNBZ0lDQWdJQ0FuTXpJeVlXWTBPVEE0WXpjek1USmlNR05tWW1abE16WTVaamRoTjJJelkyUmlOMlEwTkRrMFltTXlPREl6TnpBd1kyWmtOalV5TVRnNFlUTmxZVGs0WkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGhaamhoWkdSaVpqSmlOall4WXpoaE5tTTJNekk0TmpVMVpXSTVOalkxTVRJMU1qQXdOMlE0WXpWbFlUTXhZbVUwWVdReE9UWmtaVGhqWlRJeE16Rm1KeXhjYmlBZ0lDQWdJQ0FnSnpZM05EbGxOamRqTURJNVlqZzFaalV5WVRBek5HVmhabVF3T1RZNE16WmlNalV5TURneE9EWTRNR1V5Tm1Gak9HWXpaR1ppWTJSaU56RTNORGszTURBblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aVE5oWlRFNU56UTFOalpqWVRBMlkyTTFNVFprTkRkbE1HWmlNVFkxWVRZM05HRXpaR0ZpWTJaallURTFaVGN5TW1Zd1pUTTBOVEJtTkRVNE9Ea25MRnh1SUNBZ0lDQWdJQ0FuTW1GbFlXSmxOMlUwTlRNeE5URXdNVEUyTWpFM1pqQTNZbVkwWkRBM016QXdaR1U1TjJVME9EYzBaamd4WmpVek16UXlNR0UzTW1WbFlqQmlaRFpoTkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzFPVEZsWlRNMU5UTXhNMlE1T1RjeU1XTm1Oams1TTJabVpXUXhaVE5sTXpBeE9Ua3pabVl6WldReU5UZzRNREl3TnpWbFlUaGpaV1F6T1RkbE1qUTJKeXhjYmlBZ0lDQWdJQ0FnSjJJd1pXRTFOVGhoTVRFell6TXdZbVZoTmpCbVl6UTNOelUwTmpCak56a3dNV1ptTUdJd05UTmtNalZqWVRKaVpHVmxaVGs0WmpGaE5HSmxOV1F4T1RZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5NVEV6T1Raa05UVm1aR0UxTkdNME9XWXhPV0ZoT1Rjek1UaGtPR1JoTmpGbVlUZzFPRFJsTkRkaU1EZzBPVFExTURjM1kyWXdNekkxTldJMU1qazROQ2NzWEc0Z0lDQWdJQ0FnSUNjNU9UaGpOelJoT0dOa05EVmhZekF4TWpnNVpEVTRNek5oTjJKbFlqUTNORFJtWmpVek5tSXdNV0l5TlRkaVpUUmpOVGMyTjJKbFlUa3paV0UxTjJFMEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek5qTldReVlURmlZVE01WXpWaE1UYzVNREF3TURjek9HTTVaVEJqTkRCaU9HUmpaR1prTlRRMk9EYzFOR0kyTkRBMU5UUXdNVFUzWlRBeE4yRmhOMkVuTEZ4dUlDQWdJQ0FnSUNBbllqSXlPRFF5TnprNU9UVmhNelJsTW1ZNVpEUmtaVGN6T1RabVl6RTRZamd3WmpsaU9HSTVabVJrTWpjd1pqWTJOakZtTnpsallUUmpPREZpWkRJMU55ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RqWXpnM01EUmlPR0UyTUdFd1pHVm1ZVE5oT1RsaE56STVPV1l5WlRsak0yWmlZek01TldGbVlqQTBZV013TnpnME1qVmxaamhoTVRjNU0yTmpNRE13Snl4Y2JpQWdJQ0FnSUNBZ0oySmtaRFEyTURNNVptVmxaREUzT0RneFpERmxNRGcyTW1SaU16UTNaamhqWmpNNU5XSTNOR1pqTkdKalpHTTBaVGswTUdJM05HVXpZV014WmpGaU1UTW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuWXpVek0yVTBaamRsWVRnMU5UVmhZV05rT1RjM04yRmpOV05oWkRJNVlqazNaR1EwWkdWbVkyTmpOVE5sWlRkbFlUSXdOREV4T1dJeU9EZzVZakU1Tnljc1hHNGdJQ0FnSUNBZ0lDYzJaakJoTWpVMlltTTFaV1prWmpReU9XRXlabUkyTWpReVpqRmhORE5oTW1RNVlqa3lOV0ppTkdFMFlqTmhNalppWWpobE1HWTBOV1ZpTlRrMk1EazJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJNeE5HWTRaakpqWTJJeU4yUTJaakV3T1dZMlpEQTRaREF6WTJNNU5tRTJPV0poT0dNek5HVmxZekEzWW1KalpqVTJObVEwT0dVek0yUmhOalU1TXljc1hHNGdJQ0FnSUNBZ0lDZGpNelU1WkRZNU1qTmlZak01T0dZM1ptUTBORGN6WlRFMlptVXhZekk0TkRjMVlqYzBNR1JrTURrNE1EYzFaVFpqTUdVNE5qUTVNVEV6WkdNellUTTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJFMlkySmpNekEwTm1Kak5tRTBOVEJpWVdNeU5EYzRPV1poTVRjeE1UVmhOR001TnpNNVpXUTNOV1k0WmpJeFkyVTBOREZtTnpKbE1HSTVNR1UyWldZbkxGeHVJQ0FnSUNBZ0lDQW5NakZoWlRkbU5EWTRNR1U0T0RsaVlqRXpNRFl4T1dVeVl6Qm1PVFZoTXpZd1kyVmlOVGN6WXpjd05qQXpNVE01T0RZeVlXWmtOakUzWm1FNVlqbG1KMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpNME4yUTJaRGxoTURKak5EZzVNamRsWW1aaU9EWmpNVE0xT1dJeFkyRm1NVE13WVROak1ESTJOMlF4TVdObE5qTTBOR0l6T1dZNU9XUTBNMk5qTXpnbkxGeHVJQ0FnSUNBZ0lDQW5OakJsWVRkbU5qRmhNelV6TlRJMFpERmpPVGczWmpabFkyVmpPVEptTURnMlpEVTJOV0ZpTmpnM09EY3dZMkl4TWpZNE9XWm1NV1V6TVdNM05EUTBPQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNka1lUWTFORFZrTWpFNE1XUmlPR1E1T0RObU4yUmpZak0zTldWbU5UZzJObVEwTjJNMk4ySXhZbVl6TVdNNFkyWTROVFZsWmpjME16ZGlOekkyTlRaaEp5eGNiaUFnSUNBZ0lDQWdKelE1WWprMk56RTFZV0kyT0RjNFlUYzVaVGM0WmpBM1kyVTFOamd3WXpWa05qWTNNekExTVdJME9UTTFZbVE0T1RkbVpXRTRNalJpTnpka1l6SXdPR0VuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbll6UXdOelEzWTJNNVpEQXhNbU5pTVdFeE0ySTRNVFE0TXpBNVl6WmtaVGRsWXpJMVpEWTVORFZrTmpVM01UUTJZamxrTlRrNU5HSTRabVZpTVRFeE1TY3NYRzRnSUNBZ0lDQWdJQ2MxWTJFMU5qQTNOVE5pWlRKaE1USm1ZelprWlRaallXWXlZMkkwT0RrMU5qVmtZamt6TmpFMU5tSTVOVEUwWlRGaVlqVmxPRE13TXpkbE1HWmhNbVEwSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6UmxOREpqT0dWak9ESmpPVGszT1RoalkyWXpZVFl4TUdKbE9EY3daVGM0TXpNNFl6ZG1OekV6TXpRNFltUXpOR000TWpBelpXWTBNRE0zWmpNMU1ESW5MRnh1SUNBZ0lDQWdJQ0FuTnpVM01XUTNOR1ZsTldVd1ptSTVNbUUzWVRoaU16TmhNRGMzT0RNek5ERmhOVFE1TWpFME5HTmpOVFJpWTJNME1HRTVORFEzTXpZNU16WXdOalF6TnlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3pOemMxWVdJM01EZzVZbU0yWVdZNE1qTmhZbUV5WlRGaFpqY3dZakl6Tm1ReU5URmpZV1JpTUdNNE5qYzBNekk0TnpVeU1tRXhZak5pTUdSbFpHVmhKeXhjYmlBZ0lDQWdJQ0FnSjJKbE5USmtNVEEzWW1ObVlUQTVaRGhpWTJJNU56TTJZVGd5T0dObVlUZG1ZV000WkdJeE4ySm1OMkUzTm1FeVl6UXlZV1E1TmpFME1Ea3dNVGhqWmpjblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5ZMlZsTXpGalltWTNaVE0wWldNek56bGtPVFJtWWpneE5HUXpaRGMzTldGa09UVTBOVGsxWkRFek1UUmlZVGc0TkRZNU5UbGxNMlU0TW1ZM05HVXlOaWNzWEc0Z0lDQWdJQ0FnSUNjNFptUTJOR0V4TkdNd05tSTFPRGxqTWpaaU9UUTNZV1V5WW1ObU5tSm1ZVEF4TkRsbFpqQmlaVEUwWldRMFpEZ3daalEwT0dFd01XTTBNMkl4WXpaa0oxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMkkwWmpsbFlXVmhNRGxpTmpreE56WXhPV1kyWldFMllUUmxZalUwTmpSbFptUmtZalU0Wm1RME5XSXhaV0psWm1Oa1l6RmhNREZrTURoaU5EYzVPRFluTEZ4dUlDQWdJQ0FnSUNBbk16bGxOV001T1RJMVlqVmhOVFJpTURjME16TmhOR1l4T0dNMk1UY3lObVk0WW1JeE16RmpNREV5WTJFMU5ESmxZakkwWVRoaFl6QTNNakF3TmpneVlTZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTkRJMk0yUm1Zek5rTW1SbU9USXpZVEF4TnpsaE5EZzVOalprTXpCalpUZzBaVEkxTVRWaFptTXpaR05qWXpGaU56YzVNRGMzT1RKbFltTmpOakJsSnl4Y2JpQWdJQ0FnSUNBZ0p6WXlaR1poWmpBM1lUQm1OemhtWldJek1HVXpNR1EyTWprMU9EVXpZMlV4T0RsbE1USTNOell3WVdRMlkyWTNabUZsTVRZMFpURXlNbUV5TURoa05UUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTkRnME5UYzFNalE0TWpCbVlUWTFZVFJtT0dRek5XVmlOamt6TURnMU4yTXdNRE15WVdOak1HRTBZVEprWlRReU1qSXpNMlZsWkdFNE9UYzJNVEpqTkNjc1hHNGdJQ0FnSUNBZ0lDY3lOV0UzTkRoaFlqTTJOemszT1dRNU9EY3pNMk16T0dFeFptRXhZekpsTjJSak5tTmpNRGRrWWpKa05qQmhPV0ZsTjJFM05tRmhZVFE1WW1Rd1pqYzNKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJSbVpXVmxaakU0T0RFeE1ERm1NbU5pTVRFMk5EUm1NMkV5WVdaa1ptTXlNRFExWlRFNU9URTVNVFV5T1RJelpqTTJOMkV4TnpZM1l6RXhZMk5sWkdFbkxGeHVJQ0FnSUNBZ0lDQW5aV05tWWpjd05UWmpaakZrWlRBME1tWTVOREl3WW1GaU16azJOemt6WXpCak16a3dZbVJsTnpSaU5HSmlaR1ptTVRaaE9ETmhaVEE1WVRsaE56VXhOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjMlpEZGxaalppTVRjMU5ETm1PRE0zTTJNMU56Tm1ORFJsTVdZek9EazRNelZrT0RsaVkySmpOakEyTW1ObFpETTJZemd5WkdZNE0ySTRabUZsT0RVNUp5eGNiaUFnSUNBZ0lDQWdKMk5rTkRVd1pXTXpNelUwTXpnNU9EWmtabVZtWVRFd1l6VTNabVZoT1dKall6VXlNV0V3T1RVNVlqSmtPREJpWW1ZM05HSXhPVEJrWTJFM01USmtNVEFuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpUYzFOakExWkRVNU1UQXlZVFZoTWpZNE5EVXdNR1F6WWprNU1XWXlaVE5tTTJNNE9HSTVNekl5TlRVME56QXpOV0ZtTWpWaFpqWTJaVEEwTlRReFppY3NYRzRnSUNBZ0lDQWdJQ2RtTldNMU5EYzFOR0U0WmpjeFpXVTFOREJpT1dJME9EY3lPRFEzTTJVek1UUm1Oekk1WVdNMU16QTRZakEyT1RNNE16WXdPVGt3WlRKaVptRmtNVEkxSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVmlPVGcyTmpCbU5HTTBaR1poWVRBMllUSmlaVFExTTJRMU1ESXdZbU01T1dFd1l6SmxOakJoWW1Vek9EZzBOVGRrWkRRelptVm1ZakZsWkRZeU1HTW5MRnh1SUNBZ0lDQWdJQ0FuTm1OaU9XRTRPRGMyWkRsallqZzFNakEyTURsaFpqTmhaR1F5Tm1Oa01qQmhNR0UzWTJRNFlUazBNVEV4TXpGalpUZzFaalEwTVRBd01EazVNakl6WlNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3hNMlU0TjJJd01qZGtPRFV4TkdRek5Ua3pPV1l5WlRZNE9USmlNVGs1TWpJeE5UUTFPVFk1TkRFNE9EZ3pNelprWXpNMU5qTmxNMkk0WkdKaE9UUXlKeXhjYmlBZ0lDQWdJQ0FnSjJabFpqVmhNMk0yT0RBMU9XRTJaR1ZqTldRMk1qUXhNVFJpWmpGbE9URmhZV015WWpsa1lUVTJPR1EyWVdKbFlqSTFOekJrTlRVMk5EWmlPR0ZrWmpFblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aV1V4TmpNd01qWmxPV1prTm1abE1ERTNZek00WmpBMllUVmlaVFptWXpFeU5UUXlOR0l6TnpGalpUSTNNRGhsTjJKbU5EUTVNVFk1TVdVMU56WTBZU2NzWEc0Z0lDQWdJQ0FnSUNjeFlXTmlNalV3WmpJMU5XUmtOakZqTkROa09UUmpZMk0yTnpCa01HWTFPR1kwT1dGbE0yWmhNVFZpT1RZMk1qTmxOVFF6TUdSaE1HRmtObU0yTW1JeUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMkl5TmpobU5XVm1PV0ZrTlRGbE5HUTNPR1JsTTJFM05UQmpNbVJqT0RsaU1XVTJNalprTkRNMU1EVTROamM1T1RrNU16SmxOV1JpTXpOaFpqTmtPREFuTEZ4dUlDQWdJQ0FnSUNBbk5XWXpNVEJrTkdJell6azVZamxsWW1JeE9XWTNOMlEwTVdNeFpHVmxNREU0WTJZd1pETTBabVEwTVRreE5qRTBNREF6WlRrME5XRXhNakUyWlRReU15ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RtWmpBM1pqTXhNVGhoT1dSbU1ETTFaVGxtWVdRNE5XVmlObU0zWW1abE5ESmlNREptTURGallUazVZMlZsWVROaVpqZG1abVJpWVRrell6UTNOVEJrSnl4Y2JpQWdJQ0FnSUNBZ0p6UXpPREV6Tm1RMk1ETmxPRFU0WVROaE5XTTBOREJqTXpobFkyTmlZV1JrWXpGa01qazBNakV4TkdVeVpXUmtaRFEzTkRCa01EazRZMlZrTVdZd1pEZ25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0dRNFlqazROVFZqTjJNd05USmhNelF4TkRabVpESXdabVppTmpVNFltVmhOR0k1WmpZNVpUQmtPREkxWldKbFl6RTJaVGhqTTJObE1tSTFNalpoTVNjc1hHNGdJQ0FnSUNBZ0lDZGpaR0kxTlRsbFpXUmpNbVEzT1dZNU1qWmlZV1kwTkdaaU9EUmxZVFJrTkRSaVkyWTFNR1psWlRVeFpEZGpaV0l6TUdVeVpUZG1ORFl6TURNMk56VTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpVeVpHSXdZalV6T0RSa1ptSm1NRFZpWm1FNVpEUTNNbVEzWVdVeU5tUm1aVFJpT0RVeFkyVmpZVGt4WWpGbFltRTFOREkyTXpFNE1HUmhNekppTmpNbkxGeHVJQ0FnSUNBZ0lDQW5Zek5pT1RrM1pEQTFNR1ZsTldRME1qTmxZbUZtTmpaaE5tUmlPV1kxTjJJek1UZ3dZemt3TWpnM05UWTNPV1JsT1RJMFlqWTVaRGcwWVRkaU16YzFKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJVMk1tWTVORGt3WkROa05URmtZVFl6T1RWbFptUXlOR1U0TURreE9XTmpOMlF3WmpJNVl6Tm1NMlpoTkRoak5tWm1aalUwTTJKbFkySmtORE16TlRJbkxGeHVJQ0FnSUNBZ0lDQW5ObVE0T1dGa04ySmhORGczTm1Jd1lqSXlZekpqWVRJNE1HTTJPREk0TmpKbU16UXlZemcxT1RGbU1XUmhaalV4TnpCbE1EZGlabVE1WTJOaFptRTNaQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjM1pqTXdaV0V5TkRjMllqTTVPV0kwT1RVM05UQTVZemc0WmpjM1pEQXhPVEZoWm1FeVptWTFZMkkzWWpFMFptUTJaRGhsTjJRMk5XRmhZV0l4TVRrekp5eGNiaUFnSUNBZ0lDQWdKMk5oTldWbU4yUTBZakl6TVdNNU5HTXpZakUxTXpnNVlUVm1Oak14TVdVNVpHRm1aamRpWWpZM1lqRXdNMlU1T0Rnd1pXWTBZbVptTmpNM1lXTmhaV01uWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk5UQTVPR1ptTVdVeFpEbG1NVFJtWWpRMllUSXhNR1poWkdFMll6a3dNMlpsWmpCbVlqZGlOR0V4WkdReFpEbGhZell3WVRBek5qRTRNREJpTjJFd01DY3NYRzRnSUNBZ0lDQWdJQ2M1TnpNeE1UUXhaRGd4Wm1NNFpqZ3dPRFJrTXpkak5tVTNOVFF5TURBMllqTmxaVEZpTkRCa05qQmtabVUxTXpZeVlUVmlNVE15Wm1ReE4yUmtZekFuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk16SmlOemhqTjJSbE9XVmxOVEV5WVRjeU9EazFZbVUyWWpsalltVm1ZVFpsTW1Zell6UmpZMk5sTkRRMVl6azJZamxtTW1NNE1XVXlOemM0WVdRMU9DY3NYRzRnSUNBZ0lDQWdJQ2RsWlRFNE5EbG1OVEV6WkdZM01XVXpNbVZtWXpNNE9UWmxaVEk0TWpZd1l6Y3pZbUk0TURVME4yRmxNakkzTldKaE5EazNNak0zTnprMFl6ZzNOVE5qSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVXlZMkkzTkdaa1pHTTRaVGxtWW1Oa01EYzJaV1ZtTW1FM1l6Y3lZakJqWlRNM1pEVXdaakE0TWpZNVpHWmpNRGMwWWpVNE1UVTFNRFUwTjJFMFpqY25MRnh1SUNBZ0lDQWdJQ0FuWkROaFlUSmxaRGN4WXpsa1pESXlORGRoTmpKa1pqQTJNamN6Tm1WaU1HSmhaR1JsWVRsbE16WXhNakprTW1KbE9EWTBNV0ZpWTJJd01EVmpZelJoTkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzRORE00TkRRM05UWTJaRFJrTjJKbFpHRmtZekk1T1RRNU5tRmlNelUzTkRJMk1EQTVZVE0xWmpJek5XTmlNVFF4WW1Vd1pEazVZMlF4TUdGbE0yRTRKeXhjYmlBZ0lDQWdJQ0FnSjJNMFpURXdNakE1TVRZNU9EQmhOR1JoTldRd01XRmpOV1UyWVdRek16QTNNelJsWmpCa056a3dOall6TVdNMFpqSXpPVEEwTWpaaU1tVmtaRGM1TVdZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OREUyTW1RME9EaGlPRGswTURJd016bGlOVGcwWXpabVl6WmpNekE0T0Rjd05UZzNaRGxqTkRabU5qWXdZamczT0dGaU5qVmpPREpqTnpFeFpEWTNaU2NzWEc0Z0lDQWdJQ0FnSUNjMk56RTJNMlU1TURNeU16WXlPRGxtTnpjMlpqSXlZekkxWm1JNFlUTmhabU14TnpNeVpqSmlPRFJpTkdVNU5XUmlaR0UwTjJGbE5XRXdPRFV5TmpRNUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek5tWVdRelptRTROR05oWmpCbU16Um1NR1k0T1dKbVpESmtZMlkxTkdaak1UYzFaRGMyTjJGbFl6TmxOVEEyT0RSbU0ySmhOR0UwWW1ZMVpqWTRNMlFuTEZ4dUlDQWdJQ0FnSUNBblkyUXhZbU0zWTJJMlkyTTBNRGRpWWpKbU1HTmhOalEzWXpjeE9HRTNNekJqWmpjeE9EY3laVGRrTUdReVlUVXpabUV5TUdWbVkyUm1aVFl4T0RJMkoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKelkzTkdZeU5qQXdZVE13TURkaE1EQTFOamhqTVdFM1kyVXdOV1F3T0RFMll6Rm1ZamcwWW1ZeE16Y3dOems0WmpGak5qazFNekptWVdWaU1XRTRObUluTEZ4dUlDQWdJQ0FnSUNBbk1qazVaREl4WmprME1UTm1Nek5pTTJWa1pqUXpZakkxTnpBd05EVTRNR0kzTUdSaU5UZGtZVEJpTVRneU1qVTVaVEE1WldWall6WTVaVEJrTXpoaE5TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTXpKbU5HUmhOVFJoWkdVM05HRmlZamd4WWpneE5XRmtNV1ppTTJJeU5qTmtPREprTm1NMk9USTNNVFJpWTJabU9EZGtNamxpWkRWbFpUbG1NRGhtSnl4Y2JpQWdJQ0FnSUNBZ0oyWTVOREk1WlRjek9HSTRaVFV6WWprMk9HVTVPVEF4Tm1Nd05UazNNRGMzT0RKbE1UUm1ORFV6TlRNMU9XUTFPREptWXpReE5qa3hNR0l6WldWaE9EY25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpCbE5HVTJOekEwTXpVek9EVTFOVFpsTlRrek5qVTNNVE0xT0RRMVpETTJabUppTmprek1XWTNNbUl3T0dOaU1XVmtPVFUwWmpGbE0yTmxNMlptTmljc1hHNGdJQ0FnSUNBZ0lDYzBOakptT1dKalpUWXhPVGc1T0RZek9EUTVPVE0xTURFeE0ySmlZemxpTVRCaE9EYzRaRE0xWkdFM01EYzBNR1JqTmprMVlUVTFPV1ZpT0Roa1lqZGlKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJKbE1qQTJNakF3TTJNMU1XTmpNekF3TkRZNE1qa3dORE16TUdVMFpHVmxOMll6WkdOa01UQmlNREZsTlRnd1ltWXhPVGN4WWpBMFpEUmpZV1F5T1RjbkxGeHVJQ0FnSUNBZ0lDQW5Oakl4T0RoaVl6UTVaRFl4WlRVME1qZzFOek5rTkRoaE56UmxNV00yTlRWaU1XTTJNVEE1TURrd05UWTRNbUV3WkRVMU5UaGxaRGN5WkdOallqbGlZeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjNU16RTBORFF5TTJGalpUTTBOVEZsWkRJNVpUQm1ZamxoWXpKaFpqSXhNV05pTm1VNE5HRTJNREZrWmpVNU9UTmpOREU1T0RVNVptWm1OV1JtTURSaEp5eGNiaUFnSUNBZ0lDQWdKemRqTVRCa1ptSXhOalJqTXpReU5XWTFZemN4WVRObU9XUTNPVGt5TURNNFpqRXdOalV5TWpSbU56SmlZamxrTVdRNU1ESmhObVF4TXpBek4ySTBOMk1uWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbllqQXhOV1k0TURRMFpqVm1ZMkprWTJZeU1XTmhNalprTm1Nek5HWmlPREU1TnpneU9USXdOV00zWWpka01tRTNZMkkyTmpReE9HTXhOVGRpTVRFeVl5Y3NYRzRnSUNBZ0lDQWdJQ2RoWWpoak1XVXdPRFprTURSbE9ERXpOelEwWVRZMU5XSXlaR1k0WkRWbU9ETmlNMk5rWXpabVlXRXpNRGc0WXpGa00yRmxZVEUwTlRSbE0yRXhaRFZtSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyUTFaVGxsTVdSaE5qUTVaRGszWkRnNVpUUTROamd4TVRkaE5EWTFZVE5oTkdZNFlURTRaR1UxTjJFeE5EQmtNelppTTJZeVlXWXpOREZoTWpGaU5USW5MRnh1SUNBZ0lDQWdJQ0FuTkdOaU1EUTBNemRtTXpreFpXUTNNekV4TVdFeE0yTmpNV1EwWkdRd1pHSXhOamt6TkRZMVl6SXlOREEwT0RCa09EazFOV1U0TlRreVpqSTNORFEzWVNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGtNMkZsTkRFd05EZGtaRGRqWVRBMk5XUmlaamhsWkRjM1lqazVNalF6T1RrNE16QXdOV05rTnpKbE1UWmtObVk1T1RaaE5UTXhObVF6TmprMk5tSmlKeXhjYmlBZ0lDQWdJQ0FnSjJKa01XRmxZakl4WVdReU1tVmlZakl5WVRFd1pqQXpNRE0wTVRkak5tUTVOalJtT0dOa1pEZGtaakJoWTJFMk1UUmlNVEJrWXpFMFpERXlOV0ZqTkRZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5ORFl6WlRJM05qTmtPRGcxWmprMU9HWmpOalpqWkdReU1qZ3dNR1l3WVRRNE56RTVOMlF3WVRneVpUTTNOMkkwT1dZNE1HRm1PRGRqT0RrM1lqQTJOU2NzWEc0Z0lDQWdJQ0FnSUNkaVptVm1ZV05rWWpCbE5XUXdabVEzWkdZellUTXhNV0U1TkdSbE1EWXlZakkyWWpnd1l6WXhabUpqT1RjMU1EaGlOems1T1RJMk56RmxaamRqWVRkbUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemM1T0RWbVpHWmtNVEkzWXpBMU5qZGpObVkxTTJWak1XSmlOak5sWXpNeE5UaGxOVGszWXpRd1ltWmxOelEzWXpnelkyUmtabU01TVRBMk5ERTVNVGNuTEZ4dUlDQWdJQ0FnSUNBbk5qQXpZekV5WkdGbU0yUTVPRFl5WldZeVlqSTFabVV4WkdVeU9EbGhaV1F5TkdWa01qa3haVEJsWXpZM01EZzNNRE5oTldKa05UWTNaak15WldRd015ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzTkdFeFlXUTJZalZtTnpabE16bGtZakprWkRJME9UUXhNR1ZoWXpkbU9UbGxOelJqTlRsallqZ3paREprTUdWa05XWm1NVFUwTTJSaE56Y3dNMlU1Snl4Y2JpQWdJQ0FnSUNBZ0oyTmpOakUxTjJWbU1UaGpPV00yTTJOa05qRTVNMlE0TXpZek1XSmlaV0V3TURrelpUQTVOamc1TkRKbE9HTXpNMlExTnpNM1ptUTNPVEJsTUdSaU1EZ25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpBMk9ESmhOVEEzTURNek56Vm1OakF5WkRReE5qWTJOR0poTVRsaU4yWmpPV0poWWpReVl6Y3lOelEzTkRZellUY3haREE0T1RaaU1qSm1ObVJoTXljc1hHNGdJQ0FnSUNBZ0lDYzFOVE5sTURSbU5tSXdNVGhpTkdaaE5tTTRaak01WlRkbU16RXhaRE14TnpZeU9UQmtNR1V3WmpFNVkyRTNNMll4TnpjeE5HUTVPVGMzWVRJeVptWTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpsbE1qRTFPR1l3WkRkak1HUTFaakkyWXpNM09URmxabVZtWVRjNU5UazNOalUwWlRkaE1tSXlORFkwWmpVeVlqRmxaVFpqTVRNME56YzJPV1ZtTlRjbkxGeHVJQ0FnSUNBZ0lDQW5OekV5Wm1Oa1pERmlPVEExTTJZd09UQXdNMkV6TkRneFptRTNOell5WlRsbVptUTNZemhsWmpNMVlUTTROVEE1WlRKbVltWXlOakk1TURBNE16Y3pKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFM05tVXlOams0T1dFME0yTTVZMlpsWW1FME1ESTVZekl3TWpVek9HTXlPREUzTW1VMU5qWmxNMk0wWm1ObE56TXlNamcxTjJZelltVXpNamRrTmpZbkxGeHVJQ0FnSUNBZ0lDQW5aV1E0WTJNNVpEQTBZakk1WldJNE56ZGtNamN3WWpRNE56aGtZelF6WXpFNVlXVm1aRE14WmpSbFpXVXdPV1ZsTjJJME56Z3pOR014Wm1FMFlqRmpNeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjM05XUTBObVZtWldFek56Y3haVFpsTmpoaFltSTRPV0V4TTJGa056UTNaV05tTVRnNU1qTTVNMlJtWXpSbU1XSTNNREEwTnpnNFl6VXdNemMwWkdFNEp5eGNiaUFnSUNBZ0lDQWdKems0TlRJek9UQmhPVGsxTURjMk56bG1aREJpT0RabVpESmlNemxoT0RZNFpEZGxabU15TWpFMU1UTTBObVV4WVROallUUTNNalkxT0RaaE5tSmxaRGduWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk9EQTVZVEl3WXpZM1pEWTBPVEF3Wm1aaU5qazRZelJqT0RJMVpqWmtOV1l5TXpFd1ptSXdORFV4WXpnMk9UTTBOV0kzTXpFNVpqWTBOVFl3TlRjeU1TY3NYRzRnSUNBZ0lDQWdJQ2M1WlRrNU5EazRNR1E1T1RFM1pUSXlZamMyWWpBMk1Ua3lOMlpoTURReE5ETmtNRGsyWTJOak5UUTVOak5sTm1FMVpXSm1ZVFZtTTJZNFpUSTRObU14SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6RmlNemc1TUROaE5ETm1OMll4TVRSbFpEUTFNREJpTkdWaFl6Y3dPRE5tWkdWbVpXTmxNV05tTWpsak5qTTFNamhrTlRZek5EUTJaamszTW1NeE9EQW5MRnh1SUNBZ0lDQWdJQ0FuTkRBek5tVmtZemt6TVdFMk1HRmxPRGc1TXpVelpqYzNabVExTTJSbE5HRXlOekE0WWpJMllqWm1OV1JoTnpKaFpETXpPVFF4TVRsa1lXWTBNRGhtT1NkY2JpQWdJQ0FnSUYxY2JpQWdJQ0JkWEc0Z0lIMWNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvcHJlY29tcHV0ZWQvc2VjcDI1NmsxLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy91dGlscy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gZXhwb3J0cztcXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciBtaW5Bc3NlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaW5pbWFsaXN0aWMtYXNzZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxcIik7XFxudmFyIG1pblV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWNyeXB0by11dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWNyeXB0by11dGlscy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG51dGlscy5hc3NlcnQgPSBtaW5Bc3NlcnQ7XFxudXRpbHMudG9BcnJheSA9IG1pblV0aWxzLnRvQXJyYXk7XFxudXRpbHMuemVybzIgPSBtaW5VdGlscy56ZXJvMjtcXG51dGlscy50b0hleCA9IG1pblV0aWxzLnRvSGV4O1xcbnV0aWxzLmVuY29kZSA9IG1pblV0aWxzLmVuY29kZTtcXG5cXG4vLyBSZXByZXNlbnQgbnVtIGluIGEgdy1OQUYgZm9ybVxcbmZ1bmN0aW9uIGdldE5BRihudW0sIHcsIGJpdHMpIHtcXG4gIHZhciBuYWYgPSBuZXcgQXJyYXkoTWF0aC5tYXgobnVtLmJpdExlbmd0aCgpLCBiaXRzKSArIDEpO1xcbiAgbmFmLmZpbGwoMCk7XFxuXFxuICB2YXIgd3MgPSAxIDw8ICh3ICsgMSk7XFxuICB2YXIgayA9IG51bS5jbG9uZSgpO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYWYubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHo7XFxuICAgIHZhciBtb2QgPSBrLmFuZGxuKHdzIC0gMSk7XFxuICAgIGlmIChrLmlzT2RkKCkpIHtcXG4gICAgICBpZiAobW9kID4gKHdzID4+IDEpIC0gMSlcXG4gICAgICAgIHogPSAod3MgPj4gMSkgLSBtb2Q7XFxuICAgICAgZWxzZVxcbiAgICAgICAgeiA9IG1vZDtcXG4gICAgICBrLmlzdWJuKHopO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHogPSAwO1xcbiAgICB9XFxuXFxuICAgIG5hZltpXSA9IHo7XFxuICAgIGsuaXVzaHJuKDEpO1xcbiAgfVxcblxcbiAgcmV0dXJuIG5hZjtcXG59XFxudXRpbHMuZ2V0TkFGID0gZ2V0TkFGO1xcblxcbi8vIFJlcHJlc2VudCBrMSwgazIgaW4gYSBKb2ludCBTcGFyc2UgRm9ybVxcbmZ1bmN0aW9uIGdldEpTRihrMSwgazIpIHtcXG4gIHZhciBqc2YgPSBbXFxuICAgIFtdLFxcbiAgICBbXVxcbiAgXTtcXG5cXG4gIGsxID0gazEuY2xvbmUoKTtcXG4gIGsyID0gazIuY2xvbmUoKTtcXG4gIHZhciBkMSA9IDA7XFxuICB2YXIgZDIgPSAwO1xcbiAgd2hpbGUgKGsxLmNtcG4oLWQxKSA+IDAgfHwgazIuY21wbigtZDIpID4gMCkge1xcblxcbiAgICAvLyBGaXJzdCBwaGFzZVxcbiAgICB2YXIgbTE0ID0gKGsxLmFuZGxuKDMpICsgZDEpICYgMztcXG4gICAgdmFyIG0yNCA9IChrMi5hbmRsbigzKSArIGQyKSAmIDM7XFxuICAgIGlmIChtMTQgPT09IDMpXFxuICAgICAgbTE0ID0gLTE7XFxuICAgIGlmIChtMjQgPT09IDMpXFxuICAgICAgbTI0ID0gLTE7XFxuICAgIHZhciB1MTtcXG4gICAgaWYgKChtMTQgJiAxKSA9PT0gMCkge1xcbiAgICAgIHUxID0gMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgbTggPSAoazEuYW5kbG4oNykgKyBkMSkgJiA3O1xcbiAgICAgIGlmICgobTggPT09IDMgfHwgbTggPT09IDUpICYmIG0yNCA9PT0gMilcXG4gICAgICAgIHUxID0gLW0xNDtcXG4gICAgICBlbHNlXFxuICAgICAgICB1MSA9IG0xNDtcXG4gICAgfVxcbiAgICBqc2ZbMF0ucHVzaCh1MSk7XFxuXFxuICAgIHZhciB1MjtcXG4gICAgaWYgKChtMjQgJiAxKSA9PT0gMCkge1xcbiAgICAgIHUyID0gMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgbTggPSAoazIuYW5kbG4oNykgKyBkMikgJiA3O1xcbiAgICAgIGlmICgobTggPT09IDMgfHwgbTggPT09IDUpICYmIG0xNCA9PT0gMilcXG4gICAgICAgIHUyID0gLW0yNDtcXG4gICAgICBlbHNlXFxuICAgICAgICB1MiA9IG0yNDtcXG4gICAgfVxcbiAgICBqc2ZbMV0ucHVzaCh1Mik7XFxuXFxuICAgIC8vIFNlY29uZCBwaGFzZVxcbiAgICBpZiAoMiAqIGQxID09PSB1MSArIDEpXFxuICAgICAgZDEgPSAxIC0gZDE7XFxuICAgIGlmICgyICogZDIgPT09IHUyICsgMSlcXG4gICAgICBkMiA9IDEgLSBkMjtcXG4gICAgazEuaXVzaHJuKDEpO1xcbiAgICBrMi5pdXNocm4oMSk7XFxuICB9XFxuXFxuICByZXR1cm4ganNmO1xcbn1cXG51dGlscy5nZXRKU0YgPSBnZXRKU0Y7XFxuXFxuZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkob2JqLCBuYW1lLCBjb21wdXRlcikge1xcbiAgdmFyIGtleSA9ICdfJyArIG5hbWU7XFxuICBvYmoucHJvdG90eXBlW25hbWVdID0gZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkoKSB7XFxuICAgIHJldHVybiB0aGlzW2tleV0gIT09IHVuZGVmaW5lZCA/IHRoaXNba2V5XSA6XFxuICAgICAgICAgICB0aGlzW2tleV0gPSBjb21wdXRlci5jYWxsKHRoaXMpO1xcbiAgfTtcXG59XFxudXRpbHMuY2FjaGVkUHJvcGVydHkgPSBjYWNoZWRQcm9wZXJ0eTtcXG5cXG5mdW5jdGlvbiBwYXJzZUJ5dGVzKGJ5dGVzKSB7XFxuICByZXR1cm4gdHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJyA/IHV0aWxzLnRvQXJyYXkoYnl0ZXMsICdoZXgnKSA6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzO1xcbn1cXG51dGlscy5wYXJzZUJ5dGVzID0gcGFyc2VCeXRlcztcXG5cXG5mdW5jdGlvbiBpbnRGcm9tTEUoYnl0ZXMpIHtcXG4gIHJldHVybiBuZXcgQk4oYnl0ZXMsICdoZXgnLCAnbGUnKTtcXG59XFxudXRpbHMuaW50RnJvbUxFID0gaW50RnJvbUxFO1xcblxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZkWFJwYkhNdWFuTS9NVGcyTnlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWp0QlFVTkJMRk5CUVZNc2JVSkJRVThzUTBGQlF5eHRSVUZCVHp0QlFVTjRRaXhuUWtGQlowSXNiVUpCUVU4c1EwRkJReXgzUlVGQmNVSTdRVUZETjBNc1pVRkJaU3h0UWtGQlR5eERRVUZETEhkR1FVRXlRanM3UVVGRmJFUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhuUWtGQlowSTdRVUZEYWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012ZFhScGJITXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJR1Y0Y0c5eWRITTdYRzUyWVhJZ1FrNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BPMXh1ZG1GeUlHMXBia0Z6YzJWeWRDQTlJSEpsY1hWcGNtVW9KMjFwYm1sdFlXeHBjM1JwWXkxaGMzTmxjblFuS1R0Y2JuWmhjaUJ0YVc1VmRHbHNjeUE5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWpjbmx3ZEc4dGRYUnBiSE1uS1R0Y2JseHVkWFJwYkhNdVlYTnpaWEowSUQwZ2JXbHVRWE56WlhKME8xeHVkWFJwYkhNdWRHOUJjbkpoZVNBOUlHMXBibFYwYVd4ekxuUnZRWEp5WVhrN1hHNTFkR2xzY3k1NlpYSnZNaUE5SUcxcGJsVjBhV3h6TG5wbGNtOHlPMXh1ZFhScGJITXVkRzlJWlhnZ1BTQnRhVzVWZEdsc2N5NTBiMGhsZUR0Y2JuVjBhV3h6TG1WdVkyOWtaU0E5SUcxcGJsVjBhV3h6TG1WdVkyOWtaVHRjYmx4dUx5OGdVbVZ3Y21WelpXNTBJRzUxYlNCcGJpQmhJSGN0VGtGR0lHWnZjbTFjYm1aMWJtTjBhVzl1SUdkbGRFNUJSaWh1ZFcwc0lIY3NJR0pwZEhNcElIdGNiaUFnZG1GeUlHNWhaaUE5SUc1bGR5QkJjbkpoZVNoTllYUm9MbTFoZUNodWRXMHVZbWwwVEdWdVozUm9LQ2tzSUdKcGRITXBJQ3NnTVNrN1hHNGdJRzVoWmk1bWFXeHNLREFwTzF4dVhHNGdJSFpoY2lCM2N5QTlJREVnUER3Z0tIY2dLeUF4S1R0Y2JpQWdkbUZ5SUdzZ1BTQnVkVzB1WTJ4dmJtVW9LVHRjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzVoWmk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lIWmhjaUI2TzF4dUlDQWdJSFpoY2lCdGIyUWdQU0JyTG1GdVpHeHVLSGR6SUMwZ01TazdYRzRnSUNBZ2FXWWdLR3N1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHMXZaQ0ErSUNoM2N5QStQaUF4S1NBdElERXBYRzRnSUNBZ0lDQWdJSG9nUFNBb2QzTWdQajRnTVNrZ0xTQnRiMlE3WEc0Z0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lIb2dQU0J0YjJRN1hHNGdJQ0FnSUNCckxtbHpkV0p1S0hvcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I2SUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCdVlXWmJhVjBnUFNCNk8xeHVJQ0FnSUdzdWFYVnphSEp1S0RFcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNWhaanRjYm4xY2JuVjBhV3h6TG1kbGRFNUJSaUE5SUdkbGRFNUJSanRjYmx4dUx5OGdVbVZ3Y21WelpXNTBJR3N4TENCck1pQnBiaUJoSUVwdmFXNTBJRk53WVhKelpTQkdiM0p0WEc1bWRXNWpkR2x2YmlCblpYUktVMFlvYXpFc0lHc3lLU0I3WEc0Z0lIWmhjaUJxYzJZZ1BTQmJYRzRnSUNBZ1cxMHNYRzRnSUNBZ1cxMWNiaUFnWFR0Y2JseHVJQ0JyTVNBOUlHc3hMbU5zYjI1bEtDazdYRzRnSUdzeUlEMGdhekl1WTJ4dmJtVW9LVHRjYmlBZ2RtRnlJR1F4SUQwZ01EdGNiaUFnZG1GeUlHUXlJRDBnTUR0Y2JpQWdkMmhwYkdVZ0tHc3hMbU50Y0c0b0xXUXhLU0ErSURBZ2ZId2dhekl1WTIxd2JpZ3RaRElwSUQ0Z01Da2dlMXh1WEc0Z0lDQWdMeThnUm1seWMzUWdjR2hoYzJWY2JpQWdJQ0IyWVhJZ2JURTBJRDBnS0dzeExtRnVaR3h1S0RNcElDc2daREVwSUNZZ016dGNiaUFnSUNCMllYSWdiVEkwSUQwZ0tHc3lMbUZ1Wkd4dUtETXBJQ3NnWkRJcElDWWdNenRjYmlBZ0lDQnBaaUFvYlRFMElEMDlQU0F6S1Z4dUlDQWdJQ0FnYlRFMElEMGdMVEU3WEc0Z0lDQWdhV1lnS0cweU5DQTlQVDBnTXlsY2JpQWdJQ0FnSUcweU5DQTlJQzB4TzF4dUlDQWdJSFpoY2lCMU1UdGNiaUFnSUNCcFppQW9LRzB4TkNBbUlERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjFNU0E5SURBN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFpoY2lCdE9DQTlJQ2hyTVM1aGJtUnNiaWczS1NBcklHUXhLU0FtSURjN1hHNGdJQ0FnSUNCcFppQW9LRzA0SUQwOVBTQXpJSHg4SUcwNElEMDlQU0ExS1NBbUppQnRNalFnUFQwOUlESXBYRzRnSUNBZ0lDQWdJSFV4SUQwZ0xXMHhORHRjYmlBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ2RURWdQU0J0TVRRN1hHNGdJQ0FnZlZ4dUlDQWdJR3B6Wmxzd1hTNXdkWE5vS0hVeEtUdGNibHh1SUNBZ0lIWmhjaUIxTWp0Y2JpQWdJQ0JwWmlBb0tHMHlOQ0FtSURFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMU1pQTlJREE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIWmhjaUJ0T0NBOUlDaHJNaTVoYm1Sc2JpZzNLU0FySUdReUtTQW1JRGM3WEc0Z0lDQWdJQ0JwWmlBb0tHMDRJRDA5UFNBeklIeDhJRzA0SUQwOVBTQTFLU0FtSmlCdE1UUWdQVDA5SURJcFhHNGdJQ0FnSUNBZ0lIVXlJRDBnTFcweU5EdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnZFRJZ1BTQnRNalE3WEc0Z0lDQWdmVnh1SUNBZ0lHcHpabHN4WFM1d2RYTm9LSFV5S1R0Y2JseHVJQ0FnSUM4dklGTmxZMjl1WkNCd2FHRnpaVnh1SUNBZ0lHbG1JQ2d5SUNvZ1pERWdQVDA5SUhVeElDc2dNU2xjYmlBZ0lDQWdJR1F4SUQwZ01TQXRJR1F4TzF4dUlDQWdJR2xtSUNneUlDb2daRElnUFQwOUlIVXlJQ3NnTVNsY2JpQWdJQ0FnSUdReUlEMGdNU0F0SUdReU8xeHVJQ0FnSUdzeExtbDFjMmh5YmlneEtUdGNiaUFnSUNCck1pNXBkWE5vY200b01TazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdhbk5tTzF4dWZWeHVkWFJwYkhNdVoyVjBTbE5HSUQwZ1oyVjBTbE5HTzF4dVhHNW1kVzVqZEdsdmJpQmpZV05vWldSUWNtOXdaWEowZVNodlltb3NJRzVoYldVc0lHTnZiWEIxZEdWeUtTQjdYRzRnSUhaaGNpQnJaWGtnUFNBblh5Y2dLeUJ1WVcxbE8xeHVJQ0J2WW1vdWNISnZkRzkwZVhCbFcyNWhiV1ZkSUQwZ1puVnVZM1JwYjI0Z1kyRmphR1ZrVUhKdmNHVnlkSGtvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhOYmEyVjVYU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdkR2hwYzF0clpYbGRJRHBjYmlBZ0lDQWdJQ0FnSUNBZ2RHaHBjMXRyWlhsZElEMGdZMjl0Y0hWMFpYSXVZMkZzYkNoMGFHbHpLVHRjYmlBZ2ZUdGNibjFjYm5WMGFXeHpMbU5oWTJobFpGQnliM0JsY25SNUlEMGdZMkZqYUdWa1VISnZjR1Z5ZEhrN1hHNWNibVoxYm1OMGFXOXVJSEJoY25ObFFubDBaWE1vWW5sMFpYTXBJSHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUJpZVhSbGN5QTlQVDBnSjNOMGNtbHVaeWNnUHlCMWRHbHNjeTUwYjBGeWNtRjVLR0o1ZEdWekxDQW5hR1Y0SnlrZ09seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0o1ZEdWek8xeHVmVnh1ZFhScGJITXVjR0Z5YzJWQ2VYUmxjeUE5SUhCaGNuTmxRbmwwWlhNN1hHNWNibVoxYm1OMGFXOXVJR2x1ZEVaeWIyMU1SU2hpZVhSbGN5a2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFSk9LR0o1ZEdWekxDQW5hR1Y0Snl3Z0oyeGxKeWs3WEc1OVhHNTFkR2xzY3k1cGJuUkdjbTl0VEVVZ1BTQnBiblJHY205dFRFVTdYRzVjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihtb2R1bGUpIHsoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xcbiAgJ3VzZSBzdHJpY3QnO1xcblxcbiAgLy8gVXRpbHNcXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcXG4gICAgaWYgKCF2YWwpIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG4gIH1cXG5cXG4gIC8vIENvdWxkIHVzZSBgaW5oZXJpdHNgIG1vZHVsZSwgYnV0IGRvbid0IHdhbnQgdG8gbW92ZSBmcm9tIHNpbmdsZSBmaWxlXFxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxcbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xcbiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcXG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XFxuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XFxuICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XFxuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcXG4gIH1cXG5cXG4gIC8vIEJOXFxuXFxuICBmdW5jdGlvbiBCTiAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xcbiAgICAgIHJldHVybiBudW1iZXI7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIHRoaXMud29yZHMgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuXFxuICAgIC8vIFJlZHVjdGlvbiBjb250ZXh0XFxuICAgIHRoaXMucmVkID0gbnVsbDtcXG5cXG4gICAgaWYgKG51bWJlciAhPT0gbnVsbCkge1xcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcXG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XFxuICAgICAgICBiYXNlID0gMTA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuX2luaXQobnVtYmVyIHx8IDAsIGJhc2UgfHwgMTAsIGVuZGlhbiB8fCAnYmUnKTtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKSB7XFxuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XFxuICB9IGVsc2Uge1xcbiAgICBleHBvcnRzLkJOID0gQk47XFxuICB9XFxuXFxuICBCTi5CTiA9IEJOO1xcbiAgQk4ud29yZFNpemUgPSAyNjtcXG5cXG4gIHZhciBCdWZmZXI7XFxuICB0cnkge1xcbiAgICBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gMTApLkJ1ZmZlcjtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG5cXG4gIEJOLmlzQk4gPSBmdW5jdGlvbiBpc0JOIChudW0pIHtcXG4gICAgaWYgKG51bSBpbnN0YW5jZW9mIEJOKSB7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bSAhPT0gbnVsbCAmJiB0eXBlb2YgbnVtID09PSAnb2JqZWN0JyAmJlxcbiAgICAgIG51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZSA9PT0gQk4ud29yZFNpemUgJiYgQXJyYXkuaXNBcnJheShudW0ud29yZHMpO1xcbiAgfTtcXG5cXG4gIEJOLm1heCA9IGZ1bmN0aW9uIG1heCAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA+IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ubWluID0gZnVuY3Rpb24gbWluIChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpIDwgMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ251bWJlcicpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdE51bWJlcihudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdvYmplY3QnKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXRBcnJheShudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgYmFzZSA9IDE2O1xcbiAgICB9XFxuICAgIGFzc2VydChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KTtcXG5cXG4gICAgbnVtYmVyID0gbnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxcXHMrL2csICcnKTtcXG4gICAgdmFyIHN0YXJ0ID0gMDtcXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgc3RhcnQrKztcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gMTYpIHtcXG4gICAgICB0aGlzLl9wYXJzZUhleChudW1iZXIsIHN0YXJ0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLl9wYXJzZUJhc2UobnVtYmVyLCBiYXNlLCBzdGFydCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XFxuXFxuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXROdW1iZXIgPSBmdW5jdGlvbiBfaW5pdE51bWJlciAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKG51bWJlciA8IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICBudW1iZXIgPSAtbnVtYmVyO1xcbiAgICB9XFxuICAgIGlmIChudW1iZXIgPCAweDQwMDAwMDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyBudW1iZXIgJiAweDNmZmZmZmYgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChudW1iZXIgPCAweDIwMDAwMDAwMDAwMDAwKTsgLy8gMiBeIDUzICh1bnNhZmUpXFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmLFxcbiAgICAgICAgMVxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAzO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdEFycmF5ID0gZnVuY3Rpb24gX2luaXRBcnJheSAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XFxuICAgIGlmIChudW1iZXIubGVuZ3RoIDw9IDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyAwIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKG51bWJlci5sZW5ndGggLyAzKTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xcbiAgICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSAxLCBqID0gMDsgaSA+PSAwOyBpIC09IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgLSAxXSA8PCA4KSB8IChudW1iZXJbaSAtIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZW5kaWFuID09PSAnbGUnKSB7XFxuICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBudW1iZXIubGVuZ3RoOyBpICs9IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgKyAxXSA8PCA4KSB8IChudW1iZXJbaSArIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBwYXJzZUhleCAoc3RyLCBzdGFydCwgZW5kKSB7XFxuICAgIHZhciByID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgPDw9IDQ7XFxuXFxuICAgICAgLy8gJ2EnIC0gJ2YnXFxuICAgICAgaWYgKGMgPj0gNDkgJiYgYyA8PSA1NCkge1xcbiAgICAgICAgciB8PSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnIC0gJ0YnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3ICYmIGMgPD0gMjIpIHtcXG4gICAgICAgIHIgfD0gYyAtIDE3ICsgMHhhO1xcblxcbiAgICAgIC8vICcwJyAtICc5J1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByIHw9IGMgJiAweGY7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUhleCA9IGZ1bmN0aW9uIF9wYXJzZUhleCAobnVtYmVyLCBzdGFydCkge1xcbiAgICAvLyBDcmVhdGUgcG9zc2libHkgYmlnZ2VyIGFycmF5IHRvIGVuc3VyZSB0aGF0IGl0IGZpdHMgdGhlIG51bWJlclxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbCgobnVtYmVyLmxlbmd0aCAtIHN0YXJ0KSAvIDYpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIC8vIFNjYW4gMjQtYml0IGNodW5rcyBhbmQgYWRkIHRoZW0gdG8gdGhlIG51bWJlclxcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDYsIGogPSAwOyBpID49IHN0YXJ0OyBpIC09IDYpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBpLCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIC8vIE5PVEU6IGAweDNmZmZmZmAgaXMgaW50ZW50aW9uYWwgaGVyZSwgMjZiaXRzIG1heCBzaGlmdCArIDI0Yml0IGhleCBsaW1iXFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICAgIG9mZiArPSAyNDtcXG4gICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICBqKys7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChpICsgNiAhPT0gc3RhcnQpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBzdGFydCwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlQmFzZSAoc3RyLCBzdGFydCwgZW5kLCBtdWwpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciAqPSBtdWw7XFxuXFxuICAgICAgLy8gJ2EnXFxuICAgICAgaWYgKGMgPj0gNDkpIHtcXG4gICAgICAgIHIgKz0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xcbiAgICAgICAgciArPSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgKz0gYztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlQmFzZSA9IGZ1bmN0aW9uIF9wYXJzZUJhc2UgKG51bWJlciwgYmFzZSwgc3RhcnQpIHtcXG4gICAgLy8gSW5pdGlhbGl6ZSBhcyB6ZXJvXFxuICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgdGhpcy5sZW5ndGggPSAxO1xcblxcbiAgICAvLyBGaW5kIGxlbmd0aCBvZiBsaW1iIGluIGJhc2VcXG4gICAgZm9yICh2YXIgbGltYkxlbiA9IDAsIGxpbWJQb3cgPSAxOyBsaW1iUG93IDw9IDB4M2ZmZmZmZjsgbGltYlBvdyAqPSBiYXNlKSB7XFxuICAgICAgbGltYkxlbisrO1xcbiAgICB9XFxuICAgIGxpbWJMZW4tLTtcXG4gICAgbGltYlBvdyA9IChsaW1iUG93IC8gYmFzZSkgfCAwO1xcblxcbiAgICB2YXIgdG90YWwgPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XFxuICAgIHZhciBtb2QgPSB0b3RhbCAlIGxpbWJMZW47XFxuICAgIHZhciBlbmQgPSBNYXRoLm1pbih0b3RhbCwgdG90YWwgLSBtb2QpICsgc3RhcnQ7XFxuXFxuICAgIHZhciB3b3JkID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IGxpbWJMZW4pIHtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgaSArIGxpbWJMZW4sIGJhc2UpO1xcblxcbiAgICAgIHRoaXMuaW11bG4obGltYlBvdyk7XFxuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobW9kICE9PSAwKSB7XFxuICAgICAgdmFyIHBvdyA9IDE7XFxuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIG51bWJlci5sZW5ndGgsIGJhc2UpO1xcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBtb2Q7IGkrKykge1xcbiAgICAgICAgcG93ICo9IGJhc2U7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuaW11bG4ocG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiBjb3B5IChkZXN0KSB7XFxuICAgIGRlc3Qud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBkZXN0LndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBkZXN0Lmxlbmd0aCA9IHRoaXMubGVuZ3RoO1xcbiAgICBkZXN0Lm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcXG4gICAgZGVzdC5yZWQgPSB0aGlzLnJlZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSAoKSB7XFxuICAgIHZhciByID0gbmV3IEJOKG51bGwpO1xcbiAgICB0aGlzLmNvcHkocik7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZXhwYW5kID0gZnVuY3Rpb24gX2V4cGFuZCAoc2l6ZSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBzaXplKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gUmVtb3ZlIGxlYWRpbmcgYDBgIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3RyaXAgPSBmdW5jdGlvbiBzdHJpcCAoKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA+IDEgJiYgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgdGhpcy5sZW5ndGgtLTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX25vcm1TaWduID0gZnVuY3Rpb24gX25vcm1TaWduICgpIHtcXG4gICAgLy8gLTAgPSAwXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLnJlZCA/ICc8Qk4tUjogJyA6ICc8Qk46ICcpICsgdGhpcy50b1N0cmluZygxNikgKyAnPic7XFxuICB9O1xcblxcbiAgLypcXG5cXG4gIHZhciB6ZXJvcyA9IFtdO1xcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXTtcXG4gIHZhciBncm91cEJhc2VzID0gW107XFxuXFxuICB2YXIgcyA9ICcnO1xcbiAgdmFyIGkgPSAtMTtcXG4gIHdoaWxlICgrK2kgPCBCTi53b3JkU2l6ZSkge1xcbiAgICB6ZXJvc1tpXSA9IHM7XFxuICAgIHMgKz0gJzAnO1xcbiAgfVxcbiAgZ3JvdXBTaXplc1swXSA9IDA7XFxuICBncm91cFNpemVzWzFdID0gMDtcXG4gIGdyb3VwQmFzZXNbMF0gPSAwO1xcbiAgZ3JvdXBCYXNlc1sxXSA9IDA7XFxuICB2YXIgYmFzZSA9IDIgLSAxO1xcbiAgd2hpbGUgKCsrYmFzZSA8IDM2ICsgMSkge1xcbiAgICB2YXIgZ3JvdXBTaXplID0gMDtcXG4gICAgdmFyIGdyb3VwQmFzZSA9IDE7XFxuICAgIHdoaWxlIChncm91cEJhc2UgPCAoMSA8PCBCTi53b3JkU2l6ZSkgLyBiYXNlKSB7XFxuICAgICAgZ3JvdXBCYXNlICo9IGJhc2U7XFxuICAgICAgZ3JvdXBTaXplICs9IDE7XFxuICAgIH1cXG4gICAgZ3JvdXBTaXplc1tiYXNlXSA9IGdyb3VwU2l6ZTtcXG4gICAgZ3JvdXBCYXNlc1tiYXNlXSA9IGdyb3VwQmFzZTtcXG4gIH1cXG5cXG4gICovXFxuXFxuICB2YXIgemVyb3MgPSBbXFxuICAgICcnLFxcbiAgICAnMCcsXFxuICAgICcwMCcsXFxuICAgICcwMDAnLFxcbiAgICAnMDAwMCcsXFxuICAgICcwMDAwMCcsXFxuICAgICcwMDAwMDAnLFxcbiAgICAnMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBTaXplcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMjUsIDE2LCAxMiwgMTEsIDEwLCA5LCA4LFxcbiAgICA4LCA3LCA3LCA3LCA3LCA2LCA2LFxcbiAgICA2LCA2LCA2LCA2LCA2LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1XFxuICBdO1xcblxcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDMzNTU0NDMyLCA0MzA0NjcyMSwgMTY3NzcyMTYsIDQ4ODI4MTI1LCA2MDQ2NjE3NiwgNDAzNTM2MDcsIDE2Nzc3MjE2LFxcbiAgICA0MzA0NjcyMSwgMTAwMDAwMDAsIDE5NDg3MTcxLCAzNTgzMTgwOCwgNjI3NDg1MTcsIDc1Mjk1MzYsIDExMzkwNjI1LFxcbiAgICAxNjc3NzIxNiwgMjQxMzc1NjksIDM0MDEyMjI0LCA0NzA0NTg4MSwgNjQwMDAwMDAsIDQwODQxMDEsIDUxNTM2MzIsXFxuICAgIDY0MzYzNDMsIDc5NjI2MjQsIDk3NjU2MjUsIDExODgxMzc2LCAxNDM0ODkwNywgMTcyMTAzNjgsIDIwNTExMTQ5LFxcbiAgICAyNDMwMDAwMCwgMjg2MjkxNTEsIDMzNTU0NDMyLCAzOTEzNTM5MywgNDU0MzU0MjQsIDUyNTIxODc1LCA2MDQ2NjE3NlxcbiAgXTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChiYXNlLCBwYWRkaW5nKSB7XFxuICAgIGJhc2UgPSBiYXNlIHx8IDEwO1xcbiAgICBwYWRkaW5nID0gcGFkZGluZyB8IDAgfHwgMTtcXG5cXG4gICAgdmFyIG91dDtcXG4gICAgaWYgKGJhc2UgPT09IDE2IHx8IGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIG9mZiA9IDA7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICAgIHZhciB3b3JkID0gKCgodyA8PCBvZmYpIHwgY2FycnkpICYgMHhmZmZmZmYpLnRvU3RyaW5nKDE2KTtcXG4gICAgICAgIGNhcnJ5ID0gKHcgPj4+ICgyNCAtIG9mZikpICYgMHhmZmZmZmY7XFxuICAgICAgICBpZiAoY2FycnkgIT09IDAgfHwgaSAhPT0gdGhpcy5sZW5ndGggLSAxKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zWzYgLSB3b3JkLmxlbmd0aF0gKyB3b3JkICsgb3V0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgb3V0ID0gd29yZCArIG91dDtcXG4gICAgICAgIH1cXG4gICAgICAgIG9mZiArPSAyO1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGktLTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSBjYXJyeS50b1N0cmluZygxNikgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KSB7XFxuICAgICAgLy8gdmFyIGdyb3VwU2l6ZSA9IE1hdGguZmxvb3IoQk4ud29yZFNpemUgKiBNYXRoLkxOMiAvIE1hdGgubG9nKGJhc2UpKTtcXG4gICAgICB2YXIgZ3JvdXBTaXplID0gZ3JvdXBTaXplc1tiYXNlXTtcXG4gICAgICAvLyB2YXIgZ3JvdXBCYXNlID0gTWF0aC5wb3coYmFzZSwgZ3JvdXBTaXplKTtcXG4gICAgICB2YXIgZ3JvdXBCYXNlID0gZ3JvdXBCYXNlc1tiYXNlXTtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgYyA9IHRoaXMuY2xvbmUoKTtcXG4gICAgICBjLm5lZ2F0aXZlID0gMDtcXG4gICAgICB3aGlsZSAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgIHZhciByID0gYy5tb2RuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7XFxuICAgICAgICBjID0gYy5pZGl2bihncm91cEJhc2UpO1xcblxcbiAgICAgICAgaWYgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zW2dyb3VwU2l6ZSAtIHIubGVuZ3RoXSArIHIgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSByICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoZmFsc2UsICdCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Jyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvTnVtYmVyID0gZnVuY3Rpb24gdG9OdW1iZXIgKCkge1xcbiAgICB2YXIgcmV0ID0gdGhpcy53b3Jkc1swXTtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAyKSB7XFxuICAgICAgcmV0ICs9IHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDA7XFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPT09IDMgJiYgdGhpcy53b3Jkc1syXSA9PT0gMHgwMSkge1xcbiAgICAgIC8vIE5PVEU6IGF0IHRoaXMgc3RhZ2UgaXQgaXMga25vd24gdGhhdCB0aGUgdG9wIGJpdCBpcyBzZXRcXG4gICAgICByZXQgKz0gMHgxMDAwMDAwMDAwMDAwMCArICh0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwKTtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IDIpIHtcXG4gICAgICBhc3NlcnQoZmFsc2UsICdOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gKHRoaXMubmVnYXRpdmUgIT09IDApID8gLXJldCA6IHJldDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0J1ZmZlciA9IGZ1bmN0aW9uIHRvQnVmZmVyIChlbmRpYW4sIGxlbmd0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpO1xcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIHRvQXJyYXkgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LCBlbmRpYW4sIGxlbmd0aCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQXJyYXlMaWtlID0gZnVuY3Rpb24gdG9BcnJheUxpa2UgKEFycmF5VHlwZSwgZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgdmFyIGJ5dGVMZW5ndGggPSB0aGlzLmJ5dGVMZW5ndGgoKTtcXG4gICAgdmFyIHJlcUxlbmd0aCA9IGxlbmd0aCB8fCBNYXRoLm1heCgxLCBieXRlTGVuZ3RoKTtcXG4gICAgYXNzZXJ0KGJ5dGVMZW5ndGggPD0gcmVxTGVuZ3RoLCAnYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCcpO1xcbiAgICBhc3NlcnQocmVxTGVuZ3RoID4gMCwgJ1JlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCcpO1xcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICAgIHZhciBsaXR0bGVFbmRpYW4gPSBlbmRpYW4gPT09ICdsZSc7XFxuICAgIHZhciByZXMgPSBuZXcgQXJyYXlUeXBlKHJlcUxlbmd0aCk7XFxuXFxuICAgIHZhciBiLCBpO1xcbiAgICB2YXIgcSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgaWYgKCFsaXR0bGVFbmRpYW4pIHtcXG4gICAgICAvLyBBc3N1bWUgYmlnLWVuZGlhblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCByZXFMZW5ndGggLSBieXRlTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7ICFxLmlzWmVybygpOyBpKyspIHtcXG4gICAgICAgIGIgPSBxLmFuZGxuKDB4ZmYpO1xcbiAgICAgICAgcS5pdXNocm4oOCk7XFxuXFxuICAgICAgICByZXNbcmVxTGVuZ3RoIC0gaSAtIDFdID0gYjtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tpXSA9IGI7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoOyBpIDwgcmVxTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgaWYgKE1hdGguY2x6MzIpIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgcmV0dXJuIDMyIC0gTWF0aC5jbHozMih3KTtcXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIEJOLnByb3RvdHlwZS5fY291bnRCaXRzID0gZnVuY3Rpb24gX2NvdW50Qml0cyAodykge1xcbiAgICAgIHZhciB0ID0gdztcXG4gICAgICB2YXIgciA9IDA7XFxuICAgICAgaWYgKHQgPj0gMHgxMDAwKSB7XFxuICAgICAgICByICs9IDEzO1xcbiAgICAgICAgdCA+Pj49IDEzO1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDQwKSB7XFxuICAgICAgICByICs9IDc7XFxuICAgICAgICB0ID4+Pj0gNztcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHg4KSB7XFxuICAgICAgICByICs9IDQ7XFxuICAgICAgICB0ID4+Pj0gNDtcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHgwMikge1xcbiAgICAgICAgciArPSAyO1xcbiAgICAgICAgdCA+Pj49IDI7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiByICsgdDtcXG4gICAgfTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5femVyb0JpdHMgPSBmdW5jdGlvbiBfemVyb0JpdHMgKHcpIHtcXG4gICAgLy8gU2hvcnQtY3V0XFxuICAgIGlmICh3ID09PSAwKSByZXR1cm4gMjY7XFxuXFxuICAgIHZhciB0ID0gdztcXG4gICAgdmFyIHIgPSAwO1xcbiAgICBpZiAoKHQgJiAweDFmZmYpID09PSAwKSB7XFxuICAgICAgciArPSAxMztcXG4gICAgICB0ID4+Pj0gMTM7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHg3ZikgPT09IDApIHtcXG4gICAgICByICs9IDc7XFxuICAgICAgdCA+Pj49IDc7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHhmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNDtcXG4gICAgICB0ID4+Pj0gNDtcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDMpID09PSAwKSB7XFxuICAgICAgciArPSAyO1xcbiAgICAgIHQgPj4+PSAyO1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MSkgPT09IDApIHtcXG4gICAgICByKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG51bWJlciBvZiB1c2VkIGJpdHMgaW4gYSBCTlxcbiAgQk4ucHJvdG90eXBlLmJpdExlbmd0aCA9IGZ1bmN0aW9uIGJpdExlbmd0aCAoKSB7XFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdO1xcbiAgICB2YXIgaGkgPSB0aGlzLl9jb3VudEJpdHModyk7XFxuICAgIHJldHVybiAodGhpcy5sZW5ndGggLSAxKSAqIDI2ICsgaGk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gdG9CaXRBcnJheSAobnVtKSB7XFxuICAgIHZhciB3ID0gbmV3IEFycmF5KG51bS5iaXRMZW5ndGgoKSk7XFxuXFxuICAgIGZvciAodmFyIGJpdCA9IDA7IGJpdCA8IHcubGVuZ3RoOyBiaXQrKykge1xcbiAgICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcXG4gICAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICAgIHdbYml0XSA9IChudW0ud29yZHNbb2ZmXSAmICgxIDw8IHdiaXQpKSA+Pj4gd2JpdDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdztcXG4gIH1cXG5cXG4gIC8vIE51bWJlciBvZiB0cmFpbGluZyB6ZXJvIGJpdHNcXG4gIEJOLnByb3RvdHlwZS56ZXJvQml0cyA9IGZ1bmN0aW9uIHplcm9CaXRzICgpIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiAwO1xcblxcbiAgICB2YXIgciA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBiID0gdGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7XFxuICAgICAgciArPSBiO1xcbiAgICAgIGlmIChiICE9PSAyNikgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmJ5dGVMZW5ndGggPSBmdW5jdGlvbiBieXRlTGVuZ3RoICgpIHtcXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpIC8gOCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvVHdvcyA9IGZ1bmN0aW9uIHRvVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICByZXR1cm4gdGhpcy5hYnMoKS5pbm90bih3aWR0aCkuaWFkZG4oMSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZnJvbVR3b3MgPSBmdW5jdGlvbiBmcm9tVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMudGVzdG4od2lkdGggLSAxKSkge1xcbiAgICAgIHJldHVybiB0aGlzLm5vdG4od2lkdGgpLmlhZGRuKDEpLmluZWcoKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc05lZyA9IGZ1bmN0aW9uIGlzTmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubmVnYXRpdmUgIT09IDA7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5lZygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbmVnID0gZnVuY3Rpb24gaW5lZyAoKSB7XFxuICAgIGlmICghdGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgXj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1b3IgPSBmdW5jdGlvbiBpdW9yIChudW0pIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gfCBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW9yID0gZnVuY3Rpb24gaW9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm9yID0gZnVuY3Rpb24gb3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaW9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51b3IgPSBmdW5jdGlvbiB1b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVhbmQgPSBmdW5jdGlvbiBpdWFuZCAobnVtKSB7XFxuICAgIC8vIGIgPSBtaW4tbGVuZ3RoKG51bSwgdGhpcylcXG4gICAgdmFyIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldICYgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYi5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1YW5kKG51bSk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51YW5kID0gZnVuY3Rpb24gdWFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1eG9yID0gZnVuY3Rpb24gaXV4b3IgKG51bSkge1xcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhO1xcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5peG9yID0gZnVuY3Rpb24gaXhvciAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXhvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnhvciA9IGZ1bmN0aW9uIHhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXhvciA9IGZ1bmN0aW9uIHV4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1eG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBOb3QgYGB0aGlzYGAgd2l0aCBgYHdpZHRoYGAgYml0d2lkdGhcXG4gIEJOLnByb3RvdHlwZS5pbm90biA9IGZ1bmN0aW9uIGlub3RuICh3aWR0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJyAmJiB3aWR0aCA+PSAwKTtcXG5cXG4gICAgdmFyIGJ5dGVzTmVlZGVkID0gTWF0aC5jZWlsKHdpZHRoIC8gMjYpIHwgMDtcXG4gICAgdmFyIGJpdHNMZWZ0ID0gd2lkdGggJSAyNjtcXG5cXG4gICAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgd2l0aCBsZWFkaW5nIHplcm9lc1xcbiAgICB0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO1xcblxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgYnl0ZXNOZWVkZWQtLTtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgY29tcGxldGUgd29yZHNcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlc05lZWRlZDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSB0aGUgcmVzaWR1ZVxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgKDB4M2ZmZmZmZiA+PiAoMjYgLSBiaXRzTGVmdCkpO1xcbiAgICB9XFxuXFxuICAgIC8vIEFuZCByZW1vdmUgbGVhZGluZyB6ZXJvZXNcXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubm90biA9IGZ1bmN0aW9uIG5vdG4gKHdpZHRoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpO1xcbiAgfTtcXG5cXG4gIC8vIFNldCBgYml0YCBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zZXRuID0gZnVuY3Rpb24gc2V0biAoYml0LCB2YWwpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG5cXG4gICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICB0aGlzLl9leHBhbmQob2ZmICsgMSk7XFxuXFxuICAgIGlmICh2YWwpIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gfCAoMSA8PCB3Yml0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gJiB+KDEgPDwgd2JpdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xcbiAgICB2YXIgcjtcXG5cXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAvLyBDb3B5IHRoZSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSB0aGlzLnN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0gZWxzZSBpZiAobnVtLm5lZ2F0aXZlID09PSAwICYmIHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XFxuXFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYWRkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIC10aGlzIC0gbnVtID0gLSh0aGlzICsgbnVtKVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGQobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcXG4gICAgdmFyIGNtcCA9IHRoaXMuY21wKG51bSk7XFxuXFxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBhID4gYlxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKGNtcCA+IDApIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgaWYgKGNhcnJ5ID09PSAwICYmIGkgPCBhLmxlbmd0aCAmJiBhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSk7XFxuXFxuICAgIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHNtYWxsTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIHZhciBsZW4gPSAoc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoKSB8IDA7XFxuICAgIG91dC5sZW5ndGggPSBsZW47XFxuICAgIGxlbiA9IChsZW4gLSAxKSB8IDA7XFxuXFxuICAgIC8vIFBlZWwgb25lIGl0ZXJhdGlvbiAoY29tcGlsZXIgY2FuJ3QgZG8gaXQsIGJlY2F1c2Ugb2YgY29kZSBjb21wbGV4aXR5KVxcbiAgICB2YXIgYSA9IHNlbGYud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgYiA9IG51bS53b3Jkc1swXSB8IDA7XFxuICAgIHZhciByID0gYSAqIGI7XFxuXFxuICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgIHZhciBjYXJyeSA9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgIG91dC53b3Jkc1swXSA9IGxvO1xcblxcbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGxlbjsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGNhcnJ5ID4+PiAyNjtcXG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcXG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XFxuICAgICAgICB2YXIgaSA9IChrIC0gaikgfCAwO1xcbiAgICAgICAgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICByID0gYSAqIGIgKyByd29yZDtcXG4gICAgICAgIG5jYXJyeSArPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgICAgcndvcmQgPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZCB8IDA7XFxuICAgICAgY2FycnkgPSBuY2FycnkgfCAwO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5IHwgMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQubGVuZ3RoLS07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfVxcblxcbiAgLy8gVE9ETyhpbmR1dG55KTogaXQgbWF5IGJlIHJlYXNvbmFibGUgdG8gb21pdCBpdCBmb3IgdXNlcnMgd2hvIGRvbid0IG5lZWRcXG4gIC8vIHRvIHdvcmsgd2l0aCAyNTYtYml0IG51bWJlcnMsIG90aGVyd2lzZSBpdCBnaXZlcyAyMCUgaW1wcm92ZW1lbnQgZm9yIDI1Ni1iaXRcXG4gIC8vIG11bHRpcGxpY2F0aW9uIChsaWtlIGVsbGlwdGljIHNlY3AyNTZrMSkuXFxuICB2YXIgY29tYjEwTXVsVG8gPSBmdW5jdGlvbiBjb21iMTBNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzO1xcbiAgICB2YXIgYiA9IG51bS53b3JkcztcXG4gICAgdmFyIG8gPSBvdXQud29yZHM7XFxuICAgIHZhciBjID0gMDtcXG4gICAgdmFyIGxvO1xcbiAgICB2YXIgbWlkO1xcbiAgICB2YXIgaGk7XFxuICAgIHZhciBhMCA9IGFbMF0gfCAwO1xcbiAgICB2YXIgYWwwID0gYTAgJiAweDFmZmY7XFxuICAgIHZhciBhaDAgPSBhMCA+Pj4gMTM7XFxuICAgIHZhciBhMSA9IGFbMV0gfCAwO1xcbiAgICB2YXIgYWwxID0gYTEgJiAweDFmZmY7XFxuICAgIHZhciBhaDEgPSBhMSA+Pj4gMTM7XFxuICAgIHZhciBhMiA9IGFbMl0gfCAwO1xcbiAgICB2YXIgYWwyID0gYTIgJiAweDFmZmY7XFxuICAgIHZhciBhaDIgPSBhMiA+Pj4gMTM7XFxuICAgIHZhciBhMyA9IGFbM10gfCAwO1xcbiAgICB2YXIgYWwzID0gYTMgJiAweDFmZmY7XFxuICAgIHZhciBhaDMgPSBhMyA+Pj4gMTM7XFxuICAgIHZhciBhNCA9IGFbNF0gfCAwO1xcbiAgICB2YXIgYWw0ID0gYTQgJiAweDFmZmY7XFxuICAgIHZhciBhaDQgPSBhNCA+Pj4gMTM7XFxuICAgIHZhciBhNSA9IGFbNV0gfCAwO1xcbiAgICB2YXIgYWw1ID0gYTUgJiAweDFmZmY7XFxuICAgIHZhciBhaDUgPSBhNSA+Pj4gMTM7XFxuICAgIHZhciBhNiA9IGFbNl0gfCAwO1xcbiAgICB2YXIgYWw2ID0gYTYgJiAweDFmZmY7XFxuICAgIHZhciBhaDYgPSBhNiA+Pj4gMTM7XFxuICAgIHZhciBhNyA9IGFbN10gfCAwO1xcbiAgICB2YXIgYWw3ID0gYTcgJiAweDFmZmY7XFxuICAgIHZhciBhaDcgPSBhNyA+Pj4gMTM7XFxuICAgIHZhciBhOCA9IGFbOF0gfCAwO1xcbiAgICB2YXIgYWw4ID0gYTggJiAweDFmZmY7XFxuICAgIHZhciBhaDggPSBhOCA+Pj4gMTM7XFxuICAgIHZhciBhOSA9IGFbOV0gfCAwO1xcbiAgICB2YXIgYWw5ID0gYTkgJiAweDFmZmY7XFxuICAgIHZhciBhaDkgPSBhOSA+Pj4gMTM7XFxuICAgIHZhciBiMCA9IGJbMF0gfCAwO1xcbiAgICB2YXIgYmwwID0gYjAgJiAweDFmZmY7XFxuICAgIHZhciBiaDAgPSBiMCA+Pj4gMTM7XFxuICAgIHZhciBiMSA9IGJbMV0gfCAwO1xcbiAgICB2YXIgYmwxID0gYjEgJiAweDFmZmY7XFxuICAgIHZhciBiaDEgPSBiMSA+Pj4gMTM7XFxuICAgIHZhciBiMiA9IGJbMl0gfCAwO1xcbiAgICB2YXIgYmwyID0gYjIgJiAweDFmZmY7XFxuICAgIHZhciBiaDIgPSBiMiA+Pj4gMTM7XFxuICAgIHZhciBiMyA9IGJbM10gfCAwO1xcbiAgICB2YXIgYmwzID0gYjMgJiAweDFmZmY7XFxuICAgIHZhciBiaDMgPSBiMyA+Pj4gMTM7XFxuICAgIHZhciBiNCA9IGJbNF0gfCAwO1xcbiAgICB2YXIgYmw0ID0gYjQgJiAweDFmZmY7XFxuICAgIHZhciBiaDQgPSBiNCA+Pj4gMTM7XFxuICAgIHZhciBiNSA9IGJbNV0gfCAwO1xcbiAgICB2YXIgYmw1ID0gYjUgJiAweDFmZmY7XFxuICAgIHZhciBiaDUgPSBiNSA+Pj4gMTM7XFxuICAgIHZhciBiNiA9IGJbNl0gfCAwO1xcbiAgICB2YXIgYmw2ID0gYjYgJiAweDFmZmY7XFxuICAgIHZhciBiaDYgPSBiNiA+Pj4gMTM7XFxuICAgIHZhciBiNyA9IGJbN10gfCAwO1xcbiAgICB2YXIgYmw3ID0gYjcgJiAweDFmZmY7XFxuICAgIHZhciBiaDcgPSBiNyA+Pj4gMTM7XFxuICAgIHZhciBiOCA9IGJbOF0gfCAwO1xcbiAgICB2YXIgYmw4ID0gYjggJiAweDFmZmY7XFxuICAgIHZhciBiaDggPSBiOCA+Pj4gMTM7XFxuICAgIHZhciBiOSA9IGJbOV0gfCAwO1xcbiAgICB2YXIgYmw5ID0gYjkgJiAweDFmZmY7XFxuICAgIHZhciBiaDkgPSBiOSA+Pj4gMTM7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHNlbGYubmVnYXRpdmUgXiBudW0ubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSAxOTtcXG4gICAgLyogayA9IDAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwwLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwwLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDAsIGJoMCk7XFxuICAgIHZhciB3MCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcwID4+PiAyNikpIHwgMDtcXG4gICAgdzAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDEsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDEsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgxKSkgfCAwO1xcbiAgICB2YXIgdzEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwyLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwyLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDIsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgyKSkgfCAwO1xcbiAgICB2YXIgdzIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcyICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwzLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwzLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDMsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDMpKSB8IDA7XFxuICAgIHZhciB3MyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHczID4+PiAyNikpIHwgMDtcXG4gICAgdzMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDQsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDQsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg0KSkgfCAwO1xcbiAgICB2YXIgdzQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc0ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw1LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw1LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDUsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg1KSkgfCAwO1xcbiAgICB2YXIgdzUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NSA+Pj4gMjYpKSB8IDA7XFxuICAgIHc1ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw2LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw2LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDYsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDYpKSB8IDA7XFxuICAgIHZhciB3NiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc2ID4+PiAyNikpIHwgMDtcXG4gICAgdzYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDcsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDcsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg3KSkgfCAwO1xcbiAgICB2YXIgdzcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NyA+Pj4gMjYpKSB8IDA7XFxuICAgIHc3ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw4LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw4LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDgsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg4KSkgfCAwO1xcbiAgICB2YXIgdzggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc4ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDkgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3OSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc5ID4+PiAyNikpIHwgMDtcXG4gICAgdzkgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDEpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDEpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEwID4+PiAyNikpIHwgMDtcXG4gICAgdzEwICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDExICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwyKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgyKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMikpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDIpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTEgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDMpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDMpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTIgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDQpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDQpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEzID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEzID4+PiAyNikpIHwgMDtcXG4gICAgdzEzICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw1KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg1KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDUpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTQgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDYpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDYpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTUgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDcpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDcpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE2ID4+PiAyNikpIHwgMDtcXG4gICAgdzE2ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw4KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg4KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDgpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTcgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDkpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDkpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOSk7XFxuICAgIHZhciB3MTggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTggPj4+IDI2KSkgfCAwO1xcbiAgICB3MTggJj0gMHgzZmZmZmZmO1xcbiAgICBvWzBdID0gdzA7XFxuICAgIG9bMV0gPSB3MTtcXG4gICAgb1syXSA9IHcyO1xcbiAgICBvWzNdID0gdzM7XFxuICAgIG9bNF0gPSB3NDtcXG4gICAgb1s1XSA9IHc1O1xcbiAgICBvWzZdID0gdzY7XFxuICAgIG9bN10gPSB3NztcXG4gICAgb1s4XSA9IHc4O1xcbiAgICBvWzldID0gdzk7XFxuICAgIG9bMTBdID0gdzEwO1xcbiAgICBvWzExXSA9IHcxMTtcXG4gICAgb1sxMl0gPSB3MTI7XFxuICAgIG9bMTNdID0gdzEzO1xcbiAgICBvWzE0XSA9IHcxNDtcXG4gICAgb1sxNV0gPSB3MTU7XFxuICAgIG9bMTZdID0gdzE2O1xcbiAgICBvWzE3XSA9IHcxNztcXG4gICAgb1sxOF0gPSB3MTg7XFxuICAgIGlmIChjICE9PSAwKSB7XFxuICAgICAgb1sxOV0gPSBjO1xcbiAgICAgIG91dC5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gb3V0O1xcbiAgfTtcXG5cXG4gIC8vIFBvbHlmaWxsIGNvbWJcXG4gIGlmICghTWF0aC5pbXVsKSB7XFxuICAgIGNvbWIxME11bFRvID0gc21hbGxNdWxUbztcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGJpZ011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0gc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICB2YXIgaG5jYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb3V0Lmxlbmd0aCAtIDE7IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICAgIGhuY2FycnkgPSAwO1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gayAtIGo7XFxuICAgICAgICB2YXIgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgdmFyIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKChyIC8gMHg0MDAwMDAwKSB8IDApKSB8IDA7XFxuICAgICAgICBsbyA9IChsbyArIHJ3b3JkKSB8IDA7XFxuICAgICAgICByd29yZCA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArIChsbyA+Pj4gMjYpKSB8IDA7XFxuXFxuICAgICAgICBobmNhcnJ5ICs9IG5jYXJyeSA+Pj4gMjY7XFxuICAgICAgICBuY2FycnkgJj0gMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeTtcXG4gICAgICBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgZmZ0bSA9IG5ldyBGRlRNKCk7XFxuICAgIHJldHVybiBmZnRtLm11bHAoc2VsZiwgbnVtLCBvdXQpO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLm11bFRvID0gZnVuY3Rpb24gbXVsVG8gKG51bSwgb3V0KSB7XFxuICAgIHZhciByZXM7XFxuICAgIHZhciBsZW4gPSB0aGlzLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMTAgJiYgbnVtLmxlbmd0aCA9PT0gMTApIHtcXG4gICAgICByZXMgPSBjb21iMTBNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgNjMpIHtcXG4gICAgICByZXMgPSBzbWFsbE11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCAxMDI0KSB7XFxuICAgICAgcmVzID0gYmlnTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29vbGV5LVR1a2V5IGFsZ29yaXRobSBmb3IgRkZUXFxuICAvLyBzbGlnaHRseSByZXZpc2l0ZWQgdG8gcmVseSBvbiBsb29waW5nIGluc3RlYWQgb2YgcmVjdXJzaW9uXFxuXFxuICBmdW5jdGlvbiBGRlRNICh4LCB5KSB7XFxuICAgIHRoaXMueCA9IHg7XFxuICAgIHRoaXMueSA9IHk7XFxuICB9XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tYWtlUkJUID0gZnVuY3Rpb24gbWFrZVJCVCAoTikge1xcbiAgICB2YXIgdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGwgPSBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKSAtIDE7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdFtpXSA9IHRoaXMucmV2QmluKGksIGwsIE4pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0O1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybnMgYmluYXJ5LXJldmVyc2VkIHJlcHJlc2VudGF0aW9uIG9mIGB4YFxcbiAgRkZUTS5wcm90b3R5cGUucmV2QmluID0gZnVuY3Rpb24gcmV2QmluICh4LCBsLCBOKSB7XFxuICAgIGlmICh4ID09PSAwIHx8IHggPT09IE4gLSAxKSByZXR1cm4geDtcXG5cXG4gICAgdmFyIHJiID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcXG4gICAgICByYiB8PSAoeCAmIDEpIDw8IChsIC0gaSAtIDEpO1xcbiAgICAgIHggPj49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJiO1xcbiAgfTtcXG5cXG4gIC8vIFBlcmZvcm1zIFxcXCJ0d2VlZGxpbmdcXFwiIHBoYXNlLCB0aGVyZWZvcmUgJ2VtdWxhdGluZydcXG4gIC8vIGJlaGF2aW91ciBvZiB0aGUgcmVjdXJzaXZlIGFsZ29yaXRobVxcbiAgRkZUTS5wcm90b3R5cGUucGVybXV0ZSA9IGZ1bmN0aW9uIHBlcm11dGUgKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBydHdzW2ldID0gcndzW3JidFtpXV07XFxuICAgICAgaXR3c1tpXSA9IGl3c1tyYnRbaV1dO1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24gdHJhbnNmb3JtIChyd3MsIGl3cywgcnR3cywgaXR3cywgTiwgcmJ0KSB7XFxuICAgIHRoaXMucGVybXV0ZShyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKTtcXG5cXG4gICAgZm9yICh2YXIgcyA9IDE7IHMgPCBOOyBzIDw8PSAxKSB7XFxuICAgICAgdmFyIGwgPSBzIDw8IDE7XFxuXFxuICAgICAgdmFyIHJ0d2RmID0gTWF0aC5jb3MoMiAqIE1hdGguUEkgLyBsKTtcXG4gICAgICB2YXIgaXR3ZGYgPSBNYXRoLnNpbigyICogTWF0aC5QSSAvIGwpO1xcblxcbiAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgTjsgcCArPSBsKSB7XFxuICAgICAgICB2YXIgcnR3ZGZfID0gcnR3ZGY7XFxuICAgICAgICB2YXIgaXR3ZGZfID0gaXR3ZGY7XFxuXFxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHM7IGorKykge1xcbiAgICAgICAgICB2YXIgcmUgPSBydHdzW3AgKyBqXTtcXG4gICAgICAgICAgdmFyIGllID0gaXR3c1twICsgal07XFxuXFxuICAgICAgICAgIHZhciBybyA9IHJ0d3NbcCArIGogKyBzXTtcXG4gICAgICAgICAgdmFyIGlvID0gaXR3c1twICsgaiArIHNdO1xcblxcbiAgICAgICAgICB2YXIgcnggPSBydHdkZl8gKiBybyAtIGl0d2RmXyAqIGlvO1xcblxcbiAgICAgICAgICBpbyA9IHJ0d2RmXyAqIGlvICsgaXR3ZGZfICogcm87XFxuICAgICAgICAgIHJvID0gcng7XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGpdID0gcmUgKyBybztcXG4gICAgICAgICAgaXR3c1twICsgal0gPSBpZSArIGlvO1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqICsgc10gPSByZSAtIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqICsgc10gPSBpZSAtIGlvO1xcblxcbiAgICAgICAgICAvKiBqc2hpbnQgbWF4ZGVwdGggOiBmYWxzZSAqL1xcbiAgICAgICAgICBpZiAoaiAhPT0gbCkge1xcbiAgICAgICAgICAgIHJ4ID0gcnR3ZGYgKiBydHdkZl8gLSBpdHdkZiAqIGl0d2RmXztcXG5cXG4gICAgICAgICAgICBpdHdkZl8gPSBydHdkZiAqIGl0d2RmXyArIGl0d2RmICogcnR3ZGZfO1xcbiAgICAgICAgICAgIHJ0d2RmXyA9IHJ4O1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuZ3Vlc3NMZW4xM2IgPSBmdW5jdGlvbiBndWVzc0xlbjEzYiAobiwgbSkge1xcbiAgICB2YXIgTiA9IE1hdGgubWF4KG0sIG4pIHwgMTtcXG4gICAgdmFyIG9kZCA9IE4gJiAxO1xcbiAgICB2YXIgaSA9IDA7XFxuICAgIGZvciAoTiA9IE4gLyAyIHwgMDsgTjsgTiA9IE4gPj4+IDEpIHtcXG4gICAgICBpKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIDEgPDwgaSArIDEgKyBvZGQ7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29uanVnYXRlID0gZnVuY3Rpb24gY29uanVnYXRlIChyd3MsIGl3cywgTikge1xcbiAgICBpZiAoTiA8PSAxKSByZXR1cm47XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB0ID0gcndzW2ldO1xcblxcbiAgICAgIHJ3c1tpXSA9IHJ3c1tOIC0gaSAtIDFdO1xcbiAgICAgIHJ3c1tOIC0gaSAtIDFdID0gdDtcXG5cXG4gICAgICB0ID0gaXdzW2ldO1xcblxcbiAgICAgIGl3c1tpXSA9IC1pd3NbTiAtIGkgLSAxXTtcXG4gICAgICBpd3NbTiAtIGkgLSAxXSA9IC10O1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubm9ybWFsaXplMTNiID0gZnVuY3Rpb24gbm9ybWFsaXplMTNiICh3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IE1hdGgucm91bmQod3NbMiAqIGkgKyAxXSAvIE4pICogMHgyMDAwICtcXG4gICAgICAgIE1hdGgucm91bmQod3NbMiAqIGldIC8gTikgK1xcbiAgICAgICAgY2Fycnk7XFxuXFxuICAgICAgd3NbaV0gPSB3ICYgMHgzZmZmZmZmO1xcblxcbiAgICAgIGlmICh3IDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICBjYXJyeSA9IDA7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGNhcnJ5ID0gdyAvIDB4NDAwMDAwMCB8IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB3cztcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiID0gZnVuY3Rpb24gY29udmVydDEzYiAod3MsIGxlbiwgcndzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBjYXJyeSA9IGNhcnJ5ICsgKHdzW2ldIHwgMCk7XFxuXFxuICAgICAgcndzWzIgKiBpXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgICByd3NbMiAqIGkgKyAxXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgfVxcblxcbiAgICAvLyBQYWQgd2l0aCB6ZXJvZXNcXG4gICAgZm9yIChpID0gMiAqIGxlbjsgaSA8IE47ICsraSkge1xcbiAgICAgIHJ3c1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAwKTtcXG4gICAgYXNzZXJ0KChjYXJyeSAmIH4weDFmZmYpID09PSAwKTtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5zdHViID0gZnVuY3Rpb24gc3R1YiAoTikge1xcbiAgICB2YXIgcGggPSBuZXcgQXJyYXkoTik7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcGhbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBwaDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tdWxwID0gZnVuY3Rpb24gbXVscCAoeCwgeSwgb3V0KSB7XFxuICAgIHZhciBOID0gMiAqIHRoaXMuZ3Vlc3NMZW4xM2IoeC5sZW5ndGgsIHkubGVuZ3RoKTtcXG5cXG4gICAgdmFyIHJidCA9IHRoaXMubWFrZVJCVChOKTtcXG5cXG4gICAgdmFyIF8gPSB0aGlzLnN0dWIoTik7XFxuXFxuICAgIHZhciByd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciByd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIG5yd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBucndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5pd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgcm13cyA9IG91dC53b3JkcztcXG4gICAgcm13cy5sZW5ndGggPSBOO1xcblxcbiAgICB0aGlzLmNvbnZlcnQxM2IoeC53b3JkcywgeC5sZW5ndGgsIHJ3cywgTik7XFxuICAgIHRoaXMuY29udmVydDEzYih5LndvcmRzLCB5Lmxlbmd0aCwgbnJ3cywgTik7XFxuXFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3cywgXywgcndzdCwgaXdzdCwgTiwgcmJ0KTtcXG4gICAgdGhpcy50cmFuc2Zvcm0obnJ3cywgXywgbnJ3c3QsIG5pd3N0LCBOLCByYnQpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHZhciByeCA9IHJ3c3RbaV0gKiBucndzdFtpXSAtIGl3c3RbaV0gKiBuaXdzdFtpXTtcXG4gICAgICBpd3N0W2ldID0gcndzdFtpXSAqIG5pd3N0W2ldICsgaXdzdFtpXSAqIG5yd3N0W2ldO1xcbiAgICAgIHJ3c3RbaV0gPSByeDtcXG4gICAgfVxcblxcbiAgICB0aGlzLmNvbmp1Z2F0ZShyd3N0LCBpd3N0LCBOKTtcXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzdCwgaXdzdCwgcm13cywgXywgTiwgcmJ0KTtcXG4gICAgdGhpcy5jb25qdWdhdGUocm13cywgXywgTik7XFxuICAgIHRoaXMubm9ybWFsaXplMTNiKHJtd3MsIE4pO1xcblxcbiAgICBvdXQubmVnYXRpdmUgPSB4Lm5lZ2F0aXZlIF4geS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IHgubGVuZ3RoICsgeS5sZW5ndGg7XFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBNdWx0aXBseSBgdGhpc2AgYnkgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKG51bSkge1xcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcXG4gICAgcmV0dXJuIHRoaXMubXVsVG8obnVtLCBvdXQpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGVtcGxveWluZyBGRlRcXG4gIEJOLnByb3RvdHlwZS5tdWxmID0gZnVuY3Rpb24gbXVsZiAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gSW4tcGxhY2UgTXVsdGlwbGljYXRpb25cXG4gIEJOLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkubXVsVG8obnVtLCB0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW11bG4gPSBmdW5jdGlvbiBpbXVsbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcblxcbiAgICAvLyBDYXJyeVxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKiBudW07XFxuICAgICAgdmFyIGxvID0gKHcgJiAweDNmZmZmZmYpICsgKGNhcnJ5ICYgMHgzZmZmZmZmKTtcXG4gICAgICBjYXJyeSA+Pj0gMjY7XFxuICAgICAgY2FycnkgKz0gKHcgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAvLyBOT1RFOiBsbyBpcyAyN2JpdCBtYXhpbXVtXFxuICAgICAgY2FycnkgKz0gbG8gPj4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubXVsbiA9IGZ1bmN0aW9uIG11bG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKG51bSk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubXVsKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIGB0aGlzYCAqIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIC8vIE1hdGgucG93KGB0aGlzYCwgYG51bWApXFxuICBCTi5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChudW0pIHtcXG4gICAgdmFyIHcgPSB0b0JpdEFycmF5KG51bSk7XFxuICAgIGlmICh3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBCTigxKTtcXG5cXG4gICAgLy8gU2tpcCBsZWFkaW5nIHplcm9lc1xcbiAgICB2YXIgcmVzID0gdGhpcztcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3Lmxlbmd0aDsgaSsrLCByZXMgPSByZXMuc3FyKCkpIHtcXG4gICAgICBpZiAod1tpXSAhPT0gMCkgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKCsraSA8IHcubGVuZ3RoKSB7XFxuICAgICAgZm9yICh2YXIgcSA9IHJlcy5zcXIoKTsgaSA8IHcubGVuZ3RoOyBpKyssIHEgPSBxLnNxcigpKSB7XFxuICAgICAgICBpZiAod1tpXSA9PT0gMCkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSByZXMubXVsKHEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnQgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdXNobG4gPSBmdW5jdGlvbiBpdXNobG4gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuICAgIHZhciBjYXJyeU1hc2sgPSAoMHgzZmZmZmZmID4+PiAoMjYgLSByKSkgPDwgKDI2IC0gcik7XFxuICAgIHZhciBpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciBuZXdDYXJyeSA9IHRoaXMud29yZHNbaV0gJiBjYXJyeU1hc2s7XFxuICAgICAgICB2YXIgYyA9ICgodGhpcy53b3Jkc1tpXSB8IDApIC0gbmV3Q2FycnkpIDw8IHI7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYyB8IGNhcnJ5O1xcbiAgICAgICAgY2FycnkgPSBuZXdDYXJyeSA+Pj4gKDI2IC0gcik7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjYXJyeSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHMgIT09IDApIHtcXG4gICAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyBzXSA9IHRoaXMud29yZHNbaV07XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmxlbmd0aCArPSBzO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXFxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcXG4gIC8vIE5PVEU6IGlmIGBleHRlbmRlZGAgaXMgcHJlc2VudCAtIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggZGVzdHJveWVkIGJpdHNcXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIGg7XFxuICAgIGlmIChoaW50KSB7XFxuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaCA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcXG5cXG4gICAgaCAtPSBzO1xcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XFxuXFxuICAgIC8vIEV4dGVuZGVkIG1vZGUsIGNvcHkgbWFza2VkIHBhcnRcXG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIG1hc2tlZFdvcmRzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcXG4gICAgfVxcblxcbiAgICBpZiAocyA9PT0gMCkge1xcbiAgICAgIC8vIE5vLW9wLCB3ZSBzaG91bGQgbm90IG1vdmUgYW55dGhpbmcgYXQgYWxsXFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XFxuICAgICAgdGhpcy5sZW5ndGggLT0gcztcXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDAgJiYgKGNhcnJ5ICE9PSAwIHx8IGkgPj0gaCk7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XFxuICAgICAgY2FycnkgPSB3b3JkICYgbWFzaztcXG4gICAgfVxcblxcbiAgICAvLyBQdXNoIGNhcnJpZWQgYml0cyBhcyBhIG1hc2tcXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaHJuID0gZnVuY3Rpb24gaXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1c2hybihiaXRzLCBoaW50LCBleHRlbmRlZCk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdFxcbiAgQk4ucHJvdG90eXBlLnNobG4gPSBmdW5jdGlvbiBzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaGxuID0gZnVuY3Rpb24gdXNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHRcXG4gIEJOLnByb3RvdHlwZS5zaHJuID0gZnVuY3Rpb24gc2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hybiA9IGZ1bmN0aW9uIHVzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFRlc3QgaWYgbiBiaXQgaXMgc2V0XFxuICBCTi5wcm90b3R5cGUudGVzdG4gPSBmdW5jdGlvbiB0ZXN0biAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykgcmV0dXJuIGZhbHNlO1xcblxcbiAgICAvLyBDaGVjayBiaXQgYW5kIHJldHVyblxcbiAgICB2YXIgdyA9IHRoaXMud29yZHNbc107XFxuXFxuICAgIHJldHVybiAhISh3ICYgcSk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyIChpbi1wbGFjZSlcXG4gIEJOLnByb3RvdHlwZS5pbWFza24gPSBmdW5jdGlvbiBpbWFza24gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAnaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzJyk7XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICBzKys7XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1pbihzLCB0aGlzLmxlbmd0aCk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdICY9IG1hc2s7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5tYXNrbiA9IGZ1bmN0aW9uIG1hc2tuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBwbGFpbiBudW1iZXIgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuaWFkZG4gPSBmdW5jdGlvbiBpYWRkbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaXN1Ym4oLW51bSk7XFxuXFxuICAgIC8vIFBvc3NpYmxlIHNpZ24gY2hhbmdlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmICh0aGlzLndvcmRzWzBdIHwgMCkgPCBudW0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pc3VibihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcXG4gICAgdGhpcy53b3Jkc1swXSArPSBudW07XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA+PSAweDQwMDAwMDA7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdID0gMTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGRuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDYXJyeVxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA8IDA7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hZGRuID0gZnVuY3Rpb24gYWRkbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuc3VibiA9IGZ1bmN0aW9uIHN1Ym4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhYnMgPSBmdW5jdGlvbiBpYWJzICgpIHtcXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hYnMgPSBmdW5jdGlvbiBhYnMgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsID0gZnVuY3Rpb24gX2lzaGxuc3VibXVsIChudW0sIG11bCwgc2hpZnQpIHtcXG4gICAgdmFyIGxlbiA9IG51bS5sZW5ndGggKyBzaGlmdDtcXG4gICAgdmFyIGk7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChsZW4pO1xcblxcbiAgICB2YXIgdztcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICB2YXIgcmlnaHQgPSAobnVtLndvcmRzW2ldIHwgMCkgKiBtdWw7XFxuICAgICAgdyAtPSByaWdodCAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9ICh3ID4+IDI2KSAtICgocmlnaHQgLyAweDQwMDAwMDApIHwgMCk7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICBmb3IgKDsgaSA8IHRoaXMubGVuZ3RoIC0gc2hpZnQ7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgPT09IDApIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIC8vIFN1YnRyYWN0aW9uIG92ZXJmbG93XFxuICAgIGFzc2VydChjYXJyeSA9PT0gLTEpO1xcbiAgICBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9IC0odGhpcy53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fd29yZERpdiA9IGZ1bmN0aW9uIF93b3JkRGl2IChudW0sIG1vZGUpIHtcXG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW07XFxuXFxuICAgIC8vIE5vcm1hbGl6ZVxcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcXG4gICAgc2hpZnQgPSAyNiAtIGJoaUJpdHM7XFxuICAgIGlmIChzaGlmdCAhPT0gMCkge1xcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcXG4gICAgICBhLml1c2hsbihzaGlmdCk7XFxuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgfVxcblxcbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcXG4gICAgdmFyIHE7XFxuXFxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgIHEgPSBuZXcgQk4obnVsbCk7XFxuICAgICAgcS5sZW5ndGggPSBtICsgMTtcXG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XFxuICAgIGlmIChkaWZmLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgYSA9IGRpZmY7XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbbV0gPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcXG4gICAgICAgIChhLndvcmRzW2IubGVuZ3RoICsgaiAtIDFdIHwgMCk7XFxuXFxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcXG4gICAgICAvLyAoMHg3ZmZmZmZmKVxcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XFxuXFxuICAgICAgYS5faXNobG5zdWJtdWwoYiwgcWosIGopO1xcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBxai0tO1xcbiAgICAgICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcXG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xcbiAgICAgICAgICBhLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW2pdID0gcWo7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChxKSB7XFxuICAgICAgcS5zdHJpcCgpO1xcbiAgICB9XFxuICAgIGEuc3RyaXAoKTtcXG5cXG4gICAgLy8gRGVub3JtYWxpemVcXG4gICAgaWYgKG1vZGUgIT09ICdkaXYnICYmIHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYS5pdXNocm4oc2hpZnQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgZGl2OiBxIHx8IG51bGwsXFxuICAgICAgbW9kOiBhXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gTk9URTogMSkgYG1vZGVgIGNhbiBiZSBzZXQgdG8gYG1vZGAgdG8gcmVxdWVzdCBtb2Qgb25seSxcXG4gIC8vICAgICAgIHRvIGBkaXZgIHRvIHJlcXVlc3QgZGl2IG9ubHksIG9yIGJlIGFic2VudCB0b1xcbiAgLy8gICAgICAgcmVxdWVzdCBib3RoIGRpdiAmIG1vZFxcbiAgLy8gICAgICAgMikgYHBvc2l0aXZlYCBpcyB0cnVlIGlmIHVuc2lnbmVkIG1vZCBpcyByZXF1ZXN0ZWRcXG4gIEJOLnByb3RvdHlwZS5kaXZtb2QgPSBmdW5jdGlvbiBkaXZtb2QgKG51bSwgbW9kZSwgcG9zaXRpdmUpIHtcXG4gICAgYXNzZXJ0KCFudW0uaXNaZXJvKCkpO1xcblxcbiAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogbmV3IEJOKDApXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICB2YXIgZGl2LCBtb2QsIHJlcztcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlhZGQobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IHJlcy5tb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICgodGhpcy5uZWdhdGl2ZSAmIG51bS5uZWdhdGl2ZSkgIT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlzdWIobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogcmVzLmRpdixcXG4gICAgICAgIG1vZDogbW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICAvLyBCb3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlIGF0IHRoaXMgcG9pbnRcXG5cXG4gICAgLy8gU3RyaXAgYm90aCBudW1iZXJzIHRvIGFwcHJveGltYXRlIHNoaWZ0IHZhbHVlXFxuICAgIGlmIChudW0ubGVuZ3RoID4gdGhpcy5sZW5ndGggfHwgdGhpcy5jbXAobnVtKSA8IDApIHtcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXFxuICAgICAgICBtb2Q6IHRoaXNcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIFZlcnkgc2hvcnQgcmVkdWN0aW9uXFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAxKSB7XFxuICAgICAgaWYgKG1vZGUgPT09ICdkaXYnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgICBtb2Q6IG51bGxcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlID09PSAnbW9kJykge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgZGl2OiBudWxsLFxcbiAgICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fd29yZERpdihudW0sIG1vZGUpO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgIC8gYG51bWBcXG4gIEJOLnByb3RvdHlwZS5kaXYgPSBmdW5jdGlvbiBkaXYgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnZGl2JywgZmFsc2UpLmRpdjtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAlIGBudW1gXFxuICBCTi5wcm90b3R5cGUubW9kID0gZnVuY3Rpb24gbW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIGZhbHNlKS5tb2Q7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVtb2QgPSBmdW5jdGlvbiB1bW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIHRydWUpLm1vZDtcXG4gIH07XFxuXFxuICAvLyBGaW5kIFJvdW5kKGB0aGlzYCAvIGBudW1gKVxcbiAgQk4ucHJvdG90eXBlLmRpdlJvdW5kID0gZnVuY3Rpb24gZGl2Um91bmQgKG51bSkge1xcbiAgICB2YXIgZG0gPSB0aGlzLmRpdm1vZChudW0pO1xcblxcbiAgICAvLyBGYXN0IGNhc2UgLSBleGFjdCBkaXZpc2lvblxcbiAgICBpZiAoZG0ubW9kLmlzWmVybygpKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICB2YXIgbW9kID0gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0ubW9kLmlzdWIobnVtKSA6IGRtLm1vZDtcXG5cXG4gICAgdmFyIGhhbGYgPSBudW0udXNocm4oMSk7XFxuICAgIHZhciByMiA9IG51bS5hbmRsbigxKTtcXG4gICAgdmFyIGNtcCA9IG1vZC5jbXAoaGFsZik7XFxuXFxuICAgIC8vIFJvdW5kIGRvd25cXG4gICAgaWYgKGNtcCA8IDAgfHwgcjIgPT09IDEgJiYgY21wID09PSAwKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICAvLyBSb3VuZCB1cFxcbiAgICByZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0uZGl2LmlzdWJuKDEpIDogZG0uZGl2LmlhZGRuKDEpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tb2RuID0gZnVuY3Rpb24gbW9kbiAobnVtKSB7XFxuICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmKTtcXG4gICAgdmFyIHAgPSAoMSA8PCAyNikgJSBudW07XFxuXFxuICAgIHZhciBhY2MgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIGFjYyA9IChwICogYWNjICsgKHRoaXMud29yZHNbaV0gfCAwKSkgJSBudW07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGFjYztcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5pZGl2biA9IGZ1bmN0aW9uIGlkaXZuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5ICogMHg0MDAwMDAwO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAodyAvIG51bSkgfCAwO1xcbiAgICAgIGNhcnJ5ID0gdyAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5kaXZuID0gZnVuY3Rpb24gZGl2biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWRpdm4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZWdjZCA9IGZ1bmN0aW9uIGVnY2QgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgeCA9IHRoaXM7XFxuICAgIHZhciB5ID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoeC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHggPSB4LnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgeCA9IHguY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICAvLyBBICogeCArIEIgKiB5ID0geFxcbiAgICB2YXIgQSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIEIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIC8vIEMgKiB4ICsgRCAqIHkgPSB5XFxuICAgIHZhciBDID0gbmV3IEJOKDApO1xcbiAgICB2YXIgRCA9IG5ldyBCTigxKTtcXG5cXG4gICAgdmFyIGcgPSAwO1xcblxcbiAgICB3aGlsZSAoeC5pc0V2ZW4oKSAmJiB5LmlzRXZlbigpKSB7XFxuICAgICAgeC5pdXNocm4oMSk7XFxuICAgICAgeS5pdXNocm4oMSk7XFxuICAgICAgKytnO1xcbiAgICB9XFxuXFxuICAgIHZhciB5cCA9IHkuY2xvbmUoKTtcXG4gICAgdmFyIHhwID0geC5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoIXguaXNaZXJvKCkpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoeC53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgeC5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQS5pc09kZCgpIHx8IEIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEEuaWFkZCh5cCk7XFxuICAgICAgICAgICAgQi5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBBLml1c2hybigxKTtcXG4gICAgICAgICAgQi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7ICh5LndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICB5Lml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChDLmlzT2RkKCkgfHwgRC5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQy5pYWRkKHlwKTtcXG4gICAgICAgICAgICBELmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEMuaXVzaHJuKDEpO1xcbiAgICAgICAgICBELml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHguY21wKHkpID49IDApIHtcXG4gICAgICAgIHguaXN1Yih5KTtcXG4gICAgICAgIEEuaXN1YihDKTtcXG4gICAgICAgIEIuaXN1YihEKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgeS5pc3ViKHgpO1xcbiAgICAgICAgQy5pc3ViKEEpO1xcbiAgICAgICAgRC5pc3ViKEIpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4ge1xcbiAgICAgIGE6IEMsXFxuICAgICAgYjogRCxcXG4gICAgICBnY2Q6IHkuaXVzaGxuKGcpXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gVGhpcyBpcyByZWR1Y2VkIGluY2FybmF0aW9uIG9mIHRoZSBiaW5hcnkgRUVBXFxuICAvLyBhYm92ZSwgZGVzaWduYXRlZCB0byBpbnZlcnQgbWVtYmVycyBvZiB0aGVcXG4gIC8vIF9wcmltZV8gZmllbGRzIEYocCkgYXQgYSBtYXhpbWFsIHNwZWVkXFxuICBCTi5wcm90b3R5cGUuX2ludm1wID0gZnVuY3Rpb24gX2ludm1wIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzO1xcbiAgICB2YXIgYiA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBhID0gYS51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHgxID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgeDIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIHZhciBkZWx0YSA9IGIuY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKGEuY21wbigxKSA+IDAgJiYgYi5jbXBuKDEpID4gMCkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7IChhLndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICBhLml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4MS5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDEuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDEuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoYi53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgYi5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgyLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgyLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGEuY21wKGIpID49IDApIHtcXG4gICAgICAgIGEuaXN1YihiKTtcXG4gICAgICAgIHgxLmlzdWIoeDIpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBiLmlzdWIoYSk7XFxuICAgICAgICB4Mi5pc3ViKHgxKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKGEuY21wbigxKSA9PT0gMCkge1xcbiAgICAgIHJlcyA9IHgxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IHgyO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZChwKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5nY2QgPSBmdW5jdGlvbiBnY2QgKG51bSkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIG51bS5hYnMoKTtcXG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIHRoaXMuYWJzKCk7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bS5jbG9uZSgpO1xcbiAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgYi5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIC8vIFJlbW92ZSBjb21tb24gZmFjdG9yIG9mIHR3b1xcbiAgICBmb3IgKHZhciBzaGlmdCA9IDA7IGEuaXNFdmVuKCkgJiYgYi5pc0V2ZW4oKTsgc2hpZnQrKykge1xcbiAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICB9XFxuXFxuICAgIGRvIHtcXG4gICAgICB3aGlsZSAoYS5pc0V2ZW4oKSkge1xcbiAgICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChiLmlzRXZlbigpKSB7XFxuICAgICAgICBiLml1c2hybigxKTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIHIgPSBhLmNtcChiKTtcXG4gICAgICBpZiAociA8IDApIHtcXG4gICAgICAgIC8vIFN3YXAgYGFgIGFuZCBgYmAgdG8gbWFrZSBgYWAgYWx3YXlzIGJpZ2dlciB0aGFuIGBiYFxcbiAgICAgICAgdmFyIHQgPSBhO1xcbiAgICAgICAgYSA9IGI7XFxuICAgICAgICBiID0gdDtcXG4gICAgICB9IGVsc2UgaWYgKHIgPT09IDAgfHwgYi5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgYS5pc3ViKGIpO1xcbiAgICB9IHdoaWxlICh0cnVlKTtcXG5cXG4gICAgcmV0dXJuIGIuaXVzaGxuKHNoaWZ0KTtcXG4gIH07XFxuXFxuICAvLyBJbnZlcnQgbnVtYmVyIGluIHRoZSBmaWVsZCBGKG51bSlcXG4gIEJOLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmVnY2QobnVtKS5hLnVtb2QobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNFdmVuID0gZnVuY3Rpb24gaXNFdmVuICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzT2RkID0gZnVuY3Rpb24gaXNPZGQgKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMTtcXG4gIH07XFxuXFxuICAvLyBBbmQgZmlyc3Qgd29yZCBhbmQgbnVtXFxuICBCTi5wcm90b3R5cGUuYW5kbG4gPSBmdW5jdGlvbiBhbmRsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLndvcmRzWzBdICYgbnVtO1xcbiAgfTtcXG5cXG4gIC8vIEluY3JlbWVudCBhdCB0aGUgYml0IHBvc2l0aW9uIGluLWxpbmVcXG4gIEJOLnByb3RvdHlwZS5iaW5jbiA9IGZ1bmN0aW9uIGJpbmNuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgdGhpcy5fZXhwYW5kKHMgKyAxKTtcXG4gICAgICB0aGlzLndvcmRzW3NdIHw9IHE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIGJpdCBhbmQgcHJvcGFnYXRlLCBpZiBuZWVkZWRcXG4gICAgdmFyIGNhcnJ5ID0gcTtcXG4gICAgZm9yICh2YXIgaSA9IHM7IGNhcnJ5ICE9PSAwICYmIGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB3ICs9IGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+Pj4gMjY7XFxuICAgICAgdyAmPSAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHc7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzWmVybyA9IGZ1bmN0aW9uIGlzWmVybyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbXBuID0gZnVuY3Rpb24gY21wbiAobnVtKSB7XFxuICAgIHZhciBuZWdhdGl2ZSA9IG51bSA8IDA7XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmICFuZWdhdGl2ZSkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBuZWdhdGl2ZSkgcmV0dXJuIDE7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gMSkge1xcbiAgICAgIHJlcyA9IDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKG5lZ2F0aXZlKSB7XFxuICAgICAgICBudW0gPSAtbnVtO1xcbiAgICAgIH1cXG5cXG4gICAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZiwgJ051bWJlciBpcyB0b28gYmlnJyk7XFxuXFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzWzBdIHwgMDtcXG4gICAgICByZXMgPSB3ID09PSBudW0gPyAwIDogdyA8IG51bSA/IC0xIDogMTtcXG4gICAgfVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvbXBhcmUgdHdvIG51bWJlcnMgYW5kIHJldHVybjpcXG4gIC8vIDEgLSBpZiBgdGhpc2AgPiBgbnVtYFxcbiAgLy8gMCAtIGlmIGB0aGlzYCA9PSBgbnVtYFxcbiAgLy8gLTEgLSBpZiBgdGhpc2AgPCBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmNtcCA9IGZ1bmN0aW9uIGNtcCAobnVtKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHJldHVybiAxO1xcblxcbiAgICB2YXIgcmVzID0gdGhpcy51Y21wKG51bSk7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gVW5zaWduZWQgY29tcGFyaXNvblxcbiAgQk4ucHJvdG90eXBlLnVjbXAgPSBmdW5jdGlvbiB1Y21wIChudW0pIHtcXG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgaGF2ZSB0aGUgc2FtZSBzaWduXFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiAxO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSByZXR1cm4gLTE7XFxuXFxuICAgIHZhciByZXMgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciBhID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdmFyIGIgPSBudW0ud29yZHNbaV0gfCAwO1xcblxcbiAgICAgIGlmIChhID09PSBiKSBjb250aW51ZTtcXG4gICAgICBpZiAoYSA8IGIpIHtcXG4gICAgICAgIHJlcyA9IC0xO1xcbiAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcXG4gICAgICAgIHJlcyA9IDE7XFxuICAgICAgfVxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0biA9IGZ1bmN0aW9uIGd0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3QgPSBmdW5jdGlvbiBndCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGVuID0gZnVuY3Rpb24gZ3RlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGUgPSBmdW5jdGlvbiBndGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdG4gPSBmdW5jdGlvbiBsdG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdCA9IGZ1bmN0aW9uIGx0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGVuID0gZnVuY3Rpb24gbHRlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGUgPSBmdW5jdGlvbiBsdGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lcW4gPSBmdW5jdGlvbiBlcW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQSByZWR1Y2UgY29udGV4dCwgY291bGQgYmUgdXNpbmcgbW9udGdvbWVyeSBvciBzb21ldGhpbmcgYmV0dGVyLCBkZXBlbmRpbmdcXG4gIC8vIG9uIHRoZSBgbWAgaXRzZWxmLlxcbiAgLy9cXG4gIEJOLnJlZCA9IGZ1bmN0aW9uIHJlZCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgUmVkKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvUmVkID0gZnVuY3Rpb24gdG9SZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIHJldHVybiBjdHguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tUmVkID0gZnVuY3Rpb24gZnJvbVJlZCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ2Zyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZm9yY2VSZWQgPSBmdW5jdGlvbiBfZm9yY2VSZWQgKGN0eCkge1xcbiAgICB0aGlzLnJlZCA9IGN0eDtcXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZvcmNlUmVkID0gZnVuY3Rpb24gZm9yY2VSZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5fZm9yY2VSZWQoY3R4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkQWRkID0gZnVuY3Rpb24gcmVkQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElBZGQgPSBmdW5jdGlvbiByZWRJQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3ViID0gZnVuY3Rpb24gcmVkU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElTdWIgPSBmdW5jdGlvbiByZWRJU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU2hsID0gZnVuY3Rpb24gcmVkU2hsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZE11bCA9IGZ1bmN0aW9uIHJlZE11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJTXVsID0gZnVuY3Rpb24gcmVkSU11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmltdWwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3FyID0gZnVuY3Rpb24gcmVkU3FyICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVNxciA9IGZ1bmN0aW9uIHJlZElTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3F1YXJlIHJvb3Qgb3ZlciBwXFxuICBCTi5wcm90b3R5cGUucmVkU3FydCA9IGZ1bmN0aW9uIHJlZFNxcnQgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcnQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZEludm0gPSBmdW5jdGlvbiByZWRJbnZtICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2AgJSBgcmVkIG1vZHVsb2BcXG4gIEJOLnByb3RvdHlwZS5yZWROZWcgPSBmdW5jdGlvbiByZWROZWcgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubmVnKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRQb3cgPSBmdW5jdGlvbiByZWRQb3cgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQgJiYgIW51bS5yZWQsICdyZWRQb3cobm9ybWFsTnVtKScpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnBvdyh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFByaW1lIG51bWJlcnMgd2l0aCBlZmZpY2llbnQgcmVkdWN0aW9uXFxuICB2YXIgcHJpbWVzID0ge1xcbiAgICBrMjU2OiBudWxsLFxcbiAgICBwMjI0OiBudWxsLFxcbiAgICBwMTkyOiBudWxsLFxcbiAgICBwMjU1MTk6IG51bGxcXG4gIH07XFxuXFxuICAvLyBQc2V1ZG8tTWVyc2VubmUgcHJpbWVcXG4gIGZ1bmN0aW9uIE1QcmltZSAobmFtZSwgcCkge1xcbiAgICAvLyBQID0gMiBeIE4gLSBLXFxuICAgIHRoaXMubmFtZSA9IG5hbWU7XFxuICAgIHRoaXMucCA9IG5ldyBCTihwLCAxNik7XFxuICAgIHRoaXMubiA9IHRoaXMucC5iaXRMZW5ndGgoKTtcXG4gICAgdGhpcy5rID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKTtcXG5cXG4gICAgdGhpcy50bXAgPSB0aGlzLl90bXAoKTtcXG4gIH1cXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuX3RtcCA9IGZ1bmN0aW9uIF90bXAgKCkge1xcbiAgICB2YXIgdG1wID0gbmV3IEJOKG51bGwpO1xcbiAgICB0bXAud29yZHMgPSBuZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubiAvIDEzKSk7XFxuICAgIHJldHVybiB0bXA7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pcmVkdWNlID0gZnVuY3Rpb24gaXJlZHVjZSAobnVtKSB7XFxuICAgIC8vIEFzc3VtZXMgdGhhdCBgbnVtYCBpcyBsZXNzIHRoYW4gYFBeMmBcXG4gICAgLy8gbnVtID0gSEkgKiAoMiBeIE4gLSBLKSArIEhJICogSyArIExPID0gSEkgKiBLICsgTE8gKG1vZCBQKVxcbiAgICB2YXIgciA9IG51bTtcXG4gICAgdmFyIHJsZW47XFxuXFxuICAgIGRvIHtcXG4gICAgICB0aGlzLnNwbGl0KHIsIHRoaXMudG1wKTtcXG4gICAgICByID0gdGhpcy5pbXVsSyhyKTtcXG4gICAgICByID0gci5pYWRkKHRoaXMudG1wKTtcXG4gICAgICBybGVuID0gci5iaXRMZW5ndGgoKTtcXG4gICAgfSB3aGlsZSAocmxlbiA+IHRoaXMubik7XFxuXFxuICAgIHZhciBjbXAgPSBybGVuIDwgdGhpcy5uID8gLTEgOiByLnVjbXAodGhpcy5wKTtcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHIud29yZHNbMF0gPSAwO1xcbiAgICAgIHIubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChjbXAgPiAwKSB7XFxuICAgICAgci5pc3ViKHRoaXMucCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgci5zdHJpcCgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIHJldHVybiBudW0uaW11bCh0aGlzLmspO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIEsyNTYgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdrMjU2JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKEsyNTYsIE1QcmltZSk7XFxuXFxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XFxuICAgIC8vIDI1NiA9IDkgKiAyNiArIDIyXFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XFxuXFxuICAgIHZhciBvdXRMZW4gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIDkpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XFxuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XFxuICAgIH1cXG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcXG5cXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8PSA5KSB7XFxuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIFNoaWZ0IGJ5IDkgbGltYnNcXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcXG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcXG5cXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xcbiAgICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSAoKG5leHQgJiBtYXNrKSA8PCA0KSB8IChwcmV2ID4+PiAyMik7XFxuICAgICAgcHJldiA9IG5leHQ7XFxuICAgIH1cXG4gICAgcHJldiA+Pj49IDIyO1xcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcXG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gMTA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XFxuICAgIH1cXG4gIH07XFxuXFxuICBLMjU2LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoICsgMV0gPSAwO1xcbiAgICBudW0ubGVuZ3RoICs9IDI7XFxuXFxuICAgIC8vIGJvdW5kZWQgYXQ6IDB4NDAgKiAweDNmZmZmZmYgKyAweDNkMCA9IDB4MTAwMDAwMzkwXFxuICAgIHZhciBsbyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBudW0ud29yZHNbaV0gfCAwO1xcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcXG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICBsbyA9IHcgKiAweDQwICsgKChsbyAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgfVxcblxcbiAgICAvLyBGYXN0IGxlbmd0aCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBQMjI0ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDIyNCcsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDE5MiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AxOTInLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDE5MiwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XFxuICAgIC8vIDIgXiAyNTUgLSAxOVxcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICcyNTUxOScsXFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyNTUxOSwgTVByaW1lKTtcXG5cXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEzXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGhpID0gKG51bS53b3Jkc1tpXSB8IDApICogMHgxMyArIGNhcnJ5O1xcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xcbiAgICAgIGhpID4+Pj0gMjY7XFxuXFxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XFxuICAgICAgY2FycnkgPSBoaTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xcbiAgICAvLyBDYWNoZWQgdmVyc2lvbiBvZiBwcmltZVxcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xcblxcbiAgICB2YXIgcHJpbWU7XFxuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyMjQnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xcbiAgICAgIHByaW1lID0gbmV3IFAxOTIoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XFxuICAgIH1cXG4gICAgcHJpbWVzW25hbWVdID0gcHJpbWU7XFxuXFxuICAgIHJldHVybiBwcmltZTtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQmFzZSByZWR1Y3Rpb24gZW5naW5lXFxuICAvL1xcbiAgZnVuY3Rpb24gUmVkIChtKSB7XFxuICAgIGlmICh0eXBlb2YgbSA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XFxuICAgICAgdGhpcy5tID0gcHJpbWUucDtcXG4gICAgICB0aGlzLnByaW1lID0gcHJpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XFxuICAgICAgdGhpcy5tID0gbTtcXG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XFxuICAgIGFzc2VydChhLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCAmJiBhLnJlZCA9PT0gYi5yZWQsXFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XFxuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG4gICAgcmV0dXJuIGEudW1vZCh0aGlzLm0pLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5zdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTEoYSk7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwoYSwgYS5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XFxuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZVxcbiAgICBpZiAobW9kMyA9PT0gMykge1xcbiAgICAgIHZhciBwb3cgPSB0aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO1xcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xcbiAgICB9XFxuXFxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcXG4gICAgLy9cXG4gICAgLy8gRmluZCBRIGFuZCBTLCB0aGF0IFEgKiAyIF4gUyA9IChQIC0gMSlcXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcXG4gICAgdmFyIHMgPSAwO1xcbiAgICB3aGlsZSAoIXEuaXNaZXJvKCkgJiYgcS5hbmRsbigxKSA9PT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgICBxLml1c2hybigxKTtcXG4gICAgfVxcbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgb25lID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcXG5cXG4gICAgLy8gRmluZCBxdWFkcmF0aWMgbm9uLXJlc2lkdWVcXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXFxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xcbiAgICB2YXIgeiA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xcblxcbiAgICB3aGlsZSAodGhpcy5wb3coeiwgbHBvdykuY21wKG5PbmUpICE9PSAwKSB7XFxuICAgICAgei5yZWRJQWRkKG5PbmUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XFxuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XFxuICAgIHZhciB0ID0gdGhpcy5wb3coYSwgcSk7XFxuICAgIHZhciBtID0gcztcXG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcXG4gICAgICB2YXIgdG1wID0gdDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcXG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcXG4gICAgICB9XFxuICAgICAgYXNzZXJ0KGkgPCBtKTtcXG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XFxuXFxuICAgICAgciA9IHIucmVkTXVsKGIpO1xcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xcbiAgICAgIHQgPSB0LnJlZE11bChjKTtcXG4gICAgICBtID0gaTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xcbiAgICBpZiAoaW52Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciB3aW5kb3dTaXplID0gNDtcXG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHduZFsxXSA9IGE7XFxuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcyA9IHduZFswXTtcXG4gICAgdmFyIGN1cnJlbnQgPSAwO1xcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XFxuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xcbiAgICBpZiAoc3RhcnQgPT09IDApIHtcXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xcbiAgICAgIGZvciAodmFyIGogPSBzdGFydCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XFxuICAgICAgICAgIHJlcyA9IHRoaXMuc3FyKHJlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoYml0ID09PSAwICYmIGN1cnJlbnQgPT09IDApIHtcXG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY3VycmVudCA8PD0gMTtcXG4gICAgICAgIGN1cnJlbnQgfD0gYml0O1xcbiAgICAgICAgY3VycmVudExlbisrO1xcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xcbiAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICBjdXJyZW50ID0gMDtcXG4gICAgICB9XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgdmFyIHIgPSBudW0udW1vZCh0aGlzLm0pO1xcblxcbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgcmVzID0gbnVtLmNsb25lKCk7XFxuICAgIHJlcy5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBNb250Z29tZXJ5IG1ldGhvZCBlbmdpbmVcXG4gIC8vXFxuXFxuICBCTi5tb250ID0gZnVuY3Rpb24gbW9udCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcXG4gICAgUmVkLmNhbGwodGhpcywgbSk7XFxuXFxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcXG4gICAgICB0aGlzLnNoaWZ0ICs9IDI2IC0gKHRoaXMuc2hpZnQgJSAyNik7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5yID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTtcXG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XFxuXFxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5yLnN1Yih0aGlzLm1pbnYpO1xcbiAgfVxcbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHIgPSB0aGlzLmltb2QobnVtLm11bCh0aGlzLnJpbnYpKTtcXG4gICAgci5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSB7XFxuICAgICAgYS53b3Jkc1swXSA9IDA7XFxuICAgICAgYS5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiBhO1xcbiAgICB9XFxuXFxuICAgIHZhciB0ID0gYS5pbXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcblxcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgdmFyIHQgPSBhLm11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXFxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxufSkoIGZhbHNlIHx8IG1vZHVsZSwgdGhpcyk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vd2VicGFjay9idWlsZGluL21vZHVsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1xcXCIpKG1vZHVsZSkpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5dWIyUmxYMjF2WkhWc1pYTXZZbTR1YW5NdmJHbGlMMkp1TG1welAyTTVOMklpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1lVRkJZU3h0UWtGQlR5eERRVUZETEdkQ1FVRlJPMEZCUXpkQ0xFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeDNRMEZCZDBNN1FVRkRlRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4M1EwRkJkME1zVVVGQlVUdEJRVU5vUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c2QwSkJRWGRDTEcxQ1FVRnRRanRCUVVNelF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRk5CUVZNN1FVRkRhRU03TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2MwTkJRWE5ETEZsQlFWazdRVUZEYkVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxITkRRVUZ6UXl4elFrRkJjMEk3UVVGRE5VUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTEZOQlFWTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZDUVVGeFFpeHBRa0ZCYVVJN1FVRkRkRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpdzBRa0ZCTkVJN1FVRkROME03UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NhVUpCUVdsQ0xHRkJRV0U3UVVGRE9VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEZsQlFWa3NaVUZCWlR0QlFVTXpRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSXNaMEpCUVdkQ08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNOa0pCUVRaQ08wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMR05CUVdNN1FVRkRha003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZMRFpDUVVFMlFqdEJRVU4yUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVTBGQlV6dEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVMRmRCUVZjN1FVRkRMMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2IwSkJRVzlDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RVFVRnZSQ3hYUVVGWE8wRkJReTlFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVDBGQlR6dEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRWRCUVVjN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ096dEJRVVZCTEd0RFFVRnJRenRCUVVOc1F5eHpRMEZCYzBNN1FVRkRkRU03TzBGQlJVRTdRVUZEUVN4eFFrRkJjVUlzVDBGQlR6dEJRVU0xUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHTkJRV003UVVGRE0wTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEN0Q1FVRXJRaXhSUVVGUk8wRkJRM1pETzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxHbENRVUZwUWl4cFFrRkJhVUk3UVVGRGJFTTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpd3JRMEZCSzBNN1FVRkRiRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNjVUpCUVhGQ0xITkRRVUZ6UXp0QlFVTXpSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc1owSkJRV2RDTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNlVUpCUVhsQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc2FVSkJRV2xDTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4alFVRmpPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVVVGQlVUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVOQlFXbERMRkZCUVZFN1FVRkRla003UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xEQkNRVUV3UWp0QlFVTnFSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owTkJRV2RETzBGQlEyNUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTXNVVUZCVVR0QlFVTjZRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzV1VGQldUdEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaMEpCUVdkQ0xHdENRVUZyUWp0QlFVTnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEc5Q1FVRnZRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERSQ1FVRTBRaXhSUVVGUk8wRkJRM0JETzBGQlEwRXNOa0pCUVRaQ0xGRkJRVkU3UVVGRGNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlVGQlJTeE5RVUUyUWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lLR1oxYm1OMGFXOXVJQ2h0YjJSMWJHVXNJR1Y0Y0c5eWRITXBJSHRjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHZJRlYwYVd4elhHNGdJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDQW9kbUZzTENCdGMyY3BJSHRjYmlBZ0lDQnBaaUFvSVhaaGJDa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeUI4ZkNBblFYTnpaWEowYVc5dUlHWmhhV3hsWkNjcE8xeHVJQ0I5WEc1Y2JpQWdMeThnUTI5MWJHUWdkWE5sSUdCcGJtaGxjbWwwYzJBZ2JXOWtkV3hsTENCaWRYUWdaRzl1SjNRZ2QyRnVkQ0IwYnlCdGIzWmxJR1p5YjIwZ2MybHVaMnhsSUdacGJHVmNiaUFnTHk4Z1lYSmphR2wwWldOMGRYSmxJSGxsZEM1Y2JpQWdablZ1WTNScGIyNGdhVzVvWlhKcGRITWdLR04wYjNJc0lITjFjR1Z5UTNSdmNpa2dlMXh1SUNBZ0lHTjBiM0l1YzNWd1pYSmZJRDBnYzNWd1pYSkRkRzl5TzF4dUlDQWdJSFpoY2lCVVpXMXdRM1J2Y2lBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dUlDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJQ0FnWTNSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1ZHVnRjRU4wYjNJb0tUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaUzVqYjI1emRISjFZM1J2Y2lBOUlHTjBiM0k3WEc0Z0lIMWNibHh1SUNBdkx5QkNUbHh1WEc0Z0lHWjFibU4wYVc5dUlFSk9JQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaENUaTVwYzBKT0tHNTFiV0psY2lrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXMWlaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1Wa2RXTjBhVzl1SUdOdmJuUmxlSFJjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9iblZ0WW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBaaUFvWW1GelpTQTlQVDBnSjJ4bEp5QjhmQ0JpWVhObElEMDlQU0FuWW1VbktTQjdYRzRnSUNBZ0lDQWdJR1Z1WkdsaGJpQTlJR0poYzJVN1hHNGdJQ0FnSUNBZ0lHSmhjMlVnUFNBeE1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1ZmFXNXBkQ2h1ZFcxaVpYSWdmSHdnTUN3Z1ltRnpaU0I4ZkNBeE1Dd2daVzVrYVdGdUlIeDhJQ2RpWlNjcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCcFppQW9kSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlFSk9PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1Y0Y0c5eWRITXVRazRnUFNCQ1RqdGNiaUFnZlZ4dVhHNGdJRUpPTGtKT0lEMGdRazQ3WEc0Z0lFSk9MbmR2Y21SVGFYcGxJRDBnTWpZN1hHNWNiaUFnZG1GeUlFSjFabVpsY2p0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnZlZ4dVhHNGdJRUpPTG1selFrNGdQU0JtZFc1amRHbHZiaUJwYzBKT0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRJR2x1YzNSaGJtTmxiMllnUWs0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMGdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJRzUxYlM1amIyNXpkSEoxWTNSdmNpNTNiM0prVTJsNlpTQTlQVDBnUWs0dWQyOXlaRk5wZW1VZ0ppWWdRWEp5WVhrdWFYTkJjbkpoZVNodWRXMHVkMjl5WkhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG0xaGVDQTlJR1oxYm1OMGFXOXVJRzFoZUNBb2JHVm1kQ3dnY21sbmFIUXBJSHRjYmlBZ0lDQnBaaUFvYkdWbWRDNWpiWEFvY21sbmFIUXBJRDRnTUNrZ2NtVjBkWEp1SUd4bFpuUTdYRzRnSUNBZ2NtVjBkWEp1SUhKcFoyaDBPMXh1SUNCOU8xeHVYRzRnSUVKT0xtMXBiaUE5SUdaMWJtTjBhVzl1SUcxcGJpQW9iR1ZtZEN3Z2NtbG5hSFFwSUh0Y2JpQWdJQ0JwWmlBb2JHVm1kQzVqYlhBb2NtbG5hSFFwSUR3Z01Da2djbVYwZFhKdUlHeGxablE3WEc0Z0lDQWdjbVYwZFhKdUlISnBaMmgwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRDQTlJR1oxYm1OMGFXOXVJR2x1YVhRZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1ZFcxaVpYSWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZhVzVwZEU1MWJXSmxjaWh1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdWRXMWlaWElnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRFRnljbUY1S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHSmhjMlVnUFNBeE5qdGNiaUFnSUNCOVhHNGdJQ0FnWVhOelpYSjBLR0poYzJVZ1BUMDlJQ2hpWVhObElId2dNQ2tnSmlZZ1ltRnpaU0ErUFNBeUlDWW1JR0poYzJVZ1BEMGdNellwTzF4dVhHNGdJQ0FnYm5WdFltVnlJRDBnYm5WdFltVnlMblJ2VTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2WEZ4ekt5OW5MQ0FuSnlrN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ01EdGNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSE4wWVhKMEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR0poYzJVZ1BUMDlJREUyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVaGxlQ2h1ZFcxaVpYSXNJSE4wWVhKMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWZjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ2RHaHBjeTVmYVc1cGRFRnljbUY1S0hSb2FYTXVkRzlCY25KaGVTZ3BMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNXBkRTUxYldKbGNpQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFRuVnRZbVZ5SUNodWRXMWlaWElzSUdKaGMyVXNJR1Z1WkdsaGJpa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0FnSUc1MWJXSmxjaUE5SUMxdWRXMWlaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaUJkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iblZ0WW1WeUlEd2dNSGd4TURBd01EQXdNREF3TURBd01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZ0Y2JpQWdJQ0FnSUNBZ2JuVnRZbVZ5SUNZZ01IZ3pabVptWm1abUxGeHVJQ0FnSUNBZ0lDQW9iblZ0WW1WeUlDOGdNSGcwTURBd01EQXdLU0FtSURCNE0yWm1abVptWmx4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJXSmxjaUE4SURCNE1qQXdNREF3TURBd01EQXdNREFwT3lBdkx5QXlJRjRnTlRNZ0tIVnVjMkZtWlNsY2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJREZjYmlBZ0lDQWdJRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlETTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdVbVYyWlhKelpTQjBhR1VnWW5sMFpYTmNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQmZhVzVwZEVGeWNtRjVJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUM4dklGQmxjbWhoY0hNZ1lTQlZhVzUwT0VGeWNtRjVYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJ1ZFcxaVpYSXViR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaTVzWlc1bmRHZ2dQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnTUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29iblZ0WW1WeUxteGxibWQwYUNBdklETXBPMXh1SUNBZ0lIUm9hWE11ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NXNaVzVuZEdncE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHb3NJSGM3WEc0Z0lDQWdkbUZ5SUc5bVppQTlJREE3WEc0Z0lDQWdhV1lnS0dWdVpHbGhiaUE5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJREVzSUdvZ1BTQXdPeUJwSUQ0OUlEQTdJR2tnTFQwZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQzBnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0xTQXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMnhsSnlrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Dd2dhaUE5SURBN0lHa2dQQ0J1ZFcxaVpYSXViR1Z1WjNSb095QnBJQ3M5SURNcElIdGNiaUFnSUNBZ0lDQWdkeUE5SUc1MWJXSmxjbHRwWFNCOElDaHVkVzFpWlhKYmFTQXJJREZkSUR3OElEZ3BJSHdnS0c1MWJXSmxjbHRwSUNzZ01sMGdQRHdnTVRZcE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMnBkSUh3OUlDaDNJRHc4SUc5bVppa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUQwZ0tIY2dQajQrSUNneU5pQXRJRzltWmlrcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0t6MGdNalE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZabVlnUGowZ01qWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdlptWWdMVDBnTWpZN1hHNGdJQ0FnSUNBZ0lDQWdhaXNyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZJWlhnZ0tITjBjaXdnYzNSaGNuUXNJR1Z1WkNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzNSeUxteGxibWQwYUN3Z1pXNWtLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1NBdElEUTRPMXh1WEc0Z0lDQWdJQ0J5SUR3OFBTQTBPMXh1WEc0Z0lDQWdJQ0F2THlBbllTY2dMU0FuWmlkY2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURRNUlDWW1JR01nUEQwZ05UUXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTkRrZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDZEJKeUF0SUNkR0oxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0lDWW1JR01nUEQwZ01qSXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQjhQU0JqSUNZZ01IaG1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ3WVhKelpVSmhjMlVnS0hOMGNpd2djM1JoY25Rc0lHVnVaQ3dnYlhWc0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ0tqMGdiWFZzTzF4dVhHNGdJQ0FnSUNBdkx5QW5ZU2RjYmlBZ0lDQWdJR2xtSUNoaklENDlJRFE1S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SUdNZ0xTQXhOeUFySURCNFlUdGNibHh1SUNBZ0lDQWdMeThnSnpBbklDMGdKemtuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVSmhjMlVnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZDWVhObElDaHVkVzFpWlhJc0lHSmhjMlVzSUhOMFlYSjBLU0I3WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCaGN5QjZaWEp2WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZzZ01DQmRPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JseHVJQ0FnSUM4dklFWnBibVFnYkdWdVozUm9JRzltSUd4cGJXSWdhVzRnWW1GelpWeHVJQ0FnSUdadmNpQW9kbUZ5SUd4cGJXSk1aVzRnUFNBd0xDQnNhVzFpVUc5M0lEMGdNVHNnYkdsdFlsQnZkeUE4UFNBd2VETm1abVptWm1ZN0lHeHBiV0pRYjNjZ0tqMGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ2JHbHRZa3hsYmlzck8xeHVJQ0FnSUgxY2JpQWdJQ0JzYVcxaVRHVnVMUzA3WEc0Z0lDQWdiR2x0WWxCdmR5QTlJQ2hzYVcxaVVHOTNJQzhnWW1GelpTa2dmQ0F3TzF4dVhHNGdJQ0FnZG1GeUlIUnZkR0ZzSUQwZ2JuVnRZbVZ5TG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNBZ0lIWmhjaUJ0YjJRZ1BTQjBiM1JoYkNBbElHeHBiV0pNWlc0N1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUUxaGRHZ3ViV2x1S0hSdmRHRnNMQ0IwYjNSaGJDQXRJRzF2WkNrZ0t5QnpkR0Z5ZER0Y2JseHVJQ0FnSUhaaGNpQjNiM0prSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JsYm1RN0lHa2dLejBnYkdsdFlreGxiaWtnZTF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUdrZ0t5QnNhVzFpVEdWdUxDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHNhVzFpVUc5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXOWtJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnY0c5M0lEMGdNVHRjYmlBZ0lDQWdJSGR2Y21RZ1BTQndZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQnBMQ0J1ZFcxaVpYSXViR1Z1WjNSb0xDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdlpEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnZkeUFxUFNCaVlYTmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxtbHRkV3h1S0hCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdZMjl3ZVNBb1pHVnpkQ2tnZTF4dUlDQWdJR1JsYzNRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaR1Z6ZEM1M2IzSmtjMXRwWFNBOUlIUm9hWE11ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHUmxjM1F1YkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSFJvYVhNdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnWkdWemRDNXlaV1FnUFNCMGFHbHpMbkpsWkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTJ4dmJtVWdQU0JtZFc1amRHbHZiaUJqYkc5dVpTQW9LU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVaWGNnUWs0b2JuVnNiQ2s3WEc0Z0lDQWdkR2hwY3k1amIzQjVLSElwTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZaWGh3WVc1a0lEMGdablZ1WTNScGIyNGdYMlY0Y0dGdVpDQW9jMmw2WlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElITnBlbVVwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ3JLMTBnUFNBd08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlcxdmRtVWdiR1ZoWkdsdVp5QmdNR0FnWm5KdmJTQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OMGNtbHdJRDBnWm5WdVkzUnBiMjRnYzNSeWFYQWdLQ2tnZTF4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG14bGJtZDBhQ0ErSURFZ0ppWWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQzB0TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDI1dmNtMVRhV2R1SUQwZ1puVnVZM1JwYjI0Z1gyNXZjbTFUYVdkdUlDZ3BJSHRjYmlBZ0lDQXZMeUF0TUNBOUlEQmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5Od1pXTjBJRDBnWm5WdVkzUnBiMjRnYVc1emNHVmpkQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuSmxaQ0EvSUNjOFFrNHRVam9nSnlBNklDYzhRazQ2SUNjcElDc2dkR2hwY3k1MGIxTjBjbWx1WnlneE5pa2dLeUFuUGljN1hHNGdJSDA3WEc1Y2JpQWdMeXBjYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWFR0Y2JpQWdkbUZ5SUdkeWIzVndVMmw2WlhNZ1BTQmJYVHRjYmlBZ2RtRnlJR2R5YjNWd1FtRnpaWE1nUFNCYlhUdGNibHh1SUNCMllYSWdjeUE5SUNjbk8xeHVJQ0IyWVhJZ2FTQTlJQzB4TzF4dUlDQjNhR2xzWlNBb0t5dHBJRHdnUWs0dWQyOXlaRk5wZW1VcElIdGNiaUFnSUNCNlpYSnZjMXRwWFNBOUlITTdYRzRnSUNBZ2N5QXJQU0FuTUNjN1hHNGdJSDFjYmlBZ1ozSnZkWEJUYVhwbGMxc3dYU0E5SURBN1hHNGdJR2R5YjNWd1UybDZaWE5iTVYwZ1BTQXdPMXh1SUNCbmNtOTFjRUpoYzJWeld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN4WFNBOUlEQTdYRzRnSUhaaGNpQmlZWE5sSUQwZ01pQXRJREU3WEc0Z0lIZG9hV3hsSUNncksySmhjMlVnUENBek5pQXJJREVwSUh0Y2JpQWdJQ0IyWVhJZ1ozSnZkWEJUYVhwbElEMGdNRHRjYmlBZ0lDQjJZWElnWjNKdmRYQkNZWE5sSUQwZ01UdGNiaUFnSUNCM2FHbHNaU0FvWjNKdmRYQkNZWE5sSUR3Z0tERWdQRHdnUWs0dWQyOXlaRk5wZW1VcElDOGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ1ozSnZkWEJDWVhObElDbzlJR0poYzJVN1hHNGdJQ0FnSUNCbmNtOTFjRk5wZW1VZ0t6MGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ozSnZkWEJUYVhwbGMxdGlZWE5sWFNBOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNCbmNtOTFjRUpoYzJWelcySmhjMlZkSUQwZ1ozSnZkWEJDWVhObE8xeHVJQ0I5WEc1Y2JpQWdLaTljYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWEc0Z0lDQWdKeWNzWEc0Z0lDQWdKekFuTEZ4dUlDQWdJQ2N3TUNjc1hHNGdJQ0FnSnpBd01DY3NYRzRnSUNBZ0p6QXdNREFuTEZ4dUlDQWdJQ2N3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuWEc0Z0lGMDdYRzVjYmlBZ2RtRnlJR2R5YjNWd1UybDZaWE1nUFNCYlhHNGdJQ0FnTUN3Z01DeGNiaUFnSUNBeU5Td2dNVFlzSURFeUxDQXhNU3dnTVRBc0lEa3NJRGdzWEc0Z0lDQWdPQ3dnTnl3Z055d2dOeXdnTnl3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMUxDQTFMRnh1SUNBZ0lEVXNJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05WeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNek0xTlRRME16SXNJRFF6TURRMk56SXhMQ0F4TmpjM056SXhOaXdnTkRnNE1qZ3hNalVzSURZd05EWTJNVGMyTENBME1ETTFNell3Tnl3Z01UWTNOemN5TVRZc1hHNGdJQ0FnTkRNd05EWTNNakVzSURFd01EQXdNREF3TENBeE9UUTROekUzTVN3Z016VTRNekU0TURnc0lEWXlOelE0TlRFM0xDQTNOVEk1TlRNMkxDQXhNVE01TURZeU5TeGNiaUFnSUNBeE5qYzNOekl4Tml3Z01qUXhNemMxTmprc0lETTBNREV5TWpJMExDQTBOekEwTlRnNE1Td2dOalF3TURBd01EQXNJRFF3T0RReE1ERXNJRFV4TlRNMk16SXNYRzRnSUNBZ05qUXpOak0wTXl3Z056azJNall5TkN3Z09UYzJOVFl5TlN3Z01URTRPREV6TnpZc0lERTBNelE0T1RBM0xDQXhOekl4TURNMk9Dd2dNakExTVRFeE5Ea3NYRzRnSUNBZ01qUXpNREF3TURBc0lESTROakk1TVRVeExDQXpNelUxTkRRek1pd2dNemt4TXpVek9UTXNJRFExTkRNMU5ESTBMQ0ExTWpVeU1UZzNOU3dnTmpBME5qWXhOelpjYmlBZ1hUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvWW1GelpTd2djR0ZrWkdsdVp5a2dlMXh1SUNBZ0lHSmhjMlVnUFNCaVlYTmxJSHg4SURFd08xeHVJQ0FnSUhCaFpHUnBibWNnUFNCd1lXUmthVzVuSUh3Z01DQjhmQ0F4TzF4dVhHNGdJQ0FnZG1GeUlHOTFkRHRjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZZ2ZId2dZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlEQTdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIZHZjbVFnUFNBb0tDaDNJRHc4SUc5bVppa2dmQ0JqWVhKeWVTa2dKaUF3ZUdabVptWm1aaWt1ZEc5VGRISnBibWNvTVRZcE8xeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrUGlBb01qUWdMU0J2Wm1ZcEtTQW1JREI0Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQWdmSHdnYVNBaFBUMGdkR2hwY3k1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYk5pQXRJSGR2Y21RdWJHVnVaM1JvWFNBcklIZHZjbVFnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCdlptWWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JwTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNCallYSnllUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWtnZTF4dUlDQWdJQ0FnTHk4Z2RtRnlJR2R5YjNWd1UybDZaU0E5SUUxaGRHZ3VabXh2YjNJb1FrNHVkMjl5WkZOcGVtVWdLaUJOWVhSb0xreE9NaUF2SUUxaGRHZ3ViRzluS0dKaGMyVXBLVHRjYmlBZ0lDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZE8xeHVJQ0FnSUNBZ0x5OGdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlFMWhkR2d1Y0c5M0tHSmhjMlVzSUdkeWIzVndVMmw2WlNrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCQ1lYTmxJRDBnWjNKdmRYQkNZWE5sYzF0aVlYTmxYVHRjYmlBZ0lDQWdJRzkxZENBOUlDY25PMXh1SUNBZ0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0JqTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIZG9hV3hsSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR011Ylc5a2JpaG5jbTkxY0VKaGMyVXBMblJ2VTNSeWFXNW5LR0poYzJVcE8xeHVJQ0FnSUNBZ0lDQmpJRDBnWXk1cFpHbDJiaWhuY205MWNFSmhjMlVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWXk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzkxZENBOUlIcGxjbTl6VzJkeWIzVndVMmw2WlNBdElISXViR1Z1WjNSb1hTQXJJSElnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdjaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkMmhwYkdVZ0tHOTFkQzVzWlc1bmRHZ2dKU0J3WVdSa2FXNW5JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3dKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjdEp5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5RbUZ6WlNCemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeUlHRnVaQ0F6TmljcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwNTFiV0psY2lBOUlHWjFibU4wYVc5dUlIUnZUblZ0WW1WeUlDZ3BJSHRjYmlBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lISmxkQ0FyUFNCMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJRE1nSmlZZ2RHaHBjeTUzYjNKa2Mxc3lYU0E5UFQwZ01IZ3dNU2tnZTF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nWVhRZ2RHaHBjeUJ6ZEdGblpTQnBkQ0JwY3lCcmJtOTNiaUIwYUdGMElIUm9aU0IwYjNBZ1ltbDBJR2x6SUhObGRGeHVJQ0FnSUNBZ2NtVjBJQ3M5SURCNE1UQXdNREF3TURBd01EQXdNREFnS3lBb2RHaHBjeTUzYjNKa2Mxc3hYU0FxSURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0FnSUdGemMyVnlkQ2htWVd4elpTd2dKMDUxYldKbGNpQmpZVzRnYjI1c2VTQnpZV1psYkhrZ2MzUnZjbVVnZFhBZ2RHOGdOVE1nWW1sMGN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElEOGdMWEpsZENBNklISmxkRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlLVTA5T0lEMGdablZ1WTNScGIyNGdkRzlLVTA5T0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOUNkV1ptWlhJZ0tHVnVaR2xoYml3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQkNkV1ptWlhJZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaENkV1ptWlhJc0lHVnVaR2xoYml3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0dWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlVXhwYTJVb1FYSnlZWGtzSUdWdVpHbGhiaXdnYkdWdVozUm9LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJpZVhSbFRHVnVaM1JvSUQwZ2RHaHBjeTVpZVhSbFRHVnVaM1JvS0NrN1hHNGdJQ0FnZG1GeUlISmxjVXhsYm1kMGFDQTlJR3hsYm1kMGFDQjhmQ0JOWVhSb0xtMWhlQ2d4TENCaWVYUmxUR1Z1WjNSb0tUdGNiaUFnSUNCaGMzTmxjblFvWW5sMFpVeGxibWQwYUNBOFBTQnlaWEZNWlc1bmRHZ3NJQ2RpZVhSbElHRnljbUY1SUd4dmJtZGxjaUIwYUdGdUlHUmxjMmx5WldRZ2JHVnVaM1JvSnlrN1hHNGdJQ0FnWVhOelpYSjBLSEpsY1V4bGJtZDBhQ0ErSURBc0lDZFNaWEYxWlhOMFpXUWdZWEp5WVhrZ2JHVnVaM1JvSUR3OUlEQW5LVHRjYmx4dUlDQWdJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdJQ0IyWVhJZ2JHbDBkR3hsUlc1a2FXRnVJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5PMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQnVaWGNnUVhKeVlYbFVlWEJsS0hKbGNVeGxibWQwYUNrN1hHNWNiaUFnSUNCMllYSWdZaXdnYVR0Y2JpQWdJQ0IyWVhJZ2NTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0JwWmlBb0lXeHBkSFJzWlVWdVpHbGhiaWtnZTF4dUlDQWdJQ0FnTHk4Z1FYTnpkVzFsSUdKcFp5MWxibVJwWVc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J5WlhGTVpXNW5kR2dnTFNCaWVYUmxUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelczSmxjVXhsYm1kMGFDQXRJR2tnTFNBeFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJQ0Z4TG1seldtVnlieWdwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlIRXVZVzVrYkc0b01IaG1aaWs3WEc0Z0lDQWdJQ0FnSUhFdWFYVnphSEp1S0RncE8xeHVYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z2NtVnhUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNoTllYUm9MbU5zZWpNeUtTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNeklnTFNCTllYUm9MbU5zZWpNeUtIY3BPMXh1SUNBZ0lIMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTGw5amIzVnVkRUpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZZMjkxYm5SQ2FYUnpJQ2gzS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VERXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F4TXp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFFnUGowZ01IZzBNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnNEtTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlREF5S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY2lBcklIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmVtVnliMEpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZlbVZ5YjBKcGRITWdLSGNwSUh0Y2JpQWdJQ0F2THlCVGFHOXlkQzFqZFhSY2JpQWdJQ0JwWmlBb2R5QTlQVDBnTUNrZ2NtVjBkWEp1SURJMk8xeHVYRzRnSUNBZ2RtRnlJSFFnUFNCM08xeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURGbVptWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURkbUtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpQXJQU0EzTzF4dUlDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvZENBbUlEQjRaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lIUWdQajQrUFNBME8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURNcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREk3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdNanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaXNyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm5WdFltVnlJRzltSUhWelpXUWdZbWwwY3lCcGJpQmhJRUpPWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVpYVhSTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWFYUk1aVzVuZEdnZ0tDa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUhaaGNpQm9hU0E5SUhSb2FYTXVYMk52ZFc1MFFtbDBjeWgzS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWJHVnVaM1JvSUMwZ01Ta2dLaUF5TmlBcklHaHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhSdlFtbDBRWEp5WVhrZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCM0lEMGdibVYzSUVGeWNtRjVLRzUxYlM1aWFYUk1aVzVuZEdnb0tTazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmlhWFFnUFNBd095QmlhWFFnUENCM0xteGxibWQwYURzZ1ltbDBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQnZabVlnUFNBb1ltbDBJQzhnTWpZcElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0FnSUhkYlltbDBYU0E5SUNodWRXMHVkMjl5WkhOYmIyWm1YU0FtSUNneElEdzhJSGRpYVhRcEtTQStQajRnZDJKcGREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZHp0Y2JpQWdmVnh1WEc0Z0lDOHZJRTUxYldKbGNpQnZaaUIwY21GcGJHbHVaeUI2WlhKdklHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbnBsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnZW1WeWIwSnBkSE1nS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NWZlbVZ5YjBKcGRITW9kR2hwY3k1M2IzSmtjMXRwWFNrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdJQ0JwWmlBb1lpQWhQVDBnTWpZcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlubDBaVXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtTmxhV3dvZEdocGN5NWlhWFJNWlc1bmRHZ29LU0F2SURncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxUjNiM01nUFNCbWRXNWpkR2x2YmlCMGIxUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUZpY3lncExtbHViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVlIzYjNNZ1BTQm1kVzVqZEdsdmJpQm1jbTl0VkhkdmN5QW9kMmxrZEdncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1MFpYTjBiaWgzYVdSMGFDQXRJREVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLUzVwYm1WbktDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1selRtVm5JRDBnWm5WdVkzUnBiMjRnYVhOT1pXY2dLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJtVm5LQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1WldjZ1BTQm1kVzVqZEdsdmJpQnBibVZuSUNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCUGNpQmdiblZ0WUNCM2FYUm9JR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYVnZjaUE5SUdaMWJtTjBhVzl1SUdsMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdncksxMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saGJtUWdQU0JtZFc1amRHbHZiaUJwWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ2ZDQnVkVzB1Ym1WbllYUnBkbVVwSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFdGdVpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a0lEMGdablZ1WTNScGIyNGdZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saGJtUW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVdGdVpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFdGdVpDQTlJR1oxYm1OMGFXOXVJSFZoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVmhibVFvYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFYVmhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1dHOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkWGh2Y2lBOUlHWjFibU4wYVc5dUlHbDFlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJoTG14bGJtZDBhQ0ErSUdJdWJHVnVaM1JvWEc0Z0lDQWdkbUZ5SUdFN1hHNGdJQ0FnZG1GeUlHSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZU0E5SUhSb2FYTTdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoSUQwZ2JuVnRPMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFNCZUlHSXVkMjl5WkhOYmFWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJR0VwSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYaHZjaUE5SUdaMWJtTjBhVzl1SUdsNGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWVHOXlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnV0c5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NGIzSWdQU0JtZFc1amRHbHZiaUI0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYaHZjaWh1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGVHOXlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWVHOXlJRDBnWm5WdVkzUnBiMjRnZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkWGh2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk9iM1FnWUdCMGFHbHpZR0FnZDJsMGFDQmdZSGRwWkhSb1lHQWdZbWwwZDJsa2RHaGNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHViM1J1SUQwZ1puVnVZM1JwYjI0Z2FXNXZkRzRnS0hkcFpIUm9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCM2FXUjBhQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdkMmxrZEdnZ1BqMGdNQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaWE5PWldWa1pXUWdQU0JOWVhSb0xtTmxhV3dvZDJsa2RHZ2dMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYVhSelRHVm1kQ0E5SUhkcFpIUm9JQ1VnTWpZN1hHNWNiaUFnSUNBdkx5QkZlSFJsYm1RZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR0o1ZEdWelRtVmxaR1ZrS1R0Y2JseHVJQ0FnSUdsbUlDaGlhWFJ6VEdWbWRDQStJREFwSUh0Y2JpQWdJQ0FnSUdKNWRHVnpUbVZsWkdWa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHTnZiWEJzWlhSbElIZHZjbVJ6WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpZVhSbGMwNWxaV1JsWkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdmblJvYVhNdWQyOXlaSE5iYVYwZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUm9aU0J5WlhOcFpIVmxYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnS0RCNE0yWm1abVptWmlBK1BpQW9NallnTFNCaWFYUnpUR1ZtZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRnVaQ0J5WlcxdmRtVWdiR1ZoWkdsdVp5QjZaWEp2WlhOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV1YjNSdUlEMGdablZ1WTNScGIyNGdibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdWIzUnVLSGRwWkhSb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVFpYUWdZR0pwZEdBZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1elpYUnVJRDBnWm5WdVkzUnBiMjRnYzJWMGJpQW9ZbWwwTENCMllXd3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBJRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJoYm1Rb2IyWm1JQ3NnTVNrN1hHNWNiaUFnSUNCcFppQW9kbUZzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnZkNBb01TQThQQ0IzWW1sMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0dlptWmRJRDBnZEdocGN5NTNiM0prYzF0dlptWmRJQ1lnZmlneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVdSa0lHQnVkVzFnSUhSdklHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGa1pDQTlJR1oxYm1OMGFXOXVJR2xoWkdRZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeU8xeHVYRzRnSUNBZ0x5OGdibVZuWVhScGRtVWdLeUJ3YjNOcGRHbDJaVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQnlJRDBnZEdocGN5NXBjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JseHVJQ0FnSUM4dklIQnZjMmwwYVhabElDc2dibVZuWVhScGRtVmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnS3lBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BqNGdNalk3WEc0Z0lDQWdmVnh1SUNBZ0lHWnZjaUFvT3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY2lBOUlDaGhMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFGMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdMeThnUTI5d2VTQjBhR1VnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUIwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1emRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSEpsY3lBOUlHNTFiUzV6ZFdJb2RHaHBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXUmtLRzUxYlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFXRmtaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdMU0FvTFc1MWJTa2dQU0IwYUdseklDc2diblZ0WEc0Z0lDQWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhJdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUF0ZEdocGN5QXRJRzUxYlNBOUlDMG9kR2hwY3lBcklHNTFiU2xjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGMElIUm9hWE1nY0c5cGJuUWdZbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpWeHVJQ0FnSUhaaGNpQmpiWEFnUFNCMGFHbHpMbU50Y0NodWRXMHBPMXh1WEc0Z0lDQWdMeThnVDNCMGFXMXBlbUYwYVc5dUlDMGdlbVZ5YjJsbWVWeHVJQ0FnSUdsbUlDaGpiWEFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhJRDRnWWx4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnTFNBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K0lESTJPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlISWdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUTI5d2VTQnlaWE4wSUc5bUlIUm9aU0IzYjNKa2MxeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZ2dKaVlnWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrcE8xeHVYRzRnSUNBZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZaUE5SUdaMWJtTjBhVzl1SUhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMzVmlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjMjFoYkd4TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNBb2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1NCOElEQTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJR3hsYmp0Y2JpQWdJQ0JzWlc0Z1BTQW9iR1Z1SUMwZ01Ta2dmQ0F3TzF4dVhHNGdJQ0FnTHk4Z1VHVmxiQ0J2Ym1VZ2FYUmxjbUYwYVc5dUlDaGpiMjF3YVd4bGNpQmpZVzRuZENCa2J5QnBkQ3dnWW1WallYVnpaU0J2WmlCamIyUmxJR052YlhCc1pYaHBkSGtwWEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdLSElnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQnZkWFF1ZDI5eVpITmJNRjBnUFNCc2J6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F4T3lCcklEd2diR1Z1T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnWTJGeWNua2dQajQrSURJMk8xeHVJQ0FnSUNBZ2RtRnlJSEozYjNKa0lEMGdZMkZ5Y25rZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjJZWElnYldGNFNpQTlJRTFoZEdndWJXbHVLR3NzSUc1MWJTNXNaVzVuZEdnZ0xTQXhLVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNCTllYUm9MbTFoZUNnd0xDQnJJQzBnYzJWc1ppNXNaVzVuZEdnZ0t5QXhLVHNnYWlBOFBTQnRZWGhLT3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0FvYXlBdElHb3BJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lTQTlJSE5sYkdZdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2JuVnRMbmR2Y21SelcycGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NpQTlJR0VnS2lCaUlDc2djbmR2Y21RN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBclBTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5ZDI5eVpDQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpDQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJRzVqWVhKeWVTQjhJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2IzVjBMbmR2Y21SelcydGRJRDBnWTJGeWNua2dmQ0F3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnTHk4Z1ZFOUVUeWhwYm1SMWRHNTVLVG9nYVhRZ2JXRjVJR0psSUhKbFlYTnZibUZpYkdVZ2RHOGdiMjFwZENCcGRDQm1iM0lnZFhObGNuTWdkMmh2SUdSdmJpZDBJRzVsWldSY2JpQWdMeThnZEc4Z2QyOXlheUIzYVhSb0lESTFOaTFpYVhRZ2JuVnRZbVZ5Y3l3Z2IzUm9aWEozYVhObElHbDBJR2RwZG1WeklESXdKU0JwYlhCeWIzWmxiV1Z1ZENCbWIzSWdNalUyTFdKcGRGeHVJQ0F2THlCdGRXeDBhWEJzYVdOaGRHbHZiaUFvYkdsclpTQmxiR3hwY0hScFl5QnpaV053TWpVMmF6RXBMbHh1SUNCMllYSWdZMjl0WWpFd1RYVnNWRzhnUFNCbWRXNWpkR2x2YmlCamIyMWlNVEJOZFd4VWJ5QW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcElIdGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUc4Z1BTQnZkWFF1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJR01nUFNBd08xeHVJQ0FnSUhaaGNpQnNienRjYmlBZ0lDQjJZWElnYldsa08xeHVJQ0FnSUhaaGNpQm9hVHRjYmlBZ0lDQjJZWElnWVRBZ1BTQmhXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d3SUQwZ1lUQWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTUNBOUlHRXdJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVEVnUFNCaFd6RmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3hJRDBnWVRFZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NU0E5SUdFeElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUSWdQU0JoV3pKZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eUlEMGdZVElnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01pQTlJR0V5SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRNZ1BTQmhXek5kSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d6SUQwZ1lUTWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTXlBOUlHRXpJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFFnUFNCaFd6UmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzBJRDBnWVRRZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OQ0E5SUdFMElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUVWdQU0JoV3pWZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MUlEMGdZVFVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05TQTlJR0UxSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRZZ1BTQmhXelpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cySUQwZ1lUWWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTmlBOUlHRTJJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGNnUFNCaFd6ZGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzNJRDBnWVRjZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OeUE5SUdFM0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUZ2dQU0JoV3poZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3NElEMGdZVGdnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb09DQTlJR0U0SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRrZ1BTQmhXemxkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c1SUQwZ1lUa2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT1NBOUlHRTVJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZakFnUFNCaVd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3dJRDBnWWpBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NQ0E5SUdJd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqRWdQU0JpV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eElEMGdZakVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01TQTlJR0l4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpJZ1BTQmlXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd5SUQwZ1lqSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTWlBOUlHSXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZak1nUFNCaVd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3pJRDBnWWpNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NeUE5SUdJeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqUWdQU0JpV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MElEMGdZalFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05DQTlJR0kwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpVZ1BTQmlXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcxSUQwZ1lqVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTlNBOUlHSTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZallnUFNCaVd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzJJRDBnWWpZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OaUE5SUdJMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqY2dQU0JpV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWW13M0lEMGdZamNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb055QTlJR0kzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpnZ1BTQmlXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXc0SUQwZ1lqZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvT0NBOUlHSTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamtnUFNCaVd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzVJRDBnWWprZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PU0E5SUdJNUlENCtQaUF4TXp0Y2JseHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJSE5sYkdZdWJtVm5ZWFJwZG1VZ1hpQnVkVzB1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SURFNU8xeHVJQ0FnSUM4cUlHc2dQU0F3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01DazdYRzRnSUNBZ2RtRnlJSGN3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTUNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6QWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01pQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdneUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3lJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNaUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3pJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpNZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kelFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ05TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTlNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6VWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTJJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM05pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkellnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EzSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNExDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjNElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM09DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkemdnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0E1SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM1SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT1NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6a2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eEtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhREVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURFcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UQWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNU0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRElwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURJcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXhJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRNcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NeWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTXlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXlJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE15QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEUXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRFFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVE1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TkNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzFLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURVcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEVXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRZcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTmlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TlNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzNLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURjcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEY3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE5pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRZZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE55QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEZ3BPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRGdwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE55QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRrcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT1NrN1hHNGdJQ0FnZG1GeUlIY3hPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekU0SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UZ2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJRzliTUYwZ1BTQjNNRHRjYmlBZ0lDQnZXekZkSUQwZ2R6RTdYRzRnSUNBZ2Ixc3lYU0E5SUhjeU8xeHVJQ0FnSUc5Yk0xMGdQU0IzTXp0Y2JpQWdJQ0J2V3pSZElEMGdkelE3WEc0Z0lDQWdiMXMxWFNBOUlIYzFPMXh1SUNBZ0lHOWJObDBnUFNCM05qdGNiaUFnSUNCdld6ZGRJRDBnZHpjN1hHNGdJQ0FnYjFzNFhTQTlJSGM0TzF4dUlDQWdJRzliT1YwZ1BTQjNPVHRjYmlBZ0lDQnZXekV3WFNBOUlIY3hNRHRjYmlBZ0lDQnZXekV4WFNBOUlIY3hNVHRjYmlBZ0lDQnZXekV5WFNBOUlIY3hNanRjYmlBZ0lDQnZXekV6WFNBOUlIY3hNenRjYmlBZ0lDQnZXekUwWFNBOUlIY3hORHRjYmlBZ0lDQnZXekUxWFNBOUlIY3hOVHRjYmlBZ0lDQnZXekUyWFNBOUlIY3hOanRjYmlBZ0lDQnZXekUzWFNBOUlIY3hOenRjYmlBZ0lDQnZXekU0WFNBOUlIY3hPRHRjYmlBZ0lDQnBaaUFvWXlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjFzeE9WMGdQU0JqTzF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiM1YwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ2YkhsbWFXeHNJR052YldKY2JpQWdhV1lnS0NGTllYUm9MbWx0ZFd3cElIdGNiaUFnSUNCamIyMWlNVEJOZFd4VWJ5QTlJSE50WVd4c1RYVnNWRzg3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaWFXZE5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQnVkVzB1Ym1WbllYUnBkbVVnWGlCelpXeG1MbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0J6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJSFpoY2lCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcklEMGdNRHNnYXlBOElHOTFkQzVzWlc1bmRHZ2dMU0F4T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQWdJR2h1WTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISjNiM0prSUQwZ1kyRnljbmtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMllYSWdiV0Y0U2lBOUlFMWhkR2d1YldsdUtHc3NJRzUxYlM1c1pXNW5kR2dnTFNBeEtUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0JOWVhSb0xtMWhlQ2d3TENCcklDMGdjMlZzWmk1c1pXNW5kR2dnS3lBeEtUc2dhaUE4UFNCdFlYaEtPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQnJJQzBnYWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzVqWVhKeWVTQTlJQ2h1WTJGeWNua2dLeUFvS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrcElId2dNRHRjYmlBZ0lDQWdJQ0FnYkc4Z1BTQW9iRzhnS3lCeWQyOXlaQ2tnZkNBd08xeHVJQ0FnSUNBZ0lDQnlkMjl5WkNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tHeHZJRDQrUGlBeU5pa3BJSHdnTUR0Y2JseHVJQ0FnSUNBZ0lDQm9ibU5oY25KNUlDczlJRzVqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCeWQyOXlaRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNU8xeHVJQ0FnSUNBZ2JtTmhjbko1SUQwZ2FHNWpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2IzVjBMbXhsYm1kMGFDMHRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUXVjM1J5YVhBb0tUdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR3AxYldKdlRYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdabWRHMGdQU0J1WlhjZ1JrWlVUU2dwTzF4dUlDQWdJSEpsZEhWeWJpQm1ablJ0TG0xMWJIQW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmdkR2hwYzJBZ1lua2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXeFVieWh1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2daVzF3Ykc5NWFXNW5JRVpHVkZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ppQTlJR1oxYm1OMGFXOXVJRzExYkdZZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJR3AxYldKdlRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVMWEJzWVdObElFMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzV0ZFd4VWJ5aHVkVzBzSUhSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiWFZzYmlBOUlHWjFibU4wYVc5dUlHbHRkV3h1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeHVJRDBnWm5WdVkzUnBiMjRnYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJYVnNiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdCMGFHbHpZQ0FxSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM0Z5SUQwZ1puVnVZM1JwYjI0Z2MzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMTFiQ2gwYUdsekxtTnNiMjVsS0NrcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxaGRHZ3VjRzkzS0dCMGFHbHpZQ3dnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXdiM2NnUFNCbWRXNWpkR2x2YmlCd2IzY2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEc5Q2FYUkJjbkpoZVNodWRXMHBPMXh1SUNBZ0lHbG1JQ2gzTG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lDOHZJRk5yYVhBZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3p0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEpsY3lBOUlISmxjeTV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdhV1lnS0hkYmFWMGdJVDA5SURBcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNncksya2dQQ0IzTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnY1NBOUlISmxjeTV6Y1hJb0tUc2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEVnUFNCeExuTnhjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gzVzJsZElEMDlQU0F3S1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWE1nUFNCeVpYTXViWFZzS0hFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRiR1ZtZENCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFHeHVJRDBnWm5WdVkzUnBiMjRnYVhWemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZEhNZ0xTQnlLU0F2SURJMk8xeHVJQ0FnSUhaaGNpQmpZWEp5ZVUxaGMyc2dQU0FvTUhnelptWm1abVptSUQ0K1BpQW9NallnTFNCeUtTa2dQRHdnS0RJMklDMGdjaWs3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVsZDBOaGNuSjVJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JR05oY25KNVRXRnphenRjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0FvS0hSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElHNWxkME5oY25KNUtTQThQQ0J5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWXlCOElHTmhjbko1TzF4dUlDQWdJQ0FnSUNCallYSnllU0E5SUc1bGQwTmhjbko1SUQ0K1BpQW9NallnTFNCeUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUNzOUlITTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbHRjR3hsYldWdWRDQnRaVnh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWE5vYkc0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMmhwWm5RdGNtbG5hSFFnYVc0dGNHeGhZMlZjYmlBZ0x5OGdUazlVUlRvZ1lHaHBiblJnSUdseklHRWdiRzkzWlhOMElHSnBkQ0JpWldadmNtVWdkSEpoYVd4cGJtY2dlbVZ5YjJWelhHNGdJQzh2SUU1UFZFVTZJR2xtSUdCbGVIUmxibVJsWkdBZ2FYTWdjSEpsYzJWdWRDQXRJR2wwSUhkcGJHd2dZbVVnWm1sc2JHVmtJSGRwZEdnZ1pHVnpkSEp2ZVdWa0lHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2wxYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkSE1nUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZEhNZ1BqMGdNQ2s3WEc0Z0lDQWdkbUZ5SUdnN1hHNGdJQ0FnYVdZZ0tHaHBiblFwSUh0Y2JpQWdJQ0FnSUdnZ1BTQW9hR2x1ZENBdElDaG9hVzUwSUNVZ01qWXBLU0F2SURJMk8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJRTFoZEdndWJXbHVLQ2hpYVhSeklDMGdjaWtnTHlBeU5pd2dkR2hwY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVptSUY0Z0tDZ3dlRE5tWm1abVptWWdQajQrSUhJcElEdzhJSElwTzF4dUlDQWdJSFpoY2lCdFlYTnJaV1JYYjNKa2N5QTlJR1Y0ZEdWdVpHVmtPMXh1WEc0Z0lDQWdhQ0F0UFNCek8xeHVJQ0FnSUdnZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JvS1R0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkdWa0lHMXZaR1VzSUdOdmNIa2diV0Z6YTJWa0lIQmhjblJjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djenNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG14bGJtZDBhQ0E5SUhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDOHZJRTV2TFc5d0xDQjNaU0J6YUc5MWJHUWdibTkwSUcxdmRtVWdZVzU1ZEdocGJtY2dZWFFnWVd4c1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJSE03WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBZ0ppWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dQajBnYUNrN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIZHZjbVFnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvWTJGeWNua2dQRHdnS0RJMklDMGdjaWtwSUh3Z0tIZHZjbVFnUGo0K0lISXBPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNiM0prSUNZZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRZFhOb0lHTmhjbkpwWldRZ1ltbDBjeUJoY3lCaElHMWhjMnRjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNZ0ppWWdZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGMydGxaRmR2Y21SekxuZHZjbVJ6VzIxaGMydGxaRmR2Y21SekxteGxibWQwYUNzclhTQTlJR05oY25KNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYjI1c2VTQnNiM2RsY25NZ1ltbDBjeUJ2WmlCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTFoYzJ0dUlEMGdablZ1WTNScGIyNGdiV0Z6YTI0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdFlYTnJiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJSFJ2SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV0ZrWkc0Z1BTQm1kVzVqZEdsdmJpQnBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3Z01IZzBNREF3TURBd0tUdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2djbVYwZFhKdUlIUm9hWE11YVhOMVltNG9MVzUxYlNrN1hHNWNiaUFnSUNBdkx5QlFiM056YVdKc1pTQnphV2R1SUdOb1lXNW5aVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnS0hSb2FYTXVkMjl5WkhOYk1GMGdmQ0F3S1NBOElHNTFiU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnYm5WdElDMGdLSFJvYVhNdWQyOXlaSE5iTUYwZ2ZDQXdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVhOMVltNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdodmRYUWdZMmhsWTJ0elhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBZV1JrYmlBOUlHWjFibU4wYVc5dUlGOXBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBclBTQnVkVzA3WEc1Y2JpQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0ErUFNBd2VEUXdNREF3TURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQXRQU0F3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJREZkSUQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySURGZEt5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrZ0t5QXhLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk4xWW5SeVlXTjBJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVltNGdQU0JtZFc1amRHbHZiaUJwYzNWaWJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmlBZ0lDQnBaaUFvYm5WdElEd2dNQ2tnY21WMGRYSnVJSFJvYVhNdWFXRmtaRzRvTFc1MWJTazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdSdUtHNTFiU2s3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0xUMGdiblZ0TzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeElDWW1JSFJvYVhNdWQyOXlaSE5iTUYwZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdMWFJvYVhNdWQyOXlaSE5iTUYwN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnUTJGeWNubGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0E4SURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQ3M5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ0xUMGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhaR1J1SUQwZ1puVnVZM1JwYjI0Z1lXUmtiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZV1JrYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkV0p1SUQwZ1puVnVZM1JwYjI0Z2MzVmliaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBjM1ZpYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV0p6SUQwZ1puVnVZM1JwYjI0Z2FXRmljeUFvS1NCN1hHNGdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdKeklEMGdablZ1WTNScGIyNGdZV0p6SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhZbk1vS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsemFHeHVjM1ZpYlhWc0lEMGdablZ1WTNScGIyNGdYMmx6YUd4dWMzVmliWFZzSUNodWRXMHNJRzExYkN3Z2MyaHBablFwSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYm5WdExteGxibWQwYUNBcklITm9hV1owTzF4dUlDQWdJSFpoY2lCcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR3hsYmlrN1hHNWNiaUFnSUNCMllYSWdkenRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCeWFXZG9kQ0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlHMTFiRHRjYmlBZ0lDQWdJSGNnTFQwZ2NtbG5hSFFnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUNoM0lENCtJREkyS1NBdElDZ29jbWxuYUhRZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDMGdjMmhwWm5RN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnUFQwOUlEQXBJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc1Y2JpQWdJQ0F2THlCVGRXSjBjbUZqZEdsdmJpQnZkbVZ5Wm14dmQxeHVJQ0FnSUdGemMyVnlkQ2hqWVhKeWVTQTlQVDBnTFRFcE8xeHVJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUMwb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZkMjl5WkVScGRpQTlJR1oxYm1OMGFXOXVJRjkzYjNKa1JHbDJJQ2h1ZFcwc0lHMXZaR1VwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCMGFHbHpMbXhsYm1kMGFDQXRJRzUxYlM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFNXZjbTFoYkdsNlpWeHVJQ0FnSUhaaGNpQmlhR2tnUFNCaUxuZHZjbVJ6VzJJdWJHVnVaM1JvSUMwZ01WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWFHbENhWFJ6SUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0dKb2FTazdYRzRnSUNBZ2MyaHBablFnUFNBeU5pQXRJR0pvYVVKcGRITTdYRzRnSUNBZ2FXWWdLSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaUlEMGdZaTUxYzJoc2JpaHphR2xtZENrN1hHNGdJQ0FnSUNCaExtbDFjMmhzYmloemFHbG1kQ2s3WEc0Z0lDQWdJQ0JpYUdrZ1BTQmlMbmR2Y21SelcySXViR1Z1WjNSb0lDMGdNVjBnZkNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdjWFZ2ZEdsbGJuUmNiaUFnSUNCMllYSWdiU0E5SUdFdWJHVnVaM1JvSUMwZ1lpNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlIRTdYRzVjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJSEVnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ0lDQnhMbXhsYm1kMGFDQTlJRzBnS3lBeE8xeHVJQ0FnSUNBZ2NTNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaHhMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHUnBabVlnUFNCaExtTnNiMjVsS0NrdVgybHphR3h1YzNWaWJYVnNLR0lzSURFc0lHMHBPMXh1SUNBZ0lHbG1JQ2hrYVdabUxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdaR2xtWmp0Y2JpQWdJQ0FnSUdsbUlDaHhLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYlYwZ1BTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J0SUMwZ01Uc2dhaUErUFNBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhhaUE5SUNoaExuZHZjbVJ6VzJJdWJHVnVaM1JvSUNzZ2FsMGdmQ0F3S1NBcUlEQjROREF3TURBd01DQXJYRzRnSUNBZ0lDQWdJQ2hoTG5kdmNtUnpXMkl1YkdWdVozUm9JQ3NnYWlBdElERmRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lDOHZJRTVQVkVVNklDaHhhaUF2SUdKb2FTa2dhWE1nS0RCNE0yWm1abVptWmlBcUlEQjROREF3TURBd01DQXJJREI0TTJabVptWm1aaWtnTHlBd2VESXdNREF3TURBZ2JXRjRYRzRnSUNBZ0lDQXZMeUFvTUhnM1ptWm1abVptS1Z4dUlDQWdJQ0FnY1dvZ1BTQk5ZWFJvTG0xcGJpZ29jV29nTHlCaWFHa3BJSHdnTUN3Z01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2djV29zSUdvcE8xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NXb3RMVHRjYmlBZ0lDQWdJQ0FnWVM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQWdJR0V1WDJsemFHeHVjM1ZpYlhWc0tHSXNJREVzSUdvcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeEtTQjdYRzRnSUNBZ0lDQWdJSEV1ZDI5eVpITmJhbDBnUFNCeGFqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJSEV1YzNSeWFYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ1lTNXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdSR1Z1YjNKdFlXeHBlbVZjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY2dKaVlnYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtITm9hV1owS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdaR2wyT2lCeElIeDhJRzUxYkd3c1hHNGdJQ0FnSUNCdGIyUTZJR0ZjYmlBZ0lDQjlPMXh1SUNCOU8xeHVYRzRnSUM4dklFNVBWRVU2SURFcElHQnRiMlJsWUNCallXNGdZbVVnYzJWMElIUnZJR0J0YjJSZ0lIUnZJSEpsY1hWbGMzUWdiVzlrSUc5dWJIa3NYRzRnSUM4dklDQWdJQ0FnSUhSdklHQmthWFpnSUhSdklISmxjWFZsYzNRZ1pHbDJJRzl1Ykhrc0lHOXlJR0psSUdGaWMyVnVkQ0IwYjF4dUlDQXZMeUFnSUNBZ0lDQnlaWEYxWlhOMElHSnZkR2dnWkdsMklDWWdiVzlrWEc0Z0lDOHZJQ0FnSUNBZ0lESXBJR0J3YjNOcGRHbDJaV0FnYVhNZ2RISjFaU0JwWmlCMWJuTnBaMjVsWkNCdGIyUWdhWE1nY21WeGRXVnpkR1ZrWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhadGIyUWdQU0JtZFc1amRHbHZiaUJrYVhadGIyUWdLRzUxYlN3Z2JXOWtaU3dnY0c5emFYUnBkbVVwSUh0Y2JpQWdJQ0JoYzNObGNuUW9JVzUxYlM1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tEQXBYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVhZc0lHMXZaQ3dnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2R0YjJRbktTQjdYRzRnSUNBZ0lDQWdJR1JwZGlBOUlISmxjeTVrYVhZdWJtVm5LQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnRiMlFnUFNCeVpYTXViVzlrTG01bFp5Z3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwZG1VZ0ppWWdiVzlrTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXOWtMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUnBkbTF2WkNodWRXMHVibVZuS0Nrc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2djbVZ6TG0xdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ0ppQnVkVzB1Ym1WbllYUnBkbVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG01bFp5Z3BMbVJwZG0xdlpDaHVkVzB1Ym1WbktDa3NJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCeVpYTXVaR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQ2IzUm9JRzUxYldKbGNuTWdZWEpsSUhCdmMybDBhWFpsSUdGMElIUm9hWE1nY0c5cGJuUmNibHh1SUNBZ0lDOHZJRk4wY21sd0lHSnZkR2dnYm5WdFltVnljeUIwYnlCaGNIQnliM2hwYldGMFpTQnphR2xtZENCMllXeDFaVnh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQ0Z2RHaHBjeTVzWlc1bmRHZ2dmSHdnZEdocGN5NWpiWEFvYm5WdEtTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklIUm9hWE5jYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVm1WeWVTQnphRzl5ZENCeVpXUjFZM1JwYjI1Y2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1MWJHeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdaR2wyT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhSb2FYTXVaR2wyYmlodWRXMHVkMjl5WkhOYk1GMHBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2Wkc0b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnY2pJZ1BUMDlJREVnSmlZZ1kyMXdJRDA5UFNBd0tTQnlaWFIxY200Z1pHMHVaR2wyTzF4dVhHNGdJQ0FnTHk4Z1VtOTFibVFnZFhCY2JpQWdJQ0J5WlhSMWNtNGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHVaR2wyTG1semRXSnVLREVwSURvZ1pHMHVaR2wyTG1saFpHUnVLREVwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0YjJSdUlEMGdablZ1WTNScGIyNGdiVzlrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUhaaGNpQndJRDBnS0RFZ1BEd2dNallwSUNVZ2JuVnRPMXh1WEc0Z0lDQWdkbUZ5SUdGall5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lHRmpZeUE5SUNod0lDb2dZV05qSUNzZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTa2dKU0J1ZFcwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JrYVhacGMybHZiaUJpZVNCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxrYVhadUlEMGdablZ1WTNScGIyNGdhV1JwZG00Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNUlDb2dNSGcwTURBd01EQXdPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlDaDNJQzhnYm5WdEtTQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiaUE5SUdaMWJtTjBhVzl1SUdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXUnBkbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpXZGpaQ0E5SUdaMWJtTjBhVzl1SUdWblkyUWdLSEFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9jQzV1WldkaGRHbDJaU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NGd0xtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUI0SUQwZ2RHaHBjenRjYmlBZ0lDQjJZWElnZVNBOUlIQXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lHbG1JQ2g0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNTFiVzlrS0hBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNWpiRzl1WlNncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRWdLaUI0SUNzZ1FpQXFJSGtnUFNCNFhHNGdJQ0FnZG1GeUlFRWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUVJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQXZMeUJESUNvZ2VDQXJJRVFnS2lCNUlEMGdlVnh1SUNBZ0lIWmhjaUJESUQwZ2JtVjNJRUpPS0RBcE8xeHVJQ0FnSUhaaGNpQkVJRDBnYm1WM0lFSk9LREVwTzF4dVhHNGdJQ0FnZG1GeUlHY2dQU0F3TzF4dVhHNGdJQ0FnZDJocGJHVWdLSGd1YVhORmRtVnVLQ2tnSmlZZ2VTNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdlQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I1TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNzclp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdlWEFnUFNCNUxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlIaHdJRDBnZUM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLQ0Y0TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvZUM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSGd1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hCTG1selQyUmtLQ2tnZkh3Z1FpNXBjMDlrWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxtbGhaR1FvZVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnUWk1cGMzVmlLSGh3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCQkxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdJQ0JDTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTUN3Z2FtMGdQU0F4T3lBb2VTNTNiM0prYzFzd1hTQW1JR3B0S1NBOVBUMGdNQ0FtSmlCcUlEd2dNalk3SUNzcmFpd2dhbTBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0dvZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYVnphSEp1S0dvcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FpMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoRExtbHpUMlJrS0NrZ2ZId2dSQzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkRMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1JDNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCRUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VDNWpiWEFvZVNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbHpkV0lvZVNrN1hHNGdJQ0FnSUNBZ0lFRXVhWE4xWWloREtUdGNiaUFnSUNBZ0lDQWdRaTVwYzNWaUtFUXBPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlUzVwYzNWaUtIZ3BPMXh1SUNBZ0lDQWdJQ0JETG1semRXSW9RU2s3WEc0Z0lDQWdJQ0FnSUVRdWFYTjFZaWhDS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZVG9nUXl4Y2JpQWdJQ0FnSUdJNklFUXNYRzRnSUNBZ0lDQm5ZMlE2SUhrdWFYVnphR3h1S0djcFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJVYUdseklHbHpJSEpsWkhWalpXUWdhVzVqWVhKdVlYUnBiMjRnYjJZZ2RHaGxJR0pwYm1GeWVTQkZSVUZjYmlBZ0x5OGdZV0p2ZG1Vc0lHUmxjMmxuYm1GMFpXUWdkRzhnYVc1MlpYSjBJRzFsYldKbGNuTWdiMllnZEdobFhHNGdJQzh2SUY5d2NtbHRaVjhnWm1sbGJHUnpJRVlvY0NrZ1lYUWdZU0J0WVhocGJXRnNJSE53WldWa1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNTJiWEFnUFNCbWRXNWpkR2x2YmlCZmFXNTJiWEFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoaExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdZUzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaElEMGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI0TVNBOUlHNWxkeUJDVGlneEtUdGNiaUFnSUNCMllYSWdlRElnUFNCdVpYY2dRazRvTUNrN1hHNWNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQmlMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjNhR2xzWlNBb1lTNWpiWEJ1S0RFcElENGdNQ0FtSmlCaUxtTnRjRzRvTVNrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhVzBnUFNBeE95QW9ZUzUzYjNKa2Mxc3dYU0FtSUdsdEtTQTlQVDBnTUNBbUppQnBJRHdnTWpZN0lDc3JhU3dnYVcwZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWFZ6YUhKdUtHa3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hUzB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNUzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNUzVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1TNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLR0l1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmlMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9lREl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlREl1YVdGa1pDaGtaV3gwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2VESXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGhMbU50Y0NoaUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNBZ0lDQWdlREV1YVhOMVlpaDRNaWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JpTG1semRXSW9ZU2s3WEc0Z0lDQWdJQ0FnSUhneUxtbHpkV0lvZURFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdhV1lnS0dFdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdlREU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZGpaQ0E5SUdaMWJtTjBhVzl1SUdkalpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJ1ZFcwdVlXSnpLQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTNXBjMXBsY204b0tTa2djbVYwZFhKdUlIUm9hWE11WVdKektDazdYRzVjYmlBZ0lDQjJZWElnWVNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQjJZWElnWWlBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJR0l1Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ0x5OGdVbVZ0YjNabElHTnZiVzF2YmlCbVlXTjBiM0lnYjJZZ2RIZHZYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2MyaHBablFnUFNBd095QmhMbWx6UlhabGJpZ3BJQ1ltSUdJdWFYTkZkbVZ1S0NrN0lITm9hV1owS3lzcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdZaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnZDJocGJHVWdLR0V1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb1lpNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSElnUFNCaExtTnRjQ2hpS1R0Y2JpQWdJQ0FnSUdsbUlDaHlJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUZDJGd0lHQmhZQ0JoYm1RZ1lHSmdJSFJ2SUcxaGEyVWdZR0ZnSUdGc2QyRjVjeUJpYVdkblpYSWdkR2hoYmlCZ1ltQmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQmhPMXh1SUNBZ0lDQWdJQ0JoSUQwZ1lqdGNiaUFnSUNBZ0lDQWdZaUE5SUhRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISWdQVDA5SURBZ2ZId2dZaTVqYlhCdUtERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2RISjFaU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZaTVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdWRtVnlkQ0J1ZFcxaVpYSWdhVzRnZEdobElHWnBaV3hrSUVZb2JuVnRLVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZuWTJRb2JuVnRLUzVoTG5WdGIyUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhORmRtVnVJRDBnWm5WdVkzUnBiMjRnYVhORmRtVnVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTlBaR1FnUFNCbWRXNWpkR2x2YmlCcGMwOWtaQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuZHZjbVJ6V3pCZElDWWdNU2tnUFQwOUlERTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR1pwY25OMElIZHZjbVFnWVc1a0lHNTFiVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZVzVrYkc0Z1BTQm1kVzVqZEdsdmJpQmhibVJzYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZDI5eVpITmJNRjBnSmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNWpjbVZ0Wlc1MElHRjBJSFJvWlNCaWFYUWdjRzl6YVhScGIyNGdhVzR0YkdsdVpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbHVZMjRnUFNCbWRXNWpkR2x2YmlCaWFXNWpiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkQ0FsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRDQXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJSEVnUFNBeElEdzhJSEk3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVNklHSnBkQ0JwY3lCdGRXTm9JR2hwWjJobGNpQjBhR0Z1SUdGc2JDQmxlR2x6ZEdsdVp5QjNiM0prYzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQThQU0J6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlsZUhCaGJtUW9jeUFySURFcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHpYU0I4UFNCeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKcGRDQmhibVFnY0hKdmNHRm5ZWFJsTENCcFppQnVaV1ZrWldSY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNCeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpPeUJqWVhKeWVTQWhQVDBnTUNBbUppQnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSGNnS3owZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnUGo0K0lESTJPMXh1SUNBZ0lDQWdkeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZHp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOYVpYSnZJRDBnWm5WdVkzUnBiMjRnYVhOYVpYSnZJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTIxd2JpQTlJR1oxYm1OMGFXOXVJR050Y0c0Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdVpXZGhkR2wyWlNBOUlHNTFiU0E4SURBN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlBaGJtVm5ZWFJwZG1VcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lISmxjeUE5SURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNodVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzBnUFNBdGJuVnRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppd2dKMDUxYldKbGNpQnBjeUIwYjI4Z1ltbG5KeWs3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjNJRDA5UFNCdWRXMGdQeUF3SURvZ2R5QThJRzUxYlNBL0lDMHhJRG9nTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdkSGR2SUc1MWJXSmxjbk1nWVc1a0lISmxkSFZ5YmpwY2JpQWdMeThnTVNBdElHbG1JR0IwYUdsellDQStJR0J1ZFcxZ1hHNGdJQzh2SURBZ0xTQnBaaUJnZEdocGMyQWdQVDBnWUc1MWJXQmNiaUFnTHk4Z0xURWdMU0JwWmlCZ2RHaHBjMkFnUENCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZMjF3SUQwZ1puVnVZM1JwYjI0Z1kyMXdJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdQVDA5SURBcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE11ZFdOdGNDaHVkVzBwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQnlaWFIxY200Z0xYSmxjeUI4SURBN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJWYm5OcFoyNWxaQ0JqYjIxd1lYSnBjMjl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWTIxd0lEMGdablZ1WTNScGIyNGdkV050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nYUdGMlpTQjBhR1VnYzJGdFpTQnphV2R1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJREU3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJQzB4TzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJSFpoY2lCaElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHBYU0I4SURBN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoSUQwOVBTQmlLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJR2xtSUNoaElEd2dZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F0TVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lTQStJR0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHNGdQU0JtZFc1amRHbHZiaUJuZEc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1FnUFNCbWRXNWpkR2x2YmlCbmRDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdLRzUxYlNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlc0Z1BTQm1kVzVqZEdsdmJpQm5kR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUGowZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVozUmxJRDBnWm5WdVkzUnBiMjRnWjNSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkRzRnUFNCbWRXNWpkR2x2YmlCc2RHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTFRFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MElEMGdablZ1WTNScGIyNGdiSFFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxiaUE5SUdaMWJtTjBhVzl1SUd4MFpXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQThQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVzZEdVZ1BTQm1kVzVqZEdsdmJpQnNkR1VnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1WeGJpQTlJR1oxYm1OMGFXOXVJR1Z4YmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQklISmxaSFZqWlNCamIyNTBaWGgwTENCamIzVnNaQ0JpWlNCMWMybHVaeUJ0YjI1MFoyOXRaWEo1SUc5eUlITnZiV1YwYUdsdVp5QmlaWFIwWlhJc0lHUmxjR1Z1WkdsdVoxeHVJQ0F2THlCdmJpQjBhR1VnWUcxZ0lHbDBjMlZzWmk1Y2JpQWdMeTljYmlBZ1FrNHVjbVZrSUQwZ1puVnVZM1JwYjI0Z2NtVmtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGSmxaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxSmxaQ0E5SUdaMWJtTjBhVzl1SUhSdlVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZM1I0TG1OdmJuWmxjblJVYnloMGFHbHpLUzVmWm05eVkyVlNaV1FvWTNSNEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVkpsWkNBOUlHWjFibU4wYVc5dUlHWnliMjFTWldRZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0oyWnliMjFTWldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUc1MWJXSmxjbk1nYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WTI5dWRtVnlkRVp5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDltYjNKalpWSmxaQ0E5SUdaMWJtTjBhVzl1SUY5bWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdkR2hwY3k1eVpXUWdQU0JqZEhnN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1admNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1ptOXlZMlZTWldRZ0tHTjBlQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hkR2hwY3k1eVpXUXNJQ2RCYkhKbFlXUjVJR0VnYm5WdFltVnlJR2x1SUhKbFpIVmpkR2x2YmlCamIyNTBaWGgwSnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVGa1pDQTlJR1oxYm1OMGFXOXVJSEpsWkVGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1FXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNWhaR1FvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NVRmtaQ0E5SUdaMWJtTjBhVzl1SUhKbFpFbEJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRWxCWkdRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1saFpHUW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVTNWaUlEMGdablZ1WTNScGIyNGdjbVZrVTNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTjFZaWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzVmlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk4xWWlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOMVlpaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUYUd3Z1BTQm1kVzVqZEdsdmJpQnlaV1JUYUd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOb2JDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMyaHNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkUxMWJDQTlJR1oxYm1OMGFXOXVJSEpsWkUxMWJDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1RYVnNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3lLSFJvYVhNc0lHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtMTFiQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlRYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1NVMTFiQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUWFZzSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt5S0hSb2FYTXNJRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbWx0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtVM0Z5SUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5OeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NWTnhjaUE5SUdaMWJtTjBhVzl1SUhKbFpFbFRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbFRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1semNYSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNGMVlYSmxJSEp2YjNRZ2IzWmxjaUJ3WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGNYSjBJRDBnWm5WdVkzUnBiMjRnY21Wa1UzRnlkQ0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UzRnlkQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeWRDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NXNTJiU0E5SUdaMWJtTjBhVzl1SUhKbFpFbHVkbTBnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbHVkbTBnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1sdWRtMG9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzVsWjJGMGFYWmxJR05zYjI1bElHOW1JR0IwYUdsellDQWxJR0J5WldRZ2JXOWtkV3h2WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RtVm5JRDBnWm5WdVkzUnBiMjRnY21Wa1RtVm5JQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldST1pXY2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVURW9kR2hwY3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbTVsWnloMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVUc5M0lEMGdablZ1WTNScGIyNGdjbVZrVUc5M0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUWdKaVlnSVc1MWJTNXlaV1FzSUNkeVpXUlFiM2NvYm05eWJXRnNUblZ0S1NjcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1d2IzY29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjbWx0WlNCdWRXMWlaWEp6SUhkcGRHZ2daV1ptYVdOcFpXNTBJSEpsWkhWamRHbHZibHh1SUNCMllYSWdjSEpwYldWeklEMGdlMXh1SUNBZ0lHc3lOVFk2SUc1MWJHd3NYRzRnSUNBZ2NESXlORG9nYm5Wc2JDeGNiaUFnSUNCd01Ua3lPaUJ1ZFd4c0xGeHVJQ0FnSUhBeU5UVXhPVG9nYm5Wc2JGeHVJQ0I5TzF4dVhHNGdJQzh2SUZCelpYVmtieTFOWlhKelpXNXVaU0J3Y21sdFpWeHVJQ0JtZFc1amRHbHZiaUJOVUhKcGJXVWdLRzVoYldVc0lIQXBJSHRjYmlBZ0lDQXZMeUJRSUQwZ01pQmVJRTRnTFNCTFhHNGdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG5BZ1BTQnVaWGNnUWs0b2NDd2dNVFlwTzF4dUlDQWdJSFJvYVhNdWJpQTlJSFJvYVhNdWNDNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1zZ1BTQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtIUm9hWE11YmlrdWFYTjFZaWgwYUdsekxuQXBPMXh1WEc0Z0lDQWdkR2hwY3k1MGJYQWdQU0IwYUdsekxsOTBiWEFvS1R0Y2JpQWdmVnh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdVgzUnRjQ0E5SUdaMWJtTjBhVzl1SUY5MGJYQWdLQ2tnZTF4dUlDQWdJSFpoY2lCMGJYQWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnZEcxd0xuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtFMWhkR2d1WTJWcGJDaDBhR2x6TG00Z0x5QXhNeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBiWEE3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z2FYSmxaSFZqWlNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhOemRXMWxjeUIwYUdGMElHQnVkVzFnSUdseklHeGxjM01nZEdoaGJpQmdVRjR5WUZ4dUlDQWdJQzh2SUc1MWJTQTlJRWhKSUNvZ0tESWdYaUJPSUMwZ1N5a2dLeUJJU1NBcUlFc2dLeUJNVHlBOUlFaEpJQ29nU3lBcklFeFBJQ2h0YjJRZ1VDbGNiaUFnSUNCMllYSWdjaUE5SUc1MWJUdGNiaUFnSUNCMllYSWdjbXhsYmp0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIUm9hWE11YzNCc2FYUW9jaXdnZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVcxMWJFc29jaWs3WEc0Z0lDQWdJQ0J5SUQwZ2NpNXBZV1JrS0hSb2FYTXVkRzF3S1R0Y2JpQWdJQ0FnSUhKc1pXNGdQU0J5TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0hKc1pXNGdQaUIwYUdsekxtNHBPMXh1WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJSEpzWlc0Z1BDQjBhR2x6TG00Z1B5QXRNU0E2SUhJdWRXTnRjQ2gwYUdsekxuQXBPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjaTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTIxd0lENGdNQ2tnZTF4dUlDQWdJQ0FnY2k1cGMzVmlLSFJvYVhNdWNDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhJdWMzUnlhWEFvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFFwSUh0Y2JpQWdJQ0JwYm5CMWRDNXBkWE5vY200b2RHaHBjeTV1TENBd0xDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNXBiWFZzS0hSb2FYTXVheWs3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1N6STFOaUFvS1NCN1hHNGdJQ0FnVFZCeWFXMWxMbU5oYkd3b1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdKMnN5TlRZbkxGeHVJQ0FnSUNBZ0oyWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abElHWm1abVptWXpKbUp5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9TekkxTml3Z1RWQnlhVzFsS1R0Y2JseHVJQ0JMTWpVMkxuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMGNIVjBLU0I3WEc0Z0lDQWdMeThnTWpVMklEMGdPU0FxSURJMklDc2dNakpjYmlBZ0lDQjJZWElnYldGemF5QTlJREI0TTJabVptWm1PMXh1WEc0Z0lDQWdkbUZ5SUc5MWRFeGxiaUE5SUUxaGRHZ3ViV2x1S0dsdWNIVjBMbXhsYm1kMGFDd2dPU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2ZFhSTVpXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2IzVjBjSFYwTG5kdmNtUnpXMmxkSUQwZ2FXNXdkWFF1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHOTFkSEIxZEM1c1pXNW5kR2dnUFNCdmRYUk1aVzQ3WEc1Y2JpQWdJQ0JwWmlBb2FXNXdkWFF1YkdWdVozUm9JRHc5SURrcElIdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lHbHVjSFYwTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVTJocFpuUWdZbmtnT1NCc2FXMWljMXh1SUNBZ0lIWmhjaUJ3Y21WMklEMGdhVzV3ZFhRdWQyOXlaSE5iT1YwN1hHNGdJQ0FnYjNWMGNIVjBMbmR2Y21SelcyOTFkSEIxZEM1c1pXNW5kR2dySzEwZ1BTQndjbVYySUNZZ2JXRnphenRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJREV3T3lCcElEd2dhVzV3ZFhRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdVpYaDBJRDBnYVc1d2RYUXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYmFTQXRJREV3WFNBOUlDZ29ibVY0ZENBbUlHMWhjMnNwSUR3OElEUXBJSHdnS0hCeVpYWWdQajQrSURJeUtUdGNiaUFnSUNBZ0lIQnlaWFlnUFNCdVpYaDBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtVjJJRDQrUGowZ01qSTdYRzRnSUNBZ2FXNXdkWFF1ZDI5eVpITmJhU0F0SURFd1hTQTlJSEJ5WlhZN1hHNGdJQ0FnYVdZZ0tIQnlaWFlnUFQwOUlEQWdKaVlnYVc1d2RYUXViR1Z1WjNSb0lENGdNVEFwSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0F4TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlEazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXdNREF3TUROa01TQTlJRnNnTUhnME1Dd2dNSGd6WkRFZ1hWeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb1hTQTlJREE3WEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnS3lBeFhTQTlJREE3WEc0Z0lDQWdiblZ0TG14bGJtZDBhQ0FyUFNBeU8xeHVYRzRnSUNBZ0x5OGdZbTkxYm1SbFpDQmhkRG9nTUhnME1DQXFJREI0TTJabVptWm1aaUFySURCNE0yUXdJRDBnTUhneE1EQXdNREF6T1RCY2JpQWdJQ0IyWVhJZ2JHOGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRzUxYlM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnNieUFyUFNCM0lDb2dNSGd6WkRFN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHeHZJRDBnZHlBcUlEQjROREFnS3lBb0tHeHZJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRVpoYzNRZ2JHVnVaM1JvSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J1ZFcwdWJHVnVaM1JvTFMwN1hHNGdJQ0FnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzB1YkdWdVozUm9MUzA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJeU5DQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXlNalFuTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SURBd01EQXdNREF4SnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VESXlOQ3dnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNVGt5SUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RFNU1pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1abVptWWdabVptWm1abVptWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTVRreUxDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeU5UVXhPU0FvS1NCN1hHNGdJQ0FnTHk4Z01pQmVJREkxTlNBdElERTVYRzRnSUNBZ1RWQnlhVzFsTG1OaGJHd29YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnSnpJMU5URTVKeXhjYmlBZ0lDQWdJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9VREkxTlRFNUxDQk5VSEpwYldVcE8xeHVYRzRnSUZBeU5UVXhPUzV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVROY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVnRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNBb2JuVnRMbmR2Y21SelcybGRJSHdnTUNrZ0tpQXdlREV6SUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JvYVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHaHBJRDQrUGowZ01qWTdYRzVjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQm9hVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDc3JYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVWNGNHOXlkR1ZrSUcxdmMzUnNlU0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3l3Z2RYTmxJSEJzWVdsdUlHNWhiV1VnYVc1emRHVmhaRnh1SUNCQ1RpNWZjSEpwYldVZ1BTQm1kVzVqZEdsdmJpQndjbWx0WlNBb2JtRnRaU2tnZTF4dUlDQWdJQzh2SUVOaFkyaGxaQ0IyWlhKemFXOXVJRzltSUhCeWFXMWxYRzRnSUNBZ2FXWWdLSEJ5YVcxbGMxdHVZVzFsWFNrZ2NtVjBkWEp1SUhCeWFXMWxjMXR1WVcxbFhUdGNibHh1SUNBZ0lIWmhjaUJ3Y21sdFpUdGNiaUFnSUNCcFppQW9ibUZ0WlNBOVBUMGdKMnN5TlRZbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJMTWpVMktDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREl5TkNjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TWpRb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNVGt5SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREU1TWlncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXlOVFV4T1NjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TlRVeE9TZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdWEyNXZkMjRnY0hKcGJXVWdKeUFySUc1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtbHRaWE5iYm1GdFpWMGdQU0J3Y21sdFpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd2NtbHRaVHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQ1lYTmxJSEpsWkhWamRHbHZiaUJsYm1kcGJtVmNiaUFnTHk5Y2JpQWdablZ1WTNScGIyNGdVbVZrSUNodEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YVcxbElEMGdRazR1WDNCeWFXMWxLRzBwTzF4dUlDQWdJQ0FnZEdocGN5NXRJRDBnY0hKcGJXVXVjRHRjYmlBZ0lDQWdJSFJvYVhNdWNISnBiV1VnUFNCd2NtbHRaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0cwdVozUnVLREVwTENBbmJXOWtkV3gxY3lCdGRYTjBJR0psSUdkeVpXRjBaWElnZEdoaGJpQXhKeWs3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J0TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWZkbVZ5YVdaNU1TQTlJR1oxYm1OMGFXOXVJRjkyWlhKcFpua3hJQ2hoS1NCN1hHNGdJQ0FnWVhOelpYSjBLR0V1Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUdGemMyVnlkQ2hoTG5KbFpDd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reUlEMGdablZ1WTNScGIyNGdYM1psY21sbWVUSWdLR0VzSUdJcElIdGNiaUFnSUNCaGMzTmxjblFvS0dFdWJtVm5ZWFJwZG1VZ2ZDQmlMbTVsWjJGMGFYWmxLU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0lDWW1JR0V1Y21Wa0lEMDlQU0JpTG5KbFpDeGNiaUFnSUNBZ0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJXOWtJRDBnWm5WdVkzUnBiMjRnYVcxdlpDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbkJ5YVcxbEtTQnlaWFIxY200Z2RHaHBjeTV3Y21sdFpTNXBjbVZrZFdObEtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnWVM1MWJXOWtLSFJvYVhNdWJTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbklDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJTNXpkV0lvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrSUNoaExDQmlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRtVnlhV1o1TWloaExDQmlLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0JoTG1Ga1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhV0ZrWkNBOUlHWjFibU4wYVc5dUlHbGhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVdGa1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YzNWaUtHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdWFYTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjMmhzSUQwZ1puVnVZM1JwYjI0Z2MyaHNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt4S0dFcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1MWMyaHNiaWh1ZFcwcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRkV3dnUFNCbWRXNWpkR2x2YmlCcGJYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWFXMTFiQ2hpS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzV0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE54Y2lBOUlHWjFibU4wYVc5dUlHbHpjWElnS0dFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0dFc0lHRXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29ZU3dnWVNrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSjBJRDBnWm5WdVkzUnBiMjRnYzNGeWRDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoaExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z1lTNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2RtRnlJRzF2WkRNZ1BTQjBhR2x6TG0wdVlXNWtiRzRvTXlrN1hHNGdJQ0FnWVhOelpYSjBLRzF2WkRNZ0pTQXlJRDA5UFNBeEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaVnh1SUNBZ0lHbG1JQ2h0YjJReklEMDlQU0F6S1NCN1hHNGdJQ0FnSUNCMllYSWdjRzkzSUQwZ2RHaHBjeTV0TG1Ga1pDaHVaWGNnUWs0b01Ta3BMbWwxYzJoeWJpZ3lLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmR5aGhMQ0J3YjNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGUnZibVZzYkdrdFUyaGhibXR6SUdGc1oyOXlhWFJvYlNBb1ZHOTBZV3hzZVNCMWJtOXdkR2x0YVhwbFpDQmhibVFnYzJ4dmR5bGNiaUFnSUNBdkwxeHVJQ0FnSUM4dklFWnBibVFnVVNCaGJtUWdVeXdnZEdoaGRDQlJJQ29nTWlCZUlGTWdQU0FvVUNBdElERXBYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLVHRjYmlBZ0lDQjJZWElnY3lBOUlEQTdYRzRnSUNBZ2QyaHBiR1VnS0NGeExtbHpXbVZ5YnlncElDWW1JSEV1WVc1a2JHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0FnSUhFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9JWEV1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHOXVaU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCMllYSWdiazl1WlNBOUlHOXVaUzV5WldST1pXY29LVHRjYmx4dUlDQWdJQzh2SUVacGJtUWdjWFZoWkhKaGRHbGpJRzV2YmkxeVpYTnBaSFZsWEc0Z0lDQWdMeThnVGs5VVJUb2dUV0Y0SUdseklITjFZMmdnWW1WallYVnpaU0J2WmlCblpXNWxjbUZzYVhwbFpDQlNhV1Z0WVc1dUlHaDVjRzkwYUdWemFYTXVYRzRnSUNBZ2RtRnlJR3h3YjNjZ1BTQjBhR2x6TG0wdWMzVmliaWd4S1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlIb2dQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdlaUE5SUc1bGR5QkNUaWd5SUNvZ2VpQXFJSG9wTG5SdlVtVmtLSFJvYVhNcE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXVjRzkzS0hvc0lHeHdiM2NwTG1OdGNDaHVUMjVsS1NBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZWk1eVpXUkpRV1JrS0c1UGJtVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTV3YjNjb2Vpd2djU2s3WEc0Z0lDQWdkbUZ5SUhJZ1BTQjBhR2x6TG5CdmR5aGhMQ0J4TG1Ga1pHNG9NU2t1YVhWemFISnVLREVwS1R0Y2JpQWdJQ0IyWVhJZ2RDQTlJSFJvYVhNdWNHOTNLR0VzSUhFcE8xeHVJQ0FnSUhaaGNpQnRJRDBnY3p0Y2JpQWdJQ0IzYUdsc1pTQW9kQzVqYlhBb2IyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSFE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dkRzF3TG1OdGNDaHZibVVwSUNFOVBTQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkRzF3SUQwZ2RHMXdMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWE56WlhKMEtHa2dQQ0J0S1R0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NXdiM2NvWXl3Z2JtVjNJRUpPS0RFcExtbDFjMmhzYmlodElDMGdhU0F0SURFcEtUdGNibHh1SUNBZ0lDQWdjaUE5SUhJdWNtVmtUWFZzS0dJcE8xeHVJQ0FnSUNBZ1l5QTlJR0l1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0IwSUQwZ2RDNXlaV1JOZFd3b1l5azdYRzRnSUNBZ0lDQnRJRDBnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ2RtRnlJR2x1ZGlBOUlHRXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNGdJQ0FnYVdZZ0tHbHVkaTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhVzUyTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb2FXNTJLUzV5WldST1pXY29LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9ZU3dnYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlM1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCcFppQW9iblZ0TG1OdGNHNG9NU2tnUFQwOUlEQXBJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnZDJsdVpHOTNVMmw2WlNBOUlEUTdYRzRnSUNBZ2RtRnlJSGR1WkNBOUlHNWxkeUJCY25KaGVTZ3hJRHc4SUhkcGJtUnZkMU5wZW1VcE8xeHVJQ0FnSUhkdVpGc3dYU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCM2JtUmJNVjBnUFNCaE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z2QyNWtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM2JtUmJhVjBnUFNCMGFHbHpMbTExYkNoM2JtUmJhU0F0SURGZExDQmhLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkMjVrV3pCZE8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ2RtRnlJSE4wWVhKMElEMGdiblZ0TG1KcGRFeGxibWQwYUNncElDVWdNalk3WEc0Z0lDQWdhV1lnS0hOMFlYSjBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiUzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdjM1JoY25RZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWW1sMElEMGdLSGR2Y21RZ1BqNGdhaWtnSmlBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WeklDRTlQU0IzYm1SYk1GMHBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTnhjaWh5WlhNcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnBkQ0E5UFQwZ01DQW1KaUJqZFhKeVpXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEdzhQU0F4TzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUh3OUlHSnBkRHRjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlzck8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRXhsYmlBaFBUMGdkMmx1Wkc5M1UybDZaU0FtSmlBb2FTQWhQVDBnTUNCOGZDQnFJQ0U5UFNBd0tTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdkR2hwY3k1dGRXd29jbVZ6TENCM2JtUmJZM1Z5Y21WdWRGMHBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6ZEdGeWRDQTlJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdiblZ0TG5WdGIyUW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCeUlEMDlQU0J1ZFcwZ1B5QnlMbU5zYjI1bEtDa2dPaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lISmxjeTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OWNiaUFnTHk4Z1RXOXVkR2R2YldWeWVTQnRaWFJvYjJRZ1pXNW5hVzVsWEc0Z0lDOHZYRzVjYmlBZ1FrNHViVzl1ZENBOUlHWjFibU4wYVc5dUlHMXZiblFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dUVzl1ZENodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUUxdmJuUWdLRzBwSUh0Y2JpQWdJQ0JTWldRdVkyRnNiQ2gwYUdsekxDQnRLVHRjYmx4dUlDQWdJSFJvYVhNdWMyaHBablFnUFNCMGFHbHpMbTB1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXphR2xtZENBclBTQXlOaUF0SUNoMGFHbHpMbk5vYVdaMElDVWdNallwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWNpQTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkR2hwY3k1eU1pQTlJSFJvYVhNdWFXMXZaQ2gwYUdsekxuSXVjM0Z5S0NrcE8xeHVJQ0FnSUhSb2FYTXVjbWx1ZGlBOUlIUm9hWE11Y2k1ZmFXNTJiWEFvZEdocGN5NXRLVHRjYmx4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjbWx1ZGk1dGRXd29kR2hwY3k1eUtTNXBjM1ZpYmlneEtTNWthWFlvZEdocGN5NXRLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxtMXBibll1ZFcxdlpDaDBhR2x6TG5JcE8xeHVJQ0FnSUhSb2FYTXViV2x1ZGlBOUlIUm9hWE11Y2k1emRXSW9kR2hwY3k1dGFXNTJLVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhOYjI1MExDQlNaV1FwTzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SVWJ5QTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUlVieUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNodWRXMHVkWE5vYkc0b2RHaHBjeTV6YUdsbWRDa3BPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUkdjbTl0SUQwZ1puVnVZM1JwYjI0Z1kyOXVkbVZ5ZEVaeWIyMGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBiVzlrS0c1MWJTNXRkV3dvZEdocGN5NXlhVzUyS1NrN1hHNGdJQ0FnY2k1eVpXUWdQU0J1ZFd4c08xeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa2dmSHdnWWk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ1lTNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JoTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2RDQTlJR0V1YVcxMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNibHh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3dLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXViWFZzS0dJcE8xeHVJQ0FnSUhaaGNpQmpJRDBnZEM1dFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dGFXNTJLUzVwYldGemEyNG9kR2hwY3k1emFHbG1kQ2t1YlhWc0tIUm9hWE11YlNrN1hHNGdJQ0FnZG1GeUlIVWdQU0IwTG1semRXSW9ZeWt1YVhWemFISnVLSFJvYVhNdWMyaHBablFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IxTzF4dUlDQWdJR2xtSUNoMUxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kUzVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXNTJiU0E5SUdaMWJtTjBhVzl1SUdsdWRtMGdLR0VwSUh0Y2JpQWdJQ0F2THlBb1FWSXBYaTB4SUNvZ1VsNHlJRDBnS0VGZUxURWdLaUJTWGkweEtTQXFJRkplTWlBOUlFRmVMVEVnS2lCU1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTXVhVzF2WkNoaExsOXBiblp0Y0NoMGFHbHpMbTBwTG0xMWJDaDBhR2x6TG5JeUtTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1OUtTaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCdGIyUjFiR1VzSUhSb2FYTXBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9wYWNrYWdlLmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL3BhY2thZ2UuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogX2FyZ3MsIF9kZXZlbG9wbWVudCwgX2Zyb20sIF9pZCwgX2luQnVuZGxlLCBfaW50ZWdyaXR5LCBfbG9jYXRpb24sIF9waGFudG9tQ2hpbGRyZW4sIF9yZXF1ZXN0ZWQsIF9yZXF1aXJlZEJ5LCBfcmVzb2x2ZWQsIF9zcGVjLCBfd2hlcmUsIGF1dGhvciwgYnVncywgZGVwZW5kZW5jaWVzLCBkZXNjcmlwdGlvbiwgZGV2RGVwZW5kZW5jaWVzLCBmaWxlcywgaG9tZXBhZ2UsIGtleXdvcmRzLCBsaWNlbnNlLCBtYWluLCBuYW1lLCByZXBvc2l0b3J5LCBzY3JpcHRzLCB2ZXJzaW9uLCBkZWZhdWx0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IEpTT04ucGFyc2UoXFxcIntcXFxcXFxcIl9hcmdzXFxcXFxcXCI6W1tcXFxcXFxcImVsbGlwdGljQDYuNS4yXFxcXFxcXCIsXFxcXFxcXCJFOlxcXFxcXFxcXFxcXFxcXFxob21lZGV2XFxcXFxcXFxcXFxcXFxcXHBhY2thZ2VidWlsZFxcXFxcXFxcXFxcXFxcXFxwYWNrYWdlc1xcXFxcXFxcXFxcXFxcXFxhYXJkdmFyay1yZWFjdFxcXFxcXFwiXV0sXFxcXFxcXCJfZGV2ZWxvcG1lbnRcXFxcXFxcIjp0cnVlLFxcXFxcXFwiX2Zyb21cXFxcXFxcIjpcXFxcXFxcImVsbGlwdGljQDYuNS4yXFxcXFxcXCIsXFxcXFxcXCJfaWRcXFxcXFxcIjpcXFxcXFxcImVsbGlwdGljQDYuNS4yXFxcXFxcXCIsXFxcXFxcXCJfaW5CdW5kbGVcXFxcXFxcIjpmYWxzZSxcXFxcXFxcIl9pbnRlZ3JpdHlcXFxcXFxcIjpcXFxcXFxcInNoYTUxMi1mNHg3MG9relpiSVFsL05TUkxrSS8rdHRlVi85V3FMOTh6eCtTUTY5S2JYeG1Wcm1qd3NOVVBuL2dZSkowc0h2RWFrMjRjWmdISVBlZ1JlUEF0QS94dz09XFxcXFxcXCIsXFxcXFxcXCJfbG9jYXRpb25cXFxcXFxcIjpcXFxcXFxcIi9lbGxpcHRpY1xcXFxcXFwiLFxcXFxcXFwiX3BoYW50b21DaGlsZHJlblxcXFxcXFwiOnt9LFxcXFxcXFwiX3JlcXVlc3RlZFxcXFxcXFwiOntcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcInZlcnNpb25cXFxcXFxcIixcXFxcXFxcInJlZ2lzdHJ5XFxcXFxcXCI6dHJ1ZSxcXFxcXFxcInJhd1xcXFxcXFwiOlxcXFxcXFwiZWxsaXB0aWNANi41LjJcXFxcXFxcIixcXFxcXFxcIm5hbWVcXFxcXFxcIjpcXFxcXFxcImVsbGlwdGljXFxcXFxcXCIsXFxcXFxcXCJlc2NhcGVkTmFtZVxcXFxcXFwiOlxcXFxcXFwiZWxsaXB0aWNcXFxcXFxcIixcXFxcXFxcInJhd1NwZWNcXFxcXFxcIjpcXFxcXFxcIjYuNS4yXFxcXFxcXCIsXFxcXFxcXCJzYXZlU3BlY1xcXFxcXFwiOm51bGwsXFxcXFxcXCJmZXRjaFNwZWNcXFxcXFxcIjpcXFxcXFxcIjYuNS4yXFxcXFxcXCJ9LFxcXFxcXFwiX3JlcXVpcmVkQnlcXFxcXFxcIjpbXFxcXFxcXCIvYnJvd3NlcmlmeS1zaWduXFxcXFxcXCIsXFxcXFxcXCIvY3JlYXRlLWVjZGhcXFxcXFxcIl0sXFxcXFxcXCJfcmVzb2x2ZWRcXFxcXFxcIjpcXFxcXFxcImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VsbGlwdGljLy0vZWxsaXB0aWMtNi41LjIudGd6XFxcXFxcXCIsXFxcXFxcXCJfc3BlY1xcXFxcXFwiOlxcXFxcXFwiNi41LjJcXFxcXFxcIixcXFxcXFxcIl93aGVyZVxcXFxcXFwiOlxcXFxcXFwiRTpcXFxcXFxcXFxcXFxcXFxcaG9tZWRldlxcXFxcXFxcXFxcXFxcXFxwYWNrYWdlYnVpbGRcXFxcXFxcXFxcXFxcXFxccGFja2FnZXNcXFxcXFxcXFxcXFxcXFxcYWFyZHZhcmstcmVhY3RcXFxcXFxcIixcXFxcXFxcImF1dGhvclxcXFxcXFwiOntcXFxcXFxcIm5hbWVcXFxcXFxcIjpcXFxcXFxcIkZlZG9yIEluZHV0bnlcXFxcXFxcIixcXFxcXFxcImVtYWlsXFxcXFxcXCI6XFxcXFxcXCJmZWRvckBpbmR1dG55LmNvbVxcXFxcXFwifSxcXFxcXFxcImJ1Z3NcXFxcXFxcIjp7XFxcXFxcXCJ1cmxcXFxcXFxcIjpcXFxcXFxcImh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljL2lzc3Vlc1xcXFxcXFwifSxcXFxcXFxcImRlcGVuZGVuY2llc1xcXFxcXFwiOntcXFxcXFxcImJuLmpzXFxcXFxcXCI6XFxcXFxcXCJeNC40LjBcXFxcXFxcIixcXFxcXFxcImJyb3JhbmRcXFxcXFxcIjpcXFxcXFxcIl4xLjAuMVxcXFxcXFwiLFxcXFxcXFwiaGFzaC5qc1xcXFxcXFwiOlxcXFxcXFwiXjEuMC4wXFxcXFxcXCIsXFxcXFxcXCJobWFjLWRyYmdcXFxcXFxcIjpcXFxcXFxcIl4xLjAuMFxcXFxcXFwiLFxcXFxcXFwiaW5oZXJpdHNcXFxcXFxcIjpcXFxcXFxcIl4yLjAuMVxcXFxcXFwiLFxcXFxcXFwibWluaW1hbGlzdGljLWFzc2VydFxcXFxcXFwiOlxcXFxcXFwiXjEuMC4wXFxcXFxcXCIsXFxcXFxcXCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzXFxcXFxcXCI6XFxcXFxcXCJeMS4wLjBcXFxcXFxcIn0sXFxcXFxcXCJkZXNjcmlwdGlvblxcXFxcXFwiOlxcXFxcXFwiRUMgY3J5cHRvZ3JhcGh5XFxcXFxcXCIsXFxcXFxcXCJkZXZEZXBlbmRlbmNpZXNcXFxcXFxcIjp7XFxcXFxcXCJicmZzXFxcXFxcXCI6XFxcXFxcXCJeMS40LjNcXFxcXFxcIixcXFxcXFxcImNvdmVyYWxsc1xcXFxcXFwiOlxcXFxcXFwiXjMuMC44XFxcXFxcXCIsXFxcXFxcXCJncnVudFxcXFxcXFwiOlxcXFxcXFwiXjEuMC40XFxcXFxcXCIsXFxcXFxcXCJncnVudC1icm93c2VyaWZ5XFxcXFxcXCI6XFxcXFxcXCJeNS4wLjBcXFxcXFxcIixcXFxcXFxcImdydW50LWNsaVxcXFxcXFwiOlxcXFxcXFwiXjEuMi4wXFxcXFxcXCIsXFxcXFxcXCJncnVudC1jb250cmliLWNvbm5lY3RcXFxcXFxcIjpcXFxcXFxcIl4xLjAuMFxcXFxcXFwiLFxcXFxcXFwiZ3J1bnQtY29udHJpYi1jb3B5XFxcXFxcXCI6XFxcXFxcXCJeMS4wLjBcXFxcXFxcIixcXFxcXFxcImdydW50LWNvbnRyaWItdWdsaWZ5XFxcXFxcXCI6XFxcXFxcXCJeMS4wLjFcXFxcXFxcIixcXFxcXFxcImdydW50LW1vY2hhLWlzdGFuYnVsXFxcXFxcXCI6XFxcXFxcXCJeMy4wLjFcXFxcXFxcIixcXFxcXFxcImdydW50LXNhdWNlbGFic1xcXFxcXFwiOlxcXFxcXFwiXjkuMC4xXFxcXFxcXCIsXFxcXFxcXCJpc3RhbmJ1bFxcXFxcXFwiOlxcXFxcXFwiXjAuNC4yXFxcXFxcXCIsXFxcXFxcXCJqc2NzXFxcXFxcXCI6XFxcXFxcXCJeMy4wLjdcXFxcXFxcIixcXFxcXFxcImpzaGludFxcXFxcXFwiOlxcXFxcXFwiXjIuMTAuM1xcXFxcXFwiLFxcXFxcXFwibW9jaGFcXFxcXFxcIjpcXFxcXFxcIl42LjIuMlxcXFxcXFwifSxcXFxcXFxcImZpbGVzXFxcXFxcXCI6W1xcXFxcXFwibGliXFxcXFxcXCJdLFxcXFxcXFwiaG9tZXBhZ2VcXFxcXFxcIjpcXFxcXFxcImh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljXFxcXFxcXCIsXFxcXFxcXCJrZXl3b3Jkc1xcXFxcXFwiOltcXFxcXFxcIkVDXFxcXFxcXCIsXFxcXFxcXCJFbGxpcHRpY1xcXFxcXFwiLFxcXFxcXFwiY3VydmVcXFxcXFxcIixcXFxcXFxcIkNyeXB0b2dyYXBoeVxcXFxcXFwiXSxcXFxcXFxcImxpY2Vuc2VcXFxcXFxcIjpcXFxcXFxcIk1JVFxcXFxcXFwiLFxcXFxcXFwibWFpblxcXFxcXFwiOlxcXFxcXFwibGliL2VsbGlwdGljLmpzXFxcXFxcXCIsXFxcXFxcXCJuYW1lXFxcXFxcXCI6XFxcXFxcXCJlbGxpcHRpY1xcXFxcXFwiLFxcXFxcXFwicmVwb3NpdG9yeVxcXFxcXFwiOntcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImdpdFxcXFxcXFwiLFxcXFxcXFwidXJsXFxcXFxcXCI6XFxcXFxcXCJnaXQrc3NoOi8vZ2l0QGdpdGh1Yi5jb20vaW5kdXRueS9lbGxpcHRpYy5naXRcXFxcXFxcIn0sXFxcXFxcXCJzY3JpcHRzXFxcXFxcXCI6e1xcXFxcXFwianNjc1xcXFxcXFwiOlxcXFxcXFwianNjcyBiZW5jaG1hcmtzLyouanMgbGliLyouanMgbGliLyoqLyouanMgbGliLyoqLyoqLyouanMgdGVzdC9pbmRleC5qc1xcXFxcXFwiLFxcXFxcXFwianNoaW50XFxcXFxcXCI6XFxcXFxcXCJqc2NzIGJlbmNobWFya3MvKi5qcyBsaWIvKi5qcyBsaWIvKiovKi5qcyBsaWIvKiovKiovKi5qcyB0ZXN0L2luZGV4LmpzXFxcXFxcXCIsXFxcXFxcXCJsaW50XFxcXFxcXCI6XFxcXFxcXCJucG0gcnVuIGpzY3MgJiYgbnBtIHJ1biBqc2hpbnRcXFxcXFxcIixcXFxcXFxcInRlc3RcXFxcXFxcIjpcXFxcXFxcIm5wbSBydW4gbGludCAmJiBucG0gcnVuIHVuaXRcXFxcXFxcIixcXFxcXFxcInVuaXRcXFxcXFxcIjpcXFxcXFxcImlzdGFuYnVsIHRlc3QgX21vY2hhIC0tcmVwb3J0ZXI9c3BlYyB0ZXN0L2luZGV4LmpzXFxcXFxcXCIsXFxcXFxcXCJ2ZXJzaW9uXFxcXFxcXCI6XFxcXFxcXCJncnVudCBkaXN0ICYmIGdpdCBhZGQgZGlzdC9cXFxcXFxcIn0sXFxcXFxcXCJ2ZXJzaW9uXFxcXFxcXCI6XFxcXFxcXCI2LjUuMlxcXFxcXFwifVxcXCIpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5d1lXTnJZV2RsTG1wemIyNHVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL3BhY2thZ2UuanNvblxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG5cXG5cXG52YXIgUiA9IHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyA/IFJlZmxlY3QgOiBudWxsXFxudmFyIFJlZmxlY3RBcHBseSA9IFIgJiYgdHlwZW9mIFIuYXBwbHkgPT09ICdmdW5jdGlvbidcXG4gID8gUi5hcHBseVxcbiAgOiBmdW5jdGlvbiBSZWZsZWN0QXBwbHkodGFyZ2V0LCByZWNlaXZlciwgYXJncykge1xcbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodGFyZ2V0LCByZWNlaXZlciwgYXJncyk7XFxuICB9XFxuXFxudmFyIFJlZmxlY3RPd25LZXlzXFxuaWYgKFIgJiYgdHlwZW9mIFIub3duS2V5cyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgUmVmbGVjdE93bktleXMgPSBSLm93bktleXNcXG59IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcXG4gIFJlZmxlY3RPd25LZXlzID0gZnVuY3Rpb24gUmVmbGVjdE93bktleXModGFyZ2V0KSB7XFxuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQpXFxuICAgICAgLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkpO1xcbiAgfTtcXG59IGVsc2Uge1xcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcXG4gICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRhcmdldCk7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBQcm9jZXNzRW1pdFdhcm5pbmcod2FybmluZykge1xcbiAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS53YXJuKSBjb25zb2xlLndhcm4od2FybmluZyk7XFxufVxcblxcbnZhciBOdW1iZXJJc05hTiA9IE51bWJlci5pc05hTiB8fCBmdW5jdGlvbiBOdW1iZXJJc05hTih2YWx1ZSkge1xcbiAgcmV0dXJuIHZhbHVlICE9PSB2YWx1ZTtcXG59XFxuXFxuZnVuY3Rpb24gRXZlbnRFbWl0dGVyKCkge1xcbiAgRXZlbnRFbWl0dGVyLmluaXQuY2FsbCh0aGlzKTtcXG59XFxubW9kdWxlLmV4cG9ydHMgPSBFdmVudEVtaXR0ZXI7XFxuXFxuLy8gQmFja3dhcmRzLWNvbXBhdCB3aXRoIG5vZGUgMC4xMC54XFxuRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlciA9IEV2ZW50RW1pdHRlcjtcXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHMgPSB1bmRlZmluZWQ7XFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fZXZlbnRzQ291bnQgPSAwO1xcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHVuZGVmaW5lZDtcXG5cXG4vLyBCeSBkZWZhdWx0IEV2ZW50RW1pdHRlcnMgd2lsbCBwcmludCBhIHdhcm5pbmcgaWYgbW9yZSB0aGFuIDEwIGxpc3RlbmVycyBhcmVcXG4vLyBhZGRlZCB0byBpdC4gVGhpcyBpcyBhIHVzZWZ1bCBkZWZhdWx0IHdoaWNoIGhlbHBzIGZpbmRpbmcgbWVtb3J5IGxlYWtzLlxcbnZhciBkZWZhdWx0TWF4TGlzdGVuZXJzID0gMTA7XFxuXFxuZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcikge1xcbiAgaWYgKHR5cGVvZiBsaXN0ZW5lciAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXFxcImxpc3RlbmVyXFxcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBsaXN0ZW5lcik7XFxuICB9XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFdmVudEVtaXR0ZXIsICdkZWZhdWx0TWF4TGlzdGVuZXJzJywge1xcbiAgZW51bWVyYWJsZTogdHJ1ZSxcXG4gIGdldDogZnVuY3Rpb24oKSB7XFxuICAgIHJldHVybiBkZWZhdWx0TWF4TGlzdGVuZXJzO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24oYXJnKSB7XFxuICAgIGlmICh0eXBlb2YgYXJnICE9PSAnbnVtYmVyJyB8fCBhcmcgPCAwIHx8IE51bWJlcklzTmFOKGFyZykpIHtcXG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mIFxcXCJkZWZhdWx0TWF4TGlzdGVuZXJzXFxcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnICsgYXJnICsgJy4nKTtcXG4gICAgfVxcbiAgICBkZWZhdWx0TWF4TGlzdGVuZXJzID0gYXJnO1xcbiAgfVxcbn0pO1xcblxcbkV2ZW50RW1pdHRlci5pbml0ID0gZnVuY3Rpb24oKSB7XFxuXFxuICBpZiAodGhpcy5fZXZlbnRzID09PSB1bmRlZmluZWQgfHxcXG4gICAgICB0aGlzLl9ldmVudHMgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSB7XFxuICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XFxuICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcXG4gIH1cXG5cXG4gIHRoaXMuX21heExpc3RlbmVycyA9IHRoaXMuX21heExpc3RlbmVycyB8fCB1bmRlZmluZWQ7XFxufTtcXG5cXG4vLyBPYnZpb3VzbHkgbm90IGFsbCBFbWl0dGVycyBzaG91bGQgYmUgbGltaXRlZCB0byAxMC4gVGhpcyBmdW5jdGlvbiBhbGxvd3NcXG4vLyB0aGF0IHRvIGJlIGluY3JlYXNlZC4gU2V0IHRvIHplcm8gZm9yIHVubGltaXRlZC5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnNldE1heExpc3RlbmVycyA9IGZ1bmN0aW9uIHNldE1heExpc3RlbmVycyhuKSB7XFxuICBpZiAodHlwZW9mIG4gIT09ICdudW1iZXInIHx8IG4gPCAwIHx8IE51bWJlcklzTmFOKG4pKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXFxcIm5cXFwiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcgKyBuICsgJy4nKTtcXG4gIH1cXG4gIHRoaXMuX21heExpc3RlbmVycyA9IG47XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIF9nZXRNYXhMaXN0ZW5lcnModGhhdCkge1xcbiAgaWYgKHRoYXQuX21heExpc3RlbmVycyA9PT0gdW5kZWZpbmVkKVxcbiAgICByZXR1cm4gRXZlbnRFbWl0dGVyLmRlZmF1bHRNYXhMaXN0ZW5lcnM7XFxuICByZXR1cm4gdGhhdC5fbWF4TGlzdGVuZXJzO1xcbn1cXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmdldE1heExpc3RlbmVycyA9IGZ1bmN0aW9uIGdldE1heExpc3RlbmVycygpIHtcXG4gIHJldHVybiBfZ2V0TWF4TGlzdGVuZXJzKHRoaXMpO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24gZW1pdCh0eXBlKSB7XFxuICB2YXIgYXJncyA9IFtdO1xcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xcbiAgdmFyIGRvRXJyb3IgPSAodHlwZSA9PT0gJ2Vycm9yJyk7XFxuXFxuICB2YXIgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcbiAgaWYgKGV2ZW50cyAhPT0gdW5kZWZpbmVkKVxcbiAgICBkb0Vycm9yID0gKGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQpO1xcbiAgZWxzZSBpZiAoIWRvRXJyb3IpXFxuICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIC8vIElmIHRoZXJlIGlzIG5vICdlcnJvcicgZXZlbnQgbGlzdGVuZXIgdGhlbiB0aHJvdy5cXG4gIGlmIChkb0Vycm9yKSB7XFxuICAgIHZhciBlcjtcXG4gICAgaWYgKGFyZ3MubGVuZ3RoID4gMClcXG4gICAgICBlciA9IGFyZ3NbMF07XFxuICAgIGlmIChlciBpbnN0YW5jZW9mIEVycm9yKSB7XFxuICAgICAgLy8gTm90ZTogVGhlIGNvbW1lbnRzIG9uIHRoZSBgdGhyb3dgIGxpbmVzIGFyZSBpbnRlbnRpb25hbCwgdGhleSBzaG93XFxuICAgICAgLy8gdXAgaW4gTm9kZSdzIG91dHB1dCBpZiB0aGlzIHJlc3VsdHMgaW4gYW4gdW5oYW5kbGVkIGV4Y2VwdGlvbi5cXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkICdlcnJvcicgZXZlbnRcXG4gICAgfVxcbiAgICAvLyBBdCBsZWFzdCBnaXZlIHNvbWUga2luZCBvZiBjb250ZXh0IHRvIHRoZSB1c2VyXFxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1VuaGFuZGxlZCBlcnJvci4nICsgKGVyID8gJyAoJyArIGVyLm1lc3NhZ2UgKyAnKScgOiAnJykpO1xcbiAgICBlcnIuY29udGV4dCA9IGVyO1xcbiAgICB0aHJvdyBlcnI7IC8vIFVuaGFuZGxlZCAnZXJyb3InIGV2ZW50XFxuICB9XFxuXFxuICB2YXIgaGFuZGxlciA9IGV2ZW50c1t0eXBlXTtcXG5cXG4gIGlmIChoYW5kbGVyID09PSB1bmRlZmluZWQpXFxuICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBSZWZsZWN0QXBwbHkoaGFuZGxlciwgdGhpcywgYXJncyk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgbGVuID0gaGFuZGxlci5sZW5ndGg7XFxuICAgIHZhciBsaXN0ZW5lcnMgPSBhcnJheUNsb25lKGhhbmRsZXIsIGxlbik7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpXFxuICAgICAgUmVmbGVjdEFwcGx5KGxpc3RlbmVyc1tpXSwgdGhpcywgYXJncyk7XFxuICB9XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbmZ1bmN0aW9uIF9hZGRMaXN0ZW5lcih0YXJnZXQsIHR5cGUsIGxpc3RlbmVyLCBwcmVwZW5kKSB7XFxuICB2YXIgbTtcXG4gIHZhciBldmVudHM7XFxuICB2YXIgZXhpc3Rpbmc7XFxuXFxuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcXG5cXG4gIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzO1xcbiAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXG4gICAgdGFyZ2V0Ll9ldmVudHNDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBUbyBhdm9pZCByZWN1cnNpb24gaW4gdGhlIGNhc2UgdGhhdCB0eXBlID09PSBcXFwibmV3TGlzdGVuZXJcXFwiISBCZWZvcmVcXG4gICAgLy8gYWRkaW5nIGl0IHRvIHRoZSBsaXN0ZW5lcnMsIGZpcnN0IGVtaXQgXFxcIm5ld0xpc3RlbmVyXFxcIi5cXG4gICAgaWYgKGV2ZW50cy5uZXdMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgdGFyZ2V0LmVtaXQoJ25ld0xpc3RlbmVyJywgdHlwZSxcXG4gICAgICAgICAgICAgICAgICBsaXN0ZW5lci5saXN0ZW5lciA/IGxpc3RlbmVyLmxpc3RlbmVyIDogbGlzdGVuZXIpO1xcblxcbiAgICAgIC8vIFJlLWFzc2lnbiBgZXZlbnRzYCBiZWNhdXNlIGEgbmV3TGlzdGVuZXIgaGFuZGxlciBjb3VsZCBoYXZlIGNhdXNlZCB0aGVcXG4gICAgICAvLyB0aGlzLl9ldmVudHMgdG8gYmUgYXNzaWduZWQgdG8gYSBuZXcgb2JqZWN0XFxuICAgICAgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHM7XFxuICAgIH1cXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV07XFxuICB9XFxuXFxuICBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xcbiAgICAvLyBPcHRpbWl6ZSB0aGUgY2FzZSBvZiBvbmUgbGlzdGVuZXIuIERvbid0IG5lZWQgdGhlIGV4dHJhIGFycmF5IG9iamVjdC5cXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV0gPSBsaXN0ZW5lcjtcXG4gICAgKyt0YXJnZXQuX2V2ZW50c0NvdW50O1xcbiAgfSBlbHNlIHtcXG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIC8vIEFkZGluZyB0aGUgc2Vjb25kIGVsZW1lbnQsIG5lZWQgdG8gY2hhbmdlIHRvIGFycmF5LlxcbiAgICAgIGV4aXN0aW5nID0gZXZlbnRzW3R5cGVdID1cXG4gICAgICAgIHByZXBlbmQgPyBbbGlzdGVuZXIsIGV4aXN0aW5nXSA6IFtleGlzdGluZywgbGlzdGVuZXJdO1xcbiAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgZ290IGFuIGFycmF5LCBqdXN0IGFwcGVuZC5cXG4gICAgfSBlbHNlIGlmIChwcmVwZW5kKSB7XFxuICAgICAgZXhpc3RpbmcudW5zaGlmdChsaXN0ZW5lcik7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZXhpc3RpbmcucHVzaChsaXN0ZW5lcik7XFxuICAgIH1cXG5cXG4gICAgLy8gQ2hlY2sgZm9yIGxpc3RlbmVyIGxlYWtcXG4gICAgbSA9IF9nZXRNYXhMaXN0ZW5lcnModGFyZ2V0KTtcXG4gICAgaWYgKG0gPiAwICYmIGV4aXN0aW5nLmxlbmd0aCA+IG0gJiYgIWV4aXN0aW5nLndhcm5lZCkge1xcbiAgICAgIGV4aXN0aW5nLndhcm5lZCA9IHRydWU7XFxuICAgICAgLy8gTm8gZXJyb3IgY29kZSBmb3IgdGhpcyBzaW5jZSBpdCBpcyBhIFdhcm5pbmdcXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcXG4gICAgICB2YXIgdyA9IG5ldyBFcnJvcignUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLmxlbmd0aCArICcgJyArIFN0cmluZyh0eXBlKSArICcgbGlzdGVuZXJzICcgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdpbmNyZWFzZSBsaW1pdCcpO1xcbiAgICAgIHcubmFtZSA9ICdNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmcnO1xcbiAgICAgIHcuZW1pdHRlciA9IHRhcmdldDtcXG4gICAgICB3LnR5cGUgPSB0eXBlO1xcbiAgICAgIHcuY291bnQgPSBleGlzdGluZy5sZW5ndGg7XFxuICAgICAgUHJvY2Vzc0VtaXRXYXJuaW5nKHcpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdGFyZ2V0O1xcbn1cXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyID0gZnVuY3Rpb24gYWRkTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcXG4gIHJldHVybiBfYWRkTGlzdGVuZXIodGhpcywgdHlwZSwgbGlzdGVuZXIsIGZhbHNlKTtcXG59O1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyO1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucHJlcGVuZExpc3RlbmVyID1cXG4gICAgZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XFxuICAgICAgcmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLCB0eXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XFxuICAgIH07XFxuXFxuZnVuY3Rpb24gb25jZVdyYXBwZXIoKSB7XFxuICBpZiAoIXRoaXMuZmlyZWQpIHtcXG4gICAgdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLCB0aGlzLndyYXBGbik7XFxuICAgIHRoaXMuZmlyZWQgPSB0cnVlO1xcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMClcXG4gICAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTtcXG4gICAgcmV0dXJuIHRoaXMubGlzdGVuZXIuYXBwbHkodGhpcy50YXJnZXQsIGFyZ3VtZW50cyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIF9vbmNlV3JhcCh0YXJnZXQsIHR5cGUsIGxpc3RlbmVyKSB7XFxuICB2YXIgc3RhdGUgPSB7IGZpcmVkOiBmYWxzZSwgd3JhcEZuOiB1bmRlZmluZWQsIHRhcmdldDogdGFyZ2V0LCB0eXBlOiB0eXBlLCBsaXN0ZW5lcjogbGlzdGVuZXIgfTtcXG4gIHZhciB3cmFwcGVkID0gb25jZVdyYXBwZXIuYmluZChzdGF0ZSk7XFxuICB3cmFwcGVkLmxpc3RlbmVyID0gbGlzdGVuZXI7XFxuICBzdGF0ZS53cmFwRm4gPSB3cmFwcGVkO1xcbiAgcmV0dXJuIHdyYXBwZWQ7XFxufVxcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub25jZSA9IGZ1bmN0aW9uIG9uY2UodHlwZSwgbGlzdGVuZXIpIHtcXG4gIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xcbiAgdGhpcy5vbih0eXBlLCBfb25jZVdyYXAodGhpcywgdHlwZSwgbGlzdGVuZXIpKTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyID1cXG4gICAgZnVuY3Rpb24gcHJlcGVuZE9uY2VMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcikge1xcbiAgICAgIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xcbiAgICAgIHRoaXMucHJlcGVuZExpc3RlbmVyKHR5cGUsIF9vbmNlV3JhcCh0aGlzLCB0eXBlLCBsaXN0ZW5lcikpO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9O1xcblxcbi8vIEVtaXRzIGEgJ3JlbW92ZUxpc3RlbmVyJyBldmVudCBpZiBhbmQgb25seSBpZiB0aGUgbGlzdGVuZXIgd2FzIHJlbW92ZWQuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XFxuICAgIGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XFxuICAgICAgdmFyIGxpc3QsIGV2ZW50cywgcG9zaXRpb24sIGksIG9yaWdpbmFsTGlzdGVuZXI7XFxuXFxuICAgICAgY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcik7XFxuXFxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcbiAgICAgIGlmIChldmVudHMgPT09IHVuZGVmaW5lZClcXG4gICAgICAgIHJldHVybiB0aGlzO1xcblxcbiAgICAgIGxpc3QgPSBldmVudHNbdHlwZV07XFxuICAgICAgaWYgKGxpc3QgPT09IHVuZGVmaW5lZClcXG4gICAgICAgIHJldHVybiB0aGlzO1xcblxcbiAgICAgIGlmIChsaXN0ID09PSBsaXN0ZW5lciB8fCBsaXN0Lmxpc3RlbmVyID09PSBsaXN0ZW5lcikge1xcbiAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXFxuICAgICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XFxuICAgICAgICBlbHNlIHtcXG4gICAgICAgICAgZGVsZXRlIGV2ZW50c1t0eXBlXTtcXG4gICAgICAgICAgaWYgKGV2ZW50cy5yZW1vdmVMaXN0ZW5lcilcXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ3JlbW92ZUxpc3RlbmVyJywgdHlwZSwgbGlzdC5saXN0ZW5lciB8fCBsaXN0ZW5lcik7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbGlzdCAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgcG9zaXRpb24gPSAtMTtcXG5cXG4gICAgICAgIGZvciAoaSA9IGxpc3QubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgICAgaWYgKGxpc3RbaV0gPT09IGxpc3RlbmVyIHx8IGxpc3RbaV0ubGlzdGVuZXIgPT09IGxpc3RlbmVyKSB7XFxuICAgICAgICAgICAgb3JpZ2luYWxMaXN0ZW5lciA9IGxpc3RbaV0ubGlzdGVuZXI7XFxuICAgICAgICAgICAgcG9zaXRpb24gPSBpO1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAocG9zaXRpb24gPCAwKVxcbiAgICAgICAgICByZXR1cm4gdGhpcztcXG5cXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMClcXG4gICAgICAgICAgbGlzdC5zaGlmdCgpO1xcbiAgICAgICAgZWxzZSB7XFxuICAgICAgICAgIHNwbGljZU9uZShsaXN0LCBwb3NpdGlvbik7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPT09IDEpXFxuICAgICAgICAgIGV2ZW50c1t0eXBlXSA9IGxpc3RbMF07XFxuXFxuICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpXFxuICAgICAgICAgIHRoaXMuZW1pdCgncmVtb3ZlTGlzdGVuZXInLCB0eXBlLCBvcmlnaW5hbExpc3RlbmVyIHx8IGxpc3RlbmVyKTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vZmYgPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyO1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cXG4gICAgZnVuY3Rpb24gcmVtb3ZlQWxsTGlzdGVuZXJzKHR5cGUpIHtcXG4gICAgICB2YXIgbGlzdGVuZXJzLCBldmVudHMsIGk7XFxuXFxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcbiAgICAgIGlmIChldmVudHMgPT09IHVuZGVmaW5lZClcXG4gICAgICAgIHJldHVybiB0aGlzO1xcblxcbiAgICAgIC8vIG5vdCBsaXN0ZW5pbmcgZm9yIHJlbW92ZUxpc3RlbmVyLCBubyBuZWVkIHRvIGVtaXRcXG4gICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XFxuICAgICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnRzW3R5cGVdICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXFxuICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXG4gICAgICAgICAgZWxzZVxcbiAgICAgICAgICAgIGRlbGV0ZSBldmVudHNbdHlwZV07XFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgLy8gZW1pdCByZW1vdmVMaXN0ZW5lciBmb3IgYWxsIGxpc3RlbmVycyBvbiBhbGwgZXZlbnRzXFxuICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcXG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcXG4gICAgICAgIHZhciBrZXk7XFxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7ICsraSkge1xcbiAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xcbiAgICAgICAgICBpZiAoa2V5ID09PSAncmVtb3ZlTGlzdGVuZXInKSBjb250aW51ZTtcXG4gICAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoa2V5KTtcXG4gICAgICAgIH1cXG4gICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCdyZW1vdmVMaXN0ZW5lcicpO1xcbiAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXG4gICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICBsaXN0ZW5lcnMgPSBldmVudHNbdHlwZV07XFxuXFxuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lcnMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXJzKTtcXG4gICAgICB9IGVsc2UgaWYgKGxpc3RlbmVycyAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAvLyBMSUZPIG9yZGVyXFxuICAgICAgICBmb3IgKGkgPSBsaXN0ZW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnNbaV0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfTtcXG5cXG5mdW5jdGlvbiBfbGlzdGVuZXJzKHRhcmdldCwgdHlwZSwgdW53cmFwKSB7XFxuICB2YXIgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHM7XFxuXFxuICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXFxuICAgIHJldHVybiBbXTtcXG5cXG4gIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xcbiAgaWYgKGV2bGlzdGVuZXIgPT09IHVuZGVmaW5lZClcXG4gICAgcmV0dXJuIFtdO1xcblxcbiAgaWYgKHR5cGVvZiBldmxpc3RlbmVyID09PSAnZnVuY3Rpb24nKVxcbiAgICByZXR1cm4gdW53cmFwID8gW2V2bGlzdGVuZXIubGlzdGVuZXIgfHwgZXZsaXN0ZW5lcl0gOiBbZXZsaXN0ZW5lcl07XFxuXFxuICByZXR1cm4gdW53cmFwID9cXG4gICAgdW53cmFwTGlzdGVuZXJzKGV2bGlzdGVuZXIpIDogYXJyYXlDbG9uZShldmxpc3RlbmVyLCBldmxpc3RlbmVyLmxlbmd0aCk7XFxufVxcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzID0gZnVuY3Rpb24gbGlzdGVuZXJzKHR5cGUpIHtcXG4gIHJldHVybiBfbGlzdGVuZXJzKHRoaXMsIHR5cGUsIHRydWUpO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnMgPSBmdW5jdGlvbiByYXdMaXN0ZW5lcnModHlwZSkge1xcbiAgcmV0dXJuIF9saXN0ZW5lcnModGhpcywgdHlwZSwgZmFsc2UpO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLmxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbihlbWl0dGVyLCB0eXBlKSB7XFxuICBpZiAodHlwZW9mIGVtaXR0ZXIubGlzdGVuZXJDb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICByZXR1cm4gZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIGxpc3RlbmVyQ291bnQuY2FsbChlbWl0dGVyLCB0eXBlKTtcXG4gIH1cXG59O1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IGxpc3RlbmVyQ291bnQ7XFxuZnVuY3Rpb24gbGlzdGVuZXJDb3VudCh0eXBlKSB7XFxuICB2YXIgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcblxcbiAgaWYgKGV2ZW50cyAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xcblxcbiAgICBpZiAodHlwZW9mIGV2bGlzdGVuZXIgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICByZXR1cm4gMTtcXG4gICAgfSBlbHNlIGlmIChldmxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZXZsaXN0ZW5lci5sZW5ndGg7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiAwO1xcbn1cXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmV2ZW50TmFtZXMgPSBmdW5jdGlvbiBldmVudE5hbWVzKCkge1xcbiAgcmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50ID4gMCA/IFJlZmxlY3RPd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcXG59O1xcblxcbmZ1bmN0aW9uIGFycmF5Q2xvbmUoYXJyLCBuKSB7XFxuICB2YXIgY29weSA9IG5ldyBBcnJheShuKTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKVxcbiAgICBjb3B5W2ldID0gYXJyW2ldO1xcbiAgcmV0dXJuIGNvcHk7XFxufVxcblxcbmZ1bmN0aW9uIHNwbGljZU9uZShsaXN0LCBpbmRleCkge1xcbiAgZm9yICg7IGluZGV4ICsgMSA8IGxpc3QubGVuZ3RoOyBpbmRleCsrKVxcbiAgICBsaXN0W2luZGV4XSA9IGxpc3RbaW5kZXggKyAxXTtcXG4gIGxpc3QucG9wKCk7XFxufVxcblxcbmZ1bmN0aW9uIHVud3JhcExpc3RlbmVycyhhcnIpIHtcXG4gIHZhciByZXQgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHJldC5sZW5ndGg7ICsraSkge1xcbiAgICByZXRbaV0gPSBhcnJbaV0ubGlzdGVuZXIgfHwgYXJyW2ldO1xcbiAgfVxcbiAgcmV0dXJuIHJldDtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsZG1WdWRITXZaWFpsYm5SekxtcHpQMlpsTVdNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZZVHM3UVVGRllqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2MwSkJRWE5DTzBGQlEzWkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVN1FVRkRaanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdOQlFXTTdRVUZEWkRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhUUVVGVE8wRkJRelZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeGxRVUZsTzBGQlEyWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRXNhVU5CUVdsRExGRkJRVkU3UVVGRGVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeHpRMEZCYzBNc1VVRkJVVHRCUVVNNVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRTlCUVU4N1FVRkRlRUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1VVRkJVU3g1UWtGQmVVSTdRVUZEYWtNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzWjBKQlFXZENPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMlYyWlc1MGN5OWxkbVZ1ZEhNdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1VpQTlJSFI1Y0dWdlppQlNaV1pzWldOMElEMDlQU0FuYjJKcVpXTjBKeUEvSUZKbFpteGxZM1FnT2lCdWRXeHNYRzUyWVhJZ1VtVm1iR1ZqZEVGd2NHeDVJRDBnVWlBbUppQjBlWEJsYjJZZ1VpNWhjSEJzZVNBOVBUMGdKMloxYm1OMGFXOXVKMXh1SUNBL0lGSXVZWEJ3YkhsY2JpQWdPaUJtZFc1amRHbHZiaUJTWldac1pXTjBRWEJ3Ykhrb2RHRnlaMlYwTENCeVpXTmxhWFpsY2l3Z1lYSm5jeWtnZTF4dUlDQWdJSEpsZEhWeWJpQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVXVZWEJ3YkhrdVkyRnNiQ2gwWVhKblpYUXNJSEpsWTJWcGRtVnlMQ0JoY21kektUdGNiaUFnZlZ4dVhHNTJZWElnVW1WbWJHVmpkRTkzYmt0bGVYTmNibWxtSUNoU0lDWW1JSFI1Y0dWdlppQlNMbTkzYmt0bGVYTWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnVW1WbWJHVmpkRTkzYmt0bGVYTWdQU0JTTG05M2JrdGxlWE5jYm4wZ1pXeHpaU0JwWmlBb1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5a2dlMXh1SUNCU1pXWnNaV04wVDNkdVMyVjVjeUE5SUdaMWJtTjBhVzl1SUZKbFpteGxZM1JQZDI1TFpYbHpLSFJoY21kbGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3loMFlYSm5aWFFwWEc0Z0lDQWdJQ0F1WTI5dVkyRjBLRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1vZEdGeVoyVjBLU2s3WEc0Z0lIMDdYRzU5SUdWc2MyVWdlMXh1SUNCU1pXWnNaV04wVDNkdVMyVjVjeUE5SUdaMWJtTjBhVzl1SUZKbFpteGxZM1JQZDI1TFpYbHpLSFJoY21kbGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3loMFlYSm5aWFFwTzF4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQlFjbTlqWlhOelJXMXBkRmRoY201cGJtY29kMkZ5Ym1sdVp5a2dlMXh1SUNCcFppQW9ZMjl1YzI5c1pTQW1KaUJqYjI1emIyeGxMbmRoY200cElHTnZibk52YkdVdWQyRnliaWgzWVhKdWFXNW5LVHRjYm4xY2JseHVkbUZ5SUU1MWJXSmxja2x6VG1GT0lEMGdUblZ0WW1WeUxtbHpUbUZPSUh4OElHWjFibU4wYVc5dUlFNTFiV0psY2tselRtRk9LSFpoYkhWbEtTQjdYRzRnSUhKbGRIVnliaUIyWVd4MVpTQWhQVDBnZG1Gc2RXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlFVjJaVzUwUlcxcGRIUmxjaWdwSUh0Y2JpQWdSWFpsYm5SRmJXbDBkR1Z5TG1sdWFYUXVZMkZzYkNoMGFHbHpLVHRjYm4xY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1JYWmxiblJGYldsMGRHVnlPMXh1WEc0dkx5QkNZV05yZDJGeVpITXRZMjl0Y0dGMElIZHBkR2dnYm05a1pTQXdMakV3TG5oY2JrVjJaVzUwUlcxcGRIUmxjaTVGZG1WdWRFVnRhWFIwWlhJZ1BTQkZkbVZ1ZEVWdGFYUjBaWEk3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1WDJWMlpXNTBjeUE5SUhWdVpHVm1hVzVsWkR0Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1WDJWMlpXNTBjME52ZFc1MElEMGdNRHRjYmtWMlpXNTBSVzFwZEhSbGNpNXdjbTkwYjNSNWNHVXVYMjFoZUV4cGMzUmxibVZ5Y3lBOUlIVnVaR1ZtYVc1bFpEdGNibHh1THk4Z1Fua2daR1ZtWVhWc2RDQkZkbVZ1ZEVWdGFYUjBaWEp6SUhkcGJHd2djSEpwYm5RZ1lTQjNZWEp1YVc1bklHbG1JRzF2Y21VZ2RHaGhiaUF4TUNCc2FYTjBaVzVsY25NZ1lYSmxYRzR2THlCaFpHUmxaQ0IwYnlCcGRDNGdWR2hwY3lCcGN5QmhJSFZ6WldaMWJDQmtaV1poZFd4MElIZG9hV05vSUdobGJIQnpJR1pwYm1ScGJtY2diV1Z0YjNKNUlHeGxZV3R6TGx4dWRtRnlJR1JsWm1GMWJIUk5ZWGhNYVhOMFpXNWxjbk1nUFNBeE1EdGNibHh1Wm5WdVkzUnBiMjRnWTJobFkydE1hWE4wWlc1bGNpaHNhWE4wWlc1bGNpa2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlHeHBjM1JsYm1WeUlDRTlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblZHaGxJRndpYkdsemRHVnVaWEpjSWlCaGNtZDFiV1Z1ZENCdGRYTjBJR0psSUc5bUlIUjVjR1VnUm5WdVkzUnBiMjR1SUZKbFkyVnBkbVZrSUhSNWNHVWdKeUFySUhSNWNHVnZaaUJzYVhOMFpXNWxjaWs3WEc0Z0lIMWNibjFjYmx4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRVYyWlc1MFJXMXBkSFJsY2l3Z0oyUmxabUYxYkhSTllYaE1hWE4wWlc1bGNuTW5MQ0I3WEc0Z0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdSbFptRjFiSFJOWVhoTWFYTjBaVzVsY25NN1hHNGdJSDBzWEc0Z0lITmxkRG9nWm5WdVkzUnBiMjRvWVhKbktTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmhjbWNnSVQwOUlDZHVkVzFpWlhJbklIeDhJR0Z5WnlBOElEQWdmSHdnVG5WdFltVnlTWE5PWVU0b1lYSm5LU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0oxUm9aU0IyWVd4MVpTQnZaaUJjSW1SbFptRjFiSFJOWVhoTWFYTjBaVzVsY25OY0lpQnBjeUJ2ZFhRZ2IyWWdjbUZ1WjJVdUlFbDBJRzExYzNRZ1ltVWdZU0J1YjI0dGJtVm5ZWFJwZG1VZ2JuVnRZbVZ5TGlCU1pXTmxhWFpsWkNBbklDc2dZWEpuSUNzZ0p5NG5LVHRjYmlBZ0lDQjlYRzRnSUNBZ1pHVm1ZWFZzZEUxaGVFeHBjM1JsYm1WeWN5QTlJR0Z5Wnp0Y2JpQWdmVnh1ZlNrN1hHNWNia1YyWlc1MFJXMXBkSFJsY2k1cGJtbDBJRDBnWm5WdVkzUnBiMjRvS1NCN1hHNWNiaUFnYVdZZ0tIUm9hWE11WDJWMlpXNTBjeUE5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhYRzRnSUNBZ0lDQjBhR2x6TGw5bGRtVnVkSE1nUFQwOUlFOWlhbVZqZEM1blpYUlFjbTkwYjNSNWNHVlBaaWgwYUdsektTNWZaWFpsYm5SektTQjdYRzRnSUNBZ2RHaHBjeTVmWlhabGJuUnpJRDBnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1R0Y2JpQWdJQ0IwYUdsekxsOWxkbVZ1ZEhORGIzVnVkQ0E5SURBN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5dFlYaE1hWE4wWlc1bGNuTWdQU0IwYUdsekxsOXRZWGhNYVhOMFpXNWxjbk1nZkh3Z2RXNWtaV1pwYm1Wa08xeHVmVHRjYmx4dUx5OGdUMkoyYVc5MWMyeDVJRzV2ZENCaGJHd2dSVzFwZEhSbGNuTWdjMmh2ZFd4a0lHSmxJR3hwYldsMFpXUWdkRzhnTVRBdUlGUm9hWE1nWm5WdVkzUnBiMjRnWVd4c2IzZHpYRzR2THlCMGFHRjBJSFJ2SUdKbElHbHVZM0psWVhObFpDNGdVMlYwSUhSdklIcGxjbThnWm05eUlIVnViR2x0YVhSbFpDNWNia1YyWlc1MFJXMXBkSFJsY2k1d2NtOTBiM1I1Y0dVdWMyVjBUV0Y0VEdsemRHVnVaWEp6SUQwZ1puVnVZM1JwYjI0Z2MyVjBUV0Y0VEdsemRHVnVaWEp6S0c0cElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCdUlDRTlQU0FuYm5WdFltVnlKeUI4ZkNCdUlEd2dNQ0I4ZkNCT2RXMWlaWEpKYzA1aFRpaHVLU2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkVWFHVWdkbUZzZFdVZ2IyWWdYQ0p1WENJZ2FYTWdiM1YwSUc5bUlISmhibWRsTGlCSmRDQnRkWE4wSUdKbElHRWdibTl1TFc1bFoyRjBhWFpsSUc1MWJXSmxjaTRnVW1WalpXbDJaV1FnSnlBcklHNGdLeUFuTGljcE8xeHVJQ0I5WEc0Z0lIUm9hWE11WDIxaGVFeHBjM1JsYm1WeWN5QTlJRzQ3WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdYMmRsZEUxaGVFeHBjM1JsYm1WeWN5aDBhR0YwS1NCN1hHNGdJR2xtSUNoMGFHRjBMbDl0WVhoTWFYTjBaVzVsY25NZ1BUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQnlaWFIxY200Z1JYWmxiblJGYldsMGRHVnlMbVJsWm1GMWJIUk5ZWGhNYVhOMFpXNWxjbk03WEc0Z0lISmxkSFZ5YmlCMGFHRjBMbDl0WVhoTWFYTjBaVzVsY25NN1hHNTlYRzVjYmtWMlpXNTBSVzFwZEhSbGNpNXdjbTkwYjNSNWNHVXVaMlYwVFdGNFRHbHpkR1Z1WlhKeklEMGdablZ1WTNScGIyNGdaMlYwVFdGNFRHbHpkR1Z1WlhKektDa2dlMXh1SUNCeVpYUjFjbTRnWDJkbGRFMWhlRXhwYzNSbGJtVnljeWgwYUdsektUdGNibjA3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1WlcxcGRDQTlJR1oxYm1OMGFXOXVJR1Z0YVhRb2RIbHdaU2tnZTF4dUlDQjJZWElnWVhKbmN5QTlJRnRkTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTVRzZ2FTQThJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdJR2tyS3lrZ1lYSm5jeTV3ZFhOb0tHRnlaM1Z0Wlc1MGMxdHBYU2s3WEc0Z0lIWmhjaUJrYjBWeWNtOXlJRDBnS0hSNWNHVWdQVDA5SUNkbGNuSnZjaWNwTzF4dVhHNGdJSFpoY2lCbGRtVnVkSE1nUFNCMGFHbHpMbDlsZG1WdWRITTdYRzRnSUdsbUlDaGxkbVZ1ZEhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQmtiMFZ5Y205eUlEMGdLR1J2UlhKeWIzSWdKaVlnWlhabGJuUnpMbVZ5Y205eUlEMDlQU0IxYm1SbFptbHVaV1FwTzF4dUlDQmxiSE5sSUdsbUlDZ2haRzlGY25KdmNpbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdTV1lnZEdobGNtVWdhWE1nYm04Z0oyVnljbTl5SnlCbGRtVnVkQ0JzYVhOMFpXNWxjaUIwYUdWdUlIUm9jbTkzTGx4dUlDQnBaaUFvWkc5RmNuSnZjaWtnZTF4dUlDQWdJSFpoY2lCbGNqdGNiaUFnSUNCcFppQW9ZWEpuY3k1c1pXNW5kR2dnUGlBd0tWeHVJQ0FnSUNBZ1pYSWdQU0JoY21keld6QmRPMXh1SUNBZ0lHbG1JQ2hsY2lCcGJuTjBZVzVqWlc5bUlFVnljbTl5S1NCN1hHNGdJQ0FnSUNBdkx5Qk9iM1JsT2lCVWFHVWdZMjl0YldWdWRITWdiMjRnZEdobElHQjBhSEp2ZDJBZ2JHbHVaWE1nWVhKbElHbHVkR1Z1ZEdsdmJtRnNMQ0IwYUdWNUlITm9iM2RjYmlBZ0lDQWdJQzh2SUhWd0lHbHVJRTV2WkdVbmN5QnZkWFJ3ZFhRZ2FXWWdkR2hwY3lCeVpYTjFiSFJ6SUdsdUlHRnVJSFZ1YUdGdVpHeGxaQ0JsZUdObGNIUnBiMjR1WEc0Z0lDQWdJQ0IwYUhKdmR5QmxjanNnTHk4Z1ZXNW9ZVzVrYkdWa0lDZGxjbkp2Y2ljZ1pYWmxiblJjYmlBZ0lDQjlYRzRnSUNBZ0x5OGdRWFFnYkdWaGMzUWdaMmwyWlNCemIyMWxJR3RwYm1RZ2IyWWdZMjl1ZEdWNGRDQjBieUIwYUdVZ2RYTmxjbHh1SUNBZ0lIWmhjaUJsY25JZ1BTQnVaWGNnUlhKeWIzSW9KMVZ1YUdGdVpHeGxaQ0JsY25KdmNpNG5JQ3NnS0dWeUlEOGdKeUFvSnlBcklHVnlMbTFsYzNOaFoyVWdLeUFuS1NjZ09pQW5KeWtwTzF4dUlDQWdJR1Z5Y2k1amIyNTBaWGgwSUQwZ1pYSTdYRzRnSUNBZ2RHaHliM2NnWlhKeU95QXZMeUJWYm1oaGJtUnNaV1FnSjJWeWNtOXlKeUJsZG1WdWRGeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdoaGJtUnNaWElnUFNCbGRtVnVkSE5iZEhsd1pWMDdYRzVjYmlBZ2FXWWdLR2hoYm1Sc1pYSWdQVDA5SUhWdVpHVm1hVzVsWkNsY2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCb1lXNWtiR1Z5SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdVbVZtYkdWamRFRndjR3g1S0doaGJtUnNaWElzSUhSb2FYTXNJR0Z5WjNNcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQm9ZVzVrYkdWeUxteGxibWQwYUR0Y2JpQWdJQ0IyWVhJZ2JHbHpkR1Z1WlhKeklEMGdZWEp5WVhsRGJHOXVaU2hvWVc1a2JHVnlMQ0JzWlc0cE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVPeUFySzJrcFhHNGdJQ0FnSUNCU1pXWnNaV04wUVhCd2JIa29iR2x6ZEdWdVpYSnpXMmxkTENCMGFHbHpMQ0JoY21kektUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWDJGa1pFeHBjM1JsYm1WeUtIUmhjbWRsZEN3Z2RIbHdaU3dnYkdsemRHVnVaWElzSUhCeVpYQmxibVFwSUh0Y2JpQWdkbUZ5SUcwN1hHNGdJSFpoY2lCbGRtVnVkSE03WEc0Z0lIWmhjaUJsZUdsemRHbHVaenRjYmx4dUlDQmphR1ZqYTB4cGMzUmxibVZ5S0d4cGMzUmxibVZ5S1R0Y2JseHVJQ0JsZG1WdWRITWdQU0IwWVhKblpYUXVYMlYyWlc1MGN6dGNiaUFnYVdZZ0tHVjJaVzUwY3lBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdaWFpsYm5SeklEMGdkR0Z5WjJWMExsOWxkbVZ1ZEhNZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0c1MWJHd3BPMXh1SUNBZ0lIUmhjbWRsZEM1ZlpYWmxiblJ6UTI5MWJuUWdQU0F3TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGUnZJR0YyYjJsa0lISmxZM1Z5YzJsdmJpQnBiaUIwYUdVZ1kyRnpaU0IwYUdGMElIUjVjR1VnUFQwOUlGd2libVYzVEdsemRHVnVaWEpjSWlFZ1FtVm1iM0psWEc0Z0lDQWdMeThnWVdSa2FXNW5JR2wwSUhSdklIUm9aU0JzYVhOMFpXNWxjbk1zSUdacGNuTjBJR1Z0YVhRZ1hDSnVaWGRNYVhOMFpXNWxjbHdpTGx4dUlDQWdJR2xtSUNobGRtVnVkSE11Ym1WM1RHbHpkR1Z1WlhJZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnZEdGeVoyVjBMbVZ0YVhRb0oyNWxkMHhwYzNSbGJtVnlKeXdnZEhsd1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hwYzNSbGJtVnlMbXhwYzNSbGJtVnlJRDhnYkdsemRHVnVaWEl1YkdsemRHVnVaWElnT2lCc2FYTjBaVzVsY2lrN1hHNWNiaUFnSUNBZ0lDOHZJRkpsTFdGemMybG5iaUJnWlhabGJuUnpZQ0JpWldOaGRYTmxJR0VnYm1WM1RHbHpkR1Z1WlhJZ2FHRnVaR3hsY2lCamIzVnNaQ0JvWVhabElHTmhkWE5sWkNCMGFHVmNiaUFnSUNBZ0lDOHZJSFJvYVhNdVgyVjJaVzUwY3lCMGJ5QmlaU0JoYzNOcFoyNWxaQ0IwYnlCaElHNWxkeUJ2WW1wbFkzUmNiaUFnSUNBZ0lHVjJaVzUwY3lBOUlIUmhjbWRsZEM1ZlpYWmxiblJ6TzF4dUlDQWdJSDFjYmlBZ0lDQmxlR2x6ZEdsdVp5QTlJR1YyWlc1MGMxdDBlWEJsWFR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hsZUdsemRHbHVaeUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0x5OGdUM0IwYVcxcGVtVWdkR2hsSUdOaGMyVWdiMllnYjI1bElHeHBjM1JsYm1WeUxpQkViMjRuZENCdVpXVmtJSFJvWlNCbGVIUnlZU0JoY25KaGVTQnZZbXBsWTNRdVhHNGdJQ0FnWlhocGMzUnBibWNnUFNCbGRtVnVkSE5iZEhsd1pWMGdQU0JzYVhOMFpXNWxjanRjYmlBZ0lDQXJLM1JoY21kbGRDNWZaWFpsYm5SelEyOTFiblE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCbGVHbHpkR2x1WnlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnTHk4Z1FXUmthVzVuSUhSb1pTQnpaV052Ym1RZ1pXeGxiV1Z1ZEN3Z2JtVmxaQ0IwYnlCamFHRnVaMlVnZEc4Z1lYSnlZWGt1WEc0Z0lDQWdJQ0JsZUdsemRHbHVaeUE5SUdWMlpXNTBjMXQwZVhCbFhTQTlYRzRnSUNBZ0lDQWdJSEJ5WlhCbGJtUWdQeUJiYkdsemRHVnVaWElzSUdWNGFYTjBhVzVuWFNBNklGdGxlR2x6ZEdsdVp5d2diR2x6ZEdWdVpYSmRPMXh1SUNBZ0lDQWdMeThnU1dZZ2QyVW5kbVVnWVd4eVpXRmtlU0JuYjNRZ1lXNGdZWEp5WVhrc0lHcDFjM1FnWVhCd1pXNWtMbHh1SUNBZ0lIMGdaV3h6WlNCcFppQW9jSEpsY0dWdVpDa2dlMXh1SUNBZ0lDQWdaWGhwYzNScGJtY3VkVzV6YUdsbWRDaHNhWE4wWlc1bGNpazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdWNGFYTjBhVzVuTG5CMWMyZ29iR2x6ZEdWdVpYSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRU5vWldOcklHWnZjaUJzYVhOMFpXNWxjaUJzWldGclhHNGdJQ0FnYlNBOUlGOW5aWFJOWVhoTWFYTjBaVzVsY25Nb2RHRnlaMlYwS1R0Y2JpQWdJQ0JwWmlBb2JTQStJREFnSmlZZ1pYaHBjM1JwYm1jdWJHVnVaM1JvSUQ0Z2JTQW1KaUFoWlhocGMzUnBibWN1ZDJGeWJtVmtLU0I3WEc0Z0lDQWdJQ0JsZUdsemRHbHVaeTUzWVhKdVpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0x5OGdUbThnWlhKeWIzSWdZMjlrWlNCbWIzSWdkR2hwY3lCemFXNWpaU0JwZENCcGN5QmhJRmRoY201cGJtZGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTF5WlhOMGNtbGpkR1ZrTFhONWJuUmhlRnh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQnVaWGNnUlhKeWIzSW9KMUJ2YzNOcFlteGxJRVYyWlc1MFJXMXBkSFJsY2lCdFpXMXZjbmtnYkdWaGF5QmtaWFJsWTNSbFpDNGdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWNGFYTjBhVzVuTG14bGJtZDBhQ0FySUNjZ0p5QXJJRk4wY21sdVp5aDBlWEJsS1NBcklDY2diR2x6ZEdWdVpYSnpJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBbllXUmtaV1F1SUZWelpTQmxiV2wwZEdWeUxuTmxkRTFoZUV4cGMzUmxibVZ5Y3lncElIUnZJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBbmFXNWpjbVZoYzJVZ2JHbHRhWFFuS1R0Y2JpQWdJQ0FnSUhjdWJtRnRaU0E5SUNkTllYaE1hWE4wWlc1bGNuTkZlR05sWldSbFpGZGhjbTVwYm1jbk8xeHVJQ0FnSUNBZ2R5NWxiV2wwZEdWeUlEMGdkR0Z5WjJWME8xeHVJQ0FnSUNBZ2R5NTBlWEJsSUQwZ2RIbHdaVHRjYmlBZ0lDQWdJSGN1WTI5MWJuUWdQU0JsZUdsemRHbHVaeTVzWlc1bmRHZzdYRzRnSUNBZ0lDQlFjbTlqWlhOelJXMXBkRmRoY201cGJtY29keWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFJoY21kbGREdGNibjFjYmx4dVJYWmxiblJGYldsMGRHVnlMbkJ5YjNSdmRIbHdaUzVoWkdSTWFYTjBaVzVsY2lBOUlHWjFibU4wYVc5dUlHRmtaRXhwYzNSbGJtVnlLSFI1Y0dVc0lHeHBjM1JsYm1WeUtTQjdYRzRnSUhKbGRIVnliaUJmWVdSa1RHbHpkR1Z1WlhJb2RHaHBjeXdnZEhsd1pTd2diR2x6ZEdWdVpYSXNJR1poYkhObEtUdGNibjA3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1YjI0Z1BTQkZkbVZ1ZEVWdGFYUjBaWEl1Y0hKdmRHOTBlWEJsTG1Ga1pFeHBjM1JsYm1WeU8xeHVYRzVGZG1WdWRFVnRhWFIwWlhJdWNISnZkRzkwZVhCbExuQnlaWEJsYm1STWFYTjBaVzVsY2lBOVhHNGdJQ0FnWm5WdVkzUnBiMjRnY0hKbGNHVnVaRXhwYzNSbGJtVnlLSFI1Y0dVc0lHeHBjM1JsYm1WeUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1gyRmtaRXhwYzNSbGJtVnlLSFJvYVhNc0lIUjVjR1VzSUd4cGMzUmxibVZ5TENCMGNuVmxLVHRjYmlBZ0lDQjlPMXh1WEc1bWRXNWpkR2x2YmlCdmJtTmxWM0poY0hCbGNpZ3BJSHRjYmlBZ2FXWWdLQ0YwYUdsekxtWnBjbVZrS1NCN1hHNGdJQ0FnZEdocGN5NTBZWEpuWlhRdWNtVnRiM1psVEdsemRHVnVaWElvZEdocGN5NTBlWEJsTENCMGFHbHpMbmR5WVhCR2JpazdYRzRnSUNBZ2RHaHBjeTVtYVhKbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnYVdZZ0tHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BUMDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c2FYTjBaVzVsY2k1allXeHNLSFJvYVhNdWRHRnlaMlYwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c2FYTjBaVzVsY2k1aGNIQnNlU2gwYUdsekxuUmhjbWRsZEN3Z1lYSm5kVzFsYm5SektUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJmYjI1alpWZHlZWEFvZEdGeVoyVjBMQ0IwZVhCbExDQnNhWE4wWlc1bGNpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjdJR1pwY21Wa09pQm1ZV3h6WlN3Z2QzSmhjRVp1T2lCMWJtUmxabWx1WldRc0lIUmhjbWRsZERvZ2RHRnlaMlYwTENCMGVYQmxPaUIwZVhCbExDQnNhWE4wWlc1bGNqb2diR2x6ZEdWdVpYSWdmVHRjYmlBZ2RtRnlJSGR5WVhCd1pXUWdQU0J2Ym1ObFYzSmhjSEJsY2k1aWFXNWtLSE4wWVhSbEtUdGNiaUFnZDNKaGNIQmxaQzVzYVhOMFpXNWxjaUE5SUd4cGMzUmxibVZ5TzF4dUlDQnpkR0YwWlM1M2NtRndSbTRnUFNCM2NtRndjR1ZrTzF4dUlDQnlaWFIxY200Z2QzSmhjSEJsWkR0Y2JuMWNibHh1UlhabGJuUkZiV2wwZEdWeUxuQnliM1J2ZEhsd1pTNXZibU5sSUQwZ1puVnVZM1JwYjI0Z2IyNWpaU2gwZVhCbExDQnNhWE4wWlc1bGNpa2dlMXh1SUNCamFHVmphMHhwYzNSbGJtVnlLR3hwYzNSbGJtVnlLVHRjYmlBZ2RHaHBjeTV2YmloMGVYQmxMQ0JmYjI1alpWZHlZWEFvZEdocGN5d2dkSGx3WlN3Z2JHbHpkR1Z1WlhJcEtUdGNiaUFnY21WMGRYSnVJSFJvYVhNN1hHNTlPMXh1WEc1RmRtVnVkRVZ0YVhSMFpYSXVjSEp2ZEc5MGVYQmxMbkJ5WlhCbGJtUlBibU5sVEdsemRHVnVaWElnUFZ4dUlDQWdJR1oxYm1OMGFXOXVJSEJ5WlhCbGJtUlBibU5sVEdsemRHVnVaWElvZEhsd1pTd2diR2x6ZEdWdVpYSXBJSHRjYmlBZ0lDQWdJR05vWldOclRHbHpkR1Z1WlhJb2JHbHpkR1Z1WlhJcE8xeHVJQ0FnSUNBZ2RHaHBjeTV3Y21Wd1pXNWtUR2x6ZEdWdVpYSW9kSGx3WlN3Z1gyOXVZMlZYY21Gd0tIUm9hWE1zSUhSNWNHVXNJR3hwYzNSbGJtVnlLU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5TzF4dVhHNHZMeUJGYldsMGN5QmhJQ2R5WlcxdmRtVk1hWE4wWlc1bGNpY2daWFpsYm5RZ2FXWWdZVzVrSUc5dWJIa2dhV1lnZEdobElHeHBjM1JsYm1WeUlIZGhjeUJ5WlcxdmRtVmtMbHh1UlhabGJuUkZiV2wwZEdWeUxuQnliM1J2ZEhsd1pTNXlaVzF2ZG1WTWFYTjBaVzVsY2lBOVhHNGdJQ0FnWm5WdVkzUnBiMjRnY21WdGIzWmxUR2x6ZEdWdVpYSW9kSGx3WlN3Z2JHbHpkR1Z1WlhJcElIdGNiaUFnSUNBZ0lIWmhjaUJzYVhOMExDQmxkbVZ1ZEhNc0lIQnZjMmwwYVc5dUxDQnBMQ0J2Y21sbmFXNWhiRXhwYzNSbGJtVnlPMXh1WEc0Z0lDQWdJQ0JqYUdWamEweHBjM1JsYm1WeUtHeHBjM1JsYm1WeUtUdGNibHh1SUNBZ0lDQWdaWFpsYm5SeklEMGdkR2hwY3k1ZlpYWmxiblJ6TzF4dUlDQWdJQ0FnYVdZZ0tHVjJaVzUwY3lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JseHVJQ0FnSUNBZ2JHbHpkQ0E5SUdWMlpXNTBjMXQwZVhCbFhUdGNiaUFnSUNBZ0lHbG1JQ2hzYVhOMElEMDlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ0lDQnBaaUFvYkdsemRDQTlQVDBnYkdsemRHVnVaWElnZkh3Z2JHbHpkQzVzYVhOMFpXNWxjaUE5UFQwZ2JHbHpkR1Z1WlhJcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0MwdGRHaHBjeTVmWlhabGJuUnpRMjkxYm5RZ1BUMDlJREFwWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVmWlhabGJuUnpJRDBnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1R0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1pHVnNaWFJsSUdWMlpXNTBjMXQwZVhCbFhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1pYWmxiblJ6TG5KbGJXOTJaVXhwYzNSbGJtVnlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVsYldsMEtDZHlaVzF2ZG1WTWFYTjBaVzVsY2ljc0lIUjVjR1VzSUd4cGMzUXViR2x6ZEdWdVpYSWdmSHdnYkdsemRHVnVaWElwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCc2FYTjBJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVJRDBnTFRFN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNocElEMGdiR2x6ZEM1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lHa3RMU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hzYVhOMFcybGRJRDA5UFNCc2FYTjBaVzVsY2lCOGZDQnNhWE4wVzJsZExteHBjM1JsYm1WeUlEMDlQU0JzYVhOMFpXNWxjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiM0pwWjJsdVlXeE1hWE4wWlc1bGNpQTlJR3hwYzNSYmFWMHViR2x6ZEdWdVpYSTdYRzRnSUNBZ0lDQWdJQ0FnSUNCd2IzTnBkR2x2YmlBOUlHazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwYjI0Z1BDQXdLVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2x2YmlBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnSUNCc2FYTjBMbk5vYVdaMEtDazdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJSE53YkdsalpVOXVaU2hzYVhOMExDQndiM05wZEdsdmJpazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9iR2x6ZEM1c1pXNW5kR2dnUFQwOUlERXBYRzRnSUNBZ0lDQWdJQ0FnWlhabGJuUnpXM1I1Y0dWZElEMGdiR2x6ZEZzd1hUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1pYWmxiblJ6TG5KbGJXOTJaVXhwYzNSbGJtVnlJQ0U5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1bGJXbDBLQ2R5WlcxdmRtVk1hWE4wWlc1bGNpY3NJSFI1Y0dVc0lHOXlhV2RwYm1Gc1RHbHpkR1Z1WlhJZ2ZId2diR2x6ZEdWdVpYSXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5TzF4dVhHNUZkbVZ1ZEVWdGFYUjBaWEl1Y0hKdmRHOTBlWEJsTG05bVppQTlJRVYyWlc1MFJXMXBkSFJsY2k1d2NtOTBiM1I1Y0dVdWNtVnRiM1psVEdsemRHVnVaWEk3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1Y21WdGIzWmxRV3hzVEdsemRHVnVaWEp6SUQxY2JpQWdJQ0JtZFc1amRHbHZiaUJ5WlcxdmRtVkJiR3hNYVhOMFpXNWxjbk1vZEhsd1pTa2dlMXh1SUNBZ0lDQWdkbUZ5SUd4cGMzUmxibVZ5Y3l3Z1pYWmxiblJ6TENCcE8xeHVYRzRnSUNBZ0lDQmxkbVZ1ZEhNZ1BTQjBhR2x6TGw5bGRtVnVkSE03WEc0Z0lDQWdJQ0JwWmlBb1pYWmxiblJ6SUQwOVBTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dVhHNGdJQ0FnSUNBdkx5QnViM1FnYkdsemRHVnVhVzVuSUdadmNpQnlaVzF2ZG1WTWFYTjBaVzVsY2l3Z2JtOGdibVZsWkNCMGJ5QmxiV2wwWEc0Z0lDQWdJQ0JwWmlBb1pYWmxiblJ6TG5KbGJXOTJaVXhwYzNSbGJtVnlJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dGeVozVnRaVzUwY3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbDlsZG1WdWRITWdQU0JQWW1wbFkzUXVZM0psWVhSbEtHNTFiR3dwTzF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11WDJWMlpXNTBjME52ZFc1MElEMGdNRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNobGRtVnVkSE5iZEhsd1pWMGdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNndExYUm9hWE11WDJWMlpXNTBjME52ZFc1MElEMDlQU0F3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1ZlpYWmxiblJ6SUQwZ1QySnFaV04wTG1OeVpXRjBaU2h1ZFd4c0tUdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVWdaWFpsYm5SelczUjVjR1ZkTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0F2THlCbGJXbDBJSEpsYlc5MlpVeHBjM1JsYm1WeUlHWnZjaUJoYkd3Z2JHbHpkR1Z1WlhKeklHOXVJR0ZzYkNCbGRtVnVkSE5jYmlBZ0lDQWdJR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJaWGx6SUQwZ1QySnFaV04wTG10bGVYTW9aWFpsYm5SektUdGNiaUFnSUNBZ0lDQWdkbUZ5SUd0bGVUdGNiaUFnSUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElHdGxlWE11YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0JyWlhrZ1BTQnJaWGx6VzJsZE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYa2dQVDA5SUNkeVpXMXZkbVZNYVhOMFpXNWxjaWNwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11Y21WdGIzWmxRV3hzVEdsemRHVnVaWEp6S0d0bGVTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaVzF2ZG1WQmJHeE1hWE4wWlc1bGNuTW9KM0psYlc5MlpVeHBjM1JsYm1WeUp5azdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgyVjJaVzUwY3lBOUlFOWlhbVZqZEM1amNtVmhkR1VvYm5Wc2JDazdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgyVjJaVzUwYzBOdmRXNTBJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR3hwYzNSbGJtVnljeUE5SUdWMlpXNTBjMXQwZVhCbFhUdGNibHh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJzYVhOMFpXNWxjbk1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaVzF2ZG1WTWFYTjBaVzVsY2loMGVYQmxMQ0JzYVhOMFpXNWxjbk1wTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoc2FYTjBaVzVsY25NZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5Qk1TVVpQSUc5eVpHVnlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2FTQTlJR3hwYzNSbGJtVnljeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVjbVZ0YjNabFRHbHpkR1Z1WlhJb2RIbHdaU3dnYkdsemRHVnVaWEp6VzJsZEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5TzF4dVhHNW1kVzVqZEdsdmJpQmZiR2x6ZEdWdVpYSnpLSFJoY21kbGRDd2dkSGx3WlN3Z2RXNTNjbUZ3S1NCN1hHNGdJSFpoY2lCbGRtVnVkSE1nUFNCMFlYSm5aWFF1WDJWMlpXNTBjenRjYmx4dUlDQnBaaUFvWlhabGJuUnpJRDA5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnY21WMGRYSnVJRnRkTzF4dVhHNGdJSFpoY2lCbGRteHBjM1JsYm1WeUlEMGdaWFpsYm5SelczUjVjR1ZkTzF4dUlDQnBaaUFvWlhac2FYTjBaVzVsY2lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lISmxkSFZ5YmlCYlhUdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHVjJiR2x6ZEdWdVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcFhHNGdJQ0FnY21WMGRYSnVJSFZ1ZDNKaGNDQS9JRnRsZG14cGMzUmxibVZ5TG14cGMzUmxibVZ5SUh4OElHVjJiR2x6ZEdWdVpYSmRJRG9nVzJWMmJHbHpkR1Z1WlhKZE8xeHVYRzRnSUhKbGRIVnliaUIxYm5keVlYQWdQMXh1SUNBZ0lIVnVkM0poY0V4cGMzUmxibVZ5Y3lobGRteHBjM1JsYm1WeUtTQTZJR0Z5Y21GNVEyeHZibVVvWlhac2FYTjBaVzVsY2l3Z1pYWnNhWE4wWlc1bGNpNXNaVzVuZEdncE8xeHVmVnh1WEc1RmRtVnVkRVZ0YVhSMFpYSXVjSEp2ZEc5MGVYQmxMbXhwYzNSbGJtVnljeUE5SUdaMWJtTjBhVzl1SUd4cGMzUmxibVZ5Y3loMGVYQmxLU0I3WEc0Z0lISmxkSFZ5YmlCZmJHbHpkR1Z1WlhKektIUm9hWE1zSUhSNWNHVXNJSFJ5ZFdVcE8xeHVmVHRjYmx4dVJYWmxiblJGYldsMGRHVnlMbkJ5YjNSdmRIbHdaUzV5WVhkTWFYTjBaVzVsY25NZ1BTQm1kVzVqZEdsdmJpQnlZWGRNYVhOMFpXNWxjbk1vZEhsd1pTa2dlMXh1SUNCeVpYUjFjbTRnWDJ4cGMzUmxibVZ5Y3loMGFHbHpMQ0IwZVhCbExDQm1ZV3h6WlNrN1hHNTlPMXh1WEc1RmRtVnVkRVZ0YVhSMFpYSXViR2x6ZEdWdVpYSkRiM1Z1ZENBOUlHWjFibU4wYVc5dUtHVnRhWFIwWlhJc0lIUjVjR1VwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYldsMGRHVnlMbXhwYzNSbGJtVnlRMjkxYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaVzFwZEhSbGNpNXNhWE4wWlc1bGNrTnZkVzUwS0hSNWNHVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQnNhWE4wWlc1bGNrTnZkVzUwTG1OaGJHd29aVzFwZEhSbGNpd2dkSGx3WlNrN1hHNGdJSDFjYm4wN1hHNWNia1YyWlc1MFJXMXBkSFJsY2k1d2NtOTBiM1I1Y0dVdWJHbHpkR1Z1WlhKRGIzVnVkQ0E5SUd4cGMzUmxibVZ5UTI5MWJuUTdYRzVtZFc1amRHbHZiaUJzYVhOMFpXNWxja052ZFc1MEtIUjVjR1VwSUh0Y2JpQWdkbUZ5SUdWMlpXNTBjeUE5SUhSb2FYTXVYMlYyWlc1MGN6dGNibHh1SUNCcFppQW9aWFpsYm5SeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0IyWVhJZ1pYWnNhWE4wWlc1bGNpQTlJR1YyWlc1MGMxdDBlWEJsWFR0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1pYWnNhWE4wWlc1bGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURFN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNobGRteHBjM1JsYm1WeUlDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJsZG14cGMzUmxibVZ5TG14bGJtZDBhRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdNRHRjYm4xY2JseHVSWFpsYm5SRmJXbDBkR1Z5TG5CeWIzUnZkSGx3WlM1bGRtVnVkRTVoYldWeklEMGdablZ1WTNScGIyNGdaWFpsYm5ST1lXMWxjeWdwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJWMlpXNTBjME52ZFc1MElENGdNQ0EvSUZKbFpteGxZM1JQZDI1TFpYbHpLSFJvYVhNdVgyVjJaVzUwY3lrZ09pQmJYVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJR0Z5Y21GNVEyeHZibVVvWVhKeUxDQnVLU0I3WEc0Z0lIWmhjaUJqYjNCNUlEMGdibVYzSUVGeWNtRjVLRzRwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzQ3SUNzcmFTbGNiaUFnSUNCamIzQjVXMmxkSUQwZ1lYSnlXMmxkTzF4dUlDQnlaWFIxY200Z1kyOXdlVHRjYm4xY2JseHVablZ1WTNScGIyNGdjM0JzYVdObFQyNWxLR3hwYzNRc0lHbHVaR1Y0S1NCN1hHNGdJR1p2Y2lBb095QnBibVJsZUNBcklERWdQQ0JzYVhOMExteGxibWQwYURzZ2FXNWtaWGdyS3lsY2JpQWdJQ0JzYVhOMFcybHVaR1Y0WFNBOUlHeHBjM1JiYVc1a1pYZ2dLeUF4WFR0Y2JpQWdiR2x6ZEM1d2IzQW9LVHRjYm4xY2JseHVablZ1WTNScGIyNGdkVzUzY21Gd1RHbHpkR1Z1WlhKektHRnljaWtnZTF4dUlDQjJZWElnY21WMElEMGdibVYzSUVGeWNtRjVLR0Z5Y2k1c1pXNW5kR2dwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEpsZEM1c1pXNW5kR2c3SUNzcmFTa2dlMXh1SUNBZ0lISmxkRnRwWFNBOUlHRnljbHRwWFM1c2FYTjBaVzVsY2lCOGZDQmhjbkpiYVYwN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBNRDUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtZDUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21kNS5qcy9pbmRleC5qc1xcXCIpXFxuXFxuLyogZXNsaW50LWRpc2FibGUgY2FtZWxjYXNlICovXFxuZnVuY3Rpb24gRVZQX0J5dGVzVG9LZXkgKHBhc3N3b3JkLCBzYWx0LCBrZXlCaXRzLCBpdkxlbikge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocGFzc3dvcmQpKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkLCAnYmluYXJ5JylcXG4gIGlmIChzYWx0KSB7XFxuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKHNhbHQpKSBzYWx0ID0gQnVmZmVyLmZyb20oc2FsdCwgJ2JpbmFyeScpXFxuICAgIGlmIChzYWx0Lmxlbmd0aCAhPT0gOCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NhbHQgc2hvdWxkIGJlIEJ1ZmZlciB3aXRoIDggYnl0ZSBsZW5ndGgnKVxcbiAgfVxcblxcbiAgdmFyIGtleUxlbiA9IGtleUJpdHMgLyA4XFxuICB2YXIga2V5ID0gQnVmZmVyLmFsbG9jKGtleUxlbilcXG4gIHZhciBpdiA9IEJ1ZmZlci5hbGxvYyhpdkxlbiB8fCAwKVxcbiAgdmFyIHRtcCA9IEJ1ZmZlci5hbGxvYygwKVxcblxcbiAgd2hpbGUgKGtleUxlbiA+IDAgfHwgaXZMZW4gPiAwKSB7XFxuICAgIHZhciBoYXNoID0gbmV3IE1ENSgpXFxuICAgIGhhc2gudXBkYXRlKHRtcClcXG4gICAgaGFzaC51cGRhdGUocGFzc3dvcmQpXFxuICAgIGlmIChzYWx0KSBoYXNoLnVwZGF0ZShzYWx0KVxcbiAgICB0bXAgPSBoYXNoLmRpZ2VzdCgpXFxuXFxuICAgIHZhciB1c2VkID0gMFxcblxcbiAgICBpZiAoa2V5TGVuID4gMCkge1xcbiAgICAgIHZhciBrZXlTdGFydCA9IGtleS5sZW5ndGggLSBrZXlMZW5cXG4gICAgICB1c2VkID0gTWF0aC5taW4oa2V5TGVuLCB0bXAubGVuZ3RoKVxcbiAgICAgIHRtcC5jb3B5KGtleSwga2V5U3RhcnQsIDAsIHVzZWQpXFxuICAgICAga2V5TGVuIC09IHVzZWRcXG4gICAgfVxcblxcbiAgICBpZiAodXNlZCA8IHRtcC5sZW5ndGggJiYgaXZMZW4gPiAwKSB7XFxuICAgICAgdmFyIGl2U3RhcnQgPSBpdi5sZW5ndGggLSBpdkxlblxcbiAgICAgIHZhciBsZW5ndGggPSBNYXRoLm1pbihpdkxlbiwgdG1wLmxlbmd0aCAtIHVzZWQpXFxuICAgICAgdG1wLmNvcHkoaXYsIGl2U3RhcnQsIHVzZWQsIHVzZWQgKyBsZW5ndGgpXFxuICAgICAgaXZMZW4gLT0gbGVuZ3RoXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRtcC5maWxsKDApXFxuICByZXR1cm4geyBrZXk6IGtleSwgaXY6IGl2IH1cXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBFVlBfQnl0ZXNUb0tleVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGRuQmZZbmwwWlhOMGIydGxlUzlwYm1SbGVDNXFjejlrTnpobUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnNReXhWUVVGVkxHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVEZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFZRVUZWTzBGQlExWTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wlhad1gySjVkR1Z6ZEc5clpYa3ZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25jMkZtWlMxaWRXWm1aWEluS1M1Q2RXWm1aWEpjYm5aaGNpQk5SRFVnUFNCeVpYRjFhWEpsS0NkdFpEVXVhbk1uS1Z4dVhHNHZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQmpZVzFsYkdOaGMyVWdLaTljYm1aMWJtTjBhVzl1SUVWV1VGOUNlWFJsYzFSdlMyVjVJQ2h3WVhOemQyOXlaQ3dnYzJGc2RDd2dhMlY1UW1sMGN5d2dhWFpNWlc0cElIdGNiaUFnYVdZZ0tDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb2NHRnpjM2R2Y21RcEtTQndZWE56ZDI5eVpDQTlJRUoxWm1abGNpNW1jbTl0S0hCaGMzTjNiM0prTENBblltbHVZWEo1SnlsY2JpQWdhV1lnS0hOaGJIUXBJSHRjYmlBZ0lDQnBaaUFvSVVKMVptWmxjaTVwYzBKMVptWmxjaWh6WVd4MEtTa2djMkZzZENBOUlFSjFabVpsY2k1bWNtOXRLSE5oYkhRc0lDZGlhVzVoY25rbktWeHVJQ0FnSUdsbUlDaHpZV3gwTG14bGJtZDBhQ0FoUFQwZ09Da2dkR2h5YjNjZ2JtVjNJRkpoYm1kbFJYSnliM0lvSjNOaGJIUWdjMmh2ZFd4a0lHSmxJRUoxWm1abGNpQjNhWFJvSURnZ1lubDBaU0JzWlc1bmRHZ25LVnh1SUNCOVhHNWNiaUFnZG1GeUlHdGxlVXhsYmlBOUlHdGxlVUpwZEhNZ0x5QTRYRzRnSUhaaGNpQnJaWGtnUFNCQ2RXWm1aWEl1WVd4c2IyTW9hMlY1VEdWdUtWeHVJQ0IyWVhJZ2FYWWdQU0JDZFdabVpYSXVZV3hzYjJNb2FYWk1aVzRnZkh3Z01DbGNiaUFnZG1GeUlIUnRjQ0E5SUVKMVptWmxjaTVoYkd4dll5Z3dLVnh1WEc0Z0lIZG9hV3hsSUNoclpYbE1aVzRnUGlBd0lIeDhJR2wyVEdWdUlENGdNQ2tnZTF4dUlDQWdJSFpoY2lCb1lYTm9JRDBnYm1WM0lFMUVOU2dwWEc0Z0lDQWdhR0Z6YUM1MWNHUmhkR1VvZEcxd0tWeHVJQ0FnSUdoaGMyZ3VkWEJrWVhSbEtIQmhjM04zYjNKa0tWeHVJQ0FnSUdsbUlDaHpZV3gwS1NCb1lYTm9MblZ3WkdGMFpTaHpZV3gwS1Z4dUlDQWdJSFJ0Y0NBOUlHaGhjMmd1WkdsblpYTjBLQ2xjYmx4dUlDQWdJSFpoY2lCMWMyVmtJRDBnTUZ4dVhHNGdJQ0FnYVdZZ0tHdGxlVXhsYmlBK0lEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCclpYbFRkR0Z5ZENBOUlHdGxlUzVzWlc1bmRHZ2dMU0JyWlhsTVpXNWNiaUFnSUNBZ0lIVnpaV1FnUFNCTllYUm9MbTFwYmloclpYbE1aVzRzSUhSdGNDNXNaVzVuZEdncFhHNGdJQ0FnSUNCMGJYQXVZMjl3ZVNoclpYa3NJR3RsZVZOMFlYSjBMQ0F3TENCMWMyVmtLVnh1SUNBZ0lDQWdhMlY1VEdWdUlDMDlJSFZ6WldSY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RYTmxaQ0E4SUhSdGNDNXNaVzVuZEdnZ0ppWWdhWFpNWlc0Z1BpQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2FYWlRkR0Z5ZENBOUlHbDJMbXhsYm1kMGFDQXRJR2wyVEdWdVhHNGdJQ0FnSUNCMllYSWdiR1Z1WjNSb0lEMGdUV0YwYUM1dGFXNG9hWFpNWlc0c0lIUnRjQzVzWlc1bmRHZ2dMU0IxYzJWa0tWeHVJQ0FnSUNBZ2RHMXdMbU52Y0hrb2FYWXNJR2wyVTNSaGNuUXNJSFZ6WldRc0lIVnpaV1FnS3lCc1pXNW5kR2dwWEc0Z0lDQWdJQ0JwZGt4bGJpQXRQU0JzWlc1bmRHaGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjBiWEF1Wm1sc2JDZ3dLVnh1SUNCeVpYUjFjbTRnZXlCclpYazZJR3RsZVN3Z2FYWTZJR2wySUgxY2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JGVmxCZlFubDBaWE5VYjB0bGVWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2V2cF9ieXRlc3Rva2V5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9mYXN0LWRlZXAtZXF1YWwvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Zhc3QtZGVlcC1lcXVhbC9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xcbnZhciBrZXlMaXN0ID0gT2JqZWN0LmtleXM7XFxudmFyIGhhc1Byb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZXF1YWwoYSwgYikge1xcbiAgaWYgKGEgPT09IGIpIHJldHVybiB0cnVlO1xcblxcbiAgaWYgKGEgJiYgYiAmJiB0eXBlb2YgYSA9PSAnb2JqZWN0JyAmJiB0eXBlb2YgYiA9PSAnb2JqZWN0Jykge1xcbiAgICB2YXIgYXJyQSA9IGlzQXJyYXkoYSlcXG4gICAgICAsIGFyckIgPSBpc0FycmF5KGIpXFxuICAgICAgLCBpXFxuICAgICAgLCBsZW5ndGhcXG4gICAgICAsIGtleTtcXG5cXG4gICAgaWYgKGFyckEgJiYgYXJyQikge1xcbiAgICAgIGxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICAgIGlmIChsZW5ndGggIT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcXG4gICAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspXFxuICAgICAgICBpZiAoIWVxdWFsKGFbaV0sIGJbaV0pKSByZXR1cm4gZmFsc2U7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKGFyckEgIT0gYXJyQikgcmV0dXJuIGZhbHNlO1xcblxcbiAgICB2YXIgZGF0ZUEgPSBhIGluc3RhbmNlb2YgRGF0ZVxcbiAgICAgICwgZGF0ZUIgPSBiIGluc3RhbmNlb2YgRGF0ZTtcXG4gICAgaWYgKGRhdGVBICE9IGRhdGVCKSByZXR1cm4gZmFsc2U7XFxuICAgIGlmIChkYXRlQSAmJiBkYXRlQikgcmV0dXJuIGEuZ2V0VGltZSgpID09IGIuZ2V0VGltZSgpO1xcblxcbiAgICB2YXIgcmVnZXhwQSA9IGEgaW5zdGFuY2VvZiBSZWdFeHBcXG4gICAgICAsIHJlZ2V4cEIgPSBiIGluc3RhbmNlb2YgUmVnRXhwO1xcbiAgICBpZiAocmVnZXhwQSAhPSByZWdleHBCKSByZXR1cm4gZmFsc2U7XFxuICAgIGlmIChyZWdleHBBICYmIHJlZ2V4cEIpIHJldHVybiBhLnRvU3RyaW5nKCkgPT0gYi50b1N0cmluZygpO1xcblxcbiAgICB2YXIga2V5cyA9IGtleUxpc3QoYSk7XFxuICAgIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xcblxcbiAgICBpZiAobGVuZ3RoICE9PSBrZXlMaXN0KGIpLmxlbmd0aClcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuXFxuICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOylcXG4gICAgICBpZiAoIWhhc1Byb3AuY2FsbChiLCBrZXlzW2ldKSkgcmV0dXJuIGZhbHNlO1xcblxcbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcXG4gICAgICBrZXkgPSBrZXlzW2ldO1xcbiAgICAgIGlmICghZXF1YWwoYVtrZXldLCBiW2tleV0pKSByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICByZXR1cm4gYSE9PWEgJiYgYiE9PWI7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW1ZWE4wTFdSbFpYQXRaWEYxWVd3dmFXNWtaWGd1YW5NL01HUmtOeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBKQlFYTkNMRmRCUVZjN1FVRkRha003UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHZRa0ZCYjBJc1YwRkJWenRCUVVNdlFqczdRVUZGUVN4dlFrRkJiMElzVjBGQlZ6dEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyWmhjM1F0WkdWbGNDMWxjWFZoYkM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdselFYSnlZWGtnUFNCQmNuSmhlUzVwYzBGeWNtRjVPMXh1ZG1GeUlHdGxlVXhwYzNRZ1BTQlBZbXBsWTNRdWEyVjVjenRjYm5aaGNpQm9ZWE5RY205d0lEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQmxjWFZoYkNoaExDQmlLU0I3WEc0Z0lHbG1JQ2hoSUQwOVBTQmlLU0J5WlhSMWNtNGdkSEoxWlR0Y2JseHVJQ0JwWmlBb1lTQW1KaUJpSUNZbUlIUjVjR1Z2WmlCaElEMDlJQ2R2WW1wbFkzUW5JQ1ltSUhSNWNHVnZaaUJpSUQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ2RtRnlJR0Z5Y2tFZ1BTQnBjMEZ5Y21GNUtHRXBYRzRnSUNBZ0lDQXNJR0Z5Y2tJZ1BTQnBjMEZ5Y21GNUtHSXBYRzRnSUNBZ0lDQXNJR2xjYmlBZ0lDQWdJQ3dnYkdWdVozUm9YRzRnSUNBZ0lDQXNJR3RsZVR0Y2JseHVJQ0FnSUdsbUlDaGhjbkpCSUNZbUlHRnlja0lwSUh0Y2JpQWdJQ0FnSUd4bGJtZDBhQ0E5SUdFdWJHVnVaM1JvTzF4dUlDQWdJQ0FnYVdZZ0tHeGxibWQwYUNBaFBTQmlMbXhsYm1kMGFDa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYkdWdVozUm9PeUJwTFMwZ0lUMDlJREE3S1Z4dUlDQWdJQ0FnSUNCcFppQW9JV1Z4ZFdGc0tHRmJhVjBzSUdKYmFWMHBLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZWEp5UVNBaFBTQmhjbkpDS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ0lDQjJZWElnWkdGMFpVRWdQU0JoSUdsdWMzUmhibU5sYjJZZ1JHRjBaVnh1SUNBZ0lDQWdMQ0JrWVhSbFFpQTlJR0lnYVc1emRHRnVZMlZ2WmlCRVlYUmxPMXh1SUNBZ0lHbG1JQ2hrWVhSbFFTQWhQU0JrWVhSbFFpa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJR2xtSUNoa1lYUmxRU0FtSmlCa1lYUmxRaWtnY21WMGRYSnVJR0V1WjJWMFZHbHRaU2dwSUQwOUlHSXVaMlYwVkdsdFpTZ3BPMXh1WEc0Z0lDQWdkbUZ5SUhKbFoyVjRjRUVnUFNCaElHbHVjM1JoYm1ObGIyWWdVbVZuUlhod1hHNGdJQ0FnSUNBc0lISmxaMlY0Y0VJZ1BTQmlJR2x1YzNSaGJtTmxiMllnVW1WblJYaHdPMXh1SUNBZ0lHbG1JQ2h5WldkbGVIQkJJQ0U5SUhKbFoyVjRjRUlwSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCcFppQW9jbVZuWlhod1FTQW1KaUJ5WldkbGVIQkNLU0J5WlhSMWNtNGdZUzUwYjFOMGNtbHVaeWdwSUQwOUlHSXVkRzlUZEhKcGJtY29LVHRjYmx4dUlDQWdJSFpoY2lCclpYbHpJRDBnYTJWNVRHbHpkQ2hoS1R0Y2JpQWdJQ0JzWlc1bmRHZ2dQU0JyWlhsekxteGxibWQwYUR0Y2JseHVJQ0FnSUdsbUlDaHNaVzVuZEdnZ0lUMDlJR3RsZVV4cGMzUW9ZaWt1YkdWdVozUm9LVnh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnWm05eUlDaHBJRDBnYkdWdVozUm9PeUJwTFMwZ0lUMDlJREE3S1Z4dUlDQWdJQ0FnYVdZZ0tDRm9ZWE5RY205d0xtTmhiR3dvWWl3Z2EyVjVjMXRwWFNrcElISmxkSFZ5YmlCbVlXeHpaVHRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJR3hsYm1kMGFEc2dhUzB0SUNFOVBTQXdPeWtnZTF4dUlDQWdJQ0FnYTJWNUlEMGdhMlY1YzF0cFhUdGNiaUFnSUNBZ0lHbG1JQ2doWlhGMVlXd29ZVnRyWlhsZExDQmlXMnRsZVYwcEtTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWVNFOVBXRWdKaVlnWWlFOVBXSTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZmFzdC1kZWVwLWVxdWFsL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2UvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWRhYmxlLXN0cmVhbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtYnJvd3Nlci5qc1xcXCIpLlRyYW5zZm9ybVxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG5cXG5mdW5jdGlvbiB0aHJvd0lmTm90U3RyaW5nT3JCdWZmZXIgKHZhbCwgcHJlZml4KSB7XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWwpICYmIHR5cGVvZiB2YWwgIT09ICdzdHJpbmcnKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocHJlZml4ICsgJyBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gSGFzaEJhc2UgKGJsb2NrU2l6ZSkge1xcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcXG5cXG4gIHRoaXMuX2Jsb2NrID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2NrU2l6ZSlcXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxcbiAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXFxuICB0aGlzLl9sZW5ndGggPSBbMCwgMCwgMCwgMF1cXG5cXG4gIHRoaXMuX2ZpbmFsaXplZCA9IGZhbHNlXFxufVxcblxcbmluaGVyaXRzKEhhc2hCYXNlLCBUcmFuc2Zvcm0pXFxuXFxuSGFzaEJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykge1xcbiAgdmFyIGVycm9yID0gbnVsbFxcbiAgdHJ5IHtcXG4gICAgdGhpcy51cGRhdGUoY2h1bmssIGVuY29kaW5nKVxcbiAgfSBjYXRjaCAoZXJyKSB7XFxuICAgIGVycm9yID0gZXJyXFxuICB9XFxuXFxuICBjYWxsYmFjayhlcnJvcilcXG59XFxuXFxuSGFzaEJhc2UucHJvdG90eXBlLl9mbHVzaCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xcbiAgdmFyIGVycm9yID0gbnVsbFxcbiAgdHJ5IHtcXG4gICAgdGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpXFxuICB9IGNhdGNoIChlcnIpIHtcXG4gICAgZXJyb3IgPSBlcnJcXG4gIH1cXG5cXG4gIGNhbGxiYWNrKGVycm9yKVxcbn1cXG5cXG5IYXNoQmFzZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEsIGVuY29kaW5nKSB7XFxuICB0aHJvd0lmTm90U3RyaW5nT3JCdWZmZXIoZGF0YSwgJ0RhdGEnKVxcbiAgaWYgKHRoaXMuX2ZpbmFsaXplZCkgdGhyb3cgbmV3IEVycm9yKCdEaWdlc3QgYWxyZWFkeSBjYWxsZWQnKVxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoZGF0YSkpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmNvZGluZylcXG5cXG4gIC8vIGNvbnN1bWUgZGF0YVxcbiAgdmFyIGJsb2NrID0gdGhpcy5fYmxvY2tcXG4gIHZhciBvZmZzZXQgPSAwXFxuICB3aGlsZSAodGhpcy5fYmxvY2tPZmZzZXQgKyBkYXRhLmxlbmd0aCAtIG9mZnNldCA+PSB0aGlzLl9ibG9ja1NpemUpIHtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMuX2Jsb2NrT2Zmc2V0OyBpIDwgdGhpcy5fYmxvY2tTaXplOykgYmxvY2tbaSsrXSA9IGRhdGFbb2Zmc2V0KytdXFxuICAgIHRoaXMuX3VwZGF0ZSgpXFxuICAgIHRoaXMuX2Jsb2NrT2Zmc2V0ID0gMFxcbiAgfVxcbiAgd2hpbGUgKG9mZnNldCA8IGRhdGEubGVuZ3RoKSBibG9ja1t0aGlzLl9ibG9ja09mZnNldCsrXSA9IGRhdGFbb2Zmc2V0KytdXFxuXFxuICAvLyB1cGRhdGUgbGVuZ3RoXFxuICBmb3IgKHZhciBqID0gMCwgY2FycnkgPSBkYXRhLmxlbmd0aCAqIDg7IGNhcnJ5ID4gMDsgKytqKSB7XFxuICAgIHRoaXMuX2xlbmd0aFtqXSArPSBjYXJyeVxcbiAgICBjYXJyeSA9ICh0aGlzLl9sZW5ndGhbal0gLyAweDAxMDAwMDAwMDApIHwgMFxcbiAgICBpZiAoY2FycnkgPiAwKSB0aGlzLl9sZW5ndGhbal0gLT0gMHgwMTAwMDAwMDAwICogY2FycnlcXG4gIH1cXG5cXG4gIHJldHVybiB0aGlzXFxufVxcblxcbkhhc2hCYXNlLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCcpXFxufVxcblxcbkhhc2hCYXNlLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcXG4gIGlmICh0aGlzLl9maW5hbGl6ZWQpIHRocm93IG5ldyBFcnJvcignRGlnZXN0IGFscmVhZHkgY2FsbGVkJylcXG4gIHRoaXMuX2ZpbmFsaXplZCA9IHRydWVcXG5cXG4gIHZhciBkaWdlc3QgPSB0aGlzLl9kaWdlc3QoKVxcbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIGRpZ2VzdCA9IGRpZ2VzdC50b1N0cmluZyhlbmNvZGluZylcXG5cXG4gIC8vIHJlc2V0IHN0YXRlXFxuICB0aGlzLl9ibG9jay5maWxsKDApXFxuICB0aGlzLl9ibG9ja09mZnNldCA9IDBcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgKytpKSB0aGlzLl9sZW5ndGhbaV0gPSAwXFxuXFxuICByZXR1cm4gZGlnZXN0XFxufVxcblxcbkhhc2hCYXNlLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZCcpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gSGFzaEJhc2VcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZhVzVrWlhndWFuTS9aVFF4TXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQldUdEJRVU5hTEdGQlFXRXNiVUpCUVU4c1EwRkJReXdyUlVGQllUdEJRVU5zUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4clIwRkJhVUk3UVVGRGVrTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExEWkVRVUZWT3p0QlFVVnFRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVTkJRVzFETEhGQ1FVRnhRanRCUVVONFJEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEQkRRVUV3UXl4WFFVRlhPMEZCUTNKRU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4UFFVRlBPenRCUVVWNFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENkY2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2R6WVdabExXSjFabVpsY2ljcExrSjFabVpsY2x4dWRtRnlJRlJ5WVc1elptOXliU0E5SUhKbGNYVnBjbVVvSjNKbFlXUmhZbXhsTFhOMGNtVmhiU2NwTGxSeVlXNXpabTl5YlZ4dWRtRnlJR2x1YUdWeWFYUnpJRDBnY21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1Z4dVhHNW1kVzVqZEdsdmJpQjBhSEp2ZDBsbVRtOTBVM1J5YVc1blQzSkNkV1ptWlhJZ0tIWmhiQ3dnY0hKbFptbDRLU0I3WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6UW5WbVptVnlLSFpoYkNrZ0ppWWdkSGx3Wlc5bUlIWmhiQ0FoUFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtIQnlaV1pwZUNBcklDY2diWFZ6ZENCaVpTQmhJSE4wY21sdVp5QnZjaUJoSUdKMVptWmxjaWNwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1NHRnphRUpoYzJVZ0tHSnNiMk5yVTJsNlpTa2dlMXh1SUNCVWNtRnVjMlp2Y20wdVkyRnNiQ2gwYUdsektWeHVYRzRnSUhSb2FYTXVYMkpzYjJOcklEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOclUybDZaU2xjYmlBZ2RHaHBjeTVmWW14dlkydFRhWHBsSUQwZ1lteHZZMnRUYVhwbFhHNGdJSFJvYVhNdVgySnNiMk5yVDJabWMyVjBJRDBnTUZ4dUlDQjBhR2x6TGw5c1pXNW5kR2dnUFNCYk1Dd2dNQ3dnTUN3Z01GMWNibHh1SUNCMGFHbHpMbDltYVc1aGJHbDZaV1FnUFNCbVlXeHpaVnh1ZlZ4dVhHNXBibWhsY21sMGN5aElZWE5vUW1GelpTd2dWSEpoYm5ObWIzSnRLVnh1WEc1SVlYTm9RbUZ6WlM1d2NtOTBiM1I1Y0dVdVgzUnlZVzV6Wm05eWJTQTlJR1oxYm1OMGFXOXVJQ2hqYUhWdWF5d2daVzVqYjJScGJtY3NJR05oYkd4aVlXTnJLU0I3WEc0Z0lIWmhjaUJsY25KdmNpQTlJRzUxYkd4Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IwYUdsekxuVndaR0YwWlNoamFIVnVheXdnWlc1amIyUnBibWNwWEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTF4dUlDQWdJR1Z5Y205eUlEMGdaWEp5WEc0Z0lIMWNibHh1SUNCallXeHNZbUZqYXlobGNuSnZjaWxjYm4xY2JseHVTR0Z6YUVKaGMyVXVjSEp2ZEc5MGVYQmxMbDltYkhWemFDQTlJR1oxYm1OMGFXOXVJQ2hqWVd4c1ltRmpheWtnZTF4dUlDQjJZWElnWlhKeWIzSWdQU0J1ZFd4c1hHNGdJSFJ5ZVNCN1hHNGdJQ0FnZEdocGN5NXdkWE5vS0hSb2FYTXVaR2xuWlhOMEtDa3BYRzRnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lHVnljbTl5SUQwZ1pYSnlYRzRnSUgxY2JseHVJQ0JqWVd4c1ltRmpheWhsY25KdmNpbGNibjFjYmx4dVNHRnphRUpoYzJVdWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlDaGtZWFJoTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0IwYUhKdmQwbG1UbTkwVTNSeWFXNW5UM0pDZFdabVpYSW9aR0YwWVN3Z0owUmhkR0VuS1Z4dUlDQnBaaUFvZEdocGN5NWZabWx1WVd4cGVtVmtLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMFJwWjJWemRDQmhiSEpsWVdSNUlHTmhiR3hsWkNjcFhHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dSaGRHRXBLU0JrWVhSaElEMGdRblZtWm1WeUxtWnliMjBvWkdGMFlTd2daVzVqYjJScGJtY3BYRzVjYmlBZ0x5OGdZMjl1YzNWdFpTQmtZWFJoWEc0Z0lIWmhjaUJpYkc5amF5QTlJSFJvYVhNdVgySnNiMk5yWEc0Z0lIWmhjaUJ2Wm1aelpYUWdQU0F3WEc0Z0lIZG9hV3hsSUNoMGFHbHpMbDlpYkc5amEwOW1abk5sZENBcklHUmhkR0V1YkdWdVozUm9JQzBnYjJabWMyVjBJRDQ5SUhSb2FYTXVYMkpzYjJOclUybDZaU2tnZTF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCMGFHbHpMbDlpYkc5amEwOW1abk5sZERzZ2FTQThJSFJvYVhNdVgySnNiMk5yVTJsNlpUc3BJR0pzYjJOclcya3JLMTBnUFNCa1lYUmhXMjltWm5ObGRDc3JYVnh1SUNBZ0lIUm9hWE11WDNWd1pHRjBaU2dwWEc0Z0lDQWdkR2hwY3k1ZllteHZZMnRQWm1aelpYUWdQU0F3WEc0Z0lIMWNiaUFnZDJocGJHVWdLRzltWm5ObGRDQThJR1JoZEdFdWJHVnVaM1JvS1NCaWJHOWphMXQwYUdsekxsOWliRzlqYTA5bVpuTmxkQ3NyWFNBOUlHUmhkR0ZiYjJabWMyVjBLeXRkWEc1Y2JpQWdMeThnZFhCa1lYUmxJR3hsYm1kMGFGeHVJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Dd2dZMkZ5Y25rZ1BTQmtZWFJoTG14bGJtZDBhQ0FxSURnN0lHTmhjbko1SUQ0Z01Ec2dLeXRxS1NCN1hHNGdJQ0FnZEdocGN5NWZiR1Z1WjNSb1cycGRJQ3M5SUdOaGNuSjVYRzRnSUNBZ1kyRnljbmtnUFNBb2RHaHBjeTVmYkdWdVozUm9XMnBkSUM4Z01IZ3dNVEF3TURBd01EQXdLU0I4SURCY2JpQWdJQ0JwWmlBb1kyRnljbmtnUGlBd0tTQjBhR2x6TGw5c1pXNW5kR2hiYWwwZ0xUMGdNSGd3TVRBd01EQXdNREF3SUNvZ1kyRnljbmxjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIwYUdselhHNTlYRzVjYmtoaGMyaENZWE5sTG5CeWIzUnZkSGx3WlM1ZmRYQmtZWFJsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjE5MWNHUmhkR1VnYVhNZ2JtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlsY2JuMWNibHh1U0dGemFFSmhjMlV1Y0hKdmRHOTBlWEJsTG1ScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUNobGJtTnZaR2x1WnlrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVmWm1sdVlXeHBlbVZrS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBScFoyVnpkQ0JoYkhKbFlXUjVJR05oYkd4bFpDY3BYRzRnSUhSb2FYTXVYMlpwYm1Gc2FYcGxaQ0E5SUhSeWRXVmNibHh1SUNCMllYSWdaR2xuWlhOMElEMGdkR2hwY3k1ZlpHbG5aWE4wS0NsY2JpQWdhV1lnS0dWdVkyOWthVzVuSUNFOVBTQjFibVJsWm1sdVpXUXBJR1JwWjJWemRDQTlJR1JwWjJWemRDNTBiMU4wY21sdVp5aGxibU52WkdsdVp5bGNibHh1SUNBdkx5QnlaWE5sZENCemRHRjBaVnh1SUNCMGFHbHpMbDlpYkc5amF5NW1hV3hzS0RBcFhHNGdJSFJvYVhNdVgySnNiMk5yVDJabWMyVjBJRDBnTUZ4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRFE3SUNzcmFTa2dkR2hwY3k1ZmJHVnVaM1JvVzJsZElEMGdNRnh1WEc0Z0lISmxkSFZ5YmlCa2FXZGxjM1JjYm4xY2JseHVTR0Z6YUVKaGMyVXVjSEp2ZEc5MGVYQmxMbDlrYVdkbGMzUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25YMlJwWjJWemRDQnBjeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUW5LVnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFaGhjMmhDWVhObFhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cXG5cXG52YXIgY29kZXMgPSB7fTtcXG5cXG5mdW5jdGlvbiBjcmVhdGVFcnJvclR5cGUoY29kZSwgbWVzc2FnZSwgQmFzZSkge1xcbiAgaWYgKCFCYXNlKSB7XFxuICAgIEJhc2UgPSBFcnJvcjtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGdldE1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMykge1xcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgcmV0dXJuIG1lc3NhZ2U7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIG1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBOb2RlRXJyb3IgPVxcbiAgLyojX19QVVJFX18qL1xcbiAgZnVuY3Rpb24gKF9CYXNlKSB7XFxuICAgIF9pbmhlcml0c0xvb3NlKE5vZGVFcnJvciwgX0Jhc2UpO1xcblxcbiAgICBmdW5jdGlvbiBOb2RlRXJyb3IoYXJnMSwgYXJnMiwgYXJnMykge1xcbiAgICAgIHJldHVybiBfQmFzZS5jYWxsKHRoaXMsIGdldE1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMykpIHx8IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIE5vZGVFcnJvcjtcXG4gIH0oQmFzZSk7XFxuXFxuICBOb2RlRXJyb3IucHJvdG90eXBlLm5hbWUgPSBCYXNlLm5hbWU7XFxuICBOb2RlRXJyb3IucHJvdG90eXBlLmNvZGUgPSBjb2RlO1xcbiAgY29kZXNbY29kZV0gPSBOb2RlRXJyb3I7XFxufSAvLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi92MTAuOC4wL2xpYi9pbnRlcm5hbC9lcnJvcnMuanNcXG5cXG5cXG5mdW5jdGlvbiBvbmVPZihleHBlY3RlZCwgdGhpbmcpIHtcXG4gIGlmIChBcnJheS5pc0FycmF5KGV4cGVjdGVkKSkge1xcbiAgICB2YXIgbGVuID0gZXhwZWN0ZWQubGVuZ3RoO1xcbiAgICBleHBlY3RlZCA9IGV4cGVjdGVkLm1hcChmdW5jdGlvbiAoaSkge1xcbiAgICAgIHJldHVybiBTdHJpbmcoaSk7XFxuICAgIH0pO1xcblxcbiAgICBpZiAobGVuID4gMikge1xcbiAgICAgIHJldHVybiBcXFwib25lIG9mIFxcXCIuY29uY2F0KHRoaW5nLCBcXFwiIFxcXCIpLmNvbmNhdChleHBlY3RlZC5zbGljZSgwLCBsZW4gLSAxKS5qb2luKCcsICcpLCBcXFwiLCBvciBcXFwiKSArIGV4cGVjdGVkW2xlbiAtIDFdO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA9PT0gMikge1xcbiAgICAgIHJldHVybiBcXFwib25lIG9mIFxcXCIuY29uY2F0KHRoaW5nLCBcXFwiIFxcXCIpLmNvbmNhdChleHBlY3RlZFswXSwgXFxcIiBvciBcXFwiKS5jb25jYXQoZXhwZWN0ZWRbMV0pO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiBcXFwib2YgXFxcIi5jb25jYXQodGhpbmcsIFxcXCIgXFxcIikuY29uY2F0KGV4cGVjdGVkWzBdKTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIFxcXCJvZiBcXFwiLmNvbmNhdCh0aGluZywgXFxcIiBcXFwiKS5jb25jYXQoU3RyaW5nKGV4cGVjdGVkKSk7XFxuICB9XFxufSAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvc3RhcnRzV2l0aFxcblxcblxcbmZ1bmN0aW9uIHN0YXJ0c1dpdGgoc3RyLCBzZWFyY2gsIHBvcykge1xcbiAgcmV0dXJuIHN0ci5zdWJzdHIoIXBvcyB8fCBwb3MgPCAwID8gMCA6ICtwb3MsIHNlYXJjaC5sZW5ndGgpID09PSBzZWFyY2g7XFxufSAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvZW5kc1dpdGhcXG5cXG5cXG5mdW5jdGlvbiBlbmRzV2l0aChzdHIsIHNlYXJjaCwgdGhpc19sZW4pIHtcXG4gIGlmICh0aGlzX2xlbiA9PT0gdW5kZWZpbmVkIHx8IHRoaXNfbGVuID4gc3RyLmxlbmd0aCkge1xcbiAgICB0aGlzX2xlbiA9IHN0ci5sZW5ndGg7XFxuICB9XFxuXFxuICByZXR1cm4gc3RyLnN1YnN0cmluZyh0aGlzX2xlbiAtIHNlYXJjaC5sZW5ndGgsIHRoaXNfbGVuKSA9PT0gc2VhcmNoO1xcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL2luY2x1ZGVzXFxuXFxuXFxuZnVuY3Rpb24gaW5jbHVkZXMoc3RyLCBzZWFyY2gsIHN0YXJ0KSB7XFxuICBpZiAodHlwZW9mIHN0YXJ0ICE9PSAnbnVtYmVyJykge1xcbiAgICBzdGFydCA9IDA7XFxuICB9XFxuXFxuICBpZiAoc3RhcnQgKyBzZWFyY2gubGVuZ3RoID4gc3RyLmxlbmd0aCkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gc3RyLmluZGV4T2Yoc2VhcmNoLCBzdGFydCkgIT09IC0xO1xcbiAgfVxcbn1cXG5cXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9JTlZBTElEX09QVF9WQUxVRScsIGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xcbiAgcmV0dXJuICdUaGUgdmFsdWUgXFxcIicgKyB2YWx1ZSArICdcXFwiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcXFwiJyArIG5hbWUgKyAnXFxcIic7XFxufSwgVHlwZUVycm9yKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9JTlZBTElEX0FSR19UWVBFJywgZnVuY3Rpb24gKG5hbWUsIGV4cGVjdGVkLCBhY3R1YWwpIHtcXG4gIC8vIGRldGVybWluZXI6ICdtdXN0IGJlJyBvciAnbXVzdCBub3QgYmUnXFxuICB2YXIgZGV0ZXJtaW5lcjtcXG5cXG4gIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT09ICdzdHJpbmcnICYmIHN0YXJ0c1dpdGgoZXhwZWN0ZWQsICdub3QgJykpIHtcXG4gICAgZGV0ZXJtaW5lciA9ICdtdXN0IG5vdCBiZSc7XFxuICAgIGV4cGVjdGVkID0gZXhwZWN0ZWQucmVwbGFjZSgvXm5vdCAvLCAnJyk7XFxuICB9IGVsc2Uge1xcbiAgICBkZXRlcm1pbmVyID0gJ211c3QgYmUnO1xcbiAgfVxcblxcbiAgdmFyIG1zZztcXG5cXG4gIGlmIChlbmRzV2l0aChuYW1lLCAnIGFyZ3VtZW50JykpIHtcXG4gICAgLy8gRm9yIGNhc2VzIGxpa2UgJ2ZpcnN0IGFyZ3VtZW50J1xcbiAgICBtc2cgPSBcXFwiVGhlIFxcXCIuY29uY2F0KG5hbWUsIFxcXCIgXFxcIikuY29uY2F0KGRldGVybWluZXIsIFxcXCIgXFxcIikuY29uY2F0KG9uZU9mKGV4cGVjdGVkLCAndHlwZScpKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciB0eXBlID0gaW5jbHVkZXMobmFtZSwgJy4nKSA/ICdwcm9wZXJ0eScgOiAnYXJndW1lbnQnO1xcbiAgICBtc2cgPSBcXFwiVGhlIFxcXFxcXFwiXFxcIi5jb25jYXQobmFtZSwgXFxcIlxcXFxcXFwiIFxcXCIpLmNvbmNhdCh0eXBlLCBcXFwiIFxcXCIpLmNvbmNhdChkZXRlcm1pbmVyLCBcXFwiIFxcXCIpLmNvbmNhdChvbmVPZihleHBlY3RlZCwgJ3R5cGUnKSk7XFxuICB9XFxuXFxuICBtc2cgKz0gXFxcIi4gUmVjZWl2ZWQgdHlwZSBcXFwiLmNvbmNhdCh0eXBlb2YgYWN0dWFsKTtcXG4gIHJldHVybiBtc2c7XFxufSwgVHlwZUVycm9yKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YnLCAnc3RyZWFtLnB1c2goKSBhZnRlciBFT0YnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEJywgZnVuY3Rpb24gKG5hbWUpIHtcXG4gIHJldHVybiAnVGhlICcgKyBuYW1lICsgJyBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkJztcXG59KTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFJywgJ1ByZW1hdHVyZSBjbG9zZScpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9ERVNUUk9ZRUQnLCBmdW5jdGlvbiAobmFtZSkge1xcbiAgcmV0dXJuICdDYW5ub3QgY2FsbCAnICsgbmFtZSArICcgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZCc7XFxufSk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfTVVMVElQTEVfQ0FMTEJBQ0snLCAnQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzJyk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX0NBTk5PVF9QSVBFJywgJ0Nhbm5vdCBwaXBlLCBub3QgcmVhZGFibGUnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EJywgJ3dyaXRlIGFmdGVyIGVuZCcpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUycsICdNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbScsIFR5cGVFcnJvcik7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfVU5LTk9XTl9FTkNPRElORycsIGZ1bmN0aW9uIChhcmcpIHtcXG4gIHJldHVybiAnVW5rbm93biBlbmNvZGluZzogJyArIGFyZztcXG59LCBUeXBlRXJyb3IpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCcsICdzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCcpO1xcbm1vZHVsZS5leHBvcnRzLmNvZGVzID0gY29kZXM7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5bGNuSnZjbk10WW5KdmQzTmxjaTVxY3o5allUZzFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMQ3REUVVFclF5d3dSRUZCTUVRc01rTkJRVEpETEdsRFFVRnBRenM3UVVGRmNrdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzFpWVhObEwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZaWEp5YjNKekxXSnliM2R6WlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm1aMWJtTjBhVzl1SUY5cGJtaGxjbWwwYzB4dmIzTmxLSE4xWWtOc1lYTnpMQ0J6ZFhCbGNrTnNZWE56S1NCN0lITjFZa05zWVhOekxuQnliM1J2ZEhsd1pTQTlJRTlpYW1WamRDNWpjbVZoZEdVb2MzVndaWEpEYkdGemN5NXdjbTkwYjNSNWNHVXBPeUJ6ZFdKRGJHRnpjeTV3Y205MGIzUjVjR1V1WTI5dWMzUnlkV04wYjNJZ1BTQnpkV0pEYkdGemN6c2djM1ZpUTJ4aGMzTXVYMTl3Y205MGIxOWZJRDBnYzNWd1pYSkRiR0Z6Y3pzZ2ZWeHVYRzUyWVhJZ1kyOWtaWE1nUFNCN2ZUdGNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSWEp5YjNKVWVYQmxLR052WkdVc0lHMWxjM05oWjJVc0lFSmhjMlVwSUh0Y2JpQWdhV1lnS0NGQ1lYTmxLU0I3WEc0Z0lDQWdRbUZ6WlNBOUlFVnljbTl5TzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z1oyVjBUV1Z6YzJGblpTaGhjbWN4TENCaGNtY3lMQ0JoY21jektTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRaWE56WVdkbElEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzFsYzNOaFoyVTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0WlhOellXZGxLR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCT2IyUmxSWEp5YjNJZ1BWeHVJQ0F2S2lOZlgxQlZVa1ZmWHlvdlhHNGdJR1oxYm1OMGFXOXVJQ2hmUW1GelpTa2dlMXh1SUNBZ0lGOXBibWhsY21sMGMweHZiM05sS0U1dlpHVkZjbkp2Y2l3Z1gwSmhjMlVwTzF4dVhHNGdJQ0FnWm5WdVkzUnBiMjRnVG05a1pVVnljbTl5S0dGeVp6RXNJR0Z5WnpJc0lHRnlaek1wSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJmUW1GelpTNWpZV3hzS0hSb2FYTXNJR2RsZEUxbGMzTmhaMlVvWVhKbk1Td2dZWEpuTWl3Z1lYSm5NeWtwSUh4OElIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlFNXZaR1ZGY25KdmNqdGNiaUFnZlNoQ1lYTmxLVHRjYmx4dUlDQk9iMlJsUlhKeWIzSXVjSEp2ZEc5MGVYQmxMbTVoYldVZ1BTQkNZWE5sTG01aGJXVTdYRzRnSUU1dlpHVkZjbkp2Y2k1d2NtOTBiM1I1Y0dVdVkyOWtaU0E5SUdOdlpHVTdYRzRnSUdOdlpHVnpXMk52WkdWZElEMGdUbTlrWlVWeWNtOXlPMXh1ZlNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZibTlrWldwekwyNXZaR1V2WW14dllpOTJNVEF1T0M0d0wyeHBZaTlwYm5SbGNtNWhiQzlsY25KdmNuTXVhbk5jYmx4dVhHNW1kVzVqZEdsdmJpQnZibVZQWmlobGVIQmxZM1JsWkN3Z2RHaHBibWNwSUh0Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29aWGh3WldOMFpXUXBLU0I3WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJR1Y0Y0dWamRHVmtMbXhsYm1kMGFEdGNiaUFnSUNCbGVIQmxZM1JsWkNBOUlHVjRjR1ZqZEdWa0xtMWhjQ2htZFc1amRHbHZiaUFvYVNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUZOMGNtbHVaeWhwS1R0Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdsbUlDaHNaVzRnUGlBeUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSnZibVVnYjJZZ1hDSXVZMjl1WTJGMEtIUm9hVzVuTENCY0lpQmNJaWt1WTI5dVkyRjBLR1Y0Y0dWamRHVmtMbk5zYVdObEtEQXNJR3hsYmlBdElERXBMbXB2YVc0b0p5d2dKeWtzSUZ3aUxDQnZjaUJjSWlrZ0t5QmxlSEJsWTNSbFpGdHNaVzRnTFNBeFhUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE5UFQwZ01pa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlGd2liMjVsSUc5bUlGd2lMbU52Ym1OaGRDaDBhR2x1Wnl3Z1hDSWdYQ0lwTG1OdmJtTmhkQ2hsZUhCbFkzUmxaRnN3WFN3Z1hDSWdiM0lnWENJcExtTnZibU5oZENobGVIQmxZM1JsWkZzeFhTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJjSW05bUlGd2lMbU52Ym1OaGRDaDBhR2x1Wnl3Z1hDSWdYQ0lwTG1OdmJtTmhkQ2hsZUhCbFkzUmxaRnN3WFNrN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJjSW05bUlGd2lMbU52Ym1OaGRDaDBhR2x1Wnl3Z1hDSWdYQ0lwTG1OdmJtTmhkQ2hUZEhKcGJtY29aWGh3WldOMFpXUXBLVHRjYmlBZ2ZWeHVmU0F2THlCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5S1lYWmhVMk55YVhCMEwxSmxabVZ5Wlc1alpTOUhiRzlpWVd4ZlQySnFaV04wY3k5VGRISnBibWN2YzNSaGNuUnpWMmwwYUZ4dVhHNWNibVoxYm1OMGFXOXVJSE4wWVhKMGMxZHBkR2dvYzNSeUxDQnpaV0Z5WTJnc0lIQnZjeWtnZTF4dUlDQnlaWFIxY200Z2MzUnlMbk4xWW5OMGNpZ2hjRzl6SUh4OElIQnZjeUE4SURBZ1B5QXdJRG9nSzNCdmN5d2djMlZoY21Ob0xteGxibWQwYUNrZ1BUMDlJSE5sWVhKamFEdGNibjBnTHk4Z2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlNtRjJZVk5qY21sd2RDOVNaV1psY21WdVkyVXZSMnh2WW1Gc1gwOWlhbVZqZEhNdlUzUnlhVzVuTDJWdVpITlhhWFJvWEc1Y2JseHVablZ1WTNScGIyNGdaVzVrYzFkcGRHZ29jM1J5TENCelpXRnlZMmdzSUhSb2FYTmZiR1Z1S1NCN1hHNGdJR2xtSUNoMGFHbHpYMnhsYmlBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhSb2FYTmZiR1Z1SUQ0Z2MzUnlMbXhsYm1kMGFDa2dlMXh1SUNBZ0lIUm9hWE5mYkdWdUlEMGdjM1J5TG14bGJtZDBhRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ6ZEhJdWMzVmljM1J5YVc1bktIUm9hWE5mYkdWdUlDMGdjMlZoY21Ob0xteGxibWQwYUN3Z2RHaHBjMTlzWlc0cElEMDlQU0J6WldGeVkyZzdYRzU5SUM4dklHaDBkSEJ6T2k4dlpHVjJaV3h2Y0dWeUxtMXZlbWxzYkdFdWIzSm5MMlZ1TFZWVEwyUnZZM012VjJWaUwwcGhkbUZUWTNKcGNIUXZVbVZtWlhKbGJtTmxMMGRzYjJKaGJGOVBZbXBsWTNSekwxTjBjbWx1Wnk5cGJtTnNkV1JsYzF4dVhHNWNibVoxYm1OMGFXOXVJR2x1WTJ4MVpHVnpLSE4wY2l3Z2MyVmhjbU5vTENCemRHRnlkQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSE4wWVhKMElDRTlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJSE4wWVhKMElEMGdNRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkR0Z5ZENBcklITmxZWEpqYUM1c1pXNW5kR2dnUGlCemRISXViR1Z1WjNSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQnpkSEl1YVc1a1pYaFBaaWh6WldGeVkyZ3NJSE4wWVhKMEtTQWhQVDBnTFRFN1hHNGdJSDFjYm4xY2JseHVZM0psWVhSbFJYSnliM0pVZVhCbEtDZEZVbEpmU1U1V1FVeEpSRjlQVUZSZlZrRk1WVVVuTENCbWRXNWpkR2x2YmlBb2JtRnRaU3dnZG1Gc2RXVXBJSHRjYmlBZ2NtVjBkWEp1SUNkVWFHVWdkbUZzZFdVZ1hDSW5JQ3NnZG1Gc2RXVWdLeUFuWENJZ2FYTWdhVzUyWVd4cFpDQm1iM0lnYjNCMGFXOXVJRndpSnlBcklHNWhiV1VnS3lBblhDSW5PMXh1ZlN3Z1ZIbHdaVVZ5Y205eUtUdGNibU55WldGMFpVVnljbTl5Vkhsd1pTZ25SVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVuTENCbWRXNWpkR2x2YmlBb2JtRnRaU3dnWlhod1pXTjBaV1FzSUdGamRIVmhiQ2tnZTF4dUlDQXZMeUJrWlhSbGNtMXBibVZ5T2lBbmJYVnpkQ0JpWlNjZ2IzSWdKMjExYzNRZ2JtOTBJR0psSjF4dUlDQjJZWElnWkdWMFpYSnRhVzVsY2p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdWNGNHVmpkR1ZrSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJ6ZEdGeWRITlhhWFJvS0dWNGNHVmpkR1ZrTENBbmJtOTBJQ2NwS1NCN1hHNGdJQ0FnWkdWMFpYSnRhVzVsY2lBOUlDZHRkWE4wSUc1dmRDQmlaU2M3WEc0Z0lDQWdaWGh3WldOMFpXUWdQU0JsZUhCbFkzUmxaQzV5WlhCc1lXTmxLQzllYm05MElDOHNJQ2NuS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCa1pYUmxjbTFwYm1WeUlEMGdKMjExYzNRZ1ltVW5PMXh1SUNCOVhHNWNiaUFnZG1GeUlHMXpaenRjYmx4dUlDQnBaaUFvWlc1a2MxZHBkR2dvYm1GdFpTd2dKeUJoY21kMWJXVnVkQ2NwS1NCN1hHNGdJQ0FnTHk4Z1JtOXlJR05oYzJWeklHeHBhMlVnSjJacGNuTjBJR0Z5WjNWdFpXNTBKMXh1SUNBZ0lHMXpaeUE5SUZ3aVZHaGxJRndpTG1OdmJtTmhkQ2h1WVcxbExDQmNJaUJjSWlrdVkyOXVZMkYwS0dSbGRHVnliV2x1WlhJc0lGd2lJRndpS1M1amIyNWpZWFFvYjI1bFQyWW9aWGh3WldOMFpXUXNJQ2QwZVhCbEp5a3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCMGVYQmxJRDBnYVc1amJIVmtaWE1vYm1GdFpTd2dKeTRuS1NBL0lDZHdjbTl3WlhKMGVTY2dPaUFuWVhKbmRXMWxiblFuTzF4dUlDQWdJRzF6WnlBOUlGd2lWR2hsSUZ4Y1hDSmNJaTVqYjI1allYUW9ibUZ0WlN3Z1hDSmNYRndpSUZ3aUtTNWpiMjVqWVhRb2RIbHdaU3dnWENJZ1hDSXBMbU52Ym1OaGRDaGtaWFJsY20xcGJtVnlMQ0JjSWlCY0lpa3VZMjl1WTJGMEtHOXVaVTltS0dWNGNHVmpkR1ZrTENBbmRIbHdaU2NwS1R0Y2JpQWdmVnh1WEc0Z0lHMXpaeUFyUFNCY0lpNGdVbVZqWldsMlpXUWdkSGx3WlNCY0lpNWpiMjVqWVhRb2RIbHdaVzltSUdGamRIVmhiQ2s3WEc0Z0lISmxkSFZ5YmlCdGMyYzdYRzU5TENCVWVYQmxSWEp5YjNJcE8xeHVZM0psWVhSbFJYSnliM0pVZVhCbEtDZEZVbEpmVTFSU1JVRk5YMUJWVTBoZlFVWlVSVkpmUlU5R0p5d2dKM04wY21WaGJTNXdkWE5vS0NrZ1lXWjBaWElnUlU5R0p5azdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVKeXdnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NtVjBkWEp1SUNkVWFHVWdKeUFySUc1aGJXVWdLeUFuSUcxbGRHaHZaQ0JwY3lCdWIzUWdhVzF3YkdWdFpXNTBaV1FuTzF4dWZTazdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5VFZGSkZRVTFmVUZKRlRVRlVWVkpGWDBOTVQxTkZKeXdnSjFCeVpXMWhkSFZ5WlNCamJHOXpaU2NwTzF4dVkzSmxZWFJsUlhKeWIzSlVlWEJsS0NkRlVsSmZVMVJTUlVGTlgwUkZVMVJTVDFsRlJDY3NJR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhKbGRIVnliaUFuUTJGdWJtOTBJR05oYkd3Z0p5QXJJRzVoYldVZ0t5QW5JR0ZtZEdWeUlHRWdjM1J5WldGdElIZGhjeUJrWlhOMGNtOTVaV1FuTzF4dWZTazdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3ljc0lDZERZV3hzWW1GamF5QmpZV3hzWldRZ2JYVnNkR2x3YkdVZ2RHbHRaWE1uS1R0Y2JtTnlaV0YwWlVWeWNtOXlWSGx3WlNnblJWSlNYMU5VVWtWQlRWOURRVTVPVDFSZlVFbFFSU2NzSUNkRFlXNXViM1FnY0dsd1pTd2dibTkwSUhKbFlXUmhZbXhsSnlrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlUVkZKRlFVMWZWMUpKVkVWZlFVWlVSVkpmUlU1RUp5d2dKM2R5YVhSbElHRm1kR1Z5SUdWdVpDY3BPMXh1WTNKbFlYUmxSWEp5YjNKVWVYQmxLQ2RGVWxKZlUxUlNSVUZOWDA1VlRFeGZWa0ZNVlVWVEp5d2dKMDFoZVNCdWIzUWdkM0pwZEdVZ2JuVnNiQ0IyWVd4MVpYTWdkRzhnYzNSeVpXRnRKeXdnVkhsd1pVVnljbTl5S1R0Y2JtTnlaV0YwWlVWeWNtOXlWSGx3WlNnblJWSlNYMVZPUzA1UFYwNWZSVTVEVDBSSlRrY25MQ0JtZFc1amRHbHZiaUFvWVhKbktTQjdYRzRnSUhKbGRIVnliaUFuVlc1cmJtOTNiaUJsYm1OdlpHbHVaem9nSnlBcklHRnlaenRjYm4wc0lGUjVjR1ZGY25KdmNpazdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5VFZGSkZRVTFmVlU1VFNFbEdWRjlCUmxSRlVsOUZUa1JmUlZaRlRsUW5MQ0FuYzNSeVpXRnRMblZ1YzJocFpuUW9LU0JoWm5SbGNpQmxibVFnWlhabGJuUW5LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpMbU52WkdWeklEMGdZMjlrWlhNN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24ocHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcbi8vIGEgZHVwbGV4IHN0cmVhbSBpcyBqdXN0IGEgc3RyZWFtIHRoYXQgaXMgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUuXFxuLy8gU2luY2UgSlMgZG9lc24ndCBoYXZlIG11bHRpcGxlIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UsIHRoaXMgY2xhc3NcXG4vLyBwcm90b3R5cGFsbHkgaW5oZXJpdHMgZnJvbSBSZWFkYWJsZSwgYW5kIHRoZW4gcGFyYXNpdGljYWxseSBmcm9tXFxuLy8gV3JpdGFibGUuXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgb2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIChvYmopIHtcXG4gIHZhciBrZXlzID0gW107XFxuXFxuICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XFxuICAgIGtleXMucHVzaChrZXkpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGtleXM7XFxufTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IER1cGxleDtcXG5cXG52YXIgUmVhZGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxcIik7XFxuXFxudmFyIFdyaXRhYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX3dyaXRhYmxlICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoRHVwbGV4LCBSZWFkYWJsZSk7XFxuXFxue1xcbiAgLy8gQWxsb3cgdGhlIGtleXMgYXJyYXkgdG8gYmUgR0MnZWQuXFxuICB2YXIga2V5cyA9IG9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKTtcXG5cXG4gIGZvciAodmFyIHYgPSAwOyB2IDwga2V5cy5sZW5ndGg7IHYrKykge1xcbiAgICB2YXIgbWV0aG9kID0ga2V5c1t2XTtcXG4gICAgaWYgKCFEdXBsZXgucHJvdG90eXBlW21ldGhvZF0pIER1cGxleC5wcm90b3R5cGVbbWV0aG9kXSA9IFdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBEdXBsZXgob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHJldHVybiBuZXcgRHVwbGV4KG9wdGlvbnMpO1xcbiAgUmVhZGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gIFdyaXRhYmxlLmNhbGwodGhpcywgb3B0aW9ucyk7XFxuICB0aGlzLmFsbG93SGFsZk9wZW4gPSB0cnVlO1xcblxcbiAgaWYgKG9wdGlvbnMpIHtcXG4gICAgaWYgKG9wdGlvbnMucmVhZGFibGUgPT09IGZhbHNlKSB0aGlzLnJlYWRhYmxlID0gZmFsc2U7XFxuICAgIGlmIChvcHRpb25zLndyaXRhYmxlID09PSBmYWxzZSkgdGhpcy53cml0YWJsZSA9IGZhbHNlO1xcblxcbiAgICBpZiAob3B0aW9ucy5hbGxvd0hhbGZPcGVuID09PSBmYWxzZSkge1xcbiAgICAgIHRoaXMuYWxsb3dIYWxmT3BlbiA9IGZhbHNlO1xcbiAgICAgIHRoaXMub25jZSgnZW5kJywgb25lbmQpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pO1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XFxuICB9XFxufSk7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUxlbmd0aCcsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RoO1xcbiAgfVxcbn0pOyAvLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXFxuXFxuZnVuY3Rpb24gb25lbmQoKSB7XFxuICAvLyBJZiB0aGUgd3JpdGFibGUgc2lkZSBlbmRlZCwgdGhlbiB3ZSdyZSBvay5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKSByZXR1cm47IC8vIG5vIG1vcmUgZGF0YSBjYW4gYmUgd3JpdHRlbi5cXG4gIC8vIEJ1dCBhbGxvdyBtb3JlIHdyaXRlcyB0byBoYXBwZW4gaW4gdGhpcyB0aWNrLlxcblxcbiAgcHJvY2Vzcy5uZXh0VGljayhvbkVuZE5ULCB0aGlzKTtcXG59XFxuXFxuZnVuY3Rpb24gb25FbmROVChzZWxmKSB7XFxuICBzZWxmLmVuZCgpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ2Rlc3Ryb3llZCcsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcXG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXFxuXFxuXFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICB9XFxufSk7XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOWtkWEJzWlhndWFuTS9ORFkxWkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRZVHRCUVVOaU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3TzBGQlJVRXNaVUZCWlN4dFFrRkJUeXhEUVVGRExIbEhRVUZ2UWpzN1FVRkZNME1zWlVGQlpTeHRRa0ZCVHl4RFFVRkRMSGxIUVVGdlFqczdRVUZGTTBNc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZiRUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeHBRa0ZCYVVJN1FVRkRiRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGT3p0QlFVVklPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTTdRVUZEZUVNN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5a2RYQnNaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JpOHZJR0VnWkhWd2JHVjRJSE4wY21WaGJTQnBjeUJxZFhOMElHRWdjM1J5WldGdElIUm9ZWFFnYVhNZ1ltOTBhQ0J5WldGa1lXSnNaU0JoYm1RZ2QzSnBkR0ZpYkdVdVhHNHZMeUJUYVc1alpTQktVeUJrYjJWemJpZDBJR2hoZG1VZ2JYVnNkR2x3YkdVZ2NISnZkRzkwZVhCaGJDQnBibWhsY21sMFlXNWpaU3dnZEdocGN5QmpiR0Z6YzF4dUx5OGdjSEp2ZEc5MGVYQmhiR3g1SUdsdWFHVnlhWFJ6SUdaeWIyMGdVbVZoWkdGaWJHVXNJR0Z1WkNCMGFHVnVJSEJoY21GemFYUnBZMkZzYkhrZ1puSnZiVnh1THk4Z1YzSnBkR0ZpYkdVdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnYjJKcVpXTjBTMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpJSHg4SUdaMWJtTjBhVzl1SUNodlltb3BJSHRjYmlBZ2RtRnlJR3RsZVhNZ1BTQmJYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnJaWGtnYVc0Z2IySnFLU0I3WEc0Z0lDQWdhMlY1Y3k1d2RYTm9LR3RsZVNrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2EyVjVjenRjYm4wN1hHNHZLand2Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSMWNHeGxlRHRjYmx4dWRtRnlJRkpsWVdSaFlteGxJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDNKbFlXUmhZbXhsSnlrN1hHNWNiblpoY2lCWGNtbDBZV0pzWlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21WaGJWOTNjbWwwWVdKc1pTY3BPMXh1WEc1eVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcEtFUjFjR3hsZUN3Z1VtVmhaR0ZpYkdVcE8xeHVYRzU3WEc0Z0lDOHZJRUZzYkc5M0lIUm9aU0JyWlhseklHRnljbUY1SUhSdklHSmxJRWRESjJWa0xseHVJQ0IyWVhJZ2EyVjVjeUE5SUc5aWFtVmpkRXRsZVhNb1YzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbEtUdGNibHh1SUNCbWIzSWdLSFpoY2lCMklEMGdNRHNnZGlBOElHdGxlWE11YkdWdVozUm9PeUIyS3lzcElIdGNiaUFnSUNCMllYSWdiV1YwYUc5a0lEMGdhMlY1YzF0MlhUdGNiaUFnSUNCcFppQW9JVVIxY0d4bGVDNXdjbTkwYjNSNWNHVmJiV1YwYUc5a1hTa2dSSFZ3YkdWNExuQnliM1J2ZEhsd1pWdHRaWFJvYjJSZElEMGdWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxXMjFsZEdodlpGMDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnUkhWd2JHVjRLRzl3ZEdsdmJuTXBJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVIxY0d4bGVDa3BJSEpsZEhWeWJpQnVaWGNnUkhWd2JHVjRLRzl3ZEdsdmJuTXBPMXh1SUNCU1pXRmtZV0pzWlM1allXeHNLSFJvYVhNc0lHOXdkR2x2Ym5NcE8xeHVJQ0JYY21sMFlXSnNaUzVqWVd4c0tIUm9hWE1zSUc5d2RHbHZibk1wTzF4dUlDQjBhR2x6TG1Gc2JHOTNTR0ZzWms5d1pXNGdQU0IwY25WbE8xeHVYRzRnSUdsbUlDaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVjbVZoWkdGaWJHVWdQVDA5SUdaaGJITmxLU0IwYUdsekxuSmxZV1JoWW14bElEMGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tHOXdkR2x2Ym5NdWQzSnBkR0ZpYkdVZ1BUMDlJR1poYkhObEtTQjBhR2x6TG5keWFYUmhZbXhsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3k1aGJHeHZkMGhoYkdaUGNHVnVJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWhiR3h2ZDBoaGJHWlBjR1Z1SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IwYUdsekxtOXVZMlVvSjJWdVpDY3NJRzl1Wlc1a0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNkM2NtbDBZV0pzWlVocFoyaFhZWFJsY2sxaGNtc25MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1ocFoyaFhZWFJsY2sxaGNtczdYRzRnSUgxY2JuMHBPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtFUjFjR3hsZUM1d2NtOTBiM1I1Y0dVc0lDZDNjbWwwWVdKc1pVSjFabVpsY2ljc0lIdGNiaUFnTHk4Z2JXRnJhVzVuSUdsMElHVjRjR3hwWTJsMElIUm9hWE1nY0hKdmNHVnlkSGtnYVhNZ2JtOTBJR1Z1ZFcxbGNtRmliR1ZjYmlBZ0x5OGdZbVZqWVhWelpTQnZkR2hsY25kcGMyVWdjMjl0WlNCd2NtOTBiM1I1Y0dVZ2JXRnVhWEIxYkdGMGFXOXVJR2x1WEc0Z0lDOHZJSFZ6WlhKc1lXNWtJSGRwYkd3Z1ptRnBiRnh1SUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdKaVlnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1blpYUkNkV1ptWlhJb0tUdGNiaUFnZlZ4dWZTazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1JIVndiR1Y0TG5CeWIzUnZkSGx3WlN3Z0ozZHlhWFJoWW14bFRHVnVaM1JvSnl3Z2UxeHVJQ0F2THlCdFlXdHBibWNnYVhRZ1pYaHdiR2xqYVhRZ2RHaHBjeUJ3Y205d1pYSjBlU0JwY3lCdWIzUWdaVzUxYldWeVlXSnNaVnh1SUNBdkx5QmlaV05oZFhObElHOTBhR1Z5ZDJselpTQnpiMjFsSUhCeWIzUnZkSGx3WlNCdFlXNXBjSFZzWVhScGIyNGdhVzVjYmlBZ0x5OGdkWE5sY214aGJtUWdkMmxzYkNCbVlXbHNYRzRnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUdkbGRDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNXNaVzVuZEdnN1hHNGdJSDFjYm4wcE95QXZMeUIwYUdVZ2JtOHRhR0ZzWmkxdmNHVnVJR1Z1Wm05eVkyVnlYRzVjYm1aMWJtTjBhVzl1SUc5dVpXNWtLQ2tnZTF4dUlDQXZMeUJKWmlCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlNCbGJtUmxaQ3dnZEdobGJpQjNaU2R5WlNCdmF5NWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRcElISmxkSFZ5YmpzZ0x5OGdibThnYlc5eVpTQmtZWFJoSUdOaGJpQmlaU0IzY21sMGRHVnVMbHh1SUNBdkx5QkNkWFFnWVd4c2IzY2diVzl5WlNCM2NtbDBaWE1nZEc4Z2FHRndjR1Z1SUdsdUlIUm9hWE1nZEdsamF5NWNibHh1SUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0c5dVJXNWtUbFFzSUhSb2FYTXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZia1Z1WkU1VUtITmxiR1lwSUh0Y2JpQWdjMlZzWmk1bGJtUW9LVHRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNka1pYTjBjbTk1WldRbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dUlDQjlMRnh1SUNCelpYUTZJR1oxYm1OMGFXOXVJSE5sZENoMllXeDFaU2tnZTF4dUlDQWdJQzh2SUhkbElHbG5ibTl5WlNCMGFHVWdkbUZzZFdVZ2FXWWdkR2hsSUhOMGNtVmhiVnh1SUNBZ0lDOHZJR2hoY3lCdWIzUWdZbVZsYmlCcGJtbDBhV0ZzYVhwbFpDQjVaWFJjYmlBZ0lDQnBaaUFvZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnWW1GamEzZGhjbVFnWTI5dGNHRjBhV0pwYkdsMGVTd2dkR2hsSUhWelpYSWdhWE1nWlhod2JHbGphWFJzZVZ4dUlDQWdJQzh2SUcxaGJtRm5hVzVuSUdSbGMzUnliM2xsWkZ4dVhHNWNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFpoYkhWbE8xeHVJQ0FnSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cXG4vLyBiYXNpY2FsbHkganVzdCB0aGUgbW9zdCBtaW5pbWFsIHNvcnQgb2YgVHJhbnNmb3JtIHN0cmVhbS5cXG4vLyBFdmVyeSB3cml0dGVuIGNodW5rIGdldHMgb3V0cHV0IGFzLWlzLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gUGFzc1Rocm91Z2g7XFxuXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV90cmFuc2Zvcm0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XFxuXFxuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbn1cXG5cXG5QYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihudWxsLCBjaHVuayk7XFxufTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5d1lYTnpkR2h5YjNWbmFDNXFjejloTlRnMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFlUczdRVUZGWWpzN1FVRkZRU3huUWtGQlowSXNiVUpCUVU4c1EwRkJReXd5UjBGQmNVSTdPMEZCUlRkRExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3hDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl3WVhOemRHaHliM1ZuYUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFTnZjSGx5YVdkb2RDQktiM2xsYm5Rc0lFbHVZeTRnWVc1a0lHOTBhR1Z5SUU1dlpHVWdZMjl1ZEhKcFluVjBiM0p6TGx4dUx5OWNiaTh2SUZCbGNtMXBjM05wYjI0Z2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRc0lHWnlaV1VnYjJZZ1kyaGhjbWRsTENCMGJ5QmhibmtnY0dWeWMyOXVJRzlpZEdGcGJtbHVaeUJoWEc0dkx5QmpiM0I1SUc5bUlIUm9hWE1nYzI5bWRIZGhjbVVnWVc1a0lHRnpjMjlqYVdGMFpXUWdaRzlqZFcxbGJuUmhkR2x2YmlCbWFXeGxjeUFvZEdobFhHNHZMeUJjSWxOdlpuUjNZWEpsWENJcExDQjBieUJrWldGc0lHbHVJSFJvWlNCVGIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhKbGMzUnlhV04wYVc5dUxDQnBibU5zZFdScGJtZGNiaTh2SUhkcGRHaHZkWFFnYkdsdGFYUmhkR2x2YmlCMGFHVWdjbWxuYUhSeklIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0J0WlhKblpTd2djSFZpYkdsemFDeGNiaTh2SUdScGMzUnlhV0oxZEdVc0lITjFZbXhwWTJWdWMyVXNJR0Z1WkM5dmNpQnpaV3hzSUdOdmNHbGxjeUJ2WmlCMGFHVWdVMjltZEhkaGNtVXNJR0Z1WkNCMGJ5QndaWEp0YVhSY2JpOHZJSEJsY25OdmJuTWdkRzhnZDJodmJTQjBhR1VnVTI5bWRIZGhjbVVnYVhNZ1puVnlibWx6YUdWa0lIUnZJR1J2SUhOdkxDQnpkV0pxWldOMElIUnZJSFJvWlZ4dUx5OGdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk02WEc0dkwxeHVMeThnVkdobElHRmliM1psSUdOdmNIbHlhV2RvZENCdWIzUnBZMlVnWVc1a0lIUm9hWE1nY0dWeWJXbHpjMmx2YmlCdWIzUnBZMlVnYzJoaGJHd2dZbVVnYVc1amJIVmtaV1JjYmk4dklHbHVJR0ZzYkNCamIzQnBaWE1nYjNJZ2MzVmljM1JoYm5ScFlXd2djRzl5ZEdsdmJuTWdiMllnZEdobElGTnZablIzWVhKbExseHVMeTljYmk4dklGUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJc0lGZEpWRWhQVlZRZ1YwRlNVa0ZPVkZrZ1QwWWdRVTVaSUV0SlRrUXNJRVZZVUZKRlUxTmNiaTh2SUU5U0lFbE5VRXhKUlVRc0lFbE9RMHhWUkVsT1J5QkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOGdWRWhGSUZkQlVsSkJUbFJKUlZNZ1QwWmNiaTh2SUUxRlVrTklRVTVVUVVKSlRFbFVXU3dnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVTVFSUU1UFRrbE9SbEpKVGtkRlRVVk9WQzRnU1U1Y2JpOHZJRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSlRJRTlTSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUVOTVFVbE5MRnh1THk4Z1JFRk5RVWRGVXlCUFVpQlBWRWhGVWlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCVVQxSlVJRTlTWEc0dkx5QlBWRWhGVWxkSlUwVXNJRUZTU1ZOSlRrY2dSbEpQVFN3Z1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVTA5R1ZGZEJVa1VnVDFJZ1ZFaEZYRzR2THlCVlUwVWdUMUlnVDFSSVJWSWdSRVZCVEVsT1IxTWdTVTRnVkVoRklGTlBSbFJYUVZKRkxseHVMeThnWVNCd1lYTnpkR2h5YjNWbmFDQnpkSEpsWVcwdVhHNHZMeUJpWVhOcFkyRnNiSGtnYW5WemRDQjBhR1VnYlc5emRDQnRhVzVwYldGc0lITnZjblFnYjJZZ1ZISmhibk5tYjNKdElITjBjbVZoYlM1Y2JpOHZJRVYyWlhKNUlIZHlhWFIwWlc0Z1kyaDFibXNnWjJWMGN5QnZkWFJ3ZFhRZ1lYTXRhWE11WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVUdGemMxUm9jbTkxWjJnN1hHNWNiblpoY2lCVWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDY3VMMTl6ZEhKbFlXMWZkSEpoYm5ObWIzSnRKeWs3WEc1Y2JuSmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5a29VR0Z6YzFSb2NtOTFaMmdzSUZSeVlXNXpabTl5YlNrN1hHNWNibVoxYm1OMGFXOXVJRkJoYzNOVWFISnZkV2RvS0c5d2RHbHZibk1wSUh0Y2JpQWdhV1lnS0NFb2RHaHBjeUJwYm5OMFlXNWpaVzltSUZCaGMzTlVhSEp2ZFdkb0tTa2djbVYwZFhKdUlHNWxkeUJRWVhOelZHaHliM1ZuYUNodmNIUnBiMjV6S1R0Y2JpQWdWSEpoYm5ObWIzSnRMbU5oYkd3b2RHaHBjeXdnYjNCMGFXOXVjeWs3WEc1OVhHNWNibEJoYzNOVWFISnZkV2RvTG5CeWIzUnZkSGx3WlM1ZmRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwSUh0Y2JpQWdZMklvYm5Wc2JDd2dZMmgxYm1zcE8xeHVmVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7Ly8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBSZWFkYWJsZTtcXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBEdXBsZXg7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuUmVhZGFibGUuUmVhZGFibGVTdGF0ZSA9IFJlYWRhYmxlU3RhdGU7XFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgRUUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBldmVudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanNcXFwiKS5FdmVudEVtaXR0ZXI7XFxuXFxudmFyIEVFbGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uIEVFbGlzdGVuZXJDb3VudChlbWl0dGVyLCB0eXBlKSB7XFxuICByZXR1cm4gZW1pdHRlci5saXN0ZW5lcnModHlwZSkubGVuZ3RoO1xcbn07XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG5cXG52YXIgU3RyZWFtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5cXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuXFxudmFyIE91clVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcXG5cXG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XFxuICByZXR1cm4gQnVmZmVyLmZyb20oY2h1bmspO1xcbn1cXG5cXG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xcbiAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihvYmopIHx8IG9iaiBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXk7XFxufVxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIGRlYnVnVXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHV0aWwgKi8gMCk7XFxuXFxudmFyIGRlYnVnO1xcblxcbmlmIChkZWJ1Z1V0aWwgJiYgZGVidWdVdGlsLmRlYnVnbG9nKSB7XFxuICBkZWJ1ZyA9IGRlYnVnVXRpbC5kZWJ1Z2xvZygnc3RyZWFtJyk7XFxufSBlbHNlIHtcXG4gIGRlYnVnID0gZnVuY3Rpb24gZGVidWcoKSB7fTtcXG59XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlckxpc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXFxcIik7XFxuXFxudmFyIGRlc3Ryb3lJbXBsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcXFwiKTtcXG5cXG52YXIgX3JlcXVpcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvc3RhdGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzXFxcIiksXFxuICAgIGdldEhpZ2hXYXRlck1hcmsgPSBfcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrO1xcblxcbnZhciBfcmVxdWlyZSRjb2RlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2Vycm9ycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcXFwiKS5jb2RlcyxcXG4gICAgRVJSX0lOVkFMSURfQVJHX1RZUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRSxcXG4gICAgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRiA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YsXFxuICAgIEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEID0gX3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsXFxuICAgIEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UOyAvLyBMYXp5IGxvYWRlZCB0byBpbXByb3ZlIHRoZSBzdGFydHVwIHBlcmZvcm1hbmNlLlxcblxcblxcbnZhciBTdHJpbmdEZWNvZGVyO1xcbnZhciBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I7XFxudmFyIGZyb207XFxuXFxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKShSZWFkYWJsZSwgU3RyZWFtKTtcXG5cXG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcXG52YXIga1Byb3h5RXZlbnRzID0gWydlcnJvcicsICdjbG9zZScsICdkZXN0cm95JywgJ3BhdXNlJywgJ3Jlc3VtZSddO1xcblxcbmZ1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlbWl0dGVyLCBldmVudCwgZm4pIHtcXG4gIC8vIFNhZGx5IHRoaXMgaXMgbm90IGNhY2hlYWJsZSBhcyBzb21lIGxpYnJhcmllcyBidW5kbGUgdGhlaXIgb3duXFxuICAvLyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uIHdpdGggdGhlbS5cXG4gIGlmICh0eXBlb2YgZW1pdHRlci5wcmVwZW5kTGlzdGVuZXIgPT09ICdmdW5jdGlvbicpIHJldHVybiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lcihldmVudCwgZm4pOyAvLyBUaGlzIGlzIGEgaGFjayB0byBtYWtlIHN1cmUgdGhhdCBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgYW55XFxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcXG4gIC8vIHRvIGNvbnRpbnVlIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBOb2RlLmpzIHRoYXQgZG8gbm90IGluY2x1ZGVcXG4gIC8vIHRoZSBwcmVwZW5kTGlzdGVuZXIoKSBtZXRob2QuIFRoZSBnb2FsIGlzIHRvIGV2ZW50dWFsbHkgcmVtb3ZlIHRoaXMgaGFjay5cXG5cXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoQXJyYXkuaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xcbn1cXG5cXG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSwgaXNEdXBsZXgpIHtcXG4gIER1cGxleCA9IER1cGxleCB8fCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fZHVwbGV4ICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBEdXBsZXggc3RyZWFtcyBhcmUgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUsIGJ1dCBzaGFyZVxcbiAgLy8gdGhlIHNhbWUgb3B0aW9ucyBvYmplY3QuXFxuICAvLyBIb3dldmVyLCBzb21lIGNhc2VzIHJlcXVpcmUgc2V0dGluZyBvcHRpb25zIHRvIGRpZmZlcmVudFxcbiAgLy8gdmFsdWVzIGZvciB0aGUgcmVhZGFibGUgYW5kIHRoZSB3cml0YWJsZSBzaWRlcyBvZiB0aGUgZHVwbGV4IHN0cmVhbS5cXG4gIC8vIFRoZXNlIG9wdGlvbnMgY2FuIGJlIHByb3ZpZGVkIHNlcGFyYXRlbHkgYXMgcmVhZGFibGVYWFggYW5kIHdyaXRhYmxlWFhYLlxcblxcbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDsgLy8gb2JqZWN0IHN0cmVhbSBmbGFnLiBVc2VkIHRvIG1ha2UgcmVhZChuKSBpZ25vcmUgbiBhbmQgdG9cXG4gIC8vIG1ha2UgYWxsIHRoZSBidWZmZXIgbWVyZ2luZyBhbmQgbGVuZ3RoIGNoZWNrcyBnbyBhd2F5XFxuXFxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy5yZWFkYWJsZU9iamVjdE1vZGU7IC8vIHRoZSBwb2ludCBhdCB3aGljaCBpdCBzdG9wcyBjYWxsaW5nIF9yZWFkKCkgdG8gZmlsbCB0aGUgYnVmZmVyXFxuICAvLyBOb3RlOiAwIGlzIGEgdmFsaWQgdmFsdWUsIG1lYW5zIFxcXCJkb24ndCBjYWxsIF9yZWFkIHByZWVtcHRpdmVseSBldmVyXFxcIlxcblxcbiAgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZ2V0SGlnaFdhdGVyTWFyayh0aGlzLCBvcHRpb25zLCAncmVhZGFibGVIaWdoV2F0ZXJNYXJrJywgaXNEdXBsZXgpOyAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxcbiAgLy8gbGlua2VkIGxpc3QgY2FuIHJlbW92ZSBlbGVtZW50cyBmcm9tIHRoZSBiZWdpbm5pbmcgZmFzdGVyIHRoYW5cXG4gIC8vIGFycmF5LnNoaWZ0KClcXG5cXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcXG4gIHRoaXMubGVuZ3RoID0gMDtcXG4gIHRoaXMucGlwZXMgPSBudWxsO1xcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcXG4gIHRoaXMuZmxvd2luZyA9IG51bGw7XFxuICB0aGlzLmVuZGVkID0gZmFsc2U7XFxuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcXG4gIHRoaXMucmVhZGluZyA9IGZhbHNlOyAvLyBhIGZsYWcgdG8gYmUgYWJsZSB0byB0ZWxsIGlmIHRoZSBldmVudCAncmVhZGFibGUnLydkYXRhJyBpcyBlbWl0dGVkXFxuICAvLyBpbW1lZGlhdGVseSwgb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZVxcbiAgLy8gYW55IGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFxcXCJsYXRlclxcXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXFxuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3QgcmVhZCBjYWxsLlxcblxcbiAgdGhpcy5zeW5jID0gdHJ1ZTsgLy8gd2hlbmV2ZXIgd2UgcmV0dXJuIG51bGwsIHRoZW4gd2Ugc2V0IGEgZmxhZyB0byBzYXlcXG4gIC8vIHRoYXQgd2UncmUgYXdhaXRpbmcgYSAncmVhZGFibGUnIGV2ZW50IGVtaXNzaW9uLlxcblxcbiAgdGhpcy5uZWVkUmVhZGFibGUgPSBmYWxzZTtcXG4gIHRoaXMuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICB0aGlzLnJlYWRhYmxlTGlzdGVuaW5nID0gZmFsc2U7XFxuICB0aGlzLnJlc3VtZVNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgdGhpcy5wYXVzZWQgPSB0cnVlOyAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxcblxcbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7IC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZW5kJyAoYW5kIHBvdGVudGlhbGx5ICdmaW5pc2gnKVxcblxcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTsgLy8gaGFzIGl0IGJlZW4gZGVzdHJveWVkXFxuXFxuICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlOyAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXFxuICAvLyBlbmNvZGluZyBpcyAnYmluYXJ5JyBzbyB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBjb25maWd1cmFibGUuXFxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaW4gdGhlIHVuaXZlcnNlIHVzZXMgJ3V0ZjgnLCB0aG91Z2guXFxuXFxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JzsgLy8gdGhlIG51bWJlciBvZiB3cml0ZXJzIHRoYXQgYXJlIGF3YWl0aW5nIGEgZHJhaW4gZXZlbnQgaW4gLnBpcGUoKXNcXG5cXG4gIHRoaXMuYXdhaXREcmFpbiA9IDA7IC8vIGlmIHRydWUsIGEgbWF5YmVSZWFkTW9yZSBoYXMgYmVlbiBzY2hlZHVsZWRcXG5cXG4gIHRoaXMucmVhZGluZ01vcmUgPSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlciA9IG51bGw7XFxuICB0aGlzLmVuY29kaW5nID0gbnVsbDtcXG5cXG4gIGlmIChvcHRpb25zLmVuY29kaW5nKSB7XFxuICAgIGlmICghU3RyaW5nRGVjb2RlcikgU3RyaW5nRGVjb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHN0cmluZ19kZWNvZGVyLyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzXFxcIikuU3RyaW5nRGVjb2RlcjtcXG4gICAgdGhpcy5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIob3B0aW9ucy5lbmNvZGluZyk7XFxuICAgIHRoaXMuZW5jb2RpbmcgPSBvcHRpb25zLmVuY29kaW5nO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBSZWFkYWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKSByZXR1cm4gbmV3IFJlYWRhYmxlKG9wdGlvbnMpOyAvLyBDaGVja2luZyBmb3IgYSBTdHJlYW0uRHVwbGV4IGluc3RhbmNlIGlzIGZhc3RlciBoZXJlIGluc3RlYWQgb2YgaW5zaWRlXFxuICAvLyB0aGUgUmVhZGFibGVTdGF0ZSBjb25zdHJ1Y3RvciwgYXQgbGVhc3Qgd2l0aCBWOCA2LjVcXG5cXG4gIHZhciBpc0R1cGxleCA9IHRoaXMgaW5zdGFuY2VvZiBEdXBsZXg7XFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlID0gbmV3IFJlYWRhYmxlU3RhdGUob3B0aW9ucywgdGhpcywgaXNEdXBsZXgpOyAvLyBsZWdhY3lcXG5cXG4gIHRoaXMucmVhZGFibGUgPSB0cnVlO1xcblxcbiAgaWYgKG9wdGlvbnMpIHtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLnJlYWQgPT09ICdmdW5jdGlvbicpIHRoaXMuX3JlYWQgPSBvcHRpb25zLnJlYWQ7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xcbiAgfVxcblxcbiAgU3RyZWFtLmNhbGwodGhpcyk7XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICghdGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfSAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XFxuICAgIC8vIG1hbmFnaW5nIGRlc3Ryb3llZFxcblxcblxcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xcbiAgfVxcbn0pO1xcblJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLnVuZGVzdHJveTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgY2IoZXJyKTtcXG59OyAvLyBNYW51YWxseSBzaG92ZSBzb21ldGhpbmcgaW50byB0aGUgcmVhZCgpIGJ1ZmZlci5cXG4vLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB0aGUgaGlnaFdhdGVyTWFyayBoYXMgbm90IGJlZW4gaGl0IHlldCxcXG4vLyBzaW1pbGFyIHRvIGhvdyBXcml0YWJsZS53cml0ZSgpIHJldHVybnMgdHJ1ZSBpZiB5b3Ugc2hvdWxkXFxuLy8gd3JpdGUoKSBzb21lIG1vcmUuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHNraXBDaHVua0NoZWNrO1xcblxcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlKSB7XFxuICAgIGlmICh0eXBlb2YgY2h1bmsgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZyB8fCBzdGF0ZS5kZWZhdWx0RW5jb2Rpbmc7XFxuXFxuICAgICAgaWYgKGVuY29kaW5nICE9PSBzdGF0ZS5lbmNvZGluZykge1xcbiAgICAgICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xcbiAgICAgICAgZW5jb2RpbmcgPSAnJztcXG4gICAgICB9XFxuXFxuICAgICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBza2lwQ2h1bmtDaGVjayA9IHRydWU7XFxuICB9XFxuXFxuICByZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLCBjaHVuaywgZW5jb2RpbmcsIGZhbHNlLCBza2lwQ2h1bmtDaGVjayk7XFxufTsgLy8gVW5zaGlmdCBzaG91bGQgKmFsd2F5cyogYmUgc29tZXRoaW5nIGRpcmVjdGx5IG91dCBvZiByZWFkKClcXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uIChjaHVuaykge1xcbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIG51bGwsIHRydWUsIGZhbHNlKTtcXG59O1xcblxcbmZ1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoc3RyZWFtLCBjaHVuaywgZW5jb2RpbmcsIGFkZFRvRnJvbnQsIHNraXBDaHVua0NoZWNrKSB7XFxuICBkZWJ1ZygncmVhZGFibGVBZGRDaHVuaycsIGNodW5rKTtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xcbiAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuICAgIG9uRW9mQ2h1bmsoc3RyZWFtLCBzdGF0ZSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgZXI7XFxuICAgIGlmICghc2tpcENodW5rQ2hlY2spIGVyID0gY2h1bmtJbnZhbGlkKHN0YXRlLCBjaHVuayk7XFxuXFxuICAgIGlmIChlcikge1xcbiAgICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xcbiAgICB9IGVsc2UgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsgJiYgY2h1bmsubGVuZ3RoID4gMCkge1xcbiAgICAgIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmICFzdGF0ZS5vYmplY3RNb2RlICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihjaHVuaykgIT09IEJ1ZmZlci5wcm90b3R5cGUpIHtcXG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XFxuICAgICAgICBpZiAoc3RhdGUuZW5kRW1pdHRlZCkgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBuZXcgRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCgpKTtlbHNlIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCB0cnVlKTtcXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmVuZGVkKSB7XFxuICAgICAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIG5ldyBFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GKCkpO1xcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUuZGVzdHJveWVkKSB7XFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcXG5cXG4gICAgICAgIGlmIChzdGF0ZS5kZWNvZGVyICYmICFlbmNvZGluZykge1xcbiAgICAgICAgICBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xcbiAgICAgICAgICBpZiAoc3RhdGUub2JqZWN0TW9kZSB8fCBjaHVuay5sZW5ndGggIT09IDApIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7ZWxzZSBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoIWFkZFRvRnJvbnQpIHtcXG4gICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuICAgICAgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcbiAgfSAvLyBXZSBjYW4gcHVzaCBtb3JlIGRhdGEgaWYgd2UgYXJlIGJlbG93IHRoZSBoaWdoV2F0ZXJNYXJrLlxcbiAgLy8gQWxzbywgaWYgd2UgaGF2ZSBubyBkYXRhIHlldCwgd2UgY2FuIHN0YW5kIHNvbWUgbW9yZSBieXRlcy5cXG4gIC8vIFRoaXMgaXMgdG8gd29yayBhcm91bmQgY2FzZXMgd2hlcmUgaHdtPTAsIHN1Y2ggYXMgdGhlIHJlcGwuXFxuXFxuXFxuICByZXR1cm4gIXN0YXRlLmVuZGVkICYmIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCk7XFxufVxcblxcbmZ1bmN0aW9uIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBhZGRUb0Zyb250KSB7XFxuICBpZiAoc3RhdGUuZmxvd2luZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgIXN0YXRlLnN5bmMpIHtcXG4gICAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XFxuICAgIHN0cmVhbS5lbWl0KCdkYXRhJywgY2h1bmspO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gdXBkYXRlIHRoZSBidWZmZXIgaW5mby5cXG4gICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xcbiAgICBpZiAoYWRkVG9Gcm9udCkgc3RhdGUuYnVmZmVyLnVuc2hpZnQoY2h1bmspO2Vsc2Ugc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xcbiAgICBpZiAoc3RhdGUubmVlZFJlYWRhYmxlKSBlbWl0UmVhZGFibGUoc3RyZWFtKTtcXG4gIH1cXG5cXG4gIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XFxufVxcblxcbmZ1bmN0aW9uIGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspIHtcXG4gIHZhciBlcjtcXG5cXG4gIGlmICghX2lzVWludDhBcnJheShjaHVuaykgJiYgdHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiBjaHVuayAhPT0gdW5kZWZpbmVkICYmICFzdGF0ZS5vYmplY3RNb2RlKSB7XFxuICAgIGVyID0gbmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKCdjaHVuaycsIFsnc3RyaW5nJywgJ0J1ZmZlcicsICdVaW50OEFycmF5J10sIGNodW5rKTtcXG4gIH1cXG5cXG4gIHJldHVybiBlcjtcXG59XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLmlzUGF1c2VkID0gZnVuY3Rpb24gKCkge1xcbiAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9PT0gZmFsc2U7XFxufTsgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nID0gZnVuY3Rpb24gKGVuYykge1xcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIvICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanNcXFwiKS5TdHJpbmdEZWNvZGVyO1xcbiAgdmFyIGRlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihlbmMpO1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gZGVjb2RlcjsgLy8gSWYgc2V0RW5jb2RpbmcobnVsbCksIGRlY29kZXIuZW5jb2RpbmcgZXF1YWxzIHV0ZjhcXG5cXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2RpbmcgPSB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXIuZW5jb2Rpbmc7IC8vIEl0ZXJhdGUgb3ZlciBjdXJyZW50IGJ1ZmZlciB0byBjb252ZXJ0IGFscmVhZHkgc3RvcmVkIEJ1ZmZlcnM6XFxuXFxuICB2YXIgcCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQ7XFxuICB2YXIgY29udGVudCA9ICcnO1xcblxcbiAgd2hpbGUgKHAgIT09IG51bGwpIHtcXG4gICAgY29udGVudCArPSBkZWNvZGVyLndyaXRlKHAuZGF0YSk7XFxuICAgIHAgPSBwLm5leHQ7XFxuICB9XFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5jbGVhcigpO1xcblxcbiAgaWYgKGNvbnRlbnQgIT09ICcnKSB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5wdXNoKGNvbnRlbnQpO1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGggPSBjb250ZW50Lmxlbmd0aDtcXG4gIHJldHVybiB0aGlzO1xcbn07IC8vIERvbid0IHJhaXNlIHRoZSBod20gPiAxR0JcXG5cXG5cXG52YXIgTUFYX0hXTSA9IDB4NDAwMDAwMDA7XFxuXFxuZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobikge1xcbiAgaWYgKG4gPj0gTUFYX0hXTSkge1xcbiAgICAvLyBUT0RPKHJvbmFnKTogVGhyb3cgRVJSX1ZBTFVFX09VVF9PRl9SQU5HRS5cXG4gICAgbiA9IE1BWF9IV007XFxuICB9IGVsc2Uge1xcbiAgICAvLyBHZXQgdGhlIG5leHQgaGlnaGVzdCBwb3dlciBvZiAyIHRvIHByZXZlbnQgaW5jcmVhc2luZyBod20gZXhjZXNzaXZlbHkgaW5cXG4gICAgLy8gdGlueSBhbW91bnRzXFxuICAgIG4tLTtcXG4gICAgbiB8PSBuID4+PiAxO1xcbiAgICBuIHw9IG4gPj4+IDI7XFxuICAgIG4gfD0gbiA+Pj4gNDtcXG4gICAgbiB8PSBuID4+PiA4O1xcbiAgICBuIHw9IG4gPj4+IDE2O1xcbiAgICBuKys7XFxuICB9XFxuXFxuICByZXR1cm4gbjtcXG59IC8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXFxuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cXG5cXG5cXG5mdW5jdGlvbiBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKSB7XFxuICBpZiAobiA8PSAwIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkgcmV0dXJuIDA7XFxuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0dXJuIDE7XFxuXFxuICBpZiAobiAhPT0gbikge1xcbiAgICAvLyBPbmx5IGZsb3cgb25lIGJ1ZmZlciBhdCBhIHRpbWVcXG4gICAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoKSByZXR1cm4gc3RhdGUuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg7ZWxzZSByZXR1cm4gc3RhdGUubGVuZ3RoO1xcbiAgfSAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cXG5cXG5cXG4gIGlmIChuID4gc3RhdGUuaGlnaFdhdGVyTWFyaykgc3RhdGUuaGlnaFdhdGVyTWFyayA9IGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pO1xcbiAgaWYgKG4gPD0gc3RhdGUubGVuZ3RoKSByZXR1cm4gbjsgLy8gRG9uJ3QgaGF2ZSBlbm91Z2hcXG5cXG4gIGlmICghc3RhdGUuZW5kZWQpIHtcXG4gICAgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcXG4gICAgcmV0dXJuIDA7XFxuICB9XFxuXFxuICByZXR1cm4gc3RhdGUubGVuZ3RoO1xcbn0gLy8geW91IGNhbiBvdmVycmlkZSBlaXRoZXIgdGhpcyBtZXRob2QsIG9yIHRoZSBhc3luYyBfcmVhZChuKSBiZWxvdy5cXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICBkZWJ1ZygncmVhZCcsIG4pO1xcbiAgbiA9IHBhcnNlSW50KG4sIDEwKTtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgbk9yaWcgPSBuO1xcbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlOyAvLyBpZiB3ZSdyZSBkb2luZyByZWFkKDApIHRvIHRyaWdnZXIgYSByZWFkYWJsZSBldmVudCwgYnV0IHdlXFxuICAvLyBhbHJlYWR5IGhhdmUgYSBidW5jaCBvZiBkYXRhIGluIHRoZSBidWZmZXIsIHRoZW4ganVzdCB0cmlnZ2VyXFxuICAvLyB0aGUgJ3JlYWRhYmxlJyBldmVudCBhbmQgbW92ZSBvbi5cXG5cXG4gIGlmIChuID09PSAwICYmIHN0YXRlLm5lZWRSZWFkYWJsZSAmJiAoKHN0YXRlLmhpZ2hXYXRlck1hcmsgIT09IDAgPyBzdGF0ZS5sZW5ndGggPj0gc3RhdGUuaGlnaFdhdGVyTWFyayA6IHN0YXRlLmxlbmd0aCA+IDApIHx8IHN0YXRlLmVuZGVkKSkge1xcbiAgICBkZWJ1ZygncmVhZDogZW1pdFJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO2Vsc2UgZW1pdFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIG4gPSBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKTsgLy8gaWYgd2UndmUgZW5kZWQsIGFuZCB3ZSdyZSBub3cgY2xlYXIsIHRoZW4gZmluaXNoIGl0IHVwLlxcblxcbiAgaWYgKG4gPT09IDAgJiYgc3RhdGUuZW5kZWQpIHtcXG4gICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgZW5kUmVhZGFibGUodGhpcyk7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSAvLyBBbGwgdGhlIGFjdHVhbCBjaHVuayBnZW5lcmF0aW9uIGxvZ2ljIG5lZWRzIHRvIGJlXFxuICAvLyAqYmVsb3cqIHRoZSBjYWxsIHRvIF9yZWFkLiAgVGhlIHJlYXNvbiBpcyB0aGF0IGluIGNlcnRhaW5cXG4gIC8vIHN5bnRoZXRpYyBzdHJlYW0gY2FzZXMsIHN1Y2ggYXMgcGFzc3Rocm91Z2ggc3RyZWFtcywgX3JlYWRcXG4gIC8vIG1heSBiZSBhIGNvbXBsZXRlbHkgc3luY2hyb25vdXMgb3BlcmF0aW9uIHdoaWNoIG1heSBjaGFuZ2VcXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgcmVhZCBidWZmZXIsIHByb3ZpZGluZyBlbm91Z2ggZGF0YSB3aGVuXFxuICAvLyBiZWZvcmUgdGhlcmUgd2FzICpub3QqIGVub3VnaC5cXG4gIC8vXFxuICAvLyBTbywgdGhlIHN0ZXBzIGFyZTpcXG4gIC8vIDEuIEZpZ3VyZSBvdXQgd2hhdCB0aGUgc3RhdGUgb2YgdGhpbmdzIHdpbGwgYmUgYWZ0ZXIgd2UgZG9cXG4gIC8vIGEgcmVhZCBmcm9tIHRoZSBidWZmZXIuXFxuICAvL1xcbiAgLy8gMi4gSWYgdGhhdCByZXN1bHRpbmcgc3RhdGUgd2lsbCB0cmlnZ2VyIGEgX3JlYWQsIHRoZW4gY2FsbCBfcmVhZC5cXG4gIC8vIE5vdGUgdGhhdCB0aGlzIG1heSBiZSBhc3luY2hyb25vdXMsIG9yIHN5bmNocm9ub3VzLiAgWWVzLCBpdCBpc1xcbiAgLy8gZGVlcGx5IHVnbHkgdG8gd3JpdGUgQVBJcyB0aGlzIHdheSwgYnV0IHRoYXQgc3RpbGwgZG9lc24ndCBtZWFuXFxuICAvLyB0aGF0IHRoZSBSZWFkYWJsZSBjbGFzcyBzaG91bGQgYmVoYXZlIGltcHJvcGVybHksIGFzIHN0cmVhbXMgYXJlXFxuICAvLyBkZXNpZ25lZCB0byBiZSBzeW5jL2FzeW5jIGFnbm9zdGljLlxcbiAgLy8gVGFrZSBub3RlIGlmIHRoZSBfcmVhZCBjYWxsIGlzIHN5bmMgb3IgYXN5bmMgKGllLCBpZiB0aGUgcmVhZCBjYWxsXFxuICAvLyBoYXMgcmV0dXJuZWQgeWV0KSwgc28gdGhhdCB3ZSBrbm93IHdoZXRoZXIgb3Igbm90IGl0J3Mgc2FmZSB0byBlbWl0XFxuICAvLyAncmVhZGFibGUnIGV0Yy5cXG4gIC8vXFxuICAvLyAzLiBBY3R1YWxseSBwdWxsIHRoZSByZXF1ZXN0ZWQgY2h1bmtzIG91dCBvZiB0aGUgYnVmZmVyIGFuZCByZXR1cm4uXFxuICAvLyBpZiB3ZSBuZWVkIGEgcmVhZGFibGUgZXZlbnQsIHRoZW4gd2UgbmVlZCB0byBkbyBzb21lIHJlYWRpbmcuXFxuXFxuXFxuICB2YXIgZG9SZWFkID0gc3RhdGUubmVlZFJlYWRhYmxlO1xcbiAgZGVidWcoJ25lZWQgcmVhZGFibGUnLCBkb1JlYWQpOyAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcXG5cXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgfHwgc3RhdGUubGVuZ3RoIC0gbiA8IHN0YXRlLmhpZ2hXYXRlck1hcmspIHtcXG4gICAgZG9SZWFkID0gdHJ1ZTtcXG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcXG4gIH0gLy8gaG93ZXZlciwgaWYgd2UndmUgZW5kZWQsIHRoZW4gdGhlcmUncyBubyBwb2ludCwgYW5kIGlmIHdlJ3JlIGFscmVhZHlcXG4gIC8vIHJlYWRpbmcsIHRoZW4gaXQncyB1bm5lY2Vzc2FyeS5cXG5cXG5cXG4gIGlmIChzdGF0ZS5lbmRlZCB8fCBzdGF0ZS5yZWFkaW5nKSB7XFxuICAgIGRvUmVhZCA9IGZhbHNlO1xcbiAgICBkZWJ1ZygncmVhZGluZyBvciBlbmRlZCcsIGRvUmVhZCk7XFxuICB9IGVsc2UgaWYgKGRvUmVhZCkge1xcbiAgICBkZWJ1ZygnZG8gcmVhZCcpO1xcbiAgICBzdGF0ZS5yZWFkaW5nID0gdHJ1ZTtcXG4gICAgc3RhdGUuc3luYyA9IHRydWU7IC8vIGlmIHRoZSBsZW5ndGggaXMgY3VycmVudGx5IHplcm8sIHRoZW4gd2UgKm5lZWQqIGEgcmVhZGFibGUgZXZlbnQuXFxuXFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7IC8vIGNhbGwgaW50ZXJuYWwgcmVhZCBtZXRob2RcXG5cXG4gICAgdGhpcy5fcmVhZChzdGF0ZS5oaWdoV2F0ZXJNYXJrKTtcXG5cXG4gICAgc3RhdGUuc3luYyA9IGZhbHNlOyAvLyBJZiBfcmVhZCBwdXNoZWQgZGF0YSBzeW5jaHJvbm91c2x5LCB0aGVuIGByZWFkaW5nYCB3aWxsIGJlIGZhbHNlLFxcbiAgICAvLyBhbmQgd2UgbmVlZCB0byByZS1ldmFsdWF0ZSBob3cgbXVjaCBkYXRhIHdlIGNhbiByZXR1cm4gdG8gdGhlIHVzZXIuXFxuXFxuICAgIGlmICghc3RhdGUucmVhZGluZykgbiA9IGhvd011Y2hUb1JlYWQobk9yaWcsIHN0YXRlKTtcXG4gIH1cXG5cXG4gIHZhciByZXQ7XFxuICBpZiAobiA+IDApIHJldCA9IGZyb21MaXN0KG4sIHN0YXRlKTtlbHNlIHJldCA9IG51bGw7XFxuXFxuICBpZiAocmV0ID09PSBudWxsKSB7XFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHN0YXRlLmxlbmd0aCA8PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgICBuID0gMDtcXG4gIH0gZWxzZSB7XFxuICAgIHN0YXRlLmxlbmd0aCAtPSBuO1xcbiAgICBzdGF0ZS5hd2FpdERyYWluID0gMDtcXG4gIH1cXG5cXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHtcXG4gICAgLy8gSWYgd2UgaGF2ZSBub3RoaW5nIGluIHRoZSBidWZmZXIsIHRoZW4gd2Ugd2FudCB0byBrbm93XFxuICAgIC8vIGFzIHNvb24gYXMgd2UgKmRvKiBnZXQgc29tZXRoaW5nIGludG8gdGhlIGJ1ZmZlci5cXG4gICAgaWYgKCFzdGF0ZS5lbmRlZCkgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTsgLy8gSWYgd2UgdHJpZWQgdG8gcmVhZCgpIHBhc3QgdGhlIEVPRiwgdGhlbiBlbWl0IGVuZCBvbiB0aGUgbmV4dCB0aWNrLlxcblxcbiAgICBpZiAobk9yaWcgIT09IG4gJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO1xcbiAgfVxcblxcbiAgaWYgKHJldCAhPT0gbnVsbCkgdGhpcy5lbWl0KCdkYXRhJywgcmV0KTtcXG4gIHJldHVybiByZXQ7XFxufTtcXG5cXG5mdW5jdGlvbiBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGRlYnVnKCdvbkVvZkNodW5rJyk7XFxuICBpZiAoc3RhdGUuZW5kZWQpIHJldHVybjtcXG5cXG4gIGlmIChzdGF0ZS5kZWNvZGVyKSB7XFxuICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XFxuXFxuICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIHtcXG4gICAgICBzdGF0ZS5idWZmZXIucHVzaChjaHVuayk7XFxuICAgICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xcbiAgICB9XFxuICB9XFxuXFxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuXFxuICBpZiAoc3RhdGUuc3luYykge1xcbiAgICAvLyBpZiB3ZSBhcmUgc3luYywgd2FpdCB1bnRpbCBuZXh0IHRpY2sgdG8gZW1pdCB0aGUgZGF0YS5cXG4gICAgLy8gT3RoZXJ3aXNlIHdlIHJpc2sgZW1pdHRpbmcgZGF0YSBpbiB0aGUgZmxvdygpXFxuICAgIC8vIHRoZSByZWFkYWJsZSBjb2RlIHRyaWdnZXJzIGR1cmluZyBhIHJlYWQoKSBjYWxsXFxuICAgIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgICBpZiAoIXN0YXRlLmVtaXR0ZWRSZWFkYWJsZSkge1xcbiAgICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgICAgZW1pdFJlYWRhYmxlXyhzdHJlYW0pO1xcbiAgICB9XFxuICB9XFxufSAvLyBEb24ndCBlbWl0IHJlYWRhYmxlIHJpZ2h0IGF3YXkgaW4gc3luYyBtb2RlLCBiZWNhdXNlIHRoaXMgY2FuIHRyaWdnZXJcXG4vLyBhbm90aGVyIHJlYWQoKSBjYWxsID0+IHN0YWNrIG92ZXJmbG93LiAgVGhpcyB3YXksIGl0IG1pZ2h0IHRyaWdnZXJcXG4vLyBhIG5leHRUaWNrIHJlY3Vyc2lvbiB3YXJuaW5nLCBidXQgdGhhdCdzIG5vdCBzbyBiYWQuXFxuXFxuXFxuZnVuY3Rpb24gZW1pdFJlYWRhYmxlKHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLm5lZWRSZWFkYWJsZSwgc3RhdGUuZW1pdHRlZFJlYWRhYmxlKTtcXG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcXG4gICAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLmZsb3dpbmcpO1xcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sIHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oc3RyZWFtKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuICBkZWJ1ZygnZW1pdFJlYWRhYmxlXycsIHN0YXRlLmRlc3Ryb3llZCwgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XFxuXFxuICBpZiAoIXN0YXRlLmRlc3Ryb3llZCAmJiAoc3RhdGUubGVuZ3RoIHx8IHN0YXRlLmVuZGVkKSkge1xcbiAgICBzdHJlYW0uZW1pdCgncmVhZGFibGUnKTtcXG4gICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICB9IC8vIFRoZSBzdHJlYW0gbmVlZHMgYW5vdGhlciByZWFkYWJsZSBldmVudCBpZlxcbiAgLy8gMS4gSXQgaXMgbm90IGZsb3dpbmcsIGFzIHRoZSBmbG93IG1lY2hhbmlzbSB3aWxsIHRha2VcXG4gIC8vICAgIGNhcmUgb2YgaXQuXFxuICAvLyAyLiBJdCBpcyBub3QgZW5kZWQuXFxuICAvLyAzLiBJdCBpcyBiZWxvdyB0aGUgaGlnaFdhdGVyTWFyaywgc28gd2UgY2FuIHNjaGVkdWxlXFxuICAvLyAgICBhbm90aGVyIHJlYWRhYmxlIGxhdGVyLlxcblxcblxcbiAgc3RhdGUubmVlZFJlYWRhYmxlID0gIXN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLmVuZGVkICYmIHN0YXRlLmxlbmd0aCA8PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgZmxvdyhzdHJlYW0pO1xcbn0gLy8gYXQgdGhpcyBwb2ludCwgdGhlIHVzZXIgaGFzIHByZXN1bWFibHkgc2VlbiB0aGUgJ3JlYWRhYmxlJyBldmVudCxcXG4vLyBhbmQgY2FsbGVkIHJlYWQoKSB0byBjb25zdW1lIHNvbWUgZGF0YS4gIHRoYXQgbWF5IGhhdmUgdHJpZ2dlcmVkXFxuLy8gaW4gdHVybiBhbm90aGVyIF9yZWFkKG4pIGNhbGwsIGluIHdoaWNoIGNhc2UgcmVhZGluZyA9IHRydWUgaWZcXG4vLyBpdCdzIGluIHByb2dyZXNzLlxcbi8vIEhvd2V2ZXIsIGlmIHdlJ3JlIG5vdCBlbmRlZCwgb3IgcmVhZGluZywgYW5kIHRoZSBsZW5ndGggPCBod20sXFxuLy8gdGhlbiBnbyBhaGVhZCBhbmQgdHJ5IHRvIHJlYWQgc29tZSBtb3JlIHByZWVtcHRpdmVseS5cXG5cXG5cXG5mdW5jdGlvbiBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmICghc3RhdGUucmVhZGluZ01vcmUpIHtcXG4gICAgc3RhdGUucmVhZGluZ01vcmUgPSB0cnVlO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLCBzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xcbiAgLy8gQXR0ZW1wdCB0byByZWFkIG1vcmUgZGF0YSBpZiB3ZSBzaG91bGQuXFxuICAvL1xcbiAgLy8gVGhlIGNvbmRpdGlvbnMgZm9yIHJlYWRpbmcgbW9yZSBkYXRhIGFyZSAob25lIG9mKTpcXG4gIC8vIC0gTm90IGVub3VnaCBkYXRhIGJ1ZmZlcmVkIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrKS4gVGhlIGxvb3BcXG4gIC8vICAgaXMgcmVzcG9uc2libGUgZm9yIGZpbGxpbmcgdGhlIGJ1ZmZlciB3aXRoIGVub3VnaCBkYXRhIGlmIHN1Y2ggZGF0YVxcbiAgLy8gICBpcyBhdmFpbGFibGUuIElmIGhpZ2hXYXRlck1hcmsgaXMgMCBhbmQgd2UgYXJlIG5vdCBpbiB0aGUgZmxvd2luZyBtb2RlXFxuICAvLyAgIHdlIHNob3VsZCBfbm90XyBhdHRlbXB0IHRvIGJ1ZmZlciBhbnkgZXh0cmEgZGF0YS4gV2UnbGwgZ2V0IG1vcmUgZGF0YVxcbiAgLy8gICB3aGVuIHRoZSBzdHJlYW0gY29uc3VtZXIgY2FsbHMgcmVhZCgpIGluc3RlYWQuXFxuICAvLyAtIE5vIGRhdGEgaW4gdGhlIGJ1ZmZlciwgYW5kIHRoZSBzdHJlYW0gaXMgaW4gZmxvd2luZyBtb2RlLiBJbiB0aGlzIG1vZGVcXG4gIC8vICAgdGhlIGxvb3AgYmVsb3cgaXMgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHJlYWQoKSBpcyBjYWxsZWQuIEZhaWxpbmcgdG9cXG4gIC8vICAgY2FsbCByZWFkIGhlcmUgd291bGQgYWJvcnQgdGhlIGZsb3cgYW5kIHRoZXJlJ3Mgbm8gb3RoZXIgbWVjaGFuaXNtIGZvclxcbiAgLy8gICBjb250aW51aW5nIHRoZSBmbG93IGlmIHRoZSBzdHJlYW0gY29uc3VtZXIgaGFzIGp1c3Qgc3Vic2NyaWJlZCB0byB0aGVcXG4gIC8vICAgJ2RhdGEnIGV2ZW50LlxcbiAgLy9cXG4gIC8vIEluIGFkZGl0aW9uIHRvIHRoZSBhYm92ZSBjb25kaXRpb25zIHRvIGtlZXAgcmVhZGluZyBkYXRhLCB0aGUgZm9sbG93aW5nXFxuICAvLyBjb25kaXRpb25zIHByZXZlbnQgdGhlIGRhdGEgZnJvbSBiZWluZyByZWFkOlxcbiAgLy8gLSBUaGUgc3RyZWFtIGhhcyBlbmRlZCAoc3RhdGUuZW5kZWQpLlxcbiAgLy8gLSBUaGVyZSBpcyBhbHJlYWR5IGEgcGVuZGluZyAncmVhZCcgb3BlcmF0aW9uIChzdGF0ZS5yZWFkaW5nKS4gVGhpcyBpcyBhXFxuICAvLyAgIGNhc2Ugd2hlcmUgdGhlIHRoZSBzdHJlYW0gaGFzIGNhbGxlZCB0aGUgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBfcmVhZCgpXFxuICAvLyAgIG1ldGhvZCwgYnV0IHRoZXkgYXJlIHByb2Nlc3NpbmcgdGhlIGNhbGwgYXN5bmNocm9ub3VzbHkgYW5kIGhhdmUgX25vdF9cXG4gIC8vICAgY2FsbGVkIHB1c2goKSB3aXRoIG5ldyBkYXRhLiBJbiB0aGlzIGNhc2Ugd2Ugc2tpcCBwZXJmb3JtaW5nIG1vcmVcXG4gIC8vICAgcmVhZCgpcy4gVGhlIGV4ZWN1dGlvbiBlbmRzIGluIHRoaXMgbWV0aG9kIGFnYWluIGFmdGVyIHRoZSBfcmVhZCgpIGVuZHNcXG4gIC8vICAgdXAgY2FsbGluZyBwdXNoKCkgd2l0aCBtb3JlIGRhdGEuXFxuICB3aGlsZSAoIXN0YXRlLnJlYWRpbmcgJiYgIXN0YXRlLmVuZGVkICYmIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwKSkge1xcbiAgICB2YXIgbGVuID0gc3RhdGUubGVuZ3RoO1xcbiAgICBkZWJ1ZygnbWF5YmVSZWFkTW9yZSByZWFkIDAnKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICAgIGlmIChsZW4gPT09IHN0YXRlLmxlbmd0aCkgLy8gZGlkbid0IGdldCBhbnkgZGF0YSwgc3RvcCBzcGlubmluZy5cXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHN0YXRlLnJlYWRpbmdNb3JlID0gZmFsc2U7XFxufSAvLyBhYnN0cmFjdCBtZXRob2QuICB0byBiZSBvdmVycmlkZGVuIGluIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXFxuLy8gY2FsbCBjYihlciwgZGF0YSkgd2hlcmUgZGF0YSBpcyA8PSBuIGluIGxlbmd0aC5cXG4vLyBmb3IgdmlydHVhbCAobm9uLXN0cmluZywgbm9uLWJ1ZmZlcikgc3RyZWFtcywgXFxcImxlbmd0aFxcXCIgaXMgc29tZXdoYXRcXG4vLyBhcmJpdHJhcnksIGFuZCBwZXJoYXBzIG5vdCB2ZXJ5IG1lYW5pbmdmdWwuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gIGVycm9yT3JEZXN0cm95KHRoaXMsIG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3JlYWQoKScpKTtcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XFxuICB2YXIgc3JjID0gdGhpcztcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuXFxuICBzd2l0Y2ggKHN0YXRlLnBpcGVzQ291bnQpIHtcXG4gICAgY2FzZSAwOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gZGVzdDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAxOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gW3N0YXRlLnBpcGVzLCBkZXN0XTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBzdGF0ZS5waXBlcy5wdXNoKGRlc3QpO1xcbiAgICAgIGJyZWFrO1xcbiAgfVxcblxcbiAgc3RhdGUucGlwZXNDb3VudCArPSAxO1xcbiAgZGVidWcoJ3BpcGUgY291bnQ9JWQgb3B0cz0laicsIHN0YXRlLnBpcGVzQ291bnQsIHBpcGVPcHRzKTtcXG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XFxuICB2YXIgZW5kRm4gPSBkb0VuZCA/IG9uZW5kIDogdW5waXBlO1xcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHByb2Nlc3MubmV4dFRpY2soZW5kRm4pO2Vsc2Ugc3JjLm9uY2UoJ2VuZCcsIGVuZEZuKTtcXG4gIGRlc3Qub24oJ3VucGlwZScsIG9udW5waXBlKTtcXG5cXG4gIGZ1bmN0aW9uIG9udW5waXBlKHJlYWRhYmxlLCB1bnBpcGVJbmZvKSB7XFxuICAgIGRlYnVnKCdvbnVucGlwZScpO1xcblxcbiAgICBpZiAocmVhZGFibGUgPT09IHNyYykge1xcbiAgICAgIGlmICh1bnBpcGVJbmZvICYmIHVucGlwZUluZm8uaGFzVW5waXBlZCA9PT0gZmFsc2UpIHtcXG4gICAgICAgIHVucGlwZUluZm8uaGFzVW5waXBlZCA9IHRydWU7XFxuICAgICAgICBjbGVhbnVwKCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICBmdW5jdGlvbiBvbmVuZCgpIHtcXG4gICAgZGVidWcoJ29uZW5kJyk7XFxuICAgIGRlc3QuZW5kKCk7XFxuICB9IC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcXG4gIC8vIG9uIHRoZSBzb3VyY2UuICBUaGlzIHdvdWxkIGJlIG1vcmUgZWxlZ2FudCB3aXRoIGEgLm9uY2UoKVxcbiAgLy8gaGFuZGxlciBpbiBmbG93KCksIGJ1dCBhZGRpbmcgYW5kIHJlbW92aW5nIHJlcGVhdGVkbHkgaXNcXG4gIC8vIHRvbyBzbG93LlxcblxcblxcbiAgdmFyIG9uZHJhaW4gPSBwaXBlT25EcmFpbihzcmMpO1xcbiAgZGVzdC5vbignZHJhaW4nLCBvbmRyYWluKTtcXG4gIHZhciBjbGVhbmVkVXAgPSBmYWxzZTtcXG5cXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XFxuICAgIGRlYnVnKCdjbGVhbnVwJyk7IC8vIGNsZWFudXAgZXZlbnQgaGFuZGxlcnMgb25jZSB0aGUgcGlwZSBpcyBicm9rZW5cXG5cXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdkcmFpbicsIG9uZHJhaW4pO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCd1bnBpcGUnLCBvbnVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIHVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XFxuICAgIGNsZWFuZWRVcCA9IHRydWU7IC8vIGlmIHRoZSByZWFkZXIgaXMgd2FpdGluZyBmb3IgYSBkcmFpbiBldmVudCBmcm9tIHRoaXNcXG4gICAgLy8gc3BlY2lmaWMgd3JpdGVyLCB0aGVuIGl0IHdvdWxkIGNhdXNlIGl0IHRvIG5ldmVyIHN0YXJ0XFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXFxuICAgIC8vIFNvLCBpZiB0aGlzIGlzIGF3YWl0aW5nIGEgZHJhaW4sIHRoZW4gd2UganVzdCBjYWxsIGl0IG5vdy5cXG4gICAgLy8gSWYgd2UgZG9uJ3Qga25vdywgdGhlbiBhc3N1bWUgdGhhdCB3ZSBhcmUgd2FpdGluZyBmb3Igb25lLlxcblxcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XFxuICB9XFxuXFxuICBzcmMub24oJ2RhdGEnLCBvbmRhdGEpO1xcblxcbiAgZnVuY3Rpb24gb25kYXRhKGNodW5rKSB7XFxuICAgIGRlYnVnKCdvbmRhdGEnKTtcXG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xcbiAgICBkZWJ1ZygnZGVzdC53cml0ZScsIHJldCk7XFxuXFxuICAgIGlmIChyZXQgPT09IGZhbHNlKSB7XFxuICAgICAgLy8gSWYgdGhlIHVzZXIgdW5waXBlZCBkdXJpbmcgYGRlc3Qud3JpdGUoKWAsIGl0IGlzIHBvc3NpYmxlXFxuICAgICAgLy8gdG8gZ2V0IHN0dWNrIGluIGEgcGVybWFuZW50bHkgcGF1c2VkIHN0YXRlIGlmIHRoYXQgd3JpdGVcXG4gICAgICAvLyBhbHNvIHJldHVybmVkIGZhbHNlLlxcbiAgICAgIC8vID0+IENoZWNrIHdoZXRoZXIgYGRlc3RgIGlzIHN0aWxsIGEgcGlwaW5nIGRlc3RpbmF0aW9uLlxcbiAgICAgIGlmICgoc3RhdGUucGlwZXNDb3VudCA9PT0gMSAmJiBzdGF0ZS5waXBlcyA9PT0gZGVzdCB8fCBzdGF0ZS5waXBlc0NvdW50ID4gMSAmJiBpbmRleE9mKHN0YXRlLnBpcGVzLCBkZXN0KSAhPT0gLTEpICYmICFjbGVhbmVkVXApIHtcXG4gICAgICAgIGRlYnVnKCdmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UnLCBzdGF0ZS5hd2FpdERyYWluKTtcXG4gICAgICAgIHN0YXRlLmF3YWl0RHJhaW4rKztcXG4gICAgICB9XFxuXFxuICAgICAgc3JjLnBhdXNlKCk7XFxuICAgIH1cXG4gIH0gLy8gaWYgdGhlIGRlc3QgaGFzIGFuIGVycm9yLCB0aGVuIHN0b3AgcGlwaW5nIGludG8gaXQuXFxuICAvLyBob3dldmVyLCBkb24ndCBzdXBwcmVzcyB0aGUgdGhyb3dpbmcgYmVoYXZpb3IgZm9yIHRoaXMuXFxuXFxuXFxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XFxuICAgIGRlYnVnKCdvbmVycm9yJywgZXIpO1xcbiAgICB1bnBpcGUoKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgaWYgKEVFbGlzdGVuZXJDb3VudChkZXN0LCAnZXJyb3InKSA9PT0gMCkgZXJyb3JPckRlc3Ryb3koZGVzdCwgZXIpO1xcbiAgfSAvLyBNYWtlIHN1cmUgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIHVzZXJsYW5kIG9uZXMuXFxuXFxuXFxuICBwcmVwZW5kTGlzdGVuZXIoZGVzdCwgJ2Vycm9yJywgb25lcnJvcik7IC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXFxuXFxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICAgIHVucGlwZSgpO1xcbiAgfVxcblxcbiAgZGVzdC5vbmNlKCdjbG9zZScsIG9uY2xvc2UpO1xcblxcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XFxuICAgIGRlYnVnKCdvbmZpbmlzaCcpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgICB1bnBpcGUoKTtcXG4gIH1cXG5cXG4gIGRlc3Qub25jZSgnZmluaXNoJywgb25maW5pc2gpO1xcblxcbiAgZnVuY3Rpb24gdW5waXBlKCkge1xcbiAgICBkZWJ1ZygndW5waXBlJyk7XFxuICAgIHNyYy51bnBpcGUoZGVzdCk7XFxuICB9IC8vIHRlbGwgdGhlIGRlc3QgdGhhdCBpdCdzIGJlaW5nIHBpcGVkIHRvXFxuXFxuXFxuICBkZXN0LmVtaXQoJ3BpcGUnLCBzcmMpOyAvLyBzdGFydCB0aGUgZmxvdyBpZiBpdCBoYXNuJ3QgYmVlbiBzdGFydGVkIGFscmVhZHkuXFxuXFxuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcXG4gICAgZGVidWcoJ3BpcGUgcmVzdW1lJyk7XFxuICAgIHNyYy5yZXN1bWUoKTtcXG4gIH1cXG5cXG4gIHJldHVybiBkZXN0O1xcbn07XFxuXFxuZnVuY3Rpb24gcGlwZU9uRHJhaW4oc3JjKSB7XFxuICByZXR1cm4gZnVuY3Rpb24gcGlwZU9uRHJhaW5GdW5jdGlvblJlc3VsdCgpIHtcXG4gICAgdmFyIHN0YXRlID0gc3JjLl9yZWFkYWJsZVN0YXRlO1xcbiAgICBkZWJ1ZygncGlwZU9uRHJhaW4nLCBzdGF0ZS5hd2FpdERyYWluKTtcXG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4pIHN0YXRlLmF3YWl0RHJhaW4tLTtcXG5cXG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4gPT09IDAgJiYgRUVsaXN0ZW5lckNvdW50KHNyYywgJ2RhdGEnKSkge1xcbiAgICAgIHN0YXRlLmZsb3dpbmcgPSB0cnVlO1xcbiAgICAgIGZsb3coc3JjKTtcXG4gICAgfVxcbiAgfTtcXG59XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnVucGlwZSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHVucGlwZUluZm8gPSB7XFxuICAgIGhhc1VucGlwZWQ6IGZhbHNlXFxuICB9OyAvLyBpZiB3ZSdyZSBub3QgcGlwaW5nIGFueXdoZXJlLCB0aGVuIGRvIG5vdGhpbmcuXFxuXFxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMCkgcmV0dXJuIHRoaXM7IC8vIGp1c3Qgb25lIGRlc3RpbmF0aW9uLiAgbW9zdCBjb21tb24gY2FzZS5cXG5cXG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAxKSB7XFxuICAgIC8vIHBhc3NlZCBpbiBvbmUsIGJ1dCBpdCdzIG5vdCB0aGUgcmlnaHQgb25lLlxcbiAgICBpZiAoZGVzdCAmJiBkZXN0ICE9PSBzdGF0ZS5waXBlcykgcmV0dXJuIHRoaXM7XFxuICAgIGlmICghZGVzdCkgZGVzdCA9IHN0YXRlLnBpcGVzOyAvLyBnb3QgYSBtYXRjaC5cXG5cXG4gICAgc3RhdGUucGlwZXMgPSBudWxsO1xcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcXG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xcbiAgICBpZiAoZGVzdCkgZGVzdC5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9IC8vIHNsb3cgY2FzZS4gbXVsdGlwbGUgcGlwZSBkZXN0aW5hdGlvbnMuXFxuXFxuXFxuICBpZiAoIWRlc3QpIHtcXG4gICAgLy8gcmVtb3ZlIGFsbC5cXG4gICAgdmFyIGRlc3RzID0gc3RhdGUucGlwZXM7XFxuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xcbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XFxuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB7XFxuICAgICAgICBoYXNVbnBpcGVkOiBmYWxzZVxcbiAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfSAvLyB0cnkgdG8gZmluZCB0aGUgcmlnaHQgb25lLlxcblxcblxcbiAgdmFyIGluZGV4ID0gaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCk7XFxuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gdGhpcztcXG4gIHN0YXRlLnBpcGVzLnNwbGljZShpbmRleCwgMSk7XFxuICBzdGF0ZS5waXBlc0NvdW50IC09IDE7XFxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkgc3RhdGUucGlwZXMgPSBzdGF0ZS5waXBlc1swXTtcXG4gIGRlc3QuZW1pdCgndW5waXBlJywgdGhpcywgdW5waXBlSW5mbyk7XFxuICByZXR1cm4gdGhpcztcXG59OyAvLyBzZXQgdXAgZGF0YSBldmVudHMgaWYgdGhleSBhcmUgYXNrZWQgZm9yXFxuLy8gRW5zdXJlIHJlYWRhYmxlIGxpc3RlbmVycyBldmVudHVhbGx5IGdldCBzb21ldGhpbmdcXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUub24gPSBmdW5jdGlvbiAoZXYsIGZuKSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsIGV2LCBmbik7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgaWYgKGV2ID09PSAnZGF0YScpIHtcXG4gICAgLy8gdXBkYXRlIHJlYWRhYmxlTGlzdGVuaW5nIHNvIHRoYXQgcmVzdW1lKCkgbWF5IGJlIGEgbm8tb3BcXG4gICAgLy8gYSBmZXcgbGluZXMgZG93bi4gVGhpcyBpcyBuZWVkZWQgdG8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScpLlxcbiAgICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHRoaXMubGlzdGVuZXJDb3VudCgncmVhZGFibGUnKSA+IDA7IC8vIFRyeSBzdGFydCBmbG93aW5nIG9uIG5leHQgdGljayBpZiBzdHJlYW0gaXNuJ3QgZXhwbGljaXRseSBwYXVzZWRcXG5cXG4gICAgaWYgKHN0YXRlLmZsb3dpbmcgIT09IGZhbHNlKSB0aGlzLnJlc3VtZSgpO1xcbiAgfSBlbHNlIGlmIChldiA9PT0gJ3JlYWRhYmxlJykge1xcbiAgICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQgJiYgIXN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nKSB7XFxuICAgICAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICAgIHN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTtcXG4gICAgICBkZWJ1Zygnb24gcmVhZGFibGUnLCBzdGF0ZS5sZW5ndGgsIHN0YXRlLnJlYWRpbmcpO1xcblxcbiAgICAgIGlmIChzdGF0ZS5sZW5ndGgpIHtcXG4gICAgICAgIGVtaXRSZWFkYWJsZSh0aGlzKTtcXG4gICAgICB9IGVsc2UgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKG5SZWFkaW5nTmV4dFRpY2ssIHRoaXMpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IFJlYWRhYmxlLnByb3RvdHlwZS5vbjtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIgPSBmdW5jdGlvbiAoZXYsIGZuKSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsIGV2LCBmbik7XFxuXFxuICBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcXG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBpcyBzb21lb25lIHN0aWxsIGxpc3RlbmluZyB0b1xcbiAgICAvLyByZWFkYWJsZSBhbmQgcmVzZXQgdGhlIHN0YXRlLiBIb3dldmVyIHRoaXMgbmVlZHMgdG8gaGFwcGVuXFxuICAgIC8vIGFmdGVyIHJlYWRhYmxlIGhhcyBiZWVuIGVtaXR0ZWQgYnV0IGJlZm9yZSBJL08gKG5leHRUaWNrKSB0b1xcbiAgICAvLyBzdXBwb3J0IG9uY2UoJ3JlYWRhYmxlJywgZm4pIGN5Y2xlcy4gVGhpcyBtZWFucyB0aGF0IGNhbGxpbmdcXG4gICAgLy8gcmVzdW1lIHdpdGhpbiB0aGUgc2FtZSB0aWNrIHdpbGwgaGF2ZSBub1xcbiAgICAvLyBlZmZlY3QuXFxuICAgIHByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsIHRoaXMpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBmdW5jdGlvbiAoZXYpIHtcXG4gIHZhciByZXMgPSBTdHJlYW0ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcblxcbiAgaWYgKGV2ID09PSAncmVhZGFibGUnIHx8IGV2ID09PSB1bmRlZmluZWQpIHtcXG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBpcyBzb21lb25lIHN0aWxsIGxpc3RlbmluZyB0b1xcbiAgICAvLyByZWFkYWJsZSBhbmQgcmVzZXQgdGhlIHN0YXRlLiBIb3dldmVyIHRoaXMgbmVlZHMgdG8gaGFwcGVuXFxuICAgIC8vIGFmdGVyIHJlYWRhYmxlIGhhcyBiZWVuIGVtaXR0ZWQgYnV0IGJlZm9yZSBJL08gKG5leHRUaWNrKSB0b1xcbiAgICAvLyBzdXBwb3J0IG9uY2UoJ3JlYWRhYmxlJywgZm4pIGN5Y2xlcy4gVGhpcyBtZWFucyB0aGF0IGNhbGxpbmdcXG4gICAgLy8gcmVzdW1lIHdpdGhpbiB0aGUgc2FtZSB0aWNrIHdpbGwgaGF2ZSBub1xcbiAgICAvLyBlZmZlY3QuXFxuICAgIHByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsIHRoaXMpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcbmZ1bmN0aW9uIHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nKHNlbGYpIHtcXG4gIHZhciBzdGF0ZSA9IHNlbGYuX3JlYWRhYmxlU3RhdGU7XFxuICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHNlbGYubGlzdGVuZXJDb3VudCgncmVhZGFibGUnKSA+IDA7XFxuXFxuICBpZiAoc3RhdGUucmVzdW1lU2NoZWR1bGVkICYmICFzdGF0ZS5wYXVzZWQpIHtcXG4gICAgLy8gZmxvd2luZyBuZWVkcyB0byBiZSBzZXQgdG8gdHJ1ZSBub3csIG90aGVyd2lzZVxcbiAgICAvLyB0aGUgdXBjb21pbmcgcmVzdW1lIHdpbGwgbm90IGZsb3cuXFxuICAgIHN0YXRlLmZsb3dpbmcgPSB0cnVlOyAvLyBjcnVkZSB3YXkgdG8gY2hlY2sgaWYgd2Ugc2hvdWxkIHJlc3VtZVxcbiAgfSBlbHNlIGlmIChzZWxmLmxpc3RlbmVyQ291bnQoJ2RhdGEnKSA+IDApIHtcXG4gICAgc2VsZi5yZXN1bWUoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhzZWxmKSB7XFxuICBkZWJ1ZygncmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwJyk7XFxuICBzZWxmLnJlYWQoMCk7XFxufSAvLyBwYXVzZSgpIGFuZCByZXN1bWUoKSBhcmUgcmVtbmFudHMgb2YgdGhlIGxlZ2FjeSByZWFkYWJsZSBzdHJlYW0gQVBJXFxuLy8gSWYgdGhlIHVzZXIgdXNlcyB0aGVtLCB0aGVuIHN3aXRjaCBpbnRvIG9sZCBtb2RlLlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XFxuICAgIGRlYnVnKCdyZXN1bWUnKTsgLy8gd2UgZmxvdyBvbmx5IGlmIHRoZXJlIGlzIG5vIG9uZSBsaXN0ZW5pbmdcXG4gICAgLy8gZm9yIHJlYWRhYmxlLCBidXQgd2Ugc3RpbGwgaGF2ZSB0byBjYWxsXFxuICAgIC8vIHJlc3VtZSgpXFxuXFxuICAgIHN0YXRlLmZsb3dpbmcgPSAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmc7XFxuICAgIHJlc3VtZSh0aGlzLCBzdGF0ZSk7XFxuICB9XFxuXFxuICBzdGF0ZS5wYXVzZWQgPSBmYWxzZTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuZnVuY3Rpb24gcmVzdW1lKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XFxuICAgIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IHRydWU7XFxuICAgIHByb2Nlc3MubmV4dFRpY2socmVzdW1lXywgc3RyZWFtLCBzdGF0ZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHJlc3VtZV8oc3RyZWFtLCBzdGF0ZSkge1xcbiAgZGVidWcoJ3Jlc3VtZScsIHN0YXRlLnJlYWRpbmcpO1xcblxcbiAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XFxuICAgIHN0cmVhbS5yZWFkKDApO1xcbiAgfVxcblxcbiAgc3RhdGUucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XFxuICBzdHJlYW0uZW1pdCgncmVzdW1lJyk7XFxuICBmbG93KHN0cmVhbSk7XFxuICBpZiAoc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUucmVhZGluZykgc3RyZWFtLnJlYWQoMCk7XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uICgpIHtcXG4gIGRlYnVnKCdjYWxsIHBhdXNlIGZsb3dpbmc9JWonLCB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpO1xcblxcbiAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAhPT0gZmFsc2UpIHtcXG4gICAgZGVidWcoJ3BhdXNlJyk7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9IGZhbHNlO1xcbiAgICB0aGlzLmVtaXQoJ3BhdXNlJyk7XFxuICB9XFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZCA9IHRydWU7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIGZsb3coc3RyZWFtKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuICBkZWJ1ZygnZmxvdycsIHN0YXRlLmZsb3dpbmcpO1xcblxcbiAgd2hpbGUgKHN0YXRlLmZsb3dpbmcgJiYgc3RyZWFtLnJlYWQoKSAhPT0gbnVsbCkge1xcbiAgICA7XFxuICB9XFxufSAvLyB3cmFwIGFuIG9sZC1zdHlsZSBzdHJlYW0gYXMgdGhlIGFzeW5jIGRhdGEgc291cmNlLlxcbi8vIFRoaXMgaXMgKm5vdCogcGFydCBvZiB0aGUgcmVhZGFibGUgc3RyZWFtIGludGVyZmFjZS5cXG4vLyBJdCBpcyBhbiB1Z2x5IHVuZm9ydHVuYXRlIG1lc3Mgb2YgaGlzdG9yeS5cXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUud3JhcCA9IGZ1bmN0aW9uIChzdHJlYW0pIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHBhdXNlZCA9IGZhbHNlO1xcbiAgc3RyZWFtLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XFxuICAgIGRlYnVnKCd3cmFwcGVkIGVuZCcpO1xcblxcbiAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhc3RhdGUuZW5kZWQpIHtcXG4gICAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xcbiAgICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIF90aGlzLnB1c2goY2h1bmspO1xcbiAgICB9XFxuXFxuICAgIF90aGlzLnB1c2gobnVsbCk7XFxuICB9KTtcXG4gIHN0cmVhbS5vbignZGF0YScsIGZ1bmN0aW9uIChjaHVuaykge1xcbiAgICBkZWJ1Zygnd3JhcHBlZCBkYXRhJyk7XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspOyAvLyBkb24ndCBza2lwIG92ZXIgZmFsc3kgdmFsdWVzIGluIG9iamVjdE1vZGVcXG5cXG4gICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgJiYgKGNodW5rID09PSBudWxsIHx8IGNodW5rID09PSB1bmRlZmluZWQpKSByZXR1cm47ZWxzZSBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgKCFjaHVuayB8fCAhY2h1bmsubGVuZ3RoKSkgcmV0dXJuO1xcblxcbiAgICB2YXIgcmV0ID0gX3RoaXMucHVzaChjaHVuayk7XFxuXFxuICAgIGlmICghcmV0KSB7XFxuICAgICAgcGF1c2VkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0ucGF1c2UoKTtcXG4gICAgfVxcbiAgfSk7IC8vIHByb3h5IGFsbCB0aGUgb3RoZXIgbWV0aG9kcy5cXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxcblxcbiAgZm9yICh2YXIgaSBpbiBzdHJlYW0pIHtcXG4gICAgaWYgKHRoaXNbaV0gPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygc3RyZWFtW2ldID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIG1ldGhvZFdyYXAobWV0aG9kKSB7XFxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gbWV0aG9kV3JhcFJldHVybkZ1bmN0aW9uKCkge1xcbiAgICAgICAgICByZXR1cm4gc3RyZWFtW21ldGhvZF0uYXBwbHkoc3RyZWFtLCBhcmd1bWVudHMpO1xcbiAgICAgICAgfTtcXG4gICAgICB9KGkpO1xcbiAgICB9XFxuICB9IC8vIHByb3h5IGNlcnRhaW4gaW1wb3J0YW50IGV2ZW50cy5cXG5cXG5cXG4gIGZvciAodmFyIG4gPSAwOyBuIDwga1Byb3h5RXZlbnRzLmxlbmd0aDsgbisrKSB7XFxuICAgIHN0cmVhbS5vbihrUHJveHlFdmVudHNbbl0sIHRoaXMuZW1pdC5iaW5kKHRoaXMsIGtQcm94eUV2ZW50c1tuXSkpO1xcbiAgfSAvLyB3aGVuIHdlIHRyeSB0byBjb25zdW1lIHNvbWUgbW9yZSBieXRlcywgc2ltcGx5IHVucGF1c2UgdGhlXFxuICAvLyB1bmRlcmx5aW5nIHN0cmVhbS5cXG5cXG5cXG4gIHRoaXMuX3JlYWQgPSBmdW5jdGlvbiAobikge1xcbiAgICBkZWJ1Zygnd3JhcHBlZCBfcmVhZCcsIG4pO1xcblxcbiAgICBpZiAocGF1c2VkKSB7XFxuICAgICAgcGF1c2VkID0gZmFsc2U7XFxuICAgICAgc3RyZWFtLnJlc3VtZSgpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgUmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvci5qc1xcXCIpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IodGhpcyk7XFxuICB9O1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pO1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUJ1ZmZlcicsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXI7XFxuICB9XFxufSk7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlRmxvd2luZycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZztcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldChzdGF0ZSkge1xcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9IHN0YXRlO1xcbiAgICB9XFxuICB9XFxufSk7IC8vIGV4cG9zZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS5cXG5cXG5SZWFkYWJsZS5fZnJvbUxpc3QgPSBmcm9tTGlzdDtcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVMZW5ndGgnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aDtcXG4gIH1cXG59KTsgLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxcbi8vIExlbmd0aCBpcyB0aGUgY29tYmluZWQgbGVuZ3RocyBvZiBhbGwgdGhlIGJ1ZmZlcnMgaW4gdGhlIGxpc3QuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcblxcbmZ1bmN0aW9uIGZyb21MaXN0KG4sIHN0YXRlKSB7XFxuICAvLyBub3RoaW5nIGJ1ZmZlcmVkXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcXG4gIHZhciByZXQ7XFxuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0ID0gc3RhdGUuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZiAoIW4gfHwgbiA+PSBzdGF0ZS5sZW5ndGgpIHtcXG4gICAgLy8gcmVhZCBpdCBhbGwsIHRydW5jYXRlIHRoZSBsaXN0XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSByZXQgPSBzdGF0ZS5idWZmZXIuam9pbignJyk7ZWxzZSBpZiAoc3RhdGUuYnVmZmVyLmxlbmd0aCA9PT0gMSkgcmV0ID0gc3RhdGUuYnVmZmVyLmZpcnN0KCk7ZWxzZSByZXQgPSBzdGF0ZS5idWZmZXIuY29uY2F0KHN0YXRlLmxlbmd0aCk7XFxuICAgIHN0YXRlLmJ1ZmZlci5jbGVhcigpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gcmVhZCBwYXJ0IG9mIGxpc3RcXG4gICAgcmV0ID0gc3RhdGUuYnVmZmVyLmNvbnN1bWUobiwgc3RhdGUuZGVjb2Rlcik7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG5mdW5jdGlvbiBlbmRSZWFkYWJsZShzdHJlYW0pIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG4gIGRlYnVnKCdlbmRSZWFkYWJsZScsIHN0YXRlLmVuZEVtaXR0ZWQpO1xcblxcbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkKSB7XFxuICAgIHN0YXRlLmVuZGVkID0gdHJ1ZTtcXG4gICAgcHJvY2Vzcy5uZXh0VGljayhlbmRSZWFkYWJsZU5ULCBzdGF0ZSwgc3RyZWFtKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZW5kUmVhZGFibGVOVChzdGF0ZSwgc3RyZWFtKSB7XFxuICBkZWJ1ZygnZW5kUmVhZGFibGVOVCcsIHN0YXRlLmVuZEVtaXR0ZWQsIHN0YXRlLmxlbmd0aCk7IC8vIENoZWNrIHRoYXQgd2UgZGlkbid0IGdldCBvbmUgbGFzdCB1bnNoaWZ0LlxcblxcbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkge1xcbiAgICBzdGF0ZS5lbmRFbWl0dGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLnJlYWRhYmxlID0gZmFsc2U7XFxuICAgIHN0cmVhbS5lbWl0KCdlbmQnKTtcXG5cXG4gICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XFxuICAgICAgLy8gSW4gY2FzZSBvZiBkdXBsZXggc3RyZWFtcyB3ZSBuZWVkIGEgd2F5IHRvIGRldGVjdFxcbiAgICAgIC8vIGlmIHRoZSB3cml0YWJsZSBzaWRlIGlzIHJlYWR5IGZvciBhdXRvRGVzdHJveSBhcyB3ZWxsXFxuICAgICAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG5cXG4gICAgICBpZiAoIXdTdGF0ZSB8fCB3U3RhdGUuYXV0b0Rlc3Ryb3kgJiYgd1N0YXRlLmZpbmlzaGVkKSB7XFxuICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgUmVhZGFibGUuZnJvbSA9IGZ1bmN0aW9uIChpdGVyYWJsZSwgb3B0cykge1xcbiAgICBpZiAoZnJvbSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgZnJvbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9mcm9tICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9mcm9tLWJyb3dzZXIuanNcXFwiKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZnJvbShSZWFkYWJsZSwgaXRlcmFibGUsIG9wdHMpO1xcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gaW5kZXhPZih4cywgeCkge1xcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB4cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcXG4gICAgaWYgKHhzW2ldID09PSB4KSByZXR1cm4gaTtcXG4gIH1cXG5cXG4gIHJldHVybiAtMTtcXG59XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcXCIpLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3o5aVlUTmpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc0swTkJRVkU3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNLMGhCUVRKQ08wRkJRMmhFT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVGRDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEVzWjBKQlFXZENMRzFDUVVGUExFTkJRVU1zWVVGQlRUczdRVUZGT1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN096dEJRVWRCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEdsSlFVRm5RenM3UVVGRmVrUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNlVWhCUVRSQ096dEJRVVYwUkN4bFFVRmxMRzFDUVVGUExFTkJRVU1zY1VoQlFUQkNPMEZCUTJwRU96dEJRVVZCTEhGQ1FVRnhRaXh0UWtGQlR5eERRVUZETERCR1FVRlhPMEZCUTNoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTERKR1FVRXlSanM3TzBGQlJ6TkdPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZzUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEN0R1FVRXJSanRCUVVNdlJqdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2VVVkJRWGxGTEcxR1FVRnRSanRCUVVNMVNqczdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMSEZIUVVGclFqdEJRVU12UXl3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzZVVWQlFYbEZPMEZCUTNwRk96dEJRVVZCTzBGQlEwRXNhMFpCUVd0R08wRkJRMnhHT3p0QlFVVkJMREJHUVVFd1JqdEJRVU14Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTzBGQlEzWkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJN1FVRkRia0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ0xDdERRVUVyUXpzN1FVRkZMME1zTWtOQlFUSkRPenRCUVVVelF5eDVRa0ZCZVVJN1FVRkRla0k3UVVGRFFUczdRVUZGUVN3eVJFRkJNa1E3TzBGQlJUTkVMSE5DUVVGelFqczdRVUZGZEVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkME5CUVhkRExHMUNRVUZQTEVOQlFVTXNORVZCUVdsQ08wRkJRMnBGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zY1VkQlFXdENPMEZCUXk5RExHZEZRVUZuUlR0QlFVTm9SVHM3UVVGRlFUdEJRVU5CTEcxRlFVRnRSVHM3UVVGRmJrVTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJMRVZCUVVVN096dEJRVWRHTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3clJrRkJLMFk3UVVGREwwWXNUMEZCVHp0QlFVTlFPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUmtGQk5FWTdRVUZETlVZc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPenM3UVVGSFJqdEJRVU5CTEhORFFVRnpReXh0UWtGQlR5eERRVUZETERSRlFVRnBRanRCUVVNdlJEdEJRVU5CTEhkRFFVRjNRenM3UVVGRmVFTXNjMFZCUVhORk96dEJRVVYwUlR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdPenRCUVVkR096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXp0QlFVTkVPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxEUkZRVUUwUlR0QlFVTTFSU3hIUVVGSE96czdRVUZIU0R0QlFVTkJMR3REUVVGclF6czdRVUZGYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4RFFVRkRPenM3UVVGSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05rTkJRVFpETzBGQlF6ZERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERaRVFVRTJSRHRCUVVNM1JEdEJRVU5CT3p0QlFVVkJMRGhDUVVFNFFqczdRVUZGT1VJN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFTeHBRMEZCYVVNN08wRkJSV3BETzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeHpRa0ZCYzBJN08wRkJSWFJDTEhORVFVRnpSRHM3UVVGRmRFUTdPMEZCUlVFc2RVSkJRWFZDTzBGQlEzWkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4elEwRkJjME03TzBGQlJYUkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPenRCUVVWb1JEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5SRUZCWjBRN1FVRkRhRVE3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0N4NVFrRkJlVUk3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hKUVVGSk96dEJRVVZLTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFc2EwTkJRV3RET3p0QlFVVnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVURzN1FVRkZRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVWQlFXbEZPenRCUVVWcVJUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhsQ1FVRjVRanRCUVVONlFpeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlDUVVGdlFqdEJRVU53UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMREJFUVVFd1JEczdRVUZGTVVRc05FVkJRVFJGT3p0QlFVVTFSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjc1JVRkJSVHRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTEVkQlFVYzdPenRCUVVkSUxHbENRVUZwUWl4NVFrRkJlVUk3UVVGRE1VTTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERCRFFVRXdReXh0UWtGQlR5eERRVUZETEhWSlFVRnRRenRCUVVOeVJqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVUkJRVzFFTzBGQlEyNUVPMEZCUTBFc2JVUkJRVzFFTEN0RVFVRXJSRHRCUVVOc1NEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2VVUkJRWGxFT3p0QlFVVjZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExESklRVUY1UWp0QlFVTTVRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3huUTBGQlowTXNUMEZCVHp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5eVpXRmtZV0pzWlM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFTnZjSGx5YVdkb2RDQktiM2xsYm5Rc0lFbHVZeTRnWVc1a0lHOTBhR1Z5SUU1dlpHVWdZMjl1ZEhKcFluVjBiM0p6TGx4dUx5OWNiaTh2SUZCbGNtMXBjM05wYjI0Z2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRc0lHWnlaV1VnYjJZZ1kyaGhjbWRsTENCMGJ5QmhibmtnY0dWeWMyOXVJRzlpZEdGcGJtbHVaeUJoWEc0dkx5QmpiM0I1SUc5bUlIUm9hWE1nYzI5bWRIZGhjbVVnWVc1a0lHRnpjMjlqYVdGMFpXUWdaRzlqZFcxbGJuUmhkR2x2YmlCbWFXeGxjeUFvZEdobFhHNHZMeUJjSWxOdlpuUjNZWEpsWENJcExDQjBieUJrWldGc0lHbHVJSFJvWlNCVGIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhKbGMzUnlhV04wYVc5dUxDQnBibU5zZFdScGJtZGNiaTh2SUhkcGRHaHZkWFFnYkdsdGFYUmhkR2x2YmlCMGFHVWdjbWxuYUhSeklIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0J0WlhKblpTd2djSFZpYkdsemFDeGNiaTh2SUdScGMzUnlhV0oxZEdVc0lITjFZbXhwWTJWdWMyVXNJR0Z1WkM5dmNpQnpaV3hzSUdOdmNHbGxjeUJ2WmlCMGFHVWdVMjltZEhkaGNtVXNJR0Z1WkNCMGJ5QndaWEp0YVhSY2JpOHZJSEJsY25OdmJuTWdkRzhnZDJodmJTQjBhR1VnVTI5bWRIZGhjbVVnYVhNZ1puVnlibWx6YUdWa0lIUnZJR1J2SUhOdkxDQnpkV0pxWldOMElIUnZJSFJvWlZ4dUx5OGdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk02WEc0dkwxeHVMeThnVkdobElHRmliM1psSUdOdmNIbHlhV2RvZENCdWIzUnBZMlVnWVc1a0lIUm9hWE1nY0dWeWJXbHpjMmx2YmlCdWIzUnBZMlVnYzJoaGJHd2dZbVVnYVc1amJIVmtaV1JjYmk4dklHbHVJR0ZzYkNCamIzQnBaWE1nYjNJZ2MzVmljM1JoYm5ScFlXd2djRzl5ZEdsdmJuTWdiMllnZEdobElGTnZablIzWVhKbExseHVMeTljYmk4dklGUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJc0lGZEpWRWhQVlZRZ1YwRlNVa0ZPVkZrZ1QwWWdRVTVaSUV0SlRrUXNJRVZZVUZKRlUxTmNiaTh2SUU5U0lFbE5VRXhKUlVRc0lFbE9RMHhWUkVsT1J5QkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOGdWRWhGSUZkQlVsSkJUbFJKUlZNZ1QwWmNiaTh2SUUxRlVrTklRVTVVUVVKSlRFbFVXU3dnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVTVFSUU1UFRrbE9SbEpKVGtkRlRVVk9WQzRnU1U1Y2JpOHZJRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSlRJRTlTSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUVOTVFVbE5MRnh1THk4Z1JFRk5RVWRGVXlCUFVpQlBWRWhGVWlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCVVQxSlVJRTlTWEc0dkx5QlBWRWhGVWxkSlUwVXNJRUZTU1ZOSlRrY2dSbEpQVFN3Z1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVTA5R1ZGZEJVa1VnVDFJZ1ZFaEZYRzR2THlCVlUwVWdUMUlnVDFSSVJWSWdSRVZCVEVsT1IxTWdTVTRnVkVoRklGTlBSbFJYUVZKRkxseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGSmxZV1JoWW14bE8xeHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlFUjFjR3hsZUR0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzVTWldGa1lXSnNaUzVTWldGa1lXSnNaVk4wWVhSbElEMGdVbVZoWkdGaWJHVlRkR0YwWlR0Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNWNiblpoY2lCRlJTQTlJSEpsY1hWcGNtVW9KMlYyWlc1MGN5Y3BMa1YyWlc1MFJXMXBkSFJsY2p0Y2JseHVkbUZ5SUVWRmJHbHpkR1Z1WlhKRGIzVnVkQ0E5SUdaMWJtTjBhVzl1SUVWRmJHbHpkR1Z1WlhKRGIzVnVkQ2hsYldsMGRHVnlMQ0IwZVhCbEtTQjdYRzRnSUhKbGRIVnliaUJsYldsMGRHVnlMbXhwYzNSbGJtVnljeWgwZVhCbEtTNXNaVzVuZEdnN1hHNTlPMXh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNWNibHh1ZG1GeUlGTjBjbVZoYlNBOUlISmxjWFZwY21Vb0p5NHZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkSEpsWVcwbktUdGNiaThxUEM5eVpYQnNZV05sYldWdWRENHFMMXh1WEc1Y2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzVjYm5aaGNpQlBkWEpWYVc1ME9FRnljbUY1SUQwZ1oyeHZZbUZzTGxWcGJuUTRRWEp5WVhrZ2ZId2dablZ1WTNScGIyNGdLQ2tnZTMwN1hHNWNibVoxYm1OMGFXOXVJRjkxYVc1ME9FRnljbUY1Vkc5Q2RXWm1aWElvWTJoMWJtc3BJSHRjYmlBZ2NtVjBkWEp1SUVKMVptWmxjaTVtY205dEtHTm9kVzVyS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWDJselZXbHVkRGhCY25KaGVTaHZZbW9wSUh0Y2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1cGMwSjFabVpsY2lodlltb3BJSHg4SUc5aWFpQnBibk4wWVc1alpXOW1JRTkxY2xWcGJuUTRRWEp5WVhrN1hHNTlYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1WEc1Y2JuWmhjaUJrWldKMVoxVjBhV3dnUFNCeVpYRjFhWEpsS0NkMWRHbHNKeWs3WEc1Y2JuWmhjaUJrWldKMVp6dGNibHh1YVdZZ0tHUmxZblZuVlhScGJDQW1KaUJrWldKMVoxVjBhV3d1WkdWaWRXZHNiMmNwSUh0Y2JpQWdaR1ZpZFdjZ1BTQmtaV0oxWjFWMGFXd3VaR1ZpZFdkc2IyY29KM04wY21WaGJTY3BPMXh1ZlNCbGJITmxJSHRjYmlBZ1pHVmlkV2NnUFNCbWRXNWpkR2x2YmlCa1pXSjFaeWdwSUh0OU8xeHVmVnh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JseHVkbUZ5SUVKMVptWmxja3hwYzNRZ1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZZblZtWm1WeVgyeHBjM1FuS1R0Y2JseHVkbUZ5SUdSbGMzUnliM2xKYlhCc0lEMGdjbVZ4ZFdseVpTZ25MaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlJsYzNSeWIza25LVHRjYmx4dWRtRnlJRjl5WlhGMWFYSmxJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNOMFlYUmxKeWtzWEc0Z0lDQWdaMlYwU0dsbmFGZGhkR1Z5VFdGeWF5QTlJRjl5WlhGMWFYSmxMbWRsZEVocFoyaFhZWFJsY2sxaGNtczdYRzVjYm5aaGNpQmZjbVZ4ZFdseVpTUmpiMlJsY3lBOUlISmxjWFZwY21Vb0p5NHVMMlZ5Y205eWN5Y3BMbU52WkdWekxGeHVJQ0FnSUVWU1VsOUpUbFpCVEVsRVgwRlNSMTlVV1ZCRklEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVXNYRzRnSUNBZ1JWSlNYMU5VVWtWQlRWOVFWVk5JWDBGR1ZFVlNYMFZQUmlBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOVRWRkpGUVUxZlVGVlRTRjlCUmxSRlVsOUZUMFlzWEc0Z0lDQWdSVkpTWDAxRlZFaFBSRjlPVDFSZlNVMVFURVZOUlU1VVJVUWdQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDeGNiaUFnSUNCRlVsSmZVMVJTUlVGTlgxVk9VMGhKUmxSZlFVWlVSVkpmUlU1RVgwVldSVTVVSUQwZ1gzSmxjWFZwY21Va1kyOWtaWE11UlZKU1gxTlVVa1ZCVFY5VlRsTklTVVpVWDBGR1ZFVlNYMFZPUkY5RlZrVk9WRHNnTHk4Z1RHRjZlU0JzYjJGa1pXUWdkRzhnYVcxd2NtOTJaU0IwYUdVZ2MzUmhjblIxY0NCd1pYSm1iM0p0WVc1alpTNWNibHh1WEc1MllYSWdVM1J5YVc1blJHVmpiMlJsY2p0Y2JuWmhjaUJqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSTdYRzUyWVhJZ1puSnZiVHRjYmx4dWNtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktTaFNaV0ZrWVdKc1pTd2dVM1J5WldGdEtUdGNibHh1ZG1GeUlHVnljbTl5VDNKRVpYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VaWEp5YjNKUGNrUmxjM1J5YjNrN1hHNTJZWElnYTFCeWIzaDVSWFpsYm5SeklEMGdXeWRsY25KdmNpY3NJQ2RqYkc5elpTY3NJQ2RrWlhOMGNtOTVKeXdnSjNCaGRYTmxKeXdnSjNKbGMzVnRaU2RkTzF4dVhHNW1kVzVqZEdsdmJpQndjbVZ3Wlc1a1RHbHpkR1Z1WlhJb1pXMXBkSFJsY2l3Z1pYWmxiblFzSUdadUtTQjdYRzRnSUM4dklGTmhaR3g1SUhSb2FYTWdhWE1nYm05MElHTmhZMmhsWVdKc1pTQmhjeUJ6YjIxbElHeHBZbkpoY21sbGN5QmlkVzVrYkdVZ2RHaGxhWElnYjNkdVhHNGdJQzh2SUdWMlpXNTBJR1Z0YVhSMFpYSWdhVzF3YkdWdFpXNTBZWFJwYjI0Z2QybDBhQ0IwYUdWdExseHVJQ0JwWmlBb2RIbHdaVzltSUdWdGFYUjBaWEl1Y0hKbGNHVnVaRXhwYzNSbGJtVnlJRDA5UFNBblpuVnVZM1JwYjI0bktTQnlaWFIxY200Z1pXMXBkSFJsY2k1d2NtVndaVzVrVEdsemRHVnVaWElvWlhabGJuUXNJR1p1S1RzZ0x5OGdWR2hwY3lCcGN5QmhJR2hoWTJzZ2RHOGdiV0ZyWlNCemRYSmxJSFJvWVhRZ2IzVnlJR1Z5Y205eUlHaGhibVJzWlhJZ2FYTWdZWFIwWVdOb1pXUWdZbVZtYjNKbElHRnVlVnh1SUNBdkx5QjFjMlZ5YkdGdVpDQnZibVZ6TGlBZ1RrVldSVklnUkU4Z1ZFaEpVeTRnVkdocGN5QnBjeUJvWlhKbElHOXViSGtnWW1WallYVnpaU0IwYUdseklHTnZaR1VnYm1WbFpITmNiaUFnTHk4Z2RHOGdZMjl1ZEdsdWRXVWdkRzhnZDI5eWF5QjNhWFJvSUc5c1pHVnlJSFpsY25OcGIyNXpJRzltSUU1dlpHVXVhbk1nZEdoaGRDQmtieUJ1YjNRZ2FXNWpiSFZrWlZ4dUlDQXZMeUIwYUdVZ2NISmxjR1Z1WkV4cGMzUmxibVZ5S0NrZ2JXVjBhRzlrTGlCVWFHVWdaMjloYkNCcGN5QjBieUJsZG1WdWRIVmhiR3g1SUhKbGJXOTJaU0IwYUdseklHaGhZMnN1WEc1Y2JpQWdhV1lnS0NGbGJXbDBkR1Z5TGw5bGRtVnVkSE1nZkh3Z0lXVnRhWFIwWlhJdVgyVjJaVzUwYzF0bGRtVnVkRjBwSUdWdGFYUjBaWEl1YjI0b1pYWmxiblFzSUdadUtUdGxiSE5sSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0dWdGFYUjBaWEl1WDJWMlpXNTBjMXRsZG1WdWRGMHBLU0JsYldsMGRHVnlMbDlsZG1WdWRITmJaWFpsYm5SZExuVnVjMmhwWm5Rb1ptNHBPMlZzYzJVZ1pXMXBkSFJsY2k1ZlpYWmxiblJ6VzJWMlpXNTBYU0E5SUZ0bWJpd2daVzFwZEhSbGNpNWZaWFpsYm5SelcyVjJaVzUwWFYwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUZKbFlXUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2djM1J5WldGdExDQnBjMFIxY0d4bGVDa2dlMXh1SUNCRWRYQnNaWGdnUFNCRWRYQnNaWGdnZkh3Z2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE8xeHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUc2dMeThnUkhWd2JHVjRJSE4wY21WaGJYTWdZWEpsSUdKdmRHZ2djbVZoWkdGaWJHVWdZVzVrSUhkeWFYUmhZbXhsTENCaWRYUWdjMmhoY21WY2JpQWdMeThnZEdobElITmhiV1VnYjNCMGFXOXVjeUJ2WW1wbFkzUXVYRzRnSUM4dklFaHZkMlYyWlhJc0lITnZiV1VnWTJGelpYTWdjbVZ4ZFdseVpTQnpaWFIwYVc1bklHOXdkR2x2Ym5NZ2RHOGdaR2xtWm1WeVpXNTBYRzRnSUM4dklIWmhiSFZsY3lCbWIzSWdkR2hsSUhKbFlXUmhZbXhsSUdGdVpDQjBhR1VnZDNKcGRHRmliR1VnYzJsa1pYTWdiMllnZEdobElHUjFjR3hsZUNCemRISmxZVzB1WEc0Z0lDOHZJRlJvWlhObElHOXdkR2x2Ym5NZ1kyRnVJR0psSUhCeWIzWnBaR1ZrSUhObGNHRnlZWFJsYkhrZ1lYTWdjbVZoWkdGaWJHVllXRmdnWVc1a0lIZHlhWFJoWW14bFdGaFlMbHh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdhWE5FZFhCc1pYZ2dJVDA5SUNkaWIyOXNaV0Z1SnlrZ2FYTkVkWEJzWlhnZ1BTQnpkSEpsWVcwZ2FXNXpkR0Z1WTJWdlppQkVkWEJzWlhnN0lDOHZJRzlpYW1WamRDQnpkSEpsWVcwZ1pteGhaeTRnVlhObFpDQjBieUJ0WVd0bElISmxZV1FvYmlrZ2FXZHViM0psSUc0Z1lXNWtJSFJ2WEc0Z0lDOHZJRzFoYTJVZ1lXeHNJSFJvWlNCaWRXWm1aWElnYldWeVoybHVaeUJoYm1RZ2JHVnVaM1JvSUdOb1pXTnJjeUJuYnlCaGQyRjVYRzVjYmlBZ2RHaHBjeTV2WW1wbFkzUk5iMlJsSUQwZ0lTRnZjSFJwYjI1ekxtOWlhbVZqZEUxdlpHVTdYRzRnSUdsbUlDaHBjMFIxY0d4bGVDa2dkR2hwY3k1dlltcGxZM1JOYjJSbElEMGdkR2hwY3k1dlltcGxZM1JOYjJSbElIeDhJQ0VoYjNCMGFXOXVjeTV5WldGa1lXSnNaVTlpYW1WamRFMXZaR1U3SUM4dklIUm9aU0J3YjJsdWRDQmhkQ0IzYUdsamFDQnBkQ0J6ZEc5d2N5QmpZV3hzYVc1bklGOXlaV0ZrS0NrZ2RHOGdabWxzYkNCMGFHVWdZblZtWm1WeVhHNGdJQzh2SUU1dmRHVTZJREFnYVhNZ1lTQjJZV3hwWkNCMllXeDFaU3dnYldWaGJuTWdYQ0prYjI0bmRDQmpZV3hzSUY5eVpXRmtJSEJ5WldWdGNIUnBkbVZzZVNCbGRtVnlYQ0pjYmx4dUlDQjBhR2x6TG1ocFoyaFhZWFJsY2sxaGNtc2dQU0JuWlhSSWFXZG9WMkYwWlhKTllYSnJLSFJvYVhNc0lHOXdkR2x2Ym5Nc0lDZHlaV0ZrWVdKc1pVaHBaMmhYWVhSbGNrMWhjbXNuTENCcGMwUjFjR3hsZUNrN0lDOHZJRUVnYkdsdWEyVmtJR3hwYzNRZ2FYTWdkWE5sWkNCMGJ5QnpkRzl5WlNCa1lYUmhJR05vZFc1cmN5QnBibk4wWldGa0lHOW1JR0Z1SUdGeWNtRjVJR0psWTJGMWMyVWdkR2hsWEc0Z0lDOHZJR3hwYm10bFpDQnNhWE4wSUdOaGJpQnlaVzF2ZG1VZ1pXeGxiV1Z1ZEhNZ1puSnZiU0IwYUdVZ1ltVm5hVzV1YVc1bklHWmhjM1JsY2lCMGFHRnVYRzRnSUM4dklHRnljbUY1TG5Ob2FXWjBLQ2xjYmx4dUlDQjBhR2x6TG1KMVptWmxjaUE5SUc1bGR5QkNkV1ptWlhKTWFYTjBLQ2s3WEc0Z0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JpQWdkR2hwY3k1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXVjR2x3WlhORGIzVnVkQ0E5SURBN1hHNGdJSFJvYVhNdVpteHZkMmx1WnlBOUlHNTFiR3c3WEc0Z0lIUm9hWE11Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxibVJGYldsMGRHVmtJRDBnWm1Gc2MyVTdYRzRnSUhSb2FYTXVjbVZoWkdsdVp5QTlJR1poYkhObE95QXZMeUJoSUdac1lXY2dkRzhnWW1VZ1lXSnNaU0IwYnlCMFpXeHNJR2xtSUhSb1pTQmxkbVZ1ZENBbmNtVmhaR0ZpYkdVbkx5ZGtZWFJoSnlCcGN5QmxiV2wwZEdWa1hHNGdJQzh2SUdsdGJXVmthV0YwWld4NUxDQnZjaUJ2YmlCaElHeGhkR1Z5SUhScFkyc3VJQ0JYWlNCelpYUWdkR2hwY3lCMGJ5QjBjblZsSUdGMElHWnBjbk4wTENCaVpXTmhkWE5sWEc0Z0lDOHZJR0Z1ZVNCaFkzUnBiMjV6SUhSb1lYUWdjMmh2ZFd4a2JpZDBJR2hoY0hCbGJpQjFiblJwYkNCY0lteGhkR1Z5WENJZ2MyaHZkV3hrSUdkbGJtVnlZV3hzZVNCaGJITnZYRzRnSUM4dklHNXZkQ0JvWVhCd1pXNGdZbVZtYjNKbElIUm9aU0JtYVhKemRDQnlaV0ZrSUdOaGJHd3VYRzVjYmlBZ2RHaHBjeTV6ZVc1aklEMGdkSEoxWlRzZ0x5OGdkMmhsYm1WMlpYSWdkMlVnY21WMGRYSnVJRzUxYkd3c0lIUm9aVzRnZDJVZ2MyVjBJR0VnWm14aFp5QjBieUJ6WVhsY2JpQWdMeThnZEdoaGRDQjNaU2R5WlNCaGQyRnBkR2x1WnlCaElDZHlaV0ZrWVdKc1pTY2daWFpsYm5RZ1pXMXBjM05wYjI0dVhHNWNiaUFnZEdocGN5NXVaV1ZrVW1WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ2RHaHBjeTVsYldsMGRHVmtVbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NXlaV0ZrWVdKc1pVeHBjM1JsYm1sdVp5QTlJR1poYkhObE8xeHVJQ0IwYUdsekxuSmxjM1Z0WlZOamFHVmtkV3hsWkNBOUlHWmhiSE5sTzF4dUlDQjBhR2x6TG5CaGRYTmxaQ0E5SUhSeWRXVTdJQzh2SUZOb2IzVnNaQ0JqYkc5elpTQmlaU0JsYldsMGRHVmtJRzl1SUdSbGMzUnliM2t1SUVSbFptRjFiSFJ6SUhSdklIUnlkV1V1WEc1Y2JpQWdkR2hwY3k1bGJXbDBRMnh2YzJVZ1BTQnZjSFJwYjI1ekxtVnRhWFJEYkc5elpTQWhQVDBnWm1Gc2MyVTdJQzh2SUZOb2IzVnNaQ0F1WkdWemRISnZlU2dwSUdKbElHTmhiR3hsWkNCaFpuUmxjaUFuWlc1a0p5QW9ZVzVrSUhCdmRHVnVkR2xoYkd4NUlDZG1hVzVwYzJnbktWeHVYRzRnSUhSb2FYTXVZWFYwYjBSbGMzUnliM2tnUFNBaElXOXdkR2x2Ym5NdVlYVjBiMFJsYzNSeWIzazdJQzh2SUdoaGN5QnBkQ0JpWldWdUlHUmxjM1J5YjNsbFpGeHVYRzRnSUhSb2FYTXVaR1Z6ZEhKdmVXVmtJRDBnWm1Gc2MyVTdJQzh2SUVOeWVYQjBieUJwY3lCcmFXNWtJRzltSUc5c1pDQmhibVFnWTNKMWMzUjVMaUFnU0dsemRHOXlhV05oYkd4NUxDQnBkSE1nWkdWbVlYVnNkQ0J6ZEhKcGJtZGNiaUFnTHk4Z1pXNWpiMlJwYm1jZ2FYTWdKMkpwYm1GeWVTY2djMjhnZDJVZ2FHRjJaU0IwYnlCdFlXdGxJSFJvYVhNZ1kyOXVabWxuZFhKaFlteGxMbHh1SUNBdkx5QkZkbVZ5ZVhSb2FXNW5JR1ZzYzJVZ2FXNGdkR2hsSUhWdWFYWmxjbk5sSUhWelpYTWdKM1YwWmpnbkxDQjBhRzkxWjJndVhHNWNiaUFnZEdocGN5NWtaV1poZFd4MFJXNWpiMlJwYm1jZ1BTQnZjSFJwYjI1ekxtUmxabUYxYkhSRmJtTnZaR2x1WnlCOGZDQW5kWFJtT0NjN0lDOHZJSFJvWlNCdWRXMWlaWElnYjJZZ2QzSnBkR1Z5Y3lCMGFHRjBJR0Z5WlNCaGQyRnBkR2x1WnlCaElHUnlZV2x1SUdWMlpXNTBJR2x1SUM1d2FYQmxLQ2x6WEc1Y2JpQWdkR2hwY3k1aGQyRnBkRVJ5WVdsdUlEMGdNRHNnTHk4Z2FXWWdkSEoxWlN3Z1lTQnRZWGxpWlZKbFlXUk5iM0psSUdoaGN5QmlaV1Z1SUhOamFHVmtkV3hsWkZ4dVhHNGdJSFJvYVhNdWNtVmhaR2x1WjAxdmNtVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWtaV052WkdWeUlEMGdiblZzYkR0Y2JpQWdkR2hwY3k1bGJtTnZaR2x1WnlBOUlHNTFiR3c3WEc1Y2JpQWdhV1lnS0c5d2RHbHZibk11Wlc1amIyUnBibWNwSUh0Y2JpQWdJQ0JwWmlBb0lWTjBjbWx1WjBSbFkyOWtaWElwSUZOMGNtbHVaMFJsWTI5a1pYSWdQU0J5WlhGMWFYSmxLQ2R6ZEhKcGJtZGZaR1ZqYjJSbGNpOG5LUzVUZEhKcGJtZEVaV052WkdWeU8xeHVJQ0FnSUhSb2FYTXVaR1ZqYjJSbGNpQTlJRzVsZHlCVGRISnBibWRFWldOdlpHVnlLRzl3ZEdsdmJuTXVaVzVqYjJScGJtY3BPMXh1SUNBZ0lIUm9hWE11Wlc1amIyUnBibWNnUFNCdmNIUnBiMjV6TG1WdVkyOWthVzVuTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlGSmxZV1JoWW14bEtHOXdkR2x2Ym5NcElIdGNiaUFnUkhWd2JHVjRJRDBnUkhWd2JHVjRJSHg4SUhKbGNYVnBjbVVvSnk0dlgzTjBjbVZoYlY5a2RYQnNaWGduS1R0Y2JpQWdhV1lnS0NFb2RHaHBjeUJwYm5OMFlXNWpaVzltSUZKbFlXUmhZbXhsS1NrZ2NtVjBkWEp1SUc1bGR5QlNaV0ZrWVdKc1pTaHZjSFJwYjI1ektUc2dMeThnUTJobFkydHBibWNnWm05eUlHRWdVM1J5WldGdExrUjFjR3hsZUNCcGJuTjBZVzVqWlNCcGN5Qm1ZWE4wWlhJZ2FHVnlaU0JwYm5OMFpXRmtJRzltSUdsdWMybGtaVnh1SUNBdkx5QjBhR1VnVW1WaFpHRmliR1ZUZEdGMFpTQmpiMjV6ZEhKMVkzUnZjaXdnWVhRZ2JHVmhjM1FnZDJsMGFDQldPQ0EyTGpWY2JseHVJQ0IyWVhJZ2FYTkVkWEJzWlhnZ1BTQjBhR2x6SUdsdWMzUmhibU5sYjJZZ1JIVndiR1Y0TzF4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJRDBnYm1WM0lGSmxZV1JoWW14bFUzUmhkR1VvYjNCMGFXOXVjeXdnZEdocGN5d2dhWE5FZFhCc1pYZ3BPeUF2THlCc1pXZGhZM2xjYmx4dUlDQjBhR2x6TG5KbFlXUmhZbXhsSUQwZ2RISjFaVHRjYmx4dUlDQnBaaUFvYjNCMGFXOXVjeWtnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeTV5WldGa0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCMGFHbHpMbDl5WldGa0lEMGdiM0IwYVc5dWN5NXlaV0ZrTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeTVrWlhOMGNtOTVJRDA5UFNBblpuVnVZM1JwYjI0bktTQjBhR2x6TGw5a1pYTjBjbTk1SUQwZ2IzQjBhVzl1Y3k1a1pYTjBjbTk1TzF4dUlDQjlYRzVjYmlBZ1UzUnlaV0Z0TG1OaGJHd29kR2hwY3lrN1hHNTlYRzVjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaFNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXNJQ2RrWlhOMGNtOTVaV1FuTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzVrWlhOMGNtOTVaV1E3WEc0Z0lIMHNYRzRnSUhObGREb2dablZ1WTNScGIyNGdjMlYwS0haaGJIVmxLU0I3WEc0Z0lDQWdMeThnZDJVZ2FXZHViM0psSUhSb1pTQjJZV3gxWlNCcFppQjBhR1VnYzNSeVpXRnRYRzRnSUNBZ0x5OGdhR0Z6SUc1dmRDQmlaV1Z1SUdsdWFYUnBZV3hwZW1Wa0lIbGxkRnh1SUNBZ0lHbG1JQ2doZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDBnTHk4Z1ltRmphM2RoY21RZ1kyOXRjR0YwYVdKcGJHbDBlU3dnZEdobElIVnpaWElnYVhNZ1pYaHdiR2xqYVhSc2VWeHVJQ0FnSUM4dklHMWhibUZuYVc1bklHUmxjM1J5YjNsbFpGeHVYRzVjYmlBZ0lDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ0E5SUhaaGJIVmxPMXh1SUNCOVhHNTlLVHRjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1a1pYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VaR1Z6ZEhKdmVUdGNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVmZFc1a1pYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VkVzVrWlhOMGNtOTVPMXh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdVgyUmxjM1J5YjNrZ1BTQm1kVzVqZEdsdmJpQW9aWEp5TENCallpa2dlMXh1SUNCallpaGxjbklwTzF4dWZUc2dMeThnVFdGdWRXRnNiSGtnYzJodmRtVWdjMjl0WlhSb2FXNW5JR2x1ZEc4Z2RHaGxJSEpsWVdRb0tTQmlkV1ptWlhJdVhHNHZMeUJVYUdseklISmxkSFZ5Ym5NZ2RISjFaU0JwWmlCMGFHVWdhR2xuYUZkaGRHVnlUV0Z5YXlCb1lYTWdibTkwSUdKbFpXNGdhR2wwSUhsbGRDeGNiaTh2SUhOcGJXbHNZWElnZEc4Z2FHOTNJRmR5YVhSaFlteGxMbmR5YVhSbEtDa2djbVYwZFhKdWN5QjBjblZsSUdsbUlIbHZkU0J6YUc5MWJHUmNiaTh2SUhkeWFYUmxLQ2tnYzI5dFpTQnRiM0psTGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV3ZFhOb0lEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5a2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjMnRwY0VOb2RXNXJRMmhsWTJzN1hHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1dlltcGxZM1JOYjJSbEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmphSFZ1YXlBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJR1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWNnZkh3Z2MzUmhkR1V1WkdWbVlYVnNkRVZ1WTI5a2FXNW5PMXh1WEc0Z0lDQWdJQ0JwWmlBb1pXNWpiMlJwYm1jZ0lUMDlJSE4wWVhSbExtVnVZMjlrYVc1bktTQjdYRzRnSUNBZ0lDQWdJR05vZFc1cklEMGdRblZtWm1WeUxtWnliMjBvWTJoMWJtc3NJR1Z1WTI5a2FXNW5LVHRjYmlBZ0lDQWdJQ0FnWlc1amIyUnBibWNnUFNBbkp6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjMnRwY0VOb2RXNXJRMmhsWTJzZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J6YTJsd1EyaDFibXREYUdWamF5QTlJSFJ5ZFdVN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2NtVmhaR0ZpYkdWQlpHUkRhSFZ1YXloMGFHbHpMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3NJR1poYkhObExDQnphMmx3UTJoMWJtdERhR1ZqYXlrN1hHNTlPeUF2THlCVmJuTm9hV1owSUhOb2IzVnNaQ0FxWVd4M1lYbHpLaUJpWlNCemIyMWxkR2hwYm1jZ1pHbHlaV04wYkhrZ2IzVjBJRzltSUhKbFlXUW9LVnh1WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNTFibk5vYVdaMElEMGdablZ1WTNScGIyNGdLR05vZFc1cktTQjdYRzRnSUhKbGRIVnliaUJ5WldGa1lXSnNaVUZrWkVOb2RXNXJLSFJvYVhNc0lHTm9kVzVyTENCdWRXeHNMQ0IwY25WbExDQm1ZV3h6WlNrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCeVpXRmtZV0pzWlVGa1pFTm9kVzVyS0hOMGNtVmhiU3dnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JoWkdSVWIwWnliMjUwTENCemEybHdRMmgxYm10RGFHVmpheWtnZTF4dUlDQmtaV0oxWnlnbmNtVmhaR0ZpYkdWQlpHUkRhSFZ1YXljc0lHTm9kVzVyS1R0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaGphSFZ1YXlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhOMFlYUmxMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCdmJrVnZaa05vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmxjanRjYmlBZ0lDQnBaaUFvSVhOcmFYQkRhSFZ1YTBOb1pXTnJLU0JsY2lBOUlHTm9kVzVyU1c1MllXeHBaQ2h6ZEdGMFpTd2dZMmgxYm1zcE8xeHVYRzRnSUNBZ2FXWWdLR1Z5S1NCN1hHNGdJQ0FnSUNCbGNuSnZjazl5UkdWemRISnZlU2h6ZEhKbFlXMHNJR1Z5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hOMFlYUmxMbTlpYW1WamRFMXZaR1VnZkh3Z1kyaDFibXNnSmlZZ1kyaDFibXN1YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQmphSFZ1YXlBaFBUMGdKM04wY21sdVp5Y2dKaVlnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VnSmlZZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LR05vZFc1cktTQWhQVDBnUW5WbVptVnlMbkJ5YjNSdmRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNCamFIVnVheUE5SUY5MWFXNTBPRUZ5Y21GNVZHOUNkV1ptWlhJb1kyaDFibXNwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9ZV1JrVkc5R2NtOXVkQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9jM1JoZEdVdVpXNWtSVzFwZEhSbFpDa2daWEp5YjNKUGNrUmxjM1J5YjNrb2MzUnlaV0Z0TENCdVpYY2dSVkpTWDFOVVVrVkJUVjlWVGxOSVNVWlVYMEZHVkVWU1gwVk9SRjlGVmtWT1ZDZ3BLVHRsYkhObElHRmtaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0IwY25WbEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jM1JoZEdVdVpXNWtaV1FwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0J1WlhjZ1JWSlNYMU5VVWtWQlRWOVFWVk5JWDBGR1ZFVlNYMFZQUmlncEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jM1JoZEdVdVpHVnpkSEp2ZVdWa0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYUmxMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2MzUmhkR1V1WkdWamIyUmxjaUFtSmlBaFpXNWpiMlJwYm1jcElIdGNiaUFnSUNBZ0lDQWdJQ0JqYUhWdWF5QTlJSE4wWVhSbExtUmxZMjlrWlhJdWQzSnBkR1VvWTJoMWJtc3BPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHpkR0YwWlM1dlltcGxZM1JOYjJSbElIeDhJR05vZFc1ckxteGxibWQwYUNBaFBUMGdNQ2tnWVdSa1EyaDFibXNvYzNSeVpXRnRMQ0J6ZEdGMFpTd2dZMmgxYm1zc0lHWmhiSE5sS1R0bGJITmxJRzFoZVdKbFVtVmhaRTF2Y21Vb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lXUmtRMmgxYm1zb2MzUnlaV0Z0TENCemRHRjBaU3dnWTJoMWJtc3NJR1poYkhObEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9JV0ZrWkZSdlJuSnZiblFwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lHMWhlV0psVW1WaFpFMXZjbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklGZGxJR05oYmlCd2RYTm9JRzF2Y21VZ1pHRjBZU0JwWmlCM1pTQmhjbVVnWW1Wc2IzY2dkR2hsSUdocFoyaFhZWFJsY2sxaGNtc3VYRzRnSUM4dklFRnNjMjhzSUdsbUlIZGxJR2hoZG1VZ2JtOGdaR0YwWVNCNVpYUXNJSGRsSUdOaGJpQnpkR0Z1WkNCemIyMWxJRzF2Y21VZ1lubDBaWE11WEc0Z0lDOHZJRlJvYVhNZ2FYTWdkRzhnZDI5eWF5QmhjbTkxYm1RZ1kyRnpaWE1nZDJobGNtVWdhSGR0UFRBc0lITjFZMmdnWVhNZ2RHaGxJSEpsY0d3dVhHNWNibHh1SUNCeVpYUjFjbTRnSVhOMFlYUmxMbVZ1WkdWa0lDWW1JQ2h6ZEdGMFpTNXNaVzVuZEdnZ1BDQnpkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJJSHg4SUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQmhaR1JVYjBaeWIyNTBLU0I3WEc0Z0lHbG1JQ2h6ZEdGMFpTNW1iRzkzYVc1bklDWW1JSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ0FtSmlBaGMzUmhkR1V1YzNsdVl5a2dlMXh1SUNBZ0lITjBZWFJsTG1GM1lXbDBSSEpoYVc0Z1BTQXdPMXh1SUNBZ0lITjBjbVZoYlM1bGJXbDBLQ2RrWVhSaEp5d2dZMmgxYm1zcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJSFZ3WkdGMFpTQjBhR1VnWW5WbVptVnlJR2x1Wm04dVhHNGdJQ0FnYzNSaGRHVXViR1Z1WjNSb0lDczlJSE4wWVhSbExtOWlhbVZqZEUxdlpHVWdQeUF4SURvZ1kyaDFibXN1YkdWdVozUm9PMXh1SUNBZ0lHbG1JQ2hoWkdSVWIwWnliMjUwS1NCemRHRjBaUzVpZFdabVpYSXVkVzV6YUdsbWRDaGphSFZ1YXlrN1pXeHpaU0J6ZEdGMFpTNWlkV1ptWlhJdWNIVnphQ2hqYUhWdWF5azdYRzRnSUNBZ2FXWWdLSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU2tnWlcxcGRGSmxZV1JoWW14bEtITjBjbVZoYlNrN1hHNGdJSDFjYmx4dUlDQnRZWGxpWlZKbFlXUk5iM0psS0hOMGNtVmhiU3dnYzNSaGRHVXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmphSFZ1YTBsdWRtRnNhV1FvYzNSaGRHVXNJR05vZFc1cktTQjdYRzRnSUhaaGNpQmxjanRjYmx4dUlDQnBaaUFvSVY5cGMxVnBiblE0UVhKeVlYa29ZMmgxYm1zcElDWW1JSFI1Y0dWdlppQmphSFZ1YXlBaFBUMGdKM04wY21sdVp5Y2dKaVlnWTJoMWJtc2dJVDA5SUhWdVpHVm1hVzVsWkNBbUppQWhjM1JoZEdVdWIySnFaV04wVFc5a1pTa2dlMXh1SUNBZ0lHVnlJRDBnYm1WM0lFVlNVbDlKVGxaQlRFbEVYMEZTUjE5VVdWQkZLQ2RqYUhWdWF5Y3NJRnNuYzNSeWFXNW5KeXdnSjBKMVptWmxjaWNzSUNkVmFXNTBPRUZ5Y21GNUoxMHNJR05vZFc1cktUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxjanRjYm4xY2JseHVVbVZoWkdGaWJHVXVjSEp2ZEc5MGVYQmxMbWx6VUdGMWMyVmtJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzVtYkc5M2FXNW5JRDA5UFNCbVlXeHpaVHRjYm4wN0lDOHZJR0poWTJ0M1lYSmtjeUJqYjIxd1lYUnBZbWxzYVhSNUxseHVYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1elpYUkZibU52WkdsdVp5QTlJR1oxYm1OMGFXOXVJQ2hsYm1NcElIdGNiaUFnYVdZZ0tDRlRkSEpwYm1kRVpXTnZaR1Z5S1NCVGRISnBibWRFWldOdlpHVnlJRDBnY21WeGRXbHlaU2duYzNSeWFXNW5YMlJsWTI5a1pYSXZKeWt1VTNSeWFXNW5SR1ZqYjJSbGNqdGNiaUFnZG1GeUlHUmxZMjlrWlhJZ1BTQnVaWGNnVTNSeWFXNW5SR1ZqYjJSbGNpaGxibU1wTzF4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsWTI5a1pYSWdQU0JrWldOdlpHVnlPeUF2THlCSlppQnpaWFJGYm1OdlpHbHVaeWh1ZFd4c0tTd2daR1ZqYjJSbGNpNWxibU52WkdsdVp5QmxjWFZoYkhNZ2RYUm1PRnh1WEc0Z0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaVzVqYjJScGJtY2dQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1SbFkyOWtaWEl1Wlc1amIyUnBibWM3SUM4dklFbDBaWEpoZEdVZ2IzWmxjaUJqZFhKeVpXNTBJR0oxWm1abGNpQjBieUJqYjI1MlpYSjBJR0ZzY21WaFpIa2djM1J2Y21Wa0lFSjFabVpsY25NNlhHNWNiaUFnZG1GeUlIQWdQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1KMVptWmxjaTVvWldGa08xeHVJQ0IyWVhJZ1kyOXVkR1Z1ZENBOUlDY25PMXh1WEc0Z0lIZG9hV3hsSUNod0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1kyOXVkR1Z1ZENBclBTQmtaV052WkdWeUxuZHlhWFJsS0hBdVpHRjBZU2s3WEc0Z0lDQWdjQ0E5SUhBdWJtVjRkRHRjYmlBZ2ZWeHVYRzRnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVluVm1abVZ5TG1Oc1pXRnlLQ2s3WEc1Y2JpQWdhV1lnS0dOdmJuUmxiblFnSVQwOUlDY25LU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1KMVptWmxjaTV3ZFhOb0tHTnZiblJsYm5RcE8xeHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG14bGJtZDBhQ0E5SUdOdmJuUmxiblF1YkdWdVozUm9PMXh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3SUM4dklFUnZiaWQwSUhKaGFYTmxJSFJvWlNCb2QyMGdQaUF4UjBKY2JseHVYRzUyWVhJZ1RVRllYMGhYVFNBOUlEQjROREF3TURBd01EQTdYRzVjYm1aMWJtTjBhVzl1SUdOdmJYQjFkR1ZPWlhkSWFXZG9WMkYwWlhKTllYSnJLRzRwSUh0Y2JpQWdhV1lnS0c0Z1BqMGdUVUZZWDBoWFRTa2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2NtOXVZV2NwT2lCVWFISnZkeUJGVWxKZlZrRk1WVVZmVDFWVVgwOUdYMUpCVGtkRkxseHVJQ0FnSUc0Z1BTQk5RVmhmU0ZkTk8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRWRsZENCMGFHVWdibVY0ZENCb2FXZG9aWE4wSUhCdmQyVnlJRzltSURJZ2RHOGdjSEpsZG1WdWRDQnBibU55WldGemFXNW5JR2gzYlNCbGVHTmxjM05wZG1Wc2VTQnBibHh1SUNBZ0lDOHZJSFJwYm5rZ1lXMXZkVzUwYzF4dUlDQWdJRzR0TFR0Y2JpQWdJQ0J1SUh3OUlHNGdQajQrSURFN1hHNGdJQ0FnYmlCOFBTQnVJRDQrUGlBeU8xeHVJQ0FnSUc0Z2ZEMGdiaUErUGo0Z05EdGNiaUFnSUNCdUlIdzlJRzRnUGo0K0lEZzdYRzRnSUNBZ2JpQjhQU0J1SUQ0K1BpQXhOanRjYmlBZ0lDQnVLeXM3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYmp0Y2JuMGdMeThnVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUJrWlhOcFoyNWxaQ0IwYnlCaVpTQnBibXhwYm1GaWJHVXNJSE52SUhCc1pXRnpaU0IwWVd0bElHTmhjbVVnZDJobGJpQnRZV3RwYm1kY2JpOHZJR05vWVc1blpYTWdkRzhnZEdobElHWjFibU4wYVc5dUlHSnZaSGt1WEc1Y2JseHVablZ1WTNScGIyNGdhRzkzVFhWamFGUnZVbVZoWkNodUxDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb2JpQThQU0F3SUh4OElITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01DQW1KaUJ6ZEdGMFpTNWxibVJsWkNrZ2NtVjBkWEp1SURBN1hHNGdJR2xtSUNoemRHRjBaUzV2WW1wbFkzUk5iMlJsS1NCeVpYUjFjbTRnTVR0Y2JseHVJQ0JwWmlBb2JpQWhQVDBnYmlrZ2UxeHVJQ0FnSUM4dklFOXViSGtnWm14dmR5QnZibVVnWW5WbVptVnlJR0YwSUdFZ2RHbHRaVnh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNW1iRzkzYVc1bklDWW1JSE4wWVhSbExteGxibWQwYUNrZ2NtVjBkWEp1SUhOMFlYUmxMbUoxWm1abGNpNW9aV0ZrTG1SaGRHRXViR1Z1WjNSb08yVnNjMlVnY21WMGRYSnVJSE4wWVhSbExteGxibWQwYUR0Y2JpQWdmU0F2THlCSlppQjNaU2R5WlNCaGMydHBibWNnWm05eUlHMXZjbVVnZEdoaGJpQjBhR1VnWTNWeWNtVnVkQ0JvZDIwc0lIUm9aVzRnY21GcGMyVWdkR2hsSUdoM2JTNWNibHh1WEc0Z0lHbG1JQ2h1SUQ0Z2MzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF5a2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUE5SUdOdmJYQjFkR1ZPWlhkSWFXZG9WMkYwWlhKTllYSnJLRzRwTzF4dUlDQnBaaUFvYmlBOFBTQnpkR0YwWlM1c1pXNW5kR2dwSUhKbGRIVnliaUJ1T3lBdkx5QkViMjRuZENCb1lYWmxJR1Z1YjNWbmFGeHVYRzRnSUdsbUlDZ2hjM1JoZEdVdVpXNWtaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNXVaV1ZrVW1WaFpHRmliR1VnUFNCMGNuVmxPMXh1SUNBZ0lISmxkSFZ5YmlBd08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlITjBZWFJsTG14bGJtZDBhRHRjYm4wZ0x5OGdlVzkxSUdOaGJpQnZkbVZ5Y21sa1pTQmxhWFJvWlhJZ2RHaHBjeUJ0WlhSb2IyUXNJRzl5SUhSb1pTQmhjM2x1WXlCZmNtVmhaQ2h1S1NCaVpXeHZkeTVjYmx4dVhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVjbVZoWkNBOUlHWjFibU4wYVc5dUlDaHVLU0I3WEc0Z0lHUmxZblZuS0NkeVpXRmtKeXdnYmlrN1hHNGdJRzRnUFNCd1lYSnpaVWx1ZENodUxDQXhNQ2s3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lIWmhjaUJ1VDNKcFp5QTlJRzQ3WEc0Z0lHbG1JQ2h1SUNFOVBTQXdLU0J6ZEdGMFpTNWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlRzZ0x5OGdhV1lnZDJVbmNtVWdaRzlwYm1jZ2NtVmhaQ2d3S1NCMGJ5QjBjbWxuWjJWeUlHRWdjbVZoWkdGaWJHVWdaWFpsYm5Rc0lHSjFkQ0IzWlZ4dUlDQXZMeUJoYkhKbFlXUjVJR2hoZG1VZ1lTQmlkVzVqYUNCdlppQmtZWFJoSUdsdUlIUm9aU0JpZFdabVpYSXNJSFJvWlc0Z2FuVnpkQ0IwY21sbloyVnlYRzRnSUM4dklIUm9aU0FuY21WaFpHRmliR1VuSUdWMlpXNTBJR0Z1WkNCdGIzWmxJRzl1TGx4dVhHNGdJR2xtSUNodUlEMDlQU0F3SUNZbUlITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTQW1KaUFvS0hOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zZ0lUMDlJREFnUHlCemRHRjBaUzVzWlc1bmRHZ2dQajBnYzNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXlBNklITjBZWFJsTG14bGJtZDBhQ0ErSURBcElIeDhJSE4wWVhSbExtVnVaR1ZrS1NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R5WldGa09pQmxiV2wwVW1WaFpHRmliR1VuTENCemRHRjBaUzVzWlc1bmRHZ3NJSE4wWVhSbExtVnVaR1ZrS1R0Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0lDWW1JSE4wWVhSbExtVnVaR1ZrS1NCbGJtUlNaV0ZrWVdKc1pTaDBhR2x6S1R0bGJITmxJR1Z0YVhSU1pXRmtZV0pzWlNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUc0Z1BTQm9iM2ROZFdOb1ZHOVNaV0ZrS0c0c0lITjBZWFJsS1RzZ0x5OGdhV1lnZDJVbmRtVWdaVzVrWldRc0lHRnVaQ0IzWlNkeVpTQnViM2NnWTJ4bFlYSXNJSFJvWlc0Z1ptbHVhWE5vSUdsMElIVndMbHh1WEc0Z0lHbG1JQ2h1SUQwOVBTQXdJQ1ltSUhOMFlYUmxMbVZ1WkdWa0tTQjdYRzRnSUNBZ2FXWWdLSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ2tnWlc1a1VtVmhaR0ZpYkdVb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdMeThnUVd4c0lIUm9aU0JoWTNSMVlXd2dZMmgxYm1zZ1oyVnVaWEpoZEdsdmJpQnNiMmRwWXlCdVpXVmtjeUIwYnlCaVpWeHVJQ0F2THlBcVltVnNiM2NxSUhSb1pTQmpZV3hzSUhSdklGOXlaV0ZrTGlBZ1ZHaGxJSEpsWVhOdmJpQnBjeUIwYUdGMElHbHVJR05sY25SaGFXNWNiaUFnTHk4Z2MzbHVkR2hsZEdsaklITjBjbVZoYlNCallYTmxjeXdnYzNWamFDQmhjeUJ3WVhOemRHaHliM1ZuYUNCemRISmxZVzF6TENCZmNtVmhaRnh1SUNBdkx5QnRZWGtnWW1VZ1lTQmpiMjF3YkdWMFpXeDVJSE41Ym1Ob2NtOXViM1Z6SUc5d1pYSmhkR2x2YmlCM2FHbGphQ0J0WVhrZ1kyaGhibWRsWEc0Z0lDOHZJSFJvWlNCemRHRjBaU0J2WmlCMGFHVWdjbVZoWkNCaWRXWm1aWElzSUhCeWIzWnBaR2x1WnlCbGJtOTFaMmdnWkdGMFlTQjNhR1Z1WEc0Z0lDOHZJR0psWm05eVpTQjBhR1Z5WlNCM1lYTWdLbTV2ZENvZ1pXNXZkV2RvTGx4dUlDQXZMMXh1SUNBdkx5QlRieXdnZEdobElITjBaWEJ6SUdGeVpUcGNiaUFnTHk4Z01TNGdSbWxuZFhKbElHOTFkQ0IzYUdGMElIUm9aU0J6ZEdGMFpTQnZaaUIwYUdsdVozTWdkMmxzYkNCaVpTQmhablJsY2lCM1pTQmtiMXh1SUNBdkx5QmhJSEpsWVdRZ1puSnZiU0IwYUdVZ1luVm1abVZ5TGx4dUlDQXZMMXh1SUNBdkx5QXlMaUJKWmlCMGFHRjBJSEpsYzNWc2RHbHVaeUJ6ZEdGMFpTQjNhV3hzSUhSeWFXZG5aWElnWVNCZmNtVmhaQ3dnZEdobGJpQmpZV3hzSUY5eVpXRmtMbHh1SUNBdkx5Qk9iM1JsSUhSb1lYUWdkR2hwY3lCdFlYa2dZbVVnWVhONWJtTm9jbTl1YjNWekxDQnZjaUJ6ZVc1amFISnZibTkxY3k0Z0lGbGxjeXdnYVhRZ2FYTmNiaUFnTHk4Z1pHVmxjR3g1SUhWbmJIa2dkRzhnZDNKcGRHVWdRVkJKY3lCMGFHbHpJSGRoZVN3Z1luVjBJSFJvWVhRZ2MzUnBiR3dnWkc5bGMyNG5kQ0J0WldGdVhHNGdJQzh2SUhSb1lYUWdkR2hsSUZKbFlXUmhZbXhsSUdOc1lYTnpJSE5vYjNWc1pDQmlaV2hoZG1VZ2FXMXdjbTl3WlhKc2VTd2dZWE1nYzNSeVpXRnRjeUJoY21WY2JpQWdMeThnWkdWemFXZHVaV1FnZEc4Z1ltVWdjM2x1WXk5aGMzbHVZeUJoWjI1dmMzUnBZeTVjYmlBZ0x5OGdWR0ZyWlNCdWIzUmxJR2xtSUhSb1pTQmZjbVZoWkNCallXeHNJR2x6SUhONWJtTWdiM0lnWVhONWJtTWdLR2xsTENCcFppQjBhR1VnY21WaFpDQmpZV3hzWEc0Z0lDOHZJR2hoY3lCeVpYUjFjbTVsWkNCNVpYUXBMQ0J6YnlCMGFHRjBJSGRsSUd0dWIzY2dkMmhsZEdobGNpQnZjaUJ1YjNRZ2FYUW5jeUJ6WVdabElIUnZJR1Z0YVhSY2JpQWdMeThnSjNKbFlXUmhZbXhsSnlCbGRHTXVYRzRnSUM4dlhHNGdJQzh2SURNdUlFRmpkSFZoYkd4NUlIQjFiR3dnZEdobElISmxjWFZsYzNSbFpDQmphSFZ1YTNNZ2IzVjBJRzltSUhSb1pTQmlkV1ptWlhJZ1lXNWtJSEpsZEhWeWJpNWNiaUFnTHk4Z2FXWWdkMlVnYm1WbFpDQmhJSEpsWVdSaFlteGxJR1YyWlc1MExDQjBhR1Z1SUhkbElHNWxaV1FnZEc4Z1pHOGdjMjl0WlNCeVpXRmthVzVuTGx4dVhHNWNiaUFnZG1GeUlHUnZVbVZoWkNBOUlITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pUdGNiaUFnWkdWaWRXY29KMjVsWldRZ2NtVmhaR0ZpYkdVbkxDQmtiMUpsWVdRcE95QXZMeUJwWmlCM1pTQmpkWEp5Wlc1MGJIa2dhR0YyWlNCc1pYTnpJSFJvWVc0Z2RHaGxJR2hwWjJoWFlYUmxjazFoY21zc0lIUm9aVzRnWVd4emJ5QnlaV0ZrSUhOdmJXVmNibHh1SUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdJSHg4SUhOMFlYUmxMbXhsYm1kMGFDQXRJRzRnUENCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKcktTQjdYRzRnSUNBZ1pHOVNaV0ZrSUQwZ2RISjFaVHRjYmlBZ0lDQmtaV0oxWnlnbmJHVnVaM1JvSUd4bGMzTWdkR2hoYmlCM1lYUmxjbTFoY21zbkxDQmtiMUpsWVdRcE8xeHVJQ0I5SUM4dklHaHZkMlYyWlhJc0lHbG1JSGRsSjNabElHVnVaR1ZrTENCMGFHVnVJSFJvWlhKbEozTWdibThnY0c5cGJuUXNJR0Z1WkNCcFppQjNaU2R5WlNCaGJISmxZV1I1WEc0Z0lDOHZJSEpsWVdScGJtY3NJSFJvWlc0Z2FYUW5jeUIxYm01bFkyVnpjMkZ5ZVM1Y2JseHVYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUmxaQ0I4ZkNCemRHRjBaUzV5WldGa2FXNW5LU0I3WEc0Z0lDQWdaRzlTWldGa0lEMGdabUZzYzJVN1hHNGdJQ0FnWkdWaWRXY29KM0psWVdScGJtY2diM0lnWlc1a1pXUW5MQ0JrYjFKbFlXUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHUnZVbVZoWkNrZ2UxeHVJQ0FnSUdSbFluVm5LQ2RrYnlCeVpXRmtKeWs3WEc0Z0lDQWdjM1JoZEdVdWNtVmhaR2x1WnlBOUlIUnlkV1U3WEc0Z0lDQWdjM1JoZEdVdWMzbHVZeUE5SUhSeWRXVTdJQzh2SUdsbUlIUm9aU0JzWlc1bmRHZ2dhWE1nWTNWeWNtVnVkR3g1SUhwbGNtOHNJSFJvWlc0Z2QyVWdLbTVsWldRcUlHRWdjbVZoWkdGaWJHVWdaWFpsYm5RdVhHNWNiaUFnSUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdLU0J6ZEdGMFpTNXVaV1ZrVW1WaFpHRmliR1VnUFNCMGNuVmxPeUF2THlCallXeHNJR2x1ZEdWeWJtRnNJSEpsWVdRZ2JXVjBhRzlrWEc1Y2JpQWdJQ0IwYUdsekxsOXlaV0ZrS0hOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zcE8xeHVYRzRnSUNBZ2MzUmhkR1V1YzNsdVl5QTlJR1poYkhObE95QXZMeUJKWmlCZmNtVmhaQ0J3ZFhOb1pXUWdaR0YwWVNCemVXNWphSEp2Ym05MWMyeDVMQ0IwYUdWdUlHQnlaV0ZrYVc1bllDQjNhV3hzSUdKbElHWmhiSE5sTEZ4dUlDQWdJQzh2SUdGdVpDQjNaU0J1WldWa0lIUnZJSEpsTFdWMllXeDFZWFJsSUdodmR5QnRkV05vSUdSaGRHRWdkMlVnWTJGdUlISmxkSFZ5YmlCMGJ5QjBhR1VnZFhObGNpNWNibHh1SUNBZ0lHbG1JQ2doYzNSaGRHVXVjbVZoWkdsdVp5a2diaUE5SUdodmQwMTFZMmhVYjFKbFlXUW9iazl5YVdjc0lITjBZWFJsS1R0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ5WlhRN1hHNGdJR2xtSUNodUlENGdNQ2tnY21WMElEMGdabkp2YlV4cGMzUW9iaXdnYzNSaGRHVXBPMlZzYzJVZ2NtVjBJRDBnYm5Wc2JEdGNibHh1SUNCcFppQW9jbVYwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnYzNSaGRHVXVibVZsWkZKbFlXUmhZbXhsSUQwZ2MzUmhkR1V1YkdWdVozUm9JRHc5SUhOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zN1hHNGdJQ0FnYmlBOUlEQTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjM1JoZEdVdWJHVnVaM1JvSUMwOUlHNDdYRzRnSUNBZ2MzUmhkR1V1WVhkaGFYUkVjbUZwYmlBOUlEQTdYRzRnSUgxY2JseHVJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVZ2FHRjJaU0J1YjNSb2FXNW5JR2x1SUhSb1pTQmlkV1ptWlhJc0lIUm9aVzRnZDJVZ2QyRnVkQ0IwYnlCcmJtOTNYRzRnSUNBZ0x5OGdZWE1nYzI5dmJpQmhjeUIzWlNBcVpHOHFJR2RsZENCemIyMWxkR2hwYm1jZ2FXNTBieUIwYUdVZ1luVm1abVZ5TGx4dUlDQWdJR2xtSUNnaGMzUmhkR1V1Wlc1a1pXUXBJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdJQzh2SUVsbUlIZGxJSFJ5YVdWa0lIUnZJSEpsWVdRb0tTQndZWE4wSUhSb1pTQkZUMFlzSUhSb1pXNGdaVzFwZENCbGJtUWdiMjRnZEdobElHNWxlSFFnZEdsamF5NWNibHh1SUNBZ0lHbG1JQ2h1VDNKcFp5QWhQVDBnYmlBbUppQnpkR0YwWlM1bGJtUmxaQ2tnWlc1a1VtVmhaR0ZpYkdVb2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCcFppQW9jbVYwSUNFOVBTQnVkV3hzS1NCMGFHbHpMbVZ0YVhRb0oyUmhkR0VuTENCeVpYUXBPMXh1SUNCeVpYUjFjbTRnY21WME8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2IyNUZiMlpEYUhWdWF5aHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJR1JsWW5WbktDZHZia1Z2WmtOb2RXNXJKeWs3WEc0Z0lHbG1JQ2h6ZEdGMFpTNWxibVJsWkNrZ2NtVjBkWEp1TzF4dVhHNGdJR2xtSUNoemRHRjBaUzVrWldOdlpHVnlLU0I3WEc0Z0lDQWdkbUZ5SUdOb2RXNXJJRDBnYzNSaGRHVXVaR1ZqYjJSbGNpNWxibVFvS1R0Y2JseHVJQ0FnSUdsbUlDaGphSFZ1YXlBbUppQmphSFZ1YXk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbUoxWm1abGNpNXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQWdJSE4wWVhSbExteGxibWQwYUNBclBTQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNU0E2SUdOb2RXNXJMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnpkR0YwWlM1bGJtUmxaQ0E5SUhSeWRXVTdYRzVjYmlBZ2FXWWdLSE4wWVhSbExuTjVibU1wSUh0Y2JpQWdJQ0F2THlCcFppQjNaU0JoY21VZ2MzbHVZeXdnZDJGcGRDQjFiblJwYkNCdVpYaDBJSFJwWTJzZ2RHOGdaVzFwZENCMGFHVWdaR0YwWVM1Y2JpQWdJQ0F2THlCUGRHaGxjbmRwYzJVZ2QyVWdjbWx6YXlCbGJXbDBkR2x1WnlCa1lYUmhJR2x1SUhSb1pTQm1iRzkzS0NsY2JpQWdJQ0F2THlCMGFHVWdjbVZoWkdGaWJHVWdZMjlrWlNCMGNtbG5aMlZ5Y3lCa2RYSnBibWNnWVNCeVpXRmtLQ2tnWTJGc2JGeHVJQ0FnSUdWdGFYUlNaV0ZrWVdKc1pTaHpkSEpsWVcwcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJR1Z0YVhRZ0ozSmxZV1JoWW14bEp5QnViM2NnZEc4Z2JXRnJaU0J6ZFhKbElHbDBJR2RsZEhNZ2NHbGphMlZrSUhWd0xseHVJQ0FnSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBOUlHWmhiSE5sTzF4dVhHNGdJQ0FnYVdZZ0tDRnpkR0YwWlM1bGJXbDBkR1ZrVW1WaFpHRmliR1VwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCbGJXbDBVbVZoWkdGaWJHVmZLSE4wY21WaGJTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OUlDOHZJRVJ2YmlkMElHVnRhWFFnY21WaFpHRmliR1VnY21sbmFIUWdZWGRoZVNCcGJpQnplVzVqSUcxdlpHVXNJR0psWTJGMWMyVWdkR2hwY3lCallXNGdkSEpwWjJkbGNseHVMeThnWVc1dmRHaGxjaUJ5WldGa0tDa2dZMkZzYkNBOVBpQnpkR0ZqYXlCdmRtVnlabXh2ZHk0Z0lGUm9hWE1nZDJGNUxDQnBkQ0J0YVdkb2RDQjBjbWxuWjJWeVhHNHZMeUJoSUc1bGVIUlVhV05ySUhKbFkzVnljMmx2YmlCM1lYSnVhVzVuTENCaWRYUWdkR2hoZENkeklHNXZkQ0J6YnlCaVlXUXVYRzVjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRkpsWVdSaFlteGxLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lHUmxZblZuS0NkbGJXbDBVbVZoWkdGaWJHVW5MQ0J6ZEdGMFpTNXVaV1ZrVW1WaFpHRmliR1VzSUhOMFlYUmxMbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTazdYRzRnSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBOUlHWmhiSE5sTzF4dVhHNGdJR2xtSUNnaGMzUmhkR1V1WlcxcGRIUmxaRkpsWVdSaFlteGxLU0I3WEc0Z0lDQWdaR1ZpZFdjb0oyVnRhWFJTWldGa1lXSnNaU2NzSUhOMFlYUmxMbVpzYjNkcGJtY3BPMXh1SUNBZ0lITjBZWFJsTG1WdGFYUjBaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobGJXbDBVbVZoWkdGaWJHVmZMQ0J6ZEhKbFlXMHBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdWdGFYUlNaV0ZrWVdKc1pWOG9jM1J5WldGdEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlITjBjbVZoYlM1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ1pHVmlkV2NvSjJWdGFYUlNaV0ZrWVdKc1pWOG5MQ0J6ZEdGMFpTNWtaWE4wY205NVpXUXNJSE4wWVhSbExteGxibWQwYUN3Z2MzUmhkR1V1Wlc1a1pXUXBPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaR1Z6ZEhKdmVXVmtJQ1ltSUNoemRHRjBaUzVzWlc1bmRHZ2dmSHdnYzNSaGRHVXVaVzVrWldRcEtTQjdYRzRnSUNBZ2MzUnlaV0Z0TG1WdGFYUW9KM0psWVdSaFlteGxKeWs3WEc0Z0lDQWdjM1JoZEdVdVpXMXBkSFJsWkZKbFlXUmhZbXhsSUQwZ1ptRnNjMlU3WEc0Z0lIMGdMeThnVkdobElITjBjbVZoYlNCdVpXVmtjeUJoYm05MGFHVnlJSEpsWVdSaFlteGxJR1YyWlc1MElHbG1YRzRnSUM4dklERXVJRWwwSUdseklHNXZkQ0JtYkc5M2FXNW5MQ0JoY3lCMGFHVWdabXh2ZHlCdFpXTm9ZVzVwYzIwZ2QybHNiQ0IwWVd0bFhHNGdJQzh2SUNBZ0lHTmhjbVVnYjJZZ2FYUXVYRzRnSUM4dklESXVJRWwwSUdseklHNXZkQ0JsYm1SbFpDNWNiaUFnTHk4Z015NGdTWFFnYVhNZ1ltVnNiM2NnZEdobElHaHBaMmhYWVhSbGNrMWhjbXNzSUhOdklIZGxJR05oYmlCelkyaGxaSFZzWlZ4dUlDQXZMeUFnSUNCaGJtOTBhR1Z5SUhKbFlXUmhZbXhsSUd4aGRHVnlMbHh1WEc1Y2JpQWdjM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxJRDBnSVhOMFlYUmxMbVpzYjNkcGJtY2dKaVlnSVhOMFlYUmxMbVZ1WkdWa0lDWW1JSE4wWVhSbExteGxibWQwYUNBOFBTQnpkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCbWJHOTNLSE4wY21WaGJTazdYRzU5SUM4dklHRjBJSFJvYVhNZ2NHOXBiblFzSUhSb1pTQjFjMlZ5SUdoaGN5QndjbVZ6ZFcxaFlteDVJSE5sWlc0Z2RHaGxJQ2R5WldGa1lXSnNaU2NnWlhabGJuUXNYRzR2THlCaGJtUWdZMkZzYkdWa0lISmxZV1FvS1NCMGJ5QmpiMjV6ZFcxbElITnZiV1VnWkdGMFlTNGdJSFJvWVhRZ2JXRjVJR2hoZG1VZ2RISnBaMmRsY21Wa1hHNHZMeUJwYmlCMGRYSnVJR0Z1YjNSb1pYSWdYM0psWVdRb2Jpa2dZMkZzYkN3Z2FXNGdkMmhwWTJnZ1kyRnpaU0J5WldGa2FXNW5JRDBnZEhKMVpTQnBabHh1THk4Z2FYUW5jeUJwYmlCd2NtOW5jbVZ6Y3k1Y2JpOHZJRWh2ZDJWMlpYSXNJR2xtSUhkbEozSmxJRzV2ZENCbGJtUmxaQ3dnYjNJZ2NtVmhaR2x1Wnl3Z1lXNWtJSFJvWlNCc1pXNW5kR2dnUENCb2QyMHNYRzR2THlCMGFHVnVJR2R2SUdGb1pXRmtJR0Z1WkNCMGNua2dkRzhnY21WaFpDQnpiMjFsSUcxdmNtVWdjSEpsWlcxd2RHbDJaV3g1TGx4dVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFVtVmhaRTF2Y21Vb2MzUnlaV0Z0TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvSVhOMFlYUmxMbkpsWVdScGJtZE5iM0psS1NCN1hHNGdJQ0FnYzNSaGRHVXVjbVZoWkdsdVowMXZjbVVnUFNCMGNuVmxPMXh1SUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb2JXRjVZbVZTWldGa1RXOXlaVjhzSUhOMGNtVmhiU3dnYzNSaGRHVXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUcxaGVXSmxVbVZoWkUxdmNtVmZLSE4wY21WaGJTd2djM1JoZEdVcElIdGNiaUFnTHk4Z1FYUjBaVzF3ZENCMGJ5QnlaV0ZrSUcxdmNtVWdaR0YwWVNCcFppQjNaU0J6YUc5MWJHUXVYRzRnSUM4dlhHNGdJQzh2SUZSb1pTQmpiMjVrYVhScGIyNXpJR1p2Y2lCeVpXRmthVzVuSUcxdmNtVWdaR0YwWVNCaGNtVWdLRzl1WlNCdlppazZYRzRnSUM4dklDMGdUbTkwSUdWdWIzVm5hQ0JrWVhSaElHSjFabVpsY21Wa0lDaHpkR0YwWlM1c1pXNW5kR2dnUENCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKcktTNGdWR2hsSUd4dmIzQmNiaUFnTHk4Z0lDQnBjeUJ5WlhOd2IyNXphV0pzWlNCbWIzSWdabWxzYkdsdVp5QjBhR1VnWW5WbVptVnlJSGRwZEdnZ1pXNXZkV2RvSUdSaGRHRWdhV1lnYzNWamFDQmtZWFJoWEc0Z0lDOHZJQ0FnYVhNZ1lYWmhhV3hoWW14bExpQkpaaUJvYVdkb1YyRjBaWEpOWVhKcklHbHpJREFnWVc1a0lIZGxJR0Z5WlNCdWIzUWdhVzRnZEdobElHWnNiM2RwYm1jZ2JXOWtaVnh1SUNBdkx5QWdJSGRsSUhOb2IzVnNaQ0JmYm05MFh5QmhkSFJsYlhCMElIUnZJR0oxWm1abGNpQmhibmtnWlhoMGNtRWdaR0YwWVM0Z1YyVW5iR3dnWjJWMElHMXZjbVVnWkdGMFlWeHVJQ0F2THlBZ0lIZG9aVzRnZEdobElITjBjbVZoYlNCamIyNXpkVzFsY2lCallXeHNjeUJ5WldGa0tDa2dhVzV6ZEdWaFpDNWNiaUFnTHk4Z0xTQk9ieUJrWVhSaElHbHVJSFJvWlNCaWRXWm1aWElzSUdGdVpDQjBhR1VnYzNSeVpXRnRJR2x6SUdsdUlHWnNiM2RwYm1jZ2JXOWtaUzRnU1c0Z2RHaHBjeUJ0YjJSbFhHNGdJQzh2SUNBZ2RHaGxJR3h2YjNBZ1ltVnNiM2NnYVhNZ2NtVnpjRzl1YzJsaWJHVWdabTl5SUdWdWMzVnlhVzVuSUhKbFlXUW9LU0JwY3lCallXeHNaV1F1SUVaaGFXeHBibWNnZEc5Y2JpQWdMeThnSUNCallXeHNJSEpsWVdRZ2FHVnlaU0IzYjNWc1pDQmhZbTl5ZENCMGFHVWdabXh2ZHlCaGJtUWdkR2hsY21VbmN5QnVieUJ2ZEdobGNpQnRaV05vWVc1cGMyMGdabTl5WEc0Z0lDOHZJQ0FnWTI5dWRHbHVkV2x1WnlCMGFHVWdabXh2ZHlCcFppQjBhR1VnYzNSeVpXRnRJR052Ym5OMWJXVnlJR2hoY3lCcWRYTjBJSE4xWW5OamNtbGlaV1FnZEc4Z2RHaGxYRzRnSUM4dklDQWdKMlJoZEdFbklHVjJaVzUwTGx4dUlDQXZMMXh1SUNBdkx5QkpiaUJoWkdScGRHbHZiaUIwYnlCMGFHVWdZV0p2ZG1VZ1kyOXVaR2wwYVc5dWN5QjBieUJyWldWd0lISmxZV1JwYm1jZ1pHRjBZU3dnZEdobElHWnZiR3h2ZDJsdVoxeHVJQ0F2THlCamIyNWthWFJwYjI1eklIQnlaWFpsYm5RZ2RHaGxJR1JoZEdFZ1puSnZiU0JpWldsdVp5QnlaV0ZrT2x4dUlDQXZMeUF0SUZSb1pTQnpkSEpsWVcwZ2FHRnpJR1Z1WkdWa0lDaHpkR0YwWlM1bGJtUmxaQ2t1WEc0Z0lDOHZJQzBnVkdobGNtVWdhWE1nWVd4eVpXRmtlU0JoSUhCbGJtUnBibWNnSjNKbFlXUW5JRzl3WlhKaGRHbHZiaUFvYzNSaGRHVXVjbVZoWkdsdVp5a3VJRlJvYVhNZ2FYTWdZVnh1SUNBdkx5QWdJR05oYzJVZ2QyaGxjbVVnZEdobElIUm9aU0J6ZEhKbFlXMGdhR0Z6SUdOaGJHeGxaQ0IwYUdVZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWkdWbWFXNWxaQ0JmY21WaFpDZ3BYRzRnSUM4dklDQWdiV1YwYUc5a0xDQmlkWFFnZEdobGVTQmhjbVVnY0hKdlkyVnpjMmx1WnlCMGFHVWdZMkZzYkNCaGMzbHVZMmh5YjI1dmRYTnNlU0JoYm1RZ2FHRjJaU0JmYm05MFgxeHVJQ0F2THlBZ0lHTmhiR3hsWkNCd2RYTm9LQ2tnZDJsMGFDQnVaWGNnWkdGMFlTNGdTVzRnZEdocGN5QmpZWE5sSUhkbElITnJhWEFnY0dWeVptOXliV2x1WnlCdGIzSmxYRzRnSUM4dklDQWdjbVZoWkNncGN5NGdWR2hsSUdWNFpXTjFkR2x2YmlCbGJtUnpJR2x1SUhSb2FYTWdiV1YwYUc5a0lHRm5ZV2x1SUdGbWRHVnlJSFJvWlNCZmNtVmhaQ2dwSUdWdVpITmNiaUFnTHk4Z0lDQjFjQ0JqWVd4c2FXNW5JSEIxYzJnb0tTQjNhWFJvSUcxdmNtVWdaR0YwWVM1Y2JpQWdkMmhwYkdVZ0tDRnpkR0YwWlM1eVpXRmthVzVuSUNZbUlDRnpkR0YwWlM1bGJtUmxaQ0FtSmlBb2MzUmhkR1V1YkdWdVozUm9JRHdnYzNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXlCOGZDQnpkR0YwWlM1bWJHOTNhVzVuSUNZbUlITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01Da3BJSHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdjM1JoZEdVdWJHVnVaM1JvTzF4dUlDQWdJR1JsWW5WbktDZHRZWGxpWlZKbFlXUk5iM0psSUhKbFlXUWdNQ2NwTzF4dUlDQWdJSE4wY21WaGJTNXlaV0ZrS0RBcE8xeHVJQ0FnSUdsbUlDaHNaVzRnUFQwOUlITjBZWFJsTG14bGJtZDBhQ2tnTHk4Z1pHbGtiaWQwSUdkbGRDQmhibmtnWkdGMFlTd2djM1J2Y0NCemNHbHVibWx1Wnk1Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNWNiaUFnYzNSaGRHVXVjbVZoWkdsdVowMXZjbVVnUFNCbVlXeHpaVHRjYm4wZ0x5OGdZV0p6ZEhKaFkzUWdiV1YwYUc5a0xpQWdkRzhnWW1VZ2IzWmxjbkpwWkdSbGJpQnBiaUJ6Y0dWamFXWnBZeUJwYlhCc1pXMWxiblJoZEdsdmJpQmpiR0Z6YzJWekxseHVMeThnWTJGc2JDQmpZaWhsY2l3Z1pHRjBZU2tnZDJobGNtVWdaR0YwWVNCcGN5QThQU0J1SUdsdUlHeGxibWQwYUM1Y2JpOHZJR1p2Y2lCMmFYSjBkV0ZzSUNodWIyNHRjM1J5YVc1bkxDQnViMjR0WW5WbVptVnlLU0J6ZEhKbFlXMXpMQ0JjSW14bGJtZDBhRndpSUdseklITnZiV1YzYUdGMFhHNHZMeUJoY21KcGRISmhjbmtzSUdGdVpDQndaWEpvWVhCeklHNXZkQ0IyWlhKNUlHMWxZVzVwYm1kbWRXd3VYRzVjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExsOXlaV0ZrSUQwZ1puVnVZM1JwYjI0Z0tHNHBJSHRjYmlBZ1pYSnliM0pQY2tSbGMzUnliM2tvZEdocGN5d2dibVYzSUVWU1VsOU5SVlJJVDBSZlRrOVVYMGxOVUV4RlRVVk9WRVZFS0NkZmNtVmhaQ2dwSnlrcE8xeHVmVHRjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuQnBjR1VnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ3dnY0dsd1pVOXdkSE1wSUh0Y2JpQWdkbUZ5SUhOeVl5QTlJSFJvYVhNN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNWNiaUFnYzNkcGRHTm9JQ2h6ZEdGMFpTNXdhWEJsYzBOdmRXNTBLU0I3WEc0Z0lDQWdZMkZ6WlNBd09seHVJQ0FnSUNBZ2MzUmhkR1V1Y0dsd1pYTWdQU0JrWlhOME8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElERTZYRzRnSUNBZ0lDQnpkR0YwWlM1d2FYQmxjeUE5SUZ0emRHRjBaUzV3YVhCbGN5d2daR1Z6ZEYwN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQnpkR0YwWlM1d2FYQmxjeTV3ZFhOb0tHUmxjM1FwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUgxY2JseHVJQ0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJQ3M5SURFN1hHNGdJR1JsWW5WbktDZHdhWEJsSUdOdmRXNTBQU1ZrSUc5d2RITTlKV29uTENCemRHRjBaUzV3YVhCbGMwTnZkVzUwTENCd2FYQmxUM0IwY3lrN1hHNGdJSFpoY2lCa2IwVnVaQ0E5SUNnaGNHbHdaVTl3ZEhNZ2ZId2djR2x3WlU5d2RITXVaVzVrSUNFOVBTQm1ZV3h6WlNrZ0ppWWdaR1Z6ZENBaFBUMGdjSEp2WTJWemN5NXpkR1J2ZFhRZ0ppWWdaR1Z6ZENBaFBUMGdjSEp2WTJWemN5NXpkR1JsY25JN1hHNGdJSFpoY2lCbGJtUkdiaUE5SUdSdlJXNWtJRDhnYjI1bGJtUWdPaUIxYm5CcGNHVTdYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUkZiV2wwZEdWa0tTQndjbTlqWlhOekxtNWxlSFJVYVdOcktHVnVaRVp1S1R0bGJITmxJSE55WXk1dmJtTmxLQ2RsYm1RbkxDQmxibVJHYmlrN1hHNGdJR1JsYzNRdWIyNG9KM1Z1Y0dsd1pTY3NJRzl1ZFc1d2FYQmxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQnZiblZ1Y0dsd1pTaHlaV0ZrWVdKc1pTd2dkVzV3YVhCbFNXNW1ieWtnZTF4dUlDQWdJR1JsWW5WbktDZHZiblZ1Y0dsd1pTY3BPMXh1WEc0Z0lDQWdhV1lnS0hKbFlXUmhZbXhsSUQwOVBTQnpjbU1wSUh0Y2JpQWdJQ0FnSUdsbUlDaDFibkJwY0dWSmJtWnZJQ1ltSUhWdWNHbHdaVWx1Wm04dWFHRnpWVzV3YVhCbFpDQTlQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQWdJQ0FnZFc1d2FYQmxTVzVtYnk1b1lYTlZibkJwY0dWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ1kyeGxZVzUxY0NncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHOXVaVzVrS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R2Ym1WdVpDY3BPMXh1SUNBZ0lHUmxjM1F1Wlc1a0tDazdYRzRnSUgwZ0x5OGdkMmhsYmlCMGFHVWdaR1Z6ZENCa2NtRnBibk1zSUdsMElISmxaSFZqWlhNZ2RHaGxJR0YzWVdsMFJISmhhVzRnWTI5MWJuUmxjbHh1SUNBdkx5QnZiaUIwYUdVZ2MyOTFjbU5sTGlBZ1ZHaHBjeUIzYjNWc1pDQmlaU0J0YjNKbElHVnNaV2RoYm5RZ2QybDBhQ0JoSUM1dmJtTmxLQ2xjYmlBZ0x5OGdhR0Z1Wkd4bGNpQnBiaUJtYkc5M0tDa3NJR0oxZENCaFpHUnBibWNnWVc1a0lISmxiVzkyYVc1bklISmxjR1ZoZEdWa2JIa2dhWE5jYmlBZ0x5OGdkRzl2SUhOc2IzY3VYRzVjYmx4dUlDQjJZWElnYjI1a2NtRnBiaUE5SUhCcGNHVlBia1J5WVdsdUtITnlZeWs3WEc0Z0lHUmxjM1F1YjI0b0oyUnlZV2x1Snl3Z2IyNWtjbUZwYmlrN1hHNGdJSFpoY2lCamJHVmhibVZrVlhBZ1BTQm1ZV3h6WlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJqYkdWaGJuVndLQ2tnZTF4dUlDQWdJR1JsWW5WbktDZGpiR1ZoYm5Wd0p5azdJQzh2SUdOc1pXRnVkWEFnWlhabGJuUWdhR0Z1Wkd4bGNuTWdiMjVqWlNCMGFHVWdjR2x3WlNCcGN5QmljbTlyWlc1Y2JseHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyTnNiM05sSnl3Z2IyNWpiRzl6WlNrN1hHNGdJQ0FnWkdWemRDNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblptbHVhWE5vSnl3Z2IyNW1hVzVwYzJncE8xeHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyUnlZV2x1Snl3Z2IyNWtjbUZwYmlrN1hHNGdJQ0FnWkdWemRDNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblpYSnliM0luTENCdmJtVnljbTl5S1R0Y2JpQWdJQ0JrWlhOMExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkMWJuQnBjR1VuTENCdmJuVnVjR2x3WlNrN1hHNGdJQ0FnYzNKakxuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGJtUW5MQ0J2Ym1WdVpDazdYRzRnSUNBZ2MzSmpMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZGxibVFuTENCMWJuQnBjR1VwTzF4dUlDQWdJSE55WXk1eVpXMXZkbVZNYVhOMFpXNWxjaWduWkdGMFlTY3NJRzl1WkdGMFlTazdYRzRnSUNBZ1kyeGxZVzVsWkZWd0lEMGdkSEoxWlRzZ0x5OGdhV1lnZEdobElISmxZV1JsY2lCcGN5QjNZV2wwYVc1bklHWnZjaUJoSUdSeVlXbHVJR1YyWlc1MElHWnliMjBnZEdocGMxeHVJQ0FnSUM4dklITndaV05wWm1saklIZHlhWFJsY2l3Z2RHaGxiaUJwZENCM2IzVnNaQ0JqWVhWelpTQnBkQ0IwYnlCdVpYWmxjaUJ6ZEdGeWRGeHVJQ0FnSUM4dklHWnNiM2RwYm1jZ1lXZGhhVzR1WEc0Z0lDQWdMeThnVTI4c0lHbG1JSFJvYVhNZ2FYTWdZWGRoYVhScGJtY2dZU0JrY21GcGJpd2dkR2hsYmlCM1pTQnFkWE4wSUdOaGJHd2dhWFFnYm05M0xseHVJQ0FnSUM4dklFbG1JSGRsSUdSdmJpZDBJR3R1YjNjc0lIUm9aVzRnWVhOemRXMWxJSFJvWVhRZ2QyVWdZWEpsSUhkaGFYUnBibWNnWm05eUlHOXVaUzVjYmx4dUlDQWdJR2xtSUNoemRHRjBaUzVoZDJGcGRFUnlZV2x1SUNZbUlDZ2haR1Z6ZEM1ZmQzSnBkR0ZpYkdWVGRHRjBaU0I4ZkNCa1pYTjBMbDkzY21sMFlXSnNaVk4wWVhSbExtNWxaV1JFY21GcGJpa3BJRzl1WkhKaGFXNG9LVHRjYmlBZ2ZWeHVYRzRnSUhOeVl5NXZiaWduWkdGMFlTY3NJRzl1WkdGMFlTazdYRzVjYmlBZ1puVnVZM1JwYjI0Z2IyNWtZWFJoS0dOb2RXNXJLU0I3WEc0Z0lDQWdaR1ZpZFdjb0oyOXVaR0YwWVNjcE8xeHVJQ0FnSUhaaGNpQnlaWFFnUFNCa1pYTjBMbmR5YVhSbEtHTm9kVzVyS1R0Y2JpQWdJQ0JrWldKMVp5Z25aR1Z6ZEM1M2NtbDBaU2NzSUhKbGRDazdYRzVjYmlBZ0lDQnBaaUFvY21WMElEMDlQU0JtWVd4elpTa2dlMXh1SUNBZ0lDQWdMeThnU1dZZ2RHaGxJSFZ6WlhJZ2RXNXdhWEJsWkNCa2RYSnBibWNnWUdSbGMzUXVkM0pwZEdVb0tXQXNJR2wwSUdseklIQnZjM05wWW14bFhHNGdJQ0FnSUNBdkx5QjBieUJuWlhRZ2MzUjFZMnNnYVc0Z1lTQndaWEp0WVc1bGJuUnNlU0J3WVhWelpXUWdjM1JoZEdVZ2FXWWdkR2hoZENCM2NtbDBaVnh1SUNBZ0lDQWdMeThnWVd4emJ5QnlaWFIxY201bFpDQm1ZV3h6WlM1Y2JpQWdJQ0FnSUM4dklEMCtJRU5vWldOcklIZG9aWFJvWlhJZ1lHUmxjM1JnSUdseklITjBhV3hzSUdFZ2NHbHdhVzVuSUdSbGMzUnBibUYwYVc5dUxseHVJQ0FnSUNBZ2FXWWdLQ2h6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJRDA5UFNBeElDWW1JSE4wWVhSbExuQnBjR1Z6SUQwOVBTQmtaWE4wSUh4OElITjBZWFJsTG5CcGNHVnpRMjkxYm5RZ1BpQXhJQ1ltSUdsdVpHVjRUMllvYzNSaGRHVXVjR2x3WlhNc0lHUmxjM1FwSUNFOVBTQXRNU2tnSmlZZ0lXTnNaV0Z1WldSVmNDa2dlMXh1SUNBZ0lDQWdJQ0JrWldKMVp5Z25abUZzYzJVZ2QzSnBkR1VnY21WemNHOXVjMlVzSUhCaGRYTmxKeXdnYzNSaGRHVXVZWGRoYVhSRWNtRnBiaWs3WEc0Z0lDQWdJQ0FnSUhOMFlYUmxMbUYzWVdsMFJISmhhVzRyS3p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MzSmpMbkJoZFhObEtDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklHbG1JSFJvWlNCa1pYTjBJR2hoY3lCaGJpQmxjbkp2Y2l3Z2RHaGxiaUJ6ZEc5d0lIQnBjR2x1WnlCcGJuUnZJR2wwTGx4dUlDQXZMeUJvYjNkbGRtVnlMQ0JrYjI0bmRDQnpkWEJ3Y21WemN5QjBhR1VnZEdoeWIzZHBibWNnWW1Wb1lYWnBiM0lnWm05eUlIUm9hWE11WEc1Y2JseHVJQ0JtZFc1amRHbHZiaUJ2Ym1WeWNtOXlLR1Z5S1NCN1hHNGdJQ0FnWkdWaWRXY29KMjl1WlhKeWIzSW5MQ0JsY2lrN1hHNGdJQ0FnZFc1d2FYQmxLQ2s3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlhKeWIzSW5MQ0J2Ym1WeWNtOXlLVHRjYmlBZ0lDQnBaaUFvUlVWc2FYTjBaVzVsY2tOdmRXNTBLR1JsYzNRc0lDZGxjbkp2Y2ljcElEMDlQU0F3S1NCbGNuSnZjazl5UkdWemRISnZlU2hrWlhOMExDQmxjaWs3WEc0Z0lIMGdMeThnVFdGclpTQnpkWEpsSUc5MWNpQmxjbkp2Y2lCb1lXNWtiR1Z5SUdseklHRjBkR0ZqYUdWa0lHSmxabTl5WlNCMWMyVnliR0Z1WkNCdmJtVnpMbHh1WEc1Y2JpQWdjSEpsY0dWdVpFeHBjM1JsYm1WeUtHUmxjM1FzSUNkbGNuSnZjaWNzSUc5dVpYSnliM0lwT3lBdkx5QkNiM1JvSUdOc2IzTmxJR0Z1WkNCbWFXNXBjMmdnYzJodmRXeGtJSFJ5YVdkblpYSWdkVzV3YVhCbExDQmlkWFFnYjI1c2VTQnZibU5sTGx4dVhHNGdJR1oxYm1OMGFXOXVJRzl1WTJ4dmMyVW9LU0I3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWm1sdWFYTm9KeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJSFZ1Y0dsd1pTZ3BPMXh1SUNCOVhHNWNiaUFnWkdWemRDNXZibU5sS0NkamJHOXpaU2NzSUc5dVkyeHZjMlVwTzF4dVhHNGdJR1oxYm1OMGFXOXVJRzl1Wm1sdWFYTm9LQ2tnZTF4dUlDQWdJR1JsWW5WbktDZHZibVpwYm1semFDY3BPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzRnSUNBZ2RXNXdhWEJsS0NrN1hHNGdJSDFjYmx4dUlDQmtaWE4wTG05dVkyVW9KMlpwYm1semFDY3NJRzl1Wm1sdWFYTm9LVHRjYmx4dUlDQm1kVzVqZEdsdmJpQjFibkJwY0dVb0tTQjdYRzRnSUNBZ1pHVmlkV2NvSjNWdWNHbHdaU2NwTzF4dUlDQWdJSE55WXk1MWJuQnBjR1VvWkdWemRDazdYRzRnSUgwZ0x5OGdkR1ZzYkNCMGFHVWdaR1Z6ZENCMGFHRjBJR2wwSjNNZ1ltVnBibWNnY0dsd1pXUWdkRzljYmx4dVhHNGdJR1JsYzNRdVpXMXBkQ2duY0dsd1pTY3NJSE55WXlrN0lDOHZJSE4wWVhKMElIUm9aU0JtYkc5M0lHbG1JR2wwSUdoaGMyNG5kQ0JpWldWdUlITjBZWEowWldRZ1lXeHlaV0ZrZVM1Y2JseHVJQ0JwWmlBb0lYTjBZWFJsTG1ac2IzZHBibWNwSUh0Y2JpQWdJQ0JrWldKMVp5Z25jR2x3WlNCeVpYTjFiV1VuS1R0Y2JpQWdJQ0J6Y21NdWNtVnpkVzFsS0NrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1pHVnpkRHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJSEJwY0dWUGJrUnlZV2x1S0hOeVl5a2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnY0dsd1pVOXVSSEpoYVc1R2RXNWpkR2x2YmxKbGMzVnNkQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2MzUmhkR1VnUFNCemNtTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJQ0FnWkdWaWRXY29KM0JwY0dWUGJrUnlZV2x1Snl3Z2MzUmhkR1V1WVhkaGFYUkVjbUZwYmlrN1hHNGdJQ0FnYVdZZ0tITjBZWFJsTG1GM1lXbDBSSEpoYVc0cElITjBZWFJsTG1GM1lXbDBSSEpoYVc0dExUdGNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWhkMkZwZEVSeVlXbHVJRDA5UFNBd0lDWW1JRVZGYkdsemRHVnVaWEpEYjNWdWRDaHpjbU1zSUNka1lYUmhKeWtwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbVpzYjNkcGJtY2dQU0IwY25WbE8xeHVJQ0FnSUNBZ1pteHZkeWh6Y21NcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYm4xY2JseHVVbVZoWkdGaWJHVXVjSEp2ZEc5MGVYQmxMblZ1Y0dsd1pTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzRnSUhaaGNpQjFibkJwY0dWSmJtWnZJRDBnZTF4dUlDQWdJR2hoYzFWdWNHbHdaV1E2SUdaaGJITmxYRzRnSUgwN0lDOHZJR2xtSUhkbEozSmxJRzV2ZENCd2FYQnBibWNnWVc1NWQyaGxjbVVzSUhSb1pXNGdaRzhnYm05MGFHbHVaeTVjYmx4dUlDQnBaaUFvYzNSaGRHVXVjR2x3WlhORGIzVnVkQ0E5UFQwZ01Da2djbVYwZFhKdUlIUm9hWE03SUM4dklHcDFjM1FnYjI1bElHUmxjM1JwYm1GMGFXOXVMaUFnYlc5emRDQmpiMjF0YjI0Z1kyRnpaUzVjYmx4dUlDQnBaaUFvYzNSaGRHVXVjR2x3WlhORGIzVnVkQ0E5UFQwZ01Ta2dlMXh1SUNBZ0lDOHZJSEJoYzNObFpDQnBiaUJ2Ym1Vc0lHSjFkQ0JwZENkeklHNXZkQ0IwYUdVZ2NtbG5hSFFnYjI1bExseHVJQ0FnSUdsbUlDaGtaWE4wSUNZbUlHUmxjM1FnSVQwOUlITjBZWFJsTG5CcGNHVnpLU0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0JwWmlBb0lXUmxjM1FwSUdSbGMzUWdQU0J6ZEdGMFpTNXdhWEJsY3pzZ0x5OGdaMjkwSUdFZ2JXRjBZMmd1WEc1Y2JpQWdJQ0J6ZEdGMFpTNXdhWEJsY3lBOUlHNTFiR3c3WEc0Z0lDQWdjM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlJREE3WEc0Z0lDQWdjM1JoZEdVdVpteHZkMmx1WnlBOUlHWmhiSE5sTzF4dUlDQWdJR2xtSUNoa1pYTjBLU0JrWlhOMExtVnRhWFFvSjNWdWNHbHdaU2NzSUhSb2FYTXNJSFZ1Y0dsd1pVbHVabThwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlJQzh2SUhOc2IzY2dZMkZ6WlM0Z2JYVnNkR2x3YkdVZ2NHbHdaU0JrWlhOMGFXNWhkR2x2Ym5NdVhHNWNibHh1SUNCcFppQW9JV1JsYzNRcElIdGNiaUFnSUNBdkx5QnlaVzF2ZG1VZ1lXeHNMbHh1SUNBZ0lIWmhjaUJrWlhOMGN5QTlJSE4wWVhSbExuQnBjR1Z6TzF4dUlDQWdJSFpoY2lCc1pXNGdQU0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBPMXh1SUNBZ0lITjBZWFJsTG5CcGNHVnpJRDBnYm5Wc2JEdGNiaUFnSUNCemRHRjBaUzV3YVhCbGMwTnZkVzUwSUQwZ01EdGNiaUFnSUNCemRHRjBaUzVtYkc5M2FXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYmpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JrWlhOMGMxdHBYUzVsYldsMEtDZDFibkJwY0dVbkxDQjBhR2x6TENCN1hHNGdJQ0FnSUNBZ0lHaGhjMVZ1Y0dsd1pXUTZJR1poYkhObFhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlNBdkx5QjBjbmtnZEc4Z1ptbHVaQ0IwYUdVZ2NtbG5hSFFnYjI1bExseHVYRzVjYmlBZ2RtRnlJR2x1WkdWNElEMGdhVzVrWlhoUFppaHpkR0YwWlM1d2FYQmxjeXdnWkdWemRDazdYRzRnSUdsbUlDaHBibVJsZUNBOVBUMGdMVEVwSUhKbGRIVnliaUIwYUdsek8xeHVJQ0J6ZEdGMFpTNXdhWEJsY3k1emNHeHBZMlVvYVc1a1pYZ3NJREVwTzF4dUlDQnpkR0YwWlM1d2FYQmxjME52ZFc1MElDMDlJREU3WEc0Z0lHbG1JQ2h6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJRDA5UFNBeEtTQnpkR0YwWlM1d2FYQmxjeUE5SUhOMFlYUmxMbkJwY0dWeld6QmRPMXh1SUNCa1pYTjBMbVZ0YVhRb0ozVnVjR2x3WlNjc0lIUm9hWE1zSUhWdWNHbHdaVWx1Wm04cE8xeHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdJQzh2SUhObGRDQjFjQ0JrWVhSaElHVjJaVzUwY3lCcFppQjBhR1Y1SUdGeVpTQmhjMnRsWkNCbWIzSmNiaTh2SUVWdWMzVnlaU0J5WldGa1lXSnNaU0JzYVhOMFpXNWxjbk1nWlhabGJuUjFZV3hzZVNCblpYUWdjMjl0WlhSb2FXNW5YRzVjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExtOXVJRDBnWm5WdVkzUnBiMjRnS0dWMkxDQm1iaWtnZTF4dUlDQjJZWElnY21WeklEMGdVM1J5WldGdExuQnliM1J2ZEhsd1pTNXZiaTVqWVd4c0tIUm9hWE1zSUdWMkxDQm1iaWs3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdhV1lnS0dWMklEMDlQU0FuWkdGMFlTY3BJSHRjYmlBZ0lDQXZMeUIxY0dSaGRHVWdjbVZoWkdGaWJHVk1hWE4wWlc1cGJtY2djMjhnZEdoaGRDQnlaWE4xYldVb0tTQnRZWGtnWW1VZ1lTQnVieTF2Y0Z4dUlDQWdJQzh2SUdFZ1ptVjNJR3hwYm1WeklHUnZkMjR1SUZSb2FYTWdhWE1nYm1WbFpHVmtJSFJ2SUhOMWNIQnZjblFnYjI1alpTZ25jbVZoWkdGaWJHVW5LUzVjYmlBZ0lDQnpkR0YwWlM1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlIUm9hWE11YkdsemRHVnVaWEpEYjNWdWRDZ25jbVZoWkdGaWJHVW5LU0ErSURBN0lDOHZJRlJ5ZVNCemRHRnlkQ0JtYkc5M2FXNW5JRzl1SUc1bGVIUWdkR2xqYXlCcFppQnpkSEpsWVcwZ2FYTnVKM1FnWlhod2JHbGphWFJzZVNCd1lYVnpaV1JjYmx4dUlDQWdJR2xtSUNoemRHRjBaUzVtYkc5M2FXNW5JQ0U5UFNCbVlXeHpaU2tnZEdocGN5NXlaWE4xYldVb0tUdGNiaUFnZlNCbGJITmxJR2xtSUNobGRpQTlQVDBnSjNKbFlXUmhZbXhsSnlrZ2UxeHVJQ0FnSUdsbUlDZ2hjM1JoZEdVdVpXNWtSVzFwZEhSbFpDQW1KaUFoYzNSaGRHVXVjbVZoWkdGaWJHVk1hWE4wWlc1cGJtY3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExuSmxZV1JoWW14bFRHbHpkR1Z1YVc1bklEMGdjM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lITjBZWFJsTG1ac2IzZHBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJSE4wWVhSbExtVnRhWFIwWldSU1pXRmtZV0pzWlNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnWkdWaWRXY29KMjl1SUhKbFlXUmhZbXhsSnl3Z2MzUmhkR1V1YkdWdVozUm9MQ0J6ZEdGMFpTNXlaV0ZrYVc1bktUdGNibHh1SUNBZ0lDQWdhV1lnS0hOMFlYUmxMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JsYldsMFVtVmhaR0ZpYkdVb2RHaHBjeWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0NGemRHRjBaUzV5WldGa2FXNW5LU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvYmxKbFlXUnBibWRPWlhoMFZHbGpheXdnZEdocGN5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlISmxjenRjYm4wN1hHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVoWkdSTWFYTjBaVzVsY2lBOUlGSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXZianRjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuSmxiVzkyWlV4cGMzUmxibVZ5SUQwZ1puVnVZM1JwYjI0Z0tHVjJMQ0JtYmlrZ2UxeHVJQ0IyWVhJZ2NtVnpJRDBnVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WlcxdmRtVk1hWE4wWlc1bGNpNWpZV3hzS0hSb2FYTXNJR1YyTENCbWJpazdYRzVjYmlBZ2FXWWdLR1YySUQwOVBTQW5jbVZoWkdGaWJHVW5LU0I3WEc0Z0lDQWdMeThnVjJVZ2JtVmxaQ0IwYnlCamFHVmpheUJwWmlCMGFHVnlaU0JwY3lCemIyMWxiMjVsSUhOMGFXeHNJR3hwYzNSbGJtbHVaeUIwYjF4dUlDQWdJQzh2SUhKbFlXUmhZbXhsSUdGdVpDQnlaWE5sZENCMGFHVWdjM1JoZEdVdUlFaHZkMlYyWlhJZ2RHaHBjeUJ1WldWa2N5QjBieUJvWVhCd1pXNWNiaUFnSUNBdkx5QmhablJsY2lCeVpXRmtZV0pzWlNCb1lYTWdZbVZsYmlCbGJXbDBkR1ZrSUdKMWRDQmlaV1p2Y21VZ1NTOVBJQ2h1WlhoMFZHbGpheWtnZEc5Y2JpQWdJQ0F2THlCemRYQndiM0owSUc5dVkyVW9KM0psWVdSaFlteGxKeXdnWm00cElHTjVZMnhsY3k0Z1ZHaHBjeUJ0WldGdWN5QjBhR0YwSUdOaGJHeHBibWRjYmlBZ0lDQXZMeUJ5WlhOMWJXVWdkMmwwYUdsdUlIUm9aU0J6WVcxbElIUnBZMnNnZDJsc2JDQm9ZWFpsSUc1dlhHNGdJQ0FnTHk4Z1pXWm1aV04wTGx4dUlDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29kWEJrWVhSbFVtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jc0lIUm9hWE1wTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXlaVzF2ZG1WQmJHeE1hWE4wWlc1bGNuTWdQU0JtZFc1amRHbHZiaUFvWlhZcElIdGNiaUFnZG1GeUlISmxjeUE5SUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WdGIzWmxRV3hzVEdsemRHVnVaWEp6TG1Gd2NHeDVLSFJvYVhNc0lHRnlaM1Z0Wlc1MGN5azdYRzVjYmlBZ2FXWWdLR1YySUQwOVBTQW5jbVZoWkdGaWJHVW5JSHg4SUdWMklEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0F2THlCWFpTQnVaV1ZrSUhSdklHTm9aV05ySUdsbUlIUm9aWEpsSUdseklITnZiV1Z2Ym1VZ2MzUnBiR3dnYkdsemRHVnVhVzVuSUhSdlhHNGdJQ0FnTHk4Z2NtVmhaR0ZpYkdVZ1lXNWtJSEpsYzJWMElIUm9aU0J6ZEdGMFpTNGdTRzkzWlhabGNpQjBhR2x6SUc1bFpXUnpJSFJ2SUdoaGNIQmxibHh1SUNBZ0lDOHZJR0ZtZEdWeUlISmxZV1JoWW14bElHaGhjeUJpWldWdUlHVnRhWFIwWldRZ1luVjBJR0psWm05eVpTQkpMMDhnS0c1bGVIUlVhV05yS1NCMGIxeHVJQ0FnSUM4dklITjFjSEJ2Y25RZ2IyNWpaU2duY21WaFpHRmliR1VuTENCbWJpa2dZM2xqYkdWekxpQlVhR2x6SUcxbFlXNXpJSFJvWVhRZ1kyRnNiR2x1WjF4dUlDQWdJQzh2SUhKbGMzVnRaU0IzYVhSb2FXNGdkR2hsSUhOaGJXVWdkR2xqYXlCM2FXeHNJR2hoZG1VZ2JtOWNiaUFnSUNBdkx5QmxabVpsWTNRdVhHNGdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWgxY0dSaGRHVlNaV0ZrWVdKc1pVeHBjM1JsYm1sdVp5d2dkR2hwY3lrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jb2MyVnNaaWtnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0J6Wld4bUxsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQnpkR0YwWlM1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlITmxiR1l1YkdsemRHVnVaWEpEYjNWdWRDZ25jbVZoWkdGaWJHVW5LU0ErSURBN1hHNWNiaUFnYVdZZ0tITjBZWFJsTG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0FtSmlBaGMzUmhkR1V1Y0dGMWMyVmtLU0I3WEc0Z0lDQWdMeThnWm14dmQybHVaeUJ1WldWa2N5QjBieUJpWlNCelpYUWdkRzhnZEhKMVpTQnViM2NzSUc5MGFHVnlkMmx6WlZ4dUlDQWdJQzh2SUhSb1pTQjFjR052YldsdVp5QnlaWE4xYldVZ2QybHNiQ0J1YjNRZ1pteHZkeTVjYmlBZ0lDQnpkR0YwWlM1bWJHOTNhVzVuSUQwZ2RISjFaVHNnTHk4Z1kzSjFaR1VnZDJGNUlIUnZJR05vWldOcklHbG1JSGRsSUhOb2IzVnNaQ0J5WlhOMWJXVmNiaUFnZlNCbGJITmxJR2xtSUNoelpXeG1MbXhwYzNSbGJtVnlRMjkxYm5Rb0oyUmhkR0VuS1NBK0lEQXBJSHRjYmlBZ0lDQnpaV3htTG5KbGMzVnRaU2dwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHNVNaV0ZrYVc1blRtVjRkRlJwWTJzb2MyVnNaaWtnZTF4dUlDQmtaV0oxWnlnbmNtVmhaR0ZpYkdVZ2JtVjRkSFJwWTJzZ2NtVmhaQ0F3SnlrN1hHNGdJSE5sYkdZdWNtVmhaQ2d3S1R0Y2JuMGdMeThnY0dGMWMyVW9LU0JoYm1RZ2NtVnpkVzFsS0NrZ1lYSmxJSEpsYlc1aGJuUnpJRzltSUhSb1pTQnNaV2RoWTNrZ2NtVmhaR0ZpYkdVZ2MzUnlaV0Z0SUVGUVNWeHVMeThnU1dZZ2RHaGxJSFZ6WlhJZ2RYTmxjeUIwYUdWdExDQjBhR1Z1SUhOM2FYUmphQ0JwYm5SdklHOXNaQ0J0YjJSbExseHVYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1eVpYTjFiV1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNW1iRzkzYVc1bktTQjdYRzRnSUNBZ1pHVmlkV2NvSjNKbGMzVnRaU2NwT3lBdkx5QjNaU0JtYkc5M0lHOXViSGtnYVdZZ2RHaGxjbVVnYVhNZ2JtOGdiMjVsSUd4cGMzUmxibWx1WjF4dUlDQWdJQzh2SUdadmNpQnlaV0ZrWVdKc1pTd2dZblYwSUhkbElITjBhV3hzSUdoaGRtVWdkRzhnWTJGc2JGeHVJQ0FnSUM4dklISmxjM1Z0WlNncFhHNWNiaUFnSUNCemRHRjBaUzVtYkc5M2FXNW5JRDBnSVhOMFlYUmxMbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5PMXh1SUNBZ0lISmxjM1Z0WlNoMGFHbHpMQ0J6ZEdGMFpTazdYRzRnSUgxY2JseHVJQ0J6ZEdGMFpTNXdZWFZ6WldRZ1BTQm1ZV3h6WlR0Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJ5WlhOMWJXVW9jM1J5WldGdExDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb0lYTjBZWFJsTG5KbGMzVnRaVk5qYUdWa2RXeGxaQ2tnZTF4dUlDQWdJSE4wWVhSbExuSmxjM1Z0WlZOamFHVmtkV3hsWkNBOUlIUnlkV1U3WEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aHlaWE4xYldWZkxDQnpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWE4xYldWZktITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdaR1ZpZFdjb0ozSmxjM1Z0WlNjc0lITjBZWFJsTG5KbFlXUnBibWNwTzF4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Y21WaFpHbHVaeWtnZTF4dUlDQWdJSE4wY21WaGJTNXlaV0ZrS0RBcE8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdWNtVnpkVzFsVTJOb1pXUjFiR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lITjBjbVZoYlM1bGJXbDBLQ2R5WlhOMWJXVW5LVHRjYmlBZ1pteHZkeWh6ZEhKbFlXMHBPMXh1SUNCcFppQW9jM1JoZEdVdVpteHZkMmx1WnlBbUppQWhjM1JoZEdVdWNtVmhaR2x1WnlrZ2MzUnlaV0Z0TG5KbFlXUW9NQ2s3WEc1OVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV3WVhWelpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdaR1ZpZFdjb0oyTmhiR3dnY0dGMWMyVWdabXh2ZDJsdVp6MGxhaWNzSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpteHZkMmx1WnlrN1hHNWNiaUFnYVdZZ0tIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVabXh2ZDJsdVp5QWhQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQmtaV0oxWnlnbmNHRjFjMlVuS1R0Y2JpQWdJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1ac2IzZHBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQjBhR2x6TG1WdGFYUW9KM0JoZFhObEp5azdYRzRnSUgxY2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5CaGRYTmxaQ0E5SUhSeWRXVTdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z1pteHZkeWh6ZEhKbFlXMHBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQmtaV0oxWnlnblpteHZkeWNzSUhOMFlYUmxMbVpzYjNkcGJtY3BPMXh1WEc0Z0lIZG9hV3hsSUNoemRHRjBaUzVtYkc5M2FXNW5JQ1ltSUhOMGNtVmhiUzV5WldGa0tDa2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQTdYRzRnSUgxY2JuMGdMeThnZDNKaGNDQmhiaUJ2YkdRdGMzUjViR1VnYzNSeVpXRnRJR0Z6SUhSb1pTQmhjM2x1WXlCa1lYUmhJSE52ZFhKalpTNWNiaTh2SUZSb2FYTWdhWE1nS201dmRDb2djR0Z5ZENCdlppQjBhR1VnY21WaFpHRmliR1VnYzNSeVpXRnRJR2x1ZEdWeVptRmpaUzVjYmk4dklFbDBJR2x6SUdGdUlIVm5iSGtnZFc1bWIzSjBkVzVoZEdVZ2JXVnpjeUJ2WmlCb2FYTjBiM0o1TGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzUzY21Gd0lEMGdablZ1WTNScGIyNGdLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdYM1JvYVhNZ1BTQjBhR2x6TzF4dVhHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJSFpoY2lCd1lYVnpaV1FnUFNCbVlXeHpaVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZGxibVFuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ1pHVmlkV2NvSjNkeVlYQndaV1FnWlc1a0p5azdYRzVjYmlBZ0lDQnBaaUFvYzNSaGRHVXVaR1ZqYjJSbGNpQW1KaUFoYzNSaGRHVXVaVzVrWldRcElIdGNiaUFnSUNBZ0lIWmhjaUJqYUhWdWF5QTlJSE4wWVhSbExtUmxZMjlrWlhJdVpXNWtLQ2s3WEc0Z0lDQWdJQ0JwWmlBb1kyaDFibXNnSmlZZ1kyaDFibXN1YkdWdVozUm9LU0JmZEdocGN5NXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmZkR2hwY3k1d2RYTm9LRzUxYkd3cE8xeHVJQ0I5S1R0Y2JpQWdjM1J5WldGdExtOXVLQ2RrWVhSaEp5d2dablZ1WTNScGIyNGdLR05vZFc1cktTQjdYRzRnSUNBZ1pHVmlkV2NvSjNkeVlYQndaV1FnWkdGMFlTY3BPMXh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWtaV052WkdWeUtTQmphSFZ1YXlBOUlITjBZWFJsTG1SbFkyOWtaWEl1ZDNKcGRHVW9ZMmgxYm1zcE95QXZMeUJrYjI0bmRDQnphMmx3SUc5MlpYSWdabUZzYzNrZ2RtRnNkV1Z6SUdsdUlHOWlhbVZqZEUxdlpHVmNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJQ1ltSUNoamFIVnVheUE5UFQwZ2JuVnNiQ0I4ZkNCamFIVnVheUE5UFQwZ2RXNWtaV1pwYm1Wa0tTa2djbVYwZFhKdU8yVnNjMlVnYVdZZ0tDRnpkR0YwWlM1dlltcGxZM1JOYjJSbElDWW1JQ2doWTJoMWJtc2dmSHdnSVdOb2RXNXJMbXhsYm1kMGFDa3BJSEpsZEhWeWJqdGNibHh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQmZkR2hwY3k1d2RYTm9LR05vZFc1cktUdGNibHh1SUNBZ0lHbG1JQ2doY21WMEtTQjdYRzRnSUNBZ0lDQndZWFZ6WldRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnYzNSeVpXRnRMbkJoZFhObEtDazdYRzRnSUNBZ2ZWeHVJQ0I5S1RzZ0x5OGdjSEp2ZUhrZ1lXeHNJSFJvWlNCdmRHaGxjaUJ0WlhSb2IyUnpMbHh1SUNBdkx5QnBiWEJ2Y25SaGJuUWdkMmhsYmlCM2NtRndjR2x1WnlCbWFXeDBaWEp6SUdGdVpDQmtkWEJzWlhobGN5NWNibHh1SUNCbWIzSWdLSFpoY2lCcElHbHVJSE4wY21WaGJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdselcybGRJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdkSGx3Wlc5bUlITjBjbVZoYlZ0cFhTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjMXRwWFNBOUlHWjFibU4wYVc5dUlHMWxkR2h2WkZkeVlYQW9iV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnRaWFJvYjJSWGNtRndVbVYwZFhKdVJuVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wY21WaGJWdHRaWFJvYjJSZExtRndjR3g1S0hOMGNtVmhiU3dnWVhKbmRXMWxiblJ6S1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lIMG9hU2s3WEc0Z0lDQWdmVnh1SUNCOUlDOHZJSEJ5YjNoNUlHTmxjblJoYVc0Z2FXMXdiM0owWVc1MElHVjJaVzUwY3k1Y2JseHVYRzRnSUdadmNpQW9kbUZ5SUc0Z1BTQXdPeUJ1SUR3Z2ExQnliM2g1UlhabGJuUnpMbXhsYm1kMGFEc2diaXNyS1NCN1hHNGdJQ0FnYzNSeVpXRnRMbTl1S0d0UWNtOTRlVVYyWlc1MGMxdHVYU3dnZEdocGN5NWxiV2wwTG1KcGJtUW9kR2hwY3l3Z2ExQnliM2g1UlhabGJuUnpXMjVkS1NrN1hHNGdJSDBnTHk4Z2QyaGxiaUIzWlNCMGNua2dkRzhnWTI5dWMzVnRaU0J6YjIxbElHMXZjbVVnWW5sMFpYTXNJSE5wYlhCc2VTQjFibkJoZFhObElIUm9aVnh1SUNBdkx5QjFibVJsY214NWFXNW5JSE4wY21WaGJTNWNibHh1WEc0Z0lIUm9hWE11WDNKbFlXUWdQU0JtZFc1amRHbHZiaUFvYmlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QzY21Gd2NHVmtJRjl5WldGa0p5d2diaWs3WEc1Y2JpQWdJQ0JwWmlBb2NHRjFjMlZrS1NCN1hHNGdJQ0FnSUNCd1lYVnpaV1FnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJSE4wY21WaGJTNXlaWE4xYldVb0tUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVwWmlBb2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNCU1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dWYlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdsbUlDaGpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnWTNKbFlYUmxVbVZoWkdGaWJHVlRkSEpsWVcxQmMzbHVZMGwwWlhKaGRHOXlJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJGemVXNWpYMmwwWlhKaGRHOXlKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHTnlaV0YwWlZKbFlXUmhZbXhsVTNSeVpXRnRRWE41Ym1OSmRHVnlZWFJ2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibjFjYmx4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRkpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaU3dnSjNKbFlXUmhZbXhsU0dsbmFGZGhkR1Z5VFdGeWF5Y3NJSHRjYmlBZ0x5OGdiV0ZyYVc1bklHbDBJR1Y0Y0d4cFkybDBJSFJvYVhNZ2NISnZjR1Z5ZEhrZ2FYTWdibTkwSUdWdWRXMWxjbUZpYkdWY2JpQWdMeThnWW1WallYVnpaU0J2ZEdobGNuZHBjMlVnYzI5dFpTQndjbTkwYjNSNWNHVWdiV0Z1YVhCMWJHRjBhVzl1SUdsdVhHNGdJQzh2SUhWelpYSnNZVzVrSUhkcGJHd2dabUZwYkZ4dUlDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNiaUFnWjJWME9pQm1kVzVqZEdsdmJpQm5aWFFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZlZ4dWZTazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1VtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5jbVZoWkdGaWJHVkNkV1ptWlhJbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVluVm1abVZ5TzF4dUlDQjlYRzU5S1R0Y2JrOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hTWldGa1lXSnNaUzV3Y205MGIzUjVjR1VzSUNkeVpXRmtZV0pzWlVac2IzZHBibWNuTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtWnNiM2RwYm1jN1hHNGdJSDBzWEc0Z0lITmxkRG9nWm5WdVkzUnBiMjRnYzJWMEtITjBZWFJsS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wm14dmQybHVaeUE5SUhOMFlYUmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZTazdJQzh2SUdWNGNHOXpaV1FnWm05eUlIUmxjM1JwYm1jZ2NIVnljRzl6WlhNZ2IyNXNlUzVjYmx4dVVtVmhaR0ZpYkdVdVgyWnliMjFNYVhOMElEMGdabkp2YlV4cGMzUTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1VtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5jbVZoWkdGaWJHVk1aVzVuZEdnbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbXhsYm1kMGFEdGNiaUFnZlZ4dWZTazdJQzh2SUZCc2RXTnJJRzltWmlCdUlHSjVkR1Z6SUdaeWIyMGdZVzRnWVhKeVlYa2diMllnWW5WbVptVnljeTVjYmk4dklFeGxibWQwYUNCcGN5QjBhR1VnWTI5dFltbHVaV1FnYkdWdVozUm9jeUJ2WmlCaGJHd2dkR2hsSUdKMVptWmxjbk1nYVc0Z2RHaGxJR3hwYzNRdVhHNHZMeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR1JsYzJsbmJtVmtJSFJ2SUdKbElHbHViR2x1WVdKc1pTd2djMjhnY0d4bFlYTmxJSFJoYTJVZ1kyRnlaU0IzYUdWdUlHMWhhMmx1WjF4dUx5OGdZMmhoYm1kbGN5QjBieUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlUzVjYmx4dVpuVnVZM1JwYjI0Z1puSnZiVXhwYzNRb2Jpd2djM1JoZEdVcElIdGNiaUFnTHk4Z2JtOTBhR2x1WnlCaWRXWm1aWEpsWkZ4dUlDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZG1GeUlISmxkRHRjYmlBZ2FXWWdLSE4wWVhSbExtOWlhbVZqZEUxdlpHVXBJSEpsZENBOUlITjBZWFJsTG1KMVptWmxjaTV6YUdsbWRDZ3BPMlZzYzJVZ2FXWWdLQ0Z1SUh4OElHNGdQajBnYzNSaGRHVXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0x5OGdjbVZoWkNCcGRDQmhiR3dzSUhSeWRXNWpZWFJsSUhSb1pTQnNhWE4wWEc0Z0lDQWdhV1lnS0hOMFlYUmxMbVJsWTI5a1pYSXBJSEpsZENBOUlITjBZWFJsTG1KMVptWmxjaTVxYjJsdUtDY25LVHRsYkhObElHbG1JQ2h6ZEdGMFpTNWlkV1ptWlhJdWJHVnVaM1JvSUQwOVBTQXhLU0J5WlhRZ1BTQnpkR0YwWlM1aWRXWm1aWEl1Wm1seWMzUW9LVHRsYkhObElISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNWpiMjVqWVhRb2MzUmhkR1V1YkdWdVozUm9LVHRjYmlBZ0lDQnpkR0YwWlM1aWRXWm1aWEl1WTJ4bFlYSW9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCeVpXRmtJSEJoY25RZ2IyWWdiR2x6ZEZ4dUlDQWdJSEpsZENBOUlITjBZWFJsTG1KMVptWmxjaTVqYjI1emRXMWxLRzRzSUhOMFlYUmxMbVJsWTI5a1pYSXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWFE3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1Z1WkZKbFlXUmhZbXhsS0hOMGNtVmhiU2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0J6ZEhKbFlXMHVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJR1JsWW5WbktDZGxibVJTWldGa1lXSnNaU2NzSUhOMFlYUmxMbVZ1WkVWdGFYUjBaV1FwTzF4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Wlc1a1JXMXBkSFJsWkNrZ2UxeHVJQ0FnSUhOMFlYUmxMbVZ1WkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1Z1WkZKbFlXUmhZbXhsVGxRc0lITjBZWFJsTENCemRISmxZVzBwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVnVaRkpsWVdSaFlteGxUbFFvYzNSaGRHVXNJSE4wY21WaGJTa2dlMXh1SUNCa1pXSjFaeWduWlc1a1VtVmhaR0ZpYkdWT1ZDY3NJSE4wWVhSbExtVnVaRVZ0YVhSMFpXUXNJSE4wWVhSbExteGxibWQwYUNrN0lDOHZJRU5vWldOcklIUm9ZWFFnZDJVZ1pHbGtiaWQwSUdkbGRDQnZibVVnYkdGemRDQjFibk5vYVdaMExseHVYRzRnSUdsbUlDZ2hjM1JoZEdVdVpXNWtSVzFwZEhSbFpDQW1KaUJ6ZEdGMFpTNXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWxibVJGYldsMGRHVmtJRDBnZEhKMVpUdGNiaUFnSUNCemRISmxZVzB1Y21WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWlc1a0p5azdYRzVjYmlBZ0lDQnBaaUFvYzNSaGRHVXVZWFYwYjBSbGMzUnliM2twSUh0Y2JpQWdJQ0FnSUM4dklFbHVJR05oYzJVZ2IyWWdaSFZ3YkdWNElITjBjbVZoYlhNZ2QyVWdibVZsWkNCaElIZGhlU0IwYnlCa1pYUmxZM1JjYmlBZ0lDQWdJQzh2SUdsbUlIUm9aU0IzY21sMFlXSnNaU0J6YVdSbElHbHpJSEpsWVdSNUlHWnZjaUJoZFhSdlJHVnpkSEp2ZVNCaGN5QjNaV3hzWEc0Z0lDQWdJQ0IyWVhJZ2QxTjBZWFJsSUQwZ2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYZFRkR0YwWlNCOGZDQjNVM1JoZEdVdVlYVjBiMFJsYzNSeWIza2dKaVlnZDFOMFlYUmxMbVpwYm1semFHVmtLU0I3WEc0Z0lDQWdJQ0FnSUhOMGNtVmhiUzVrWlhOMGNtOTVLQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1sbUlDaDBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lGSmxZV1JoWW14bExtWnliMjBnUFNCbWRXNWpkR2x2YmlBb2FYUmxjbUZpYkdVc0lHOXdkSE1wSUh0Y2JpQWdJQ0JwWmlBb1puSnZiU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQm1jbTl0SUQwZ2NtVnhkV2x5WlNnbkxpOXBiblJsY201aGJDOXpkSEpsWVcxekwyWnliMjBuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdabkp2YlNoU1pXRmtZV0pzWlN3Z2FYUmxjbUZpYkdVc0lHOXdkSE1wTzF4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBibVJsZUU5bUtIaHpMQ0I0S1NCN1hHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNJRDBnZUhNdWJHVnVaM1JvT3lCcElEd2diRHNnYVNzcktTQjdYRzRnSUNBZ2FXWWdLSGh6VzJsZElEMDlQU0I0S1NCeVpYUjFjbTRnYVR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlBdE1UdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuLy8gYSB0cmFuc2Zvcm0gc3RyZWFtIGlzIGEgcmVhZGFibGUvd3JpdGFibGUgc3RyZWFtIHdoZXJlIHlvdSBkb1xcbi8vIHNvbWV0aGluZyB3aXRoIHRoZSBkYXRhLiAgU29tZXRpbWVzIGl0J3MgY2FsbGVkIGEgXFxcImZpbHRlclxcXCIsXFxuLy8gYnV0IHRoYXQncyBub3QgYSBncmVhdCBuYW1lIGZvciBpdCwgc2luY2UgdGhhdCBpbXBsaWVzIGEgdGhpbmcgd2hlcmVcXG4vLyBzb21lIGJpdHMgcGFzcyB0aHJvdWdoLCBhbmQgb3RoZXJzIGFyZSBzaW1wbHkgaWdub3JlZC4gIChUaGF0IHdvdWxkXFxuLy8gYmUgYSB2YWxpZCBleGFtcGxlIG9mIGEgdHJhbnNmb3JtLCBvZiBjb3Vyc2UuKVxcbi8vXFxuLy8gV2hpbGUgdGhlIG91dHB1dCBpcyBjYXVzYWxseSByZWxhdGVkIHRvIHRoZSBpbnB1dCwgaXQncyBub3QgYVxcbi8vIG5lY2Vzc2FyaWx5IHN5bW1ldHJpYyBvciBzeW5jaHJvbm91cyB0cmFuc2Zvcm1hdGlvbi4gIEZvciBleGFtcGxlLFxcbi8vIGEgemxpYiBzdHJlYW0gbWlnaHQgdGFrZSBtdWx0aXBsZSBwbGFpbi10ZXh0IHdyaXRlcygpLCBhbmQgdGhlblxcbi8vIGVtaXQgYSBzaW5nbGUgY29tcHJlc3NlZCBjaHVuayBzb21lIHRpbWUgaW4gdGhlIGZ1dHVyZS5cXG4vL1xcbi8vIEhlcmUncyBob3cgdGhpcyB3b3JrczpcXG4vL1xcbi8vIFRoZSBUcmFuc2Zvcm0gc3RyZWFtIGhhcyBhbGwgdGhlIGFzcGVjdHMgb2YgdGhlIHJlYWRhYmxlIGFuZCB3cml0YWJsZVxcbi8vIHN0cmVhbSBjbGFzc2VzLiAgV2hlbiB5b3Ugd3JpdGUoY2h1bmspLCB0aGF0IGNhbGxzIF93cml0ZShjaHVuayxjYilcXG4vLyBpbnRlcm5hbGx5LCBhbmQgcmV0dXJucyBmYWxzZSBpZiB0aGVyZSdzIGEgbG90IG9mIHBlbmRpbmcgd3JpdGVzXFxuLy8gYnVmZmVyZWQgdXAuICBXaGVuIHlvdSBjYWxsIHJlYWQoKSwgdGhhdCBjYWxscyBfcmVhZChuKSB1bnRpbFxcbi8vIHRoZXJlJ3MgZW5vdWdoIHBlbmRpbmcgcmVhZGFibGUgZGF0YSBidWZmZXJlZCB1cC5cXG4vL1xcbi8vIEluIGEgdHJhbnNmb3JtIHN0cmVhbSwgdGhlIHdyaXR0ZW4gZGF0YSBpcyBwbGFjZWQgaW4gYSBidWZmZXIuICBXaGVuXFxuLy8gX3JlYWQobikgaXMgY2FsbGVkLCBpdCB0cmFuc2Zvcm1zIHRoZSBxdWV1ZWQgdXAgZGF0YSwgY2FsbGluZyB0aGVcXG4vLyBidWZmZXJlZCBfd3JpdGUgY2IncyBhcyBpdCBjb25zdW1lcyBjaHVua3MuICBJZiBjb25zdW1pbmcgYSBzaW5nbGVcXG4vLyB3cml0dGVuIGNodW5rIHdvdWxkIHJlc3VsdCBpbiBtdWx0aXBsZSBvdXRwdXQgY2h1bmtzLCB0aGVuIHRoZSBmaXJzdFxcbi8vIG91dHB1dHRlZCBiaXQgY2FsbHMgdGhlIHJlYWRjYiwgYW5kIHN1YnNlcXVlbnQgY2h1bmtzIGp1c3QgZ28gaW50b1xcbi8vIHRoZSByZWFkIGJ1ZmZlciwgYW5kIHdpbGwgY2F1c2UgaXQgdG8gZW1pdCAncmVhZGFibGUnIGlmIG5lY2Vzc2FyeS5cXG4vL1xcbi8vIFRoaXMgd2F5LCBiYWNrLXByZXNzdXJlIGlzIGFjdHVhbGx5IGRldGVybWluZWQgYnkgdGhlIHJlYWRpbmcgc2lkZSxcXG4vLyBzaW5jZSBfcmVhZCBoYXMgdG8gYmUgY2FsbGVkIHRvIHN0YXJ0IHByb2Nlc3NpbmcgYSBuZXcgY2h1bmsuICBIb3dldmVyLFxcbi8vIGEgcGF0aG9sb2dpY2FsIGluZmxhdGUgdHlwZSBvZiB0cmFuc2Zvcm0gY2FuIGNhdXNlIGV4Y2Vzc2l2ZSBidWZmZXJpbmdcXG4vLyBoZXJlLiAgRm9yIGV4YW1wbGUsIGltYWdpbmUgYSBzdHJlYW0gd2hlcmUgZXZlcnkgYnl0ZSBvZiBpbnB1dCBpc1xcbi8vIGludGVycHJldGVkIGFzIGFuIGludGVnZXIgZnJvbSAwLTI1NSwgYW5kIHRoZW4gcmVzdWx0cyBpbiB0aGF0IG1hbnlcXG4vLyBieXRlcyBvZiBvdXRwdXQuICBXcml0aW5nIHRoZSA0IGJ5dGVzIHtmZixmZixmZixmZn0gd291bGQgcmVzdWx0IGluXFxuLy8gMWtiIG9mIGRhdGEgYmVpbmcgb3V0cHV0LiAgSW4gdGhpcyBjYXNlLCB5b3UgY291bGQgd3JpdGUgYSB2ZXJ5IHNtYWxsXFxuLy8gYW1vdW50IG9mIGlucHV0LCBhbmQgZW5kIHVwIHdpdGggYSB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBvdXRwdXQuICBJblxcbi8vIHN1Y2ggYSBwYXRob2xvZ2ljYWwgaW5mbGF0aW5nIG1lY2hhbmlzbSwgdGhlcmUnZCBiZSBubyB3YXkgdG8gdGVsbFxcbi8vIHRoZSBzeXN0ZW0gdG8gc3RvcCBkb2luZyB0aGUgdHJhbnNmb3JtLiAgQSBzaW5nbGUgNE1CIHdyaXRlIGNvdWxkXFxuLy8gY2F1c2UgdGhlIHN5c3RlbSB0byBydW4gb3V0IG9mIG1lbW9yeS5cXG4vL1xcbi8vIEhvd2V2ZXIsIGV2ZW4gaW4gc3VjaCBhIHBhdGhvbG9naWNhbCBjYXNlLCBvbmx5IGEgc2luZ2xlIHdyaXR0ZW4gY2h1bmtcXG4vLyB3b3VsZCBiZSBjb25zdW1lZCwgYW5kIHRoZW4gdGhlIHJlc3Qgd291bGQgd2FpdCAodW4tdHJhbnNmb3JtZWQpIHVudGlsXFxuLy8gdGhlIHJlc3VsdHMgb2YgdGhlIHByZXZpb3VzIHRyYW5zZm9ybWVkIGNodW5rIHdlcmUgY29uc3VtZWQuXFxuXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBUcmFuc2Zvcm07XFxuXFxudmFyIF9yZXF1aXJlJGNvZGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXFxuICAgIEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLFxcbiAgICBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7XFxuXFxudmFyIER1cGxleCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoVHJhbnNmb3JtLCBEdXBsZXgpO1xcblxcbmZ1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKGVyLCBkYXRhKSB7XFxuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcXG4gIHRzLnRyYW5zZm9ybWluZyA9IGZhbHNlO1xcbiAgdmFyIGNiID0gdHMud3JpdGVjYjtcXG5cXG4gIGlmIChjYiA9PT0gbnVsbCkge1xcbiAgICByZXR1cm4gdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0soKSk7XFxuICB9XFxuXFxuICB0cy53cml0ZWNodW5rID0gbnVsbDtcXG4gIHRzLndyaXRlY2IgPSBudWxsO1xcbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXFxuICAgIHRoaXMucHVzaChkYXRhKTtcXG4gIGNiKGVyKTtcXG4gIHZhciBycyA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICBycy5yZWFkaW5nID0gZmFsc2U7XFxuXFxuICBpZiAocnMubmVlZFJlYWRhYmxlIHx8IHJzLmxlbmd0aCA8IHJzLmhpZ2hXYXRlck1hcmspIHtcXG4gICAgdGhpcy5fcmVhZChycy5oaWdoV2F0ZXJNYXJrKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gVHJhbnNmb3JtKG9wdGlvbnMpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKSByZXR1cm4gbmV3IFRyYW5zZm9ybShvcHRpb25zKTtcXG4gIER1cGxleC5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUgPSB7XFxuICAgIGFmdGVyVHJhbnNmb3JtOiBhZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLFxcbiAgICBuZWVkVHJhbnNmb3JtOiBmYWxzZSxcXG4gICAgdHJhbnNmb3JtaW5nOiBmYWxzZSxcXG4gICAgd3JpdGVjYjogbnVsbCxcXG4gICAgd3JpdGVjaHVuazogbnVsbCxcXG4gICAgd3JpdGVlbmNvZGluZzogbnVsbFxcbiAgfTsgLy8gc3RhcnQgb3V0IGFza2luZyBmb3IgYSByZWFkYWJsZSBldmVudCBvbmNlIGRhdGEgaXMgdHJhbnNmb3JtZWQuXFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7IC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xcbiAgLy8gdGhhdCBSZWFkYWJsZSB3YW50cyBiZWZvcmUgdGhlIGZpcnN0IF9yZWFkIGNhbGwsIHNvIHVuc2V0IHRoZVxcbiAgLy8gc3luYyBndWFyZCBmbGFnLlxcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmZsdXNoID09PSAnZnVuY3Rpb24nKSB0aGlzLl9mbHVzaCA9IG9wdGlvbnMuZmx1c2g7XFxuICB9IC8vIFdoZW4gdGhlIHdyaXRhYmxlIHNpZGUgZmluaXNoZXMsIHRoZW4gZmx1c2ggb3V0IGFueXRoaW5nIHJlbWFpbmluZy5cXG5cXG5cXG4gIHRoaXMub24oJ3ByZWZpbmlzaCcsIHByZWZpbmlzaCk7XFxufVxcblxcbmZ1bmN0aW9uIHByZWZpbmlzaCgpIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICBpZiAodHlwZW9mIHRoaXMuX2ZsdXNoID09PSAnZnVuY3Rpb24nICYmICF0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCkge1xcbiAgICB0aGlzLl9mbHVzaChmdW5jdGlvbiAoZXIsIGRhdGEpIHtcXG4gICAgICBkb25lKF90aGlzLCBlciwgZGF0YSk7XFxuICAgIH0pO1xcbiAgfSBlbHNlIHtcXG4gICAgZG9uZSh0aGlzLCBudWxsLCBudWxsKTtcXG4gIH1cXG59XFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybSA9IGZhbHNlO1xcbiAgcmV0dXJuIER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsIGNodW5rLCBlbmNvZGluZyk7XFxufTsgLy8gVGhpcyBpcyB0aGUgcGFydCB3aGVyZSB5b3UgZG8gc3R1ZmYhXFxuLy8gb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiBpbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxcbi8vICdjaHVuaycgaXMgYW4gaW5wdXQgY2h1bmsuXFxuLy9cXG4vLyBDYWxsIGBwdXNoKG5ld0NodW5rKWAgdG8gcGFzcyBhbG9uZyB0cmFuc2Zvcm1lZCBvdXRwdXRcXG4vLyB0byB0aGUgcmVhZGFibGUgc2lkZS4gIFlvdSBtYXkgY2FsbCAncHVzaCcgemVybyBvciBtb3JlIHRpbWVzLlxcbi8vXFxuLy8gQ2FsbCBgY2IoZXJyKWAgd2hlbiB5b3UgYXJlIGRvbmUgd2l0aCB0aGlzIGNodW5rLiAgSWYgeW91IHBhc3NcXG4vLyBhbiBlcnJvciwgdGhlbiB0aGF0J2xsIHB1dCB0aGUgaHVydCBvbiB0aGUgd2hvbGUgb3BlcmF0aW9uLiAgSWYgeW91XFxuLy8gbmV2ZXIgY2FsbCBjYigpLCB0aGVuIHlvdSdsbCBuZXZlciBnZXQgYW5vdGhlciBjaHVuay5cXG5cXG5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgY2IobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKCdfdHJhbnNmb3JtKCknKSk7XFxufTtcXG5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl93cml0ZSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcXG4gIHRzLndyaXRlY2IgPSBjYjtcXG4gIHRzLndyaXRlY2h1bmsgPSBjaHVuaztcXG4gIHRzLndyaXRlZW5jb2RpbmcgPSBlbmNvZGluZztcXG5cXG4gIGlmICghdHMudHJhbnNmb3JtaW5nKSB7XFxuICAgIHZhciBycyA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICAgIGlmICh0cy5uZWVkVHJhbnNmb3JtIHx8IHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xcbiAgfVxcbn07IC8vIERvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIGFyZ3MgYXJlIGhlcmUuXFxuLy8gX3RyYW5zZm9ybSBkb2VzIGFsbCB0aGUgd29yay5cXG4vLyBUaGF0IHdlIGdvdCBoZXJlIG1lYW5zIHRoYXQgdGhlIHJlYWRhYmxlIHNpZGUgd2FudHMgbW9yZSBkYXRhLlxcblxcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAobikge1xcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XFxuXFxuICBpZiAodHMud3JpdGVjaHVuayAhPT0gbnVsbCAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XFxuICAgIHRzLnRyYW5zZm9ybWluZyA9IHRydWU7XFxuXFxuICAgIHRoaXMuX3RyYW5zZm9ybSh0cy53cml0ZWNodW5rLCB0cy53cml0ZWVuY29kaW5nLCB0cy5hZnRlclRyYW5zZm9ybSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBtYXJrIHRoYXQgd2UgbmVlZCBhIHRyYW5zZm9ybSwgc28gdGhhdCBhbnkgZGF0YSB0aGF0IGNvbWVzIGluXFxuICAgIC8vIHdpbGwgZ2V0IHByb2Nlc3NlZCwgbm93IHRoYXQgd2UndmUgYXNrZWQgZm9yIGl0LlxcbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcXG4gIH1cXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsIGVyciwgZnVuY3Rpb24gKGVycjIpIHtcXG4gICAgY2IoZXJyMik7XFxuICB9KTtcXG59O1xcblxcbmZ1bmN0aW9uIGRvbmUoc3RyZWFtLCBlciwgZGF0YSkge1xcbiAgaWYgKGVyKSByZXR1cm4gc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXFxuICAgIHN0cmVhbS5wdXNoKGRhdGEpOyAvLyBUT0RPKEJyaWRnZUFSKTogV3JpdGUgYSB0ZXN0IGZvciB0aGVzZSB0d28gZXJyb3IgY2FzZXNcXG4gIC8vIGlmIHRoZXJlJ3Mgbm90aGluZyBpbiB0aGUgd3JpdGUgYnVmZmVyLCB0aGVuIHRoYXQgbWVhbnNcXG4gIC8vIHRoYXQgbm90aGluZyBtb3JlIHdpbGwgZXZlciBiZSBwcm92aWRlZFxcblxcbiAgaWYgKHN0cmVhbS5fd3JpdGFibGVTdGF0ZS5sZW5ndGgpIHRocm93IG5ldyBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAoKTtcXG4gIGlmIChzdHJlYW0uX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZykgdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcoKTtcXG4gIHJldHVybiBzdHJlYW0ucHVzaChudWxsKTtcXG59Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOTBjbUZ1YzJadmNtMHVhbk0vTVdSalppSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3d1EwRkJNRU1zV1VGQldUdEJRVU4wUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanM3UVVGRlFTeHhRa0ZCY1VJc2JVSkJRVThzUTBGQlF5d3dSa0ZCVnp0QlFVTjRRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4aFFVRmhMRzFDUVVGUExFTkJRVU1zY1VkQlFXdENPenRCUVVWMlF5eHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZzUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SlFVRkpPenRCUVVWS0xEQkRRVUV3UXp0QlFVTXhRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN1FVRkRSanRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2MwSkJRWE5DTzBGQlEzUkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzFpWVhObEwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZEhKaGJuTm1iM0p0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1EyOXdlWEpwWjJoMElFcHZlV1Z1ZEN3Z1NXNWpMaUJoYm1RZ2IzUm9aWElnVG05a1pTQmpiMjUwY21saWRYUnZjbk11WEc0dkwxeHVMeThnVUdWeWJXbHpjMmx2YmlCcGN5Qm9aWEpsWW5rZ1ozSmhiblJsWkN3Z1puSmxaU0J2WmlCamFHRnlaMlVzSUhSdklHRnVlU0J3WlhKemIyNGdiMkowWVdsdWFXNW5JR0ZjYmk4dklHTnZjSGtnYjJZZ2RHaHBjeUJ6YjJaMGQyRnlaU0JoYm1RZ1lYTnpiMk5wWVhSbFpDQmtiMk4xYldWdWRHRjBhVzl1SUdacGJHVnpJQ2gwYUdWY2JpOHZJRndpVTI5bWRIZGhjbVZjSWlrc0lIUnZJR1JsWVd3Z2FXNGdkR2hsSUZOdlpuUjNZWEpsSUhkcGRHaHZkWFFnY21WemRISnBZM1JwYjI0c0lHbHVZMngxWkdsdVoxeHVMeThnZDJsMGFHOTFkQ0JzYVcxcGRHRjBhVzl1SUhSb1pTQnlhV2RvZEhNZ2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJRzFsY21kbExDQndkV0pzYVhOb0xGeHVMeThnWkdsemRISnBZblYwWlN3Z2MzVmliR2xqWlc1elpTd2dZVzVrTDI5eUlITmxiR3dnWTI5d2FXVnpJRzltSUhSb1pTQlRiMlowZDJGeVpTd2dZVzVrSUhSdklIQmxjbTFwZEZ4dUx5OGdjR1Z5YzI5dWN5QjBieUIzYUc5dElIUm9aU0JUYjJaMGQyRnlaU0JwY3lCbWRYSnVhWE5vWldRZ2RHOGdaRzhnYzI4c0lITjFZbXBsWTNRZ2RHOGdkR2hsWEc0dkx5Qm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjenBjYmk4dlhHNHZMeUJVYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU0JoYm1RZ2RHaHBjeUJ3WlhKdGFYTnphVzl1SUc1dmRHbGpaU0J6YUdGc2JDQmlaU0JwYm1Oc2RXUmxaRnh1THk4Z2FXNGdZV3hzSUdOdmNHbGxjeUJ2Y2lCemRXSnpkR0Z1ZEdsaGJDQndiM0owYVc5dWN5QnZaaUIwYUdVZ1UyOW1kSGRoY21VdVhHNHZMMXh1THk4Z1ZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWl3Z1YwbFVTRTlWVkNCWFFWSlNRVTVVV1NCUFJpQkJUbGtnUzBsT1JDd2dSVmhRVWtWVFUxeHVMeThnVDFJZ1NVMVFURWxGUkN3Z1NVNURURlZFU1U1SElFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5QlVTRVVnVjBGU1VrRk9WRWxGVXlCUFJseHVMeThnVFVWU1EwaEJUbFJCUWtsTVNWUlpMQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJUa1FnVGs5T1NVNUdVa2xPUjBWTlJVNVVMaUJKVGx4dUx5OGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVsTWdUMUlnUTA5UVdWSkpSMGhVSUVoUFRFUkZVbE1nUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnUTB4QlNVMHNYRzR2THlCRVFVMUJSMFZUSUU5U0lFOVVTRVZTSUV4SlFVSkpURWxVV1N3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUZSUFVsUWdUMUpjYmk4dklFOVVTRVZTVjBsVFJTd2dRVkpKVTBsT1J5QkdVazlOTENCUFZWUWdUMFlnVDFJZ1NVNGdRMDlPVGtWRFZFbFBUaUJYU1ZSSUlGUklSU0JUVDBaVVYwRlNSU0JQVWlCVVNFVmNiaTh2SUZWVFJTQlBVaUJQVkVoRlVpQkVSVUZNU1U1SFV5QkpUaUJVU0VVZ1UwOUdWRmRCVWtVdVhHNHZMeUJoSUhSeVlXNXpabTl5YlNCemRISmxZVzBnYVhNZ1lTQnlaV0ZrWVdKc1pTOTNjbWwwWVdKc1pTQnpkSEpsWVcwZ2QyaGxjbVVnZVc5MUlHUnZYRzR2THlCemIyMWxkR2hwYm1jZ2QybDBhQ0IwYUdVZ1pHRjBZUzRnSUZOdmJXVjBhVzFsY3lCcGRDZHpJR05oYkd4bFpDQmhJRndpWm1sc2RHVnlYQ0lzWEc0dkx5QmlkWFFnZEdoaGRDZHpJRzV2ZENCaElHZHlaV0YwSUc1aGJXVWdabTl5SUdsMExDQnphVzVqWlNCMGFHRjBJR2x0Y0d4cFpYTWdZU0IwYUdsdVp5QjNhR1Z5WlZ4dUx5OGdjMjl0WlNCaWFYUnpJSEJoYzNNZ2RHaHliM1ZuYUN3Z1lXNWtJRzkwYUdWeWN5QmhjbVVnYzJsdGNHeDVJR2xuYm05eVpXUXVJQ0FvVkdoaGRDQjNiM1ZzWkZ4dUx5OGdZbVVnWVNCMllXeHBaQ0JsZUdGdGNHeGxJRzltSUdFZ2RISmhibk5tYjNKdExDQnZaaUJqYjNWeWMyVXVLVnh1THk5Y2JpOHZJRmRvYVd4bElIUm9aU0J2ZFhSd2RYUWdhWE1nWTJGMWMyRnNiSGtnY21Wc1lYUmxaQ0IwYnlCMGFHVWdhVzV3ZFhRc0lHbDBKM01nYm05MElHRmNiaTh2SUc1bFkyVnpjMkZ5YVd4NUlITjViVzFsZEhKcFl5QnZjaUJ6ZVc1amFISnZibTkxY3lCMGNtRnVjMlp2Y20xaGRHbHZiaTRnSUVadmNpQmxlR0Z0Y0d4bExGeHVMeThnWVNCNmJHbGlJSE4wY21WaGJTQnRhV2RvZENCMFlXdGxJRzExYkhScGNHeGxJSEJzWVdsdUxYUmxlSFFnZDNKcGRHVnpLQ2tzSUdGdVpDQjBhR1Z1WEc0dkx5QmxiV2wwSUdFZ2MybHVaMnhsSUdOdmJYQnlaWE56WldRZ1kyaDFibXNnYzI5dFpTQjBhVzFsSUdsdUlIUm9aU0JtZFhSMWNtVXVYRzR2TDF4dUx5OGdTR1Z5WlNkeklHaHZkeUIwYUdseklIZHZjbXR6T2x4dUx5OWNiaTh2SUZSb1pTQlVjbUZ1YzJadmNtMGdjM1J5WldGdElHaGhjeUJoYkd3Z2RHaGxJR0Z6Y0dWamRITWdiMllnZEdobElISmxZV1JoWW14bElHRnVaQ0IzY21sMFlXSnNaVnh1THk4Z2MzUnlaV0Z0SUdOc1lYTnpaWE11SUNCWGFHVnVJSGx2ZFNCM2NtbDBaU2hqYUhWdWF5a3NJSFJvWVhRZ1kyRnNiSE1nWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1THk4Z2FXNTBaWEp1WVd4c2VTd2dZVzVrSUhKbGRIVnlibk1nWm1Gc2MyVWdhV1lnZEdobGNtVW5jeUJoSUd4dmRDQnZaaUJ3Wlc1a2FXNW5JSGR5YVhSbGMxeHVMeThnWW5WbVptVnlaV1FnZFhBdUlDQlhhR1Z1SUhsdmRTQmpZV3hzSUhKbFlXUW9LU3dnZEdoaGRDQmpZV3hzY3lCZmNtVmhaQ2h1S1NCMWJuUnBiRnh1THk4Z2RHaGxjbVVuY3lCbGJtOTFaMmdnY0dWdVpHbHVaeUJ5WldGa1lXSnNaU0JrWVhSaElHSjFabVpsY21Wa0lIVndMbHh1THk5Y2JpOHZJRWx1SUdFZ2RISmhibk5tYjNKdElITjBjbVZoYlN3Z2RHaGxJSGR5YVhSMFpXNGdaR0YwWVNCcGN5QndiR0ZqWldRZ2FXNGdZU0JpZFdabVpYSXVJQ0JYYUdWdVhHNHZMeUJmY21WaFpDaHVLU0JwY3lCallXeHNaV1FzSUdsMElIUnlZVzV6Wm05eWJYTWdkR2hsSUhGMVpYVmxaQ0IxY0NCa1lYUmhMQ0JqWVd4c2FXNW5JSFJvWlZ4dUx5OGdZblZtWm1WeVpXUWdYM2R5YVhSbElHTmlKM01nWVhNZ2FYUWdZMjl1YzNWdFpYTWdZMmgxYm10ekxpQWdTV1lnWTI5dWMzVnRhVzVuSUdFZ2MybHVaMnhsWEc0dkx5QjNjbWwwZEdWdUlHTm9kVzVySUhkdmRXeGtJSEpsYzNWc2RDQnBiaUJ0ZFd4MGFYQnNaU0J2ZFhSd2RYUWdZMmgxYm10ekxDQjBhR1Z1SUhSb1pTQm1hWEp6ZEZ4dUx5OGdiM1YwY0hWMGRHVmtJR0pwZENCallXeHNjeUIwYUdVZ2NtVmhaR05pTENCaGJtUWdjM1ZpYzJWeGRXVnVkQ0JqYUhWdWEzTWdhblZ6ZENCbmJ5QnBiblJ2WEc0dkx5QjBhR1VnY21WaFpDQmlkV1ptWlhJc0lHRnVaQ0IzYVd4c0lHTmhkWE5sSUdsMElIUnZJR1Z0YVhRZ0ozSmxZV1JoWW14bEp5QnBaaUJ1WldObGMzTmhjbmt1WEc0dkwxeHVMeThnVkdocGN5QjNZWGtzSUdKaFkyc3RjSEpsYzNOMWNtVWdhWE1nWVdOMGRXRnNiSGtnWkdWMFpYSnRhVzVsWkNCaWVTQjBhR1VnY21WaFpHbHVaeUJ6YVdSbExGeHVMeThnYzJsdVkyVWdYM0psWVdRZ2FHRnpJSFJ2SUdKbElHTmhiR3hsWkNCMGJ5QnpkR0Z5ZENCd2NtOWpaWE56YVc1bklHRWdibVYzSUdOb2RXNXJMaUFnU0c5M1pYWmxjaXhjYmk4dklHRWdjR0YwYUc5c2IyZHBZMkZzSUdsdVpteGhkR1VnZEhsd1pTQnZaaUIwY21GdWMyWnZjbTBnWTJGdUlHTmhkWE5sSUdWNFkyVnpjMmwyWlNCaWRXWm1aWEpwYm1kY2JpOHZJR2hsY21VdUlDQkdiM0lnWlhoaGJYQnNaU3dnYVcxaFoybHVaU0JoSUhOMGNtVmhiU0IzYUdWeVpTQmxkbVZ5ZVNCaWVYUmxJRzltSUdsdWNIVjBJR2x6WEc0dkx5QnBiblJsY25CeVpYUmxaQ0JoY3lCaGJpQnBiblJsWjJWeUlHWnliMjBnTUMweU5UVXNJR0Z1WkNCMGFHVnVJSEpsYzNWc2RITWdhVzRnZEdoaGRDQnRZVzU1WEc0dkx5QmllWFJsY3lCdlppQnZkWFJ3ZFhRdUlDQlhjbWwwYVc1bklIUm9aU0EwSUdKNWRHVnpJSHRtWml4bVppeG1aaXhtWm4wZ2QyOTFiR1FnY21WemRXeDBJR2x1WEc0dkx5QXhhMklnYjJZZ1pHRjBZU0JpWldsdVp5QnZkWFJ3ZFhRdUlDQkpiaUIwYUdseklHTmhjMlVzSUhsdmRTQmpiM1ZzWkNCM2NtbDBaU0JoSUhabGNua2djMjFoYkd4Y2JpOHZJR0Z0YjNWdWRDQnZaaUJwYm5CMWRDd2dZVzVrSUdWdVpDQjFjQ0IzYVhSb0lHRWdkbVZ5ZVNCc1lYSm5aU0JoYlc5MWJuUWdiMllnYjNWMGNIVjBMaUFnU1c1Y2JpOHZJSE4xWTJnZ1lTQndZWFJvYjJ4dloybGpZV3dnYVc1bWJHRjBhVzVuSUcxbFkyaGhibWx6YlN3Z2RHaGxjbVVuWkNCaVpTQnVieUIzWVhrZ2RHOGdkR1ZzYkZ4dUx5OGdkR2hsSUhONWMzUmxiU0IwYnlCemRHOXdJR1J2YVc1bklIUm9aU0IwY21GdWMyWnZjbTB1SUNCQklITnBibWRzWlNBMFRVSWdkM0pwZEdVZ1kyOTFiR1JjYmk4dklHTmhkWE5sSUhSb1pTQnplWE4wWlcwZ2RHOGdjblZ1SUc5MWRDQnZaaUJ0WlcxdmNua3VYRzR2TDF4dUx5OGdTRzkzWlhabGNpd2daWFpsYmlCcGJpQnpkV05vSUdFZ2NHRjBhRzlzYjJkcFkyRnNJR05oYzJVc0lHOXViSGtnWVNCemFXNW5iR1VnZDNKcGRIUmxiaUJqYUhWdWExeHVMeThnZDI5MWJHUWdZbVVnWTI5dWMzVnRaV1FzSUdGdVpDQjBhR1Z1SUhSb1pTQnlaWE4wSUhkdmRXeGtJSGRoYVhRZ0tIVnVMWFJ5WVc1elptOXliV1ZrS1NCMWJuUnBiRnh1THk4Z2RHaGxJSEpsYzNWc2RITWdiMllnZEdobElIQnlaWFpwYjNWeklIUnlZVzV6Wm05eWJXVmtJR05vZFc1cklIZGxjbVVnWTI5dWMzVnRaV1F1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVkhKaGJuTm1iM0p0TzF4dVhHNTJZWElnWDNKbGNYVnBjbVVrWTI5a1pYTWdQU0J5WlhGMWFYSmxLQ2N1TGk5bGNuSnZjbk1uS1M1amIyUmxjeXhjYmlBZ0lDQkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDQTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUxGeHVJQ0FnSUVWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5QTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeXhjYmlBZ0lDQkZVbEpmVkZKQlRsTkdUMUpOWDBGTVVrVkJSRmxmVkZKQlRsTkdUMUpOU1U1SElEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMVJTUVU1VFJrOVNUVjlCVEZKRlFVUlpYMVJTUVU1VFJrOVNUVWxPUnl4Y2JpQWdJQ0JGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekFnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekE3WEc1Y2JuWmhjaUJFZFhCc1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmWkhWd2JHVjRKeWs3WEc1Y2JuSmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5a29WSEpoYm5ObWIzSnRMQ0JFZFhCc1pYZ3BPMXh1WEc1bWRXNWpkR2x2YmlCaFpuUmxjbFJ5WVc1elptOXliU2hsY2l3Z1pHRjBZU2tnZTF4dUlDQjJZWElnZEhNZ1BTQjBhR2x6TGw5MGNtRnVjMlp2Y20xVGRHRjBaVHRjYmlBZ2RITXVkSEpoYm5ObWIzSnRhVzVuSUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJqWWlBOUlIUnpMbmR5YVhSbFkySTdYRzVjYmlBZ2FXWWdLR05pSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpXMXBkQ2duWlhKeWIzSW5MQ0J1WlhjZ1JWSlNYMDFWVEZSSlVFeEZYME5CVEV4Q1FVTkxLQ2twTzF4dUlDQjlYRzVjYmlBZ2RITXVkM0pwZEdWamFIVnVheUE5SUc1MWJHdzdYRzRnSUhSekxuZHlhWFJsWTJJZ1BTQnVkV3hzTzF4dUlDQnBaaUFvWkdGMFlTQWhQU0J1ZFd4c0tTQXZMeUJ6YVc1bmJHVWdaWEYxWVd4eklHTm9aV05ySUdadmNpQmliM1JvSUdCdWRXeHNZQ0JoYm1RZ1lIVnVaR1ZtYVc1bFpHQmNiaUFnSUNCMGFHbHpMbkIxYzJnb1pHRjBZU2s3WEc0Z0lHTmlLR1Z5S1R0Y2JpQWdkbUZ5SUhKeklEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2NuTXVjbVZoWkdsdVp5QTlJR1poYkhObE8xeHVYRzRnSUdsbUlDaHljeTV1WldWa1VtVmhaR0ZpYkdVZ2ZId2djbk11YkdWdVozUm9JRHdnY25NdWFHbG5hRmRoZEdWeVRXRnlheWtnZTF4dUlDQWdJSFJvYVhNdVgzSmxZV1FvY25NdWFHbG5hRmRoZEdWeVRXRnlheWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ZISmhibk5tYjNKdEtHOXdkR2x2Ym5NcElIdGNiaUFnYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlGUnlZVzV6Wm05eWJTa3BJSEpsZEhWeWJpQnVaWGNnVkhKaGJuTm1iM0p0S0c5d2RHbHZibk1wTzF4dUlDQkVkWEJzWlhndVkyRnNiQ2gwYUdsekxDQnZjSFJwYjI1ektUdGNiaUFnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVZ1BTQjdYRzRnSUNBZ1lXWjBaWEpVY21GdWMyWnZjbTA2SUdGbWRHVnlWSEpoYm5ObWIzSnRMbUpwYm1Rb2RHaHBjeWtzWEc0Z0lDQWdibVZsWkZSeVlXNXpabTl5YlRvZ1ptRnNjMlVzWEc0Z0lDQWdkSEpoYm5ObWIzSnRhVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQjNjbWwwWldOaU9pQnVkV3hzTEZ4dUlDQWdJSGR5YVhSbFkyaDFibXM2SUc1MWJHd3NYRzRnSUNBZ2QzSnBkR1ZsYm1OdlpHbHVaem9nYm5Wc2JGeHVJQ0I5T3lBdkx5QnpkR0Z5ZENCdmRYUWdZWE5yYVc1bklHWnZjaUJoSUhKbFlXUmhZbXhsSUdWMlpXNTBJRzl1WTJVZ1pHRjBZU0JwY3lCMGNtRnVjMlp2Y20xbFpDNWNibHh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdJQzh2SUhkbElHaGhkbVVnYVcxd2JHVnRaVzUwWldRZ2RHaGxJRjl5WldGa0lHMWxkR2h2WkN3Z1lXNWtJR1J2Ym1VZ2RHaGxJRzkwYUdWeUlIUm9hVzVuYzF4dUlDQXZMeUIwYUdGMElGSmxZV1JoWW14bElIZGhiblJ6SUdKbFptOXlaU0IwYUdVZ1ptbHljM1FnWDNKbFlXUWdZMkZzYkN3Z2MyOGdkVzV6WlhRZ2RHaGxYRzRnSUM4dklITjVibU1nWjNWaGNtUWdabXhoWnk1Y2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5ONWJtTWdQU0JtWVd4elpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NTBjbUZ1YzJadmNtMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNSeVlXNXpabTl5YlNBOUlHOXdkR2x2Ym5NdWRISmhibk5tYjNKdE8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3k1bWJIVnphQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dkR2hwY3k1ZlpteDFjMmdnUFNCdmNIUnBiMjV6TG1ac2RYTm9PMXh1SUNCOUlDOHZJRmRvWlc0Z2RHaGxJSGR5YVhSaFlteGxJSE5wWkdVZ1ptbHVhWE5vWlhNc0lIUm9aVzRnWm14MWMyZ2diM1YwSUdGdWVYUm9hVzVuSUhKbGJXRnBibWx1Wnk1Y2JseHVYRzRnSUhSb2FYTXViMjRvSjNCeVpXWnBibWx6YUNjc0lIQnlaV1pwYm1semFDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQnlaV1pwYm1semFDZ3BJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUhSb2FYTXVYMlpzZFhOb0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJSFJvYVhNdVgyWnNkWE5vS0daMWJtTjBhVzl1SUNobGNpd2daR0YwWVNrZ2UxeHVJQ0FnSUNBZ1pHOXVaU2hmZEdocGN5d2daWElzSUdSaGRHRXBPMXh1SUNBZ0lIMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1J2Ym1Vb2RHaHBjeXdnYm5Wc2JDd2diblZzYkNrN1hHNGdJSDFjYm4xY2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzV3ZFhOb0lEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5a2dlMXh1SUNCMGFHbHpMbDkwY21GdWMyWnZjbTFUZEdGMFpTNXVaV1ZrVkhKaGJuTm1iM0p0SUQwZ1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTG5CMWMyZ3VZMkZzYkNoMGFHbHpMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3BPMXh1ZlRzZ0x5OGdWR2hwY3lCcGN5QjBhR1VnY0dGeWRDQjNhR1Z5WlNCNWIzVWdaRzhnYzNSMVptWWhYRzR2THlCdmRtVnljbWxrWlNCMGFHbHpJR1oxYm1OMGFXOXVJR2x1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR05zWVhOelpYTXVYRzR2THlBblkyaDFibXNuSUdseklHRnVJR2x1Y0hWMElHTm9kVzVyTGx4dUx5OWNiaTh2SUVOaGJHd2dZSEIxYzJnb2JtVjNRMmgxYm1zcFlDQjBieUJ3WVhOeklHRnNiMjVuSUhSeVlXNXpabTl5YldWa0lHOTFkSEIxZEZ4dUx5OGdkRzhnZEdobElISmxZV1JoWW14bElITnBaR1V1SUNCWmIzVWdiV0Y1SUdOaGJHd2dKM0IxYzJnbklIcGxjbThnYjNJZ2JXOXlaU0IwYVcxbGN5NWNiaTh2WEc0dkx5QkRZV3hzSUdCallpaGxjbklwWUNCM2FHVnVJSGx2ZFNCaGNtVWdaRzl1WlNCM2FYUm9JSFJvYVhNZ1kyaDFibXN1SUNCSlppQjViM1VnY0dGemMxeHVMeThnWVc0Z1pYSnliM0lzSUhSb1pXNGdkR2hoZENkc2JDQndkWFFnZEdobElHaDFjblFnYjI0Z2RHaGxJSGRvYjJ4bElHOXdaWEpoZEdsdmJpNGdJRWxtSUhsdmRWeHVMeThnYm1WMlpYSWdZMkZzYkNCallpZ3BMQ0IwYUdWdUlIbHZkU2RzYkNCdVpYWmxjaUJuWlhRZ1lXNXZkR2hsY2lCamFIVnVheTVjYmx4dVhHNVVjbUZ1YzJadmNtMHVjSEp2ZEc5MGVYQmxMbDkwY21GdWMyWnZjbTBnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCallpaHVaWGNnUlZKU1gwMUZWRWhQUkY5T1QxUmZTVTFRVEVWTlJVNVVSVVFvSjE5MGNtRnVjMlp2Y20wb0tTY3BLVHRjYm4wN1hHNWNibFJ5WVc1elptOXliUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnZG1GeUlIUnpJRDBnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVN1hHNGdJSFJ6TG5keWFYUmxZMklnUFNCallqdGNiaUFnZEhNdWQzSnBkR1ZqYUhWdWF5QTlJR05vZFc1ck8xeHVJQ0IwY3k1M2NtbDBaV1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWM3WEc1Y2JpQWdhV1lnS0NGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IyWVhJZ2NuTWdQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQWdJR2xtSUNoMGN5NXVaV1ZrVkhKaGJuTm1iM0p0SUh4OElISnpMbTVsWldSU1pXRmtZV0pzWlNCOGZDQnljeTVzWlc1bmRHZ2dQQ0J5Y3k1b2FXZG9WMkYwWlhKTllYSnJLU0IwYUdsekxsOXlaV0ZrS0hKekxtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dUlDQjlYRzU5T3lBdkx5QkViMlZ6YmlkMElHMWhkSFJsY2lCM2FHRjBJSFJvWlNCaGNtZHpJR0Z5WlNCb1pYSmxMbHh1THk4Z1gzUnlZVzV6Wm05eWJTQmtiMlZ6SUdGc2JDQjBhR1VnZDI5eWF5NWNiaTh2SUZSb1lYUWdkMlVnWjI5MElHaGxjbVVnYldWaGJuTWdkR2hoZENCMGFHVWdjbVZoWkdGaWJHVWdjMmxrWlNCM1lXNTBjeUJ0YjNKbElHUmhkR0V1WEc1Y2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzVmY21WaFpDQTlJR1oxYm1OMGFXOXVJQ2h1S1NCN1hHNGdJSFpoY2lCMGN5QTlJSFJvYVhNdVgzUnlZVzV6Wm05eWJWTjBZWFJsTzF4dVhHNGdJR2xtSUNoMGN5NTNjbWwwWldOb2RXNXJJQ0U5UFNCdWRXeHNJQ1ltSUNGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IwY3k1MGNtRnVjMlp2Y20xcGJtY2dQU0IwY25WbE8xeHVYRzRnSUNBZ2RHaHBjeTVmZEhKaGJuTm1iM0p0S0hSekxuZHlhWFJsWTJoMWJtc3NJSFJ6TG5keWFYUmxaVzVqYjJScGJtY3NJSFJ6TG1GbWRHVnlWSEpoYm5ObWIzSnRLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCdFlYSnJJSFJvWVhRZ2QyVWdibVZsWkNCaElIUnlZVzV6Wm05eWJTd2djMjhnZEdoaGRDQmhibmtnWkdGMFlTQjBhR0YwSUdOdmJXVnpJR2x1WEc0Z0lDQWdMeThnZDJsc2JDQm5aWFFnY0hKdlkyVnpjMlZrTENCdWIzY2dkR2hoZENCM1pTZDJaU0JoYzJ0bFpDQm1iM0lnYVhRdVhHNGdJQ0FnZEhNdWJtVmxaRlJ5WVc1elptOXliU0E5SUhSeWRXVTdYRzRnSUgxY2JuMDdYRzVjYmxSeVlXNXpabTl5YlM1d2NtOTBiM1I1Y0dVdVgyUmxjM1J5YjNrZ1BTQm1kVzVqZEdsdmJpQW9aWEp5TENCallpa2dlMXh1SUNCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTGw5a1pYTjBjbTk1TG1OaGJHd29kR2hwY3l3Z1pYSnlMQ0JtZFc1amRHbHZiaUFvWlhKeU1pa2dlMXh1SUNBZ0lHTmlLR1Z5Y2pJcE8xeHVJQ0I5S1R0Y2JuMDdYRzVjYm1aMWJtTjBhVzl1SUdSdmJtVW9jM1J5WldGdExDQmxjaXdnWkdGMFlTa2dlMXh1SUNCcFppQW9aWElwSUhKbGRIVnliaUJ6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUdsbUlDaGtZWFJoSUNFOUlHNTFiR3dwSUM4dklITnBibWRzWlNCbGNYVmhiSE1nWTJobFkyc2dabTl5SUdKdmRHZ2dZRzUxYkd4Z0lHRnVaQ0JnZFc1a1pXWnBibVZrWUZ4dUlDQWdJSE4wY21WaGJTNXdkWE5vS0dSaGRHRXBPeUF2THlCVVQwUlBLRUp5YVdSblpVRlNLVG9nVjNKcGRHVWdZU0IwWlhOMElHWnZjaUIwYUdWelpTQjBkMjhnWlhKeWIzSWdZMkZ6WlhOY2JpQWdMeThnYVdZZ2RHaGxjbVVuY3lCdWIzUm9hVzVuSUdsdUlIUm9aU0IzY21sMFpTQmlkV1ptWlhJc0lIUm9aVzRnZEdoaGRDQnRaV0Z1YzF4dUlDQXZMeUIwYUdGMElHNXZkR2hwYm1jZ2JXOXlaU0IzYVd4c0lHVjJaWElnWW1VZ2NISnZkbWxrWldSY2JseHVJQ0JwWmlBb2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxMbXhsYm1kMGFDa2dkR2h5YjNjZ2JtVjNJRVZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ2dwTzF4dUlDQnBaaUFvYzNSeVpXRnRMbDkwY21GdWMyWnZjbTFUZEdGMFpTNTBjbUZ1YzJadmNtMXBibWNwSUhSb2NtOTNJRzVsZHlCRlVsSmZWRkpCVGxOR1QxSk5YMEZNVWtWQlJGbGZWRkpCVGxOR1QxSk5TVTVIS0NrN1hHNGdJSEpsZEhWeWJpQnpkSEpsWVcwdWNIVnphQ2h1ZFd4c0tUdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcbi8vIEEgYml0IHNpbXBsZXIgdGhhbiByZWFkYWJsZSBzdHJlYW1zLlxcbi8vIEltcGxlbWVudCBhbiBhc3luYyAuX3dyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpLCBhbmQgaXQnbGwgaGFuZGxlIGFsbFxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XFxuLyogPHJlcGxhY2VtZW50PiAqL1xcblxcbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHRoaXMuY2h1bmsgPSBjaHVuaztcXG4gIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZztcXG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcXG4gIHRoaXMubmV4dCA9IG51bGw7XFxufSAvLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3RcXG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cXG5cXG5cXG5mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KHN0YXRlKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdGhpcy5uZXh0ID0gbnVsbDtcXG4gIHRoaXMuZW50cnkgPSBudWxsO1xcblxcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XFxuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XFxuICB9O1xcbn1cXG4vKiA8L3JlcGxhY2VtZW50PiAqL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIER1cGxleDtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5Xcml0YWJsZS5Xcml0YWJsZVN0YXRlID0gV3JpdGFibGVTdGF0ZTtcXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBpbnRlcm5hbFV0aWwgPSB7XFxuICBkZXByZWNhdGU6IF9fd2VicGFja19yZXF1aXJlX18oLyohIHV0aWwtZGVwcmVjYXRlICovIFxcXCIuL25vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzXFxcIilcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcblxcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XFxuXFxuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcXG59XFxuXFxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcXG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xcbn1cXG5cXG52YXIgZGVzdHJveUltcGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qc1xcXCIpO1xcblxcbnZhciBfcmVxdWlyZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcXFwiKSxcXG4gICAgZ2V0SGlnaFdhdGVyTWFyayA9IF9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcms7XFxuXFxudmFyIF9yZXF1aXJlJGNvZGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLFxcbiAgICBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXFxuICAgIEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELFxcbiAgICBFUlJfU1RSRUFNX05VTExfVkFMVUVTID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxcXG4gICAgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxcXG4gICAgRVJSX1VOS05PV05fRU5DT0RJTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORztcXG5cXG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcXG5cXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpKFdyaXRhYmxlLCBTdHJlYW0pO1xcblxcbmZ1bmN0aW9uIG5vcCgpIHt9XFxuXFxuZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0sXFxuICAvLyBlLmcuIG9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlIHZzLiBvcHRpb25zLndyaXRhYmxlT2JqZWN0TW9kZSwgZXRjLlxcblxcbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDsgLy8gb2JqZWN0IHN0cmVhbSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoaXMgc3RyZWFtXFxuICAvLyBjb250YWlucyBidWZmZXJzIG9yIG9iamVjdHMuXFxuXFxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy53cml0YWJsZU9iamVjdE1vZGU7IC8vIHRoZSBwb2ludCBhdCB3aGljaCB3cml0ZSgpIHN0YXJ0cyByZXR1cm5pbmcgZmFsc2VcXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgdGhhdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIGlmXFxuICAvLyB0aGUgZW50aXJlIGJ1ZmZlciBpcyBub3QgZmx1c2hlZCBpbW1lZGlhdGVseSBvbiB3cml0ZSgpXFxuXFxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSBnZXRIaWdoV2F0ZXJNYXJrKHRoaXMsIG9wdGlvbnMsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCBpc0R1cGxleCk7IC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcXG5cXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTsgLy8gZHJhaW4gZXZlbnQgZmxhZy5cXG5cXG4gIHRoaXMubmVlZERyYWluID0gZmFsc2U7IC8vIGF0IHRoZSBzdGFydCBvZiBjYWxsaW5nIGVuZCgpXFxuXFxuICB0aGlzLmVuZGluZyA9IGZhbHNlOyAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXFxuXFxuICB0aGlzLmVuZGVkID0gZmFsc2U7IC8vIHdoZW4gJ2ZpbmlzaCcgaXMgZW1pdHRlZFxcblxcbiAgdGhpcy5maW5pc2hlZCA9IGZhbHNlOyAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcXG5cXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7IC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xcbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXFxuICAvLyBoYW5kbGluZyBhdCBhIGxvd2VyIGxldmVsLlxcblxcbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTsgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxcbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxcblxcbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7IC8vIG5vdCBhbiBhY3R1YWwgYnVmZmVyIHdlIGtlZXAgdHJhY2sgb2YsIGJ1dCBhIG1lYXN1cmVtZW50XFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXFxuICAvLyBzb2NrZXQgb3IgZmlsZS5cXG5cXG4gIHRoaXMubGVuZ3RoID0gMDsgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cXG5cXG4gIHRoaXMud3JpdGluZyA9IGZhbHNlOyAvLyB3aGVuIHRydWUgYWxsIHdyaXRlcyB3aWxsIGJlIGJ1ZmZlcmVkIHVudGlsIC51bmNvcmsoKSBjYWxsXFxuXFxuICB0aGlzLmNvcmtlZCA9IDA7IC8vIGEgZmxhZyB0byBiZSBhYmxlIHRvIHRlbGwgaWYgdGhlIG9ud3JpdGUgY2IgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LFxcbiAgLy8gb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZSBhbnlcXG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFxcXCJsYXRlclxcXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXFxuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGUgY2FsbC5cXG5cXG4gIHRoaXMuc3luYyA9IHRydWU7IC8vIGEgZmxhZyB0byBrbm93IGlmIHdlJ3JlIHByb2Nlc3NpbmcgcHJldmlvdXNseSBidWZmZXJlZCBpdGVtcywgd2hpY2hcXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cXG5cXG4gIHRoaXMuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlOyAvLyB0aGUgY2FsbGJhY2sgdGhhdCdzIHBhc3NlZCB0byBfd3JpdGUoY2h1bmssY2IpXFxuXFxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcXG4gICAgb253cml0ZShzdHJlYW0sIGVyKTtcXG4gIH07IC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxcblxcblxcbiAgdGhpcy53cml0ZWNiID0gbnVsbDsgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxcblxcbiAgdGhpcy53cml0ZWxlbiA9IDA7XFxuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XFxuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsOyAvLyBudW1iZXIgb2YgcGVuZGluZyB1c2VyLXN1cHBsaWVkIHdyaXRlIGNhbGxiYWNrc1xcbiAgLy8gdGhpcyBtdXN0IGJlIDAgYmVmb3JlICdmaW5pc2gnIGNhbiBiZSBlbWl0dGVkXFxuXFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7IC8vIGVtaXQgcHJlZmluaXNoIGlmIHRoZSBvbmx5IHRoaW5nIHdlJ3JlIHdhaXRpbmcgZm9yIGlzIF93cml0ZSBjYnNcXG4gIC8vIFRoaXMgaXMgcmVsZXZhbnQgZm9yIHN5bmNocm9ub3VzIFRyYW5zZm9ybSBzdHJlYW1zXFxuXFxuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7IC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXFxuXFxuICB0aGlzLmVycm9yRW1pdHRlZCA9IGZhbHNlOyAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxcblxcbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7IC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZmluaXNoJyAoYW5kIHBvdGVudGlhbGx5ICdlbmQnKVxcblxcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTsgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcXG5cXG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwOyAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXFxuICAvLyBvbmUgYWxsb2NhdGVkIGFuZCBmcmVlIHRvIHVzZSwgYW5kIHdlIG1haW50YWluIGF0IG1vc3QgdHdvXFxuXFxuICB0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHRoaXMpO1xcbn1cXG5cXG5Xcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXIgPSBmdW5jdGlvbiBnZXRCdWZmZXIoKSB7XFxuICB2YXIgY3VycmVudCA9IHRoaXMuYnVmZmVyZWRSZXF1ZXN0O1xcbiAgdmFyIG91dCA9IFtdO1xcblxcbiAgd2hpbGUgKGN1cnJlbnQpIHtcXG4gICAgb3V0LnB1c2goY3VycmVudCk7XFxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XFxuICB9XFxuXFxuICByZXR1cm4gb3V0O1xcbn07XFxuXFxuKGZ1bmN0aW9uICgpIHtcXG4gIHRyeSB7XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSwgJ2J1ZmZlcicsIHtcXG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gd3JpdGFibGVTdGF0ZUJ1ZmZlckdldHRlcigpIHtcXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1ZmZlcigpO1xcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxcbiAgICB9KTtcXG4gIH0gY2F0Y2ggKF8pIHt9XFxufSkoKTsgLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXFxuLy8gd2hvc2UgcHJvdG90eXBlIGNoYWluIG9ubHkgcG9pbnRzIHRvIFJlYWRhYmxlLlxcblxcblxcbnZhciByZWFsSGFzSW5zdGFuY2U7XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgcmVhbEhhc0luc3RhbmNlID0gRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV07XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUsIFN5bWJvbC5oYXNJbnN0YW5jZSwge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUob2JqZWN0KSB7XFxuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xcbiAgICAgIGlmICh0aGlzICE9PSBXcml0YWJsZSkgcmV0dXJuIGZhbHNlO1xcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcXG4gICAgfVxcbiAgfSk7XFxufSBlbHNlIHtcXG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIHJlYWxIYXNJbnN0YW5jZShvYmplY3QpIHtcXG4gICAgcmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIHRoaXM7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7IC8vIFdyaXRhYmxlIGN0b3IgaXMgYXBwbGllZCB0byBEdXBsZXhlcywgdG9vLlxcbiAgLy8gYHJlYWxIYXNJbnN0YW5jZWAgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdXNpbmcgcGxhaW4gYGluc3RhbmNlb2ZgXFxuICAvLyB3b3VsZCByZXR1cm4gZmFsc2UsIGFzIG5vIGBfd3JpdGFibGVTdGF0ZWAgcHJvcGVydHkgaXMgYXR0YWNoZWQuXFxuICAvLyBUcnlpbmcgdG8gdXNlIHRoZSBjdXN0b20gYGluc3RhbmNlb2ZgIGZvciBXcml0YWJsZSBoZXJlIHdpbGwgYWxzbyBicmVhayB0aGVcXG4gIC8vIE5vZGUuanMgTGF6eVRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaGFzIGEgbm9uLXRyaXZpYWwgZ2V0dGVyIGZvclxcbiAgLy8gYF93cml0YWJsZVN0YXRlYCB0aGF0IHdvdWxkIGxlYWQgdG8gaW5maW5pdGUgcmVjdXJzaW9uLlxcbiAgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxcbiAgLy8gdGhlIFdyaXRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XFxuXFxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xcbiAgaWYgKCFpc0R1cGxleCAmJiAhcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsIHRoaXMpKSByZXR1cm4gbmV3IFdyaXRhYmxlKG9wdGlvbnMpO1xcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTsgLy8gbGVnYWN5LlxcblxcbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLndyaXRldiA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGV2ID0gb3B0aW9ucy53cml0ZXY7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn0gLy8gT3RoZXJ3aXNlIHBlb3BsZSBjYW4gcGlwZSBXcml0YWJsZSBzdHJlYW1zLCB3aGljaCBpcyBqdXN0IHdyb25nLlxcblxcblxcbldyaXRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKCkge1xcbiAgZXJyb3JPckRlc3Ryb3kodGhpcywgbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUoKSk7XFxufTtcXG5cXG5mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKHN0cmVhbSwgY2IpIHtcXG4gIHZhciBlciA9IG5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCgpOyAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxcblxcbiAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxufSAvLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXFxuLy8gbW9kZSB0aGUgc3RyZWFtIGlzIGluLiBDdXJyZW50bHkgdGhpcyBtZWFucyB0aGF0IGBudWxsYCBpcyBuZXZlciBhY2NlcHRlZFxcbi8vIGFuZCB1bmRlZmluZWQvbm9uLXN0cmluZyB2YWx1ZXMgYXJlIG9ubHkgYWxsb3dlZCBpbiBvYmplY3QgbW9kZS5cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xcbiAgdmFyIGVyO1xcblxcbiAgaWYgKGNodW5rID09PSBudWxsKSB7XFxuICAgIGVyID0gbmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVMoKTtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBlciA9IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnY2h1bmsnLCBbJ3N0cmluZycsICdCdWZmZXInXSwgY2h1bmspO1xcbiAgfVxcblxcbiAgaWYgKGVyKSB7XFxuICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcXG4gIHZhciByZXQgPSBmYWxzZTtcXG5cXG4gIHZhciBpc0J1ZiA9ICFzdGF0ZS5vYmplY3RNb2RlICYmIF9pc1VpbnQ4QXJyYXkoY2h1bmspO1xcblxcbiAgaWYgKGlzQnVmICYmICFCdWZmZXIuaXNCdWZmZXIoY2h1bmspKSB7XFxuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChpc0J1ZikgZW5jb2RpbmcgPSAnYnVmZmVyJztlbHNlIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgY2IgPSBub3A7XFxuICBpZiAoc3RhdGUuZW5kaW5nKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrO1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLnVuY29yayA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZC0tO1xcbiAgICBpZiAoIXN0YXRlLndyaXRpbmcgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG59O1xcblxcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcXG4gIC8vIG5vZGU6OlBhcnNlRW5jb2RpbmcoKSByZXF1aXJlcyBsb3dlciBjYXNlLlxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcXG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlbmNvZGluZyk7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XFxuICB9XFxufSk7XFxuXFxuZnVuY3Rpb24gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZykge1xcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmIHN0YXRlLmRlY29kZVN0cmluZ3MgIT09IGZhbHNlICYmIHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcXG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGNodW5rO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pOyAvLyBpZiB3ZSdyZSBhbHJlYWR5IHdyaXRpbmcgc29tZXRoaW5nLCB0aGVuIGp1c3QgcHV0IHRoaXNcXG4vLyBpbiB0aGUgcXVldWUsIGFuZCB3YWl0IG91ciB0dXJuLiAgT3RoZXJ3aXNlLCBjYWxsIF93cml0ZVxcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXFxuXFxuZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihzdHJlYW0sIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgaWYgKCFpc0J1Zikge1xcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcXG5cXG4gICAgaWYgKGNodW5rICE9PSBuZXdDaHVuaykge1xcbiAgICAgIGlzQnVmID0gdHJ1ZTtcXG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xcbiAgICAgIGNodW5rID0gbmV3Q2h1bms7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gIHN0YXRlLmxlbmd0aCArPSBsZW47XFxuICB2YXIgcmV0ID0gc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyazsgLy8gd2UgbXVzdCBlbnN1cmUgdGhhdCBwcmV2aW91cyBuZWVkRHJhaW4gd2lsbCBub3QgYmUgcmVzZXQgdG8gZmFsc2UuXFxuXFxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcXG5cXG4gIGlmIChzdGF0ZS53cml0aW5nIHx8IHN0YXRlLmNvcmtlZCkge1xcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSB7XFxuICAgICAgY2h1bms6IGNodW5rLFxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcXG4gICAgICBpc0J1ZjogaXNCdWYsXFxuICAgICAgY2FsbGJhY2s6IGNiLFxcbiAgICAgIG5leHQ6IG51bGxcXG4gICAgfTtcXG5cXG4gICAgaWYgKGxhc3QpIHtcXG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIH1cXG5cXG4gICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQgKz0gMTtcXG4gIH0gZWxzZSB7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuXFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBzdGF0ZS53cml0ZWxlbiA9IGxlbjtcXG4gIHN0YXRlLndyaXRlY2IgPSBjYjtcXG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xcbiAgc3RhdGUuc3luYyA9IHRydWU7XFxuICBpZiAoc3RhdGUuZGVzdHJveWVkKSBzdGF0ZS5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgnd3JpdGUnKSk7ZWxzZSBpZiAod3JpdGV2KSBzdHJlYW0uX3dyaXRldihjaHVuaywgc3RhdGUub253cml0ZSk7ZWxzZSBzdHJlYW0uX3dyaXRlKGNodW5rLCBlbmNvZGluZywgc3RhdGUub253cml0ZSk7XFxuICBzdGF0ZS5zeW5jID0gZmFsc2U7XFxufVxcblxcbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcXG4gIC0tc3RhdGUucGVuZGluZ2NiO1xcblxcbiAgaWYgKHN5bmMpIHtcXG4gICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGlmIHdlIGFyZSBiZWluZyBjYWxsZWQgc3luY2hyb25vdXNseVxcbiAgICAvLyB0byBhdm9pZCBwaWxpbmcgdXAgdGhpbmdzIG9uIHRoZSBzdGFja1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBhbmQgaXQgd2lsbCBhbHdheXMgaGFwcGVuXFxuICAgIC8vIGFmdGVyIGVycm9yXFxuXFxuICAgIHByb2Nlc3MubmV4dFRpY2soZmluaXNoTWF5YmUsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICB9IGVsc2Uge1xcbiAgICAvLyB0aGUgY2FsbGVyIGV4cGVjdCB0aGlzIHRvIGhhcHBlbiBiZWZvcmUgaWZcXG4gICAgLy8gaXQgaXMgYXN5bmNcXG4gICAgY2IoZXIpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBidXQgZmluaXNoIG11c3RcXG4gICAgLy8gYWx3YXlzIGZvbGxvdyBlcnJvclxcblxcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XFxuICBzdGF0ZS53cml0aW5nID0gZmFsc2U7XFxuICBzdGF0ZS53cml0ZWNiID0gbnVsbDtcXG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcXG4gIHN0YXRlLndyaXRlbGVuID0gMDtcXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZShzdHJlYW0sIGVyKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XFxuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XFxuICB2YXIgY2IgPSBzdGF0ZS53cml0ZWNiO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpO1xcbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcXG4gIGlmIChlcikgb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYik7ZWxzZSB7XFxuICAgIC8vIENoZWNrIGlmIHdlJ3JlIGFjdHVhbGx5IHJlYWR5IHRvIGZpbmlzaCwgYnV0IGRvbid0IGVtaXQgeWV0XFxuICAgIHZhciBmaW5pc2hlZCA9IG5lZWRGaW5pc2goc3RhdGUpIHx8IHN0cmVhbS5kZXN0cm95ZWQ7XFxuXFxuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcXG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBpZiAoc3luYykge1xcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soYWZ0ZXJXcml0ZSwgc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWZ0ZXJXcml0ZShzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpIHtcXG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcXG4gIHN0YXRlLnBlbmRpbmdjYi0tO1xcbiAgY2IoKTtcXG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbn0gLy8gTXVzdCBmb3JjZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgb24gbmV4dFRpY2ssIHNvIHRoYXQgd2UgZG9uJ3RcXG4vLyBlbWl0ICdkcmFpbicgYmVmb3JlIHRoZSB3cml0ZSgpIGNvbnN1bWVyIGdldHMgdGhlICdmYWxzZScgcmV0dXJuXFxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cXG5cXG5cXG5mdW5jdGlvbiBvbndyaXRlRHJhaW4oc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5uZWVkRHJhaW4pIHtcXG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XFxuICAgIHN0cmVhbS5lbWl0KCdkcmFpbicpO1xcbiAgfVxcbn0gLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcXG5cXG5cXG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gdHJ1ZTtcXG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcXG5cXG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XFxuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcXG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcXG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XFxuICAgIHZhciBjb3VudCA9IDA7XFxuICAgIHZhciBhbGxCdWZmZXJzID0gdHJ1ZTtcXG5cXG4gICAgd2hpbGUgKGVudHJ5KSB7XFxuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xcbiAgICAgIGlmICghZW50cnkuaXNCdWYpIGFsbEJ1ZmZlcnMgPSBmYWxzZTtcXG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICAgICAgY291bnQgKz0gMTtcXG4gICAgfVxcblxcbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTsgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXFxuXFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG5cXG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XFxuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gaG9sZGVyLm5leHQ7XFxuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXFxuICAgIHdoaWxlIChlbnRyeSkge1xcbiAgICAgIHZhciBjaHVuayA9IGVudHJ5LmNodW5rO1xcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICAgIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcXG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tOyAvLyBpZiB3ZSBkaWRuJ3QgY2FsbCB0aGUgb253cml0ZSBpbW1lZGlhdGVseSwgdGhlblxcbiAgICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0IGRvZXMuXFxuICAgICAgLy8gYWxzbywgdGhhdCBtZWFucyB0aGF0IHRoZSBjaHVuayBhbmQgY2IgYXJlIGN1cnJlbnRseVxcbiAgICAgIC8vIGJlaW5nIHByb2Nlc3NlZCwgc28gbW92ZSB0aGUgYnVmZmVyIGNvdW50ZXIgcGFzdCB0aGVtLlxcblxcbiAgICAgIGlmIChzdGF0ZS53cml0aW5nKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGVudHJ5ID09PSBudWxsKSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG4gIH1cXG5cXG4gIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IGVudHJ5O1xcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIGNiKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3dyaXRlKCknKSk7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGNodW5rO1xcbiAgICBjaHVuayA9IG51bGw7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7IC8vIC5lbmQoKSBmdWxseSB1bmNvcmtzXFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZCA9IDE7XFxuICAgIHRoaXMudW5jb3JrKCk7XFxuICB9IC8vIGlnbm9yZSB1bm5lY2Vzc2FyeSBlbmQoKSBjYWxscy5cXG5cXG5cXG4gIGlmICghc3RhdGUuZW5kaW5nKSBlbmRXcml0YWJsZSh0aGlzLCBzdGF0ZSwgY2IpO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVMZW5ndGgnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aDtcXG4gIH1cXG59KTtcXG5cXG5mdW5jdGlvbiBuZWVkRmluaXNoKHN0YXRlKSB7XFxuICByZXR1cm4gc3RhdGUuZW5kaW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPT09IG51bGwgJiYgIXN0YXRlLmZpbmlzaGVkICYmICFzdGF0ZS53cml0aW5nO1xcbn1cXG5cXG5mdW5jdGlvbiBjYWxsRmluYWwoc3RyZWFtLCBzdGF0ZSkge1xcbiAgc3RyZWFtLl9maW5hbChmdW5jdGlvbiAoZXJyKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xcblxcbiAgICBpZiAoZXJyKSB7XFxuICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcnIpO1xcbiAgICB9XFxuXFxuICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLmVtaXQoJ3ByZWZpbmlzaCcpO1xcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBwcmVmaW5pc2goc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKCFzdGF0ZS5wcmVmaW5pc2hlZCAmJiAhc3RhdGUuZmluYWxDYWxsZWQpIHtcXG4gICAgaWYgKHR5cGVvZiBzdHJlYW0uX2ZpbmFsID09PSAnZnVuY3Rpb24nICYmICFzdGF0ZS5kZXN0cm95ZWQpIHtcXG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcXG4gICAgICBzdGF0ZS5maW5hbENhbGxlZCA9IHRydWU7XFxuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xcbiAgdmFyIG5lZWQgPSBuZWVkRmluaXNoKHN0YXRlKTtcXG5cXG4gIGlmIChuZWVkKSB7XFxuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcXG5cXG4gICAgaWYgKHN0YXRlLnBlbmRpbmdjYiA9PT0gMCkge1xcbiAgICAgIHN0YXRlLmZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XFxuXFxuICAgICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XFxuICAgICAgICAvLyBJbiBjYXNlIG9mIGR1cGxleCBzdHJlYW1zIHdlIG5lZWQgYSB3YXkgdG8gZGV0ZWN0XFxuICAgICAgICAvLyBpZiB0aGUgcmVhZGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxcbiAgICAgICAgdmFyIHJTdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gICAgICAgIGlmICghclN0YXRlIHx8IHJTdGF0ZS5hdXRvRGVzdHJveSAmJiByU3RhdGUuZW5kRW1pdHRlZCkge1xcbiAgICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG5lZWQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFdyaXRhYmxlKHN0cmVhbSwgc3RhdGUsIGNiKSB7XFxuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxuXFxuICBpZiAoY2IpIHtcXG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwcm9jZXNzLm5leHRUaWNrKGNiKTtlbHNlIHN0cmVhbS5vbmNlKCdmaW5pc2gnLCBjYik7XFxuICB9XFxuXFxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuICBzdHJlYW0ud3JpdGFibGUgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gb25Db3JrZWRGaW5pc2goY29ya1JlcSwgc3RhdGUsIGVycikge1xcbiAgdmFyIGVudHJ5ID0gY29ya1JlcS5lbnRyeTtcXG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xcblxcbiAgd2hpbGUgKGVudHJ5KSB7XFxuICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcXG4gICAgY2IoZXJyKTtcXG4gICAgZW50cnkgPSBlbnRyeS5uZXh0O1xcbiAgfSAvLyByZXVzZSB0aGUgZnJlZSBjb3JrUmVxLlxcblxcblxcbiAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxcbiAgICBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG5Xcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XFxuV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcXG4gIGNiKGVycik7XFxufTtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOTNjbWwwWVdKc1pTNXFjejgzTWpWa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFlUczdRVUZGWWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4aFFVRmhMRzFDUVVGUExFTkJRVU1zWjBWQlFXZENPMEZCUTNKRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETEN0SVFVRXlRanRCUVVOb1JEczdPMEZCUjBFc1lVRkJZU3h0UWtGQlR5eERRVUZETERoRFFVRlJPenRCUVVVM1FqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMSGxJUVVFMFFqczdRVUZGZEVRc1pVRkJaU3h0UWtGQlR5eERRVUZETEhGSVFVRXdRanRCUVVOcVJEczdRVUZGUVN4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl3d1JrRkJWenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJMRzFDUVVGUExFTkJRVU1zTmtSQlFWVTdPMEZCUld4Q096dEJRVVZCTzBGQlEwRXNjVUpCUVhGQ0xHMUNRVUZQTEVOQlFVTXNjVWRCUVd0Q08wRkJReTlETERCQ1FVRXdRanRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3g1UlVGQmVVVTdRVUZEZWtVN08wRkJSVUU3UVVGRFFTeHJSa0ZCYTBZN1FVRkRiRVk3UVVGRFFUczdRVUZGUVN3d1JrRkJNRVk3TzBGQlJURkdMREpDUVVFeVFqczdRVUZGTTBJc2VVSkJRWGxDT3p0QlFVVjZRaXh6UWtGQmMwSTdPMEZCUlhSQ0xIRkNRVUZ4UWpzN1FVRkZja0lzZDBKQlFYZENPenRCUVVWNFFpeDVRa0ZCZVVJN1FVRkRla0k3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF6dEJRVU5xUXp0QlFVTkJPenRCUVVWQkxESkVRVUV5UkR0QlFVTXpSRHRCUVVOQk96dEJRVVZCTEd0Q1FVRnJRanM3UVVGRmJFSXNkVUpCUVhWQ096dEJRVVYyUWl4clFrRkJhMEk3UVVGRGJFSTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWp0QlFVTnVRanRCUVVOQk96dEJRVVZCTEdkRFFVRm5RenM3UVVGRmFFTTdRVUZEUVR0QlFVTkJMRWxCUVVrN096dEJRVWRLTEhOQ1FVRnpRanM3UVVGRmRFSTdRVUZEUVR0QlFVTkJMR3REUVVGclF6dEJRVU5zUXpzN1FVRkZRU3h4UWtGQmNVSTdRVUZEY2tJN08wRkJSVUVzTWtKQlFUSkNPenRCUVVVelFpdzBRa0ZCTkVJN08wRkJSVFZDTEN0RFFVRXJRenM3UVVGRkwwTXNNa05CUVRKRE96dEJRVVV6UXl4blEwRkJaME03UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFMRXRCUVVzN1FVRkRUQ3hIUVVGSE8wRkJRMGdzUTBGQlF5eEpRVUZKTzBGQlEwdzdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZ3NRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNjVUpCUVhGQ0xHMUNRVUZQTEVOQlFVTXNjVWRCUVd0Q0xFVkJRVVU3UVVGRGFrUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFGUVVGdFJUczdRVUZGYmtVN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNORU5CUVRSRE96dEJRVVUxUXp0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRFFVRnBRenRCUVVOcVF6dEJRVU5CTERSRFFVRTBRenRCUVVNMVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGTzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3clEwRkJLME03TzBGQlJTOURPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUlVGQmQwVXNjMFJCUVhORU8wRkJRemxJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0k3UVVGRE4wSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc0swSkJRU3RDTzBGQlF5OUNPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVPMEZCUTNCRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNNRVZCUVRCRk8wRkJRekZGT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRFFVRnRRenRCUVVOdVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQkxIbEZRVUY1UlRzN1FVRkZla1U3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERaRFFVRTJRenRCUVVNM1F6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenM3UVVGSFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVVaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDMWlZWE5sTDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMTl6ZEhKbFlXMWZkM0pwZEdGaWJHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJEYjNCNWNtbG5hSFFnU205NVpXNTBMQ0JKYm1NdUlHRnVaQ0J2ZEdobGNpQk9iMlJsSUdOdmJuUnlhV0oxZEc5eWN5NWNiaTh2WEc0dkx5QlFaWEp0YVhOemFXOXVJR2x6SUdobGNtVmllU0JuY21GdWRHVmtMQ0JtY21WbElHOW1JR05vWVhKblpTd2dkRzhnWVc1NUlIQmxjbk52YmlCdlluUmhhVzVwYm1jZ1lWeHVMeThnWTI5d2VTQnZaaUIwYUdseklITnZablIzWVhKbElHRnVaQ0JoYzNOdlkybGhkR1ZrSUdSdlkzVnRaVzUwWVhScGIyNGdabWxzWlhNZ0tIUm9aVnh1THk4Z1hDSlRiMlowZDJGeVpWd2lLU3dnZEc4Z1pHVmhiQ0JwYmlCMGFHVWdVMjltZEhkaGNtVWdkMmwwYUc5MWRDQnlaWE4wY21samRHbHZiaXdnYVc1amJIVmthVzVuWEc0dkx5QjNhWFJvYjNWMElHeHBiV2wwWVhScGIyNGdkR2hsSUhKcFoyaDBjeUIwYnlCMWMyVXNJR052Y0hrc0lHMXZaR2xtZVN3Z2JXVnlaMlVzSUhCMVlteHBjMmdzWEc0dkx5QmthWE4wY21saWRYUmxMQ0J6ZFdKc2FXTmxibk5sTENCaGJtUXZiM0lnYzJWc2JDQmpiM0JwWlhNZ2IyWWdkR2hsSUZOdlpuUjNZWEpsTENCaGJtUWdkRzhnY0dWeWJXbDBYRzR2THlCd1pYSnpiMjV6SUhSdklIZG9iMjBnZEdobElGTnZablIzWVhKbElHbHpJR1oxY201cGMyaGxaQ0IwYnlCa2J5QnpieXdnYzNWaWFtVmpkQ0IwYnlCMGFHVmNiaTh2SUdadmJHeHZkMmx1WnlCamIyNWthWFJwYjI1ek9seHVMeTljYmk4dklGUm9aU0JoWW05MlpTQmpiM0I1Y21sbmFIUWdibTkwYVdObElHRnVaQ0IwYUdseklIQmxjbTFwYzNOcGIyNGdibTkwYVdObElITm9ZV3hzSUdKbElHbHVZMngxWkdWa1hHNHZMeUJwYmlCaGJHd2dZMjl3YVdWeklHOXlJSE4xWW5OMFlXNTBhV0ZzSUhCdmNuUnBiMjV6SUc5bUlIUm9aU0JUYjJaMGQyRnlaUzVjYmk4dlhHNHZMeUJVU0VVZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdYQ0pCVXlCSlUxd2lMQ0JYU1ZSSVQxVlVJRmRCVWxKQlRsUlpJRTlHSUVGT1dTQkxTVTVFTENCRldGQlNSVk5UWEc0dkx5QlBVaUJKVFZCTVNVVkVMQ0JKVGtOTVZVUkpUa2NnUWxWVUlFNVBWQ0JNU1UxSlZFVkVJRlJQSUZSSVJTQlhRVkpTUVU1VVNVVlRJRTlHWEc0dkx5Qk5SVkpEU0VGT1ZFRkNTVXhKVkZrc0lFWkpWRTVGVTFNZ1JrOVNJRUVnVUVGU1ZFbERWVXhCVWlCUVZWSlFUMU5GSUVGT1JDQk9UMDVKVGtaU1NVNUhSVTFGVGxRdUlFbE9YRzR2THlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1FWVlVTRTlTVXlCUFVpQkRUMUJaVWtsSFNGUWdTRTlNUkVWU1V5QkNSU0JNU1VGQ1RFVWdSazlTSUVGT1dTQkRURUZKVFN4Y2JpOHZJRVJCVFVGSFJWTWdUMUlnVDFSSVJWSWdURWxCUWtsTVNWUlpMQ0JYU0VWVVNFVlNJRWxPSUVGT0lFRkRWRWxQVGlCUFJpQkRUMDVVVWtGRFZDd2dWRTlTVkNCUFVseHVMeThnVDFSSVJWSlhTVk5GTENCQlVrbFRTVTVISUVaU1QwMHNJRTlWVkNCUFJpQlBVaUJKVGlCRFQwNU9SVU5VU1U5T0lGZEpWRWdnVkVoRklGTlBSbFJYUVZKRklFOVNJRlJJUlZ4dUx5OGdWVk5GSUU5U0lFOVVTRVZTSUVSRlFVeEpUa2RUSUVsT0lGUklSU0JUVDBaVVYwRlNSUzVjYmk4dklFRWdZbWwwSUhOcGJYQnNaWElnZEdoaGJpQnlaV0ZrWVdKc1pTQnpkSEpsWVcxekxseHVMeThnU1cxd2JHVnRaVzUwSUdGdUlHRnplVzVqSUM1ZmQzSnBkR1VvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrc0lHRnVaQ0JwZENkc2JDQm9ZVzVrYkdVZ1lXeHNYRzR2THlCMGFHVWdaSEpoYVc0Z1pYWmxiblFnWlcxcGMzTnBiMjRnWVc1a0lHSjFabVpsY21sdVp5NWNiaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlhjbWwwWVdKc1pUdGNiaThxSUR4eVpYQnNZV05sYldWdWRENGdLaTljYmx4dVpuVnVZM1JwYjI0Z1YzSnBkR1ZTWlhFb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMGFHbHpMbU5vZFc1cklEMGdZMmgxYm1zN1hHNGdJSFJvYVhNdVpXNWpiMlJwYm1jZ1BTQmxibU52WkdsdVp6dGNiaUFnZEdocGN5NWpZV3hzWW1GamF5QTlJR05pTzF4dUlDQjBhR2x6TG01bGVIUWdQU0J1ZFd4c08xeHVmU0F2THlCSmRDQnpaV1Z0Y3lCaElHeHBibXRsWkNCc2FYTjBJR0oxZENCcGRDQnBjeUJ1YjNSY2JpOHZJSFJvWlhKbElIZHBiR3dnWW1VZ2IyNXNlU0F5SUc5bUlIUm9aWE5sSUdadmNpQmxZV05vSUhOMGNtVmhiVnh1WEc1Y2JtWjFibU4wYVc5dUlFTnZjbXRsWkZKbGNYVmxjM1FvYzNSaGRHVXBJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0IwYUdsekxtNWxlSFFnUFNCdWRXeHNPMXh1SUNCMGFHbHpMbVZ1ZEhKNUlEMGdiblZzYkR0Y2JseHVJQ0IwYUdsekxtWnBibWx6YUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnZia052Y210bFpFWnBibWx6YUNoZmRHaHBjeXdnYzNSaGRHVXBPMXh1SUNCOU8xeHVmVnh1THlvZ1BDOXlaWEJzWVdObGJXVnVkRDRnS2k5Y2JseHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1WEc1MllYSWdSSFZ3YkdWNE8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmxkeWFYUmhZbXhsTGxkeWFYUmhZbXhsVTNSaGRHVWdQU0JYY21sMFlXSnNaVk4wWVhSbE8xeHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlHbHVkR1Z5Ym1Gc1ZYUnBiQ0E5SUh0Y2JpQWdaR1Z3Y21WallYUmxPaUJ5WlhGMWFYSmxLQ2QxZEdsc0xXUmxjSEpsWTJGMFpTY3BYRzU5TzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYm5aaGNpQlRkSEpsWVcwZ1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1J5WldGdEp5azdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dVhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlKeWt1UW5WbVptVnlPMXh1WEc1MllYSWdUM1Z5VldsdWREaEJjbkpoZVNBOUlHZHNiMkpoYkM1VmFXNTBPRUZ5Y21GNUlIeDhJR1oxYm1OMGFXOXVJQ2dwSUh0OU8xeHVYRzVtZFc1amRHbHZiaUJmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5S0dOb2RXNXJLU0I3WEc0Z0lISmxkSFZ5YmlCQ2RXWm1aWEl1Wm5KdmJTaGphSFZ1YXlrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUY5cGMxVnBiblE0UVhKeVlYa29iMkpxS1NCN1hHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdWFYTkNkV1ptWlhJb2IySnFLU0I4ZkNCdlltb2dhVzV6ZEdGdVkyVnZaaUJQZFhKVmFXNTBPRUZ5Y21GNU8xeHVmVnh1WEc1MllYSWdaR1Z6ZEhKdmVVbHRjR3dnUFNCeVpYRjFhWEpsS0NjdUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlpHVnpkSEp2ZVNjcE8xeHVYRzUyWVhJZ1gzSmxjWFZwY21VZ1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1JoZEdVbktTeGNiaUFnSUNCblpYUklhV2RvVjJGMFpYSk5ZWEpySUQwZ1gzSmxjWFZwY21VdVoyVjBTR2xuYUZkaGRHVnlUV0Z5YXp0Y2JseHVkbUZ5SUY5eVpYRjFhWEpsSkdOdlpHVnpJRDBnY21WeGRXbHlaU2duTGk0dlpYSnliM0p6SnlrdVkyOWtaWE1zWEc0Z0lDQWdSVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlNVNVdRVXhKUkY5QlVrZGZWRmxRUlN4Y2JpQWdJQ0JGVWxKZlRVVlVTRTlFWDA1UFZGOUpUVkJNUlUxRlRsUkZSQ0E5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVMRnh1SUNBZ0lFVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeUE5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3l4Y2JpQWdJQ0JGVWxKZlUxUlNSVUZOWDBOQlRrNVBWRjlRU1ZCRklEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMU5VVWtWQlRWOURRVTVPVDFSZlVFbFFSU3hjYmlBZ0lDQkZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSQ0E5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5VFZGSkZRVTFmUkVWVFZGSlBXVVZFTEZ4dUlDQWdJRVZTVWw5VFZGSkZRVTFmVGxWTVRGOVdRVXhWUlZNZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZVMVJTUlVGTlgwNVZURXhmVmtGTVZVVlRMRnh1SUNBZ0lFVlNVbDlUVkZKRlFVMWZWMUpKVkVWZlFVWlVSVkpmUlU1RUlEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMU5VVWtWQlRWOVhVa2xVUlY5QlJsUkZVbDlGVGtRc1hHNGdJQ0FnUlZKU1gxVk9TMDVQVjA1ZlJVNURUMFJKVGtjZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZWVTVMVGs5WFRsOUZUa05QUkVsT1J6dGNibHh1ZG1GeUlHVnljbTl5VDNKRVpYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VaWEp5YjNKUGNrUmxjM1J5YjNrN1hHNWNibkpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWtvVjNKcGRHRmliR1VzSUZOMGNtVmhiU2s3WEc1Y2JtWjFibU4wYVc5dUlHNXZjQ2dwSUh0OVhHNWNibVoxYm1OMGFXOXVJRmR5YVhSaFlteGxVM1JoZEdVb2IzQjBhVzl1Y3l3Z2MzUnlaV0Z0TENCcGMwUjFjR3hsZUNrZ2UxeHVJQ0JFZFhCc1pYZ2dQU0JFZFhCc1pYZ2dmSHdnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDJSMWNHeGxlQ2NwTzF4dUlDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5QjhmQ0I3ZlRzZ0x5OGdSSFZ3YkdWNElITjBjbVZoYlhNZ1lYSmxJR0p2ZEdnZ2NtVmhaR0ZpYkdVZ1lXNWtJSGR5YVhSaFlteGxMQ0JpZFhRZ2MyaGhjbVZjYmlBZ0x5OGdkR2hsSUhOaGJXVWdiM0IwYVc5dWN5QnZZbXBsWTNRdVhHNGdJQzh2SUVodmQyVjJaWElzSUhOdmJXVWdZMkZ6WlhNZ2NtVnhkV2x5WlNCelpYUjBhVzVuSUc5d2RHbHZibk1nZEc4Z1pHbG1abVZ5Wlc1MFhHNGdJQzh2SUhaaGJIVmxjeUJtYjNJZ2RHaGxJSEpsWVdSaFlteGxJR0Z1WkNCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlhNZ2IyWWdkR2hsSUdSMWNHeGxlQ0J6ZEhKbFlXMHNYRzRnSUM4dklHVXVaeTRnYjNCMGFXOXVjeTV5WldGa1lXSnNaVTlpYW1WamRFMXZaR1VnZG5NdUlHOXdkR2x2Ym5NdWQzSnBkR0ZpYkdWUFltcGxZM1JOYjJSbExDQmxkR011WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUJwYzBSMWNHeGxlQ0FoUFQwZ0oySnZiMnhsWVc0bktTQnBjMFIxY0d4bGVDQTlJSE4wY21WaGJTQnBibk4wWVc1alpXOW1JRVIxY0d4bGVEc2dMeThnYjJKcVpXTjBJSE4wY21WaGJTQm1iR0ZuSUhSdklHbHVaR2xqWVhSbElIZG9aWFJvWlhJZ2IzSWdibTkwSUhSb2FYTWdjM1J5WldGdFhHNGdJQzh2SUdOdmJuUmhhVzV6SUdKMVptWmxjbk1nYjNJZ2IySnFaV04wY3k1Y2JseHVJQ0IwYUdsekxtOWlhbVZqZEUxdlpHVWdQU0FoSVc5d2RHbHZibk11YjJKcVpXTjBUVzlrWlR0Y2JpQWdhV1lnS0dselJIVndiR1Y0S1NCMGFHbHpMbTlpYW1WamRFMXZaR1VnUFNCMGFHbHpMbTlpYW1WamRFMXZaR1VnZkh3Z0lTRnZjSFJwYjI1ekxuZHlhWFJoWW14bFQySnFaV04wVFc5a1pUc2dMeThnZEdobElIQnZhVzUwSUdGMElIZG9hV05vSUhkeWFYUmxLQ2tnYzNSaGNuUnpJSEpsZEhWeWJtbHVaeUJtWVd4elpWeHVJQ0F2THlCT2IzUmxPaUF3SUdseklHRWdkbUZzYVdRZ2RtRnNkV1VzSUcxbFlXNXpJSFJvWVhRZ2QyVWdZV3gzWVhseklISmxkSFZ5YmlCbVlXeHpaU0JwWmx4dUlDQXZMeUIwYUdVZ1pXNTBhWEpsSUdKMVptWmxjaUJwY3lCdWIzUWdabXgxYzJobFpDQnBiVzFsWkdsaGRHVnNlU0J2YmlCM2NtbDBaU2dwWEc1Y2JpQWdkR2hwY3k1b2FXZG9WMkYwWlhKTllYSnJJRDBnWjJWMFNHbG5hRmRoZEdWeVRXRnlheWgwYUdsekxDQnZjSFJwYjI1ekxDQW5kM0pwZEdGaWJHVklhV2RvVjJGMFpYSk5ZWEpySnl3Z2FYTkVkWEJzWlhncE95QXZMeUJwWmlCZlptbHVZV3dnYUdGeklHSmxaVzRnWTJGc2JHVmtYRzVjYmlBZ2RHaHBjeTVtYVc1aGJFTmhiR3hsWkNBOUlHWmhiSE5sT3lBdkx5QmtjbUZwYmlCbGRtVnVkQ0JtYkdGbkxseHVYRzRnSUhSb2FYTXVibVZsWkVSeVlXbHVJRDBnWm1Gc2MyVTdJQzh2SUdGMElIUm9aU0J6ZEdGeWRDQnZaaUJqWVd4c2FXNW5JR1Z1WkNncFhHNWNiaUFnZEdocGN5NWxibVJwYm1jZ1BTQm1ZV3h6WlRzZ0x5OGdkMmhsYmlCbGJtUW9LU0JvWVhNZ1ltVmxiaUJqWVd4c1pXUXNJR0Z1WkNCeVpYUjFjbTVsWkZ4dVhHNGdJSFJvYVhNdVpXNWtaV1FnUFNCbVlXeHpaVHNnTHk4Z2QyaGxiaUFuWm1sdWFYTm9KeUJwY3lCbGJXbDBkR1ZrWEc1Y2JpQWdkR2hwY3k1bWFXNXBjMmhsWkNBOUlHWmhiSE5sT3lBdkx5Qm9ZWE1nYVhRZ1ltVmxiaUJrWlhOMGNtOTVaV1JjYmx4dUlDQjBhR2x6TG1SbGMzUnliM2xsWkNBOUlHWmhiSE5sT3lBdkx5QnphRzkxYkdRZ2QyVWdaR1ZqYjJSbElITjBjbWx1WjNNZ2FXNTBieUJpZFdabVpYSnpJR0psWm05eVpTQndZWE56YVc1bklIUnZJRjkzY21sMFpUOWNiaUFnTHk4Z2RHaHBjeUJwY3lCb1pYSmxJSE52SUhSb1lYUWdjMjl0WlNCdWIyUmxMV052Y21VZ2MzUnlaV0Z0Y3lCallXNGdiM0IwYVcxcGVtVWdjM1J5YVc1blhHNGdJQzh2SUdoaGJtUnNhVzVuSUdGMElHRWdiRzkzWlhJZ2JHVjJaV3d1WEc1Y2JpQWdkbUZ5SUc1dlJHVmpiMlJsSUQwZ2IzQjBhVzl1Y3k1a1pXTnZaR1ZUZEhKcGJtZHpJRDA5UFNCbVlXeHpaVHRjYmlBZ2RHaHBjeTVrWldOdlpHVlRkSEpwYm1keklEMGdJVzV2UkdWamIyUmxPeUF2THlCRGNubHdkRzhnYVhNZ2EybHVaQ0J2WmlCdmJHUWdZVzVrSUdOeWRYTjBlUzRnSUVocGMzUnZjbWxqWVd4c2VTd2dhWFJ6SUdSbFptRjFiSFFnYzNSeWFXNW5YRzRnSUM4dklHVnVZMjlrYVc1bklHbHpJQ2RpYVc1aGNua25JSE52SUhkbElHaGhkbVVnZEc4Z2JXRnJaU0IwYUdseklHTnZibVpwWjNWeVlXSnNaUzVjYmlBZ0x5OGdSWFpsY25sMGFHbHVaeUJsYkhObElHbHVJSFJvWlNCMWJtbDJaWEp6WlNCMWMyVnpJQ2QxZEdZNEp5d2dkR2h2ZFdkb0xseHVYRzRnSUhSb2FYTXVaR1ZtWVhWc2RFVnVZMjlrYVc1bklEMGdiM0IwYVc5dWN5NWtaV1poZFd4MFJXNWpiMlJwYm1jZ2ZId2dKM1YwWmpnbk95QXZMeUJ1YjNRZ1lXNGdZV04wZFdGc0lHSjFabVpsY2lCM1pTQnJaV1Z3SUhSeVlXTnJJRzltTENCaWRYUWdZU0J0WldGemRYSmxiV1Z1ZEZ4dUlDQXZMeUJ2WmlCb2IzY2diWFZqYUNCM1pTZHlaU0IzWVdsMGFXNW5JSFJ2SUdkbGRDQndkWE5vWldRZ2RHOGdjMjl0WlNCMWJtUmxjbXg1YVc1blhHNGdJQzh2SUhOdlkydGxkQ0J2Y2lCbWFXeGxMbHh1WEc0Z0lIUm9hWE11YkdWdVozUm9JRDBnTURzZ0x5OGdZU0JtYkdGbklIUnZJSE5sWlNCM2FHVnVJSGRsSjNKbElHbHVJSFJvWlNCdGFXUmtiR1VnYjJZZ1lTQjNjbWwwWlM1Y2JseHVJQ0IwYUdsekxuZHlhWFJwYm1jZ1BTQm1ZV3h6WlRzZ0x5OGdkMmhsYmlCMGNuVmxJR0ZzYkNCM2NtbDBaWE1nZDJsc2JDQmlaU0JpZFdabVpYSmxaQ0IxYm5ScGJDQXVkVzVqYjNKcktDa2dZMkZzYkZ4dVhHNGdJSFJvYVhNdVkyOXlhMlZrSUQwZ01Ec2dMeThnWVNCbWJHRm5JSFJ2SUdKbElHRmliR1VnZEc4Z2RHVnNiQ0JwWmlCMGFHVWdiMjUzY21sMFpTQmpZaUJwY3lCallXeHNaV1FnYVcxdFpXUnBZWFJsYkhrc1hHNGdJQzh2SUc5eUlHOXVJR0VnYkdGMFpYSWdkR2xqYXk0Z0lGZGxJSE5sZENCMGFHbHpJSFJ2SUhSeWRXVWdZWFFnWm1seWMzUXNJR0psWTJGMWMyVWdZVzU1WEc0Z0lDOHZJR0ZqZEdsdmJuTWdkR2hoZENCemFHOTFiR1J1SjNRZ2FHRndjR1Z1SUhWdWRHbHNJRndpYkdGMFpYSmNJaUJ6YUc5MWJHUWdaMlZ1WlhKaGJHeDVJR0ZzYzI5Y2JpQWdMeThnYm05MElHaGhjSEJsYmlCaVpXWnZjbVVnZEdobElHWnBjbk4wSUhkeWFYUmxJR05oYkd3dVhHNWNiaUFnZEdocGN5NXplVzVqSUQwZ2RISjFaVHNnTHk4Z1lTQm1iR0ZuSUhSdklHdHViM2NnYVdZZ2QyVW5jbVVnY0hKdlkyVnpjMmx1WnlCd2NtVjJhVzkxYzJ4NUlHSjFabVpsY21Wa0lHbDBaVzF6TENCM2FHbGphRnh1SUNBdkx5QnRZWGtnWTJGc2JDQjBhR1VnWDNkeWFYUmxLQ2tnWTJGc2JHSmhZMnNnYVc0Z2RHaGxJSE5oYldVZ2RHbGpheXdnYzI4Z2RHaGhkQ0IzWlNCa2IyNG5kRnh1SUNBdkx5QmxibVFnZFhBZ2FXNGdZVzRnYjNabGNteGhjSEJsWkNCdmJuZHlhWFJsSUhOcGRIVmhkR2x2Ymk1Y2JseHVJQ0IwYUdsekxtSjFabVpsY2xCeWIyTmxjM05wYm1jZ1BTQm1ZV3h6WlRzZ0x5OGdkR2hsSUdOaGJHeGlZV05ySUhSb1lYUW5jeUJ3WVhOelpXUWdkRzhnWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1WEc0Z0lIUm9hWE11YjI1M2NtbDBaU0E5SUdaMWJtTjBhVzl1SUNobGNpa2dlMXh1SUNBZ0lHOXVkM0pwZEdVb2MzUnlaV0Z0TENCbGNpazdYRzRnSUgwN0lDOHZJSFJvWlNCallXeHNZbUZqYXlCMGFHRjBJSFJvWlNCMWMyVnlJSE4xY0hCc2FXVnpJSFJ2SUhkeWFYUmxLR05vZFc1ckxHVnVZMjlrYVc1bkxHTmlLVnh1WEc1Y2JpQWdkR2hwY3k1M2NtbDBaV05pSUQwZ2JuVnNiRHNnTHk4Z2RHaGxJR0Z0YjNWdWRDQjBhR0YwSUdseklHSmxhVzVuSUhkeWFYUjBaVzRnZDJobGJpQmZkM0pwZEdVZ2FYTWdZMkZzYkdWa0xseHVYRzRnSUhSb2FYTXVkM0pwZEdWc1pXNGdQU0F3TzF4dUlDQjBhR2x6TG1KMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdYRzRnSUhSb2FYTXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdJQzh2SUc1MWJXSmxjaUJ2WmlCd1pXNWthVzVuSUhWelpYSXRjM1Z3Y0d4cFpXUWdkM0pwZEdVZ1kyRnNiR0poWTJ0elhHNGdJQzh2SUhSb2FYTWdiWFZ6ZENCaVpTQXdJR0psWm05eVpTQW5abWx1YVhOb0p5QmpZVzRnWW1VZ1pXMXBkSFJsWkZ4dVhHNGdJSFJvYVhNdWNHVnVaR2x1WjJOaUlEMGdNRHNnTHk4Z1pXMXBkQ0J3Y21WbWFXNXBjMmdnYVdZZ2RHaGxJRzl1YkhrZ2RHaHBibWNnZDJVbmNtVWdkMkZwZEdsdVp5Qm1iM0lnYVhNZ1gzZHlhWFJsSUdOaWMxeHVJQ0F2THlCVWFHbHpJR2x6SUhKbGJHVjJZVzUwSUdadmNpQnplVzVqYUhKdmJtOTFjeUJVY21GdWMyWnZjbTBnYzNSeVpXRnRjMXh1WEc0Z0lIUm9hWE11Y0hKbFptbHVhWE5vWldRZ1BTQm1ZV3h6WlRzZ0x5OGdWSEoxWlNCcFppQjBhR1VnWlhKeWIzSWdkMkZ6SUdGc2NtVmhaSGtnWlcxcGRIUmxaQ0JoYm1RZ2MyaHZkV3hrSUc1dmRDQmlaU0IwYUhKdmQyNGdZV2RoYVc1Y2JseHVJQ0IwYUdsekxtVnljbTl5UlcxcGRIUmxaQ0E5SUdaaGJITmxPeUF2THlCVGFHOTFiR1FnWTJ4dmMyVWdZbVVnWlcxcGRIUmxaQ0J2YmlCa1pYTjBjbTk1TGlCRVpXWmhkV3gwY3lCMGJ5QjBjblZsTGx4dVhHNGdJSFJvYVhNdVpXMXBkRU5zYjNObElEMGdiM0IwYVc5dWN5NWxiV2wwUTJ4dmMyVWdJVDA5SUdaaGJITmxPeUF2THlCVGFHOTFiR1FnTG1SbGMzUnliM2tvS1NCaVpTQmpZV3hzWldRZ1lXWjBaWElnSjJacGJtbHphQ2NnS0dGdVpDQndiM1JsYm5ScFlXeHNlU0FuWlc1a0p5bGNibHh1SUNCMGFHbHpMbUYxZEc5RVpYTjBjbTk1SUQwZ0lTRnZjSFJwYjI1ekxtRjFkRzlFWlhOMGNtOTVPeUF2THlCamIzVnVkQ0JpZFdabVpYSmxaQ0J5WlhGMVpYTjBjMXh1WEc0Z0lIUm9hWE11WW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RZ1BTQXdPeUF2THlCaGJHeHZZMkYwWlNCMGFHVWdabWx5YzNRZ1EyOXlhMlZrVW1WeGRXVnpkQ3dnZEdobGNtVWdhWE1nWVd4M1lYbHpYRzRnSUM4dklHOXVaU0JoYkd4dlkyRjBaV1FnWVc1a0lHWnlaV1VnZEc4Z2RYTmxMQ0JoYm1RZ2QyVWdiV0ZwYm5SaGFXNGdZWFFnYlc5emRDQjBkMjljYmx4dUlDQjBhR2x6TG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlNBOUlHNWxkeUJEYjNKclpXUlNaWEYxWlhOMEtIUm9hWE1wTzF4dWZWeHVYRzVYY21sMFlXSnNaVk4wWVhSbExuQnliM1J2ZEhsd1pTNW5aWFJDZFdabVpYSWdQU0JtZFc1amRHbHZiaUJuWlhSQ2RXWm1aWElvS1NCN1hHNGdJSFpoY2lCamRYSnlaVzUwSUQwZ2RHaHBjeTVpZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUhaaGNpQnZkWFFnUFNCYlhUdGNibHh1SUNCM2FHbHNaU0FvWTNWeWNtVnVkQ2tnZTF4dUlDQWdJRzkxZEM1d2RYTm9LR04xY25KbGJuUXBPMXh1SUNBZ0lHTjFjbkpsYm5RZ1BTQmpkWEp5Wlc1MExtNWxlSFE3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYjNWME8xeHVmVHRjYmx4dUtHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RISjVJSHRjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVjNKcGRHRmliR1ZUZEdGMFpTNXdjbTkwYjNSNWNHVXNJQ2RpZFdabVpYSW5MQ0I3WEc0Z0lDQWdJQ0JuWlhRNklHbHVkR1Z5Ym1Gc1ZYUnBiQzVrWlhCeVpXTmhkR1VvWm5WdVkzUnBiMjRnZDNKcGRHRmliR1ZUZEdGMFpVSjFabVpsY2tkbGRIUmxjaWdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaMlYwUW5WbVptVnlLQ2s3WEc0Z0lDQWdJQ0I5TENBblgzZHlhWFJoWW14bFUzUmhkR1V1WW5WbVptVnlJR2x6SUdSbGNISmxZMkYwWldRdUlGVnpaU0JmZDNKcGRHRmliR1ZUZEdGMFpTNW5aWFJDZFdabVpYSWdKeUFySUNkcGJuTjBaV0ZrTGljc0lDZEVSVkF3TURBekp5bGNiaUFnSUNCOUtUdGNiaUFnZlNCallYUmphQ0FvWHlrZ2UzMWNibjBwS0NrN0lDOHZJRlJsYzNRZ1gzZHlhWFJoWW14bFUzUmhkR1VnWm05eUlHbHVhR1Z5YVhSaGJtTmxJSFJ2SUdGalkyOTFiblFnWm05eUlFUjFjR3hsZUNCemRISmxZVzF6TEZ4dUx5OGdkMmh2YzJVZ2NISnZkRzkwZVhCbElHTm9ZV2x1SUc5dWJIa2djRzlwYm5SeklIUnZJRkpsWVdSaFlteGxMbHh1WEc1Y2JuWmhjaUJ5WldGc1NHRnpTVzV6ZEdGdVkyVTdYRzVjYm1sbUlDaDBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUZONWJXSnZiQzVvWVhOSmJuTjBZVzVqWlNBbUppQjBlWEJsYjJZZ1JuVnVZM1JwYjI0dWNISnZkRzkwZVhCbFcxTjViV0p2YkM1b1lYTkpibk4wWVc1alpWMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnY21WaGJFaGhjMGx1YzNSaGJtTmxJRDBnUm5WdVkzUnBiMjR1Y0hKdmRHOTBlWEJsVzFONWJXSnZiQzVvWVhOSmJuTjBZVzVqWlYwN1hHNGdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoWGNtbDBZV0pzWlN3Z1UzbHRZbTlzTG1oaGMwbHVjM1JoYm1ObExDQjdYRzRnSUNBZ2RtRnNkV1U2SUdaMWJtTjBhVzl1SUhaaGJIVmxLRzlpYW1WamRDa2dlMXh1SUNBZ0lDQWdhV1lnS0hKbFlXeElZWE5KYm5OMFlXNWpaUzVqWVd4c0tIUm9hWE1zSUc5aWFtVmpkQ2twSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJRmR5YVhSaFlteGxLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYjJKcVpXTjBJQ1ltSUc5aWFtVmpkQzVmZDNKcGRHRmliR1ZUZEdGMFpTQnBibk4wWVc1alpXOW1JRmR5YVhSaFlteGxVM1JoZEdVN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYm4wZ1pXeHpaU0I3WEc0Z0lISmxZV3hJWVhOSmJuTjBZVzVqWlNBOUlHWjFibU4wYVc5dUlISmxZV3hJWVhOSmJuTjBZVzVqWlNodlltcGxZM1FwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiMkpxWldOMElHbHVjM1JoYm1ObGIyWWdkR2hwY3p0Y2JpQWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdWM0pwZEdGaWJHVW9iM0IwYVc5dWN5a2dlMXh1SUNCRWRYQnNaWGdnUFNCRWRYQnNaWGdnZkh3Z2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE95QXZMeUJYY21sMFlXSnNaU0JqZEc5eUlHbHpJR0Z3Y0d4cFpXUWdkRzhnUkhWd2JHVjRaWE1zSUhSdmJ5NWNiaUFnTHk4Z1lISmxZV3hJWVhOSmJuTjBZVzVqWldBZ2FYTWdibVZqWlhOellYSjVJR0psWTJGMWMyVWdkWE5wYm1jZ2NHeGhhVzRnWUdsdWMzUmhibU5sYjJaZ1hHNGdJQzh2SUhkdmRXeGtJSEpsZEhWeWJpQm1ZV3h6WlN3Z1lYTWdibThnWUY5M2NtbDBZV0pzWlZOMFlYUmxZQ0J3Y205d1pYSjBlU0JwY3lCaGRIUmhZMmhsWkM1Y2JpQWdMeThnVkhKNWFXNW5JSFJ2SUhWelpTQjBhR1VnWTNWemRHOXRJR0JwYm5OMFlXNWpaVzltWUNCbWIzSWdWM0pwZEdGaWJHVWdhR1Z5WlNCM2FXeHNJR0ZzYzI4Z1luSmxZV3NnZEdobFhHNGdJQzh2SUU1dlpHVXVhbk1nVEdGNmVWUnlZVzV6Wm05eWJTQnBiWEJzWlcxbGJuUmhkR2x2Yml3Z2QyaHBZMmdnYUdGeklHRWdibTl1TFhSeWFYWnBZV3dnWjJWMGRHVnlJR1p2Y2x4dUlDQXZMeUJnWDNkeWFYUmhZbXhsVTNSaGRHVmdJSFJvWVhRZ2QyOTFiR1FnYkdWaFpDQjBieUJwYm1acGJtbDBaU0J5WldOMWNuTnBiMjR1WEc0Z0lDOHZJRU5vWldOcmFXNW5JR1p2Y2lCaElGTjBjbVZoYlM1RWRYQnNaWGdnYVc1emRHRnVZMlVnYVhNZ1ptRnpkR1Z5SUdobGNtVWdhVzV6ZEdWaFpDQnZaaUJwYm5OcFpHVmNiaUFnTHk4Z2RHaGxJRmR5YVhSaFlteGxVM1JoZEdVZ1kyOXVjM1J5ZFdOMGIzSXNJR0YwSUd4bFlYTjBJSGRwZEdnZ1ZqZ2dOaTQxWEc1Y2JpQWdkbUZ5SUdselJIVndiR1Y0SUQwZ2RHaHBjeUJwYm5OMFlXNWpaVzltSUVSMWNHeGxlRHRjYmlBZ2FXWWdLQ0ZwYzBSMWNHeGxlQ0FtSmlBaGNtVmhiRWhoYzBsdWMzUmhibU5sTG1OaGJHd29WM0pwZEdGaWJHVXNJSFJvYVhNcEtTQnlaWFIxY200Z2JtVjNJRmR5YVhSaFlteGxLRzl3ZEdsdmJuTXBPMXh1SUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbElEMGdibVYzSUZkeWFYUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2dkR2hwY3l3Z2FYTkVkWEJzWlhncE95QXZMeUJzWldkaFkza3VYRzVjYmlBZ2RHaHBjeTUzY21sMFlXSnNaU0E5SUhSeWRXVTdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVkM0pwZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUhSb2FYTXVYM2R5YVhSbElEMGdiM0IwYVc5dWN5NTNjbWwwWlR0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11ZDNKcGRHVjJJRDA5UFNBblpuVnVZM1JwYjI0bktTQjBhR2x6TGw5M2NtbDBaWFlnUFNCdmNIUnBiMjV6TG5keWFYUmxkanRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVaR1Z6ZEhKdmVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2RHaHBjeTVmWkdWemRISnZlU0E5SUc5d2RHbHZibk11WkdWemRISnZlVHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVabWx1WVd3Z1BUMDlJQ2RtZFc1amRHbHZiaWNwSUhSb2FYTXVYMlpwYm1Gc0lEMGdiM0IwYVc5dWN5NW1hVzVoYkR0Y2JpQWdmVnh1WEc0Z0lGTjBjbVZoYlM1allXeHNLSFJvYVhNcE8xeHVmU0F2THlCUGRHaGxjbmRwYzJVZ2NHVnZjR3hsSUdOaGJpQndhWEJsSUZkeWFYUmhZbXhsSUhOMGNtVmhiWE1zSUhkb2FXTm9JR2x6SUdwMWMzUWdkM0p2Ym1jdVhHNWNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG5CcGNHVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJR1Z5Y205eVQzSkVaWE4wY205NUtIUm9hWE1zSUc1bGR5QkZVbEpmVTFSU1JVRk5YME5CVGs1UFZGOVFTVkJGS0NrcE8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2QzSnBkR1ZCWm5SbGNrVnVaQ2h6ZEhKbFlXMHNJR05pS1NCN1hHNGdJSFpoY2lCbGNpQTlJRzVsZHlCRlVsSmZVMVJTUlVGTlgxZFNTVlJGWDBGR1ZFVlNYMFZPUkNncE95QXZMeUJVVDBSUE9pQmtaV1psY2lCbGNuSnZjaUJsZG1WdWRITWdZMjl1YzJsemRHVnVkR3g1SUdWMlpYSjVkMmhsY21Vc0lHNXZkQ0JxZFhOMElIUm9aU0JqWWx4dVhHNGdJR1Z5Y205eVQzSkVaWE4wY205NUtITjBjbVZoYlN3Z1pYSXBPMXh1SUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0dOaUxDQmxjaWs3WEc1OUlDOHZJRU5vWldOcmN5QjBhR0YwSUdFZ2RYTmxjaTF6ZFhCd2JHbGxaQ0JqYUhWdWF5QnBjeUIyWVd4cFpDd2daWE53WldOcFlXeHNlU0JtYjNJZ2RHaGxJSEJoY25ScFkzVnNZWEpjYmk4dklHMXZaR1VnZEdobElITjBjbVZoYlNCcGN5QnBiaTRnUTNWeWNtVnVkR3g1SUhSb2FYTWdiV1ZoYm5NZ2RHaGhkQ0JnYm5Wc2JHQWdhWE1nYm1WMlpYSWdZV05qWlhCMFpXUmNiaTh2SUdGdVpDQjFibVJsWm1sdVpXUXZibTl1TFhOMGNtbHVaeUIyWVd4MVpYTWdZWEpsSUc5dWJIa2dZV3hzYjNkbFpDQnBiaUJ2WW1wbFkzUWdiVzlrWlM1Y2JseHVYRzVtZFc1amRHbHZiaUIyWVd4cFpFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQmpZaWtnZTF4dUlDQjJZWElnWlhJN1hHNWNiaUFnYVdZZ0tHTm9kVzVySUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWlhJZ1BTQnVaWGNnUlZKU1gxTlVVa1ZCVFY5T1ZVeE1YMVpCVEZWRlV5Z3BPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUFoUFQwZ0ozTjBjbWx1WnljZ0ppWWdJWE4wWVhSbExtOWlhbVZqZEUxdlpHVXBJSHRjYmlBZ0lDQmxjaUE5SUc1bGR5QkZVbEpmU1U1V1FVeEpSRjlCVWtkZlZGbFFSU2duWTJoMWJtc25MQ0JiSjNOMGNtbHVaeWNzSUNkQ2RXWm1aWEluWFN3Z1kyaDFibXNwTzF4dUlDQjlYRzVjYmlBZ2FXWWdLR1Z5S1NCN1hHNGdJQ0FnWlhKeWIzSlBja1JsYzNSeWIza29jM1J5WldGdExDQmxjaWs3WEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aGpZaXdnWlhJcE8xeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZWeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaUFvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVJQ0IyWVhJZ2NtVjBJRDBnWm1Gc2MyVTdYRzVjYmlBZ2RtRnlJR2x6UW5WbUlEMGdJWE4wWVhSbExtOWlhbVZqZEUxdlpHVWdKaVlnWDJselZXbHVkRGhCY25KaGVTaGphSFZ1YXlrN1hHNWNiaUFnYVdZZ0tHbHpRblZtSUNZbUlDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1kyaDFibXNwS1NCN1hHNGdJQ0FnWTJoMWJtc2dQU0JmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5S0dOb2RXNXJLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1pXNWpiMlJwYm1jZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JqWWlBOUlHVnVZMjlrYVc1bk8xeHVJQ0FnSUdWdVkyOWthVzVuSUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHBjMEoxWmlrZ1pXNWpiMlJwYm1jZ1BTQW5ZblZtWm1WeUp6dGxiSE5sSUdsbUlDZ2haVzVqYjJScGJtY3BJR1Z1WTI5a2FXNW5JRDBnYzNSaGRHVXVaR1ZtWVhWc2RFVnVZMjlrYVc1bk8xeHVJQ0JwWmlBb2RIbHdaVzltSUdOaUlDRTlQU0FuWm5WdVkzUnBiMjRuS1NCallpQTlJRzV2Y0R0Y2JpQWdhV1lnS0hOMFlYUmxMbVZ1WkdsdVp5a2dkM0pwZEdWQlpuUmxja1Z1WkNoMGFHbHpMQ0JqWWlrN1pXeHpaU0JwWmlBb2FYTkNkV1lnZkh3Z2RtRnNhV1JEYUhWdWF5aDBhR2x6TENCemRHRjBaU3dnWTJoMWJtc3NJR05pS1NrZ2UxeHVJQ0FnSUhOMFlYUmxMbkJsYm1ScGJtZGpZaXNyTzF4dUlDQWdJSEpsZENBOUlIZHlhWFJsVDNKQ2RXWm1aWElvZEdocGN5d2djM1JoZEdVc0lHbHpRblZtTENCamFIVnVheXdnWlc1amIyUnBibWNzSUdOaUtUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVjBPMXh1ZlR0Y2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbU52Y21zZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVZMjl5YTJWa0t5czdYRzU5TzF4dVhHNVhjbWwwWVdKc1pTNXdjbTkwYjNSNWNHVXVkVzVqYjNKcklEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTzF4dVhHNGdJR2xtSUNoemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQnpkR0YwWlM1amIzSnJaV1F0TFR0Y2JpQWdJQ0JwWmlBb0lYTjBZWFJsTG5keWFYUnBibWNnSmlZZ0lYTjBZWFJsTG1OdmNtdGxaQ0FtSmlBaGMzUmhkR1V1WW5WbVptVnlVSEp2WTJWemMybHVaeUFtSmlCemRHRjBaUzVpZFdabVpYSmxaRkpsY1hWbGMzUXBJR05zWldGeVFuVm1abVZ5S0hSb2FYTXNJSE4wWVhSbEtUdGNiaUFnZlZ4dWZUdGNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG5ObGRFUmxabUYxYkhSRmJtTnZaR2x1WnlBOUlHWjFibU4wYVc5dUlITmxkRVJsWm1GMWJIUkZibU52WkdsdVp5aGxibU52WkdsdVp5a2dlMXh1SUNBdkx5QnViMlJsT2pwUVlYSnpaVVZ1WTI5a2FXNW5LQ2tnY21WeGRXbHlaWE1nYkc5M1pYSWdZMkZ6WlM1Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYm1OdlpHbHVaeUE5UFQwZ0ozTjBjbWx1WnljcElHVnVZMjlrYVc1bklEMGdaVzVqYjJScGJtY3VkRzlNYjNkbGNrTmhjMlVvS1R0Y2JpQWdhV1lnS0NFb1d5ZG9aWGduTENBbmRYUm1PQ2NzSUNkMWRHWXRPQ2NzSUNkaGMyTnBhU2NzSUNkaWFXNWhjbmtuTENBblltRnpaVFkwSnl3Z0ozVmpjekluTENBbmRXTnpMVEluTENBbmRYUm1NVFpzWlNjc0lDZDFkR1l0TVRac1pTY3NJQ2R5WVhjblhTNXBibVJsZUU5bUtDaGxibU52WkdsdVp5QXJJQ2NuS1M1MGIweHZkMlZ5UTJGelpTZ3BLU0ErSUMweEtTa2dkR2h5YjNjZ2JtVjNJRVZTVWw5VlRrdE9UMWRPWDBWT1EwOUVTVTVIS0dWdVkyOWthVzVuS1R0Y2JpQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVrWldaaGRXeDBSVzVqYjJScGJtY2dQU0JsYm1OdlpHbHVaenRjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmQzSnBkR0ZpYkdWQ2RXWm1aWEluTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WjJWMFFuVm1abVZ5S0NrN1hHNGdJSDFjYm4wcE8xeHVYRzVtZFc1amRHbHZiaUJrWldOdlpHVkRhSFZ1YXloemRHRjBaU3dnWTJoMWJtc3NJR1Z1WTI5a2FXNW5LU0I3WEc0Z0lHbG1JQ2doYzNSaGRHVXViMkpxWldOMFRXOWtaU0FtSmlCemRHRjBaUzVrWldOdlpHVlRkSEpwYm1keklDRTlQU0JtWVd4elpTQW1KaUIwZVhCbGIyWWdZMmgxYm1zZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdZMmgxYm1zZ1BTQkNkV1ptWlhJdVpuSnZiU2hqYUhWdWF5d2daVzVqYjJScGJtY3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR05vZFc1ck8xeHVmVnh1WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29WM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMQ0FuZDNKcGRHRmliR1ZJYVdkb1YyRjBaWEpOWVhKckp5d2dlMXh1SUNBdkx5QnRZV3RwYm1jZ2FYUWdaWGh3YkdsamFYUWdkR2hwY3lCd2NtOXdaWEowZVNCcGN5QnViM1FnWlc1MWJXVnlZV0pzWlZ4dUlDQXZMeUJpWldOaGRYTmxJRzkwYUdWeWQybHpaU0J6YjIxbElIQnliM1J2ZEhsd1pTQnRZVzVwY0hWc1lYUnBiMjRnYVc1Y2JpQWdMeThnZFhObGNteGhibVFnZDJsc2JDQm1ZV2xzWEc0Z0lHVnVkVzFsY21GaWJHVTZJR1poYkhObExGeHVJQ0JuWlhRNklHWjFibU4wYVc5dUlHZGxkQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKck8xeHVJQ0I5WEc1OUtUc2dMeThnYVdZZ2QyVW5jbVVnWVd4eVpXRmtlU0IzY21sMGFXNW5JSE52YldWMGFHbHVaeXdnZEdobGJpQnFkWE4wSUhCMWRDQjBhR2x6WEc0dkx5QnBiaUIwYUdVZ2NYVmxkV1VzSUdGdVpDQjNZV2wwSUc5MWNpQjBkWEp1TGlBZ1QzUm9aWEozYVhObExDQmpZV3hzSUY5M2NtbDBaVnh1THk4Z1NXWWdkMlVnY21WMGRYSnVJR1poYkhObExDQjBhR1Z1SUhkbElHNWxaV1FnWVNCa2NtRnBiaUJsZG1WdWRDd2djMjhnYzJWMElIUm9ZWFFnWm14aFp5NWNibHh1Wm5WdVkzUnBiMjRnZDNKcGRHVlBja0oxWm1abGNpaHpkSEpsWVcwc0lITjBZWFJsTENCcGMwSjFaaXdnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0JwWmlBb0lXbHpRblZtS1NCN1hHNGdJQ0FnZG1GeUlHNWxkME5vZFc1cklEMGdaR1ZqYjJSbFEyaDFibXNvYzNSaGRHVXNJR05vZFc1ckxDQmxibU52WkdsdVp5azdYRzVjYmlBZ0lDQnBaaUFvWTJoMWJtc2dJVDA5SUc1bGQwTm9kVzVyS1NCN1hHNGdJQ0FnSUNCcGMwSjFaaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQmxibU52WkdsdVp5QTlJQ2RpZFdabVpYSW5PMXh1SUNBZ0lDQWdZMmgxYm1zZ1BTQnVaWGREYUhWdWF6dGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnYkdWdUlEMGdjM1JoZEdVdWIySnFaV04wVFc5a1pTQS9JREVnT2lCamFIVnVheTVzWlc1bmRHZzdYRzRnSUhOMFlYUmxMbXhsYm1kMGFDQXJQU0JzWlc0N1hHNGdJSFpoY2lCeVpYUWdQU0J6ZEdGMFpTNXNaVzVuZEdnZ1BDQnpkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPeUF2THlCM1pTQnRkWE4wSUdWdWMzVnlaU0IwYUdGMElIQnlaWFpwYjNWeklHNWxaV1JFY21GcGJpQjNhV3hzSUc1dmRDQmlaU0J5WlhObGRDQjBieUJtWVd4elpTNWNibHh1SUNCcFppQW9JWEpsZENrZ2MzUmhkR1V1Ym1WbFpFUnlZV2x1SUQwZ2RISjFaVHRjYmx4dUlDQnBaaUFvYzNSaGRHVXVkM0pwZEdsdVp5QjhmQ0J6ZEdGMFpTNWpiM0pyWldRcElIdGNiaUFnSUNCMllYSWdiR0Z6ZENBOUlITjBZWFJsTG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRN1hHNGdJQ0FnYzNSaGRHVXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUh0Y2JpQWdJQ0FnSUdOb2RXNXJPaUJqYUhWdWF5eGNiaUFnSUNBZ0lHVnVZMjlrYVc1bk9pQmxibU52WkdsdVp5eGNiaUFnSUNBZ0lHbHpRblZtT2lCcGMwSjFaaXhjYmlBZ0lDQWdJR05oYkd4aVlXTnJPaUJqWWl4Y2JpQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnYVdZZ0tHeGhjM1FwSUh0Y2JpQWdJQ0FnSUd4aGMzUXVibVY0ZENBOUlITjBZWFJsTG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlITjBZWFJsTG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYzNSaGRHVXVZblZtWm1WeVpXUlNaWEYxWlhOMFEyOTFiblFnS3owZ01UdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQmtiMWR5YVhSbEtITjBjbVZoYlN3Z2MzUmhkR1VzSUdaaGJITmxMQ0JzWlc0c0lHTm9kVzVyTENCbGJtTnZaR2x1Wnl3Z1kySXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsZER0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWkc5WGNtbDBaU2h6ZEhKbFlXMHNJSE4wWVhSbExDQjNjbWwwWlhZc0lHeGxiaXdnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0J6ZEdGMFpTNTNjbWwwWld4bGJpQTlJR3hsYmp0Y2JpQWdjM1JoZEdVdWQzSnBkR1ZqWWlBOUlHTmlPMXh1SUNCemRHRjBaUzUzY21sMGFXNW5JRDBnZEhKMVpUdGNiaUFnYzNSaGRHVXVjM2x1WXlBOUlIUnlkV1U3WEc0Z0lHbG1JQ2h6ZEdGMFpTNWtaWE4wY205NVpXUXBJSE4wWVhSbExtOXVkM0pwZEdVb2JtVjNJRVZTVWw5VFZGSkZRVTFmUkVWVFZGSlBXVVZFS0NkM2NtbDBaU2NwS1R0bGJITmxJR2xtSUNoM2NtbDBaWFlwSUhOMGNtVmhiUzVmZDNKcGRHVjJLR05vZFc1ckxDQnpkR0YwWlM1dmJuZHlhWFJsS1R0bGJITmxJSE4wY21WaGJTNWZkM0pwZEdVb1kyaDFibXNzSUdWdVkyOWthVzVuTENCemRHRjBaUzV2Ym5keWFYUmxLVHRjYmlBZ2MzUmhkR1V1YzNsdVl5QTlJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJuZHlhWFJsUlhKeWIzSW9jM1J5WldGdExDQnpkR0YwWlN3Z2MzbHVZeXdnWlhJc0lHTmlLU0I3WEc0Z0lDMHRjM1JoZEdVdWNHVnVaR2x1WjJOaU8xeHVYRzRnSUdsbUlDaHplVzVqS1NCN1hHNGdJQ0FnTHk4Z1pHVm1aWElnZEdobElHTmhiR3hpWVdOcklHbG1JSGRsSUdGeVpTQmlaV2x1WnlCallXeHNaV1FnYzNsdVkyaHliMjV2ZFhOc2VWeHVJQ0FnSUM4dklIUnZJR0YyYjJsa0lIQnBiR2x1WnlCMWNDQjBhR2x1WjNNZ2IyNGdkR2hsSUhOMFlXTnJYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXloallpd2daWElwT3lBdkx5QjBhR2x6SUdOaGJpQmxiV2wwSUdacGJtbHphQ3dnWVc1a0lHbDBJSGRwYkd3Z1lXeDNZWGx6SUdoaGNIQmxibHh1SUNBZ0lDOHZJR0ZtZEdWeUlHVnljbTl5WEc1Y2JpQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1pwYm1semFFMWhlV0psTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ0lDQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnlLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCMGFHVWdZMkZzYkdWeUlHVjRjR1ZqZENCMGFHbHpJSFJ2SUdoaGNIQmxiaUJpWldadmNtVWdhV1pjYmlBZ0lDQXZMeUJwZENCcGN5QmhjM2x1WTF4dUlDQWdJR05pS0dWeUtUdGNiaUFnSUNCemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXVaWEp5YjNKRmJXbDBkR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQmxjbkp2Y2s5eVJHVnpkSEp2ZVNoemRISmxZVzBzSUdWeUtUc2dMeThnZEdocGN5QmpZVzRnWlcxcGRDQm1hVzVwYzJnc0lHSjFkQ0JtYVc1cGMyZ2diWFZ6ZEZ4dUlDQWdJQzh2SUdGc2QyRjVjeUJtYjJ4c2IzY2daWEp5YjNKY2JseHVJQ0FnSUdacGJtbHphRTFoZVdKbEtITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOXVkM0pwZEdWVGRHRjBaVlZ3WkdGMFpTaHpkR0YwWlNrZ2UxeHVJQ0J6ZEdGMFpTNTNjbWwwYVc1bklEMGdabUZzYzJVN1hHNGdJSE4wWVhSbExuZHlhWFJsWTJJZ1BTQnVkV3hzTzF4dUlDQnpkR0YwWlM1c1pXNW5kR2dnTFQwZ2MzUmhkR1V1ZDNKcGRHVnNaVzQ3WEc0Z0lITjBZWFJsTG5keWFYUmxiR1Z1SUQwZ01EdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNTNjbWwwWlNoemRISmxZVzBzSUdWeUtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlITjBjbVZoYlM1ZmQzSnBkR0ZpYkdWVGRHRjBaVHRjYmlBZ2RtRnlJSE41Ym1NZ1BTQnpkR0YwWlM1emVXNWpPMXh1SUNCMllYSWdZMklnUFNCemRHRjBaUzUzY21sMFpXTmlPMXh1SUNCcFppQW9kSGx3Wlc5bUlHTmlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjBhSEp2ZHlCdVpYY2dSVkpTWDAxVlRGUkpVRXhGWDBOQlRFeENRVU5MS0NrN1hHNGdJRzl1ZDNKcGRHVlRkR0YwWlZWd1pHRjBaU2h6ZEdGMFpTazdYRzRnSUdsbUlDaGxjaWtnYjI1M2NtbDBaVVZ5Y205eUtITjBjbVZoYlN3Z2MzUmhkR1VzSUhONWJtTXNJR1Z5TENCallpazdaV3h6WlNCN1hHNGdJQ0FnTHk4Z1EyaGxZMnNnYVdZZ2QyVW5jbVVnWVdOMGRXRnNiSGtnY21WaFpIa2dkRzhnWm1sdWFYTm9MQ0JpZFhRZ1pHOXVKM1FnWlcxcGRDQjVaWFJjYmlBZ0lDQjJZWElnWm1sdWFYTm9aV1FnUFNCdVpXVmtSbWx1YVhOb0tITjBZWFJsS1NCOGZDQnpkSEpsWVcwdVpHVnpkSEp2ZVdWa08xeHVYRzRnSUNBZ2FXWWdLQ0ZtYVc1cGMyaGxaQ0FtSmlBaGMzUmhkR1V1WTI5eWEyVmtJQ1ltSUNGemRHRjBaUzVpZFdabVpYSlFjbTlqWlhOemFXNW5JQ1ltSUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemRDa2dlMXh1SUNBZ0lDQWdZMnhsWVhKQ2RXWm1aWElvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE41Ym1NcElIdGNiaUFnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1lXWjBaWEpYY21sMFpTd2djM1J5WldGdExDQnpkR0YwWlN3Z1ptbHVhWE5vWldRc0lHTmlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lXWjBaWEpYY21sMFpTaHpkSEpsWVcwc0lITjBZWFJsTENCbWFXNXBjMmhsWkN3Z1kySXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJoWm5SbGNsZHlhWFJsS0hOMGNtVmhiU3dnYzNSaGRHVXNJR1pwYm1semFHVmtMQ0JqWWlrZ2UxeHVJQ0JwWmlBb0lXWnBibWx6YUdWa0tTQnZibmR5YVhSbFJISmhhVzRvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUhOMFlYUmxMbkJsYm1ScGJtZGpZaTB0TzF4dUlDQmpZaWdwTzF4dUlDQm1hVzVwYzJoTllYbGlaU2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNibjBnTHk4Z1RYVnpkQ0JtYjNKalpTQmpZV3hzWW1GamF5QjBieUJpWlNCallXeHNaV1FnYjI0Z2JtVjRkRlJwWTJzc0lITnZJSFJvWVhRZ2QyVWdaRzl1SjNSY2JpOHZJR1Z0YVhRZ0oyUnlZV2x1SnlCaVpXWnZjbVVnZEdobElIZHlhWFJsS0NrZ1kyOXVjM1Z0WlhJZ1oyVjBjeUIwYUdVZ0oyWmhiSE5sSnlCeVpYUjFjbTVjYmk4dklIWmhiSFZsTENCaGJtUWdhR0Z6SUdFZ1kyaGhibU5sSUhSdklHRjBkR0ZqYUNCaElDZGtjbUZwYmljZ2JHbHpkR1Z1WlhJdVhHNWNibHh1Wm5WdVkzUnBiMjRnYjI1M2NtbDBaVVJ5WVdsdUtITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdhV1lnS0hOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNBbUppQnpkR0YwWlM1dVpXVmtSSEpoYVc0cElIdGNiaUFnSUNCemRHRjBaUzV1WldWa1JISmhhVzRnUFNCbVlXeHpaVHRjYmlBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWkhKaGFXNG5LVHRjYmlBZ2ZWeHVmU0F2THlCcFppQjBhR1Z5WlNkeklITnZiV1YwYUdsdVp5QnBiaUIwYUdVZ1luVm1abVZ5SUhkaGFYUnBibWNzSUhSb1pXNGdjSEp2WTJWemN5QnBkRnh1WEc1Y2JtWjFibU4wYVc5dUlHTnNaV0Z5UW5WbVptVnlLSE4wY21WaGJTd2djM1JoZEdVcElIdGNiaUFnYzNSaGRHVXVZblZtWm1WeVVISnZZMlZ6YzJsdVp5QTlJSFJ5ZFdVN1hHNGdJSFpoY2lCbGJuUnllU0E5SUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemREdGNibHh1SUNCcFppQW9jM1J5WldGdExsOTNjbWwwWlhZZ0ppWWdaVzUwY25rZ0ppWWdaVzUwY25rdWJtVjRkQ2tnZTF4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlN3Z2QzSnBkR1VnWlhabGNubDBhR2x1WnlCMWMybHVaeUJmZDNKcGRHVjJLQ2xjYmlBZ0lDQjJZWElnYkNBOUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkRU52ZFc1ME8xeHVJQ0FnSUhaaGNpQmlkV1ptWlhJZ1BTQnVaWGNnUVhKeVlYa29iQ2s3WEc0Z0lDQWdkbUZ5SUdodmJHUmxjaUE5SUhOMFlYUmxMbU52Y210bFpGSmxjWFZsYzNSelJuSmxaVHRjYmlBZ0lDQm9iMnhrWlhJdVpXNTBjbmtnUFNCbGJuUnllVHRjYmlBZ0lDQjJZWElnWTI5MWJuUWdQU0F3TzF4dUlDQWdJSFpoY2lCaGJHeENkV1ptWlhKeklEMGdkSEoxWlR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2hsYm5SeWVTa2dlMXh1SUNBZ0lDQWdZblZtWm1WeVcyTnZkVzUwWFNBOUlHVnVkSEo1TzF4dUlDQWdJQ0FnYVdZZ0tDRmxiblJ5ZVM1cGMwSjFaaWtnWVd4c1FuVm1abVZ5Y3lBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnWlc1MGNua2dQU0JsYm5SeWVTNXVaWGgwTzF4dUlDQWdJQ0FnWTI5MWJuUWdLejBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JpZFdabVpYSXVZV3hzUW5WbVptVnljeUE5SUdGc2JFSjFabVpsY25NN1hHNGdJQ0FnWkc5WGNtbDBaU2h6ZEhKbFlXMHNJSE4wWVhSbExDQjBjblZsTENCemRHRjBaUzVzWlc1bmRHZ3NJR0oxWm1abGNpd2dKeWNzSUdodmJHUmxjaTVtYVc1cGMyZ3BPeUF2THlCa2IxZHlhWFJsSUdseklHRnNiVzl6ZENCaGJIZGhlWE1nWVhONWJtTXNJR1JsWm1WeUlIUm9aWE5sSUhSdklITmhkbVVnWVNCaWFYUWdiMllnZEdsdFpWeHVJQ0FnSUM4dklHRnpJSFJvWlNCb2IzUWdjR0YwYUNCbGJtUnpJSGRwZEdnZ1pHOVhjbWwwWlZ4dVhHNGdJQ0FnYzNSaGRHVXVjR1Z1WkdsdVoyTmlLeXM3WEc0Z0lDQWdjM1JoZEdVdWJHRnpkRUoxWm1abGNtVmtVbVZ4ZFdWemRDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9hRzlzWkdWeUxtNWxlSFFwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbU52Y210bFpGSmxjWFZsYzNSelJuSmxaU0E5SUdodmJHUmxjaTV1WlhoME8xeHVJQ0FnSUNBZ2FHOXNaR1Z5TG01bGVIUWdQU0J1ZFd4c08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWpiM0pyWldSU1pYRjFaWE4wYzBaeVpXVWdQU0J1WlhjZ1EyOXlhMlZrVW1WeGRXVnpkQ2h6ZEdGMFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzUmhkR1V1WW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RZ1BTQXdPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUZOc2IzY2dZMkZ6WlN3Z2QzSnBkR1VnWTJoMWJtdHpJRzl1WlMxaWVTMXZibVZjYmlBZ0lDQjNhR2xzWlNBb1pXNTBjbmtwSUh0Y2JpQWdJQ0FnSUhaaGNpQmphSFZ1YXlBOUlHVnVkSEo1TG1Ob2RXNXJPMXh1SUNBZ0lDQWdkbUZ5SUdWdVkyOWthVzVuSUQwZ1pXNTBjbmt1Wlc1amIyUnBibWM3WEc0Z0lDQWdJQ0IyWVhJZ1kySWdQU0JsYm5SeWVTNWpZV3hzWW1GamF6dGNiaUFnSUNBZ0lIWmhjaUJzWlc0Z1BTQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNU0E2SUdOb2RXNXJMbXhsYm1kMGFEdGNiaUFnSUNBZ0lHUnZWM0pwZEdVb2MzUnlaV0Z0TENCemRHRjBaU3dnWm1Gc2MyVXNJR3hsYml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpazdYRzRnSUNBZ0lDQmxiblJ5ZVNBOUlHVnVkSEo1TG01bGVIUTdYRzRnSUNBZ0lDQnpkR0YwWlM1aWRXWm1aWEpsWkZKbGNYVmxjM1JEYjNWdWRDMHRPeUF2THlCcFppQjNaU0JrYVdSdUozUWdZMkZzYkNCMGFHVWdiMjUzY21sMFpTQnBiVzFsWkdsaGRHVnNlU3dnZEdobGJseHVJQ0FnSUNBZ0x5OGdhWFFnYldWaGJuTWdkR2hoZENCM1pTQnVaV1ZrSUhSdklIZGhhWFFnZFc1MGFXd2dhWFFnWkc5bGN5NWNiaUFnSUNBZ0lDOHZJR0ZzYzI4c0lIUm9ZWFFnYldWaGJuTWdkR2hoZENCMGFHVWdZMmgxYm1zZ1lXNWtJR05pSUdGeVpTQmpkWEp5Wlc1MGJIbGNiaUFnSUNBZ0lDOHZJR0psYVc1bklIQnliMk5sYzNObFpDd2djMjhnYlc5MlpTQjBhR1VnWW5WbVptVnlJR052ZFc1MFpYSWdjR0Z6ZENCMGFHVnRMbHh1WEc0Z0lDQWdJQ0JwWmlBb2MzUmhkR1V1ZDNKcGRHbHVaeWtnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWlc1MGNua2dQVDA5SUc1MWJHd3BJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUWdQU0J1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdVluVm1abVZ5WldSU1pYRjFaWE4wSUQwZ1pXNTBjbms3WEc0Z0lITjBZWFJsTG1KMVptWmxjbEJ5YjJObGMzTnBibWNnUFNCbVlXeHpaVHRjYm4xY2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbDkzY21sMFpTQTlJR1oxYm1OMGFXOXVJQ2hqYUhWdWF5d2daVzVqYjJScGJtY3NJR05pS1NCN1hHNGdJR05pS0c1bGR5QkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDZ25YM2R5YVhSbEtDa25LU2s3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxkaUE5SUc1MWJHdzdYRzVjYmxkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlM1bGJtUWdQU0JtZFc1amRHbHZiaUFvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1kyaDFibXNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQmpZaUE5SUdOb2RXNXJPMXh1SUNBZ0lHTm9kVzVySUQwZ2JuVnNiRHRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR1Z1WTI5a2FXNW5JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ1kySWdQU0JsYm1OdlpHbHVaenRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnBaaUFvWTJoMWJtc2dJVDA5SUc1MWJHd2dKaVlnWTJoMWJtc2dJVDA5SUhWdVpHVm1hVzVsWkNrZ2RHaHBjeTUzY21sMFpTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jcE95QXZMeUF1Wlc1a0tDa2dablZzYkhrZ2RXNWpiM0pyYzF4dVhHNGdJR2xtSUNoemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQnpkR0YwWlM1amIzSnJaV1FnUFNBeE8xeHVJQ0FnSUhSb2FYTXVkVzVqYjNKcktDazdYRzRnSUgwZ0x5OGdhV2R1YjNKbElIVnVibVZqWlhOellYSjVJR1Z1WkNncElHTmhiR3h6TGx4dVhHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1bGJtUnBibWNwSUdWdVpGZHlhWFJoWW14bEtIUm9hWE1zSUhOMFlYUmxMQ0JqWWlrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TzF4dWZUdGNibHh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtGZHlhWFJoWW14bExuQnliM1J2ZEhsd1pTd2dKM2R5YVhSaFlteGxUR1Z1WjNSb0p5d2dlMXh1SUNBdkx5QnRZV3RwYm1jZ2FYUWdaWGh3YkdsamFYUWdkR2hwY3lCd2NtOXdaWEowZVNCcGN5QnViM1FnWlc1MWJXVnlZV0pzWlZ4dUlDQXZMeUJpWldOaGRYTmxJRzkwYUdWeWQybHpaU0J6YjIxbElIQnliM1J2ZEhsd1pTQnRZVzVwY0hWc1lYUnBiMjRnYVc1Y2JpQWdMeThnZFhObGNteGhibVFnZDJsc2JDQm1ZV2xzWEc0Z0lHVnVkVzFsY21GaWJHVTZJR1poYkhObExGeHVJQ0JuWlhRNklHWjFibU4wYVc5dUlHZGxkQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVzWlc1bmRHZzdYRzRnSUgxY2JuMHBPMXh1WEc1bWRXNWpkR2x2YmlCdVpXVmtSbWx1YVhOb0tITjBZWFJsS1NCN1hHNGdJSEpsZEhWeWJpQnpkR0YwWlM1bGJtUnBibWNnSmlZZ2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0lDWW1JSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZENBOVBUMGdiblZzYkNBbUppQWhjM1JoZEdVdVptbHVhWE5vWldRZ0ppWWdJWE4wWVhSbExuZHlhWFJwYm1jN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOaGJHeEdhVzVoYkNoemRISmxZVzBzSUhOMFlYUmxLU0I3WEc0Z0lITjBjbVZoYlM1ZlptbHVZV3dvWm5WdVkzUnBiMjRnS0dWeWNpa2dlMXh1SUNBZ0lITjBZWFJsTG5CbGJtUnBibWRqWWkwdE8xeHVYRzRnSUNBZ2FXWWdLR1Z5Y2lrZ2UxeHVJQ0FnSUNBZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0JsY25JcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhOMFlYUmxMbkJ5WldacGJtbHphR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duY0hKbFptbHVhWE5vSnlrN1hHNGdJQ0FnWm1sdWFYTm9UV0Y1WW1Vb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lIMHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndjbVZtYVc1cGMyZ29jM1J5WldGdExDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb0lYTjBZWFJsTG5CeVpXWnBibWx6YUdWa0lDWW1JQ0Z6ZEdGMFpTNW1hVzVoYkVOaGJHeGxaQ2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYzNSeVpXRnRMbDltYVc1aGJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQWhjM1JoZEdVdVpHVnpkSEp2ZVdWa0tTQjdYRzRnSUNBZ0lDQnpkR0YwWlM1d1pXNWthVzVuWTJJckt6dGNiaUFnSUNBZ0lITjBZWFJsTG1acGJtRnNRMkZzYkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWTJGc2JFWnBibUZzTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2MzUmhkR1V1Y0hKbFptbHVhWE5vWldRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0ozQnlaV1pwYm1semFDY3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtYVc1cGMyaE5ZWGxpWlNoemRISmxZVzBzSUhOMFlYUmxLU0I3WEc0Z0lIWmhjaUJ1WldWa0lEMGdibVZsWkVacGJtbHphQ2h6ZEdGMFpTazdYRzVjYmlBZ2FXWWdLRzVsWldRcElIdGNiaUFnSUNCd2NtVm1hVzVwYzJnb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc1Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1Y0dWdVpHbHVaMk5pSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNW1hVzVwYzJobFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCemRISmxZVzB1WlcxcGRDZ25abWx1YVhOb0p5azdYRzVjYmlBZ0lDQWdJR2xtSUNoemRHRjBaUzVoZFhSdlJHVnpkSEp2ZVNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJKYmlCallYTmxJRzltSUdSMWNHeGxlQ0J6ZEhKbFlXMXpJSGRsSUc1bFpXUWdZU0IzWVhrZ2RHOGdaR1YwWldOMFhHNGdJQ0FnSUNBZ0lDOHZJR2xtSUhSb1pTQnlaV0ZrWVdKc1pTQnphV1JsSUdseklISmxZV1I1SUdadmNpQmhkWFJ2UkdWemRISnZlU0JoY3lCM1pXeHNYRzRnSUNBZ0lDQWdJSFpoY2lCeVUzUmhkR1VnUFNCemRISmxZVzB1WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnlVM1JoZEdVZ2ZId2djbE4wWVhSbExtRjFkRzlFWlhOMGNtOTVJQ1ltSUhKVGRHRjBaUzVsYm1SRmJXbDBkR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjM1J5WldGdExtUmxjM1J5YjNrb0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnVaV1ZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsYm1SWGNtbDBZV0pzWlNoemRISmxZVzBzSUhOMFlYUmxMQ0JqWWlrZ2UxeHVJQ0J6ZEdGMFpTNWxibVJwYm1jZ1BTQjBjblZsTzF4dUlDQm1hVzVwYzJoTllYbGlaU2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNibHh1SUNCcFppQW9ZMklwSUh0Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1Wm1sdWFYTm9aV1FwSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWTJJcE8yVnNjMlVnYzNSeVpXRnRMbTl1WTJVb0oyWnBibWx6YUNjc0lHTmlLVHRjYmlBZ2ZWeHVYRzRnSUhOMFlYUmxMbVZ1WkdWa0lEMGdkSEoxWlR0Y2JpQWdjM1J5WldGdExuZHlhWFJoWW14bElEMGdabUZzYzJVN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUc5dVEyOXlhMlZrUm1sdWFYTm9LR052Y210U1pYRXNJSE4wWVhSbExDQmxjbklwSUh0Y2JpQWdkbUZ5SUdWdWRISjVJRDBnWTI5eWExSmxjUzVsYm5SeWVUdGNiaUFnWTI5eWExSmxjUzVsYm5SeWVTQTlJRzUxYkd3N1hHNWNiaUFnZDJocGJHVWdLR1Z1ZEhKNUtTQjdYRzRnSUNBZ2RtRnlJR05pSUQwZ1pXNTBjbmt1WTJGc2JHSmhZMnM3WEc0Z0lDQWdjM1JoZEdVdWNHVnVaR2x1WjJOaUxTMDdYRzRnSUNBZ1kySW9aWEp5S1R0Y2JpQWdJQ0JsYm5SeWVTQTlJR1Z1ZEhKNUxtNWxlSFE3WEc0Z0lIMGdMeThnY21WMWMyVWdkR2hsSUdaeVpXVWdZMjl5YTFKbGNTNWNibHh1WEc0Z0lITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlM1dVpYaDBJRDBnWTI5eWExSmxjVHRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlN3Z0oyUmxjM1J5YjNsbFpDY3NJSHRjYmlBZ0x5OGdiV0ZyYVc1bklHbDBJR1Y0Y0d4cFkybDBJSFJvYVhNZ2NISnZjR1Z5ZEhrZ2FYTWdibTkwSUdWdWRXMWxjbUZpYkdWY2JpQWdMeThnWW1WallYVnpaU0J2ZEdobGNuZHBjMlVnYzI5dFpTQndjbTkwYjNSNWNHVWdiV0Z1YVhCMWJHRjBhVzl1SUdsdVhHNGdJQzh2SUhWelpYSnNZVzVrSUhkcGJHd2dabUZwYkZ4dUlDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNiaUFnWjJWME9pQm1kVzVqZEdsdmJpQm5aWFFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpEdGNiaUFnZlN4Y2JpQWdjMlYwT2lCbWRXNWpkR2x2YmlCelpYUW9kbUZzZFdVcElIdGNiaUFnSUNBdkx5QjNaU0JwWjI1dmNtVWdkR2hsSUhaaGJIVmxJR2xtSUhSb1pTQnpkSEpsWVcxY2JpQWdJQ0F2THlCb1lYTWdibTkwSUdKbFpXNGdhVzVwZEdsaGJHbDZaV1FnZVdWMFhHNGdJQ0FnYVdZZ0tDRjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQXZMeUJpWVdOcmQyRnlaQ0JqYjIxd1lYUnBZbWxzYVhSNUxDQjBhR1VnZFhObGNpQnBjeUJsZUhCc2FXTnBkR3g1WEc0Z0lDQWdMeThnYldGdVlXZHBibWNnWkdWemRISnZlV1ZrWEc1Y2JseHVJQ0FnSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE8xeHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1a1pYTjBjbTk1TzF4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExsOTFibVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1MWJtUmxjM1J5YjNrN1hHNWNibGR5YVhSaFlteGxMbkJ5YjNSdmRIbHdaUzVmWkdWemRISnZlU0E5SUdaMWJtTjBhVzl1SUNobGNuSXNJR05pS1NCN1hHNGdJR05pS0dWeWNpazdYRzU5T3lKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKHByb2Nlc3MpIHtcXG5cXG52YXIgX09iamVjdCRzZXRQcm90b3R5cGVPO1xcblxcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XFxuXFxudmFyIGZpbmlzaGVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbmQtb2Ytc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxcIik7XFxuXFxudmFyIGtMYXN0UmVzb2x2ZSA9IFN5bWJvbCgnbGFzdFJlc29sdmUnKTtcXG52YXIga0xhc3RSZWplY3QgPSBTeW1ib2woJ2xhc3RSZWplY3QnKTtcXG52YXIga0Vycm9yID0gU3ltYm9sKCdlcnJvcicpO1xcbnZhciBrRW5kZWQgPSBTeW1ib2woJ2VuZGVkJyk7XFxudmFyIGtMYXN0UHJvbWlzZSA9IFN5bWJvbCgnbGFzdFByb21pc2UnKTtcXG52YXIga0hhbmRsZVByb21pc2UgPSBTeW1ib2woJ2hhbmRsZVByb21pc2UnKTtcXG52YXIga1N0cmVhbSA9IFN5bWJvbCgnc3RyZWFtJyk7XFxuXFxuZnVuY3Rpb24gY3JlYXRlSXRlclJlc3VsdCh2YWx1ZSwgZG9uZSkge1xcbiAgcmV0dXJuIHtcXG4gICAgdmFsdWU6IHZhbHVlLFxcbiAgICBkb25lOiBkb25lXFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiByZWFkQW5kUmVzb2x2ZShpdGVyKSB7XFxuICB2YXIgcmVzb2x2ZSA9IGl0ZXJba0xhc3RSZXNvbHZlXTtcXG5cXG4gIGlmIChyZXNvbHZlICE9PSBudWxsKSB7XFxuICAgIHZhciBkYXRhID0gaXRlcltrU3RyZWFtXS5yZWFkKCk7IC8vIHdlIGRlZmVyIGlmIGRhdGEgaXMgbnVsbFxcbiAgICAvLyB3ZSBjYW4gYmUgZXhwZWN0aW5nIGVpdGhlciAnZW5kJyBvclxcbiAgICAvLyAnZXJyb3InXFxuXFxuICAgIGlmIChkYXRhICE9PSBudWxsKSB7XFxuICAgICAgaXRlcltrTGFzdFByb21pc2VdID0gbnVsbDtcXG4gICAgICBpdGVyW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xcbiAgICAgIGl0ZXJba0xhc3RSZWplY3RdID0gbnVsbDtcXG4gICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvblJlYWRhYmxlKGl0ZXIpIHtcXG4gIC8vIHdlIHdhaXQgZm9yIHRoZSBuZXh0IHRpY2ssIGJlY2F1c2UgaXQgbWlnaHRcXG4gIC8vIGVtaXQgYW4gZXJyb3Igd2l0aCBwcm9jZXNzLm5leHRUaWNrXFxuICBwcm9jZXNzLm5leHRUaWNrKHJlYWRBbmRSZXNvbHZlLCBpdGVyKTtcXG59XFxuXFxuZnVuY3Rpb24gd3JhcEZvck5leHQobGFzdFByb21pc2UsIGl0ZXIpIHtcXG4gIHJldHVybiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgIGxhc3RQcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkge1xcbiAgICAgIGlmIChpdGVyW2tFbmRlZF0pIHtcXG4gICAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgaXRlcltrSGFuZGxlUHJvbWlzZV0ocmVzb2x2ZSwgcmVqZWN0KTtcXG4gICAgfSwgcmVqZWN0KTtcXG4gIH07XFxufVxcblxcbnZhciBBc3luY0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGZ1bmN0aW9uICgpIHt9KTtcXG52YXIgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LnNldFByb3RvdHlwZU9mKChfT2JqZWN0JHNldFByb3RvdHlwZU8gPSB7XFxuICBnZXQgc3RyZWFtKCkge1xcbiAgICByZXR1cm4gdGhpc1trU3RyZWFtXTtcXG4gIH0sXFxuXFxuICBuZXh0OiBmdW5jdGlvbiBuZXh0KCkge1xcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgICAvLyBpZiB3ZSBoYXZlIGRldGVjdGVkIGFuIGVycm9yIGluIHRoZSBtZWFud2hpbGVcXG4gICAgLy8gcmVqZWN0IHN0cmFpZ2h0IGF3YXlcXG4gICAgdmFyIGVycm9yID0gdGhpc1trRXJyb3JdO1xcblxcbiAgICBpZiAoZXJyb3IgIT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzW2tFbmRlZF0pIHtcXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXNba1N0cmVhbV0uZGVzdHJveWVkKSB7XFxuICAgICAgLy8gV2UgbmVlZCB0byBkZWZlciB2aWEgbmV4dFRpY2sgYmVjYXVzZSBpZiAuZGVzdHJveShlcnIpIGlzXFxuICAgICAgLy8gY2FsbGVkLCB0aGUgZXJyb3Igd2lsbCBiZSBlbWl0dGVkIHZpYSBuZXh0VGljaywgYW5kXFxuICAgICAgLy8gd2UgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIGlzIG5vIGVycm9yIGxpbmdlcmluZyBhcm91bmRcXG4gICAgICAvLyB3YWl0aW5nIHRvIGJlIGVtaXR0ZWQuXFxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICBpZiAoX3RoaXNba0Vycm9yXSkge1xcbiAgICAgICAgICAgIHJlamVjdChfdGhpc1trRXJyb3JdKTtcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgIH0pO1xcbiAgICB9IC8vIGlmIHdlIGhhdmUgbXVsdGlwbGUgbmV4dCgpIGNhbGxzXFxuICAgIC8vIHdlIHdpbGwgd2FpdCBmb3IgdGhlIHByZXZpb3VzIFByb21pc2UgdG8gZmluaXNoXFxuICAgIC8vIHRoaXMgbG9naWMgaXMgb3B0aW1pemVkIHRvIHN1cHBvcnQgZm9yIGF3YWl0IGxvb3BzLFxcbiAgICAvLyB3aGVyZSBuZXh0KCkgaXMgb25seSBjYWxsZWQgb25jZSBhdCBhIHRpbWVcXG5cXG5cXG4gICAgdmFyIGxhc3RQcm9taXNlID0gdGhpc1trTGFzdFByb21pc2VdO1xcbiAgICB2YXIgcHJvbWlzZTtcXG5cXG4gICAgaWYgKGxhc3RQcm9taXNlKSB7XFxuICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHdyYXBGb3JOZXh0KGxhc3RQcm9taXNlLCB0aGlzKSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gZmFzdCBwYXRoIG5lZWRlZCB0byBzdXBwb3J0IG11bHRpcGxlIHRoaXMucHVzaCgpXFxuICAgICAgLy8gd2l0aG91dCB0cmlnZ2VyaW5nIHRoZSBuZXh0KCkgcXVldWVcXG4gICAgICB2YXIgZGF0YSA9IHRoaXNba1N0cmVhbV0ucmVhZCgpO1xcblxcbiAgICAgIGlmIChkYXRhICE9PSBudWxsKSB7XFxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcXG4gICAgICB9XFxuXFxuICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHRoaXNba0hhbmRsZVByb21pc2VdKTtcXG4gICAgfVxcblxcbiAgICB0aGlzW2tMYXN0UHJvbWlzZV0gPSBwcm9taXNlO1xcbiAgICByZXR1cm4gcHJvbWlzZTtcXG4gIH1cXG59LCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLCBTeW1ib2wuYXN5bmNJdGVyYXRvciwgZnVuY3Rpb24gKCkge1xcbiAgcmV0dXJuIHRoaXM7XFxufSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU8sIFxcXCJyZXR1cm5cXFwiLCBmdW5jdGlvbiBfcmV0dXJuKCkge1xcbiAgdmFyIF90aGlzMiA9IHRoaXM7XFxuXFxuICAvLyBkZXN0cm95KGVyciwgY2IpIGlzIGEgcHJpdmF0ZSBBUElcXG4gIC8vIHdlIGNhbiBndWFyYW50ZWUgd2UgaGF2ZSB0aGF0IGhlcmUsIGJlY2F1c2Ugd2UgY29udHJvbCB0aGVcXG4gIC8vIFJlYWRhYmxlIGNsYXNzIHRoaXMgaXMgYXR0YWNoZWQgdG9cXG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgIF90aGlzMltrU3RyZWFtXS5kZXN0cm95KG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICBpZiAoZXJyKSB7XFxuICAgICAgICByZWplY3QoZXJyKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICB9KTtcXG4gIH0pO1xcbn0pLCBfT2JqZWN0JHNldFByb3RvdHlwZU8pLCBBc3luY0l0ZXJhdG9yUHJvdG90eXBlKTtcXG5cXG52YXIgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yID0gZnVuY3Rpb24gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHN0cmVhbSkge1xcbiAgdmFyIF9PYmplY3QkY3JlYXRlO1xcblxcbiAgdmFyIGl0ZXJhdG9yID0gT2JqZWN0LmNyZWF0ZShSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGUsIChfT2JqZWN0JGNyZWF0ZSA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtTdHJlYW0sIHtcXG4gICAgdmFsdWU6IHN0cmVhbSxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtMYXN0UmVzb2x2ZSwge1xcbiAgICB2YWx1ZTogbnVsbCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtMYXN0UmVqZWN0LCB7XFxuICAgIHZhbHVlOiBudWxsLFxcbiAgICB3cml0YWJsZTogdHJ1ZVxcbiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JGNyZWF0ZSwga0Vycm9yLCB7XFxuICAgIHZhbHVlOiBudWxsLFxcbiAgICB3cml0YWJsZTogdHJ1ZVxcbiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JGNyZWF0ZSwga0VuZGVkLCB7XFxuICAgIHZhbHVlOiBzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtIYW5kbGVQcm9taXNlLCB7XFxuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShyZXNvbHZlLCByZWplY3QpIHtcXG4gICAgICB2YXIgZGF0YSA9IGl0ZXJhdG9yW2tTdHJlYW1dLnJlYWQoKTtcXG5cXG4gICAgICBpZiAoZGF0YSkge1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlc29sdmVdID0gbnVsbDtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IHJlc29sdmU7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSByZWplY3Q7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB3cml0YWJsZTogdHJ1ZVxcbiAgfSksIF9PYmplY3QkY3JlYXRlKSk7XFxuICBpdGVyYXRvcltrTGFzdFByb21pc2VdID0gbnVsbDtcXG4gIGZpbmlzaGVkKHN0cmVhbSwgZnVuY3Rpb24gKGVycikge1xcbiAgICBpZiAoZXJyICYmIGVyci5jb2RlICE9PSAnRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UnKSB7XFxuICAgICAgdmFyIHJlamVjdCA9IGl0ZXJhdG9yW2tMYXN0UmVqZWN0XTsgLy8gcmVqZWN0IGlmIHdlIGFyZSB3YWl0aW5nIGZvciBkYXRhIGluIHRoZSBQcm9taXNlXFxuICAgICAgLy8gcmV0dXJuZWQgYnkgbmV4dCgpIGFuZCBzdG9yZSB0aGUgZXJyb3JcXG5cXG4gICAgICBpZiAocmVqZWN0ICE9PSBudWxsKSB7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFByb21pc2VdID0gbnVsbDtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gbnVsbDtcXG4gICAgICAgIHJlamVjdChlcnIpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpdGVyYXRvcltrRXJyb3JdID0gZXJyO1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzb2x2ZSA9IGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV07XFxuXFxuICAgIGlmIChyZXNvbHZlICE9PSBudWxsKSB7XFxuICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IG51bGw7XFxuICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gbnVsbDtcXG4gICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgIH1cXG5cXG4gICAgaXRlcmF0b3Jba0VuZGVkXSA9IHRydWU7XFxuICB9KTtcXG4gIHN0cmVhbS5vbigncmVhZGFibGUnLCBvblJlYWRhYmxlLmJpbmQobnVsbCwgaXRlcmF0b3IpKTtcXG4gIHJldHVybiBpdGVyYXRvcjtcXG59O1xcblxcbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTloYzNsdVkxOXBkR1Z5WVhSdmNpNXFjejg0Tm1SbUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMQ3REUVVGaE96dEJRVVZpT3p0QlFVVkJMREpEUVVFeVF5eHJRa0ZCYTBJc2EwTkJRV3RETEhGRlFVRnhSU3hGUVVGRkxFVkJRVVVzVDBGQlR5eHJRa0ZCYTBJc1JVRkJSU3haUVVGWk96dEJRVVV2VFN4bFFVRmxMRzFDUVVGUExFTkJRVU1zYjBoQlFXbENPenRCUVVWNFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlEUVVGdlF6dEJRVU53UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJMR2xGUVVGcFJUdEJRVU5xUlR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVFzVDBGQlR6dEJRVU5RTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRXNRMEZCUXp0QlFVTkVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SFFVRkhPMEZCUTBnc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJMSGxHUVVGNVJqdEJRVU42Ump0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeDVRMEZCZVVNN1FVRkRla003TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUVJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd0WW1GelpTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJGemVXNWpYMmwwWlhKaGRHOXlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWDA5aWFtVmpkQ1J6WlhSUWNtOTBiM1I1Y0dWUE8xeHVYRzVtZFc1amRHbHZiaUJmWkdWbWFXNWxVSEp2Y0dWeWRIa29iMkpxTENCclpYa3NJSFpoYkhWbEtTQjdJR2xtSUNoclpYa2dhVzRnYjJKcUtTQjdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodlltb3NJR3RsZVN3Z2V5QjJZV3gxWlRvZ2RtRnNkV1VzSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN3Z2QzSnBkR0ZpYkdVNklIUnlkV1VnZlNrN0lIMGdaV3h6WlNCN0lHOWlhbHRyWlhsZElEMGdkbUZzZFdVN0lIMGdjbVYwZFhKdUlHOWlhanNnZlZ4dVhHNTJZWElnWm1sdWFYTm9aV1FnUFNCeVpYRjFhWEpsS0NjdUwyVnVaQzF2WmkxemRISmxZVzBuS1R0Y2JseHVkbUZ5SUd0TVlYTjBVbVZ6YjJ4MlpTQTlJRk41YldKdmJDZ25iR0Z6ZEZKbGMyOXNkbVVuS1R0Y2JuWmhjaUJyVEdGemRGSmxhbVZqZENBOUlGTjViV0p2YkNnbmJHRnpkRkpsYW1WamRDY3BPMXh1ZG1GeUlHdEZjbkp2Y2lBOUlGTjViV0p2YkNnblpYSnliM0luS1R0Y2JuWmhjaUJyUlc1a1pXUWdQU0JUZVcxaWIyd29KMlZ1WkdWa0p5azdYRzUyWVhJZ2EweGhjM1JRY205dGFYTmxJRDBnVTNsdFltOXNLQ2RzWVhOMFVISnZiV2x6WlNjcE8xeHVkbUZ5SUd0SVlXNWtiR1ZRY205dGFYTmxJRDBnVTNsdFltOXNLQ2RvWVc1a2JHVlFjbTl0YVhObEp5azdYRzUyWVhJZ2ExTjBjbVZoYlNBOUlGTjViV0p2YkNnbmMzUnlaV0Z0SnlrN1hHNWNibVoxYm1OMGFXOXVJR055WldGMFpVbDBaWEpTWlhOMWJIUW9kbUZzZFdVc0lHUnZibVVwSUh0Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCMllXeDFaVG9nZG1Gc2RXVXNYRzRnSUNBZ1pHOXVaVG9nWkc5dVpWeHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldGa1FXNWtVbVZ6YjJ4MlpTaHBkR1Z5S1NCN1hHNGdJSFpoY2lCeVpYTnZiSFpsSUQwZ2FYUmxjbHRyVEdGemRGSmxjMjlzZG1WZE8xeHVYRzRnSUdsbUlDaHlaWE52YkhabElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR1JoZEdFZ1BTQnBkR1Z5VzJ0VGRISmxZVzFkTG5KbFlXUW9LVHNnTHk4Z2QyVWdaR1ZtWlhJZ2FXWWdaR0YwWVNCcGN5QnVkV3hzWEc0Z0lDQWdMeThnZDJVZ1kyRnVJR0psSUdWNGNHVmpkR2x1WnlCbGFYUm9aWElnSjJWdVpDY2diM0pjYmlBZ0lDQXZMeUFuWlhKeWIzSW5YRzVjYmlBZ0lDQnBaaUFvWkdGMFlTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhWFJsY2x0clRHRnpkRkJ5YjIxcGMyVmRJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lHbDBaWEpiYTB4aGMzUlNaWE52YkhabFhTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCcGRHVnlXMnRNWVhOMFVtVnFaV04wWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0J5WlhOdmJIWmxLR055WldGMFpVbDBaWEpTWlhOMWJIUW9aR0YwWVN3Z1ptRnNjMlVwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNVNaV0ZrWVdKc1pTaHBkR1Z5S1NCN1hHNGdJQzh2SUhkbElIZGhhWFFnWm05eUlIUm9aU0J1WlhoMElIUnBZMnNzSUdKbFkyRjFjMlVnYVhRZ2JXbG5hSFJjYmlBZ0x5OGdaVzFwZENCaGJpQmxjbkp2Y2lCM2FYUm9JSEJ5YjJObGMzTXVibVY0ZEZScFkydGNiaUFnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWh5WldGa1FXNWtVbVZ6YjJ4MlpTd2dhWFJsY2lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhkeVlYQkdiM0pPWlhoMEtHeGhjM1JRY205dGFYTmxMQ0JwZEdWeUtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0I3WEc0Z0lDQWdiR0Z6ZEZCeWIyMXBjMlV1ZEdobGJpaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0JwWmlBb2FYUmxjbHRyUlc1a1pXUmRLU0I3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVVvWTNKbFlYUmxTWFJsY2xKbGMzVnNkQ2gxYm1SbFptbHVaV1FzSUhSeWRXVXBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwZEdWeVcydElZVzVrYkdWUWNtOXRhWE5sWFNoeVpYTnZiSFpsTENCeVpXcGxZM1FwTzF4dUlDQWdJSDBzSUhKbGFtVmpkQ2s3WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJCYzNsdVkwbDBaWEpoZEc5eVVISnZkRzkwZVhCbElEMGdUMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltS0daMWJtTjBhVzl1SUNncElIdDlLVHRjYm5aaGNpQlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWdQU0JQWW1wbFkzUXVjMlYwVUhKdmRHOTBlWEJsVDJZb0tGOVBZbXBsWTNRa2MyVjBVSEp2ZEc5MGVYQmxUeUE5SUh0Y2JpQWdaMlYwSUhOMGNtVmhiU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwYzF0clUzUnlaV0Z0WFR0Y2JpQWdmU3hjYmx4dUlDQnVaWGgwT2lCbWRXNWpkR2x2YmlCdVpYaDBLQ2tnZTF4dUlDQWdJSFpoY2lCZmRHaHBjeUE5SUhSb2FYTTdYRzVjYmlBZ0lDQXZMeUJwWmlCM1pTQm9ZWFpsSUdSbGRHVmpkR1ZrSUdGdUlHVnljbTl5SUdsdUlIUm9aU0J0WldGdWQyaHBiR1ZjYmlBZ0lDQXZMeUJ5WldwbFkzUWdjM1J5WVdsbmFIUWdZWGRoZVZ4dUlDQWdJSFpoY2lCbGNuSnZjaUE5SUhSb2FYTmJhMFZ5Y205eVhUdGNibHh1SUNBZ0lHbG1JQ2hsY25KdmNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlGQnliMjFwYzJVdWNtVnFaV04wS0dWeWNtOXlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGMxdHJSVzVrWldSZEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1VISnZiV2x6WlM1eVpYTnZiSFpsS0dOeVpXRjBaVWwwWlhKU1pYTjFiSFFvZFc1a1pXWnBibVZrTENCMGNuVmxLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTmJhMU4wY21WaGJWMHVaR1Z6ZEhKdmVXVmtLU0I3WEc0Z0lDQWdJQ0F2THlCWFpTQnVaV1ZrSUhSdklHUmxabVZ5SUhacFlTQnVaWGgwVkdsamF5QmlaV05oZFhObElHbG1JQzVrWlhOMGNtOTVLR1Z5Y2lrZ2FYTmNiaUFnSUNBZ0lDOHZJR05oYkd4bFpDd2dkR2hsSUdWeWNtOXlJSGRwYkd3Z1ltVWdaVzFwZEhSbFpDQjJhV0VnYm1WNGRGUnBZMnNzSUdGdVpGeHVJQ0FnSUNBZ0x5OGdkMlVnWTJGdWJtOTBJR2QxWVhKaGJuUmxaU0IwYUdGMElIUm9aWEpsSUdseklHNXZJR1Z5Y205eUlHeHBibWRsY21sdVp5QmhjbTkxYm1SY2JpQWdJQ0FnSUM4dklIZGhhWFJwYm1jZ2RHOGdZbVVnWlcxcGRIUmxaQzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2htZFc1amRHbHZiaUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoZmRHaHBjMXRyUlhKeWIzSmRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaV3BsWTNRb1gzUm9hWE5iYTBWeWNtOXlYU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaDFibVJsWm1sdVpXUXNJSFJ5ZFdVcEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTQXZMeUJwWmlCM1pTQm9ZWFpsSUcxMWJIUnBjR3hsSUc1bGVIUW9LU0JqWVd4c2MxeHVJQ0FnSUM4dklIZGxJSGRwYkd3Z2QyRnBkQ0JtYjNJZ2RHaGxJSEJ5WlhacGIzVnpJRkJ5YjIxcGMyVWdkRzhnWm1sdWFYTm9YRzRnSUNBZ0x5OGdkR2hwY3lCc2IyZHBZeUJwY3lCdmNIUnBiV2w2WldRZ2RHOGdjM1Z3Y0c5eWRDQm1iM0lnWVhkaGFYUWdiRzl2Y0hNc1hHNGdJQ0FnTHk4Z2QyaGxjbVVnYm1WNGRDZ3BJR2x6SUc5dWJIa2dZMkZzYkdWa0lHOXVZMlVnWVhRZ1lTQjBhVzFsWEc1Y2JseHVJQ0FnSUhaaGNpQnNZWE4wVUhKdmJXbHpaU0E5SUhSb2FYTmJhMHhoYzNSUWNtOXRhWE5sWFR0Y2JpQWdJQ0IyWVhJZ2NISnZiV2x6WlR0Y2JseHVJQ0FnSUdsbUlDaHNZWE4wVUhKdmJXbHpaU2tnZTF4dUlDQWdJQ0FnY0hKdmJXbHpaU0E5SUc1bGR5QlFjbTl0YVhObEtIZHlZWEJHYjNKT1pYaDBLR3hoYzNSUWNtOXRhWE5sTENCMGFHbHpLU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJR1poYzNRZ2NHRjBhQ0J1WldWa1pXUWdkRzhnYzNWd2NHOXlkQ0J0ZFd4MGFYQnNaU0IwYUdsekxuQjFjMmdvS1Z4dUlDQWdJQ0FnTHk4Z2QybDBhRzkxZENCMGNtbG5aMlZ5YVc1bklIUm9aU0J1WlhoMEtDa2djWFZsZFdWY2JpQWdJQ0FnSUhaaGNpQmtZWFJoSUQwZ2RHaHBjMXRyVTNSeVpXRnRYUzV5WldGa0tDazdYRzVjYmlBZ0lDQWdJR2xtSUNoa1lYUmhJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaGtZWFJoTENCbVlXeHpaU2twTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCd2NtOXRhWE5sSUQwZ2JtVjNJRkJ5YjIxcGMyVW9kR2hwYzF0clNHRnVaR3hsVUhKdmJXbHpaVjBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhOYmEweGhjM1JRY205dGFYTmxYU0E5SUhCeWIyMXBjMlU3WEc0Z0lDQWdjbVYwZFhKdUlIQnliMjFwYzJVN1hHNGdJSDFjYm4wc0lGOWtaV1pwYm1WUWNtOXdaWEowZVNoZlQySnFaV04wSkhObGRGQnliM1J2ZEhsd1pVOHNJRk41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKSE5sZEZCeWIzUnZkSGx3WlU4c0lGd2ljbVYwZFhKdVhDSXNJR1oxYm1OMGFXOXVJRjl5WlhSMWNtNG9LU0I3WEc0Z0lIWmhjaUJmZEdocGN6SWdQU0IwYUdsek8xeHVYRzRnSUM4dklHUmxjM1J5YjNrb1pYSnlMQ0JqWWlrZ2FYTWdZU0J3Y21sMllYUmxJRUZRU1Z4dUlDQXZMeUIzWlNCallXNGdaM1ZoY21GdWRHVmxJSGRsSUdoaGRtVWdkR2hoZENCb1pYSmxMQ0JpWldOaGRYTmxJSGRsSUdOdmJuUnliMndnZEdobFhHNGdJQzh2SUZKbFlXUmhZbXhsSUdOc1lYTnpJSFJvYVhNZ2FYTWdZWFIwWVdOb1pXUWdkRzljYmlBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaHlaWE52YkhabExDQnlaV3BsWTNRcElIdGNiaUFnSUNCZmRHaHBjekpiYTFOMGNtVmhiVjB1WkdWemRISnZlU2h1ZFd4c0xDQm1kVzVqZEdsdmJpQW9aWEp5S1NCN1hHNGdJQ0FnSUNCcFppQW9aWEp5S1NCN1hHNGdJQ0FnSUNBZ0lISmxhbVZqZENobGNuSXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaDFibVJsWm1sdVpXUXNJSFJ5ZFdVcEtUdGNiaUFnSUNCOUtUdGNiaUFnZlNrN1hHNTlLU3dnWDA5aWFtVmpkQ1J6WlhSUWNtOTBiM1I1Y0dWUEtTd2dRWE41Ym1OSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlNrN1hHNWNiblpoY2lCamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lnUFNCbWRXNWpkR2x2YmlCamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lvYzNSeVpXRnRLU0I3WEc0Z0lIWmhjaUJmVDJKcVpXTjBKR055WldGMFpUdGNibHh1SUNCMllYSWdhWFJsY21GMGIzSWdQU0JQWW1wbFkzUXVZM0psWVhSbEtGSmxZV1JoWW14bFUzUnlaV0Z0UVhONWJtTkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTd2dLRjlQWW1wbFkzUWtZM0psWVhSbElEMGdlMzBzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMU4wY21WaGJTd2dlMXh1SUNBZ0lIWmhiSFZsT2lCemRISmxZVzBzWEc0Z0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMHhoYzNSU1pYTnZiSFpsTENCN1hHNGdJQ0FnZG1Gc2RXVTZJRzUxYkd3c1hHNGdJQ0FnZDNKcGRHRmliR1U2SUhSeWRXVmNiaUFnZlNrc0lGOWtaV1pwYm1WUWNtOXdaWEowZVNoZlQySnFaV04wSkdOeVpXRjBaU3dnYTB4aGMzUlNaV3BsWTNRc0lIdGNiaUFnSUNCMllXeDFaVG9nYm5Wc2JDeGNiaUFnSUNCM2NtbDBZV0pzWlRvZ2RISjFaVnh1SUNCOUtTd2dYMlJsWm1sdVpWQnliM0JsY25SNUtGOVBZbXBsWTNRa1kzSmxZWFJsTENCclJYSnliM0lzSUh0Y2JpQWdJQ0IyWVd4MVpUb2diblZzYkN4Y2JpQWdJQ0IzY21sMFlXSnNaVG9nZEhKMVpWeHVJQ0I5S1N3Z1gyUmxabWx1WlZCeWIzQmxjblI1S0Y5UFltcGxZM1FrWTNKbFlYUmxMQ0JyUlc1a1pXUXNJSHRjYmlBZ0lDQjJZV3gxWlRvZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVZ1WkVWdGFYUjBaV1FzWEc0Z0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMGhoYm1Sc1pWQnliMjFwYzJVc0lIdGNiaUFnSUNCMllXeDFaVG9nWm5WdVkzUnBiMjRnZG1Gc2RXVW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ0lDQjJZWElnWkdGMFlTQTlJR2wwWlhKaGRHOXlXMnRUZEhKbFlXMWRMbkpsWVdRb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0dSaGRHRXBJSHRjYmlBZ0lDQWdJQ0FnYVhSbGNtRjBiM0piYTB4aGMzUlFjbTl0YVhObFhTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEc5eVcydE1ZWE4wVW1WemIyeDJaVjBnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGSmxhbVZqZEYwZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsS0dOeVpXRjBaVWwwWlhKU1pYTjFiSFFvWkdGMFlTd2dabUZzYzJVcEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEc5eVcydE1ZWE4wVW1WemIyeDJaVjBnUFNCeVpYTnZiSFpsTzF4dUlDQWdJQ0FnSUNCcGRHVnlZWFJ2Y2x0clRHRnpkRkpsYW1WamRGMGdQU0J5WldwbFkzUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCM2NtbDBZV0pzWlRvZ2RISjFaVnh1SUNCOUtTd2dYMDlpYW1WamRDUmpjbVZoZEdVcEtUdGNiaUFnYVhSbGNtRjBiM0piYTB4aGMzUlFjbTl0YVhObFhTQTlJRzUxYkd3N1hHNGdJR1pwYm1semFHVmtLSE4wY21WaGJTd2dablZ1WTNScGIyNGdLR1Z5Y2lrZ2UxeHVJQ0FnSUdsbUlDaGxjbklnSmlZZ1pYSnlMbU52WkdVZ0lUMDlJQ2RGVWxKZlUxUlNSVUZOWDFCU1JVMUJWRlZTUlY5RFRFOVRSU2NwSUh0Y2JpQWdJQ0FnSUhaaGNpQnlaV3BsWTNRZ1BTQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZKbGFtVmpkRjA3SUM4dklISmxhbVZqZENCcFppQjNaU0JoY21VZ2QyRnBkR2x1WnlCbWIzSWdaR0YwWVNCcGJpQjBhR1VnVUhKdmJXbHpaVnh1SUNBZ0lDQWdMeThnY21WMGRYSnVaV1FnWW5rZ2JtVjRkQ2dwSUdGdVpDQnpkRzl5WlNCMGFHVWdaWEp5YjNKY2JseHVJQ0FnSUNBZ2FXWWdLSEpsYW1WamRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGQnliMjFwYzJWZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ2FYUmxjbUYwYjNKYmEweGhjM1JTWlhOdmJIWmxYU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJR2wwWlhKaGRHOXlXMnRNWVhOMFVtVnFaV04wWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUhKbGFtVmpkQ2hsY25JcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJSWEp5YjNKZElEMGdaWEp5TzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WlhOdmJIWmxJRDBnYVhSbGNtRjBiM0piYTB4aGMzUlNaWE52YkhabFhUdGNibHh1SUNBZ0lHbG1JQ2h5WlhOdmJIWmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGQnliMjFwYzJWZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUdsMFpYSmhkRzl5VzJ0TVlYTjBVbVZ6YjJ4MlpWMGdQU0J1ZFd4c08xeHVJQ0FnSUNBZ2FYUmxjbUYwYjNKYmEweGhjM1JTWldwbFkzUmRJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lISmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoMWJtUmxabWx1WldRc0lIUnlkV1VwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwZEdWeVlYUnZjbHRyUlc1a1pXUmRJRDBnZEhKMVpUdGNiaUFnZlNrN1hHNGdJSE4wY21WaGJTNXZiaWduY21WaFpHRmliR1VuTENCdmJsSmxZV1JoWW14bExtSnBibVFvYm5Wc2JDd2dhWFJsY21GMGIzSXBLVHRjYmlBZ2NtVjBkWEp1SUdsMFpYSmhkRzl5TzF4dWZUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSTdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxcblxcbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxcblxcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XFxuXFxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cXFwiKTsgfSB9XFxuXFxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXFxcInZhbHVlXFxcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cXG5cXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxcblxcbnZhciBfcmVxdWlyZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIiksXFxuICAgIEJ1ZmZlciA9IF9yZXF1aXJlLkJ1ZmZlcjtcXG5cXG52YXIgX3JlcXVpcmUyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdXRpbCAqLyAxKSxcXG4gICAgaW5zcGVjdCA9IF9yZXF1aXJlMi5pbnNwZWN0O1xcblxcbnZhciBjdXN0b20gPSBpbnNwZWN0ICYmIGluc3BlY3QuY3VzdG9tIHx8ICdpbnNwZWN0JztcXG5cXG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcXG4gIEJ1ZmZlci5wcm90b3R5cGUuY29weS5jYWxsKHNyYywgdGFyZ2V0LCBvZmZzZXQpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9XFxuLyojX19QVVJFX18qL1xcbmZ1bmN0aW9uICgpIHtcXG4gIGZ1bmN0aW9uIEJ1ZmZlckxpc3QoKSB7XFxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBCdWZmZXJMaXN0KTtcXG5cXG4gICAgdGhpcy5oZWFkID0gbnVsbDtcXG4gICAgdGhpcy50YWlsID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcbiAgfVxcblxcbiAgX2NyZWF0ZUNsYXNzKEJ1ZmZlckxpc3QsIFt7XFxuICAgIGtleTogXFxcInB1c2hcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcHVzaCh2KSB7XFxuICAgICAgdmFyIGVudHJ5ID0ge1xcbiAgICAgICAgZGF0YTogdixcXG4gICAgICAgIG5leHQ6IG51bGxcXG4gICAgICB9O1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgICB0aGlzLnRhaWwgPSBlbnRyeTtcXG4gICAgICArK3RoaXMubGVuZ3RoO1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcInVuc2hpZnRcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdW5zaGlmdCh2KSB7XFxuICAgICAgdmFyIGVudHJ5ID0ge1xcbiAgICAgICAgZGF0YTogdixcXG4gICAgICAgIG5leHQ6IHRoaXMuaGVhZFxcbiAgICAgIH07XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB0aGlzLnRhaWwgPSBlbnRyeTtcXG4gICAgICB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgICArK3RoaXMubGVuZ3RoO1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcInNoaWZ0XFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNoaWZ0KCkge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xcbiAgICAgIHZhciByZXQgPSB0aGlzLmhlYWQuZGF0YTtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcXG4gICAgICAtLXRoaXMubGVuZ3RoO1xcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiY2xlYXJcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2xlYXIoKSB7XFxuICAgICAgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDA7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiam9pblxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBqb2luKHMpIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiAnJztcXG4gICAgICB2YXIgcCA9IHRoaXMuaGVhZDtcXG4gICAgICB2YXIgcmV0ID0gJycgKyBwLmRhdGE7XFxuXFxuICAgICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcXG4gICAgICAgIHJldCArPSBzICsgcC5kYXRhO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcImNvbmNhdFxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb25jYXQobikge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcXG4gICAgICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4gPj4+IDApO1xcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xcbiAgICAgIHZhciBpID0gMDtcXG5cXG4gICAgICB3aGlsZSAocCkge1xcbiAgICAgICAgY29weUJ1ZmZlcihwLmRhdGEsIHJldCwgaSk7XFxuICAgICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XFxuICAgICAgICBwID0gcC5uZXh0O1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9IC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBieXRlcyBvciBjaGFyYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXFxuXFxuICB9LCB7XFxuICAgIGtleTogXFxcImNvbnN1bWVcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29uc3VtZShuLCBoYXNTdHJpbmdzKSB7XFxuICAgICAgdmFyIHJldDtcXG5cXG4gICAgICBpZiAobiA8IHRoaXMuaGVhZC5kYXRhLmxlbmd0aCkge1xcbiAgICAgICAgLy8gYHNsaWNlYCBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5ncy5cXG4gICAgICAgIHJldCA9IHRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsIG4pO1xcbiAgICAgICAgdGhpcy5oZWFkLmRhdGEgPSB0aGlzLmhlYWQuZGF0YS5zbGljZShuKTtcXG4gICAgICB9IGVsc2UgaWYgKG4gPT09IHRoaXMuaGVhZC5kYXRhLmxlbmd0aCkge1xcbiAgICAgICAgLy8gRmlyc3QgY2h1bmsgaXMgYSBwZXJmZWN0IG1hdGNoLlxcbiAgICAgICAgcmV0ID0gdGhpcy5zaGlmdCgpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBSZXN1bHQgc3BhbnMgbW9yZSB0aGFuIG9uZSBidWZmZXIuXFxuICAgICAgICByZXQgPSBoYXNTdHJpbmdzID8gdGhpcy5fZ2V0U3RyaW5nKG4pIDogdGhpcy5fZ2V0QnVmZmVyKG4pO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcImZpcnN0XFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZpcnN0KCkge1xcbiAgICAgIHJldHVybiB0aGlzLmhlYWQuZGF0YTtcXG4gICAgfSAvLyBDb25zdW1lcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBidWZmZXJlZCBkYXRhLlxcblxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJfZ2V0U3RyaW5nXFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRTdHJpbmcobikge1xcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xcbiAgICAgIHZhciBjID0gMTtcXG4gICAgICB2YXIgcmV0ID0gcC5kYXRhO1xcbiAgICAgIG4gLT0gcmV0Lmxlbmd0aDtcXG5cXG4gICAgICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICAgICAgdmFyIHN0ciA9IHAuZGF0YTtcXG4gICAgICAgIHZhciBuYiA9IG4gPiBzdHIubGVuZ3RoID8gc3RyLmxlbmd0aCA6IG47XFxuICAgICAgICBpZiAobmIgPT09IHN0ci5sZW5ndGgpIHJldCArPSBzdHI7ZWxzZSByZXQgKz0gc3RyLnNsaWNlKDAsIG4pO1xcbiAgICAgICAgbiAtPSBuYjtcXG5cXG4gICAgICAgIGlmIChuID09PSAwKSB7XFxuICAgICAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkge1xcbiAgICAgICAgICAgICsrYztcXG4gICAgICAgICAgICBpZiAocC5uZXh0KSB0aGlzLmhlYWQgPSBwLm5leHQ7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHRoaXMuaGVhZCA9IHA7XFxuICAgICAgICAgICAgcC5kYXRhID0gc3RyLnNsaWNlKG5iKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICsrYztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5sZW5ndGggLT0gYztcXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9IC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBieXRlcyBmcm9tIHRoZSBidWZmZXJlZCBkYXRhLlxcblxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJfZ2V0QnVmZmVyXFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRCdWZmZXIobikge1xcbiAgICAgIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobik7XFxuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgICAgdmFyIGMgPSAxO1xcbiAgICAgIHAuZGF0YS5jb3B5KHJldCk7XFxuICAgICAgbiAtPSBwLmRhdGEubGVuZ3RoO1xcblxcbiAgICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XFxuICAgICAgICB2YXIgYnVmID0gcC5kYXRhO1xcbiAgICAgICAgdmFyIG5iID0gbiA+IGJ1Zi5sZW5ndGggPyBidWYubGVuZ3RoIDogbjtcXG4gICAgICAgIGJ1Zi5jb3B5KHJldCwgcmV0Lmxlbmd0aCAtIG4sIDAsIG5iKTtcXG4gICAgICAgIG4gLT0gbmI7XFxuXFxuICAgICAgICBpZiAobiA9PT0gMCkge1xcbiAgICAgICAgICBpZiAobmIgPT09IGJ1Zi5sZW5ndGgpIHtcXG4gICAgICAgICAgICArK2M7XFxuICAgICAgICAgICAgaWYgKHAubmV4dCkgdGhpcy5oZWFkID0gcC5uZXh0O2Vsc2UgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB0aGlzLmhlYWQgPSBwO1xcbiAgICAgICAgICAgIHAuZGF0YSA9IGJ1Zi5zbGljZShuYik7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgICArK2M7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoIC09IGM7XFxuICAgICAgcmV0dXJuIHJldDtcXG4gICAgfSAvLyBNYWtlIHN1cmUgdGhlIGxpbmtlZCBsaXN0IG9ubHkgc2hvd3MgdGhlIG1pbmltYWwgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLlxcblxcbiAgfSwge1xcbiAgICBrZXk6IGN1c3RvbSxcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKF8sIG9wdGlvbnMpIHtcXG4gICAgICByZXR1cm4gaW5zcGVjdCh0aGlzLCBfb2JqZWN0U3ByZWFkKHt9LCBvcHRpb25zLCB7XFxuICAgICAgICAvLyBPbmx5IGluc3BlY3Qgb25lIGxldmVsLlxcbiAgICAgICAgZGVwdGg6IDAsXFxuICAgICAgICAvLyBJdCBzaG91bGQgbm90IHJlY3Vyc2UuXFxuICAgICAgICBjdXN0b21JbnNwZWN0OiBmYWxzZVxcbiAgICAgIH0pKTtcXG4gICAgfVxcbiAgfV0pO1xcblxcbiAgcmV0dXJuIEJ1ZmZlckxpc3Q7XFxufSgpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN6OW1ZbVV6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTERCRFFVRXdReXhuUTBGQlowTXNiME5CUVc5RExHOUVRVUZ2UkN3NFJFRkJPRVFzWjBWQlFXZEZMRVZCUVVVc1JVRkJSU3huUTBGQlowTXNSVUZCUlN4aFFVRmhPenRCUVVWdVZpeG5RMEZCWjBNc1owSkJRV2RDTEhOQ1FVRnpRaXhQUVVGUExIVkVRVUYxUkN4aFFVRmhMSFZFUVVGMVJDd3lRMEZCTWtNc1JVRkJSU3hGUVVGRkxFVkJRVVVzTmtOQlFUWkRMREpGUVVFeVJTeEZRVUZGTEU5QlFVOHNhVVJCUVdsRUxHdEdRVUZyUml4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxHVkJRV1U3TzBGQlJYQm9RaXd5UTBGQk1rTXNhMEpCUVd0Q0xHdERRVUZyUXl4eFJVRkJjVVVzUlVGQlJTeEZRVUZGTEU5QlFVOHNhMEpCUVd0Q0xFVkJRVVVzV1VGQldUczdRVUZGTDAwc2FVUkJRV2xFTERCRFFVRXdReXd3UkVGQk1FUXNSVUZCUlRzN1FVRkZka29zTWtOQlFUSkRMR2RDUVVGblFpeHJRa0ZCYTBJc1QwRkJUeXd5UWtGQk1rSXNkMFJCUVhkRUxHZERRVUZuUXl4MVJFRkJkVVFzTWtSQlFUSkVMRVZCUVVVN08wRkJSVE5VTERaRVFVRTJSQ3h6UlVGQmMwVXNPRVJCUVRoRUxHOUNRVUZ2UWpzN1FVRkZjazRzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk8wRkJReTlDT3p0QlFVVkJMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMR0ZCUVUwN1FVRkRPVUk3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4clJFRkJhMFE3UVVGRGJFUTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FUkJRVEJFTzBGQlF6RkVPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPenRCUVVWTUxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTUVOQlFUQkRPMEZCUXpGRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMREpEUVVFeVF6dEJRVU16UXl4WFFVRlhPMEZCUTFnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZUQ3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3lRMEZCTWtNN1FVRkRNME1zVjBGQlZ6dEJRVU5ZTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3TzBGQlJVd3NSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3d5UTBGQk1rTTdRVUZETTBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEVzUTBGQlF5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1Wm5WdVkzUnBiMjRnYjNkdVMyVjVjeWh2WW1wbFkzUXNJR1Z1ZFcxbGNtRmliR1ZQYm14NUtTQjdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2IySnFaV04wS1RzZ2FXWWdLRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1wSUhzZ2RtRnlJSE41YldKdmJITWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0c5aWFtVmpkQ2s3SUdsbUlDaGxiblZ0WlhKaFlteGxUMjVzZVNrZ2MzbHRZbTlzY3lBOUlITjViV0p2YkhNdVptbHNkR1Z5S0daMWJtTjBhVzl1SUNoemVXMHBJSHNnY21WMGRYSnVJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2IySnFaV04wTENCemVXMHBMbVZ1ZFcxbGNtRmliR1U3SUgwcE95QnJaWGx6TG5CMWMyZ3VZWEJ3Ykhrb2EyVjVjeXdnYzNsdFltOXNjeWs3SUgwZ2NtVjBkWEp1SUd0bGVYTTdJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyOWlhbVZqZEZOd2NtVmhaQ2gwWVhKblpYUXBJSHNnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BJSHNnZG1GeUlITnZkWEpqWlNBOUlHRnlaM1Z0Wlc1MGMxdHBYU0FoUFNCdWRXeHNJRDhnWVhKbmRXMWxiblJ6VzJsZElEb2dlMzA3SUdsbUlDaHBJQ1VnTWlrZ2V5QnZkMjVMWlhsektFOWlhbVZqZENoemIzVnlZMlVwTENCMGNuVmxLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hyWlhrcElIc2dYMlJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z2EyVjVMQ0J6YjNWeVkyVmJhMlY1WFNrN0lIMHBPeUI5SUdWc2MyVWdhV1lnS0U5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSnpLU0I3SUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGFXVnpLSFJoY21kbGRDd2dUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25Nb2MyOTFjbU5sS1NrN0lIMGdaV3h6WlNCN0lHOTNia3RsZVhNb1QySnFaV04wS0hOdmRYSmpaU2twTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0d0bGVTa2dleUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2MyOTFjbU5sTENCclpYa3BLVHNnZlNrN0lIMGdmU0J5WlhSMWNtNGdkR0Z5WjJWME95QjlYRzVjYm1aMWJtTjBhVzl1SUY5a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZG1Gc2RXVXBJSHNnYVdZZ0tHdGxlU0JwYmlCdlltb3BJSHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOWlhaXdnYTJWNUxDQjdJSFpoYkhWbE9pQjJZV3gxWlN3Z1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExDQjNjbWwwWVdKc1pUb2dkSEoxWlNCOUtUc2dmU0JsYkhObElIc2diMkpxVzJ0bGVWMGdQU0IyWVd4MVpUc2dmU0J5WlhSMWNtNGdiMkpxT3lCOVhHNWNibVoxYm1OMGFXOXVJRjlqYkdGemMwTmhiR3hEYUdWamF5aHBibk4wWVc1alpTd2dRMjl1YzNSeWRXTjBiM0lwSUhzZ2FXWWdLQ0VvYVc1emRHRnVZMlVnYVc1emRHRnVZMlZ2WmlCRGIyNXpkSEoxWTNSdmNpa3BJSHNnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCallXeHNJR0VnWTJ4aGMzTWdZWE1nWVNCbWRXNWpkR2x2Ymx3aUtUc2dmU0I5WEc1Y2JtWjFibU4wYVc5dUlGOWtaV1pwYm1WUWNtOXdaWEowYVdWektIUmhjbWRsZEN3Z2NISnZjSE1wSUhzZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUdrckt5a2dleUIyWVhJZ1pHVnpZM0pwY0hSdmNpQTlJSEJ5YjNCelcybGRPeUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdVZ1BTQmtaWE5qY21sd2RHOXlMbVZ1ZFcxbGNtRmliR1VnZkh3Z1ptRnNjMlU3SUdSbGMyTnlhWEIwYjNJdVkyOXVabWxuZFhKaFlteGxJRDBnZEhKMVpUc2dhV1lnS0Z3aWRtRnNkV1ZjSWlCcGJpQmtaWE5qY21sd2RHOXlLU0JrWlhOamNtbHdkRzl5TG5keWFYUmhZbXhsSUQwZ2RISjFaVHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z1pHVnpZM0pwY0hSdmNpNXJaWGtzSUdSbGMyTnlhWEIwYjNJcE95QjlJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyTnlaV0YwWlVOc1lYTnpLRU52Ym5OMGNuVmpkRzl5TENCd2NtOTBiMUJ5YjNCekxDQnpkR0YwYVdOUWNtOXdjeWtnZXlCcFppQW9jSEp2ZEc5UWNtOXdjeWtnWDJSbFptbHVaVkJ5YjNCbGNuUnBaWE1vUTI5dWMzUnlkV04wYjNJdWNISnZkRzkwZVhCbExDQndjbTkwYjFCeWIzQnpLVHNnYVdZZ0tITjBZWFJwWTFCeWIzQnpLU0JmWkdWbWFXNWxVSEp2Y0dWeWRHbGxjeWhEYjI1emRISjFZM1J2Y2l3Z2MzUmhkR2xqVUhKdmNITXBPeUJ5WlhSMWNtNGdRMjl1YzNSeWRXTjBiM0k3SUgxY2JseHVkbUZ5SUY5eVpYRjFhWEpsSUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5Snlrc1hHNGdJQ0FnUW5WbVptVnlJRDBnWDNKbGNYVnBjbVV1UW5WbVptVnlPMXh1WEc1MllYSWdYM0psY1hWcGNtVXlJRDBnY21WeGRXbHlaU2duZFhScGJDY3BMRnh1SUNBZ0lHbHVjM0JsWTNRZ1BTQmZjbVZ4ZFdseVpUSXVhVzV6Y0dWamREdGNibHh1ZG1GeUlHTjFjM1J2YlNBOUlHbHVjM0JsWTNRZ0ppWWdhVzV6Y0dWamRDNWpkWE4wYjIwZ2ZId2dKMmx1YzNCbFkzUW5PMXh1WEc1bWRXNWpkR2x2YmlCamIzQjVRblZtWm1WeUtITnlZeXdnZEdGeVoyVjBMQ0J2Wm1aelpYUXBJSHRjYmlBZ1FuVm1abVZ5TG5CeWIzUnZkSGx3WlM1amIzQjVMbU5oYkd3b2MzSmpMQ0IwWVhKblpYUXNJRzltWm5ObGRDazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQxY2JpOHFJMTlmVUZWU1JWOWZLaTljYm1aMWJtTjBhVzl1SUNncElIdGNiaUFnWm5WdVkzUnBiMjRnUW5WbVptVnlUR2x6ZENncElIdGNiaUFnSUNCZlkyeGhjM05EWVd4c1EyaGxZMnNvZEdocGN5d2dRblZtWm1WeVRHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtaGxZV1FnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1SUNCOVhHNWNiaUFnWDJOeVpXRjBaVU5zWVhOektFSjFabVpsY2t4cGMzUXNJRnQ3WEc0Z0lDQWdhMlY1T2lCY0luQjFjMmhjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdjSFZ6YUNoMktTQjdYRzRnSUNBZ0lDQjJZWElnWlc1MGNua2dQU0I3WEc0Z0lDQWdJQ0FnSUdSaGRHRTZJSFlzWEc0Z0lDQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBd0tTQjBhR2x6TG5SaGFXd3VibVY0ZENBOUlHVnVkSEo1TzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG5SaGFXd2dQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5WdWMyaHBablJjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdkVzV6YUdsbWRDaDJLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCN1hHNGdJQ0FnSUNBZ0lHUmhkR0U2SUhZc1hHNGdJQ0FnSUNBZ0lHNWxlSFE2SUhSb2FYTXVhR1ZoWkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dkR2hwY3k1MFlXbHNJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG1obFlXUWdQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5Ob2FXWjBYQ0lzWEc0Z0lDQWdkbUZzZFdVNklHWjFibU4wYVc5dUlITm9hV1owS0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1b1pXRmtMbVJoZEdFN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXBJSFJvYVhNdWFHVmhaQ0E5SUhSb2FYTXVkR0ZwYkNBOUlHNTFiR3c3Wld4elpTQjBhR2x6TG1obFlXUWdQU0IwYUdsekxtaGxZV1F1Ym1WNGREdGNiaUFnSUNBZ0lDMHRkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDFjYmlBZ2ZTd2dlMXh1SUNBZ0lHdGxlVG9nWENKamJHVmhjbHdpTEZ4dUlDQWdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQmpiR1ZoY2lncElIdGNiaUFnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltcHZhVzVjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdhbTlwYmloektTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUFuSnp0Y2JpQWdJQ0FnSUhaaGNpQndJRDBnZEdocGN5NW9aV0ZrTzF4dUlDQWdJQ0FnZG1GeUlISmxkQ0E5SUNjbklDc2djQzVrWVhSaE8xeHVYRzRnSUNBZ0lDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhRZ0t6MGdjeUFySUhBdVpHRjBZVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsZER0Y2JpQWdJQ0I5WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVZMkYwWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR052Ym1OaGRDaHVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCQ2RXWm1aWEl1WVd4c2IyTW9NQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NtVjBJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0c0Z1BqNCtJREFwTzF4dUlDQWdJQ0FnZG1GeUlIQWdQU0IwYUdsekxtaGxZV1E3WEc0Z0lDQWdJQ0IyWVhJZ2FTQTlJREE3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZjSGxDZFdabVpYSW9jQzVrWVhSaExDQnlaWFFzSUdrcE8xeHVJQ0FnSUNBZ0lDQnBJQ3M5SUhBdVpHRjBZUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJSEFnUFNCd0xtNWxlSFE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlNBdkx5QkRiMjV6ZFcxbGN5QmhJSE53WldOcFptbGxaQ0JoYlc5MWJuUWdiMllnWW5sMFpYTWdiM0lnWTJoaGNtRmpkR1Z5Y3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVjM1Z0WlZ3aUxGeHVJQ0FnSUhaaGJIVmxPaUJtZFc1amRHbHZiaUJqYjI1emRXMWxLRzRzSUdoaGMxTjBjbWx1WjNNcElIdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1SUR3Z2RHaHBjeTVvWldGa0xtUmhkR0V1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUM4dklHQnpiR2xqWldBZ2FYTWdkR2hsSUhOaGJXVWdabTl5SUdKMVptWmxjbk1nWVc1a0lITjBjbWx1WjNNdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtEQXNJRzRwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbWhsWVdRdVpHRjBZU0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtHNHBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h1SUQwOVBTQjBhR2x6TG1obFlXUXVaR0YwWVM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbWx5YzNRZ1kyaDFibXNnYVhNZ1lTQndaWEptWldOMElHMWhkR05vTGx4dUlDQWdJQ0FnSUNCeVpYUWdQU0IwYUdsekxuTm9hV1owS0NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QlNaWE4xYkhRZ2MzQmhibk1nYlc5eVpTQjBhR0Z1SUc5dVpTQmlkV1ptWlhJdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUdoaGMxTjBjbWx1WjNNZ1B5QjBhR2x6TGw5blpYUlRkSEpwYm1jb2Jpa2dPaUIwYUdsekxsOW5aWFJDZFdabVpYSW9iaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltWnBjbk4wWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR1pwY25OMEtDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YUdWaFpDNWtZWFJoTzF4dUlDQWdJSDBnTHk4Z1EyOXVjM1Z0WlhNZ1lTQnpjR1ZqYVdacFpXUWdZVzF2ZFc1MElHOW1JR05vWVhKaFkzUmxjbk1nWm5KdmJTQjBhR1VnWW5WbVptVnlaV1FnWkdGMFlTNWNibHh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSWw5blpYUlRkSEpwYm1kY0lpeGNiaUFnSUNCMllXeDFaVG9nWm5WdVkzUnBiMjRnWDJkbGRGTjBjbWx1WnlodUtTQjdYRzRnSUNBZ0lDQjJZWElnY0NBOUlIUm9hWE11YUdWaFpEdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ01UdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNCdUlDMDlJSEpsZEM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6ZEhJZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJ6ZEhJdWJHVnVaM1JvSUQ4Z2MzUnlMbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdsbUlDaHVZaUE5UFQwZ2MzUnlMbXhsYm1kMGFDa2djbVYwSUNzOUlITjBjanRsYkhObElISmxkQ0FyUFNCemRISXVjMnhwWTJVb01Dd2diaWs3WEc0Z0lDQWdJQ0FnSUc0Z0xUMGdibUk3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibUlnUFQwOUlITjBjaTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDc3JZenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3TG01bGVIUXBJSFJvYVhNdWFHVmhaQ0E5SUhBdWJtVjRkRHRsYkhObElIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSEE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndMbVJoZEdFZ1BTQnpkSEl1YzJ4cFkyVW9ibUlwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0t5dGpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBdFBTQmpPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxkRHRjYmlBZ0lDQjlJQzh2SUVOdmJuTjFiV1Z6SUdFZ2MzQmxZMmxtYVdWa0lHRnRiM1Z1ZENCdlppQmllWFJsY3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVgyZGxkRUoxWm1abGNsd2lMRnh1SUNBZ0lIWmhiSFZsT2lCbWRXNWpkR2x2YmlCZloyVjBRblZtWm1WeUtHNHBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYUWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYmlrN1hHNGdJQ0FnSUNCMllYSWdjQ0E5SUhSb2FYTXVhR1ZoWkR0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnTVR0Y2JpQWdJQ0FnSUhBdVpHRjBZUzVqYjNCNUtISmxkQ2s3WEc0Z0lDQWdJQ0J1SUMwOUlIQXVaR0YwWVM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJpZFdZZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJpZFdZdWJHVnVaM1JvSUQ4Z1luVm1MbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdKMVppNWpiM0I1S0hKbGRDd2djbVYwTG14bGJtZDBhQ0F0SUc0c0lEQXNJRzVpS1R0Y2JpQWdJQ0FnSUNBZ2JpQXRQU0J1WWp0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h1WWlBOVBUMGdZblZtTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdLeXRqTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hBdWJtVjRkQ2tnZEdocGN5NW9aV0ZrSUQwZ2NDNXVaWGgwTzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnZEdocGN5NTBZV2xzSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1b1pXRmtJRDBnY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEF1WkdGMFlTQTlJR0oxWmk1emJHbGpaU2h1WWlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQXJLMk03WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJR003WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDBnTHk4Z1RXRnJaU0J6ZFhKbElIUm9aU0JzYVc1clpXUWdiR2x6ZENCdmJteDVJSE5vYjNkeklIUm9aU0J0YVc1cGJXRnNJRzVsWTJWemMyRnllU0JwYm1admNtMWhkR2x2Ymk1Y2JseHVJQ0I5TENCN1hHNGdJQ0FnYTJWNU9pQmpkWE4wYjIwc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJSFpoYkhWbEtGOHNJRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnBibk53WldOMEtIUm9hWE1zSUY5dlltcGxZM1JUY0hKbFlXUW9lMzBzSUc5d2RHbHZibk1zSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCcGJuTndaV04wSUc5dVpTQnNaWFpsYkM1Y2JpQWdJQ0FnSUNBZ1pHVndkR2c2SURBc1hHNGdJQ0FnSUNBZ0lDOHZJRWwwSUhOb2IzVnNaQ0J1YjNRZ2NtVmpkWEp6WlM1Y2JpQWdJQ0FnSUNBZ1kzVnpkRzl0U1c1emNHVmpkRG9nWm1Gc2MyVmNiaUFnSUNBZ0lIMHBLVHRjYmlBZ0lDQjlYRzRnSUgxZEtUdGNibHh1SUNCeVpYUjFjbTRnUW5WbVptVnlUR2x6ZER0Y2JuMG9LVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7IC8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcXG5cXG5mdW5jdGlvbiBkZXN0cm95KGVyciwgY2IpIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICB2YXIgcmVhZGFibGVEZXN0cm95ZWQgPSB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgdmFyIHdyaXRhYmxlRGVzdHJveWVkID0gdGhpcy5fd3JpdGFibGVTdGF0ZSAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG5cXG4gIGlmIChyZWFkYWJsZURlc3Ryb3llZCB8fCB3cml0YWJsZURlc3Ryb3llZCkge1xcbiAgICBpZiAoY2IpIHtcXG4gICAgICBjYihlcnIpO1xcbiAgICB9IGVsc2UgaWYgKGVycikge1xcbiAgICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9IC8vIHdlIHNldCBkZXN0cm95ZWQgdG8gdHJ1ZSBiZWZvcmUgZmlyaW5nIGVycm9yIGNhbGxiYWNrcyBpbiBvcmRlclxcbiAgLy8gdG8gbWFrZSBpdCByZS1lbnRyYW5jZSBzYWZlIGluIGNhc2UgZGVzdHJveSgpIGlzIGNhbGxlZCB3aXRoaW4gY2FsbGJhY2tzXFxuXFxuXFxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHRydWU7XFxuICB9IC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcXG5cXG5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKCFjYiAmJiBlcnIpIHtcXG4gICAgICBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQsIF90aGlzLCBlcnIpO1xcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCwgX3RoaXMsIGVycik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsIF90aGlzKTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoY2IpIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgICAgY2IoZXJyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQoc2VsZiwgZXJyKSB7XFxuICBlbWl0RXJyb3JOVChzZWxmLCBlcnIpO1xcbiAgZW1pdENsb3NlTlQoc2VsZik7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRDbG9zZU5UKHNlbGYpIHtcXG4gIGlmIChzZWxmLl93cml0YWJsZVN0YXRlICYmICFzZWxmLl93cml0YWJsZVN0YXRlLmVtaXRDbG9zZSkgcmV0dXJuO1xcbiAgaWYgKHNlbGYuX3JlYWRhYmxlU3RhdGUgJiYgIXNlbGYuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlKSByZXR1cm47XFxuICBzZWxmLmVtaXQoJ2Nsb3NlJyk7XFxufVxcblxcbmZ1bmN0aW9uIHVuZGVzdHJveSgpIHtcXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcXG4gIHNlbGYuZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5mdW5jdGlvbiBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVycikge1xcbiAgLy8gV2UgaGF2ZSB0ZXN0cyB0aGF0IHJlbHkgb24gZXJyb3JzIGJlaW5nIGVtaXR0ZWRcXG4gIC8vIGluIHRoZSBzYW1lIHRpY2ssIHNvIGNoYW5naW5nIHRoaXMgaXMgc2VtdmVyIG1ham9yLlxcbiAgLy8gRm9yIG5vdyB3aGVuIHlvdSBvcHQtaW4gdG8gYXV0b0Rlc3Ryb3kgd2UgYWxsb3dcXG4gIC8vIHRoZSBlcnJvciB0byBiZSBlbWl0dGVkIG5leHRUaWNrLiBJbiBhIGZ1dHVyZVxcbiAgLy8gc2VtdmVyIG1ham9yIHVwZGF0ZSB3ZSBzaG91bGQgY2hhbmdlIHRoZSBkZWZhdWx0IHRvIHRoaXMuXFxuICB2YXIgclN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG4gIGlmIChyU3RhdGUgJiYgclN0YXRlLmF1dG9EZXN0cm95IHx8IHdTdGF0ZSAmJiB3U3RhdGUuYXV0b0Rlc3Ryb3kpIHN0cmVhbS5kZXN0cm95KGVycik7ZWxzZSBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXFxuICB1bmRlc3Ryb3k6IHVuZGVzdHJveSxcXG4gIGVycm9yT3JEZXN0cm95OiBlcnJvck9yRGVzdHJveVxcbn07XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OWtaWE4wY205NUxtcHpQMkV6TkRFaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNLME5CUVdFN08wRkJSV0k3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhkR1FVRjNSanRCUVVONFJqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzFpWVhObEwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12WkdWemRISnZlUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnpzZ0x5OGdkVzVrYjJOMWJXVnVkR1ZrSUdOaUtDa2dRVkJKTENCdVpXVmtaV1FnWm05eUlHTnZjbVVzSUc1dmRDQm1iM0lnY0hWaWJHbGpJRUZRU1Z4dVhHNW1kVzVqZEdsdmJpQmtaWE4wY205NUtHVnljaXdnWTJJcElIdGNiaUFnZG1GeUlGOTBhR2x6SUQwZ2RHaHBjenRjYmx4dUlDQjJZWElnY21WaFpHRmliR1ZFWlhOMGNtOTVaV1FnUFNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dUlDQjJZWElnZDNKcGRHRmliR1ZFWlhOMGNtOTVaV1FnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dVhHNGdJR2xtSUNoeVpXRmtZV0pzWlVSbGMzUnliM2xsWkNCOGZDQjNjbWwwWVdKc1pVUmxjM1J5YjNsbFpDa2dlMXh1SUNBZ0lHbG1JQ2hqWWlrZ2UxeHVJQ0FnSUNBZ1kySW9aWEp5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dWeWNpa2dlMXh1SUNBZ0lDQWdhV1lnS0NGMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbEtTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29aVzFwZEVWeWNtOXlUbFFzSUhSb2FYTXNJR1Z5Y2lrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tDRjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVZ5Y205eVJXMXBkSFJsWkNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVZ5Y205eVJXMXBkSFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWlcxcGRFVnljbTl5VGxRc0lIUm9hWE1zSUdWeWNpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwZ0x5OGdkMlVnYzJWMElHUmxjM1J5YjNsbFpDQjBieUIwY25WbElHSmxabTl5WlNCbWFYSnBibWNnWlhKeWIzSWdZMkZzYkdKaFkydHpJR2x1SUc5eVpHVnlYRzRnSUM4dklIUnZJRzFoYTJVZ2FYUWdjbVV0Wlc1MGNtRnVZMlVnYzJGbVpTQnBiaUJqWVhObElHUmxjM1J5YjNrb0tTQnBjeUJqWVd4c1pXUWdkMmwwYUdsdUlHTmhiR3hpWVdOcmMxeHVYRzVjYmlBZ2FXWWdLSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlIUnlkV1U3WEc0Z0lIMGdMeThnYVdZZ2RHaHBjeUJwY3lCaElHUjFjR3hsZUNCemRISmxZVzBnYldGeWF5QjBhR1VnZDNKcGRHRmliR1VnY0dGeWRDQmhjeUJrWlhOMGNtOTVaV1FnWVhNZ2QyVnNiRnh1WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFJ5ZFdVN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5a1pYTjBjbTk1S0dWeWNpQjhmQ0J1ZFd4c0xDQm1kVzVqZEdsdmJpQW9aWEp5S1NCN1hHNGdJQ0FnYVdZZ0tDRmpZaUFtSmlCbGNuSXBJSHRjYmlBZ0lDQWdJR2xtSUNnaFgzUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQWdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhsYldsMFJYSnliM0pCYm1SRGJHOXpaVTVVTENCZmRHaHBjeXdnWlhKeUtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9JVjkwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WeWNtOXlSVzFwZEhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0JmZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1bGNuSnZja1Z0YVhSMFpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQndjbTlqWlhOekxtNWxlSFJVYVdOcktHVnRhWFJGY25KdmNrRnVaRU5zYjNObFRsUXNJRjkwYUdsekxDQmxjbklwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhsYldsMFEyeHZjMlZPVkN3Z1gzUm9hWE1wTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQnBaaUFvWTJJcElIdGNiaUFnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1pXMXBkRU5zYjNObFRsUXNJRjkwYUdsektUdGNiaUFnSUNBZ0lHTmlLR1Z5Y2lrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29aVzFwZEVOc2IzTmxUbFFzSUY5MGFHbHpLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGJXbDBSWEp5YjNKQmJtUkRiRzl6WlU1VUtITmxiR1lzSUdWeWNpa2dlMXh1SUNCbGJXbDBSWEp5YjNKT1ZDaHpaV3htTENCbGNuSXBPMXh1SUNCbGJXbDBRMnh2YzJWT1ZDaHpaV3htS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlcxcGRFTnNiM05sVGxRb2MyVnNaaWtnZTF4dUlDQnBaaUFvYzJWc1ppNWZkM0pwZEdGaWJHVlRkR0YwWlNBbUppQWhjMlZzWmk1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVsYldsMFEyeHZjMlVwSUhKbGRIVnlianRjYmlBZ2FXWWdLSE5sYkdZdVgzSmxZV1JoWW14bFUzUmhkR1VnSmlZZ0lYTmxiR1l1WDNKbFlXUmhZbXhsVTNSaGRHVXVaVzFwZEVOc2IzTmxLU0J5WlhSMWNtNDdYRzRnSUhObGJHWXVaVzFwZENnblkyeHZjMlVuS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1a1pYTjBjbTk1S0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTa2dlMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaR1Z6ZEhKdmVXVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNXlaV0ZrYVc1bklEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlM1bGJtUmxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaVzVrUlcxcGRIUmxaQ0E5SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WdVpHbHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVabWx1WVd4RFlXeHNaV1FnUFNCbVlXeHpaVHRjYmlBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbkJ5WldacGJtbHphR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVtYVc1cGMyaGxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaWEp5YjNKRmJXbDBkR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRVZ5Y205eVRsUW9jMlZzWml3Z1pYSnlLU0I3WEc0Z0lITmxiR1l1WlcxcGRDZ25aWEp5YjNJbkxDQmxjbklwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnljaWtnZTF4dUlDQXZMeUJYWlNCb1lYWmxJSFJsYzNSeklIUm9ZWFFnY21Wc2VTQnZiaUJsY25KdmNuTWdZbVZwYm1jZ1pXMXBkSFJsWkZ4dUlDQXZMeUJwYmlCMGFHVWdjMkZ0WlNCMGFXTnJMQ0J6YnlCamFHRnVaMmx1WnlCMGFHbHpJR2x6SUhObGJYWmxjaUJ0WVdwdmNpNWNiaUFnTHk4Z1JtOXlJRzV2ZHlCM2FHVnVJSGx2ZFNCdmNIUXRhVzRnZEc4Z1lYVjBiMFJsYzNSeWIza2dkMlVnWVd4c2IzZGNiaUFnTHk4Z2RHaGxJR1Z5Y205eUlIUnZJR0psSUdWdGFYUjBaV1FnYm1WNGRGUnBZMnN1SUVsdUlHRWdablYwZFhKbFhHNGdJQzh2SUhObGJYWmxjaUJ0WVdwdmNpQjFjR1JoZEdVZ2QyVWdjMmh2ZFd4a0lHTm9ZVzVuWlNCMGFHVWdaR1ZtWVhWc2RDQjBieUIwYUdsekxseHVJQ0IyWVhJZ2NsTjBZWFJsSUQwZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdkMU4wWVhSbElEMGdjM1J5WldGdExsOTNjbWwwWVdKc1pWTjBZWFJsTzF4dUlDQnBaaUFvY2xOMFlYUmxJQ1ltSUhKVGRHRjBaUzVoZFhSdlJHVnpkSEp2ZVNCOGZDQjNVM1JoZEdVZ0ppWWdkMU4wWVhSbExtRjFkRzlFWlhOMGNtOTVLU0J6ZEhKbFlXMHVaR1Z6ZEhKdmVTaGxjbklwTzJWc2MyVWdjM1J5WldGdExtVnRhWFFvSjJWeWNtOXlKeXdnWlhKeUtUdGNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCN1hHNGdJR1JsYzNSeWIzazZJR1JsYzNSeWIza3NYRzRnSUhWdVpHVnpkSEp2ZVRvZ2RXNWtaWE4wY205NUxGeHVJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVUb2daWEp5YjNKUGNrUmxjM1J5YjNsY2JuMDdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLy8gUG9ydGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL21hZmludG9zaC9lbmQtb2Ytc3RyZWFtIHdpdGhcXG4vLyBwZXJtaXNzaW9uIGZyb20gdGhlIGF1dGhvciwgTWF0aGlhcyBCdXVzIChAbWFmaW50b3NoKS5cXG5cXG5cXG52YXIgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7XFxuXFxuZnVuY3Rpb24gb25jZShjYWxsYmFjaykge1xcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNhbGxlZCkgcmV0dXJuO1xcbiAgICBjYWxsZWQgPSB0cnVlO1xcblxcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcXG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xcbiAgICB9XFxuXFxuICAgIGNhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3MpO1xcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gbm9vcCgpIHt9XFxuXFxuZnVuY3Rpb24gaXNSZXF1ZXN0KHN0cmVhbSkge1xcbiAgcmV0dXJuIHN0cmVhbS5zZXRIZWFkZXIgJiYgdHlwZW9mIHN0cmVhbS5hYm9ydCA9PT0gJ2Z1bmN0aW9uJztcXG59XFxuXFxuZnVuY3Rpb24gZW9zKHN0cmVhbSwgb3B0cywgY2FsbGJhY2spIHtcXG4gIGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVvcyhzdHJlYW0sIG51bGwsIG9wdHMpO1xcbiAgaWYgKCFvcHRzKSBvcHRzID0ge307XFxuICBjYWxsYmFjayA9IG9uY2UoY2FsbGJhY2sgfHwgbm9vcCk7XFxuICB2YXIgcmVhZGFibGUgPSBvcHRzLnJlYWRhYmxlIHx8IG9wdHMucmVhZGFibGUgIT09IGZhbHNlICYmIHN0cmVhbS5yZWFkYWJsZTtcXG4gIHZhciB3cml0YWJsZSA9IG9wdHMud3JpdGFibGUgfHwgb3B0cy53cml0YWJsZSAhPT0gZmFsc2UgJiYgc3RyZWFtLndyaXRhYmxlO1xcblxcbiAgdmFyIG9ubGVnYWN5ZmluaXNoID0gZnVuY3Rpb24gb25sZWdhY3lmaW5pc2goKSB7XFxuICAgIGlmICghc3RyZWFtLndyaXRhYmxlKSBvbmZpbmlzaCgpO1xcbiAgfTtcXG5cXG4gIHZhciB3cml0YWJsZUVuZGVkID0gc3RyZWFtLl93cml0YWJsZVN0YXRlICYmIHN0cmVhbS5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZDtcXG5cXG4gIHZhciBvbmZpbmlzaCA9IGZ1bmN0aW9uIG9uZmluaXNoKCkge1xcbiAgICB3cml0YWJsZSA9IGZhbHNlO1xcbiAgICB3cml0YWJsZUVuZGVkID0gdHJ1ZTtcXG4gICAgaWYgKCFyZWFkYWJsZSkgY2FsbGJhY2suY2FsbChzdHJlYW0pO1xcbiAgfTtcXG5cXG4gIHZhciByZWFkYWJsZUVuZGVkID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlICYmIHN0cmVhbS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkO1xcblxcbiAgdmFyIG9uZW5kID0gZnVuY3Rpb24gb25lbmQoKSB7XFxuICAgIHJlYWRhYmxlID0gZmFsc2U7XFxuICAgIHJlYWRhYmxlRW5kZWQgPSB0cnVlO1xcbiAgICBpZiAoIXdyaXRhYmxlKSBjYWxsYmFjay5jYWxsKHN0cmVhbSk7XFxuICB9O1xcblxcbiAgdmFyIG9uZXJyb3IgPSBmdW5jdGlvbiBvbmVycm9yKGVycikge1xcbiAgICBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcXG4gIH07XFxuXFxuICB2YXIgb25jbG9zZSA9IGZ1bmN0aW9uIG9uY2xvc2UoKSB7XFxuICAgIHZhciBlcnI7XFxuXFxuICAgIGlmIChyZWFkYWJsZSAmJiAhcmVhZGFibGVFbmRlZCkge1xcbiAgICAgIGlmICghc3RyZWFtLl9yZWFkYWJsZVN0YXRlIHx8ICFzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kZWQpIGVyciA9IG5ldyBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSgpO1xcbiAgICAgIHJldHVybiBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcXG4gICAgfVxcblxcbiAgICBpZiAod3JpdGFibGUgJiYgIXdyaXRhYmxlRW5kZWQpIHtcXG4gICAgICBpZiAoIXN0cmVhbS5fd3JpdGFibGVTdGF0ZSB8fCAhc3RyZWFtLl93cml0YWJsZVN0YXRlLmVuZGVkKSBlcnIgPSBuZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UoKTtcXG4gICAgICByZXR1cm4gY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XFxuICAgIH1cXG4gIH07XFxuXFxuICB2YXIgb25yZXF1ZXN0ID0gZnVuY3Rpb24gb25yZXF1ZXN0KCkge1xcbiAgICBzdHJlYW0ucmVxLm9uKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICB9O1xcblxcbiAgaWYgKGlzUmVxdWVzdChzdHJlYW0pKSB7XFxuICAgIHN0cmVhbS5vbignY29tcGxldGUnLCBvbmZpbmlzaCk7XFxuICAgIHN0cmVhbS5vbignYWJvcnQnLCBvbmNsb3NlKTtcXG4gICAgaWYgKHN0cmVhbS5yZXEpIG9ucmVxdWVzdCgpO2Vsc2Ugc3RyZWFtLm9uKCdyZXF1ZXN0Jywgb25yZXF1ZXN0KTtcXG4gIH0gZWxzZSBpZiAod3JpdGFibGUgJiYgIXN0cmVhbS5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAvLyBsZWdhY3kgc3RyZWFtc1xcbiAgICBzdHJlYW0ub24oJ2VuZCcsIG9ubGVnYWN5ZmluaXNoKTtcXG4gICAgc3RyZWFtLm9uKCdjbG9zZScsIG9ubGVnYWN5ZmluaXNoKTtcXG4gIH1cXG5cXG4gIHN0cmVhbS5vbignZW5kJywgb25lbmQpO1xcbiAgc3RyZWFtLm9uKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICBpZiAob3B0cy5lcnJvciAhPT0gZmFsc2UpIHN0cmVhbS5vbignZXJyb3InLCBvbmVycm9yKTtcXG4gIHN0cmVhbS5vbignY2xvc2UnLCBvbmNsb3NlKTtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignY29tcGxldGUnLCBvbmZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignYWJvcnQnLCBvbmNsb3NlKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdyZXF1ZXN0Jywgb25yZXF1ZXN0KTtcXG4gICAgaWYgKHN0cmVhbS5yZXEpIHN0cmVhbS5yZXEucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9uZW5kKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XFxuICB9O1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGVvczsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5bGJtUXRiMll0YzNSeVpXRnRMbXB6UHpnMVpUWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5oT3p0QlFVVmlMR2xEUVVGcFF5eHRRa0ZCVHl4RFFVRkRMR2RIUVVGcFFqczdRVUZGTVVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVJVRkJkVVVzWVVGQllUdEJRVU53Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNaME5CUVdkRE8wRkJRMmhETEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmhoYzJndFltRnpaUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwyVnVaQzF2WmkxemRISmxZVzB1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCUWIzSjBaV1FnWm5KdmJTQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiV0ZtYVc1MGIzTm9MMlZ1WkMxdlppMXpkSEpsWVcwZ2QybDBhRnh1THk4Z2NHVnliV2x6YzJsdmJpQm1jbTl0SUhSb1pTQmhkWFJvYjNJc0lFMWhkR2hwWVhNZ1FuVjFjeUFvUUcxaFptbHVkRzl6YUNrdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJGVWxKZlUxUlNSVUZOWDFCU1JVMUJWRlZTUlY5RFRFOVRSU0E5SUhKbGNYVnBjbVVvSnk0dUx5NHVMeTR1TDJWeWNtOXljeWNwTG1OdlpHVnpMa1ZTVWw5VFZGSkZRVTFmVUZKRlRVRlVWVkpGWDBOTVQxTkZPMXh1WEc1bWRXNWpkR2x2YmlCdmJtTmxLR05oYkd4aVlXTnJLU0I3WEc0Z0lIWmhjaUJqWVd4c1pXUWdQU0JtWVd4elpUdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JwWmlBb1kyRnNiR1ZrS1NCeVpYUjFjbTQ3WEc0Z0lDQWdZMkZzYkdWa0lEMGdkSEoxWlR0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUY5c1pXNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9MQ0JoY21keklEMGdibVYzSUVGeWNtRjVLRjlzWlc0cExDQmZhMlY1SUQwZ01Ec2dYMnRsZVNBOElGOXNaVzQ3SUY5clpYa3JLeWtnZTF4dUlDQWdJQ0FnWVhKbmMxdGZhMlY1WFNBOUlHRnlaM1Z0Wlc1MGMxdGZhMlY1WFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqWVd4c1ltRmpheTVoY0hCc2VTaDBhR2x6TENCaGNtZHpLVHRjYmlBZ2ZUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JtOXZjQ2dwSUh0OVhHNWNibVoxYm1OMGFXOXVJR2x6VW1WeGRXVnpkQ2h6ZEhKbFlXMHBJSHRjYmlBZ2NtVjBkWEp1SUhOMGNtVmhiUzV6WlhSSVpXRmtaWElnSmlZZ2RIbHdaVzltSUhOMGNtVmhiUzVoWW05eWRDQTlQVDBnSjJaMWJtTjBhVzl1Snp0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlc5ektITjBjbVZoYlN3Z2IzQjBjeXdnWTJGc2JHSmhZMnNwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJ2Y0hSeklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCeVpYUjFjbTRnWlc5ektITjBjbVZoYlN3Z2JuVnNiQ3dnYjNCMGN5azdYRzRnSUdsbUlDZ2hiM0IwY3lrZ2IzQjBjeUE5SUh0OU8xeHVJQ0JqWVd4c1ltRmpheUE5SUc5dVkyVW9ZMkZzYkdKaFkyc2dmSHdnYm05dmNDazdYRzRnSUhaaGNpQnlaV0ZrWVdKc1pTQTlJRzl3ZEhNdWNtVmhaR0ZpYkdVZ2ZId2diM0IwY3k1eVpXRmtZV0pzWlNBaFBUMGdabUZzYzJVZ0ppWWdjM1J5WldGdExuSmxZV1JoWW14bE8xeHVJQ0IyWVhJZ2QzSnBkR0ZpYkdVZ1BTQnZjSFJ6TG5keWFYUmhZbXhsSUh4OElHOXdkSE11ZDNKcGRHRmliR1VnSVQwOUlHWmhiSE5sSUNZbUlITjBjbVZoYlM1M2NtbDBZV0pzWlR0Y2JseHVJQ0IyWVhJZ2IyNXNaV2RoWTNsbWFXNXBjMmdnUFNCbWRXNWpkR2x2YmlCdmJteGxaMkZqZVdacGJtbHphQ2dwSUh0Y2JpQWdJQ0JwWmlBb0lYTjBjbVZoYlM1M2NtbDBZV0pzWlNrZ2IyNW1hVzVwYzJnb0tUdGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2QzSnBkR0ZpYkdWRmJtUmxaQ0E5SUhOMGNtVmhiUzVmZDNKcGRHRmliR1ZUZEdGMFpTQW1KaUJ6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVdVptbHVhWE5vWldRN1hHNWNiaUFnZG1GeUlHOXVabWx1YVhOb0lEMGdablZ1WTNScGIyNGdiMjVtYVc1cGMyZ29LU0I3WEc0Z0lDQWdkM0pwZEdGaWJHVWdQU0JtWVd4elpUdGNiaUFnSUNCM2NtbDBZV0pzWlVWdVpHVmtJRDBnZEhKMVpUdGNiaUFnSUNCcFppQW9JWEpsWVdSaFlteGxLU0JqWVd4c1ltRmpheTVqWVd4c0tITjBjbVZoYlNrN1hHNGdJSDA3WEc1Y2JpQWdkbUZ5SUhKbFlXUmhZbXhsUlc1a1pXUWdQU0J6ZEhKbFlXMHVYM0psWVdSaFlteGxVM1JoZEdVZ0ppWWdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTG1WdVpFVnRhWFIwWldRN1hHNWNiaUFnZG1GeUlHOXVaVzVrSUQwZ1puVnVZM1JwYjI0Z2IyNWxibVFvS1NCN1hHNGdJQ0FnY21WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ0lDQnlaV0ZrWVdKc1pVVnVaR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQnBaaUFvSVhkeWFYUmhZbXhsS1NCallXeHNZbUZqYXk1allXeHNLSE4wY21WaGJTazdYRzRnSUgwN1hHNWNiaUFnZG1GeUlHOXVaWEp5YjNJZ1BTQm1kVzVqZEdsdmJpQnZibVZ5Y205eUtHVnljaWtnZTF4dUlDQWdJR05oYkd4aVlXTnJMbU5oYkd3b2MzUnlaV0Z0TENCbGNuSXBPMXh1SUNCOU8xeHVYRzRnSUhaaGNpQnZibU5zYjNObElEMGdablZ1WTNScGIyNGdiMjVqYkc5elpTZ3BJSHRjYmlBZ0lDQjJZWElnWlhKeU8xeHVYRzRnSUNBZ2FXWWdLSEpsWVdSaFlteGxJQ1ltSUNGeVpXRmtZV0pzWlVWdVpHVmtLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lYTjBjbVZoYlM1ZmNtVmhaR0ZpYkdWVGRHRjBaU0I4ZkNBaGMzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVZ1WkdWa0tTQmxjbklnUFNCdVpYY2dSVkpTWDFOVVVrVkJUVjlRVWtWTlFWUlZVa1ZmUTB4UFUwVW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpZV3hzWW1GamF5NWpZV3hzS0hOMGNtVmhiU3dnWlhKeUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kM0pwZEdGaWJHVWdKaVlnSVhkeWFYUmhZbXhsUlc1a1pXUXBJSHRjYmlBZ0lDQWdJR2xtSUNnaGMzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxJSHg4SUNGemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRcElHVnljaUE5SUc1bGR5QkZVbEpmVTFSU1JVRk5YMUJTUlUxQlZGVlNSVjlEVEU5VFJTZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTmhiR3hpWVdOckxtTmhiR3dvYzNSeVpXRnRMQ0JsY25JcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQjJZWElnYjI1eVpYRjFaWE4wSUQwZ1puVnVZM1JwYjI0Z2IyNXlaWEYxWlhOMEtDa2dlMXh1SUNBZ0lITjBjbVZoYlM1eVpYRXViMjRvSjJacGJtbHphQ2NzSUc5dVptbHVhWE5vS1R0Y2JpQWdmVHRjYmx4dUlDQnBaaUFvYVhOU1pYRjFaWE4wS0hOMGNtVmhiU2twSUh0Y2JpQWdJQ0J6ZEhKbFlXMHViMjRvSjJOdmJYQnNaWFJsSnl3Z2IyNW1hVzVwYzJncE8xeHVJQ0FnSUhOMGNtVmhiUzV2YmlnbllXSnZjblFuTENCdmJtTnNiM05sS1R0Y2JpQWdJQ0JwWmlBb2MzUnlaV0Z0TG5KbGNTa2diMjV5WlhGMVpYTjBLQ2s3Wld4elpTQnpkSEpsWVcwdWIyNG9KM0psY1hWbGMzUW5MQ0J2Ym5KbGNYVmxjM1FwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSGR5YVhSaFlteGxJQ1ltSUNGemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQXZMeUJzWldkaFkza2djM1J5WldGdGMxeHVJQ0FnSUhOMGNtVmhiUzV2YmlnblpXNWtKeXdnYjI1c1pXZGhZM2xtYVc1cGMyZ3BPMXh1SUNBZ0lITjBjbVZoYlM1dmJpZ25ZMnh2YzJVbkxDQnZibXhsWjJGamVXWnBibWx6YUNrN1hHNGdJSDFjYmx4dUlDQnpkSEpsWVcwdWIyNG9KMlZ1WkNjc0lHOXVaVzVrS1R0Y2JpQWdjM1J5WldGdExtOXVLQ2RtYVc1cGMyZ25MQ0J2Ym1acGJtbHphQ2s3WEc0Z0lHbG1JQ2h2Y0hSekxtVnljbTl5SUNFOVBTQm1ZV3h6WlNrZ2MzUnlaV0Z0TG05dUtDZGxjbkp2Y2ljc0lHOXVaWEp5YjNJcE8xeHVJQ0J6ZEhKbFlXMHViMjRvSjJOc2IzTmxKeXdnYjI1amJHOXpaU2s3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2MzUnlaV0Z0TG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RqYjIxd2JHVjBaU2NzSUc5dVptbHVhWE5vS1R0Y2JpQWdJQ0J6ZEhKbFlXMHVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyRmliM0owSnl3Z2IyNWpiRzl6WlNrN1hHNGdJQ0FnYzNSeVpXRnRMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZHlaWEYxWlhOMEp5d2diMjV5WlhGMVpYTjBLVHRjYmlBZ0lDQnBaaUFvYzNSeVpXRnRMbkpsY1NrZ2MzUnlaV0Z0TG5KbGNTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblptbHVhWE5vSnl3Z2IyNW1hVzVwYzJncE8xeHVJQ0FnSUhOMGNtVmhiUzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aVzVrSnl3Z2IyNXNaV2RoWTNsbWFXNXBjMmdwTzF4dUlDQWdJSE4wY21WaGJTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblkyeHZjMlVuTENCdmJteGxaMkZqZVdacGJtbHphQ2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbWFXNXBjMmduTENCdmJtWnBibWx6YUNrN1hHNGdJQ0FnYzNSeVpXRnRMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZGxibVFuTENCdmJtVnVaQ2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGNuSnZjaWNzSUc5dVpYSnliM0lwTzF4dUlDQWdJSE4wY21WaGJTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblkyeHZjMlVuTENCdmJtTnNiM05sS1R0Y2JpQWdmVHRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmxiM003SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9mcm9tLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXInKVxcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OW1jbTl0TFdKeWIzZHpaWEl1YW5NL05tVmlaaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDMWlZWE5sTDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZabkp2YlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25VbVZoWkdGaWJHVXVabkp2YlNCcGN5QnViM1FnWVhaaGFXeGhZbXhsSUdsdUlIUm9aU0JpY205M2MyVnlKeWxjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL3B1bXAgd2l0aFxcbi8vIHBlcm1pc3Npb24gZnJvbSB0aGUgYXV0aG9yLCBNYXRoaWFzIEJ1dXMgKEBtYWZpbnRvc2gpLlxcblxcblxcbnZhciBlb3M7XFxuXFxuZnVuY3Rpb24gb25jZShjYWxsYmFjaykge1xcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNhbGxlZCkgcmV0dXJuO1xcbiAgICBjYWxsZWQgPSB0cnVlO1xcbiAgICBjYWxsYmFjay5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XFxuICB9O1xcbn1cXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9NSVNTSU5HX0FSR1MgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTUlTU0lOR19BUkdTLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVEO1xcblxcbmZ1bmN0aW9uIG5vb3AoZXJyKSB7XFxuICAvLyBSZXRocm93IHRoZSBlcnJvciBpZiBpdCBleGlzdHMgdG8gYXZvaWQgc3dhbGxvd2luZyBpdFxcbiAgaWYgKGVycikgdGhyb3cgZXJyO1xcbn1cXG5cXG5mdW5jdGlvbiBpc1JlcXVlc3Qoc3RyZWFtKSB7XFxuICByZXR1cm4gc3RyZWFtLnNldEhlYWRlciAmJiB0eXBlb2Ygc3RyZWFtLmFib3J0ID09PSAnZnVuY3Rpb24nO1xcbn1cXG5cXG5mdW5jdGlvbiBkZXN0cm95ZXIoc3RyZWFtLCByZWFkaW5nLCB3cml0aW5nLCBjYWxsYmFjaykge1xcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrKTtcXG4gIHZhciBjbG9zZWQgPSBmYWxzZTtcXG4gIHN0cmVhbS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XFxuICAgIGNsb3NlZCA9IHRydWU7XFxuICB9KTtcXG4gIGlmIChlb3MgPT09IHVuZGVmaW5lZCkgZW9zID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbmQtb2Ytc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxcIik7XFxuICBlb3Moc3RyZWFtLCB7XFxuICAgIHJlYWRhYmxlOiByZWFkaW5nLFxcbiAgICB3cml0YWJsZTogd3JpdGluZ1xcbiAgfSwgZnVuY3Rpb24gKGVycikge1xcbiAgICBpZiAoZXJyKSByZXR1cm4gY2FsbGJhY2soZXJyKTtcXG4gICAgY2xvc2VkID0gdHJ1ZTtcXG4gICAgY2FsbGJhY2soKTtcXG4gIH0pO1xcbiAgdmFyIGRlc3Ryb3llZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKGNsb3NlZCkgcmV0dXJuO1xcbiAgICBpZiAoZGVzdHJveWVkKSByZXR1cm47XFxuICAgIGRlc3Ryb3llZCA9IHRydWU7IC8vIHJlcXVlc3QuZGVzdHJveSBqdXN0IGRvIC5lbmQgLSAuYWJvcnQgaXMgd2hhdCB3ZSB3YW50XFxuXFxuICAgIGlmIChpc1JlcXVlc3Qoc3RyZWFtKSkgcmV0dXJuIHN0cmVhbS5hYm9ydCgpO1xcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gc3RyZWFtLmRlc3Ryb3koKTtcXG4gICAgY2FsbGJhY2soZXJyIHx8IG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgncGlwZScpKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGNhbGwoZm4pIHtcXG4gIGZuKCk7XFxufVxcblxcbmZ1bmN0aW9uIHBpcGUoZnJvbSwgdG8pIHtcXG4gIHJldHVybiBmcm9tLnBpcGUodG8pO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BDYWxsYmFjayhzdHJlYW1zKSB7XFxuICBpZiAoIXN0cmVhbXMubGVuZ3RoKSByZXR1cm4gbm9vcDtcXG4gIGlmICh0eXBlb2Ygc3RyZWFtc1tzdHJlYW1zLmxlbmd0aCAtIDFdICE9PSAnZnVuY3Rpb24nKSByZXR1cm4gbm9vcDtcXG4gIHJldHVybiBzdHJlYW1zLnBvcCgpO1xcbn1cXG5cXG5mdW5jdGlvbiBwaXBlbGluZSgpIHtcXG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdHJlYW1zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICBzdHJlYW1zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xcbiAgfVxcblxcbiAgdmFyIGNhbGxiYWNrID0gcG9wQ2FsbGJhY2soc3RyZWFtcyk7XFxuICBpZiAoQXJyYXkuaXNBcnJheShzdHJlYW1zWzBdKSkgc3RyZWFtcyA9IHN0cmVhbXNbMF07XFxuXFxuICBpZiAoc3RyZWFtcy5sZW5ndGggPCAyKSB7XFxuICAgIHRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKCdzdHJlYW1zJyk7XFxuICB9XFxuXFxuICB2YXIgZXJyb3I7XFxuICB2YXIgZGVzdHJveXMgPSBzdHJlYW1zLm1hcChmdW5jdGlvbiAoc3RyZWFtLCBpKSB7XFxuICAgIHZhciByZWFkaW5nID0gaSA8IHN0cmVhbXMubGVuZ3RoIC0gMTtcXG4gICAgdmFyIHdyaXRpbmcgPSBpID4gMDtcXG4gICAgcmV0dXJuIGRlc3Ryb3llcihzdHJlYW0sIHJlYWRpbmcsIHdyaXRpbmcsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICBpZiAoIWVycm9yKSBlcnJvciA9IGVycjtcXG4gICAgICBpZiAoZXJyKSBkZXN0cm95cy5mb3JFYWNoKGNhbGwpO1xcbiAgICAgIGlmIChyZWFkaW5nKSByZXR1cm47XFxuICAgICAgZGVzdHJveXMuZm9yRWFjaChjYWxsKTtcXG4gICAgICBjYWxsYmFjayhlcnJvcik7XFxuICAgIH0pO1xcbiAgfSk7XFxuICByZXR1cm4gc3RyZWFtcy5yZWR1Y2UocGlwZSk7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gcGlwZWxpbmU7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXdhWEJsYkdsdVpTNXFjejltTjJReklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRZVHM3UVVGRllqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMR2RIUVVGcFFqdEJRVU01UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSUxDdENRVUVyUWl4dFFrRkJUeXhEUVVGRExHOUlRVUZwUWp0QlFVTjRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ096dEJRVVZ5UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhkRlFVRjNSU3hoUVVGaE8wRkJRM0pHTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDMWlZWE5sTDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjR2x3Wld4cGJtVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJRYjNKMFpXUWdabkp2YlNCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJXRm1hVzUwYjNOb0wzQjFiWEFnZDJsMGFGeHVMeThnY0dWeWJXbHpjMmx2YmlCbWNtOXRJSFJvWlNCaGRYUm9iM0lzSUUxaGRHaHBZWE1nUW5WMWN5QW9RRzFoWm1sdWRHOXphQ2t1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQmxiM003WEc1Y2JtWjFibU4wYVc5dUlHOXVZMlVvWTJGc2JHSmhZMnNwSUh0Y2JpQWdkbUZ5SUdOaGJHeGxaQ0E5SUdaaGJITmxPMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdsbUlDaGpZV3hzWldRcElISmxkSFZ5Ymp0Y2JpQWdJQ0JqWVd4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUdOaGJHeGlZV05yTG1Gd2NHeDVLSFp2YVdRZ01Dd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ2ZUdGNibjFjYmx4dWRtRnlJRjl5WlhGMWFYSmxKR052WkdWeklEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dkxpNHZaWEp5YjNKekp5a3VZMjlrWlhNc1hHNGdJQ0FnUlZKU1gwMUpVMU5KVGtkZlFWSkhVeUE5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5TlNWTlRTVTVIWDBGU1IxTXNYRzRnSUNBZ1JWSlNYMU5VVWtWQlRWOUVSVk5VVWs5WlJVUWdQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSRHRjYmx4dVpuVnVZM1JwYjI0Z2JtOXZjQ2hsY25JcElIdGNiaUFnTHk4Z1VtVjBhSEp2ZHlCMGFHVWdaWEp5YjNJZ2FXWWdhWFFnWlhocGMzUnpJSFJ2SUdGMmIybGtJSE4zWVd4c2IzZHBibWNnYVhSY2JpQWdhV1lnS0dWeWNpa2dkR2h5YjNjZ1pYSnlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBjMUpsY1hWbGMzUW9jM1J5WldGdEtTQjdYRzRnSUhKbGRIVnliaUJ6ZEhKbFlXMHVjMlYwU0dWaFpHVnlJQ1ltSUhSNWNHVnZaaUJ6ZEhKbFlXMHVZV0p2Y25RZ1BUMDlJQ2RtZFc1amRHbHZiaWM3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1JsYzNSeWIzbGxjaWh6ZEhKbFlXMHNJSEpsWVdScGJtY3NJSGR5YVhScGJtY3NJR05oYkd4aVlXTnJLU0I3WEc0Z0lHTmhiR3hpWVdOcklEMGdiMjVqWlNoallXeHNZbUZqYXlrN1hHNGdJSFpoY2lCamJHOXpaV1FnUFNCbVlXeHpaVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZGpiRzl6WlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQmpiRzl6WldRZ1BTQjBjblZsTzF4dUlDQjlLVHRjYmlBZ2FXWWdLR1Z2Y3lBOVBUMGdkVzVrWldacGJtVmtLU0JsYjNNZ1BTQnlaWEYxYVhKbEtDY3VMMlZ1WkMxdlppMXpkSEpsWVcwbktUdGNiaUFnWlc5ektITjBjbVZoYlN3Z2UxeHVJQ0FnSUhKbFlXUmhZbXhsT2lCeVpXRmthVzVuTEZ4dUlDQWdJSGR5YVhSaFlteGxPaUIzY21sMGFXNW5YRzRnSUgwc0lHWjFibU4wYVc5dUlDaGxjbklwSUh0Y2JpQWdJQ0JwWmlBb1pYSnlLU0J5WlhSMWNtNGdZMkZzYkdKaFkyc29aWEp5S1R0Y2JpQWdJQ0JqYkc5elpXUWdQU0IwY25WbE8xeHVJQ0FnSUdOaGJHeGlZV05yS0NrN1hHNGdJSDBwTzF4dUlDQjJZWElnWkdWemRISnZlV1ZrSUQwZ1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb1pYSnlLU0I3WEc0Z0lDQWdhV1lnS0dOc2IzTmxaQ2tnY21WMGRYSnVPMXh1SUNBZ0lHbG1JQ2hrWlhOMGNtOTVaV1FwSUhKbGRIVnlianRjYmlBZ0lDQmtaWE4wY205NVpXUWdQU0IwY25WbE95QXZMeUJ5WlhGMVpYTjBMbVJsYzNSeWIza2dhblZ6ZENCa2J5QXVaVzVrSUMwZ0xtRmliM0owSUdseklIZG9ZWFFnZDJVZ2QyRnVkRnh1WEc0Z0lDQWdhV1lnS0dselVtVnhkV1Z6ZENoemRISmxZVzBwS1NCeVpYUjFjbTRnYzNSeVpXRnRMbUZpYjNKMEtDazdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnpkSEpsWVcwdVpHVnpkSEp2ZVNBOVBUMGdKMloxYm1OMGFXOXVKeWtnY21WMGRYSnVJSE4wY21WaGJTNWtaWE4wY205NUtDazdYRzRnSUNBZ1kyRnNiR0poWTJzb1pYSnlJSHg4SUc1bGR5QkZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSQ2duY0dsd1pTY3BLVHRjYmlBZ2ZUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyRnNiQ2htYmlrZ2UxeHVJQ0JtYmlncE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2FYQmxLR1p5YjIwc0lIUnZLU0I3WEc0Z0lISmxkSFZ5YmlCbWNtOXRMbkJwY0dVb2RHOHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndiM0JEWVd4c1ltRmpheWh6ZEhKbFlXMXpLU0I3WEc0Z0lHbG1JQ2doYzNSeVpXRnRjeTVzWlc1bmRHZ3BJSEpsZEhWeWJpQnViMjl3TzF4dUlDQnBaaUFvZEhsd1pXOW1JSE4wY21WaGJYTmJjM1J5WldGdGN5NXNaVzVuZEdnZ0xTQXhYU0FoUFQwZ0oyWjFibU4wYVc5dUp5a2djbVYwZFhKdUlHNXZiM0E3WEc0Z0lISmxkSFZ5YmlCemRISmxZVzF6TG5CdmNDZ3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndhWEJsYkdsdVpTZ3BJSHRjYmlBZ1ptOXlJQ2gyWVhJZ1gyeGxiaUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dzSUhOMGNtVmhiWE1nUFNCdVpYY2dRWEp5WVhrb1gyeGxiaWtzSUY5clpYa2dQU0F3T3lCZmEyVjVJRHdnWDJ4bGJqc2dYMnRsZVNzcktTQjdYRzRnSUNBZ2MzUnlaV0Z0YzF0ZmEyVjVYU0E5SUdGeVozVnRaVzUwYzF0ZmEyVjVYVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQmpZV3hzWW1GamF5QTlJSEJ2Y0VOaGJHeGlZV05yS0hOMGNtVmhiWE1wTzF4dUlDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHpkSEpsWVcxeld6QmRLU2tnYzNSeVpXRnRjeUE5SUhOMGNtVmhiWE5iTUYwN1hHNWNiaUFnYVdZZ0tITjBjbVZoYlhNdWJHVnVaM1JvSUR3Z01pa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZVbEpmVFVsVFUwbE9SMTlCVWtkVEtDZHpkSEpsWVcxekp5azdYRzRnSUgxY2JseHVJQ0IyWVhJZ1pYSnliM0k3WEc0Z0lIWmhjaUJrWlhOMGNtOTVjeUE5SUhOMGNtVmhiWE11YldGd0tHWjFibU4wYVc5dUlDaHpkSEpsWVcwc0lHa3BJSHRjYmlBZ0lDQjJZWElnY21WaFpHbHVaeUE5SUdrZ1BDQnpkSEpsWVcxekxteGxibWQwYUNBdElERTdYRzRnSUNBZ2RtRnlJSGR5YVhScGJtY2dQU0JwSUQ0Z01EdGNiaUFnSUNCeVpYUjFjbTRnWkdWemRISnZlV1Z5S0hOMGNtVmhiU3dnY21WaFpHbHVaeXdnZDNKcGRHbHVaeXdnWm5WdVkzUnBiMjRnS0dWeWNpa2dlMXh1SUNBZ0lDQWdhV1lnS0NGbGNuSnZjaWtnWlhKeWIzSWdQU0JsY25JN1hHNGdJQ0FnSUNCcFppQW9aWEp5S1NCa1pYTjBjbTk1Y3k1bWIzSkZZV05vS0dOaGJHd3BPMXh1SUNBZ0lDQWdhV1lnS0hKbFlXUnBibWNwSUhKbGRIVnlianRjYmlBZ0lDQWdJR1JsYzNSeWIzbHpMbVp2Y2tWaFkyZ29ZMkZzYkNrN1hHNGdJQ0FnSUNCallXeHNZbUZqYXlobGNuSnZjaWs3WEc0Z0lDQWdmU2s3WEc0Z0lIMHBPMXh1SUNCeVpYUjFjbTRnYzNSeVpXRnRjeTV5WldSMVkyVW9jR2x3WlNrN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY0dsd1pXeHBibVU3SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIEVSUl9JTlZBTElEX09QVF9WQUxVRSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uLy4uL2Vycm9ycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcXFwiKS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7XFxuXFxuZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20ob3B0aW9ucywgaXNEdXBsZXgsIGR1cGxleEtleSkge1xcbiAgcmV0dXJuIG9wdGlvbnMuaGlnaFdhdGVyTWFyayAhPSBudWxsID8gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrIDogaXNEdXBsZXggPyBvcHRpb25zW2R1cGxleEtleV0gOiBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRIaWdoV2F0ZXJNYXJrKHN0YXRlLCBvcHRpb25zLCBkdXBsZXhLZXksIGlzRHVwbGV4KSB7XFxuICB2YXIgaHdtID0gaGlnaFdhdGVyTWFya0Zyb20ob3B0aW9ucywgaXNEdXBsZXgsIGR1cGxleEtleSk7XFxuXFxuICBpZiAoaHdtICE9IG51bGwpIHtcXG4gICAgaWYgKCEoaXNGaW5pdGUoaHdtKSAmJiBNYXRoLmZsb29yKGh3bSkgPT09IGh3bSkgfHwgaHdtIDwgMCkge1xcbiAgICAgIHZhciBuYW1lID0gaXNEdXBsZXggPyBkdXBsZXhLZXkgOiAnaGlnaFdhdGVyTWFyayc7XFxuICAgICAgdGhyb3cgbmV3IEVSUl9JTlZBTElEX09QVF9WQUxVRShuYW1lLCBod20pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBNYXRoLmZsb29yKGh3bSk7XFxuICB9IC8vIERlZmF1bHQgdmFsdWVcXG5cXG5cXG4gIHJldHVybiBzdGF0ZS5vYmplY3RNb2RlID8gMTYgOiAxNiAqIDEwMjQ7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0ge1xcbiAgZ2V0SGlnaFdhdGVyTWFyazogZ2V0SGlnaFdhdGVyTWFya1xcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkR0YwWlM1cWN6ODJPR00xSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTERSQ1FVRTBRaXh0UWtGQlR5eERRVUZETEdkSFFVRnBRanM3UVVGRmNrUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd0WW1GelpTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNOMFlYUmxMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnUlZKU1gwbE9Wa0ZNU1VSZlQxQlVYMVpCVEZWRklEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dkxpNHZaWEp5YjNKekp5a3VZMjlrWlhNdVJWSlNYMGxPVmtGTVNVUmZUMUJVWDFaQlRGVkZPMXh1WEc1bWRXNWpkR2x2YmlCb2FXZG9WMkYwWlhKTllYSnJSbkp2YlNodmNIUnBiMjV6TENCcGMwUjFjR3hsZUN3Z1pIVndiR1Y0UzJWNUtTQjdYRzRnSUhKbGRIVnliaUJ2Y0hScGIyNXpMbWhwWjJoWFlYUmxjazFoY21zZ0lUMGdiblZzYkNBL0lHOXdkR2x2Ym5NdWFHbG5hRmRoZEdWeVRXRnlheUE2SUdselJIVndiR1Y0SUQ4Z2IzQjBhVzl1YzF0a2RYQnNaWGhMWlhsZElEb2diblZzYkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFNHbG5hRmRoZEdWeVRXRnlheWh6ZEdGMFpTd2diM0IwYVc5dWN5d2daSFZ3YkdWNFMyVjVMQ0JwYzBSMWNHeGxlQ2tnZTF4dUlDQjJZWElnYUhkdElEMGdhR2xuYUZkaGRHVnlUV0Z5YTBaeWIyMG9iM0IwYVc5dWN5d2dhWE5FZFhCc1pYZ3NJR1IxY0d4bGVFdGxlU2s3WEc1Y2JpQWdhV1lnS0doM2JTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLQ0VvYVhOR2FXNXBkR1VvYUhkdEtTQW1KaUJOWVhSb0xtWnNiMjl5S0doM2JTa2dQVDA5SUdoM2JTa2dmSHdnYUhkdElEd2dNQ2tnZTF4dUlDQWdJQ0FnZG1GeUlHNWhiV1VnUFNCcGMwUjFjR3hsZUNBL0lHUjFjR3hsZUV0bGVTQTZJQ2RvYVdkb1YyRjBaWEpOWVhKckp6dGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZVbEpmU1U1V1FVeEpSRjlQVUZSZlZrRk1WVVVvYm1GdFpTd2dhSGR0S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdUV0YwYUM1bWJHOXZjaWhvZDIwcE8xeHVJQ0I5SUM4dklFUmxabUYxYkhRZ2RtRnNkV1ZjYmx4dVhHNGdJSEpsZEhWeWJpQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNVFlnT2lBeE5pQXFJREV3TWpRN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZTF4dUlDQm5aWFJJYVdkb1YyRjBaWEpOWVhKck9pQm5aWFJJYVdkb1YyRjBaWEpOWVhKclhHNTlPeUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBldmVudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanNcXFwiKS5FdmVudEVtaXR0ZXI7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkSEpsWVcwdFluSnZkM05sY2k1cWN6OHpPVFk1SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExDdERRVUZSSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmhoYzJndFltRnpaUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzTjBjbVZoYlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2RsZG1WdWRITW5LUzVGZG1WdWRFVnRhWFIwWlhJN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxcIik7XFxuZXhwb3J0cy5TdHJlYW0gPSBleHBvcnRzO1xcbmV4cG9ydHMuUmVhZGFibGUgPSBleHBvcnRzO1xcbmV4cG9ydHMuV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbmV4cG9ydHMuRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcbmV4cG9ydHMuVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcbmV4cG9ydHMuUGFzc1Rocm91Z2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcXCIpO1xcbmV4cG9ydHMuZmluaXNoZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcXFwiKTtcXG5leHBvcnRzLnBpcGVsaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzl5WldGa1lXSnNaUzFpY205M2MyVnlMbXB6UHpBNU9EZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzTWtKQlFUSkNMRzFDUVVGUExFTkJRVU1zWjBoQlFUSkNPMEZCUXpsRU8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2JVSkJRVThzUTBGQlF5eG5TRUZCTWtJN1FVRkRkRVFzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zTkVkQlFYbENPMEZCUTJ4RUxHOUNRVUZ2UWl4dFFrRkJUeXhEUVVGRExHdElRVUUwUWp0QlFVTjRSQ3h6UWtGQmMwSXNiVUpCUVU4c1EwRkJReXh6U0VGQk9FSTdRVUZETlVRc2JVSkJRVzFDTEcxQ1FVRlBMRU5CUVVNc05FbEJRWGxETzBGQlEzQkZMRzFDUVVGdFFpeHRRa0ZCVHl4RFFVRkRMR3RKUVVGdlF5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXlaV0ZrWVdKc1pTMWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVpYaHdiM0owY3lBOUlHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3ljcE8xeHVaWGh3YjNKMGN5NVRkSEpsWVcwZ1BTQmxlSEJ2Y25Sek8xeHVaWGh3YjNKMGN5NVNaV0ZrWVdKc1pTQTlJR1Y0Y0c5eWRITTdYRzVsZUhCdmNuUnpMbGR5YVhSaFlteGxJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZYM04wY21WaGJWOTNjbWwwWVdKc1pTNXFjeWNwTzF4dVpYaHdiM0owY3k1RWRYQnNaWGdnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlmYzNSeVpXRnRYMlIxY0d4bGVDNXFjeWNwTzF4dVpYaHdiM0owY3k1VWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5ZmMzUnlaV0Z0WDNSeVlXNXpabTl5YlM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVRWVhOelZHaHliM1ZuYUNBOUlISmxjWFZwY21Vb0p5NHZiR2xpTDE5emRISmxZVzFmY0dGemMzUm9jbTkxWjJndWFuTW5LVHRjYm1WNGNHOXlkSE11Wm1sdWFYTm9aV1FnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlZ1WkMxdlppMXpkSEpsWVcwdWFuTW5LVHRjYm1WNGNHOXlkSE11Y0dsd1pXeHBibVVnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMM0JwY0dWc2FXNWxMbXB6SnlrN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyohIHNhZmUtYnVmZmVyLiBNSVQgTGljZW5zZS4gRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cHM6Ly9mZXJvc3Mub3JnL29wZW5zb3VyY2U+ICovXFxuLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xcbnZhciBidWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IGJ1ZmZlci5CdWZmZXJcXG5cXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXFxuZnVuY3Rpb24gY29weVByb3BzIChzcmMsIGRzdCkge1xcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXFxuICB9XFxufVxcbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcXG4gIG1vZHVsZS5leHBvcnRzID0gYnVmZmVyXFxufSBlbHNlIHtcXG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXFxuICBjb3B5UHJvcHMoYnVmZmVyLCBleHBvcnRzKVxcbiAgZXhwb3J0cy5CdWZmZXIgPSBTYWZlQnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIFNhZmVCdWZmZXIgKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5TYWZlQnVmZmVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSlcXG5cXG4vLyBDb3B5IHN0YXRpYyBtZXRob2RzIGZyb20gQnVmZmVyXFxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcXG5cXG5TYWZlQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXFxuICB9XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XFxuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxcbiAgfVxcbiAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxcbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGJ1Zi5maWxsKDApXFxuICB9XFxuICByZXR1cm4gYnVmXFxufVxcblxcblNhZmVCdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcXG59XFxuXFxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBidWZmZXIuU2xvd0J1ZmZlcihzaXplKVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNOaFptVXRZblZtWm1WeUwybHVaR1Y0TG1welAySmxNalFpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNM1FqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM05oWm1VdFluVm1abVZ5TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9oSUhOaFptVXRZblZtWm1WeUxpQk5TVlFnVEdsalpXNXpaUzRnUm1WeWIzTnpJRUZpYjNWcmFHRmthV3BsYUNBOGFIUjBjSE02THk5bVpYSnZjM011YjNKbkwyOXdaVzV6YjNWeVkyVStJQ292WEc0dktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCdWIyUmxMMjV2TFdSbGNISmxZMkYwWldRdFlYQnBJQ292WEc1MllYSWdZblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5bGNiblpoY2lCQ2RXWm1aWElnUFNCaWRXWm1aWEl1UW5WbVptVnlYRzVjYmk4dklHRnNkR1Z5Ym1GMGFYWmxJSFJ2SUhWemFXNW5JRTlpYW1WamRDNXJaWGx6SUdadmNpQnZiR1FnWW5KdmQzTmxjbk5jYm1aMWJtTjBhVzl1SUdOdmNIbFFjbTl3Y3lBb2MzSmpMQ0JrYzNRcElIdGNiaUFnWm05eUlDaDJZWElnYTJWNUlHbHVJSE55WXlrZ2UxeHVJQ0FnSUdSemRGdHJaWGxkSUQwZ2MzSmpXMnRsZVYxY2JpQWdmVnh1ZlZ4dWFXWWdLRUoxWm1abGNpNW1jbTl0SUNZbUlFSjFabVpsY2k1aGJHeHZZeUFtSmlCQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1VZ0ppWWdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxVMnh2ZHlrZ2UxeHVJQ0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR0oxWm1abGNseHVmU0JsYkhObElIdGNiaUFnTHk4Z1EyOXdlU0J3Y205d1pYSjBhV1Z6SUdaeWIyMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5bGNiaUFnWTI5d2VWQnliM0J6S0dKMVptWmxjaXdnWlhod2IzSjBjeWxjYmlBZ1pYaHdiM0owY3k1Q2RXWm1aWElnUFNCVFlXWmxRblZtWm1WeVhHNTlYRzVjYm1aMWJtTjBhVzl1SUZOaFptVkNkV1ptWlhJZ0tHRnlaeXdnWlc1amIyUnBibWRQY2s5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lISmxkSFZ5YmlCQ2RXWm1aWElvWVhKbkxDQmxibU52WkdsdVowOXlUMlptYzJWMExDQnNaVzVuZEdncFhHNTlYRzVjYmxOaFptVkNkV1ptWlhJdWNISnZkRzkwZVhCbElEMGdUMkpxWldOMExtTnlaV0YwWlNoQ2RXWm1aWEl1Y0hKdmRHOTBlWEJsS1Z4dVhHNHZMeUJEYjNCNUlITjBZWFJwWXlCdFpYUm9iMlJ6SUdaeWIyMGdRblZtWm1WeVhHNWpiM0I1VUhKdmNITW9RblZtWm1WeUxDQlRZV1psUW5WbVptVnlLVnh1WEc1VFlXWmxRblZtWm1WeUxtWnliMjBnUFNCbWRXNWpkR2x2YmlBb1lYSm5MQ0JsYm1OdlpHbHVaMDl5VDJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQmhjbWNnUFQwOUlDZHVkVzFpWlhJbktTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25RWEpuZFcxbGJuUWdiWFZ6ZENCdWIzUWdZbVVnWVNCdWRXMWlaWEluS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJDZFdabVpYSW9ZWEpuTENCbGJtTnZaR2x1WjA5eVQyWm1jMlYwTENCc1pXNW5kR2dwWEc1OVhHNWNibE5oWm1WQ2RXWm1aWEl1WVd4c2IyTWdQU0JtZFc1amRHbHZiaUFvYzJsNlpTd2dabWxzYkN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCemFYcGxJQ0U5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0owRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQnVkVzFpWlhJbktWeHVJQ0I5WEc0Z0lIWmhjaUJpZFdZZ1BTQkNkV1ptWlhJb2MybDZaU2xjYmlBZ2FXWWdLR1pwYkd3Z0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWlc1amIyUnBibWNnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQmlkV1l1Wm1sc2JDaG1hV3hzTENCbGJtTnZaR2x1WnlsY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZblZtTG1acGJHd29abWxzYkNsY2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWW5WbUxtWnBiR3dvTUNsY2JpQWdmVnh1SUNCeVpYUjFjbTRnWW5WbVhHNTlYRzVjYmxOaFptVkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVWdQU0JtZFc1amRHbHZiaUFvYzJsNlpTa2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlITnBlbVVnSVQwOUlDZHVkVzFpWlhJbktTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25RWEpuZFcxbGJuUWdiWFZ6ZENCaVpTQmhJRzUxYldKbGNpY3BYRzRnSUgxY2JpQWdjbVYwZFhKdUlFSjFabVpsY2loemFYcGxLVnh1ZlZ4dVhHNVRZV1psUW5WbVptVnlMbUZzYkc5alZXNXpZV1psVTJ4dmR5QTlJR1oxYm1OMGFXOXVJQ2h6YVhwbEtTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ2MybDZaU0FoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZEJjbWQxYldWdWRDQnRkWE4wSUdKbElHRWdiblZ0WW1WeUp5bGNiaUFnZlZ4dUlDQnlaWFIxY200Z1luVm1abVZ5TGxOc2IzZENkV1ptWlhJb2MybDZaU2xjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2guanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGhhc2ggPSBleHBvcnRzO1xcblxcbmhhc2gudXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2gvdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG5oYXNoLmNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaGFzaC9jb21tb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXFxcIik7XFxuaGFzaC5zaGEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2gvc2hhICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS5qc1xcXCIpO1xcbmhhc2gucmlwZW1kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oYXNoL3JpcGVtZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9yaXBlbWQuanNcXFwiKTtcXG5oYXNoLmhtYWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2gvaG1hYyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9obWFjLmpzXFxcIik7XFxuXFxuLy8gUHJveHkgaGFzaCBmdW5jdGlvbnMgdG8gdGhlIG1haW4gb2JqZWN0XFxuaGFzaC5zaGExID0gaGFzaC5zaGEuc2hhMTtcXG5oYXNoLnNoYTI1NiA9IGhhc2guc2hhLnNoYTI1NjtcXG5oYXNoLnNoYTIyNCA9IGhhc2guc2hhLnNoYTIyNDtcXG5oYXNoLnNoYTM4NCA9IGhhc2guc2hhLnNoYTM4NDtcXG5oYXNoLnNoYTUxMiA9IGhhc2guc2hhLnNoYTUxMjtcXG5oYXNoLnJpcGVtZDE2MCA9IGhhc2gucmlwZW1kLnJpcGVtZDE2MDtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0xtcHpQMlU0TlRRaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETERoRVFVRmpPMEZCUTI1RExHTkJRV01zYlVKQlFVOHNRMEZCUXl4blJVRkJaVHRCUVVOeVF5eFhRVUZYTEcxQ1FVRlBMRU5CUVVNc01FUkJRVms3UVVGREwwSXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHZEZRVUZsTzBGQlEzSkRMRmxCUVZrc2JVSkJRVThzUTBGQlF5dzBSRUZCWVRzN1FVRkZha003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDNXFjeTlzYVdJdmFHRnphQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCb1lYTm9JRDBnWlhod2IzSjBjenRjYmx4dWFHRnphQzUxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2YUdGemFDOTFkR2xzY3ljcE8xeHVhR0Z6YUM1amIyMXRiMjRnUFNCeVpYRjFhWEpsS0NjdUwyaGhjMmd2WTI5dGJXOXVKeWs3WEc1b1lYTm9Mbk5vWVNBOUlISmxjWFZwY21Vb0p5NHZhR0Z6YUM5emFHRW5LVHRjYm1oaGMyZ3VjbWx3Wlcxa0lEMGdjbVZ4ZFdseVpTZ25MaTlvWVhOb0wzSnBjR1Z0WkNjcE8xeHVhR0Z6YUM1b2JXRmpJRDBnY21WeGRXbHlaU2duTGk5b1lYTm9MMmh0WVdNbktUdGNibHh1THk4Z1VISnZlSGtnYUdGemFDQm1kVzVqZEdsdmJuTWdkRzhnZEdobElHMWhhVzRnYjJKcVpXTjBYRzVvWVhOb0xuTm9ZVEVnUFNCb1lYTm9Mbk5vWVM1emFHRXhPMXh1YUdGemFDNXphR0V5TlRZZ1BTQm9ZWE5vTG5Ob1lTNXphR0V5TlRZN1hHNW9ZWE5vTG5Ob1lUSXlOQ0E5SUdoaGMyZ3VjMmhoTG5Ob1lUSXlORHRjYm1oaGMyZ3VjMmhoTXpnMElEMGdhR0Z6YUM1emFHRXVjMmhoTXpnME8xeHVhR0Z6YUM1emFHRTFNVElnUFNCb1lYTm9Mbk5vWVM1emFHRTFNVEk3WEc1b1lYTm9MbkpwY0dWdFpERTJNQ0E5SUdoaGMyZ3VjbWx3Wlcxa0xuSnBjR1Z0WkRFMk1EdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2guanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIEJsb2NrSGFzaCgpIHtcXG4gIHRoaXMucGVuZGluZyA9IG51bGw7XFxuICB0aGlzLnBlbmRpbmdUb3RhbCA9IDA7XFxuICB0aGlzLmJsb2NrU2l6ZSA9IHRoaXMuY29uc3RydWN0b3IuYmxvY2tTaXplO1xcbiAgdGhpcy5vdXRTaXplID0gdGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplO1xcbiAgdGhpcy5obWFjU3RyZW5ndGggPSB0aGlzLmNvbnN0cnVjdG9yLmhtYWNTdHJlbmd0aDtcXG4gIHRoaXMucGFkTGVuZ3RoID0gdGhpcy5jb25zdHJ1Y3Rvci5wYWRMZW5ndGggLyA4O1xcbiAgdGhpcy5lbmRpYW4gPSAnYmlnJztcXG5cXG4gIHRoaXMuX2RlbHRhOCA9IHRoaXMuYmxvY2tTaXplIC8gODtcXG4gIHRoaXMuX2RlbHRhMzIgPSB0aGlzLmJsb2NrU2l6ZSAvIDMyO1xcbn1cXG5leHBvcnRzLkJsb2NrSGFzaCA9IEJsb2NrSGFzaDtcXG5cXG5CbG9ja0hhc2gucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShtc2csIGVuYykge1xcbiAgLy8gQ29udmVydCBtZXNzYWdlIHRvIGFycmF5LCBwYWQgaXQsIGFuZCBqb2luIGludG8gMzJiaXQgYmxvY2tzXFxuICBtc2cgPSB1dGlscy50b0FycmF5KG1zZywgZW5jKTtcXG4gIGlmICghdGhpcy5wZW5kaW5nKVxcbiAgICB0aGlzLnBlbmRpbmcgPSBtc2c7XFxuICBlbHNlXFxuICAgIHRoaXMucGVuZGluZyA9IHRoaXMucGVuZGluZy5jb25jYXQobXNnKTtcXG4gIHRoaXMucGVuZGluZ1RvdGFsICs9IG1zZy5sZW5ndGg7XFxuXFxuICAvLyBFbm91Z2ggZGF0YSwgdHJ5IHVwZGF0aW5nXFxuICBpZiAodGhpcy5wZW5kaW5nLmxlbmd0aCA+PSB0aGlzLl9kZWx0YTgpIHtcXG4gICAgbXNnID0gdGhpcy5wZW5kaW5nO1xcblxcbiAgICAvLyBQcm9jZXNzIHBlbmRpbmcgZGF0YSBpbiBibG9ja3NcXG4gICAgdmFyIHIgPSBtc2cubGVuZ3RoICUgdGhpcy5fZGVsdGE4O1xcbiAgICB0aGlzLnBlbmRpbmcgPSBtc2cuc2xpY2UobXNnLmxlbmd0aCAtIHIsIG1zZy5sZW5ndGgpO1xcbiAgICBpZiAodGhpcy5wZW5kaW5nLmxlbmd0aCA9PT0gMClcXG4gICAgICB0aGlzLnBlbmRpbmcgPSBudWxsO1xcblxcbiAgICBtc2cgPSB1dGlscy5qb2luMzIobXNnLCAwLCBtc2cubGVuZ3RoIC0gciwgdGhpcy5lbmRpYW4pO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkgKz0gdGhpcy5fZGVsdGEzMilcXG4gICAgICB0aGlzLl91cGRhdGUobXNnLCBpLCBpICsgdGhpcy5fZGVsdGEzMik7XFxuICB9XFxuXFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbkJsb2NrSGFzaC5wcm90b3R5cGUuZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgdGhpcy51cGRhdGUodGhpcy5fcGFkKCkpO1xcbiAgYXNzZXJ0KHRoaXMucGVuZGluZyA9PT0gbnVsbCk7XFxuXFxuICByZXR1cm4gdGhpcy5fZGlnZXN0KGVuYyk7XFxufTtcXG5cXG5CbG9ja0hhc2gucHJvdG90eXBlLl9wYWQgPSBmdW5jdGlvbiBwYWQoKSB7XFxuICB2YXIgbGVuID0gdGhpcy5wZW5kaW5nVG90YWw7XFxuICB2YXIgYnl0ZXMgPSB0aGlzLl9kZWx0YTg7XFxuICB2YXIgayA9IGJ5dGVzIC0gKChsZW4gKyB0aGlzLnBhZExlbmd0aCkgJSBieXRlcyk7XFxuICB2YXIgcmVzID0gbmV3IEFycmF5KGsgKyB0aGlzLnBhZExlbmd0aCk7XFxuICByZXNbMF0gPSAweDgwO1xcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBrOyBpKyspXFxuICAgIHJlc1tpXSA9IDA7XFxuXFxuICAvLyBBcHBlbmQgbGVuZ3RoXFxuICBsZW4gPDw9IDM7XFxuICBpZiAodGhpcy5lbmRpYW4gPT09ICdiaWcnKSB7XFxuICAgIGZvciAodmFyIHQgPSA4OyB0IDwgdGhpcy5wYWRMZW5ndGg7IHQrKylcXG4gICAgICByZXNbaSsrXSA9IDA7XFxuXFxuICAgIHJlc1tpKytdID0gMDtcXG4gICAgcmVzW2krK10gPSAwO1xcbiAgICByZXNbaSsrXSA9IDA7XFxuICAgIHJlc1tpKytdID0gMDtcXG4gICAgcmVzW2krK10gPSAobGVuID4+PiAyNCkgJiAweGZmO1xcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDE2KSAmIDB4ZmY7XFxuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gOCkgJiAweGZmO1xcbiAgICByZXNbaSsrXSA9IGxlbiAmIDB4ZmY7XFxuICB9IGVsc2Uge1xcbiAgICByZXNbaSsrXSA9IGxlbiAmIDB4ZmY7XFxuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gOCkgJiAweGZmO1xcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDE2KSAmIDB4ZmY7XFxuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gMjQpICYgMHhmZjtcXG4gICAgcmVzW2krK10gPSAwO1xcbiAgICByZXNbaSsrXSA9IDA7XFxuICAgIHJlc1tpKytdID0gMDtcXG4gICAgcmVzW2krK10gPSAwO1xcblxcbiAgICBmb3IgKHQgPSA4OyB0IDwgdGhpcy5wYWRMZW5ndGg7IHQrKylcXG4gICAgICByZXNbaSsrXSA9IDA7XFxuICB9XFxuXFxuICByZXR1cm4gcmVzO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MMk52YlcxdmJpNXFjejg1TkRrNUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4NVJFRkJVenRCUVVNM1FpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDT3p0QlFVVXhRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1QwRkJUenRCUVVONFFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNiMEpCUVc5Q08wRkJRM1pET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hsUVVGbExHOUNRVUZ2UWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzVxY3k5c2FXSXZhR0Z6YUM5amIyMXRiMjR1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJoYzNObGNuUWdQU0J5WlhGMWFYSmxLQ2R0YVc1cGJXRnNhWE4wYVdNdFlYTnpaWEowSnlrN1hHNWNibVoxYm1OMGFXOXVJRUpzYjJOclNHRnphQ2dwSUh0Y2JpQWdkR2hwY3k1d1pXNWthVzVuSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTV3Wlc1a2FXNW5WRzkwWVd3Z1BTQXdPMXh1SUNCMGFHbHpMbUpzYjJOclUybDZaU0E5SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0l1WW14dlkydFRhWHBsTzF4dUlDQjBhR2x6TG05MWRGTnBlbVVnUFNCMGFHbHpMbU52Ym5OMGNuVmpkRzl5TG05MWRGTnBlbVU3WEc0Z0lIUm9hWE11YUcxaFkxTjBjbVZ1WjNSb0lEMGdkR2hwY3k1amIyNXpkSEoxWTNSdmNpNW9iV0ZqVTNSeVpXNW5kR2c3WEc0Z0lIUm9hWE11Y0dGa1RHVnVaM1JvSUQwZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2k1d1lXUk1aVzVuZEdnZ0x5QTRPMXh1SUNCMGFHbHpMbVZ1WkdsaGJpQTlJQ2RpYVdjbk8xeHVYRzRnSUhSb2FYTXVYMlJsYkhSaE9DQTlJSFJvYVhNdVlteHZZMnRUYVhwbElDOGdPRHRjYmlBZ2RHaHBjeTVmWkdWc2RHRXpNaUE5SUhSb2FYTXVZbXh2WTJ0VGFYcGxJQzhnTXpJN1hHNTlYRzVsZUhCdmNuUnpMa0pzYjJOclNHRnphQ0E5SUVKc2IyTnJTR0Z6YUR0Y2JseHVRbXh2WTJ0SVlYTm9MbkJ5YjNSdmRIbHdaUzUxY0dSaGRHVWdQU0JtZFc1amRHbHZiaUIxY0dSaGRHVW9iWE5uTENCbGJtTXBJSHRjYmlBZ0x5OGdRMjl1ZG1WeWRDQnRaWE56WVdkbElIUnZJR0Z5Y21GNUxDQndZV1FnYVhRc0lHRnVaQ0JxYjJsdUlHbHVkRzhnTXpKaWFYUWdZbXh2WTJ0elhHNGdJRzF6WnlBOUlIVjBhV3h6TG5SdlFYSnlZWGtvYlhObkxDQmxibU1wTzF4dUlDQnBaaUFvSVhSb2FYTXVjR1Z1WkdsdVp5bGNiaUFnSUNCMGFHbHpMbkJsYm1ScGJtY2dQU0J0YzJjN1hHNGdJR1ZzYzJWY2JpQWdJQ0IwYUdsekxuQmxibVJwYm1jZ1BTQjBhR2x6TG5CbGJtUnBibWN1WTI5dVkyRjBLRzF6WnlrN1hHNGdJSFJvYVhNdWNHVnVaR2x1WjFSdmRHRnNJQ3M5SUcxelp5NXNaVzVuZEdnN1hHNWNiaUFnTHk4Z1JXNXZkV2RvSUdSaGRHRXNJSFJ5ZVNCMWNHUmhkR2x1WjF4dUlDQnBaaUFvZEdocGN5NXdaVzVrYVc1bkxteGxibWQwYUNBK1BTQjBhR2x6TGw5a1pXeDBZVGdwSUh0Y2JpQWdJQ0J0YzJjZ1BTQjBhR2x6TG5CbGJtUnBibWM3WEc1Y2JpQWdJQ0F2THlCUWNtOWpaWE56SUhCbGJtUnBibWNnWkdGMFlTQnBiaUJpYkc5amEzTmNiaUFnSUNCMllYSWdjaUE5SUcxelp5NXNaVzVuZEdnZ0pTQjBhR2x6TGw5a1pXeDBZVGc3WEc0Z0lDQWdkR2hwY3k1d1pXNWthVzVuSUQwZ2JYTm5Mbk5zYVdObEtHMXpaeTVzWlc1bmRHZ2dMU0J5TENCdGMyY3ViR1Z1WjNSb0tUdGNiaUFnSUNCcFppQW9kR2hwY3k1d1pXNWthVzVuTG14bGJtZDBhQ0E5UFQwZ01DbGNiaUFnSUNBZ0lIUm9hWE11Y0dWdVpHbHVaeUE5SUc1MWJHdzdYRzVjYmlBZ0lDQnRjMmNnUFNCMWRHbHNjeTVxYjJsdU16SW9iWE5uTENBd0xDQnRjMmN1YkdWdVozUm9JQzBnY2l3Z2RHaHBjeTVsYm1ScFlXNHBPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diWE5uTG14bGJtZDBhRHNnYVNBclBTQjBhR2x6TGw5a1pXeDBZVE15S1Z4dUlDQWdJQ0FnZEdocGN5NWZkWEJrWVhSbEtHMXpaeXdnYVN3Z2FTQXJJSFJvYVhNdVgyUmxiSFJoTXpJcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVDYkc5amEwaGhjMmd1Y0hKdmRHOTBlWEJsTG1ScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUdScFoyVnpkQ2hsYm1NcElIdGNiaUFnZEdocGN5NTFjR1JoZEdVb2RHaHBjeTVmY0dGa0tDa3BPMXh1SUNCaGMzTmxjblFvZEdocGN5NXdaVzVrYVc1bklEMDlQU0J1ZFd4c0tUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN5NWZaR2xuWlhOMEtHVnVZeWs3WEc1OU8xeHVYRzVDYkc5amEwaGhjMmd1Y0hKdmRHOTBlWEJsTGw5d1lXUWdQU0JtZFc1amRHbHZiaUJ3WVdRb0tTQjdYRzRnSUhaaGNpQnNaVzRnUFNCMGFHbHpMbkJsYm1ScGJtZFViM1JoYkR0Y2JpQWdkbUZ5SUdKNWRHVnpJRDBnZEdocGN5NWZaR1ZzZEdFNE8xeHVJQ0IyWVhJZ2F5QTlJR0o1ZEdWeklDMGdLQ2hzWlc0Z0t5QjBhR2x6TG5CaFpFeGxibWQwYUNrZ0pTQmllWFJsY3lrN1hHNGdJSFpoY2lCeVpYTWdQU0J1WlhjZ1FYSnlZWGtvYXlBcklIUm9hWE11Y0dGa1RHVnVaM1JvS1R0Y2JpQWdjbVZ6V3pCZElEMGdNSGc0TUR0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURFN0lHa2dQQ0JyT3lCcEt5c3BYRzRnSUNBZ2NtVnpXMmxkSUQwZ01EdGNibHh1SUNBdkx5QkJjSEJsYm1RZ2JHVnVaM1JvWEc0Z0lHeGxiaUE4UEQwZ016dGNiaUFnYVdZZ0tIUm9hWE11Wlc1a2FXRnVJRDA5UFNBblltbG5KeWtnZTF4dUlDQWdJR1p2Y2lBb2RtRnlJSFFnUFNBNE95QjBJRHdnZEdocGN5NXdZV1JNWlc1bmRHZzdJSFFyS3lsY2JpQWdJQ0FnSUhKbGMxdHBLeXRkSUQwZ01EdGNibHh1SUNBZ0lISmxjMXRwS3l0ZElEMGdNRHRjYmlBZ0lDQnlaWE5iYVNzclhTQTlJREE3WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0F3TzF4dUlDQWdJSEpsYzF0cEt5dGRJRDBnTUR0Y2JpQWdJQ0J5WlhOYmFTc3JYU0E5SUNoc1pXNGdQajQrSURJMEtTQW1JREI0Wm1ZN1hHNGdJQ0FnY21Welcya3JLMTBnUFNBb2JHVnVJRDQrUGlBeE5pa2dKaUF3ZUdabU8xeHVJQ0FnSUhKbGMxdHBLeXRkSUQwZ0tHeGxiaUErUGo0Z09Da2dKaUF3ZUdabU8xeHVJQ0FnSUhKbGMxdHBLeXRkSUQwZ2JHVnVJQ1lnTUhobVpqdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWE5iYVNzclhTQTlJR3hsYmlBbUlEQjRabVk3WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0FvYkdWdUlENCtQaUE0S1NBbUlEQjRabVk3WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0FvYkdWdUlENCtQaUF4TmlrZ0ppQXdlR1ptTzF4dUlDQWdJSEpsYzF0cEt5dGRJRDBnS0d4bGJpQStQajRnTWpRcElDWWdNSGhtWmp0Y2JpQWdJQ0J5WlhOYmFTc3JYU0E5SURBN1hHNGdJQ0FnY21Welcya3JLMTBnUFNBd08xeHVJQ0FnSUhKbGMxdHBLeXRkSUQwZ01EdGNiaUFnSUNCeVpYTmJhU3NyWFNBOUlEQTdYRzVjYmlBZ0lDQm1iM0lnS0hRZ1BTQTRPeUIwSUR3Z2RHaHBjeTV3WVdSTVpXNW5kR2c3SUhRckt5bGNiaUFnSUNBZ0lISmxjMXRwS3l0ZElEMGdNRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL2NvbW1vbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9obWFjLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL2htYWMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIEhtYWMoaGFzaCwga2V5LCBlbmMpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBIbWFjKSlcXG4gICAgcmV0dXJuIG5ldyBIbWFjKGhhc2gsIGtleSwgZW5jKTtcXG4gIHRoaXMuSGFzaCA9IGhhc2g7XFxuICB0aGlzLmJsb2NrU2l6ZSA9IGhhc2guYmxvY2tTaXplIC8gODtcXG4gIHRoaXMub3V0U2l6ZSA9IGhhc2gub3V0U2l6ZSAvIDg7XFxuICB0aGlzLmlubmVyID0gbnVsbDtcXG4gIHRoaXMub3V0ZXIgPSBudWxsO1xcblxcbiAgdGhpcy5faW5pdCh1dGlscy50b0FycmF5KGtleSwgZW5jKSk7XFxufVxcbm1vZHVsZS5leHBvcnRzID0gSG1hYztcXG5cXG5IbWFjLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQoa2V5KSB7XFxuICAvLyBTaG9ydGVuIGtleSwgaWYgbmVlZGVkXFxuICBpZiAoa2V5Lmxlbmd0aCA+IHRoaXMuYmxvY2tTaXplKVxcbiAgICBrZXkgPSBuZXcgdGhpcy5IYXNoKCkudXBkYXRlKGtleSkuZGlnZXN0KCk7XFxuICBhc3NlcnQoa2V5Lmxlbmd0aCA8PSB0aGlzLmJsb2NrU2l6ZSk7XFxuXFxuICAvLyBBZGQgcGFkZGluZyB0byBrZXlcXG4gIGZvciAodmFyIGkgPSBrZXkubGVuZ3RoOyBpIDwgdGhpcy5ibG9ja1NpemU7IGkrKylcXG4gICAga2V5LnB1c2goMCk7XFxuXFxuICBmb3IgKGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKVxcbiAgICBrZXlbaV0gXj0gMHgzNjtcXG4gIHRoaXMuaW5uZXIgPSBuZXcgdGhpcy5IYXNoKCkudXBkYXRlKGtleSk7XFxuXFxuICAvLyAweDM2IF4gMHg1YyA9IDB4NmFcXG4gIGZvciAoaSA9IDA7IGkgPCBrZXkubGVuZ3RoOyBpKyspXFxuICAgIGtleVtpXSBePSAweDZhO1xcbiAgdGhpcy5vdXRlciA9IG5ldyB0aGlzLkhhc2goKS51cGRhdGUoa2V5KTtcXG59O1xcblxcbkhtYWMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShtc2csIGVuYykge1xcbiAgdGhpcy5pbm5lci51cGRhdGUobXNnLCBlbmMpO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5IbWFjLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XFxuICB0aGlzLm91dGVyLnVwZGF0ZSh0aGlzLmlubmVyLmRpZ2VzdCgpKTtcXG4gIHJldHVybiB0aGlzLm91dGVyLmRpZ2VzdChlbmMpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MMmh0WVdNdWFuTS9NRGswWXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zZVVSQlFWTTdRVUZETjBJc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRlFVRnhRanM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEQkNRVUV3UWl4dlFrRkJiMEk3UVVGRE9VTTdPMEZCUlVFc1lVRkJZU3huUWtGQlowSTdRVUZETjBJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdGQlFXRXNaMEpCUVdkQ08wRkJRemRDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wyaHRZV011YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJoYzNObGNuUWdQU0J5WlhGMWFYSmxLQ2R0YVc1cGJXRnNhWE4wYVdNdFlYTnpaWEowSnlrN1hHNWNibVoxYm1OMGFXOXVJRWh0WVdNb2FHRnphQ3dnYTJWNUxDQmxibU1wSUh0Y2JpQWdhV1lnS0NFb2RHaHBjeUJwYm5OMFlXNWpaVzltSUVodFlXTXBLVnh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dTRzFoWXlob1lYTm9MQ0JyWlhrc0lHVnVZeWs3WEc0Z0lIUm9hWE11U0dGemFDQTlJR2hoYzJnN1hHNGdJSFJvYVhNdVlteHZZMnRUYVhwbElEMGdhR0Z6YUM1aWJHOWphMU5wZW1VZ0x5QTRPMXh1SUNCMGFHbHpMbTkxZEZOcGVtVWdQU0JvWVhOb0xtOTFkRk5wZW1VZ0x5QTRPMXh1SUNCMGFHbHpMbWx1Ym1WeUlEMGdiblZzYkR0Y2JpQWdkR2hwY3k1dmRYUmxjaUE5SUc1MWJHdzdYRzVjYmlBZ2RHaHBjeTVmYVc1cGRDaDFkR2xzY3k1MGIwRnljbUY1S0d0bGVTd2daVzVqS1NrN1hHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRWh0WVdNN1hHNWNia2h0WVdNdWNISnZkRzkwZVhCbExsOXBibWwwSUQwZ1puVnVZM1JwYjI0Z2FXNXBkQ2hyWlhrcElIdGNiaUFnTHk4Z1UyaHZjblJsYmlCclpYa3NJR2xtSUc1bFpXUmxaRnh1SUNCcFppQW9hMlY1TG14bGJtZDBhQ0ErSUhSb2FYTXVZbXh2WTJ0VGFYcGxLVnh1SUNBZ0lHdGxlU0E5SUc1bGR5QjBhR2x6TGtoaGMyZ29LUzUxY0dSaGRHVW9hMlY1S1M1a2FXZGxjM1FvS1R0Y2JpQWdZWE56WlhKMEtHdGxlUzVzWlc1bmRHZ2dQRDBnZEdocGN5NWliRzlqYTFOcGVtVXBPMXh1WEc0Z0lDOHZJRUZrWkNCd1lXUmthVzVuSUhSdklHdGxlVnh1SUNCbWIzSWdLSFpoY2lCcElEMGdhMlY1TG14bGJtZDBhRHNnYVNBOElIUm9hWE11WW14dlkydFRhWHBsT3lCcEt5c3BYRzRnSUNBZ2EyVjVMbkIxYzJnb01DazdYRzVjYmlBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUd0bGVTNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnJaWGxiYVYwZ1hqMGdNSGd6Tmp0Y2JpQWdkR2hwY3k1cGJtNWxjaUE5SUc1bGR5QjBhR2x6TGtoaGMyZ29LUzUxY0dSaGRHVW9hMlY1S1R0Y2JseHVJQ0F2THlBd2VETTJJRjRnTUhnMVl5QTlJREI0Tm1GY2JpQWdabTl5SUNocElEMGdNRHNnYVNBOElHdGxlUzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0JyWlhsYmFWMGdYajBnTUhnMllUdGNiaUFnZEdocGN5NXZkWFJsY2lBOUlHNWxkeUIwYUdsekxraGhjMmdvS1M1MWNHUmhkR1VvYTJWNUtUdGNibjA3WEc1Y2JraHRZV011Y0hKdmRHOTBlWEJsTG5Wd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUhWd1pHRjBaU2h0YzJjc0lHVnVZeWtnZTF4dUlDQjBhR2x6TG1sdWJtVnlMblZ3WkdGMFpTaHRjMmNzSUdWdVl5azdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVNHMWhZeTV3Y205MGIzUjVjR1V1WkdsblpYTjBJRDBnWm5WdVkzUnBiMjRnWkdsblpYTjBLR1Z1WXlrZ2UxeHVJQ0IwYUdsekxtOTFkR1Z5TG5Wd1pHRjBaU2gwYUdsekxtbHVibVZ5TG1ScFoyVnpkQ2dwS1R0Y2JpQWdjbVYwZFhKdUlIUm9hWE11YjNWMFpYSXVaR2xuWlhOMEtHVnVZeWs3WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvaG1hYy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9yaXBlbWQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9yaXBlbWQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciBjb21tb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbW1vbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9jb21tb24uanNcXFwiKTtcXG5cXG52YXIgcm90bDMyID0gdXRpbHMucm90bDMyO1xcbnZhciBzdW0zMiA9IHV0aWxzLnN1bTMyO1xcbnZhciBzdW0zMl8zID0gdXRpbHMuc3VtMzJfMztcXG52YXIgc3VtMzJfNCA9IHV0aWxzLnN1bTMyXzQ7XFxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XFxuXFxuZnVuY3Rpb24gUklQRU1EMTYwKCkge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJJUEVNRDE2MCkpXFxuICAgIHJldHVybiBuZXcgUklQRU1EMTYwKCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG5cXG4gIHRoaXMuaCA9IFsgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSwgMHgxMDMyNTQ3NiwgMHhjM2QyZTFmMCBdO1xcbiAgdGhpcy5lbmRpYW4gPSAnbGl0dGxlJztcXG59XFxudXRpbHMuaW5oZXJpdHMoUklQRU1EMTYwLCBCbG9ja0hhc2gpO1xcbmV4cG9ydHMucmlwZW1kMTYwID0gUklQRU1EMTYwO1xcblxcblJJUEVNRDE2MC5ibG9ja1NpemUgPSA1MTI7XFxuUklQRU1EMTYwLm91dFNpemUgPSAxNjA7XFxuUklQRU1EMTYwLmhtYWNTdHJlbmd0aCA9IDE5MjtcXG5SSVBFTUQxNjAucGFkTGVuZ3RoID0gNjQ7XFxuXFxuUklQRU1EMTYwLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKG1zZywgc3RhcnQpIHtcXG4gIHZhciBBID0gdGhpcy5oWzBdO1xcbiAgdmFyIEIgPSB0aGlzLmhbMV07XFxuICB2YXIgQyA9IHRoaXMuaFsyXTtcXG4gIHZhciBEID0gdGhpcy5oWzNdO1xcbiAgdmFyIEUgPSB0aGlzLmhbNF07XFxuICB2YXIgQWggPSBBO1xcbiAgdmFyIEJoID0gQjtcXG4gIHZhciBDaCA9IEM7XFxuICB2YXIgRGggPSBEO1xcbiAgdmFyIEVoID0gRTtcXG4gIGZvciAodmFyIGogPSAwOyBqIDwgODA7IGorKykge1xcbiAgICB2YXIgVCA9IHN1bTMyKFxcbiAgICAgIHJvdGwzMihcXG4gICAgICAgIHN1bTMyXzQoQSwgZihqLCBCLCBDLCBEKSwgbXNnW3Jbal0gKyBzdGFydF0sIEsoaikpLFxcbiAgICAgICAgc1tqXSksXFxuICAgICAgRSk7XFxuICAgIEEgPSBFO1xcbiAgICBFID0gRDtcXG4gICAgRCA9IHJvdGwzMihDLCAxMCk7XFxuICAgIEMgPSBCO1xcbiAgICBCID0gVDtcXG4gICAgVCA9IHN1bTMyKFxcbiAgICAgIHJvdGwzMihcXG4gICAgICAgIHN1bTMyXzQoQWgsIGYoNzkgLSBqLCBCaCwgQ2gsIERoKSwgbXNnW3JoW2pdICsgc3RhcnRdLCBLaChqKSksXFxuICAgICAgICBzaFtqXSksXFxuICAgICAgRWgpO1xcbiAgICBBaCA9IEVoO1xcbiAgICBFaCA9IERoO1xcbiAgICBEaCA9IHJvdGwzMihDaCwgMTApO1xcbiAgICBDaCA9IEJoO1xcbiAgICBCaCA9IFQ7XFxuICB9XFxuICBUID0gc3VtMzJfMyh0aGlzLmhbMV0sIEMsIERoKTtcXG4gIHRoaXMuaFsxXSA9IHN1bTMyXzModGhpcy5oWzJdLCBELCBFaCk7XFxuICB0aGlzLmhbMl0gPSBzdW0zMl8zKHRoaXMuaFszXSwgRSwgQWgpO1xcbiAgdGhpcy5oWzNdID0gc3VtMzJfMyh0aGlzLmhbNF0sIEEsIEJoKTtcXG4gIHRoaXMuaFs0XSA9IHN1bTMyXzModGhpcy5oWzBdLCBCLCBDaCk7XFxuICB0aGlzLmhbMF0gPSBUO1xcbn07XFxuXFxuUklQRU1EMTYwLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXFxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaCwgJ2xpdHRsZScpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdXRpbHMuc3BsaXQzMih0aGlzLmgsICdsaXR0bGUnKTtcXG59O1xcblxcbmZ1bmN0aW9uIGYoaiwgeCwgeSwgeikge1xcbiAgaWYgKGogPD0gMTUpXFxuICAgIHJldHVybiB4IF4geSBeIHo7XFxuICBlbHNlIGlmIChqIDw9IDMxKVxcbiAgICByZXR1cm4gKHggJiB5KSB8ICgofngpICYgeik7XFxuICBlbHNlIGlmIChqIDw9IDQ3KVxcbiAgICByZXR1cm4gKHggfCAofnkpKSBeIHo7XFxuICBlbHNlIGlmIChqIDw9IDYzKVxcbiAgICByZXR1cm4gKHggJiB6KSB8ICh5ICYgKH56KSk7XFxuICBlbHNlXFxuICAgIHJldHVybiB4IF4gKHkgfCAofnopKTtcXG59XFxuXFxuZnVuY3Rpb24gSyhqKSB7XFxuICBpZiAoaiA8PSAxNSlcXG4gICAgcmV0dXJuIDB4MDAwMDAwMDA7XFxuICBlbHNlIGlmIChqIDw9IDMxKVxcbiAgICByZXR1cm4gMHg1YTgyNzk5OTtcXG4gIGVsc2UgaWYgKGogPD0gNDcpXFxuICAgIHJldHVybiAweDZlZDllYmExO1xcbiAgZWxzZSBpZiAoaiA8PSA2MylcXG4gICAgcmV0dXJuIDB4OGYxYmJjZGM7XFxuICBlbHNlXFxuICAgIHJldHVybiAweGE5NTNmZDRlO1xcbn1cXG5cXG5mdW5jdGlvbiBLaChqKSB7XFxuICBpZiAoaiA8PSAxNSlcXG4gICAgcmV0dXJuIDB4NTBhMjhiZTY7XFxuICBlbHNlIGlmIChqIDw9IDMxKVxcbiAgICByZXR1cm4gMHg1YzRkZDEyNDtcXG4gIGVsc2UgaWYgKGogPD0gNDcpXFxuICAgIHJldHVybiAweDZkNzAzZWYzO1xcbiAgZWxzZSBpZiAoaiA8PSA2MylcXG4gICAgcmV0dXJuIDB4N2E2ZDc2ZTk7XFxuICBlbHNlXFxuICAgIHJldHVybiAweDAwMDAwMDAwO1xcbn1cXG5cXG52YXIgciA9IFtcXG4gIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsXFxuICA3LCA0LCAxMywgMSwgMTAsIDYsIDE1LCAzLCAxMiwgMCwgOSwgNSwgMiwgMTQsIDExLCA4LFxcbiAgMywgMTAsIDE0LCA0LCA5LCAxNSwgOCwgMSwgMiwgNywgMCwgNiwgMTMsIDExLCA1LCAxMixcXG4gIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsXFxuICA0LCAwLCA1LCA5LCA3LCAxMiwgMiwgMTAsIDE0LCAxLCAzLCA4LCAxMSwgNiwgMTUsIDEzXFxuXTtcXG5cXG52YXIgcmggPSBbXFxuICA1LCAxNCwgNywgMCwgOSwgMiwgMTEsIDQsIDEzLCA2LCAxNSwgOCwgMSwgMTAsIDMsIDEyLFxcbiAgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMixcXG4gIDE1LCA1LCAxLCAzLCA3LCAxNCwgNiwgOSwgMTEsIDgsIDEyLCAyLCAxMCwgMCwgNCwgMTMsXFxuICA4LCA2LCA0LCAxLCAzLCAxMSwgMTUsIDAsIDUsIDEyLCAyLCAxMywgOSwgNywgMTAsIDE0LFxcbiAgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMVxcbl07XFxuXFxudmFyIHMgPSBbXFxuICAxMSwgMTQsIDE1LCAxMiwgNSwgOCwgNywgOSwgMTEsIDEzLCAxNCwgMTUsIDYsIDcsIDksIDgsXFxuICA3LCA2LCA4LCAxMywgMTEsIDksIDcsIDE1LCA3LCAxMiwgMTUsIDksIDExLCA3LCAxMywgMTIsXFxuICAxMSwgMTMsIDYsIDcsIDE0LCA5LCAxMywgMTUsIDE0LCA4LCAxMywgNiwgNSwgMTIsIDcsIDUsXFxuICAxMSwgMTIsIDE0LCAxNSwgMTQsIDE1LCA5LCA4LCA5LCAxNCwgNSwgNiwgOCwgNiwgNSwgMTIsXFxuICA5LCAxNSwgNSwgMTEsIDYsIDgsIDEzLCAxMiwgNSwgMTIsIDEzLCAxNCwgMTEsIDgsIDUsIDZcXG5dO1xcblxcbnZhciBzaCA9IFtcXG4gIDgsIDksIDksIDExLCAxMywgMTUsIDE1LCA1LCA3LCA3LCA4LCAxMSwgMTQsIDE0LCAxMiwgNixcXG4gIDksIDEzLCAxNSwgNywgMTIsIDgsIDksIDExLCA3LCA3LCAxMiwgNywgNiwgMTUsIDEzLCAxMSxcXG4gIDksIDcsIDE1LCAxMSwgOCwgNiwgNiwgMTQsIDEyLCAxMywgNSwgMTQsIDEzLCAxMywgNywgNSxcXG4gIDE1LCA1LCA4LCAxMSwgMTQsIDE0LCA2LCAxNCwgNiwgOSwgMTIsIDksIDEyLCA1LCAxNSwgOCxcXG4gIDgsIDUsIDEyLCA5LCAxMiwgNSwgMTQsIDYsIDgsIDEzLCA2LCA1LCAxNSwgMTMsIDExLCAxMVxcbl07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM0pwY0dWdFpDNXFjejh4Tm1NMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4NVJFRkJVenRCUVVNM1FpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc01rUkJRVlU3TzBGQlJTOUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM0pwY0dWdFpDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTkxZEdsc2N5Y3BPMXh1ZG1GeUlHTnZiVzF2YmlBOUlISmxjWFZwY21Vb0p5NHZZMjl0Ylc5dUp5azdYRzVjYm5aaGNpQnliM1JzTXpJZ1BTQjFkR2xzY3k1eWIzUnNNekk3WEc1MllYSWdjM1Z0TXpJZ1BTQjFkR2xzY3k1emRXMHpNanRjYm5aaGNpQnpkVzB6TWw4eklEMGdkWFJwYkhNdWMzVnRNekpmTXp0Y2JuWmhjaUJ6ZFcwek1sODBJRDBnZFhScGJITXVjM1Z0TXpKZk5EdGNiblpoY2lCQ2JHOWphMGhoYzJnZ1BTQmpiMjF0YjI0dVFteHZZMnRJWVhOb08xeHVYRzVtZFc1amRHbHZiaUJTU1ZCRlRVUXhOakFvS1NCN1hHNGdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCU1NWQkZUVVF4TmpBcEtWeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VrbFFSVTFFTVRZd0tDazdYRzVjYmlBZ1FteHZZMnRJWVhOb0xtTmhiR3dvZEdocGN5azdYRzVjYmlBZ2RHaHBjeTVvSUQwZ1d5QXdlRFkzTkRVeU16QXhMQ0F3ZUdWbVkyUmhZamc1TENBd2VEazRZbUZrWTJabExDQXdlREV3TXpJMU5EYzJMQ0F3ZUdNelpESmxNV1l3SUYwN1hHNGdJSFJvYVhNdVpXNWthV0Z1SUQwZ0oyeHBkSFJzWlNjN1hHNTlYRzUxZEdsc2N5NXBibWhsY21sMGN5aFNTVkJGVFVReE5qQXNJRUpzYjJOclNHRnphQ2s3WEc1bGVIQnZjblJ6TG5KcGNHVnRaREUyTUNBOUlGSkpVRVZOUkRFMk1EdGNibHh1VWtsUVJVMUVNVFl3TG1Kc2IyTnJVMmw2WlNBOUlEVXhNanRjYmxKSlVFVk5SREUyTUM1dmRYUlRhWHBsSUQwZ01UWXdPMXh1VWtsUVJVMUVNVFl3TG1odFlXTlRkSEpsYm1kMGFDQTlJREU1TWp0Y2JsSkpVRVZOUkRFMk1DNXdZV1JNWlc1bmRHZ2dQU0EyTkR0Y2JseHVVa2xRUlUxRU1UWXdMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnZFhCa1lYUmxLRzF6Wnl3Z2MzUmhjblFwSUh0Y2JpQWdkbUZ5SUVFZ1BTQjBhR2x6TG1oYk1GMDdYRzRnSUhaaGNpQkNJRDBnZEdocGN5NW9XekZkTzF4dUlDQjJZWElnUXlBOUlIUm9hWE11YUZzeVhUdGNiaUFnZG1GeUlFUWdQU0IwYUdsekxtaGJNMTA3WEc0Z0lIWmhjaUJGSUQwZ2RHaHBjeTVvV3pSZE8xeHVJQ0IyWVhJZ1FXZ2dQU0JCTzF4dUlDQjJZWElnUW1nZ1BTQkNPMXh1SUNCMllYSWdRMmdnUFNCRE8xeHVJQ0IyWVhJZ1JHZ2dQU0JFTzF4dUlDQjJZWElnUldnZ1BTQkZPMXh1SUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElEZ3dPeUJxS3lzcElIdGNiaUFnSUNCMllYSWdWQ0E5SUhOMWJUTXlLRnh1SUNBZ0lDQWdjbTkwYkRNeUtGeHVJQ0FnSUNBZ0lDQnpkVzB6TWw4MEtFRXNJR1lvYWl3Z1Fpd2dReXdnUkNrc0lHMXpaMXR5VzJwZElDc2djM1JoY25SZExDQkxLR29wS1N4Y2JpQWdJQ0FnSUNBZ2MxdHFYU2tzWEc0Z0lDQWdJQ0JGS1R0Y2JpQWdJQ0JCSUQwZ1JUdGNiaUFnSUNCRklEMGdSRHRjYmlBZ0lDQkVJRDBnY205MGJETXlLRU1zSURFd0tUdGNiaUFnSUNCRElEMGdRanRjYmlBZ0lDQkNJRDBnVkR0Y2JpQWdJQ0JVSUQwZ2MzVnRNeklvWEc0Z0lDQWdJQ0J5YjNSc016SW9YRzRnSUNBZ0lDQWdJSE4xYlRNeVh6UW9RV2dzSUdZb056a2dMU0JxTENCQ2FDd2dRMmdzSUVSb0tTd2diWE5uVzNKb1cycGRJQ3NnYzNSaGNuUmRMQ0JMYUNocUtTa3NYRzRnSUNBZ0lDQWdJSE5vVzJwZEtTeGNiaUFnSUNBZ0lFVm9LVHRjYmlBZ0lDQkJhQ0E5SUVWb08xeHVJQ0FnSUVWb0lEMGdSR2c3WEc0Z0lDQWdSR2dnUFNCeWIzUnNNeklvUTJnc0lERXdLVHRjYmlBZ0lDQkRhQ0E5SUVKb08xeHVJQ0FnSUVKb0lEMGdWRHRjYmlBZ2ZWeHVJQ0JVSUQwZ2MzVnRNekpmTXloMGFHbHpMbWhiTVYwc0lFTXNJRVJvS1R0Y2JpQWdkR2hwY3k1b1d6RmRJRDBnYzNWdE16SmZNeWgwYUdsekxtaGJNbDBzSUVRc0lFVm9LVHRjYmlBZ2RHaHBjeTVvV3pKZElEMGdjM1Z0TXpKZk15aDBhR2x6TG1oYk0xMHNJRVVzSUVGb0tUdGNiaUFnZEdocGN5NW9Xek5kSUQwZ2MzVnRNekpmTXloMGFHbHpMbWhiTkYwc0lFRXNJRUpvS1R0Y2JpQWdkR2hwY3k1b1d6UmRJRDBnYzNWdE16SmZNeWgwYUdsekxtaGJNRjBzSUVJc0lFTm9LVHRjYmlBZ2RHaHBjeTVvV3pCZElEMGdWRHRjYm4wN1hHNWNibEpKVUVWTlJERTJNQzV3Y205MGIzUjVjR1V1WDJScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUdScFoyVnpkQ2hsYm1NcElIdGNiaUFnYVdZZ0tHVnVZeUE5UFQwZ0oyaGxlQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5SdlNHVjRNeklvZEdocGN5NW9MQ0FuYkdsMGRHeGxKeWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2RYUnBiSE11YzNCc2FYUXpNaWgwYUdsekxtZ3NJQ2RzYVhSMGJHVW5LVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJR1lvYWl3Z2VDd2dlU3dnZWlrZ2UxeHVJQ0JwWmlBb2FpQThQU0F4TlNsY2JpQWdJQ0J5WlhSMWNtNGdlQ0JlSUhrZ1hpQjZPMXh1SUNCbGJITmxJR2xtSUNocUlEdzlJRE14S1Z4dUlDQWdJSEpsZEhWeWJpQW9lQ0FtSUhrcElId2dLQ2grZUNrZ0ppQjZLVHRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0EwTnlsY2JpQWdJQ0J5WlhSMWNtNGdLSGdnZkNBb2Zua3BLU0JlSUhvN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ05qTXBYRzRnSUNBZ2NtVjBkWEp1SUNoNElDWWdlaWtnZkNBb2VTQW1JQ2grZWlrcE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJSGdnWGlBb2VTQjhJQ2grZWlrcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCTEtHb3BJSHRjYmlBZ2FXWWdLR29nUEQwZ01UVXBYRzRnSUNBZ2NtVjBkWEp1SURCNE1EQXdNREF3TURBN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ016RXBYRzRnSUNBZ2NtVjBkWEp1SURCNE5XRTRNamM1T1RrN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ05EY3BYRzRnSUNBZ2NtVjBkWEp1SURCNE5tVmtPV1ZpWVRFN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ05qTXBYRzRnSUNBZ2NtVjBkWEp1SURCNE9HWXhZbUpqWkdNN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdNSGhoT1RVelptUTBaVHRjYm4xY2JseHVablZ1WTNScGIyNGdTMmdvYWlrZ2UxeHVJQ0JwWmlBb2FpQThQU0F4TlNsY2JpQWdJQ0J5WlhSMWNtNGdNSGcxTUdFeU9HSmxOanRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0F6TVNsY2JpQWdJQ0J5WlhSMWNtNGdNSGcxWXpSa1pERXlORHRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0EwTnlsY2JpQWdJQ0J5WlhSMWNtNGdNSGcyWkRjd00yVm1NenRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0EyTXlsY2JpQWdJQ0J5WlhSMWNtNGdNSGczWVRaa056WmxPVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlBd2VEQXdNREF3TURBd08xeHVmVnh1WEc1MllYSWdjaUE5SUZ0Y2JpQWdNQ3dnTVN3Z01pd2dNeXdnTkN3Z05Td2dOaXdnTnl3Z09Dd2dPU3dnTVRBc0lERXhMQ0F4TWl3Z01UTXNJREUwTENBeE5TeGNiaUFnTnl3Z05Dd2dNVE1zSURFc0lERXdMQ0EyTENBeE5Td2dNeXdnTVRJc0lEQXNJRGtzSURVc0lESXNJREUwTENBeE1Td2dPQ3hjYmlBZ015d2dNVEFzSURFMExDQTBMQ0E1TENBeE5Td2dPQ3dnTVN3Z01pd2dOeXdnTUN3Z05pd2dNVE1zSURFeExDQTFMQ0F4TWl4Y2JpQWdNU3dnT1N3Z01URXNJREV3TENBd0xDQTRMQ0F4TWl3Z05Dd2dNVE1zSURNc0lEY3NJREUxTENBeE5Dd2dOU3dnTml3Z01peGNiaUFnTkN3Z01Dd2dOU3dnT1N3Z055d2dNVElzSURJc0lERXdMQ0F4TkN3Z01Td2dNeXdnT0N3Z01URXNJRFlzSURFMUxDQXhNMXh1WFR0Y2JseHVkbUZ5SUhKb0lEMGdXMXh1SUNBMUxDQXhOQ3dnTnl3Z01Dd2dPU3dnTWl3Z01URXNJRFFzSURFekxDQTJMQ0F4TlN3Z09Dd2dNU3dnTVRBc0lETXNJREV5TEZ4dUlDQTJMQ0F4TVN3Z015d2dOeXdnTUN3Z01UTXNJRFVzSURFd0xDQXhOQ3dnTVRVc0lEZ3NJREV5TENBMExDQTVMQ0F4TENBeUxGeHVJQ0F4TlN3Z05Td2dNU3dnTXl3Z055d2dNVFFzSURZc0lEa3NJREV4TENBNExDQXhNaXdnTWl3Z01UQXNJREFzSURRc0lERXpMRnh1SUNBNExDQTJMQ0EwTENBeExDQXpMQ0F4TVN3Z01UVXNJREFzSURVc0lERXlMQ0F5TENBeE15d2dPU3dnTnl3Z01UQXNJREUwTEZ4dUlDQXhNaXdnTVRVc0lERXdMQ0EwTENBeExDQTFMQ0E0TENBM0xDQTJMQ0F5TENBeE15d2dNVFFzSURBc0lETXNJRGtzSURFeFhHNWRPMXh1WEc1MllYSWdjeUE5SUZ0Y2JpQWdNVEVzSURFMExDQXhOU3dnTVRJc0lEVXNJRGdzSURjc0lEa3NJREV4TENBeE15d2dNVFFzSURFMUxDQTJMQ0EzTENBNUxDQTRMRnh1SUNBM0xDQTJMQ0E0TENBeE15d2dNVEVzSURrc0lEY3NJREUxTENBM0xDQXhNaXdnTVRVc0lEa3NJREV4TENBM0xDQXhNeXdnTVRJc1hHNGdJREV4TENBeE15d2dOaXdnTnl3Z01UUXNJRGtzSURFekxDQXhOU3dnTVRRc0lEZ3NJREV6TENBMkxDQTFMQ0F4TWl3Z055d2dOU3hjYmlBZ01URXNJREV5TENBeE5Dd2dNVFVzSURFMExDQXhOU3dnT1N3Z09Dd2dPU3dnTVRRc0lEVXNJRFlzSURnc0lEWXNJRFVzSURFeUxGeHVJQ0E1TENBeE5Td2dOU3dnTVRFc0lEWXNJRGdzSURFekxDQXhNaXdnTlN3Z01USXNJREV6TENBeE5Dd2dNVEVzSURnc0lEVXNJRFpjYmwwN1hHNWNiblpoY2lCemFDQTlJRnRjYmlBZ09Dd2dPU3dnT1N3Z01URXNJREV6TENBeE5Td2dNVFVzSURVc0lEY3NJRGNzSURnc0lERXhMQ0F4TkN3Z01UUXNJREV5TENBMkxGeHVJQ0E1TENBeE15d2dNVFVzSURjc0lERXlMQ0E0TENBNUxDQXhNU3dnTnl3Z055d2dNVElzSURjc0lEWXNJREUxTENBeE15d2dNVEVzWEc0Z0lEa3NJRGNzSURFMUxDQXhNU3dnT0N3Z05pd2dOaXdnTVRRc0lERXlMQ0F4TXl3Z05Td2dNVFFzSURFekxDQXhNeXdnTnl3Z05TeGNiaUFnTVRVc0lEVXNJRGdzSURFeExDQXhOQ3dnTVRRc0lEWXNJREUwTENBMkxDQTVMQ0F4TWl3Z09Td2dNVElzSURVc0lERTFMQ0E0TEZ4dUlDQTRMQ0ExTENBeE1pd2dPU3dnTVRJc0lEVXNJREUwTENBMkxDQTRMQ0F4TXl3Z05pd2dOU3dnTVRVc0lERXpMQ0F4TVN3Z01URmNibDA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3JpcGVtZC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy5zaGExID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEvMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMS5qc1xcXCIpO1xcbmV4cG9ydHMuc2hhMjI0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEvMjI0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8yMjQuanNcXFwiKTtcXG5leHBvcnRzLnNoYTI1NiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhLzI1NiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMjU2LmpzXFxcIik7XFxuZXhwb3J0cy5zaGEzODQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoYS8zODQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzM4NC5qc1xcXCIpO1xcbmV4cG9ydHMuc2hhNTEyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEvNTEyICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wzTm9ZUzVxY3o5aE16VXpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMR1ZCUVdVc2JVSkJRVThzUTBGQlF5eDVSRUZCVXp0QlFVTm9ReXhwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXcyUkVGQlZ6dEJRVU53UXl4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl3MlJFRkJWenRCUVVOd1F5eHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5dzJSRUZCVnp0QlFVTndReXhwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXcyUkVGQlZ5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MbXB6TDJ4cFlpOW9ZWE5vTDNOb1lTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dVpYaHdiM0owY3k1emFHRXhJRDBnY21WeGRXbHlaU2duTGk5emFHRXZNU2NwTzF4dVpYaHdiM0owY3k1emFHRXlNalFnUFNCeVpYRjFhWEpsS0NjdUwzTm9ZUzh5TWpRbktUdGNibVY0Y0c5eWRITXVjMmhoTWpVMklEMGdjbVZ4ZFdseVpTZ25MaTl6YUdFdk1qVTJKeWs3WEc1bGVIQnZjblJ6TG5Ob1lUTTROQ0E5SUhKbGNYVnBjbVVvSnk0dmMyaGhMek00TkNjcE8xeHVaWGh3YjNKMGN5NXphR0UxTVRJZ1BTQnlaWEYxYVhKbEtDY3VMM05vWVM4MU1USW5LVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzEuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciBjb21tb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jb21tb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXFxcIik7XFxudmFyIHNoYUNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tbW9uICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS9jb21tb24uanNcXFwiKTtcXG5cXG52YXIgcm90bDMyID0gdXRpbHMucm90bDMyO1xcbnZhciBzdW0zMiA9IHV0aWxzLnN1bTMyO1xcbnZhciBzdW0zMl81ID0gdXRpbHMuc3VtMzJfNTtcXG52YXIgZnRfMSA9IHNoYUNvbW1vbi5mdF8xO1xcbnZhciBCbG9ja0hhc2ggPSBjb21tb24uQmxvY2tIYXNoO1xcblxcbnZhciBzaGExX0sgPSBbXFxuICAweDVBODI3OTk5LCAweDZFRDlFQkExLFxcbiAgMHg4RjFCQkNEQywgMHhDQTYyQzFENlxcbl07XFxuXFxuZnVuY3Rpb24gU0hBMSgpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTSEExKSlcXG4gICAgcmV0dXJuIG5ldyBTSEExKCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG4gIHRoaXMuaCA9IFtcXG4gICAgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSxcXG4gICAgMHgxMDMyNTQ3NiwgMHhjM2QyZTFmMCBdO1xcbiAgdGhpcy5XID0gbmV3IEFycmF5KDgwKTtcXG59XFxuXFxudXRpbHMuaW5oZXJpdHMoU0hBMSwgQmxvY2tIYXNoKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFNIQTE7XFxuXFxuU0hBMS5ibG9ja1NpemUgPSA1MTI7XFxuU0hBMS5vdXRTaXplID0gMTYwO1xcblNIQTEuaG1hY1N0cmVuZ3RoID0gODA7XFxuU0hBMS5wYWRMZW5ndGggPSA2NDtcXG5cXG5TSEExLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XFxuICB2YXIgVyA9IHRoaXMuVztcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKylcXG4gICAgV1tpXSA9IG1zZ1tzdGFydCArIGldO1xcblxcbiAgZm9yKDsgaSA8IFcubGVuZ3RoOyBpKyspXFxuICAgIFdbaV0gPSByb3RsMzIoV1tpIC0gM10gXiBXW2kgLSA4XSBeIFdbaSAtIDE0XSBeIFdbaSAtIDE2XSwgMSk7XFxuXFxuICB2YXIgYSA9IHRoaXMuaFswXTtcXG4gIHZhciBiID0gdGhpcy5oWzFdO1xcbiAgdmFyIGMgPSB0aGlzLmhbMl07XFxuICB2YXIgZCA9IHRoaXMuaFszXTtcXG4gIHZhciBlID0gdGhpcy5oWzRdO1xcblxcbiAgZm9yIChpID0gMDsgaSA8IFcubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHMgPSB+fihpIC8gMjApO1xcbiAgICB2YXIgdCA9IHN1bTMyXzUocm90bDMyKGEsIDUpLCBmdF8xKHMsIGIsIGMsIGQpLCBlLCBXW2ldLCBzaGExX0tbc10pO1xcbiAgICBlID0gZDtcXG4gICAgZCA9IGM7XFxuICAgIGMgPSByb3RsMzIoYiwgMzApO1xcbiAgICBiID0gYTtcXG4gICAgYSA9IHQ7XFxuICB9XFxuXFxuICB0aGlzLmhbMF0gPSBzdW0zMih0aGlzLmhbMF0sIGEpO1xcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcXG4gIHRoaXMuaFsyXSA9IHN1bTMyKHRoaXMuaFsyXSwgYyk7XFxuICB0aGlzLmhbM10gPSBzdW0zMih0aGlzLmhbM10sIGQpO1xcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcXG59O1xcblxcblNIQTEucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XFxuICBpZiAoZW5jID09PSAnaGV4JylcXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLCAnYmlnJyk7XFxuICBlbHNlXFxuICAgIHJldHVybiB1dGlscy5zcGxpdDMyKHRoaXMuaCwgJ2JpZycpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4eExtcHpQemswWXpjaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1dVRkJXU3h0UWtGQlR5eERRVUZETERCRVFVRlZPMEZCUXpsQ0xHRkJRV0VzYlVKQlFVOHNRMEZCUXl3MFJFRkJWenRCUVVOb1F5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5d3JSRUZCVlRzN1FVRkZiRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzVVVGQlVUdEJRVU42UWpzN1FVRkZRU3hQUVVGUExHTkJRV003UVVGRGNrSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4aFFVRmhMR05CUVdNN1FVRkRNMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd1YW5NdmJHbGlMMmhoYzJndmMyaGhMekV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dUwzVjBhV3h6SnlrN1hHNTJZWElnWTI5dGJXOXVJRDBnY21WeGRXbHlaU2duTGk0dlkyOXRiVzl1SnlrN1hHNTJZWElnYzJoaFEyOXRiVzl1SUQwZ2NtVnhkV2x5WlNnbkxpOWpiMjF0YjI0bktUdGNibHh1ZG1GeUlISnZkR3d6TWlBOUlIVjBhV3h6TG5KdmRHd3pNanRjYm5aaGNpQnpkVzB6TWlBOUlIVjBhV3h6TG5OMWJUTXlPMXh1ZG1GeUlITjFiVE15WHpVZ1BTQjFkR2xzY3k1emRXMHpNbDgxTzF4dWRtRnlJR1owWHpFZ1BTQnphR0ZEYjIxdGIyNHVablJmTVR0Y2JuWmhjaUJDYkc5amEwaGhjMmdnUFNCamIyMXRiMjR1UW14dlkydElZWE5vTzF4dVhHNTJZWElnYzJoaE1WOUxJRDBnVzF4dUlDQXdlRFZCT0RJM09UazVMQ0F3ZURaRlJEbEZRa0V4TEZ4dUlDQXdlRGhHTVVKQ1EwUkRMQ0F3ZUVOQk5qSkRNVVEyWEc1ZE8xeHVYRzVtZFc1amRHbHZiaUJUU0VFeEtDa2dlMXh1SUNCcFppQW9JU2gwYUdseklHbHVjM1JoYm1ObGIyWWdVMGhCTVNrcFhHNGdJQ0FnY21WMGRYSnVJRzVsZHlCVFNFRXhLQ2s3WEc1Y2JpQWdRbXh2WTJ0SVlYTm9MbU5oYkd3b2RHaHBjeWs3WEc0Z0lIUm9hWE11YUNBOUlGdGNiaUFnSUNBd2VEWTNORFV5TXpBeExDQXdlR1ZtWTJSaFlqZzVMQ0F3ZURrNFltRmtZMlpsTEZ4dUlDQWdJREI0TVRBek1qVTBOellzSURCNFl6TmtNbVV4WmpBZ1hUdGNiaUFnZEdocGN5NVhJRDBnYm1WM0lFRnljbUY1S0Rnd0tUdGNibjFjYmx4dWRYUnBiSE11YVc1b1pYSnBkSE1vVTBoQk1Td2dRbXh2WTJ0SVlYTm9LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVTBoQk1UdGNibHh1VTBoQk1TNWliRzlqYTFOcGVtVWdQU0ExTVRJN1hHNVRTRUV4TG05MWRGTnBlbVVnUFNBeE5qQTdYRzVUU0VFeExtaHRZV05UZEhKbGJtZDBhQ0E5SURnd08xeHVVMGhCTVM1d1lXUk1aVzVuZEdnZ1BTQTJORHRjYmx4dVUwaEJNUzV3Y205MGIzUjVjR1V1WDNWd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUY5MWNHUmhkR1VvYlhObkxDQnpkR0Z5ZENrZ2UxeHVJQ0IyWVhJZ1Z5QTlJSFJvYVhNdVZ6dGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElERTJPeUJwS3lzcFhHNGdJQ0FnVjF0cFhTQTlJRzF6WjF0emRHRnlkQ0FySUdsZE8xeHVYRzRnSUdadmNpZzdJR2tnUENCWExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lGZGJhVjBnUFNCeWIzUnNNeklvVjF0cElDMGdNMTBnWGlCWFcya2dMU0E0WFNCZUlGZGJhU0F0SURFMFhTQmVJRmRiYVNBdElERTJYU3dnTVNrN1hHNWNiaUFnZG1GeUlHRWdQU0IwYUdsekxtaGJNRjA3WEc0Z0lIWmhjaUJpSUQwZ2RHaHBjeTVvV3pGZE8xeHVJQ0IyWVhJZ1l5QTlJSFJvYVhNdWFGc3lYVHRjYmlBZ2RtRnlJR1FnUFNCMGFHbHpMbWhiTTEwN1hHNGdJSFpoY2lCbElEMGdkR2hwY3k1b1d6UmRPMXh1WEc0Z0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCWExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUhNZ1BTQitmaWhwSUM4Z01qQXBPMXh1SUNBZ0lIWmhjaUIwSUQwZ2MzVnRNekpmTlNoeWIzUnNNeklvWVN3Z05Ta3NJR1owWHpFb2N5d2dZaXdnWXl3Z1pDa3NJR1VzSUZkYmFWMHNJSE5vWVRGZlMxdHpYU2s3WEc0Z0lDQWdaU0E5SUdRN1hHNGdJQ0FnWkNBOUlHTTdYRzRnSUNBZ1l5QTlJSEp2ZEd3ek1paGlMQ0F6TUNrN1hHNGdJQ0FnWWlBOUlHRTdYRzRnSUNBZ1lTQTlJSFE3WEc0Z0lIMWNibHh1SUNCMGFHbHpMbWhiTUYwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTUYwc0lHRXBPMXh1SUNCMGFHbHpMbWhiTVYwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTVYwc0lHSXBPMXh1SUNCMGFHbHpMbWhiTWwwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTWwwc0lHTXBPMXh1SUNCMGFHbHpMbWhiTTEwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTTEwc0lHUXBPMXh1SUNCMGFHbHpMbWhiTkYwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTkYwc0lHVXBPMXh1ZlR0Y2JseHVVMGhCTVM1d2NtOTBiM1I1Y0dVdVgyUnBaMlZ6ZENBOUlHWjFibU4wYVc5dUlHUnBaMlZ6ZENobGJtTXBJSHRjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcFhHNGdJQ0FnY21WMGRYSnVJSFYwYVd4ekxuUnZTR1Y0TXpJb2RHaHBjeTVvTENBblltbG5KeWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2RYUnBiSE11YzNCc2FYUXpNaWgwYUdsekxtZ3NJQ2RpYVdjbktUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8xLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8yMjQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzIyNC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG52YXIgU0hBMjU2ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8yNTYgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzI1Ni5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIFNIQTIyNCgpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTSEEyMjQpKVxcbiAgICByZXR1cm4gbmV3IFNIQTIyNCgpO1xcblxcbiAgU0hBMjU2LmNhbGwodGhpcyk7XFxuICB0aGlzLmggPSBbXFxuICAgIDB4YzEwNTllZDgsIDB4MzY3Y2Q1MDcsIDB4MzA3MGRkMTcsIDB4ZjcwZTU5MzksXFxuICAgIDB4ZmZjMDBiMzEsIDB4Njg1ODE1MTEsIDB4NjRmOThmYTcsIDB4YmVmYTRmYTQgXTtcXG59XFxudXRpbHMuaW5oZXJpdHMoU0hBMjI0LCBTSEEyNTYpO1xcbm1vZHVsZS5leHBvcnRzID0gU0hBMjI0O1xcblxcblNIQTIyNC5ibG9ja1NpemUgPSA1MTI7XFxuU0hBMjI0Lm91dFNpemUgPSAyMjQ7XFxuU0hBMjI0LmhtYWNTdHJlbmd0aCA9IDE5MjtcXG5TSEEyMjQucGFkTGVuZ3RoID0gNjQ7XFxuXFxuU0hBMjI0LnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgLy8gSnVzdCB0cnVuY2F0ZSBvdXRwdXRcXG4gIGlmIChlbmMgPT09ICdoZXgnKVxcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmguc2xpY2UoMCwgNyksICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsIDcpLCAnYmlnJyk7XFxufTtcXG5cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wzTm9ZUzh5TWpRdWFuTS9OV1JsTXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zTUVSQlFWVTdRVUZET1VJc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlBPenRCUVVVMVFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhR0Z6YUM1cWN5OXNhV0l2YUdGemFDOXphR0V2TWpJMExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMaTkxZEdsc2N5Y3BPMXh1ZG1GeUlGTklRVEkxTmlBOUlISmxjWFZwY21Vb0p5NHZNalUySnlrN1hHNWNibVoxYm1OMGFXOXVJRk5JUVRJeU5DZ3BJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRk5JUVRJeU5Da3BYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlRTRUV5TWpRb0tUdGNibHh1SUNCVFNFRXlOVFl1WTJGc2JDaDBhR2x6S1R0Y2JpQWdkR2hwY3k1b0lEMGdXMXh1SUNBZ0lEQjRZekV3TlRsbFpEZ3NJREI0TXpZM1kyUTFNRGNzSURCNE16QTNNR1JrTVRjc0lEQjRaamN3WlRVNU16a3NYRzRnSUNBZ01IaG1abU13TUdJek1Td2dNSGcyT0RVNE1UVXhNU3dnTUhnMk5HWTVPR1poTnl3Z01IaGlaV1poTkdaaE5DQmRPMXh1ZlZ4dWRYUnBiSE11YVc1b1pYSnBkSE1vVTBoQk1qSTBMQ0JUU0VFeU5UWXBPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JUU0VFeU1qUTdYRzVjYmxOSVFUSXlOQzVpYkc5amExTnBlbVVnUFNBMU1USTdYRzVUU0VFeU1qUXViM1YwVTJsNlpTQTlJREl5TkR0Y2JsTklRVEl5TkM1b2JXRmpVM1J5Wlc1bmRHZ2dQU0F4T1RJN1hHNVRTRUV5TWpRdWNHRmtUR1Z1WjNSb0lEMGdOalE3WEc1Y2JsTklRVEl5TkM1d2NtOTBiM1I1Y0dVdVgyUnBaMlZ6ZENBOUlHWjFibU4wYVc5dUlHUnBaMlZ6ZENobGJtTXBJSHRjYmlBZ0x5OGdTblZ6ZENCMGNuVnVZMkYwWlNCdmRYUndkWFJjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcFhHNGdJQ0FnY21WMGRYSnVJSFYwYVd4ekxuUnZTR1Y0TXpJb2RHaHBjeTVvTG5Oc2FXTmxLREFzSURjcExDQW5ZbWxuSnlrN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdkWFJwYkhNdWMzQnNhWFF6TWloMGFHbHpMbWd1YzJ4cFkyVW9NQ3dnTnlrc0lDZGlhV2NuS1R0Y2JuMDdYRzVjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8yMjQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzI1Ni5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMjU2LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciBjb21tb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jb21tb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXFxcIik7XFxudmFyIHNoYUNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tbW9uICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS9jb21tb24uanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbnZhciBzdW0zMiA9IHV0aWxzLnN1bTMyO1xcbnZhciBzdW0zMl80ID0gdXRpbHMuc3VtMzJfNDtcXG52YXIgc3VtMzJfNSA9IHV0aWxzLnN1bTMyXzU7XFxudmFyIGNoMzIgPSBzaGFDb21tb24uY2gzMjtcXG52YXIgbWFqMzIgPSBzaGFDb21tb24ubWFqMzI7XFxudmFyIHMwXzI1NiA9IHNoYUNvbW1vbi5zMF8yNTY7XFxudmFyIHMxXzI1NiA9IHNoYUNvbW1vbi5zMV8yNTY7XFxudmFyIGcwXzI1NiA9IHNoYUNvbW1vbi5nMF8yNTY7XFxudmFyIGcxXzI1NiA9IHNoYUNvbW1vbi5nMV8yNTY7XFxuXFxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XFxuXFxudmFyIHNoYTI1Nl9LID0gW1xcbiAgMHg0MjhhMmY5OCwgMHg3MTM3NDQ5MSwgMHhiNWMwZmJjZiwgMHhlOWI1ZGJhNSxcXG4gIDB4Mzk1NmMyNWIsIDB4NTlmMTExZjEsIDB4OTIzZjgyYTQsIDB4YWIxYzVlZDUsXFxuICAweGQ4MDdhYTk4LCAweDEyODM1YjAxLCAweDI0MzE4NWJlLCAweDU1MGM3ZGMzLFxcbiAgMHg3MmJlNWQ3NCwgMHg4MGRlYjFmZSwgMHg5YmRjMDZhNywgMHhjMTliZjE3NCxcXG4gIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsXFxuICAweDJkZTkyYzZmLCAweDRhNzQ4NGFhLCAweDVjYjBhOWRjLCAweDc2Zjk4OGRhLFxcbiAgMHg5ODNlNTE1MiwgMHhhODMxYzY2ZCwgMHhiMDAzMjdjOCwgMHhiZjU5N2ZjNyxcXG4gIDB4YzZlMDBiZjMsIDB4ZDVhNzkxNDcsIDB4MDZjYTYzNTEsIDB4MTQyOTI5NjcsXFxuICAweDI3YjcwYTg1LCAweDJlMWIyMTM4LCAweDRkMmM2ZGZjLCAweDUzMzgwZDEzLFxcbiAgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSxcXG4gIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsXFxuICAweGQxOTJlODE5LCAweGQ2OTkwNjI0LCAweGY0MGUzNTg1LCAweDEwNmFhMDcwLFxcbiAgMHgxOWE0YzExNiwgMHgxZTM3NmMwOCwgMHgyNzQ4Nzc0YywgMHgzNGIwYmNiNSxcXG4gIDB4MzkxYzBjYjMsIDB4NGVkOGFhNGEsIDB4NWI5Y2NhNGYsIDB4NjgyZTZmZjMsXFxuICAweDc0OGY4MmVlLCAweDc4YTU2MzZmLCAweDg0Yzg3ODE0LCAweDhjYzcwMjA4LFxcbiAgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMlxcbl07XFxuXFxuZnVuY3Rpb24gU0hBMjU2KCkge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTI1NikpXFxuICAgIHJldHVybiBuZXcgU0hBMjU2KCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG4gIHRoaXMuaCA9IFtcXG4gICAgMHg2YTA5ZTY2NywgMHhiYjY3YWU4NSwgMHgzYzZlZjM3MiwgMHhhNTRmZjUzYSxcXG4gICAgMHg1MTBlNTI3ZiwgMHg5YjA1Njg4YywgMHgxZjgzZDlhYiwgMHg1YmUwY2QxOVxcbiAgXTtcXG4gIHRoaXMuayA9IHNoYTI1Nl9LO1xcbiAgdGhpcy5XID0gbmV3IEFycmF5KDY0KTtcXG59XFxudXRpbHMuaW5oZXJpdHMoU0hBMjU2LCBCbG9ja0hhc2gpO1xcbm1vZHVsZS5leHBvcnRzID0gU0hBMjU2O1xcblxcblNIQTI1Ni5ibG9ja1NpemUgPSA1MTI7XFxuU0hBMjU2Lm91dFNpemUgPSAyNTY7XFxuU0hBMjU2LmhtYWNTdHJlbmd0aCA9IDE5MjtcXG5TSEEyNTYucGFkTGVuZ3RoID0gNjQ7XFxuXFxuU0hBMjU2LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XFxuICB2YXIgVyA9IHRoaXMuVztcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKylcXG4gICAgV1tpXSA9IG1zZ1tzdGFydCArIGldO1xcbiAgZm9yICg7IGkgPCBXLmxlbmd0aDsgaSsrKVxcbiAgICBXW2ldID0gc3VtMzJfNChnMV8yNTYoV1tpIC0gMl0pLCBXW2kgLSA3XSwgZzBfMjU2KFdbaSAtIDE1XSksIFdbaSAtIDE2XSk7XFxuXFxuICB2YXIgYSA9IHRoaXMuaFswXTtcXG4gIHZhciBiID0gdGhpcy5oWzFdO1xcbiAgdmFyIGMgPSB0aGlzLmhbMl07XFxuICB2YXIgZCA9IHRoaXMuaFszXTtcXG4gIHZhciBlID0gdGhpcy5oWzRdO1xcbiAgdmFyIGYgPSB0aGlzLmhbNV07XFxuICB2YXIgZyA9IHRoaXMuaFs2XTtcXG4gIHZhciBoID0gdGhpcy5oWzddO1xcblxcbiAgYXNzZXJ0KHRoaXMuay5sZW5ndGggPT09IFcubGVuZ3RoKTtcXG4gIGZvciAoaSA9IDA7IGkgPCBXLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciBUMSA9IHN1bTMyXzUoaCwgczFfMjU2KGUpLCBjaDMyKGUsIGYsIGcpLCB0aGlzLmtbaV0sIFdbaV0pO1xcbiAgICB2YXIgVDIgPSBzdW0zMihzMF8yNTYoYSksIG1hajMyKGEsIGIsIGMpKTtcXG4gICAgaCA9IGc7XFxuICAgIGcgPSBmO1xcbiAgICBmID0gZTtcXG4gICAgZSA9IHN1bTMyKGQsIFQxKTtcXG4gICAgZCA9IGM7XFxuICAgIGMgPSBiO1xcbiAgICBiID0gYTtcXG4gICAgYSA9IHN1bTMyKFQxLCBUMik7XFxuICB9XFxuXFxuICB0aGlzLmhbMF0gPSBzdW0zMih0aGlzLmhbMF0sIGEpO1xcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcXG4gIHRoaXMuaFsyXSA9IHN1bTMyKHRoaXMuaFsyXSwgYyk7XFxuICB0aGlzLmhbM10gPSBzdW0zMih0aGlzLmhbM10sIGQpO1xcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcXG4gIHRoaXMuaFs1XSA9IHN1bTMyKHRoaXMuaFs1XSwgZik7XFxuICB0aGlzLmhbNl0gPSBzdW0zMih0aGlzLmhbNl0sIGcpO1xcbiAgdGhpcy5oWzddID0gc3VtMzIodGhpcy5oWzddLCBoKTtcXG59O1xcblxcblNIQTI1Ni5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcXG4gIGlmIChlbmMgPT09ICdoZXgnKVxcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnYmlnJyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wzTm9ZUzh5TlRZdWFuTS9PRFV5TnlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zTUVSQlFWVTdRVUZET1VJc1lVRkJZU3h0UWtGQlR5eERRVUZETERSRVFVRlhPMEZCUTJoRExHZENRVUZuUWl4dFFrRkJUeXhEUVVGRExDdEVRVUZWTzBGQlEyeERMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSVUZCY1VJN08wRkJSVEZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzYVVKQlFXbENMRkZCUVZFN1FVRkRla0k3UVVGRFFTeFJRVUZSTEdOQlFXTTdRVUZEZEVJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdGQlFXRXNZMEZCWXp0QlFVTXpRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhR0Z6YUM1cWN5OXNhV0l2YUdGemFDOXphR0V2TWpVMkxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMaTkxZEdsc2N5Y3BPMXh1ZG1GeUlHTnZiVzF2YmlBOUlISmxjWFZwY21Vb0p5NHVMMk52YlcxdmJpY3BPMXh1ZG1GeUlITm9ZVU52YlcxdmJpQTlJSEpsY1hWcGNtVW9KeTR2WTI5dGJXOXVKeWs3WEc1MllYSWdZWE56WlhKMElEMGdjbVZ4ZFdseVpTZ25iV2x1YVcxaGJHbHpkR2xqTFdGemMyVnlkQ2NwTzF4dVhHNTJZWElnYzNWdE16SWdQU0IxZEdsc2N5NXpkVzB6TWp0Y2JuWmhjaUJ6ZFcwek1sODBJRDBnZFhScGJITXVjM1Z0TXpKZk5EdGNiblpoY2lCemRXMHpNbDgxSUQwZ2RYUnBiSE11YzNWdE16SmZOVHRjYm5aaGNpQmphRE15SUQwZ2MyaGhRMjl0Ylc5dUxtTm9Nekk3WEc1MllYSWdiV0ZxTXpJZ1BTQnphR0ZEYjIxdGIyNHViV0ZxTXpJN1hHNTJZWElnY3pCZk1qVTJJRDBnYzJoaFEyOXRiVzl1TG5Nd1h6STFOanRjYm5aaGNpQnpNVjh5TlRZZ1BTQnphR0ZEYjIxdGIyNHVjekZmTWpVMk8xeHVkbUZ5SUdjd1h6STFOaUE5SUhOb1lVTnZiVzF2Ymk1bk1GOHlOVFk3WEc1MllYSWdaekZmTWpVMklEMGdjMmhoUTI5dGJXOXVMbWN4WHpJMU5qdGNibHh1ZG1GeUlFSnNiMk5yU0dGemFDQTlJR052YlcxdmJpNUNiRzlqYTBoaGMyZzdYRzVjYm5aaGNpQnphR0V5TlRaZlN5QTlJRnRjYmlBZ01IZzBNamhoTW1ZNU9Dd2dNSGczTVRNM05EUTVNU3dnTUhoaU5XTXdabUpqWml3Z01IaGxPV0kxWkdKaE5TeGNiaUFnTUhnek9UVTJZekkxWWl3Z01IZzFPV1l4TVRGbU1Td2dNSGc1TWpObU9ESmhOQ3dnTUhoaFlqRmpOV1ZrTlN4Y2JpQWdNSGhrT0RBM1lXRTVPQ3dnTUhneE1qZ3pOV0l3TVN3Z01IZ3lORE14T0RWaVpTd2dNSGcxTlRCak4yUmpNeXhjYmlBZ01IZzNNbUpsTldRM05Dd2dNSGc0TUdSbFlqRm1aU3dnTUhnNVltUmpNRFpoTnl3Z01IaGpNVGxpWmpFM05DeGNiaUFnTUhobE5EbGlOamxqTVN3Z01IaGxabUpsTkRjNE5pd2dNSGd3Wm1NeE9XUmpOaXdnTUhneU5EQmpZVEZqWXl4Y2JpQWdNSGd5WkdVNU1tTTJaaXdnTUhnMFlUYzBPRFJoWVN3Z01IZzFZMkl3WVRsa1l5d2dNSGczTm1ZNU9EaGtZU3hjYmlBZ01IZzVPRE5sTlRFMU1pd2dNSGhoT0RNeFl6WTJaQ3dnTUhoaU1EQXpNamRqT0N3Z01IaGlaalU1TjJaak55eGNiaUFnTUhoak5tVXdNR0ptTXl3Z01IaGtOV0UzT1RFME55d2dNSGd3Tm1OaE5qTTFNU3dnTUhneE5ESTVNamsyTnl4Y2JpQWdNSGd5TjJJM01HRTROU3dnTUhneVpURmlNakV6T0N3Z01IZzBaREpqTm1SbVl5d2dNSGcxTXpNNE1HUXhNeXhjYmlBZ01IZzJOVEJoTnpNMU5Dd2dNSGczTmpaaE1HRmlZaXdnTUhnNE1XTXlZemt5WlN3Z01IZzVNamN5TW1NNE5TeGNiaUFnTUhoaE1tSm1aVGhoTVN3Z01IaGhPREZoTmpZMFlpd2dNSGhqTWpSaU9HSTNNQ3dnTUhoak56WmpOVEZoTXl4Y2JpQWdNSGhrTVRreVpUZ3hPU3dnTUhoa05qazVNRFl5TkN3Z01IaG1OREJsTXpVNE5Td2dNSGd4TURaaFlUQTNNQ3hjYmlBZ01IZ3hPV0UwWXpFeE5pd2dNSGd4WlRNM05tTXdPQ3dnTUhneU56UTROemMwWXl3Z01IZ3pOR0l3WW1OaU5TeGNiaUFnTUhnek9URmpNR05pTXl3Z01IZzBaV1E0WVdFMFlTd2dNSGcxWWpsalkyRTBaaXdnTUhnMk9ESmxObVptTXl4Y2JpQWdNSGczTkRobU9ESmxaU3dnTUhnM09HRTFOak0yWml3Z01IZzROR000TnpneE5Dd2dNSGc0WTJNM01ESXdPQ3hjYmlBZ01IZzVNR0psWm1abVlTd2dNSGhoTkRVd05tTmxZaXdnTUhoaVpXWTVZVE5tTnl3Z01IaGpOamN4TnpobU1seHVYVHRjYmx4dVpuVnVZM1JwYjI0Z1UwaEJNalUyS0NrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1UwaEJNalUyS1NsY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZOSVFUSTFOaWdwTzF4dVhHNGdJRUpzYjJOclNHRnphQzVqWVd4c0tIUm9hWE1wTzF4dUlDQjBhR2x6TG1nZ1BTQmJYRzRnSUNBZ01IZzJZVEE1WlRZMk55d2dNSGhpWWpZM1lXVTROU3dnTUhnell6Wmxaak0zTWl3Z01IaGhOVFJtWmpVellTeGNiaUFnSUNBd2VEVXhNR1UxTWpkbUxDQXdlRGxpTURVMk9EaGpMQ0F3ZURGbU9ETmtPV0ZpTENBd2VEVmlaVEJqWkRFNVhHNGdJRjA3WEc0Z0lIUm9hWE11YXlBOUlITm9ZVEkxTmw5TE8xeHVJQ0IwYUdsekxsY2dQU0J1WlhjZ1FYSnlZWGtvTmpRcE8xeHVmVnh1ZFhScGJITXVhVzVvWlhKcGRITW9VMGhCTWpVMkxDQkNiRzlqYTBoaGMyZ3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JUU0VFeU5UWTdYRzVjYmxOSVFUSTFOaTVpYkc5amExTnBlbVVnUFNBMU1USTdYRzVUU0VFeU5UWXViM1YwVTJsNlpTQTlJREkxTmp0Y2JsTklRVEkxTmk1b2JXRmpVM1J5Wlc1bmRHZ2dQU0F4T1RJN1hHNVRTRUV5TlRZdWNHRmtUR1Z1WjNSb0lEMGdOalE3WEc1Y2JsTklRVEkxTmk1d2NtOTBiM1I1Y0dVdVgzVndaR0YwWlNBOUlHWjFibU4wYVc5dUlGOTFjR1JoZEdVb2JYTm5MQ0J6ZEdGeWRDa2dlMXh1SUNCMllYSWdWeUE5SUhSb2FYTXVWenRjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJREUyT3lCcEt5c3BYRzRnSUNBZ1YxdHBYU0E5SUcxeloxdHpkR0Z5ZENBcklHbGRPMXh1SUNCbWIzSWdLRHNnYVNBOElGY3ViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdWMXRwWFNBOUlITjFiVE15WHpRb1p6RmZNalUyS0ZkYmFTQXRJREpkS1N3Z1YxdHBJQzBnTjEwc0lHY3dYekkxTmloWFcya2dMU0F4TlYwcExDQlhXMmtnTFNBeE5sMHBPMXh1WEc0Z0lIWmhjaUJoSUQwZ2RHaHBjeTVvV3pCZE8xeHVJQ0IyWVhJZ1lpQTlJSFJvYVhNdWFGc3hYVHRjYmlBZ2RtRnlJR01nUFNCMGFHbHpMbWhiTWwwN1hHNGdJSFpoY2lCa0lEMGdkR2hwY3k1b1d6TmRPMXh1SUNCMllYSWdaU0E5SUhSb2FYTXVhRnMwWFR0Y2JpQWdkbUZ5SUdZZ1BTQjBhR2x6TG1oYk5WMDdYRzRnSUhaaGNpQm5JRDBnZEdocGN5NW9XelpkTzF4dUlDQjJZWElnYUNBOUlIUm9hWE11YUZzM1hUdGNibHh1SUNCaGMzTmxjblFvZEdocGN5NXJMbXhsYm1kMGFDQTlQVDBnVnk1c1pXNW5kR2dwTzF4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z1Z5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJSFpoY2lCVU1TQTlJSE4xYlRNeVh6VW9hQ3dnY3pGZk1qVTJLR1VwTENCamFETXlLR1VzSUdZc0lHY3BMQ0IwYUdsekxtdGJhVjBzSUZkYmFWMHBPMXh1SUNBZ0lIWmhjaUJVTWlBOUlITjFiVE15S0hNd1h6STFOaWhoS1N3Z2JXRnFNeklvWVN3Z1lpd2dZeWtwTzF4dUlDQWdJR2dnUFNCbk8xeHVJQ0FnSUdjZ1BTQm1PMXh1SUNBZ0lHWWdQU0JsTzF4dUlDQWdJR1VnUFNCemRXMHpNaWhrTENCVU1TazdYRzRnSUNBZ1pDQTlJR003WEc0Z0lDQWdZeUE5SUdJN1hHNGdJQ0FnWWlBOUlHRTdYRzRnSUNBZ1lTQTlJSE4xYlRNeUtGUXhMQ0JVTWlrN1hHNGdJSDFjYmx4dUlDQjBhR2x6TG1oYk1GMGdQU0J6ZFcwek1paDBhR2x6TG1oYk1GMHNJR0VwTzF4dUlDQjBhR2x6TG1oYk1WMGdQU0J6ZFcwek1paDBhR2x6TG1oYk1WMHNJR0lwTzF4dUlDQjBhR2x6TG1oYk1sMGdQU0J6ZFcwek1paDBhR2x6TG1oYk1sMHNJR01wTzF4dUlDQjBhR2x6TG1oYk0xMGdQU0J6ZFcwek1paDBhR2x6TG1oYk0xMHNJR1FwTzF4dUlDQjBhR2x6TG1oYk5GMGdQU0J6ZFcwek1paDBhR2x6TG1oYk5GMHNJR1VwTzF4dUlDQjBhR2x6TG1oYk5WMGdQU0J6ZFcwek1paDBhR2x6TG1oYk5WMHNJR1lwTzF4dUlDQjBhR2x6TG1oYk5sMGdQU0J6ZFcwek1paDBhR2x6TG1oYk5sMHNJR2NwTzF4dUlDQjBhR2x6TG1oYk4xMGdQU0J6ZFcwek1paDBhR2x6TG1oYk4xMHNJR2dwTzF4dWZUdGNibHh1VTBoQk1qVTJMbkJ5YjNSdmRIbHdaUzVmWkdsblpYTjBJRDBnWm5WdVkzUnBiMjRnWkdsblpYTjBLR1Z1WXlrZ2UxeHVJQ0JwWmlBb1pXNWpJRDA5UFNBbmFHVjRKeWxjYmlBZ0lDQnlaWFIxY200Z2RYUnBiSE11ZEc5SVpYZ3pNaWgwYUdsekxtZ3NJQ2RpYVdjbktUdGNiaUFnWld4elpWeHVJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NXpjR3hwZERNeUtIUm9hWE11YUN3Z0oySnBaeWNwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzI1Ni5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMzg0LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8zODQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3V0aWxzLmpzXFxcIik7XFxuXFxudmFyIFNIQTUxMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vNTEyICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBTSEEzODQoKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU0hBMzg0KSlcXG4gICAgcmV0dXJuIG5ldyBTSEEzODQoKTtcXG5cXG4gIFNIQTUxMi5jYWxsKHRoaXMpO1xcbiAgdGhpcy5oID0gW1xcbiAgICAweGNiYmI5ZDVkLCAweGMxMDU5ZWQ4LFxcbiAgICAweDYyOWEyOTJhLCAweDM2N2NkNTA3LFxcbiAgICAweDkxNTkwMTVhLCAweDMwNzBkZDE3LFxcbiAgICAweDE1MmZlY2Q4LCAweGY3MGU1OTM5LFxcbiAgICAweDY3MzMyNjY3LCAweGZmYzAwYjMxLFxcbiAgICAweDhlYjQ0YTg3LCAweDY4NTgxNTExLFxcbiAgICAweGRiMGMyZTBkLCAweDY0Zjk4ZmE3LFxcbiAgICAweDQ3YjU0ODFkLCAweGJlZmE0ZmE0IF07XFxufVxcbnV0aWxzLmluaGVyaXRzKFNIQTM4NCwgU0hBNTEyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFNIQTM4NDtcXG5cXG5TSEEzODQuYmxvY2tTaXplID0gMTAyNDtcXG5TSEEzODQub3V0U2l6ZSA9IDM4NDtcXG5TSEEzODQuaG1hY1N0cmVuZ3RoID0gMTkyO1xcblNIQTM4NC5wYWRMZW5ndGggPSAxMjg7XFxuXFxuU0hBMzg0LnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXFxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaC5zbGljZSgwLCAxMiksICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsIDEyKSwgJ2JpZycpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4ek9EUXVhbk0vWkRoaFlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc01FUkJRVlU3TzBGQlJUbENMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVHpzN1FVRkZOVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4ek9EUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR1TDNWMGFXeHpKeWs3WEc1Y2JuWmhjaUJUU0VFMU1USWdQU0J5WlhGMWFYSmxLQ2N1THpVeE1pY3BPMXh1WEc1bWRXNWpkR2x2YmlCVFNFRXpPRFFvS1NCN1hHNGdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCVFNFRXpPRFFwS1Z4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVTBoQk16ZzBLQ2s3WEc1Y2JpQWdVMGhCTlRFeUxtTmhiR3dvZEdocGN5azdYRzRnSUhSb2FYTXVhQ0E5SUZ0Y2JpQWdJQ0F3ZUdOaVltSTVaRFZrTENBd2VHTXhNRFU1WldRNExGeHVJQ0FnSURCNE5qSTVZVEk1TW1Fc0lEQjRNelkzWTJRMU1EY3NYRzRnSUNBZ01IZzVNVFU1TURFMVlTd2dNSGd6TURjd1pHUXhOeXhjYmlBZ0lDQXdlREUxTW1abFkyUTRMQ0F3ZUdZM01HVTFPVE01TEZ4dUlDQWdJREI0Tmpjek16STJOamNzSURCNFptWmpNREJpTXpFc1hHNGdJQ0FnTUhnNFpXSTBOR0U0Tnl3Z01IZzJPRFU0TVRVeE1TeGNiaUFnSUNBd2VHUmlNR015WlRCa0xDQXdlRFkwWmprNFptRTNMRnh1SUNBZ0lEQjRORGRpTlRRNE1XUXNJREI0WW1WbVlUUm1ZVFFnWFR0Y2JuMWNiblYwYVd4ekxtbHVhR1Z5YVhSektGTklRVE00TkN3Z1UwaEJOVEV5S1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1UwaEJNemcwTzF4dVhHNVRTRUV6T0RRdVlteHZZMnRUYVhwbElEMGdNVEF5TkR0Y2JsTklRVE00TkM1dmRYUlRhWHBsSUQwZ016ZzBPMXh1VTBoQk16ZzBMbWh0WVdOVGRISmxibWQwYUNBOUlERTVNanRjYmxOSVFUTTROQzV3WVdSTVpXNW5kR2dnUFNBeE1qZzdYRzVjYmxOSVFUTTROQzV3Y205MGIzUjVjR1V1WDJScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUdScFoyVnpkQ2hsYm1NcElIdGNiaUFnYVdZZ0tHVnVZeUE5UFQwZ0oyaGxlQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5SdlNHVjRNeklvZEdocGN5NW9Mbk5zYVdObEtEQXNJREV5S1N3Z0oySnBaeWNwTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5Od2JHbDBNeklvZEdocGN5NW9Mbk5zYVdObEtEQXNJREV5S1N3Z0oySnBaeWNwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzM4NC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvNTEyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3V0aWxzLmpzXFxcIik7XFxudmFyIGNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2NvbW1vbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9jb21tb24uanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbnZhciByb3RyNjRfaGkgPSB1dGlscy5yb3RyNjRfaGk7XFxudmFyIHJvdHI2NF9sbyA9IHV0aWxzLnJvdHI2NF9sbztcXG52YXIgc2hyNjRfaGkgPSB1dGlscy5zaHI2NF9oaTtcXG52YXIgc2hyNjRfbG8gPSB1dGlscy5zaHI2NF9sbztcXG52YXIgc3VtNjQgPSB1dGlscy5zdW02NDtcXG52YXIgc3VtNjRfaGkgPSB1dGlscy5zdW02NF9oaTtcXG52YXIgc3VtNjRfbG8gPSB1dGlscy5zdW02NF9sbztcXG52YXIgc3VtNjRfNF9oaSA9IHV0aWxzLnN1bTY0XzRfaGk7XFxudmFyIHN1bTY0XzRfbG8gPSB1dGlscy5zdW02NF80X2xvO1xcbnZhciBzdW02NF81X2hpID0gdXRpbHMuc3VtNjRfNV9oaTtcXG52YXIgc3VtNjRfNV9sbyA9IHV0aWxzLnN1bTY0XzVfbG87XFxuXFxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XFxuXFxudmFyIHNoYTUxMl9LID0gW1xcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcXG4gIDB4YjVjMGZiY2YsIDB4ZWM0ZDNiMmYsIDB4ZTliNWRiYTUsIDB4ODE4OWRiYmMsXFxuICAweDM5NTZjMjViLCAweGYzNDhiNTM4LCAweDU5ZjExMWYxLCAweGI2MDVkMDE5LFxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcXG4gIDB4ZDgwN2FhOTgsIDB4YTMwMzAyNDIsIDB4MTI4MzViMDEsIDB4NDU3MDZmYmUsXFxuICAweDI0MzE4NWJlLCAweDRlZTRiMjhjLCAweDU1MGM3ZGMzLCAweGQ1ZmZiNGUyLFxcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcXG4gIDB4OWJkYzA2YTcsIDB4MjVjNzEyMzUsIDB4YzE5YmYxNzQsIDB4Y2Y2OTI2OTQsXFxuICAweGU0OWI2OWMxLCAweDllZjE0YWQyLCAweGVmYmU0Nzg2LCAweDM4NGYyNWUzLFxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcXG4gIDB4MmRlOTJjNmYsIDB4NTkyYjAyNzUsIDB4NGE3NDg0YWEsIDB4NmVhNmU0ODMsXFxuICAweDVjYjBhOWRjLCAweGJkNDFmYmQ0LCAweDc2Zjk4OGRhLCAweDgzMTE1M2I1LFxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcXG4gIDB4YjAwMzI3YzgsIDB4OThmYjIxM2YsIDB4YmY1OTdmYzcsIDB4YmVlZjBlZTQsXFxuICAweGM2ZTAwYmYzLCAweDNkYTg4ZmMyLCAweGQ1YTc5MTQ3LCAweDkzMGFhNzI1LFxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcXG4gIDB4MjdiNzBhODUsIDB4NDZkMjJmZmMsIDB4MmUxYjIxMzgsIDB4NWMyNmM5MjYsXFxuICAweDRkMmM2ZGZjLCAweDVhYzQyYWVkLCAweDUzMzgwZDEzLCAweDlkOTViM2RmLFxcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcXG4gIDB4ODFjMmM5MmUsIDB4NDdlZGFlZTYsIDB4OTI3MjJjODUsIDB4MTQ4MjM1M2IsXFxuICAweGEyYmZlOGExLCAweDRjZjEwMzY0LCAweGE4MWE2NjRiLCAweGJjNDIzMDAxLFxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcXG4gIDB4ZDE5MmU4MTksIDB4ZDZlZjUyMTgsIDB4ZDY5OTA2MjQsIDB4NTU2NWE5MTAsXFxuICAweGY0MGUzNTg1LCAweDU3NzEyMDJhLCAweDEwNmFhMDcwLCAweDMyYmJkMWI4LFxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcXG4gIDB4Mjc0ODc3NGMsIDB4ZGY4ZWViOTksIDB4MzRiMGJjYjUsIDB4ZTE5YjQ4YTgsXFxuICAweDM5MWMwY2IzLCAweGM1Yzk1YTYzLCAweDRlZDhhYTRhLCAweGUzNDE4YWNiLFxcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcXG4gIDB4NzQ4ZjgyZWUsIDB4NWRlZmIyZmMsIDB4NzhhNTYzNmYsIDB4NDMxNzJmNjAsXFxuICAweDg0Yzg3ODE0LCAweGExZjBhYjcyLCAweDhjYzcwMjA4LCAweDFhNjQzOWVjLFxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcXG4gIDB4YmVmOWEzZjcsIDB4YjJjNjc5MTUsIDB4YzY3MTc4ZjIsIDB4ZTM3MjUzMmIsXFxuICAweGNhMjczZWNlLCAweGVhMjY2MTljLCAweGQxODZiOGM3LCAweDIxYzBjMjA3LFxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcXG4gIDB4MDZmMDY3YWEsIDB4NzIxNzZmYmEsIDB4MGE2MzdkYzUsIDB4YTJjODk4YTYsXFxuICAweDExM2Y5ODA0LCAweGJlZjkwZGFlLCAweDFiNzEwYjM1LCAweDEzMWM0NzFiLFxcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcXG4gIDB4M2M5ZWJlMGEsIDB4MTVjOWJlYmMsIDB4NDMxZDY3YzQsIDB4OWMxMDBkNGMsXFxuICAweDRjYzVkNGJlLCAweGNiM2U0MmI2LCAweDU5N2YyOTljLCAweGZjNjU3ZTJhLFxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xcbl07XFxuXFxuZnVuY3Rpb24gU0hBNTEyKCkge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTUxMikpXFxuICAgIHJldHVybiBuZXcgU0hBNTEyKCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG4gIHRoaXMuaCA9IFtcXG4gICAgMHg2YTA5ZTY2NywgMHhmM2JjYzkwOCxcXG4gICAgMHhiYjY3YWU4NSwgMHg4NGNhYTczYixcXG4gICAgMHgzYzZlZjM3MiwgMHhmZTk0ZjgyYixcXG4gICAgMHhhNTRmZjUzYSwgMHg1ZjFkMzZmMSxcXG4gICAgMHg1MTBlNTI3ZiwgMHhhZGU2ODJkMSxcXG4gICAgMHg5YjA1Njg4YywgMHgyYjNlNmMxZixcXG4gICAgMHgxZjgzZDlhYiwgMHhmYjQxYmQ2YixcXG4gICAgMHg1YmUwY2QxOSwgMHgxMzdlMjE3OSBdO1xcbiAgdGhpcy5rID0gc2hhNTEyX0s7XFxuICB0aGlzLlcgPSBuZXcgQXJyYXkoMTYwKTtcXG59XFxudXRpbHMuaW5oZXJpdHMoU0hBNTEyLCBCbG9ja0hhc2gpO1xcbm1vZHVsZS5leHBvcnRzID0gU0hBNTEyO1xcblxcblNIQTUxMi5ibG9ja1NpemUgPSAxMDI0O1xcblNIQTUxMi5vdXRTaXplID0gNTEyO1xcblNIQTUxMi5obWFjU3RyZW5ndGggPSAxOTI7XFxuU0hBNTEyLnBhZExlbmd0aCA9IDEyODtcXG5cXG5TSEE1MTIucHJvdG90eXBlLl9wcmVwYXJlQmxvY2sgPSBmdW5jdGlvbiBfcHJlcGFyZUJsb2NrKG1zZywgc3RhcnQpIHtcXG4gIHZhciBXID0gdGhpcy5XO1xcblxcbiAgLy8gMzIgeCAzMmJpdCB3b3Jkc1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMjsgaSsrKVxcbiAgICBXW2ldID0gbXNnW3N0YXJ0ICsgaV07XFxuICBmb3IgKDsgaSA8IFcubGVuZ3RoOyBpICs9IDIpIHtcXG4gICAgdmFyIGMwX2hpID0gZzFfNTEyX2hpKFdbaSAtIDRdLCBXW2kgLSAzXSk7ICAvLyBpIC0gMlxcbiAgICB2YXIgYzBfbG8gPSBnMV81MTJfbG8oV1tpIC0gNF0sIFdbaSAtIDNdKTtcXG4gICAgdmFyIGMxX2hpID0gV1tpIC0gMTRdOyAgLy8gaSAtIDdcXG4gICAgdmFyIGMxX2xvID0gV1tpIC0gMTNdO1xcbiAgICB2YXIgYzJfaGkgPSBnMF81MTJfaGkoV1tpIC0gMzBdLCBXW2kgLSAyOV0pOyAgLy8gaSAtIDE1XFxuICAgIHZhciBjMl9sbyA9IGcwXzUxMl9sbyhXW2kgLSAzMF0sIFdbaSAtIDI5XSk7XFxuICAgIHZhciBjM19oaSA9IFdbaSAtIDMyXTsgIC8vIGkgLSAxNlxcbiAgICB2YXIgYzNfbG8gPSBXW2kgLSAzMV07XFxuXFxuICAgIFdbaV0gPSBzdW02NF80X2hpKFxcbiAgICAgIGMwX2hpLCBjMF9sbyxcXG4gICAgICBjMV9oaSwgYzFfbG8sXFxuICAgICAgYzJfaGksIGMyX2xvLFxcbiAgICAgIGMzX2hpLCBjM19sbyk7XFxuICAgIFdbaSArIDFdID0gc3VtNjRfNF9sbyhcXG4gICAgICBjMF9oaSwgYzBfbG8sXFxuICAgICAgYzFfaGksIGMxX2xvLFxcbiAgICAgIGMyX2hpLCBjMl9sbyxcXG4gICAgICBjM19oaSwgYzNfbG8pO1xcbiAgfVxcbn07XFxuXFxuU0hBNTEyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XFxuICB0aGlzLl9wcmVwYXJlQmxvY2sobXNnLCBzdGFydCk7XFxuXFxuICB2YXIgVyA9IHRoaXMuVztcXG5cXG4gIHZhciBhaCA9IHRoaXMuaFswXTtcXG4gIHZhciBhbCA9IHRoaXMuaFsxXTtcXG4gIHZhciBiaCA9IHRoaXMuaFsyXTtcXG4gIHZhciBibCA9IHRoaXMuaFszXTtcXG4gIHZhciBjaCA9IHRoaXMuaFs0XTtcXG4gIHZhciBjbCA9IHRoaXMuaFs1XTtcXG4gIHZhciBkaCA9IHRoaXMuaFs2XTtcXG4gIHZhciBkbCA9IHRoaXMuaFs3XTtcXG4gIHZhciBlaCA9IHRoaXMuaFs4XTtcXG4gIHZhciBlbCA9IHRoaXMuaFs5XTtcXG4gIHZhciBmaCA9IHRoaXMuaFsxMF07XFxuICB2YXIgZmwgPSB0aGlzLmhbMTFdO1xcbiAgdmFyIGdoID0gdGhpcy5oWzEyXTtcXG4gIHZhciBnbCA9IHRoaXMuaFsxM107XFxuICB2YXIgaGggPSB0aGlzLmhbMTRdO1xcbiAgdmFyIGhsID0gdGhpcy5oWzE1XTtcXG5cXG4gIGFzc2VydCh0aGlzLmsubGVuZ3RoID09PSBXLmxlbmd0aCk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IFcubGVuZ3RoOyBpICs9IDIpIHtcXG4gICAgdmFyIGMwX2hpID0gaGg7XFxuICAgIHZhciBjMF9sbyA9IGhsO1xcbiAgICB2YXIgYzFfaGkgPSBzMV81MTJfaGkoZWgsIGVsKTtcXG4gICAgdmFyIGMxX2xvID0gczFfNTEyX2xvKGVoLCBlbCk7XFxuICAgIHZhciBjMl9oaSA9IGNoNjRfaGkoZWgsIGVsLCBmaCwgZmwsIGdoLCBnbCk7XFxuICAgIHZhciBjMl9sbyA9IGNoNjRfbG8oZWgsIGVsLCBmaCwgZmwsIGdoLCBnbCk7XFxuICAgIHZhciBjM19oaSA9IHRoaXMua1tpXTtcXG4gICAgdmFyIGMzX2xvID0gdGhpcy5rW2kgKyAxXTtcXG4gICAgdmFyIGM0X2hpID0gV1tpXTtcXG4gICAgdmFyIGM0X2xvID0gV1tpICsgMV07XFxuXFxuICAgIHZhciBUMV9oaSA9IHN1bTY0XzVfaGkoXFxuICAgICAgYzBfaGksIGMwX2xvLFxcbiAgICAgIGMxX2hpLCBjMV9sbyxcXG4gICAgICBjMl9oaSwgYzJfbG8sXFxuICAgICAgYzNfaGksIGMzX2xvLFxcbiAgICAgIGM0X2hpLCBjNF9sbyk7XFxuICAgIHZhciBUMV9sbyA9IHN1bTY0XzVfbG8oXFxuICAgICAgYzBfaGksIGMwX2xvLFxcbiAgICAgIGMxX2hpLCBjMV9sbyxcXG4gICAgICBjMl9oaSwgYzJfbG8sXFxuICAgICAgYzNfaGksIGMzX2xvLFxcbiAgICAgIGM0X2hpLCBjNF9sbyk7XFxuXFxuICAgIGMwX2hpID0gczBfNTEyX2hpKGFoLCBhbCk7XFxuICAgIGMwX2xvID0gczBfNTEyX2xvKGFoLCBhbCk7XFxuICAgIGMxX2hpID0gbWFqNjRfaGkoYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCk7XFxuICAgIGMxX2xvID0gbWFqNjRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCk7XFxuXFxuICAgIHZhciBUMl9oaSA9IHN1bTY0X2hpKGMwX2hpLCBjMF9sbywgYzFfaGksIGMxX2xvKTtcXG4gICAgdmFyIFQyX2xvID0gc3VtNjRfbG8oYzBfaGksIGMwX2xvLCBjMV9oaSwgYzFfbG8pO1xcblxcbiAgICBoaCA9IGdoO1xcbiAgICBobCA9IGdsO1xcblxcbiAgICBnaCA9IGZoO1xcbiAgICBnbCA9IGZsO1xcblxcbiAgICBmaCA9IGVoO1xcbiAgICBmbCA9IGVsO1xcblxcbiAgICBlaCA9IHN1bTY0X2hpKGRoLCBkbCwgVDFfaGksIFQxX2xvKTtcXG4gICAgZWwgPSBzdW02NF9sbyhkbCwgZGwsIFQxX2hpLCBUMV9sbyk7XFxuXFxuICAgIGRoID0gY2g7XFxuICAgIGRsID0gY2w7XFxuXFxuICAgIGNoID0gYmg7XFxuICAgIGNsID0gYmw7XFxuXFxuICAgIGJoID0gYWg7XFxuICAgIGJsID0gYWw7XFxuXFxuICAgIGFoID0gc3VtNjRfaGkoVDFfaGksIFQxX2xvLCBUMl9oaSwgVDJfbG8pO1xcbiAgICBhbCA9IHN1bTY0X2xvKFQxX2hpLCBUMV9sbywgVDJfaGksIFQyX2xvKTtcXG4gIH1cXG5cXG4gIHN1bTY0KHRoaXMuaCwgMCwgYWgsIGFsKTtcXG4gIHN1bTY0KHRoaXMuaCwgMiwgYmgsIGJsKTtcXG4gIHN1bTY0KHRoaXMuaCwgNCwgY2gsIGNsKTtcXG4gIHN1bTY0KHRoaXMuaCwgNiwgZGgsIGRsKTtcXG4gIHN1bTY0KHRoaXMuaCwgOCwgZWgsIGVsKTtcXG4gIHN1bTY0KHRoaXMuaCwgMTAsIGZoLCBmbCk7XFxuICBzdW02NCh0aGlzLmgsIDEyLCBnaCwgZ2wpO1xcbiAgc3VtNjQodGhpcy5oLCAxNCwgaGgsIGhsKTtcXG59O1xcblxcblNIQTUxMi5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcXG4gIGlmIChlbmMgPT09ICdoZXgnKVxcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnYmlnJyk7XFxufTtcXG5cXG5mdW5jdGlvbiBjaDY0X2hpKHhoLCB4bCwgeWgsIHlsLCB6aCkge1xcbiAgdmFyIHIgPSAoeGggJiB5aCkgXiAoKH54aCkgJiB6aCk7XFxuICBpZiAociA8IDApXFxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XFxuICByZXR1cm4gcjtcXG59XFxuXFxuZnVuY3Rpb24gY2g2NF9sbyh4aCwgeGwsIHloLCB5bCwgemgsIHpsKSB7XFxuICB2YXIgciA9ICh4bCAmIHlsKSBeICgofnhsKSAmIHpsKTtcXG4gIGlmIChyIDwgMClcXG4gICAgciArPSAweDEwMDAwMDAwMDtcXG4gIHJldHVybiByO1xcbn1cXG5cXG5mdW5jdGlvbiBtYWo2NF9oaSh4aCwgeGwsIHloLCB5bCwgemgpIHtcXG4gIHZhciByID0gKHhoICYgeWgpIF4gKHhoICYgemgpIF4gKHloICYgemgpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIG1hajY0X2xvKHhoLCB4bCwgeWgsIHlsLCB6aCwgemwpIHtcXG4gIHZhciByID0gKHhsICYgeWwpIF4gKHhsICYgemwpIF4gKHlsICYgemwpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMwXzUxMl9oaSh4aCwgeGwpIHtcXG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDI4KTtcXG4gIHZhciBjMV9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDIpOyAgLy8gMzRcXG4gIHZhciBjMl9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDcpOyAgLy8gMzlcXG5cXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMwXzUxMl9sbyh4aCwgeGwpIHtcXG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDI4KTtcXG4gIHZhciBjMV9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDIpOyAgLy8gMzRcXG4gIHZhciBjMl9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDcpOyAgLy8gMzlcXG5cXG4gIHZhciByID0gYzBfbG8gXiBjMV9sbyBeIGMyX2xvO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMxXzUxMl9oaSh4aCwgeGwpIHtcXG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE0KTtcXG4gIHZhciBjMV9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE4KTtcXG4gIHZhciBjMl9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDkpOyAgLy8gNDFcXG5cXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMxXzUxMl9sbyh4aCwgeGwpIHtcXG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE0KTtcXG4gIHZhciBjMV9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE4KTtcXG4gIHZhciBjMl9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDkpOyAgLy8gNDFcXG5cXG4gIHZhciByID0gYzBfbG8gXiBjMV9sbyBeIGMyX2xvO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIGcwXzUxMl9oaSh4aCwgeGwpIHtcXG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDEpO1xcbiAgdmFyIGMxX2hpID0gcm90cjY0X2hpKHhoLCB4bCwgOCk7XFxuICB2YXIgYzJfaGkgPSBzaHI2NF9oaSh4aCwgeGwsIDcpO1xcblxcbiAgdmFyIHIgPSBjMF9oaSBeIGMxX2hpIF4gYzJfaGk7XFxuICBpZiAociA8IDApXFxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XFxuICByZXR1cm4gcjtcXG59XFxuXFxuZnVuY3Rpb24gZzBfNTEyX2xvKHhoLCB4bCkge1xcbiAgdmFyIGMwX2xvID0gcm90cjY0X2xvKHhoLCB4bCwgMSk7XFxuICB2YXIgYzFfbG8gPSByb3RyNjRfbG8oeGgsIHhsLCA4KTtcXG4gIHZhciBjMl9sbyA9IHNocjY0X2xvKHhoLCB4bCwgNyk7XFxuXFxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcXG4gIGlmIChyIDwgMClcXG4gICAgciArPSAweDEwMDAwMDAwMDtcXG4gIHJldHVybiByO1xcbn1cXG5cXG5mdW5jdGlvbiBnMV81MTJfaGkoeGgsIHhsKSB7XFxuICB2YXIgYzBfaGkgPSByb3RyNjRfaGkoeGgsIHhsLCAxOSk7XFxuICB2YXIgYzFfaGkgPSByb3RyNjRfaGkoeGwsIHhoLCAyOSk7ICAvLyA2MVxcbiAgdmFyIGMyX2hpID0gc2hyNjRfaGkoeGgsIHhsLCA2KTtcXG5cXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIGcxXzUxMl9sbyh4aCwgeGwpIHtcXG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE5KTtcXG4gIHZhciBjMV9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDI5KTsgIC8vIDYxXFxuICB2YXIgYzJfbG8gPSBzaHI2NF9sbyh4aCwgeGwsIDYpO1xcblxcbiAgdmFyIHIgPSBjMF9sbyBeIGMxX2xvIF4gYzJfbG87XFxuICBpZiAociA8IDApXFxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XFxuICByZXR1cm4gcjtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4MU1USXVhbk0vT1dZME1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc01FUkJRVlU3UVVGRE9VSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExEUkVRVUZYTzBGQlEyaERMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSVUZCY1VJN08wRkJSVEZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xDUVVGcFFpeFJRVUZSTzBGQlEzcENPMEZCUTBFc1VVRkJVU3hqUVVGak8wRkJRM1JDTERoRFFVRTRRenRCUVVNNVF6dEJRVU5CTERCQ1FVRXdRanRCUVVNeFFqdEJRVU5CTEdkRVFVRm5SRHRCUVVOb1JEdEJRVU5CTERCQ1FVRXdRanRCUVVNeFFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4alFVRmpPMEZCUXk5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFEwRkJiVU03UVVGRGJrTXNiVU5CUVcxRE96dEJRVVZ1UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFEwRkJiVU03UVVGRGJrTXNiVU5CUVcxRE96dEJRVVZ1UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF6czdRVUZGYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UTBGQmJVTTdPMEZCUlc1RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h2UTBGQmIwTTdRVUZEY0VNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYjBOQlFXOURPMEZCUTNCRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDNXFjeTlzYVdJdmFHRnphQzl6YUdFdk5URXlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TGk5MWRHbHNjeWNwTzF4dWRtRnlJR052YlcxdmJpQTlJSEpsY1hWcGNtVW9KeTR1TDJOdmJXMXZiaWNwTzF4dWRtRnlJR0Z6YzJWeWRDQTlJSEpsY1hWcGNtVW9KMjFwYm1sdFlXeHBjM1JwWXkxaGMzTmxjblFuS1R0Y2JseHVkbUZ5SUhKdmRISTJORjlvYVNBOUlIVjBhV3h6TG5KdmRISTJORjlvYVR0Y2JuWmhjaUJ5YjNSeU5qUmZiRzhnUFNCMWRHbHNjeTV5YjNSeU5qUmZiRzg3WEc1MllYSWdjMmh5TmpSZmFHa2dQU0IxZEdsc2N5NXphSEkyTkY5b2FUdGNiblpoY2lCemFISTJORjlzYnlBOUlIVjBhV3h6TG5Ob2NqWTBYMnh2TzF4dWRtRnlJSE4xYlRZMElEMGdkWFJwYkhNdWMzVnROalE3WEc1MllYSWdjM1Z0TmpSZmFHa2dQU0IxZEdsc2N5NXpkVzAyTkY5b2FUdGNiblpoY2lCemRXMDJORjlzYnlBOUlIVjBhV3h6TG5OMWJUWTBYMnh2TzF4dWRtRnlJSE4xYlRZMFh6UmZhR2tnUFNCMWRHbHNjeTV6ZFcwMk5GODBYMmhwTzF4dWRtRnlJSE4xYlRZMFh6UmZiRzhnUFNCMWRHbHNjeTV6ZFcwMk5GODBYMnh2TzF4dWRtRnlJSE4xYlRZMFh6VmZhR2tnUFNCMWRHbHNjeTV6ZFcwMk5GODFYMmhwTzF4dWRtRnlJSE4xYlRZMFh6VmZiRzhnUFNCMWRHbHNjeTV6ZFcwMk5GODFYMnh2TzF4dVhHNTJZWElnUW14dlkydElZWE5vSUQwZ1kyOXRiVzl1TGtKc2IyTnJTR0Z6YUR0Y2JseHVkbUZ5SUhOb1lUVXhNbDlMSUQwZ1cxeHVJQ0F3ZURReU9HRXlaams0TENBd2VHUTNNamhoWlRJeUxDQXdlRGN4TXpjME5Ea3hMQ0F3ZURJelpXWTJOV05rTEZ4dUlDQXdlR0kxWXpCbVltTm1MQ0F3ZUdWak5HUXpZakptTENBd2VHVTVZalZrWW1FMUxDQXdlRGd4T0Rsa1ltSmpMRnh1SUNBd2VETTVOVFpqTWpWaUxDQXdlR1l6TkRoaU5UTTRMQ0F3ZURVNVpqRXhNV1l4TENBd2VHSTJNRFZrTURFNUxGeHVJQ0F3ZURreU0yWTRNbUUwTENBd2VHRm1NVGswWmpsaUxDQXdlR0ZpTVdNMVpXUTFMQ0F3ZUdSaE5tUTRNVEU0TEZ4dUlDQXdlR1E0TURkaFlUazRMQ0F3ZUdFek1ETXdNalF5TENBd2VERXlPRE0xWWpBeExDQXdlRFExTnpBMlptSmxMRnh1SUNBd2VESTBNekU0TldKbExDQXdlRFJsWlRSaU1qaGpMQ0F3ZURVMU1HTTNaR016TENBd2VHUTFabVppTkdVeUxGeHVJQ0F3ZURjeVltVTFaRGMwTENBd2VHWXlOMkk0T1RabUxDQXdlRGd3WkdWaU1XWmxMQ0F3ZUROaU1UWTVObUl4TEZ4dUlDQXdlRGxpWkdNd05tRTNMQ0F3ZURJMVl6Y3hNak0xTENBd2VHTXhPV0ptTVRjMExDQXdlR05tTmpreU5qazBMRnh1SUNBd2VHVTBPV0kyT1dNeExDQXdlRGxsWmpFMFlXUXlMQ0F3ZUdWbVltVTBOemcyTENBd2VETTROR1l5TldVekxGeHVJQ0F3ZURCbVl6RTVaR00yTENBd2VEaGlPR05rTldJMUxDQXdlREkwTUdOaE1XTmpMQ0F3ZURjM1lXTTVZelkxTEZ4dUlDQXdlREprWlRreVl6Wm1MQ0F3ZURVNU1tSXdNamMxTENBd2VEUmhOelE0TkdGaExDQXdlRFpsWVRabE5EZ3pMRnh1SUNBd2VEVmpZakJoT1dSakxDQXdlR0prTkRGbVltUTBMQ0F3ZURjMlpqazRPR1JoTENBd2VEZ3pNVEUxTTJJMUxGeHVJQ0F3ZURrNE0yVTFNVFV5TENBd2VHVmxOalprWm1GaUxDQXdlR0U0TXpGak5qWmtMQ0F3ZURKa1lqUXpNakV3TEZ4dUlDQXdlR0l3TURNeU4yTTRMQ0F3ZURrNFptSXlNVE5tTENBd2VHSm1OVGszWm1NM0xDQXdlR0psWldZd1pXVTBMRnh1SUNBd2VHTTJaVEF3WW1ZekxDQXdlRE5rWVRnNFptTXlMQ0F3ZUdRMVlUYzVNVFEzTENBd2VEa3pNR0ZoTnpJMUxGeHVJQ0F3ZURBMlkyRTJNelV4TENBd2VHVXdNRE00TWpabUxDQXdlREUwTWpreU9UWTNMQ0F3ZURCaE1HVTJaVGN3TEZ4dUlDQXdlREkzWWpjd1lUZzFMQ0F3ZURRMlpESXlabVpqTENBd2VESmxNV0l5TVRNNExDQXdlRFZqTWpaak9USTJMRnh1SUNBd2VEUmtNbU0yWkdaakxDQXdlRFZoWXpReVlXVmtMQ0F3ZURVek16Z3daREV6TENBd2VEbGtPVFZpTTJSbUxGeHVJQ0F3ZURZMU1HRTNNelUwTENBd2VEaGlZV1kyTTJSbExDQXdlRGMyTm1Fd1lXSmlMQ0F3ZUROak56ZGlNbUU0TEZ4dUlDQXdlRGd4WXpKak9USmxMQ0F3ZURRM1pXUmhaV1UyTENBd2VEa3lOekl5WXpnMUxDQXdlREUwT0RJek5UTmlMRnh1SUNBd2VHRXlZbVpsT0dFeExDQXdlRFJqWmpFd016WTBMQ0F3ZUdFNE1XRTJOalJpTENBd2VHSmpOREl6TURBeExGeHVJQ0F3ZUdNeU5HSTRZamN3TENBd2VHUXdaamc1TnpreExDQXdlR00zTm1NMU1XRXpMQ0F3ZURBMk5UUmlaVE13TEZ4dUlDQXdlR1F4T1RKbE9ERTVMQ0F3ZUdRMlpXWTFNakU0TENBd2VHUTJPVGt3TmpJMExDQXdlRFUxTmpWaE9URXdMRnh1SUNBd2VHWTBNR1V6TlRnMUxDQXdlRFUzTnpFeU1ESmhMQ0F3ZURFd05tRmhNRGN3TENBd2VETXlZbUprTVdJNExGeHVJQ0F3ZURFNVlUUmpNVEUyTENBd2VHSTRaREprTUdNNExDQXdlREZsTXpjMll6QTRMQ0F3ZURVeE5ERmhZalV6TEZ4dUlDQXdlREkzTkRnM056UmpMQ0F3ZUdSbU9HVmxZams1TENBd2VETTBZakJpWTJJMUxDQXdlR1V4T1dJME9HRTRMRnh1SUNBd2VETTVNV013WTJJekxDQXdlR00xWXprMVlUWXpMQ0F3ZURSbFpEaGhZVFJoTENBd2VHVXpOREU0WVdOaUxGeHVJQ0F3ZURWaU9XTmpZVFJtTENBd2VEYzNOak5sTXpjekxDQXdlRFk0TW1VMlptWXpMQ0F3ZUdRMllqSmlPR0V6TEZ4dUlDQXdlRGMwT0dZNE1tVmxMQ0F3ZURWa1pXWmlNbVpqTENBd2VEYzRZVFUyTXpabUxDQXdlRFF6TVRjeVpqWXdMRnh1SUNBd2VEZzBZemczT0RFMExDQXdlR0V4WmpCaFlqY3lMQ0F3ZURoall6Y3dNakE0TENBd2VERmhOalF6T1dWakxGeHVJQ0F3ZURrd1ltVm1abVpoTENBd2VESXpOak14WlRJNExDQXdlR0UwTlRBMlkyVmlMQ0F3ZUdSbE9ESmlaR1U1TEZ4dUlDQXdlR0psWmpsaE0yWTNMQ0F3ZUdJeVl6WTNPVEUxTENBd2VHTTJOekUzT0dZeUxDQXdlR1V6TnpJMU16SmlMRnh1SUNBd2VHTmhNamN6WldObExDQXdlR1ZoTWpZMk1UbGpMQ0F3ZUdReE9EWmlPR00zTENBd2VESXhZekJqTWpBM0xGeHVJQ0F3ZUdWaFpHRTNaR1EyTENBd2VHTmtaVEJsWWpGbExDQXdlR1kxTjJRMFpqZG1MQ0F3ZUdWbE5tVmtNVGM0TEZ4dUlDQXdlREEyWmpBMk4yRmhMQ0F3ZURjeU1UYzJabUpoTENBd2VEQmhOak0zWkdNMUxDQXdlR0V5WXpnNU9HRTJMRnh1SUNBd2VERXhNMlk1T0RBMExDQXdlR0psWmprd1pHRmxMQ0F3ZURGaU56RXdZak0xTENBd2VERXpNV00wTnpGaUxGeHVJQ0F3ZURJNFpHSTNOMlkxTENBd2VESXpNRFEzWkRnMExDQXdlRE15WTJGaFlqZGlMQ0F3ZURRd1l6Y3lORGt6TEZ4dUlDQXdlRE5qT1dWaVpUQmhMQ0F3ZURFMVl6bGlaV0pqTENBd2VEUXpNV1EyTjJNMExDQXdlRGxqTVRBd1pEUmpMRnh1SUNBd2VEUmpZelZrTkdKbExDQXdlR05pTTJVME1tSTJMQ0F3ZURVNU4yWXlPVGxqTENBd2VHWmpOalUzWlRKaExGeHVJQ0F3ZURWbVkySTJabUZpTENBd2VETmhaRFptWVdWakxDQXdlRFpqTkRReE9UaGpMQ0F3ZURSaE5EYzFPREUzWEc1ZE8xeHVYRzVtZFc1amRHbHZiaUJUU0VFMU1USW9LU0I3WEc0Z0lHbG1JQ2doS0hSb2FYTWdhVzV6ZEdGdVkyVnZaaUJUU0VFMU1USXBLVnh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dVMGhCTlRFeUtDazdYRzVjYmlBZ1FteHZZMnRJWVhOb0xtTmhiR3dvZEdocGN5azdYRzRnSUhSb2FYTXVhQ0E5SUZ0Y2JpQWdJQ0F3ZURaaE1EbGxOalkzTENBd2VHWXpZbU5qT1RBNExGeHVJQ0FnSURCNFltSTJOMkZsT0RVc0lEQjRPRFJqWVdFM00ySXNYRzRnSUNBZ01IZ3pZelpsWmpNM01pd2dNSGhtWlRrMFpqZ3lZaXhjYmlBZ0lDQXdlR0UxTkdabU5UTmhMQ0F3ZURWbU1XUXpObVl4TEZ4dUlDQWdJREI0TlRFd1pUVXlOMllzSURCNFlXUmxOamd5WkRFc1hHNGdJQ0FnTUhnNVlqQTFOamc0WXl3Z01IZ3lZak5sTm1NeFppeGNiaUFnSUNBd2VERm1PRE5rT1dGaUxDQXdlR1ppTkRGaVpEWmlMRnh1SUNBZ0lEQjROV0psTUdOa01Ua3NJREI0TVRNM1pUSXhOemtnWFR0Y2JpQWdkR2hwY3k1cklEMGdjMmhoTlRFeVgwczdYRzRnSUhSb2FYTXVWeUE5SUc1bGR5QkJjbkpoZVNneE5qQXBPMXh1ZlZ4dWRYUnBiSE11YVc1b1pYSnBkSE1vVTBoQk5URXlMQ0JDYkc5amEwaGhjMmdwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCVFNFRTFNVEk3WEc1Y2JsTklRVFV4TWk1aWJHOWphMU5wZW1VZ1BTQXhNREkwTzF4dVUwaEJOVEV5TG05MWRGTnBlbVVnUFNBMU1USTdYRzVUU0VFMU1USXVhRzFoWTFOMGNtVnVaM1JvSUQwZ01Ua3lPMXh1VTBoQk5URXlMbkJoWkV4bGJtZDBhQ0E5SURFeU9EdGNibHh1VTBoQk5URXlMbkJ5YjNSdmRIbHdaUzVmY0hKbGNHRnlaVUpzYjJOcklEMGdablZ1WTNScGIyNGdYM0J5WlhCaGNtVkNiRzlqYXlodGMyY3NJSE4wWVhKMEtTQjdYRzRnSUhaaGNpQlhJRDBnZEdocGN5NVhPMXh1WEc0Z0lDOHZJRE15SUhnZ016SmlhWFFnZDI5eVpITmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBek1qc2dhU3NyS1Z4dUlDQWdJRmRiYVYwZ1BTQnRjMmRiYzNSaGNuUWdLeUJwWFR0Y2JpQWdabTl5SUNnN0lHa2dQQ0JYTG14bGJtZDBhRHNnYVNBclBTQXlLU0I3WEc0Z0lDQWdkbUZ5SUdNd1gyaHBJRDBnWnpGZk5URXlYMmhwS0ZkYmFTQXRJRFJkTENCWFcya2dMU0F6WFNrN0lDQXZMeUJwSUMwZ01seHVJQ0FnSUhaaGNpQmpNRjlzYnlBOUlHY3hYelV4TWw5c2J5aFhXMmtnTFNBMFhTd2dWMXRwSUMwZ00xMHBPMXh1SUNBZ0lIWmhjaUJqTVY5b2FTQTlJRmRiYVNBdElERTBYVHNnSUM4dklHa2dMU0EzWEc0Z0lDQWdkbUZ5SUdNeFgyeHZJRDBnVjF0cElDMGdNVE5kTzF4dUlDQWdJSFpoY2lCak1sOW9hU0E5SUdjd1h6VXhNbDlvYVNoWFcya2dMU0F6TUYwc0lGZGJhU0F0SURJNVhTazdJQ0F2THlCcElDMGdNVFZjYmlBZ0lDQjJZWElnWXpKZmJHOGdQU0JuTUY4MU1USmZiRzhvVjF0cElDMGdNekJkTENCWFcya2dMU0F5T1YwcE8xeHVJQ0FnSUhaaGNpQmpNMTlvYVNBOUlGZGJhU0F0SURNeVhUc2dJQzh2SUdrZ0xTQXhObHh1SUNBZ0lIWmhjaUJqTTE5c2J5QTlJRmRiYVNBdElETXhYVHRjYmx4dUlDQWdJRmRiYVYwZ1BTQnpkVzAyTkY4MFgyaHBLRnh1SUNBZ0lDQWdZekJmYUdrc0lHTXdYMnh2TEZ4dUlDQWdJQ0FnWXpGZmFHa3NJR014WDJ4dkxGeHVJQ0FnSUNBZ1l6SmZhR2tzSUdNeVgyeHZMRnh1SUNBZ0lDQWdZek5mYUdrc0lHTXpYMnh2S1R0Y2JpQWdJQ0JYVzJrZ0t5QXhYU0E5SUhOMWJUWTBYelJmYkc4b1hHNGdJQ0FnSUNCak1GOW9hU3dnWXpCZmJHOHNYRzRnSUNBZ0lDQmpNVjlvYVN3Z1l6RmZiRzhzWEc0Z0lDQWdJQ0JqTWw5b2FTd2dZekpmYkc4c1hHNGdJQ0FnSUNCak0xOW9hU3dnWXpOZmJHOHBPMXh1SUNCOVhHNTlPMXh1WEc1VFNFRTFNVEl1Y0hKdmRHOTBlWEJsTGw5MWNHUmhkR1VnUFNCbWRXNWpkR2x2YmlCZmRYQmtZWFJsS0cxelp5d2djM1JoY25RcElIdGNiaUFnZEdocGN5NWZjSEpsY0dGeVpVSnNiMk5yS0cxelp5d2djM1JoY25RcE8xeHVYRzRnSUhaaGNpQlhJRDBnZEdocGN5NVhPMXh1WEc0Z0lIWmhjaUJoYUNBOUlIUm9hWE11YUZzd1hUdGNiaUFnZG1GeUlHRnNJRDBnZEdocGN5NW9XekZkTzF4dUlDQjJZWElnWW1nZ1BTQjBhR2x6TG1oYk1sMDdYRzRnSUhaaGNpQmliQ0E5SUhSb2FYTXVhRnN6WFR0Y2JpQWdkbUZ5SUdOb0lEMGdkR2hwY3k1b1d6UmRPMXh1SUNCMllYSWdZMndnUFNCMGFHbHpMbWhiTlYwN1hHNGdJSFpoY2lCa2FDQTlJSFJvYVhNdWFGczJYVHRjYmlBZ2RtRnlJR1JzSUQwZ2RHaHBjeTVvV3pkZE8xeHVJQ0IyWVhJZ1pXZ2dQU0IwYUdsekxtaGJPRjA3WEc0Z0lIWmhjaUJsYkNBOUlIUm9hWE11YUZzNVhUdGNiaUFnZG1GeUlHWm9JRDBnZEdocGN5NW9XekV3WFR0Y2JpQWdkbUZ5SUdac0lEMGdkR2hwY3k1b1d6RXhYVHRjYmlBZ2RtRnlJR2RvSUQwZ2RHaHBjeTVvV3pFeVhUdGNiaUFnZG1GeUlHZHNJRDBnZEdocGN5NW9XekV6WFR0Y2JpQWdkbUZ5SUdob0lEMGdkR2hwY3k1b1d6RTBYVHRjYmlBZ2RtRnlJR2hzSUQwZ2RHaHBjeTVvV3pFMVhUdGNibHh1SUNCaGMzTmxjblFvZEdocGN5NXJMbXhsYm1kMGFDQTlQVDBnVnk1c1pXNW5kR2dwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRmN1YkdWdVozUm9PeUJwSUNzOUlESXBJSHRjYmlBZ0lDQjJZWElnWXpCZmFHa2dQU0JvYUR0Y2JpQWdJQ0IyWVhJZ1l6QmZiRzhnUFNCb2JEdGNiaUFnSUNCMllYSWdZekZmYUdrZ1BTQnpNVjgxTVRKZmFHa29aV2dzSUdWc0tUdGNiaUFnSUNCMllYSWdZekZmYkc4Z1BTQnpNVjgxTVRKZmJHOG9aV2dzSUdWc0tUdGNiaUFnSUNCMllYSWdZekpmYUdrZ1BTQmphRFkwWDJocEtHVm9MQ0JsYkN3Z1ptZ3NJR1pzTENCbmFDd2daMndwTzF4dUlDQWdJSFpoY2lCak1sOXNieUE5SUdOb05qUmZiRzhvWldnc0lHVnNMQ0JtYUN3Z1ptd3NJR2RvTENCbmJDazdYRzRnSUNBZ2RtRnlJR016WDJocElEMGdkR2hwY3k1clcybGRPMXh1SUNBZ0lIWmhjaUJqTTE5c2J5QTlJSFJvYVhNdWExdHBJQ3NnTVYwN1hHNGdJQ0FnZG1GeUlHTTBYMmhwSUQwZ1YxdHBYVHRjYmlBZ0lDQjJZWElnWXpSZmJHOGdQU0JYVzJrZ0t5QXhYVHRjYmx4dUlDQWdJSFpoY2lCVU1WOW9hU0E5SUhOMWJUWTBYelZmYUdrb1hHNGdJQ0FnSUNCak1GOW9hU3dnWXpCZmJHOHNYRzRnSUNBZ0lDQmpNVjlvYVN3Z1l6RmZiRzhzWEc0Z0lDQWdJQ0JqTWw5b2FTd2dZekpmYkc4c1hHNGdJQ0FnSUNCak0xOW9hU3dnWXpOZmJHOHNYRzRnSUNBZ0lDQmpORjlvYVN3Z1l6UmZiRzhwTzF4dUlDQWdJSFpoY2lCVU1WOXNieUE5SUhOMWJUWTBYelZmYkc4b1hHNGdJQ0FnSUNCak1GOW9hU3dnWXpCZmJHOHNYRzRnSUNBZ0lDQmpNVjlvYVN3Z1l6RmZiRzhzWEc0Z0lDQWdJQ0JqTWw5b2FTd2dZekpmYkc4c1hHNGdJQ0FnSUNCak0xOW9hU3dnWXpOZmJHOHNYRzRnSUNBZ0lDQmpORjlvYVN3Z1l6UmZiRzhwTzF4dVhHNGdJQ0FnWXpCZmFHa2dQU0J6TUY4MU1USmZhR2tvWVdnc0lHRnNLVHRjYmlBZ0lDQmpNRjlzYnlBOUlITXdYelV4TWw5c2J5aGhhQ3dnWVd3cE8xeHVJQ0FnSUdNeFgyaHBJRDBnYldGcU5qUmZhR2tvWVdnc0lHRnNMQ0JpYUN3Z1ltd3NJR05vTENCamJDazdYRzRnSUNBZ1l6RmZiRzhnUFNCdFlXbzJORjlzYnloaGFDd2dZV3dzSUdKb0xDQmliQ3dnWTJnc0lHTnNLVHRjYmx4dUlDQWdJSFpoY2lCVU1sOW9hU0E5SUhOMWJUWTBYMmhwS0dNd1gyaHBMQ0JqTUY5c2J5d2dZekZmYUdrc0lHTXhYMnh2S1R0Y2JpQWdJQ0IyWVhJZ1ZESmZiRzhnUFNCemRXMDJORjlzYnloak1GOW9hU3dnWXpCZmJHOHNJR014WDJocExDQmpNVjlzYnlrN1hHNWNiaUFnSUNCb2FDQTlJR2RvTzF4dUlDQWdJR2hzSUQwZ1oydzdYRzVjYmlBZ0lDQm5hQ0E5SUdab08xeHVJQ0FnSUdkc0lEMGdabXc3WEc1Y2JpQWdJQ0JtYUNBOUlHVm9PMXh1SUNBZ0lHWnNJRDBnWld3N1hHNWNiaUFnSUNCbGFDQTlJSE4xYlRZMFgyaHBLR1JvTENCa2JDd2dWREZmYUdrc0lGUXhYMnh2S1R0Y2JpQWdJQ0JsYkNBOUlITjFiVFkwWDJ4dktHUnNMQ0JrYkN3Z1ZERmZhR2tzSUZReFgyeHZLVHRjYmx4dUlDQWdJR1JvSUQwZ1kyZzdYRzRnSUNBZ1pHd2dQU0JqYkR0Y2JseHVJQ0FnSUdOb0lEMGdZbWc3WEc0Z0lDQWdZMndnUFNCaWJEdGNibHh1SUNBZ0lHSm9JRDBnWVdnN1hHNGdJQ0FnWW13Z1BTQmhiRHRjYmx4dUlDQWdJR0ZvSUQwZ2MzVnROalJmYUdrb1ZERmZhR2tzSUZReFgyeHZMQ0JVTWw5b2FTd2dWREpmYkc4cE8xeHVJQ0FnSUdGc0lEMGdjM1Z0TmpSZmJHOG9WREZmYUdrc0lGUXhYMnh2TENCVU1sOW9hU3dnVkRKZmJHOHBPMXh1SUNCOVhHNWNiaUFnYzNWdE5qUW9kR2hwY3k1b0xDQXdMQ0JoYUN3Z1lXd3BPMXh1SUNCemRXMDJOQ2gwYUdsekxtZ3NJRElzSUdKb0xDQmliQ2s3WEc0Z0lITjFiVFkwS0hSb2FYTXVhQ3dnTkN3Z1kyZ3NJR05zS1R0Y2JpQWdjM1Z0TmpRb2RHaHBjeTVvTENBMkxDQmthQ3dnWkd3cE8xeHVJQ0J6ZFcwMk5DaDBhR2x6TG1nc0lEZ3NJR1ZvTENCbGJDazdYRzRnSUhOMWJUWTBLSFJvYVhNdWFDd2dNVEFzSUdab0xDQm1iQ2s3WEc0Z0lITjFiVFkwS0hSb2FYTXVhQ3dnTVRJc0lHZG9MQ0JuYkNrN1hHNGdJSE4xYlRZMEtIUm9hWE11YUN3Z01UUXNJR2hvTENCb2JDazdYRzU5TzF4dVhHNVRTRUUxTVRJdWNISnZkRzkwZVhCbExsOWthV2RsYzNRZ1BTQm1kVzVqZEdsdmJpQmthV2RsYzNRb1pXNWpLU0I3WEc0Z0lHbG1JQ2hsYm1NZ1BUMDlJQ2RvWlhnbktWeHVJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NTBiMGhsZURNeUtIUm9hWE11YUN3Z0oySnBaeWNwTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5Od2JHbDBNeklvZEdocGN5NW9MQ0FuWW1sbkp5azdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQmphRFkwWDJocEtIaG9MQ0I0YkN3Z2VXZ3NJSGxzTENCNmFDa2dlMXh1SUNCMllYSWdjaUE5SUNoNGFDQW1JSGxvS1NCZUlDZ29mbmhvS1NBbUlIcG9LVHRjYmlBZ2FXWWdLSElnUENBd0tWeHVJQ0FnSUhJZ0t6MGdNSGd4TURBd01EQXdNREE3WEc0Z0lISmxkSFZ5YmlCeU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamFEWTBYMnh2S0hob0xDQjRiQ3dnZVdnc0lIbHNMQ0I2YUN3Z2Vtd3BJSHRjYmlBZ2RtRnlJSElnUFNBb2VHd2dKaUI1YkNrZ1hpQW9LSDU0YkNrZ0ppQjZiQ2s3WEc0Z0lHbG1JQ2h5SUR3Z01DbGNiaUFnSUNCeUlDczlJREI0TVRBd01EQXdNREF3TzF4dUlDQnlaWFIxY200Z2NqdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnFOalJmYUdrb2VHZ3NJSGhzTENCNWFDd2dlV3dzSUhwb0tTQjdYRzRnSUhaaGNpQnlJRDBnS0hob0lDWWdlV2dwSUY0Z0tIaG9JQ1lnZW1ncElGNGdLSGxvSUNZZ2VtZ3BPMXh1SUNCcFppQW9jaUE4SURBcFhHNGdJQ0FnY2lBclBTQXdlREV3TURBd01EQXdNRHRjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxaGFqWTBYMnh2S0hob0xDQjRiQ3dnZVdnc0lIbHNMQ0I2YUN3Z2Vtd3BJSHRjYmlBZ2RtRnlJSElnUFNBb2VHd2dKaUI1YkNrZ1hpQW9lR3dnSmlCNmJDa2dYaUFvZVd3Z0ppQjZiQ2s3WEc0Z0lHbG1JQ2h5SUR3Z01DbGNiaUFnSUNCeUlDczlJREI0TVRBd01EQXdNREF3TzF4dUlDQnlaWFIxY200Z2NqdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2N6QmZOVEV5WDJocEtIaG9MQ0I0YkNrZ2UxeHVJQ0IyWVhJZ1l6QmZhR2tnUFNCeWIzUnlOalJmYUdrb2VHZ3NJSGhzTENBeU9DazdYRzRnSUhaaGNpQmpNVjlvYVNBOUlISnZkSEkyTkY5b2FTaDRiQ3dnZUdnc0lESXBPeUFnTHk4Z016UmNiaUFnZG1GeUlHTXlYMmhwSUQwZ2NtOTBjalkwWDJocEtIaHNMQ0I0YUN3Z055azdJQ0F2THlBek9WeHVYRzRnSUhaaGNpQnlJRDBnWXpCZmFHa2dYaUJqTVY5b2FTQmVJR015WDJocE8xeHVJQ0JwWmlBb2NpQThJREFwWEc0Z0lDQWdjaUFyUFNBd2VERXdNREF3TURBd01EdGNiaUFnY21WMGRYSnVJSEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJSE13WHpVeE1sOXNieWg0YUN3Z2VHd3BJSHRjYmlBZ2RtRnlJR013WDJ4dklEMGdjbTkwY2pZMFgyeHZLSGhvTENCNGJDd2dNamdwTzF4dUlDQjJZWElnWXpGZmJHOGdQU0J5YjNSeU5qUmZiRzhvZUd3c0lIaG9MQ0F5S1RzZ0lDOHZJRE0wWEc0Z0lIWmhjaUJqTWw5c2J5QTlJSEp2ZEhJMk5GOXNieWg0YkN3Z2VHZ3NJRGNwT3lBZ0x5OGdNemxjYmx4dUlDQjJZWElnY2lBOUlHTXdYMnh2SUY0Z1l6RmZiRzhnWGlCak1sOXNienRjYmlBZ2FXWWdLSElnUENBd0tWeHVJQ0FnSUhJZ0t6MGdNSGd4TURBd01EQXdNREE3WEc0Z0lISmxkSFZ5YmlCeU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCek1WODFNVEpmYUdrb2VHZ3NJSGhzS1NCN1hHNGdJSFpoY2lCak1GOW9hU0E5SUhKdmRISTJORjlvYVNoNGFDd2dlR3dzSURFMEtUdGNiaUFnZG1GeUlHTXhYMmhwSUQwZ2NtOTBjalkwWDJocEtIaG9MQ0I0YkN3Z01UZ3BPMXh1SUNCMllYSWdZekpmYUdrZ1BTQnliM1J5TmpSZmFHa29lR3dzSUhob0xDQTVLVHNnSUM4dklEUXhYRzVjYmlBZ2RtRnlJSElnUFNCak1GOW9hU0JlSUdNeFgyaHBJRjRnWXpKZmFHazdYRzRnSUdsbUlDaHlJRHdnTUNsY2JpQWdJQ0J5SUNzOUlEQjRNVEF3TURBd01EQXdPMXh1SUNCeVpYUjFjbTRnY2p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY3pGZk5URXlYMnh2S0hob0xDQjRiQ2tnZTF4dUlDQjJZWElnWXpCZmJHOGdQU0J5YjNSeU5qUmZiRzhvZUdnc0lIaHNMQ0F4TkNrN1hHNGdJSFpoY2lCak1WOXNieUE5SUhKdmRISTJORjlzYnloNGFDd2dlR3dzSURFNEtUdGNiaUFnZG1GeUlHTXlYMnh2SUQwZ2NtOTBjalkwWDJ4dktIaHNMQ0I0YUN3Z09TazdJQ0F2THlBME1WeHVYRzRnSUhaaGNpQnlJRDBnWXpCZmJHOGdYaUJqTVY5c2J5QmVJR015WDJ4dk8xeHVJQ0JwWmlBb2NpQThJREFwWEc0Z0lDQWdjaUFyUFNBd2VERXdNREF3TURBd01EdGNiaUFnY21WMGRYSnVJSEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2N3WHpVeE1sOW9hU2g0YUN3Z2VHd3BJSHRjYmlBZ2RtRnlJR013WDJocElEMGdjbTkwY2pZMFgyaHBLSGhvTENCNGJDd2dNU2s3WEc0Z0lIWmhjaUJqTVY5b2FTQTlJSEp2ZEhJMk5GOW9hU2g0YUN3Z2VHd3NJRGdwTzF4dUlDQjJZWElnWXpKZmFHa2dQU0J6YUhJMk5GOW9hU2g0YUN3Z2VHd3NJRGNwTzF4dVhHNGdJSFpoY2lCeUlEMGdZekJmYUdrZ1hpQmpNVjlvYVNCZUlHTXlYMmhwTzF4dUlDQnBaaUFvY2lBOElEQXBYRzRnSUNBZ2NpQXJQU0F3ZURFd01EQXdNREF3TUR0Y2JpQWdjbVYwZFhKdUlISTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHY3dYelV4TWw5c2J5aDRhQ3dnZUd3cElIdGNiaUFnZG1GeUlHTXdYMnh2SUQwZ2NtOTBjalkwWDJ4dktIaG9MQ0I0YkN3Z01TazdYRzRnSUhaaGNpQmpNVjlzYnlBOUlISnZkSEkyTkY5c2J5aDRhQ3dnZUd3c0lEZ3BPMXh1SUNCMllYSWdZekpmYkc4Z1BTQnphSEkyTkY5c2J5aDRhQ3dnZUd3c0lEY3BPMXh1WEc0Z0lIWmhjaUJ5SUQwZ1l6QmZiRzhnWGlCak1WOXNieUJlSUdNeVgyeHZPMXh1SUNCcFppQW9jaUE4SURBcFhHNGdJQ0FnY2lBclBTQXdlREV3TURBd01EQXdNRHRjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdjeFh6VXhNbDlvYVNoNGFDd2dlR3dwSUh0Y2JpQWdkbUZ5SUdNd1gyaHBJRDBnY205MGNqWTBYMmhwS0hob0xDQjRiQ3dnTVRrcE8xeHVJQ0IyWVhJZ1l6RmZhR2tnUFNCeWIzUnlOalJmYUdrb2VHd3NJSGhvTENBeU9TazdJQ0F2THlBMk1WeHVJQ0IyWVhJZ1l6SmZhR2tnUFNCemFISTJORjlvYVNoNGFDd2dlR3dzSURZcE8xeHVYRzRnSUhaaGNpQnlJRDBnWXpCZmFHa2dYaUJqTVY5b2FTQmVJR015WDJocE8xeHVJQ0JwWmlBb2NpQThJREFwWEc0Z0lDQWdjaUFyUFNBd2VERXdNREF3TURBd01EdGNiaUFnY21WMGRYSnVJSEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2N4WHpVeE1sOXNieWg0YUN3Z2VHd3BJSHRjYmlBZ2RtRnlJR013WDJ4dklEMGdjbTkwY2pZMFgyeHZLSGhvTENCNGJDd2dNVGtwTzF4dUlDQjJZWElnWXpGZmJHOGdQU0J5YjNSeU5qUmZiRzhvZUd3c0lIaG9MQ0F5T1NrN0lDQXZMeUEyTVZ4dUlDQjJZWElnWXpKZmJHOGdQU0J6YUhJMk5GOXNieWg0YUN3Z2VHd3NJRFlwTzF4dVhHNGdJSFpoY2lCeUlEMGdZekJmYkc4Z1hpQmpNVjlzYnlCZUlHTXlYMnh2TzF4dUlDQnBaaUFvY2lBOElEQXBYRzRnSUNBZ2NpQXJQU0F3ZURFd01EQXdNREF3TUR0Y2JpQWdjbVYwZFhKdUlISTdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhL2NvbW1vbi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvY29tbW9uLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciByb3RyMzIgPSB1dGlscy5yb3RyMzI7XFxuXFxuZnVuY3Rpb24gZnRfMShzLCB4LCB5LCB6KSB7XFxuICBpZiAocyA9PT0gMClcXG4gICAgcmV0dXJuIGNoMzIoeCwgeSwgeik7XFxuICBpZiAocyA9PT0gMSB8fCBzID09PSAzKVxcbiAgICByZXR1cm4gcDMyKHgsIHksIHopO1xcbiAgaWYgKHMgPT09IDIpXFxuICAgIHJldHVybiBtYWozMih4LCB5LCB6KTtcXG59XFxuZXhwb3J0cy5mdF8xID0gZnRfMTtcXG5cXG5mdW5jdGlvbiBjaDMyKHgsIHksIHopIHtcXG4gIHJldHVybiAoeCAmIHkpIF4gKCh+eCkgJiB6KTtcXG59XFxuZXhwb3J0cy5jaDMyID0gY2gzMjtcXG5cXG5mdW5jdGlvbiBtYWozMih4LCB5LCB6KSB7XFxuICByZXR1cm4gKHggJiB5KSBeICh4ICYgeikgXiAoeSAmIHopO1xcbn1cXG5leHBvcnRzLm1hajMyID0gbWFqMzI7XFxuXFxuZnVuY3Rpb24gcDMyKHgsIHksIHopIHtcXG4gIHJldHVybiB4IF4geSBeIHo7XFxufVxcbmV4cG9ydHMucDMyID0gcDMyO1xcblxcbmZ1bmN0aW9uIHMwXzI1Nih4KSB7XFxuICByZXR1cm4gcm90cjMyKHgsIDIpIF4gcm90cjMyKHgsIDEzKSBeIHJvdHIzMih4LCAyMik7XFxufVxcbmV4cG9ydHMuczBfMjU2ID0gczBfMjU2O1xcblxcbmZ1bmN0aW9uIHMxXzI1Nih4KSB7XFxuICByZXR1cm4gcm90cjMyKHgsIDYpIF4gcm90cjMyKHgsIDExKSBeIHJvdHIzMih4LCAyNSk7XFxufVxcbmV4cG9ydHMuczFfMjU2ID0gczFfMjU2O1xcblxcbmZ1bmN0aW9uIGcwXzI1Nih4KSB7XFxuICByZXR1cm4gcm90cjMyKHgsIDcpIF4gcm90cjMyKHgsIDE4KSBeICh4ID4+PiAzKTtcXG59XFxuZXhwb3J0cy5nMF8yNTYgPSBnMF8yNTY7XFxuXFxuZnVuY3Rpb24gZzFfMjU2KHgpIHtcXG4gIHJldHVybiByb3RyMzIoeCwgMTcpIF4gcm90cjMyKHgsIDE5KSBeICh4ID4+PiAxMCk7XFxufVxcbmV4cG9ydHMuZzFfMjU2ID0gZzFfMjU2O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MbXB6TDJ4cFlpOW9ZWE5vTDNOb1lTOWpiMjF0YjI0dWFuTS9aRGN3TVNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zTUVSQlFWVTdRVUZET1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd1YW5NdmJHbGlMMmhoYzJndmMyaGhMMk52YlcxdmJpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQnliM1J5TXpJZ1BTQjFkR2xzY3k1eWIzUnlNekk3WEc1Y2JtWjFibU4wYVc5dUlHWjBYekVvY3l3Z2VDd2dlU3dnZWlrZ2UxeHVJQ0JwWmlBb2N5QTlQVDBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdZMmd6TWloNExDQjVMQ0I2S1R0Y2JpQWdhV1lnS0hNZ1BUMDlJREVnZkh3Z2N5QTlQVDBnTXlsY2JpQWdJQ0J5WlhSMWNtNGdjRE15S0hnc0lIa3NJSG9wTzF4dUlDQnBaaUFvY3lBOVBUMGdNaWxjYmlBZ0lDQnlaWFIxY200Z2JXRnFNeklvZUN3Z2VTd2dlaWs3WEc1OVhHNWxlSEJ2Y25SekxtWjBYekVnUFNCbWRGOHhPMXh1WEc1bWRXNWpkR2x2YmlCamFETXlLSGdzSUhrc0lIb3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElDWWdlU2tnWGlBb0tINTRLU0FtSUhvcE8xeHVmVnh1Wlhod2IzSjBjeTVqYURNeUlEMGdZMmd6TWp0Y2JseHVablZ1WTNScGIyNGdiV0ZxTXpJb2VDd2dlU3dnZWlrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnSmlCNUtTQmVJQ2g0SUNZZ2Vpa2dYaUFvZVNBbUlIb3BPMXh1ZlZ4dVpYaHdiM0owY3k1dFlXb3pNaUE5SUcxaGFqTXlPMXh1WEc1bWRXNWpkR2x2YmlCd016SW9lQ3dnZVN3Z2Vpa2dlMXh1SUNCeVpYUjFjbTRnZUNCZUlIa2dYaUI2TzF4dWZWeHVaWGh3YjNKMGN5NXdNeklnUFNCd016STdYRzVjYm1aMWJtTjBhVzl1SUhNd1h6STFOaWg0S1NCN1hHNGdJSEpsZEhWeWJpQnliM1J5TXpJb2VDd2dNaWtnWGlCeWIzUnlNeklvZUN3Z01UTXBJRjRnY205MGNqTXlLSGdzSURJeUtUdGNibjFjYm1WNGNHOXlkSE11Y3pCZk1qVTJJRDBnY3pCZk1qVTJPMXh1WEc1bWRXNWpkR2x2YmlCek1WOHlOVFlvZUNrZ2UxeHVJQ0J5WlhSMWNtNGdjbTkwY2pNeUtIZ3NJRFlwSUY0Z2NtOTBjak15S0hnc0lERXhLU0JlSUhKdmRISXpNaWg0TENBeU5TazdYRzU5WEc1bGVIQnZjblJ6TG5NeFh6STFOaUE5SUhNeFh6STFOanRjYmx4dVpuVnVZM1JwYjI0Z1p6QmZNalUyS0hncElIdGNiaUFnY21WMGRYSnVJSEp2ZEhJek1paDRMQ0EzS1NCZUlISnZkSEl6TWloNExDQXhPQ2tnWGlBb2VDQStQajRnTXlrN1hHNTlYRzVsZUhCdmNuUnpMbWN3WHpJMU5pQTlJR2N3WHpJMU5qdGNibHh1Wm5WdVkzUnBiMjRnWnpGZk1qVTJLSGdwSUh0Y2JpQWdjbVYwZFhKdUlISnZkSEl6TWloNExDQXhOeWtnWGlCeWIzUnlNeklvZUN3Z01Ua3BJRjRnS0hnZ1BqNCtJREV3S1R0Y2JuMWNibVY0Y0c5eWRITXVaekZmTWpVMklEMGdaekZmTWpVMk8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhL2NvbW1vbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuXFxuZXhwb3J0cy5pbmhlcml0cyA9IGluaGVyaXRzO1xcblxcbmZ1bmN0aW9uIGlzU3Vycm9nYXRlUGFpcihtc2csIGkpIHtcXG4gIGlmICgobXNnLmNoYXJDb2RlQXQoaSkgJiAweEZDMDApICE9PSAweEQ4MDApIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbiAgaWYgKGkgPCAwIHx8IGkgKyAxID49IG1zZy5sZW5ndGgpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbiAgcmV0dXJuIChtc2cuY2hhckNvZGVBdChpICsgMSkgJiAweEZDMDApID09PSAweERDMDA7XFxufVxcblxcbmZ1bmN0aW9uIHRvQXJyYXkobXNnLCBlbmMpIHtcXG4gIGlmIChBcnJheS5pc0FycmF5KG1zZykpXFxuICAgIHJldHVybiBtc2cuc2xpY2UoKTtcXG4gIGlmICghbXNnKVxcbiAgICByZXR1cm4gW107XFxuICB2YXIgcmVzID0gW107XFxuICBpZiAodHlwZW9mIG1zZyA9PT0gJ3N0cmluZycpIHtcXG4gICAgaWYgKCFlbmMpIHtcXG4gICAgICAvLyBJbnNwaXJlZCBieSBzdHJpbmdUb1V0ZjhCeXRlQXJyYXkoKSBpbiBjbG9zdXJlLWxpYnJhcnkgYnkgR29vZ2xlXFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9jbG9zdXJlLWxpYnJhcnkvYmxvYi84NTk4ZDg3MjQyYWY1OWFhYzIzMzI3MDc0MmM4OTg0ZTJiMmJkYmUwL2Nsb3N1cmUvZ29vZy9jcnlwdC9jcnlwdC5qcyNMMTE3LUwxNDNcXG4gICAgICAvLyBBcGFjaGUgTGljZW5zZSAyLjBcXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtbGlicmFyeS9ibG9iL21hc3Rlci9MSUNFTlNFXFxuICAgICAgdmFyIHAgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgYyA9IG1zZy5jaGFyQ29kZUF0KGkpO1xcbiAgICAgICAgaWYgKGMgPCAxMjgpIHtcXG4gICAgICAgICAgcmVzW3ArK10gPSBjO1xcbiAgICAgICAgfSBlbHNlIGlmIChjIDwgMjA0OCkge1xcbiAgICAgICAgICByZXNbcCsrXSA9IChjID4+IDYpIHwgMTkyO1xcbiAgICAgICAgICByZXNbcCsrXSA9IChjICYgNjMpIHwgMTI4O1xcbiAgICAgICAgfSBlbHNlIGlmIChpc1N1cnJvZ2F0ZVBhaXIobXNnLCBpKSkge1xcbiAgICAgICAgICBjID0gMHgxMDAwMCArICgoYyAmIDB4MDNGRikgPDwgMTApICsgKG1zZy5jaGFyQ29kZUF0KCsraSkgJiAweDAzRkYpO1xcbiAgICAgICAgICByZXNbcCsrXSA9IChjID4+IDE4KSB8IDI0MDtcXG4gICAgICAgICAgcmVzW3ArK10gPSAoKGMgPj4gMTIpICYgNjMpIHwgMTI4O1xcbiAgICAgICAgICByZXNbcCsrXSA9ICgoYyA+PiA2KSAmIDYzKSB8IDEyODtcXG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHJlc1twKytdID0gKGMgPj4gMTIpIHwgMjI0O1xcbiAgICAgICAgICByZXNbcCsrXSA9ICgoYyA+PiA2KSAmIDYzKSB8IDEyODtcXG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZW5jID09PSAnaGV4Jykge1xcbiAgICAgIG1zZyA9IG1zZy5yZXBsYWNlKC9bXmEtejAtOV0rL2lnLCAnJyk7XFxuICAgICAgaWYgKG1zZy5sZW5ndGggJSAyICE9PSAwKVxcbiAgICAgICAgbXNnID0gJzAnICsgbXNnO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpICs9IDIpXFxuICAgICAgICByZXMucHVzaChwYXJzZUludChtc2dbaV0gKyBtc2dbaSArIDFdLCAxNikpO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxcbiAgICAgIHJlc1tpXSA9IG1zZ1tpXSB8IDA7XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG5leHBvcnRzLnRvQXJyYXkgPSB0b0FycmF5O1xcblxcbmZ1bmN0aW9uIHRvSGV4KG1zZykge1xcbiAgdmFyIHJlcyA9ICcnO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpKyspXFxuICAgIHJlcyArPSB6ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtcXG4gIHJldHVybiByZXM7XFxufVxcbmV4cG9ydHMudG9IZXggPSB0b0hleDtcXG5cXG5mdW5jdGlvbiBodG9ubCh3KSB7XFxuICB2YXIgcmVzID0gKHcgPj4+IDI0KSB8XFxuICAgICAgICAgICAgKCh3ID4+PiA4KSAmIDB4ZmYwMCkgfFxcbiAgICAgICAgICAgICgodyA8PCA4KSAmIDB4ZmYwMDAwKSB8XFxuICAgICAgICAgICAgKCh3ICYgMHhmZikgPDwgMjQpO1xcbiAgcmV0dXJuIHJlcyA+Pj4gMDtcXG59XFxuZXhwb3J0cy5odG9ubCA9IGh0b25sO1xcblxcbmZ1bmN0aW9uIHRvSGV4MzIobXNnLCBlbmRpYW4pIHtcXG4gIHZhciByZXMgPSAnJztcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciB3ID0gbXNnW2ldO1xcbiAgICBpZiAoZW5kaWFuID09PSAnbGl0dGxlJylcXG4gICAgICB3ID0gaHRvbmwodyk7XFxuICAgIHJlcyArPSB6ZXJvOCh3LnRvU3RyaW5nKDE2KSk7XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG5leHBvcnRzLnRvSGV4MzIgPSB0b0hleDMyO1xcblxcbmZ1bmN0aW9uIHplcm8yKHdvcmQpIHtcXG4gIGlmICh3b3JkLmxlbmd0aCA9PT0gMSlcXG4gICAgcmV0dXJuICcwJyArIHdvcmQ7XFxuICBlbHNlXFxuICAgIHJldHVybiB3b3JkO1xcbn1cXG5leHBvcnRzLnplcm8yID0gemVybzI7XFxuXFxuZnVuY3Rpb24gemVybzgod29yZCkge1xcbiAgaWYgKHdvcmQubGVuZ3RoID09PSA3KVxcbiAgICByZXR1cm4gJzAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSA2KVxcbiAgICByZXR1cm4gJzAwJyArIHdvcmQ7XFxuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gNSlcXG4gICAgcmV0dXJuICcwMDAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSA0KVxcbiAgICByZXR1cm4gJzAwMDAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSAzKVxcbiAgICByZXR1cm4gJzAwMDAwJyArIHdvcmQ7XFxuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gMilcXG4gICAgcmV0dXJuICcwMDAwMDAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSAxKVxcbiAgICByZXR1cm4gJzAwMDAwMDAnICsgd29yZDtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHdvcmQ7XFxufVxcbmV4cG9ydHMuemVybzggPSB6ZXJvODtcXG5cXG5mdW5jdGlvbiBqb2luMzIobXNnLCBzdGFydCwgZW5kLCBlbmRpYW4pIHtcXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydDtcXG4gIGFzc2VydChsZW4gJSA0ID09PSAwKTtcXG4gIHZhciByZXMgPSBuZXcgQXJyYXkobGVuIC8gNCk7XFxuICBmb3IgKHZhciBpID0gMCwgayA9IHN0YXJ0OyBpIDwgcmVzLmxlbmd0aDsgaSsrLCBrICs9IDQpIHtcXG4gICAgdmFyIHc7XFxuICAgIGlmIChlbmRpYW4gPT09ICdiaWcnKVxcbiAgICAgIHcgPSAobXNnW2tdIDw8IDI0KSB8IChtc2dbayArIDFdIDw8IDE2KSB8IChtc2dbayArIDJdIDw8IDgpIHwgbXNnW2sgKyAzXTtcXG4gICAgZWxzZVxcbiAgICAgIHcgPSAobXNnW2sgKyAzXSA8PCAyNCkgfCAobXNnW2sgKyAyXSA8PCAxNikgfCAobXNnW2sgKyAxXSA8PCA4KSB8IG1zZ1trXTtcXG4gICAgcmVzW2ldID0gdyA+Pj4gMDtcXG4gIH1cXG4gIHJldHVybiByZXM7XFxufVxcbmV4cG9ydHMuam9pbjMyID0gam9pbjMyO1xcblxcbmZ1bmN0aW9uIHNwbGl0MzIobXNnLCBlbmRpYW4pIHtcXG4gIHZhciByZXMgPSBuZXcgQXJyYXkobXNnLmxlbmd0aCAqIDQpO1xcbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrLCBrICs9IDQpIHtcXG4gICAgdmFyIG0gPSBtc2dbaV07XFxuICAgIGlmIChlbmRpYW4gPT09ICdiaWcnKSB7XFxuICAgICAgcmVzW2tdID0gbSA+Pj4gMjQ7XFxuICAgICAgcmVzW2sgKyAxXSA9IChtID4+PiAxNikgJiAweGZmO1xcbiAgICAgIHJlc1trICsgMl0gPSAobSA+Pj4gOCkgJiAweGZmO1xcbiAgICAgIHJlc1trICsgM10gPSBtICYgMHhmZjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXNbayArIDNdID0gbSA+Pj4gMjQ7XFxuICAgICAgcmVzW2sgKyAyXSA9IChtID4+PiAxNikgJiAweGZmO1xcbiAgICAgIHJlc1trICsgMV0gPSAobSA+Pj4gOCkgJiAweGZmO1xcbiAgICAgIHJlc1trXSA9IG0gJiAweGZmO1xcbiAgICB9XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG5leHBvcnRzLnNwbGl0MzIgPSBzcGxpdDMyO1xcblxcbmZ1bmN0aW9uIHJvdHIzMih3LCBiKSB7XFxuICByZXR1cm4gKHcgPj4+IGIpIHwgKHcgPDwgKDMyIC0gYikpO1xcbn1cXG5leHBvcnRzLnJvdHIzMiA9IHJvdHIzMjtcXG5cXG5mdW5jdGlvbiByb3RsMzIodywgYikge1xcbiAgcmV0dXJuICh3IDw8IGIpIHwgKHcgPj4+ICgzMiAtIGIpKTtcXG59XFxuZXhwb3J0cy5yb3RsMzIgPSByb3RsMzI7XFxuXFxuZnVuY3Rpb24gc3VtMzIoYSwgYikge1xcbiAgcmV0dXJuIChhICsgYikgPj4+IDA7XFxufVxcbmV4cG9ydHMuc3VtMzIgPSBzdW0zMjtcXG5cXG5mdW5jdGlvbiBzdW0zMl8zKGEsIGIsIGMpIHtcXG4gIHJldHVybiAoYSArIGIgKyBjKSA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW0zMl8zID0gc3VtMzJfMztcXG5cXG5mdW5jdGlvbiBzdW0zMl80KGEsIGIsIGMsIGQpIHtcXG4gIHJldHVybiAoYSArIGIgKyBjICsgZCkgPj4+IDA7XFxufVxcbmV4cG9ydHMuc3VtMzJfNCA9IHN1bTMyXzQ7XFxuXFxuZnVuY3Rpb24gc3VtMzJfNShhLCBiLCBjLCBkLCBlKSB7XFxuICByZXR1cm4gKGEgKyBiICsgYyArIGQgKyBlKSA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW0zMl81ID0gc3VtMzJfNTtcXG5cXG5mdW5jdGlvbiBzdW02NChidWYsIHBvcywgYWgsIGFsKSB7XFxuICB2YXIgYmggPSBidWZbcG9zXTtcXG4gIHZhciBibCA9IGJ1Zltwb3MgKyAxXTtcXG5cXG4gIHZhciBsbyA9IChhbCArIGJsKSA+Pj4gMDtcXG4gIHZhciBoaSA9IChsbyA8IGFsID8gMSA6IDApICsgYWggKyBiaDtcXG4gIGJ1Zltwb3NdID0gaGkgPj4+IDA7XFxuICBidWZbcG9zICsgMV0gPSBsbztcXG59XFxuZXhwb3J0cy5zdW02NCA9IHN1bTY0O1xcblxcbmZ1bmN0aW9uIHN1bTY0X2hpKGFoLCBhbCwgYmgsIGJsKSB7XFxuICB2YXIgbG8gPSAoYWwgKyBibCkgPj4+IDA7XFxuICB2YXIgaGkgPSAobG8gPCBhbCA/IDEgOiAwKSArIGFoICsgYmg7XFxuICByZXR1cm4gaGkgPj4+IDA7XFxufVxcbmV4cG9ydHMuc3VtNjRfaGkgPSBzdW02NF9oaTtcXG5cXG5mdW5jdGlvbiBzdW02NF9sbyhhaCwgYWwsIGJoLCBibCkge1xcbiAgdmFyIGxvID0gYWwgKyBibDtcXG4gIHJldHVybiBsbyA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW02NF9sbyA9IHN1bTY0X2xvO1xcblxcbmZ1bmN0aW9uIHN1bTY0XzRfaGkoYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XFxuICB2YXIgY2FycnkgPSAwO1xcbiAgdmFyIGxvID0gYWw7XFxuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcXG4gIGNhcnJ5ICs9IGxvIDwgYWwgPyAxIDogMDtcXG4gIGxvID0gKGxvICsgY2wpID4+PiAwO1xcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xcbiAgbG8gPSAobG8gKyBkbCkgPj4+IDA7XFxuICBjYXJyeSArPSBsbyA8IGRsID8gMSA6IDA7XFxuXFxuICB2YXIgaGkgPSBhaCArIGJoICsgY2ggKyBkaCArIGNhcnJ5O1xcbiAgcmV0dXJuIGhpID4+PiAwO1xcbn1cXG5leHBvcnRzLnN1bTY0XzRfaGkgPSBzdW02NF80X2hpO1xcblxcbmZ1bmN0aW9uIHN1bTY0XzRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XFxuICB2YXIgbG8gPSBhbCArIGJsICsgY2wgKyBkbDtcXG4gIHJldHVybiBsbyA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW02NF80X2xvID0gc3VtNjRfNF9sbztcXG5cXG5mdW5jdGlvbiBzdW02NF81X2hpKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wsIGRoLCBkbCwgZWgsIGVsKSB7XFxuICB2YXIgY2FycnkgPSAwO1xcbiAgdmFyIGxvID0gYWw7XFxuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcXG4gIGNhcnJ5ICs9IGxvIDwgYWwgPyAxIDogMDtcXG4gIGxvID0gKGxvICsgY2wpID4+PiAwO1xcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xcbiAgbG8gPSAobG8gKyBkbCkgPj4+IDA7XFxuICBjYXJyeSArPSBsbyA8IGRsID8gMSA6IDA7XFxuICBsbyA9IChsbyArIGVsKSA+Pj4gMDtcXG4gIGNhcnJ5ICs9IGxvIDwgZWwgPyAxIDogMDtcXG5cXG4gIHZhciBoaSA9IGFoICsgYmggKyBjaCArIGRoICsgZWggKyBjYXJyeTtcXG4gIHJldHVybiBoaSA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW02NF81X2hpID0gc3VtNjRfNV9oaTtcXG5cXG5mdW5jdGlvbiBzdW02NF81X2xvKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wsIGRoLCBkbCwgZWgsIGVsKSB7XFxuICB2YXIgbG8gPSBhbCArIGJsICsgY2wgKyBkbCArIGVsO1xcblxcbiAgcmV0dXJuIGxvID4+PiAwO1xcbn1cXG5leHBvcnRzLnN1bTY0XzVfbG8gPSBzdW02NF81X2xvO1xcblxcbmZ1bmN0aW9uIHJvdHI2NF9oaShhaCwgYWwsIG51bSkge1xcbiAgdmFyIHIgPSAoYWwgPDwgKDMyIC0gbnVtKSkgfCAoYWggPj4+IG51bSk7XFxuICByZXR1cm4gciA+Pj4gMDtcXG59XFxuZXhwb3J0cy5yb3RyNjRfaGkgPSByb3RyNjRfaGk7XFxuXFxuZnVuY3Rpb24gcm90cjY0X2xvKGFoLCBhbCwgbnVtKSB7XFxuICB2YXIgciA9IChhaCA8PCAoMzIgLSBudW0pKSB8IChhbCA+Pj4gbnVtKTtcXG4gIHJldHVybiByID4+PiAwO1xcbn1cXG5leHBvcnRzLnJvdHI2NF9sbyA9IHJvdHI2NF9sbztcXG5cXG5mdW5jdGlvbiBzaHI2NF9oaShhaCwgYWwsIG51bSkge1xcbiAgcmV0dXJuIGFoID4+PiBudW07XFxufVxcbmV4cG9ydHMuc2hyNjRfaGkgPSBzaHI2NF9oaTtcXG5cXG5mdW5jdGlvbiBzaHI2NF9sbyhhaCwgYWwsIG51bSkge1xcbiAgdmFyIHIgPSAoYWggPDwgKDMyIC0gbnVtKSkgfCAoYWwgPj4+IG51bSk7XFxuICByZXR1cm4gciA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zaHI2NF9sbyA9IHNocjY0X2xvO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MbXB6TDJ4cFlpOW9ZWE5vTDNWMGFXeHpMbXB6UHpRek1qUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEZRVUZ4UWp0QlFVTXhReXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3BET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRaXhuUWtGQlowSTdRVUZEY2tNN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeG5Ra0ZCWjBJN1FVRkRha003UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0N4bFFVRmxMR2RDUVVGblFqdEJRVU12UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzWjBKQlFXZENPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4blFrRkJaMEk3UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERSQ1FVRTBRaXhuUWtGQlowSTdRVUZETlVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEhkQ1FVRjNRaXhuUWtGQlowSTdRVUZEZUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzVxY3k5c2FXSXZhR0Z6YUM5MWRHbHNjeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdGemMyVnlkQ0E5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWhjM05sY25RbktUdGNiblpoY2lCcGJtaGxjbWwwY3lBOUlISmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5azdYRzVjYm1WNGNHOXlkSE11YVc1b1pYSnBkSE1nUFNCcGJtaGxjbWwwY3p0Y2JseHVablZ1WTNScGIyNGdhWE5UZFhKeWIyZGhkR1ZRWVdseUtHMXpaeXdnYVNrZ2UxeHVJQ0JwWmlBb0tHMXpaeTVqYUdGeVEyOWtaVUYwS0drcElDWWdNSGhHUXpBd0tTQWhQVDBnTUhoRU9EQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzRnSUdsbUlDaHBJRHdnTUNCOGZDQnBJQ3NnTVNBK1BTQnRjMmN1YkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzRnSUhKbGRIVnliaUFvYlhObkxtTm9ZWEpEYjJSbFFYUW9hU0FySURFcElDWWdNSGhHUXpBd0tTQTlQVDBnTUhoRVF6QXdPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBiMEZ5Y21GNUtHMXpaeXdnWlc1aktTQjdYRzRnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0cxelp5a3BYRzRnSUNBZ2NtVjBkWEp1SUcxelp5NXpiR2xqWlNncE8xeHVJQ0JwWmlBb0lXMXpaeWxjYmlBZ0lDQnlaWFIxY200Z1cxMDdYRzRnSUhaaGNpQnlaWE1nUFNCYlhUdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCdGMyY2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnYVdZZ0tDRmxibU1wSUh0Y2JpQWdJQ0FnSUM4dklFbHVjM0JwY21Wa0lHSjVJSE4wY21sdVoxUnZWWFJtT0VKNWRHVkJjbkpoZVNncElHbHVJR05zYjNOMWNtVXRiR2xpY21GeWVTQmllU0JIYjI5bmJHVmNiaUFnSUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzluYjI5bmJHVXZZMnh2YzNWeVpTMXNhV0p5WVhKNUwySnNiMkl2T0RVNU9HUTROekkwTW1GbU5UbGhZV015TXpNeU56QTNOREpqT0RrNE5HVXlZakppWkdKbE1DOWpiRzl6ZFhKbEwyZHZiMmN2WTNKNWNIUXZZM0o1Y0hRdWFuTWpUREV4TnkxTU1UUXpYRzRnSUNBZ0lDQXZMeUJCY0dGamFHVWdUR2xqWlc1elpTQXlMakJjYmlBZ0lDQWdJQzh2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bmIyOW5iR1V2WTJ4dmMzVnlaUzFzYVdKeVlYSjVMMkpzYjJJdmJXRnpkR1Z5TDB4SlEwVk9VMFZjYmlBZ0lDQWdJSFpoY2lCd0lEMGdNRHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYlhObkxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmpJRDBnYlhObkxtTm9ZWEpEYjJSbFFYUW9hU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpJRHdnTVRJNEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WelczQXJLMTBnUFNCak8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUENBeU1EUTRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0FySzEwZ1BTQW9ZeUErUGlBMktTQjhJREU1TWp0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5iY0NzclhTQTlJQ2hqSUNZZ05qTXBJSHdnTVRJNE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x6VTNWeWNtOW5ZWFJsVUdGcGNpaHRjMmNzSUdrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWXlBOUlEQjRNVEF3TURBZ0t5QW9LR01nSmlBd2VEQXpSa1lwSUR3OElERXdLU0FySUNodGMyY3VZMmhoY2tOdlpHVkJkQ2dySzJrcElDWWdNSGd3TTBaR0tUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmNDc3JYU0E5SUNoaklENCtJREU0S1NCOElESTBNRHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTmJjQ3NyWFNBOUlDZ29ZeUErUGlBeE1pa2dKaUEyTXlrZ2ZDQXhNamc3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0FySzEwZ1BTQW9LR01nUGo0Z05pa2dKaUEyTXlrZ2ZDQXhNamc3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0FySzEwZ1BTQW9ZeUFtSURZektTQjhJREV5T0R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5iY0NzclhTQTlJQ2hqSUQ0K0lERXlLU0I4SURJeU5EdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmNDc3JYU0E5SUNnb1l5QStQaUEyS1NBbUlEWXpLU0I4SURFeU9EdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmNDc3JYU0E5SUNoaklDWWdOak1wSUh3Z01USTRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hsYm1NZ1BUMDlJQ2RvWlhnbktTQjdYRzRnSUNBZ0lDQnRjMmNnUFNCdGMyY3VjbVZ3YkdGalpTZ3ZXMTVoTFhvd0xUbGRLeTlwWnl3Z0p5Y3BPMXh1SUNBZ0lDQWdhV1lnS0cxelp5NXNaVzVuZEdnZ0pTQXlJQ0U5UFNBd0tWeHVJQ0FnSUNBZ0lDQnRjMmNnUFNBbk1DY2dLeUJ0YzJjN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYlhObkxteGxibWQwYURzZ2FTQXJQU0F5S1Z4dUlDQWdJQ0FnSUNCeVpYTXVjSFZ6YUNod1lYSnpaVWx1ZENodGMyZGJhVjBnS3lCdGMyZGJhU0FySURGZExDQXhOaWtwTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2diWE5uTG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ2NtVnpXMmxkSUQwZ2JYTm5XMmxkSUh3Z01EdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlZ4dVpYaHdiM0owY3k1MGIwRnljbUY1SUQwZ2RHOUJjbkpoZVR0Y2JseHVablZ1WTNScGIyNGdkRzlJWlhnb2JYTm5LU0I3WEc0Z0lIWmhjaUJ5WlhNZ1BTQW5KenRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnRjMmN1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnY21WeklDczlJSHBsY204eUtHMXpaMXRwWFM1MGIxTjBjbWx1WnlneE5pa3BPMXh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1Wlhod2IzSjBjeTUwYjBobGVDQTlJSFJ2U0dWNE8xeHVYRzVtZFc1amRHbHZiaUJvZEc5dWJDaDNLU0I3WEc0Z0lIWmhjaUJ5WlhNZ1BTQW9keUErUGo0Z01qUXBJSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ29keUErUGo0Z09Da2dKaUF3ZUdabU1EQXBJSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ29keUE4UENBNEtTQW1JREI0Wm1Zd01EQXdLU0I4WEc0Z0lDQWdJQ0FnSUNBZ0lDQW9LSGNnSmlBd2VHWm1LU0E4UENBeU5DazdYRzRnSUhKbGRIVnliaUJ5WlhNZ1BqNCtJREE3WEc1OVhHNWxlSEJ2Y25SekxtaDBiMjVzSUQwZ2FIUnZibXc3WEc1Y2JtWjFibU4wYVc5dUlIUnZTR1Y0TXpJb2JYTm5MQ0JsYm1ScFlXNHBJSHRjYmlBZ2RtRnlJSEpsY3lBOUlDY25PMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHMXpaeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnYlhOblcybGRPMXh1SUNBZ0lHbG1JQ2hsYm1ScFlXNGdQVDA5SUNkc2FYUjBiR1VuS1Z4dUlDQWdJQ0FnZHlBOUlHaDBiMjVzS0hjcE8xeHVJQ0FnSUhKbGN5QXJQU0I2WlhKdk9DaDNMblJ2VTNSeWFXNW5LREUyS1NrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjFjYm1WNGNHOXlkSE11ZEc5SVpYZ3pNaUE5SUhSdlNHVjRNekk3WEc1Y2JtWjFibU4wYVc5dUlIcGxjbTh5S0hkdmNtUXBJSHRjYmlBZ2FXWWdLSGR2Y21RdWJHVnVaM1JvSUQwOVBTQXhLVnh1SUNBZ0lISmxkSFZ5YmlBbk1DY2dLeUIzYjNKa08xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJSGR2Y21RN1hHNTlYRzVsZUhCdmNuUnpMbnBsY204eUlEMGdlbVZ5YnpJN1hHNWNibVoxYm1OMGFXOXVJSHBsY204NEtIZHZjbVFwSUh0Y2JpQWdhV1lnS0hkdmNtUXViR1Z1WjNSb0lEMDlQU0EzS1Z4dUlDQWdJSEpsZEhWeWJpQW5NQ2NnS3lCM2IzSmtPMXh1SUNCbGJITmxJR2xtSUNoM2IzSmtMbXhsYm1kMGFDQTlQVDBnTmlsY2JpQWdJQ0J5WlhSMWNtNGdKekF3SnlBcklIZHZjbVE3WEc0Z0lHVnNjMlVnYVdZZ0tIZHZjbVF1YkdWdVozUm9JRDA5UFNBMUtWeHVJQ0FnSUhKbGRIVnliaUFuTURBd0p5QXJJSGR2Y21RN1hHNGdJR1ZzYzJVZ2FXWWdLSGR2Y21RdWJHVnVaM1JvSUQwOVBTQTBLVnh1SUNBZ0lISmxkSFZ5YmlBbk1EQXdNQ2NnS3lCM2IzSmtPMXh1SUNCbGJITmxJR2xtSUNoM2IzSmtMbXhsYm1kMGFDQTlQVDBnTXlsY2JpQWdJQ0J5WlhSMWNtNGdKekF3TURBd0p5QXJJSGR2Y21RN1hHNGdJR1ZzYzJVZ2FXWWdLSGR2Y21RdWJHVnVaM1JvSUQwOVBTQXlLVnh1SUNBZ0lISmxkSFZ5YmlBbk1EQXdNREF3SnlBcklIZHZjbVE3WEc0Z0lHVnNjMlVnYVdZZ0tIZHZjbVF1YkdWdVozUm9JRDA5UFNBeEtWeHVJQ0FnSUhKbGRIVnliaUFuTURBd01EQXdNQ2NnS3lCM2IzSmtPMXh1SUNCbGJITmxYRzRnSUNBZ2NtVjBkWEp1SUhkdmNtUTdYRzU5WEc1bGVIQnZjblJ6TG5wbGNtODRJRDBnZW1WeWJ6ZzdYRzVjYm1aMWJtTjBhVzl1SUdwdmFXNHpNaWh0YzJjc0lITjBZWEowTENCbGJtUXNJR1Z1WkdsaGJpa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ1pXNWtJQzBnYzNSaGNuUTdYRzRnSUdGemMyVnlkQ2hzWlc0Z0pTQTBJRDA5UFNBd0tUdGNiaUFnZG1GeUlISmxjeUE5SUc1bGR5QkJjbkpoZVNoc1pXNGdMeUEwS1R0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBc0lHc2dQU0J6ZEdGeWREc2dhU0E4SUhKbGN5NXNaVzVuZEdnN0lHa3JLeXdnYXlBclBTQTBLU0I3WEc0Z0lDQWdkbUZ5SUhjN1hHNGdJQ0FnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMkpwWnljcFhHNGdJQ0FnSUNCM0lEMGdLRzF6WjF0clhTQThQQ0F5TkNrZ2ZDQW9iWE5uVzJzZ0t5QXhYU0E4UENBeE5pa2dmQ0FvYlhOblcyc2dLeUF5WFNBOFBDQTRLU0I4SUcxeloxdHJJQ3NnTTEwN1hHNGdJQ0FnWld4elpWeHVJQ0FnSUNBZ2R5QTlJQ2h0YzJkYmF5QXJJRE5kSUR3OElESTBLU0I4SUNodGMyZGJheUFySURKZElEdzhJREUyS1NCOElDaHRjMmRiYXlBcklERmRJRHc4SURncElId2diWE5uVzJ0ZE8xeHVJQ0FnSUhKbGMxdHBYU0E5SUhjZ1BqNCtJREE3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMWNibVY0Y0c5eWRITXVhbTlwYmpNeUlEMGdhbTlwYmpNeU8xeHVYRzVtZFc1amRHbHZiaUJ6Y0d4cGRETXlLRzF6Wnl3Z1pXNWthV0Z1S1NCN1hHNGdJSFpoY2lCeVpYTWdQU0J1WlhjZ1FYSnlZWGtvYlhObkxteGxibWQwYUNBcUlEUXBPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYXlBOUlEQTdJR2tnUENCdGMyY3ViR1Z1WjNSb095QnBLeXNzSUdzZ0t6MGdOQ2tnZTF4dUlDQWdJSFpoY2lCdElEMGdiWE5uVzJsZE8xeHVJQ0FnSUdsbUlDaGxibVJwWVc0Z1BUMDlJQ2RpYVdjbktTQjdYRzRnSUNBZ0lDQnlaWE5iYTEwZ1BTQnRJRDQrUGlBeU5EdGNiaUFnSUNBZ0lISmxjMXRySUNzZ01WMGdQU0FvYlNBK1BqNGdNVFlwSUNZZ01IaG1aanRjYmlBZ0lDQWdJSEpsYzF0cklDc2dNbDBnUFNBb2JTQStQajRnT0NrZ0ppQXdlR1ptTzF4dUlDQWdJQ0FnY21Welcyc2dLeUF6WFNBOUlHMGdKaUF3ZUdabU8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhOYmF5QXJJRE5kSUQwZ2JTQStQajRnTWpRN1hHNGdJQ0FnSUNCeVpYTmJheUFySURKZElEMGdLRzBnUGo0K0lERTJLU0FtSURCNFptWTdYRzRnSUNBZ0lDQnlaWE5iYXlBcklERmRJRDBnS0cwZ1BqNCtJRGdwSUNZZ01IaG1aanRjYmlBZ0lDQWdJSEpsYzF0clhTQTlJRzBnSmlBd2VHWm1PMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlZ4dVpYaHdiM0owY3k1emNHeHBkRE15SUQwZ2MzQnNhWFF6TWp0Y2JseHVablZ1WTNScGIyNGdjbTkwY2pNeUtIY3NJR0lwSUh0Y2JpQWdjbVYwZFhKdUlDaDNJRDQrUGlCaUtTQjhJQ2gzSUR3OElDZ3pNaUF0SUdJcEtUdGNibjFjYm1WNGNHOXlkSE11Y205MGNqTXlJRDBnY205MGNqTXlPMXh1WEc1bWRXNWpkR2x2YmlCeWIzUnNNeklvZHl3Z1lpa2dlMXh1SUNCeVpYUjFjbTRnS0hjZ1BEd2dZaWtnZkNBb2R5QStQajRnS0RNeUlDMGdZaWtwTzF4dWZWeHVaWGh3YjNKMGN5NXliM1JzTXpJZ1BTQnliM1JzTXpJN1hHNWNibVoxYm1OMGFXOXVJSE4xYlRNeUtHRXNJR0lwSUh0Y2JpQWdjbVYwZFhKdUlDaGhJQ3NnWWlrZ1BqNCtJREE3WEc1OVhHNWxlSEJ2Y25SekxuTjFiVE15SUQwZ2MzVnRNekk3WEc1Y2JtWjFibU4wYVc5dUlITjFiVE15WHpNb1lTd2dZaXdnWXlrZ2UxeHVJQ0J5WlhSMWNtNGdLR0VnS3lCaUlDc2dZeWtnUGo0K0lEQTdYRzU5WEc1bGVIQnZjblJ6TG5OMWJUTXlYek1nUFNCemRXMHpNbDh6TzF4dVhHNW1kVzVqZEdsdmJpQnpkVzB6TWw4MEtHRXNJR0lzSUdNc0lHUXBJSHRjYmlBZ2NtVjBkWEp1SUNoaElDc2dZaUFySUdNZ0t5QmtLU0ErUGo0Z01EdGNibjFjYm1WNGNHOXlkSE11YzNWdE16SmZOQ0E5SUhOMWJUTXlYelE3WEc1Y2JtWjFibU4wYVc5dUlITjFiVE15WHpVb1lTd2dZaXdnWXl3Z1pDd2daU2tnZTF4dUlDQnlaWFIxY200Z0tHRWdLeUJpSUNzZ1l5QXJJR1FnS3lCbEtTQStQajRnTUR0Y2JuMWNibVY0Y0c5eWRITXVjM1Z0TXpKZk5TQTlJSE4xYlRNeVh6VTdYRzVjYm1aMWJtTjBhVzl1SUhOMWJUWTBLR0oxWml3Z2NHOXpMQ0JoYUN3Z1lXd3BJSHRjYmlBZ2RtRnlJR0pvSUQwZ1luVm1XM0J2YzEwN1hHNGdJSFpoY2lCaWJDQTlJR0oxWmx0d2IzTWdLeUF4WFR0Y2JseHVJQ0IyWVhJZ2JHOGdQU0FvWVd3Z0t5QmliQ2tnUGo0K0lEQTdYRzRnSUhaaGNpQm9hU0E5SUNoc2J5QThJR0ZzSUQ4Z01TQTZJREFwSUNzZ1lXZ2dLeUJpYUR0Y2JpQWdZblZtVzNCdmMxMGdQU0JvYVNBK1BqNGdNRHRjYmlBZ1luVm1XM0J2Y3lBcklERmRJRDBnYkc4N1hHNTlYRzVsZUhCdmNuUnpMbk4xYlRZMElEMGdjM1Z0TmpRN1hHNWNibVoxYm1OMGFXOXVJSE4xYlRZMFgyaHBLR0ZvTENCaGJDd2dZbWdzSUdKc0tTQjdYRzRnSUhaaGNpQnNieUE5SUNoaGJDQXJJR0pzS1NBK1BqNGdNRHRjYmlBZ2RtRnlJR2hwSUQwZ0tHeHZJRHdnWVd3Z1B5QXhJRG9nTUNrZ0t5QmhhQ0FySUdKb08xeHVJQ0J5WlhSMWNtNGdhR2tnUGo0K0lEQTdYRzU5WEc1bGVIQnZjblJ6TG5OMWJUWTBYMmhwSUQwZ2MzVnROalJmYUdrN1hHNWNibVoxYm1OMGFXOXVJSE4xYlRZMFgyeHZLR0ZvTENCaGJDd2dZbWdzSUdKc0tTQjdYRzRnSUhaaGNpQnNieUE5SUdGc0lDc2dZbXc3WEc0Z0lISmxkSFZ5YmlCc2J5QStQajRnTUR0Y2JuMWNibVY0Y0c5eWRITXVjM1Z0TmpSZmJHOGdQU0J6ZFcwMk5GOXNienRjYmx4dVpuVnVZM1JwYjI0Z2MzVnROalJmTkY5b2FTaGhhQ3dnWVd3c0lHSm9MQ0JpYkN3Z1kyZ3NJR05zTENCa2FDd2daR3dwSUh0Y2JpQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdkbUZ5SUd4dklEMGdZV3c3WEc0Z0lHeHZJRDBnS0d4dklDc2dZbXdwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR0ZzSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2dZMndwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR05zSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2daR3dwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR1JzSUQ4Z01TQTZJREE3WEc1Y2JpQWdkbUZ5SUdocElEMGdZV2dnS3lCaWFDQXJJR05vSUNzZ1pHZ2dLeUJqWVhKeWVUdGNiaUFnY21WMGRYSnVJR2hwSUQ0K1BpQXdPMXh1ZlZ4dVpYaHdiM0owY3k1emRXMDJORjgwWDJocElEMGdjM1Z0TmpSZk5GOW9hVHRjYmx4dVpuVnVZM1JwYjI0Z2MzVnROalJmTkY5c2J5aGhhQ3dnWVd3c0lHSm9MQ0JpYkN3Z1kyZ3NJR05zTENCa2FDd2daR3dwSUh0Y2JpQWdkbUZ5SUd4dklEMGdZV3dnS3lCaWJDQXJJR05zSUNzZ1pHdzdYRzRnSUhKbGRIVnliaUJzYnlBK1BqNGdNRHRjYm4xY2JtVjRjRzl5ZEhNdWMzVnROalJmTkY5c2J5QTlJSE4xYlRZMFh6UmZiRzg3WEc1Y2JtWjFibU4wYVc5dUlITjFiVFkwWHpWZmFHa29ZV2dzSUdGc0xDQmlhQ3dnWW13c0lHTm9MQ0JqYkN3Z1pHZ3NJR1JzTENCbGFDd2daV3dwSUh0Y2JpQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdkbUZ5SUd4dklEMGdZV3c3WEc0Z0lHeHZJRDBnS0d4dklDc2dZbXdwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR0ZzSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2dZMndwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR05zSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2daR3dwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR1JzSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2daV3dwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR1ZzSUQ4Z01TQTZJREE3WEc1Y2JpQWdkbUZ5SUdocElEMGdZV2dnS3lCaWFDQXJJR05vSUNzZ1pHZ2dLeUJsYUNBcklHTmhjbko1TzF4dUlDQnlaWFIxY200Z2FHa2dQajQrSURBN1hHNTlYRzVsZUhCdmNuUnpMbk4xYlRZMFh6VmZhR2tnUFNCemRXMDJORjgxWDJocE8xeHVYRzVtZFc1amRHbHZiaUJ6ZFcwMk5GODFYMnh2S0dGb0xDQmhiQ3dnWW1nc0lHSnNMQ0JqYUN3Z1kyd3NJR1JvTENCa2JDd2daV2dzSUdWc0tTQjdYRzRnSUhaaGNpQnNieUE5SUdGc0lDc2dZbXdnS3lCamJDQXJJR1JzSUNzZ1pXdzdYRzVjYmlBZ2NtVjBkWEp1SUd4dklENCtQaUF3TzF4dWZWeHVaWGh3YjNKMGN5NXpkVzAyTkY4MVgyeHZJRDBnYzNWdE5qUmZOVjlzYnp0Y2JseHVablZ1WTNScGIyNGdjbTkwY2pZMFgyaHBLR0ZvTENCaGJDd2diblZ0S1NCN1hHNGdJSFpoY2lCeUlEMGdLR0ZzSUR3OElDZ3pNaUF0SUc1MWJTa3BJSHdnS0dGb0lENCtQaUJ1ZFcwcE8xeHVJQ0J5WlhSMWNtNGdjaUErUGo0Z01EdGNibjFjYm1WNGNHOXlkSE11Y205MGNqWTBYMmhwSUQwZ2NtOTBjalkwWDJocE8xeHVYRzVtZFc1amRHbHZiaUJ5YjNSeU5qUmZiRzhvWVdnc0lHRnNMQ0J1ZFcwcElIdGNiaUFnZG1GeUlISWdQU0FvWVdnZ1BEd2dLRE15SUMwZ2JuVnRLU2tnZkNBb1lXd2dQajQrSUc1MWJTazdYRzRnSUhKbGRIVnliaUJ5SUQ0K1BpQXdPMXh1ZlZ4dVpYaHdiM0owY3k1eWIzUnlOalJmYkc4Z1BTQnliM1J5TmpSZmJHODdYRzVjYm1aMWJtTjBhVzl1SUhOb2NqWTBYMmhwS0dGb0xDQmhiQ3dnYm5WdEtTQjdYRzRnSUhKbGRIVnliaUJoYUNBK1BqNGdiblZ0TzF4dWZWeHVaWGh3YjNKMGN5NXphSEkyTkY5b2FTQTlJSE5vY2pZMFgyaHBPMXh1WEc1bWRXNWpkR2x2YmlCemFISTJORjlzYnloaGFDd2dZV3dzSUc1MWJTa2dlMXh1SUNCMllYSWdjaUE5SUNoaGFDQThQQ0FvTXpJZ0xTQnVkVzBwS1NCOElDaGhiQ0ErUGo0Z2JuVnRLVHRjYmlBZ2NtVjBkWEp1SUhJZ1BqNCtJREE3WEc1OVhHNWxlSEJ2Y25SekxuTm9jalkwWDJ4dklEMGdjMmh5TmpSZmJHODdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2htYWMtZHJiZy9saWIvaG1hYy1kcmJnLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2htYWMtZHJiZy9saWIvaG1hYy1kcmJnLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBoYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBIbWFjRFJCRyhvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgSG1hY0RSQkcpKVxcbiAgICByZXR1cm4gbmV3IEhtYWNEUkJHKG9wdGlvbnMpO1xcbiAgdGhpcy5oYXNoID0gb3B0aW9ucy5oYXNoO1xcbiAgdGhpcy5wcmVkUmVzaXN0ID0gISFvcHRpb25zLnByZWRSZXNpc3Q7XFxuXFxuICB0aGlzLm91dExlbiA9IHRoaXMuaGFzaC5vdXRTaXplO1xcbiAgdGhpcy5taW5FbnRyb3B5ID0gb3B0aW9ucy5taW5FbnRyb3B5IHx8IHRoaXMuaGFzaC5obWFjU3RyZW5ndGg7XFxuXFxuICB0aGlzLl9yZXNlZWQgPSBudWxsO1xcbiAgdGhpcy5yZXNlZWRJbnRlcnZhbCA9IG51bGw7XFxuICB0aGlzLksgPSBudWxsO1xcbiAgdGhpcy5WID0gbnVsbDtcXG5cXG4gIHZhciBlbnRyb3B5ID0gdXRpbHMudG9BcnJheShvcHRpb25zLmVudHJvcHksIG9wdGlvbnMuZW50cm9weUVuYyB8fCAnaGV4Jyk7XFxuICB2YXIgbm9uY2UgPSB1dGlscy50b0FycmF5KG9wdGlvbnMubm9uY2UsIG9wdGlvbnMubm9uY2VFbmMgfHwgJ2hleCcpO1xcbiAgdmFyIHBlcnMgPSB1dGlscy50b0FycmF5KG9wdGlvbnMucGVycywgb3B0aW9ucy5wZXJzRW5jIHx8ICdoZXgnKTtcXG4gIGFzc2VydChlbnRyb3B5Lmxlbmd0aCA+PSAodGhpcy5taW5FbnRyb3B5IC8gOCksXFxuICAgICAgICAgJ05vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogJyArIHRoaXMubWluRW50cm9weSArICcgYml0cycpO1xcbiAgdGhpcy5faW5pdChlbnRyb3B5LCBub25jZSwgcGVycyk7XFxufVxcbm1vZHVsZS5leHBvcnRzID0gSG1hY0RSQkc7XFxuXFxuSG1hY0RSQkcucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdChlbnRyb3B5LCBub25jZSwgcGVycykge1xcbiAgdmFyIHNlZWQgPSBlbnRyb3B5LmNvbmNhdChub25jZSkuY29uY2F0KHBlcnMpO1xcblxcbiAgdGhpcy5LID0gbmV3IEFycmF5KHRoaXMub3V0TGVuIC8gOCk7XFxuICB0aGlzLlYgPSBuZXcgQXJyYXkodGhpcy5vdXRMZW4gLyA4KTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5WLmxlbmd0aDsgaSsrKSB7XFxuICAgIHRoaXMuS1tpXSA9IDB4MDA7XFxuICAgIHRoaXMuVltpXSA9IDB4MDE7XFxuICB9XFxuXFxuICB0aGlzLl91cGRhdGUoc2VlZCk7XFxuICB0aGlzLl9yZXNlZWQgPSAxO1xcbiAgdGhpcy5yZXNlZWRJbnRlcnZhbCA9IDB4MTAwMDAwMDAwMDAwMDsgIC8vIDJeNDhcXG59O1xcblxcbkhtYWNEUkJHLnByb3RvdHlwZS5faG1hYyA9IGZ1bmN0aW9uIGhtYWMoKSB7XFxuICByZXR1cm4gbmV3IGhhc2guaG1hYyh0aGlzLmhhc2gsIHRoaXMuSyk7XFxufTtcXG5cXG5IbWFjRFJCRy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShzZWVkKSB7XFxuICB2YXIga21hYyA9IHRoaXMuX2htYWMoKVxcbiAgICAgICAgICAgICAgICAgLnVwZGF0ZSh0aGlzLlYpXFxuICAgICAgICAgICAgICAgICAudXBkYXRlKFsgMHgwMCBdKTtcXG4gIGlmIChzZWVkKVxcbiAgICBrbWFjID0ga21hYy51cGRhdGUoc2VlZCk7XFxuICB0aGlzLksgPSBrbWFjLmRpZ2VzdCgpO1xcbiAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xcbiAgaWYgKCFzZWVkKVxcbiAgICByZXR1cm47XFxuXFxuICB0aGlzLksgPSB0aGlzLl9obWFjKClcXG4gICAgICAgICAgICAgICAudXBkYXRlKHRoaXMuVilcXG4gICAgICAgICAgICAgICAudXBkYXRlKFsgMHgwMSBdKVxcbiAgICAgICAgICAgICAgIC51cGRhdGUoc2VlZClcXG4gICAgICAgICAgICAgICAuZGlnZXN0KCk7XFxuICB0aGlzLlYgPSB0aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCk7XFxufTtcXG5cXG5IbWFjRFJCRy5wcm90b3R5cGUucmVzZWVkID0gZnVuY3Rpb24gcmVzZWVkKGVudHJvcHksIGVudHJvcHlFbmMsIGFkZCwgYWRkRW5jKSB7XFxuICAvLyBPcHRpb25hbCBlbnRyb3B5IGVuY1xcbiAgaWYgKHR5cGVvZiBlbnRyb3B5RW5jICE9PSAnc3RyaW5nJykge1xcbiAgICBhZGRFbmMgPSBhZGQ7XFxuICAgIGFkZCA9IGVudHJvcHlFbmM7XFxuICAgIGVudHJvcHlFbmMgPSBudWxsO1xcbiAgfVxcblxcbiAgZW50cm9weSA9IHV0aWxzLnRvQXJyYXkoZW50cm9weSwgZW50cm9weUVuYyk7XFxuICBhZGQgPSB1dGlscy50b0FycmF5KGFkZCwgYWRkRW5jKTtcXG5cXG4gIGFzc2VydChlbnRyb3B5Lmxlbmd0aCA+PSAodGhpcy5taW5FbnRyb3B5IC8gOCksXFxuICAgICAgICAgJ05vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogJyArIHRoaXMubWluRW50cm9weSArICcgYml0cycpO1xcblxcbiAgdGhpcy5fdXBkYXRlKGVudHJvcHkuY29uY2F0KGFkZCB8fCBbXSkpO1xcbiAgdGhpcy5fcmVzZWVkID0gMTtcXG59O1xcblxcbkhtYWNEUkJHLnByb3RvdHlwZS5nZW5lcmF0ZSA9IGZ1bmN0aW9uIGdlbmVyYXRlKGxlbiwgZW5jLCBhZGQsIGFkZEVuYykge1xcbiAgaWYgKHRoaXMuX3Jlc2VlZCA+IHRoaXMucmVzZWVkSW50ZXJ2YWwpXFxuICAgIHRocm93IG5ldyBFcnJvcignUmVzZWVkIGlzIHJlcXVpcmVkJyk7XFxuXFxuICAvLyBPcHRpb25hbCBlbmNvZGluZ1xcbiAgaWYgKHR5cGVvZiBlbmMgIT09ICdzdHJpbmcnKSB7XFxuICAgIGFkZEVuYyA9IGFkZDtcXG4gICAgYWRkID0gZW5jO1xcbiAgICBlbmMgPSBudWxsO1xcbiAgfVxcblxcbiAgLy8gT3B0aW9uYWwgYWRkaXRpb25hbCBkYXRhXFxuICBpZiAoYWRkKSB7XFxuICAgIGFkZCA9IHV0aWxzLnRvQXJyYXkoYWRkLCBhZGRFbmMgfHwgJ2hleCcpO1xcbiAgICB0aGlzLl91cGRhdGUoYWRkKTtcXG4gIH1cXG5cXG4gIHZhciB0ZW1wID0gW107XFxuICB3aGlsZSAodGVtcC5sZW5ndGggPCBsZW4pIHtcXG4gICAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xcbiAgICB0ZW1wID0gdGVtcC5jb25jYXQodGhpcy5WKTtcXG4gIH1cXG5cXG4gIHZhciByZXMgPSB0ZW1wLnNsaWNlKDAsIGxlbik7XFxuICB0aGlzLl91cGRhdGUoYWRkKTtcXG4gIHRoaXMuX3Jlc2VlZCsrO1xcbiAgcmV0dXJuIHV0aWxzLmVuY29kZShyZXMsIGVuYyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9iV0ZqTFdSeVltY3ZiR2xpTDJodFlXTXRaSEppWnk1cWN6ODRNVEV5SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZkQlFWY3NiVUpCUVU4c1EwRkJReXh0UkVGQlV6dEJRVU0xUWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zZDBaQlFUSkNPMEZCUXk5RExHRkJRV0VzYlVKQlFVOHNRMEZCUXl4M1JVRkJjVUk3TzBGQlJURkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXh0UWtGQmJVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4M1EwRkJkME03UVVGRGVFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlvYldGakxXUnlZbWN2YkdsaUwyaHRZV010WkhKaVp5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR2hoYzJnZ1BTQnlaWEYxYVhKbEtDZG9ZWE5vTG1wekp5azdYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NkdGFXNXBiV0ZzYVhOMGFXTXRZM0o1Y0hSdkxYVjBhV3h6SnlrN1hHNTJZWElnWVhOelpYSjBJRDBnY21WeGRXbHlaU2duYldsdWFXMWhiR2x6ZEdsakxXRnpjMlZ5ZENjcE8xeHVYRzVtZFc1amRHbHZiaUJJYldGalJGSkNSeWh2Y0hScGIyNXpLU0I3WEc0Z0lHbG1JQ2doS0hSb2FYTWdhVzV6ZEdGdVkyVnZaaUJJYldGalJGSkNSeWtwWEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJJYldGalJGSkNSeWh2Y0hScGIyNXpLVHRjYmlBZ2RHaHBjeTVvWVhOb0lEMGdiM0IwYVc5dWN5NW9ZWE5vTzF4dUlDQjBhR2x6TG5CeVpXUlNaWE5wYzNRZ1BTQWhJVzl3ZEdsdmJuTXVjSEpsWkZKbGMybHpkRHRjYmx4dUlDQjBhR2x6TG05MWRFeGxiaUE5SUhSb2FYTXVhR0Z6YUM1dmRYUlRhWHBsTzF4dUlDQjBhR2x6TG0xcGJrVnVkSEp2Y0hrZ1BTQnZjSFJwYjI1ekxtMXBia1Z1ZEhKdmNIa2dmSHdnZEdocGN5NW9ZWE5vTG1odFlXTlRkSEpsYm1kMGFEdGNibHh1SUNCMGFHbHpMbDl5WlhObFpXUWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxuSmxjMlZsWkVsdWRHVnlkbUZzSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVMSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVXSUQwZ2JuVnNiRHRjYmx4dUlDQjJZWElnWlc1MGNtOXdlU0E5SUhWMGFXeHpMblJ2UVhKeVlYa29iM0IwYVc5dWN5NWxiblJ5YjNCNUxDQnZjSFJwYjI1ekxtVnVkSEp2Y0hsRmJtTWdmSHdnSjJobGVDY3BPMXh1SUNCMllYSWdibTl1WTJVZ1BTQjFkR2xzY3k1MGIwRnljbUY1S0c5d2RHbHZibk11Ym05dVkyVXNJRzl3ZEdsdmJuTXVibTl1WTJWRmJtTWdmSHdnSjJobGVDY3BPMXh1SUNCMllYSWdjR1Z5Y3lBOUlIVjBhV3h6TG5SdlFYSnlZWGtvYjNCMGFXOXVjeTV3WlhKekxDQnZjSFJwYjI1ekxuQmxjbk5GYm1NZ2ZId2dKMmhsZUNjcE8xeHVJQ0JoYzNObGNuUW9aVzUwY205d2VTNXNaVzVuZEdnZ1BqMGdLSFJvYVhNdWJXbHVSVzUwY205d2VTQXZJRGdwTEZ4dUlDQWdJQ0FnSUNBZ0owNXZkQ0JsYm05MVoyZ2daVzUwY205d2VTNGdUV2x1YVcxMWJTQnBjem9nSnlBcklIUm9hWE11YldsdVJXNTBjbTl3ZVNBcklDY2dZbWwwY3ljcE8xeHVJQ0IwYUdsekxsOXBibWwwS0dWdWRISnZjSGtzSUc1dmJtTmxMQ0J3WlhKektUdGNibjFjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnU0cxaFkwUlNRa2M3WEc1Y2JraHRZV05FVWtKSExuQnliM1J2ZEhsd1pTNWZhVzVwZENBOUlHWjFibU4wYVc5dUlHbHVhWFFvWlc1MGNtOXdlU3dnYm05dVkyVXNJSEJsY25NcElIdGNiaUFnZG1GeUlITmxaV1FnUFNCbGJuUnliM0I1TG1OdmJtTmhkQ2h1YjI1alpTa3VZMjl1WTJGMEtIQmxjbk1wTzF4dVhHNGdJSFJvYVhNdVN5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxtOTFkRXhsYmlBdklEZ3BPMXh1SUNCMGFHbHpMbFlnUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTV2ZFhSTVpXNGdMeUE0S1R0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxsWXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0IwYUdsekxrdGJhVjBnUFNBd2VEQXdPMXh1SUNBZ0lIUm9hWE11Vmx0cFhTQTlJREI0TURFN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5MWNHUmhkR1VvYzJWbFpDazdYRzRnSUhSb2FYTXVYM0psYzJWbFpDQTlJREU3WEc0Z0lIUm9hWE11Y21WelpXVmtTVzUwWlhKMllXd2dQU0F3ZURFd01EQXdNREF3TURBd01EQTdJQ0F2THlBeVhqUTRYRzU5TzF4dVhHNUliV0ZqUkZKQ1J5NXdjbTkwYjNSNWNHVXVYMmh0WVdNZ1BTQm1kVzVqZEdsdmJpQm9iV0ZqS0NrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUdoaGMyZ3VhRzFoWXloMGFHbHpMbWhoYzJnc0lIUm9hWE11U3lrN1hHNTlPMXh1WEc1SWJXRmpSRkpDUnk1d2NtOTBiM1I1Y0dVdVgzVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNoelpXVmtLU0I3WEc0Z0lIWmhjaUJyYldGaklEMGdkR2hwY3k1ZmFHMWhZeWdwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM1MWNHUmhkR1VvZEdocGN5NVdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1ZFhCa1lYUmxLRnNnTUhnd01DQmRLVHRjYmlBZ2FXWWdLSE5sWldRcFhHNGdJQ0FnYTIxaFl5QTlJR3R0WVdNdWRYQmtZWFJsS0hObFpXUXBPMXh1SUNCMGFHbHpMa3NnUFNCcmJXRmpMbVJwWjJWemRDZ3BPMXh1SUNCMGFHbHpMbFlnUFNCMGFHbHpMbDlvYldGaktDa3VkWEJrWVhSbEtIUm9hWE11VmlrdVpHbG5aWE4wS0NrN1hHNGdJR2xtSUNnaGMyVmxaQ2xjYmlBZ0lDQnlaWFIxY200N1hHNWNiaUFnZEdocGN5NUxJRDBnZEdocGN5NWZhRzFoWXlncFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdWRYQmtZWFJsS0hSb2FYTXVWaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzUxY0dSaGRHVW9XeUF3ZURBeElGMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVkWEJrWVhSbEtITmxaV1FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1WkdsblpYTjBLQ2s3WEc0Z0lIUm9hWE11VmlBOUlIUm9hWE11WDJodFlXTW9LUzUxY0dSaGRHVW9kR2hwY3k1V0tTNWthV2RsYzNRb0tUdGNibjA3WEc1Y2JraHRZV05FVWtKSExuQnliM1J2ZEhsd1pTNXlaWE5sWldRZ1BTQm1kVzVqZEdsdmJpQnlaWE5sWldRb1pXNTBjbTl3ZVN3Z1pXNTBjbTl3ZVVWdVl5d2dZV1JrTENCaFpHUkZibU1wSUh0Y2JpQWdMeThnVDNCMGFXOXVZV3dnWlc1MGNtOXdlU0JsYm1OY2JpQWdhV1lnS0hSNWNHVnZaaUJsYm5SeWIzQjVSVzVqSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lHRmtaRVZ1WXlBOUlHRmtaRHRjYmlBZ0lDQmhaR1FnUFNCbGJuUnliM0I1Ulc1ak8xeHVJQ0FnSUdWdWRISnZjSGxGYm1NZ1BTQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1pXNTBjbTl3ZVNBOUlIVjBhV3h6TG5SdlFYSnlZWGtvWlc1MGNtOXdlU3dnWlc1MGNtOXdlVVZ1WXlrN1hHNGdJR0ZrWkNBOUlIVjBhV3h6TG5SdlFYSnlZWGtvWVdSa0xDQmhaR1JGYm1NcE8xeHVYRzRnSUdGemMyVnlkQ2hsYm5SeWIzQjVMbXhsYm1kMGFDQStQU0FvZEdocGN5NXRhVzVGYm5SeWIzQjVJQzhnT0Nrc1hHNGdJQ0FnSUNBZ0lDQW5UbTkwSUdWdWIzVm5hQ0JsYm5SeWIzQjVMaUJOYVc1cGJYVnRJR2x6T2lBbklDc2dkR2hwY3k1dGFXNUZiblJ5YjNCNUlDc2dKeUJpYVhSekp5azdYRzVjYmlBZ2RHaHBjeTVmZFhCa1lYUmxLR1Z1ZEhKdmNIa3VZMjl1WTJGMEtHRmtaQ0I4ZkNCYlhTa3BPMXh1SUNCMGFHbHpMbDl5WlhObFpXUWdQU0F4TzF4dWZUdGNibHh1U0cxaFkwUlNRa2N1Y0hKdmRHOTBlWEJsTG1kbGJtVnlZWFJsSUQwZ1puVnVZM1JwYjI0Z1oyVnVaWEpoZEdVb2JHVnVMQ0JsYm1Nc0lHRmtaQ3dnWVdSa1JXNWpLU0I3WEc0Z0lHbG1JQ2gwYUdsekxsOXlaWE5sWldRZ1BpQjBhR2x6TG5KbGMyVmxaRWx1ZEdWeWRtRnNLVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblVtVnpaV1ZrSUdseklISmxjWFZwY21Wa0p5azdYRzVjYmlBZ0x5OGdUM0IwYVc5dVlXd2daVzVqYjJScGJtZGNiaUFnYVdZZ0tIUjVjR1Z2WmlCbGJtTWdJVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnWVdSa1JXNWpJRDBnWVdSa08xeHVJQ0FnSUdGa1pDQTlJR1Z1WXp0Y2JpQWdJQ0JsYm1NZ1BTQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5OGdUM0IwYVc5dVlXd2dZV1JrYVhScGIyNWhiQ0JrWVhSaFhHNGdJR2xtSUNoaFpHUXBJSHRjYmlBZ0lDQmhaR1FnUFNCMWRHbHNjeTUwYjBGeWNtRjVLR0ZrWkN3Z1lXUmtSVzVqSUh4OElDZG9aWGduS1R0Y2JpQWdJQ0IwYUdsekxsOTFjR1JoZEdVb1lXUmtLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQjBaVzF3SUQwZ1cxMDdYRzRnSUhkb2FXeGxJQ2gwWlcxd0xteGxibWQwYUNBOElHeGxiaWtnZTF4dUlDQWdJSFJvYVhNdVZpQTlJSFJvYVhNdVgyaHRZV01vS1M1MWNHUmhkR1VvZEdocGN5NVdLUzVrYVdkbGMzUW9LVHRjYmlBZ0lDQjBaVzF3SUQwZ2RHVnRjQzVqYjI1allYUW9kR2hwY3k1V0tUdGNiaUFnZlZ4dVhHNGdJSFpoY2lCeVpYTWdQU0IwWlcxd0xuTnNhV05sS0RBc0lHeGxiaWs3WEc0Z0lIUm9hWE11WDNWd1pHRjBaU2hoWkdRcE8xeHVJQ0IwYUdsekxsOXlaWE5sWldRckt6dGNiaUFnY21WMGRYSnVJSFYwYVd4ekxtVnVZMjlrWlNoeVpYTXNJR1Z1WXlrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9obWFjLWRyYmcvbGliL2htYWMtZHJiZy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiZXhwb3J0cy5yZWFkID0gZnVuY3Rpb24gKGJ1ZmZlciwgb2Zmc2V0LCBpc0xFLCBtTGVuLCBuQnl0ZXMpIHtcXG4gIHZhciBlLCBtXFxuICB2YXIgZUxlbiA9IChuQnl0ZXMgKiA4KSAtIG1MZW4gLSAxXFxuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMVxcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxXFxuICB2YXIgbkJpdHMgPSAtN1xcbiAgdmFyIGkgPSBpc0xFID8gKG5CeXRlcyAtIDEpIDogMFxcbiAgdmFyIGQgPSBpc0xFID8gLTEgOiAxXFxuICB2YXIgcyA9IGJ1ZmZlcltvZmZzZXQgKyBpXVxcblxcbiAgaSArPSBkXFxuXFxuICBlID0gcyAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxcbiAgcyA+Pj0gKC1uQml0cylcXG4gIG5CaXRzICs9IGVMZW5cXG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSAoZSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cXG5cXG4gIG0gPSBlICYgKCgxIDw8ICgtbkJpdHMpKSAtIDEpXFxuICBlID4+PSAoLW5CaXRzKVxcbiAgbkJpdHMgKz0gbUxlblxcbiAgZm9yICg7IG5CaXRzID4gMDsgbSA9IChtICogMjU2KSArIGJ1ZmZlcltvZmZzZXQgKyBpXSwgaSArPSBkLCBuQml0cyAtPSA4KSB7fVxcblxcbiAgaWYgKGUgPT09IDApIHtcXG4gICAgZSA9IDEgLSBlQmlhc1xcbiAgfSBlbHNlIGlmIChlID09PSBlTWF4KSB7XFxuICAgIHJldHVybiBtID8gTmFOIDogKChzID8gLTEgOiAxKSAqIEluZmluaXR5KVxcbiAgfSBlbHNlIHtcXG4gICAgbSA9IG0gKyBNYXRoLnBvdygyLCBtTGVuKVxcbiAgICBlID0gZSAtIGVCaWFzXFxuICB9XFxuICByZXR1cm4gKHMgPyAtMSA6IDEpICogbSAqIE1hdGgucG93KDIsIGUgLSBtTGVuKVxcbn1cXG5cXG5leHBvcnRzLndyaXRlID0gZnVuY3Rpb24gKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XFxuICB2YXIgZSwgbSwgY1xcbiAgdmFyIGVMZW4gPSAobkJ5dGVzICogOCkgLSBtTGVuIC0gMVxcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDFcXG4gIHZhciBlQmlhcyA9IGVNYXggPj4gMVxcbiAgdmFyIHJ0ID0gKG1MZW4gPT09IDIzID8gTWF0aC5wb3coMiwgLTI0KSAtIE1hdGgucG93KDIsIC03NykgOiAwKVxcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKVxcbiAgdmFyIGQgPSBpc0xFID8gMSA6IC0xXFxuICB2YXIgcyA9IHZhbHVlIDwgMCB8fCAodmFsdWUgPT09IDAgJiYgMSAvIHZhbHVlIDwgMCkgPyAxIDogMFxcblxcbiAgdmFsdWUgPSBNYXRoLmFicyh2YWx1ZSlcXG5cXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5KSB7XFxuICAgIG0gPSBpc05hTih2YWx1ZSkgPyAxIDogMFxcbiAgICBlID0gZU1heFxcbiAgfSBlbHNlIHtcXG4gICAgZSA9IE1hdGguZmxvb3IoTWF0aC5sb2codmFsdWUpIC8gTWF0aC5MTjIpXFxuICAgIGlmICh2YWx1ZSAqIChjID0gTWF0aC5wb3coMiwgLWUpKSA8IDEpIHtcXG4gICAgICBlLS1cXG4gICAgICBjICo9IDJcXG4gICAgfVxcbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcXG4gICAgICB2YWx1ZSArPSBydCAvIGNcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YWx1ZSArPSBydCAqIE1hdGgucG93KDIsIDEgLSBlQmlhcylcXG4gICAgfVxcbiAgICBpZiAodmFsdWUgKiBjID49IDIpIHtcXG4gICAgICBlKytcXG4gICAgICBjIC89IDJcXG4gICAgfVxcblxcbiAgICBpZiAoZSArIGVCaWFzID49IGVNYXgpIHtcXG4gICAgICBtID0gMFxcbiAgICAgIGUgPSBlTWF4XFxuICAgIH0gZWxzZSBpZiAoZSArIGVCaWFzID49IDEpIHtcXG4gICAgICBtID0gKCh2YWx1ZSAqIGMpIC0gMSkgKiBNYXRoLnBvdygyLCBtTGVuKVxcbiAgICAgIGUgPSBlICsgZUJpYXNcXG4gICAgfSBlbHNlIHtcXG4gICAgICBtID0gdmFsdWUgKiBNYXRoLnBvdygyLCBlQmlhcyAtIDEpICogTWF0aC5wb3coMiwgbUxlbilcXG4gICAgICBlID0gMFxcbiAgICB9XFxuICB9XFxuXFxuICBmb3IgKDsgbUxlbiA+PSA4OyBidWZmZXJbb2Zmc2V0ICsgaV0gPSBtICYgMHhmZiwgaSArPSBkLCBtIC89IDI1NiwgbUxlbiAtPSA4KSB7fVxcblxcbiAgZSA9IChlIDw8IG1MZW4pIHwgbVxcbiAgZUxlbiArPSBtTGVuXFxuICBmb3IgKDsgZUxlbiA+IDA7IGJ1ZmZlcltvZmZzZXQgKyBpXSA9IGUgJiAweGZmLCBpICs9IGQsIGUgLz0gMjU2LCBlTGVuIC09IDgpIHt9XFxuXFxuICBidWZmZXJbb2Zmc2V0ICsgaSAtIGRdIHw9IHMgKiAxMjhcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlwWldWbE56VTBMMmx1WkdWNExtcHpQMlkyWkRVaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZGQlFWRXNWMEZCVnpzN1FVRkZia0k3UVVGRFFUdEJRVU5CTzBGQlEwRXNVVUZCVVN4WFFVRlhPenRCUVVWdVFqdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNVVUZCVVN4WFFVRlhPenRCUVVWdVFqdEJRVU5CTzBGQlEwRXNVVUZCVVN4VlFVRlZPenRCUVVWc1FqdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmxsWldVM05UUXZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKbGVIQnZjblJ6TG5KbFlXUWdQU0JtZFc1amRHbHZiaUFvWW5WbVptVnlMQ0J2Wm1aelpYUXNJR2x6VEVVc0lHMU1aVzRzSUc1Q2VYUmxjeWtnZTF4dUlDQjJZWElnWlN3Z2JWeHVJQ0IyWVhJZ1pVeGxiaUE5SUNodVFubDBaWE1nS2lBNEtTQXRJRzFNWlc0Z0xTQXhYRzRnSUhaaGNpQmxUV0Y0SUQwZ0tERWdQRHdnWlV4bGJpa2dMU0F4WEc0Z0lIWmhjaUJsUW1saGN5QTlJR1ZOWVhnZ1BqNGdNVnh1SUNCMllYSWdia0pwZEhNZ1BTQXROMXh1SUNCMllYSWdhU0E5SUdselRFVWdQeUFvYmtKNWRHVnpJQzBnTVNrZ09pQXdYRzRnSUhaaGNpQmtJRDBnYVhOTVJTQS9JQzB4SURvZ01WeHVJQ0IyWVhJZ2N5QTlJR0oxWm1abGNsdHZabVp6WlhRZ0t5QnBYVnh1WEc0Z0lHa2dLejBnWkZ4dVhHNGdJR1VnUFNCeklDWWdLQ2d4SUR3OElDZ3Ria0pwZEhNcEtTQXRJREVwWEc0Z0lITWdQajQ5SUNndGJrSnBkSE1wWEc0Z0lHNUNhWFJ6SUNzOUlHVk1aVzVjYmlBZ1ptOXlJQ2c3SUc1Q2FYUnpJRDRnTURzZ1pTQTlJQ2hsSUNvZ01qVTJLU0FySUdKMVptWmxjbHR2Wm1aelpYUWdLeUJwWFN3Z2FTQXJQU0JrTENCdVFtbDBjeUF0UFNBNEtTQjdmVnh1WEc0Z0lHMGdQU0JsSUNZZ0tDZ3hJRHc4SUNndGJrSnBkSE1wS1NBdElERXBYRzRnSUdVZ1BqNDlJQ2d0YmtKcGRITXBYRzRnSUc1Q2FYUnpJQ3M5SUcxTVpXNWNiaUFnWm05eUlDZzdJRzVDYVhSeklENGdNRHNnYlNBOUlDaHRJQ29nTWpVMktTQXJJR0oxWm1abGNsdHZabVp6WlhRZ0t5QnBYU3dnYVNBclBTQmtMQ0J1UW1sMGN5QXRQU0E0S1NCN2ZWeHVYRzRnSUdsbUlDaGxJRDA5UFNBd0tTQjdYRzRnSUNBZ1pTQTlJREVnTFNCbFFtbGhjMXh1SUNCOUlHVnNjMlVnYVdZZ0tHVWdQVDA5SUdWTllYZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2JTQS9JRTVoVGlBNklDZ29jeUEvSUMweElEb2dNU2tnS2lCSmJtWnBibWwwZVNsY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCdElEMGdiU0FySUUxaGRHZ3VjRzkzS0RJc0lHMU1aVzRwWEc0Z0lDQWdaU0E5SUdVZ0xTQmxRbWxoYzF4dUlDQjlYRzRnSUhKbGRIVnliaUFvY3lBL0lDMHhJRG9nTVNrZ0tpQnRJQ29nVFdGMGFDNXdiM2NvTWl3Z1pTQXRJRzFNWlc0cFhHNTlYRzVjYm1WNGNHOXlkSE11ZDNKcGRHVWdQU0JtZFc1amRHbHZiaUFvWW5WbVptVnlMQ0IyWVd4MVpTd2diMlptYzJWMExDQnBjMHhGTENCdFRHVnVMQ0J1UW5sMFpYTXBJSHRjYmlBZ2RtRnlJR1VzSUcwc0lHTmNiaUFnZG1GeUlHVk1aVzRnUFNBb2JrSjVkR1Z6SUNvZ09Da2dMU0J0VEdWdUlDMGdNVnh1SUNCMllYSWdaVTFoZUNBOUlDZ3hJRHc4SUdWTVpXNHBJQzBnTVZ4dUlDQjJZWElnWlVKcFlYTWdQU0JsVFdGNElENCtJREZjYmlBZ2RtRnlJSEowSUQwZ0tHMU1aVzRnUFQwOUlESXpJRDhnVFdGMGFDNXdiM2NvTWl3Z0xUSTBLU0F0SUUxaGRHZ3VjRzkzS0RJc0lDMDNOeWtnT2lBd0tWeHVJQ0IyWVhJZ2FTQTlJR2x6VEVVZ1B5QXdJRG9nS0c1Q2VYUmxjeUF0SURFcFhHNGdJSFpoY2lCa0lEMGdhWE5NUlNBL0lERWdPaUF0TVZ4dUlDQjJZWElnY3lBOUlIWmhiSFZsSUR3Z01DQjhmQ0FvZG1Gc2RXVWdQVDA5SURBZ0ppWWdNU0F2SUhaaGJIVmxJRHdnTUNrZ1B5QXhJRG9nTUZ4dVhHNGdJSFpoYkhWbElEMGdUV0YwYUM1aFluTW9kbUZzZFdVcFhHNWNiaUFnYVdZZ0tHbHpUbUZPS0haaGJIVmxLU0I4ZkNCMllXeDFaU0E5UFQwZ1NXNW1hVzVwZEhrcElIdGNiaUFnSUNCdElEMGdhWE5PWVU0b2RtRnNkV1VwSUQ4Z01TQTZJREJjYmlBZ0lDQmxJRDBnWlUxaGVGeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHVWdQU0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3ViRzluS0haaGJIVmxLU0F2SUUxaGRHZ3VURTR5S1Z4dUlDQWdJR2xtSUNoMllXeDFaU0FxSUNoaklEMGdUV0YwYUM1d2IzY29NaXdnTFdVcEtTQThJREVwSUh0Y2JpQWdJQ0FnSUdVdExWeHVJQ0FnSUNBZ1l5QXFQU0F5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hsSUNzZ1pVSnBZWE1nUGowZ01Ta2dlMXh1SUNBZ0lDQWdkbUZzZFdVZ0t6MGdjblFnTHlCalhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFpoYkhWbElDczlJSEowSUNvZ1RXRjBhQzV3YjNjb01pd2dNU0F0SUdWQ2FXRnpLVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kbUZzZFdVZ0tpQmpJRDQ5SURJcElIdGNiaUFnSUNBZ0lHVXJLMXh1SUNBZ0lDQWdZeUF2UFNBeVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHVWdLeUJsUW1saGN5QStQU0JsVFdGNEtTQjdYRzRnSUNBZ0lDQnRJRDBnTUZ4dUlDQWdJQ0FnWlNBOUlHVk5ZWGhjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1VnS3lCbFFtbGhjeUErUFNBeEtTQjdYRzRnSUNBZ0lDQnRJRDBnS0NoMllXeDFaU0FxSUdNcElDMGdNU2tnS2lCTllYUm9MbkJ2ZHlneUxDQnRUR1Z1S1Z4dUlDQWdJQ0FnWlNBOUlHVWdLeUJsUW1saGMxeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J0SUQwZ2RtRnNkV1VnS2lCTllYUm9MbkJ2ZHlneUxDQmxRbWxoY3lBdElERXBJQ29nVFdGMGFDNXdiM2NvTWl3Z2JVeGxiaWxjYmlBZ0lDQWdJR1VnUFNBd1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1ptOXlJQ2c3SUcxTVpXNGdQajBnT0RzZ1luVm1abVZ5VzI5bVpuTmxkQ0FySUdsZElEMGdiU0FtSURCNFptWXNJR2tnS3owZ1pDd2diU0F2UFNBeU5UWXNJRzFNWlc0Z0xUMGdPQ2tnZTMxY2JseHVJQ0JsSUQwZ0tHVWdQRHdnYlV4bGJpa2dmQ0J0WEc0Z0lHVk1aVzRnS3owZ2JVeGxibHh1SUNCbWIzSWdLRHNnWlV4bGJpQStJREE3SUdKMVptWmxjbHR2Wm1aelpYUWdLeUJwWFNBOUlHVWdKaUF3ZUdabUxDQnBJQ3M5SUdRc0lHVWdMejBnTWpVMkxDQmxUR1Z1SUMwOUlEZ3BJSHQ5WEc1Y2JpQWdZblZtWm1WeVcyOW1abk5sZENBcklHa2dMU0JrWFNCOFBTQnpJQ29nTVRJNFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcImlmICh0eXBlb2YgT2JqZWN0LmNyZWF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgLy8gaW1wbGVtZW50YXRpb24gZnJvbSBzdGFuZGFyZCBub2RlLmpzICd1dGlsJyBtb2R1bGVcXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XFxuICAgIGlmIChzdXBlckN0b3IpIHtcXG4gICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvclxcbiAgICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7XFxuICAgICAgICBjb25zdHJ1Y3Rvcjoge1xcbiAgICAgICAgICB2YWx1ZTogY3RvcixcXG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcXG4gICAgICAgIH1cXG4gICAgICB9KVxcbiAgICB9XFxuICB9O1xcbn0gZWxzZSB7XFxuICAvLyBvbGQgc2Nob29sIHNoaW0gZm9yIG9sZCBicm93c2Vyc1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpbmhlcml0cyhjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgaWYgKHN1cGVyQ3Rvcikge1xcbiAgICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yXFxuICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge31cXG4gICAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlXFxuICAgICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKVxcbiAgICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvclxcbiAgICB9XFxuICB9XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5cGJtaGxjbWwwY3k5cGJtaGxjbWwwYzE5aWNtOTNjMlZ5TG1welB6a3lOVElpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXBibWhsY21sMGN5OXBibWhsY21sMGMxOWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXWWdLSFI1Y0dWdlppQlBZbXBsWTNRdVkzSmxZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDOHZJR2x0Y0d4bGJXVnVkR0YwYVc5dUlHWnliMjBnYzNSaGJtUmhjbVFnYm05a1pTNXFjeUFuZFhScGJDY2diVzlrZFd4bFhHNGdJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdhVzVvWlhKcGRITW9ZM1J2Y2l3Z2MzVndaWEpEZEc5eUtTQjdYRzRnSUNBZ2FXWWdLSE4xY0dWeVEzUnZjaWtnZTF4dUlDQWdJQ0FnWTNSdmNpNXpkWEJsY2w4Z1BTQnpkWEJsY2tOMGIzSmNiaUFnSUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ1QySnFaV04wTG1OeVpXRjBaU2h6ZFhCbGNrTjBiM0l1Y0hKdmRHOTBlWEJsTENCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wY25WamRHOXlPaUI3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUdOMGIzSXNYRzRnSUNBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0FnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBYRzRnSUNBZ2ZWeHVJQ0I5TzF4dWZTQmxiSE5sSUh0Y2JpQWdMeThnYjJ4a0lITmphRzl2YkNCemFHbHRJR1p2Y2lCdmJHUWdZbkp2ZDNObGNuTmNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJwYm1obGNtbDBjeWhqZEc5eUxDQnpkWEJsY2tOMGIzSXBJSHRjYmlBZ0lDQnBaaUFvYzNWd1pYSkRkRzl5S1NCN1hHNGdJQ0FnSUNCamRHOXlMbk4xY0dWeVh5QTlJSE4xY0dWeVEzUnZjbHh1SUNBZ0lDQWdkbUZ5SUZSbGJYQkRkRzl5SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMzFjYmlBZ0lDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dWY2JpQWdJQ0FnSUdOMGIzSXVjSEp2ZEc5MGVYQmxJRDBnYm1WM0lGUmxiWEJEZEc5eUtDbGNiaUFnSUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsTG1OdmJuTjBjblZqZEc5eUlEMGdZM1J2Y2x4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9pcy1hcnJheWlzaC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9pcy1hcnJheWlzaC9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0FycmF5aXNoKG9iaikge1xcblxcdGlmICghb2JqIHx8IHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XFxuXFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXkgfHwgQXJyYXkuaXNBcnJheShvYmopIHx8XFxuXFx0XFx0KG9iai5sZW5ndGggPj0gMCAmJiAob2JqLnNwbGljZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIHx8XFxuXFx0XFx0XFx0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAob2JqLmxlbmd0aCAtIDEpKSAmJiBvYmouY29uc3RydWN0b3IubmFtZSAhPT0gJ1N0cmluZycpKSk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXBjeTFoY25KaGVXbHphQzlwYm1SbGVDNXFjejloT1RjMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwybHpMV0Z5Y21GNWFYTm9MMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCcGMwRnljbUY1YVhOb0tHOWlhaWtnZTF4dVhIUnBaaUFvSVc5aWFpQjhmQ0IwZVhCbGIyWWdiMkpxSUQwOVBTQW5jM1J5YVc1bkp5a2dlMXh1WEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MGZWeHVYRzVjZEhKbGRIVnliaUJ2WW1vZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNCOGZDQkJjbkpoZVM1cGMwRnljbUY1S0c5aWFpa2dmSHhjYmx4MFhIUW9iMkpxTG14bGJtZDBhQ0ErUFNBd0lDWW1JQ2h2WW1vdWMzQnNhV05sSUdsdWMzUmhibU5sYjJZZ1JuVnVZM1JwYjI0Z2ZIeGNibHgwWEhSY2RDaFBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0c5aWFpd2dLRzlpYWk1c1pXNW5kR2dnTFNBeEtTa2dKaVlnYjJKcUxtTnZibk4wY25WamRHOXlMbTVoYldVZ0lUMDlJQ2RUZEhKcGJtY25LU2twTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2lzLWFycmF5aXNoL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9pcy1idWZmZXIvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2lzLWJ1ZmZlci9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIVxcbiAqIERldGVybWluZSBpZiBhbiBvYmplY3QgaXMgYSBCdWZmZXJcXG4gKlxcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmc+XFxuICogQGxpY2Vuc2UgIE1JVFxcbiAqL1xcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNCdWZmZXIgKG9iaikge1xcbiAgcmV0dXJuIG9iaiAhPSBudWxsICYmIG9iai5jb25zdHJ1Y3RvciAhPSBudWxsICYmXFxuICAgIHR5cGVvZiBvYmouY29uc3RydWN0b3IuaXNCdWZmZXIgPT09ICdmdW5jdGlvbicgJiYgb2JqLmNvbnN0cnVjdG9yLmlzQnVmZmVyKG9iailcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlwY3kxaWRXWm1aWEl2YVc1a1pYZ3Vhbk0vTkRKaVl5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhWE10WW5WbVptVnlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b2hYRzRnS2lCRVpYUmxjbTFwYm1VZ2FXWWdZVzRnYjJKcVpXTjBJR2x6SUdFZ1FuVm1abVZ5WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUFnSUVabGNtOXpjeUJCWW05MWEyaGhaR2xxWldnZ1BHaDBkSEJ6T2k4dlptVnliM056TG05eVp6NWNiaUFxSUVCc2FXTmxibk5sSUNCTlNWUmNiaUFxTDF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlHbHpRblZtWm1WeUlDaHZZbW9wSUh0Y2JpQWdjbVYwZFhKdUlHOWlhaUFoUFNCdWRXeHNJQ1ltSUc5aWFpNWpiMjV6ZEhKMVkzUnZjaUFoUFNCdWRXeHNJQ1ltWEc0Z0lDQWdkSGx3Wlc5bUlHOWlhaTVqYjI1emRISjFZM1J2Y2k1cGMwSjFabVpsY2lBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCdlltb3VZMjl1YzNSeWRXTjBiM0l1YVhOQ2RXWm1aWElvYjJKcUtWeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pcy1idWZmZXIvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2lzLXVybC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaXMtdXJsL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiXFxuLyoqXFxuICogRXhwb3NlIGBpc1VybGAuXFxuICovXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBpc1VybDtcXG5cXG4vKipcXG4gKiBSZWdFeHBzLlxcbiAqIEEgVVJMIG11c3QgbWF0Y2ggIzEgYW5kIHRoZW4gYXQgbGVhc3Qgb25lIG9mICMyLyMzLlxcbiAqIFVzZSB0d28gbGV2ZWxzIG9mIFJFcyB0byBhdm9pZCBSRURPUy5cXG4gKi9cXG5cXG52YXIgcHJvdG9jb2xBbmREb21haW5SRSA9IC9eKD86XFxcXHcrOik/XFxcXC9cXFxcLyhcXFxcUyspJC87XFxuXFxudmFyIGxvY2FsaG9zdERvbWFpblJFID0gL15sb2NhbGhvc3RbXFxcXDo/XFxcXGRdKig/OlteXFxcXDo/XFxcXGRdXFxcXFMqKT8kL1xcbnZhciBub25Mb2NhbGhvc3REb21haW5SRSA9IC9eW15cXFxcc1xcXFwuXStcXFxcLlxcXFxTezIsfSQvO1xcblxcbi8qKlxcbiAqIExvb3NlbHkgdmFsaWRhdGUgYSBVUkwgYHN0cmluZ2AuXFxuICpcXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyaW5nXFxuICogQHJldHVybiB7Qm9vbGVhbn1cXG4gKi9cXG5cXG5mdW5jdGlvbiBpc1VybChzdHJpbmcpe1xcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBtYXRjaCA9IHN0cmluZy5tYXRjaChwcm90b2NvbEFuZERvbWFpblJFKTtcXG4gIGlmICghbWF0Y2gpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIGV2ZXJ5dGhpbmdBZnRlclByb3RvY29sID0gbWF0Y2hbMV07XFxuICBpZiAoIWV2ZXJ5dGhpbmdBZnRlclByb3RvY29sKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmIChsb2NhbGhvc3REb21haW5SRS50ZXN0KGV2ZXJ5dGhpbmdBZnRlclByb3RvY29sKSB8fFxcbiAgICAgIG5vbkxvY2FsaG9zdERvbWFpblJFLnRlc3QoZXZlcnl0aGluZ0FmdGVyUHJvdG9jb2wpKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXBjeTExY213dmFXNWtaWGd1YW5NL1lUZzFPQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3d3UTBGQk1FTXNSMEZCUnpzN1FVRkZOME03UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGbEJRVms3UVVGRFdqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmx6TFhWeWJDOXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWx4dUx5b3FYRzRnS2lCRmVIQnZjMlVnWUdselZYSnNZQzVjYmlBcUwxeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR2x6VlhKc08xeHVYRzR2S2lwY2JpQXFJRkpsWjBWNGNITXVYRzRnS2lCQklGVlNUQ0J0ZFhOMElHMWhkR05vSUNNeElHRnVaQ0IwYUdWdUlHRjBJR3hsWVhOMElHOXVaU0J2WmlBak1pOGpNeTVjYmlBcUlGVnpaU0IwZDI4Z2JHVjJaV3h6SUc5bUlGSkZjeUIwYnlCaGRtOXBaQ0JTUlVSUFV5NWNiaUFxTDF4dVhHNTJZWElnY0hKdmRHOWpiMnhCYm1SRWIyMWhhVzVTUlNBOUlDOWVLRDg2WEZ4M0t6b3BQMXhjTDF4Y0x5aGNYRk1yS1NRdk8xeHVYRzUyWVhJZ2JHOWpZV3hvYjNOMFJHOXRZV2x1VWtVZ1BTQXZYbXh2WTJGc2FHOXpkRnRjWERvL1hGeGtYU29vUHpwYlhseGNPajljWEdSZFhGeFRLaWsvSkM5Y2JuWmhjaUJ1YjI1TWIyTmhiR2h2YzNSRWIyMWhhVzVTUlNBOUlDOWVXMTVjWEhOY1hDNWRLMXhjTGx4Y1Uzc3lMSDBrTHp0Y2JseHVMeW9xWEc0Z0tpQk1iMjl6Wld4NUlIWmhiR2xrWVhSbElHRWdWVkpNSUdCemRISnBibWRnTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J6ZEhKcGJtZGNiaUFxSUVCeVpYUjFjbTRnZTBKdmIyeGxZVzU5WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnYVhOVmNtd29jM1J5YVc1bktYdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCemRISnBibWNnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnZG1GeUlHMWhkR05vSUQwZ2MzUnlhVzVuTG0xaGRHTm9LSEJ5YjNSdlkyOXNRVzVrUkc5dFlXbHVVa1VwTzF4dUlDQnBaaUFvSVcxaGRHTm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR1YyWlhKNWRHaHBibWRCWm5SbGNsQnliM1J2WTI5c0lEMGdiV0YwWTJoYk1WMDdYRzRnSUdsbUlDZ2haWFpsY25sMGFHbHVaMEZtZEdWeVVISnZkRzlqYjJ3cElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0JwWmlBb2JHOWpZV3hvYjNOMFJHOXRZV2x1VWtVdWRHVnpkQ2hsZG1WeWVYUm9hVzVuUVdaMFpYSlFjbTkwYjJOdmJDa2dmSHhjYmlBZ0lDQWdJRzV2Ymt4dlkyRnNhRzl6ZEVSdmJXRnBibEpGTG5SbGMzUW9aWFpsY25sMGFHbHVaMEZtZEdWeVVISnZkRzlqYjJ3cEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2lzLXVybC9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaXNhcnJheS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2lzYXJyYXkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uIChhcnIpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGFycikgPT0gJ1tvYmplY3QgQXJyYXldJztcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5cGMyRnljbUY1TDJsdVpHVjRMbXB6UHpSbVkyTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzYVVKQlFXbENPenRCUVVWcVFqdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFYTmhjbkpoZVM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCMGIxTjBjbWx1WnlBOUlIdDlMblJ2VTNSeWFXNW5PMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVGeWNtRjVMbWx6UVhKeVlYa2dmSHdnWm5WdVkzUnBiMjRnS0dGeWNpa2dlMXh1SUNCeVpYUjFjbTRnZEc5VGRISnBibWN1WTJGc2JDaGhjbklwSUQwOUlDZGJiMkpxWldOMElFRnljbUY1WFNjN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9tZDUuanMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL21kNS5qcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBIYXNoQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGhhc2gtYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL2luZGV4LmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIEFSUkFZMTYgPSBuZXcgQXJyYXkoMTYpXFxuXFxuZnVuY3Rpb24gTUQ1ICgpIHtcXG4gIEhhc2hCYXNlLmNhbGwodGhpcywgNjQpXFxuXFxuICAvLyBzdGF0ZVxcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcXG4gIHRoaXMuX2IgPSAweGVmY2RhYjg5XFxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcXG59XFxuXFxuaW5oZXJpdHMoTUQ1LCBIYXNoQmFzZSlcXG5cXG5NRDUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgTSA9IEFSUkFZMTZcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgTVtpXSA9IHRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKGkgKiA0KVxcblxcbiAgdmFyIGEgPSB0aGlzLl9hXFxuICB2YXIgYiA9IHRoaXMuX2JcXG4gIHZhciBjID0gdGhpcy5fY1xcbiAgdmFyIGQgPSB0aGlzLl9kXFxuXFxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bMF0sIDB4ZDc2YWE0NzgsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMV0sIDB4ZThjN2I3NTYsIDEyKVxcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzJdLCAweDI0MjA3MGRiLCAxNylcXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVszXSwgMHhjMWJkY2VlZSwgMjIpXFxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bNF0sIDB4ZjU3YzBmYWYsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bNV0sIDB4NDc4N2M2MmEsIDEyKVxcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzZdLCAweGE4MzA0NjEzLCAxNylcXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVs3XSwgMHhmZDQ2OTUwMSwgMjIpXFxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bOF0sIDB4Njk4MDk4ZDgsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bOV0sIDB4OGI0NGY3YWYsIDEyKVxcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzEwXSwgMHhmZmZmNWJiMSwgMTcpXFxuICBiID0gZm5GKGIsIGMsIGQsIGEsIE1bMTFdLCAweDg5NWNkN2JlLCAyMilcXG4gIGEgPSBmbkYoYSwgYiwgYywgZCwgTVsxMl0sIDB4NmI5MDExMjIsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMTNdLCAweGZkOTg3MTkzLCAxMilcXG4gIGMgPSBmbkYoYywgZCwgYSwgYiwgTVsxNF0sIDB4YTY3OTQzOGUsIDE3KVxcbiAgYiA9IGZuRihiLCBjLCBkLCBhLCBNWzE1XSwgMHg0OWI0MDgyMSwgMjIpXFxuXFxuICBhID0gZm5HKGEsIGIsIGMsIGQsIE1bMV0sIDB4ZjYxZTI1NjIsIDUpXFxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bNl0sIDB4YzA0MGIzNDAsIDkpXFxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bMTFdLCAweDI2NWU1YTUxLCAxNClcXG4gIGIgPSBmbkcoYiwgYywgZCwgYSwgTVswXSwgMHhlOWI2YzdhYSwgMjApXFxuICBhID0gZm5HKGEsIGIsIGMsIGQsIE1bNV0sIDB4ZDYyZjEwNWQsIDUpXFxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMTBdLCAweDAyNDQxNDUzLCA5KVxcbiAgYyA9IGZuRyhjLCBkLCBhLCBiLCBNWzE1XSwgMHhkOGExZTY4MSwgMTQpXFxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bNF0sIDB4ZTdkM2ZiYzgsIDIwKVxcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzldLCAweDIxZTFjZGU2LCA1KVxcbiAgZCA9IGZuRyhkLCBhLCBiLCBjLCBNWzE0XSwgMHhjMzM3MDdkNiwgOSlcXG4gIGMgPSBmbkcoYywgZCwgYSwgYiwgTVszXSwgMHhmNGQ1MGQ4NywgMTQpXFxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bOF0sIDB4NDU1YTE0ZWQsIDIwKVxcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzEzXSwgMHhhOWUzZTkwNSwgNSlcXG4gIGQgPSBmbkcoZCwgYSwgYiwgYywgTVsyXSwgMHhmY2VmYTNmOCwgOSlcXG4gIGMgPSBmbkcoYywgZCwgYSwgYiwgTVs3XSwgMHg2NzZmMDJkOSwgMTQpXFxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bMTJdLCAweDhkMmE0YzhhLCAyMClcXG5cXG4gIGEgPSBmbkgoYSwgYiwgYywgZCwgTVs1XSwgMHhmZmZhMzk0MiwgNClcXG4gIGQgPSBmbkgoZCwgYSwgYiwgYywgTVs4XSwgMHg4NzcxZjY4MSwgMTEpXFxuICBjID0gZm5IKGMsIGQsIGEsIGIsIE1bMTFdLCAweDZkOWQ2MTIyLCAxNilcXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVsxNF0sIDB4ZmRlNTM4MGMsIDIzKVxcbiAgYSA9IGZuSChhLCBiLCBjLCBkLCBNWzFdLCAweGE0YmVlYTQ0LCA0KVxcbiAgZCA9IGZuSChkLCBhLCBiLCBjLCBNWzRdLCAweDRiZGVjZmE5LCAxMSlcXG4gIGMgPSBmbkgoYywgZCwgYSwgYiwgTVs3XSwgMHhmNmJiNGI2MCwgMTYpXFxuICBiID0gZm5IKGIsIGMsIGQsIGEsIE1bMTBdLCAweGJlYmZiYzcwLCAyMylcXG4gIGEgPSBmbkgoYSwgYiwgYywgZCwgTVsxM10sIDB4Mjg5YjdlYzYsIDQpXFxuICBkID0gZm5IKGQsIGEsIGIsIGMsIE1bMF0sIDB4ZWFhMTI3ZmEsIDExKVxcbiAgYyA9IGZuSChjLCBkLCBhLCBiLCBNWzNdLCAweGQ0ZWYzMDg1LCAxNilcXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVs2XSwgMHgwNDg4MWQwNSwgMjMpXFxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bOV0sIDB4ZDlkNGQwMzksIDQpXFxuICBkID0gZm5IKGQsIGEsIGIsIGMsIE1bMTJdLCAweGU2ZGI5OWU1LCAxMSlcXG4gIGMgPSBmbkgoYywgZCwgYSwgYiwgTVsxNV0sIDB4MWZhMjdjZjgsIDE2KVxcbiAgYiA9IGZuSChiLCBjLCBkLCBhLCBNWzJdLCAweGM0YWM1NjY1LCAyMylcXG5cXG4gIGEgPSBmbkkoYSwgYiwgYywgZCwgTVswXSwgMHhmNDI5MjI0NCwgNilcXG4gIGQgPSBmbkkoZCwgYSwgYiwgYywgTVs3XSwgMHg0MzJhZmY5NywgMTApXFxuICBjID0gZm5JKGMsIGQsIGEsIGIsIE1bMTRdLCAweGFiOTQyM2E3LCAxNSlcXG4gIGIgPSBmbkkoYiwgYywgZCwgYSwgTVs1XSwgMHhmYzkzYTAzOSwgMjEpXFxuICBhID0gZm5JKGEsIGIsIGMsIGQsIE1bMTJdLCAweDY1NWI1OWMzLCA2KVxcbiAgZCA9IGZuSShkLCBhLCBiLCBjLCBNWzNdLCAweDhmMGNjYzkyLCAxMClcXG4gIGMgPSBmbkkoYywgZCwgYSwgYiwgTVsxMF0sIDB4ZmZlZmY0N2QsIDE1KVxcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzFdLCAweDg1ODQ1ZGQxLCAyMSlcXG4gIGEgPSBmbkkoYSwgYiwgYywgZCwgTVs4XSwgMHg2ZmE4N2U0ZiwgNilcXG4gIGQgPSBmbkkoZCwgYSwgYiwgYywgTVsxNV0sIDB4ZmUyY2U2ZTAsIDEwKVxcbiAgYyA9IGZuSShjLCBkLCBhLCBiLCBNWzZdLCAweGEzMDE0MzE0LCAxNSlcXG4gIGIgPSBmbkkoYiwgYywgZCwgYSwgTVsxM10sIDB4NGUwODExYTEsIDIxKVxcbiAgYSA9IGZuSShhLCBiLCBjLCBkLCBNWzRdLCAweGY3NTM3ZTgyLCA2KVxcbiAgZCA9IGZuSShkLCBhLCBiLCBjLCBNWzExXSwgMHhiZDNhZjIzNSwgMTApXFxuICBjID0gZm5JKGMsIGQsIGEsIGIsIE1bMl0sIDB4MmFkN2QyYmIsIDE1KVxcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzldLCAweGViODZkMzkxLCAyMSlcXG5cXG4gIHRoaXMuX2EgPSAodGhpcy5fYSArIGEpIHwgMFxcbiAgdGhpcy5fYiA9ICh0aGlzLl9iICsgYikgfCAwXFxuICB0aGlzLl9jID0gKHRoaXMuX2MgKyBjKSB8IDBcXG4gIHRoaXMuX2QgPSAodGhpcy5fZCArIGQpIHwgMFxcbn1cXG5cXG5NRDUucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XFxuICAvLyBjcmVhdGUgcGFkZGluZyBhbmQgaGFuZGxlIGJsb2Nrc1xcbiAgdGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSAweDgwXFxuICBpZiAodGhpcy5fYmxvY2tPZmZzZXQgPiA1Nikge1xcbiAgICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA2NClcXG4gICAgdGhpcy5fdXBkYXRlKClcXG4gICAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXFxuICB9XFxuXFxuICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLCA2MClcXG4gIHRoaXMuX3VwZGF0ZSgpXFxuXFxuICAvLyBwcm9kdWNlIHJlc3VsdFxcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYSwgMClcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYiwgNClcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYywgOClcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fZCwgMTIpXFxuICByZXR1cm4gYnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcXG4gIHJldHVybiAoeCA8PCBuKSB8ICh4ID4+PiAoMzIgLSBuKSlcXG59XFxuXFxuZnVuY3Rpb24gZm5GIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgJiBjKSB8ICgofmIpICYgZCkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcXG59XFxuXFxuZnVuY3Rpb24gZm5HIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgJiBkKSB8IChjICYgKH5kKSkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcXG59XFxuXFxuZnVuY3Rpb24gZm5IIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoYiBeIGMgXiBkKSArIG0gKyBrKSB8IDAsIHMpICsgYikgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuSSAoYSwgYiwgYywgZCwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChjIF4gKGIgfCAofmQpKSkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBNRDVcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXRaRFV1YW5NdmFXNWtaWGd1YW5NL1pEQXhaQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCV1R0QlFVTmFMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhsUVVGbExHMUNRVUZQTEVOQlFVTXNiMFJCUVZjN1FVRkRiRU1zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZGQlFWRTdPMEZCUlhwQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZiV1ExTG1wekwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNTJZWElnU0dGemFFSmhjMlVnUFNCeVpYRjFhWEpsS0Nkb1lYTm9MV0poYzJVbktWeHVkbUZ5SUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjNOaFptVXRZblZtWm1WeUp5a3VRblZtWm1WeVhHNWNiblpoY2lCQlVsSkJXVEUySUQwZ2JtVjNJRUZ5Y21GNUtERTJLVnh1WEc1bWRXNWpkR2x2YmlCTlJEVWdLQ2tnZTF4dUlDQklZWE5vUW1GelpTNWpZV3hzS0hSb2FYTXNJRFkwS1Z4dVhHNGdJQzh2SUhOMFlYUmxYRzRnSUhSb2FYTXVYMkVnUFNBd2VEWTNORFV5TXpBeFhHNGdJSFJvYVhNdVgySWdQU0F3ZUdWbVkyUmhZamc1WEc0Z0lIUm9hWE11WDJNZ1BTQXdlRGs0WW1Ga1kyWmxYRzRnSUhSb2FYTXVYMlFnUFNBd2VERXdNekkxTkRjMlhHNTlYRzVjYm1sdWFHVnlhWFJ6S0UxRU5Td2dTR0Z6YUVKaGMyVXBYRzVjYmsxRU5TNXdjbTkwYjNSNWNHVXVYM1Z3WkdGMFpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkbUZ5SUUwZ1BTQkJVbEpCV1RFMlhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTVRZN0lDc3JhU2tnVFZ0cFhTQTlJSFJvYVhNdVgySnNiMk5yTG5KbFlXUkpiblF6TWt4RktHa2dLaUEwS1Z4dVhHNGdJSFpoY2lCaElEMGdkR2hwY3k1ZllWeHVJQ0IyWVhJZ1lpQTlJSFJvYVhNdVgySmNiaUFnZG1GeUlHTWdQU0IwYUdsekxsOWpYRzRnSUhaaGNpQmtJRDBnZEdocGN5NWZaRnh1WEc0Z0lHRWdQU0JtYmtZb1lTd2dZaXdnWXl3Z1pDd2dUVnN3WFN3Z01IaGtOelpoWVRRM09Dd2dOeWxjYmlBZ1pDQTlJR1p1Umloa0xDQmhMQ0JpTENCakxDQk5XekZkTENBd2VHVTRZemRpTnpVMkxDQXhNaWxjYmlBZ1l5QTlJR1p1UmloakxDQmtMQ0JoTENCaUxDQk5XekpkTENBd2VESTBNakEzTUdSaUxDQXhOeWxjYmlBZ1lpQTlJR1p1UmloaUxDQmpMQ0JrTENCaExDQk5Xek5kTENBd2VHTXhZbVJqWldWbExDQXlNaWxjYmlBZ1lTQTlJR1p1UmloaExDQmlMQ0JqTENCa0xDQk5XelJkTENBd2VHWTFOMk13Wm1GbUxDQTNLVnh1SUNCa0lEMGdabTVHS0dRc0lHRXNJR0lzSUdNc0lFMWJOVjBzSURCNE5EYzROMk0yTW1Fc0lERXlLVnh1SUNCaklEMGdabTVHS0dNc0lHUXNJR0VzSUdJc0lFMWJObDBzSURCNFlUZ3pNRFEyTVRNc0lERTNLVnh1SUNCaUlEMGdabTVHS0dJc0lHTXNJR1FzSUdFc0lFMWJOMTBzSURCNFptUTBOamsxTURFc0lESXlLVnh1SUNCaElEMGdabTVHS0dFc0lHSXNJR01zSUdRc0lFMWJPRjBzSURCNE5qazRNRGs0WkRnc0lEY3BYRzRnSUdRZ1BTQm1ia1lvWkN3Z1lTd2dZaXdnWXl3Z1RWczVYU3dnTUhnNFlqUTBaamRoWml3Z01USXBYRzRnSUdNZ1BTQm1ia1lvWXl3Z1pDd2dZU3dnWWl3Z1RWc3hNRjBzSURCNFptWm1aalZpWWpFc0lERTNLVnh1SUNCaUlEMGdabTVHS0dJc0lHTXNJR1FzSUdFc0lFMWJNVEZkTENBd2VEZzVOV05rTjJKbExDQXlNaWxjYmlBZ1lTQTlJR1p1UmloaExDQmlMQ0JqTENCa0xDQk5XekV5WFN3Z01IZzJZamt3TVRFeU1pd2dOeWxjYmlBZ1pDQTlJR1p1Umloa0xDQmhMQ0JpTENCakxDQk5XekV6WFN3Z01IaG1aRGs0TnpFNU15d2dNVElwWEc0Z0lHTWdQU0JtYmtZb1l5d2daQ3dnWVN3Z1lpd2dUVnN4TkYwc0lEQjRZVFkzT1RRek9HVXNJREUzS1Z4dUlDQmlJRDBnWm01R0tHSXNJR01zSUdRc0lHRXNJRTFiTVRWZExDQXdlRFE1WWpRd09ESXhMQ0F5TWlsY2JseHVJQ0JoSUQwZ1ptNUhLR0VzSUdJc0lHTXNJR1FzSUUxYk1WMHNJREI0WmpZeFpUSTFOaklzSURVcFhHNGdJR1FnUFNCbWJrY29aQ3dnWVN3Z1lpd2dZeXdnVFZzMlhTd2dNSGhqTURRd1lqTTBNQ3dnT1NsY2JpQWdZeUE5SUdadVJ5aGpMQ0JrTENCaExDQmlMQ0JOV3pFeFhTd2dNSGd5TmpWbE5XRTFNU3dnTVRRcFhHNGdJR0lnUFNCbWJrY29ZaXdnWXl3Z1pDd2dZU3dnVFZzd1hTd2dNSGhsT1dJMll6ZGhZU3dnTWpBcFhHNGdJR0VnUFNCbWJrY29ZU3dnWWl3Z1l5d2daQ3dnVFZzMVhTd2dNSGhrTmpKbU1UQTFaQ3dnTlNsY2JpQWdaQ0E5SUdadVJ5aGtMQ0JoTENCaUxDQmpMQ0JOV3pFd1hTd2dNSGd3TWpRME1UUTFNeXdnT1NsY2JpQWdZeUE5SUdadVJ5aGpMQ0JrTENCaExDQmlMQ0JOV3pFMVhTd2dNSGhrT0dFeFpUWTRNU3dnTVRRcFhHNGdJR0lnUFNCbWJrY29ZaXdnWXl3Z1pDd2dZU3dnVFZzMFhTd2dNSGhsTjJRelptSmpPQ3dnTWpBcFhHNGdJR0VnUFNCbWJrY29ZU3dnWWl3Z1l5d2daQ3dnVFZzNVhTd2dNSGd5TVdVeFkyUmxOaXdnTlNsY2JpQWdaQ0E5SUdadVJ5aGtMQ0JoTENCaUxDQmpMQ0JOV3pFMFhTd2dNSGhqTXpNM01EZGtOaXdnT1NsY2JpQWdZeUE5SUdadVJ5aGpMQ0JrTENCaExDQmlMQ0JOV3pOZExDQXdlR1kwWkRVd1pEZzNMQ0F4TkNsY2JpQWdZaUE5SUdadVJ5aGlMQ0JqTENCa0xDQmhMQ0JOV3poZExDQXdlRFExTldFeE5HVmtMQ0F5TUNsY2JpQWdZU0E5SUdadVJ5aGhMQ0JpTENCakxDQmtMQ0JOV3pFelhTd2dNSGhoT1dVelpUa3dOU3dnTlNsY2JpQWdaQ0E5SUdadVJ5aGtMQ0JoTENCaUxDQmpMQ0JOV3pKZExDQXdlR1pqWldaaE0yWTRMQ0E1S1Z4dUlDQmpJRDBnWm01SEtHTXNJR1FzSUdFc0lHSXNJRTFiTjEwc0lEQjROamMyWmpBeVpEa3NJREUwS1Z4dUlDQmlJRDBnWm01SEtHSXNJR01zSUdRc0lHRXNJRTFiTVRKZExDQXdlRGhrTW1FMFl6aGhMQ0F5TUNsY2JseHVJQ0JoSUQwZ1ptNUlLR0VzSUdJc0lHTXNJR1FzSUUxYk5WMHNJREI0Wm1abVlUTTVORElzSURRcFhHNGdJR1FnUFNCbWJrZ29aQ3dnWVN3Z1lpd2dZeXdnVFZzNFhTd2dNSGc0TnpjeFpqWTRNU3dnTVRFcFhHNGdJR01nUFNCbWJrZ29ZeXdnWkN3Z1lTd2dZaXdnVFZzeE1WMHNJREI0Tm1RNVpEWXhNaklzSURFMktWeHVJQ0JpSUQwZ1ptNUlLR0lzSUdNc0lHUXNJR0VzSUUxYk1UUmRMQ0F3ZUdaa1pUVXpPREJqTENBeU15bGNiaUFnWVNBOUlHWnVTQ2hoTENCaUxDQmpMQ0JrTENCTld6RmRMQ0F3ZUdFMFltVmxZVFEwTENBMEtWeHVJQ0JrSUQwZ1ptNUlLR1FzSUdFc0lHSXNJR01zSUUxYk5GMHNJREI0TkdKa1pXTm1ZVGtzSURFeEtWeHVJQ0JqSUQwZ1ptNUlLR01zSUdRc0lHRXNJR0lzSUUxYk4xMHNJREI0WmpaaVlqUmlOakFzSURFMktWeHVJQ0JpSUQwZ1ptNUlLR0lzSUdNc0lHUXNJR0VzSUUxYk1UQmRMQ0F3ZUdKbFltWmlZemN3TENBeU15bGNiaUFnWVNBOUlHWnVTQ2hoTENCaUxDQmpMQ0JrTENCTld6RXpYU3dnTUhneU9EbGlOMlZqTml3Z05DbGNiaUFnWkNBOUlHWnVTQ2hrTENCaExDQmlMQ0JqTENCTld6QmRMQ0F3ZUdWaFlURXlOMlpoTENBeE1TbGNiaUFnWXlBOUlHWnVTQ2hqTENCa0xDQmhMQ0JpTENCTld6TmRMQ0F3ZUdRMFpXWXpNRGcxTENBeE5pbGNiaUFnWWlBOUlHWnVTQ2hpTENCakxDQmtMQ0JoTENCTld6WmRMQ0F3ZURBME9EZ3haREExTENBeU15bGNiaUFnWVNBOUlHWnVTQ2hoTENCaUxDQmpMQ0JrTENCTld6bGRMQ0F3ZUdRNVpEUmtNRE01TENBMEtWeHVJQ0JrSUQwZ1ptNUlLR1FzSUdFc0lHSXNJR01zSUUxYk1USmRMQ0F3ZUdVMlpHSTVPV1UxTENBeE1TbGNiaUFnWXlBOUlHWnVTQ2hqTENCa0xDQmhMQ0JpTENCTld6RTFYU3dnTUhneFptRXlOMk5tT0N3Z01UWXBYRzRnSUdJZ1BTQm1ia2dvWWl3Z1l5d2daQ3dnWVN3Z1RWc3lYU3dnTUhoak5HRmpOVFkyTlN3Z01qTXBYRzVjYmlBZ1lTQTlJR1p1U1NoaExDQmlMQ0JqTENCa0xDQk5XekJkTENBd2VHWTBNamt5TWpRMExDQTJLVnh1SUNCa0lEMGdabTVKS0dRc0lHRXNJR0lzSUdNc0lFMWJOMTBzSURCNE5ETXlZV1ptT1Rjc0lERXdLVnh1SUNCaklEMGdabTVKS0dNc0lHUXNJR0VzSUdJc0lFMWJNVFJkTENBd2VHRmlPVFF5TTJFM0xDQXhOU2xjYmlBZ1lpQTlJR1p1U1NoaUxDQmpMQ0JrTENCaExDQk5XelZkTENBd2VHWmpPVE5oTURNNUxDQXlNU2xjYmlBZ1lTQTlJR1p1U1NoaExDQmlMQ0JqTENCa0xDQk5XekV5WFN3Z01IZzJOVFZpTlRsak15d2dOaWxjYmlBZ1pDQTlJR1p1U1Noa0xDQmhMQ0JpTENCakxDQk5Xek5kTENBd2VEaG1NR05qWXpreUxDQXhNQ2xjYmlBZ1l5QTlJR1p1U1NoakxDQmtMQ0JoTENCaUxDQk5XekV3WFN3Z01IaG1abVZtWmpRM1pDd2dNVFVwWEc0Z0lHSWdQU0JtYmtrb1lpd2dZeXdnWkN3Z1lTd2dUVnN4WFN3Z01IZzROVGcwTldSa01Td2dNakVwWEc0Z0lHRWdQU0JtYmtrb1lTd2dZaXdnWXl3Z1pDd2dUVnM0WFN3Z01IZzJabUU0TjJVMFppd2dOaWxjYmlBZ1pDQTlJR1p1U1Noa0xDQmhMQ0JpTENCakxDQk5XekUxWFN3Z01IaG1aVEpqWlRabE1Dd2dNVEFwWEc0Z0lHTWdQU0JtYmtrb1l5d2daQ3dnWVN3Z1lpd2dUVnMyWFN3Z01IaGhNekF4TkRNeE5Dd2dNVFVwWEc0Z0lHSWdQU0JtYmtrb1lpd2dZeXdnWkN3Z1lTd2dUVnN4TTEwc0lEQjROR1V3T0RFeFlURXNJREl4S1Z4dUlDQmhJRDBnWm01SktHRXNJR0lzSUdNc0lHUXNJRTFiTkYwc0lEQjRaamMxTXpkbE9ESXNJRFlwWEc0Z0lHUWdQU0JtYmtrb1pDd2dZU3dnWWl3Z1l5d2dUVnN4TVYwc0lEQjRZbVF6WVdZeU16VXNJREV3S1Z4dUlDQmpJRDBnWm01SktHTXNJR1FzSUdFc0lHSXNJRTFiTWwwc0lEQjRNbUZrTjJReVltSXNJREUxS1Z4dUlDQmlJRDBnWm01SktHSXNJR01zSUdRc0lHRXNJRTFiT1Ywc0lEQjRaV0k0Tm1Rek9URXNJREl4S1Z4dVhHNGdJSFJvYVhNdVgyRWdQU0FvZEdocGN5NWZZU0FySUdFcElId2dNRnh1SUNCMGFHbHpMbDlpSUQwZ0tIUm9hWE11WDJJZ0t5QmlLU0I4SURCY2JpQWdkR2hwY3k1Zll5QTlJQ2gwYUdsekxsOWpJQ3NnWXlrZ2ZDQXdYRzRnSUhSb2FYTXVYMlFnUFNBb2RHaHBjeTVmWkNBcklHUXBJSHdnTUZ4dWZWeHVYRzVOUkRVdWNISnZkRzkwZVhCbExsOWthV2RsYzNRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDOHZJR055WldGMFpTQndZV1JrYVc1bklHRnVaQ0JvWVc1a2JHVWdZbXh2WTJ0elhHNGdJSFJvYVhNdVgySnNiMk5yVzNSb2FYTXVYMkpzYjJOclQyWm1jMlYwS3l0ZElEMGdNSGc0TUZ4dUlDQnBaaUFvZEdocGN5NWZZbXh2WTJ0UFptWnpaWFFnUGlBMU5pa2dlMXh1SUNBZ0lIUm9hWE11WDJKc2IyTnJMbVpwYkd3b01Dd2dkR2hwY3k1ZllteHZZMnRQWm1aelpYUXNJRFkwS1Z4dUlDQWdJSFJvYVhNdVgzVndaR0YwWlNncFhHNGdJQ0FnZEdocGN5NWZZbXh2WTJ0UFptWnpaWFFnUFNBd1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5aWJHOWpheTVtYVd4c0tEQXNJSFJvYVhNdVgySnNiMk5yVDJabWMyVjBMQ0ExTmlsY2JpQWdkR2hwY3k1ZllteHZZMnN1ZDNKcGRHVlZTVzUwTXpKTVJTaDBhR2x6TGw5c1pXNW5kR2hiTUYwc0lEVTJLVnh1SUNCMGFHbHpMbDlpYkc5amF5NTNjbWwwWlZWSmJuUXpNa3hGS0hSb2FYTXVYMnhsYm1kMGFGc3hYU3dnTmpBcFhHNGdJSFJvYVhNdVgzVndaR0YwWlNncFhHNWNiaUFnTHk4Z2NISnZaSFZqWlNCeVpYTjFiSFJjYmlBZ2RtRnlJR0oxWm1abGNpQTlJRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aU2d4TmlsY2JpQWdZblZtWm1WeUxuZHlhWFJsU1c1ME16Sk1SU2gwYUdsekxsOWhMQ0F3S1Z4dUlDQmlkV1ptWlhJdWQzSnBkR1ZKYm5Rek1reEZLSFJvYVhNdVgySXNJRFFwWEc0Z0lHSjFabVpsY2k1M2NtbDBaVWx1ZERNeVRFVW9kR2hwY3k1Zll5d2dPQ2xjYmlBZ1luVm1abVZ5TG5keWFYUmxTVzUwTXpKTVJTaDBhR2x6TGw5a0xDQXhNaWxjYmlBZ2NtVjBkWEp1SUdKMVptWmxjbHh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnliM1JzSUNoNExDQnVLU0I3WEc0Z0lISmxkSFZ5YmlBb2VDQThQQ0J1S1NCOElDaDRJRDQrUGlBb016SWdMU0J1S1NsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWm01R0lDaGhMQ0JpTENCakxDQmtMQ0J0TENCckxDQnpLU0I3WEc0Z0lISmxkSFZ5YmlBb2NtOTBiQ2dvWVNBcklDZ29ZaUFtSUdNcElId2dLQ2grWWlrZ0ppQmtLU2tnS3lCdElDc2dheWtnZkNBd0xDQnpLU0FySUdJcElId2dNRnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1ia2NnS0dFc0lHSXNJR01zSUdRc0lHMHNJR3NzSUhNcElIdGNiaUFnY21WMGRYSnVJQ2h5YjNSc0tDaGhJQ3NnS0NoaUlDWWdaQ2tnZkNBb1l5QW1JQ2grWkNrcEtTQXJJRzBnS3lCcktTQjhJREFzSUhNcElDc2dZaWtnZkNBd1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdadVNDQW9ZU3dnWWl3Z1l5d2daQ3dnYlN3Z2F5d2djeWtnZTF4dUlDQnlaWFIxY200Z0tISnZkR3dvS0dFZ0t5QW9ZaUJlSUdNZ1hpQmtLU0FySUcwZ0t5QnJLU0I4SURBc0lITXBJQ3NnWWlrZ2ZDQXdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnVTU0FvWVN3Z1lpd2dZeXdnWkN3Z2JTd2dheXdnY3lrZ2UxeHVJQ0J5WlhSMWNtNGdLSEp2ZEd3b0tHRWdLeUFvS0dNZ1hpQW9ZaUI4SUNoK1pDa3BLU2tnS3lCdElDc2dheWtnZkNBd0xDQnpLU0FySUdJcElId2dNRnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFMUVOVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9tZDUuanMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL21pbGxlci1yYWJpbi9saWIvbXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbGliL21yLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBibiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciBicm9yYW5kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnJvcmFuZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvcmFuZC9pbmRleC5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIE1pbGxlclJhYmluKHJhbmQpIHtcXG4gIHRoaXMucmFuZCA9IHJhbmQgfHwgbmV3IGJyb3JhbmQuUmFuZCgpO1xcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IE1pbGxlclJhYmluO1xcblxcbk1pbGxlclJhYmluLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShyYW5kKSB7XFxuICByZXR1cm4gbmV3IE1pbGxlclJhYmluKHJhbmQpO1xcbn07XFxuXFxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLl9yYW5kYmVsb3cgPSBmdW5jdGlvbiBfcmFuZGJlbG93KG4pIHtcXG4gIHZhciBsZW4gPSBuLmJpdExlbmd0aCgpO1xcbiAgdmFyIG1pbl9ieXRlcyA9IE1hdGguY2VpbChsZW4gLyA4KTtcXG5cXG4gIC8vIEdlbmVyYWdlIHJhbmRvbSBieXRlcyB1bnRpbCBhIG51bWJlciBsZXNzIHRoYW4gbiBpcyBmb3VuZC5cXG4gIC8vIFRoaXMgZW5zdXJlcyB0aGF0IDAuLm4tMSBoYXZlIGFuIGVxdWFsIHByb2JhYmlsaXR5IG9mIGJlaW5nIHNlbGVjdGVkLlxcbiAgZG9cXG4gICAgdmFyIGEgPSBuZXcgYm4odGhpcy5yYW5kLmdlbmVyYXRlKG1pbl9ieXRlcykpO1xcbiAgd2hpbGUgKGEuY21wKG4pID49IDApO1xcblxcbiAgcmV0dXJuIGE7XFxufTtcXG5cXG5NaWxsZXJSYWJpbi5wcm90b3R5cGUuX3JhbmRyYW5nZSA9IGZ1bmN0aW9uIF9yYW5kcmFuZ2Uoc3RhcnQsIHN0b3ApIHtcXG4gIC8vIEdlbmVyYXRlIGEgcmFuZG9tIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gc3RhcnQgYW5kIGxlc3MgdGhhbiBzdG9wLlxcbiAgdmFyIHNpemUgPSBzdG9wLnN1YihzdGFydCk7XFxuICByZXR1cm4gc3RhcnQuYWRkKHRoaXMuX3JhbmRiZWxvdyhzaXplKSk7XFxufTtcXG5cXG5NaWxsZXJSYWJpbi5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uIHRlc3QobiwgaywgY2IpIHtcXG4gIHZhciBsZW4gPSBuLmJpdExlbmd0aCgpO1xcbiAgdmFyIHJlZCA9IGJuLm1vbnQobik7XFxuICB2YXIgcm9uZSA9IG5ldyBibigxKS50b1JlZChyZWQpO1xcblxcbiAgaWYgKCFrKVxcbiAgICBrID0gTWF0aC5tYXgoMSwgKGxlbiAvIDQ4KSB8IDApO1xcblxcbiAgLy8gRmluZCBkIGFuZCBzLCAobiAtIDEpID0gKDIgXiBzKSAqIGQ7XFxuICB2YXIgbjEgPSBuLnN1Ym4oMSk7XFxuICBmb3IgKHZhciBzID0gMDsgIW4xLnRlc3RuKHMpOyBzKyspIHt9XFxuICB2YXIgZCA9IG4uc2hybihzKTtcXG5cXG4gIHZhciBybjEgPSBuMS50b1JlZChyZWQpO1xcblxcbiAgdmFyIHByaW1lID0gdHJ1ZTtcXG4gIGZvciAoOyBrID4gMDsgay0tKSB7XFxuICAgIHZhciBhID0gdGhpcy5fcmFuZHJhbmdlKG5ldyBibigyKSwgbjEpO1xcbiAgICBpZiAoY2IpXFxuICAgICAgY2IoYSk7XFxuXFxuICAgIHZhciB4ID0gYS50b1JlZChyZWQpLnJlZFBvdyhkKTtcXG4gICAgaWYgKHguY21wKHJvbmUpID09PSAwIHx8IHguY21wKHJuMSkgPT09IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgczsgaSsrKSB7XFxuICAgICAgeCA9IHgucmVkU3FyKCk7XFxuXFxuICAgICAgaWYgKHguY21wKHJvbmUpID09PSAwKVxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIGlmICh4LmNtcChybjEpID09PSAwKVxcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKGkgPT09IHMpXFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHByaW1lO1xcbn07XFxuXFxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLmdldERpdmlzb3IgPSBmdW5jdGlvbiBnZXREaXZpc29yKG4sIGspIHtcXG4gIHZhciBsZW4gPSBuLmJpdExlbmd0aCgpO1xcbiAgdmFyIHJlZCA9IGJuLm1vbnQobik7XFxuICB2YXIgcm9uZSA9IG5ldyBibigxKS50b1JlZChyZWQpO1xcblxcbiAgaWYgKCFrKVxcbiAgICBrID0gTWF0aC5tYXgoMSwgKGxlbiAvIDQ4KSB8IDApO1xcblxcbiAgLy8gRmluZCBkIGFuZCBzLCAobiAtIDEpID0gKDIgXiBzKSAqIGQ7XFxuICB2YXIgbjEgPSBuLnN1Ym4oMSk7XFxuICBmb3IgKHZhciBzID0gMDsgIW4xLnRlc3RuKHMpOyBzKyspIHt9XFxuICB2YXIgZCA9IG4uc2hybihzKTtcXG5cXG4gIHZhciBybjEgPSBuMS50b1JlZChyZWQpO1xcblxcbiAgZm9yICg7IGsgPiAwOyBrLS0pIHtcXG4gICAgdmFyIGEgPSB0aGlzLl9yYW5kcmFuZ2UobmV3IGJuKDIpLCBuMSk7XFxuXFxuICAgIHZhciBnID0gbi5nY2QoYSk7XFxuICAgIGlmIChnLmNtcG4oMSkgIT09IDApXFxuICAgICAgcmV0dXJuIGc7XFxuXFxuICAgIHZhciB4ID0gYS50b1JlZChyZWQpLnJlZFBvdyhkKTtcXG4gICAgaWYgKHguY21wKHJvbmUpID09PSAwIHx8IHguY21wKHJuMSkgPT09IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgczsgaSsrKSB7XFxuICAgICAgeCA9IHgucmVkU3FyKCk7XFxuXFxuICAgICAgaWYgKHguY21wKHJvbmUpID09PSAwKVxcbiAgICAgICAgcmV0dXJuIHguZnJvbVJlZCgpLnN1Ym4oMSkuZ2NkKG4pO1xcbiAgICAgIGlmICh4LmNtcChybjEpID09PSAwKVxcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKGkgPT09IHMpIHtcXG4gICAgICB4ID0geC5yZWRTcXIoKTtcXG4gICAgICByZXR1cm4geC5mcm9tUmVkKCkuc3VibigxKS5nY2Qobik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5dGFXeHNaWEl0Y21GaWFXNHZiR2xpTDIxeUxtcHpQemcyWXpraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNVMEZCVXl4dFFrRkJUeXhEUVVGRExIVkZRVUZQTzBGQlEzaENMR05CUVdNc2JVSkJRVThzUTBGQlF5eG5SRUZCVXpzN1FVRkZMMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1kwRkJZenRCUVVNdlFqczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxGRkJRVkVzVDBGQlR6dEJRVU5tTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNZMEZCWXp0QlFVTXZRanM3UVVGRlFUczdRVUZGUVN4UlFVRlJMRTlCUVU4N1FVRkRaanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMjFwYkd4bGNpMXlZV0pwYmk5c2FXSXZiWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1ltNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BPMXh1ZG1GeUlHSnliM0poYm1RZ1BTQnlaWEYxYVhKbEtDZGljbTl5WVc1a0p5azdYRzVjYm1aMWJtTjBhVzl1SUUxcGJHeGxjbEpoWW1sdUtISmhibVFwSUh0Y2JpQWdkR2hwY3k1eVlXNWtJRDBnY21GdVpDQjhmQ0J1WlhjZ1luSnZjbUZ1WkM1U1lXNWtLQ2s3WEc1OVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFMXBiR3hsY2xKaFltbHVPMXh1WEc1TmFXeHNaWEpTWVdKcGJpNWpjbVZoZEdVZ1BTQm1kVzVqZEdsdmJpQmpjbVZoZEdVb2NtRnVaQ2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJRTFwYkd4bGNsSmhZbWx1S0hKaGJtUXBPMXh1ZlR0Y2JseHVUV2xzYkdWeVVtRmlhVzR1Y0hKdmRHOTBlWEJsTGw5eVlXNWtZbVZzYjNjZ1BTQm1kVzVqZEdsdmJpQmZjbUZ1WkdKbGJHOTNLRzRwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJRzR1WW1sMFRHVnVaM1JvS0NrN1hHNGdJSFpoY2lCdGFXNWZZbmwwWlhNZ1BTQk5ZWFJvTG1ObGFXd29iR1Z1SUM4Z09DazdYRzVjYmlBZ0x5OGdSMlZ1WlhKaFoyVWdjbUZ1Wkc5dElHSjVkR1Z6SUhWdWRHbHNJR0VnYm5WdFltVnlJR3hsYzNNZ2RHaGhiaUJ1SUdseklHWnZkVzVrTGx4dUlDQXZMeUJVYUdseklHVnVjM1Z5WlhNZ2RHaGhkQ0F3TGk1dUxURWdhR0YyWlNCaGJpQmxjWFZoYkNCd2NtOWlZV0pwYkdsMGVTQnZaaUJpWldsdVp5QnpaV3hsWTNSbFpDNWNiaUFnWkc5Y2JpQWdJQ0IyWVhJZ1lTQTlJRzVsZHlCaWJpaDBhR2x6TG5KaGJtUXVaMlZ1WlhKaGRHVW9iV2x1WDJKNWRHVnpLU2s3WEc0Z0lIZG9hV3hsSUNoaExtTnRjQ2h1S1NBK1BTQXdLVHRjYmx4dUlDQnlaWFIxY200Z1lUdGNibjA3WEc1Y2JrMXBiR3hsY2xKaFltbHVMbkJ5YjNSdmRIbHdaUzVmY21GdVpISmhibWRsSUQwZ1puVnVZM1JwYjI0Z1gzSmhibVJ5WVc1blpTaHpkR0Z5ZEN3Z2MzUnZjQ2tnZTF4dUlDQXZMeUJIWlc1bGNtRjBaU0JoSUhKaGJtUnZiU0J1ZFcxaVpYSWdaM0psWVhSbGNpQjBhR0Z1SUc5eUlHVnhkV0ZzSUhSdklITjBZWEowSUdGdVpDQnNaWE56SUhSb1lXNGdjM1J2Y0M1Y2JpQWdkbUZ5SUhOcGVtVWdQU0J6ZEc5d0xuTjFZaWh6ZEdGeWRDazdYRzRnSUhKbGRIVnliaUJ6ZEdGeWRDNWhaR1FvZEdocGN5NWZjbUZ1WkdKbGJHOTNLSE5wZW1VcEtUdGNibjA3WEc1Y2JrMXBiR3hsY2xKaFltbHVMbkJ5YjNSdmRIbHdaUzUwWlhOMElEMGdablZ1WTNScGIyNGdkR1Z6ZENodUxDQnJMQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2JHVnVJRDBnYmk1aWFYUk1aVzVuZEdnb0tUdGNiaUFnZG1GeUlISmxaQ0E5SUdKdUxtMXZiblFvYmlrN1hHNGdJSFpoY2lCeWIyNWxJRDBnYm1WM0lHSnVLREVwTG5SdlVtVmtLSEpsWkNrN1hHNWNiaUFnYVdZZ0tDRnJLVnh1SUNBZ0lHc2dQU0JOWVhSb0xtMWhlQ2d4TENBb2JHVnVJQzhnTkRncElId2dNQ2s3WEc1Y2JpQWdMeThnUm1sdVpDQmtJR0Z1WkNCekxDQW9iaUF0SURFcElEMGdLRElnWGlCektTQXFJR1E3WEc0Z0lIWmhjaUJ1TVNBOUlHNHVjM1ZpYmlneEtUdGNiaUFnWm05eUlDaDJZWElnY3lBOUlEQTdJQ0Z1TVM1MFpYTjBiaWh6S1RzZ2N5c3JLU0I3ZlZ4dUlDQjJZWElnWkNBOUlHNHVjMmh5YmloektUdGNibHh1SUNCMllYSWdjbTR4SUQwZ2JqRXVkRzlTWldRb2NtVmtLVHRjYmx4dUlDQjJZWElnY0hKcGJXVWdQU0IwY25WbE8xeHVJQ0JtYjNJZ0tEc2dheUErSURBN0lHc3RMU2tnZTF4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3k1ZmNtRnVaSEpoYm1kbEtHNWxkeUJpYmlneUtTd2diakVwTzF4dUlDQWdJR2xtSUNoallpbGNiaUFnSUNBZ0lHTmlLR0VwTzF4dVhHNGdJQ0FnZG1GeUlIZ2dQU0JoTG5SdlVtVmtLSEpsWkNrdWNtVmtVRzkzS0dRcE8xeHVJQ0FnSUdsbUlDaDRMbU50Y0NoeWIyNWxLU0E5UFQwZ01DQjhmQ0I0TG1OdGNDaHliakVwSUQwOVBTQXdLVnh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTVRzZ2FTQThJSE03SUdrckt5a2dlMXh1SUNBZ0lDQWdlQ0E5SUhndWNtVmtVM0Z5S0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2g0TG1OdGNDaHliMjVsS1NBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUNBZ2FXWWdLSGd1WTIxd0tISnVNU2tnUFQwOUlEQXBYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHBJRDA5UFNCektWeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEJ5YVcxbE8xeHVmVHRjYmx4dVRXbHNiR1Z5VW1GaWFXNHVjSEp2ZEc5MGVYQmxMbWRsZEVScGRtbHpiM0lnUFNCbWRXNWpkR2x2YmlCblpYUkVhWFpwYzI5eUtHNHNJR3NwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJRzR1WW1sMFRHVnVaM1JvS0NrN1hHNGdJSFpoY2lCeVpXUWdQU0JpYmk1dGIyNTBLRzRwTzF4dUlDQjJZWElnY205dVpTQTlJRzVsZHlCaWJpZ3hLUzUwYjFKbFpDaHlaV1FwTzF4dVhHNGdJR2xtSUNnaGF5bGNiaUFnSUNCcklEMGdUV0YwYUM1dFlYZ29NU3dnS0d4bGJpQXZJRFE0S1NCOElEQXBPMXh1WEc0Z0lDOHZJRVpwYm1RZ1pDQmhibVFnY3l3Z0tHNGdMU0F4S1NBOUlDZ3lJRjRnY3lrZ0tpQmtPMXh1SUNCMllYSWdiakVnUFNCdUxuTjFZbTRvTVNrN1hHNGdJR1p2Y2lBb2RtRnlJSE1nUFNBd095QWhiakV1ZEdWemRHNG9jeWs3SUhNckt5a2dlMzFjYmlBZ2RtRnlJR1FnUFNCdUxuTm9jbTRvY3lrN1hHNWNiaUFnZG1GeUlISnVNU0E5SUc0eExuUnZVbVZrS0hKbFpDazdYRzVjYmlBZ1ptOXlJQ2c3SUdzZ1BpQXdPeUJyTFMwcElIdGNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTXVYM0poYm1SeVlXNW5aU2h1WlhjZ1ltNG9NaWtzSUc0eEtUdGNibHh1SUNBZ0lIWmhjaUJuSUQwZ2JpNW5ZMlFvWVNrN1hHNGdJQ0FnYVdZZ0tHY3VZMjF3YmlneEtTQWhQVDBnTUNsY2JpQWdJQ0FnSUhKbGRIVnliaUJuTzF4dVhHNGdJQ0FnZG1GeUlIZ2dQU0JoTG5SdlVtVmtLSEpsWkNrdWNtVmtVRzkzS0dRcE8xeHVJQ0FnSUdsbUlDaDRMbU50Y0NoeWIyNWxLU0E5UFQwZ01DQjhmQ0I0TG1OdGNDaHliakVwSUQwOVBTQXdLVnh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTVRzZ2FTQThJSE03SUdrckt5a2dlMXh1SUNBZ0lDQWdlQ0E5SUhndWNtVmtVM0Z5S0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2g0TG1OdGNDaHliMjVsS1NBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSGd1Wm5KdmJWSmxaQ2dwTG5OMVltNG9NU2t1WjJOa0tHNHBPMXh1SUNBZ0lDQWdhV1lnS0hndVkyMXdLSEp1TVNrZ1BUMDlJREFwWEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hwSUQwOVBTQnpLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNXlaV1JUY1hJb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCNExtWnliMjFTWldRb0tTNXpkV0p1S0RFcExtZGpaQ2h1S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL2xpYi9tci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihtb2R1bGUpIHsoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xcbiAgJ3VzZSBzdHJpY3QnO1xcblxcbiAgLy8gVXRpbHNcXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcXG4gICAgaWYgKCF2YWwpIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG4gIH1cXG5cXG4gIC8vIENvdWxkIHVzZSBgaW5oZXJpdHNgIG1vZHVsZSwgYnV0IGRvbid0IHdhbnQgdG8gbW92ZSBmcm9tIHNpbmdsZSBmaWxlXFxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxcbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xcbiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcXG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XFxuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XFxuICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XFxuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcXG4gIH1cXG5cXG4gIC8vIEJOXFxuXFxuICBmdW5jdGlvbiBCTiAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xcbiAgICAgIHJldHVybiBudW1iZXI7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIHRoaXMud29yZHMgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuXFxuICAgIC8vIFJlZHVjdGlvbiBjb250ZXh0XFxuICAgIHRoaXMucmVkID0gbnVsbDtcXG5cXG4gICAgaWYgKG51bWJlciAhPT0gbnVsbCkge1xcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcXG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XFxuICAgICAgICBiYXNlID0gMTA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuX2luaXQobnVtYmVyIHx8IDAsIGJhc2UgfHwgMTAsIGVuZGlhbiB8fCAnYmUnKTtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKSB7XFxuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XFxuICB9IGVsc2Uge1xcbiAgICBleHBvcnRzLkJOID0gQk47XFxuICB9XFxuXFxuICBCTi5CTiA9IEJOO1xcbiAgQk4ud29yZFNpemUgPSAyNjtcXG5cXG4gIHZhciBCdWZmZXI7XFxuICB0cnkge1xcbiAgICBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gNSkuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl0YVd4c1pYSXRjbUZpYVc0dmJtOWtaVjl0YjJSMWJHVnpMMkp1TG1wekwyeHBZaTlpYmk1cWN6OWhNV1UwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl4bFFVRlJPMEZCUXpkQ0xFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeDNRMEZCZDBNN1FVRkRlRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4M1EwRkJkME1zVVVGQlVUdEJRVU5vUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c2QwSkJRWGRDTEcxQ1FVRnRRanRCUVVNelF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRk5CUVZNN1FVRkRhRU03TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2MwTkJRWE5ETEZsQlFWazdRVUZEYkVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxITkRRVUZ6UXl4elFrRkJjMEk3UVVGRE5VUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTEZOQlFWTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZDUVVGeFFpeHBRa0ZCYVVJN1FVRkRkRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpdzBRa0ZCTkVJN1FVRkROME03UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NhVUpCUVdsQ0xHRkJRV0U3UVVGRE9VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEZsQlFWa3NaVUZCWlR0QlFVTXpRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSXNaMEpCUVdkQ08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNOa0pCUVRaQ08wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMR05CUVdNN1FVRkRha003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZMRFpDUVVFMlFqdEJRVU4yUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVTBGQlV6dEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVMRmRCUVZjN1FVRkRMMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2IwSkJRVzlDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RVFVRnZSQ3hYUVVGWE8wRkJReTlFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVDBGQlR6dEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRWRCUVVjN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ096dEJRVVZCTEd0RFFVRnJRenRCUVVOc1F5eHpRMEZCYzBNN1FVRkRkRU03TzBGQlJVRTdRVUZEUVN4eFFrRkJjVUlzVDBGQlR6dEJRVU0xUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHTkJRV003UVVGRE0wTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEN0Q1FVRXJRaXhSUVVGUk8wRkJRM1pETzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxHbENRVUZwUWl4cFFrRkJhVUk3UVVGRGJFTTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpd3JRMEZCSzBNN1FVRkRiRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNjVUpCUVhGQ0xITkRRVUZ6UXp0QlFVTXpSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc1owSkJRV2RDTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNlVUpCUVhsQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc2FVSkJRV2xDTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4alFVRmpPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVVVGQlVUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVOQlFXbERMRkZCUVZFN1FVRkRla003UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xEQkNRVUV3UWp0QlFVTnFSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owTkJRV2RETzBGQlEyNUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTXNVVUZCVVR0QlFVTjZRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzV1VGQldUdEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaMEpCUVdkQ0xHdENRVUZyUWp0QlFVTnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEc5Q1FVRnZRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERSQ1FVRTBRaXhSUVVGUk8wRkJRM0JETzBGQlEwRXNOa0pCUVRaQ0xGRkJRVkU3UVVGRGNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlVGQlJTeE5RVUUyUWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl0YVd4c1pYSXRjbUZpYVc0dmJtOWtaVjl0YjJSMWJHVnpMMkp1TG1wekwyeHBZaTlpYmk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlobWRXNWpkR2x2YmlBb2JXOWtkV3hsTENCbGVIQnZjblJ6S1NCN1hHNGdJQ2QxYzJVZ2MzUnlhV04wSnp0Y2JseHVJQ0F2THlCVmRHbHNjMXh1SUNCbWRXNWpkR2x2YmlCaGMzTmxjblFnS0haaGJDd2diWE5uS1NCN1hHNGdJQ0FnYVdZZ0tDRjJZV3dwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0YzJjZ2ZId2dKMEZ6YzJWeWRHbHZiaUJtWVdsc1pXUW5LVHRjYmlBZ2ZWeHVYRzRnSUM4dklFTnZkV3hrSUhWelpTQmdhVzVvWlhKcGRITmdJRzF2WkhWc1pTd2dZblYwSUdSdmJpZDBJSGRoYm5RZ2RHOGdiVzkyWlNCbWNtOXRJSE5wYm1kc1pTQm1hV3hsWEc0Z0lDOHZJR0Z5WTJocGRHVmpkSFZ5WlNCNVpYUXVYRzRnSUdaMWJtTjBhVzl1SUdsdWFHVnlhWFJ6SUNoamRHOXlMQ0J6ZFhCbGNrTjBiM0lwSUh0Y2JpQWdJQ0JqZEc5eUxuTjFjR1Z5WHlBOUlITjFjR1Z5UTNSdmNqdGNiaUFnSUNCMllYSWdWR1Z0Y0VOMGIzSWdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNiaUFnSUNCVVpXMXdRM1J2Y2k1d2NtOTBiM1I1Y0dVZ1BTQnpkWEJsY2tOMGIzSXVjSEp2ZEc5MGVYQmxPMXh1SUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ2JtVjNJRlJsYlhCRGRHOXlLQ2s3WEc0Z0lDQWdZM1J2Y2k1d2NtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JqZEc5eU8xeHVJQ0I5WEc1Y2JpQWdMeThnUWs1Y2JseHVJQ0JtZFc1amRHbHZiaUJDVGlBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQnBaaUFvUWs0dWFYTkNUaWh1ZFcxaVpYSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZ0WW1WeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JseHVJQ0FnSUM4dklGSmxaSFZqZEdsdmJpQmpiMjUwWlhoMFhHNGdJQ0FnZEdocGN5NXlaV1FnUFNCdWRXeHNPMXh1WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlDZHNaU2NnZkh3Z1ltRnpaU0E5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnSUNCbGJtUnBZVzRnUFNCaVlYTmxPMXh1SUNBZ0lDQWdJQ0JpWVhObElEMGdNVEE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMmx1YVhRb2JuVnRZbVZ5SUh4OElEQXNJR0poYzJVZ2ZId2dNVEFzSUdWdVpHbGhiaUI4ZkNBblltVW5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdhV1lnS0hSNWNHVnZaaUJ0YjJSMWJHVWdQVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JDVGp0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCbGVIQnZjblJ6TGtKT0lEMGdRazQ3WEc0Z0lIMWNibHh1SUNCQ1RpNUNUaUE5SUVKT08xeHVJQ0JDVGk1M2IzSmtVMmw2WlNBOUlESTJPMXh1WEc0Z0lIWmhjaUJDZFdabVpYSTdYRzRnSUhSeWVTQjdYRzRnSUNBZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5SnlrdVFuVm1abVZ5TzF4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lIMWNibHh1SUNCQ1RpNXBjMEpPSUQwZ1puVnVZM1JwYjI0Z2FYTkNUaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlNCcGJuTjBZVzVqWlc5bUlFSk9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0SUNFOVBTQnVkV3hzSUNZbUlIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdlltcGxZM1FuSUNZbVhHNGdJQ0FnSUNCdWRXMHVZMjl1YzNSeWRXTjBiM0l1ZDI5eVpGTnBlbVVnUFQwOUlFSk9MbmR2Y21SVGFYcGxJQ1ltSUVGeWNtRjVMbWx6UVhKeVlYa29iblZ0TG5kdmNtUnpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXRZWGdnUFNCbWRXNWpkR2x2YmlCdFlYZ2dLR3hsWm5Rc0lISnBaMmgwS1NCN1hHNGdJQ0FnYVdZZ0tHeGxablF1WTIxd0tISnBaMmgwS1NBK0lEQXBJSEpsZEhWeWJpQnNaV1owTzF4dUlDQWdJSEpsZEhWeWJpQnlhV2RvZER0Y2JpQWdmVHRjYmx4dUlDQkNUaTV0YVc0Z1BTQm1kVzVqZEdsdmJpQnRhVzRnS0d4bFpuUXNJSEpwWjJoMEtTQjdYRzRnSUNBZ2FXWWdLR3hsWm5RdVkyMXdLSEpwWjJoMEtTQThJREFwSUhKbGRIVnliaUJzWldaME8xeHVJQ0FnSUhKbGRIVnliaUJ5YVdkb2REdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHVhWFFnUFNCbWRXNWpkR2x2YmlCcGJtbDBJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JuVnRZbVZ5SUQwOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDJsdWFYUk9kVzFpWlhJb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiblZ0WW1WeUlEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybHVhWFJCY25KaGVTaHVkVzFpWlhJc0lHSmhjMlVzSUdWdVpHbGhiaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0JpWVhObElEMGdNVFk3WEc0Z0lDQWdmVnh1SUNBZ0lHRnpjMlZ5ZENoaVlYTmxJRDA5UFNBb1ltRnpaU0I4SURBcElDWW1JR0poYzJVZ1BqMGdNaUFtSmlCaVlYTmxJRHc5SURNMktUdGNibHh1SUNBZ0lHNTFiV0psY2lBOUlHNTFiV0psY2k1MGIxTjBjbWx1WnlncExuSmxjR3hoWTJVb0wxeGNjeXN2Wnl3Z0p5Y3BPMXh1SUNBZ0lIWmhjaUJ6ZEdGeWRDQTlJREE3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjbHN3WFNBOVBUMGdKeTBuS1NCN1hHNGdJQ0FnSUNCemRHRnlkQ3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNHRnljMlZJWlhnb2JuVnRZbVZ5TENCemRHRnlkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCaGNuTmxRbUZ6WlNodWRXMWlaWElzSUdKaGMyVXNJSE4wWVhKMEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJSFJvYVhNdVgybHVhWFJCY25KaGVTaDBhR2x6TG5SdlFYSnlZWGtvS1N3Z1ltRnpaU3dnWlc1a2FXRnVLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1YVhST2RXMWlaWElnUFNCbWRXNWpkR2x2YmlCZmFXNXBkRTUxYldKbGNpQW9iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ0lDQnVkVzFpWlhJZ1BTQXRiblZ0WW1WeU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01IZzBNREF3TURBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lCdWRXMWlaWElnSmlBd2VETm1abVptWm1ZZ1hUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJXSmxjaUE4SURCNE1UQXdNREF3TURBd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURJN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzFpWlhJZ1BDQXdlREl3TURBd01EQXdNREF3TURBd0tUc2dMeThnTWlCZUlEVXpJQ2gxYm5OaFptVXBYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBeFhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHSjVkR1Z6WEc0Z0lDQWdkR2hwY3k1ZmFXNXBkRUZ5Y21GNUtIUm9hWE11ZEc5QmNuSmhlU2dwTENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzVwZEVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUkJjbkpoZVNBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQXZMeUJRWlhKb1lYQnpJR0VnVldsdWREaEJjbkpoZVZ4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRZbVZ5TG14bGJtZDBhQ0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdsbUlDaHVkVzFpWlhJdWJHVnVaM1JvSUR3OUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYklEQWdYVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnVFdGMGFDNWpaV2xzS0c1MWJXSmxjaTVzWlc1bmRHZ2dMeUF6S1R0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJxTENCM08xeHVJQ0FnSUhaaGNpQnZabVlnUFNBd08xeHVJQ0FnSUdsbUlDaGxibVJwWVc0Z1BUMDlJQ2RpWlNjcElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNBeExDQnFJRDBnTURzZ2FTQStQU0F3T3lCcElDMDlJRE1wSUh0Y2JpQWdJQ0FnSUNBZ2R5QTlJRzUxYldKbGNsdHBYU0I4SUNodWRXMWlaWEpiYVNBdElERmRJRHc4SURncElId2dLRzUxYldKbGNsdHBJQzBnTWwwZ1BEd2dNVFlwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcycGRJSHc5SUNoM0lEdzhJRzltWmlrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWlBcklERmRJRDBnS0hjZ1BqNCtJQ2d5TmlBdElHOW1aaWtwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQnZabVlnS3owZ01qUTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hsYm1ScFlXNGdQVDA5SUNkc1pTY3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREFzSUdvZ1BTQXdPeUJwSUR3Z2JuVnRZbVZ5TG14bGJtZDBhRHNnYVNBclBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnS3lBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXJJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSEJoY25ObFNHVjRJQ2h6ZEhJc0lITjBZWEowTENCbGJtUXBJSHRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlFMWhkR2d1YldsdUtITjBjaTVzWlc1bmRHZ3NJR1Z1WkNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITjBZWEowT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCaklEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dMU0EwT0R0Y2JseHVJQ0FnSUNBZ2NpQThQRDBnTkR0Y2JseHVJQ0FnSUNBZ0x5OGdKMkVuSUMwZ0oyWW5YRzRnSUNBZ0lDQnBaaUFvWXlBK1BTQTBPU0FtSmlCaklEdzlJRFUwS1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNjZ0xTQW5SaWRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWXlBK1BTQXhOeUFtSmlCaklEdzlJREl5S1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElERTNJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuTUNjZ0xTQW5PU2RjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSElnZkQwZ1l5QW1JREI0Wmp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISTdYRzRnSUgxY2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgzQmhjbk5sU0dWNElEMGdablZ1WTNScGIyNGdYM0JoY25ObFNHVjRJQ2h1ZFcxaVpYSXNJSE4wWVhKMEtTQjdYRzRnSUNBZ0x5OGdRM0psWVhSbElIQnZjM05wWW14NUlHSnBaMmRsY2lCaGNuSmhlU0IwYnlCbGJuTjFjbVVnZEdoaGRDQnBkQ0JtYVhSeklIUm9aU0J1ZFcxaVpYSmNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2dvYm5WdFltVnlMbXhsYm1kMGFDQXRJSE4wWVhKMEtTQXZJRFlwTzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR29zSUhjN1hHNGdJQ0FnTHk4Z1UyTmhiaUF5TkMxaWFYUWdZMmgxYm10eklHRnVaQ0JoWkdRZ2RHaGxiU0IwYnlCMGFHVWdiblZ0WW1WeVhHNGdJQ0FnZG1GeUlHOW1aaUE5SURBN1hHNGdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJRFlzSUdvZ1BTQXdPeUJwSUQ0OUlITjBZWEowT3lCcElDMDlJRFlwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lHa3NJR2tnS3lBMktUdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhbDBnZkQwZ0tIY2dQRHdnYjJabUtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQzh2SUU1UFZFVTZJR0F3ZURObVptWm1abUFnYVhNZ2FXNTBaVzUwYVc5dVlXd2dhR1Z5WlN3Z01qWmlhWFJ6SUcxaGVDQnphR2xtZENBcklESTBZbWwwSUdobGVDQnNhVzFpWEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJvZ0t5QXhYU0I4UFNCM0lENCtQaUFvTWpZZ0xTQnZabVlwSUNZZ01IZ3pabVptWm1ZN1hHNGdJQ0FnSUNCdlptWWdLejBnTWpRN1hHNGdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUc5bVppQXRQU0F5Tmp0Y2JpQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hU0FySURZZ0lUMDlJSE4wWVhKMEtTQjdYRzRnSUNBZ0lDQjNJRDBnY0dGeWMyVklaWGdvYm5WdFltVnlMQ0J6ZEdGeWRDd2dhU0FySURZcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFYU0I4UFNBb2R5QThQQ0J2Wm1ZcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxSUNzZ01WMGdmRDBnZHlBK1BqNGdLREkySUMwZ2IyWm1LU0FtSURCNE0yWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZDWVhObElDaHpkSElzSUhOMFlYSjBMQ0JsYm1Rc0lHMTFiQ2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdNRHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdUV0YwYUM1dGFXNG9jM1J5TG14bGJtZDBhQ3dnWlc1a0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHTWdQU0J6ZEhJdVkyaGhja052WkdWQmRDaHBLU0F0SURRNE8xeHVYRzRnSUNBZ0lDQnlJQ285SUcxMWJEdGNibHh1SUNBZ0lDQWdMeThnSjJFblhHNGdJQ0FnSUNCcFppQW9ZeUErUFNBME9Ta2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTWdMU0EwT1NBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0owRW5YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUGowZ01UY3BJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0JqTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmNHRnljMlZDWVhObElEMGdablZ1WTNScGIyNGdYM0JoY25ObFFtRnpaU0FvYm5WdFltVnlMQ0JpWVhObExDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdZWE1nZW1WeWIxeHVJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJREFnWFR0Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzVjYmlBZ0lDQXZMeUJHYVc1a0lHeGxibWQwYUNCdlppQnNhVzFpSUdsdUlHSmhjMlZjYmlBZ0lDQm1iM0lnS0haaGNpQnNhVzFpVEdWdUlEMGdNQ3dnYkdsdFlsQnZkeUE5SURFN0lHeHBiV0pRYjNjZ1BEMGdNSGd6Wm1abVptWm1PeUJzYVcxaVVHOTNJQ285SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR3hwYldKTVpXNHJLenRjYmlBZ0lDQjlYRzRnSUNBZ2JHbHRZa3hsYmkwdE8xeHVJQ0FnSUd4cGJXSlFiM2NnUFNBb2JHbHRZbEJ2ZHlBdklHSmhjMlVwSUh3Z01EdGNibHh1SUNBZ0lIWmhjaUIwYjNSaGJDQTlJRzUxYldKbGNpNXNaVzVuZEdnZ0xTQnpkR0Z5ZER0Y2JpQWdJQ0IyWVhJZ2JXOWtJRDBnZEc5MFlXd2dKU0JzYVcxaVRHVnVPMXh1SUNBZ0lIWmhjaUJsYm1RZ1BTQk5ZWFJvTG0xcGJpaDBiM1JoYkN3Z2RHOTBZV3dnTFNCdGIyUXBJQ3NnYzNSaGNuUTdYRzVjYmlBZ0lDQjJZWElnZDI5eVpDQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z1pXNWtPeUJwSUNzOUlHeHBiV0pNWlc0cElIdGNiaUFnSUNBZ0lIZHZjbVFnUFNCd1lYSnpaVUpoYzJVb2JuVnRZbVZ5TENCcExDQnBJQ3NnYkdsdFlreGxiaXdnWW1GelpTazdYRzVjYmlBZ0lDQWdJSFJvYVhNdWFXMTFiRzRvYkdsdFlsQnZkeWs3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FySUhkdmNtUWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0FyUFNCM2IzSmtPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmFXRmtaRzRvZDI5eVpDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzF2WkNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIQnZkeUE5SURFN1hHNGdJQ0FnSUNCM2IzSmtJRDBnY0dGeWMyVkNZWE5sS0c1MWJXSmxjaXdnYVN3Z2JuVnRZbVZ5TG14bGJtZDBhQ3dnWW1GelpTazdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnRiMlE3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0J3YjNjZ0tqMGdZbUZ6WlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHdiM2NwTzF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11ZDI5eVpITmJNRjBnS3lCM2IzSmtJRHdnTUhnME1EQXdNREF3S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnS3owZ2QyOXlaRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgybGhaR1J1S0hkdmNtUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUdOdmNIa2dLR1JsYzNRcElIdGNiaUFnSUNCa1pYTjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdSbGMzUXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0JrWlhOMExteGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9PMXh1SUNBZ0lHUmxjM1F1Ym1WbllYUnBkbVVnUFNCMGFHbHpMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHUmxjM1F1Y21Wa0lEMGdkR2hwY3k1eVpXUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z1kyeHZibVVnS0NrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUhSb2FYTXVZMjl3ZVNoeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJWNGNHRnVaQ0E5SUdaMWJtTjBhVzl1SUY5bGVIQmhibVFnS0hOcGVtVXBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J6YVhwbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvS3l0ZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVnRiM1psSUd4bFlXUnBibWNnWURCZ0lHWnliMjBnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkSEpwY0NBOUlHWjFibU4wYVc5dUlITjBjbWx3SUNncElIdGNiaUFnSUNCM2FHbHNaU0FvZEdocGN5NXNaVzVuZEdnZ1BpQXhJQ1ltSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdndExUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXViM0p0VTJsbmJpQTlJR1oxYm1OMGFXOXVJRjl1YjNKdFUybG5iaUFvS1NCN1hHNGdJQ0FnTHk4Z0xUQWdQU0F3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXNXpjR1ZqZENBOUlHWjFibU4wYVc5dUlHbHVjM0JsWTNRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTV5WldRZ1B5QW5QRUpPTFZJNklDY2dPaUFuUEVKT09pQW5LU0FySUhSb2FYTXVkRzlUZEhKcGJtY29NVFlwSUNzZ0p6NG5PMXh1SUNCOU8xeHVYRzRnSUM4cVhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxMDdYRzRnSUhaaGNpQm5jbTkxY0ZOcGVtVnpJRDBnVzEwN1hHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMTA3WEc1Y2JpQWdkbUZ5SUhNZ1BTQW5KenRjYmlBZ2RtRnlJR2tnUFNBdE1UdGNiaUFnZDJocGJHVWdLQ3NyYVNBOElFSk9MbmR2Y21SVGFYcGxLU0I3WEc0Z0lDQWdlbVZ5YjNOYmFWMGdQU0J6TzF4dUlDQWdJSE1nS3owZ0p6QW5PMXh1SUNCOVhHNGdJR2R5YjNWd1UybDZaWE5iTUYwZ1BTQXdPMXh1SUNCbmNtOTFjRk5wZW1Weld6RmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN3WFNBOUlEQTdYRzRnSUdkeWIzVndRbUZ6WlhOYk1WMGdQU0F3TzF4dUlDQjJZWElnWW1GelpTQTlJRElnTFNBeE8xeHVJQ0IzYUdsc1pTQW9LeXRpWVhObElEd2dNellnS3lBeEtTQjdYRzRnSUNBZ2RtRnlJR2R5YjNWd1UybDZaU0E5SURBN1hHNGdJQ0FnZG1GeUlHZHliM1Z3UW1GelpTQTlJREU3WEc0Z0lDQWdkMmhwYkdVZ0tHZHliM1Z3UW1GelpTQThJQ2d4SUR3OElFSk9MbmR2Y21SVGFYcGxLU0F2SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR2R5YjNWd1FtRnpaU0FxUFNCaVlYTmxPMXh1SUNBZ0lDQWdaM0p2ZFhCVGFYcGxJQ3M5SURFN1hHNGdJQ0FnZlZ4dUlDQWdJR2R5YjNWd1UybDZaWE5iWW1GelpWMGdQU0JuY205MWNGTnBlbVU3WEc0Z0lDQWdaM0p2ZFhCQ1lYTmxjMXRpWVhObFhTQTlJR2R5YjNWd1FtRnpaVHRjYmlBZ2ZWeHVYRzRnSUNvdlhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxeHVJQ0FnSUNjbkxGeHVJQ0FnSUNjd0p5eGNiaUFnSUNBbk1EQW5MRnh1SUNBZ0lDY3dNREFuTEZ4dUlDQWdJQ2N3TURBd0p5eGNiaUFnSUNBbk1EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0oxeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRk5wZW1WeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNalVzSURFMkxDQXhNaXdnTVRFc0lERXdMQ0E1TENBNExGeHVJQ0FnSURnc0lEY3NJRGNzSURjc0lEY3NJRFlzSURZc1hHNGdJQ0FnTml3Z05pd2dOaXdnTml3Z05pd2dOU3dnTlN4Y2JpQWdJQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTEZ4dUlDQWdJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNJRFZjYmlBZ1hUdGNibHh1SUNCMllYSWdaM0p2ZFhCQ1lYTmxjeUE5SUZ0Y2JpQWdJQ0F3TENBd0xGeHVJQ0FnSURNek5UVTBORE15TENBME16QTBOamN5TVN3Z01UWTNOemN5TVRZc0lEUTRPREk0TVRJMUxDQTJNRFEyTmpFM05pd2dOREF6TlRNMk1EY3NJREUyTnpjM01qRTJMRnh1SUNBZ0lEUXpNRFEyTnpJeExDQXhNREF3TURBd01Dd2dNVGswT0RjeE56RXNJRE0xT0RNeE9EQTRMQ0EyTWpjME9EVXhOeXdnTnpVeU9UVXpOaXdnTVRFek9UQTJNalVzWEc0Z0lDQWdNVFkzTnpjeU1UWXNJREkwTVRNM05UWTVMQ0F6TkRBeE1qSXlOQ3dnTkRjd05EVTRPREVzSURZME1EQXdNREF3TENBME1EZzBNVEF4TENBMU1UVXpOak15TEZ4dUlDQWdJRFkwTXpZek5ETXNJRGM1TmpJMk1qUXNJRGszTmpVMk1qVXNJREV4T0RneE16YzJMQ0F4TkRNME9Ea3dOeXdnTVRjeU1UQXpOamdzSURJd05URXhNVFE1TEZ4dUlDQWdJREkwTXpBd01EQXdMQ0F5T0RZeU9URTFNU3dnTXpNMU5UUTBNeklzSURNNU1UTTFNemt6TENBME5UUXpOVFF5TkN3Z05USTFNakU0TnpVc0lEWXdORFkyTVRjMlhHNGdJRjA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuSUQwZ1puVnVZM1JwYjI0Z2RHOVRkSEpwYm1jZ0tHSmhjMlVzSUhCaFpHUnBibWNwSUh0Y2JpQWdJQ0JpWVhObElEMGdZbUZ6WlNCOGZDQXhNRHRjYmlBZ0lDQndZV1JrYVc1bklEMGdjR0ZrWkdsdVp5QjhJREFnZkh3Z01UdGNibHh1SUNBZ0lIWmhjaUJ2ZFhRN1hHNGdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlERTJJSHg4SUdKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0J2ZFhRZ1BTQW5KenRjYmlBZ0lDQWdJSFpoY2lCdlptWWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzYjNKa0lEMGdLQ2dvZHlBOFBDQnZabVlwSUh3Z1kyRnljbmtwSUNZZ01IaG1abVptWm1ZcExuUnZVM1J5YVc1bktERTJLVHRjYmlBZ0lDQWdJQ0FnWTJGeWNua2dQU0FvZHlBK1BqNGdLREkwSUMwZ2IyWm1LU2tnSmlBd2VHWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dJVDA5SUhSb2FYTXViR1Z1WjNSb0lDMGdNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhwbGNtOXpXellnTFNCM2IzSmtMbXhsYm1kMGFGMGdLeUIzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhkdmNtUWdLeUJ2ZFhRN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdiMlptSUNzOUlESTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2FTMHRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdZMkZ5Y25rdWRHOVRkSEpwYm1jb01UWXBJQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2QyaHBiR1VnS0c5MWRDNXNaVzVuZEdnZ0pTQndZV1JrYVc1bklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJQ2N0SnlBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQnZkWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNoaVlYTmxJSHdnTUNrZ0ppWWdZbUZ6WlNBK1BTQXlJQ1ltSUdKaGMyVWdQRDBnTXpZcElIdGNiaUFnSUNBZ0lDOHZJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRUpPTG5kdmNtUlRhWHBsSUNvZ1RXRjBhQzVNVGpJZ0x5Qk5ZWFJvTG14dlp5aGlZWE5sS1NrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCVGFYcGxJRDBnWjNKdmRYQlRhWHBsYzF0aVlYTmxYVHRjYmlBZ0lDQWdJQzh2SUhaaGNpQm5jbTkxY0VKaGMyVWdQU0JOWVhSb0xuQnZkeWhpWVhObExDQm5jbTkxY0ZOcGVtVXBPMXh1SUNBZ0lDQWdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlHZHliM1Z3UW1GelpYTmJZbUZ6WlYwN1hHNGdJQ0FnSUNCdmRYUWdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUNBZ1l5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9JV011YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSElnUFNCakxtMXZaRzRvWjNKdmRYQkNZWE5sS1M1MGIxTjBjbWx1WnloaVlYTmxLVHRjYmlBZ0lDQWdJQ0FnWXlBOUlHTXVhV1JwZG00b1ozSnZkWEJDWVhObEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb0lXTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxdG5jbTkxY0ZOcGVtVWdMU0J5TG14bGJtZDBhRjBnS3lCeUlDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhJZ0t5QnZkWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHRnpjMlZ5ZENobVlXeHpaU3dnSjBKaGMyVWdjMmh2ZFd4a0lHSmxJR0psZEhkbFpXNGdNaUJoYm1RZ016WW5LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlPZFcxaVpYSWdQU0JtZFc1amRHbHZiaUIwYjA1MWJXSmxjaUFvS1NCN1hHNGdJQ0FnZG1GeUlISmxkQ0E5SUhSb2FYTXVkMjl5WkhOYk1GMDdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXlLU0I3WEc0Z0lDQWdJQ0J5WlhRZ0t6MGdkR2hwY3k1M2IzSmtjMXN4WFNBcUlEQjROREF3TURBd01EdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeklDWW1JSFJvYVhNdWQyOXlaSE5iTWwwZ1BUMDlJREI0TURFcElIdGNiaUFnSUNBZ0lDOHZJRTVQVkVVNklHRjBJSFJvYVhNZ2MzUmhaMlVnYVhRZ2FYTWdhMjV2ZDI0Z2RHaGhkQ0IwYUdVZ2RHOXdJR0pwZENCcGN5QnpaWFJjYmlBZ0lDQWdJSEpsZENBclBTQXdlREV3TURBd01EQXdNREF3TURBd0lDc2dLSFJvYVhNdWQyOXlaSE5iTVYwZ0tpQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBeUtTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb1ptRnNjMlVzSUNkT2RXMWlaWElnWTJGdUlHOXViSGtnYzJGbVpXeDVJSE4wYjNKbElIVndJSFJ2SURVeklHSnBkSE1uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0EvSUMxeVpYUWdPaUJ5WlhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlNsTlBUaUE5SUdaMWJtTjBhVzl1SUhSdlNsTlBUaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOVRkSEpwYm1jb01UWXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMEoxWm1abGNpQTlJR1oxYm1OMGFXOXVJSFJ2UW5WbVptVnlJQ2hsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnUW5WbVptVnlJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkRzlCY25KaGVVeHBhMlVvUW5WbVptVnlMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQjBiMEZ5Y21GNUlDaGxibVJwWVc0c0lHeGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZRWEp5WVhsTWFXdGxLRUZ5Y21GNUxDQmxibVJwWVc0c0lHeGxibWQwYUNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFYSnlZWGxNYVd0bElEMGdablZ1WTNScGIyNGdkRzlCY25KaGVVeHBhMlVnS0VGeWNtRjVWSGx3WlN3Z1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0IyWVhJZ1lubDBaVXhsYm1kMGFDQTlJSFJvYVhNdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNBZ0lIWmhjaUJ5WlhGTVpXNW5kR2dnUFNCc1pXNW5kR2dnZkh3Z1RXRjBhQzV0WVhnb01Td2dZbmwwWlV4bGJtZDBhQ2s3WEc0Z0lDQWdZWE56WlhKMEtHSjVkR1ZNWlc1bmRHZ2dQRDBnY21WeFRHVnVaM1JvTENBbllubDBaU0JoY25KaGVTQnNiMjVuWlhJZ2RHaGhiaUJrWlhOcGNtVmtJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoeVpYRk1aVzVuZEdnZ1BpQXdMQ0FuVW1WeGRXVnpkR1ZrSUdGeWNtRjVJR3hsYm1kMGFDQThQU0F3SnlrN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzRnSUNBZ2RtRnlJR3hwZEhSc1pVVnVaR2xoYmlBOUlHVnVaR2xoYmlBOVBUMGdKMnhsSnp0Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnYm1WM0lFRnljbUY1Vkhsd1pTaHlaWEZNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdkbUZ5SUdJc0lHazdYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2FXWWdLQ0ZzYVhSMGJHVkZibVJwWVc0cElIdGNiaUFnSUNBZ0lDOHZJRUZ6YzNWdFpTQmlhV2N0Wlc1a2FXRnVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2NtVnhUR1Z1WjNSb0lDMGdZbmwwWlV4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lDRnhMbWx6V21WeWJ5Z3BPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdZaUE5SUhFdVlXNWtiRzRvTUhobVppazdYRzRnSUNBZ0lDQWdJSEV1YVhWemFISnVLRGdwTzF4dVhHNGdJQ0FnSUNBZ0lISmxjMXR5WlhGTVpXNW5kR2dnTFNCcElDMGdNVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lBaGNTNXBjMXBsY204b0tUc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHSWdQU0J4TG1GdVpHeHVLREI0Wm1ZcE8xeHVJQ0FnSUNBZ0lDQnhMbWwxYzJoeWJpZzRLVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJSEpsY1V4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCcFppQW9UV0YwYUM1amJIb3pNaWtnZTF4dUlDQWdJRUpPTG5CeWIzUnZkSGx3WlM1ZlkyOTFiblJDYVhSeklEMGdablZ1WTNScGIyNGdYMk52ZFc1MFFtbDBjeUFvZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURNeUlDMGdUV0YwYUM1amJIb3pNaWgzS1R0Y2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUVKT0xuQnliM1J2ZEhsd1pTNWZZMjkxYm5SQ2FYUnpJRDBnWm5WdVkzUnBiMjRnWDJOdmRXNTBRbWwwY3lBb2R5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhRZ1BTQjNPMXh1SUNBZ0lDQWdkbUZ5SUhJZ1BTQXdPMXh1SUNBZ0lDQWdhV1lnS0hRZ1BqMGdNSGd4TURBd0tTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ01UTTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMElENDlJREI0TkRBcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBM08xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ056dGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRPQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnd01pa2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlESTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlISWdLeUIwTzF4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYM3BsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnWDNwbGNtOUNhWFJ6SUNoM0tTQjdYRzRnSUNBZ0x5OGdVMmh2Y25RdFkzVjBYRzRnSUNBZ2FXWWdLSGNnUFQwOUlEQXBJSEpsZEhWeWJpQXlOanRjYmx4dUlDQWdJSFpoY2lCMElEMGdkenRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3habVptS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQXhNenRjYmlBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZzNaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ056dGNiaUFnSUNBZ0lIUWdQajQrUFNBM08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZUdZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdORHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3pLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaUFyUFNBeU8xeHVJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TVNrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJckt6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHNTFiV0psY2lCdlppQjFjMlZrSUdKcGRITWdhVzRnWVNCQ1RseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbDBUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbWwwVEdWdVozUm9JQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQjJZWElnYUdrZ1BTQjBhR2x6TGw5amIzVnVkRUpwZEhNb2R5azdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbXhsYm1kMGFDQXRJREVwSUNvZ01qWWdLeUJvYVR0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQjBiMEpwZEVGeWNtRjVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdkeUE5SUc1bGR5QkJjbkpoZVNodWRXMHVZbWwwVEdWdVozUm9LQ2twTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnWW1sMElEMGdNRHNnWW1sMElEd2dkeTVzWlc1bmRHZzdJR0pwZENzcktTQjdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdLR0pwZENBdklESTJLU0I4SURBN1hHNGdJQ0FnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ0lDQjNXMkpwZEYwZ1BTQW9iblZ0TG5kdmNtUnpXMjltWmwwZ0ppQW9NU0E4UENCM1ltbDBLU2tnUGo0K0lIZGlhWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIYzdYRzRnSUgxY2JseHVJQ0F2THlCT2RXMWlaWElnYjJZZ2RISmhhV3hwYm1jZ2VtVnlieUJpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NlpYSnZRbWwwY3lBOUlHWjFibU4wYVc5dUlIcGxjbTlDYVhSeklDZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXBjMXBsY204b0tTa2djbVYwZFhKdUlEQTdYRzVjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11WDNwbGNtOUNhWFJ6S0hSb2FYTXVkMjl5WkhOYmFWMHBPMXh1SUNBZ0lDQWdjaUFyUFNCaU8xeHVJQ0FnSUNBZ2FXWWdLR0lnSVQwOUlESTJLU0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUo1ZEdWTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWVYUmxUR1Z1WjNSb0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVqWldsc0tIUm9hWE11WW1sMFRHVnVaM1JvS0NrZ0x5QTRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlVZDI5eklEMGdablZ1WTNScGIyNGdkRzlVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1aFluTW9LUzVwYm05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxVWQyOXpJRDBnWm5WdVkzUnBiMjRnWm5KdmJWUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVkR1Z6ZEc0b2QybGtkR2dnTFNBeEtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrdWFXNWxaeWdwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMDVsWnlBOUlHWjFibU4wYVc5dUlHbHpUbVZuSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdibVZuWVhScGRtVWdZMnh2Ym1VZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dVpXY2dQU0JtZFc1amRHbHZiaUJ1WldjZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzVsWnlncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGJtVm5JRDBnWm5WdVkzUnBiMjRnYVc1bFp5QW9LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElGNDlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUM0lnWUc1MWJXQWdkMmwwYUNCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYjNJZ1BTQm1kVzVqZEdsdmJpQnBkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J1ZFcwdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9LeXRkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc5eUlEMGdablZ1WTNScGIyNGdhVzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkVzl5S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1QzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtOXlJRDBnWm5WdVkzUnBiMjRnYjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXOXlLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1sdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFc5eUlEMGdablZ1WTNScGIyNGdkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sMWIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCYm1RZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJBZ2FXNHRjR3hoWTJWY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sMVlXNWtJRDBnWm5WdVkzUnBiMjRnYVhWaGJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklHSWdQU0J0YVc0dGJHVnVaM1JvS0c1MWJTd2dkR2hwY3lsY2JpQWdJQ0IyWVhJZ1lqdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0l1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRJQ1lnYm5WdExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZaTVzWlc1bmRHZzdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZVzVrSUQwZ1puVnVZM1JwYjI0Z2FXRnVaQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVmhibVFvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQmJtUWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtRnVaQ0E5SUdaMWJtTjBhVzl1SUdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZVzVrS0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbGhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVmhibVFnUFNCbWRXNWpkR2x2YmlCMVlXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxWVc1a0tHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxWVc1a0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRmh2Y2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWNGIzSWdQU0JtZFc1amRHbHZiaUJwZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1lTNXNaVzVuZEdnZ1BpQmlMbXhsYm1kMGFGeHVJQ0FnSUhaaGNpQmhPMXh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMGdYaUJpTG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpJQ0U5UFNCaEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWw0YjNJZ1BTQm1kVzVqZEdsdmJpQnBlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWGh2Y2lodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUM4dklGaHZjaUJnYm5WdFlDQjNhWFJvSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlRzl5SUQwZ1puVnVZM1JwYjI0Z2VHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWw0YjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkWGh2Y2lBOUlHWjFibU4wYVc5dUlIVjRiM0lnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhWNGIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWNGIzSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVG05MElHQmdkR2hwYzJCZ0lIZHBkR2dnWUdCM2FXUjBhR0JnSUdKcGRIZHBaSFJvWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm05MGJpQTlJR1oxYm1OMGFXOXVJR2x1YjNSdUlDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdkMmxrZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUhkcFpIUm9JRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJR0o1ZEdWelRtVmxaR1ZrSUQwZ1RXRjBhQzVqWldsc0tIZHBaSFJvSUM4Z01qWXBJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltbDBjMHhsWm5RZ1BTQjNhV1IwYUNBbElESTJPMXh1WEc0Z0lDQWdMeThnUlhoMFpXNWtJSFJvWlNCaWRXWm1aWElnZDJsMGFDQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoaWVYUmxjMDVsWldSbFpDazdYRzVjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQmllWFJsYzA1bFpXUmxaQzB0TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0JqYjIxd2JHVjBaU0IzYjNKa2MxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lubDBaWE5PWldWa1pXUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0IwYUdVZ2NtVnphV1IxWlZ4dUlDQWdJR2xtSUNoaWFYUnpUR1ZtZENBK0lEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQitkR2hwY3k1M2IzSmtjMXRwWFNBbUlDZ3dlRE5tWm1abVptWWdQajRnS0RJMklDMGdZbWwwYzB4bFpuUXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCYm1RZ2NtVnRiM1psSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJtOTBiaUE5SUdaMWJtTjBhVzl1SUc1dmRHNGdLSGRwWkhSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBibTkwYmloM2FXUjBhQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMlYwSUdCaWFYUmdJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMlYwYmlBOUlHWjFibU4wYVc5dUlITmxkRzRnS0dKcGRDd2dkbUZzS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQmlhWFFnUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZENBK1BTQXdLVHRjYmx4dUlDQWdJSFpoY2lCdlptWWdQU0FvWW1sMElDOGdNallwSUh3Z01EdGNiaUFnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLRzltWmlBcklERXBPMXh1WEc0Z0lDQWdhV1lnS0haaGJDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXR2Wm1aZElEMGdkR2hwY3k1M2IzSmtjMXR2Wm1aZElId2dLREVnUER3Z2QySnBkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJiMlptWFNBOUlIUm9hWE11ZDI5eVpITmJiMlptWFNBbUlING9NU0E4UENCM1ltbDBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0JnYm5WdFlDQjBieUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhaR1FnUFNCbWRXNWpkR2x2YmlCcFlXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjanRjYmx4dUlDQWdJQzh2SUc1bFoyRjBhWFpsSUNzZ2NHOXphWFJwZG1WY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUJ3YjNOcGRHbDJaU0FySUc1bFoyRjBhWFpsWEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhMbXhsYm1kMGFDQStJR0l1YkdWdVozUm9YRzRnSUNBZ2RtRnlJR0VzSUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dZMkZ5Y25rZ0lUMDlJREFnSmlZZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lISWdQU0FvWVM1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGo0Z01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJkR2hwY3k1c1pXNW5kR2hkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUM4dklFTnZjSGtnZEdobElISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJR0J1ZFcxZ0lIUnZJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0J1ZFcwdWMzVmlLSFJvYVhNcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZrWkNodWRXMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWxoWkdRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QjBhR2x6SUMwZ0tDMXVkVzBwSUQwZ2RHaHBjeUFySUc1MWJWeHVJQ0FnSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z0xYUm9hWE1nTFNCdWRXMGdQU0F0S0hSb2FYTWdLeUJ1ZFcwcFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJkQ0IwYUdseklIQnZhVzUwSUdKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVZjYmlBZ0lDQjJZWElnWTIxd0lEMGdkR2hwY3k1amJYQW9iblZ0S1R0Y2JseHVJQ0FnSUM4dklFOXdkR2x0YVhwaGRHbHZiaUF0SUhwbGNtOXBabmxjYmlBZ0lDQnBaaUFvWTIxd0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVNBK0lHSmNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb1kyMXdJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDMGdLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QmpZWEp5ZVNBaFBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NpQTlJQ2hoTG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2NpQStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFTnZjSGtnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQnBaaUFvWTJGeWNua2dQVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvSUNZbUlHRWdJVDA5SUhSb2FYTXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb095QnBJRHdnWVM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBLVHRjYmx4dUlDQWdJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOMVluUnlZV04wSUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWE4xWWlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhOdFlXeHNUWFZzVkc4Z0tITmxiR1lzSUc1MWJTd2diM1YwS1NCN1hHNGdJQ0FnYjNWMExtNWxaMkYwYVhabElEMGdiblZ0TG01bFoyRjBhWFpsSUY0Z2MyVnNaaTV1WldkaGRHbDJaVHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdLSE5sYkdZdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDa2dmQ0F3TzF4dUlDQWdJRzkxZEM1c1pXNW5kR2dnUFNCc1pXNDdYRzRnSUNBZ2JHVnVJRDBnS0d4bGJpQXRJREVwSUh3Z01EdGNibHh1SUNBZ0lDOHZJRkJsWld3Z2IyNWxJR2wwWlhKaGRHbHZiaUFvWTI5dGNHbHNaWElnWTJGdUozUWdaRzhnYVhRc0lHSmxZMkYxYzJVZ2IyWWdZMjlrWlNCamIyMXdiR1Y0YVhSNUtWeHVJQ0FnSUhaaGNpQmhJRDBnYzJWc1ppNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdJZ1BTQnVkVzB1ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQnlJRDBnWVNBcUlHSTdYRzVjYmlBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSFpoY2lCallYSnllU0E5SUNoeUlDOGdNSGcwTURBd01EQXdLU0I4SURBN1hHNGdJQ0FnYjNWMExuZHZjbVJ6V3pCZElEMGdiRzg3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Uc2dheUE4SUd4bGJqc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHTmhjbko1SUQ0K1BpQXlOanRjYmlBZ0lDQWdJSFpoY2lCeWQyOXlaQ0E5SUdOaGNuSjVJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZG1GeUlHMWhlRW9nUFNCTllYUm9MbTFwYmlockxDQnVkVzB1YkdWdVozUm9JQzBnTVNrN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdUV0YwYUM1dFlYZ29NQ3dnYXlBdElITmxiR1l1YkdWdVozUm9JQ3NnTVNrN0lHb2dQRDBnYldGNFNqc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ0tHc2dMU0JxS1NCOElEQTdYRzRnSUNBZ0lDQWdJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lpQTlJRzUxYlM1M2IzSmtjMXRxWFNCOElEQTdYRzRnSUNBZ0lDQWdJSElnUFNCaElDb2dZaUFySUhKM2IzSmtPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dLejBnS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NuZHZjbVFnUFNCeUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiM1YwTG5kdmNtUnpXMnRkSUQwZ2NuZHZjbVFnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCdVkyRnljbmtnZkNBd08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlHTmhjbko1SUh3Z01EdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUMwdE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2ZFhRdWMzUnlhWEFvS1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbDBJRzFoZVNCaVpTQnlaV0Z6YjI1aFlteGxJSFJ2SUc5dGFYUWdhWFFnWm05eUlIVnpaWEp6SUhkb2J5QmtiMjRuZENCdVpXVmtYRzRnSUM4dklIUnZJSGR2Y21zZ2QybDBhQ0F5TlRZdFltbDBJRzUxYldKbGNuTXNJRzkwYUdWeWQybHpaU0JwZENCbmFYWmxjeUF5TUNVZ2FXMXdjbTkyWlcxbGJuUWdabTl5SURJMU5pMWlhWFJjYmlBZ0x5OGdiWFZzZEdsd2JHbGpZWFJwYjI0Z0tHeHBhMlVnWld4c2FYQjBhV01nYzJWamNESTFObXN4S1M1Y2JpQWdkbUZ5SUdOdmJXSXhNRTExYkZSdklEMGdablZ1WTNScGIyNGdZMjl0WWpFd1RYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21Sek8xeHVJQ0FnSUhaaGNpQnZJRDBnYjNWMExuZHZjbVJ6TzF4dUlDQWdJSFpoY2lCaklEMGdNRHRjYmlBZ0lDQjJZWElnYkc4N1hHNGdJQ0FnZG1GeUlHMXBaRHRjYmlBZ0lDQjJZWElnYUdrN1hHNGdJQ0FnZG1GeUlHRXdJRDBnWVZzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc01DQTlJR0V3SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEQWdQU0JoTUNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFeElEMGdZVnN4WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTVNBOUlHRXhJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURFZ1BTQmhNU0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0V5SUQwZ1lWc3lYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNNaUE5SUdFeUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRElnUFNCaE1pQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRXpJRDBnWVZzelhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc015QTlJR0V6SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFETWdQU0JoTXlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFMElEMGdZVnMwWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTkNBOUlHRTBJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURRZ1BTQmhOQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0UxSUQwZ1lWczFYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNOU0E5SUdFMUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRFVnUFNCaE5TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTJJRDBnWVZzMlhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc05pQTlJR0UySUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEWWdQU0JoTmlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFM0lEMGdZVnMzWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTnlBOUlHRTNJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURjZ1BTQmhOeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0U0SUQwZ1lWczRYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNPQ0E5SUdFNElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRGdnUFNCaE9DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTVJRDBnWVZzNVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc09TQTlJR0U1SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEa2dQU0JoT1NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJd0lEMGdZbHN3WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTUNBOUlHSXdJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURBZ1BTQmlNQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0l4SUQwZ1lsc3hYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNNU0E5SUdJeElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhREVnUFNCaU1TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSXlJRDBnWWxzeVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc01pQTlJR0l5SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFESWdQU0JpTWlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJeklEMGdZbHN6WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTXlBOUlHSXpJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURNZ1BTQmlNeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kwSUQwZ1lsczBYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOQ0E5SUdJMElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRFFnUFNCaU5DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTFJRDBnWWxzMVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc05TQTlJR0kxSUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEVWdQU0JpTlNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJMklEMGdZbHMyWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTmlBOUlHSTJJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURZZ1BTQmlOaUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kzSUQwZ1lsczNYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOeUE5SUdJM0lDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRGNnUFNCaU55QStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTRJRDBnWWxzNFhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc09DQTlJR0k0SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEZ2dQU0JpT0NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJNUlEMGdZbHM1WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzT1NBOUlHSTVJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURrZ1BTQmlPU0ErUGo0Z01UTTdYRzVjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCelpXeG1MbTVsWjJGMGFYWmxJRjRnYm5WdExtNWxaMkYwYVhabE8xeHVJQ0FnSUc5MWRDNXNaVzVuZEdnZ1BTQXhPVHRjYmlBZ0lDQXZLaUJySUQwZ01DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnd0xDQmlhREFwTzF4dUlDQWdJSFpoY2lCM01DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6QWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRElnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTWlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpJZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3lJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNeUFxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpNZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3pJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdOQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpRZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRFVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM05TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6VWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMxSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOaUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kellnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ055QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpjZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGdnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemdnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjNElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM09TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6a2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGM1SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRBZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNU2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neEtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3hLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13M0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTVRBZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE1DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekV3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRFZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNaWs3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neUtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3lLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TVNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVEVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TWlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltd3pLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURNcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFETXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVElnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TWlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RXlJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVE1nS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc05DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nMEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UTWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFeklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UUWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTlNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzFLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWcxS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TkNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFFnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TlNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzJLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURZcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEWXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UVWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFMUlDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UWWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTnlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzNLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWczS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVFlnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TmlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTJJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVGNnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc09DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nNEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TnlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVGNnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4T0NBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzVLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURrcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEa3BPMXh1SUNBZ0lIWmhjaUIzTVRnZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE9DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekU0SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNCdld6QmRJRDBnZHpBN1hHNGdJQ0FnYjFzeFhTQTlJSGN4TzF4dUlDQWdJRzliTWwwZ1BTQjNNanRjYmlBZ0lDQnZXek5kSUQwZ2R6TTdYRzRnSUNBZ2IxczBYU0E5SUhjME8xeHVJQ0FnSUc5Yk5WMGdQU0IzTlR0Y2JpQWdJQ0J2V3paZElEMGdkelk3WEc0Z0lDQWdiMXMzWFNBOUlIYzNPMXh1SUNBZ0lHOWJPRjBnUFNCM09EdGNiaUFnSUNCdld6bGRJRDBnZHprN1hHNGdJQ0FnYjFzeE1GMGdQU0IzTVRBN1hHNGdJQ0FnYjFzeE1WMGdQU0IzTVRFN1hHNGdJQ0FnYjFzeE1sMGdQU0IzTVRJN1hHNGdJQ0FnYjFzeE0xMGdQU0IzTVRNN1hHNGdJQ0FnYjFzeE5GMGdQU0IzTVRRN1hHNGdJQ0FnYjFzeE5WMGdQU0IzTVRVN1hHNGdJQ0FnYjFzeE5sMGdQU0IzTVRZN1hHNGdJQ0FnYjFzeE4xMGdQU0IzTVRjN1hHNGdJQ0FnYjFzeE9GMGdQU0IzTVRnN1hHNGdJQ0FnYVdZZ0tHTWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHOWJNVGxkSUQwZ1l6dGNiaUFnSUNBZ0lHOTFkQzVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnZlR0Y2JseHVJQ0F2THlCUWIyeDVabWxzYkNCamIyMWlYRzRnSUdsbUlDZ2hUV0YwYUM1cGJYVnNLU0I3WEc0Z0lDQWdZMjl0WWpFd1RYVnNWRzhnUFNCemJXRnNiRTExYkZSdk8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdZbWxuVFhWc1ZHOGdLSE5sYkdZc0lHNTFiU3dnYjNWMEtTQjdYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnYm5WdExtNWxaMkYwYVhabElGNGdjMlZzWmk1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCMllYSWdhRzVqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURBN0lHc2dQQ0J2ZFhRdWJHVnVaM1JvSUMwZ01Uc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHaHVZMkZ5Y25rN1hHNGdJQ0FnSUNCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUJ5ZDI5eVpDQTlJR05oY25KNUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkbUZ5SUcxaGVFb2dQU0JOWVhSb0xtMXBiaWhyTENCdWRXMHViR1Z1WjNSb0lDMGdNU2s3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ1RXRjBhQzV0WVhnb01Dd2dheUF0SUhObGJHWXViR1Z1WjNSb0lDc2dNU2s3SUdvZ1BEMGdiV0Y0U2pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnYXlBdElHbzdYRzRnSUNBZ0lDQWdJSFpoY2lCaElEMGdjMlZzWmk1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXMnBkSUh3Z01EdGNiaUFnSUNBZ0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tDaHlJQzhnTUhnME1EQXdNREF3S1NCOElEQXBLU0I4SURBN1hHNGdJQ0FnSUNBZ0lHeHZJRDBnS0d4dklDc2djbmR2Y21RcElId2dNRHRjYmlBZ0lDQWdJQ0FnY25kdmNtUWdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlEMGdLRzVqWVhKeWVTQXJJQ2hzYnlBK1BqNGdNallwS1NCOElEQTdYRzVjYmlBZ0lDQWdJQ0FnYUc1allYSnllU0FyUFNCdVkyRnljbmtnUGo0K0lESTJPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdjbmR2Y21RN1hHNGdJQ0FnSUNCallYSnllU0E5SUc1allYSnllVHRjYmlBZ0lDQWdJRzVqWVhKeWVTQTlJR2h1WTJGeWNuazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzkxZEM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiM1YwTG5OMGNtbHdLQ2s3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcWRXMWliMDExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQm1ablJ0SUQwZ2JtVjNJRVpHVkUwb0tUdGNiaUFnSUNCeVpYUjFjbTRnWm1aMGJTNXRkV3h3S0hObGJHWXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZWeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3hVYnlBOUlHWjFibU4wYVc5dUlHMTFiRlJ2SUNodWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFEdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXdJQ1ltSUc1MWJTNXNaVzVuZEdnZ1BUMDlJREV3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0JqYjIxaU1UQk5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hzWlc0Z1BDQTJNeWtnZTF4dUlDQWdJQ0FnY21WeklEMGdjMjFoYkd4TmRXeFVieWgwYUdsekxDQnVkVzBzSUc5MWRDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHNaVzRnUENBeE1ESTBLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQmlhV2ROZFd4VWJ5aDBhR2x6TENCdWRXMHNJRzkxZENrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHcDFiV0p2VFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnUTI5dmJHVjVMVlIxYTJWNUlHRnNaMjl5YVhSb2JTQm1iM0lnUmtaVVhHNGdJQzh2SUhOc2FXZG9kR3g1SUhKbGRtbHphWFJsWkNCMGJ5QnlaV3g1SUc5dUlHeHZiM0JwYm1jZ2FXNXpkR1ZoWkNCdlppQnlaV04xY25OcGIyNWNibHh1SUNCbWRXNWpkR2x2YmlCR1JsUk5JQ2g0TENCNUtTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2VEdGNiaUFnSUNCMGFHbHpMbmtnUFNCNU8xeHVJQ0I5WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJXRnJaVkpDVkNBOUlHWjFibU4wYVc5dUlHMWhhMlZTUWxRZ0tFNHBJSHRjYmlBZ0lDQjJZWElnZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnYkNBOUlFSk9MbkJ5YjNSdmRIbHdaUzVmWTI5MWJuUkNhWFJ6S0U0cElDMGdNVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdkRnRwWFNBOUlIUm9hWE11Y21WMlFtbHVLR2tzSUd3c0lFNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCME8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnlibk1nWW1sdVlYSjVMWEpsZG1WeWMyVmtJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JR0I0WUZ4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1eVpYWkNhVzRnUFNCbWRXNWpkR2x2YmlCeVpYWkNhVzRnS0hnc0lHd3NJRTRwSUh0Y2JpQWdJQ0JwWmlBb2VDQTlQVDBnTUNCOGZDQjRJRDA5UFNCT0lDMGdNU2tnY21WMGRYSnVJSGc3WEc1Y2JpQWdJQ0IyWVhJZ2NtSWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5WWlCOFBTQW9lQ0FtSURFcElEdzhJQ2hzSUMwZ2FTQXRJREVwTzF4dUlDQWdJQ0FnZUNBK1BqMGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtSTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VHVnlabTl5YlhNZ1hDSjBkMlZsWkd4cGJtZGNJaUJ3YUdGelpTd2dkR2hsY21WbWIzSmxJQ2RsYlhWc1lYUnBibWNuWEc0Z0lDOHZJR0psYUdGMmFXOTFjaUJ2WmlCMGFHVWdjbVZqZFhKemFYWmxJR0ZzWjI5eWFYUm9iVnh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV3WlhKdGRYUmxJRDBnWm5WdVkzUnBiMjRnY0dWeWJYVjBaU0FvY21KMExDQnlkM01zSUdsM2N5d2djblIzY3l3Z2FYUjNjeXdnVGlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCeWRIZHpXMmxkSUQwZ2NuZHpXM0ppZEZ0cFhWMDdYRzRnSUNBZ0lDQnBkSGR6VzJsZElEMGdhWGR6VzNKaWRGdHBYVjA3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMblJ5WVc1elptOXliU0E5SUdaMWJtTjBhVzl1SUhSeVlXNXpabTl5YlNBb2NuZHpMQ0JwZDNNc0lISjBkM01zSUdsMGQzTXNJRTRzSUhKaWRDa2dlMXh1SUNBZ0lIUm9hWE11Y0dWeWJYVjBaU2h5WW5Rc0lISjNjeXdnYVhkekxDQnlkSGR6TENCcGRIZHpMQ0JPS1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUhNZ1BTQXhPeUJ6SUR3Z1Rqc2djeUE4UEQwZ01Ta2dlMXh1SUNBZ0lDQWdkbUZ5SUd3Z1BTQnpJRHc4SURFN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5ZEhka1ppQTlJRTFoZEdndVkyOXpLRElnS2lCTllYUm9MbEJKSUM4Z2JDazdYRzRnSUNBZ0lDQjJZWElnYVhSM1pHWWdQU0JOWVhSb0xuTnBiaWd5SUNvZ1RXRjBhQzVRU1NBdklHd3BPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUQwZ01Ec2djQ0E4SUU0N0lIQWdLejBnYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnY25SM1pHWmZJRDBnY25SM1pHWTdYRzRnSUNBZ0lDQWdJSFpoY2lCcGRIZGtabDhnUFNCcGRIZGtaanRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElITTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpTQTlJSEowZDNOYmNDQXJJR3BkTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwWlNBOUlHbDBkM05iY0NBcklHcGRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEp2SUQwZ2NuUjNjMXR3SUNzZ2FpQXJJSE5kTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwYnlBOUlHbDBkM05iY0NBcklHb2dLeUJ6WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeWVDQTlJSEowZDJSbVh5QXFJSEp2SUMwZ2FYUjNaR1pmSUNvZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCcGJ5QTlJSEowZDJSbVh5QXFJR2x2SUNzZ2FYUjNaR1pmSUNvZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnY204Z1BTQnllRHRjYmx4dUlDQWdJQ0FnSUNBZ0lISjBkM05iY0NBcklHcGRJRDBnY21VZ0t5QnlienRjYmlBZ0lDQWdJQ0FnSUNCcGRIZHpXM0FnS3lCcVhTQTlJR2xsSUNzZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCeWRIZHpXM0FnS3lCcUlDc2djMTBnUFNCeVpTQXRJSEp2TzF4dUlDQWdJQ0FnSUNBZ0lHbDBkM05iY0NBcklHb2dLeUJ6WFNBOUlHbGxJQzBnYVc4N1hHNWNiaUFnSUNBZ0lDQWdJQ0F2S2lCcWMyaHBiblFnYldGNFpHVndkR2dnT2lCbVlXeHpaU0FxTDF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hxSUNFOVBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnllQ0E5SUhKMGQyUm1JQ29nY25SM1pHWmZJQzBnYVhSM1pHWWdLaUJwZEhka1psODdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBkMlJtWHlBOUlISjBkMlJtSUNvZ2FYUjNaR1pmSUNzZ2FYUjNaR1lnS2lCeWRIZGtabDg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlkSGRrWmw4Z1BTQnllRHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVozVmxjM05NWlc0eE0ySWdQU0JtZFc1amRHbHZiaUJuZFdWemMweGxiakV6WWlBb2Jpd2diU2tnZTF4dUlDQWdJSFpoY2lCT0lEMGdUV0YwYUM1dFlYZ29iU3dnYmlrZ2ZDQXhPMXh1SUNBZ0lIWmhjaUJ2WkdRZ1BTQk9JQ1lnTVR0Y2JpQWdJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lDQWdabTl5SUNoT0lEMGdUaUF2SURJZ2ZDQXdPeUJPT3lCT0lEMGdUaUErUGo0Z01Ta2dlMXh1SUNBZ0lDQWdhU3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQXhJRHc4SUdrZ0t5QXhJQ3NnYjJSa08xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExtTnZibXAxWjJGMFpTQTlJR1oxYm1OMGFXOXVJR052Ym1wMVoyRjBaU0FvY25kekxDQnBkM01zSUU0cElIdGNiaUFnSUNCcFppQW9UaUE4UFNBeEtTQnlaWFIxY200N1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElFNGdMeUF5T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCMElEMGdjbmR6VzJsZE8xeHVYRzRnSUNBZ0lDQnlkM05iYVYwZ1BTQnlkM05iVGlBdElHa2dMU0F4WFR0Y2JpQWdJQ0FnSUhKM2MxdE9JQzBnYVNBdElERmRJRDBnZER0Y2JseHVJQ0FnSUNBZ2RDQTlJR2wzYzF0cFhUdGNibHh1SUNBZ0lDQWdhWGR6VzJsZElEMGdMV2wzYzF0T0lDMGdhU0F0SURGZE8xeHVJQ0FnSUNBZ2FYZHpXMDRnTFNCcElDMGdNVjBnUFNBdGREdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJtOXliV0ZzYVhwbE1UTmlJRDBnWm5WdVkzUnBiMjRnYm05eWJXRnNhWHBsTVROaUlDaDNjeXdnVGlrZ2UxeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9JQzhnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRTFoZEdndWNtOTFibVFvZDNOYk1pQXFJR2tnS3lBeFhTQXZJRTRwSUNvZ01IZ3lNREF3SUN0Y2JpQWdJQ0FnSUNBZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FWMGdMeUJPS1NBclhHNGdJQ0FnSUNBZ0lHTmhjbko1TzF4dVhHNGdJQ0FnSUNCM2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzVjYmlBZ0lDQWdJR2xtSUNoM0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnZHlBdklEQjROREF3TURBd01DQjhJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIZHpPMXh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUXhNMklnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowTVROaUlDaDNjeXdnYkdWdUxDQnlkM01zSUU0cElIdGNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJR05oY25KNUlEMGdZMkZ5Y25rZ0t5QW9kM05iYVYwZ2ZDQXdLVHRjYmx4dUlDQWdJQ0FnY25keld6SWdLaUJwWFNBOUlHTmhjbko1SUNZZ01IZ3habVptT3lCallYSnllU0E5SUdOaGNuSjVJRDQrUGlBeE16dGNiaUFnSUNBZ0lISjNjMXN5SUNvZ2FTQXJJREZkSUQwZ1kyRnljbmtnSmlBd2VERm1abVk3SUdOaGNuSjVJRDBnWTJGeWNua2dQajQrSURFek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGQmhaQ0IzYVhSb0lIcGxjbTlsYzF4dUlDQWdJR1p2Y2lBb2FTQTlJRElnS2lCc1pXNDdJR2tnUENCT095QXJLMmtwSUh0Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR05oY25KNUlEMDlQU0F3S1R0Y2JpQWdJQ0JoYzNObGNuUW9LR05oY25KNUlDWWdmakI0TVdabVppa2dQVDA5SURBcE8xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuTjBkV0lnUFNCbWRXNWpkR2x2YmlCemRIVmlJQ2hPS1NCN1hHNGdJQ0FnZG1GeUlIQm9JRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCd2FGdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEJvTzF4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG0xMWJIQWdQU0JtZFc1amRHbHZiaUJ0ZFd4d0lDaDRMQ0I1TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnVGlBOUlESWdLaUIwYUdsekxtZDFaWE56VEdWdU1UTmlLSGd1YkdWdVozUm9MQ0I1TG14bGJtZDBhQ2s3WEc1Y2JpQWdJQ0IyWVhJZ2NtSjBJRDBnZEdocGN5NXRZV3RsVWtKVUtFNHBPMXh1WEc0Z0lDQWdkbUZ5SUY4Z1BTQjBhR2x6TG5OMGRXSW9UaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NuZHpJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnlkM04wSUQwZ2JtVjNJRUZ5Y21GNUtFNHBPMXh1SUNBZ0lIWmhjaUJwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlHNXlkM01nUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzV5ZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dUlDQWdJSFpoY2lCdWFYZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNibHh1SUNBZ0lIWmhjaUJ5YlhkeklEMGdiM1YwTG5kdmNtUnpPMXh1SUNBZ0lISnRkM011YkdWdVozUm9JRDBnVGp0Y2JseHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg0TG5kdmNtUnpMQ0I0TG14bGJtZDBhQ3dnY25kekxDQk9LVHRjYmlBZ0lDQjBhR2x6TG1OdmJuWmxjblF4TTJJb2VTNTNiM0prY3l3Z2VTNXNaVzVuZEdnc0lHNXlkM01zSUU0cE8xeHVYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kekxDQmZMQ0J5ZDNOMExDQnBkM04wTENCT0xDQnlZblFwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtHNXlkM01zSUY4c0lHNXlkM04wTENCdWFYZHpkQ3dnVGl3Z2NtSjBLVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NuZ2dQU0J5ZDNOMFcybGRJQ29nYm5KM2MzUmJhVjBnTFNCcGQzTjBXMmxkSUNvZ2JtbDNjM1JiYVYwN1hHNGdJQ0FnSUNCcGQzTjBXMmxkSUQwZ2NuZHpkRnRwWFNBcUlHNXBkM04wVzJsZElDc2dhWGR6ZEZ0cFhTQXFJRzV5ZDNOMFcybGRPMXh1SUNBZ0lDQWdjbmR6ZEZ0cFhTQTlJSEo0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVkyOXVhblZuWVhSbEtISjNjM1FzSUdsM2MzUXNJRTRwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtISjNjM1FzSUdsM2MzUXNJSEp0ZDNNc0lGOHNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY20xM2N5d2dYeXdnVGlrN1hHNGdJQ0FnZEdocGN5NXViM0p0WVd4cGVtVXhNMklvY20xM2N5d2dUaWs3WEc1Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQjRMbTVsWjJGMGFYWmxJRjRnZVM1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2VDNXNaVzVuZEdnZ0t5QjVMbXhsYm1kMGFEdGNiaUFnSUNCeVpYUjFjbTRnYjNWMExuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVFhWc2RHbHdiSGtnWUhSb2FYTmdJR0o1SUdCdWRXMWdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3dnUFNCbWRXNWpkR2x2YmlCdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnZkWFFnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ2IzVjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzVkc4b2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxMWJIUnBjR3g1SUdWdGNHeHZlV2x1WnlCR1JsUmNiaUFnUWs0dWNISnZkRzkwZVhCbExtMTFiR1lnUFNCbWRXNWpkR2x2YmlCdGRXeG1JQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdiM1YwSUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lHOTFkQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCcWRXMWliMDExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JOZFd4MGFYQnNhV05oZEdsdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWJYVnNWRzhvYm5WdExDQjBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVcxMWJHNGdQU0JtZFc1amRHbHZiaUJwYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmx4dUlDQWdJQzh2SUVOaGNuSjVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM0lEMGdLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FxSUc1MWJUdGNiaUFnSUNBZ0lIWmhjaUJzYnlBOUlDaDNJQ1lnTUhnelptWm1abVptS1NBcklDaGpZWEp5ZVNBbUlEQjRNMlptWm1abVppazdYRzRnSUNBZ0lDQmpZWEp5ZVNBK1BqMGdNalk3WEc0Z0lDQWdJQ0JqWVhKeWVTQXJQU0FvZHlBdklEQjROREF3TURBd01Da2dmQ0F3TzF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nYkc4Z2FYTWdNamRpYVhRZ2JXRjRhVzExYlZ4dUlDQWdJQ0FnWTJGeWNua2dLejBnYkc4Z1BqNCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR3h2SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViWFZzYmlBOUlHWjFibU4wYVc5dUlHMTFiRzRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzExYkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QmdkR2hwYzJBZ0tpQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OeGNpQTlJR1oxYm1OMGFXOXVJSE54Y2lBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklHQjBhR2x6WUNBcUlHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOeGNpQTlJR1oxYm1OMGFXOXVJR2x6Y1hJZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0ZFd3b2RHaHBjeTVqYkc5dVpTZ3BLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5ZWFJvTG5CdmR5aGdkR2hwYzJBc0lHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y0c5M0lEMGdablZ1WTNScGIyNGdjRzkzSUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnZHlBOUlIUnZRbWwwUVhKeVlYa29iblZ0S1R0Y2JpQWdJQ0JwWmlBb2R5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUJ1WlhjZ1FrNG9NU2s3WEc1Y2JpQWdJQ0F2THlCVGEybHdJR3hsWVdScGJtY2dlbVZ5YjJWelhHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeVpYTWdQU0J5WlhNdWMzRnlLQ2twSUh0Y2JpQWdJQ0FnSUdsbUlDaDNXMmxkSUNFOVBTQXdLU0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LeXRwSUR3Z2R5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIRWdQU0J5WlhNdWMzRnlLQ2s3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeElEMGdjUzV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2QxdHBYU0E5UFQwZ01Da2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdjbVZ6TG0xMWJDaHhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUM4dklGTm9hV1owTFd4bFpuUWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbDFjMmhzYmlBOUlHWjFibU4wYVc5dUlHbDFjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkSE1nSlNBeU5qdGNiaUFnSUNCMllYSWdjeUE5SUNoaWFYUnpJQzBnY2lrZ0x5QXlOanRjYmlBZ0lDQjJZWElnWTJGeWNubE5ZWE5ySUQwZ0tEQjRNMlptWm1abVppQStQajRnS0RJMklDMGdjaWtwSUR3OElDZ3lOaUF0SUhJcE8xeHVJQ0FnSUhaaGNpQnBPMXh1WEc0Z0lDQWdhV1lnS0hJZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCdVpYZERZWEp5ZVNBOUlIUm9hWE11ZDI5eVpITmJhVjBnSmlCallYSnllVTFoYzJzN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqSUQwZ0tDaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dMU0J1WlhkRFlYSnllU2tnUER3Z2NqdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHTWdmQ0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQnVaWGREWVhKeWVTQStQajRnS0RJMklDMGdjaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGpZWEp5ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE1nSVQwOUlEQXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJSFJvYVhNdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzEwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnY3pzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0F3TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQXJQU0J6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6YUd4dUlEMGdablZ1WTNScGIyNGdhWE5vYkc0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFHeHVLR0pwZEhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOb2FXWjBMWEpwWjJoMElHbHVMWEJzWVdObFhHNGdJQzh2SUU1UFZFVTZJR0JvYVc1MFlDQnBjeUJoSUd4dmQyVnpkQ0JpYVhRZ1ltVm1iM0psSUhSeVlXbHNhVzVuSUhwbGNtOWxjMXh1SUNBdkx5Qk9UMVJGT2lCcFppQmdaWGgwWlc1a1pXUmdJR2x6SUhCeVpYTmxiblFnTFNCcGRDQjNhV3hzSUdKbElHWnBiR3hsWkNCM2FYUm9JR1JsYzNSeWIzbGxaQ0JpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCcGRYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQm9PMXh1SUNBZ0lHbG1JQ2hvYVc1MEtTQjdYRzRnSUNBZ0lDQm9JRDBnS0docGJuUWdMU0FvYUdsdWRDQWxJREkyS1NrZ0x5QXlOanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FDQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhJZ1BTQmlhWFJ6SUNVZ01qWTdYRzRnSUNBZ2RtRnlJSE1nUFNCTllYUm9MbTFwYmlnb1ltbDBjeUF0SUhJcElDOGdNallzSUhSb2FYTXViR1Z1WjNSb0tUdGNiaUFnSUNCMllYSWdiV0Z6YXlBOUlEQjRNMlptWm1abVppQmVJQ2dvTUhnelptWm1abVptSUQ0K1BpQnlLU0E4UENCeUtUdGNiaUFnSUNCMllYSWdiV0Z6YTJWa1YyOXlaSE1nUFNCbGVIUmxibVJsWkR0Y2JseHVJQ0FnSUdnZ0xUMGdjenRjYmlBZ0lDQm9JRDBnVFdGMGFDNXRZWGdvTUN3Z2FDazdYRzVjYmlBZ0lDQXZMeUJGZUhSbGJtUmxaQ0J0YjJSbExDQmpiM0I1SUcxaGMydGxaQ0J3WVhKMFhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NXNaVzVuZEdnZ1BTQnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6SUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0F2THlCT2J5MXZjQ3dnZDJVZ2MyaHZkV3hrSUc1dmRDQnRiM1psSUdGdWVYUm9hVzVuSUdGMElHRnNiRnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCektTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0F0UFNCek8xeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5kTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdJQ1ltSUNoallYSnllU0FoUFQwZ01DQjhmQ0JwSUQ0OUlHZ3BPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzYjNKa0lEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ0tHTmhjbko1SUR3OElDZ3lOaUF0SUhJcEtTQjhJQ2gzYjNKa0lENCtQaUJ5S1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZDI5eVpDQW1JRzFoYzJzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1VIVnphQ0JqWVhKeWFXVmtJR0pwZEhNZ1lYTWdZU0J0WVhOclhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpJQ1ltSUdOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnRZWE5yWldSWGIzSmtjeTUzYjNKa2MxdHRZWE5yWldSWGIzSmtjeTVzWlc1bmRHZ3JLMTBnUFNCallYSnllVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHphSEp1SUQwZ1puVnVZM1JwYjI0Z2FYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmh5YmloaWFYUnpMQ0JvYVc1MExDQmxlSFJsYm1SbFpDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1UyaHBablF0YkdWbWRGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMyaHNiaUE5SUdaMWJtTjBhVzl1SUhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHphR3h1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFjMmhzYmlBOUlHWjFibU4wYVc5dUlIVnphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwZFhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRjbWxuYUhSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5Ob2NtNGdQU0JtZFc1amRHbHZiaUJ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMyaHliaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCMWMyaHliaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlJsYzNRZ2FXWWdiaUJpYVhRZ2FYTWdjMlYwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwWlhOMGJpQTlJR1oxYm1OMGFXOXVJSFJsYzNSdUlDaGlhWFFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwSUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMElDMGdjaWtnTHlBeU5qdGNiaUFnSUNCMllYSWdjU0E5SURFZ1BEd2djanRjYmx4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlRvZ1ltbDBJR2x6SUcxMVkyZ2dhR2xuYUdWeUlIUm9ZVzRnWVd4c0lHVjRhWE4wYVc1bklIZHZjbVJ6WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEdzlJSE1wSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lDOHZJRU5vWldOcklHSnBkQ0JoYm1RZ2NtVjBkWEp1WEc0Z0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXM05kTzF4dVhHNGdJQ0FnY21WMGRYSnVJQ0VoS0hjZ0ppQnhLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlNaWFIxY200Z2IyNXNlU0JzYjNkbGNuTWdZbWwwY3lCdlppQnVkVzFpWlhJZ0tHbHVMWEJzWVdObEtWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMWhjMnR1SUQwZ1puVnVZM1JwYjI0Z2FXMWhjMnR1SUNoaWFYUnpLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUnpJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQmlhWFJ6SUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBjeUFsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRITWdMU0J5S1NBdklESTJPMXh1WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2RwYldGemEyNGdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabElHNTFiV0psY25NbktUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOFBTQnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2NpQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2N5c3JPMXh1SUNBZ0lIMWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndWJXbHVLSE1zSUhSb2FYTXViR1Z1WjNSb0tUdGNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2JXRnpheUE5SURCNE0yWm1abVptWmlCZUlDZ29NSGd6Wm1abVptWm1JRDQrUGlCeUtTQThQQ0J5S1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBbVBTQnRZWE5yTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHOXViSGtnYkc5M1pYSnpJR0pwZEhNZ2IyWWdiblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dFlYTnJiaUE5SUdaMWJtTjBhVzl1SUcxaGMydHVJQ2hpYVhSektTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBiV0Z6YTI0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRV1JrSUhCc1lXbHVJRzUxYldKbGNpQmdiblZ0WUNCMGJ5QmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saFpHUnVJRDBnWm5WdVkzUnBiMjRnYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdiblZ0SUQwOVBTQW5iblZ0WW1WeUp5azdYRzRnSUNBZ1lYTnpaWEowS0c1MWJTQThJREI0TkRBd01EQXdNQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTQThJREFwSUhKbGRIVnliaUIwYUdsekxtbHpkV0p1S0MxdWRXMHBPMXh1WEc0Z0lDQWdMeThnVUc5emMybGliR1VnYzJsbmJpQmphR0Z1WjJWY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlDaDBhR2x6TG5kdmNtUnpXekJkSUh3Z01Da2dQQ0J1ZFcwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlHNTFiU0F0SUNoMGFHbHpMbmR2Y21Seld6QmRJSHdnTUNrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtbHpkV0p1S0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRUZrWkNCM2FYUm9iM1YwSUdOb1pXTnJjMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwWVdSa2JpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVdGa1pHNGdQU0JtZFc1amRHbHZiaUJmYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnYm5WdE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BqMGdNSGcwTURBd01EQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnTFQwZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ2FXWWdLR2tnUFQwOUlIUm9hWE11YkdWdVozUm9JQzBnTVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQTlJREU3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QXhYU3NyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBJQ3NnTVNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCd2JHRnBiaUJ1ZFcxaVpYSWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0p1SUQwZ1puVnVZM1JwYjI0Z2FYTjFZbTRnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnYm5WdElEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4SURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnYVdZZ0tHNTFiU0E4SURBcElISmxkSFZ5YmlCMGFHbHpMbWxoWkdSdUtDMXVkVzBwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cFlXUmtiaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbmR2Y21Seld6QmRJQzA5SUc1MWJUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SUMxMGFHbHpMbmR2Y21Seld6QmRPMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BDQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBclBTQXdlRFF3TURBd01EQTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVNBcklERmRJQzA5SURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdSa2JpQTlJR1oxYm1OMGFXOXVJR0ZrWkc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVdGa1pHNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNWaWJpQTlJR1oxYm1OMGFXOXVJSE4xWW00Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOMVltNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGaWN5QTlJR1oxYm1OMGFXOXVJR2xoWW5NZ0tDa2dlMXh1SUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtRmljeUE5SUdaMWJtTjBhVzl1SUdGaWN5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwWVdKektDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBjMmhzYm5OMVltMTFiQ0E5SUdaMWJtTjBhVzl1SUY5cGMyaHNibk4xWW0xMWJDQW9iblZ0TENCdGRXd3NJSE5vYVdaMEtTQjdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHNTFiUzVzWlc1bmRHZ2dLeUJ6YUdsbWREdGNiaUFnSUNCMllYSWdhVHRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoc1pXNHBPMXh1WEc0Z0lDQWdkbUZ5SUhjN1hHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0tIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCMllYSWdjbWxuYUhRZ1BTQW9iblZ0TG5kdmNtUnpXMmxkSUh3Z01Da2dLaUJ0ZFd3N1hHNGdJQ0FnSUNCM0lDMDlJSEpwWjJoMElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQW9keUErUGlBeU5pa2dMU0FvS0hKcFoyaDBJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MyaHBablJkSUQwZ2R5QW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0F0SUhOb2FXWjBPeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUErUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR05oY25KNUlEMDlQU0F3S1NCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdVM1ZpZEhKaFkzUnBiMjRnYjNabGNtWnNiM2RjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlDMHhLVHRjYmlBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhjZ1BTQXRLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNkdmNtUkVhWFlnUFNCbWRXNWpkR2x2YmlCZmQyOXlaRVJwZGlBb2JuVnRMQ0J0YjJSbEtTQjdYRzRnSUNBZ2RtRnlJSE5vYVdaMElEMGdkR2hwY3k1c1pXNW5kR2dnTFNCdWRXMHViR1Z1WjNSb08xeHVYRzRnSUNBZ2RtRnlJR0VnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2RtRnlJR0lnUFNCdWRXMDdYRzVjYmlBZ0lDQXZMeUJPYjNKdFlXeHBlbVZjYmlBZ0lDQjJZWElnWW1ocElEMGdZaTUzYjNKa2MxdGlMbXhsYm1kMGFDQXRJREZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbWhwUW1sMGN5QTlJSFJvYVhNdVgyTnZkVzUwUW1sMGN5aGlhR2twTzF4dUlDQWdJSE5vYVdaMElEMGdNallnTFNCaWFHbENhWFJ6TzF4dUlDQWdJR2xtSUNoemFHbG1kQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZaUE5SUdJdWRYTm9iRzRvYzJocFpuUXBPMXh1SUNBZ0lDQWdZUzVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0FnSUNBZ1ltaHBJRDBnWWk1M2IzSmtjMXRpTG14bGJtZDBhQ0F0SURGZElId2dNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUhGMWIzUnBaVzUwWEc0Z0lDQWdkbUZ5SUcwZ1BTQmhMbXhsYm1kMGFDQXRJR0l1YkdWdVozUm9PMXh1SUNBZ0lIWmhjaUJ4TzF4dVhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNCeElEMGdibVYzSUVKT0tHNTFiR3dwTzF4dUlDQWdJQ0FnY1M1c1pXNW5kR2dnUFNCdElDc2dNVHRjYmlBZ0lDQWdJSEV1ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvY1M1c1pXNW5kR2dwTzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVdabUlEMGdZUzVqYkc5dVpTZ3BMbDlwYzJoc2JuTjFZbTExYkNoaUxDQXhMQ0J0S1R0Y2JpQWdJQ0JwWmlBb1pHbG1aaTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdScFptWTdYRzRnSUNBZ0lDQnBaaUFvY1NrZ2UxeHVJQ0FnSUNBZ0lDQnhMbmR2Y21SelcyMWRJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2JTQXRJREU3SUdvZ1BqMGdNRHNnYWkwdEtTQjdYRzRnSUNBZ0lDQjJZWElnY1dvZ1BTQW9ZUzUzYjNKa2MxdGlMbXhsYm1kMGFDQXJJR3BkSUh3Z01Da2dLaUF3ZURRd01EQXdNREFnSzF4dUlDQWdJQ0FnSUNBb1lTNTNiM0prYzF0aUxteGxibWQwYUNBcklHb2dMU0F4WFNCOElEQXBPMXh1WEc0Z0lDQWdJQ0F2THlCT1QxUkZPaUFvY1dvZ0x5QmlhR2twSUdseklDZ3dlRE5tWm1abVptWWdLaUF3ZURRd01EQXdNREFnS3lBd2VETm1abVptWm1ZcElDOGdNSGd5TURBd01EQXdJRzFoZUZ4dUlDQWdJQ0FnTHk4Z0tEQjROMlptWm1abVppbGNiaUFnSUNBZ0lIRnFJRDBnVFdGMGFDNXRhVzRvS0hGcUlDOGdZbWhwS1NCOElEQXNJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0FnSUdFdVgybHphR3h1YzNWaWJYVnNLR0lzSUhGcUxDQnFLVHRjYmlBZ0lDQWdJSGRvYVd4bElDaGhMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEZxTFMwN1hHNGdJQ0FnSUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnSUNCaExsOXBjMmhzYm5OMVltMTFiQ2hpTENBeExDQnFLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jU2tnZTF4dUlDQWdJQ0FnSUNCeExuZHZjbVJ6VzJwZElEMGdjV283WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h4S1NCN1hHNGdJQ0FnSUNCeExuTjBjbWx3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR0V1YzNSeWFYQW9LVHRjYmx4dUlDQWdJQzh2SUVSbGJtOXliV0ZzYVhwbFhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluSUNZbUlITm9hV1owSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWh6YUdsbWRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdScGRqb2djU0I4ZkNCdWRXeHNMRnh1SUNBZ0lDQWdiVzlrT2lCaFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJPVDFSRk9pQXhLU0JnYlc5a1pXQWdZMkZ1SUdKbElITmxkQ0IwYnlCZ2JXOWtZQ0IwYnlCeVpYRjFaWE4wSUcxdlpDQnZibXg1TEZ4dUlDQXZMeUFnSUNBZ0lDQjBieUJnWkdsMllDQjBieUJ5WlhGMVpYTjBJR1JwZGlCdmJteDVMQ0J2Y2lCaVpTQmhZbk5sYm5RZ2RHOWNiaUFnTHk4Z0lDQWdJQ0FnY21WeGRXVnpkQ0JpYjNSb0lHUnBkaUFtSUcxdlpGeHVJQ0F2THlBZ0lDQWdJQ0F5S1NCZ2NHOXphWFJwZG1WZ0lHbHpJSFJ5ZFdVZ2FXWWdkVzV6YVdkdVpXUWdiVzlrSUdseklISmxjWFZsYzNSbFpGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiVzlrSUQwZ1puVnVZM1JwYjI0Z1pHbDJiVzlrSUNodWRXMHNJRzF2WkdVc0lIQnZjMmwwYVhabEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NGdWRXMHVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ2JtVjNJRUpPS0RBcExGeHVJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWd3S1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1pHbDJMQ0J0YjJRc0lISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNBbUppQnVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIUm9hWE11Ym1WbktDa3VaR2wyYlc5a0tHNTFiU3dnYlc5a1pTazdYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJQ0U5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnSUNCa2FYWWdQU0J5WlhNdVpHbDJMbTVsWnlncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cFlXUmtLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCa2FYWXNYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JXOWtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTVrYVhadGIyUW9iblZ0TG01bFp5Z3BMQ0J0YjJSbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0cxdlpHVWdJVDA5SUNkdGIyUW5LU0I3WEc0Z0lDQWdJQ0FnSUdScGRpQTlJSEpsY3k1a2FYWXVibVZuS0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nWkdsMkxGeHVJQ0FnSUNBZ0lDQnRiMlE2SUhKbGN5NXRiMlJjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NoMGFHbHpMbTVsWjJGMGFYWmxJQ1lnYm5WdExtNWxaMkYwYVhabEtTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExtNWxaeWdwTENCdGIyUmxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluS1NCN1hHNGdJQ0FnSUNBZ0lHMXZaQ0E5SUhKbGN5NXRiMlF1Ym1WbktDazdYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2wyWlNBbUppQnRiMlF1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdGIyUXVhWE4xWWlodWRXMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2djbVZ6TG1ScGRpeGNiaUFnSUNBZ0lDQWdiVzlrT2lCdGIyUmNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpTQmhkQ0IwYUdseklIQnZhVzUwWEc1Y2JpQWdJQ0F2THlCVGRISnBjQ0JpYjNSb0lHNTFiV0psY25NZ2RHOGdZWEJ3Y205NGFXMWhkR1VnYzJocFpuUWdkbUZzZFdWY2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQStJSFJvYVhNdWJHVnVaM1JvSUh4OElIUm9hWE11WTIxd0tHNTFiU2tnUENBd0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUc1bGR5QkNUaWd3S1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUIwYUdselhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGWmxjbmtnYzJodmNuUWdjbVZrZFdOMGFXOXVYRzRnSUNBZ2FXWWdLRzUxYlM1c1pXNW5kR2dnUFQwOUlERXBJSHRjYmlBZ0lDQWdJR2xtSUNodGIyUmxJRDA5UFNBblpHbDJKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJQ0FnYlc5a09pQnVkV3hzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElEMDlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUdScGRqb2diblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWgwYUdsekxtMXZaRzRvYm5WdExuZHZjbVJ6V3pCZEtTbGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9kR2hwY3k1dGIyUnVLRzUxYlM1M2IzSmtjMXN3WFNrcFhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNiM0prUkdsMktHNTFiU3dnYlc5a1pTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1JtbHVaQ0JnZEdocGMyQWdMeUJnYm5WdFlGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJJRDBnWm5WdVkzUnBiMjRnWkdsMklDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a2FYWnRiMlFvYm5WdExDQW5aR2wySnl3Z1ptRnNjMlVwTG1ScGRqdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJR0IwYUdsellDQWxJR0J1ZFcxZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGIyUWdQU0JtZFc1amRHbHZiaUJ0YjJRZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGRtMXZaQ2h1ZFcwc0lDZHRiMlFuTENCbVlXeHpaU2t1Ylc5a08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWJXOWtJRDBnWm5WdVkzUnBiMjRnZFcxdlpDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpHbDJiVzlrS0c1MWJTd2dKMjF2WkNjc0lIUnlkV1VwTG0xdlpEdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJRkp2ZFc1a0tHQjBhR2x6WUNBdklHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1WkdsMlVtOTFibVFnUFNCbWRXNWpkR2x2YmlCa2FYWlNiM1Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUdSdElEMGdkR2hwY3k1a2FYWnRiMlFvYm5WdEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaU0F0SUdWNFlXTjBJR1JwZG1semFXOXVYRzRnSUNBZ2FXWWdLR1J0TG0xdlpDNXBjMXBsY204b0tTa2djbVYwZFhKdUlHUnRMbVJwZGp0Y2JseHVJQ0FnSUhaaGNpQnRiMlFnUFNCa2JTNWthWFl1Ym1WbllYUnBkbVVnSVQwOUlEQWdQeUJrYlM1dGIyUXVhWE4xWWlodWRXMHBJRG9nWkcwdWJXOWtPMXh1WEc0Z0lDQWdkbUZ5SUdoaGJHWWdQU0J1ZFcwdWRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlISXlJRDBnYm5WdExtRnVaR3h1S0RFcE8xeHVJQ0FnSUhaaGNpQmpiWEFnUFNCdGIyUXVZMjF3S0doaGJHWXBPMXh1WEc0Z0lDQWdMeThnVW05MWJtUWdaRzkzYmx4dUlDQWdJR2xtSUNoamJYQWdQQ0F3SUh4OElISXlJRDA5UFNBeElDWW1JR050Y0NBOVBUMGdNQ2tnY21WMGRYSnVJR1J0TG1ScGRqdGNibHh1SUNBZ0lDOHZJRkp2ZFc1a0lIVndYRzRnSUNBZ2NtVjBkWEp1SUdSdExtUnBkaTV1WldkaGRHbDJaU0FoUFQwZ01DQS9JR1J0TG1ScGRpNXBjM1ZpYmlneEtTQTZJR1J0TG1ScGRpNXBZV1JrYmlneEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJXOWtiaUE5SUdaMWJtTjBhVzl1SUcxdlpHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BEMGdNSGd6Wm1abVptWm1LVHRjYmlBZ0lDQjJZWElnY0NBOUlDZ3hJRHc4SURJMktTQWxJRzUxYlR0Y2JseHVJQ0FnSUhaaGNpQmhZMk1nUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0JoWTJNZ1BTQW9jQ0FxSUdGall5QXJJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2twSUNVZ2JuVnRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCaFkyTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNHRjR3hoWTJVZ1pHbDJhWE5wYjI0Z1lua2diblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFpHbDJiaUE5SUdaMWJtTjBhVzl1SUdsa2FYWnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEdzlJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllU0FxSURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvZHlBdklHNTFiU2tnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lDVWdiblZ0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZG00Z1BTQm1kVzVqZEdsdmJpQmthWFp1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxrYVhadUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVZuWTJRZ1BTQm1kVzVqZEdsdmJpQmxaMk5rSUNod0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hBdWJtVm5ZWFJwZG1VZ1BUMDlJREFwTzF4dUlDQWdJR0Z6YzJWeWRDZ2hjQzVwYzFwbGNtOG9LU2s3WEc1Y2JpQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNN1hHNGdJQ0FnZG1GeUlIa2dQU0J3TG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0JwWmlBb2VDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1ZFcxdlpDaHdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1WTJ4dmJtVW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCSUNvZ2VDQXJJRUlnS2lCNUlEMGdlRnh1SUNBZ0lIWmhjaUJCSUQwZ2JtVjNJRUpPS0RFcE8xeHVJQ0FnSUhaaGNpQkNJRDBnYm1WM0lFSk9LREFwTzF4dVhHNGdJQ0FnTHk4Z1F5QXFJSGdnS3lCRUlDb2dlU0E5SUhsY2JpQWdJQ0IyWVhJZ1F5QTlJRzVsZHlCQ1RpZ3dLVHRjYmlBZ0lDQjJZWElnUkNBOUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lIWmhjaUJuSUQwZ01EdGNibHh1SUNBZ0lIZG9hV3hsSUNoNExtbHpSWFpsYmlncElDWW1JSGt1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUhndWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ2VTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQXJLMmM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhsd0lEMGdlUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUI0Y0NBOUlIZ3VZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIZG9hV3hsSUNnaGVDNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBc0lHbHRJRDBnTVRzZ0tIZ3VkMjl5WkhOYk1GMGdKaUJwYlNrZ1BUMDlJREFnSmlZZ2FTQThJREkyT3lBcksya3NJR2x0SUR3OFBTQXhLVHRjYmlBZ0lDQWdJR2xtSUNocElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbDFjMmh5YmlocEtUdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHa3RMU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1FTNXBjMDlrWkNncElIeDhJRUl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdRUzVwWVdSa0tIbHdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFSXVhWE4xWWloNGNDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdRUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ1FpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLSGt1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjVMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ReTVwYzA5a1pDZ3BJSHg4SUVRdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUXk1cFlXUmtLSGx3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJRVF1YVhOMVlpaDRjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnUXk1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdSQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLSGd1WTIxd0tIa3BJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdlQzVwYzNWaUtIa3BPMXh1SUNBZ0lDQWdJQ0JCTG1semRXSW9ReWs3WEc0Z0lDQWdJQ0FnSUVJdWFYTjFZaWhFS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYTjFZaWg0S1R0Y2JpQWdJQ0FnSUNBZ1F5NXBjM1ZpS0VFcE8xeHVJQ0FnSUNBZ0lDQkVMbWx6ZFdJb1FpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdFNklFTXNYRzRnSUNBZ0lDQmlPaUJFTEZ4dUlDQWdJQ0FnWjJOa09pQjVMbWwxYzJoc2JpaG5LVnh1SUNBZ0lIMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHaHBjeUJwY3lCeVpXUjFZMlZrSUdsdVkyRnlibUYwYVc5dUlHOW1JSFJvWlNCaWFXNWhjbmtnUlVWQlhHNGdJQzh2SUdGaWIzWmxMQ0JrWlhOcFoyNWhkR1ZrSUhSdklHbHVkbVZ5ZENCdFpXMWlaWEp6SUc5bUlIUm9aVnh1SUNBdkx5QmZjSEpwYldWZklHWnBaV3hrY3lCR0tIQXBJR0YwSUdFZ2JXRjRhVzFoYkNCemNHVmxaRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1ZG0xd0lEMGdablZ1WTNScGIyNGdYMmx1ZG0xd0lDaHdLU0I3WEc0Z0lDQWdZWE56WlhKMEtIQXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUdGemMyVnlkQ2doY0M1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTTdYRzRnSUNBZ2RtRnlJR0lnUFNCd0xtTnNiMjVsS0NrN1hHNWNiaUFnSUNCcFppQW9ZUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdFdWRXMXZaQ2h3S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZU0E5SUdFdVkyeHZibVVvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2VERWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUhneUlEMGdibVYzSUVKT0tEQXBPMXh1WEc0Z0lDQWdkbUZ5SUdSbGJIUmhJRDBnWWk1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLR0V1WTIxd2JpZ3hLU0ErSURBZ0ppWWdZaTVqYlhCdUtERXBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUdsdElEMGdNVHNnS0dFdWQyOXlaSE5iTUYwZ0ppQnBiU2tnUFQwOUlEQWdKaVlnYVNBOElESTJPeUFySzJrc0lHbHRJRHc4UFNBeEtUdGNiaUFnSUNBZ0lHbG1JQ2hwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1sMWMyaHliaWhwS1R0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0drdExTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZURFdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZURFdWFXRmtaQ2hrWld4MFlTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlREV1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3TENCcWJTQTlJREU3SUNoaUxuZHZjbVJ6V3pCZElDWWdhbTBwSUQwOVBTQXdJQ1ltSUdvZ1BDQXlOanNnS3l0cUxDQnFiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYWlBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnWWk1cGRYTm9jbTRvYWlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocUxTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hneUxtbHpUMlJrS0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhneUxtbGhaR1FvWkdWc2RHRXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSGd5TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWVM1amJYQW9ZaWtnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1semRXSW9ZaWs3WEc0Z0lDQWdJQ0FnSUhneExtbHpkV0lvZURJcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBjM1ZpS0dFcE8xeHVJQ0FnSUNBZ0lDQjRNaTVwYzNWaUtIZ3hLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaGhMbU50Y0c0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjRNanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvY21WekxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFXRmtaQ2h3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVuWTJRZ1BTQm1kVzVqZEdsdmJpQm5ZMlFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2JuVnRMbUZpY3lncE8xeHVJQ0FnSUdsbUlDaHVkVzB1YVhOYVpYSnZLQ2twSUhKbGRIVnliaUIwYUdsekxtRmljeWdwTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0IwYUdsekxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0JoTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCaUxtNWxaMkYwYVhabElEMGdNRHRjYmx4dUlDQWdJQzh2SUZKbGJXOTJaU0JqYjIxdGIyNGdabUZqZEc5eUlHOW1JSFIzYjF4dUlDQWdJR1p2Y2lBb2RtRnlJSE5vYVdaMElEMGdNRHNnWVM1cGMwVjJaVzRvS1NBbUppQmlMbWx6UlhabGJpZ3BPeUJ6YUdsbWRDc3JLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUdJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIZG9hV3hsSUNoaExtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQWdJR0V1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnZDJocGJHVWdLR0l1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCeUlEMGdZUzVqYlhBb1lpazdYRzRnSUNBZ0lDQnBaaUFvY2lBOElEQXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UzZGhjQ0JnWVdBZ1lXNWtJR0JpWUNCMGJ5QnRZV3RsSUdCaFlDQmhiSGRoZVhNZ1ltbG5aMlZ5SUhSb1lXNGdZR0pnWEc0Z0lDQWdJQ0FnSUhaaGNpQjBJRDBnWVR0Y2JpQWdJQ0FnSUNBZ1lTQTlJR0k3WEc0Z0lDQWdJQ0FnSUdJZ1BTQjBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h5SUQwOVBTQXdJSHg4SUdJdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWVM1cGMzVmlLR0lwTzF4dUlDQWdJSDBnZDJocGJHVWdLSFJ5ZFdVcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUdJdWFYVnphR3h1S0hOb2FXWjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpiblpsY25RZ2JuVnRZbVZ5SUdsdUlIUm9aU0JtYVdWc1pDQkdLRzUxYlNsY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWRtMGdQU0JtZFc1amRHbHZiaUJwYm5adElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFoyTmtLRzUxYlNrdVlTNTFiVzlrS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpSWFpsYmlBOUlHWjFibU4wYVc5dUlHbHpSWFpsYmlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbmR2Y21Seld6QmRJQ1lnTVNrZ1BUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6VDJSa0lEMGdablZ1WTNScGIyNGdhWE5QWkdRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FtSURFcElEMDlQU0F4TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCbWFYSnpkQ0IzYjNKa0lHRnVaQ0J1ZFcxY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1GdVpHeHVJRDBnWm5WdVkzUnBiMjRnWVc1a2JHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuZHZjbVJ6V3pCZElDWWdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRWx1WTNKbGJXVnVkQ0JoZENCMGFHVWdZbWwwSUhCdmMybDBhVzl1SUdsdUxXeHBibVZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUpwYm1OdUlEMGdablZ1WTNScGIyNGdZbWx1WTI0Z0tHSnBkQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlpYaHdZVzVrS0hNZ0t5QXhLVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYzEwZ2ZEMGdjVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGa1pDQmlhWFFnWVc1a0lIQnliM0JoWjJGMFpTd2dhV1lnYm1WbFpHVmtYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdjVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnY3pzZ1kyRnljbmtnSVQwOUlEQWdKaVlnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNCM0lDczlJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtQaUF5Tmp0Y2JpQWdJQ0FnSUhjZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlIYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpXbVZ5YnlBOUlHWjFibU4wYVc5dUlHbHpXbVZ5YnlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnRjRzRnUFNCbWRXNWpkR2x2YmlCamJYQnVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdibVZuWVhScGRtVWdQU0J1ZFcwZ1BDQXdPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdJVzVsWjJGMGFYWmxLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdibVZuWVhScGRtVXBJSEpsZEhWeWJpQXhPMXh1WEc0Z0lDQWdkR2hwY3k1emRISnBjQ2dwTzF4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcFppQW9ibVZuWVhScGRtVXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdElEMGdMVzUxYlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJTQThQU0F3ZURObVptWm1abVlzSUNkT2RXMWlaWElnYVhNZ2RHOXZJR0pwWnljcE8xeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUNBZ2NtVnpJRDBnZHlBOVBUMGdiblZ0SUQ4Z01DQTZJSGNnUENCdWRXMGdQeUF0TVNBNklERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdMWEpsY3lCOElEQTdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCRGIyMXdZWEpsSUhSM2J5QnVkVzFpWlhKeklHRnVaQ0J5WlhSMWNtNDZYRzRnSUM4dklERWdMU0JwWmlCZ2RHaHBjMkFnUGlCZ2JuVnRZRnh1SUNBdkx5QXdJQzBnYVdZZ1lIUm9hWE5nSUQwOUlHQnVkVzFnWEc0Z0lDOHZJQzB4SUMwZ2FXWWdZSFJvYVhOZ0lEd2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdGNDQTlJR1oxYm1OMGFXOXVJR050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuVmpiWEFvYm5WdEtUdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnY21WMGRYSnVJQzF5WlhNZ2ZDQXdPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZXNXphV2R1WldRZ1kyOXRjR0Z5YVhOdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRXTnRjQ0E5SUdaMWJtTjBhVzl1SUhWamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRjBJSFJvYVhNZ2NHOXBiblFnWW05MGFDQnVkVzFpWlhKeklHaGhkbVVnZEdobElITmhiV1VnYzJsbmJseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4SUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBdE1UdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdZU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1WEc0Z0lDQWdJQ0JwWmlBb1lTQTlQVDBnWWlrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNCcFppQW9ZU0E4SUdJcElIdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ0xURTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUGlCaUtTQjdYRzRnSUNBZ0lDQWdJSEpsY3lBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1J1SUQwZ1puVnVZM1JwYjI0Z1ozUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEJ1S0c1MWJTa2dQVDA5SURFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMElEMGdablZ1WTNScGIyNGdaM1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBeE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVnVJRDBnWm5WdVkzUnBiMjRnWjNSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlNBOUlHWjFibU4wYVc5dUlHZDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQajBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhSdUlEMGdablZ1WTNScGIyNGdiSFJ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkQ0E5SUdaMWJtTjBhVzl1SUd4MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdMVEU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlc0Z1BTQm1kVzVqZEdsdmJpQnNkR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxJRDBnWm5WdVkzUnBiMjRnYkhSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOFBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjVzRnUFNCbWRXNWpkR2x2YmlCbGNXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SURBN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRU0J5WldSMVkyVWdZMjl1ZEdWNGRDd2dZMjkxYkdRZ1ltVWdkWE5wYm1jZ2JXOXVkR2R2YldWeWVTQnZjaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMQ0JrWlhCbGJtUnBibWRjYmlBZ0x5OGdiMjRnZEdobElHQnRZQ0JwZEhObGJHWXVYRzRnSUM4dlhHNGdJRUpPTG5KbFpDQTlJR1oxYm1OMGFXOXVJSEpsWkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJTWldRb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlTWldRZ1BTQm1kVzVqZEdsdmJpQjBiMUpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ2NtVjBkWEp1SUdOMGVDNWpiMjUyWlhKMFZHOG9kR2hwY3lrdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxU1pXUWdQU0JtZFc1amRHbHZiaUJtY205dFVtVmtJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2RtY205dFVtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnVkVzFpWlhKeklHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtTnZiblpsY25SR2NtOXRLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZlptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQmZabTl5WTJWU1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ1kzUjRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1iM0pqWlZKbFpDQTlJR1oxYm1OMGFXOXVJR1p2Y21ObFVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkJaR1FnUFNCbWRXNWpkR2x2YmlCeVpXUkJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WVdSa0tIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxCWkdRZ1BTQm1kVzVqZEdsdmJpQnlaV1JKUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSSlFXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBZV1JrS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTjFZaUE5SUdaMWJtTjBhVzl1SUhKbFpGTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6ZFdJb2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVk4xWWlBOUlHWjFibU4wYVc5dUlISmxaRWxUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkVsVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtbHpkV0lvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1UyaHNJRDBnWm5WdVkzUnBiMjRnY21Wa1UyaHNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRhR3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbk5vYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUk5kV3dnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRTExYkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TWloMGFHbHpMQ0J1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVTExYkNBOUlHWjFibU4wYVc5dUlISmxaRWxOZFd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkUxMWJDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1paDBhR2x6TENCdWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNpQTlJR1oxYm1OMGFXOXVJSEpsWkZOeGNpQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXpjWElvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JKVTNGeUlDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBjM0Z5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTnhkV0Z5WlNCeWIyOTBJRzkyWlhJZ2NGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5ZENBOUlHWjFibU4wYVc5dUlISmxaRk54Y25RZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y25RZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTnhjblFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnlaV1JKYm5adElDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKYm5adElIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBiblp0S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkFnSlNCZ2NtVmtJRzF2WkhWc2IyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRTVsWnlBOUlHWjFibU4wYVc5dUlISmxaRTVsWnlBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUbVZuSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1dVpXY29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGQnZkeUE5SUdaMWJtTjBhVzl1SUhKbFpGQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrSUNZbUlDRnVkVzB1Y21Wa0xDQW5jbVZrVUc5M0tHNXZjbTFoYkU1MWJTa25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjRzkzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhKcGJXVWdiblZ0WW1WeWN5QjNhWFJvSUdWbVptbGphV1Z1ZENCeVpXUjFZM1JwYjI1Y2JpQWdkbUZ5SUhCeWFXMWxjeUE5SUh0Y2JpQWdJQ0JyTWpVMk9pQnVkV3hzTEZ4dUlDQWdJSEF5TWpRNklHNTFiR3dzWEc0Z0lDQWdjREU1TWpvZ2JuVnNiQ3hjYmlBZ0lDQndNalUxTVRrNklHNTFiR3hjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjMlYxWkc4dFRXVnljMlZ1Ym1VZ2NISnBiV1ZjYmlBZ1puVnVZM1JwYjI0Z1RWQnlhVzFsSUNodVlXMWxMQ0J3S1NCN1hHNGdJQ0FnTHk4Z1VDQTlJRElnWGlCT0lDMGdTMXh1SUNBZ0lIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnZEdocGN5NXdJRDBnYm1WM0lFSk9LSEFzSURFMktUdGNiaUFnSUNCMGFHbHpMbTRnUFNCMGFHbHpMbkF1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZEdocGN5NXJJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxtNHBMbWx6ZFdJb2RHaHBjeTV3S1R0Y2JseHVJQ0FnSUhSb2FYTXVkRzF3SUQwZ2RHaHBjeTVmZEcxd0tDazdYRzRnSUgxY2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbDkwYlhBZ1BTQm1kVzVqZEdsdmJpQmZkRzF3SUNncElIdGNiaUFnSUNCMllYSWdkRzF3SUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lIUnRjQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2hOWVhSb0xtTmxhV3dvZEdocGN5NXVJQzhnTVRNcEtUdGNiaUFnSUNCeVpYUjFjbTRnZEcxd08xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVhWEpsWkhWalpTQTlJR1oxYm1OMGFXOXVJR2x5WldSMVkyVWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRnpjM1Z0WlhNZ2RHaGhkQ0JnYm5WdFlDQnBjeUJzWlhOeklIUm9ZVzRnWUZCZU1tQmNiaUFnSUNBdkx5QnVkVzBnUFNCSVNTQXFJQ2d5SUY0Z1RpQXRJRXNwSUNzZ1NFa2dLaUJMSUNzZ1RFOGdQU0JJU1NBcUlFc2dLeUJNVHlBb2JXOWtJRkFwWEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzA3WEc0Z0lDQWdkbUZ5SUhKc1pXNDdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IwYUdsekxuTndiR2wwS0hJc0lIUm9hWE11ZEcxd0tUdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHRkV3hMS0hJcE8xeHVJQ0FnSUNBZ2NpQTlJSEl1YVdGa1pDaDBhR2x6TG5SdGNDazdYRzRnSUNBZ0lDQnliR1Z1SUQwZ2NpNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaHliR1Z1SUQ0Z2RHaHBjeTV1S1R0Y2JseHVJQ0FnSUhaaGNpQmpiWEFnUFNCeWJHVnVJRHdnZEdocGN5NXVJRDhnTFRFZ09pQnlMblZqYlhBb2RHaHBjeTV3S1R0Y2JpQWdJQ0JwWmlBb1kyMXdJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhJdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnRjQ0ErSURBcElIdGNiaUFnSUNBZ0lISXVhWE4xWWloMGFHbHpMbkFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlMbk4wY21sd0tDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMEtTQjdYRzRnSUNBZ2FXNXdkWFF1YVhWemFISnVLSFJvYVhNdWJpd2dNQ3dnYjNWMEtUdGNiaUFnZlR0Y2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbWx0ZFd4TElEMGdablZ1WTNScGIyNGdhVzExYkVzZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1YVcxMWJDaDBhR2x6TG1zcE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJRXN5TlRZZ0tDa2dlMXh1SUNBZ0lFMVFjbWx0WlM1allXeHNLRnh1SUNBZ0lDQWdkR2hwY3l4Y2JpQWdJQ0FnSUNkck1qVTJKeXhjYmlBZ0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptTXlaaWNwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0VzeU5UWXNJRTFRY21sdFpTazdYRzVjYmlBZ1N6STFOaTV3Y205MGIzUjVjR1V1YzNCc2FYUWdQU0JtZFc1amRHbHZiaUJ6Y0d4cGRDQW9hVzV3ZFhRc0lHOTFkSEIxZENrZ2UxeHVJQ0FnSUM4dklESTFOaUE5SURrZ0tpQXlOaUFySURJeVhHNGdJQ0FnZG1GeUlHMWhjMnNnUFNBd2VETm1abVptWmp0Y2JseHVJQ0FnSUhaaGNpQnZkWFJNWlc0Z1BTQk5ZWFJvTG0xcGJpaHBibkIxZEM1c1pXNW5kR2dzSURrcE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2IzVjBUR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJRzkxZEhCMWRDNTNiM0prYzF0cFhTQTlJR2x1Y0hWMExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0J2ZFhSd2RYUXViR1Z1WjNSb0lEMGdiM1YwVEdWdU8xeHVYRzRnSUNBZ2FXWWdLR2x1Y0hWMExteGxibWQwYUNBOFBTQTVLU0I3WEc0Z0lDQWdJQ0JwYm5CMWRDNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JwYm5CMWRDNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGTm9hV1owSUdKNUlEa2diR2x0WW5OY2JpQWdJQ0IyWVhJZ2NISmxkaUE5SUdsdWNIVjBMbmR2Y21Seld6bGRPMXh1SUNBZ0lHOTFkSEIxZEM1M2IzSmtjMXR2ZFhSd2RYUXViR1Z1WjNSb0t5dGRJRDBnY0hKbGRpQW1JRzFoYzJzN1hHNWNiaUFnSUNCbWIzSWdLR2tnUFNBeE1Ec2dhU0E4SUdsdWNIVjBMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdibVY0ZENBOUlHbHVjSFYwTG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXMmtnTFNBeE1GMGdQU0FvS0c1bGVIUWdKaUJ0WVhOcktTQThQQ0EwS1NCOElDaHdjbVYySUQ0K1BpQXlNaWs3WEc0Z0lDQWdJQ0J3Y21WMklEMGdibVY0ZER0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpsZGlBK1BqNDlJREl5TzF4dUlDQWdJR2x1Y0hWMExuZHZjbVJ6VzJrZ0xTQXhNRjBnUFNCd2NtVjJPMXh1SUNBZ0lHbG1JQ2h3Y21WMklEMDlQU0F3SUNZbUlHbHVjSFYwTG14bGJtZDBhQ0ErSURFd0tTQjdYRzRnSUNBZ0lDQnBibkIxZEM1c1pXNW5kR2dnTFQwZ01UQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0E1TzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCTE1qVTJMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCTElEMGdNSGd4TURBd01EQXpaREVnUFNCYklEQjROREFzSURCNE0yUXhJRjFjYmlBZ0lDQnVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhRjBnUFNBd08xeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDc2dNVjBnUFNBd08xeHVJQ0FnSUc1MWJTNXNaVzVuZEdnZ0t6MGdNanRjYmx4dUlDQWdJQzh2SUdKdmRXNWtaV1FnWVhRNklEQjROREFnS2lBd2VETm1abVptWm1ZZ0t5QXdlRE5rTUNBOUlEQjRNVEF3TURBd016a3dYRzRnSUNBZ2RtRnlJR3h2SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCdWRXMHVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYkc4Z0t6MGdkeUFxSURCNE0yUXhPMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JzYnlBOUlIY2dLaUF3ZURRd0lDc2dLQ2hzYnlBdklEQjROREF3TURBd01Da2dmQ0F3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR3hsYm1kMGFDQnlaV1IxWTNScGIyNWNiaUFnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbXhsYm1kMGFDMHRPMXh1SUNBZ0lDQWdhV1lnS0c1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdExteGxibWQwYUMwdE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lHWjFibU4wYVc5dUlGQXlNalFnS0NrZ2UxeHVJQ0FnSUUxUWNtbHRaUzVqWVd4c0tGeHVJQ0FnSUNBZ2RHaHBjeXhjYmlBZ0lDQWdJQ2R3TWpJMEp5eGNiaUFnSUNBZ0lDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQXdNREF3TURBd01DQXdNREF3TURBd01DQXdNREF3TURBd01TY3BPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRkF5TWpRc0lFMVFjbWx0WlNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURFNU1pQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXhPVEluTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVpsSUdabVptWm1abVptSUdabVptWm1abVptSnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VERTVNaXdnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNalUxTVRrZ0tDa2dlMXh1SUNBZ0lDOHZJRElnWGlBeU5UVWdMU0F4T1Z4dUlDQWdJRTFRY21sdFpTNWpZV3hzS0Z4dUlDQWdJQ0FnZEdocGN5eGNiaUFnSUNBZ0lDY3lOVFV4T1Njc1hHNGdJQ0FnSUNBbk4yWm1abVptWm1abVptWm1abVptWmlCbVptWm1abVptWm1abVptWm1abVptSUdabVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWmxaQ2NwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0ZBeU5UVXhPU3dnVFZCeWFXMWxLVHRjYmx4dUlDQlFNalUxTVRrdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXpYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzUxYlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUdocElEMGdLRzUxYlM1M2IzSmtjMXRwWFNCOElEQXBJQ29nTUhneE15QXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RtRnlJR3h2SUQwZ2FHa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JvYVNBK1BqNDlJREkyTzF4dVhHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnYUdrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoallYSnllU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dySzEwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkZlSEJ2Y25SbFpDQnRiM04wYkhrZ1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTXNJSFZ6WlNCd2JHRnBiaUJ1WVcxbElHbHVjM1JsWVdSY2JpQWdRazR1WDNCeWFXMWxJRDBnWm5WdVkzUnBiMjRnY0hKcGJXVWdLRzVoYldVcElIdGNiaUFnSUNBdkx5QkRZV05vWldRZ2RtVnljMmx2YmlCdlppQndjbWx0WlZ4dUlDQWdJR2xtSUNod2NtbHRaWE5iYm1GdFpWMHBJSEpsZEhWeWJpQndjbWx0WlhOYmJtRnRaVjA3WEc1Y2JpQWdJQ0IyWVhJZ2NISnBiV1U3WEc0Z0lDQWdhV1lnS0c1aGJXVWdQVDA5SUNkck1qVTJKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1N6STFOaWdwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm1GdFpTQTlQVDBnSjNBeU1qUW5LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qSTBLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WVcxbElEMDlQU0FuY0RFNU1pY3BJSHRjYmlBZ0lDQWdJSEJ5YVcxbElEMGdibVYzSUZBeE9USW9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVoYldVZ1BUMDlJQ2R3TWpVMU1Ua25LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qVTFNVGtvS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFZibXR1YjNkdUlIQnlhVzFsSUNjZ0t5QnVZVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpwYldWelcyNWhiV1ZkSUQwZ2NISnBiV1U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjSEpwYldVN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRbUZ6WlNCeVpXUjFZM1JwYjI0Z1pXNW5hVzVsWEc0Z0lDOHZYRzRnSUdaMWJtTjBhVzl1SUZKbFpDQW9iU2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYlNBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJSFpoY2lCd2NtbHRaU0E5SUVKT0xsOXdjbWx0WlNodEtUdGNiaUFnSUNBZ0lIUm9hWE11YlNBOUlIQnlhVzFsTG5BN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YVcxbElEMGdjSEpwYldVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHRMbWQwYmlneEtTd2dKMjF2WkhWc2RYTWdiWFZ6ZENCaVpTQm5jbVZoZEdWeUlIUm9ZVzRnTVNjcE8xeHVJQ0FnSUNBZ2RHaHBjeTV0SUQwZ2JUdGNiaUFnSUNBZ0lIUm9hWE11Y0hKcGJXVWdQU0J1ZFd4c08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WDNabGNtbG1lVEVnUFNCbWRXNWpkR2x2YmlCZmRtVnlhV1o1TVNBb1lTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoaExtNWxaMkYwYVhabElEMDlQU0F3TENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQndiM05wZEdsMlpYTW5LVHRjYmlBZ0lDQmhjM05sY25Rb1lTNXlaV1FzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVmZG1WeWFXWjVNaUE5SUdaMWJtTjBhVzl1SUY5MlpYSnBabmt5SUNoaExDQmlLU0I3WEc0Z0lDQWdZWE56WlhKMEtDaGhMbTVsWjJGMGFYWmxJSHdnWWk1dVpXZGhkR2wyWlNrZ1BUMDlJREFzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabGN5Y3BPMXh1SUNBZ0lHRnpjMlZ5ZENoaExuSmxaQ0FtSmlCaExuSmxaQ0E5UFQwZ1lpNXlaV1FzWEc0Z0lDQWdJQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzF2WkNBOUlHWjFibU4wYVc5dUlHbHRiMlFnS0dFcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1d2NtbHRaU2tnY21WMGRYSnVJSFJvYVhNdWNISnBiV1V1YVhKbFpIVmpaU2hoS1M1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlHRXVkVzF2WkNoMGFHbHpMbTBwTGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvWVNrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTB1YzNWaUtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtRmtaQ0E5SUdaMWJtTjBhVzl1SUdGa1pDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lTNWhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1saFpHUWdQU0JtZFc1amRHbHZiaUJwWVdSa0lDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExtbGhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWMzVmlJRDBnWm5WdVkzUnBiMjRnYzNWaUlDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExuTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5Ob2JDQTlJR1oxYm1OMGFXOXVJSE5vYkNBb1lTd2diblZ0S1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1TaGhLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHRXVkWE5vYkc0b2JuVnRLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaGhMbWx0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXViWFZzSUQwZ1puVnVZM1JwYjI0Z2JYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWJYVnNLR0lwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1semNYSWdQU0JtZFc1amRHbHZiaUJwYzNGeUlDaGhLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxMWJDaGhMQ0JoTG1Oc2IyNWxLQ2twTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YzNGeUlEMGdablZ1WTNScGIyNGdjM0Z5SUNoaEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0dFc0lHRXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjM0Z5ZENBOUlHWjFibU4wYVc5dUlITnhjblFnS0dFcElIdGNiaUFnSUNCcFppQW9ZUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJR0V1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSFpoY2lCdGIyUXpJRDBnZEdocGN5NXRMbUZ1Wkd4dUtETXBPMXh1SUNBZ0lHRnpjMlZ5ZENodGIyUXpJQ1VnTWlBOVBUMGdNU2s3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJWY2JpQWdJQ0JwWmlBb2JXOWtNeUE5UFQwZ015a2dlMXh1SUNBZ0lDQWdkbUZ5SUhCdmR5QTlJSFJvYVhNdWJTNWhaR1FvYm1WM0lFSk9LREVwS1M1cGRYTm9jbTRvTWlrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdiM2NvWVN3Z2NHOTNLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJVYjI1bGJHeHBMVk5vWVc1cmN5QmhiR2R2Y21sMGFHMGdLRlJ2ZEdGc2JIa2dkVzV2Y0hScGJXbDZaV1FnWVc1a0lITnNiM2NwWEc0Z0lDQWdMeTljYmlBZ0lDQXZMeUJHYVc1a0lGRWdZVzVrSUZNc0lIUm9ZWFFnVVNBcUlESWdYaUJUSUQwZ0tGQWdMU0F4S1Z4dUlDQWdJSFpoY2lCeElEMGdkR2hwY3k1dExuTjFZbTRvTVNrN1hHNGdJQ0FnZG1GeUlITWdQU0F3TzF4dUlDQWdJSGRvYVd4bElDZ2hjUzVwYzFwbGNtOG9LU0FtSmlCeExtRnVaR3h1S0RFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCekt5czdYRzRnSUNBZ0lDQnhMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ1lYTnpaWEowS0NGeExtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUJ2Ym1VZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkbUZ5SUc1UGJtVWdQU0J2Ym1VdWNtVmtUbVZuS0NrN1hHNWNiaUFnSUNBdkx5QkdhVzVrSUhGMVlXUnlZWFJwWXlCdWIyNHRjbVZ6YVdSMVpWeHVJQ0FnSUM4dklFNVBWRVU2SUUxaGVDQnBjeUJ6ZFdOb0lHSmxZMkYxYzJVZ2IyWWdaMlZ1WlhKaGJHbDZaV1FnVW1sbGJXRnViaUJvZVhCdmRHaGxjMmx6TGx4dUlDQWdJSFpoY2lCc2NHOTNJRDBnZEdocGN5NXRMbk4xWW00b01Ta3VhWFZ6YUhKdUtERXBPMXh1SUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTV0TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUhvZ1BTQnVaWGNnUWs0b01pQXFJSG9nS2lCNktTNTBiMUpsWkNoMGFHbHpLVHRjYmx4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG5CdmR5aDZMQ0JzY0c5M0tTNWpiWEFvYms5dVpTa2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIb3VjbVZrU1VGa1pDaHVUMjVsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdWNHOTNLSG9zSUhFcE8xeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXdiM2NvWVN3Z2NTNWhaR1J1S0RFcExtbDFjMmh5YmlneEtTazdYRzRnSUNBZ2RtRnlJSFFnUFNCMGFHbHpMbkJ2ZHloaExDQnhLVHRjYmlBZ0lDQjJZWElnYlNBOUlITTdYRzRnSUNBZ2QyaHBiR1VnS0hRdVkyMXdLRzl1WlNrZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBiWEFnUFNCME8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUhSdGNDNWpiWEFvYjI1bEtTQWhQVDBnTURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSdGNDQTlJSFJ0Y0M1eVpXUlRjWElvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdGemMyVnlkQ2hwSUR3Z2JTazdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11Y0c5M0tHTXNJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9iU0F0SUdrZ0xTQXhLU2s3WEc1Y2JpQWdJQ0FnSUhJZ1BTQnlMbkpsWkUxMWJDaGlLVHRjYmlBZ0lDQWdJR01nUFNCaUxuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ2RDQTlJSFF1Y21Wa1RYVnNLR01wTzF4dUlDQWdJQ0FnYlNBOUlHazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJuWnRJRDBnWm5WdVkzUnBiMjRnYVc1MmJTQW9ZU2tnZTF4dUlDQWdJSFpoY2lCcGJuWWdQU0JoTGw5cGJuWnRjQ2gwYUdsekxtMHBPMXh1SUNBZ0lHbG1JQ2hwYm5ZdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdsdWRpNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJXOWtLR2x1ZGlrdWNtVmtUbVZuS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9hVzUyS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV3YjNjZ1BTQm1kVzVqZEdsdmJpQndiM2NnS0dFc0lHNTFiU2tnZTF4dUlDQWdJR2xtSUNodWRXMHVhWE5hWlhKdktDa3BJSEpsZEhWeWJpQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdhV1lnS0c1MWJTNWpiWEJ1S0RFcElEMDlQU0F3S1NCeVpYUjFjbTRnWVM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZG1GeUlIZHBibVJ2ZDFOcGVtVWdQU0EwTzF4dUlDQWdJSFpoY2lCM2JtUWdQU0J1WlhjZ1FYSnlZWGtvTVNBOFBDQjNhVzVrYjNkVGFYcGxLVHRjYmlBZ0lDQjNibVJiTUYwZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkMjVrV3pGZElEMGdZVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTWpzZ2FTQThJSGR1WkM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkMjVrVzJsZElEMGdkR2hwY3k1dGRXd29kMjVrVzJrZ0xTQXhYU3dnWVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUhkdVpGc3dYVHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SURBN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJSFpoY2lCemRHRnlkQ0E5SUc1MWJTNWlhWFJNWlc1bmRHZ29LU0FsSURJMk8xeHVJQ0FnSUdsbUlDaHpkR0Z5ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYzNSaGNuUWdQU0F5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tHa2dQU0J1ZFcwdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNiM0prSUQwZ2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUhOMFlYSjBJQzBnTVRzZ2FpQStQU0F3T3lCcUxTMHBJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSnBkQ0E5SUNoM2IzSmtJRDQrSUdvcElDWWdNVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjeUFoUFQwZ2QyNWtXekJkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV6Y1hJb2NtVnpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hpYVhRZ1BUMDlJREFnSmlZZ1kzVnljbVZ1ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkQ0E4UEQwZ01UdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQjhQU0JpYVhRN1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNHJLenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5STVpXNGdJVDA5SUhkcGJtUnZkMU5wZW1VZ0ppWWdLR2tnSVQwOUlEQWdmSHdnYWlBaFBUMGdNQ2twSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXViWFZzS0hKbGN5d2dkMjVrVzJOMWNuSmxiblJkS1R0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEV4bGJpQTlJREE3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzUmhjblFnUFNBeU5qdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZEZSdklEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRGUnZJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjaUE5SUc1MWJTNTFiVzlrS0hSb2FYTXViU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjaUE5UFQwZ2JuVnRJRDhnY2k1amJHOXVaU2dwSURvZ2NqdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtTnZiblpsY25SR2NtOXRJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRVp5YjIwZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeVpYTWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0J5WlhNdWNtVmtJRDBnYm5Wc2JEdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJQzh2WEc0Z0lDOHZJRTF2Ym5SbmIyMWxjbmtnYldWMGFHOWtJR1Z1WjJsdVpWeHVJQ0F2TDF4dVhHNGdJRUpPTG0xdmJuUWdQU0JtZFc1amRHbHZiaUJ0YjI1MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUUxdmJuUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQk5iMjUwSUNodEtTQjdYRzRnSUNBZ1VtVmtMbU5oYkd3b2RHaHBjeXdnYlNrN1hHNWNiaUFnSUNCMGFHbHpMbk5vYVdaMElEMGdkR2hwY3k1dExtSnBkRXhsYm1kMGFDZ3BPMXh1SUNBZ0lHbG1JQ2gwYUdsekxuTm9hV1owSUNVZ01qWWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11YzJocFpuUWdLejBnTWpZZ0xTQW9kR2hwY3k1emFHbG1kQ0FsSURJMktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbklnUFNCdVpYY2dRazRvTVNrdWFYVnphR3h1S0hSb2FYTXVjMmhwWm5RcE8xeHVJQ0FnSUhSb2FYTXVjaklnUFNCMGFHbHpMbWx0YjJRb2RHaHBjeTV5TG5OeGNpZ3BLVHRjYmlBZ0lDQjBhR2x6TG5KcGJuWWdQU0IwYUdsekxuSXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNWNiaUFnSUNCMGFHbHpMbTFwYm5ZZ1BTQjBhR2x6TG5KcGJuWXViWFZzS0hSb2FYTXVjaWt1YVhOMVltNG9NU2t1WkdsMktIUm9hWE11YlNrN1hHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV0YVc1MkxuVnRiMlFvZEdocGN5NXlLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxuSXVjM1ZpS0hSb2FYTXViV2x1ZGlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1RXOXVkQ3dnVW1Wa0tUdGNibHh1SUNCTmIyNTBMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9iblZ0TG5WemFHeHVLSFJvYVhNdWMyaHBablFwS1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowUm5KdmJTQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUkdjbTl0SUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVcxdlpDaHVkVzB1YlhWc0tIUm9hWE11Y21sdWRpa3BPMXh1SUNBZ0lISXVjbVZrSUQwZ2JuVnNiRHRjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JOYjI1MExuQnliM1J2ZEhsd1pTNXBiWFZzSUQwZ1puVnVZM1JwYjI0Z2FXMTFiQ0FvWVN3Z1lpa2dlMXh1SUNBZ0lHbG1JQ2hoTG1seldtVnlieWdwSUh4OElHSXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJR0V1ZDI5eVpITmJNRjBnUFNBd08xeHVJQ0FnSUNBZ1lTNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSFFnUFNCaExtbHRkV3dvWWlrN1hHNGdJQ0FnZG1GeUlHTWdQU0IwTG0xaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0xcGJuWXBMbWx0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0S1R0Y2JpQWdJQ0IyWVhJZ2RTQTlJSFF1YVhOMVlpaGpLUzVwZFhOb2NtNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFU3WEc1Y2JpQWdJQ0JwWmlBb2RTNWpiWEFvZEdocGN5NXRLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMUxtbHpkV0lvZEdocGN5NXRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFV1WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFXRmtaQ2gwYUdsekxtMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTXVYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BJSHg4SUdJdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCdVpYY2dRazRvTUNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0JoTG0xMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNiaUFnSUNCcFppQW9kUzVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjFMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hVdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIVXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ0x5OGdLRUZTS1Y0dE1TQXFJRkplTWlBOUlDaEJYaTB4SUNvZ1VsNHRNU2tnS2lCU1hqSWdQU0JCWGkweElDb2dVbHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TG1sdGIyUW9ZUzVmYVc1MmJYQW9kR2hwY3k1dEtTNXRkV3dvZEdocGN5NXlNaWtwTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVmU2tvZEhsd1pXOW1JRzF2WkhWc1pTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ2ZId2diVzlrZFd4bExDQjBhR2x6S1R0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gYXNzZXJ0O1xcblxcbmZ1bmN0aW9uIGFzc2VydCh2YWwsIG1zZykge1xcbiAgaWYgKCF2YWwpXFxuICAgIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG59XFxuXFxuYXNzZXJ0LmVxdWFsID0gZnVuY3Rpb24gYXNzZXJ0RXF1YWwobCwgciwgbXNnKSB7XFxuICBpZiAobCAhPSByKVxcbiAgICB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICgnQXNzZXJ0aW9uIGZhaWxlZDogJyArIGwgKyAnICE9ICcgKyByKSk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXRhVzVwYldGc2FYTjBhV010WVhOelpYSjBMMmx1WkdWNExtcHpQMlUwTkdVaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YldsdWFXMWhiR2x6ZEdsakxXRnpjMlZ5ZEM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdZWE56WlhKME8xeHVYRzVtZFc1amRHbHZiaUJoYzNObGNuUW9kbUZzTENCdGMyY3BJSHRjYmlBZ2FXWWdLQ0YyWVd3cFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRzF6WnlCOGZDQW5RWE56WlhKMGFXOXVJR1poYVd4bFpDY3BPMXh1ZlZ4dVhHNWhjM05sY25RdVpYRjFZV3dnUFNCbWRXNWpkR2x2YmlCaGMzTmxjblJGY1hWaGJDaHNMQ0J5TENCdGMyY3BJSHRjYmlBZ2FXWWdLR3dnSVQwZ2NpbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvYlhObklIeDhJQ2duUVhOelpYSjBhVzl1SUdaaGFXeGxaRG9nSnlBcklHd2dLeUFuSUNFOUlDY2dLeUJ5S1NrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzL2xpYi91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzL2xpYi91dGlscy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBleHBvcnRzO1xcblxcbmZ1bmN0aW9uIHRvQXJyYXkobXNnLCBlbmMpIHtcXG4gIGlmIChBcnJheS5pc0FycmF5KG1zZykpXFxuICAgIHJldHVybiBtc2cuc2xpY2UoKTtcXG4gIGlmICghbXNnKVxcbiAgICByZXR1cm4gW107XFxuICB2YXIgcmVzID0gW107XFxuICBpZiAodHlwZW9mIG1zZyAhPT0gJ3N0cmluZycpIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpKyspXFxuICAgICAgcmVzW2ldID0gbXNnW2ldIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH1cXG4gIGlmIChlbmMgPT09ICdoZXgnKSB7XFxuICAgIG1zZyA9IG1zZy5yZXBsYWNlKC9bXmEtejAtOV0rL2lnLCAnJyk7XFxuICAgIGlmIChtc2cubGVuZ3RoICUgMiAhPT0gMClcXG4gICAgICBtc2cgPSAnMCcgKyBtc2c7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSArPSAyKVxcbiAgICAgIHJlcy5wdXNoKHBhcnNlSW50KG1zZ1tpXSArIG1zZ1tpICsgMV0sIDE2KSk7XFxuICB9IGVsc2Uge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBjID0gbXNnLmNoYXJDb2RlQXQoaSk7XFxuICAgICAgdmFyIGhpID0gYyA+PiA4O1xcbiAgICAgIHZhciBsbyA9IGMgJiAweGZmO1xcbiAgICAgIGlmIChoaSlcXG4gICAgICAgIHJlcy5wdXNoKGhpLCBsbyk7XFxuICAgICAgZWxzZVxcbiAgICAgICAgcmVzLnB1c2gobG8pO1xcbiAgICB9XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG51dGlscy50b0FycmF5ID0gdG9BcnJheTtcXG5cXG5mdW5jdGlvbiB6ZXJvMih3b3JkKSB7XFxuICBpZiAod29yZC5sZW5ndGggPT09IDEpXFxuICAgIHJldHVybiAnMCcgKyB3b3JkO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gd29yZDtcXG59XFxudXRpbHMuemVybzIgPSB6ZXJvMjtcXG5cXG5mdW5jdGlvbiB0b0hleChtc2cpIHtcXG4gIHZhciByZXMgPSAnJztcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxcbiAgICByZXMgKz0gemVybzIobXNnW2ldLnRvU3RyaW5nKDE2KSk7XFxuICByZXR1cm4gcmVzO1xcbn1cXG51dGlscy50b0hleCA9IHRvSGV4O1xcblxcbnV0aWxzLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShhcnIsIGVuYykge1xcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXFxuICAgIHJldHVybiB0b0hleChhcnIpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gYXJyO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl0YVc1cGJXRnNhWE4wYVdNdFkzSjVjSFJ2TFhWMGFXeHpMMnhwWWk5MWRHbHNjeTVxY3o5ak1UQTRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4blFrRkJaMEk3UVVGRGJrTTdRVUZEUVN4SFFVRkhPMEZCUTBnc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4blFrRkJaMEk3UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyMXBibWx0WVd4cGMzUnBZeTFqY25sd2RHOHRkWFJwYkhNdmJHbGlMM1YwYVd4ekxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQmxlSEJ2Y25Sek8xeHVYRzVtZFc1amRHbHZiaUIwYjBGeWNtRjVLRzF6Wnl3Z1pXNWpLU0I3WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHMXpaeWtwWEc0Z0lDQWdjbVYwZFhKdUlHMXpaeTV6YkdsalpTZ3BPMXh1SUNCcFppQW9JVzF6WnlsY2JpQWdJQ0J5WlhSMWNtNGdXMTA3WEc0Z0lIWmhjaUJ5WlhNZ1BTQmJYVHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnRjMmNnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnRjMmN1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnSUNCeVpYTmJhVjBnUFNCdGMyZGJhVjBnZkNBd08xeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDFjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNCdGMyY2dQU0J0YzJjdWNtVndiR0ZqWlNndlcxNWhMWG93TFRsZEt5OXBaeXdnSnljcE8xeHVJQ0FnSUdsbUlDaHRjMmN1YkdWdVozUm9JQ1VnTWlBaFBUMGdNQ2xjYmlBZ0lDQWdJRzF6WnlBOUlDY3dKeUFySUcxelp6dGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHMXpaeTVzWlc1bmRHZzdJR2tnS3owZ01pbGNiaUFnSUNBZ0lISmxjeTV3ZFhOb0tIQmhjbk5sU1c1MEtHMXpaMXRwWFNBcklHMXpaMXRwSUNzZ01WMHNJREUyS1NrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnRjMmN1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2JYTm5MbU5vWVhKRGIyUmxRWFFvYVNrN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNCaklENCtJRGc3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JqSUNZZ01IaG1aanRjYmlBZ0lDQWdJR2xtSUNob2FTbGNiaUFnSUNBZ0lDQWdjbVZ6TG5CMWMyZ29hR2tzSUd4dktUdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnY21WekxuQjFjMmdvYkc4cE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1ZFhScGJITXVkRzlCY25KaGVTQTlJSFJ2UVhKeVlYazdYRzVjYm1aMWJtTjBhVzl1SUhwbGNtOHlLSGR2Y21RcElIdGNiaUFnYVdZZ0tIZHZjbVF1YkdWdVozUm9JRDA5UFNBeEtWeHVJQ0FnSUhKbGRIVnliaUFuTUNjZ0t5QjNiM0prTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIZHZjbVE3WEc1OVhHNTFkR2xzY3k1NlpYSnZNaUE5SUhwbGNtOHlPMXh1WEc1bWRXNWpkR2x2YmlCMGIwaGxlQ2h0YzJjcElIdGNiaUFnZG1GeUlISmxjeUE5SUNjbk8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUcxelp5NXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnlaWE1nS3owZ2VtVnlieklvYlhOblcybGRMblJ2VTNSeWFXNW5LREUyS1NrN1hHNGdJSEpsZEhWeWJpQnlaWE03WEc1OVhHNTFkR2xzY3k1MGIwaGxlQ0E5SUhSdlNHVjRPMXh1WEc1MWRHbHNjeTVsYm1OdlpHVWdQU0JtZFc1amRHbHZiaUJsYm1OdlpHVW9ZWEp5TENCbGJtTXBJSHRjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcFhHNGdJQ0FnY21WMGRYSnVJSFJ2U0dWNEtHRnljaWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z1lYSnlPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWNyeXB0by11dGlscy9saWIvdXRpbHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL29iamVjdC1hc3NpZ24vaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLypcXG5vYmplY3QtYXNzaWduXFxuKGMpIFNpbmRyZSBTb3JodXNcXG5AbGljZW5zZSBNSVRcXG4qL1xcblxcblxcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXFxudmFyIGdldE93blByb3BlcnR5U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XFxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XFxuXFxuZnVuY3Rpb24gdG9PYmplY3QodmFsKSB7XFxuXFx0aWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCkge1xcblxcdFxcdHRocm93IG5ldyBUeXBlRXJyb3IoJ09iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkJyk7XFxuXFx0fVxcblxcblxcdHJldHVybiBPYmplY3QodmFsKTtcXG59XFxuXFxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xcblxcdHRyeSB7XFxuXFx0XFx0aWYgKCFPYmplY3QuYXNzaWduKSB7XFxuXFx0XFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBEZXRlY3QgYnVnZ3kgcHJvcGVydHkgZW51bWVyYXRpb24gb3JkZXIgaW4gb2xkZXIgVjggdmVyc2lvbnMuXFxuXFxuXFx0XFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9NDExOFxcblxcdFxcdHZhciB0ZXN0MSA9IG5ldyBTdHJpbmcoJ2FiYycpOyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXctd3JhcHBlcnNcXG5cXHRcXHR0ZXN0MVs1XSA9ICdkZSc7XFxuXFx0XFx0aWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QxKVswXSA9PT0gJzUnKSB7XFxuXFx0XFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XFxuXFx0XFx0dmFyIHRlc3QyID0ge307XFxuXFx0XFx0Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XFxuXFx0XFx0XFx0dGVzdDJbJ18nICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKV0gPSBpO1xcblxcdFxcdH1cXG5cXHRcXHR2YXIgb3JkZXIyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDIpLm1hcChmdW5jdGlvbiAobikge1xcblxcdFxcdFxcdHJldHVybiB0ZXN0MltuXTtcXG5cXHRcXHR9KTtcXG5cXHRcXHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcXG5cXHRcXHRcXHRyZXR1cm4gZmFsc2U7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcXG5cXHRcXHR2YXIgdGVzdDMgPSB7fTtcXG5cXHRcXHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnLnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uIChsZXR0ZXIpIHtcXG5cXHRcXHRcXHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xcblxcdFxcdH0pO1xcblxcdFxcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxcblxcdFxcdFxcdFxcdCdhYmNkZWZnaGlqa2xtbm9wcXJzdCcpIHtcXG5cXHRcXHRcXHRyZXR1cm4gZmFsc2U7XFxuXFx0XFx0fVxcblxcblxcdFxcdHJldHVybiB0cnVlO1xcblxcdH0gY2F0Y2ggKGVycikge1xcblxcdFxcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXFxuXFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdH1cXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBzaG91bGRVc2VOYXRpdmUoKSA/IE9iamVjdC5hc3NpZ24gOiBmdW5jdGlvbiAodGFyZ2V0LCBzb3VyY2UpIHtcXG5cXHR2YXIgZnJvbTtcXG5cXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xcblxcdHZhciBzeW1ib2xzO1xcblxcblxcdGZvciAodmFyIHMgPSAxOyBzIDwgYXJndW1lbnRzLmxlbmd0aDsgcysrKSB7XFxuXFx0XFx0ZnJvbSA9IE9iamVjdChhcmd1bWVudHNbc10pO1xcblxcblxcdFxcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XFxuXFx0XFx0XFx0aWYgKGhhc093blByb3BlcnR5LmNhbGwoZnJvbSwga2V5KSkge1xcblxcdFxcdFxcdFxcdHRvW2tleV0gPSBmcm9tW2tleV07XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XFxuXFx0XFx0XFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcXG5cXHRcXHRcXHRmb3IgKHZhciBpID0gMDsgaSA8IHN5bWJvbHMubGVuZ3RoOyBpKyspIHtcXG5cXHRcXHRcXHRcXHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XFxuXFx0XFx0XFx0XFx0XFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHRyZXR1cm4gdG87XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXZZbXBsWTNRdFlYTnphV2R1TDJsdVpHVjRMbXB6UHpsaE5ERWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZZVHRCUVVOaU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxHZERRVUZuUXp0QlFVTm9RenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklMR3REUVVGclF6dEJRVU5zUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1owSkJRV2RDTEhOQ1FVRnpRanRCUVVOMFF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4clFrRkJhMElzYjBKQlFXOUNPMEZCUTNSRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDI5aWFtVmpkQzFoYzNOcFoyNHZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktseHViMkpxWldOMExXRnpjMmxuYmx4dUtHTXBJRk5wYm1SeVpTQlRiM0pvZFhOY2JrQnNhV05sYm5ObElFMUpWRnh1S2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dUx5b2daWE5zYVc1MExXUnBjMkZpYkdVZ2JtOHRkVzUxYzJWa0xYWmhjbk1nS2k5Y2JuWmhjaUJuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpPMXh1ZG1GeUlHaGhjMDkzYmxCeWIzQmxjblI1SUQwZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlVHRjYm5aaGNpQndjbTl3U1hORmJuVnRaWEpoWW14bElEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNXdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaVHRjYmx4dVpuVnVZM1JwYjI0Z2RHOVBZbXBsWTNRb2RtRnNLU0I3WEc1Y2RHbG1JQ2gyWVd3Z1BUMDlJRzUxYkd3Z2ZId2dkbUZzSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmx4MFhIUjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RQWW1wbFkzUXVZWE56YVdkdUlHTmhibTV2ZENCaVpTQmpZV3hzWldRZ2QybDBhQ0J1ZFd4c0lHOXlJSFZ1WkdWbWFXNWxaQ2NwTzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUU5aWFtVmpkQ2gyWVd3cE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCemFHOTFiR1JWYzJWT1lYUnBkbVVvS1NCN1hHNWNkSFJ5ZVNCN1hHNWNkRngwYVdZZ0tDRlBZbXBsWTNRdVlYTnphV2R1S1NCN1hHNWNkRngwWEhSeVpYUjFjbTRnWm1Gc2MyVTdYRzVjZEZ4MGZWeHVYRzVjZEZ4MEx5OGdSR1YwWldOMElHSjFaMmQ1SUhCeWIzQmxjblI1SUdWdWRXMWxjbUYwYVc5dUlHOXlaR1Z5SUdsdUlHOXNaR1Z5SUZZNElIWmxjbk5wYjI1ekxseHVYRzVjZEZ4MEx5OGdhSFIwY0hNNkx5OWlkV2R6TG1Ob2NtOXRhWFZ0TG05eVp5OXdMM1k0TDJsemMzVmxjeTlrWlhSaGFXdy9hV1E5TkRFeE9GeHVYSFJjZEhaaGNpQjBaWE4wTVNBOUlHNWxkeUJUZEhKcGJtY29KMkZpWXljcE95QWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MXVaWGN0ZDNKaGNIQmxjbk5jYmx4MFhIUjBaWE4wTVZzMVhTQTlJQ2RrWlNjN1hHNWNkRngwYVdZZ0tFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVTVoYldWektIUmxjM1F4S1Zzd1hTQTlQVDBnSnpVbktTQjdYRzVjZEZ4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBMeThnYUhSMGNITTZMeTlpZFdkekxtTm9jbTl0YVhWdExtOXlaeTl3TDNZNEwybHpjM1ZsY3k5a1pYUmhhV3cvYVdROU16QTFObHh1WEhSY2RIWmhjaUIwWlhOME1pQTlJSHQ5TzF4dVhIUmNkR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTVRBN0lHa3JLeWtnZTF4dVhIUmNkRngwZEdWemRESmJKMThuSUNzZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTaHBLVjBnUFNCcE8xeHVYSFJjZEgxY2JseDBYSFIyWVhJZ2IzSmtaWEl5SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNb2RHVnpkRElwTG0xaGNDaG1kVzVqZEdsdmJpQW9iaWtnZTF4dVhIUmNkRngwY21WMGRYSnVJSFJsYzNReVcyNWRPMXh1WEhSY2RIMHBPMXh1WEhSY2RHbG1JQ2h2Y21SbGNqSXVhbTlwYmlnbkp5a2dJVDA5SUNjd01USXpORFUyTnpnNUp5a2dlMXh1WEhSY2RGeDBjbVYwZFhKdUlHWmhiSE5sTzF4dVhIUmNkSDFjYmx4dVhIUmNkQzh2SUdoMGRIQnpPaTh2WW5WbmN5NWphSEp2YldsMWJTNXZjbWN2Y0M5Mk9DOXBjM04xWlhNdlpHVjBZV2xzUDJsa1BUTXdOVFpjYmx4MFhIUjJZWElnZEdWemRETWdQU0I3ZlR0Y2JseDBYSFFuWVdKalpHVm1aMmhwYW10c2JXNXZjSEZ5YzNRbkxuTndiR2wwS0NjbktTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHNaWFIwWlhJcElIdGNibHgwWEhSY2RIUmxjM1F6VzJ4bGRIUmxjbDBnUFNCc1pYUjBaWEk3WEc1Y2RGeDBmU2s3WEc1Y2RGeDBhV1lnS0U5aWFtVmpkQzVyWlhsektFOWlhbVZqZEM1aGMzTnBaMjRvZTMwc0lIUmxjM1F6S1NrdWFtOXBiaWduSnlrZ0lUMDlYRzVjZEZ4MFhIUmNkQ2RoWW1Oa1pXWm5hR2xxYTJ4dGJtOXdjWEp6ZENjcElIdGNibHgwWEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWFIxY200Z2RISjFaVHRjYmx4MGZTQmpZWFJqYUNBb1pYSnlLU0I3WEc1Y2RGeDBMeThnVjJVZ1pHOXVKM1FnWlhod1pXTjBJR0Z1ZVNCdlppQjBhR1VnWVdKdmRtVWdkRzhnZEdoeWIzY3NJR0oxZENCaVpYUjBaWElnZEc4Z1ltVWdjMkZtWlM1Y2JseDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hHNWNkSDFjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQnphRzkxYkdSVmMyVk9ZWFJwZG1Vb0tTQS9JRTlpYW1WamRDNWhjM05wWjI0Z09pQm1kVzVqZEdsdmJpQW9kR0Z5WjJWMExDQnpiM1Z5WTJVcElIdGNibHgwZG1GeUlHWnliMjA3WEc1Y2RIWmhjaUIwYnlBOUlIUnZUMkpxWldOMEtIUmhjbWRsZENrN1hHNWNkSFpoY2lCemVXMWliMnh6TzF4dVhHNWNkR1p2Y2lBb2RtRnlJSE1nUFNBeE95QnpJRHdnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHNnY3lzcktTQjdYRzVjZEZ4MFpuSnZiU0E5SUU5aWFtVmpkQ2hoY21kMWJXVnVkSE5iYzEwcE8xeHVYRzVjZEZ4MFptOXlJQ2gyWVhJZ2EyVjVJR2x1SUdaeWIyMHBJSHRjYmx4MFhIUmNkR2xtSUNob1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHWnliMjBzSUd0bGVTa3BJSHRjYmx4MFhIUmNkRngwZEc5YmEyVjVYU0E5SUdaeWIyMWJhMlY1WFR0Y2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2JseDBYSFJwWmlBb1oyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpLU0I3WEc1Y2RGeDBYSFJ6ZVcxaWIyeHpJRDBnWjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4ektHWnliMjBwTzF4dVhIUmNkRngwWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemVXMWliMnh6TG14bGJtZDBhRHNnYVNzcktTQjdYRzVjZEZ4MFhIUmNkR2xtSUNod2NtOXdTWE5GYm5WdFpYSmhZbXhsTG1OaGJHd29abkp2YlN3Z2MzbHRZbTlzYzF0cFhTa3BJSHRjYmx4MFhIUmNkRngwWEhSMGIxdHplVzFpYjJ4elcybGRYU0E5SUdaeWIyMWJjM2x0WW05c2MxdHBYVjA3WEc1Y2RGeDBYSFJjZEgxY2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2RIMWNibHh1WEhSeVpYUjFjbTRnZEc4N1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2Flc2lkLmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYWVzaWQuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogMi4xNi44NDAuMS4xMDEuMy40LjEuMSwgMi4xNi44NDAuMS4xMDEuMy40LjEuMiwgMi4xNi44NDAuMS4xMDEuMy40LjEuMywgMi4xNi44NDAuMS4xMDEuMy40LjEuNCwgMi4xNi44NDAuMS4xMDEuMy40LjEuMjEsIDIuMTYuODQwLjEuMTAxLjMuNC4xLjIyLCAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMywgMi4xNi44NDAuMS4xMDEuMy40LjEuMjQsIDIuMTYuODQwLjEuMTAxLjMuNC4xLjQxLCAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MiwgMi4xNi44NDAuMS4xMDEuMy40LjEuNDMsIDIuMTYuODQwLjEuMTAxLjMuNC4xLjQ0LCBkZWZhdWx0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IEpTT04ucGFyc2UoXFxcIntcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjFcXFxcXFxcIjpcXFxcXFxcImFlcy0xMjgtZWNiXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yXFxcXFxcXCI6XFxcXFxcXCJhZXMtMTI4LWNiY1xcXFxcXFwiLFxcXFxcXFwiMi4xNi44NDAuMS4xMDEuMy40LjEuM1xcXFxcXFwiOlxcXFxcXFwiYWVzLTEyOC1vZmJcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjRcXFxcXFxcIjpcXFxcXFxcImFlcy0xMjgtY2ZiXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMVxcXFxcXFwiOlxcXFxcXFwiYWVzLTE5Mi1lY2JcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIyXFxcXFxcXCI6XFxcXFxcXCJhZXMtMTkyLWNiY1xcXFxcXFwiLFxcXFxcXFwiMi4xNi44NDAuMS4xMDEuMy40LjEuMjNcXFxcXFxcIjpcXFxcXFxcImFlcy0xOTItb2ZiXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yNFxcXFxcXFwiOlxcXFxcXFwiYWVzLTE5Mi1jZmJcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQxXFxcXFxcXCI6XFxcXFxcXCJhZXMtMjU2LWVjYlxcXFxcXFwiLFxcXFxcXFwiMi4xNi44NDAuMS4xMDEuMy40LjEuNDJcXFxcXFxcIjpcXFxcXFxcImFlcy0yNTYtY2JjXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40M1xcXFxcXFwiOlxcXFxcXFwiYWVzLTI1Ni1vZmJcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQ0XFxcXFxcXCI6XFxcXFxcXCJhZXMtMjU2LWNmYlxcXFxcXFwifVxcXCIpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwyRmxjMmxrTG1wemIyNHVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYWVzaWQuanNvblxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9hc24xLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2FzbjEuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvYXNuMS5qc1xcbi8vIEZlZG9yLCB5b3UgYXJlIGFtYXppbmcuXFxuXFxuXFxudmFyIGFzbjEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBhc24xLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIilcXG5cXG5leHBvcnRzLmNlcnRpZmljYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jZXJ0aWZpY2F0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9jZXJ0aWZpY2F0ZS5qc1xcXCIpXFxuXFxudmFyIFJTQVByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnUlNBUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxcbiAgICB0aGlzLmtleSgnbW9kdWx1cycpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHVibGljRXhwb25lbnQnKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ3ByaXZhdGVFeHBvbmVudCcpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHJpbWUxJykuaW50KCksXFxuICAgIHRoaXMua2V5KCdwcmltZTInKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ2V4cG9uZW50MScpLmludCgpLFxcbiAgICB0aGlzLmtleSgnZXhwb25lbnQyJykuaW50KCksXFxuICAgIHRoaXMua2V5KCdjb2VmZmljaWVudCcpLmludCgpXFxuICApXFxufSlcXG5leHBvcnRzLlJTQVByaXZhdGVLZXkgPSBSU0FQcml2YXRlS2V5XFxuXFxudmFyIFJTQVB1YmxpY0tleSA9IGFzbjEuZGVmaW5lKCdSU0FQdWJsaWNLZXknLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ21vZHVsdXMnKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ3B1YmxpY0V4cG9uZW50JykuaW50KClcXG4gIClcXG59KVxcbmV4cG9ydHMuUlNBUHVibGljS2V5ID0gUlNBUHVibGljS2V5XFxuXFxudmFyIFB1YmxpY0tleSA9IGFzbjEuZGVmaW5lKCdTdWJqZWN0UHVibGljS2V5SW5mbycsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxcbiAgICB0aGlzLmtleSgnc3ViamVjdFB1YmxpY0tleScpLmJpdHN0cigpXFxuICApXFxufSlcXG5leHBvcnRzLlB1YmxpY0tleSA9IFB1YmxpY0tleVxcblxcbnZhciBBbGdvcml0aG1JZGVudGlmaWVyID0gYXNuMS5kZWZpbmUoJ0FsZ29yaXRobUlkZW50aWZpZXInLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ2FsZ29yaXRobScpLm9iamlkKCksXFxuICAgIHRoaXMua2V5KCdub25lJykubnVsbF8oKS5vcHRpb25hbCgpLFxcbiAgICB0aGlzLmtleSgnY3VydmUnKS5vYmppZCgpLm9wdGlvbmFsKCksXFxuICAgIHRoaXMua2V5KCdwYXJhbXMnKS5zZXEoKS5vYmooXFxuICAgICAgdGhpcy5rZXkoJ3AnKS5pbnQoKSxcXG4gICAgICB0aGlzLmtleSgncScpLmludCgpLFxcbiAgICAgIHRoaXMua2V5KCdnJykuaW50KClcXG4gICAgKS5vcHRpb25hbCgpXFxuICApXFxufSlcXG5cXG52YXIgUHJpdmF0ZUtleUluZm8gPSBhc24xLmRlZmluZSgnUHJpdmF0ZUtleUluZm8nLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ3ZlcnNpb24nKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ2FsZ29yaXRobScpLnVzZShBbGdvcml0aG1JZGVudGlmaWVyKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQcml2YXRlS2V5Jykub2N0c3RyKClcXG4gIClcXG59KVxcbmV4cG9ydHMuUHJpdmF0ZUtleSA9IFByaXZhdGVLZXlJbmZvXFxudmFyIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvID0gYXNuMS5kZWZpbmUoJ0VuY3J5cHRlZFByaXZhdGVLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCdhbGdvcml0aG0nKS5zZXEoKS5vYmooXFxuICAgICAgdGhpcy5rZXkoJ2lkJykub2JqaWQoKSxcXG4gICAgICB0aGlzLmtleSgnZGVjcnlwdCcpLnNlcSgpLm9iaihcXG4gICAgICAgIHRoaXMua2V5KCdrZGUnKS5zZXEoKS5vYmooXFxuICAgICAgICAgIHRoaXMua2V5KCdpZCcpLm9iamlkKCksXFxuICAgICAgICAgIHRoaXMua2V5KCdrZGVwYXJhbXMnKS5zZXEoKS5vYmooXFxuICAgICAgICAgICAgdGhpcy5rZXkoJ3NhbHQnKS5vY3RzdHIoKSxcXG4gICAgICAgICAgICB0aGlzLmtleSgnaXRlcnMnKS5pbnQoKVxcbiAgICAgICAgICApXFxuICAgICAgICApLFxcbiAgICAgICAgdGhpcy5rZXkoJ2NpcGhlcicpLnNlcSgpLm9iaihcXG4gICAgICAgICAgdGhpcy5rZXkoJ2FsZ28nKS5vYmppZCgpLFxcbiAgICAgICAgICB0aGlzLmtleSgnaXYnKS5vY3RzdHIoKVxcbiAgICAgICAgKVxcbiAgICAgIClcXG4gICAgKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQcml2YXRlS2V5Jykub2N0c3RyKClcXG4gIClcXG59KVxcblxcbmV4cG9ydHMuRW5jcnlwdGVkUHJpdmF0ZUtleSA9IEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvXFxuXFxudmFyIERTQVByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnRFNBUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxcbiAgICB0aGlzLmtleSgncCcpLmludCgpLFxcbiAgICB0aGlzLmtleSgncScpLmludCgpLFxcbiAgICB0aGlzLmtleSgnZycpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHViX2tleScpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHJpdl9rZXknKS5pbnQoKVxcbiAgKVxcbn0pXFxuZXhwb3J0cy5EU0FQcml2YXRlS2V5ID0gRFNBUHJpdmF0ZUtleVxcblxcbmV4cG9ydHMuRFNBcGFyYW0gPSBhc24xLmRlZmluZSgnRFNBcGFyYW0nLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLmludCgpXFxufSlcXG5cXG52YXIgRUNQcml2YXRlS2V5ID0gYXNuMS5kZWZpbmUoJ0VDUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHJpdmF0ZUtleScpLm9jdHN0cigpLFxcbiAgICB0aGlzLmtleSgncGFyYW1ldGVycycpLm9wdGlvbmFsKCkuZXhwbGljaXQoMCkudXNlKEVDUGFyYW1ldGVycyksXFxuICAgIHRoaXMua2V5KCdwdWJsaWNLZXknKS5vcHRpb25hbCgpLmV4cGxpY2l0KDEpLmJpdHN0cigpXFxuICApXFxufSlcXG5leHBvcnRzLkVDUHJpdmF0ZUtleSA9IEVDUHJpdmF0ZUtleVxcblxcbnZhciBFQ1BhcmFtZXRlcnMgPSBhc24xLmRlZmluZSgnRUNQYXJhbWV0ZXJzJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5jaG9pY2Uoe1xcbiAgICBuYW1lZEN1cnZlOiB0aGlzLm9iamlkKClcXG4gIH0pXFxufSlcXG5cXG5leHBvcnRzLnNpZ25hdHVyZSA9IGFzbjEuZGVmaW5lKCdzaWduYXR1cmUnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ3InKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ3MnKS5pbnQoKVxcbiAgKVxcbn0pXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WVhKelpTMWhjMjR4TDJGemJqRXVhbk0vT0RRelpTSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMWs3TzBGQlJWb3NWMEZCVnl4dFFrRkJUeXhEUVVGRExHMUVRVUZUT3p0QlFVVTFRaXh6UWtGQmMwSXNiVUpCUVU4c1EwRkJReXdyUkVGQlpUczdRVUZGTjBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y0dGeWMyVXRZWE51TVM5aGMyNHhMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnWm5KdmJTQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZhVzVrZFhSdWVTOXpaV3htTFhOcFoyNWxaQzlpYkc5aUwyZG9MWEJoWjJWekwyeHBZaTloYzI0eExtcHpYRzR2THlCR1pXUnZjaXdnZVc5MUlHRnlaU0JoYldGNmFXNW5MbHh1SjNWelpTQnpkSEpwWTNRblhHNWNiblpoY2lCaGMyNHhJRDBnY21WeGRXbHlaU2duWVhOdU1TNXFjeWNwWEc1Y2JtVjRjRzl5ZEhNdVkyVnlkR2xtYVdOaGRHVWdQU0J5WlhGMWFYSmxLQ2N1TDJObGNuUnBabWxqWVhSbEp5bGNibHh1ZG1GeUlGSlRRVkJ5YVhaaGRHVkxaWGtnUFNCaGMyNHhMbVJsWm1sdVpTZ25VbE5CVUhKcGRtRjBaVXRsZVNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhFb0tTNXZZbW9vWEc0Z0lDQWdkR2hwY3k1clpYa29KM1psY25OcGIyNG5LUzVwYm5Rb0tTeGNiaUFnSUNCMGFHbHpMbXRsZVNnbmJXOWtkV3gxY3ljcExtbHVkQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2R3ZFdKc2FXTkZlSEJ2Ym1WdWRDY3BMbWx1ZENncExGeHVJQ0FnSUhSb2FYTXVhMlY1S0Nkd2NtbDJZWFJsUlhod2IyNWxiblFuS1M1cGJuUW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jSEpwYldVeEp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCeWFXMWxNaWNwTG1sdWRDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZGxlSEJ2Ym1WdWRERW5LUzVwYm5Rb0tTeGNiaUFnSUNCMGFHbHpMbXRsZVNnblpYaHdiMjVsYm5ReUp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJOdlpXWm1hV05wWlc1MEp5a3VhVzUwS0NsY2JpQWdLVnh1ZlNsY2JtVjRjRzl5ZEhNdVVsTkJVSEpwZG1GMFpVdGxlU0E5SUZKVFFWQnlhWFpoZEdWTFpYbGNibHh1ZG1GeUlGSlRRVkIxWW14cFkwdGxlU0E5SUdGemJqRXVaR1ZtYVc1bEtDZFNVMEZRZFdKc2FXTkxaWGtuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjMlZ4S0NrdWIySnFLRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHRiMlIxYkhWekp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCMVlteHBZMFY0Y0c5dVpXNTBKeWt1YVc1MEtDbGNiaUFnS1Z4dWZTbGNibVY0Y0c5eWRITXVVbE5CVUhWaWJHbGpTMlY1SUQwZ1VsTkJVSFZpYkdsalMyVjVYRzVjYm5aaGNpQlFkV0pzYVdOTFpYa2dQU0JoYzI0eExtUmxabWx1WlNnblUzVmlhbVZqZEZCMVlteHBZMHRsZVVsdVptOG5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdWMyVnhLQ2t1YjJKcUtGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkaGJHZHZjbWwwYUcwbktTNTFjMlVvUVd4bmIzSnBkR2h0U1dSbGJuUnBabWxsY2lrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNOMVltcGxZM1JRZFdKc2FXTkxaWGtuS1M1aWFYUnpkSElvS1Z4dUlDQXBYRzU5S1Z4dVpYaHdiM0owY3k1UWRXSnNhV05MWlhrZ1BTQlFkV0pzYVdOTFpYbGNibHh1ZG1GeUlFRnNaMjl5YVhSb2JVbGtaVzUwYVdacFpYSWdQU0JoYzI0eExtUmxabWx1WlNnblFXeG5iM0pwZEdodFNXUmxiblJwWm1sbGNpY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJGc1oyOXlhWFJvYlNjcExtOWlhbWxrS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjI1dmJtVW5LUzV1ZFd4c1h5Z3BMbTl3ZEdsdmJtRnNLQ2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KMk4xY25abEp5a3ViMkpxYVdRb0tTNXZjSFJwYjI1aGJDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHdZWEpoYlhNbktTNXpaWEVvS1M1dlltb29YRzRnSUNBZ0lDQjBhR2x6TG10bGVTZ25jQ2NwTG1sdWRDZ3BMRnh1SUNBZ0lDQWdkR2hwY3k1clpYa29KM0VuS1M1cGJuUW9LU3hjYmlBZ0lDQWdJSFJvYVhNdWEyVjVLQ2RuSnlrdWFXNTBLQ2xjYmlBZ0lDQXBMbTl3ZEdsdmJtRnNLQ2xjYmlBZ0tWeHVmU2xjYmx4dWRtRnlJRkJ5YVhaaGRHVkxaWGxKYm1adklEMGdZWE51TVM1a1pXWnBibVVvSjFCeWFYWmhkR1ZMWlhsSmJtWnZKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUdsekxuTmxjU2dwTG05aWFpaGNiaUFnSUNCMGFHbHpMbXRsZVNnbmRtVnljMmx2YmljcExtbHVkQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2RoYkdkdmNtbDBhRzBuS1M1MWMyVW9RV3huYjNKcGRHaHRTV1JsYm5ScFptbGxjaWtzWEc0Z0lDQWdkR2hwY3k1clpYa29KM04xWW1wbFkzUlFjbWwyWVhSbFMyVjVKeWt1YjJOMGMzUnlLQ2xjYmlBZ0tWeHVmU2xjYm1WNGNHOXlkSE11VUhKcGRtRjBaVXRsZVNBOUlGQnlhWFpoZEdWTFpYbEpibVp2WEc1MllYSWdSVzVqY25sd2RHVmtVSEpwZG1GMFpVdGxlVWx1Wm04Z1BTQmhjMjR4TG1SbFptbHVaU2duUlc1amNubHdkR1ZrVUhKcGRtRjBaVXRsZVVsdVptOG5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdWMyVnhLQ2t1YjJKcUtGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkaGJHZHZjbWwwYUcwbktTNXpaWEVvS1M1dlltb29YRzRnSUNBZ0lDQjBhR2x6TG10bGVTZ25hV1FuS1M1dlltcHBaQ2dwTEZ4dUlDQWdJQ0FnZEdocGN5NXJaWGtvSjJSbFkzSjVjSFFuS1M1elpYRW9LUzV2WW1vb1hHNGdJQ0FnSUNBZ0lIUm9hWE11YTJWNUtDZHJaR1VuS1M1elpYRW9LUzV2WW1vb1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1clpYa29KMmxrSnlrdWIySnFhV1FvS1N4Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG10bGVTZ25hMlJsY0dGeVlXMXpKeWt1YzJWeEtDa3ViMkpxS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1clpYa29KM05oYkhRbktTNXZZM1J6ZEhJb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhMlY1S0NkcGRHVnljeWNwTG1sdWRDZ3BYRzRnSUNBZ0lDQWdJQ0FnS1Z4dUlDQWdJQ0FnSUNBcExGeHVJQ0FnSUNBZ0lDQjBhR2x6TG10bGVTZ25ZMmx3YUdWeUp5a3VjMlZ4S0NrdWIySnFLRnh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVhMlY1S0NkaGJHZHZKeWt1YjJKcWFXUW9LU3hjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbXRsZVNnbmFYWW5LUzV2WTNSemRISW9LVnh1SUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FwWEc0Z0lDQWdLU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jM1ZpYW1WamRGQnlhWFpoZEdWTFpYa25LUzV2WTNSemRISW9LVnh1SUNBcFhHNTlLVnh1WEc1bGVIQnZjblJ6TGtWdVkzSjVjSFJsWkZCeWFYWmhkR1ZMWlhrZ1BTQkZibU55ZVhCMFpXUlFjbWwyWVhSbFMyVjVTVzVtYjF4dVhHNTJZWElnUkZOQlVISnBkbUYwWlV0bGVTQTlJR0Z6YmpFdVpHVm1hVzVsS0NkRVUwRlFjbWwyWVhSbFMyVjVKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUdsekxuTmxjU2dwTG05aWFpaGNiaUFnSUNCMGFHbHpMbXRsZVNnbmRtVnljMmx2YmljcExtbHVkQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2R3SnlrdWFXNTBLQ2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KM0VuS1M1cGJuUW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25aeWNwTG1sdWRDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHdkV0pmYTJWNUp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCeWFYWmZhMlY1SnlrdWFXNTBLQ2xjYmlBZ0tWeHVmU2xjYm1WNGNHOXlkSE11UkZOQlVISnBkbUYwWlV0bGVTQTlJRVJUUVZCeWFYWmhkR1ZMWlhsY2JseHVaWGh3YjNKMGN5NUVVMEZ3WVhKaGJTQTlJR0Z6YmpFdVpHVm1hVzVsS0NkRVUwRndZWEpoYlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTVwYm5Rb0tWeHVmU2xjYmx4dWRtRnlJRVZEVUhKcGRtRjBaVXRsZVNBOUlHRnpiakV1WkdWbWFXNWxLQ2RGUTFCeWFYWmhkR1ZMWlhrbkxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11YzJWeEtDa3ViMkpxS0Z4dUlDQWdJSFJvYVhNdWEyVjVLQ2QyWlhKemFXOXVKeWt1YVc1MEtDa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozQnlhWFpoZEdWTFpYa25LUzV2WTNSemRISW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jR0Z5WVcxbGRHVnljeWNwTG05d2RHbHZibUZzS0NrdVpYaHdiR2xqYVhRb01Da3VkWE5sS0VWRFVHRnlZVzFsZEdWeWN5a3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozQjFZbXhwWTB0bGVTY3BMbTl3ZEdsdmJtRnNLQ2t1Wlhod2JHbGphWFFvTVNrdVltbDBjM1J5S0NsY2JpQWdLVnh1ZlNsY2JtVjRjRzl5ZEhNdVJVTlFjbWwyWVhSbFMyVjVJRDBnUlVOUWNtbDJZWFJsUzJWNVhHNWNiblpoY2lCRlExQmhjbUZ0WlhSbGNuTWdQU0JoYzI0eExtUmxabWx1WlNnblJVTlFZWEpoYldWMFpYSnpKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUdsekxtTm9iMmxqWlNoN1hHNGdJQ0FnYm1GdFpXUkRkWEoyWlRvZ2RHaHBjeTV2WW1wcFpDZ3BYRzRnSUgwcFhHNTlLVnh1WEc1bGVIQnZjblJ6TG5OcFoyNWhkSFZ5WlNBOUlHRnpiakV1WkdWbWFXNWxLQ2R6YVdkdVlYUjFjbVVuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjMlZ4S0NrdWIySnFLRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHlKeWt1YVc1MEtDa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozTW5LUzVwYm5Rb0tWeHVJQ0FwWEc1OUtWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYXNuMS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9jZXJ0aWZpY2F0ZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvY2VydGlmaWNhdGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9SYW50YW5lbi9ub2RlLWR0bHMvYmxvYi8yNWE3ZGM4NjFiZGEzOGNmZWFjOTNhNzIzNTAwZWVhNGYwYWMyZTg2L0NlcnRpZmljYXRlLmpzXFxuLy8gdGhhbmtzIHRvIEBSYW50YW5lblxcblxcblxcblxcbnZhciBhc24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBhc24xLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIilcXG5cXG52YXIgVGltZSA9IGFzbi5kZWZpbmUoJ1RpbWUnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLmNob2ljZSh7XFxuICAgIHV0Y1RpbWU6IHRoaXMudXRjdGltZSgpLFxcbiAgICBnZW5lcmFsVGltZTogdGhpcy5nZW50aW1lKClcXG4gIH0pXFxufSlcXG5cXG52YXIgQXR0cmlidXRlVHlwZVZhbHVlID0gYXNuLmRlZmluZSgnQXR0cmlidXRlVHlwZVZhbHVlJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCd0eXBlJykub2JqaWQoKSxcXG4gICAgdGhpcy5rZXkoJ3ZhbHVlJykuYW55KClcXG4gIClcXG59KVxcblxcbnZhciBBbGdvcml0aG1JZGVudGlmaWVyID0gYXNuLmRlZmluZSgnQWxnb3JpdGhtSWRlbnRpZmllcicsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykub2JqaWQoKSxcXG4gICAgdGhpcy5rZXkoJ3BhcmFtZXRlcnMnKS5vcHRpb25hbCgpLFxcbiAgICB0aGlzLmtleSgnY3VydmUnKS5vYmppZCgpLm9wdGlvbmFsKClcXG4gIClcXG59KVxcblxcbnZhciBTdWJqZWN0UHVibGljS2V5SW5mbyA9IGFzbi5kZWZpbmUoJ1N1YmplY3RQdWJsaWNLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCdhbGdvcml0aG0nKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5JykuYml0c3RyKClcXG4gIClcXG59KVxcblxcbnZhciBSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lID0gYXNuLmRlZmluZSgnUmVsYXRpdmVEaXN0aW5ndWlzaGVkTmFtZScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2V0b2YoQXR0cmlidXRlVHlwZVZhbHVlKVxcbn0pXFxuXFxudmFyIFJETlNlcXVlbmNlID0gYXNuLmRlZmluZSgnUkROU2VxdWVuY2UnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcW9mKFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUpXFxufSlcXG5cXG52YXIgTmFtZSA9IGFzbi5kZWZpbmUoJ05hbWUnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLmNob2ljZSh7XFxuICAgIHJkblNlcXVlbmNlOiB0aGlzLnVzZShSRE5TZXF1ZW5jZSlcXG4gIH0pXFxufSlcXG5cXG52YXIgVmFsaWRpdHkgPSBhc24uZGVmaW5lKCdWYWxpZGl0eScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgnbm90QmVmb3JlJykudXNlKFRpbWUpLFxcbiAgICB0aGlzLmtleSgnbm90QWZ0ZXInKS51c2UoVGltZSlcXG4gIClcXG59KVxcblxcbnZhciBFeHRlbnNpb24gPSBhc24uZGVmaW5lKCdFeHRlbnNpb24nLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ2V4dG5JRCcpLm9iamlkKCksXFxuICAgIHRoaXMua2V5KCdjcml0aWNhbCcpLmJvb2woKS5kZWYoZmFsc2UpLFxcbiAgICB0aGlzLmtleSgnZXh0blZhbHVlJykub2N0c3RyKClcXG4gIClcXG59KVxcblxcbnZhciBUQlNDZXJ0aWZpY2F0ZSA9IGFzbi5kZWZpbmUoJ1RCU0NlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCd2ZXJzaW9uJykuZXhwbGljaXQoMCkuaW50KCkub3B0aW9uYWwoKSxcXG4gICAgdGhpcy5rZXkoJ3NlcmlhbE51bWJlcicpLmludCgpLFxcbiAgICB0aGlzLmtleSgnc2lnbmF0dXJlJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxcbiAgICB0aGlzLmtleSgnaXNzdWVyJykudXNlKE5hbWUpLFxcbiAgICB0aGlzLmtleSgndmFsaWRpdHknKS51c2UoVmFsaWRpdHkpLFxcbiAgICB0aGlzLmtleSgnc3ViamVjdCcpLnVzZShOYW1lKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQdWJsaWNLZXlJbmZvJykudXNlKFN1YmplY3RQdWJsaWNLZXlJbmZvKSxcXG4gICAgdGhpcy5rZXkoJ2lzc3VlclVuaXF1ZUlEJykuaW1wbGljaXQoMSkuYml0c3RyKCkub3B0aW9uYWwoKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RVbmlxdWVJRCcpLmltcGxpY2l0KDIpLmJpdHN0cigpLm9wdGlvbmFsKCksXFxuICAgIHRoaXMua2V5KCdleHRlbnNpb25zJykuZXhwbGljaXQoMykuc2Vxb2YoRXh0ZW5zaW9uKS5vcHRpb25hbCgpXFxuICApXFxufSlcXG5cXG52YXIgWDUwOUNlcnRpZmljYXRlID0gYXNuLmRlZmluZSgnWDUwOUNlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCd0YnNDZXJ0aWZpY2F0ZScpLnVzZShUQlNDZXJ0aWZpY2F0ZSksXFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmVBbGdvcml0aG0nKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmVWYWx1ZScpLmJpdHN0cigpXFxuICApXFxufSlcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFg1MDlDZXJ0aWZpY2F0ZVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwyTmxjblJwWm1sallYUmxMbXB6UDJaaU56Z2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUczdRVUZGV1RzN1FVRkZXaXhWUVVGVkxHMUNRVUZQTEVOQlFVTXNiVVJCUVZNN08wRkJSVE5DTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSUxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZ3NRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRUlpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNCaGNuTmxMV0Z6YmpFdlkyVnlkR2xtYVdOaGRHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJtY205dElHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOVNZVzUwWVc1bGJpOXViMlJsTFdSMGJITXZZbXh2WWk4eU5XRTNaR000TmpGaVpHRXpPR05tWldGak9UTmhOekl6TlRBd1pXVmhOR1l3WVdNeVpUZzJMME5sY25ScFptbGpZWFJsTG1welhHNHZMeUIwYUdGdWEzTWdkRzhnUUZKaGJuUmhibVZ1WEc1Y2JpZDFjMlVnYzNSeWFXTjBKMXh1WEc1MllYSWdZWE51SUQwZ2NtVnhkV2x5WlNnbllYTnVNUzVxY3ljcFhHNWNiblpoY2lCVWFXMWxJRDBnWVhOdUxtUmxabWx1WlNnblZHbHRaU2NzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NWphRzlwWTJVb2UxeHVJQ0FnSUhWMFkxUnBiV1U2SUhSb2FYTXVkWFJqZEdsdFpTZ3BMRnh1SUNBZ0lHZGxibVZ5WVd4VWFXMWxPaUIwYUdsekxtZGxiblJwYldVb0tWeHVJQ0I5S1Z4dWZTbGNibHh1ZG1GeUlFRjBkSEpwWW5WMFpWUjVjR1ZXWVd4MVpTQTlJR0Z6Ymk1a1pXWnBibVVvSjBGMGRISnBZblYwWlZSNWNHVldZV3gxWlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhFb0tTNXZZbW9vWEc0Z0lDQWdkR2hwY3k1clpYa29KM1I1Y0dVbktTNXZZbXBwWkNncExGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkMllXeDFaU2NwTG1GdWVTZ3BYRzRnSUNsY2JuMHBYRzVjYm5aaGNpQkJiR2R2Y21sMGFHMUpaR1Z1ZEdsbWFXVnlJRDBnWVhOdUxtUmxabWx1WlNnblFXeG5iM0pwZEdodFNXUmxiblJwWm1sbGNpY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJGc1oyOXlhWFJvYlNjcExtOWlhbWxrS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCaGNtRnRaWFJsY25NbktTNXZjSFJwYjI1aGJDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZGpkWEoyWlNjcExtOWlhbWxrS0NrdWIzQjBhVzl1WVd3b0tWeHVJQ0FwWEc1OUtWeHVYRzUyWVhJZ1UzVmlhbVZqZEZCMVlteHBZMHRsZVVsdVptOGdQU0JoYzI0dVpHVm1hVzVsS0NkVGRXSnFaV04wVUhWaWJHbGpTMlY1U1c1bWJ5Y3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJGc1oyOXlhWFJvYlNjcExuVnpaU2hCYkdkdmNtbDBhRzFKWkdWdWRHbG1hV1Z5S1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzNWaWFtVmpkRkIxWW14cFkwdGxlU2NwTG1KcGRITjBjaWdwWEc0Z0lDbGNibjBwWEc1Y2JuWmhjaUJTWld4aGRHbDJaVVJwYzNScGJtZDFhWE5vWldST1lXMWxJRDBnWVhOdUxtUmxabWx1WlNnblVtVnNZWFJwZG1WRWFYTjBhVzVuZFdsemFHVmtUbUZ0WlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhSdlppaEJkSFJ5YVdKMWRHVlVlWEJsVm1Gc2RXVXBYRzU5S1Z4dVhHNTJZWElnVWtST1UyVnhkV1Z1WTJVZ1BTQmhjMjR1WkdWbWFXNWxLQ2RTUkU1VFpYRjFaVzVqWlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhGdlppaFNaV3hoZEdsMlpVUnBjM1JwYm1kMWFYTm9aV1JPWVcxbEtWeHVmU2xjYmx4dWRtRnlJRTVoYldVZ1BTQmhjMjR1WkdWbWFXNWxLQ2RPWVcxbEp5d2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjBhR2x6TG1Ob2IybGpaU2g3WEc0Z0lDQWdjbVJ1VTJWeGRXVnVZMlU2SUhSb2FYTXVkWE5sS0ZKRVRsTmxjWFZsYm1ObEtWeHVJQ0I5S1Z4dWZTbGNibHh1ZG1GeUlGWmhiR2xrYVhSNUlEMGdZWE51TG1SbFptbHVaU2duVm1Gc2FXUnBkSGtuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjMlZ4S0NrdWIySnFLRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHViM1JDWldadmNtVW5LUzUxYzJVb1ZHbHRaU2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KMjV2ZEVGbWRHVnlKeWt1ZFhObEtGUnBiV1VwWEc0Z0lDbGNibjBwWEc1Y2JuWmhjaUJGZUhSbGJuTnBiMjRnUFNCaGMyNHVaR1ZtYVc1bEtDZEZlSFJsYm5OcGIyNG5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdWMyVnhLQ2t1YjJKcUtGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkbGVIUnVTVVFuS1M1dlltcHBaQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2RqY21sMGFXTmhiQ2NwTG1KdmIyd29LUzVrWldZb1ptRnNjMlVwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2RsZUhSdVZtRnNkV1VuS1M1dlkzUnpkSElvS1Z4dUlDQXBYRzU5S1Z4dVhHNTJZWElnVkVKVFEyVnlkR2xtYVdOaGRHVWdQU0JoYzI0dVpHVm1hVzVsS0NkVVFsTkRaWEowYVdacFkyRjBaU2NzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NXpaWEVvS1M1dlltb29YRzRnSUNBZ2RHaHBjeTVyWlhrb0ozWmxjbk5wYjI0bktTNWxlSEJzYVdOcGRDZ3dLUzVwYm5Rb0tTNXZjSFJwYjI1aGJDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHpaWEpwWVd4T2RXMWlaWEluS1M1cGJuUW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jMmxuYm1GMGRYSmxKeWt1ZFhObEtFRnNaMjl5YVhSb2JVbGtaVzUwYVdacFpYSXBMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHBjM04xWlhJbktTNTFjMlVvVG1GdFpTa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozWmhiR2xrYVhSNUp5a3VkWE5sS0ZaaGJHbGthWFI1S1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzNWaWFtVmpkQ2NwTG5WelpTaE9ZVzFsS1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzNWaWFtVmpkRkIxWW14cFkwdGxlVWx1Wm04bktTNTFjMlVvVTNWaWFtVmpkRkIxWW14cFkwdGxlVWx1Wm04cExGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkcGMzTjFaWEpWYm1seGRXVkpSQ2NwTG1sdGNHeHBZMmwwS0RFcExtSnBkSE4wY2lncExtOXdkR2x2Ym1Gc0tDa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozTjFZbXBsWTNSVmJtbHhkV1ZKUkNjcExtbHRjR3hwWTJsMEtESXBMbUpwZEhOMGNpZ3BMbTl3ZEdsdmJtRnNLQ2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KMlY0ZEdWdWMybHZibk1uS1M1bGVIQnNhV05wZENnektTNXpaWEZ2WmloRmVIUmxibk5wYjI0cExtOXdkR2x2Ym1Gc0tDbGNiaUFnS1Z4dWZTbGNibHh1ZG1GeUlGZzFNRGxEWlhKMGFXWnBZMkYwWlNBOUlHRnpiaTVrWldacGJtVW9KMWcxTURsRFpYSjBhV1pwWTJGMFpTY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNSaWMwTmxjblJwWm1sallYUmxKeWt1ZFhObEtGUkNVME5sY25ScFptbGpZWFJsS1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzJsbmJtRjBkWEpsUVd4bmIzSnBkR2h0SnlrdWRYTmxLRUZzWjI5eWFYUm9iVWxrWlc1MGFXWnBaWElwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2R6YVdkdVlYUjFjbVZXWVd4MVpTY3BMbUpwZEhOMGNpZ3BYRzRnSUNsY2JuMHBYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnV0RVd09VTmxjblJwWm1sallYUmxYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvY2VydGlmaWNhdGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvZml4UHJvYy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9maXhQcm9jLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hcGF0aWwvcGVtc3RyaXBcXG52YXIgZmluZFByb2MgPSAvUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRFtcXFxcblxcXFxyXStERUstSW5mbzogQUVTLSgoPzoxMjgpfCg/OjE5Mil8KD86MjU2KSktQ0JDLChbMC05QS1IXSspW1xcXFxuXFxcXHJdKyhbMC05QS16XFxcXG5cXFxcclxcXFwrXFxcXC9cXFxcPV0rKVtcXFxcblxcXFxyXSsvbVxcbnZhciBzdGFydFJlZ2V4ID0gL14tLS0tLUJFR0lOICgoPzouKj8gS0VZKXxDRVJUSUZJQ0FURSktLS0tLS9tXFxudmFyIGZ1bGxSZWdleCA9IC9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0oWzAtOUEtelxcXFxuXFxcXHJcXFxcK1xcXFwvXFxcXD1dKyktLS0tLUVORCBcXFxcMS0tLS0tJC9tXFxudmFyIGV2cCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2cF9ieXRlc3Rva2V5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qc1xcXCIpXFxudmFyIGNpcGhlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9rZXksIHBhc3N3b3JkKSB7XFxuICB2YXIga2V5ID0gb2tleS50b1N0cmluZygpXFxuICB2YXIgbWF0Y2ggPSBrZXkubWF0Y2goZmluZFByb2MpXFxuICB2YXIgZGVjcnlwdGVkXFxuICBpZiAoIW1hdGNoKSB7XFxuICAgIHZhciBtYXRjaDIgPSBrZXkubWF0Y2goZnVsbFJlZ2V4KVxcbiAgICBkZWNyeXB0ZWQgPSBuZXcgQnVmZmVyKG1hdGNoMlsyXS5yZXBsYWNlKC9bXFxcXHJcXFxcbl0vZywgJycpLCAnYmFzZTY0JylcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBzdWl0ZSA9ICdhZXMnICsgbWF0Y2hbMV1cXG4gICAgdmFyIGl2ID0gQnVmZmVyLmZyb20obWF0Y2hbMl0sICdoZXgnKVxcbiAgICB2YXIgY2lwaGVyVGV4dCA9IEJ1ZmZlci5mcm9tKG1hdGNoWzNdLnJlcGxhY2UoL1tcXFxcclxcXFxuXS9nLCAnJyksICdiYXNlNjQnKVxcbiAgICB2YXIgY2lwaGVyS2V5ID0gZXZwKHBhc3N3b3JkLCBpdi5zbGljZSgwLCA4KSwgcGFyc2VJbnQobWF0Y2hbMV0sIDEwKSkua2V5XFxuICAgIHZhciBvdXQgPSBbXVxcbiAgICB2YXIgY2lwaGVyID0gY2lwaGVycy5jcmVhdGVEZWNpcGhlcml2KHN1aXRlLCBjaXBoZXJLZXksIGl2KVxcbiAgICBvdXQucHVzaChjaXBoZXIudXBkYXRlKGNpcGhlclRleHQpKVxcbiAgICBvdXQucHVzaChjaXBoZXIuZmluYWwoKSlcXG4gICAgZGVjcnlwdGVkID0gQnVmZmVyLmNvbmNhdChvdXQpXFxuICB9XFxuICB2YXIgdGFnID0ga2V5Lm1hdGNoKHN0YXJ0UmVnZXgpWzFdXFxuICByZXR1cm4ge1xcbiAgICB0YWc6IHRhZyxcXG4gICAgZGF0YTogZGVjcnlwdGVkXFxuICB9XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwyWnBlRkJ5YjJNdWFuTS9PVFZqWWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc2JVSkJRVThzUTBGQlF5dzRSRUZCWjBJN1FVRkRiRU1zWTBGQll5eHRRa0ZCVHl4RFFVRkRMR2RGUVVGblFqdEJRVU4wUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNHRnljMlV0WVhOdU1TOW1hWGhRY205akxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdZV1JoY0hSbFpDQm1jbTl0SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5aGNHRjBhV3d2Y0dWdGMzUnlhWEJjYm5aaGNpQm1hVzVrVUhKdll5QTlJQzlRY205akxWUjVjR1U2SURRc1JVNURVbGxRVkVWRVcxeGNibHhjY2wwclJFVkxMVWx1Wm04NklFRkZVeTBvS0Q4Nk1USTRLWHdvUHpveE9USXBmQ2cvT2pJMU5pa3BMVU5DUXl3b1d6QXRPVUV0U0YwcktWdGNYRzVjWEhKZEt5aGJNQzA1UVMxNlhGeHVYRnh5WEZ3clhGd3ZYRnc5WFNzcFcxeGNibHhjY2wwckwyMWNiblpoY2lCemRHRnlkRkpsWjJWNElEMGdMMTR0TFMwdExVSkZSMGxPSUNnb1B6b3VLajhnUzBWWktYeERSVkpVU1VaSlEwRlVSU2t0TFMwdExTOXRYRzUyWVhJZ1puVnNiRkpsWjJWNElEMGdMMTR0TFMwdExVSkZSMGxPSUNnb1B6b3VLajhnUzBWWktYeERSVkpVU1VaSlEwRlVSU2t0TFMwdExTaGJNQzA1UVMxNlhGeHVYRnh5WEZ3clhGd3ZYRnc5WFNzcExTMHRMUzFGVGtRZ1hGd3hMUzB0TFMwa0wyMWNiblpoY2lCbGRuQWdQU0J5WlhGMWFYSmxLQ2RsZG5CZllubDBaWE4wYjJ0bGVTY3BYRzUyWVhJZ1kybHdhR1Z5Y3lBOUlISmxjWFZwY21Vb0oySnliM2R6WlhKcFpua3RZV1Z6SnlsY2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2R6WVdabExXSjFabVpsY2ljcExrSjFabVpsY2x4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2IydGxlU3dnY0dGemMzZHZjbVFwSUh0Y2JpQWdkbUZ5SUd0bGVTQTlJRzlyWlhrdWRHOVRkSEpwYm1jb0tWeHVJQ0IyWVhJZ2JXRjBZMmdnUFNCclpYa3ViV0YwWTJnb1ptbHVaRkJ5YjJNcFhHNGdJSFpoY2lCa1pXTnllWEIwWldSY2JpQWdhV1lnS0NGdFlYUmphQ2tnZTF4dUlDQWdJSFpoY2lCdFlYUmphRElnUFNCclpYa3ViV0YwWTJnb1puVnNiRkpsWjJWNEtWeHVJQ0FnSUdSbFkzSjVjSFJsWkNBOUlHNWxkeUJDZFdabVpYSW9iV0YwWTJneVd6SmRMbkpsY0d4aFkyVW9MMXRjWEhKY1hHNWRMMmNzSUNjbktTd2dKMkpoYzJVMk5DY3BYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUhOMWFYUmxJRDBnSjJGbGN5Y2dLeUJ0WVhSamFGc3hYVnh1SUNBZ0lIWmhjaUJwZGlBOUlFSjFabVpsY2k1bWNtOXRLRzFoZEdOb1d6SmRMQ0FuYUdWNEp5bGNiaUFnSUNCMllYSWdZMmx3YUdWeVZHVjRkQ0E5SUVKMVptWmxjaTVtY205dEtHMWhkR05vV3pOZExuSmxjR3hoWTJVb0wxdGNYSEpjWEc1ZEwyY3NJQ2NuS1N3Z0oySmhjMlUyTkNjcFhHNGdJQ0FnZG1GeUlHTnBjR2hsY2t0bGVTQTlJR1YyY0Nod1lYTnpkMjl5WkN3Z2FYWXVjMnhwWTJVb01Dd2dPQ2tzSUhCaGNuTmxTVzUwS0cxaGRHTm9XekZkTENBeE1Da3BMbXRsZVZ4dUlDQWdJSFpoY2lCdmRYUWdQU0JiWFZ4dUlDQWdJSFpoY2lCamFYQm9aWElnUFNCamFYQm9aWEp6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlvYzNWcGRHVXNJR05wY0dobGNrdGxlU3dnYVhZcFhHNGdJQ0FnYjNWMExuQjFjMmdvWTJsd2FHVnlMblZ3WkdGMFpTaGphWEJvWlhKVVpYaDBLU2xjYmlBZ0lDQnZkWFF1Y0hWemFDaGphWEJvWlhJdVptbHVZV3dvS1NsY2JpQWdJQ0JrWldOeWVYQjBaV1FnUFNCQ2RXWm1aWEl1WTI5dVkyRjBLRzkxZENsY2JpQWdmVnh1SUNCMllYSWdkR0ZuSUQwZ2EyVjVMbTFoZEdOb0tITjBZWEowVW1WblpYZ3BXekZkWEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnZEdGbk9pQjBZV2NzWEc0Z0lDQWdaR0YwWVRvZ1pHVmpjbmx3ZEdWa1hHNGdJSDFjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9maXhQcm9jLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgYXNuMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9hc24xLmpzXFxcIilcXG52YXIgYWVzaWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Flc2lkLmpzb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYWVzaWQuanNvblxcXCIpXFxudmFyIGZpeFByb2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ZpeFByb2MgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvZml4UHJvYy5qc1xcXCIpXFxudmFyIGNpcGhlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qc1xcXCIpXFxudmFyIGNvbXBhdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBia2RmMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5tb2R1bGUuZXhwb3J0cyA9IHBhcnNlS2V5c1xcblxcbmZ1bmN0aW9uIHBhcnNlS2V5cyAoYnVmZmVyKSB7XFxuICB2YXIgcGFzc3dvcmRcXG4gIGlmICh0eXBlb2YgYnVmZmVyID09PSAnb2JqZWN0JyAmJiAhQnVmZmVyLmlzQnVmZmVyKGJ1ZmZlcikpIHtcXG4gICAgcGFzc3dvcmQgPSBidWZmZXIucGFzc3BocmFzZVxcbiAgICBidWZmZXIgPSBidWZmZXIua2V5XFxuICB9XFxuICBpZiAodHlwZW9mIGJ1ZmZlciA9PT0gJ3N0cmluZycpIHtcXG4gICAgYnVmZmVyID0gQnVmZmVyLmZyb20oYnVmZmVyKVxcbiAgfVxcblxcbiAgdmFyIHN0cmlwcGVkID0gZml4UHJvYyhidWZmZXIsIHBhc3N3b3JkKVxcblxcbiAgdmFyIHR5cGUgPSBzdHJpcHBlZC50YWdcXG4gIHZhciBkYXRhID0gc3RyaXBwZWQuZGF0YVxcbiAgdmFyIHN1YnR5cGUsIG5kYXRhXFxuICBzd2l0Y2ggKHR5cGUpIHtcXG4gICAgY2FzZSAnQ0VSVElGSUNBVEUnOlxcbiAgICAgIG5kYXRhID0gYXNuMS5jZXJ0aWZpY2F0ZS5kZWNvZGUoZGF0YSwgJ2RlcicpLnRic0NlcnRpZmljYXRlLnN1YmplY3RQdWJsaWNLZXlJbmZvXFxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxcbiAgICBjYXNlICdQVUJMSUMgS0VZJzpcXG4gICAgICBpZiAoIW5kYXRhKSB7XFxuICAgICAgICBuZGF0YSA9IGFzbjEuUHVibGljS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgICB9XFxuICAgICAgc3VidHlwZSA9IG5kYXRhLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbignLicpXFxuICAgICAgc3dpdGNoIChzdWJ0eXBlKSB7XFxuICAgICAgICBjYXNlICcxLjIuODQwLjExMzU0OS4xLjEuMSc6XFxuICAgICAgICAgIHJldHVybiBhc24xLlJTQVB1YmxpY0tleS5kZWNvZGUobmRhdGEuc3ViamVjdFB1YmxpY0tleS5kYXRhLCAnZGVyJylcXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDUuMi4xJzpcXG4gICAgICAgICAgbmRhdGEuc3ViamVjdFByaXZhdGVLZXkgPSBuZGF0YS5zdWJqZWN0UHVibGljS2V5XFxuICAgICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgdHlwZTogJ2VjJyxcXG4gICAgICAgICAgICBkYXRhOiBuZGF0YVxcbiAgICAgICAgICB9XFxuICAgICAgICBjYXNlICcxLjIuODQwLjEwMDQwLjQuMSc6XFxuICAgICAgICAgIG5kYXRhLmFsZ29yaXRobS5wYXJhbXMucHViX2tleSA9IGFzbjEuRFNBcGFyYW0uZGVjb2RlKG5kYXRhLnN1YmplY3RQdWJsaWNLZXkuZGF0YSwgJ2RlcicpXFxuICAgICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgdHlwZTogJ2RzYScsXFxuICAgICAgICAgICAgZGF0YTogbmRhdGEuYWxnb3JpdGhtLnBhcmFtc1xcbiAgICAgICAgICB9XFxuICAgICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24ga2V5IGlkICcgKyBzdWJ0eXBlKVxcbiAgICAgIH1cXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24ga2V5IHR5cGUgJyArIHR5cGUpXFxuICAgIGNhc2UgJ0VOQ1JZUFRFRCBQUklWQVRFIEtFWSc6XFxuICAgICAgZGF0YSA9IGFzbjEuRW5jcnlwdGVkUHJpdmF0ZUtleS5kZWNvZGUoZGF0YSwgJ2RlcicpXFxuICAgICAgZGF0YSA9IGRlY3J5cHQoZGF0YSwgcGFzc3dvcmQpXFxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxcbiAgICBjYXNlICdQUklWQVRFIEtFWSc6XFxuICAgICAgbmRhdGEgPSBhc24xLlByaXZhdGVLZXkuZGVjb2RlKGRhdGEsICdkZXInKVxcbiAgICAgIHN1YnR5cGUgPSBuZGF0YS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oJy4nKVxcbiAgICAgIHN3aXRjaCAoc3VidHlwZSkge1xcbiAgICAgICAgY2FzZSAnMS4yLjg0MC4xMTM1NDkuMS4xLjEnOlxcbiAgICAgICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSwgJ2RlcicpXFxuICAgICAgICBjYXNlICcxLjIuODQwLjEwMDQ1LjIuMSc6XFxuICAgICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgY3VydmU6IG5kYXRhLmFsZ29yaXRobS5jdXJ2ZSxcXG4gICAgICAgICAgICBwcml2YXRlS2V5OiBhc24xLkVDUHJpdmF0ZUtleS5kZWNvZGUobmRhdGEuc3ViamVjdFByaXZhdGVLZXksICdkZXInKS5wcml2YXRlS2V5XFxuICAgICAgICAgIH1cXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDAuNC4xJzpcXG4gICAgICAgICAgbmRhdGEuYWxnb3JpdGhtLnBhcmFtcy5wcml2X2tleSA9IGFzbjEuRFNBcGFyYW0uZGVjb2RlKG5kYXRhLnN1YmplY3RQcml2YXRlS2V5LCAnZGVyJylcXG4gICAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgICB0eXBlOiAnZHNhJyxcXG4gICAgICAgICAgICBwYXJhbXM6IG5kYXRhLmFsZ29yaXRobS5wYXJhbXNcXG4gICAgICAgICAgfVxcbiAgICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSBpZCAnICsgc3VidHlwZSlcXG4gICAgICB9XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxcbiAgICBjYXNlICdSU0EgUFVCTElDIEtFWSc6XFxuICAgICAgcmV0dXJuIGFzbjEuUlNBUHVibGljS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgY2FzZSAnUlNBIFBSSVZBVEUgS0VZJzpcXG4gICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgY2FzZSAnRFNBIFBSSVZBVEUgS0VZJzpcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgdHlwZTogJ2RzYScsXFxuICAgICAgICBwYXJhbXM6IGFzbjEuRFNBUHJpdmF0ZUtleS5kZWNvZGUoZGF0YSwgJ2RlcicpXFxuICAgICAgfVxcbiAgICBjYXNlICdFQyBQUklWQVRFIEtFWSc6XFxuICAgICAgZGF0YSA9IGFzbjEuRUNQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgY3VydmU6IGRhdGEucGFyYW1ldGVycy52YWx1ZSxcXG4gICAgICAgIHByaXZhdGVLZXk6IGRhdGEucHJpdmF0ZUtleVxcbiAgICAgIH1cXG4gICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxcbiAgfVxcbn1cXG5wYXJzZUtleXMuc2lnbmF0dXJlID0gYXNuMS5zaWduYXR1cmVcXG5mdW5jdGlvbiBkZWNyeXB0IChkYXRhLCBwYXNzd29yZCkge1xcbiAgdmFyIHNhbHQgPSBkYXRhLmFsZ29yaXRobS5kZWNyeXB0LmtkZS5rZGVwYXJhbXMuc2FsdFxcbiAgdmFyIGl0ZXJzID0gcGFyc2VJbnQoZGF0YS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5nKCksIDEwKVxcbiAgdmFyIGFsZ28gPSBhZXNpZFtkYXRhLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5hbGdvLmpvaW4oJy4nKV1cXG4gIHZhciBpdiA9IGRhdGEuYWxnb3JpdGhtLmRlY3J5cHQuY2lwaGVyLml2XFxuICB2YXIgY2lwaGVyVGV4dCA9IGRhdGEuc3ViamVjdFByaXZhdGVLZXlcXG4gIHZhciBrZXlsZW4gPSBwYXJzZUludChhbGdvLnNwbGl0KCctJylbMV0sIDEwKSAvIDhcXG4gIHZhciBrZXkgPSBjb21wYXQucGJrZGYyU3luYyhwYXNzd29yZCwgc2FsdCwgaXRlcnMsIGtleWxlbiwgJ3NoYTEnKVxcbiAgdmFyIGNpcGhlciA9IGNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdihhbGdvLCBrZXksIGl2KVxcbiAgdmFyIG91dCA9IFtdXFxuICBvdXQucHVzaChjaXBoZXIudXBkYXRlKGNpcGhlclRleHQpKVxcbiAgb3V0LnB1c2goY2lwaGVyLmZpbmFsKCkpXFxuICByZXR1cm4gQnVmZmVyLmNvbmNhdChvdXQpXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwybHVaR1Y0TG1welAyRmxNbVlpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1YwRkJWeXh0UWtGQlR5eERRVUZETEdsRVFVRlJPMEZCUXpOQ0xGbEJRVmtzYlVKQlFVOHNRMEZCUXl3d1JFRkJZenRCUVVOc1F5eGpRVUZqTEcxQ1FVRlBMRU5CUVVNc2RVUkJRVmM3UVVGRGFrTXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHZEZRVUZuUWp0QlFVTjBReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNaMFJCUVZFN1FVRkROMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE8wRkJRMnhET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y0dGeWMyVXRZWE51TVM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCaGMyNHhJRDBnY21WeGRXbHlaU2duTGk5aGMyNHhKeWxjYm5aaGNpQmhaWE5wWkNBOUlISmxjWFZwY21Vb0p5NHZZV1Z6YVdRdWFuTnZiaWNwWEc1MllYSWdabWw0VUhKdll5QTlJSEpsY1hWcGNtVW9KeTR2Wm1sNFVISnZZeWNwWEc1MllYSWdZMmx3YUdWeWN5QTlJSEpsY1hWcGNtVW9KMkp5YjNkelpYSnBabmt0WVdWekp5bGNiblpoY2lCamIyMXdZWFFnUFNCeVpYRjFhWEpsS0Nkd1ltdGtaakluS1Z4dWRtRnlJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KM05oWm1VdFluVm1abVZ5SnlrdVFuVm1abVZ5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhCaGNuTmxTMlY1YzF4dVhHNW1kVzVqZEdsdmJpQndZWEp6WlV0bGVYTWdLR0oxWm1abGNpa2dlMXh1SUNCMllYSWdjR0Z6YzNkdmNtUmNiaUFnYVdZZ0tIUjVjR1Z2WmlCaWRXWm1aWElnUFQwOUlDZHZZbXBsWTNRbklDWW1JQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZblZtWm1WeUtTa2dlMXh1SUNBZ0lIQmhjM04zYjNKa0lEMGdZblZtWm1WeUxuQmhjM053YUhKaGMyVmNiaUFnSUNCaWRXWm1aWElnUFNCaWRXWm1aWEl1YTJWNVhHNGdJSDFjYmlBZ2FXWWdLSFI1Y0dWdlppQmlkV1ptWlhJZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdZblZtWm1WeUlEMGdRblZtWm1WeUxtWnliMjBvWW5WbVptVnlLVnh1SUNCOVhHNWNiaUFnZG1GeUlITjBjbWx3Y0dWa0lEMGdabWw0VUhKdll5aGlkV1ptWlhJc0lIQmhjM04zYjNKa0tWeHVYRzRnSUhaaGNpQjBlWEJsSUQwZ2MzUnlhWEJ3WldRdWRHRm5YRzRnSUhaaGNpQmtZWFJoSUQwZ2MzUnlhWEJ3WldRdVpHRjBZVnh1SUNCMllYSWdjM1ZpZEhsd1pTd2dibVJoZEdGY2JpQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnWTJGelpTQW5RMFZTVkVsR1NVTkJWRVVuT2x4dUlDQWdJQ0FnYm1SaGRHRWdQU0JoYzI0eExtTmxjblJwWm1sallYUmxMbVJsWTI5a1pTaGtZWFJoTENBblpHVnlKeWt1ZEdKelEyVnlkR2xtYVdOaGRHVXVjM1ZpYW1WamRGQjFZbXhwWTB0bGVVbHVabTljYmlBZ0lDQWdJQzh2SUdaaGJHeHpJSFJvY205MVoyaGNiaUFnSUNCallYTmxJQ2RRVlVKTVNVTWdTMFZaSnpwY2JpQWdJQ0FnSUdsbUlDZ2hibVJoZEdFcElIdGNiaUFnSUNBZ0lDQWdibVJoZEdFZ1BTQmhjMjR4TGxCMVlteHBZMHRsZVM1a1pXTnZaR1VvWkdGMFlTd2dKMlJsY2ljcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCemRXSjBlWEJsSUQwZ2JtUmhkR0V1WVd4bmIzSnBkR2h0TG1Gc1oyOXlhWFJvYlM1cWIybHVLQ2N1SnlsY2JpQWdJQ0FnSUhOM2FYUmphQ0FvYzNWaWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNCallYTmxJQ2N4TGpJdU9EUXdMakV4TXpVME9TNHhMakV1TVNjNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHRnpiakV1VWxOQlVIVmliR2xqUzJWNUxtUmxZMjlrWlNodVpHRjBZUzV6ZFdKcVpXTjBVSFZpYkdsalMyVjVMbVJoZEdFc0lDZGtaWEluS1Z4dUlDQWdJQ0FnSUNCallYTmxJQ2N4TGpJdU9EUXdMakV3TURRMUxqSXVNU2M2WEc0Z0lDQWdJQ0FnSUNBZ2JtUmhkR0V1YzNWaWFtVmpkRkJ5YVhaaGRHVkxaWGtnUFNCdVpHRjBZUzV6ZFdKcVpXTjBVSFZpYkdsalMyVjVYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNkbFl5Y3NYRzRnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhPaUJ1WkdGMFlWeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTJGelpTQW5NUzR5TGpnME1DNHhNREEwTUM0MExqRW5PbHh1SUNBZ0lDQWdJQ0FnSUc1a1lYUmhMbUZzWjI5eWFYUm9iUzV3WVhKaGJYTXVjSFZpWDJ0bGVTQTlJR0Z6YmpFdVJGTkJjR0Z5WVcwdVpHVmpiMlJsS0c1a1lYUmhMbk4xWW1wbFkzUlFkV0pzYVdOTFpYa3VaR0YwWVN3Z0oyUmxjaWNwWEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklDZGtjMkVuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVRvZ2JtUmhkR0V1WVd4bmIzSnBkR2h0TG5CaGNtRnRjMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERvZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkMWJtdHViM2R1SUd0bGVTQnBaQ0FuSUNzZ2MzVmlkSGx3WlNsY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJyWlhrZ2RIbHdaU0FuSUNzZ2RIbHdaU2xjYmlBZ0lDQmpZWE5sSUNkRlRrTlNXVkJVUlVRZ1VGSkpWa0ZVUlNCTFJWa25PbHh1SUNBZ0lDQWdaR0YwWVNBOUlHRnpiakV1Ulc1amNubHdkR1ZrVUhKcGRtRjBaVXRsZVM1a1pXTnZaR1VvWkdGMFlTd2dKMlJsY2ljcFhHNGdJQ0FnSUNCa1lYUmhJRDBnWkdWamNubHdkQ2hrWVhSaExDQndZWE56ZDI5eVpDbGNiaUFnSUNBZ0lDOHZJR1poYkd4eklIUm9jbTkxWjJoY2JpQWdJQ0JqWVhObElDZFFVa2xXUVZSRklFdEZXU2M2WEc0Z0lDQWdJQ0J1WkdGMFlTQTlJR0Z6YmpFdVVISnBkbUYwWlV0bGVTNWtaV052WkdVb1pHRjBZU3dnSjJSbGNpY3BYRzRnSUNBZ0lDQnpkV0owZVhCbElEMGdibVJoZEdFdVlXeG5iM0pwZEdodExtRnNaMjl5YVhSb2JTNXFiMmx1S0NjdUp5bGNiaUFnSUNBZ0lITjNhWFJqYUNBb2MzVmlkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjeExqSXVPRFF3TGpFeE16VTBPUzR4TGpFdU1TYzZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0Z6YmpFdVVsTkJVSEpwZG1GMFpVdGxlUzVrWldOdlpHVW9ibVJoZEdFdWMzVmlhbVZqZEZCeWFYWmhkR1ZMWlhrc0lDZGtaWEluS1Z4dUlDQWdJQ0FnSUNCallYTmxJQ2N4TGpJdU9EUXdMakV3TURRMUxqSXVNU2M2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR04xY25abE9pQnVaR0YwWVM1aGJHZHZjbWwwYUcwdVkzVnlkbVVzWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbWwyWVhSbFMyVjVPaUJoYzI0eExrVkRVSEpwZG1GMFpVdGxlUzVrWldOdlpHVW9ibVJoZEdFdWMzVmlhbVZqZEZCeWFYWmhkR1ZMWlhrc0lDZGtaWEluS1M1d2NtbDJZWFJsUzJWNVhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JqWVhObElDY3hMakl1T0RRd0xqRXdNRFF3TGpRdU1TYzZYRzRnSUNBZ0lDQWdJQ0FnYm1SaGRHRXVZV3huYjNKcGRHaHRMbkJoY21GdGN5NXdjbWwyWDJ0bGVTQTlJR0Z6YmpFdVJGTkJjR0Z5WVcwdVpHVmpiMlJsS0c1a1lYUmhMbk4xWW1wbFkzUlFjbWwyWVhSbFMyVjVMQ0FuWkdWeUp5bGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nSjJSellTY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lYSmhiWE02SUc1a1lYUmhMbUZzWjI5eWFYUm9iUzV3WVhKaGJYTmNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFE2SUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJyWlhrZ2FXUWdKeUFySUhOMVluUjVjR1VwWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1Z1YTI1dmQyNGdhMlY1SUhSNWNHVWdKeUFySUhSNWNHVXBYRzRnSUNBZ1kyRnpaU0FuVWxOQklGQlZRa3hKUXlCTFJWa25PbHh1SUNBZ0lDQWdjbVYwZFhKdUlHRnpiakV1VWxOQlVIVmliR2xqUzJWNUxtUmxZMjlrWlNoa1lYUmhMQ0FuWkdWeUp5bGNiaUFnSUNCallYTmxJQ2RTVTBFZ1VGSkpWa0ZVUlNCTFJWa25PbHh1SUNBZ0lDQWdjbVYwZFhKdUlHRnpiakV1VWxOQlVISnBkbUYwWlV0bGVTNWtaV052WkdVb1pHRjBZU3dnSjJSbGNpY3BYRzRnSUNBZ1kyRnpaU0FuUkZOQklGQlNTVlpCVkVVZ1MwVlpKenBjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJSFI1Y0dVNklDZGtjMkVuTEZ4dUlDQWdJQ0FnSUNCd1lYSmhiWE02SUdGemJqRXVSRk5CVUhKcGRtRjBaVXRsZVM1a1pXTnZaR1VvWkdGMFlTd2dKMlJsY2ljcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnWTJGelpTQW5SVU1nVUZKSlZrRlVSU0JMUlZrbk9seHVJQ0FnSUNBZ1pHRjBZU0E5SUdGemJqRXVSVU5RY21sMllYUmxTMlY1TG1SbFkyOWtaU2hrWVhSaExDQW5aR1Z5SnlsY2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdOMWNuWmxPaUJrWVhSaExuQmhjbUZ0WlhSbGNuTXVkbUZzZFdVc1hHNGdJQ0FnSUNBZ0lIQnlhWFpoZEdWTFpYazZJR1JoZEdFdWNISnBkbUYwWlV0bGVWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUdSbFptRjFiSFE2SUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJyWlhrZ2RIbHdaU0FuSUNzZ2RIbHdaU2xjYmlBZ2ZWeHVmVnh1Y0dGeWMyVkxaWGx6TG5OcFoyNWhkSFZ5WlNBOUlHRnpiakV1YzJsbmJtRjBkWEpsWEc1bWRXNWpkR2x2YmlCa1pXTnllWEIwSUNoa1lYUmhMQ0J3WVhOemQyOXlaQ2tnZTF4dUlDQjJZWElnYzJGc2RDQTlJR1JoZEdFdVlXeG5iM0pwZEdodExtUmxZM0o1Y0hRdWEyUmxMbXRrWlhCaGNtRnRjeTV6WVd4MFhHNGdJSFpoY2lCcGRHVnljeUE5SUhCaGNuTmxTVzUwS0dSaGRHRXVZV3huYjNKcGRHaHRMbVJsWTNKNWNIUXVhMlJsTG10a1pYQmhjbUZ0Y3k1cGRHVnljeTUwYjFOMGNtbHVaeWdwTENBeE1DbGNiaUFnZG1GeUlHRnNaMjhnUFNCaFpYTnBaRnRrWVhSaExtRnNaMjl5YVhSb2JTNWtaV055ZVhCMExtTnBjR2hsY2k1aGJHZHZMbXB2YVc0b0p5NG5LVjFjYmlBZ2RtRnlJR2wySUQwZ1pHRjBZUzVoYkdkdmNtbDBhRzB1WkdWamNubHdkQzVqYVhCb1pYSXVhWFpjYmlBZ2RtRnlJR05wY0dobGNsUmxlSFFnUFNCa1lYUmhMbk4xWW1wbFkzUlFjbWwyWVhSbFMyVjVYRzRnSUhaaGNpQnJaWGxzWlc0Z1BTQndZWEp6WlVsdWRDaGhiR2R2TG5Od2JHbDBLQ2N0SnlsYk1WMHNJREV3S1NBdklEaGNiaUFnZG1GeUlHdGxlU0E5SUdOdmJYQmhkQzV3WW10a1pqSlRlVzVqS0hCaGMzTjNiM0prTENCellXeDBMQ0JwZEdWeWN5d2dhMlY1YkdWdUxDQW5jMmhoTVNjcFhHNGdJSFpoY2lCamFYQm9aWElnUFNCamFYQm9aWEp6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlvWVd4bmJ5d2dhMlY1TENCcGRpbGNiaUFnZG1GeUlHOTFkQ0E5SUZ0ZFhHNGdJRzkxZEM1d2RYTm9LR05wY0dobGNpNTFjR1JoZEdVb1kybHdhR1Z5VkdWNGRDa3BYRzRnSUc5MWRDNXdkWE5vS0dOcGNHaGxjaTVtYVc1aGJDZ3BLVnh1SUNCeVpYUjFjbTRnUW5WbVptVnlMbU52Ym1OaGRDaHZkWFFwWEc1OVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcImV4cG9ydHMucGJrZGYyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvYXN5bmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvYXN5bmMuanNcXFwiKVxcbmV4cG9ydHMucGJrZGYyU3luYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL3N5bmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvc3luYy1icm93c2VyLmpzXFxcIilcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdZbXRrWmpJdlluSnZkM05sY2k1cWN6OHpNRGt5SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExIVkVRVUZoTzBGQlEzUkRMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMRFpFUVVGWklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNCaWEyUm1NaTlpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMGN5NXdZbXRrWmpJZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5aGMzbHVZeWNwWEc1bGVIQnZjblJ6TG5CaWEyUm1NbE41Ym1NZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5emVXNWpKeWxjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9hc3luYy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvYXN5bmMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykge3ZhciBjaGVja1BhcmFtZXRlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ByZWNvbmRpdGlvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9wcmVjb25kaXRpb24uanNcXFwiKVxcbnZhciBkZWZhdWx0RW5jb2RpbmcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlZmF1bHQtZW5jb2RpbmcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvZGVmYXVsdC1lbmNvZGluZy5qc1xcXCIpXFxudmFyIHN5bmMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3N5bmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvc3luYy1icm93c2VyLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIFpFUk9fQlVGXFxudmFyIHN1YnRsZSA9IGdsb2JhbC5jcnlwdG8gJiYgZ2xvYmFsLmNyeXB0by5zdWJ0bGVcXG52YXIgdG9Ccm93c2VyID0ge1xcbiAgJ3NoYSc6ICdTSEEtMScsXFxuICAnc2hhLTEnOiAnU0hBLTEnLFxcbiAgJ3NoYTEnOiAnU0hBLTEnLFxcbiAgJ3NoYTI1Nic6ICdTSEEtMjU2JyxcXG4gICdzaGEtMjU2JzogJ1NIQS0yNTYnLFxcbiAgJ3NoYTM4NCc6ICdTSEEtMzg0JyxcXG4gICdzaGEtMzg0JzogJ1NIQS0zODQnLFxcbiAgJ3NoYS01MTInOiAnU0hBLTUxMicsXFxuICAnc2hhNTEyJzogJ1NIQS01MTInXFxufVxcbnZhciBjaGVja3MgPSBbXVxcbmZ1bmN0aW9uIGNoZWNrTmF0aXZlIChhbGdvKSB7XFxuICBpZiAoZ2xvYmFsLnByb2Nlc3MgJiYgIWdsb2JhbC5wcm9jZXNzLmJyb3dzZXIpIHtcXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSlcXG4gIH1cXG4gIGlmICghc3VidGxlIHx8ICFzdWJ0bGUuaW1wb3J0S2V5IHx8ICFzdWJ0bGUuZGVyaXZlQml0cykge1xcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKVxcbiAgfVxcbiAgaWYgKGNoZWNrc1thbGdvXSAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIHJldHVybiBjaGVja3NbYWxnb11cXG4gIH1cXG4gIFpFUk9fQlVGID0gWkVST19CVUYgfHwgQnVmZmVyLmFsbG9jKDgpXFxuICB2YXIgcHJvbSA9IGJyb3dzZXJQYmtkZjIoWkVST19CVUYsIFpFUk9fQlVGLCAxMCwgMTI4LCBhbGdvKVxcbiAgICAudGhlbihmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIHRydWVcXG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge1xcbiAgICAgIHJldHVybiBmYWxzZVxcbiAgICB9KVxcbiAgY2hlY2tzW2FsZ29dID0gcHJvbVxcbiAgcmV0dXJuIHByb21cXG59XFxuXFxuZnVuY3Rpb24gYnJvd3NlclBia2RmMiAocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGxlbmd0aCwgYWxnbykge1xcbiAgcmV0dXJuIHN1YnRsZS5pbXBvcnRLZXkoXFxuICAgICdyYXcnLCBwYXNzd29yZCwge25hbWU6ICdQQktERjInfSwgZmFsc2UsIFsnZGVyaXZlQml0cyddXFxuICApLnRoZW4oZnVuY3Rpb24gKGtleSkge1xcbiAgICByZXR1cm4gc3VidGxlLmRlcml2ZUJpdHMoe1xcbiAgICAgIG5hbWU6ICdQQktERjInLFxcbiAgICAgIHNhbHQ6IHNhbHQsXFxuICAgICAgaXRlcmF0aW9uczogaXRlcmF0aW9ucyxcXG4gICAgICBoYXNoOiB7XFxuICAgICAgICBuYW1lOiBhbGdvXFxuICAgICAgfVxcbiAgICB9LCBrZXksIGxlbmd0aCA8PCAzKVxcbiAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7XFxuICAgIHJldHVybiBCdWZmZXIuZnJvbShyZXMpXFxuICB9KVxcbn1cXG5cXG5mdW5jdGlvbiByZXNvbHZlUHJvbWlzZSAocHJvbWlzZSwgY2FsbGJhY2spIHtcXG4gIHByb21pc2UudGhlbihmdW5jdGlvbiAob3V0KSB7XFxuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgIGNhbGxiYWNrKG51bGwsIG91dClcXG4gICAgfSlcXG4gIH0sIGZ1bmN0aW9uIChlKSB7XFxuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgIGNhbGxiYWNrKGUpXFxuICAgIH0pXFxuICB9KVxcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QsIGNhbGxiYWNrKSB7XFxuICBpZiAodHlwZW9mIGRpZ2VzdCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYWxsYmFjayA9IGRpZ2VzdFxcbiAgICBkaWdlc3QgPSB1bmRlZmluZWRcXG4gIH1cXG5cXG4gIGRpZ2VzdCA9IGRpZ2VzdCB8fCAnc2hhMSdcXG4gIHZhciBhbGdvID0gdG9Ccm93c2VyW2RpZ2VzdC50b0xvd2VyQ2FzZSgpXVxcblxcbiAgaWYgKCFhbGdvIHx8IHR5cGVvZiBnbG9iYWwuUHJvbWlzZSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XFxuICAgICAgdmFyIG91dFxcbiAgICAgIHRyeSB7XFxuICAgICAgICBvdXQgPSBzeW5jKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4sIGRpZ2VzdClcXG4gICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICByZXR1cm4gY2FsbGJhY2soZSlcXG4gICAgICB9XFxuICAgICAgY2FsbGJhY2sobnVsbCwgb3V0KVxcbiAgICB9KVxcbiAgfVxcblxcbiAgY2hlY2tQYXJhbWV0ZXJzKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4pXFxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB0aHJvdyBuZXcgRXJyb3IoJ05vIGNhbGxiYWNrIHByb3ZpZGVkIHRvIHBia2RmMicpXFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwYXNzd29yZCkpIHBhc3N3b3JkID0gQnVmZmVyLmZyb20ocGFzc3dvcmQsIGRlZmF1bHRFbmNvZGluZylcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHNhbHQpKSBzYWx0ID0gQnVmZmVyLmZyb20oc2FsdCwgZGVmYXVsdEVuY29kaW5nKVxcblxcbiAgcmVzb2x2ZVByb21pc2UoY2hlY2tOYXRpdmUoYWxnbykudGhlbihmdW5jdGlvbiAocmVzcCkge1xcbiAgICBpZiAocmVzcCkgcmV0dXJuIGJyb3dzZXJQYmtkZjIocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbiwgYWxnbylcXG5cXG4gICAgcmV0dXJuIHN5bmMocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbiwgZGlnZXN0KVxcbiAgfSksIGNhbGxiYWNrKVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WW10a1pqSXZiR2xpTDJGemVXNWpMbXB6UHpVNVptVWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzTmtWQlFYTkNMRzFDUVVGUExFTkJRVU1zYVVWQlFXZENPMEZCUXpsRExITkNRVUZ6UWl4dFFrRkJUeXhEUVVGRExIbEZRVUZ2UWp0QlFVTnNSQ3hYUVVGWExHMUNRVUZQTEVOQlFVTXNlVVJCUVZFN1FVRkRNMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxITkNRVUZ6UWl4bFFVRmxPMEZCUTNKRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSUlpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNCaWEyUm1NaTlzYVdJdllYTjVibU11YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1kyaGxZMnRRWVhKaGJXVjBaWEp6SUQwZ2NtVnhkV2x5WlNnbkxpOXdjbVZqYjI1a2FYUnBiMjRuS1Z4dWRtRnlJR1JsWm1GMWJIUkZibU52WkdsdVp5QTlJSEpsY1hWcGNtVW9KeTR2WkdWbVlYVnNkQzFsYm1OdlpHbHVaeWNwWEc1MllYSWdjM2x1WXlBOUlISmxjWFZwY21Vb0p5NHZjM2x1WXljcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JseHVkbUZ5SUZwRlVrOWZRbFZHWEc1MllYSWdjM1ZpZEd4bElEMGdaMnh2WW1Gc0xtTnllWEIwYnlBbUppQm5iRzlpWVd3dVkzSjVjSFJ2TG5OMVluUnNaVnh1ZG1GeUlIUnZRbkp2ZDNObGNpQTlJSHRjYmlBZ0ozTm9ZU2M2SUNkVFNFRXRNU2NzWEc0Z0lDZHphR0V0TVNjNklDZFRTRUV0TVNjc1hHNGdJQ2R6YUdFeEp6b2dKMU5JUVMweEp5eGNiaUFnSjNOb1lUSTFOaWM2SUNkVFNFRXRNalUySnl4Y2JpQWdKM05vWVMweU5UWW5PaUFuVTBoQkxUSTFOaWNzWEc0Z0lDZHphR0V6T0RRbk9pQW5VMGhCTFRNNE5DY3NYRzRnSUNkemFHRXRNemcwSnpvZ0oxTklRUzB6T0RRbkxGeHVJQ0FuYzJoaExUVXhNaWM2SUNkVFNFRXROVEV5Snl4Y2JpQWdKM05vWVRVeE1pYzZJQ2RUU0VFdE5URXlKMXh1ZlZ4dWRtRnlJR05vWldOcmN5QTlJRnRkWEc1bWRXNWpkR2x2YmlCamFHVmphMDVoZEdsMlpTQW9ZV3huYnlrZ2UxeHVJQ0JwWmlBb1oyeHZZbUZzTG5CeWIyTmxjM01nSmlZZ0lXZHNiMkpoYkM1d2NtOWpaWE56TG1KeWIzZHpaWElwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdVSEp2YldselpTNXlaWE52YkhabEtHWmhiSE5sS1Z4dUlDQjlYRzRnSUdsbUlDZ2hjM1ZpZEd4bElIeDhJQ0Z6ZFdKMGJHVXVhVzF3YjNKMFMyVjVJSHg4SUNGemRXSjBiR1V1WkdWeWFYWmxRbWwwY3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9abUZzYzJVcFhHNGdJSDFjYmlBZ2FXWWdLR05vWldOcmMxdGhiR2R2WFNBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTm9aV05yYzF0aGJHZHZYVnh1SUNCOVhHNGdJRnBGVWs5ZlFsVkdJRDBnV2tWU1QxOUNWVVlnZkh3Z1FuVm1abVZ5TG1Gc2JHOWpLRGdwWEc0Z0lIWmhjaUJ3Y205dElEMGdZbkp2ZDNObGNsQmlhMlJtTWloYVJWSlBYMEpWUml3Z1drVlNUMTlDVlVZc0lERXdMQ0F4TWpnc0lHRnNaMjhwWEc0Z0lDQWdMblJvWlc0b1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1ZjYmlBZ0lDQjlLUzVqWVhSamFDaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJWY2JpQWdJQ0I5S1Z4dUlDQmphR1ZqYTNOYllXeG5iMTBnUFNCd2NtOXRYRzRnSUhKbGRIVnliaUJ3Y205dFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdKeWIzZHpaWEpRWW10a1pqSWdLSEJoYzNOM2IzSmtMQ0J6WVd4MExDQnBkR1Z5WVhScGIyNXpMQ0JzWlc1bmRHZ3NJR0ZzWjI4cElIdGNiaUFnY21WMGRYSnVJSE4xWW5Sc1pTNXBiWEJ2Y25STFpYa29YRzRnSUNBZ0ozSmhkeWNzSUhCaGMzTjNiM0prTENCN2JtRnRaVG9nSjFCQ1MwUkdNaWQ5TENCbVlXeHpaU3dnV3lka1pYSnBkbVZDYVhSekoxMWNiaUFnS1M1MGFHVnVLR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNiaUFnSUNCeVpYUjFjbTRnYzNWaWRHeGxMbVJsY21sMlpVSnBkSE1vZTF4dUlDQWdJQ0FnYm1GdFpUb2dKMUJDUzBSR01pY3NYRzRnSUNBZ0lDQnpZV3gwT2lCellXeDBMRnh1SUNBZ0lDQWdhWFJsY21GMGFXOXVjem9nYVhSbGNtRjBhVzl1Y3l4Y2JpQWdJQ0FnSUdoaGMyZzZJSHRjYmlBZ0lDQWdJQ0FnYm1GdFpUb2dZV3huYjF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzSUd0bGVTd2diR1Z1WjNSb0lEdzhJRE1wWEc0Z0lIMHBMblJvWlc0b1puVnVZM1JwYjI0Z0tISmxjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQkNkV1ptWlhJdVpuSnZiU2h5WlhNcFhHNGdJSDBwWEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYzI5c2RtVlFjbTl0YVhObElDaHdjbTl0YVhObExDQmpZV3hzWW1GamF5a2dlMXh1SUNCd2NtOXRhWE5sTG5Sb1pXNG9ablZ1WTNScGIyNGdLRzkxZENrZ2UxeHVJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1kyRnNiR0poWTJzb2JuVnNiQ3dnYjNWMEtWeHVJQ0FnSUgwcFhHNGdJSDBzSUdaMWJtTjBhVzl1SUNobEtTQjdYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQmpZV3hzWW1GamF5aGxLVnh1SUNBZ0lIMHBYRzRnSUgwcFhHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2h3WVhOemQyOXlaQ3dnYzJGc2RDd2dhWFJsY21GMGFXOXVjeXdnYTJWNWJHVnVMQ0JrYVdkbGMzUXNJR05oYkd4aVlXTnJLU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaR2xuWlhOMElEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnWTJGc2JHSmhZMnNnUFNCa2FXZGxjM1JjYmlBZ0lDQmthV2RsYzNRZ1BTQjFibVJsWm1sdVpXUmNiaUFnZlZ4dVhHNGdJR1JwWjJWemRDQTlJR1JwWjJWemRDQjhmQ0FuYzJoaE1TZGNiaUFnZG1GeUlHRnNaMjhnUFNCMGIwSnliM2R6WlhKYlpHbG5aWE4wTG5SdlRHOTNaWEpEWVhObEtDbGRYRzVjYmlBZ2FXWWdLQ0ZoYkdkdklIeDhJSFI1Y0dWdlppQm5iRzlpWVd3dVVISnZiV2x6WlNBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQndjbTlqWlhOekxtNWxlSFJVYVdOcktHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJSFpoY2lCdmRYUmNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJSE41Ym1Nb2NHRnpjM2R2Y21Rc0lITmhiSFFzSUdsMFpYSmhkR2x2Ym5Nc0lHdGxlV3hsYml3Z1pHbG5aWE4wS1Z4dUlDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyRnNiR0poWTJzb1pTbGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHTmhiR3hpWVdOcktHNTFiR3dzSUc5MWRDbGNiaUFnSUNCOUtWeHVJQ0I5WEc1Y2JpQWdZMmhsWTJ0UVlYSmhiV1YwWlhKektIQmhjM04zYjNKa0xDQnpZV3gwTENCcGRHVnlZWFJwYjI1ekxDQnJaWGxzWlc0cFhHNGdJR2xtSUNoMGVYQmxiMllnWTJGc2JHSmhZMnNnSVQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvY205M0lHNWxkeUJGY25KdmNpZ25UbThnWTJGc2JHSmhZMnNnY0hKdmRtbGtaV1FnZEc4Z2NHSnJaR1l5SnlsY2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0dGemMzZHZjbVFwS1NCd1lYTnpkMjl5WkNBOUlFSjFabVpsY2k1bWNtOXRLSEJoYzNOM2IzSmtMQ0JrWldaaGRXeDBSVzVqYjJScGJtY3BYRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtITmhiSFFwS1NCellXeDBJRDBnUW5WbVptVnlMbVp5YjIwb2MyRnNkQ3dnWkdWbVlYVnNkRVZ1WTI5a2FXNW5LVnh1WEc0Z0lISmxjMjlzZG1WUWNtOXRhWE5sS0dOb1pXTnJUbUYwYVhabEtHRnNaMjhwTG5Sb1pXNG9ablZ1WTNScGIyNGdLSEpsYzNBcElIdGNiaUFnSUNCcFppQW9jbVZ6Y0NrZ2NtVjBkWEp1SUdKeWIzZHpaWEpRWW10a1pqSW9jR0Z6YzNkdmNtUXNJSE5oYkhRc0lHbDBaWEpoZEdsdmJuTXNJR3RsZVd4bGJpd2dZV3huYnlsY2JseHVJQ0FnSUhKbGRIVnliaUJ6ZVc1aktIQmhjM04zYjNKa0xDQnpZV3gwTENCcGRHVnlZWFJwYjI1ekxDQnJaWGxzWlc0c0lHUnBaMlZ6ZENsY2JpQWdmU2tzSUdOaGJHeGlZV05yS1Z4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvYXN5bmMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvZGVmYXVsdC1lbmNvZGluZy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9kZWZhdWx0LWVuY29kaW5nLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKHByb2Nlc3MpIHt2YXIgZGVmYXVsdEVuY29kaW5nXFxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cXG5pZiAocHJvY2Vzcy5icm93c2VyKSB7XFxuICBkZWZhdWx0RW5jb2RpbmcgPSAndXRmLTgnXFxufSBlbHNlIHtcXG4gIHZhciBwVmVyc2lvbk1ham9yID0gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9uLnNwbGl0KCcuJylbMF0uc2xpY2UoMSksIDEwKVxcblxcbiAgZGVmYXVsdEVuY29kaW5nID0gcFZlcnNpb25NYWpvciA+PSA2ID8gJ3V0Zi04JyA6ICdiaW5hcnknXFxufVxcbm1vZHVsZS5leHBvcnRzID0gZGVmYXVsdEVuY29kaW5nXFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WW10a1pqSXZiR2xpTDJSbFptRjFiSFF0Wlc1amIyUnBibWN1YW5NL09XTmhOU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEczdRVUZGUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y0dKclpHWXlMMnhwWWk5a1pXWmhkV3gwTFdWdVkyOWthVzVuTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlHUmxabUYxYkhSRmJtTnZaR2x1WjF4dUx5b2dhWE4wWVc1aWRXd2dhV2R1YjNKbElHNWxlSFFnS2k5Y2JtbG1JQ2h3Y205alpYTnpMbUp5YjNkelpYSXBJSHRjYmlBZ1pHVm1ZWFZzZEVWdVkyOWthVzVuSUQwZ0ozVjBaaTA0SjF4dWZTQmxiSE5sSUh0Y2JpQWdkbUZ5SUhCV1pYSnphVzl1VFdGcWIzSWdQU0J3WVhKelpVbHVkQ2h3Y205alpYTnpMblpsY25OcGIyNHVjM0JzYVhRb0p5NG5LVnN3WFM1emJHbGpaU2d4S1N3Z01UQXBYRzVjYmlBZ1pHVm1ZWFZzZEVWdVkyOWthVzVuSUQwZ2NGWmxjbk5wYjI1TllXcHZjaUErUFNBMklEOGdKM1YwWmkwNEp5QTZJQ2RpYVc1aGNua25YRzU5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdSbFptRjFiSFJGYm1OdlpHbHVaMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL2RlZmF1bHQtZW5jb2RpbmcuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oQnVmZmVyKSB7dmFyIE1BWF9BTExPQyA9IE1hdGgucG93KDIsIDMwKSAtIDEgLy8gZGVmYXVsdCBpbiBpb2pzXFxuXFxuZnVuY3Rpb24gY2hlY2tCdWZmZXIgKGJ1ZiwgbmFtZSkge1xcbiAgaWYgKHR5cGVvZiBidWYgIT09ICdzdHJpbmcnICYmICFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKG5hbWUgKyAnIG11c3QgYmUgYSBidWZmZXIgb3Igc3RyaW5nJylcXG4gIH1cXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbikge1xcbiAgY2hlY2tCdWZmZXIocGFzc3dvcmQsICdQYXNzd29yZCcpXFxuICBjaGVja0J1ZmZlcihzYWx0LCAnU2FsdCcpXFxuXFxuICBpZiAodHlwZW9mIGl0ZXJhdGlvbnMgIT09ICdudW1iZXInKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0l0ZXJhdGlvbnMgbm90IGEgbnVtYmVyJylcXG4gIH1cXG5cXG4gIGlmIChpdGVyYXRpb25zIDwgMCkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdCYWQgaXRlcmF0aW9ucycpXFxuICB9XFxuXFxuICBpZiAodHlwZW9mIGtleWxlbiAhPT0gJ251bWJlcicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignS2V5IGxlbmd0aCBub3QgYSBudW1iZXInKVxcbiAgfVxcblxcbiAgaWYgKGtleWxlbiA8IDAgfHwga2V5bGVuID4gTUFYX0FMTE9DIHx8IGtleWxlbiAhPT0ga2V5bGVuKSB7IC8qIGVzbGludCBuby1zZWxmLWNvbXBhcmU6IDAgKi9cXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQmFkIGtleSBsZW5ndGgnKVxcbiAgfVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WW10a1pqSXZiR2xpTDNCeVpXTnZibVJwZEdsdmJpNXFjejgwWlRNeUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEaEVRVUU0UkR0QlFVTTVSRHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjR0pyWkdZeUwyeHBZaTl3Y21WamIyNWthWFJwYjI0dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdUVUZZWDBGTVRFOURJRDBnVFdGMGFDNXdiM2NvTWl3Z016QXBJQzBnTVNBdkx5QmtaV1poZFd4MElHbHVJR2x2YW5OY2JseHVablZ1WTNScGIyNGdZMmhsWTJ0Q2RXWm1aWElnS0dKMVppd2dibUZ0WlNrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUdKMVppQWhQVDBnSjNOMGNtbHVaeWNnSmlZZ0lVSjFabVpsY2k1cGMwSjFabVpsY2loaWRXWXBLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWh1WVcxbElDc2dKeUJ0ZFhOMElHSmxJR0VnWW5WbVptVnlJRzl5SUhOMGNtbHVaeWNwWEc0Z0lIMWNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2NHRnpjM2R2Y21Rc0lITmhiSFFzSUdsMFpYSmhkR2x2Ym5Nc0lHdGxlV3hsYmlrZ2UxeHVJQ0JqYUdWamEwSjFabVpsY2lod1lYTnpkMjl5WkN3Z0oxQmhjM04zYjNKa0p5bGNiaUFnWTJobFkydENkV1ptWlhJb2MyRnNkQ3dnSjFOaGJIUW5LVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdhWFJsY21GMGFXOXVjeUFoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZEpkR1Z5WVhScGIyNXpJRzV2ZENCaElHNTFiV0psY2ljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYVhSbGNtRjBhVzl1Y3lBOElEQXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RDWVdRZ2FYUmxjbUYwYVc5dWN5Y3BYRzRnSUgxY2JseHVJQ0JwWmlBb2RIbHdaVzltSUd0bGVXeGxiaUFoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZExaWGtnYkdWdVozUm9JRzV2ZENCaElHNTFiV0psY2ljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYTJWNWJHVnVJRHdnTUNCOGZDQnJaWGxzWlc0Z1BpQk5RVmhmUVV4TVQwTWdmSHdnYTJWNWJHVnVJQ0U5UFNCclpYbHNaVzRwSUhzZ0x5b2daWE5zYVc1MElHNXZMWE5sYkdZdFkyOXRjR0Z5WlRvZ01DQXFMMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMEpoWkNCclpYa2diR1Z1WjNSb0p5bGNiaUFnZlZ4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3N5bmMtYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3N5bmMtYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIG1kNSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNyZWF0ZS1oYXNoL21kNSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvbWQ1LmpzXFxcIilcXG52YXIgUklQRU1EMTYwID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmlwZW1kMTYwICovIFxcXCIuL25vZGVfbW9kdWxlcy9yaXBlbWQxNjAvaW5kZXguanNcXFwiKVxcbnZhciBzaGEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzaGEuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qc1xcXCIpXFxuXFxudmFyIGNoZWNrUGFyYW1ldGVycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcHJlY29uZGl0aW9uICovIFxcXCIuL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3ByZWNvbmRpdGlvbi5qc1xcXCIpXFxudmFyIGRlZmF1bHRFbmNvZGluZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVmYXVsdC1lbmNvZGluZyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9kZWZhdWx0LWVuY29kaW5nLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFpFUk9TID0gQnVmZmVyLmFsbG9jKDEyOClcXG52YXIgc2l6ZXMgPSB7XFxuICBtZDU6IDE2LFxcbiAgc2hhMTogMjAsXFxuICBzaGEyMjQ6IDI4LFxcbiAgc2hhMjU2OiAzMixcXG4gIHNoYTM4NDogNDgsXFxuICBzaGE1MTI6IDY0LFxcbiAgcm1kMTYwOiAyMCxcXG4gIHJpcGVtZDE2MDogMjBcXG59XFxuXFxuZnVuY3Rpb24gSG1hYyAoYWxnLCBrZXksIHNhbHRMZW4pIHtcXG4gIHZhciBoYXNoID0gZ2V0RGlnZXN0KGFsZylcXG4gIHZhciBibG9ja3NpemUgPSAoYWxnID09PSAnc2hhNTEyJyB8fCBhbGcgPT09ICdzaGEzODQnKSA/IDEyOCA6IDY0XFxuXFxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xcbiAgICBrZXkgPSBoYXNoKGtleSlcXG4gIH0gZWxzZSBpZiAoa2V5Lmxlbmd0aCA8IGJsb2Nrc2l6ZSkge1xcbiAgICBrZXkgPSBCdWZmZXIuY29uY2F0KFtrZXksIFpFUk9TXSwgYmxvY2tzaXplKVxcbiAgfVxcblxcbiAgdmFyIGlwYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplICsgc2l6ZXNbYWxnXSlcXG4gIHZhciBvcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSArIHNpemVzW2FsZ10pXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGJsb2Nrc2l6ZTsgaSsrKSB7XFxuICAgIGlwYWRbaV0gPSBrZXlbaV0gXiAweDM2XFxuICAgIG9wYWRbaV0gPSBrZXlbaV0gXiAweDVDXFxuICB9XFxuXFxuICB2YXIgaXBhZDEgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplICsgc2FsdExlbiArIDQpXFxuICBpcGFkLmNvcHkoaXBhZDEsIDAsIDAsIGJsb2Nrc2l6ZSlcXG4gIHRoaXMuaXBhZDEgPSBpcGFkMVxcbiAgdGhpcy5pcGFkMiA9IGlwYWRcXG4gIHRoaXMub3BhZCA9IG9wYWRcXG4gIHRoaXMuYWxnID0gYWxnXFxuICB0aGlzLmJsb2Nrc2l6ZSA9IGJsb2Nrc2l6ZVxcbiAgdGhpcy5oYXNoID0gaGFzaFxcbiAgdGhpcy5zaXplID0gc2l6ZXNbYWxnXVxcbn1cXG5cXG5IbWFjLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoZGF0YSwgaXBhZCkge1xcbiAgZGF0YS5jb3B5KGlwYWQsIHRoaXMuYmxvY2tzaXplKVxcbiAgdmFyIGggPSB0aGlzLmhhc2goaXBhZClcXG4gIGguY29weSh0aGlzLm9wYWQsIHRoaXMuYmxvY2tzaXplKVxcbiAgcmV0dXJuIHRoaXMuaGFzaCh0aGlzLm9wYWQpXFxufVxcblxcbmZ1bmN0aW9uIGdldERpZ2VzdCAoYWxnKSB7XFxuICBmdW5jdGlvbiBzaGFGdW5jIChkYXRhKSB7XFxuICAgIHJldHVybiBzaGEoYWxnKS51cGRhdGUoZGF0YSkuZGlnZXN0KClcXG4gIH1cXG4gIGZ1bmN0aW9uIHJtZDE2MEZ1bmMgKGRhdGEpIHtcXG4gICAgcmV0dXJuIG5ldyBSSVBFTUQxNjAoKS51cGRhdGUoZGF0YSkuZGlnZXN0KClcXG4gIH1cXG5cXG4gIGlmIChhbGcgPT09ICdybWQxNjAnIHx8IGFsZyA9PT0gJ3JpcGVtZDE2MCcpIHJldHVybiBybWQxNjBGdW5jXFxuICBpZiAoYWxnID09PSAnbWQ1JykgcmV0dXJuIG1kNVxcbiAgcmV0dXJuIHNoYUZ1bmNcXG59XFxuXFxuZnVuY3Rpb24gcGJrZGYyIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QpIHtcXG4gIGNoZWNrUGFyYW1ldGVycyhwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuKVxcblxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocGFzc3dvcmQpKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkLCBkZWZhdWx0RW5jb2RpbmcpXFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihzYWx0KSkgc2FsdCA9IEJ1ZmZlci5mcm9tKHNhbHQsIGRlZmF1bHRFbmNvZGluZylcXG5cXG4gIGRpZ2VzdCA9IGRpZ2VzdCB8fCAnc2hhMSdcXG5cXG4gIHZhciBobWFjID0gbmV3IEhtYWMoZGlnZXN0LCBwYXNzd29yZCwgc2FsdC5sZW5ndGgpXFxuXFxuICB2YXIgREsgPSBCdWZmZXIuYWxsb2NVbnNhZmUoa2V5bGVuKVxcbiAgdmFyIGJsb2NrMSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShzYWx0Lmxlbmd0aCArIDQpXFxuICBzYWx0LmNvcHkoYmxvY2sxLCAwLCAwLCBzYWx0Lmxlbmd0aClcXG5cXG4gIHZhciBkZXN0UG9zID0gMFxcbiAgdmFyIGhMZW4gPSBzaXplc1tkaWdlc3RdXFxuICB2YXIgbCA9IE1hdGguY2VpbChrZXlsZW4gLyBoTGVuKVxcblxcbiAgZm9yICh2YXIgaSA9IDE7IGkgPD0gbDsgaSsrKSB7XFxuICAgIGJsb2NrMS53cml0ZVVJbnQzMkJFKGksIHNhbHQubGVuZ3RoKVxcblxcbiAgICB2YXIgVCA9IGhtYWMucnVuKGJsb2NrMSwgaG1hYy5pcGFkMSlcXG4gICAgdmFyIFUgPSBUXFxuXFxuICAgIGZvciAodmFyIGogPSAxOyBqIDwgaXRlcmF0aW9uczsgaisrKSB7XFxuICAgICAgVSA9IGhtYWMucnVuKFUsIGhtYWMuaXBhZDIpXFxuICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBoTGVuOyBrKyspIFRba10gXj0gVVtrXVxcbiAgICB9XFxuXFxuICAgIFQuY29weShESywgZGVzdFBvcylcXG4gICAgZGVzdFBvcyArPSBoTGVuXFxuICB9XFxuXFxuICByZXR1cm4gREtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBwYmtkZjJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdZbXRrWmpJdmJHbGlMM041Ym1NdFluSnZkM05sY2k1cWN6ODBZVFptSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxGVkJRVlVzYlVKQlFVOHNRMEZCUXl3d1JFRkJhVUk3UVVGRGJrTXNaMEpCUVdkQ0xHMUNRVUZQTEVOQlFVTXNiMFJCUVZjN1FVRkRia01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk96dEJRVVV4UWl4elFrRkJjMElzYlVKQlFVOHNRMEZCUXl4cFJVRkJaMEk3UVVGRE9VTXNjMEpCUVhOQ0xHMUNRVUZQTEVOQlFVTXNlVVZCUVc5Q08wRkJRMnhFTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeGxRVUZsTzBGQlEyaERPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEVzY1VKQlFYRkNMRlZCUVZVN1FVRkRMMEk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNHSnJaR1l5TDJ4cFlpOXplVzVqTFdKeWIzZHpaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2JXUTFJRDBnY21WeGRXbHlaU2duWTNKbFlYUmxMV2hoYzJndmJXUTFKeWxjYm5aaGNpQlNTVkJGVFVReE5qQWdQU0J5WlhGMWFYSmxLQ2R5YVhCbGJXUXhOakFuS1Z4dWRtRnlJSE5vWVNBOUlISmxjWFZwY21Vb0ozTm9ZUzVxY3ljcFhHNWNiblpoY2lCamFHVmphMUJoY21GdFpYUmxjbk1nUFNCeVpYRjFhWEpsS0NjdUwzQnlaV052Ym1ScGRHbHZiaWNwWEc1MllYSWdaR1ZtWVhWc2RFVnVZMjlrYVc1bklEMGdjbVZ4ZFdseVpTZ25MaTlrWldaaGRXeDBMV1Z1WTI5a2FXNW5KeWxjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1ZG1GeUlGcEZVazlUSUQwZ1FuVm1abVZ5TG1Gc2JHOWpLREV5T0NsY2JuWmhjaUJ6YVhwbGN5QTlJSHRjYmlBZ2JXUTFPaUF4Tml4Y2JpQWdjMmhoTVRvZ01qQXNYRzRnSUhOb1lUSXlORG9nTWpnc1hHNGdJSE5vWVRJMU5qb2dNeklzWEc0Z0lITm9ZVE00TkRvZ05EZ3NYRzRnSUhOb1lUVXhNam9nTmpRc1hHNGdJSEp0WkRFMk1Eb2dNakFzWEc0Z0lISnBjR1Z0WkRFMk1Eb2dNakJjYm4xY2JseHVablZ1WTNScGIyNGdTRzFoWXlBb1lXeG5MQ0JyWlhrc0lITmhiSFJNWlc0cElIdGNiaUFnZG1GeUlHaGhjMmdnUFNCblpYUkVhV2RsYzNRb1lXeG5LVnh1SUNCMllYSWdZbXh2WTJ0emFYcGxJRDBnS0dGc1p5QTlQVDBnSjNOb1lUVXhNaWNnZkh3Z1lXeG5JRDA5UFNBbmMyaGhNemcwSnlrZ1B5QXhNamdnT2lBMk5GeHVYRzRnSUdsbUlDaHJaWGt1YkdWdVozUm9JRDRnWW14dlkydHphWHBsS1NCN1hHNGdJQ0FnYTJWNUlEMGdhR0Z6YUNoclpYa3BYRzRnSUgwZ1pXeHpaU0JwWmlBb2EyVjVMbXhsYm1kMGFDQThJR0pzYjJOcmMybDZaU2tnZTF4dUlDQWdJR3RsZVNBOUlFSjFabVpsY2k1amIyNWpZWFFvVzJ0bGVTd2dXa1ZTVDFOZExDQmliRzlqYTNOcGVtVXBYRzRnSUgxY2JseHVJQ0IyWVhJZ2FYQmhaQ0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNoaWJHOWphM05wZW1VZ0t5QnphWHBsYzF0aGJHZGRLVnh1SUNCMllYSWdiM0JoWkNBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTaGliRzlqYTNOcGVtVWdLeUJ6YVhwbGMxdGhiR2RkS1Z4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0pzYjJOcmMybDZaVHNnYVNzcktTQjdYRzRnSUNBZ2FYQmhaRnRwWFNBOUlHdGxlVnRwWFNCZUlEQjRNelpjYmlBZ0lDQnZjR0ZrVzJsZElEMGdhMlY1VzJsZElGNGdNSGcxUTF4dUlDQjlYRzVjYmlBZ2RtRnlJR2x3WVdReElEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOcmMybDZaU0FySUhOaGJIUk1aVzRnS3lBMEtWeHVJQ0JwY0dGa0xtTnZjSGtvYVhCaFpERXNJREFzSURBc0lHSnNiMk5yYzJsNlpTbGNiaUFnZEdocGN5NXBjR0ZrTVNBOUlHbHdZV1F4WEc0Z0lIUm9hWE11YVhCaFpESWdQU0JwY0dGa1hHNGdJSFJvYVhNdWIzQmhaQ0E5SUc5d1lXUmNiaUFnZEdocGN5NWhiR2NnUFNCaGJHZGNiaUFnZEdocGN5NWliRzlqYTNOcGVtVWdQU0JpYkc5amEzTnBlbVZjYmlBZ2RHaHBjeTVvWVhOb0lEMGdhR0Z6YUZ4dUlDQjBhR2x6TG5OcGVtVWdQU0J6YVhwbGMxdGhiR2RkWEc1OVhHNWNia2h0WVdNdWNISnZkRzkwZVhCbExuSjFiaUE5SUdaMWJtTjBhVzl1SUNoa1lYUmhMQ0JwY0dGa0tTQjdYRzRnSUdSaGRHRXVZMjl3ZVNocGNHRmtMQ0IwYUdsekxtSnNiMk5yYzJsNlpTbGNiaUFnZG1GeUlHZ2dQU0IwYUdsekxtaGhjMmdvYVhCaFpDbGNiaUFnYUM1amIzQjVLSFJvYVhNdWIzQmhaQ3dnZEdocGN5NWliRzlqYTNOcGVtVXBYRzRnSUhKbGRIVnliaUIwYUdsekxtaGhjMmdvZEdocGN5NXZjR0ZrS1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSRWFXZGxjM1FnS0dGc1p5a2dlMXh1SUNCbWRXNWpkR2x2YmlCemFHRkdkVzVqSUNoa1lYUmhLU0I3WEc0Z0lDQWdjbVYwZFhKdUlITm9ZU2hoYkdjcExuVndaR0YwWlNoa1lYUmhLUzVrYVdkbGMzUW9LVnh1SUNCOVhHNGdJR1oxYm1OMGFXOXVJSEp0WkRFMk1FWjFibU1nS0dSaGRHRXBJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRkpKVUVWTlJERTJNQ2dwTG5Wd1pHRjBaU2hrWVhSaEtTNWthV2RsYzNRb0tWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dGc1p5QTlQVDBnSjNKdFpERTJNQ2NnZkh3Z1lXeG5JRDA5UFNBbmNtbHdaVzFrTVRZd0p5a2djbVYwZFhKdUlISnRaREUyTUVaMWJtTmNiaUFnYVdZZ0tHRnNaeUE5UFQwZ0oyMWtOU2NwSUhKbGRIVnliaUJ0WkRWY2JpQWdjbVYwZFhKdUlITm9ZVVoxYm1OY2JuMWNibHh1Wm5WdVkzUnBiMjRnY0dKclpHWXlJQ2h3WVhOemQyOXlaQ3dnYzJGc2RDd2dhWFJsY21GMGFXOXVjeXdnYTJWNWJHVnVMQ0JrYVdkbGMzUXBJSHRjYmlBZ1kyaGxZMnRRWVhKaGJXVjBaWEp6S0hCaGMzTjNiM0prTENCellXeDBMQ0JwZEdWeVlYUnBiMjV6TENCclpYbHNaVzRwWEc1Y2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0dGemMzZHZjbVFwS1NCd1lYTnpkMjl5WkNBOUlFSjFabVpsY2k1bWNtOXRLSEJoYzNOM2IzSmtMQ0JrWldaaGRXeDBSVzVqYjJScGJtY3BYRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtITmhiSFFwS1NCellXeDBJRDBnUW5WbVptVnlMbVp5YjIwb2MyRnNkQ3dnWkdWbVlYVnNkRVZ1WTI5a2FXNW5LVnh1WEc0Z0lHUnBaMlZ6ZENBOUlHUnBaMlZ6ZENCOGZDQW5jMmhoTVNkY2JseHVJQ0IyWVhJZ2FHMWhZeUE5SUc1bGR5QkliV0ZqS0dScFoyVnpkQ3dnY0dGemMzZHZjbVFzSUhOaGJIUXViR1Z1WjNSb0tWeHVYRzRnSUhaaGNpQkVTeUE5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNoclpYbHNaVzRwWEc0Z0lIWmhjaUJpYkc5amF6RWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYzJGc2RDNXNaVzVuZEdnZ0t5QTBLVnh1SUNCellXeDBMbU52Y0hrb1lteHZZMnN4TENBd0xDQXdMQ0J6WVd4MExteGxibWQwYUNsY2JseHVJQ0IyWVhJZ1pHVnpkRkJ2Y3lBOUlEQmNiaUFnZG1GeUlHaE1aVzRnUFNCemFYcGxjMXRrYVdkbGMzUmRYRzRnSUhaaGNpQnNJRDBnVFdGMGFDNWpaV2xzS0d0bGVXeGxiaUF2SUdoTVpXNHBYRzVjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREU3SUdrZ1BEMGdiRHNnYVNzcktTQjdYRzRnSUNBZ1lteHZZMnN4TG5keWFYUmxWVWx1ZERNeVFrVW9hU3dnYzJGc2RDNXNaVzVuZEdncFhHNWNiaUFnSUNCMllYSWdWQ0E5SUdodFlXTXVjblZ1S0dKc2IyTnJNU3dnYUcxaFl5NXBjR0ZrTVNsY2JpQWdJQ0IyWVhJZ1ZTQTlJRlJjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR29nUFNBeE95QnFJRHdnYVhSbGNtRjBhVzl1Y3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0JWSUQwZ2FHMWhZeTV5ZFc0b1ZTd2dhRzFoWXk1cGNHRmtNaWxjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR3NnUFNBd095QnJJRHdnYUV4bGJqc2dheXNyS1NCVVcydGRJRjQ5SUZWYmExMWNiaUFnSUNCOVhHNWNiaUFnSUNCVUxtTnZjSGtvUkVzc0lHUmxjM1JRYjNNcFhHNGdJQ0FnWkdWemRGQnZjeUFyUFNCb1RHVnVYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdSRXRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQndZbXRrWmpKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9zeW5jLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7XFxuXFxuaWYgKHR5cGVvZiBwcm9jZXNzID09PSAndW5kZWZpbmVkJyB8fFxcbiAgICAhcHJvY2Vzcy52ZXJzaW9uIHx8XFxuICAgIHByb2Nlc3MudmVyc2lvbi5pbmRleE9mKCd2MC4nKSA9PT0gMCB8fFxcbiAgICBwcm9jZXNzLnZlcnNpb24uaW5kZXhPZigndjEuJykgPT09IDAgJiYgcHJvY2Vzcy52ZXJzaW9uLmluZGV4T2YoJ3YxLjguJykgIT09IDApIHtcXG4gIG1vZHVsZS5leHBvcnRzID0geyBuZXh0VGljazogbmV4dFRpY2sgfTtcXG59IGVsc2Uge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBwcm9jZXNzXFxufVxcblxcbmZ1bmN0aW9uIG5leHRUaWNrKGZuLCBhcmcxLCBhcmcyLCBhcmczKSB7XFxuICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJjYWxsYmFja1xcXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XFxuICB9XFxuICB2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcXG4gIHZhciBhcmdzLCBpO1xcbiAgc3dpdGNoIChsZW4pIHtcXG4gIGNhc2UgMDpcXG4gIGNhc2UgMTpcXG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZm4pO1xcbiAgY2FzZSAyOlxcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2tPbmUoKSB7XFxuICAgICAgZm4uY2FsbChudWxsLCBhcmcxKTtcXG4gICAgfSk7XFxuICBjYXNlIDM6XFxuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uIGFmdGVyVGlja1R3bygpIHtcXG4gICAgICBmbi5jYWxsKG51bGwsIGFyZzEsIGFyZzIpO1xcbiAgICB9KTtcXG4gIGNhc2UgNDpcXG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gYWZ0ZXJUaWNrVGhyZWUoKSB7XFxuICAgICAgZm4uY2FsbChudWxsLCBhcmcxLCBhcmcyLCBhcmczKTtcXG4gICAgfSk7XFxuICBkZWZhdWx0OlxcbiAgICBhcmdzID0gbmV3IEFycmF5KGxlbiAtIDEpO1xcbiAgICBpID0gMDtcXG4gICAgd2hpbGUgKGkgPCBhcmdzLmxlbmd0aCkge1xcbiAgICAgIGFyZ3NbaSsrXSA9IGFyZ3VtZW50c1tpXTtcXG4gICAgfVxcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2soKSB7XFxuICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XFxuICAgIH0pO1xcbiAgfVxcbn1cXG5cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdjbTlqWlhOekxXNWxlSFJwWTJzdFlYSm5jeTlwYm1SbGVDNXFjejgxT0RReUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMQ3REUVVGaE96dEJRVVZpTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2IwSkJRVzlDTzBGQlEzQkNMRU5CUVVNN1FVRkRSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0J5YjJObGMzTXRibVY0ZEdsamF5MWhjbWR6TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNXBaaUFvZEhsd1pXOW1JSEJ5YjJObGMzTWdQVDA5SUNkMWJtUmxabWx1WldRbklIeDhYRzRnSUNBZ0lYQnliMk5sYzNNdWRtVnljMmx2YmlCOGZGeHVJQ0FnSUhCeWIyTmxjM011ZG1WeWMybHZiaTVwYm1SbGVFOW1LQ2QyTUM0bktTQTlQVDBnTUNCOGZGeHVJQ0FnSUhCeWIyTmxjM011ZG1WeWMybHZiaTVwYm1SbGVFOW1LQ2QyTVM0bktTQTlQVDBnTUNBbUppQndjbTlqWlhOekxuWmxjbk5wYjI0dWFXNWtaWGhQWmlnbmRqRXVPQzRuS1NBaFBUMGdNQ2tnZTF4dUlDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlIc2dibVY0ZEZScFkyczZJRzVsZUhSVWFXTnJJSDA3WEc1OUlHVnNjMlVnZTF4dUlDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlIQnliMk5sYzNOY2JuMWNibHh1Wm5WdVkzUnBiMjRnYm1WNGRGUnBZMnNvWm00c0lHRnlaekVzSUdGeVp6SXNJR0Z5WnpNcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCbWJpQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxd2lZMkZzYkdKaFkydGNJaUJoY21kMWJXVnVkQ0J0ZFhOMElHSmxJR0VnWm5WdVkzUnBiMjRuS1R0Y2JpQWdmVnh1SUNCMllYSWdiR1Z1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUR0Y2JpQWdkbUZ5SUdGeVozTXNJR2s3WEc0Z0lITjNhWFJqYUNBb2JHVnVLU0I3WEc0Z0lHTmhjMlVnTURwY2JpQWdZMkZ6WlNBeE9seHVJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpMbTVsZUhSVWFXTnJLR1p1S1R0Y2JpQWdZMkZ6WlNBeU9seHVJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpMbTVsZUhSVWFXTnJLR1oxYm1OMGFXOXVJR0ZtZEdWeVZHbGphMDl1WlNncElIdGNiaUFnSUNBZ0lHWnVMbU5oYkd3b2JuVnNiQ3dnWVhKbk1TazdYRzRnSUNBZ2ZTazdYRzRnSUdOaGMyVWdNenBjYmlBZ0lDQnlaWFIxY200Z2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobWRXNWpkR2x2YmlCaFpuUmxjbFJwWTJ0VWQyOG9LU0I3WEc0Z0lDQWdJQ0JtYmk1allXeHNLRzUxYkd3c0lHRnlaekVzSUdGeVp6SXBPMXh1SUNBZ0lIMHBPMXh1SUNCallYTmxJRFE2WEc0Z0lDQWdjbVYwZFhKdUlIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1puVnVZM1JwYjI0Z1lXWjBaWEpVYVdOclZHaHlaV1VvS1NCN1hHNGdJQ0FnSUNCbWJpNWpZV3hzS0c1MWJHd3NJR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBPMXh1SUNBZ0lIMHBPMXh1SUNCa1pXWmhkV3gwT2x4dUlDQWdJR0Z5WjNNZ1BTQnVaWGNnUVhKeVlYa29iR1Z1SUMwZ01TazdYRzRnSUNBZ2FTQTlJREE3WEc0Z0lDQWdkMmhwYkdVZ0tHa2dQQ0JoY21kekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lYSm5jMXRwS3l0ZElEMGdZWEpuZFcxbGJuUnpXMmxkTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobWRXNWpkR2x2YmlCaFpuUmxjbFJwWTJzb0tTQjdYRzRnSUNBZ0lDQm1iaTVoY0hCc2VTaHVkV3hzTENCaGNtZHpLVHRjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVmVnh1WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzLW5leHRpY2stYXJncy9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcXG52YXIgcHJvY2VzcyA9IG1vZHVsZS5leHBvcnRzID0ge307XFxuXFxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XFxuLy8gZG9uJ3QgYnJlYWsgdGhpbmdzLiAgQnV0IHdlIG5lZWQgdG8gd3JhcCBpdCBpbiBhIHRyeSBjYXRjaCBpbiBjYXNlIGl0IGlzXFxuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXFxuXFxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XFxudmFyIGNhY2hlZENsZWFyVGltZW91dDtcXG5cXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcXG59XFxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XFxufVxcbihmdW5jdGlvbiAoKSB7XFxuICAgIHRyeSB7XFxuICAgICAgICBpZiAodHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XFxuICAgICAgICB9XFxuICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xcbiAgICB9XFxuICAgIHRyeSB7XFxuICAgICAgICBpZiAodHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcXG4gICAgICAgIH1cXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcXG4gICAgfVxcbn0gKCkpXFxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcXG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcXG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcXG4gICAgfVxcbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcXG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcXG4gICAgfVxcbiAgICB0cnkge1xcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcXG4gICAgfSBjYXRjaChlKXtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xcbiAgICAgICAgfSBjYXRjaChlKXtcXG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcblxcbn1cXG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XFxuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXFxuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XFxuICAgIH1cXG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcXG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcXG4gICAgfVxcbiAgICB0cnkge1xcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xcbiAgICB9IGNhdGNoIChlKXtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xcbiAgICAgICAgfSBjYXRjaCAoZSl7XFxuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXFxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuXFxuXFxufVxcbnZhciBxdWV1ZSA9IFtdO1xcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xcbnZhciBjdXJyZW50UXVldWU7XFxudmFyIHF1ZXVlSW5kZXggPSAtMTtcXG5cXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XFxuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICAgIGRyYWluaW5nID0gZmFsc2U7XFxuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XFxuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xcbiAgICB9XFxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcXG4gICAgICAgIGRyYWluUXVldWUoKTtcXG4gICAgfVxcbn1cXG5cXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xcbiAgICBpZiAoZHJhaW5pbmcpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgfVxcbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcXG4gICAgZHJhaW5pbmcgPSB0cnVlO1xcblxcbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xcbiAgICB3aGlsZShsZW4pIHtcXG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xcbiAgICAgICAgcXVldWUgPSBbXTtcXG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcXG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XFxuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XFxuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XFxuICAgIH1cXG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcXG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcXG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xcbn1cXG5cXG5wcm9jZXNzLm5leHRUaWNrID0gZnVuY3Rpb24gKGZ1bikge1xcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XFxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcXG4gICAgICAgIH1cXG4gICAgfVxcbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xcbiAgICAgICAgcnVuVGltZW91dChkcmFpblF1ZXVlKTtcXG4gICAgfVxcbn07XFxuXFxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xcbiAgICB0aGlzLmZ1biA9IGZ1bjtcXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xcbn1cXG5JdGVtLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XFxuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xcbn07XFxucHJvY2Vzcy50aXRsZSA9ICdicm93c2VyJztcXG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xcbnByb2Nlc3MuZW52ID0ge307XFxucHJvY2Vzcy5hcmd2ID0gW107XFxucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXFxucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xcblxcbmZ1bmN0aW9uIG5vb3AoKSB7fVxcblxcbnByb2Nlc3Mub24gPSBub29wO1xcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xcbnByb2Nlc3Mub25jZSA9IG5vb3A7XFxucHJvY2Vzcy5vZmYgPSBub29wO1xcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcXG5wcm9jZXNzLmVtaXQgPSBub29wO1xcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcXG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xcblxcbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cXG5cXG5wcm9jZXNzLmJpbmRpbmcgPSBmdW5jdGlvbiAobmFtZSkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XFxufTtcXG5cXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkJyk7XFxufTtcXG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2NtOWpaWE56TDJKeWIzZHpaWEl1YW5NL056WTJaU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenM3UVVGSlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMSE5DUVVGelFqdEJRVU0zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWp0QlFVTnlRanM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2NVTkJRWEZET3p0QlFVVnlRenRCUVVOQk8wRkJRMEU3TzBGQlJVRXNNa0pCUVRKQ08wRkJRek5DTzBGQlEwRTdRVUZEUVR0QlFVTkJMRFJDUVVFMFFpeFZRVUZWSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0J5YjJObGMzTXZZbkp2ZDNObGNpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJSE5vYVcwZ1ptOXlJSFZ6YVc1bklIQnliMk5sYzNNZ2FXNGdZbkp2ZDNObGNseHVkbUZ5SUhCeWIyTmxjM01nUFNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUh0OU8xeHVYRzR2THlCallXTm9aV1FnWm5KdmJTQjNhR0YwWlhabGNpQm5iRzlpWVd3Z2FYTWdjSEpsYzJWdWRDQnpieUIwYUdGMElIUmxjM1FnY25WdWJtVnljeUIwYUdGMElITjBkV0lnYVhSY2JpOHZJR1J2YmlkMElHSnlaV0ZySUhSb2FXNW5jeTRnSUVKMWRDQjNaU0J1WldWa0lIUnZJSGR5WVhBZ2FYUWdhVzRnWVNCMGNua2dZMkYwWTJnZ2FXNGdZMkZ6WlNCcGRDQnBjMXh1THk4Z2QzSmhjSEJsWkNCcGJpQnpkSEpwWTNRZ2JXOWtaU0JqYjJSbElIZG9hV05vSUdSdlpYTnVKM1FnWkdWbWFXNWxJR0Z1ZVNCbmJHOWlZV3h6TGlBZ1NYUW5jeUJwYm5OcFpHVWdZVnh1THk4Z1puVnVZM1JwYjI0Z1ltVmpZWFZ6WlNCMGNua3ZZMkYwWTJobGN5QmtaVzl3ZEdsdGFYcGxJR2x1SUdObGNuUmhhVzRnWlc1bmFXNWxjeTVjYmx4dWRtRnlJR05oWTJobFpGTmxkRlJwYldWdmRYUTdYRzUyWVhJZ1kyRmphR1ZrUTJ4bFlYSlVhVzFsYjNWME8xeHVYRzVtZFc1amRHbHZiaUJrWldaaGRXeDBVMlYwVkdsdGIzVjBLQ2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25jMlYwVkdsdFpXOTFkQ0JvWVhNZ2JtOTBJR0psWlc0Z1pHVm1hVzVsWkNjcE8xeHVmVnh1Wm5WdVkzUnBiMjRnWkdWbVlYVnNkRU5zWldGeVZHbHRaVzkxZENBb0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkamJHVmhjbFJwYldWdmRYUWdhR0Z6SUc1dmRDQmlaV1Z1SUdSbFptbHVaV1FuS1R0Y2JuMWNiaWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ6WlhSVWFXMWxiM1YwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZV05vWldSVFpYUlVhVzFsYjNWMElEMGdjMlYwVkdsdFpXOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhZMmhsWkZObGRGUnBiV1Z2ZFhRZ1BTQmtaV1poZFd4MFUyVjBWR2x0YjNWME8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdJQ0JqWVdOb1pXUlRaWFJVYVcxbGIzVjBJRDBnWkdWbVlYVnNkRk5sZEZScGJXOTFkRHRjYmlBZ0lDQjlYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamJHVmhjbFJwYldWdmRYUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaFkyaGxaRU5zWldGeVZHbHRaVzkxZENBOUlHTnNaV0Z5VkdsdFpXOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlJR1JsWm1GMWJIUkRiR1ZoY2xScGJXVnZkWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlJR1JsWm1GMWJIUkRiR1ZoY2xScGJXVnZkWFE3WEc0Z0lDQWdmVnh1ZlNBb0tTbGNibVoxYm1OMGFXOXVJSEoxYmxScGJXVnZkWFFvWm5WdUtTQjdYRzRnSUNBZ2FXWWdLR05oWTJobFpGTmxkRlJwYldWdmRYUWdQVDA5SUhObGRGUnBiV1Z2ZFhRcElIdGNiaUFnSUNBZ0lDQWdMeTl1YjNKdFlXd2daVzUyYVhKdmJXVnVkSE1nYVc0Z2MyRnVaU0J6YVhSMVlYUnBiMjV6WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6WlhSVWFXMWxiM1YwS0daMWJpd2dNQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJR2xtSUhObGRGUnBiV1Z2ZFhRZ2QyRnpiaWQwSUdGMllXbHNZV0pzWlNCaWRYUWdkMkZ6SUd4aGRIUmxjaUJrWldacGJtVmtYRzRnSUNBZ2FXWWdLQ2hqWVdOb1pXUlRaWFJVYVcxbGIzVjBJRDA5UFNCa1pXWmhkV3gwVTJWMFZHbHRiM1YwSUh4OElDRmpZV05vWldSVFpYUlVhVzFsYjNWMEtTQW1KaUJ6WlhSVWFXMWxiM1YwS1NCN1hHNGdJQ0FnSUNBZ0lHTmhZMmhsWkZObGRGUnBiV1Z2ZFhRZ1BTQnpaWFJVYVcxbGIzVjBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMlYwVkdsdFpXOTFkQ2htZFc0c0lEQXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0F2THlCM2FHVnVJSGRvWlc0Z2MyOXRaV0p2WkhrZ2FHRnpJSE5qY21WM1pXUWdkMmwwYUNCelpYUlVhVzFsYjNWMElHSjFkQ0J1YnlCSkxrVXVJRzFoWkdSdVpYTnpYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpZV05vWldSVFpYUlVhVzFsYjNWMEtHWjFiaXdnTUNrN1hHNGdJQ0FnZlNCallYUmphQ2hsS1h0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRvWlc0Z2QyVWdZWEpsSUdsdUlFa3VSUzRnWW5WMElIUm9aU0J6WTNKcGNIUWdhR0Z6SUdKbFpXNGdaWFpoYkdWa0lITnZJRWt1UlM0Z1pHOWxjMjRuZENCMGNuVnpkQ0IwYUdVZ1oyeHZZbUZzSUc5aWFtVmpkQ0IzYUdWdUlHTmhiR3hsWkNCdWIzSnRZV3hzZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHTmhZMmhsWkZObGRGUnBiV1Z2ZFhRdVkyRnNiQ2h1ZFd4c0xDQm1kVzRzSURBcE8xeHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0tHVXBlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMkZ0WlNCaGN5QmhZbTkyWlNCaWRYUWdkMmhsYmlCcGRDZHpJR0VnZG1WeWMybHZiaUJ2WmlCSkxrVXVJSFJvWVhRZ2JYVnpkQ0JvWVhabElIUm9aU0JuYkc5aVlXd2diMkpxWldOMElHWnZjaUFuZEdocGN5Y3NJR2h2Y0daMWJHeDVJRzkxY2lCamIyNTBaWGgwSUdOdmNuSmxZM1FnYjNSb1pYSjNhWE5sSUdsMElIZHBiR3dnZEdoeWIzY2dZU0JuYkc5aVlXd2daWEp5YjNKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpZV05vWldSVFpYUlVhVzFsYjNWMExtTmhiR3dvZEdocGN5d2dablZ1TENBd0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1WEc1OVhHNW1kVzVqZEdsdmJpQnlkVzVEYkdWaGNsUnBiV1Z2ZFhRb2JXRnlhMlZ5S1NCN1hHNGdJQ0FnYVdZZ0tHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlQVDBnWTJ4bFlYSlVhVzFsYjNWMEtTQjdYRzRnSUNBZ0lDQWdJQzh2Ym05eWJXRnNJR1Z1ZG1seWIyMWxiblJ6SUdsdUlITmhibVVnYzJsMGRXRjBhVzl1YzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTJ4bFlYSlVhVzFsYjNWMEtHMWhjbXRsY2lrN1hHNGdJQ0FnZlZ4dUlDQWdJQzh2SUdsbUlHTnNaV0Z5VkdsdFpXOTFkQ0IzWVhOdUozUWdZWFpoYVd4aFlteGxJR0oxZENCM1lYTWdiR0YwZEdWeUlHUmxabWx1WldSY2JpQWdJQ0JwWmlBb0tHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlQVDBnWkdWbVlYVnNkRU5zWldGeVZHbHRaVzkxZENCOGZDQWhZMkZqYUdWa1EyeGxZWEpVYVcxbGIzVjBLU0FtSmlCamJHVmhjbFJwYldWdmRYUXBJSHRjYmlBZ0lDQWdJQ0FnWTJGamFHVmtRMnhsWVhKVWFXMWxiM1YwSUQwZ1kyeGxZWEpVYVcxbGIzVjBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMnhsWVhKVWFXMWxiM1YwS0cxaGNtdGxjaWs3WEc0Z0lDQWdmVnh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUM4dklIZG9aVzRnZDJobGJpQnpiMjFsWW05a2VTQm9ZWE1nYzJOeVpYZGxaQ0IzYVhSb0lITmxkRlJwYldWdmRYUWdZblYwSUc1dklFa3VSUzRnYldGa1pHNWxjM05jYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR05oWTJobFpFTnNaV0Z5VkdsdFpXOTFkQ2h0WVhKclpYSXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBlMXh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyaGxiaUIzWlNCaGNtVWdhVzRnU1M1RkxpQmlkWFFnZEdobElITmpjbWx3ZENCb1lYTWdZbVZsYmlCbGRtRnNaV1FnYzI4Z1NTNUZMaUJrYjJWemJpZDBJQ0IwY25WemRDQjBhR1VnWjJ4dlltRnNJRzlpYW1WamRDQjNhR1Z1SUdOaGJHeGxaQ0J1YjNKdFlXeHNlVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOaFkyaGxaRU5zWldGeVZHbHRaVzkxZEM1allXeHNLRzUxYkd3c0lHMWhjbXRsY2lrN1hHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHVXBlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMkZ0WlNCaGN5QmhZbTkyWlNCaWRYUWdkMmhsYmlCcGRDZHpJR0VnZG1WeWMybHZiaUJ2WmlCSkxrVXVJSFJvWVhRZ2JYVnpkQ0JvWVhabElIUm9aU0JuYkc5aVlXd2diMkpxWldOMElHWnZjaUFuZEdocGN5Y3NJR2h2Y0daMWJHeDVJRzkxY2lCamIyNTBaWGgwSUdOdmNuSmxZM1FnYjNSb1pYSjNhWE5sSUdsMElIZHBiR3dnZEdoeWIzY2dZU0JuYkc5aVlXd2daWEp5YjNJdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVGIyMWxJSFpsY25OcGIyNXpJRzltSUVrdVJTNGdhR0YyWlNCa2FXWm1aWEpsYm5RZ2NuVnNaWE1nWm05eUlHTnNaV0Z5VkdsdFpXOTFkQ0IyY3lCelpYUlVhVzFsYjNWMFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMkZqYUdWa1EyeGxZWEpVYVcxbGIzVjBMbU5oYkd3b2RHaHBjeXdnYldGeWEyVnlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dVhHNWNibjFjYm5aaGNpQnhkV1YxWlNBOUlGdGRPMXh1ZG1GeUlHUnlZV2x1YVc1bklEMGdabUZzYzJVN1hHNTJZWElnWTNWeWNtVnVkRkYxWlhWbE8xeHVkbUZ5SUhGMVpYVmxTVzVrWlhnZ1BTQXRNVHRjYmx4dVpuVnVZM1JwYjI0Z1kyeGxZVzVWY0U1bGVIUlVhV05yS0NrZ2UxeHVJQ0FnSUdsbUlDZ2haSEpoYVc1cGJtY2dmSHdnSVdOMWNuSmxiblJSZFdWMVpTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0FnSUdSeVlXbHVhVzVuSUQwZ1ptRnNjMlU3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblJSZFdWMVpTNXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdjWFZsZFdVZ1BTQmpkWEp5Wlc1MFVYVmxkV1V1WTI5dVkyRjBLSEYxWlhWbEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCeGRXVjFaVWx1WkdWNElEMGdMVEU3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h4ZFdWMVpTNXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdaSEpoYVc1UmRXVjFaU2dwTzF4dUlDQWdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdaSEpoYVc1UmRXVjFaU2dwSUh0Y2JpQWdJQ0JwWmlBb1pISmhhVzVwYm1jcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JpQWdJQ0IyWVhJZ2RHbHRaVzkxZENBOUlISjFibFJwYldWdmRYUW9ZMnhsWVc1VmNFNWxlSFJVYVdOcktUdGNiaUFnSUNCa2NtRnBibWx1WnlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnY1hWbGRXVXViR1Z1WjNSb08xeHVJQ0FnSUhkb2FXeGxLR3hsYmlrZ2UxeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFVYVmxkV1VnUFNCeGRXVjFaVHRjYmlBZ0lDQWdJQ0FnY1hWbGRXVWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0NzcmNYVmxkV1ZKYm1SbGVDQThJR3hsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5SUmRXVjFaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJSZFdWMVpWdHhkV1YxWlVsdVpHVjRYUzV5ZFc0b0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnhkV1YxWlVsdVpHVjRJRDBnTFRFN1hHNGdJQ0FnSUNBZ0lHeGxiaUE5SUhGMVpYVmxMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJQ0FnWTNWeWNtVnVkRkYxWlhWbElEMGdiblZzYkR0Y2JpQWdJQ0JrY21GcGJtbHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lISjFia05zWldGeVZHbHRaVzkxZENoMGFXMWxiM1YwS1R0Y2JuMWNibHh1Y0hKdlkyVnpjeTV1WlhoMFZHbGpheUE5SUdaMWJtTjBhVzl1SUNobWRXNHBJSHRjYmlBZ0lDQjJZWElnWVhKbmN5QTlJRzVsZHlCQmNuSmhlU2hoY21kMWJXVnVkSE11YkdWdVozUm9JQzBnTVNrN1hHNGdJQ0FnYVdZZ0tHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXhPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjbWR6VzJrZ0xTQXhYU0E5SUdGeVozVnRaVzUwYzF0cFhUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeGRXVjFaUzV3ZFhOb0tHNWxkeUJKZEdWdEtHWjFiaXdnWVhKbmN5a3BPMXh1SUNBZ0lHbG1JQ2h4ZFdWMVpTNXNaVzVuZEdnZ1BUMDlJREVnSmlZZ0lXUnlZV2x1YVc1bktTQjdYRzRnSUNBZ0lDQWdJSEoxYmxScGJXVnZkWFFvWkhKaGFXNVJkV1YxWlNrN1hHNGdJQ0FnZlZ4dWZUdGNibHh1THk4Z2RqZ2diR2xyWlhNZ2NISmxaR2xqZEdsaWJHVWdiMkpxWldOMGMxeHVablZ1WTNScGIyNGdTWFJsYlNobWRXNHNJR0Z5Y21GNUtTQjdYRzRnSUNBZ2RHaHBjeTVtZFc0Z1BTQm1kVzQ3WEc0Z0lDQWdkR2hwY3k1aGNuSmhlU0E5SUdGeWNtRjVPMXh1ZlZ4dVNYUmxiUzV3Y205MGIzUjVjR1V1Y25WdUlEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFJvYVhNdVpuVnVMbUZ3Y0d4NUtHNTFiR3dzSUhSb2FYTXVZWEp5WVhrcE8xeHVmVHRjYm5CeWIyTmxjM011ZEdsMGJHVWdQU0FuWW5KdmQzTmxjaWM3WEc1d2NtOWpaWE56TG1KeWIzZHpaWElnUFNCMGNuVmxPMXh1Y0hKdlkyVnpjeTVsYm5ZZ1BTQjdmVHRjYm5CeWIyTmxjM011WVhKbmRpQTlJRnRkTzF4dWNISnZZMlZ6Y3k1MlpYSnphVzl1SUQwZ0p5YzdJQzh2SUdWdGNIUjVJSE4wY21sdVp5QjBieUJoZG05cFpDQnlaV2RsZUhBZ2FYTnpkV1Z6WEc1d2NtOWpaWE56TG5abGNuTnBiMjV6SUQwZ2UzMDdYRzVjYm1aMWJtTjBhVzl1SUc1dmIzQW9LU0I3ZlZ4dVhHNXdjbTlqWlhOekxtOXVJRDBnYm05dmNEdGNibkJ5YjJObGMzTXVZV1JrVEdsemRHVnVaWElnUFNCdWIyOXdPMXh1Y0hKdlkyVnpjeTV2Ym1ObElEMGdibTl2Y0R0Y2JuQnliMk5sYzNNdWIyWm1JRDBnYm05dmNEdGNibkJ5YjJObGMzTXVjbVZ0YjNabFRHbHpkR1Z1WlhJZ1BTQnViMjl3TzF4dWNISnZZMlZ6Y3k1eVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NZ1BTQnViMjl3TzF4dWNISnZZMlZ6Y3k1bGJXbDBJRDBnYm05dmNEdGNibkJ5YjJObGMzTXVjSEpsY0dWdVpFeHBjM1JsYm1WeUlEMGdibTl2Y0R0Y2JuQnliMk5sYzNNdWNISmxjR1Z1WkU5dVkyVk1hWE4wWlc1bGNpQTlJRzV2YjNBN1hHNWNibkJ5YjJObGMzTXViR2x6ZEdWdVpYSnpJRDBnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHNnY21WMGRYSnVJRnRkSUgxY2JseHVjSEp2WTJWemN5NWlhVzVrYVc1bklEMGdablZ1WTNScGIyNGdLRzVoYldVcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjNCeWIyTmxjM011WW1sdVpHbHVaeUJwY3lCdWIzUWdjM1Z3Y0c5eWRHVmtKeWs3WEc1OU8xeHVYRzV3Y205alpYTnpMbU4zWkNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJQ2N2SnlCOU8xeHVjSEp2WTJWemN5NWphR1JwY2lBOUlHWjFibU4wYVc5dUlDaGthWElwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM0J5YjJObGMzTXVZMmhrYVhJZ2FYTWdibTkwSUhOMWNIQnZjblJsWkNjcE8xeHVmVHRjYm5CeWIyTmxjM011ZFcxaGMyc2dQU0JtZFc1amRHbHZiaWdwSUhzZ2NtVjBkWEp1SURBN0lIMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKipcXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cXG4gKlxcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cXG4gKi9cXG5cXG5cXG5cXG52YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcXG5cXG5pZiAodHJ1ZSkge1xcbiAgdmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzXFxcIik7XFxuICB2YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XFxuICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpO1xcblxcbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgdGV4dDtcXG4gICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XFxuICAgIH1cXG4gICAgdHJ5IHtcXG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXFxuICAgICAgLy8gVGhpcyBlcnJvciB3YXMgdGhyb3duIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHN0YWNrXFxuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXFxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xcbiAgICB9IGNhdGNoICh4KSB7fVxcbiAgfTtcXG59XFxuXFxuLyoqXFxuICogQXNzZXJ0IHRoYXQgdGhlIHZhbHVlcyBtYXRjaCB3aXRoIHRoZSB0eXBlIHNwZWNzLlxcbiAqIEVycm9yIG1lc3NhZ2VzIGFyZSBtZW1vcml6ZWQgYW5kIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IHR5cGVTcGVjcyBNYXAgb2YgbmFtZSB0byBhIFJlYWN0UHJvcFR5cGVcXG4gKiBAcGFyYW0ge29iamVjdH0gdmFsdWVzIFJ1bnRpbWUgdmFsdWVzIHRoYXQgbmVlZCB0byBiZSB0eXBlLWNoZWNrZWRcXG4gKiBAcGFyYW0ge3N0cmluZ30gbG9jYXRpb24gZS5nLiBcXFwicHJvcFxcXCIsIFxcXCJjb250ZXh0XFxcIiwgXFxcImNoaWxkIGNvbnRleHRcXFwiXFxuICogQHBhcmFtIHtzdHJpbmd9IGNvbXBvbmVudE5hbWUgTmFtZSBvZiB0aGUgY29tcG9uZW50IGZvciBlcnJvciBtZXNzYWdlcy5cXG4gKiBAcGFyYW0gez9GdW5jdGlvbn0gZ2V0U3RhY2sgUmV0dXJucyB0aGUgY29tcG9uZW50IHN0YWNrLlxcbiAqIEBwcml2YXRlXFxuICovXFxuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBnZXRTdGFjaykge1xcbiAgaWYgKHRydWUpIHtcXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XFxuICAgICAgICB2YXIgZXJyb3I7XFxuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xcbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxcbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXFxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcihcXG4gICAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArXFxuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nXFxuICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcXG4gICAgICAgICAgICB0aHJvdyBlcnI7XFxuICAgICAgICAgIH1cXG4gICAgICAgICAgZXJyb3IgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcXG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XFxuICAgICAgICAgIGVycm9yID0gZXg7XFxuICAgICAgICB9XFxuICAgICAgICBpZiAoZXJyb3IgJiYgIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xcbiAgICAgICAgICBwcmludFdhcm5pbmcoXFxuICAgICAgICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJyArXFxuICAgICAgICAgICAgbG9jYXRpb24gKyAnIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICtcXG4gICAgICAgICAgICAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJyArIHR5cGVvZiBlcnJvciArICcuICcgK1xcbiAgICAgICAgICAgICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICtcXG4gICAgICAgICAgICAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICtcXG4gICAgICAgICAgICAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLidcXG4gICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XFxuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxcbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IubWVzc2FnZV0gPSB0cnVlO1xcblxcbiAgICAgICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjayA/IGdldFN0YWNrKCkgOiAnJztcXG5cXG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxcbiAgICAgICAgICAgICdGYWlsZWQgJyArIGxvY2F0aW9uICsgJyB0eXBlOiAnICsgZXJyb3IubWVzc2FnZSArIChzdGFjayAhPSBudWxsID8gc3RhY2sgOiAnJylcXG4gICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLyoqXFxuICogUmVzZXRzIHdhcm5pbmcgY2FjaGUgd2hlbiB0ZXN0aW5nLlxcbiAqXFxuICogQHByaXZhdGVcXG4gKi9cXG5jaGVja1Byb3BUeXBlcy5yZXNldFdhcm5pbmdDYWNoZSA9IGZ1bmN0aW9uKCkge1xcbiAgaWYgKHRydWUpIHtcXG4gICAgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XFxuICB9XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gY2hlY2tQcm9wVHlwZXM7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3Y205d0xYUjVjR1Z6TDJOb1pXTnJVSEp2Y0ZSNWNHVnpMbXB6UDJSa01tSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWaE96dEJRVVZpT3p0QlFVVkJMRWxCUVVrc1NVRkJjVU03UVVGRGVrTXNOa0pCUVRaQ0xHMUNRVUZQTEVOQlFVTXNlVVpCUVRSQ08wRkJRMnBGTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEZWQlFWVTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEVzVFVGQlRTeEpRVUZ4UXp0QlFVTXpRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTkVkQlFUUkhPMEZCUXpWSE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNa1JCUVRKRU8wRkJRek5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1RVRkJUU3hKUVVGeFF6dEJRVU16UXp0QlFVTkJPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjSEp2Y0MxMGVYQmxjeTlqYUdWamExQnliM0JVZVhCbGN5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFekxYQnlaWE5sYm5Rc0lFWmhZMlZpYjI5ckxDQkpibU11WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1RVbFVJR3hwWTJWdWMyVWdabTkxYm1RZ2FXNGdkR2hsWEc0Z0tpQk1TVU5GVGxORklHWnBiR1VnYVc0Z2RHaGxJSEp2YjNRZ1pHbHlaV04wYjNKNUlHOW1JSFJvYVhNZ2MyOTFjbU5sSUhSeVpXVXVYRzRnS2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnY0hKcGJuUlhZWEp1YVc1bklEMGdablZ1WTNScGIyNG9LU0I3ZlR0Y2JseHVhV1lnS0hCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lDRTlQU0FuY0hKdlpIVmpkR2x2YmljcElIdGNiaUFnZG1GeUlGSmxZV04wVUhKdmNGUjVjR1Z6VTJWamNtVjBJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZVbVZoWTNSUWNtOXdWSGx3WlhOVFpXTnlaWFFuS1R0Y2JpQWdkbUZ5SUd4dloyZGxaRlI1Y0dWR1lXbHNkWEpsY3lBOUlIdDlPMXh1SUNCMllYSWdhR0Z6SUQwZ1JuVnVZM1JwYjI0dVkyRnNiQzVpYVc1a0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGtwTzF4dVhHNGdJSEJ5YVc1MFYyRnlibWx1WnlBOUlHWjFibU4wYVc5dUtIUmxlSFFwSUh0Y2JpQWdJQ0IyWVhJZ2JXVnpjMkZuWlNBOUlDZFhZWEp1YVc1bk9pQW5JQ3NnZEdWNGREdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTnZibk52YkdVZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG1WeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdMeThnTFMwdElGZGxiR052YldVZ2RHOGdaR1ZpZFdkbmFXNW5JRkpsWVdOMElDMHRMVnh1SUNBZ0lDQWdMeThnVkdocGN5Qmxjbkp2Y2lCM1lYTWdkR2h5YjNkdUlHRnpJR0VnWTI5dWRtVnVhV1Z1WTJVZ2MyOGdkR2hoZENCNWIzVWdZMkZ1SUhWelpTQjBhR2x6SUhOMFlXTnJYRzRnSUNBZ0lDQXZMeUIwYnlCbWFXNWtJSFJvWlNCallXeHNjMmwwWlNCMGFHRjBJR05oZFhObFpDQjBhR2x6SUhkaGNtNXBibWNnZEc4Z1ptbHlaUzVjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOUlHTmhkR05vSUNoNEtTQjdmVnh1SUNCOU8xeHVmVnh1WEc0dktpcGNiaUFxSUVGemMyVnlkQ0IwYUdGMElIUm9aU0IyWVd4MVpYTWdiV0YwWTJnZ2QybDBhQ0IwYUdVZ2RIbHdaU0J6Y0dWamN5NWNiaUFxSUVWeWNtOXlJRzFsYzNOaFoyVnpJR0Z5WlNCdFpXMXZjbWw2WldRZ1lXNWtJSGRwYkd3Z2IyNXNlU0JpWlNCemFHOTNiaUJ2Ym1ObExseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCMGVYQmxVM0JsWTNNZ1RXRndJRzltSUc1aGJXVWdkRzhnWVNCU1pXRmpkRkJ5YjNCVWVYQmxYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnZG1Gc2RXVnpJRkoxYm5ScGJXVWdkbUZzZFdWeklIUm9ZWFFnYm1WbFpDQjBieUJpWlNCMGVYQmxMV05vWldOclpXUmNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JzYjJOaGRHbHZiaUJsTG1jdUlGd2ljSEp2Y0Z3aUxDQmNJbU52Ym5SbGVIUmNJaXdnWENKamFHbHNaQ0JqYjI1MFpYaDBYQ0pjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCamIyMXdiMjVsYm5ST1lXMWxJRTVoYldVZ2IyWWdkR2hsSUdOdmJYQnZibVZ1ZENCbWIzSWdaWEp5YjNJZ2JXVnpjMkZuWlhNdVhHNGdLaUJBY0dGeVlXMGdlejlHZFc1amRHbHZibjBnWjJWMFUzUmhZMnNnVW1WMGRYSnVjeUIwYUdVZ1kyOXRjRzl1Wlc1MElITjBZV05yTGx4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1kyaGxZMnRRY205d1ZIbHdaWE1vZEhsd1pWTndaV056TENCMllXeDFaWE1zSUd4dlkyRjBhVzl1TENCamIyMXdiMjVsYm5ST1lXMWxMQ0JuWlhSVGRHRmpheWtnZTF4dUlDQnBaaUFvY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUhSNWNHVlRjR1ZqVG1GdFpTQnBiaUIwZVhCbFUzQmxZM01wSUh0Y2JpQWdJQ0FnSUdsbUlDaG9ZWE1vZEhsd1pWTndaV056TENCMGVYQmxVM0JsWTA1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmxjbkp2Y2p0Y2JpQWdJQ0FnSUNBZ0x5OGdVSEp2Y0NCMGVYQmxJSFpoYkdsa1lYUnBiMjRnYldGNUlIUm9jbTkzTGlCSmJpQmpZWE5sSUhSb1pYa2daRzhzSUhkbElHUnZiaWQwSUhkaGJuUWdkRzljYmlBZ0lDQWdJQ0FnTHk4Z1ptRnBiQ0IwYUdVZ2NtVnVaR1Z5SUhCb1lYTmxJSGRvWlhKbElHbDBJR1JwWkc0bmRDQm1ZV2xzSUdKbFptOXlaUzRnVTI4Z2QyVWdiRzluSUdsMExseHVJQ0FnSUNBZ0lDQXZMeUJCWm5SbGNpQjBhR1Z6WlNCb1lYWmxJR0psWlc0Z1kyeGxZVzVsWkNCMWNDd2dkMlVuYkd3Z2JHVjBJSFJvWlcwZ2RHaHliM2N1WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCcGJuUmxiblJwYjI1aGJHeDVJR0Z1SUdsdWRtRnlhV0Z1ZENCMGFHRjBJR2RsZEhNZ1kyRjFaMmgwTGlCSmRDZHpJSFJvWlNCellXMWxYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ltVm9ZWFpwYjNJZ1lYTWdkMmwwYUc5MWRDQjBhR2x6SUhOMFlYUmxiV1Z1ZENCbGVHTmxjSFFnZDJsMGFDQmhJR0psZEhSbGNpQnRaWE56WVdkbExseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnZEhsd1pWTndaV056VzNSNWNHVlRjR1ZqVG1GdFpWMGdJVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmxjbklnUFNCRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLR052YlhCdmJtVnVkRTVoYldVZ2ZId2dKMUpsWVdOMElHTnNZWE56SnlrZ0t5QW5PaUFuSUNzZ2JHOWpZWFJwYjI0Z0t5QW5JSFI1Y0dVZ1lDY2dLeUIwZVhCbFUzQmxZMDVoYldVZ0t5QW5ZQ0JwY3lCcGJuWmhiR2xrT3lBbklDdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0oybDBJRzExYzNRZ1ltVWdZU0JtZFc1amRHbHZiaXdnZFhOMVlXeHNlU0JtY205dElIUm9aU0JnY0hKdmNDMTBlWEJsYzJBZ2NHRmphMkZuWlN3Z1luVjBJSEpsWTJWcGRtVmtJR0FuSUNzZ2RIbHdaVzltSUhSNWNHVlRjR1ZqYzF0MGVYQmxVM0JsWTA1aGJXVmRJQ3NnSjJBdUoxeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y2k1dVlXMWxJRDBnSjBsdWRtRnlhV0Z1ZENCV2FXOXNZWFJwYjI0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2daWEp5TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0JsY25KdmNpQTlJSFI1Y0dWVGNHVmpjMXQwZVhCbFUzQmxZMDVoYldWZEtIWmhiSFZsY3l3Z2RIbHdaVk53WldOT1lXMWxMQ0JqYjIxd2IyNWxiblJPWVcxbExDQnNiMk5oZEdsdmJpd2diblZzYkN3Z1VtVmhZM1JRY205d1ZIbHdaWE5UWldOeVpYUXBPMXh1SUNBZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hsZUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUlEMGdaWGc3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLR1Z5Y205eUlDWW1JQ0VvWlhKeWIzSWdhVzV6ZEdGdVkyVnZaaUJGY25KdmNpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCd2NtbHVkRmRoY201cGJtY29YRzRnSUNBZ0lDQWdJQ0FnSUNBb1kyOXRjRzl1Wlc1MFRtRnRaU0I4ZkNBblVtVmhZM1FnWTJ4aGMzTW5LU0FySUNjNklIUjVjR1VnYzNCbFkybG1hV05oZEdsdmJpQnZaaUFuSUN0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3h2WTJGMGFXOXVJQ3NnSnlCZ0p5QXJJSFI1Y0dWVGNHVmpUbUZ0WlNBcklDZGdJR2x6SUdsdWRtRnNhV1E3SUhSb1pTQjBlWEJsSUdOb1pXTnJaWElnSnlBclhHNGdJQ0FnSUNBZ0lDQWdJQ0FuWm5WdVkzUnBiMjRnYlhWemRDQnlaWFIxY200Z1lHNTFiR3hnSUc5eUlHRnVJR0JGY25KdmNtQWdZblYwSUhKbGRIVnlibVZrSUdFZ0p5QXJJSFI1Y0dWdlppQmxjbkp2Y2lBcklDY3VJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdKMWx2ZFNCdFlYa2dhR0YyWlNCbWIzSm5iM1IwWlc0Z2RHOGdjR0Z6Y3lCaGJpQmhjbWQxYldWdWRDQjBieUIwYUdVZ2RIbHdaU0JqYUdWamEyVnlJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdKMk55WldGMGIzSWdLR0Z5Y21GNVQyWXNJR2x1YzNSaGJtTmxUMllzSUc5aWFtVmpkRTltTENCdmJtVlBaaXdnYjI1bFQyWlVlWEJsTENCaGJtUWdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQW5jMmhoY0dVZ1lXeHNJSEpsY1hWcGNtVWdZVzRnWVhKbmRXMWxiblFwTGlkY2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaGxjbkp2Y2lCcGJuTjBZVzVqWlc5bUlFVnljbTl5SUNZbUlDRW9aWEp5YjNJdWJXVnpjMkZuWlNCcGJpQnNiMmRuWldSVWVYQmxSbUZwYkhWeVpYTXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCdGIyNXBkRzl5SUhSb2FYTWdabUZwYkhWeVpTQnZibU5sSUdKbFkyRjFjMlVnZEdobGNtVWdkR1Z1WkhNZ2RHOGdZbVVnWVNCc2IzUWdiMllnZEdobFhHNGdJQ0FnSUNBZ0lDQWdMeThnYzJGdFpTQmxjbkp2Y2k1Y2JpQWdJQ0FnSUNBZ0lDQnNiMmRuWldSVWVYQmxSbUZwYkhWeVpYTmJaWEp5YjNJdWJXVnpjMkZuWlYwZ1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhOMFlXTnJJRDBnWjJWMFUzUmhZMnNnUHlCblpYUlRkR0ZqYXlncElEb2dKeWM3WEc1Y2JpQWdJQ0FnSUNBZ0lDQndjbWx1ZEZkaGNtNXBibWNvWEc0Z0lDQWdJQ0FnSUNBZ0lDQW5SbUZwYkdWa0lDY2dLeUJzYjJOaGRHbHZiaUFySUNjZ2RIbHdaVG9nSnlBcklHVnljbTl5TG0xbGMzTmhaMlVnS3lBb2MzUmhZMnNnSVQwZ2JuVnNiQ0EvSUhOMFlXTnJJRG9nSnljcFhHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUZKbGMyVjBjeUIzWVhKdWFXNW5JR05oWTJobElIZG9aVzRnZEdWemRHbHVaeTVjYmlBcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWphR1ZqYTFCeWIzQlVlWEJsY3k1eVpYTmxkRmRoY201cGJtZERZV05vWlNBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNCcFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQWdJR3h2WjJkbFpGUjVjR1ZHWVdsc2RYSmxjeUE5SUh0OU8xeHVJQ0I5WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdZMmhsWTJ0UWNtOXdWSGx3WlhNN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyoqXFxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXFxuICpcXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuICovXFxuXFxuXFxuXFxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2NtOXdMWFI1Y0dWekwyeHBZaTlTWldGamRGQnliM0JVZVhCbGMxTmxZM0psZEM1cWN6ODVPVEEzSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZZVHM3UVVGRllqczdRVUZGUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl3Y205d0xYUjVjR1Z6TDJ4cFlpOVNaV0ZqZEZCeWIzQlVlWEJsYzFObFkzSmxkQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERXpMWEJ5WlhObGJuUXNJRVpoWTJWaWIyOXJMQ0JKYm1NdVhHNGdLbHh1SUNvZ1ZHaHBjeUJ6YjNWeVkyVWdZMjlrWlNCcGN5QnNhV05sYm5ObFpDQjFibVJsY2lCMGFHVWdUVWxVSUd4cFkyVnVjMlVnWm05MWJtUWdhVzRnZEdobFhHNGdLaUJNU1VORlRsTkZJR1pwYkdVZ2FXNGdkR2hsSUhKdmIzUWdaR2x5WldOMGIzSjVJRzltSUhSb2FYTWdjMjkxY21ObElIUnlaV1V1WEc0Z0tpOWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1VtVmhZM1JRY205d1ZIbHdaWE5UWldOeVpYUWdQU0FuVTBWRFVrVlVYMFJQWDA1UFZGOVFRVk5UWDFSSVNWTmZUMUpmV1U5VlgxZEpURXhmUWtWZlJrbFNSVVFuTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGSmxZV04wVUhKdmNGUjVjR1Z6VTJWamNtVjBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiZXhwb3J0cy5wdWJsaWNFbmNyeXB0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9wdWJsaWNFbmNyeXB0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wdWJsaWNFbmNyeXB0LmpzXFxcIilcXG5leHBvcnRzLnByaXZhdGVEZWNyeXB0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9wcml2YXRlRGVjcnlwdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvcHJpdmF0ZURlY3J5cHQuanNcXFwiKVxcblxcbmV4cG9ydHMucHJpdmF0ZUVuY3J5cHQgPSBmdW5jdGlvbiBwcml2YXRlRW5jcnlwdCAoa2V5LCBidWYpIHtcXG4gIHJldHVybiBleHBvcnRzLnB1YmxpY0VuY3J5cHQoa2V5LCBidWYsIHRydWUpXFxufVxcblxcbmV4cG9ydHMucHVibGljRGVjcnlwdCA9IGZ1bmN0aW9uIHB1YmxpY0RlY3J5cHQgKGtleSwgYnVmKSB7XFxuICByZXR1cm4gZXhwb3J0cy5wcml2YXRlRGVjcnlwdChrZXksIGJ1ZiwgdHJ1ZSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3ZFdKc2FXTXRaVzVqY25sd2RDOWljbTkzYzJWeUxtcHpQMk0wWmpjaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNkMEpCUVhkQ0xHMUNRVUZQTEVOQlFVTXNkVVZCUVdsQ08wRkJRMnBFTEhsQ1FVRjVRaXh0UWtGQlR5eERRVUZETEhsRlFVRnJRanM3UVVGRmJrUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzlpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMGN5NXdkV0pzYVdORmJtTnllWEIwSUQwZ2NtVnhkV2x5WlNnbkxpOXdkV0pzYVdORmJtTnllWEIwSnlsY2JtVjRjRzl5ZEhNdWNISnBkbUYwWlVSbFkzSjVjSFFnUFNCeVpYRjFhWEpsS0NjdUwzQnlhWFpoZEdWRVpXTnllWEIwSnlsY2JseHVaWGh3YjNKMGN5NXdjbWwyWVhSbFJXNWpjbmx3ZENBOUlHWjFibU4wYVc5dUlIQnlhWFpoZEdWRmJtTnllWEIwSUNoclpYa3NJR0oxWmlrZ2UxeHVJQ0J5WlhSMWNtNGdaWGh3YjNKMGN5NXdkV0pzYVdORmJtTnllWEIwS0d0bGVTd2dZblZtTENCMGNuVmxLVnh1ZlZ4dVhHNWxlSEJ2Y25SekxuQjFZbXhwWTBSbFkzSjVjSFFnUFNCbWRXNWpkR2x2YmlCd2RXSnNhV05FWldOeWVYQjBJQ2hyWlhrc0lHSjFaaWtnZTF4dUlDQnlaWFIxY200Z1pYaHdiM0owY3k1d2NtbDJZWFJsUkdWamNubHdkQ2hyWlhrc0lHSjFaaXdnZEhKMVpTbGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9tZ2YuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L21nZi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBjcmVhdGVIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChzZWVkLCBsZW4pIHtcXG4gIHZhciB0ID0gQnVmZmVyLmFsbG9jKDApXFxuICB2YXIgaSA9IDBcXG4gIHZhciBjXFxuICB3aGlsZSAodC5sZW5ndGggPCBsZW4pIHtcXG4gICAgYyA9IGkyb3BzKGkrKylcXG4gICAgdCA9IEJ1ZmZlci5jb25jYXQoW3QsIGNyZWF0ZUhhc2goJ3NoYTEnKS51cGRhdGUoc2VlZCkudXBkYXRlKGMpLmRpZ2VzdCgpXSlcXG4gIH1cXG4gIHJldHVybiB0LnNsaWNlKDAsIGxlbilcXG59XFxuXFxuZnVuY3Rpb24gaTJvcHMgKGMpIHtcXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoNClcXG4gIG91dC53cml0ZVVJbnQzMkJFKGMsIDApXFxuICByZXR1cm4gb3V0XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzl0WjJZdWFuTS9PVFZpTkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5d3dSRUZCWVR0QlFVTjBReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNkMFJCUVdFN08wRkJSV3hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjSFZpYkdsakxXVnVZM0o1Y0hRdmJXZG1MbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdOeVpXRjBaVWhoYzJnZ1BTQnlaWEYxYVhKbEtDZGpjbVZoZEdVdGFHRnphQ2NwWEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25jMkZtWlMxaWRXWm1aWEluS1M1Q2RXWm1aWEpjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2MyVmxaQ3dnYkdWdUtTQjdYRzRnSUhaaGNpQjBJRDBnUW5WbVptVnlMbUZzYkc5aktEQXBYRzRnSUhaaGNpQnBJRDBnTUZ4dUlDQjJZWElnWTF4dUlDQjNhR2xzWlNBb2RDNXNaVzVuZEdnZ1BDQnNaVzRwSUh0Y2JpQWdJQ0JqSUQwZ2FUSnZjSE1vYVNzcktWeHVJQ0FnSUhRZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0MExDQmpjbVZoZEdWSVlYTm9LQ2R6YUdFeEp5a3VkWEJrWVhSbEtITmxaV1FwTG5Wd1pHRjBaU2hqS1M1a2FXZGxjM1FvS1YwcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhRdWMyeHBZMlVvTUN3Z2JHVnVLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBNbTl3Y3lBb1l5a2dlMXh1SUNCMllYSWdiM1YwSUQwZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabEtEUXBYRzRnSUc5MWRDNTNjbWwwWlZWSmJuUXpNa0pGS0dNc0lEQXBYRzRnSUhKbGRIVnliaUJ2ZFhSY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L21nZi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKG1vZHVsZSkgeyhmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XFxuICAndXNlIHN0cmljdCc7XFxuXFxuICAvLyBVdGlsc1xcbiAgZnVuY3Rpb24gYXNzZXJ0ICh2YWwsIG1zZykge1xcbiAgICBpZiAoIXZhbCkgdGhyb3cgbmV3IEVycm9yKG1zZyB8fCAnQXNzZXJ0aW9uIGZhaWxlZCcpO1xcbiAgfVxcblxcbiAgLy8gQ291bGQgdXNlIGBpbmhlcml0c2AgbW9kdWxlLCBidXQgZG9uJ3Qgd2FudCB0byBtb3ZlIGZyb20gc2luZ2xlIGZpbGVcXG4gIC8vIGFyY2hpdGVjdHVyZSB5ZXQuXFxuICBmdW5jdGlvbiBpbmhlcml0cyAoY3Rvciwgc3VwZXJDdG9yKSB7XFxuICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yO1xcbiAgICB2YXIgVGVtcEN0b3IgPSBmdW5jdGlvbiAoKSB7fTtcXG4gICAgVGVtcEN0b3IucHJvdG90eXBlID0gc3VwZXJDdG9yLnByb3RvdHlwZTtcXG4gICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKTtcXG4gICAgY3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjdG9yO1xcbiAgfVxcblxcbiAgLy8gQk5cXG5cXG4gIGZ1bmN0aW9uIEJOIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAoQk4uaXNCTihudW1iZXIpKSB7XFxuICAgICAgcmV0dXJuIG51bWJlcjtcXG4gICAgfVxcblxcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgdGhpcy53b3JkcyA9IG51bGw7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG5cXG4gICAgLy8gUmVkdWN0aW9uIGNvbnRleHRcXG4gICAgdGhpcy5yZWQgPSBudWxsO1xcblxcbiAgICBpZiAobnVtYmVyICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGJhc2UgPT09ICdsZScgfHwgYmFzZSA9PT0gJ2JlJykge1xcbiAgICAgICAgZW5kaWFuID0gYmFzZTtcXG4gICAgICAgIGJhc2UgPSAxMDtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5faW5pdChudW1iZXIgfHwgMCwgYmFzZSB8fCAxMCwgZW5kaWFuIHx8ICdiZScpO1xcbiAgICB9XFxuICB9XFxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpIHtcXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBCTjtcXG4gIH0gZWxzZSB7XFxuICAgIGV4cG9ydHMuQk4gPSBCTjtcXG4gIH1cXG5cXG4gIEJOLkJOID0gQk47XFxuICBCTi53b3JkU2l6ZSA9IDI2O1xcblxcbiAgdmFyIEJ1ZmZlcjtcXG4gIHRyeSB7XFxuICAgIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyAxNCkuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3ZFdKc2FXTXRaVzVqY25sd2RDOXViMlJsWDIxdlpIVnNaWE12WW00dWFuTXZiR2xpTDJKdUxtcHpQMkl3WVRBaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHZENRVUZSTzBGQlF6ZENMRWRCUVVjN1FVRkRTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUTBGQmQwTTdRVUZEZUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNRMEZCZDBNc1VVRkJVVHRCUVVOb1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NkMEpCUVhkQ0xHMUNRVUZ0UWp0QlFVTXpRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTEZOQlFWTTdRVUZEYUVNN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2FVSkJRV2xDTzBGQlEzQkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjME5CUVhORExGbEJRVms3UVVGRGJFUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNVMEZCVXp0QlFVTm9RenM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSE5EUVVGelF5eHpRa0ZCYzBJN1FVRkROVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xGTkJRVk03UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRaXhwUWtGQmFVSTdRVUZEZEVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXcwUWtGQk5FSTdRVUZETjBNN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1lVRkJZVHRCUVVNNVFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzYVVKQlFXbENMR0ZCUVdFN1FVRkRPVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxGbEJRVmtzWlVGQlpUdEJRVU16UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4eFFrRkJjVUlzWjBKQlFXZENPMEZCUTNKRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk8wRkJRMEVzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc2FVSkJRV2xDTzBGQlEzQkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGVkJRVlVzTmtKQlFUWkNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEdOQlFXTTdRVUZEYWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFZRVUZWTERaQ1FVRTJRanRCUVVOMlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1UwRkJVenRCUVVNMVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2IwUkJRVzlFTEZkQlFWYzdRVUZETDBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNiMEpCUVc5Q08wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHOUVRVUZ2UkN4WFFVRlhPMEZCUXk5RU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzVDBGQlR6dEJRVU14UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ096dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHM3UVVGRlFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTEVkQlFVYzdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMRmRCUVZjN1FVRkRPVUk3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRmRCUVZjN1FVRkRPVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPenRCUVVWQkxHdERRVUZyUXp0QlFVTnNReXh6UTBGQmMwTTdRVUZEZEVNN08wRkJSVUU3UVVGRFFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2xDUVVGcFFqdEJRVU53UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMR05CUVdNN1FVRkRNME03TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNhVUpCUVdsQ08wRkJRMnhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxDdENRVUVyUWl4UlFVRlJPMEZCUTNaRE8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xFOUJRVTg3UVVGRGVFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xFOUJRVTg3UVVGRE5VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMR2xDUVVGcFFpeHBRa0ZCYVVJN1FVRkRiRU03UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXdyUTBGQkswTTdRVUZEYkVVN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzY1VKQlFYRkNMSE5EUVVGelF6dEJRVU16UkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdWQlFXVXNaMEpCUVdkQ08wRkJReTlDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGVkJRVlVzZVVKQlFYbENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdWQlFXVXNhVUpCUVdsQ08wRkJRMmhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZDUVVGeFFpeGpRVUZqTzBGQlEyNURPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDFRa0ZCZFVJc1VVRkJVVHRCUVVNdlFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2FVTkJRV2xETEZGQlFWRTdRVUZEZWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEcxRFFVRnRRenRCUVVOb1JUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZFVKQlFYVkNMREJDUVVFd1FqdEJRVU5xUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaME5CUVdkRE8wRkJRMjVFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1dVRkJXVHRCUVVNdlFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWjBKQlFXZENMR3RDUVVGclFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xHOUNRVUZ2UWp0QlFVTjZRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEUkNRVUUwUWl4UlFVRlJPMEZCUTNCRE8wRkJRMEVzTmtKQlFUWkNMRkZCUVZFN1FVRkRja003UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNc1JVRkJSU3hOUVVFMlFpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lLR1oxYm1OMGFXOXVJQ2h0YjJSMWJHVXNJR1Y0Y0c5eWRITXBJSHRjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHZJRlYwYVd4elhHNGdJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDQW9kbUZzTENCdGMyY3BJSHRjYmlBZ0lDQnBaaUFvSVhaaGJDa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeUI4ZkNBblFYTnpaWEowYVc5dUlHWmhhV3hsWkNjcE8xeHVJQ0I5WEc1Y2JpQWdMeThnUTI5MWJHUWdkWE5sSUdCcGJtaGxjbWwwYzJBZ2JXOWtkV3hsTENCaWRYUWdaRzl1SjNRZ2QyRnVkQ0IwYnlCdGIzWmxJR1p5YjIwZ2MybHVaMnhsSUdacGJHVmNiaUFnTHk4Z1lYSmphR2wwWldOMGRYSmxJSGxsZEM1Y2JpQWdablZ1WTNScGIyNGdhVzVvWlhKcGRITWdLR04wYjNJc0lITjFjR1Z5UTNSdmNpa2dlMXh1SUNBZ0lHTjBiM0l1YzNWd1pYSmZJRDBnYzNWd1pYSkRkRzl5TzF4dUlDQWdJSFpoY2lCVVpXMXdRM1J2Y2lBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dUlDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJQ0FnWTNSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1ZHVnRjRU4wYjNJb0tUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaUzVqYjI1emRISjFZM1J2Y2lBOUlHTjBiM0k3WEc0Z0lIMWNibHh1SUNBdkx5QkNUbHh1WEc0Z0lHWjFibU4wYVc5dUlFSk9JQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaENUaTVwYzBKT0tHNTFiV0psY2lrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXMWlaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1Wa2RXTjBhVzl1SUdOdmJuUmxlSFJjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9iblZ0WW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBaaUFvWW1GelpTQTlQVDBnSjJ4bEp5QjhmQ0JpWVhObElEMDlQU0FuWW1VbktTQjdYRzRnSUNBZ0lDQWdJR1Z1WkdsaGJpQTlJR0poYzJVN1hHNGdJQ0FnSUNBZ0lHSmhjMlVnUFNBeE1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1ZmFXNXBkQ2h1ZFcxaVpYSWdmSHdnTUN3Z1ltRnpaU0I4ZkNBeE1Dd2daVzVrYVdGdUlIeDhJQ2RpWlNjcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCcFppQW9kSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlFSk9PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1Y0Y0c5eWRITXVRazRnUFNCQ1RqdGNiaUFnZlZ4dVhHNGdJRUpPTGtKT0lEMGdRazQ3WEc0Z0lFSk9MbmR2Y21SVGFYcGxJRDBnTWpZN1hHNWNiaUFnZG1GeUlFSjFabVpsY2p0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnZlZ4dVhHNGdJRUpPTG1selFrNGdQU0JtZFc1amRHbHZiaUJwYzBKT0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRJR2x1YzNSaGJtTmxiMllnUWs0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMGdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJRzUxYlM1amIyNXpkSEoxWTNSdmNpNTNiM0prVTJsNlpTQTlQVDBnUWs0dWQyOXlaRk5wZW1VZ0ppWWdRWEp5WVhrdWFYTkJjbkpoZVNodWRXMHVkMjl5WkhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG0xaGVDQTlJR1oxYm1OMGFXOXVJRzFoZUNBb2JHVm1kQ3dnY21sbmFIUXBJSHRjYmlBZ0lDQnBaaUFvYkdWbWRDNWpiWEFvY21sbmFIUXBJRDRnTUNrZ2NtVjBkWEp1SUd4bFpuUTdYRzRnSUNBZ2NtVjBkWEp1SUhKcFoyaDBPMXh1SUNCOU8xeHVYRzRnSUVKT0xtMXBiaUE5SUdaMWJtTjBhVzl1SUcxcGJpQW9iR1ZtZEN3Z2NtbG5hSFFwSUh0Y2JpQWdJQ0JwWmlBb2JHVm1kQzVqYlhBb2NtbG5hSFFwSUR3Z01Da2djbVYwZFhKdUlHeGxablE3WEc0Z0lDQWdjbVYwZFhKdUlISnBaMmgwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRDQTlJR1oxYm1OMGFXOXVJR2x1YVhRZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1ZFcxaVpYSWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZhVzVwZEU1MWJXSmxjaWh1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdWRXMWlaWElnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRFRnljbUY1S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHSmhjMlVnUFNBeE5qdGNiaUFnSUNCOVhHNGdJQ0FnWVhOelpYSjBLR0poYzJVZ1BUMDlJQ2hpWVhObElId2dNQ2tnSmlZZ1ltRnpaU0ErUFNBeUlDWW1JR0poYzJVZ1BEMGdNellwTzF4dVhHNGdJQ0FnYm5WdFltVnlJRDBnYm5WdFltVnlMblJ2VTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2WEZ4ekt5OW5MQ0FuSnlrN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ01EdGNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSE4wWVhKMEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR0poYzJVZ1BUMDlJREUyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVaGxlQ2h1ZFcxaVpYSXNJSE4wWVhKMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWZjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ2RHaHBjeTVmYVc1cGRFRnljbUY1S0hSb2FYTXVkRzlCY25KaGVTZ3BMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNXBkRTUxYldKbGNpQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFRuVnRZbVZ5SUNodWRXMWlaWElzSUdKaGMyVXNJR1Z1WkdsaGJpa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0FnSUc1MWJXSmxjaUE5SUMxdWRXMWlaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaUJkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iblZ0WW1WeUlEd2dNSGd4TURBd01EQXdNREF3TURBd01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZ0Y2JpQWdJQ0FnSUNBZ2JuVnRZbVZ5SUNZZ01IZ3pabVptWm1abUxGeHVJQ0FnSUNBZ0lDQW9iblZ0WW1WeUlDOGdNSGcwTURBd01EQXdLU0FtSURCNE0yWm1abVptWmx4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJXSmxjaUE4SURCNE1qQXdNREF3TURBd01EQXdNREFwT3lBdkx5QXlJRjRnTlRNZ0tIVnVjMkZtWlNsY2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJREZjYmlBZ0lDQWdJRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlETTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdVbVYyWlhKelpTQjBhR1VnWW5sMFpYTmNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQmZhVzVwZEVGeWNtRjVJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUM4dklGQmxjbWhoY0hNZ1lTQlZhVzUwT0VGeWNtRjVYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJ1ZFcxaVpYSXViR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaTVzWlc1bmRHZ2dQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnTUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29iblZ0WW1WeUxteGxibWQwYUNBdklETXBPMXh1SUNBZ0lIUm9hWE11ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NXNaVzVuZEdncE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHb3NJSGM3WEc0Z0lDQWdkbUZ5SUc5bVppQTlJREE3WEc0Z0lDQWdhV1lnS0dWdVpHbGhiaUE5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJREVzSUdvZ1BTQXdPeUJwSUQ0OUlEQTdJR2tnTFQwZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQzBnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0xTQXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMnhsSnlrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Dd2dhaUE5SURBN0lHa2dQQ0J1ZFcxaVpYSXViR1Z1WjNSb095QnBJQ3M5SURNcElIdGNiaUFnSUNBZ0lDQWdkeUE5SUc1MWJXSmxjbHRwWFNCOElDaHVkVzFpWlhKYmFTQXJJREZkSUR3OElEZ3BJSHdnS0c1MWJXSmxjbHRwSUNzZ01sMGdQRHdnTVRZcE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMnBkSUh3OUlDaDNJRHc4SUc5bVppa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUQwZ0tIY2dQajQrSUNneU5pQXRJRzltWmlrcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0t6MGdNalE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZabVlnUGowZ01qWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdlptWWdMVDBnTWpZN1hHNGdJQ0FnSUNBZ0lDQWdhaXNyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZJWlhnZ0tITjBjaXdnYzNSaGNuUXNJR1Z1WkNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzNSeUxteGxibWQwYUN3Z1pXNWtLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1NBdElEUTRPMXh1WEc0Z0lDQWdJQ0J5SUR3OFBTQTBPMXh1WEc0Z0lDQWdJQ0F2THlBbllTY2dMU0FuWmlkY2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURRNUlDWW1JR01nUEQwZ05UUXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTkRrZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDZEJKeUF0SUNkR0oxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0lDWW1JR01nUEQwZ01qSXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQjhQU0JqSUNZZ01IaG1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ3WVhKelpVSmhjMlVnS0hOMGNpd2djM1JoY25Rc0lHVnVaQ3dnYlhWc0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ0tqMGdiWFZzTzF4dVhHNGdJQ0FnSUNBdkx5QW5ZU2RjYmlBZ0lDQWdJR2xtSUNoaklENDlJRFE1S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SUdNZ0xTQXhOeUFySURCNFlUdGNibHh1SUNBZ0lDQWdMeThnSnpBbklDMGdKemtuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVSmhjMlVnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZDWVhObElDaHVkVzFpWlhJc0lHSmhjMlVzSUhOMFlYSjBLU0I3WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCaGN5QjZaWEp2WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZzZ01DQmRPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JseHVJQ0FnSUM4dklFWnBibVFnYkdWdVozUm9JRzltSUd4cGJXSWdhVzRnWW1GelpWeHVJQ0FnSUdadmNpQW9kbUZ5SUd4cGJXSk1aVzRnUFNBd0xDQnNhVzFpVUc5M0lEMGdNVHNnYkdsdFlsQnZkeUE4UFNBd2VETm1abVptWm1ZN0lHeHBiV0pRYjNjZ0tqMGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ2JHbHRZa3hsYmlzck8xeHVJQ0FnSUgxY2JpQWdJQ0JzYVcxaVRHVnVMUzA3WEc0Z0lDQWdiR2x0WWxCdmR5QTlJQ2hzYVcxaVVHOTNJQzhnWW1GelpTa2dmQ0F3TzF4dVhHNGdJQ0FnZG1GeUlIUnZkR0ZzSUQwZ2JuVnRZbVZ5TG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNBZ0lIWmhjaUJ0YjJRZ1BTQjBiM1JoYkNBbElHeHBiV0pNWlc0N1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUUxaGRHZ3ViV2x1S0hSdmRHRnNMQ0IwYjNSaGJDQXRJRzF2WkNrZ0t5QnpkR0Z5ZER0Y2JseHVJQ0FnSUhaaGNpQjNiM0prSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JsYm1RN0lHa2dLejBnYkdsdFlreGxiaWtnZTF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUdrZ0t5QnNhVzFpVEdWdUxDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHNhVzFpVUc5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXOWtJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnY0c5M0lEMGdNVHRjYmlBZ0lDQWdJSGR2Y21RZ1BTQndZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQnBMQ0J1ZFcxaVpYSXViR1Z1WjNSb0xDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdlpEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnZkeUFxUFNCaVlYTmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxtbHRkV3h1S0hCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdZMjl3ZVNBb1pHVnpkQ2tnZTF4dUlDQWdJR1JsYzNRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaR1Z6ZEM1M2IzSmtjMXRwWFNBOUlIUm9hWE11ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHUmxjM1F1YkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSFJvYVhNdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnWkdWemRDNXlaV1FnUFNCMGFHbHpMbkpsWkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTJ4dmJtVWdQU0JtZFc1amRHbHZiaUJqYkc5dVpTQW9LU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVaWGNnUWs0b2JuVnNiQ2s3WEc0Z0lDQWdkR2hwY3k1amIzQjVLSElwTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZaWGh3WVc1a0lEMGdablZ1WTNScGIyNGdYMlY0Y0dGdVpDQW9jMmw2WlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElITnBlbVVwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ3JLMTBnUFNBd08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlcxdmRtVWdiR1ZoWkdsdVp5QmdNR0FnWm5KdmJTQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OMGNtbHdJRDBnWm5WdVkzUnBiMjRnYzNSeWFYQWdLQ2tnZTF4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG14bGJtZDBhQ0ErSURFZ0ppWWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQzB0TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDI1dmNtMVRhV2R1SUQwZ1puVnVZM1JwYjI0Z1gyNXZjbTFUYVdkdUlDZ3BJSHRjYmlBZ0lDQXZMeUF0TUNBOUlEQmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5Od1pXTjBJRDBnWm5WdVkzUnBiMjRnYVc1emNHVmpkQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuSmxaQ0EvSUNjOFFrNHRVam9nSnlBNklDYzhRazQ2SUNjcElDc2dkR2hwY3k1MGIxTjBjbWx1WnlneE5pa2dLeUFuUGljN1hHNGdJSDA3WEc1Y2JpQWdMeXBjYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWFR0Y2JpQWdkbUZ5SUdkeWIzVndVMmw2WlhNZ1BTQmJYVHRjYmlBZ2RtRnlJR2R5YjNWd1FtRnpaWE1nUFNCYlhUdGNibHh1SUNCMllYSWdjeUE5SUNjbk8xeHVJQ0IyWVhJZ2FTQTlJQzB4TzF4dUlDQjNhR2xzWlNBb0t5dHBJRHdnUWs0dWQyOXlaRk5wZW1VcElIdGNiaUFnSUNCNlpYSnZjMXRwWFNBOUlITTdYRzRnSUNBZ2N5QXJQU0FuTUNjN1hHNGdJSDFjYmlBZ1ozSnZkWEJUYVhwbGMxc3dYU0E5SURBN1hHNGdJR2R5YjNWd1UybDZaWE5iTVYwZ1BTQXdPMXh1SUNCbmNtOTFjRUpoYzJWeld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN4WFNBOUlEQTdYRzRnSUhaaGNpQmlZWE5sSUQwZ01pQXRJREU3WEc0Z0lIZG9hV3hsSUNncksySmhjMlVnUENBek5pQXJJREVwSUh0Y2JpQWdJQ0IyWVhJZ1ozSnZkWEJUYVhwbElEMGdNRHRjYmlBZ0lDQjJZWElnWjNKdmRYQkNZWE5sSUQwZ01UdGNiaUFnSUNCM2FHbHNaU0FvWjNKdmRYQkNZWE5sSUR3Z0tERWdQRHdnUWs0dWQyOXlaRk5wZW1VcElDOGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ1ozSnZkWEJDWVhObElDbzlJR0poYzJVN1hHNGdJQ0FnSUNCbmNtOTFjRk5wZW1VZ0t6MGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ozSnZkWEJUYVhwbGMxdGlZWE5sWFNBOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNCbmNtOTFjRUpoYzJWelcySmhjMlZkSUQwZ1ozSnZkWEJDWVhObE8xeHVJQ0I5WEc1Y2JpQWdLaTljYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWEc0Z0lDQWdKeWNzWEc0Z0lDQWdKekFuTEZ4dUlDQWdJQ2N3TUNjc1hHNGdJQ0FnSnpBd01DY3NYRzRnSUNBZ0p6QXdNREFuTEZ4dUlDQWdJQ2N3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuWEc0Z0lGMDdYRzVjYmlBZ2RtRnlJR2R5YjNWd1UybDZaWE1nUFNCYlhHNGdJQ0FnTUN3Z01DeGNiaUFnSUNBeU5Td2dNVFlzSURFeUxDQXhNU3dnTVRBc0lEa3NJRGdzWEc0Z0lDQWdPQ3dnTnl3Z055d2dOeXdnTnl3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMUxDQTFMRnh1SUNBZ0lEVXNJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05WeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNek0xTlRRME16SXNJRFF6TURRMk56SXhMQ0F4TmpjM056SXhOaXdnTkRnNE1qZ3hNalVzSURZd05EWTJNVGMyTENBME1ETTFNell3Tnl3Z01UWTNOemN5TVRZc1hHNGdJQ0FnTkRNd05EWTNNakVzSURFd01EQXdNREF3TENBeE9UUTROekUzTVN3Z016VTRNekU0TURnc0lEWXlOelE0TlRFM0xDQTNOVEk1TlRNMkxDQXhNVE01TURZeU5TeGNiaUFnSUNBeE5qYzNOekl4Tml3Z01qUXhNemMxTmprc0lETTBNREV5TWpJMExDQTBOekEwTlRnNE1Td2dOalF3TURBd01EQXNJRFF3T0RReE1ERXNJRFV4TlRNMk16SXNYRzRnSUNBZ05qUXpOak0wTXl3Z056azJNall5TkN3Z09UYzJOVFl5TlN3Z01URTRPREV6TnpZc0lERTBNelE0T1RBM0xDQXhOekl4TURNMk9Dd2dNakExTVRFeE5Ea3NYRzRnSUNBZ01qUXpNREF3TURBc0lESTROakk1TVRVeExDQXpNelUxTkRRek1pd2dNemt4TXpVek9UTXNJRFExTkRNMU5ESTBMQ0ExTWpVeU1UZzNOU3dnTmpBME5qWXhOelpjYmlBZ1hUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvWW1GelpTd2djR0ZrWkdsdVp5a2dlMXh1SUNBZ0lHSmhjMlVnUFNCaVlYTmxJSHg4SURFd08xeHVJQ0FnSUhCaFpHUnBibWNnUFNCd1lXUmthVzVuSUh3Z01DQjhmQ0F4TzF4dVhHNGdJQ0FnZG1GeUlHOTFkRHRjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZZ2ZId2dZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlEQTdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIZHZjbVFnUFNBb0tDaDNJRHc4SUc5bVppa2dmQ0JqWVhKeWVTa2dKaUF3ZUdabVptWm1aaWt1ZEc5VGRISnBibWNvTVRZcE8xeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrUGlBb01qUWdMU0J2Wm1ZcEtTQW1JREI0Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQWdmSHdnYVNBaFBUMGdkR2hwY3k1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYk5pQXRJSGR2Y21RdWJHVnVaM1JvWFNBcklIZHZjbVFnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCdlptWWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JwTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNCallYSnllUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWtnZTF4dUlDQWdJQ0FnTHk4Z2RtRnlJR2R5YjNWd1UybDZaU0E5SUUxaGRHZ3VabXh2YjNJb1FrNHVkMjl5WkZOcGVtVWdLaUJOWVhSb0xreE9NaUF2SUUxaGRHZ3ViRzluS0dKaGMyVXBLVHRjYmlBZ0lDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZE8xeHVJQ0FnSUNBZ0x5OGdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlFMWhkR2d1Y0c5M0tHSmhjMlVzSUdkeWIzVndVMmw2WlNrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCQ1lYTmxJRDBnWjNKdmRYQkNZWE5sYzF0aVlYTmxYVHRjYmlBZ0lDQWdJRzkxZENBOUlDY25PMXh1SUNBZ0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0JqTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIZG9hV3hsSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR011Ylc5a2JpaG5jbTkxY0VKaGMyVXBMblJ2VTNSeWFXNW5LR0poYzJVcE8xeHVJQ0FnSUNBZ0lDQmpJRDBnWXk1cFpHbDJiaWhuY205MWNFSmhjMlVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWXk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzkxZENBOUlIcGxjbTl6VzJkeWIzVndVMmw2WlNBdElISXViR1Z1WjNSb1hTQXJJSElnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdjaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkMmhwYkdVZ0tHOTFkQzVzWlc1bmRHZ2dKU0J3WVdSa2FXNW5JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3dKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjdEp5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5RbUZ6WlNCemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeUlHRnVaQ0F6TmljcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwNTFiV0psY2lBOUlHWjFibU4wYVc5dUlIUnZUblZ0WW1WeUlDZ3BJSHRjYmlBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lISmxkQ0FyUFNCMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJRE1nSmlZZ2RHaHBjeTUzYjNKa2Mxc3lYU0E5UFQwZ01IZ3dNU2tnZTF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nWVhRZ2RHaHBjeUJ6ZEdGblpTQnBkQ0JwY3lCcmJtOTNiaUIwYUdGMElIUm9aU0IwYjNBZ1ltbDBJR2x6SUhObGRGeHVJQ0FnSUNBZ2NtVjBJQ3M5SURCNE1UQXdNREF3TURBd01EQXdNREFnS3lBb2RHaHBjeTUzYjNKa2Mxc3hYU0FxSURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0FnSUdGemMyVnlkQ2htWVd4elpTd2dKMDUxYldKbGNpQmpZVzRnYjI1c2VTQnpZV1psYkhrZ2MzUnZjbVVnZFhBZ2RHOGdOVE1nWW1sMGN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElEOGdMWEpsZENBNklISmxkRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlLVTA5T0lEMGdablZ1WTNScGIyNGdkRzlLVTA5T0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOUNkV1ptWlhJZ0tHVnVaR2xoYml3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQkNkV1ptWlhJZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaENkV1ptWlhJc0lHVnVaR2xoYml3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0dWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlVXhwYTJVb1FYSnlZWGtzSUdWdVpHbGhiaXdnYkdWdVozUm9LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJpZVhSbFRHVnVaM1JvSUQwZ2RHaHBjeTVpZVhSbFRHVnVaM1JvS0NrN1hHNGdJQ0FnZG1GeUlISmxjVXhsYm1kMGFDQTlJR3hsYm1kMGFDQjhmQ0JOWVhSb0xtMWhlQ2d4TENCaWVYUmxUR1Z1WjNSb0tUdGNiaUFnSUNCaGMzTmxjblFvWW5sMFpVeGxibWQwYUNBOFBTQnlaWEZNWlc1bmRHZ3NJQ2RpZVhSbElHRnljbUY1SUd4dmJtZGxjaUIwYUdGdUlHUmxjMmx5WldRZ2JHVnVaM1JvSnlrN1hHNGdJQ0FnWVhOelpYSjBLSEpsY1V4bGJtZDBhQ0ErSURBc0lDZFNaWEYxWlhOMFpXUWdZWEp5WVhrZ2JHVnVaM1JvSUR3OUlEQW5LVHRjYmx4dUlDQWdJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdJQ0IyWVhJZ2JHbDBkR3hsUlc1a2FXRnVJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5PMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQnVaWGNnUVhKeVlYbFVlWEJsS0hKbGNVeGxibWQwYUNrN1hHNWNiaUFnSUNCMllYSWdZaXdnYVR0Y2JpQWdJQ0IyWVhJZ2NTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0JwWmlBb0lXeHBkSFJzWlVWdVpHbGhiaWtnZTF4dUlDQWdJQ0FnTHk4Z1FYTnpkVzFsSUdKcFp5MWxibVJwWVc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J5WlhGTVpXNW5kR2dnTFNCaWVYUmxUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelczSmxjVXhsYm1kMGFDQXRJR2tnTFNBeFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJQ0Z4TG1seldtVnlieWdwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlIRXVZVzVrYkc0b01IaG1aaWs3WEc0Z0lDQWdJQ0FnSUhFdWFYVnphSEp1S0RncE8xeHVYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z2NtVnhUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNoTllYUm9MbU5zZWpNeUtTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNeklnTFNCTllYUm9MbU5zZWpNeUtIY3BPMXh1SUNBZ0lIMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTGw5amIzVnVkRUpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZZMjkxYm5SQ2FYUnpJQ2gzS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VERXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F4TXp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFFnUGowZ01IZzBNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnNEtTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlREF5S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY2lBcklIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmVtVnliMEpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZlbVZ5YjBKcGRITWdLSGNwSUh0Y2JpQWdJQ0F2THlCVGFHOXlkQzFqZFhSY2JpQWdJQ0JwWmlBb2R5QTlQVDBnTUNrZ2NtVjBkWEp1SURJMk8xeHVYRzRnSUNBZ2RtRnlJSFFnUFNCM08xeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURGbVptWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURkbUtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpQXJQU0EzTzF4dUlDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvZENBbUlEQjRaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lIUWdQajQrUFNBME8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURNcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREk3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdNanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaXNyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm5WdFltVnlJRzltSUhWelpXUWdZbWwwY3lCcGJpQmhJRUpPWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVpYVhSTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWFYUk1aVzVuZEdnZ0tDa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUhaaGNpQm9hU0E5SUhSb2FYTXVYMk52ZFc1MFFtbDBjeWgzS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWJHVnVaM1JvSUMwZ01Ta2dLaUF5TmlBcklHaHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhSdlFtbDBRWEp5WVhrZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCM0lEMGdibVYzSUVGeWNtRjVLRzUxYlM1aWFYUk1aVzVuZEdnb0tTazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmlhWFFnUFNBd095QmlhWFFnUENCM0xteGxibWQwYURzZ1ltbDBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQnZabVlnUFNBb1ltbDBJQzhnTWpZcElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0FnSUhkYlltbDBYU0E5SUNodWRXMHVkMjl5WkhOYmIyWm1YU0FtSUNneElEdzhJSGRpYVhRcEtTQStQajRnZDJKcGREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZHp0Y2JpQWdmVnh1WEc0Z0lDOHZJRTUxYldKbGNpQnZaaUIwY21GcGJHbHVaeUI2WlhKdklHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbnBsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnZW1WeWIwSnBkSE1nS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NWZlbVZ5YjBKcGRITW9kR2hwY3k1M2IzSmtjMXRwWFNrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdJQ0JwWmlBb1lpQWhQVDBnTWpZcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlubDBaVXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtTmxhV3dvZEdocGN5NWlhWFJNWlc1bmRHZ29LU0F2SURncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxUjNiM01nUFNCbWRXNWpkR2x2YmlCMGIxUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUZpY3lncExtbHViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVlIzYjNNZ1BTQm1kVzVqZEdsdmJpQm1jbTl0VkhkdmN5QW9kMmxrZEdncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1MFpYTjBiaWgzYVdSMGFDQXRJREVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLUzVwYm1WbktDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1selRtVm5JRDBnWm5WdVkzUnBiMjRnYVhOT1pXY2dLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJtVm5LQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1WldjZ1BTQm1kVzVqZEdsdmJpQnBibVZuSUNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCUGNpQmdiblZ0WUNCM2FYUm9JR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYVnZjaUE5SUdaMWJtTjBhVzl1SUdsMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdncksxMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saGJtUWdQU0JtZFc1amRHbHZiaUJwWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ2ZDQnVkVzB1Ym1WbllYUnBkbVVwSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFdGdVpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a0lEMGdablZ1WTNScGIyNGdZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saGJtUW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVdGdVpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFdGdVpDQTlJR1oxYm1OMGFXOXVJSFZoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVmhibVFvYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFYVmhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1dHOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkWGh2Y2lBOUlHWjFibU4wYVc5dUlHbDFlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJoTG14bGJtZDBhQ0ErSUdJdWJHVnVaM1JvWEc0Z0lDQWdkbUZ5SUdFN1hHNGdJQ0FnZG1GeUlHSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZU0E5SUhSb2FYTTdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoSUQwZ2JuVnRPMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFNCZUlHSXVkMjl5WkhOYmFWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJR0VwSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYaHZjaUE5SUdaMWJtTjBhVzl1SUdsNGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWVHOXlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnV0c5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NGIzSWdQU0JtZFc1amRHbHZiaUI0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYaHZjaWh1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGVHOXlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWVHOXlJRDBnWm5WdVkzUnBiMjRnZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkWGh2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk9iM1FnWUdCMGFHbHpZR0FnZDJsMGFDQmdZSGRwWkhSb1lHQWdZbWwwZDJsa2RHaGNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHViM1J1SUQwZ1puVnVZM1JwYjI0Z2FXNXZkRzRnS0hkcFpIUm9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCM2FXUjBhQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdkMmxrZEdnZ1BqMGdNQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaWE5PWldWa1pXUWdQU0JOWVhSb0xtTmxhV3dvZDJsa2RHZ2dMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYVhSelRHVm1kQ0E5SUhkcFpIUm9JQ1VnTWpZN1hHNWNiaUFnSUNBdkx5QkZlSFJsYm1RZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR0o1ZEdWelRtVmxaR1ZrS1R0Y2JseHVJQ0FnSUdsbUlDaGlhWFJ6VEdWbWRDQStJREFwSUh0Y2JpQWdJQ0FnSUdKNWRHVnpUbVZsWkdWa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHTnZiWEJzWlhSbElIZHZjbVJ6WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpZVhSbGMwNWxaV1JsWkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdmblJvYVhNdWQyOXlaSE5iYVYwZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUm9aU0J5WlhOcFpIVmxYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnS0RCNE0yWm1abVptWmlBK1BpQW9NallnTFNCaWFYUnpUR1ZtZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRnVaQ0J5WlcxdmRtVWdiR1ZoWkdsdVp5QjZaWEp2WlhOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV1YjNSdUlEMGdablZ1WTNScGIyNGdibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdWIzUnVLSGRwWkhSb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVFpYUWdZR0pwZEdBZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1elpYUnVJRDBnWm5WdVkzUnBiMjRnYzJWMGJpQW9ZbWwwTENCMllXd3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBJRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJoYm1Rb2IyWm1JQ3NnTVNrN1hHNWNiaUFnSUNCcFppQW9kbUZzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnZkNBb01TQThQQ0IzWW1sMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0dlptWmRJRDBnZEdocGN5NTNiM0prYzF0dlptWmRJQ1lnZmlneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVdSa0lHQnVkVzFnSUhSdklHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGa1pDQTlJR1oxYm1OMGFXOXVJR2xoWkdRZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeU8xeHVYRzRnSUNBZ0x5OGdibVZuWVhScGRtVWdLeUJ3YjNOcGRHbDJaVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQnlJRDBnZEdocGN5NXBjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JseHVJQ0FnSUM4dklIQnZjMmwwYVhabElDc2dibVZuWVhScGRtVmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnS3lBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BqNGdNalk3WEc0Z0lDQWdmVnh1SUNBZ0lHWnZjaUFvT3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY2lBOUlDaGhMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFGMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdMeThnUTI5d2VTQjBhR1VnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUIwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1emRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSEpsY3lBOUlHNTFiUzV6ZFdJb2RHaHBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXUmtLRzUxYlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFXRmtaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdMU0FvTFc1MWJTa2dQU0IwYUdseklDc2diblZ0WEc0Z0lDQWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhJdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUF0ZEdocGN5QXRJRzUxYlNBOUlDMG9kR2hwY3lBcklHNTFiU2xjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGMElIUm9hWE1nY0c5cGJuUWdZbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpWeHVJQ0FnSUhaaGNpQmpiWEFnUFNCMGFHbHpMbU50Y0NodWRXMHBPMXh1WEc0Z0lDQWdMeThnVDNCMGFXMXBlbUYwYVc5dUlDMGdlbVZ5YjJsbWVWeHVJQ0FnSUdsbUlDaGpiWEFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhJRDRnWWx4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnTFNBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K0lESTJPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlISWdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUTI5d2VTQnlaWE4wSUc5bUlIUm9aU0IzYjNKa2MxeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZ2dKaVlnWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrcE8xeHVYRzRnSUNBZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZaUE5SUdaMWJtTjBhVzl1SUhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMzVmlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjMjFoYkd4TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNBb2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1NCOElEQTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJR3hsYmp0Y2JpQWdJQ0JzWlc0Z1BTQW9iR1Z1SUMwZ01Ta2dmQ0F3TzF4dVhHNGdJQ0FnTHk4Z1VHVmxiQ0J2Ym1VZ2FYUmxjbUYwYVc5dUlDaGpiMjF3YVd4bGNpQmpZVzRuZENCa2J5QnBkQ3dnWW1WallYVnpaU0J2WmlCamIyUmxJR052YlhCc1pYaHBkSGtwWEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdLSElnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQnZkWFF1ZDI5eVpITmJNRjBnUFNCc2J6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F4T3lCcklEd2diR1Z1T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnWTJGeWNua2dQajQrSURJMk8xeHVJQ0FnSUNBZ2RtRnlJSEozYjNKa0lEMGdZMkZ5Y25rZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjJZWElnYldGNFNpQTlJRTFoZEdndWJXbHVLR3NzSUc1MWJTNXNaVzVuZEdnZ0xTQXhLVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNCTllYUm9MbTFoZUNnd0xDQnJJQzBnYzJWc1ppNXNaVzVuZEdnZ0t5QXhLVHNnYWlBOFBTQnRZWGhLT3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0FvYXlBdElHb3BJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lTQTlJSE5sYkdZdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2JuVnRMbmR2Y21SelcycGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NpQTlJR0VnS2lCaUlDc2djbmR2Y21RN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBclBTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5ZDI5eVpDQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpDQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJRzVqWVhKeWVTQjhJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2IzVjBMbmR2Y21SelcydGRJRDBnWTJGeWNua2dmQ0F3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnTHk4Z1ZFOUVUeWhwYm1SMWRHNTVLVG9nYVhRZ2JXRjVJR0psSUhKbFlYTnZibUZpYkdVZ2RHOGdiMjFwZENCcGRDQm1iM0lnZFhObGNuTWdkMmh2SUdSdmJpZDBJRzVsWldSY2JpQWdMeThnZEc4Z2QyOXlheUIzYVhSb0lESTFOaTFpYVhRZ2JuVnRZbVZ5Y3l3Z2IzUm9aWEozYVhObElHbDBJR2RwZG1WeklESXdKU0JwYlhCeWIzWmxiV1Z1ZENCbWIzSWdNalUyTFdKcGRGeHVJQ0F2THlCdGRXeDBhWEJzYVdOaGRHbHZiaUFvYkdsclpTQmxiR3hwY0hScFl5QnpaV053TWpVMmF6RXBMbHh1SUNCMllYSWdZMjl0WWpFd1RYVnNWRzhnUFNCbWRXNWpkR2x2YmlCamIyMWlNVEJOZFd4VWJ5QW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcElIdGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUc4Z1BTQnZkWFF1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJR01nUFNBd08xeHVJQ0FnSUhaaGNpQnNienRjYmlBZ0lDQjJZWElnYldsa08xeHVJQ0FnSUhaaGNpQm9hVHRjYmlBZ0lDQjJZWElnWVRBZ1BTQmhXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d3SUQwZ1lUQWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTUNBOUlHRXdJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVEVnUFNCaFd6RmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3hJRDBnWVRFZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NU0E5SUdFeElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUSWdQU0JoV3pKZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eUlEMGdZVElnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01pQTlJR0V5SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRNZ1BTQmhXek5kSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d6SUQwZ1lUTWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTXlBOUlHRXpJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFFnUFNCaFd6UmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzBJRDBnWVRRZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OQ0E5SUdFMElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUVWdQU0JoV3pWZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MUlEMGdZVFVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05TQTlJR0UxSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRZZ1BTQmhXelpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cySUQwZ1lUWWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTmlBOUlHRTJJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGNnUFNCaFd6ZGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzNJRDBnWVRjZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OeUE5SUdFM0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUZ2dQU0JoV3poZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3NElEMGdZVGdnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb09DQTlJR0U0SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRrZ1BTQmhXemxkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c1SUQwZ1lUa2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT1NBOUlHRTVJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZakFnUFNCaVd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3dJRDBnWWpBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NQ0E5SUdJd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqRWdQU0JpV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eElEMGdZakVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01TQTlJR0l4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpJZ1BTQmlXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd5SUQwZ1lqSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTWlBOUlHSXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZak1nUFNCaVd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3pJRDBnWWpNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NeUE5SUdJeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqUWdQU0JpV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MElEMGdZalFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05DQTlJR0kwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpVZ1BTQmlXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcxSUQwZ1lqVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTlNBOUlHSTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZallnUFNCaVd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzJJRDBnWWpZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OaUE5SUdJMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqY2dQU0JpV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWW13M0lEMGdZamNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb055QTlJR0kzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpnZ1BTQmlXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXc0SUQwZ1lqZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvT0NBOUlHSTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamtnUFNCaVd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzVJRDBnWWprZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PU0E5SUdJNUlENCtQaUF4TXp0Y2JseHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJSE5sYkdZdWJtVm5ZWFJwZG1VZ1hpQnVkVzB1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SURFNU8xeHVJQ0FnSUM4cUlHc2dQU0F3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01DazdYRzRnSUNBZ2RtRnlJSGN3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTUNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6QWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01pQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdneUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3lJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNaUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3pJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpNZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kelFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ05TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTlNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6VWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTJJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM05pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkellnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EzSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNExDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjNElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM09DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkemdnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0E1SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM1SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT1NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6a2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eEtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhREVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURFcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UQWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNU0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRElwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURJcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXhJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRNcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NeWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTXlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXlJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE15QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEUXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRFFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVE1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TkNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzFLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURVcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEVXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRZcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTmlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TlNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzNLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURjcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEY3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE5pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRZZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE55QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEZ3BPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRGdwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE55QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRrcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT1NrN1hHNGdJQ0FnZG1GeUlIY3hPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekU0SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UZ2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJRzliTUYwZ1BTQjNNRHRjYmlBZ0lDQnZXekZkSUQwZ2R6RTdYRzRnSUNBZ2Ixc3lYU0E5SUhjeU8xeHVJQ0FnSUc5Yk0xMGdQU0IzTXp0Y2JpQWdJQ0J2V3pSZElEMGdkelE3WEc0Z0lDQWdiMXMxWFNBOUlIYzFPMXh1SUNBZ0lHOWJObDBnUFNCM05qdGNiaUFnSUNCdld6ZGRJRDBnZHpjN1hHNGdJQ0FnYjFzNFhTQTlJSGM0TzF4dUlDQWdJRzliT1YwZ1BTQjNPVHRjYmlBZ0lDQnZXekV3WFNBOUlIY3hNRHRjYmlBZ0lDQnZXekV4WFNBOUlIY3hNVHRjYmlBZ0lDQnZXekV5WFNBOUlIY3hNanRjYmlBZ0lDQnZXekV6WFNBOUlIY3hNenRjYmlBZ0lDQnZXekUwWFNBOUlIY3hORHRjYmlBZ0lDQnZXekUxWFNBOUlIY3hOVHRjYmlBZ0lDQnZXekUyWFNBOUlIY3hOanRjYmlBZ0lDQnZXekUzWFNBOUlIY3hOenRjYmlBZ0lDQnZXekU0WFNBOUlIY3hPRHRjYmlBZ0lDQnBaaUFvWXlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjFzeE9WMGdQU0JqTzF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiM1YwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ2YkhsbWFXeHNJR052YldKY2JpQWdhV1lnS0NGTllYUm9MbWx0ZFd3cElIdGNiaUFnSUNCamIyMWlNVEJOZFd4VWJ5QTlJSE50WVd4c1RYVnNWRzg3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaWFXZE5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQnVkVzB1Ym1WbllYUnBkbVVnWGlCelpXeG1MbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0J6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJSFpoY2lCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcklEMGdNRHNnYXlBOElHOTFkQzVzWlc1bmRHZ2dMU0F4T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQWdJR2h1WTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISjNiM0prSUQwZ1kyRnljbmtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMllYSWdiV0Y0U2lBOUlFMWhkR2d1YldsdUtHc3NJRzUxYlM1c1pXNW5kR2dnTFNBeEtUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0JOWVhSb0xtMWhlQ2d3TENCcklDMGdjMlZzWmk1c1pXNW5kR2dnS3lBeEtUc2dhaUE4UFNCdFlYaEtPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQnJJQzBnYWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzVqWVhKeWVTQTlJQ2h1WTJGeWNua2dLeUFvS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrcElId2dNRHRjYmlBZ0lDQWdJQ0FnYkc4Z1BTQW9iRzhnS3lCeWQyOXlaQ2tnZkNBd08xeHVJQ0FnSUNBZ0lDQnlkMjl5WkNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tHeHZJRDQrUGlBeU5pa3BJSHdnTUR0Y2JseHVJQ0FnSUNBZ0lDQm9ibU5oY25KNUlDczlJRzVqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCeWQyOXlaRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNU8xeHVJQ0FnSUNBZ2JtTmhjbko1SUQwZ2FHNWpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2IzVjBMbXhsYm1kMGFDMHRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUXVjM1J5YVhBb0tUdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR3AxYldKdlRYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdabWRHMGdQU0J1WlhjZ1JrWlVUU2dwTzF4dUlDQWdJSEpsZEhWeWJpQm1ablJ0TG0xMWJIQW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmdkR2hwYzJBZ1lua2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXeFVieWh1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2daVzF3Ykc5NWFXNW5JRVpHVkZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ppQTlJR1oxYm1OMGFXOXVJRzExYkdZZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJR3AxYldKdlRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVMWEJzWVdObElFMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzV0ZFd4VWJ5aHVkVzBzSUhSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiWFZzYmlBOUlHWjFibU4wYVc5dUlHbHRkV3h1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeHVJRDBnWm5WdVkzUnBiMjRnYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJYVnNiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdCMGFHbHpZQ0FxSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM0Z5SUQwZ1puVnVZM1JwYjI0Z2MzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMTFiQ2gwYUdsekxtTnNiMjVsS0NrcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxaGRHZ3VjRzkzS0dCMGFHbHpZQ3dnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXdiM2NnUFNCbWRXNWpkR2x2YmlCd2IzY2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEc5Q2FYUkJjbkpoZVNodWRXMHBPMXh1SUNBZ0lHbG1JQ2gzTG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lDOHZJRk5yYVhBZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3p0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEpsY3lBOUlISmxjeTV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdhV1lnS0hkYmFWMGdJVDA5SURBcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNncksya2dQQ0IzTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnY1NBOUlISmxjeTV6Y1hJb0tUc2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEVnUFNCeExuTnhjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gzVzJsZElEMDlQU0F3S1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWE1nUFNCeVpYTXViWFZzS0hFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRiR1ZtZENCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFHeHVJRDBnWm5WdVkzUnBiMjRnYVhWemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZEhNZ0xTQnlLU0F2SURJMk8xeHVJQ0FnSUhaaGNpQmpZWEp5ZVUxaGMyc2dQU0FvTUhnelptWm1abVptSUQ0K1BpQW9NallnTFNCeUtTa2dQRHdnS0RJMklDMGdjaWs3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVsZDBOaGNuSjVJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JR05oY25KNVRXRnphenRjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0FvS0hSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElHNWxkME5oY25KNUtTQThQQ0J5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWXlCOElHTmhjbko1TzF4dUlDQWdJQ0FnSUNCallYSnllU0E5SUc1bGQwTmhjbko1SUQ0K1BpQW9NallnTFNCeUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUNzOUlITTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbHRjR3hsYldWdWRDQnRaVnh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWE5vYkc0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMmhwWm5RdGNtbG5hSFFnYVc0dGNHeGhZMlZjYmlBZ0x5OGdUazlVUlRvZ1lHaHBiblJnSUdseklHRWdiRzkzWlhOMElHSnBkQ0JpWldadmNtVWdkSEpoYVd4cGJtY2dlbVZ5YjJWelhHNGdJQzh2SUU1UFZFVTZJR2xtSUdCbGVIUmxibVJsWkdBZ2FYTWdjSEpsYzJWdWRDQXRJR2wwSUhkcGJHd2dZbVVnWm1sc2JHVmtJSGRwZEdnZ1pHVnpkSEp2ZVdWa0lHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2wxYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkSE1nUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZEhNZ1BqMGdNQ2s3WEc0Z0lDQWdkbUZ5SUdnN1hHNGdJQ0FnYVdZZ0tHaHBiblFwSUh0Y2JpQWdJQ0FnSUdnZ1BTQW9hR2x1ZENBdElDaG9hVzUwSUNVZ01qWXBLU0F2SURJMk8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJRTFoZEdndWJXbHVLQ2hpYVhSeklDMGdjaWtnTHlBeU5pd2dkR2hwY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVptSUY0Z0tDZ3dlRE5tWm1abVptWWdQajQrSUhJcElEdzhJSElwTzF4dUlDQWdJSFpoY2lCdFlYTnJaV1JYYjNKa2N5QTlJR1Y0ZEdWdVpHVmtPMXh1WEc0Z0lDQWdhQ0F0UFNCek8xeHVJQ0FnSUdnZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JvS1R0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkdWa0lHMXZaR1VzSUdOdmNIa2diV0Z6YTJWa0lIQmhjblJjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djenNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG14bGJtZDBhQ0E5SUhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDOHZJRTV2TFc5d0xDQjNaU0J6YUc5MWJHUWdibTkwSUcxdmRtVWdZVzU1ZEdocGJtY2dZWFFnWVd4c1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJSE03WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBZ0ppWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dQajBnYUNrN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIZHZjbVFnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvWTJGeWNua2dQRHdnS0RJMklDMGdjaWtwSUh3Z0tIZHZjbVFnUGo0K0lISXBPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNiM0prSUNZZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRZFhOb0lHTmhjbkpwWldRZ1ltbDBjeUJoY3lCaElHMWhjMnRjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNZ0ppWWdZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGMydGxaRmR2Y21SekxuZHZjbVJ6VzIxaGMydGxaRmR2Y21SekxteGxibWQwYUNzclhTQTlJR05oY25KNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYjI1c2VTQnNiM2RsY25NZ1ltbDBjeUJ2WmlCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTFoYzJ0dUlEMGdablZ1WTNScGIyNGdiV0Z6YTI0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdFlYTnJiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJSFJ2SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV0ZrWkc0Z1BTQm1kVzVqZEdsdmJpQnBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3Z01IZzBNREF3TURBd0tUdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2djbVYwZFhKdUlIUm9hWE11YVhOMVltNG9MVzUxYlNrN1hHNWNiaUFnSUNBdkx5QlFiM056YVdKc1pTQnphV2R1SUdOb1lXNW5aVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnS0hSb2FYTXVkMjl5WkhOYk1GMGdmQ0F3S1NBOElHNTFiU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnYm5WdElDMGdLSFJvYVhNdWQyOXlaSE5iTUYwZ2ZDQXdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVhOMVltNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdodmRYUWdZMmhsWTJ0elhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBZV1JrYmlBOUlHWjFibU4wYVc5dUlGOXBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBclBTQnVkVzA3WEc1Y2JpQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0ErUFNBd2VEUXdNREF3TURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQXRQU0F3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJREZkSUQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySURGZEt5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrZ0t5QXhLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk4xWW5SeVlXTjBJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVltNGdQU0JtZFc1amRHbHZiaUJwYzNWaWJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmlBZ0lDQnBaaUFvYm5WdElEd2dNQ2tnY21WMGRYSnVJSFJvYVhNdWFXRmtaRzRvTFc1MWJTazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdSdUtHNTFiU2s3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0xUMGdiblZ0TzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeElDWW1JSFJvYVhNdWQyOXlaSE5iTUYwZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdMWFJvYVhNdWQyOXlaSE5iTUYwN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnUTJGeWNubGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0E4SURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQ3M5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ0xUMGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhaR1J1SUQwZ1puVnVZM1JwYjI0Z1lXUmtiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZV1JrYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkV0p1SUQwZ1puVnVZM1JwYjI0Z2MzVmliaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBjM1ZpYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV0p6SUQwZ1puVnVZM1JwYjI0Z2FXRmljeUFvS1NCN1hHNGdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdKeklEMGdablZ1WTNScGIyNGdZV0p6SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhZbk1vS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsemFHeHVjM1ZpYlhWc0lEMGdablZ1WTNScGIyNGdYMmx6YUd4dWMzVmliWFZzSUNodWRXMHNJRzExYkN3Z2MyaHBablFwSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYm5WdExteGxibWQwYUNBcklITm9hV1owTzF4dUlDQWdJSFpoY2lCcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR3hsYmlrN1hHNWNiaUFnSUNCMllYSWdkenRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCeWFXZG9kQ0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlHMTFiRHRjYmlBZ0lDQWdJSGNnTFQwZ2NtbG5hSFFnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUNoM0lENCtJREkyS1NBdElDZ29jbWxuYUhRZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDMGdjMmhwWm5RN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnUFQwOUlEQXBJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc1Y2JpQWdJQ0F2THlCVGRXSjBjbUZqZEdsdmJpQnZkbVZ5Wm14dmQxeHVJQ0FnSUdGemMyVnlkQ2hqWVhKeWVTQTlQVDBnTFRFcE8xeHVJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUMwb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZkMjl5WkVScGRpQTlJR1oxYm1OMGFXOXVJRjkzYjNKa1JHbDJJQ2h1ZFcwc0lHMXZaR1VwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCMGFHbHpMbXhsYm1kMGFDQXRJRzUxYlM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFNXZjbTFoYkdsNlpWeHVJQ0FnSUhaaGNpQmlhR2tnUFNCaUxuZHZjbVJ6VzJJdWJHVnVaM1JvSUMwZ01WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWFHbENhWFJ6SUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0dKb2FTazdYRzRnSUNBZ2MyaHBablFnUFNBeU5pQXRJR0pvYVVKcGRITTdYRzRnSUNBZ2FXWWdLSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaUlEMGdZaTUxYzJoc2JpaHphR2xtZENrN1hHNGdJQ0FnSUNCaExtbDFjMmhzYmloemFHbG1kQ2s3WEc0Z0lDQWdJQ0JpYUdrZ1BTQmlMbmR2Y21SelcySXViR1Z1WjNSb0lDMGdNVjBnZkNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdjWFZ2ZEdsbGJuUmNiaUFnSUNCMllYSWdiU0E5SUdFdWJHVnVaM1JvSUMwZ1lpNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlIRTdYRzVjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJSEVnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ0lDQnhMbXhsYm1kMGFDQTlJRzBnS3lBeE8xeHVJQ0FnSUNBZ2NTNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaHhMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHUnBabVlnUFNCaExtTnNiMjVsS0NrdVgybHphR3h1YzNWaWJYVnNLR0lzSURFc0lHMHBPMXh1SUNBZ0lHbG1JQ2hrYVdabUxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdaR2xtWmp0Y2JpQWdJQ0FnSUdsbUlDaHhLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYlYwZ1BTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J0SUMwZ01Uc2dhaUErUFNBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhhaUE5SUNoaExuZHZjbVJ6VzJJdWJHVnVaM1JvSUNzZ2FsMGdmQ0F3S1NBcUlEQjROREF3TURBd01DQXJYRzRnSUNBZ0lDQWdJQ2hoTG5kdmNtUnpXMkl1YkdWdVozUm9JQ3NnYWlBdElERmRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lDOHZJRTVQVkVVNklDaHhhaUF2SUdKb2FTa2dhWE1nS0RCNE0yWm1abVptWmlBcUlEQjROREF3TURBd01DQXJJREI0TTJabVptWm1aaWtnTHlBd2VESXdNREF3TURBZ2JXRjRYRzRnSUNBZ0lDQXZMeUFvTUhnM1ptWm1abVptS1Z4dUlDQWdJQ0FnY1dvZ1BTQk5ZWFJvTG0xcGJpZ29jV29nTHlCaWFHa3BJSHdnTUN3Z01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2djV29zSUdvcE8xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NXb3RMVHRjYmlBZ0lDQWdJQ0FnWVM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQWdJR0V1WDJsemFHeHVjM1ZpYlhWc0tHSXNJREVzSUdvcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeEtTQjdYRzRnSUNBZ0lDQWdJSEV1ZDI5eVpITmJhbDBnUFNCeGFqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJSEV1YzNSeWFYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ1lTNXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdSR1Z1YjNKdFlXeHBlbVZjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY2dKaVlnYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtITm9hV1owS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdaR2wyT2lCeElIeDhJRzUxYkd3c1hHNGdJQ0FnSUNCdGIyUTZJR0ZjYmlBZ0lDQjlPMXh1SUNCOU8xeHVYRzRnSUM4dklFNVBWRVU2SURFcElHQnRiMlJsWUNCallXNGdZbVVnYzJWMElIUnZJR0J0YjJSZ0lIUnZJSEpsY1hWbGMzUWdiVzlrSUc5dWJIa3NYRzRnSUM4dklDQWdJQ0FnSUhSdklHQmthWFpnSUhSdklISmxjWFZsYzNRZ1pHbDJJRzl1Ykhrc0lHOXlJR0psSUdGaWMyVnVkQ0IwYjF4dUlDQXZMeUFnSUNBZ0lDQnlaWEYxWlhOMElHSnZkR2dnWkdsMklDWWdiVzlrWEc0Z0lDOHZJQ0FnSUNBZ0lESXBJR0J3YjNOcGRHbDJaV0FnYVhNZ2RISjFaU0JwWmlCMWJuTnBaMjVsWkNCdGIyUWdhWE1nY21WeGRXVnpkR1ZrWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhadGIyUWdQU0JtZFc1amRHbHZiaUJrYVhadGIyUWdLRzUxYlN3Z2JXOWtaU3dnY0c5emFYUnBkbVVwSUh0Y2JpQWdJQ0JoYzNObGNuUW9JVzUxYlM1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tEQXBYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVhZc0lHMXZaQ3dnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2R0YjJRbktTQjdYRzRnSUNBZ0lDQWdJR1JwZGlBOUlISmxjeTVrYVhZdWJtVm5LQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnRiMlFnUFNCeVpYTXViVzlrTG01bFp5Z3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwZG1VZ0ppWWdiVzlrTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXOWtMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUnBkbTF2WkNodWRXMHVibVZuS0Nrc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2djbVZ6TG0xdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ0ppQnVkVzB1Ym1WbllYUnBkbVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG01bFp5Z3BMbVJwZG0xdlpDaHVkVzB1Ym1WbktDa3NJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCeVpYTXVaR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQ2IzUm9JRzUxYldKbGNuTWdZWEpsSUhCdmMybDBhWFpsSUdGMElIUm9hWE1nY0c5cGJuUmNibHh1SUNBZ0lDOHZJRk4wY21sd0lHSnZkR2dnYm5WdFltVnljeUIwYnlCaGNIQnliM2hwYldGMFpTQnphR2xtZENCMllXeDFaVnh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQ0Z2RHaHBjeTVzWlc1bmRHZ2dmSHdnZEdocGN5NWpiWEFvYm5WdEtTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklIUm9hWE5jYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVm1WeWVTQnphRzl5ZENCeVpXUjFZM1JwYjI1Y2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1MWJHeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdaR2wyT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhSb2FYTXVaR2wyYmlodWRXMHVkMjl5WkhOYk1GMHBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2Wkc0b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnY2pJZ1BUMDlJREVnSmlZZ1kyMXdJRDA5UFNBd0tTQnlaWFIxY200Z1pHMHVaR2wyTzF4dVhHNGdJQ0FnTHk4Z1VtOTFibVFnZFhCY2JpQWdJQ0J5WlhSMWNtNGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHVaR2wyTG1semRXSnVLREVwSURvZ1pHMHVaR2wyTG1saFpHUnVLREVwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0YjJSdUlEMGdablZ1WTNScGIyNGdiVzlrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUhaaGNpQndJRDBnS0RFZ1BEd2dNallwSUNVZ2JuVnRPMXh1WEc0Z0lDQWdkbUZ5SUdGall5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lHRmpZeUE5SUNod0lDb2dZV05qSUNzZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTa2dKU0J1ZFcwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JrYVhacGMybHZiaUJpZVNCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxrYVhadUlEMGdablZ1WTNScGIyNGdhV1JwZG00Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNUlDb2dNSGcwTURBd01EQXdPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlDaDNJQzhnYm5WdEtTQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiaUE5SUdaMWJtTjBhVzl1SUdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXUnBkbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpXZGpaQ0E5SUdaMWJtTjBhVzl1SUdWblkyUWdLSEFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9jQzV1WldkaGRHbDJaU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NGd0xtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUI0SUQwZ2RHaHBjenRjYmlBZ0lDQjJZWElnZVNBOUlIQXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lHbG1JQ2g0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNTFiVzlrS0hBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNWpiRzl1WlNncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRWdLaUI0SUNzZ1FpQXFJSGtnUFNCNFhHNGdJQ0FnZG1GeUlFRWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUVJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQXZMeUJESUNvZ2VDQXJJRVFnS2lCNUlEMGdlVnh1SUNBZ0lIWmhjaUJESUQwZ2JtVjNJRUpPS0RBcE8xeHVJQ0FnSUhaaGNpQkVJRDBnYm1WM0lFSk9LREVwTzF4dVhHNGdJQ0FnZG1GeUlHY2dQU0F3TzF4dVhHNGdJQ0FnZDJocGJHVWdLSGd1YVhORmRtVnVLQ2tnSmlZZ2VTNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdlQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I1TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNzclp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdlWEFnUFNCNUxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlIaHdJRDBnZUM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLQ0Y0TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvZUM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSGd1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hCTG1selQyUmtLQ2tnZkh3Z1FpNXBjMDlrWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxtbGhaR1FvZVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnUWk1cGMzVmlLSGh3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCQkxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdJQ0JDTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTUN3Z2FtMGdQU0F4T3lBb2VTNTNiM0prYzFzd1hTQW1JR3B0S1NBOVBUMGdNQ0FtSmlCcUlEd2dNalk3SUNzcmFpd2dhbTBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0dvZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYVnphSEp1S0dvcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FpMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoRExtbHpUMlJrS0NrZ2ZId2dSQzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkRMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1JDNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCRUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VDNWpiWEFvZVNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbHpkV0lvZVNrN1hHNGdJQ0FnSUNBZ0lFRXVhWE4xWWloREtUdGNiaUFnSUNBZ0lDQWdRaTVwYzNWaUtFUXBPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlUzVwYzNWaUtIZ3BPMXh1SUNBZ0lDQWdJQ0JETG1semRXSW9RU2s3WEc0Z0lDQWdJQ0FnSUVRdWFYTjFZaWhDS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZVG9nUXl4Y2JpQWdJQ0FnSUdJNklFUXNYRzRnSUNBZ0lDQm5ZMlE2SUhrdWFYVnphR3h1S0djcFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJVYUdseklHbHpJSEpsWkhWalpXUWdhVzVqWVhKdVlYUnBiMjRnYjJZZ2RHaGxJR0pwYm1GeWVTQkZSVUZjYmlBZ0x5OGdZV0p2ZG1Vc0lHUmxjMmxuYm1GMFpXUWdkRzhnYVc1MlpYSjBJRzFsYldKbGNuTWdiMllnZEdobFhHNGdJQzh2SUY5d2NtbHRaVjhnWm1sbGJHUnpJRVlvY0NrZ1lYUWdZU0J0WVhocGJXRnNJSE53WldWa1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNTJiWEFnUFNCbWRXNWpkR2x2YmlCZmFXNTJiWEFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoaExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdZUzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaElEMGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI0TVNBOUlHNWxkeUJDVGlneEtUdGNiaUFnSUNCMllYSWdlRElnUFNCdVpYY2dRazRvTUNrN1hHNWNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQmlMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjNhR2xzWlNBb1lTNWpiWEJ1S0RFcElENGdNQ0FtSmlCaUxtTnRjRzRvTVNrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhVzBnUFNBeE95QW9ZUzUzYjNKa2Mxc3dYU0FtSUdsdEtTQTlQVDBnTUNBbUppQnBJRHdnTWpZN0lDc3JhU3dnYVcwZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWFZ6YUhKdUtHa3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hUzB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNUzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNUzVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1TNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLR0l1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmlMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9lREl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlREl1YVdGa1pDaGtaV3gwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2VESXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGhMbU50Y0NoaUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNBZ0lDQWdlREV1YVhOMVlpaDRNaWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JpTG1semRXSW9ZU2s3WEc0Z0lDQWdJQ0FnSUhneUxtbHpkV0lvZURFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdhV1lnS0dFdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdlREU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZGpaQ0E5SUdaMWJtTjBhVzl1SUdkalpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJ1ZFcwdVlXSnpLQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTNXBjMXBsY204b0tTa2djbVYwZFhKdUlIUm9hWE11WVdKektDazdYRzVjYmlBZ0lDQjJZWElnWVNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQjJZWElnWWlBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJR0l1Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ0x5OGdVbVZ0YjNabElHTnZiVzF2YmlCbVlXTjBiM0lnYjJZZ2RIZHZYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2MyaHBablFnUFNBd095QmhMbWx6UlhabGJpZ3BJQ1ltSUdJdWFYTkZkbVZ1S0NrN0lITm9hV1owS3lzcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdZaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnZDJocGJHVWdLR0V1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb1lpNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSElnUFNCaExtTnRjQ2hpS1R0Y2JpQWdJQ0FnSUdsbUlDaHlJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUZDJGd0lHQmhZQ0JoYm1RZ1lHSmdJSFJ2SUcxaGEyVWdZR0ZnSUdGc2QyRjVjeUJpYVdkblpYSWdkR2hoYmlCZ1ltQmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQmhPMXh1SUNBZ0lDQWdJQ0JoSUQwZ1lqdGNiaUFnSUNBZ0lDQWdZaUE5SUhRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISWdQVDA5SURBZ2ZId2dZaTVqYlhCdUtERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2RISjFaU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZaTVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdWRtVnlkQ0J1ZFcxaVpYSWdhVzRnZEdobElHWnBaV3hrSUVZb2JuVnRLVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZuWTJRb2JuVnRLUzVoTG5WdGIyUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhORmRtVnVJRDBnWm5WdVkzUnBiMjRnYVhORmRtVnVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTlBaR1FnUFNCbWRXNWpkR2x2YmlCcGMwOWtaQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuZHZjbVJ6V3pCZElDWWdNU2tnUFQwOUlERTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR1pwY25OMElIZHZjbVFnWVc1a0lHNTFiVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZVzVrYkc0Z1BTQm1kVzVqZEdsdmJpQmhibVJzYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZDI5eVpITmJNRjBnSmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNWpjbVZ0Wlc1MElHRjBJSFJvWlNCaWFYUWdjRzl6YVhScGIyNGdhVzR0YkdsdVpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbHVZMjRnUFNCbWRXNWpkR2x2YmlCaWFXNWpiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkQ0FsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRDQXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJSEVnUFNBeElEdzhJSEk3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVNklHSnBkQ0JwY3lCdGRXTm9JR2hwWjJobGNpQjBhR0Z1SUdGc2JDQmxlR2x6ZEdsdVp5QjNiM0prYzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQThQU0J6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlsZUhCaGJtUW9jeUFySURFcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHpYU0I4UFNCeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKcGRDQmhibVFnY0hKdmNHRm5ZWFJsTENCcFppQnVaV1ZrWldSY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNCeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpPeUJqWVhKeWVTQWhQVDBnTUNBbUppQnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSGNnS3owZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnUGo0K0lESTJPMXh1SUNBZ0lDQWdkeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZHp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOYVpYSnZJRDBnWm5WdVkzUnBiMjRnYVhOYVpYSnZJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTIxd2JpQTlJR1oxYm1OMGFXOXVJR050Y0c0Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdVpXZGhkR2wyWlNBOUlHNTFiU0E4SURBN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlBaGJtVm5ZWFJwZG1VcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lISmxjeUE5SURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNodVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzBnUFNBdGJuVnRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppd2dKMDUxYldKbGNpQnBjeUIwYjI4Z1ltbG5KeWs3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjNJRDA5UFNCdWRXMGdQeUF3SURvZ2R5QThJRzUxYlNBL0lDMHhJRG9nTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdkSGR2SUc1MWJXSmxjbk1nWVc1a0lISmxkSFZ5YmpwY2JpQWdMeThnTVNBdElHbG1JR0IwYUdsellDQStJR0J1ZFcxZ1hHNGdJQzh2SURBZ0xTQnBaaUJnZEdocGMyQWdQVDBnWUc1MWJXQmNiaUFnTHk4Z0xURWdMU0JwWmlCZ2RHaHBjMkFnUENCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZMjF3SUQwZ1puVnVZM1JwYjI0Z1kyMXdJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdQVDA5SURBcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE11ZFdOdGNDaHVkVzBwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQnlaWFIxY200Z0xYSmxjeUI4SURBN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJWYm5OcFoyNWxaQ0JqYjIxd1lYSnBjMjl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWTIxd0lEMGdablZ1WTNScGIyNGdkV050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nYUdGMlpTQjBhR1VnYzJGdFpTQnphV2R1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJREU3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJQzB4TzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJSFpoY2lCaElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHBYU0I4SURBN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoSUQwOVBTQmlLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJR2xtSUNoaElEd2dZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F0TVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lTQStJR0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHNGdQU0JtZFc1amRHbHZiaUJuZEc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1FnUFNCbWRXNWpkR2x2YmlCbmRDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdLRzUxYlNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlc0Z1BTQm1kVzVqZEdsdmJpQm5kR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUGowZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVozUmxJRDBnWm5WdVkzUnBiMjRnWjNSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkRzRnUFNCbWRXNWpkR2x2YmlCc2RHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTFRFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MElEMGdablZ1WTNScGIyNGdiSFFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxiaUE5SUdaMWJtTjBhVzl1SUd4MFpXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQThQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVzZEdVZ1BTQm1kVzVqZEdsdmJpQnNkR1VnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1WeGJpQTlJR1oxYm1OMGFXOXVJR1Z4YmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQklISmxaSFZqWlNCamIyNTBaWGgwTENCamIzVnNaQ0JpWlNCMWMybHVaeUJ0YjI1MFoyOXRaWEo1SUc5eUlITnZiV1YwYUdsdVp5QmlaWFIwWlhJc0lHUmxjR1Z1WkdsdVoxeHVJQ0F2THlCdmJpQjBhR1VnWUcxZ0lHbDBjMlZzWmk1Y2JpQWdMeTljYmlBZ1FrNHVjbVZrSUQwZ1puVnVZM1JwYjI0Z2NtVmtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGSmxaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxSmxaQ0E5SUdaMWJtTjBhVzl1SUhSdlVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZM1I0TG1OdmJuWmxjblJVYnloMGFHbHpLUzVmWm05eVkyVlNaV1FvWTNSNEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVkpsWkNBOUlHWjFibU4wYVc5dUlHWnliMjFTWldRZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0oyWnliMjFTWldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUc1MWJXSmxjbk1nYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WTI5dWRtVnlkRVp5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDltYjNKalpWSmxaQ0E5SUdaMWJtTjBhVzl1SUY5bWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdkR2hwY3k1eVpXUWdQU0JqZEhnN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1admNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1ptOXlZMlZTWldRZ0tHTjBlQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hkR2hwY3k1eVpXUXNJQ2RCYkhKbFlXUjVJR0VnYm5WdFltVnlJR2x1SUhKbFpIVmpkR2x2YmlCamIyNTBaWGgwSnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVGa1pDQTlJR1oxYm1OMGFXOXVJSEpsWkVGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1FXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNWhaR1FvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NVRmtaQ0E5SUdaMWJtTjBhVzl1SUhKbFpFbEJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRWxCWkdRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1saFpHUW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVTNWaUlEMGdablZ1WTNScGIyNGdjbVZrVTNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTjFZaWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzVmlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk4xWWlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOMVlpaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUYUd3Z1BTQm1kVzVqZEdsdmJpQnlaV1JUYUd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOb2JDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMyaHNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkUxMWJDQTlJR1oxYm1OMGFXOXVJSEpsWkUxMWJDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1RYVnNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3lLSFJvYVhNc0lHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtMTFiQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlRYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1NVMTFiQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUWFZzSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt5S0hSb2FYTXNJRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbWx0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtVM0Z5SUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5OeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NWTnhjaUE5SUdaMWJtTjBhVzl1SUhKbFpFbFRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbFRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1semNYSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNGMVlYSmxJSEp2YjNRZ2IzWmxjaUJ3WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGNYSjBJRDBnWm5WdVkzUnBiMjRnY21Wa1UzRnlkQ0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UzRnlkQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeWRDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NXNTJiU0E5SUdaMWJtTjBhVzl1SUhKbFpFbHVkbTBnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbHVkbTBnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1sdWRtMG9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzVsWjJGMGFYWmxJR05zYjI1bElHOW1JR0IwYUdsellDQWxJR0J5WldRZ2JXOWtkV3h2WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RtVm5JRDBnWm5WdVkzUnBiMjRnY21Wa1RtVm5JQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldST1pXY2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVURW9kR2hwY3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbTVsWnloMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVUc5M0lEMGdablZ1WTNScGIyNGdjbVZrVUc5M0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUWdKaVlnSVc1MWJTNXlaV1FzSUNkeVpXUlFiM2NvYm05eWJXRnNUblZ0S1NjcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1d2IzY29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjbWx0WlNCdWRXMWlaWEp6SUhkcGRHZ2daV1ptYVdOcFpXNTBJSEpsWkhWamRHbHZibHh1SUNCMllYSWdjSEpwYldWeklEMGdlMXh1SUNBZ0lHc3lOVFk2SUc1MWJHd3NYRzRnSUNBZ2NESXlORG9nYm5Wc2JDeGNiaUFnSUNCd01Ua3lPaUJ1ZFd4c0xGeHVJQ0FnSUhBeU5UVXhPVG9nYm5Wc2JGeHVJQ0I5TzF4dVhHNGdJQzh2SUZCelpYVmtieTFOWlhKelpXNXVaU0J3Y21sdFpWeHVJQ0JtZFc1amRHbHZiaUJOVUhKcGJXVWdLRzVoYldVc0lIQXBJSHRjYmlBZ0lDQXZMeUJRSUQwZ01pQmVJRTRnTFNCTFhHNGdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG5BZ1BTQnVaWGNnUWs0b2NDd2dNVFlwTzF4dUlDQWdJSFJvYVhNdWJpQTlJSFJvYVhNdWNDNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1zZ1BTQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtIUm9hWE11YmlrdWFYTjFZaWgwYUdsekxuQXBPMXh1WEc0Z0lDQWdkR2hwY3k1MGJYQWdQU0IwYUdsekxsOTBiWEFvS1R0Y2JpQWdmVnh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdVgzUnRjQ0E5SUdaMWJtTjBhVzl1SUY5MGJYQWdLQ2tnZTF4dUlDQWdJSFpoY2lCMGJYQWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnZEcxd0xuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtFMWhkR2d1WTJWcGJDaDBhR2x6TG00Z0x5QXhNeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBiWEE3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z2FYSmxaSFZqWlNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhOemRXMWxjeUIwYUdGMElHQnVkVzFnSUdseklHeGxjM01nZEdoaGJpQmdVRjR5WUZ4dUlDQWdJQzh2SUc1MWJTQTlJRWhKSUNvZ0tESWdYaUJPSUMwZ1N5a2dLeUJJU1NBcUlFc2dLeUJNVHlBOUlFaEpJQ29nU3lBcklFeFBJQ2h0YjJRZ1VDbGNiaUFnSUNCMllYSWdjaUE5SUc1MWJUdGNiaUFnSUNCMllYSWdjbXhsYmp0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIUm9hWE11YzNCc2FYUW9jaXdnZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVcxMWJFc29jaWs3WEc0Z0lDQWdJQ0J5SUQwZ2NpNXBZV1JrS0hSb2FYTXVkRzF3S1R0Y2JpQWdJQ0FnSUhKc1pXNGdQU0J5TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0hKc1pXNGdQaUIwYUdsekxtNHBPMXh1WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJSEpzWlc0Z1BDQjBhR2x6TG00Z1B5QXRNU0E2SUhJdWRXTnRjQ2gwYUdsekxuQXBPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjaTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTIxd0lENGdNQ2tnZTF4dUlDQWdJQ0FnY2k1cGMzVmlLSFJvYVhNdWNDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhJdWMzUnlhWEFvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFFwSUh0Y2JpQWdJQ0JwYm5CMWRDNXBkWE5vY200b2RHaHBjeTV1TENBd0xDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNXBiWFZzS0hSb2FYTXVheWs3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1N6STFOaUFvS1NCN1hHNGdJQ0FnVFZCeWFXMWxMbU5oYkd3b1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdKMnN5TlRZbkxGeHVJQ0FnSUNBZ0oyWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abElHWm1abVptWXpKbUp5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9TekkxTml3Z1RWQnlhVzFsS1R0Y2JseHVJQ0JMTWpVMkxuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMGNIVjBLU0I3WEc0Z0lDQWdMeThnTWpVMklEMGdPU0FxSURJMklDc2dNakpjYmlBZ0lDQjJZWElnYldGemF5QTlJREI0TTJabVptWm1PMXh1WEc0Z0lDQWdkbUZ5SUc5MWRFeGxiaUE5SUUxaGRHZ3ViV2x1S0dsdWNIVjBMbXhsYm1kMGFDd2dPU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2ZFhSTVpXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2IzVjBjSFYwTG5kdmNtUnpXMmxkSUQwZ2FXNXdkWFF1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHOTFkSEIxZEM1c1pXNW5kR2dnUFNCdmRYUk1aVzQ3WEc1Y2JpQWdJQ0JwWmlBb2FXNXdkWFF1YkdWdVozUm9JRHc5SURrcElIdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lHbHVjSFYwTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVTJocFpuUWdZbmtnT1NCc2FXMWljMXh1SUNBZ0lIWmhjaUJ3Y21WMklEMGdhVzV3ZFhRdWQyOXlaSE5iT1YwN1hHNGdJQ0FnYjNWMGNIVjBMbmR2Y21SelcyOTFkSEIxZEM1c1pXNW5kR2dySzEwZ1BTQndjbVYySUNZZ2JXRnphenRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJREV3T3lCcElEd2dhVzV3ZFhRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdVpYaDBJRDBnYVc1d2RYUXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYmFTQXRJREV3WFNBOUlDZ29ibVY0ZENBbUlHMWhjMnNwSUR3OElEUXBJSHdnS0hCeVpYWWdQajQrSURJeUtUdGNiaUFnSUNBZ0lIQnlaWFlnUFNCdVpYaDBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtVjJJRDQrUGowZ01qSTdYRzRnSUNBZ2FXNXdkWFF1ZDI5eVpITmJhU0F0SURFd1hTQTlJSEJ5WlhZN1hHNGdJQ0FnYVdZZ0tIQnlaWFlnUFQwOUlEQWdKaVlnYVc1d2RYUXViR1Z1WjNSb0lENGdNVEFwSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0F4TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlEazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXdNREF3TUROa01TQTlJRnNnTUhnME1Dd2dNSGd6WkRFZ1hWeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb1hTQTlJREE3WEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnS3lBeFhTQTlJREE3WEc0Z0lDQWdiblZ0TG14bGJtZDBhQ0FyUFNBeU8xeHVYRzRnSUNBZ0x5OGdZbTkxYm1SbFpDQmhkRG9nTUhnME1DQXFJREI0TTJabVptWm1aaUFySURCNE0yUXdJRDBnTUhneE1EQXdNREF6T1RCY2JpQWdJQ0IyWVhJZ2JHOGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRzUxYlM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnNieUFyUFNCM0lDb2dNSGd6WkRFN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHeHZJRDBnZHlBcUlEQjROREFnS3lBb0tHeHZJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRVpoYzNRZ2JHVnVaM1JvSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J1ZFcwdWJHVnVaM1JvTFMwN1hHNGdJQ0FnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzB1YkdWdVozUm9MUzA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJeU5DQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXlNalFuTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SURBd01EQXdNREF4SnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VESXlOQ3dnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNVGt5SUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RFNU1pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1abVptWWdabVptWm1abVptWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTVRreUxDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeU5UVXhPU0FvS1NCN1hHNGdJQ0FnTHk4Z01pQmVJREkxTlNBdElERTVYRzRnSUNBZ1RWQnlhVzFsTG1OaGJHd29YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnSnpJMU5URTVKeXhjYmlBZ0lDQWdJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9VREkxTlRFNUxDQk5VSEpwYldVcE8xeHVYRzRnSUZBeU5UVXhPUzV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVROY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVnRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNBb2JuVnRMbmR2Y21SelcybGRJSHdnTUNrZ0tpQXdlREV6SUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JvYVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHaHBJRDQrUGowZ01qWTdYRzVjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQm9hVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDc3JYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVWNGNHOXlkR1ZrSUcxdmMzUnNlU0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3l3Z2RYTmxJSEJzWVdsdUlHNWhiV1VnYVc1emRHVmhaRnh1SUNCQ1RpNWZjSEpwYldVZ1BTQm1kVzVqZEdsdmJpQndjbWx0WlNBb2JtRnRaU2tnZTF4dUlDQWdJQzh2SUVOaFkyaGxaQ0IyWlhKemFXOXVJRzltSUhCeWFXMWxYRzRnSUNBZ2FXWWdLSEJ5YVcxbGMxdHVZVzFsWFNrZ2NtVjBkWEp1SUhCeWFXMWxjMXR1WVcxbFhUdGNibHh1SUNBZ0lIWmhjaUJ3Y21sdFpUdGNiaUFnSUNCcFppQW9ibUZ0WlNBOVBUMGdKMnN5TlRZbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJMTWpVMktDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREl5TkNjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TWpRb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNVGt5SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREU1TWlncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXlOVFV4T1NjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TlRVeE9TZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdWEyNXZkMjRnY0hKcGJXVWdKeUFySUc1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtbHRaWE5iYm1GdFpWMGdQU0J3Y21sdFpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd2NtbHRaVHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQ1lYTmxJSEpsWkhWamRHbHZiaUJsYm1kcGJtVmNiaUFnTHk5Y2JpQWdablZ1WTNScGIyNGdVbVZrSUNodEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YVcxbElEMGdRazR1WDNCeWFXMWxLRzBwTzF4dUlDQWdJQ0FnZEdocGN5NXRJRDBnY0hKcGJXVXVjRHRjYmlBZ0lDQWdJSFJvYVhNdWNISnBiV1VnUFNCd2NtbHRaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0cwdVozUnVLREVwTENBbmJXOWtkV3gxY3lCdGRYTjBJR0psSUdkeVpXRjBaWElnZEdoaGJpQXhKeWs3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J0TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWZkbVZ5YVdaNU1TQTlJR1oxYm1OMGFXOXVJRjkyWlhKcFpua3hJQ2hoS1NCN1hHNGdJQ0FnWVhOelpYSjBLR0V1Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUdGemMyVnlkQ2hoTG5KbFpDd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reUlEMGdablZ1WTNScGIyNGdYM1psY21sbWVUSWdLR0VzSUdJcElIdGNiaUFnSUNCaGMzTmxjblFvS0dFdWJtVm5ZWFJwZG1VZ2ZDQmlMbTVsWjJGMGFYWmxLU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0lDWW1JR0V1Y21Wa0lEMDlQU0JpTG5KbFpDeGNiaUFnSUNBZ0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJXOWtJRDBnWm5WdVkzUnBiMjRnYVcxdlpDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbkJ5YVcxbEtTQnlaWFIxY200Z2RHaHBjeTV3Y21sdFpTNXBjbVZrZFdObEtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnWVM1MWJXOWtLSFJvYVhNdWJTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbklDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJTNXpkV0lvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrSUNoaExDQmlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRtVnlhV1o1TWloaExDQmlLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0JoTG1Ga1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhV0ZrWkNBOUlHWjFibU4wYVc5dUlHbGhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVdGa1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YzNWaUtHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdWFYTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjMmhzSUQwZ1puVnVZM1JwYjI0Z2MyaHNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt4S0dFcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1MWMyaHNiaWh1ZFcwcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRkV3dnUFNCbWRXNWpkR2x2YmlCcGJYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWFXMTFiQ2hpS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzV0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE54Y2lBOUlHWjFibU4wYVc5dUlHbHpjWElnS0dFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0dFc0lHRXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29ZU3dnWVNrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSjBJRDBnWm5WdVkzUnBiMjRnYzNGeWRDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoaExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z1lTNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2RtRnlJRzF2WkRNZ1BTQjBhR2x6TG0wdVlXNWtiRzRvTXlrN1hHNGdJQ0FnWVhOelpYSjBLRzF2WkRNZ0pTQXlJRDA5UFNBeEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaVnh1SUNBZ0lHbG1JQ2h0YjJReklEMDlQU0F6S1NCN1hHNGdJQ0FnSUNCMllYSWdjRzkzSUQwZ2RHaHBjeTV0TG1Ga1pDaHVaWGNnUWs0b01Ta3BMbWwxYzJoeWJpZ3lLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmR5aGhMQ0J3YjNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGUnZibVZzYkdrdFUyaGhibXR6SUdGc1oyOXlhWFJvYlNBb1ZHOTBZV3hzZVNCMWJtOXdkR2x0YVhwbFpDQmhibVFnYzJ4dmR5bGNiaUFnSUNBdkwxeHVJQ0FnSUM4dklFWnBibVFnVVNCaGJtUWdVeXdnZEdoaGRDQlJJQ29nTWlCZUlGTWdQU0FvVUNBdElERXBYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLVHRjYmlBZ0lDQjJZWElnY3lBOUlEQTdYRzRnSUNBZ2QyaHBiR1VnS0NGeExtbHpXbVZ5YnlncElDWW1JSEV1WVc1a2JHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0FnSUhFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9JWEV1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHOXVaU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCMllYSWdiazl1WlNBOUlHOXVaUzV5WldST1pXY29LVHRjYmx4dUlDQWdJQzh2SUVacGJtUWdjWFZoWkhKaGRHbGpJRzV2YmkxeVpYTnBaSFZsWEc0Z0lDQWdMeThnVGs5VVJUb2dUV0Y0SUdseklITjFZMmdnWW1WallYVnpaU0J2WmlCblpXNWxjbUZzYVhwbFpDQlNhV1Z0WVc1dUlHaDVjRzkwYUdWemFYTXVYRzRnSUNBZ2RtRnlJR3h3YjNjZ1BTQjBhR2x6TG0wdWMzVmliaWd4S1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlIb2dQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdlaUE5SUc1bGR5QkNUaWd5SUNvZ2VpQXFJSG9wTG5SdlVtVmtLSFJvYVhNcE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXVjRzkzS0hvc0lHeHdiM2NwTG1OdGNDaHVUMjVsS1NBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZWk1eVpXUkpRV1JrS0c1UGJtVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTV3YjNjb2Vpd2djU2s3WEc0Z0lDQWdkbUZ5SUhJZ1BTQjBhR2x6TG5CdmR5aGhMQ0J4TG1Ga1pHNG9NU2t1YVhWemFISnVLREVwS1R0Y2JpQWdJQ0IyWVhJZ2RDQTlJSFJvYVhNdWNHOTNLR0VzSUhFcE8xeHVJQ0FnSUhaaGNpQnRJRDBnY3p0Y2JpQWdJQ0IzYUdsc1pTQW9kQzVqYlhBb2IyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSFE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dkRzF3TG1OdGNDaHZibVVwSUNFOVBTQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkRzF3SUQwZ2RHMXdMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWE56WlhKMEtHa2dQQ0J0S1R0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NXdiM2NvWXl3Z2JtVjNJRUpPS0RFcExtbDFjMmhzYmlodElDMGdhU0F0SURFcEtUdGNibHh1SUNBZ0lDQWdjaUE5SUhJdWNtVmtUWFZzS0dJcE8xeHVJQ0FnSUNBZ1l5QTlJR0l1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0IwSUQwZ2RDNXlaV1JOZFd3b1l5azdYRzRnSUNBZ0lDQnRJRDBnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ2RtRnlJR2x1ZGlBOUlHRXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNGdJQ0FnYVdZZ0tHbHVkaTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhVzUyTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb2FXNTJLUzV5WldST1pXY29LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9ZU3dnYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlM1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCcFppQW9iblZ0TG1OdGNHNG9NU2tnUFQwOUlEQXBJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnZDJsdVpHOTNVMmw2WlNBOUlEUTdYRzRnSUNBZ2RtRnlJSGR1WkNBOUlHNWxkeUJCY25KaGVTZ3hJRHc4SUhkcGJtUnZkMU5wZW1VcE8xeHVJQ0FnSUhkdVpGc3dYU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCM2JtUmJNVjBnUFNCaE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z2QyNWtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM2JtUmJhVjBnUFNCMGFHbHpMbTExYkNoM2JtUmJhU0F0SURGZExDQmhLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkMjVrV3pCZE8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ2RtRnlJSE4wWVhKMElEMGdiblZ0TG1KcGRFeGxibWQwYUNncElDVWdNalk3WEc0Z0lDQWdhV1lnS0hOMFlYSjBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiUzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdjM1JoY25RZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWW1sMElEMGdLSGR2Y21RZ1BqNGdhaWtnSmlBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WeklDRTlQU0IzYm1SYk1GMHBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTnhjaWh5WlhNcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnBkQ0E5UFQwZ01DQW1KaUJqZFhKeVpXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEdzhQU0F4TzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUh3OUlHSnBkRHRjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlzck8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRXhsYmlBaFBUMGdkMmx1Wkc5M1UybDZaU0FtSmlBb2FTQWhQVDBnTUNCOGZDQnFJQ0U5UFNBd0tTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdkR2hwY3k1dGRXd29jbVZ6TENCM2JtUmJZM1Z5Y21WdWRGMHBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6ZEdGeWRDQTlJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdiblZ0TG5WdGIyUW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCeUlEMDlQU0J1ZFcwZ1B5QnlMbU5zYjI1bEtDa2dPaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lISmxjeTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OWNiaUFnTHk4Z1RXOXVkR2R2YldWeWVTQnRaWFJvYjJRZ1pXNW5hVzVsWEc0Z0lDOHZYRzVjYmlBZ1FrNHViVzl1ZENBOUlHWjFibU4wYVc5dUlHMXZiblFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dUVzl1ZENodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUUxdmJuUWdLRzBwSUh0Y2JpQWdJQ0JTWldRdVkyRnNiQ2gwYUdsekxDQnRLVHRjYmx4dUlDQWdJSFJvYVhNdWMyaHBablFnUFNCMGFHbHpMbTB1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXphR2xtZENBclBTQXlOaUF0SUNoMGFHbHpMbk5vYVdaMElDVWdNallwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWNpQTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkR2hwY3k1eU1pQTlJSFJvYVhNdWFXMXZaQ2gwYUdsekxuSXVjM0Z5S0NrcE8xeHVJQ0FnSUhSb2FYTXVjbWx1ZGlBOUlIUm9hWE11Y2k1ZmFXNTJiWEFvZEdocGN5NXRLVHRjYmx4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjbWx1ZGk1dGRXd29kR2hwY3k1eUtTNXBjM1ZpYmlneEtTNWthWFlvZEdocGN5NXRLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxtMXBibll1ZFcxdlpDaDBhR2x6TG5JcE8xeHVJQ0FnSUhSb2FYTXViV2x1ZGlBOUlIUm9hWE11Y2k1emRXSW9kR2hwY3k1dGFXNTJLVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhOYjI1MExDQlNaV1FwTzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SVWJ5QTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUlVieUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNodWRXMHVkWE5vYkc0b2RHaHBjeTV6YUdsbWRDa3BPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUkdjbTl0SUQwZ1puVnVZM1JwYjI0Z1kyOXVkbVZ5ZEVaeWIyMGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBiVzlrS0c1MWJTNXRkV3dvZEdocGN5NXlhVzUyS1NrN1hHNGdJQ0FnY2k1eVpXUWdQU0J1ZFd4c08xeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa2dmSHdnWWk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ1lTNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JoTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2RDQTlJR0V1YVcxMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNibHh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3dLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXViWFZzS0dJcE8xeHVJQ0FnSUhaaGNpQmpJRDBnZEM1dFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dGFXNTJLUzVwYldGemEyNG9kR2hwY3k1emFHbG1kQ2t1YlhWc0tIUm9hWE11YlNrN1hHNGdJQ0FnZG1GeUlIVWdQU0IwTG1semRXSW9ZeWt1YVhWemFISnVLSFJvYVhNdWMyaHBablFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IxTzF4dUlDQWdJR2xtSUNoMUxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kUzVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXNTJiU0E5SUdaMWJtTjBhVzl1SUdsdWRtMGdLR0VwSUh0Y2JpQWdJQ0F2THlBb1FWSXBYaTB4SUNvZ1VsNHlJRDBnS0VGZUxURWdLaUJTWGkweEtTQXFJRkplTWlBOUlFRmVMVEVnS2lCU1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTXVhVzF2WkNoaExsOXBiblp0Y0NoMGFHbHpMbTBwTG0xMWJDaDBhR2x6TG5JeUtTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1OUtTaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCdGIyUjFiR1VzSUhSb2FYTXBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wcml2YXRlRGVjcnlwdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wcml2YXRlRGVjcnlwdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHBhcnNlS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBhcnNlLWFzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanNcXFwiKVxcbnZhciBtZ2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21nZiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvbWdmLmpzXFxcIilcXG52YXIgeG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi94b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3hvci5qc1xcXCIpXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKVxcbnZhciBjcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LXJzYSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanNcXFwiKVxcbnZhciBjcmVhdGVIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL2Jyb3dzZXIuanNcXFwiKVxcbnZhciB3aXRoUHVibGljID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi93aXRoUHVibGljICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBwcml2YXRlRGVjcnlwdCAocHJpdmF0ZUtleSwgZW5jLCByZXZlcnNlKSB7XFxuICB2YXIgcGFkZGluZ1xcbiAgaWYgKHByaXZhdGVLZXkucGFkZGluZykge1xcbiAgICBwYWRkaW5nID0gcHJpdmF0ZUtleS5wYWRkaW5nXFxuICB9IGVsc2UgaWYgKHJldmVyc2UpIHtcXG4gICAgcGFkZGluZyA9IDFcXG4gIH0gZWxzZSB7XFxuICAgIHBhZGRpbmcgPSA0XFxuICB9XFxuXFxuICB2YXIga2V5ID0gcGFyc2VLZXlzKHByaXZhdGVLZXkpXFxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxcbiAgaWYgKGVuYy5sZW5ndGggPiBrIHx8IG5ldyBCTihlbmMpLmNtcChrZXkubW9kdWx1cykgPj0gMCkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgdmFyIG1zZ1xcbiAgaWYgKHJldmVyc2UpIHtcXG4gICAgbXNnID0gd2l0aFB1YmxpYyhuZXcgQk4oZW5jKSwga2V5KVxcbiAgfSBlbHNlIHtcXG4gICAgbXNnID0gY3J0KGVuYywga2V5KVxcbiAgfVxcbiAgdmFyIHpCdWZmZXIgPSBCdWZmZXIuYWxsb2MoayAtIG1zZy5sZW5ndGgpXFxuICBtc2cgPSBCdWZmZXIuY29uY2F0KFt6QnVmZmVyLCBtc2ddLCBrKVxcbiAgaWYgKHBhZGRpbmcgPT09IDQpIHtcXG4gICAgcmV0dXJuIG9hZXAoa2V5LCBtc2cpXFxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDEpIHtcXG4gICAgcmV0dXJuIHBrY3MxKGtleSwgbXNnLCByZXZlcnNlKVxcbiAgfSBlbHNlIGlmIChwYWRkaW5nID09PSAzKSB7XFxuICAgIHJldHVybiBtc2dcXG4gIH0gZWxzZSB7XFxuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBwYWRkaW5nJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb2FlcCAoa2V5LCBtc2cpIHtcXG4gIHZhciBrID0ga2V5Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpXFxuICB2YXIgaUhhc2ggPSBjcmVhdGVIYXNoKCdzaGExJykudXBkYXRlKEJ1ZmZlci5hbGxvYygwKSkuZGlnZXN0KClcXG4gIHZhciBoTGVuID0gaUhhc2gubGVuZ3RoXFxuICBpZiAobXNnWzBdICE9PSAwKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignZGVjcnlwdGlvbiBlcnJvcicpXFxuICB9XFxuICB2YXIgbWFza2VkU2VlZCA9IG1zZy5zbGljZSgxLCBoTGVuICsgMSlcXG4gIHZhciBtYXNrZWREYiA9IG1zZy5zbGljZShoTGVuICsgMSlcXG4gIHZhciBzZWVkID0geG9yKG1hc2tlZFNlZWQsIG1nZihtYXNrZWREYiwgaExlbikpXFxuICB2YXIgZGIgPSB4b3IobWFza2VkRGIsIG1nZihzZWVkLCBrIC0gaExlbiAtIDEpKVxcbiAgaWYgKGNvbXBhcmUoaUhhc2gsIGRiLnNsaWNlKDAsIGhMZW4pKSkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgdmFyIGkgPSBoTGVuXFxuICB3aGlsZSAoZGJbaV0gPT09IDApIHtcXG4gICAgaSsrXFxuICB9XFxuICBpZiAoZGJbaSsrXSAhPT0gMSkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgcmV0dXJuIGRiLnNsaWNlKGkpXFxufVxcblxcbmZ1bmN0aW9uIHBrY3MxIChrZXksIG1zZywgcmV2ZXJzZSkge1xcbiAgdmFyIHAxID0gbXNnLnNsaWNlKDAsIDIpXFxuICB2YXIgaSA9IDJcXG4gIHZhciBzdGF0dXMgPSAwXFxuICB3aGlsZSAobXNnW2krK10gIT09IDApIHtcXG4gICAgaWYgKGkgPj0gbXNnLmxlbmd0aCkge1xcbiAgICAgIHN0YXR1cysrXFxuICAgICAgYnJlYWtcXG4gICAgfVxcbiAgfVxcbiAgdmFyIHBzID0gbXNnLnNsaWNlKDIsIGkgLSAxKVxcblxcbiAgaWYgKChwMS50b1N0cmluZygnaGV4JykgIT09ICcwMDAyJyAmJiAhcmV2ZXJzZSkgfHwgKHAxLnRvU3RyaW5nKCdoZXgnKSAhPT0gJzAwMDEnICYmIHJldmVyc2UpKSB7XFxuICAgIHN0YXR1cysrXFxuICB9XFxuICBpZiAocHMubGVuZ3RoIDwgOCkge1xcbiAgICBzdGF0dXMrK1xcbiAgfVxcbiAgaWYgKHN0YXR1cykge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgcmV0dXJuIG1zZy5zbGljZShpKVxcbn1cXG5mdW5jdGlvbiBjb21wYXJlIChhLCBiKSB7XFxuICBhID0gQnVmZmVyLmZyb20oYSlcXG4gIGIgPSBCdWZmZXIuZnJvbShiKVxcbiAgdmFyIGRpZiA9IDBcXG4gIHZhciBsZW4gPSBhLmxlbmd0aFxcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xcbiAgICBkaWYrK1xcbiAgICBsZW4gPSBNYXRoLm1pbihhLmxlbmd0aCwgYi5sZW5ndGgpXFxuICB9XFxuICB2YXIgaSA9IC0xXFxuICB3aGlsZSAoKytpIDwgbGVuKSB7XFxuICAgIGRpZiArPSAoYVtpXSBeIGJbaV0pXFxuICB9XFxuICByZXR1cm4gZGlmXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzl3Y21sMllYUmxSR1ZqY25sd2RDNXFjejg1TURFMUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk8wRkJRM0JETEZWQlFWVXNiVUpCUVU4c1EwRkJReXh0UkVGQlR6dEJRVU42UWl4VlFVRlZMRzFDUVVGUExFTkJRVU1zYlVSQlFVODdRVUZEZWtJc1UwRkJVeXh0UWtGQlR5eERRVUZETEhsRlFVRlBPMEZCUTNoQ0xGVkJRVlVzYlVKQlFVOHNRMEZCUXl3NFJFRkJaMEk3UVVGRGJFTXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNNRVJCUVdFN1FVRkRkRU1zYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zYVVWQlFXTTdRVUZEZGtNc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRVFVRmhPenRCUVVWc1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXdkV0pzYVdNdFpXNWpjbmx3ZEM5d2NtbDJZWFJsUkdWamNubHdkQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCd1lYSnpaVXRsZVhNZ1BTQnlaWEYxYVhKbEtDZHdZWEp6WlMxaGMyNHhKeWxjYm5aaGNpQnRaMllnUFNCeVpYRjFhWEpsS0NjdUwyMW5aaWNwWEc1MllYSWdlRzl5SUQwZ2NtVnhkV2x5WlNnbkxpOTRiM0luS1Z4dWRtRnlJRUpPSUQwZ2NtVnhkV2x5WlNnblltNHVhbk1uS1Z4dWRtRnlJR055ZENBOUlISmxjWFZwY21Vb0oySnliM2R6WlhKcFpua3Rjbk5oSnlsY2JuWmhjaUJqY21WaGRHVklZWE5vSUQwZ2NtVnhkV2x5WlNnblkzSmxZWFJsTFdoaGMyZ25LVnh1ZG1GeUlIZHBkR2hRZFdKc2FXTWdQU0J5WlhGMWFYSmxLQ2N1TDNkcGRHaFFkV0pzYVdNbktWeHVkbUZ5SUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjNOaFptVXRZblZtWm1WeUp5a3VRblZtWm1WeVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdjSEpwZG1GMFpVUmxZM0o1Y0hRZ0tIQnlhWFpoZEdWTFpYa3NJR1Z1WXl3Z2NtVjJaWEp6WlNrZ2UxeHVJQ0IyWVhJZ2NHRmtaR2x1WjF4dUlDQnBaaUFvY0hKcGRtRjBaVXRsZVM1d1lXUmthVzVuS1NCN1hHNGdJQ0FnY0dGa1pHbHVaeUE5SUhCeWFYWmhkR1ZMWlhrdWNHRmtaR2x1WjF4dUlDQjlJR1ZzYzJVZ2FXWWdLSEpsZG1WeWMyVXBJSHRjYmlBZ0lDQndZV1JrYVc1bklEMGdNVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEJoWkdScGJtY2dQU0EwWEc0Z0lIMWNibHh1SUNCMllYSWdhMlY1SUQwZ2NHRnljMlZMWlhsektIQnlhWFpoZEdWTFpYa3BYRzRnSUhaaGNpQnJJRDBnYTJWNUxtMXZaSFZzZFhNdVlubDBaVXhsYm1kMGFDZ3BYRzRnSUdsbUlDaGxibU11YkdWdVozUm9JRDRnYXlCOGZDQnVaWGNnUWs0b1pXNWpLUzVqYlhBb2EyVjVMbTF2WkhWc2RYTXBJRDQ5SURBcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjJSbFkzSjVjSFJwYjI0Z1pYSnliM0luS1Z4dUlDQjlYRzRnSUhaaGNpQnRjMmRjYmlBZ2FXWWdLSEpsZG1WeWMyVXBJSHRjYmlBZ0lDQnRjMmNnUFNCM2FYUm9VSFZpYkdsaktHNWxkeUJDVGlobGJtTXBMQ0JyWlhrcFhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JYTm5JRDBnWTNKMEtHVnVZeXdnYTJWNUtWeHVJQ0I5WEc0Z0lIWmhjaUI2UW5WbVptVnlJRDBnUW5WbVptVnlMbUZzYkc5aktHc2dMU0J0YzJjdWJHVnVaM1JvS1Z4dUlDQnRjMmNnUFNCQ2RXWm1aWEl1WTI5dVkyRjBLRnQ2UW5WbVptVnlMQ0J0YzJkZExDQnJLVnh1SUNCcFppQW9jR0ZrWkdsdVp5QTlQVDBnTkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ2WVdWd0tHdGxlU3dnYlhObktWeHVJQ0I5SUdWc2MyVWdhV1lnS0hCaFpHUnBibWNnUFQwOUlERXBJSHRjYmlBZ0lDQnlaWFIxY200Z2NHdGpjekVvYTJWNUxDQnRjMmNzSUhKbGRtVnljMlVwWEc0Z0lIMGdaV3h6WlNCcFppQW9jR0ZrWkdsdVp5QTlQVDBnTXlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ0YzJkY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjNWdWEyNXZkMjRnY0dGa1pHbHVaeWNwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyRmxjQ0FvYTJWNUxDQnRjMmNwSUh0Y2JpQWdkbUZ5SUdzZ1BTQnJaWGt1Ylc5a2RXeDFjeTVpZVhSbFRHVnVaM1JvS0NsY2JpQWdkbUZ5SUdsSVlYTm9JRDBnWTNKbFlYUmxTR0Z6YUNnbmMyaGhNU2NwTG5Wd1pHRjBaU2hDZFdabVpYSXVZV3hzYjJNb01Da3BMbVJwWjJWemRDZ3BYRzRnSUhaaGNpQm9UR1Z1SUQwZ2FVaGhjMmd1YkdWdVozUm9YRzRnSUdsbUlDaHRjMmRiTUYwZ0lUMDlJREFwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMlJsWTNKNWNIUnBiMjRnWlhKeWIzSW5LVnh1SUNCOVhHNGdJSFpoY2lCdFlYTnJaV1JUWldWa0lEMGdiWE5uTG5Oc2FXTmxLREVzSUdoTVpXNGdLeUF4S1Z4dUlDQjJZWElnYldGemEyVmtSR0lnUFNCdGMyY3VjMnhwWTJVb2FFeGxiaUFySURFcFhHNGdJSFpoY2lCelpXVmtJRDBnZUc5eUtHMWhjMnRsWkZObFpXUXNJRzFuWmlodFlYTnJaV1JFWWl3Z2FFeGxiaWtwWEc0Z0lIWmhjaUJrWWlBOUlIaHZjaWh0WVhOclpXUkVZaXdnYldkbUtITmxaV1FzSUdzZ0xTQm9UR1Z1SUMwZ01Ta3BYRzRnSUdsbUlDaGpiMjF3WVhKbEtHbElZWE5vTENCa1lpNXpiR2xqWlNnd0xDQm9UR1Z1S1NrcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjJSbFkzSjVjSFJwYjI0Z1pYSnliM0luS1Z4dUlDQjlYRzRnSUhaaGNpQnBJRDBnYUV4bGJseHVJQ0IzYUdsc1pTQW9aR0piYVYwZ1BUMDlJREFwSUh0Y2JpQWdJQ0JwS3l0Y2JpQWdmVnh1SUNCcFppQW9aR0piYVNzclhTQWhQVDBnTVNrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduWkdWamNubHdkR2x2YmlCbGNuSnZjaWNwWEc0Z0lIMWNiaUFnY21WMGRYSnVJR1JpTG5Oc2FXTmxLR2twWEc1OVhHNWNibVoxYm1OMGFXOXVJSEJyWTNNeElDaHJaWGtzSUcxelp5d2djbVYyWlhKelpTa2dlMXh1SUNCMllYSWdjREVnUFNCdGMyY3VjMnhwWTJVb01Dd2dNaWxjYmlBZ2RtRnlJR2tnUFNBeVhHNGdJSFpoY2lCemRHRjBkWE1nUFNBd1hHNGdJSGRvYVd4bElDaHRjMmRiYVNzclhTQWhQVDBnTUNrZ2UxeHVJQ0FnSUdsbUlDaHBJRDQ5SUcxelp5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lITjBZWFIxY3lzclhHNGdJQ0FnSUNCaWNtVmhhMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQjJZWElnY0hNZ1BTQnRjMmN1YzJ4cFkyVW9NaXdnYVNBdElERXBYRzVjYmlBZ2FXWWdLQ2h3TVM1MGIxTjBjbWx1WnlnbmFHVjRKeWtnSVQwOUlDY3dNREF5SnlBbUppQWhjbVYyWlhKelpTa2dmSHdnS0hBeExuUnZVM1J5YVc1bktDZG9aWGduS1NBaFBUMGdKekF3TURFbklDWW1JSEpsZG1WeWMyVXBLU0I3WEc0Z0lDQWdjM1JoZEhWekt5dGNiaUFnZlZ4dUlDQnBaaUFvY0hNdWJHVnVaM1JvSUR3Z09Da2dlMXh1SUNBZ0lITjBZWFIxY3lzclhHNGdJSDFjYmlBZ2FXWWdLSE4wWVhSMWN5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblpHVmpjbmx3ZEdsdmJpQmxjbkp2Y2ljcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUcxelp5NXpiR2xqWlNocEtWeHVmVnh1Wm5WdVkzUnBiMjRnWTI5dGNHRnlaU0FvWVN3Z1lpa2dlMXh1SUNCaElEMGdRblZtWm1WeUxtWnliMjBvWVNsY2JpQWdZaUE5SUVKMVptWmxjaTVtY205dEtHSXBYRzRnSUhaaGNpQmthV1lnUFNBd1hHNGdJSFpoY2lCc1pXNGdQU0JoTG14bGJtZDBhRnh1SUNCcFppQW9ZUzVzWlc1bmRHZ2dJVDA5SUdJdWJHVnVaM1JvS1NCN1hHNGdJQ0FnWkdsbUt5dGNiaUFnSUNCc1pXNGdQU0JOWVhSb0xtMXBiaWhoTG14bGJtZDBhQ3dnWWk1c1pXNW5kR2dwWEc0Z0lIMWNiaUFnZG1GeUlHa2dQU0F0TVZ4dUlDQjNhR2xzWlNBb0t5dHBJRHdnYkdWdUtTQjdYRzRnSUNBZ1pHbG1JQ3M5SUNoaFcybGRJRjRnWWx0cFhTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z1pHbG1YRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wcml2YXRlRGVjcnlwdC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvcHVibGljRW5jcnlwdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3B1YmxpY0VuY3J5cHQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHBhcnNlS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBhcnNlLWFzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanNcXFwiKVxcbnZhciByYW5kb21CeXRlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWJ5dGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcy9icm93c2VyLmpzXFxcIilcXG52YXIgY3JlYXRlSGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNyZWF0ZS1oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzXFxcIilcXG52YXIgbWdmID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9tZ2YgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L21nZi5qc1xcXCIpXFxudmFyIHhvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4veG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC94b3IuanNcXFwiKVxcbnZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxcIilcXG52YXIgd2l0aFB1YmxpYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vd2l0aFB1YmxpYyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvd2l0aFB1YmxpYy5qc1xcXCIpXFxudmFyIGNydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktcnNhICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXJzYS9pbmRleC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcHVibGljRW5jcnlwdCAocHVibGljS2V5LCBtc2csIHJldmVyc2UpIHtcXG4gIHZhciBwYWRkaW5nXFxuICBpZiAocHVibGljS2V5LnBhZGRpbmcpIHtcXG4gICAgcGFkZGluZyA9IHB1YmxpY0tleS5wYWRkaW5nXFxuICB9IGVsc2UgaWYgKHJldmVyc2UpIHtcXG4gICAgcGFkZGluZyA9IDFcXG4gIH0gZWxzZSB7XFxuICAgIHBhZGRpbmcgPSA0XFxuICB9XFxuICB2YXIga2V5ID0gcGFyc2VLZXlzKHB1YmxpY0tleSlcXG4gIHZhciBwYWRkZWRNc2dcXG4gIGlmIChwYWRkaW5nID09PSA0KSB7XFxuICAgIHBhZGRlZE1zZyA9IG9hZXAoa2V5LCBtc2cpXFxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDEpIHtcXG4gICAgcGFkZGVkTXNnID0gcGtjczEoa2V5LCBtc2csIHJldmVyc2UpXFxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDMpIHtcXG4gICAgcGFkZGVkTXNnID0gbmV3IEJOKG1zZylcXG4gICAgaWYgKHBhZGRlZE1zZy5jbXAoa2V5Lm1vZHVsdXMpID49IDApIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGEgdG9vIGxvbmcgZm9yIG1vZHVsdXMnKVxcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gcGFkZGluZycpXFxuICB9XFxuICBpZiAocmV2ZXJzZSkge1xcbiAgICByZXR1cm4gY3J0KHBhZGRlZE1zZywga2V5KVxcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIHdpdGhQdWJsaWMocGFkZGVkTXNnLCBrZXkpXFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG9hZXAgKGtleSwgbXNnKSB7XFxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxcbiAgdmFyIG1MZW4gPSBtc2cubGVuZ3RoXFxuICB2YXIgaUhhc2ggPSBjcmVhdGVIYXNoKCdzaGExJykudXBkYXRlKEJ1ZmZlci5hbGxvYygwKSkuZGlnZXN0KClcXG4gIHZhciBoTGVuID0gaUhhc2gubGVuZ3RoXFxuICB2YXIgaExlbjIgPSAyICogaExlblxcbiAgaWYgKG1MZW4gPiBrIC0gaExlbjIgLSAyKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSB0b28gbG9uZycpXFxuICB9XFxuICB2YXIgcHMgPSBCdWZmZXIuYWxsb2MoayAtIG1MZW4gLSBoTGVuMiAtIDIpXFxuICB2YXIgZGJsZW4gPSBrIC0gaExlbiAtIDFcXG4gIHZhciBzZWVkID0gcmFuZG9tQnl0ZXMoaExlbilcXG4gIHZhciBtYXNrZWREYiA9IHhvcihCdWZmZXIuY29uY2F0KFtpSGFzaCwgcHMsIEJ1ZmZlci5hbGxvYygxLCAxKSwgbXNnXSwgZGJsZW4pLCBtZ2Yoc2VlZCwgZGJsZW4pKVxcbiAgdmFyIG1hc2tlZFNlZWQgPSB4b3Ioc2VlZCwgbWdmKG1hc2tlZERiLCBoTGVuKSlcXG4gIHJldHVybiBuZXcgQk4oQnVmZmVyLmNvbmNhdChbQnVmZmVyLmFsbG9jKDEpLCBtYXNrZWRTZWVkLCBtYXNrZWREYl0sIGspKVxcbn1cXG5mdW5jdGlvbiBwa2NzMSAoa2V5LCBtc2csIHJldmVyc2UpIHtcXG4gIHZhciBtTGVuID0gbXNnLmxlbmd0aFxcbiAgdmFyIGsgPSBrZXkubW9kdWx1cy5ieXRlTGVuZ3RoKClcXG4gIGlmIChtTGVuID4gayAtIDExKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSB0b28gbG9uZycpXFxuICB9XFxuICB2YXIgcHNcXG4gIGlmIChyZXZlcnNlKSB7XFxuICAgIHBzID0gQnVmZmVyLmFsbG9jKGsgLSBtTGVuIC0gMywgMHhmZilcXG4gIH0gZWxzZSB7XFxuICAgIHBzID0gbm9uWmVybyhrIC0gbUxlbiAtIDMpXFxuICB9XFxuICByZXR1cm4gbmV3IEJOKEJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKFswLCByZXZlcnNlID8gMSA6IDJdKSwgcHMsIEJ1ZmZlci5hbGxvYygxKSwgbXNnXSwgaykpXFxufVxcbmZ1bmN0aW9uIG5vblplcm8gKGxlbikge1xcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXFxuICB2YXIgaSA9IDBcXG4gIHZhciBjYWNoZSA9IHJhbmRvbUJ5dGVzKGxlbiAqIDIpXFxuICB2YXIgY3VyID0gMFxcbiAgdmFyIG51bVxcbiAgd2hpbGUgKGkgPCBsZW4pIHtcXG4gICAgaWYgKGN1ciA9PT0gY2FjaGUubGVuZ3RoKSB7XFxuICAgICAgY2FjaGUgPSByYW5kb21CeXRlcyhsZW4gKiAyKVxcbiAgICAgIGN1ciA9IDBcXG4gICAgfVxcbiAgICBudW0gPSBjYWNoZVtjdXIrK11cXG4gICAgaWYgKG51bSkge1xcbiAgICAgIG91dFtpKytdID0gbnVtXFxuICAgIH1cXG4gIH1cXG4gIHJldHVybiBvdXRcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3ZFdKc2FXTXRaVzVqY25sd2RDOXdkV0pzYVdORmJtTnllWEIwTG1welB6WXlZV1FpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1owSkJRV2RDTEcxQ1FVRlBMRU5CUVVNc2MwUkJRVms3UVVGRGNFTXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNNRVJCUVdFN1FVRkRka01zYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zTUVSQlFXRTdRVUZEZEVNc1ZVRkJWU3h0UWtGQlR5eERRVUZETEcxRVFVRlBPMEZCUTNwQ0xGVkJRVlVzYlVKQlFVOHNRMEZCUXl4dFJFRkJUenRCUVVONlFpeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc2VVVkJRVTg3UVVGRGVFSXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNhVVZCUVdNN1FVRkRka01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhFUVVGblFqdEJRVU5zUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNIVmliR2xqTFdWdVkzSjVjSFF2Y0hWaWJHbGpSVzVqY25sd2RDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJ3WVhKelpVdGxlWE1nUFNCeVpYRjFhWEpsS0Nkd1lYSnpaUzFoYzI0eEp5bGNiblpoY2lCeVlXNWtiMjFDZVhSbGN5QTlJSEpsY1hWcGNtVW9KM0poYm1SdmJXSjVkR1Z6SnlsY2JuWmhjaUJqY21WaGRHVklZWE5vSUQwZ2NtVnhkV2x5WlNnblkzSmxZWFJsTFdoaGMyZ25LVnh1ZG1GeUlHMW5aaUE5SUhKbGNYVnBjbVVvSnk0dmJXZG1KeWxjYm5aaGNpQjRiM0lnUFNCeVpYRjFhWEpsS0NjdUwzaHZjaWNwWEc1MllYSWdRazRnUFNCeVpYRjFhWEpsS0NkaWJpNXFjeWNwWEc1MllYSWdkMmwwYUZCMVlteHBZeUE5SUhKbGNYVnBjbVVvSnk0dmQybDBhRkIxWW14cFl5Y3BYRzUyWVhJZ1kzSjBJRDBnY21WeGRXbHlaU2duWW5KdmQzTmxjbWxtZVMxeWMyRW5LVnh1ZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnY0hWaWJHbGpSVzVqY25sd2RDQW9jSFZpYkdsalMyVjVMQ0J0YzJjc0lISmxkbVZ5YzJVcElIdGNiaUFnZG1GeUlIQmhaR1JwYm1kY2JpQWdhV1lnS0hCMVlteHBZMHRsZVM1d1lXUmthVzVuS1NCN1hHNGdJQ0FnY0dGa1pHbHVaeUE5SUhCMVlteHBZMHRsZVM1d1lXUmthVzVuWEc0Z0lIMGdaV3h6WlNCcFppQW9jbVYyWlhKelpTa2dlMXh1SUNBZ0lIQmhaR1JwYm1jZ1BTQXhYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjR0ZrWkdsdVp5QTlJRFJjYmlBZ2ZWeHVJQ0IyWVhJZ2EyVjVJRDBnY0dGeWMyVkxaWGx6S0hCMVlteHBZMHRsZVNsY2JpQWdkbUZ5SUhCaFpHUmxaRTF6WjF4dUlDQnBaaUFvY0dGa1pHbHVaeUE5UFQwZ05Da2dlMXh1SUNBZ0lIQmhaR1JsWkUxelp5QTlJRzloWlhBb2EyVjVMQ0J0YzJjcFhHNGdJSDBnWld4elpTQnBaaUFvY0dGa1pHbHVaeUE5UFQwZ01Ta2dlMXh1SUNBZ0lIQmhaR1JsWkUxelp5QTlJSEJyWTNNeEtHdGxlU3dnYlhObkxDQnlaWFpsY25ObEtWeHVJQ0I5SUdWc2MyVWdhV1lnS0hCaFpHUnBibWNnUFQwOUlETXBJSHRjYmlBZ0lDQndZV1JrWldSTmMyY2dQU0J1WlhjZ1FrNG9iWE5uS1Z4dUlDQWdJR2xtSUNod1lXUmtaV1JOYzJjdVkyMXdLR3RsZVM1dGIyUjFiSFZ6S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMlJoZEdFZ2RHOXZJR3h2Ym1jZ1ptOXlJRzF2WkhWc2RYTW5LVnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozVnVhMjV2ZDI0Z2NHRmtaR2x1WnljcFhHNGdJSDFjYmlBZ2FXWWdLSEpsZG1WeWMyVXBJSHRjYmlBZ0lDQnlaWFIxY200Z1kzSjBLSEJoWkdSbFpFMXpaeXdnYTJWNUtWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCM2FYUm9VSFZpYkdsaktIQmhaR1JsWkUxelp5d2dhMlY1S1Z4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOWhaWEFnS0d0bGVTd2diWE5uS1NCN1hHNGdJSFpoY2lCcklEMGdhMlY1TG0xdlpIVnNkWE11WW5sMFpVeGxibWQwYUNncFhHNGdJSFpoY2lCdFRHVnVJRDBnYlhObkxteGxibWQwYUZ4dUlDQjJZWElnYVVoaGMyZ2dQU0JqY21WaGRHVklZWE5vS0NkemFHRXhKeWt1ZFhCa1lYUmxLRUoxWm1abGNpNWhiR3h2WXlnd0tTa3VaR2xuWlhOMEtDbGNiaUFnZG1GeUlHaE1aVzRnUFNCcFNHRnphQzVzWlc1bmRHaGNiaUFnZG1GeUlHaE1aVzR5SUQwZ01pQXFJR2hNWlc1Y2JpQWdhV1lnS0cxTVpXNGdQaUJySUMwZ2FFeGxiaklnTFNBeUtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkdFpYTnpZV2RsSUhSdmJ5QnNiMjVuSnlsY2JpQWdmVnh1SUNCMllYSWdjSE1nUFNCQ2RXWm1aWEl1WVd4c2IyTW9heUF0SUcxTVpXNGdMU0JvVEdWdU1pQXRJRElwWEc0Z0lIWmhjaUJrWW14bGJpQTlJR3NnTFNCb1RHVnVJQzBnTVZ4dUlDQjJZWElnYzJWbFpDQTlJSEpoYm1SdmJVSjVkR1Z6S0doTVpXNHBYRzRnSUhaaGNpQnRZWE5yWldSRVlpQTlJSGh2Y2loQ2RXWm1aWEl1WTI5dVkyRjBLRnRwU0dGemFDd2djSE1zSUVKMVptWmxjaTVoYkd4dll5Z3hMQ0F4S1N3Z2JYTm5YU3dnWkdKc1pXNHBMQ0J0WjJZb2MyVmxaQ3dnWkdKc1pXNHBLVnh1SUNCMllYSWdiV0Z6YTJWa1UyVmxaQ0E5SUhodmNpaHpaV1ZrTENCdFoyWW9iV0Z6YTJWa1JHSXNJR2hNWlc0cEtWeHVJQ0J5WlhSMWNtNGdibVYzSUVKT0tFSjFabVpsY2k1amIyNWpZWFFvVzBKMVptWmxjaTVoYkd4dll5Z3hLU3dnYldGemEyVmtVMlZsWkN3Z2JXRnphMlZrUkdKZExDQnJLU2xjYm4xY2JtWjFibU4wYVc5dUlIQnJZM014SUNoclpYa3NJRzF6Wnl3Z2NtVjJaWEp6WlNrZ2UxeHVJQ0IyWVhJZ2JVeGxiaUE5SUcxelp5NXNaVzVuZEdoY2JpQWdkbUZ5SUdzZ1BTQnJaWGt1Ylc5a2RXeDFjeTVpZVhSbFRHVnVaM1JvS0NsY2JpQWdhV1lnS0cxTVpXNGdQaUJySUMwZ01URXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oyMWxjM05oWjJVZ2RHOXZJR3h2Ym1jbktWeHVJQ0I5WEc0Z0lIWmhjaUJ3YzF4dUlDQnBaaUFvY21WMlpYSnpaU2tnZTF4dUlDQWdJSEJ6SUQwZ1FuVm1abVZ5TG1Gc2JHOWpLR3NnTFNCdFRHVnVJQzBnTXl3Z01IaG1aaWxjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J3Y3lBOUlHNXZibHBsY204b2F5QXRJRzFNWlc0Z0xTQXpLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnVaWGNnUWs0b1FuVm1abVZ5TG1OdmJtTmhkQ2hiUW5WbVptVnlMbVp5YjIwb1d6QXNJSEpsZG1WeWMyVWdQeUF4SURvZ01sMHBMQ0J3Y3l3Z1FuVm1abVZ5TG1Gc2JHOWpLREVwTENCdGMyZGRMQ0JyS1NsY2JuMWNibVoxYm1OMGFXOXVJRzV2YmxwbGNtOGdLR3hsYmlrZ2UxeHVJQ0IyWVhJZ2IzVjBJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0d4bGJpbGNiaUFnZG1GeUlHa2dQU0F3WEc0Z0lIWmhjaUJqWVdOb1pTQTlJSEpoYm1SdmJVSjVkR1Z6S0d4bGJpQXFJRElwWEc0Z0lIWmhjaUJqZFhJZ1BTQXdYRzRnSUhaaGNpQnVkVzFjYmlBZ2QyaHBiR1VnS0drZ1BDQnNaVzRwSUh0Y2JpQWdJQ0JwWmlBb1kzVnlJRDA5UFNCallXTm9aUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR05oWTJobElEMGdjbUZ1Wkc5dFFubDBaWE1vYkdWdUlDb2dNaWxjYmlBZ0lDQWdJR04xY2lBOUlEQmNiaUFnSUNCOVhHNGdJQ0FnYm5WdElEMGdZMkZqYUdWYlkzVnlLeXRkWEc0Z0lDQWdhV1lnS0c1MWJTa2dlMXh1SUNBZ0lDQWdiM1YwVzJrcksxMGdQU0J1ZFcxY2JpQWdJQ0I5WEc0Z0lIMWNiaUFnY21WMGRYSnVJRzkxZEZ4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3B1YmxpY0VuY3J5cHQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3dpdGhQdWJsaWMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxuZnVuY3Rpb24gd2l0aFB1YmxpYyAocGFkZGVkTXNnLCBrZXkpIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbShwYWRkZWRNc2dcXG4gICAgLnRvUmVkKEJOLm1vbnQoa2V5Lm1vZHVsdXMpKVxcbiAgICAucmVkUG93KG5ldyBCTihrZXkucHVibGljRXhwb25lbnQpKVxcbiAgICAuZnJvbVJlZCgpXFxuICAgIC50b0FycmF5KCkpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gd2l0aFB1YmxpY1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzkzYVhSb1VIVmliR2xqTG1welB6Tm1PVE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1UwRkJVeXh0UWtGQlR5eERRVUZETEhsRlFVRlBPMEZCUTNoQ0xHRkJRV0VzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHM3UVVGRmJFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNIVmliR2xqTFdWdVkzSjVjSFF2ZDJsMGFGQjFZbXhwWXk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQkNUaUE5SUhKbGNYVnBjbVVvSjJKdUxtcHpKeWxjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1WEc1bWRXNWpkR2x2YmlCM2FYUm9VSFZpYkdsaklDaHdZV1JrWldSTmMyY3NJR3RsZVNrZ2UxeHVJQ0J5WlhSMWNtNGdRblZtWm1WeUxtWnliMjBvY0dGa1pHVmtUWE5uWEc0Z0lDQWdMblJ2VW1Wa0tFSk9MbTF2Ym5Rb2EyVjVMbTF2WkhWc2RYTXBLVnh1SUNBZ0lDNXlaV1JRYjNjb2JtVjNJRUpPS0d0bGVTNXdkV0pzYVdORmVIQnZibVZ1ZENrcFhHNGdJQ0FnTG1aeWIyMVNaV1FvS1Z4dUlDQWdJQzUwYjBGeWNtRjVLQ2twWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdkMmwwYUZCMVlteHBZMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC94b3IuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3hvci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24geG9yIChhLCBiKSB7XFxuICB2YXIgbGVuID0gYS5sZW5ndGhcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcXG4gICAgYVtpXSBePSBiW2ldXFxuICB9XFxuICByZXR1cm4gYVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdkV0pzYVdNdFpXNWpjbmx3ZEM5NGIzSXVhbk0vT0RCaFpTSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzQjFZbXhwWXkxbGJtTnllWEIwTDNodmNpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z2VHOXlJQ2hoTENCaUtTQjdYRzRnSUhaaGNpQnNaVzRnUFNCaExteGxibWQwYUZ4dUlDQjJZWElnYVNBOUlDMHhYRzRnSUhkb2FXeGxJQ2dySzJrZ1BDQnNaVzRwSUh0Y2JpQWdJQ0JoVzJsZElGNDlJR0piYVYxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWVZ4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3hvci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmFuZG9tYnl0ZXMvYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7XFxuXFxuLy8gbGltaXQgb2YgQ3J5cHRvLmdldFJhbmRvbVZhbHVlcygpXFxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NyeXB0by9nZXRSYW5kb21WYWx1ZXNcXG52YXIgTUFYX0JZVEVTID0gNjU1MzZcXG5cXG4vLyBOb2RlIHN1cHBvcnRzIHJlcXVlc3RpbmcgdXAgdG8gdGhpcyBudW1iZXIgb2YgYnl0ZXNcXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi9tYXN0ZXIvbGliL2ludGVybmFsL2NyeXB0by9yYW5kb20uanMjTDQ4XFxudmFyIE1BWF9VSU5UMzIgPSA0Mjk0OTY3Mjk1XFxuXFxuZnVuY3Rpb24gb2xkQnJvd3NlciAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ1NlY3VyZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuXFxcXG5Vc2UgQ2hyb21lLCBGaXJlZm94IG9yIEludGVybmV0IEV4cGxvcmVyIDExJylcXG59XFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBjcnlwdG8gPSBnbG9iYWwuY3J5cHRvIHx8IGdsb2JhbC5tc0NyeXB0b1xcblxcbmlmIChjcnlwdG8gJiYgY3J5cHRvLmdldFJhbmRvbVZhbHVlcykge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSByYW5kb21CeXRlc1xcbn0gZWxzZSB7XFxuICBtb2R1bGUuZXhwb3J0cyA9IG9sZEJyb3dzZXJcXG59XFxuXFxuZnVuY3Rpb24gcmFuZG9tQnl0ZXMgKHNpemUsIGNiKSB7XFxuICAvLyBwaGFudG9tanMgbmVlZHMgdG8gdGhyb3dcXG4gIGlmIChzaXplID4gTUFYX1VJTlQzMikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3JlcXVlc3RlZCB0b28gbWFueSByYW5kb20gYnl0ZXMnKVxcblxcbiAgdmFyIGJ5dGVzID0gQnVmZmVyLmFsbG9jVW5zYWZlKHNpemUpXFxuXFxuICBpZiAoc2l6ZSA+IDApIHsgIC8vIGdldFJhbmRvbVZhbHVlcyBmYWlscyBvbiBJRSBpZiBzaXplID09IDBcXG4gICAgaWYgKHNpemUgPiBNQVhfQllURVMpIHsgLy8gdGhpcyBpcyB0aGUgbWF4IGJ5dGVzIGNyeXB0by5nZXRSYW5kb21WYWx1ZXNcXG4gICAgICAvLyBjYW4gZG8gYXQgb25jZSBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzXFxuICAgICAgZm9yICh2YXIgZ2VuZXJhdGVkID0gMDsgZ2VuZXJhdGVkIDwgc2l6ZTsgZ2VuZXJhdGVkICs9IE1BWF9CWVRFUykge1xcbiAgICAgICAgLy8gYnVmZmVyLnNsaWNlIGF1dG9tYXRpY2FsbHkgY2hlY2tzIGlmIHRoZSBlbmQgaXMgcGFzdCB0aGUgZW5kIG9mXFxuICAgICAgICAvLyB0aGUgYnVmZmVyIHNvIHdlIGRvbid0IGhhdmUgdG8gaGVyZVxcbiAgICAgICAgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhieXRlcy5zbGljZShnZW5lcmF0ZWQsIGdlbmVyYXRlZCArIE1BWF9CWVRFUykpXFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYnl0ZXMpXFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgIGNiKG51bGwsIGJ5dGVzKVxcbiAgICB9KVxcbiAgfVxcblxcbiAgcmV0dXJuIGJ5dGVzXFxufVxcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcXFwiKSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlZVzVrYjIxaWVYUmxjeTlpY205M2MyVnlMbXB6UHpSaU9EUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzZFVSQlFWazdPMEZCUlZvN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoTzBGQlEyeERPenRCUVVWQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFc2FVSkJRV2xDTzBGQlEycENMREpDUVVFeVFqdEJRVU16UWp0QlFVTkJMRFpDUVVFMlFpeHJRa0ZCYTBJN1FVRkRMME03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0poYm1SdmJXSjVkR1Z6TDJKeWIzZHpaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENkY2JseHVMeThnYkdsdGFYUWdiMllnUTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGN5Z3BYRzR2THlCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5QlVFa3ZRM0o1Y0hSdkwyZGxkRkpoYm1SdmJWWmhiSFZsYzF4dWRtRnlJRTFCV0Y5Q1dWUkZVeUE5SURZMU5UTTJYRzVjYmk4dklFNXZaR1VnYzNWd2NHOXlkSE1nY21WeGRXVnpkR2x1WnlCMWNDQjBieUIwYUdseklHNTFiV0psY2lCdlppQmllWFJsYzF4dUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMjV2WkdWcWN5OXViMlJsTDJKc2IySXZiV0Z6ZEdWeUwyeHBZaTlwYm5SbGNtNWhiQzlqY25sd2RHOHZjbUZ1Wkc5dExtcHpJMHcwT0Z4dWRtRnlJRTFCV0Y5VlNVNVVNeklnUFNBME1qazBPVFkzTWprMVhHNWNibVoxYm1OMGFXOXVJRzlzWkVKeWIzZHpaWElnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMU5sWTNWeVpTQnlZVzVrYjIwZ2JuVnRZbVZ5SUdkbGJtVnlZWFJwYjI0Z2FYTWdibTkwSUhOMWNIQnZjblJsWkNCaWVTQjBhR2x6SUdKeWIzZHpaWEl1WEZ4dVZYTmxJRU5vY205dFpTd2dSbWx5WldadmVDQnZjaUJKYm5SbGNtNWxkQ0JGZUhCc2IzSmxjaUF4TVNjcFhHNTlYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1ZG1GeUlHTnllWEIwYnlBOUlHZHNiMkpoYkM1amNubHdkRzhnZkh3Z1oyeHZZbUZzTG0xelEzSjVjSFJ2WEc1Y2JtbG1JQ2hqY25sd2RHOGdKaVlnWTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGN5a2dlMXh1SUNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKaGJtUnZiVUo1ZEdWelhHNTlJR1ZzYzJVZ2UxeHVJQ0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRzlzWkVKeWIzZHpaWEpjYm4xY2JseHVablZ1WTNScGIyNGdjbUZ1Wkc5dFFubDBaWE1nS0hOcGVtVXNJR05pS1NCN1hHNGdJQzh2SUhCb1lXNTBiMjFxY3lCdVpXVmtjeUIwYnlCMGFISnZkMXh1SUNCcFppQW9jMmw2WlNBK0lFMUJXRjlWU1U1VU16SXBJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkeVpYRjFaWE4wWldRZ2RHOXZJRzFoYm5rZ2NtRnVaRzl0SUdKNWRHVnpKeWxjYmx4dUlDQjJZWElnWW5sMFpYTWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYzJsNlpTbGNibHh1SUNCcFppQW9jMmw2WlNBK0lEQXBJSHNnSUM4dklHZGxkRkpoYm1SdmJWWmhiSFZsY3lCbVlXbHNjeUJ2YmlCSlJTQnBaaUJ6YVhwbElEMDlJREJjYmlBZ0lDQnBaaUFvYzJsNlpTQStJRTFCV0Y5Q1dWUkZVeWtnZXlBdkx5QjBhR2x6SUdseklIUm9aU0J0WVhnZ1lubDBaWE1nWTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGMxeHVJQ0FnSUNBZ0x5OGdZMkZ1SUdSdklHRjBJRzl1WTJVZ2MyVmxJR2gwZEhCek9pOHZaR1YyWld4dmNHVnlMbTF2ZW1sc2JHRXViM0puTDJWdUxWVlRMMlJ2WTNNdlYyVmlMMEZRU1M5M2FXNWtiM2N1WTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGMxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ1oyVnVaWEpoZEdWa0lEMGdNRHNnWjJWdVpYSmhkR1ZrSUR3Z2MybDZaVHNnWjJWdVpYSmhkR1ZrSUNzOUlFMUJXRjlDV1ZSRlV5a2dlMXh1SUNBZ0lDQWdJQ0F2THlCaWRXWm1aWEl1YzJ4cFkyVWdZWFYwYjIxaGRHbGpZV3hzZVNCamFHVmphM01nYVdZZ2RHaGxJR1Z1WkNCcGN5QndZWE4wSUhSb1pTQmxibVFnYjJaY2JpQWdJQ0FnSUNBZ0x5OGdkR2hsSUdKMVptWmxjaUJ6YnlCM1pTQmtiMjRuZENCb1lYWmxJSFJ2SUdobGNtVmNiaUFnSUNBZ0lDQWdZM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3loaWVYUmxjeTV6YkdsalpTaG5aVzVsY21GMFpXUXNJR2RsYm1WeVlYUmxaQ0FySUUxQldGOUNXVlJGVXlrcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR055ZVhCMGJ5NW5aWFJTWVc1a2IyMVdZV3gxWlhNb1lubDBaWE1wWEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCallpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpMbTVsZUhSVWFXTnJLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUdOaUtHNTFiR3dzSUdKNWRHVnpLVnh1SUNBZ0lIMHBYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdZbmwwWlhOY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWZpbGwvYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmFuZG9tZmlsbC9icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7XFxuXFxuZnVuY3Rpb24gb2xkQnJvd3NlciAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ3NlY3VyZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXJcXFxcbnVzZSBjaHJvbWUsIEZpcmVGb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEnKVxcbn1cXG52YXIgc2FmZUJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpXFxudmFyIHJhbmRvbWJ5dGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmFuZG9tYnl0ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBzYWZlQnVmZmVyLkJ1ZmZlclxcbnZhciBrQnVmZmVyTWF4TGVuZ3RoID0gc2FmZUJ1ZmZlci5rTWF4TGVuZ3RoXFxudmFyIGNyeXB0byA9IGdsb2JhbC5jcnlwdG8gfHwgZ2xvYmFsLm1zQ3J5cHRvXFxudmFyIGtNYXhVaW50MzIgPSBNYXRoLnBvdygyLCAzMikgLSAxXFxuZnVuY3Rpb24gYXNzZXJ0T2Zmc2V0IChvZmZzZXQsIGxlbmd0aCkge1xcbiAgaWYgKHR5cGVvZiBvZmZzZXQgIT09ICdudW1iZXInIHx8IG9mZnNldCAhPT0gb2Zmc2V0KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2VsZi1jb21wYXJlXFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ29mZnNldCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG5cXG4gIGlmIChvZmZzZXQgPiBrTWF4VWludDMyIHx8IG9mZnNldCA8IDApIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb2Zmc2V0IG11c3QgYmUgYSB1aW50MzInKVxcbiAgfVxcblxcbiAgaWYgKG9mZnNldCA+IGtCdWZmZXJNYXhMZW5ndGggfHwgb2Zmc2V0ID4gbGVuZ3RoKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdvZmZzZXQgb3V0IG9mIHJhbmdlJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYXNzZXJ0U2l6ZSAoc2l6ZSwgb2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicgfHwgc2l6ZSAhPT0gc2l6ZSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdzaXplIG11c3QgYmUgYSBudW1iZXInKVxcbiAgfVxcblxcbiAgaWYgKHNpemUgPiBrTWF4VWludDMyIHx8IHNpemUgPCAwKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3NpemUgbXVzdCBiZSBhIHVpbnQzMicpXFxuICB9XFxuXFxuICBpZiAoc2l6ZSArIG9mZnNldCA+IGxlbmd0aCB8fCBzaXplID4ga0J1ZmZlck1heExlbmd0aCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYnVmZmVyIHRvbyBzbWFsbCcpXFxuICB9XFxufVxcbmlmICgoY3J5cHRvICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHx8ICFwcm9jZXNzLmJyb3dzZXIpIHtcXG4gIGV4cG9ydHMucmFuZG9tRmlsbCA9IHJhbmRvbUZpbGxcXG4gIGV4cG9ydHMucmFuZG9tRmlsbFN5bmMgPSByYW5kb21GaWxsU3luY1xcbn0gZWxzZSB7XFxuICBleHBvcnRzLnJhbmRvbUZpbGwgPSBvbGRCcm93c2VyXFxuICBleHBvcnRzLnJhbmRvbUZpbGxTeW5jID0gb2xkQnJvd3Nlclxcbn1cXG5mdW5jdGlvbiByYW5kb21GaWxsIChidWYsIG9mZnNldCwgc2l6ZSwgY2IpIHtcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikgJiYgIShidWYgaW5zdGFuY2VvZiBnbG9iYWwuVWludDhBcnJheSkpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcImJ1ZlxcXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5JylcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2Ygb2Zmc2V0ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gb2Zmc2V0XFxuICAgIG9mZnNldCA9IDBcXG4gICAgc2l6ZSA9IGJ1Zi5sZW5ndGhcXG4gIH0gZWxzZSBpZiAodHlwZW9mIHNpemUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgY2IgPSBzaXplXFxuICAgIHNpemUgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XFxuICB9IGVsc2UgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcXFwiY2JcXFwiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpXFxuICB9XFxuICBhc3NlcnRPZmZzZXQob2Zmc2V0LCBidWYubGVuZ3RoKVxcbiAgYXNzZXJ0U2l6ZShzaXplLCBvZmZzZXQsIGJ1Zi5sZW5ndGgpXFxuICByZXR1cm4gYWN0dWFsRmlsbChidWYsIG9mZnNldCwgc2l6ZSwgY2IpXFxufVxcblxcbmZ1bmN0aW9uIGFjdHVhbEZpbGwgKGJ1Ziwgb2Zmc2V0LCBzaXplLCBjYikge1xcbiAgaWYgKHByb2Nlc3MuYnJvd3Nlcikge1xcbiAgICB2YXIgb3VyQnVmID0gYnVmLmJ1ZmZlclxcbiAgICB2YXIgdWludCA9IG5ldyBVaW50OEFycmF5KG91ckJ1Ziwgb2Zmc2V0LCBzaXplKVxcbiAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHVpbnQpXFxuICAgIGlmIChjYikge1xcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgICAgY2IobnVsbCwgYnVmKVxcbiAgICAgIH0pXFxuICAgICAgcmV0dXJuXFxuICAgIH1cXG4gICAgcmV0dXJuIGJ1ZlxcbiAgfVxcbiAgaWYgKGNiKSB7XFxuICAgIHJhbmRvbWJ5dGVzKHNpemUsIGZ1bmN0aW9uIChlcnIsIGJ5dGVzKSB7XFxuICAgICAgaWYgKGVycikge1xcbiAgICAgICAgcmV0dXJuIGNiKGVycilcXG4gICAgICB9XFxuICAgICAgYnl0ZXMuY29weShidWYsIG9mZnNldClcXG4gICAgICBjYihudWxsLCBidWYpXFxuICAgIH0pXFxuICAgIHJldHVyblxcbiAgfVxcbiAgdmFyIGJ5dGVzID0gcmFuZG9tYnl0ZXMoc2l6ZSlcXG4gIGJ5dGVzLmNvcHkoYnVmLCBvZmZzZXQpXFxuICByZXR1cm4gYnVmXFxufVxcbmZ1bmN0aW9uIHJhbmRvbUZpbGxTeW5jIChidWYsIG9mZnNldCwgc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICd1bmRlZmluZWQnKSB7XFxuICAgIG9mZnNldCA9IDBcXG4gIH1cXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikgJiYgIShidWYgaW5zdGFuY2VvZiBnbG9iYWwuVWludDhBcnJheSkpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcImJ1ZlxcXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5JylcXG4gIH1cXG5cXG4gIGFzc2VydE9mZnNldChvZmZzZXQsIGJ1Zi5sZW5ndGgpXFxuXFxuICBpZiAoc2l6ZSA9PT0gdW5kZWZpbmVkKSBzaXplID0gYnVmLmxlbmd0aCAtIG9mZnNldFxcblxcbiAgYXNzZXJ0U2l6ZShzaXplLCBvZmZzZXQsIGJ1Zi5sZW5ndGgpXFxuXFxuICByZXR1cm4gYWN0dWFsRmlsbChidWYsIG9mZnNldCwgc2l6ZSlcXG59XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcXCIpLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVlXNWtiMjFtYVd4c0wySnliM2R6WlhJdWFuTS9ZemhsTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeDFSRUZCV1RzN1FVRkZXanRCUVVOQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTjBReXhyUWtGQmEwSXNiVUpCUVU4c1EwRkJReXd3UkVGQllUdEJRVU4yUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBSQlFYZEVPMEZCUTNoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2EwUkJRV3RFTzBGQlEyeEVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNKaGJtUnZiV1pwYkd3dlluSnZkM05sY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEoxeHVYRzVtZFc1amRHbHZiaUJ2YkdSQ2NtOTNjMlZ5SUNncElIdGNiaUFnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2R6WldOMWNtVWdjbUZ1Wkc5dElHNTFiV0psY2lCblpXNWxjbUYwYVc5dUlHNXZkQ0J6ZFhCd2IzSjBaV1FnWW5rZ2RHaHBjeUJpY205M2MyVnlYRnh1ZFhObElHTm9jbTl0WlN3Z1JtbHlaVVp2ZUNCdmNpQkpiblJsY201bGRDQkZlSEJzYjNKbGNpQXhNU2NwWEc1OVhHNTJZWElnYzJGbVpVSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWxjYm5aaGNpQnlZVzVrYjIxaWVYUmxjeUE5SUhKbGNYVnBjbVVvSjNKaGJtUnZiV0o1ZEdWekp5bGNiblpoY2lCQ2RXWm1aWElnUFNCellXWmxRblZtWm1WeUxrSjFabVpsY2x4dWRtRnlJR3RDZFdabVpYSk5ZWGhNWlc1bmRHZ2dQU0J6WVdabFFuVm1abVZ5TG10TllYaE1aVzVuZEdoY2JuWmhjaUJqY25sd2RHOGdQU0JuYkc5aVlXd3VZM0o1Y0hSdklIeDhJR2RzYjJKaGJDNXRjME55ZVhCMGIxeHVkbUZ5SUd0TllYaFZhVzUwTXpJZ1BTQk5ZWFJvTG5CdmR5Z3lMQ0F6TWlrZ0xTQXhYRzVtZFc1amRHbHZiaUJoYzNObGNuUlBabVp6WlhRZ0tHOW1abk5sZEN3Z2JHVnVaM1JvS1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYjJabWMyVjBJQ0U5UFNBbmJuVnRZbVZ5SnlCOGZDQnZabVp6WlhRZ0lUMDlJRzltWm5ObGRDa2dleUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWE5sYkdZdFkyOXRjR0Z5WlZ4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjI5bVpuTmxkQ0J0ZFhOMElHSmxJR0VnYm5WdFltVnlKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaHZabVp6WlhRZ1BpQnJUV0Y0VldsdWRETXlJSHg4SUc5bVpuTmxkQ0E4SURBcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZHZabVp6WlhRZ2JYVnpkQ0JpWlNCaElIVnBiblF6TWljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYjJabWMyVjBJRDRnYTBKMVptWmxjazFoZUV4bGJtZDBhQ0I4ZkNCdlptWnpaWFFnUGlCc1pXNW5kR2dwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnbmIyWm1jMlYwSUc5MWRDQnZaaUJ5WVc1blpTY3BYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVhOelpYSjBVMmw2WlNBb2MybDZaU3dnYjJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnphWHBsSUNFOVBTQW5iblZ0WW1WeUp5QjhmQ0J6YVhwbElDRTlQU0J6YVhwbEtTQjdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ2JtOHRjMlZzWmkxamIyMXdZWEpsWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWduYzJsNlpTQnRkWE4wSUdKbElHRWdiblZ0WW1WeUp5bGNiaUFnZlZ4dVhHNGdJR2xtSUNoemFYcGxJRDRnYTAxaGVGVnBiblF6TWlCOGZDQnphWHBsSUR3Z01Da2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KM05wZW1VZ2JYVnpkQ0JpWlNCaElIVnBiblF6TWljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYzJsNlpTQXJJRzltWm5ObGRDQStJR3hsYm1kMGFDQjhmQ0J6YVhwbElENGdhMEoxWm1abGNrMWhlRXhsYm1kMGFDa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RpZFdabVpYSWdkRzl2SUhOdFlXeHNKeWxjYmlBZ2ZWeHVmVnh1YVdZZ0tDaGpjbmx3ZEc4Z0ppWWdZM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3lrZ2ZId2dJWEJ5YjJObGMzTXVZbkp2ZDNObGNpa2dlMXh1SUNCbGVIQnZjblJ6TG5KaGJtUnZiVVpwYkd3Z1BTQnlZVzVrYjIxR2FXeHNYRzRnSUdWNGNHOXlkSE11Y21GdVpHOXRSbWxzYkZONWJtTWdQU0J5WVc1a2IyMUdhV3hzVTNsdVkxeHVmU0JsYkhObElIdGNiaUFnWlhod2IzSjBjeTV5WVc1a2IyMUdhV3hzSUQwZ2IyeGtRbkp2ZDNObGNseHVJQ0JsZUhCdmNuUnpMbkpoYm1SdmJVWnBiR3hUZVc1aklEMGdiMnhrUW5KdmQzTmxjbHh1ZlZ4dVpuVnVZM1JwYjI0Z2NtRnVaRzl0Um1sc2JDQW9ZblZtTENCdlptWnpaWFFzSUhOcGVtVXNJR05pS1NCN1hHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dKMVppa2dKaVlnSVNoaWRXWWdhVzV6ZEdGdVkyVnZaaUJuYkc5aVlXd3VWV2x1ZERoQmNuSmhlU2twSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0ltSjFabHdpSUdGeVozVnRaVzUwSUcxMWMzUWdZbVVnWVNCQ2RXWm1aWElnYjNJZ1ZXbHVkRGhCY25KaGVTY3BYRzRnSUgxY2JseHVJQ0JwWmlBb2RIbHdaVzltSUc5bVpuTmxkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHTmlJRDBnYjJabWMyVjBYRzRnSUNBZ2IyWm1jMlYwSUQwZ01GeHVJQ0FnSUhOcGVtVWdQU0JpZFdZdWJHVnVaM1JvWEc0Z0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlITnBlbVVnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQmpZaUE5SUhOcGVtVmNiaUFnSUNCemFYcGxJRDBnWW5WbUxteGxibWQwYUNBdElHOW1abk5sZEZ4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmpZaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMXdpWTJKY0lpQmhjbWQxYldWdWRDQnRkWE4wSUdKbElHRWdablZ1WTNScGIyNG5LVnh1SUNCOVhHNGdJR0Z6YzJWeWRFOW1abk5sZENodlptWnpaWFFzSUdKMVppNXNaVzVuZEdncFhHNGdJR0Z6YzJWeWRGTnBlbVVvYzJsNlpTd2diMlptYzJWMExDQmlkV1l1YkdWdVozUm9LVnh1SUNCeVpYUjFjbTRnWVdOMGRXRnNSbWxzYkNoaWRXWXNJRzltWm5ObGRDd2djMmw2WlN3Z1kySXBYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRmpkSFZoYkVacGJHd2dLR0oxWml3Z2IyWm1jMlYwTENCemFYcGxMQ0JqWWlrZ2UxeHVJQ0JwWmlBb2NISnZZMlZ6Y3k1aWNtOTNjMlZ5S1NCN1hHNGdJQ0FnZG1GeUlHOTFja0oxWmlBOUlHSjFaaTVpZFdabVpYSmNiaUFnSUNCMllYSWdkV2x1ZENBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0c5MWNrSjFaaXdnYjJabWMyVjBMQ0J6YVhwbEtWeHVJQ0FnSUdOeWVYQjBieTVuWlhSU1lXNWtiMjFXWVd4MVpYTW9kV2x1ZENsY2JpQWdJQ0JwWmlBb1kySXBJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNCallpaHVkV3hzTENCaWRXWXBYRzRnSUNBZ0lDQjlLVnh1SUNBZ0lDQWdjbVYwZFhKdVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmlkV1pjYmlBZ2ZWeHVJQ0JwWmlBb1kySXBJSHRjYmlBZ0lDQnlZVzVrYjIxaWVYUmxjeWh6YVhwbExDQm1kVzVqZEdsdmJpQW9aWEp5TENCaWVYUmxjeWtnZTF4dUlDQWdJQ0FnYVdZZ0tHVnljaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTJJb1pYSnlLVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZbmwwWlhNdVkyOXdlU2hpZFdZc0lHOW1abk5sZENsY2JpQWdJQ0FnSUdOaUtHNTFiR3dzSUdKMVppbGNiaUFnSUNCOUtWeHVJQ0FnSUhKbGRIVnlibHh1SUNCOVhHNGdJSFpoY2lCaWVYUmxjeUE5SUhKaGJtUnZiV0o1ZEdWektITnBlbVVwWEc0Z0lHSjVkR1Z6TG1OdmNIa29ZblZtTENCdlptWnpaWFFwWEc0Z0lISmxkSFZ5YmlCaWRXWmNibjFjYm1aMWJtTjBhVzl1SUhKaGJtUnZiVVpwYkd4VGVXNWpJQ2hpZFdZc0lHOW1abk5sZEN3Z2MybDZaU2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JRzltWm5ObGRDQTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNCdlptWnpaWFFnUFNBd1hHNGdJSDFjYmlBZ2FXWWdLQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZblZtS1NBbUppQWhLR0oxWmlCcGJuTjBZVzVqWlc5bUlHZHNiMkpoYkM1VmFXNTBPRUZ5Y21GNUtTa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMXdpWW5WbVhDSWdZWEpuZFcxbGJuUWdiWFZ6ZENCaVpTQmhJRUoxWm1abGNpQnZjaUJWYVc1ME9FRnljbUY1SnlsY2JpQWdmVnh1WEc0Z0lHRnpjMlZ5ZEU5bVpuTmxkQ2h2Wm1aelpYUXNJR0oxWmk1c1pXNW5kR2dwWEc1Y2JpQWdhV1lnS0hOcGVtVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2MybDZaU0E5SUdKMVppNXNaVzVuZEdnZ0xTQnZabVp6WlhSY2JseHVJQ0JoYzNObGNuUlRhWHBsS0hOcGVtVXNJRzltWm5ObGRDd2dZblZtTG14bGJtZDBhQ2xjYmx4dUlDQnlaWFIxY200Z1lXTjBkV0ZzUm1sc2JDaGlkV1lzSUc5bVpuTmxkQ3dnYzJsNlpTbGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yYW5kb21maWxsL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTMuMVxcbiAqIHJlYWN0LWRvbS5kZXZlbG9wbWVudC5qc1xcbiAqXFxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXFxuICpcXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuICovXFxuXFxuXFxuXFxuXFxuXFxuaWYgKHRydWUpIHtcXG4gIChmdW5jdGlvbigpIHtcXG4ndXNlIHN0cmljdCc7XFxuXFxudmFyIFJlYWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxudmFyIF9hc3NpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBvYmplY3QtYXNzaWduICovIFxcXCIuL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzXFxcIik7XFxudmFyIFNjaGVkdWxlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNjaGVkdWxlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzXFxcIik7XFxudmFyIGNoZWNrUHJvcFR5cGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qc1xcXCIpO1xcbnZhciB0cmFjaW5nID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2NoZWR1bGVyL3RyYWNpbmcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzXFxcIik7XFxuXFxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0gUmVhY3QuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7IC8vIFByZXZlbnQgbmV3ZXIgcmVuZGVyZXJzIGZyb20gUlRFIHdoZW4gdXNlZCB3aXRoIG9sZGVyIHJlYWN0IHBhY2thZ2UgdmVyc2lvbnMuXFxuLy8gQ3VycmVudCBvd25lciBhbmQgZGlzcGF0Y2hlciB1c2VkIHRvIHNoYXJlIHRoZSBzYW1lIHJlZixcXG4vLyBidXQgUFIgIzE0NTQ4IHNwbGl0IHRoZW0gb3V0IHRvIGJldHRlciBzdXBwb3J0IHRoZSByZWFjdC1kZWJ1Zy10b29scyBwYWNrYWdlLlxcblxcbmlmICghUmVhY3RTaGFyZWRJbnRlcm5hbHMuaGFzT3duUHJvcGVydHkoJ1JlYWN0Q3VycmVudERpc3BhdGNoZXInKSkge1xcbiAgUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IHtcXG4gICAgY3VycmVudDogbnVsbFxcbiAgfTtcXG59XFxuXFxuaWYgKCFSZWFjdFNoYXJlZEludGVybmFscy5oYXNPd25Qcm9wZXJ0eSgnUmVhY3RDdXJyZW50QmF0Y2hDb25maWcnKSkge1xcbiAgUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWcgPSB7XFxuICAgIHN1c3BlbnNlOiBudWxsXFxuICB9O1xcbn1cXG5cXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxcbi8vXFxuLy8gSW4gUFJPRCAob3IgaW4gcGFja2FnZXMgd2l0aG91dCBhY2Nlc3MgdG8gUmVhY3QgaW50ZXJuYWxzKSxcXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXFxuXFxuZnVuY3Rpb24gd2Fybihmb3JtYXQpIHtcXG4gIHtcXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xcbiAgICB9XFxuXFxuICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xcbiAge1xcbiAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xcbiAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XFxuICAgIH1cXG5cXG4gICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XFxuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxcbiAge1xcbiAgICB2YXIgaGFzRXhpc3RpbmdTdGFjayA9IGFyZ3MubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnc1thcmdzLmxlbmd0aCAtIDFdID09PSAnc3RyaW5nJyAmJiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0uaW5kZXhPZignXFxcXG4gICAgaW4nKSA9PT0gMDtcXG5cXG4gICAgaWYgKCFoYXNFeGlzdGluZ1N0YWNrKSB7XFxuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xcbiAgICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xcblxcbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcXG4gICAgICAgIGZvcm1hdCArPSAnJXMnO1xcbiAgICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xcbiAgICAgIHJldHVybiAnJyArIGl0ZW07XFxuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxcblxcbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcXG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXFxuXFxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxcbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XFxuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcXG4gICAgICB9KTtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XFxuICAgIH0gY2F0Y2ggKHgpIHt9XFxuICB9XFxufVxcblxcbmlmICghUmVhY3QpIHtcXG4gIHtcXG4gICAgdGhyb3cgRXJyb3IoIFxcXCJSZWFjdERPTSB3YXMgbG9hZGVkIGJlZm9yZSBSZWFjdC4gTWFrZSBzdXJlIHlvdSBsb2FkIHRoZSBSZWFjdCBwYWNrYWdlIGJlZm9yZSBsb2FkaW5nIFJlYWN0RE9NLlxcXCIgKTtcXG4gIH1cXG59XFxuXFxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBmdW5jdGlvbiAobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xcbiAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcXG5cXG4gIHRyeSB7XFxuICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xcbiAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgdGhpcy5vbkVycm9yKGVycm9yKTtcXG4gIH1cXG59O1xcblxcbntcXG4gIC8vIEluIERFViBtb2RlLCB3ZSBzd2FwIG91dCBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgZm9yIGEgc3BlY2lhbCB2ZXJzaW9uXFxuICAvLyB0aGF0IHBsYXlzIG1vcmUgbmljZWx5IHdpdGggdGhlIGJyb3dzZXIncyBEZXZUb29scy4gVGhlIGlkZWEgaXMgdG8gcHJlc2VydmVcXG4gIC8vIFxcXCJQYXVzZSBvbiBleGNlcHRpb25zXFxcIiBiZWhhdmlvci4gQmVjYXVzZSBSZWFjdCB3cmFwcyBhbGwgdXNlci1wcm92aWRlZFxcbiAgLy8gZnVuY3Rpb25zIGluIGludm9rZUd1YXJkZWRDYWxsYmFjaywgYW5kIHRoZSBwcm9kdWN0aW9uIHZlcnNpb24gb2ZcXG4gIC8vIGludm9rZUd1YXJkZWRDYWxsYmFjayB1c2VzIGEgdHJ5LWNhdGNoLCBhbGwgdXNlciBleGNlcHRpb25zIGFyZSB0cmVhdGVkXFxuICAvLyBsaWtlIGNhdWdodCBleGNlcHRpb25zLCBhbmQgdGhlIERldlRvb2xzIHdvbid0IHBhdXNlIHVubGVzcyB0aGUgZGV2ZWxvcGVyXFxuICAvLyB0YWtlcyB0aGUgZXh0cmEgc3RlcCBvZiBlbmFibGluZyBwYXVzZSBvbiBjYXVnaHQgZXhjZXB0aW9ucy4gVGhpcyBpc1xcbiAgLy8gdW5pbnR1aXRpdmUsIHRob3VnaCwgYmVjYXVzZSBldmVuIHRob3VnaCBSZWFjdCBoYXMgY2F1Z2h0IHRoZSBlcnJvciwgZnJvbVxcbiAgLy8gdGhlIGRldmVsb3BlcidzIHBlcnNwZWN0aXZlLCB0aGUgZXJyb3IgaXMgdW5jYXVnaHQuXFxuICAvL1xcbiAgLy8gVG8gcHJlc2VydmUgdGhlIGV4cGVjdGVkIFxcXCJQYXVzZSBvbiBleGNlcHRpb25zXFxcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcXG4gIC8vIHRyeS1jYXRjaCBpbiBERVYuIEluc3RlYWQsIHdlIHN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggYSBmYWtlIGV2ZW50IHRvIGEgZmFrZVxcbiAgLy8gRE9NIG5vZGUsIGFuZCBjYWxsIHRoZSB1c2VyLXByb3ZpZGVkIGNhbGxiYWNrIGZyb20gaW5zaWRlIGFuIGV2ZW50IGhhbmRsZXJcXG4gIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcXFwiY2FwdHVyZWRcXFwiIHVzaW5nXFxuICAvLyBhIGdsb2JhbCBldmVudCBoYW5kbGVyLiBCdXQgYmVjYXVzZSB0aGUgZXJyb3IgaGFwcGVucyBpbiBhIGRpZmZlcmVudFxcbiAgLy8gZXZlbnQgbG9vcCBjb250ZXh0LCBpdCBkb2VzIG5vdCBpbnRlcnJ1cHQgdGhlIG5vcm1hbCBwcm9ncmFtIGZsb3cuXFxuICAvLyBFZmZlY3RpdmVseSwgdGhpcyBnaXZlcyB1cyB0cnktY2F0Y2ggYmVoYXZpb3Igd2l0aG91dCBhY3R1YWxseSB1c2luZ1xcbiAgLy8gdHJ5LWNhdGNoLiBOZWF0IVxcbiAgLy8gQ2hlY2sgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgQVBJcyB3ZSBuZWVkIHRvIGltcGxlbWVudCBvdXIgc3BlY2lhbFxcbiAgLy8gREVWIHZlcnNpb24gb2YgaW52b2tlR3VhcmRlZENhbGxiYWNrXFxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5kaXNwYXRjaEV2ZW50ID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHZhciBmYWtlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JlYWN0Jyk7XFxuXFxuICAgIHZhciBpbnZva2VHdWFyZGVkQ2FsbGJhY2tEZXYgPSBmdW5jdGlvbiAobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xcbiAgICAgIC8vIElmIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3Qgd2Uga25vdyBmb3Igc3VyZSB3ZSB3aWxsIGNyYXNoIGluIHRoaXMgbWV0aG9kXFxuICAgICAgLy8gd2hlbiB3ZSBjYWxsIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkuIEhvd2V2ZXIgdGhpcyBjYW4gY2F1c2UgY29uZnVzaW5nXFxuICAgICAgLy8gZXJyb3JzOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2tpbmN1YmF0b3IvY3JlYXRlLXJlYWN0LWFwcC9pc3N1ZXMvMzQ4MlxcbiAgICAgIC8vIFNvIHdlIHByZWVtcHRpdmVseSB0aHJvdyB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UgaW5zdGVhZC5cXG4gICAgICBpZiAoISh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSkge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlRoZSBgZG9jdW1lbnRgIGdsb2JhbCB3YXMgZGVmaW5lZCB3aGVuIFJlYWN0IHdhcyBpbml0aWFsaXplZCwgYnV0IGlzIG5vdCBkZWZpbmVkIGFueW1vcmUuIFRoaXMgY2FuIGhhcHBlbiBpbiBhIHRlc3QgZW52aXJvbm1lbnQgaWYgYSBjb21wb25lbnQgc2NoZWR1bGVzIGFuIHVwZGF0ZSBmcm9tIGFuIGFzeW5jaHJvbm91cyBjYWxsYmFjaywgYnV0IHRoZSB0ZXN0IGhhcyBhbHJlYWR5IGZpbmlzaGVkIHJ1bm5pbmcuIFRvIHNvbHZlIHRoaXMsIHlvdSBjYW4gZWl0aGVyIHVubW91bnQgdGhlIGNvbXBvbmVudCBhdCB0aGUgZW5kIG9mIHlvdXIgdGVzdCAoYW5kIGVuc3VyZSB0aGF0IGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBnZXQgY2FuY2VsZWQgaW4gYGNvbXBvbmVudFdpbGxVbm1vdW50YCksIG9yIHlvdSBjYW4gY2hhbmdlIHRoZSB0ZXN0IGl0c2VsZiB0byBiZSBhc3luY2hyb25vdXMuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7IC8vIEtlZXBzIHRyYWNrIG9mIHdoZXRoZXIgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2sgdGhyZXcgYW4gZXJyb3IuIFdlXFxuICAgICAgLy8gc2V0IHRoaXMgdG8gdHJ1ZSBhdCB0aGUgYmVnaW5uaW5nLCB0aGVuIHNldCBpdCB0byBmYWxzZSByaWdodCBhZnRlclxcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcXG4gICAgICAvLyBzZXQgdG8gZmFsc2UuIFRoaXMgc3RyYXRlZ3kgd29ya3MgZXZlbiBpZiB0aGUgYnJvd3NlciBpcyBmbGFreSBhbmRcXG4gICAgICAvLyBmYWlscyB0byBjYWxsIG91ciBnbG9iYWwgZXJyb3IgaGFuZGxlciwgYmVjYXVzZSBpdCBkb2Vzbid0IHJlbHkgb25cXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxcblxcbiAgICAgIHZhciBkaWRFcnJvciA9IHRydWU7IC8vIEtlZXBzIHRyYWNrIG9mIHRoZSB2YWx1ZSBvZiB3aW5kb3cuZXZlbnQgc28gdGhhdCB3ZSBjYW4gcmVzZXQgaXRcXG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcXG4gICAgICAvLyBicm93c2VycyB0aGF0IHN1cHBvcnQgaXQuXFxuXFxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxcbiAgICAgIC8vIGRpc3BhdGNoaW5nOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjg4XFxuXFxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTsgLy8gQ3JlYXRlIGFuIGV2ZW50IGhhbmRsZXIgZm9yIG91ciBmYWtlIGV2ZW50LiBXZSB3aWxsIHN5bmNocm9ub3VzbHlcXG4gICAgICAvLyBkaXNwYXRjaCBvdXIgZmFrZSBldmVudCB1c2luZyBgZGlzcGF0Y2hFdmVudGAuIEluc2lkZSB0aGUgaGFuZGxlciwgd2VcXG4gICAgICAvLyBjYWxsIHRoZSB1c2VyLXByb3ZpZGVkIGNhbGxiYWNrLlxcblxcbiAgICAgIHZhciBmdW5jQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMyk7XFxuXFxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xcbiAgICAgICAgLy8gV2UgaW1tZWRpYXRlbHkgcmVtb3ZlIHRoZSBjYWxsYmFjayBmcm9tIGV2ZW50IGxpc3RlbmVycyBzbyB0aGF0XFxuICAgICAgICAvLyBuZXN0ZWQgYGludm9rZUd1YXJkZWRDYWxsYmFja2AgY2FsbHMgZG8gbm90IGNsYXNoLiBPdGhlcndpc2UsIGFcXG4gICAgICAgIC8vIG5lc3RlZCBjYWxsIHdvdWxkIHRyaWdnZXIgdGhlIGZha2UgZXZlbnQgaGFuZGxlcnMgb2YgYW55IGNhbGwgaGlnaGVyXFxuICAgICAgICAvLyBpbiB0aGUgc3RhY2suXFxuICAgICAgICBmYWtlTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBXZSBjaGVjayBmb3Igd2luZG93Lmhhc093blByb3BlcnR5KCdldmVudCcpIHRvIHByZXZlbnQgdGhlXFxuICAgICAgICAvLyB3aW5kb3cuZXZlbnQgYXNzaWdubWVudCBpbiBib3RoIElFIDw9IDEwIGFzIHRoZXkgdGhyb3cgYW4gZXJyb3JcXG4gICAgICAgIC8vIFxcXCJNZW1iZXIgbm90IGZvdW5kXFxcIiBpbiBzdHJpY3QgbW9kZSwgYW5kIGluIEZpcmVmb3ggd2hpY2ggZG9lcyBub3RcXG4gICAgICAgIC8vIHN1cHBvcnQgd2luZG93LmV2ZW50LlxcblxcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSkge1xcbiAgICAgICAgICB3aW5kb3cuZXZlbnQgPSB3aW5kb3dFdmVudDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xcbiAgICAgICAgZGlkRXJyb3IgPSBmYWxzZTtcXG4gICAgICB9IC8vIENyZWF0ZSBhIGdsb2JhbCBlcnJvciBldmVudCBoYW5kbGVyLiBXZSB1c2UgdGhpcyB0byBjYXB0dXJlIHRoZSB2YWx1ZVxcbiAgICAgIC8vIHRoYXQgd2FzIHRocm93bi4gSXQncyBwb3NzaWJsZSB0aGF0IHRoaXMgZXJyb3IgaGFuZGxlciB3aWxsIGZpcmUgbW9yZVxcbiAgICAgIC8vIHRoYW4gb25jZTsgZm9yIGV4YW1wbGUsIGlmIG5vbi1SZWFjdCBjb2RlIGFsc28gY2FsbHMgYGRpc3BhdGNoRXZlbnRgXFxuICAgICAgLy8gYW5kIGEgaGFuZGxlciBmb3IgdGhhdCBldmVudCB0aHJvd3MuIFdlIHNob3VsZCBiZSByZXNpbGllbnQgdG8gbW9zdCBvZlxcbiAgICAgIC8vIHRob3NlIGNhc2VzLiBFdmVuIGlmIG91ciBlcnJvciBldmVudCBoYW5kbGVyIGZpcmVzIG1vcmUgdGhhbiBvbmNlLCB0aGVcXG4gICAgICAvLyBsYXN0IGVycm9yIGV2ZW50IGlzIGFsd2F5cyB1c2VkLiBJZiB0aGUgY2FsbGJhY2sgYWN0dWFsbHkgZG9lcyBlcnJvcixcXG4gICAgICAvLyB3ZSBrbm93IHRoYXQgdGhlIGxhc3QgZXJyb3IgZXZlbnQgaXMgdGhlIGNvcnJlY3Qgb25lLCBiZWNhdXNlIGl0J3Mgbm90XFxuICAgICAgLy8gcG9zc2libGUgZm9yIGFueXRoaW5nIGVsc2UgdG8gaGF2ZSBoYXBwZW5lZCBpbiBiZXR3ZWVuIG91ciBjYWxsYmFja1xcbiAgICAgIC8vIGVycm9yaW5nIGFuZCB0aGUgY29kZSB0aGF0IGZvbGxvd3MgdGhlIGBkaXNwYXRjaEV2ZW50YCBjYWxsIGJlbG93LiBJZlxcbiAgICAgIC8vIHRoZSBjYWxsYmFjayBkb2Vzbid0IGVycm9yLCBidXQgdGhlIGVycm9yIGV2ZW50IHdhcyBmaXJlZCwgd2Uga25vdyB0b1xcbiAgICAgIC8vIGlnbm9yZSBpdCBiZWNhdXNlIGBkaWRFcnJvcmAgd2lsbCBiZSBmYWxzZSwgYXMgZGVzY3JpYmVkIGFib3ZlLlxcblxcblxcbiAgICAgIHZhciBlcnJvcjsgLy8gVXNlIHRoaXMgdG8gdHJhY2sgd2hldGhlciB0aGUgZXJyb3IgZXZlbnQgaXMgZXZlciBjYWxsZWQuXFxuXFxuICAgICAgdmFyIGRpZFNldEVycm9yID0gZmFsc2U7XFxuICAgICAgdmFyIGlzQ3Jvc3NPcmlnaW5FcnJvciA9IGZhbHNlO1xcblxcbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVdpbmRvd0Vycm9yKGV2ZW50KSB7XFxuICAgICAgICBlcnJvciA9IGV2ZW50LmVycm9yO1xcbiAgICAgICAgZGlkU2V0RXJyb3IgPSB0cnVlO1xcblxcbiAgICAgICAgaWYgKGVycm9yID09PSBudWxsICYmIGV2ZW50LmNvbG5vID09PSAwICYmIGV2ZW50LmxpbmVubyA9PT0gMCkge1xcbiAgICAgICAgICBpc0Nyb3NzT3JpZ2luRXJyb3IgPSB0cnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcXG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cXG4gICAgICAgICAgLy8gQnJvd3NlcnMgc2lsZW5jZSB0aGUgZXJyb3IgcmVwb3J0IGlmIHRoaXMgaGFwcGVucy5cXG4gICAgICAgICAgLy8gV2UnbGwgcmVtZW1iZXIgdGhpcyB0byBsYXRlciBkZWNpZGUgd2hldGhlciB0byBsb2cgaXQgb3Igbm90LlxcbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XFxuICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgIGVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgPSB0cnVlO1xcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH0gLy8gQ3JlYXRlIGEgZmFrZSBldmVudCB0eXBlLlxcblxcblxcbiAgICAgIHZhciBldnRUeXBlID0gXFxcInJlYWN0LVxcXCIgKyAobmFtZSA/IG5hbWUgOiAnaW52b2tlZ3VhcmRlZGNhbGxiYWNrJyk7IC8vIEF0dGFjaCBvdXIgZXZlbnQgaGFuZGxlcnNcXG5cXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XFxuICAgICAgZmFrZU5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldnRUeXBlLCBjYWxsQ2FsbGJhY2ssIGZhbHNlKTsgLy8gU3luY2hyb25vdXNseSBkaXNwYXRjaCBvdXIgZmFrZSBldmVudC4gSWYgdGhlIHVzZXItcHJvdmlkZWQgZnVuY3Rpb25cXG4gICAgICAvLyBlcnJvcnMsIGl0IHdpbGwgdHJpZ2dlciBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXFxuXFxuICAgICAgZXZ0LmluaXRFdmVudChldnRUeXBlLCBmYWxzZSwgZmFsc2UpO1xcbiAgICAgIGZha2VOb2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcXG5cXG4gICAgICBpZiAod2luZG93RXZlbnREZXNjcmlwdG9yKSB7XFxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZXZlbnQnLCB3aW5kb3dFdmVudERlc2NyaXB0b3IpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoZGlkRXJyb3IpIHtcXG4gICAgICAgIGlmICghZGlkU2V0RXJyb3IpIHtcXG4gICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGVycm9yZWQsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgbmV2ZXIgZmlyZWQuXFxuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKCdBbiBlcnJvciB3YXMgdGhyb3duIGluc2lkZSBvbmUgb2YgeW91ciBjb21wb25lbnRzLCBidXQgUmVhY3QgJyArIFxcXCJkb2Vzbid0IGtub3cgd2hhdCBpdCB3YXMuIFRoaXMgaXMgbGlrZWx5IGR1ZSB0byBicm93c2VyIFxcXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcXFwiUGF1c2Ugb24gJyArICdleGNlcHRpb25zXFxcIiBiZWhhdmlvciBvZiB0aGUgRGV2VG9vbHMsIHdoaWNoIHJlcXVpcmVzIHNvbWUgJyArIFxcXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXFxcIiArICd5b3VyIGJyb3dzZXIuIFRyeSB0cmlnZ2VyaW5nIHRoZSBlcnJvciBpbiBwcm9kdWN0aW9uIG1vZGUsICcgKyAnb3Igc3dpdGNoaW5nIHRvIGEgbW9kZXJuIGJyb3dzZXIuIElmIHlvdSBzdXNwZWN0IHRoYXQgdGhpcyBpcyAnICsgJ2FjdHVhbGx5IGFuIGlzc3VlIHdpdGggUmVhY3QsIHBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcXG4gICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoXFxcIkEgY3Jvc3Mtb3JpZ2luIGVycm9yIHdhcyB0aHJvd24uIFJlYWN0IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gXFxcIiArICd0aGUgYWN0dWFsIGVycm9yIG9iamVjdCBpbiBkZXZlbG9wbWVudC4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1jcm9zc29yaWdpbi1lcnJvciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRoaXMub25FcnJvcihlcnJvcik7XFxuICAgICAgfSAvLyBSZW1vdmUgb3VyIGV2ZW50IGxpc3RlbmVyc1xcblxcblxcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcXG4gICAgfTtcXG5cXG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrSW1wbCA9IGludm9rZUd1YXJkZWRDYWxsYmFja0RldjtcXG4gIH1cXG59XFxuXFxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMSA9IGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGw7XFxuXFxudmFyIGhhc0Vycm9yID0gZmFsc2U7XFxudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cXG5cXG52YXIgaGFzUmV0aHJvd0Vycm9yID0gZmFsc2U7XFxudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XFxudmFyIHJlcG9ydGVyID0ge1xcbiAgb25FcnJvcjogZnVuY3Rpb24gKGVycm9yKSB7XFxuICAgIGhhc0Vycm9yID0gdHJ1ZTtcXG4gICAgY2F1Z2h0RXJyb3IgPSBlcnJvcjtcXG4gIH1cXG59O1xcbi8qKlxcbiAqIENhbGwgYSBmdW5jdGlvbiB3aGlsZSBndWFyZGluZyBhZ2FpbnN0IGVycm9ycyB0aGF0IGhhcHBlbnMgd2l0aGluIGl0LlxcbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cXG4gKlxcbiAqIEluIHByb2R1Y3Rpb24sIHRoaXMgaXMgaW1wbGVtZW50ZWQgdXNpbmcgYSB0cnktY2F0Y2guIFRoZSByZWFzb24gd2UgZG9uJ3RcXG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcXG4gKiBpbXBsZW1lbnRhdGlvbiBpbiBERVYgbW9kZS5cXG4gKlxcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlXFxuICogQHBhcmFtIHsqfSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIHVzZSB3aGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9uXFxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cXG4gKi9cXG5cXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xcbiAgaGFzRXJyb3IgPSBmYWxzZTtcXG4gIGNhdWdodEVycm9yID0gbnVsbDtcXG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMS5hcHBseShyZXBvcnRlciwgYXJndW1lbnRzKTtcXG59XFxuLyoqXFxuICogU2FtZSBhcyBpbnZva2VHdWFyZGVkQ2FsbGJhY2ssIGJ1dCBpbnN0ZWFkIG9mIHJldHVybmluZyBhbiBlcnJvciwgaXQgc3RvcmVzXFxuICogaXQgaW4gYSBnbG9iYWwgc28gaXQgY2FuIGJlIHJldGhyb3duIGJ5IGByZXRocm93Q2F1Z2h0RXJyb3JgIGxhdGVyLlxcbiAqIFRPRE86IFNlZSBpZiBjYXVnaHRFcnJvciBhbmQgcmV0aHJvd0Vycm9yIGNhbiBiZSB1bmlmaWVkLlxcbiAqXFxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgb2YgdGhlIGd1YXJkIHRvIHVzZSBmb3IgbG9nZ2luZyBvciBkZWJ1Z2dpbmdcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgVGhlIGNvbnRleHQgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25cXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJndW1lbnRzIGZvciBmdW5jdGlvblxcbiAqL1xcblxcbmZ1bmN0aW9uIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcihuYW1lLCBmdW5jLCBjb250ZXh0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XFxuICBpbnZva2VHdWFyZGVkQ2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG5cXG4gIGlmIChoYXNFcnJvcikge1xcbiAgICB2YXIgZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuXFxuICAgIGlmICghaGFzUmV0aHJvd0Vycm9yKSB7XFxuICAgICAgaGFzUmV0aHJvd0Vycm9yID0gdHJ1ZTtcXG4gICAgICByZXRocm93RXJyb3IgPSBlcnJvcjtcXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBEdXJpbmcgZXhlY3V0aW9uIG9mIGd1YXJkZWQgZnVuY3Rpb25zIHdlIHdpbGwgY2FwdHVyZSB0aGUgZmlyc3QgZXJyb3Igd2hpY2hcXG4gKiB3ZSB3aWxsIHJldGhyb3cgdG8gYmUgaGFuZGxlZCBieSB0aGUgdG9wIGxldmVsIGVycm9yIGhhbmRsZXIuXFxuICovXFxuXFxuZnVuY3Rpb24gcmV0aHJvd0NhdWdodEVycm9yKCkge1xcbiAgaWYgKGhhc1JldGhyb3dFcnJvcikge1xcbiAgICB2YXIgZXJyb3IgPSByZXRocm93RXJyb3I7XFxuICAgIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xcbiAgICByZXRocm93RXJyb3IgPSBudWxsO1xcbiAgICB0aHJvdyBlcnJvcjtcXG4gIH1cXG59XFxuZnVuY3Rpb24gaGFzQ2F1Z2h0RXJyb3IoKSB7XFxuICByZXR1cm4gaGFzRXJyb3I7XFxufVxcbmZ1bmN0aW9uIGNsZWFyQ2F1Z2h0RXJyb3IoKSB7XFxuICBpZiAoaGFzRXJyb3IpIHtcXG4gICAgdmFyIGVycm9yID0gY2F1Z2h0RXJyb3I7XFxuICAgIGhhc0Vycm9yID0gZmFsc2U7XFxuICAgIGNhdWdodEVycm9yID0gbnVsbDtcXG4gICAgcmV0dXJuIGVycm9yO1xcbiAgfSBlbHNlIHtcXG4gICAge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiY2xlYXJDYXVnaHRFcnJvciB3YXMgY2FsbGVkIGJ1dCBubyBlcnJvciB3YXMgY2FwdHVyZWQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSA9IG51bGw7XFxudmFyIGdldEluc3RhbmNlRnJvbU5vZGUgPSBudWxsO1xcbnZhciBnZXROb2RlRnJvbUluc3RhbmNlID0gbnVsbDtcXG5mdW5jdGlvbiBzZXRDb21wb25lbnRUcmVlKGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGVJbXBsLCBnZXRJbnN0YW5jZUZyb21Ob2RlSW1wbCwgZ2V0Tm9kZUZyb21JbnN0YW5jZUltcGwpIHtcXG4gIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUgPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlSW1wbDtcXG4gIGdldEluc3RhbmNlRnJvbU5vZGUgPSBnZXRJbnN0YW5jZUZyb21Ob2RlSW1wbDtcXG4gIGdldE5vZGVGcm9tSW5zdGFuY2UgPSBnZXROb2RlRnJvbUluc3RhbmNlSW1wbDtcXG5cXG4gIHtcXG4gICAgaWYgKCFnZXROb2RlRnJvbUluc3RhbmNlIHx8ICFnZXRJbnN0YW5jZUZyb21Ob2RlKSB7XFxuICAgICAgZXJyb3IoJ0V2ZW50UGx1Z2luVXRpbHMuc2V0Q29tcG9uZW50VHJlZSguLi4pOiBJbmplY3RlZCAnICsgJ21vZHVsZSBpcyBtaXNzaW5nIGdldE5vZGVGcm9tSW5zdGFuY2Ugb3IgZ2V0SW5zdGFuY2VGcm9tTm9kZS4nKTtcXG4gICAgfVxcbiAgfVxcbn1cXG52YXIgdmFsaWRhdGVFdmVudERpc3BhdGNoZXM7XFxuXFxue1xcbiAgdmFsaWRhdGVFdmVudERpc3BhdGNoZXMgPSBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgdmFyIGRpc3BhdGNoTGlzdGVuZXJzID0gZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzO1xcbiAgICB2YXIgZGlzcGF0Y2hJbnN0YW5jZXMgPSBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXM7XFxuICAgIHZhciBsaXN0ZW5lcnNJc0FyciA9IEFycmF5LmlzQXJyYXkoZGlzcGF0Y2hMaXN0ZW5lcnMpO1xcbiAgICB2YXIgbGlzdGVuZXJzTGVuID0gbGlzdGVuZXJzSXNBcnIgPyBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggOiBkaXNwYXRjaExpc3RlbmVycyA/IDEgOiAwO1xcbiAgICB2YXIgaW5zdGFuY2VzSXNBcnIgPSBBcnJheS5pc0FycmF5KGRpc3BhdGNoSW5zdGFuY2VzKTtcXG4gICAgdmFyIGluc3RhbmNlc0xlbiA9IGluc3RhbmNlc0lzQXJyID8gZGlzcGF0Y2hJbnN0YW5jZXMubGVuZ3RoIDogZGlzcGF0Y2hJbnN0YW5jZXMgPyAxIDogMDtcXG5cXG4gICAgaWYgKGluc3RhbmNlc0lzQXJyICE9PSBsaXN0ZW5lcnNJc0FyciB8fCBpbnN0YW5jZXNMZW4gIT09IGxpc3RlbmVyc0xlbikge1xcbiAgICAgIGVycm9yKCdFdmVudFBsdWdpblV0aWxzOiBJbnZhbGlkIGBldmVudGAuJyk7XFxuICAgIH1cXG4gIH07XFxufVxcbi8qKlxcbiAqIERpc3BhdGNoIHRoZSBldmVudCB0byB0aGUgbGlzdGVuZXIuXFxuICogQHBhcmFtIHtTeW50aGV0aWNFdmVudH0gZXZlbnQgU3ludGhldGljRXZlbnQgdG8gaGFuZGxlXFxuICogQHBhcmFtIHtmdW5jdGlvbn0gbGlzdGVuZXIgQXBwbGljYXRpb24tbGV2ZWwgY2FsbGJhY2tcXG4gKiBAcGFyYW0geyp9IGluc3QgSW50ZXJuYWwgY29tcG9uZW50IGluc3RhbmNlXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBsaXN0ZW5lciwgaW5zdCkge1xcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcXG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBnZXROb2RlRnJvbUluc3RhbmNlKGluc3QpO1xcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKHR5cGUsIGxpc3RlbmVyLCB1bmRlZmluZWQsIGV2ZW50KTtcXG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xcbn1cXG4vKipcXG4gKiBTdGFuZGFyZC9zaW1wbGUgaXRlcmF0aW9uIHRocm91Z2ggYW4gZXZlbnQncyBjb2xsZWN0ZWQgZGlzcGF0Y2hlcy5cXG4gKi9cXG5cXG5mdW5jdGlvbiBleGVjdXRlRGlzcGF0Y2hlc0luT3JkZXIoZXZlbnQpIHtcXG4gIHZhciBkaXNwYXRjaExpc3RlbmVycyA9IGV2ZW50Ll9kaXNwYXRjaExpc3RlbmVycztcXG4gIHZhciBkaXNwYXRjaEluc3RhbmNlcyA9IGV2ZW50Ll9kaXNwYXRjaEluc3RhbmNlcztcXG5cXG4gIHtcXG4gICAgdmFsaWRhdGVFdmVudERpc3BhdGNoZXMoZXZlbnQpO1xcbiAgfVxcblxcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGlzcGF0Y2hMaXN0ZW5lcnMpKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBpZiAoZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfSAvLyBMaXN0ZW5lcnMgYW5kIEluc3RhbmNlcyBhcmUgdHdvIHBhcmFsbGVsIGFycmF5cyB0aGF0IGFyZSBhbHdheXMgaW4gc3luYy5cXG5cXG5cXG4gICAgICBleGVjdXRlRGlzcGF0Y2goZXZlbnQsIGRpc3BhdGNoTGlzdGVuZXJzW2ldLCBkaXNwYXRjaEluc3RhbmNlc1tpXSk7XFxuICAgIH1cXG4gIH0gZWxzZSBpZiAoZGlzcGF0Y2hMaXN0ZW5lcnMpIHtcXG4gICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBkaXNwYXRjaExpc3RlbmVycywgZGlzcGF0Y2hJbnN0YW5jZXMpO1xcbiAgfVxcblxcbiAgZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzID0gbnVsbDtcXG4gIGV2ZW50Ll9kaXNwYXRjaEluc3RhbmNlcyA9IG51bGw7XFxufVxcblxcbnZhciBGdW5jdGlvbkNvbXBvbmVudCA9IDA7XFxudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcXG52YXIgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCA9IDI7IC8vIEJlZm9yZSB3ZSBrbm93IHdoZXRoZXIgaXQgaXMgZnVuY3Rpb24gb3IgY2xhc3NcXG5cXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cXG5cXG52YXIgSG9zdFBvcnRhbCA9IDQ7IC8vIEEgc3VidHJlZS4gQ291bGQgYmUgYW4gZW50cnkgcG9pbnQgdG8gYSBkaWZmZXJlbnQgcmVuZGVyZXIuXFxuXFxudmFyIEhvc3RDb21wb25lbnQgPSA1O1xcbnZhciBIb3N0VGV4dCA9IDY7XFxudmFyIEZyYWdtZW50ID0gNztcXG52YXIgTW9kZSA9IDg7XFxudmFyIENvbnRleHRDb25zdW1lciA9IDk7XFxudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xcbnZhciBGb3J3YXJkUmVmID0gMTE7XFxudmFyIFByb2ZpbGVyID0gMTI7XFxudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XFxudmFyIE1lbW9Db21wb25lbnQgPSAxNDtcXG52YXIgU2ltcGxlTWVtb0NvbXBvbmVudCA9IDE1O1xcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XFxudmFyIEluY29tcGxldGVDbGFzc0NvbXBvbmVudCA9IDE3O1xcbnZhciBEZWh5ZHJhdGVkRnJhZ21lbnQgPSAxODtcXG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XFxudmFyIEZ1bmRhbWVudGFsQ29tcG9uZW50ID0gMjA7XFxudmFyIFNjb3BlQ29tcG9uZW50ID0gMjE7XFxudmFyIEJsb2NrID0gMjI7XFxuXFxuLyoqXFxuICogSW5qZWN0YWJsZSBvcmRlcmluZyBvZiBldmVudCBwbHVnaW5zLlxcbiAqL1xcbnZhciBldmVudFBsdWdpbk9yZGVyID0gbnVsbDtcXG4vKipcXG4gKiBJbmplY3RhYmxlIG1hcHBpbmcgZnJvbSBuYW1lcyB0byBldmVudCBwbHVnaW4gbW9kdWxlcy5cXG4gKi9cXG5cXG52YXIgbmFtZXNUb1BsdWdpbnMgPSB7fTtcXG4vKipcXG4gKiBSZWNvbXB1dGVzIHRoZSBwbHVnaW4gbGlzdCB1c2luZyB0aGUgaW5qZWN0ZWQgcGx1Z2lucyBhbmQgcGx1Z2luIG9yZGVyaW5nLlxcbiAqXFxuICogQHByaXZhdGVcXG4gKi9cXG5cXG5mdW5jdGlvbiByZWNvbXB1dGVQbHVnaW5PcmRlcmluZygpIHtcXG4gIGlmICghZXZlbnRQbHVnaW5PcmRlcikge1xcbiAgICAvLyBXYWl0IHVudGlsIGFuIGBldmVudFBsdWdpbk9yZGVyYCBpcyBpbmplY3RlZC5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgZm9yICh2YXIgcGx1Z2luTmFtZSBpbiBuYW1lc1RvUGx1Z2lucykge1xcbiAgICB2YXIgcGx1Z2luTW9kdWxlID0gbmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV07XFxuICAgIHZhciBwbHVnaW5JbmRleCA9IGV2ZW50UGx1Z2luT3JkZXIuaW5kZXhPZihwbHVnaW5OYW1lKTtcXG5cXG4gICAgaWYgKCEocGx1Z2luSW5kZXggPiAtMSkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IENhbm5vdCBpbmplY3QgZXZlbnQgcGx1Z2lucyB0aGF0IGRvIG5vdCBleGlzdCBpbiB0aGUgcGx1Z2luIG9yZGVyaW5nLCBgXFxcIiArIHBsdWdpbk5hbWUgKyBcXFwiYC5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChwbHVnaW5zW3BsdWdpbkluZGV4XSkge1xcbiAgICAgIGNvbnRpbnVlO1xcbiAgICB9XFxuXFxuICAgIGlmICghcGx1Z2luTW9kdWxlLmV4dHJhY3RFdmVudHMpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IEV2ZW50IHBsdWdpbnMgbXVzdCBpbXBsZW1lbnQgYW4gYGV4dHJhY3RFdmVudHNgIG1ldGhvZCwgYnV0IGBcXFwiICsgcGx1Z2luTmFtZSArIFxcXCJgIGRvZXMgbm90LlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcGx1Z2luc1twbHVnaW5JbmRleF0gPSBwbHVnaW5Nb2R1bGU7XFxuICAgIHZhciBwdWJsaXNoZWRFdmVudHMgPSBwbHVnaW5Nb2R1bGUuZXZlbnRUeXBlcztcXG5cXG4gICAgZm9yICh2YXIgZXZlbnROYW1lIGluIHB1Ymxpc2hlZEV2ZW50cykge1xcbiAgICAgIGlmICghcHVibGlzaEV2ZW50Rm9yUGx1Z2luKHB1Ymxpc2hlZEV2ZW50c1tldmVudE5hbWVdLCBwbHVnaW5Nb2R1bGUsIGV2ZW50TmFtZSkpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFdmVudFBsdWdpblJlZ2lzdHJ5OiBGYWlsZWQgdG8gcHVibGlzaCBldmVudCBgXFxcIiArIGV2ZW50TmFtZSArIFxcXCJgIGZvciBwbHVnaW4gYFxcXCIgKyBwbHVnaW5OYW1lICsgXFxcImAuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBQdWJsaXNoZXMgYW4gZXZlbnQgc28gdGhhdCBpdCBjYW4gYmUgZGlzcGF0Y2hlZCBieSB0aGUgc3VwcGxpZWQgcGx1Z2luLlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IGRpc3BhdGNoQ29uZmlnIERpc3BhdGNoIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBldmVudC5cXG4gKiBAcGFyYW0ge29iamVjdH0gUGx1Z2luTW9kdWxlIFBsdWdpbiBwdWJsaXNoaW5nIHRoZSBldmVudC5cXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBldmVudCB3YXMgc3VjY2Vzc2Z1bGx5IHB1Ymxpc2hlZC5cXG4gKiBAcHJpdmF0ZVxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHB1Ymxpc2hFdmVudEZvclBsdWdpbihkaXNwYXRjaENvbmZpZywgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpIHtcXG4gIGlmICghIWV2ZW50TmFtZURpc3BhdGNoQ29uZmlncy5oYXNPd25Qcm9wZXJ0eShldmVudE5hbWUpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IE1vcmUgdGhhbiBvbmUgcGx1Z2luIGF0dGVtcHRlZCB0byBwdWJsaXNoIHRoZSBzYW1lIGV2ZW50IG5hbWUsIGBcXFwiICsgZXZlbnROYW1lICsgXFxcImAuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICBldmVudE5hbWVEaXNwYXRjaENvbmZpZ3NbZXZlbnROYW1lXSA9IGRpc3BhdGNoQ29uZmlnO1xcbiAgdmFyIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzID0gZGlzcGF0Y2hDb25maWcucGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM7XFxuXFxuICBpZiAocGhhc2VkUmVnaXN0cmF0aW9uTmFtZXMpIHtcXG4gICAgZm9yICh2YXIgcGhhc2VOYW1lIGluIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzKSB7XFxuICAgICAgaWYgKHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzLmhhc093blByb3BlcnR5KHBoYXNlTmFtZSkpIHtcXG4gICAgICAgIHZhciBwaGFzZWRSZWdpc3RyYXRpb25OYW1lID0gcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXNbcGhhc2VOYW1lXTtcXG4gICAgICAgIHB1Ymxpc2hSZWdpc3RyYXRpb25OYW1lKHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWUsIHBsdWdpbk1vZHVsZSwgZXZlbnROYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9IGVsc2UgaWYgKGRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUpIHtcXG4gICAgcHVibGlzaFJlZ2lzdHJhdGlvbk5hbWUoZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSwgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpO1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuLyoqXFxuICogUHVibGlzaGVzIGEgcmVnaXN0cmF0aW9uIG5hbWUgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IGRpc3BhdGNoZWQgZXZlbnRzLlxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgUmVnaXN0cmF0aW9uIG5hbWUgdG8gYWRkLlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBQbHVnaW5Nb2R1bGUgUGx1Z2luIHB1Ymxpc2hpbmcgdGhlIGV2ZW50LlxcbiAqIEBwcml2YXRlXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gcHVibGlzaFJlZ2lzdHJhdGlvbk5hbWUocmVnaXN0cmF0aW9uTmFtZSwgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpIHtcXG4gIGlmICghIXJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzW3JlZ2lzdHJhdGlvbk5hbWVdKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IE1vcmUgdGhhbiBvbmUgcGx1Z2luIGF0dGVtcHRlZCB0byBwdWJsaXNoIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBuYW1lLCBgXFxcIiArIHJlZ2lzdHJhdGlvbk5hbWUgKyBcXFwiYC5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzW3JlZ2lzdHJhdGlvbk5hbWVdID0gcGx1Z2luTW9kdWxlO1xcbiAgcmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llc1tyZWdpc3RyYXRpb25OYW1lXSA9IHBsdWdpbk1vZHVsZS5ldmVudFR5cGVzW2V2ZW50TmFtZV0uZGVwZW5kZW5jaWVzO1xcblxcbiAge1xcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSByZWdpc3RyYXRpb25OYW1lLnRvTG93ZXJDYXNlKCk7XFxuICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXNbbG93ZXJDYXNlZE5hbWVdID0gcmVnaXN0cmF0aW9uTmFtZTtcXG5cXG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWUgPT09ICdvbkRvdWJsZUNsaWNrJykge1xcbiAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMub25kYmxjbGljayA9IHJlZ2lzdHJhdGlvbk5hbWU7XFxuICAgIH1cXG4gIH1cXG59XFxuLyoqXFxuICogUmVnaXN0ZXJzIHBsdWdpbnMgc28gdGhhdCB0aGV5IGNhbiBleHRyYWN0IGFuZCBkaXNwYXRjaCBldmVudHMuXFxuICovXFxuXFxuLyoqXFxuICogT3JkZXJlZCBsaXN0IG9mIGluamVjdGVkIHBsdWdpbnMuXFxuICovXFxuXFxuXFxudmFyIHBsdWdpbnMgPSBbXTtcXG4vKipcXG4gKiBNYXBwaW5nIGZyb20gZXZlbnQgbmFtZSB0byBkaXNwYXRjaCBjb25maWdcXG4gKi9cXG5cXG52YXIgZXZlbnROYW1lRGlzcGF0Y2hDb25maWdzID0ge307XFxuLyoqXFxuICogTWFwcGluZyBmcm9tIHJlZ2lzdHJhdGlvbiBuYW1lIHRvIHBsdWdpbiBtb2R1bGVcXG4gKi9cXG5cXG52YXIgcmVnaXN0cmF0aW9uTmFtZU1vZHVsZXMgPSB7fTtcXG4vKipcXG4gKiBNYXBwaW5nIGZyb20gcmVnaXN0cmF0aW9uIG5hbWUgdG8gZXZlbnQgbmFtZVxcbiAqL1xcblxcbnZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0ge307XFxuLyoqXFxuICogTWFwcGluZyBmcm9tIGxvd2VyY2FzZSByZWdpc3RyYXRpb24gbmFtZXMgdG8gdGhlIHByb3Blcmx5IGNhc2VkIHZlcnNpb24sXFxuICogdXNlZCB0byB3YXJuIGluIHRoZSBjYXNlIG9mIG1pc3NpbmcgZXZlbnQgaGFuZGxlcnMuIEF2YWlsYWJsZVxcbiAqIG9ubHkgaW4gdHJ1ZS5cXG4gKiBAdHlwZSB7T2JqZWN0fVxcbiAqL1xcblxcbnZhciBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzID0gIHt9IDsgLy8gVHJ1c3QgdGhlIGRldmVsb3BlciB0byBvbmx5IHVzZSBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzIGluIHRydWVcXG5cXG4vKipcXG4gKiBJbmplY3RzIGFuIG9yZGVyaW5nIG9mIHBsdWdpbnMgKGJ5IHBsdWdpbiBuYW1lKS4gVGhpcyBhbGxvd3MgdGhlIG9yZGVyaW5nXFxuICogdG8gYmUgZGVjb3VwbGVkIGZyb20gaW5qZWN0aW9uIG9mIHRoZSBhY3R1YWwgcGx1Z2lucyBzbyB0aGF0IG9yZGVyaW5nIGlzXFxuICogYWx3YXlzIGRldGVybWluaXN0aWMgcmVnYXJkbGVzcyBvZiBwYWNrYWdpbmcsIG9uLXRoZS1mbHkgaW5qZWN0aW9uLCBldGMuXFxuICpcXG4gKiBAcGFyYW0ge2FycmF5fSBJbmplY3RlZEV2ZW50UGx1Z2luT3JkZXJcXG4gKiBAaW50ZXJuYWxcXG4gKi9cXG5cXG5mdW5jdGlvbiBpbmplY3RFdmVudFBsdWdpbk9yZGVyKGluamVjdGVkRXZlbnRQbHVnaW5PcmRlcikge1xcbiAgaWYgKCEhZXZlbnRQbHVnaW5PcmRlcikge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFdmVudFBsdWdpblJlZ2lzdHJ5OiBDYW5ub3QgaW5qZWN0IGV2ZW50IHBsdWdpbiBvcmRlcmluZyBtb3JlIHRoYW4gb25jZS4gWW91IGFyZSBsaWtlbHkgdHJ5aW5nIHRvIGxvYWQgbW9yZSB0aGFuIG9uZSBjb3B5IG9mIFJlYWN0LlxcXCIgKTtcXG4gICAgfVxcbiAgfSAvLyBDbG9uZSB0aGUgb3JkZXJpbmcgc28gaXQgY2Fubm90IGJlIGR5bmFtaWNhbGx5IG11dGF0ZWQuXFxuXFxuXFxuICBldmVudFBsdWdpbk9yZGVyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoaW5qZWN0ZWRFdmVudFBsdWdpbk9yZGVyKTtcXG4gIHJlY29tcHV0ZVBsdWdpbk9yZGVyaW5nKCk7XFxufVxcbi8qKlxcbiAqIEluamVjdHMgcGx1Z2lucyB0byBiZSB1c2VkIGJ5IHBsdWdpbiBldmVudCBzeXN0ZW0uIFRoZSBwbHVnaW4gbmFtZXMgbXVzdCBiZVxcbiAqIGluIHRoZSBvcmRlcmluZyBpbmplY3RlZCBieSBgaW5qZWN0RXZlbnRQbHVnaW5PcmRlcmAuXFxuICpcXG4gKiBQbHVnaW5zIGNhbiBiZSBpbmplY3RlZCBhcyBwYXJ0IG9mIHBhZ2UgaW5pdGlhbGl6YXRpb24gb3Igb24tdGhlLWZseS5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBpbmplY3RlZE5hbWVzVG9QbHVnaW5zIE1hcCBmcm9tIG5hbWVzIHRvIHBsdWdpbiBtb2R1bGVzLlxcbiAqIEBpbnRlcm5hbFxcbiAqL1xcblxcbmZ1bmN0aW9uIGluamVjdEV2ZW50UGx1Z2luc0J5TmFtZShpbmplY3RlZE5hbWVzVG9QbHVnaW5zKSB7XFxuICB2YXIgaXNPcmRlcmluZ0RpcnR5ID0gZmFsc2U7XFxuXFxuICBmb3IgKHZhciBwbHVnaW5OYW1lIGluIGluamVjdGVkTmFtZXNUb1BsdWdpbnMpIHtcXG4gICAgaWYgKCFpbmplY3RlZE5hbWVzVG9QbHVnaW5zLmhhc093blByb3BlcnR5KHBsdWdpbk5hbWUpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIHBsdWdpbk1vZHVsZSA9IGluamVjdGVkTmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV07XFxuXFxuICAgIGlmICghbmFtZXNUb1BsdWdpbnMuaGFzT3duUHJvcGVydHkocGx1Z2luTmFtZSkgfHwgbmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV0gIT09IHBsdWdpbk1vZHVsZSkge1xcbiAgICAgIGlmICghIW5hbWVzVG9QbHVnaW5zW3BsdWdpbk5hbWVdKSB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiRXZlbnRQbHVnaW5SZWdpc3RyeTogQ2Fubm90IGluamVjdCB0d28gZGlmZmVyZW50IGV2ZW50IHBsdWdpbnMgdXNpbmcgdGhlIHNhbWUgbmFtZSwgYFxcXCIgKyBwbHVnaW5OYW1lICsgXFxcImAuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBuYW1lc1RvUGx1Z2luc1twbHVnaW5OYW1lXSA9IHBsdWdpbk1vZHVsZTtcXG4gICAgICBpc09yZGVyaW5nRGlydHkgPSB0cnVlO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAoaXNPcmRlcmluZ0RpcnR5KSB7XFxuICAgIHJlY29tcHV0ZVBsdWdpbk9yZGVyaW5nKCk7XFxuICB9XFxufVxcblxcbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcXG5cXG52YXIgUExVR0lOX0VWRU5UX1NZU1RFTSA9IDE7XFxudmFyIElTX1JFUExBWUVEID0gMSA8PCA1O1xcbnZhciBJU19GSVJTVF9BTkNFU1RPUiA9IDEgPDwgNjtcXG5cXG52YXIgcmVzdG9yZUltcGwgPSBudWxsO1xcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcXG52YXIgcmVzdG9yZVF1ZXVlID0gbnVsbDtcXG5cXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcXG4gIC8vIFdlIHBlcmZvcm0gdGhpcyB0cmFuc2xhdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBsb29wIHNvIHRoYXQgd2VcXG4gIC8vIGFsd2F5cyByZWNlaXZlIHRoZSBjb3JyZWN0IGZpYmVyIGhlcmVcXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xcblxcbiAgaWYgKCFpbnRlcm5hbEluc3RhbmNlKSB7XFxuICAgIC8vIFVubW91bnRlZFxcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoISh0eXBlb2YgcmVzdG9yZUltcGwgPT09ICdmdW5jdGlvbicpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcInNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbigpIG5lZWRzIHRvIGJlIGNhbGxlZCB0byBoYW5kbGUgYSB0YXJnZXQgZm9yIGNvbnRyb2xsZWQgZXZlbnRzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHN0YXRlTm9kZSA9IGludGVybmFsSW5zdGFuY2Uuc3RhdGVOb2RlOyAvLyBHdWFyZCBhZ2FpbnN0IEZpYmVyIGJlaW5nIHVubW91bnRlZC5cXG5cXG4gIGlmIChzdGF0ZU5vZGUpIHtcXG4gICAgdmFyIF9wcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUoc3RhdGVOb2RlKTtcXG5cXG4gICAgcmVzdG9yZUltcGwoaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGUsIGludGVybmFsSW5zdGFuY2UudHlwZSwgX3Byb3BzKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc2V0UmVzdG9yZUltcGxlbWVudGF0aW9uKGltcGwpIHtcXG4gIHJlc3RvcmVJbXBsID0gaW1wbDtcXG59XFxuZnVuY3Rpb24gZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpIHtcXG4gIGlmIChyZXN0b3JlVGFyZ2V0KSB7XFxuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcXG4gICAgICByZXN0b3JlUXVldWUucHVzaCh0YXJnZXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcXG4gIHJldHVybiByZXN0b3JlVGFyZ2V0ICE9PSBudWxsIHx8IHJlc3RvcmVRdWV1ZSAhPT0gbnVsbDtcXG59XFxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XFxuICBpZiAoIXJlc3RvcmVUYXJnZXQpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIHRhcmdldCA9IHJlc3RvcmVUYXJnZXQ7XFxuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcXG4gIHJlc3RvcmVUYXJnZXQgPSBudWxsO1xcbiAgcmVzdG9yZVF1ZXVlID0gbnVsbDtcXG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XFxuXFxuICBpZiAocXVldWVkVGFyZ2V0cykge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICByZXN0b3JlU3RhdGVPZlRhcmdldChxdWV1ZWRUYXJnZXRzW2ldKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgZW5hYmxlUHJvZmlsZXJUaW1lciA9IHRydWU7IC8vIFRyYWNlIHdoaWNoIGludGVyYWN0aW9ucyB0cmlnZ2VyIGVhY2ggY29tbWl0LlxcblxcbnZhciBlbmFibGVEZXByZWNhdGVkRmxhcmVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIEhvc3QgQ29tcG9uZW50IHN1cHBvcnQuXFxuXFxudmFyIGVuYWJsZUZ1bmRhbWVudGFsQVBJID0gZmFsc2U7IC8vIEV4cGVyaW1lbnRhbCBTY29wZSBzdXBwb3J0LlxcbnZhciB3YXJuQWJvdXRTdHJpbmdSZWZzID0gZmFsc2U7XFxuXFxuLy8gdGhlIHJlbmRlcmVyLiBTdWNoIGFzIHdoZW4gd2UncmUgZGlzcGF0Y2hpbmcgZXZlbnRzIG9yIGlmIHRoaXJkIHBhcnR5XFxuLy8gbGlicmFyaWVzIG5lZWQgdG8gY2FsbCBiYXRjaGVkVXBkYXRlcy4gRXZlbnR1YWxseSwgdGhpcyBBUEkgd2lsbCBnbyBhd2F5IHdoZW5cXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxcbi8vIHNjaGVkdWxlZCB3b3JrIGFuZCBpbnN0ZWFkIGRvIHN5bmNocm9ub3VzIHdvcmsuXFxuLy8gRGVmYXVsdHNcXG5cXG52YXIgYmF0Y2hlZFVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKGZuLCBib29ra2VlcGluZykge1xcbiAgcmV0dXJuIGZuKGJvb2trZWVwaW5nKTtcXG59O1xcblxcbnZhciBkaXNjcmV0ZVVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKGZuLCBhLCBiLCBjLCBkKSB7XFxuICByZXR1cm4gZm4oYSwgYiwgYywgZCk7XFxufTtcXG5cXG52YXIgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKCkge307XFxuXFxudmFyIGJhdGNoZWRFdmVudFVwZGF0ZXNJbXBsID0gYmF0Y2hlZFVwZGF0ZXNJbXBsO1xcbnZhciBpc0luc2lkZUV2ZW50SGFuZGxlciA9IGZhbHNlO1xcbnZhciBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gZmluaXNoRXZlbnRIYW5kbGVyKCkge1xcbiAgLy8gSGVyZSB3ZSB3YWl0IHVudGlsIGFsbCB1cGRhdGVzIGhhdmUgcHJvcGFnYXRlZCwgd2hpY2ggaXMgaW1wb3J0YW50XFxuICAvLyB3aGVuIHVzaW5nIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3aXRoaW4gbGF5ZXJzOlxcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNjk4XFxuICAvLyBUaGVuIHdlIHJlc3RvcmUgc3RhdGUgb2YgYW55IGNvbnRyb2xsZWQgY29tcG9uZW50LlxcbiAgdmFyIGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzID0gbmVlZHNTdGF0ZVJlc3RvcmUoKTtcXG5cXG4gIGlmIChjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcykge1xcbiAgICAvLyBJZiBhIGNvbnRyb2xsZWQgZXZlbnQgd2FzIGZpcmVkLCB3ZSBtYXkgbmVlZCB0byByZXN0b3JlIHRoZSBzdGF0ZSBvZlxcbiAgICAvLyB0aGUgRE9NIG5vZGUgYmFjayB0byB0aGUgY29udHJvbGxlZCB2YWx1ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiBSZWFjdFxcbiAgICAvLyBiYWlscyBvdXQgb2YgdGhlIHVwZGF0ZSB3aXRob3V0IHRvdWNoaW5nIHRoZSBET00uXFxuICAgIGZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbCgpO1xcbiAgICByZXN0b3JlU3RhdGVJZk5lZWRlZCgpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyhmbiwgYm9va2tlZXBpbmcpIHtcXG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xcbiAgICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5IGluc2lkZSBhbm90aGVyIGJhdGNoLCB3ZSBuZWVkIHRvIHdhaXQgdW50aWwgaXRcXG4gICAgLy8gZnVsbHkgY29tcGxldGVzIGJlZm9yZSByZXN0b3Jpbmcgc3RhdGUuXFxuICAgIHJldHVybiBmbihib29ra2VlcGluZyk7XFxuICB9XFxuXFxuICBpc0luc2lkZUV2ZW50SGFuZGxlciA9IHRydWU7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gYmF0Y2hlZFVwZGF0ZXNJbXBsKGZuLCBib29ra2VlcGluZyk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBpc0luc2lkZUV2ZW50SGFuZGxlciA9IGZhbHNlO1xcbiAgICBmaW5pc2hFdmVudEhhbmRsZXIoKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gYmF0Y2hlZEV2ZW50VXBkYXRlcyhmbiwgYSwgYikge1xcbiAgaWYgKGlzQmF0Y2hpbmdFdmVudFVwZGF0ZXMpIHtcXG4gICAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBpbnNpZGUgYW5vdGhlciBiYXRjaCwgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0XFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxcbiAgICByZXR1cm4gZm4oYSwgYik7XFxuICB9XFxuXFxuICBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gdHJ1ZTtcXG5cXG4gIHRyeSB7XFxuICAgIHJldHVybiBiYXRjaGVkRXZlbnRVcGRhdGVzSW1wbChmbiwgYSwgYik7XFxuICB9IGZpbmFsbHkge1xcbiAgICBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gZmFsc2U7XFxuICAgIGZpbmlzaEV2ZW50SGFuZGxlcigpO1xcbiAgfVxcbn0gLy8gVGhpcyBpcyBmb3IgdGhlIFJlYWN0IEZsYXJlIGV2ZW50IHN5c3RlbVxcbmZ1bmN0aW9uIGRpc2NyZXRlVXBkYXRlcyhmbiwgYSwgYiwgYywgZCkge1xcbiAgdmFyIHByZXZJc0luc2lkZUV2ZW50SGFuZGxlciA9IGlzSW5zaWRlRXZlbnRIYW5kbGVyO1xcbiAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSB0cnVlO1xcblxcbiAgdHJ5IHtcXG4gICAgcmV0dXJuIGRpc2NyZXRlVXBkYXRlc0ltcGwoZm4sIGEsIGIsIGMsIGQpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBwcmV2SXNJbnNpZGVFdmVudEhhbmRsZXI7XFxuXFxuICAgIGlmICghaXNJbnNpZGVFdmVudEhhbmRsZXIpIHtcXG4gICAgICBmaW5pc2hFdmVudEhhbmRsZXIoKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBmbHVzaERpc2NyZXRlVXBkYXRlc0lmTmVlZGVkKHRpbWVTdGFtcCkge1xcbiAgLy8gZXZlbnQudGltZVN0YW1wIGlzbid0IG92ZXJseSByZWxpYWJsZSBkdWUgdG8gaW5jb25zaXN0ZW5jaWVzIGluXFxuICAvLyBob3cgZGlmZmVyZW50IGJyb3dzZXJzIGhhdmUgaGlzdG9yaWNhbGx5IHByb3ZpZGVkIHRoZSB0aW1lIHN0YW1wLlxcbiAgLy8gU29tZSBicm93c2VycyBwcm92aWRlIGhpZ2gtcmVzb2x1dGlvbiB0aW1lIHN0YW1wcyBmb3IgYWxsIGV2ZW50cyxcXG4gIC8vIHNvbWUgcHJvdmlkZSBsb3ctcmVzb2x1dGlvbiB0aW1lIHN0YW1wcyBmb3IgYWxsIGV2ZW50cy4gRkYgPCA1MlxcbiAgLy8gZXZlbiBtaXhlcyBib3RoIHRpbWUgc3RhbXBzIHRvZ2V0aGVyLiBTb21lIGJyb3dzZXJzIGV2ZW4gcmVwb3J0XFxuICAvLyBuZWdhdGl2ZSB0aW1lIHN0YW1wcyBvciB0aW1lIHN0YW1wcyB0aGF0IGFyZSAwIChpT1M5KSBpbiBzb21lIGNhc2VzLlxcbiAgLy8gR2l2ZW4gd2UgYXJlIG9ubHkgY29tcGFyaW5nIHR3byB0aW1lIHN0YW1wcyB3aXRoIGVxdWFsaXR5ICghPT0pLFxcbiAgLy8gd2UgYXJlIHNhZmUgZnJvbSB0aGUgcmVzb2x1dGlvbiBkaWZmZXJlbmNlcy4gSWYgdGhlIHRpbWUgc3RhbXAgaXMgMFxcbiAgLy8gd2UgYmFpbC1vdXQgb2YgcHJldmVudGluZyB0aGUgZmx1c2gsIHdoaWNoIGNhbiBhZmZlY3Qgc2VtYW50aWNzLFxcbiAgLy8gc3VjaCBhcyBpZiBhbiBlYXJsaWVyIGZsdXNoIHJlbW92ZXMgb3IgYWRkcyBldmVudCBsaXN0ZW5lcnMgdGhhdFxcbiAgLy8gYXJlIGZpcmVkIGluIHRoZSBzdWJzZXF1ZW50IGZsdXNoLiBIb3dldmVyLCB0aGlzIGlzIHRoZSBzYW1lXFxuICAvLyBiZWhhdmlvdXIgYXMgd2UgaGFkIGJlZm9yZSB0aGlzIGNoYW5nZSwgc28gdGhlIHJpc2tzIGFyZSBsb3cuXFxuICBpZiAoIWlzSW5zaWRlRXZlbnRIYW5kbGVyICYmICghZW5hYmxlRGVwcmVjYXRlZEZsYXJlQVBJICApKSB7XFxuICAgIGZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbCgpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzZXRCYXRjaGluZ0ltcGxlbWVudGF0aW9uKF9iYXRjaGVkVXBkYXRlc0ltcGwsIF9kaXNjcmV0ZVVwZGF0ZXNJbXBsLCBfZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsLCBfYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGwpIHtcXG4gIGJhdGNoZWRVcGRhdGVzSW1wbCA9IF9iYXRjaGVkVXBkYXRlc0ltcGw7XFxuICBkaXNjcmV0ZVVwZGF0ZXNJbXBsID0gX2Rpc2NyZXRlVXBkYXRlc0ltcGw7XFxuICBmbHVzaERpc2NyZXRlVXBkYXRlc0ltcGwgPSBfZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsO1xcbiAgYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGwgPSBfYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGw7XFxufVxcblxcbnZhciBEaXNjcmV0ZUV2ZW50ID0gMDtcXG52YXIgVXNlckJsb2NraW5nRXZlbnQgPSAxO1xcbnZhciBDb250aW51b3VzRXZlbnQgPSAyO1xcblxcbi8vIEEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxcbi8vIEl0IGlzIGhhbmRsZWQgYnkgUmVhY3Qgc2VwYXJhdGVseSBhbmQgc2hvdWxkbid0IGJlIHdyaXR0ZW4gdG8gdGhlIERPTS5cXG52YXIgUkVTRVJWRUQgPSAwOyAvLyBBIHNpbXBsZSBzdHJpbmcgYXR0cmlidXRlLlxcbi8vIEF0dHJpYnV0ZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIHdoaXRlbGlzdCBhcmUgcHJlc3VtZWQgdG8gaGF2ZSB0aGlzIHR5cGUuXFxuXFxudmFyIFNUUklORyA9IDE7IC8vIEEgc3RyaW5nIGF0dHJpYnV0ZSB0aGF0IGFjY2VwdHMgYm9vbGVhbnMgaW4gUmVhY3QuIEluIEhUTUwsIHRoZXNlIGFyZSBjYWxsZWRcXG4vLyBcXFwiZW51bWVyYXRlZFxcXCIgYXR0cmlidXRlcyB3aXRoIFxcXCJ0cnVlXFxcIiBhbmQgXFxcImZhbHNlXFxcIiBhcyBwb3NzaWJsZSB2YWx1ZXMuXFxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXFxcInRydWVcXFwiIHN0cmluZy5cXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXFxcImZhbHNlXFxcIiBzdHJpbmcuXFxuXFxudmFyIEJPT0xFQU5JU0hfU1RSSU5HID0gMjsgLy8gQSByZWFsIGJvb2xlYW4gYXR0cmlidXRlLlxcbi8vIFdoZW4gdHJ1ZSwgaXQgc2hvdWxkIGJlIHByZXNlbnQgKHNldCBlaXRoZXIgdG8gYW4gZW1wdHkgc3RyaW5nIG9yIGl0cyBuYW1lKS5cXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgb21pdHRlZC5cXG5cXG52YXIgQk9PTEVBTiA9IDM7IC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgZmxhZyBhcyB3ZWxsIGFzIHdpdGggYSB2YWx1ZS5cXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBwcmVzZW50IChzZXQgZWl0aGVyIHRvIGFuIGVtcHR5IHN0cmluZyBvciBpdHMgbmFtZSkuXFxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXFxuLy8gRm9yIGFueSBvdGhlciB2YWx1ZSwgc2hvdWxkIGJlIHByZXNlbnQgd2l0aCB0aGF0IHZhbHVlLlxcblxcbnZhciBPVkVSTE9BREVEX0JPT0xFQU4gPSA0OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBudW1lcmljLlxcbi8vIFdoZW4gZmFsc3ksIGl0IHNob3VsZCBiZSByZW1vdmVkLlxcblxcbnZhciBOVU1FUklDID0gNTsgLy8gQW4gYXR0cmlidXRlIHRoYXQgbXVzdCBiZSBwb3NpdGl2ZSBudW1lcmljIG9yIHBhcnNlIGFzIGEgcG9zaXRpdmUgbnVtZXJpYy5cXG4vLyBXaGVuIGZhbHN5LCBpdCBzaG91bGQgYmUgcmVtb3ZlZC5cXG5cXG52YXIgUE9TSVRJVkVfTlVNRVJJQyA9IDY7XFxuXFxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xcbnZhciBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSID0gXFxcIjpBLVpfYS16XFxcXFxcXFx1MDBDMC1cXFxcXFxcXHUwMEQ2XFxcXFxcXFx1MDBEOC1cXFxcXFxcXHUwMEY2XFxcXFxcXFx1MDBGOC1cXFxcXFxcXHUwMkZGXFxcXFxcXFx1MDM3MC1cXFxcXFxcXHUwMzdEXFxcXFxcXFx1MDM3Ri1cXFxcXFxcXHUxRkZGXFxcXFxcXFx1MjAwQy1cXFxcXFxcXHUyMDBEXFxcXFxcXFx1MjA3MC1cXFxcXFxcXHUyMThGXFxcXFxcXFx1MkMwMC1cXFxcXFxcXHUyRkVGXFxcXFxcXFx1MzAwMS1cXFxcXFxcXHVEN0ZGXFxcXFxcXFx1RjkwMC1cXFxcXFxcXHVGRENGXFxcXFxcXFx1RkRGMC1cXFxcXFxcXHVGRkZEXFxcIjtcXG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cXG5cXG52YXIgQVRUUklCVVRFX05BTUVfQ0hBUiA9IEFUVFJJQlVURV9OQU1FX1NUQVJUX0NIQVIgKyBcXFwiXFxcXFxcXFwtLjAtOVxcXFxcXFxcdTAwQjdcXFxcXFxcXHUwMzAwLVxcXFxcXFxcdTAzNkZcXFxcXFxcXHUyMDNGLVxcXFxcXFxcdTIwNDBcXFwiO1xcbnZhciBST09UX0FUVFJJQlVURV9OQU1FID0gJ2RhdGEtcmVhY3Ryb290JztcXG52YXIgVkFMSURfQVRUUklCVVRFX05BTUVfUkVHRVggPSBuZXcgUmVnRXhwKCdeWycgKyBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgJ11bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJyk7XFxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG52YXIgaWxsZWdhbEF0dHJpYnV0ZU5hbWVDYWNoZSA9IHt9O1xcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcXG5mdW5jdGlvbiBpc0F0dHJpYnV0ZU5hbWVTYWZlKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbGlkYXRlZEF0dHJpYnV0ZU5hbWVDYWNoZSwgYXR0cmlidXRlTmFtZSkpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICBpZiAoVkFMSURfQVRUUklCVVRFX05BTUVfUkVHRVgudGVzdChhdHRyaWJ1dGVOYW1lKSkge1xcbiAgICB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xcblxcbiAge1xcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG5mdW5jdGlvbiBzaG91bGRJZ25vcmVBdHRyaWJ1dGUobmFtZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xcbiAgICByZXR1cm4gcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEO1xcbiAgfVxcblxcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmIChuYW1lLmxlbmd0aCA+IDIgJiYgKG5hbWVbMF0gPT09ICdvJyB8fCBuYW1lWzBdID09PSAnTycpICYmIChuYW1lWzFdID09PSAnbicgfHwgbmFtZVsxXSA9PT0gJ04nKSkge1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuZnVuY3Rpb24gc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XFxuICAgIGNhc2UgJ2Z1bmN0aW9uJzogLy8gJEZsb3dJc3N1ZSBzeW1ib2wgaXMgcGVyZmVjdGx5IHZhbGlkIGhlcmVcXG5cXG4gICAgY2FzZSAnc3ltYm9sJzpcXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXFxuICAgICAgcmV0dXJuIHRydWU7XFxuXFxuICAgIGNhc2UgJ2Jvb2xlYW4nOlxcbiAgICAgIHtcXG4gICAgICAgIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAocHJvcGVydHlJbmZvICE9PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHZhciBwcmVmaXggPSBuYW1lLnRvTG93ZXJDYXNlKCkuc2xpY2UoMCwgNSk7XFxuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcXG4gICAgc3dpdGNoIChwcm9wZXJ0eUluZm8udHlwZSkge1xcbiAgICAgIGNhc2UgQk9PTEVBTjpcXG4gICAgICAgIHJldHVybiAhdmFsdWU7XFxuXFxuICAgICAgY2FzZSBPVkVSTE9BREVEX0JPT0xFQU46XFxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IGZhbHNlO1xcblxcbiAgICAgIGNhc2UgTlVNRVJJQzpcXG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSk7XFxuXFxuICAgICAgY2FzZSBQT1NJVElWRV9OVU1FUklDOlxcbiAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA8IDE7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuZnVuY3Rpb24gZ2V0UHJvcGVydHlJbmZvKG5hbWUpIHtcXG4gIHJldHVybiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KG5hbWUpID8gcHJvcGVydGllc1tuYW1lXSA6IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCB0eXBlLCBtdXN0VXNlUHJvcGVydHksIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZU5hbWVzcGFjZSwgc2FuaXRpemVVUkwpIHtcXG4gIHRoaXMuYWNjZXB0c0Jvb2xlYW5zID0gdHlwZSA9PT0gQk9PTEVBTklTSF9TVFJJTkcgfHwgdHlwZSA9PT0gQk9PTEVBTiB8fCB0eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU47XFxuICB0aGlzLmF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGVOYW1lO1xcbiAgdGhpcy5hdHRyaWJ1dGVOYW1lc3BhY2UgPSBhdHRyaWJ1dGVOYW1lc3BhY2U7XFxuICB0aGlzLm11c3RVc2VQcm9wZXJ0eSA9IG11c3RVc2VQcm9wZXJ0eTtcXG4gIHRoaXMucHJvcGVydHlOYW1lID0gbmFtZTtcXG4gIHRoaXMudHlwZSA9IHR5cGU7XFxuICB0aGlzLnNhbml0aXplVVJMID0gc2FuaXRpemVVUkw7XFxufSAvLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoaXMgbGlzdCwgYmUgc3VyZSB0byBhbHNvIGFkZCB0aGVtIHRvXFxuLy8gdGhlIGBwb3NzaWJsZVN0YW5kYXJkTmFtZXNgIG1vZHVsZSB0byBlbnN1cmUgY2FzaW5nIGFuZCBpbmNvcnJlY3RcXG4vLyBuYW1lIHdhcm5pbmdzLlxcblxcblxcbnZhciBwcm9wZXJ0aWVzID0ge307IC8vIFRoZXNlIHByb3BzIGFyZSByZXNlcnZlZCBieSBSZWFjdC4gVGhleSBzaG91bGRuJ3QgYmUgd3JpdHRlbiB0byB0aGUgRE9NLlxcblxcbnZhciByZXNlcnZlZFByb3BzID0gWydjaGlsZHJlbicsICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsIC8vIFRPRE86IFRoaXMgcHJldmVudHMgdGhlIGFzc2lnbm1lbnQgb2YgZGVmYXVsdFZhbHVlIHRvIHJlZ3VsYXJcXG4vLyBlbGVtZW50cyAobm90IGp1c3QgaW5wdXRzKS4gTm93IHRoYXQgUmVhY3RET01JbnB1dCBhc3NpZ25zIHRvIHRoZVxcbi8vIGRlZmF1bHRWYWx1ZSBwcm9wZXJ0eSAtLSBkbyB3ZSBuZWVkIHRoaXM/XFxuJ2RlZmF1bHRWYWx1ZScsICdkZWZhdWx0Q2hlY2tlZCcsICdpbm5lckhUTUwnLCAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJywgJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsICdzdHlsZSddO1xcblxcbnJlc2VydmVkUHJvcHMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgUkVTRVJWRUQsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxcbiAgZmFsc2UpO1xcbn0pOyAvLyBBIGZldyBSZWFjdCBzdHJpbmcgYXR0cmlidXRlcyBoYXZlIGEgZGlmZmVyZW50IG5hbWUuXFxuLy8gVGhpcyBpcyBhIG1hcHBpbmcgZnJvbSBSZWFjdCBwcm9wIG5hbWVzIHRvIHRoZSBhdHRyaWJ1dGUgbmFtZXMuXFxuXFxuW1snYWNjZXB0Q2hhcnNldCcsICdhY2NlcHQtY2hhcnNldCddLCBbJ2NsYXNzTmFtZScsICdjbGFzcyddLCBbJ2h0bWxGb3InLCAnZm9yJ10sIFsnaHR0cEVxdWl2JywgJ2h0dHAtZXF1aXYnXV0uZm9yRWFjaChmdW5jdGlvbiAoX3JlZikge1xcbiAgdmFyIG5hbWUgPSBfcmVmWzBdLFxcbiAgICAgIGF0dHJpYnV0ZU5hbWUgPSBfcmVmWzFdO1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBhdHRyaWJ1dGVOYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIFxcXCJlbnVtZXJhdGVkXFxcIiBIVE1MIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXFxcInRydWVcXFwiIGFuZCBcXFwiZmFsc2VcXFwiLlxcbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcXG4vLyB0aGVzZSBhcmVuJ3QgYm9vbGVhbiBhdHRyaWJ1dGVzICh0aGV5IGFyZSBjb2VyY2VkIHRvIHN0cmluZ3MpLlxcblxcblsnY29udGVudEVkaXRhYmxlJywgJ2RyYWdnYWJsZScsICdzcGVsbENoZWNrJywgJ3ZhbHVlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTklTSF9TVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFRoZXNlIGFyZSBcXFwiZW51bWVyYXRlZFxcXCIgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXFxcInRydWVcXFwiIGFuZCBcXFwiZmFsc2VcXFwiLlxcbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcXG4vLyB0aGVzZSBhcmVuJ3QgYm9vbGVhbiBhdHRyaWJ1dGVzICh0aGV5IGFyZSBjb2VyY2VkIHRvIHN0cmluZ3MpLlxcbi8vIFNpbmNlIHRoZXNlIGFyZSBTVkcgYXR0cmlidXRlcywgdGhlaXIgYXR0cmlidXRlIG5hbWVzIGFyZSBjYXNlLXNlbnNpdGl2ZS5cXG5cXG5bJ2F1dG9SZXZlcnNlJywgJ2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQnLCAnZm9jdXNhYmxlJywgJ3ByZXNlcnZlQWxwaGEnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOSVNIX1NUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFRoZXNlIGFyZSBIVE1MIGJvb2xlYW4gYXR0cmlidXRlcy5cXG5cXG5bJ2FsbG93RnVsbFNjcmVlbicsICdhc3luYycsIC8vIE5vdGU6IHRoZXJlIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgcHJldmVudHMgaXQgZnJvbSBiZWluZyB3cml0dGVuIHRvIHRoZSBET01cXG4vLyBvbiB0aGUgY2xpZW50IHNpZGUgYmVjYXVzZSB0aGUgYnJvd3NlcnMgYXJlIGluY29uc2lzdGVudC4gSW5zdGVhZCB3ZSBjYWxsIGZvY3VzKCkuXFxuJ2F1dG9Gb2N1cycsICdhdXRvUGxheScsICdjb250cm9scycsICdkZWZhdWx0JywgJ2RlZmVyJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVQaWN0dXJlSW5QaWN0dXJlJywgJ2Zvcm1Ob1ZhbGlkYXRlJywgJ2hpZGRlbicsICdsb29wJywgJ25vTW9kdWxlJywgJ25vVmFsaWRhdGUnLCAnb3BlbicsICdwbGF5c0lubGluZScsICdyZWFkT25seScsICdyZXF1aXJlZCcsICdyZXZlcnNlZCcsICdzY29wZWQnLCAnc2VhbWxlc3MnLCAvLyBNaWNyb2RhdGFcXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTiwgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgbmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIHRoZSBmZXcgUmVhY3QgcHJvcHMgdGhhdCB3ZSBzZXQgYXMgRE9NIHByb3BlcnRpZXNcXG4vLyByYXRoZXIgdGhhbiBhdHRyaWJ1dGVzLiBUaGVzZSBhcmUgYWxsIGJvb2xlYW5zLlxcblxcblsnY2hlY2tlZCcsIC8vIE5vdGU6IGBvcHRpb24uc2VsZWN0ZWRgIGlzIG5vdCB1cGRhdGVkIGlmIGBzZWxlY3QubXVsdGlwbGVgIGlzXFxuLy8gZGlzYWJsZWQgd2l0aCBgcmVtb3ZlQXR0cmlidXRlYC4gV2UgaGF2ZSBzcGVjaWFsIGxvZ2ljIGZvciBoYW5kbGluZyB0aGlzLlxcbidtdWx0aXBsZScsICdtdXRlZCcsICdzZWxlY3RlZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXFxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcXG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU4sIHRydWUsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFRoZXNlIGFyZSBIVE1MIGF0dHJpYnV0ZXMgdGhhdCBhcmUgXFxcIm92ZXJsb2FkZWQgYm9vbGVhbnNcXFwiOiB0aGV5IGJlaGF2ZSBsaWtlXFxuLy8gYm9vbGVhbnMsIGJ1dCBjYW4gYWxzbyBhY2NlcHQgYSBzdHJpbmcgdmFsdWUuXFxuXFxuWydjYXB0dXJlJywgJ2Rvd25sb2FkJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93Llxcbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgT1ZFUkxPQURFRF9CT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cXG5cXG5bJ2NvbHMnLCAncm93cycsICdzaXplJywgJ3NwYW4nIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXFxuXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgbnVtYmVycy5cXG5cXG5bJ3Jvd1NwYW4nLCAnc3RhcnQnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBOVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBuYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxcbiAgZmFsc2UpO1xcbn0pO1xcbnZhciBDQU1FTElaRSA9IC9bXFxcXC1cXFxcOl0oW2Etel0pL2c7XFxuXFxudmFyIGNhcGl0YWxpemUgPSBmdW5jdGlvbiAodG9rZW4pIHtcXG4gIHJldHVybiB0b2tlblsxXS50b1VwcGVyQ2FzZSgpO1xcbn07IC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBTVkcgYXR0cmlidXRlcyB0aGF0IG5lZWQgc3BlY2lhbCBjYXNpbmcsIG5hbWVzcGFjaW5nLFxcbi8vIG9yIGJvb2xlYW4gdmFsdWUgYXNzaWdubWVudC4gUmVndWxhciBhdHRyaWJ1dGVzIHRoYXQganVzdCBhY2NlcHQgc3RyaW5nc1xcbi8vIGFuZCBoYXZlIHRoZSBzYW1lIG5hbWVzIGFyZSBvbWl0dGVkLCBqdXN0IGxpa2UgaW4gdGhlIEhUTUwgd2hpdGVsaXN0Llxcbi8vIFNvbWUgb2YgdGhlc2UgYXR0cmlidXRlcyBjYW4gYmUgaGFyZCB0byBmaW5kLiBUaGlzIGxpc3Qgd2FzIGNyZWF0ZWQgYnlcXG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXFxuXFxuXFxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXFxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcXG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFN0cmluZyBTVkcgYXR0cmlidXRlcyB3aXRoIHRoZSB4bGluayBuYW1lc3BhY2UuXFxuXFxuWyd4bGluazphY3R1YXRlJywgJ3hsaW5rOmFyY3JvbGUnLCAneGxpbms6cm9sZScsICd4bGluazpzaG93JywgJ3hsaW5rOnRpdGxlJywgJ3hsaW5rOnR5cGUnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXFxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XFxuICB2YXIgbmFtZSA9IGF0dHJpYnV0ZU5hbWUucmVwbGFjZShDQU1FTElaRSwgY2FwaXRhbGl6ZSk7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgZmFsc2UpO1xcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeG1sIG5hbWVzcGFjZS5cXG5cXG5bJ3htbDpiYXNlJywgJ3htbDpsYW5nJywgJ3htbDpzcGFjZScgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXFxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcXG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgYXR0cmlidXRlTmFtZSwgJ2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZScsIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXR0cmlidXRlIGV4aXN0cyBib3RoIGluIEhUTUwgYW5kIFNWRy5cXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXFxuLy8gdGhlIFJlYWN0IG5hbWUgbGlrZSB3ZSBkbyBmb3IgYXR0cmlidXRlcyB0aGF0IGV4aXN0IG9ubHkgaW4gSFRNTC5cXG5cXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xcbiAgcHJvcGVydGllc1thdHRyaWJ1dGVOYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQoYXR0cmlidXRlTmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxcbiAgZmFsc2UpO1xcbn0pOyAvLyBUaGVzZSBhdHRyaWJ1dGVzIGFjY2VwdCBVUkxzLiBUaGVzZSBtdXN0IG5vdCBhbGxvdyBqYXZhc2NyaXB0OiBVUkxTLlxcbi8vIFRoZXNlIHdpbGwgYWxzbyBuZWVkIHRvIGFjY2VwdCBUcnVzdGVkIFR5cGVzIG9iamVjdCBpbiB0aGUgZnV0dXJlLlxcblxcbnZhciB4bGlua0hyZWYgPSAneGxpbmtIcmVmJztcXG5wcm9wZXJ0aWVzW3hsaW5rSHJlZl0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKCd4bGlua0hyZWYnLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4neGxpbms6aHJlZicsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgdHJ1ZSk7XFxuWydzcmMnLCAnaHJlZicsICdhY3Rpb24nLCAnZm9ybUFjdGlvbiddLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIHRydWUpO1xcbn0pO1xcblxcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gbnVsbDtcXG5cXG57XFxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcXG59IC8vIEEgamF2YXNjcmlwdDogVVJMIGNhbiBjb250YWluIGxlYWRpbmcgQzAgY29udHJvbCBvciBcXFxcdTAwMjAgU1BBQ0UsXFxuLy8gYW5kIGFueSBuZXdsaW5lIG9yIHRhYiBhcmUgZmlsdGVyZWQgb3V0IGFzIGlmIHRoZXkncmUgbm90IHBhcnQgb2YgdGhlIFVSTC5cXG4vLyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybC1wYXJzaW5nXFxuLy8gVGFiIG9yIG5ld2xpbmUgYXJlIGRlZmluZWQgYXMgXFxcXHJcXFxcblxcXFx0Olxcbi8vIGh0dHBzOi8vaW5mcmEuc3BlYy53aGF0d2cub3JnLyNhc2NpaS10YWItb3ItbmV3bGluZVxcbi8vIEEgQzAgY29udHJvbCBpcyBhIGNvZGUgcG9pbnQgaW4gdGhlIHJhbmdlIFxcXFx1MDAwMCBOVUxMIHRvIFxcXFx1MDAxRlxcbi8vIElORk9STUFUSU9OIFNFUEFSQVRPUiBPTkUsIGluY2x1c2l2ZTpcXG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYzAtY29udHJvbC1vci1zcGFjZVxcblxcbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cXG5cXG5cXG52YXIgaXNKYXZhU2NyaXB0UHJvdG9jb2wgPSAvXltcXFxcdTAwMDAtXFxcXHUwMDFGIF0qaltcXFxcclxcXFxuXFxcXHRdKmFbXFxcXHJcXFxcblxcXFx0XSp2W1xcXFxyXFxcXG5cXFxcdF0qYVtcXFxcclxcXFxuXFxcXHRdKnNbXFxcXHJcXFxcblxcXFx0XSpjW1xcXFxyXFxcXG5cXFxcdF0qcltcXFxcclxcXFxuXFxcXHRdKmlbXFxcXHJcXFxcblxcXFx0XSpwW1xcXFxyXFxcXG5cXFxcdF0qdFtcXFxcclxcXFxuXFxcXHRdKlxcXFw6L2k7XFxudmFyIGRpZFdhcm4gPSBmYWxzZTtcXG5cXG5mdW5jdGlvbiBzYW5pdGl6ZVVSTCh1cmwpIHtcXG4gIHtcXG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xcbiAgICAgIGRpZFdhcm4gPSB0cnVlO1xcblxcbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vKipcXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXFxuICogVGhlIFxcXCJleHBlY3RlZFxcXCIgYXJndW1lbnQgaXMgdXNlZCBhcyBhIGhpbnQgb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgdmFsdWUgaXMuXFxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXFxuICovXFxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JQcm9wZXJ0eShub2RlLCBuYW1lLCBleHBlY3RlZCwgcHJvcGVydHlJbmZvKSB7XFxuICB7XFxuICAgIGlmIChwcm9wZXJ0eUluZm8ubXVzdFVzZVByb3BlcnR5KSB7XFxuICAgICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XFxuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAoIHByb3BlcnR5SW5mby5zYW5pdGl6ZVVSTCkge1xcbiAgICAgICAgLy8gSWYgd2UgaGF2ZW4ndCBmdWxseSBkaXNhYmxlZCBqYXZhc2NyaXB0OiBVUkxzLCBhbmQgaWZcXG4gICAgICAgIC8vIHRoZSBoeWRyYXRpb24gaXMgc3VjY2Vzc2Z1bCBvZiBhIGphdmFzY3JpcHQ6IFVSTCwgd2VcXG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdG8gd2FybiBvbiB0aGUgY2xpZW50LlxcbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XFxuICAgICAgdmFyIHN0cmluZ1ZhbHVlID0gbnVsbDtcXG5cXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xcbiAgICAgICAgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XFxuICAgICAgICAgIHZhciB2YWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xcblxcbiAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKHNob3VsZFJlbW92ZUF0dHJpYnV0ZShuYW1lLCBleHBlY3RlZCwgcHJvcGVydHlJbmZvLCBmYWxzZSkpIHtcXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XFxuICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XFxuICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xcbiAgICAgICAgICAvLyBXZSBoYWQgYW4gYXR0cmlidXRlIGJ1dCBzaG91bGRuJ3QgaGF2ZSBoYWQgb25lLCBzbyByZWFkIGl0XFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cXG4gICAgICAgICAgcmV0dXJuIG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKHByb3BlcnR5SW5mby50eXBlID09PSBCT09MRUFOKSB7XFxuICAgICAgICAgIC8vIElmIHRoaXMgd2FzIGEgYm9vbGVhbiwgaXQgZG9lc24ndCBtYXR0ZXIgd2hhdCB0aGUgdmFsdWUgaXNcXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cXG4gICAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xcbiAgICAgICAgfSAvLyBFdmVuIGlmIHRoaXMgcHJvcGVydHkgdXNlcyBhIG5hbWVzcGFjZSB3ZSB1c2UgZ2V0QXR0cmlidXRlXFxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXFxuICAgICAgICAvLyBUbyB1c2UgZ2V0QXR0cmlidXRlTlMgd2UgbmVlZCB0aGUgbG9jYWwgbmFtZSB3aGljaCB3ZSBkb24ndCBoYXZlXFxuICAgICAgICAvLyBpbiBvdXIgY29uZmlnIGF0bS5cXG5cXG5cXG4gICAgICAgIHN0cmluZ1ZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XFxuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlO1xcbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcXG4gICAgICAgIHJldHVybiBleHBlY3RlZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxcbiAqIFRoZSB0aGlyZCBhcmd1bWVudCBpcyB1c2VkIGFzIGEgaGludCBvZiB3aGF0IHRoZSBleHBlY3RlZCB2YWx1ZSBpcy4gU29tZVxcbiAqIGF0dHJpYnV0ZXMgaGF2ZSBtdWx0aXBsZSBlcXVpdmFsZW50IHZhbHVlcy5cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRWYWx1ZUZvckF0dHJpYnV0ZShub2RlLCBuYW1lLCBleHBlY3RlZCkge1xcbiAge1xcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaWYgKCFub2RlLmhhc0F0dHJpYnV0ZShuYW1lKSkge1xcbiAgICAgIHJldHVybiBleHBlY3RlZCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShuYW1lKTtcXG5cXG4gICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XFxuICAgICAgcmV0dXJuIGV4cGVjdGVkO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB2YWx1ZTtcXG4gIH1cXG59XFxuLyoqXFxuICogU2V0cyB0aGUgdmFsdWUgZm9yIGEgcHJvcGVydHkgb24gYSBub2RlLlxcbiAqXFxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcXG4gKiBAcGFyYW0geyp9IHZhbHVlXFxuICovXFxuXFxuZnVuY3Rpb24gc2V0VmFsdWVGb3JQcm9wZXJ0eShub2RlLCBuYW1lLCB2YWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8obmFtZSk7XFxuXFxuICBpZiAoc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XFxuICAgIHZhbHVlID0gbnVsbDtcXG4gIH0gLy8gSWYgdGhlIHByb3AgaXNuJ3QgaW4gdGhlIHNwZWNpYWwgbGlzdCwgdHJlYXQgaXQgYXMgYSBzaW1wbGUgYXR0cmlidXRlLlxcblxcblxcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xcbiAgICBpZiAoaXNBdHRyaWJ1dGVOYW1lU2FmZShuYW1lKSkge1xcbiAgICAgIHZhciBfYXR0cmlidXRlTmFtZSA9IG5hbWU7XFxuXFxuICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XFxuICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShfYXR0cmlidXRlTmFtZSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKF9hdHRyaWJ1dGVOYW1lLCAgJycgKyB2YWx1ZSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBtdXN0VXNlUHJvcGVydHkgPSBwcm9wZXJ0eUluZm8ubXVzdFVzZVByb3BlcnR5O1xcblxcbiAgaWYgKG11c3RVc2VQcm9wZXJ0eSkge1xcbiAgICB2YXIgcHJvcGVydHlOYW1lID0gcHJvcGVydHlJbmZvLnByb3BlcnR5TmFtZTtcXG5cXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XFxuICAgICAgdmFyIHR5cGUgPSBwcm9wZXJ0eUluZm8udHlwZTtcXG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDb250cmFyeSB0byBgc2V0QXR0cmlidXRlYCwgb2JqZWN0IHByb3BlcnRpZXMgYXJlIHByb3Blcmx5XFxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxcbiAgICAgIG5vZGVbcHJvcGVydHlOYW1lXSA9IHZhbHVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybjtcXG4gIH0gLy8gVGhlIHJlc3QgYXJlIHRyZWF0ZWQgYXMgYXR0cmlidXRlcyB3aXRoIHNwZWNpYWwgY2FzZXMuXFxuXFxuXFxuICB2YXIgYXR0cmlidXRlTmFtZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lLFxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XFxuXFxuICBpZiAodmFsdWUgPT09IG51bGwpIHtcXG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgX3R5cGUgPSBwcm9wZXJ0eUluZm8udHlwZTtcXG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xcblxcbiAgICBpZiAoX3R5cGUgPT09IEJPT0xFQU4gfHwgX3R5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTiAmJiB2YWx1ZSA9PT0gdHJ1ZSkge1xcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcXG4gICAgICAvLyBhbmQgd2Ugd29uJ3QgcmVxdWlyZSBUcnVzdGVkIFR5cGUgaGVyZS5cXG4gICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIGBzZXRBdHRyaWJ1dGVgIHdpdGggb2JqZWN0cyBiZWNvbWVzIG9ubHkgYFtvYmplY3RdYCBpbiBJRTgvOSxcXG4gICAgICAvLyAoJycgKyB2YWx1ZSkgbWFrZXMgaXQgb3V0cHV0IHRoZSBjb3JyZWN0IHRvU3RyaW5nKCktdmFsdWUuXFxuICAgICAge1xcbiAgICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJyArIHZhbHVlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnNhbml0aXplVVJMKSB7XFxuICAgICAgICBzYW5pdGl6ZVVSTChhdHRyaWJ1dGVWYWx1ZS50b1N0cmluZygpKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xcbiAgICAgIG5vZGUuc2V0QXR0cmlidXRlTlMoYXR0cmlidXRlTmFtZXNwYWNlLCBhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbnZhciBCRUZPUkVfU0xBU0hfUkUgPSAvXiguKilbXFxcXFxcXFxcXFxcL10vO1xcbmZ1bmN0aW9uIGRlc2NyaWJlQ29tcG9uZW50RnJhbWUgKG5hbWUsIHNvdXJjZSwgb3duZXJOYW1lKSB7XFxuICB2YXIgc291cmNlSW5mbyA9ICcnO1xcblxcbiAgaWYgKHNvdXJjZSkge1xcbiAgICB2YXIgcGF0aCA9IHNvdXJjZS5maWxlTmFtZTtcXG4gICAgdmFyIGZpbGVOYW1lID0gcGF0aC5yZXBsYWNlKEJFRk9SRV9TTEFTSF9SRSwgJycpO1xcblxcbiAgICB7XFxuICAgICAgLy8gSW4gREVWLCBpbmNsdWRlIGNvZGUgZm9yIGEgY29tbW9uIHNwZWNpYWwgY2FzZTpcXG4gICAgICAvLyBwcmVmZXIgXFxcImZvbGRlci9pbmRleC5qc1xcXCIgaW5zdGVhZCBvZiBqdXN0IFxcXCJpbmRleC5qc1xcXCIuXFxuICAgICAgaWYgKC9eaW5kZXhcXFxcLi8udGVzdChmaWxlTmFtZSkpIHtcXG4gICAgICAgIHZhciBtYXRjaCA9IHBhdGgubWF0Y2goQkVGT1JFX1NMQVNIX1JFKTtcXG5cXG4gICAgICAgIGlmIChtYXRjaCkge1xcbiAgICAgICAgICB2YXIgcGF0aEJlZm9yZVNsYXNoID0gbWF0Y2hbMV07XFxuXFxuICAgICAgICAgIGlmIChwYXRoQmVmb3JlU2xhc2gpIHtcXG4gICAgICAgICAgICB2YXIgZm9sZGVyTmFtZSA9IHBhdGhCZWZvcmVTbGFzaC5yZXBsYWNlKEJFRk9SRV9TTEFTSF9SRSwgJycpO1xcbiAgICAgICAgICAgIGZpbGVOYW1lID0gZm9sZGVyTmFtZSArICcvJyArIGZpbGVOYW1lO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHNvdXJjZUluZm8gPSAnIChhdCAnICsgZmlsZU5hbWUgKyAnOicgKyBzb3VyY2UubGluZU51bWJlciArICcpJztcXG4gIH0gZWxzZSBpZiAob3duZXJOYW1lKSB7XFxuICAgIHNvdXJjZUluZm8gPSAnIChjcmVhdGVkIGJ5ICcgKyBvd25lck5hbWUgKyAnKSc7XFxuICB9XFxuXFxuICByZXR1cm4gJ1xcXFxuICAgIGluICcgKyAobmFtZSB8fCAnVW5rbm93bicpICsgc291cmNlSW5mbztcXG59XFxuXFxuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuIElmIHRoZXJlIGlzIG5vIG5hdGl2ZSBTeW1ib2xcXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXFxudmFyIGhhc1N5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcjtcXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIDogMHhlYWM3O1xcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKSA6IDB4ZWFjYjtcXG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJykgOiAweGVhY2M7XFxudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKSA6IDB4ZWFjZDtcXG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpIDogMHhlYWNlOyAvLyBUT0RPOiBXZSBkb24ndCB1c2UgQXN5bmNNb2RlIG9yIENvbmN1cnJlbnRNb2RlIGFueW1vcmUuIFRoZXkgd2VyZSB0ZW1wb3JhcnlcXG52YXIgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5jb25jdXJyZW50X21vZGUnKSA6IDB4ZWFjZjtcXG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJykgOiAweGVhZDA7XFxudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpIDogMHhlYWQxO1xcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0JykgOiAweGVhZDg7XFxudmFyIFJFQUNUX01FTU9fVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKSA6IDB4ZWFkMztcXG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubGF6eScpIDogMHhlYWQ0O1xcbnZhciBSRUFDVF9CTE9DS19UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuYmxvY2snKSA6IDB4ZWFkOTtcXG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaXRlcmF0b3I7XFxudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xcblxcbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbnZhciBVbmluaXRpYWxpemVkID0gLTE7XFxudmFyIFBlbmRpbmcgPSAwO1xcbnZhciBSZXNvbHZlZCA9IDE7XFxudmFyIFJlamVjdGVkID0gMjtcXG5mdW5jdGlvbiByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQobGF6eUNvbXBvbmVudCkge1xcbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQgPyBsYXp5Q29tcG9uZW50Ll9yZXN1bHQgOiBudWxsO1xcbn1cXG5mdW5jdGlvbiBpbml0aWFsaXplTGF6eUNvbXBvbmVudFR5cGUobGF6eUNvbXBvbmVudCkge1xcbiAgaWYgKGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xcbiAgICBsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPSBQZW5kaW5nO1xcbiAgICB2YXIgY3RvciA9IGxhenlDb21wb25lbnQuX2N0b3I7XFxuICAgIHZhciB0aGVuYWJsZSA9IGN0b3IoKTtcXG4gICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gdGhlbmFibGU7XFxuICAgIHRoZW5hYmxlLnRoZW4oZnVuY3Rpb24gKG1vZHVsZU9iamVjdCkge1xcbiAgICAgIGlmIChsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFBlbmRpbmcpIHtcXG4gICAgICAgIHZhciBkZWZhdWx0RXhwb3J0ID0gbW9kdWxlT2JqZWN0LmRlZmF1bHQ7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIGlmIChkZWZhdWx0RXhwb3J0ID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgICBlcnJvcignbGF6eTogRXhwZWN0ZWQgdGhlIHJlc3VsdCBvZiBhIGR5bmFtaWMgaW1wb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcXFxuXFxcXG5Zb3VyIGNvZGUgc2hvdWxkIGxvb2sgbGlrZTogXFxcXG4gICcgKyBcXFwiY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcG9ydCgnLi9NeUNvbXBvbmVudCcpKVxcXCIsIG1vZHVsZU9iamVjdCk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGxhenlDb21wb25lbnQuX3N0YXR1cyA9IFJlc29sdmVkO1xcbiAgICAgICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gZGVmYXVsdEV4cG9ydDtcXG4gICAgICB9XFxuICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xcbiAgICAgIGlmIChsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFBlbmRpbmcpIHtcXG4gICAgICAgIGxhenlDb21wb25lbnQuX3N0YXR1cyA9IFJlamVjdGVkO1xcbiAgICAgICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gZXJyb3I7XFxuICAgICAgfVxcbiAgICB9KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZ2V0V3JhcHBlZE5hbWUob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XFxuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xcbiAgcmV0dXJuIG91dGVyVHlwZS5kaXNwbGF5TmFtZSB8fCAoZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXFxcIihcXFwiICsgZnVuY3Rpb25OYW1lICsgXFxcIilcXFwiIDogd3JhcHBlck5hbWUpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKHR5cGUpIHtcXG4gIGlmICh0eXBlID09IG51bGwpIHtcXG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAge1xcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiB0eXBlO1xcbiAgfVxcblxcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcXG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcXG5cXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcXG4gICAgICByZXR1cm4gXFxcIlByb2ZpbGVyXFxcIjtcXG5cXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcXG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcXG5cXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XFxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcXG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcXG4gICAgICAgIHJldHVybiAnQ29udGV4dC5Db25zdW1lcic7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxcbiAgICAgICAgcmV0dXJuICdDb250ZXh0LlByb3ZpZGVyJztcXG5cXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnR5cGUpO1xcblxcbiAgICAgIGNhc2UgUkVBQ1RfQkxPQ0tfVFlQRTpcXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHR5cGUucmVuZGVyKTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIHRoZW5hYmxlID0gdHlwZTtcXG4gICAgICAgICAgdmFyIHJlc29sdmVkVGhlbmFibGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQodGhlbmFibGUpO1xcblxcbiAgICAgICAgICBpZiAocmVzb2x2ZWRUaGVuYWJsZSkge1xcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHJlc29sdmVkVGhlbmFibGUpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XFxuXFxuZnVuY3Rpb24gZGVzY3JpYmVGaWJlcihmaWJlcikge1xcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcXG4gICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICBjYXNlIEZyYWdtZW50OlxcbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XFxuICAgICAgcmV0dXJuICcnO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHZhciBvd25lciA9IGZpYmVyLl9kZWJ1Z093bmVyO1xcbiAgICAgIHZhciBzb3VyY2UgPSBmaWJlci5fZGVidWdTb3VyY2U7XFxuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpO1xcbiAgICAgIHZhciBvd25lck5hbWUgPSBudWxsO1xcblxcbiAgICAgIGlmIChvd25lcikge1xcbiAgICAgICAgb3duZXJOYW1lID0gZ2V0Q29tcG9uZW50TmFtZShvd25lci50eXBlKTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIGRlc2NyaWJlQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lck5hbWUpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2Qod29ya0luUHJvZ3Jlc3MpIHtcXG4gIHZhciBpbmZvID0gJyc7XFxuICB2YXIgbm9kZSA9IHdvcmtJblByb2dyZXNzO1xcblxcbiAgZG8ge1xcbiAgICBpbmZvICs9IGRlc2NyaWJlRmliZXIobm9kZSk7XFxuICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gIH0gd2hpbGUgKG5vZGUpO1xcblxcbiAgcmV0dXJuIGluZm87XFxufVxcbnZhciBjdXJyZW50ID0gbnVsbDtcXG52YXIgaXNSZW5kZXJpbmcgPSBmYWxzZTtcXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHtcXG4gIHtcXG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgb3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xcblxcbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgdHlwZW9mIG93bmVyICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuZnVuY3Rpb24gZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpIHtcXG4gIHtcXG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gJyc7XFxuICAgIH0gLy8gU2FmZSBiZWNhdXNlIGlmIGN1cnJlbnQgZmliZXIgZXhpc3RzLCB3ZSBhcmUgcmVjb25jaWxpbmcsXFxuICAgIC8vIGFuZCBpdCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSB3b3JrLWluLXByb2dyZXNzIHZlcnNpb24uXFxuXFxuXFxuICAgIHJldHVybiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoY3VycmVudCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc2V0Q3VycmVudEZpYmVyKCkge1xcbiAge1xcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcXG4gICAgY3VycmVudCA9IG51bGw7XFxuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHNldEN1cnJlbnRGaWJlcihmaWJlcikge1xcbiAge1xcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuZ2V0Q3VycmVudFN0YWNrID0gZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldjtcXG4gICAgY3VycmVudCA9IGZpYmVyO1xcbiAgICBpc1JlbmRlcmluZyA9IGZhbHNlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzZXRJc1JlbmRlcmluZyhyZW5kZXJpbmcpIHtcXG4gIHtcXG4gICAgaXNSZW5kZXJpbmcgPSByZW5kZXJpbmc7XFxuICB9XFxufVxcblxcbi8vIEZsb3cgZG9lcyBub3QgYWxsb3cgc3RyaW5nIGNvbmNhdGVuYXRpb24gb2YgbW9zdCBub24tc3RyaW5nIHR5cGVzLiBUbyB3b3JrXFxuLy8gYXJvdW5kIHRoaXMgbGltaXRhdGlvbiwgd2UgdXNlIGFuIG9wYXF1ZSB0eXBlIHRoYXQgY2FuIG9ubHkgYmUgb2J0YWluZWQgYnlcXG4vLyBwYXNzaW5nIHRoZSB2YWx1ZSB0aHJvdWdoIGdldFRvU3RyaW5nVmFsdWUgZmlyc3QuXFxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcXG4gIHJldHVybiAnJyArIHZhbHVlO1xcbn1cXG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XFxuICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xcbiAgICBjYXNlICdib29sZWFuJzpcXG4gICAgY2FzZSAnbnVtYmVyJzpcXG4gICAgY2FzZSAnb2JqZWN0JzpcXG4gICAgY2FzZSAnc3RyaW5nJzpcXG4gICAgY2FzZSAndW5kZWZpbmVkJzpcXG4gICAgICByZXR1cm4gdmFsdWU7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xcbiAgICAgIHJldHVybiAnJztcXG4gIH1cXG59XFxuXFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMiA9IG51bGw7XFxudmFyIFJlYWN0Q29udHJvbGxlZFZhbHVlUHJvcFR5cGVzID0ge1xcbiAgY2hlY2tQcm9wVHlwZXM6IG51bGxcXG59O1xcblxcbntcXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XFxuICB2YXIgaGFzUmVhZE9ubHlWYWx1ZSA9IHtcXG4gICAgYnV0dG9uOiB0cnVlLFxcbiAgICBjaGVja2JveDogdHJ1ZSxcXG4gICAgaW1hZ2U6IHRydWUsXFxuICAgIGhpZGRlbjogdHJ1ZSxcXG4gICAgcmFkaW86IHRydWUsXFxuICAgIHJlc2V0OiB0cnVlLFxcbiAgICBzdWJtaXQ6IHRydWVcXG4gIH07XFxuICB2YXIgcHJvcFR5cGVzID0ge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkge1xcbiAgICAgIGlmIChoYXNSZWFkT25seVZhbHVlW3Byb3BzLnR5cGVdIHx8IHByb3BzLm9uQ2hhbmdlIHx8IHByb3BzLnJlYWRPbmx5IHx8IHByb3BzLmRpc2FibGVkIHx8IHByb3BzW3Byb3BOYW1lXSA9PSBudWxsIHx8IGVuYWJsZURlcHJlY2F0ZWRGbGFyZUFQSSApIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gbmV3IEVycm9yKCdZb3UgcHJvdmlkZWQgYSBgdmFsdWVgIHByb3AgdG8gYSBmb3JtIGZpZWxkIHdpdGhvdXQgYW4gJyArICdgb25DaGFuZ2VgIGhhbmRsZXIuIFRoaXMgd2lsbCByZW5kZXIgYSByZWFkLW9ubHkgZmllbGQuIElmICcgKyAndGhlIGZpZWxkIHNob3VsZCBiZSBtdXRhYmxlIHVzZSBgZGVmYXVsdFZhbHVlYC4gT3RoZXJ3aXNlLCAnICsgJ3NldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xcbiAgICB9LFxcbiAgICBjaGVja2VkOiBmdW5jdGlvbiAocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lKSB7XFxuICAgICAgaWYgKHByb3BzLm9uQ2hhbmdlIHx8IHByb3BzLnJlYWRPbmx5IHx8IHByb3BzLmRpc2FibGVkIHx8IHByb3BzW3Byb3BOYW1lXSA9PSBudWxsIHx8IGVuYWJsZURlcHJlY2F0ZWRGbGFyZUFQSSApIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gbmV3IEVycm9yKCdZb3UgcHJvdmlkZWQgYSBgY2hlY2tlZGAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0Q2hlY2tlZGAuIE90aGVyd2lzZSwgJyArICdzZXQgZWl0aGVyIGBvbkNoYW5nZWAgb3IgYHJlYWRPbmx5YC4nKTtcXG4gICAgfVxcbiAgfTtcXG4gIC8qKlxcbiAgICogUHJvdmlkZSBhIGxpbmtlZCBgdmFsdWVgIGF0dHJpYnV0ZSBmb3IgY29udHJvbGxlZCBmb3Jtcy4gWW91IHNob3VsZCBub3QgdXNlXFxuICAgKiB0aGlzIG91dHNpZGUgb2YgdGhlIFJlYWN0RE9NIGNvbnRyb2xsZWQgZm9ybSBjb21wb25lbnRzLlxcbiAgICovXFxuXFxuICBSZWFjdENvbnRyb2xsZWRWYWx1ZVByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyA9IGZ1bmN0aW9uICh0YWdOYW1lLCBwcm9wcykge1xcbiAgICBjaGVja1Byb3BUeXBlcyhwcm9wVHlwZXMsIHByb3BzLCAncHJvcCcsIHRhZ05hbWUsIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMi5nZXRTdGFja0FkZGVuZHVtKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGlzQ2hlY2thYmxlKGVsZW0pIHtcXG4gIHZhciB0eXBlID0gZWxlbS50eXBlO1xcbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcXG4gIHJldHVybiBub2RlTmFtZSAmJiBub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW5wdXQnICYmICh0eXBlID09PSAnY2hlY2tib3gnIHx8IHR5cGUgPT09ICdyYWRpbycpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRUcmFja2VyKG5vZGUpIHtcXG4gIHJldHVybiBub2RlLl92YWx1ZVRyYWNrZXI7XFxufVxcblxcbmZ1bmN0aW9uIGRldGFjaFRyYWNrZXIobm9kZSkge1xcbiAgbm9kZS5fdmFsdWVUcmFja2VyID0gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0VmFsdWVGcm9tTm9kZShub2RlKSB7XFxuICB2YXIgdmFsdWUgPSAnJztcXG5cXG4gIGlmICghbm9kZSkge1xcbiAgICByZXR1cm4gdmFsdWU7XFxuICB9XFxuXFxuICBpZiAoaXNDaGVja2FibGUobm9kZSkpIHtcXG4gICAgdmFsdWUgPSBub2RlLmNoZWNrZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFsdWUgPSBub2RlLnZhbHVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHZhbHVlO1xcbn1cXG5cXG5mdW5jdGlvbiB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpIHtcXG4gIHZhciB2YWx1ZUZpZWxkID0gaXNDaGVja2FibGUobm9kZSkgPyAnY2hlY2tlZCcgOiAndmFsdWUnO1xcbiAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5vZGUuY29uc3RydWN0b3IucHJvdG90eXBlLCB2YWx1ZUZpZWxkKTtcXG4gIHZhciBjdXJyZW50VmFsdWUgPSAnJyArIG5vZGVbdmFsdWVGaWVsZF07IC8vIGlmIHNvbWVvbmUgaGFzIGFscmVhZHkgZGVmaW5lZCBhIHZhbHVlIG9yIFNhZmFyaSwgdGhlbiBiYWlsXFxuICAvLyBhbmQgZG9uJ3QgdHJhY2sgdmFsdWUgd2lsbCBjYXVzZSBvdmVyIHJlcG9ydGluZyBvZiBjaGFuZ2VzLFxcbiAgLy8gYnV0IGl0J3MgYmV0dGVyIHRoZW4gYSBoYXJkIGZhaWx1cmVcXG4gIC8vIChuZWVkZWQgZm9yIGNlcnRhaW4gdGVzdHMgdGhhdCBzcHlPbiBpbnB1dCB2YWx1ZXMgYW5kIFNhZmFyaSlcXG5cXG4gIGlmIChub2RlLmhhc093blByb3BlcnR5KHZhbHVlRmllbGQpIHx8IHR5cGVvZiBkZXNjcmlwdG9yID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5nZXQgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGRlc2NyaXB0b3Iuc2V0ICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBnZXQgPSBkZXNjcmlwdG9yLmdldCxcXG4gICAgICBzZXQgPSBkZXNjcmlwdG9yLnNldDtcXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub2RlLCB2YWx1ZUZpZWxkLCB7XFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIGdldC5jYWxsKHRoaXMpO1xcbiAgICB9LFxcbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XFxuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xcbiAgICB9XFxuICB9KTsgLy8gV2UgY291bGQndmUgcGFzc2VkIHRoaXMgdGhlIGZpcnN0IHRpbWVcXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxcbiAgLy8gQ2FsbGluZyBkZWZpbmVQcm9wZXJ0eSgpIGFnYWluIHNob3VsZCBiZSBlcXVpdmFsZW50LlxcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTc2OFxcblxcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vZGUsIHZhbHVlRmllbGQsIHtcXG4gICAgZW51bWVyYWJsZTogZGVzY3JpcHRvci5lbnVtZXJhYmxlXFxuICB9KTtcXG4gIHZhciB0cmFja2VyID0ge1xcbiAgICBnZXRWYWx1ZTogZnVuY3Rpb24gKCkge1xcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XFxuICAgIH0sXFxuICAgIHNldFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xcbiAgICB9LFxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcXG4gICAgICBkZXRhY2hUcmFja2VyKG5vZGUpO1xcbiAgICAgIGRlbGV0ZSBub2RlW3ZhbHVlRmllbGRdO1xcbiAgICB9XFxuICB9O1xcbiAgcmV0dXJuIHRyYWNrZXI7XFxufVxcblxcbmZ1bmN0aW9uIHRyYWNrKG5vZGUpIHtcXG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XFxuICAgIHJldHVybjtcXG4gIH0gLy8gVE9ETzogT25jZSBpdCdzIGp1c3QgRmliZXIgd2UgY2FuIG1vdmUgdGhpcyB0byBub2RlLl93cmFwcGVyU3RhdGVcXG5cXG5cXG4gIG5vZGUuX3ZhbHVlVHJhY2tlciA9IHRyYWNrVmFsdWVPbk5vZGUobm9kZSk7XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKG5vZGUpIHtcXG4gIGlmICghbm9kZSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XFxuICAvLyB0aGF0IHRyeWluZyBhZ2FpbiB3aWxsIHN1Y2NlZWRcXG5cXG4gIGlmICghdHJhY2tlcikge1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHZhciBsYXN0VmFsdWUgPSB0cmFja2VyLmdldFZhbHVlKCk7XFxuICB2YXIgbmV4dFZhbHVlID0gZ2V0VmFsdWVGcm9tTm9kZShub2RlKTtcXG5cXG4gIGlmIChuZXh0VmFsdWUgIT09IGxhc3RWYWx1ZSkge1xcbiAgICB0cmFja2VyLnNldFZhbHVlKG5leHRWYWx1ZSk7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG5cXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XFxudmFyIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSBmYWxzZTtcXG52YXIgZGlkV2FybkNvbnRyb2xsZWRUb1VuY29udHJvbGxlZCA9IGZhbHNlO1xcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gaXNDb250cm9sbGVkKHByb3BzKSB7XFxuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XFxuICByZXR1cm4gdXNlc0NoZWNrZWQgPyBwcm9wcy5jaGVja2VkICE9IG51bGwgOiBwcm9wcy52YWx1ZSAhPSBudWxsO1xcbn1cXG4vKipcXG4gKiBJbXBsZW1lbnRzIGFuIDxpbnB1dD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgc2V0dGluZyB0aGVzZSBvcHRpb25hbFxcbiAqIHByb3BzOiBgY2hlY2tlZGAsIGB2YWx1ZWAsIGBkZWZhdWx0Q2hlY2tlZGAsIGFuZCBgZGVmYXVsdFZhbHVlYC5cXG4gKlxcbiAqIElmIGBjaGVja2VkYCBvciBgdmFsdWVgIGFyZSBub3Qgc3VwcGxpZWQgKG9yIG51bGwvdW5kZWZpbmVkKSwgdXNlciBhY3Rpb25zXFxuICogdGhhdCBhZmZlY3QgdGhlIGNoZWNrZWQgc3RhdGUgb3IgdmFsdWUgd2lsbCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuXFxuICpcXG4gKiBJZiB0aGV5IGFyZSBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgbm90XFxuICogdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgcHJvcHMgbXVzdCBjaGFuZ2UgaW4gb3JkZXIgZm9yXFxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cXG4gKlxcbiAqIFRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgYmUgaW5pdGlhbGl6ZWQgYXMgdW5jaGVja2VkIChvciBgZGVmYXVsdENoZWNrZWRgKVxcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cXG4gKlxcbiAqIFNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWh0bWw1LTIwMTIxMDI1L3RoZS1pbnB1dC1lbGVtZW50Lmh0bWxcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG4gIHZhciBjaGVja2VkID0gcHJvcHMuY2hlY2tlZDtcXG5cXG4gIHZhciBob3N0UHJvcHMgPSBfYXNzaWduKHt9LCBwcm9wcywge1xcbiAgICBkZWZhdWx0Q2hlY2tlZDogdW5kZWZpbmVkLFxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcXG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcXG4gICAgY2hlY2tlZDogY2hlY2tlZCAhPSBudWxsID8gY2hlY2tlZCA6IG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZFxcbiAgfSk7XFxuXFxuICByZXR1cm4gaG9zdFByb3BzO1xcbn1cXG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XFxuICB7XFxuICAgIFJlYWN0Q29udHJvbGxlZFZhbHVlUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCdpbnB1dCcsIHByb3BzKTtcXG5cXG4gICAgaWYgKHByb3BzLmNoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuQ2hlY2tlZERlZmF1bHRDaGVja2VkKSB7XFxuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xcblxcbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcXG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYW4gaW5wdXQgb2YgdHlwZSAlcyB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdJbnB1dCBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xcblxcbiAgICAgIGRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG4gIHZhciBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMuZGVmYXVsdFZhbHVlO1xcbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xcbiAgICBpbml0aWFsQ2hlY2tlZDogcHJvcHMuY2hlY2tlZCAhPSBudWxsID8gcHJvcHMuY2hlY2tlZCA6IHByb3BzLmRlZmF1bHRDaGVja2VkLFxcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUgIT0gbnVsbCA/IHByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlKSxcXG4gICAgY29udHJvbGxlZDogaXNDb250cm9sbGVkKHByb3BzKVxcbiAgfTtcXG59XFxuZnVuY3Rpb24gdXBkYXRlQ2hlY2tlZChlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcbiAgdmFyIGNoZWNrZWQgPSBwcm9wcy5jaGVja2VkO1xcblxcbiAgaWYgKGNoZWNrZWQgIT0gbnVsbCkge1xcbiAgICBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCwgZmFsc2UpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XFxuXFxuICB7XFxuICAgIHZhciBjb250cm9sbGVkID0gaXNDb250cm9sbGVkKHByb3BzKTtcXG5cXG4gICAgaWYgKCFub2RlLl93cmFwcGVyU3RhdGUuY29udHJvbGxlZCAmJiBjb250cm9sbGVkICYmICFkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkKSB7XFxuICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGNoYW5naW5nIGFuIHVuY29udHJvbGxlZCBpbnB1dCBvZiB0eXBlICVzIHRvIGJlIGNvbnRyb2xsZWQuICcgKyAnSW5wdXQgZWxlbWVudHMgc2hvdWxkIG5vdCBzd2l0Y2ggZnJvbSB1bmNvbnRyb2xsZWQgdG8gY29udHJvbGxlZCAob3IgdmljZSB2ZXJzYSkuICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzJywgcHJvcHMudHlwZSk7XFxuXFxuICAgICAgZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCA9IHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmICFjb250cm9sbGVkICYmICFkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkKSB7XFxuICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGNoYW5naW5nIGEgY29udHJvbGxlZCBpbnB1dCBvZiB0eXBlICVzIHRvIGJlIHVuY29udHJvbGxlZC4gJyArICdJbnB1dCBlbGVtZW50cyBzaG91bGQgbm90IHN3aXRjaCBmcm9tIGNvbnRyb2xsZWQgdG8gdW5jb250cm9sbGVkIChvciB2aWNlIHZlcnNhKS4gJyArICdEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuIE1vcmUgaW5mbzogaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBwcm9wcy50eXBlKTtcXG5cXG4gICAgICBkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdXBkYXRlQ2hlY2tlZChlbGVtZW50LCBwcm9wcyk7XFxuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcXG4gIHZhciB0eXBlID0gcHJvcHMudHlwZTtcXG5cXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XFxuICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xcbiAgICAgIGlmICh2YWx1ZSA9PT0gMCAmJiBub2RlLnZhbHVlID09PSAnJyB8fCAvLyBXZSBleHBsaWNpdGx5IHdhbnQgdG8gY29lcmNlIHRvIG51bWJlciBoZXJlIGlmIHBvc3NpYmxlLlxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcXG4gICAgICAgIG5vZGUudmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xcbiAgICAgIG5vZGUudmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XFxuICAgIH1cXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xcbiAgICAvLyBTdWJtaXQvcmVzZXQgaW5wdXRzIG5lZWQgdGhlIGF0dHJpYnV0ZSByZW1vdmVkIGNvbXBsZXRlbHkgdG8gYXZvaWRcXG4gICAgLy8gYmxhbmstdGV4dCBidXR0b25zLlxcbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAge1xcbiAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIGNvbWVzIGZyb20gYSBjYXNjYWRlIG9mXFxuICAgIC8vIHByb3BlcnRpZXM6XFxuICAgIC8vICAxLiBUaGUgdmFsdWUgUmVhY3QgcHJvcGVydHlcXG4gICAgLy8gIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHlcXG4gICAgLy8gIDMuIE90aGVyd2lzZSB0aGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlXFxuICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xcbiAgICAgIHNldERlZmF1bHRWYWx1ZShub2RlLCBwcm9wcy50eXBlLCB2YWx1ZSk7XFxuICAgIH0gZWxzZSBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRWYWx1ZScpKSB7XFxuICAgICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsIHByb3BzLnR5cGUsIGdldFRvU3RyaW5nVmFsdWUocHJvcHMuZGVmYXVsdFZhbHVlKSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgaXQgb25seSBjaGFuZ2VzIHdoZW4gaXQgbmVlZHNcXG4gICAgLy8gdG8gYmUgcmVtb3ZlZCwgc3VjaCBhcyB0cmFuc2l0aW9uaW5nIGZyb20gYSBjaGVja2JveCBpbnRvIGEgdGV4dCBpbnB1dFxcbiAgICBpZiAocHJvcHMuY2hlY2tlZCA9PSBudWxsICYmIHByb3BzLmRlZmF1bHRDaGVja2VkICE9IG51bGwpIHtcXG4gICAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFwcm9wcy5kZWZhdWx0Q2hlY2tlZDtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyKGVsZW1lbnQsIHByb3BzLCBpc0h5ZHJhdGluZykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBEbyBub3QgYXNzaWduIHZhbHVlIGlmIGl0IGlzIGFscmVhZHkgc2V0LiBUaGlzIHByZXZlbnRzIHVzZXIgdGV4dCBpbnB1dFxcbiAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxcblxcbiAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpIHx8IHByb3BzLmhhc093blByb3BlcnR5KCdkZWZhdWx0VmFsdWUnKSkge1xcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGU7XFxuICAgIHZhciBpc0J1dHRvbiA9IHR5cGUgPT09ICdzdWJtaXQnIHx8IHR5cGUgPT09ICdyZXNldCc7IC8vIEF2b2lkIHNldHRpbmcgdmFsdWUgYXR0cmlidXRlIG9uIHN1Ym1pdC9yZXNldCBpbnB1dHMgYXMgaXQgb3ZlcnJpZGVzIHRoZVxcbiAgICAvLyBkZWZhdWx0IHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSBicm93c2VyLiBTZWU6ICMxMjg3MlxcblxcbiAgICBpZiAoaXNCdXR0b24gJiYgKHByb3BzLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcHMudmFsdWUgPT09IG51bGwpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciBpbml0aWFsVmFsdWUgPSB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKTsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcXG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxcblxcbiAgICBpZiAoIWlzSHlkcmF0aW5nKSB7XFxuICAgICAge1xcbiAgICAgICAgLy8gV2hlbiBzeW5jaW5nIHRoZSB2YWx1ZSBhdHRyaWJ1dGUsIHRoZSB2YWx1ZSBwcm9wZXJ0eSBzaG91bGQgdXNlXFxuICAgICAgICAvLyB0aGUgd3JhcHBlclN0YXRlLl9pbml0aWFsVmFsdWUgcHJvcGVydHkuIFRoaXMgdXNlczpcXG4gICAgICAgIC8vXFxuICAgICAgICAvLyAgIDEuIFRoZSB2YWx1ZSBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcXG4gICAgICAgIC8vICAgMi4gVGhlIGRlZmF1bHRWYWx1ZSBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcXG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXFxuICAgICAgICBpZiAoaW5pdGlhbFZhbHVlICE9PSBub2RlLnZhbHVlKSB7XFxuICAgICAgICAgIG5vZGUudmFsdWUgPSBpbml0aWFsVmFsdWU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICAvLyBPdGhlcndpc2UsIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXMgc3luY2hyb25pemVkIHRvIHRoZSBwcm9wZXJ0eSxcXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxcbiAgICAgIC8vIGFzc2lnbm1lbnQgc3RlcCBhYm92ZS5cXG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IGluaXRpYWxWYWx1ZTtcXG4gICAgfVxcbiAgfSAvLyBOb3JtYWxseSwgd2UnZCBqdXN0IGRvIGBub2RlLmNoZWNrZWQgPSBub2RlLmNoZWNrZWRgIHVwb24gaW5pdGlhbCBtb3VudCwgbGVzcyB0aGlzIGJ1Z1xcbiAgLy8gdGhpcyBpcyBuZWVkZWQgdG8gd29yayBhcm91bmQgYSBjaHJvbWUgYnVnIHdoZXJlIHNldHRpbmcgZGVmYXVsdENoZWNrZWRcXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cXG4gIC8vIFJlZmVyZW5jZTogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NjA4NDE2XFxuICAvLyBXZSBuZWVkIHRvIHRlbXBvcmFyaWx5IHVuc2V0IG5hbWUgdG8gYXZvaWQgZGlzcnVwdGluZyByYWRpbyBidXR0b24gZ3JvdXBzLlxcblxcblxcbiAgdmFyIG5hbWUgPSBub2RlLm5hbWU7XFxuXFxuICBpZiAobmFtZSAhPT0gJycpIHtcXG4gICAgbm9kZS5uYW1lID0gJyc7XFxuICB9XFxuXFxuICB7XFxuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGJvdGggdGhlIGNoZWNrZWQgcHJvcGVydHkgYW5kXFxuICAgIC8vIGF0dHJpYnV0ZSBhcmUgYXNzaWduZWQgYXQgdGhlIHNhbWUgdGltZSB1c2luZyBkZWZhdWx0Q2hlY2tlZC4gVGhpcyB1c2VzOlxcbiAgICAvL1xcbiAgICAvLyAgIDEuIFRoZSBjaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxcbiAgICAvLyAgIDIuIFRoZSBkZWZhdWx0Q2hlY2tlZCBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcXG4gICAgLy8gICAzLiBPdGhlcndpc2UsIGZhbHNlXFxuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhbm9kZS5kZWZhdWx0Q2hlY2tlZDtcXG4gICAgbm9kZS5kZWZhdWx0Q2hlY2tlZCA9ICEhbm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxDaGVja2VkO1xcbiAgfVxcblxcbiAgaWYgKG5hbWUgIT09ICcnKSB7XFxuICAgIG5vZGUubmFtZSA9IG5hbWU7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG4gIHVwZGF0ZVdyYXBwZXIobm9kZSwgcHJvcHMpO1xcbiAgdXBkYXRlTmFtZWRDb3VzaW5zKG5vZGUsIHByb3BzKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlTmFtZWRDb3VzaW5zKHJvb3ROb2RlLCBwcm9wcykge1xcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xcblxcbiAgaWYgKHByb3BzLnR5cGUgPT09ICdyYWRpbycgJiYgbmFtZSAhPSBudWxsKSB7XFxuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcXG5cXG4gICAgd2hpbGUgKHF1ZXJ5Um9vdC5wYXJlbnROb2RlKSB7XFxuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XFxuICAgIH0gLy8gSWYgYHJvb3ROb2RlLmZvcm1gIHdhcyBub24tbnVsbCwgdGhlbiB3ZSBjb3VsZCB0cnkgYGZvcm0uZWxlbWVudHNgLFxcbiAgICAvLyBidXQgdGhhdCBzb21ldGltZXMgYmVoYXZlcyBzdHJhbmdlbHkgaW4gSUU4LiBXZSBjb3VsZCBhbHNvIHRyeSB1c2luZ1xcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXFxuICAgIC8vIGFuZCB3b24ndCBpbmNsdWRlIGlucHV0cyB0aGF0IHVzZSB0aGUgSFRNTDUgYGZvcm09YCBhdHRyaWJ1dGUuIFNpbmNlXFxuICAgIC8vIHRoZSBpbnB1dCBtaWdodCBub3QgZXZlbiBiZSBpbiBhIGZvcm0uIEl0IG1pZ2h0IG5vdCBldmVuIGJlIGluIHRoZVxcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcXG4gICAgLy8gbWlzcyBhbnl0aGluZy5cXG5cXG5cXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9JyArIEpTT04uc3RyaW5naWZ5KCcnICsgbmFtZSkgKyAnXVt0eXBlPVxcXCJyYWRpb1xcXCJdJyk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgb3RoZXJOb2RlID0gZ3JvdXBbaV07XFxuXFxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH0gLy8gVGhpcyB3aWxsIHRocm93IGlmIHJhZGlvIGJ1dHRvbnMgcmVuZGVyZWQgYnkgZGlmZmVyZW50IGNvcGllcyBvZiBSZWFjdFxcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxcbiAgICAgIC8vIFRoYXQncyBwcm9iYWJseSBva2F5OyB3ZSBkb24ndCBzdXBwb3J0IGl0IGp1c3QgYXMgd2UgZG9uJ3Qgc3VwcG9ydFxcbiAgICAgIC8vIG1peGluZyBSZWFjdCByYWRpbyBidXR0b25zIHdpdGggbm9uLVJlYWN0IG9uZXMuXFxuXFxuXFxuICAgICAgdmFyIG90aGVyUHJvcHMgPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlJDEob3RoZXJOb2RlKTtcXG5cXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgc2FtZSBgbmFtZWAgaXMgbm90IHN1cHBvcnRlZC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfSAvLyBXZSBuZWVkIHVwZGF0ZSB0aGUgdHJhY2tlZCB2YWx1ZSBvbiB0aGUgbmFtZWQgY291c2luIHNpbmNlIHRoZSB2YWx1ZVxcbiAgICAgIC8vIHdhcyBjaGFuZ2VkIGJ1dCB0aGUgaW5wdXQgc2F3IG5vIGV2ZW50IG9yIHZhbHVlIHNldFxcblxcblxcbiAgICAgIHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKG90aGVyTm9kZSk7IC8vIElmIHRoaXMgaXMgYSBjb250cm9sbGVkIHJhZGlvIGJ1dHRvbiBncm91cCwgZm9yY2luZyB0aGUgaW5wdXQgdGhhdFxcbiAgICAgIC8vIHdhcyBwcmV2aW91c2x5IGNoZWNrZWQgdG8gdXBkYXRlIHdpbGwgY2F1c2UgaXQgdG8gYmUgY29tZSByZS1jaGVja2VkXFxuICAgICAgLy8gYXMgYXBwcm9wcmlhdGUuXFxuXFxuICAgICAgdXBkYXRlV3JhcHBlcihvdGhlck5vZGUsIG90aGVyUHJvcHMpO1xcbiAgICB9XFxuICB9XFxufSAvLyBJbiBDaHJvbWUsIGFzc2lnbmluZyBkZWZhdWx0VmFsdWUgdG8gY2VydGFpbiBpbnB1dCB0eXBlcyB0cmlnZ2VycyBpbnB1dCB2YWxpZGF0aW9uLlxcbi8vIEZvciBudW1iZXIgaW5wdXRzLCB0aGUgZGlzcGxheSB2YWx1ZSBsb3NlcyB0cmFpbGluZyBkZWNpbWFsIHBvaW50cy4gRm9yIGVtYWlsIGlucHV0cyxcXG4vLyBDaHJvbWUgcmFpc2VzIFxcXCJUaGUgc3BlY2lmaWVkIHZhbHVlIDx4PiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXFxcIi5cXG4vL1xcbi8vIEhlcmUgd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBkZWZhdWx0VmFsdWUgaGFzIGFjdHVhbGx5IGNoYW5nZWQsIGF2b2lkaW5nIHRoZXNlIHByb2JsZW1zXFxuLy8gd2hlbiB0aGUgdXNlciBpcyBpbnB1dHRpbmcgdGV4dFxcbi8vXFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy83MjUzXFxuXFxuXFxuZnVuY3Rpb24gc2V0RGVmYXVsdFZhbHVlKG5vZGUsIHR5cGUsIHZhbHVlKSB7XFxuICBpZiAoIC8vIEZvY3VzZWQgbnVtYmVyIGlucHV0cyBzeW5jaHJvbml6ZSBvbiBibHVyLiBTZWUgQ2hhbmdlRXZlbnRQbHVnaW4uanNcXG4gIHR5cGUgIT09ICdudW1iZXInIHx8IG5vZGUub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBub2RlKSB7XFxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XFxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKTtcXG4gICAgfSBlbHNlIGlmIChub2RlLmRlZmF1bHRWYWx1ZSAhPT0gdG9TdHJpbmcodmFsdWUpKSB7XFxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIGRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uID0gZmFsc2U7XFxudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcXG5cXG5mdW5jdGlvbiBmbGF0dGVuQ2hpbGRyZW4oY2hpbGRyZW4pIHtcXG4gIHZhciBjb250ZW50ID0gJyc7IC8vIEZsYXR0ZW4gY2hpbGRyZW4uIFdlJ2xsIHdhcm4gaWYgdGhleSBhcmUgaW52YWxpZFxcbiAgLy8gZHVyaW5nIHZhbGlkYXRlUHJvcHMoKSB3aGljaCBydW5zIGZvciBoeWRyYXRpb24gdG9vLlxcbiAgLy8gTm90ZSB0aGF0IHRoaXMgd291bGQgdGhyb3cgb24gbm9uLWVsZW1lbnQgb2JqZWN0cy5cXG4gIC8vIEVsZW1lbnRzIGFyZSBzdHJpbmdpZmllZCAod2hpY2ggaXMgbm9ybWFsbHkgaXJyZWxldmFudFxcbiAgLy8gYnV0IG1hdHRlcnMgZm9yIDxmYnQ+KS5cXG5cXG4gIFJlYWN0LkNoaWxkcmVuLmZvckVhY2goY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xcbiAgICBpZiAoY2hpbGQgPT0gbnVsbCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBjb250ZW50ICs9IGNoaWxkOyAvLyBOb3RlOiB3ZSBkb24ndCB3YXJuIGFib3V0IGludmFsaWQgY2hpbGRyZW4gaGVyZS5cXG4gICAgLy8gSW5zdGVhZCwgdGhpcyBpcyBkb25lIHNlcGFyYXRlbHkgYmVsb3cgc28gdGhhdFxcbiAgICAvLyBpdCBoYXBwZW5zIGR1cmluZyB0aGUgaHlkcmF0aW9uIGNvZGVwYXRoIHRvby5cXG4gIH0pO1xcbiAgcmV0dXJuIGNvbnRlbnQ7XFxufVxcbi8qKlxcbiAqIEltcGxlbWVudHMgYW4gPG9wdGlvbj4gaG9zdCBjb21wb25lbnQgdGhhdCB3YXJucyB3aGVuIGBzZWxlY3RlZGAgaXMgc2V0LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHtcXG4gICAgLy8gVGhpcyBtaXJyb3JzIHRoZSBjb2RlcGF0aCBhYm92ZSwgYnV0IHJ1bnMgZm9yIGh5ZHJhdGlvbiB0b28uXFxuICAgIC8vIFdhcm4gYWJvdXQgaW52YWxpZCBjaGlsZHJlbiBoZXJlIHNvIHRoYXQgY2xpZW50IGFuZCBoeWRyYXRpb24gYXJlIGNvbnNpc3RlbnQuXFxuICAgIC8vIFRPRE86IHRoaXMgc2VlbXMgbGlrZSBpdCBjb3VsZCBjYXVzZSBhIERFVi1vbmx5IHRocm93IGZvciBoeWRyYXRpb25cXG4gICAgLy8gaWYgY2hpbGRyZW4gY29udGFpbnMgYSBub24tZWxlbWVudCBvYmplY3QuIFdlIHNob3VsZCB0cnkgdG8gYXZvaWQgdGhhdC5cXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ29iamVjdCcgJiYgcHJvcHMuY2hpbGRyZW4gIT09IG51bGwpIHtcXG4gICAgICBSZWFjdC5DaGlsZHJlbi5mb3JFYWNoKHByb3BzLmNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcXG4gICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmICh0eXBlb2YgY2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKHR5cGVvZiBjaGlsZC50eXBlICE9PSAnc3RyaW5nJykge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoIWRpZFdhcm5JbnZhbGlkQ2hpbGQpIHtcXG4gICAgICAgICAgZGlkV2FybkludmFsaWRDaGlsZCA9IHRydWU7XFxuXFxuICAgICAgICAgIGVycm9yKCdPbmx5IHN0cmluZ3MgYW5kIG51bWJlcnMgYXJlIHN1cHBvcnRlZCBhcyA8b3B0aW9uPiBjaGlsZHJlbi4nKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgfSAvLyBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3IgYHNlbGVjdGVkYCBpbiA8b3B0aW9uPi5cXG5cXG5cXG4gICAgaWYgKHByb3BzLnNlbGVjdGVkICE9IG51bGwgJiYgIWRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uKSB7XFxuICAgICAgZXJyb3IoJ1VzZSB0aGUgYGRlZmF1bHRWYWx1ZWAgb3IgYHZhbHVlYCBwcm9wcyBvbiA8c2VsZWN0PiBpbnN0ZWFkIG9mICcgKyAnc2V0dGluZyBgc2VsZWN0ZWRgIG9uIDxvcHRpb24+LicpO1xcblxcbiAgICAgIGRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpIHtcXG4gIC8vIHZhbHVlPVxcXCJcXFwiIHNob3VsZCBtYWtlIGEgdmFsdWUgYXR0cmlidXRlICgjNjIxOSlcXG4gIGlmIChwcm9wcy52YWx1ZSAhPSBudWxsKSB7XFxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUpKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldEhvc3RQcm9wcyQxKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgaG9zdFByb3BzID0gX2Fzc2lnbih7XFxuICAgIGNoaWxkcmVuOiB1bmRlZmluZWRcXG4gIH0sIHByb3BzKTtcXG5cXG4gIHZhciBjb250ZW50ID0gZmxhdHRlbkNoaWxkcmVuKHByb3BzLmNoaWxkcmVuKTtcXG5cXG4gIGlmIChjb250ZW50KSB7XFxuICAgIGhvc3RQcm9wcy5jaGlsZHJlbiA9IGNvbnRlbnQ7XFxuICB9XFxuXFxuICByZXR1cm4gaG9zdFByb3BzO1xcbn1cXG5cXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDE7XFxuXFxue1xcbiAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xcbiAgdmFyIG93bmVyTmFtZSA9IGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCk7XFxuXFxuICBpZiAob3duZXJOYW1lKSB7XFxuICAgIHJldHVybiAnXFxcXG5cXFxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcXG4gIH1cXG5cXG4gIHJldHVybiAnJztcXG59XFxuXFxudmFyIHZhbHVlUHJvcE5hbWVzID0gWyd2YWx1ZScsICdkZWZhdWx0VmFsdWUnXTtcXG4vKipcXG4gKiBWYWxpZGF0aW9uIGZ1bmN0aW9uIGZvciBgdmFsdWVgIGFuZCBgZGVmYXVsdFZhbHVlYC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcykge1xcbiAge1xcbiAgICBSZWFjdENvbnRyb2xsZWRWYWx1ZVByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygnc2VsZWN0JywgcHJvcHMpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHByb3BOYW1lID0gdmFsdWVQcm9wTmFtZXNbaV07XFxuXFxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XFxuICAgICAgICBjb250aW51ZTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHByb3BzW3Byb3BOYW1lXSk7XFxuXFxuICAgICAgaWYgKHByb3BzLm11bHRpcGxlICYmICFpc0FycmF5KSB7XFxuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGFuIGFycmF5IGlmICcgKyAnYG11bHRpcGxlYCBpcyB0cnVlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcXG4gICAgICB9IGVsc2UgaWYgKCFwcm9wcy5tdWx0aXBsZSAmJiBpc0FycmF5KSB7XFxuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XFxuICB2YXIgb3B0aW9ucyA9IG5vZGUub3B0aW9ucztcXG5cXG4gIGlmIChtdWx0aXBsZSkge1xcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZXMgPSBwcm9wVmFsdWU7XFxuICAgIHZhciBzZWxlY3RlZFZhbHVlID0ge307XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAvLyBQcmVmaXggdG8gYXZvaWQgY2hhb3Mgd2l0aCBzcGVjaWFsIGtleXMuXFxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xcbiAgICAgIHZhciBzZWxlY3RlZCA9IHNlbGVjdGVkVmFsdWUuaGFzT3duUHJvcGVydHkoJyQnICsgb3B0aW9uc1tfaV0udmFsdWUpO1xcblxcbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcXG4gICAgICAgIG9wdGlvbnNbX2ldLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzZWxlY3RlZCAmJiBzZXREZWZhdWx0U2VsZWN0ZWQpIHtcXG4gICAgICAgIG9wdGlvbnNbX2ldLmRlZmF1bHRTZWxlY3RlZCA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxcbiAgICAvLyBicm93c2VycyBmb3IgYWxsIGNhc2VzLlxcbiAgICB2YXIgX3NlbGVjdGVkVmFsdWUgPSB0b1N0cmluZyhnZXRUb1N0cmluZ1ZhbHVlKHByb3BWYWx1ZSkpO1xcblxcbiAgICB2YXIgZGVmYXVsdFNlbGVjdGVkID0gbnVsbDtcXG5cXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XFxuICAgICAgaWYgKG9wdGlvbnNbX2kyXS52YWx1ZSA9PT0gX3NlbGVjdGVkVmFsdWUpIHtcXG4gICAgICAgIG9wdGlvbnNbX2kyXS5zZWxlY3RlZCA9IHRydWU7XFxuXFxuICAgICAgICBpZiAoc2V0RGVmYXVsdFNlbGVjdGVkKSB7XFxuICAgICAgICAgIG9wdGlvbnNbX2kyXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoZGVmYXVsdFNlbGVjdGVkID09PSBudWxsICYmICFvcHRpb25zW19pMl0uZGlzYWJsZWQpIHtcXG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGRlZmF1bHRTZWxlY3RlZCAhPT0gbnVsbCkge1xcbiAgICAgIGRlZmF1bHRTZWxlY3RlZC5zZWxlY3RlZCA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG59XFxuLyoqXFxuICogSW1wbGVtZW50cyBhIDxzZWxlY3Q+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIG9wdGlvbmFsbHkgc2V0dGluZyB0aGVcXG4gKiBwcm9wcyBgdmFsdWVgIGFuZCBgZGVmYXVsdFZhbHVlYC4gSWYgYG11bHRpcGxlYCBpcyBmYWxzZSwgdGhlIHByb3AgbXVzdCBiZSBhXFxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxcbiAqXFxuICogSWYgYHZhbHVlYCBpcyBub3Qgc3VwcGxpZWQgKG9yIG51bGwvdW5kZWZpbmVkKSwgdXNlciBhY3Rpb25zIHRoYXQgY2hhbmdlIHRoZVxcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cXG4gKlxcbiAqIElmIGl0IGlzIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIG9wdGlvbnMgd2lsbCBub3RcXG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXFxuICogb3JkZXIgZm9yIHRoZSByZW5kZXJlZCBvcHRpb25zIHRvIHVwZGF0ZS5cXG4gKlxcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxcbiAqIHNlbGVjdGVkLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGdldEhvc3RQcm9wcyQyKGVsZW1lbnQsIHByb3BzKSB7XFxuICByZXR1cm4gX2Fzc2lnbih7fSwgcHJvcHMsIHtcXG4gICAgdmFsdWU6IHVuZGVmaW5lZFxcbiAgfSk7XFxufVxcbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcblxcbiAge1xcbiAgICBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcyk7XFxuICB9XFxuXFxuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XFxuICAgIHdhc011bHRpcGxlOiAhIXByb3BzLm11bHRpcGxlXFxuICB9O1xcblxcbiAge1xcbiAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEpIHtcXG4gICAgICBlcnJvcignU2VsZWN0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBzZWxlY3QgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnKTtcXG5cXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQyKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XFxuICBub2RlLm11bHRpcGxlID0gISFwcm9wcy5tdWx0aXBsZTtcXG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xcblxcbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcXG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xcbiAgfSBlbHNlIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHBvc3RVcGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XFxuICB2YXIgd2FzTXVsdGlwbGUgPSBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7XFxuICBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XFxuXFxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XFxuICB9IGVsc2UgaWYgKHdhc011bHRpcGxlICE9PSAhIXByb3BzLm11bHRpcGxlKSB7XFxuICAgIC8vIEZvciBzaW1wbGljaXR5LCByZWFwcGx5IGBkZWZhdWx0VmFsdWVgIGlmIGBtdWx0aXBsZWAgaXMgdG9nZ2xlZC5cXG4gICAgaWYgKHByb3BzLmRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XFxuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5kZWZhdWx0VmFsdWUsIHRydWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFJldmVydCB0aGUgc2VsZWN0IGJhY2sgdG8gaXRzIGRlZmF1bHQgdW5zZWxlY3RlZCBzdGF0ZS5cXG4gICAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLm11bHRpcGxlID8gW10gOiAnJywgZmFsc2UpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XFxuXFxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XFxuICB9XFxufVxcblxcbnZhciBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IGZhbHNlO1xcblxcbi8qKlxcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXFxuICogYGRlZmF1bHRWYWx1ZWAuIFRoaXMgZGlmZmVycyBmcm9tIHRoZSB0cmFkaXRpb25hbCBET00gQVBJIGJlY2F1c2UgdmFsdWUgaXNcXG4gKiB1c3VhbGx5IHNldCBhcyBQQ0RBVEEgY2hpbGRyZW4uXFxuICpcXG4gKiBJZiBgdmFsdWVgIGlzIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnMgdGhhdCBhZmZlY3QgdGhlXFxuICogdmFsdWUgd2lsbCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuXFxuICpcXG4gKiBJZiBgdmFsdWVgIGlzIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbFxcbiAqIG5vdCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuIEluc3RlYWQsIHRoZSBgdmFsdWVgIHByb3AgbXVzdCBjaGFuZ2UgaW5cXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cXG4gKlxcbiAqIFRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgYmUgaW5pdGlhbGl6ZWQgd2l0aCBhbiBlbXB0eSB2YWx1ZSwgdGhlIHByb3BcXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cXG4gKi9cXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMyhlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcblxcbiAgaWYgKCEocHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPT0gbnVsbCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYCBkb2VzIG5vdCBtYWtlIHNlbnNlIG9uIDx0ZXh0YXJlYT4uXFxcIiApO1xcbiAgICB9XFxuICB9IC8vIEFsd2F5cyBzZXQgY2hpbGRyZW4gdG8gdGhlIHNhbWUgdGhpbmcuIEluIElFOSwgdGhlIHNlbGVjdGlvbiByYW5nZSB3aWxsXFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcXG4gIC8vIHRvIG9ubHkgc2V0IHRoZSB2YWx1ZSBpZi93aGVuIHRoZSB2YWx1ZSBkaWZmZXJzIGZyb20gdGhlIG5vZGUgdmFsdWUgKHdoaWNoIHdvdWxkXFxuICAvLyBjb21wbGV0ZWx5IHNvbHZlIHRoaXMgSUU5IGJ1ZyksIGJ1dCBTZWJhc3RpYW4rU29waGllIHNlZW1lZCB0byBsaWtlIHRoaXNcXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxcbiAgLy8gdG8gYmUgYSBzdHJpbmcuXFxuXFxuXFxuICB2YXIgaG9zdFByb3BzID0gX2Fzc2lnbih7fSwgcHJvcHMsIHtcXG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcXG4gICAgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQsXFxuICAgIGNoaWxkcmVuOiB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKVxcbiAgfSk7XFxuXFxuICByZXR1cm4gaG9zdFByb3BzO1xcbn1cXG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDIoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG5cXG4gIHtcXG4gICAgUmVhY3RDb250cm9sbGVkVmFsdWVQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoJ3RleHRhcmVhJywgcHJvcHMpO1xcblxcbiAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblZhbERlZmF1bHRWYWwpIHtcXG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYSB0ZXh0YXJlYSB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdUZXh0YXJlYSBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgdGV4dGFyZWEgJyArICdhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnKTtcXG5cXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBpbml0aWFsVmFsdWUgPSBwcm9wcy52YWx1ZTsgLy8gT25seSBib3RoZXIgZmV0Y2hpbmcgZGVmYXVsdCB2YWx1ZSBpZiB3ZSdyZSBnb2luZyB0byB1c2UgaXRcXG5cXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xcbiAgICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IHByb3BzLmRlZmF1bHRWYWx1ZTtcXG5cXG4gICAgaWYgKGNoaWxkcmVuICE9IG51bGwpIHtcXG4gICAgICB7XFxuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XFxuICAgICAgfVxcblxcbiAgICAgIHtcXG4gICAgICAgIGlmICghKGRlZmF1bHRWYWx1ZSA9PSBudWxsKSkge1xcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJZiB5b3Ugc3VwcGx5IGBkZWZhdWx0VmFsdWVgIG9uIGEgPHRleHRhcmVhPiwgZG8gbm90IHBhc3MgY2hpbGRyZW4uXFxcIiApO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcXG4gICAgICAgICAgaWYgKCEoY2hpbGRyZW4ubGVuZ3RoIDw9IDEpKSB7XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCI8dGV4dGFyZWE+IGNhbiBvbmx5IGhhdmUgYXQgbW9zdCBvbmUgY2hpbGQuXFxcIiApO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuWzBdO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gY2hpbGRyZW47XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gbnVsbCkge1xcbiAgICAgIGRlZmF1bHRWYWx1ZSA9ICcnO1xcbiAgICB9XFxuXFxuICAgIGluaXRpYWxWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcXG4gIH1cXG5cXG4gIG5vZGUuX3dyYXBwZXJTdGF0ZSA9IHtcXG4gICAgaW5pdGlhbFZhbHVlOiBnZXRUb1N0cmluZ1ZhbHVlKGluaXRpYWxWYWx1ZSlcXG4gIH07XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZVdyYXBwZXIkMShlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XFxuICB2YXIgZGVmYXVsdFZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy5kZWZhdWx0VmFsdWUpO1xcblxcbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcXG4gICAgLy8gQ2FzdCBgdmFsdWVgIHRvIGEgc3RyaW5nIHRvIGVuc3VyZSB0aGUgdmFsdWUgaXMgc2V0IGNvcnJlY3RseS4gV2hpbGVcXG4gICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGRvIHRoaXMgYXMgbmVjZXNzYXJ5LCBqc2RvbSBkb2Vzbid0LlxcbiAgICB2YXIgbmV3VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7IC8vIFRvIGF2b2lkIHNpZGUgZWZmZWN0cyAoc3VjaCBhcyBsb3NpbmcgdGV4dCBzZWxlY3Rpb24pLCBvbmx5IHNldCB2YWx1ZSBpZiBjaGFuZ2VkXFxuXFxuICAgIGlmIChuZXdWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xcbiAgICAgIG5vZGUudmFsdWUgPSBuZXdWYWx1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlID09IG51bGwgJiYgbm9kZS5kZWZhdWx0VmFsdWUgIT09IG5ld1ZhbHVlKSB7XFxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBuZXdWYWx1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XFxuICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gdG9TdHJpbmcoZGVmYXVsdFZhbHVlKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQzKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7IC8vIFRoaXMgaXMgaW4gcG9zdE1vdW50IGJlY2F1c2Ugd2UgbmVlZCBhY2Nlc3MgdG8gdGhlIERPTSBub2RlLCB3aGljaCBpcyBub3RcXG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxcblxcbiAgdmFyIHRleHRDb250ZW50ID0gbm9kZS50ZXh0Q29udGVudDsgLy8gT25seSBzZXQgbm9kZS52YWx1ZSBpZiB0ZXh0Q29udGVudCBpcyBlcXVhbCB0byB0aGUgZXhwZWN0ZWRcXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXFxuICAvLyB3aWxsIHBvcHVsYXRlIHRleHRDb250ZW50IGFzIHdlbGwuXFxuICAvLyBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMDE1MjUvXFxuXFxuICBpZiAodGV4dENvbnRlbnQgPT09IG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpIHtcXG4gICAgaWYgKHRleHRDb250ZW50ICE9PSAnJyAmJiB0ZXh0Q29udGVudCAhPT0gbnVsbCkge1xcbiAgICAgIG5vZGUudmFsdWUgPSB0ZXh0Q29udGVudDtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDIoZWxlbWVudCwgcHJvcHMpIHtcXG4gIC8vIERPTSBjb21wb25lbnQgaXMgc3RpbGwgbW91bnRlZDsgdXBkYXRlXFxuICB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpO1xcbn1cXG5cXG52YXIgSFRNTF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7XFxudmFyIE1BVEhfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnO1xcbnZhciBTVkdfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcXG52YXIgTmFtZXNwYWNlcyA9IHtcXG4gIGh0bWw6IEhUTUxfTkFNRVNQQUNFLFxcbiAgbWF0aG1sOiBNQVRIX05BTUVTUEFDRSxcXG4gIHN2ZzogU1ZHX05BTUVTUEFDRVxcbn07IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cXG5cXG5mdW5jdGlvbiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSkge1xcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgJ3N2Zyc6XFxuICAgICAgcmV0dXJuIFNWR19OQU1FU1BBQ0U7XFxuXFxuICAgIGNhc2UgJ21hdGgnOlxcbiAgICAgIHJldHVybiBNQVRIX05BTUVTUEFDRTtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gSFRNTF9OQU1FU1BBQ0U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldENoaWxkTmFtZXNwYWNlKHBhcmVudE5hbWVzcGFjZSwgdHlwZSkge1xcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcXG4gICAgLy8gTm8gKG9yIGRlZmF1bHQpIHBhcmVudCBuYW1lc3BhY2U6IHBvdGVudGlhbCBlbnRyeSBwb2ludC5cXG4gICAgcmV0dXJuIGdldEludHJpbnNpY05hbWVzcGFjZSh0eXBlKTtcXG4gIH1cXG5cXG4gIGlmIChwYXJlbnROYW1lc3BhY2UgPT09IFNWR19OQU1FU1BBQ0UgJiYgdHlwZSA9PT0gJ2ZvcmVpZ25PYmplY3QnKSB7XFxuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxcbiAgICByZXR1cm4gSFRNTF9OQU1FU1BBQ0U7XFxuICB9IC8vIEJ5IGRlZmF1bHQsIHBhc3MgbmFtZXNwYWNlIGJlbG93LlxcblxcblxcbiAgcmV0dXJuIHBhcmVudE5hbWVzcGFjZTtcXG59XFxuXFxuLyogZ2xvYmFscyBNU0FwcCAqL1xcblxcbi8qKlxcbiAqIENyZWF0ZSBhIGZ1bmN0aW9uIHdoaWNoIGhhcyAndW5zYWZlJyBwcml2aWxlZ2VzIChyZXF1aXJlZCBieSB3aW5kb3dzOCBhcHBzKVxcbiAqL1xcbnZhciBjcmVhdGVNaWNyb3NvZnRVbnNhZmVMb2NhbEZ1bmN0aW9uID0gZnVuY3Rpb24gKGZ1bmMpIHtcXG4gIGlmICh0eXBlb2YgTVNBcHAgIT09ICd1bmRlZmluZWQnICYmIE1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKSB7XFxuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xcbiAgICAgIE1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uICgpIHtcXG4gICAgICAgIHJldHVybiBmdW5jKGFyZzAsIGFyZzEsIGFyZzIsIGFyZzMpO1xcbiAgICAgIH0pO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIGZ1bmM7XFxuICB9XFxufTtcXG5cXG52YXIgcmV1c2FibGVTVkdDb250YWluZXI7XFxuLyoqXFxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXFxuICpcXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IG5vZGVcXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxcbiAqIEBpbnRlcm5hbFxcbiAqL1xcblxcbnZhciBzZXRJbm5lckhUTUwgPSBjcmVhdGVNaWNyb3NvZnRVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uIChub2RlLCBodG1sKSB7XFxuICBpZiAobm9kZS5uYW1lc3BhY2VVUkkgPT09IE5hbWVzcGFjZXMuc3ZnKSB7XFxuXFxuICAgIGlmICghKCdpbm5lckhUTUwnIGluIG5vZGUpKSB7XFxuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXFxuICAgICAgLy8gbmV3IG1hcmt1cCBpbiBhIHRlbXAgbm9kZSBhbmQgdGhlbiBtb3ZlIHRoZSBjaGlsZCBub2RlcyBhY3Jvc3MgaW50b1xcbiAgICAgIC8vIHRoZSB0YXJnZXQgbm9kZVxcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XFxuICAgICAgcmV1c2FibGVTVkdDb250YWluZXIuaW5uZXJIVE1MID0gJzxzdmc+JyArIGh0bWwudmFsdWVPZigpLnRvU3RyaW5nKCkgKyAnPC9zdmc+JztcXG4gICAgICB2YXIgc3ZnTm9kZSA9IHJldXNhYmxlU1ZHQ29udGFpbmVyLmZpcnN0Q2hpbGQ7XFxuXFxuICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkge1xcbiAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChub2RlLmZpcnN0Q2hpbGQpO1xcbiAgICAgIH1cXG5cXG4gICAgICB3aGlsZSAoc3ZnTm9kZS5maXJzdENoaWxkKSB7XFxuICAgICAgICBub2RlLmFwcGVuZENoaWxkKHN2Z05vZGUuZmlyc3RDaGlsZCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcbiAgfVxcblxcbiAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xcbn0pO1xcblxcbi8qKlxcbiAqIEhUTUwgbm9kZVR5cGUgdmFsdWVzIHRoYXQgcmVwcmVzZW50IHRoZSB0eXBlIG9mIHRoZSBub2RlXFxuICovXFxudmFyIEVMRU1FTlRfTk9ERSA9IDE7XFxudmFyIFRFWFRfTk9ERSA9IDM7XFxudmFyIENPTU1FTlRfTk9ERSA9IDg7XFxudmFyIERPQ1VNRU5UX05PREUgPSA5O1xcbnZhciBET0NVTUVOVF9GUkFHTUVOVF9OT0RFID0gMTE7XFxuXFxuLyoqXFxuICogU2V0IHRoZSB0ZXh0Q29udGVudCBwcm9wZXJ0eSBvZiBhIG5vZGUuIEZvciB0ZXh0IHVwZGF0ZXMsIGl0J3MgZmFzdGVyXFxuICogdG8gc2V0IHRoZSBgbm9kZVZhbHVlYCBvZiB0aGUgVGV4dCBub2RlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmdcXG4gKiBgLnRleHRDb250ZW50YCB3aGljaCB3aWxsIHJlbW92ZSB0aGUgZXhpc3Rpbmcgbm9kZSBhbmQgY3JlYXRlIGEgbmV3IG9uZS5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XFxuICogQGludGVybmFsXFxuICovXFxuXFxudmFyIHNldFRleHRDb250ZW50ID0gZnVuY3Rpb24gKG5vZGUsIHRleHQpIHtcXG4gIGlmICh0ZXh0KSB7XFxuICAgIHZhciBmaXJzdENoaWxkID0gbm9kZS5maXJzdENoaWxkO1xcblxcbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcXG4gICAgICBmaXJzdENoaWxkLm5vZGVWYWx1ZSA9IHRleHQ7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcXG59O1xcblxcbi8vIERvIG5vdCB1c2UgdGhlIGJlbG93IHR3byBtZXRob2RzIGRpcmVjdGx5IVxcbi8vIEluc3RlYWQgdXNlIGNvbnN0YW50cyBleHBvcnRlZCBmcm9tIERPTVRvcExldmVsRXZlbnRUeXBlcyBpbiBSZWFjdERPTS5cXG4vLyAoSXQgaXMgdGhlIG9ubHkgbW9kdWxlIHRoYXQgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlc2UgbWV0aG9kcy4pXFxuZnVuY3Rpb24gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKHRvcExldmVsVHlwZSkge1xcbiAgcmV0dXJuIHRvcExldmVsVHlwZTtcXG59XFxuZnVuY3Rpb24gdW5zYWZlQ2FzdERPTVRvcExldmVsVHlwZVRvU3RyaW5nKHRvcExldmVsVHlwZSkge1xcbiAgcmV0dXJuIHRvcExldmVsVHlwZTtcXG59XFxuXFxuLyoqXFxuICogR2VuZXJhdGUgYSBtYXBwaW5nIG9mIHN0YW5kYXJkIHZlbmRvciBwcmVmaXhlcyB1c2luZyB0aGUgZGVmaW5lZCBzdHlsZSBwcm9wZXJ0eSBhbmQgZXZlbnQgbmFtZS5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHlsZVByb3BcXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXFxuICogQHJldHVybnMge29iamVjdH1cXG4gKi9cXG5cXG5mdW5jdGlvbiBtYWtlUHJlZml4TWFwKHN0eWxlUHJvcCwgZXZlbnROYW1lKSB7XFxuICB2YXIgcHJlZml4ZXMgPSB7fTtcXG4gIHByZWZpeGVzW3N0eWxlUHJvcC50b0xvd2VyQ2FzZSgpXSA9IGV2ZW50TmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgcHJlZml4ZXNbJ1dlYmtpdCcgKyBzdHlsZVByb3BdID0gJ3dlYmtpdCcgKyBldmVudE5hbWU7XFxuICBwcmVmaXhlc1snTW96JyArIHN0eWxlUHJvcF0gPSAnbW96JyArIGV2ZW50TmFtZTtcXG4gIHJldHVybiBwcmVmaXhlcztcXG59XFxuLyoqXFxuICogQSBsaXN0IG9mIGV2ZW50IG5hbWVzIHRvIGEgY29uZmlndXJhYmxlIGxpc3Qgb2YgdmVuZG9yIHByZWZpeGVzLlxcbiAqL1xcblxcblxcbnZhciB2ZW5kb3JQcmVmaXhlcyA9IHtcXG4gIGFuaW1hdGlvbmVuZDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkVuZCcpLFxcbiAgYW5pbWF0aW9uaXRlcmF0aW9uOiBtYWtlUHJlZml4TWFwKCdBbmltYXRpb24nLCAnQW5pbWF0aW9uSXRlcmF0aW9uJyksXFxuICBhbmltYXRpb25zdGFydDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvblN0YXJ0JyksXFxuICB0cmFuc2l0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdUcmFuc2l0aW9uJywgJ1RyYW5zaXRpb25FbmQnKVxcbn07XFxuLyoqXFxuICogRXZlbnQgbmFtZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBkZXRlY3RlZCBhbmQgcHJlZml4ZWQgKGlmIGFwcGxpY2FibGUpLlxcbiAqL1xcblxcbnZhciBwcmVmaXhlZEV2ZW50TmFtZXMgPSB7fTtcXG4vKipcXG4gKiBFbGVtZW50IHRvIGNoZWNrIGZvciBwcmVmaXhlcyBvbi5cXG4gKi9cXG5cXG52YXIgc3R5bGUgPSB7fTtcXG4vKipcXG4gKiBCb290c3RyYXAgaWYgYSBET00gZXhpc3RzLlxcbiAqL1xcblxcbmlmIChjYW5Vc2VET00pIHtcXG4gIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7IC8vIE9uIHNvbWUgcGxhdGZvcm1zLCBpbiBwYXJ0aWN1bGFyIHNvbWUgcmVsZWFzZXMgb2YgQW5kcm9pZCA0LngsXFxuICAvLyB0aGUgdW4tcHJlZml4ZWQgXFxcImFuaW1hdGlvblxcXCIgYW5kIFxcXCJ0cmFuc2l0aW9uXFxcIiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIG9uIHRoZVxcbiAgLy8gc3R5bGUgb2JqZWN0IGJ1dCB0aGUgZXZlbnRzIHRoYXQgZmlyZSB3aWxsIHN0aWxsIGJlIHByZWZpeGVkLCBzbyB3ZSBuZWVkXFxuICAvLyB0byBjaGVjayBpZiB0aGUgdW4tcHJlZml4ZWQgZXZlbnRzIGFyZSB1c2FibGUsIGFuZCBpZiBub3QgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgbWFwLlxcblxcbiAgaWYgKCEoJ0FuaW1hdGlvbkV2ZW50JyBpbiB3aW5kb3cpKSB7XFxuICAgIGRlbGV0ZSB2ZW5kb3JQcmVmaXhlcy5hbmltYXRpb25lbmQuYW5pbWF0aW9uO1xcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbjtcXG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbjtcXG4gIH0gLy8gU2FtZSBhcyBhYm92ZVxcblxcblxcbiAgaWYgKCEoJ1RyYW5zaXRpb25FdmVudCcgaW4gd2luZG93KSkge1xcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBBdHRlbXB0cyB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdmVuZG9yIHByZWZpeGVkIGV2ZW50IG5hbWUuXFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXFxuICogQHJldHVybnMge3N0cmluZ31cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZShldmVudE5hbWUpIHtcXG4gIGlmIChwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSkge1xcbiAgICByZXR1cm4gcHJlZml4ZWRFdmVudE5hbWVzW2V2ZW50TmFtZV07XFxuICB9IGVsc2UgaWYgKCF2ZW5kb3JQcmVmaXhlc1tldmVudE5hbWVdKSB7XFxuICAgIHJldHVybiBldmVudE5hbWU7XFxuICB9XFxuXFxuICB2YXIgcHJlZml4TWFwID0gdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXTtcXG5cXG4gIGZvciAodmFyIHN0eWxlUHJvcCBpbiBwcmVmaXhNYXApIHtcXG4gICAgaWYgKHByZWZpeE1hcC5oYXNPd25Qcm9wZXJ0eShzdHlsZVByb3ApICYmIHN0eWxlUHJvcCBpbiBzdHlsZSkge1xcbiAgICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSA9IHByZWZpeE1hcFtzdHlsZVByb3BdO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZXZlbnROYW1lO1xcbn1cXG5cXG4vKipcXG4gKiBUbyBpZGVudGlmeSB0b3AgbGV2ZWwgZXZlbnRzIGluIFJlYWN0RE9NLCB3ZSB1c2UgY29uc3RhbnRzIGRlZmluZWQgYnkgdGhpc1xcbiAqIG1vZHVsZS4gVGhpcyBpcyB0aGUgb25seSBtb2R1bGUgdGhhdCB1c2VzIHRoZSB1bnNhZmUqIG1ldGhvZHMgdG8gZXhwcmVzc1xcbiAqIHRoYXQgdGhlIGNvbnN0YW50cyBhY3R1YWxseSBjb3JyZXNwb25kIHRvIHRoZSBicm93c2VyIGV2ZW50IG5hbWVzLiBUaGlzIGxldHNcXG4gKiB1cyBzYXZlIHNvbWUgYnVuZGxlIHNpemUgYnkgYXZvaWRpbmcgYSB0b3AgbGV2ZWwgdHlwZSAtPiBldmVudCBuYW1lIG1hcC5cXG4gKiBUaGUgcmVzdCBvZiBSZWFjdERPTSBjb2RlIHNob3VsZCBpbXBvcnQgdG9wIGxldmVsIHR5cGVzIGZyb20gdGhpcyBmaWxlLlxcbiAqL1xcblxcbnZhciBUT1BfQUJPUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2Fib3J0Jyk7XFxudmFyIFRPUF9BTklNQVRJT05fRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25lbmQnKSk7XFxudmFyIFRPUF9BTklNQVRJT05fSVRFUkFUSU9OID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25pdGVyYXRpb24nKSk7XFxudmFyIFRPUF9BTklNQVRJT05fU1RBUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ2FuaW1hdGlvbnN0YXJ0JykpO1xcbnZhciBUT1BfQkxVUiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnYmx1cicpO1xcbnZhciBUT1BfQ0FOX1BMQVkgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbnBsYXknKTtcXG52YXIgVE9QX0NBTl9QTEFZX1RIUk9VR0ggPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbnBsYXl0aHJvdWdoJyk7XFxudmFyIFRPUF9DQU5DRUwgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbmNlbCcpO1xcbnZhciBUT1BfQ0hBTkdFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjaGFuZ2UnKTtcXG52YXIgVE9QX0NMSUNLID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjbGljaycpO1xcbnZhciBUT1BfQ0xPU0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2Nsb3NlJyk7XFxudmFyIFRPUF9DT01QT1NJVElPTl9FTkQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NvbXBvc2l0aW9uZW5kJyk7XFxudmFyIFRPUF9DT01QT1NJVElPTl9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29tcG9zaXRpb25zdGFydCcpO1xcbnZhciBUT1BfQ09NUE9TSVRJT05fVVBEQVRFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjb21wb3NpdGlvbnVwZGF0ZScpO1xcbnZhciBUT1BfQ09OVEVYVF9NRU5VID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjb250ZXh0bWVudScpO1xcbnZhciBUT1BfQ09QWSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29weScpO1xcbnZhciBUT1BfQ1VUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjdXQnKTtcXG52YXIgVE9QX0RPVUJMRV9DTElDSyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZGJsY2xpY2snKTtcXG52YXIgVE9QX0FVWF9DTElDSyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnYXV4Y2xpY2snKTtcXG52YXIgVE9QX0RSQUcgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2RyYWcnKTtcXG52YXIgVE9QX0RSQUdfRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnZW5kJyk7XFxudmFyIFRPUF9EUkFHX0VOVEVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnZW50ZXInKTtcXG52YXIgVE9QX0RSQUdfRVhJVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJhZ2V4aXQnKTtcXG52YXIgVE9QX0RSQUdfTEVBVkUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2RyYWdsZWF2ZScpO1xcbnZhciBUT1BfRFJBR19PVkVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnb3ZlcicpO1xcbnZhciBUT1BfRFJBR19TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJhZ3N0YXJ0Jyk7XFxudmFyIFRPUF9EUk9QID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcm9wJyk7XFxudmFyIFRPUF9EVVJBVElPTl9DSEFOR0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2R1cmF0aW9uY2hhbmdlJyk7XFxudmFyIFRPUF9FTVBUSUVEID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdlbXB0aWVkJyk7XFxudmFyIFRPUF9FTkNSWVBURUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2VuY3J5cHRlZCcpO1xcbnZhciBUT1BfRU5ERUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2VuZGVkJyk7XFxudmFyIFRPUF9FUlJPUiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZXJyb3InKTtcXG52YXIgVE9QX0ZPQ1VTID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdmb2N1cycpO1xcbnZhciBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZ290cG9pbnRlcmNhcHR1cmUnKTtcXG52YXIgVE9QX0lOUFVUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdpbnB1dCcpO1xcbnZhciBUT1BfSU5WQUxJRCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnaW52YWxpZCcpO1xcbnZhciBUT1BfS0VZX0RPV04gPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2tleWRvd24nKTtcXG52YXIgVE9QX0tFWV9QUkVTUyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgna2V5cHJlc3MnKTtcXG52YXIgVE9QX0tFWV9VUCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgna2V5dXAnKTtcXG52YXIgVE9QX0xPQUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWQnKTtcXG52YXIgVE9QX0xPQURfU1RBUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWRzdGFydCcpO1xcbnZhciBUT1BfTE9BREVEX0RBVEEgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWRlZGRhdGEnKTtcXG52YXIgVE9QX0xPQURFRF9NRVRBREFUQSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbG9hZGVkbWV0YWRhdGEnKTtcXG52YXIgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdsb3N0cG9pbnRlcmNhcHR1cmUnKTtcXG52YXIgVE9QX01PVVNFX0RPV04gPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ21vdXNlZG93bicpO1xcbnZhciBUT1BfTU9VU0VfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbW91c2Vtb3ZlJyk7XFxudmFyIFRPUF9NT1VTRV9PVVQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ21vdXNlb3V0Jyk7XFxudmFyIFRPUF9NT1VTRV9PVkVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdtb3VzZW92ZXInKTtcXG52YXIgVE9QX01PVVNFX1VQID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdtb3VzZXVwJyk7XFxudmFyIFRPUF9QQVNURSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGFzdGUnKTtcXG52YXIgVE9QX1BBVVNFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwYXVzZScpO1xcbnZhciBUT1BfUExBWSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGxheScpO1xcbnZhciBUT1BfUExBWUlORyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGxheWluZycpO1xcbnZhciBUT1BfUE9JTlRFUl9DQU5DRUwgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3BvaW50ZXJjYW5jZWwnKTtcXG52YXIgVE9QX1BPSU5URVJfRE9XTiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncG9pbnRlcmRvd24nKTtcXG52YXIgVE9QX1BPSU5URVJfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncG9pbnRlcm1vdmUnKTtcXG52YXIgVE9QX1BPSU5URVJfT1VUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwb2ludGVyb3V0Jyk7XFxudmFyIFRPUF9QT0lOVEVSX09WRVIgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3BvaW50ZXJvdmVyJyk7XFxudmFyIFRPUF9QT0lOVEVSX1VQID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwb2ludGVydXAnKTtcXG52YXIgVE9QX1BST0dSRVNTID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwcm9ncmVzcycpO1xcbnZhciBUT1BfUkFURV9DSEFOR0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3JhdGVjaGFuZ2UnKTtcXG52YXIgVE9QX1JFU0VUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdyZXNldCcpO1xcbnZhciBUT1BfU0NST0xMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzY3JvbGwnKTtcXG52YXIgVE9QX1NFRUtFRCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc2Vla2VkJyk7XFxudmFyIFRPUF9TRUVLSU5HID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzZWVraW5nJyk7XFxudmFyIFRPUF9TRUxFQ1RJT05fQ0hBTkdFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzZWxlY3Rpb25jaGFuZ2UnKTtcXG52YXIgVE9QX1NUQUxMRUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3N0YWxsZWQnKTtcXG52YXIgVE9QX1NVQk1JVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc3VibWl0Jyk7XFxudmFyIFRPUF9TVVNQRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzdXNwZW5kJyk7XFxudmFyIFRPUF9URVhUX0lOUFVUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0ZXh0SW5wdXQnKTtcXG52YXIgVE9QX1RJTUVfVVBEQVRFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0aW1ldXBkYXRlJyk7XFxudmFyIFRPUF9UT0dHTEUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3RvZ2dsZScpO1xcbnZhciBUT1BfVE9VQ0hfQ0FOQ0VMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0b3VjaGNhbmNlbCcpO1xcbnZhciBUT1BfVE9VQ0hfRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0b3VjaGVuZCcpO1xcbnZhciBUT1BfVE9VQ0hfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgndG91Y2htb3ZlJyk7XFxudmFyIFRPUF9UT1VDSF9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgndG91Y2hzdGFydCcpO1xcbnZhciBUT1BfVFJBTlNJVElPTl9FTkQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ3RyYW5zaXRpb25lbmQnKSk7XFxudmFyIFRPUF9WT0xVTUVfQ0hBTkdFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd2b2x1bWVjaGFuZ2UnKTtcXG52YXIgVE9QX1dBSVRJTkcgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3dhaXRpbmcnKTtcXG52YXIgVE9QX1dIRUVMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd3aGVlbCcpOyAvLyBMaXN0IG9mIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgaW5kaXZpZHVhbGx5IGF0dGFjaGVkIHRvIG1lZGlhIGVsZW1lbnRzLlxcbi8vIE5vdGUgdGhhdCBldmVudHMgaW4gdGhpcyBsaXN0IHdpbGwgKm5vdCogYmUgbGlzdGVuZWQgdG8gYXQgdGhlIHRvcCBsZXZlbFxcbi8vIHVubGVzcyB0aGV5J3JlIGV4cGxpY2l0bHkgd2hpdGVsaXN0ZWQgaW4gYFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci5saXN0ZW5Ub2AuXFxuXFxudmFyIG1lZGlhRXZlbnRUeXBlcyA9IFtUT1BfQUJPUlQsIFRPUF9DQU5fUExBWSwgVE9QX0NBTl9QTEFZX1RIUk9VR0gsIFRPUF9EVVJBVElPTl9DSEFOR0UsIFRPUF9FTVBUSUVELCBUT1BfRU5DUllQVEVELCBUT1BfRU5ERUQsIFRPUF9FUlJPUiwgVE9QX0xPQURFRF9EQVRBLCBUT1BfTE9BREVEX01FVEFEQVRBLCBUT1BfTE9BRF9TVEFSVCwgVE9QX1BBVVNFLCBUT1BfUExBWSwgVE9QX1BMQVlJTkcsIFRPUF9QUk9HUkVTUywgVE9QX1JBVEVfQ0hBTkdFLCBUT1BfU0VFS0VELCBUT1BfU0VFS0lORywgVE9QX1NUQUxMRUQsIFRPUF9TVVNQRU5ELCBUT1BfVElNRV9VUERBVEUsIFRPUF9WT0xVTUVfQ0hBTkdFLCBUT1BfV0FJVElOR107XFxuZnVuY3Rpb24gZ2V0UmF3RXZlbnROYW1lKHRvcExldmVsVHlwZSkge1xcbiAgcmV0dXJuIHVuc2FmZUNhc3RET01Ub3BMZXZlbFR5cGVUb1N0cmluZyh0b3BMZXZlbFR5cGUpO1xcbn1cXG5cXG52YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwOyAvLyBwcmV0dGllci1pZ25vcmVcXG5cXG52YXIgZWxlbWVudExpc3RlbmVyTWFwID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xcbmZ1bmN0aW9uIGdldExpc3RlbmVyTWFwRm9yRWxlbWVudChlbGVtZW50KSB7XFxuICB2YXIgbGlzdGVuZXJNYXAgPSBlbGVtZW50TGlzdGVuZXJNYXAuZ2V0KGVsZW1lbnQpO1xcblxcbiAgaWYgKGxpc3RlbmVyTWFwID09PSB1bmRlZmluZWQpIHtcXG4gICAgbGlzdGVuZXJNYXAgPSBuZXcgTWFwKCk7XFxuICAgIGVsZW1lbnRMaXN0ZW5lck1hcC5zZXQoZWxlbWVudCwgbGlzdGVuZXJNYXApO1xcbiAgfVxcblxcbiAgcmV0dXJuIGxpc3RlbmVyTWFwO1xcbn1cXG5cXG4vKipcXG4gKiBgUmVhY3RJbnN0YW5jZU1hcGAgbWFpbnRhaW5zIGEgbWFwcGluZyBmcm9tIGEgcHVibGljIGZhY2luZyBzdGF0ZWZ1bFxcbiAqIGluc3RhbmNlIChrZXkpIGFuZCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKHZhbHVlKS4gVGhpcyBhbGxvd3MgcHVibGljXFxuICogbWV0aG9kcyB0byBhY2NlcHQgdGhlIHVzZXIgZmFjaW5nIGluc3RhbmNlIGFzIGFuIGFyZ3VtZW50IGFuZCBtYXAgdGhlbSBiYWNrXFxuICogdG8gaW50ZXJuYWwgbWV0aG9kcy5cXG4gKlxcbiAqIE5vdGUgdGhhdCB0aGlzIG1vZHVsZSBpcyBjdXJyZW50bHkgc2hhcmVkIGFuZCBhc3N1bWVkIHRvIGJlIHN0YXRlbGVzcy5cXG4gKiBJZiB0aGlzIGJlY29tZXMgYW4gYWN0dWFsIE1hcCwgdGhhdCB3aWxsIGJyZWFrLlxcbiAqL1xcbmZ1bmN0aW9uIGdldChrZXkpIHtcXG4gIHJldHVybiBrZXkuX3JlYWN0SW50ZXJuYWxGaWJlcjtcXG59XFxuZnVuY3Rpb24gaGFzKGtleSkge1xcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbEZpYmVyICE9PSB1bmRlZmluZWQ7XFxufVxcbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XFxuICBrZXkuX3JlYWN0SW50ZXJuYWxGaWJlciA9IHZhbHVlO1xcbn1cXG5cXG4vLyBEb24ndCBjaGFuZ2UgdGhlc2UgdHdvIHZhbHVlcy4gVGhleSdyZSB1c2VkIGJ5IFJlYWN0IERldiBUb29scy5cXG52YXIgTm9FZmZlY3QgPVxcbi8qICAgICAgICAgICAgICAqL1xcbjA7XFxudmFyIFBlcmZvcm1lZFdvcmsgPVxcbi8qICAgICAgICAgKi9cXG4xOyAvLyBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzdCAoYW5kIGFkZCBtb3JlKS5cXG5cXG52YXIgUGxhY2VtZW50ID1cXG4vKiAgICAgICAgICAgICAqL1xcbjI7XFxudmFyIFVwZGF0ZSA9XFxuLyogICAgICAgICAgICAgICAgKi9cXG40O1xcbnZhciBQbGFjZW1lbnRBbmRVcGRhdGUgPVxcbi8qICAgICovXFxuNjtcXG52YXIgRGVsZXRpb24gPVxcbi8qICAgICAgICAgICAgICAqL1xcbjg7XFxudmFyIENvbnRlbnRSZXNldCA9XFxuLyogICAgICAgICAgKi9cXG4xNjtcXG52YXIgQ2FsbGJhY2sgPVxcbi8qICAgICAgICAgICAgICAqL1xcbjMyO1xcbnZhciBEaWRDYXB0dXJlID1cXG4vKiAgICAgICAgICAgICovXFxuNjQ7XFxudmFyIFJlZiA9XFxuLyogICAgICAgICAgICAgICAgICAgKi9cXG4xMjg7XFxudmFyIFNuYXBzaG90ID1cXG4vKiAgICAgICAgICAgICAgKi9cXG4yNTY7XFxudmFyIFBhc3NpdmUgPVxcbi8qICAgICAgICAgICAgICAgKi9cXG41MTI7XFxudmFyIEh5ZHJhdGluZyA9XFxuLyogICAgICAgICAgICAgKi9cXG4xMDI0O1xcbnZhciBIeWRyYXRpbmdBbmRVcGRhdGUgPVxcbi8qICAgICovXFxuMTAyODsgLy8gUGFzc2l2ZSAmIFVwZGF0ZSAmIENhbGxiYWNrICYgUmVmICYgU25hcHNob3RcXG5cXG52YXIgTGlmZWN5Y2xlRWZmZWN0TWFzayA9XFxuLyogICAqL1xcbjkzMjsgLy8gVW5pb24gb2YgYWxsIGhvc3QgZWZmZWN0c1xcblxcbnZhciBIb3N0RWZmZWN0TWFzayA9XFxuLyogICAgICAgICovXFxuMjA0NztcXG52YXIgSW5jb21wbGV0ZSA9XFxuLyogICAgICAgICAgICAqL1xcbjIwNDg7XFxudmFyIFNob3VsZENhcHR1cmUgPVxcbi8qICAgICAgICAgKi9cXG40MDk2O1xcblxcbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xcbmZ1bmN0aW9uIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpIHtcXG4gIHZhciBub2RlID0gZmliZXI7XFxuICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBmaWJlcjtcXG5cXG4gIGlmICghZmliZXIuYWx0ZXJuYXRlKSB7XFxuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhpcyBtaWdodCBiZSBhIG5ldyB0cmVlIHRoYXQgaXNuJ3QgaW5zZXJ0ZWRcXG4gICAgLy8geWV0LiBJZiBpdCBpcywgdGhlbiBpdCB3aWxsIGhhdmUgYSBwZW5kaW5nIGluc2VydGlvbiBlZmZlY3Qgb24gaXQuXFxuICAgIHZhciBuZXh0Tm9kZSA9IG5vZGU7XFxuXFxuICAgIGRvIHtcXG4gICAgICBub2RlID0gbmV4dE5vZGU7XFxuXFxuICAgICAgaWYgKChub2RlLmVmZmVjdFRhZyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9FZmZlY3QpIHtcXG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcXG4gICAgICAgIC8vIG1vdW50ZWQgZmliZXIgaXMgdGhlIHBhcmVudCBidXQgd2UgbmVlZCB0byBjb250aW51ZSB0byBmaWd1cmUgb3V0XFxuICAgICAgICAvLyBpZiB0aGF0IG9uZSBpcyBzdGlsbCBtb3VudGVkLlxcbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfSB3aGlsZSAobmV4dE5vZGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAobm9kZS50YWcgPT09IEhvc3RSb290KSB7XFxuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXFxuICAgIC8vIHJlbmRlckNvbnRhaW5lckludG9TdWJ0cmVlLlxcbiAgICByZXR1cm4gbmVhcmVzdE1vdW50ZWQ7XFxuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxcbiAgLy8gdGhhdCBoYXMgYmVlbiB1bm1vdW50ZWQuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xcbiAgaWYgKGZpYmVyLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcXG4gICAgdmFyIHN1c3BlbnNlU3RhdGUgPSBmaWJlci5tZW1vaXplZFN0YXRlO1xcblxcbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSA9PT0gbnVsbCkge1xcbiAgICAgIHZhciBjdXJyZW50ID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgICBzdXNwZW5zZVN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAgIHJldHVybiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5mdW5jdGlvbiBnZXRDb250YWluZXJGcm9tRmliZXIoZmliZXIpIHtcXG4gIHJldHVybiBmaWJlci50YWcgPT09IEhvc3RSb290ID8gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8gOiBudWxsO1xcbn1cXG5mdW5jdGlvbiBpc0ZpYmVyTW91bnRlZChmaWJlcikge1xcbiAgcmV0dXJuIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpID09PSBmaWJlcjtcXG59XFxuZnVuY3Rpb24gaXNNb3VudGVkKGNvbXBvbmVudCkge1xcbiAge1xcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xcblxcbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgb3duZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XFxuICAgICAgdmFyIGluc3RhbmNlID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XFxuXFxuICAgICAgaWYgKCFpbnN0YW5jZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIpIHtcXG4gICAgICAgIGVycm9yKCclcyBpcyBhY2Nlc3NpbmcgaXNNb3VudGVkIGluc2lkZSBpdHMgcmVuZGVyKCkgZnVuY3Rpb24uICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lKG93bmVyRmliZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XFxuICAgICAgfVxcblxcbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBmaWJlciA9IGdldChjb21wb25lbnQpO1xcblxcbiAgaWYgKCFmaWJlcikge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICByZXR1cm4gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgPT09IGZpYmVyO1xcbn1cXG5cXG5mdW5jdGlvbiBhc3NlcnRJc01vdW50ZWQoZmliZXIpIHtcXG4gIGlmICghKGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpID09PSBmaWJlcikpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChmaWJlcikge1xcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcXG5cXG4gIGlmICghYWx0ZXJuYXRlKSB7XFxuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYgaXQgaXMgbW91bnRlZC5cXG4gICAgdmFyIG5lYXJlc3RNb3VudGVkID0gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcik7XFxuXFxuICAgIGlmICghKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmaWJlcjtcXG4gIH0gLy8gSWYgd2UgaGF2ZSB0d28gcG9zc2libGUgYnJhbmNoZXMsIHdlJ2xsIHdhbGsgYmFja3dhcmRzIHVwIHRvIHRoZSByb290XFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcXG4gIC8vIHNwZWNpYWwgY2FzZXMgYW5kIHdlJ2xsIGRlYWwgd2l0aCB0aGVtLlxcblxcblxcbiAgdmFyIGEgPSBmaWJlcjtcXG4gIHZhciBiID0gYWx0ZXJuYXRlO1xcblxcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgdmFyIHBhcmVudEEgPSBhLnJldHVybjtcXG5cXG4gICAgaWYgKHBhcmVudEEgPT09IG51bGwpIHtcXG4gICAgICAvLyBXZSdyZSBhdCB0aGUgcm9vdC5cXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAocGFyZW50QiA9PT0gbnVsbCkge1xcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxcbiAgICAgIC8vIGhhcHBlbnMgd2hlbiBhIFN1c3BlbnNlIGNvbXBvbmVudCBpcyBoaWRkZW4uIEFuIGV4dHJhIGZyYWdtZW50IGZpYmVyXFxuICAgICAgLy8gaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiB0aGUgU3VzcGVuc2UgZmliZXIgYW5kIGl0cyBjaGlsZHJlbi4gU2tpcFxcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXFxuICAgICAgdmFyIG5leHRQYXJlbnQgPSBwYXJlbnRBLnJldHVybjtcXG5cXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xcbiAgICAgICAgYSA9IGIgPSBuZXh0UGFyZW50O1xcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXFxuXFxuXFxuICAgICAgYnJlYWs7XFxuICAgIH0gLy8gSWYgYm90aCBjb3BpZXMgb2YgdGhlIHBhcmVudCBmaWJlciBwb2ludCB0byB0aGUgc2FtZSBjaGlsZCwgd2UgY2FuXFxuICAgIC8vIGFzc3VtZSB0aGF0IHRoZSBjaGlsZCBpcyBjdXJyZW50LiBUaGlzIGhhcHBlbnMgd2hlbiB3ZSBiYWlsb3V0IG9uIGxvd1xcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXFxuXFxuXFxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XFxuICAgICAgdmFyIGNoaWxkID0gcGFyZW50QS5jaGlsZDtcXG5cXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcXG4gICAgICAgIGlmIChjaGlsZCA9PT0gYSkge1xcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXFxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcXG4gICAgICAgICAgcmV0dXJuIGZpYmVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGNoaWxkID09PSBiKSB7XFxuICAgICAgICAgIC8vIFdlJ3ZlIGRldGVybWluZWQgdGhhdCBCIGlzIHRoZSBjdXJyZW50IGJyYW5jaC5cXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xcbiAgICAgICAgICByZXR1cm4gYWx0ZXJuYXRlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xcbiAgICAgIH0gLy8gV2Ugc2hvdWxkIG5ldmVyIGhhdmUgYW4gYWx0ZXJuYXRlIGZvciBhbnkgbW91bnRpbmcgbm9kZS4gU28gdGhlIG9ubHlcXG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXFxuXFxuXFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVuYWJsZSB0byBmaW5kIG5vZGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChhLnJldHVybiAhPT0gYi5yZXR1cm4pIHtcXG4gICAgICAvLyBUaGUgcmV0dXJuIHBvaW50ZXIgb2YgQSBhbmQgdGhlIHJldHVybiBwb2ludGVyIG9mIEIgcG9pbnQgdG8gZGlmZmVyZW50XFxuICAgICAgLy8gZmliZXJzLiBXZSBhc3N1bWUgdGhhdCByZXR1cm4gcG9pbnRlcnMgbmV2ZXIgY3Jpc3MtY3Jvc3MsIHNvIEEgbXVzdFxcbiAgICAgIC8vIGJlbG9uZyB0byB0aGUgY2hpbGQgc2V0IG9mIEEucmV0dXJuLCBhbmQgQiBtdXN0IGJlbG9uZyB0byB0aGUgY2hpbGRcXG4gICAgICAvLyBzZXQgb2YgQi5yZXR1cm4uXFxuICAgICAgYSA9IHBhcmVudEE7XFxuICAgICAgYiA9IHBhcmVudEI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVycyBwb2ludCB0byB0aGUgc2FtZSBmaWJlci4gV2UnbGwgaGF2ZSB0byB1c2UgdGhlXFxuICAgICAgLy8gZGVmYXVsdCwgc2xvdyBwYXRoOiBzY2FuIHRoZSBjaGlsZCBzZXRzIG9mIGVhY2ggcGFyZW50IGFsdGVybmF0ZSB0byBzZWVcXG4gICAgICAvLyB3aGljaCBjaGlsZCBiZWxvbmdzIHRvIHdoaWNoIHNldC5cXG4gICAgICAvL1xcbiAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQSdzIGNoaWxkIHNldFxcbiAgICAgIHZhciBkaWRGaW5kQ2hpbGQgPSBmYWxzZTtcXG4gICAgICB2YXIgX2NoaWxkID0gcGFyZW50QS5jaGlsZDtcXG5cXG4gICAgICB3aGlsZSAoX2NoaWxkKSB7XFxuICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XFxuICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgIGEgPSBwYXJlbnRBO1xcbiAgICAgICAgICBiID0gcGFyZW50QjtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoX2NoaWxkID09PSBiKSB7XFxuICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgIGIgPSBwYXJlbnRBO1xcbiAgICAgICAgICBhID0gcGFyZW50QjtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBfY2hpbGQgPSBfY2hpbGQuc2libGluZztcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKCFkaWRGaW5kQ2hpbGQpIHtcXG4gICAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQidzIGNoaWxkIHNldFxcbiAgICAgICAgX2NoaWxkID0gcGFyZW50Qi5jaGlsZDtcXG5cXG4gICAgICAgIHdoaWxlIChfY2hpbGQpIHtcXG4gICAgICAgICAgaWYgKF9jaGlsZCA9PT0gYSkge1xcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgICAgYSA9IHBhcmVudEI7XFxuICAgICAgICAgICAgYiA9IHBhcmVudEE7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKF9jaGlsZCA9PT0gYikge1xcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgICAgYiA9IHBhcmVudEI7XFxuICAgICAgICAgICAgYSA9IHBhcmVudEE7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoIWRpZEZpbmRDaGlsZCkge1xcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJDaGlsZCB3YXMgbm90IGZvdW5kIGluIGVpdGhlciBwYXJlbnQgc2V0LiBUaGlzIGluZGljYXRlcyBhIGJ1ZyBpbiBSZWFjdCByZWxhdGVkIHRvIHRoZSByZXR1cm4gcG9pbnRlci4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICghKGEuYWx0ZXJuYXRlID09PSBiKSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiUmV0dXJuIGZpYmVycyBzaG91bGQgYWx3YXlzIGJlIGVhY2ggb3RoZXJzJyBhbHRlcm5hdGVzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH0gLy8gSWYgdGhlIHJvb3QgaXMgbm90IGEgaG9zdCBjb250YWluZXIsIHdlJ3JlIGluIGEgZGlzY29ubmVjdGVkIHRyZWUuIEkuZS5cXG4gIC8vIHVubW91bnRlZC5cXG5cXG5cXG4gIGlmICghKGEudGFnID09PSBIb3N0Um9vdCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcXG4gICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxcbiAgICByZXR1cm4gZmliZXI7XFxuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cXG5cXG5cXG4gIHJldHVybiBhbHRlcm5hdGU7XFxufVxcbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVyKHBhcmVudCkge1xcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xcblxcbiAgaWYgKCFjdXJyZW50UGFyZW50KSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSAvLyBOZXh0IHdlJ2xsIGRyaWxsIGRvd24gdGhpcyBjb21wb25lbnQgdG8gZmluZCB0aGUgZmlyc3QgSG9zdENvbXBvbmVudC9UZXh0LlxcblxcblxcbiAgdmFyIG5vZGUgPSBjdXJyZW50UGFyZW50O1xcblxcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgIHJldHVybiBub2RlO1xcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQpIHtcXG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5vZGUgPT09IGN1cnJlbnRQYXJlbnQpIHtcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB3aGlsZSAoIW5vZGUuc2libGluZykge1xcbiAgICAgIGlmICghbm9kZS5yZXR1cm4gfHwgbm9kZS5yZXR1cm4gPT09IGN1cnJlbnRQYXJlbnQpIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgIH1cXG5cXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xcbiAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcbiAgfSAvLyBGbG93IG5lZWRzIHRoZSByZXR1cm4gbnVsbCBoZXJlLCBidXQgRVNMaW50IGNvbXBsYWlucyBhYm91dCBpdC5cXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnJlYWNoYWJsZVxcblxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFscyhwYXJlbnQpIHtcXG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcXG5cXG4gIGlmICghY3VycmVudFBhcmVudCkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gTmV4dCB3ZSdsbCBkcmlsbCBkb3duIHRoaXMgY29tcG9uZW50IHRvIGZpbmQgdGhlIGZpcnN0IEhvc3RDb21wb25lbnQvVGV4dC5cXG5cXG5cXG4gIHZhciBub2RlID0gY3VycmVudFBhcmVudDtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQgfHwgZW5hYmxlRnVuZGFtZW50YWxBUEkgKSB7XFxuICAgICAgcmV0dXJuIG5vZGU7XFxuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAmJiBub2RlLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gY3VycmVudFBhcmVudCkge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIHdoaWxlICghbm9kZS5zaWJsaW5nKSB7XFxuICAgICAgaWYgKCFub2RlLnJldHVybiB8fCBub2RlLnJldHVybiA9PT0gY3VycmVudFBhcmVudCkge1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfVxcblxcbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XFxuICB9IC8vIEZsb3cgbmVlZHMgdGhlIHJldHVybiBudWxsIGhlcmUsIGJ1dCBFU0xpbnQgY29tcGxhaW5zIGFib3V0IGl0LlxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuLyoqXFxuICogQWNjdW11bGF0ZXMgaXRlbXMgdGhhdCBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCBpbnRvIHRoZSBmaXJzdCBvbmUuIFRoaXNcXG4gKiBpcyB1c2VkIHRvIGNvbnNlcnZlIG1lbW9yeSBieSBhdm9pZGluZyBhcnJheSBhbGxvY2F0aW9ucywgYW5kIHRodXMgc2FjcmlmaWNlc1xcbiAqIEFQSSBjbGVhbm5lc3MuIFNpbmNlIGBjdXJyZW50YCBjYW4gYmUgbnVsbCBiZWZvcmUgYmVpbmcgcGFzc2VkIGluIGFuZCBub3RcXG4gKiBudWxsIGFmdGVyIHRoaXMgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0byBhc3NpZ24gaXQgYmFjayB0byBgY3VycmVudGA6XFxuICpcXG4gKiBgYSA9IGFjY3VtdWxhdGVJbnRvKGEsIGIpO2BcXG4gKlxcbiAqIFRoaXMgQVBJIHNob3VsZCBiZSBzcGFyaW5nbHkgdXNlZC4gVHJ5IGBhY2N1bXVsYXRlYCBmb3Igc29tZXRoaW5nIGNsZWFuZXIuXFxuICpcXG4gKiBAcmV0dXJuIHsqfGFycmF5PCo+fSBBbiBhY2N1bXVsYXRpb24gb2YgaXRlbXMuXFxuICovXFxuXFxuZnVuY3Rpb24gYWNjdW11bGF0ZUludG8oY3VycmVudCwgbmV4dCkge1xcbiAgaWYgKCEobmV4dCAhPSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJhY2N1bXVsYXRlSW50byguLi4pOiBBY2N1bXVsYXRlZCBpdGVtcyBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ID09IG51bGwpIHtcXG4gICAgcmV0dXJuIG5leHQ7XFxuICB9IC8vIEJvdGggYXJlIG5vdCBlbXB0eS4gV2FybmluZzogTmV2ZXIgY2FsbCB4LmNvbmNhdCh5KSB3aGVuIHlvdSBhcmUgbm90XFxuICAvLyBjZXJ0YWluIHRoYXQgeCBpcyBhbiBBcnJheSAoeCBjb3VsZCBiZSBhIHN0cmluZyB3aXRoIGNvbmNhdCBtZXRob2QpLlxcblxcblxcbiAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudCkpIHtcXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobmV4dCkpIHtcXG4gICAgICBjdXJyZW50LnB1c2guYXBwbHkoY3VycmVudCwgbmV4dCk7XFxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XFxuICAgIH1cXG5cXG4gICAgY3VycmVudC5wdXNoKG5leHQpO1xcbiAgICByZXR1cm4gY3VycmVudDtcXG4gIH1cXG5cXG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQpKSB7XFxuICAgIC8vIEEgYml0IHRvbyBkYW5nZXJvdXMgdG8gbXV0YXRlIGBuZXh0YC5cXG4gICAgcmV0dXJuIFtjdXJyZW50XS5jb25jYXQobmV4dCk7XFxuICB9XFxuXFxuICByZXR1cm4gW2N1cnJlbnQsIG5leHRdO1xcbn1cXG5cXG4vKipcXG4gKiBAcGFyYW0ge2FycmF5fSBhcnIgYW4gXFxcImFjY3VtdWxhdGlvblxcXCIgb2YgaXRlbXMgd2hpY2ggaXMgZWl0aGVyIGFuIEFycmF5IG9yXFxuICogYSBzaW5nbGUgaXRlbS4gVXNlZnVsIHdoZW4gcGFpcmVkIHdpdGggdGhlIGBhY2N1bXVsYXRlYCBtb2R1bGUuIFRoaXMgaXMgYVxcbiAqIHNpbXBsZSB1dGlsaXR5IHRoYXQgYWxsb3dzIHVzIHRvIHJlYXNvbiBhYm91dCBhIGNvbGxlY3Rpb24gb2YgaXRlbXMsIGJ1dFxcbiAqIGhhbmRsaW5nIHRoZSBjYXNlIHdoZW4gdGhlcmUgaXMgZXhhY3RseSBvbmUgaXRlbSAoYW5kIHdlIGRvIG5vdCBuZWVkIHRvXFxuICogYWxsb2NhdGUgYW4gYXJyYXkpLlxcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNiIENhbGxiYWNrIGludm9rZWQgd2l0aCBlYWNoIGVsZW1lbnQgb3IgYSBjb2xsZWN0aW9uLlxcbiAqIEBwYXJhbSB7P30gW3Njb3BlXSBTY29wZSB1c2VkIGFzIGB0aGlzYCBpbiBhIGNhbGxiYWNrLlxcbiAqL1xcbmZ1bmN0aW9uIGZvckVhY2hBY2N1bXVsYXRlZChhcnIsIGNiLCBzY29wZSkge1xcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkge1xcbiAgICBhcnIuZm9yRWFjaChjYiwgc2NvcGUpO1xcbiAgfSBlbHNlIGlmIChhcnIpIHtcXG4gICAgY2IuY2FsbChzY29wZSwgYXJyKTtcXG4gIH1cXG59XFxuXFxuLyoqXFxuICogSW50ZXJuYWwgcXVldWUgb2YgZXZlbnRzIHRoYXQgaGF2ZSBhY2N1bXVsYXRlZCB0aGVpciBkaXNwYXRjaGVzIGFuZCBhcmVcXG4gKiB3YWl0aW5nIHRvIGhhdmUgdGhlaXIgZGlzcGF0Y2hlcyBleGVjdXRlZC5cXG4gKi9cXG5cXG52YXIgZXZlbnRRdWV1ZSA9IG51bGw7XFxuLyoqXFxuICogRGlzcGF0Y2hlcyBhbiBldmVudCBhbmQgcmVsZWFzZXMgaXQgYmFjayBpbnRvIHRoZSBwb29sLCB1bmxlc3MgcGVyc2lzdGVudC5cXG4gKlxcbiAqIEBwYXJhbSB7P29iamVjdH0gZXZlbnQgU3ludGhldGljIGV2ZW50IHRvIGJlIGRpc3BhdGNoZWQuXFxuICogQHByaXZhdGVcXG4gKi9cXG5cXG52YXIgZXhlY3V0ZURpc3BhdGNoZXNBbmRSZWxlYXNlID0gZnVuY3Rpb24gKGV2ZW50KSB7XFxuICBpZiAoZXZlbnQpIHtcXG4gICAgZXhlY3V0ZURpc3BhdGNoZXNJbk9yZGVyKGV2ZW50KTtcXG5cXG4gICAgaWYgKCFldmVudC5pc1BlcnNpc3RlbnQoKSkge1xcbiAgICAgIGV2ZW50LmNvbnN0cnVjdG9yLnJlbGVhc2UoZXZlbnQpO1xcbiAgICB9XFxuICB9XFxufTtcXG5cXG52YXIgZXhlY3V0ZURpc3BhdGNoZXNBbmRSZWxlYXNlVG9wTGV2ZWwgPSBmdW5jdGlvbiAoZSkge1xcbiAgcmV0dXJuIGV4ZWN1dGVEaXNwYXRjaGVzQW5kUmVsZWFzZShlKTtcXG59O1xcblxcbmZ1bmN0aW9uIHJ1bkV2ZW50c0luQmF0Y2goZXZlbnRzKSB7XFxuICBpZiAoZXZlbnRzICE9PSBudWxsKSB7XFxuICAgIGV2ZW50UXVldWUgPSBhY2N1bXVsYXRlSW50byhldmVudFF1ZXVlLCBldmVudHMpO1xcbiAgfSAvLyBTZXQgYGV2ZW50UXVldWVgIHRvIG51bGwgYmVmb3JlIHByb2Nlc3NpbmcgaXQgc28gdGhhdCB3ZSBjYW4gdGVsbCBpZiBtb3JlXFxuICAvLyBldmVudHMgZ2V0IGVucXVldWVkIHdoaWxlIHByb2Nlc3NpbmcuXFxuXFxuXFxuICB2YXIgcHJvY2Vzc2luZ0V2ZW50UXVldWUgPSBldmVudFF1ZXVlO1xcbiAgZXZlbnRRdWV1ZSA9IG51bGw7XFxuXFxuICBpZiAoIXByb2Nlc3NpbmdFdmVudFF1ZXVlKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIGZvckVhY2hBY2N1bXVsYXRlZChwcm9jZXNzaW5nRXZlbnRRdWV1ZSwgZXhlY3V0ZURpc3BhdGNoZXNBbmRSZWxlYXNlVG9wTGV2ZWwpO1xcblxcbiAgaWYgKCEhZXZlbnRRdWV1ZSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJwcm9jZXNzRXZlbnRRdWV1ZSgpOiBBZGRpdGlvbmFsIGV2ZW50cyB3ZXJlIGVucXVldWVkIHdoaWxlIHByb2Nlc3NpbmcgYW4gZXZlbnQgcXVldWUuIFN1cHBvcnQgZm9yIHRoaXMgaGFzIG5vdCB5ZXQgYmVlbiBpbXBsZW1lbnRlZC5cXFwiICk7XFxuICAgIH1cXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXFxuXFxuXFxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcXG59XFxuXFxuLyoqXFxuICogR2V0cyB0aGUgdGFyZ2V0IG5vZGUgZnJvbSBhIG5hdGl2ZSBicm93c2VyIGV2ZW50IGJ5IGFjY291bnRpbmcgZm9yXFxuICogaW5jb25zaXN0ZW5jaWVzIGluIGJyb3dzZXIgRE9NIEFQSXMuXFxuICpcXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnQgTmF0aXZlIGJyb3dzZXIgZXZlbnQuXFxuICogQHJldHVybiB7RE9NRXZlbnRUYXJnZXR9IFRhcmdldCBub2RlLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSB7XFxuICAvLyBGYWxsYmFjayB0byBuYXRpdmVFdmVudC5zcmNFbGVtZW50IGZvciBJRTlcXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTI1MDZcXG4gIHZhciB0YXJnZXQgPSBuYXRpdmVFdmVudC50YXJnZXQgfHwgbmF0aXZlRXZlbnQuc3JjRWxlbWVudCB8fCB3aW5kb3c7IC8vIE5vcm1hbGl6ZSBTVkcgPHVzZT4gZWxlbWVudCBldmVudHMgIzQ5NjNcXG5cXG4gIGlmICh0YXJnZXQuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpIHtcXG4gICAgdGFyZ2V0ID0gdGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50O1xcbiAgfSAvLyBTYWZhcmkgbWF5IGZpcmUgZXZlbnRzIG9uIHRleHQgbm9kZXMgKE5vZGUuVEVYVF9OT0RFIGlzIDMpLlxcbiAgLy8gQHNlZSBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2pzL2V2ZW50c19wcm9wZXJ0aWVzLmh0bWxcXG5cXG5cXG4gIHJldHVybiB0YXJnZXQubm9kZVR5cGUgPT09IFRFWFRfTk9ERSA/IHRhcmdldC5wYXJlbnROb2RlIDogdGFyZ2V0O1xcbn1cXG5cXG4vKipcXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cXG4gKlxcbiAqIE5PVEU6IFRoaXMgd2lsbCBub3Qgd29yayBjb3JyZWN0bHkgZm9yIG5vbi1nZW5lcmljIGV2ZW50cyBzdWNoIGFzIGBjaGFuZ2VgLFxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxcbiAqXFxuICogQm9ycm93cyBmcm9tIE1vZGVybml6ci5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVTdWZmaXggRXZlbnQgbmFtZSwgZS5nLiBcXFwiY2xpY2tcXFwiLlxcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cXG4gKiBAaW50ZXJuYWxcXG4gKiBAbGljZW5zZSBNb2Rlcm5penIgMy4wLjBwcmUgKEN1c3RvbSBCdWlsZCkgfCBNSVRcXG4gKi9cXG5cXG5mdW5jdGlvbiBpc0V2ZW50U3VwcG9ydGVkKGV2ZW50TmFtZVN1ZmZpeCkge1xcbiAgaWYgKCFjYW5Vc2VET00pIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIGV2ZW50TmFtZSA9ICdvbicgKyBldmVudE5hbWVTdWZmaXg7XFxuICB2YXIgaXNTdXBwb3J0ZWQgPSBldmVudE5hbWUgaW4gZG9jdW1lbnQ7XFxuXFxuICBpZiAoIWlzU3VwcG9ydGVkKSB7XFxuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XFxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGV2ZW50TmFtZSwgJ3JldHVybjsnKTtcXG4gICAgaXNTdXBwb3J0ZWQgPSB0eXBlb2YgZWxlbWVudFtldmVudE5hbWVdID09PSAnZnVuY3Rpb24nO1xcbiAgfVxcblxcbiAgcmV0dXJuIGlzU3VwcG9ydGVkO1xcbn1cXG5cXG4vKipcXG4gKiBTdW1tYXJ5IG9mIGBET01FdmVudFBsdWdpblN5c3RlbWAgZXZlbnQgaGFuZGxpbmc6XFxuICpcXG4gKiAgLSBUb3AtbGV2ZWwgZGVsZWdhdGlvbiBpcyB1c2VkIHRvIHRyYXAgbW9zdCBuYXRpdmUgYnJvd3NlciBldmVudHMuIFRoaXNcXG4gKiAgICBtYXkgb25seSBvY2N1ciBpbiB0aGUgbWFpbiB0aHJlYWQgYW5kIGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZlxcbiAqICAgIFJlYWN0RE9NRXZlbnRMaXN0ZW5lciwgd2hpY2ggaXMgaW5qZWN0ZWQgYW5kIGNhbiB0aGVyZWZvcmUgc3VwcG9ydFxcbiAqICAgIHBsdWdnYWJsZSBldmVudCBzb3VyY2VzLiBUaGlzIGlzIHRoZSBvbmx5IHdvcmsgdGhhdCBvY2N1cnMgaW4gdGhlIG1haW5cXG4gKiAgICB0aHJlYWQuXFxuICpcXG4gKiAgLSBXZSBub3JtYWxpemUgYW5kIGRlLWR1cGxpY2F0ZSBldmVudHMgdG8gYWNjb3VudCBmb3IgYnJvd3NlciBxdWlya3MuIFRoaXNcXG4gKiAgICBtYXkgYmUgZG9uZSBpbiB0aGUgd29ya2VyIHRocmVhZC5cXG4gKlxcbiAqICAtIEZvcndhcmQgdGhlc2UgbmF0aXZlIGV2ZW50cyAod2l0aCB0aGUgYXNzb2NpYXRlZCB0b3AtbGV2ZWwgdHlwZSB1c2VkIHRvXFxuICogICAgdHJhcCBpdCkgdG8gYEV2ZW50UGx1Z2luUmVnaXN0cnlgLCB3aGljaCBpbiB0dXJuIHdpbGwgYXNrIHBsdWdpbnMgaWYgdGhleSB3YW50XFxuICogICAgdG8gZXh0cmFjdCBhbnkgc3ludGhldGljIGV2ZW50cy5cXG4gKlxcbiAqICAtIFRoZSBgRXZlbnRQbHVnaW5SZWdpc3RyeWAgd2lsbCB0aGVuIHByb2Nlc3MgZWFjaCBldmVudCBieSBhbm5vdGF0aW5nIHRoZW0gd2l0aFxcbiAqICAgIFxcXCJkaXNwYXRjaGVzXFxcIiwgYSBzZXF1ZW5jZSBvZiBsaXN0ZW5lcnMgYW5kIElEcyB0aGF0IGNhcmUgYWJvdXQgdGhhdCBldmVudC5cXG4gKlxcbiAqICAtIFRoZSBgRXZlbnRQbHVnaW5SZWdpc3RyeWAgdGhlbiBkaXNwYXRjaGVzIHRoZSBldmVudHMuXFxuICpcXG4gKiBPdmVydmlldyBvZiBSZWFjdCBhbmQgdGhlIGV2ZW50IHN5c3RlbTpcXG4gKlxcbiAqICstLS0tLS0tLS0tLS0rICAgIC5cXG4gKiB8ICAgIERPTSAgICAgfCAgICAuXFxuICogKy0tLS0tLS0tLS0tLSsgICAgLlxcbiAqICAgICAgIHwgICAgICAgICAgIC5cXG4gKiAgICAgICB2ICAgICAgICAgICAuXFxuICogKy0tLS0tLS0tLS0tLSsgICAgLlxcbiAqIHwgUmVhY3RFdmVudCB8ICAgIC5cXG4gKiB8ICBMaXN0ZW5lciAgfCAgICAuXFxuICogKy0tLS0tLS0tLS0tLSsgICAgLiAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rXFxuICogICAgICAgfCAgICAgICAgICAgLiAgICAgICAgICAgICAgICstLS0tLS0tLSt8U2ltcGxlRXZlbnR8XFxuICogICAgICAgfCAgICAgICAgICAgLiAgICAgICAgICAgICAgIHwgICAgICAgICB8UGx1Z2luICAgICB8XFxuICogKy0tLS0tfC0tLS0tLSsgICAgLiAgICAgICAgICAgICAgIHYgICAgICAgICArLS0tLS0tLS0tLS0rXFxuICogfCAgICAgfCAgICAgIHwgICAgLiAgICArLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tK1xcbiAqIHwgICAgICstLS0tLS0tLS0tLS4tLS0+fFBsdWdpblJlZ2lzdHJ5fCAgICAgICAgICAgICAgICAgICAgfCAgICBFdmVudCAgIHxcXG4gKiB8ICAgICAgICAgICAgfCAgICAuICAgIHwgICAgICAgICAgICAgIHwgICAgICstLS0tLS0tLS0tLSsgIHwgUHJvcGFnYXRvcnN8XFxuICogfCBSZWFjdEV2ZW50IHwgICAgLiAgICB8ICAgICAgICAgICAgICB8ICAgICB8VGFwRXZlbnQgICB8ICB8LS0tLS0tLS0tLS0tfFxcbiAqIHwgIEVtaXR0ZXIgICB8ICAgIC4gICAgfCAgICAgICAgICAgICAgfDwtLS0rfFBsdWdpbiAgICAgfCAgfG90aGVyIHBsdWdpbnxcXG4gKiB8ICAgICAgICAgICAgfCAgICAuICAgIHwgICAgICAgICAgICAgIHwgICAgICstLS0tLS0tLS0tLSsgIHwgIHV0aWxpdGllcyB8XFxuICogfCAgICAgKy0tLS0tLS0tLS0tLi0tLT58ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tK1xcbiAqIHwgICAgIHwgICAgICB8ICAgIC4gICAgKy0tLS0tLS0tLS0tLS0tK1xcbiAqICstLS0tLXwtLS0tLS0rICAgIC4gICAgICAgICAgICAgICAgXiAgICAgICAgKy0tLS0tLS0tLS0tK1xcbiAqICAgICAgIHwgICAgICAgICAgIC4gICAgICAgICAgICAgICAgfCAgICAgICAgfEVudGVyL0xlYXZlfFxcbiAqICAgICAgICsgICAgICAgICAgIC4gICAgICAgICAgICAgICAgKy0tLS0tLS0rfFBsdWdpbiAgICAgfFxcbiAqICstLS0tLS0tLS0tLS0tKyAgIC4gICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tK1xcbiAqIHwgYXBwbGljYXRpb24gfCAgIC5cXG4gKiB8LS0tLS0tLS0tLS0tLXwgICAuXFxuICogfCAgICAgICAgICAgICB8ICAgLlxcbiAqIHwgICAgICAgICAgICAgfCAgIC5cXG4gKiArLS0tLS0tLS0tLS0tLSsgICAuXFxuICogICAgICAgICAgICAgICAgICAgLlxcbiAqICAgIFJlYWN0IENvcmUgICAgIC4gIEdlbmVyYWwgUHVycG9zZSBFdmVudCBQbHVnaW4gU3lzdGVtXFxuICovXFxuXFxudmFyIENBTExCQUNLX0JPT0tLRUVQSU5HX1BPT0xfU0laRSA9IDEwO1xcbnZhciBjYWxsYmFja0Jvb2trZWVwaW5nUG9vbCA9IFtdO1xcblxcbmZ1bmN0aW9uIHJlbGVhc2VUb3BMZXZlbENhbGxiYWNrQm9va0tlZXBpbmcoaW5zdGFuY2UpIHtcXG4gIGluc3RhbmNlLnRvcExldmVsVHlwZSA9IG51bGw7XFxuICBpbnN0YW5jZS5uYXRpdmVFdmVudCA9IG51bGw7XFxuICBpbnN0YW5jZS50YXJnZXRJbnN0ID0gbnVsbDtcXG4gIGluc3RhbmNlLmFuY2VzdG9ycy5sZW5ndGggPSAwO1xcblxcbiAgaWYgKGNhbGxiYWNrQm9va2tlZXBpbmdQb29sLmxlbmd0aCA8IENBTExCQUNLX0JPT0tLRUVQSU5HX1BPT0xfU0laRSkge1xcbiAgICBjYWxsYmFja0Jvb2trZWVwaW5nUG9vbC5wdXNoKGluc3RhbmNlKTtcXG4gIH1cXG59IC8vIFVzZWQgdG8gc3RvcmUgYW5jZXN0b3IgaGllcmFyY2h5IGluIHRvcCBsZXZlbCBjYWxsYmFja1xcblxcblxcbmZ1bmN0aW9uIGdldFRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCBldmVudFN5c3RlbUZsYWdzKSB7XFxuICBpZiAoY2FsbGJhY2tCb29ra2VlcGluZ1Bvb2wubGVuZ3RoKSB7XFxuICAgIHZhciBpbnN0YW5jZSA9IGNhbGxiYWNrQm9va2tlZXBpbmdQb29sLnBvcCgpO1xcbiAgICBpbnN0YW5jZS50b3BMZXZlbFR5cGUgPSB0b3BMZXZlbFR5cGU7XFxuICAgIGluc3RhbmNlLmV2ZW50U3lzdGVtRmxhZ3MgPSBldmVudFN5c3RlbUZsYWdzO1xcbiAgICBpbnN0YW5jZS5uYXRpdmVFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICBpbnN0YW5jZS50YXJnZXRJbnN0ID0gdGFyZ2V0SW5zdDtcXG4gICAgcmV0dXJuIGluc3RhbmNlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHtcXG4gICAgdG9wTGV2ZWxUeXBlOiB0b3BMZXZlbFR5cGUsXFxuICAgIGV2ZW50U3lzdGVtRmxhZ3M6IGV2ZW50U3lzdGVtRmxhZ3MsXFxuICAgIG5hdGl2ZUV2ZW50OiBuYXRpdmVFdmVudCxcXG4gICAgdGFyZ2V0SW5zdDogdGFyZ2V0SW5zdCxcXG4gICAgYW5jZXN0b3JzOiBbXVxcbiAgfTtcXG59XFxuLyoqXFxuICogRmluZCB0aGUgZGVlcGVzdCBSZWFjdCBjb21wb25lbnQgY29tcGxldGVseSBjb250YWluaW5nIHRoZSByb290IG9mIHRoZVxcbiAqIHBhc3NlZC1pbiBpbnN0YW5jZSAoZm9yIHVzZSB3aGVuIGVudGlyZSBSZWFjdCB0cmVlcyBhcmUgbmVzdGVkIHdpdGhpbiBlYWNoXFxuICogb3RoZXIpLiBJZiBSZWFjdCB0cmVlcyBhcmUgbm90IG5lc3RlZCwgcmV0dXJucyBudWxsLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGZpbmRSb290Q29udGFpbmVyTm9kZShpbnN0KSB7XFxuICBpZiAoaW5zdC50YWcgPT09IEhvc3RSb290KSB7XFxuICAgIHJldHVybiBpbnN0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgfSAvLyBUT0RPOiBJdCBtYXkgYmUgYSBnb29kIGlkZWEgdG8gY2FjaGUgdGhpcyB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IERPTVxcbiAgLy8gdHJhdmVyc2FsLCBidXQgY2FjaGluZyBpcyBkaWZmaWN1bHQgdG8gZG8gY29ycmVjdGx5IHdpdGhvdXQgdXNpbmcgYVxcbiAgLy8gbXV0YXRpb24gb2JzZXJ2ZXIgdG8gbGlzdGVuIGZvciBhbGwgRE9NIGNoYW5nZXMuXFxuXFxuXFxuICB3aGlsZSAoaW5zdC5yZXR1cm4pIHtcXG4gICAgaW5zdCA9IGluc3QucmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKGluc3QudGFnICE9PSBIb3N0Um9vdCkge1xcbiAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgd2UncmUgaW4gYSBkZXRhY2hlZCB0cmVlLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHJldHVybiBpbnN0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbn1cXG4vKipcXG4gKiBBbGxvd3MgcmVnaXN0ZXJlZCBwbHVnaW5zIGFuIG9wcG9ydHVuaXR5IHRvIGV4dHJhY3QgZXZlbnRzIGZyb20gdG9wLWxldmVsXFxuICogbmF0aXZlIGJyb3dzZXIgZXZlbnRzLlxcbiAqXFxuICogQHJldHVybiB7Kn0gQW4gYWNjdW11bGF0aW9uIG9mIHN5bnRoZXRpYyBldmVudHMuXFxuICogQGludGVybmFsXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZXh0cmFjdFBsdWdpbkV2ZW50cyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgdmFyIGV2ZW50cyA9IG51bGw7XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBsdWdpbnMubGVuZ3RoOyBpKyspIHtcXG4gICAgLy8gTm90IGV2ZXJ5IHBsdWdpbiBpbiB0aGUgb3JkZXJpbmcgbWF5IGJlIGxvYWRlZCBhdCBydW50aW1lLlxcbiAgICB2YXIgcG9zc2libGVQbHVnaW4gPSBwbHVnaW5zW2ldO1xcblxcbiAgICBpZiAocG9zc2libGVQbHVnaW4pIHtcXG4gICAgICB2YXIgZXh0cmFjdGVkRXZlbnRzID0gcG9zc2libGVQbHVnaW4uZXh0cmFjdEV2ZW50cyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XFxuXFxuICAgICAgaWYgKGV4dHJhY3RlZEV2ZW50cykge1xcbiAgICAgICAgZXZlbnRzID0gYWNjdW11bGF0ZUludG8oZXZlbnRzLCBleHRyYWN0ZWRFdmVudHMpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGV2ZW50cztcXG59XFxuXFxuZnVuY3Rpb24gcnVuRXh0cmFjdGVkUGx1Z2luRXZlbnRzSW5CYXRjaCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgdmFyIGV2ZW50cyA9IGV4dHJhY3RQbHVnaW5FdmVudHModG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpO1xcbiAgcnVuRXZlbnRzSW5CYXRjaChldmVudHMpO1xcbn1cXG5cXG5mdW5jdGlvbiBoYW5kbGVUb3BMZXZlbChib29rS2VlcGluZykge1xcbiAgdmFyIHRhcmdldEluc3QgPSBib29rS2VlcGluZy50YXJnZXRJbnN0OyAvLyBMb29wIHRocm91Z2ggdGhlIGhpZXJhcmNoeSwgaW4gY2FzZSB0aGVyZSdzIGFueSBuZXN0ZWQgY29tcG9uZW50cy5cXG4gIC8vIEl0J3MgaW1wb3J0YW50IHRoYXQgd2UgYnVpbGQgdGhlIGFycmF5IG9mIGFuY2VzdG9ycyBiZWZvcmUgY2FsbGluZyBhbnlcXG4gIC8vIGV2ZW50IGhhbmRsZXJzLCBiZWNhdXNlIGV2ZW50IGhhbmRsZXJzIGNhbiBtb2RpZnkgdGhlIERPTSwgbGVhZGluZyB0b1xcbiAgLy8gaW5jb25zaXN0ZW5jaWVzIHdpdGggUmVhY3RNb3VudCdzIG5vZGUgY2FjaGUuIFNlZSAjMTEwNS5cXG5cXG4gIHZhciBhbmNlc3RvciA9IHRhcmdldEluc3Q7XFxuXFxuICBkbyB7XFxuICAgIGlmICghYW5jZXN0b3IpIHtcXG4gICAgICB2YXIgYW5jZXN0b3JzID0gYm9va0tlZXBpbmcuYW5jZXN0b3JzO1xcbiAgICAgIGFuY2VzdG9ycy5wdXNoKGFuY2VzdG9yKTtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICB2YXIgcm9vdCA9IGZpbmRSb290Q29udGFpbmVyTm9kZShhbmNlc3Rvcik7XFxuXFxuICAgIGlmICghcm9vdCkge1xcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciB0YWcgPSBhbmNlc3Rvci50YWc7XFxuXFxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgIGJvb2tLZWVwaW5nLmFuY2VzdG9ycy5wdXNoKGFuY2VzdG9yKTtcXG4gICAgfVxcblxcbiAgICBhbmNlc3RvciA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHJvb3QpO1xcbiAgfSB3aGlsZSAoYW5jZXN0b3IpO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBib29rS2VlcGluZy5hbmNlc3RvcnMubGVuZ3RoOyBpKyspIHtcXG4gICAgdGFyZ2V0SW5zdCA9IGJvb2tLZWVwaW5nLmFuY2VzdG9yc1tpXTtcXG4gICAgdmFyIGV2ZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoYm9va0tlZXBpbmcubmF0aXZlRXZlbnQpO1xcbiAgICB2YXIgdG9wTGV2ZWxUeXBlID0gYm9va0tlZXBpbmcudG9wTGV2ZWxUeXBlO1xcbiAgICB2YXIgbmF0aXZlRXZlbnQgPSBib29rS2VlcGluZy5uYXRpdmVFdmVudDtcXG4gICAgdmFyIGV2ZW50U3lzdGVtRmxhZ3MgPSBib29rS2VlcGluZy5ldmVudFN5c3RlbUZsYWdzOyAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhbmNlc3Rvciwgd2UgbWFyayBpdCBvbiB0aGUgc3lzdGVtIGZsYWdzXFxuXFxuICAgIGlmIChpID09PSAwKSB7XFxuICAgICAgZXZlbnRTeXN0ZW1GbGFncyB8PSBJU19GSVJTVF9BTkNFU1RPUjtcXG4gICAgfVxcblxcbiAgICBydW5FeHRyYWN0ZWRQbHVnaW5FdmVudHNJbkJhdGNoKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIGV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudEZvckxlZ2FjeVBsdWdpbkV2ZW50U3lzdGVtKHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QpIHtcXG4gIHZhciBib29rS2VlcGluZyA9IGdldFRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCBldmVudFN5c3RlbUZsYWdzKTtcXG5cXG4gIHRyeSB7XFxuICAgIC8vIEV2ZW50IHF1ZXVlIGJlaW5nIHByb2Nlc3NlZCBpbiB0aGUgc2FtZSBjeWNsZSBhbGxvd3NcXG4gICAgLy8gYHByZXZlbnREZWZhdWx0YC5cXG4gICAgYmF0Y2hlZEV2ZW50VXBkYXRlcyhoYW5kbGVUb3BMZXZlbCwgYm9va0tlZXBpbmcpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgcmVsZWFzZVRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyhib29rS2VlcGluZyk7XFxuICB9XFxufVxcbi8qKlxcbiAqIFdlIGxpc3RlbiBmb3IgYnViYmxlZCB0b3VjaCBldmVudHMgb24gdGhlIGRvY3VtZW50IG9iamVjdC5cXG4gKlxcbiAqIEZpcmVmb3ggdjguMDEgKGFuZCBwb3NzaWJseSBvdGhlcnMpIGV4aGliaXRlZCBzdHJhbmdlIGJlaGF2aW9yIHdoZW5cXG4gKiBtb3VudGluZyBgb25tb3VzZW1vdmVgIGV2ZW50cyBhdCBzb21lIG5vZGUgdGhhdCB3YXMgbm90IHRoZSBkb2N1bWVudFxcbiAqIGVsZW1lbnQuIFRoZSBzeW1wdG9tcyB3ZXJlIHRoYXQgaWYgeW91ciBtb3VzZSBpcyBub3QgbW92aW5nIG92ZXIgc29tZXRoaW5nXFxuICogY29udGFpbmVkIHdpdGhpbiB0aGF0IG1vdW50IHBvaW50IChmb3IgZXhhbXBsZSBvbiB0aGUgYmFja2dyb3VuZCkgdGhlXFxuICogdG9wLWxldmVsIGxpc3RlbmVycyBmb3IgYG9ubW91c2Vtb3ZlYCB3b24ndCBiZSBjYWxsZWQuIEhvd2V2ZXIsIGlmIHlvdVxcbiAqIHJlZ2lzdGVyIHRoZSBgbW91c2Vtb3ZlYCBvbiB0aGUgZG9jdW1lbnQgb2JqZWN0LCB0aGVuIGl0IHdpbGwgb2YgY291cnNlXFxuICogY2F0Y2ggYWxsIGBtb3VzZW1vdmVgcy4gVGhpcyBhbG9uZyB3aXRoIGlPUyBxdWlya3MsIGp1c3RpZmllcyByZXN0cmljdGluZ1xcbiAqIHRvcC1sZXZlbCBsaXN0ZW5lcnMgdG8gdGhlIGRvY3VtZW50IG9iamVjdCBvbmx5LCBhdCBsZWFzdCBmb3IgdGhlc2VcXG4gKiBtb3ZlbWVudCB0eXBlcyBvZiBldmVudHMgYW5kIHBvc3NpYmx5IGFsbCBldmVudHMuXFxuICpcXG4gKiBAc2VlIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDEwLzA5L2NsaWNrX2V2ZW50X2RlbC5odG1sXFxuICpcXG4gKiBBbHNvLCBga2V5dXBgL2BrZXlwcmVzc2AvYGtleWRvd25gIGRvIG5vdCBidWJibGUgdG8gdGhlIHdpbmRvdyBvbiBJRSwgYnV0XFxuICogdGhleSBidWJibGUgdG8gZG9jdW1lbnQuXFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVnaXN0cmF0aW9uTmFtZSBOYW1lIG9mIGxpc3RlbmVyIChlLmcuIGBvbkNsaWNrYCkuXFxuICogQHBhcmFtIHtvYmplY3R9IG1vdW50QXQgQ29udGFpbmVyIHdoZXJlIHRvIG1vdW50IHRoZSBsaXN0ZW5lclxcbiAqL1xcblxcbmZ1bmN0aW9uIGxlZ2FjeUxpc3RlblRvRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgbW91bnRBdCkge1xcbiAgdmFyIGxpc3RlbmVyTWFwID0gZ2V0TGlzdGVuZXJNYXBGb3JFbGVtZW50KG1vdW50QXQpO1xcbiAgdmFyIGRlcGVuZGVuY2llcyA9IHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV07XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRlcGVuZGVuY2llcy5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgZGVwZW5kZW5jeSA9IGRlcGVuZGVuY2llc1tpXTtcXG4gICAgbGVnYWN5TGlzdGVuVG9Ub3BMZXZlbEV2ZW50KGRlcGVuZGVuY3ksIG1vdW50QXQsIGxpc3RlbmVyTWFwKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gbGVnYWN5TGlzdGVuVG9Ub3BMZXZlbEV2ZW50KHRvcExldmVsVHlwZSwgbW91bnRBdCwgbGlzdGVuZXJNYXApIHtcXG4gIGlmICghbGlzdGVuZXJNYXAuaGFzKHRvcExldmVsVHlwZSkpIHtcXG4gICAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgICBjYXNlIFRPUF9TQ1JPTEw6XFxuICAgICAgICB0cmFwQ2FwdHVyZWRFdmVudChUT1BfU0NST0xMLCBtb3VudEF0KTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxcbiAgICAgIGNhc2UgVE9QX0JMVVI6XFxuICAgICAgICB0cmFwQ2FwdHVyZWRFdmVudChUT1BfRk9DVVMsIG1vdW50QXQpO1xcbiAgICAgICAgdHJhcENhcHR1cmVkRXZlbnQoVE9QX0JMVVIsIG1vdW50QXQpOyAvLyBXZSBzZXQgdGhlIGZsYWcgZm9yIGEgc2luZ2xlIGRlcGVuZGVuY3kgbGF0ZXIgaW4gdGhpcyBmdW5jdGlvbixcXG4gICAgICAgIC8vIGJ1dCB0aGlzIGVuc3VyZXMgd2UgbWFyayBib3RoIGFzIGF0dGFjaGVkIHJhdGhlciB0aGFuIGp1c3Qgb25lLlxcblxcbiAgICAgICAgbGlzdGVuZXJNYXAuc2V0KFRPUF9CTFVSLCBudWxsKTtcXG4gICAgICAgIGxpc3RlbmVyTWFwLnNldChUT1BfRk9DVVMsIG51bGwpO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ0FOQ0VMOlxcbiAgICAgIGNhc2UgVE9QX0NMT1NFOlxcbiAgICAgICAgaWYgKGlzRXZlbnRTdXBwb3J0ZWQoZ2V0UmF3RXZlbnROYW1lKHRvcExldmVsVHlwZSkpKSB7XFxuICAgICAgICAgIHRyYXBDYXB0dXJlZEV2ZW50KHRvcExldmVsVHlwZSwgbW91bnRBdCk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9JTlZBTElEOlxcbiAgICAgIGNhc2UgVE9QX1NVQk1JVDpcXG4gICAgICBjYXNlIFRPUF9SRVNFVDpcXG4gICAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVtIG9uIHRoZSB0YXJnZXQgRE9NIGVsZW1lbnRzLlxcbiAgICAgICAgLy8gU29tZSBvZiB0aGVtIGJ1YmJsZSBzbyB3ZSBkb24ndCB3YW50IHRoZW0gdG8gZmlyZSB0d2ljZS5cXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICAvLyBCeSBkZWZhdWx0LCBsaXN0ZW4gb24gdGhlIHRvcCBsZXZlbCB0byBhbGwgbm9uLW1lZGlhIGV2ZW50cy5cXG4gICAgICAgIC8vIE1lZGlhIGV2ZW50cyBkb24ndCBidWJibGUgc28gYWRkaW5nIHRoZSBsaXN0ZW5lciB3b3VsZG4ndCBkbyBhbnl0aGluZy5cXG4gICAgICAgIHZhciBpc01lZGlhRXZlbnQgPSBtZWRpYUV2ZW50VHlwZXMuaW5kZXhPZih0b3BMZXZlbFR5cGUpICE9PSAtMTtcXG5cXG4gICAgICAgIGlmICghaXNNZWRpYUV2ZW50KSB7XFxuICAgICAgICAgIHRyYXBCdWJibGVkRXZlbnQodG9wTGV2ZWxUeXBlLCBtb3VudEF0KTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIGxpc3RlbmVyTWFwLnNldCh0b3BMZXZlbFR5cGUsIG51bGwpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBpc0xpc3RlbmluZ1RvQWxsRGVwZW5kZW5jaWVzKHJlZ2lzdHJhdGlvbk5hbWUsIG1vdW50QXQpIHtcXG4gIHZhciBsaXN0ZW5lck1hcCA9IGdldExpc3RlbmVyTWFwRm9yRWxlbWVudChtb3VudEF0KTtcXG4gIHZhciBkZXBlbmRlbmNpZXMgPSByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzW3JlZ2lzdHJhdGlvbk5hbWVdO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZXBlbmRlbmNpZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmNpZXNbaV07XFxuXFxuICAgIGlmICghbGlzdGVuZXJNYXAuaGFzKGRlcGVuZGVuY3kpKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuXFxudmFyIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb247XFxuZnVuY3Rpb24gc2V0QXR0ZW1wdFVzZXJCbG9ja2luZ0h5ZHJhdGlvbihmbikge1xcbiAgYXR0ZW1wdFVzZXJCbG9ja2luZ0h5ZHJhdGlvbiA9IGZuO1xcbn1cXG52YXIgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb247XFxuZnVuY3Rpb24gc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oZm4pIHtcXG4gIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uID0gZm47XFxufVxcbnZhciBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHk7XFxuZnVuY3Rpb24gc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5KGZuKSB7XFxuICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkgPSBmbjtcXG59IC8vIFRPRE86IFVwZ3JhZGUgdGhpcyBkZWZpbml0aW9uIG9uY2Ugd2UncmUgb24gYSBuZXdlciB2ZXJzaW9uIG9mIEZsb3cgdGhhdFxcbnZhciBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7IC8vIFRoZSBxdWV1ZSBvZiBkaXNjcmV0ZSBldmVudHMgdG8gYmUgcmVwbGF5ZWQuXFxuXFxudmFyIHF1ZXVlZERpc2NyZXRlRXZlbnRzID0gW107IC8vIEluZGljYXRlcyBpZiBhbnkgY29udGludW91cyBldmVudCB0YXJnZXRzIGFyZSBub24tbnVsbCBmb3IgZWFybHkgYmFpbG91dC5cXG4vLyBpZiB0aGUgbGFzdCB0YXJnZXQgd2FzIGRlaHlkcmF0ZWQuXFxuXFxudmFyIHF1ZXVlZEZvY3VzID0gbnVsbDtcXG52YXIgcXVldWVkRHJhZyA9IG51bGw7XFxudmFyIHF1ZXVlZE1vdXNlID0gbnVsbDsgLy8gRm9yIHBvaW50ZXIgZXZlbnRzIHRoZXJlIGNhbiBiZSBvbmUgbGF0ZXN0IGV2ZW50IHBlciBwb2ludGVySWQuXFxuXFxudmFyIHF1ZXVlZFBvaW50ZXJzID0gbmV3IE1hcCgpO1xcbnZhciBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMgPSBuZXcgTWFwKCk7IC8vIFdlIGNvdWxkIGNvbnNpZGVyIHJlcGxheWluZyBzZWxlY3Rpb25jaGFuZ2UgYW5kIHRvdWNobW92ZXMgdG9vLlxcblxcbnZhciBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMgPSBbXTtcXG5mdW5jdGlvbiBoYXNRdWV1ZWREaXNjcmV0ZUV2ZW50cygpIHtcXG4gIHJldHVybiBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5sZW5ndGggPiAwO1xcbn1cXG52YXIgZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzID0gW1RPUF9NT1VTRV9ET1dOLCBUT1BfTU9VU0VfVVAsIFRPUF9UT1VDSF9DQU5DRUwsIFRPUF9UT1VDSF9FTkQsIFRPUF9UT1VDSF9TVEFSVCwgVE9QX0FVWF9DTElDSywgVE9QX0RPVUJMRV9DTElDSywgVE9QX1BPSU5URVJfQ0FOQ0VMLCBUT1BfUE9JTlRFUl9ET1dOLCBUT1BfUE9JTlRFUl9VUCwgVE9QX0RSQUdfRU5ELCBUT1BfRFJBR19TVEFSVCwgVE9QX0RST1AsIFRPUF9DT01QT1NJVElPTl9FTkQsIFRPUF9DT01QT1NJVElPTl9TVEFSVCwgVE9QX0tFWV9ET1dOLCBUT1BfS0VZX1BSRVNTLCBUT1BfS0VZX1VQLCBUT1BfSU5QVVQsIFRPUF9URVhUX0lOUFVULCBUT1BfQ0xPU0UsIFRPUF9DQU5DRUwsIFRPUF9DT1BZLCBUT1BfQ1VULCBUT1BfUEFTVEUsIFRPUF9DTElDSywgVE9QX0NIQU5HRSwgVE9QX0NPTlRFWFRfTUVOVSwgVE9QX1JFU0VULCBUT1BfU1VCTUlUXTtcXG52YXIgY29udGludW91c1JlcGxheWFibGVFdmVudHMgPSBbVE9QX0ZPQ1VTLCBUT1BfQkxVUiwgVE9QX0RSQUdfRU5URVIsIFRPUF9EUkFHX0xFQVZFLCBUT1BfTU9VU0VfT1ZFUiwgVE9QX01PVVNFX09VVCwgVE9QX1BPSU5URVJfT1ZFUiwgVE9QX1BPSU5URVJfT1VULCBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRSwgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFXTtcXG5mdW5jdGlvbiBpc1JlcGxheWFibGVEaXNjcmV0ZUV2ZW50KGV2ZW50VHlwZSkge1xcbiAgcmV0dXJuIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cy5pbmRleE9mKGV2ZW50VHlwZSkgPiAtMTtcXG59XFxuXFxuZnVuY3Rpb24gdHJhcFJlcGxheWFibGVFdmVudEZvckRvY3VtZW50KHRvcExldmVsVHlwZSwgZG9jdW1lbnQsIGxpc3RlbmVyTWFwKSB7XFxuICBsZWdhY3lMaXN0ZW5Ub1RvcExldmVsRXZlbnQodG9wTGV2ZWxUeXBlLCBkb2N1bWVudCwgbGlzdGVuZXJNYXApO1xcbn1cXG5cXG5mdW5jdGlvbiBlYWdlcmx5VHJhcFJlcGxheWFibGVFdmVudHMoY29udGFpbmVyLCBkb2N1bWVudCkge1xcbiAgdmFyIGxpc3RlbmVyTWFwRm9yRG9jID0gZ2V0TGlzdGVuZXJNYXBGb3JFbGVtZW50KGRvY3VtZW50KTsgLy8gRGlzY3JldGVcXG5cXG4gIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgdHJhcFJlcGxheWFibGVFdmVudEZvckRvY3VtZW50KHRvcExldmVsVHlwZSwgZG9jdW1lbnQsIGxpc3RlbmVyTWFwRm9yRG9jKTtcXG4gIH0pOyAvLyBDb250aW51b3VzXFxuXFxuICBjb250aW51b3VzUmVwbGF5YWJsZUV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgdHJhcFJlcGxheWFibGVFdmVudEZvckRvY3VtZW50KHRvcExldmVsVHlwZSwgZG9jdW1lbnQsIGxpc3RlbmVyTWFwRm9yRG9jKTtcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIHJldHVybiB7XFxuICAgIGJsb2NrZWRPbjogYmxvY2tlZE9uLFxcbiAgICB0b3BMZXZlbFR5cGU6IHRvcExldmVsVHlwZSxcXG4gICAgZXZlbnRTeXN0ZW1GbGFnczogZXZlbnRTeXN0ZW1GbGFncyB8IElTX1JFUExBWUVELFxcbiAgICBuYXRpdmVFdmVudDogbmF0aXZlRXZlbnQsXFxuICAgIGNvbnRhaW5lcjogY29udGFpbmVyXFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBxdWV1ZURpc2NyZXRlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIHZhciBxdWV1ZWRFdmVudCA9IGNyZWF0ZVF1ZXVlZFJlcGxheWFibGVFdmVudChibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCk7XFxuICBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5wdXNoKHF1ZXVlZEV2ZW50KTtcXG59IC8vIFJlc2V0cyB0aGUgcmVwbGF5aW5nIGZvciB0aGlzIHR5cGUgb2YgY29udGludW91cyBldmVudCB0byBubyBldmVudC5cXG5cXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpIHtcXG4gIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XFxuICAgIGNhc2UgVE9QX0ZPQ1VTOlxcbiAgICBjYXNlIFRPUF9CTFVSOlxcbiAgICAgIHF1ZXVlZEZvY3VzID0gbnVsbDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBUT1BfRFJBR19FTlRFUjpcXG4gICAgY2FzZSBUT1BfRFJBR19MRUFWRTpcXG4gICAgICBxdWV1ZWREcmFnID0gbnVsbDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcXG4gICAgY2FzZSBUT1BfTU9VU0VfT1VUOlxcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBUT1BfUE9JTlRFUl9PVkVSOlxcbiAgICBjYXNlIFRPUF9QT0lOVEVSX09VVDpcXG4gICAgICB7XFxuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuZGVsZXRlKHBvaW50ZXJJZCk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgVE9QX0dPVF9QT0lOVEVSX0NBUFRVUkU6XFxuICAgIGNhc2UgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFOlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xcbiAgICAgICAgcXVldWVkUG9pbnRlckNhcHR1cmVzLmRlbGV0ZShfcG9pbnRlcklkKTtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChleGlzdGluZ1F1ZXVlZEV2ZW50LCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcXG4gICAgdmFyIHF1ZXVlZEV2ZW50ID0gY3JlYXRlUXVldWVkUmVwbGF5YWJsZUV2ZW50KGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG5cXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBfZmliZXIyID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKGJsb2NrZWRPbik7XFxuXFxuICAgICAgaWYgKF9maWJlcjIgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIEF0dGVtcHQgdG8gaW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgdGFyZ2V0LlxcbiAgICAgICAgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oX2ZpYmVyMik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBxdWV1ZWRFdmVudDtcXG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxcbiAgLy8gdGhlIGRpZmZlcmVudCBldmVudCBzeXN0ZW1zIGhhdmUgZGlmZmVyZW50IERPTSBldmVudCBsaXN0ZW5lcnMuXFxuICAvLyBXZSBjYW4gYWNjdW11bGF0ZSB0aGUgZmxhZ3MgYW5kIHN0b3JlIGEgc2luZ2xlIGV2ZW50IHRvIGJlXFxuICAvLyByZXBsYXllZC5cXG5cXG5cXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xcbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XFxufVxcblxcbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIC8vIFRoZXNlIHNldCByZWxhdGVkVGFyZ2V0IHRvIG51bGwgYmVjYXVzZSB0aGUgcmVwbGF5ZWQgZXZlbnQgd2lsbCBiZSB0cmVhdGVkIGFzIGlmIHdlXFxuICAvLyBtb3ZlZCBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdyAobm8gdGFyZ2V0KSBvbnRvIHRoZSB0YXJnZXQgb25jZSBpdCBoeWRyYXRlcy5cXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgY2FzZSBUT1BfRk9DVVM6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGZvY3VzRXZlbnQgPSBuYXRpdmVFdmVudDtcXG4gICAgICAgIHF1ZXVlZEZvY3VzID0gYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRGb2N1cywgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgZm9jdXNFdmVudCk7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgVE9QX0RSQUdfRU5URVI6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGRyYWdFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgZHJhZ0V2ZW50KTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcXG4gICAgICB7XFxuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICAgICAgcXVldWVkTW91c2UgPSBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZE1vdXNlLCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBtb3VzZUV2ZW50KTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBUT1BfUE9JTlRFUl9PVkVSOlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBwb2ludGVyRXZlbnQgPSBuYXRpdmVFdmVudDtcXG4gICAgICAgIHZhciBwb2ludGVySWQgPSBwb2ludGVyRXZlbnQucG9pbnRlcklkO1xcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRTpcXG4gICAgICB7XFxuICAgICAgICB2YXIgX3BvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICAgICAgdmFyIF9wb2ludGVySWQyID0gX3BvaW50ZXJFdmVudC5wb2ludGVySWQ7XFxuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxcblxcbmZ1bmN0aW9uIGF0dGVtcHRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldChxdWV1ZWRUYXJnZXQpIHtcXG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudC5cXG4gIC8vIFRyeSB0byB1bmlmeSB0aGVtLiBJdCdzIGEgYml0IHRyaWNreSBzaW5jZSBpdCB3b3VsZCByZXF1aXJlIHR3byByZXR1cm5cXG4gIC8vIHZhbHVlcy5cXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XFxuXFxuICBpZiAodGFyZ2V0SW5zdCAhPT0gbnVsbCkge1xcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xcblxcbiAgICBpZiAobmVhcmVzdE1vdW50ZWQgIT09IG51bGwpIHtcXG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xcblxcbiAgICAgIGlmICh0YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcXG5cXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxcbiAgICAgICAgICAvLyBJbmNyZWFzZSBpdHMgcHJpb3JpdHkuXFxuICAgICAgICAgIHF1ZXVlZFRhcmdldC5ibG9ja2VkT24gPSBpbnN0YW5jZTtcXG4gICAgICAgICAgU2NoZWR1bGVyLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eShxdWV1ZWRUYXJnZXQucHJpb3JpdHksIGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkobmVhcmVzdE1vdW50ZWQpO1xcbiAgICAgICAgICB9KTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSBpZiAodGFnID09PSBIb3N0Um9vdCkge1xcbiAgICAgICAgdmFyIHJvb3QgPSBuZWFyZXN0TW91bnRlZC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAocm9vdC5oeWRyYXRlKSB7XFxuICAgICAgICAgIHF1ZXVlZFRhcmdldC5ibG9ja2VkT24gPSBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpOyAvLyBXZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhIHdheSB0byBpbmNyZWFzZSB0aGUgcHJpb3JpdHkgb2ZcXG4gICAgICAgICAgLy8gYSByb290IG90aGVyIHRoYW4gc3luYy5cXG5cXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnQocXVldWVkRXZlbnQpIHtcXG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gIT09IG51bGwpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIG5leHRCbG9ja2VkT24gPSBhdHRlbXB0VG9EaXNwYXRjaEV2ZW50KHF1ZXVlZEV2ZW50LnRvcExldmVsVHlwZSwgcXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncywgcXVldWVkRXZlbnQuY29udGFpbmVyLCBxdWV1ZWRFdmVudC5uYXRpdmVFdmVudCk7XFxuXFxuICBpZiAobmV4dEJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXFxuICAgIHZhciBfZmliZXIzID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5leHRCbG9ja2VkT24pO1xcblxcbiAgICBpZiAoX2ZpYmVyMyAhPT0gbnVsbCkge1xcbiAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjMpO1xcbiAgICB9XFxuXFxuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50SW5NYXAocXVldWVkRXZlbnQsIGtleSwgbWFwKSB7XFxuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcXG4gICAgbWFwLmRlbGV0ZShrZXkpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiByZXBsYXlVbmJsb2NrZWRFdmVudHMoKSB7XFxuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7IC8vIEZpcnN0IHJlcGxheSBkaXNjcmV0ZSBldmVudHMuXFxuXFxuICB3aGlsZSAocXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoID4gMCkge1xcbiAgICB2YXIgbmV4dERpc2NyZXRlRXZlbnQgPSBxdWV1ZWREaXNjcmV0ZUV2ZW50c1swXTtcXG5cXG4gICAgaWYgKG5leHREaXNjcmV0ZUV2ZW50LmJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXFxuICAgICAgLy8gSW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgYm91bmRhcnkgdG8gdW5ibG9ja1xcbiAgICAgIC8vIHRoZSBuZXh0IGRpc2NyZXRlIGV2ZW50LlxcbiAgICAgIHZhciBfZmliZXI0ID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5leHREaXNjcmV0ZUV2ZW50LmJsb2NrZWRPbik7XFxuXFxuICAgICAgaWYgKF9maWJlcjQgIT09IG51bGwpIHtcXG4gICAgICAgIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24oX2ZpYmVyNCk7XFxuICAgICAgfVxcblxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciBuZXh0QmxvY2tlZE9uID0gYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudChuZXh0RGlzY3JldGVFdmVudC50b3BMZXZlbFR5cGUsIG5leHREaXNjcmV0ZUV2ZW50LmV2ZW50U3lzdGVtRmxhZ3MsIG5leHREaXNjcmV0ZUV2ZW50LmNvbnRhaW5lciwgbmV4dERpc2NyZXRlRXZlbnQubmF0aXZlRXZlbnQpO1xcblxcbiAgICBpZiAobmV4dEJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuIFRyeSBhZ2FpbiBsYXRlci5cXG4gICAgICBuZXh0RGlzY3JldGVFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFdlJ3ZlIHN1Y2Nlc3NmdWxseSByZXBsYXllZCB0aGUgZmlyc3QgZXZlbnQuIExldCdzIHRyeSB0aGUgbmV4dCBvbmUuXFxuICAgICAgcXVldWVkRGlzY3JldGVFdmVudHMuc2hpZnQoKTtcXG4gICAgfVxcbiAgfSAvLyBOZXh0IHJlcGxheSBhbnkgY29udGludW91cyBldmVudHMuXFxuXFxuXFxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcXG4gICAgcXVldWVkRm9jdXMgPSBudWxsO1xcbiAgfVxcblxcbiAgaWYgKHF1ZXVlZERyYWcgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWREcmFnKSkge1xcbiAgICBxdWV1ZWREcmFnID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChxdWV1ZWRNb3VzZSAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZE1vdXNlKSkge1xcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XFxuICB9XFxuXFxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XFxuICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuZm9yRWFjaChhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50SW5NYXApO1xcbn1cXG5cXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRXZlbnQsIHVuYmxvY2tlZCkge1xcbiAgaWYgKHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XFxuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XFxuXFxuICAgIGlmICghaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCkge1xcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxcbiAgICAgIC8vIG5vdyB1bmJsb2NrZWQuIFRoaXMgZmlyc3QgbWlnaHQgbm90IGFjdHVhbGx5IGJlIHVuYmxvY2tlZCB5ZXQuXFxuICAgICAgLy8gV2UgY291bGQgY2hlY2sgaXQgZWFybHkgdG8gYXZvaWQgc2NoZWR1bGluZyBhbiB1bm5lY2Vzc2FyeSBjYWxsYmFjay5cXG5cXG4gICAgICBTY2hlZHVsZXIudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXIudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksIHJlcGxheVVuYmxvY2tlZEV2ZW50cyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcXG4gIC8vIE1hcmsgYW55dGhpbmcgdGhhdCB3YXMgYmxvY2tlZCBvbiB0aGlzIGFzIG5vIGxvbmdlciBibG9ja2VkXFxuICAvLyBhbmQgZWxpZ2libGUgZm9yIGEgcmVwbGF5LlxcbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcXG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZERpc2NyZXRlRXZlbnRzWzBdLCB1bmJsb2NrZWQpOyAvLyBUaGlzIGlzIGEgZXhwb25lbnRpYWwgc2VhcmNoIGZvciBlYWNoIGJvdW5kYXJ5IHRoYXQgY29tbWl0cy4gSSB0aGluayBpdCdzXFxuICAgIC8vIHdvcnRoIGl0IGJlY2F1c2Ugd2UgZXhwZWN0IHZlcnkgZmV3IGRpc2NyZXRlIGV2ZW50cyB0byBxdWV1ZSB1cCBhbmQgb25jZVxcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cXG5cXG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xcblxcbiAgICAgIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChxdWV1ZWRGb2N1cyAhPT0gbnVsbCkge1xcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XFxuICB9XFxuXFxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRHJhZywgdW5ibG9ja2VkKTtcXG4gIH1cXG5cXG4gIGlmIChxdWV1ZWRNb3VzZSAhPT0gbnVsbCkge1xcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkTW91c2UsIHVuYmxvY2tlZCk7XFxuICB9XFxuXFxuICB2YXIgdW5ibG9jayA9IGZ1bmN0aW9uIChxdWV1ZWRFdmVudCkge1xcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xcbiAgfTtcXG5cXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XFxuICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuZm9yRWFjaCh1bmJsb2NrKTtcXG5cXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XFxuICAgIHZhciBxdWV1ZWRUYXJnZXQgPSBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHNbX2ldO1xcblxcbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XFxuICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHdoaWxlIChxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoID4gMCkge1xcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xcblxcbiAgICBpZiAobmV4dEV4cGxpY2l0VGFyZ2V0LmJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXFxuICAgICAgYnJlYWs7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XFxuXFxuICAgICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gPT09IG51bGwpIHtcXG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cXG4gICAgICAgIHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5zaGlmdCgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKGVsZW1lbnQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcXG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCBmYWxzZSk7XFxufVxcbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyKGVsZW1lbnQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcXG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcXG59XFxuXFxuLy8gZG8gaXQgaW4gdHdvIHBsYWNlcywgd2hpY2ggZHVwbGljYXRlcyBsb2dpY1xcbi8vIGFuZCBpbmNyZWFzZXMgdGhlIGJ1bmRsZSBzaXplLCB3ZSBkbyBpdCBhbGxcXG4vLyBoZXJlIG9uY2UuIElmIHdlIHJlbW92ZSBvciByZWZhY3RvciB0aGVcXG4vLyBTaW1wbGVFdmVudFBsdWdpbiwgd2Ugc2hvdWxkIGFsc28gcmVtb3ZlIG9yXFxuLy8gdXBkYXRlIHRoZSBiZWxvdyBsaW5lLlxcblxcbnZhciBzaW1wbGVFdmVudFBsdWdpbkV2ZW50VHlwZXMgPSB7fTtcXG52YXIgdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnID0gbmV3IE1hcCgpO1xcbnZhciBldmVudFByaW9yaXRpZXMgPSBuZXcgTWFwKCk7IC8vIFdlIHN0b3JlIG1vc3Qgb2YgdGhlIGV2ZW50cyBpbiB0aGlzIG1vZHVsZSBpbiBwYWlycyBvZiB0d28gc3RyaW5ncyBzbyB3ZSBjYW4gcmUtdXNlXFxuLy8gdGhlIGNvZGUgcmVxdWlyZWQgdG8gYXBwbHkgdGhlIHNhbWUgbG9naWMgZm9yIGV2ZW50IHByaW9yaXRpemF0aW9uIGFuZCB0aGF0IG9mIHRoZVxcbi8vIFNpbXBsZUV2ZW50UGx1Z2luLiBUaGlzIGNvbXBsaWNhdGVzIHRoaW5ncyBzbGlnaHRseSwgYnV0IHRoZSBhaW0gaXMgdG8gcmVkdWNlIGNvZGVcXG4vLyBkdXBsaWNhdGlvbiAoZm9yIHdoaWNoIHRoZXJlIHdvdWxkIGJlIHF1aXRlIGEgYml0KS4gRm9yIHRoZSBldmVudHMgdGhhdCBhcmUgbm90IG5lZWRlZFxcbi8vIGZvciB0aGUgU2ltcGxlRXZlbnRQbHVnaW4gKG90aGVyRGlzY3JldGVFdmVudHMpIHdlIHByb2Nlc3MgdGhlbSBzZXBhcmF0ZWx5IGFzIGFuXFxuLy8gYXJyYXkgb2YgdG9wIGxldmVsIGV2ZW50cy5cXG4vLyBMYXN0bHksIHdlIGlnbm9yZSBwcmV0dGllciBzbyB3ZSBjYW4ga2VlcCB0aGUgZm9ybWF0dGluZyBzYW5lLlxcbi8vIHByZXR0aWVyLWlnbm9yZVxcblxcbnZhciBkaXNjcmV0ZUV2ZW50UGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiA9IFtUT1BfQkxVUiwgJ2JsdXInLCBUT1BfQ0FOQ0VMLCAnY2FuY2VsJywgVE9QX0NMSUNLLCAnY2xpY2snLCBUT1BfQ0xPU0UsICdjbG9zZScsIFRPUF9DT05URVhUX01FTlUsICdjb250ZXh0TWVudScsIFRPUF9DT1BZLCAnY29weScsIFRPUF9DVVQsICdjdXQnLCBUT1BfQVVYX0NMSUNLLCAnYXV4Q2xpY2snLCBUT1BfRE9VQkxFX0NMSUNLLCAnZG91YmxlQ2xpY2snLCBUT1BfRFJBR19FTkQsICdkcmFnRW5kJywgVE9QX0RSQUdfU1RBUlQsICdkcmFnU3RhcnQnLCBUT1BfRFJPUCwgJ2Ryb3AnLCBUT1BfRk9DVVMsICdmb2N1cycsIFRPUF9JTlBVVCwgJ2lucHV0JywgVE9QX0lOVkFMSUQsICdpbnZhbGlkJywgVE9QX0tFWV9ET1dOLCAna2V5RG93bicsIFRPUF9LRVlfUFJFU1MsICdrZXlQcmVzcycsIFRPUF9LRVlfVVAsICdrZXlVcCcsIFRPUF9NT1VTRV9ET1dOLCAnbW91c2VEb3duJywgVE9QX01PVVNFX1VQLCAnbW91c2VVcCcsIFRPUF9QQVNURSwgJ3Bhc3RlJywgVE9QX1BBVVNFLCAncGF1c2UnLCBUT1BfUExBWSwgJ3BsYXknLCBUT1BfUE9JTlRFUl9DQU5DRUwsICdwb2ludGVyQ2FuY2VsJywgVE9QX1BPSU5URVJfRE9XTiwgJ3BvaW50ZXJEb3duJywgVE9QX1BPSU5URVJfVVAsICdwb2ludGVyVXAnLCBUT1BfUkFURV9DSEFOR0UsICdyYXRlQ2hhbmdlJywgVE9QX1JFU0VULCAncmVzZXQnLCBUT1BfU0VFS0VELCAnc2Vla2VkJywgVE9QX1NVQk1JVCwgJ3N1Ym1pdCcsIFRPUF9UT1VDSF9DQU5DRUwsICd0b3VjaENhbmNlbCcsIFRPUF9UT1VDSF9FTkQsICd0b3VjaEVuZCcsIFRPUF9UT1VDSF9TVEFSVCwgJ3RvdWNoU3RhcnQnLCBUT1BfVk9MVU1FX0NIQU5HRSwgJ3ZvbHVtZUNoYW5nZSddO1xcbnZhciBvdGhlckRpc2NyZXRlRXZlbnRzID0gW1RPUF9DSEFOR0UsIFRPUF9TRUxFQ1RJT05fQ0hBTkdFLCBUT1BfVEVYVF9JTlBVVCwgVE9QX0NPTVBPU0lUSU9OX1NUQVJULCBUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfQ09NUE9TSVRJT05fVVBEQVRFXTsgLy8gcHJldHRpZXItaWdub3JlXFxuXFxudmFyIHVzZXJCbG9ja2luZ1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4gPSBbVE9QX0RSQUcsICdkcmFnJywgVE9QX0RSQUdfRU5URVIsICdkcmFnRW50ZXInLCBUT1BfRFJBR19FWElULCAnZHJhZ0V4aXQnLCBUT1BfRFJBR19MRUFWRSwgJ2RyYWdMZWF2ZScsIFRPUF9EUkFHX09WRVIsICdkcmFnT3ZlcicsIFRPUF9NT1VTRV9NT1ZFLCAnbW91c2VNb3ZlJywgVE9QX01PVVNFX09VVCwgJ21vdXNlT3V0JywgVE9QX01PVVNFX09WRVIsICdtb3VzZU92ZXInLCBUT1BfUE9JTlRFUl9NT1ZFLCAncG9pbnRlck1vdmUnLCBUT1BfUE9JTlRFUl9PVVQsICdwb2ludGVyT3V0JywgVE9QX1BPSU5URVJfT1ZFUiwgJ3BvaW50ZXJPdmVyJywgVE9QX1NDUk9MTCwgJ3Njcm9sbCcsIFRPUF9UT0dHTEUsICd0b2dnbGUnLCBUT1BfVE9VQ0hfTU9WRSwgJ3RvdWNoTW92ZScsIFRPUF9XSEVFTCwgJ3doZWVsJ107IC8vIHByZXR0aWVyLWlnbm9yZVxcblxcbnZhciBjb250aW51b3VzUGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiA9IFtUT1BfQUJPUlQsICdhYm9ydCcsIFRPUF9BTklNQVRJT05fRU5ELCAnYW5pbWF0aW9uRW5kJywgVE9QX0FOSU1BVElPTl9JVEVSQVRJT04sICdhbmltYXRpb25JdGVyYXRpb24nLCBUT1BfQU5JTUFUSU9OX1NUQVJULCAnYW5pbWF0aW9uU3RhcnQnLCBUT1BfQ0FOX1BMQVksICdjYW5QbGF5JywgVE9QX0NBTl9QTEFZX1RIUk9VR0gsICdjYW5QbGF5VGhyb3VnaCcsIFRPUF9EVVJBVElPTl9DSEFOR0UsICdkdXJhdGlvbkNoYW5nZScsIFRPUF9FTVBUSUVELCAnZW1wdGllZCcsIFRPUF9FTkNSWVBURUQsICdlbmNyeXB0ZWQnLCBUT1BfRU5ERUQsICdlbmRlZCcsIFRPUF9FUlJPUiwgJ2Vycm9yJywgVE9QX0dPVF9QT0lOVEVSX0NBUFRVUkUsICdnb3RQb2ludGVyQ2FwdHVyZScsIFRPUF9MT0FELCAnbG9hZCcsIFRPUF9MT0FERURfREFUQSwgJ2xvYWRlZERhdGEnLCBUT1BfTE9BREVEX01FVEFEQVRBLCAnbG9hZGVkTWV0YWRhdGEnLCBUT1BfTE9BRF9TVEFSVCwgJ2xvYWRTdGFydCcsIFRPUF9MT1NUX1BPSU5URVJfQ0FQVFVSRSwgJ2xvc3RQb2ludGVyQ2FwdHVyZScsIFRPUF9QTEFZSU5HLCAncGxheWluZycsIFRPUF9QUk9HUkVTUywgJ3Byb2dyZXNzJywgVE9QX1NFRUtJTkcsICdzZWVraW5nJywgVE9QX1NUQUxMRUQsICdzdGFsbGVkJywgVE9QX1NVU1BFTkQsICdzdXNwZW5kJywgVE9QX1RJTUVfVVBEQVRFLCAndGltZVVwZGF0ZScsIFRPUF9UUkFOU0lUSU9OX0VORCwgJ3RyYW5zaXRpb25FbmQnLCBUT1BfV0FJVElORywgJ3dhaXRpbmcnXTtcXG4vKipcXG4gKiBUdXJuc1xcbiAqIFsnYWJvcnQnLCAuLi5dXFxuICogaW50b1xcbiAqIGV2ZW50VHlwZXMgPSB7XFxuICogICAnYWJvcnQnOiB7XFxuICogICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XFxuICogICAgICAgYnViYmxlZDogJ29uQWJvcnQnLFxcbiAqICAgICAgIGNhcHR1cmVkOiAnb25BYm9ydENhcHR1cmUnLFxcbiAqICAgICB9LFxcbiAqICAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQUJPUlRdLFxcbiAqICAgfSxcXG4gKiAgIC4uLlxcbiAqIH07XFxuICogdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnID0gbmV3IE1hcChbXFxuICogICBbVE9QX0FCT1JULCB7IHNhbWVDb25maWcgfV0sXFxuICogXSk7XFxuICovXFxuXFxuZnVuY3Rpb24gcHJvY2Vzc1NpbXBsZUV2ZW50UGx1Z2luUGFpcnNCeVByaW9yaXR5KGV2ZW50VHlwZXMsIHByaW9yaXR5KSB7XFxuICAvLyBBcyB0aGUgZXZlbnQgdHlwZXMgYXJlIGluIHBhaXJzIG9mIHR3bywgd2UgbmVlZCB0byBpdGVyYXRlXFxuICAvLyB0aHJvdWdoIGluIHR3b3MuIFRoZSBldmVudHMgYXJlIGluIHBhaXJzIG9mIHR3byB0byBzYXZlIGNvZGVcXG4gIC8vIGFuZCBpbXByb3ZlIGluaXQgcGVyZiBvZiBwcm9jZXNzaW5nIHRoaXMgYXJyYXksIGFzIGl0IHdpbGxcXG4gIC8vIHJlc3VsdCBpbiBmYXIgZmV3ZXIgb2JqZWN0IGFsbG9jYXRpb25zIGFuZCBwcm9wZXJ0eSBhY2Nlc3Nlc1xcbiAgLy8gaWYgd2Ugb25seSB1c2UgdGhyZWUgYXJyYXlzIHRvIHByb2Nlc3MgYWxsIHRoZSBjYXRlZ29yaWVzIG9mXFxuICAvLyBpbnN0ZWFkIG9mIHR1cGxlcy5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRUeXBlcy5sZW5ndGg7IGkgKz0gMikge1xcbiAgICB2YXIgdG9wRXZlbnQgPSBldmVudFR5cGVzW2ldO1xcbiAgICB2YXIgZXZlbnQgPSBldmVudFR5cGVzW2kgKyAxXTtcXG4gICAgdmFyIGNhcGl0YWxpemVkRXZlbnQgPSBldmVudFswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnQuc2xpY2UoMSk7XFxuICAgIHZhciBvbkV2ZW50ID0gJ29uJyArIGNhcGl0YWxpemVkRXZlbnQ7XFxuICAgIHZhciBjb25maWcgPSB7XFxuICAgICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcXG4gICAgICAgIGJ1YmJsZWQ6IG9uRXZlbnQsXFxuICAgICAgICBjYXB0dXJlZDogb25FdmVudCArICdDYXB0dXJlJ1xcbiAgICAgIH0sXFxuICAgICAgZGVwZW5kZW5jaWVzOiBbdG9wRXZlbnRdLFxcbiAgICAgIGV2ZW50UHJpb3JpdHk6IHByaW9yaXR5XFxuICAgIH07XFxuICAgIGV2ZW50UHJpb3JpdGllcy5zZXQodG9wRXZlbnQsIHByaW9yaXR5KTtcXG4gICAgdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnLnNldCh0b3BFdmVudCwgY29uZmlnKTtcXG4gICAgc2ltcGxlRXZlbnRQbHVnaW5FdmVudFR5cGVzW2V2ZW50XSA9IGNvbmZpZztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcHJvY2Vzc1RvcEV2ZW50UGFpcnNCeVByaW9yaXR5KGV2ZW50VHlwZXMsIHByaW9yaXR5KSB7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50VHlwZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgZXZlbnRQcmlvcml0aWVzLnNldChldmVudFR5cGVzW2ldLCBwcmlvcml0eSk7XFxuICB9XFxufSAvLyBTaW1wbGVFdmVudFBsdWdpblxcblxcblxcbnByb2Nlc3NTaW1wbGVFdmVudFBsdWdpblBhaXJzQnlQcmlvcml0eShkaXNjcmV0ZUV2ZW50UGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiwgRGlzY3JldGVFdmVudCk7XFxucHJvY2Vzc1NpbXBsZUV2ZW50UGx1Z2luUGFpcnNCeVByaW9yaXR5KHVzZXJCbG9ja2luZ1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4sIFVzZXJCbG9ja2luZ0V2ZW50KTtcXG5wcm9jZXNzU2ltcGxlRXZlbnRQbHVnaW5QYWlyc0J5UHJpb3JpdHkoY29udGludW91c1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4sIENvbnRpbnVvdXNFdmVudCk7IC8vIE5vdCB1c2VkIGJ5IFNpbXBsZUV2ZW50UGx1Z2luXFxuXFxucHJvY2Vzc1RvcEV2ZW50UGFpcnNCeVByaW9yaXR5KG90aGVyRGlzY3JldGVFdmVudHMsIERpc2NyZXRlRXZlbnQpO1xcbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHlGb3JQbHVnaW5TeXN0ZW0odG9wTGV2ZWxUeXBlKSB7XFxuICB2YXIgcHJpb3JpdHkgPSBldmVudFByaW9yaXRpZXMuZ2V0KHRvcExldmVsVHlwZSk7IC8vIERlZmF1bHQgdG8gYSBDb250aW51b3VzRXZlbnQuIE5vdGU6IHdlIG1pZ2h0XFxuICAvLyB3YW50IHRvIHdhcm4gaWYgd2UgY2FuJ3QgZGV0ZWN0IHRoZSBwcmlvcml0eVxcbiAgLy8gZm9yIHRoZSBldmVudC5cXG5cXG4gIHJldHVybiBwcmlvcml0eSA9PT0gdW5kZWZpbmVkID8gQ29udGludW91c0V2ZW50IDogcHJpb3JpdHk7XFxufVxcblxcbi8vIEludGVudGlvbmFsbHkgbm90IG5hbWVkIGltcG9ydHMgYmVjYXVzZSBSb2xsdXAgd291bGQgdXNlIGR5bmFtaWMgZGlzcGF0Y2ggZm9yXFxudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFxcbiAgICBydW5XaXRoUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5OyAvLyBUT0RPOiBjYW4gd2Ugc3RvcCBleHBvcnRpbmcgdGhlc2U/XFxuXFxudmFyIF9lbmFibGVkID0gdHJ1ZTtcXG5mdW5jdGlvbiBzZXRFbmFibGVkKGVuYWJsZWQpIHtcXG4gIF9lbmFibGVkID0gISFlbmFibGVkO1xcbn1cXG5mdW5jdGlvbiBpc0VuYWJsZWQoKSB7XFxuICByZXR1cm4gX2VuYWJsZWQ7XFxufVxcbmZ1bmN0aW9uIHRyYXBCdWJibGVkRXZlbnQodG9wTGV2ZWxUeXBlLCBlbGVtZW50KSB7XFxuICB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShlbGVtZW50LCB0b3BMZXZlbFR5cGUsIGZhbHNlKTtcXG59XFxuZnVuY3Rpb24gdHJhcENhcHR1cmVkRXZlbnQodG9wTGV2ZWxUeXBlLCBlbGVtZW50KSB7XFxuICB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShlbGVtZW50LCB0b3BMZXZlbFR5cGUsIHRydWUpO1xcbn1cXG5cXG5mdW5jdGlvbiB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShjb250YWluZXIsIHRvcExldmVsVHlwZSwgY2FwdHVyZSkge1xcbiAgdmFyIGxpc3RlbmVyO1xcblxcbiAgc3dpdGNoIChnZXRFdmVudFByaW9yaXR5Rm9yUGx1Z2luU3lzdGVtKHRvcExldmVsVHlwZSkpIHtcXG4gICAgY2FzZSBEaXNjcmV0ZUV2ZW50OlxcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hEaXNjcmV0ZUV2ZW50LmJpbmQobnVsbCwgdG9wTGV2ZWxUeXBlLCBQTFVHSU5fRVZFTlRfU1lTVEVNLCBjb250YWluZXIpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIFVzZXJCbG9ja2luZ0V2ZW50OlxcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hVc2VyQmxvY2tpbmdVcGRhdGUuYmluZChudWxsLCB0b3BMZXZlbFR5cGUsIFBMVUdJTl9FVkVOVF9TWVNURU0sIGNvbnRhaW5lcik7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgQ29udGludW91c0V2ZW50OlxcbiAgICBkZWZhdWx0OlxcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hFdmVudC5iaW5kKG51bGwsIHRvcExldmVsVHlwZSwgUExVR0lOX0VWRU5UX1NZU1RFTSwgY29udGFpbmVyKTtcXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHZhciByYXdFdmVudE5hbWUgPSBnZXRSYXdFdmVudE5hbWUodG9wTGV2ZWxUeXBlKTtcXG5cXG4gIGlmIChjYXB0dXJlKSB7XFxuICAgIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyKGNvbnRhaW5lciwgcmF3RXZlbnROYW1lLCBsaXN0ZW5lcik7XFxuICB9IGVsc2Uge1xcbiAgICBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKGNvbnRhaW5lciwgcmF3RXZlbnROYW1lLCBsaXN0ZW5lcik7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGRpc3BhdGNoRGlzY3JldGVFdmVudCh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIGZsdXNoRGlzY3JldGVVcGRhdGVzSWZOZWVkZWQobmF0aXZlRXZlbnQudGltZVN0YW1wKTtcXG4gIGRpc2NyZXRlVXBkYXRlcyhkaXNwYXRjaEV2ZW50LCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xcbn1cXG5cXG5mdW5jdGlvbiBkaXNwYXRjaFVzZXJCbG9ja2luZ1VwZGF0ZSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIHJ1bldpdGhQcmlvcml0eShVc2VyQmxvY2tpbmdQcmlvcml0eSwgZGlzcGF0Y2hFdmVudC5iaW5kKG51bGwsIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkpO1xcbn1cXG5cXG5mdW5jdGlvbiBkaXNwYXRjaEV2ZW50KHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xcbiAgaWYgKCFfZW5hYmxlZCkge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoaGFzUXVldWVkRGlzY3JldGVFdmVudHMoKSAmJiBpc1JlcGxheWFibGVEaXNjcmV0ZUV2ZW50KHRvcExldmVsVHlwZSkpIHtcXG4gICAgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzLCBhbmQgdGhpcyBpcyBhbm90aGVyIGRpc2NyZXRlXFxuICAgIC8vIGV2ZW50LCB0aGVuIHdlIGNhbid0IGRpc3BhdGNoIGl0IHJlZ2FyZGxlc3Mgb2YgaXRzIHRhcmdldCwgc2luY2UgdGhleVxcbiAgICAvLyBuZWVkIHRvIGRpc3BhdGNoIGluIG9yZGVyLlxcbiAgICBxdWV1ZURpc2NyZXRlRXZlbnQobnVsbCwgLy8gRmxhZ3MgdGhhdCB3ZSdyZSBub3QgYWN0dWFsbHkgYmxvY2tlZCBvbiBhbnl0aGluZyBhcyBmYXIgYXMgd2Uga25vdy5cXG4gICAgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIGJsb2NrZWRPbiA9IGF0dGVtcHRUb0Rpc3BhdGNoRXZlbnQodG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG5cXG4gIGlmIChibG9ja2VkT24gPT09IG51bGwpIHtcXG4gICAgLy8gV2Ugc3VjY2Vzc2Z1bGx5IGRpc3BhdGNoZWQgdGhpcyBldmVudC5cXG4gICAgY2xlYXJJZkNvbnRpbnVvdXNFdmVudCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKGlzUmVwbGF5YWJsZURpc2NyZXRlRXZlbnQodG9wTGV2ZWxUeXBlKSkge1xcbiAgICAvLyBUaGlzIHRoaXMgdG8gYmUgcmVwbGF5ZWQgbGF0ZXIgb25jZSB0aGUgdGFyZ2V0IGlzIGF2YWlsYWJsZS5cXG4gICAgcXVldWVEaXNjcmV0ZUV2ZW50KGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpKSB7XFxuICAgIHJldHVybjtcXG4gIH0gLy8gV2UgbmVlZCB0byBjbGVhciBvbmx5IGlmIHdlIGRpZG4ndCBxdWV1ZSBiZWNhdXNlXFxuICAvLyBxdWV1ZWluZyBpcyBhY2N1bW11bGF0aXZlLlxcblxcblxcbiAgY2xlYXJJZkNvbnRpbnVvdXNFdmVudCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTsgLy8gVGhpcyBpcyBub3QgcmVwbGF5YWJsZSBzbyB3ZSdsbCBpbnZva2UgaXQgYnV0IHdpdGhvdXQgYSB0YXJnZXQsXFxuICAvLyBpbiBjYXNlIHRoZSBldmVudCBzeXN0ZW0gbmVlZHMgdG8gdHJhY2UgaXQuXFxuXFxuICB7XFxuICAgIGRpc3BhdGNoRXZlbnRGb3JMZWdhY3lQbHVnaW5FdmVudFN5c3RlbSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCBudWxsKTtcXG4gIH1cXG59IC8vIEF0dGVtcHQgZGlzcGF0Y2hpbmcgYW4gZXZlbnQuIFJldHVybnMgYSBTdXNwZW5zZUluc3RhbmNlIG9yIENvbnRhaW5lciBpZiBpdCdzIGJsb2NrZWQuXFxuXFxuZnVuY3Rpb24gYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudCh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIC8vIFRPRE86IFdhcm4gaWYgX2VuYWJsZWQgaXMgZmFsc2UuXFxuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XFxuICB2YXIgdGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG5cXG4gIGlmICh0YXJnZXRJbnN0ICE9PSBudWxsKSB7XFxuICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodGFyZ2V0SW5zdCk7XFxuXFxuICAgIGlmIChuZWFyZXN0TW91bnRlZCA9PT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgdHJlZSBoYXMgYmVlbiB1bm1vdW50ZWQgYWxyZWFkeS4gRGlzcGF0Y2ggd2l0aG91dCBhIHRhcmdldC5cXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xcblxcbiAgICAgIGlmICh0YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcXG5cXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBRdWV1ZSB0aGUgZXZlbnQgdG8gYmUgcmVwbGF5ZWQgbGF0ZXIuIEFib3J0IGRpc3BhdGNoaW5nIHNpbmNlIHdlXFxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cXG4gICAgICAgICAgLy8gVE9ETzogSWYgdGhpcyBpcyB0aGUgZmlyc3QgZGlzY3JldGUgZXZlbnQgaW4gdGhlIHF1ZXVlLiBTY2hlZHVsZSBhbiBpbmNyZWFzZWRcXG4gICAgICAgICAgLy8gcHJpb3JpdHkgZm9yIHRoaXMgYm91bmRhcnkuXFxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcXG4gICAgICAgIH0gLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBzb21ldGhpbmcgd2VudCB3cm9uZyBidXQgdG8gYXZvaWQgYmxvY2tpbmdcXG4gICAgICAgIC8vIHRoZSB3aG9sZSBzeXN0ZW0sIGRpc3BhdGNoIHRoZSBldmVudCB3aXRob3V0IGEgdGFyZ2V0LlxcbiAgICAgICAgLy8gVE9ETzogV2Fybi5cXG5cXG5cXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xcbiAgICAgIH0gZWxzZSBpZiAodGFnID09PSBIb3N0Um9vdCkge1xcbiAgICAgICAgdmFyIHJvb3QgPSBuZWFyZXN0TW91bnRlZC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAocm9vdC5oeWRyYXRlKSB7XFxuICAgICAgICAgIC8vIElmIHRoaXMgaGFwcGVucyBkdXJpbmcgYSByZXBsYXkgc29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIGl0IG1pZ2h0IGJsb2NrXFxuICAgICAgICAgIC8vIHRoZSB3aG9sZSBzeXN0ZW0uXFxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XFxuICAgICAgfSBlbHNlIGlmIChuZWFyZXN0TW91bnRlZCAhPT0gdGFyZ2V0SW5zdCkge1xcbiAgICAgICAgLy8gSWYgd2UgZ2V0IGFuIGV2ZW50IChleDogaW1nIG9ubG9hZCkgYmVmb3JlIGNvbW1pdHRpbmcgdGhhdFxcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cXG4gICAgICAgIC8vIGV2ZW50IG9uIGEgbm9uLVJlYWN0IHRyZWUpLiBXZSBtaWdodCBhbHNvIGNvbnNpZGVyIHF1ZXVlaW5nIGV2ZW50cyBhbmRcXG4gICAgICAgIC8vIGRpc3BhdGNoaW5nIHRoZW0gYWZ0ZXIgdGhlIG1vdW50LlxcbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIGRpc3BhdGNoRXZlbnRGb3JMZWdhY3lQbHVnaW5FdmVudFN5c3RlbSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0KTtcXG4gIH0gLy8gV2UncmUgbm90IGJsb2NrZWQgb24gYW55dGhpbmcuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuLy8gTGlzdCBkZXJpdmVkIGZyb20gR2Vja28gc291cmNlIGNvZGU6XFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvNGU2MzhlZmM3MS9sYXlvdXQvc3R5bGUvdGVzdC9wcm9wZXJ0eV9kYXRhYmFzZS5qc1xcbnZhciBzaG9ydGhhbmRUb0xvbmdoYW5kID0ge1xcbiAgYW5pbWF0aW9uOiBbJ2FuaW1hdGlvbkRlbGF5JywgJ2FuaW1hdGlvbkRpcmVjdGlvbicsICdhbmltYXRpb25EdXJhdGlvbicsICdhbmltYXRpb25GaWxsTW9kZScsICdhbmltYXRpb25JdGVyYXRpb25Db3VudCcsICdhbmltYXRpb25OYW1lJywgJ2FuaW1hdGlvblBsYXlTdGF0ZScsICdhbmltYXRpb25UaW1pbmdGdW5jdGlvbiddLFxcbiAgYmFja2dyb3VuZDogWydiYWNrZ3JvdW5kQXR0YWNobWVudCcsICdiYWNrZ3JvdW5kQ2xpcCcsICdiYWNrZ3JvdW5kQ29sb3InLCAnYmFja2dyb3VuZEltYWdlJywgJ2JhY2tncm91bmRPcmlnaW4nLCAnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJywgJ2JhY2tncm91bmRSZXBlYXQnLCAnYmFja2dyb3VuZFNpemUnXSxcXG4gIGJhY2tncm91bmRQb3NpdGlvbjogWydiYWNrZ3JvdW5kUG9zaXRpb25YJywgJ2JhY2tncm91bmRQb3NpdGlvblknXSxcXG4gIGJvcmRlcjogWydib3JkZXJCb3R0b21Db2xvcicsICdib3JkZXJCb3R0b21TdHlsZScsICdib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJJbWFnZU91dHNldCcsICdib3JkZXJJbWFnZVJlcGVhdCcsICdib3JkZXJJbWFnZVNsaWNlJywgJ2JvcmRlckltYWdlU291cmNlJywgJ2JvcmRlckltYWdlV2lkdGgnLCAnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRDb2xvcicsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclJpZ2h0V2lkdGgnLCAnYm9yZGVyVG9wQ29sb3InLCAnYm9yZGVyVG9wU3R5bGUnLCAnYm9yZGVyVG9wV2lkdGgnXSxcXG4gIGJvcmRlckJsb2NrRW5kOiBbJ2JvcmRlckJsb2NrRW5kQ29sb3InLCAnYm9yZGVyQmxvY2tFbmRTdHlsZScsICdib3JkZXJCbG9ja0VuZFdpZHRoJ10sXFxuICBib3JkZXJCbG9ja1N0YXJ0OiBbJ2JvcmRlckJsb2NrU3RhcnRDb2xvcicsICdib3JkZXJCbG9ja1N0YXJ0U3R5bGUnLCAnYm9yZGVyQmxvY2tTdGFydFdpZHRoJ10sXFxuICBib3JkZXJCb3R0b206IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnXSxcXG4gIGJvcmRlckNvbG9yOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlclRvcENvbG9yJ10sXFxuICBib3JkZXJJbWFnZTogWydib3JkZXJJbWFnZU91dHNldCcsICdib3JkZXJJbWFnZVJlcGVhdCcsICdib3JkZXJJbWFnZVNsaWNlJywgJ2JvcmRlckltYWdlU291cmNlJywgJ2JvcmRlckltYWdlV2lkdGgnXSxcXG4gIGJvcmRlcklubGluZUVuZDogWydib3JkZXJJbmxpbmVFbmRDb2xvcicsICdib3JkZXJJbmxpbmVFbmRTdHlsZScsICdib3JkZXJJbmxpbmVFbmRXaWR0aCddLFxcbiAgYm9yZGVySW5saW5lU3RhcnQ6IFsnYm9yZGVySW5saW5lU3RhcnRDb2xvcicsICdib3JkZXJJbmxpbmVTdGFydFN0eWxlJywgJ2JvcmRlcklubGluZVN0YXJ0V2lkdGgnXSxcXG4gIGJvcmRlckxlZnQ6IFsnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJMZWZ0V2lkdGgnXSxcXG4gIGJvcmRlclJhZGl1czogWydib3JkZXJCb3R0b21MZWZ0UmFkaXVzJywgJ2JvcmRlckJvdHRvbVJpZ2h0UmFkaXVzJywgJ2JvcmRlclRvcExlZnRSYWRpdXMnLCAnYm9yZGVyVG9wUmlnaHRSYWRpdXMnXSxcXG4gIGJvcmRlclJpZ2h0OiBbJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJ10sXFxuICBib3JkZXJTdHlsZTogWydib3JkZXJCb3R0b21TdHlsZScsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJUb3BTdHlsZSddLFxcbiAgYm9yZGVyVG9wOiBbJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXFxuICBib3JkZXJXaWR0aDogWydib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRXaWR0aCcsICdib3JkZXJUb3BXaWR0aCddLFxcbiAgY29sdW1uUnVsZTogWydjb2x1bW5SdWxlQ29sb3InLCAnY29sdW1uUnVsZVN0eWxlJywgJ2NvbHVtblJ1bGVXaWR0aCddLFxcbiAgY29sdW1uczogWydjb2x1bW5Db3VudCcsICdjb2x1bW5XaWR0aCddLFxcbiAgZmxleDogWydmbGV4QmFzaXMnLCAnZmxleEdyb3cnLCAnZmxleFNocmluayddLFxcbiAgZmxleEZsb3c6IFsnZmxleERpcmVjdGlvbicsICdmbGV4V3JhcCddLFxcbiAgZm9udDogWydmb250RmFtaWx5JywgJ2ZvbnRGZWF0dXJlU2V0dGluZ3MnLCAnZm9udEtlcm5pbmcnLCAnZm9udExhbmd1YWdlT3ZlcnJpZGUnLCAnZm9udFNpemUnLCAnZm9udFNpemVBZGp1c3QnLCAnZm9udFN0cmV0Y2gnLCAnZm9udFN0eWxlJywgJ2ZvbnRWYXJpYW50JywgJ2ZvbnRWYXJpYW50QWx0ZXJuYXRlcycsICdmb250VmFyaWFudENhcHMnLCAnZm9udFZhcmlhbnRFYXN0QXNpYW4nLCAnZm9udFZhcmlhbnRMaWdhdHVyZXMnLCAnZm9udFZhcmlhbnROdW1lcmljJywgJ2ZvbnRWYXJpYW50UG9zaXRpb24nLCAnZm9udFdlaWdodCcsICdsaW5lSGVpZ2h0J10sXFxuICBmb250VmFyaWFudDogWydmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJ10sXFxuICBnYXA6IFsnY29sdW1uR2FwJywgJ3Jvd0dhcCddLFxcbiAgZ3JpZDogWydncmlkQXV0b0NvbHVtbnMnLCAnZ3JpZEF1dG9GbG93JywgJ2dyaWRBdXRvUm93cycsICdncmlkVGVtcGxhdGVBcmVhcycsICdncmlkVGVtcGxhdGVDb2x1bW5zJywgJ2dyaWRUZW1wbGF0ZVJvd3MnXSxcXG4gIGdyaWRBcmVhOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXFxuICBncmlkQ29sdW1uOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0J10sXFxuICBncmlkQ29sdW1uR2FwOiBbJ2NvbHVtbkdhcCddLFxcbiAgZ3JpZEdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXFxuICBncmlkUm93OiBbJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXFxuICBncmlkUm93R2FwOiBbJ3Jvd0dhcCddLFxcbiAgZ3JpZFRlbXBsYXRlOiBbJ2dyaWRUZW1wbGF0ZUFyZWFzJywgJ2dyaWRUZW1wbGF0ZUNvbHVtbnMnLCAnZ3JpZFRlbXBsYXRlUm93cyddLFxcbiAgbGlzdFN0eWxlOiBbJ2xpc3RTdHlsZUltYWdlJywgJ2xpc3RTdHlsZVBvc2l0aW9uJywgJ2xpc3RTdHlsZVR5cGUnXSxcXG4gIG1hcmdpbjogWydtYXJnaW5Cb3R0b20nLCAnbWFyZ2luTGVmdCcsICdtYXJnaW5SaWdodCcsICdtYXJnaW5Ub3AnXSxcXG4gIG1hcmtlcjogWydtYXJrZXJFbmQnLCAnbWFya2VyTWlkJywgJ21hcmtlclN0YXJ0J10sXFxuICBtYXNrOiBbJ21hc2tDbGlwJywgJ21hc2tDb21wb3NpdGUnLCAnbWFza0ltYWdlJywgJ21hc2tNb2RlJywgJ21hc2tPcmlnaW4nLCAnbWFza1Bvc2l0aW9uWCcsICdtYXNrUG9zaXRpb25ZJywgJ21hc2tSZXBlYXQnLCAnbWFza1NpemUnXSxcXG4gIG1hc2tQb3NpdGlvbjogWydtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknXSxcXG4gIG91dGxpbmU6IFsnb3V0bGluZUNvbG9yJywgJ291dGxpbmVTdHlsZScsICdvdXRsaW5lV2lkdGgnXSxcXG4gIG92ZXJmbG93OiBbJ292ZXJmbG93WCcsICdvdmVyZmxvd1knXSxcXG4gIHBhZGRpbmc6IFsncGFkZGluZ0JvdHRvbScsICdwYWRkaW5nTGVmdCcsICdwYWRkaW5nUmlnaHQnLCAncGFkZGluZ1RvcCddLFxcbiAgcGxhY2VDb250ZW50OiBbJ2FsaWduQ29udGVudCcsICdqdXN0aWZ5Q29udGVudCddLFxcbiAgcGxhY2VJdGVtczogWydhbGlnbkl0ZW1zJywgJ2p1c3RpZnlJdGVtcyddLFxcbiAgcGxhY2VTZWxmOiBbJ2FsaWduU2VsZicsICdqdXN0aWZ5U2VsZiddLFxcbiAgdGV4dERlY29yYXRpb246IFsndGV4dERlY29yYXRpb25Db2xvcicsICd0ZXh0RGVjb3JhdGlvbkxpbmUnLCAndGV4dERlY29yYXRpb25TdHlsZSddLFxcbiAgdGV4dEVtcGhhc2lzOiBbJ3RleHRFbXBoYXNpc0NvbG9yJywgJ3RleHRFbXBoYXNpc1N0eWxlJ10sXFxuICB0cmFuc2l0aW9uOiBbJ3RyYW5zaXRpb25EZWxheScsICd0cmFuc2l0aW9uRHVyYXRpb24nLCAndHJhbnNpdGlvblByb3BlcnR5JywgJ3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiddLFxcbiAgd29yZFdyYXA6IFsnb3ZlcmZsb3dXcmFwJ11cXG59O1xcblxcbi8qKlxcbiAqIENTUyBwcm9wZXJ0aWVzIHdoaWNoIGFjY2VwdCBudW1iZXJzIGJ1dCBhcmUgbm90IGluIHVuaXRzIG9mIFxcXCJweFxcXCIuXFxuICovXFxudmFyIGlzVW5pdGxlc3NOdW1iZXIgPSB7XFxuICBhbmltYXRpb25JdGVyYXRpb25Db3VudDogdHJ1ZSxcXG4gIGJvcmRlckltYWdlT3V0c2V0OiB0cnVlLFxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcXG4gIGJvcmRlckltYWdlV2lkdGg6IHRydWUsXFxuICBib3hGbGV4OiB0cnVlLFxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxcbiAgYm94T3JkaW5hbEdyb3VwOiB0cnVlLFxcbiAgY29sdW1uQ291bnQ6IHRydWUsXFxuICBjb2x1bW5zOiB0cnVlLFxcbiAgZmxleDogdHJ1ZSxcXG4gIGZsZXhHcm93OiB0cnVlLFxcbiAgZmxleFBvc2l0aXZlOiB0cnVlLFxcbiAgZmxleFNocmluazogdHJ1ZSxcXG4gIGZsZXhOZWdhdGl2ZTogdHJ1ZSxcXG4gIGZsZXhPcmRlcjogdHJ1ZSxcXG4gIGdyaWRBcmVhOiB0cnVlLFxcbiAgZ3JpZFJvdzogdHJ1ZSxcXG4gIGdyaWRSb3dFbmQ6IHRydWUsXFxuICBncmlkUm93U3BhbjogdHJ1ZSxcXG4gIGdyaWRSb3dTdGFydDogdHJ1ZSxcXG4gIGdyaWRDb2x1bW46IHRydWUsXFxuICBncmlkQ29sdW1uRW5kOiB0cnVlLFxcbiAgZ3JpZENvbHVtblNwYW46IHRydWUsXFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXFxuICBmb250V2VpZ2h0OiB0cnVlLFxcbiAgbGluZUNsYW1wOiB0cnVlLFxcbiAgbGluZUhlaWdodDogdHJ1ZSxcXG4gIG9wYWNpdHk6IHRydWUsXFxuICBvcmRlcjogdHJ1ZSxcXG4gIG9ycGhhbnM6IHRydWUsXFxuICB0YWJTaXplOiB0cnVlLFxcbiAgd2lkb3dzOiB0cnVlLFxcbiAgekluZGV4OiB0cnVlLFxcbiAgem9vbTogdHJ1ZSxcXG4gIC8vIFNWRy1yZWxhdGVkIHByb3BlcnRpZXNcXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxcbiAgZmxvb2RPcGFjaXR5OiB0cnVlLFxcbiAgc3RvcE9wYWNpdHk6IHRydWUsXFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXFxuICBzdHJva2VEYXNob2Zmc2V0OiB0cnVlLFxcbiAgc3Ryb2tlTWl0ZXJsaW1pdDogdHJ1ZSxcXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXFxuICBzdHJva2VXaWR0aDogdHJ1ZVxcbn07XFxuLyoqXFxuICogQHBhcmFtIHtzdHJpbmd9IHByZWZpeCB2ZW5kb3Itc3BlY2lmaWMgcHJlZml4LCBlZzogV2Via2l0XFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBzdHlsZSBuYW1lLCBlZzogdHJhbnNpdGlvbkR1cmF0aW9uXFxuICogQHJldHVybiB7c3RyaW5nfSBzdHlsZSBuYW1lIHByZWZpeGVkIHdpdGggYHByZWZpeGAsIHByb3Blcmx5IGNhbWVsQ2FzZWQsIGVnOlxcbiAqIFdlYmtpdFRyYW5zaXRpb25EdXJhdGlvblxcbiAqL1xcblxcbmZ1bmN0aW9uIHByZWZpeEtleShwcmVmaXgsIGtleSkge1xcbiAgcmV0dXJuIHByZWZpeCArIGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zdWJzdHJpbmcoMSk7XFxufVxcbi8qKlxcbiAqIFN1cHBvcnQgc3R5bGUgbmFtZXMgdGhhdCBtYXkgY29tZSBwYXNzZWQgaW4gcHJlZml4ZWQgYnkgYWRkaW5nIHBlcm11dGF0aW9uc1xcbiAqIG9mIHZlbmRvciBwcmVmaXhlcy5cXG4gKi9cXG5cXG5cXG52YXIgcHJlZml4ZXMgPSBbJ1dlYmtpdCcsICdtcycsICdNb3onLCAnTyddOyAvLyBVc2luZyBPYmplY3Qua2V5cyBoZXJlLCBvciBlbHNlIHRoZSB2YW5pbGxhIGZvci1pbiBsb29wIG1ha2VzIElFOCBnbyBpbnRvIGFuXFxuLy8gaW5maW5pdGUgbG9vcCwgYmVjYXVzZSBpdCBpdGVyYXRlcyBvdmVyIHRoZSBuZXdseSBhZGRlZCBwcm9wcyB0b28uXFxuXFxuT2JqZWN0LmtleXMoaXNVbml0bGVzc051bWJlcikuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xcbiAgcHJlZml4ZXMuZm9yRWFjaChmdW5jdGlvbiAocHJlZml4KSB7XFxuICAgIGlzVW5pdGxlc3NOdW1iZXJbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gaXNVbml0bGVzc051bWJlcltwcm9wXTtcXG4gIH0pO1xcbn0pO1xcblxcbi8qKlxcbiAqIENvbnZlcnQgYSB2YWx1ZSBpbnRvIHRoZSBwcm9wZXIgY3NzIHdyaXRhYmxlIHZhbHVlLiBUaGUgc3R5bGUgbmFtZSBgbmFtZWBcXG4gKiBzaG91bGQgYmUgbG9naWNhbCAobm8gaHlwaGVucyksIGFzIHNwZWNpZmllZFxcbiAqIGluIGBDU1NQcm9wZXJ0eS5pc1VuaXRsZXNzTnVtYmVyYC5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBwcm9wZXJ0eSBuYW1lIHN1Y2ggYXMgYHRvcE1hcmdpbmAuXFxuICogQHBhcmFtIHsqfSB2YWx1ZSBDU1MgcHJvcGVydHkgdmFsdWUgc3VjaCBhcyBgMTBweGAuXFxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIHN0eWxlIHZhbHVlIHdpdGggZGltZW5zaW9ucyBhcHBsaWVkLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGRhbmdlcm91c1N0eWxlVmFsdWUobmFtZSwgdmFsdWUsIGlzQ3VzdG9tUHJvcGVydHkpIHtcXG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcXG4gIC8vIHdob2xlIHN0cmluZyB3aWxsIGJlIGVzY2FwZWQgd2hlbiB0aGUgYXR0cmlidXRlIGlzIGluamVjdGVkIGludG9cXG4gIC8vIHRoZSBtYXJrdXAuIElmIHlvdSBwcm92aWRlIHVuc2FmZSB1c2VyIGRhdGEgaGVyZSB0aGV5IGNhbiBpbmplY3RcXG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxcbiAgLy8gaHR0cHM6Ly93d3cub3dhc3Aub3JnL2luZGV4LnBocC9YU1NfRmlsdGVyX0V2YXNpb25fQ2hlYXRfU2hlZXRcXG4gIC8vIGh0dHA6Ly93d3cudGhlc3Bhbm5lci5jby51ay8yMDA3LzExLzI2L3VsdGltYXRlLXhzcy1jc3MtaW5qZWN0aW9uL1xcbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxcbiAgLy8gd2hpY2ggaGFzIGxlYWQgdG8gYSBncmVhdGVyIGRpc2N1c3Npb24gYWJvdXQgaG93IHdlJ3JlIGdvaW5nIHRvXFxuICAvLyB0cnVzdCBVUkxzIG1vdmluZyBmb3J3YXJkLiBTZWUgIzIxMTU5MDFcXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XFxuXFxuICBpZiAoaXNFbXB0eSkge1xcbiAgICByZXR1cm4gJyc7XFxuICB9XFxuXFxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKGlzVW5pdGxlc3NOdW1iZXIuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgaXNVbml0bGVzc051bWJlcltuYW1lXSkpIHtcXG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JzsgLy8gUHJlc3VtZXMgaW1wbGljaXQgJ3B4JyBzdWZmaXggZm9yIHVuaXRsZXNzIG51bWJlcnNcXG4gIH1cXG5cXG4gIHJldHVybiAoJycgKyB2YWx1ZSkudHJpbSgpO1xcbn1cXG5cXG52YXIgdXBwZXJjYXNlUGF0dGVybiA9IC8oW0EtWl0pL2c7XFxudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcXG4vKipcXG4gKiBIeXBoZW5hdGVzIGEgY2FtZWxjYXNlZCBDU1MgcHJvcGVydHkgbmFtZSwgZm9yIGV4YW1wbGU6XFxuICpcXG4gKiAgID4gaHlwaGVuYXRlU3R5bGVOYW1lKCdiYWNrZ3JvdW5kQ29sb3InKVxcbiAqICAgPCBcXFwiYmFja2dyb3VuZC1jb2xvclxcXCJcXG4gKiAgID4gaHlwaGVuYXRlU3R5bGVOYW1lKCdNb3pUcmFuc2l0aW9uJylcXG4gKiAgIDwgXFxcIi1tb3otdHJhbnNpdGlvblxcXCJcXG4gKiAgID4gaHlwaGVuYXRlU3R5bGVOYW1lKCdtc1RyYW5zaXRpb24nKVxcbiAqICAgPCBcXFwiLW1zLXRyYW5zaXRpb25cXFwiXFxuICpcXG4gKiBBcyBNb2Rlcm5penIgc3VnZ2VzdHMgKGh0dHA6Ly9tb2Rlcm5penIuY29tL2RvY3MvI3ByZWZpeGVkKSwgYW4gYG1zYCBwcmVmaXhcXG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGh5cGhlbmF0ZVN0eWxlTmFtZShuYW1lKSB7XFxuICByZXR1cm4gbmFtZS5yZXBsYWNlKHVwcGVyY2FzZVBhdHRlcm4sICctJDEnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UobXNQYXR0ZXJuLCAnLW1zLScpO1xcbn1cXG5cXG52YXIgd2FyblZhbGlkU3R5bGUgPSBmdW5jdGlvbiAoKSB7fTtcXG5cXG57XFxuICAvLyAnbXNUcmFuc2Zvcm0nIGlzIGNvcnJlY3QsIGJ1dCB0aGUgb3RoZXIgcHJlZml4ZXMgc2hvdWxkIGJlIGNhcGl0YWxpemVkXFxuICB2YXIgYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuID0gL14oPzp3ZWJraXR8bW96fG8pW0EtWl0vO1xcbiAgdmFyIG1zUGF0dGVybiQxID0gL14tbXMtLztcXG4gIHZhciBoeXBoZW5QYXR0ZXJuID0gLy0oLikvZzsgLy8gc3R5bGUgdmFsdWVzIHNob3VsZG4ndCBjb250YWluIGEgc2VtaWNvbG9uXFxuXFxuICB2YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXFxccyokLztcXG4gIHZhciB3YXJuZWRTdHlsZU5hbWVzID0ge307XFxuICB2YXIgd2FybmVkU3R5bGVWYWx1ZXMgPSB7fTtcXG4gIHZhciB3YXJuZWRGb3JOYU5WYWx1ZSA9IGZhbHNlO1xcbiAgdmFyIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSBmYWxzZTtcXG5cXG4gIHZhciBjYW1lbGl6ZSA9IGZ1bmN0aW9uIChzdHJpbmcpIHtcXG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcXG4gICAgICByZXR1cm4gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCk7XFxuICAgIH0pO1xcbiAgfTtcXG5cXG4gIHZhciB3YXJuSHlwaGVuYXRlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XFxuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcXG4gICAgLy8gKGh0dHA6Ly93d3cuYW5kaXNtaXRoLmNvbS9ibG9nLzIwMTIvMDIvbW9kZXJuaXpyLXByZWZpeGVkLyksIGFuIGAtbXNgIHByZWZpeFxcbiAgICAvLyBpcyBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGBtc2AuXFxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4kMSwgJ21zLScpKSk7XFxuICB9O1xcblxcbiAgdmFyIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XFxuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCB2ZW5kb3ItcHJlZml4ZWQgc3R5bGUgcHJvcGVydHkgJXMuIERpZCB5b3UgbWVhbiAlcz8nLCBuYW1lLCBuYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbmFtZS5zbGljZSgxKSk7XFxuICB9O1xcblxcbiAgdmFyIHdhcm5TdHlsZVZhbHVlV2l0aFNlbWljb2xvbiA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xcbiAgICBpZiAod2FybmVkU3R5bGVWYWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpICYmIHdhcm5lZFN0eWxlVmFsdWVzW3ZhbHVlXSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xcblxcbiAgICBlcnJvcihcXFwiU3R5bGUgcHJvcGVydHkgdmFsdWVzIHNob3VsZG4ndCBjb250YWluIGEgc2VtaWNvbG9uLiBcXFwiICsgJ1RyeSBcXFwiJXM6ICVzXFxcIiBpbnN0ZWFkLicsIG5hbWUsIHZhbHVlLnJlcGxhY2UoYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuLCAnJykpO1xcbiAgfTtcXG5cXG4gIHZhciB3YXJuU3R5bGVWYWx1ZUlzTmFOID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XFxuICAgIGlmICh3YXJuZWRGb3JOYU5WYWx1ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3YXJuZWRGb3JOYU5WYWx1ZSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdgTmFOYCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciB0aGUgYCVzYCBjc3Mgc3R5bGUgcHJvcGVydHkuJywgbmFtZSk7XFxuICB9O1xcblxcbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNJbmZpbml0eSA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xcbiAgICBpZiAod2FybmVkRm9ySW5maW5pdHlWYWx1ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3YXJuZWRGb3JJbmZpbml0eVZhbHVlID0gdHJ1ZTtcXG5cXG4gICAgZXJyb3IoJ2BJbmZpbml0eWAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xcbiAgfTtcXG5cXG4gIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XFxuICAgIGlmIChuYW1lLmluZGV4T2YoJy0nKSA+IC0xKSB7XFxuICAgICAgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUobmFtZSk7XFxuICAgIH0gZWxzZSBpZiAoYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcXG4gICAgICB3YXJuQmFkVmVuZG9yZWRTdHlsZU5hbWUobmFtZSk7XFxuICAgIH0gZWxzZSBpZiAoYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuLnRlc3QodmFsdWUpKSB7XFxuICAgICAgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uKG5hbWUsIHZhbHVlKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xcbiAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcXG4gICAgICAgIHdhcm5TdHlsZVZhbHVlSXNOYU4obmFtZSwgdmFsdWUpO1xcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xcbiAgICAgICAgd2FyblN0eWxlVmFsdWVJc0luZmluaXR5KG5hbWUsIHZhbHVlKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxufVxcblxcbnZhciB3YXJuVmFsaWRTdHlsZSQxID0gd2FyblZhbGlkU3R5bGU7XFxuXFxuLyoqXFxuICogT3BlcmF0aW9ucyBmb3IgZGVhbGluZyB3aXRoIENTUyBwcm9wZXJ0aWVzLlxcbiAqL1xcblxcbi8qKlxcbiAqIFRoaXMgY3JlYXRlcyBhIHN0cmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlIHN0eWxlXFxuICogYXR0cmlidXRlIGdlbmVyYXRlZCBieSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIEl0IGJ5LXBhc3NlcyB3YXJuaW5ncyBhbmRcXG4gKiBzZWN1cml0eSBjaGVja3Mgc28gaXQncyBub3Qgc2FmZSB0byB1c2UgdGhpcyB2YWx1ZSBmb3IgYW55dGhpbmcgb3RoZXIgdGhhblxcbiAqIGNvbXBhcmlzb24uIEl0IGlzIG9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGNyZWF0ZURhbmdlcm91c1N0cmluZ0ZvclN0eWxlcyhzdHlsZXMpIHtcXG4gIHtcXG4gICAgdmFyIHNlcmlhbGl6ZWQgPSAnJztcXG4gICAgdmFyIGRlbGltaXRlciA9ICcnO1xcblxcbiAgICBmb3IgKHZhciBzdHlsZU5hbWUgaW4gc3R5bGVzKSB7XFxuICAgICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBzdHlsZVZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XFxuXFxuICAgICAgaWYgKHN0eWxlVmFsdWUgIT0gbnVsbCkge1xcbiAgICAgICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcXG4gICAgICAgIHNlcmlhbGl6ZWQgKz0gZGVsaW1pdGVyICsgKGlzQ3VzdG9tUHJvcGVydHkgPyBzdHlsZU5hbWUgOiBoeXBoZW5hdGVTdHlsZU5hbWUoc3R5bGVOYW1lKSkgKyAnOic7XFxuICAgICAgICBzZXJpYWxpemVkICs9IGRhbmdlcm91c1N0eWxlVmFsdWUoc3R5bGVOYW1lLCBzdHlsZVZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KTtcXG4gICAgICAgIGRlbGltaXRlciA9ICc7JztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHNlcmlhbGl6ZWQgfHwgbnVsbDtcXG4gIH1cXG59XFxuLyoqXFxuICogU2V0cyB0aGUgdmFsdWUgZm9yIG11bHRpcGxlIHN0eWxlcyBvbiBhIG5vZGUuICBJZiBhIHZhbHVlIGlzIHNwZWNpZmllZCBhc1xcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxcbiAqXFxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXFxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xcbiAqL1xcblxcbmZ1bmN0aW9uIHNldFZhbHVlRm9yU3R5bGVzKG5vZGUsIHN0eWxlcykge1xcbiAgdmFyIHN0eWxlID0gbm9kZS5zdHlsZTtcXG5cXG4gIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcXG4gICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xcbiAgICAgIGNvbnRpbnVlO1xcbiAgICB9XFxuXFxuICAgIHZhciBpc0N1c3RvbVByb3BlcnR5ID0gc3R5bGVOYW1lLmluZGV4T2YoJy0tJykgPT09IDA7XFxuXFxuICAgIHtcXG4gICAgICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkpIHtcXG4gICAgICAgIHdhcm5WYWxpZFN0eWxlJDEoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBzdHlsZVZhbHVlID0gZGFuZ2Vyb3VzU3R5bGVWYWx1ZShzdHlsZU5hbWUsIHN0eWxlc1tzdHlsZU5hbWVdLCBpc0N1c3RvbVByb3BlcnR5KTtcXG5cXG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xcbiAgICAgIHN0eWxlTmFtZSA9ICdjc3NGbG9hdCc7XFxuICAgIH1cXG5cXG4gICAgaWYgKGlzQ3VzdG9tUHJvcGVydHkpIHtcXG4gICAgICBzdHlsZS5zZXRQcm9wZXJ0eShzdHlsZU5hbWUsIHN0eWxlVmFsdWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0eWxlW3N0eWxlTmFtZV0gPSBzdHlsZVZhbHVlO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzVmFsdWVFbXB0eSh2YWx1ZSkge1xcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicgfHwgdmFsdWUgPT09ICcnO1xcbn1cXG4vKipcXG4gKiBHaXZlbiB7Y29sb3I6ICdyZWQnLCBvdmVyZmxvdzogJ2hpZGRlbid9IHJldHVybnMge1xcbiAqICAgY29sb3I6ICdjb2xvcicsXFxuICogICBvdmVyZmxvd1g6ICdvdmVyZmxvdycsXFxuICogICBvdmVyZmxvd1k6ICdvdmVyZmxvdycsXFxuICogfS4gVGhpcyBjYW4gYmUgcmVhZCBhcyBcXFwidGhlIG92ZXJmbG93WSBwcm9wZXJ0eSB3YXMgc2V0IGJ5IHRoZSBvdmVyZmxvd1xcbiAqIHNob3J0aGFuZFxcXCIuIFRoYXQgaXMsIHRoZSB2YWx1ZXMgYXJlIHRoZSBwcm9wZXJ0eSB0aGF0IGVhY2ggd2FzIGRlcml2ZWQgZnJvbS5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBleHBhbmRTaG9ydGhhbmRNYXAoc3R5bGVzKSB7XFxuICB2YXIgZXhwYW5kZWQgPSB7fTtcXG5cXG4gIGZvciAodmFyIGtleSBpbiBzdHlsZXMpIHtcXG4gICAgdmFyIGxvbmdoYW5kcyA9IHNob3J0aGFuZFRvTG9uZ2hhbmRba2V5XSB8fCBba2V5XTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsb25naGFuZHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBleHBhbmRlZFtsb25naGFuZHNbaV1dID0ga2V5O1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZXhwYW5kZWQ7XFxufVxcbi8qKlxcbiAqIFdoZW4gbWl4aW5nIHNob3J0aGFuZCBhbmQgbG9uZ2hhbmQgcHJvcGVydHkgbmFtZXMsIHdlIHdhcm4gZHVyaW5nIHVwZGF0ZXMgaWZcXG4gKiB3ZSBleHBlY3QgYW4gaW5jb3JyZWN0IHJlc3VsdCB0byBvY2N1ci4gSW4gcGFydGljdWxhciwgd2Ugd2FybiBmb3I6XFxuICpcXG4gKiBVcGRhdGluZyBhIHNob3J0aGFuZCBwcm9wZXJ0eSAobG9uZ2hhbmQgZ2V0cyBvdmVyd3JpdHRlbik6XFxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdiYXonLCBmb250VmFyaWFudDogJ2Jhcid9XFxuICogICBiZWNvbWVzIC5zdHlsZS5mb250ID0gJ2JheidcXG4gKiBSZW1vdmluZyBhIHNob3J0aGFuZCBwcm9wZXJ0eSAobG9uZ2hhbmQgZ2V0cyBsb3N0IHRvbyk6XFxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnRWYXJpYW50OiAnYmFyJ31cXG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnJ1xcbiAqIFJlbW92aW5nIGEgbG9uZ2hhbmQgcHJvcGVydHkgKHNob3VsZCByZXZlcnQgdG8gc2hvcnRoYW5kOyBkb2Vzbid0KTpcXG4gKiAgIHtmb250OiAnZm9vJywgZm9udFZhcmlhbnQ6ICdiYXInfSAtPiB7Zm9udDogJ2Zvbyd9XFxuICogICBiZWNvbWVzIC5zdHlsZS5mb250VmFyaWFudCA9ICcnXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVTaG9ydGhhbmRQcm9wZXJ0eUNvbGxpc2lvbkluRGV2KHN0eWxlVXBkYXRlcywgbmV4dFN0eWxlcykge1xcbiAge1xcblxcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGV4cGFuZGVkVXBkYXRlcyA9IGV4cGFuZFNob3J0aGFuZE1hcChzdHlsZVVwZGF0ZXMpO1xcbiAgICB2YXIgZXhwYW5kZWRTdHlsZXMgPSBleHBhbmRTaG9ydGhhbmRNYXAobmV4dFN0eWxlcyk7XFxuICAgIHZhciB3YXJuZWRBYm91dCA9IHt9O1xcblxcbiAgICBmb3IgKHZhciBrZXkgaW4gZXhwYW5kZWRVcGRhdGVzKSB7XFxuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW2tleV07XFxuICAgICAgdmFyIGNvcnJlY3RPcmlnaW5hbEtleSA9IGV4cGFuZGVkU3R5bGVzW2tleV07XFxuXFxuICAgICAgaWYgKGNvcnJlY3RPcmlnaW5hbEtleSAmJiBvcmlnaW5hbEtleSAhPT0gY29ycmVjdE9yaWdpbmFsS2V5KSB7XFxuICAgICAgICB2YXIgd2FybmluZ0tleSA9IG9yaWdpbmFsS2V5ICsgJywnICsgY29ycmVjdE9yaWdpbmFsS2V5O1xcblxcbiAgICAgICAgaWYgKHdhcm5lZEFib3V0W3dhcm5pbmdLZXldKSB7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgd2FybmVkQWJvdXRbd2FybmluZ0tleV0gPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJyVzIGEgc3R5bGUgcHJvcGVydHkgZHVyaW5nIHJlcmVuZGVyICglcykgd2hlbiBhICcgKyAnY29uZmxpY3RpbmcgcHJvcGVydHkgaXMgc2V0ICglcykgY2FuIGxlYWQgdG8gc3R5bGluZyBidWdzLiBUbyAnICsgXFxcImF2b2lkIHRoaXMsIGRvbid0IG1peCBzaG9ydGhhbmQgYW5kIG5vbi1zaG9ydGhhbmQgcHJvcGVydGllcyBcXFwiICsgJ2ZvciB0aGUgc2FtZSB2YWx1ZTsgaW5zdGVhZCwgcmVwbGFjZSB0aGUgc2hvcnRoYW5kIHdpdGggJyArICdzZXBhcmF0ZSB2YWx1ZXMuJywgaXNWYWx1ZUVtcHR5KHN0eWxlVXBkYXRlc1tvcmlnaW5hbEtleV0pID8gJ1JlbW92aW5nJyA6ICdVcGRhdGluZycsIG9yaWdpbmFsS2V5LCBjb3JyZWN0T3JpZ2luYWxLZXkpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vLyBGb3IgSFRNTCwgY2VydGFpbiB0YWdzIHNob3VsZCBvbWl0IHRoZWlyIGNsb3NlIHRhZy4gV2Uga2VlcCBhIHdoaXRlbGlzdCBmb3JcXG4vLyB0aG9zZSBzcGVjaWFsLWNhc2UgdGFncy5cXG52YXIgb21pdHRlZENsb3NlVGFncyA9IHtcXG4gIGFyZWE6IHRydWUsXFxuICBiYXNlOiB0cnVlLFxcbiAgYnI6IHRydWUsXFxuICBjb2w6IHRydWUsXFxuICBlbWJlZDogdHJ1ZSxcXG4gIGhyOiB0cnVlLFxcbiAgaW1nOiB0cnVlLFxcbiAgaW5wdXQ6IHRydWUsXFxuICBrZXlnZW46IHRydWUsXFxuICBsaW5rOiB0cnVlLFxcbiAgbWV0YTogdHJ1ZSxcXG4gIHBhcmFtOiB0cnVlLFxcbiAgc291cmNlOiB0cnVlLFxcbiAgdHJhY2s6IHRydWUsXFxuICB3YnI6IHRydWUgLy8gTk9URTogbWVudWl0ZW0ncyBjbG9zZSB0YWcgc2hvdWxkIGJlIG9taXR0ZWQsIGJ1dCB0aGF0IGNhdXNlcyBwcm9ibGVtcy5cXG5cXG59O1xcblxcbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cXG5cXG52YXIgdm9pZEVsZW1lbnRUYWdzID0gX2Fzc2lnbih7XFxuICBtZW51aXRlbTogdHJ1ZVxcbn0sIG9taXR0ZWRDbG9zZVRhZ3MpO1xcblxcbnZhciBIVE1MID0gJ19faHRtbCc7XFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMyA9IG51bGw7XFxuXFxue1xcbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcXG59XFxuXFxuZnVuY3Rpb24gYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKSB7XFxuICBpZiAoIXByb3BzKSB7XFxuICAgIHJldHVybjtcXG4gIH0gLy8gTm90ZSB0aGUgdXNlIG9mIGA9PWAgd2hpY2ggY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZC5cXG5cXG5cXG4gIGlmICh2b2lkRWxlbWVudFRhZ3NbdGFnXSkge1xcbiAgICBpZiAoIShwcm9wcy5jaGlsZHJlbiA9PSBudWxsICYmIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09IG51bGwpKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIHRhZyArIFxcXCIgaXMgYSB2b2lkIGVsZW1lbnQgdGFnIGFuZCBtdXN0IG5laXRoZXIgaGF2ZSBgY2hpbGRyZW5gIG5vciB1c2UgYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC5cXFwiICsgKCBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDMuZ2V0U3RhY2tBZGRlbmR1bSgpICkgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XFxuICAgIGlmICghKHByb3BzLmNoaWxkcmVuID09IG51bGwpKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJDYW4gb25seSBzZXQgb25lIG9mIGBjaGlsZHJlbmAgb3IgYHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICghKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9PT0gJ29iamVjdCcgJiYgSFRNTCBpbiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcImBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAgbXVzdCBiZSBpbiB0aGUgZm9ybSBge19faHRtbDogLi4ufWAuIFBsZWFzZSB2aXNpdCBodHRwczovL2ZiLm1lL3JlYWN0LWludmFyaWFudC1kYW5nZXJvdXNseS1zZXQtaW5uZXItaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIGlmICghcHJvcHMuc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nICYmIHByb3BzLmNvbnRlbnRFZGl0YWJsZSAmJiBwcm9wcy5jaGlsZHJlbiAhPSBudWxsKSB7XFxuICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGBjb250ZW50RWRpdGFibGVgIGFuZCBjb250YWlucyBgY2hpbGRyZW5gIG1hbmFnZWQgYnkgJyArICdSZWFjdC4gSXQgaXMgbm93IHlvdXIgcmVzcG9uc2liaWxpdHkgdG8gZ3VhcmFudGVlIHRoYXQgbm9uZSBvZiAnICsgJ3Rob3NlIG5vZGVzIGFyZSB1bmV4cGVjdGVkbHkgbW9kaWZpZWQgb3IgZHVwbGljYXRlZC4gVGhpcyBpcyAnICsgJ3Byb2JhYmx5IG5vdCBpbnRlbnRpb25hbC4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKCEocHJvcHMuc3R5bGUgPT0gbnVsbCB8fCB0eXBlb2YgcHJvcHMuc3R5bGUgPT09ICdvYmplY3QnKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUaGUgYHN0eWxlYCBwcm9wIGV4cGVjdHMgYSBtYXBwaW5nIGZyb20gc3R5bGUgcHJvcGVydGllcyB0byB2YWx1ZXMsIG5vdCBhIHN0cmluZy4gRm9yIGV4YW1wbGUsIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNpbmcgKyAnZW0nfX0gd2hlbiB1c2luZyBKU1guXFxcIiArICggUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQzLmdldFN0YWNrQWRkZW5kdW0oKSApICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaXNDdXN0b21Db21wb25lbnQodGFnTmFtZSwgcHJvcHMpIHtcXG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcXG4gICAgcmV0dXJuIHR5cGVvZiBwcm9wcy5pcyA9PT0gJ3N0cmluZyc7XFxuICB9XFxuXFxuICBzd2l0Y2ggKHRhZ05hbWUpIHtcXG4gICAgLy8gVGhlc2UgYXJlIHJlc2VydmVkIFNWRyBhbmQgTWF0aE1MIGVsZW1lbnRzLlxcbiAgICAvLyBXZSBkb24ndCBtaW5kIHRoaXMgd2hpdGVsaXN0IHRvbyBtdWNoIGJlY2F1c2Ugd2UgZXhwZWN0IGl0IHRvIG5ldmVyIGdyb3cuXFxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxcbiAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViY29tcG9uZW50cy9zcGVjL2N1c3RvbS8jY3VzdG9tLWVsZW1lbnRzLWNvcmUtY29uY2VwdHNcXG4gICAgY2FzZSAnYW5ub3RhdGlvbi14bWwnOlxcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcXG4gICAgY2FzZSAnZm9udC1mYWNlJzpcXG4gICAgY2FzZSAnZm9udC1mYWNlLXNyYyc6XFxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxcbiAgICBjYXNlICdmb250LWZhY2UtZm9ybWF0JzpcXG4gICAgY2FzZSAnZm9udC1mYWNlLW5hbWUnOlxcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICB9XFxufVxcblxcbi8vIFdoZW4gYWRkaW5nIGF0dHJpYnV0ZXMgdG8gdGhlIEhUTUwgb3IgU1ZHIHdoaXRlbGlzdCwgYmUgc3VyZSB0b1xcbi8vIGFsc28gYWRkIHRoZW0gdG8gdGhpcyBtb2R1bGUgdG8gZW5zdXJlIGNhc2luZyBhbmQgaW5jb3JyZWN0IG5hbWVcXG4vLyB3YXJuaW5ncy5cXG52YXIgcG9zc2libGVTdGFuZGFyZE5hbWVzID0ge1xcbiAgLy8gSFRNTFxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcXG4gIGFjY2VwdGNoYXJzZXQ6ICdhY2NlcHRDaGFyc2V0JyxcXG4gICdhY2NlcHQtY2hhcnNldCc6ICdhY2NlcHRDaGFyc2V0JyxcXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXFxuICBhY3Rpb246ICdhY3Rpb24nLFxcbiAgYWxsb3dmdWxsc2NyZWVuOiAnYWxsb3dGdWxsU2NyZWVuJyxcXG4gIGFsdDogJ2FsdCcsXFxuICBhczogJ2FzJyxcXG4gIGFzeW5jOiAnYXN5bmMnLFxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXFxuICBhdXRvY29tcGxldGU6ICdhdXRvQ29tcGxldGUnLFxcbiAgYXV0b2NvcnJlY3Q6ICdhdXRvQ29ycmVjdCcsXFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxcbiAgYXV0b3BsYXk6ICdhdXRvUGxheScsXFxuICBhdXRvc2F2ZTogJ2F1dG9TYXZlJyxcXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcXG4gIGNlbGxwYWRkaW5nOiAnY2VsbFBhZGRpbmcnLFxcbiAgY2VsbHNwYWNpbmc6ICdjZWxsU3BhY2luZycsXFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxcbiAgY2hhcnNldDogJ2NoYXJTZXQnLFxcbiAgY2hlY2tlZDogJ2NoZWNrZWQnLFxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXFxuICBjaXRlOiAnY2l0ZScsXFxuICBjbGFzczogJ2NsYXNzTmFtZScsXFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXFxuICBjbGFzc25hbWU6ICdjbGFzc05hbWUnLFxcbiAgY29sczogJ2NvbHMnLFxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxcbiAgY29udGVudDogJ2NvbnRlbnQnLFxcbiAgY29udGVudGVkaXRhYmxlOiAnY29udGVudEVkaXRhYmxlJyxcXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxcbiAgY29udHJvbHM6ICdjb250cm9scycsXFxuICBjb250cm9sc2xpc3Q6ICdjb250cm9sc0xpc3QnLFxcbiAgY29vcmRzOiAnY29vcmRzJyxcXG4gIGNyb3Nzb3JpZ2luOiAnY3Jvc3NPcmlnaW4nLFxcbiAgZGFuZ2Vyb3VzbHlzZXRpbm5lcmh0bWw6ICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsXFxuICBkYXRhOiAnZGF0YScsXFxuICBkYXRldGltZTogJ2RhdGVUaW1lJyxcXG4gIGRlZmF1bHQ6ICdkZWZhdWx0JyxcXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxcbiAgZGVmYXVsdHZhbHVlOiAnZGVmYXVsdFZhbHVlJyxcXG4gIGRlZmVyOiAnZGVmZXInLFxcbiAgZGlyOiAnZGlyJyxcXG4gIGRpc2FibGVkOiAnZGlzYWJsZWQnLFxcbiAgZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmU6ICdkaXNhYmxlUGljdHVyZUluUGljdHVyZScsXFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcXG4gIGRyYWdnYWJsZTogJ2RyYWdnYWJsZScsXFxuICBlbmN0eXBlOiAnZW5jVHlwZScsXFxuICBmb3I6ICdodG1sRm9yJyxcXG4gIGZvcm06ICdmb3JtJyxcXG4gIGZvcm1tZXRob2Q6ICdmb3JtTWV0aG9kJyxcXG4gIGZvcm1hY3Rpb246ICdmb3JtQWN0aW9uJyxcXG4gIGZvcm1lbmN0eXBlOiAnZm9ybUVuY1R5cGUnLFxcbiAgZm9ybW5vdmFsaWRhdGU6ICdmb3JtTm9WYWxpZGF0ZScsXFxuICBmb3JtdGFyZ2V0OiAnZm9ybVRhcmdldCcsXFxuICBmcmFtZWJvcmRlcjogJ2ZyYW1lQm9yZGVyJyxcXG4gIGhlYWRlcnM6ICdoZWFkZXJzJyxcXG4gIGhlaWdodDogJ2hlaWdodCcsXFxuICBoaWRkZW46ICdoaWRkZW4nLFxcbiAgaGlnaDogJ2hpZ2gnLFxcbiAgaHJlZjogJ2hyZWYnLFxcbiAgaHJlZmxhbmc6ICdocmVmTGFuZycsXFxuICBodG1sZm9yOiAnaHRtbEZvcicsXFxuICBodHRwZXF1aXY6ICdodHRwRXF1aXYnLFxcbiAgJ2h0dHAtZXF1aXYnOiAnaHR0cEVxdWl2JyxcXG4gIGljb246ICdpY29uJyxcXG4gIGlkOiAnaWQnLFxcbiAgaW5uZXJodG1sOiAnaW5uZXJIVE1MJyxcXG4gIGlucHV0bW9kZTogJ2lucHV0TW9kZScsXFxuICBpbnRlZ3JpdHk6ICdpbnRlZ3JpdHknLFxcbiAgaXM6ICdpcycsXFxuICBpdGVtaWQ6ICdpdGVtSUQnLFxcbiAgaXRlbXByb3A6ICdpdGVtUHJvcCcsXFxuICBpdGVtcmVmOiAnaXRlbVJlZicsXFxuICBpdGVtc2NvcGU6ICdpdGVtU2NvcGUnLFxcbiAgaXRlbXR5cGU6ICdpdGVtVHlwZScsXFxuICBrZXlwYXJhbXM6ICdrZXlQYXJhbXMnLFxcbiAga2V5dHlwZTogJ2tleVR5cGUnLFxcbiAga2luZDogJ2tpbmQnLFxcbiAgbGFiZWw6ICdsYWJlbCcsXFxuICBsYW5nOiAnbGFuZycsXFxuICBsaXN0OiAnbGlzdCcsXFxuICBsb29wOiAnbG9vcCcsXFxuICBsb3c6ICdsb3cnLFxcbiAgbWFuaWZlc3Q6ICdtYW5pZmVzdCcsXFxuICBtYXJnaW53aWR0aDogJ21hcmdpbldpZHRoJyxcXG4gIG1hcmdpbmhlaWdodDogJ21hcmdpbkhlaWdodCcsXFxuICBtYXg6ICdtYXgnLFxcbiAgbWF4bGVuZ3RoOiAnbWF4TGVuZ3RoJyxcXG4gIG1lZGlhOiAnbWVkaWEnLFxcbiAgbWVkaWFncm91cDogJ21lZGlhR3JvdXAnLFxcbiAgbWV0aG9kOiAnbWV0aG9kJyxcXG4gIG1pbjogJ21pbicsXFxuICBtaW5sZW5ndGg6ICdtaW5MZW5ndGgnLFxcbiAgbXVsdGlwbGU6ICdtdWx0aXBsZScsXFxuICBtdXRlZDogJ211dGVkJyxcXG4gIG5hbWU6ICduYW1lJyxcXG4gIG5vbW9kdWxlOiAnbm9Nb2R1bGUnLFxcbiAgbm9uY2U6ICdub25jZScsXFxuICBub3ZhbGlkYXRlOiAnbm9WYWxpZGF0ZScsXFxuICBvcGVuOiAnb3BlbicsXFxuICBvcHRpbXVtOiAnb3B0aW11bScsXFxuICBwYXR0ZXJuOiAncGF0dGVybicsXFxuICBwbGFjZWhvbGRlcjogJ3BsYWNlaG9sZGVyJyxcXG4gIHBsYXlzaW5saW5lOiAncGxheXNJbmxpbmUnLFxcbiAgcG9zdGVyOiAncG9zdGVyJyxcXG4gIHByZWxvYWQ6ICdwcmVsb2FkJyxcXG4gIHByb2ZpbGU6ICdwcm9maWxlJyxcXG4gIHJhZGlvZ3JvdXA6ICdyYWRpb0dyb3VwJyxcXG4gIHJlYWRvbmx5OiAncmVhZE9ubHknLFxcbiAgcmVmZXJyZXJwb2xpY3k6ICdyZWZlcnJlclBvbGljeScsXFxuICByZWw6ICdyZWwnLFxcbiAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsXFxuICByZXZlcnNlZDogJ3JldmVyc2VkJyxcXG4gIHJvbGU6ICdyb2xlJyxcXG4gIHJvd3M6ICdyb3dzJyxcXG4gIHJvd3NwYW46ICdyb3dTcGFuJyxcXG4gIHNhbmRib3g6ICdzYW5kYm94JyxcXG4gIHNjb3BlOiAnc2NvcGUnLFxcbiAgc2NvcGVkOiAnc2NvcGVkJyxcXG4gIHNjcm9sbGluZzogJ3Njcm9sbGluZycsXFxuICBzZWFtbGVzczogJ3NlYW1sZXNzJyxcXG4gIHNlbGVjdGVkOiAnc2VsZWN0ZWQnLFxcbiAgc2hhcGU6ICdzaGFwZScsXFxuICBzaXplOiAnc2l6ZScsXFxuICBzaXplczogJ3NpemVzJyxcXG4gIHNwYW46ICdzcGFuJyxcXG4gIHNwZWxsY2hlY2s6ICdzcGVsbENoZWNrJyxcXG4gIHNyYzogJ3NyYycsXFxuICBzcmNkb2M6ICdzcmNEb2MnLFxcbiAgc3JjbGFuZzogJ3NyY0xhbmcnLFxcbiAgc3Jjc2V0OiAnc3JjU2V0JyxcXG4gIHN0YXJ0OiAnc3RhcnQnLFxcbiAgc3RlcDogJ3N0ZXAnLFxcbiAgc3R5bGU6ICdzdHlsZScsXFxuICBzdW1tYXJ5OiAnc3VtbWFyeScsXFxuICB0YWJpbmRleDogJ3RhYkluZGV4JyxcXG4gIHRhcmdldDogJ3RhcmdldCcsXFxuICB0aXRsZTogJ3RpdGxlJyxcXG4gIHR5cGU6ICd0eXBlJyxcXG4gIHVzZW1hcDogJ3VzZU1hcCcsXFxuICB2YWx1ZTogJ3ZhbHVlJyxcXG4gIHdpZHRoOiAnd2lkdGgnLFxcbiAgd21vZGU6ICd3bW9kZScsXFxuICB3cmFwOiAnd3JhcCcsXFxuICAvLyBTVkdcXG4gIGFib3V0OiAnYWJvdXQnLFxcbiAgYWNjZW50aGVpZ2h0OiAnYWNjZW50SGVpZ2h0JyxcXG4gICdhY2NlbnQtaGVpZ2h0JzogJ2FjY2VudEhlaWdodCcsXFxuICBhY2N1bXVsYXRlOiAnYWNjdW11bGF0ZScsXFxuICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcXG4gIGFsaWdubWVudGJhc2VsaW5lOiAnYWxpZ25tZW50QmFzZWxpbmUnLFxcbiAgJ2FsaWdubWVudC1iYXNlbGluZSc6ICdhbGlnbm1lbnRCYXNlbGluZScsXFxuICBhbGxvd3Jlb3JkZXI6ICdhbGxvd1Jlb3JkZXInLFxcbiAgYWxwaGFiZXRpYzogJ2FscGhhYmV0aWMnLFxcbiAgYW1wbGl0dWRlOiAnYW1wbGl0dWRlJyxcXG4gIGFyYWJpY2Zvcm06ICdhcmFiaWNGb3JtJyxcXG4gICdhcmFiaWMtZm9ybSc6ICdhcmFiaWNGb3JtJyxcXG4gIGFzY2VudDogJ2FzY2VudCcsXFxuICBhdHRyaWJ1dGVuYW1lOiAnYXR0cmlidXRlTmFtZScsXFxuICBhdHRyaWJ1dGV0eXBlOiAnYXR0cmlidXRlVHlwZScsXFxuICBhdXRvcmV2ZXJzZTogJ2F1dG9SZXZlcnNlJyxcXG4gIGF6aW11dGg6ICdhemltdXRoJyxcXG4gIGJhc2VmcmVxdWVuY3k6ICdiYXNlRnJlcXVlbmN5JyxcXG4gIGJhc2VsaW5lc2hpZnQ6ICdiYXNlbGluZVNoaWZ0JyxcXG4gICdiYXNlbGluZS1zaGlmdCc6ICdiYXNlbGluZVNoaWZ0JyxcXG4gIGJhc2Vwcm9maWxlOiAnYmFzZVByb2ZpbGUnLFxcbiAgYmJveDogJ2Jib3gnLFxcbiAgYmVnaW46ICdiZWdpbicsXFxuICBiaWFzOiAnYmlhcycsXFxuICBieTogJ2J5JyxcXG4gIGNhbGNtb2RlOiAnY2FsY01vZGUnLFxcbiAgY2FwaGVpZ2h0OiAnY2FwSGVpZ2h0JyxcXG4gICdjYXAtaGVpZ2h0JzogJ2NhcEhlaWdodCcsXFxuICBjbGlwOiAnY2xpcCcsXFxuICBjbGlwcGF0aDogJ2NsaXBQYXRoJyxcXG4gICdjbGlwLXBhdGgnOiAnY2xpcFBhdGgnLFxcbiAgY2xpcHBhdGh1bml0czogJ2NsaXBQYXRoVW5pdHMnLFxcbiAgY2xpcHJ1bGU6ICdjbGlwUnVsZScsXFxuICAnY2xpcC1ydWxlJzogJ2NsaXBSdWxlJyxcXG4gIGNvbG9yOiAnY29sb3InLFxcbiAgY29sb3JpbnRlcnBvbGF0aW9uOiAnY29sb3JJbnRlcnBvbGF0aW9uJyxcXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJzogJ2NvbG9ySW50ZXJwb2xhdGlvbicsXFxuICBjb2xvcmludGVycG9sYXRpb25maWx0ZXJzOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXFxuICAnY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzJzogJ2NvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMnLFxcbiAgY29sb3Jwcm9maWxlOiAnY29sb3JQcm9maWxlJyxcXG4gICdjb2xvci1wcm9maWxlJzogJ2NvbG9yUHJvZmlsZScsXFxuICBjb2xvcnJlbmRlcmluZzogJ2NvbG9yUmVuZGVyaW5nJyxcXG4gICdjb2xvci1yZW5kZXJpbmcnOiAnY29sb3JSZW5kZXJpbmcnLFxcbiAgY29udGVudHNjcmlwdHR5cGU6ICdjb250ZW50U2NyaXB0VHlwZScsXFxuICBjb250ZW50c3R5bGV0eXBlOiAnY29udGVudFN0eWxlVHlwZScsXFxuICBjdXJzb3I6ICdjdXJzb3InLFxcbiAgY3g6ICdjeCcsXFxuICBjeTogJ2N5JyxcXG4gIGQ6ICdkJyxcXG4gIGRhdGF0eXBlOiAnZGF0YXR5cGUnLFxcbiAgZGVjZWxlcmF0ZTogJ2RlY2VsZXJhdGUnLFxcbiAgZGVzY2VudDogJ2Rlc2NlbnQnLFxcbiAgZGlmZnVzZWNvbnN0YW50OiAnZGlmZnVzZUNvbnN0YW50JyxcXG4gIGRpcmVjdGlvbjogJ2RpcmVjdGlvbicsXFxuICBkaXNwbGF5OiAnZGlzcGxheScsXFxuICBkaXZpc29yOiAnZGl2aXNvcicsXFxuICBkb21pbmFudGJhc2VsaW5lOiAnZG9taW5hbnRCYXNlbGluZScsXFxuICAnZG9taW5hbnQtYmFzZWxpbmUnOiAnZG9taW5hbnRCYXNlbGluZScsXFxuICBkdXI6ICdkdXInLFxcbiAgZHg6ICdkeCcsXFxuICBkeTogJ2R5JyxcXG4gIGVkZ2Vtb2RlOiAnZWRnZU1vZGUnLFxcbiAgZWxldmF0aW9uOiAnZWxldmF0aW9uJyxcXG4gIGVuYWJsZWJhY2tncm91bmQ6ICdlbmFibGVCYWNrZ3JvdW5kJyxcXG4gICdlbmFibGUtYmFja2dyb3VuZCc6ICdlbmFibGVCYWNrZ3JvdW5kJyxcXG4gIGVuZDogJ2VuZCcsXFxuICBleHBvbmVudDogJ2V4cG9uZW50JyxcXG4gIGV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQ6ICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyxcXG4gIGZpbGw6ICdmaWxsJyxcXG4gIGZpbGxvcGFjaXR5OiAnZmlsbE9wYWNpdHknLFxcbiAgJ2ZpbGwtb3BhY2l0eSc6ICdmaWxsT3BhY2l0eScsXFxuICBmaWxscnVsZTogJ2ZpbGxSdWxlJyxcXG4gICdmaWxsLXJ1bGUnOiAnZmlsbFJ1bGUnLFxcbiAgZmlsdGVyOiAnZmlsdGVyJyxcXG4gIGZpbHRlcnJlczogJ2ZpbHRlclJlcycsXFxuICBmaWx0ZXJ1bml0czogJ2ZpbHRlclVuaXRzJyxcXG4gIGZsb29kb3BhY2l0eTogJ2Zsb29kT3BhY2l0eScsXFxuICAnZmxvb2Qtb3BhY2l0eSc6ICdmbG9vZE9wYWNpdHknLFxcbiAgZmxvb2Rjb2xvcjogJ2Zsb29kQ29sb3InLFxcbiAgJ2Zsb29kLWNvbG9yJzogJ2Zsb29kQ29sb3InLFxcbiAgZm9jdXNhYmxlOiAnZm9jdXNhYmxlJyxcXG4gIGZvbnRmYW1pbHk6ICdmb250RmFtaWx5JyxcXG4gICdmb250LWZhbWlseSc6ICdmb250RmFtaWx5JyxcXG4gIGZvbnRzaXplOiAnZm9udFNpemUnLFxcbiAgJ2ZvbnQtc2l6ZSc6ICdmb250U2l6ZScsXFxuICBmb250c2l6ZWFkanVzdDogJ2ZvbnRTaXplQWRqdXN0JyxcXG4gICdmb250LXNpemUtYWRqdXN0JzogJ2ZvbnRTaXplQWRqdXN0JyxcXG4gIGZvbnRzdHJldGNoOiAnZm9udFN0cmV0Y2gnLFxcbiAgJ2ZvbnQtc3RyZXRjaCc6ICdmb250U3RyZXRjaCcsXFxuICBmb250c3R5bGU6ICdmb250U3R5bGUnLFxcbiAgJ2ZvbnQtc3R5bGUnOiAnZm9udFN0eWxlJyxcXG4gIGZvbnR2YXJpYW50OiAnZm9udFZhcmlhbnQnLFxcbiAgJ2ZvbnQtdmFyaWFudCc6ICdmb250VmFyaWFudCcsXFxuICBmb250d2VpZ2h0OiAnZm9udFdlaWdodCcsXFxuICAnZm9udC13ZWlnaHQnOiAnZm9udFdlaWdodCcsXFxuICBmb3JtYXQ6ICdmb3JtYXQnLFxcbiAgZnJvbTogJ2Zyb20nLFxcbiAgZng6ICdmeCcsXFxuICBmeTogJ2Z5JyxcXG4gIGcxOiAnZzEnLFxcbiAgZzI6ICdnMicsXFxuICBnbHlwaG5hbWU6ICdnbHlwaE5hbWUnLFxcbiAgJ2dseXBoLW5hbWUnOiAnZ2x5cGhOYW1lJyxcXG4gIGdseXBob3JpZW50YXRpb25ob3Jpem9udGFsOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxcbiAgZ2x5cGhvcmllbnRhdGlvbnZlcnRpY2FsOiAnZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsJyxcXG4gICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCc6ICdnbHlwaE9yaWVudGF0aW9uVmVydGljYWwnLFxcbiAgZ2x5cGhyZWY6ICdnbHlwaFJlZicsXFxuICBncmFkaWVudHRyYW5zZm9ybTogJ2dyYWRpZW50VHJhbnNmb3JtJyxcXG4gIGdyYWRpZW50dW5pdHM6ICdncmFkaWVudFVuaXRzJyxcXG4gIGhhbmdpbmc6ICdoYW5naW5nJyxcXG4gIGhvcml6YWR2eDogJ2hvcml6QWR2WCcsXFxuICAnaG9yaXotYWR2LXgnOiAnaG9yaXpBZHZYJyxcXG4gIGhvcml6b3JpZ2lueDogJ2hvcml6T3JpZ2luWCcsXFxuICAnaG9yaXotb3JpZ2luLXgnOiAnaG9yaXpPcmlnaW5YJyxcXG4gIGlkZW9ncmFwaGljOiAnaWRlb2dyYXBoaWMnLFxcbiAgaW1hZ2VyZW5kZXJpbmc6ICdpbWFnZVJlbmRlcmluZycsXFxuICAnaW1hZ2UtcmVuZGVyaW5nJzogJ2ltYWdlUmVuZGVyaW5nJyxcXG4gIGluMjogJ2luMicsXFxuICBpbjogJ2luJyxcXG4gIGlubGlzdDogJ2lubGlzdCcsXFxuICBpbnRlcmNlcHQ6ICdpbnRlcmNlcHQnLFxcbiAgazE6ICdrMScsXFxuICBrMjogJ2syJyxcXG4gIGszOiAnazMnLFxcbiAgazQ6ICdrNCcsXFxuICBrOiAnaycsXFxuICBrZXJuZWxtYXRyaXg6ICdrZXJuZWxNYXRyaXgnLFxcbiAga2VybmVsdW5pdGxlbmd0aDogJ2tlcm5lbFVuaXRMZW5ndGgnLFxcbiAga2VybmluZzogJ2tlcm5pbmcnLFxcbiAga2V5cG9pbnRzOiAna2V5UG9pbnRzJyxcXG4gIGtleXNwbGluZXM6ICdrZXlTcGxpbmVzJyxcXG4gIGtleXRpbWVzOiAna2V5VGltZXMnLFxcbiAgbGVuZ3RoYWRqdXN0OiAnbGVuZ3RoQWRqdXN0JyxcXG4gIGxldHRlcnNwYWNpbmc6ICdsZXR0ZXJTcGFjaW5nJyxcXG4gICdsZXR0ZXItc3BhY2luZyc6ICdsZXR0ZXJTcGFjaW5nJyxcXG4gIGxpZ2h0aW5nY29sb3I6ICdsaWdodGluZ0NvbG9yJyxcXG4gICdsaWdodGluZy1jb2xvcic6ICdsaWdodGluZ0NvbG9yJyxcXG4gIGxpbWl0aW5nY29uZWFuZ2xlOiAnbGltaXRpbmdDb25lQW5nbGUnLFxcbiAgbG9jYWw6ICdsb2NhbCcsXFxuICBtYXJrZXJlbmQ6ICdtYXJrZXJFbmQnLFxcbiAgJ21hcmtlci1lbmQnOiAnbWFya2VyRW5kJyxcXG4gIG1hcmtlcmhlaWdodDogJ21hcmtlckhlaWdodCcsXFxuICBtYXJrZXJtaWQ6ICdtYXJrZXJNaWQnLFxcbiAgJ21hcmtlci1taWQnOiAnbWFya2VyTWlkJyxcXG4gIG1hcmtlcnN0YXJ0OiAnbWFya2VyU3RhcnQnLFxcbiAgJ21hcmtlci1zdGFydCc6ICdtYXJrZXJTdGFydCcsXFxuICBtYXJrZXJ1bml0czogJ21hcmtlclVuaXRzJyxcXG4gIG1hcmtlcndpZHRoOiAnbWFya2VyV2lkdGgnLFxcbiAgbWFzazogJ21hc2snLFxcbiAgbWFza2NvbnRlbnR1bml0czogJ21hc2tDb250ZW50VW5pdHMnLFxcbiAgbWFza3VuaXRzOiAnbWFza1VuaXRzJyxcXG4gIG1hdGhlbWF0aWNhbDogJ21hdGhlbWF0aWNhbCcsXFxuICBtb2RlOiAnbW9kZScsXFxuICBudW1vY3RhdmVzOiAnbnVtT2N0YXZlcycsXFxuICBvZmZzZXQ6ICdvZmZzZXQnLFxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxcbiAgb3BlcmF0b3I6ICdvcGVyYXRvcicsXFxuICBvcmRlcjogJ29yZGVyJyxcXG4gIG9yaWVudDogJ29yaWVudCcsXFxuICBvcmllbnRhdGlvbjogJ29yaWVudGF0aW9uJyxcXG4gIG9yaWdpbjogJ29yaWdpbicsXFxuICBvdmVyZmxvdzogJ292ZXJmbG93JyxcXG4gIG92ZXJsaW5lcG9zaXRpb246ICdvdmVybGluZVBvc2l0aW9uJyxcXG4gICdvdmVybGluZS1wb3NpdGlvbic6ICdvdmVybGluZVBvc2l0aW9uJyxcXG4gIG92ZXJsaW5ldGhpY2tuZXNzOiAnb3ZlcmxpbmVUaGlja25lc3MnLFxcbiAgJ292ZXJsaW5lLXRoaWNrbmVzcyc6ICdvdmVybGluZVRoaWNrbmVzcycsXFxuICBwYWludG9yZGVyOiAncGFpbnRPcmRlcicsXFxuICAncGFpbnQtb3JkZXInOiAncGFpbnRPcmRlcicsXFxuICBwYW5vc2UxOiAncGFub3NlMScsXFxuICAncGFub3NlLTEnOiAncGFub3NlMScsXFxuICBwYXRobGVuZ3RoOiAncGF0aExlbmd0aCcsXFxuICBwYXR0ZXJuY29udGVudHVuaXRzOiAncGF0dGVybkNvbnRlbnRVbml0cycsXFxuICBwYXR0ZXJudHJhbnNmb3JtOiAncGF0dGVyblRyYW5zZm9ybScsXFxuICBwYXR0ZXJudW5pdHM6ICdwYXR0ZXJuVW5pdHMnLFxcbiAgcG9pbnRlcmV2ZW50czogJ3BvaW50ZXJFdmVudHMnLFxcbiAgJ3BvaW50ZXItZXZlbnRzJzogJ3BvaW50ZXJFdmVudHMnLFxcbiAgcG9pbnRzOiAncG9pbnRzJyxcXG4gIHBvaW50c2F0eDogJ3BvaW50c0F0WCcsXFxuICBwb2ludHNhdHk6ICdwb2ludHNBdFknLFxcbiAgcG9pbnRzYXR6OiAncG9pbnRzQXRaJyxcXG4gIHByZWZpeDogJ3ByZWZpeCcsXFxuICBwcmVzZXJ2ZWFscGhhOiAncHJlc2VydmVBbHBoYScsXFxuICBwcmVzZXJ2ZWFzcGVjdHJhdGlvOiAncHJlc2VydmVBc3BlY3RSYXRpbycsXFxuICBwcmltaXRpdmV1bml0czogJ3ByaW1pdGl2ZVVuaXRzJyxcXG4gIHByb3BlcnR5OiAncHJvcGVydHknLFxcbiAgcjogJ3InLFxcbiAgcmFkaXVzOiAncmFkaXVzJyxcXG4gIHJlZng6ICdyZWZYJyxcXG4gIHJlZnk6ICdyZWZZJyxcXG4gIHJlbmRlcmluZ2ludGVudDogJ3JlbmRlcmluZ0ludGVudCcsXFxuICAncmVuZGVyaW5nLWludGVudCc6ICdyZW5kZXJpbmdJbnRlbnQnLFxcbiAgcmVwZWF0Y291bnQ6ICdyZXBlYXRDb3VudCcsXFxuICByZXBlYXRkdXI6ICdyZXBlYXREdXInLFxcbiAgcmVxdWlyZWRleHRlbnNpb25zOiAncmVxdWlyZWRFeHRlbnNpb25zJyxcXG4gIHJlcXVpcmVkZmVhdHVyZXM6ICdyZXF1aXJlZEZlYXR1cmVzJyxcXG4gIHJlc291cmNlOiAncmVzb3VyY2UnLFxcbiAgcmVzdGFydDogJ3Jlc3RhcnQnLFxcbiAgcmVzdWx0OiAncmVzdWx0JyxcXG4gIHJlc3VsdHM6ICdyZXN1bHRzJyxcXG4gIHJvdGF0ZTogJ3JvdGF0ZScsXFxuICByeDogJ3J4JyxcXG4gIHJ5OiAncnknLFxcbiAgc2NhbGU6ICdzY2FsZScsXFxuICBzZWN1cml0eTogJ3NlY3VyaXR5JyxcXG4gIHNlZWQ6ICdzZWVkJyxcXG4gIHNoYXBlcmVuZGVyaW5nOiAnc2hhcGVSZW5kZXJpbmcnLFxcbiAgJ3NoYXBlLXJlbmRlcmluZyc6ICdzaGFwZVJlbmRlcmluZycsXFxuICBzbG9wZTogJ3Nsb3BlJyxcXG4gIHNwYWNpbmc6ICdzcGFjaW5nJyxcXG4gIHNwZWN1bGFyY29uc3RhbnQ6ICdzcGVjdWxhckNvbnN0YW50JyxcXG4gIHNwZWN1bGFyZXhwb25lbnQ6ICdzcGVjdWxhckV4cG9uZW50JyxcXG4gIHNwZWVkOiAnc3BlZWQnLFxcbiAgc3ByZWFkbWV0aG9kOiAnc3ByZWFkTWV0aG9kJyxcXG4gIHN0YXJ0b2Zmc2V0OiAnc3RhcnRPZmZzZXQnLFxcbiAgc3RkZGV2aWF0aW9uOiAnc3RkRGV2aWF0aW9uJyxcXG4gIHN0ZW1oOiAnc3RlbWgnLFxcbiAgc3RlbXY6ICdzdGVtdicsXFxuICBzdGl0Y2h0aWxlczogJ3N0aXRjaFRpbGVzJyxcXG4gIHN0b3Bjb2xvcjogJ3N0b3BDb2xvcicsXFxuICAnc3RvcC1jb2xvcic6ICdzdG9wQ29sb3InLFxcbiAgc3RvcG9wYWNpdHk6ICdzdG9wT3BhY2l0eScsXFxuICAnc3RvcC1vcGFjaXR5JzogJ3N0b3BPcGFjaXR5JyxcXG4gIHN0cmlrZXRocm91Z2hwb3NpdGlvbjogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXFxuICAnc3RyaWtldGhyb3VnaC1wb3NpdGlvbic6ICdzdHJpa2V0aHJvdWdoUG9zaXRpb24nLFxcbiAgc3RyaWtldGhyb3VnaHRoaWNrbmVzczogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxcbiAgJ3N0cmlrZXRocm91Z2gtdGhpY2tuZXNzJzogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxcbiAgc3RyaW5nOiAnc3RyaW5nJyxcXG4gIHN0cm9rZTogJ3N0cm9rZScsXFxuICBzdHJva2VkYXNoYXJyYXk6ICdzdHJva2VEYXNoYXJyYXknLFxcbiAgJ3N0cm9rZS1kYXNoYXJyYXknOiAnc3Ryb2tlRGFzaGFycmF5JyxcXG4gIHN0cm9rZWRhc2hvZmZzZXQ6ICdzdHJva2VEYXNob2Zmc2V0JyxcXG4gICdzdHJva2UtZGFzaG9mZnNldCc6ICdzdHJva2VEYXNob2Zmc2V0JyxcXG4gIHN0cm9rZWxpbmVjYXA6ICdzdHJva2VMaW5lY2FwJyxcXG4gICdzdHJva2UtbGluZWNhcCc6ICdzdHJva2VMaW5lY2FwJyxcXG4gIHN0cm9rZWxpbmVqb2luOiAnc3Ryb2tlTGluZWpvaW4nLFxcbiAgJ3N0cm9rZS1saW5lam9pbic6ICdzdHJva2VMaW5lam9pbicsXFxuICBzdHJva2VtaXRlcmxpbWl0OiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXFxuICAnc3Ryb2tlLW1pdGVybGltaXQnOiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXFxuICBzdHJva2V3aWR0aDogJ3N0cm9rZVdpZHRoJyxcXG4gICdzdHJva2Utd2lkdGgnOiAnc3Ryb2tlV2lkdGgnLFxcbiAgc3Ryb2tlb3BhY2l0eTogJ3N0cm9rZU9wYWNpdHknLFxcbiAgJ3N0cm9rZS1vcGFjaXR5JzogJ3N0cm9rZU9wYWNpdHknLFxcbiAgc3VwcHJlc3Njb250ZW50ZWRpdGFibGV3YXJuaW5nOiAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJyxcXG4gIHN1cHByZXNzaHlkcmF0aW9ud2FybmluZzogJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsXFxuICBzdXJmYWNlc2NhbGU6ICdzdXJmYWNlU2NhbGUnLFxcbiAgc3lzdGVtbGFuZ3VhZ2U6ICdzeXN0ZW1MYW5ndWFnZScsXFxuICB0YWJsZXZhbHVlczogJ3RhYmxlVmFsdWVzJyxcXG4gIHRhcmdldHg6ICd0YXJnZXRYJyxcXG4gIHRhcmdldHk6ICd0YXJnZXRZJyxcXG4gIHRleHRhbmNob3I6ICd0ZXh0QW5jaG9yJyxcXG4gICd0ZXh0LWFuY2hvcic6ICd0ZXh0QW5jaG9yJyxcXG4gIHRleHRkZWNvcmF0aW9uOiAndGV4dERlY29yYXRpb24nLFxcbiAgJ3RleHQtZGVjb3JhdGlvbic6ICd0ZXh0RGVjb3JhdGlvbicsXFxuICB0ZXh0bGVuZ3RoOiAndGV4dExlbmd0aCcsXFxuICB0ZXh0cmVuZGVyaW5nOiAndGV4dFJlbmRlcmluZycsXFxuICAndGV4dC1yZW5kZXJpbmcnOiAndGV4dFJlbmRlcmluZycsXFxuICB0bzogJ3RvJyxcXG4gIHRyYW5zZm9ybTogJ3RyYW5zZm9ybScsXFxuICB0eXBlb2Y6ICd0eXBlb2YnLFxcbiAgdTE6ICd1MScsXFxuICB1MjogJ3UyJyxcXG4gIHVuZGVybGluZXBvc2l0aW9uOiAndW5kZXJsaW5lUG9zaXRpb24nLFxcbiAgJ3VuZGVybGluZS1wb3NpdGlvbic6ICd1bmRlcmxpbmVQb3NpdGlvbicsXFxuICB1bmRlcmxpbmV0aGlja25lc3M6ICd1bmRlcmxpbmVUaGlja25lc3MnLFxcbiAgJ3VuZGVybGluZS10aGlja25lc3MnOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcXG4gIHVuaWNvZGU6ICd1bmljb2RlJyxcXG4gIHVuaWNvZGViaWRpOiAndW5pY29kZUJpZGknLFxcbiAgJ3VuaWNvZGUtYmlkaSc6ICd1bmljb2RlQmlkaScsXFxuICB1bmljb2RlcmFuZ2U6ICd1bmljb2RlUmFuZ2UnLFxcbiAgJ3VuaWNvZGUtcmFuZ2UnOiAndW5pY29kZVJhbmdlJyxcXG4gIHVuaXRzcGVyZW06ICd1bml0c1BlckVtJyxcXG4gICd1bml0cy1wZXItZW0nOiAndW5pdHNQZXJFbScsXFxuICB1bnNlbGVjdGFibGU6ICd1bnNlbGVjdGFibGUnLFxcbiAgdmFscGhhYmV0aWM6ICd2QWxwaGFiZXRpYycsXFxuICAndi1hbHBoYWJldGljJzogJ3ZBbHBoYWJldGljJyxcXG4gIHZhbHVlczogJ3ZhbHVlcycsXFxuICB2ZWN0b3JlZmZlY3Q6ICd2ZWN0b3JFZmZlY3QnLFxcbiAgJ3ZlY3Rvci1lZmZlY3QnOiAndmVjdG9yRWZmZWN0JyxcXG4gIHZlcnNpb246ICd2ZXJzaW9uJyxcXG4gIHZlcnRhZHZ5OiAndmVydEFkdlknLFxcbiAgJ3ZlcnQtYWR2LXknOiAndmVydEFkdlknLFxcbiAgdmVydG9yaWdpbng6ICd2ZXJ0T3JpZ2luWCcsXFxuICAndmVydC1vcmlnaW4teCc6ICd2ZXJ0T3JpZ2luWCcsXFxuICB2ZXJ0b3JpZ2lueTogJ3ZlcnRPcmlnaW5ZJyxcXG4gICd2ZXJ0LW9yaWdpbi15JzogJ3ZlcnRPcmlnaW5ZJyxcXG4gIHZoYW5naW5nOiAndkhhbmdpbmcnLFxcbiAgJ3YtaGFuZ2luZyc6ICd2SGFuZ2luZycsXFxuICB2aWRlb2dyYXBoaWM6ICd2SWRlb2dyYXBoaWMnLFxcbiAgJ3YtaWRlb2dyYXBoaWMnOiAndklkZW9ncmFwaGljJyxcXG4gIHZpZXdib3g6ICd2aWV3Qm94JyxcXG4gIHZpZXd0YXJnZXQ6ICd2aWV3VGFyZ2V0JyxcXG4gIHZpc2liaWxpdHk6ICd2aXNpYmlsaXR5JyxcXG4gIHZtYXRoZW1hdGljYWw6ICd2TWF0aGVtYXRpY2FsJyxcXG4gICd2LW1hdGhlbWF0aWNhbCc6ICd2TWF0aGVtYXRpY2FsJyxcXG4gIHZvY2FiOiAndm9jYWInLFxcbiAgd2lkdGhzOiAnd2lkdGhzJyxcXG4gIHdvcmRzcGFjaW5nOiAnd29yZFNwYWNpbmcnLFxcbiAgJ3dvcmQtc3BhY2luZyc6ICd3b3JkU3BhY2luZycsXFxuICB3cml0aW5nbW9kZTogJ3dyaXRpbmdNb2RlJyxcXG4gICd3cml0aW5nLW1vZGUnOiAnd3JpdGluZ01vZGUnLFxcbiAgeDE6ICd4MScsXFxuICB4MjogJ3gyJyxcXG4gIHg6ICd4JyxcXG4gIHhjaGFubmVsc2VsZWN0b3I6ICd4Q2hhbm5lbFNlbGVjdG9yJyxcXG4gIHhoZWlnaHQ6ICd4SGVpZ2h0JyxcXG4gICd4LWhlaWdodCc6ICd4SGVpZ2h0JyxcXG4gIHhsaW5rYWN0dWF0ZTogJ3hsaW5rQWN0dWF0ZScsXFxuICAneGxpbms6YWN0dWF0ZSc6ICd4bGlua0FjdHVhdGUnLFxcbiAgeGxpbmthcmNyb2xlOiAneGxpbmtBcmNyb2xlJyxcXG4gICd4bGluazphcmNyb2xlJzogJ3hsaW5rQXJjcm9sZScsXFxuICB4bGlua2hyZWY6ICd4bGlua0hyZWYnLFxcbiAgJ3hsaW5rOmhyZWYnOiAneGxpbmtIcmVmJyxcXG4gIHhsaW5rcm9sZTogJ3hsaW5rUm9sZScsXFxuICAneGxpbms6cm9sZSc6ICd4bGlua1JvbGUnLFxcbiAgeGxpbmtzaG93OiAneGxpbmtTaG93JyxcXG4gICd4bGluazpzaG93JzogJ3hsaW5rU2hvdycsXFxuICB4bGlua3RpdGxlOiAneGxpbmtUaXRsZScsXFxuICAneGxpbms6dGl0bGUnOiAneGxpbmtUaXRsZScsXFxuICB4bGlua3R5cGU6ICd4bGlua1R5cGUnLFxcbiAgJ3hsaW5rOnR5cGUnOiAneGxpbmtUeXBlJyxcXG4gIHhtbGJhc2U6ICd4bWxCYXNlJyxcXG4gICd4bWw6YmFzZSc6ICd4bWxCYXNlJyxcXG4gIHhtbGxhbmc6ICd4bWxMYW5nJyxcXG4gICd4bWw6bGFuZyc6ICd4bWxMYW5nJyxcXG4gIHhtbG5zOiAneG1sbnMnLFxcbiAgJ3htbDpzcGFjZSc6ICd4bWxTcGFjZScsXFxuICB4bWxuc3hsaW5rOiAneG1sbnNYbGluaycsXFxuICAneG1sbnM6eGxpbmsnOiAneG1sbnNYbGluaycsXFxuICB4bWxzcGFjZTogJ3htbFNwYWNlJyxcXG4gIHkxOiAneTEnLFxcbiAgeTI6ICd5MicsXFxuICB5OiAneScsXFxuICB5Y2hhbm5lbHNlbGVjdG9yOiAneUNoYW5uZWxTZWxlY3RvcicsXFxuICB6OiAneicsXFxuICB6b29tYW5kcGFuOiAnem9vbUFuZFBhbidcXG59O1xcblxcbnZhciBhcmlhUHJvcGVydGllcyA9IHtcXG4gICdhcmlhLWN1cnJlbnQnOiAwLFxcbiAgLy8gc3RhdGVcXG4gICdhcmlhLWRldGFpbHMnOiAwLFxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxcbiAgLy8gc3RhdGVcXG4gICdhcmlhLWhpZGRlbic6IDAsXFxuICAvLyBzdGF0ZVxcbiAgJ2FyaWEtaW52YWxpZCc6IDAsXFxuICAvLyBzdGF0ZVxcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcXG4gICdhcmlhLWxhYmVsJzogMCxcXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IDAsXFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xcbiAgJ2FyaWEtYXV0b2NvbXBsZXRlJzogMCxcXG4gICdhcmlhLWNoZWNrZWQnOiAwLFxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxcbiAgJ2FyaWEtaGFzcG9wdXAnOiAwLFxcbiAgJ2FyaWEtbGV2ZWwnOiAwLFxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxcbiAgJ2FyaWEtbXVsdGlsaW5lJzogMCxcXG4gICdhcmlhLW11bHRpc2VsZWN0YWJsZSc6IDAsXFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXFxuICAnYXJpYS1wbGFjZWhvbGRlcic6IDAsXFxuICAnYXJpYS1wcmVzc2VkJzogMCxcXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcXG4gICdhcmlhLXJlcXVpcmVkJzogMCxcXG4gICdhcmlhLXNlbGVjdGVkJzogMCxcXG4gICdhcmlhLXNvcnQnOiAwLFxcbiAgJ2FyaWEtdmFsdWVtYXgnOiAwLFxcbiAgJ2FyaWEtdmFsdWVtaW4nOiAwLFxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxcbiAgJ2FyaWEtdmFsdWV0ZXh0JzogMCxcXG4gIC8vIExpdmUgUmVnaW9uIEF0dHJpYnV0ZXNcXG4gICdhcmlhLWF0b21pYyc6IDAsXFxuICAnYXJpYS1idXN5JzogMCxcXG4gICdhcmlhLWxpdmUnOiAwLFxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxcbiAgLy8gRHJhZy1hbmQtRHJvcCBBdHRyaWJ1dGVzXFxuICAnYXJpYS1kcm9wZWZmZWN0JzogMCxcXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxcbiAgLy8gUmVsYXRpb25zaGlwIEF0dHJpYnV0ZXNcXG4gICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnOiAwLFxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxcbiAgJ2FyaWEtY29saW5kZXgnOiAwLFxcbiAgJ2FyaWEtY29sc3Bhbic6IDAsXFxuICAnYXJpYS1jb250cm9scyc6IDAsXFxuICAnYXJpYS1kZXNjcmliZWRieSc6IDAsXFxuICAnYXJpYS1lcnJvcm1lc3NhZ2UnOiAwLFxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcXG4gICdhcmlhLWxhYmVsbGVkYnknOiAwLFxcbiAgJ2FyaWEtb3ducyc6IDAsXFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXFxuICAnYXJpYS1yb3djb3VudCc6IDAsXFxuICAnYXJpYS1yb3dpbmRleCc6IDAsXFxuICAnYXJpYS1yb3dzcGFuJzogMCxcXG4gICdhcmlhLXNldHNpemUnOiAwXFxufTtcXG5cXG52YXIgd2FybmVkUHJvcGVydGllcyA9IHt9O1xcbnZhciByQVJJQSA9IG5ldyBSZWdFeHAoJ14oYXJpYSktWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xcbnZhciBoYXNPd25Qcm9wZXJ0eSQxID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcXG4gIHtcXG4gICAgaWYgKGhhc093blByb3BlcnR5JDEuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzLCBuYW1lKSAmJiB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdKSB7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJBUklBQ2FtZWwudGVzdChuYW1lKSkge1xcbiAgICAgIHZhciBhcmlhTmFtZSA9ICdhcmlhLScgKyBuYW1lLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCk7XFxuICAgICAgdmFyIGNvcnJlY3ROYW1lID0gYXJpYVByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoYXJpYU5hbWUpID8gYXJpYU5hbWUgOiBudWxsOyAvLyBJZiB0aGlzIGlzIGFuIGFyaWEtKiBhdHRyaWJ1dGUsIGJ1dCBpcyBub3QgbGlzdGVkIGluIHRoZSBrbm93biBET01cXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXFxuXFxuICAgICAgaWYgKGNvcnJlY3ROYW1lID09IG51bGwpIHtcXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIEFSSUEgYXR0cmlidXRlIGAlc2AuIEFSSUEgYXR0cmlidXRlcyBmb2xsb3cgdGhlIHBhdHRlcm4gYXJpYS0qIGFuZCBtdXN0IGJlIGxvd2VyY2FzZS4nLCBuYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cXG5cXG5cXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIGNvcnJlY3ROYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChyQVJJQS50ZXN0KG5hbWUpKSB7XFxuICAgICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkgPyBsb3dlckNhc2VkTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxcbiAgICAgIC8vIERPTSBwcm9wZXJ0aWVzLCB0aGVuIGl0IGlzIGFuIGludmFsaWQgYXJpYS0qIGF0dHJpYnV0ZS5cXG5cXG4gICAgICBpZiAoc3RhbmRhcmROYW1lID09IG51bGwpIHtcXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH0gLy8gYXJpYS0qIGF0dHJpYnV0ZXMgc2hvdWxkIGJlIGxvd2VyY2FzZTsgc3VnZ2VzdCB0aGUgbG93ZXJjYXNlIHZlcnNpb24uXFxuXFxuXFxuICAgICAgaWYgKG5hbWUgIT09IHN0YW5kYXJkTmFtZSkge1xcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgc3RhbmRhcmROYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuZnVuY3Rpb24gd2FybkludmFsaWRBUklBUHJvcHModHlwZSwgcHJvcHMpIHtcXG4gIHtcXG4gICAgdmFyIGludmFsaWRQcm9wcyA9IFtdO1xcblxcbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcXG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5KTtcXG5cXG4gICAgICBpZiAoIWlzVmFsaWQpIHtcXG4gICAgICAgIGludmFsaWRQcm9wcy5wdXNoKGtleSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IGludmFsaWRQcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcXG4gICAgICByZXR1cm4gJ2AnICsgcHJvcCArICdgJztcXG4gICAgfSkuam9pbignLCAnKTtcXG5cXG4gICAgaWYgKGludmFsaWRQcm9wcy5sZW5ndGggPT09IDEpIHtcXG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3AgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL2ZiLm1lL2ludmFsaWQtYXJpYS1wcm9wJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xcbiAgICB9IGVsc2UgaWYgKGludmFsaWRQcm9wcy5sZW5ndGggPiAxKSB7XFxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXJpYSBwcm9wcyAlcyBvbiA8JXM+IHRhZy4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vZmIubWUvaW52YWxpZC1hcmlhLXByb3AnLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzKHR5cGUsIHByb3BzKSB7XFxuICBpZiAoaXNDdXN0b21Db21wb25lbnQodHlwZSwgcHJvcHMpKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKTtcXG59XFxuXFxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXMkMSh0eXBlLCBwcm9wcykge1xcbiAge1xcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmIChwcm9wcyAhPSBudWxsICYmIHByb3BzLnZhbHVlID09PSBudWxsICYmICFkaWRXYXJuVmFsdWVOdWxsKSB7XFxuICAgICAgZGlkV2FyblZhbHVlTnVsbCA9IHRydWU7XFxuXFxuICAgICAgaWYgKHR5cGUgPT09ICdzZWxlY3QnICYmIHByb3BzLm11bHRpcGxlKSB7XFxuICAgICAgICBlcnJvcignYHZhbHVlYCBwcm9wIG9uIGAlc2Agc2hvdWxkIG5vdCBiZSBudWxsLiAnICsgJ0NvbnNpZGVyIHVzaW5nIGFuIGVtcHR5IGFycmF5IHdoZW4gYG11bHRpcGxlYCBpcyBzZXQgdG8gYHRydWVgICcgKyAndG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCBmb3IgdW5jb250cm9sbGVkIGNvbXBvbmVudHMuJywgdHlwZSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGVycm9yKCdgdmFsdWVgIHByb3Agb24gYCVzYCBzaG91bGQgbm90IGJlIG51bGwuICcgKyAnQ29uc2lkZXIgdXNpbmcgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgJyArICdmb3IgdW5jb250cm9sbGVkIGNvbXBvbmVudHMuJywgdHlwZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbnZhciB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAoKSB7fTtcXG5cXG57XFxuICB2YXIgd2FybmVkUHJvcGVydGllcyQxID0ge307XFxuICB2YXIgX2hhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG4gIHZhciBFVkVOVF9OQU1FX1JFR0VYID0gL15vbi4vO1xcbiAgdmFyIElOVkFMSURfRVZFTlRfTkFNRV9SRUdFWCA9IC9eb25bXkEtWl0vO1xcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcXG4gIHZhciByQVJJQUNhbWVsJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpW0EtWl1bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJyk7XFxuXFxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGNhblVzZUV2ZW50U3lzdGVtKSB7XFxuICAgIGlmIChfaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcXG5cXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c2luJyB8fCBsb3dlckNhc2VkTmFtZSA9PT0gJ29uZm9jdXNvdXQnKSB7XFxuICAgICAgZXJyb3IoJ1JlYWN0IHVzZXMgb25Gb2N1cyBhbmQgb25CbHVyIGluc3RlYWQgb2Ygb25Gb2N1c0luIGFuZCBvbkZvY3VzT3V0LiAnICsgJ0FsbCBSZWFjdCBldmVudHMgYXJlIG5vcm1hbGl6ZWQgdG8gYnViYmxlLCBzbyBvbkZvY3VzSW4gYW5kIG9uRm9jdXNPdXQgJyArICdhcmUgbm90IG5lZWRlZC9zdXBwb3J0ZWQgYnkgUmVhY3QuJyk7XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfSAvLyBXZSBjYW4ndCByZWx5IG9uIHRoZSBldmVudCBzeXN0ZW0gYmVpbmcgaW5qZWN0ZWQgb24gdGhlIHNlcnZlci5cXG5cXG5cXG4gICAgaWYgKGNhblVzZUV2ZW50U3lzdGVtKSB7XFxuICAgICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIHJlZ2lzdHJhdGlvbk5hbWUgPSBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSA/IHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXNbbG93ZXJDYXNlZE5hbWVdIDogbnVsbDtcXG5cXG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSAhPSBudWxsKSB7XFxuICAgICAgICBlcnJvcignSW52YWxpZCBldmVudCBoYW5kbGVyIHByb3BlcnR5IGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHJlZ2lzdHJhdGlvbk5hbWUpO1xcblxcbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoRVZFTlRfTkFNRV9SRUdFWC50ZXN0KG5hbWUpKSB7XFxuICAgICAgICBlcnJvcignVW5rbm93biBldmVudCBoYW5kbGVyIHByb3BlcnR5IGAlc2AuIEl0IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoRVZFTlRfTkFNRV9SRUdFWC50ZXN0KG5hbWUpKSB7XFxuICAgICAgLy8gSWYgbm8gZXZlbnQgcGx1Z2lucyBoYXZlIGJlZW4gaW5qZWN0ZWQsIHdlIGFyZSBpbiBhIHNlcnZlciBlbnZpcm9ubWVudC5cXG4gICAgICAvLyBTbyB3ZSBjYW4ndCB0ZWxsIGlmIHRoZSBldmVudCBuYW1lIGlzIGNvcnJlY3QgZm9yIHN1cmUsIGJ1dCB3ZSBjYW4gZmlsdGVyXFxuICAgICAgLy8gb3V0IGtub3duIGJhZCBvbmVzIGxpa2UgYG9uY2xpY2tgLiBXZSBjYW4ndCBzdWdnZXN0IGEgc3BlY2lmaWMgcmVwbGFjZW1lbnQgdGhvdWdoLlxcbiAgICAgIGlmIChJTlZBTElEX0VWRU5UX05BTUVfUkVHRVgudGVzdChuYW1lKSkge1xcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiAnICsgJ1JlYWN0IGV2ZW50cyB1c2UgdGhlIGNhbWVsQ2FzZSBuYW1pbmcgY29udmVudGlvbiwgZm9yIGV4YW1wbGUgYG9uQ2xpY2tgLicsIG5hbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9IC8vIExldCB0aGUgQVJJQSBhdHRyaWJ1dGUgaG9vayB2YWxpZGF0ZSBBUklBIGF0dHJpYnV0ZXNcXG5cXG5cXG4gICAgaWYgKHJBUklBJDEudGVzdChuYW1lKSB8fCByQVJJQUNhbWVsJDEudGVzdChuYW1lKSkge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lubmVyaHRtbCcpIHtcXG4gICAgICBlcnJvcignRGlyZWN0bHkgc2V0dGluZyBwcm9wZXJ0eSBgaW5uZXJIVE1MYCBpcyBub3QgcGVybWl0dGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCBsb29rdXAgZG9jdW1lbnRhdGlvbiBvbiBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xcblxcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnYXJpYScpIHtcXG4gICAgICBlcnJvcignVGhlIGBhcmlhYCBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgaW4gUmVhY3QuICcgKyAnUGFzcyBpbmRpdmlkdWFsIGBhcmlhLWAgYXR0cmlidXRlcyBpbnN0ZWFkLicpO1xcblxcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnaXMnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkpIHtcXG4gICAgICBlcnJvcignUmVjZWl2ZWQgTmFOIGZvciB0aGUgYCVzYCBhdHRyaWJ1dGUuIElmIHRoaXMgaXMgZXhwZWN0ZWQsIGNhc3QgJyArICd0aGUgdmFsdWUgdG8gYSBzdHJpbmcuJywgbmFtZSk7XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKG5hbWUpO1xcbiAgICB2YXIgaXNSZXNlcnZlZCA9IHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7IC8vIEtub3duIGF0dHJpYnV0ZXMgc2hvdWxkIG1hdGNoIHRoZSBjYXNpbmcgc3BlY2lmaWVkIGluIHRoZSBwcm9wZXJ0eSBjb25maWcuXFxuXFxuICAgIGlmIChwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XFxuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IHBvc3NpYmxlU3RhbmRhcmROYW1lc1tsb3dlckNhc2VkTmFtZV07XFxuXFxuICAgICAgaWYgKHN0YW5kYXJkTmFtZSAhPT0gbmFtZSkge1xcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgRE9NIHByb3BlcnR5IGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XFxuXFxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFpc1Jlc2VydmVkICYmIG5hbWUgIT09IGxvd2VyQ2FzZWROYW1lKSB7XFxuICAgICAgLy8gVW5rbm93biBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlIGxvd2VyY2FzZSBjYXNpbmcgc2luY2UgdGhhdCdzIGhvdyB0aGV5XFxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxcbiAgICAgIGVycm9yKCdSZWFjdCBkb2VzIG5vdCByZWNvZ25pemUgdGhlIGAlc2AgcHJvcCBvbiBhIERPTSBlbGVtZW50LiBJZiB5b3UgJyArICdpbnRlbnRpb25hbGx5IHdhbnQgaXQgdG8gYXBwZWFyIGluIHRoZSBET00gYXMgYSBjdXN0b20gJyArICdhdHRyaWJ1dGUsIHNwZWxsIGl0IGFzIGxvd2VyY2FzZSBgJXNgIGluc3RlYWQuICcgKyAnSWYgeW91IGFjY2lkZW50YWxseSBwYXNzZWQgaXQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQsIHJlbW92ZSAnICsgJ2l0IGZyb20gdGhlIERPTSBlbGVtZW50LicsIG5hbWUsIGxvd2VyQ2FzZWROYW1lKTtcXG5cXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiBzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBmYWxzZSkpIHtcXG4gICAgICBpZiAodmFsdWUpIHtcXG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcXFxuXFxcXG4nICsgJ0lmIHlvdSB3YW50IHRvIHdyaXRlIGl0IHRvIHRoZSBET00sIHBhc3MgYSBzdHJpbmcgaW5zdGVhZDogJyArICclcz1cXFwiJXNcXFwiIG9yICVzPXt2YWx1ZS50b1N0cmluZygpfS4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYCVzYCBmb3IgYSBub24tYm9vbGVhbiBhdHRyaWJ1dGUgYCVzYC5cXFxcblxcXFxuJyArICdJZiB5b3Ugd2FudCB0byB3cml0ZSBpdCB0byB0aGUgRE9NLCBwYXNzIGEgc3RyaW5nIGluc3RlYWQ6ICcgKyAnJXM9XFxcIiVzXFxcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uXFxcXG5cXFxcbicgKyAnSWYgeW91IHVzZWQgdG8gY29uZGl0aW9uYWxseSBvbWl0IGl0IHdpdGggJXM9e2NvbmRpdGlvbiAmJiB2YWx1ZX0sICcgKyAncGFzcyAlcz17Y29uZGl0aW9uID8gdmFsdWUgOiB1bmRlZmluZWR9IGluc3RlYWQuJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lLCBuYW1lLCBuYW1lKTtcXG4gICAgICB9XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfSAvLyBOb3cgdGhhdCB3ZSd2ZSB2YWxpZGF0ZWQgY2FzaW5nLCBkbyBub3QgdmFsaWRhdGVcXG4gICAgLy8gZGF0YSB0eXBlcyBmb3IgcmVzZXJ2ZWQgcHJvcHNcXG5cXG5cXG4gICAgaWYgKGlzUmVzZXJ2ZWQpIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfSAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxcblxcblxcbiAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH0gLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxcblxcblxcbiAgICBpZiAoKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSAndHJ1ZScpICYmIHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gQk9PTEVBTikge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCB0aGUgc3RyaW5nIGAlc2AgZm9yIHRoZSBib29sZWFuIGF0dHJpYnV0ZSBgJXNgLiAnICsgJyVzICcgKyAnRGlkIHlvdSBtZWFuICVzPXslc30/JywgdmFsdWUsIG5hbWUsIHZhbHVlID09PSAnZmFsc2UnID8gJ1RoZSBicm93c2VyIHdpbGwgaW50ZXJwcmV0IGl0IGFzIGEgdHJ1dGh5IHZhbHVlLicgOiAnQWx0aG91Z2ggdGhpcyB3b3JrcywgaXQgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZCBpZiB5b3UgcGFzcyB0aGUgc3RyaW5nIFxcXCJmYWxzZVxcXCIuJywgbmFtZSwgdmFsdWUpO1xcblxcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9O1xcbn1cXG5cXG52YXIgd2FyblVua25vd25Qcm9wZXJ0aWVzID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzLCBjYW5Vc2VFdmVudFN5c3RlbSkge1xcbiAge1xcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XFxuXFxuICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgY2FuVXNlRXZlbnRTeXN0ZW0pO1xcblxcbiAgICAgIGlmICghaXNWYWxpZCkge1xcbiAgICAgICAgdW5rbm93blByb3BzLnB1c2goa2V5KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gdW5rbm93blByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xcbiAgICB9KS5qb2luKCcsICcpO1xcblxcbiAgICBpZiAodW5rbm93blByb3BzLmxlbmd0aCA9PT0gMSkge1xcbiAgICAgIGVycm9yKCdJbnZhbGlkIHZhbHVlIGZvciBwcm9wICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIGl0IGZyb20gdGhlIGVsZW1lbnQsICcgKyAnb3IgcGFzcyBhIHN0cmluZyBvciBudW1iZXIgdmFsdWUgdG8ga2VlcCBpdCBpbiB0aGUgRE9NLiAnICsgJ0ZvciBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1hdHRyaWJ1dGUtYmVoYXZpb3InLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XFxuICAgIH0gZWxzZSBpZiAodW5rbm93blByb3BzLmxlbmd0aCA+IDEpIHtcXG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZXMgZm9yIHByb3BzICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIHRoZW0gaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtYXR0cmlidXRlLWJlaGF2aW9yJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xcbiAgICB9XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXMkMih0eXBlLCBwcm9wcywgY2FuVXNlRXZlbnRTeXN0ZW0pIHtcXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcykpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgd2FyblVua25vd25Qcm9wZXJ0aWVzKHR5cGUsIHByb3BzLCBjYW5Vc2VFdmVudFN5c3RlbSk7XFxufVxcblxcbnZhciBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IGZhbHNlO1xcbnZhciBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCA9ICdkYW5nZXJvdXNseVNldElubmVySFRNTCc7XFxudmFyIFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyA9ICdzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcnO1xcbnZhciBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xcbnZhciBBVVRPRk9DVVMgPSAnYXV0b0ZvY3VzJztcXG52YXIgQ0hJTERSRU4gPSAnY2hpbGRyZW4nO1xcbnZhciBTVFlMRSA9ICdzdHlsZSc7XFxudmFyIEhUTUwkMSA9ICdfX2h0bWwnO1xcbnZhciBIVE1MX05BTUVTUEFDRSQxID0gTmFtZXNwYWNlcy5odG1sO1xcbnZhciB3YXJuZWRVbmtub3duVGFncztcXG52YXIgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nO1xcbnZhciB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50O1xcbnZhciB3YXJuRm9yVGV4dERpZmZlcmVuY2U7XFxudmFyIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZTtcXG52YXIgd2FybkZvckV4dHJhQXR0cmlidXRlcztcXG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xcbnZhciBjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nO1xcbnZhciBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGU7XFxudmFyIG5vcm1hbGl6ZUhUTUw7XFxuXFxue1xcbiAgd2FybmVkVW5rbm93blRhZ3MgPSB7XFxuICAgIC8vIENocm9tZSBpcyB0aGUgb25seSBtYWpvciBicm93c2VyIG5vdCBzaGlwcGluZyA8dGltZT4uIEJ1dCBhcyBvZiBKdWx5XFxuICAgIC8vIDIwMTcgaXQgaW50ZW5kcyB0byBzaGlwIGl0IGR1ZSB0byB3aWRlc3ByZWFkIHVzYWdlLiBXZSBpbnRlbnRpb25hbGx5XFxuICAgIC8vICpkb24ndCogd2FybiBmb3IgPHRpbWU+IGV2ZW4gaWYgaXQncyB1bnJlY29nbml6ZWQgYnkgQ2hyb21lIGJlY2F1c2VcXG4gICAgLy8gaXQgc29vbiB3aWxsIGJlLCBhbmQgbWFueSBhcHBzIGhhdmUgYmVlbiB1c2luZyBpdCBhbnl3YXkuXFxuICAgIHRpbWU6IHRydWUsXFxuICAgIC8vIFRoZXJlIGFyZSB3b3JraW5nIHBvbHlmaWxscyBmb3IgPGRpYWxvZz4uIExldCBwZW9wbGUgdXNlIGl0LlxcbiAgICBkaWFsb2c6IHRydWUsXFxuICAgIC8vIEVsZWN0cm9uIHNoaXBzIGEgY3VzdG9tIDx3ZWJ2aWV3PiB0YWcgdG8gZGlzcGxheSBleHRlcm5hbCB3ZWIgY29udGVudCBpblxcbiAgICAvLyBhbiBpc29sYXRlZCBmcmFtZSBhbmQgcHJvY2Vzcy5cXG4gICAgLy8gVGhpcyB0YWcgaXMgbm90IHByZXNlbnQgaW4gbm9uIEVsZWN0cm9uIGVudmlyb25tZW50cyBzdWNoIGFzIEpTRG9tIHdoaWNoXFxuICAgIC8vIGlzIG9mdGVuIHVzZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuXFxuICAgIC8vIEBzZWUgaHR0cHM6Ly9lbGVjdHJvbmpzLm9yZy9kb2NzL2FwaS93ZWJ2aWV3LXRhZ1xcbiAgICB3ZWJ2aWV3OiB0cnVlXFxuICB9O1xcblxcbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBwcm9wcykge1xcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXModHlwZSwgcHJvcHMpO1xcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXMkMSh0eXBlLCBwcm9wcyk7XFxuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLFxcbiAgICAvKiBjYW5Vc2VFdmVudFN5c3RlbSAqL1xcbiAgICB0cnVlKTtcXG4gIH07IC8vIElFIDExIHBhcnNlcyAmIG5vcm1hbGl6ZXMgdGhlIHN0eWxlIGF0dHJpYnV0ZSBhcyBvcHBvc2VkIHRvIG90aGVyXFxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcXG4gIC8vIG5vbi1hbHBoYWJldGljYWwgb3JkZXIuIEhhbmRsaW5nIHRoYXQgd291bGQgcmVxdWlyZSBzb3J0aW5nIENTU1xcbiAgLy8gcHJvcGVydGllcyBpbiB0aGUgY2xpZW50ICYgc2VydmVyIHZlcnNpb25zIG9yIGFwcGx5aW5nXFxuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcXG4gIC8vIG5vcm1hbGl6ZWQuIFNpbmNlIGl0IG9ubHkgYWZmZWN0cyBJRSwgd2UncmUgc2tpcHBpbmcgc3R5bGUgd2FybmluZ3NcXG4gIC8vIGluIHRoYXQgYnJvd3NlciBjb21wbGV0ZWx5IGluIGZhdm9yIG9mIGRvaW5nIGFsbCB0aGF0IHdvcmsuXFxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xcblxcblxcbiAgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZyA9IGNhblVzZURPTSAmJiAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlOyAvLyBIVE1MIHBhcnNpbmcgbm9ybWFsaXplcyBDUiBhbmQgQ1JMRiB0byBMRi5cXG4gIC8vIEl0IGFsc28gY2FuIHR1cm4gXFxcXHUwMDAwIGludG8gXFxcXHVGRkZEIGluc2lkZSBhdHRyaWJ1dGVzLlxcbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NpbmdsZS1wYWdlLmh0bWwjcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtXFxuICAvLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxcbiAgLy8gV2Ugd2lsbCBzdGlsbCBwYXRjaCB1cCBpbiB0aGlzIGNhc2UgYnV0IG5vdCBmaXJlIHRoZSB3YXJuaW5nLlxcblxcbiAgdmFyIE5PUk1BTElaRV9ORVdMSU5FU19SRUdFWCA9IC9cXFxcclxcXFxuPy9nO1xcbiAgdmFyIE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCA9IC9cXFxcdTAwMDB8XFxcXHVGRkZEL2c7XFxuXFxuICBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUgPSBmdW5jdGlvbiAobWFya3VwKSB7XFxuICAgIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xcbiAgICByZXR1cm4gbWFya3VwU3RyaW5nLnJlcGxhY2UoTk9STUFMSVpFX05FV0xJTkVTX1JFR0VYLCAnXFxcXG4nKS5yZXBsYWNlKE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCwgJycpO1xcbiAgfTtcXG5cXG4gIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChzZXJ2ZXJUZXh0LCBjbGllbnRUZXh0KSB7XFxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgbm9ybWFsaXplZENsaWVudFRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoY2xpZW50VGV4dCk7XFxuICAgIHZhciBub3JtYWxpemVkU2VydmVyVGV4dCA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJUZXh0KTtcXG5cXG4gICAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0ID09PSBub3JtYWxpemVkQ2xpZW50VGV4dCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdUZXh0IGNvbnRlbnQgZGlkIG5vdCBtYXRjaC4gU2VydmVyOiBcXFwiJXNcXFwiIENsaWVudDogXFxcIiVzXFxcIicsIG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0LCBub3JtYWxpemVkQ2xpZW50VGV4dCk7XFxuICB9O1xcblxcbiAgd2FybkZvclByb3BEaWZmZXJlbmNlID0gZnVuY3Rpb24gKHByb3BOYW1lLCBzZXJ2ZXJWYWx1ZSwgY2xpZW50VmFsdWUpIHtcXG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciBub3JtYWxpemVkQ2xpZW50VmFsdWUgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoY2xpZW50VmFsdWUpO1xcbiAgICB2YXIgbm9ybWFsaXplZFNlcnZlclZhbHVlID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKHNlcnZlclZhbHVlKTtcXG5cXG4gICAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9PT0gbm9ybWFsaXplZENsaWVudFZhbHVlKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcXG5cXG4gICAgZXJyb3IoJ1Byb3AgYCVzYCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6ICVzIENsaWVudDogJXMnLCBwcm9wTmFtZSwgSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZFNlcnZlclZhbHVlKSwgSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZENsaWVudFZhbHVlKSk7XFxuICB9O1xcblxcbiAgd2FybkZvckV4dHJhQXR0cmlidXRlcyA9IGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lcykge1xcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xcbiAgICB2YXIgbmFtZXMgPSBbXTtcXG4gICAgYXR0cmlidXRlTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgICAgIG5hbWVzLnB1c2gobmFtZSk7XFxuICAgIH0pO1xcblxcbiAgICBlcnJvcignRXh0cmEgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXJ2ZXI6ICVzJywgbmFtZXMpO1xcbiAgfTtcXG5cXG4gIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChyZWdpc3RyYXRpb25OYW1lLCBsaXN0ZW5lcikge1xcbiAgICBpZiAobGlzdGVuZXIgPT09IGZhbHNlKSB7XFxuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGAlc2AgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYGZhbHNlYC5cXFxcblxcXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBlcnJvcignRXhwZWN0ZWQgYCVzYCBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLCBpbnN0ZWFkIGdvdCBhIHZhbHVlIG9mIGAlc2AgdHlwZS4nLCByZWdpc3RyYXRpb25OYW1lLCB0eXBlb2YgbGlzdGVuZXIpO1xcbiAgICB9XFxuICB9OyAvLyBQYXJzZSB0aGUgSFRNTCBhbmQgcmVhZCBpdCBiYWNrIHRvIG5vcm1hbGl6ZSB0aGUgSFRNTCBzdHJpbmcgc28gdGhhdCBpdFxcbiAgLy8gY2FuIGJlIHVzZWQgZm9yIGNvbXBhcmlzb24uXFxuXFxuXFxuICBub3JtYWxpemVIVE1MID0gZnVuY3Rpb24gKHBhcmVudCwgaHRtbCkge1xcbiAgICAvLyBXZSBjb3VsZCBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBkb2N1bWVudCBoZXJlIHRvIGF2b2lkXFxuICAgIC8vIHJlLWluaXRpYWxpemluZyBjdXN0b20gZWxlbWVudHMgaWYgdGhleSBleGlzdC4gQnV0IHRoaXMgYnJlYWtzXFxuICAgIC8vIGhvdyA8bm9zY3JpcHQ+IGlzIGJlaW5nIGhhbmRsZWQuIFNvIHdlIHVzZSB0aGUgc2FtZSBkb2N1bWVudC5cXG4gICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzExMTU3LlxcbiAgICB2YXIgdGVzdEVsZW1lbnQgPSBwYXJlbnQubmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSQxID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xcbiAgICB0ZXN0RWxlbWVudC5pbm5lckhUTUwgPSBodG1sO1xcbiAgICByZXR1cm4gdGVzdEVsZW1lbnQuaW5uZXJIVE1MO1xcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsIHJlZ2lzdHJhdGlvbk5hbWUpIHtcXG4gIHZhciBpc0RvY3VtZW50T3JGcmFnbWVudCA9IHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFIHx8IHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFO1xcbiAgdmFyIGRvYyA9IGlzRG9jdW1lbnRPckZyYWdtZW50ID8gcm9vdENvbnRhaW5lckVsZW1lbnQgOiByb290Q29udGFpbmVyRWxlbWVudC5vd25lckRvY3VtZW50O1xcbiAgbGVnYWN5TGlzdGVuVG9FdmVudChyZWdpc3RyYXRpb25OYW1lLCBkb2MpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpIHtcXG4gIHJldHVybiByb290Q29udGFpbmVyRWxlbWVudC5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJFbGVtZW50IDogcm9vdENvbnRhaW5lckVsZW1lbnQub3duZXJEb2N1bWVudDtcXG59XFxuXFxuZnVuY3Rpb24gbm9vcCgpIHt9XFxuXFxuZnVuY3Rpb24gdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQobm9kZSkge1xcbiAgLy8gTW9iaWxlIFNhZmFyaSBkb2VzIG5vdCBmaXJlIHByb3Blcmx5IGJ1YmJsZSBjbGljayBldmVudHMgb25cXG4gIC8vIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50cywgd2hpY2ggbWVhbnMgZGVsZWdhdGVkIGNsaWNrIGxpc3RlbmVycyBkbyBub3RcXG4gIC8vIGZpcmUuIFRoZSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1ZyBpbnZvbHZlcyBhdHRhY2hpbmcgYW4gZW1wdHkgY2xpY2tcXG4gIC8vIGxpc3RlbmVyIG9uIHRoZSB0YXJnZXQgbm9kZS5cXG4gIC8vIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDEwLzA5L2NsaWNrX2V2ZW50X2RlbC5odG1sXFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxcbiAgLy8gYm9va2tlZXBpbmcgZm9yIGl0LiBOb3Qgc3VyZSBpZiB3ZSBuZWVkIHRvIGNsZWFyIGl0IHdoZW4gdGhlIGxpc3RlbmVyIGlzXFxuICAvLyByZW1vdmVkLlxcbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cXG4gIG5vZGUub25jbGljayA9IG5vb3A7XFxufVxcblxcbmZ1bmN0aW9uIHNldEluaXRpYWxET01Qcm9wZXJ0aWVzKHRhZywgZG9tRWxlbWVudCwgcm9vdENvbnRhaW5lckVsZW1lbnQsIG5leHRQcm9wcywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIGZvciAodmFyIHByb3BLZXkgaW4gbmV4dFByb3BzKSB7XFxuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIG5leHRQcm9wID0gbmV4dFByb3BzW3Byb3BLZXldO1xcblxcbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcXG4gICAgICB7XFxuICAgICAgICBpZiAobmV4dFByb3ApIHtcXG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcXG4gICAgICAgICAgLy8gbXV0YXRlZC4gV2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBmb3IgdGhpcyBpbiB0aGUgcGFzdC5cXG4gICAgICAgICAgT2JqZWN0LmZyZWV6ZShuZXh0UHJvcCk7XFxuICAgICAgICB9XFxuICAgICAgfSAvLyBSZWxpZXMgb24gYHVwZGF0ZVN0eWxlc0J5SURgIG5vdCBtdXRhdGluZyBgc3R5bGVVcGRhdGVzYC5cXG5cXG5cXG4gICAgICBzZXRWYWx1ZUZvclN0eWxlcyhkb21FbGVtZW50LCBuZXh0UHJvcCk7XFxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcXG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XFxuXFxuICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcXG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XFxuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICAgIC8vIEF2b2lkIHNldHRpbmcgaW5pdGlhbCB0ZXh0Q29udGVudCB3aGVuIHRoZSB0ZXh0IGlzIGVtcHR5LiBJbiBJRTExIHNldHRpbmdcXG4gICAgICAgIC8vIHRleHRDb250ZW50IG9uIGEgPHRleHRhcmVhPiB3aWxsIGNhdXNlIHRoZSBwbGFjZWhvbGRlciB0byBub3RcXG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzY3MzEjaXNzdWVjb21tZW50LTI1NDg3NDU1M1xcbiAgICAgICAgdmFyIGNhblNldFRleHRDb250ZW50ID0gdGFnICE9PSAndGV4dGFyZWEnIHx8IG5leHRQcm9wICE9PSAnJztcXG5cXG4gICAgICAgIGlmIChjYW5TZXRUZXh0Q29udGVudCkge1xcbiAgICAgICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCBuZXh0UHJvcCk7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XFxuICAgICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCAnJyArIG5leHRQcm9wKTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoIHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChwcm9wS2V5ID09PSBBVVRPRk9DVVMpIDsgZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZU1vZHVsZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcXG4gICAgICBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCBwcm9wS2V5KTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3AsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIC8vIFRPRE86IEhhbmRsZSB3YXNDdXN0b21Db21wb25lbnRUYWdcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdXBkYXRlUGF5bG9hZC5sZW5ndGg7IGkgKz0gMikge1xcbiAgICB2YXIgcHJvcEtleSA9IHVwZGF0ZVBheWxvYWRbaV07XFxuICAgIHZhciBwcm9wVmFsdWUgPSB1cGRhdGVQYXlsb2FkW2kgKyAxXTtcXG5cXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XFxuICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcXG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCkge1xcbiAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XFxuICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBzZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BWYWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50LCBwYXJlbnROYW1lc3BhY2UpIHtcXG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZzsgLy8gV2UgY3JlYXRlIHRhZ3MgaW4gdGhlIG5hbWVzcGFjZSBvZiB0aGVpciBwYXJlbnQgY29udGFpbmVyLCBleGNlcHQgSFRNTFxcbiAgLy8gdGFncyBnZXQgbm8gbmFtZXNwYWNlLlxcblxcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpO1xcbiAgdmFyIGRvbUVsZW1lbnQ7XFxuICB2YXIgbmFtZXNwYWNlVVJJID0gcGFyZW50TmFtZXNwYWNlO1xcblxcbiAgaWYgKG5hbWVzcGFjZVVSSSA9PT0gSFRNTF9OQU1FU1BBQ0UkMSkge1xcbiAgICBuYW1lc3BhY2VVUkkgPSBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XFxuICB9XFxuXFxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XFxuICAgIHtcXG4gICAgICBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKTsgLy8gU2hvdWxkIHRoaXMgY2hlY2sgYmUgZ2F0ZWQgYnkgcGFyZW50IG5hbWVzcGFjZT8gTm90IHN1cmUgd2Ugd2FudCB0b1xcbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cXG5cXG4gICAgICBpZiAoIWlzQ3VzdG9tQ29tcG9uZW50VGFnICYmIHR5cGUgIT09IHR5cGUudG9Mb3dlckNhc2UoKSkge1xcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGUgPT09ICdzY3JpcHQnKSB7XFxuICAgICAgLy8gQ3JlYXRlIHRoZSBzY3JpcHQgdmlhIC5pbm5lckhUTUwgc28gaXRzIFxcXCJwYXJzZXItaW5zZXJ0ZWRcXFwiIGZsYWcgaXNcXG4gICAgICAvLyBzZXQgdG8gdHJ1ZSBhbmQgaXQgZG9lcyBub3QgZXhlY3V0ZVxcbiAgICAgIHZhciBkaXYgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xcblxcbiAgICAgIGRpdi5pbm5lckhUTUwgPSAnPHNjcmlwdD48JyArICcvc2NyaXB0Pic7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcXG4gICAgICAvLyBUaGlzIGlzIGd1YXJhbnRlZWQgdG8geWllbGQgYSBzY3JpcHQgZWxlbWVudC5cXG5cXG4gICAgICB2YXIgZmlyc3RDaGlsZCA9IGRpdi5maXJzdENoaWxkO1xcbiAgICAgIGRvbUVsZW1lbnQgPSBkaXYucmVtb3ZlQ2hpbGQoZmlyc3RDaGlsZCk7XFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xcbiAgICAgIC8vICRGbG93SXNzdWUgYGNyZWF0ZUVsZW1lbnRgIHNob3VsZCBiZSB1cGRhdGVkIGZvciBXZWIgQ29tcG9uZW50c1xcbiAgICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSwge1xcbiAgICAgICAgaXM6IHByb3BzLmlzXFxuICAgICAgfSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXFxuICAgICAgLy8gU2VlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvNjg5NlxcbiAgICAgIC8vIGFuZCBkaXNjdXNzaW9uIGluIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYyNDBcXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcXG4gICAgICAvLyBhdHRyaWJ1dGVzIG9uIGBzZWxlY3RgcyBuZWVkcyB0byBiZSBhZGRlZCBiZWZvcmUgYG9wdGlvbmBzIGFyZSBpbnNlcnRlZC5cXG4gICAgICAvLyBUaGlzIHByZXZlbnRzOlxcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxcbiAgICAgIC8vICBgc2VsZWN0YCBlbGVtZW50cyBhdXRvbWF0aWNhbGx5IHBpY2sgdGhlIGZpcnN0IGl0ZW0gIzEzMjIyXFxuICAgICAgLy8gLSBhIGJ1ZyB3aGVyZSB0aGUgYHNlbGVjdGAgc2V0IHRoZSBmaXJzdCBpdGVtIGFzIHNlbGVjdGVkIGRlc3BpdGUgdGhlIGBzaXplYCBhdHRyaWJ1dGUgIzE0MjM5XFxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcXG4gICAgICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDIzOVxcblxcbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xcbiAgICAgICAgdmFyIG5vZGUgPSBkb21FbGVtZW50O1xcblxcbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XFxuICAgICAgICAgIG5vZGUubXVsdGlwbGUgPSB0cnVlO1xcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5zaXplKSB7XFxuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXFxuICAgICAgICAgIC8vIGl0IGlzIHBvc3NpYmxlIHRoYXQgbm8gb3B0aW9uIGlzIHNlbGVjdGVkLlxcbiAgICAgICAgICAvL1xcbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXFxcInNpbmdsZSBzZWxlY3Rpb24gbW9kZVxcXCIuXFxuICAgICAgICAgIG5vZGUuc2l6ZSA9IHByb3BzLnNpemU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJLCB0eXBlKTtcXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKG5hbWVzcGFjZVVSSSA9PT0gSFRNTF9OQU1FU1BBQ0UkMSkge1xcbiAgICAgIGlmICghaXNDdXN0b21Db21wb25lbnRUYWcgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRvbUVsZW1lbnQpID09PSAnW29iamVjdCBIVE1MVW5rbm93bkVsZW1lbnRdJyAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFVua25vd25UYWdzLCB0eXBlKSkge1xcbiAgICAgICAgd2FybmVkVW5rbm93blRhZ3NbdHlwZV0gPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJ1RoZSB0YWcgPCVzPiBpcyB1bnJlY29nbml6ZWQgaW4gdGhpcyBicm93c2VyLiAnICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBSZWFjdCBjb21wb25lbnQsIHN0YXJ0IGl0cyBuYW1lIHdpdGggJyArICdhbiB1cHBlcmNhc2UgbGV0dGVyLicsIHR5cGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZVRleHROb2RlKHRleHQsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XFxuICByZXR1cm4gZ2V0T3duZXJEb2N1bWVudEZyb21Sb290Q29udGFpbmVyKHJvb3RDb250YWluZXJFbGVtZW50KS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcXG59XFxuZnVuY3Rpb24gc2V0SW5pdGlhbFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcXG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xcblxcbiAge1xcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcmF3UHJvcHMpO1xcbiAgfSAvLyBUT0RPOiBNYWtlIHN1cmUgdGhhdCB3ZSBjaGVjayBpc01vdW50ZWQgYmVmb3JlIGZpcmluZyBhbnkgb2YgdGhlc2UgZXZlbnRzLlxcblxcblxcbiAgdmFyIHByb3BzO1xcblxcbiAgc3dpdGNoICh0YWcpIHtcXG4gICAgY2FzZSAnaWZyYW1lJzpcXG4gICAgY2FzZSAnb2JqZWN0JzpcXG4gICAgY2FzZSAnZW1iZWQnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0xPQUQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3ZpZGVvJzpcXG4gICAgY2FzZSAnYXVkaW8nOlxcbiAgICAgIC8vIENyZWF0ZSBsaXN0ZW5lciBmb3IgZWFjaCBtZWRpYSBldmVudFxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0cmFwQnViYmxlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XFxuICAgICAgfVxcblxcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3NvdXJjZSc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2ltZyc6XFxuICAgIGNhc2UgJ2ltYWdlJzpcXG4gICAgY2FzZSAnbGluayc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0xPQUQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2Zvcm0nOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1JFU0VULCBkb21FbGVtZW50KTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9TVUJNSVQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2RldGFpbHMnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1RPR0dMRSwgZG9tRWxlbWVudCk7XFxuICAgICAgcHJvcHMgPSByYXdQcm9wcztcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnaW5wdXQnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXFxuICAgICAgLy8gdG8gb25DaGFuZ2UuIEV2ZW4gaWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIuXFxuXFxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdzZWxlY3QnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMyhkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xcbiAgfVxcblxcbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKTtcXG4gIHNldEluaXRpYWxET01Qcm9wZXJ0aWVzKHRhZywgZG9tRWxlbWVudCwgcm9vdENvbnRhaW5lckVsZW1lbnQsIHByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZyk7XFxuXFxuICBzd2l0Y2ggKHRhZykge1xcbiAgICBjYXNlICdpbnB1dCc6XFxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxcbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXFxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XFxuICAgICAgcG9zdE1vdW50V3JhcHBlcihkb21FbGVtZW50LCByYXdQcm9wcywgZmFsc2UpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICd0ZXh0YXJlYSc6XFxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxcbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXFxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XFxuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3NlbGVjdCc6XFxuICAgICAgcG9zdE1vdW50V3JhcHBlciQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBpZiAodHlwZW9mIHByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIC8vIFRPRE86IFRoaXMgY2FzdCBtYXkgbm90IGJlIHNvdW5kIGZvciBTVkcsIE1hdGhNTCBvciBjdXN0b20gZWxlbWVudHMuXFxuICAgICAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChkb21FbGVtZW50KTtcXG4gICAgICB9XFxuXFxuICAgICAgYnJlYWs7XFxuICB9XFxufSAvLyBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiB0aGUgdHdvIG9iamVjdHMuXFxuXFxuZnVuY3Rpb24gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcXG4gIHtcXG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIG5leHRSYXdQcm9wcyk7XFxuICB9XFxuXFxuICB2YXIgdXBkYXRlUGF5bG9hZCA9IG51bGw7XFxuICB2YXIgbGFzdFByb3BzO1xcbiAgdmFyIG5leHRQcm9wcztcXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbGFzdFJhd1Byb3BzKTtcXG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcXG4gICAgICB1cGRhdGVQYXlsb2FkID0gW107XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ29wdGlvbic6XFxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgbGFzdFJhd1Byb3BzKTtcXG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xcbiAgICAgIG5leHRQcm9wcyA9IGdldEhvc3RQcm9wcyQyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XFxuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICd0ZXh0YXJlYSc6XFxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzJDMoZG9tRWxlbWVudCwgbGFzdFJhd1Byb3BzKTtcXG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMyhkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBsYXN0UHJvcHMgPSBsYXN0UmF3UHJvcHM7XFxuICAgICAgbmV4dFByb3BzID0gbmV4dFJhd1Byb3BzO1xcblxcbiAgICAgIGlmICh0eXBlb2YgbGFzdFByb3BzLm9uQ2xpY2sgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG5leHRQcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAvLyBUT0RPOiBUaGlzIGNhc3QgbWF5IG5vdCBiZSBzb3VuZCBmb3IgU1ZHLCBNYXRoTUwgb3IgY3VzdG9tIGVsZW1lbnRzLlxcbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XFxuICAgICAgfVxcblxcbiAgICAgIGJyZWFrO1xcbiAgfVxcblxcbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XFxuICB2YXIgcHJvcEtleTtcXG4gIHZhciBzdHlsZU5hbWU7XFxuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcXG5cXG4gIGZvciAocHJvcEtleSBpbiBsYXN0UHJvcHMpIHtcXG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XFxuICAgICAgdmFyIGxhc3RTdHlsZSA9IGxhc3RQcm9wc1twcm9wS2V5XTtcXG5cXG4gICAgICBmb3IgKHN0eWxlTmFtZSBpbiBsYXN0U3R5bGUpIHtcXG4gICAgICAgIGlmIChsYXN0U3R5bGUuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xcbiAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gJyc7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MIHx8IHByb3BLZXkgPT09IENISUxEUkVOKSA7IGVsc2UgaWYgKCBwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gQVVUT0ZPQ1VTKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZS4gSWYgYW55IGxpc3RlbmVyIHVwZGF0ZXMgd2UgbmVlZCB0byBlbnN1cmVcXG4gICAgICAvLyB0aGF0IHRoZSBcXFwiY3VycmVudFxcXCIgZmliZXIgcG9pbnRlciBnZXRzIHVwZGF0ZWQgc28gd2UgbmVlZCBhIGNvbW1pdFxcbiAgICAgIC8vIHRvIHVwZGF0ZSB0aGlzIGVsZW1lbnQuXFxuICAgICAgaWYgKCF1cGRhdGVQYXlsb2FkKSB7XFxuICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEZvciBhbGwgb3RoZXIgZGVsZXRlZCBwcm9wZXJ0aWVzIHdlIGFkZCBpdCB0byB0aGUgcXVldWUuIFdlIHVzZVxcbiAgICAgIC8vIHRoZSB3aGl0ZWxpc3QgaW4gdGhlIGNvbW1pdCBwaGFzZSBpbnN0ZWFkLlxcbiAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBudWxsKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgZm9yIChwcm9wS2V5IGluIG5leHRQcm9wcykge1xcbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XFxuICAgIHZhciBsYXN0UHJvcCA9IGxhc3RQcm9wcyAhPSBudWxsID8gbGFzdFByb3BzW3Byb3BLZXldIDogdW5kZWZpbmVkO1xcblxcbiAgICBpZiAoIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCBuZXh0UHJvcCA9PT0gbGFzdFByb3AgfHwgbmV4dFByb3AgPT0gbnVsbCAmJiBsYXN0UHJvcCA9PSBudWxsKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XFxuICAgICAge1xcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XFxuICAgICAgICAgIC8vIEZyZWV6ZSB0aGUgbmV4dCBzdHlsZSBvYmplY3Qgc28gdGhhdCB3ZSBjYW4gYXNzdW1lIGl0IHdvbid0IGJlXFxuICAgICAgICAgIC8vIG11dGF0ZWQuIFdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgZm9yIHRoaXMgaW4gdGhlIHBhc3QuXFxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobGFzdFByb3ApIHtcXG4gICAgICAgIC8vIFVuc2V0IHN0eWxlcyBvbiBgbGFzdFByb3BgIGJ1dCBub3Qgb24gYG5leHRQcm9wYC5cXG4gICAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RQcm9wKSB7XFxuICAgICAgICAgIGlmIChsYXN0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmICghbmV4dFByb3AgfHwgIW5leHRQcm9wLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpKSB7XFxuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcXG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9ICcnO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IC8vIFVwZGF0ZSBzdHlsZXMgdGhhdCBjaGFuZ2VkIHNpbmNlIGBsYXN0UHJvcGAuXFxuXFxuXFxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBuZXh0UHJvcCkge1xcbiAgICAgICAgICBpZiAobmV4dFByb3AuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSAmJiBsYXN0UHJvcFtzdHlsZU5hbWVdICE9PSBuZXh0UHJvcFtzdHlsZU5hbWVdKSB7XFxuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcXG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9IG5leHRQcm9wW3N0eWxlTmFtZV07XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gUmVsaWVzIG9uIGB1cGRhdGVTdHlsZXNCeUlEYCBub3QgbXV0YXRpbmcgYHN0eWxlVXBkYXRlc2AuXFxuICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xcbiAgICAgICAgICBpZiAoIXVwZGF0ZVBheWxvYWQpIHtcXG4gICAgICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdXBkYXRlUGF5bG9hZC5wdXNoKHByb3BLZXksIHN0eWxlVXBkYXRlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzdHlsZVVwZGF0ZXMgPSBuZXh0UHJvcDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcXG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XFxuICAgICAgdmFyIGxhc3RIdG1sID0gbGFzdFByb3AgPyBsYXN0UHJvcFtIVE1MJDFdIDogdW5kZWZpbmVkO1xcblxcbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XFxuICAgICAgICBpZiAobGFzdEh0bWwgIT09IG5leHRIdG1sKSB7XFxuICAgICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0SHRtbCk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XFxuICAgICAgaWYgKGxhc3RQcm9wICE9PSBuZXh0UHJvcCAmJiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSkge1xcbiAgICAgICAgKHVwZGF0ZVBheWxvYWQgPSB1cGRhdGVQYXlsb2FkIHx8IFtdKS5wdXNoKHByb3BLZXksICcnICsgbmV4dFByb3ApO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmICggcHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcXG4gICAgICAgIC8vIFdlIGVhZ2VybHkgbGlzdGVuIHRvIHRoaXMgZXZlbiB0aG91Z2ggd2UgaGF2ZW4ndCBjb21taXR0ZWQgeWV0LlxcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCBwcm9wS2V5KTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKCF1cGRhdGVQYXlsb2FkICYmIGxhc3RQcm9wICE9PSBuZXh0UHJvcCkge1xcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZS4gSWYgYW55IGxpc3RlbmVyIHVwZGF0ZXMgd2UgbmVlZCB0byBlbnN1cmVcXG4gICAgICAgIC8vIHRoYXQgdGhlIFxcXCJjdXJyZW50XFxcIiBwcm9wcyBwb2ludGVyIGdldHMgdXBkYXRlZCBzbyB3ZSBuZWVkIGEgY29tbWl0XFxuICAgICAgICAvLyB0byB1cGRhdGUgdGhpcyBlbGVtZW50LlxcbiAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBGb3IgYW55IG90aGVyIHByb3BlcnR5IHdlIGFsd2F5cyBhZGQgaXQgdG8gdGhlIHF1ZXVlIGFuZCB0aGVuIHdlXFxuICAgICAgLy8gZmlsdGVyIGl0IG91dCB1c2luZyB0aGUgd2hpdGVsaXN0IGR1cmluZyB0aGUgY29tbWl0LlxcbiAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0UHJvcCk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChzdHlsZVVwZGF0ZXMpIHtcXG4gICAge1xcbiAgICAgIHZhbGlkYXRlU2hvcnRoYW5kUHJvcGVydHlDb2xsaXNpb25JbkRldihzdHlsZVVwZGF0ZXMsIG5leHRQcm9wc1tTVFlMRV0pO1xcbiAgICB9XFxuXFxuICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChTVFlMRSwgc3R5bGVVcGRhdGVzKTtcXG4gIH1cXG5cXG4gIHJldHVybiB1cGRhdGVQYXlsb2FkO1xcbn0gLy8gQXBwbHkgdGhlIGRpZmYuXFxuXFxuZnVuY3Rpb24gdXBkYXRlUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0YWcsIGxhc3RSYXdQcm9wcywgbmV4dFJhd1Byb3BzKSB7XFxuICAvLyBVcGRhdGUgY2hlY2tlZCAqYmVmb3JlKiBuYW1lLlxcbiAgLy8gSW4gdGhlIG1pZGRsZSBvZiBhbiB1cGRhdGUsIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgbXVsdGlwbGUgY2hlY2tlZC5cXG4gIC8vIFdoZW4gYSBjaGVja2VkIHJhZGlvIHRyaWVzIHRvIGNoYW5nZSBuYW1lLCBicm93c2VyIG1ha2VzIGFub3RoZXIgcmFkaW8ncyBjaGVja2VkIGZhbHNlLlxcbiAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiBuZXh0UmF3UHJvcHMudHlwZSA9PT0gJ3JhZGlvJyAmJiBuZXh0UmF3UHJvcHMubmFtZSAhPSBudWxsKSB7XFxuICAgIHVwZGF0ZUNoZWNrZWQoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcXG4gIH1cXG5cXG4gIHZhciB3YXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIGxhc3RSYXdQcm9wcyk7XFxuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIG5leHRSYXdQcm9wcyk7IC8vIEFwcGx5IHRoZSBkaWZmLlxcblxcbiAgdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTsgLy8gVE9ETzogRW5zdXJlIHRoYXQgYW4gdXBkYXRlIGdldHMgc2NoZWR1bGVkIGlmIGFueSBvZiB0aGUgc3BlY2lhbCBwcm9wc1xcbiAgLy8gY2hhbmdlZC5cXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xcbiAgICAgIC8vIGhhcHBlbiBhZnRlciBgdXBkYXRlRE9NUHJvcGVydGllc2AuIE90aGVyd2lzZSBIVE1MNSBpbnB1dCB2YWxpZGF0aW9uc1xcbiAgICAgIC8vIHJhaXNlIHdhcm5pbmdzIGFuZCBwcmV2ZW50IHRoZSBuZXcgdmFsdWUgZnJvbSBiZWluZyBhc3NpZ25lZC5cXG4gICAgICB1cGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3RleHRhcmVhJzpcXG4gICAgICB1cGRhdGVXcmFwcGVyJDEoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgICAvLyA8c2VsZWN0PiB2YWx1ZSB1cGRhdGUgbmVlZHMgdG8gb2NjdXIgYWZ0ZXIgPG9wdGlvbj4gY2hpbGRyZW5cXG4gICAgICAvLyByZWNvbmNpbGlhdGlvblxcbiAgICAgIHBvc3RVcGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XFxuICAgICAgYnJlYWs7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XFxuICB7XFxuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHByb3BOYW1lLnRvTG93ZXJDYXNlKCk7XFxuXFxuICAgIGlmICghcG9zc2libGVTdGFuZGFyZE5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSkge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBwb3NzaWJsZVN0YW5kYXJkTmFtZXNbbG93ZXJDYXNlZE5hbWVdIHx8IG51bGw7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVyRWxlbWVudCkge1xcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnO1xcbiAgdmFyIGV4dHJhQXR0cmlidXRlTmFtZXM7XFxuXFxuICB7XFxuICAgIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyA9IHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSA9PT0gdHJ1ZTtcXG4gICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIHJhd1Byb3BzKTtcXG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIHJhd1Byb3BzKTtcXG4gIH0gLy8gVE9ETzogTWFrZSBzdXJlIHRoYXQgd2UgY2hlY2sgaXNNb3VudGVkIGJlZm9yZSBmaXJpbmcgYW55IG9mIHRoZXNlIGV2ZW50cy5cXG5cXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lmcmFtZSc6XFxuICAgIGNhc2UgJ29iamVjdCc6XFxuICAgIGNhc2UgJ2VtYmVkJzpcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9MT0FELCBkb21FbGVtZW50KTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndmlkZW8nOlxcbiAgICBjYXNlICdhdWRpbyc6XFxuICAgICAgLy8gQ3JlYXRlIGxpc3RlbmVyIGZvciBlYWNoIG1lZGlhIGV2ZW50XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZWRpYUV2ZW50VHlwZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRyYXBCdWJibGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcXG4gICAgICB9XFxuXFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3NvdXJjZSc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdpbWcnOlxcbiAgICBjYXNlICdpbWFnZSc6XFxuICAgIGNhc2UgJ2xpbmsnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0VSUk9SLCBkb21FbGVtZW50KTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9MT0FELCBkb21FbGVtZW50KTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnZm9ybSc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfUkVTRVQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1NVQk1JVCwgZG9tRWxlbWVudCk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2RldGFpbHMnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1RPR0dMRSwgZG9tRWxlbWVudCk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICBpbml0V3JhcHBlclN0YXRlKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXFxuICAgICAgLy8gdG8gb25DaGFuZ2UuIEV2ZW4gaWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIuXFxuXFxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdzZWxlY3QnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIGFzc2VydFZhbGlkUHJvcHModGFnLCByYXdQcm9wcyk7XFxuXFxuICB7XFxuICAgIGV4dHJhQXR0cmlidXRlTmFtZXMgPSBuZXcgU2V0KCk7XFxuICAgIHZhciBhdHRyaWJ1dGVzID0gZG9tRWxlbWVudC5hdHRyaWJ1dGVzO1xcblxcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXR0cmlidXRlcy5sZW5ndGg7IF9pKyspIHtcXG4gICAgICB2YXIgbmFtZSA9IGF0dHJpYnV0ZXNbX2ldLm5hbWUudG9Mb3dlckNhc2UoKTtcXG5cXG4gICAgICBzd2l0Y2ggKG5hbWUpIHtcXG4gICAgICAgIC8vIEJ1aWx0LWluIFNTUiBhdHRyaWJ1dGUgaXMgd2hpdGVsaXN0ZWRcXG4gICAgICAgIGNhc2UgJ2RhdGEtcmVhY3Ryb290JzpcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICAvLyBDb250cm9sbGVkIGF0dHJpYnV0ZXMgYXJlIG5vdCB2YWxpZGF0ZWRcXG4gICAgICAgIC8vIFRPRE86IE9ubHkgaWdub3JlIHRoZW0gb24gY29udHJvbGxlZCB0YWdzLlxcblxcbiAgICAgICAgY2FzZSAndmFsdWUnOlxcbiAgICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIGNhc2UgJ2NoZWNrZWQnOlxcbiAgICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIGNhc2UgJ3NlbGVjdGVkJzpcXG4gICAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSB0aGUgb3JpZ2luYWwgbmFtZS5cXG4gICAgICAgICAgLy8gU2VlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTA2NzYuXFxuICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuYWRkKGF0dHJpYnV0ZXNbX2ldLm5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xcblxcbiAgZm9yICh2YXIgcHJvcEtleSBpbiByYXdQcm9wcykge1xcbiAgICBpZiAoIXJhd1Byb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIG5leHRQcm9wID0gcmF3UHJvcHNbcHJvcEtleV07XFxuXFxuICAgIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xcbiAgICAgIC8vIEZvciB0ZXh0IGNvbnRlbnQgY2hpbGRyZW4gd2UgY29tcGFyZSBhZ2FpbnN0IHRleHRDb250ZW50LiBUaGlzXFxuICAgICAgLy8gbWlnaHQgbWF0Y2ggYWRkaXRpb25hbCBIVE1MIHRoYXQgaXMgaGlkZGVuIHdoZW4gd2UgcmVhZCBpdCB1c2luZ1xcbiAgICAgIC8vIHRleHRDb250ZW50LiBFLmcuIFxcXCJmb29cXFwiIHdpbGwgbWF0Y2ggXFxcImY8c3Bhbj5vbzwvc3Bhbj5cXFwiIGJ1dCB0aGF0IHN0aWxsXFxuICAgICAgLy8gc2F0aXNmaWVzIG91ciByZXF1aXJlbWVudC4gT3VyIHJlcXVpcmVtZW50IGlzIG5vdCB0byBwcm9kdWNlIHBlcmZlY3RcXG4gICAgICAvLyBIVE1MIGFuZCBhdHRyaWJ1dGVzLiBJZGVhbGx5IHdlIHNob3VsZCBwcmVzZXJ2ZSBzdHJ1Y3R1cmUgYnV0IGl0J3NcXG4gICAgICAvLyBvayBub3QgdG8gaWYgdGhlIHZpc2libGUgY29udGVudCBpcyBzdGlsbCBlbm91Z2ggdG8gaW5kaWNhdGUgd2hhdFxcbiAgICAgIC8vIGV2ZW4gbGlzdGVuZXJzIHRoZXNlIG5vZGVzIG1pZ2h0IGJlIHdpcmVkIHVwIHRvLlxcbiAgICAgIC8vIFRPRE86IFdhcm4gaWYgdGhlcmUgaXMgbW9yZSB0aGFuIGEgc2luZ2xlIHRleHROb2RlIGFzIGEgY2hpbGQuXFxuICAgICAgLy8gVE9ETzogU2hvdWxkIHdlIHVzZSBkb21FbGVtZW50LmZpcnN0Q2hpbGQubm9kZVZhbHVlIHRvIGNvbXBhcmU/XFxuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSBuZXh0UHJvcCkge1xcbiAgICAgICAgICBpZiAoICFzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcpIHtcXG4gICAgICAgICAgICB3YXJuRm9yVGV4dERpZmZlcmVuY2UoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3ApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XFxuICAgICAgICAgIGlmICggIXN1cHByZXNzSHlkcmF0aW9uV2FybmluZykge1xcbiAgICAgICAgICAgIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZShkb21FbGVtZW50LnRleHRDb250ZW50LCBuZXh0UHJvcCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtDSElMRFJFTiwgJycgKyBuZXh0UHJvcF07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcXG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAgIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lcihwcm9wS2V5LCBuZXh0UHJvcCk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBlbnN1cmVMaXN0ZW5pbmdUbyhyb290Q29udGFpbmVyRWxlbWVudCwgcHJvcEtleSk7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCAvLyBDb252aW5jZSBGbG93IHdlJ3ZlIGNhbGN1bGF0ZWQgaXQgKGl0J3MgREVWLW9ubHkgaW4gdGhpcyBtZXRob2QuKVxcbiAgICB0eXBlb2YgaXNDdXN0b21Db21wb25lbnRUYWcgPT09ICdib29sZWFuJykge1xcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXFxuICAgICAgdmFyIHNlcnZlclZhbHVlID0gdm9pZCAwO1xcbiAgICAgIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8ocHJvcEtleSk7XFxuXFxuICAgICAgaWYgKHN1cHByZXNzSHlkcmF0aW9uV2FybmluZykgOyBlbHNlIGlmICggcHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HIHx8IC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxcbiAgICAgIC8vIFRPRE86IE9ubHkgaWdub3JlIHRoZW0gb24gY29udHJvbGxlZCB0YWdzLlxcbiAgICAgIHByb3BLZXkgPT09ICd2YWx1ZScgfHwgcHJvcEtleSA9PT0gJ2NoZWNrZWQnIHx8IHByb3BLZXkgPT09ICdzZWxlY3RlZCcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcXG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XFxuICAgICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XFxuICAgICAgICB2YXIgZXhwZWN0ZWRIVE1MID0gbm9ybWFsaXplSFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCAhPSBudWxsID8gbmV4dEh0bWwgOiAnJyk7XFxuXFxuICAgICAgICBpZiAoZXhwZWN0ZWRIVE1MICE9PSBzZXJ2ZXJIVE1MKSB7XFxuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcXG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cXG4gICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkpO1xcblxcbiAgICAgICAgaWYgKGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmcpIHtcXG4gICAgICAgICAgdmFyIGV4cGVjdGVkU3R5bGUgPSBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMobmV4dFByb3ApO1xcbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGRvbUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzdHlsZScpO1xcblxcbiAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHlsZSAhPT0gc2VydmVyVmFsdWUpIHtcXG4gICAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIGV4cGVjdGVkU3R5bGUpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTtcXG4gICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3ApO1xcblxcbiAgICAgICAgaWYgKG5leHRQcm9wICE9PSBzZXJ2ZXJWYWx1ZSkge1xcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRJZ25vcmVBdHRyaWJ1dGUocHJvcEtleSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykgJiYgIXNob3VsZFJlbW92ZUF0dHJpYnV0ZShwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcXG4gICAgICAgIHZhciBpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcgPSBmYWxzZTtcXG5cXG4gICAgICAgIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSk7XFxuICAgICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHZhciBvd25OYW1lc3BhY2UgPSBwYXJlbnROYW1lc3BhY2U7XFxuXFxuICAgICAgICAgIGlmIChvd25OYW1lc3BhY2UgPT09IEhUTUxfTkFNRVNQQUNFJDEpIHtcXG4gICAgICAgICAgICBvd25OYW1lc3BhY2UgPSBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodGFnKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAob3duTmFtZXNwYWNlID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XFxuICAgICAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkudG9Mb3dlckNhc2UoKSk7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BLZXkpO1xcblxcbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XFxuICAgICAgICAgICAgICAvLyBJZiBhbiBTVkcgcHJvcCBpcyBzdXBwbGllZCB3aXRoIGJhZCBjYXNpbmcsIGl0IHdpbGxcXG4gICAgICAgICAgICAgIC8vIGJlIHN1Y2Nlc3NmdWxseSBwYXJzZWQgZnJvbSBIVE1MLCBidXQgd2lsbCBwcm9kdWNlIGEgbWlzbWF0Y2hcXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXFxuICAgICAgICAgICAgICAvLyBIb3dldmVyLCB3ZSBhbHJlYWR5IHdhcm4gYWJvdXQgYmFkIGNhc2luZyBlbHNld2hlcmUuXFxuICAgICAgICAgICAgICAvLyBTbyB3ZSdsbCBza2lwIHRoZSBtaXNsZWFkaW5nIGV4dHJhIG1pc21hdGNoIHdhcm5pbmcgaW4gdGhpcyBjYXNlLlxcbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcblxcbiAgICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUoc3RhbmRhcmROYW1lKTtcXG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cXG5cXG5cXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChuZXh0UHJvcCAhPT0gc2VydmVyVmFsdWUgJiYgIWlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZykge1xcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICBpZiAoZXh0cmFBdHRyaWJ1dGVOYW1lcy5zaXplID4gMCAmJiAhc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nKSB7XFxuICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXMoZXh0cmFBdHRyaWJ1dGVOYW1lcyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXFxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcXG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCB0cnVlKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxcbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMyhkb21FbGVtZW50KTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgY2FzZSAnb3B0aW9uJzpcXG4gICAgICAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcXG4gICAgICAvLyBwb3N0IG1vdW50IHRvIGZvcmNlIGl0IHRvIGRpdmVyZ2UgZnJvbSBhdHRyaWJ1dGVzLiBIb3dldmVyLCBmb3JcXG4gICAgICAvLyBvcHRpb24gYW5kIHNlbGVjdCB3ZSBkb24ndCBxdWl0ZSBkbyB0aGUgc2FtZSB0aGluZyBhbmQgc2VsZWN0XFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cXG4gICAgICAvLyBUT0RPOiBDb25zaWRlciBub3QgZG9pbmcgdGhpcyBmb3IgaW5wdXQgYW5kIHRleHRhcmVhLlxcbiAgICAgIGJyZWFrO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIGlmICh0eXBlb2YgcmF3UHJvcHMub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cXG4gICAgICAgIHRyYXBDbGlja09uTm9uSW50ZXJhY3RpdmVFbGVtZW50KGRvbUVsZW1lbnQpO1xcbiAgICAgIH1cXG5cXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHJldHVybiB1cGRhdGVQYXlsb2FkO1xcbn1cXG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0KSB7XFxuICB2YXIgaXNEaWZmZXJlbnQgPSB0ZXh0Tm9kZS5ub2RlVmFsdWUgIT09IHRleHQ7XFxuICByZXR1cm4gaXNEaWZmZXJlbnQ7XFxufVxcbmZ1bmN0aW9uIHdhcm5Gb3JVbm1hdGNoZWRUZXh0KHRleHROb2RlLCB0ZXh0KSB7XFxuICB7XFxuICAgIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZSh0ZXh0Tm9kZS5ub2RlVmFsdWUsIHRleHQpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGNoaWxkKSB7XFxuICB7XFxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgPCVzPiBpbiA8JXM+LicsIGNoaWxkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZVRleHQocGFyZW50Tm9kZSwgY2hpbGQpIHtcXG4gIHtcXG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcXG5cXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcXFwiJXNcXFwiIGluIDwlcz4uJywgY2hpbGQubm9kZVZhbHVlLCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Tm9kZSwgdGFnLCBwcm9wcykge1xcbiAge1xcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xcblxcbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XFxuICB7XFxuICAgIGlmICh0ZXh0ID09PSAnJykge1xcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxcbiAgICAgIC8vIHRoZSBIVE1MLlxcbiAgICAgIC8vIFRPRE86IFJlbW92ZSB0aGlzIHNwZWNpYWwgY2FzZSBpZiB3ZSBjYW4ganVzdCBhdm9pZCBpbnNlcnRpbmcgZW1wdHlcXG4gICAgICAvLyB0ZXh0IG5vZGVzLlxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xcblxcbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIHRleHQgbm9kZSBmb3IgXFxcIiVzXFxcIiBpbiA8JXM+LicsIHRleHQsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMyhkb21FbGVtZW50LCB0YWcsIHByb3BzKSB7XFxuICBzd2l0Y2ggKHRhZykge1xcbiAgICBjYXNlICdpbnB1dCc6XFxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZShkb21FbGVtZW50LCBwcm9wcyk7XFxuICAgICAgcmV0dXJuO1xcblxcbiAgICBjYXNlICd0ZXh0YXJlYSc6XFxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcXG4gICAgICByZXR1cm47XFxuXFxuICAgIGNhc2UgJ3NlbGVjdCc6XFxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQxKGRvbUVsZW1lbnQsIHByb3BzKTtcXG4gICAgICByZXR1cm47XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldEFjdGl2ZUVsZW1lbnQoZG9jKSB7XFxuICBkb2MgPSBkb2MgfHwgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZCk7XFxuXFxuICBpZiAodHlwZW9mIGRvYyA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gZG9jLmFjdGl2ZUVsZW1lbnQgfHwgZG9jLmJvZHk7XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIHJldHVybiBkb2MuYm9keTtcXG4gIH1cXG59XFxuXFxuLyoqXFxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xcbiAgd2hpbGUgKG5vZGUgJiYgbm9kZS5maXJzdENoaWxkKSB7XFxuICAgIG5vZGUgPSBub2RlLmZpcnN0Q2hpbGQ7XFxuICB9XFxuXFxuICByZXR1cm4gbm9kZTtcXG59XFxuLyoqXFxuICogR2V0IHRoZSBuZXh0IHNpYmxpbmcgd2l0aGluIGEgY29udGFpbmVyLiBUaGlzIHdpbGwgd2FsayB1cCB0aGVcXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGdldFNpYmxpbmdOb2RlKG5vZGUpIHtcXG4gIHdoaWxlIChub2RlKSB7XFxuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XFxuICAgICAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmc7XFxuICAgIH1cXG5cXG4gICAgbm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcXG4gIH1cXG59XFxuLyoqXFxuICogR2V0IG9iamVjdCBkZXNjcmliaW5nIHRoZSBub2RlcyB3aGljaCBjb250YWluIGNoYXJhY3RlcnMgYXQgb2Zmc2V0LlxcbiAqXFxuICogQHBhcmFtIHtET01FbGVtZW50fERPTVRleHROb2RlfSByb290XFxuICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxcbiAqIEByZXR1cm4gez9vYmplY3R9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChyb290LCBvZmZzZXQpIHtcXG4gIHZhciBub2RlID0gZ2V0TGVhZk5vZGUocm9vdCk7XFxuICB2YXIgbm9kZVN0YXJ0ID0gMDtcXG4gIHZhciBub2RlRW5kID0gMDtcXG5cXG4gIHdoaWxlIChub2RlKSB7XFxuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcXG4gICAgICBub2RlRW5kID0gbm9kZVN0YXJ0ICsgbm9kZS50ZXh0Q29udGVudC5sZW5ndGg7XFxuXFxuICAgICAgaWYgKG5vZGVTdGFydCA8PSBvZmZzZXQgJiYgbm9kZUVuZCA+PSBvZmZzZXQpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIG5vZGU6IG5vZGUsXFxuICAgICAgICAgIG9mZnNldDogb2Zmc2V0IC0gbm9kZVN0YXJ0XFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlU3RhcnQgPSBub2RlRW5kO1xcbiAgICB9XFxuXFxuICAgIG5vZGUgPSBnZXRMZWFmTm9kZShnZXRTaWJsaW5nTm9kZShub2RlKSk7XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gb3V0ZXJOb2RlXFxuICogQHJldHVybiB7P29iamVjdH1cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRPZmZzZXRzKG91dGVyTm9kZSkge1xcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcXG4gIHZhciB3aW4gPSBvd25lckRvY3VtZW50ICYmIG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xcbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24gJiYgd2luLmdldFNlbGVjdGlvbigpO1xcblxcbiAgaWYgKCFzZWxlY3Rpb24gfHwgc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDApIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICB2YXIgYW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3JOb2RlLFxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXFxuICAgICAgZm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzTm9kZSxcXG4gICAgICBmb2N1c09mZnNldCA9IHNlbGVjdGlvbi5mb2N1c09mZnNldDsgLy8gSW4gRmlyZWZveCwgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGNhbiBiZSBcXFwiYW5vbnltb3VzIGRpdnNcXFwiLCBlLmcuIHRoZVxcbiAgLy8gdXAvZG93biBidXR0b25zIG9uIGFuIDxpbnB1dCB0eXBlPVxcXCJudW1iZXJcXFwiPi4gQW5vbnltb3VzIGRpdnMgZG8gbm90IHNlZW0gdG9cXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXFxcIlBlcm1pc3Npb24gZGVuaWVkIGVycm9yXFxcIiBpZiBhbnkgb2YgaXRzXFxuICAvLyBwcm9wZXJ0aWVzIGFyZSBhY2Nlc3NlZC4gVGhlIG9ubHkgc2VlbWluZ2x5IHBvc3NpYmxlIHdheSB0byBhdm9pZCBlcnJvcmluZ1xcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcXG4gIC8vIGNhdGNoIGFueSBlcnJvciB0aGF0IG1heSBvdGhlcndpc2UgYXJpc2UuIFNlZVxcbiAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDI3XFxuXFxuICB0cnkge1xcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcXG4gICAgZm9jdXNOb2RlLm5vZGVUeXBlO1xcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC1leHByZXNzaW9ucyAqL1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHJldHVybiBnZXRNb2Rlcm5PZmZzZXRzRnJvbVBvaW50cyhvdXRlck5vZGUsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCk7XFxufVxcbi8qKlxcbiAqIFJldHVybnMge3N0YXJ0LCBlbmR9IHdoZXJlIGBzdGFydGAgaXMgdGhlIGNoYXJhY3Rlci9jb2RlcG9pbnQgaW5kZXggb2ZcXG4gKiAoYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0KSB3aXRoaW4gdGhlIHRleHRDb250ZW50IG9mIGBvdXRlck5vZGVgLCBhbmRcXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxcbiAqXFxuICogUmV0dXJucyBudWxsIGlmIHlvdSBwYXNzIGluIGdhcmJhZ2UgaW5wdXQgYnV0IHdlIHNob3VsZCBwcm9iYWJseSBqdXN0IGNyYXNoLlxcbiAqXFxuICogRXhwb3J0ZWQgb25seSBmb3IgdGVzdGluZy5cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRNb2Rlcm5PZmZzZXRzRnJvbVBvaW50cyhvdXRlck5vZGUsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCkge1xcbiAgdmFyIGxlbmd0aCA9IDA7XFxuICB2YXIgc3RhcnQgPSAtMTtcXG4gIHZhciBlbmQgPSAtMTtcXG4gIHZhciBpbmRleFdpdGhpbkFuY2hvciA9IDA7XFxuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XFxuICB2YXIgbm9kZSA9IG91dGVyTm9kZTtcXG4gIHZhciBwYXJlbnROb2RlID0gbnVsbDtcXG5cXG4gIG91dGVyOiB3aGlsZSAodHJ1ZSkge1xcbiAgICB2YXIgbmV4dCA9IG51bGw7XFxuXFxuICAgIHdoaWxlICh0cnVlKSB7XFxuICAgICAgaWYgKG5vZGUgPT09IGFuY2hvck5vZGUgJiYgKGFuY2hvck9mZnNldCA9PT0gMCB8fCBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpKSB7XFxuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xcbiAgICAgICAgZW5kID0gbGVuZ3RoICsgZm9jdXNPZmZzZXQ7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcXG4gICAgICAgIGxlbmd0aCArPSBub2RlLm5vZGVWYWx1ZS5sZW5ndGg7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICgobmV4dCA9IG5vZGUuZmlyc3RDaGlsZCkgPT09IG51bGwpIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH0gLy8gTW92aW5nIGZyb20gYG5vZGVgIHRvIGl0cyBmaXJzdCBjaGlsZCBgbmV4dGAuXFxuXFxuXFxuICAgICAgcGFyZW50Tm9kZSA9IG5vZGU7XFxuICAgICAgbm9kZSA9IG5leHQ7XFxuICAgIH1cXG5cXG4gICAgd2hpbGUgKHRydWUpIHtcXG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XFxuICAgICAgICAvLyBJZiBgb3V0ZXJOb2RlYCBoYXMgY2hpbGRyZW4sIHRoaXMgaXMgYWx3YXlzIHRoZSBzZWNvbmQgdGltZSB2aXNpdGluZ1xcbiAgICAgICAgLy8gaXQuIElmIGl0IGhhcyBubyBjaGlsZHJlbiwgdGhpcyBpcyBzdGlsbCB0aGUgZmlyc3QgbG9vcCwgYW5kIHRoZSBvbmx5XFxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXFxuICAgICAgICAvLyBhbmQgYm90aCBvZmZzZXRzIDAsIGluIHdoaWNoIGNhc2Ugd2Ugd2lsbCBoYXZlIGhhbmRsZWQgYWJvdmUuXFxuICAgICAgICBicmVhayBvdXRlcjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGFuY2hvck5vZGUgJiYgKytpbmRleFdpdGhpbkFuY2hvciA9PT0gYW5jaG9yT2Zmc2V0KSB7XFxuICAgICAgICBzdGFydCA9IGxlbmd0aDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XFxuICAgICAgICBlbmQgPSBsZW5ndGg7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICgobmV4dCA9IG5vZGUubmV4dFNpYmxpbmcpICE9PSBudWxsKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IHBhcmVudE5vZGU7XFxuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcXG4gICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIG5leHQgc2libGluZyBgbmV4dGAuXFxuXFxuXFxuICAgIG5vZGUgPSBuZXh0O1xcbiAgfVxcblxcbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKSB7XFxuICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4gKFdvdWxkIGhhcHBlbiBpZiB0aGUgYW5jaG9yL2ZvY3VzIG5vZGVzIGFyZW4ndFxcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICBzdGFydDogc3RhcnQsXFxuICAgIGVuZDogZW5kXFxuICB9O1xcbn1cXG4vKipcXG4gKiBJbiBtb2Rlcm4gbm9uLUlFIGJyb3dzZXJzLCB3ZSBjYW4gc3VwcG9ydCBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkXFxuICogc2VsZWN0aW9ucy5cXG4gKlxcbiAqIE5vdGU6IElFMTArIHN1cHBvcnRzIHRoZSBTZWxlY3Rpb24gb2JqZWN0LCBidXQgaXQgZG9lcyBub3Qgc3VwcG9ydFxcbiAqIHRoZSBgZXh0ZW5kYCBtZXRob2QsIHdoaWNoIG1lYW5zIHRoYXQgZXZlbiBpbiBtb2Rlcm4gSUUsIGl0J3Mgbm90IHBvc3NpYmxlXFxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcXG4gKiB2ZXJzaW9ucywgd2UgdXNlIHRoZSBvbGQgSUUgQVBJIHRvIGNyZWF0ZSBvdXIgc2VsZWN0aW9ucy5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxcbiAqIEBwYXJhbSB7b2JqZWN0fSBvZmZzZXRzXFxuICovXFxuXFxuZnVuY3Rpb24gc2V0T2Zmc2V0cyhub2RlLCBvZmZzZXRzKSB7XFxuICB2YXIgZG9jID0gbm9kZS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50O1xcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXFxcIk9iamVjdCBleHBlY3RlZFxcXCIgaW4gc29tZSBzY2VuYXJpb3MuXFxuICAvLyAoRm9yIGluc3RhbmNlOiBUaW55TUNFIGVkaXRvciB1c2VkIGluIGEgbGlzdCBjb21wb25lbnQgdGhhdCBzdXBwb3J0cyBwYXN0aW5nIHRvIGFkZCBtb3JlLFxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXFxuXFxuICBpZiAoIXdpbi5nZXRTZWxlY3Rpb24pIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcXG4gIHZhciBsZW5ndGggPSBub2RlLnRleHRDb250ZW50Lmxlbmd0aDtcXG4gIHZhciBzdGFydCA9IE1hdGgubWluKG9mZnNldHMuc3RhcnQsIGxlbmd0aCk7XFxuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cXG4gIC8vIEZsaXAgYmFja3dhcmQgc2VsZWN0aW9ucywgc28gd2UgY2FuIHNldCB3aXRoIGEgc2luZ2xlIHJhbmdlLlxcblxcbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XFxuICAgIHZhciB0ZW1wID0gZW5kO1xcbiAgICBlbmQgPSBzdGFydDtcXG4gICAgc3RhcnQgPSB0ZW1wO1xcbiAgfVxcblxcbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XFxuICB2YXIgZW5kTWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBlbmQpO1xcblxcbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xcbiAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDEgJiYgc2VsZWN0aW9uLmFuY2hvck5vZGUgPT09IHN0YXJ0TWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gc3RhcnRNYXJrZXIub2Zmc2V0ICYmIHNlbGVjdGlvbi5mb2N1c05vZGUgPT09IGVuZE1hcmtlci5ub2RlICYmIHNlbGVjdGlvbi5mb2N1c09mZnNldCA9PT0gZW5kTWFya2VyLm9mZnNldCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgcmFuZ2UgPSBkb2MuY3JlYXRlUmFuZ2UoKTtcXG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcXG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xcblxcbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcXG4gICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xcbiAgICAgIHNlbGVjdGlvbi5leHRlbmQoZW5kTWFya2VyLm5vZGUsIGVuZE1hcmtlci5vZmZzZXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJhbmdlLnNldEVuZChlbmRNYXJrZXIubm9kZSwgZW5kTWFya2VyLm9mZnNldCk7XFxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpc1RleHROb2RlKG5vZGUpIHtcXG4gIHJldHVybiBub2RlICYmIG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERTtcXG59XFxuXFxuZnVuY3Rpb24gY29udGFpbnNOb2RlKG91dGVyTm9kZSwgaW5uZXJOb2RlKSB7XFxuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlID09PSBpbm5lck5vZGUpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUob3V0ZXJOb2RlKSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xcbiAgICByZXR1cm4gY29udGFpbnNOb2RlKG91dGVyTm9kZSwgaW5uZXJOb2RlLnBhcmVudE5vZGUpO1xcbiAgfSBlbHNlIGlmICgnY29udGFpbnMnIGluIG91dGVyTm9kZSkge1xcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XFxuICB9IGVsc2UgaWYgKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikge1xcbiAgICByZXR1cm4gISEob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGlubmVyTm9kZSkgJiAxNik7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzSW5Eb2N1bWVudChub2RlKSB7XFxuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xcbn1cXG5cXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcXG4gIHRyeSB7XFxuICAgIC8vIEFjY2Vzc2luZyB0aGUgY29udGVudERvY3VtZW50IG9mIGEgSFRNTElmcmFtZUVsZW1lbnQgY2FuIGNhdXNlIHRoZSBicm93c2VyXFxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxcbiAgICAvLyBTYWZhcmkgd2lsbCBzaG93IGFuIGVycm9yIGluIHRoZSBjb25zb2xlIHdoZW4gdGhlIGFjY2VzcyByZXN1bHRzIGluIFxcXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cXFwiLiBlLmc6XFxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XFxuICAgIC8vIEEgc2FmZXR5IHdheSBpcyB0byBhY2Nlc3Mgb25lIG9mIHRoZSBjcm9zcyBvcmlnaW4gcHJvcGVydGllczogV2luZG93IG9yIExvY2F0aW9uXFxuICAgIC8vIFdoaWNoIG1pZ2h0IHJlc3VsdCBpbiBcXFwiU2VjdXJpdHlFcnJvclxcXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXFxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Jyb3dzZXJzLmh0bWwjaW50ZWdyYXRpb24td2l0aC1pZGxcXG4gICAgcmV0dXJuIHR5cGVvZiBpZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmID09PSAnc3RyaW5nJztcXG4gIH0gY2F0Y2ggKGVycikge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldEFjdGl2ZUVsZW1lbnREZWVwKCkge1xcbiAgdmFyIHdpbiA9IHdpbmRvdztcXG4gIHZhciBlbGVtZW50ID0gZ2V0QWN0aXZlRWxlbWVudCgpO1xcblxcbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcXG4gICAgaWYgKGlzU2FtZU9yaWdpbkZyYW1lKGVsZW1lbnQpKSB7XFxuICAgICAgd2luID0gZWxlbWVudC5jb250ZW50V2luZG93O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiBlbGVtZW50O1xcbiAgICB9XFxuXFxuICAgIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KHdpbi5kb2N1bWVudCk7XFxuICB9XFxuXFxuICByZXR1cm4gZWxlbWVudDtcXG59XFxuLyoqXFxuICogQFJlYWN0SW5wdXRTZWxlY3Rpb246IFJlYWN0IGlucHV0IHNlbGVjdGlvbiBtb2R1bGUuIEJhc2VkIG9uIFNlbGVjdGlvbi5qcyxcXG4gKiBidXQgbW9kaWZpZWQgdG8gYmUgc3VpdGFibGUgZm9yIHJlYWN0IGFuZCBoYXMgYSBjb3VwbGUgb2YgYnVnIGZpeGVzIChkb2Vzbid0XFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxcbiAqIElucHV0IHNlbGVjdGlvbiBtb2R1bGUgZm9yIFJlYWN0LlxcbiAqL1xcblxcbi8qKlxcbiAqIEBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXM6IHdlIGdldCB0aGUgZWxlbWVudCB0eXBlcyB0aGF0IHN1cHBvcnQgc2VsZWN0aW9uXFxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxcbiAqIGFuZCBgc2VsZWN0aW9uRW5kYCByb3dzLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhlbGVtKSB7XFxuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgcmV0dXJuIG5vZGVOYW1lICYmIChub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiAoZWxlbS50eXBlID09PSAndGV4dCcgfHwgZWxlbS50eXBlID09PSAnc2VhcmNoJyB8fCBlbGVtLnR5cGUgPT09ICd0ZWwnIHx8IGVsZW0udHlwZSA9PT0gJ3VybCcgfHwgZWxlbS50eXBlID09PSAncGFzc3dvcmQnKSB8fCBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJyB8fCBlbGVtLmNvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnKTtcXG59XFxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XFxuICB2YXIgZm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xcbiAgcmV0dXJuIHtcXG4gICAgLy8gVXNlZCBieSBGbGFyZVxcbiAgICBhY3RpdmVFbGVtZW50RGV0YWNoZWQ6IG51bGwsXFxuICAgIGZvY3VzZWRFbGVtOiBmb2N1c2VkRWxlbSxcXG4gICAgc2VsZWN0aW9uUmFuZ2U6IGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhmb2N1c2VkRWxlbSkgPyBnZXRTZWxlY3Rpb24oZm9jdXNlZEVsZW0pIDogbnVsbFxcbiAgfTtcXG59XFxuLyoqXFxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXFxuICogcmVzdG9yZSBpdC4gVGhpcyBpcyB1c2VmdWwgd2hlbiBwZXJmb3JtaW5nIG9wZXJhdGlvbnMgdGhhdCBjb3VsZCByZW1vdmUgZG9tXFxuICogbm9kZXMgYW5kIHBsYWNlIHRoZW0gYmFjayBpbiwgcmVzdWx0aW5nIGluIGZvY3VzIGJlaW5nIGxvc3QuXFxuICovXFxuXFxuZnVuY3Rpb24gcmVzdG9yZVNlbGVjdGlvbihwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uKSB7XFxuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xcbiAgdmFyIHByaW9yRm9jdXNlZEVsZW0gPSBwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uLmZvY3VzZWRFbGVtO1xcbiAgdmFyIHByaW9yU2VsZWN0aW9uUmFuZ2UgPSBwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uLnNlbGVjdGlvblJhbmdlO1xcblxcbiAgaWYgKGN1ckZvY3VzZWRFbGVtICE9PSBwcmlvckZvY3VzZWRFbGVtICYmIGlzSW5Eb2N1bWVudChwcmlvckZvY3VzZWRFbGVtKSkge1xcbiAgICBpZiAocHJpb3JTZWxlY3Rpb25SYW5nZSAhPT0gbnVsbCAmJiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMocHJpb3JGb2N1c2VkRWxlbSkpIHtcXG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XFxuICAgIH0gLy8gRm9jdXNpbmcgYSBub2RlIGNhbiBjaGFuZ2UgdGhlIHNjcm9sbCBwb3NpdGlvbiwgd2hpY2ggaXMgdW5kZXNpcmFibGVcXG5cXG5cXG4gICAgdmFyIGFuY2VzdG9ycyA9IFtdO1xcbiAgICB2YXIgYW5jZXN0b3IgPSBwcmlvckZvY3VzZWRFbGVtO1xcblxcbiAgICB3aGlsZSAoYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnROb2RlKSB7XFxuICAgICAgaWYgKGFuY2VzdG9yLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcXG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcXG4gICAgICAgICAgZWxlbWVudDogYW5jZXN0b3IsXFxuICAgICAgICAgIGxlZnQ6IGFuY2VzdG9yLnNjcm9sbExlZnQsXFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXFxuICAgICAgICB9KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBwcmlvckZvY3VzZWRFbGVtLmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGluZm8gPSBhbmNlc3RvcnNbaV07XFxuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbExlZnQgPSBpbmZvLmxlZnQ7XFxuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xcbiAgICB9XFxuICB9XFxufVxcbi8qKlxcbiAqIEBnZXRTZWxlY3Rpb246IEdldHMgdGhlIHNlbGVjdGlvbiBib3VuZHMgb2YgYSBmb2N1c2VkIHRleHRhcmVhLCBpbnB1dCBvclxcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxcbiAqIC1AaW5wdXQ6IExvb2sgdXAgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0XFxuICogLUByZXR1cm4ge3N0YXJ0OiBzZWxlY3Rpb25TdGFydCwgZW5kOiBzZWxlY3Rpb25FbmR9XFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uKGlucHV0KSB7XFxuICB2YXIgc2VsZWN0aW9uO1xcblxcbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gaW5wdXQpIHtcXG4gICAgLy8gTW9kZXJuIGJyb3dzZXIgd2l0aCBpbnB1dCBvciB0ZXh0YXJlYS5cXG4gICAgc2VsZWN0aW9uID0ge1xcbiAgICAgIHN0YXJ0OiBpbnB1dC5zZWxlY3Rpb25TdGFydCxcXG4gICAgICBlbmQ6IGlucHV0LnNlbGVjdGlvbkVuZFxcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQ29udGVudCBlZGl0YWJsZSBvciBvbGQgSUUgdGV4dGFyZWEuXFxuICAgIHNlbGVjdGlvbiA9IGdldE9mZnNldHMoaW5wdXQpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHNlbGVjdGlvbiB8fCB7XFxuICAgIHN0YXJ0OiAwLFxcbiAgICBlbmQ6IDBcXG4gIH07XFxufVxcbi8qKlxcbiAqIEBzZXRTZWxlY3Rpb246IFNldHMgdGhlIHNlbGVjdGlvbiBib3VuZHMgb2YgYSB0ZXh0YXJlYSBvciBpbnB1dCBhbmQgZm9jdXNlc1xcbiAqIHRoZSBpbnB1dC5cXG4gKiAtQGlucHV0ICAgICBTZXQgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0IG9yIHRleHRhcmVhXFxuICogLUBvZmZzZXRzICAgT2JqZWN0IG9mIHNhbWUgZm9ybSB0aGF0IGlzIHJldHVybmVkIGZyb20gZ2V0KlxcbiAqL1xcblxcbmZ1bmN0aW9uIHNldFNlbGVjdGlvbihpbnB1dCwgb2Zmc2V0cykge1xcbiAgdmFyIHN0YXJ0ID0gb2Zmc2V0cy5zdGFydCxcXG4gICAgICBlbmQgPSBvZmZzZXRzLmVuZDtcXG5cXG4gIGlmIChlbmQgPT09IHVuZGVmaW5lZCkge1xcbiAgICBlbmQgPSBzdGFydDtcXG4gIH1cXG5cXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XFxuICAgIGlucHV0LnNlbGVjdGlvblN0YXJ0ID0gc3RhcnQ7XFxuICAgIGlucHV0LnNlbGVjdGlvbkVuZCA9IE1hdGgubWluKGVuZCwgaW5wdXQudmFsdWUubGVuZ3RoKTtcXG4gIH0gZWxzZSB7XFxuICAgIHNldE9mZnNldHMoaW5wdXQsIG9mZnNldHMpO1xcbiAgfVxcbn1cXG5cXG52YXIgdmFsaWRhdGVET01OZXN0aW5nID0gZnVuY3Rpb24gKCkge307XFxuXFxudmFyIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAoKSB7fTtcXG5cXG57XFxuICAvLyBUaGlzIHZhbGlkYXRpb24gY29kZSB3YXMgd3JpdHRlbiBiYXNlZCBvbiB0aGUgSFRNTDUgcGFyc2luZyBzcGVjOlxcbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcXG4gIC8vXFxuICAvLyBOb3RlOiB0aGlzIGRvZXMgbm90IGNhdGNoIGFsbCBpbnZhbGlkIG5lc3RpbmcsIG5vciBkb2VzIGl0IHRyeSB0byAoYXMgaXQnc1xcbiAgLy8gbm90IGNsZWFyIHdoYXQgcHJhY3RpY2FsIGJlbmVmaXQgZG9pbmcgc28gcHJvdmlkZXMpOyBpbnN0ZWFkLCB3ZSB3YXJuIG9ubHlcXG4gIC8vIGZvciBjYXNlcyB3aGVyZSB0aGUgcGFyc2VyIHdpbGwgZ2l2ZSBhIHBhcnNlIHRyZWUgZGlmZmVyaW5nIGZyb20gd2hhdCBSZWFjdFxcbiAgLy8gaW50ZW5kZWQuIEZvciBleGFtcGxlLCA8Yj48ZGl2PjwvZGl2PjwvYj4gaXMgaW52YWxpZCBidXQgd2UgZG9uJ3Qgd2FyblxcbiAgLy8gYmVjYXVzZSBpdCBzdGlsbCBwYXJzZXMgY29ycmVjdGx5OyB3ZSBkbyB3YXJuIGZvciBvdGhlciBjYXNlcyBsaWtlIG5lc3RlZFxcbiAgLy8gPHA+IHRhZ3Mgd2hlcmUgdGhlIGJlZ2lubmluZyBvZiB0aGUgc2Vjb25kIGVsZW1lbnQgaW1wbGljaXRseSBjbG9zZXMgdGhlXFxuICAvLyBmaXJzdCwgY2F1c2luZyBhIGNvbmZ1c2luZyBtZXNzLlxcbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjc3BlY2lhbFxcbiAgdmFyIHNwZWNpYWxUYWdzID0gWydhZGRyZXNzJywgJ2FwcGxldCcsICdhcmVhJywgJ2FydGljbGUnLCAnYXNpZGUnLCAnYmFzZScsICdiYXNlZm9udCcsICdiZ3NvdW5kJywgJ2Jsb2NrcXVvdGUnLCAnYm9keScsICdicicsICdidXR0b24nLCAnY2FwdGlvbicsICdjZW50ZXInLCAnY29sJywgJ2NvbGdyb3VwJywgJ2RkJywgJ2RldGFpbHMnLCAnZGlyJywgJ2RpdicsICdkbCcsICdkdCcsICdlbWJlZCcsICdmaWVsZHNldCcsICdmaWdjYXB0aW9uJywgJ2ZpZ3VyZScsICdmb290ZXInLCAnZm9ybScsICdmcmFtZScsICdmcmFtZXNldCcsICdoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNicsICdoZWFkJywgJ2hlYWRlcicsICdoZ3JvdXAnLCAnaHInLCAnaHRtbCcsICdpZnJhbWUnLCAnaW1nJywgJ2lucHV0JywgJ2lzaW5kZXgnLCAnbGknLCAnbGluaycsICdsaXN0aW5nJywgJ21haW4nLCAnbWFycXVlZScsICdtZW51JywgJ21lbnVpdGVtJywgJ21ldGEnLCAnbmF2JywgJ25vZW1iZWQnLCAnbm9mcmFtZXMnLCAnbm9zY3JpcHQnLCAnb2JqZWN0JywgJ29sJywgJ3AnLCAncGFyYW0nLCAncGxhaW50ZXh0JywgJ3ByZScsICdzY3JpcHQnLCAnc2VjdGlvbicsICdzZWxlY3QnLCAnc291cmNlJywgJ3N0eWxlJywgJ3N1bW1hcnknLCAndGFibGUnLCAndGJvZHknLCAndGQnLCAndGVtcGxhdGUnLCAndGV4dGFyZWEnLCAndGZvb3QnLCAndGgnLCAndGhlYWQnLCAndGl0bGUnLCAndHInLCAndHJhY2snLCAndWwnLCAnd2JyJywgJ3htcCddOyAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxcblxcbiAgdmFyIGluU2NvcGVUYWdzID0gWydhcHBsZXQnLCAnY2FwdGlvbicsICdodG1sJywgJ3RhYmxlJywgJ3RkJywgJ3RoJywgJ21hcnF1ZWUnLCAnb2JqZWN0JywgJ3RlbXBsYXRlJywgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaHRtbC1pbnRlZ3JhdGlvbi1wb2ludFxcbiAgLy8gVE9ETzogRGlzdGluZ3Vpc2ggYnkgbmFtZXNwYWNlIGhlcmUgLS0gZm9yIDx0aXRsZT4sIGluY2x1ZGluZyBpdCBoZXJlXFxuICAvLyBlcnJzIG9uIHRoZSBzaWRlIG9mIGZld2VyIHdhcm5pbmdzXFxuICAnZm9yZWlnbk9iamVjdCcsICdkZXNjJywgJ3RpdGxlJ107IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2hhcy1hbi1lbGVtZW50LWluLWJ1dHRvbi1zY29wZVxcblxcbiAgdmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZ2VuZXJhdGUtaW1wbGllZC1lbmQtdGFnc1xcblxcbiAgdmFyIGltcGxpZWRFbmRUYWdzID0gWydkZCcsICdkdCcsICdsaScsICdvcHRpb24nLCAnb3B0Z3JvdXAnLCAncCcsICdycCcsICdydCddO1xcbiAgdmFyIGVtcHR5QW5jZXN0b3JJbmZvID0ge1xcbiAgICBjdXJyZW50OiBudWxsLFxcbiAgICBmb3JtVGFnOiBudWxsLFxcbiAgICBhVGFnSW5TY29wZTogbnVsbCxcXG4gICAgYnV0dG9uVGFnSW5TY29wZTogbnVsbCxcXG4gICAgbm9iclRhZ0luU2NvcGU6IG51bGwsXFxuICAgIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxcbiAgICBsaXN0SXRlbVRhZ0F1dG9jbG9zaW5nOiBudWxsLFxcbiAgICBkbEl0ZW1UYWdBdXRvY2xvc2luZzogbnVsbFxcbiAgfTtcXG5cXG4gIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAob2xkSW5mbywgdGFnKSB7XFxuICAgIHZhciBhbmNlc3RvckluZm8gPSBfYXNzaWduKHt9LCBvbGRJbmZvIHx8IGVtcHR5QW5jZXN0b3JJbmZvKTtcXG5cXG4gICAgdmFyIGluZm8gPSB7XFxuICAgICAgdGFnOiB0YWdcXG4gICAgfTtcXG5cXG4gICAgaWYgKGluU2NvcGVUYWdzLmluZGV4T2YodGFnKSAhPT0gLTEpIHtcXG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBudWxsO1xcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcXG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBudWxsO1xcbiAgICB9XFxuXFxuICAgIGlmIChidXR0b25TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xcbiAgICAgIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZSA9IG51bGw7XFxuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluYm9keVxcblxcblxcbiAgICBpZiAoc3BlY2lhbFRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSAmJiB0YWcgIT09ICdhZGRyZXNzJyAmJiB0YWcgIT09ICdkaXYnICYmIHRhZyAhPT0gJ3AnKSB7XFxuICAgICAgYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3NpbmcgPSBudWxsO1xcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XFxuICAgIH1cXG5cXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xcblxcbiAgICBpZiAodGFnID09PSAnZm9ybScpIHtcXG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XFxuICAgIH1cXG5cXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XFxuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gaW5mbztcXG4gICAgfVxcblxcbiAgICBpZiAodGFnID09PSAnYnV0dG9uJykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gaW5mbztcXG4gICAgfVxcblxcbiAgICBpZiAodGFnID09PSAnbm9icicpIHtcXG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xcbiAgICB9XFxuXFxuICAgIGlmICh0YWcgPT09ICdwJykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZSA9IGluZm87XFxuICAgIH1cXG5cXG4gICAgaWYgKHRhZyA9PT0gJ2xpJykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gaW5mbztcXG4gICAgfVxcblxcbiAgICBpZiAodGFnID09PSAnZGQnIHx8IHRhZyA9PT0gJ2R0Jykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGFuY2VzdG9ySW5mbztcXG4gIH07XFxuICAvKipcXG4gICAqIFJldHVybnMgd2hldGhlclxcbiAgICovXFxuXFxuXFxuICB2YXIgaXNUYWdWYWxpZFdpdGhQYXJlbnQgPSBmdW5jdGlvbiAodGFnLCBwYXJlbnRUYWcpIHtcXG4gICAgLy8gRmlyc3QsIGxldCdzIGNoZWNrIGlmIHdlJ3JlIGluIGFuIHVudXN1YWwgcGFyc2luZyBtb2RlLi4uXFxuICAgIHN3aXRjaCAocGFyZW50VGFnKSB7XFxuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluc2VsZWN0XFxuICAgICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XFxuXFxuICAgICAgY2FzZSAnb3B0Z3JvdXAnOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnI3RleHQnO1xcbiAgICAgIC8vIFN0cmljdGx5IHNwZWFraW5nLCBzZWVpbmcgYW4gPG9wdGlvbj4gZG9lc24ndCBtZWFuIHdlJ3JlIGluIGEgPHNlbGVjdD5cXG4gICAgICAvLyBidXRcXG5cXG4gICAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJyN0ZXh0JztcXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50ZFxcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmNhcHRpb25cXG4gICAgICAvLyBObyBzcGVjaWFsIGJlaGF2aW9yIHNpbmNlIHRoZXNlIHJ1bGVzIGZhbGwgYmFjayB0byBcXFwiaW4gYm9keVxcXCIgbW9kZSBmb3JcXG4gICAgICAvLyBhbGwgZXhjZXB0IHNwZWNpYWwgdGFibGUgbm9kZXMgd2hpY2ggY2F1c2UgYmFkIHBhcnNpbmcgYmVoYXZpb3IgYW55d2F5LlxcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRyXFxuXFxuICAgICAgY2FzZSAndHInOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RoJyB8fCB0YWcgPT09ICd0ZCcgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRib2R5XFxuXFxuICAgICAgY2FzZSAndGJvZHknOlxcbiAgICAgIGNhc2UgJ3RoZWFkJzpcXG4gICAgICBjYXNlICd0Zm9vdCc6XFxuICAgICAgICByZXR1cm4gdGFnID09PSAndHInIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jb2xncm91cFxcblxcbiAgICAgIGNhc2UgJ2NvbGdyb3VwJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50YWJsZVxcblxcbiAgICAgIGNhc2UgJ3RhYmxlJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjYXB0aW9uJyB8fCB0YWcgPT09ICdjb2xncm91cCcgfHwgdGFnID09PSAndGJvZHknIHx8IHRhZyA9PT0gJ3Rmb290JyB8fCB0YWcgPT09ICd0aGVhZCcgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmhlYWRcXG5cXG4gICAgICBjYXNlICdoZWFkJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdiYXNlJyB8fCB0YWcgPT09ICdiYXNlZm9udCcgfHwgdGFnID09PSAnYmdzb3VuZCcgfHwgdGFnID09PSAnbGluaycgfHwgdGFnID09PSAnbWV0YScgfHwgdGFnID09PSAndGl0bGUnIHx8IHRhZyA9PT0gJ25vc2NyaXB0JyB8fCB0YWcgPT09ICdub2ZyYW1lcycgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1odG1sLWVsZW1lbnRcXG5cXG4gICAgICBjYXNlICdodG1sJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XFxuXFxuICAgICAgY2FzZSAnZnJhbWVzZXQnOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2ZyYW1lJztcXG5cXG4gICAgICBjYXNlICcjZG9jdW1lbnQnOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2h0bWwnO1xcbiAgICB9IC8vIFByb2JhYmx5IGluIHRoZSBcXFwiaW4gYm9keVxcXCIgcGFyc2luZyBtb2RlLCBzbyB3ZSBvdXRsYXcgb25seSB0YWcgY29tYm9zXFxuICAgIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluYm9keVxcblxcblxcbiAgICBzd2l0Y2ggKHRhZykge1xcbiAgICAgIGNhc2UgJ2gxJzpcXG4gICAgICBjYXNlICdoMic6XFxuICAgICAgY2FzZSAnaDMnOlxcbiAgICAgIGNhc2UgJ2g0JzpcXG4gICAgICBjYXNlICdoNSc6XFxuICAgICAgY2FzZSAnaDYnOlxcbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyAhPT0gJ2gxJyAmJiBwYXJlbnRUYWcgIT09ICdoMicgJiYgcGFyZW50VGFnICE9PSAnaDMnICYmIHBhcmVudFRhZyAhPT0gJ2g0JyAmJiBwYXJlbnRUYWcgIT09ICdoNScgJiYgcGFyZW50VGFnICE9PSAnaDYnO1xcblxcbiAgICAgIGNhc2UgJ3JwJzpcXG4gICAgICBjYXNlICdydCc6XFxuICAgICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcXG5cXG4gICAgICBjYXNlICdib2R5JzpcXG4gICAgICBjYXNlICdjYXB0aW9uJzpcXG4gICAgICBjYXNlICdjb2wnOlxcbiAgICAgIGNhc2UgJ2NvbGdyb3VwJzpcXG4gICAgICBjYXNlICdmcmFtZXNldCc6XFxuICAgICAgY2FzZSAnZnJhbWUnOlxcbiAgICAgIGNhc2UgJ2hlYWQnOlxcbiAgICAgIGNhc2UgJ2h0bWwnOlxcbiAgICAgIGNhc2UgJ3Rib2R5JzpcXG4gICAgICBjYXNlICd0ZCc6XFxuICAgICAgY2FzZSAndGZvb3QnOlxcbiAgICAgIGNhc2UgJ3RoJzpcXG4gICAgICBjYXNlICd0aGVhZCc6XFxuICAgICAgY2FzZSAndHInOlxcbiAgICAgICAgLy8gVGhlc2UgdGFncyBhcmUgb25seSB2YWxpZCB3aXRoIGEgZmV3IHBhcmVudHMgdGhhdCBoYXZlIHNwZWNpYWwgY2hpbGRcXG4gICAgICAgIC8vIHBhcnNpbmcgcnVsZXMgLS0gaWYgd2UncmUgZG93biBoZXJlLCB0aGVuIG5vbmUgb2YgdGhvc2UgbWF0Y2hlZCBhbmRcXG4gICAgICAgIC8vIHNvIHdlIGFsbG93IGl0IG9ubHkgaWYgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZSBwYXJlbnQgaXMsIGFzIGFsbCBvdGhlclxcbiAgICAgICAgLy8gY2FzZXMgYXJlIGludmFsaWQuXFxuICAgICAgICByZXR1cm4gcGFyZW50VGFnID09IG51bGw7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9O1xcbiAgLyoqXFxuICAgKiBSZXR1cm5zIHdoZXRoZXJcXG4gICAqL1xcblxcblxcbiAgdmFyIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcgPSBmdW5jdGlvbiAodGFnLCBhbmNlc3RvckluZm8pIHtcXG4gICAgc3dpdGNoICh0YWcpIHtcXG4gICAgICBjYXNlICdhZGRyZXNzJzpcXG4gICAgICBjYXNlICdhcnRpY2xlJzpcXG4gICAgICBjYXNlICdhc2lkZSc6XFxuICAgICAgY2FzZSAnYmxvY2txdW90ZSc6XFxuICAgICAgY2FzZSAnY2VudGVyJzpcXG4gICAgICBjYXNlICdkZXRhaWxzJzpcXG4gICAgICBjYXNlICdkaWFsb2cnOlxcbiAgICAgIGNhc2UgJ2Rpcic6XFxuICAgICAgY2FzZSAnZGl2JzpcXG4gICAgICBjYXNlICdkbCc6XFxuICAgICAgY2FzZSAnZmllbGRzZXQnOlxcbiAgICAgIGNhc2UgJ2ZpZ2NhcHRpb24nOlxcbiAgICAgIGNhc2UgJ2ZpZ3VyZSc6XFxuICAgICAgY2FzZSAnZm9vdGVyJzpcXG4gICAgICBjYXNlICdoZWFkZXInOlxcbiAgICAgIGNhc2UgJ2hncm91cCc6XFxuICAgICAgY2FzZSAnbWFpbic6XFxuICAgICAgY2FzZSAnbWVudSc6XFxuICAgICAgY2FzZSAnbmF2JzpcXG4gICAgICBjYXNlICdvbCc6XFxuICAgICAgY2FzZSAncCc6XFxuICAgICAgY2FzZSAnc2VjdGlvbic6XFxuICAgICAgY2FzZSAnc3VtbWFyeSc6XFxuICAgICAgY2FzZSAndWwnOlxcbiAgICAgIGNhc2UgJ3ByZSc6XFxuICAgICAgY2FzZSAnbGlzdGluZyc6XFxuICAgICAgY2FzZSAndGFibGUnOlxcbiAgICAgIGNhc2UgJ2hyJzpcXG4gICAgICBjYXNlICd4bXAnOlxcbiAgICAgIGNhc2UgJ2gxJzpcXG4gICAgICBjYXNlICdoMic6XFxuICAgICAgY2FzZSAnaDMnOlxcbiAgICAgIGNhc2UgJ2g0JzpcXG4gICAgICBjYXNlICdoNSc6XFxuICAgICAgY2FzZSAnaDYnOlxcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcXG5cXG4gICAgICBjYXNlICdmb3JtJzpcXG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8uZm9ybVRhZyB8fCBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGU7XFxuXFxuICAgICAgY2FzZSAnbGknOlxcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nO1xcblxcbiAgICAgIGNhc2UgJ2RkJzpcXG4gICAgICBjYXNlICdkdCc6XFxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmRsSXRlbVRhZ0F1dG9jbG9zaW5nO1xcblxcbiAgICAgIGNhc2UgJ2J1dHRvbic6XFxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmJ1dHRvblRhZ0luU2NvcGU7XFxuXFxuICAgICAgY2FzZSAnYSc6XFxuICAgICAgICAvLyBTcGVjIHNheXMgc29tZXRoaW5nIGFib3V0IHN0b3JpbmcgYSBsaXN0IG9mIG1hcmtlcnMsIGJ1dCBpdCBzb3VuZHNcXG4gICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhpcyBjaGVjay5cXG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGU7XFxuXFxuICAgICAgY2FzZSAnbm9icic6XFxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLm5vYnJUYWdJblNjb3BlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfTtcXG5cXG4gIHZhciBkaWRXYXJuJDEgPSB7fTtcXG5cXG4gIHZhbGlkYXRlRE9NTmVzdGluZyA9IGZ1bmN0aW9uIChjaGlsZFRhZywgY2hpbGRUZXh0LCBhbmNlc3RvckluZm8pIHtcXG4gICAgYW5jZXN0b3JJbmZvID0gYW5jZXN0b3JJbmZvIHx8IGVtcHR5QW5jZXN0b3JJbmZvO1xcbiAgICB2YXIgcGFyZW50SW5mbyA9IGFuY2VzdG9ySW5mby5jdXJyZW50O1xcbiAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50SW5mbyAmJiBwYXJlbnRJbmZvLnRhZztcXG5cXG4gICAgaWYgKGNoaWxkVGV4dCAhPSBudWxsKSB7XFxuICAgICAgaWYgKGNoaWxkVGFnICE9IG51bGwpIHtcXG4gICAgICAgIGVycm9yKCd2YWxpZGF0ZURPTU5lc3Rpbmc6IHdoZW4gY2hpbGRUZXh0IGlzIHBhc3NlZCwgY2hpbGRUYWcgc2hvdWxkIGJlIG51bGwnKTtcXG4gICAgICB9XFxuXFxuICAgICAgY2hpbGRUYWcgPSAnI3RleHQnO1xcbiAgICB9XFxuXFxuICAgIHZhciBpbnZhbGlkUGFyZW50ID0gaXNUYWdWYWxpZFdpdGhQYXJlbnQoY2hpbGRUYWcsIHBhcmVudFRhZykgPyBudWxsIDogcGFyZW50SW5mbztcXG4gICAgdmFyIGludmFsaWRBbmNlc3RvciA9IGludmFsaWRQYXJlbnQgPyBudWxsIDogZmluZEludmFsaWRBbmNlc3RvckZvclRhZyhjaGlsZFRhZywgYW5jZXN0b3JJbmZvKTtcXG4gICAgdmFyIGludmFsaWRQYXJlbnRPckFuY2VzdG9yID0gaW52YWxpZFBhcmVudCB8fCBpbnZhbGlkQW5jZXN0b3I7XFxuXFxuICAgIGlmICghaW52YWxpZFBhcmVudE9yQW5jZXN0b3IpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xcbiAgICB2YXIgYWRkZW5kdW0gPSBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCk7XFxuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZyArICd8JyArIGFkZGVuZHVtO1xcblxcbiAgICBpZiAoZGlkV2FybiQxW3dhcm5LZXldKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGRpZFdhcm4kMVt3YXJuS2V5XSA9IHRydWU7XFxuICAgIHZhciB0YWdEaXNwbGF5TmFtZSA9IGNoaWxkVGFnO1xcbiAgICB2YXIgd2hpdGVzcGFjZUluZm8gPSAnJztcXG5cXG4gICAgaWYgKGNoaWxkVGFnID09PSAnI3RleHQnKSB7XFxuICAgICAgaWYgKC9cXFxcUy8udGVzdChjaGlsZFRleHQpKSB7XFxuICAgICAgICB0YWdEaXNwbGF5TmFtZSA9ICdUZXh0IG5vZGVzJztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnV2hpdGVzcGFjZSB0ZXh0IG5vZGVzJztcXG4gICAgICAgIHdoaXRlc3BhY2VJbmZvID0gXFxcIiBNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFxcXCIgKyAnZWFjaCBsaW5lIG9mIHlvdXIgc291cmNlIGNvZGUuJztcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGFnRGlzcGxheU5hbWUgPSAnPCcgKyBjaGlsZFRhZyArICc+JztcXG4gICAgfVxcblxcbiAgICBpZiAoaW52YWxpZFBhcmVudCkge1xcbiAgICAgIHZhciBpbmZvID0gJyc7XFxuXFxuICAgICAgaWYgKGFuY2VzdG9yVGFnID09PSAndGFibGUnICYmIGNoaWxkVGFnID09PSAndHInKSB7XFxuICAgICAgICBpbmZvICs9ICcgQWRkIGEgPHRib2R5PiwgPHRoZWFkPiBvciA8dGZvb3Q+IHRvIHlvdXIgY29kZSB0byBtYXRjaCB0aGUgRE9NIHRyZWUgZ2VuZXJhdGVkIGJ5ICcgKyAndGhlIGJyb3dzZXIuJztcXG4gICAgICB9XFxuXFxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgY2hpbGQgb2YgPCVzPi4lcyVzJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnLCB3aGl0ZXNwYWNlSW5mbywgaW5mbyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgZGVzY2VuZGFudCBvZiAnICsgJzwlcz4uJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnKTtcXG4gICAgfVxcbiAgfTtcXG59XFxuXFxudmFyIFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDE7XFxuXFxue1xcbiAgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMSA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xcbn1cXG5cXG52YXIgU1VTUEVOU0VfU1RBUlRfREFUQSA9ICckJztcXG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xcbnZhciBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEgPSAnJD8nO1xcbnZhciBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBID0gJyQhJztcXG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XFxudmFyIGV2ZW50c0VuYWJsZWQgPSBudWxsO1xcbnZhciBzZWxlY3Rpb25JbmZvcm1hdGlvbiA9IG51bGw7XFxuXFxuZnVuY3Rpb24gc2hvdWxkQXV0b0ZvY3VzSG9zdENvbXBvbmVudCh0eXBlLCBwcm9wcykge1xcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgJ2J1dHRvbic6XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIHJldHVybiAhIXByb3BzLmF1dG9Gb2N1cztcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xcbiAgdmFyIHR5cGU7XFxuICB2YXIgbmFtZXNwYWNlO1xcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xcblxcbiAgc3dpdGNoIChub2RlVHlwZSkge1xcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XFxuICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpcXG4gICAgICB7XFxuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xcbiAgICAgICAgdmFyIHJvb3QgPSByb290Q29udGFpbmVySW5zdGFuY2UuZG9jdW1lbnRFbGVtZW50O1xcbiAgICAgICAgbmFtZXNwYWNlID0gcm9vdCA/IHJvb3QubmFtZXNwYWNlVVJJIDogZ2V0Q2hpbGROYW1lc3BhY2UobnVsbCwgJycpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBjb250YWluZXIgPSBub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gcm9vdENvbnRhaW5lckluc3RhbmNlLnBhcmVudE5vZGUgOiByb290Q29udGFpbmVySW5zdGFuY2U7XFxuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xcbiAgICAgICAgdHlwZSA9IGNvbnRhaW5lci50YWdOYW1lO1xcbiAgICAgICAgbmFtZXNwYWNlID0gZ2V0Q2hpbGROYW1lc3BhY2Uob3duTmFtZXNwYWNlLCB0eXBlKTtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgdmFyIHZhbGlkYXRlZFRhZyA9IHR5cGUudG9Mb3dlckNhc2UoKTtcXG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcXG4gICAgcmV0dXJuIHtcXG4gICAgICBuYW1lc3BhY2U6IG5hbWVzcGFjZSxcXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xcbiAgICB9O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBnZXRDaGlsZEhvc3RDb250ZXh0KHBhcmVudEhvc3RDb250ZXh0LCB0eXBlLCByb290Q29udGFpbmVySW5zdGFuY2UpIHtcXG4gIHtcXG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XFxuICAgIHZhciBuYW1lc3BhY2UgPSBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnRIb3N0Q29udGV4dERldi5uYW1lc3BhY2UsIHR5cGUpO1xcbiAgICB2YXIgYW5jZXN0b3JJbmZvID0gdXBkYXRlZEFuY2VzdG9ySW5mbyhwYXJlbnRIb3N0Q29udGV4dERldi5hbmNlc3RvckluZm8sIHR5cGUpO1xcbiAgICByZXR1cm4ge1xcbiAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxcbiAgICAgIGFuY2VzdG9ySW5mbzogYW5jZXN0b3JJbmZvXFxuICAgIH07XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XFxuICByZXR1cm4gaW5zdGFuY2U7XFxufVxcbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xcbiAgZXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZCgpO1xcbiAgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBnZXRTZWxlY3Rpb25JbmZvcm1hdGlvbigpO1xcbiAgc2V0RW5hYmxlZChmYWxzZSk7XFxufVxcbmZ1bmN0aW9uIHJlc2V0QWZ0ZXJDb21taXQoY29udGFpbmVySW5mbykge1xcbiAgcmVzdG9yZVNlbGVjdGlvbihzZWxlY3Rpb25JbmZvcm1hdGlvbik7XFxuICBzZXRFbmFibGVkKGV2ZW50c0VuYWJsZWQpO1xcbiAgZXZlbnRzRW5hYmxlZCA9IG51bGw7XFxuXFxuICBzZWxlY3Rpb25JbmZvcm1hdGlvbiA9IG51bGw7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XFxuICB2YXIgcGFyZW50TmFtZXNwYWNlO1xcblxcbiAge1xcbiAgICAvLyBUT0RPOiB0YWtlIG5hbWVzcGFjZSBpbnRvIGFjY291bnQgd2hlbiB2YWxpZGF0aW5nLlxcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcXG4gICAgdmFsaWRhdGVET01OZXN0aW5nKHR5cGUsIG51bGwsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XFxuXFxuICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcXG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBwcm9wcy5jaGlsZHJlbjtcXG4gICAgICB2YXIgb3duQW5jZXN0b3JJbmZvID0gdXBkYXRlZEFuY2VzdG9ySW5mbyhob3N0Q29udGV4dERldi5hbmNlc3RvckluZm8sIHR5cGUpO1xcbiAgICAgIHZhbGlkYXRlRE9NTmVzdGluZyhudWxsLCBzdHJpbmcsIG93bkFuY2VzdG9ySW5mbyk7XFxuICAgIH1cXG5cXG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xcbiAgfVxcblxcbiAgdmFyIGRvbUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIHBhcmVudE5hbWVzcGFjZSk7XFxuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBkb21FbGVtZW50KTtcXG4gIHVwZGF0ZUZpYmVyUHJvcHMoZG9tRWxlbWVudCwgcHJvcHMpO1xcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XFxufVxcbmZ1bmN0aW9uIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcXG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcXG59XFxuZnVuY3Rpb24gZmluYWxpemVJbml0aWFsQ2hpbGRyZW4oZG9tRWxlbWVudCwgdHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcXG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbiAgcmV0dXJuIHNob3VsZEF1dG9Gb2N1c0hvc3RDb21wb25lbnQodHlwZSwgcHJvcHMpO1xcbn1cXG5mdW5jdGlvbiBwcmVwYXJlVXBkYXRlKGRvbUVsZW1lbnQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCkge1xcbiAge1xcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcXG5cXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XFxuICAgICAgdmFyIHN0cmluZyA9ICcnICsgbmV3UHJvcHMuY2hpbGRyZW47XFxuICAgICAgdmFyIG93bkFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8oaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcXG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbn1cXG5mdW5jdGlvbiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcm9wcykge1xcbiAgcmV0dXJuIHR5cGUgPT09ICd0ZXh0YXJlYScgfHwgdHlwZSA9PT0gJ29wdGlvbicgfHwgdHlwZSA9PT0gJ25vc2NyaXB0JyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09PSAnb2JqZWN0JyAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgIT0gbnVsbDtcXG59XFxuZnVuY3Rpb24gc2hvdWxkRGVwcmlvcml0aXplU3VidHJlZSh0eXBlLCBwcm9wcykge1xcbiAgcmV0dXJuICEhcHJvcHMuaGlkZGVuO1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVUZXh0SW5zdGFuY2UodGV4dCwgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xcbiAge1xcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcXG4gICAgdmFsaWRhdGVET01OZXN0aW5nKG51bGwsIHRleHQsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XFxuICB9XFxuXFxuICB2YXIgdGV4dE5vZGUgPSBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dE5vZGUpO1xcbiAgcmV0dXJuIHRleHROb2RlO1xcbn1cXG4vLyBpZiBhIGNvbXBvbmVudCBqdXN0IGltcG9ydHMgUmVhY3RET00gKGUuZy4gZm9yIGZpbmRET01Ob2RlKS5cXG4vLyBTb21lIGVudmlyb25tZW50cyBtaWdodCBub3QgaGF2ZSBzZXRUaW1lb3V0IG9yIGNsZWFyVGltZW91dC5cXG5cXG52YXIgc2NoZWR1bGVUaW1lb3V0ID0gdHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBzZXRUaW1lb3V0IDogdW5kZWZpbmVkO1xcbnZhciBjYW5jZWxUaW1lb3V0ID0gdHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IGNsZWFyVGltZW91dCA6IHVuZGVmaW5lZDtcXG52YXIgbm9UaW1lb3V0ID0gLTE7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cXG5mdW5jdGlvbiBjb21taXRNb3VudChkb21FbGVtZW50LCB0eXBlLCBuZXdQcm9wcywgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XFxuICAvLyBmaXJlcyBpZiB0aGVyZSBpcyBhbiBgVXBkYXRlYCBlZmZlY3Qgc2NoZWR1bGVkIGR1cmluZyBtb3VudGluZy5cXG4gIC8vIFRoaXMgaGFwcGVucyBpZiBgZmluYWxpemVJbml0aWFsQ2hpbGRyZW5gIHJldHVybnMgYHRydWVgICh3aGljaCBpdFxcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XFxuICAvLyB0aGVyZSBhcmUgYWxzbyBvdGhlciBjYXNlcyB3aGVuIHRoaXMgbWlnaHQgaGFwcGVuIChzdWNoIGFzIHBhdGNoaW5nXFxuICAvLyB1cCB0ZXh0IGNvbnRlbnQgZHVyaW5nIGh5ZHJhdGlvbiBtaXNtYXRjaCkuIFNvIHdlJ2xsIGNoZWNrIHRoaXMgYWdhaW4uXFxuICBpZiAoc2hvdWxkQXV0b0ZvY3VzSG9zdENvbXBvbmVudCh0eXBlLCBuZXdQcm9wcykpIHtcXG4gICAgZG9tRWxlbWVudC5mb2N1cygpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBjb21taXRVcGRhdGUoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XFxuICAvLyBVcGRhdGUgdGhlIHByb3BzIGhhbmRsZSBzbyB0aGF0IHdlIGtub3cgd2hpY2ggcHJvcHMgYXJlIHRoZSBvbmVzIHdpdGhcXG4gIC8vIHdpdGggY3VycmVudCBldmVudCBoYW5kbGVycy5cXG4gIHVwZGF0ZUZpYmVyUHJvcHMoZG9tRWxlbWVudCwgbmV3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZiB0byB0aGUgRE9NIG5vZGUuXFxuXFxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7XFxufVxcbmZ1bmN0aW9uIHJlc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCkge1xcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xcbn1cXG5mdW5jdGlvbiBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCkge1xcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XFxufVxcbmZ1bmN0aW9uIGFwcGVuZENoaWxkKHBhcmVudEluc3RhbmNlLCBjaGlsZCkge1xcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xcbn1cXG5mdW5jdGlvbiBhcHBlbmRDaGlsZFRvQ29udGFpbmVyKGNvbnRhaW5lciwgY2hpbGQpIHtcXG4gIHZhciBwYXJlbnROb2RlO1xcblxcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XFxuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcXG4gICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGNvbnRhaW5lcik7XFxuICB9IGVsc2Uge1xcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xcbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkKGNoaWxkKTtcXG4gIH0gLy8gVGhpcyBjb250YWluZXIgbWlnaHQgYmUgdXNlZCBmb3IgYSBwb3J0YWwuXFxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxcbiAgLy8gdGhyb3VnaCB0aGUgUmVhY3QgdHJlZS4gSG93ZXZlciwgb24gTW9iaWxlIFNhZmFyaSB0aGUgY2xpY2sgd291bGRcXG4gIC8vIG5ldmVyIGJ1YmJsZSB0aHJvdWdoIHRoZSAqRE9NKiB0cmVlIHVubGVzcyBhbiBhbmNlc3RvciB3aXRoIG9uY2xpY2tcXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cXG4gIC8vIFRoaXMgaXMgd2h5IHdlIGVuc3VyZSB0aGF0IG5vbiBSZWFjdCByb290IGNvbnRhaW5lcnMgaGF2ZSBpbmxpbmUgb25jbGlja1xcbiAgLy8gZGVmaW5lZC5cXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcXG5cXG5cXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcXG5cXG4gIGlmICgocmVhY3RSb290Q29udGFpbmVyID09PSBudWxsIHx8IHJlYWN0Um9vdENvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSAmJiBwYXJlbnROb2RlLm9uY2xpY2sgPT09IG51bGwpIHtcXG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cXG4gICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQocGFyZW50Tm9kZSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGluc2VydEJlZm9yZShwYXJlbnRJbnN0YW5jZSwgY2hpbGQsIGJlZm9yZUNoaWxkKSB7XFxuICBwYXJlbnRJbnN0YW5jZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcXG59XFxuZnVuY3Rpb24gaW5zZXJ0SW5Db250YWluZXJCZWZvcmUoY29udGFpbmVyLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcXG4gIH0gZWxzZSB7XFxuICAgIGNvbnRhaW5lci5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XFxuICBwYXJlbnRJbnN0YW5jZS5yZW1vdmVDaGlsZChjaGlsZCk7XFxufVxcbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XFxuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcXG4gICAgY29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpO1xcbiAgfSBlbHNlIHtcXG4gICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNoaWxkKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGlkZUluc3RhbmNlKGluc3RhbmNlKSB7XFxuICAvLyBwYXNzIGhvc3QgY29udGV4dCB0byB0aGlzIG1ldGhvZD9cXG5cXG5cXG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XFxuICB2YXIgc3R5bGUgPSBpbnN0YW5jZS5zdHlsZTtcXG5cXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgc3R5bGUuc2V0UHJvcGVydHkoJ2Rpc3BsYXknLCAnbm9uZScsICdpbXBvcnRhbnQnKTtcXG4gIH0gZWxzZSB7XFxuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XFxuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gJyc7XFxufVxcbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xcbiAgaW5zdGFuY2UgPSBpbnN0YW5jZTtcXG4gIHZhciBzdHlsZVByb3AgPSBwcm9wc1tTVFlMRSQxXTtcXG4gIHZhciBkaXNwbGF5ID0gc3R5bGVQcm9wICE9PSB1bmRlZmluZWQgJiYgc3R5bGVQcm9wICE9PSBudWxsICYmIHN0eWxlUHJvcC5oYXNPd25Qcm9wZXJ0eSgnZGlzcGxheScpID8gc3R5bGVQcm9wLmRpc3BsYXkgOiBudWxsO1xcbiAgaW5zdGFuY2Uuc3R5bGUuZGlzcGxheSA9IGRhbmdlcm91c1N0eWxlVmFsdWUoJ2Rpc3BsYXknLCBkaXNwbGF5KTtcXG59XFxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IHRleHQ7XFxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXFxuZnVuY3Rpb24gY2FuSHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCB0eXBlLCBwcm9wcykge1xcbiAgaWYgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBFTEVNRU5UX05PREUgfHwgdHlwZS50b0xvd2VyQ2FzZSgpICE9PSBpbnN0YW5jZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGFuIGVsZW1lbnQgbm9kZS5cXG5cXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xcbiAgaWYgKHRleHQgPT09ICcnIHx8IGluc3RhbmNlLm5vZGVUeXBlICE9PSBURVhUX05PREUpIHtcXG4gICAgLy8gRW1wdHkgc3RyaW5ncyBhcmUgbm90IHBhcnNlZCBieSBIVE1MIHNvIHRoZXJlIHdvbid0IGJlIGEgY29ycmVjdCBtYXRjaCBoZXJlLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gVGhpcyBoYXMgbm93IGJlZW4gcmVmaW5lZCB0byBhIHRleHQgbm9kZS5cXG5cXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhpbnN0YW5jZSkge1xcbiAgcmV0dXJuIGluc3RhbmNlLmRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQTtcXG59XFxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soaW5zdGFuY2UpIHtcXG4gIHJldHVybiBpbnN0YW5jZS5kYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXROZXh0SHlkcmF0YWJsZShub2RlKSB7XFxuICAvLyBTa2lwIG5vbi1oeWRyYXRhYmxlIG5vZGVzLlxcbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcXG4gICAgdmFyIG5vZGVUeXBlID0gbm9kZS5ub2RlVHlwZTtcXG5cXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbm9kZTtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGluc3RhbmNlKSB7XFxuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xcbn1cXG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZChwYXJlbnRJbnN0YW5jZSkge1xcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xcbn1cXG5mdW5jdGlvbiBoeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XFxuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBpbnN0YW5jZSk7IC8vIFRPRE86IFBvc3NpYmx5IGRlZmVyIHRoaXMgdW50aWwgdGhlIGNvbW1pdCBwaGFzZSB3aGVyZSBhbGwgdGhlIGV2ZW50c1xcbiAgLy8gZ2V0IGF0dGFjaGVkLlxcblxcbiAgdXBkYXRlRmliZXJQcm9wcyhpbnN0YW5jZSwgcHJvcHMpO1xcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcXG5cXG4gIHtcXG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XFxuICAgIHBhcmVudE5hbWVzcGFjZSA9IGhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZTtcXG4gIH1cXG5cXG4gIHJldHVybiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbn1cXG5mdW5jdGlvbiBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTtcXG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XFxufVxcbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSkge1xcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlLm5leHRTaWJsaW5nOyAvLyBTa2lwIHBhc3QgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxcbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcXG4gIC8vIGRlZXAgd2UgYXJlIGFuZCBvbmx5IGJyZWFrIG91dCB3aGVuIHdlJ3JlIGJhY2sgb24gdG9wLlxcblxcbiAgdmFyIGRlcHRoID0gMDtcXG5cXG4gIHdoaWxlIChub2RlKSB7XFxuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcXG4gICAgICB2YXIgZGF0YSA9IG5vZGUuZGF0YTtcXG5cXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcXG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xcbiAgICAgICAgICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG5vZGUpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgZGVwdGgtLTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcXG4gICAgICAgIGRlcHRoKys7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xcbiAgfSAvLyBUT0RPOiBXYXJuLCB3ZSBkaWRuJ3QgZmluZCB0aGUgZW5kIGNvbW1lbnQgYm91bmRhcnkuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59IC8vIFJldHVybnMgdGhlIFN1c3BlbnNlSW5zdGFuY2UgaWYgdGhpcyBub2RlIGlzIGEgZGlyZWN0IGNoaWxkIG9mIGFcXG4vLyBTdXNwZW5zZUluc3RhbmNlLiBJLmUuIGlmIGl0cyBwcmV2aW91cyBzaWJsaW5nIGlzIGEgQ29tbWVudCB3aXRoXFxuLy8gU1VTUEVOU0VfeF9TVEFSVF9EQVRBLiBPdGhlcndpc2UsIG51bGwuXFxuXFxuZnVuY3Rpb24gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXRJbnN0YW5jZSkge1xcbiAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0YW5jZS5wcmV2aW91c1NpYmxpbmc7IC8vIFNraXAgcGFzdCBhbGwgbm9kZXMgd2l0aGluIHRoaXMgc3VzcGVuc2UgYm91bmRhcnkuXFxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXFxuXFxuICB2YXIgZGVwdGggPSAwO1xcblxcbiAgd2hpbGUgKG5vZGUpIHtcXG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xcblxcbiAgICAgIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX0ZBTExCQUNLX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfUEVORElOR19TVEFSVF9EQVRBKSB7XFxuICAgICAgICBpZiAoZGVwdGggPT09IDApIHtcXG4gICAgICAgICAgcmV0dXJuIG5vZGU7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBkZXB0aC0tO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcXG4gICAgICAgIGRlcHRoKys7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG5vZGUgPSBub2RlLnByZXZpb3VzU2libGluZztcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5mdW5jdGlvbiBjb21taXRIeWRyYXRlZENvbnRhaW5lcihjb250YWluZXIpIHtcXG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cXG4gIHJldHJ5SWZCbG9ja2VkT24oY29udGFpbmVyKTtcXG59XFxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcXG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cXG4gIHJldHJ5SWZCbG9ja2VkT24oc3VzcGVuc2VJbnN0YW5jZSk7XFxufVxcbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0SW5zdGFuY2UsIHRleHQpIHtcXG4gIHtcXG4gICAgd2FybkZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLCB0ZXh0KTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlkTm90TWF0Y2hIeWRyYXRlZFRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHRleHRJbnN0YW5jZSwgdGV4dCkge1xcbiAgaWYgKCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xcbiAgICB3YXJuRm9yVW5tYXRjaGVkVGV4dCh0ZXh0SW5zdGFuY2UsIHRleHQpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSkge1xcbiAge1xcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xcbiAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSk7XFxuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcXG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVUZXh0KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKSB7XFxuICBpZiAoIHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDFdICE9PSB0cnVlKSB7XFxuICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XFxuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XFxuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0eXBlLCBwcm9wcykge1xcbiAge1xcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0KSB7XFxuICB7XFxuICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRDb250YWluZXIsIHRleHQpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdHlwZSwgcHJvcHMpIHtcXG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcXG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XFxuICBpZiAoIHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDFdICE9PSB0cnVlKSB7XFxuICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRJbnN0YW5jZSwgdGV4dCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlU3VzcGVuc2VJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UpIHtcXG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIDtcXG59XFxuXFxudmFyIHJhbmRvbUtleSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO1xcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RJbnRlcm5hbEluc3RhbmNlJCcgKyByYW5kb21LZXk7XFxudmFyIGludGVybmFsRXZlbnRIYW5kbGVyc0tleSA9ICdfX3JlYWN0RXZlbnRIYW5kbGVycyQnICsgcmFuZG9tS2V5O1xcbnZhciBpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5ID0gJ19fcmVhY3RDb250YWluZXJlJCcgKyByYW5kb21LZXk7XFxuZnVuY3Rpb24gcHJlY2FjaGVGaWJlck5vZGUoaG9zdEluc3QsIG5vZGUpIHtcXG4gIG5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV0gPSBob3N0SW5zdDtcXG59XFxuZnVuY3Rpb24gbWFya0NvbnRhaW5lckFzUm9vdChob3N0Um9vdCwgbm9kZSkge1xcbiAgbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSA9IGhvc3RSb290O1xcbn1cXG5mdW5jdGlvbiB1bm1hcmtDb250YWluZXJBc1Jvb3Qobm9kZSkge1xcbiAgbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSA9IG51bGw7XFxufVxcbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcXG4gIHJldHVybiAhIW5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV07XFxufSAvLyBHaXZlbiBhIERPTSBub2RlLCByZXR1cm4gdGhlIGNsb3Nlc3QgSG9zdENvbXBvbmVudCBvciBIb3N0VGV4dCBmaWJlciBhbmNlc3Rvci5cXG4vLyBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGFydCBvZiBhIGh5ZHJhdGVkIG9yIG5vdCB5ZXQgcmVuZGVyZWQgc3VidHJlZSwgdGhlblxcbi8vIHRoaXMgbWF5IGFsc28gcmV0dXJuIGEgU3VzcGVuc2VDb21wb25lbnQgb3IgSG9zdFJvb3QgdG8gaW5kaWNhdGUgdGhhdC5cXG4vLyBDb25jZXB0dWFsbHkgdGhlIEhvc3RSb290IGZpYmVyIGlzIGEgY2hpbGQgb2YgdGhlIENvbnRhaW5lciBub2RlLiBTbyBpZiB5b3VcXG4vLyBwYXNzIHRoZSBDb250YWluZXIgbm9kZSBhcyB0aGUgdGFyZ2V0Tm9kZSwgeW91IHdpbGwgbm90IGFjdHVhbGx5IGdldCB0aGVcXG4vLyBIb3N0Um9vdCBiYWNrLiBUbyBnZXQgdG8gdGhlIEhvc3RSb290LCB5b3UgbmVlZCB0byBwYXNzIGEgY2hpbGQgb2YgaXQuXFxuLy8gVGhlIHNhbWUgdGhpbmcgYXBwbGllcyB0byBTdXNwZW5zZSBib3VuZGFyaWVzLlxcblxcbmZ1bmN0aW9uIGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHRhcmdldE5vZGUpIHtcXG4gIHZhciB0YXJnZXRJbnN0ID0gdGFyZ2V0Tm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcXG5cXG4gIGlmICh0YXJnZXRJbnN0KSB7XFxuICAgIC8vIERvbid0IHJldHVybiBIb3N0Um9vdCBvciBTdXNwZW5zZUNvbXBvbmVudCBoZXJlLlxcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcXG4gIH0gLy8gSWYgdGhlIGRpcmVjdCBldmVudCB0YXJnZXQgaXNuJ3QgYSBSZWFjdCBvd25lZCBET00gbm9kZSwgd2UgbmVlZCB0byBsb29rXFxuICAvLyB0byBzZWUgaWYgb25lIG9mIGl0cyBwYXJlbnRzIGlzIGEgUmVhY3Qgb3duZWQgRE9NIG5vZGUuXFxuXFxuXFxuICB2YXIgcGFyZW50Tm9kZSA9IHRhcmdldE5vZGUucGFyZW50Tm9kZTtcXG5cXG4gIHdoaWxlIChwYXJlbnROb2RlKSB7XFxuICAgIC8vIFdlJ2xsIGNoZWNrIGlmIHRoaXMgaXMgYSBjb250YWluZXIgcm9vdCB0aGF0IGNvdWxkIGluY2x1ZGVcXG4gICAgLy8gUmVhY3Qgbm9kZXMgaW4gdGhlIGZ1dHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2VcXG4gICAgLy8gaWYgd2UncmUgYSBjaGlsZCBvZiBhIGRlaHlkcmF0ZWQgY29udGFpbmVyLCB3ZSBuZWVkIHRvIGZpcnN0XFxuICAgIC8vIGZpbmQgdGhhdCBpbm5lciBjb250YWluZXIgYmVmb3JlIG1vdmluZyBvbiB0byBmaW5kaW5nIHRoZSBwYXJlbnRcXG4gICAgLy8gaW5zdGFuY2UuIE5vdGUgdGhhdCB3ZSBkb24ndCBjaGVjayB0aGlzIGZpZWxkIG9uICB0aGUgdGFyZ2V0Tm9kZVxcbiAgICAvLyBpdHNlbGYgYmVjYXVzZSB0aGUgZmliZXJzIGFyZSBjb25jZXB0dWFsbHkgYmV0d2VlbiB0aGUgY29udGFpbmVyXFxuICAgIC8vIG5vZGUgYW5kIHRoZSBmaXJzdCBjaGlsZC4gSXQgaXNuJ3Qgc3Vycm91bmRpbmcgdGhlIGNvbnRhaW5lciBub2RlLlxcbiAgICAvLyBJZiBpdCdzIG5vdCBhIGNvbnRhaW5lciwgd2UgY2hlY2sgaWYgaXQncyBhbiBpbnN0YW5jZS5cXG4gICAgdGFyZ2V0SW5zdCA9IHBhcmVudE5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV0gfHwgcGFyZW50Tm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcXG5cXG4gICAgaWYgKHRhcmdldEluc3QpIHtcXG4gICAgICAvLyBTaW5jZSB0aGlzIHdhc24ndCB0aGUgZGlyZWN0IHRhcmdldCBvZiB0aGUgZXZlbnQsIHdlIG1pZ2h0IGhhdmVcXG4gICAgICAvLyBzdGVwcGVkIHBhc3QgZGVoeWRyYXRlZCBET00gbm9kZXMgdG8gZ2V0IGhlcmUuIEhvd2V2ZXIgdGhleSBjb3VsZFxcbiAgICAgIC8vIGFsc28gaGF2ZSBiZWVuIG5vbi1SZWFjdCBub2Rlcy4gV2UgbmVlZCB0byBhbnN3ZXIgd2hpY2ggb25lLlxcbiAgICAgIC8vIElmIHdlIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGhhdmUgYW55IGNoaWxkcmVuLCB0aGVuIHRoZXJlIGNhbid0IGJlXFxuICAgICAgLy8gYSBuZXN0ZWQgc3VzcGVuc2UgYm91bmRhcnkgd2l0aGluIGl0LiBTbyB3ZSBjYW4gdXNlIHRoaXMgYXMgYSBmYXN0XFxuICAgICAgLy8gYmFpbG91dC4gTW9zdCBvZiB0aGUgdGltZSwgd2hlbiBwZW9wbGUgYWRkIG5vbi1SZWFjdCBjaGlsZHJlbiB0b1xcbiAgICAgIC8vIHRoZSB0cmVlLCBpdCBpcyB1c2luZyBhIHJlZiB0byBhIGNoaWxkLWxlc3MgRE9NIG5vZGUuXFxuICAgICAgLy8gTm9ybWFsbHkgd2UnZCBvbmx5IG5lZWQgdG8gY2hlY2sgb25lIG9mIHRoZSBmaWJlcnMgYmVjYXVzZSBpZiBpdFxcbiAgICAgIC8vIGhhcyBldmVyIGdvbmUgZnJvbSBoYXZpbmcgY2hpbGRyZW4gdG8gZGVsZXRpbmcgdGhlbSBvciB2aWNlIHZlcnNhXFxuICAgICAgLy8gaXQgd291bGQgaGF2ZSBkZWxldGVkIHRoZSBkZWh5ZHJhdGVkIGJvdW5kYXJ5IG5lc3RlZCBpbnNpZGUgYWxyZWFkeS5cXG4gICAgICAvLyBIb3dldmVyLCBzaW5jZSB0aGUgSG9zdFJvb3Qgc3RhcnRzIG91dCB3aXRoIGFuIGFsdGVybmF0ZSBpdCBtaWdodFxcbiAgICAgIC8vIGhhdmUgb25lIG9uIHRoZSBhbHRlcm5hdGUgc28gd2UgbmVlZCB0byBjaGVjayBpbiBjYXNlIHRoaXMgd2FzIGFcXG4gICAgICAvLyByb290LlxcbiAgICAgIHZhciBhbHRlcm5hdGUgPSB0YXJnZXRJbnN0LmFsdGVybmF0ZTtcXG5cXG4gICAgICBpZiAodGFyZ2V0SW5zdC5jaGlsZCAhPT0gbnVsbCB8fCBhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgICAvLyBOZXh0IHdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGUgbm9kZSB0aGF0IHNraXBwZWQgcGFzdCBpc1xcbiAgICAgICAgLy8gbmVzdGVkIHdpdGhpbiBhIGRlaHlkcmF0ZWQgYm91bmRhcnkgYW5kIGlmIHNvLCB3aGljaCBvbmUuXFxuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0Tm9kZSk7XFxuXFxuICAgICAgICB3aGlsZSAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSBmb3VuZCBhIHN1c3BlbnNlIGluc3RhbmNlLiBUaGF0IG1lYW5zIHRoYXQgd2UgaGF2ZW4ndFxcbiAgICAgICAgICAvLyBoeWRyYXRlZCBpdCB5ZXQuIEV2ZW4gdGhvdWdoIHdlIGxlYXZlIHRoZSBjb21tZW50cyBpbiB0aGVcXG4gICAgICAgICAgLy8gRE9NIGFmdGVyIGh5ZHJhdGluZywgYW5kIHRoZXJlIGFyZSBib3VuZGFyaWVzIGluIHRoZSBET01cXG4gICAgICAgICAgLy8gdGhhdCBjb3VsZCBhbHJlYWR5IGJlIGh5ZHJhdGVkLCB3ZSB3b3VsZG4ndCBoYXZlIGZvdW5kIHRoZW1cXG4gICAgICAgICAgLy8gdGhyb3VnaCB0aGlzIHBhc3Mgc2luY2UgaWYgdGhlIHRhcmdldCBpcyBoeWRyYXRlZCBpdCB3b3VsZFxcbiAgICAgICAgICAvLyBoYXZlIGhhZCBhbiBpbnRlcm5hbEluc3RhbmNlS2V5IG9uIGl0LlxcbiAgICAgICAgICAvLyBMZXQncyBnZXQgdGhlIGZpYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgU3VzcGVuc2VDb21wb25lbnRcXG4gICAgICAgICAgLy8gYXMgdGhlIGRlZXBlc3QgaW5zdGFuY2UuXFxuICAgICAgICAgIHZhciB0YXJnZXRTdXNwZW5zZUluc3QgPSBzdXNwZW5zZUluc3RhbmNlW2ludGVybmFsSW5zdGFuY2VLZXldO1xcblxcbiAgICAgICAgICBpZiAodGFyZ2V0U3VzcGVuc2VJbnN0KSB7XFxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFN1c3BlbnNlSW5zdDtcXG4gICAgICAgICAgfSAvLyBJZiB3ZSBkb24ndCBmaW5kIGEgRmliZXIgb24gdGhlIGNvbW1lbnQsIGl0IG1pZ2h0IGJlIGJlY2F1c2VcXG4gICAgICAgICAgLy8gd2UgaGF2ZW4ndCBnb3R0ZW4gdG8gaHlkcmF0ZSBpdCB5ZXQuIFRoZXJlIG1pZ2h0IHN0aWxsIGJlIGFcXG4gICAgICAgICAgLy8gcGFyZW50IGJvdW5kYXJ5IHRoYXQgaGFzbid0IGFib3ZlIHRoaXMgb25lIHNvIHdlIG5lZWQgdG8gZmluZFxcbiAgICAgICAgICAvLyB0aGUgb3V0ZXIgbW9zdCB0aGF0IGlzIGtub3duLlxcblxcblxcbiAgICAgICAgICBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTsgLy8gSWYgd2UgZG9uJ3QgZmluZCBvbmUsIHRoZW4gdGhhdCBzaG91bGQgbWVhbiB0aGF0IHRoZSBwYXJlbnRcXG4gICAgICAgICAgLy8gaG9zdCBjb21wb25lbnQgYWxzbyBoYXNuJ3QgaHlkcmF0ZWQgeWV0LiBXZSBjYW4gcmV0dXJuIGl0XFxuICAgICAgICAgIC8vIGJlbG93IHNpbmNlIGl0IHdpbGwgYmFpbCBvdXQgb24gdGhlIGlzTW91bnRlZCBjaGVjayBsYXRlci5cXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHRhcmdldEluc3Q7XFxuICAgIH1cXG5cXG4gICAgdGFyZ2V0Tm9kZSA9IHBhcmVudE5vZGU7XFxuICAgIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuLyoqXFxuICogR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBSZWFjdERPTUNvbXBvbmVudCBvciBSZWFjdERPTVRleHRDb21wb25lbnRcXG4gKiBpbnN0YW5jZSwgb3IgbnVsbCBpZiB0aGUgbm9kZSB3YXMgbm90IHJlbmRlcmVkIGJ5IHRoaXMgUmVhY3QuXFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5vZGUpIHtcXG4gIHZhciBpbnN0ID0gbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSB8fCBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xcblxcbiAgaWYgKGluc3QpIHtcXG4gICAgaWYgKGluc3QudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0VGV4dCB8fCBpbnN0LnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RSb290KSB7XFxuICAgICAgcmV0dXJuIGluc3Q7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG4vKipcXG4gKiBHaXZlbiBhIFJlYWN0RE9NQ29tcG9uZW50IG9yIFJlYWN0RE9NVGV4dENvbXBvbmVudCwgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nXFxuICogRE9NIG5vZGUuXFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKGluc3QpIHtcXG4gIGlmIChpbnN0LnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBpbnN0LnRhZyA9PT0gSG9zdFRleHQpIHtcXG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXFxuICAgIC8vIGEgaG9zdCBjb21wb25lbnQgb3IgaG9zdCB0ZXh0LlxcbiAgICByZXR1cm4gaW5zdC5zdGF0ZU5vZGU7XFxuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxcbiAgLy8gaW52YXJpYW50IGZvciBhIG1pc3NpbmcgcGFyZW50LCB3aGljaCBpcyBzdXBlciBjb25mdXNpbmcuXFxuXFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcImdldE5vZGVGcm9tSW5zdGFuY2U6IEludmFsaWQgYXJndW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMShub2RlKSB7XFxuICByZXR1cm4gbm9kZVtpbnRlcm5hbEV2ZW50SGFuZGxlcnNLZXldIHx8IG51bGw7XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZUZpYmVyUHJvcHMobm9kZSwgcHJvcHMpIHtcXG4gIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XSA9IHByb3BzO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xcbiAgZG8ge1xcbiAgICBpbnN0ID0gaW5zdC5yZXR1cm47IC8vIFRPRE86IElmIHRoaXMgaXMgYSBIb3N0Um9vdCB3ZSBtaWdodCB3YW50IHRvIGJhaWwgb3V0LlxcbiAgICAvLyBUaGF0IGlzIGRlcGVuZGluZyBvbiBpZiB3ZSB3YW50IG5lc3RlZCBzdWJ0cmVlcyAobGF5ZXJzKSB0byBidWJibGVcXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXFxuICAgIC8vIGhvc3Qgbm9kZSBidXQgdGhhdCB3b3VsZG4ndCB3b3JrIGZvciBSZWFjdCBOYXRpdmUgYW5kIGRvZXNuJ3QgbGV0IHVzXFxuICAgIC8vIGRvIHRoZSBwb3J0YWwgZmVhdHVyZS5cXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQpO1xcblxcbiAgaWYgKGluc3QpIHtcXG4gICAgcmV0dXJuIGluc3Q7XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuLyoqXFxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cXG4gKiBkaWZmZXJlbnQgdHJlZXMuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0TG93ZXN0Q29tbW9uQW5jZXN0b3IoaW5zdEEsIGluc3RCKSB7XFxuICB2YXIgZGVwdGhBID0gMDtcXG5cXG4gIGZvciAodmFyIHRlbXBBID0gaW5zdEE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcXG4gICAgZGVwdGhBKys7XFxuICB9XFxuXFxuICB2YXIgZGVwdGhCID0gMDtcXG5cXG4gIGZvciAodmFyIHRlbXBCID0gaW5zdEI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcXG4gICAgZGVwdGhCKys7XFxuICB9IC8vIElmIEEgaXMgZGVlcGVyLCBjcmF3bCB1cC5cXG5cXG5cXG4gIHdoaWxlIChkZXB0aEEgLSBkZXB0aEIgPiAwKSB7XFxuICAgIGluc3RBID0gZ2V0UGFyZW50KGluc3RBKTtcXG4gICAgZGVwdGhBLS07XFxuICB9IC8vIElmIEIgaXMgZGVlcGVyLCBjcmF3bCB1cC5cXG5cXG5cXG4gIHdoaWxlIChkZXB0aEIgLSBkZXB0aEEgPiAwKSB7XFxuICAgIGluc3RCID0gZ2V0UGFyZW50KGluc3RCKTtcXG4gICAgZGVwdGhCLS07XFxuICB9IC8vIFdhbGsgaW4gbG9ja3N0ZXAgdW50aWwgd2UgZmluZCBhIG1hdGNoLlxcblxcblxcbiAgdmFyIGRlcHRoID0gZGVwdGhBO1xcblxcbiAgd2hpbGUgKGRlcHRoLS0pIHtcXG4gICAgaWYgKGluc3RBID09PSBpbnN0QiB8fCBpbnN0QSA9PT0gaW5zdEIuYWx0ZXJuYXRlKSB7XFxuICAgICAgcmV0dXJuIGluc3RBO1xcbiAgICB9XFxuXFxuICAgIGluc3RBID0gZ2V0UGFyZW50KGluc3RBKTtcXG4gICAgaW5zdEIgPSBnZXRQYXJlbnQoaW5zdEIpO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcbi8qKlxcbiAqIFNpbXVsYXRlcyB0aGUgdHJhdmVyc2FsIG9mIGEgdHdvLXBoYXNlLCBjYXB0dXJlL2J1YmJsZSBldmVudCBkaXNwYXRjaC5cXG4gKi9cXG5cXG5mdW5jdGlvbiB0cmF2ZXJzZVR3b1BoYXNlKGluc3QsIGZuLCBhcmcpIHtcXG4gIHZhciBwYXRoID0gW107XFxuXFxuICB3aGlsZSAoaW5zdCkge1xcbiAgICBwYXRoLnB1c2goaW5zdCk7XFxuICAgIGluc3QgPSBnZXRQYXJlbnQoaW5zdCk7XFxuICB9XFxuXFxuICB2YXIgaTtcXG5cXG4gIGZvciAoaSA9IHBhdGgubGVuZ3RoOyBpLS0gPiAwOykge1xcbiAgICBmbihwYXRoW2ldLCAnY2FwdHVyZWQnLCBhcmcpO1xcbiAgfVxcblxcbiAgZm9yIChpID0gMDsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHtcXG4gICAgZm4ocGF0aFtpXSwgJ2J1YmJsZWQnLCBhcmcpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBUcmF2ZXJzZXMgdGhlIElEIGhpZXJhcmNoeSBhbmQgaW52b2tlcyB0aGUgc3VwcGxpZWQgYGNiYCBvbiBhbnkgSURzIHRoYXRcXG4gKiBzaG91bGQgd291bGQgcmVjZWl2ZSBhIGBtb3VzZUVudGVyYCBvciBgbW91c2VMZWF2ZWAgZXZlbnQuXFxuICpcXG4gKiBEb2VzIG5vdCBpbnZva2UgdGhlIGNhbGxiYWNrIG9uIHRoZSBuZWFyZXN0IGNvbW1vbiBhbmNlc3RvciBiZWNhdXNlIG5vdGhpbmdcXG4gKiBcXFwiZW50ZXJlZFxcXCIgb3IgXFxcImxlZnRcXFwiIHRoYXQgZWxlbWVudC5cXG4gKi9cXG5cXG5mdW5jdGlvbiB0cmF2ZXJzZUVudGVyTGVhdmUoZnJvbSwgdG8sIGZuLCBhcmdGcm9tLCBhcmdUbykge1xcbiAgdmFyIGNvbW1vbiA9IGZyb20gJiYgdG8gPyBnZXRMb3dlc3RDb21tb25BbmNlc3Rvcihmcm9tLCB0bykgOiBudWxsO1xcbiAgdmFyIHBhdGhGcm9tID0gW107XFxuXFxuICB3aGlsZSAodHJ1ZSkge1xcbiAgICBpZiAoIWZyb20pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoZnJvbSA9PT0gY29tbW9uKSB7XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgdmFyIGFsdGVybmF0ZSA9IGZyb20uYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgcGF0aEZyb20ucHVzaChmcm9tKTtcXG4gICAgZnJvbSA9IGdldFBhcmVudChmcm9tKTtcXG4gIH1cXG5cXG4gIHZhciBwYXRoVG8gPSBbXTtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIGlmICghdG8pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAodG8gPT09IGNvbW1vbikge1xcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciBfYWx0ZXJuYXRlID0gdG8uYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAoX2FsdGVybmF0ZSAhPT0gbnVsbCAmJiBfYWx0ZXJuYXRlID09PSBjb21tb24pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBwYXRoVG8ucHVzaCh0byk7XFxuICAgIHRvID0gZ2V0UGFyZW50KHRvKTtcXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0aEZyb20ubGVuZ3RoOyBpKyspIHtcXG4gICAgZm4ocGF0aEZyb21baV0sICdidWJibGVkJywgYXJnRnJvbSk7XFxuICB9XFxuXFxuICBmb3IgKHZhciBfaSA9IHBhdGhUby5sZW5ndGg7IF9pLS0gPiAwOykge1xcbiAgICBmbihwYXRoVG9bX2ldLCAnY2FwdHVyZWQnLCBhcmdUbyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzSW50ZXJhY3RpdmUodGFnKSB7XFxuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XFxufVxcblxcbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XFxuICBzd2l0Y2ggKG5hbWUpIHtcXG4gICAgY2FzZSAnb25DbGljayc6XFxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcXG4gICAgY2FzZSAnb25Eb3VibGVDbGljayc6XFxuICAgIGNhc2UgJ29uRG91YmxlQ2xpY2tDYXB0dXJlJzpcXG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxcbiAgICBjYXNlICdvbk1vdXNlRG93bkNhcHR1cmUnOlxcbiAgICBjYXNlICdvbk1vdXNlTW92ZSc6XFxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XFxuICAgIGNhc2UgJ29uTW91c2VVcCc6XFxuICAgIGNhc2UgJ29uTW91c2VVcENhcHR1cmUnOlxcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxcbiAgICAgIHJldHVybiAhIShwcm9wcy5kaXNhYmxlZCAmJiBpc0ludGVyYWN0aXZlKHR5cGUpKTtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcbi8qKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBpbnN0IFRoZSBpbnN0YW5jZSwgd2hpY2ggaXMgdGhlIHNvdXJjZSBvZiBldmVudHMuXFxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxcbiAqIEByZXR1cm4gez9mdW5jdGlvbn0gVGhlIHN0b3JlZCBjYWxsYmFjay5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRMaXN0ZW5lcihpbnN0LCByZWdpc3RyYXRpb25OYW1lKSB7XFxuICB2YXIgbGlzdGVuZXI7IC8vIFRPRE86IHNob3VsZFByZXZlbnRNb3VzZUV2ZW50IGlzIERPTS1zcGVjaWZpYyBhbmQgZGVmaW5pdGVseSBzaG91bGQgbm90XFxuICAvLyBsaXZlIGhlcmU7IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGEgYmV0dGVyIHBsYWNlIHNvb25cXG5cXG4gIHZhciBzdGF0ZU5vZGUgPSBpbnN0LnN0YXRlTm9kZTtcXG5cXG4gIGlmICghc3RhdGVOb2RlKSB7XFxuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHZhciBwcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUoc3RhdGVOb2RlKTtcXG5cXG4gIGlmICghcHJvcHMpIHtcXG4gICAgLy8gV29yayBpbiBwcm9ncmVzcy5cXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBsaXN0ZW5lciA9IHByb3BzW3JlZ2lzdHJhdGlvbk5hbWVdO1xcblxcbiAgaWYgKHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGluc3QudHlwZSwgcHJvcHMpKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgaWYgKCEoIWxpc3RlbmVyIHx8IHR5cGVvZiBsaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiRXhwZWN0ZWQgYFxcXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXFxcImAgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgXFxcIiArIHR5cGVvZiBsaXN0ZW5lciArIFxcXCJgIHR5cGUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbGlzdGVuZXI7XFxufVxcblxcbi8qKlxcbiAqIFNvbWUgZXZlbnQgdHlwZXMgaGF2ZSBhIG5vdGlvbiBvZiBkaWZmZXJlbnQgcmVnaXN0cmF0aW9uIG5hbWVzIGZvciBkaWZmZXJlbnRcXG4gKiBcXFwicGhhc2VzXFxcIiBvZiBwcm9wYWdhdGlvbi4gVGhpcyBmaW5kcyBsaXN0ZW5lcnMgYnkgYSBnaXZlbiBwaGFzZS5cXG4gKi9cXG5mdW5jdGlvbiBsaXN0ZW5lckF0UGhhc2UoaW5zdCwgZXZlbnQsIHByb3BhZ2F0aW9uUGhhc2UpIHtcXG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuZGlzcGF0Y2hDb25maWcucGhhc2VkUmVnaXN0cmF0aW9uTmFtZXNbcHJvcGFnYXRpb25QaGFzZV07XFxuICByZXR1cm4gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSk7XFxufVxcbi8qKlxcbiAqIEEgc21hbGwgc2V0IG9mIHByb3BhZ2F0aW9uIHBhdHRlcm5zLCBlYWNoIG9mIHdoaWNoIHdpbGwgYWNjZXB0IGEgc21hbGwgYW1vdW50XFxuICogb2YgaW5mb3JtYXRpb24sIGFuZCBnZW5lcmF0ZSBhIHNldCBvZiBcXFwiZGlzcGF0Y2ggcmVhZHkgZXZlbnQgb2JqZWN0c1xcXCIgLSB3aGljaFxcbiAqIGFyZSBzZXRzIG9mIGV2ZW50cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGFubm90YXRlZCB3aXRoIGEgc2V0IG9mIGRpc3BhdGNoZWRcXG4gKiBsaXN0ZW5lciBmdW5jdGlvbnMvaWRzLiBUaGUgQVBJIGlzIGRlc2lnbmVkIHRoaXMgd2F5IHRvIGRpc2NvdXJhZ2UgdGhlc2VcXG4gKiBwcm9wYWdhdGlvbiBzdHJhdGVnaWVzIGZyb20gYWN0dWFsbHkgZXhlY3V0aW5nIHRoZSBkaXNwYXRjaGVzLCBzaW5jZSB3ZVxcbiAqIGFsd2F5cyB3YW50IHRvIGNvbGxlY3QgdGhlIGVudGlyZSBzZXQgb2YgZGlzcGF0Y2hlcyBiZWZvcmUgZXhlY3V0aW5nIGV2ZW4gYVxcbiAqIHNpbmdsZSBvbmUuXFxuICovXFxuXFxuLyoqXFxuICogVGFncyBhIGBTeW50aGV0aWNFdmVudGAgd2l0aCBkaXNwYXRjaGVkIGxpc3RlbmVycy4gQ3JlYXRpbmcgdGhpcyBmdW5jdGlvblxcbiAqIGhlcmUsIGFsbG93cyB1cyB0byBub3QgaGF2ZSB0byBiaW5kIG9yIGNyZWF0ZSBmdW5jdGlvbnMgZm9yIGVhY2ggZXZlbnQuXFxuICogTXV0YXRpbmcgdGhlIGV2ZW50J3MgbWVtYmVycyBhbGxvd3MgdXMgdG8gbm90IGhhdmUgdG8gY3JlYXRlIGEgd3JhcHBpbmdcXG4gKiBcXFwiZGlzcGF0Y2hcXFwiIG9iamVjdCB0aGF0IHBhaXJzIHRoZSBldmVudCB3aXRoIHRoZSBsaXN0ZW5lci5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlyZWN0aW9uYWxEaXNwYXRjaGVzKGluc3QsIHBoYXNlLCBldmVudCkge1xcbiAge1xcbiAgICBpZiAoIWluc3QpIHtcXG4gICAgICBlcnJvcignRGlzcGF0Y2hpbmcgaW5zdCBtdXN0IG5vdCBiZSBudWxsJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBsaXN0ZW5lciA9IGxpc3RlbmVyQXRQaGFzZShpbnN0LCBldmVudCwgcGhhc2UpO1xcblxcbiAgaWYgKGxpc3RlbmVyKSB7XFxuICAgIGV2ZW50Ll9kaXNwYXRjaExpc3RlbmVycyA9IGFjY3VtdWxhdGVJbnRvKGV2ZW50Ll9kaXNwYXRjaExpc3RlbmVycywgbGlzdGVuZXIpO1xcbiAgICBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMsIGluc3QpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBDb2xsZWN0IGRpc3BhdGNoZXMgKG11c3QgYmUgZW50aXJlbHkgY29sbGVjdGVkIGJlZm9yZSBkaXNwYXRjaGluZyAtIHNlZSB1bml0XFxuICogdGVzdHMpLiBMYXppbHkgYWxsb2NhdGUgdGhlIGFycmF5IHRvIGNvbnNlcnZlIG1lbW9yeS4gIFdlIG11c3QgbG9vcCB0aHJvdWdoXFxuICogZWFjaCBldmVudCBhbmQgcGVyZm9ybSB0aGUgdHJhdmVyc2FsIGZvciBlYWNoIG9uZS4gV2UgY2Fubm90IHBlcmZvcm0gYVxcbiAqIHNpbmdsZSB0cmF2ZXJzYWwgZm9yIHRoZSBlbnRpcmUgY29sbGVjdGlvbiBvZiBldmVudHMgYmVjYXVzZSBlYWNoIGV2ZW50IG1heVxcbiAqIGhhdmUgYSBkaWZmZXJlbnQgdGFyZ2V0LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXNTaW5nbGUoZXZlbnQpIHtcXG4gIGlmIChldmVudCAmJiBldmVudC5kaXNwYXRjaENvbmZpZy5waGFzZWRSZWdpc3RyYXRpb25OYW1lcykge1xcbiAgICB0cmF2ZXJzZVR3b1BoYXNlKGV2ZW50Ll90YXJnZXRJbnN0LCBhY2N1bXVsYXRlRGlyZWN0aW9uYWxEaXNwYXRjaGVzLCBldmVudCk7XFxuICB9XFxufVxcbi8qKlxcbiAqIEFjY3VtdWxhdGVzIHdpdGhvdXQgcmVnYXJkIHRvIGRpcmVjdGlvbiwgZG9lcyBub3QgbG9vayBmb3IgcGhhc2VkXFxuICogcmVnaXN0cmF0aW9uIG5hbWVzLiBTYW1lIGFzIGBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZWAgYnV0IHdpdGhvdXRcXG4gKiByZXF1aXJpbmcgdGhhdCB0aGUgYGRpc3BhdGNoTWFya2VyYCBiZSB0aGUgc2FtZSBhcyB0aGUgZGlzcGF0Y2hlZCBJRC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlzcGF0Y2hlcyhpbnN0LCBpZ25vcmVkRGlyZWN0aW9uLCBldmVudCkge1xcbiAgaWYgKGluc3QgJiYgZXZlbnQgJiYgZXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSkge1xcbiAgICB2YXIgcmVnaXN0cmF0aW9uTmFtZSA9IGV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWU7XFxuICAgIHZhciBsaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3QsIHJlZ2lzdHJhdGlvbk5hbWUpO1xcblxcbiAgICBpZiAobGlzdGVuZXIpIHtcXG4gICAgICBldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnMsIGxpc3RlbmVyKTtcXG4gICAgICBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMsIGluc3QpO1xcbiAgICB9XFxuICB9XFxufVxcbi8qKlxcbiAqIEFjY3VtdWxhdGVzIGRpc3BhdGNoZXMgb24gYW4gYFN5bnRoZXRpY0V2ZW50YCwgYnV0IG9ubHkgZm9yIHRoZVxcbiAqIGBkaXNwYXRjaE1hcmtlcmAuXFxuICogQHBhcmFtIHtTeW50aGV0aWNFdmVudH0gZXZlbnRcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZShldmVudCkge1xcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUpIHtcXG4gICAgYWNjdW11bGF0ZURpc3BhdGNoZXMoZXZlbnQuX3RhcmdldEluc3QsIG51bGwsIGV2ZW50KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhldmVudHMpIHtcXG4gIGZvckVhY2hBY2N1bXVsYXRlZChldmVudHMsIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXNTaW5nbGUpO1xcbn1cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRW50ZXJMZWF2ZURpc3BhdGNoZXMobGVhdmUsIGVudGVyLCBmcm9tLCB0bykge1xcbiAgdHJhdmVyc2VFbnRlckxlYXZlKGZyb20sIHRvLCBhY2N1bXVsYXRlRGlzcGF0Y2hlcywgbGVhdmUsIGVudGVyKTtcXG59XFxuZnVuY3Rpb24gYWNjdW11bGF0ZURpcmVjdERpc3BhdGNoZXMoZXZlbnRzKSB7XFxuICBmb3JFYWNoQWNjdW11bGF0ZWQoZXZlbnRzLCBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZSk7XFxufVxcblxcbi8qKlxcbiAqIFRoZXNlIHZhcmlhYmxlcyBzdG9yZSBpbmZvcm1hdGlvbiBhYm91dCB0ZXh0IGNvbnRlbnQgb2YgYSB0YXJnZXQgbm9kZSxcXG4gKiBhbGxvd2luZyBjb21wYXJpc29uIG9mIGNvbnRlbnQgYmVmb3JlIGFuZCBhZnRlciBhIGdpdmVuIGV2ZW50LlxcbiAqXFxuICogSWRlbnRpZnkgdGhlIG5vZGUgd2hlcmUgc2VsZWN0aW9uIGN1cnJlbnRseSBiZWdpbnMsIHRoZW4gb2JzZXJ2ZVxcbiAqIGJvdGggaXRzIHRleHQgY29udGVudCBhbmQgaXRzIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIERPTS4gU2luY2UgdGhlXFxuICogYnJvd3NlciBtYXkgbmF0aXZlbHkgcmVwbGFjZSB0aGUgdGFyZ2V0IG5vZGUgZHVyaW5nIGNvbXBvc2l0aW9uLCB3ZSBjYW5cXG4gKiB1c2UgaXRzIHBvc2l0aW9uIHRvIGZpbmQgaXRzIHJlcGxhY2VtZW50LlxcbiAqXFxuICpcXG4gKi9cXG52YXIgcm9vdCA9IG51bGw7XFxudmFyIHN0YXJ0VGV4dCA9IG51bGw7XFxudmFyIGZhbGxiYWNrVGV4dCA9IG51bGw7XFxuZnVuY3Rpb24gaW5pdGlhbGl6ZShuYXRpdmVFdmVudFRhcmdldCkge1xcbiAgcm9vdCA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xcbiAgc3RhcnRUZXh0ID0gZ2V0VGV4dCgpO1xcbiAgcmV0dXJuIHRydWU7XFxufVxcbmZ1bmN0aW9uIHJlc2V0KCkge1xcbiAgcm9vdCA9IG51bGw7XFxuICBzdGFydFRleHQgPSBudWxsO1xcbiAgZmFsbGJhY2tUZXh0ID0gbnVsbDtcXG59XFxuZnVuY3Rpb24gZ2V0RGF0YSgpIHtcXG4gIGlmIChmYWxsYmFja1RleHQpIHtcXG4gICAgcmV0dXJuIGZhbGxiYWNrVGV4dDtcXG4gIH1cXG5cXG4gIHZhciBzdGFydDtcXG4gIHZhciBzdGFydFZhbHVlID0gc3RhcnRUZXh0O1xcbiAgdmFyIHN0YXJ0TGVuZ3RoID0gc3RhcnRWYWx1ZS5sZW5ndGg7XFxuICB2YXIgZW5kO1xcbiAgdmFyIGVuZFZhbHVlID0gZ2V0VGV4dCgpO1xcbiAgdmFyIGVuZExlbmd0aCA9IGVuZFZhbHVlLmxlbmd0aDtcXG5cXG4gIGZvciAoc3RhcnQgPSAwOyBzdGFydCA8IHN0YXJ0TGVuZ3RoOyBzdGFydCsrKSB7XFxuICAgIGlmIChzdGFydFZhbHVlW3N0YXJ0XSAhPT0gZW5kVmFsdWVbc3RhcnRdKSB7XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBtaW5FbmQgPSBzdGFydExlbmd0aCAtIHN0YXJ0O1xcblxcbiAgZm9yIChlbmQgPSAxOyBlbmQgPD0gbWluRW5kOyBlbmQrKykge1xcbiAgICBpZiAoc3RhcnRWYWx1ZVtzdGFydExlbmd0aCAtIGVuZF0gIT09IGVuZFZhbHVlW2VuZExlbmd0aCAtIGVuZF0pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHNsaWNlVGFpbCA9IGVuZCA+IDEgPyAxIC0gZW5kIDogdW5kZWZpbmVkO1xcbiAgZmFsbGJhY2tUZXh0ID0gZW5kVmFsdWUuc2xpY2Uoc3RhcnQsIHNsaWNlVGFpbCk7XFxuICByZXR1cm4gZmFsbGJhY2tUZXh0O1xcbn1cXG5mdW5jdGlvbiBnZXRUZXh0KCkge1xcbiAgaWYgKCd2YWx1ZScgaW4gcm9vdCkge1xcbiAgICByZXR1cm4gcm9vdC52YWx1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiByb290LnRleHRDb250ZW50O1xcbn1cXG5cXG52YXIgRVZFTlRfUE9PTF9TSVpFID0gMTA7XFxuLyoqXFxuICogQGludGVyZmFjZSBFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBFdmVudEludGVyZmFjZSA9IHtcXG4gIHR5cGU6IG51bGwsXFxuICB0YXJnZXQ6IG51bGwsXFxuICAvLyBjdXJyZW50VGFyZ2V0IGlzIHNldCB3aGVuIGRpc3BhdGNoaW5nOyBubyB1c2UgaW4gY29weWluZyBpdCBoZXJlXFxuICBjdXJyZW50VGFyZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSxcXG4gIGV2ZW50UGhhc2U6IG51bGwsXFxuICBidWJibGVzOiBudWxsLFxcbiAgY2FuY2VsYWJsZTogbnVsbCxcXG4gIHRpbWVTdGFtcDogZnVuY3Rpb24gKGV2ZW50KSB7XFxuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcXG4gIH0sXFxuICBkZWZhdWx0UHJldmVudGVkOiBudWxsLFxcbiAgaXNUcnVzdGVkOiBudWxsXFxufTtcXG5cXG5mdW5jdGlvbiBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZSgpIHtcXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UoKSB7XFxuICByZXR1cm4gZmFsc2U7XFxufVxcbi8qKlxcbiAqIFN5bnRoZXRpYyBldmVudHMgYXJlIGRpc3BhdGNoZWQgYnkgZXZlbnQgcGx1Z2lucywgdHlwaWNhbGx5IGluIHJlc3BvbnNlIHRvIGFcXG4gKiB0b3AtbGV2ZWwgZXZlbnQgZGVsZWdhdGlvbiBoYW5kbGVyLlxcbiAqXFxuICogVGhlc2Ugc3lzdGVtcyBzaG91bGQgZ2VuZXJhbGx5IHVzZSBwb29saW5nIHRvIHJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIGdhcmJhZ2VcXG4gKiBjb2xsZWN0aW9uLiBUaGUgc3lzdGVtIHNob3VsZCBjaGVjayBgaXNQZXJzaXN0ZW50YCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGVcXG4gKiBldmVudCBzaG91bGQgYmUgcmVsZWFzZWQgaW50byB0aGUgcG9vbCBhZnRlciBiZWluZyBkaXNwYXRjaGVkLiBVc2VycyB0aGF0XFxuICogbmVlZCBhIHBlcnNpc3RlZCBldmVudCBzaG91bGQgaW52b2tlIGBwZXJzaXN0YC5cXG4gKlxcbiAqIFN5bnRoZXRpYyBldmVudHMgKGFuZCBzdWJjbGFzc2VzKSBpbXBsZW1lbnQgdGhlIERPTSBMZXZlbCAzIEV2ZW50cyBBUEkgYnlcXG4gKiBub3JtYWxpemluZyBicm93c2VyIHF1aXJrcy4gU3ViY2xhc3NlcyBkbyBub3QgbmVjZXNzYXJpbHkgaGF2ZSB0byBpbXBsZW1lbnQgYVxcbiAqIERPTSBpbnRlcmZhY2U7IGN1c3RvbSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBldmVudHMgY2FuIGFsc28gc3ViY2xhc3MgdGhpcy5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBkaXNwYXRjaENvbmZpZyBDb25maWd1cmF0aW9uIHVzZWQgdG8gZGlzcGF0Y2ggdGhpcyBldmVudC5cXG4gKiBAcGFyYW0geyp9IHRhcmdldEluc3QgTWFya2VyIGlkZW50aWZ5aW5nIHRoZSBldmVudCB0YXJnZXQuXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxcbiAqIEBwYXJhbSB7RE9NRXZlbnRUYXJnZXR9IG5hdGl2ZUV2ZW50VGFyZ2V0IFRhcmdldCBub2RlLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIFN5bnRoZXRpY0V2ZW50KGRpc3BhdGNoQ29uZmlnLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcXG4gIHtcXG4gICAgLy8gdGhlc2UgaGF2ZSBhIGdldHRlci9zZXR0ZXIgZm9yIHdhcm5pbmdzXFxuICAgIGRlbGV0ZSB0aGlzLm5hdGl2ZUV2ZW50O1xcbiAgICBkZWxldGUgdGhpcy5wcmV2ZW50RGVmYXVsdDtcXG4gICAgZGVsZXRlIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xcbiAgICBkZWxldGUgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ7XFxuICAgIGRlbGV0ZSB0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkO1xcbiAgfVxcblxcbiAgdGhpcy5kaXNwYXRjaENvbmZpZyA9IGRpc3BhdGNoQ29uZmlnO1xcbiAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XFxuICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XFxuICB2YXIgSW50ZXJmYWNlID0gdGhpcy5jb25zdHJ1Y3Rvci5JbnRlcmZhY2U7XFxuXFxuICBmb3IgKHZhciBwcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcXG4gICAgaWYgKCFJbnRlcmZhY2UuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGRlbGV0ZSB0aGlzW3Byb3BOYW1lXTsgLy8gdGhpcyBoYXMgYSBnZXR0ZXIvc2V0dGVyIGZvciB3YXJuaW5nc1xcbiAgICB9XFxuXFxuICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbcHJvcE5hbWVdO1xcblxcbiAgICBpZiAobm9ybWFsaXplKSB7XFxuICAgICAgdGhpc1twcm9wTmFtZV0gPSBub3JtYWxpemUobmF0aXZlRXZlbnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGlmIChwcm9wTmFtZSA9PT0gJ3RhcmdldCcpIHtcXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnRUYXJnZXQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXNbcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbcHJvcE5hbWVdO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGRlZmF1bHRQcmV2ZW50ZWQgPSBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkICE9IG51bGwgPyBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkIDogbmF0aXZlRXZlbnQucmV0dXJuVmFsdWUgPT09IGZhbHNlO1xcblxcbiAgaWYgKGRlZmF1bHRQcmV2ZW50ZWQpIHtcXG4gICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcXG4gIH0gZWxzZSB7XFxuICAgIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlO1xcbiAgfVxcblxcbiAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcXG4gIHJldHVybiB0aGlzO1xcbn1cXG5cXG5fYXNzaWduKFN5bnRoZXRpY0V2ZW50LnByb3RvdHlwZSwge1xcbiAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcXG4gICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcXG5cXG4gICAgaWYgKCFldmVudCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoZXZlbnQucHJldmVudERlZmF1bHQpIHtcXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBldmVudC5yZXR1cm5WYWx1ZSAhPT0gJ3Vua25vd24nKSB7XFxuICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcXG4gICAgfVxcblxcbiAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xcbiAgfSxcXG4gIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xcblxcbiAgICBpZiAoIWV2ZW50KSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXZlbnQuY2FuY2VsQnViYmxlICE9PSAndW5rbm93bicpIHtcXG4gICAgICAvLyBUaGUgQ2hhbmdlRXZlbnRQbHVnaW4gcmVnaXN0ZXJzIGEgXFxcInByb3BlcnR5Y2hhbmdlXFxcIiBldmVudCBmb3JcXG4gICAgICAvLyBJRS4gVGhpcyBldmVudCBkb2VzIG5vdCBzdXBwb3J0IGJ1YmJsaW5nIG9yIGNhbmNlbGxpbmcsIGFuZFxcbiAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcXFwiTWVtYmVyIG5vdCBmb3VuZFxcXCIuICBBXFxuICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFxcXCJ1bmtub3duXFxcIiBjaXJjdW12ZW50cyB0aGlzIGlzc3VlIChhbmQgaXMgYWxzb1xcbiAgICAgIC8vIElFIHNwZWNpZmljKS5cXG4gICAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcXG4gIH0sXFxuXFxuICAvKipcXG4gICAqIFdlIHJlbGVhc2UgYWxsIGRpc3BhdGNoZWQgYFN5bnRoZXRpY0V2ZW50YHMgYWZ0ZXIgZWFjaCBldmVudCBsb29wLCBhZGRpbmdcXG4gICAqIHRoZW0gYmFjayBpbnRvIHRoZSBwb29sLiBUaGlzIGFsbG93cyBhIHdheSB0byBob2xkIG9udG8gYSByZWZlcmVuY2UgdGhhdFxcbiAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxcbiAgICovXFxuICBwZXJzaXN0OiBmdW5jdGlvbiAoKSB7XFxuICAgIHRoaXMuaXNQZXJzaXN0ZW50ID0gZnVuY3Rpb25UaGF0UmV0dXJuc1RydWU7XFxuICB9LFxcblxcbiAgLyoqXFxuICAgKiBDaGVja3MgaWYgdGhpcyBldmVudCBzaG91bGQgYmUgcmVsZWFzZWQgYmFjayBpbnRvIHRoZSBwb29sLlxcbiAgICpcXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhpcyBzaG91bGQgbm90IGJlIHJlbGVhc2VkLCBmYWxzZSBvdGhlcndpc2UuXFxuICAgKi9cXG4gIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlLFxcblxcbiAgLyoqXFxuICAgKiBgUG9vbGVkQ2xhc3NgIGxvb2tzIGZvciBgZGVzdHJ1Y3RvcmAgb24gZWFjaCBpbnN0YW5jZSBpdCByZWxlYXNlcy5cXG4gICAqL1xcbiAgZGVzdHJ1Y3RvcjogZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgSW50ZXJmYWNlID0gdGhpcy5jb25zdHJ1Y3Rvci5JbnRlcmZhY2U7XFxuXFxuICAgIGZvciAodmFyIHByb3BOYW1lIGluIEludGVyZmFjZSkge1xcbiAgICAgIHtcXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wTmFtZSwgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbihwcm9wTmFtZSwgSW50ZXJmYWNlW3Byb3BOYW1lXSkpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmRpc3BhdGNoQ29uZmlnID0gbnVsbDtcXG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IG51bGw7XFxuICAgIHRoaXMubmF0aXZlRXZlbnQgPSBudWxsO1xcbiAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcXG4gICAgdGhpcy5fZGlzcGF0Y2hMaXN0ZW5lcnMgPSBudWxsO1xcbiAgICB0aGlzLl9kaXNwYXRjaEluc3RhbmNlcyA9IG51bGw7XFxuXFxuICAgIHtcXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ25hdGl2ZUV2ZW50JywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignbmF0aXZlRXZlbnQnLCBudWxsKSk7XFxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdpc0RlZmF1bHRQcmV2ZW50ZWQnLCBnZXRQb29sZWRXYXJuaW5nUHJvcGVydHlEZWZpbml0aW9uKCdpc0RlZmF1bHRQcmV2ZW50ZWQnLCBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UpKTtcXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2lzUHJvcGFnYXRpb25TdG9wcGVkJywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignaXNQcm9wYWdhdGlvblN0b3BwZWQnLCBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UpKTtcXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3ByZXZlbnREZWZhdWx0JywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbigncHJldmVudERlZmF1bHQnLCBmdW5jdGlvbiAoKSB7fSkpO1xcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnc3RvcFByb3BhZ2F0aW9uJywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignc3RvcFByb3BhZ2F0aW9uJywgZnVuY3Rpb24gKCkge30pKTtcXG4gICAgfVxcbiAgfVxcbn0pO1xcblxcblN5bnRoZXRpY0V2ZW50LkludGVyZmFjZSA9IEV2ZW50SW50ZXJmYWNlO1xcbi8qKlxcbiAqIEhlbHBlciB0byByZWR1Y2UgYm9pbGVycGxhdGUgd2hlbiBjcmVhdGluZyBzdWJjbGFzc2VzLlxcbiAqL1xcblxcblN5bnRoZXRpY0V2ZW50LmV4dGVuZCA9IGZ1bmN0aW9uIChJbnRlcmZhY2UpIHtcXG4gIHZhciBTdXBlciA9IHRoaXM7XFxuXFxuICB2YXIgRSA9IGZ1bmN0aW9uICgpIHt9O1xcblxcbiAgRS5wcm90b3R5cGUgPSBTdXBlci5wcm90b3R5cGU7XFxuICB2YXIgcHJvdG90eXBlID0gbmV3IEUoKTtcXG5cXG4gIGZ1bmN0aW9uIENsYXNzKCkge1xcbiAgICByZXR1cm4gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG4gIH1cXG5cXG4gIF9hc3NpZ24ocHJvdG90eXBlLCBDbGFzcy5wcm90b3R5cGUpO1xcblxcbiAgQ2xhc3MucHJvdG90eXBlID0gcHJvdG90eXBlO1xcbiAgQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gQ2xhc3M7XFxuICBDbGFzcy5JbnRlcmZhY2UgPSBfYXNzaWduKHt9LCBTdXBlci5JbnRlcmZhY2UsIEludGVyZmFjZSk7XFxuICBDbGFzcy5leHRlbmQgPSBTdXBlci5leHRlbmQ7XFxuICBhZGRFdmVudFBvb2xpbmdUbyhDbGFzcyk7XFxuICByZXR1cm4gQ2xhc3M7XFxufTtcXG5cXG5hZGRFdmVudFBvb2xpbmdUbyhTeW50aGV0aWNFdmVudCk7XFxuLyoqXFxuICogSGVscGVyIHRvIG51bGxpZnkgc3ludGhldGljRXZlbnQgaW5zdGFuY2UgcHJvcGVydGllcyB3aGVuIGRlc3RydWN0aW5nXFxuICpcXG4gKiBAcGFyYW0ge1N0cmluZ30gcHJvcE5hbWVcXG4gKiBAcGFyYW0gez9vYmplY3R9IGdldFZhbFxcbiAqIEByZXR1cm4ge29iamVjdH0gZGVmaW5lUHJvcGVydHkgb2JqZWN0XFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbihwcm9wTmFtZSwgZ2V0VmFsKSB7XFxuICB2YXIgaXNGdW5jdGlvbiA9IHR5cGVvZiBnZXRWYWwgPT09ICdmdW5jdGlvbic7XFxuICByZXR1cm4ge1xcbiAgICBjb25maWd1cmFibGU6IHRydWUsXFxuICAgIHNldDogc2V0LFxcbiAgICBnZXQ6IGdldFxcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHNldCh2YWwpIHtcXG4gICAgdmFyIGFjdGlvbiA9IGlzRnVuY3Rpb24gPyAnc2V0dGluZyB0aGUgbWV0aG9kJyA6ICdzZXR0aW5nIHRoZSBwcm9wZXJ0eSc7XFxuICAgIHdhcm4oYWN0aW9uLCAnVGhpcyBpcyBlZmZlY3RpdmVseSBhIG5vLW9wJyk7XFxuICAgIHJldHVybiB2YWw7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHZhciBhY3Rpb24gPSBpc0Z1bmN0aW9uID8gJ2FjY2Vzc2luZyB0aGUgbWV0aG9kJyA6ICdhY2Nlc3NpbmcgdGhlIHByb3BlcnR5JztcXG4gICAgdmFyIHJlc3VsdCA9IGlzRnVuY3Rpb24gPyAnVGhpcyBpcyBhIG5vLW9wIGZ1bmN0aW9uJyA6ICdUaGlzIGlzIHNldCB0byBudWxsJztcXG4gICAgd2FybihhY3Rpb24sIHJlc3VsdCk7XFxuICAgIHJldHVybiBnZXRWYWw7XFxuICB9XFxuXFxuICBmdW5jdGlvbiB3YXJuKGFjdGlvbiwgcmVzdWx0KSB7XFxuICAgIHtcXG4gICAgICBlcnJvcihcXFwiVGhpcyBzeW50aGV0aWMgZXZlbnQgaXMgcmV1c2VkIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiBJZiB5b3UncmUgc2VlaW5nIHRoaXMsIFxcXCIgKyBcXFwieW91J3JlICVzIGAlc2Agb24gYSByZWxlYXNlZC9udWxsaWZpZWQgc3ludGhldGljIGV2ZW50LiAlcy4gXFxcIiArICdJZiB5b3UgbXVzdCBrZWVwIHRoZSBvcmlnaW5hbCBzeW50aGV0aWMgZXZlbnQgYXJvdW5kLCB1c2UgZXZlbnQucGVyc2lzdCgpLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LWV2ZW50LXBvb2xpbmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgYWN0aW9uLCBwcm9wTmFtZSwgcmVzdWx0KTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRQb29sZWRFdmVudChkaXNwYXRjaENvbmZpZywgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUluc3QpIHtcXG4gIHZhciBFdmVudENvbnN0cnVjdG9yID0gdGhpcztcXG5cXG4gIGlmIChFdmVudENvbnN0cnVjdG9yLmV2ZW50UG9vbC5sZW5ndGgpIHtcXG4gICAgdmFyIGluc3RhbmNlID0gRXZlbnRDb25zdHJ1Y3Rvci5ldmVudFBvb2wucG9wKCk7XFxuICAgIEV2ZW50Q29uc3RydWN0b3IuY2FsbChpbnN0YW5jZSwgZGlzcGF0Y2hDb25maWcsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVJbnN0KTtcXG4gICAgcmV0dXJuIGluc3RhbmNlO1xcbiAgfVxcblxcbiAgcmV0dXJuIG5ldyBFdmVudENvbnN0cnVjdG9yKGRpc3BhdGNoQ29uZmlnLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlSW5zdCk7XFxufVxcblxcbmZ1bmN0aW9uIHJlbGVhc2VQb29sZWRFdmVudChldmVudCkge1xcbiAgdmFyIEV2ZW50Q29uc3RydWN0b3IgPSB0aGlzO1xcblxcbiAgaWYgKCEoZXZlbnQgaW5zdGFuY2VvZiBFdmVudENvbnN0cnVjdG9yKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUcnlpbmcgdG8gcmVsZWFzZSBhbiBldmVudCBpbnN0YW5jZSBpbnRvIGEgcG9vbCBvZiBhIGRpZmZlcmVudCB0eXBlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgZXZlbnQuZGVzdHJ1Y3RvcigpO1xcblxcbiAgaWYgKEV2ZW50Q29uc3RydWN0b3IuZXZlbnRQb29sLmxlbmd0aCA8IEVWRU5UX1BPT0xfU0laRSkge1xcbiAgICBFdmVudENvbnN0cnVjdG9yLmV2ZW50UG9vbC5wdXNoKGV2ZW50KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWRkRXZlbnRQb29saW5nVG8oRXZlbnRDb25zdHJ1Y3Rvcikge1xcbiAgRXZlbnRDb25zdHJ1Y3Rvci5ldmVudFBvb2wgPSBbXTtcXG4gIEV2ZW50Q29uc3RydWN0b3IuZ2V0UG9vbGVkID0gZ2V0UG9vbGVkRXZlbnQ7XFxuICBFdmVudENvbnN0cnVjdG9yLnJlbGVhc2UgPSByZWxlYXNlUG9vbGVkRXZlbnQ7XFxufVxcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWNvbXBvc2l0aW9uZXZlbnRzXFxuICovXFxuXFxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xcbiAgZGF0YTogbnVsbFxcbn0pO1xcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvV0QtRE9NLUxldmVsLTMtRXZlbnRzLTIwMTMxMTA1XFxuICogICAgICAvI2V2ZW50cy1pbnB1dGV2ZW50c1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNJbnB1dEV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcXG4gIGRhdGE6IG51bGxcXG59KTtcXG5cXG52YXIgRU5EX0tFWUNPREVTID0gWzksIDEzLCAyNywgMzJdOyAvLyBUYWIsIFJldHVybiwgRXNjLCBTcGFjZVxcblxcbnZhciBTVEFSVF9LRVlDT0RFID0gMjI5O1xcbnZhciBjYW5Vc2VDb21wb3NpdGlvbkV2ZW50ID0gY2FuVXNlRE9NICYmICdDb21wb3NpdGlvbkV2ZW50JyBpbiB3aW5kb3c7XFxudmFyIGRvY3VtZW50TW9kZSA9IG51bGw7XFxuXFxuaWYgKGNhblVzZURPTSAmJiAnZG9jdW1lbnRNb2RlJyBpbiBkb2N1bWVudCkge1xcbiAgZG9jdW1lbnRNb2RlID0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xcbn0gLy8gV2Via2l0IG9mZmVycyBhIHZlcnkgdXNlZnVsIGB0ZXh0SW5wdXRgIGV2ZW50IHRoYXQgY2FuIGJlIHVzZWQgdG9cXG4vLyBkaXJlY3RseSByZXByZXNlbnQgYGJlZm9yZUlucHV0YC4gVGhlIElFIGB0ZXh0aW5wdXRgIGV2ZW50IGlzIG5vdCBhc1xcbi8vIHVzZWZ1bCwgc28gd2UgZG9uJ3QgdXNlIGl0LlxcblxcblxcbnZhciBjYW5Vc2VUZXh0SW5wdXRFdmVudCA9IGNhblVzZURPTSAmJiAnVGV4dEV2ZW50JyBpbiB3aW5kb3cgJiYgIWRvY3VtZW50TW9kZTsgLy8gSW4gSUU5Kywgd2UgaGF2ZSBhY2Nlc3MgdG8gY29tcG9zaXRpb24gZXZlbnRzLCBidXQgdGhlIGRhdGEgc3VwcGxpZWRcXG4vLyBieSB0aGUgbmF0aXZlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IG1heSBiZSBpbmNvcnJlY3QuIEphcGFuZXNlIGlkZW9ncmFwaGljXFxuLy8gc3BhY2VzLCBmb3IgaW5zdGFuY2UgKFxcXFx1MzAwMCkgYXJlIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkuXFxuXFxudmFyIHVzZUZhbGxiYWNrQ29tcG9zaXRpb25EYXRhID0gY2FuVXNlRE9NICYmICghY2FuVXNlQ29tcG9zaXRpb25FdmVudCB8fCBkb2N1bWVudE1vZGUgJiYgZG9jdW1lbnRNb2RlID4gOCAmJiBkb2N1bWVudE1vZGUgPD0gMTEpO1xcbnZhciBTUEFDRUJBUl9DT0RFID0gMzI7XFxudmFyIFNQQUNFQkFSX0NIQVIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKFNQQUNFQkFSX0NPREUpOyAvLyBFdmVudHMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgbmFtZXMuXFxuXFxudmFyIGV2ZW50VHlwZXMgPSB7XFxuICBiZWZvcmVJbnB1dDoge1xcbiAgICBwaGFzZWRSZWdpc3RyYXRpb25OYW1lczoge1xcbiAgICAgIGJ1YmJsZWQ6ICdvbkJlZm9yZUlucHV0JyxcXG4gICAgICBjYXB0dXJlZDogJ29uQmVmb3JlSW5wdXRDYXB0dXJlJ1xcbiAgICB9LFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfS0VZX1BSRVNTLCBUT1BfVEVYVF9JTlBVVCwgVE9QX1BBU1RFXVxcbiAgfSxcXG4gIGNvbXBvc2l0aW9uRW5kOiB7XFxuICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XFxuICAgICAgYnViYmxlZDogJ29uQ29tcG9zaXRpb25FbmQnLFxcbiAgICAgIGNhcHR1cmVkOiAnb25Db21wb3NpdGlvbkVuZENhcHR1cmUnXFxuICAgIH0sXFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfS0VZX0RPV04sIFRPUF9LRVlfUFJFU1MsIFRPUF9LRVlfVVAsIFRPUF9NT1VTRV9ET1dOXVxcbiAgfSxcXG4gIGNvbXBvc2l0aW9uU3RhcnQ6IHtcXG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcXG4gICAgICBidWJibGVkOiAnb25Db21wb3NpdGlvblN0YXJ0JyxcXG4gICAgICBjYXB0dXJlZDogJ29uQ29tcG9zaXRpb25TdGFydENhcHR1cmUnXFxuICAgIH0sXFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ09NUE9TSVRJT05fU1RBUlQsIFRPUF9LRVlfRE9XTiwgVE9QX0tFWV9QUkVTUywgVE9QX0tFWV9VUCwgVE9QX01PVVNFX0RPV05dXFxuICB9LFxcbiAgY29tcG9zaXRpb25VcGRhdGU6IHtcXG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcXG4gICAgICBidWJibGVkOiAnb25Db21wb3NpdGlvblVwZGF0ZScsXFxuICAgICAgY2FwdHVyZWQ6ICdvbkNvbXBvc2l0aW9uVXBkYXRlQ2FwdHVyZSdcXG4gICAgfSxcXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX0JMVVIsIFRPUF9DT01QT1NJVElPTl9VUERBVEUsIFRPUF9LRVlfRE9XTiwgVE9QX0tFWV9QUkVTUywgVE9QX0tFWV9VUCwgVE9QX01PVVNFX0RPV05dXFxuICB9XFxufTsgLy8gVHJhY2sgd2hldGhlciB3ZSd2ZSBldmVyIGhhbmRsZWQgYSBrZXlwcmVzcyBvbiB0aGUgc3BhY2Uga2V5LlxcblxcbnZhciBoYXNTcGFjZUtleXByZXNzID0gZmFsc2U7XFxuLyoqXFxuICogUmV0dXJuIHdoZXRoZXIgYSBuYXRpdmUga2V5cHJlc3MgZXZlbnQgaXMgYXNzdW1lZCB0byBiZSBhIGNvbW1hbmQuXFxuICogVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIEZpcmVmb3ggZmlyZXMgYGtleXByZXNzYCBldmVudHMgZm9yIGtleSBjb21tYW5kc1xcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xcbiAgcmV0dXJuIChuYXRpdmVFdmVudC5jdHJsS2V5IHx8IG5hdGl2ZUV2ZW50LmFsdEtleSB8fCBuYXRpdmVFdmVudC5tZXRhS2V5KSAmJiAvLyBjdHJsS2V5ICYmIGFsdEtleSBpcyBlcXVpdmFsZW50IHRvIEFsdEdyLCBhbmQgaXMgbm90IGEgY29tbWFuZC5cXG4gICEobmF0aXZlRXZlbnQuY3RybEtleSAmJiBuYXRpdmVFdmVudC5hbHRLZXkpO1xcbn1cXG4vKipcXG4gKiBUcmFuc2xhdGUgbmF0aXZlIHRvcCBsZXZlbCBldmVudHMgaW50byBldmVudCB0eXBlcy5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b3BMZXZlbFR5cGVcXG4gKiBAcmV0dXJuIHtvYmplY3R9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0Q29tcG9zaXRpb25FdmVudFR5cGUodG9wTGV2ZWxUeXBlKSB7XFxuICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xcbiAgICBjYXNlIFRPUF9DT01QT1NJVElPTl9TVEFSVDpcXG4gICAgICByZXR1cm4gZXZlbnRUeXBlcy5jb21wb3NpdGlvblN0YXJ0O1xcblxcbiAgICBjYXNlIFRPUF9DT01QT1NJVElPTl9FTkQ6XFxuICAgICAgcmV0dXJuIGV2ZW50VHlwZXMuY29tcG9zaXRpb25FbmQ7XFxuXFxuICAgIGNhc2UgVE9QX0NPTVBPU0lUSU9OX1VQREFURTpcXG4gICAgICByZXR1cm4gZXZlbnRUeXBlcy5jb21wb3NpdGlvblVwZGF0ZTtcXG4gIH1cXG59XFxuLyoqXFxuICogRG9lcyBvdXIgZmFsbGJhY2sgYmVzdC1ndWVzcyBtb2RlbCB0aGluayB0aGlzIGV2ZW50IHNpZ25pZmllcyB0aGF0XFxuICogY29tcG9zaXRpb24gaGFzIGJlZ3VuP1xcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHRvcExldmVsVHlwZVxcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxcbiAqIEByZXR1cm4ge2Jvb2xlYW59XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gaXNGYWxsYmFja0NvbXBvc2l0aW9uU3RhcnQodG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgcmV0dXJuIHRvcExldmVsVHlwZSA9PT0gVE9QX0tFWV9ET1dOICYmIG5hdGl2ZUV2ZW50LmtleUNvZGUgPT09IFNUQVJUX0tFWUNPREU7XFxufVxcbi8qKlxcbiAqIERvZXMgb3VyIGZhbGxiYWNrIG1vZGUgdGhpbmsgdGhhdCB0aGlzIGV2ZW50IGlzIHRoZSBlbmQgb2YgY29tcG9zaXRpb24/XFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9wTGV2ZWxUeXBlXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XFxuICogQHJldHVybiB7Ym9vbGVhbn1cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQodG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgY2FzZSBUT1BfS0VZX1VQOlxcbiAgICAgIC8vIENvbW1hbmQga2V5cyBpbnNlcnQgb3IgY2xlYXIgSU1FIGlucHV0LlxcbiAgICAgIHJldHVybiBFTkRfS0VZQ09ERVMuaW5kZXhPZihuYXRpdmVFdmVudC5rZXlDb2RlKSAhPT0gLTE7XFxuXFxuICAgIGNhc2UgVE9QX0tFWV9ET1dOOlxcbiAgICAgIC8vIEV4cGVjdCBJTUUga2V5Q29kZSBvbiBlYWNoIGtleWRvd24uIElmIHdlIGdldCBhbnkgb3RoZXJcXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cXG4gICAgICByZXR1cm4gbmF0aXZlRXZlbnQua2V5Q29kZSAhPT0gU1RBUlRfS0VZQ09ERTtcXG5cXG4gICAgY2FzZSBUT1BfS0VZX1BSRVNTOlxcbiAgICBjYXNlIFRPUF9NT1VTRV9ET1dOOlxcbiAgICBjYXNlIFRPUF9CTFVSOlxcbiAgICAgIC8vIEV2ZW50cyBhcmUgbm90IHBvc3NpYmxlIHdpdGhvdXQgY2FuY2VsbGluZyBJTUUuXFxuICAgICAgcmV0dXJuIHRydWU7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBHb29nbGUgSW5wdXQgVG9vbHMgcHJvdmlkZXMgY29tcG9zaXRpb24gZGF0YSB2aWEgYSBDdXN0b21FdmVudCxcXG4gKiB3aXRoIHRoZSBgZGF0YWAgcHJvcGVydHkgcG9wdWxhdGVkIGluIHRoZSBgZGV0YWlsYCBvYmplY3QuIElmIHRoaXNcXG4gKiBpcyBhdmFpbGFibGUgb24gdGhlIGV2ZW50IG9iamVjdCwgdXNlIGl0LiBJZiBub3QsIHRoaXMgaXMgYSBwbGFpblxcbiAqIGNvbXBvc2l0aW9uIGV2ZW50IGFuZCB3ZSBoYXZlIG5vdGhpbmcgc3BlY2lhbCB0byBleHRyYWN0LlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XFxuICogQHJldHVybiB7P3N0cmluZ31cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KSB7XFxuICB2YXIgZGV0YWlsID0gbmF0aXZlRXZlbnQuZGV0YWlsO1xcblxcbiAgaWYgKHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnICYmICdkYXRhJyBpbiBkZXRhaWwpIHtcXG4gICAgcmV0dXJuIGRldGFpbC5kYXRhO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcbi8qKlxcbiAqIENoZWNrIGlmIGEgY29tcG9zaXRpb24gZXZlbnQgd2FzIHRyaWdnZXJlZCBieSBLb3JlYW4gSU1FLlxcbiAqIE91ciBmYWxsYmFjayBtb2RlIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIElFJ3MgS29yZWFuIElNRSxcXG4gKiBzbyBqdXN0IHVzZSBuYXRpdmUgY29tcG9zaXRpb24gZXZlbnRzIHdoZW4gS29yZWFuIElNRSBpcyB1c2VkLlxcbiAqIEFsdGhvdWdoIENvbXBvc2l0aW9uRXZlbnQubG9jYWxlIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQsXFxuICogaXQgaXMgYXZhaWxhYmxlIGluIElFLCB3aGVyZSBvdXIgZmFsbGJhY2sgbW9kZSBpcyBlbmFibGVkLlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XFxuICogQHJldHVybiB7Ym9vbGVhbn1cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBpc1VzaW5nS29yZWFuSU1FKG5hdGl2ZUV2ZW50KSB7XFxuICByZXR1cm4gbmF0aXZlRXZlbnQubG9jYWxlID09PSAna28nO1xcbn0gLy8gVHJhY2sgdGhlIGN1cnJlbnQgSU1FIGNvbXBvc2l0aW9uIHN0YXR1cywgaWYgYW55LlxcblxcblxcbnZhciBpc0NvbXBvc2luZyA9IGZhbHNlO1xcbi8qKlxcbiAqIEByZXR1cm4gez9vYmplY3R9IEEgU3ludGhldGljQ29tcG9zaXRpb25FdmVudC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBleHRyYWN0Q29tcG9zaXRpb25FdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xcbiAgdmFyIGV2ZW50VHlwZTtcXG4gIHZhciBmYWxsYmFja0RhdGE7XFxuXFxuICBpZiAoY2FuVXNlQ29tcG9zaXRpb25FdmVudCkge1xcbiAgICBldmVudFR5cGUgPSBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZSh0b3BMZXZlbFR5cGUpO1xcbiAgfSBlbHNlIGlmICghaXNDb21wb3NpbmcpIHtcXG4gICAgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpKSB7XFxuICAgICAgZXZlbnRUeXBlID0gZXZlbnRUeXBlcy5jb21wb3NpdGlvblN0YXJ0O1xcbiAgICB9XFxuICB9IGVsc2UgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KSkge1xcbiAgICBldmVudFR5cGUgPSBldmVudFR5cGVzLmNvbXBvc2l0aW9uRW5kO1xcbiAgfVxcblxcbiAgaWYgKCFldmVudFR5cGUpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBpZiAodXNlRmFsbGJhY2tDb21wb3NpdGlvbkRhdGEgJiYgIWlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpKSB7XFxuICAgIC8vIFRoZSBjdXJyZW50IGNvbXBvc2l0aW9uIGlzIHN0b3JlZCBzdGF0aWNhbGx5IGFuZCBtdXN0IG5vdCBiZVxcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXFxuICAgIGlmICghaXNDb21wb3NpbmcgJiYgZXZlbnRUeXBlID09PSBldmVudFR5cGVzLmNvbXBvc2l0aW9uU3RhcnQpIHtcXG4gICAgICBpc0NvbXBvc2luZyA9IGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gZXZlbnRUeXBlcy5jb21wb3NpdGlvbkVuZCkge1xcbiAgICAgIGlmIChpc0NvbXBvc2luZykge1xcbiAgICAgICAgZmFsbGJhY2tEYXRhID0gZ2V0RGF0YSgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGV2ZW50ID0gU3ludGhldGljQ29tcG9zaXRpb25FdmVudC5nZXRQb29sZWQoZXZlbnRUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcblxcbiAgaWYgKGZhbGxiYWNrRGF0YSkge1xcbiAgICAvLyBJbmplY3QgZGF0YSBnZW5lcmF0ZWQgZnJvbSBmYWxsYmFjayBwYXRoIGludG8gdGhlIHN5bnRoZXRpYyBldmVudC5cXG4gICAgLy8gVGhpcyBtYXRjaGVzIHRoZSBwcm9wZXJ0eSBvZiBuYXRpdmUgQ29tcG9zaXRpb25FdmVudEludGVyZmFjZS5cXG4gICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBjdXN0b21EYXRhID0gZ2V0RGF0YUZyb21DdXN0b21FdmVudChuYXRpdmVFdmVudCk7XFxuXFxuICAgIGlmIChjdXN0b21EYXRhICE9PSBudWxsKSB7XFxuICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnQpO1xcbiAgcmV0dXJuIGV2ZW50O1xcbn1cXG4vKipcXG4gKiBAcGFyYW0ge1RvcExldmVsVHlwZX0gdG9wTGV2ZWxUeXBlIE51bWJlciBmcm9tIGBUb3BMZXZlbFR5cGVgLlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cXG4gKiBAcmV0dXJuIHs/c3RyaW5nfSBUaGUgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBgYmVmb3JlSW5wdXRgIGV2ZW50LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnModG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fRU5EOlxcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcXG5cXG4gICAgY2FzZSBUT1BfS0VZX1BSRVNTOlxcbiAgICAgIC8qKlxcbiAgICAgICAqIElmIG5hdGl2ZSBgdGV4dElucHV0YCBldmVudHMgYXJlIGF2YWlsYWJsZSwgb3VyIGdvYWwgaXMgdG8gbWFrZVxcbiAgICAgICAqIHVzZSBvZiB0aGVtLiBIb3dldmVyLCB0aGVyZSBpcyBhIHNwZWNpYWwgY2FzZTogdGhlIHNwYWNlYmFyIGtleS5cXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XFxuICAgICAgICogY2FuY2VscyBjaGFyYWN0ZXIgaW5zZXJ0aW9uLCBidXQgaXQgKmFsc28qIGNhdXNlcyB0aGUgYnJvd3NlclxcbiAgICAgICAqIHRvIGZhbGwgYmFjayB0byBpdHMgZGVmYXVsdCBzcGFjZWJhciBiZWhhdmlvciBvZiBzY3JvbGxpbmcgdGhlXFxuICAgICAgICogcGFnZS5cXG4gICAgICAgKlxcbiAgICAgICAqIFRyYWNraW5nIGF0OlxcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcXG4gICAgICAgKlxcbiAgICAgICAqIFRvIGF2b2lkIHRoaXMgaXNzdWUsIHVzZSB0aGUga2V5cHJlc3MgZXZlbnQgYXMgaWYgbm8gYHRleHRJbnB1dGBcXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXFxuICAgICAgICovXFxuICAgICAgdmFyIHdoaWNoID0gbmF0aXZlRXZlbnQud2hpY2g7XFxuXFxuICAgICAgaWYgKHdoaWNoICE9PSBTUEFDRUJBUl9DT0RFKSB7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgaGFzU3BhY2VLZXlwcmVzcyA9IHRydWU7XFxuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XFxuXFxuICAgIGNhc2UgVE9QX1RFWFRfSU5QVVQ6XFxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXFxuICAgICAgdmFyIGNoYXJzID0gbmF0aXZlRXZlbnQuZGF0YTsgLy8gSWYgaXQncyBhIHNwYWNlYmFyIGNoYXJhY3RlciwgYXNzdW1lIHRoYXQgd2UgaGF2ZSBhbHJlYWR5IGhhbmRsZWRcXG4gICAgICAvLyBpdCBhdCB0aGUga2V5cHJlc3MgbGV2ZWwgYW5kIGJhaWwgaW1tZWRpYXRlbHkuIEFuZHJvaWQgQ2hyb21lXFxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cXG5cXG4gICAgICBpZiAoY2hhcnMgPT09IFNQQUNFQkFSX0NIQVIgJiYgaGFzU3BhY2VLZXlwcmVzcykge1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiBjaGFycztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxcbiAgICAgIHJldHVybiBudWxsO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBGb3IgYnJvd3NlcnMgdGhhdCBkbyBub3QgcHJvdmlkZSB0aGUgYHRleHRJbnB1dGAgZXZlbnQsIGV4dHJhY3QgdGhlXFxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cXG4gKlxcbiAqIEBwYXJhbSB7bnVtYmVyfSB0b3BMZXZlbFR5cGUgTnVtYmVyIGZyb20gYFRvcExldmVsRXZlbnRUeXBlc2AuXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxcbiAqIEByZXR1cm4gez9zdHJpbmd9IFRoZSBmYWxsYmFjayBzdHJpbmcgZm9yIHRoaXMgYGJlZm9yZUlucHV0YCBldmVudC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRGYWxsYmFja0JlZm9yZUlucHV0Q2hhcnModG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBjb21wb3NpbmcgKElNRSkgYW5kIHVzaW5nIGEgZmFsbGJhY2sgdG8gZG8gc28sXFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXFxuICAvLyBJZiBjb21wb3NpdGlvbiBldmVudCBpcyBhdmFpbGFibGUsIHdlIGV4dHJhY3QgYSBzdHJpbmcgb25seSBhdFxcbiAgLy8gY29tcG9zaXRpb25ldmVudCwgb3RoZXJ3aXNlIGV4dHJhY3QgaXQgYXQgZmFsbGJhY2sgZXZlbnRzLlxcbiAgaWYgKGlzQ29tcG9zaW5nKSB7XFxuICAgIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9DT01QT1NJVElPTl9FTkQgfHwgIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgJiYgaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpKSB7XFxuICAgICAgdmFyIGNoYXJzID0gZ2V0RGF0YSgpO1xcbiAgICAgIHJlc2V0KCk7XFxuICAgICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcXG4gICAgICByZXR1cm4gY2hhcnM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xcbiAgICBjYXNlIFRPUF9QQVNURTpcXG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XFxuICAgICAgLy8gY2hhcnMuIFBhc3RlIGV2ZW50cyBzaG91bGQgbm90IGxlYWQgdG8gQmVmb3JlSW5wdXQgZXZlbnRzLlxcbiAgICAgIHJldHVybiBudWxsO1xcblxcbiAgICBjYXNlIFRPUF9LRVlfUFJFU1M6XFxuICAgICAgLyoqXFxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXFxuICAgICAgICogd2lsbCBiZSBpbnNlcnRlZC4gQSBmZXcgcG9zc2liaWxpdGllczpcXG4gICAgICAgKlxcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cXG4gICAgICAgKlxcbiAgICAgICAqIC0gYHdoaWNoYCBpcyB0aGUgcHJlc3NlZCBrZXkgY29kZSwgYnV0IG5vIGNoYXIgaXMgYXZhaWxhYmxlLlxcbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxcbiAgICAgICAqICAgdGhpcyBrZXkgY29tYmluYXRpb24gYW5kIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZCBpbnRvIHRoZVxcbiAgICAgICAqICAgZG9jdW1lbnQsIGJ1dCBGRiBmaXJlcyB0aGUga2V5cHJlc3MgZm9yIGNoYXIgY29kZSBgMTAwYCBhbnl3YXkuXFxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXFxuICAgICAgICpcXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBhIGNvbW1hbmQgY29tYmluYXRpb24gaXNcXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xcbiAgICAgICAqICAgYGlucHV0YCBldmVudCB3aWxsIG9jY3VyLlxcbiAgICAgICAqL1xcbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XFxuICAgICAgICAvLyBJRSBmaXJlcyB0aGUgYGtleXByZXNzYCBldmVudCB3aGVuIGEgdXNlciB0eXBlcyBhbiBlbW9qaSB2aWFcXG4gICAgICAgIC8vIFRvdWNoIGtleWJvYXJkIG9mIFdpbmRvd3MuICBJbiBzdWNoIGEgY2FzZSwgdGhlIGBjaGFyYCBwcm9wZXJ0eVxcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcXFx1RDgzRFxcXFx1REUwQWAuICBCZWNhdXNlIGl0cyBsZW5ndGhcXG4gICAgICAgIC8vIGlzIDIsIHRoZSBwcm9wZXJ0eSBgd2hpY2hgIGRvZXMgbm90IHJlcHJlc2VudCBhbiBlbW9qaSBjb3JyZWN0bHkuXFxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxcbiAgICAgICAgLy8gdXNpbmcgYHdoaWNoYC5cXG4gICAgICAgIGlmIChuYXRpdmVFdmVudC5jaGFyICYmIG5hdGl2ZUV2ZW50LmNoYXIubGVuZ3RoID4gMSkge1xcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcXG4gICAgICAgIH0gZWxzZSBpZiAobmF0aXZlRXZlbnQud2hpY2gpIHtcXG4gICAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUobmF0aXZlRXZlbnQud2hpY2gpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gbnVsbDtcXG5cXG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fRU5EOlxcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG59XFxuLyoqXFxuICogRXh0cmFjdCBhIFN5bnRoZXRpY0lucHV0RXZlbnQgZm9yIGBiZWZvcmVJbnB1dGAsIGJhc2VkIG9uIGVpdGhlciBuYXRpdmVcXG4gKiBgdGV4dElucHV0YCBvciBmYWxsYmFjayBiZWhhdmlvci5cXG4gKlxcbiAqIEByZXR1cm4gez9vYmplY3R9IEEgU3ludGhldGljSW5wdXRFdmVudC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBleHRyYWN0QmVmb3JlSW5wdXRFdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xcbiAgdmFyIGNoYXJzO1xcblxcbiAgaWYgKGNhblVzZVRleHRJbnB1dEV2ZW50KSB7XFxuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcXG4gIH0gZWxzZSB7XFxuICAgIGNoYXJzID0gZ2V0RmFsbGJhY2tCZWZvcmVJbnB1dENoYXJzKHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpO1xcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXFxuICAvLyBiZSBmaXJlZC5cXG5cXG5cXG4gIGlmICghY2hhcnMpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICB2YXIgZXZlbnQgPSBTeW50aGV0aWNJbnB1dEV2ZW50LmdldFBvb2xlZChldmVudFR5cGVzLmJlZm9yZUlucHV0LCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgZXZlbnQuZGF0YSA9IGNoYXJzO1xcbiAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhldmVudCk7XFxuICByZXR1cm4gZXZlbnQ7XFxufVxcbi8qKlxcbiAqIENyZWF0ZSBhbiBgb25CZWZvcmVJbnB1dGAgZXZlbnQgdG8gbWF0Y2hcXG4gKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNS8jZXZlbnRzLWlucHV0ZXZlbnRzLlxcbiAqXFxuICogVGhpcyBldmVudCBwbHVnaW4gaXMgYmFzZWQgb24gdGhlIG5hdGl2ZSBgdGV4dElucHV0YCBldmVudFxcbiAqIGF2YWlsYWJsZSBpbiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEsIGFuZCBJRS4gVGhpcyBldmVudCBmaXJlcyBhZnRlclxcbiAqIGBvbktleVByZXNzYCBhbmQgYG9uQ29tcG9zaXRpb25FbmRgLCBidXQgYmVmb3JlIGBvbklucHV0YC5cXG4gKlxcbiAqIGBiZWZvcmVJbnB1dGAgaXMgc3BlYydkIGJ1dCBub3QgaW1wbGVtZW50ZWQgaW4gYW55IGJyb3dzZXJzLCBhbmRcXG4gKiB0aGUgYGlucHV0YCBldmVudCBkb2VzIG5vdCBwcm92aWRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBoYXNcXG4gKiBhY3R1YWxseSBiZWVuIGFkZGVkLCBjb250cmFyeSB0byB0aGUgc3BlYy4gVGh1cywgYHRleHRJbnB1dGAgaXMgdGhlIGJlc3RcXG4gKiBhdmFpbGFibGUgZXZlbnQgdG8gaWRlbnRpZnkgdGhlIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGFjdHVhbGx5IGJlZW4gaW5zZXJ0ZWRcXG4gKiBpbnRvIHRoZSB0YXJnZXQgbm9kZS5cXG4gKlxcbiAqIFRoaXMgcGx1Z2luIGlzIGFsc28gcmVzcG9uc2libGUgZm9yIGVtaXR0aW5nIGBjb21wb3NpdGlvbmAgZXZlbnRzLCB0aHVzXFxuICogYWxsb3dpbmcgdXMgdG8gc2hhcmUgY29tcG9zaXRpb24gZmFsbGJhY2sgY29kZSBmb3IgYm90aCBgYmVmb3JlSW5wdXRgIGFuZFxcbiAqIGBjb21wb3NpdGlvbmAgZXZlbnQgdHlwZXMuXFxuICovXFxuXFxuXFxudmFyIEJlZm9yZUlucHV0RXZlbnRQbHVnaW4gPSB7XFxuICBldmVudFR5cGVzOiBldmVudFR5cGVzLFxcbiAgZXh0cmFjdEV2ZW50czogZnVuY3Rpb24gKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzKSB7XFxuICAgIHZhciBjb21wb3NpdGlvbiA9IGV4dHJhY3RDb21wb3NpdGlvbkV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgdmFyIGJlZm9yZUlucHV0ID0gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcblxcbiAgICBpZiAoY29tcG9zaXRpb24gPT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gYmVmb3JlSW5wdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJlZm9yZUlucHV0ID09PSBudWxsKSB7XFxuICAgICAgcmV0dXJuIGNvbXBvc2l0aW9uO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBbY29tcG9zaXRpb24sIGJlZm9yZUlucHV0XTtcXG4gIH1cXG59O1xcblxcbi8qKlxcbiAqIEBzZWUgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWlucHV0LWVsZW1lbnQuaHRtbCNpbnB1dC10eXBlLWF0dHItc3VtbWFyeVxcbiAqL1xcbnZhciBzdXBwb3J0ZWRJbnB1dFR5cGVzID0ge1xcbiAgY29sb3I6IHRydWUsXFxuICBkYXRlOiB0cnVlLFxcbiAgZGF0ZXRpbWU6IHRydWUsXFxuICAnZGF0ZXRpbWUtbG9jYWwnOiB0cnVlLFxcbiAgZW1haWw6IHRydWUsXFxuICBtb250aDogdHJ1ZSxcXG4gIG51bWJlcjogdHJ1ZSxcXG4gIHBhc3N3b3JkOiB0cnVlLFxcbiAgcmFuZ2U6IHRydWUsXFxuICBzZWFyY2g6IHRydWUsXFxuICB0ZWw6IHRydWUsXFxuICB0ZXh0OiB0cnVlLFxcbiAgdGltZTogdHJ1ZSxcXG4gIHVybDogdHJ1ZSxcXG4gIHdlZWs6IHRydWVcXG59O1xcblxcbmZ1bmN0aW9uIGlzVGV4dElucHV0RWxlbWVudChlbGVtKSB7XFxuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xcblxcbiAgaWYgKG5vZGVOYW1lID09PSAnaW5wdXQnKSB7XFxuICAgIHJldHVybiAhIXN1cHBvcnRlZElucHV0VHlwZXNbZWxlbS50eXBlXTtcXG4gIH1cXG5cXG4gIGlmIChub2RlTmFtZSA9PT0gJ3RleHRhcmVhJykge1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuXFxudmFyIGV2ZW50VHlwZXMkMSA9IHtcXG4gIGNoYW5nZToge1xcbiAgICBwaGFzZWRSZWdpc3RyYXRpb25OYW1lczoge1xcbiAgICAgIGJ1YmJsZWQ6ICdvbkNoYW5nZScsXFxuICAgICAgY2FwdHVyZWQ6ICdvbkNoYW5nZUNhcHR1cmUnXFxuICAgIH0sXFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ0hBTkdFLCBUT1BfQ0xJQ0ssIFRPUF9GT0NVUywgVE9QX0lOUFVULCBUT1BfS0VZX0RPV04sIFRPUF9LRVlfVVAsIFRPUF9TRUxFQ1RJT05fQ0hBTkdFXVxcbiAgfVxcbn07XFxuXFxuZnVuY3Rpb24gY3JlYXRlQW5kQWNjdW11bGF0ZUNoYW5nZUV2ZW50KGluc3QsIG5hdGl2ZUV2ZW50LCB0YXJnZXQpIHtcXG4gIHZhciBldmVudCA9IFN5bnRoZXRpY0V2ZW50LmdldFBvb2xlZChldmVudFR5cGVzJDEuY2hhbmdlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KTtcXG4gIGV2ZW50LnR5cGUgPSAnY2hhbmdlJzsgLy8gRmxhZyB0aGlzIGV2ZW50IGxvb3AgYXMgbmVlZGluZyBzdGF0ZSByZXN0b3JlLlxcblxcbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xcbiAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhldmVudCk7XFxuICByZXR1cm4gZXZlbnQ7XFxufVxcbi8qKlxcbiAqIEZvciBJRSBzaGltc1xcbiAqL1xcblxcblxcbnZhciBhY3RpdmVFbGVtZW50ID0gbnVsbDtcXG52YXIgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xcbi8qKlxcbiAqIFNFQ1RJT046IGhhbmRsZSBgY2hhbmdlYCBldmVudFxcbiAqL1xcblxcbmZ1bmN0aW9uIHNob3VsZFVzZUNoYW5nZUV2ZW50KGVsZW0pIHtcXG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgcmV0dXJuIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fCBub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiBlbGVtLnR5cGUgPT09ICdmaWxlJztcXG59XFxuXFxuZnVuY3Rpb24gbWFudWFsRGlzcGF0Y2hDaGFuZ2VFdmVudChuYXRpdmVFdmVudCkge1xcbiAgdmFyIGV2ZW50ID0gY3JlYXRlQW5kQWNjdW11bGF0ZUNoYW5nZUV2ZW50KGFjdGl2ZUVsZW1lbnRJbnN0LCBuYXRpdmVFdmVudCwgZ2V0RXZlbnRUYXJnZXQobmF0aXZlRXZlbnQpKTsgLy8gSWYgY2hhbmdlIGFuZCBwcm9wZXJ0eWNoYW5nZSBidWJibGVkLCB3ZSdkIGp1c3QgYmluZCB0byBpdCBsaWtlIGFsbCB0aGVcXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcXG4gIC8vIGRvZXNuJ3QsIHdlIG1hbnVhbGx5IGxpc3RlbiBmb3IgdGhlIGV2ZW50cyBhbmQgc28gd2UgaGF2ZSB0byBlbnF1ZXVlIGFuZFxcbiAgLy8gcHJvY2VzcyB0aGUgYWJzdHJhY3QgZXZlbnQgbWFudWFsbHkuXFxuICAvL1xcbiAgLy8gQmF0Y2hpbmcgaXMgbmVjZXNzYXJ5IGhlcmUgaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgYWxsIGV2ZW50IGhhbmRsZXJzIHJ1blxcbiAgLy8gYmVmb3JlIHRoZSBuZXh0IHJlcmVuZGVyIChpbmNsdWRpbmcgZXZlbnQgaGFuZGxlcnMgYXR0YWNoZWQgdG8gYW5jZXN0b3JcXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXFxuICAvLyBjb21wb25lbnRzIGRvbid0IHdvcmsgcHJvcGVybHkgaW4gY29uanVuY3Rpb24gd2l0aCBldmVudCBidWJibGluZyBiZWNhdXNlXFxuICAvLyB0aGUgY29tcG9uZW50IGlzIHJlcmVuZGVyZWQgYW5kIHRoZSB2YWx1ZSByZXZlcnRlZCBiZWZvcmUgYWxsIHRoZSBldmVudFxcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxcblxcbiAgYmF0Y2hlZFVwZGF0ZXMocnVuRXZlbnRJbkJhdGNoLCBldmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChldmVudCkge1xcbiAgcnVuRXZlbnRzSW5CYXRjaChldmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KSB7XFxuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UkMSh0YXJnZXRJbnN0KTtcXG5cXG4gIGlmICh1cGRhdGVWYWx1ZUlmQ2hhbmdlZCh0YXJnZXROb2RlKSkge1xcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0NIQU5HRSkge1xcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcXG4gIH1cXG59XFxuLyoqXFxuICogU0VDVElPTjogaGFuZGxlIGBpbnB1dGAgZXZlbnRcXG4gKi9cXG5cXG5cXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XFxuXFxuaWYgKGNhblVzZURPTSkge1xcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXFxuICAvLyBkZWxldGluZyB0ZXh0LCBzbyB3ZSBpZ25vcmUgaXRzIGlucHV0IGV2ZW50cy5cXG4gIGlzSW5wdXRFdmVudFN1cHBvcnRlZCA9IGlzRXZlbnRTdXBwb3J0ZWQoJ2lucHV0JykgJiYgKCFkb2N1bWVudC5kb2N1bWVudE1vZGUgfHwgZG9jdW1lbnQuZG9jdW1lbnRNb2RlID4gOSk7XFxufVxcbi8qKlxcbiAqIChGb3IgSUUgPD05KSBTdGFydHMgdHJhY2tpbmcgcHJvcGVydHljaGFuZ2UgZXZlbnRzIG9uIHRoZSBwYXNzZWQtaW4gZWxlbWVudFxcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxcbiAqIHZhbHVlIGNoYW5nZXMgaW4gSlMuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCkge1xcbiAgYWN0aXZlRWxlbWVudCA9IHRhcmdldDtcXG4gIGFjdGl2ZUVsZW1lbnRJbnN0ID0gdGFyZ2V0SW5zdDtcXG4gIGFjdGl2ZUVsZW1lbnQuYXR0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XFxufVxcbi8qKlxcbiAqIChGb3IgSUUgPD05KSBSZW1vdmVzIHRoZSBldmVudCBsaXN0ZW5lcnMgZnJvbSB0aGUgY3VycmVudGx5LXRyYWNrZWQgZWxlbWVudCxcXG4gKiBpZiBhbnkgZXhpc3RzLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCkge1xcbiAgaWYgKCFhY3RpdmVFbGVtZW50KSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIGFjdGl2ZUVsZW1lbnQuZGV0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XFxuICBhY3RpdmVFbGVtZW50ID0gbnVsbDtcXG4gIGFjdGl2ZUVsZW1lbnRJbnN0ID0gbnVsbDtcXG59XFxuLyoqXFxuICogKEZvciBJRSA8PTkpIEhhbmRsZXMgYSBwcm9wZXJ0eWNoYW5nZSBldmVudCwgc2VuZGluZyBhIGBjaGFuZ2VgIGV2ZW50IGlmXFxuICogdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmUgZWxlbWVudCBoYXMgY2hhbmdlZC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBoYW5kbGVQcm9wZXJ0eUNoYW5nZShuYXRpdmVFdmVudCkge1xcbiAgaWYgKG5hdGl2ZUV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3ZhbHVlJykge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KSkge1xcbiAgICBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFuZGxlRXZlbnRzRm9ySW5wdXRFdmVudFBvbHlmaWxsKHRvcExldmVsVHlwZSwgdGFyZ2V0LCB0YXJnZXRJbnN0KSB7XFxuICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfRk9DVVMpIHtcXG4gICAgLy8gSW4gSUU5LCBwcm9wZXJ0eWNoYW5nZSBmaXJlcyBmb3IgbW9zdCBpbnB1dCBldmVudHMgYnV0IGlzIGJ1Z2d5IGFuZFxcbiAgICAvLyBkb2Vzbid0IGZpcmUgd2hlbiB0ZXh0IGlzIGRlbGV0ZWQsIGJ1dCBjb252ZW5pZW50bHksIHNlbGVjdGlvbmNoYW5nZVxcbiAgICAvLyBhcHBlYXJzIHRvIGZpcmUgaW4gYWxsIG9mIHRoZSByZW1haW5pbmcgY2FzZXMgc28gd2UgY2F0Y2ggdGhvc2UgYW5kXFxuICAgIC8vIGZvcndhcmQgdGhlIGV2ZW50IGlmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZFxcbiAgICAvLyBJbiBlaXRoZXIgY2FzZSwgd2UgZG9uJ3Qgd2FudCB0byBjYWxsIHRoZSBldmVudCBoYW5kbGVyIGlmIHRoZSB2YWx1ZVxcbiAgICAvLyBpcyBjaGFuZ2VkIGZyb20gSlMgc28gd2UgcmVkZWZpbmUgYSBzZXR0ZXIgZm9yIGAudmFsdWVgIHRoYXQgdXBkYXRlc1xcbiAgICAvLyBvdXIgYWN0aXZlRWxlbWVudFZhbHVlIHZhcmlhYmxlLCBhbGxvd2luZyB1cyB0byBpZ25vcmUgdGhvc2UgY2hhbmdlc1xcbiAgICAvL1xcbiAgICAvLyBzdG9wV2F0Y2hpbmcoKSBzaG91bGQgYmUgYSBub29wIGhlcmUgYnV0IHdlIGNhbGwgaXQganVzdCBpbiBjYXNlIHdlXFxuICAgIC8vIG1pc3NlZCBhIGJsdXIgZXZlbnQgc29tZWhvdy5cXG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcXG4gICAgc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCk7XFxuICB9IGVsc2UgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0JMVVIpIHtcXG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcXG4gIH1cXG59IC8vIEZvciBJRTggYW5kIElFOS5cXG5cXG5cXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX1NFTEVDVElPTl9DSEFOR0UgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfS0VZX1VQIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX0tFWV9ET1dOKSB7XFxuICAgIC8vIE9uIHRoZSBzZWxlY3Rpb25jaGFuZ2UgZXZlbnQsIHRoZSB0YXJnZXQgaXMganVzdCBkb2N1bWVudCB3aGljaCBpc24ndFxcbiAgICAvLyBoZWxwZnVsIGZvciB1cyBzbyBqdXN0IGNoZWNrIGFjdGl2ZUVsZW1lbnQgaW5zdGVhZC5cXG4gICAgLy9cXG4gICAgLy8gOTklIG9mIHRoZSB0aW1lLCBrZXlkb3duIGFuZCBrZXl1cCBhcmVuJ3QgbmVjZXNzYXJ5LiBJRTggZmFpbHMgdG8gZmlyZVxcbiAgICAvLyBwcm9wZXJ0eWNoYW5nZSBvbiB0aGUgZmlyc3QgaW5wdXQgZXZlbnQgYWZ0ZXIgc2V0dGluZyBgdmFsdWVgIGZyb20gYVxcbiAgICAvLyBzY3JpcHQgYW5kIGZpcmVzIG9ubHkga2V5ZG93biwga2V5cHJlc3MsIGtleXVwLiBDYXRjaGluZyBrZXl1cCB1c3VhbGx5XFxuICAgIC8vIGdldHMgaXQgYW5kIGNhdGNoaW5nIGtleWRvd24gbGV0cyB1cyBmaXJlIGFuIGV2ZW50IGZvciB0aGUgZmlyc3RcXG4gICAgLy8ga2V5c3Ryb2tlIGlmIHVzZXIgZG9lcyBhIGtleSByZXBlYXQgKGl0J2xsIGJlIGEgbGl0dGxlIGRlbGF5ZWQ6IHJpZ2h0XFxuICAgIC8vIGJlZm9yZSB0aGUgc2Vjb25kIGtleXN0cm9rZSkuIE90aGVyIGlucHV0IG1ldGhvZHMgKGUuZy4sIHBhc3RlKSBzZWVtIHRvXFxuICAgIC8vIGZpcmUgc2VsZWN0aW9uY2hhbmdlIG5vcm1hbGx5LlxcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KTtcXG4gIH1cXG59XFxuLyoqXFxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBzaG91bGRVc2VDbGlja0V2ZW50KGVsZW0pIHtcXG4gIC8vIFVzZSB0aGUgYGNsaWNrYCBldmVudCB0byBkZXRlY3QgY2hhbmdlcyB0byBjaGVja2JveCBhbmQgcmFkaW8gaW5wdXRzLlxcbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcXG4gIC8vIHVudGlsIGBibHVyYCBpbiBJRTguXFxuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QpIHtcXG4gIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9DTElDSykge1xcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKHRhcmdldEluc3QpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRPckNoYW5nZUV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0lOUFVUIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX0NIQU5HRSkge1xcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKHRhcmdldEluc3QpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUpIHtcXG4gIHZhciBzdGF0ZSA9IG5vZGUuX3dyYXBwZXJTdGF0ZTtcXG5cXG4gIGlmICghc3RhdGUgfHwgIXN0YXRlLmNvbnRyb2xsZWQgfHwgbm9kZS50eXBlICE9PSAnbnVtYmVyJykge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB7XFxuICAgIC8vIElmIGNvbnRyb2xsZWQsIGFzc2lnbiB0aGUgdmFsdWUgYXR0cmlidXRlIHRvIHRoZSBjdXJyZW50IHZhbHVlIG9uIGJsdXJcXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcXG4gIH1cXG59XFxuLyoqXFxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25DaGFuZ2VgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBjaGFuZ2UgZXZlbnRzXFxuICogYWNyb3NzIGZvcm0gZWxlbWVudHMuIFRoaXMgZXZlbnQgZmlyZXMgYXQgYSB0aW1lIHdoZW4gaXQncyBwb3NzaWJsZSB0b1xcbiAqIGNoYW5nZSB0aGUgZWxlbWVudCdzIHZhbHVlIHdpdGhvdXQgc2VlaW5nIGEgZmxpY2tlci5cXG4gKlxcbiAqIFN1cHBvcnRlZCBlbGVtZW50cyBhcmU6XFxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxcbiAqIC0gdGV4dGFyZWFcXG4gKiAtIHNlbGVjdFxcbiAqL1xcblxcblxcbnZhciBDaGFuZ2VFdmVudFBsdWdpbiA9IHtcXG4gIGV2ZW50VHlwZXM6IGV2ZW50VHlwZXMkMSxcXG4gIF9pc0lucHV0RXZlbnRTdXBwb3J0ZWQ6IGlzSW5wdXRFdmVudFN1cHBvcnRlZCxcXG4gIGV4dHJhY3RFdmVudHM6IGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgICB2YXIgdGFyZ2V0Tm9kZSA9IHRhcmdldEluc3QgPyBnZXROb2RlRnJvbUluc3RhbmNlJDEodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XFxuICAgIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xcblxcbiAgICBpZiAoc2hvdWxkVXNlQ2hhbmdlRXZlbnQodGFyZ2V0Tm9kZSkpIHtcXG4gICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JDaGFuZ2VFdmVudDtcXG4gICAgfSBlbHNlIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkpIHtcXG4gICAgICBpZiAoaXNJbnB1dEV2ZW50U3VwcG9ydGVkKSB7XFxuICAgICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JJbnB1dE9yQ2hhbmdlRXZlbnQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbDtcXG4gICAgICAgIGhhbmRsZUV2ZW50RnVuYyA9IGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoc2hvdWxkVXNlQ2xpY2tFdmVudCh0YXJnZXROb2RlKSkge1xcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNsaWNrRXZlbnQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGdldFRhcmdldEluc3RGdW5jKSB7XFxuICAgICAgdmFyIGluc3QgPSBnZXRUYXJnZXRJbnN0RnVuYyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QpO1xcblxcbiAgICAgIGlmIChpbnN0KSB7XFxuICAgICAgICB2YXIgZXZlbnQgPSBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoaW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgICAgIHJldHVybiBldmVudDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGhhbmRsZUV2ZW50RnVuYykge1xcbiAgICAgIGhhbmRsZUV2ZW50RnVuYyh0b3BMZXZlbFR5cGUsIHRhcmdldE5vZGUsIHRhcmdldEluc3QpO1xcbiAgICB9IC8vIFdoZW4gYmx1cnJpbmcsIHNldCB0aGUgdmFsdWUgYXR0cmlidXRlIGZvciBudW1iZXIgaW5wdXRzXFxuXFxuXFxuICAgIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9CTFVSKSB7XFxuICAgICAgaGFuZGxlQ29udHJvbGxlZElucHV0Qmx1cih0YXJnZXROb2RlKTtcXG4gICAgfVxcbiAgfVxcbn07XFxuXFxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xcbiAgdmlldzogbnVsbCxcXG4gIGRldGFpbDogbnVsbFxcbn0pO1xcblxcbi8qKlxcbiAqIFRyYW5zbGF0aW9uIGZyb20gbW9kaWZpZXIga2V5IHRvIHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IGluIHRoZSBldmVudC5cXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8ja2V5cy1Nb2RpZmllcnNcXG4gKi9cXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XFxuICBBbHQ6ICdhbHRLZXknLFxcbiAgQ29udHJvbDogJ2N0cmxLZXknLFxcbiAgTWV0YTogJ21ldGFLZXknLFxcbiAgU2hpZnQ6ICdzaGlmdEtleSdcXG59OyAvLyBPbGRlciBicm93c2VycyAoU2FmYXJpIDw9IDEwLCBpT1MgU2FmYXJpIDw9IDEwLjIpIGRvIG5vdCBzdXBwb3J0XFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2ZcXG4vLyBtb2RpZmllciBrZXlzIGV4cG9zZWQgYnkgdGhlIGV2ZW50LiBJbiB0aGlzIGNhc2UsIExvY2sta2V5cyBhcmUgbm90IHN1cHBvcnRlZC5cXG5cXG5mdW5jdGlvbiBtb2RpZmllclN0YXRlR2V0dGVyKGtleUFyZykge1xcbiAgdmFyIHN5bnRoZXRpY0V2ZW50ID0gdGhpcztcXG4gIHZhciBuYXRpdmVFdmVudCA9IHN5bnRoZXRpY0V2ZW50Lm5hdGl2ZUV2ZW50O1xcblxcbiAgaWYgKG5hdGl2ZUV2ZW50LmdldE1vZGlmaWVyU3RhdGUpIHtcXG4gICAgcmV0dXJuIG5hdGl2ZUV2ZW50LmdldE1vZGlmaWVyU3RhdGUoa2V5QXJnKTtcXG4gIH1cXG5cXG4gIHZhciBrZXlQcm9wID0gbW9kaWZpZXJLZXlUb1Byb3Bba2V5QXJnXTtcXG4gIHJldHVybiBrZXlQcm9wID8gISFuYXRpdmVFdmVudFtrZXlQcm9wXSA6IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRFdmVudE1vZGlmaWVyU3RhdGUobmF0aXZlRXZlbnQpIHtcXG4gIHJldHVybiBtb2RpZmllclN0YXRlR2V0dGVyO1xcbn1cXG5cXG52YXIgcHJldmlvdXNTY3JlZW5YID0gMDtcXG52YXIgcHJldmlvdXNTY3JlZW5ZID0gMDsgLy8gVXNlIGZsYWdzIHRvIHNpZ25hbCBtb3ZlbWVudFgvWSBoYXMgYWxyZWFkeSBiZWVuIHNldFxcblxcbnZhciBpc01vdmVtZW50WFNldCA9IGZhbHNlO1xcbnZhciBpc01vdmVtZW50WVNldCA9IGZhbHNlO1xcbi8qKlxcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNNb3VzZUV2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xcbiAgc2NyZWVuWDogbnVsbCxcXG4gIHNjcmVlblk6IG51bGwsXFxuICBjbGllbnRYOiBudWxsLFxcbiAgY2xpZW50WTogbnVsbCxcXG4gIHBhZ2VYOiBudWxsLFxcbiAgcGFnZVk6IG51bGwsXFxuICBjdHJsS2V5OiBudWxsLFxcbiAgc2hpZnRLZXk6IG51bGwsXFxuICBhbHRLZXk6IG51bGwsXFxuICBtZXRhS2V5OiBudWxsLFxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlLFxcbiAgYnV0dG9uOiBudWxsLFxcbiAgYnV0dG9uczogbnVsbCxcXG4gIHJlbGF0ZWRUYXJnZXQ6IGZ1bmN0aW9uIChldmVudCkge1xcbiAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldCB8fCAoZXZlbnQuZnJvbUVsZW1lbnQgPT09IGV2ZW50LnNyY0VsZW1lbnQgPyBldmVudC50b0VsZW1lbnQgOiBldmVudC5mcm9tRWxlbWVudCk7XFxuICB9LFxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgaWYgKCdtb3ZlbWVudFgnIGluIGV2ZW50KSB7XFxuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WDtcXG4gICAgfVxcblxcbiAgICB2YXIgc2NyZWVuWCA9IHByZXZpb3VzU2NyZWVuWDtcXG4gICAgcHJldmlvdXNTY3JlZW5YID0gZXZlbnQuc2NyZWVuWDtcXG5cXG4gICAgaWYgKCFpc01vdmVtZW50WFNldCkge1xcbiAgICAgIGlzTW92ZW1lbnRYU2V0ID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScgPyBldmVudC5zY3JlZW5YIC0gc2NyZWVuWCA6IDA7XFxuICB9LFxcbiAgbW92ZW1lbnRZOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgaWYgKCdtb3ZlbWVudFknIGluIGV2ZW50KSB7XFxuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WTtcXG4gICAgfVxcblxcbiAgICB2YXIgc2NyZWVuWSA9IHByZXZpb3VzU2NyZWVuWTtcXG4gICAgcHJldmlvdXNTY3JlZW5ZID0gZXZlbnQuc2NyZWVuWTtcXG5cXG4gICAgaWYgKCFpc01vdmVtZW50WVNldCkge1xcbiAgICAgIGlzTW92ZW1lbnRZU2V0ID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScgPyBldmVudC5zY3JlZW5ZIC0gc2NyZWVuWSA6IDA7XFxuICB9XFxufSk7XFxuXFxuLyoqXFxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL3BvaW50ZXJldmVudHMvXFxuICovXFxuXFxudmFyIFN5bnRoZXRpY1BvaW50ZXJFdmVudCA9IFN5bnRoZXRpY01vdXNlRXZlbnQuZXh0ZW5kKHtcXG4gIHBvaW50ZXJJZDogbnVsbCxcXG4gIHdpZHRoOiBudWxsLFxcbiAgaGVpZ2h0OiBudWxsLFxcbiAgcHJlc3N1cmU6IG51bGwsXFxuICB0YW5nZW50aWFsUHJlc3N1cmU6IG51bGwsXFxuICB0aWx0WDogbnVsbCxcXG4gIHRpbHRZOiBudWxsLFxcbiAgdHdpc3Q6IG51bGwsXFxuICBwb2ludGVyVHlwZTogbnVsbCxcXG4gIGlzUHJpbWFyeTogbnVsbFxcbn0pO1xcblxcbnZhciBldmVudFR5cGVzJDIgPSB7XFxuICBtb3VzZUVudGVyOiB7XFxuICAgIHJlZ2lzdHJhdGlvbk5hbWU6ICdvbk1vdXNlRW50ZXInLFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfTU9VU0VfT1VULCBUT1BfTU9VU0VfT1ZFUl1cXG4gIH0sXFxuICBtb3VzZUxlYXZlOiB7XFxuICAgIHJlZ2lzdHJhdGlvbk5hbWU6ICdvbk1vdXNlTGVhdmUnLFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfTU9VU0VfT1VULCBUT1BfTU9VU0VfT1ZFUl1cXG4gIH0sXFxuICBwb2ludGVyRW50ZXI6IHtcXG4gICAgcmVnaXN0cmF0aW9uTmFtZTogJ29uUG9pbnRlckVudGVyJyxcXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX1BPSU5URVJfT1VULCBUT1BfUE9JTlRFUl9PVkVSXVxcbiAgfSxcXG4gIHBvaW50ZXJMZWF2ZToge1xcbiAgICByZWdpc3RyYXRpb25OYW1lOiAnb25Qb2ludGVyTGVhdmUnLFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfUE9JTlRFUl9PVVQsIFRPUF9QT0lOVEVSX09WRVJdXFxuICB9XFxufTtcXG52YXIgRW50ZXJMZWF2ZUV2ZW50UGx1Z2luID0ge1xcbiAgZXZlbnRUeXBlczogZXZlbnRUeXBlcyQyLFxcblxcbiAgLyoqXFxuICAgKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxcbiAgICogYG1vdXNlb3ZlcmAgYW5kIGBtb3VzZW91dGAgZXZlbnQgdGhhdCBvY2N1cnMuIE9ubHkgdXNlIGBtb3VzZW91dGAgc28gdGhhdFxcbiAgICogd2UgZG8gbm90IGV4dHJhY3QgZHVwbGljYXRlIGV2ZW50cy4gSG93ZXZlciwgbW92aW5nIHRoZSBtb3VzZSBpbnRvIHRoZVxcbiAgICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXFxuICAgKiB0aGUgYG1vdXNlb3ZlcmAgdG9wLWxldmVsIGV2ZW50LlxcbiAgICovXFxuICBleHRyYWN0RXZlbnRzOiBmdW5jdGlvbiAodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcXG4gICAgdmFyIGlzT3ZlckV2ZW50ID0gdG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1ZFUiB8fCB0b3BMZXZlbFR5cGUgPT09IFRPUF9QT0lOVEVSX09WRVI7XFxuICAgIHZhciBpc091dEV2ZW50ID0gdG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1VUIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX1BPSU5URVJfT1VUO1xcblxcbiAgICBpZiAoaXNPdmVyRXZlbnQgJiYgKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19SRVBMQVlFRCkgPT09IDAgJiYgKG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQuZnJvbUVsZW1lbnQpKSB7XFxuICAgICAgLy8gSWYgdGhpcyBpcyBhbiBvdmVyIGV2ZW50IHdpdGggYSB0YXJnZXQsIHRoZW4gd2UndmUgYWxyZWFkeSBkaXNwYXRjaGVkXFxuICAgICAgLy8gdGhlIGV2ZW50IGluIHRoZSBvdXQgZXZlbnQgb2YgdGhlIG90aGVyIHRhcmdldC4gSWYgdGhpcyBpcyByZXBsYXllZCxcXG4gICAgICAvLyB0aGVuIGl0J3MgYmVjYXVzZSB3ZSBjb3VsZG4ndCBkaXNwYXRjaCBhZ2FpbnN0IHRoaXMgdGFyZ2V0IHByZXZpb3VzbHlcXG4gICAgICAvLyBzbyB3ZSBoYXZlIHRvIGRvIGl0IG5vdyBpbnN0ZWFkLlxcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIGlmICghaXNPdXRFdmVudCAmJiAhaXNPdmVyRXZlbnQpIHtcXG4gICAgICAvLyBNdXN0IG5vdCBiZSBhIG1vdXNlIG9yIHBvaW50ZXIgaW4gb3Igb3V0IC0gaWdub3JpbmcuXFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG5cXG4gICAgdmFyIHdpbjtcXG5cXG4gICAgaWYgKG5hdGl2ZUV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gbmF0aXZlRXZlbnRUYXJnZXQpIHtcXG4gICAgICAvLyBgbmF0aXZlRXZlbnRUYXJnZXRgIGlzIHByb2JhYmx5IGEgd2luZG93IG9iamVjdC5cXG4gICAgICB3aW4gPSBuYXRpdmVFdmVudFRhcmdldDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IHdoeSBgb3duZXJEb2N1bWVudGAgaXMgc29tZXRpbWVzIHVuZGVmaW5lZCBpbiBJRTguXFxuICAgICAgdmFyIGRvYyA9IG5hdGl2ZUV2ZW50VGFyZ2V0Lm93bmVyRG9jdW1lbnQ7XFxuXFxuICAgICAgaWYgKGRvYykge1xcbiAgICAgICAgd2luID0gZG9jLmRlZmF1bHRWaWV3IHx8IGRvYy5wYXJlbnRXaW5kb3c7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHdpbiA9IHdpbmRvdztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGZyb207XFxuICAgIHZhciB0bztcXG5cXG4gICAgaWYgKGlzT3V0RXZlbnQpIHtcXG4gICAgICBmcm9tID0gdGFyZ2V0SW5zdDtcXG4gICAgICB2YXIgcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQudG9FbGVtZW50O1xcbiAgICAgIHRvID0gcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHJlbGF0ZWQpIDogbnVsbDtcXG5cXG4gICAgICBpZiAodG8gIT09IG51bGwpIHtcXG4gICAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xcblxcbiAgICAgICAgaWYgKHRvICE9PSBuZWFyZXN0TW91bnRlZCB8fCB0by50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgdG8udGFnICE9PSBIb3N0VGV4dCkge1xcbiAgICAgICAgICB0byA9IG51bGw7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIE1vdmluZyB0byBhIG5vZGUgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cuXFxuICAgICAgZnJvbSA9IG51bGw7XFxuICAgICAgdG8gPSB0YXJnZXRJbnN0O1xcbiAgICB9XFxuXFxuICAgIGlmIChmcm9tID09PSB0bykge1xcbiAgICAgIC8vIE5vdGhpbmcgcGVydGFpbnMgdG8gb3VyIG1hbmFnZWQgY29tcG9uZW50cy5cXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgZXZlbnRJbnRlcmZhY2UsIGxlYXZlRXZlbnRUeXBlLCBlbnRlckV2ZW50VHlwZSwgZXZlbnRUeXBlUHJlZml4O1xcblxcbiAgICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1VUIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX01PVVNFX09WRVIpIHtcXG4gICAgICBldmVudEludGVyZmFjZSA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XFxuICAgICAgbGVhdmVFdmVudFR5cGUgPSBldmVudFR5cGVzJDIubW91c2VMZWF2ZTtcXG4gICAgICBlbnRlckV2ZW50VHlwZSA9IGV2ZW50VHlwZXMkMi5tb3VzZUVudGVyO1xcbiAgICAgIGV2ZW50VHlwZVByZWZpeCA9ICdtb3VzZSc7XFxuICAgIH0gZWxzZSBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfUE9JTlRFUl9PVVQgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfUE9JTlRFUl9PVkVSKSB7XFxuICAgICAgZXZlbnRJbnRlcmZhY2UgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XFxuICAgICAgbGVhdmVFdmVudFR5cGUgPSBldmVudFR5cGVzJDIucG9pbnRlckxlYXZlO1xcbiAgICAgIGVudGVyRXZlbnRUeXBlID0gZXZlbnRUeXBlcyQyLnBvaW50ZXJFbnRlcjtcXG4gICAgICBldmVudFR5cGVQcmVmaXggPSAncG9pbnRlcic7XFxuICAgIH1cXG5cXG4gICAgdmFyIGZyb21Ob2RlID0gZnJvbSA9PSBudWxsID8gd2luIDogZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKGZyb20pO1xcbiAgICB2YXIgdG9Ob2RlID0gdG8gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UkMSh0byk7XFxuICAgIHZhciBsZWF2ZSA9IGV2ZW50SW50ZXJmYWNlLmdldFBvb2xlZChsZWF2ZUV2ZW50VHlwZSwgZnJvbSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgbGVhdmUudHlwZSA9IGV2ZW50VHlwZVByZWZpeCArICdsZWF2ZSc7XFxuICAgIGxlYXZlLnRhcmdldCA9IGZyb21Ob2RlO1xcbiAgICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xcbiAgICB2YXIgZW50ZXIgPSBldmVudEludGVyZmFjZS5nZXRQb29sZWQoZW50ZXJFdmVudFR5cGUsIHRvLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgICBlbnRlci50eXBlID0gZXZlbnRUeXBlUHJlZml4ICsgJ2VudGVyJztcXG4gICAgZW50ZXIudGFyZ2V0ID0gdG9Ob2RlO1xcbiAgICBlbnRlci5yZWxhdGVkVGFyZ2V0ID0gZnJvbU5vZGU7XFxuICAgIGFjY3VtdWxhdGVFbnRlckxlYXZlRGlzcGF0Y2hlcyhsZWF2ZSwgZW50ZXIsIGZyb20sIHRvKTsgLy8gSWYgd2UgYXJlIG5vdCBwcm9jZXNzaW5nIHRoZSBmaXJzdCBhbmNlc3RvciwgdGhlbiB3ZVxcbiAgICAvLyBzaG91bGQgbm90IHByb2Nlc3MgdGhlIHNhbWUgbmF0aXZlRXZlbnQgYWdhaW4sIGFzIHdlXFxuICAgIC8vIHdpbGwgaGF2ZSBhbHJlYWR5IHByb2Nlc3NlZCBpdCBpbiB0aGUgZmlyc3QgYW5jZXN0b3IuXFxuXFxuICAgIGlmICgoZXZlbnRTeXN0ZW1GbGFncyAmIElTX0ZJUlNUX0FOQ0VTVE9SKSA9PT0gMCkge1xcbiAgICAgIHJldHVybiBbbGVhdmVdO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBbbGVhdmUsIGVudGVyXTtcXG4gIH1cXG59O1xcblxcbi8qKlxcbiAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcXG4gKi9cXG5mdW5jdGlvbiBpcyh4LCB5KSB7XFxuICByZXR1cm4geCA9PT0geSAmJiAoeCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHkpIHx8IHggIT09IHggJiYgeSAhPT0geSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxcbiAgO1xcbn1cXG5cXG52YXIgb2JqZWN0SXMgPSB0eXBlb2YgT2JqZWN0LmlzID09PSAnZnVuY3Rpb24nID8gT2JqZWN0LmlzIDogaXM7XFxuXFxudmFyIGhhc093blByb3BlcnR5JDIgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xcbi8qKlxcbiAqIFBlcmZvcm1zIGVxdWFsaXR5IGJ5IGl0ZXJhdGluZyB0aHJvdWdoIGtleXMgb24gYW4gb2JqZWN0IGFuZCByZXR1cm5pbmcgZmFsc2VcXG4gKiB3aGVuIGFueSBrZXkgaGFzIHZhbHVlcyB3aGljaCBhcmUgbm90IHN0cmljdGx5IGVxdWFsIGJldHdlZW4gdGhlIGFyZ3VtZW50cy5cXG4gKiBSZXR1cm5zIHRydWUgd2hlbiB0aGUgdmFsdWVzIG9mIGFsbCBrZXlzIGFyZSBzdHJpY3RseSBlcXVhbC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBzaGFsbG93RXF1YWwob2JqQSwgb2JqQikge1xcbiAgaWYgKG9iamVjdElzKG9iakEsIG9iakIpKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBvYmpBICE9PSAnb2JqZWN0JyB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSAnb2JqZWN0JyB8fCBvYmpCID09PSBudWxsKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBrZXlzQSA9IE9iamVjdC5rZXlzKG9iakEpO1xcbiAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMob2JqQik7XFxuXFxuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfSAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxcblxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAoIWhhc093blByb3BlcnR5JDIuY2FsbChvYmpCLCBrZXlzQVtpXSkgfHwgIW9iamVjdElzKG9iakFba2V5c0FbaV1dLCBvYmpCW2tleXNBW2ldXSkpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG52YXIgc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50ID0gY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50TW9kZSA8PSAxMTtcXG52YXIgZXZlbnRUeXBlcyQzID0ge1xcbiAgc2VsZWN0OiB7XFxuICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XFxuICAgICAgYnViYmxlZDogJ29uU2VsZWN0JyxcXG4gICAgICBjYXB0dXJlZDogJ29uU2VsZWN0Q2FwdHVyZSdcXG4gICAgfSxcXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX0JMVVIsIFRPUF9DT05URVhUX01FTlUsIFRPUF9EUkFHX0VORCwgVE9QX0ZPQ1VTLCBUT1BfS0VZX0RPV04sIFRPUF9LRVlfVVAsIFRPUF9NT1VTRV9ET1dOLCBUT1BfTU9VU0VfVVAsIFRPUF9TRUxFQ1RJT05fQ0hBTkdFXVxcbiAgfVxcbn07XFxudmFyIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XFxudmFyIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xcbnZhciBsYXN0U2VsZWN0aW9uID0gbnVsbDtcXG52YXIgbW91c2VEb3duID0gZmFsc2U7XFxuLyoqXFxuICogR2V0IGFuIG9iamVjdCB3aGljaCBpcyBhIHVuaXF1ZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudCBzZWxlY3Rpb24uXFxuICpcXG4gKiBUaGUgcmV0dXJuIHZhbHVlIHdpbGwgbm90IGJlIGNvbnNpc3RlbnQgYWNyb3NzIG5vZGVzIG9yIGJyb3dzZXJzLCBidXRcXG4gKiB0d28gaWRlbnRpY2FsIHNlbGVjdGlvbnMgb24gdGhlIHNhbWUgbm9kZSB3aWxsIHJldHVybiBpZGVudGljYWwgb2JqZWN0cy5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxcbiAqIEByZXR1cm4ge29iamVjdH1cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRTZWxlY3Rpb24kMShub2RlKSB7XFxuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xcbiAgICByZXR1cm4ge1xcbiAgICAgIHN0YXJ0OiBub2RlLnNlbGVjdGlvblN0YXJ0LFxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcXG4gICAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcXG4gICAgcmV0dXJuIHtcXG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcXG4gICAgICBhbmNob3JPZmZzZXQ6IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXFxuICAgICAgZm9jdXNOb2RlOiBzZWxlY3Rpb24uZm9jdXNOb2RlLFxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcXG4gICAgfTtcXG4gIH1cXG59XFxuLyoqXFxuICogR2V0IGRvY3VtZW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnQgdGFyZ2V0LlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50VGFyZ2V0XFxuICogQHJldHVybiB7RG9jdW1lbnR9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChldmVudFRhcmdldCkge1xcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xcbn1cXG4vKipcXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXFxuICpcXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcXG4gKiBAcmV0dXJuIHs/U3ludGhldGljRXZlbnR9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gY29uc3RydWN0U2VsZWN0RXZlbnQobmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XFxuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcXG4gIC8vIHNlbGVjdGlvbiAodGhpcyBtYXRjaGVzIG5hdGl2ZSBgc2VsZWN0YCBldmVudCBiZWhhdmlvcikuIEluIEhUTUw1LCBzZWxlY3RcXG4gIC8vIGZpcmVzIG9ubHkgb24gaW5wdXQgYW5kIHRleHRhcmVhIHRodXMgaWYgdGhlcmUncyBubyBmb2N1c2VkIGVsZW1lbnQgd2VcXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxcbiAgdmFyIGRvYyA9IGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQobmF0aXZlRXZlbnRUYXJnZXQpO1xcblxcbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gT25seSBmaXJlIHdoZW4gc2VsZWN0aW9uIGhhcyBhY3R1YWxseSBjaGFuZ2VkLlxcblxcblxcbiAgdmFyIGN1cnJlbnRTZWxlY3Rpb24gPSBnZXRTZWxlY3Rpb24kMShhY3RpdmVFbGVtZW50JDEpO1xcblxcbiAgaWYgKCFsYXN0U2VsZWN0aW9uIHx8ICFzaGFsbG93RXF1YWwobGFzdFNlbGVjdGlvbiwgY3VycmVudFNlbGVjdGlvbikpIHtcXG4gICAgbGFzdFNlbGVjdGlvbiA9IGN1cnJlbnRTZWxlY3Rpb247XFxuICAgIHZhciBzeW50aGV0aWNFdmVudCA9IFN5bnRoZXRpY0V2ZW50LmdldFBvb2xlZChldmVudFR5cGVzJDMuc2VsZWN0LCBhY3RpdmVFbGVtZW50SW5zdCQxLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgICBzeW50aGV0aWNFdmVudC50eXBlID0gJ3NlbGVjdCc7XFxuICAgIHN5bnRoZXRpY0V2ZW50LnRhcmdldCA9IGFjdGl2ZUVsZW1lbnQkMTtcXG4gICAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhzeW50aGV0aWNFdmVudCk7XFxuICAgIHJldHVybiBzeW50aGV0aWNFdmVudDtcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG4vKipcXG4gKiBUaGlzIHBsdWdpbiBjcmVhdGVzIGFuIGBvblNlbGVjdGAgZXZlbnQgdGhhdCBub3JtYWxpemVzIHNlbGVjdCBldmVudHNcXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cXG4gKlxcbiAqIFN1cHBvcnRlZCBlbGVtZW50cyBhcmU6XFxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxcbiAqIC0gdGV4dGFyZWFcXG4gKiAtIGNvbnRlbnRFZGl0YWJsZVxcbiAqXFxuICogVGhpcyBkaWZmZXJzIGZyb20gbmF0aXZlIGJyb3dzZXIgaW1wbGVtZW50YXRpb25zIGluIHRoZSBmb2xsb3dpbmcgd2F5czpcXG4gKiAtIEZpcmVzIG9uIGNvbnRlbnRFZGl0YWJsZSBmaWVsZHMgYXMgd2VsbCBhcyBpbnB1dHMuXFxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cXG4gKiAtIEZpcmVzIGFmdGVyIHVzZXIgaW5wdXQuXFxuICovXFxuXFxuXFxudmFyIFNlbGVjdEV2ZW50UGx1Z2luID0ge1xcbiAgZXZlbnRUeXBlczogZXZlbnRUeXBlcyQzLFxcbiAgZXh0cmFjdEV2ZW50czogZnVuY3Rpb24gKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIpIHtcXG4gICAgdmFyIGNvbnRhaW5lck9yRG9jID0gY29udGFpbmVyIHx8IGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQobmF0aXZlRXZlbnRUYXJnZXQpOyAvLyBUcmFjayB3aGV0aGVyIGFsbCBsaXN0ZW5lcnMgZXhpc3RzIGZvciB0aGlzIHBsdWdpbi4gSWYgbm9uZSBleGlzdCwgd2UgZG9cXG4gICAgLy8gbm90IGV4dHJhY3QgZXZlbnRzLiBTZWUgIzM2MzkuXFxuXFxuICAgIGlmICghY29udGFpbmVyT3JEb2MgfHwgIWlzTGlzdGVuaW5nVG9BbGxEZXBlbmRlbmNpZXMoJ29uU2VsZWN0JywgY29udGFpbmVyT3JEb2MpKSB7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG5cXG4gICAgdmFyIHRhcmdldE5vZGUgPSB0YXJnZXRJbnN0ID8gZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKHRhcmdldEluc3QpIDogd2luZG93O1xcblxcbiAgICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xcbiAgICAgIC8vIFRyYWNrIHRoZSBpbnB1dCBub2RlIHRoYXQgaGFzIGZvY3VzLlxcbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxcbiAgICAgICAgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSB8fCB0YXJnZXROb2RlLmNvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnKSB7XFxuICAgICAgICAgIGFjdGl2ZUVsZW1lbnQkMSA9IHRhcmdldE5vZGU7XFxuICAgICAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSB0YXJnZXRJbnN0O1xcbiAgICAgICAgICBsYXN0U2VsZWN0aW9uID0gbnVsbDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgVE9QX0JMVVI6XFxuICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSBudWxsO1xcbiAgICAgICAgYWN0aXZlRWxlbWVudEluc3QkMSA9IG51bGw7XFxuICAgICAgICBsYXN0U2VsZWN0aW9uID0gbnVsbDtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIC8vIERvbid0IGZpcmUgdGhlIGV2ZW50IHdoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nLiBUaGlzIG1hdGNoZXMgdGhlXFxuICAgICAgLy8gc2VtYW50aWNzIG9mIHRoZSBuYXRpdmUgc2VsZWN0IGV2ZW50LlxcblxcbiAgICAgIGNhc2UgVE9QX01PVVNFX0RPV046XFxuICAgICAgICBtb3VzZURvd24gPSB0cnVlO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ09OVEVYVF9NRU5VOlxcbiAgICAgIGNhc2UgVE9QX01PVVNFX1VQOlxcbiAgICAgIGNhc2UgVE9QX0RSQUdfRU5EOlxcbiAgICAgICAgbW91c2VEb3duID0gZmFsc2U7XFxuICAgICAgICByZXR1cm4gY29uc3RydWN0U2VsZWN0RXZlbnQobmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgICAvLyBDaHJvbWUgYW5kIElFIGZpcmUgbm9uLXN0YW5kYXJkIGV2ZW50IHdoZW4gc2VsZWN0aW9uIGlzIGNoYW5nZWQgKGFuZFxcbiAgICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxcbiAgICAgIC8vIHRvIGtleSBhbmQgaW5wdXQgZXZlbnRzIG9uIGRlbGV0aW9uLCBzbyB3ZSBkaXNjYXJkIGl0LlxcbiAgICAgIC8vXFxuICAgICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXFxuICAgICAgLy8gYWZ0ZXIgZWFjaCBrZXkgZW50cnkuIFRoZSBzZWxlY3Rpb24gY2hhbmdlcyBhZnRlciBrZXlkb3duIGFuZCBiZWZvcmVcXG4gICAgICAvLyBrZXl1cCwgYnV0IHdlIGNoZWNrIG9uIGtleWRvd24gYXMgd2VsbCBpbiB0aGUgY2FzZSBvZiBob2xkaW5nIGRvd24gYVxcbiAgICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxcbiAgICAgIC8vIFRoaXMgaXMgYWxzbyBvdXIgYXBwcm9hY2ggZm9yIElFIGhhbmRsaW5nLCBmb3IgdGhlIHJlYXNvbiBhYm92ZS5cXG5cXG4gICAgICBjYXNlIFRPUF9TRUxFQ1RJT05fQ0hBTkdFOlxcbiAgICAgICAgaWYgKHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCkge1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAvLyBmYWxscyB0aHJvdWdoXFxuXFxuICAgICAgY2FzZSBUT1BfS0VZX0RPV046XFxuICAgICAgY2FzZSBUT1BfS0VZX1VQOlxcbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdFNlbGVjdEV2ZW50KG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxufTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIEV2ZW50XFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxcbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0FuaW1hdGlvbkV2ZW50XFxuICovXFxuXFxudmFyIFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcXG4gIGFuaW1hdGlvbk5hbWU6IG51bGwsXFxuICBlbGFwc2VkVGltZTogbnVsbCxcXG4gIHBzZXVkb0VsZW1lbnQ6IG51bGxcXG59KTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIEV2ZW50XFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jbGlwYm9hcmQtYXBpcy9cXG4gKi9cXG5cXG52YXIgU3ludGhldGljQ2xpcGJvYXJkRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xcbiAgY2xpcGJvYXJkRGF0YTogZnVuY3Rpb24gKGV2ZW50KSB7XFxuICAgIHJldHVybiAnY2xpcGJvYXJkRGF0YScgaW4gZXZlbnQgPyBldmVudC5jbGlwYm9hcmREYXRhIDogd2luZG93LmNsaXBib2FyZERhdGE7XFxuICB9XFxufSk7XFxuXFxuLyoqXFxuICogQGludGVyZmFjZSBGb2N1c0V2ZW50XFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXFxuICovXFxuXFxudmFyIFN5bnRoZXRpY0ZvY3VzRXZlbnQgPSBTeW50aGV0aWNVSUV2ZW50LmV4dGVuZCh7XFxuICByZWxhdGVkVGFyZ2V0OiBudWxsXFxufSk7XFxuXFxuLyoqXFxuICogYGNoYXJDb2RlYCByZXByZXNlbnRzIHRoZSBhY3R1YWwgXFxcImNoYXJhY3RlciBjb2RlXFxcIiBhbmQgaXMgc2FmZSB0byB1c2Ugd2l0aFxcbiAqIGBTdHJpbmcuZnJvbUNoYXJDb2RlYC4gQXMgc3VjaCwgb25seSBrZXlzIHRoYXQgY29ycmVzcG9uZCB0byBwcmludGFibGVcXG4gKiBjaGFyYWN0ZXJzIHByb2R1Y2UgYSB2YWxpZCBgY2hhckNvZGVgLCB0aGUgb25seSBleGNlcHRpb24gdG8gdGhpcyBpcyBFbnRlci5cXG4gKiBUaGUgVGFiLWtleSBpcyBjb25zaWRlcmVkIG5vbi1wcmludGFibGUgYW5kIGRvZXMgbm90IGhhdmUgYSBgY2hhckNvZGVgLFxcbiAqIHByZXN1bWFibHkgYmVjYXVzZSBpdCBkb2VzIG5vdCBwcm9kdWNlIGEgdGFiLWNoYXJhY3RlciBpbiBicm93c2Vycy5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cXG4gKiBAcmV0dXJuIHtudW1iZXJ9IE5vcm1hbGl6ZWQgYGNoYXJDb2RlYCBwcm9wZXJ0eS5cXG4gKi9cXG5mdW5jdGlvbiBnZXRFdmVudENoYXJDb2RlKG5hdGl2ZUV2ZW50KSB7XFxuICB2YXIgY2hhckNvZGU7XFxuICB2YXIga2V5Q29kZSA9IG5hdGl2ZUV2ZW50LmtleUNvZGU7XFxuXFxuICBpZiAoJ2NoYXJDb2RlJyBpbiBuYXRpdmVFdmVudCkge1xcbiAgICBjaGFyQ29kZSA9IG5hdGl2ZUV2ZW50LmNoYXJDb2RlOyAvLyBGRiBkb2VzIG5vdCBzZXQgYGNoYXJDb2RlYCBmb3IgdGhlIEVudGVyLWtleSwgY2hlY2sgYWdhaW5zdCBga2V5Q29kZWAuXFxuXFxuICAgIGlmIChjaGFyQ29kZSA9PT0gMCAmJiBrZXlDb2RlID09PSAxMykge1xcbiAgICAgIGNoYXJDb2RlID0gMTM7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIC8vIElFOCBkb2VzIG5vdCBpbXBsZW1lbnQgYGNoYXJDb2RlYCwgYnV0IGBrZXlDb2RlYCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUuXFxuICAgIGNoYXJDb2RlID0ga2V5Q29kZTtcXG4gIH0gLy8gSUUgYW5kIEVkZ2UgKG9uIFdpbmRvd3MpIGFuZCBDaHJvbWUgLyBTYWZhcmkgKG9uIFdpbmRvd3MgYW5kIExpbnV4KVxcbiAgLy8gcmVwb3J0IEVudGVyIGFzIGNoYXJDb2RlIDEwIHdoZW4gY3RybCBpcyBwcmVzc2VkLlxcblxcblxcbiAgaWYgKGNoYXJDb2RlID09PSAxMCkge1xcbiAgICBjaGFyQ29kZSA9IDEzO1xcbiAgfSAvLyBTb21lIG5vbi1wcmludGFibGUga2V5cyBhcmUgcmVwb3J0ZWQgaW4gYGNoYXJDb2RlYC9ga2V5Q29kZWAsIGRpc2NhcmQgdGhlbS5cXG4gIC8vIE11c3Qgbm90IGRpc2NhcmQgdGhlIChub24tKXByaW50YWJsZSBFbnRlci1rZXkuXFxuXFxuXFxuICBpZiAoY2hhckNvZGUgPj0gMzIgfHwgY2hhckNvZGUgPT09IDEzKSB7XFxuICAgIHJldHVybiBjaGFyQ29kZTtcXG4gIH1cXG5cXG4gIHJldHVybiAwO1xcbn1cXG5cXG4vKipcXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXFxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvS2V5Ym9hcmRFdmVudCNLZXlfbmFtZXNcXG4gKi9cXG5cXG52YXIgbm9ybWFsaXplS2V5ID0ge1xcbiAgRXNjOiAnRXNjYXBlJyxcXG4gIFNwYWNlYmFyOiAnICcsXFxuICBMZWZ0OiAnQXJyb3dMZWZ0JyxcXG4gIFVwOiAnQXJyb3dVcCcsXFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxcbiAgRG93bjogJ0Fycm93RG93bicsXFxuICBEZWw6ICdEZWxldGUnLFxcbiAgV2luOiAnT1MnLFxcbiAgTWVudTogJ0NvbnRleHRNZW51JyxcXG4gIEFwcHM6ICdDb250ZXh0TWVudScsXFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcXG4gIE1velByaW50YWJsZUtleTogJ1VuaWRlbnRpZmllZCdcXG59O1xcbi8qKlxcbiAqIFRyYW5zbGF0aW9uIGZyb20gbGVnYWN5IGBrZXlDb2RlYCB0byBIVE1MNSBga2V5YFxcbiAqIE9ubHkgc3BlY2lhbCBrZXlzIHN1cHBvcnRlZCwgYWxsIG90aGVycyBkZXBlbmQgb24ga2V5Ym9hcmQgbGF5b3V0IG9yIGJyb3dzZXJcXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xcbiAqL1xcblxcbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcXG4gICc4JzogJ0JhY2tzcGFjZScsXFxuICAnOSc6ICdUYWInLFxcbiAgJzEyJzogJ0NsZWFyJyxcXG4gICcxMyc6ICdFbnRlcicsXFxuICAnMTYnOiAnU2hpZnQnLFxcbiAgJzE3JzogJ0NvbnRyb2wnLFxcbiAgJzE4JzogJ0FsdCcsXFxuICAnMTknOiAnUGF1c2UnLFxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcXG4gICcyNyc6ICdFc2NhcGUnLFxcbiAgJzMyJzogJyAnLFxcbiAgJzMzJzogJ1BhZ2VVcCcsXFxuICAnMzQnOiAnUGFnZURvd24nLFxcbiAgJzM1JzogJ0VuZCcsXFxuICAnMzYnOiAnSG9tZScsXFxuICAnMzcnOiAnQXJyb3dMZWZ0JyxcXG4gICczOCc6ICdBcnJvd1VwJyxcXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcXG4gICc0MCc6ICdBcnJvd0Rvd24nLFxcbiAgJzQ1JzogJ0luc2VydCcsXFxuICAnNDYnOiAnRGVsZXRlJyxcXG4gICcxMTInOiAnRjEnLFxcbiAgJzExMyc6ICdGMicsXFxuICAnMTE0JzogJ0YzJyxcXG4gICcxMTUnOiAnRjQnLFxcbiAgJzExNic6ICdGNScsXFxuICAnMTE3JzogJ0Y2JyxcXG4gICcxMTgnOiAnRjcnLFxcbiAgJzExOSc6ICdGOCcsXFxuICAnMTIwJzogJ0Y5JyxcXG4gICcxMjEnOiAnRjEwJyxcXG4gICcxMjInOiAnRjExJyxcXG4gICcxMjMnOiAnRjEyJyxcXG4gICcxNDQnOiAnTnVtTG9jaycsXFxuICAnMTQ1JzogJ1Njcm9sbExvY2snLFxcbiAgJzIyNCc6ICdNZXRhJ1xcbn07XFxuLyoqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxcbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBga2V5YCBwcm9wZXJ0eS5cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRFdmVudEtleShuYXRpdmVFdmVudCkge1xcbiAgaWYgKG5hdGl2ZUV2ZW50LmtleSkge1xcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cXG4gICAgLy8gaW1wbGVtZW50YXRpb25zIG9mIGEgd29ya2luZyBkcmFmdCBzcGVjaWZpY2F0aW9uLlxcbiAgICAvLyBGaXJlRm94IGltcGxlbWVudHMgYGtleWAgYnV0IHJldHVybnMgYE1velByaW50YWJsZUtleWAgZm9yIGFsbFxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cXG4gICAgdmFyIGtleSA9IG5vcm1hbGl6ZUtleVtuYXRpdmVFdmVudC5rZXldIHx8IG5hdGl2ZUV2ZW50LmtleTtcXG5cXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcXG4gICAgICByZXR1cm4ga2V5O1xcbiAgICB9XFxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cXG5cXG5cXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XFxuICAgIHZhciBjaGFyQ29kZSA9IGdldEV2ZW50Q2hhckNvZGUobmF0aXZlRXZlbnQpOyAvLyBUaGUgZW50ZXIta2V5IGlzIHRlY2huaWNhbGx5IGJvdGggcHJpbnRhYmxlIGFuZCBub24tcHJpbnRhYmxlIGFuZCBjYW5cXG4gICAgLy8gdGh1cyBiZSBjYXB0dXJlZCBieSBga2V5cHJlc3NgLCBubyBvdGhlciBub24tcHJpbnRhYmxlIGtleSBzaG91bGQuXFxuXFxuICAgIHJldHVybiBjaGFyQ29kZSA9PT0gMTMgPyAnRW50ZXInIDogU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XFxuICB9XFxuXFxuICBpZiAobmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IG5hdGl2ZUV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcXG4gICAgLy8gV2hpbGUgdXNlciBrZXlib2FyZCBsYXlvdXQgZGV0ZXJtaW5lcyB0aGUgYWN0dWFsIG1lYW5pbmcgb2YgZWFjaFxcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxcbiAgICByZXR1cm4gdHJhbnNsYXRlVG9LZXlbbmF0aXZlRXZlbnQua2V5Q29kZV0gfHwgJ1VuaWRlbnRpZmllZCc7XFxuICB9XFxuXFxuICByZXR1cm4gJyc7XFxufVxcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNLZXlib2FyZEV2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xcbiAga2V5OiBnZXRFdmVudEtleSxcXG4gIGxvY2F0aW9uOiBudWxsLFxcbiAgY3RybEtleTogbnVsbCxcXG4gIHNoaWZ0S2V5OiBudWxsLFxcbiAgYWx0S2V5OiBudWxsLFxcbiAgbWV0YUtleTogbnVsbCxcXG4gIHJlcGVhdDogbnVsbCxcXG4gIGxvY2FsZTogbnVsbCxcXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcXG4gIC8vIExlZ2FjeSBJbnRlcmZhY2VcXG4gIGNoYXJDb2RlOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXFxuICAgIC8vIHRoZSBhY3R1YWwgcHJpbnRhYmxlIGNoYXJhY3Rlci5cXG4gICAgLy8gS2V5UHJlc3MgaXMgZGVwcmVjYXRlZCwgYnV0IGl0cyByZXBsYWNlbWVudCBpcyBub3QgeWV0IGZpbmFsIGFuZCBub3RcXG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleXByZXNzJykge1xcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMDtcXG4gIH0sXFxuICBrZXlDb2RlOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgLy8gYGtleUNvZGVgIGlzIHRoZSByZXN1bHQgb2YgYSBLZXlEb3duL1VwIGV2ZW50IGFuZCByZXByZXNlbnRzIHRoZSB2YWx1ZSBvZlxcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXFxuICAgIC8vIFRoZSBhY3R1YWwgbWVhbmluZyBvZiB0aGUgdmFsdWUgZGVwZW5kcyBvbiB0aGUgdXNlcnMnIGtleWJvYXJkIGxheW91dFxcbiAgICAvLyB3aGljaCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIEFzc3VtaW5nIHRoYXQgaXQgaXMgYSBVUyBrZXlib2FyZCBsYXlvdXRcXG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxcbiAgICAvLyBEdWUgdG8gdGhpcywgaXQgaXMgbGVmdCB0byB0aGUgdXNlciB0byBpbXBsZW1lbnQgYXQgdGhpcyB0aW1lLlxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcXG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMDtcXG4gIH0sXFxuICB3aGljaDogZnVuY3Rpb24gKGV2ZW50KSB7XFxuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXFxuICAgIC8vIHR5cGUgb2YgdGhlIGV2ZW50LlxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleXByZXNzJykge1xcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcXG4gICAgfVxcblxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcXG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMDtcXG4gIH1cXG59KTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNEcmFnRXZlbnQgPSBTeW50aGV0aWNNb3VzZUV2ZW50LmV4dGVuZCh7XFxuICBkYXRhVHJhbnNmZXI6IG51bGxcXG59KTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL3RvdWNoLWV2ZW50cy9cXG4gKi9cXG5cXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IFN5bnRoZXRpY1VJRXZlbnQuZXh0ZW5kKHtcXG4gIHRvdWNoZXM6IG51bGwsXFxuICB0YXJnZXRUb3VjaGVzOiBudWxsLFxcbiAgY2hhbmdlZFRvdWNoZXM6IG51bGwsXFxuICBhbHRLZXk6IG51bGwsXFxuICBtZXRhS2V5OiBudWxsLFxcbiAgY3RybEtleTogbnVsbCxcXG4gIHNoaWZ0S2V5OiBudWxsLFxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlXFxufSk7XFxuXFxuLyoqXFxuICogQGludGVyZmFjZSBFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOS9XRC1jc3MzLXRyYW5zaXRpb25zLTIwMDkwMzIwLyN0cmFuc2l0aW9uLWV2ZW50cy1cXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcXG4gKi9cXG5cXG52YXIgU3ludGhldGljVHJhbnNpdGlvbkV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcXG4gIHByb3BlcnR5TmFtZTogbnVsbCxcXG4gIGVsYXBzZWRUaW1lOiBudWxsLFxcbiAgcHNldWRvRWxlbWVudDogbnVsbFxcbn0pO1xcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gU3ludGhldGljTW91c2VFdmVudC5leHRlbmQoe1xcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgcmV0dXJuICdkZWx0YVgnIGluIGV2ZW50ID8gZXZlbnQuZGVsdGFYIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFYYCBmb3IgV2Via2l0IGFuZCBub3JtYWxpemUgKHJpZ2h0IGlzIHBvc2l0aXZlKS5cXG4gICAgJ3doZWVsRGVsdGFYJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhWCA6IDA7XFxuICB9LFxcbiAgZGVsdGFZOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgcmV0dXJuICdkZWx0YVknIGluIGV2ZW50ID8gZXZlbnQuZGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFZYCBmb3IgV2Via2l0IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxcbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxcbiAgICAnd2hlZWxEZWx0YScgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YSA6IDA7XFxuICB9LFxcbiAgZGVsdGFaOiBudWxsLFxcbiAgLy8gQnJvd3NlcnMgd2l0aG91dCBcXFwiZGVsdGFNb2RlXFxcIiBpcyByZXBvcnRpbmcgaW4gcmF3IHdoZWVsIGRlbHRhIHdoZXJlIG9uZVxcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cXG4gIC8vIEEgZ29vZCBhcHByb3hpbWF0aW9uIG9mIERPTV9ERUxUQV9MSU5FICgxKSBpcyA1JSBvZiB2aWV3cG9ydCBzaXplIG9yXFxuICAvLyB+NDAgcGl4ZWxzLCBmb3IgRE9NX0RFTFRBX1NDUkVFTiAoMikgaXQgaXMgODcuNSUgb2Ygdmlld3BvcnQgc2l6ZS5cXG4gIGRlbHRhTW9kZTogbnVsbFxcbn0pO1xcblxcbnZhciBrbm93bkhUTUxUb3BMZXZlbFR5cGVzID0gW1RPUF9BQk9SVCwgVE9QX0NBTkNFTCwgVE9QX0NBTl9QTEFZLCBUT1BfQ0FOX1BMQVlfVEhST1VHSCwgVE9QX0NMT1NFLCBUT1BfRFVSQVRJT05fQ0hBTkdFLCBUT1BfRU1QVElFRCwgVE9QX0VOQ1JZUFRFRCwgVE9QX0VOREVELCBUT1BfRVJST1IsIFRPUF9JTlBVVCwgVE9QX0lOVkFMSUQsIFRPUF9MT0FELCBUT1BfTE9BREVEX0RBVEEsIFRPUF9MT0FERURfTUVUQURBVEEsIFRPUF9MT0FEX1NUQVJULCBUT1BfUEFVU0UsIFRPUF9QTEFZLCBUT1BfUExBWUlORywgVE9QX1BST0dSRVNTLCBUT1BfUkFURV9DSEFOR0UsIFRPUF9SRVNFVCwgVE9QX1NFRUtFRCwgVE9QX1NFRUtJTkcsIFRPUF9TVEFMTEVELCBUT1BfU1VCTUlULCBUT1BfU1VTUEVORCwgVE9QX1RJTUVfVVBEQVRFLCBUT1BfVE9HR0xFLCBUT1BfVk9MVU1FX0NIQU5HRSwgVE9QX1dBSVRJTkddO1xcbnZhciBTaW1wbGVFdmVudFBsdWdpbiA9IHtcXG4gIC8vIHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRUeXBlcyBnZXRzIHBvcHVsYXRlZCBmcm9tXFxuICAvLyB0aGUgRE9NRXZlbnRQcm9wZXJ0aWVzIG1vZHVsZS5cXG4gIGV2ZW50VHlwZXM6IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRUeXBlcyxcXG4gIGV4dHJhY3RFdmVudHM6IGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgICB2YXIgZGlzcGF0Y2hDb25maWcgPSB0b3BMZXZlbEV2ZW50c1RvRGlzcGF0Y2hDb25maWcuZ2V0KHRvcExldmVsVHlwZSk7XFxuXFxuICAgIGlmICghZGlzcGF0Y2hDb25maWcpIHtcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgRXZlbnRDb25zdHJ1Y3RvcjtcXG5cXG4gICAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgICBjYXNlIFRPUF9LRVlfUFJFU1M6XFxuICAgICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBrZXlwcmVzcyBldmVudCBmb3IgZnVuY3Rpb24ga2V5cyB0b28uIFRoaXMgcmVtb3Zlc1xcbiAgICAgICAgLy8gdGhlIHVud2FudGVkIGtleXByZXNzIGV2ZW50cy4gRW50ZXIgaXMgaG93ZXZlciBib3RoIHByaW50YWJsZSBhbmRcXG4gICAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXFxuICAgICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcXG4gICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xcblxcbiAgICAgIGNhc2UgVE9QX0tFWV9ET1dOOlxcbiAgICAgIGNhc2UgVE9QX0tFWV9VUDpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNLZXlib2FyZEV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQkxVUjpcXG4gICAgICBjYXNlIFRPUF9GT0NVUzpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ0xJQ0s6XFxuICAgICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcXG4gICAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cXG4gICAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcXG4gICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xcblxcbiAgICAgIGNhc2UgVE9QX0FVWF9DTElDSzpcXG4gICAgICBjYXNlIFRPUF9ET1VCTEVfQ0xJQ0s6XFxuICAgICAgY2FzZSBUT1BfTU9VU0VfRE9XTjpcXG4gICAgICBjYXNlIFRPUF9NT1VTRV9NT1ZFOlxcbiAgICAgIGNhc2UgVE9QX01PVVNFX1VQOiAvLyBUT0RPOiBEaXNhYmxlZCBlbGVtZW50cyBzaG91bGQgbm90IHJlc3BvbmQgdG8gbW91c2UgZXZlbnRzXFxuXFxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xcblxcbiAgICAgIGNhc2UgVE9QX01PVVNFX09VVDpcXG4gICAgICBjYXNlIFRPUF9NT1VTRV9PVkVSOlxcbiAgICAgIGNhc2UgVE9QX0NPTlRFWFRfTUVOVTpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNNb3VzZUV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfRFJBRzpcXG4gICAgICBjYXNlIFRPUF9EUkFHX0VORDpcXG4gICAgICBjYXNlIFRPUF9EUkFHX0VOVEVSOlxcbiAgICAgIGNhc2UgVE9QX0RSQUdfRVhJVDpcXG4gICAgICBjYXNlIFRPUF9EUkFHX0xFQVZFOlxcbiAgICAgIGNhc2UgVE9QX0RSQUdfT1ZFUjpcXG4gICAgICBjYXNlIFRPUF9EUkFHX1NUQVJUOlxcbiAgICAgIGNhc2UgVE9QX0RST1A6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljRHJhZ0V2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfVE9VQ0hfQ0FOQ0VMOlxcbiAgICAgIGNhc2UgVE9QX1RPVUNIX0VORDpcXG4gICAgICBjYXNlIFRPUF9UT1VDSF9NT1ZFOlxcbiAgICAgIGNhc2UgVE9QX1RPVUNIX1NUQVJUOlxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9BTklNQVRJT05fRU5EOlxcbiAgICAgIGNhc2UgVE9QX0FOSU1BVElPTl9JVEVSQVRJT046XFxuICAgICAgY2FzZSBUT1BfQU5JTUFUSU9OX1NUQVJUOlxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfVFJBTlNJVElPTl9FTkQ6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljVHJhbnNpdGlvbkV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfU0NST0xMOlxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9XSEVFTDpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNXaGVlbEV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ09QWTpcXG4gICAgICBjYXNlIFRPUF9DVVQ6XFxuICAgICAgY2FzZSBUT1BfUEFTVEU6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljQ2xpcGJvYXJkRXZlbnQ7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9HT1RfUE9JTlRFUl9DQVBUVVJFOlxcbiAgICAgIGNhc2UgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFOlxcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfQ0FOQ0VMOlxcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfRE9XTjpcXG4gICAgICBjYXNlIFRPUF9QT0lOVEVSX01PVkU6XFxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9PVVQ6XFxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9PVkVSOlxcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfVVA6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljUG9pbnRlckV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIHtcXG4gICAgICAgICAgaWYgKGtub3duSFRNTFRvcExldmVsVHlwZXMuaW5kZXhPZih0b3BMZXZlbFR5cGUpID09PSAtMSkge1xcbiAgICAgICAgICAgIGVycm9yKCdTaW1wbGVFdmVudFBsdWdpbjogVW5oYW5kbGVkIGV2ZW50IHR5cGUsIGAlc2AuIFRoaXMgd2FybmluZyAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIHRvcExldmVsVHlwZSk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0gLy8gSFRNTCBFdmVudHNcXG4gICAgICAgIC8vIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDUvaW5kZXguaHRtbCNldmVudHMtMFxcblxcblxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY0V2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgdmFyIGV2ZW50ID0gRXZlbnRDb25zdHJ1Y3Rvci5nZXRQb29sZWQoZGlzcGF0Y2hDb25maWcsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XFxuICAgIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnQpO1xcbiAgICByZXR1cm4gZXZlbnQ7XFxuICB9XFxufTtcXG5cXG4vKipcXG4gKiBTcGVjaWZpZXMgYSBkZXRlcm1pbmlzdGljIG9yZGVyaW5nIG9mIGBFdmVudFBsdWdpbmBzLiBBIGNvbnZlbmllbnQgd2F5IHRvXFxuICogcmVhc29uIGFib3V0IHBsdWdpbnMsIHdpdGhvdXQgaGF2aW5nIHRvIHBhY2thZ2UgZXZlcnkgb25lIG9mIHRoZW0uIFRoaXNcXG4gKiBpcyBiZXR0ZXIgdGhhbiBoYXZpbmcgcGx1Z2lucyBiZSBvcmRlcmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleVxcbiAqIGFyZSBpbmplY3RlZCBiZWNhdXNlIHRoYXQgb3JkZXJpbmcgd291bGQgYmUgaW5mbHVlbmNlZCBieSB0aGUgcGFja2FnaW5nIG9yZGVyLlxcbiAqIGBSZXNwb25kZXJFdmVudFBsdWdpbmAgbXVzdCBvY2N1ciBiZWZvcmUgYFNpbXBsZUV2ZW50UGx1Z2luYCBzbyB0aGF0XFxuICogcHJldmVudGluZyBkZWZhdWx0IG9uIGV2ZW50cyBpcyBjb252ZW5pZW50IGluIGBTaW1wbGVFdmVudFBsdWdpbmAgaGFuZGxlcnMuXFxuICovXFxuXFxudmFyIERPTUV2ZW50UGx1Z2luT3JkZXIgPSBbJ1Jlc3BvbmRlckV2ZW50UGx1Z2luJywgJ1NpbXBsZUV2ZW50UGx1Z2luJywgJ0VudGVyTGVhdmVFdmVudFBsdWdpbicsICdDaGFuZ2VFdmVudFBsdWdpbicsICdTZWxlY3RFdmVudFBsdWdpbicsICdCZWZvcmVJbnB1dEV2ZW50UGx1Z2luJ107XFxuLyoqXFxuICogSW5qZWN0IG1vZHVsZXMgZm9yIHJlc29sdmluZyBET00gaGllcmFyY2h5IGFuZCBwbHVnaW4gb3JkZXJpbmcuXFxuICovXFxuXFxuaW5qZWN0RXZlbnRQbHVnaW5PcmRlcihET01FdmVudFBsdWdpbk9yZGVyKTtcXG5zZXRDb21wb25lbnRUcmVlKGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMSwgZ2V0SW5zdGFuY2VGcm9tTm9kZSQxLCBnZXROb2RlRnJvbUluc3RhbmNlJDEpO1xcbi8qKlxcbiAqIFNvbWUgaW1wb3J0YW50IGV2ZW50IHBsdWdpbnMgaW5jbHVkZWQgYnkgZGVmYXVsdCAod2l0aG91dCBoYXZpbmcgdG8gcmVxdWlyZVxcbiAqIHRoZW0pLlxcbiAqL1xcblxcbmluamVjdEV2ZW50UGx1Z2luc0J5TmFtZSh7XFxuICBTaW1wbGVFdmVudFBsdWdpbjogU2ltcGxlRXZlbnRQbHVnaW4sXFxuICBFbnRlckxlYXZlRXZlbnRQbHVnaW46IEVudGVyTGVhdmVFdmVudFBsdWdpbixcXG4gIENoYW5nZUV2ZW50UGx1Z2luOiBDaGFuZ2VFdmVudFBsdWdpbixcXG4gIFNlbGVjdEV2ZW50UGx1Z2luOiBTZWxlY3RFdmVudFBsdWdpbixcXG4gIEJlZm9yZUlucHV0RXZlbnRQbHVnaW46IEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cXG59KTtcXG5cXG4vLyBQcmVmaXggbWVhc3VyZW1lbnRzIHNvIHRoYXQgaXQncyBwb3NzaWJsZSB0byBmaWx0ZXIgdGhlbS5cXG4vLyBMb25nZXIgcHJlZml4ZXMgYXJlIGhhcmQgdG8gcmVhZCBpbiBEZXZUb29scy5cXG52YXIgcmVhY3RFbW9qaSA9IFxcXCJcXFxcdTI2OUJcXFwiO1xcbnZhciB3YXJuaW5nRW1vamkgPSBcXFwiXFxcXHUyNkQ0XFxcIjtcXG52YXIgc3VwcG9ydHNVc2VyVGltaW5nID0gdHlwZW9mIHBlcmZvcm1hbmNlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UubWFyayA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UubWVhc3VyZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyA9PT0gJ2Z1bmN0aW9uJzsgLy8gS2VlcCB0cmFjayBvZiBjdXJyZW50IGZpYmVyIHNvIHRoYXQgd2Uga25vdyB0aGUgcGF0aCB0byB1bndpbmQgb24gcGF1c2UuXFxuLy8gVE9ETzogdGhpcyBsb29rcyB0aGUgc2FtZSBhcyBuZXh0VW5pdE9mV29yayBpbiBzY2hlZHVsZXIuIENhbiB3ZSB1bmlmeSB0aGVtP1xcblxcbnZhciBjdXJyZW50RmliZXIgPSBudWxsOyAvLyBJZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIHVzZXIgY29kZSwgd2hpY2ggZmliZXIgYW5kIG1ldGhvZCBpcyBpdD9cXG4vLyBSZXVzaW5nIGBjdXJyZW50RmliZXJgIHdvdWxkIGJlIGNvbmZ1c2luZyBmb3IgdGhpcyBiZWNhdXNlIHVzZXIgY29kZSBmaWJlclxcbi8vIGNhbiBjaGFuZ2UgZHVyaW5nIGNvbW1pdCBwaGFzZSB0b28sIGJ1dCB3ZSBkb24ndCBuZWVkIHRvIHVud2luZCBpdCAoc2luY2VcXG4vLyBsaWZlY3ljbGVzIGluIHRoZSBjb21taXQgcGhhc2UgZG9uJ3QgcmVzZW1ibGUgYSB0cmVlKS5cXG5cXG52YXIgY3VycmVudFBoYXNlID0gbnVsbDtcXG52YXIgY3VycmVudFBoYXNlRmliZXIgPSBudWxsOyAvLyBEaWQgbGlmZWN5Y2xlIGhvb2sgc2NoZWR1bGUgYW4gdXBkYXRlPyBUaGlzIGlzIG9mdGVuIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSxcXG4vLyBzbyB3ZSB3aWxsIGtlZXAgdHJhY2sgb2YgaXQsIGFuZCBpbmNsdWRlIGl0IGluIHRoZSByZXBvcnQuXFxuLy8gVHJhY2sgY29tbWl0cyBjYXVzZWQgYnkgY2FzY2FkaW5nIHVwZGF0ZXMuXFxuXFxudmFyIGlzQ29tbWl0dGluZyA9IGZhbHNlO1xcbnZhciBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRDb21taXQgPSBmYWxzZTtcXG52YXIgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50UGhhc2UgPSBmYWxzZTtcXG52YXIgY29tbWl0Q291bnRJbkN1cnJlbnRXb3JrTG9vcCA9IDA7XFxudmFyIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4vLyB0byBhdm9pZCBzdHJldGNoIHRoZSBjb21taXQgcGhhc2Ugd2l0aCBtZWFzdXJlbWVudCBvdmVyaGVhZC5cXG5cXG52YXIgbGFiZWxzSW5DdXJyZW50Q29tbWl0ID0gbmV3IFNldCgpO1xcblxcbnZhciBmb3JtYXRNYXJrTmFtZSA9IGZ1bmN0aW9uIChtYXJrTmFtZSkge1xcbiAgcmV0dXJuIHJlYWN0RW1vamkgKyBcXFwiIFxcXCIgKyBtYXJrTmFtZTtcXG59O1xcblxcbnZhciBmb3JtYXRMYWJlbCA9IGZ1bmN0aW9uIChsYWJlbCwgd2FybmluZykge1xcbiAgdmFyIHByZWZpeCA9IHdhcm5pbmcgPyB3YXJuaW5nRW1vamkgKyBcXFwiIFxcXCIgOiByZWFjdEVtb2ppICsgXFxcIiBcXFwiO1xcbiAgdmFyIHN1ZmZpeCA9IHdhcm5pbmcgPyBcXFwiIFdhcm5pbmc6IFxcXCIgKyB3YXJuaW5nIDogJyc7XFxuICByZXR1cm4gXFxcIlxcXCIgKyBwcmVmaXggKyBsYWJlbCArIHN1ZmZpeDtcXG59O1xcblxcbnZhciBiZWdpbk1hcmsgPSBmdW5jdGlvbiAobWFya05hbWUpIHtcXG4gIHBlcmZvcm1hbmNlLm1hcmsoZm9ybWF0TWFya05hbWUobWFya05hbWUpKTtcXG59O1xcblxcbnZhciBjbGVhck1hcmsgPSBmdW5jdGlvbiAobWFya05hbWUpIHtcXG4gIHBlcmZvcm1hbmNlLmNsZWFyTWFya3MoZm9ybWF0TWFya05hbWUobWFya05hbWUpKTtcXG59O1xcblxcbnZhciBlbmRNYXJrID0gZnVuY3Rpb24gKGxhYmVsLCBtYXJrTmFtZSwgd2FybmluZykge1xcbiAgdmFyIGZvcm1hdHRlZE1hcmtOYW1lID0gZm9ybWF0TWFya05hbWUobWFya05hbWUpO1xcbiAgdmFyIGZvcm1hdHRlZExhYmVsID0gZm9ybWF0TGFiZWwobGFiZWwsIHdhcm5pbmcpO1xcblxcbiAgdHJ5IHtcXG4gICAgcGVyZm9ybWFuY2UubWVhc3VyZShmb3JtYXR0ZWRMYWJlbCwgZm9ybWF0dGVkTWFya05hbWUpO1xcbiAgfSBjYXRjaCAoZXJyKSB7fSAvLyBJZiBwcmV2aW91cyBtYXJrIHdhcyBtaXNzaW5nIGZvciBzb21lIHJlYXNvbiwgdGhpcyB3aWxsIHRocm93LlxcbiAgLy8gVGhpcyBjb3VsZCBvbmx5IGhhcHBlbiBpZiBSZWFjdCBjcmFzaGVkIGluIGFuIHVuZXhwZWN0ZWQgcGxhY2UgZWFybGllci5cXG4gIC8vIERvbid0IHBpbGUgb24gd2l0aCBtb3JlIGVycm9ycy5cXG4gIC8vIENsZWFyIG1hcmtzIGltbWVkaWF0ZWx5IHRvIGF2b2lkIGdyb3dpbmcgYnVmZmVyLlxcblxcblxcbiAgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhmb3JtYXR0ZWRNYXJrTmFtZSk7XFxuICBwZXJmb3JtYW5jZS5jbGVhck1lYXN1cmVzKGZvcm1hdHRlZExhYmVsKTtcXG59O1xcblxcbnZhciBnZXRGaWJlck1hcmtOYW1lID0gZnVuY3Rpb24gKGxhYmVsLCBkZWJ1Z0lEKSB7XFxuICByZXR1cm4gbGFiZWwgKyBcXFwiICgjXFxcIiArIGRlYnVnSUQgKyBcXFwiKVxcXCI7XFxufTtcXG5cXG52YXIgZ2V0RmliZXJMYWJlbCA9IGZ1bmN0aW9uIChjb21wb25lbnROYW1lLCBpc01vdW50ZWQsIHBoYXNlKSB7XFxuICBpZiAocGhhc2UgPT09IG51bGwpIHtcXG4gICAgLy8gVGhlc2UgYXJlIGNvbXBvc2l0ZSBjb21wb25lbnQgdG90YWwgdGltZSBtZWFzdXJlbWVudHMuXFxuICAgIHJldHVybiBjb21wb25lbnROYW1lICsgXFxcIiBbXFxcIiArIChpc01vdW50ZWQgPyAndXBkYXRlJyA6ICdtb3VudCcpICsgXFxcIl1cXFwiO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQ29tcG9zaXRlIGNvbXBvbmVudCBtZXRob2RzLlxcbiAgICByZXR1cm4gY29tcG9uZW50TmFtZSArIFxcXCIuXFxcIiArIHBoYXNlO1xcbiAgfVxcbn07XFxuXFxudmFyIGJlZ2luRmliZXJNYXJrID0gZnVuY3Rpb24gKGZpYmVyLCBwaGFzZSkge1xcbiAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdVbmtub3duJztcXG4gIHZhciBkZWJ1Z0lEID0gZmliZXIuX2RlYnVnSUQ7XFxuICB2YXIgaXNNb3VudGVkID0gZmliZXIuYWx0ZXJuYXRlICE9PSBudWxsO1xcbiAgdmFyIGxhYmVsID0gZ2V0RmliZXJMYWJlbChjb21wb25lbnROYW1lLCBpc01vdW50ZWQsIHBoYXNlKTtcXG5cXG4gIGlmIChpc0NvbW1pdHRpbmcgJiYgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmhhcyhsYWJlbCkpIHtcXG4gICAgLy8gRHVyaW5nIHRoZSBjb21taXQgcGhhc2UsIHdlIGRvbid0IHNob3cgZHVwbGljYXRlIGxhYmVscyBiZWNhdXNlXFxuICAgIC8vIHRoZXJlIGlzIGEgZml4ZWQgb3ZlcmhlYWQgZm9yIGV2ZXJ5IG1lYXN1cmVtZW50LCBhbmQgd2UgZG9uJ3RcXG4gICAgLy8gd2FudCB0byBzdHJldGNoIHRoZSBjb21taXQgcGhhc2UgYmV5b25kIG5lY2Vzc2FyeS5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmFkZChsYWJlbCk7XFxuICB2YXIgbWFya05hbWUgPSBnZXRGaWJlck1hcmtOYW1lKGxhYmVsLCBkZWJ1Z0lEKTtcXG4gIGJlZ2luTWFyayhtYXJrTmFtZSk7XFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbnZhciBjbGVhckZpYmVyTWFyayA9IGZ1bmN0aW9uIChmaWJlciwgcGhhc2UpIHtcXG4gIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnVW5rbm93bic7XFxuICB2YXIgZGVidWdJRCA9IGZpYmVyLl9kZWJ1Z0lEO1xcbiAgdmFyIGlzTW91bnRlZCA9IGZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbDtcXG4gIHZhciBsYWJlbCA9IGdldEZpYmVyTGFiZWwoY29tcG9uZW50TmFtZSwgaXNNb3VudGVkLCBwaGFzZSk7XFxuICB2YXIgbWFya05hbWUgPSBnZXRGaWJlck1hcmtOYW1lKGxhYmVsLCBkZWJ1Z0lEKTtcXG4gIGNsZWFyTWFyayhtYXJrTmFtZSk7XFxufTtcXG5cXG52YXIgZW5kRmliZXJNYXJrID0gZnVuY3Rpb24gKGZpYmVyLCBwaGFzZSwgd2FybmluZykge1xcbiAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdVbmtub3duJztcXG4gIHZhciBkZWJ1Z0lEID0gZmliZXIuX2RlYnVnSUQ7XFxuICB2YXIgaXNNb3VudGVkID0gZmliZXIuYWx0ZXJuYXRlICE9PSBudWxsO1xcbiAgdmFyIGxhYmVsID0gZ2V0RmliZXJMYWJlbChjb21wb25lbnROYW1lLCBpc01vdW50ZWQsIHBoYXNlKTtcXG4gIHZhciBtYXJrTmFtZSA9IGdldEZpYmVyTWFya05hbWUobGFiZWwsIGRlYnVnSUQpO1xcbiAgZW5kTWFyayhsYWJlbCwgbWFya05hbWUsIHdhcm5pbmcpO1xcbn07XFxuXFxudmFyIHNob3VsZElnbm9yZUZpYmVyID0gZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAvLyBIb3N0IGNvbXBvbmVudHMgc2hvdWxkIGJlIHNraXBwZWQgaW4gdGhlIHRpbWVsaW5lLlxcbiAgLy8gV2UgY291bGQgY2hlY2sgdHlwZW9mIGZpYmVyLnR5cGUsIGJ1dCBkb2VzIHRoaXMgd29yayB3aXRoIFJOP1xcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcXG4gICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgIGNhc2UgRnJhZ21lbnQ6XFxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxcbiAgICBjYXNlIENvbnRleHRDb25zdW1lcjpcXG4gICAgY2FzZSBNb2RlOlxcbiAgICAgIHJldHVybiB0cnVlO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG59O1xcblxcbnZhciBjbGVhclBlbmRpbmdQaGFzZU1lYXN1cmVtZW50ID0gZnVuY3Rpb24gKCkge1xcbiAgaWYgKGN1cnJlbnRQaGFzZSAhPT0gbnVsbCAmJiBjdXJyZW50UGhhc2VGaWJlciAhPT0gbnVsbCkge1xcbiAgICBjbGVhckZpYmVyTWFyayhjdXJyZW50UGhhc2VGaWJlciwgY3VycmVudFBoYXNlKTtcXG4gIH1cXG5cXG4gIGN1cnJlbnRQaGFzZUZpYmVyID0gbnVsbDtcXG4gIGN1cnJlbnRQaGFzZSA9IG51bGw7XFxuICBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA9IGZhbHNlO1xcbn07XFxuXFxudmFyIHBhdXNlVGltZXJzID0gZnVuY3Rpb24gKCkge1xcbiAgLy8gU3RvcHMgYWxsIGN1cnJlbnRseSBhY3RpdmUgbWVhc3VyZW1lbnRzIHNvIHRoYXQgdGhleSBjYW4gYmUgcmVzdW1lZFxcbiAgLy8gaWYgd2UgY29udGludWUgaW4gYSBsYXRlciBkZWZlcnJlZCBsb29wIGZyb20gdGhlIHNhbWUgdW5pdCBvZiB3b3JrLlxcbiAgdmFyIGZpYmVyID0gY3VycmVudEZpYmVyO1xcblxcbiAgd2hpbGUgKGZpYmVyKSB7XFxuICAgIGlmIChmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZykge1xcbiAgICAgIGVuZEZpYmVyTWFyayhmaWJlciwgbnVsbCwgbnVsbCk7XFxuICAgIH1cXG5cXG4gICAgZmliZXIgPSBmaWJlci5yZXR1cm47XFxuICB9XFxufTtcXG5cXG52YXIgcmVzdW1lVGltZXJzUmVjdXJzaXZlbHkgPSBmdW5jdGlvbiAoZmliZXIpIHtcXG4gIGlmIChmaWJlci5yZXR1cm4gIT09IG51bGwpIHtcXG4gICAgcmVzdW1lVGltZXJzUmVjdXJzaXZlbHkoZmliZXIucmV0dXJuKTtcXG4gIH1cXG5cXG4gIGlmIChmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZykge1xcbiAgICBiZWdpbkZpYmVyTWFyayhmaWJlciwgbnVsbCk7XFxuICB9XFxufTtcXG5cXG52YXIgcmVzdW1lVGltZXJzID0gZnVuY3Rpb24gKCkge1xcbiAgLy8gUmVzdW1lcyBhbGwgbWVhc3VyZW1lbnRzIHRoYXQgd2VyZSBhY3RpdmUgZHVyaW5nIHRoZSBsYXN0IGRlZmVycmVkIGxvb3AuXFxuICBpZiAoY3VycmVudEZpYmVyICE9PSBudWxsKSB7XFxuICAgIHJlc3VtZVRpbWVyc1JlY3Vyc2l2ZWx5KGN1cnJlbnRGaWJlcik7XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiByZWNvcmRFZmZlY3QoKSB7XFxuICB7XFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0Kys7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlY29yZFNjaGVkdWxlVXBkYXRlKCkge1xcbiAge1xcbiAgICBpZiAoaXNDb21taXR0aW5nKSB7XFxuICAgICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAoY3VycmVudFBoYXNlICE9PSBudWxsICYmIGN1cnJlbnRQaGFzZSAhPT0gJ2NvbXBvbmVudFdpbGxNb3VudCcgJiYgY3VycmVudFBoYXNlICE9PSAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycpIHtcXG4gICAgICBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRXb3JrVGltZXIoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcgfHwgc2hvdWxkSWdub3JlRmliZXIoZmliZXIpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIHBhdXNlLCB0aGlzIGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cXG5cXG5cXG4gICAgY3VycmVudEZpYmVyID0gZmliZXI7XFxuXFxuICAgIGlmICghYmVnaW5GaWJlck1hcmsoZmliZXIsIG51bGwpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gdHJ1ZTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gY2FuY2VsV29ya1RpbWVyKGZpYmVyKSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nIHx8IHNob3VsZElnbm9yZUZpYmVyKGZpYmVyKSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfSAvLyBSZW1lbWJlciB3ZSBzaG91bGRuJ3QgY29tcGxldGUgbWVhc3VyZW1lbnQgZm9yIHRoaXMgZmliZXIuXFxuICAgIC8vIE90aGVyd2lzZSBmbGFtZWNoYXJ0IHdpbGwgYmUgZGVlcCBldmVuIGZvciBzbWFsbCB1cGRhdGVzLlxcblxcblxcbiAgICBmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZyA9IGZhbHNlO1xcbiAgICBjbGVhckZpYmVyTWFyayhmaWJlciwgbnVsbCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BXb3JrVGltZXIoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcgfHwgc2hvdWxkSWdub3JlRmliZXIoZmliZXIpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIHBhdXNlLCBpdHMgcGFyZW50IGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cXG5cXG5cXG4gICAgY3VycmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xcblxcbiAgICBpZiAoIWZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XFxuICAgIGVuZEZpYmVyTWFyayhmaWJlciwgbnVsbCwgbnVsbCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BGYWlsZWRXb3JrVGltZXIoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcgfHwgc2hvdWxkSWdub3JlRmliZXIoZmliZXIpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIHBhdXNlLCBpdHMgcGFyZW50IGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cXG5cXG5cXG4gICAgY3VycmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xcblxcbiAgICBpZiAoIWZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XFxuICAgIHZhciB3YXJuaW5nID0gZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCA/ICdSZW5kZXJpbmcgd2FzIHN1c3BlbmRlZCcgOiAnQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgdGhpcyBlcnJvciBib3VuZGFyeSc7XFxuICAgIGVuZEZpYmVyTWFyayhmaWJlciwgbnVsbCwgd2FybmluZyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0YXJ0UGhhc2VUaW1lcihmaWJlciwgcGhhc2UpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgY2xlYXJQZW5kaW5nUGhhc2VNZWFzdXJlbWVudCgpO1xcblxcbiAgICBpZiAoIWJlZ2luRmliZXJNYXJrKGZpYmVyLCBwaGFzZSkpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgY3VycmVudFBoYXNlRmliZXIgPSBmaWJlcjtcXG4gICAgY3VycmVudFBoYXNlID0gcGhhc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BQaGFzZVRpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoY3VycmVudFBoYXNlICE9PSBudWxsICYmIGN1cnJlbnRQaGFzZUZpYmVyICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHdhcm5pbmcgPSBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA/ICdTY2hlZHVsZWQgYSBjYXNjYWRpbmcgdXBkYXRlJyA6IG51bGw7XFxuICAgICAgZW5kRmliZXJNYXJrKGN1cnJlbnRQaGFzZUZpYmVyLCBjdXJyZW50UGhhc2UsIHdhcm5pbmcpO1xcbiAgICB9XFxuXFxuICAgIGN1cnJlbnRQaGFzZSA9IG51bGw7XFxuICAgIGN1cnJlbnRQaGFzZUZpYmVyID0gbnVsbDtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRXb3JrTG9vcFRpbWVyKG5leHRVbml0T2ZXb3JrKSB7XFxuICB7XFxuICAgIGN1cnJlbnRGaWJlciA9IG5leHRVbml0T2ZXb3JrO1xcblxcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID0gMDsgLy8gVGhpcyBpcyB0b3AgbGV2ZWwgY2FsbC5cXG4gICAgLy8gQW55IG90aGVyIG1lYXN1cmVtZW50cyBhcmUgcGVyZm9ybWVkIHdpdGhpbi5cXG5cXG4gICAgYmVnaW5NYXJrKCcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbiknKTsgLy8gUmVzdW1lIGFueSBtZWFzdXJlbWVudHMgdGhhdCB3ZXJlIGluIHByb2dyZXNzIGR1cmluZyB0aGUgbGFzdCBsb29wLlxcblxcbiAgICByZXN1bWVUaW1lcnMoKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RvcFdvcmtMb29wVGltZXIoaW50ZXJydXB0ZWRCeSwgZGlkQ29tcGxldGVSb290KSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciB3YXJuaW5nID0gbnVsbDtcXG5cXG4gICAgaWYgKGludGVycnVwdGVkQnkgIT09IG51bGwpIHtcXG4gICAgICBpZiAoaW50ZXJydXB0ZWRCeS50YWcgPT09IEhvc3RSb290KSB7XFxuICAgICAgICB3YXJuaW5nID0gJ0EgdG9wLWxldmVsIHVwZGF0ZSBpbnRlcnJ1cHRlZCB0aGUgcHJldmlvdXMgcmVuZGVyJztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGludGVycnVwdGVkQnkudHlwZSkgfHwgJ1Vua25vd24nO1xcbiAgICAgICAgd2FybmluZyA9IFxcXCJBbiB1cGRhdGUgdG8gXFxcIiArIGNvbXBvbmVudE5hbWUgKyBcXFwiIGludGVycnVwdGVkIHRoZSBwcmV2aW91cyByZW5kZXJcXFwiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID4gMSkge1xcbiAgICAgIHdhcm5pbmcgPSAnVGhlcmUgd2VyZSBjYXNjYWRpbmcgdXBkYXRlcyc7XFxuICAgIH1cXG5cXG4gICAgY29tbWl0Q291bnRJbkN1cnJlbnRXb3JrTG9vcCA9IDA7XFxuICAgIHZhciBsYWJlbCA9IGRpZENvbXBsZXRlUm9vdCA/ICcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbjogQ29tcGxldGVkIFJvb3QpJyA6ICcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbjogWWllbGRlZCknOyAvLyBQYXVzZSBhbnkgbWVhc3VyZW1lbnRzIHVudGlsIHRoZSBuZXh0IGxvb3AuXFxuXFxuICAgIHBhdXNlVGltZXJzKCk7XFxuICAgIGVuZE1hcmsobGFiZWwsICcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbiknLCB3YXJuaW5nKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRDb21taXRUaW1lcigpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaXNDb21taXR0aW5nID0gdHJ1ZTtcXG4gICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gZmFsc2U7XFxuICAgIGxhYmVsc0luQ3VycmVudENvbW1pdC5jbGVhcigpO1xcbiAgICBiZWdpbk1hcmsoJyhDb21taXR0aW5nIENoYW5nZXMpJyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BDb21taXRUaW1lcigpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIHdhcm5pbmcgPSBudWxsO1xcblxcbiAgICBpZiAoaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0KSB7XFxuICAgICAgd2FybmluZyA9ICdMaWZlY3ljbGUgaG9vayBzY2hlZHVsZWQgYSBjYXNjYWRpbmcgdXBkYXRlJztcXG4gICAgfSBlbHNlIGlmIChjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID4gMCkge1xcbiAgICAgIHdhcm5pbmcgPSAnQ2F1c2VkIGJ5IGEgY2FzY2FkaW5nIHVwZGF0ZSBpbiBlYXJsaWVyIGNvbW1pdCc7XFxuICAgIH1cXG5cXG4gICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gZmFsc2U7XFxuICAgIGNvbW1pdENvdW50SW5DdXJyZW50V29ya0xvb3ArKztcXG4gICAgaXNDb21taXR0aW5nID0gZmFsc2U7XFxuICAgIGxhYmVsc0luQ3VycmVudENvbW1pdC5jbGVhcigpO1xcbiAgICBlbmRNYXJrKCcoQ29tbWl0dGluZyBDaGFuZ2VzKScsICcoQ29tbWl0dGluZyBDaGFuZ2VzKScsIHdhcm5pbmcpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzdGFydENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdCA9IDA7XFxuICAgIGJlZ2luTWFyaygnKENvbW1pdHRpbmcgU25hcHNob3QgRWZmZWN0cyknKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RvcENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgY291bnQgPSBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdDtcXG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xcbiAgICBlbmRNYXJrKFxcXCIoQ29tbWl0dGluZyBTbmFwc2hvdCBFZmZlY3RzOiBcXFwiICsgY291bnQgKyBcXFwiIFRvdGFsKVxcXCIsICcoQ29tbWl0dGluZyBTbmFwc2hvdCBFZmZlY3RzKScsIG51bGwpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzdGFydENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4gICAgYmVnaW5NYXJrKCcoQ29tbWl0dGluZyBIb3N0IEVmZmVjdHMpJyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BDb21taXRIb3N0RWZmZWN0c1RpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgY291bnQgPSBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdDtcXG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xcbiAgICBlbmRNYXJrKFxcXCIoQ29tbWl0dGluZyBIb3N0IEVmZmVjdHM6IFxcXCIgKyBjb3VudCArIFxcXCIgVG90YWwpXFxcIiwgJyhDb21taXR0aW5nIEhvc3QgRWZmZWN0cyknLCBudWxsKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4gICAgYmVnaW5NYXJrKCcoQ2FsbGluZyBMaWZlY3ljbGUgTWV0aG9kcyknKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGNvdW50ID0gZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQ7XFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4gICAgZW5kTWFyayhcXFwiKENhbGxpbmcgTGlmZWN5Y2xlIE1ldGhvZHM6IFxcXCIgKyBjb3VudCArIFxcXCIgVG90YWwpXFxcIiwgJyhDYWxsaW5nIExpZmVjeWNsZSBNZXRob2RzKScsIG51bGwpO1xcbiAgfVxcbn1cXG5cXG52YXIgdmFsdWVTdGFjayA9IFtdO1xcbnZhciBmaWJlclN0YWNrO1xcblxcbntcXG4gIGZpYmVyU3RhY2sgPSBbXTtcXG59XFxuXFxudmFyIGluZGV4ID0gLTE7XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ3Vyc29yKGRlZmF1bHRWYWx1ZSkge1xcbiAgcmV0dXJuIHtcXG4gICAgY3VycmVudDogZGVmYXVsdFZhbHVlXFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBwb3AoY3Vyc29yLCBmaWJlcikge1xcbiAgaWYgKGluZGV4IDwgMCkge1xcbiAgICB7XFxuICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcG9wLicpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKGZpYmVyICE9PSBmaWJlclN0YWNrW2luZGV4XSkge1xcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIEZpYmVyIHBvcHBlZC4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgY3Vyc29yLmN1cnJlbnQgPSB2YWx1ZVN0YWNrW2luZGV4XTtcXG4gIHZhbHVlU3RhY2tbaW5kZXhdID0gbnVsbDtcXG5cXG4gIHtcXG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBudWxsO1xcbiAgfVxcblxcbiAgaW5kZXgtLTtcXG59XFxuXFxuZnVuY3Rpb24gcHVzaChjdXJzb3IsIHZhbHVlLCBmaWJlcikge1xcbiAgaW5kZXgrKztcXG4gIHZhbHVlU3RhY2tbaW5kZXhdID0gY3Vyc29yLmN1cnJlbnQ7XFxuXFxuICB7XFxuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gZmliZXI7XFxuICB9XFxuXFxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlO1xcbn1cXG5cXG52YXIgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0O1xcblxcbntcXG4gIHdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dCA9IHt9O1xcbn1cXG5cXG52YXIgZW1wdHlDb250ZXh0T2JqZWN0ID0ge307XFxuXFxue1xcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eUNvbnRleHRPYmplY3QpO1xcbn0gLy8gQSBjdXJzb3IgdG8gdGhlIGN1cnJlbnQgbWVyZ2VkIGNvbnRleHQgb2JqZWN0IG9uIHRoZSBzdGFjay5cXG5cXG5cXG52YXIgY29udGV4dFN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKGVtcHR5Q29udGV4dE9iamVjdCk7IC8vIEEgY3Vyc29yIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbnRleHQgaGFzIGNoYW5nZWQuXFxuXFxudmFyIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoZmFsc2UpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBwcmV2aW91cyBjb250ZXh0IG9iamVjdCB0aGF0IHdhcyBvbiB0aGUgc3RhY2suXFxuLy8gV2UgdXNlIHRoaXMgdG8gZ2V0IGFjY2VzcyB0byB0aGUgcGFyZW50IGNvbnRleHQgYWZ0ZXIgd2UgaGF2ZSBhbHJlYWR5XFxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cXG5cXG52YXIgcHJldmlvdXNDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xcblxcbmZ1bmN0aW9uIGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBkaWRQdXNoT3duQ29udGV4dElmUHJvdmlkZXIpIHtcXG4gIHtcXG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XFxuICAgICAgLy8gSWYgdGhlIGZpYmVyIGlzIGEgY29udGV4dCBwcm92aWRlciBpdHNlbGYsIHdoZW4gd2UgcmVhZCBpdHMgY29udGV4dFxcbiAgICAgIC8vIHdlIG1heSBoYXZlIGFscmVhZHkgcHVzaGVkIGl0cyBvd24gY2hpbGQgY29udGV4dCBvbiB0aGUgc3RhY2suIEEgY29udGV4dFxcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXFxcInNlZVxcXCIgaXRzIG93biBjaGlsZCBjb250ZXh0LiBUaGVyZWZvcmUgd2UgcmVhZCB0aGVcXG4gICAgICAvLyBwcmV2aW91cyAocGFyZW50KSBjb250ZXh0IGluc3RlYWQgZm9yIGEgY29udGV4dCBwcm92aWRlci5cXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIG1hc2tlZENvbnRleHQpIHtcXG4gIHtcXG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcbiAgICBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID0gdW5tYXNrZWRDb250ZXh0O1xcbiAgICBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dCA9IG1hc2tlZENvbnRleHQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xcbiAge1xcbiAgICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcXG5cXG4gICAgaWYgKCFjb250ZXh0VHlwZXMpIHtcXG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xcbiAgICB9IC8vIEF2b2lkIHJlY3JlYXRpbmcgbWFza2VkIGNvbnRleHQgdW5sZXNzIHVubWFza2VkIGNvbnRleHQgaGFzIGNoYW5nZWQuXFxuICAgIC8vIEZhaWxpbmcgdG8gZG8gdGhpcyB3aWxsIHJlc3VsdCBpbiB1bm5lY2Vzc2FyeSBjYWxscyB0byBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLlxcbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXFxuXFxuXFxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG5cXG4gICAgaWYgKGluc3RhbmNlICYmIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPT09IHVubWFza2VkQ29udGV4dCkge1xcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcXG4gICAgfVxcblxcbiAgICB2YXIgY29udGV4dCA9IHt9O1xcblxcbiAgICBmb3IgKHZhciBrZXkgaW4gY29udGV4dFR5cGVzKSB7XFxuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnVW5rbm93bic7XFxuICAgICAgY2hlY2tQcm9wVHlwZXMoY29udGV4dFR5cGVzLCBjb250ZXh0LCAnY29udGV4dCcsIG5hbWUsIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICB9IC8vIENhY2hlIHVubWFza2VkIGNvbnRleHQgc28gd2UgY2FuIGF2b2lkIHJlY3JlYXRpbmcgbWFza2VkIGNvbnRleHQgdW5sZXNzIG5lY2Vzc2FyeS5cXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXFxuXFxuXFxuICAgIGlmIChpbnN0YW5jZSkge1xcbiAgICAgIGNhY2hlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0LCBjb250ZXh0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gY29udGV4dDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFzQ29udGV4dENoYW5nZWQoKSB7XFxuICB7XFxuICAgIHJldHVybiBkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLmN1cnJlbnQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKHR5cGUpIHtcXG4gIHtcXG4gICAgdmFyIGNoaWxkQ29udGV4dFR5cGVzID0gdHlwZS5jaGlsZENvbnRleHRUeXBlcztcXG4gICAgcmV0dXJuIGNoaWxkQ29udGV4dFR5cGVzICE9PSBudWxsICYmIGNoaWxkQ29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcXG4gIHtcXG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcXG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwb3BUb3BMZXZlbENvbnRleHRPYmplY3QoZmliZXIpIHtcXG4gIHtcXG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcXG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwdXNoVG9wTGV2ZWxDb250ZXh0T2JqZWN0KGZpYmVyLCBjb250ZXh0LCBkaWRDaGFuZ2UpIHtcXG4gIHtcXG4gICAgaWYgKCEoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgPT09IGVtcHR5Q29udGV4dE9iamVjdCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVuZXhwZWN0ZWQgY29udGV4dCBmb3VuZCBvbiBzdGFjay4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBjb250ZXh0LCBmaWJlcik7XFxuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHByb2Nlc3NDaGlsZENvbnRleHQoZmliZXIsIHR5cGUsIHBhcmVudENvbnRleHQpIHtcXG4gIHtcXG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzOyAvLyBUT0RPIChidmF1Z2huKSBSZXBsYWNlIHRoaXMgYmVoYXZpb3Igd2l0aCBhbiBpbnZhcmlhbnQoKSBpbiB0aGUgZnV0dXJlLlxcbiAgICAvLyBJdCBoYXMgb25seSBiZWVuIGFkZGVkIGluIEZpYmVyIHRvIG1hdGNoIHRoZSAodW5pbnRlbnRpb25hbCkgYmVoYXZpb3IgaW4gU3RhY2suXFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0ICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAge1xcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHR5cGUpIHx8ICdVbmtub3duJztcXG5cXG4gICAgICAgIGlmICghd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0W2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICAgIHdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dFtjb21wb25lbnROYW1lXSA9IHRydWU7XFxuXFxuICAgICAgICAgIGVycm9yKCclcy5jaGlsZENvbnRleHRUeXBlcyBpcyBzcGVjaWZpZWQgYnV0IHRoZXJlIGlzIG5vIGdldENoaWxkQ29udGV4dCgpIG1ldGhvZCAnICsgJ29uIHRoZSBpbnN0YW5jZS4gWW91IGNhbiBlaXRoZXIgZGVmaW5lIGdldENoaWxkQ29udGV4dCgpIG9uICVzIG9yIHJlbW92ZSAnICsgJ2NoaWxkQ29udGV4dFR5cGVzIGZyb20gaXQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiBwYXJlbnRDb250ZXh0O1xcbiAgICB9XFxuXFxuICAgIHZhciBjaGlsZENvbnRleHQ7XFxuICAgIHN0YXJ0UGhhc2VUaW1lcihmaWJlciwgJ2dldENoaWxkQ29udGV4dCcpO1xcbiAgICBjaGlsZENvbnRleHQgPSBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQoKTtcXG4gICAgc3RvcFBoYXNlVGltZXIoKTtcXG5cXG4gICAgZm9yICh2YXIgY29udGV4dEtleSBpbiBjaGlsZENvbnRleHQpIHtcXG4gICAgICBpZiAoIShjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dFR5cGVzKSkge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggKGdldENvbXBvbmVudE5hbWUodHlwZSkgfHwgJ1Vua25vd24nKSArIFxcXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFxcXFxcIlxcXCIgKyBjb250ZXh0S2V5ICsgXFxcIlxcXFxcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlxcXCIgKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnVW5rbm93bic7XFxuICAgICAgY2hlY2tQcm9wVHlwZXMoY2hpbGRDb250ZXh0VHlwZXMsIGNoaWxkQ29udGV4dCwgJ2NoaWxkIGNvbnRleHQnLCBuYW1lLCAvLyBJbiBwcmFjdGljZSwgdGhlcmUgaXMgb25lIGNhc2UgaW4gd2hpY2ggd2Ugd29uJ3QgZ2V0IGEgc3RhY2suIEl0J3Mgd2hlblxcbiAgICAgIC8vIHNvbWVib2R5IGNhbGxzIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKCkgYW5kIHdlIHByb2Nlc3NcXG4gICAgICAvLyBjb250ZXh0IGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQgaW5zdGFuY2UuIFRoZSBzdGFjayB3aWxsIGJlIG1pc3NpbmdcXG4gICAgICAvLyBiZWNhdXNlIGl0J3Mgb3V0c2lkZSBvZiB0aGUgcmVjb25jaWxpYXRpb24sIGFuZCBzbyB0aGUgcG9pbnRlciBoYXMgbm90XFxuICAgICAgLy8gYmVlbiBzZXQuIFRoaXMgaXMgcmFyZSBhbmQgZG9lc24ndCBtYXR0ZXIuIFdlJ2xsIGFsc28gcmVtb3ZlIHRoYXQgQVBJLlxcbiAgICAgIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBfYXNzaWduKHt9LCBwYXJlbnRDb250ZXh0LCB7fSwgY2hpbGRDb250ZXh0KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcykge1xcbiAge1xcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cXG4gICAgLy8gSWYgdGhlIGluc3RhbmNlIGRvZXMgbm90IGV4aXN0IHlldCwgd2Ugd2lsbCBwdXNoIG51bGwgYXQgZmlyc3QsXFxuICAgIC8vIGFuZCByZXBsYWNlIGl0IG9uIHRoZSBzdGFjayBsYXRlciB3aGVuIGludmFsaWRhdGluZyB0aGUgY29udGV4dC5cXG5cXG4gICAgdmFyIG1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gaW5zdGFuY2UgJiYgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgfHwgZW1wdHlDb250ZXh0T2JqZWN0OyAvLyBSZW1lbWJlciB0aGUgcGFyZW50IGNvbnRleHQgc28gd2UgY2FuIG1lcmdlIHdpdGggaXQgbGF0ZXIuXFxuICAgIC8vIEluaGVyaXQgdGhlIHBhcmVudCdzIGRpZC1wZXJmb3JtLXdvcmsgdmFsdWUgdG8gYXZvaWQgaW5hZHZlcnRlbnRseSBibG9ja2luZyB1cGRhdGVzLlxcblxcbiAgICBwcmV2aW91c0NvbnRleHQgPSBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcXG4gICAgcHVzaChjb250ZXh0U3RhY2tDdXJzb3IsIG1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCB0eXBlLCBkaWRDaGFuZ2UpIHtcXG4gIHtcXG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcblxcbiAgICBpZiAoIWluc3RhbmNlKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCB0byBoYXZlIGFuIGluc3RhbmNlIGJ5IHRoaXMgcG9pbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoZGlkQ2hhbmdlKSB7XFxuICAgICAgLy8gTWVyZ2UgcGFyZW50IGFuZCBvd24gY29udGV4dC5cXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXFxuICAgICAgLy8gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcmlseSByZWNvbXB1dGluZyBtZW1vaXplZCB2YWx1ZXMuXFxuICAgICAgdmFyIG1lcmdlZENvbnRleHQgPSBwcm9jZXNzQ2hpbGRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB0eXBlLCBwcmV2aW91c0NvbnRleHQpO1xcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxcbiAgICAgIC8vIEl0IGlzIGltcG9ydGFudCB0byB1bndpbmQgdGhlIGNvbnRleHQgaW4gdGhlIHJldmVyc2Ugb3JkZXIuXFxuXFxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcXG4gICAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCB3b3JrSW5Qcm9ncmVzcyk7IC8vIE5vdyBwdXNoIHRoZSBuZXcgY29udGV4dCBhbmQgbWFyayB0aGF0IGl0IGhhcyBjaGFuZ2VkLlxcblxcbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcXG4gIHtcXG4gICAgLy8gQ3VycmVudGx5IHRoaXMgaXMgb25seSB1c2VkIHdpdGggcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7IG5vdCBzdXJlIGlmIGl0XFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxcbiAgICBpZiAoIShpc0ZpYmVyTW91bnRlZChmaWJlcikgJiYgZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV4cGVjdGVkIHN1YnRyZWUgcGFyZW50IHRvIGJlIGEgbW91bnRlZCBjbGFzcyBjb21wb25lbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xcblxcbiAgICBkbyB7XFxuICAgICAgc3dpdGNoIChub2RlLnRhZykge1xcbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLmNvbnRleHQ7XFxuXFxuICAgICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIENvbXBvbmVudCA9IG5vZGUudHlwZTtcXG5cXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICAgICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgIH0gd2hpbGUgKG5vZGUgIT09IG51bGwpO1xcblxcbiAgICB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgcGFyZW50LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIExlZ2FjeVJvb3QgPSAwO1xcbnZhciBCbG9ja2luZ1Jvb3QgPSAxO1xcbnZhciBDb25jdXJyZW50Um9vdCA9IDI7XFxuXFxudmFyIFNjaGVkdWxlcl9ydW5XaXRoUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5LFxcbiAgICBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayA9IFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLFxcbiAgICBTY2hlZHVsZXJfY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssXFxuICAgIFNjaGVkdWxlcl9zaG91bGRZaWVsZCA9IFNjaGVkdWxlci51bnN0YWJsZV9zaG91bGRZaWVsZCxcXG4gICAgU2NoZWR1bGVyX3JlcXVlc3RQYWludCA9IFNjaGVkdWxlci51bnN0YWJsZV9yZXF1ZXN0UGFpbnQsXFxuICAgIFNjaGVkdWxlcl9ub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93LFxcbiAgICBTY2hlZHVsZXJfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwgPSBTY2hlZHVsZXIudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsXFxuICAgIFNjaGVkdWxlcl9JbW1lZGlhdGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxcXG4gICAgU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFxcbiAgICBTY2hlZHVsZXJfTm9ybWFsUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksXFxuICAgIFNjaGVkdWxlcl9Mb3dQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9Mb3dQcmlvcml0eSxcXG4gICAgU2NoZWR1bGVyX0lkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XFxuXFxue1xcbiAgLy8gUHJvdmlkZSBleHBsaWNpdCBlcnJvciBtZXNzYWdlIHdoZW4gcHJvZHVjdGlvbitwcm9maWxpbmcgYnVuZGxlIG9mIGUuZy5cXG4gIC8vIHJlYWN0LWRvbSBpcyB1c2VkIHdpdGggcHJvZHVjdGlvbiAobm9uLXByb2ZpbGluZykgYnVuZGxlIG9mXFxuICAvLyBzY2hlZHVsZXIvdHJhY2luZ1xcbiAgaWYgKCEodHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZiAhPSBudWxsICYmIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCAhPSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIHJ1biB0aGUgcHJvZmlsaW5nIHZlcnNpb24gb2YgYSByZW5kZXJlciAoZm9yIGV4YW1wbGUsIGByZWFjdC1kb20vcHJvZmlsaW5nYCkgd2l0aG91dCBhbHNvIHJlcGxhY2luZyB0aGUgYHNjaGVkdWxlci90cmFjaW5nYCBtb2R1bGUgd2l0aCBgc2NoZWR1bGVyL3RyYWNpbmctcHJvZmlsaW5nYC4gWW91ciBidW5kbGVyIG1pZ2h0IGhhdmUgYSBzZXR0aW5nIGZvciBhbGlhc2luZyBib3RoIG1vZHVsZXMuIExlYXJuIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3JlYWN0LXByb2ZpbGluZ1xcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgZmFrZUNhbGxiYWNrTm9kZSA9IHt9OyAvLyBFeGNlcHQgZm9yIE5vUHJpb3JpdHksIHRoZXNlIGNvcnJlc3BvbmQgdG8gU2NoZWR1bGVyIHByaW9yaXRpZXMuIFdlIHVzZVxcbi8vIGFzY2VuZGluZyBudW1iZXJzIHNvIHdlIGNhbiBjb21wYXJlIHRoZW0gbGlrZSBudW1iZXJzLiBUaGV5IHN0YXJ0IGF0IDkwIHRvXFxuLy8gYXZvaWQgY2xhc2hpbmcgd2l0aCBTY2hlZHVsZXIncyBwcmlvcml0aWVzLlxcblxcbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDk5O1xcbnZhciBVc2VyQmxvY2tpbmdQcmlvcml0eSQxID0gOTg7XFxudmFyIE5vcm1hbFByaW9yaXR5ID0gOTc7XFxudmFyIExvd1ByaW9yaXR5ID0gOTY7XFxudmFyIElkbGVQcmlvcml0eSA9IDk1OyAvLyBOb1ByaW9yaXR5IGlzIHRoZSBhYnNlbmNlIG9mIHByaW9yaXR5LiBBbHNvIFJlYWN0LW9ubHkuXFxuXFxudmFyIE5vUHJpb3JpdHkgPSA5MDtcXG52YXIgc2hvdWxkWWllbGQgPSBTY2hlZHVsZXJfc2hvdWxkWWllbGQ7XFxudmFyIHJlcXVlc3RQYWludCA9IC8vIEZhbGwgYmFjayBncmFjZWZ1bGx5IGlmIHdlJ3JlIHJ1bm5pbmcgYW4gb2xkZXIgdmVyc2lvbiBvZiBTY2hlZHVsZXIuXFxuU2NoZWR1bGVyX3JlcXVlc3RQYWludCAhPT0gdW5kZWZpbmVkID8gU2NoZWR1bGVyX3JlcXVlc3RQYWludCA6IGZ1bmN0aW9uICgpIHt9O1xcbnZhciBzeW5jUXVldWUgPSBudWxsO1xcbnZhciBpbW1lZGlhdGVRdWV1ZUNhbGxiYWNrTm9kZSA9IG51bGw7XFxudmFyIGlzRmx1c2hpbmdTeW5jUXVldWUgPSBmYWxzZTtcXG52YXIgaW5pdGlhbFRpbWVNcyA9IFNjaGVkdWxlcl9ub3coKTsgLy8gSWYgdGhlIGluaXRpYWwgdGltZXN0YW1wIGlzIHJlYXNvbmFibHkgc21hbGwsIHVzZSBTY2hlZHVsZXIncyBgbm93YCBkaXJlY3RseS5cXG4vLyBUaGlzIHdpbGwgYmUgdGhlIGNhc2UgZm9yIG1vZGVybiBicm93c2VycyB0aGF0IHN1cHBvcnQgYHBlcmZvcm1hbmNlLm5vd2AuIEluXFxuLy8gb2xkZXIgYnJvd3NlcnMsIFNjaGVkdWxlciBmYWxscyBiYWNrIHRvIGBEYXRlLm5vd2AsIHdoaWNoIHJldHVybnMgYSBVbml4XFxuLy8gdGltZXN0YW1wLiBJbiB0aGF0IGNhc2UsIHN1YnRyYWN0IHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gdGltZSB0byBzaW11bGF0ZVxcbi8vIHRoZSBiZWhhdmlvciBvZiBwZXJmb3JtYW5jZS5ub3cgYW5kIGtlZXAgb3VyIHRpbWVzIHNtYWxsIGVub3VnaCB0byBmaXRcXG4vLyB3aXRoaW4gMzIgYml0cy5cXG4vLyBUT0RPOiBDb25zaWRlciBsaWZ0aW5nIHRoaXMgaW50byBTY2hlZHVsZXIuXFxuXFxudmFyIG5vdyA9IGluaXRpYWxUaW1lTXMgPCAxMDAwMCA/IFNjaGVkdWxlcl9ub3cgOiBmdW5jdGlvbiAoKSB7XFxuICByZXR1cm4gU2NoZWR1bGVyX25vdygpIC0gaW5pdGlhbFRpbWVNcztcXG59O1xcbmZ1bmN0aW9uIGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCkge1xcbiAgc3dpdGNoIChTY2hlZHVsZXJfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSkge1xcbiAgICBjYXNlIFNjaGVkdWxlcl9JbW1lZGlhdGVQcmlvcml0eTpcXG4gICAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5OlxcbiAgICAgIHJldHVybiBVc2VyQmxvY2tpbmdQcmlvcml0eSQxO1xcblxcbiAgICBjYXNlIFNjaGVkdWxlcl9Ob3JtYWxQcmlvcml0eTpcXG4gICAgICByZXR1cm4gTm9ybWFsUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgU2NoZWR1bGVyX0xvd1ByaW9yaXR5OlxcbiAgICAgIHJldHVybiBMb3dQcmlvcml0eTtcXG5cXG4gICAgY2FzZSBTY2hlZHVsZXJfSWRsZVByaW9yaXR5OlxcbiAgICAgIHJldHVybiBJZGxlUHJpb3JpdHk7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVua25vd24gcHJpb3JpdHkgbGV2ZWwuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVhY3RQcmlvcml0eVRvU2NoZWR1bGVyUHJpb3JpdHkocmVhY3RQcmlvcml0eUxldmVsKSB7XFxuICBzd2l0Y2ggKHJlYWN0UHJpb3JpdHlMZXZlbCkge1xcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxcbiAgICAgIHJldHVybiBTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHkkMTpcXG4gICAgICByZXR1cm4gU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5O1xcblxcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxcbiAgICAgIHJldHVybiBTY2hlZHVsZXJfTm9ybWFsUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgTG93UHJpb3JpdHk6XFxuICAgICAgcmV0dXJuIFNjaGVkdWxlcl9Mb3dQcmlvcml0eTtcXG5cXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XFxuICAgICAgcmV0dXJuIFNjaGVkdWxlcl9JZGxlUHJpb3JpdHk7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVua25vd24gcHJpb3JpdHkgbGV2ZWwuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5JDEocmVhY3RQcmlvcml0eUxldmVsLCBmbikge1xcbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSByZWFjdFByaW9yaXR5VG9TY2hlZHVsZXJQcmlvcml0eShyZWFjdFByaW9yaXR5TGV2ZWwpO1xcbiAgcmV0dXJuIFNjaGVkdWxlcl9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZm4pO1xcbn1cXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrKHJlYWN0UHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcXG4gIHZhciBwcmlvcml0eUxldmVsID0gcmVhY3RQcmlvcml0eVRvU2NoZWR1bGVyUHJpb3JpdHkocmVhY3RQcmlvcml0eUxldmVsKTtcXG4gIHJldHVybiBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayhwcmlvcml0eUxldmVsLCBjYWxsYmFjaywgb3B0aW9ucyk7XFxufVxcbmZ1bmN0aW9uIHNjaGVkdWxlU3luY0NhbGxiYWNrKGNhbGxiYWNrKSB7XFxuICAvLyBQdXNoIHRoaXMgY2FsbGJhY2sgaW50byBhbiBpbnRlcm5hbCBxdWV1ZS4gV2UnbGwgZmx1c2ggdGhlc2UgZWl0aGVyIGluXFxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXFxuICBpZiAoc3luY1F1ZXVlID09PSBudWxsKSB7XFxuICAgIHN5bmNRdWV1ZSA9IFtjYWxsYmFja107IC8vIEZsdXNoIHRoZSBxdWV1ZSBpbiB0aGUgbmV4dCB0aWNrLCBhdCB0aGUgZWFybGllc3QuXFxuXFxuICAgIGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlID0gU2NoZWR1bGVyX3NjaGVkdWxlQ2FsbGJhY2soU2NoZWR1bGVyX0ltbWVkaWF0ZVByaW9yaXR5LCBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlSW1wbCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBQdXNoIG9udG8gZXhpc3RpbmcgcXVldWUuIERvbid0IG5lZWQgdG8gc2NoZWR1bGUgYSBjYWxsYmFjayBiZWNhdXNlXFxuICAgIC8vIHdlIGFscmVhZHkgc2NoZWR1bGVkIG9uZSB3aGVuIHdlIGNyZWF0ZWQgdGhlIHF1ZXVlLlxcbiAgICBzeW5jUXVldWUucHVzaChjYWxsYmFjayk7XFxuICB9XFxuXFxuICByZXR1cm4gZmFrZUNhbGxiYWNrTm9kZTtcXG59XFxuZnVuY3Rpb24gY2FuY2VsQ2FsbGJhY2soY2FsbGJhY2tOb2RlKSB7XFxuICBpZiAoY2FsbGJhY2tOb2RlICE9PSBmYWtlQ2FsbGJhY2tOb2RlKSB7XFxuICAgIFNjaGVkdWxlcl9jYW5jZWxDYWxsYmFjayhjYWxsYmFja05vZGUpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCkge1xcbiAgaWYgKGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XFxuICAgIHZhciBub2RlID0gaW1tZWRpYXRlUXVldWVDYWxsYmFja05vZGU7XFxuICAgIGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlID0gbnVsbDtcXG4gICAgU2NoZWR1bGVyX2NhbmNlbENhbGxiYWNrKG5vZGUpO1xcbiAgfVxcblxcbiAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZUltcGwoKTtcXG59XFxuXFxuZnVuY3Rpb24gZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZUltcGwoKSB7XFxuICBpZiAoIWlzRmx1c2hpbmdTeW5jUXVldWUgJiYgc3luY1F1ZXVlICE9PSBudWxsKSB7XFxuICAgIC8vIFByZXZlbnQgcmUtZW50cmFuY3kuXFxuICAgIGlzRmx1c2hpbmdTeW5jUXVldWUgPSB0cnVlO1xcbiAgICB2YXIgaSA9IDA7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgdmFyIF9pc1N5bmMgPSB0cnVlO1xcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTtcXG4gICAgICBydW5XaXRoUHJpb3JpdHkkMShJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xcbiAgICAgICAgZm9yICg7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBxdWV1ZVtpXTtcXG5cXG4gICAgICAgICAgZG8ge1xcbiAgICAgICAgICAgIGNhbGxiYWNrID0gY2FsbGJhY2soX2lzU3luYyk7XFxuICAgICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgICBzeW5jUXVldWUgPSBudWxsO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIC8vIElmIHNvbWV0aGluZyB0aHJvd3MsIGxlYXZlIHRoZSByZW1haW5pbmcgY2FsbGJhY2tzIG9uIHRoZSBxdWV1ZS5cXG4gICAgICBpZiAoc3luY1F1ZXVlICE9PSBudWxsKSB7XFxuICAgICAgICBzeW5jUXVldWUgPSBzeW5jUXVldWUuc2xpY2UoaSArIDEpO1xcbiAgICAgIH0gLy8gUmVzdW1lIGZsdXNoaW5nIGluIHRoZSBuZXh0IHRpY2tcXG5cXG5cXG4gICAgICBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHksIGZsdXNoU3luY0NhbGxiYWNrUXVldWUpO1xcbiAgICAgIHRocm93IGVycm9yO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIGlzRmx1c2hpbmdTeW5jUXVldWUgPSBmYWxzZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgTm9Nb2RlID0gMDtcXG52YXIgU3RyaWN0TW9kZSA9IDE7IC8vIFRPRE86IFJlbW92ZSBCbG9ja2luZ01vZGUgYW5kIENvbmN1cnJlbnRNb2RlIGJ5IHJlYWRpbmcgZnJvbSB0aGUgcm9vdFxcbi8vIHRhZyBpbnN0ZWFkXFxuXFxudmFyIEJsb2NraW5nTW9kZSA9IDI7XFxudmFyIENvbmN1cnJlbnRNb2RlID0gNDtcXG52YXIgUHJvZmlsZU1vZGUgPSA4O1xcblxcbi8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxcbi8vIE1hdGgucG93KDIsIDMwKSAtIDFcXG4vLyAwYjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVxcbnZhciBNQVhfU0lHTkVEXzMxX0JJVF9JTlQgPSAxMDczNzQxODIzO1xcblxcbnZhciBOb1dvcmsgPSAwOyAvLyBUT0RPOiBUaGluayBvZiBhIGJldHRlciBuYW1lIGZvciBOZXZlci4gVGhlIGtleSBkaWZmZXJlbmNlIHdpdGggSWRsZSBpcyB0aGF0XFxuLy8gTmV2ZXIgd29yayBjYW4gYmUgY29tbWl0dGVkIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZSB3aXRob3V0IHRlYXJpbmcgdGhlIFVJLlxcbi8vIFRoZSBtYWluIGV4YW1wbGUgaXMgb2Zmc2NyZWVuIGNvbnRlbnQsIGxpa2UgYSBoaWRkZW4gc3VidHJlZS4gU28gb25lIHBvc3NpYmxlXFxuLy8gbmFtZSBpcyBPZmZzY3JlZW4uIEhvd2V2ZXIsIGl0IGFsc28gaW5jbHVkZXMgZGVoeWRyYXRlZCBTdXNwZW5zZSBib3VuZGFyaWVzLFxcbi8vIHdoaWNoIGFyZSBpbmNvbnNpc3RlbnQgaW4gdGhlIHNlbnNlIHRoYXQgdGhleSBoYXZlbid0IGZpbmlzaGVkIHlldCwgYnV0XFxuLy8gYXJlbid0IHZpc2libHkgaW5jb25zaXN0ZW50IGJlY2F1c2UgdGhlIHNlcnZlciByZW5kZXJlZCBIVE1MIG1hdGNoZXMgd2hhdCB0aGVcXG4vLyBoeWRyYXRlZCB0cmVlIHdvdWxkIGxvb2sgbGlrZS5cXG5cXG52YXIgTmV2ZXIgPSAxOyAvLyBJZGxlIGlzIHNsaWdodGx5IGhpZ2hlciBwcmlvcml0eSB0aGFuIE5ldmVyLiBJdCBtdXN0IGNvbXBsZXRlbHkgZmluaXNoIGluXFxuLy8gb3JkZXIgdG8gYmUgY29uc2lzdGVudC5cXG5cXG52YXIgSWRsZSA9IDI7IC8vIENvbnRpbnVvdXMgSHlkcmF0aW9uIGlzIHNsaWdodGx5IGhpZ2hlciB0aGFuIElkbGUgYW5kIGlzIHVzZWQgdG8gaW5jcmVhc2VcXG4vLyBwcmlvcml0eSBvZiBob3ZlciB0YXJnZXRzLlxcblxcbnZhciBDb250aW51b3VzSHlkcmF0aW9uID0gMztcXG52YXIgU3luYyA9IE1BWF9TSUdORURfMzFfQklUX0lOVDtcXG52YXIgQmF0Y2hlZCA9IFN5bmMgLSAxO1xcbnZhciBVTklUX1NJWkUgPSAxMDtcXG52YXIgTUFHSUNfTlVNQkVSX09GRlNFVCA9IEJhdGNoZWQgLSAxOyAvLyAxIHVuaXQgb2YgZXhwaXJhdGlvbiB0aW1lIHJlcHJlc2VudHMgMTBtcy5cXG5cXG5mdW5jdGlvbiBtc1RvRXhwaXJhdGlvblRpbWUobXMpIHtcXG4gIC8vIEFsd2F5cyBzdWJ0cmFjdCBmcm9tIHRoZSBvZmZzZXQgc28gdGhhdCB3ZSBkb24ndCBjbGFzaCB3aXRoIHRoZSBtYWdpYyBudW1iZXIgZm9yIE5vV29yay5cXG4gIHJldHVybiBNQUdJQ19OVU1CRVJfT0ZGU0VUIC0gKG1zIC8gVU5JVF9TSVpFIHwgMCk7XFxufVxcbmZ1bmN0aW9uIGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkge1xcbiAgcmV0dXJuIChNQUdJQ19OVU1CRVJfT0ZGU0VUIC0gZXhwaXJhdGlvblRpbWUpICogVU5JVF9TSVpFO1xcbn1cXG5cXG5mdW5jdGlvbiBjZWlsaW5nKG51bSwgcHJlY2lzaW9uKSB7XFxuICByZXR1cm4gKChudW0gLyBwcmVjaXNpb24gfCAwKSArIDEpICogcHJlY2lzaW9uO1xcbn1cXG5cXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvbkJ1Y2tldChjdXJyZW50VGltZSwgZXhwaXJhdGlvbkluTXMsIGJ1Y2tldFNpemVNcykge1xcbiAgcmV0dXJuIE1BR0lDX05VTUJFUl9PRkZTRVQgLSBjZWlsaW5nKE1BR0lDX05VTUJFUl9PRkZTRVQgLSBjdXJyZW50VGltZSArIGV4cGlyYXRpb25Jbk1zIC8gVU5JVF9TSVpFLCBidWNrZXRTaXplTXMgLyBVTklUX1NJWkUpO1xcbn0gLy8gVE9ETzogVGhpcyBjb3JyZXNwb25kcyB0byBTY2hlZHVsZXIncyBOb3JtYWxQcmlvcml0eSwgbm90IExvd1ByaW9yaXR5LiBVcGRhdGVcXG4vLyB0aGUgbmFtZXMgdG8gcmVmbGVjdC5cXG5cXG5cXG52YXIgTE9XX1BSSU9SSVRZX0VYUElSQVRJT04gPSA1MDAwO1xcbnZhciBMT1dfUFJJT1JJVFlfQkFUQ0hfU0laRSA9IDI1MDtcXG5mdW5jdGlvbiBjb21wdXRlQXN5bmNFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKSB7XFxuICByZXR1cm4gY29tcHV0ZUV4cGlyYXRpb25CdWNrZXQoY3VycmVudFRpbWUsIExPV19QUklPUklUWV9FWFBJUkFUSU9OLCBMT1dfUFJJT1JJVFlfQkFUQ0hfU0laRSk7XFxufVxcbmZ1bmN0aW9uIGNvbXB1dGVTdXNwZW5zZUV4cGlyYXRpb24oY3VycmVudFRpbWUsIHRpbWVvdXRNcykge1xcbiAgLy8gVE9ETzogU2hvdWxkIHdlIHdhcm4gaWYgdGltZW91dE1zIGlzIGxvd2VyIHRoYW4gdGhlIG5vcm1hbCBwcmkgZXhwaXJhdGlvbiB0aW1lP1xcbiAgcmV0dXJuIGNvbXB1dGVFeHBpcmF0aW9uQnVja2V0KGN1cnJlbnRUaW1lLCB0aW1lb3V0TXMsIExPV19QUklPUklUWV9CQVRDSF9TSVpFKTtcXG59IC8vIFdlIGludGVudGlvbmFsbHkgc2V0IGEgaGlnaGVyIGV4cGlyYXRpb24gdGltZSBmb3IgaW50ZXJhY3RpdmUgdXBkYXRlcyBpblxcbi8vIGRldiB0aGFuIGluIHByb2R1Y3Rpb24uXFxuLy9cXG4vLyBJZiB0aGUgbWFpbiB0aHJlYWQgaXMgYmVpbmcgYmxvY2tlZCBzbyBsb25nIHRoYXQgeW91IGhpdCB0aGUgZXhwaXJhdGlvbixcXG4vLyBpdCdzIGEgcHJvYmxlbSB0aGF0IGNvdWxkIGJlIHNvbHZlZCB3aXRoIGJldHRlciBzY2hlZHVsaW5nLlxcbi8vXFxuLy8gUGVvcGxlIHdpbGwgYmUgbW9yZSBsaWtlbHkgdG8gbm90aWNlIHRoaXMgYW5kIGZpeCBpdCB3aXRoIHRoZSBsb25nXFxuLy8gZXhwaXJhdGlvbiB0aW1lIGluIGRldmVsb3BtZW50Llxcbi8vXFxuLy8gSW4gcHJvZHVjdGlvbiB3ZSBvcHQgZm9yIGJldHRlciBVWCBhdCB0aGUgcmlzayBvZiBtYXNraW5nIHNjaGVkdWxpbmdcXG4vLyBwcm9ibGVtcywgYnkgZXhwaXJpbmcgZmFzdC5cXG5cXG52YXIgSElHSF9QUklPUklUWV9FWFBJUkFUSU9OID0gIDUwMCA7XFxudmFyIEhJR0hfUFJJT1JJVFlfQkFUQ0hfU0laRSA9IDEwMDtcXG5mdW5jdGlvbiBjb21wdXRlSW50ZXJhY3RpdmVFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKSB7XFxuICByZXR1cm4gY29tcHV0ZUV4cGlyYXRpb25CdWNrZXQoY3VycmVudFRpbWUsIEhJR0hfUFJJT1JJVFlfRVhQSVJBVElPTiwgSElHSF9QUklPUklUWV9CQVRDSF9TSVpFKTtcXG59XFxuZnVuY3Rpb24gaW5mZXJQcmlvcml0eUZyb21FeHBpcmF0aW9uVGltZShjdXJyZW50VGltZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChleHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xcbiAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XFxuICB9XFxuXFxuICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5ldmVyIHx8IGV4cGlyYXRpb25UaW1lID09PSBJZGxlKSB7XFxuICAgIHJldHVybiBJZGxlUHJpb3JpdHk7XFxuICB9XFxuXFxuICB2YXIgbXNVbnRpbCA9IGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkgLSBleHBpcmF0aW9uVGltZVRvTXMoY3VycmVudFRpbWUpO1xcblxcbiAgaWYgKG1zVW50aWwgPD0gMCkge1xcbiAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XFxuICB9XFxuXFxuICBpZiAobXNVbnRpbCA8PSBISUdIX1BSSU9SSVRZX0VYUElSQVRJT04gKyBISUdIX1BSSU9SSVRZX0JBVENIX1NJWkUpIHtcXG4gICAgcmV0dXJuIFVzZXJCbG9ja2luZ1ByaW9yaXR5JDE7XFxuICB9XFxuXFxuICBpZiAobXNVbnRpbCA8PSBMT1dfUFJJT1JJVFlfRVhQSVJBVElPTiArIExPV19QUklPUklUWV9CQVRDSF9TSVpFKSB7XFxuICAgIHJldHVybiBOb3JtYWxQcmlvcml0eTtcXG4gIH0gLy8gVE9ETzogSGFuZGxlIExvd1ByaW9yaXR5XFxuICAvLyBBc3N1bWUgYW55dGhpbmcgbG93ZXIgaGFzIGlkbGUgcHJpb3JpdHlcXG5cXG5cXG4gIHJldHVybiBJZGxlUHJpb3JpdHk7XFxufVxcblxcbnZhciBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncyA9IHtcXG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcXG4gIGZsdXNoUGVuZGluZ1Vuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fSxcXG4gIHJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxcbiAgZGlzY2FyZFBlbmRpbmdXYXJuaW5nczogZnVuY3Rpb24gKCkge31cXG59O1xcblxcbntcXG4gIHZhciBmaW5kU3RyaWN0Um9vdCA9IGZ1bmN0aW9uIChmaWJlcikge1xcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcXG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcXG5cXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcXG4gICAgICBpZiAobm9kZS5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgICAgbWF5YmVTdHJpY3RSb290ID0gbm9kZTtcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBtYXliZVN0cmljdFJvb3Q7XFxuICB9O1xcblxcbiAgdmFyIHNldFRvU29ydGVkU3RyaW5nID0gZnVuY3Rpb24gKHNldCkge1xcbiAgICB2YXIgYXJyYXkgPSBbXTtcXG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgICAgYXJyYXkucHVzaCh2YWx1ZSk7XFxuICAgIH0pO1xcbiAgICByZXR1cm4gYXJyYXkuc29ydCgpLmpvaW4oJywgJyk7XFxuICB9O1xcblxcbiAgdmFyIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xcbiAgdmFyIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MgPSBbXTtcXG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XFxuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcXG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cXG5cXG4gIHZhciBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzID0gbmV3IFNldCgpO1xcblxcbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7XFxuICAgIC8vIERlZHVwIHN0cmF0ZWd5OiBXYXJuIG9uY2UgcGVyIGNvbXBvbmVudC5cXG4gICAgaWYgKGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuaGFzKGZpYmVyLnR5cGUpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5wdXNoKGZpYmVyKTtcXG4gICAgfVxcblxcbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLnB1c2goZmliZXIpO1xcbiAgICB9XFxuXFxuICAgIGlmIChmaWJlci5tb2RlICYgU3RyaWN0TW9kZSAmJiB0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncy5wdXNoKGZpYmVyKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZS5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XFxuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcXG4gICAgfVxcblxcbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MucHVzaChmaWJlcik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5mbHVzaFBlbmRpbmdVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcXG4gICAgdmFyIGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xcblxcbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICAgIGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnKTtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xcbiAgICAgIH0pO1xcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xcbiAgICB9XFxuXFxuICAgIHZhciBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuXFxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcXG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xcbiAgICB9XFxuXFxuICAgIHZhciBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuXFxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xcbiAgICB9XFxuXFxuICAgIHZhciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xcblxcbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnKTtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xcbiAgICAgIH0pO1xcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XFxuICAgIH1cXG5cXG4gICAgdmFyIGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcXG5cXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICAgIGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XFxuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcXG4gICAgICB9KTtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICAgIH1cXG5cXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuXFxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICAgIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcXG4gICAgfSAvLyBGaW5hbGx5LCB3ZSBmbHVzaCBhbGwgdGhlIHdhcm5pbmdzXFxuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xcblxcblxcbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XFxuICAgICAgdmFyIHNvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzKTtcXG5cXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxcXG5cXFxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxcXG4nICsgJ1xcXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xcbiAgICB9XFxuXFxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XFxuICAgICAgdmFyIF9zb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xcblxcbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXFxcblxcXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxcXG4nICsgXFxcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXFxcIiArICdyZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIG1lbW9pemF0aW9uIHRlY2huaXF1ZXMgb3IgbW92ZSBpdCB0byAnICsgJ3N0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuIExlYXJuIG1vcmUgYXQ6IGh0dHBzOi8vZmIubWUvcmVhY3QtZGVyaXZlZC1zdGF0ZVxcXFxuJyArICdcXFxcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lcyk7XFxuICAgIH1cXG5cXG4gICAgaWYgKFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcXG4gICAgICB2YXIgX3NvcnRlZE5hbWVzMiA9IHNldFRvU29ydGVkU3RyaW5nKFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMpO1xcblxcbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXFxcblxcXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxcXG4nICsgJ1xcXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMik7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XFxuICAgICAgdmFyIF9zb3J0ZWROYW1lczMgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyk7XFxuXFxuICAgICAgd2FybignY29tcG9uZW50V2lsbE1vdW50IGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxcXG5cXFxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxNb3VudCB0byBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTcueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxcXG4nICsgJ1xcXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xcbiAgICAgIHZhciBfc29ydGVkTmFtZXM0ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzKTtcXG5cXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxcXG5cXFxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcXFxuJyArIFxcXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXFxcIiArICdjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL2ZiLm1lL3JlYWN0LWRlcml2ZWQtc3RhdGVcXFxcbicgKyAnKiBSZW5hbWUgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyB0byBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE3LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcXFxuJyArICdcXFxcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcXG4gICAgICB2YXIgX3NvcnRlZE5hbWVzNSA9IHNldFRvU29ydGVkU3RyaW5nKGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyk7XFxuXFxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcXFxuXFxcXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXFxcbicgKyAnKiBSZW5hbWUgY29tcG9uZW50V2lsbFVwZGF0ZSB0byBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE3LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcXFxuJyArICdcXFxcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczUpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cXG5cXG4gIHZhciBkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0ID0gbmV3IFNldCgpO1xcblxcbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7XFxuICAgIHZhciBzdHJpY3RSb290ID0gZmluZFN0cmljdFJvb3QoZmliZXIpO1xcblxcbiAgICBpZiAoc3RyaWN0Um9vdCA9PT0gbnVsbCkge1xcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgU3RyaWN0TW9kZSBjb21wb25lbnQgaW4gYSBzdHJpY3QgbW9kZSB0cmVlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XFxuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIERlZHVwIHN0cmF0ZWd5OiBXYXJuIG9uY2UgcGVyIGNvbXBvbmVudC5cXG5cXG5cXG4gICAgaWYgKGRpZFdhcm5BYm91dExlZ2FjeUNvbnRleHQuaGFzKGZpYmVyLnR5cGUpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xcblxcbiAgICBpZiAoZmliZXIudHlwZS5jb250ZXh0VHlwZXMgIT0gbnVsbCB8fCBmaWJlci50eXBlLmNoaWxkQ29udGV4dFR5cGVzICE9IG51bGwgfHwgaW5zdGFuY2UgIT09IG51bGwgJiYgdHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgd2FybmluZ3NGb3JSb290ID0gW107XFxuICAgICAgICBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuc2V0KHN0cmljdFJvb3QsIHdhcm5pbmdzRm9yUm9vdCk7XFxuICAgICAgfVxcblxcbiAgICAgIHdhcm5pbmdzRm9yUm9vdC5wdXNoKGZpYmVyKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XFxuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlckFycmF5LCBzdHJpY3RSb290KSB7XFxuICAgICAgaWYgKGZpYmVyQXJyYXkubGVuZ3RoID09PSAwKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcXG4gICAgICB2YXIgdW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuICAgICAgZmliZXJBcnJheS5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgdmFyIHNvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcodW5pcXVlTmFtZXMpO1xcbiAgICAgIHZhciBmaXJzdENvbXBvbmVudFN0YWNrID0gZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpcnN0RmliZXIpO1xcblxcbiAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcXFxuXFxcXG5UaGUgb2xkIEFQSSB3aWxsIGJlIHN1cHBvcnRlZCBpbiBhbGwgMTYueCByZWxlYXNlcywgYnV0IGFwcGxpY2F0aW9ucyAnICsgJ3VzaW5nIGl0IHNob3VsZCBtaWdyYXRlIHRvIHRoZSBuZXcgdmVyc2lvbi4nICsgJ1xcXFxuXFxcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnICsgJ1xcXFxuXFxcXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL2ZiLm1lL3JlYWN0LWxlZ2FjeS1jb250ZXh0JyArICclcycsIHNvcnRlZE5hbWVzLCBmaXJzdENvbXBvbmVudFN0YWNrKTtcXG4gICAgfSk7XFxuICB9O1xcblxcbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XFxuICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MgPSBbXTtcXG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xcbiAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcXG4gIH07XFxufVxcblxcbnZhciByZXNvbHZlRmFtaWx5ID0gbnVsbDsgLy8gJEZsb3dGaXhNZSBGbG93IGdldHMgY29uZnVzZWQgYnkgYSBXZWFrU2V0IGZlYXR1cmUgY2hlY2sgYmVsb3cuXFxuXFxudmFyIGZhaWxlZEJvdW5kYXJpZXMgPSBudWxsO1xcbnZhciBzZXRSZWZyZXNoSGFuZGxlciA9IGZ1bmN0aW9uIChoYW5kbGVyKSB7XFxuICB7XFxuICAgIHJlc29sdmVGYW1pbHkgPSBoYW5kbGVyO1xcbiAgfVxcbn07XFxuZnVuY3Rpb24gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcXG4gIHtcXG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcXG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxcbiAgICAgIHJldHVybiB0eXBlO1xcbiAgICB9XFxuXFxuICAgIHZhciBmYW1pbHkgPSByZXNvbHZlRmFtaWx5KHR5cGUpO1xcblxcbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gdHlwZTtcXG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cXG5cXG5cXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xcbiAgLy8gTm8gaW1wbGVtZW50YXRpb24gZGlmZmVyZW5jZXMuXFxuICByZXR1cm4gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUpO1xcbn1cXG5mdW5jdGlvbiByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyh0eXBlKSB7XFxuICB7XFxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XFxuICAgICAgLy8gSG90IHJlbG9hZGluZyBpcyBkaXNhYmxlZC5cXG4gICAgICByZXR1cm4gdHlwZTtcXG4gICAgfVxcblxcbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcXG5cXG4gICAgaWYgKGZhbWlseSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgZGVhbGluZyB3aXRoIGEgcmVhbCBmb3J3YXJkUmVmLiBEb24ndCB3YW50IHRvIGNyYXNoIGVhcmx5LlxcbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIC8vIEZvcndhcmRSZWYgaXMgc3BlY2lhbCBiZWNhdXNlIGl0cyByZXNvbHZlZCAudHlwZSBpcyBhbiBvYmplY3QsXFxuICAgICAgICAvLyBidXQgaXQncyBwb3NzaWJsZSB0aGF0IHdlIG9ubHkgaGF2ZSBpdHMgaW5uZXIgcmVuZGVyIGZ1bmN0aW9uIGluIHRoZSBtYXAuXFxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cXG4gICAgICAgIHZhciBjdXJyZW50UmVuZGVyID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUucmVuZGVyKTtcXG5cXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xcbiAgICAgICAgICB2YXIgc3ludGhldGljVHlwZSA9IHtcXG4gICAgICAgICAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcXG4gICAgICAgICAgfTtcXG5cXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICAgIHN5bnRoZXRpY1R5cGUuZGlzcGxheU5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiBzeW50aGV0aWNUeXBlO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gdHlwZTtcXG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cXG5cXG5cXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcXG4gIHtcXG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcXG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcblxcbiAgICB2YXIgcHJldlR5cGUgPSBmaWJlci5lbGVtZW50VHlwZTtcXG4gICAgdmFyIG5leHRUeXBlID0gZWxlbWVudC50eXBlOyAvLyBJZiB3ZSBnb3QgaGVyZSwgd2Uga25vdyB0eXBlcyBhcmVuJ3QgPT09IGVxdWFsLlxcblxcbiAgICB2YXIgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSBmYWxzZTtcXG4gICAgdmFyICQkdHlwZW9mTmV4dFR5cGUgPSB0eXBlb2YgbmV4dFR5cGUgPT09ICdvYmplY3QnICYmIG5leHRUeXBlICE9PSBudWxsID8gbmV4dFR5cGUuJCR0eXBlb2YgOiBudWxsO1xcblxcbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIGlmICh0eXBlb2YgbmV4dFR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICAgIHtcXG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcXG4gICAgICAgICAgICAvLyBXZSBkb24ndCBrbm93IHRoZSBpbm5lciB0eXBlIHlldC5cXG4gICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byBhc3N1bWUgdGhhdCB0aGUgbGF6eSBpbm5lciB0eXBlIGlzIHN0YWJsZSxcXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxcbiAgICAgICAgICAgIC8vIFdlJ3JlIG5vdCBnb2luZyB0byB1bndyYXAgb3IgYWN0dWFsbHkgdXNlIHRoZSBuZXcgbGF6eSB0eXBlLlxcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAgICB7XFxuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFKSB7XFxuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XFxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICAgICAge1xcbiAgICAgICAgICBpZiAoJCR0eXBlb2ZOZXh0VHlwZSA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XFxuICAgICAgICAgICAgLy8gVE9ETzogaWYgaXQgd2FzIGJ1dCBjYW4gbm8gbG9uZ2VyIGJlIHNpbXBsZSxcXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXFxuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9IC8vIENoZWNrIGlmIGJvdGggdHlwZXMgaGF2ZSBhIGZhbWlseSBhbmQgaXQncyB0aGUgc2FtZSBvbmUuXFxuXFxuXFxuICAgIGlmIChuZWVkc0NvbXBhcmVGYW1pbGllcykge1xcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cXG4gICAgICAvLyBUaGlzIG1lYW5zIGJvdGggb2YgdGhlbSBuZWVkIHRvIGJlIHJlZ2lzdGVyZWQgdG8gcHJlc2VydmUgc3RhdGUuXFxuICAgICAgLy8gSWYgd2UgdW53cmFwcGVkIGFuZCBjb21wYXJlZCB0aGUgaW5uZXIgdHlwZXMgZm9yIHdyYXBwZXJzIGluc3RlYWQsXFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcXG4gICAgICAvLyBjYWxscyBhcmUgZXF1aXZhbGVudCBiZWNhdXNlIHRoZXkgd3JhcCB0aGUgc2FtZSBGb28gZnVuY3Rpb24uXFxuICAgICAgdmFyIHByZXZGYW1pbHkgPSByZXNvbHZlRmFtaWx5KHByZXZUeXBlKTtcXG5cXG4gICAgICBpZiAocHJldkZhbWlseSAhPT0gdW5kZWZpbmVkICYmIHByZXZGYW1pbHkgPT09IHJlc29sdmVGYW1pbHkobmV4dFR5cGUpKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcikge1xcbiAge1xcbiAgICBpZiAocmVzb2x2ZUZhbWlseSA9PT0gbnVsbCkge1xcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgV2Vha1NldCAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoZmFpbGVkQm91bmRhcmllcyA9PT0gbnVsbCkge1xcbiAgICAgIGZhaWxlZEJvdW5kYXJpZXMgPSBuZXcgV2Vha1NldCgpO1xcbiAgICB9XFxuXFxuICAgIGZhaWxlZEJvdW5kYXJpZXMuYWRkKGZpYmVyKTtcXG4gIH1cXG59XFxudmFyIHNjaGVkdWxlUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCB1cGRhdGUpIHtcXG4gIHtcXG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcXG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgc3RhbGVGYW1pbGllcyA9IHVwZGF0ZS5zdGFsZUZhbWlsaWVzLFxcbiAgICAgICAgdXBkYXRlZEZhbWlsaWVzID0gdXBkYXRlLnVwZGF0ZWRGYW1pbGllcztcXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbiAgICBmbHVzaFN5bmMoZnVuY3Rpb24gKCkge1xcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB1cGRhdGVkRmFtaWxpZXMsIHN0YWxlRmFtaWxpZXMpO1xcbiAgICB9KTtcXG4gIH1cXG59O1xcbnZhciBzY2hlZHVsZVJvb3QgPSBmdW5jdGlvbiAocm9vdCwgZWxlbWVudCkge1xcbiAge1xcbiAgICBpZiAocm9vdC5jb250ZXh0ICE9PSBlbXB0eUNvbnRleHRPYmplY3QpIHtcXG4gICAgICAvLyBTdXBlciBlZGdlIGNhc2U6IHJvb3QgaGFzIGEgbGVnYWN5IF9yZW5kZXJTdWJ0cmVlIGNvbnRleHRcXG4gICAgICAvLyBidXQgd2UgZG9uJ3Qga25vdyB0aGUgcGFyZW50Q29tcG9uZW50IHNvIHdlIGNhbid0IHBhc3MgaXQuXFxuICAgICAgLy8gSnVzdCBpZ25vcmUuIFdlJ2xsIGRlbGV0ZSB0aGlzIHdpdGggX3JlbmRlclN1YnRyZWUgY29kZSBwYXRoIGxhdGVyLlxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XFxuICAgIHN5bmNVcGRhdGVzKGZ1bmN0aW9uICgpIHtcXG4gICAgICB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgcm9vdCwgbnVsbCwgbnVsbCk7XFxuICAgIH0pO1xcbiAgfVxcbn07XFxuXFxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XFxuICB7XFxuICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGUsXFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxcbiAgICAgICAgc2libGluZyA9IGZpYmVyLnNpYmxpbmcsXFxuICAgICAgICB0YWcgPSBmaWJlci50YWcsXFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcXG4gICAgdmFyIGNhbmRpZGF0ZVR5cGUgPSBudWxsO1xcblxcbiAgICBzd2l0Y2ggKHRhZykge1xcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XFxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlLnJlbmRlcjtcXG4gICAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCByZXNvbHZlRmFtaWx5IHRvIGJlIHNldCBkdXJpbmcgaG90IHJlbG9hZC4nKTtcXG4gICAgfVxcblxcbiAgICB2YXIgbmVlZHNSZW5kZXIgPSBmYWxzZTtcXG4gICAgdmFyIG5lZWRzUmVtb3VudCA9IGZhbHNlO1xcblxcbiAgICBpZiAoY2FuZGlkYXRlVHlwZSAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBmYW1pbHkgPSByZXNvbHZlRmFtaWx5KGNhbmRpZGF0ZVR5cGUpO1xcblxcbiAgICAgIGlmIChmYW1pbHkgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgaWYgKHN0YWxlRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcXG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcXG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZEZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XFxuICAgICAgICAgIGlmICh0YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XFxuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBuZWVkc1JlbmRlciA9IHRydWU7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGZhaWxlZEJvdW5kYXJpZXMgIT09IG51bGwpIHtcXG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XFxuICAgICAgICBuZWVkc1JlbW91bnQgPSB0cnVlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobmVlZHNSZW1vdW50KSB7XFxuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XFxuICAgICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY2hpbGQgIT09IG51bGwgJiYgIW5lZWRzUmVtb3VudCkge1xcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoY2hpbGQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcXG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHNpYmxpbmcsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCBmYW1pbGllcykge1xcbiAge1xcbiAgICB2YXIgaG9zdEluc3RhbmNlcyA9IG5ldyBTZXQoKTtcXG4gICAgdmFyIHR5cGVzID0gbmV3IFNldChmYW1pbGllcy5tYXAoZnVuY3Rpb24gKGZhbWlseSkge1xcbiAgICAgIHJldHVybiBmYW1pbHkuY3VycmVudDtcXG4gICAgfSkpO1xcbiAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XFxuICAgIHJldHVybiBob3N0SW5zdGFuY2VzO1xcbiAgfVxcbn07XFxuXFxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGZpYmVyLCB0eXBlcywgaG9zdEluc3RhbmNlcykge1xcbiAge1xcbiAgICB2YXIgY2hpbGQgPSBmaWJlci5jaGlsZCxcXG4gICAgICAgIHNpYmxpbmcgPSBmaWJlci5zaWJsaW5nLFxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxcbiAgICAgICAgdHlwZSA9IGZpYmVyLnR5cGU7XFxuICAgIHZhciBjYW5kaWRhdGVUeXBlID0gbnVsbDtcXG5cXG4gICAgc3dpdGNoICh0YWcpIHtcXG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgICAgY2FuZGlkYXRlVHlwZSA9IHR5cGU7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XFxuICAgICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICB2YXIgZGlkTWF0Y2ggPSBmYWxzZTtcXG5cXG4gICAgaWYgKGNhbmRpZGF0ZVR5cGUgIT09IG51bGwpIHtcXG4gICAgICBpZiAodHlwZXMuaGFzKGNhbmRpZGF0ZVR5cGUpKSB7XFxuICAgICAgICBkaWRNYXRjaCA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChkaWRNYXRjaCkge1xcbiAgICAgIC8vIFdlIGhhdmUgYSBtYXRjaC4gVGhpcyBvbmx5IGRyaWxscyBkb3duIHRvIHRoZSBjbG9zZXN0IGhvc3QgY29tcG9uZW50cy5cXG4gICAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gc2VhcmNoIGRlZXBlciBiZWNhdXNlIGZvciB0aGUgcHVycG9zZSBvZiBnaXZpbmdcXG4gICAgICAvLyB2aXN1YWwgZmVlZGJhY2ssIFxcXCJmbGFzaGluZ1xcXCIgb3V0ZXJtb3N0IHBhcmVudCByZWN0YW5nbGVzIGlzIHN1ZmZpY2llbnQuXFxuICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gSWYgdGhlcmUncyBubyBtYXRjaCwgbWF5YmUgdGhlcmUgd2lsbCBiZSBvbmUgZnVydGhlciBkb3duIGluIHRoZSBjaGlsZCB0cmVlLlxcbiAgICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGNoaWxkLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XFxuICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KHNpYmxpbmcsIHR5cGVzLCBob3N0SW5zdGFuY2VzKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKSB7XFxuICB7XFxuICAgIHZhciBmb3VuZEhvc3RJbnN0YW5jZXMgPSBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xcblxcbiAgICBpZiAoZm91bmRIb3N0SW5zdGFuY2VzKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueSBob3N0IGNoaWxkcmVuLCBmYWxsYmFjayB0byBjbG9zZXN0IGhvc3QgcGFyZW50LlxcblxcblxcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xcblxcbiAgICB3aGlsZSAodHJ1ZSkge1xcbiAgICAgIHN3aXRjaCAobm9kZS50YWcpIHtcXG4gICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xcbiAgICAgICAgICByZXR1cm47XFxuXFxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgICAgIGhvc3RJbnN0YW5jZXMuYWRkKG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xcbiAgICAgICAgICByZXR1cm47XFxuXFxuICAgICAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdG8gcmVhY2ggcm9vdCBmaXJzdC4nKTtcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xcbiAge1xcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XFxuXFxuICAgIHdoaWxlICh0cnVlKSB7XFxuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50KSB7XFxuICAgICAgICAvLyBXZSBnb3QgYSBtYXRjaC5cXG4gICAgICAgIGZvdW5kSG9zdEluc3RhbmNlcyA9IHRydWU7XFxuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cXG4gICAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChub2RlID09PSBmaWJlcikge1xcbiAgICAgICAgcmV0dXJuIGZvdW5kSG9zdEluc3RhbmNlcztcXG4gICAgICB9XFxuXFxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xcbiAgICAgICAgICByZXR1cm4gZm91bmRIb3N0SW5zdGFuY2VzO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgYmFzZVByb3BzKSB7XFxuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcXG4gICAgLy8gUmVzb2x2ZSBkZWZhdWx0IHByb3BzLiBUYWtlbiBmcm9tIFJlYWN0RWxlbWVudFxcbiAgICB2YXIgcHJvcHMgPSBfYXNzaWduKHt9LCBiYXNlUHJvcHMpO1xcblxcbiAgICB2YXIgZGVmYXVsdFByb3BzID0gQ29tcG9uZW50LmRlZmF1bHRQcm9wcztcXG5cXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XFxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcHJvcHM7XFxuICB9XFxuXFxuICByZXR1cm4gYmFzZVByb3BzO1xcbn1cXG5mdW5jdGlvbiByZWFkTGF6eUNvbXBvbmVudFR5cGUobGF6eUNvbXBvbmVudCkge1xcbiAgaW5pdGlhbGl6ZUxhenlDb21wb25lbnRUeXBlKGxhenlDb21wb25lbnQpO1xcblxcbiAgaWYgKGxhenlDb21wb25lbnQuX3N0YXR1cyAhPT0gUmVzb2x2ZWQpIHtcXG4gICAgdGhyb3cgbGF6eUNvbXBvbmVudC5fcmVzdWx0O1xcbiAgfVxcblxcbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3Jlc3VsdDtcXG59XFxuXFxudmFyIHZhbHVlQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xcbnZhciByZW5kZXJlclNpZ2lsO1xcblxcbntcXG4gIC8vIFVzZSB0aGlzIHRvIGRldGVjdCBtdWx0aXBsZSByZW5kZXJlcnMgdXNpbmcgdGhlIHNhbWUgY29udGV4dFxcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xcbn1cXG5cXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xcbnZhciBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xcbnZhciBsYXN0Q29udGV4dFdpdGhBbGxCaXRzT2JzZXJ2ZWQgPSBudWxsO1xcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XFxuZnVuY3Rpb24gcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCkge1xcbiAgLy8gVGhpcyBpcyBjYWxsZWQgcmlnaHQgYmVmb3JlIFJlYWN0IHlpZWxkcyBleGVjdXRpb24sIHRvIGVuc3VyZSBgcmVhZENvbnRleHRgXFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID0gbnVsbDtcXG4gIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XFxuICBsYXN0Q29udGV4dFdpdGhBbGxCaXRzT2JzZXJ2ZWQgPSBudWxsO1xcblxcbiAge1xcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XFxuICB7XFxuICAgIGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYgPSB0cnVlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBleGl0RGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XFxuICB7XFxuICAgIGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYgPSBmYWxzZTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcHVzaFByb3ZpZGVyKHByb3ZpZGVyRmliZXIsIG5leHRWYWx1ZSkge1xcbiAgdmFyIGNvbnRleHQgPSBwcm92aWRlckZpYmVyLnR5cGUuX2NvbnRleHQ7XFxuXFxuICB7XFxuICAgIHB1c2godmFsdWVDdXJzb3IsIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSwgcHJvdmlkZXJGaWJlcik7XFxuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcXG5cXG4gICAge1xcbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XFxuICAgICAgICBlcnJvcignRGV0ZWN0ZWQgbXVsdGlwbGUgcmVuZGVyZXJzIGNvbmN1cnJlbnRseSByZW5kZXJpbmcgdGhlICcgKyAnc2FtZSBjb250ZXh0IHByb3ZpZGVyLiBUaGlzIGlzIGN1cnJlbnRseSB1bnN1cHBvcnRlZC4nKTtcXG4gICAgICB9XFxuXFxuICAgICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyID0gcmVuZGVyZXJTaWdpbDtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBwb3BQcm92aWRlcihwcm92aWRlckZpYmVyKSB7XFxuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcXG4gIHBvcCh2YWx1ZUN1cnNvciwgcHJvdmlkZXJGaWJlcik7XFxuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyRmliZXIudHlwZS5fY29udGV4dDtcXG5cXG4gIHtcXG4gICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBjYWxjdWxhdGVDaGFuZ2VkQml0cyhjb250ZXh0LCBuZXdWYWx1ZSwgb2xkVmFsdWUpIHtcXG4gIGlmIChvYmplY3RJcyhvbGRWYWx1ZSwgbmV3VmFsdWUpKSB7XFxuICAgIC8vIE5vIGNoYW5nZVxcbiAgICByZXR1cm4gMDtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBjaGFuZ2VkQml0cyA9IHR5cGVvZiBjb250ZXh0Ll9jYWxjdWxhdGVDaGFuZ2VkQml0cyA9PT0gJ2Z1bmN0aW9uJyA/IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzKG9sZFZhbHVlLCBuZXdWYWx1ZSkgOiBNQVhfU0lHTkVEXzMxX0JJVF9JTlQ7XFxuXFxuICAgIHtcXG4gICAgICBpZiAoKGNoYW5nZWRCaXRzICYgTUFYX1NJR05FRF8zMV9CSVRfSU5UKSAhPT0gY2hhbmdlZEJpdHMpIHtcXG4gICAgICAgIGVycm9yKCdjYWxjdWxhdGVDaGFuZ2VkQml0czogRXhwZWN0ZWQgdGhlIHJldHVybiB2YWx1ZSB0byBiZSBhICcgKyAnMzEtYml0IGludGVnZXIuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzJywgY2hhbmdlZEJpdHMpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gY2hhbmdlZEJpdHMgfCAwO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzY2hlZHVsZVdvcmtPblBhcmVudFBhdGgocGFyZW50LCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBleHBpcmF0aW9uIHRpbWUgb2YgYWxsIHRoZSBhbmNlc3RvcnMsIGluY2x1ZGluZ1xcbiAgLy8gdGhlIGFsdGVybmF0ZXMuXFxuICB2YXIgbm9kZSA9IHBhcmVudDtcXG5cXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XFxuICAgIHZhciBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcXG5cXG4gICAgaWYgKG5vZGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgbm9kZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gTmVpdGhlciBhbHRlcm5hdGUgd2FzIHVwZGF0ZWQsIHdoaWNoIG1lYW5zIHRoZSByZXN0IG9mIHRoZVxcbiAgICAgIC8vIGFuY2VzdG9yIHBhdGggYWxyZWFkeSBoYXMgc3VmZmljaWVudCBwcmlvcml0eS5cXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICB9XFxufVxcbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIGNoYW5nZWRCaXRzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIGZpYmVyID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuXFxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcXG4gICAgLy8gU2V0IHRoZSByZXR1cm4gcG9pbnRlciBvZiB0aGUgY2hpbGQgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXFxuICAgIGZpYmVyLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgfVxcblxcbiAgd2hpbGUgKGZpYmVyICE9PSBudWxsKSB7XFxuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXFxuXFxuICAgIHZhciBsaXN0ID0gZmliZXIuZGVwZW5kZW5jaWVzO1xcblxcbiAgICBpZiAobGlzdCAhPT0gbnVsbCkge1xcbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLmNoaWxkO1xcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XFxuXFxuICAgICAgd2hpbGUgKGRlcGVuZGVuY3kgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXFxuICAgICAgICBpZiAoZGVwZW5kZW5jeS5jb250ZXh0ID09PSBjb250ZXh0ICYmIChkZXBlbmRlbmN5Lm9ic2VydmVkQml0cyAmIGNoYW5nZWRCaXRzKSAhPT0gMCkge1xcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXFxuICAgICAgICAgIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XFxuICAgICAgICAgICAgLy8gU2NoZWR1bGUgYSBmb3JjZSB1cGRhdGUgb24gdGhlIHdvcmstaW4tcHJvZ3Jlc3MuXFxuICAgICAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShyZW5kZXJFeHBpcmF0aW9uVGltZSwgbnVsbCk7XFxuICAgICAgICAgICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlOyAvLyBUT0RPOiBCZWNhdXNlIHdlIGRvbid0IGhhdmUgYSB3b3JrLWluLXByb2dyZXNzLCB0aGlzIHdpbGwgYWRkIHRoZVxcbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0byB0aGUgY3VycmVudCBmaWJlciwgdG9vLCB3aGljaCBtZWFucyBpdCB3aWxsIHBlcnNpc3QgZXZlbiBpZlxcbiAgICAgICAgICAgIC8vIHRoaXMgcmVuZGVyIGlzIHRocm93biBhd2F5LiBTaW5jZSBpdCdzIGEgcmFjZSBjb25kaXRpb24sIG5vdCBzdXJlIGl0J3NcXG4gICAgICAgICAgICAvLyB3b3J0aCBmaXhpbmcuXFxuXFxuICAgICAgICAgICAgZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcXG5cXG4gICAgICAgICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIGFsdGVybmF0ZS5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHNjaGVkdWxlV29ya09uUGFyZW50UGF0aChmaWJlci5yZXR1cm4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gTWFyayB0aGUgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSBsaXN0LCB0b28uXFxuXFxuICAgICAgICAgIGlmIChsaXN0LmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICBsaXN0LmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICAgICAgICAgIH0gLy8gU2luY2Ugd2UgYWxyZWFkeSBmb3VuZCBhIG1hdGNoLCB3ZSBjYW4gc3RvcCB0cmF2ZXJzaW5nIHRoZVxcbiAgICAgICAgICAvLyBkZXBlbmRlbmN5IGxpc3QuXFxuXFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGVwZW5kZW5jeSA9IGRlcGVuZGVuY3kubmV4dDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBDb250ZXh0UHJvdmlkZXIpIHtcXG4gICAgICAvLyBEb24ndCBzY2FuIGRlZXBlciBpZiB0aGlzIGlzIGEgbWF0Y2hpbmcgcHJvdmlkZXJcXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFRyYXZlcnNlIGRvd24uXFxuICAgICAgbmV4dEZpYmVyID0gZmliZXIuY2hpbGQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5leHRGaWJlciAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIGNoaWxkIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxcbiAgICAgIG5leHRGaWJlci5yZXR1cm4gPSBmaWJlcjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBObyBjaGlsZC4gVHJhdmVyc2UgdG8gbmV4dCBzaWJsaW5nLlxcbiAgICAgIG5leHRGaWJlciA9IGZpYmVyO1xcblxcbiAgICAgIHdoaWxlIChuZXh0RmliZXIgIT09IG51bGwpIHtcXG4gICAgICAgIGlmIChuZXh0RmliZXIgPT09IHdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgICAgIC8vIFdlJ3JlIGJhY2sgdG8gdGhlIHJvb3Qgb2YgdGhpcyBzdWJ0cmVlLiBFeGl0LlxcbiAgICAgICAgICBuZXh0RmliZXIgPSBudWxsO1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHZhciBzaWJsaW5nID0gbmV4dEZpYmVyLnNpYmxpbmc7XFxuXFxuICAgICAgICBpZiAoc2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBzaWJsaW5nIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxcbiAgICAgICAgICBzaWJsaW5nLnJldHVybiA9IG5leHRGaWJlci5yZXR1cm47XFxuICAgICAgICAgIG5leHRGaWJlciA9IHNpYmxpbmc7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfSAvLyBObyBtb3JlIHNpYmxpbmdzLiBUcmF2ZXJzZSB1cC5cXG5cXG5cXG4gICAgICAgIG5leHRGaWJlciA9IG5leHRGaWJlci5yZXR1cm47XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZpYmVyID0gbmV4dEZpYmVyO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID0gd29ya0luUHJvZ3Jlc3M7XFxuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xcbiAgbGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID0gbnVsbDtcXG4gIHZhciBkZXBlbmRlbmNpZXMgPSB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXM7XFxuXFxuICBpZiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSB7XFxuICAgIHZhciBmaXJzdENvbnRleHQgPSBkZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0O1xcblxcbiAgICBpZiAoZmlyc3RDb250ZXh0ICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGRlcGVuZGVuY2llcy5leHBpcmF0aW9uVGltZSA+PSByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgLy8gQ29udGV4dCBsaXN0IGhhcyBhIHBlbmRpbmcgdXBkYXRlLiBNYXJrIHRoYXQgdGhpcyBmaWJlciBwZXJmb3JtZWQgd29yay5cXG4gICAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XFxuICAgICAgfSAvLyBSZXNldCB0aGUgd29yay1pbi1wcm9ncmVzcyBsaXN0XFxuXFxuXFxuICAgICAgZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICB7XFxuICAgIC8vIFRoaXMgd2FybmluZyB3b3VsZCBmaXJlIGlmIHlvdSByZWFkIGNvbnRleHQgaW5zaWRlIGEgSG9vayBsaWtlIHVzZU1lbW8uXFxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXFxuICAgIGlmIChpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKSB7XFxuICAgICAgZXJyb3IoJ0NvbnRleHQgY2FuIG9ubHkgYmUgcmVhZCB3aGlsZSBSZWFjdCBpcyByZW5kZXJpbmcuICcgKyAnSW4gY2xhc3NlcywgeW91IGNhbiByZWFkIGl0IGluIHRoZSByZW5kZXIgbWV0aG9kIG9yIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gJyArICdJbiBmdW5jdGlvbiBjb21wb25lbnRzLCB5b3UgY2FuIHJlYWQgaXQgZGlyZWN0bHkgaW4gdGhlIGZ1bmN0aW9uIGJvZHksIGJ1dCBub3QgJyArICdpbnNpZGUgSG9va3MgbGlrZSB1c2VSZWR1Y2VyKCkgb3IgdXNlTWVtbygpLicpO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAobGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID09PSBjb250ZXh0KSA7IGVsc2UgaWYgKG9ic2VydmVkQml0cyA9PT0gZmFsc2UgfHwgb2JzZXJ2ZWRCaXRzID09PSAwKSA7IGVsc2Uge1xcbiAgICB2YXIgcmVzb2x2ZWRPYnNlcnZlZEJpdHM7IC8vIEF2b2lkIGRlb3B0aW5nIG9uIG9ic2VydmFibGUgYXJndW1lbnRzIG9yIGhldGVyb2dlbmVvdXMgdHlwZXMuXFxuXFxuICAgIGlmICh0eXBlb2Ygb2JzZXJ2ZWRCaXRzICE9PSAnbnVtYmVyJyB8fCBvYnNlcnZlZEJpdHMgPT09IE1BWF9TSUdORURfMzFfQklUX0lOVCkge1xcbiAgICAgIC8vIE9ic2VydmUgYWxsIHVwZGF0ZXMuXFxuICAgICAgbGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID0gY29udGV4dDtcXG4gICAgICByZXNvbHZlZE9ic2VydmVkQml0cyA9IE1BWF9TSUdORURfMzFfQklUX0lOVDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXNvbHZlZE9ic2VydmVkQml0cyA9IG9ic2VydmVkQml0cztcXG4gICAgfVxcblxcbiAgICB2YXIgY29udGV4dEl0ZW0gPSB7XFxuICAgICAgY29udGV4dDogY29udGV4dCxcXG4gICAgICBvYnNlcnZlZEJpdHM6IHJlc29sdmVkT2JzZXJ2ZWRCaXRzLFxcbiAgICAgIG5leHQ6IG51bGxcXG4gICAgfTtcXG5cXG4gICAgaWYgKGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9PT0gbnVsbCkge1xcbiAgICAgIGlmICghKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyICE9PSBudWxsKSkge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkNvbnRleHQgY2FuIG9ubHkgYmUgcmVhZCB3aGlsZSBSZWFjdCBpcyByZW5kZXJpbmcuIEluIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuIEluIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCBpbnNpZGUgSG9va3MgbGlrZSB1c2VSZWR1Y2VyKCkgb3IgdXNlTWVtbygpLlxcXCIgKTtcXG4gICAgICAgIH1cXG4gICAgICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IGRlcGVuZGVuY3kgZm9yIHRoaXMgY29tcG9uZW50LiBDcmVhdGUgYSBuZXcgbGlzdC5cXG5cXG5cXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBjb250ZXh0SXRlbTtcXG4gICAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlci5kZXBlbmRlbmNpZXMgPSB7XFxuICAgICAgICBleHBpcmF0aW9uVGltZTogTm9Xb3JrLFxcbiAgICAgICAgZmlyc3RDb250ZXh0OiBjb250ZXh0SXRlbSxcXG4gICAgICAgIHJlc3BvbmRlcnM6IG51bGxcXG4gICAgICB9O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXFxuICAgICAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbGFzdENvbnRleHREZXBlbmRlbmN5Lm5leHQgPSBjb250ZXh0SXRlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuICBjb250ZXh0Ll9jdXJyZW50VmFsdWUgO1xcbn1cXG5cXG52YXIgVXBkYXRlU3RhdGUgPSAwO1xcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xcbnZhciBGb3JjZVVwZGF0ZSA9IDI7XFxudmFyIENhcHR1cmVVcGRhdGUgPSAzOyAvLyBHbG9iYWwgc3RhdGUgdGhhdCBpcyByZXNldCBhdCB0aGUgYmVnaW5uaW5nIG9mIGNhbGxpbmcgYHByb2Nlc3NVcGRhdGVRdWV1ZWAuXFxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcXG4vLyBgY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZ2AuXFxuXFxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XFxudmFyIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGU7XFxudmFyIGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZTtcXG5cXG57XFxuICBkaWRXYXJuVXBkYXRlSW5zaWRlVXBkYXRlID0gZmFsc2U7XFxuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcXG4gIHZhciBxdWV1ZSA9IHtcXG4gICAgYmFzZVN0YXRlOiBmaWJlci5tZW1vaXplZFN0YXRlLFxcbiAgICBiYXNlUXVldWU6IG51bGwsXFxuICAgIHNoYXJlZDoge1xcbiAgICAgIHBlbmRpbmc6IG51bGxcXG4gICAgfSxcXG4gICAgZWZmZWN0czogbnVsbFxcbiAgfTtcXG4gIGZpYmVyLnVwZGF0ZVF1ZXVlID0gcXVldWU7XFxufVxcbmZ1bmN0aW9uIGNsb25lVXBkYXRlUXVldWUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcXG4gIC8vIENsb25lIHRoZSB1cGRhdGUgcXVldWUgZnJvbSBjdXJyZW50LiBVbmxlc3MgaXQncyBhbHJlYWR5IGEgY2xvbmUuXFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcXG4gIHZhciBjdXJyZW50UXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xcblxcbiAgaWYgKHF1ZXVlID09PSBjdXJyZW50UXVldWUpIHtcXG4gICAgdmFyIGNsb25lID0ge1xcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcXG4gICAgICBiYXNlUXVldWU6IGN1cnJlbnRRdWV1ZS5iYXNlUXVldWUsXFxuICAgICAgc2hhcmVkOiBjdXJyZW50UXVldWUuc2hhcmVkLFxcbiAgICAgIGVmZmVjdHM6IGN1cnJlbnRRdWV1ZS5lZmZlY3RzXFxuICAgIH07XFxuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY2xvbmU7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpIHtcXG4gIHZhciB1cGRhdGUgPSB7XFxuICAgIGV4cGlyYXRpb25UaW1lOiBleHBpcmF0aW9uVGltZSxcXG4gICAgc3VzcGVuc2VDb25maWc6IHN1c3BlbnNlQ29uZmlnLFxcbiAgICB0YWc6IFVwZGF0ZVN0YXRlLFxcbiAgICBwYXlsb2FkOiBudWxsLFxcbiAgICBjYWxsYmFjazogbnVsbCxcXG4gICAgbmV4dDogbnVsbFxcbiAgfTtcXG4gIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcblxcbiAge1xcbiAgICB1cGRhdGUucHJpb3JpdHkgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHVwZGF0ZTtcXG59XFxuZnVuY3Rpb24gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKSB7XFxuICB2YXIgdXBkYXRlUXVldWUgPSBmaWJlci51cGRhdGVRdWV1ZTtcXG5cXG4gIGlmICh1cGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xcbiAgICAvLyBPbmx5IG9jY3VycyBpZiB0aGUgZmliZXIgaGFzIGJlZW4gdW5tb3VudGVkLlxcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XFxuICB2YXIgcGVuZGluZyA9IHNoYXJlZFF1ZXVlLnBlbmRpbmc7XFxuXFxuICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB1cGRhdGUuIENyZWF0ZSBhIGNpcmN1bGFyIGxpc3QuXFxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgdXBkYXRlLm5leHQgPSBwZW5kaW5nLm5leHQ7XFxuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcXG4gIH1cXG5cXG4gIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XFxuXFxuICB7XFxuICAgIGlmIChjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPT09IHNoYXJlZFF1ZXVlICYmICFkaWRXYXJuVXBkYXRlSW5zaWRlVXBkYXRlKSB7XFxuICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSAoc2V0U3RhdGUsIHJlcGxhY2VTdGF0ZSwgb3IgZm9yY2VVcGRhdGUpIHdhcyBzY2hlZHVsZWQgJyArICdmcm9tIGluc2lkZSBhbiB1cGRhdGUgZnVuY3Rpb24uIFVwZGF0ZSBmdW5jdGlvbnMgc2hvdWxkIGJlIHB1cmUsICcgKyAnd2l0aCB6ZXJvIHNpZGUtZWZmZWN0cy4gQ29uc2lkZXIgdXNpbmcgY29tcG9uZW50RGlkVXBkYXRlIG9yIGEgJyArICdjYWxsYmFjay4nKTtcXG5cXG4gICAgICBkaWRXYXJuVXBkYXRlSW5zaWRlVXBkYXRlID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSkge1xcbiAgdmFyIGN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGU7XFxuXFxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xcbiAgICAvLyBFbnN1cmUgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUgaXMgYSBjbG9uZVxcbiAgICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcXG4gIH0gLy8gQ2FwdHVyZWQgdXBkYXRlcyBnbyBvbmx5IG9uIHRoZSB3b3JrLWluLXByb2dyZXNzIHF1ZXVlLlxcblxcblxcbiAgdmFyIHF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7IC8vIEFwcGVuZCB0aGUgdXBkYXRlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXFxuXFxuICB2YXIgbGFzdCA9IHF1ZXVlLmJhc2VRdWV1ZTtcXG5cXG4gIGlmIChsYXN0ID09PSBudWxsKSB7XFxuICAgIHF1ZXVlLmJhc2VRdWV1ZSA9IHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcXG4gIH0gZWxzZSB7XFxuICAgIHVwZGF0ZS5uZXh0ID0gbGFzdC5uZXh0O1xcbiAgICBsYXN0Lm5leHQgPSB1cGRhdGU7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMsIGluc3RhbmNlKSB7XFxuICBzd2l0Y2ggKHVwZGF0ZS50YWcpIHtcXG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XFxuICAgICAge1xcbiAgICAgICAgdmFyIHBheWxvYWQgPSB1cGRhdGUucGF5bG9hZDtcXG5cXG4gICAgICAgIGlmICh0eXBlb2YgcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAvLyBVcGRhdGVyIGZ1bmN0aW9uXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XFxuXFxuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgICAgICAgICAgcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBuZXh0U3RhdGUgPSBwYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcXG5cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XFxuICAgICAgICB9IC8vIFN0YXRlIG9iamVjdFxcblxcblxcbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENhcHR1cmVVcGRhdGU6XFxuICAgICAge1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xcbiAgICAgIH1cXG4gICAgLy8gSW50ZW50aW9uYWwgZmFsbHRocm91Z2hcXG5cXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcXG4gICAgICB7XFxuICAgICAgICB2YXIgX3BheWxvYWQgPSB1cGRhdGUucGF5bG9hZDtcXG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XFxuXFxuICAgICAgICBpZiAodHlwZW9mIF9wYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcXG5cXG4gICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgICAgICAgICBfcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHBhcnRpYWxTdGF0ZSA9IF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcXG5cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBQYXJ0aWFsIHN0YXRlIG9iamVjdFxcbiAgICAgICAgICBwYXJ0aWFsU3RhdGUgPSBfcGF5bG9hZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChwYXJ0aWFsU3RhdGUgPT09IG51bGwgfHwgcGFydGlhbFN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cXG4gICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcXG4gICAgICAgIH0gLy8gTWVyZ2UgdGhlIHBhcnRpYWwgc3RhdGUgYW5kIHRoZSBwcmV2aW91cyBzdGF0ZS5cXG5cXG5cXG4gICAgICAgIHJldHVybiBfYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxcbiAgICAgIHtcXG4gICAgICAgIGhhc0ZvcmNlVXBkYXRlID0gdHJ1ZTtcXG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XFxuICAgICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHByZXZTdGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBwcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcXG4gIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XFxuXFxuICB7XFxuICAgIGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZDtcXG4gIH0gLy8gVGhlIGxhc3QgcmViYXNlIHVwZGF0ZSB0aGF0IGlzIE5PVCBwYXJ0IG9mIHRoZSBiYXNlIHN0YXRlLlxcblxcblxcbiAgdmFyIGJhc2VRdWV1ZSA9IHF1ZXVlLmJhc2VRdWV1ZTsgLy8gVGhlIGxhc3QgcGVuZGluZyB1cGRhdGUgdGhhdCBoYXNuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxcblxcbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xcblxcbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xcbiAgICAvLyBXZSBoYXZlIG5ldyB1cGRhdGVzIHRoYXQgaGF2ZW4ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXFxuICAgIC8vIFdlJ2xsIGFkZCB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxcbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XFxuICAgICAgLy8gTWVyZ2UgdGhlIHBlbmRpbmcgcXVldWUgYW5kIHRoZSBiYXNlIHF1ZXVlLlxcbiAgICAgIHZhciBiYXNlRmlyc3QgPSBiYXNlUXVldWUubmV4dDtcXG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XFxuICAgICAgYmFzZVF1ZXVlLm5leHQgPSBwZW5kaW5nRmlyc3Q7XFxuICAgICAgcGVuZGluZ1F1ZXVlLm5leHQgPSBiYXNlRmlyc3Q7XFxuICAgIH1cXG5cXG4gICAgYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xcbiAgICBxdWV1ZS5zaGFyZWQucGVuZGluZyA9IG51bGw7IC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XFxuXFxuICAgIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBjdXJyZW50UXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xcblxcbiAgICAgIGlmIChjdXJyZW50UXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgIGN1cnJlbnRRdWV1ZS5iYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxcblxcblxcbiAgaWYgKGJhc2VRdWV1ZSAhPT0gbnVsbCkge1xcbiAgICB2YXIgZmlyc3QgPSBiYXNlUXVldWUubmV4dDsgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaXN0IG9mIHVwZGF0ZXMgdG8gY29tcHV0ZSB0aGUgcmVzdWx0LlxcblxcbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7XFxuICAgIHZhciBuZXdFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVGaXJzdCA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVMYXN0ID0gbnVsbDtcXG5cXG4gICAgaWYgKGZpcnN0ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xcblxcbiAgICAgIGRvIHtcXG4gICAgICAgIHZhciB1cGRhdGVFeHBpcmF0aW9uVGltZSA9IHVwZGF0ZS5leHBpcmF0aW9uVGltZTtcXG5cXG4gICAgICAgIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcXG4gICAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXFxuICAgICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cXG4gICAgICAgICAgdmFyIGNsb25lID0ge1xcbiAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lOiB1cGRhdGUuZXhwaXJhdGlvblRpbWUsXFxuICAgICAgICAgICAgc3VzcGVuc2VDb25maWc6IHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyxcXG4gICAgICAgICAgICB0YWc6IHVwZGF0ZS50YWcsXFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXFxuICAgICAgICAgICAgY2FsbGJhY2s6IHVwZGF0ZS5jYWxsYmFjayxcXG4gICAgICAgICAgICBuZXh0OiBudWxsXFxuICAgICAgICAgIH07XFxuXFxuICAgICAgICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ID09PSBudWxsKSB7XFxuICAgICAgICAgICAgbmV3QmFzZVF1ZXVlRmlyc3QgPSBuZXdCYXNlUXVldWVMYXN0ID0gY2xvbmU7XFxuICAgICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgbmV3QmFzZVF1ZXVlTGFzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QubmV4dCA9IGNsb25lO1xcbiAgICAgICAgICB9IC8vIFVwZGF0ZSB0aGUgcmVtYWluaW5nIHByaW9yaXR5IGluIHRoZSBxdWV1ZS5cXG5cXG5cXG4gICAgICAgICAgaWYgKHVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3RXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICBuZXdFeHBpcmF0aW9uVGltZSA9IHVwZGF0ZUV4cGlyYXRpb25UaW1lO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cXG4gICAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgICB2YXIgX2Nsb25lID0ge1xcbiAgICAgICAgICAgICAgZXhwaXJhdGlvblRpbWU6IFN5bmMsXFxuICAgICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdCBpdC5cXG4gICAgICAgICAgICAgIHN1c3BlbnNlQ29uZmlnOiB1cGRhdGUuc3VzcGVuc2VDb25maWcsXFxuICAgICAgICAgICAgICB0YWc6IHVwZGF0ZS50YWcsXFxuICAgICAgICAgICAgICBwYXlsb2FkOiB1cGRhdGUucGF5bG9hZCxcXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXFxuICAgICAgICAgICAgICBuZXh0OiBudWxsXFxuICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xcbiAgICAgICAgICB9IC8vIE1hcmsgdGhlIGV2ZW50IHRpbWUgb2YgdGhpcyB1cGRhdGUgYXMgcmVsZXZhbnQgdG8gdGhpcyByZW5kZXIgcGFzcy5cXG4gICAgICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgaWRlYWxseSB1c2UgdGhlIHRydWUgZXZlbnQgdGltZSBvZiB0aGlzIHVwZGF0ZSByYXRoZXIgdGhhblxcbiAgICAgICAgICAvLyBpdHMgcHJpb3JpdHkgd2hpY2ggaXMgYSBkZXJpdmVkIGFuZCBub3QgcmV2ZXJzZWFibGUgdmFsdWUuXFxuICAgICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCBza2lwIHRoaXMgdXBkYXRlIGlmIGl0IHdhcyBhbHJlYWR5IGNvbW1pdHRlZCBidXQgY3VycmVudGx5XFxuICAgICAgICAgIC8vIHdlIGhhdmUgbm8gd2F5IG9mIGRldGVjdGluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgY29tbWl0dGVkIGFuZCBzdXNwZW5kZWRcXG4gICAgICAgICAgLy8gdXBkYXRlIGhlcmUuXFxuXFxuXFxuICAgICAgICAgIG1hcmtSZW5kZXJFdmVudFRpbWVBbmRDb25maWcodXBkYXRlRXhwaXJhdGlvblRpbWUsIHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyk7IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXFxuXFxuICAgICAgICAgIG5ld1N0YXRlID0gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBuZXdTdGF0ZSwgcHJvcHMsIGluc3RhbmNlKTtcXG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gdXBkYXRlLmNhbGxiYWNrO1xcblxcbiAgICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gQ2FsbGJhY2s7XFxuICAgICAgICAgICAgdmFyIGVmZmVjdHMgPSBxdWV1ZS5lZmZlY3RzO1xcblxcbiAgICAgICAgICAgIGlmIChlZmZlY3RzID09PSBudWxsKSB7XFxuICAgICAgICAgICAgICBxdWV1ZS5lZmZlY3RzID0gW3VwZGF0ZV07XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIGVmZmVjdHMucHVzaCh1cGRhdGUpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XFxuXFxuICAgICAgICBpZiAodXBkYXRlID09PSBudWxsIHx8IHVwZGF0ZSA9PT0gZmlyc3QpIHtcXG4gICAgICAgICAgcGVuZGluZ1F1ZXVlID0gcXVldWUuc2hhcmVkLnBlbmRpbmc7XFxuXFxuICAgICAgICAgIGlmIChwZW5kaW5nUXVldWUgPT09IG51bGwpIHtcXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBmcm9tIGluc2lkZSBhIHJlZHVjZXIuIEFkZCB0aGUgbmV3XFxuICAgICAgICAgICAgLy8gcGVuZGluZyB1cGRhdGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgYW5kIGtlZXAgcHJvY2Vzc2luZy5cXG4gICAgICAgICAgICB1cGRhdGUgPSBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdRdWV1ZS5uZXh0O1xcbiAgICAgICAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gZmlyc3Q7XFxuICAgICAgICAgICAgcXVldWUuYmFzZVF1ZXVlID0gYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xcbiAgICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH0gd2hpbGUgKHRydWUpO1xcbiAgICB9XFxuXFxuICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ID09PSBudWxsKSB7XFxuICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gbmV3QmFzZVF1ZXVlRmlyc3Q7XFxuICAgIH1cXG5cXG4gICAgcXVldWUuYmFzZVN0YXRlID0gbmV3QmFzZVN0YXRlO1xcbiAgICBxdWV1ZS5iYXNlUXVldWUgPSBuZXdCYXNlUXVldWVMYXN0OyAvLyBTZXQgdGhlIHJlbWFpbmluZyBleHBpcmF0aW9uIHRpbWUgdG8gYmUgd2hhdGV2ZXIgaXMgcmVtYWluaW5nIGluIHRoZSBxdWV1ZS5cXG4gICAgLy8gVGhpcyBzaG91bGQgYmUgZmluZSBiZWNhdXNlIHRoZSBvbmx5IHR3byBvdGhlciB0aGluZ3MgdGhhdCBjb250cmlidXRlIHRvXFxuICAgIC8vIGV4cGlyYXRpb24gdGltZSBhcmUgcHJvcHMgYW5kIGNvbnRleHQuIFdlJ3JlIGFscmVhZHkgaW4gdGhlIG1pZGRsZSBvZiB0aGVcXG4gICAgLy8gYmVnaW4gcGhhc2UgYnkgdGhlIHRpbWUgd2Ugc3RhcnQgcHJvY2Vzc2luZyB0aGUgcXVldWUsIHNvIHdlJ3ZlIGFscmVhZHlcXG4gICAgLy8gZGVhbHQgd2l0aCB0aGUgcHJvcHMuIENvbnRleHQgaW4gY29tcG9uZW50cyB0aGF0IHNwZWNpZnlcXG4gICAgLy8gc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIHRyaWNreTsgYnV0IHdlJ2xsIGhhdmUgdG8gYWNjb3VudCBmb3JcXG4gICAgLy8gdGhhdCByZWdhcmRsZXNzLlxcblxcbiAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKG5ld0V4cGlyYXRpb25UaW1lKTtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBuZXdFeHBpcmF0aW9uVGltZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgfVxcblxcbiAge1xcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjYWxsQ2FsbGJhY2soY2FsbGJhY2ssIGNvbnRleHQpIHtcXG4gIGlmICghKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgYXMgY2FsbGJhY2suIEV4cGVjdGVkIGEgZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6IFxcXCIgKyBjYWxsYmFjayApO1xcbiAgICB9XFxuICB9XFxuXFxuICBjYWxsYmFjay5jYWxsKGNvbnRleHQpO1xcbn1cXG5cXG5mdW5jdGlvbiByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpIHtcXG4gIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XFxufVxcbmZ1bmN0aW9uIGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB7XFxuICByZXR1cm4gaGFzRm9yY2VVcGRhdGU7XFxufVxcbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgZmluaXNoZWRRdWV1ZSwgaW5zdGFuY2UpIHtcXG4gIC8vIENvbW1pdCB0aGUgZWZmZWN0c1xcbiAgdmFyIGVmZmVjdHMgPSBmaW5pc2hlZFF1ZXVlLmVmZmVjdHM7XFxuICBmaW5pc2hlZFF1ZXVlLmVmZmVjdHMgPSBudWxsO1xcblxcbiAgaWYgKGVmZmVjdHMgIT09IG51bGwpIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlZmZlY3RzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGVmZmVjdCA9IGVmZmVjdHNbaV07XFxuICAgICAgdmFyIGNhbGxiYWNrID0gZWZmZWN0LmNhbGxiYWNrO1xcblxcbiAgICAgIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xcbiAgICAgICAgZWZmZWN0LmNhbGxiYWNrID0gbnVsbDtcXG4gICAgICAgIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgaW5zdGFuY2UpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcXG5mdW5jdGlvbiByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCkge1xcbiAgcmV0dXJuIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnN1c3BlbnNlO1xcbn1cXG5cXG52YXIgZmFrZUludGVybmFsSW5zdGFuY2UgPSB7fTtcXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7IC8vIFJlYWN0LkNvbXBvbmVudCB1c2VzIGEgc2hhcmVkIGZyb3plbiBvYmplY3QgYnkgZGVmYXVsdC5cXG4vLyBXZSdsbCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplIGxlZ2FjeSByZWZzLlxcblxcbnZhciBlbXB0eVJlZnNPYmplY3QgPSBuZXcgUmVhY3QuQ29tcG9uZW50KCkucmVmcztcXG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xcbnZhciBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGU7XFxudmFyIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZTtcXG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcXG52YXIgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlO1xcbnZhciB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGU7XFxudmFyIHdhcm5PbkludmFsaWRDYWxsYmFjaztcXG52YXIgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGU7XFxudmFyIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzO1xcbnZhciBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGU7XFxuXFxue1xcbiAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0VW5pbml0aWFsaXplZFN0YXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0R2V0U25hcHNob3RCZWZvcmVVcGRhdGVXaXRob3V0RGlkVXBkYXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcXG4gIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMgPSBuZXcgU2V0KCk7XFxuICBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUgPSBuZXcgU2V0KCk7XFxuICB2YXIgZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrID0gbmV3IFNldCgpO1xcblxcbiAgd2Fybk9uSW52YWxpZENhbGxiYWNrID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XFxuICAgIGlmIChjYWxsYmFjayA9PT0gbnVsbCB8fCB0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGtleSA9IGNhbGxlck5hbWUgKyBcXFwiX1xcXCIgKyBjYWxsYmFjaztcXG5cXG4gICAgaWYgKCFkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suaGFzKGtleSkpIHtcXG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XFxuXFxuICAgICAgZXJyb3IoJyVzKC4uLik6IEV4cGVjdGVkIHRoZSBsYXN0IG9wdGlvbmFsIGBjYWxsYmFja2AgYXJndW1lbnQgdG8gYmUgYSAnICsgJ2Z1bmN0aW9uLiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCBjYWxsZXJOYW1lLCBjYWxsYmFjayk7XFxuICAgIH1cXG4gIH07XFxuXFxuICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUgPSBmdW5jdGlvbiAodHlwZSwgcGFydGlhbFN0YXRlKSB7XFxuICAgIGlmIChwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnQ29tcG9uZW50JztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XFxuXFxuICAgICAgICBlcnJvcignJXMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCk6IEEgdmFsaWQgc3RhdGUgb2JqZWN0IChvciBudWxsKSBtdXN0IGJlIHJldHVybmVkLiAnICsgJ1lvdSBoYXZlIHJldHVybmVkIHVuZGVmaW5lZC4nLCBjb21wb25lbnROYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07IC8vIFRoaXMgaXMgc28gZ3Jvc3MgYnV0IGl0J3MgYXQgbGVhc3Qgbm9uLWNyaXRpY2FsIGFuZCBjYW4gYmUgcmVtb3ZlZCBpZlxcbiAgLy8gaXQgY2F1c2VzIHByb2JsZW1zLiBUaGlzIGlzIG1lYW50IHRvIGdpdmUgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvclxcbiAgLy8gUmVhY3RET00xNS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihyZWFjdERPTTE2Q29tcG9uZW50LFxcbiAgLy8gLi4uKSkgd2hpY2ggb3RoZXJ3aXNlIHRocm93cyBhIFxcXCJfcHJvY2Vzc0NoaWxkQ29udGV4dCBpcyBub3QgYSBmdW5jdGlvblxcXCJcXG4gIC8vIGV4Y2VwdGlvbi5cXG5cXG5cXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmYWtlSW50ZXJuYWxJbnN0YW5jZSwgJ19wcm9jZXNzQ2hpbGRDb250ZXh0Jywge1xcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcXG4gICAgICB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5IG1lYW5zIHlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBhbmQgYXJlIGF0dGVtcHRpbmcgdG8gbmVzdCBhIFJlYWN0IDE1IHRyZWUgaW5zaWRlIGEgUmVhY3QgMTYgdHJlZSB1c2luZyB1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lciwgd2hpY2ggaXNuJ3Qgc3VwcG9ydGVkLiBUcnkgdG8gbWFrZSBzdXJlIHlvdSBoYXZlIG9ubHkgb25lIGNvcHkgb2YgUmVhY3QgKGFuZCBpZGVhbGx5LCBzd2l0Y2ggdG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG4gIE9iamVjdC5mcmVlemUoZmFrZUludGVybmFsSW5zdGFuY2UpO1xcbn1cXG5cXG5mdW5jdGlvbiBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXh0UHJvcHMpIHtcXG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAge1xcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cXG4gICAgICBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcXG5cXG4gIHtcXG4gICAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlKGN0b3IsIHBhcnRpYWxTdGF0ZSk7XFxuICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXFxuXFxuXFxuICB2YXIgbWVtb2l6ZWRTdGF0ZSA9IHBhcnRpYWxTdGF0ZSA9PT0gbnVsbCB8fCBwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCA/IHByZXZTdGF0ZSA6IF9hc3NpZ24oe30sIHByZXZTdGF0ZSwgcGFydGlhbFN0YXRlKTtcXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBtZW1vaXplZFN0YXRlOyAvLyBPbmNlIHRoZSB1cGRhdGUgcXVldWUgaXMgZW1wdHksIHBlcnNpc3QgdGhlIGRlcml2ZWQgc3RhdGUgb250byB0aGVcXG4gIC8vIGJhc2Ugc3RhdGUuXFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPT09IE5vV29yaykge1xcbiAgICAvLyBRdWV1ZSBpcyBhbHdheXMgbm9uLW51bGwgZm9yIGNsYXNzZXNcXG4gICAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XFxuICAgIHVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZSA9IG1lbW9pemVkU3RhdGU7XFxuICB9XFxufVxcbnZhciBjbGFzc0NvbXBvbmVudFVwZGF0ZXIgPSB7XFxuICBpc01vdW50ZWQ6IGlzTW91bnRlZCxcXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKGluc3QsIHBheWxvYWQsIGNhbGxiYWNrKSB7XFxuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcXG4gICAgdmFyIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlcihjdXJyZW50VGltZSwgZmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XFxuXFxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAge1xcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcXG4gICAgICB9XFxuXFxuICAgICAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2s7XFxuICAgIH1cXG5cXG4gICAgZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKTtcXG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XFxuICB9LFxcbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKGluc3QsIHBheWxvYWQsIGNhbGxiYWNrKSB7XFxuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcXG4gICAgdmFyIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlcihjdXJyZW50VGltZSwgZmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xcbiAgICB1cGRhdGUudGFnID0gUmVwbGFjZVN0YXRlO1xcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XFxuXFxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAge1xcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAncmVwbGFjZVN0YXRlJyk7XFxuICAgICAgfVxcblxcbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xcbiAgICB9XFxuXFxuICAgIGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSk7XFxuICAgIHNjaGVkdWxlV29yayhmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xcbiAgfSxcXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XFxuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcXG4gICAgdmFyIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlcihjdXJyZW50VGltZSwgZmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xcbiAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XFxuXFxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAge1xcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAnZm9yY2VVcGRhdGUnKTtcXG4gICAgICB9XFxuXFxuICAgICAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2s7XFxuICAgIH1cXG5cXG4gICAgZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKTtcXG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KSB7XFxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuXFxuICBpZiAodHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICB7XFxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cXG4gICAgICAgIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnc2hvdWxkQ29tcG9uZW50VXBkYXRlJyk7XFxuICAgIHZhciBzaG91bGRVcGRhdGUgPSBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XFxuICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuXFxuICAgIHtcXG4gICAgICBpZiAoc2hvdWxkVXBkYXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgIGVycm9yKCclcy5zaG91bGRDb21wb25lbnRVcGRhdGUoKTogUmV0dXJuZWQgdW5kZWZpbmVkIGluc3RlYWQgb2YgYSAnICsgJ2Jvb2xlYW4gdmFsdWUuIE1ha2Ugc3VyZSB0byByZXR1cm4gdHJ1ZSBvciBmYWxzZS4nLCBnZXRDb21wb25lbnROYW1lKGN0b3IpIHx8ICdDb21wb25lbnQnKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcXG4gIH1cXG5cXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xcbiAgICByZXR1cm4gIXNoYWxsb3dFcXVhbChvbGRQcm9wcywgbmV3UHJvcHMpIHx8ICFzaGFsbG93RXF1YWwob2xkU3RhdGUsIG5ld1N0YXRlKTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0NsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzKSB7XFxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuXFxuICB7XFxuICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JztcXG4gICAgdmFyIHJlbmRlclByZXNlbnQgPSBpbnN0YW5jZS5yZW5kZXI7XFxuXFxuICAgIGlmICghcmVuZGVyUHJlc2VudCkge1xcbiAgICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiB0eXBlb2YgY3Rvci5wcm90b3R5cGUucmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICBlcnJvcignJXMoLi4uKTogTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSByZXR1cm5lZCBjb21wb25lbnQgJyArICdpbnN0YW5jZTogZGlkIHlvdSBhY2NpZGVudGFsbHkgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHRoZSBjb25zdHJ1Y3Rvcj8nLCBuYW1lKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IHlvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gZGVmaW5lIGByZW5kZXJgLicsIG5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlICYmICFpbnN0YW5jZS5nZXRJbml0aWFsU3RhdGUuaXNSZWFjdENsYXNzQXBwcm92ZWQgJiYgIWluc3RhbmNlLnN0YXRlKSB7XFxuICAgICAgZXJyb3IoJ2dldEluaXRpYWxTdGF0ZSB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdEaWQgeW91IG1lYW4gdG8gZGVmaW5lIGEgc3RhdGUgcHJvcGVydHkgaW5zdGVhZD8nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAoaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzICYmICFpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcXG4gICAgICBlcnJvcignZ2V0RGVmYXVsdFByb3BzIHdhcyBkZWZpbmVkIG9uICVzLCBhIHBsYWluIEphdmFTY3JpcHQgY2xhc3MuICcgKyAnVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgY2xhc3NlcyBjcmVhdGVkIHVzaW5nIFJlYWN0LmNyZWF0ZUNsYXNzLiAnICsgJ1VzZSBhIHN0YXRpYyBwcm9wZXJ0eSB0byBkZWZpbmUgZGVmYXVsdFByb3BzIGluc3RlYWQuJywgbmFtZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGluc3RhbmNlLnByb3BUeXBlcykge1xcbiAgICAgIGVycm9yKCdwcm9wVHlwZXMgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBwcm9wVHlwZXMgaW5zdGVhZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAoaW5zdGFuY2UuY29udGV4dFR5cGUpIHtcXG4gICAgICBlcnJvcignY29udGV4dFR5cGUgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZSBpbnN0ZWFkLicsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICBpZiAoaW5zdGFuY2UuY29udGV4dFR5cGVzKSB7XFxuICAgICAgICBlcnJvcignY29udGV4dFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgY29udGV4dFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjdG9yLmNvbnRleHRUeXBlICYmIGN0b3IuY29udGV4dFR5cGVzICYmICFkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcy5oYXMoY3RvcikpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmFkZChjdG9yKTtcXG5cXG4gICAgICAgIGVycm9yKCclcyBkZWNsYXJlcyBib3RoIGNvbnRleHRUeXBlcyBhbmQgY29udGV4dFR5cGUgc3RhdGljIHByb3BlcnRpZXMuICcgKyAnVGhlIGxlZ2FjeSBjb250ZXh0VHlwZXMgcHJvcGVydHkgd2lsbCBiZSBpZ25vcmVkLicsIG5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFNob3VsZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50U2hvdWxkVXBkYXRlKCkuIERpZCB5b3UgbWVhbiBzaG91bGRDb21wb25lbnRVcGRhdGUoKT8gJyArICdUaGUgbmFtZSBpcyBwaHJhc2VkIGFzIGEgcXVlc3Rpb24gYmVjYXVzZSB0aGUgZnVuY3Rpb24gaXMgJyArICdleHBlY3RlZCB0byByZXR1cm4gYSB2YWx1ZS4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY3Rvci5wcm90b3R5cGUgJiYgY3Rvci5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgJiYgdHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCBzaG91bGRDb21wb25lbnRVcGRhdGUoKS4gJyArICdzaG91bGRDb21wb25lbnRVcGRhdGUgc2hvdWxkIG5vdCBiZSB1c2VkIHdoZW4gZXh0ZW5kaW5nIFJlYWN0LlB1cmVDb21wb25lbnQuICcgKyAnUGxlYXNlIGV4dGVuZCBSZWFjdC5Db21wb25lbnQgaWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIHVzZWQuJywgZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQSBwdXJlIGNvbXBvbmVudCcpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50RGlkVW5tb3VudCgpLiBCdXQgdGhlcmUgaXMgbm8gc3VjaCBsaWZlY3ljbGUgbWV0aG9kLiAnICsgJ0RpZCB5b3UgbWVhbiBjb21wb25lbnRXaWxsVW5tb3VudCgpPycsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRSZWNlaXZlUHJvcHMoKS4gQnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlmZWN5Y2xlIG1ldGhvZC4gJyArICdJZiB5b3UgbWVhbnQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBpbiByZXNwb25zZSB0byBjaGFuZ2luZyBwcm9wcywgJyArICd1c2UgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpLiBJZiB5b3UgbWVhbnQgdG8gZmV0Y2ggZGF0YSBvciAnICsgJ3J1biBzaWRlLWVmZmVjdHMgb3IgbXV0YXRpb25zIGFmdGVyIFJlYWN0IGhhcyB1cGRhdGVkIHRoZSBVSSwgdXNlIGNvbXBvbmVudERpZFVwZGF0ZSgpLicsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICsgJ1VOU0FGRV9jb21wb25lbnRXaWxsUmVjaWV2ZVByb3BzKCkuIERpZCB5b3UgbWVhbiBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBoYXNNdXRhdGVkUHJvcHMgPSBpbnN0YW5jZS5wcm9wcyAhPT0gbmV3UHJvcHM7XFxuXFxuICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gdW5kZWZpbmVkICYmIGhhc011dGF0ZWRQcm9wcykge1xcbiAgICAgIGVycm9yKCclcyguLi4pOiBXaGVuIGNhbGxpbmcgc3VwZXIoKSBpbiBgJXNgLCBtYWtlIHN1cmUgdG8gcGFzcyAnICsgXFxcInVwIHRoZSBzYW1lIHByb3BzIHRoYXQgeW91ciBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB3YXMgcGFzc2VkLlxcXCIsIG5hbWUsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmIChpbnN0YW5jZS5kZWZhdWx0UHJvcHMpIHtcXG4gICAgICBlcnJvcignU2V0dGluZyBkZWZhdWx0UHJvcHMgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkLicgKyAnIEluc3RlYWQsIGRlZmluZSBkZWZhdWx0UHJvcHMgYXMgYSBzdGF0aWMgcHJvcGVydHkgb24gJXMuJywgbmFtZSwgbmFtZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICFkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuaGFzKGN0b3IpKSB7XFxuICAgICAgZGlkV2FybkFib3V0R2V0U25hcHNob3RCZWZvcmVVcGRhdGVXaXRob3V0RGlkVXBkYXRlLmFkZChjdG9yKTtcXG5cXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb21wb25lbnREaWRVcGRhdGUoKS4gJyArICdUaGlzIGNvbXBvbmVudCBkZWZpbmVzIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgb25seS4nLCBnZXRDb21wb25lbnROYW1lKGN0b3IpKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgaXMgZGVmaW5lZCBhcyBhIHN0YXRpYyBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGFuIGluc3RhbmNlIG1ldGhvZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICB2YXIgX3N0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XFxuXFxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcXG4gICAgICBlcnJvcignJXMuc3RhdGU6IG11c3QgYmUgc2V0IHRvIGFuIG9iamVjdCBvciBudWxsJywgbmFtZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGN0b3IuY2hpbGRDb250ZXh0VHlwZXMgIT09ICdvYmplY3QnKSB7XFxuICAgICAgZXJyb3IoJyVzLmdldENoaWxkQ29udGV4dCgpOiBjaGlsZENvbnRleHRUeXBlcyBtdXN0IGJlIGRlZmluZWQgaW4gb3JkZXIgdG8gJyArICd1c2UgZ2V0Q2hpbGRDb250ZXh0KCkuJywgbmFtZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWRvcHRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSkge1xcbiAgaW5zdGFuY2UudXBkYXRlciA9IGNsYXNzQ29tcG9uZW50VXBkYXRlcjtcXG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXFxuXFxuICBzZXQoaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzKTtcXG5cXG4gIHtcXG4gICAgaW5zdGFuY2UuX3JlYWN0SW50ZXJuYWxJbnN0YW5jZSA9IGZha2VJbnRlcm5hbEluc3RhbmNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xcbiAgdmFyIGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID0gZmFsc2U7XFxuICB2YXIgdW5tYXNrZWRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XFxuICB2YXIgY29udGV4dFR5cGUgPSBjdG9yLmNvbnRleHRUeXBlO1xcblxcbiAge1xcbiAgICBpZiAoJ2NvbnRleHRUeXBlJyBpbiBjdG9yKSB7XFxuICAgICAgdmFyIGlzVmFsaWQgPSAvLyBBbGxvdyBudWxsIGZvciBjb25kaXRpb25hbCBkZWNsYXJhdGlvblxcbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cXG5cXG4gICAgICBpZiAoIWlzVmFsaWQgJiYgIWRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5oYXMoY3RvcikpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XFxuICAgICAgICB2YXIgYWRkZW5kdW0gPSAnJztcXG5cXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gdW5kZWZpbmVkLiAnICsgJ1RoaXMgY2FuIGJlIGNhdXNlZCBieSBhIHR5cG8gb3IgYnkgbWl4aW5nIHVwIG5hbWVkIGFuZCBkZWZhdWx0IGltcG9ydHMuICcgKyAnVGhpcyBjYW4gYWxzbyBoYXBwZW4gZHVlIHRvIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSwgc28gJyArICd0cnkgbW92aW5nIHRoZSBjcmVhdGVDb250ZXh0KCkgY2FsbCB0byBhIHNlcGFyYXRlIGZpbGUuJztcXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbnRleHRUeXBlICE9PSAnb2JqZWN0Jykge1xcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcXG4gICAgICAgIH0gZWxzZSBpZiAoY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUpIHtcXG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuUHJvdmlkZXIgaW5zdGVhZD8nO1xcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgIC8vIDxDb250ZXh0LkNvbnN1bWVyPlxcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgcGFzcyB0aGUgQ29udGV4dC5Db25zdW1lciBpbnN0ZWFkPyc7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGFuIG9iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjb250ZXh0VHlwZSkuam9pbignLCAnKSArICd9Lic7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBlcnJvcignJXMgZGVmaW5lcyBhbiBpbnZhbGlkIGNvbnRleHRUeXBlLiAnICsgJ2NvbnRleHRUeXBlIHNob3VsZCBwb2ludCB0byB0aGUgQ29udGV4dCBvYmplY3QgcmV0dXJuZWQgYnkgUmVhY3QuY3JlYXRlQ29udGV4dCgpLiVzJywgZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JywgYWRkZW5kdW0pO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSA9PT0gJ29iamVjdCcgJiYgY29udGV4dFR5cGUgIT09IG51bGwpIHtcXG4gICAgY29udGV4dCA9IHJlYWRDb250ZXh0KGNvbnRleHRUeXBlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XFxuICAgIHZhciBjb250ZXh0VHlwZXMgPSBjdG9yLmNvbnRleHRUeXBlcztcXG4gICAgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBjb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XFxuICAgIGNvbnRleHQgPSBpc0xlZ2FjeUNvbnRleHRDb25zdW1lciA/IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkgOiBlbXB0eUNvbnRleHRPYmplY3Q7XFxuICB9IC8vIEluc3RhbnRpYXRlIHR3aWNlIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cXG5cXG5cXG4gIHtcXG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgIG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGluc3RhbmNlID0gbmV3IGN0b3IocHJvcHMsIGNvbnRleHQpO1xcbiAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlICE9PSBudWxsICYmIGluc3RhbmNlLnN0YXRlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZS5zdGF0ZSA6IG51bGw7XFxuICBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcXG5cXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBzdGF0ZSA9PT0gbnVsbCkge1xcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XFxuXFxuICAgICAgICBlcnJvcignYCVzYCB1c2VzIGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGJ1dCBpdHMgaW5pdGlhbCBzdGF0ZSBpcyAnICsgJyVzLiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZC4gSW5zdGVhZCwgZGVmaW5lIHRoZSBpbml0aWFsIHN0YXRlIGJ5ICcgKyAnYXNzaWduaW5nIGFuIG9iamVjdCB0byBgdGhpcy5zdGF0ZWAgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGAlc2AuICcgKyAnVGhpcyBlbnN1cmVzIHRoYXQgYGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc2AgYXJndW1lbnRzIGhhdmUgYSBjb25zaXN0ZW50IHNoYXBlLicsIGNvbXBvbmVudE5hbWUsIGluc3RhbmNlLnN0YXRlID09PSBudWxsID8gJ251bGwnIDogJ3VuZGVmaW5lZCcsIGNvbXBvbmVudE5hbWUpO1xcbiAgICAgIH1cXG4gICAgfSAvLyBJZiBuZXcgY29tcG9uZW50IEFQSXMgYXJlIGRlZmluZWQsIFxcXCJ1bnNhZmVcXFwiIGxpZmVjeWNsZXMgd29uJ3QgYmUgY2FsbGVkLlxcbiAgICAvLyBXYXJuIGFib3V0IHRoZXNlIGxpZmVjeWNsZXMgaWYgdGhleSBhcmUgcHJlc2VudC5cXG4gICAgLy8gRG9uJ3Qgd2FybiBhYm91dCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIG1ldGhvZHMgdGhvdWdoLlxcblxcblxcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHZhciBmb3VuZFdpbGxNb3VudE5hbWUgPSBudWxsO1xcbiAgICAgIHZhciBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gbnVsbDtcXG4gICAgICB2YXIgZm91bmRXaWxsVXBkYXRlTmFtZSA9IG51bGw7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50Ll9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcXG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdjb21wb25lbnRXaWxsTW91bnQnO1xcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JztcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJztcXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcXG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnY29tcG9uZW50V2lsbFVwZGF0ZSc7XFxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUnO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCkge1xcbiAgICAgICAgdmFyIF9jb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JztcXG5cXG4gICAgICAgIHZhciBuZXdBcGlOYW1lID0gdHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nID8gJ2dldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpJyA6ICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSgpJztcXG5cXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XFxuICAgICAgICAgIGRpZFdhcm5BYm91dExlZ2FjeUxpZmVjeWNsZXNBbmREZXJpdmVkU3RhdGUuYWRkKF9jb21wb25lbnROYW1lKTtcXG5cXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcXFxuXFxcXG4nICsgJyVzIHVzZXMgJXMgYnV0IGFsc28gY29udGFpbnMgdGhlIGZvbGxvd2luZyBsZWdhY3kgbGlmZWN5Y2xlczolcyVzJXNcXFxcblxcXFxuJyArICdUaGUgYWJvdmUgbGlmZWN5Y2xlcyBzaG91bGQgYmUgcmVtb3ZlZC4gTGVhcm4gbW9yZSBhYm91dCB0aGlzIHdhcm5pbmcgaGVyZTpcXFxcbicgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMnLCBfY29tcG9uZW50TmFtZSwgbmV3QXBpTmFtZSwgZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsID8gXFxcIlxcXFxuICBcXFwiICsgZm91bmRXaWxsTW91bnROYW1lIDogJycsIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgPyBcXFwiXFxcXG4gIFxcXCIgKyBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lIDogJycsIGZvdW5kV2lsbFVwZGF0ZU5hbWUgIT09IG51bGwgPyBcXFwiXFxcXG4gIFxcXCIgKyBmb3VuZFdpbGxVcGRhdGVOYW1lIDogJycpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXFxuICAvLyBSZWFjdEZpYmVyQ29udGV4dCB1c3VhbGx5IHVwZGF0ZXMgdGhpcyBjYWNoZSBidXQgY2FuJ3QgZm9yIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2VzLlxcblxcblxcbiAgaWYgKGlzTGVnYWN5Q29udGV4dENvbnN1bWVyKSB7XFxuICAgIGNhY2hlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0LCBjb250ZXh0KTtcXG4gIH1cXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuXFxuZnVuY3Rpb24gY2FsbENvbXBvbmVudFdpbGxNb3VudCh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpIHtcXG4gIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ2NvbXBvbmVudFdpbGxNb3VudCcpO1xcbiAgdmFyIG9sZFN0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XFxuXFxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XFxuICB9XFxuXFxuICBzdG9wUGhhc2VUaW1lcigpO1xcblxcbiAgaWYgKG9sZFN0YXRlICE9PSBpbnN0YW5jZS5zdGF0ZSkge1xcbiAgICB7XFxuICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxNb3VudCgpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gdGhpcy5zdGF0ZSBpcyAnICsgXFxcImRlcHJlY2F0ZWQgKGV4Y2VwdCBpbnNpZGUgYSBjb21wb25lbnQncyBcXFwiICsgJ2NvbnN0cnVjdG9yKS4gVXNlIHNldFN0YXRlIGluc3RlYWQuJywgZ2V0Q29tcG9uZW50TmFtZSh3b3JrSW5Qcm9ncmVzcy50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XFxuICAgIH1cXG5cXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpIHtcXG4gIHZhciBvbGRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlO1xcbiAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycpO1xcblxcbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIHN0b3BQaGFzZVRpbWVyKCk7XFxuXFxuICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IG9sZFN0YXRlKSB7XFxuICAgIHtcXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUod29ya0luUHJvZ3Jlc3MudHlwZSkgfHwgJ0NvbXBvbmVudCc7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XFxuICAgICAgICBkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xcblxcbiAgICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKTogQXNzaWduaW5nIGRpcmVjdGx5IHRvICcgKyBcXFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXFxcIiArICdjb25zdHJ1Y3RvcikuIFVzZSBzZXRTdGF0ZSBpbnN0ZWFkLicsIGNvbXBvbmVudE5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xcbiAgfVxcbn0gLy8gSW52b2tlcyB0aGUgbW91bnQgbGlmZS1jeWNsZXMgb24gYSBwcmV2aW91c2x5IG5ldmVyIHJlbmRlcmVkIGluc3RhbmNlLlxcblxcblxcbmZ1bmN0aW9uIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB7XFxuICAgIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpO1xcbiAgfVxcblxcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcXG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIGluc3RhbmNlLnJlZnMgPSBlbXB0eVJlZnNPYmplY3Q7XFxuICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcXG5cXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XFxuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcXG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XFxuICB9XFxuXFxuICB7XFxuICAgIGlmIChpbnN0YW5jZS5zdGF0ZSA9PT0gbmV3UHJvcHMpIHtcXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcXG5cXG4gICAgICAgIGVycm9yKCclczogSXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIGFzc2lnbiBwcm9wcyBkaXJlY3RseSB0byBzdGF0ZSAnICsgXFxcImJlY2F1c2UgdXBkYXRlcyB0byBwcm9wcyB3b24ndCBiZSByZWZsZWN0ZWQgaW4gc3RhdGUuIFxcXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcXG5cXG4gIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcXG4gICAgaW5zdGFuY2Uuc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcbiAgfSAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXFxuXFxuXFxuICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAgY2FsbENvbXBvbmVudFdpbGxNb3VudCh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpOyAvLyBJZiB3ZSBoYWQgYWRkaXRpb25hbCBzdGF0ZSB1cGRhdGVzIGR1cmluZyB0aGlzIGxpZmUtY3ljbGUsIGxldCdzXFxuICAgIC8vIHByb2Nlc3MgdGhlbSBub3cuXFxuXFxuICAgIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVzdW1lTW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XFxuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xcbiAgdmFyIG9sZENvbnRleHQgPSBpbnN0YW5jZS5jb250ZXh0O1xcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcXG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcXG5cXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XFxuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQpO1xcbiAgfVxcblxcbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xcbiAgdmFyIGhhc05ld0xpZmVjeWNsZXMgPSB0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJzsgLy8gTm90ZTogRHVyaW5nIHRoZXNlIGxpZmUtY3ljbGVzLCBpbnN0YW5jZS5wcm9wcy9pbnN0YW5jZS5zdGF0ZSBhcmUgd2hhdFxcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcXFwiY3VycmVudFxcXCIuIEhvd2V2ZXIsXFxuICAvLyBkdXJpbmcgY29tcG9uZW50RGlkVXBkYXRlIHdlIHBhc3MgdGhlIFxcXCJjdXJyZW50XFxcIiBwcm9wcy5cXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxcbiAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cXG5cXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xcbiAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzIHx8IG9sZENvbnRleHQgIT09IG5leHRDb250ZXh0KSB7XFxuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpO1xcbiAgdmFyIG9sZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XFxuICBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIG5ld1Byb3BzLCBpbnN0YW5jZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKG9sZFByb3BzID09PSBuZXdQcm9wcyAmJiBvbGRTdGF0ZSA9PT0gbmV3U3RhdGUgJiYgIWhhc0NvbnRleHRDaGFuZ2VkKCkgJiYgIWNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSkge1xcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV3UHJvcHMpO1xcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB9XFxuXFxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xcblxcbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xcbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSkge1xcbiAgICAgIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ2NvbXBvbmVudFdpbGxNb3VudCcpO1xcblxcbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XFxuICAgICAgfVxcblxcbiAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXFxuICAgIC8vIG1lbW9pemVkIHN0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXFxuXFxuXFxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXFxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cXG5cXG5cXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XFxuICBpbnN0YW5jZS5zdGF0ZSA9IG5ld1N0YXRlO1xcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcXG59IC8vIEludm9rZXMgdGhlIHVwZGF0ZSBsaWZlLWN5Y2xlcyBhbmQgcmV0dXJucyBmYWxzZSBpZiBpdCBzaG91bGRuJ3QgcmVyZW5kZXIuXFxuXFxuXFxuZnVuY3Rpb24gdXBkYXRlQ2xhc3NJbnN0YW5jZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcXG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XFxuICBpbnN0YW5jZS5wcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gb2xkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIG9sZFByb3BzKTtcXG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcXG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XFxuICB2YXIgbmV4dENvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XFxuXFxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xcbiAgICBuZXh0Q29udGV4dCA9IHJlYWRDb250ZXh0KGNvbnRleHRUeXBlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBuZXh0VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcXG4gICAgbmV4dENvbnRleHQgPSBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBuZXh0VW5tYXNrZWRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcXG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcXG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXFxcImN1cnJlbnRcXFwiLiBIb3dldmVyLFxcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcXFwiY3VycmVudFxcXCIgcHJvcHMuXFxuICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXFxuXFxuICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xcbiAgICAgIGNhbGxDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSwgbmV3UHJvcHMsIG5leHRDb250ZXh0KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmVzZXRIYXNGb3JjZVVwZGF0ZUJlZm9yZVByb2Nlc3NpbmcoKTtcXG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB2YXIgbmV3U3RhdGUgPSBpbnN0YW5jZS5zdGF0ZSA9IG9sZFN0YXRlO1xcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gIGlmIChvbGRQcm9wcyA9PT0gbmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkpIHtcXG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXFxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgaWYgKG9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGlmIChvbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBTbmFwc2hvdDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV3UHJvcHMpO1xcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB9XFxuXFxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xcblxcbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xcbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpKSB7XFxuICAgICAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnY29tcG9uZW50V2lsbFVwZGF0ZScpO1xcblxcbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XFxuICAgICAgfVxcblxcbiAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU25hcHNob3Q7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGlmIChvbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBpZiAob2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU25hcHNob3Q7XFxuICAgICAgfVxcbiAgICB9IC8vIElmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5lZCBmYWxzZSwgd2Ugc2hvdWxkIHN0aWxsIHVwZGF0ZSB0aGVcXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cXG5cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XFxuICB9IC8vIFVwZGF0ZSB0aGUgZXhpc3RpbmcgaW5zdGFuY2UncyBzdGF0ZSwgcHJvcHMsIGFuZCBjb250ZXh0IHBvaW50ZXJzIGV2ZW5cXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxcblxcblxcbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcXG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XFxuICBpbnN0YW5jZS5jb250ZXh0ID0gbmV4dENvbnRleHQ7XFxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xcbn1cXG5cXG52YXIgZGlkV2FybkFib3V0TWFwcztcXG52YXIgZGlkV2FybkFib3V0R2VuZXJhdG9ycztcXG52YXIgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcXG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xcbnZhciBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmc7XFxuXFxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkKSB7fTtcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XFxuICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gZmFsc2U7XFxuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XFxuICAvKipcXG4gICAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcXG4gICAqIG9iamVjdCBrZXlzIGFyZSBub3QgdmFsaWQuIFRoaXMgYWxsb3dzIHVzIHRvIGtlZXAgdHJhY2sgb2YgY2hpbGRyZW4gYmV0d2VlblxcbiAgICogdXBkYXRlcy5cXG4gICAqL1xcblxcbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XFxuICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmcgPSB7fTtcXG5cXG4gIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkKSB7XFxuICAgIGlmIChjaGlsZCA9PT0gbnVsbCB8fCB0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmICghY2hpbGQuX3N0b3JlIHx8IGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgfHwgY2hpbGQua2V5ICE9IG51bGwpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaWYgKCEodHlwZW9mIGNoaWxkLl9zdG9yZSA9PT0gJ29iamVjdCcpKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJSZWFjdCBDb21wb25lbnQgaW4gd2FybkZvck1pc3NpbmdLZXkgc2hvdWxkIGhhdmUgYSBfc3RvcmUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBjaGlsZC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcXG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSAnRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgJyArICdcXFwia2V5XFxcIiBwcm9wLiBTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC13YXJuaW5nLWtleXMgZm9yICcgKyAnbW9yZSBpbmZvcm1hdGlvbi4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xcblxcbiAgICBpZiAob3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSAnICsgJ1xcXCJrZXlcXFwiIHByb3AuIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xcbiAgfTtcXG59XFxuXFxudmFyIGlzQXJyYXkkMSA9IEFycmF5LmlzQXJyYXk7XFxuXFxuZnVuY3Rpb24gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KSB7XFxuICB2YXIgbWl4ZWRSZWYgPSBlbGVtZW50LnJlZjtcXG5cXG4gIGlmIChtaXhlZFJlZiAhPT0gbnVsbCAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG1peGVkUmVmICE9PSAnb2JqZWN0Jykge1xcbiAgICB7XFxuICAgICAgLy8gVE9ETzogQ2xlYW4gdGhpcyB1cCBvbmNlIHdlIHR1cm4gb24gdGhlIHN0cmluZyByZWYgd2FybmluZyBmb3JcXG4gICAgICAvLyBldmVyeW9uZSwgYmVjYXVzZSB0aGUgc3RyaWN0IG1vZGUgY2FzZSB3aWxsIG5vIGxvbmdlciBiZSByZWxldmFudFxcbiAgICAgIGlmICgocmV0dXJuRmliZXIubW9kZSAmIFN0cmljdE1vZGUgfHwgd2FybkFib3V0U3RyaW5nUmVmcykgJiYgLy8gV2Ugd2FybiBpbiBSZWFjdEVsZW1lbnQuanMgaWYgb3duZXIgYW5kIHNlbGYgYXJlIGVxdWFsIGZvciBzdHJpbmcgcmVmc1xcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uXFxuICAgICAgLy8gdXNpbmcgYSBjb2RlbW9kLiBUaGVyZWZvcmUsIHdlIGRvbid0IGhhdmUgdG8gd2FybiBhYm91dCBzdHJpbmcgcmVmcyBhZ2Fpbi5cXG4gICAgICAhKGVsZW1lbnQuX293bmVyICYmIGVsZW1lbnQuX3NlbGYgJiYgZWxlbWVudC5fb3duZXIuc3RhdGVOb2RlICE9PSBlbGVtZW50Ll9zZWxmKSkge1xcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHJldHVybkZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnO1xcblxcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcXFwiJXNcXFwiLCBoYXMgYmVlbiBmb3VuZCB3aXRoaW4gYSBzdHJpY3QgbW9kZSB0cmVlLiAnICsgJ1N0cmluZyByZWZzIGFyZSBhIHNvdXJjZSBvZiBwb3RlbnRpYWwgYnVncyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIG9yIGNyZWF0ZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3Qtc3RyaWN0LW1vZGUtc3RyaW5nLXJlZiVzJywgbWl4ZWRSZWYsIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChyZXR1cm5GaWJlcikpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcXG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcXG4gICAgICB2YXIgaW5zdDtcXG5cXG4gICAgICBpZiAob3duZXIpIHtcXG4gICAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XFxuXFxuICAgICAgICBpZiAoIShvd25lckZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpKSB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkZ1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuIFdlIHJlY29tbWVuZCB1c2luZyB1c2VSZWYoKSBpbnN0ZWFkLiBMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6IGh0dHBzOi8vZmIubWUvcmVhY3Qtc3RyaWN0LW1vZGUtc3RyaW5nLXJlZlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgaW5zdCA9IG93bmVyRmliZXIuc3RhdGVOb2RlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoIWluc3QpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFxcXCIgKyBtaXhlZFJlZiArIFxcXCIuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgc3RyaW5nUmVmID0gJycgKyBtaXhlZFJlZjsgLy8gQ2hlY2sgaWYgcHJldmlvdXMgc3RyaW5nIHJlZiBtYXRjaGVzIG5ldyBzdHJpbmcgcmVmXFxuXFxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQucmVmO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgcmVmID0gZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgICAgICB2YXIgcmVmcyA9IGluc3QucmVmcztcXG5cXG4gICAgICAgIGlmIChyZWZzID09PSBlbXB0eVJlZnNPYmplY3QpIHtcXG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgcG9vbGVkIGZyb3plbiBvYmplY3QsIHNvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZS5cXG4gICAgICAgICAgcmVmcyA9IGluc3QucmVmcyA9IHt9O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XFxuICAgICAgICAgIGRlbGV0ZSByZWZzW3N0cmluZ1JlZl07XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICByZWZzW3N0cmluZ1JlZl0gPSB2YWx1ZTtcXG4gICAgICAgIH1cXG4gICAgICB9O1xcblxcbiAgICAgIHJlZi5fc3RyaW5nUmVmID0gc3RyaW5nUmVmO1xcbiAgICAgIHJldHVybiByZWY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKCEodHlwZW9mIG1peGVkUmVmID09PSAnc3RyaW5nJykpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCByZWYgdG8gYmUgYSBmdW5jdGlvbiwgYSBzdHJpbmcsIGFuIG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVSZWYoKSwgb3IgbnVsbC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmICghZWxlbWVudC5fb3duZXIpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcXFwiICsgbWl4ZWRSZWYgKyBcXFwiKSBidXQgbm8gb3duZXIgd2FzIHNldC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxcXG4xLiBZb3UgbWF5IGJlIGFkZGluZyBhIHJlZiB0byBhIGZ1bmN0aW9uIGNvbXBvbmVudFxcXFxuMi4gWW91IG1heSBiZSBhZGRpbmcgYSByZWYgdG8gYSBjb21wb25lbnQgdGhhdCB3YXMgbm90IGNyZWF0ZWQgaW5zaWRlIGEgY29tcG9uZW50J3MgcmVuZGVyIG1ldGhvZFxcXFxuMy4gWW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGxvYWRlZFxcXFxuU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG1peGVkUmVmO1xcbn1cXG5cXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XFxuICBpZiAocmV0dXJuRmliZXIudHlwZSAhPT0gJ3RleHRhcmVhJykge1xcbiAgICB2YXIgYWRkZW5kdW0gPSAnJztcXG5cXG4gICAge1xcbiAgICAgIGFkZGVuZHVtID0gJyBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXFxcIiArIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3Q2hpbGQpID09PSAnW29iamVjdCBPYmplY3RdJyA/ICdvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMobmV3Q2hpbGQpLmpvaW4oJywgJykgKyAnfScgOiBuZXdDaGlsZCkgKyBcXFwiKS5cXFwiICsgYWRkZW5kdW0gKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gd2Fybk9uRnVuY3Rpb25UeXBlKCkge1xcbiAge1xcbiAgICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9ICdGdW5jdGlvbnMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkLiBUaGlzIG1heSBoYXBwZW4gaWYgJyArICd5b3UgcmV0dXJuIGEgQ29tcG9uZW50IGluc3RlYWQgb2YgPENvbXBvbmVudCAvPiBmcm9tIHJlbmRlci4gJyArICdPciBtYXliZSB5b3UgbWVhbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHJldHVybiBpdC4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xcblxcbiAgICBpZiAob3duZXJIYXNGdW5jdGlvblR5cGVXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdGdW5jdGlvbnMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkLiBUaGlzIG1heSBoYXBwZW4gaWYgJyArICd5b3UgcmV0dXJuIGEgQ29tcG9uZW50IGluc3RlYWQgb2YgPENvbXBvbmVudCAvPiBmcm9tIHJlbmRlci4gJyArICdPciBtYXliZSB5b3UgbWVhbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHJldHVybiBpdC4nKTtcXG4gIH1cXG59IC8vIFRoaXMgd3JhcHBlciBmdW5jdGlvbiBleGlzdHMgYmVjYXVzZSBJIGV4cGVjdCB0byBjbG9uZSB0aGUgY29kZSBpbiBlYWNoIHBhdGhcXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXFxuLy8gYSBjb21waWxlciBvciB3ZSBjYW4gZG8gaXQgbWFudWFsbHkuIEhlbHBlcnMgdGhhdCBkb24ndCBuZWVkIHRoaXMgYnJhbmNoaW5nXFxuLy8gbGl2ZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24uXFxuXFxuXFxuZnVuY3Rpb24gQ2hpbGRSZWNvbmNpbGVyKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcXG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XFxuICAgIGlmICghc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgIC8vIE5vb3AuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIERlbGV0aW9ucyBhcmUgYWRkZWQgaW4gcmV2ZXJzZWQgb3JkZXIgc28gd2UgYWRkIGl0IHRvIHRoZSBmcm9udC5cXG4gICAgLy8gQXQgdGhpcyBwb2ludCwgdGhlIHJldHVybiBmaWJlcidzIGVmZmVjdCBsaXN0IGlzIGVtcHR5IGV4Y2VwdCBmb3JcXG4gICAgLy8gZGVsZXRpb25zLCBzbyB3ZSBjYW4ganVzdCBhcHBlbmQgdGhlIGRlbGV0aW9uIHRvIHRoZSBsaXN0LiBUaGUgcmVtYWluaW5nXFxuICAgIC8vIGVmZmVjdHMgYXJlbid0IGFkZGVkIHVudGlsIHRoZSBjb21wbGV0ZSBwaGFzZS4gT25jZSB3ZSBpbXBsZW1lbnRcXG4gICAgLy8gcmVzdW1pbmcsIHRoaXMgbWF5IG5vdCBiZSB0cnVlLlxcblxcblxcbiAgICB2YXIgbGFzdCA9IHJldHVybkZpYmVyLmxhc3RFZmZlY3Q7XFxuXFxuICAgIGlmIChsYXN0ICE9PSBudWxsKSB7XFxuICAgICAgbGFzdC5uZXh0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcXG4gICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm5GaWJlci5maXJzdEVmZmVjdCA9IHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xcbiAgICB9XFxuXFxuICAgIGNoaWxkVG9EZWxldGUubmV4dEVmZmVjdCA9IG51bGw7XFxuICAgIGNoaWxkVG9EZWxldGUuZWZmZWN0VGFnID0gRGVsZXRpb247XFxuICB9XFxuXFxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XFxuICAgICAgLy8gTm9vcC5cXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfSAvLyBUT0RPOiBGb3IgdGhlIHNob3VsZENsb25lIGNhc2UsIHRoaXMgY291bGQgYmUgbWljcm8tb3B0aW1pemVkIGEgYml0IGJ5XFxuICAgIC8vIGFzc3VtaW5nIHRoYXQgYWZ0ZXIgdGhlIGZpcnN0IGNoaWxkIHdlJ3ZlIGFscmVhZHkgYWRkZWQgZXZlcnl0aGluZy5cXG5cXG5cXG4gICAgdmFyIGNoaWxkVG9EZWxldGUgPSBjdXJyZW50Rmlyc3RDaGlsZDtcXG5cXG4gICAgd2hpbGUgKGNoaWxkVG9EZWxldGUgIT09IG51bGwpIHtcXG4gICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGRUb0RlbGV0ZSk7XFxuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xcbiAgICAvLyBBZGQgdGhlIHJlbWFpbmluZyBjaGlsZHJlbiB0byBhIHRlbXBvcmFyeSBtYXAgc28gdGhhdCB3ZSBjYW4gZmluZCB0aGVtIGJ5XFxuICAgIC8vIGtleXMgcXVpY2tseS4gSW1wbGljaXQgKG51bGwpIGtleXMgZ2V0IGFkZGVkIHRvIHRoaXMgc2V0IHdpdGggdGhlaXIgaW5kZXhcXG4gICAgLy8gaW5zdGVhZC5cXG4gICAgdmFyIGV4aXN0aW5nQ2hpbGRyZW4gPSBuZXcgTWFwKCk7XFxuICAgIHZhciBleGlzdGluZ0NoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XFxuXFxuICAgIHdoaWxlIChleGlzdGluZ0NoaWxkICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGV4aXN0aW5nQ2hpbGQua2V5ICE9PSBudWxsKSB7XFxuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uc2V0KGV4aXN0aW5nQ2hpbGQuaW5kZXgsIGV4aXN0aW5nQ2hpbGQpO1xcbiAgICAgIH1cXG5cXG4gICAgICBleGlzdGluZ0NoaWxkID0gZXhpc3RpbmdDaGlsZC5zaWJsaW5nO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBleGlzdGluZ0NoaWxkcmVuO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gdXNlRmliZXIoZmliZXIsIHBlbmRpbmdQcm9wcykge1xcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxcbiAgICAvLyB0byBmb3JnZXQgdG8gZG8gYmVmb3JlIHJldHVybmluZyBpdC4gRS5nLiBmb3IgdGhlIHNpbmdsZSBjaGlsZCBjYXNlLlxcbiAgICB2YXIgY2xvbmUgPSBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhmaWJlciwgcGVuZGluZ1Byb3BzKTtcXG4gICAgY2xvbmUuaW5kZXggPSAwO1xcbiAgICBjbG9uZS5zaWJsaW5nID0gbnVsbDtcXG4gICAgcmV0dXJuIGNsb25lO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gcGxhY2VDaGlsZChuZXdGaWJlciwgbGFzdFBsYWNlZEluZGV4LCBuZXdJbmRleCkge1xcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xcblxcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcXG4gICAgICAvLyBOb29wLlxcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XFxuICAgIH1cXG5cXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XFxuXFxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcXG5cXG4gICAgICBpZiAob2xkSW5kZXggPCBsYXN0UGxhY2VkSW5kZXgpIHtcXG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxcbiAgICAgICAgbmV3RmliZXIuZWZmZWN0VGFnID0gUGxhY2VtZW50O1xcbiAgICAgICAgcmV0dXJuIGxhc3RQbGFjZWRJbmRleDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gVGhpcyBpdGVtIGNhbiBzdGF5IGluIHBsYWNlLlxcbiAgICAgICAgcmV0dXJuIG9sZEluZGV4O1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUaGlzIGlzIGFuIGluc2VydGlvbi5cXG4gICAgICBuZXdGaWJlci5lZmZlY3RUYWcgPSBQbGFjZW1lbnQ7XFxuICAgICAgcmV0dXJuIGxhc3RQbGFjZWRJbmRleDtcXG4gICAgfVxcbiAgfVxcblxcbiAgZnVuY3Rpb24gcGxhY2VTaW5nbGVDaGlsZChuZXdGaWJlcikge1xcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcXG4gICAgLy8gcGxhY2VtZW50IGZvciBpbnNlcnRpbmcgbmV3IGNoaWxkcmVuLlxcbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cyAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcXG4gICAgICBuZXdGaWJlci5lZmZlY3RUYWcgPSBQbGFjZW1lbnQ7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBleHBpcmF0aW9uVGltZSkge1xcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LnRhZyAhPT0gSG9zdFRleHQpIHtcXG4gICAgICAvLyBJbnNlcnRcXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgIHJldHVybiBjcmVhdGVkO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFVwZGF0ZVxcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIHRleHRDb250ZW50KTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGN1cnJlbnQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnQudHlwZSB8fCAoIC8vIEtlZXAgdGhpcyBjaGVjayBpbmxpbmUgc28gaXQgb25seSBydW5zIG9uIHRoZSBmYWxzZSBwYXRoOlxcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSkge1xcbiAgICAgICAgLy8gTW92ZSBiYXNlZCBvbiBpbmRleFxcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XFxuICAgICAgICBleGlzdGluZy5yZWYgPSBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpO1xcbiAgICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcXG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBleGlzdGluZztcXG4gICAgICB9XFxuICAgIH0gLy8gSW5zZXJ0XFxuXFxuXFxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIGNyZWF0ZWQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KTtcXG4gICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgcmV0dXJuIGNyZWF0ZWQ7XFxuICB9XFxuXFxuICBmdW5jdGlvbiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnQsIHBvcnRhbCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RQb3J0YWwgfHwgY3VycmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyAhPT0gcG9ydGFsLmNvbnRhaW5lckluZm8gfHwgY3VycmVudC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gIT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xcbiAgICAgIC8vIEluc2VydFxcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gVXBkYXRlXFxuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBmcmFnbWVudCwgZXhwaXJhdGlvblRpbWUsIGtleSkge1xcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LnRhZyAhPT0gRnJhZ21lbnQpIHtcXG4gICAgICAvLyBJbnNlcnRcXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZyYWdtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgIHJldHVybiBjcmVhdGVkO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFVwZGF0ZVxcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGZyYWdtZW50KTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXFxuICAgICAgLy8gd2UgY2FuIGNvbnRpbnVlIHRvIHJlcGxhY2UgaXQgd2l0aG91dCBhYm9ydGluZyBldmVuIGlmIGl0IGlzIG5vdCBhIHRleHRcXG4gICAgICAvLyBub2RlLlxcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCgnJyArIG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gY3JlYXRlZDtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcXG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIF9jcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xcbiAgICAgICAgICAgIF9jcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgICAgICAgIHJldHVybiBfY3JlYXRlZDtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHZhciBfY3JlYXRlZDIgPSBjcmVhdGVGaWJlckZyb21Qb3J0YWwobmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgICAgICAgICAgcmV0dXJuIF9jcmVhdGVkMjtcXG4gICAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoaXNBcnJheSQxKG5ld0NoaWxkKSB8fCBnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xcbiAgICAgICAgdmFyIF9jcmVhdGVkMyA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSwgbnVsbCk7XFxuXFxuICAgICAgICBfY3JlYXRlZDMucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgICAgICByZXR1cm4gX2NyZWF0ZWQzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgd2Fybk9uRnVuY3Rpb25UeXBlKCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBVcGRhdGUgdGhlIGZpYmVyIGlmIHRoZSBrZXlzIG1hdGNoLCBvdGhlcndpc2UgcmV0dXJuIG51bGwuXFxuICAgIHZhciBrZXkgPSBvbGRGaWJlciAhPT0gbnVsbCA/IG9sZEZpYmVyLmtleSA6IG51bGw7XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAvLyBUZXh0IG5vZGVzIGRvbid0IGhhdmUga2V5cy4gSWYgdGhlIHByZXZpb3VzIG5vZGUgaXMgaW1wbGljaXRseSBrZXllZFxcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XFxuICAgICAgLy8gbm9kZS5cXG4gICAgICBpZiAoa2V5ICE9PSBudWxsKSB7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBvbGRGaWJlciwgJycgKyBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XFxuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcXG4gICAgICAgICAgICAgIGlmIChuZXdDaGlsZC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLnByb3BzLmNoaWxkcmVuLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG4gICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLmtleSA9PT0ga2V5KSB7XFxuICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChpc0FycmF5JDEobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XFxuICAgICAgICBpZiAoa2V5ICE9PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lLCBudWxsKTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZSgpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAvLyBUZXh0IG5vZGVzIGRvbid0IGhhdmUga2V5cywgc28gd2UgbmVpdGhlciBoYXZlIHRvIGNoZWNrIHRoZSBvbGQgbm9yXFxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXFxuICAgICAgdmFyIG1hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcXG4gICAgICByZXR1cm4gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIG1hdGNoZWRGaWJlciwgJycgKyBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XFxuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcXG5cXG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbiwgZXhwaXJhdGlvblRpbWUsIG5ld0NoaWxkLmtleSk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3Q2hpbGQua2V5ID09PSBudWxsID8gbmV3SWR4IDogbmV3Q2hpbGQua2V5KSB8fCBudWxsO1xcblxcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChpc0FycmF5JDEobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XFxuICAgICAgICB2YXIgX21hdGNoZWRGaWJlcjMgPSBleGlzdGluZ0NoaWxkcmVuLmdldChuZXdJZHgpIHx8IG51bGw7XFxuXFxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUsIG51bGwpO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgd2Fybk9uRnVuY3Rpb25UeXBlKCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcbiAgLyoqXFxuICAgKiBXYXJucyBpZiB0aGVyZSBpcyBhIGR1cGxpY2F0ZSBvciBtaXNzaW5nIGtleVxcbiAgICovXFxuXFxuXFxuICBmdW5jdGlvbiB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMpIHtcXG4gICAge1xcbiAgICAgIGlmICh0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnIHx8IGNoaWxkID09PSBudWxsKSB7XFxuICAgICAgICByZXR1cm4ga25vd25LZXlzO1xcbiAgICAgIH1cXG5cXG4gICAgICBzd2l0Y2ggKGNoaWxkLiQkdHlwZW9mKSB7XFxuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XFxuICAgICAgICAgIHdhcm5Gb3JNaXNzaW5nS2V5KGNoaWxkKTtcXG4gICAgICAgICAgdmFyIGtleSA9IGNoaWxkLmtleTtcXG5cXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKGtub3duS2V5cyA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgIGtub3duS2V5cyA9IG5ldyBTZXQoKTtcXG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKCFrbm93bktleXMuaGFzKGtleSkpIHtcXG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBrbm93bktleXM7XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIC8vIFRoaXMgYWxnb3JpdGhtIGNhbid0IG9wdGltaXplIGJ5IHNlYXJjaGluZyBmcm9tIGJvdGggZW5kcyBzaW5jZSB3ZVxcbiAgICAvLyBkb24ndCBoYXZlIGJhY2twb2ludGVycyBvbiBmaWJlcnMuIEknbSB0cnlpbmcgdG8gc2VlIGhvdyBmYXIgd2UgY2FuIGdldFxcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxcbiAgICAvLyBhZGQgaXQgbGF0ZXIuXFxuICAgIC8vIEV2ZW4gd2l0aCBhIHR3byBlbmRlZCBvcHRpbWl6YXRpb24sIHdlJ2Qgd2FudCB0byBvcHRpbWl6ZSBmb3IgdGhlIGNhc2VcXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXFxuICAgIC8vIGdvaW5nIGZvciB0aGUgTWFwLiBJdCdkIGxpa2UgdG8gZXhwbG9yZSBoaXR0aW5nIHRoYXQgcGF0aCBmaXJzdCBpblxcbiAgICAvLyBmb3J3YXJkLW9ubHkgbW9kZSBhbmQgb25seSBnbyBmb3IgdGhlIE1hcCBvbmNlIHdlIG5vdGljZSB0aGF0IHdlIG5lZWRcXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXFxuICAgIC8vIHNlYXJjaCBidXQgdGhhdCdzIHVudXN1YWwuIEJlc2lkZXMsIGZvciB0aGUgdHdvIGVuZGVkIG9wdGltaXphdGlvbiB0b1xcbiAgICAvLyB3b3JrIG9uIEl0ZXJhYmxlcywgd2UnZCBuZWVkIHRvIGNvcHkgdGhlIHdob2xlIHNldC5cXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXFxuICAgIC8vIChhZGRpbmcgZXZlcnl0aGluZyB0byBhIE1hcCkgaW4gZm9yIGV2ZXJ5IGluc2VydC9tb3ZlLlxcbiAgICAvLyBJZiB5b3UgY2hhbmdlIHRoaXMgY29kZSwgYWxzbyB1cGRhdGUgcmVjb25jaWxlQ2hpbGRyZW5JdGVyYXRvcigpIHdoaWNoXFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxcbiAgICB7XFxuICAgICAgLy8gRmlyc3QsIHZhbGlkYXRlIGtleXMuXFxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XFxuXFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdDaGlsZHJlbi5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XFxuICAgICAgICBrbm93bktleXMgPSB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG51bGw7XFxuICAgIHZhciBwcmV2aW91c05ld0ZpYmVyID0gbnVsbDtcXG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XFxuICAgIHZhciBsYXN0UGxhY2VkSW5kZXggPSAwO1xcbiAgICB2YXIgbmV3SWR4ID0gMDtcXG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XFxuXFxuICAgIGZvciAoOyBvbGRGaWJlciAhPT0gbnVsbCAmJiBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XFxuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XFxuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlcjtcXG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXIuc2libGluZztcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIG5ld0ZpYmVyID0gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkcmVuW25ld0lkeF0sIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgIC8vIFRPRE86IFRoaXMgYnJlYWtzIG9uIGVtcHR5IHNsb3RzIGxpa2UgbnVsbCBjaGlsZHJlbi4gVGhhdCdzXFxuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcXG4gICAgICAgIC8vIGJvb2xlYW4sIHVuZGVmaW5lZCwgZXRjLlxcbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XFxuICAgICAgICBpZiAob2xkRmliZXIgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXFxuICAgICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxcbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXFxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXFxuICAgICAgICAvLyBmb3IgZWFjaCBudWxsIHZhbHVlLiBIb3dldmVyLCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gY2FsbCB1cGRhdGVTbG90XFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXFxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcXG4gICAgICB9XFxuXFxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xcbiAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICB9XFxuXFxuICAgIGlmIChuZXdJZHggPT09IG5ld0NoaWxkcmVuLmxlbmd0aCkge1xcbiAgICAgIC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgbmV3IGNoaWxkcmVuLiBXZSBjYW4gZGVsZXRlIHRoZSByZXN0LlxcbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XFxuICAgICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XFxuICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhbnkgbW9yZSBleGlzdGluZyBjaGlsZHJlbiB3ZSBjYW4gY2hvb3NlIGEgZmFzdCBwYXRoXFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cXG4gICAgICBmb3IgKDsgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xcbiAgICAgICAgdmFyIF9uZXdGaWJlciA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZHJlbltuZXdJZHhdLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgICBpZiAoX25ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXI7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxcblxcblxcbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cXG5cXG4gICAgZm9yICg7IG5ld0lkeCA8IG5ld0NoaWxkcmVuLmxlbmd0aDsgbmV3SWR4KyspIHtcXG4gICAgICB2YXIgX25ld0ZpYmVyMiA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChfbmV3RmliZXIyICE9PSBudWxsKSB7XFxuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyMi5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBUaGUgbmV3IGZpYmVyIGlzIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IGlmIHRoZXJlIGV4aXN0cyBhXFxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXFxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cXG4gICAgICAgICAgICAvLyBsaXN0LlxcbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXIyO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgIC8vIEFueSBleGlzdGluZyBjaGlsZHJlbiB0aGF0IHdlcmVuJ3QgY29uc3VtZWQgYWJvdmUgd2VyZSBkZWxldGVkLiBXZSBuZWVkXFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXFxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XFxuICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgLy8gVGhpcyBpcyB0aGUgc2FtZSBpbXBsZW1lbnRhdGlvbiBhcyByZWNvbmNpbGVDaGlsZHJlbkFycmF5KCksXFxuICAgIC8vIGJ1dCB1c2luZyB0aGUgaXRlcmF0b3IgaW5zdGVhZC5cXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xcblxcbiAgICBpZiAoISh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkFuIG9iamVjdCBpcyBub3QgYW4gaXRlcmFibGUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgLy8gV2UgZG9uJ3Qgc3VwcG9ydCByZW5kZXJpbmcgR2VuZXJhdG9ycyBiZWNhdXNlIGl0J3MgYSBtdXRhdGlvbi5cXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjk5NVxcbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgdG9TdHJpbmdUYWdcXG4gICAgICBuZXdDaGlsZHJlbkl0ZXJhYmxlW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdHZW5lcmF0b3InKSB7XFxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dEdlbmVyYXRvcnMpIHtcXG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIEdlbmVyYXRvcnMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzIGJlY2F1c2UgZW51bWVyYXRpbmcgYSBnZW5lcmF0b3IgbXV0YXRlcyBpdC4gJyArICdZb3UgbWF5IGNvbnZlcnQgaXQgdG8gYW4gYXJyYXkgd2l0aCBgQXJyYXkuZnJvbSgpYCBvciB0aGUgJyArICdgWy4uLnNwcmVhZF1gIG9wZXJhdG9yIGJlZm9yZSByZW5kZXJpbmcuIEtlZXAgaW4gbWluZCAnICsgJ3lvdSBtaWdodCBuZWVkIHRvIHBvbHlmaWxsIHRoZXNlIGZlYXR1cmVzIGZvciBvbGRlciBicm93c2Vycy4nKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSB0cnVlO1xcbiAgICAgIH0gLy8gV2FybiBhYm91dCB1c2luZyBNYXBzIGFzIGNoaWxkcmVuXFxuXFxuXFxuICAgICAgaWYgKG5ld0NoaWxkcmVuSXRlcmFibGUuZW50cmllcyA9PT0gaXRlcmF0b3JGbikge1xcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNYXBzKSB7XFxuICAgICAgICAgIGVycm9yKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIHVuc3VwcG9ydGVkIGFuZCB3aWxsIGxpa2VseSB5aWVsZCAnICsgJ3VuZXhwZWN0ZWQgcmVzdWx0cy4gQ29udmVydCBpdCB0byBhIHNlcXVlbmNlL2l0ZXJhYmxlIG9mIGtleWVkICcgKyAnUmVhY3RFbGVtZW50cyBpbnN0ZWFkLicpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XFxuICAgICAgfSAvLyBGaXJzdCwgdmFsaWRhdGUga2V5cy5cXG4gICAgICAvLyBXZSdsbCBnZXQgYSBkaWZmZXJlbnQgaXRlcmF0b3IgbGF0ZXIgZm9yIHRoZSBtYWluIHBhc3MuXFxuXFxuXFxuICAgICAgdmFyIF9uZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcXG5cXG4gICAgICBpZiAoX25ld0NoaWxkcmVuKSB7XFxuICAgICAgICB2YXIga25vd25LZXlzID0gbnVsbDtcXG5cXG4gICAgICAgIHZhciBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCk7XFxuXFxuICAgICAgICBmb3IgKDsgIV9zdGVwLmRvbmU7IF9zdGVwID0gX25ld0NoaWxkcmVuLm5leHQoKSkge1xcbiAgICAgICAgICB2YXIgY2hpbGQgPSBfc3RlcC52YWx1ZTtcXG4gICAgICAgICAga25vd25LZXlzID0gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIG5ld0NoaWxkcmVuID0gaXRlcmF0b3JGbi5jYWxsKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xcblxcbiAgICBpZiAoIShuZXdDaGlsZHJlbiAhPSBudWxsKSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiQW4gaXRlcmFibGUgb2JqZWN0IHByb3ZpZGVkIG5vIGl0ZXJhdG9yLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBudWxsO1xcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XFxuICAgIHZhciBvbGRGaWJlciA9IGN1cnJlbnRGaXJzdENoaWxkO1xcbiAgICB2YXIgbGFzdFBsYWNlZEluZGV4ID0gMDtcXG4gICAgdmFyIG5ld0lkeCA9IDA7XFxuICAgIHZhciBuZXh0T2xkRmliZXIgPSBudWxsO1xcbiAgICB2YXIgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKTtcXG5cXG4gICAgZm9yICg7IG9sZEZpYmVyICE9PSBudWxsICYmICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XFxuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XFxuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlcjtcXG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXIuc2libGluZztcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIG5ld0ZpYmVyID0gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIHN0ZXAudmFsdWUsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgIC8vIFRPRE86IFRoaXMgYnJlYWtzIG9uIGVtcHR5IHNsb3RzIGxpa2UgbnVsbCBjaGlsZHJlbi4gVGhhdCdzXFxuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcXG4gICAgICAgIC8vIGJvb2xlYW4sIHVuZGVmaW5lZCwgZXRjLlxcbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XFxuICAgICAgICBpZiAob2xkRmliZXIgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXFxuICAgICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxcbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXFxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXFxuICAgICAgICAvLyBmb3IgZWFjaCBudWxsIHZhbHVlLiBIb3dldmVyLCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gY2FsbCB1cGRhdGVTbG90XFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXFxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcXG4gICAgICB9XFxuXFxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xcbiAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICB9XFxuXFxuICAgIGlmIChzdGVwLmRvbmUpIHtcXG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cXG4gICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xcbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xcbiAgICB9XFxuXFxuICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxcbiAgICAgIC8vIHNpbmNlIHRoZSByZXN0IHdpbGwgYWxsIGJlIGluc2VydGlvbnMuXFxuICAgICAgZm9yICg7ICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XFxuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgICBpZiAoX25ld0ZpYmVyMyA9PT0gbnVsbCkge1xcbiAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMywgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xcblxcbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxcbiAgICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gX25ld0ZpYmVyMztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjM7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyMztcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICAgIH0gLy8gQWRkIGFsbCBjaGlsZHJlbiB0byBhIGtleSBtYXAgZm9yIHF1aWNrIGxvb2t1cHMuXFxuXFxuXFxuICAgIHZhciBleGlzdGluZ0NoaWxkcmVuID0gbWFwUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTsgLy8gS2VlcCBzY2FubmluZyBhbmQgdXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBkZWxldGVkIGl0ZW1zIGFzIG1vdmVzLlxcblxcbiAgICBmb3IgKDsgIXN0ZXAuZG9uZTsgbmV3SWR4KyssIHN0ZXAgPSBuZXdDaGlsZHJlbi5uZXh0KCkpIHtcXG4gICAgICB2YXIgX25ld0ZpYmVyNCA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgc3RlcC52YWx1ZSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChfbmV3RmliZXI0ICE9PSBudWxsKSB7XFxuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBUaGUgbmV3IGZpYmVyIGlzIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IGlmIHRoZXJlIGV4aXN0cyBhXFxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXFxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cXG4gICAgICAgICAgICAvLyBsaXN0LlxcbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjQua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyNC5rZXkpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyNDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXI0O1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgIC8vIEFueSBleGlzdGluZyBjaGlsZHJlbiB0aGF0IHdlcmVuJ3QgY29uc3VtZWQgYWJvdmUgd2VyZSBkZWxldGVkLiBXZSBuZWVkXFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXFxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XFxuICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50LCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcXG4gICAgLy8gd2F5IHRvIGRlZmluZSB0aGVtLlxcbiAgICBpZiAoY3VycmVudEZpcnN0Q2hpbGQgIT09IG51bGwgJiYgY3VycmVudEZpcnN0Q2hpbGQudGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcXG4gICAgICAvLyB0aGUgcmVzdC5cXG4gICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQuc2libGluZyk7XFxuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcXG4gICAgLy8gYW5kIGRlbGV0ZSB0aGUgZXhpc3Rpbmcgb25lcy5cXG5cXG5cXG4gICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkKTtcXG4gICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KHRleHRDb250ZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgIHJldHVybiBjcmVhdGVkO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIHZhciBrZXkgPSBlbGVtZW50LmtleTtcXG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XFxuXFxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXFxuICAgICAgLy8gdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3QuXFxuICAgICAgaWYgKGNoaWxkLmtleSA9PT0ga2V5KSB7XFxuICAgICAgICBzd2l0Y2ggKGNoaWxkLnRhZykge1xcbiAgICAgICAgICBjYXNlIEZyYWdtZW50OlxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcXG4gICAgICAgICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkLnNpYmxpbmcpO1xcbiAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjaGlsZCwgZWxlbWVudC5wcm9wcy5jaGlsZHJlbik7XFxuICAgICAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xcblxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xcbiAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICBjYXNlIEJsb2NrOlxcblxcbiAgICAgICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IGZhbGx0aHJvdWdoIGhlcmUgaWYgZW5hYmxlQmxvY2tzQVBJIGlzIG5vdCBvbi5cXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lZCBuby1mYWxsdGhyb3VnaFxcblxcbiAgICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGlmIChjaGlsZC5lbGVtZW50VHlwZSA9PT0gZWxlbWVudC50eXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XFxuICAgICAgICAgICAgICAgaXNDb21wYXRpYmxlRmFtaWx5Rm9ySG90UmVsb2FkaW5nKGNoaWxkLCBlbGVtZW50KSApKSB7XFxuICAgICAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcXG5cXG4gICAgICAgICAgICAgICAgdmFyIF9leGlzdGluZzMgPSB1c2VGaWJlcihjaGlsZCwgZWxlbWVudC5wcm9wcyk7XFxuXFxuICAgICAgICAgICAgICAgIF9leGlzdGluZzMucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjaGlsZCwgZWxlbWVudCk7XFxuICAgICAgICAgICAgICAgIF9leGlzdGluZzMucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICBfZXhpc3RpbmczLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcXG4gICAgICAgICAgICAgICAgICBfZXhpc3RpbmczLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9leGlzdGluZzM7XFxuICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IC8vIERpZG4ndCBtYXRjaC5cXG5cXG5cXG4gICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZCk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcXG4gICAgICB9XFxuXFxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lLCBlbGVtZW50LmtleSk7XFxuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gY3JlYXRlZDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgX2NyZWF0ZWQ0ID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgX2NyZWF0ZWQ0LnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQpO1xcbiAgICAgIF9jcmVhdGVkNC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gX2NyZWF0ZWQ0O1xcbiAgICB9XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBwb3J0YWwsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIHZhciBrZXkgPSBwb3J0YWwua2V5O1xcbiAgICB2YXIgY2hpbGQgPSBjdXJyZW50Rmlyc3RDaGlsZDtcXG5cXG4gICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgLy8gVE9ETzogSWYga2V5ID09PSBudWxsIGFuZCBjaGlsZC5rZXkgPT09IG51bGwsIHRoZW4gdGhpcyBvbmx5IGFwcGxpZXMgdG9cXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cXG4gICAgICBpZiAoY2hpbGQua2V5ID09PSBrZXkpIHtcXG4gICAgICAgIGlmIChjaGlsZC50YWcgPT09IEhvc3RQb3J0YWwgJiYgY2hpbGQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8gPT09IHBvcnRhbC5jb250YWluZXJJbmZvICYmIGNoaWxkLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiA9PT0gcG9ydGFsLmltcGxlbWVudGF0aW9uKSB7XFxuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcXG4gICAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY2hpbGQsIHBvcnRhbC5jaGlsZHJlbiB8fCBbXSk7XFxuICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcXG4gICAgICB9XFxuXFxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xcbiAgICB9XFxuXFxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICByZXR1cm4gY3JlYXRlZDtcXG4gIH0gLy8gVGhpcyBBUEkgd2lsbCB0YWcgdGhlIGNoaWxkcmVuIHdpdGggdGhlIHNpZGUtZWZmZWN0IG9mIHRoZSByZWNvbmNpbGlhdGlvblxcbiAgLy8gaXRzZWxmLiBUaGV5IHdpbGwgYmUgYWRkZWQgdG8gdGhlIHNpZGUtZWZmZWN0IGxpc3QgYXMgd2UgcGFzcyB0aHJvdWdoIHRoZVxcbiAgLy8gY2hpbGRyZW4gYW5kIHRoZSBwYXJlbnQuXFxuXFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZEZpYmVycyhyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCByZWN1cnNpdmUuXFxuICAgIC8vIElmIHRoZSB0b3AgbGV2ZWwgaXRlbSBpcyBhbiBhcnJheSwgd2UgdHJlYXQgaXQgYXMgYSBzZXQgb2YgY2hpbGRyZW4sXFxuICAgIC8vIG5vdCBhcyBhIGZyYWdtZW50LiBOZXN0ZWQgYXJyYXlzIG9uIHRoZSBvdGhlciBoYW5kIHdpbGwgYmUgdHJlYXRlZCBhc1xcbiAgICAvLyBmcmFnbWVudCBub2Rlcy4gUmVjdXJzaW9uIGhhcHBlbnMgYXQgdGhlIG5vcm1hbCBmbG93LlxcbiAgICAvLyBIYW5kbGUgdG9wIGxldmVsIHVua2V5ZWQgZnJhZ21lbnRzIGFzIGlmIHRoZXkgd2VyZSBhcnJheXMuXFxuICAgIC8vIFRoaXMgbGVhZHMgdG8gYW4gYW1iaWd1aXR5IGJldHdlZW4gPD57Wy4uLl19PC8+IGFuZCA8Pi4uLjwvPi5cXG4gICAgLy8gV2UgdHJlYXQgdGhlIGFtYmlndW91cyBjYXNlcyBhYm92ZSB0aGUgc2FtZS5cXG4gICAgdmFyIGlzVW5rZXllZFRvcExldmVsRnJhZ21lbnQgPSB0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsICYmIG5ld0NoaWxkLnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgJiYgbmV3Q2hpbGQua2V5ID09PSBudWxsO1xcblxcbiAgICBpZiAoaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xcbiAgICAgIG5ld0NoaWxkID0gbmV3Q2hpbGQucHJvcHMuY2hpbGRyZW47XFxuICAgIH0gLy8gSGFuZGxlIG9iamVjdCB0eXBlc1xcblxcblxcbiAgICB2YXIgaXNPYmplY3QgPSB0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsO1xcblxcbiAgICBpZiAoaXNPYmplY3QpIHtcXG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XFxuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcXG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkpO1xcblxcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGlzQXJyYXkkMShuZXdDaGlsZCkpIHtcXG4gICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XFxuICAgICAgcmV0dXJuIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmIChpc09iamVjdCkge1xcbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUoKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3VuZGVmaW5lZCcgJiYgIWlzVW5rZXllZFRvcExldmVsRnJhZ21lbnQpIHtcXG4gICAgICAvLyBJZiB0aGUgbmV3IGNoaWxkIGlzIHVuZGVmaW5lZCwgYW5kIHRoZSByZXR1cm4gZmliZXIgaXMgYSBjb21wb3NpdGVcXG4gICAgICAvLyBjb21wb25lbnQsIHRocm93IGFuIGVycm9yLiBJZiBGaWJlciByZXR1cm4gdHlwZXMgYXJlIGRpc2FibGVkLFxcbiAgICAgIC8vIHdlIGFscmVhZHkgdGhyZXcgYWJvdmUuXFxuICAgICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSByZXR1cm5GaWJlci5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucmVuZGVyLl9pc01vY2tGdW5jdGlvbikge1xcbiAgICAgICAgICAgICAgICAvLyBXZSBhbGxvdyBhdXRvLW1vY2tzIHRvIHByb2NlZWQgYXMgaWYgdGhleSdyZSByZXR1cm5pbmcgbnVsbC5cXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGZhbGwgdGhyb3VnaCB0byB0aGUgbmV4dCBjYXNlLCB3aGljaCBoYW5kbGVzIGJvdGhcXG4gICAgICAgIC8vIGZ1bmN0aW9ucyBhbmQgY2xhc3Nlc1xcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lZCBuby1mYWxsdGhyb3VnaFxcblxcbiAgICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHZhciBDb21wb25lbnQgPSByZXR1cm5GaWJlci50eXBlO1xcblxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIChDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcpICsgXFxcIiguLi4pOiBOb3RoaW5nIHdhcyByZXR1cm5lZCBmcm9tIHJlbmRlci4gVGhpcyB1c3VhbGx5IG1lYW5zIGEgcmV0dXJuIHN0YXRlbWVudCBpcyBtaXNzaW5nLiBPciwgdG8gcmVuZGVyIG5vdGhpbmcsIHJldHVybiBudWxsLlxcXCIgKTtcXG4gICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cXG5cXG5cXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XFxuICB9XFxuXFxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XFxufVxcblxcbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcXG52YXIgbW91bnRDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcihmYWxzZSk7XFxuZnVuY3Rpb24gY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xcbiAgaWYgKCEoY3VycmVudCA9PT0gbnVsbCB8fCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gY3VycmVudC5jaGlsZCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiUmVzdW1pbmcgd29yayBub3QgeWV0IGltcGxlbWVudGVkLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzLmNoaWxkID09PSBudWxsKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgY3VycmVudENoaWxkLnBlbmRpbmdQcm9wcyk7XFxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG5ld0NoaWxkO1xcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XFxuXFxuICB3aGlsZSAoY3VycmVudENoaWxkLnNpYmxpbmcgIT09IG51bGwpIHtcXG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XFxuICAgIG5ld0NoaWxkID0gbmV3Q2hpbGQuc2libGluZyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgY3VycmVudENoaWxkLnBlbmRpbmdQcm9wcyk7XFxuICAgIG5ld0NoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgfVxcblxcbiAgbmV3Q2hpbGQuc2libGluZyA9IG51bGw7XFxufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxcblxcbmZ1bmN0aW9uIHJlc2V0Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcXG4gIH1cXG59XFxuXFxudmFyIE5PX0NPTlRFWFQgPSB7fTtcXG52YXIgY29udGV4dFN0YWNrQ3Vyc29yJDEgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XFxudmFyIGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKE5PX0NPTlRFWFQpO1xcbnZhciByb290SW5zdGFuY2VTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihOT19DT05URVhUKTtcXG5cXG5mdW5jdGlvbiByZXF1aXJlZENvbnRleHQoYykge1xcbiAgaWYgKCEoYyAhPT0gTk9fQ09OVEVYVCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiRXhwZWN0ZWQgaG9zdCBjb250ZXh0IHRvIGV4aXN0LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGM7XFxufVxcblxcbmZ1bmN0aW9uIGdldFJvb3RIb3N0Q29udGFpbmVyKCkge1xcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcXG4gIHJldHVybiByb290SW5zdGFuY2U7XFxufVxcblxcbmZ1bmN0aW9uIHB1c2hIb3N0Q29udGFpbmVyKGZpYmVyLCBuZXh0Um9vdEluc3RhbmNlKSB7XFxuICAvLyBQdXNoIGN1cnJlbnQgcm9vdCBpbnN0YW5jZSBvbnRvIHRoZSBzdGFjaztcXG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXFxuICBwdXNoKHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLCBuZXh0Um9vdEluc3RhbmNlLCBmaWJlcik7IC8vIFRyYWNrIHRoZSBjb250ZXh0IGFuZCB0aGUgRmliZXIgdGhhdCBwcm92aWRlZCBpdC5cXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cXG5cXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7IC8vIEZpbmFsbHksIHdlIG5lZWQgdG8gcHVzaCB0aGUgaG9zdCBjb250ZXh0IHRvIHRoZSBzdGFjay5cXG4gIC8vIEhvd2V2ZXIsIHdlIGNhbid0IGp1c3QgY2FsbCBnZXRSb290SG9zdENvbnRleHQoKSBhbmQgcHVzaCBpdCBiZWNhdXNlXFxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxcbiAgLy8gd2hldGhlciBnZXRSb290SG9zdENvbnRleHQoKSB0aHJvd3Mgc29tZXdoZXJlIGluIHJlbmRlcmVyIGNvZGUgb3Igbm90LlxcbiAgLy8gU28gd2UgcHVzaCBhbiBlbXB0eSB2YWx1ZSBmaXJzdC4gVGhpcyBsZXRzIHVzIHNhZmVseSB1bndpbmQgb24gZXJyb3JzLlxcblxcbiAgcHVzaChjb250ZXh0U3RhY2tDdXJzb3IkMSwgTk9fQ09OVEVYVCwgZmliZXIpO1xcbiAgdmFyIG5leHRSb290Q29udGV4dCA9IGdldFJvb3RIb3N0Q29udGV4dChuZXh0Um9vdEluc3RhbmNlKTsgLy8gTm93IHRoYXQgd2Uga25vdyB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgdGhyb3csIHJlcGxhY2UgaXQuXFxuXFxuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcXG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRSb290Q29udGV4dCwgZmliZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BIb3N0Q29udGFpbmVyKGZpYmVyKSB7XFxuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcXG4gIHBvcChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIpO1xcbiAgcG9wKHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLCBmaWJlcik7XFxufVxcblxcbmZ1bmN0aW9uIGdldEhvc3RDb250ZXh0KCkge1xcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XFxuICByZXR1cm4gY29udGV4dDtcXG59XFxuXFxuZnVuY3Rpb24gcHVzaEhvc3RDb250ZXh0KGZpYmVyKSB7XFxuICB2YXIgcm9vdEluc3RhbmNlID0gcmVxdWlyZWRDb250ZXh0KHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLmN1cnJlbnQpO1xcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XFxuICB2YXIgbmV4dENvbnRleHQgPSBnZXRDaGlsZEhvc3RDb250ZXh0KGNvbnRleHQsIGZpYmVyLnR5cGUpOyAvLyBEb24ndCBwdXNoIHRoaXMgRmliZXIncyBjb250ZXh0IHVubGVzcyBpdCdzIHVuaXF1ZS5cXG5cXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xcbiAgICByZXR1cm47XFxuICB9IC8vIFRyYWNrIHRoZSBjb250ZXh0IGFuZCB0aGUgRmliZXIgdGhhdCBwcm92aWRlZCBpdC5cXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cXG5cXG5cXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XFxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Q29udGV4dCwgZmliZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BIb3N0Q29udGV4dChmaWJlcikge1xcbiAgLy8gRG8gbm90IHBvcCB1bmxlc3MgdGhpcyBGaWJlciBwcm92aWRlZCB0aGUgY3VycmVudCBjb250ZXh0LlxcbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXFxuICBpZiAoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IuY3VycmVudCAhPT0gZmliZXIpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgcG9wKGNvbnRleHRTdGFja0N1cnNvciQxLCBmaWJlcik7XFxuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcXG59XFxuXFxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcXG4vLyBpbmhlcml0ZWQgZGVlcGx5IGRvd24gdGhlIHN1YnRyZWUuIFRoZSB1cHBlciBiaXRzIG9ubHkgYWZmZWN0XFxuLy8gdGhpcyBpbW1lZGlhdGUgc3VzcGVuc2UgYm91bmRhcnkgYW5kIGdldHMgcmVzZXQgZWFjaCBuZXdcXG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxcblxcbnZhciBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzayA9IDE7IC8vIFN1YnRyZWUgRmxhZ3M6XFxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXFxuLy8gYm91bmRhcmllcyBpcyBub3QgY3VycmVudGx5IHNob3dpbmcgdmlzaWJsZSBtYWluIGNvbnRlbnQuXFxuLy8gRWl0aGVyIGJlY2F1c2UgaXQgaXMgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgb3IgaXMgbm90IG1vdW50ZWQgYXQgYWxsLlxcbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxcbi8vIHRoZSBwYXJlbnQuIElmIG5vdCwgdGhlbiB3ZSBtaWdodCBuZWVkIHRvIHRyaWdnZXIgdW5kZXNpcmFibGUgYm91bmRhcmllc1xcbi8vIGFuZC9vciBzdXNwZW5kIHRoZSBjb21taXQgdG8gYXZvaWQgaGlkaW5nIHRoZSBwYXJlbnQgY29udGVudC5cXG5cXG52YXIgSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0ID0gMTsgLy8gU2hhbGxvdyBGbGFnczpcXG4vLyBGb3JjZVN1c3BlbnNlRmFsbGJhY2sgY2FuIGJlIHVzZWQgYnkgU3VzcGVuc2VMaXN0IHRvIGZvcmNlIG5ld2x5IGFkZGVkXFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxcblxcbnZhciBGb3JjZVN1c3BlbnNlRmFsbGJhY2sgPSAyO1xcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xcbmZ1bmN0aW9uIGhhc1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0LCBmbGFnKSB7XFxuICByZXR1cm4gKHBhcmVudENvbnRleHQgJiBmbGFnKSAhPT0gMDtcXG59XFxuZnVuY3Rpb24gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCkge1xcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgJiBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzaztcXG59XFxuZnVuY3Rpb24gc2V0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0LCBzaGFsbG93Q29udGV4dCkge1xcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgJiBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzayB8IHNoYWxsb3dDb250ZXh0O1xcbn1cXG5mdW5jdGlvbiBhZGRTdWJ0cmVlU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHN1YnRyZWVDb250ZXh0KSB7XFxuICByZXR1cm4gcGFyZW50Q29udGV4dCB8IHN1YnRyZWVDb250ZXh0O1xcbn1cXG5mdW5jdGlvbiBwdXNoU3VzcGVuc2VDb250ZXh0KGZpYmVyLCBuZXdDb250ZXh0KSB7XFxuICBwdXNoKHN1c3BlbnNlU3RhY2tDdXJzb3IsIG5ld0NvbnRleHQsIGZpYmVyKTtcXG59XFxuZnVuY3Rpb24gcG9wU3VzcGVuc2VDb250ZXh0KGZpYmVyKSB7XFxuICBwb3Aoc3VzcGVuc2VTdGFja0N1cnNvciwgZmliZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiBzaG91bGRDYXB0dXJlU3VzcGVuc2Uod29ya0luUHJvZ3Jlc3MsIGhhc0ludmlzaWJsZVBhcmVudCkge1xcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcXG4gIC8vIGZhbGxiYWNrLiBPdGhlcndpc2UsIGRvbid0IGNhcHR1cmUgYW5kIGJ1YmJsZSB0byB0aGUgbmV4dCBib3VuZGFyeS5cXG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKG5leHRTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICBpZiAobmV4dFN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcXG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7IC8vIEluIG9yZGVyIHRvIGNhcHR1cmUsIHRoZSBTdXNwZW5zZSBjb21wb25lbnQgbXVzdCBoYXZlIGEgZmFsbGJhY2sgcHJvcC5cXG5cXG4gIGlmIChwcm9wcy5mYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH0gLy8gUmVndWxhciBib3VuZGFyaWVzIGFsd2F5cyBjYXB0dXJlLlxcblxcblxcbiAgaWYgKHByb3BzLnVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrICE9PSB0cnVlKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfSAvLyBJZiBpdCdzIGEgYm91bmRhcnkgd2Ugc2hvdWxkIGF2b2lkLCB0aGVuIHdlIHByZWZlciB0byBidWJibGUgdXAgdG8gdGhlXFxuICAvLyBwYXJlbnQgYm91bmRhcnkgaWYgaXQgaXMgY3VycmVudGx5IGludmlzaWJsZS5cXG5cXG5cXG4gIGlmIChoYXNJbnZpc2libGVQYXJlbnQpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfSAvLyBJZiB0aGUgcGFyZW50IGlzIG5vdCBhYmxlIHRvIGhhbmRsZSBpdCwgd2UgbXVzdCBoYW5kbGUgaXQuXFxuXFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuZnVuY3Rpb24gZmluZEZpcnN0U3VzcGVuZGVkKHJvdykge1xcbiAgdmFyIG5vZGUgPSByb3c7XFxuXFxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xcblxcbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAgICAgdmFyIGRlaHlkcmF0ZWQgPSBzdGF0ZS5kZWh5ZHJhdGVkO1xcblxcbiAgICAgICAgaWYgKGRlaHlkcmF0ZWQgPT09IG51bGwgfHwgaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhkZWh5ZHJhdGVkKSB8fCBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhkZWh5ZHJhdGVkKSkge1xcbiAgICAgICAgICByZXR1cm4gbm9kZTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCAmJiAvLyByZXZlYWxPcmRlciB1bmRlZmluZWQgY2FuJ3QgYmUgdHJ1c3RlZCBiZWNhdXNlIGl0IGRvbid0XFxuICAgIC8vIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBpdCBzdXNwZW5kZWQgb3Igbm90LlxcbiAgICBub2RlLm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciBkaWRTdXNwZW5kID0gKG5vZGUuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcblxcbiAgICAgIGlmIChkaWRTdXNwZW5kKSB7XFxuICAgICAgICByZXR1cm4gbm9kZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gcm93KSB7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG5cXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcykge1xcbiAgdmFyIGV2ZW50UmVzcG9uZGVyTGlzdGVuZXIgPSB7XFxuICAgIHJlc3BvbmRlcjogcmVzcG9uZGVyLFxcbiAgICBwcm9wczogcHJvcHNcXG4gIH07XFxuXFxuICB7XFxuICAgIE9iamVjdC5mcmVlemUoZXZlbnRSZXNwb25kZXJMaXN0ZW5lcik7XFxuICB9XFxuXFxuICByZXR1cm4gZXZlbnRSZXNwb25kZXJMaXN0ZW5lcjtcXG59XFxuXFxudmFyIEhhc0VmZmVjdCA9XFxuLyogKi9cXG4xOyAvLyBSZXByZXNlbnRzIHRoZSBwaGFzZSBpbiB3aGljaCB0aGUgZWZmZWN0IChub3QgdGhlIGNsZWFuLXVwKSBmaXJlcy5cXG5cXG52YXIgTGF5b3V0ID1cXG4vKiAgICAqL1xcbjI7XFxudmFyIFBhc3NpdmUkMSA9XFxuLyogICAqL1xcbjQ7XFxuXFxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7XFxudmFyIGRpZFdhcm5BYm91dE1pc21hdGNoZWRIb29rc0ZvckNvbXBvbmVudDtcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQgPSBuZXcgU2V0KCk7XFxufVxcblxcbi8vIFRoZXNlIGFyZSBzZXQgcmlnaHQgYmVmb3JlIGNhbGxpbmcgdGhlIGNvbXBvbmVudC5cXG52YXIgcmVuZGVyRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLiBJJ3ZlIG5hbWVkIGl0IGRpZmZlcmVudGx5IHRvIGRpc3Rpbmd1aXNoIGl0IGZyb21cXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxcblxcbnZhciBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDsgLy8gSG9va3MgYXJlIHN0b3JlZCBhcyBhIGxpbmtlZCBsaXN0IG9uIHRoZSBmaWJlcidzIG1lbW9pemVkU3RhdGUgZmllbGQuIFRoZVxcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXFxuLy8gd29yay1pbi1wcm9ncmVzcyBob29rIGxpc3QgaXMgYSBuZXcgbGlzdCB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlXFxuLy8gd29yay1pbi1wcm9ncmVzcyBmaWJlci5cXG5cXG52YXIgY3VycmVudEhvb2sgPSBudWxsO1xcbnZhciB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsOyAvLyBXaGV0aGVyIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIGF0IGFueSBwb2ludCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZS4gVGhpc1xcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxcbi8vIGZpbmlzaGVkIGV2YWx1YXRpbmcgdGhpcyBjb21wb25lbnQuIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHNvIHdlIGtub3dcXG4vLyB3aGV0aGVyIHdlIG5lZWQgdG8gY2xlYXIgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgYWZ0ZXIgYSB0aHJvdy5cXG5cXG52YXIgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xcbnZhciBSRV9SRU5ERVJfTElNSVQgPSAyNTsgLy8gSW4gREVWLCB0aGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHByaW1pdGl2ZSBob29rXFxuXFxudmFyIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDsgLy8gSW4gREVWLCB0aGlzIGxpc3QgZW5zdXJlcyB0aGF0IGhvb2tzIGFyZSBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIgYmV0d2VlbiByZW5kZXJzLlxcbi8vIFRoZSBsaXN0IHN0b3JlcyB0aGUgb3JkZXIgb2YgaG9va3MgdXNlZCBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIChtb3VudCkuXFxuLy8gU3Vic2VxdWVudCByZW5kZXJzICh1cGRhdGVzKSByZWZlcmVuY2UgdGhpcyBsaXN0LlxcblxcbnZhciBob29rVHlwZXNEZXYgPSBudWxsO1xcbnZhciBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xOyAvLyBJbiBERVYsIHRoaXMgdHJhY2tzIHdoZXRoZXIgY3VycmVudGx5IHJlbmRlcmluZyBjb21wb25lbnQgbmVlZHMgdG8gaWdub3JlXFxuLy8gdGhlIGRlcGVuZGVuY2llcyBmb3IgSG9va3MgdGhhdCBuZWVkIHRoZW0gKGUuZy4gdXNlRWZmZWN0IG9yIHVzZU1lbW8pLlxcbi8vIFdoZW4gdHJ1ZSwgc3VjaCBIb29rcyB3aWxsIGFsd2F5cyBiZSBcXFwicmVtb3VudGVkXFxcIi4gT25seSB1c2VkIGR1cmluZyBob3QgcmVsb2FkLlxcblxcbnZhciBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGZhbHNlO1xcblxcbmZ1bmN0aW9uIG1vdW50SG9va1R5cGVzRGV2KCkge1xcbiAge1xcbiAgICB2YXIgaG9va05hbWUgPSBjdXJyZW50SG9va05hbWVJbkRldjtcXG5cXG4gICAgaWYgKGhvb2tUeXBlc0RldiA9PT0gbnVsbCkge1xcbiAgICAgIGhvb2tUeXBlc0RldiA9IFtob29rTmFtZV07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaG9va1R5cGVzRGV2LnB1c2goaG9va05hbWUpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUhvb2tUeXBlc0RldigpIHtcXG4gIHtcXG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XFxuXFxuICAgIGlmIChob29rVHlwZXNEZXYgIT09IG51bGwpIHtcXG4gICAgICBob29rVHlwZXNVcGRhdGVJbmRleERldisrO1xcblxcbiAgICAgIGlmIChob29rVHlwZXNEZXZbaG9va1R5cGVzVXBkYXRlSW5kZXhEZXZdICE9PSBob29rTmFtZSkge1xcbiAgICAgICAgd2Fybk9uSG9va01pc21hdGNoSW5EZXYoaG9va05hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKSB7XFxuICB7XFxuICAgIGlmIChkZXBzICE9PSB1bmRlZmluZWQgJiYgZGVwcyAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShkZXBzKSkge1xcbiAgICAgIC8vIFZlcmlmeSBkZXBzLCBidXQgb25seSBvbiBtb3VudCB0byBhdm9pZCBleHRyYSBjaGVja3MuXFxuICAgICAgLy8gSXQncyB1bmxpa2VseSB0aGVpciB0eXBlIHdvdWxkIGNoYW5nZSBhcyB1c3VhbGx5IHlvdSBkZWZpbmUgdGhlbSBpbmxpbmUuXFxuICAgICAgZXJyb3IoJyVzIHJlY2VpdmVkIGEgZmluYWwgYXJndW1lbnQgdGhhdCBpcyBub3QgYW4gYXJyYXkgKGluc3RlYWQsIHJlY2VpdmVkIGAlc2ApLiBXaGVuICcgKyAnc3BlY2lmaWVkLCB0aGUgZmluYWwgYXJndW1lbnQgbXVzdCBiZSBhbiBhcnJheS4nLCBjdXJyZW50SG9va05hbWVJbkRldiwgdHlwZW9mIGRlcHMpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGN1cnJlbnRIb29rTmFtZSkge1xcbiAge1xcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS50eXBlKTtcXG5cXG4gICAgaWYgKCFkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XFxuICAgICAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcXG5cXG4gICAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XFxuICAgICAgICB2YXIgdGFibGUgPSAnJztcXG4gICAgICAgIHZhciBzZWNvbmRDb2x1bW5TdGFydCA9IDMwO1xcblxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gaG9va1R5cGVzVXBkYXRlSW5kZXhEZXY7IGkrKykge1xcbiAgICAgICAgICB2YXIgb2xkSG9va05hbWUgPSBob29rVHlwZXNEZXZbaV07XFxuICAgICAgICAgIHZhciBuZXdIb29rTmFtZSA9IGkgPT09IGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID8gY3VycmVudEhvb2tOYW1lIDogb2xkSG9va05hbWU7XFxuICAgICAgICAgIHZhciByb3cgPSBpICsgMSArIFxcXCIuIFxcXCIgKyBvbGRIb29rTmFtZTsgLy8gRXh0cmEgc3BhY2Ugc28gc2Vjb25kIGNvbHVtbiBsaW5lcyB1cFxcbiAgICAgICAgICAvLyBsb2wgQCBJRSBub3Qgc3VwcG9ydGluZyBTdHJpbmcjcmVwZWF0XFxuXFxuICAgICAgICAgIHdoaWxlIChyb3cubGVuZ3RoIDwgc2Vjb25kQ29sdW1uU3RhcnQpIHtcXG4gICAgICAgICAgICByb3cgKz0gJyAnO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJvdyArPSBuZXdIb29rTmFtZSArICdcXFxcbic7XFxuICAgICAgICAgIHRhYmxlICs9IHJvdztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGVycm9yKCdSZWFjdCBoYXMgZGV0ZWN0ZWQgYSBjaGFuZ2UgaW4gdGhlIG9yZGVyIG9mIEhvb2tzIGNhbGxlZCBieSAlcy4gJyArICdUaGlzIHdpbGwgbGVhZCB0byBidWdzIGFuZCBlcnJvcnMgaWYgbm90IGZpeGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCByZWFkIHRoZSBSdWxlcyBvZiBIb29rczogaHR0cHM6Ly9mYi5tZS9ydWxlcy1vZi1ob29rc1xcXFxuXFxcXG4nICsgJyAgIFByZXZpb3VzIHJlbmRlciAgICAgICAgICAgIE5leHQgcmVuZGVyXFxcXG4nICsgJyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcXFxuJyArICclcycgKyAnICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXFxcXG4nLCBjb21wb25lbnROYW1lLCB0YWJsZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHRocm93SW52YWxpZEhvb2tFcnJvcigpIHtcXG4gIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvciBvbmUgb2YgdGhlIGZvbGxvd2luZyByZWFzb25zOlxcXFxuMS4gWW91IG1pZ2h0IGhhdmUgbWlzbWF0Y2hpbmcgdmVyc2lvbnMgb2YgUmVhY3QgYW5kIHRoZSByZW5kZXJlciAoc3VjaCBhcyBSZWFjdCBET00pXFxcXG4yLiBZb3UgbWlnaHQgYmUgYnJlYWtpbmcgdGhlIFJ1bGVzIG9mIEhvb2tzXFxcXG4zLiBZb3UgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gb25lIGNvcHkgb2YgUmVhY3QgaW4gdGhlIHNhbWUgYXBwXFxcXG5TZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1pbnZhbGlkLWhvb2stY2FsbCBmb3IgdGlwcyBhYm91dCBob3cgdG8gZGVidWcgYW5kIGZpeCB0aGlzIHByb2JsZW0uXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpIHtcXG4gIHtcXG4gICAgaWYgKGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzKSB7XFxuICAgICAgLy8gT25seSB0cnVlIHdoZW4gdGhpcyBjb21wb25lbnQgaXMgYmVpbmcgaG90IHJlbG9hZGVkLlxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHByZXZEZXBzID09PSBudWxsKSB7XFxuICAgIHtcXG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICB7XFxuICAgIC8vIERvbid0IGJvdGhlciBjb21wYXJpbmcgbGVuZ3RocyBpbiBwcm9kIGJlY2F1c2UgdGhlc2UgYXJyYXlzIHNob3VsZCBiZVxcbiAgICAvLyBwYXNzZWQgaW5saW5lLlxcbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcXG4gICAgICBlcnJvcignVGhlIGZpbmFsIGFyZ3VtZW50IHBhc3NlZCB0byAlcyBjaGFuZ2VkIHNpemUgYmV0d2VlbiByZW5kZXJzLiBUaGUgJyArICdvcmRlciBhbmQgc2l6ZSBvZiB0aGlzIGFycmF5IG11c3QgcmVtYWluIGNvbnN0YW50LlxcXFxuXFxcXG4nICsgJ1ByZXZpb3VzOiAlc1xcXFxuJyArICdJbmNvbWluZzogJXMnLCBjdXJyZW50SG9va05hbWVJbkRldiwgXFxcIltcXFwiICsgcHJldkRlcHMuam9pbignLCAnKSArIFxcXCJdXFxcIiwgXFxcIltcXFwiICsgbmV4dERlcHMuam9pbignLCAnKSArIFxcXCJdXFxcIik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAob2JqZWN0SXMobmV4dERlcHNbaV0sIHByZXZEZXBzW2ldKSkge1xcbiAgICAgIGNvbnRpbnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcHJvcHMsIHNlY29uZEFyZywgbmV4dFJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICByZW5kZXJFeHBpcmF0aW9uVGltZSA9IG5leHRSZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSB3b3JrSW5Qcm9ncmVzcztcXG5cXG4gIHtcXG4gICAgaG9va1R5cGVzRGV2ID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQuX2RlYnVnSG9va1R5cGVzIDogbnVsbDtcXG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gVXNlZCBmb3IgaG90IHJlbG9hZGluZzpcXG5cXG4gICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MudHlwZTtcXG4gIH1cXG5cXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xcbiAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7IC8vIFRoZSBmb2xsb3dpbmcgc2hvdWxkIGhhdmUgYWxyZWFkeSBiZWVuIHJlc2V0XFxuICAvLyBjdXJyZW50SG9vayA9IG51bGw7XFxuICAvLyB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xcbiAgLy8gZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xcbiAgLy8gVE9ETyBXYXJuIGlmIG5vIGhvb2tzIGFyZSB1c2VkIGF0IGFsbCBkdXJpbmcgbW91bnQsIHRoZW4gc29tZSBhcmUgdXNlZCBkdXJpbmcgdXBkYXRlLlxcbiAgLy8gQ3VycmVudGx5IHdlIHdpbGwgaWRlbnRpZnkgdGhlIHVwZGF0ZSByZW5kZXIgYXMgYSBtb3VudCBiZWNhdXNlIG1lbW9pemVkU3RhdGUgPT09IG51bGwuXFxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxcbiAgLy8gVXNpbmcgbWVtb2l6ZWRTdGF0ZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gbW91bnQvdXBkYXRlIG9ubHkgd29ya3MgaWYgYXQgbGVhc3Qgb25lIHN0YXRlZnVsIGhvb2sgaXMgdXNlZC5cXG4gIC8vIE5vbi1zdGF0ZWZ1bCBob29rcyAoZS5nLiBjb250ZXh0KSBkb24ndCBnZXQgYWRkZWQgdG8gbWVtb2l6ZWRTdGF0ZSxcXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxcblxcbiAge1xcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xcbiAgICB9IGVsc2UgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgZGlzcGF0Y2hlciBoYW5kbGVzIGFuIGVkZ2UgY2FzZSB3aGVyZSBhIGNvbXBvbmVudCBpcyB1cGRhdGluZyxcXG4gICAgICAvLyBidXQgbm8gc3RhdGVmdWwgaG9va3MgaGF2ZSBiZWVuIHVzZWQuXFxuICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgcHJvZHVjdGlvbiBjb2RlIGJlaGF2aW9yICh3aGljaCB3aWxsIHVzZSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50KSxcXG4gICAgICAvLyBidXQgd2l0aCB0aGUgZXh0cmEgREVWIHZhbGlkYXRpb24gdG8gZW5zdXJlIGhvb2tzIG9yZGVyaW5nIGhhc24ndCBjaGFuZ2VkLlxcbiAgICAgIC8vIFRoaXMgZGlzcGF0Y2hlciBkb2VzIHRoYXQuXFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFVjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTsgLy8gQ2hlY2sgaWYgdGhlcmUgd2FzIGEgcmVuZGVyIHBoYXNlIHVwZGF0ZVxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID09PSByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBLZWVwIHJlbmRlcmluZyBpbiBhIGxvb3AgZm9yIGFzIGxvbmcgYXMgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgY29udGludWUgdG9cXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXFxuICAgIHZhciBudW1iZXJPZlJlUmVuZGVycyA9IDA7XFxuXFxuICAgIGRvIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG5cXG4gICAgICBpZiAoIShudW1iZXJPZlJlUmVuZGVycyA8IFJFX1JFTkRFUl9MSU1JVCkpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUb28gbWFueSByZS1yZW5kZXJzLiBSZWFjdCBsaW1pdHMgdGhlIG51bWJlciBvZiByZW5kZXJzIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIG51bWJlck9mUmVSZW5kZXJzICs9IDE7XFxuXFxuICAgICAge1xcbiAgICAgICAgLy8gRXZlbiB3aGVuIGhvdCByZWxvYWRpbmcsIGFsbG93IGRlcGVuZGVuY2llcyB0byBzdGFiaWxpemVcXG4gICAgICAgIC8vIGFmdGVyIGZpcnN0IHJlbmRlciB0byBwcmV2ZW50IGluZmluaXRlIHJlbmRlciBwaGFzZSB1cGRhdGVzLlxcbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcXG4gICAgICB9IC8vIFN0YXJ0IG92ZXIgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0XFxuXFxuXFxuICAgICAgY3VycmVudEhvb2sgPSBudWxsO1xcbiAgICAgIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xcblxcbiAgICAgIHtcXG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXFxuICAgICAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xcbiAgICAgIH1cXG5cXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWIDtcXG4gICAgICBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTtcXG4gICAgfSB3aGlsZSAod29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPT09IHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gLy8gV2UgY2FuIGFzc3VtZSB0aGUgcHJldmlvdXMgZGlzcGF0Y2hlciBpcyBhbHdheXMgdGhpcyBvbmUsIHNpbmNlIHdlIHNldCBpdFxcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmN5LlxcblxcblxcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xcblxcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdIb29rVHlwZXMgPSBob29rVHlwZXNEZXY7XFxuICB9IC8vIFRoaXMgY2hlY2sgdXNlcyBjdXJyZW50SG9vayBzbyB0aGF0IGl0IHdvcmtzIHRoZSBzYW1lIGluIERFViBhbmQgcHJvZCBidW5kbGVzLlxcbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXFxuXFxuXFxuICB2YXIgZGlkUmVuZGVyVG9vRmV3SG9va3MgPSBjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBjdXJyZW50SG9vay5uZXh0ICE9PSBudWxsO1xcbiAgcmVuZGVyRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDtcXG4gIGN1cnJlbnRIb29rID0gbnVsbDtcXG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XFxuXFxuICB7XFxuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcXG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcXG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTtcXG4gIH1cXG5cXG4gIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcXG5cXG4gIGlmICghIWRpZFJlbmRlclRvb0Zld0hvb2tzKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlJlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsIGVhcmx5IHJldHVybiBzdGF0ZW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gY2hpbGRyZW47XFxufVxcbmZ1bmN0aW9uIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmPSB+KFBhc3NpdmUgfCBVcGRhdGUpO1xcblxcbiAgaWYgKGN1cnJlbnQuZXhwaXJhdGlvblRpbWUgPD0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgY3VycmVudC5leHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XFxuICAvLyBXZSBjYW4gYXNzdW1lIHRoZSBwcmV2aW91cyBkaXNwYXRjaGVyIGlzIGFsd2F5cyB0aGlzIG9uZSwgc2luY2Ugd2Ugc2V0IGl0XFxuICAvLyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSByZW5kZXIgcGhhc2UgYW5kIHRoZXJlJ3Mgbm8gcmUtZW50cmFuY3kuXFxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XFxuXFxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSkge1xcbiAgICAvLyBUaGVyZSB3ZXJlIHJlbmRlciBwaGFzZSB1cGRhdGVzLiBUaGVzZSBhcmUgb25seSB2YWxpZCBmb3IgdGhpcyByZW5kZXJcXG4gICAgLy8gcGhhc2UsIHdoaWNoIHdlIGFyZSBub3cgYWJvcnRpbmcuIFJlbW92ZSB0aGUgdXBkYXRlcyBmcm9tIHRoZSBxdWV1ZXMgc29cXG4gICAgLy8gdGhleSBkbyBub3QgcGVyc2lzdCB0byB0aGUgbmV4dCByZW5kZXIuIERvIG5vdCByZW1vdmUgdXBkYXRlcyBmcm9tIGhvb2tzXFxuICAgIC8vIHRoYXQgd2VyZW4ndCBwcm9jZXNzZWQuXFxuICAgIC8vXFxuICAgIC8vIE9ubHkgcmVzZXQgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWUgaWYgaXQgaGFzIGEgY2xvbmUuIElmIGl0IGRvZXNcXG4gICAgLy8gbm90IGhhdmUgYSBjbG9uZSwgdGhhdCBtZWFucyBpdCB3YXNuJ3QgcHJvY2Vzc2VkLCBhbmQgdGhlIHVwZGF0ZXMgd2VyZVxcbiAgICAvLyBzY2hlZHVsZWQgYmVmb3JlIHdlIGVudGVyZWQgdGhlIHJlbmRlciBwaGFzZS5cXG4gICAgdmFyIGhvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgIHdoaWxlIChob29rICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcXG5cXG4gICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICBob29rID0gaG9vay5uZXh0O1xcbiAgICB9XFxuICB9XFxuXFxuICByZW5kZXJFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xcbiAgY3VycmVudEhvb2sgPSBudWxsO1xcbiAgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcXG5cXG4gIHtcXG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcXG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTtcXG4gICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSBudWxsO1xcbiAgfVxcblxcbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpIHtcXG4gIHZhciBob29rID0ge1xcbiAgICBtZW1vaXplZFN0YXRlOiBudWxsLFxcbiAgICBiYXNlU3RhdGU6IG51bGwsXFxuICAgIGJhc2VRdWV1ZTogbnVsbCxcXG4gICAgcXVldWU6IG51bGwsXFxuICAgIG5leHQ6IG51bGxcXG4gIH07XFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XFxuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGhvb2sgaW4gdGhlIGxpc3RcXG4gICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlID0gd29ya0luUHJvZ3Jlc3NIb29rID0gaG9vaztcXG4gIH0gZWxzZSB7XFxuICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XFxuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0ID0gaG9vaztcXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpIHtcXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBib3RoIGZvciB1cGRhdGVzIGFuZCBmb3IgcmUtcmVuZGVycyB0cmlnZ2VyZWQgYnkgYVxcbiAgLy8gcmVuZGVyIHBoYXNlIHVwZGF0ZS4gSXQgYXNzdW1lcyB0aGVyZSBpcyBlaXRoZXIgYSBjdXJyZW50IGhvb2sgd2UgY2FuXFxuICAvLyBjbG9uZSwgb3IgYSB3b3JrLWluLXByb2dyZXNzIGhvb2sgZnJvbSBhIHByZXZpb3VzIHJlbmRlciBwYXNzIHRoYXQgd2UgY2FuXFxuICAvLyB1c2UgYXMgYSBiYXNlLiBXaGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgdGhlIGJhc2UgbGlzdCwgd2UgbXVzdCBzd2l0Y2ggdG9cXG4gIC8vIHRoZSBkaXNwYXRjaGVyIHVzZWQgZm9yIG1vdW50cy5cXG4gIHZhciBuZXh0Q3VycmVudEhvb2s7XFxuXFxuICBpZiAoY3VycmVudEhvb2sgPT09IG51bGwpIHtcXG4gICAgdmFyIGN1cnJlbnQgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmFsdGVybmF0ZTtcXG5cXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgbmV4dEN1cnJlbnRIb29rID0gbnVsbDtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudEhvb2submV4dDtcXG4gIH1cXG5cXG4gIHZhciBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xcbiAgICBuZXh0V29ya0luUHJvZ3Jlc3NIb29rID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xcbiAgfVxcblxcbiAgaWYgKG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgIT09IG51bGwpIHtcXG4gICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgd29yay1pbi1wcm9ncmVzcy4gUmV1c2UgaXQuXFxuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XFxuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcXG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBDbG9uZSBmcm9tIHRoZSBjdXJyZW50IGhvb2suXFxuICAgIGlmICghKG5leHRDdXJyZW50SG9vayAhPT0gbnVsbCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIlJlbmRlcmVkIG1vcmUgaG9va3MgdGhhbiBkdXJpbmcgdGhlIHByZXZpb3VzIHJlbmRlci5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGN1cnJlbnRIb29rID0gbmV4dEN1cnJlbnRIb29rO1xcbiAgICB2YXIgbmV3SG9vayA9IHtcXG4gICAgICBtZW1vaXplZFN0YXRlOiBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLFxcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudEhvb2suYmFzZVN0YXRlLFxcbiAgICAgIGJhc2VRdWV1ZTogY3VycmVudEhvb2suYmFzZVF1ZXVlLFxcbiAgICAgIHF1ZXVlOiBjdXJyZW50SG9vay5xdWV1ZSxcXG4gICAgICBuZXh0OiBudWxsXFxuICAgIH07XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc0hvb2sgPT09IG51bGwpIHtcXG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBob29rIGluIHRoZSBsaXN0LlxcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IG5ld0hvb2s7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXFxuICAgICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBuZXdIb29rO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbkNvbXBvbmVudFVwZGF0ZVF1ZXVlKCkge1xcbiAgcmV0dXJuIHtcXG4gICAgbGFzdEVmZmVjdDogbnVsbFxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xcbiAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcXG4gIHJldHVybiB0eXBlb2YgYWN0aW9uID09PSAnZnVuY3Rpb24nID8gYWN0aW9uKHN0YXRlKSA6IGFjdGlvbjtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBpbml0aWFsU3RhdGU7XFxuXFxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIGluaXRpYWxTdGF0ZSA9IGluaXQoaW5pdGlhbEFyZyk7XFxuICB9IGVsc2Uge1xcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xcbiAgfVxcblxcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XFxuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlID0ge1xcbiAgICBwZW5kaW5nOiBudWxsLFxcbiAgICBkaXNwYXRjaDogbnVsbCxcXG4gICAgbGFzdFJlbmRlcmVkUmVkdWNlcjogcmVkdWNlcixcXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxcbiAgfTtcXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2hBY3Rpb24uYmluZChudWxsLCBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLCBxdWV1ZSk7XFxuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xcblxcbiAgaWYgKCEocXVldWUgIT09IG51bGwpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyO1xcbiAgdmFyIGN1cnJlbnQgPSBjdXJyZW50SG9vazsgLy8gVGhlIGxhc3QgcmViYXNlIHVwZGF0ZSB0aGF0IGlzIE5PVCBwYXJ0IG9mIHRoZSBiYXNlIHN0YXRlLlxcblxcbiAgdmFyIGJhc2VRdWV1ZSA9IGN1cnJlbnQuYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXFxuXFxuICB2YXIgcGVuZGluZ1F1ZXVlID0gcXVldWUucGVuZGluZztcXG5cXG4gIGlmIChwZW5kaW5nUXVldWUgIT09IG51bGwpIHtcXG4gICAgLy8gV2UgaGF2ZSBuZXcgdXBkYXRlcyB0aGF0IGhhdmVuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxcbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cXG4gICAgaWYgKGJhc2VRdWV1ZSAhPT0gbnVsbCkge1xcbiAgICAgIC8vIE1lcmdlIHRoZSBwZW5kaW5nIHF1ZXVlIGFuZCB0aGUgYmFzZSBxdWV1ZS5cXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XFxuICAgICAgdmFyIHBlbmRpbmdGaXJzdCA9IHBlbmRpbmdRdWV1ZS5uZXh0O1xcbiAgICAgIGJhc2VRdWV1ZS5uZXh0ID0gcGVuZGluZ0ZpcnN0O1xcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xcbiAgICB9XFxuXFxuICAgIGN1cnJlbnQuYmFzZVF1ZXVlID0gYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xcbiAgICBxdWV1ZS5wZW5kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChiYXNlUXVldWUgIT09IG51bGwpIHtcXG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXFxuICAgIHZhciBmaXJzdCA9IGJhc2VRdWV1ZS5uZXh0O1xcbiAgICB2YXIgbmV3U3RhdGUgPSBjdXJyZW50LmJhc2VTdGF0ZTtcXG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVGaXJzdCA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVMYXN0ID0gbnVsbDtcXG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xcblxcbiAgICBkbyB7XFxuICAgICAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gdXBkYXRlLmV4cGlyYXRpb25UaW1lO1xcblxcbiAgICAgIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAvLyBQcmlvcml0eSBpcyBpbnN1ZmZpY2llbnQuIFNraXAgdGhpcyB1cGRhdGUuIElmIHRoaXMgaXMgdGhlIGZpcnN0XFxuICAgICAgICAvLyBza2lwcGVkIHVwZGF0ZSwgdGhlIHByZXZpb3VzIHVwZGF0ZS9zdGF0ZSBpcyB0aGUgbmV3IGJhc2VcXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cXG4gICAgICAgIHZhciBjbG9uZSA9IHtcXG4gICAgICAgICAgZXhwaXJhdGlvblRpbWU6IHVwZGF0ZS5leHBpcmF0aW9uVGltZSxcXG4gICAgICAgICAgc3VzcGVuc2VDb25maWc6IHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyxcXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxcbiAgICAgICAgICBlYWdlclJlZHVjZXI6IHVwZGF0ZS5lYWdlclJlZHVjZXIsXFxuICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxcbiAgICAgICAgICBuZXh0OiBudWxsXFxuICAgICAgICB9O1xcblxcbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcXG4gICAgICAgICAgbmV3QmFzZVF1ZXVlRmlyc3QgPSBuZXdCYXNlUXVldWVMYXN0ID0gY2xvbmU7XFxuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgbmV3QmFzZVF1ZXVlTGFzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QubmV4dCA9IGNsb25lO1xcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHJlbWFpbmluZyBwcmlvcml0eSBpbiB0aGUgcXVldWUuXFxuXFxuXFxuICAgICAgICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPiBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZXhwaXJhdGlvblRpbWUgPSB1cGRhdGVFeHBpcmF0aW9uVGltZTtcXG4gICAgICAgICAgbWFya1VucHJvY2Vzc2VkVXBkYXRlVGltZSh1cGRhdGVFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxcbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgdmFyIF9jbG9uZSA9IHtcXG4gICAgICAgICAgICBleHBpcmF0aW9uVGltZTogU3luYyxcXG4gICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdCBpdC5cXG4gICAgICAgICAgICBzdXNwZW5zZUNvbmZpZzogdXBkYXRlLnN1c3BlbnNlQ29uZmlnLFxcbiAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcXG4gICAgICAgICAgICBlYWdlclJlZHVjZXI6IHVwZGF0ZS5lYWdlclJlZHVjZXIsXFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXFxuICAgICAgICAgICAgbmV4dDogbnVsbFxcbiAgICAgICAgICB9O1xcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xcbiAgICAgICAgfSAvLyBNYXJrIHRoZSBldmVudCB0aW1lIG9mIHRoaXMgdXBkYXRlIGFzIHJlbGV2YW50IHRvIHRoaXMgcmVuZGVyIHBhc3MuXFxuICAgICAgICAvLyBUT0RPOiBUaGlzIHNob3VsZCBpZGVhbGx5IHVzZSB0aGUgdHJ1ZSBldmVudCB0aW1lIG9mIHRoaXMgdXBkYXRlIHJhdGhlciB0aGFuXFxuICAgICAgICAvLyBpdHMgcHJpb3JpdHkgd2hpY2ggaXMgYSBkZXJpdmVkIGFuZCBub3QgcmV2ZXJzZWFibGUgdmFsdWUuXFxuICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgc2tpcCB0aGlzIHVwZGF0ZSBpZiBpdCB3YXMgYWxyZWFkeSBjb21taXR0ZWQgYnV0IGN1cnJlbnRseVxcbiAgICAgICAgLy8gd2UgaGF2ZSBubyB3YXkgb2YgZGV0ZWN0aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBjb21taXR0ZWQgYW5kIHN1c3BlbmRlZFxcbiAgICAgICAgLy8gdXBkYXRlIGhlcmUuXFxuXFxuXFxuICAgICAgICBtYXJrUmVuZGVyRXZlbnRUaW1lQW5kQ29uZmlnKHVwZGF0ZUV4cGlyYXRpb25UaW1lLCB1cGRhdGUuc3VzcGVuc2VDb25maWcpOyAvLyBQcm9jZXNzIHRoaXMgdXBkYXRlLlxcblxcbiAgICAgICAgaWYgKHVwZGF0ZS5lYWdlclJlZHVjZXIgPT09IHJlZHVjZXIpIHtcXG4gICAgICAgICAgLy8gSWYgdGhpcyB1cGRhdGUgd2FzIHByb2Nlc3NlZCBlYWdlcmx5LCBhbmQgaXRzIHJlZHVjZXIgbWF0Y2hlcyB0aGVcXG4gICAgICAgICAgLy8gY3VycmVudCByZWR1Y2VyLCB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlLlxcbiAgICAgICAgICBuZXdTdGF0ZSA9IHVwZGF0ZS5lYWdlclN0YXRlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgdmFyIGFjdGlvbiA9IHVwZGF0ZS5hY3Rpb247XFxuICAgICAgICAgIG5ld1N0YXRlID0gcmVkdWNlcihuZXdTdGF0ZSwgYWN0aW9uKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XFxuICAgIH0gd2hpbGUgKHVwZGF0ZSAhPT0gbnVsbCAmJiB1cGRhdGUgIT09IGZpcnN0KTtcXG5cXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcXG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcXG4gICAgfSAvLyBNYXJrIHRoYXQgdGhlIGZpYmVyIHBlcmZvcm1lZCB3b3JrLCBidXQgb25seSBpZiB0aGUgbmV3IHN0YXRlIGlzXFxuICAgIC8vIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLlxcblxcblxcbiAgICBpZiAoIW9iamVjdElzKG5ld1N0YXRlLCBob29rLm1lbW9pemVkU3RhdGUpKSB7XFxuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcXG4gICAgfVxcblxcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcXG4gICAgaG9vay5iYXNlU3RhdGUgPSBuZXdCYXNlU3RhdGU7XFxuICAgIGhvb2suYmFzZVF1ZXVlID0gbmV3QmFzZVF1ZXVlTGFzdDtcXG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcXG4gIH1cXG5cXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xcbiAgcmV0dXJuIFtob29rLm1lbW9pemVkU3RhdGUsIGRpc3BhdGNoXTtcXG59XFxuXFxuZnVuY3Rpb24gcmVyZW5kZXJSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xcblxcbiAgaWYgKCEocXVldWUgIT09IG51bGwpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyOyAvLyBUaGlzIGlzIGEgcmUtcmVuZGVyLiBBcHBseSB0aGUgbmV3IHJlbmRlciBwaGFzZSB1cGRhdGVzIHRvIHRoZSBwcmV2aW91c1xcbiAgLy8gd29yay1pbi1wcm9ncmVzcyBob29rLlxcblxcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XFxuICB2YXIgbGFzdFJlbmRlclBoYXNlVXBkYXRlID0gcXVldWUucGVuZGluZztcXG4gIHZhciBuZXdTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcXG5cXG4gIGlmIChsYXN0UmVuZGVyUGhhc2VVcGRhdGUgIT09IG51bGwpIHtcXG4gICAgLy8gVGhlIHF1ZXVlIGRvZXNuJ3QgcGVyc2lzdCBwYXN0IHRoaXMgcmVuZGVyIHBhc3MuXFxuICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xcbiAgICB2YXIgZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSA9IGxhc3RSZW5kZXJQaGFzZVVwZGF0ZS5uZXh0O1xcbiAgICB2YXIgdXBkYXRlID0gZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZTtcXG5cXG4gICAgZG8ge1xcbiAgICAgIC8vIFByb2Nlc3MgdGhpcyByZW5kZXIgcGhhc2UgdXBkYXRlLiBXZSBkb24ndCBoYXZlIHRvIGNoZWNrIHRoZVxcbiAgICAgIC8vIHByaW9yaXR5IGJlY2F1c2UgaXQgd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnRcXG4gICAgICAvLyByZW5kZXIncy5cXG4gICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcXG4gICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XFxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XFxuICAgIH0gd2hpbGUgKHVwZGF0ZSAhPT0gZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSk7IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcXG4gICAgLy8gZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgc3RhdGUuXFxuXFxuXFxuICAgIGlmICghb2JqZWN0SXMobmV3U3RhdGUsIGhvb2subWVtb2l6ZWRTdGF0ZSkpIHtcXG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlOyAvLyBEb24ndCBwZXJzaXN0IHRoZSBzdGF0ZSBhY2N1bXVsYXRlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UgdXBkYXRlcyB0b1xcbiAgICAvLyB0aGUgYmFzZSBzdGF0ZSB1bmxlc3MgdGhlIHF1ZXVlIGlzIGVtcHR5LlxcbiAgICAvLyBUT0RPOiBOb3Qgc3VyZSBpZiB0aGlzIGlzIHRoZSBkZXNpcmVkIHNlbWFudGljcywgYnV0IGl0J3Mgd2hhdCB3ZVxcbiAgICAvLyBkbyBmb3IgZ0RTRlAuIEkgY2FuJ3QgcmVtZW1iZXIgd2h5LlxcblxcbiAgICBpZiAoaG9vay5iYXNlUXVldWUgPT09IG51bGwpIHtcXG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgICB9XFxuXFxuICAgIHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlID0gbmV3U3RhdGU7XFxuICB9XFxuXFxuICByZXR1cm4gW25ld1N0YXRlLCBkaXNwYXRjaF07XFxufVxcblxcbmZ1bmN0aW9uIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKSB7XFxuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuXFxuICBpZiAodHlwZW9mIGluaXRpYWxTdGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcXG4gIH1cXG5cXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZSA9IHtcXG4gICAgcGVuZGluZzogbnVsbCxcXG4gICAgZGlzcGF0Y2g6IG51bGwsXFxuICAgIGxhc3RSZW5kZXJlZFJlZHVjZXI6IGJhc2ljU3RhdGVSZWR1Y2VyLFxcbiAgICBsYXN0UmVuZGVyZWRTdGF0ZTogaW5pdGlhbFN0YXRlXFxuICB9O1xcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaEFjdGlvbi5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEsIHF1ZXVlKTtcXG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xcbiAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihiYXNpY1N0YXRlUmVkdWNlcik7XFxufVxcblxcbmZ1bmN0aW9uIHB1c2hFZmZlY3QodGFnLCBjcmVhdGUsIGRlc3Ryb3ksIGRlcHMpIHtcXG4gIHZhciBlZmZlY3QgPSB7XFxuICAgIHRhZzogdGFnLFxcbiAgICBjcmVhdGU6IGNyZWF0ZSxcXG4gICAgZGVzdHJveTogZGVzdHJveSxcXG4gICAgZGVwczogZGVwcyxcXG4gICAgLy8gQ2lyY3VsYXJcXG4gICAgbmV4dDogbnVsbFxcbiAgfTtcXG4gIHZhciBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEudXBkYXRlUXVldWU7XFxuXFxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcXG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUgPSBjcmVhdGVGdW5jdGlvbkNvbXBvbmVudFVwZGF0ZVF1ZXVlKCk7XFxuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEudXBkYXRlUXVldWUgPSBjb21wb25lbnRVcGRhdGVRdWV1ZTtcXG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGxhc3RFZmZlY3QgPSBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0O1xcblxcbiAgICBpZiAobGFzdEVmZmVjdCA9PT0gbnVsbCkge1xcbiAgICAgIGNvbXBvbmVudFVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgPSBlZmZlY3QubmV4dCA9IGVmZmVjdDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XFxuICAgICAgbGFzdEVmZmVjdC5uZXh0ID0gZWZmZWN0O1xcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XFxuICAgICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdDtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGVmZmVjdDtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRSZWYoaW5pdGlhbFZhbHVlKSB7XFxuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgcmVmID0ge1xcbiAgICBjdXJyZW50OiBpbml0aWFsVmFsdWVcXG4gIH07XFxuXFxuICB7XFxuICAgIE9iamVjdC5zZWFsKHJlZik7XFxuICB9XFxuXFxuICBob29rLm1lbW9pemVkU3RhdGUgPSByZWY7XFxuICByZXR1cm4gcmVmO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVSZWYoaW5pdGlhbFZhbHVlKSB7XFxuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRWZmZWN0VGFnLCBob29rRWZmZWN0VGFnLCBjcmVhdGUsIGRlcHMpIHtcXG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5lZmZlY3RUYWcgfD0gZmliZXJFZmZlY3RUYWc7XFxuICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KEhhc0VmZmVjdCB8IGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgdW5kZWZpbmVkLCBuZXh0RGVwcyk7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdEltcGwoZmliZXJFZmZlY3RUYWcsIGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xcbiAgdmFyIGRlc3Ryb3kgPSB1bmRlZmluZWQ7XFxuXFxuICBpZiAoY3VycmVudEhvb2sgIT09IG51bGwpIHtcXG4gICAgdmFyIHByZXZFZmZlY3QgPSBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlO1xcbiAgICBkZXN0cm95ID0gcHJldkVmZmVjdC5kZXN0cm95O1xcblxcbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2RWZmZWN0LmRlcHM7XFxuXFxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XFxuICAgICAgICBwdXNoRWZmZWN0KGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVzdHJveSwgbmV4dERlcHMpO1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5lZmZlY3RUYWcgfD0gZmliZXJFZmZlY3RUYWc7XFxuICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KEhhc0VmZmVjdCB8IGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVzdHJveSwgbmV4dERlcHMpO1xcbn1cXG5cXG5mdW5jdGlvbiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcXG4gIHtcXG4gICAgLy8gJEZsb3dFeHBlY3RlZEVycm9yIC0gamVzdCBpc24ndCBhIGdsb2JhbCwgYW5kIGlzbid0IHJlY29nbml6ZWQgb3V0c2lkZSBvZiB0ZXN0c1xcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBqZXN0KSB7XFxuICAgICAgd2FybklmTm90Q3VycmVudGx5QWN0aW5nRWZmZWN0c0luREVWKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSB8IFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xcbiAge1xcbiAgICAvLyAkRmxvd0V4cGVjdGVkRXJyb3IgLSBqZXN0IGlzbid0IGEgZ2xvYmFsLCBhbmQgaXNuJ3QgcmVjb2duaXplZCBvdXRzaWRlIG9mIHRlc3RzXFxuICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGplc3QpIHtcXG4gICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdFZmZlY3RzSW5ERVYoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSB8IFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XFxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBjcmVhdGUsIGRlcHMpO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XFxuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xcbiAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgdmFyIHJlZkNhbGxiYWNrID0gcmVmO1xcblxcbiAgICB2YXIgX2luc3QgPSBjcmVhdGUoKTtcXG5cXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xcbiAgICAgIHJlZkNhbGxiYWNrKG51bGwpO1xcbiAgICB9O1xcbiAgfSBlbHNlIGlmIChyZWYgIT09IG51bGwgJiYgcmVmICE9PSB1bmRlZmluZWQpIHtcXG4gICAgdmFyIHJlZk9iamVjdCA9IHJlZjtcXG5cXG4gICAge1xcbiAgICAgIGlmICghcmVmT2JqZWN0Lmhhc093blByb3BlcnR5KCdjdXJyZW50JykpIHtcXG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBfaW5zdDIgPSBjcmVhdGUoKTtcXG5cXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XFxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBudWxsO1xcbiAgICB9O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignRXhwZWN0ZWQgdXNlSW1wZXJhdGl2ZUhhbmRsZSgpIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIGZ1bmN0aW9uICcgKyAndGhhdCBjcmVhdGVzIGEgaGFuZGxlLiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCBjcmVhdGUgIT09IG51bGwgPyB0eXBlb2YgY3JlYXRlIDogJ251bGwnKTtcXG4gICAgfVxcbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xcblxcblxcbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XFxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xcbiAge1xcbiAgICBpZiAodHlwZW9mIGNyZWF0ZSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xcbiAgICB9XFxuICB9IC8vIFRPRE86IElmIGRlcHMgYXJlIHByb3ZpZGVkLCBzaG91bGQgd2Ugc2tpcCBjb21wYXJpbmcgdGhlIHJlZiBpdHNlbGY/XFxuXFxuXFxuICB2YXIgZWZmZWN0RGVwcyA9IGRlcHMgIT09IG51bGwgJiYgZGVwcyAhPT0gdW5kZWZpbmVkID8gZGVwcy5jb25jYXQoW3JlZl0pIDogbnVsbDtcXG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnREZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikgey8vIFRoaXMgaG9vayBpcyBub3JtYWxseSBhIG5vLW9wLlxcbiAgLy8gVGhlIHJlYWN0LWRlYnVnLWhvb2tzIHBhY2thZ2UgaW5qZWN0cyBpdHMgb3duIGltcGxlbWVudGF0aW9uXFxuICAvLyBzbyB0aGF0IGUuZy4gRGV2VG9vbHMgY2FuIGRpc3BsYXkgY3VzdG9tIGhvb2sgdmFsdWVzLlxcbn1cXG5cXG52YXIgdXBkYXRlRGVidWdWYWx1ZSA9IG1vdW50RGVidWdWYWx1ZTtcXG5cXG5mdW5jdGlvbiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKSB7XFxuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtjYWxsYmFjaywgbmV4dERlcHNdO1xcbiAgcmV0dXJuIGNhbGxiYWNrO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcXG5cXG4gIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcXG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xcblxcbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtjYWxsYmFjaywgbmV4dERlcHNdO1xcbiAgcmV0dXJuIGNhbGxiYWNrO1xcbn1cXG5cXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XFxuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xcbiAgcmV0dXJuIG5leHRWYWx1ZTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlTWVtbyhuZXh0Q3JlYXRlLCBkZXBzKSB7XFxuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XFxuICB2YXIgcHJldlN0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAvLyBBc3N1bWUgdGhlc2UgYXJlIGRlZmluZWQuIElmIHRoZXkncmUgbm90LCBhcmVIb29rSW5wdXRzRXF1YWwgd2lsbCB3YXJuLlxcbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2U3RhdGVbMV07XFxuXFxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XFxuICAgICAgICByZXR1cm4gcHJldlN0YXRlWzBdO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtuZXh0VmFsdWUsIG5leHREZXBzXTtcXG4gIHJldHVybiBuZXh0VmFsdWU7XFxufVxcblxcbmZ1bmN0aW9uIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKSB7XFxuICB2YXIgX21vdW50U3RhdGUgPSBtb3VudFN0YXRlKHZhbHVlKSxcXG4gICAgICBwcmV2VmFsdWUgPSBfbW91bnRTdGF0ZVswXSxcXG4gICAgICBzZXRWYWx1ZSA9IF9tb3VudFN0YXRlWzFdO1xcblxcbiAgbW91bnRFZmZlY3QoZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgcHJldmlvdXNDb25maWcgPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlO1xcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gY29uZmlnID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnO1xcblxcbiAgICB0cnkge1xcbiAgICAgIHNldFZhbHVlKHZhbHVlKTtcXG4gICAgfSBmaW5hbGx5IHtcXG4gICAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gcHJldmlvdXNDb25maWc7XFxuICAgIH1cXG4gIH0sIFt2YWx1ZSwgY29uZmlnXSk7XFxuICByZXR1cm4gcHJldlZhbHVlO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpIHtcXG4gIHZhciBfdXBkYXRlU3RhdGUgPSB1cGRhdGVTdGF0ZSgpLFxcbiAgICAgIHByZXZWYWx1ZSA9IF91cGRhdGVTdGF0ZVswXSxcXG4gICAgICBzZXRWYWx1ZSA9IF91cGRhdGVTdGF0ZVsxXTtcXG5cXG4gIHVwZGF0ZUVmZmVjdChmdW5jdGlvbiAoKSB7XFxuICAgIHZhciBwcmV2aW91c0NvbmZpZyA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2U7XFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBjb25maWcgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWc7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgc2V0VmFsdWUodmFsdWUpO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBwcmV2aW91c0NvbmZpZztcXG4gICAgfVxcbiAgfSwgW3ZhbHVlLCBjb25maWddKTtcXG4gIHJldHVybiBwcmV2VmFsdWU7XFxufVxcblxcbmZ1bmN0aW9uIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKSB7XFxuICB2YXIgX3JlcmVuZGVyU3RhdGUgPSByZXJlbmRlclN0YXRlKCksXFxuICAgICAgcHJldlZhbHVlID0gX3JlcmVuZGVyU3RhdGVbMF0sXFxuICAgICAgc2V0VmFsdWUgPSBfcmVyZW5kZXJTdGF0ZVsxXTtcXG5cXG4gIHVwZGF0ZUVmZmVjdChmdW5jdGlvbiAoKSB7XFxuICAgIHZhciBwcmV2aW91c0NvbmZpZyA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2U7XFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBjb25maWcgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWc7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgc2V0VmFsdWUodmFsdWUpO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBwcmV2aW91c0NvbmZpZztcXG4gICAgfVxcbiAgfSwgW3ZhbHVlLCBjb25maWddKTtcXG4gIHJldHVybiBwcmV2VmFsdWU7XFxufVxcblxcbmZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihzZXRQZW5kaW5nLCBjb25maWcsIGNhbGxiYWNrKSB7XFxuICB2YXIgcHJpb3JpdHlMZXZlbCA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XFxuICBydW5XaXRoUHJpb3JpdHkkMShwcmlvcml0eUxldmVsIDwgVXNlckJsb2NraW5nUHJpb3JpdHkkMSA/IFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEgOiBwcmlvcml0eUxldmVsLCBmdW5jdGlvbiAoKSB7XFxuICAgIHNldFBlbmRpbmcodHJ1ZSk7XFxuICB9KTtcXG4gIHJ1bldpdGhQcmlvcml0eSQxKHByaW9yaXR5TGV2ZWwgPiBOb3JtYWxQcmlvcml0eSA/IE5vcm1hbFByaW9yaXR5IDogcHJpb3JpdHlMZXZlbCwgZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgcHJldmlvdXNDb25maWcgPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlO1xcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gY29uZmlnID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnO1xcblxcbiAgICB0cnkge1xcbiAgICAgIHNldFBlbmRpbmcoZmFsc2UpO1xcbiAgICAgIGNhbGxiYWNrKCk7XFxuICAgIH0gZmluYWxseSB7XFxuICAgICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS5zdXNwZW5zZSA9IHByZXZpb3VzQ29uZmlnO1xcbiAgICB9XFxuICB9KTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRUcmFuc2l0aW9uKGNvbmZpZykge1xcbiAgdmFyIF9tb3VudFN0YXRlMiA9IG1vdW50U3RhdGUoZmFsc2UpLFxcbiAgICAgIGlzUGVuZGluZyA9IF9tb3VudFN0YXRlMlswXSxcXG4gICAgICBzZXRQZW5kaW5nID0gX21vdW50U3RhdGUyWzFdO1xcblxcbiAgdmFyIHN0YXJ0ID0gbW91bnRDYWxsYmFjayhzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nLCBjb25maWcpLCBbc2V0UGVuZGluZywgY29uZmlnXSk7XFxuICByZXR1cm4gW3N0YXJ0LCBpc1BlbmRpbmddO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVUcmFuc2l0aW9uKGNvbmZpZykge1xcbiAgdmFyIF91cGRhdGVTdGF0ZTIgPSB1cGRhdGVTdGF0ZSgpLFxcbiAgICAgIGlzUGVuZGluZyA9IF91cGRhdGVTdGF0ZTJbMF0sXFxuICAgICAgc2V0UGVuZGluZyA9IF91cGRhdGVTdGF0ZTJbMV07XFxuXFxuICB2YXIgc3RhcnQgPSB1cGRhdGVDYWxsYmFjayhzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nLCBjb25maWcpLCBbc2V0UGVuZGluZywgY29uZmlnXSk7XFxuICByZXR1cm4gW3N0YXJ0LCBpc1BlbmRpbmddO1xcbn1cXG5cXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKSB7XFxuICB2YXIgX3JlcmVuZGVyU3RhdGUyID0gcmVyZW5kZXJTdGF0ZSgpLFxcbiAgICAgIGlzUGVuZGluZyA9IF9yZXJlbmRlclN0YXRlMlswXSxcXG4gICAgICBzZXRQZW5kaW5nID0gX3JlcmVuZGVyU3RhdGUyWzFdO1xcblxcbiAgdmFyIHN0YXJ0ID0gdXBkYXRlQ2FsbGJhY2soc3RhcnRUcmFuc2l0aW9uLmJpbmQobnVsbCwgc2V0UGVuZGluZywgY29uZmlnKSwgW3NldFBlbmRpbmcsIGNvbmZpZ10pO1xcbiAgcmV0dXJuIFtzdGFydCwgaXNQZW5kaW5nXTtcXG59XFxuXFxuZnVuY3Rpb24gZGlzcGF0Y2hBY3Rpb24oZmliZXIsIHF1ZXVlLCBhY3Rpb24pIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcihcXFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXFxcIiArICdzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuIFRvIGV4ZWN1dGUgYSBzaWRlIGVmZmVjdCBhZnRlciAnICsgJ3JlbmRlcmluZywgZGVjbGFyZSBpdCBpbiB0aGUgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICB2YXIgc3VzcGVuc2VDb25maWcgPSByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCk7XFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpO1xcbiAgdmFyIHVwZGF0ZSA9IHtcXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxcbiAgICBzdXNwZW5zZUNvbmZpZzogc3VzcGVuc2VDb25maWcsXFxuICAgIGFjdGlvbjogYWN0aW9uLFxcbiAgICBlYWdlclJlZHVjZXI6IG51bGwsXFxuICAgIGVhZ2VyU3RhdGU6IG51bGwsXFxuICAgIG5leHQ6IG51bGxcXG4gIH07XFxuXFxuICB7XFxuICAgIHVwZGF0ZS5wcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XFxuICB9IC8vIEFwcGVuZCB0aGUgdXBkYXRlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXFxuXFxuXFxuICB2YXIgcGVuZGluZyA9IHF1ZXVlLnBlbmRpbmc7XFxuXFxuICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB1cGRhdGUuIENyZWF0ZSBhIGNpcmN1bGFyIGxpc3QuXFxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgdXBkYXRlLm5leHQgPSBwZW5kaW5nLm5leHQ7XFxuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcXG4gIH1cXG5cXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XFxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpIHtcXG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFN0YXNoIGl0IGluIGEgbGF6aWx5LWNyZWF0ZWQgbWFwIG9mXFxuICAgIC8vIHF1ZXVlIC0+IGxpbmtlZCBsaXN0IG9mIHVwZGF0ZXMuIEFmdGVyIHRoaXMgcmVuZGVyIHBhc3MsIHdlJ2xsIHJlc3RhcnRcXG4gICAgLy8gYW5kIGFwcGx5IHRoZSBzdGFzaGVkIHVwZGF0ZXMgb24gdG9wIG9mIHRoZSB3b3JrLWluLXByb2dyZXNzIGhvb2suXFxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSB0cnVlO1xcbiAgICB1cGRhdGUuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgfSBlbHNlIHtcXG4gICAgaWYgKGZpYmVyLmV4cGlyYXRpb25UaW1lID09PSBOb1dvcmsgJiYgKGFsdGVybmF0ZSA9PT0gbnVsbCB8fCBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPT09IE5vV29yaykpIHtcXG4gICAgICAvLyBUaGUgcXVldWUgaXMgY3VycmVudGx5IGVtcHR5LCB3aGljaCBtZWFucyB3ZSBjYW4gZWFnZXJseSBjb21wdXRlIHRoZVxcbiAgICAgIC8vIG5leHQgc3RhdGUgYmVmb3JlIGVudGVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIElmIHRoZSBuZXcgc3RhdGUgaXMgdGhlXFxuICAgICAgLy8gc2FtZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwgd2UgbWF5IGJlIGFibGUgdG8gYmFpbCBvdXQgZW50aXJlbHkuXFxuICAgICAgdmFyIGxhc3RSZW5kZXJlZFJlZHVjZXIgPSBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyO1xcblxcbiAgICAgIGlmIChsYXN0UmVuZGVyZWRSZWR1Y2VyICE9PSBudWxsKSB7XFxuICAgICAgICB2YXIgcHJldkRpc3BhdGNoZXI7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgIHZhciBjdXJyZW50U3RhdGUgPSBxdWV1ZS5sYXN0UmVuZGVyZWRTdGF0ZTtcXG4gICAgICAgICAgdmFyIGVhZ2VyU3RhdGUgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyKGN1cnJlbnRTdGF0ZSwgYWN0aW9uKTsgLy8gU3Rhc2ggdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUsIGFuZCB0aGUgcmVkdWNlciB1c2VkIHRvIGNvbXB1dGVcXG4gICAgICAgICAgLy8gaXQsIG9uIHRoZSB1cGRhdGUgb2JqZWN0LiBJZiB0aGUgcmVkdWNlciBoYXNuJ3QgY2hhbmdlZCBieSB0aGVcXG4gICAgICAgICAgLy8gdGltZSB3ZSBlbnRlciB0aGUgcmVuZGVyIHBoYXNlLCB0aGVuIHRoZSBlYWdlciBzdGF0ZSBjYW4gYmUgdXNlZFxcbiAgICAgICAgICAvLyB3aXRob3V0IGNhbGxpbmcgdGhlIHJlZHVjZXIgYWdhaW4uXFxuXFxuICAgICAgICAgIHVwZGF0ZS5lYWdlclJlZHVjZXIgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyO1xcbiAgICAgICAgICB1cGRhdGUuZWFnZXJTdGF0ZSA9IGVhZ2VyU3RhdGU7XFxuXFxuICAgICAgICAgIGlmIChvYmplY3RJcyhlYWdlclN0YXRlLCBjdXJyZW50U3RhdGUpKSB7XFxuICAgICAgICAgICAgLy8gRmFzdCBwYXRoLiBXZSBjYW4gYmFpbCBvdXQgd2l0aG91dCBzY2hlZHVsaW5nIFJlYWN0IHRvIHJlLXJlbmRlci5cXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXFxuICAgICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCByZS1yZW5kZXJzIGZvciBhIGRpZmZlcmVudCByZWFzb24gYW5kIGJ5IHRoYXRcXG4gICAgICAgICAgICAvLyB0aW1lIHRoZSByZWR1Y2VyIGhhcyBjaGFuZ2VkLlxcbiAgICAgICAgICAgIHJldHVybjtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsvLyBTdXBwcmVzcyB0aGUgZXJyb3IuIEl0IHdpbGwgdGhyb3cgYWdhaW4gaW4gdGhlIHJlbmRlciBwaGFzZS5cXG4gICAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgLy8gJEZsb3dFeHBlY3RlZEVycm9yIC0gamVzdCBpc24ndCBhIGdsb2JhbCwgYW5kIGlzbid0IHJlY29nbml6ZWQgb3V0c2lkZSBvZiB0ZXN0c1xcbiAgICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGplc3QpIHtcXG4gICAgICAgIHdhcm5JZk5vdFNjb3BlZFdpdGhNYXRjaGluZ0FjdChmaWJlcik7XFxuICAgICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdVcGRhdGVzSW5EZXYoZmliZXIpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBzY2hlZHVsZVdvcmsoZmliZXIsIGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG59XFxuXFxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcXG4gIHJlYWRDb250ZXh0OiByZWFkQ29udGV4dCxcXG4gIHVzZUNhbGxiYWNrOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VDb250ZXh0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcXG4gIHVzZUltcGVyYXRpdmVIYW5kbGU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcXG4gIHVzZUxheW91dEVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlUmVkdWNlcjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlUmVmOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlRGVidWdWYWx1ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlUmVzcG9uZGVyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VEZWZlcnJlZFZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VUcmFuc2l0aW9uOiB0aHJvd0ludmFsaWRIb29rRXJyb3JcXG59O1xcbnZhciBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSBudWxsO1xcbnZhciBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWID0gbnVsbDtcXG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XFxudmFyIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XFxudmFyIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSBudWxsO1xcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XFxudmFyIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSBudWxsO1xcblxcbntcXG4gIHZhciB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MgPSBmdW5jdGlvbiAoKSB7XFxuICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcXG4gIH07XFxuXFxuICB2YXIgd2FybkludmFsaWRIb29rQWNjZXNzID0gZnVuY3Rpb24gKCkge1xcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9mYi5tZS9ydWxlcy1vZi1ob29rcycpO1xcbiAgfTtcXG5cXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IHtcXG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcXG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcXG4gICAgICByZXR1cm4gbW91bnRJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XFxuICAgIH0sXFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiBtb3VudFN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xcbiAgICB9LFxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnREZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpO1xcbiAgICB9LFxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKGNvbmZpZyk7XFxuICAgIH1cXG4gIH07XFxuICBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWID0ge1xcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gbW91bnRNZW1vKGNyZWF0ZSwgZGVwcyk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xcbiAgICB9LFxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xcbiAgICB9LFxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUsIGNvbmZpZyk7XFxuICAgIH0sXFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKGNvbmZpZyk7XFxuICAgIH1cXG4gIH07XFxuICBIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWID0ge1xcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xcbiAgICB9LFxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xcbiAgICB9LFxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpO1xcbiAgICB9LFxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oY29uZmlnKTtcXG4gICAgfVxcbiAgfTtcXG4gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IHtcXG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcXG4gICAgfSxcXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XFxuICAgIH0sXFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcXG4gICAgfSxcXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKTtcXG4gICAgfVxcbiAgfTtcXG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSB7XFxuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgd2FybkludmFsaWRDb250ZXh0QWNjZXNzKCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudERlYnVnVmFsdWUoKTtcXG4gICAgfSxcXG4gICAgdXNlUmVzcG9uZGVyOiBmdW5jdGlvbiAocmVzcG9uZGVyLCBwcm9wcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlc3BvbmRlcic7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xcbiAgICB9LFxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcXG4gICAgfSxcXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbihjb25maWcpO1xcbiAgICB9XFxuICB9O1xcbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XFxuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgd2FybkludmFsaWRDb250ZXh0QWNjZXNzKCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW8oY3JlYXRlLCBkZXBzKTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XFxuICAgIH0sXFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XFxuICAgIH0sXFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUsIGNvbmZpZyk7XFxuICAgIH0sXFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbihjb25maWcpO1xcbiAgICB9XFxuICB9O1xcbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IHtcXG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XFxuICAgIH0sXFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcXG4gICAgfSxcXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKTtcXG4gICAgfVxcbiAgfTtcXG59XFxuXFxudmFyIG5vdyQxID0gU2NoZWR1bGVyLnVuc3RhYmxlX25vdztcXG52YXIgY29tbWl0VGltZSA9IDA7XFxudmFyIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XFxuXFxuZnVuY3Rpb24gZ2V0Q29tbWl0VGltZSgpIHtcXG4gIHJldHVybiBjb21taXRUaW1lO1xcbn1cXG5cXG5mdW5jdGlvbiByZWNvcmRDb21taXRUaW1lKCkge1xcblxcbiAgY29tbWl0VGltZSA9IG5vdyQxKCk7XFxufVxcblxcbmZ1bmN0aW9uIHN0YXJ0UHJvZmlsZXJUaW1lcihmaWJlcikge1xcblxcbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3ckMSgpO1xcblxcbiAgaWYgKGZpYmVyLmFjdHVhbFN0YXJ0VGltZSA8IDApIHtcXG4gICAgZmliZXIuYWN0dWFsU3RhcnRUaW1lID0gbm93JDEoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmcoZmliZXIpIHtcXG5cXG4gIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XFxufVxcblxcbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoZmliZXIsIG92ZXJyaWRlQmFzZVRpbWUpIHtcXG5cXG4gIGlmIChwcm9maWxlclN0YXJ0VGltZSA+PSAwKSB7XFxuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwcm9maWxlclN0YXJ0VGltZTtcXG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XFxuXFxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XFxuICAgICAgZmliZXIuc2VsZkJhc2VEdXJhdGlvbiA9IGVsYXBzZWRUaW1lO1xcbiAgICB9XFxuXFxuICAgIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XFxuICB9XFxufVxcblxcbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXFxuXFxudmFyIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcXG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XFxudmFyIGlzSHlkcmF0aW5nID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gZW50ZXJIeWRyYXRpb25TdGF0ZShmaWJlcikge1xcblxcbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XFxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpO1xcbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcXG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XFxuICB7XFxuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XFxuICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgIGRpZE5vdEh5ZHJhdGVDb250YWluZXJJbnN0YW5jZShyZXR1cm5GaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbywgaW5zdGFuY2UpO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlKHJldHVybkZpYmVyLnR5cGUsIHJldHVybkZpYmVyLm1lbW9pemVkUHJvcHMsIHJldHVybkZpYmVyLnN0YXRlTm9kZSwgaW5zdGFuY2UpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBjaGlsZFRvRGVsZXRlID0gY3JlYXRlRmliZXJGcm9tSG9zdEluc3RhbmNlRm9yRGVsZXRpb24oKTtcXG4gIGNoaWxkVG9EZWxldGUuc3RhdGVOb2RlID0gaW5zdGFuY2U7XFxuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgY2hpbGRUb0RlbGV0ZS5lZmZlY3RUYWcgPSBEZWxldGlvbjsgLy8gVGhpcyBtaWdodCBzZWVtIGxpa2UgaXQgYmVsb25ncyBvbiBwcm9ncmVzc2VkRmlyc3REZWxldGlvbi4gSG93ZXZlcixcXG4gIC8vIHRoZXNlIGNoaWxkcmVuIGFyZSBub3QgcGFydCBvZiB0aGUgcmVjb25jaWxpYXRpb24gbGlzdCBvZiBjaGlsZHJlbi5cXG4gIC8vIEV2ZW4gaWYgd2UgYWJvcnQgYW5kIHJlcmVjb25jaWxlIHRoZSBjaGlsZHJlbiwgdGhhdCB3aWxsIHRyeSB0byBoeWRyYXRlXFxuICAvLyBhZ2FpbiBhbmQgdGhlIG5vZGVzIGFyZSBzdGlsbCBpbiB0aGUgaG9zdCB0cmVlIHNvIHRoZXNlIHdpbGwgYmVcXG4gIC8vIHJlY3JlYXRlZC5cXG5cXG4gIGlmIChyZXR1cm5GaWJlci5sYXN0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QubmV4dEVmZmVjdCA9IGNoaWxkVG9EZWxldGU7XFxuICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcXG4gIGZpYmVyLmVmZmVjdFRhZyA9IGZpYmVyLmVmZmVjdFRhZyAmIH5IeWRyYXRpbmcgfCBQbGFjZW1lbnQ7XFxuXFxuICB7XFxuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XFxuICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcblxcbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICAgIHZhciB0eXBlID0gZmliZXIudHlwZTtcXG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcXG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgICAgICAgICAgICB2YXIgdGV4dCA9IGZpYmVyLnBlbmRpbmdQcm9wcztcXG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XFxuICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcXG4gICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcXG4gICAgICAgICAgdmFyIHBhcmVudEluc3RhbmNlID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlO1xcblxcbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICAgIHZhciBfdHlwZSA9IGZpYmVyLnR5cGU7XFxuICAgICAgICAgICAgICB2YXIgX3Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIF90eXBlKTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XFxuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIF90ZXh0KTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XFxuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVN1c3BlbnNlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMpO1xcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIHJldHVybjtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpIHtcXG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XFxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XFxuICAgICAgICB2YXIgcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XFxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBjYW5IeWRyYXRlSW5zdGFuY2UobmV4dEluc3RhbmNlLCB0eXBlKTtcXG5cXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICBmaWJlci5zdGF0ZU5vZGUgPSBpbnN0YW5jZTtcXG4gICAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciB0ZXh0ID0gZmliZXIucGVuZGluZ1Byb3BzO1xcbiAgICAgICAgdmFyIHRleHRJbnN0YW5jZSA9IGNhbkh5ZHJhdGVUZXh0SW5zdGFuY2UobmV4dEluc3RhbmNlLCB0ZXh0KTtcXG5cXG4gICAgICAgIGlmICh0ZXh0SW5zdGFuY2UgIT09IG51bGwpIHtcXG4gICAgICAgICAgZmliZXIuc3RhdGVOb2RlID0gdGV4dEluc3RhbmNlO1xcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH1cXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKGZpYmVyKSB7XFxuICBpZiAoIWlzSHlkcmF0aW5nKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xcblxcbiAgaWYgKCFuZXh0SW5zdGFuY2UpIHtcXG4gICAgLy8gTm90aGluZyB0byBoeWRyYXRlLiBNYWtlIGl0IGFuIGluc2VydGlvbi5cXG4gICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xcbiAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSA9IG5leHRJbnN0YW5jZTtcXG5cXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xcbiAgICAvLyBJZiB3ZSBjYW4ndCBoeWRyYXRlIHRoaXMgaW5zdGFuY2UgbGV0J3MgdHJ5IHRoZSBuZXh0IG9uZS5cXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxcbiAgICAvLyBtaWdodCBiZSBmbGF3ZWQgb3IgdW5uZWNlc3NhcnkuXFxuICAgIG5leHRJbnN0YW5jZSA9IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcXG5cXG4gICAgaWYgKCFuZXh0SW5zdGFuY2UgfHwgIXRyeUh5ZHJhdGUoZmliZXIsIG5leHRJbnN0YW5jZSkpIHtcXG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxcbiAgICAgIGluc2VydE5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcXG4gICAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIFdlIG1hdGNoZWQgdGhlIG5leHQgb25lLCB3ZSdsbCBub3cgYXNzdW1lIHRoYXQgdGhlIGZpcnN0IG9uZSB3YXNcXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcXG4gICAgLy8gd2UnbGwgaGF2ZSB0byBzY2hlZHVsZSBhIGRlbGV0aW9uLiBUbyBkbyB0aGF0LCB0aGlzIG5vZGUgbmVlZHMgYSBkdW1teVxcbiAgICAvLyBmaWJlciBhc3NvY2lhdGVkIHdpdGggaXQuXFxuXFxuXFxuICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XFxuICB9XFxuXFxuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGdldEZpcnN0SHlkcmF0YWJsZUNoaWxkKG5leHRJbnN0YW5jZSk7XFxufVxcblxcbmZ1bmN0aW9uIHByZXBhcmVUb0h5ZHJhdGVIb3N0SW5zdGFuY2UoZmliZXIsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcXG5cXG4gIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcXG4gIHZhciB1cGRhdGVQYXlsb2FkID0gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBmaWJlcik7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxcblxcbiAgZmliZXIudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcXG4gIC8vIGlzIGEgbmV3IHJlZiB3ZSBtYXJrIHRoaXMgYXMgYW4gdXBkYXRlLlxcblxcbiAgaWYgKHVwZGF0ZVBheWxvYWQgIT09IG51bGwpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICByZXR1cm4gZmFsc2U7XFxufVxcblxcbmZ1bmN0aW9uIHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKGZpYmVyKSB7XFxuXFxuICB2YXIgdGV4dEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xcbiAgdmFyIHRleHRDb250ZW50ID0gZmliZXIubWVtb2l6ZWRQcm9wcztcXG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcXG5cXG4gIHtcXG4gICAgaWYgKHNob3VsZFVwZGF0ZSkge1xcbiAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlIGlzIGNhbGxlZCBpbiBhIGNvbnRleHQgd2hlcmUgdGhlXFxuICAgICAgLy8gaHlkcmF0aW9uIHBhcmVudCBpcyB0aGUgcGFyZW50IGhvc3QgY29tcG9uZW50IG9mIHRoaXMgaG9zdCB0ZXh0LlxcbiAgICAgIHZhciByZXR1cm5GaWJlciA9IGh5ZHJhdGlvblBhcmVudEZpYmVyO1xcblxcbiAgICAgIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xcbiAgICAgICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcXG4gICAgICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XFxuICAgICAgICAgICAgICBkaWROb3RNYXRjaEh5ZHJhdGVkQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dEluc3RhbmNlLCB0ZXh0Q29udGVudCk7XFxuICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB2YXIgcGFyZW50VHlwZSA9IHJldHVybkZpYmVyLnR5cGU7XFxuICAgICAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xcbiAgICAgICAgICAgICAgdmFyIHBhcmVudEluc3RhbmNlID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlO1xcbiAgICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZFRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQpO1xcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xcblxcbiAgdmFyIHN1c3BlbnNlU3RhdGUgPSBmaWJlci5tZW1vaXplZFN0YXRlO1xcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcXG5cXG4gIGlmICghc3VzcGVuc2VJbnN0YW5jZSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGVJbnN0YW5jZUFmdGVyU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTtcXG59XFxuXFxuZnVuY3Rpb24gcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcikge1xcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcXG5cXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwgJiYgcGFyZW50LnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBwYXJlbnQudGFnICE9PSBIb3N0Um9vdCAmJiBwYXJlbnQudGFnICE9PSBTdXNwZW5zZUNvbXBvbmVudCkge1xcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xcbiAgfVxcblxcbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XFxufVxcblxcbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XFxuXFxuICBpZiAoZmliZXIgIT09IGh5ZHJhdGlvblBhcmVudEZpYmVyKSB7XFxuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcXG4gICAgLy8gdHJlZS5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxcbiAgICAvLyB3ZSB3ZXJlIGFuIGluc2VydGlvbiBhbmQgbm93IG5lZWQgdG8gcG9wIHVwIHJlZW50ZXIgaHlkcmF0aW9uIG9mIG91clxcbiAgICAvLyBzaWJsaW5ncy5cXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XFxuICAgIGlzSHlkcmF0aW5nID0gdHJ1ZTtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIHR5cGUgPSBmaWJlci50eXBlOyAvLyBJZiB3ZSBoYXZlIGFueSByZW1haW5pbmcgaHlkcmF0YWJsZSBub2Rlcywgd2UgbmVlZCB0byBkZWxldGUgdGhlbSBub3cuXFxuICAvLyBXZSBvbmx5IGRvIHRoaXMgZGVlcGVyIHRoYW4gaGVhZCBhbmQgYm9keSBzaW5jZSB0aGV5IHRlbmQgdG8gaGF2ZSByYW5kb21cXG4gIC8vIG90aGVyIG5vZGVzIGluIHRoZW0uIFdlIGFsc28gaWdub3JlIGNvbXBvbmVudHMgd2l0aCBwdXJlIHRleHQgY29udGVudCBpblxcbiAgLy8gc2lkZSBvZiB0aGVtLlxcbiAgLy8gVE9ETzogQmV0dGVyIGhldXJpc3RpYy5cXG5cXG4gIGlmIChmaWJlci50YWcgIT09IEhvc3RDb21wb25lbnQgfHwgdHlwZSAhPT0gJ2hlYWQnICYmIHR5cGUgIT09ICdib2R5JyAmJiAhc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpIHtcXG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XFxuXFxuICAgIHdoaWxlIChuZXh0SW5zdGFuY2UpIHtcXG4gICAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIsIG5leHRJbnN0YW5jZSk7XFxuICAgICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG5leHRJbnN0YW5jZSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xcblxcbiAgaWYgKGZpYmVyLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcXG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xcbiAgfSBlbHNlIHtcXG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGh5ZHJhdGlvblBhcmVudEZpYmVyID8gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpYmVyLnN0YXRlTm9kZSkgOiBudWxsO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcblxcbmZ1bmN0aW9uIHJlc2V0SHlkcmF0aW9uU3RhdGUoKSB7XFxuXFxuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XFxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcXG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XFxufVxcblxcbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XFxudmFyIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcXG52YXIgZGlkV2FybkFib3V0QmFkQ2xhc3M7XFxudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XFxudmFyIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudDtcXG52YXIgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudDtcXG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xcbnZhciBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzO1xcbnZhciBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcjtcXG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XFxuXFxue1xcbiAgZGlkV2FybkFib3V0QmFkQ2xhc3MgPSB7fTtcXG4gIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQgPSB7fTtcXG4gIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xcbiAgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xcbiAgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzID0ge307XFxuICBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzID0gZmFsc2U7XFxuICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlciA9IHt9O1xcbiAgZGlkV2FybkFib3V0VGFpbE9wdGlvbnMgPSB7fTtcXG59XFxuXFxuZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XFxuICAgIC8vIElmIHRoaXMgaXMgYSBmcmVzaCBuZXcgY29tcG9uZW50IHRoYXQgaGFzbid0IGJlZW4gcmVuZGVyZWQgeWV0LCB3ZVxcbiAgICAvLyB3b24ndCB1cGRhdGUgaXRzIGNoaWxkIHNldCBieSBhcHBseWluZyBtaW5pbWFsIHNpZGUtZWZmZWN0cy4gSW5zdGVhZCxcXG4gICAgLy8gd2Ugd2lsbCBhZGQgdGhlbSBhbGwgdG8gdGhlIGNoaWxkIGJlZm9yZSBpdCBnZXRzIHJlbmRlcmVkLiBUaGF0IG1lYW5zXFxuICAgIC8vIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIHJlY29uY2lsaWF0aW9uIHBhc3MgYnkgbm90IHRyYWNraW5nIHNpZGUtZWZmZWN0cy5cXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBtb3VudENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIElmIHRoZSBjdXJyZW50IGNoaWxkIGlzIHRoZSBzYW1lIGFzIHRoZSB3b3JrIGluIHByb2dyZXNzLCBpdCBtZWFucyB0aGF0XFxuICAgIC8vIHdlIGhhdmVuJ3QgeWV0IHN0YXJ0ZWQgYW55IHdvcmsgb24gdGhlc2UgY2hpbGRyZW4uIFRoZXJlZm9yZSwgd2UgdXNlXFxuICAgIC8vIHRoZSBjbG9uZSBhbGdvcml0aG0gdG8gY3JlYXRlIGEgY29weSBvZiBhbGwgdGhlIGN1cnJlbnQgY2hpbGRyZW4uXFxuICAgIC8vIElmIHdlIGhhZCBhbnkgcHJvZ3Jlc3NlZCB3b3JrIGFscmVhZHksIHRoYXQgaXMgaW52YWxpZCBhdCB0aGlzIHBvaW50IHNvXFxuICAgIC8vIGxldCdzIHRocm93IGl0IG91dC5cXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudC5jaGlsZCwgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZvcmNlVW5tb3VudEN1cnJlbnRBbmRSZWNvbmNpbGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgZm9yayBvZiByZWNvbmNpbGVDaGlsZHJlbi4gSXQncyB1c2VkIGluIGNhc2VzIHdoZXJlIHdlXFxuICAvLyB3YW50IHRvIHJlY29uY2lsZSB3aXRob3V0IG1hdGNoaW5nIGFnYWluc3QgdGhlIGV4aXN0aW5nIHNldC4gVGhpcyBoYXMgdGhlXFxuICAvLyBlZmZlY3Qgb2YgYWxsIGN1cnJlbnQgY2hpbGRyZW4gYmVpbmcgdW5tb3VudGVkOyBldmVuIGlmIHRoZSB0eXBlIGFuZCBrZXlcXG4gIC8vIGFyZSB0aGUgc2FtZSwgdGhlIG9sZCBjaGlsZCBpcyB1bm1vdW50ZWQgYW5kIGEgbmV3IGNoaWxkIGlzIGNyZWF0ZWQuXFxuICAvL1xcbiAgLy8gVG8gZG8gdGhpcywgd2UncmUgZ29pbmcgdG8gZ28gdGhyb3VnaCB0aGUgcmVjb25jaWxlIGFsZ29yaXRobSB0d2ljZS4gSW5cXG4gIC8vIHRoZSBmaXJzdCBwYXNzLCB3ZSBzY2hlZHVsZSBhIGRlbGV0aW9uIGZvciBhbGwgdGhlIGN1cnJlbnQgY2hpbGRyZW4gYnlcXG4gIC8vIHBhc3NpbmcgbnVsbC5cXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gSW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBtb3VudCB0aGUgbmV3IGNoaWxkcmVuLiBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHdlXFxuICAvLyBwYXNzIG51bGwgaW4gcGxhY2Ugb2Ygd2hlcmUgd2UgdXN1YWxseSBwYXNzIHRoZSBjdXJyZW50IGNoaWxkIHNldC4gVGhpcyBoYXNcXG4gIC8vIHRoZSBlZmZlY3Qgb2YgcmVtb3VudGluZyBhbGwgY2hpbGRyZW4gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZWlyXFxuICAvLyBpZGVudGl0aWVzIG1hdGNoLlxcblxcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcXG4gIC8vIGhhc24ndCB5ZXQgbW91bnRlZC4gVGhpcyBoYXBwZW5zIGFmdGVyIHRoZSBmaXJzdCByZW5kZXIgc3VzcGVuZHMuXFxuICAvLyBXZSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBmaW5lIG9yIGNhbiBjYXVzZSBpc3N1ZXMuXFxuICB7XFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxcbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XFxuXFxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHJlbmRlciA9IENvbXBvbmVudC5yZW5kZXI7XFxuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmOyAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcXG5cXG4gIHZhciBuZXh0Q2hpbGRyZW47XFxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAge1xcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XFxuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyLCBuZXh0UHJvcHMsIHJlZiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgLy8gT25seSBkb3VibGUtcmVuZGVyIGNvbXBvbmVudHMgd2l0aCBIb29rc1xcbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlciwgbmV4dFByb3BzLCByZWYsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xcbiAgfVxcblxcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFJlY2VpdmVVcGRhdGUpIHtcXG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cXG5cXG5cXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQZXJmb3JtZWRXb3JrO1xcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICB2YXIgdHlwZSA9IENvbXBvbmVudC50eXBlO1xcblxcbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXFxuICAgIENvbXBvbmVudC5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciByZXNvbHZlZFR5cGUgPSB0eXBlO1xcblxcbiAgICAgIHtcXG4gICAgICAgIHJlc29sdmVkVHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcXG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxcbiAgICAgIC8vIGFuZCB3aXRoIG9ubHkgdGhlIGRlZmF1bHQgc2hhbGxvdyBjb21wYXJpc29uLCB3ZSB1cGdyYWRlIGl0XFxuICAgICAgLy8gdG8gYSBTaW1wbGVNZW1vQ29tcG9uZW50IHRvIGFsbG93IGZhc3QgcGF0aCB1cGRhdGVzLlxcblxcblxcbiAgICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IFNpbXBsZU1lbW9Db21wb25lbnQ7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcXG5cXG4gICAgICB7XFxuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xcblxcbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xcbiAgICAgICAgLy8gSW5uZXIgbWVtbyBjb21wb25lbnQgcHJvcHMgYXJlbid0IGN1cnJlbnRseSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudC5cXG4gICAgICAgIC8vIFdlIGNvdWxkIG1vdmUgaXQgdGhlcmUsIGJ1dCB3ZSdkIHN0aWxsIG5lZWQgdGhpcyBmb3IgbGF6eSBjb2RlIHBhdGguXFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKHR5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGNoaWxkID0gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKENvbXBvbmVudC50eXBlLCBudWxsLCBuZXh0UHJvcHMsIG51bGwsIHdvcmtJblByb2dyZXNzLm1vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgY2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xcbiAgICBjaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcXG4gICAgcmV0dXJuIGNoaWxkO1xcbiAgfVxcblxcbiAge1xcbiAgICB2YXIgX3R5cGUgPSBDb21wb25lbnQudHlwZTtcXG4gICAgdmFyIF9pbm5lclByb3BUeXBlcyA9IF90eXBlLnByb3BUeXBlcztcXG5cXG4gICAgaWYgKF9pbm5lclByb3BUeXBlcykge1xcbiAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXFxuICAgICAgLy8gV2UgY291bGQgbW92ZSBpdCB0aGVyZSwgYnV0IHdlJ2Qgc3RpbGwgbmVlZCB0aGlzIGZvciBsYXp5IGNvZGUgcGF0aC5cXG4gICAgICBjaGVja1Byb3BUeXBlcyhfaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcXG4gICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoX3R5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGN1cnJlbnRDaGlsZCA9IGN1cnJlbnQuY2hpbGQ7IC8vIFRoaXMgaXMgYWx3YXlzIGV4YWN0bHkgb25lIGNoaWxkXFxuXFxuICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxcbiAgICAvLyB1bmxpa2UgY3VycmVudC5tZW1vaXplZFByb3BzIHdoaWNoIHdpbGwgYmUgdGhlIHVucmVzb2x2ZWQgb25lcy5cXG4gICAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnRDaGlsZC5tZW1vaXplZFByb3BzOyAvLyBEZWZhdWx0IHRvIHNoYWxsb3cgY29tcGFyaXNvblxcblxcbiAgICB2YXIgY29tcGFyZSA9IENvbXBvbmVudC5jb21wYXJlO1xcbiAgICBjb21wYXJlID0gY29tcGFyZSAhPT0gbnVsbCA/IGNvbXBhcmUgOiBzaGFsbG93RXF1YWw7XFxuXFxuICAgIGlmIChjb21wYXJlKHByZXZQcm9wcywgbmV4dFByb3BzKSAmJiBjdXJyZW50LnJlZiA9PT0gd29ya0luUHJvZ3Jlc3MucmVmKSB7XFxuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgfVxcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXFxuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcXG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgbmV4dFByb3BzKTtcXG4gIG5ld0NoaWxkLnJlZiA9IHdvcmtJblByb2dyZXNzLnJlZjtcXG4gIG5ld0NoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcXG4gIHJldHVybiBuZXdDaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcXG4gIC8vIGhhc24ndCB5ZXQgbW91bnRlZC4gVGhpcyBoYXBwZW5zIHdoZW4gdGhlIGlubmVyIHJlbmRlciBzdXNwZW5kcy5cXG4gIC8vIFdlJ2xsIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGlzIGZpbmUgb3IgY2FuIGNhdXNlIGlzc3Vlcy5cXG4gIHtcXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XFxuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcXG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXFxuICAgICAgdmFyIG91dGVyTWVtb1R5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcXG5cXG4gICAgICBpZiAob3V0ZXJNZW1vVHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XFxuICAgICAgICAvLyBXZSB3YXJuIHdoZW4geW91IGRlZmluZSBwcm9wVHlwZXMgb24gbGF6eSgpXFxuICAgICAgICAvLyBzbyBsZXQncyBqdXN0IHNraXAgb3ZlciBpdCB0byBmaW5kIG1lbW8oKSBvdXRlciB3cmFwcGVyLlxcbiAgICAgICAgLy8gSW5uZXIgcHJvcHMgZm9yIG1lbW8gYXJlIHZhbGlkYXRlZCBsYXRlci5cXG4gICAgICAgIG91dGVyTWVtb1R5cGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQob3V0ZXJNZW1vVHlwZSk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IG91dGVyTWVtb1R5cGUgJiYgb3V0ZXJNZW1vVHlwZS5wcm9wVHlwZXM7XFxuXFxuICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhvdXRlclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCAoU2ltcGxlTWVtb0NvbXBvbmVudCBoYXMgbm8gZGVmYXVsdFByb3BzKVxcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKG91dGVyTWVtb1R5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgICB9IC8vIElubmVyIHByb3BUeXBlcyB3aWxsIGJlIHZhbGlkYXRlZCBpbiB0aGUgZnVuY3Rpb24gY29tcG9uZW50IHBhdGguXFxuXFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XFxuXFxuICAgIGlmIChzaGFsbG93RXF1YWwocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYgJiYgKCAvLyBQcmV2ZW50IGJhaWxvdXQgaWYgdGhlIGltcGxlbWVudGF0aW9uIGNoYW5nZWQgZHVlIHRvIGhvdCByZWxvYWQuXFxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xcbiAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcXG5cXG4gICAgICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgLy8gVGhlIHBlbmRpbmcgdXBkYXRlIHByaW9yaXR5IHdhcyBjbGVhcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2ZcXG4gICAgICAgIC8vIGJlZ2luV29yay4gV2UncmUgYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBhZGRpdGlvbmFsXFxuICAgICAgICAvLyB1cGRhdGVzIGF0IGEgbG93ZXIgcHJpb3JpdHkuIFVzdWFsbHksIHRoZSBwcmlvcml0eSBsZXZlbCBvZiB0aGVcXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtbGF0ZWQgZHVyaW5nIHRoZSBldmFsdWF0aW9uIG9mIHRoZVxcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXFxuICAgICAgICAvLyB3ZSdyZSBiYWlsaW5nIG91dCBlYXJseSAqd2l0aG91dCogZXZhbHVhdGluZyB0aGUgY29tcG9uZW50LCB3ZSBuZWVkXFxuICAgICAgICAvLyB0byBhY2NvdW50IGZvciBpdCBoZXJlLCB0b28uIFJlc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBmaWJlci5cXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxcbiAgICAgICAgLy8gYmVjYXVzZSBhIE1lbW9Db21wb25lbnQgZmliZXIgZG9lcyBub3QgaGF2ZSBob29rcyBvciBhbiB1cGRhdGUgcXVldWU7XFxuICAgICAgICAvLyByYXRoZXIsIGl0IHdyYXBzIGFyb3VuZCBhbiBpbm5lciBjb21wb25lbnQsIHdoaWNoIG1heSBvciBtYXkgbm90XFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cXG4gICAgICAgIC8vIFRPRE86IE1vdmUgdGhlIHJlc2V0IGF0IGluIGJlZ2luV29yayBvdXQgb2YgdGhlIGNvbW1vbiBwYXRoIHNvIHRoYXRcXG4gICAgICAgIC8vIHRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gY3VycmVudC5leHBpcmF0aW9uVGltZTtcXG4gICAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdXBkYXRlRnVuY3Rpb25Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUZyYWdtZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIG5leHRDaGlsZHJlbiA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlTW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMuY2hpbGRyZW47XFxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVByb2ZpbGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbiAgfVxcblxcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHZhciBuZXh0Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XFxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcXG4gIHZhciByZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XFxuXFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiByZWYgIT09IG51bGwgfHwgY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50LnJlZiAhPT0gcmVmKSB7XFxuICAgIC8vIFNjaGVkdWxlIGEgUmVmIGVmZmVjdFxcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUmVmO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB7XFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxcbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XFxuXFxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGNvbnRleHQ7XFxuXFxuICB7XFxuICAgIHZhciB1bm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSk7XFxuICAgIGNvbnRleHQgPSBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQpO1xcbiAgfVxcblxcbiAgdmFyIG5leHRDaGlsZHJlbjtcXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICB7XFxuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcXG4gICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgLy8gT25seSBkb3VibGUtcmVuZGVyIGNvbXBvbmVudHMgd2l0aCBIb29rc1xcbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCBjb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XFxuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXFxuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAge1xcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcXG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xcblxcbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH0gLy8gUHVzaCBjb250ZXh0IHByb3ZpZGVycyBlYXJseSB0byBwcmV2ZW50IGNvbnRleHQgc3RhY2sgbWlzbWF0Y2hlcy5cXG4gIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cXG5cXG5cXG4gIHZhciBoYXNDb250ZXh0O1xcblxcbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcXG4gICAgaGFzQ29udGV4dCA9IHRydWU7XFxuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgfSBlbHNlIHtcXG4gICAgaGFzQ29udGV4dCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG4gIHZhciBzaG91bGRVcGRhdGU7XFxuXFxuICBpZiAoaW5zdGFuY2UgPT09IG51bGwpIHtcXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICAvLyBBIGNsYXNzIGNvbXBvbmVudCB3aXRob3V0IGFuIGluc3RhbmNlIG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZFxcbiAgICAgIC8vIGluc2lkZSBhIG5vbi1jb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0b1xcbiAgICAgIC8vIHRyZWF0IGl0IGxpa2UgYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeVxcbiAgICAgIC8vIGNvbW1pdHRlZC4gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxcbiAgICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBTaW5jZSB0aGlzIGlzIGNvbmNlcHR1YWxseSBhIG5ldyBmaWJlciwgc2NoZWR1bGUgYSBQbGFjZW1lbnQgZWZmZWN0XFxuXFxuICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcXG4gICAgfSAvLyBJbiB0aGUgaW5pdGlhbCBwYXNzIHdlIG1pZ2h0IG5lZWQgdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZS5cXG5cXG5cXG4gICAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xcbiAgICBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHNob3VsZFVwZGF0ZSA9IHRydWU7XFxuICB9IGVsc2UgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgLy8gSW4gYSByZXN1bWUsIHdlJ2xsIGFscmVhZHkgaGF2ZSBhbiBpbnN0YW5jZSB3ZSBjYW4gcmV1c2UuXFxuICAgIHNob3VsZFVwZGF0ZSA9IHJlc3VtZU1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIHNob3VsZFVwZGF0ZSA9IHVwZGF0ZUNsYXNzSW5zdGFuY2UoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9XFxuXFxuICB2YXIgbmV4dFVuaXRPZldvcmsgPSBmaW5pc2hDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBzaG91bGRVcGRhdGUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gIHtcXG4gICAgdmFyIGluc3QgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuXFxuICAgIGlmIChpbnN0LnByb3BzICE9PSBuZXh0UHJvcHMpIHtcXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcXG4gICAgICAgIGVycm9yKCdJdCBsb29rcyBsaWtlICVzIGlzIHJlYXNzaWduaW5nIGl0cyBvd24gYHRoaXMucHJvcHNgIHdoaWxlIHJlbmRlcmluZy4gJyArICdUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIGNhbiBsZWFkIHRvIGNvbmZ1c2luZyBidWdzLicsIGdldENvbXBvbmVudE5hbWUod29ya0luUHJvZ3Jlc3MudHlwZSkgfHwgJ2EgY29tcG9uZW50Jyk7XFxuICAgICAgfVxcblxcbiAgICAgIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSB0cnVlO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbmV4dFVuaXRPZldvcms7XFxufVxcblxcbmZ1bmN0aW9uIGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIFJlZnMgc2hvdWxkIHVwZGF0ZSBldmVuIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlXFxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcXG4gIHZhciBkaWRDYXB0dXJlRXJyb3IgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcblxcbiAgaWYgKCFzaG91bGRVcGRhdGUgJiYgIWRpZENhcHR1cmVFcnJvcikge1xcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcXG4gICAgaWYgKGhhc0NvbnRleHQpIHtcXG4gICAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGZhbHNlKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgfVxcblxcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlOyAvLyBSZXJlbmRlclxcblxcbiAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XFxuICB2YXIgbmV4dENoaWxkcmVuO1xcblxcbiAgaWYgKGRpZENhcHR1cmVFcnJvciAmJiB0eXBlb2YgQ29tcG9uZW50LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAvLyBJZiB3ZSBjYXB0dXJlZCBhbiBlcnJvciwgYnV0IGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciBpcyBub3QgZGVmaW5lZCxcXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xcbiAgICAvLyByZS1yZW5kZXIgYSBmYWxsYmFjay4gVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgd2UgbWlncmF0ZSBldmVyeW9uZSB0b1xcbiAgICAvLyB0aGUgbmV3IEFQSS5cXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxcbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xcblxcbiAgICB7XFxuICAgICAgc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmcoKTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAge1xcbiAgICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xcbiAgICAgIG5leHRDaGlsZHJlbiA9IGluc3RhbmNlLnJlbmRlcigpO1xcblxcbiAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcXG4gICAgICAgIGluc3RhbmNlLnJlbmRlcigpO1xcbiAgICAgIH1cXG5cXG4gICAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XFxuICAgIH1cXG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxcblxcblxcbiAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBlcmZvcm1lZFdvcms7XFxuXFxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcXG4gICAgLy8gSWYgd2UncmUgcmVjb3ZlcmluZyBmcm9tIGFuIGVycm9yLCByZWNvbmNpbGUgd2l0aG91dCByZXVzaW5nIGFueSBvZlxcbiAgICAvLyB0aGUgZXhpc3RpbmcgY2hpbGRyZW4uIENvbmNlcHR1YWxseSwgdGhlIG5vcm1hbCBjaGlsZHJlbiBhbmQgdGhlIGNoaWxkcmVuXFxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxcbiAgICAvLyBub3JtYWwgY2hpbGRyZW4gZXZlbiBpZiB0aGVpciBpZGVudGl0aWVzIG1hdGNoLlxcbiAgICBmb3JjZVVubW91bnRDdXJyZW50QW5kUmVjb25jaWxlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gLy8gTWVtb2l6ZSBzdGF0ZSB1c2luZyB0aGUgdmFsdWVzIHdlIGp1c3QgdXNlZCB0byByZW5kZXIuXFxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cXG5cXG5cXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXFxuXFxuICBpZiAoaGFzQ29udGV4dCkge1xcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XFxuICB2YXIgcm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG5cXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QucGVuZGluZ0NvbnRleHQsIHJvb3QucGVuZGluZ0NvbnRleHQgIT09IHJvb3QuY29udGV4dCk7XFxuICB9IGVsc2UgaWYgKHJvb3QuY29udGV4dCkge1xcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxcbiAgICBwdXNoVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzLCByb290LmNvbnRleHQsIGZhbHNlKTtcXG4gIH1cXG5cXG4gIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCByb290LmNvbnRhaW5lckluZm8pO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVIb3N0Um9vdChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XFxuXFxuICBpZiAoIShjdXJyZW50ICE9PSBudWxsICYmIHVwZGF0ZVF1ZXVlICE9PSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJZiB0aGUgcm9vdCBkb2VzIG5vdCBoYXZlIGFuIHVwZGF0ZVF1ZXVlLCB3ZSBzaG91bGQgaGF2ZSBhbHJlYWR5IGJhaWxlZCBvdXQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIHByZXZTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB2YXIgcHJldkNoaWxkcmVuID0gcHJldlN0YXRlICE9PSBudWxsID8gcHJldlN0YXRlLmVsZW1lbnQgOiBudWxsO1xcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIG5leHRQcm9wcywgbnVsbCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgdmFyIG5leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcXG4gIC8vIGJlaW5nIGNhbGxlZCBcXFwiZWxlbWVudFxcXCIuXFxuXFxuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFN0YXRlLmVsZW1lbnQ7XFxuXFxuICBpZiAobmV4dENoaWxkcmVuID09PSBwcmV2Q2hpbGRyZW4pIHtcXG4gICAgLy8gSWYgdGhlIHN0YXRlIGlzIHRoZSBzYW1lIGFzIGJlZm9yZSwgdGhhdCdzIGEgYmFpbG91dCBiZWNhdXNlIHdlIGhhZFxcbiAgICAvLyBubyB3b3JrIHRoYXQgZXhwaXJlcyBhdCB0aGlzIHRpbWUuXFxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcblxcbiAgaWYgKHJvb3QuaHlkcmF0ZSAmJiBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKSkge1xcbiAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFueSBjdXJyZW50IGNoaWxkcmVuIHRoaXMgbWlnaHQgYmUgdGhlIGZpcnN0IHBhc3MuXFxuICAgIC8vIFdlIGFsd2F5cyB0cnkgdG8gaHlkcmF0ZS4gSWYgdGhpcyBpc24ndCBhIGh5ZHJhdGlvbiBwYXNzIHRoZXJlIHdvbid0XFxuICAgIC8vIGJlIGFueSBjaGlsZHJlbiB0byBoeWRyYXRlIHdoaWNoIGlzIGVmZmVjdGl2ZWx5IHRoZSBzYW1lIHRoaW5nIGFzXFxuICAgIC8vIG5vdCBoeWRyYXRpbmcuXFxuICAgIHZhciBjaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGNoaWxkO1xcbiAgICB2YXIgbm9kZSA9IGNoaWxkO1xcblxcbiAgICB3aGlsZSAobm9kZSkge1xcbiAgICAgIC8vIE1hcmsgZWFjaCBjaGlsZCBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcXG4gICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXFxuICAgICAgLy8gbm9kZSBoYXMgZnVsbHkgbW91bnRlZCB5ZXQsIGFuZCBmb3Igc2NoZWR1bGluZyBldmVudCByZXBsYXlpbmcuXFxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXFxuICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXFxuICAgICAgLy8gbXV0YXRpb25zIGJlY2F1c2UgaXQgYWxyZWFkeSBleGlzdHMuXFxuICAgICAgbm9kZS5lZmZlY3RUYWcgPSBub2RlLmVmZmVjdFRhZyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XFxuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgLy8gT3RoZXJ3aXNlIHJlc2V0IGh5ZHJhdGlvbiBzdGF0ZSBpbiBjYXNlIHdlIGFib3J0ZWQgYW5kIHJlc3VtZWQgYW5vdGhlclxcbiAgICAvLyByb290LlxcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHB1c2hIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICB9XFxuXFxuICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBudWxsO1xcbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcXG4gIHZhciBpc0RpcmVjdFRleHRDaGlsZCA9IHNob3VsZFNldFRleHRDb250ZW50KHR5cGUsIG5leHRQcm9wcyk7XFxuXFxuICBpZiAoaXNEaXJlY3RUZXh0Q2hpbGQpIHtcXG4gICAgLy8gV2Ugc3BlY2lhbCBjYXNlIGEgZGlyZWN0IHRleHQgY2hpbGQgb2YgYSBob3N0IG5vZGUuIFRoaXMgaXMgYSBjb21tb25cXG4gICAgLy8gY2FzZS4gV2Ugd29uJ3QgaGFuZGxlIGl0IGFzIGEgcmVpZmllZCBjaGlsZC4gV2Ugd2lsbCBpbnN0ZWFkIGhhbmRsZVxcbiAgICAvLyB0aGlzIGluIHRoZSBob3N0IGVudmlyb25tZW50IHRoYXQgYWxzbyBoYXMgYWNjZXNzIHRvIHRoaXMgcHJvcC4gVGhhdFxcbiAgICAvLyBhdm9pZHMgYWxsb2NhdGluZyBhbm90aGVyIEhvc3RUZXh0IGZpYmVyIGFuZCB0cmF2ZXJzaW5nIGl0LlxcbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xcbiAgfSBlbHNlIGlmIChwcmV2UHJvcHMgIT09IG51bGwgJiYgc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJldlByb3BzKSkge1xcbiAgICAvLyBJZiB3ZSdyZSBzd2l0Y2hpbmcgZnJvbSBhIGRpcmVjdCB0ZXh0IGNoaWxkIHRvIGEgbm9ybWFsIGNoaWxkLCBvciB0b1xcbiAgICAvLyBlbXB0eSwgd2UgbmVlZCB0byBzY2hlZHVsZSB0aGUgdGV4dCBjb250ZW50IHRvIGJlIHJlc2V0LlxcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gQ29udGVudFJlc2V0O1xcbiAgfVxcblxcbiAgbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7IC8vIENoZWNrIHRoZSBob3N0IGNvbmZpZyB0byBzZWUgaWYgdGhlIGNoaWxkcmVuIGFyZSBvZmZzY3JlZW4vaGlkZGVuLlxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSAmJiByZW5kZXJFeHBpcmF0aW9uVGltZSAhPT0gTmV2ZXIgJiYgc2hvdWxkRGVwcmlvcml0aXplU3VidHJlZSh0eXBlLCBuZXh0UHJvcHMpKSB7XFxuICAgIHtcXG4gICAgICBtYXJrU3Bhd25lZFdvcmsoTmV2ZXIpO1xcbiAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxcblxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBOZXZlcjtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUhvc3RUZXh0KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7XFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICB9IC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVGhpcyBpcyB0ZXJtaW5hbC4gV2UnbGwgZG8gdGhlIGNvbXBsZXRpb24gc3RlcFxcbiAgLy8gaW1tZWRpYXRlbHkgYWZ0ZXIuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRMYXp5Q29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKF9jdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIC8vIEEgbGF6eSBjb21wb25lbnQgb25seSBtb3VudHMgaWYgaXQgc3VzcGVuZGVkIGluc2lkZSBhIG5vbi1cXG4gICAgLy8gY29uY3VycmVudCB0cmVlLCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFdlIHdhbnQgdG8gdHJlYXQgaXQgbGlrZVxcbiAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cXG4gICAgLy8gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxcbiAgICBfY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBTaW5jZSB0aGlzIGlzIGNvbmNlcHR1YWxseSBhIG5ldyBmaWJlciwgc2NoZWR1bGUgYSBQbGFjZW1lbnQgZWZmZWN0XFxuXFxuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQbGFjZW1lbnQ7XFxuICB9XFxuXFxuICB2YXIgcHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFdlIGNhbid0IHN0YXJ0IGEgVXNlciBUaW1pbmcgbWVhc3VyZW1lbnQgd2l0aCBjb3JyZWN0IGxhYmVsIHlldC5cXG4gIC8vIENhbmNlbCBhbmQgcmVzdW1lIHJpZ2h0IGFmdGVyIHdlIGtub3cgdGhlIHRhZy5cXG5cXG4gIGNhbmNlbFdvcmtUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICB2YXIgQ29tcG9uZW50ID0gcmVhZExhenlDb21wb25lbnRUeXBlKGVsZW1lbnRUeXBlKTsgLy8gU3RvcmUgdGhlIHVud3JhcHBlZCBjb21wb25lbnQgaW4gdGhlIHR5cGUuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50O1xcbiAgdmFyIHJlc29sdmVkVGFnID0gd29ya0luUHJvZ3Jlc3MudGFnID0gcmVzb2x2ZUxhenlDb21wb25lbnRUYWcoQ29tcG9uZW50KTtcXG4gIHN0YXJ0V29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcXG4gIHZhciByZXNvbHZlZFByb3BzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIHByb3BzKTtcXG4gIHZhciBjaGlsZDtcXG5cXG4gIHN3aXRjaCAocmVzb2x2ZWRUYWcpIHtcXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY2hpbGQgPSB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICByZXR1cm4gY2hpbGQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY2hpbGQgPSB1cGRhdGVDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICByZXR1cm4gY2hpbGQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRm9yd2FyZFJlZihudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICByZXR1cm4gY2hpbGQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcXG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xcblxcbiAgICAgICAgICAgIGlmIChvdXRlclByb3BUeXBlcykge1xcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIHJlc29sdmVkUHJvcHMsIC8vIFJlc29sdmVkIGZvciBvdXRlciBvbmx5XFxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xcbiAgICAgICAgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgIHJldHVybiBjaGlsZDtcXG4gICAgICB9XFxuICB9XFxuXFxuICB2YXIgaGludCA9ICcnO1xcblxcbiAge1xcbiAgICBpZiAoQ29tcG9uZW50ICE9PSBudWxsICYmIHR5cGVvZiBDb21wb25lbnQgPT09ICdvYmplY3QnICYmIENvbXBvbmVudC4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XFxuICAgICAgaGludCA9ICcgRGlkIHlvdSB3cmFwIGEgY29tcG9uZW50IGluIFJlYWN0LmxhenkoKSBtb3JlIHRoYW4gb25jZT8nO1xcbiAgICB9XFxuICB9IC8vIFRoaXMgbWVzc2FnZSBpbnRlbnRpb25hbGx5IGRvZXNuJ3QgbWVudGlvbiBGb3J3YXJkUmVmIG9yIE1lbW9Db21wb25lbnRcXG4gIC8vIGJlY2F1c2UgdGhlIGZhY3QgdGhhdCBpdCdzIGEgc2VwYXJhdGUgdHlwZSBvZiB3b3JrIGlzIGFuXFxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXFxuXFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkVsZW1lbnQgdHlwZSBpcyBpbnZhbGlkLiBSZWNlaXZlZCBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0bzogXFxcIiArIENvbXBvbmVudCArIFxcXCIuIExhenkgZWxlbWVudCB0eXBlIG11c3QgcmVzb2x2ZSB0byBhIGNsYXNzIG9yIGZ1bmN0aW9uLlxcXCIgKyBoaW50ICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbW91bnRJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChfY3VycmVudCAhPT0gbnVsbCkge1xcbiAgICAvLyBBbiBpbmNvbXBsZXRlIGNvbXBvbmVudCBvbmx5IG1vdW50cyBpZiBpdCBzdXNwZW5kZWQgaW5zaWRlIGEgbm9uLVxcbiAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXFxuICAgIC8vIGEgbmV3IG1vdW50LCBldmVuIHRob3VnaCBhbiBlbXB0eSB2ZXJzaW9uIG9mIGl0IGFscmVhZHkgY29tbWl0dGVkLlxcbiAgICAvLyBEaXNjb25uZWN0IHRoZSBhbHRlcm5hdGUgcG9pbnRlcnMuXFxuICAgIF9jdXJyZW50LmFsdGVybmF0ZSA9IG51bGw7XFxuICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIFNpbmNlIHRoaXMgaXMgY29uY2VwdHVhbGx5IGEgbmV3IGZpYmVyLCBzY2hlZHVsZSBhIFBsYWNlbWVudCBlZmZlY3RcXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcXG4gIH0gLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cXG5cXG5cXG4gIHdvcmtJblByb2dyZXNzLnRhZyA9IENsYXNzQ29tcG9uZW50OyAvLyBUaGUgcmVzdCBvZiB0aGlzIGZ1bmN0aW9uIGlzIGEgZm9yayBvZiBgdXBkYXRlQ2xhc3NDb21wb25lbnRgXFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxcbiAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxcbiAgLy8gV2Ugd2lsbCBpbnZhbGlkYXRlIHRoZSBjaGlsZCBjb250ZXh0IGluIGZpbmlzaENsYXNzQ29tcG9uZW50KCkgcmlnaHQgYWZ0ZXIgcmVuZGVyaW5nLlxcblxcbiAgdmFyIGhhc0NvbnRleHQ7XFxuXFxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcXG4gICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICB9IGVsc2Uge1xcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XFxuICB9XFxuXFxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGZpbmlzaENsYXNzQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRJbmRldGVybWluYXRlQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKF9jdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIC8vIEFuIGluZGV0ZXJtaW5hdGUgY29tcG9uZW50IG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZCBpbnNpZGUgYSBub24tXFxuICAgIC8vIGNvbmN1cnJlbnQgdHJlZSwgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBXZSB3YW50IHRvIHRyZWF0IGl0IGxpa2VcXG4gICAgLy8gYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeSBjb21taXR0ZWQuXFxuICAgIC8vIERpc2Nvbm5lY3QgdGhlIGFsdGVybmF0ZSBwb2ludGVycy5cXG4gICAgX2N1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gbnVsbDsgLy8gU2luY2UgdGhpcyBpcyBjb25jZXB0dWFsbHkgYSBuZXcgZmliZXIsIHNjaGVkdWxlIGEgUGxhY2VtZW50IGVmZmVjdFxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xcbiAgfVxcblxcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIGNvbnRleHQ7XFxuXFxuICB7XFxuICAgIHZhciB1bm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgZmFsc2UpO1xcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB2YXIgdmFsdWU7XFxuXFxuICB7XFxuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEJhZENsYXNzW2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICBlcnJvcihcXFwiVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBoYXZlIGEgcmVuZGVyIG1ldGhvZCwgYnV0IGRvZXNuJ3QgZXh0ZW5kIFJlYWN0LkNvbXBvbmVudC4gXFxcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XFxuXFxuICAgICAgICBkaWRXYXJuQWJvdXRCYWRDbGFzc1tjb21wb25lbnROYW1lXSA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBudWxsKTtcXG4gICAgfVxcblxcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcXG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxcblxcblxcbiAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBlcmZvcm1lZFdvcms7XFxuXFxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcXG4gICAge1xcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xcbiAgICAgICAgZXJyb3IoJ1RoZSA8JXMgLz4gY29tcG9uZW50IGFwcGVhcnMgdG8gYmUgYSBmdW5jdGlvbiBjb21wb25lbnQgdGhhdCByZXR1cm5zIGEgY2xhc3MgaW5zdGFuY2UuICcgKyAnQ2hhbmdlICVzIHRvIGEgY2xhc3MgdGhhdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCBpbnN0ZWFkLiAnICsgXFxcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXFxcIiArIFxcXCJgJXMucHJvdG90eXBlID0gUmVhY3QuQ29tcG9uZW50LnByb3RvdHlwZWAuIERvbid0IHVzZSBhbiBhcnJvdyBmdW5jdGlvbiBzaW5jZSBpdCBcXFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH0gLy8gUHJvY2VlZCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgYSBjbGFzcyBpbnN0YW5jZVxcblxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhyb3cgb3V0IGFueSBob29rcyB0aGF0IHdlcmUgdXNlZC5cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDsgLy8gUHVzaCBjb250ZXh0IHByb3ZpZGVycyBlYXJseSB0byBwcmV2ZW50IGNvbnRleHQgc3RhY2sgbWlzbWF0Y2hlcy5cXG4gICAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxcbiAgICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXFxuXFxuICAgIHZhciBoYXNDb250ZXh0ID0gZmFsc2U7XFxuXFxuICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XFxuICAgICAgaGFzQ29udGV4dCA9IHRydWU7XFxuICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaGFzQ29udGV4dCA9IGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSB2YWx1ZS5zdGF0ZSAhPT0gbnVsbCAmJiB2YWx1ZS5zdGF0ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUuc3RhdGUgOiBudWxsO1xcbiAgICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xcbiAgICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gQ29tcG9uZW50LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcXG5cXG4gICAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIHByb3BzKTtcXG4gICAgfVxcblxcbiAgICBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIHZhbHVlKTtcXG4gICAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHJldHVybiBmaW5pc2hDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlLCBoYXNDb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGZ1bmN0aW9uIGNvbXBvbmVudFxcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDtcXG5cXG4gICAge1xcblxcbiAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcXG4gICAgICAgIC8vIE9ubHkgZG91YmxlLXJlbmRlciBjb21wb25lbnRzIHdpdGggSG9va3NcXG4gICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJlY29uY2lsZUNoaWxkcmVuKG51bGwsIHdvcmtJblByb2dyZXNzLCB2YWx1ZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICB7XFxuICAgICAgdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcXG4gIHtcXG4gICAgaWYgKENvbXBvbmVudCkge1xcbiAgICAgIGlmIChDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMpIHtcXG4gICAgICAgIGVycm9yKCclcyguLi4pOiBjaGlsZENvbnRleHRUeXBlcyBjYW5ub3QgYmUgZGVmaW5lZCBvbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4nLCBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XFxuICAgICAgdmFyIGluZm8gPSAnJztcXG4gICAgICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcXG5cXG4gICAgICBpZiAob3duZXJOYW1lKSB7XFxuICAgICAgICBpbmZvICs9ICdcXFxcblxcXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBvd25lck5hbWUgKyAnYC4nO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgd2FybmluZ0tleSA9IG93bmVyTmFtZSB8fCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdJRCB8fCAnJztcXG4gICAgICB2YXIgZGVidWdTb3VyY2UgPSB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2U7XFxuXFxuICAgICAgaWYgKGRlYnVnU291cmNlKSB7XFxuICAgICAgICB3YXJuaW5nS2V5ID0gZGVidWdTb3VyY2UuZmlsZU5hbWUgKyAnOicgKyBkZWJ1Z1NvdXJjZS5saW5lTnVtYmVyO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xcbiAgICAgICAgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzW3dhcm5pbmdLZXldID0gdHJ1ZTtcXG5cXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgdmFyIF9jb21wb25lbnROYW1lMiA9IGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lMl0pIHtcXG4gICAgICAgIGVycm9yKCclczogRnVuY3Rpb24gY29tcG9uZW50cyBkbyBub3Qgc3VwcG9ydCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuJywgX2NvbXBvbmVudE5hbWUyKTtcXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBDb21wb25lbnQuY29udGV4dFR5cGUgIT09IG51bGwpIHtcXG4gICAgICB2YXIgX2NvbXBvbmVudE5hbWUzID0gZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdKSB7XFxuICAgICAgICBlcnJvcignJXM6IEZ1bmN0aW9uIGNvbXBvbmVudHMgZG8gbm90IHN1cHBvcnQgY29udGV4dFR5cGUuJywgX2NvbXBvbmVudE5hbWUzKTtcXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdID0gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIFNVU1BFTkRFRF9NQVJLRVIgPSB7XFxuICBkZWh5ZHJhdGVkOiBudWxsLFxcbiAgcmV0cnlUaW1lOiBOb1dvcmtcXG59O1xcblxcbmZ1bmN0aW9uIHNob3VsZFJlbWFpbk9uRmFsbGJhY2soc3VzcGVuc2VDb250ZXh0LCBjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xcbiAgLy8gSWYgdGhlIGNvbnRleHQgaXMgdGVsbGluZyB1cyB0aGF0IHdlIHNob3VsZCBzaG93IGEgZmFsbGJhY2ssIGFuZCB3ZSdyZSBub3RcXG4gIC8vIGFscmVhZHkgc2hvd2luZyBjb250ZW50LCB0aGVuIHdlIHNob3VsZCBzaG93IHRoZSBmYWxsYmFjayBpbnN0ZWFkLlxcbiAgcmV0dXJuIGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjaykgJiYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgbW9kZSA9IHdvcmtJblByb2dyZXNzLm1vZGU7XFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBUaGlzIGlzIHVzZWQgYnkgRGV2VG9vbHMgdG8gZm9yY2UgYSBib3VuZGFyeSB0byBzdXNwZW5kLlxcblxcbiAge1xcbiAgICBpZiAoc2hvdWxkU3VzcGVuZCh3b3JrSW5Qcm9ncmVzcykpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHN1c3BlbnNlQ29udGV4dCA9IHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudDtcXG4gIHZhciBuZXh0RGlkVGltZW91dCA9IGZhbHNlO1xcbiAgdmFyIGRpZFN1c3BlbmQgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcblxcbiAgaWYgKGRpZFN1c3BlbmQgfHwgc2hvdWxkUmVtYWluT25GYWxsYmFjayhzdXNwZW5zZUNvbnRleHQsIGN1cnJlbnQpKSB7XFxuICAgIC8vIFNvbWV0aGluZyBpbiB0aGlzIGJvdW5kYXJ5J3Mgc3VidHJlZSBhbHJlYWR5IHN1c3BlbmRlZC4gU3dpdGNoIHRvXFxuICAgIC8vIHJlbmRlcmluZyB0aGUgZmFsbGJhY2sgY2hpbGRyZW4uXFxuICAgIG5leHREaWRUaW1lb3V0ID0gdHJ1ZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICY9IH5EaWRDYXB0dXJlO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQXR0ZW1wdGluZyB0aGUgbWFpbiBjb250ZW50XFxuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQgb3IgdGhpcyBib3VuZGFyeSBpcyBhbHJlYWR5IHNob3dpbmcgYSBmYWxsYmFjayBzdGF0ZS5cXG4gICAgICAvLyBNYXJrIHRoaXMgc3VidHJlZSBjb250ZXh0IGFzIGhhdmluZyBhdCBsZWFzdCBvbmUgaW52aXNpYmxlIHBhcmVudCB0aGF0IGNvdWxkXFxuICAgICAgLy8gaGFuZGxlIHRoZSBmYWxsYmFjayBzdGF0ZS5cXG4gICAgICAvLyBCb3VuZGFyaWVzIHdpdGhvdXQgZmFsbGJhY2tzIG9yIHNob3VsZCBiZSBhdm9pZGVkIGFyZSBub3QgY29uc2lkZXJlZCBzaW5jZVxcbiAgICAgIC8vIHRoZXkgY2Fubm90IGhhbmRsZSBwcmVmZXJyZWQgZmFsbGJhY2sgc3RhdGVzLlxcbiAgICAgIGlmIChuZXh0UHJvcHMuZmFsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBuZXh0UHJvcHMudW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgIT09IHRydWUpIHtcXG4gICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcXG4gIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIFRoaXMgbmV4dCBwYXJ0IGlzIGEgYml0IGNvbmZ1c2luZy4gSWYgdGhlIGNoaWxkcmVuIHRpbWVvdXQsIHdlIHN3aXRjaCB0b1xcbiAgLy8gc2hvd2luZyB0aGUgZmFsbGJhY2sgY2hpbGRyZW4gaW4gcGxhY2Ugb2YgdGhlIFxcXCJwcmltYXJ5XFxcIiBjaGlsZHJlbi5cXG4gIC8vIEhvd2V2ZXIsIHdlIGRvbid0IHdhbnQgdG8gZGVsZXRlIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGJlY2F1c2UgdGhlbiB0aGVpclxcbiAgLy8gc3RhdGUgd2lsbCBiZSBsb3N0IChib3RoIHRoZSBSZWFjdCBzdGF0ZSBhbmQgdGhlIGhvc3Qgc3RhdGUsIGUuZy5cXG4gIC8vIHVuY29udHJvbGxlZCBmb3JtIGlucHV0cykuIEluc3RlYWQgd2Uga2VlcCB0aGVtIG1vdW50ZWQgYW5kIGhpZGUgdGhlbS5cXG4gIC8vIEJvdGggdGhlIGZhbGxiYWNrIGNoaWxkcmVuIEFORCB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhcmUgcmVuZGVyZWQgYXQgdGhlXFxuICAvLyBzYW1lIHRpbWUuIE9uY2UgdGhlIHByaW1hcnkgY2hpbGRyZW4gYXJlIHVuLXN1c3BlbmRlZCwgd2UgY2FuIGRlbGV0ZVxcbiAgLy8gdGhlIGZhbGxiYWNrIGNoaWxkcmVuIOKAlCBkb24ndCBuZWVkIHRvIHByZXNlcnZlIHRoZWlyIHN0YXRlLlxcbiAgLy9cXG4gIC8vIFRoZSB0d28gc2V0cyBvZiBjaGlsZHJlbiBhcmUgc2libGluZ3MgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQsIGJ1dFxcbiAgLy8gc2VtYW50aWNhbGx5LCBmb3IgcHVycG9zZXMgb2YgcmVjb25jaWxpYXRpb24sIHRoZXkgYXJlIHR3byBzZXBhcmF0ZSBzZXRzLlxcbiAgLy8gU28gd2Ugc3RvcmUgdGhlbSB1c2luZyB0d28gZnJhZ21lbnQgZmliZXJzLlxcbiAgLy9cXG4gIC8vIEhvd2V2ZXIsIHdlIHdhbnQgdG8gYXZvaWQgYWxsb2NhdGluZyBleHRyYSBmaWJlcnMgZm9yIGV2ZXJ5IHBsYWNlaG9sZGVyLlxcbiAgLy8gVGhleSdyZSBvbmx5IG5lY2Vzc2FyeSB3aGVuIHRoZSBjaGlsZHJlbiB0aW1lIG91dCwgYmVjYXVzZSB0aGF0J3MgdGhlXFxuICAvLyBvbmx5IHRpbWUgd2hlbiBib3RoIHNldHMgYXJlIG1vdW50ZWQuXFxuICAvL1xcbiAgLy8gU28sIHRoZSBleHRyYSBmcmFnbWVudCBmaWJlcnMgYXJlIG9ubHkgdXNlZCBpZiB0aGUgY2hpbGRyZW4gdGltZSBvdXQuXFxuICAvLyBPdGhlcndpc2UsIHdlIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBkaXJlY3RseS4gVGhpcyByZXF1aXJlcyBzb21lXFxuICAvLyBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMgdG8gcHJlc2VydmUgdGhlIHN0YXRlIG9mIHRoZSBwcmltYXJ5XFxuICAvLyBjaGlsZHJlbi4gSXQncyBlc3NlbnRpYWxseSBhIHZlcnkgYmFzaWMgZm9ybSBvZiByZS1wYXJlbnRpbmcuXFxuXFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICAvLyBJZiB3ZSdyZSBjdXJyZW50bHkgaHlkcmF0aW5nLCB0cnkgdG8gaHlkcmF0ZSB0aGlzIGJvdW5kYXJ5LlxcbiAgICAvLyBCdXQgb25seSBpZiB0aGlzIGhhcyBhIGZhbGxiYWNrLlxcbiAgICBpZiAobmV4dFByb3BzLmZhbGxiYWNrICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7IC8vIFRoaXMgY291bGQndmUgYmVlbiBhIGRlaHlkcmF0ZWQgc3VzcGVuc2UgY29tcG9uZW50LlxcbiAgICB9IC8vIFRoaXMgaXMgdGhlIGluaXRpYWwgbW91bnQuIFRoaXMgYnJhbmNoIGlzIHByZXR0eSBzaW1wbGUgYmVjYXVzZSB0aGVyZSdzXFxuICAgIC8vIG5vIHByZXZpb3VzIHN0YXRlIHRoYXQgbmVlZHMgdG8gYmUgcHJlc2VydmVkLlxcblxcblxcbiAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcXG4gICAgICAvLyBNb3VudCBzZXBhcmF0ZSBmcmFnbWVudHMgZm9yIHByaW1hcnkgYW5kIGZhbGxiYWNrIGNoaWxkcmVuLlxcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcXG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChudWxsLCBtb2RlLCBOb1dvcmssIG51bGwpO1xcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcblxcbiAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xcbiAgICAgICAgLy8gT3V0c2lkZSBvZiBibG9ja2luZyBtb2RlLCB3ZSBjb21taXQgdGhlIGVmZmVjdHMgZnJvbSB0aGVcXG4gICAgICAgIC8vIHBhcnRpYWxseSBjb21wbGV0ZWQsIHRpbWVkLW91dCB0cmVlLCB0b28uXFxuICAgICAgICB2YXIgcHJvZ3Jlc3NlZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gICAgICAgIHZhciBwcm9ncmVzc2VkUHJpbWFyeUNoaWxkID0gcHJvZ3Jlc3NlZFN0YXRlICE9PSBudWxsID8gd29ya0luUHJvZ3Jlc3MuY2hpbGQuY2hpbGQgOiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LmNoaWxkID0gcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDtcXG4gICAgICAgIHZhciBwcm9ncmVzc2VkQ2hpbGQgPSBwcm9ncmVzc2VkUHJpbWFyeUNoaWxkO1xcblxcbiAgICAgICAgd2hpbGUgKHByb2dyZXNzZWRDaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBwcm9ncmVzc2VkQ2hpbGQucmV0dXJuID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XFxuICAgICAgICAgIHByb2dyZXNzZWRDaGlsZCA9IHByb2dyZXNzZWRDaGlsZC5zaWJsaW5nO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQobmV4dEZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lLCBudWxsKTtcXG4gICAgICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDsgLy8gU2tpcCB0aGUgcHJpbWFyeSBjaGlsZHJlbiwgYW5kIGNvbnRpbnVlIHdvcmtpbmcgb24gdGhlXFxuICAgICAgLy8gZmFsbGJhY2sgY2hpbGRyZW4uXFxuXFxuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcXG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIE1vdW50IHRoZSBwcmltYXJ5IGNoaWxkcmVuIHdpdGhvdXQgYW4gaW50ZXJtZWRpYXRlIGZyYWdtZW50IGZpYmVyLlxcbiAgICAgIHZhciBuZXh0UHJpbWFyeUNoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRQcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgLy8gVGhpcyBpcyBhbiB1cGRhdGUuIFRoaXMgYnJhbmNoIGlzIG1vcmUgY29tcGxpY2F0ZWQgYmVjYXVzZSB3ZSBuZWVkIHRvXFxuICAgIC8vIGVuc3VyZSB0aGUgc3RhdGUgb2YgdGhlIHByaW1hcnkgY2hpbGRyZW4gaXMgcHJlc2VydmVkLlxcbiAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcblxcbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgLy8gd3JhcHBlZCBpbiBhIGZyYWdtZW50IGZpYmVyLlxcblxcblxcbiAgICAgIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xcbiAgICAgIHZhciBjdXJyZW50RmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnNpYmxpbmc7XFxuXFxuICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XFxuICAgICAgICAvLyBTdGlsbCB0aW1lZCBvdXQuIFJldXNlIHRoZSBjdXJyZW50IHByaW1hcnkgY2hpbGRyZW4gYnkgY2xvbmluZ1xcbiAgICAgICAgLy8gaXRzIGZyYWdtZW50LiBXZSdyZSBnb2luZyB0byBza2lwIG92ZXIgdGhlc2UgZW50aXJlbHkuXFxuICAgICAgICB2YXIgX25leHRGYWxsYmFja0NoaWxkcmVuMiA9IG5leHRQcm9wcy5mYWxsYmFjaztcXG5cXG4gICAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LCBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzKTtcXG5cXG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XFxuXFxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcXG4gICAgICAgICAgLy8gT3V0c2lkZSBvZiBibG9ja2luZyBtb2RlLCB3ZSBjb21taXQgdGhlIGVmZmVjdHMgZnJvbSB0aGVcXG4gICAgICAgICAgLy8gcGFydGlhbGx5IGNvbXBsZXRlZCwgdGltZWQtb3V0IHRyZWUsIHRvby5cXG4gICAgICAgICAgdmFyIF9wcm9ncmVzc2VkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAgICAgICAgICB2YXIgX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQgPSBfcHJvZ3Jlc3NlZFN0YXRlICE9PSBudWxsID8gd29ya0luUHJvZ3Jlc3MuY2hpbGQuY2hpbGQgOiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gICAgICAgICAgaWYgKF9wcm9ncmVzc2VkUHJpbWFyeUNoaWxkICE9PSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGQpIHtcXG4gICAgICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkID0gX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQ7XFxuICAgICAgICAgICAgdmFyIF9wcm9ncmVzc2VkQ2hpbGQyID0gX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQ7XFxuXFxuICAgICAgICAgICAgd2hpbGUgKF9wcm9ncmVzc2VkQ2hpbGQyICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgICBfcHJvZ3Jlc3NlZENoaWxkMi5yZXR1cm4gPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyO1xcbiAgICAgICAgICAgICAgX3Byb2dyZXNzZWRDaGlsZDIgPSBfcHJvZ3Jlc3NlZENoaWxkMi5zaWJsaW5nO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgfSAvLyBCZWNhdXNlIHByaW1hcnlDaGlsZEZyYWdtZW50IGlzIGEgbmV3IGZpYmVyIHRoYXQgd2UncmUgaW5zZXJ0aW5nIGFzIHRoZVxcbiAgICAgICAgLy8gcGFyZW50IG9mIGEgbmV3IHRyZWUsIHdlIG5lZWQgdG8gc2V0IGl0cyB0cmVlQmFzZUR1cmF0aW9uLlxcblxcblxcbiAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpIHtcXG4gICAgICAgICAgLy8gdHJlZUJhc2VEdXJhdGlvbiBpcyB0aGUgc3VtIG9mIGFsbCB0aGUgY2hpbGQgdHJlZSBiYXNlIGR1cmF0aW9ucy5cXG4gICAgICAgICAgdmFyIF90cmVlQmFzZUR1cmF0aW9uID0gMDtcXG4gICAgICAgICAgdmFyIF9oaWRkZW5DaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuY2hpbGQ7XFxuXFxuICAgICAgICAgIHdoaWxlIChfaGlkZGVuQ2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBfdHJlZUJhc2VEdXJhdGlvbiArPSBfaGlkZGVuQ2hpbGQudHJlZUJhc2VEdXJhdGlvbjtcXG4gICAgICAgICAgICBfaGlkZGVuQ2hpbGQgPSBfaGlkZGVuQ2hpbGQuc2libGluZztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLnRyZWVCYXNlRHVyYXRpb24gPSBfdHJlZUJhc2VEdXJhdGlvbjtcXG4gICAgICAgIH0gLy8gQ2xvbmUgdGhlIGZhbGxiYWNrIGNoaWxkIGZyYWdtZW50LCB0b28uIFRoZXNlIHdlJ2xsIGNvbnRpbnVlXFxuICAgICAgICAvLyB3b3JraW5nIG9uLlxcblxcblxcbiAgICAgICAgdmFyIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQyID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCwgX25leHRGYWxsYmFja0NoaWxkcmVuMik7XFxuXFxuICAgICAgICBfZmFsbGJhY2tDaGlsZEZyYWdtZW50Mi5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuc2libGluZyA9IF9mYWxsYmFja0NoaWxkRnJhZ21lbnQyO1xcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50Mi5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrOyAvLyBTa2lwIHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBhbmQgY29udGludWUgd29ya2luZyBvbiB0aGVcXG4gICAgICAgIC8vIGZhbGxiYWNrIGNoaWxkcmVuLlxcblxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDI7XFxuICAgICAgICByZXR1cm4gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDI7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIE5vIGxvbmdlciBzdXNwZW5kZWQuIFN3aXRjaCBiYWNrIHRvIHNob3dpbmcgdGhlIHByaW1hcnkgY2hpbGRyZW4sXFxuICAgICAgICAvLyBhbmQgcmVtb3ZlIHRoZSBpbnRlcm1lZGlhdGUgZnJhZ21lbnQgZmliZXIuXFxuICAgICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XFxuICAgICAgICB2YXIgY3VycmVudFByaW1hcnlDaGlsZCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5jaGlsZDtcXG4gICAgICAgIHZhciBwcmltYXJ5Q2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudFByaW1hcnlDaGlsZCwgX25leHRQcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gSWYgdGhpcyByZW5kZXIgZG9lc24ndCBzdXNwZW5kLCB3ZSBuZWVkIHRvIGRlbGV0ZSB0aGUgZmFsbGJhY2tcXG4gICAgICAgIC8vIGNoaWxkcmVuLiBXYWl0IHVudGlsIHRoZSBjb21wbGV0ZSBwaGFzZSwgYWZ0ZXIgd2UndmUgY29uZmlybWVkIHRoZVxcbiAgICAgICAgLy8gZmFsbGJhY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZC5cXG4gICAgICAgIC8vIFRPRE86IFdvdWxkIGl0IGJlIGJldHRlciB0byBzdG9yZSB0aGUgZmFsbGJhY2sgZnJhZ21lbnQgb25cXG4gICAgICAgIC8vIHRoZSBzdGF0ZU5vZGU/XFxuICAgICAgICAvLyBDb250aW51ZSByZW5kZXJpbmcgdGhlIGNoaWxkcmVuLCBsaWtlIHdlIG5vcm1hbGx5IGRvLlxcblxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGQ7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFRoZSBjdXJyZW50IHRyZWUgaGFzIG5vdCBhbHJlYWR5IHRpbWVkIG91dC4gVGhhdCBtZWFucyB0aGUgcHJpbWFyeVxcbiAgICAgIC8vIGNoaWxkcmVuIGFyZSBub3Qgd3JhcHBlZCBpbiBhIGZyYWdtZW50IGZpYmVyLlxcbiAgICAgIHZhciBfY3VycmVudFByaW1hcnlDaGlsZCA9IGN1cnJlbnQuY2hpbGQ7XFxuXFxuICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XFxuICAgICAgICAvLyBUaW1lZCBvdXQuIFdyYXAgdGhlIGNoaWxkcmVuIGluIGEgZnJhZ21lbnQgZmliZXIgdG8ga2VlcCB0aGVtXFxuICAgICAgICAvLyBzZXBhcmF0ZSBmcm9tIHRoZSBmYWxsYmFjayBjaGlsZHJlbi5cXG4gICAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4zID0gbmV4dFByb3BzLmZhbGxiYWNrO1xcblxcbiAgICAgICAgdmFyIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudCggLy8gSXQgc2hvdWxkbid0IG1hdHRlciB3aGF0IHRoZSBwZW5kaW5nIHByb3BzIGFyZSBiZWNhdXNlIHdlIGFyZW4ndFxcbiAgICAgICAgLy8gZ29pbmcgdG8gcmVuZGVyIHRoaXMgZnJhZ21lbnQuXFxuICAgICAgICBudWxsLCBtb2RlLCBOb1dvcmssIG51bGwpO1xcblxcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQgPSBfY3VycmVudFByaW1hcnlDaGlsZDtcXG5cXG4gICAgICAgIGlmIChfY3VycmVudFByaW1hcnlDaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBfY3VycmVudFByaW1hcnlDaGlsZC5yZXR1cm4gPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xcbiAgICAgICAgfSAvLyBFdmVuIHRob3VnaCB3ZSdyZSBjcmVhdGluZyBhIG5ldyBmaWJlciwgdGhlcmUgYXJlIG5vIG5ldyBjaGlsZHJlbixcXG4gICAgICAgIC8vIGJlY2F1c2Ugd2UncmUgcmV1c2luZyBhbiBhbHJlYWR5IG1vdW50ZWQgdHJlZS4gU28gd2UgZG9uJ3QgbmVlZCB0b1xcbiAgICAgICAgLy8gc2NoZWR1bGUgYSBwbGFjZW1lbnQuXFxuICAgICAgICAvLyBwcmltYXJ5Q2hpbGRGcmFnbWVudC5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xcblxcblxcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQmxvY2tpbmdNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgICAgICAgIC8vIE91dHNpZGUgb2YgYmxvY2tpbmcgbW9kZSwgd2UgY29tbWl0IHRoZSBlZmZlY3RzIGZyb20gdGhlXFxuICAgICAgICAgIC8vIHBhcnRpYWxseSBjb21wbGV0ZWQsIHRpbWVkLW91dCB0cmVlLCB0b28uXFxuICAgICAgICAgIHZhciBfcHJvZ3Jlc3NlZFN0YXRlMiA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgICAgICAgIHZhciBfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDIgPSBfcHJvZ3Jlc3NlZFN0YXRlMiAhPT0gbnVsbCA/IHdvcmtJblByb2dyZXNzLmNoaWxkLmNoaWxkIDogd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuXFxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQgPSBfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDI7XFxuICAgICAgICAgIHZhciBfcHJvZ3Jlc3NlZENoaWxkMyA9IF9wcm9ncmVzc2VkUHJpbWFyeUNoaWxkMjtcXG5cXG4gICAgICAgICAgd2hpbGUgKF9wcm9ncmVzc2VkQ2hpbGQzICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgX3Byb2dyZXNzZWRDaGlsZDMucmV0dXJuID0gX3ByaW1hcnlDaGlsZEZyYWdtZW50MztcXG4gICAgICAgICAgICBfcHJvZ3Jlc3NlZENoaWxkMyA9IF9wcm9ncmVzc2VkQ2hpbGQzLnNpYmxpbmc7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0gLy8gQmVjYXVzZSBwcmltYXJ5Q2hpbGRGcmFnbWVudCBpcyBhIG5ldyBmaWJlciB0aGF0IHdlJ3JlIGluc2VydGluZyBhcyB0aGVcXG4gICAgICAgIC8vIHBhcmVudCBvZiBhIG5ldyB0cmVlLCB3ZSBuZWVkIHRvIHNldCBpdHMgdHJlZUJhc2VEdXJhdGlvbi5cXG5cXG5cXG4gICAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSB7XFxuICAgICAgICAgIC8vIHRyZWVCYXNlRHVyYXRpb24gaXMgdGhlIHN1bSBvZiBhbGwgdGhlIGNoaWxkIHRyZWUgYmFzZSBkdXJhdGlvbnMuXFxuICAgICAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbjIgPSAwO1xcbiAgICAgICAgICB2YXIgX2hpZGRlbkNoaWxkMiA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQ7XFxuXFxuICAgICAgICAgIHdoaWxlIChfaGlkZGVuQ2hpbGQyICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgX3RyZWVCYXNlRHVyYXRpb24yICs9IF9oaWRkZW5DaGlsZDIudHJlZUJhc2VEdXJhdGlvbjtcXG4gICAgICAgICAgICBfaGlkZGVuQ2hpbGQyID0gX2hpZGRlbkNoaWxkMi5zaWJsaW5nO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMudHJlZUJhc2VEdXJhdGlvbiA9IF90cmVlQmFzZUR1cmF0aW9uMjtcXG4gICAgICAgIH0gLy8gQ3JlYXRlIGEgZnJhZ21lbnQgZnJvbSB0aGUgZmFsbGJhY2sgY2hpbGRyZW4sIHRvby5cXG5cXG5cXG4gICAgICAgIHZhciBfZmFsbGJhY2tDaGlsZEZyYWdtZW50MyA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KF9uZXh0RmFsbGJhY2tDaGlsZHJlbjMsIG1vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lLCBudWxsKTtcXG5cXG4gICAgICAgIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQzLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5zaWJsaW5nID0gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDM7XFxuICAgICAgICBfZmFsbGJhY2tDaGlsZEZyYWdtZW50My5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrOyAvLyBTa2lwIHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBhbmQgY29udGludWUgd29ya2luZyBvbiB0aGVcXG4gICAgICAgIC8vIGZhbGxiYWNrIGNoaWxkcmVuLlxcblxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDM7XFxuICAgICAgICByZXR1cm4gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDM7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIFN0aWxsIGhhdmVuJ3QgdGltZWQgb3V0LiBDb250aW51ZSByZW5kZXJpbmcgdGhlIGNoaWxkcmVuLCBsaWtlIHdlXFxuICAgICAgICAvLyBub3JtYWxseSBkby5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgICAgICAgdmFyIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcXG4gICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBfY3VycmVudFByaW1hcnlDaGlsZCwgX25leHRQcmltYXJ5Q2hpbGRyZW4yLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHNjaGVkdWxlV29ya09uRmliZXIoZmliZXIsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICBmaWJlci5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgfVxcblxcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcXG5cXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICB9XFxuXFxuICBzY2hlZHVsZVdvcmtPblBhcmVudFBhdGgoZmliZXIucmV0dXJuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxufVxcblxcbmZ1bmN0aW9uIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgZmlyc3RDaGlsZCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIE1hcmsgYW55IFN1c3BlbnNlIGJvdW5kYXJpZXMgd2l0aCBmYWxsYmFja3MgYXMgaGF2aW5nIHdvcmsgdG8gZG8uXFxuICAvLyBJZiB0aGV5IHdlcmUgcHJldmlvdXNseSBmb3JjZWQgaW50byBmYWxsYmFja3MsIHRoZXkgbWF5IG5vdyBiZSBhYmxlXFxuICAvLyB0byB1bmJsb2NrLlxcbiAgdmFyIG5vZGUgPSBmaXJzdENoaWxkO1xcblxcbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcXG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xcbiAgICAgIHZhciBzdGF0ZSA9IG5vZGUubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgIHNjaGVkdWxlV29ya09uRmliZXIobm9kZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VMaXN0Q29tcG9uZW50KSB7XFxuICAgICAgLy8gSWYgdGhlIHRhaWwgaXMgaGlkZGVuIHRoZXJlIG1pZ2h0IG5vdCBiZSBhbiBTdXNwZW5zZSBib3VuZGFyaWVzXFxuICAgICAgLy8gdG8gc2NoZWR1bGUgd29yayBvbi4gSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgb24gdGhlXFxuICAgICAgLy8gbGlzdCBpdHNlbGYuXFxuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byB0cmF2ZXJzZSB0byB0aGUgY2hpbGRyZW4gb2YgdGhlIGxpc3Qgc2luY2VcXG4gICAgICAvLyB0aGUgbGlzdCB3aWxsIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIHdoZW4gaXQgcmVyZW5kZXJzLlxcbiAgICAgIHNjaGVkdWxlV29ya09uRmliZXIobm9kZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfVxcblxcbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZpbmRMYXN0Q29udGVudFJvdyhmaXJzdENoaWxkKSB7XFxuICAvLyBUaGlzIGlzIGdvaW5nIHRvIGZpbmQgdGhlIGxhc3Qgcm93IGFtb25nIHRoZXNlIGNoaWxkcmVuIHRoYXQgaXMgYWxyZWFkeVxcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcXG4gIC8vIG5ldy4gSWYgYSByb3cgaGFzIG11bHRpcGxlIFN1c3BlbnNlIGJvdW5kYXJpZXMsIGFueSBvZiB0aGVtIGJlaW5nIGluIHRoZVxcbiAgLy8gZmFsbGJhY2sgc3RhdGUsIGNvdW50cyBhcyB0aGUgd2hvbGUgcm93IGJlaW5nIGluIGEgZmFsbGJhY2sgc3RhdGUuXFxuICAvLyBOb3RlIHRoYXQgdGhlIFxcXCJyb3dzXFxcIiB3aWxsIGJlIHdvcmtJblByb2dyZXNzLCBidXQgYW55IG5lc3RlZCBjaGlsZHJlblxcbiAgLy8gd2lsbCBzdGlsbCBiZSBjdXJyZW50IHNpbmNlIHdlIGhhdmVuJ3QgcmVuZGVyZWQgdGhlbSB5ZXQuIFRoZSBtb3VudGVkXFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxcbiAgdmFyIHJvdyA9IGZpcnN0Q2hpbGQ7XFxuICB2YXIgbGFzdENvbnRlbnRSb3cgPSBudWxsO1xcblxcbiAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xcbiAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cXG5cXG4gICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XFxuICAgICAgbGFzdENvbnRlbnRSb3cgPSByb3c7XFxuICAgIH1cXG5cXG4gICAgcm93ID0gcm93LnNpYmxpbmc7XFxuICB9XFxuXFxuICByZXR1cm4gbGFzdENvbnRlbnRSb3c7XFxufVxcblxcbmZ1bmN0aW9uIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpIHtcXG4gIHtcXG4gICAgaWYgKHJldmVhbE9yZGVyICE9PSB1bmRlZmluZWQgJiYgcmV2ZWFsT3JkZXIgIT09ICdmb3J3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICdiYWNrd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAndG9nZXRoZXInICYmICFkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcltyZXZlYWxPcmRlcl0pIHtcXG4gICAgICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcltyZXZlYWxPcmRlcl0gPSB0cnVlO1xcblxcbiAgICAgIGlmICh0eXBlb2YgcmV2ZWFsT3JkZXIgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgICBzd2l0Y2ggKHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpIHtcXG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxcbiAgICAgICAgICBjYXNlICdmb3J3YXJkcyc6XFxuICAgICAgICAgIGNhc2UgJ2JhY2t3YXJkcyc6XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgZXJyb3IoJ1xcXCIlc1xcXCIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnVXNlIGxvd2VyY2FzZSBcXFwiJXNcXFwiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xcblxcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICBjYXNlICdmb3J3YXJkJzpcXG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGVycm9yKCdcXFwiJXNcXFwiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcXFwiJXNzXFxcIiBpbnN0ZWFkLicsIHJldmVhbE9yZGVyLCByZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKTtcXG5cXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgZGVmYXVsdDpcXG4gICAgICAgICAgICBlcnJvcignXFxcIiVzXFxcIiBpcyBub3QgYSBzdXBwb3J0ZWQgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXFxcInRvZ2V0aGVyXFxcIiwgXFxcImZvcndhcmRzXFxcIiBvciBcXFwiYmFja3dhcmRzXFxcIj8nLCByZXZlYWxPcmRlcik7XFxuXFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGVycm9yKCclcyBpcyBub3QgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFxcXCJ0b2dldGhlclxcXCIsIFxcXCJmb3J3YXJkc1xcXCIgb3IgXFxcImJhY2t3YXJkc1xcXCI/JywgcmV2ZWFsT3JkZXIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcikge1xcbiAge1xcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XFxuICAgICAgaWYgKHRhaWxNb2RlICE9PSAnY29sbGFwc2VkJyAmJiB0YWlsTW9kZSAhPT0gJ2hpZGRlbicpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dFRhaWxPcHRpb25zW3RhaWxNb2RlXSA9IHRydWU7XFxuXFxuICAgICAgICBlcnJvcignXFxcIiVzXFxcIiBpcyBub3QgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIHRhaWwgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXFxcImNvbGxhcHNlZFxcXCIgb3IgXFxcImhpZGRlblxcXCI/JywgdGFpbE1vZGUpO1xcbiAgICAgIH0gZWxzZSBpZiAocmV2ZWFsT3JkZXIgIT09ICdmb3J3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICdiYWNrd2FyZHMnKSB7XFxuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJzxTdXNwZW5zZUxpc3QgdGFpbD1cXFwiJXNcXFwiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcXFwiZm9yd2FyZHNcXFwiIG9yIFxcXCJiYWNrd2FyZHNcXFwiLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBzcGVjaWZ5IHJldmVhbE9yZGVyPVxcXCJmb3J3YXJkc1xcXCI/JywgdGFpbE1vZGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcXG4gIHtcXG4gICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNoaWxkU2xvdCk7XFxuICAgIHZhciBpc0l0ZXJhYmxlID0gIWlzQXJyYXkgJiYgdHlwZW9mIGdldEl0ZXJhdG9yRm4oY2hpbGRTbG90KSA9PT0gJ2Z1bmN0aW9uJztcXG5cXG4gICAgaWYgKGlzQXJyYXkgfHwgaXNJdGVyYWJsZSkge1xcbiAgICAgIHZhciB0eXBlID0gaXNBcnJheSA/ICdhcnJheScgOiAnaXRlcmFibGUnO1xcblxcbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xcblxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcblxcbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XFxuICB7XFxuICAgIGlmICgocmV2ZWFsT3JkZXIgPT09ICdmb3J3YXJkcycgfHwgcmV2ZWFsT3JkZXIgPT09ICdiYWNrd2FyZHMnKSAmJiBjaGlsZHJlbiAhPT0gdW5kZWZpbmVkICYmIGNoaWxkcmVuICE9PSBudWxsICYmIGNoaWxkcmVuICE9PSBmYWxzZSkge1xcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICBpZiAoIXZhbGlkYXRlU3VzcGVuc2VMaXN0TmVzdGVkQ2hpbGQoY2hpbGRyZW5baV0sIGkpKSB7XFxuICAgICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XFxuXFxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgdmFyIGNoaWxkcmVuSXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwoY2hpbGRyZW4pO1xcblxcbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xcbiAgICAgICAgICAgIHZhciBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCk7XFxuICAgICAgICAgICAgdmFyIF9pID0gMDtcXG5cXG4gICAgICAgICAgICBmb3IgKDsgIXN0ZXAuZG9uZTsgc3RlcCA9IGNoaWxkcmVuSXRlcmF0b3IubmV4dCgpKSB7XFxuICAgICAgICAgICAgICBpZiAoIXZhbGlkYXRlU3VzcGVuc2VMaXN0TmVzdGVkQ2hpbGQoc3RlcC52YWx1ZSwgX2kpKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybjtcXG4gICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgIF9pKys7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBlcnJvcignQSBzaW5nbGUgcm93IHdhcyBwYXNzZWQgdG8gYSA8U3VzcGVuc2VMaXN0IHJldmVhbE9yZGVyPVxcXCIlc1xcXCIgLz4uICcgKyAnVGhpcyBpcyBub3QgdXNlZnVsIHNpbmNlIGl0IG5lZWRzIG11bHRpcGxlIHJvd3MuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHBhc3MgbXVsdGlwbGUgY2hpbGRyZW4gb3IgYW4gYXJyYXk/JywgcmV2ZWFsT3JkZXIpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUsIGxhc3RFZmZlY3RCZWZvcmVSZW5kZXJpbmcpIHtcXG4gIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuXFxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IHtcXG4gICAgICBpc0JhY2t3YXJkczogaXNCYWNrd2FyZHMsXFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxcbiAgICAgIHJlbmRlcmluZ1N0YXJ0VGltZTogMCxcXG4gICAgICBsYXN0OiBsYXN0Q29udGVudFJvdyxcXG4gICAgICB0YWlsOiB0YWlsLFxcbiAgICAgIHRhaWxFeHBpcmF0aW9uOiAwLFxcbiAgICAgIHRhaWxNb2RlOiB0YWlsTW9kZSxcXG4gICAgICBsYXN0RWZmZWN0OiBsYXN0RWZmZWN0QmVmb3JlUmVuZGVyaW5nXFxuICAgIH07XFxuICB9IGVsc2Uge1xcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXFxuICAgIHJlbmRlclN0YXRlLmlzQmFja3dhcmRzID0gaXNCYWNrd2FyZHM7XFxuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG51bGw7XFxuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XFxuICAgIHJlbmRlclN0YXRlLmxhc3QgPSBsYXN0Q29udGVudFJvdztcXG4gICAgcmVuZGVyU3RhdGUudGFpbCA9IHRhaWw7XFxuICAgIHJlbmRlclN0YXRlLnRhaWxFeHBpcmF0aW9uID0gMDtcXG4gICAgcmVuZGVyU3RhdGUudGFpbE1vZGUgPSB0YWlsTW9kZTtcXG4gICAgcmVuZGVyU3RhdGUubGFzdEVmZmVjdCA9IGxhc3RFZmZlY3RCZWZvcmVSZW5kZXJpbmc7XFxuICB9XFxufSAvLyBUaGlzIGNhbiBlbmQgdXAgcmVuZGVyaW5nIHRoaXMgY29tcG9uZW50IG11bHRpcGxlIHBhc3Nlcy5cXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXFxuLy8gV2UgZmlyc3QgcmVuZGVyIHRoZSBoZWFkLiBJZiBhbnl0aGluZyBpcyBpbiBmYWxsYmFjayBzdGF0ZSwgd2UgZG8gYW5vdGhlclxcbi8vIHBhc3MgdGhyb3VnaCBiZWdpbldvcmsgdG8gcmVyZW5kZXIgYWxsIGNoaWxkcmVuIChpbmNsdWRpbmcgdGhlIHRhaWwpIHdpdGhcXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXFxuLy8gaW4gZmFsbGJhY2sgc3RhdGUuIFRoZW4gd2UgcmVuZGVyIGVhY2ggcm93IGluIHRoZSB0YWlsIG9uZS1ieS1vbmUuXFxuLy8gVGhhdCBoYXBwZW5zIGluIHRoZSBjb21wbGV0ZVdvcmsgcGhhc2Ugd2l0aG91dCBnb2luZyBiYWNrIHRvIGJlZ2luV29yay5cXG5cXG5cXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIHJldmVhbE9yZGVyID0gbmV4dFByb3BzLnJldmVhbE9yZGVyO1xcbiAgdmFyIHRhaWxNb2RlID0gbmV4dFByb3BzLnRhaWw7XFxuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XFxuICB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKTtcXG4gIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKTtcXG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgdmFyIHN1c3BlbnNlQ29udGV4dCA9IHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudDtcXG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcXG5cXG4gIGlmIChzaG91bGRGb3JjZUZhbGxiYWNrKSB7XFxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gY3VycmVudCAhPT0gbnVsbCAmJiAoY3VycmVudC5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSAhPT0gTm9FZmZlY3Q7XFxuXFxuICAgIGlmIChkaWRTdXNwZW5kQmVmb3JlKSB7XFxuICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSBmb3JjZWQgYSBmYWxsYmFjaywgd2UgbmVlZCB0byBzY2hlZHVsZSB3b3JrXFxuICAgICAgLy8gb24gYW55IG5lc3RlZCBib3VuZGFyaWVzIHRvIGxldCB0aGVtIGtub3cgdG8gdHJ5IHRvIHJlbmRlclxcbiAgICAgIC8vIGFnYWluLiBUaGlzIGlzIHRoZSBzYW1lIGFzIGNvbnRleHQgdXBkYXRpbmcuXFxuICAgICAgcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XFxuICB9XFxuXFxuICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xcblxcbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQmxvY2tpbmdNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgIC8vIE91dHNpZGUgb2YgYmxvY2tpbmcgbW9kZSwgU3VzcGVuc2VMaXN0IGRvZXNuJ3Qgd29yayBzbyB3ZSBqdXN0XFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICB9IGVsc2Uge1xcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XFxuICAgICAgY2FzZSAnZm9yd2FyZHMnOlxcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xcbiAgICAgICAgICB2YXIgdGFpbDtcXG5cXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XFxuICAgICAgICAgICAgLy8gVGhlIHdob2xlIGxpc3QgaXMgcGFydCBvZiB0aGUgdGFpbC5cXG4gICAgICAgICAgICAvLyBUT0RPOiBXZSBjb3VsZCBmYXN0IHBhdGggYnkganVzdCByZW5kZXJpbmcgdGhlIHRhaWwgbm93LlxcbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cXG4gICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byByZW5kZXIgdGhlbSBzZXBhcmF0ZWx5IGxhdGVyLlxcbiAgICAgICAgICAgIHRhaWwgPSBsYXN0Q29udGVudFJvdy5zaWJsaW5nO1xcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXFxuICAgICAgICAgIHRhaWwsIGxhc3RDb250ZW50Um93LCB0YWlsTW9kZSwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgJ2JhY2t3YXJkcyc6XFxuICAgICAgICB7XFxuICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIGZpbmQgdGhlIGZpcnN0IHJvdyB0aGF0IGhhcyBleGlzdGluZyBjb250ZW50LlxcbiAgICAgICAgICAvLyBBdCB0aGUgc2FtZSB0aW1lIHdlJ3JlIGdvaW5nIHRvIHJldmVyc2UgdGhlIGxpc3Qgb2YgZXZlcnl0aGluZ1xcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcXG4gICAgICAgICAgLy8gb3JkZXIuXFxuICAgICAgICAgIHZhciBfdGFpbCA9IG51bGw7XFxuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBudWxsO1xcblxcbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXFxuXFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XFxuICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1haW4gY29udGVudC5cXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcm93O1xcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XFxuICAgICAgICAgICAgcm93LnNpYmxpbmcgPSBfdGFpbDtcXG4gICAgICAgICAgICBfdGFpbCA9IHJvdztcXG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xcbiAgICAgICAgICB9IC8vIFRPRE86IElmIHdvcmtJblByb2dyZXNzLmNoaWxkIGlzIG51bGwsIHdlIGNhbiBjb250aW51ZSBvbiB0aGUgdGFpbCBpbW1lZGlhdGVseS5cXG5cXG5cXG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCB0cnVlLCAvLyBpc0JhY2t3YXJkc1xcbiAgICAgICAgICBfdGFpbCwgbnVsbCwgLy8gbGFzdFxcbiAgICAgICAgICB0YWlsTW9kZSwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgJ3RvZ2V0aGVyJzpcXG4gICAgICAgIHtcXG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcXG4gICAgICAgICAgbnVsbCwgLy8gdGFpbFxcbiAgICAgICAgICBudWxsLCAvLyBsYXN0XFxuICAgICAgICAgIHVuZGVmaW5lZCwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXFxuICAgICAgICAgIC8vIGEgYm91bmRhcnkuXFxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVBvcnRhbENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XFxuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XFxuICAgIC8vIGJ1dCBhdCBjb21taXQuIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIHRyYWNrIGluc2VydGlvbnMgd2hpY2ggdGhlIG5vcm1hbFxcbiAgICAvLyBmbG93IGRvZXNuJ3QgZG8gZHVyaW5nIG1vdW50LiBUaGlzIGRvZXNuJ3QgaGFwcGVuIGF0IHRoZSByb290IGJlY2F1c2VcXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXFxcImN1cnJlbnRcXFwiIHdpdGggYSBudWxsIGNoaWxkLlxcbiAgICAvLyBUT0RPOiBDb25zaWRlciB1bmlmeWluZyB0aGlzIHdpdGggaG93IHRoZSByb290IHdvcmtzLlxcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dFByb3ZpZGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIHByb3ZpZGVyVHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyVHlwZS5fY29udGV4dDtcXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XFxuICB2YXIgbmV3VmFsdWUgPSBuZXdQcm9wcy52YWx1ZTtcXG5cXG4gIHtcXG4gICAgdmFyIHByb3ZpZGVyUHJvcFR5cGVzID0gd29ya0luUHJvZ3Jlc3MudHlwZS5wcm9wVHlwZXM7XFxuXFxuICAgIGlmIChwcm92aWRlclByb3BUeXBlcykge1xcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3ZpZGVyUHJvcFR5cGVzLCBuZXdQcm9wcywgJ3Byb3AnLCAnQ29udGV4dC5Qcm92aWRlcicsIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICB9XFxuICB9XFxuXFxuICBwdXNoUHJvdmlkZXIod29ya0luUHJvZ3Jlc3MsIG5ld1ZhbHVlKTtcXG5cXG4gIGlmIChvbGRQcm9wcyAhPT0gbnVsbCkge1xcbiAgICB2YXIgb2xkVmFsdWUgPSBvbGRQcm9wcy52YWx1ZTtcXG4gICAgdmFyIGNoYW5nZWRCaXRzID0gY2FsY3VsYXRlQ2hhbmdlZEJpdHMoY29udGV4dCwgbmV3VmFsdWUsIG9sZFZhbHVlKTtcXG5cXG4gICAgaWYgKGNoYW5nZWRCaXRzID09PSAwKSB7XFxuICAgICAgLy8gTm8gY2hhbmdlLiBCYWlsb3V0IGVhcmx5IGlmIGNoaWxkcmVuIGFyZSB0aGUgc2FtZS5cXG4gICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XFxuICAgICAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUaGUgY29udGV4dCB2YWx1ZSBjaGFuZ2VkLiBTZWFyY2ggZm9yIG1hdGNoaW5nIGNvbnN1bWVycyBhbmQgc2NoZWR1bGVcXG4gICAgICAvLyB0aGVtIHRvIHVwZGF0ZS5cXG4gICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCBjaGFuZ2VkQml0cywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXdQcm9wcy5jaGlsZHJlbjtcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG52YXIgaGFzV2FybmVkQWJvdXRVc2luZ0NvbnRleHRBc0NvbnN1bWVyID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIGNvbnRleHQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlOyAvLyBUaGUgbG9naWMgYmVsb3cgZm9yIENvbnRleHQgZGlmZmVycyBkZXBlbmRpbmcgb24gUFJPRCBvciBERVYgbW9kZS4gSW5cXG4gIC8vIERFViBtb2RlLCB3ZSBjcmVhdGUgYSBzZXBhcmF0ZSBvYmplY3QgZm9yIENvbnRleHQuQ29uc3VtZXIgdGhhdCBhY3RzXFxuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcXG4gIC8vIHNvIHdlIHVzZSB0aGUgb2xkIGJlaGF2aW91ciAoQ29udGV4dC5Db25zdW1lciByZWZlcmVuY2VzIENvbnRleHQpIHRvXFxuICAvLyByZWR1Y2Ugc2l6ZSBhbmQgb3ZlcmhlYWQuIFRoZSBzZXBhcmF0ZSBvYmplY3QgcmVmZXJlbmNlcyBjb250ZXh0IHZpYVxcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXFxcIl9jb250ZXh0XFxcIiwgd2hpY2ggYWxzbyBnaXZlcyB1cyB0aGUgYWJpbGl0eSB0byBjaGVja1xcbiAgLy8gaW4gREVWIG1vZGUgaWYgdGhpcyBwcm9wZXJ0eSBleGlzdHMgb3Igbm90IGFuZCB3YXJuIGlmIGl0IGRvZXMgbm90LlxcblxcbiAge1xcbiAgICBpZiAoY29udGV4dC5fY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXFxuICAgICAgLy8gT3IgaXQgbWF5IGJlIGJlY2F1c2UgaXQncyBvbGRlciBSZWFjdCB3aGVyZSB0aGV5J3JlIHRoZSBzYW1lIHRoaW5nLlxcbiAgICAgIC8vIFdlIG9ubHkgd2FudCB0byB3YXJuIGlmIHdlJ3JlIHN1cmUgaXQncyBhIG5ldyBSZWFjdC5cXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xcbiAgICAgICAgaWYgKCFoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIpIHtcXG4gICAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ0NvbnRleHRBc0NvbnN1bWVyID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dD4gZGlyZWN0bHkgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgY29udGV4dCA9IGNvbnRleHQuX2NvbnRleHQ7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHZhciByZW5kZXIgPSBuZXdQcm9wcy5jaGlsZHJlbjtcXG5cXG4gIHtcXG4gICAgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignQSBjb250ZXh0IGNvbnN1bWVyIHdhcyByZW5kZXJlZCB3aXRoIG11bHRpcGxlIGNoaWxkcmVuLCBvciBhIGNoaWxkICcgKyBcXFwidGhhdCBpc24ndCBhIGZ1bmN0aW9uLiBBIGNvbnRleHQgY29uc3VtZXIgZXhwZWN0cyBhIHNpbmdsZSBjaGlsZCBcXFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB2YXIgbmV3VmFsdWUgPSByZWFkQ29udGV4dChjb250ZXh0LCBuZXdQcm9wcy51bnN0YWJsZV9vYnNlcnZlZEJpdHMpO1xcbiAgdmFyIG5ld0NoaWxkcmVuO1xcblxcbiAge1xcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XFxuICAgIG5ld0NoaWxkcmVuID0gcmVuZGVyKG5ld1ZhbHVlKTtcXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXFxuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG5mdW5jdGlvbiBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpIHtcXG4gIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgY2FuY2VsV29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIC8vIFJldXNlIHByZXZpb3VzIGRlcGVuZGVuY2llc1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcXG4gIH1cXG5cXG4gIHtcXG4gICAgLy8gRG9uJ3QgdXBkYXRlIFxcXCJiYXNlXFxcIiByZW5kZXIgdGltZXMgZm9yIGJhaWxvdXRzLlxcbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xcbiAgfVxcblxcbiAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWU7XFxuXFxuICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgIT09IE5vV29yaykge1xcbiAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKHVwZGF0ZUV4cGlyYXRpb25UaW1lKTtcXG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGNoaWxkcmVuIGhhdmUgYW55IHBlbmRpbmcgd29yay5cXG5cXG5cXG4gIHZhciBjaGlsZEV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZTtcXG5cXG4gIGlmIChjaGlsZEV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgLy8gVGhlIGNoaWxkcmVuIGRvbid0IGhhdmUgYW55IHdvcmsgZWl0aGVyLiBXZSBjYW4gc2tpcCB0aGVtLlxcbiAgICAvLyBUT0RPOiBPbmNlIHdlIGFkZCBiYWNrIHJlc3VtaW5nLCB3ZSBzaG91bGQgY2hlY2sgaWYgdGhlIGNoaWxkcmVuIGFyZVxcbiAgICAvLyBhIHdvcmstaW4tcHJvZ3Jlc3Mgc2V0LiBJZiBzbywgd2UgbmVlZCB0byB0cmFuc2ZlciB0aGVpciBlZmZlY3RzLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIFRoaXMgZmliZXIgZG9lc24ndCBoYXZlIHdvcmssIGJ1dCBpdHMgc3VidHJlZSBkb2VzLiBDbG9uZSB0aGUgY2hpbGRcXG4gICAgLy8gZmliZXJzIGFuZCBjb250aW51ZS5cXG4gICAgY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVtb3VudEZpYmVyKGN1cnJlbnQsIG9sZFdvcmtJblByb2dyZXNzLCBuZXdXb3JrSW5Qcm9ncmVzcykge1xcbiAge1xcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XFxuXFxuICAgIGlmIChyZXR1cm5GaWJlciA9PT0gbnVsbCkge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN3YXAgdGhlIHJvb3QgZmliZXIuJyk7XFxuICAgIH0gLy8gRGlzY29ubmVjdCBmcm9tIHRoZSBvbGQgY3VycmVudC5cXG4gICAgLy8gSXQgd2lsbCBnZXQgZGVsZXRlZC5cXG5cXG5cXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xcbiAgICBvbGRXb3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBDb25uZWN0IHRvIHRoZSBuZXcgdHJlZS5cXG5cXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuaW5kZXggPSBvbGRXb3JrSW5Qcm9ncmVzcy5pbmRleDtcXG4gICAgbmV3V29ya0luUHJvZ3Jlc3Muc2libGluZyA9IG9sZFdvcmtJblByb2dyZXNzLnNpYmxpbmc7XFxuICAgIG5ld1dvcmtJblByb2dyZXNzLnJldHVybiA9IG9sZFdvcmtJblByb2dyZXNzLnJldHVybjtcXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmVmID0gb2xkV29ya0luUHJvZ3Jlc3MucmVmOyAvLyBSZXBsYWNlIHRoZSBjaGlsZC9zaWJsaW5nIHBvaW50ZXJzIGFib3ZlIGl0LlxcblxcbiAgICBpZiAob2xkV29ya0luUHJvZ3Jlc3MgPT09IHJldHVybkZpYmVyLmNoaWxkKSB7XFxuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgcHJldlNpYmxpbmcgPSByZXR1cm5GaWJlci5jaGlsZDtcXG5cXG4gICAgICBpZiAocHJldlNpYmxpbmcgPT09IG51bGwpIHtcXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgcGFyZW50IHRvIGhhdmUgYSBjaGlsZC4nKTtcXG4gICAgICB9XFxuXFxuICAgICAgd2hpbGUgKHByZXZTaWJsaW5nLnNpYmxpbmcgIT09IG9sZFdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgICBwcmV2U2libGluZyA9IHByZXZTaWJsaW5nLnNpYmxpbmc7XFxuXFxuICAgICAgICBpZiAocHJldlNpYmxpbmcgPT09IG51bGwpIHtcXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcmV2aW91cyBzaWJsaW5nLicpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBwcmV2U2libGluZy5zaWJsaW5nID0gbmV3V29ya0luUHJvZ3Jlc3M7XFxuICAgIH0gLy8gRGVsZXRlIHRoZSBvbGQgZmliZXIgYW5kIHBsYWNlIHRoZSBuZXcgb25lLlxcbiAgICAvLyBTaW5jZSB0aGUgb2xkIGZpYmVyIGlzIGRpc2Nvbm5lY3RlZCwgd2UgaGF2ZSB0byBzY2hlZHVsZSBpdCBtYW51YWxseS5cXG5cXG5cXG4gICAgdmFyIGxhc3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0O1xcblxcbiAgICBpZiAobGFzdCAhPT0gbnVsbCkge1xcbiAgICAgIGxhc3QubmV4dEVmZmVjdCA9IGN1cnJlbnQ7XFxuICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdCA9IGN1cnJlbnQ7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY3VycmVudDtcXG4gICAgfVxcblxcbiAgICBjdXJyZW50Lm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICBjdXJyZW50LmVmZmVjdFRhZyA9IERlbGV0aW9uO1xcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGxhY2VtZW50OyAvLyBSZXN0YXJ0IHdvcmsgZnJvbSB0aGUgbmV3IGZpYmVyLlxcblxcbiAgICByZXR1cm4gbmV3V29ya0luUHJvZ3Jlc3M7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGJlZ2luV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciB1cGRhdGVFeHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lO1xcblxcbiAge1xcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICAvLyBUaGlzIHdpbGwgcmVzdGFydCB0aGUgYmVnaW4gcGhhc2Ugd2l0aCBhIG5ldyBmaWJlci5cXG4gICAgICByZXR1cm4gcmVtb3VudEZpYmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHMod29ya0luUHJvZ3Jlc3MudHlwZSwgd29ya0luUHJvZ3Jlc3Mua2V5LCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHdvcmtJblByb2dyZXNzLl9kZWJ1Z093bmVyIHx8IG51bGwsIHdvcmtJblByb2dyZXNzLm1vZGUsIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lKSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIHZhciBvbGRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcXG4gICAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzIHx8IGhhc0NvbnRleHRDaGFuZ2VkKCkgfHwgKCAvLyBGb3JjZSBhIHJlLXJlbmRlciBpZiB0aGUgaW1wbGVtZW50YXRpb24gY2hhbmdlZCBkdWUgdG8gaG90IHJlbG9hZDpcXG4gICAgIHdvcmtJblByb2dyZXNzLnR5cGUgIT09IGN1cnJlbnQudHlwZSApKSB7XFxuICAgICAgLy8gSWYgcHJvcHMgb3IgY29udGV4dCBjaGFuZ2VkLCBtYXJrIHRoZSBmaWJlciBhcyBoYXZpbmcgcGVyZm9ybWVkIHdvcmsuXFxuICAgICAgLy8gVGhpcyBtYXkgYmUgdW5zZXQgaWYgdGhlIHByb3BzIGFyZSBkZXRlcm1pbmVkIHRvIGJlIGVxdWFsIGxhdGVyIChtZW1vKS5cXG4gICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcXG4gICAgfSBlbHNlIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGZpYmVyIGRvZXMgbm90IGhhdmUgYW55IHBlbmRpbmcgd29yay4gQmFpbG91dCB3aXRob3V0IGVudGVyaW5nXFxuICAgICAgLy8gdGhlIGJlZ2luIHBoYXNlLiBUaGVyZSdzIHN0aWxsIHNvbWUgYm9va2tlZXBpbmcgd2UgdGhhdCBuZWVkcyB0byBiZSBkb25lXFxuICAgICAgLy8gaW4gdGhpcyBvcHRpbWl6ZWQgcGF0aCwgbW9zdGx5IHB1c2hpbmcgc3R1ZmYgb250byB0aGUgc3RhY2suXFxuXFxuICAgICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAgICAgIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XFxuICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgICBwdXNoSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlICYmIHJlbmRlckV4cGlyYXRpb25UaW1lICE9PSBOZXZlciAmJiBzaG91bGREZXByaW9yaXRpemVTdWJ0cmVlKHdvcmtJblByb2dyZXNzLnR5cGUsIG5ld1Byb3BzKSkge1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIG1hcmtTcGF3bmVkV29yayhOZXZlcik7XFxuICAgICAgICAgICAgfSAvLyBTY2hlZHVsZSB0aGlzIGZpYmVyIHRvIHJlLXJlbmRlciBhdCBvZmZzY3JlZW4gcHJpb3JpdHkuIFRoZW4gYmFpbG91dC5cXG5cXG5cXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBOZXZlcjtcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcXG5cXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICAgICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgICAgIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XFxuICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xcbiAgICAgICAgICAgIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgbmV3VmFsdWUpO1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgLy8gUHJvZmlsZXIgc2hvdWxkIG9ubHkgY2FsbCBvblJlbmRlciB3aGVuIG9uZSBvZiBpdHMgZGVzY2VuZGFudHMgYWN0dWFsbHkgcmVuZGVyZWQuXFxuICAgICAgICAgICAgdmFyIGhhc0NoaWxkV29yayA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPj0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkV29yaykge1xcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICAgICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIC8vIHdoZXRoZXIgdG8gcmV0cnkgdGhlIHByaW1hcnkgY2hpbGRyZW4sIG9yIHRvIHNraXAgb3ZlciBpdCBhbmRcXG4gICAgICAgICAgICAgIC8vIGdvIHN0cmFpZ2h0IHRvIHRoZSBmYWxsYmFjay4gQ2hlY2sgdGhlIHByaW9yaXR5IG9mIHRoZSBwcmltYXJ5XFxuICAgICAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cXG5cXG5cXG4gICAgICAgICAgICAgIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbiAgICAgICAgICAgICAgdmFyIHByaW1hcnlDaGlsZEV4cGlyYXRpb25UaW1lID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRFeHBpcmF0aW9uVGltZTtcXG5cXG4gICAgICAgICAgICAgIGlmIChwcmltYXJ5Q2hpbGRFeHBpcmF0aW9uVGltZSAhPT0gTm9Xb3JrICYmIHByaW1hcnlDaGlsZEV4cGlyYXRpb25UaW1lID49IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGhhdmUgcGVuZGluZyB3b3JrLiBVc2UgdGhlIG5vcm1hbCBwYXRoXFxuICAgICAgICAgICAgICAgIC8vIHRvIGF0dGVtcHQgdG8gcmVuZGVyIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGFnYWluLlxcbiAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCkpOyAvLyBUaGUgcHJpbWFyeSBjaGlsZHJlbiBkbyBub3QgaGF2ZSBwZW5kaW5nIHdvcmsgd2l0aCBzdWZmaWNpZW50XFxuICAgICAgICAgICAgICAgIC8vIHByaW9yaXR5LiBCYWlsb3V0LlxcblxcbiAgICAgICAgICAgICAgICB2YXIgY2hpbGQgPSBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgIC8vIFRoZSBmYWxsYmFjayBjaGlsZHJlbiBoYXZlIHBlbmRpbmcgd29yay4gU2tpcCBvdmVyIHRoZVxcbiAgICAgICAgICAgICAgICAgIC8vIHByaW1hcnkgY2hpbGRyZW4gYW5kIHdvcmsgb24gdGhlIGZhbGxiYWNrLlxcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5zaWJsaW5nO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCkpO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgZGlkU3VzcGVuZEJlZm9yZSA9IChjdXJyZW50LmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdDtcXG5cXG4gICAgICAgICAgICB2YXIgX2hhc0NoaWxkV29yayA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPj0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgICAgICAgaWYgKGRpZFN1c3BlbmRCZWZvcmUpIHtcXG4gICAgICAgICAgICAgIGlmIChfaGFzQ2hpbGRXb3JrKSB7XFxuICAgICAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXFxuICAgICAgICAgICAgICAgIC8vIHNhbWUgY2hpbGRyZW4gdGhlbiB3ZSdyZSBzdGlsbCBpbiBwcm9ncmVzc2l2ZSBsb2FkaW5nIHN0YXRlLlxcbiAgICAgICAgICAgICAgICAvLyBTb21ldGhpbmcgbWlnaHQgZ2V0IHVuYmxvY2tlZCBieSBzdGF0ZSB1cGRhdGVzIG9yIHJldHJpZXMgaW4gdGhlXFxuICAgICAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcXG4gICAgICAgICAgICAgICAgLy8gcGF0aCB0byBjb21wdXRlIHRoZSBjb3JyZWN0IHRhaWwuXFxuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxcbiAgICAgICAgICAgICAgLy8gdGhlbSBnb3QgcmV0cmllZCBzbyB0aGV5J2xsIHN0aWxsIGJlIGJsb2NrZWQgaW4gdGhlIHNhbWUgd2F5XFxuICAgICAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxcblxcblxcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IERpZENhcHR1cmU7XFxuICAgICAgICAgICAgfSAvLyBJZiBub3RoaW5nIHN1c3BlbmRlZCBiZWZvcmUgYW5kIHdlJ3JlIHJlbmRlcmluZyB0aGUgc2FtZSBjaGlsZHJlbixcXG4gICAgICAgICAgICAvLyB0aGVuIHRoZSB0YWlsIGRvZXNuJ3QgbWF0dGVyLiBBbnl0aGluZyBuZXcgdGhhdCBzdXNwZW5kcyB3aWxsIHdvcmtcXG4gICAgICAgICAgICAvLyBpbiB0aGUgXFxcInRvZ2V0aGVyXFxcIiBtb2RlLCBzbyB3ZSBjYW4gY29udGludWUgZnJvbSB0aGUgc3RhdGUgd2UgaGFkLlxcblxcblxcbiAgICAgICAgICAgIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgICAvLyBSZXNldCB0byB0aGUgXFxcInRvZ2V0aGVyXFxcIiBtb2RlIGluIGNhc2Ugd2UndmUgc3RhcnRlZCBhIGRpZmZlcmVudFxcbiAgICAgICAgICAgICAgLy8gdXBkYXRlIGluIHRoZSBwYXN0IGJ1dCBkaWRuJ3QgY29tcGxldGUgaXQuXFxuICAgICAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xcbiAgICAgICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG51bGw7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCk7XFxuXFxuICAgICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAvLyBJZiBub25lIG9mIHRoZSBjaGlsZHJlbiBoYWQgYW55IHdvcmssIHRoYXQgbWVhbnMgdGhhdCBub25lIG9mXFxuICAgICAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcXG4gICAgICAgICAgICAgIC8vIGFzIGJlZm9yZS4gV2UgY2FuIGZhc3QgYmFpbCBvdXQuXFxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBvbiB0aGlzIGZpYmVyLCBidXQgdGhlcmUgYXJlIG5vIG5ldyBwcm9wc1xcbiAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XFxuICAgICAgLy8gY29uc3VtZXIgcHJvZHVjZXMgYSBjaGFuZ2VkIHZhbHVlLCBpdCB3aWxsIHNldCB0aGlzIHRvIHRydWUuIE90aGVyd2lzZSxcXG4gICAgICAvLyB0aGUgY29tcG9uZW50IHdpbGwgYXNzdW1lIHRoZSBjaGlsZHJlbiBoYXZlIG5vdCBjaGFuZ2VkIGFuZCBiYWlsIG91dC5cXG4gICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcXG4gIH0gLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY2xlYXIgcGVuZGluZyB1cGRhdGUgcHJpb3JpdHkuXFxuICAvLyBUT0RPOiBUaGlzIGFzc3VtZXMgdGhhdCB3ZSdyZSBhYm91dCB0byBldmFsdWF0ZSB0aGUgY29tcG9uZW50IGFuZCBwcm9jZXNzXFxuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxcbiAgLy8gc29tZXRpbWVzIGJhaWxzIG91dCBsYXRlciBpbiB0aGUgYmVnaW4gcGhhc2UuIFRoaXMgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkXFxuICAvLyBtb3ZlIHRoaXMgYXNzaWdubWVudCBvdXQgb2YgdGhlIGNvbW1vbiBwYXRoIGFuZCBpbnRvIGVhY2ggYnJhbmNoLlxcblxcblxcbiAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuXFxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBlbGVtZW50VHlwZSA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlO1xcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcXG4gICAgICAgIHZhciB1bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XFxuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50ID8gdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCB1bnJlc29sdmVkUHJvcHMpO1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfQ29tcG9uZW50MiA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG5cXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MiA/IF91bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKF9Db21wb25lbnQyLCBfdW5yZXNvbHZlZFByb3BzKTtcXG5cXG4gICAgICAgIHJldHVybiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0Um9vdChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgY2FzZSBIb3N0VGV4dDpcXG4gICAgICByZXR1cm4gdXBkYXRlSG9zdFRleHQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgcmV0dXJuIHVwZGF0ZVBvcnRhbENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAge1xcbiAgICAgICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzMiA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSB0eXBlID8gX3VucmVzb2x2ZWRQcm9wczIgOiByZXNvbHZlRGVmYXVsdFByb3BzKHR5cGUsIF91bnJlc29sdmVkUHJvcHMyKTtcXG5cXG4gICAgICAgIHJldHVybiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB0eXBlLCBfcmVzb2x2ZWRQcm9wczIsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgRnJhZ21lbnQ6XFxuICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICAgIGNhc2UgTW9kZTpcXG4gICAgICByZXR1cm4gdXBkYXRlTW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICAgIHJldHVybiB1cGRhdGVQcm9maWxlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcXG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dFByb3ZpZGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxcbiAgICAgIHJldHVybiB1cGRhdGVDb250ZXh0Q29uc3VtZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBSZXNvbHZlIG91dGVyIHByb3BzIGZpcnN0LCB0aGVuIHJlc29sdmUgaW5uZXIgcHJvcHMuXFxuXFxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcXG5cXG4gICAgICAgIHtcXG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XFxuICAgICAgICAgICAgdmFyIG91dGVyUHJvcFR5cGVzID0gX3R5cGUyLnByb3BUeXBlcztcXG5cXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcXG4gICAgICAgICAgICAgIGNoZWNrUHJvcFR5cGVzKG91dGVyUHJvcFR5cGVzLCBfcmVzb2x2ZWRQcm9wczMsIC8vIFJlc29sdmVkIGZvciBvdXRlciBvbmx5XFxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoX3R5cGUyKSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBfcmVzb2x2ZWRQcm9wczMgPSByZXNvbHZlRGVmYXVsdFByb3BzKF90eXBlMi50eXBlLCBfcmVzb2x2ZWRQcm9wczMpO1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgX3Jlc29sdmVkUHJvcHMzLCB1cGRhdGVFeHBpcmF0aW9uVGltZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICB2YXIgX0NvbXBvbmVudDMgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHM0ID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MyA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MywgX3VucmVzb2x2ZWRQcm9wczQpO1xcblxcbiAgICAgICAgcmV0dXJuIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfQ29tcG9uZW50MywgX3Jlc29sdmVkUHJvcHM0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgfVxcblxcbiAge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFxcXCIgKyB3b3JrSW5Qcm9ncmVzcy50YWcgKyBcXFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xcbiAgLy8gVGFnIHRoZSBmaWJlciB3aXRoIGFuIHVwZGF0ZSBlZmZlY3QuIFRoaXMgdHVybnMgYSBQbGFjZW1lbnQgaW50b1xcbiAgLy8gYSBQbGFjZW1lbnRBbmRVcGRhdGUuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbn1cXG5cXG5mdW5jdGlvbiBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpIHtcXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBSZWY7XFxufVxcblxcbnZhciBhcHBlbmRBbGxDaGlsZHJlbjtcXG52YXIgdXBkYXRlSG9zdENvbnRhaW5lcjtcXG52YXIgdXBkYXRlSG9zdENvbXBvbmVudCQxO1xcbnZhciB1cGRhdGVIb3N0VGV4dCQxO1xcblxcbntcXG4gIC8vIE11dGF0aW9uIG1vZGVcXG4gIGFwcGVuZEFsbENoaWxkcmVuID0gZnVuY3Rpb24gKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcXG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgY3JlYXRlZCBidXQgd2UgbmVlZCByZWN1cnNlIGRvd24gaXRzXFxuICAgIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cXG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcXG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XFxuICAgICAgICBhcHBlbmRJbml0aWFsQ2hpbGQocGFyZW50LCBub2RlLnN0YXRlTm9kZSk7XFxuICAgICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobm9kZSA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSB3b3JrSW5Qcm9ncmVzcykge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcbiAgICB9XFxuICB9O1xcblxcbiAgdXBkYXRlSG9zdENvbnRhaW5lciA9IGZ1bmN0aW9uICh3b3JrSW5Qcm9ncmVzcykgey8vIE5vb3BcXG4gIH07XFxuXFxuICB1cGRhdGVIb3N0Q29tcG9uZW50JDEgPSBmdW5jdGlvbiAoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpIHtcXG4gICAgLy8gSWYgd2UgaGF2ZSBhbiBhbHRlcm5hdGUsIHRoYXQgbWVhbnMgdGhpcyBpcyBhbiB1cGRhdGUgYW5kIHdlIG5lZWQgdG9cXG4gICAgLy8gc2NoZWR1bGUgYSBzaWRlLWVmZmVjdCB0byBkbyB0aGUgdXBkYXRlcy5cXG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xcblxcbiAgICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzKSB7XFxuICAgICAgLy8gSW4gbXV0YXRpb24gbW9kZSwgdGhpcyBpcyBzdWZmaWNpZW50IGZvciBhIGJhaWxvdXQgYmVjYXVzZVxcbiAgICAgIC8vIHdlIHdvbid0IHRvdWNoIHRoaXMgbm9kZSBldmVuIGlmIGNoaWxkcmVuIGNoYW5nZWQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIGdldCB1cGRhdGVkIGJlY2F1c2Ugb25lIG9mIG91ciBjaGlsZHJlbiB1cGRhdGVkLCB3ZSBkb24ndFxcbiAgICAvLyBoYXZlIG5ld1Byb3BzIHNvIHdlJ2xsIGhhdmUgdG8gcmV1c2UgdGhlbS5cXG4gICAgLy8gVE9ETzogU3BsaXQgdGhlIHVwZGF0ZSBBUEkgYXMgc2VwYXJhdGUgZm9yIHRoZSBwcm9wcyB2cy4gY2hpbGRyZW4uXFxuICAgIC8vIEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIGNoaWxkcmVuIHdlcmVuJ3Qgc3BlY2lhbCBjYXNlZCBhdCBhbGwgdGhvLlxcblxcblxcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBFeHBlcmllbmNpbmcgYW4gZXJyb3Igd2hlcmUgb2xkUHJvcHMgaXMgbnVsbC4gU3VnZ2VzdHMgYSBob3N0XFxuICAgIC8vIGNvbXBvbmVudCBpcyBoaXR0aW5nIHRoZSByZXN1bWUgcGF0aC4gRmlndXJlIG91dCB3aHkuIFBvc3NpYmx5XFxuICAgIC8vIHJlbGF0ZWQgdG8gYGhpZGRlbmAuXFxuXFxuICAgIHZhciB1cGRhdGVQYXlsb2FkID0gcHJlcGFyZVVwZGF0ZShpbnN0YW5jZSwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCk7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxcbiAgICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGlzIGRvbmUgaW4gY29tbWl0V29yay5cXG5cXG4gICAgaWYgKHVwZGF0ZVBheWxvYWQpIHtcXG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHVwZGF0ZUhvc3RUZXh0JDEgPSBmdW5jdGlvbiAoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG9sZFRleHQsIG5ld1RleHQpIHtcXG4gICAgLy8gSWYgdGhlIHRleHQgZGlmZmVycywgbWFyayBpdCBhcyBhbiB1cGRhdGUuIEFsbCB0aGUgd29yayBpbiBkb25lIGluIGNvbW1pdFdvcmsuXFxuICAgIGlmIChvbGRUZXh0ICE9PSBuZXdUZXh0KSB7XFxuICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XFxuICBzd2l0Y2ggKHJlbmRlclN0YXRlLnRhaWxNb2RlKSB7XFxuICAgIGNhc2UgJ2hpZGRlbic6XFxuICAgICAge1xcbiAgICAgICAgLy8gQW55IGluc2VydGlvbnMgYXQgdGhlIGVuZCBvZiB0aGUgdGFpbCBsaXN0IGFmdGVyIHRoaXMgcG9pbnRcXG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xcbiAgICAgICAgLy8gYW55dGhpbmcgYmVmb3JlIHRoZW0gYXJlIG5vdCBjb25zaWRlcmVkIGZvciBjb2xsYXBzaW5nLlxcbiAgICAgICAgLy8gVGhlcmVmb3JlIHdlIG5lZWQgdG8gZ28gdGhyb3VnaCB0aGUgd2hvbGUgdGFpbCB0byBmaW5kIGlmXFxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxcbiAgICAgICAgdmFyIHRhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcXG4gICAgICAgIHZhciBsYXN0VGFpbE5vZGUgPSBudWxsO1xcblxcbiAgICAgICAgd2hpbGUgKHRhaWxOb2RlICE9PSBudWxsKSB7XFxuICAgICAgICAgIGlmICh0YWlsTm9kZS5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XFxuICAgICAgICB9IC8vIE5leHQgd2UncmUgc2ltcGx5IGdvaW5nIHRvIGRlbGV0ZSBhbGwgaW5zZXJ0aW9ucyBhZnRlciB0aGVcXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cXG5cXG5cXG4gICAgICAgIGlmIChsYXN0VGFpbE5vZGUgPT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cXG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG51bGw7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcXG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXFxuICAgICAgICAgIGxhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSAnY29sbGFwc2VkJzpcXG4gICAgICB7XFxuICAgICAgICAvLyBBbnkgaW5zZXJ0aW9ucyBhdCB0aGUgZW5kIG9mIHRoZSB0YWlsIGxpc3QgYWZ0ZXIgdGhpcyBwb2ludFxcbiAgICAgICAgLy8gc2hvdWxkIGJlIGludmlzaWJsZS4gSWYgdGhlcmUgYXJlIGFscmVhZHkgbW91bnRlZCBib3VuZGFyaWVzXFxuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXFxuICAgICAgICAvLyBUaGVyZWZvcmUgd2UgbmVlZCB0byBnbyB0aHJvdWdoIHRoZSB3aG9sZSB0YWlsIHRvIGZpbmQgaWZcXG4gICAgICAgIC8vIHRoZXJlIGFyZSBhbnkuXFxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcXG4gICAgICAgIHZhciBfbGFzdFRhaWxOb2RlID0gbnVsbDtcXG5cXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgaWYgKF90YWlsTm9kZS5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBfbGFzdFRhaWxOb2RlID0gX3RhaWxOb2RlO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIF90YWlsTm9kZSA9IF90YWlsTm9kZS5zaWJsaW5nO1xcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXFxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXFxuXFxuXFxuICAgICAgICBpZiAoX2xhc3RUYWlsTm9kZSA9PT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBBbGwgcmVtYWluaW5nIGl0ZW1zIGluIHRoZSB0YWlsIGFyZSBpbnNlcnRpb25zLlxcbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgLy8gV2Ugc3VzcGVuZGVkIGR1cmluZyB0aGUgaGVhZC4gV2Ugd2FudCB0byBzaG93IGF0IGxlYXN0IG9uZVxcbiAgICAgICAgICAgIC8vIHJvdyBhdCB0aGUgdGFpbC4gU28gd2UnbGwga2VlcCBvbiBhbmQgY3V0IG9mZiB0aGUgcmVzdC5cXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJlbmRlclN0YXRlLnRhaWwgPSBudWxsO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcXG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXFxuICAgICAgICAgIF9sYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG5cXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XFxuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XFxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XFxuICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgY2FzZSBGcmFnbWVudDpcXG4gICAgY2FzZSBNb2RlOlxcbiAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICBjYXNlIENvbnRleHRDb25zdW1lcjpcXG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxcbiAgICAgIHJldHVybiBudWxsO1xcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcXG4gICAgICAgICAgcG9wQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICBwb3BUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcXG4gICAgICAgICAgZmliZXJSb290LmNvbnRleHQgPSBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQ7XFxuICAgICAgICAgIGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dCA9IG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LmNoaWxkID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cXG4gICAgICAgICAgLy8gdGhhdCB3ZXJlbid0IGh5ZHJhdGVkLlxcbiAgICAgICAgICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICAgICAgICAgIGlmICh3YXNIeWRyYXRlZCkge1xcbiAgICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCB0aGVuIHdlJ2xsIG5lZWQgdG8gc2NoZWR1bGUgYW4gdXBkYXRlIGZvclxcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxcbiAgICAgICAgICAgIG1hcmtVcGRhdGUod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIHZhciByb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xcbiAgICAgICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlICE9IG51bGwpIHtcXG4gICAgICAgICAgdXBkYXRlSG9zdENvbXBvbmVudCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKTtcXG5cXG4gICAgICAgICAgaWYgKGN1cnJlbnQucmVmICE9PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcXG4gICAgICAgICAgICBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBpZiAoIW5ld1Byb3BzKSB7XFxuICAgICAgICAgICAgaWYgKCEod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlICE9PSBudWxsKSkge1xcbiAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIldlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cXG5cXG5cXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTsgLy8gVE9ETzogTW92ZSBjcmVhdGVJbnN0YW5jZSB0byBiZWdpbldvcmsgYW5kIGtlZXAgaXQgb24gYSBjb250ZXh0XFxuICAgICAgICAgIC8vIFxcXCJzdGFja1xcXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXFxuICAgICAgICAgIC8vIG9yIGNvbXBsZXRlV29yayBkZXBlbmRpbmcgb24gd2hldGhlciB3ZSB3YW50IHRvIGFkZCB0aGVtIHRvcC0+ZG93biBvclxcbiAgICAgICAgICAvLyBib3R0b20tPnVwLiBUb3AtPmRvd24gaXMgZmFzdGVyIGluIElFMTEuXFxuXFxuICAgICAgICAgIHZhciBfd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcXG4gICAgICAgICAgICAvLyBUT0RPOiBNb3ZlIHRoaXMgYW5kIGNyZWF0ZUluc3RhbmNlIHN0ZXAgaW50byB0aGUgYmVnaW5QaGFzZVxcbiAgICAgICAgICAgIC8vIHRvIGNvbnNvbGlkYXRlLlxcbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcXG4gICAgICAgICAgICAgIC8vIElmIGNoYW5nZXMgdG8gdGhlIGh5ZHJhdGVkIG5vZGUgbmVlZCB0byBiZSBhcHBsaWVkIGF0IHRoZVxcbiAgICAgICAgICAgICAgLy8gY29tbWl0LXBoYXNlIHdlIG1hcmsgdGhpcyBhcyBzdWNoLlxcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICAgIGFwcGVuZEFsbENoaWxkcmVuKGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIGZhbHNlKTsgLy8gVGhpcyBuZWVkcyB0byBiZSBzZXQgYmVmb3JlIHdlIG1vdW50IEZsYXJlIGV2ZW50IGxpc3RlbmVyc1xcblxcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xcbiAgICAgICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgc3VwcG9ydHMgYXV0by1mb2N1cyBmb3IgY2VydGFpbiBlbGVtZW50cykuXFxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHN1Y2ggcmVuZGVyZXJzIGdldCBzY2hlZHVsZWQgZm9yIGxhdGVyIHdvcmsuXFxuXFxuXFxuICAgICAgICAgICAgaWYgKGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGluc3RhbmNlLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSkge1xcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5yZWYgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHJlZiBvbiBhIGhvc3Qgbm9kZSB3ZSBuZWVkIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcXG4gICAgICAgICAgICBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgICAge1xcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcXG5cXG4gICAgICAgIGlmIChjdXJyZW50ICYmIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSAhPSBudWxsKSB7XFxuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxcbiAgICAgICAgICAvLyB0byBzY2hlZHVsZSBhIHNpZGUtZWZmZWN0IHRvIGRvIHRoZSB1cGRhdGVzLlxcblxcbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIGlmICh0eXBlb2YgbmV3VGV4dCAhPT0gJ3N0cmluZycpIHtcXG4gICAgICAgICAgICBpZiAoISh3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT09IG51bGwpKSB7XFxuICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiV2UgbXVzdCBoYXZlIG5ldyBwcm9wcyBmb3IgbmV3IG1vdW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxcblxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBfcm9vdENvbnRhaW5lckluc3RhbmNlID0gZ2V0Um9vdEhvc3RDb250YWluZXIoKTtcXG5cXG4gICAgICAgICAgdmFyIF9jdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xcblxcbiAgICAgICAgICB2YXIgX3dhc0h5ZHJhdGVkMiA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcXG5cXG4gICAgICAgICAgaWYgKF93YXNIeWRyYXRlZDIpIHtcXG4gICAgICAgICAgICBpZiAocHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpKSB7XFxuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UsIF9jdXJyZW50SG9zdENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0KSB7XFxuICAgICAgICAgIC8vIFNvbWV0aGluZyBzdXNwZW5kZWQuIFJlLXJlbmRlciB3aXRoIHRoZSBmYWxsYmFjayBjaGlsZHJlbi5cXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTsgLy8gRG8gbm90IHJlc2V0IHRoZSBlZmZlY3QgbGlzdC5cXG5cXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIG5leHREaWRUaW1lb3V0ID0gbmV4dFN0YXRlICE9PSBudWxsO1xcbiAgICAgICAgdmFyIHByZXZEaWRUaW1lb3V0ID0gZmFsc2U7XFxuXFxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcy5mYWxsYmFjayAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgICAgcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgICAgICAgICBwcmV2RGlkVGltZW91dCA9IHByZXZTdGF0ZSAhPT0gbnVsbDtcXG5cXG4gICAgICAgICAgaWYgKCFuZXh0RGlkVGltZW91dCAmJiBwcmV2U3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBXZSBqdXN0IHN3aXRjaGVkIGZyb20gdGhlIGZhbGxiYWNrIHRvIHRoZSBub3JtYWwgY2hpbGRyZW4uXFxuICAgICAgICAgICAgLy8gRGVsZXRlIHRoZSBmYWxsYmFjay5cXG4gICAgICAgICAgICAvLyBUT0RPOiBXb3VsZCBpdCBiZSBiZXR0ZXIgdG8gc3RvcmUgdGhlIGZhbGxiYWNrIGZyYWdtZW50IG9uXFxuICAgICAgICAgICAgLy8gdGhlIHN0YXRlTm9kZSBkdXJpbmcgdGhlIGJlZ2luIHBoYXNlP1xcbiAgICAgICAgICAgIHZhciBjdXJyZW50RmFsbGJhY2tDaGlsZCA9IGN1cnJlbnQuY2hpbGQuc2libGluZztcXG5cXG4gICAgICAgICAgICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIC8vIERlbGV0aW9ucyBnbyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSByZXR1cm4gZmliZXIncyBlZmZlY3QgbGlzdFxcbiAgICAgICAgICAgICAgdmFyIGZpcnN0ID0gd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3Q7XFxuXFxuICAgICAgICAgICAgICBpZiAoZmlyc3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBjdXJyZW50RmFsbGJhY2tDaGlsZDtcXG4gICAgICAgICAgICAgICAgY3VycmVudEZhbGxiYWNrQ2hpbGQubmV4dEVmZmVjdCA9IGZpcnN0O1xcbiAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gY3VycmVudEZhbGxiYWNrQ2hpbGQ7XFxuICAgICAgICAgICAgICAgIGN1cnJlbnRGYWxsYmFja0NoaWxkLm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgY3VycmVudEZhbGxiYWNrQ2hpbGQuZWZmZWN0VGFnID0gRGVsZXRpb247XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgJiYgIXByZXZEaWRUaW1lb3V0KSB7XFxuICAgICAgICAgIC8vIElmIHRoaXMgc3VidHJlZWUgaXMgcnVubmluZyBpbiBibG9ja2luZyBtb2RlIHdlIGNhbiBzdXNwZW5kLFxcbiAgICAgICAgICAvLyBvdGhlcndpc2Ugd2Ugd29uJ3Qgc3VzcGVuZC5cXG4gICAgICAgICAgLy8gVE9ETzogVGhpcyB3aWxsIHN0aWxsIHN1c3BlbmQgYSBzeW5jaHJvbm91cyB0cmVlIGlmIGFueXRoaW5nXFxuICAgICAgICAgIC8vIGluIHRoZSBjb25jdXJyZW50IHRyZWUgYWxyZWFkeSBzdXNwZW5kZWQgZHVyaW5nIHRoaXMgcmVuZGVyLlxcbiAgICAgICAgICAvLyBUaGlzIGlzIGEga25vd24gYnVnLlxcbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpICE9PSBOb01vZGUpIHtcXG4gICAgICAgICAgICAvLyBUT0RPOiBNb3ZlIHRoaXMgYmFjayB0byB0aHJvd0V4Y2VwdGlvbiBiZWNhdXNlIHRoaXMgaXMgdG9vIGxhdGVcXG4gICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGEgbGFyZ2UgdHJlZSB3aGljaCBpcyBjb21tb24gZm9yIGluaXRpYWwgbG9hZHMuIFdlXFxuICAgICAgICAgICAgLy8gZG9uJ3Qga25vdyBpZiB3ZSBzaG91bGQgcmVzdGFydCBhIHJlbmRlciBvciBub3QgdW50aWwgd2UgZ2V0XFxuICAgICAgICAgICAgLy8gdGhpcyBtYXJrZXIsIGFuZCB0aGlzIGlzIHRvbyBsYXRlLlxcbiAgICAgICAgICAgIC8vIElmIHRoaXMgcmVuZGVyIGFscmVhZHkgaGFkIGEgcGluZyBvciBsb3dlciBwcmkgdXBkYXRlcyxcXG4gICAgICAgICAgICAvLyBhbmQgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB3ZSBrbm93IHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2VcXG4gICAgICAgICAgICAvLyBzaG91bGQgYmUgYWJsZSB0byBpbW1lZGlhdGVseSByZXN0YXJ0IGZyb20gd2l0aGluIHRocm93RXhjZXB0aW9uLlxcbiAgICAgICAgICAgIHZhciBoYXNJbnZpc2libGVDaGlsZENvbnRleHQgPSBjdXJyZW50ID09PSBudWxsICYmIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMudW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgIT09IHRydWU7XFxuXFxuICAgICAgICAgICAgaWYgKGhhc0ludmlzaWJsZUNoaWxkQ29udGV4dCB8fCBoYXNTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50LCBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQpKSB7XFxuICAgICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBpbiBhbiBpbnZpc2libGUgdHJlZSBvciBhIG5ldyByZW5kZXIsIHRoZW4gc2hvd2luZ1xcbiAgICAgICAgICAgICAgLy8gdGhpcyBib3VuZGFyeSBpcyBvay5cXG4gICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmQoKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSdyZSBnb2luZyB0byBoYXZlIHRvIGhpZGUgY29udGVudCBzbyB3ZSBzaG91bGRcXG4gICAgICAgICAgICAgIC8vIHN1c3BlbmQgZm9yIGxvbmdlciBpZiBwb3NzaWJsZS5cXG4gICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHtcXG4gICAgICAgICAgLy8gVE9ETzogT25seSBzY2hlZHVsZSB1cGRhdGVzIGlmIHRoZXNlIHZhbHVlcyBhcmUgbm9uIGVxdWFsLCBpLmUuIGl0IGNoYW5nZWQuXFxuICAgICAgICAgIGlmIChuZXh0RGlkVGltZW91dCB8fCBwcmV2RGlkVGltZW91dCkge1xcbiAgICAgICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkganVzdCB0aW1lZCBvdXQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggYVxcbiAgICAgICAgICAgIC8vIHJldHJ5IGxpc3RlbmVyIHRvIHRoZSBwcm9taXNlLiBUaGlzIGZsYWcgaXMgYWxzbyB1c2VkIHRvIGhpZGUgdGhlXFxuICAgICAgICAgICAgLy8gcHJpbWFyeSBjaGlsZHJlbi4gSW4gbXV0YXRpb24gbW9kZSwgd2UgYWxzbyBuZWVkIHRoZSBmbGFnIHRvXFxuICAgICAgICAgICAgLy8gKnVuaGlkZSogY2hpbGRyZW4gdGhhdCB3ZXJlIHByZXZpb3VzbHkgaGlkZGVuLCBzbyBjaGVjayBpZiB0aGlzXFxuICAgICAgICAgICAgLy8gaXMgY3VycmVudGx5IHRpbWVkIG91dCwgdG9vLlxcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICAgIHBvcEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgIHVwZGF0ZUhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgIHJldHVybiBudWxsO1xcblxcbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcXG4gICAgICAvLyBQb3AgcHJvdmlkZXIgZmliZXJcXG4gICAgICBwb3BQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuXFxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxcbiAgICAgICAgLy8gc2VxdWVudGlhbCB0byBlbnN1cmUgdGhpcyBzd2l0Y2ggaXMgY29tcGlsZWQgdG8gYSBqdW1wIHRhYmxlLlxcbiAgICAgICAgdmFyIF9Db21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKF9Db21wb25lbnQpKSB7XFxuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSdyZSBydW5uaW5nIGluIHRoZSBkZWZhdWx0LCBcXFwiaW5kZXBlbmRlbnRcXFwiIG1vZGUuXFxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cXG4gICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgZGlkU3VzcGVuZEFscmVhZHkgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcbiAgICAgICAgdmFyIHJlbmRlcmVkVGFpbCA9IHJlbmRlclN0YXRlLnJlbmRlcmluZztcXG5cXG4gICAgICAgIGlmIChyZW5kZXJlZFRhaWwgPT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gV2UganVzdCByZW5kZXJlZCB0aGUgaGVhZC5cXG4gICAgICAgICAgaWYgKCFkaWRTdXNwZW5kQWxyZWFkeSkge1xcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHBhc3MuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiBhbnl0aGluZyBpcyBzdGlsbFxcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBpbiB0aGUgcmVuZGVyZWQgc2V0LlxcbiAgICAgICAgICAgIC8vIElmIG5ldyBjb250ZW50IHVuc3VzcGVuZGVkLCBidXQgdGhlcmUncyBzdGlsbCBzb21lIGNvbnRlbnQgdGhhdFxcbiAgICAgICAgICAgIC8vIGRpZG4ndC4gVGhlbiB3ZSBuZWVkIHRvIGRvIGEgc2Vjb25kIHBhc3MgdGhhdCBmb3JjZXMgZXZlcnl0aGluZ1xcbiAgICAgICAgICAgIC8vIHRvIGtlZXAgc2hvd2luZyB0aGVpciBmYWxsYmFja3MuXFxuICAgICAgICAgICAgLy8gV2UgbWlnaHQgYmUgc3VzcGVuZGVkIGlmIHNvbWV0aGluZyBpbiB0aGlzIHJlbmRlciBwYXNzIHN1c3BlbmRlZCwgb3JcXG4gICAgICAgICAgICAvLyBzb21ldGhpbmcgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHRlZCBwYXNzIHN1c3BlbmRlZC4gT3RoZXJ3aXNlLFxcbiAgICAgICAgICAgIC8vIHRoZXJlJ3Mgbm8gY2hhbmNlIHNvIHdlIGNhbiBza2lwIHRoZSBleHBlbnNpdmUgY2FsbCB0b1xcbiAgICAgICAgICAgIC8vIGZpbmRGaXJzdFN1c3BlbmRlZC5cXG4gICAgICAgICAgICB2YXIgY2Fubm90QmVTdXNwZW5kZWQgPSByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSAmJiAoY3VycmVudCA9PT0gbnVsbCB8fCAoY3VycmVudC5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSA9PT0gTm9FZmZlY3QpO1xcblxcbiAgICAgICAgICAgIGlmICghY2Fubm90QmVTdXNwZW5kZWQpIHtcXG4gICAgICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gICAgICAgICAgICAgIHdoaWxlIChyb3cgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgdmFyIHN1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyb3cpO1xcblxcbiAgICAgICAgICAgICAgICBpZiAoc3VzcGVuZGVkICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlO1xcbiAgICAgICAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpOyAvLyBJZiB0aGlzIGlzIGEgbmV3bHkgc3VzcGVuZGVkIHRyZWUsIGl0IG1pZ2h0IG5vdCBnZXQgY29tbWl0dGVkIGFzXFxuICAgICAgICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgc2Vjb25kIHBhc3MuIEluIHRoYXQgY2FzZSBub3RoaW5nIHdpbGwgc3Vic2NyaWJlIHRvXFxuICAgICAgICAgICAgICAgICAgLy8gaXRzIHRoZW5uYWJsZXMuIEluc3RlYWQsIHdlJ2xsIHRyYW5zZmVyIGl0cyB0aGVubmFibGVzIHRvIHRoZVxcbiAgICAgICAgICAgICAgICAgIC8vIFN1c3BlbnNlTGlzdCBzbyB0aGF0IGl0IGNhbiByZXRyeSBpZiB0aGV5IHJlc29sdmUuXFxuICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgb2YgdGhlc2UgaW4gdGhlIGxpc3QgYnV0IHNpbmNlIHdlJ3JlXFxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcXG4gICAgICAgICAgICAgICAgICAvLyB3aGljaCBvbmVzIGdldHMgdG8gcGluZy4gSW4gdGhlb3J5IHdlIGNvdWxkIGdldCBjbGV2ZXIgYW5kIGtlZXBcXG4gICAgICAgICAgICAgICAgICAvLyB0cmFjayBvZiBob3cgbWFueSBkZXBlbmRlbmNpZXMgcmVtYWluIGJ1dCBpdCBnZXRzIHRyaWNreSBiZWNhdXNlXFxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cXG4gICAgICAgICAgICAgICAgICAvLyBXZSBtaWdodCBiYWlsIG91dCBvZiB0aGUgbG9vcCBiZWZvcmUgZmluZGluZyBhbnkgYnV0IHRoYXRcXG4gICAgICAgICAgICAgICAgICAvLyBkb2Vzbid0IG1hdHRlciBzaW5jZSB0aGF0IG1lYW5zIHRoYXQgdGhlIG90aGVyIGJvdW5kYXJpZXMgdGhhdFxcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cXG5cXG4gICAgICAgICAgICAgICAgICB2YXIgbmV3VGhlbm5hYmxlcyA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcXG5cXG4gICAgICAgICAgICAgICAgICBpZiAobmV3VGhlbm5hYmxlcyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBuZXdUaGVubmFibGVzO1xcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgICAgICAgICAgICAgICB9IC8vIFJlcmVuZGVyIHRoZSB3aG9sZSBsaXN0LCBidXQgdGhpcyB0aW1lLCB3ZSdsbCBmb3JjZSBmYWxsYmFja3NcXG4gICAgICAgICAgICAgICAgICAvLyB0byBzdGF5IGluIHBsYWNlLlxcbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBlZmZlY3QgbGlzdCBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cXG5cXG5cXG4gICAgICAgICAgICAgICAgICBpZiAocmVuZGVyU3RhdGUubGFzdEVmZmVjdCA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gcmVuZGVyU3RhdGUubGFzdEVmZmVjdDsgLy8gUmVzZXQgdGhlIGNoaWxkIGZpYmVycyB0byB0aGVpciBvcmlnaW5hbCBzdGF0ZS5cXG5cXG4gICAgICAgICAgICAgICAgICByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7IC8vIFNldCB1cCB0aGUgU3VzcGVuc2UgQ29udGV4dCB0byBmb3JjZSBzdXNwZW5zZSBhbmQgaW1tZWRpYXRlbHlcXG4gICAgICAgICAgICAgICAgICAvLyByZXJlbmRlciB0aGUgY2hpbGRyZW4uXFxuXFxuICAgICAgICAgICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc2V0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjaykpO1xcbiAgICAgICAgICAgICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICByb3cgPSByb3cuc2libGluZztcXG4gICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7XFxuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXFxuXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cXG4gICAgICAgICAgaWYgKCFkaWRTdXNwZW5kQWxyZWFkeSkge1xcbiAgICAgICAgICAgIHZhciBfc3VzcGVuZGVkID0gZmluZEZpcnN0U3VzcGVuZGVkKHJlbmRlcmVkVGFpbCk7XFxuXFxuICAgICAgICAgICAgaWYgKF9zdXNwZW5kZWQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlO1xcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlOyAvLyBFbnN1cmUgd2UgdHJhbnNmZXIgdGhlIHVwZGF0ZSBxdWV1ZSB0byB0aGUgcGFyZW50IHNvIHRoYXQgaXQgZG9lc24ndFxcbiAgICAgICAgICAgICAgLy8gZ2V0IGxvc3QgaWYgdGhpcyByb3cgZW5kcyB1cCBkcm9wcGVkIGR1cmluZyBhIHNlY29uZCBwYXNzLlxcblxcbiAgICAgICAgICAgICAgdmFyIF9uZXdUaGVubmFibGVzID0gX3N1c3BlbmRlZC51cGRhdGVRdWV1ZTtcXG5cXG4gICAgICAgICAgICAgIGlmIChfbmV3VGhlbm5hYmxlcyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVubmFibGVzO1xcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbiAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXFxuXFxuICAgICAgICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCA9PT0gbnVsbCAmJiByZW5kZXJTdGF0ZS50YWlsTW9kZSA9PT0gJ2hpZGRlbicgJiYgIXJlbmRlcmVkVGFpbC5hbHRlcm5hdGUpIHtcXG4gICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkZWxldGUgdGhlIHJvdyB3ZSBqdXN0IHJlbmRlcmVkLlxcbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgZWZmZWN0IGxpc3QgdG8gd2hhdCBpdCB3YXMgYmVmb3JlIHdlIHJlbmRlcmVkIHRoaXNcXG4gICAgICAgICAgICAgICAgLy8gY2hpbGQuIFRoZSBuZXN0ZWQgY2hpbGRyZW4gaGF2ZSBhbHJlYWR5IGFwcGVuZGVkIHRoZW1zZWx2ZXMuXFxuICAgICAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCA9IHJlbmRlclN0YXRlLmxhc3RFZmZlY3Q7IC8vIFJlbW92ZSBhbnkgZWZmZWN0cyB0aGF0IHdlcmUgYXBwZW5kZWQgYWZ0ZXIgdGhpcyBwb2ludC5cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgICBsYXN0RWZmZWN0Lm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgICAgICAgICB9IC8vIFdlJ3JlIGRvbmUuXFxuXFxuXFxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIC8vIFRoZSB0aW1lIGl0IHRvb2sgdG8gcmVuZGVyIGxhc3Qgcm93IGlzIGdyZWF0ZXIgdGhhbiB0aW1lIHVudGlsXFxuICAgICAgICAgICAgLy8gdGhlIGV4cGlyYXRpb24uXFxuICAgICAgICAgICAgbm93KCkgKiAyIC0gcmVuZGVyU3RhdGUucmVuZGVyaW5nU3RhcnRUaW1lID4gcmVuZGVyU3RhdGUudGFpbEV4cGlyYXRpb24gJiYgcmVuZGVyRXhwaXJhdGlvblRpbWUgPiBOZXZlcikge1xcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBub3cgcGFzc2VkIG91ciBDUFUgZGVhZGxpbmUgYW5kIHdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyXFxuICAgICAgICAgICAgICAvLyBhdHRlbXB0cyB0byByZW5kZXIgdGhlIG1haW4gY29udGVudCBhbmQgb25seSByZW5kZXIgZmFsbGJhY2tzLlxcbiAgICAgICAgICAgICAgLy8gVGhlIGFzc3VtcHRpb24gaXMgdGhhdCB0aGlzIGlzIHVzdWFsbHkgZmFzdGVyLlxcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IERpZENhcHR1cmU7XFxuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7XFxuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcXG4gICAgICAgICAgICAgIC8vIHRvIGdldCBpdCBzdGFydGVkIGJhY2sgdXAgdG8gYXR0ZW1wdCB0aGUgbmV4dCBpdGVtLiBJZiB3ZSBjYW4gc2hvd1xcbiAgICAgICAgICAgICAgLy8gdGhlbSwgdGhlbiB0aGV5IHJlYWxseSBoYXZlIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoaXMgcmVuZGVyLlxcbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgcGljayBpdCBiYWNrIHVwIHRoZSB2ZXJ5IG5leHQgcmVuZGVyIHBhc3Mgb25jZSB3ZSd2ZSBoYWRcXG4gICAgICAgICAgICAgIC8vIGFuIG9wcG9ydHVuaXR5IHRvIHlpZWxkIGZvciBwYWludC5cXG5cXG4gICAgICAgICAgICAgIHZhciBuZXh0UHJpb3JpdHkgPSByZW5kZXJFeHBpcmF0aW9uVGltZSAtIDE7XFxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBuZXh0UHJpb3JpdHk7XFxuXFxuICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIG1hcmtTcGF3bmVkV29yayhuZXh0UHJpb3JpdHkpO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcXG4gICAgICAgICAgICAvLyBUaGUgZWZmZWN0IGxpc3Qgb2YgdGhlIGJhY2t3YXJkcyB0YWlsIHdpbGwgaGF2ZSBiZWVuIGFkZGVkXFxuICAgICAgICAgICAgLy8gdG8gdGhlIGVuZC4gVGhpcyBicmVha3MgdGhlIGd1YXJhbnRlZSB0aGF0IGxpZmUtY3ljbGVzIGZpcmUgaW5cXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cXG4gICAgICAgICAgICAvLyBFc3BlY2lhbGx5IHNpbmNlIHRoZXNlIG1pZ2h0IGFsc28ganVzdCBwb3AgaW4gZHVyaW5nIGZ1dHVyZSBjb21taXRzLlxcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxcbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZW5kZXJlZFRhaWw7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XFxuXFxuICAgICAgICAgICAgaWYgKHByZXZpb3VzU2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVuZGVyZWRUYWlsO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS5sYXN0ID0gcmVuZGVyZWRUYWlsO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSBzdGlsbCBoYXZlIHRhaWwgcm93cyB0byByZW5kZXIuXFxuICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsRXhwaXJhdGlvbiA9PT0gMCkge1xcbiAgICAgICAgICAgIC8vIEhldXJpc3RpYyBmb3IgaG93IGxvbmcgd2UncmUgd2lsbGluZyB0byBzcGVuZCByZW5kZXJpbmcgcm93c1xcbiAgICAgICAgICAgIC8vIHVudGlsIHdlIGp1c3QgZ2l2ZSB1cCBhbmQgc2hvdyB3aGF0IHdlIGhhdmUgc28gZmFyLlxcbiAgICAgICAgICAgIHZhciBUQUlMX0VYUElSQVRJT05fVElNRU9VVF9NUyA9IDUwMDtcXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsRXhwaXJhdGlvbiA9IG5vdygpICsgVEFJTF9FWFBJUkFUSU9OX1RJTUVPVVRfTVM7IC8vIFRPRE86IFRoaXMgaXMgbWVhbnQgdG8gbWltaWMgdGhlIHRyYWluIG1vZGVsIG9yIEpORCBidXQgdGhpc1xcbiAgICAgICAgICAgIC8vIGlzIGEgcGVyIGNvbXBvbmVudCB2YWx1ZS4gSXQgc2hvdWxkIHJlYWxseSBiZSBzaW5jZSB0aGUgc3RhcnRcXG4gICAgICAgICAgICAvLyBvZiB0aGUgdG90YWwgcmVuZGVyIG9yIGxhc3QgY29tbWl0LiBDb25zaWRlciB1c2luZyBzb21ldGhpbmcgbGlrZVxcbiAgICAgICAgICAgIC8vIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUuIFRoYXQgZG9lc24ndCBhY2NvdW50IGZvciBiZWluZ1xcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBmb3IgcGFydCBvZiB0aGUgdGltZSBvciB3aGVuIGl0J3MgYSBuZXcgcmVuZGVyLlxcbiAgICAgICAgICAgIC8vIEl0IHNob3VsZCBwcm9iYWJseSB1c2UgYSBnbG9iYWwgc3RhcnQgdGltZSB2YWx1ZSBpbnN0ZWFkLlxcbiAgICAgICAgICB9IC8vIFBvcCBhIHJvdy5cXG5cXG5cXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBuZXh0O1xcbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbmV4dC5zaWJsaW5nO1xcbiAgICAgICAgICByZW5kZXJTdGF0ZS5sYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdDtcXG4gICAgICAgICAgcmVuZGVyU3RhdGUucmVuZGVyaW5nU3RhcnRUaW1lID0gbm93KCk7XFxuICAgICAgICAgIG5leHQuc2libGluZyA9IG51bGw7IC8vIFJlc3RvcmUgdGhlIGNvbnRleHQuXFxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxcbiAgICAgICAgICAvLyBzZXR0aW5nIGl0IHRoZSBmaXJzdCB0aW1lIHdlIGdvIGZyb20gbm90IHN1c3BlbmRlZCB0byBzdXNwZW5kZWQuXFxuXFxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XFxuXFxuICAgICAgICAgIGlmIChkaWRTdXNwZW5kQWxyZWFkeSkge1xcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gRG8gYSBwYXNzIG92ZXIgdGhlIG5leHQgcm93LlxcblxcbiAgICAgICAgICByZXR1cm4gbmV4dDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcXFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXFxcIikuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVud2luZFdvcmsod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcXG4gICAgICAgICAgcG9wQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnO1xcblxcbiAgICAgICAgaWYgKGVmZmVjdFRhZyAmIFNob3VsZENhcHR1cmUpIHtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnID0gZWZmZWN0VGFnICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xcbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICBwb3BUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgdmFyIF9lZmZlY3RUYWcgPSB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWc7XFxuXFxuICAgICAgICBpZiAoISgoX2VmZmVjdFRhZyAmIERpZENhcHR1cmUpID09PSBOb0VmZmVjdCkpIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiVGhlIHJvb3QgZmFpbGVkIHRvIHVubW91bnQgYWZ0ZXIgYW4gZXJyb3IuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyA9IF9lZmZlY3RUYWcgJiB+U2hvdWxkQ2FwdHVyZSB8IERpZENhcHR1cmU7XFxuICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcXG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgICAgdmFyIF9lZmZlY3RUYWcyID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnO1xcblxcbiAgICAgICAgaWYgKF9lZmZlY3RUYWcyICYgU2hvdWxkQ2FwdHVyZSkge1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgPSBfZWZmZWN0VGFnMiAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTsgLy8gQ2FwdHVyZWQgYSBzdXNwZW5zZSBlZmZlY3QuIFJlLXJlbmRlciB0aGUgYm91bmRhcnkuXFxuXFxuICAgICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXFxuICAgICAgICAvLyBjYXVnaHQgYnkgYSBuZXN0ZWQgYm91bmRhcnkuIElmIG5vdCwgaXQgc2hvdWxkIGJ1YmJsZSB0aHJvdWdoLlxcblxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuXFxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxcbiAgICAgIHBvcFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICByZXR1cm4gbnVsbDtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdW53aW5kSW50ZXJydXB0ZWRXb3JrKGludGVycnVwdGVkV29yaykge1xcbiAgc3dpdGNoIChpbnRlcnJ1cHRlZFdvcmsudGFnKSB7XFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGNoaWxkQ29udGV4dFR5cGVzID0gaW50ZXJydXB0ZWRXb3JrLnR5cGUuY2hpbGRDb250ZXh0VHlwZXM7XFxuXFxuICAgICAgICBpZiAoY2hpbGRDb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY2hpbGRDb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICBwb3BDb250ZXh0KGludGVycnVwdGVkV29yayk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgICAgcG9wVG9wTGV2ZWxDb250ZXh0T2JqZWN0KGludGVycnVwdGVkV29yayk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICBwb3BIb3N0Q29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHBvcFN1c3BlbnNlQ29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcXG4gICAgICBwb3BTdXNwZW5zZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XFxuICAgICAgcG9wUHJvdmlkZXIoaW50ZXJydXB0ZWRXb3JrKTtcXG4gICAgICBicmVhaztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgc291cmNlKSB7XFxuICAvLyBJZiB0aGUgdmFsdWUgaXMgYW4gZXJyb3IsIGNhbGwgdGhpcyBmdW5jdGlvbiBpbW1lZGlhdGVseSBhZnRlciBpdCBpcyB0aHJvd25cXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cXG4gIHJldHVybiB7XFxuICAgIHZhbHVlOiB2YWx1ZSxcXG4gICAgc291cmNlOiBzb3VyY2UsXFxuICAgIHN0YWNrOiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2Qoc291cmNlKVxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihjYXB0dXJlZEVycm9yKSB7XFxuXFxuICB2YXIgZXJyb3IgPSBjYXB0dXJlZEVycm9yLmVycm9yO1xcblxcbiAge1xcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGNhcHR1cmVkRXJyb3IuY29tcG9uZW50TmFtZSxcXG4gICAgICAgIGNvbXBvbmVudFN0YWNrID0gY2FwdHVyZWRFcnJvci5jb21wb25lbnRTdGFjayxcXG4gICAgICAgIGVycm9yQm91bmRhcnlOYW1lID0gY2FwdHVyZWRFcnJvci5lcnJvckJvdW5kYXJ5TmFtZSxcXG4gICAgICAgIGVycm9yQm91bmRhcnlGb3VuZCA9IGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeUZvdW5kLFxcbiAgICAgICAgd2lsbFJldHJ5ID0gY2FwdHVyZWRFcnJvci53aWxsUmV0cnk7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXFxuICAgIC8vIGBwcmV2ZW50RGVmYXVsdCgpYCBpbiB3aW5kb3cgYGVycm9yYCBoYW5kbGVyLlxcbiAgICAvLyBXZSByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbiBhcyBhbiBleHBhbmRvIG9uIHRoZSBlcnJvci5cXG5cXG4gICAgaWYgKGVycm9yICE9IG51bGwgJiYgZXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xcbiAgICAgIGlmIChlcnJvckJvdW5kYXJ5Rm91bmQgJiYgd2lsbFJldHJ5KSB7XFxuICAgICAgICAvLyBUaGUgZXJyb3IgaXMgcmVjb3ZlcmFibGUgYW5kIHdhcyBzaWxlbmNlZC5cXG4gICAgICAgIC8vIElnbm9yZSBpdCBhbmQgZG9uJ3QgcHJpbnQgdGhlIHN0YWNrIGFkZGVuZHVtLlxcbiAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfSAvLyBUaGUgZXJyb3IgaXMgZmF0YWwuIFNpbmNlIHRoZSBzaWxlbmNpbmcgbWlnaHQgaGF2ZVxcbiAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXFxuICAgICAgLy8gSG93ZXZlciwgdGhlIGJyb3dzZXIgd291bGQgaGF2ZSBzaWxlbmNlZCB0aGUgb3JpZ2luYWwgZXJyb3JcXG4gICAgICAvLyBzbyB3ZSdsbCBwcmludCBpdCBmaXJzdCwgYW5kIHRoZW4gcHJpbnQgdGhlIHN0YWNrIGFkZGVuZHVtLlxcblxcblxcbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcXG4gICAgICAvLyBGb3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoaXMgYmxvY2ssIHNlZTpcXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxcbiAgICB9XFxuXFxuICAgIHZhciBjb21wb25lbnROYW1lTWVzc2FnZSA9IGNvbXBvbmVudE5hbWUgPyBcXFwiVGhlIGFib3ZlIGVycm9yIG9jY3VycmVkIGluIHRoZSA8XFxcIiArIGNvbXBvbmVudE5hbWUgKyBcXFwiPiBjb21wb25lbnQ6XFxcIiA6ICdUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gb25lIG9mIHlvdXIgUmVhY3QgY29tcG9uZW50czonO1xcbiAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7IC8vIGVycm9yQm91bmRhcnlGb3VuZCBjaGVjayBpcyBzdWZmaWNpZW50OyBlcnJvckJvdW5kYXJ5TmFtZSBjaGVjayBpcyB0byBzYXRpc2Z5IEZsb3cuXFxuXFxuICAgIGlmIChlcnJvckJvdW5kYXJ5Rm91bmQgJiYgZXJyb3JCb3VuZGFyeU5hbWUpIHtcXG4gICAgICBpZiAod2lsbFJldHJ5KSB7XFxuICAgICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9IFxcXCJSZWFjdCB3aWxsIHRyeSB0byByZWNyZWF0ZSB0aGlzIGNvbXBvbmVudCB0cmVlIGZyb20gc2NyYXRjaCBcXFwiICsgKFxcXCJ1c2luZyB0aGUgZXJyb3IgYm91bmRhcnkgeW91IHByb3ZpZGVkLCBcXFwiICsgZXJyb3JCb3VuZGFyeU5hbWUgKyBcXFwiLlxcXCIpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9IFxcXCJUaGlzIGVycm9yIHdhcyBpbml0aWFsbHkgaGFuZGxlZCBieSB0aGUgZXJyb3IgYm91bmRhcnkgXFxcIiArIGVycm9yQm91bmRhcnlOYW1lICsgXFxcIi5cXFxcblxcXCIgKyBcXFwiUmVjcmVhdGluZyB0aGUgdHJlZSBmcm9tIHNjcmF0Y2ggZmFpbGVkIHNvIFJlYWN0IHdpbGwgdW5tb3VudCB0aGUgdHJlZS5cXFwiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9ICdDb25zaWRlciBhZGRpbmcgYW4gZXJyb3IgYm91bmRhcnkgdG8geW91ciB0cmVlIHRvIGN1c3RvbWl6ZSBlcnJvciBoYW5kbGluZyBiZWhhdmlvci5cXFxcbicgKyAnVmlzaXQgaHR0cHM6Ly9mYi5tZS9yZWFjdC1lcnJvci1ib3VuZGFyaWVzIHRvIGxlYXJuIG1vcmUgYWJvdXQgZXJyb3IgYm91bmRhcmllcy4nO1xcbiAgICB9XFxuXFxuICAgIHZhciBjb21iaW5lZE1lc3NhZ2UgPSBcXFwiXFxcIiArIGNvbXBvbmVudE5hbWVNZXNzYWdlICsgY29tcG9uZW50U3RhY2sgKyBcXFwiXFxcXG5cXFxcblxcXCIgKyAoXFxcIlxcXCIgKyBlcnJvckJvdW5kYXJ5TWVzc2FnZSk7IC8vIEluIGRldmVsb3BtZW50LCB3ZSBwcm92aWRlIG91ciBvd24gbWVzc2FnZSB3aXRoIGp1c3QgdGhlIGNvbXBvbmVudCBzdGFjay5cXG4gICAgLy8gV2UgZG9uJ3QgaW5jbHVkZSB0aGUgb3JpZ2luYWwgZXJyb3IgbWVzc2FnZSBhbmQgSlMgc3RhY2sgYmVjYXVzZSB0aGUgYnJvd3NlclxcbiAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXFxuICAgIC8vIGRpc3BsYXllZCBieSB0aGUgYnJvd3NlciB0aGFua3MgdG8gdGhlIERFVi1vbmx5IGZha2UgZXZlbnQgdHJpY2sgaW4gUmVhY3RFcnJvclV0aWxzLlxcblxcbiAgICBjb25zb2xlWydlcnJvciddKGNvbWJpbmVkTWVzc2FnZSk7IC8vIERvbid0IHRyYW5zZm9ybSB0byBvdXIgd3JhcHBlclxcbiAgfVxcbn1cXG5cXG52YXIgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBudWxsO1xcblxcbntcXG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZFNuYXBzaG90QmVmb3JlVXBkYXRlID0gbmV3IFNldCgpO1xcbn1cXG5cXG52YXIgUG9zc2libHlXZWFrU2V0ID0gdHlwZW9mIFdlYWtTZXQgPT09ICdmdW5jdGlvbicgPyBXZWFrU2V0IDogU2V0O1xcbmZ1bmN0aW9uIGxvZ0Vycm9yKGJvdW5kYXJ5LCBlcnJvckluZm8pIHtcXG4gIHZhciBzb3VyY2UgPSBlcnJvckluZm8uc291cmNlO1xcbiAgdmFyIHN0YWNrID0gZXJyb3JJbmZvLnN0YWNrO1xcblxcbiAgaWYgKHN0YWNrID09PSBudWxsICYmIHNvdXJjZSAhPT0gbnVsbCkge1xcbiAgICBzdGFjayA9IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpO1xcbiAgfVxcblxcbiAgdmFyIGNhcHR1cmVkRXJyb3IgPSB7XFxuICAgIGNvbXBvbmVudE5hbWU6IHNvdXJjZSAhPT0gbnVsbCA/IGdldENvbXBvbmVudE5hbWUoc291cmNlLnR5cGUpIDogbnVsbCxcXG4gICAgY29tcG9uZW50U3RhY2s6IHN0YWNrICE9PSBudWxsID8gc3RhY2sgOiAnJyxcXG4gICAgZXJyb3I6IGVycm9ySW5mby52YWx1ZSxcXG4gICAgZXJyb3JCb3VuZGFyeTogbnVsbCxcXG4gICAgZXJyb3JCb3VuZGFyeU5hbWU6IG51bGwsXFxuICAgIGVycm9yQm91bmRhcnlGb3VuZDogZmFsc2UsXFxuICAgIHdpbGxSZXRyeTogZmFsc2VcXG4gIH07XFxuXFxuICBpZiAoYm91bmRhcnkgIT09IG51bGwgJiYgYm91bmRhcnkudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICBjYXB0dXJlZEVycm9yLmVycm9yQm91bmRhcnkgPSBib3VuZGFyeS5zdGF0ZU5vZGU7XFxuICAgIGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lKGJvdW5kYXJ5LnR5cGUpO1xcbiAgICBjYXB0dXJlZEVycm9yLmVycm9yQm91bmRhcnlGb3VuZCA9IHRydWU7XFxuICAgIGNhcHR1cmVkRXJyb3Iud2lsbFJldHJ5ID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRyeSB7XFxuICAgIGxvZ0NhcHR1cmVkRXJyb3IoY2FwdHVyZWRFcnJvcik7XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIC8vIFRoaXMgbWV0aG9kIG11c3Qgbm90IHRocm93LCBvciBSZWFjdCBpbnRlcm5hbCBzdGF0ZSB3aWxsIGdldCBtZXNzZWQgdXAuXFxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxcbiAgICAvLyB3ZSB3YW50IHRvIHJlcG9ydCB0aGlzIGVycm9yIG91dHNpZGUgb2YgdGhlIG5vcm1hbCBzdGFjayBhcyBhIGxhc3QgcmVzb3J0LlxcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzMTg4XFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xcbiAgICAgIHRocm93IGU7XFxuICAgIH0pO1xcbiAgfVxcbn1cXG5cXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XFxuICBzdGFydFBoYXNlVGltZXIoY3VycmVudCwgJ2NvbXBvbmVudFdpbGxVbm1vdW50Jyk7XFxuICBpbnN0YW5jZS5wcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcXG4gIGluc3RhbmNlLnN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQoKTtcXG4gIHN0b3BQaGFzZVRpbWVyKCk7XFxufTsgLy8gQ2FwdHVyZSBlcnJvcnMgc28gdGhleSBkb24ndCBpbnRlcnJ1cHQgdW5tb3VudGluZy5cXG5cXG5cXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tcG9uZW50V2lsbFVubW91bnQoY3VycmVudCwgaW5zdGFuY2UpIHtcXG4gIHtcXG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNhbGxDb21wb25lbnRXaWxsVW5tb3VudFdpdGhUaW1lciwgbnVsbCwgY3VycmVudCwgaW5zdGFuY2UpO1xcblxcbiAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xcbiAgICAgIHZhciB1bm1vdW50RXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgdW5tb3VudEVycm9yKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCkge1xcbiAgdmFyIHJlZiA9IGN1cnJlbnQucmVmO1xcblxcbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xcbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHtcXG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCByZWYsIG51bGwsIG51bGwpO1xcblxcbiAgICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcXG4gICAgICAgICAgdmFyIHJlZkVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjdXJyZW50LCByZWZFcnJvcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlZi5jdXJyZW50ID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzYWZlbHlDYWxsRGVzdHJveShjdXJyZW50LCBkZXN0cm95KSB7XFxuICB7XFxuICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBkZXN0cm95LCBudWxsKTtcXG5cXG4gICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcXG4gICAgICB2YXIgZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgZXJyb3IpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uTGlmZUN5Y2xlcyhjdXJyZW50LCBmaW5pc2hlZFdvcmspIHtcXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBCbG9jazpcXG4gICAgICB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgU25hcHNob3QpIHtcXG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xcbiAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XFxuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlJyk7XFxuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxcbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cXG5cXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLnR5cGUgPT09IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSAmJiAhZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcykge1xcbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucHJvcHMgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKSB7XFxuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZShmaW5pc2hlZFdvcmsudHlwZSkgfHwgJ2luc3RhbmNlJyk7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciBzbmFwc2hvdCA9IGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSA9PT0gZmluaXNoZWRXb3JrLnR5cGUgPyBwcmV2UHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKGZpbmlzaGVkV29yay50eXBlLCBwcmV2UHJvcHMpLCBwcmV2U3RhdGUpO1xcblxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIHZhciBkaWRXYXJuU2V0ID0gZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGU7XFxuXFxuICAgICAgICAgICAgICBpZiAoc25hcHNob3QgPT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblNldC5oYXMoZmluaXNoZWRXb3JrLnR5cGUpKSB7XFxuICAgICAgICAgICAgICAgIGRpZFdhcm5TZXQuYWRkKGZpbmlzaGVkV29yay50eXBlKTtcXG5cXG4gICAgICAgICAgICAgICAgZXJyb3IoJyVzLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCk6IEEgc25hcHNob3QgdmFsdWUgKG9yIG51bGwpICcgKyAnbXVzdCBiZSByZXR1cm5lZC4gWW91IGhhdmUgcmV0dXJuZWQgdW5kZWZpbmVkLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpKTtcXG4gICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUgPSBzbmFwc2hvdDtcXG4gICAgICAgICAgICBzdG9wUGhhc2VUaW1lcigpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgIGNhc2UgSG9zdFBvcnRhbDpcXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgLy8gTm90aGluZyB0byBkbyBmb3IgdGhlc2UgY29tcG9uZW50IHR5cGVzXFxuICAgICAgcmV0dXJuO1xcbiAgfVxcblxcbiAge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUaGlzIHVuaXQgb2Ygd29yayB0YWcgc2hvdWxkIG5vdCBoYXZlIHNpZGUtZWZmZWN0cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KHRhZywgZmluaXNoZWRXb3JrKSB7XFxuICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XFxuICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlICE9PSBudWxsID8gdXBkYXRlUXVldWUubGFzdEVmZmVjdCA6IG51bGw7XFxuXFxuICBpZiAobGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XFxuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcXG5cXG4gICAgZG8ge1xcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIHRhZykgPT09IHRhZykge1xcbiAgICAgICAgLy8gVW5tb3VudFxcbiAgICAgICAgdmFyIGRlc3Ryb3kgPSBlZmZlY3QuZGVzdHJveTtcXG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xcblxcbiAgICAgICAgaWYgKGRlc3Ryb3kgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICBkZXN0cm95KCk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGVmZmVjdCA9IGVmZmVjdC5uZXh0O1xcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudCh0YWcsIGZpbmlzaGVkV29yaykge1xcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xcblxcbiAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xcbiAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XFxuXFxuICAgIGRvIHtcXG4gICAgICBpZiAoKGVmZmVjdC50YWcgJiB0YWcpID09PSB0YWcpIHtcXG4gICAgICAgIC8vIE1vdW50XFxuICAgICAgICB2YXIgY3JlYXRlID0gZWZmZWN0LmNyZWF0ZTtcXG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gY3JlYXRlKCk7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XFxuXFxuICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGRlc3Ryb3kgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICB2YXIgYWRkZW5kdW0gPSB2b2lkIDA7XFxuXFxuICAgICAgICAgICAgaWYgKGRlc3Ryb3kgPT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJyBZb3UgcmV0dXJuZWQgbnVsbC4gSWYgeW91ciBlZmZlY3QgZG9lcyBub3QgcmVxdWlyZSBjbGVhbiAnICsgJ3VwLCByZXR1cm4gdW5kZWZpbmVkIChvciBub3RoaW5nKS4nO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlc3Ryb3kudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgICAgYWRkZW5kdW0gPSAnXFxcXG5cXFxcbkl0IGxvb2tzIGxpa2UgeW91IHdyb3RlIHVzZUVmZmVjdChhc3luYyAoKSA9PiAuLi4pIG9yIHJldHVybmVkIGEgUHJvbWlzZS4gJyArICdJbnN0ZWFkLCB3cml0ZSB0aGUgYXN5bmMgZnVuY3Rpb24gaW5zaWRlIHlvdXIgZWZmZWN0ICcgKyAnYW5kIGNhbGwgaXQgaW1tZWRpYXRlbHk6XFxcXG5cXFxcbicgKyAndXNlRWZmZWN0KCgpID0+IHtcXFxcbicgKyAnICBhc3luYyBmdW5jdGlvbiBmZXRjaERhdGEoKSB7XFxcXG4nICsgJyAgICAvLyBZb3UgY2FuIGF3YWl0IGhlcmVcXFxcbicgKyAnICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgTXlBUEkuZ2V0RGF0YShzb21lSWQpO1xcXFxuJyArICcgICAgLy8gLi4uXFxcXG4nICsgJyAgfVxcXFxuJyArICcgIGZldGNoRGF0YSgpO1xcXFxuJyArIFxcXCJ9LCBbc29tZUlkXSk7IC8vIE9yIFtdIGlmIGVmZmVjdCBkb2Vzbid0IG5lZWQgcHJvcHMgb3Igc3RhdGVcXFxcblxcXFxuXFxcIiArICdMZWFybiBtb3JlIGFib3V0IGRhdGEgZmV0Y2hpbmcgd2l0aCBIb29rczogaHR0cHM6Ly9mYi5tZS9yZWFjdC1ob29rcy1kYXRhLWZldGNoaW5nJztcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgYWRkZW5kdW0gPSAnIFlvdSByZXR1cm5lZDogJyArIGRlc3Ryb3k7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGVycm9yKCdBbiBlZmZlY3QgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuIGFueXRoaW5nIGJlc2lkZXMgYSBmdW5jdGlvbiwgJyArICd3aGljaCBpcyB1c2VkIGZvciBjbGVhbi11cC4lcyVzJywgYWRkZW5kdW0sIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChmaW5pc2hlZFdvcmspKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcXG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVIb29rRWZmZWN0cyhmaW5pc2hlZFdvcmspIHtcXG4gIGlmICgoZmluaXNoZWRXb3JrLmVmZmVjdFRhZyAmIFBhc3NpdmUpICE9PSBOb0VmZmVjdCkge1xcbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcXG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XFxuICAgICAgY2FzZSBCbG9jazpcXG4gICAgICAgIHtcXG4gICAgICAgICAgLy8gVE9ETyAoIzE3OTQ1KSBXZSBzaG91bGQgY2FsbCBhbGwgcGFzc2l2ZSBkZXN0cm95IGZ1bmN0aW9ucyAoZm9yIGFsbCBmaWJlcnMpXFxuICAgICAgICAgIC8vIGJlZm9yZSBjYWxsaW5nIGFueSBjcmVhdGUgZnVuY3Rpb25zLiBUaGUgY3VycmVudCBhcHByb2FjaCBvbmx5IHNlcmlhbGl6ZXNcXG4gICAgICAgICAgLy8gdGhlc2UgZm9yIGEgc2luZ2xlIGZpYmVyLlxcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdE1vdW50KFBhc3NpdmUkMSB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrKTtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0TGlmZUN5Y2xlcyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpIHtcXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBCbG9jazpcXG4gICAgICB7XFxuICAgICAgICAvLyBBdCB0aGlzIHBvaW50IGxheW91dCBlZmZlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZCAoZHVyaW5nIG11dGF0aW9uIHBoYXNlKS5cXG4gICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXFxuICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcXG4gICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXFxuICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdE1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrKTtcXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgVXBkYXRlKSB7XFxuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XFxuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2NvbXBvbmVudERpZE1vdW50Jyk7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cXG4gICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXFxuXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkV29yay50eXBlID09PSBmaW5pc2hlZFdvcmsuZWxlbWVudFR5cGUgJiYgIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdjb21wb25lbnREaWRNb3VudC4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCgpO1xcbiAgICAgICAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHByZXZQcm9wcyA9IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSA9PT0gZmluaXNoZWRXb3JrLnR5cGUgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKGZpbmlzaGVkV29yay50eXBlLCBjdXJyZW50Lm1lbW9pemVkUHJvcHMpO1xcbiAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XFxuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2NvbXBvbmVudERpZFVwZGF0ZScpOyAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXFxuICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXFxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxcblxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XFxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcXG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZShmaW5pc2hlZFdvcmsudHlwZSkgfHwgJ2luc3RhbmNlJyk7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKTtcXG4gICAgICAgICAgICBzdG9wUGhhc2VUaW1lcigpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XFxuXFxuICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XFxuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucHJvcHMgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKSB7XFxuICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdwcm9jZXNzaW5nIHRoZSB1cGRhdGUgcXVldWUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcXG4gICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHN0YXRlIHRvIG1hdGNoIG1lbW9pemVkIHN0YXRlIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfSAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXFxuICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxcbiAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXFxuXFxuXFxuICAgICAgICAgIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgdXBkYXRlUXVldWUsIGluc3RhbmNlKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgdmFyIF91cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcXG5cXG4gICAgICAgIGlmIChfdXBkYXRlUXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XFxuXFxuICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay5jaGlsZC50YWcpIHtcXG4gICAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZ2V0UHVibGljSW5zdGFuY2UoZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZSk7XFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcXG4gICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZTtcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgX3VwZGF0ZVF1ZXVlLCBfaW5zdGFuY2UpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfaW5zdGFuY2UyID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTsgLy8gUmVuZGVyZXJzIG1heSBzY2hlZHVsZSB3b3JrIHRvIGJlIGRvbmUgYWZ0ZXIgaG9zdCBjb21wb25lbnRzIGFyZSBtb3VudGVkXFxuICAgICAgICAvLyAoZWcgRE9NIHJlbmRlcmVyIG1heSBzY2hlZHVsZSBhdXRvLWZvY3VzIGZvciBpbnB1dHMgYW5kIGZvcm0gY29udHJvbHMpLlxcbiAgICAgICAgLy8gVGhlc2UgZWZmZWN0cyBzaG91bGQgb25seSBiZSBjb21taXR0ZWQgd2hlbiBjb21wb25lbnRzIGFyZSBmaXJzdCBtb3VudGVkLFxcbiAgICAgICAgLy8gYWthIHdoZW4gdGhlcmUgaXMgbm8gY3VycmVudC9hbHRlcm5hdGUuXFxuXFxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiBmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgVXBkYXRlKSB7XFxuICAgICAgICAgIHZhciB0eXBlID0gZmluaXNoZWRXb3JrLnR5cGU7XFxuICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xcbiAgICAgICAgICBjb21taXRNb3VudChfaW5zdGFuY2UyLCB0eXBlLCBwcm9wcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICAgIHtcXG4gICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHRleHQuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAge1xcbiAgICAgICAgLy8gV2UgaGF2ZSBubyBsaWZlLWN5Y2xlcyBhc3NvY2lhdGVkIHdpdGggcG9ydGFscy5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgUHJvZmlsZXI6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgb25SZW5kZXIgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5vblJlbmRlcjtcXG5cXG4gICAgICAgICAgaWYgKHR5cGVvZiBvblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIG9uUmVuZGVyKGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzLmlkLCBjdXJyZW50ID09PSBudWxsID8gJ21vdW50JyA6ICd1cGRhdGUnLCBmaW5pc2hlZFdvcmsuYWN0dWFsRHVyYXRpb24sIGZpbmlzaGVkV29yay50cmVlQmFzZUR1cmF0aW9uLCBmaW5pc2hlZFdvcmsuYWN0dWFsU3RhcnRUaW1lLCBnZXRDb21taXRUaW1lKCksIGZpbmlzaGVkUm9vdC5tZW1vaXplZEludGVyYWN0aW9ucyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIGNvbW1pdFN1c3BlbnNlSHlkcmF0aW9uQ2FsbGJhY2tzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcXG4gICAgY2FzZSBGdW5kYW1lbnRhbENvbXBvbmVudDpcXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcXG4gICAgICByZXR1cm47XFxuICB9XFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlRoaXMgdW5pdCBvZiB3b3JrIHRhZyBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XFxuICB7XFxuICAgIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGluc2VydGVkIGJ1dCB3ZSBuZWVkIHRvIHJlY3Vyc2UgZG93biBpdHNcXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxcbiAgICB2YXIgbm9kZSA9IGZpbmlzaGVkV29yaztcXG5cXG4gICAgd2hpbGUgKHRydWUpIHtcXG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xcblxcbiAgICAgICAgaWYgKGlzSGlkZGVuKSB7XFxuICAgICAgICAgIGhpZGVJbnN0YW5jZShpbnN0YW5jZSk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICB1bmhpZGVJbnN0YW5jZShub2RlLnN0YXRlTm9kZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgICAgdmFyIF9pbnN0YW5jZTMgPSBub2RlLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgIGlmIChpc0hpZGRlbikge1xcbiAgICAgICAgICBoaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgJiYgbm9kZS5tZW1vaXplZFN0YXRlICE9PSBudWxsICYmIG5vZGUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkID09PSBudWxsKSB7XFxuICAgICAgICAvLyBGb3VuZCBhIG5lc3RlZCBTdXNwZW5zZSBjb21wb25lbnQgdGhhdCB0aW1lZCBvdXQuIFNraXAgb3ZlciB0aGVcXG4gICAgICAgIC8vIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQsIHdoaWNoIHNob3VsZCByZW1haW4gaGlkZGVuLlxcbiAgICAgICAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IG5vZGUuY2hpbGQuc2libGluZztcXG4gICAgICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSBub2RlO1xcbiAgICAgICAgbm9kZSA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgICBjb250aW51ZTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IGZpbmlzaGVkV29yaykge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdEF0dGFjaFJlZihmaW5pc2hlZFdvcmspIHtcXG4gIHZhciByZWYgPSBmaW5pc2hlZFdvcmsucmVmO1xcblxcbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xcbiAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xcbiAgICB2YXIgaW5zdGFuY2VUb1VzZTtcXG5cXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XFxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gaW5zdGFuY2U7XFxuICAgIH0gLy8gTW92ZWQgb3V0c2lkZSB0byBlbnN1cmUgRENFIHdvcmtzIHdpdGggdGhpcyBmbGFnXFxuXFxuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcmVmKGluc3RhbmNlVG9Vc2UpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHtcXG4gICAgICAgIGlmICghcmVmLmhhc093blByb3BlcnR5KCdjdXJyZW50JykpIHtcXG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJXMnLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpbmlzaGVkV29yaykpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZWYuY3VycmVudCA9IGluc3RhbmNlVG9Vc2U7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0RGV0YWNoUmVmKGN1cnJlbnQpIHtcXG4gIHZhciBjdXJyZW50UmVmID0gY3VycmVudC5yZWY7XFxuXFxuICBpZiAoY3VycmVudFJlZiAhPT0gbnVsbCkge1xcbiAgICBpZiAodHlwZW9mIGN1cnJlbnRSZWYgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBjdXJyZW50UmVmKG51bGwpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGN1cnJlbnRSZWYuY3VycmVudCA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG59IC8vIFVzZXItb3JpZ2luYXRpbmcgZXJyb3JzIChsaWZlY3ljbGVzIGFuZCByZWZzKSBzaG91bGQgbm90IGludGVycnVwdFxcbi8vIGRlbGV0aW9uLCBzbyBkb24ndCBsZXQgdGhlbSB0aHJvdy4gSG9zdC1vcmlnaW5hdGluZyBlcnJvcnMgc2hvdWxkXFxuLy8gaW50ZXJydXB0IGRlbGV0aW9uLCBzbyBpdCdzIG9rYXlcXG5cXG5cXG5mdW5jdGlvbiBjb21taXRVbm1vdW50KGZpbmlzaGVkUm9vdCwgY3VycmVudCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xcbiAgb25Db21taXRVbm1vdW50KGN1cnJlbnQpO1xcblxcbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICBjYXNlIEJsb2NrOlxcbiAgICAgIHtcXG4gICAgICAgIHZhciB1cGRhdGVRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XFxuXFxuICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgICAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZS5sYXN0RWZmZWN0O1xcblxcbiAgICAgICAgICBpZiAobGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcXG5cXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAvLyBXaGVuIHRoZSBvd25lciBmaWJlciBpcyBkZWxldGVkLCB0aGUgZGVzdHJveSBmdW5jdGlvbiBvZiBhIHBhc3NpdmVcXG4gICAgICAgICAgICAgIC8vIGVmZmVjdCBob29rIGlzIGNhbGxlZCBkdXJpbmcgdGhlIHN5bmNocm9ub3VzIGNvbW1pdCBwaGFzZS4gVGhpcyBpc1xcbiAgICAgICAgICAgICAgLy8gYSBjb25jZXNzaW9uIHRvIGltcGxlbWVudGF0aW9uIGNvbXBsZXhpdHkuIENhbGxpbmcgaXQgaW4gdGhlXFxuICAgICAgICAgICAgICAvLyBwYXNzaXZlIGVmZmVjdCBwaGFzZSAobGlrZSB0aGV5IHVzdWFsbHkgYXJlLCB3aGVuIGRlcGVuZGVuY2llc1xcbiAgICAgICAgICAgICAgLy8gY2hhbmdlIGR1cmluZyBhbiB1cGRhdGUpIHdvdWxkIHJlcXVpcmUgZWl0aGVyIHRyYXZlcnNpbmcgdGhlXFxuICAgICAgICAgICAgICAvLyBjaGlsZHJlbiBvZiB0aGUgZGVsZXRlZCBmaWJlciBhZ2Fpbiwgb3IgaW5jbHVkaW5nIHVubW91bnQgZWZmZWN0c1xcbiAgICAgICAgICAgICAgLy8gYXMgcGFydCBvZiB0aGUgZmliZXIgZWZmZWN0IGxpc3QuXFxuICAgICAgICAgICAgICAvL1xcbiAgICAgICAgICAgICAgLy8gQmVjYXVzZSB0aGlzIGlzIGR1cmluZyB0aGUgc3luYyBjb21taXQgcGhhc2UsIHdlIG5lZWQgdG8gY2hhbmdlXFxuICAgICAgICAgICAgICAvLyB0aGUgcHJpb3JpdHkuXFxuICAgICAgICAgICAgICAvL1xcbiAgICAgICAgICAgICAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzIGltcGxlbWVudGF0aW9uIHRyYWRlIG9mZi5cXG4gICAgICAgICAgICAgIHZhciBwcmlvcml0eUxldmVsID0gcmVuZGVyUHJpb3JpdHlMZXZlbCA+IE5vcm1hbFByaW9yaXR5ID8gTm9ybWFsUHJpb3JpdHkgOiByZW5kZXJQcmlvcml0eUxldmVsO1xcbiAgICAgICAgICAgICAgcnVuV2l0aFByaW9yaXR5JDEocHJpb3JpdHlMZXZlbCwgZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XFxuXFxuICAgICAgICAgICAgICAgIGRvIHtcXG4gICAgICAgICAgICAgICAgICB2YXIgX2Rlc3Ryb3kgPSBlZmZlY3QuZGVzdHJveTtcXG5cXG4gICAgICAgICAgICAgICAgICBpZiAoX2Rlc3Ryb3kgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICAgICAgICAgICAgc2FmZWx5Q2FsbERlc3Ryb3koY3VycmVudCwgX2Rlc3Ryb3kpO1xcbiAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcXG4gICAgICAgICAgICAgICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XFxuICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQpO1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gY3VycmVudC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChjdXJyZW50LCBpbnN0YW5jZSk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQpO1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICAgIHtcXG4gICAgICAgIC8vIFRPRE86IHRoaXMgaXMgcmVjdXJzaXZlLlxcbiAgICAgICAgLy8gV2UgYXJlIGFsc28gbm90IHVzaW5nIHRoaXMgcGFyZW50IGJlY2F1c2VcXG4gICAgICAgIC8vIHRoZSBwb3J0YWwgd2lsbCBnZXQgcHVzaGVkIGltbWVkaWF0ZWx5LlxcbiAgICAgICAge1xcbiAgICAgICAgICB1bm1vdW50SG9zdENvbXBvbmVudHMoZmluaXNoZWRSb290LCBjdXJyZW50LCByZW5kZXJQcmlvcml0eUxldmVsKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgRnVuZGFtZW50YWxDb21wb25lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBEZWh5ZHJhdGVkRnJhZ21lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcXG4gICAgICB7XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXROZXN0ZWRVbm1vdW50cyhmaW5pc2hlZFJvb3QsIHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcXG4gIC8vIFdoaWxlIHdlJ3JlIGluc2lkZSBhIHJlbW92ZWQgaG9zdCBub2RlIHdlIGRvbid0IHdhbnQgdG8gY2FsbFxcbiAgLy8gcmVtb3ZlQ2hpbGQgb24gdGhlIGlubmVyIG5vZGVzIGJlY2F1c2UgdGhleSdyZSByZW1vdmVkIGJ5IHRoZSB0b3BcXG4gIC8vIGNhbGwgYW55d2F5LiBXZSBhbHNvIHdhbnQgdG8gY2FsbCBjb21wb25lbnRXaWxsVW5tb3VudCBvbiBhbGxcXG4gIC8vIGNvbXBvc2l0ZXMgYmVmb3JlIHRoaXMgaG9zdCBub2RlIGlzIHJlbW92ZWQgZnJvbSB0aGUgdHJlZS4gVGhlcmVmb3JlXFxuICAvLyB3ZSBkbyBhbiBpbm5lciBsb29wIHdoaWxlIHdlJ3JlIHN0aWxsIGluc2lkZSB0aGUgaG9zdCBub2RlLlxcbiAgdmFyIG5vZGUgPSByb290O1xcblxcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgY29tbWl0VW5tb3VudChmaW5pc2hlZFJvb3QsIG5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpOyAvLyBWaXNpdCBjaGlsZHJlbiBiZWNhdXNlIHRoZXkgbWF5IGNvbnRhaW4gbW9yZSBjb21wb3NpdGUgb3IgaG9zdCBub2Rlcy5cXG4gICAgLy8gU2tpcCBwb3J0YWxzIGJlY2F1c2UgY29tbWl0VW5tb3VudCgpIGN1cnJlbnRseSB2aXNpdHMgdGhlbSByZWN1cnNpdmVseS5cXG5cXG4gICAgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwgJiYgKCAvLyBJZiB3ZSB1c2UgbXV0YXRpb24gd2UgZHJpbGwgZG93biBpbnRvIHBvcnRhbHMgdXNpbmcgY29tbWl0VW5tb3VudCBhYm92ZS5cXG4gICAgLy8gSWYgd2UgZG9uJ3QgdXNlIG11dGF0aW9uIHdlIGRyaWxsIGRvd24gaW50byBwb3J0YWxzIGhlcmUgaW5zdGVhZC5cXG4gICAgIG5vZGUudGFnICE9PSBIb3N0UG9ydGFsKSkge1xcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gcm9vdCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSByb290KSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfVxcblxcbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGRldGFjaEZpYmVyKGN1cnJlbnQpIHtcXG4gIHZhciBhbHRlcm5hdGUgPSBjdXJyZW50LmFsdGVybmF0ZTsgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXJzIHRvIGRpc2Nvbm5lY3QgaXQgZnJvbSB0aGUgdHJlZS4gSWRlYWxseSwgd2VcXG4gIC8vIHNob3VsZCBjbGVhciB0aGUgY2hpbGQgcG9pbnRlciBvZiB0aGUgcGFyZW50IGFsdGVybmF0ZSB0byBsZXQgdGhpc1xcbiAgLy8gZ2V0IEdDOmVkIGJ1dCB3ZSBkb24ndCBrbm93IHdoaWNoIGZvciBzdXJlIHdoaWNoIHBhcmVudCBpcyB0aGUgY3VycmVudFxcbiAgLy8gb25lIHNvIHdlJ2xsIHNldHRsZSBmb3IgR0M6aW5nIHRoZSBzdWJ0cmVlIG9mIHRoaXMgY2hpbGQuIFRoaXMgY2hpbGRcXG4gIC8vIGl0c2VsZiB3aWxsIGJlIEdDOmVkIHdoZW4gdGhlIHBhcmVudCB1cGRhdGVzIHRoZSBuZXh0IHRpbWUuXFxuXFxuICBjdXJyZW50LnJldHVybiA9IG51bGw7XFxuICBjdXJyZW50LmNoaWxkID0gbnVsbDtcXG4gIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICBjdXJyZW50LnVwZGF0ZVF1ZXVlID0gbnVsbDtcXG4gIGN1cnJlbnQuZGVwZW5kZW5jaWVzID0gbnVsbDtcXG4gIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcXG4gIGN1cnJlbnQuZmlyc3RFZmZlY3QgPSBudWxsO1xcbiAgY3VycmVudC5sYXN0RWZmZWN0ID0gbnVsbDtcXG4gIGN1cnJlbnQucGVuZGluZ1Byb3BzID0gbnVsbDtcXG4gIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA9IG51bGw7XFxuICBjdXJyZW50LnN0YXRlTm9kZSA9IG51bGw7XFxuXFxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XFxuICAgIGRldGFjaEZpYmVyKGFsdGVybmF0ZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldEhvc3RQYXJlbnRGaWJlcihmaWJlcikge1xcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcXG5cXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcXG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XFxuICAgICAgcmV0dXJuIHBhcmVudDtcXG4gICAgfVxcblxcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xcbiAgfVxcblxcbiAge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCB0byBmaW5kIGEgaG9zdCBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzSG9zdFBhcmVudChmaWJlcikge1xcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFBvcnRhbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0SG9zdFNpYmxpbmcoZmliZXIpIHtcXG4gIC8vIFdlJ3JlIGdvaW5nIHRvIHNlYXJjaCBmb3J3YXJkIGludG8gdGhlIHRyZWUgdW50aWwgd2UgZmluZCBhIHNpYmxpbmcgaG9zdFxcbiAgLy8gbm9kZS4gVW5mb3J0dW5hdGVseSwgaWYgbXVsdGlwbGUgaW5zZXJ0aW9ucyBhcmUgZG9uZSBpbiBhIHJvdyB3ZSBoYXZlIHRvXFxuICAvLyBzZWFyY2ggcGFzdCB0aGVtLiBUaGlzIGxlYWRzIHRvIGV4cG9uZW50aWFsIHNlYXJjaCBmb3IgdGhlIG5leHQgc2libGluZy5cXG4gIC8vIFRPRE86IEZpbmQgYSBtb3JlIGVmZmljaWVudCB3YXkgdG8gZG8gdGhpcy5cXG4gIHZhciBub2RlID0gZmliZXI7XFxuXFxuICBzaWJsaW5nczogd2hpbGUgKHRydWUpIHtcXG4gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55dGhpbmcsIGxldCdzIHRyeSB0aGUgbmV4dCBzaWJsaW5nLlxcbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IGlzSG9zdFBhcmVudChub2RlLnJldHVybikpIHtcXG4gICAgICAgIC8vIElmIHdlIHBvcCBvdXQgb2YgdGhlIHJvb3Qgb3IgaGl0IHRoZSBwYXJlbnQgdGhlIGZpYmVyIHdlIGFyZSB0aGVcXG4gICAgICAgIC8vIGxhc3Qgc2libGluZy5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgIH1cXG5cXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xcbiAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcblxcbiAgICB3aGlsZSAobm9kZS50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgbm9kZS50YWcgIT09IEhvc3RUZXh0ICYmIG5vZGUudGFnICE9PSBEZWh5ZHJhdGVkRnJhZ21lbnQpIHtcXG4gICAgICAvLyBJZiBpdCBpcyBub3QgaG9zdCBub2RlIGFuZCwgd2UgbWlnaHQgaGF2ZSBhIGhvc3Qgbm9kZSBpbnNpZGUgaXQuXFxuICAgICAgLy8gVHJ5IHRvIHNlYXJjaCBkb3duIHVudGlsIHdlIGZpbmQgb25lLlxcbiAgICAgIGlmIChub2RlLmVmZmVjdFRhZyAmIFBsYWNlbWVudCkge1xcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXFxuICAgICAgICBjb250aW51ZSBzaWJsaW5ncztcXG4gICAgICB9IC8vIElmIHdlIGRvbid0IGhhdmUgYSBjaGlsZCwgdHJ5IHRoZSBzaWJsaW5ncyBpbnN0ZWFkLlxcbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXFxuXFxuXFxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICB9XFxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cXG5cXG5cXG4gICAgaWYgKCEobm9kZS5lZmZlY3RUYWcgJiBQbGFjZW1lbnQpKSB7XFxuICAgICAgLy8gRm91bmQgaXQhXFxuICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspIHtcXG5cXG5cXG4gIHZhciBwYXJlbnRGaWJlciA9IGdldEhvc3RQYXJlbnRGaWJlcihmaW5pc2hlZFdvcmspOyAvLyBOb3RlOiB0aGVzZSB0d28gdmFyaWFibGVzICptdXN0KiBhbHdheXMgYmUgdXBkYXRlZCB0b2dldGhlci5cXG5cXG4gIHZhciBwYXJlbnQ7XFxuICB2YXIgaXNDb250YWluZXI7XFxuICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xcblxcbiAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZTtcXG4gICAgICBpc0NvbnRhaW5lciA9IGZhbHNlO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgIGlzQ29udGFpbmVyID0gdHJ1ZTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgIGlzQ29udGFpbmVyID0gdHJ1ZTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBGdW5kYW1lbnRhbENvbXBvbmVudDpcXG5cXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lLW5vLWZhbGx0aHJvdWdoXFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkludmFsaWQgaG9zdCBwYXJlbnQgZmliZXIuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gIH1cXG5cXG4gIGlmIChwYXJlbnRGaWJlci5lZmZlY3RUYWcgJiBDb250ZW50UmVzZXQpIHtcXG4gICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xcbiAgICByZXNldFRleHRDb250ZW50KHBhcmVudCk7IC8vIENsZWFyIENvbnRlbnRSZXNldCBmcm9tIHRoZSBlZmZlY3QgdGFnXFxuXFxuICAgIHBhcmVudEZpYmVyLmVmZmVjdFRhZyAmPSB+Q29udGVudFJlc2V0O1xcbiAgfVxcblxcbiAgdmFyIGJlZm9yZSA9IGdldEhvc3RTaWJsaW5nKGZpbmlzaGVkV29yayk7IC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGluc2VydGVkIGJ1dCB3ZSBuZWVkIHRvIHJlY3Vyc2UgZG93biBpdHNcXG4gIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cXG5cXG4gIGlmIChpc0NvbnRhaW5lcikge1xcbiAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xcbiAgfSBlbHNlIHtcXG4gICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKG5vZGUsIGJlZm9yZSwgcGFyZW50KSB7XFxuICB2YXIgdGFnID0gbm9kZS50YWc7XFxuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XFxuXFxuICBpZiAoaXNIb3N0IHx8IGVuYWJsZUZ1bmRhbWVudGFsQVBJICkge1xcbiAgICB2YXIgc3RhdGVOb2RlID0gaXNIb3N0ID8gbm9kZS5zdGF0ZU5vZGUgOiBub2RlLnN0YXRlTm9kZS5pbnN0YW5jZTtcXG5cXG4gICAgaWYgKGJlZm9yZSkge1xcbiAgICAgIGluc2VydEluQ29udGFpbmVyQmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFwcGVuZENoaWxkVG9Db250YWluZXIocGFyZW50LCBzdGF0ZU5vZGUpO1xcbiAgICB9XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcXG4gICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZDtcXG5cXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihjaGlsZCwgYmVmb3JlLCBwYXJlbnQpO1xcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcXG5cXG4gICAgICB3aGlsZSAoc2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XFxuICAgICAgICBzaWJsaW5nID0gc2libGluZy5zaWJsaW5nO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcXG4gIHZhciB0YWcgPSBub2RlLnRhZztcXG4gIHZhciBpc0hvc3QgPSB0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dDtcXG5cXG4gIGlmIChpc0hvc3QgfHwgZW5hYmxlRnVuZGFtZW50YWxBUEkgKSB7XFxuICAgIHZhciBzdGF0ZU5vZGUgPSBpc0hvc3QgPyBub2RlLnN0YXRlTm9kZSA6IG5vZGUuc3RhdGVOb2RlLmluc3RhbmNlO1xcblxcbiAgICBpZiAoYmVmb3JlKSB7XFxuICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFwcGVuZENoaWxkKHBhcmVudCwgc3RhdGVOb2RlKTtcXG4gICAgfVxcbiAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSB7XFxuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XFxuXFxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShjaGlsZCwgYmVmb3JlLCBwYXJlbnQpO1xcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcXG5cXG4gICAgICB3aGlsZSAoc2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcXG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVubW91bnRIb3N0Q29tcG9uZW50cyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcXG4gIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGRlbGV0ZWQgYnV0IHdlIG5lZWQgdG8gcmVjdXJzZSBkb3duIGl0c1xcbiAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxcbiAgdmFyIG5vZGUgPSBjdXJyZW50OyAvLyBFYWNoIGl0ZXJhdGlvbiwgY3VycmVudFBhcmVudCBpcyBwb3B1bGF0ZWQgd2l0aCBub2RlJ3MgaG9zdCBwYXJlbnQgaWYgbm90XFxuICAvLyBjdXJyZW50UGFyZW50SXNWYWxpZC5cXG5cXG4gIHZhciBjdXJyZW50UGFyZW50SXNWYWxpZCA9IGZhbHNlOyAvLyBOb3RlOiB0aGVzZSB0d28gdmFyaWFibGVzICptdXN0KiBhbHdheXMgYmUgdXBkYXRlZCB0b2dldGhlci5cXG5cXG4gIHZhciBjdXJyZW50UGFyZW50O1xcbiAgdmFyIGN1cnJlbnRQYXJlbnRJc0NvbnRhaW5lcjtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIGlmICghY3VycmVudFBhcmVudElzVmFsaWQpIHtcXG4gICAgICB2YXIgcGFyZW50ID0gbm9kZS5yZXR1cm47XFxuXFxuICAgICAgZmluZFBhcmVudDogd2hpbGUgKHRydWUpIHtcXG4gICAgICAgIGlmICghKHBhcmVudCAhPT0gbnVsbCkpIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiRXhwZWN0ZWQgdG8gZmluZCBhIGhvc3QgcGFyZW50LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBzd2l0Y2ggKHBhcmVudC50YWcpIHtcXG4gICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQgPSBwYXJlbnRTdGF0ZU5vZGU7XFxuICAgICAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gZmFsc2U7XFxuICAgICAgICAgICAgYnJlYWsgZmluZFBhcmVudDtcXG5cXG4gICAgICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgICAgICBjdXJyZW50UGFyZW50ID0gcGFyZW50U3RhdGVOb2RlLmNvbnRhaW5lckluZm87XFxuICAgICAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTtcXG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xcblxcbiAgICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XFxuICAgICAgICAgICAgYnJlYWsgZmluZFBhcmVudDtcXG5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIGN1cnJlbnRQYXJlbnRJc1ZhbGlkID0gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XFxuICAgICAgY29tbWl0TmVzdGVkVW5tb3VudHMoZmluaXNoZWRSb290LCBub2RlLCByZW5kZXJQcmlvcml0eUxldmVsKTsgLy8gQWZ0ZXIgYWxsIHRoZSBjaGlsZHJlbiBoYXZlIHVubW91bnRlZCwgaXQgaXMgbm93IHNhZmUgdG8gcmVtb3ZlIHRoZVxcbiAgICAgIC8vIG5vZGUgZnJvbSB0aGUgdHJlZS5cXG5cXG4gICAgICBpZiAoY3VycmVudFBhcmVudElzQ29udGFpbmVyKSB7XFxuICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoY3VycmVudFBhcmVudCwgbm9kZS5zdGF0ZU5vZGUpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByZW1vdmVDaGlsZChjdXJyZW50UGFyZW50LCBub2RlLnN0YXRlTm9kZSk7XFxuICAgICAgfSAvLyBEb24ndCB2aXNpdCBjaGlsZHJlbiBiZWNhdXNlIHdlIGFscmVhZHkgdmlzaXRlZCB0aGVtLlxcblxcbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0UG9ydGFsKSB7XFxuICAgICAgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIFdoZW4gd2UgZ28gaW50byBhIHBvcnRhbCwgaXQgYmVjb21lcyB0aGUgcGFyZW50IHRvIHJlbW92ZSBmcm9tLlxcbiAgICAgICAgLy8gV2Ugd2lsbCByZWFzc2lnbiBpdCBiYWNrIHdoZW4gd2UgcG9wIHRoZSBwb3J0YWwgb24gdGhlIHdheSB1cC5cXG4gICAgICAgIGN1cnJlbnRQYXJlbnQgPSBub2RlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTsgLy8gVmlzaXQgY2hpbGRyZW4gYmVjYXVzZSBwb3J0YWxzIG1pZ2h0IGNvbnRhaW4gaG9zdCBjb21wb25lbnRzLlxcblxcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgICBjb250aW51ZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgY29tbWl0VW5tb3VudChmaW5pc2hlZFJvb3QsIG5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpOyAvLyBWaXNpdCBjaGlsZHJlbiBiZWNhdXNlIHdlIG1heSBmaW5kIG1vcmUgaG9zdCBjb21wb25lbnRzIGJlbG93LlxcblxcbiAgICAgIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gY3VycmVudCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBjdXJyZW50KSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG5cXG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcXG4gICAgICAgIC8vIFdoZW4gd2UgZ28gb3V0IG9mIHRoZSBwb3J0YWwsIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgcGFyZW50LlxcbiAgICAgICAgLy8gU2luY2Ugd2UgZG9uJ3Qga2VlcCBhIHN0YWNrIG9mIHRoZW0sIHdlIHdpbGwgc2VhcmNoIGZvciBpdC5cXG4gICAgICAgIGN1cnJlbnRQYXJlbnRJc1ZhbGlkID0gZmFsc2U7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0RGVsZXRpb24oZmluaXNoZWRSb290LCBjdXJyZW50LCByZW5kZXJQcmlvcml0eUxldmVsKSB7XFxuICB7XFxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQuXFxuICAgIC8vIERldGFjaCByZWZzIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50KCkgb24gdGhlIHdob2xlIHN1YnRyZWUuXFxuICAgIHVubW91bnRIb3N0Q29tcG9uZW50cyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xcbiAgfVxcblxcbiAgZGV0YWNoRmliZXIoY3VycmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFdvcmsoY3VycmVudCwgZmluaXNoZWRXb3JrKSB7XFxuXFxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgY2FzZSBGb3J3YXJkUmVmOlxcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XFxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBCbG9jazpcXG4gICAgICB7XFxuICAgICAgICAvLyBMYXlvdXQgZWZmZWN0cyBhcmUgZGVzdHJveWVkIGR1cmluZyB0aGUgbXV0YXRpb24gcGhhc2Ugc28gdGhhdCBhbGxcXG4gICAgICAgIC8vIGRlc3Ryb3kgZnVuY3Rpb25zIGZvciBhbGwgZmliZXJzIGFyZSBjYWxsZWQgYmVmb3JlIGFueSBjcmVhdGUgZnVuY3Rpb25zLlxcbiAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxcbiAgICAgICAgLy8gZS5nLiBhIGRlc3Ryb3kgZnVuY3Rpb24gaW4gb25lIGNvbXBvbmVudCBzaG91bGQgbmV2ZXIgb3ZlcnJpZGUgYSByZWYgc2V0XFxuICAgICAgICAvLyBieSBhIGNyZWF0ZSBmdW5jdGlvbiBpbiBhbm90aGVyIGNvbXBvbmVudCBkdXJpbmcgdGhlIHNhbWUgY29tbWl0LlxcbiAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAoaW5zdGFuY2UgIT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cXG4gICAgICAgICAgdmFyIG5ld1Byb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcXG4gICAgICAgICAgLy8gYXMgdGhlIG5ld1Byb3BzLiBUaGUgdXBkYXRlUGF5bG9hZCB3aWxsIGNvbnRhaW4gdGhlIHJlYWwgY2hhbmdlIGluXFxuICAgICAgICAgIC8vIHRoaXMgY2FzZS5cXG5cXG4gICAgICAgICAgdmFyIG9sZFByb3BzID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG5ld1Byb3BzO1xcbiAgICAgICAgICB2YXIgdHlwZSA9IGZpbmlzaGVkV29yay50eXBlOyAvLyBUT0RPOiBUeXBlIHRoZSB1cGRhdGVRdWV1ZSB0byBiZSBzcGVjaWZpYyB0byBob3N0IGNvbXBvbmVudHMuXFxuXFxuICAgICAgICAgIHZhciB1cGRhdGVQYXlsb2FkID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xcbiAgICAgICAgICBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWUgPSBudWxsO1xcblxcbiAgICAgICAgICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIGNvbW1pdFVwZGF0ZShpbnN0YW5jZSwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0VGV4dDpcXG4gICAgICB7XFxuICAgICAgICBpZiAoIShmaW5pc2hlZFdvcmsuc3RhdGVOb2RlICE9PSBudWxsKSkge1xcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUaGlzIHNob3VsZCBoYXZlIGEgdGV4dCBub2RlIGluaXRpYWxpemVkLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIHRleHRJbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XFxuICAgICAgICB2YXIgbmV3VGV4dCA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzOyAvLyBGb3IgaHlkcmF0aW9uIHdlIHJldXNlIHRoZSB1cGRhdGUgcGF0aCBidXQgd2UgdHJlYXQgdGhlIG9sZFByb3BzXFxuICAgICAgICAvLyBhcyB0aGUgbmV3UHJvcHMuIFRoZSB1cGRhdGVQYXlsb2FkIHdpbGwgY29udGFpbiB0aGUgcmVhbCBjaGFuZ2UgaW5cXG4gICAgICAgIC8vIHRoaXMgY2FzZS5cXG5cXG4gICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG5ld1RleHQ7XFxuICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIF9yb290ID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgICAgaWYgKF9yb290Lmh5ZHJhdGUpIHtcXG4gICAgICAgICAgICAvLyBXZSd2ZSBqdXN0IGh5ZHJhdGVkLiBObyBuZWVkIHRvIGh5ZHJhdGUgYWdhaW4uXFxuICAgICAgICAgICAgX3Jvb3QuaHlkcmF0ZSA9IGZhbHNlO1xcbiAgICAgICAgICAgIGNvbW1pdEh5ZHJhdGVkQ29udGFpbmVyKF9yb290LmNvbnRhaW5lckluZm8pO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICAgIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgY29tbWl0U3VzcGVuc2VDb21wb25lbnQoZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlRoaXMgdW5pdCBvZiB3b3JrIHRhZyBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUNvbXBvbmVudChmaW5pc2hlZFdvcmspIHtcXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xcbiAgdmFyIG5ld0RpZFRpbWVvdXQ7XFxuICB2YXIgcHJpbWFyeUNoaWxkUGFyZW50ID0gZmluaXNoZWRXb3JrO1xcblxcbiAgaWYgKG5ld1N0YXRlID09PSBudWxsKSB7XFxuICAgIG5ld0RpZFRpbWVvdXQgPSBmYWxzZTtcXG4gIH0gZWxzZSB7XFxuICAgIG5ld0RpZFRpbWVvdXQgPSB0cnVlO1xcbiAgICBwcmltYXJ5Q2hpbGRQYXJlbnQgPSBmaW5pc2hlZFdvcmsuY2hpbGQ7XFxuICAgIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpO1xcbiAgfVxcblxcbiAgaWYgKCBwcmltYXJ5Q2hpbGRQYXJlbnQgIT09IG51bGwpIHtcXG4gICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ocHJpbWFyeUNoaWxkUGFyZW50LCBuZXdEaWRUaW1lb3V0KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspIHtcXG5cXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKG5ld1N0YXRlID09PSBudWxsKSB7XFxuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcXG5cXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcblxcbiAgICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XFxuXFxuICAgICAgICBpZiAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKSB7XFxuICAvLyBJZiB0aGlzIGJvdW5kYXJ5IGp1c3QgdGltZWQgb3V0LCB0aGVuIGl0IHdpbGwgaGF2ZSBhIHNldCBvZiB0aGVuYWJsZXMuXFxuICAvLyBGb3IgZWFjaCB0aGVuYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxcbiAgLy8gYXR0ZW1wdHMgdG8gcmUtcmVuZGVyIHRoZSBib3VuZGFyeSBpbiB0aGUgcHJpbWFyeSAocHJlLXRpbWVvdXQpIHN0YXRlLlxcbiAgdmFyIHRoZW5hYmxlcyA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcXG5cXG4gIGlmICh0aGVuYWJsZXMgIT09IG51bGwpIHtcXG4gICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcXG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xcblxcbiAgICBpZiAocmV0cnlDYWNoZSA9PT0gbnVsbCkge1xcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xcbiAgICB9XFxuXFxuICAgIHRoZW5hYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh0aGVuYWJsZSkge1xcbiAgICAgIC8vIE1lbW9pemUgdXNpbmcgdGhlIGJvdW5kYXJ5IGZpYmVyIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cXG4gICAgICB2YXIgcmV0cnkgPSByZXNvbHZlUmV0cnlUaGVuYWJsZS5iaW5kKG51bGwsIGZpbmlzaGVkV29yaywgdGhlbmFibGUpO1xcblxcbiAgICAgIGlmICghcmV0cnlDYWNoZS5oYXModGhlbmFibGUpKSB7XFxuICAgICAgICB7XFxuICAgICAgICAgIGlmICh0aGVuYWJsZS5fX3JlYWN0RG9Ob3RUcmFjZUludGVyYWN0aW9ucyAhPT0gdHJ1ZSkge1xcbiAgICAgICAgICAgIHJldHJ5ID0gdHJhY2luZy51bnN0YWJsZV93cmFwKHJldHJ5KTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0cnlDYWNoZS5hZGQodGhlbmFibGUpO1xcbiAgICAgICAgdGhlbmFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xcbiAgICAgIH1cXG4gICAgfSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFJlc2V0VGV4dENvbnRlbnQoY3VycmVudCkge1xcblxcbiAgcmVzZXRUZXh0Q29udGVudChjdXJyZW50LnN0YXRlTm9kZSk7XFxufVxcblxcbnZhciBQb3NzaWJseVdlYWtNYXAkMSA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcXG5cXG5mdW5jdGlvbiBjcmVhdGVSb290RXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXhwaXJhdGlvblRpbWUsIG51bGwpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxcblxcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcXG4gIC8vIGJlaW5nIGNhbGxlZCBcXFwiZWxlbWVudFxcXCIuXFxuXFxuICB1cGRhdGUucGF5bG9hZCA9IHtcXG4gICAgZWxlbWVudDogbnVsbFxcbiAgfTtcXG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcXG5cXG4gIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcXG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcXG4gICAgbG9nRXJyb3IoZmliZXIsIGVycm9ySW5mbyk7XFxuICB9O1xcblxcbiAgcmV0dXJuIHVwZGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBleHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgbnVsbCk7XFxuICB1cGRhdGUudGFnID0gQ2FwdHVyZVVwZGF0ZTtcXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcXG5cXG4gIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xcblxcbiAgICB1cGRhdGUucGF5bG9hZCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICBsb2dFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcXG4gICAgICByZXR1cm4gZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yJDEpO1xcbiAgICB9O1xcbiAgfVxcblxcbiAgdmFyIGluc3QgPSBmaWJlci5zdGF0ZU5vZGU7XFxuXFxuICBpZiAoaW5zdCAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdC5jb21wb25lbnREaWRDYXRjaCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjaygpIHtcXG4gICAgICB7XFxuICAgICAgICBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcik7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAvLyBUbyBwcmVzZXJ2ZSB0aGUgcHJlZXhpc3RpbmcgcmV0cnkgYmVoYXZpb3Igb2YgZXJyb3IgYm91bmRhcmllcyxcXG4gICAgICAgIC8vIHdlIGtlZXAgdHJhY2sgb2Ygd2hpY2ggb25lcyBhbHJlYWR5IGZhaWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cXG4gICAgICAgIC8vIFRoaXMgZ2V0cyByZXNldCBiZWZvcmUgd2UgeWllbGQgYmFjayB0byB0aGUgYnJvd3Nlci5cXG4gICAgICAgIC8vIFRPRE86IFdhcm4gaW4gc3RyaWN0IG1vZGUgaWYgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzXFxuICAgICAgICAvLyBub3QgZGVmaW5lZC5cXG4gICAgICAgIG1hcmtMZWdhY3lFcnJvckJvdW5kYXJ5QXNGYWlsZWQodGhpcyk7IC8vIE9ubHkgbG9nIGhlcmUgaWYgY29tcG9uZW50RGlkQ2F0Y2ggaXMgdGhlIG9ubHkgZXJyb3IgYm91bmRhcnkgbWV0aG9kIGRlZmluZWRcXG5cXG4gICAgICAgIGxvZ0Vycm9yKGZpYmVyLCBlcnJvckluZm8pO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcXG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XFxuICAgICAgdGhpcy5jb21wb25lbnREaWRDYXRjaChlcnJvciQxLCB7XFxuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXFxuICAgICAgfSk7XFxuXFxuICAgICAge1xcbiAgICAgICAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgLy8gSWYgY29tcG9uZW50RGlkQ2F0Y2ggaXMgdGhlIG9ubHkgZXJyb3IgYm91bmRhcnkgbWV0aG9kIGRlZmluZWQsXFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxcbiAgICAgICAgICAvLyBJZiBubyBzdGF0ZSB1cGRhdGUgaXMgc2NoZWR1bGVkIHRoZW4gdGhlIGJvdW5kYXJ5IHdpbGwgc3dhbGxvdyB0aGUgZXJyb3IuXFxuICAgICAgICAgIGlmIChmaWJlci5leHBpcmF0aW9uVGltZSAhPT0gU3luYykge1xcbiAgICAgICAgICAgIGVycm9yKCclczogRXJyb3IgYm91bmRhcmllcyBzaG91bGQgaW1wbGVtZW50IGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcigpLiAnICsgJ0luIHRoYXQgbWV0aG9kLCByZXR1cm4gYSBzdGF0ZSB1cGRhdGUgdG8gZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIG9yIGZhbGxiYWNrIFVJLicsIGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ1Vua25vd24nKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcik7XFxuICAgIH07XFxuICB9XFxuXFxuICByZXR1cm4gdXBkYXRlO1xcbn1cXG5cXG5mdW5jdGlvbiBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgcmVuZGVyRXhwaXJhdGlvblRpbWUsIHRoZW5hYmxlKSB7XFxuICAvLyBBdHRhY2ggYSBsaXN0ZW5lciB0byB0aGUgcHJvbWlzZSB0byBcXFwicGluZ1xcXCIgdGhlIHJvb3QgYW5kIHJldHJ5LiBCdXRcXG4gIC8vIG9ubHkgaWYgb25lIGRvZXMgbm90IGFscmVhZHkgZXhpc3QgZm9yIHRoZSBjdXJyZW50IHJlbmRlciBleHBpcmF0aW9uXFxuICAvLyB0aW1lICh3aGljaCBhY3RzIGxpa2UgYSBcXFwidGhyZWFkIElEXFxcIiBoZXJlKS5cXG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcXG4gIHZhciB0aHJlYWRJRHM7XFxuXFxuICBpZiAocGluZ0NhY2hlID09PSBudWxsKSB7XFxuICAgIHBpbmdDYWNoZSA9IHJvb3QucGluZ0NhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCQxKCk7XFxuICAgIHRocmVhZElEcyA9IG5ldyBTZXQoKTtcXG4gICAgcGluZ0NhY2hlLnNldCh0aGVuYWJsZSwgdGhyZWFkSURzKTtcXG4gIH0gZWxzZSB7XFxuICAgIHRocmVhZElEcyA9IHBpbmdDYWNoZS5nZXQodGhlbmFibGUpO1xcblxcbiAgICBpZiAodGhyZWFkSURzID09PSB1bmRlZmluZWQpIHtcXG4gICAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XFxuICAgICAgcGluZ0NhY2hlLnNldCh0aGVuYWJsZSwgdGhyZWFkSURzKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKCF0aHJlYWRJRHMuaGFzKHJlbmRlckV4cGlyYXRpb25UaW1lKSkge1xcbiAgICAvLyBNZW1vaXplIHVzaW5nIHRoZSB0aHJlYWQgSUQgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxcbiAgICB0aHJlYWRJRHMuYWRkKHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgdmFyIHBpbmcgPSBwaW5nU3VzcGVuZGVkUm9vdC5iaW5kKG51bGwsIHJvb3QsIHRoZW5hYmxlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHRoZW5hYmxlLnRoZW4ocGluZywgcGluZyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHRocm93RXhjZXB0aW9uKHJvb3QsIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgdmFsdWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUaGUgc291cmNlIGZpYmVyIGRpZCBub3QgY29tcGxldGUuXFxuICBzb3VyY2VGaWJlci5lZmZlY3RUYWcgfD0gSW5jb21wbGV0ZTsgLy8gSXRzIGVmZmVjdCBsaXN0IGlzIG5vIGxvbmdlciB2YWxpZC5cXG5cXG4gIHNvdXJjZUZpYmVyLmZpcnN0RWZmZWN0ID0gc291cmNlRmliZXIubGFzdEVmZmVjdCA9IG51bGw7XFxuXFxuICBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAvLyBUaGlzIGlzIGEgdGhlbmFibGUuXFxuICAgIHZhciB0aGVuYWJsZSA9IHZhbHVlO1xcblxcbiAgICBpZiAoKHNvdXJjZUZpYmVyLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcXG4gICAgICAvLyBSZXNldCB0aGUgbWVtb2l6ZWRTdGF0ZSB0byB3aGF0IGl0IHdhcyBiZWZvcmUgd2UgYXR0ZW1wdGVkXFxuICAgICAgLy8gdG8gcmVuZGVyIGl0LlxcbiAgICAgIHZhciBjdXJyZW50U291cmNlID0gc291cmNlRmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChjdXJyZW50U291cmNlKSB7XFxuICAgICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XFxuICAgICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gY3VycmVudFNvdXJjZS5tZW1vaXplZFN0YXRlO1xcbiAgICAgICAgc291cmNlRmliZXIuZXhwaXJhdGlvblRpbWUgPSBjdXJyZW50U291cmNlLmV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IG51bGw7XFxuICAgICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGhhc0ludmlzaWJsZVBhcmVudEJvdW5kYXJ5ID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0KTsgLy8gU2NoZWR1bGUgdGhlIG5lYXJlc3QgU3VzcGVuc2UgdG8gcmUtcmVuZGVyIHRoZSB0aW1lZCBvdXQgdmlldy5cXG5cXG4gICAgdmFyIF93b3JrSW5Qcm9ncmVzcyA9IHJldHVybkZpYmVyO1xcblxcbiAgICBkbyB7XFxuICAgICAgaWYgKF93b3JrSW5Qcm9ncmVzcy50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50ICYmIHNob3VsZENhcHR1cmVTdXNwZW5zZShfd29ya0luUHJvZ3Jlc3MsIGhhc0ludmlzaWJsZVBhcmVudEJvdW5kYXJ5KSkge1xcbiAgICAgICAgLy8gRm91bmQgdGhlIG5lYXJlc3QgYm91bmRhcnkuXFxuICAgICAgICAvLyBTdGFzaCB0aGUgcHJvbWlzZSBvbiB0aGUgYm91bmRhcnkgZmliZXIuIElmIHRoZSBib3VuZGFyeSB0aW1lcyBvdXQsIHdlJ2xsXFxuICAgICAgICAvLyBhdHRhY2ggYW5vdGhlciBsaXN0ZW5lciB0byBmbGlwIHRoZSBib3VuZGFyeSBiYWNrIHRvIGl0cyBub3JtYWwgc3RhdGUuXFxuICAgICAgICB2YXIgdGhlbmFibGVzID0gX3dvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xcblxcbiAgICAgICAgaWYgKHRoZW5hYmxlcyA9PT0gbnVsbCkge1xcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XFxuICAgICAgICAgIHVwZGF0ZVF1ZXVlLmFkZCh0aGVuYWJsZSk7XFxuICAgICAgICAgIF93b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHVwZGF0ZVF1ZXVlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgdGhlbmFibGVzLmFkZCh0aGVuYWJsZSk7XFxuICAgICAgICB9IC8vIElmIHRoZSBib3VuZGFyeSBpcyBvdXRzaWRlIG9mIGJsb2NraW5nIG1vZGUsIHdlIHNob3VsZCAqbm90KlxcbiAgICAgICAgLy8gc3VzcGVuZCB0aGUgY29tbWl0LiBQcmV0ZW5kIGFzIGlmIHRoZSBzdXNwZW5kZWQgY29tcG9uZW50IHJlbmRlcmVkXFxuICAgICAgICAvLyBudWxsIGFuZCBrZWVwIHJlbmRlcmluZy4gSW4gdGhlIGNvbW1pdCBwaGFzZSwgd2UnbGwgc2NoZWR1bGUgYVxcbiAgICAgICAgLy8gc3Vic2VxdWVudCBzeW5jaHJvbm91cyB1cGRhdGUgdG8gcmUtcmVuZGVyIHRoZSBTdXNwZW5zZS5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBOb3RlOiBJdCBkb2Vzbid0IG1hdHRlciB3aGV0aGVyIHRoZSBjb21wb25lbnQgdGhhdCBzdXNwZW5kZWQgd2FzXFxuICAgICAgICAvLyBpbnNpZGUgYSBibG9ja2luZyBtb2RlIHRyZWUuIElmIHRoZSBTdXNwZW5zZSBpcyBvdXRzaWRlIG9mIGl0LCB3ZVxcbiAgICAgICAgLy8gc2hvdWxkICpub3QqIHN1c3BlbmQgdGhlIGNvbW1pdC5cXG5cXG5cXG4gICAgICAgIGlmICgoX3dvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcXG4gICAgICAgICAgX3dvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlOyAvLyBXZSdyZSBnb2luZyB0byBjb21taXQgdGhpcyBmaWJlciBldmVuIHRob3VnaCBpdCBkaWRuJ3QgY29tcGxldGUuXFxuICAgICAgICAgIC8vIEJ1dCB3ZSBzaG91bGRuJ3QgY2FsbCBhbnkgbGlmZWN5Y2xlIG1ldGhvZHMgb3IgY2FsbGJhY2tzLiBSZW1vdmVcXG4gICAgICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cXG5cXG4gICAgICAgICAgc291cmNlRmliZXIuZWZmZWN0VGFnICY9IH4oTGlmZWN5Y2xlRWZmZWN0TWFzayB8IEluY29tcGxldGUpO1xcblxcbiAgICAgICAgICBpZiAoc291cmNlRmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICAgICAgICAgIHZhciBjdXJyZW50U291cmNlRmliZXIgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XFxuXFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTb3VyY2VGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIG5ldyBtb3VudC4gQ2hhbmdlIHRoZSB0YWcgc28gaXQncyBub3QgbWlzdGFrZW4gZm9yIGFcXG4gICAgICAgICAgICAgIC8vIGNvbXBsZXRlZCBjbGFzcyBjb21wb25lbnQuIEZvciBleGFtcGxlLCB3ZSBzaG91bGQgbm90IGNhbGxcXG4gICAgICAgICAgICAgIC8vIGNvbXBvbmVudFdpbGxVbm1vdW50IGlmIGl0IGlzIGRlbGV0ZWQuXFxuICAgICAgICAgICAgICBzb3VyY2VGaWJlci50YWcgPSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIC8vIFdoZW4gd2UgdHJ5IHJlbmRlcmluZyBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCByZXVzZSB0aGUgY3VycmVudCBmaWJlcixcXG4gICAgICAgICAgICAgIC8vIHNpbmNlIGl0J3Mga25vd24gdG8gYmUgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBVc2UgYSBmb3JjZSB1cGRhdGUgdG9cXG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgYSBiYWlsIG91dC5cXG4gICAgICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoU3luYywgbnVsbCk7XFxuICAgICAgICAgICAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XFxuICAgICAgICAgICAgICBlbnF1ZXVlVXBkYXRlKHNvdXJjZUZpYmVyLCB1cGRhdGUpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfSAvLyBUaGUgc291cmNlIGZpYmVyIGRpZCBub3QgY29tcGxldGUuIE1hcmsgaXQgd2l0aCBTeW5jIHByaW9yaXR5IHRvXFxuICAgICAgICAgIC8vIGluZGljYXRlIHRoYXQgaXQgc3RpbGwgaGFzIHBlbmRpbmcgd29yay5cXG5cXG5cXG4gICAgICAgICAgc291cmNlRmliZXIuZXhwaXJhdGlvblRpbWUgPSBTeW5jOyAvLyBFeGl0IHdpdGhvdXQgc3VzcGVuZGluZy5cXG5cXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfSAvLyBDb25maXJtZWQgdGhhdCB0aGUgYm91bmRhcnkgaXMgaW4gYSBjb25jdXJyZW50IG1vZGUgdHJlZS4gQ29udGludWVcXG4gICAgICAgIC8vIHdpdGggdGhlIG5vcm1hbCBzdXNwZW5kIHBhdGguXFxuICAgICAgICAvL1xcbiAgICAgICAgLy8gQWZ0ZXIgdGhpcyB3ZSdsbCB1c2UgYSBzZXQgb2YgaGV1cmlzdGljcyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzXFxuICAgICAgICAvLyByZW5kZXIgcGFzcyB3aWxsIHJ1biB0byBjb21wbGV0aW9uIG9yIHJlc3RhcnQgb3IgXFxcInN1c3BlbmRcXFwiIHRoZSBjb21taXQuXFxuICAgICAgICAvLyBUaGUgYWN0dWFsIGxvZ2ljIGZvciB0aGlzIGlzIHNwcmVhZCBvdXQgaW4gZGlmZmVyZW50IHBsYWNlcy5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBUaGlzIGZpcnN0IHByaW5jaXBsZSBpcyB0aGF0IGlmIHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2hlbiB3ZSBjb21wbGV0ZVxcbiAgICAgICAgLy8gYSByb290LCB0aGVuIHdlIHNob3VsZCBhbHNvIHJlc3RhcnQgaWYgd2UgZ2V0IGFuIHVwZGF0ZSBvciBwaW5nIHRoYXRcXG4gICAgICAgIC8vIG1pZ2h0IHVuc3VzcGVuZCBpdCwgYW5kIHZpY2UgdmVyc2EuIFRoZSBvbmx5IHJlYXNvbiB0byBzdXNwZW5kIGlzXFxuICAgICAgICAvLyBiZWNhdXNlIHlvdSB0aGluayB5b3UgbWlnaHQgd2FudCB0byByZXN0YXJ0IGJlZm9yZSBjb21taXR0aW5nLiBIb3dldmVyLFxcbiAgICAgICAgLy8gaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHJlc3RhcnQgb25seSB3aGlsZSBpbiB0aGUgcGVyaW9kIHdlJ3JlIHN1c3BlbmRlZC5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBSZXN0YXJ0aW5nIHRvbyBhZ2dyZXNzaXZlbHkgaXMgYWxzbyBub3QgZ29vZCBiZWNhdXNlIGl0IHN0YXJ2ZXMgb3V0IGFueVxcbiAgICAgICAgLy8gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFNvIHdlIHVzZSBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGVuLlxcbiAgICAgICAgLy8gU3VzcGVuc2UgSGV1cmlzdGljc1xcbiAgICAgICAgLy9cXG4gICAgICAgIC8vIElmIG5vdGhpbmcgdGhyZXcgYSBQcm9taXNlIG9yIGFsbCB0aGUgc2FtZSBmYWxsYmFja3MgYXJlIGFscmVhZHkgc2hvd2luZyxcXG4gICAgICAgIC8vIHRoZW4gZG9uJ3Qgc3VzcGVuZC9yZXN0YXJ0LlxcbiAgICAgICAgLy9cXG4gICAgICAgIC8vIElmIHRoaXMgaXMgYW4gaW5pdGlhbCByZW5kZXIgb2YgYSBuZXcgdHJlZSBvZiBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxcbiAgICAgICAgLy8gdGhvc2UgdHJpZ2dlciBhIGZhbGxiYWNrLCB0aGVuIGRvbid0IHN1c3BlbmQvcmVzdGFydC4gV2Ugd2FudCB0byBlbnN1cmVcXG4gICAgICAgIC8vIHRoYXQgd2UgY2FuIHNob3cgdGhlIGluaXRpYWwgbG9hZGluZyBzdGF0ZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLlxcbiAgICAgICAgLy9cXG4gICAgICAgIC8vIElmIHdlIGhpdCBhIFxcXCJEZWxheWVkXFxcIiBjYXNlLCBzdWNoIGFzIHdoZW4gd2UnZCBzd2l0Y2ggZnJvbSBjb250ZW50IGJhY2sgaW50b1xcbiAgICAgICAgLy8gYSBmYWxsYmFjaywgdGhlbiB3ZSBzaG91bGQgYWx3YXlzIHN1c3BlbmQvcmVzdGFydC4gU3VzcGVuc2VDb25maWcgYXBwbGllcyB0b1xcbiAgICAgICAgLy8gdGhpcyBjYXNlLiBJZiBub25lIGlzIGRlZmluZWQsIEpORCBpcyB1c2VkIGluc3RlYWQuXFxuICAgICAgICAvL1xcbiAgICAgICAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXFxcInJldHJpZWRcXFwiLCBhbGxvd2luZyB1cyB0byBzaG93XFxuICAgICAgICAvLyBhbm90aGVyIGxldmVsLCBidXQgdGhlcmUncyBzdGlsbCBhbiBpbm5lciBib3VuZGFyeSB0aGF0IHdvdWxkIHNob3cgYSBmYWxsYmFjayxcXG4gICAgICAgIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXFxuICAgICAgICAvLyBhbnl3aGVyZSBpbiB0aGUgdHJlZS4gVGhpcyBlZmZlY3RpdmVseSB0aHJvdHRsZXMgcHJvZ3Jlc3NpdmUgbG9hZGluZyBpbnRvIGFcXG4gICAgICAgIC8vIGNvbnNpc3RlbnQgdHJhaW4gb2YgY29tbWl0cy4gVGhpcyBhbHNvIGdpdmVzIHVzIGFuIG9wcG9ydHVuaXR5IHRvIHJlc3RhcnQgdG9cXG4gICAgICAgIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXFxuICAgICAgICAvL1xcbiAgICAgICAgLy8gSWYgdGhlcmUncyBhbWJpZ3VpdHkgZHVlIHRvIGJhdGNoaW5nIGl0J3MgcmVzb2x2ZWQgaW4gcHJlZmVyZW5jZSBvZjpcXG4gICAgICAgIC8vIDEpIFxcXCJkZWxheWVkXFxcIiwgMikgXFxcImluaXRpYWwgcmVuZGVyXFxcIiwgMykgXFxcInJldHJ5XFxcIi5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGEgXFxcImJ1c3lcXFwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xcbiAgICAgICAgLy8gZW5zdXJlIHRoYXQgbmV3IGluaXRpYWwgbG9hZGluZyBzdGF0ZXMgY2FuIGNvbW1pdCBhcyBzb29uIGFzIHBvc3NpYmxlLlxcblxcblxcbiAgICAgICAgYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHJlbmRlckV4cGlyYXRpb25UaW1lLCB0aGVuYWJsZSk7XFxuICAgICAgICBfd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFNob3VsZENhcHR1cmU7XFxuICAgICAgICBfd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9IC8vIFRoaXMgYm91bmRhcnkgYWxyZWFkeSBjYXB0dXJlZCBkdXJpbmcgdGhpcyByZW5kZXIuIENvbnRpbnVlIHRvIHRoZSBuZXh0XFxuICAgICAgLy8gYm91bmRhcnkuXFxuXFxuXFxuICAgICAgX3dvcmtJblByb2dyZXNzID0gX3dvcmtJblByb2dyZXNzLnJldHVybjtcXG4gICAgfSB3aGlsZSAoX3dvcmtJblByb2dyZXNzICE9PSBudWxsKTsgLy8gTm8gYm91bmRhcnkgd2FzIGZvdW5kLiBGYWxsdGhyb3VnaCB0byBlcnJvciBtb2RlLlxcbiAgICAvLyBUT0RPOiBVc2UgaW52YXJpYW50IHNvIHRoZSBtZXNzYWdlIGlzIHN0cmlwcGVkIGluIHByb2Q/XFxuXFxuXFxuICAgIHZhbHVlID0gbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lKHNvdXJjZUZpYmVyLnR5cGUpIHx8ICdBIFJlYWN0IGNvbXBvbmVudCcpICsgJyBzdXNwZW5kZWQgd2hpbGUgcmVuZGVyaW5nLCBidXQgbm8gZmFsbGJhY2sgVUkgd2FzIHNwZWNpZmllZC5cXFxcbicgKyAnXFxcXG4nICsgJ0FkZCBhIDxTdXNwZW5zZSBmYWxsYmFjaz0uLi4+IGNvbXBvbmVudCBoaWdoZXIgaW4gdGhlIHRyZWUgdG8gJyArICdwcm92aWRlIGEgbG9hZGluZyBpbmRpY2F0b3Igb3IgcGxhY2Vob2xkZXIgdG8gZGlzcGxheS4nICsgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKHNvdXJjZUZpYmVyKSk7XFxuICB9IC8vIFdlIGRpZG4ndCBmaW5kIGEgYm91bmRhcnkgdGhhdCBjb3VsZCBoYW5kbGUgdGhpcyB0eXBlIG9mIGV4Y2VwdGlvbi4gU3RhcnRcXG4gIC8vIG92ZXIgYW5kIHRyYXZlcnNlIHBhcmVudCBwYXRoIGFnYWluLCB0aGlzIHRpbWUgdHJlYXRpbmcgdGhlIGV4Y2VwdGlvblxcbiAgLy8gYXMgYW4gZXJyb3IuXFxuXFxuXFxuICByZW5kZXJEaWRFcnJvcigpO1xcbiAgdmFsdWUgPSBjcmVhdGVDYXB0dXJlZFZhbHVlKHZhbHVlLCBzb3VyY2VGaWJlcik7XFxuICB2YXIgd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcXG5cXG4gIGRvIHtcXG4gICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcXG4gICAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgX2Vycm9ySW5mbyA9IHZhbHVlO1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU2hvdWxkQ2FwdHVyZTtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG5cXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICAgICAgZW5xdWV1ZUNhcHR1cmVkVXBkYXRlKHdvcmtJblByb2dyZXNzLCBfdXBkYXRlKTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAvLyBDYXB0dXJlIGFuZCByZXRyeVxcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IHZhbHVlO1xcbiAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcblxcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSA9PT0gTm9FZmZlY3QgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU2hvdWxkQ2FwdHVyZTtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTsgLy8gU2NoZWR1bGUgdGhlIGVycm9yIGJvdW5kYXJ5IHRvIHJlLXJlbmRlciB1c2luZyB1cGRhdGVkIHN0YXRlXFxuXFxuICAgICAgICAgIHZhciBfdXBkYXRlMiA9IGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGVycm9ySW5mbywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF91cGRhdGUyKTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XFxuICB9IHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCk7XFxufVxcblxcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xcbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxcbiAgICBSZWFjdEN1cnJlbnRPd25lciQyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXIsXFxuICAgIElzU29tZVJlbmRlcmVyQWN0aW5nID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuSXNTb21lUmVuZGVyZXJBY3Rpbmc7XFxudmFyIE5vQ29udGV4dCA9XFxuLyogICAgICAgICAgICAgICAgICAgICovXFxuMDtcXG52YXIgQmF0Y2hlZENvbnRleHQgPVxcbi8qICAgICAgICAgICAgICAgKi9cXG4xO1xcbnZhciBFdmVudENvbnRleHQgPVxcbi8qICAgICAgICAgICAgICAgICAqL1xcbjI7XFxudmFyIERpc2NyZXRlRXZlbnRDb250ZXh0ID1cXG4vKiAgICAgICAgICovXFxuNDtcXG52YXIgTGVnYWN5VW5iYXRjaGVkQ29udGV4dCA9XFxuLyogICAgICAgKi9cXG44O1xcbnZhciBSZW5kZXJDb250ZXh0ID1cXG4vKiAgICAgICAgICAgICAgICAqL1xcbjE2O1xcbnZhciBDb21taXRDb250ZXh0ID1cXG4vKiAgICAgICAgICAgICAgICAqL1xcbjMyO1xcbnZhciBSb290SW5jb21wbGV0ZSA9IDA7XFxudmFyIFJvb3RGYXRhbEVycm9yZWQgPSAxO1xcbnZhciBSb290RXJyb3JlZCA9IDI7XFxudmFyIFJvb3RTdXNwZW5kZWQgPSAzO1xcbnZhciBSb290U3VzcGVuZGVkV2l0aERlbGF5ID0gNDtcXG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XFxuLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXFxudmFyIGV4ZWN1dGlvbkNvbnRleHQgPSBOb0NvbnRleHQ7IC8vIFRoZSByb290IHdlJ3JlIHdvcmtpbmcgb25cXG5cXG52YXIgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDsgLy8gVGhlIGZpYmVyIHdlJ3JlIHdvcmtpbmcgb25cXG5cXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgZXhwaXJhdGlvbiB0aW1lIHdlJ3JlIHJlbmRlcmluZ1xcblxcbnZhciByZW5kZXJFeHBpcmF0aW9uVGltZSQxID0gTm9Xb3JrOyAvLyBXaGV0aGVyIHRvIHJvb3QgY29tcGxldGVkLCBlcnJvcmVkLCBzdXNwZW5kZWQsIGV0Yy5cXG5cXG52YXIgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJbmNvbXBsZXRlOyAvLyBBIGZhdGFsIGVycm9yLCBpZiBvbmUgaXMgdGhyb3duXFxuXFxudmFyIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSBudWxsOyAvLyBNb3N0IHJlY2VudCBldmVudCB0aW1lIGFtb25nIHByb2Nlc3NlZCB1cGRhdGVzIGR1cmluZyB0aGlzIHJlbmRlci5cXG4vLyBUaGlzIGlzIGNvbmNlcHR1YWxseSBhIHRpbWUgc3RhbXAgYnV0IGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiBhbiBFeHBpcmF0aW9uVGltZVxcbi8vIGJlY2F1c2Ugd2UgZGVhbCBtb3N0bHkgd2l0aCBleHBpcmF0aW9uIHRpbWVzIGluIHRoZSBob3QgcGF0aCwgc28gdGhpcyBhdm9pZHNcXG4vLyB0aGUgY29udmVyc2lvbiBoYXBwZW5pbmcgaW4gdGhlIGhvdCBwYXRoLlxcblxcbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IFN5bmM7XFxudmFyIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCA9IFN5bmM7XFxudmFyIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyA9IG51bGw7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxcbi8vIGluY2x1ZGVzIHVucHJvY2Vzc2VkIHVwZGF0ZXMsIG5vdCB3b3JrIGluIGJhaWxlZCBvdXQgY2hpbGRyZW4uXFxuXFxudmFyIHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUgPSBOb1dvcms7IC8vIElmIHdlJ3JlIHBpbmdlZCB3aGlsZSByZW5kZXJpbmcgd2UgZG9uJ3QgYWx3YXlzIHJlc3RhcnQgaW1tZWRpYXRlbHkuXFxuLy8gVGhpcyBmbGFnIGRldGVybWluZXMgaWYgaXQgbWlnaHQgYmUgd29ydGh3aGlsZSB0byByZXN0YXJ0IGlmIGFuIG9wcG9ydHVuaXR5XFxuLy8gaGFwcGVucyBsYXRlcmUuXFxuXFxudmFyIHdvcmtJblByb2dyZXNzUm9vdEhhc1BlbmRpbmdQaW5nID0gZmFsc2U7IC8vIFRoZSBtb3N0IHJlY2VudCB0aW1lIHdlIGNvbW1pdHRlZCBhIGZhbGxiYWNrLiBUaGlzIGxldHMgdXMgZW5zdXJlIGEgdHJhaW5cXG4vLyBtb2RlbCB3aGVyZSB3ZSBkb24ndCBjb21taXQgbmV3IGxvYWRpbmcgc3RhdGVzIGluIHRvbyBxdWljayBzdWNjZXNzaW9uLlxcblxcbnZhciBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lID0gMDtcXG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSA1MDA7XFxudmFyIG5leHRFZmZlY3QgPSBudWxsO1xcbnZhciBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XFxudmFyIGZpcnN0VW5jYXVnaHRFcnJvciA9IG51bGw7XFxudmFyIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbnVsbDtcXG52YXIgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcXG52YXIgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xcbnZhciBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW5kZXJQcmlvcml0eSA9IE5vUHJpb3JpdHk7XFxudmFyIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0V4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbnZhciByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzID0gbnVsbDsgLy8gVXNlIHRoZXNlIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCBvZiBuZXN0ZWQgdXBkYXRlc1xcblxcbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XFxudmFyIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcXG52YXIgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcXG52YXIgTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUID0gNTA7XFxudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XFxudmFyIGludGVycnVwdGVkQnkgPSBudWxsOyAvLyBNYXJrcyB0aGUgbmVlZCB0byByZXNjaGVkdWxlIHBlbmRpbmcgaW50ZXJhY3Rpb25zIGF0IHRoZXNlIGV4cGlyYXRpb24gdGltZXNcXG4vLyBkdXJpbmcgdGhlIGNvbW1pdCBwaGFzZS4gVGhpcyBlbmFibGVzIHRoZW0gdG8gYmUgdHJhY2VkIGFjcm9zcyBjb21wb25lbnRzXFxuLy8gdGhhdCBzcGF3biBuZXcgd29yayBkdXJpbmcgcmVuZGVyLiBFLmcuIGhpZGRlbiBib3VuZGFyaWVzLCBzdXNwZW5kZWQgU1NSXFxuLy8gaHlkcmF0aW9uIG9yIFN1c3BlbnNlTGlzdC5cXG5cXG52YXIgc3Bhd25lZFdvcmtEdXJpbmdSZW5kZXIgPSBudWxsOyAvLyBFeHBpcmF0aW9uIHRpbWVzIGFyZSBjb21wdXRlZCBieSBhZGRpbmcgdG8gdGhlIGN1cnJlbnQgdGltZSAodGhlIHN0YXJ0XFxuLy8gdGltZSkuIEhvd2V2ZXIsIGlmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZVxcbi8vIHNob3VsZCB0cmVhdCB0aGVpciBzdGFydCB0aW1lcyBhcyBzaW11bHRhbmVvdXMsIGV2ZW4gaWYgdGhlIGFjdHVhbCBjbG9ja1xcbi8vIHRpbWUgaGFzIGFkdmFuY2VkIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBzZWNvbmQgY2FsbC5cXG4vLyBJbiBvdGhlciB3b3JkcywgYmVjYXVzZSBleHBpcmF0aW9uIHRpbWVzIGRldGVybWluZSBob3cgdXBkYXRlcyBhcmUgYmF0Y2hlZCxcXG4vLyB3ZSB3YW50IGFsbCB1cGRhdGVzIG9mIGxpa2UgcHJpb3JpdHkgdGhhdCBvY2N1ciB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgdG9cXG4vLyByZWNlaXZlIHRoZSBzYW1lIGV4cGlyYXRpb24gdGltZS4gT3RoZXJ3aXNlIHdlIGdldCB0ZWFyaW5nLlxcblxcbnZhciBjdXJyZW50RXZlbnRUaW1lID0gTm9Xb3JrO1xcbmZ1bmN0aW9uIHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpIHtcXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcXG4gICAgLy8gV2UncmUgaW5zaWRlIFJlYWN0LCBzbyBpdCdzIGZpbmUgdG8gcmVhZCB0aGUgYWN0dWFsIHRpbWUuXFxuICAgIHJldHVybiBtc1RvRXhwaXJhdGlvblRpbWUobm93KCkpO1xcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXFxuXFxuXFxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9Xb3JrKSB7XFxuICAgIC8vIFVzZSB0aGUgc2FtZSBzdGFydCB0aW1lIGZvciBhbGwgdXBkYXRlcyB1bnRpbCB3ZSBlbnRlciBSZWFjdCBhZ2Fpbi5cXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XFxuICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZSBzaW5jZSBSZWFjdCB5aWVsZGVkLiBDb21wdXRlIGEgbmV3IHN0YXJ0IHRpbWUuXFxuXFxuXFxuICBjdXJyZW50RXZlbnRUaW1lID0gbXNUb0V4cGlyYXRpb25UaW1lKG5vdygpKTtcXG4gIHJldHVybiBjdXJyZW50RXZlbnRUaW1lO1xcbn1cXG5mdW5jdGlvbiBnZXRDdXJyZW50VGltZSgpIHtcXG4gIHJldHVybiBtc1RvRXhwaXJhdGlvblRpbWUobm93KCkpO1xcbn1cXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpIHtcXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcXG5cXG4gIGlmICgobW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xcbiAgICByZXR1cm4gU3luYztcXG4gIH1cXG5cXG4gIHZhciBwcmlvcml0eUxldmVsID0gZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKTtcXG5cXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgIHJldHVybiBwcmlvcml0eUxldmVsID09PSBJbW1lZGlhdGVQcmlvcml0eSA/IFN5bmMgOiBCYXRjaGVkO1xcbiAgfVxcblxcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xcbiAgICAvLyBVc2Ugd2hhdGV2ZXIgdGltZSB3ZSdyZSBhbHJlYWR5IHJlbmRlcmluZ1xcbiAgICAvLyBUT0RPOiBTaG91bGQgdGhlcmUgYmUgYSB3YXkgdG8gb3B0IG91dCwgbGlrZSB3aXRoIGBydW5XaXRoUHJpb3JpdHlgP1xcbiAgICByZXR1cm4gcmVuZGVyRXhwaXJhdGlvblRpbWUkMTtcXG4gIH1cXG5cXG4gIHZhciBleHBpcmF0aW9uVGltZTtcXG5cXG4gIGlmIChzdXNwZW5zZUNvbmZpZyAhPT0gbnVsbCkge1xcbiAgICAvLyBDb21wdXRlIGFuIGV4cGlyYXRpb24gdGltZSBiYXNlZCBvbiB0aGUgU3VzcGVuc2UgdGltZW91dC5cXG4gICAgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlU3VzcGVuc2VFeHBpcmF0aW9uKGN1cnJlbnRUaW1lLCBzdXNwZW5zZUNvbmZpZy50aW1lb3V0TXMgfCAwIHx8IExPV19QUklPUklUWV9FWFBJUkFUSU9OKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIENvbXB1dGUgYW4gZXhwaXJhdGlvbiB0aW1lIGJhc2VkIG9uIHRoZSBTY2hlZHVsZXIgcHJpb3JpdHkuXFxuICAgIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xcbiAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XFxuICAgICAgICBleHBpcmF0aW9uVGltZSA9IFN5bmM7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5JDE6XFxuICAgICAgICAvLyBUT0RPOiBSZW5hbWUgdGhpcyB0byBjb21wdXRlVXNlckJsb2NraW5nRXhwaXJhdGlvblxcbiAgICAgICAgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlSW50ZXJhY3RpdmVFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XFxuICAgICAgY2FzZSBMb3dQcmlvcml0eTpcXG4gICAgICAgIC8vIFRPRE86IEhhbmRsZSBMb3dQcmlvcml0eVxcbiAgICAgICAgLy8gVE9ETzogUmVuYW1lIHRoaXMgdG8uLi4gc29tZXRoaW5nIGJldHRlci5cXG4gICAgICAgIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUFzeW5jRXhwaXJhdGlvbihjdXJyZW50VGltZSk7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIElkbGVQcmlvcml0eTpcXG4gICAgICAgIGV4cGlyYXRpb25UaW1lID0gSWRsZTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV4cGVjdGVkIGEgdmFsaWQgcHJpb3JpdHkgbGV2ZWxcXFwiICk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgfVxcbiAgfSAvLyBJZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIHJlbmRlcmluZyBhIHRyZWUsIGRvIG5vdCB1cGRhdGUgYXQgdGhlIHNhbWVcXG4gIC8vIGV4cGlyYXRpb24gdGltZSB0aGF0IGlzIGFscmVhZHkgcmVuZGVyaW5nLlxcbiAgLy8gVE9ETzogV2Ugc2hvdWxkbid0IGhhdmUgdG8gZG8gdGhpcyBpZiB0aGUgdXBkYXRlIGlzIG9uIGEgZGlmZmVyZW50IHJvb3QuXFxuICAvLyBSZWZhY3RvciBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyICsgc2NoZWR1bGVVcGRhdGUgc28gd2UgaGF2ZSBhY2Nlc3MgdG9cXG4gIC8vIHRoZSByb290IHdoZW4gd2UgY2hlY2sgZm9yIHRoaXMgY29uZGl0aW9uLlxcblxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiBleHBpcmF0aW9uVGltZSA9PT0gcmVuZGVyRXhwaXJhdGlvblRpbWUkMSkge1xcbiAgICAvLyBUaGlzIGlzIGEgdHJpY2sgdG8gbW92ZSB0aGlzIHVwZGF0ZSBpbnRvIGEgc2VwYXJhdGUgYmF0Y2hcXG4gICAgZXhwaXJhdGlvblRpbWUgLT0gMTtcXG4gIH1cXG5cXG4gIHJldHVybiBleHBpcmF0aW9uVGltZTtcXG59XFxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKGZpYmVyLCBleHBpcmF0aW9uVGltZSkge1xcbiAgY2hlY2tGb3JOZXN0ZWRVcGRhdGVzKCk7XFxuICB3YXJuQWJvdXRSZW5kZXJQaGFzZVVwZGF0ZXNJbkRFVihmaWJlcik7XFxuICB2YXIgcm9vdCA9IG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xcbiAgICB3YXJuQWJvdXRVcGRhdGVPblVubW91bnRlZEZpYmVySW5ERVYoZmliZXIpO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBjaGVja0ZvckludGVycnVwdGlvbihmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xcbiAgcmVjb3JkU2NoZWR1bGVVcGRhdGUoKTsgLy8gVE9ETzogY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlciBhbHNvIHJlYWRzIHRoZSBwcmlvcml0eS4gUGFzcyB0aGVcXG4gIC8vIHByaW9yaXR5IGFzIGFuIGFyZ3VtZW50IHRvIHRoYXQgZnVuY3Rpb24gYW5kIHRoaXMgb25lLlxcblxcbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xcblxcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XFxuICAgIGlmICggLy8gQ2hlY2sgaWYgd2UncmUgaW5zaWRlIHVuYmF0Y2hlZFVwZGF0ZXNcXG4gICAgKGV4ZWN1dGlvbkNvbnRleHQgJiBMZWdhY3lVbmJhdGNoZWRDb250ZXh0KSAhPT0gTm9Db250ZXh0ICYmIC8vIENoZWNrIGlmIHdlJ3JlIG5vdCBhbHJlYWR5IHJlbmRlcmluZ1xcbiAgICAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcXG4gICAgICAvLyBSZWdpc3RlciBwZW5kaW5nIGludGVyYWN0aW9ucyBvbiB0aGUgcm9vdCB0byBhdm9pZCBsb3NpbmcgdHJhY2VkIGludGVyYWN0aW9uIGRhdGEuXFxuICAgICAgc2NoZWR1bGVQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKTsgLy8gVGhpcyBpcyBhIGxlZ2FjeSBlZGdlIGNhc2UuIFRoZSBpbml0aWFsIG1vdW50IG9mIGEgUmVhY3RET00ucmVuZGVyLWVkXFxuICAgICAgLy8gcm9vdCBpbnNpZGUgb2YgYmF0Y2hlZFVwZGF0ZXMgc2hvdWxkIGJlIHN5bmNocm9ub3VzLCBidXQgbGF5b3V0IHVwZGF0ZXNcXG4gICAgICAvLyBzaG91bGQgYmUgZGVmZXJyZWQgdW50aWwgdGhlIGVuZCBvZiB0aGUgYmF0Y2guXFxuXFxuICAgICAgcGVyZm9ybVN5bmNXb3JrT25Sb290KHJvb3QpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG4gICAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQpIHtcXG4gICAgICAgIC8vIEZsdXNoIHRoZSBzeW5jaHJvbm91cyB3b3JrIG5vdywgdW5sZXNzIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvciBpbnNpZGVcXG4gICAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcXG4gICAgICAgIC8vIHNjaGVkdWxlQ2FsbGJhY2tGb3JGaWJlciB0byBwcmVzZXJ2ZSB0aGUgYWJpbGl0eSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXFxuICAgICAgICAvLyB3aXRob3V0IGltbWVkaWF0ZWx5IGZsdXNoaW5nIGl0LiBXZSBvbmx5IGRvIHRoaXMgZm9yIHVzZXItaW5pdGlhdGVkXFxuICAgICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxcbiAgICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgfVxcblxcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgRGlzY3JldGVFdmVudENvbnRleHQpICE9PSBOb0NvbnRleHQgJiYgKCAvLyBPbmx5IHVwZGF0ZXMgYXQgdXNlci1ibG9ja2luZyBwcmlvcml0eSBvciBncmVhdGVyIGFyZSBjb25zaWRlcmVkXFxuICAvLyBkaXNjcmV0ZSwgZXZlbiBpbnNpZGUgYSBkaXNjcmV0ZSBldmVudC5cXG4gIHByaW9yaXR5TGV2ZWwgPT09IFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEgfHwgcHJpb3JpdHlMZXZlbCA9PT0gSW1tZWRpYXRlUHJpb3JpdHkpKSB7XFxuICAgIC8vIFRoaXMgaXMgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIGV2ZW50LiBUcmFjayB0aGUgbG93ZXN0IHByaW9yaXR5XFxuICAgIC8vIGRpc2NyZXRlIHVwZGF0ZSBwZXIgcm9vdCBzbyB3ZSBjYW4gZmx1c2ggdGhlbSBlYXJseSwgaWYgbmVlZGVkLlxcbiAgICBpZiAocm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcyA9PT0gbnVsbCkge1xcbiAgICAgIHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMgPSBuZXcgTWFwKFtbcm9vdCwgZXhwaXJhdGlvblRpbWVdXSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdmFyIGxhc3REaXNjcmV0ZVRpbWUgPSByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzLmdldChyb290KTtcXG5cXG4gICAgICBpZiAobGFzdERpc2NyZXRlVGltZSA9PT0gdW5kZWZpbmVkIHx8IGxhc3REaXNjcmV0ZVRpbWUgPiBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgcm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcy5zZXQocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG52YXIgc2NoZWR1bGVXb3JrID0gc2NoZWR1bGVVcGRhdGVPbkZpYmVyOyAvLyBUaGlzIGlzIHNwbGl0IGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiBzbyB3ZSBjYW4gbWFyayBhIGZpYmVyIHdpdGggcGVuZGluZ1xcbi8vIHdvcmsgd2l0aG91dCB0cmVhdGluZyBpdCBhcyBhIHR5cGljYWwgdXBkYXRlIHRoYXQgb3JpZ2luYXRlcyBmcm9tIGFuIGV2ZW50O1xcbi8vIGUuZy4gcmV0cnlpbmcgYSBTdXNwZW5zZSBib3VuZGFyeSBpc24ndCBhbiB1cGRhdGUsIGJ1dCBpdCBkb2VzIHNjaGVkdWxlIHdvcmtcXG4vLyBvbiBhIGZpYmVyLlxcblxcbmZ1bmN0aW9uIG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVXBkYXRlIHRoZSBzb3VyY2UgZmliZXIncyBleHBpcmF0aW9uIHRpbWVcXG4gIGlmIChmaWJlci5leHBpcmF0aW9uVGltZSA8IGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICB9XFxuXFxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPCBleHBpcmF0aW9uVGltZSkge1xcbiAgICBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIH0gLy8gV2FsayB0aGUgcGFyZW50IHBhdGggdG8gdGhlIHJvb3QgYW5kIHVwZGF0ZSB0aGUgY2hpbGQgZXhwaXJhdGlvbiB0aW1lLlxcblxcblxcbiAgdmFyIG5vZGUgPSBmaWJlci5yZXR1cm47XFxuICB2YXIgcm9vdCA9IG51bGw7XFxuXFxuICBpZiAobm9kZSA9PT0gbnVsbCAmJiBmaWJlci50YWcgPT09IEhvc3RSb290KSB7XFxuICAgIHJvb3QgPSBmaWJlci5zdGF0ZU5vZGU7XFxuICB9IGVsc2Uge1xcbiAgICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xcbiAgICAgIGFsdGVybmF0ZSA9IG5vZGUuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChub2RlLmNoaWxkRXhwaXJhdGlvblRpbWUgPCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgbm9kZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lIDwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IGV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgJiYgbm9kZS50YWcgPT09IEhvc3RSb290KSB7XFxuICAgICAgICByb290ID0gbm9kZS5zdGF0ZU5vZGU7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xcbiAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290KSB7XFxuICAgICAgLy8gUmVjZWl2ZWQgYW4gdXBkYXRlIHRvIGEgdHJlZSB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcuIE1hcmtcXG4gICAgICAvLyB0aGF0J3MgdW5wcm9jZXNzZWQgd29yayBvbiB0aGlzIHJvb3QuXFxuICAgICAgbWFya1VucHJvY2Vzc2VkVXBkYXRlVGltZShleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcXG4gICAgICAgIC8vIFRoZSByb290IGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgd2hpY2ggbWVhbnMgdGhpcyByZW5kZXJcXG4gICAgICAgIC8vIGRlZmluaXRlbHkgd29uJ3QgZmluaXNoLiBTaW5jZSB3ZSBoYXZlIGEgbmV3IHVwZGF0ZSwgbGV0J3MgbWFyayBpdCBhc1xcbiAgICAgICAgLy8gc3VzcGVuZGVkIG5vdywgcmlnaHQgYmVmb3JlIG1hcmtpbmcgdGhlIGluY29taW5nIHVwZGF0ZS4gVGhpcyBoYXMgdGhlXFxuICAgICAgICAvLyBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIHRoZSBjdXJyZW50IHJlbmRlciBhbmQgc3dpdGNoaW5nIHRvIHRoZSB1cGRhdGUuXFxuICAgICAgICAvLyBUT0RPOiBUaGlzIGhhcHBlbnMgdG8gd29yayB3aGVuIHJlY2VpdmluZyBhbiB1cGRhdGUgZHVyaW5nIHRoZSByZW5kZXJcXG4gICAgICAgIC8vIHBoYXNlLCBiZWNhdXNlIG9mIHRoZSB0cmljayBpbnNpZGUgY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlciB0b1xcbiAgICAgICAgLy8gc3VidHJhY3QgMSBmcm9tIGByZW5kZXJFeHBpcmF0aW9uVGltZWAgdG8gbW92ZSBpdCBpbnRvIGFcXG4gICAgICAgIC8vIHNlcGFyYXRlIGJ1Y2tldC4gQnV0IHdlIHNob3VsZCBwcm9iYWJseSBtb2RlbCBpdCB3aXRoIGFuIGV4Y2VwdGlvbixcXG4gICAgICAgIC8vIHVzaW5nIHRoZSBzYW1lIG1lY2hhbmlzbSB3ZSB1c2UgdG8gZm9yY2UgaHlkcmF0aW9uIG9mIGEgc3VidHJlZS5cXG4gICAgICAgIC8vIFRPRE86IFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgbG93IHByaSB1cGRhdGVzIHRoYXQgd2VyZSBhbHJlYWR5XFxuICAgICAgICAvLyBzY2hlZHVsZWQgYmVmb3JlIHRoZSByb290IHN0YXJ0ZWQgcmVuZGVyaW5nLiBOZWVkIHRvIHRyYWNrIHRoZSBuZXh0XFxuICAgICAgICAvLyBwZW5kaW5nIGV4cGlyYXRpb24gdGltZSAocGVyaGFwcyBieSBiYWNrdHJhY2tpbmcgdGhlIHJldHVybiBwYXRoKSBhbmRcXG4gICAgICAgIC8vIHRoZW4gdHJpZ2dlciBhIHJlc3RhcnQgaW4gdGhlIGByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlYCBwYXRoLlxcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICAgICAgfVxcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cXG5cXG5cXG4gICAgbWFya1Jvb3RVcGRhdGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIHJldHVybiByb290O1xcbn1cXG5cXG5mdW5jdGlvbiBnZXROZXh0Um9vdEV4cGlyYXRpb25UaW1lVG9Xb3JrT24ocm9vdCkge1xcbiAgLy8gRGV0ZXJtaW5lcyB0aGUgbmV4dCBleHBpcmF0aW9uIHRpbWUgdGhhdCB0aGUgcm9vdCBzaG91bGQgcmVuZGVyLCB0YWtpbmdcXG4gIC8vIGludG8gYWNjb3VudCBsZXZlbHMgdGhhdCBtYXkgYmUgc3VzcGVuZGVkLCBvciBsZXZlbHMgdGhhdCBtYXkgaGF2ZVxcbiAgLy8gcmVjZWl2ZWQgYSBwaW5nLlxcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xcblxcbiAgaWYgKGxhc3RFeHBpcmVkVGltZSAhPT0gTm9Xb3JrKSB7XFxuICAgIHJldHVybiBsYXN0RXhwaXJlZFRpbWU7XFxuICB9IC8vIFxcXCJQZW5kaW5nXFxcIiByZWZlcnMgdG8gYW55IHVwZGF0ZSB0aGF0IGhhc24ndCBjb21taXR0ZWQgeWV0LCBpbmNsdWRpbmcgaWYgaXRcXG4gIC8vIHN1c3BlbmRlZC4gVGhlIFxcXCJzdXNwZW5kZWRcXFwiIHJhbmdlIGlzIHRoZXJlZm9yZSBhIHN1YnNldC5cXG5cXG5cXG4gIHZhciBmaXJzdFBlbmRpbmdUaW1lID0gcm9vdC5maXJzdFBlbmRpbmdUaW1lO1xcblxcbiAgaWYgKCFpc1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZmlyc3RQZW5kaW5nVGltZSkpIHtcXG4gICAgLy8gVGhlIGhpZ2hlc3QgcHJpb3JpdHkgcGVuZGluZyB0aW1lIGlzIG5vdCBzdXNwZW5kZWQuIExldCdzIHdvcmsgb24gdGhhdC5cXG4gICAgcmV0dXJuIGZpcnN0UGVuZGluZ1RpbWU7XFxuICB9IC8vIElmIHRoZSBmaXJzdCBwZW5kaW5nIHRpbWUgaXMgc3VzcGVuZGVkLCBjaGVjayBpZiB0aGVyZSdzIGEgbG93ZXIgcHJpb3JpdHlcXG4gIC8vIHBlbmRpbmcgbGV2ZWwgdGhhdCB3ZSBrbm93IGFib3V0LiBPciBjaGVjayBpZiB3ZSByZWNlaXZlZCBhIHBpbmcuIFdvcmtcXG4gIC8vIG9uIHdoaWNoZXZlciBpcyBoaWdoZXIgcHJpb3JpdHkuXFxuXFxuXFxuICB2YXIgbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xcbiAgdmFyIG5leHRLbm93blBlbmRpbmdMZXZlbCA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsO1xcbiAgdmFyIG5leHRMZXZlbCA9IGxhc3RQaW5nZWRUaW1lID4gbmV4dEtub3duUGVuZGluZ0xldmVsID8gbGFzdFBpbmdlZFRpbWUgOiBuZXh0S25vd25QZW5kaW5nTGV2ZWw7XFxuXFxuICBpZiAoIG5leHRMZXZlbCA8PSBJZGxlICYmIGZpcnN0UGVuZGluZ1RpbWUgIT09IG5leHRMZXZlbCkge1xcbiAgICAvLyBEb24ndCB3b3JrIG9uIElkbGUvTmV2ZXIgcHJpb3JpdHkgdW5sZXNzIGV2ZXJ5dGhpbmcgZWxzZSBpcyBjb21taXR0ZWQuXFxuICAgIHJldHVybiBOb1dvcms7XFxuICB9XFxuXFxuICByZXR1cm4gbmV4dExldmVsO1xcbn0gLy8gVXNlIHRoaXMgZnVuY3Rpb24gdG8gc2NoZWR1bGUgYSB0YXNrIGZvciBhIHJvb3QuIFRoZXJlJ3Mgb25seSBvbmUgdGFzayBwZXJcXG4vLyByb290OyBpZiBhIHRhc2sgd2FzIGFscmVhZHkgc2NoZWR1bGVkLCB3ZSdsbCBjaGVjayB0byBtYWtlIHN1cmUgdGhlXFxuLy8gZXhwaXJhdGlvbiB0aW1lIG9mIHRoZSBleGlzdGluZyB0YXNrIGlzIHRoZSBzYW1lIGFzIHRoZSBleHBpcmF0aW9uIHRpbWUgb2ZcXG4vLyB0aGUgbmV4dCBsZXZlbCB0aGF0IHRoZSByb290IGhhcyB3b3JrIG9uLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBldmVyeVxcbi8vIHVwZGF0ZSwgYW5kIHJpZ2h0IGJlZm9yZSBleGl0aW5nIGEgdGFzay5cXG5cXG5cXG5mdW5jdGlvbiBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCkge1xcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xcblxcbiAgaWYgKGxhc3RFeHBpcmVkVGltZSAhPT0gTm9Xb3JrKSB7XFxuICAgIC8vIFNwZWNpYWwgY2FzZTogRXhwaXJlZCB3b3JrIHNob3VsZCBmbHVzaCBzeW5jaHJvbm91c2x5LlxcbiAgICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBTeW5jO1xcbiAgICByb290LmNhbGxiYWNrUHJpb3JpdHkgPSBJbW1lZGlhdGVQcmlvcml0eTtcXG4gICAgcm9vdC5jYWxsYmFja05vZGUgPSBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IGdldE5leHRSb290RXhwaXJhdGlvblRpbWVUb1dvcmtPbihyb290KTtcXG4gIHZhciBleGlzdGluZ0NhbGxiYWNrTm9kZSA9IHJvb3QuY2FsbGJhY2tOb2RlO1xcblxcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBOb1dvcmspIHtcXG4gICAgLy8gVGhlcmUncyBub3RoaW5nIHRvIHdvcmsgb24uXFxuICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gbnVsbCkge1xcbiAgICAgIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcXG4gICAgICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuICAgICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9Qcmlvcml0eTtcXG4gICAgfVxcblxcbiAgICByZXR1cm47XFxuICB9IC8vIFRPRE86IElmIHRoaXMgaXMgYW4gdXBkYXRlLCB3ZSBhbHJlYWR5IHJlYWQgdGhlIGN1cnJlbnQgdGltZS4gUGFzcyB0aGVcXG4gIC8vIHRpbWUgYXMgYW4gYXJndW1lbnQuXFxuXFxuXFxuICB2YXIgY3VycmVudFRpbWUgPSByZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKTtcXG4gIHZhciBwcmlvcml0eUxldmVsID0gaW5mZXJQcmlvcml0eUZyb21FeHBpcmF0aW9uVGltZShjdXJyZW50VGltZSwgZXhwaXJhdGlvblRpbWUpOyAvLyBJZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHJlbmRlciB0YXNrLCBjb25maXJtIGl0IGhhcyB0aGUgY29ycmVjdCBwcmlvcml0eSBhbmRcXG4gIC8vIGV4cGlyYXRpb24gdGltZS4gT3RoZXJ3aXNlLCB3ZSdsbCBjYW5jZWwgaXQgYW5kIHNjaGVkdWxlIGEgbmV3IG9uZS5cXG5cXG4gIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gbnVsbCkge1xcbiAgICB2YXIgZXhpc3RpbmdDYWxsYmFja1ByaW9yaXR5ID0gcm9vdC5jYWxsYmFja1ByaW9yaXR5O1xcbiAgICB2YXIgZXhpc3RpbmdDYWxsYmFja0V4cGlyYXRpb25UaW1lID0gcm9vdC5jYWxsYmFja0V4cGlyYXRpb25UaW1lO1xcblxcbiAgICBpZiAoIC8vIENhbGxiYWNrIG11c3QgaGF2ZSB0aGUgZXhhY3Qgc2FtZSBleHBpcmF0aW9uIHRpbWUuXFxuICAgIGV4aXN0aW5nQ2FsbGJhY2tFeHBpcmF0aW9uVGltZSA9PT0gZXhwaXJhdGlvblRpbWUgJiYgLy8gQ2FsbGJhY2sgbXVzdCBoYXZlIGdyZWF0ZXIgb3IgZXF1YWwgcHJpb3JpdHkuXFxuICAgIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA+PSBwcmlvcml0eUxldmVsKSB7XFxuICAgICAgLy8gRXhpc3RpbmcgY2FsbGJhY2sgaXMgc3VmZmljaWVudC5cXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gTmVlZCB0byBzY2hlZHVsZSBhIG5ldyB0YXNrLlxcbiAgICAvLyBUT0RPOiBJbnN0ZWFkIG9mIHNjaGVkdWxpbmcgYSBuZXcgdGFzaywgd2Ugc2hvdWxkIGJlIGFibGUgdG8gY2hhbmdlIHRoZVxcbiAgICAvLyBwcmlvcml0eSBvZiB0aGUgZXhpc3Rpbmcgb25lLlxcblxcblxcbiAgICBjYW5jZWxDYWxsYmFjayhleGlzdGluZ0NhbGxiYWNrTm9kZSk7XFxuICB9XFxuXFxuICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IHByaW9yaXR5TGV2ZWw7XFxuICB2YXIgY2FsbGJhY2tOb2RlO1xcblxcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XFxuICAgIC8vIFN5bmMgUmVhY3QgY2FsbGJhY2tzIGFyZSBzY2hlZHVsZWQgb24gYSBzcGVjaWFsIGludGVybmFsIHF1ZXVlXFxuICAgIGNhbGxiYWNrTm9kZSA9IHNjaGVkdWxlU3luY0NhbGxiYWNrKHBlcmZvcm1TeW5jV29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcXG4gIH0gZWxzZSB7XFxuICAgIGNhbGxiYWNrTm9kZSA9IHNjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCksIC8vIENvbXB1dGUgYSB0YXNrIHRpbWVvdXQgYmFzZWQgb24gdGhlIGV4cGlyYXRpb24gdGltZS4gVGhpcyBhbHNvIGFmZmVjdHNcXG4gICAgLy8gb3JkZXJpbmcgYmVjYXVzZSB0YXNrcyBhcmUgcHJvY2Vzc2VkIGluIHRpbWVvdXQgb3JkZXIuXFxuICAgIHtcXG4gICAgICB0aW1lb3V0OiBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpIC0gbm93KClcXG4gICAgfSk7XFxuICB9XFxuXFxuICByb290LmNhbGxiYWNrTm9kZSA9IGNhbGxiYWNrTm9kZTtcXG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBldmVyeSBjb25jdXJyZW50IHRhc2ssIGkuZS4gYW55dGhpbmcgdGhhdFxcbi8vIGdvZXMgdGhyb3VnaCBTY2hlZHVsZXIuXFxuXFxuXFxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcXG4gIC8vIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gYSBSZWFjdCBldmVudCwgd2UgY2FuIGNsZWFyIHRoZSBjdXJyZW50XFxuICAvLyBldmVudCB0aW1lLiBUaGUgbmV4dCB1cGRhdGUgd2lsbCBjb21wdXRlIGEgbmV3IGV2ZW50IHRpbWUuXFxuICBjdXJyZW50RXZlbnRUaW1lID0gTm9Xb3JrO1xcblxcbiAgaWYgKGRpZFRpbWVvdXQpIHtcXG4gICAgLy8gVGhlIHJlbmRlciB0YXNrIHRvb2sgdG9vIGxvbmcgdG8gY29tcGxldGUuIE1hcmsgdGhlIGN1cnJlbnQgdGltZSBhc1xcbiAgICAvLyBleHBpcmVkIHRvIHN5bmNocm9ub3VzbHkgcmVuZGVyIGFsbCBleHBpcmVkIHdvcmsgaW4gYSBzaW5nbGUgYmF0Y2guXFxuICAgIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xcbiAgICBtYXJrUm9vdEV4cGlyZWRBdFRpbWUocm9vdCwgY3VycmVudFRpbWUpOyAvLyBUaGlzIHdpbGwgc2NoZWR1bGUgYSBzeW5jaHJvbm91cyBjYWxsYmFjay5cXG5cXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGV4cGlyYXRpb24gdGltZSB0byB3b3JrIG9uLCB1c2luZyB0aGUgZmllbGRzIHN0b3JlZFxcbiAgLy8gb24gdGhlIHJvb3QuXFxuXFxuXFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBnZXROZXh0Um9vdEV4cGlyYXRpb25UaW1lVG9Xb3JrT24ocm9vdCk7XFxuXFxuICBpZiAoZXhwaXJhdGlvblRpbWUgIT09IE5vV29yaykge1xcbiAgICB2YXIgb3JpZ2luYWxDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTtcXG5cXG4gICAgaWYgKCEoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIElmIHRoZSByb290IG9yIGV4cGlyYXRpb24gdGltZSBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcXG4gICAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cXG5cXG4gICAgaWYgKHJvb3QgIT09IHdvcmtJblByb2dyZXNzUm9vdCB8fCBleHBpcmF0aW9uVGltZSAhPT0gcmVuZGVyRXhwaXJhdGlvblRpbWUkMSkge1xcbiAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICBzdGFydFdvcmtPblBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9IC8vIElmIHdlIGhhdmUgYSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLCBpdCBtZWFucyB0aGVyZSdzIHN0aWxsIHdvcmsgdG8gZG9cXG4gICAgLy8gaW4gdGhpcyByb290LlxcblxcblxcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpO1xcbiAgICAgIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gcHVzaEludGVyYWN0aW9ucyhyb290KTtcXG4gICAgICBzdGFydFdvcmtMb29wVGltZXIod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgIGRvIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgIHdvcmtMb29wQ29uY3VycmVudCgpO1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XFxuICAgICAgICAgIGhhbmRsZUVycm9yKHJvb3QsIHRocm93blZhbHVlKTtcXG4gICAgICAgIH1cXG4gICAgICB9IHdoaWxlICh0cnVlKTtcXG5cXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcXG4gICAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XFxuICAgICAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XFxuXFxuICAgICAge1xcbiAgICAgICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEZhdGFsRXJyb3JlZCkge1xcbiAgICAgICAgdmFyIGZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xcbiAgICAgICAgc3RvcEludGVycnVwdGVkV29ya0xvb3BUaW1lcigpO1xcbiAgICAgICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICAgICAgdGhyb3cgZmF0YWxFcnJvcjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XFxuICAgICAgICAvLyBUaGVyZSdzIHN0aWxsIHdvcmsgbGVmdCBvdmVyLiBFeGl0IHdpdGhvdXQgY29tbWl0dGluZy5cXG4gICAgICAgIHN0b3BJbnRlcnJ1cHRlZFdvcmtMb29wVGltZXIoKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcXG4gICAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXFxuICAgICAgICBzdG9wRmluaXNoZWRXb3JrTG9vcFRpbWVyKCk7XFxuICAgICAgICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5maW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xcbiAgICAgICAgcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICAgICAgICBmaW5pc2hDb25jdXJyZW50UmVuZGVyKHJvb3QsIGZpbmlzaGVkV29yaywgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cywgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuXFxuICAgICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xcbiAgICAgICAgLy8gVGhlIHRhc2sgbm9kZSBzY2hlZHVsZWQgZm9yIHRoaXMgcm9vdCBpcyB0aGUgc2FtZSBvbmUgdGhhdCdzXFxuICAgICAgICAvLyBjdXJyZW50bHkgZXhlY3V0ZWQuIE5lZWQgdG8gcmV0dXJuIGEgY29udGludWF0aW9uLlxcbiAgICAgICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZmluaXNoZWRXb3JrLCBleGl0U3RhdHVzLCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cXG4gIHdvcmtJblByb2dyZXNzUm9vdCA9IG51bGw7XFxuXFxuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcXG4gICAgY2FzZSBSb290SW5jb21wbGV0ZTpcXG4gICAgY2FzZSBSb290RmF0YWxFcnJvcmVkOlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiUm9vdCBkaWQgbm90IGNvbXBsZXRlLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgLy8gRmxvdyBrbm93cyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWlucyBpZiBJIGFkZCBhIGJyZWFrXFxuICAgIC8vIHN0YXRlbWVudCwgYnV0IGVzbGludCBkb2Vzbid0IGtub3cgYWJvdXQgaW52YXJpYW50LCBzbyBpdCBjb21wbGFpbnNcXG4gICAgLy8gaWYgSSBkby4gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXFxuXFxuICAgIGNhc2UgUm9vdEVycm9yZWQ6XFxuICAgICAge1xcbiAgICAgICAgLy8gSWYgdGhpcyB3YXMgYW4gYXN5bmMgcmVuZGVyLCB0aGUgZXJyb3IgbWF5IGhhdmUgaGFwcGVuZWQgZHVlIHRvXFxuICAgICAgICAvLyBhIG11dGF0aW9uIGluIGEgY29uY3VycmVudCBldmVudC4gVHJ5IHJlbmRlcmluZyBvbmUgbW9yZSB0aW1lLFxcbiAgICAgICAgLy8gc3luY2hyb25vdXNseSwgdG8gc2VlIGlmIHRoZSBlcnJvciBnb2VzIGF3YXkuIElmIHRoZXJlIGFyZVxcbiAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgdXBkYXRlcywgbGV0J3MgaW5jbHVkZSB0aG9zZSwgdG9vLCBpbiBjYXNlIHRoZXlcXG4gICAgICAgIC8vIGZpeCB0aGUgaW5jb25zaXN0ZW5jeS4gUmVuZGVyIGF0IElkbGUgdG8gaW5jbHVkZSBhbGwgdXBkYXRlcy5cXG4gICAgICAgIC8vIElmIGl0IHdhcyBJZGxlIG9yIE5ldmVyIG9yIHNvbWUgbm90LXlldC1pbnZlbnRlZCB0aW1lLCByZW5kZXJcXG4gICAgICAgIC8vIGF0IHRoYXQgdGltZS5cXG4gICAgICAgIG1hcmtSb290RXhwaXJlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSA+IElkbGUgPyBJZGxlIDogZXhwaXJhdGlvblRpbWUpOyAvLyBXZSBhc3N1bWUgdGhhdCB0aGlzIHNlY29uZCByZW5kZXIgcGFzcyB3aWxsIGJlIHN5bmNocm9ub3VzXFxuICAgICAgICAvLyBhbmQgdGhlcmVmb3JlIG5vdCBoaXQgdGhpcyBwYXRoIGFnYWluLlxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFJvb3RTdXNwZW5kZWQ6XFxuICAgICAge1xcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgdmFyIGxhc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZTtcXG5cXG4gICAgICAgIGlmIChleHBpcmF0aW9uVGltZSA9PT0gbGFzdFN1c3BlbmRlZFRpbWUpIHtcXG4gICAgICAgICAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBnZXRSZW1haW5pbmdFeHBpcmF0aW9uVGltZShmaW5pc2hlZFdvcmspO1xcbiAgICAgICAgfSAvLyBXZSBoYXZlIGFuIGFjY2VwdGFibGUgbG9hZGluZyBzdGF0ZS4gV2UgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHdlXFxuICAgICAgICAvLyBzaG91bGQgaW1tZWRpYXRlbHkgY29tbWl0IGl0IG9yIHdhaXQgYSBiaXQuXFxuICAgICAgICAvLyBJZiB3ZSBoYXZlIHByb2Nlc3NlZCBuZXcgdXBkYXRlcyBkdXJpbmcgdGhpcyByZW5kZXIsIHdlIG1heSBub3dcXG4gICAgICAgIC8vIGhhdmUgYSBuZXcgbG9hZGluZyBzdGF0ZSByZWFkeS4gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCB3ZSBjb21taXRcXG4gICAgICAgIC8vIHRoYXQgYXMgc29vbiBhcyBwb3NzaWJsZS5cXG5cXG5cXG4gICAgICAgIHZhciBoYXNOb3RQcm9jZXNzZWROZXdVcGRhdGVzID0gd29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0UHJvY2Vzc2VkRXhwaXJhdGlvblRpbWUgPT09IFN5bmM7XFxuXFxuICAgICAgICBpZiAoaGFzTm90UHJvY2Vzc2VkTmV3VXBkYXRlcyAmJiAvLyBkbyBub3QgZGVsYXkgaWYgd2UncmUgaW5zaWRlIGFuIGFjdCgpIHNjb3BlXFxuICAgICAgICAhKCBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50KSkge1xcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIG5vdCBwcm9jZXNzZWQgYW55IG5ldyB1cGRhdGVzIGR1cmluZyB0aGlzIHBhc3MsIHRoZW5cXG4gICAgICAgICAgLy8gdGhpcyBpcyBlaXRoZXIgYSByZXRyeSBvZiBhbiBleGlzdGluZyBmYWxsYmFjayBzdGF0ZSBvciBhXFxuICAgICAgICAgIC8vIGhpZGRlbiB0cmVlLiBIaWRkZW4gdHJlZXMgc2hvdWxkbid0IGJlIGJhdGNoZWQgd2l0aCBvdGhlciB3b3JrXFxuICAgICAgICAgIC8vIGFuZCBhZnRlciB0aGF0J3MgZml4ZWQgaXQgY2FuIG9ubHkgYmUgYSByZXRyeS4gV2UncmUgZ29pbmcgdG9cXG4gICAgICAgICAgLy8gdGhyb3R0bGUgY29tbWl0dGluZyByZXRyaWVzIHNvIHRoYXQgd2UgZG9uJ3Qgc2hvdyB0b28gbWFueVxcbiAgICAgICAgICAvLyBsb2FkaW5nIHN0YXRlcyB0b28gcXVpY2tseS5cXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxcblxcbiAgICAgICAgICBpZiAobXNVbnRpbFRpbWVvdXQgPiAxMCkge1xcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZykge1xcbiAgICAgICAgICAgICAgdmFyIGxhc3RQaW5nZWRUaW1lID0gcm9vdC5sYXN0UGluZ2VkVGltZTtcXG5cXG4gICAgICAgICAgICAgIGlmIChsYXN0UGluZ2VkVGltZSA9PT0gTm9Xb3JrIHx8IGxhc3RQaW5nZWRUaW1lID49IGV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgICAgICAgIC8vIFRoaXMgcmVuZGVyIHdhcyBwaW5nZWQgYnV0IHdlIGRpZG4ndCBnZXQgdG8gcmVzdGFydFxcbiAgICAgICAgICAgICAgICAvLyBlYXJsaWVyIHNvIHRyeSByZXN0YXJ0aW5nIG5vdyBpbnN0ZWFkLlxcbiAgICAgICAgICAgICAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICAgICAgICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciBuZXh0VGltZSA9IGdldE5leHRSb290RXhwaXJhdGlvblRpbWVUb1dvcmtPbihyb290KTtcXG5cXG4gICAgICAgICAgICBpZiAobmV4dFRpbWUgIT09IE5vV29yayAmJiBuZXh0VGltZSAhPT0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICAgIC8vIFRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdC5cXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpZiAobGFzdFN1c3BlbmRlZFRpbWUgIT09IE5vV29yayAmJiBsYXN0U3VzcGVuZGVkVGltZSAhPT0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBwcmVmZXIgdG8gcmVuZGVyIHRoZSBmYWxsYmFjayBvZiBhdCB0aGUgbGFzdFxcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcXG4gICAgICAgICAgICAgIC8vIHJlbmRlcmluZyBpdCBhZ2Fpbi5cXG4gICAgICAgICAgICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBsYXN0U3VzcGVuZGVkVGltZTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH0gLy8gVGhlIHJlbmRlciBpcyBzdXNwZW5kZWQsIGl0IGhhc24ndCB0aW1lZCBvdXQsIGFuZCB0aGVyZSdzIG5vXFxuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xcbiAgICAgICAgICAgIC8vIGltbWVkaWF0ZWx5LCB3YWl0IGZvciBtb3JlIGRhdGEgdG8gYXJyaXZlLlxcblxcblxcbiAgICAgICAgICAgIHJvb3QudGltZW91dEhhbmRsZSA9IHNjaGVkdWxlVGltZW91dChjb21taXRSb290LmJpbmQobnVsbCwgcm9vdCksIG1zVW50aWxUaW1lb3V0KTtcXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXFxuXFxuXFxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk6XFxuICAgICAge1xcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgdmFyIF9sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWU7XFxuXFxuICAgICAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IF9sYXN0U3VzcGVuZGVkVGltZSkge1xcbiAgICAgICAgICByb290Lm5leHRLbm93blBlbmRpbmdMZXZlbCA9IGdldFJlbWFpbmluZ0V4cGlyYXRpb25UaW1lKGZpbmlzaGVkV29yayk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcXG4gICAgICAgICEoIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQpKSB7XFxuICAgICAgICAgIC8vIFdlJ3JlIHN1c3BlbmRlZCBpbiBhIHN0YXRlIHRoYXQgc2hvdWxkIGJlIGF2b2lkZWQuIFdlJ2xsIHRyeSB0b1xcbiAgICAgICAgICAvLyBhdm9pZCBjb21taXR0aW5nIGl0IGZvciBhcyBsb25nIGFzIHRoZSB0aW1lb3V0cyBsZXQgdXMuXFxuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZykge1xcbiAgICAgICAgICAgIHZhciBfbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xcblxcbiAgICAgICAgICAgIGlmIChfbGFzdFBpbmdlZFRpbWUgPT09IE5vV29yayB8fCBfbGFzdFBpbmdlZFRpbWUgPj0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICAgIC8vIFRoaXMgcmVuZGVyIHdhcyBwaW5nZWQgYnV0IHdlIGRpZG4ndCBnZXQgdG8gcmVzdGFydCBlYXJsaWVyXFxuICAgICAgICAgICAgICAvLyBzbyB0cnkgcmVzdGFydGluZyBub3cgaW5zdGVhZC5cXG4gICAgICAgICAgICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gICAgICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB2YXIgX25leHRUaW1lID0gZ2V0TmV4dFJvb3RFeHBpcmF0aW9uVGltZVRvV29ya09uKHJvb3QpO1xcblxcbiAgICAgICAgICBpZiAoX25leHRUaW1lICE9PSBOb1dvcmsgJiYgX25leHRUaW1lICE9PSBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIC8vIFRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdC5cXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAoX2xhc3RTdXNwZW5kZWRUaW1lICE9PSBOb1dvcmsgJiYgX2xhc3RTdXNwZW5kZWRUaW1lICE9PSBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIC8vIFdlIHNob3VsZCBwcmVmZXIgdG8gcmVuZGVyIHRoZSBmYWxsYmFjayBvZiBhdCB0aGUgbGFzdFxcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBsZXZlbC4gUGluZyB0aGUgbGFzdCBzdXNwZW5kZWQgbGV2ZWwgdG8gdHJ5XFxuICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxcbiAgICAgICAgICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBfbGFzdFN1c3BlbmRlZFRpbWU7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIF9tc1VudGlsVGltZW91dDtcXG5cXG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCAhPT0gU3luYykge1xcbiAgICAgICAgICAgIC8vIFdlIGhhdmUgcHJvY2Vzc2VkIGEgc3VzcGVuc2UgY29uZmlnIHdob3NlIGV4cGlyYXRpb24gdGltZSB3ZVxcbiAgICAgICAgICAgIC8vIGNhbiB1c2UgYXMgdGhlIHRpbWVvdXQuXFxuICAgICAgICAgICAgX21zVW50aWxUaW1lb3V0ID0gZXhwaXJhdGlvblRpbWVUb01zKHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCkgLSBub3coKTtcXG4gICAgICAgICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xcbiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIG5vcm1hbGx5IGhhcHBlbiBiZWNhdXNlIG9ubHkgbmV3IHVwZGF0ZXNcXG4gICAgICAgICAgICAvLyBjYXVzZSBkZWxheWVkIHN0YXRlcywgc28gd2Ugc2hvdWxkIGhhdmUgcHJvY2Vzc2VkIHNvbWV0aGluZy5cXG4gICAgICAgICAgICAvLyBIb3dldmVyLCB0aGlzIGNvdWxkIGFsc28gaGFwcGVuIGluIGFuIG9mZnNjcmVlbiB0cmVlLlxcbiAgICAgICAgICAgIF9tc1VudGlsVGltZW91dCA9IDA7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHN1c3BlbnNlIGNvbmZpZywgd2UncmUgZ29pbmcgdG8gdXNlIGFcXG4gICAgICAgICAgICAvLyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIGhvdyBsb25nIHdlIGNhbiBzdXNwZW5kLlxcbiAgICAgICAgICAgIHZhciBldmVudFRpbWVNcyA9IGluZmVyVGltZUZyb21FeHBpcmF0aW9uVGltZSh3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICAgICAgdmFyIGN1cnJlbnRUaW1lTXMgPSBub3coKTtcXG4gICAgICAgICAgICB2YXIgdGltZVVudGlsRXhwaXJhdGlvbk1zID0gZXhwaXJhdGlvblRpbWVUb01zKGV4cGlyYXRpb25UaW1lKSAtIGN1cnJlbnRUaW1lTXM7XFxuICAgICAgICAgICAgdmFyIHRpbWVFbGFwc2VkID0gY3VycmVudFRpbWVNcyAtIGV2ZW50VGltZU1zO1xcblxcbiAgICAgICAgICAgIGlmICh0aW1lRWxhcHNlZCA8IDApIHtcXG4gICAgICAgICAgICAgIC8vIFdlIGdldCB0aGlzIHdyb25nIHNvbWUgdGltZSBzaW5jZSB3ZSBlc3RpbWF0ZSB0aGUgdGltZS5cXG4gICAgICAgICAgICAgIHRpbWVFbGFwc2VkID0gMDtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgX21zVW50aWxUaW1lb3V0ID0gam5kKHRpbWVFbGFwc2VkKSAtIHRpbWVFbGFwc2VkOyAvLyBDbGFtcCB0aGUgdGltZW91dCB0byB0aGUgZXhwaXJhdGlvbiB0aW1lLiBUT0RPOiBPbmNlIHRoZVxcbiAgICAgICAgICAgIC8vIGV2ZW50IHRpbWUgaXMgZXhhY3QgaW5zdGVhZCBvZiBpbmZlcnJlZCBmcm9tIGV4cGlyYXRpb24gdGltZVxcbiAgICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdGhpcy5cXG5cXG4gICAgICAgICAgICBpZiAodGltZVVudGlsRXhwaXJhdGlvbk1zIDwgX21zVW50aWxUaW1lb3V0KSB7XFxuICAgICAgICAgICAgICBfbXNVbnRpbFRpbWVvdXQgPSB0aW1lVW50aWxFeHBpcmF0aW9uTXM7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxcblxcblxcbiAgICAgICAgICBpZiAoX21zVW50aWxUaW1lb3V0ID4gMTApIHtcXG4gICAgICAgICAgICAvLyBUaGUgcmVuZGVyIGlzIHN1c3BlbmRlZCwgaXQgaGFzbid0IHRpbWVkIG91dCwgYW5kIHRoZXJlJ3Mgbm9cXG4gICAgICAgICAgICAvLyBsb3dlciBwcmlvcml0eSB3b3JrIHRvIGRvLiBJbnN0ZWFkIG9mIGNvbW1pdHRpbmcgdGhlIGZhbGxiYWNrXFxuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXFxuICAgICAgICAgICAgcm9vdC50aW1lb3V0SGFuZGxlID0gc2NoZWR1bGVUaW1lb3V0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290KSwgX21zVW50aWxUaW1lb3V0KTtcXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXFxuXFxuXFxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFJvb3RDb21wbGV0ZWQ6XFxuICAgICAge1xcbiAgICAgICAgLy8gVGhlIHdvcmsgY29tcGxldGVkLiBSZWFkeSB0byBjb21taXQuXFxuICAgICAgICBpZiAoIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcXG4gICAgICAgICEoIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQpICYmIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lICE9PSBTeW5jICYmIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGV4Y2VlZGVkIHRoZSBtaW5pbXVtIGxvYWRpbmcgZGVsYXksIHdoaWNoIHByb2JhYmx5XFxuICAgICAgICAgIC8vIG1lYW5zIHdlIGhhdmUgc2hvd24gYSBzcGlubmVyIGFscmVhZHksIHdlIG1pZ2h0IGhhdmUgdG8gc3VzcGVuZFxcbiAgICAgICAgICAvLyBhIGJpdCBsb25nZXIgdG8gZW5zdXJlIHRoYXQgdGhlIHNwaW5uZXIgaXMgc2hvd24gZm9yXFxuICAgICAgICAgIC8vIGVub3VnaCB0aW1lLlxcbiAgICAgICAgICB2YXIgX21zVW50aWxUaW1lb3V0MiA9IGNvbXB1dGVNc1VudGlsU3VzcGVuc2VMb2FkaW5nRGVsYXkod29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0UHJvY2Vzc2VkRXhwaXJhdGlvblRpbWUsIGV4cGlyYXRpb25UaW1lLCB3b3JrSW5Qcm9ncmVzc1Jvb3RDYW5TdXNwZW5kVXNpbmdDb25maWcpO1xcblxcbiAgICAgICAgICBpZiAoX21zVW50aWxUaW1lb3V0MiA+IDEwKSB7XFxuICAgICAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgICAgIHJvb3QudGltZW91dEhhbmRsZSA9IHNjaGVkdWxlVGltZW91dChjb21taXRSb290LmJpbmQobnVsbCwgcm9vdCksIF9tc1VudGlsVGltZW91dDIpO1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiVW5rbm93biByb290IGV4aXQgc3RhdHVzLlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gIH1cXG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBzeW5jaHJvbm91cyB0YXNrcyB0aGF0IGRvbid0IGdvXFxuLy8gdGhyb3VnaCBTY2hlZHVsZXJcXG5cXG5cXG5mdW5jdGlvbiBwZXJmb3JtU3luY1dvcmtPblJvb3Qocm9vdCkge1xcbiAgLy8gQ2hlY2sgaWYgdGhlcmUncyBleHBpcmVkIHdvcmsgb24gdGhpcyByb290LiBPdGhlcndpc2UsIHJlbmRlciBhdCBTeW5jLlxcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xcbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gbGFzdEV4cGlyZWRUaW1lICE9PSBOb1dvcmsgPyBsYXN0RXhwaXJlZFRpbWUgOiBTeW5jO1xcblxcbiAgaWYgKCEoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJTaG91bGQgbm90IGFscmVhZHkgYmUgd29ya2luZy5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgZXhwaXJhdGlvbiB0aW1lIGhhdmUgY2hhbmdlZCwgdGhyb3cgb3V0IHRoZSBleGlzdGluZyBzdGFja1xcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cXG5cXG4gIGlmIChyb290ICE9PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgfHwgZXhwaXJhdGlvblRpbWUgIT09IHJlbmRlckV4cGlyYXRpb25UaW1lJDEpIHtcXG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICBzdGFydFdvcmtPblBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgfSAvLyBJZiB3ZSBoYXZlIGEgd29yay1pbi1wcm9ncmVzcyBmaWJlciwgaXQgbWVhbnMgdGhlcmUncyBzdGlsbCB3b3JrIHRvIGRvXFxuICAvLyBpbiB0aGlzIHJvb3QuXFxuXFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcXG4gICAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcXG4gICAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xcbiAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpO1xcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IHB1c2hJbnRlcmFjdGlvbnMocm9vdCk7XFxuICAgIHN0YXJ0V29ya0xvb3BUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICAgIGRvIHtcXG4gICAgICB0cnkge1xcbiAgICAgICAgd29ya0xvb3BTeW5jKCk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xcbiAgICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xcbiAgICAgIH1cXG4gICAgfSB3aGlsZSAodHJ1ZSk7XFxuXFxuICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XFxuICAgIHBvcERpc3BhdGNoZXIocHJldkRpc3BhdGNoZXIpO1xcblxcbiAgICB7XFxuICAgICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xcbiAgICB9XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XFxuICAgICAgdmFyIGZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xcbiAgICAgIHN0b3BJbnRlcnJ1cHRlZFdvcmtMb29wVGltZXIoKTtcXG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBleHBpcmF0aW9uVGltZSk7XFxuICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG4gICAgICB0aHJvdyBmYXRhbEVycm9yO1xcbiAgICB9XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgaXMgYSBzeW5jIHJlbmRlciwgc28gd2Ugc2hvdWxkIGhhdmUgZmluaXNoZWQgdGhlIHdob2xlIHRyZWUuXFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkNhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxcbiAgICAgIC8vIHdpbGwgY29tbWl0IGl0IGV2ZW4gaWYgc29tZXRoaW5nIHN1c3BlbmRlZC5cXG4gICAgICBzdG9wRmluaXNoZWRXb3JrTG9vcFRpbWVyKCk7XFxuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xcbiAgICAgIHJvb3QuZmluaXNoZWRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgICAgIGZpbmlzaFN5bmNSZW5kZXIocm9vdCk7XFxuICAgIH0gLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxcbiAgICAvLyBwZW5kaW5nIGxldmVsLlxcblxcblxcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZmluaXNoU3luY1JlbmRlcihyb290KSB7XFxuICAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxcbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcXG4gIGNvbW1pdFJvb3Qocm9vdCk7XFxufVxcbmZ1bmN0aW9uIGZsdXNoRGlzY3JldGVVcGRhdGVzKCkge1xcbiAgLy8gVE9ETzogU2hvdWxkIGJlIGFibGUgdG8gZmx1c2ggaW5zaWRlIGJhdGNoZWRVcGRhdGVzLCBidXQgbm90IGluc2lkZSBgYWN0YC5cXG4gIC8vIEhvd2V2ZXIsIGBhY3RgIHVzZXMgYGJhdGNoZWRVcGRhdGVzYCwgc28gdGhlcmUncyBubyB3YXkgdG8gZGlzdGluZ3Vpc2hcXG4gIC8vIHRob3NlIHR3byBjYXNlcy4gTmVlZCB0byBmaXggdGhpcyBiZWZvcmUgZXhwb3NpbmcgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNcXG4gIC8vIGFzIGEgcHVibGljIEFQSS5cXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChCYXRjaGVkQ29udGV4dCB8IFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xcbiAgICB7XFxuICAgICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xcbiAgICAgICAgZXJyb3IoJ3Vuc3RhYmxlX2ZsdXNoRGlzY3JldGVVcGRhdGVzOiBDYW5ub3QgZmx1c2ggdXBkYXRlcyB3aGVuIFJlYWN0IGlzICcgKyAnYWxyZWFkeSByZW5kZXJpbmcuJyk7XFxuICAgICAgfVxcbiAgICB9IC8vIFdlJ3JlIGFscmVhZHkgcmVuZGVyaW5nLCBzbyB3ZSBjYW4ndCBzeW5jaHJvbm91c2x5IGZsdXNoIHBlbmRpbmcgd29yay5cXG4gICAgLy8gVGhpcyBpcyBwcm9iYWJseSBhIG5lc3RlZCBldmVudCBkaXNwYXRjaCB0cmlnZ2VyZWQgYnkgYSBsaWZlY3ljbGUvZWZmZWN0LFxcbiAgICAvLyBsaWtlIGBlbC5mb2N1cygpYC4gRXhpdC5cXG5cXG5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgZmx1c2hQZW5kaW5nRGlzY3JldGVVcGRhdGVzKCk7IC8vIElmIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIHNjaGVkdWxlZCBwYXNzaXZlIGVmZmVjdHMsIGZsdXNoIHRoZW0gbm93IHNvIHRoYXRcXG4gIC8vIHRoZXkgZmlyZSBiZWZvcmUgdGhlIG5leHQgc2VyaWFsIGV2ZW50LlxcblxcbiAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbn1cXG5mdW5jdGlvbiBzeW5jVXBkYXRlcyhmbiwgYSwgYiwgYykge1xcbiAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKEltbWVkaWF0ZVByaW9yaXR5LCBmbi5iaW5kKG51bGwsIGEsIGIsIGMpKTtcXG59XFxuXFxuZnVuY3Rpb24gZmx1c2hQZW5kaW5nRGlzY3JldGVVcGRhdGVzKCkge1xcbiAgaWYgKHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMgIT09IG51bGwpIHtcXG4gICAgLy8gRm9yIGVhY2ggcm9vdCB3aXRoIHBlbmRpbmcgZGlzY3JldGUgdXBkYXRlcywgc2NoZWR1bGUgYSBjYWxsYmFjayB0b1xcbiAgICAvLyBpbW1lZGlhdGVseSBmbHVzaCB0aGVtLlxcbiAgICB2YXIgcm9vdHMgPSByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzO1xcbiAgICByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzID0gbnVsbDtcXG4gICAgcm9vdHMuZm9yRWFjaChmdW5jdGlvbiAoZXhwaXJhdGlvblRpbWUsIHJvb3QpIHtcXG4gICAgICBtYXJrUm9vdEV4cGlyZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG4gICAgfSk7IC8vIE5vdyBmbHVzaCB0aGUgaW1tZWRpYXRlIHF1ZXVlLlxcblxcbiAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzJDEoZm4sIGEpIHtcXG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xcblxcbiAgdHJ5IHtcXG4gICAgcmV0dXJuIGZuKGEpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xcblxcbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XFxuICAgICAgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaFxcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBiYXRjaGVkRXZlbnRVcGRhdGVzJDEoZm4sIGEpIHtcXG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IEV2ZW50Q29udGV4dDtcXG5cXG4gIHRyeSB7XFxuICAgIHJldHVybiBmbihhKTtcXG4gIH0gZmluYWxseSB7XFxuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcXG5cXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCkge1xcbiAgICAgIC8vIEZsdXNoIHRoZSBpbW1lZGlhdGUgY2FsbGJhY2tzIHRoYXQgd2VyZSBzY2hlZHVsZWQgZHVyaW5nIHRoaXMgYmF0Y2hcXG4gICAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlzY3JldGVVcGRhdGVzJDEoZm4sIGEsIGIsIGMsIGQpIHtcXG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IERpc2NyZXRlRXZlbnRDb250ZXh0O1xcblxcbiAgdHJ5IHtcXG4gICAgLy8gU2hvdWxkIHRoaXNcXG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEsIGZuLmJpbmQobnVsbCwgYSwgYiwgYywgZCkpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xcblxcbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XFxuICAgICAgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaFxcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiB1bmJhdGNoZWRVcGRhdGVzKGZuLCBhKSB7XFxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgZXhlY3V0aW9uQ29udGV4dCAmPSB+QmF0Y2hlZENvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IExlZ2FjeVVuYmF0Y2hlZENvbnRleHQ7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gZm4oYSk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XFxuXFxuICAgIGlmIChleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQpIHtcXG4gICAgICAvLyBGbHVzaCB0aGUgaW1tZWRpYXRlIGNhbGxiYWNrcyB0aGF0IHdlcmUgc2NoZWR1bGVkIGR1cmluZyB0aGlzIGJhdGNoXFxuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGZsdXNoU3luYyhmbiwgYSkge1xcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xcbiAgICB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJmbHVzaFN5bmMgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIGxpZmVjeWNsZSBtZXRob2QuIEl0IGNhbm5vdCBiZSBjYWxsZWQgd2hlbiBSZWFjdCBpcyBhbHJlYWR5IHJlbmRlcmluZy5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBCYXRjaGVkQ29udGV4dDtcXG5cXG4gIHRyeSB7XFxuICAgIHJldHVybiBydW5XaXRoUHJpb3JpdHkkMShJbW1lZGlhdGVQcmlvcml0eSwgZm4uYmluZChudWxsLCBhKSk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIEZsdXNoIHRoZSBpbW1lZGlhdGUgY2FsbGJhY2tzIHRoYXQgd2VyZSBzY2hlZHVsZWQgZHVyaW5nIHRoaXMgYmF0Y2guXFxuICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdpbGwgaGFwcGVuIGV2ZW4gaWYgYmF0Y2hlZFVwZGF0ZXMgaXMgaGlnaGVyIHVwXFxuICAgIC8vIHRoZSBzdGFjay5cXG5cXG4gICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xcbiAgcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdmFyIHRpbWVvdXRIYW5kbGUgPSByb290LnRpbWVvdXRIYW5kbGU7XFxuXFxuICBpZiAodGltZW91dEhhbmRsZSAhPT0gbm9UaW1lb3V0KSB7XFxuICAgIC8vIFRoZSByb290IHByZXZpb3VzIHN1c3BlbmRlZCBhbmQgc2NoZWR1bGVkIGEgdGltZW91dCB0byBjb21taXQgYSBmYWxsYmFja1xcbiAgICAvLyBzdGF0ZS4gTm93IHRoYXQgd2UgaGF2ZSBhZGRpdGlvbmFsIHdvcmssIGNhbmNlbCB0aGUgdGltZW91dC5cXG4gICAgcm9vdC50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0OyAvLyAkRmxvd0ZpeE1lIENvbXBsYWlucyBub1RpbWVvdXQgaXMgbm90IGEgVGltZW91dElELCBkZXNwaXRlIHRoZSBjaGVjayBhYm92ZVxcblxcbiAgICBjYW5jZWxUaW1lb3V0KHRpbWVvdXRIYW5kbGUpO1xcbiAgfVxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XFxuICAgIHZhciBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XFxuXFxuICAgIHdoaWxlIChpbnRlcnJ1cHRlZFdvcmsgIT09IG51bGwpIHtcXG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoaW50ZXJydXB0ZWRXb3JrKTtcXG4gICAgICBpbnRlcnJ1cHRlZFdvcmsgPSBpbnRlcnJ1cHRlZFdvcmsucmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSByb290O1xcbiAgd29ya0luUHJvZ3Jlc3MgPSBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhyb290LmN1cnJlbnQsIG51bGwpO1xcbiAgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJbmNvbXBsZXRlO1xcbiAgd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvciA9IG51bGw7XFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IFN5bmM7XFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RTdXNwZW5zZVRpbWVvdXQgPSBTeW5jO1xcbiAgd29ya0luUHJvZ3Jlc3NSb290Q2FuU3VzcGVuZFVzaW5nQ29uZmlnID0gbnVsbDtcXG4gIHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUgPSBOb1dvcms7XFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZyA9IGZhbHNlO1xcblxcbiAge1xcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IG51bGw7XFxuICB9XFxuXFxuICB7XFxuICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpIHtcXG4gIGRvIHtcXG4gICAgdHJ5IHtcXG4gICAgICAvLyBSZXNldCBtb2R1bGUtbGV2ZWwgc3RhdGUgdGhhdCB3YXMgc2V0IGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxcbiAgICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7XFxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcXG5cXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgPT09IG51bGwgfHwgd29ya0luUHJvZ3Jlc3MucmV0dXJuID09PSBudWxsKSB7XFxuICAgICAgICAvLyBFeHBlY3RlZCB0byBiZSB3b3JraW5nIG9uIGEgbm9uLXJvb3QgZmliZXIuIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGVyZSdzIG5vIGFuY2VzdG9yIHRoYXQgY2FuIGhhbmRsZSBpdDsgdGhlIHJvb3QgaXNcXG4gICAgICAgIC8vIHN1cHBvc2VkIHRvIGNhcHR1cmUgYWxsIGVycm9ycyB0aGF0IHdlcmVuJ3QgY2F1Z2h0IGJ5IGFuIGVycm9yXFxuICAgICAgICAvLyBib3VuZGFyeS5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RmF0YWxFcnJvcmVkO1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvciA9IHRocm93blZhbHVlOyAvLyBTZXQgYHdvcmtJblByb2dyZXNzYCB0byBudWxsLiBUaGlzIHJlcHJlc2VudHMgYWR2YW5jaW5nIHRvIHRoZSBuZXh0XFxuICAgICAgICAvLyBzaWJsaW5nLCBvciB0aGUgcGFyZW50IGlmIHRoZXJlIGFyZSBubyBzaWJsaW5ncy4gQnV0IHNpbmNlIHRoZSByb290XFxuICAgICAgICAvLyBoYXMgbm8gc2libGluZ3Mgbm9yIGEgcGFyZW50LCB3ZSBzZXQgaXQgdG8gbnVsbC4gVXN1YWxseSB0aGlzIGlzXFxuICAgICAgICAvLyBoYW5kbGVkIGJ5IGBjb21wbGV0ZVVuaXRPZldvcmtgIG9yIGB1bndpbmRXb3JrYCwgYnV0IHNpbmNlIHdlJ3JlXFxuICAgICAgICAvLyBpbnRlcm50aW9uYWxseSBub3QgY2FsbGluZyB0aG9zZSwgd2UgbmVlZCBzZXQgaXQgaGVyZS5cXG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIGNhbGxpbmcgYHVud2luZFdvcmtgIHRvIHBvcCB0aGUgY29udGV4dHMuXFxuXFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGVuYWJsZVByb2ZpbGVyVGltZXIgJiYgd29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSB7XFxuICAgICAgICAvLyBSZWNvcmQgdGhlIHRpbWUgc3BlbnQgcmVuZGVyaW5nIGJlZm9yZSBhbiBlcnJvciB3YXMgdGhyb3duLiBUaGlzXFxuICAgICAgICAvLyBhdm9pZHMgaW5hY2N1cmF0ZSBQcm9maWxlciBkdXJhdGlvbnMgaW4gdGhlIGNhc2Ugb2YgYVxcbiAgICAgICAgLy8gc3VzcGVuZGVkIHJlbmRlci5cXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIHRydWUpO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aHJvd0V4Y2VwdGlvbihyb290LCB3b3JrSW5Qcm9ncmVzcy5yZXR1cm4sIHdvcmtJblByb2dyZXNzLCB0aHJvd25WYWx1ZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBjb21wbGV0ZVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcXG4gICAgICAvLyBTb21ldGhpbmcgaW4gdGhlIHJldHVybiBwYXRoIGFsc28gdGhyZXcuXFxuICAgICAgdGhyb3duVmFsdWUgPSB5ZXRBbm90aGVyVGhyb3duVmFsdWU7XFxuICAgICAgY29udGludWU7XFxuICAgIH0gLy8gUmV0dXJuIHRvIHRoZSBub3JtYWwgd29yayBsb29wLlxcblxcblxcbiAgICByZXR1cm47XFxuICB9IHdoaWxlICh0cnVlKTtcXG59XFxuXFxuZnVuY3Rpb24gcHVzaERpc3BhdGNoZXIocm9vdCkge1xcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XFxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcXG5cXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xcbiAgICAvLyBUaGUgUmVhY3QgaXNvbW9ycGhpYyBwYWNrYWdlIGRvZXMgbm90IGluY2x1ZGUgYSBkZWZhdWx0IGRpc3BhdGNoZXIuXFxuICAgIC8vIEluc3RlYWQgdGhlIGZpcnN0IHJlbmRlcmVyIHdpbGwgbGF6aWx5IGF0dGFjaCBvbmUsIGluIG9yZGVyIHRvIGdpdmVcXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXFxuICAgIHJldHVybiBDb250ZXh0T25seURpc3BhdGNoZXI7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHBvcERpc3BhdGNoZXIocHJldkRpc3BhdGNoZXIpIHtcXG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxufVxcblxcbmZ1bmN0aW9uIHB1c2hJbnRlcmFjdGlvbnMocm9vdCkge1xcbiAge1xcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDtcXG4gICAgdHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gcm9vdC5tZW1vaXplZEludGVyYWN0aW9ucztcXG4gICAgcmV0dXJuIHByZXZJbnRlcmFjdGlvbnM7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHBvcEludGVyYWN0aW9ucyhwcmV2SW50ZXJhY3Rpb25zKSB7XFxuICB7XFxuICAgIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpIHtcXG4gIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSBub3coKTtcXG59XFxuZnVuY3Rpb24gbWFya1JlbmRlckV2ZW50VGltZUFuZENvbmZpZyhleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpIHtcXG4gIGlmIChleHBpcmF0aW9uVGltZSA8IHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lICYmIGV4cGlyYXRpb25UaW1lID4gSWRsZSkge1xcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgfVxcblxcbiAgaWYgKHN1c3BlbnNlQ29uZmlnICE9PSBudWxsKSB7XFxuICAgIGlmIChleHBpcmF0aW9uVGltZSA8IHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCAmJiBleHBpcmF0aW9uVGltZSA+IElkbGUpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RTdXNwZW5zZVRpbWVvdXQgPSBleHBpcmF0aW9uVGltZTsgLy8gTW9zdCBvZiB0aGUgdGltZSB3ZSBvbmx5IGhhdmUgb25lIGNvbmZpZyBhbmQgZ2V0dGluZyB3cm9uZyBpcyBub3QgYmFkLlxcblxcbiAgICAgIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyA9IHN1c3BlbnNlQ29uZmlnO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtVbnByb2Nlc3NlZFVwZGF0ZVRpbWUoZXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChleHBpcmF0aW9uVGltZSA+IHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3NSb290TmV4dFVucHJvY2Vzc2VkVXBkYXRlVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJbmNvbXBsZXRlKSB7XFxuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290U3VzcGVuZGVkO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCkge1xcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJbmNvbXBsZXRlIHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk7XFxuICB9IC8vIENoZWNrIGlmIHRoZXJlJ3MgYSBsb3dlciBwcmlvcml0eSB1cGRhdGUgc29tZXdoZXJlIGVsc2UgaW4gdGhlIHRyZWUuXFxuXFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290TmV4dFVucHJvY2Vzc2VkVXBkYXRlVGltZSAhPT0gTm9Xb3JrICYmIHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCkge1xcbiAgICAvLyBNYXJrIHRoZSBjdXJyZW50IHJlbmRlciBhcyBzdXNwZW5kZWQsIGFuZCB0aGVuIG1hcmsgdGhhdCB0aGVyZSdzIGFcXG4gICAgLy8gcGVuZGluZyB1cGRhdGUuXFxuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGltbWVkaWF0ZWx5IGludGVycnVwdCB0aGUgY3VycmVudCByZW5kZXIsIGluc3RlYWRcXG4gICAgLy8gb2Ygd2FpdGluZyB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxcbiAgICBtYXJrUm9vdFN1c3BlbmRlZEF0VGltZSh3b3JrSW5Qcm9ncmVzc1Jvb3QsIHJlbmRlckV4cGlyYXRpb25UaW1lJDEpO1xcbiAgICBtYXJrUm9vdFVwZGF0ZWRBdFRpbWUod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3ROZXh0VW5wcm9jZXNzZWRVcGRhdGVUaW1lKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVuZGVyRGlkRXJyb3IoKSB7XFxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyAhPT0gUm9vdENvbXBsZXRlZCkge1xcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEVycm9yZWQ7XFxuICB9XFxufSAvLyBDYWxsZWQgZHVyaW5nIHJlbmRlciB0byBkZXRlcm1pbmUgaWYgYW55dGhpbmcgaGFzIHN1c3BlbmRlZC5cXG4vLyBSZXR1cm5zIGZhbHNlIGlmIHdlJ3JlIG5vdCBzdXJlLlxcblxcbmZ1bmN0aW9uIHJlbmRlckhhc05vdFN1c3BlbmRlZFlldCgpIHtcXG4gIC8vIElmIHNvbWV0aGluZyBlcnJvcmVkIG9yIGNvbXBsZXRlZCwgd2UgY2FuJ3QgcmVhbGx5IGJlIHN1cmUsXFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluY29tcGxldGU7XFxufVxcblxcbmZ1bmN0aW9uIGluZmVyVGltZUZyb21FeHBpcmF0aW9uVGltZShleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gV2UgZG9uJ3Qga25vdyBleGFjdGx5IHdoZW4gdGhlIHVwZGF0ZSB3YXMgc2NoZWR1bGVkLCBidXQgd2UgY2FuIGluZmVyIGFuXFxuICAvLyBhcHByb3hpbWF0ZSBzdGFydCB0aW1lIGZyb20gdGhlIGV4cGlyYXRpb24gdGltZS5cXG4gIHZhciBlYXJsaWVzdEV4cGlyYXRpb25UaW1lTXMgPSBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGVhcmxpZXN0RXhwaXJhdGlvblRpbWVNcyAtIExPV19QUklPUklUWV9FWFBJUkFUSU9OO1xcbn1cXG5cXG5mdW5jdGlvbiBpbmZlclRpbWVGcm9tRXhwaXJhdGlvblRpbWVXaXRoU3VzcGVuc2VDb25maWcoZXhwaXJhdGlvblRpbWUsIHN1c3BlbnNlQ29uZmlnKSB7XFxuICAvLyBXZSBkb24ndCBrbm93IGV4YWN0bHkgd2hlbiB0aGUgdXBkYXRlIHdhcyBzY2hlZHVsZWQsIGJ1dCB3ZSBjYW4gaW5mZXIgYW5cXG4gIC8vIGFwcHJveGltYXRlIHN0YXJ0IHRpbWUgZnJvbSB0aGUgZXhwaXJhdGlvbiB0aW1lIGJ5IHN1YnRyYWN0aW5nIHRoZSB0aW1lb3V0XFxuICAvLyB0aGF0IHdhcyBhZGRlZCB0byB0aGUgZXZlbnQgdGltZS5cXG4gIHZhciBlYXJsaWVzdEV4cGlyYXRpb25UaW1lTXMgPSBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGVhcmxpZXN0RXhwaXJhdGlvblRpbWVNcyAtIChzdXNwZW5zZUNvbmZpZy50aW1lb3V0TXMgfCAwIHx8IExPV19QUklPUklUWV9FWFBJUkFUSU9OKTtcXG59IC8vIFRoZSB3b3JrIGxvb3AgaXMgYW4gZXh0cmVtZWx5IGhvdCBwYXRoLiBUZWxsIENsb3N1cmUgbm90IHRvIGlubGluZSBpdC5cXG5cXG4vKiogQG5vaW5saW5lICovXFxuXFxuXFxuZnVuY3Rpb24gd29ya0xvb3BTeW5jKCkge1xcbiAgLy8gQWxyZWFkeSB0aW1lZCBvdXQsIHNvIHBlcmZvcm0gd29yayB3aXRob3V0IGNoZWNraW5nIGlmIHdlIG5lZWQgdG8geWllbGQuXFxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBwZXJmb3JtVW5pdE9mV29yayh3b3JrSW5Qcm9ncmVzcyk7XFxuICB9XFxufVxcbi8qKiBAbm9pbmxpbmUgKi9cXG5cXG5cXG5mdW5jdGlvbiB3b3JrTG9vcENvbmN1cnJlbnQoKSB7XFxuICAvLyBQZXJmb3JtIHdvcmsgdW50aWwgU2NoZWR1bGVyIGFza3MgdXMgdG8geWllbGRcXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcGVyZm9ybVVuaXRPZldvcmsodW5pdE9mV29yaykge1xcbiAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxcbiAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcXG4gIC8vIG5lZWQgYW4gYWRkaXRpb25hbCBmaWVsZCBvbiB0aGUgd29yayBpbiBwcm9ncmVzcy5cXG4gIHZhciBjdXJyZW50ID0gdW5pdE9mV29yay5hbHRlcm5hdGU7XFxuICBzdGFydFdvcmtUaW1lcih1bml0T2ZXb3JrKTtcXG4gIHNldEN1cnJlbnRGaWJlcih1bml0T2ZXb3JrKTtcXG4gIHZhciBuZXh0O1xcblxcbiAgaWYgKCAodW5pdE9mV29yay5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcXG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xcbiAgICBuZXh0ID0gYmVnaW5Xb3JrJDEoY3VycmVudCwgdW5pdE9mV29yaywgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XFxuICB9IGVsc2Uge1xcbiAgICBuZXh0ID0gYmVnaW5Xb3JrJDEoY3VycmVudCwgdW5pdE9mV29yaywgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICB9XFxuXFxuICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgdW5pdE9mV29yay5tZW1vaXplZFByb3BzID0gdW5pdE9mV29yay5wZW5kaW5nUHJvcHM7XFxuXFxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xcbiAgICAvLyBJZiB0aGlzIGRvZXNuJ3Qgc3Bhd24gbmV3IHdvcmssIGNvbXBsZXRlIHRoZSBjdXJyZW50IHdvcmsuXFxuICAgIG5leHQgPSBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XFxuICB9XFxuXFxuICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSBudWxsO1xcbiAgcmV0dXJuIG5leHQ7XFxufVxcblxcbmZ1bmN0aW9uIGNvbXBsZXRlVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XFxuICAvLyBBdHRlbXB0IHRvIGNvbXBsZXRlIHRoZSBjdXJyZW50IHVuaXQgb2Ygd29yaywgdGhlbiBtb3ZlIHRvIHRoZSBuZXh0XFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXFxuICB3b3JrSW5Qcm9ncmVzcyA9IHVuaXRPZldvcms7XFxuXFxuICBkbyB7XFxuICAgIC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcXG4gICAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcXG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxcbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcXG4gICAgdmFyIHJldHVybkZpYmVyID0gd29ya0luUHJvZ3Jlc3MucmV0dXJuOyAvLyBDaGVjayBpZiB0aGUgd29yayBjb21wbGV0ZWQgb3IgaWYgc29tZXRoaW5nIHRocmV3LlxcblxcbiAgICBpZiAoKHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmIEluY29tcGxldGUpID09PSBOb0VmZmVjdCkge1xcbiAgICAgIHNldEN1cnJlbnRGaWJlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XFxuXFxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgICAgICBuZXh0ID0gY29tcGxldGVXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgc3RhcnRQcm9maWxlclRpbWVyKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lJDEpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cXG5cXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIGZhbHNlKTtcXG4gICAgICB9XFxuXFxuICAgICAgc3RvcFdvcmtUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcXG4gICAgICByZXNldENoaWxkRXhwaXJhdGlvblRpbWUod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgIGlmIChuZXh0ICE9PSBudWxsKSB7XFxuICAgICAgICAvLyBDb21wbGV0aW5nIHRoaXMgZmliZXIgc3Bhd25lZCBuZXcgd29yay4gV29yayBvbiB0aGF0IG5leHQuXFxuICAgICAgICByZXR1cm4gbmV4dDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsICYmIC8vIERvIG5vdCBhcHBlbmQgZWZmZWN0cyB0byBwYXJlbnRzIGlmIGEgc2libGluZyBmYWlsZWQgdG8gY29tcGxldGVcXG4gICAgICAocmV0dXJuRmliZXIuZWZmZWN0VGFnICYgSW5jb21wbGV0ZSkgPT09IE5vRWZmZWN0KSB7XFxuICAgICAgICAvLyBBcHBlbmQgYWxsIHRoZSBlZmZlY3RzIG9mIHRoZSBzdWJ0cmVlIGFuZCB0aGlzIGZpYmVyIG9udG8gdGhlIGVmZmVjdFxcbiAgICAgICAgLy8gbGlzdCBvZiB0aGUgcGFyZW50LiBUaGUgY29tcGxldGlvbiBvcmRlciBvZiB0aGUgY2hpbGRyZW4gYWZmZWN0cyB0aGVcXG4gICAgICAgIC8vIHNpZGUtZWZmZWN0IG9yZGVyLlxcbiAgICAgICAgaWYgKHJldHVybkZpYmVyLmZpcnN0RWZmZWN0ID09PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybkZpYmVyLmZpcnN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3Q7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBpZiAocmV0dXJuRmliZXIubGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QubmV4dEVmZmVjdCA9IHdvcmtJblByb2dyZXNzLmZpcnN0RWZmZWN0O1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0O1xcbiAgICAgICAgfSAvLyBJZiB0aGlzIGZpYmVyIGhhZCBzaWRlLWVmZmVjdHMsIHdlIGFwcGVuZCBpdCBBRlRFUiB0aGUgY2hpbGRyZW4nc1xcbiAgICAgICAgLy8gc2lkZS1lZmZlY3RzLiBXZSBjYW4gcGVyZm9ybSBjZXJ0YWluIHNpZGUtZWZmZWN0cyBlYXJsaWVyIGlmIG5lZWRlZCxcXG4gICAgICAgIC8vIGJ5IGRvaW5nIG11bHRpcGxlIHBhc3NlcyBvdmVyIHRoZSBlZmZlY3QgbGlzdC4gV2UgZG9uJ3Qgd2FudCB0b1xcbiAgICAgICAgLy8gc2NoZWR1bGUgb3VyIG93biBzaWRlLWVmZmVjdCBvbiBvdXIgb3duIGxpc3QgYmVjYXVzZSBpZiBlbmQgdXBcXG4gICAgICAgIC8vIHJldXNpbmcgY2hpbGRyZW4gd2UnbGwgc2NoZWR1bGUgdGhpcyBlZmZlY3Qgb250byBpdHNlbGYgc2luY2Ugd2UncmVcXG4gICAgICAgIC8vIGF0IHRoZSBlbmQuXFxuXFxuXFxuICAgICAgICB2YXIgZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnOyAvLyBTa2lwIGJvdGggTm9Xb3JrIGFuZCBQZXJmb3JtZWRXb3JrIHRhZ3Mgd2hlbiBjcmVhdGluZyB0aGUgZWZmZWN0XFxuICAgICAgICAvLyBsaXN0LiBQZXJmb3JtZWRXb3JrIGVmZmVjdCBpcyByZWFkIGJ5IFJlYWN0IERldlRvb2xzIGJ1dCBzaG91bGRuJ3QgYmVcXG4gICAgICAgIC8vIGNvbW1pdHRlZC5cXG5cXG4gICAgICAgIGlmIChlZmZlY3RUYWcgPiBQZXJmb3JtZWRXb3JrKSB7XFxuICAgICAgICAgIGlmIChyZXR1cm5GaWJlci5sYXN0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdC5uZXh0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFRoaXMgZmliZXIgZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNlIHNvbWV0aGluZyB0aHJldy4gUG9wIHZhbHVlcyBvZmZcXG4gICAgICAvLyB0aGUgc3RhY2sgd2l0aG91dCBlbnRlcmluZyB0aGUgY29tcGxldGUgcGhhc2UuIElmIHRoaXMgaXMgYSBib3VuZGFyeSxcXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cXG4gICAgICB2YXIgX25leHQgPSB1bndpbmRXb3JrKHdvcmtJblByb2dyZXNzKTsgLy8gQmVjYXVzZSB0aGlzIGZpYmVyIGRpZCBub3QgY29tcGxldGUsIGRvbid0IHJlc2V0IGl0cyBleHBpcmF0aW9uIHRpbWUuXFxuXFxuXFxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XFxuICAgICAgICAvLyBSZWNvcmQgdGhlIHJlbmRlciBkdXJhdGlvbiBmb3IgdGhlIGZpYmVyIHRoYXQgZXJyb3JlZC5cXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cXG5cXG4gICAgICAgIHZhciBhY3R1YWxEdXJhdGlvbiA9IHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uO1xcbiAgICAgICAgdmFyIGNoaWxkID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuXFxuICAgICAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XFxuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gYWN0dWFsRHVyYXRpb247XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChfbmV4dCAhPT0gbnVsbCkge1xcbiAgICAgICAgLy8gSWYgY29tcGxldGluZyB0aGlzIHdvcmsgc3Bhd25lZCBuZXcgd29yaywgZG8gdGhhdCBuZXh0LiBXZSdsbCBjb21lXFxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXFxuICAgICAgICAvLyBTaW5jZSB3ZSdyZSByZXN0YXJ0aW5nLCByZW1vdmUgYW55dGhpbmcgdGhhdCBpcyBub3QgYSBob3N0IGVmZmVjdFxcbiAgICAgICAgLy8gZnJvbSB0aGUgZWZmZWN0IHRhZy5cXG4gICAgICAgIC8vIFRPRE86IFRoZSBuYW1lIHN0b3BGYWlsZWRXb3JrVGltZXIgaXMgbWlzbGVhZGluZyBiZWNhdXNlIFN1c3BlbnNlXFxuICAgICAgICAvLyBhbHNvIGNhcHR1cmVzIGFuZCByZXN0YXJ0cy5cXG4gICAgICAgIHN0b3BGYWlsZWRXb3JrVGltZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgX25leHQuZWZmZWN0VGFnICY9IEhvc3RFZmZlY3RNYXNrO1xcbiAgICAgICAgcmV0dXJuIF9uZXh0O1xcbiAgICAgIH1cXG5cXG4gICAgICBzdG9wV29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcXG5cXG4gICAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIE1hcmsgdGhlIHBhcmVudCBmaWJlciBhcyBpbmNvbXBsZXRlIGFuZCBjbGVhciBpdHMgZWZmZWN0IGxpc3QuXFxuICAgICAgICByZXR1cm5GaWJlci5maXJzdEVmZmVjdCA9IHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgcmV0dXJuRmliZXIuZWZmZWN0VGFnIHw9IEluY29tcGxldGU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBzaWJsaW5nRmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5zaWJsaW5nO1xcblxcbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XFxuICAgICAgLy8gSWYgdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGRvIGluIHRoaXMgcmV0dXJuRmliZXIsIGRvIHRoYXQgbmV4dC5cXG4gICAgICByZXR1cm4gc2libGluZ0ZpYmVyO1xcbiAgICB9IC8vIE90aGVyd2lzZSwgcmV0dXJuIHRvIHRoZSBwYXJlbnRcXG5cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcXG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgcm9vdC5cXG5cXG5cXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5jb21wbGV0ZSkge1xcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdENvbXBsZXRlZDtcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRSZW1haW5pbmdFeHBpcmF0aW9uVGltZShmaWJlcikge1xcbiAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gZmliZXIuZXhwaXJhdGlvblRpbWU7XFxuICB2YXIgY2hpbGRFeHBpcmF0aW9uVGltZSA9IGZpYmVyLmNoaWxkRXhwaXJhdGlvblRpbWU7XFxuICByZXR1cm4gdXBkYXRlRXhwaXJhdGlvblRpbWUgPiBjaGlsZEV4cGlyYXRpb25UaW1lID8gdXBkYXRlRXhwaXJhdGlvblRpbWUgOiBjaGlsZEV4cGlyYXRpb25UaW1lO1xcbn1cXG5cXG5mdW5jdGlvbiByZXNldENoaWxkRXhwaXJhdGlvblRpbWUoY29tcGxldGVkV29yaykge1xcbiAgaWYgKHJlbmRlckV4cGlyYXRpb25UaW1lJDEgIT09IE5ldmVyICYmIGNvbXBsZXRlZFdvcmsuY2hpbGRFeHBpcmF0aW9uVGltZSA9PT0gTmV2ZXIpIHtcXG4gICAgLy8gVGhlIGNoaWxkcmVuIG9mIHRoaXMgY29tcG9uZW50IGFyZSBoaWRkZW4uIERvbid0IGJ1YmJsZSB0aGVpclxcbiAgICAvLyBleHBpcmF0aW9uIHRpbWVzLlxcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yazsgLy8gQnViYmxlIHVwIHRoZSBlYXJsaWVzdCBleHBpcmF0aW9uIHRpbWUuXFxuXFxuICBpZiAoIChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xcbiAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxcbiAgICAvLyBwcm9maWxlciBkdXJhdGlvbnMuXFxuICAgIHZhciBhY3R1YWxEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb247XFxuICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXFxuICAgIC8vIG9ubHkgYmUgdXBkYXRlZCBpZiB3b3JrIGlzIGRvbmUgb24gdGhlIGZpYmVyIChpLmUuIGl0IGRvZXNuJ3QgYmFpbG91dCkuXFxuICAgIC8vIFdoZW4gd29yayBpcyBkb25lLCBpdCBzaG91bGQgYnViYmxlIHRvIHRoZSBwYXJlbnQncyBhY3R1YWxEdXJhdGlvbi4gSWZcXG4gICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxcbiAgICAvLyB0aGlzIHZhbHVlIHdpbGwgcmVmbGVjdCB0aGUgYW1vdW50IG9mIHRpbWUgc3BlbnQgd29ya2luZyBvbiBhIHByZXZpb3VzXFxuICAgIC8vIHJlbmRlci4gSW4gdGhhdCBjYXNlIGl0IHNob3VsZCBub3QgYnViYmxlLiBXZSBkZXRlcm1pbmUgd2hldGhlciBpdCB3YXNcXG4gICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cXG5cXG4gICAgdmFyIHNob3VsZEJ1YmJsZUFjdHVhbER1cmF0aW9ucyA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlID09PSBudWxsIHx8IGNvbXBsZXRlZFdvcmsuY2hpbGQgIT09IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkO1xcbiAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xcblxcbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICB2YXIgY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA9IGNoaWxkLmV4cGlyYXRpb25UaW1lO1xcbiAgICAgIHZhciBjaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPSBjaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lO1xcblxcbiAgICAgIGlmIChjaGlsZFVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSA9IGNoaWxkVXBkYXRlRXhwaXJhdGlvblRpbWU7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPiBuZXdDaGlsZEV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gY2hpbGRDaGlsZEV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoc2hvdWxkQnViYmxlQWN0dWFsRHVyYXRpb25zKSB7XFxuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcXG4gICAgICB9XFxuXFxuICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xcbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcXG4gICAgfVxcblxcbiAgICBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uID0gYWN0dWFsRHVyYXRpb247XFxuICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgX2NoaWxkID0gY29tcGxldGVkV29yay5jaGlsZDtcXG5cXG4gICAgd2hpbGUgKF9jaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBfY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA9IF9jaGlsZC5leHBpcmF0aW9uVGltZTtcXG4gICAgICB2YXIgX2NoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZSA9IF9jaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lO1xcblxcbiAgICAgIGlmIChfY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA+IG5ld0NoaWxkRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgIG5ld0NoaWxkRXhwaXJhdGlvblRpbWUgPSBfY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKF9jaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPiBuZXdDaGlsZEV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gX2NoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZTtcXG4gICAgICB9XFxuXFxuICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGNvbXBsZXRlZFdvcmsuY2hpbGRFeHBpcmF0aW9uVGltZSA9IG5ld0NoaWxkRXhwaXJhdGlvblRpbWU7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFJvb3Qocm9vdCkge1xcbiAgdmFyIHJlbmRlclByaW9yaXR5TGV2ZWwgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xcbiAgcnVuV2l0aFByaW9yaXR5JDEoSW1tZWRpYXRlUHJpb3JpdHksIGNvbW1pdFJvb3RJbXBsLmJpbmQobnVsbCwgcm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkpO1xcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFJvb3RJbXBsKHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcXG4gIGRvIHtcXG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXFxuICAgIC8vIG1lYW5zIGBmbHVzaFBhc3NpdmVFZmZlY3RzYCB3aWxsIHNvbWV0aW1lcyByZXN1bHQgaW4gYWRkaXRpb25hbFxcbiAgICAvLyBwYXNzaXZlIGVmZmVjdHMuIFNvIHdlIG5lZWQgdG8ga2VlcCBmbHVzaGluZyBpbiBhIGxvb3AgdW50aWwgdGhlcmUgYXJlXFxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxcbiAgICAvLyBUT0RPOiBNaWdodCBiZSBiZXR0ZXIgaWYgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIGRpZCBub3QgYXV0b21hdGljYWxseVxcbiAgICAvLyBmbHVzaCBzeW5jaHJvbm91cyB3b3JrIGF0IHRoZSBlbmQsIHRvIGF2b2lkIGZhY3RvcmluZyBoYXphcmRzIGxpa2UgdGhpcy5cXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbiAgfSB3aGlsZSAocm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgIT09IG51bGwpO1xcblxcbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XFxuXFxuICBpZiAoISgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGZpbmlzaGVkV29yayA9IHJvb3QuZmluaXNoZWRXb3JrO1xcbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lO1xcblxcbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcXG4gIHJvb3QuZmluaXNoZWRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG5cXG4gIGlmICghKGZpbmlzaGVkV29yayAhPT0gcm9vdC5jdXJyZW50KSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJDYW5ub3QgY29tbWl0IHRoZSBzYW1lIHRyZWUgYXMgYmVmb3JlLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxcbiAgLy8gU28gd2UgY2FuIGNsZWFyIHRoZXNlIG5vdyB0byBhbGxvdyBhIG5ldyBjYWxsYmFjayB0byBiZSBzY2hlZHVsZWQuXFxuXFxuXFxuICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XFxuICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuICByb290LmNhbGxiYWNrUHJpb3JpdHkgPSBOb1ByaW9yaXR5O1xcbiAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBOb1dvcms7XFxuICBzdGFydENvbW1pdFRpbWVyKCk7IC8vIFVwZGF0ZSB0aGUgZmlyc3QgYW5kIGxhc3QgcGVuZGluZyB0aW1lcyBvbiB0aGlzIHJvb3QuIFRoZSBuZXcgZmlyc3RcXG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxcblxcbiAgdmFyIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lQmVmb3JlQ29tbWl0ID0gZ2V0UmVtYWluaW5nRXhwaXJhdGlvblRpbWUoZmluaXNoZWRXb3JrKTtcXG4gIG1hcmtSb290RmluaXNoZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUsIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lQmVmb3JlQ29tbWl0KTtcXG5cXG4gIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcXG4gICAgLy8gV2UgY2FuIHJlc2V0IHRoZXNlIG5vdyB0aGF0IHRoZXkgYXJlIGZpbmlzaGVkLlxcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XFxuICAgIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPSBOb1dvcms7XFxuICB9IC8vIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGxhc3Qgcm9vdCB3ZSB3b3JrZWQgb24gaXMgbm90IHRoZSBzYW1lIG9uZSB0aGF0XFxuICAvLyB3ZSdyZSBjb21taXR0aW5nIG5vdy4gVGhpcyBtb3N0IGNvbW1vbmx5IGhhcHBlbnMgd2hlbiBhIHN1c3BlbmRlZCByb290XFxuICAvLyB0aW1lcyBvdXQuXFxuICAvLyBHZXQgdGhlIGxpc3Qgb2YgZWZmZWN0cy5cXG5cXG5cXG4gIHZhciBmaXJzdEVmZmVjdDtcXG5cXG4gIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnID4gUGVyZm9ybWVkV29yaykge1xcbiAgICAvLyBBIGZpYmVyJ3MgZWZmZWN0IGxpc3QgY29uc2lzdHMgb25seSBvZiBpdHMgY2hpbGRyZW4sIG5vdCBpdHNlbGYuIFNvIGlmXFxuICAgIC8vIHRoZSByb290IGhhcyBhbiBlZmZlY3QsIHdlIG5lZWQgdG8gYWRkIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuIFRoZVxcbiAgICAvLyByZXN1bHRpbmcgbGlzdCBpcyB0aGUgc2V0IHRoYXQgd291bGQgYmVsb25nIHRvIHRoZSByb290J3MgcGFyZW50LCBpZiBpdFxcbiAgICAvLyBoYWQgb25lOyB0aGF0IGlzLCBhbGwgdGhlIGVmZmVjdHMgaW4gdGhlIHRyZWUgaW5jbHVkaW5nIHRoZSByb290LlxcbiAgICBpZiAoZmluaXNoZWRXb3JrLmxhc3RFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgICBmaW5pc2hlZFdvcmsubGFzdEVmZmVjdC5uZXh0RWZmZWN0ID0gZmluaXNoZWRXb3JrO1xcbiAgICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrLmZpcnN0RWZmZWN0O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBUaGVyZSBpcyBubyBlZmZlY3Qgb24gdGhlIHJvb3QuXFxuICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrLmZpcnN0RWZmZWN0O1xcbiAgfVxcblxcbiAgaWYgKGZpcnN0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gQ29tbWl0Q29udGV4dDtcXG4gICAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBwdXNoSW50ZXJhY3Rpb25zKHJvb3QpOyAvLyBSZXNldCB0aGlzIHRvIG51bGwgYmVmb3JlIGNhbGxpbmcgbGlmZWN5Y2xlc1xcblxcbiAgICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSBudWxsOyAvLyBUaGUgY29tbWl0IHBoYXNlIGlzIGJyb2tlbiBpbnRvIHNldmVyYWwgc3ViLXBoYXNlcy4gV2UgZG8gYSBzZXBhcmF0ZSBwYXNzXFxuICAgIC8vIG9mIHRoZSBlZmZlY3QgbGlzdCBmb3IgZWFjaCBwaGFzZTogYWxsIG11dGF0aW9uIGVmZmVjdHMgY29tZSBiZWZvcmUgYWxsXFxuICAgIC8vIGxheW91dCBlZmZlY3RzLCBhbmQgc28gb24uXFxuICAgIC8vIFRoZSBmaXJzdCBwaGFzZSBhIFxcXCJiZWZvcmUgbXV0YXRpb25cXFwiIHBoYXNlLiBXZSB1c2UgdGhpcyBwaGFzZSB0byByZWFkIHRoZVxcbiAgICAvLyBzdGF0ZSBvZiB0aGUgaG9zdCB0cmVlIHJpZ2h0IGJlZm9yZSB3ZSBtdXRhdGUgaXQuIFRoaXMgaXMgd2hlcmVcXG4gICAgLy8gZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgaXMgY2FsbGVkLlxcblxcbiAgICBzdGFydENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCk7XFxuICAgIHByZXBhcmVGb3JDb21taXQocm9vdC5jb250YWluZXJJbmZvKTtcXG4gICAgbmV4dEVmZmVjdCA9IGZpcnN0RWZmZWN0O1xcblxcbiAgICBkbyB7XFxuICAgICAge1xcbiAgICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0cywgbnVsbCk7XFxuXFxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xcbiAgICAgICAgICBpZiAoIShuZXh0RWZmZWN0ICE9PSBudWxsKSkge1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiU2hvdWxkIGJlIHdvcmtpbmcgb24gYW4gZWZmZWN0LlxcXCIgKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihuZXh0RWZmZWN0LCBlcnJvcik7XFxuICAgICAgICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKTtcXG5cXG4gICAgc3RvcENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCk7XFxuXFxuICAgIHtcXG4gICAgICAvLyBNYXJrIHRoZSBjdXJyZW50IGNvbW1pdCB0aW1lIHRvIGJlIHNoYXJlZCBieSBhbGwgUHJvZmlsZXJzIGluIHRoaXNcXG4gICAgICAvLyBiYXRjaC4gVGhpcyBlbmFibGVzIHRoZW0gdG8gYmUgZ3JvdXBlZCBsYXRlci5cXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XFxuICAgIH0gLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIG11dGF0aW9uIHBoYXNlLCB3aGVyZSB3ZSBtdXRhdGUgdGhlIGhvc3QgdHJlZS5cXG5cXG5cXG4gICAgc3RhcnRDb21taXRIb3N0RWZmZWN0c1RpbWVyKCk7XFxuICAgIG5leHRFZmZlY3QgPSBmaXJzdEVmZmVjdDtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHtcXG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBjb21taXRNdXRhdGlvbkVmZmVjdHMsIG51bGwsIHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xcblxcbiAgICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcXG4gICAgICAgICAgaWYgKCEobmV4dEVmZmVjdCAhPT0gbnVsbCkpIHtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBiZSB3b3JraW5nIG9uIGFuIGVmZmVjdC5cXFwiICk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBfZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuXFxuICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKG5leHRFZmZlY3QsIF9lcnJvcik7XFxuICAgICAgICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKTtcXG5cXG4gICAgc3RvcENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcXG4gICAgcmVzZXRBZnRlckNvbW1pdChyb290LmNvbnRhaW5lckluZm8pOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyB0cmVlIGlzIG5vdyB0aGUgY3VycmVudCB0cmVlLiBUaGlzIG11c3QgY29tZSBhZnRlclxcbiAgICAvLyB0aGUgbXV0YXRpb24gcGhhc2UsIHNvIHRoYXQgdGhlIHByZXZpb3VzIHRyZWUgaXMgc3RpbGwgY3VycmVudCBkdXJpbmdcXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcXG4gICAgLy8gd29yayBpcyBjdXJyZW50IGR1cmluZyBjb21wb25lbnREaWRNb3VudC9VcGRhdGUuXFxuXFxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxcbiAgICAvLyB0aGUgaG9zdCB0cmVlIGFmdGVyIGl0J3MgYmVlbiBtdXRhdGVkLiBUaGUgaWRpb21hdGljIHVzZSBjYXNlIGZvciB0aGlzIGlzXFxuICAgIC8vIGxheW91dCwgYnV0IGNsYXNzIGNvbXBvbmVudCBsaWZlY3ljbGVzIGFsc28gZmlyZSBoZXJlIGZvciBsZWdhY3kgcmVhc29ucy5cXG5cXG4gICAgc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKTtcXG4gICAgbmV4dEVmZmVjdCA9IGZpcnN0RWZmZWN0O1xcblxcbiAgICBkbyB7XFxuICAgICAge1xcbiAgICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNvbW1pdExheW91dEVmZmVjdHMsIG51bGwsIHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XFxuICAgICAgICAgIGlmICghKG5leHRFZmZlY3QgIT09IG51bGwpKSB7XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJTaG91bGQgYmUgd29ya2luZyBvbiBhbiBlZmZlY3QuXFxcIiApO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB2YXIgX2Vycm9yMiA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTtcXG5cXG4gICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IobmV4dEVmZmVjdCwgX2Vycm9yMik7XFxuICAgICAgICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKTtcXG5cXG4gICAgc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xcbiAgICBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVGVsbCBTY2hlZHVsZXIgdG8geWllbGQgYXQgdGhlIGVuZCBvZiB0aGUgZnJhbWUsIHNvIHRoZSBicm93c2VyIGhhcyBhblxcbiAgICAvLyBvcHBvcnR1bml0eSB0byBwYWludC5cXG5cXG4gICAgcmVxdWVzdFBhaW50KCk7XFxuXFxuICAgIHtcXG4gICAgICBwb3BJbnRlcmFjdGlvbnMocHJldkludGVyYWN0aW9ucyk7XFxuICAgIH1cXG5cXG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gTm8gZWZmZWN0cy5cXG4gICAgcm9vdC5jdXJyZW50ID0gZmluaXNoZWRXb3JrOyAvLyBNZWFzdXJlIHRoZXNlIGFueXdheSBzbyB0aGUgZmxhbWVncmFwaCBleHBsaWNpdGx5IHNob3dzIHRoYXQgdGhlcmUgd2VyZVxcbiAgICAvLyBubyBlZmZlY3RzLlxcbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cXG5cXG4gICAgc3RhcnRDb21taXRTbmFwc2hvdEVmZmVjdHNUaW1lcigpO1xcbiAgICBzdG9wQ29tbWl0U25hcHNob3RFZmZlY3RzVGltZXIoKTtcXG5cXG4gICAge1xcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcXG4gICAgfVxcblxcbiAgICBzdGFydENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcXG4gICAgc3RvcENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcXG4gICAgc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKTtcXG4gICAgc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xcbiAgfVxcblxcbiAgc3RvcENvbW1pdFRpbWVyKCk7XFxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xcblxcbiAgaWYgKHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XFxuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxcbiAgICAvLyBzY2hlZHVsZSBhIGNhbGxiYWNrIHVudGlsIGFmdGVyIGZsdXNoaW5nIGxheW91dCB3b3JrLlxcbiAgICByb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XFxuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0V4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ID0gcmVuZGVyUHJpb3JpdHlMZXZlbDtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIFdlIGFyZSBkb25lIHdpdGggdGhlIGVmZmVjdCBjaGFpbiBhdCB0aGlzIHBvaW50IHNvIGxldCdzIGNsZWFyIHRoZVxcbiAgICAvLyBuZXh0RWZmZWN0IHBvaW50ZXJzIHRvIGFzc2lzdCB3aXRoIEdDLiBJZiB3ZSBoYXZlIHBhc3NpdmUgZWZmZWN0cywgd2UnbGxcXG4gICAgLy8gY2xlYXIgdGhpcyBpbiBmbHVzaFBhc3NpdmVFZmZlY3RzLlxcbiAgICBuZXh0RWZmZWN0ID0gZmlyc3RFZmZlY3Q7XFxuXFxuICAgIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIG5leHROZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgICAgIG5leHRFZmZlY3QubmV4dEVmZmVjdCA9IG51bGw7XFxuICAgICAgbmV4dEVmZmVjdCA9IG5leHROZXh0RWZmZWN0O1xcbiAgICB9XFxuICB9IC8vIENoZWNrIGlmIHRoZXJlJ3MgcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290XFxuXFxuXFxuICB2YXIgcmVtYWluaW5nRXhwaXJhdGlvblRpbWUgPSByb290LmZpcnN0UGVuZGluZ1RpbWU7XFxuXFxuICBpZiAocmVtYWluaW5nRXhwaXJhdGlvblRpbWUgIT09IE5vV29yaykge1xcbiAgICB7XFxuICAgICAgaWYgKHNwYXduZWRXb3JrRHVyaW5nUmVuZGVyICE9PSBudWxsKSB7XFxuICAgICAgICB2YXIgZXhwaXJhdGlvblRpbWVzID0gc3Bhd25lZFdvcmtEdXJpbmdSZW5kZXI7XFxuICAgICAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IG51bGw7XFxuXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGlyYXRpb25UaW1lcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICBzY2hlZHVsZUludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZXNbaV0sIHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnMpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgcmVtYWluaW5nRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBJZiB0aGVyZSdzIG5vIHJlbWFpbmluZyB3b3JrLCB3ZSBjYW4gY2xlYXIgdGhlIHNldCBvZiBhbHJlYWR5IGZhaWxlZFxcbiAgICAvLyBlcnJvciBib3VuZGFyaWVzLlxcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XFxuICB9XFxuXFxuICB7XFxuICAgIGlmICghcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cykge1xcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBwYXNzaXZlIGVmZmVjdHMsIHRoZW4gd2UgY2FuIGNvbXBsZXRlIHRoZSBwZW5kaW5nIGludGVyYWN0aW9ucy5cXG4gICAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIHdhaXQgdW50aWwgYWZ0ZXIgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgZmx1c2hlZC5cXG4gICAgICAvLyBXYWl0IHRvIGRvIHRoaXMgdW50aWwgYWZ0ZXIgcmVtYWluaW5nIHdvcmsgaGFzIGJlZW4gc2NoZWR1bGVkLFxcbiAgICAgIC8vIHNvIHRoYXQgd2UgZG9uJ3QgcHJlbWF0dXJlbHkgc2lnbmFsIGNvbXBsZXRlIGZvciBpbnRlcmFjdGlvbnMgd2hlbiB0aGVyZSdzIGUuZy4gaGlkZGVuIHdvcmsuXFxuICAgICAgZmluaXNoUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChyZW1haW5pbmdFeHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xcbiAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSByb290IHN5bmNocm9ub3VzbHkgcmUtcmVuZGVycyB3aXRob3V0XFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXFxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcXG4gICAgICBuZXN0ZWRVcGRhdGVDb3VudCsrO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcXG4gICAgICByb290V2l0aE5lc3RlZFVwZGF0ZXMgPSByb290O1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XFxuICB9XFxuXFxuICBvbkNvbW1pdFJvb3QoZmluaXNoZWRXb3JrLnN0YXRlTm9kZSwgZXhwaXJhdGlvblRpbWUpOyAvLyBBbHdheXMgY2FsbCB0aGlzIGJlZm9yZSBleGl0aW5nIGBjb21taXRSb290YCwgdG8gZW5zdXJlIHRoYXQgYW55XFxuICAvLyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290IGlzIHNjaGVkdWxlZC5cXG5cXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG5cXG4gIGlmIChoYXNVbmNhdWdodEVycm9yKSB7XFxuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcXG4gICAgdmFyIF9lcnJvcjMgPSBmaXJzdFVuY2F1Z2h0RXJyb3I7XFxuICAgIGZpcnN0VW5jYXVnaHRFcnJvciA9IG51bGw7XFxuICAgIHRocm93IF9lcnJvcjM7XFxuICB9XFxuXFxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBMZWdhY3lVbmJhdGNoZWRDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XFxuICAgIC8vIFRoaXMgaXMgYSBsZWdhY3kgZWRnZSBjYXNlLiBXZSBqdXN0IGNvbW1pdHRlZCB0aGUgaW5pdGlhbCBtb3VudCBvZlxcbiAgICAvLyBhIFJlYWN0RE9NLnJlbmRlci1lZCByb290IGluc2lkZSBvZiBiYXRjaGVkVXBkYXRlcy4gVGhlIGNvbW1pdCBmaXJlZFxcbiAgICAvLyBzeW5jaHJvbm91c2x5LCBidXQgbGF5b3V0IHVwZGF0ZXMgc2hvdWxkIGJlIGRlZmVycmVkIHVudGlsIHRoZSBlbmRcXG4gICAgLy8gb2YgdGhlIGJhdGNoLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gSWYgbGF5b3V0IHdvcmsgd2FzIHNjaGVkdWxlZCwgZmx1c2ggaXQgbm93LlxcblxcblxcbiAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0cygpIHtcXG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgIHZhciBlZmZlY3RUYWcgPSBuZXh0RWZmZWN0LmVmZmVjdFRhZztcXG5cXG4gICAgaWYgKChlZmZlY3RUYWcgJiBTbmFwc2hvdCkgIT09IE5vRWZmZWN0KSB7XFxuICAgICAgc2V0Q3VycmVudEZpYmVyKG5leHRFZmZlY3QpO1xcbiAgICAgIHJlY29yZEVmZmVjdCgpO1xcbiAgICAgIHZhciBjdXJyZW50ID0gbmV4dEVmZmVjdC5hbHRlcm5hdGU7XFxuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25MaWZlQ3ljbGVzKGN1cnJlbnQsIG5leHRFZmZlY3QpO1xcbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKChlZmZlY3RUYWcgJiBQYXNzaXZlKSAhPT0gTm9FZmZlY3QpIHtcXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgcGFzc2l2ZSBlZmZlY3RzLCBzY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGZsdXNoIGF0XFxuICAgICAgLy8gdGhlIGVhcmxpZXN0IG9wcG9ydHVuaXR5LlxcbiAgICAgIGlmICghcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMpIHtcXG4gICAgICAgIHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzID0gdHJ1ZTtcXG4gICAgICAgIHNjaGVkdWxlQ2FsbGJhY2soTm9ybWFsUHJpb3JpdHksIGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbiAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgIH0pO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xcbiAgLy8gVE9ETzogU2hvdWxkIHByb2JhYmx5IG1vdmUgdGhlIGJ1bGsgb2YgdGhpcyBmdW5jdGlvbiB0byBjb21taXRXb3JrLlxcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgc2V0Q3VycmVudEZpYmVyKG5leHRFZmZlY3QpO1xcbiAgICB2YXIgZWZmZWN0VGFnID0gbmV4dEVmZmVjdC5lZmZlY3RUYWc7XFxuXFxuICAgIGlmIChlZmZlY3RUYWcgJiBDb250ZW50UmVzZXQpIHtcXG4gICAgICBjb21taXRSZXNldFRleHRDb250ZW50KG5leHRFZmZlY3QpO1xcbiAgICB9XFxuXFxuICAgIGlmIChlZmZlY3RUYWcgJiBSZWYpIHtcXG4gICAgICB2YXIgY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgICBjb21taXREZXRhY2hSZWYoY3VycmVudCk7XFxuICAgICAgfVxcbiAgICB9IC8vIFRoZSBmb2xsb3dpbmcgc3dpdGNoIHN0YXRlbWVudCBpcyBvbmx5IGNvbmNlcm5lZCBhYm91dCBwbGFjZW1lbnQsXFxuICAgIC8vIHVwZGF0ZXMsIGFuZCBkZWxldGlvbnMuIFRvIGF2b2lkIG5lZWRpbmcgdG8gYWRkIGEgY2FzZSBmb3IgZXZlcnkgcG9zc2libGVcXG4gICAgLy8gYml0bWFwIHZhbHVlLCB3ZSByZW1vdmUgdGhlIHNlY29uZGFyeSBlZmZlY3RzIGZyb20gdGhlIGVmZmVjdCB0YWcgYW5kXFxuICAgIC8vIHN3aXRjaCBvbiB0aGF0IHZhbHVlLlxcblxcblxcbiAgICB2YXIgcHJpbWFyeUVmZmVjdFRhZyA9IGVmZmVjdFRhZyAmIChQbGFjZW1lbnQgfCBVcGRhdGUgfCBEZWxldGlvbiB8IEh5ZHJhdGluZyk7XFxuXFxuICAgIHN3aXRjaCAocHJpbWFyeUVmZmVjdFRhZykge1xcbiAgICAgIGNhc2UgUGxhY2VtZW50OlxcbiAgICAgICAge1xcbiAgICAgICAgICBjb21taXRQbGFjZW1lbnQobmV4dEVmZmVjdCk7IC8vIENsZWFyIHRoZSBcXFwicGxhY2VtZW50XFxcIiBmcm9tIGVmZmVjdCB0YWcgc28gdGhhdCB3ZSBrbm93IHRoYXQgdGhpcyBpc1xcbiAgICAgICAgICAvLyBpbnNlcnRlZCwgYmVmb3JlIGFueSBsaWZlLWN5Y2xlcyBsaWtlIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkLlxcbiAgICAgICAgICAvLyBUT0RPOiBmaW5kRE9NTm9kZSBkb2Vzbid0IHJlbHkgb24gdGhpcyBhbnkgbW9yZSBidXQgaXNNb3VudGVkIGRvZXNcXG4gICAgICAgICAgLy8gYW5kIGlzTW91bnRlZCBpcyBkZXByZWNhdGVkIGFueXdheSBzbyB3ZSBzaG91bGQgYmUgYWJsZSB0byBraWxsIHRoaXMuXFxuXFxuICAgICAgICAgIG5leHRFZmZlY3QuZWZmZWN0VGFnICY9IH5QbGFjZW1lbnQ7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgUGxhY2VtZW50QW5kVXBkYXRlOlxcbiAgICAgICAge1xcbiAgICAgICAgICAvLyBQbGFjZW1lbnRcXG4gICAgICAgICAgY29tbWl0UGxhY2VtZW50KG5leHRFZmZlY3QpOyAvLyBDbGVhciB0aGUgXFxcInBsYWNlbWVudFxcXCIgZnJvbSBlZmZlY3QgdGFnIHNvIHRoYXQgd2Uga25vdyB0aGF0IHRoaXMgaXNcXG4gICAgICAgICAgLy8gaW5zZXJ0ZWQsIGJlZm9yZSBhbnkgbGlmZS1jeWNsZXMgbGlrZSBjb21wb25lbnREaWRNb3VudCBnZXRzIGNhbGxlZC5cXG5cXG4gICAgICAgICAgbmV4dEVmZmVjdC5lZmZlY3RUYWcgJj0gflBsYWNlbWVudDsgLy8gVXBkYXRlXFxuXFxuICAgICAgICAgIHZhciBfY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcbiAgICAgICAgICBjb21taXRXb3JrKF9jdXJyZW50LCBuZXh0RWZmZWN0KTtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgY2FzZSBIeWRyYXRpbmc6XFxuICAgICAgICB7XFxuICAgICAgICAgIG5leHRFZmZlY3QuZWZmZWN0VGFnICY9IH5IeWRyYXRpbmc7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgSHlkcmF0aW5nQW5kVXBkYXRlOlxcbiAgICAgICAge1xcbiAgICAgICAgICBuZXh0RWZmZWN0LmVmZmVjdFRhZyAmPSB+SHlkcmF0aW5nOyAvLyBVcGRhdGVcXG5cXG4gICAgICAgICAgdmFyIF9jdXJyZW50MiA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcbiAgICAgICAgICBjb21taXRXb3JrKF9jdXJyZW50MiwgbmV4dEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgVXBkYXRlOlxcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgX2N1cnJlbnQzID0gbmV4dEVmZmVjdC5hbHRlcm5hdGU7XFxuICAgICAgICAgIGNvbW1pdFdvcmsoX2N1cnJlbnQzLCBuZXh0RWZmZWN0KTtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgY2FzZSBEZWxldGlvbjpcXG4gICAgICAgIHtcXG4gICAgICAgICAgY29tbWl0RGVsZXRpb24ocm9vdCwgbmV4dEVmZmVjdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9IC8vIFRPRE86IE9ubHkgcmVjb3JkIGEgbXV0YXRpb24gZWZmZWN0IGlmIHByaW1hcnlFZmZlY3RUYWcgaXMgbm9uLXplcm8uXFxuXFxuXFxuICAgIHJlY29yZEVmZmVjdCgpO1xcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzKHJvb3QsIGNvbW1pdHRlZEV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUT0RPOiBTaG91bGQgcHJvYmFibHkgbW92ZSB0aGUgYnVsayBvZiB0aGlzIGZ1bmN0aW9uIHRvIGNvbW1pdFdvcmsuXFxuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICBzZXRDdXJyZW50RmliZXIobmV4dEVmZmVjdCk7XFxuICAgIHZhciBlZmZlY3RUYWcgPSBuZXh0RWZmZWN0LmVmZmVjdFRhZztcXG5cXG4gICAgaWYgKGVmZmVjdFRhZyAmIChVcGRhdGUgfCBDYWxsYmFjaykpIHtcXG4gICAgICByZWNvcmRFZmZlY3QoKTtcXG4gICAgICB2YXIgY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcbiAgICAgIGNvbW1pdExpZmVDeWNsZXMocm9vdCwgY3VycmVudCwgbmV4dEVmZmVjdCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVmZmVjdFRhZyAmIFJlZikge1xcbiAgICAgIHJlY29yZEVmZmVjdCgpO1xcbiAgICAgIGNvbW1pdEF0dGFjaFJlZihuZXh0RWZmZWN0KTtcXG4gICAgfVxcblxcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzKCkge1xcbiAgaWYgKHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ICE9PSBOb1ByaW9yaXR5KSB7XFxuICAgIHZhciBwcmlvcml0eUxldmVsID0gcGVuZGluZ1Bhc3NpdmVFZmZlY3RzUmVuZGVyUHJpb3JpdHkgPiBOb3JtYWxQcmlvcml0eSA/IE5vcm1hbFByaW9yaXR5IDogcGVuZGluZ1Bhc3NpdmVFZmZlY3RzUmVuZGVyUHJpb3JpdHk7XFxuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ID0gTm9Qcmlvcml0eTtcXG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKHByaW9yaXR5TGV2ZWwsIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XFxuICBpZiAocm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPT09IG51bGwpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIHJvb3QgPSByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cztcXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHBlbmRpbmdQYXNzaXZlRWZmZWN0c0V4cGlyYXRpb25UaW1lO1xcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xcbiAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuXFxuICBpZiAoISgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkNhbm5vdCBmbHVzaCBwYXNzaXZlIGVmZmVjdHMgd2hpbGUgYWxyZWFkeSByZW5kZXJpbmcuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xcbiAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBwdXNoSW50ZXJhY3Rpb25zKHJvb3QpO1xcblxcbiAge1xcbiAgICAvLyBOb3RlOiBUaGlzIGN1cnJlbnRseSBhc3N1bWVzIHRoZXJlIGFyZSBubyBwYXNzaXZlIGVmZmVjdHMgb24gdGhlIHJvb3QgZmliZXJcXG4gICAgLy8gYmVjYXVzZSB0aGUgcm9vdCBpcyBub3QgcGFydCBvZiBpdHMgb3duIGVmZmVjdCBsaXN0LlxcbiAgICAvLyBUaGlzIGNvdWxkIGNoYW5nZSBpbiB0aGUgZnV0dXJlLlxcbiAgICB2YXIgX2VmZmVjdDIgPSByb290LmN1cnJlbnQuZmlyc3RFZmZlY3Q7XFxuXFxuICAgIHdoaWxlIChfZWZmZWN0MiAhPT0gbnVsbCkge1xcbiAgICAgIHtcXG4gICAgICAgIHNldEN1cnJlbnRGaWJlcihfZWZmZWN0Mik7XFxuICAgICAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobnVsbCwgY29tbWl0UGFzc2l2ZUhvb2tFZmZlY3RzLCBudWxsLCBfZWZmZWN0Mik7XFxuXFxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xcbiAgICAgICAgICBpZiAoIShfZWZmZWN0MiAhPT0gbnVsbCkpIHtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBiZSB3b3JraW5nIG9uIGFuIGVmZmVjdC5cXFwiICk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBfZXJyb3I1ID0gY2xlYXJDYXVnaHRFcnJvcigpO1xcblxcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihfZWZmZWN0MiwgX2Vycm9yNSk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgbmV4dE5leHRFZmZlY3QgPSBfZWZmZWN0Mi5uZXh0RWZmZWN0OyAvLyBSZW1vdmUgbmV4dEVmZmVjdCBwb2ludGVyIHRvIGFzc2lzdCBHQ1xcblxcbiAgICAgIF9lZmZlY3QyLm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICAgIF9lZmZlY3QyID0gbmV4dE5leHRFZmZlY3Q7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xcbiAgICBmaW5pc2hQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcXG4gIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTsgLy8gSWYgYWRkaXRpb25hbCBwYXNzaXZlIGVmZmVjdHMgd2VyZSBzY2hlZHVsZWQsIGluY3JlbWVudCBhIGNvdW50ZXIuIElmIHRoaXNcXG4gIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cXG5cXG4gIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzID09PSBudWxsID8gMCA6IG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCArIDE7XFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuZnVuY3Rpb24gaXNBbHJlYWR5RmFpbGVkTGVnYWN5RXJyb3JCb3VuZGFyeShpbnN0YW5jZSkge1xcbiAgcmV0dXJuIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkICE9PSBudWxsICYmIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmhhcyhpbnN0YW5jZSk7XFxufVxcbmZ1bmN0aW9uIG1hcmtMZWdhY3lFcnJvckJvdW5kYXJ5QXNGYWlsZWQoaW5zdGFuY2UpIHtcXG4gIGlmIChsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9PT0gbnVsbCkge1xcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG5ldyBTZXQoW2luc3RhbmNlXSk7XFxuICB9IGVsc2Uge1xcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5hZGQoaW5zdGFuY2UpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwcmVwYXJlVG9UaHJvd1VuY2F1Z2h0RXJyb3IoZXJyb3IpIHtcXG4gIGlmICghaGFzVW5jYXVnaHRFcnJvcikge1xcbiAgICBoYXNVbmNhdWdodEVycm9yID0gdHJ1ZTtcXG4gICAgZmlyc3RVbmNhdWdodEVycm9yID0gZXJyb3I7XFxuICB9XFxufVxcblxcbnZhciBvblVuY2F1Z2h0RXJyb3IgPSBwcmVwYXJlVG9UaHJvd1VuY2F1Z2h0RXJyb3I7XFxuXFxuZnVuY3Rpb24gY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qocm9vdEZpYmVyLCBzb3VyY2VGaWJlciwgZXJyb3IpIHtcXG4gIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlKGVycm9yLCBzb3VyY2VGaWJlcik7XFxuICB2YXIgdXBkYXRlID0gY3JlYXRlUm9vdEVycm9yVXBkYXRlKHJvb3RGaWJlciwgZXJyb3JJbmZvLCBTeW5jKTtcXG4gIGVucXVldWVVcGRhdGUocm9vdEZpYmVyLCB1cGRhdGUpO1xcbiAgdmFyIHJvb3QgPSBtYXJrVXBkYXRlVGltZUZyb21GaWJlclRvUm9vdChyb290RmliZXIsIFN5bmMpO1xcblxcbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgU3luYyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKHNvdXJjZUZpYmVyLCBlcnJvcikge1xcbiAgaWYgKHNvdXJjZUZpYmVyLnRhZyA9PT0gSG9zdFJvb3QpIHtcXG4gICAgLy8gRXJyb3Igd2FzIHRocm93biBhdCB0aGUgcm9vdC4gVGhlcmUgaXMgbm8gcGFyZW50LCBzbyB0aGUgcm9vdFxcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXFxuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yT25Sb290KHNvdXJjZUZpYmVyLCBzb3VyY2VGaWJlciwgZXJyb3IpO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgZmliZXIgPSBzb3VyY2VGaWJlci5yZXR1cm47XFxuXFxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcXG4gICAgaWYgKGZpYmVyLnRhZyA9PT0gSG9zdFJvb3QpIHtcXG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChmaWJlciwgc291cmNlRmliZXIsIGVycm9yKTtcXG4gICAgICByZXR1cm47XFxuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICAgIHZhciBjdG9yID0gZmliZXIudHlwZTtcXG4gICAgICB2YXIgaW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSB7XFxuICAgICAgICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZShlcnJvciwgc291cmNlRmliZXIpO1xcbiAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgLy8gVE9ETzogVGhpcyBpcyBhbHdheXMgc3luY1xcbiAgICAgICAgU3luYyk7XFxuICAgICAgICBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUpO1xcbiAgICAgICAgdmFyIHJvb3QgPSBtYXJrVXBkYXRlVGltZUZyb21GaWJlclRvUm9vdChmaWJlciwgU3luYyk7XFxuXFxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuICAgICAgICAgIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBTeW5jKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgZmliZXIgPSBmaWJlci5yZXR1cm47XFxuICB9XFxufVxcbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHRoZW5hYmxlLCBzdXNwZW5kZWRUaW1lKSB7XFxuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XFxuXFxuICBpZiAocGluZ0NhY2hlICE9PSBudWxsKSB7XFxuICAgIC8vIFRoZSB0aGVuYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXFxuICAgIC8vIG5ldmVyIGJlIHRocm93biBhZ2Fpbi5cXG4gICAgcGluZ0NhY2hlLmRlbGV0ZSh0aGVuYWJsZSk7XFxuICB9XFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPT09IHN1c3BlbmRlZFRpbWUpIHtcXG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxcbiAgICAvLyByZW5kZXJpbmcuIFdlIG1pZ2h0IHdhbnQgdG8gcmVzdGFydCB0aGlzIHJlbmRlci4gVGhpcyBzaG91bGQgbWlycm9yXFxuICAgIC8vIHRoZSBsb2dpYyBvZiB3aGV0aGVyIG9yIG5vdCBhIHJvb3Qgc3VzcGVuZHMgb25jZSBpdCBjb21wbGV0ZXMuXFxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxcbiAgICAvLyB3ZSBzaG91bGQgcHJvYmFibHkgbmV2ZXIgcmVzdGFydC5cXG4gICAgLy8gSWYgd2UncmUgc3VzcGVuZGVkIHdpdGggZGVsYXksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kIHNvIHdlIGNhbiBhbHdheXNcXG4gICAgLy8gcmVzdGFydC4gSWYgd2UncmUgc3VzcGVuZGVkIHdpdGhvdXQgYW55IHVwZGF0ZXMsIGl0IG1pZ2h0IGJlIGEgcmV0cnkuXFxuICAgIC8vIElmIGl0J3MgZWFybHkgaW4gdGhlIHJldHJ5IHdlIGNhbiByZXN0YXJ0LiBXZSBjYW4ndCBrbm93IGZvciBzdXJlXFxuICAgIC8vIHdoZXRoZXIgd2UnbGwgZXZlbnR1YWxseSBwcm9jZXNzIGFuIHVwZGF0ZSBkdXJpbmcgdGhpcyByZW5kZXIgcGFzcyxcXG4gICAgLy8gYnV0IGl0J3Mgc29tZXdoYXQgdW5saWtlbHkgdGhhdCB3ZSBnZXQgdG8gYSBwaW5nIGJlZm9yZSB0aGF0LCBzaW5jZVxcbiAgICAvLyBnZXR0aW5nIHRvIHRoZSByb290IG1vc3QgdXBkYXRlIGlzIHVzdWFsbHkgdmVyeSBmYXN0LlxcbiAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheSB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkICYmIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lID09PSBTeW5jICYmIG5vdygpIC0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA8IEZBTExCQUNLX1RIUk9UVExFX01TKSB7XFxuICAgICAgLy8gUmVzdGFydCBmcm9tIHRoZSByb290LiBEb24ndCBuZWVkIHRvIHNjaGVkdWxlIGEgcGluZyBiZWNhdXNlXFxuICAgICAgLy8gd2UncmUgYWxyZWFkeSB3b3JraW5nIG9uIHRoaXMgdHJlZS5cXG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBFdmVuIHRob3VnaCB3ZSBjYW4ndCByZXN0YXJ0IHJpZ2h0IG5vdywgd2UgbWlnaHQgZ2V0IGFuXFxuICAgICAgLy8gb3Bwb3J0dW5pdHkgbGF0ZXIuIFNvIHdlIG1hcmsgdGhpcyByZW5kZXIgYXMgaGF2aW5nIGEgcGluZy5cXG4gICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZyA9IHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKCFpc1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgc3VzcGVuZGVkVGltZSkpIHtcXG4gICAgLy8gVGhlIHJvb3QgaXMgbm8gbG9uZ2VyIHN1c3BlbmRlZCBhdCB0aGlzIHRpbWUuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBsYXN0UGluZ2VkVGltZSA9IHJvb3QubGFzdFBpbmdlZFRpbWU7XFxuXFxuICBpZiAobGFzdFBpbmdlZFRpbWUgIT09IE5vV29yayAmJiBsYXN0UGluZ2VkVGltZSA8IHN1c3BlbmRlZFRpbWUpIHtcXG4gICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgbG93ZXIgcHJpb3JpdHkgcGluZyBzY2hlZHVsZWQuXFxuICAgIHJldHVybjtcXG4gIH0gLy8gTWFyayB0aGUgdGltZSBhdCB3aGljaCB0aGlzIHBpbmcgd2FzIHNjaGVkdWxlZC5cXG5cXG5cXG4gIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBzdXNwZW5kZWRUaW1lO1xcblxcbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgc2NoZWR1bGVQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIHN1c3BlbmRlZFRpbWUpO1xcbn1cXG5cXG5mdW5jdGlvbiByZXRyeVRpbWVkT3V0Qm91bmRhcnkoYm91bmRhcnlGaWJlciwgcmV0cnlUaW1lKSB7XFxuICAvLyBUaGUgYm91bmRhcnkgZmliZXIgKGEgU3VzcGVuc2UgY29tcG9uZW50IG9yIFN1c3BlbnNlTGlzdCBjb21wb25lbnQpXFxuICAvLyBwcmV2aW91c2x5IHdhcyByZW5kZXJlZCBpbiBpdHMgZmFsbGJhY2sgc3RhdGUuIE9uZSBvZiB0aGUgcHJvbWlzZXMgdGhhdFxcbiAgLy8gc3VzcGVuZGVkIGl0IGhhcyByZXNvbHZlZCwgd2hpY2ggbWVhbnMgYXQgbGVhc3QgcGFydCBvZiB0aGUgdHJlZSB3YXNcXG4gIC8vIGxpa2VseSB1bmJsb2NrZWQuIFRyeSByZW5kZXJpbmcgYWdhaW4sIGF0IGEgbmV3IGV4cGlyYXRpb24gdGltZS5cXG4gIGlmIChyZXRyeVRpbWUgPT09IE5vV29yaykge1xcbiAgICB2YXIgc3VzcGVuc2VDb25maWcgPSBudWxsOyAvLyBSZXRyaWVzIGRvbid0IGNhcnJ5IG92ZXIgdGhlIGFscmVhZHkgY29tbWl0dGVkIHVwZGF0ZS5cXG5cXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHJldHJ5VGltZSA9IGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIoY3VycmVudFRpbWUsIGJvdW5kYXJ5RmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gIH0gLy8gVE9ETzogU3BlY2lhbCBjYXNlIGlkbGUgcHJpb3JpdHk/XFxuXFxuXFxuICB2YXIgcm9vdCA9IG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGJvdW5kYXJ5RmliZXIsIHJldHJ5VGltZSk7XFxuXFxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuICAgIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCByZXRyeVRpbWUpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZXNvbHZlUmV0cnlUaGVuYWJsZShib3VuZGFyeUZpYmVyLCB0aGVuYWJsZSkge1xcbiAgdmFyIHJldHJ5VGltZSA9IE5vV29yazsgLy8gRGVmYXVsdFxcblxcbiAgdmFyIHJldHJ5Q2FjaGU7XFxuXFxuICB7XFxuICAgIHJldHJ5Q2FjaGUgPSBib3VuZGFyeUZpYmVyLnN0YXRlTm9kZTtcXG4gIH1cXG5cXG4gIGlmIChyZXRyeUNhY2hlICE9PSBudWxsKSB7XFxuICAgIC8vIFRoZSB0aGVuYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXFxuICAgIC8vIG5ldmVyIGJlIHRocm93biBhZ2Fpbi5cXG4gICAgcmV0cnlDYWNoZS5kZWxldGUodGhlbmFibGUpO1xcbiAgfVxcblxcbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5VGltZSk7XFxufSAvLyBDb21wdXRlcyB0aGUgbmV4dCBKdXN0IE5vdGljZWFibGUgRGlmZmVyZW5jZSAoSk5EKSBib3VuZGFyeS5cXG4vLyBUaGUgdGhlb3J5IGlzIHRoYXQgYSBwZXJzb24gY2FuJ3QgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHNtYWxsIGRpZmZlcmVuY2VzIGluIHRpbWUuXFxuLy8gVGhlcmVmb3JlLCBpZiB3ZSB3YWl0IGEgYml0IGxvbmdlciB0aGFuIG5lY2Vzc2FyeSB0aGF0IHdvbid0IHRyYW5zbGF0ZSB0byBhIG5vdGljZWFibGVcXG4vLyBkaWZmZXJlbmNlIGluIHRoZSBleHBlcmllbmNlLiBIb3dldmVyLCB3YWl0aW5nIGZvciBsb25nZXIgbWlnaHQgbWVhbiB0aGF0IHdlIGNhbiBhdm9pZFxcbi8vIHNob3dpbmcgYW4gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFRoZSBsb25nZXIgd2UgaGF2ZSBhbHJlYWR5IHdhaXRlZCwgdGhlIGhhcmRlciBpdFxcbi8vIGlzIHRvIHRlbGwgc21hbGwgZGlmZmVyZW5jZXMgaW4gdGltZS4gVGhlcmVmb3JlLCB0aGUgbG9uZ2VyIHdlJ3ZlIGFscmVhZHkgd2FpdGVkLFxcbi8vIHRoZSBsb25nZXIgd2UgY2FuIHdhaXQgYWRkaXRpb25hbGx5LiBBdCBzb21lIHBvaW50IHdlIGhhdmUgdG8gZ2l2ZSB1cCB0aG91Z2guXFxuLy8gV2UgcGljayBhIHRyYWluIG1vZGVsIHdoZXJlIHRoZSBuZXh0IGJvdW5kYXJ5IGNvbW1pdHMgYXQgYSBjb25zaXN0ZW50IHNjaGVkdWxlLlxcbi8vIFRoZXNlIHBhcnRpY3VsYXIgbnVtYmVycyBhcmUgdmFndWUgZXN0aW1hdGVzLiBXZSBleHBlY3QgdG8gYWRqdXN0IHRoZW0gYmFzZWQgb24gcmVzZWFyY2guXFxuXFxuZnVuY3Rpb24gam5kKHRpbWVFbGFwc2VkKSB7XFxuICByZXR1cm4gdGltZUVsYXBzZWQgPCAxMjAgPyAxMjAgOiB0aW1lRWxhcHNlZCA8IDQ4MCA/IDQ4MCA6IHRpbWVFbGFwc2VkIDwgMTA4MCA/IDEwODAgOiB0aW1lRWxhcHNlZCA8IDE5MjAgPyAxOTIwIDogdGltZUVsYXBzZWQgPCAzMDAwID8gMzAwMCA6IHRpbWVFbGFwc2VkIDwgNDMyMCA/IDQzMjAgOiBjZWlsKHRpbWVFbGFwc2VkIC8gMTk2MCkgKiAxOTYwO1xcbn1cXG5cXG5mdW5jdGlvbiBjb21wdXRlTXNVbnRpbFN1c3BlbnNlTG9hZGluZ0RlbGF5KG1vc3RSZWNlbnRFdmVudFRpbWUsIGNvbW1pdHRlZEV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZykge1xcbiAgdmFyIGJ1c3lNaW5EdXJhdGlvbk1zID0gc3VzcGVuc2VDb25maWcuYnVzeU1pbkR1cmF0aW9uTXMgfCAwO1xcblxcbiAgaWYgKGJ1c3lNaW5EdXJhdGlvbk1zIDw9IDApIHtcXG4gICAgcmV0dXJuIDA7XFxuICB9XFxuXFxuICB2YXIgYnVzeURlbGF5TXMgPSBzdXNwZW5zZUNvbmZpZy5idXN5RGVsYXlNcyB8IDA7IC8vIENvbXB1dGUgdGhlIHRpbWUgdW50aWwgdGhpcyByZW5kZXIgcGFzcyB3b3VsZCBleHBpcmUuXFxuXFxuICB2YXIgY3VycmVudFRpbWVNcyA9IG5vdygpO1xcbiAgdmFyIGV2ZW50VGltZU1zID0gaW5mZXJUaW1lRnJvbUV4cGlyYXRpb25UaW1lV2l0aFN1c3BlbnNlQ29uZmlnKG1vc3RSZWNlbnRFdmVudFRpbWUsIHN1c3BlbnNlQ29uZmlnKTtcXG4gIHZhciB0aW1lRWxhcHNlZCA9IGN1cnJlbnRUaW1lTXMgLSBldmVudFRpbWVNcztcXG5cXG4gIGlmICh0aW1lRWxhcHNlZCA8PSBidXN5RGVsYXlNcykge1xcbiAgICAvLyBJZiB3ZSBoYXZlbid0IHlldCB3YWl0ZWQgbG9uZ2VyIHRoYW4gdGhlIGluaXRpYWwgZGVsYXksIHdlIGRvbid0XFxuICAgIC8vIGhhdmUgdG8gd2FpdCBhbnkgYWRkaXRpb25hbCB0aW1lLlxcbiAgICByZXR1cm4gMDtcXG4gIH1cXG5cXG4gIHZhciBtc1VudGlsVGltZW91dCA9IGJ1c3lEZWxheU1zICsgYnVzeU1pbkR1cmF0aW9uTXMgLSB0aW1lRWxhcHNlZDsgLy8gVGhpcyBpcyB0aGUgdmFsdWUgdGhhdCBpcyBwYXNzZWQgdG8gYHNldFRpbWVvdXRgLlxcblxcbiAgcmV0dXJuIG1zVW50aWxUaW1lb3V0O1xcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0Zvck5lc3RlZFVwZGF0ZXMoKSB7XFxuICBpZiAobmVzdGVkVXBkYXRlQ291bnQgPiBORVNURURfVVBEQVRFX0xJTUlUKSB7XFxuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcXG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcXG5cXG4gICAge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiTWF4aW11bSB1cGRhdGUgZGVwdGggZXhjZWVkZWQuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIGEgY29tcG9uZW50IHJlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgY29tcG9uZW50RGlkVXBkYXRlLiBSZWFjdCBsaW1pdHMgdGhlIG51bWJlciBvZiBuZXN0ZWQgdXBkYXRlcyB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA+IE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCkge1xcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XFxuXFxuICAgICAgZXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgXFxcImNhbGxzIHNldFN0YXRlIGluc2lkZSB1c2VFZmZlY3QsIGJ1dCB1c2VFZmZlY3QgZWl0aGVyIGRvZXNuJ3QgXFxcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmbHVzaFJlbmRlclBoYXNlU3RyaWN0TW9kZVdhcm5pbmdzSW5ERVYoKSB7XFxuICB7XFxuICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcoKTtcXG5cXG4gICAge1xcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoUGVuZGluZ1Vuc2FmZUxpZmVjeWNsZVdhcm5pbmdzKCk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc3RvcEZpbmlzaGVkV29ya0xvb3BUaW1lcigpIHtcXG4gIHZhciBkaWRDb21wbGV0ZVJvb3QgPSB0cnVlO1xcbiAgc3RvcFdvcmtMb29wVGltZXIoaW50ZXJydXB0ZWRCeSwgZGlkQ29tcGxldGVSb290KTtcXG4gIGludGVycnVwdGVkQnkgPSBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBzdG9wSW50ZXJydXB0ZWRXb3JrTG9vcFRpbWVyKCkge1xcbiAgLy8gVE9ETzogVHJhY2sgd2hpY2ggZmliZXIgY2F1c2VkIHRoZSBpbnRlcnJ1cHRpb24uXFxuICB2YXIgZGlkQ29tcGxldGVSb290ID0gZmFsc2U7XFxuICBzdG9wV29ya0xvb3BUaW1lcihpbnRlcnJ1cHRlZEJ5LCBkaWRDb21wbGV0ZVJvb3QpO1xcbiAgaW50ZXJydXB0ZWRCeSA9IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGNoZWNrRm9ySW50ZXJydXB0aW9uKGZpYmVyVGhhdFJlY2VpdmVkVXBkYXRlLCB1cGRhdGVFeHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKCB3b3JrSW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwgJiYgdXBkYXRlRXhwaXJhdGlvblRpbWUgPiByZW5kZXJFeHBpcmF0aW9uVGltZSQxKSB7XFxuICAgIGludGVycnVwdGVkQnkgPSBmaWJlclRoYXRSZWNlaXZlZFVwZGF0ZTtcXG4gIH1cXG59XFxuXFxudmFyIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudCA9IG51bGw7XFxuXFxuZnVuY3Rpb24gd2FybkFib3V0VXBkYXRlT25Vbm1vdW50ZWRGaWJlckluREVWKGZpYmVyKSB7XFxuICB7XFxuICAgIHZhciB0YWcgPSBmaWJlci50YWc7XFxuXFxuICAgIGlmICh0YWcgIT09IEhvc3RSb290ICYmIHRhZyAhPT0gQ2xhc3NDb21wb25lbnQgJiYgdGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiB0YWcgIT09IEZvcndhcmRSZWYgJiYgdGFnICE9PSBNZW1vQ29tcG9uZW50ICYmIHRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCAmJiB0YWcgIT09IEJsb2NrKSB7XFxuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cXG4gICAgICByZXR1cm47XFxuICAgIH1cXG4gICAgLy8gdGhlIHByb2JsZW1hdGljIGNvZGUgYWxtb3N0IGFsd2F5cyBsaWVzIGluc2lkZSB0aGF0IGNvbXBvbmVudC5cXG5cXG5cXG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdSZWFjdENvbXBvbmVudCc7XFxuXFxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQgIT09IG51bGwpIHtcXG4gICAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50Lmhhcyhjb21wb25lbnROYW1lKSkge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudCA9IG5ldyBTZXQoW2NvbXBvbmVudE5hbWVdKTtcXG4gICAgfVxcblxcbiAgICBlcnJvcihcXFwiQ2FuJ3QgcGVyZm9ybSBhIFJlYWN0IHN0YXRlIHVwZGF0ZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LiBUaGlzIFxcXCIgKyAnaXMgYSBuby1vcCwgYnV0IGl0IGluZGljYXRlcyBhIG1lbW9yeSBsZWFrIGluIHlvdXIgYXBwbGljYXRpb24uIFRvICcgKyAnZml4LCBjYW5jZWwgYWxsIHN1YnNjcmlwdGlvbnMgYW5kIGFzeW5jaHJvbm91cyB0YXNrcyBpbiAlcy4lcycsIHRhZyA9PT0gQ2xhc3NDb21wb25lbnQgPyAndGhlIGNvbXBvbmVudFdpbGxVbm1vdW50IG1ldGhvZCcgOiAnYSB1c2VFZmZlY3QgY2xlYW51cCBmdW5jdGlvbicsIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChmaWJlcikpO1xcbiAgfVxcbn1cXG5cXG52YXIgYmVnaW5Xb3JrJDE7XFxuXFxue1xcbiAgdmFyIGR1bW15RmliZXIgPSBudWxsO1xcblxcbiAgYmVnaW5Xb3JrJDEgPSBmdW5jdGlvbiAoY3VycmVudCwgdW5pdE9mV29yaywgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XFxuICAgIC8vIGRpc3BhdGNoZWQgZXZlbnQsIHNvIHRoYXQgdGhlIGRlYnVnZ2VyIHdpbGwgdHJlYXQgaXQgYXMgYW4gdW5jYXVnaHRcXG4gICAgLy8gZXJyb3IgU2VlIFJlYWN0RXJyb3JVdGlscyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcXG4gICAgLy8gZmliZXIuIElmIGJlZ2luV29yayB0aHJvd3MsIHdlJ2xsIHVzZSB0aGlzIHRvIHJlc2V0IHRoZSBzdGF0ZS5cXG4gICAgdmFyIG9yaWdpbmFsV29ya0luUHJvZ3Jlc3NDb3B5ID0gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYoZHVtbXlGaWJlciwgdW5pdE9mV29yayk7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgcmV0dXJuIGJlZ2luV29yayhjdXJyZW50LCB1bml0T2ZXb3JrLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIH0gY2F0Y2ggKG9yaWdpbmFsRXJyb3IpIHtcXG4gICAgICBpZiAob3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgLy8gRG9uJ3QgcmVwbGF5IHByb21pc2VzLiBUcmVhdCBldmVyeXRoaW5nIGVsc2UgbGlrZSBhbiBlcnJvci5cXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XFxuICAgICAgfSAvLyBLZWVwIHRoaXMgY29kZSBpbiBzeW5jIHdpdGggaGFuZGxlRXJyb3I7IGFueSBjaGFuZ2VzIGhlcmUgbXVzdCBoYXZlXFxuICAgICAgLy8gY29ycmVzcG9uZGluZyBjaGFuZ2VzIHRoZXJlLlxcblxcblxcbiAgICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXFxuICAgICAgLy8gc2FtZSBmaWJlciBhZ2Fpbi5cXG4gICAgICAvLyBVbndpbmQgdGhlIGZhaWxlZCBzdGFjayBmcmFtZVxcblxcbiAgICAgIHVud2luZEludGVycnVwdGVkV29yayh1bml0T2ZXb3JrKTsgLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgcHJvcGVydGllcyBvZiB0aGUgZmliZXIuXFxuXFxuICAgICAgYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodW5pdE9mV29yaywgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkpO1xcblxcbiAgICAgIGlmICggdW5pdE9mV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcXG4gICAgICAgIC8vIFJlc2V0IHRoZSBwcm9maWxlciB0aW1lci5cXG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcih1bml0T2ZXb3JrKTtcXG4gICAgICB9IC8vIFJ1biBiZWdpbldvcmsgYWdhaW4uXFxuXFxuXFxuICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGJlZ2luV29yaywgbnVsbCwgY3VycmVudCwgdW5pdE9mV29yaywgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XFxuICAgICAgICB2YXIgcmVwbGF5RXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7IC8vIGBpbnZva2VHdWFyZGVkQ2FsbGJhY2tgIHNvbWV0aW1lcyBzZXRzIGFuIGV4cGFuZG8gYF9zdXBwcmVzc0xvZ2dpbmdgLlxcbiAgICAgICAgLy8gUmV0aHJvdyB0aGlzIGVycm9yIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIG9uZS5cXG5cXG4gICAgICAgIHRocm93IHJlcGxheUVycm9yO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBUaGlzIGJyYW5jaCBpcyByZWFjaGFibGUgaWYgdGhlIHJlbmRlciBwaGFzZSBpcyBpbXB1cmUuXFxuICAgICAgICB0aHJvdyBvcmlnaW5hbEVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG59XFxuXFxudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyID0gZmFsc2U7XFxudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XFxufVxcblxcbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XFxuICB7XFxuICAgIGlmIChpc1JlbmRlcmluZyAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0NvbnRleHQpIHtcXG4gICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHZhciByZW5kZXJpbmdDb21wb25lbnROYW1lID0gd29ya0luUHJvZ3Jlc3MgJiYgZ2V0Q29tcG9uZW50TmFtZSh3b3JrSW5Qcm9ncmVzcy50eXBlKSB8fCAnVW5rbm93bic7IC8vIERlZHVwZSBieSB0aGUgcmVuZGVyaW5nIGNvbXBvbmVudCBiZWNhdXNlIGl0J3MgdGhlIG9uZSB0aGF0IG5lZWRzIHRvIGJlIGZpeGVkLlxcblxcbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xcblxcbiAgICAgICAgICAgIGlmICghZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXJGb3JBbm90aGVyQ29tcG9uZW50LmhhcyhkZWR1cGVLZXkpKSB7XFxuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XFxuICAgICAgICAgICAgICB2YXIgc2V0U3RhdGVDb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnVW5rbm93bic7XFxuXFxuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBhIGNvbXBvbmVudCAoYCVzYCkgd2hpbGUgcmVuZGVyaW5nIGEgJyArICdkaWZmZXJlbnQgY29tcG9uZW50IChgJXNgKS4gVG8gbG9jYXRlIHRoZSBiYWQgc2V0U3RhdGUoKSBjYWxsIGluc2lkZSBgJXNgLCAnICsgJ2ZvbGxvdyB0aGUgc3RhY2sgdHJhY2UgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vZmIubWUvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyKSB7XFxuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XFxuXFxuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IHRydWU7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufSAvLyBhICdzaGFyZWQnIHZhcmlhYmxlIHRoYXQgY2hhbmdlcyB3aGVuIGFjdCgpIG9wZW5zL2Nsb3NlcyBpbiB0ZXN0cy5cXG5cXG5cXG52YXIgSXNUaGlzUmVuZGVyZXJBY3RpbmcgPSB7XFxuICBjdXJyZW50OiBmYWxzZVxcbn07XFxuZnVuY3Rpb24gd2FybklmTm90U2NvcGVkV2l0aE1hdGNoaW5nQWN0KGZpYmVyKSB7XFxuICB7XFxuICAgIGlmICggSXNTb21lUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gdHJ1ZSAmJiBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50ICE9PSB0cnVlKSB7XFxuICAgICAgZXJyb3IoXFxcIkl0IGxvb2tzIGxpa2UgeW91J3JlIHVzaW5nIHRoZSB3cm9uZyBhY3QoKSBhcm91bmQgeW91ciB0ZXN0IGludGVyYWN0aW9ucy5cXFxcblxcXCIgKyAnQmUgc3VyZSB0byB1c2UgdGhlIG1hdGNoaW5nIHZlcnNpb24gb2YgYWN0KCkgY29ycmVzcG9uZGluZyB0byB5b3VyIHJlbmRlcmVyOlxcXFxuXFxcXG4nICsgJy8vIGZvciByZWFjdC1kb206XFxcXG4nICsgXFxcImltcG9ydCB7YWN0fSBmcm9tICdyZWFjdC1kb20vdGVzdC11dGlscyc7XFxcXG5cXFwiICsgJy8vIC4uLlxcXFxuJyArICdhY3QoKCkgPT4gLi4uKTtcXFxcblxcXFxuJyArICcvLyBmb3IgcmVhY3QtdGVzdC1yZW5kZXJlcjpcXFxcbicgKyBcXFwiaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcXFxcblxcXCIgKyAnY29uc3Qge2FjdH0gPSBUZXN0UmVuZGVyZXI7XFxcXG4nICsgJy8vIC4uLlxcXFxuJyArICdhY3QoKCkgPT4gLi4uKTsnICsgJyVzJywgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpYmVyKSk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gd2FybklmTm90Q3VycmVudGx5QWN0aW5nRWZmZWN0c0luREVWKGZpYmVyKSB7XFxuICB7XFxuICAgIGlmICggKGZpYmVyLm1vZGUgJiBTdHJpY3RNb2RlKSAhPT0gTm9Nb2RlICYmIElzU29tZVJlbmRlcmVyQWN0aW5nLmN1cnJlbnQgPT09IGZhbHNlICYmIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQgPT09IGZhbHNlKSB7XFxuICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSB0byAlcyByYW4gYW4gZWZmZWN0LCBidXQgd2FzIG5vdCB3cmFwcGVkIGluIGFjdCguLi4pLlxcXFxuXFxcXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXFxcblxcXFxuJyArICdhY3QoKCkgPT4ge1xcXFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxcXG4nICsgJ30pO1xcXFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcXFxuXFxcXG4nICsgXFxcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXFxcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcmVhY3Qtd3JhcC10ZXN0cy13aXRoLWFjdCcgKyAnJXMnLCBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdVcGRhdGVzSW5ERVYoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCBleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQgJiYgSXNTb21lUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gZmFsc2UgJiYgSXNUaGlzUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gZmFsc2UpIHtcXG4gICAgICBlcnJvcignQW4gdXBkYXRlIHRvICVzIGluc2lkZSBhIHRlc3Qgd2FzIG5vdCB3cmFwcGVkIGluIGFjdCguLi4pLlxcXFxuXFxcXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXFxcblxcXFxuJyArICdhY3QoKCkgPT4ge1xcXFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxcXG4nICsgJ30pO1xcXFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcXFxuXFxcXG4nICsgXFxcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXFxcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcmVhY3Qtd3JhcC10ZXN0cy13aXRoLWFjdCcgKyAnJXMnLCBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgd2FybklmTm90Q3VycmVudGx5QWN0aW5nVXBkYXRlc0luRGV2ID0gd2FybklmTm90Q3VycmVudGx5QWN0aW5nVXBkYXRlc0luREVWOyAvLyBJbiB0ZXN0cywgd2Ugd2FudCB0byBlbmZvcmNlIGEgbW9ja2VkIHNjaGVkdWxlci5cXG5cXG52YXIgZGlkV2FybkFib3V0VW5tb2NrZWRTY2hlZHVsZXIgPSBmYWxzZTsgLy8gVE9ETyBCZWZvcmUgd2UgcmVsZWFzZSBjb25jdXJyZW50IG1vZGUsIHJldmlzaXQgdGhpcyBhbmQgZGVjaWRlIHdoZXRoZXIgYSBtb2NrZWRcXG4vLyBzY2hlZHVsZXIgaXMgdGhlIGFjdHVhbCByZWNvbW1lbmRhdGlvbi4gVGhlIGFsdGVybmF0aXZlIGNvdWxkIGJlIGEgdGVzdGluZyBidWlsZCxcXG4vLyBhIG5ldyBsaWIsIG9yIHdoYXRldmVyOyB3ZSBkdW5ubyBqdXN0IHlldC4gVGhpcyBtZXNzYWdlIGlzIGZvciBlYXJseSBhZG9wdGVyc1xcbi8vIHRvIGdldCB0aGVpciB0ZXN0cyByaWdodC5cXG5cXG5mdW5jdGlvbiB3YXJuSWZVbm1vY2tlZFNjaGVkdWxlcihmaWJlcikge1xcbiAge1xcbiAgICBpZiAoZGlkV2FybkFib3V0VW5tb2NrZWRTY2hlZHVsZXIgPT09IGZhbHNlICYmIFNjaGVkdWxlci51bnN0YWJsZV9mbHVzaEFsbFdpdGhvdXRBc3NlcnRpbmcgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIGlmIChmaWJlci5tb2RlICYgQmxvY2tpbmdNb2RlIHx8IGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5tb2NrZWRTY2hlZHVsZXIgPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJ0luIENvbmN1cnJlbnQgb3IgU3luYyBtb2RlcywgdGhlIFxcXCJzY2hlZHVsZXJcXFwiIG1vZHVsZSBuZWVkcyB0byBiZSBtb2NrZWQgJyArICd0byBndWFyYW50ZWUgY29uc2lzdGVudCBiZWhhdmlvdXIgYWNyb3NzIHRlc3RzIGFuZCBicm93c2Vycy4gJyArICdGb3IgZXhhbXBsZSwgd2l0aCBqZXN0OiBcXFxcbicgKyBcXFwiamVzdC5tb2NrKCdzY2hlZHVsZXInLCAoKSA9PiByZXF1aXJlKCdzY2hlZHVsZXIvdW5zdGFibGVfbW9jaycpKTtcXFxcblxcXFxuXFxcIiArICdGb3IgbW9yZSBpbmZvLCB2aXNpdCBodHRwczovL2ZiLm1lL3JlYWN0LW1vY2stc2NoZWR1bGVyJyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbXB1dGVUaHJlYWRJRChyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gSW50ZXJhY3Rpb24gdGhyZWFkcyBhcmUgdW5pcXVlIHBlciByb290IGFuZCBleHBpcmF0aW9uIHRpbWUuXFxuICByZXR1cm4gZXhwaXJhdGlvblRpbWUgKiAxMDAwICsgcm9vdC5pbnRlcmFjdGlvblRocmVhZElEO1xcbn1cXG5cXG5mdW5jdGlvbiBtYXJrU3Bhd25lZFdvcmsoZXhwaXJhdGlvblRpbWUpIHtcXG5cXG4gIGlmIChzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9PT0gbnVsbCkge1xcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IFtleHBpcmF0aW9uVGltZV07XFxuICB9IGVsc2Uge1xcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlci5wdXNoKGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc2NoZWR1bGVJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUsIGludGVyYWN0aW9ucykge1xcblxcbiAgaWYgKGludGVyYWN0aW9ucy5zaXplID4gMCkge1xcbiAgICB2YXIgcGVuZGluZ0ludGVyYWN0aW9uTWFwID0gcm9vdC5wZW5kaW5nSW50ZXJhY3Rpb25NYXA7XFxuICAgIHZhciBwZW5kaW5nSW50ZXJhY3Rpb25zID0gcGVuZGluZ0ludGVyYWN0aW9uTWFwLmdldChleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgIGlmIChwZW5kaW5nSW50ZXJhY3Rpb25zICE9IG51bGwpIHtcXG4gICAgICBpbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgIGlmICghcGVuZGluZ0ludGVyYWN0aW9ucy5oYXMoaW50ZXJhY3Rpb24pKSB7XFxuICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgcGVuZGluZyBhc3luYyB3b3JrIGNvdW50IGZvciBwcmV2aW91c2x5IHVuc2NoZWR1bGVkIGludGVyYWN0aW9uLlxcbiAgICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50Kys7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBwZW5kaW5nSW50ZXJhY3Rpb25zLmFkZChpbnRlcmFjdGlvbik7XFxuICAgICAgfSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcGVuZGluZ0ludGVyYWN0aW9uTWFwLnNldChleHBpcmF0aW9uVGltZSwgbmV3IFNldChpbnRlcmFjdGlvbnMpKTsgLy8gVXBkYXRlIHRoZSBwZW5kaW5nIGFzeW5jIHdvcmsgY291bnQgZm9yIHRoZSBjdXJyZW50IGludGVyYWN0aW9ucy5cXG5cXG4gICAgICBpbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgIGludGVyYWN0aW9uLl9fY291bnQrKztcXG4gICAgICB9KTtcXG4gICAgfVxcblxcbiAgICB2YXIgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHRocmVhZElEID0gY29tcHV0ZVRocmVhZElEKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICBzdWJzY3JpYmVyLm9uV29ya1NjaGVkdWxlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG5cXG4gIHNjaGVkdWxlSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lLCB0cmFjaW5nLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQpO1xcbn1cXG5cXG5mdW5jdGlvbiBzdGFydFdvcmtPblBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIHdlIGNhbiBhY2N1cmF0ZWx5IGF0dHJpYnV0ZSB0aW1lIHNwZW50IHdvcmtpbmcgb24gaXQsIEFuZCBzbyB0aGF0IGNhc2NhZGluZ1xcbiAgLy8gd29yayB0cmlnZ2VyZWQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2Ugd2lsbCBiZSBhc3NvY2lhdGVkIHdpdGggaXQuXFxuXFxuXFxuICB2YXIgaW50ZXJhY3Rpb25zID0gbmV3IFNldCgpO1xcbiAgcm9vdC5wZW5kaW5nSW50ZXJhY3Rpb25NYXAuZm9yRWFjaChmdW5jdGlvbiAoc2NoZWR1bGVkSW50ZXJhY3Rpb25zLCBzY2hlZHVsZWRFeHBpcmF0aW9uVGltZSkge1xcbiAgICBpZiAoc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUgPj0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICBzY2hlZHVsZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgIHJldHVybiBpbnRlcmFjdGlvbnMuYWRkKGludGVyYWN0aW9uKTtcXG4gICAgICB9KTtcXG4gICAgfVxcbiAgfSk7IC8vIFN0b3JlIHRoZSBjdXJyZW50IHNldCBvZiBpbnRlcmFjdGlvbnMgb24gdGhlIEZpYmVyUm9vdCBmb3IgYSBmZXcgcmVhc29uczpcXG4gIC8vIFdlIGNhbiByZS11c2UgaXQgaW4gaG90IGZ1bmN0aW9ucyBsaWtlIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdCgpXFxuICAvLyB3aXRob3V0IGhhdmluZyB0byByZWNhbGN1bGF0ZSBpdC4gV2Ugd2lsbCBhbHNvIHVzZSBpdCBpbiBjb21taXRXb3JrKCkgdG9cXG4gIC8vIHBhc3MgdG8gYW55IFByb2ZpbGVyIG9uUmVuZGVyKCkgaG9va3MuIFRoaXMgYWxzbyBwcm92aWRlcyBEZXZUb29scyB3aXRoIGFcXG4gIC8vIHdheSB0byBhY2Nlc3MgaXQgd2hlbiB0aGUgb25Db21taXRSb290KCkgaG9vayBpcyBjYWxsZWQuXFxuXFxuICByb290Lm1lbW9pemVkSW50ZXJhY3Rpb25zID0gaW50ZXJhY3Rpb25zO1xcblxcbiAgaWYgKGludGVyYWN0aW9ucy5zaXplID4gMCkge1xcbiAgICB2YXIgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHRocmVhZElEID0gY29tcHV0ZVRocmVhZElEKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgc3Vic2NyaWJlci5vbldvcmtTdGFydGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgICAgICAvLyBJZiB0aGUgc3Vic2NyaWJlciB0aHJvd3MsIHJldGhyb3cgaXQgaW4gYSBzZXBhcmF0ZSB0YXNrXFxuICAgICAgICBzY2hlZHVsZUNhbGxiYWNrKEltbWVkaWF0ZVByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIHRocm93IGVycm9yO1xcbiAgICAgICAgfSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZpbmlzaFBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpIHtcXG5cXG4gIHZhciBlYXJsaWVzdFJlbWFpbmluZ1RpbWVBZnRlckNvbW1pdCA9IHJvb3QuZmlyc3RQZW5kaW5nVGltZTtcXG4gIHZhciBzdWJzY3JpYmVyO1xcblxcbiAgdHJ5IHtcXG4gICAgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsICYmIHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnMuc2l6ZSA+IDApIHtcXG4gICAgICB2YXIgdGhyZWFkSUQgPSBjb21wdXRlVGhyZWFkSUQocm9vdCwgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChyb290Lm1lbW9pemVkSW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgIH1cXG4gIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgIC8vIElmIHRoZSBzdWJzY3JpYmVyIHRocm93cywgcmV0aHJvdyBpdCBpbiBhIHNlcGFyYXRlIHRhc2tcXG4gICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xcbiAgICAgIHRocm93IGVycm9yO1xcbiAgICB9KTtcXG4gIH0gZmluYWxseSB7XFxuICAgIC8vIENsZWFyIGNvbXBsZXRlZCBpbnRlcmFjdGlvbnMgZnJvbSB0aGUgcGVuZGluZyBNYXAuXFxuICAgIC8vIFVubGVzcyB0aGUgcmVuZGVyIHdhcyBzdXNwZW5kZWQgb3IgY2FzY2FkaW5nIHdvcmsgd2FzIHNjaGVkdWxlZCxcXG4gICAgLy8gSW4gd2hpY2ggY2FzZeKAkyBsZWF2ZSBwZW5kaW5nIGludGVyYWN0aW9ucyB1bnRpbCB0aGUgc3Vic2VxdWVudCByZW5kZXIuXFxuICAgIHZhciBwZW5kaW5nSW50ZXJhY3Rpb25NYXAgPSByb290LnBlbmRpbmdJbnRlcmFjdGlvbk1hcDtcXG4gICAgcGVuZGluZ0ludGVyYWN0aW9uTWFwLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxlZEludGVyYWN0aW9ucywgc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAvLyBPbmx5IGRlY3JlbWVudCB0aGUgcGVuZGluZyBpbnRlcmFjdGlvbiBjb3VudCBpZiB3ZSdyZSBkb25lLlxcbiAgICAgIC8vIElmIHRoZXJlJ3Mgc3RpbGwgd29yayBhdCB0aGUgY3VycmVudCBwcmlvcml0eSxcXG4gICAgICAvLyBUaGF0IGluZGljYXRlcyB0aGF0IHdlIGFyZSB3YWl0aW5nIGZvciBzdXNwZW5zZSBkYXRhLlxcbiAgICAgIGlmIChzY2hlZHVsZWRFeHBpcmF0aW9uVGltZSA+IGVhcmxpZXN0UmVtYWluaW5nVGltZUFmdGVyQ29tbWl0KSB7XFxuICAgICAgICBwZW5kaW5nSW50ZXJhY3Rpb25NYXAuZGVsZXRlKHNjaGVkdWxlZEV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgIHNjaGVkdWxlZEludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xcbiAgICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50LS07XFxuXFxuICAgICAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsICYmIGludGVyYWN0aW9uLl9fY291bnQgPT09IDApIHtcXG4gICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XFxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgICAgICAgICAgIC8vIElmIHRoZSBzdWJzY3JpYmVyIHRocm93cywgcmV0aHJvdyBpdCBpbiBhIHNlcGFyYXRlIHRhc2tcXG4gICAgICAgICAgICAgIHNjaGVkdWxlQ2FsbGJhY2soSW1tZWRpYXRlUHJpb3JpdHksIGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XFxuICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgIH1cXG4gICAgfSk7XFxuICB9XFxufVxcblxcbnZhciBvblNjaGVkdWxlRmliZXJSb290ID0gbnVsbDtcXG52YXIgb25Db21taXRGaWJlclJvb3QgPSBudWxsO1xcbnZhciBvbkNvbW1pdEZpYmVyVW5tb3VudCA9IG51bGw7XFxudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XFxudmFyIGlzRGV2VG9vbHNQcmVzZW50ID0gdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAhPT0gJ3VuZGVmaW5lZCc7XFxuZnVuY3Rpb24gaW5qZWN0SW50ZXJuYWxzKGludGVybmFscykge1xcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XFxuICAgIC8vIE5vIERldlRvb2xzXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBob29rID0gX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fO1xcblxcbiAgaWYgKGhvb2suaXNEaXNhYmxlZCkge1xcbiAgICAvLyBUaGlzIGlzbid0IGEgcmVhbCBwcm9wZXJ0eSBvbiB0aGUgaG9vaywgYnV0IGl0IGNhbiBiZSBzZXQgdG8gb3B0IG91dFxcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8zODc3XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgaWYgKCFob29rLnN1cHBvcnRzRmliZXIpIHtcXG4gICAge1xcbiAgICAgIGVycm9yKCdUaGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgUmVhY3QgRGV2VG9vbHMgaXMgdG9vIG9sZCBhbmQgd2lsbCBub3Qgd29yayAnICsgJ3dpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBSZWFjdC4gUGxlYXNlIHVwZGF0ZSBSZWFjdCBEZXZUb29scy4gJyArICdodHRwczovL2ZiLm1lL3JlYWN0LWRldnRvb2xzJyk7XFxuICAgIH0gLy8gRGV2VG9vbHMgZXhpc3RzLCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IHN1cHBvcnQgRmliZXIuXFxuXFxuXFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgdHJ5IHtcXG4gICAgdmFyIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxcblxcbiAgICBpZiAodHJ1ZSkge1xcbiAgICAgIC8vIE9ubHkgdXNlZCBieSBGYXN0IFJlZnJlc2hcXG4gICAgICBpZiAodHlwZW9mIGhvb2sub25TY2hlZHVsZUZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgb25TY2hlZHVsZUZpYmVyUm9vdCA9IGZ1bmN0aW9uIChyb290LCBjaGlsZHJlbikge1xcbiAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGhvb2sub25TY2hlZHVsZUZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBjaGlsZHJlbik7XFxuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgICAgIGlmICggdHJ1ZSAmJiAhaGFzTG9nZ2VkRXJyb3IpIHtcXG4gICAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICAgIGVycm9yKCdSZWFjdCBpbnN0cnVtZW50YXRpb24gZW5jb3VudGVyZWQgYW4gZXJyb3I6ICVzJywgZXJyKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG9uQ29tbWl0RmliZXJSb290ID0gZnVuY3Rpb24gKHJvb3QsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHZhciBkaWRFcnJvciA9IChyb290LmN1cnJlbnQuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgPT09IERpZENhcHR1cmU7XFxuXFxuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xcbiAgICAgICAgICB2YXIgY3VycmVudFRpbWUgPSBnZXRDdXJyZW50VGltZSgpO1xcbiAgICAgICAgICB2YXIgcHJpb3JpdHlMZXZlbCA9IGluZmVyUHJpb3JpdHlGcm9tRXhwaXJhdGlvblRpbWUoY3VycmVudFRpbWUsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgaG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBwcmlvcml0eUxldmVsLCBkaWRFcnJvcik7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBob29rLm9uQ29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIHVuZGVmaW5lZCwgZGlkRXJyb3IpO1xcbiAgICAgICAgfVxcbiAgICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgaWYgKHRydWUpIHtcXG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xcbiAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH07XFxuXFxuICAgIG9uQ29tbWl0RmliZXJVbm1vdW50ID0gZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIGhvb2sub25Db21taXRGaWJlclVubW91bnQocmVuZGVyZXJJRCwgZmliZXIpO1xcbiAgICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgaWYgKHRydWUpIHtcXG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xcbiAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH07XFxuICB9IGNhdGNoIChlcnIpIHtcXG4gICAgLy8gQ2F0Y2ggYWxsIGVycm9ycyBiZWNhdXNlIGl0IGlzIHVuc2FmZSB0byB0aHJvdyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXFxuICAgIHtcXG4gICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcy4nLCBlcnIpO1xcbiAgICB9XFxuICB9IC8vIERldlRvb2xzIGV4aXN0c1xcblxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcbmZ1bmN0aW9uIG9uU2NoZWR1bGVSb290KHJvb3QsIGNoaWxkcmVuKSB7XFxuICBpZiAodHlwZW9mIG9uU2NoZWR1bGVGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgb25TY2hlZHVsZUZpYmVyUm9vdChyb290LCBjaGlsZHJlbik7XFxuICB9XFxufVxcbmZ1bmN0aW9uIG9uQ29tbWl0Um9vdChyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKHR5cGVvZiBvbkNvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBvbkNvbW1pdEZpYmVyUm9vdChyb290LCBleHBpcmF0aW9uVGltZSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIG9uQ29tbWl0VW5tb3VudChmaWJlcikge1xcbiAgaWYgKHR5cGVvZiBvbkNvbW1pdEZpYmVyVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBvbkNvbW1pdEZpYmVyVW5tb3VudChmaWJlcik7XFxuICB9XFxufVxcblxcbnZhciBoYXNCYWRNYXBQb2x5ZmlsbDtcXG5cXG57XFxuICBoYXNCYWRNYXBQb2x5ZmlsbCA9IGZhbHNlO1xcblxcbiAgdHJ5IHtcXG4gICAgdmFyIG5vbkV4dGVuc2libGVPYmplY3QgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pO1xcbiAgICB2YXIgdGVzdE1hcCA9IG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xcbiAgICB2YXIgdGVzdFNldCA9IG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTsgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIFJvbGx1cCB0byBub3QgY29uc2lkZXIgdGhlc2UgdW51c2VkLlxcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcm9sbHVwL3JvbGx1cC9pc3N1ZXMvMTc3MVxcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoZXNlIGlmIFJvbGx1cCBmaXhlcyB0aGUgYnVnLlxcblxcbiAgICB0ZXN0TWFwLnNldCgwLCAwKTtcXG4gICAgdGVzdFNldC5hZGQoMCk7XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIC8vIFRPRE86IENvbnNpZGVyIHdhcm5pbmcgYWJvdXQgYmFkIHBvbHlmaWxsc1xcbiAgICBoYXNCYWRNYXBQb2x5ZmlsbCA9IHRydWU7XFxuICB9XFxufVxcblxcbnZhciBkZWJ1Z0NvdW50ZXIgPSAxO1xcblxcbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XFxuICAvLyBJbnN0YW5jZVxcbiAgdGhpcy50YWcgPSB0YWc7XFxuICB0aGlzLmtleSA9IGtleTtcXG4gIHRoaXMuZWxlbWVudFR5cGUgPSBudWxsO1xcbiAgdGhpcy50eXBlID0gbnVsbDtcXG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcXG5cXG4gIHRoaXMucmV0dXJuID0gbnVsbDtcXG4gIHRoaXMuY2hpbGQgPSBudWxsO1xcbiAgdGhpcy5zaWJsaW5nID0gbnVsbDtcXG4gIHRoaXMuaW5kZXggPSAwO1xcbiAgdGhpcy5yZWYgPSBudWxsO1xcbiAgdGhpcy5wZW5kaW5nUHJvcHMgPSBwZW5kaW5nUHJvcHM7XFxuICB0aGlzLm1lbW9pemVkUHJvcHMgPSBudWxsO1xcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XFxuICB0aGlzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgdGhpcy5kZXBlbmRlbmNpZXMgPSBudWxsO1xcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xcblxcbiAgdGhpcy5lZmZlY3RUYWcgPSBOb0VmZmVjdDtcXG4gIHRoaXMubmV4dEVmZmVjdCA9IG51bGw7XFxuICB0aGlzLmZpcnN0RWZmZWN0ID0gbnVsbDtcXG4gIHRoaXMubGFzdEVmZmVjdCA9IG51bGw7XFxuICB0aGlzLmV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdGhpcy5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdGhpcy5hbHRlcm5hdGUgPSBudWxsO1xcblxcbiAge1xcbiAgICAvLyBOb3RlOiBUaGUgZm9sbG93aW5nIGlzIGRvbmUgdG8gYXZvaWQgYSB2OCBwZXJmb3JtYW5jZSBjbGlmZi5cXG4gICAgLy9cXG4gICAgLy8gSW5pdGlhbGl6aW5nIHRoZSBmaWVsZHMgYmVsb3cgdG8gc21pcyBhbmQgbGF0ZXIgdXBkYXRpbmcgdGhlbSB3aXRoXFxuICAgIC8vIGRvdWJsZSB2YWx1ZXMgd2lsbCBjYXVzZSBGaWJlcnMgdG8gZW5kIHVwIGhhdmluZyBzZXBhcmF0ZSBzaGFwZXMuXFxuICAgIC8vIFRoaXMgYmVoYXZpb3IvYnVnIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBPYmplY3QucHJldmVudEV4dGVuc2lvbigpLlxcbiAgICAvLyBGb3J0dW5hdGVseSB0aGlzIG9ubHkgaW1wYWN0cyBERVYgYnVpbGRzLlxcbiAgICAvLyBVbmZvcnR1bmF0ZWx5IGl0IG1ha2VzIFJlYWN0IHVudXNhYmx5IHNsb3cgZm9yIHNvbWUgYXBwbGljYXRpb25zLlxcbiAgICAvLyBUbyB3b3JrIGFyb3VuZCB0aGlzLCBpbml0aWFsaXplIHRoZSBmaWVsZHMgYmVsb3cgd2l0aCBkb3VibGVzLlxcbiAgICAvL1xcbiAgICAvLyBMZWFybiBtb3JlIGFib3V0IHRoaXMgaGVyZTpcXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDM2NVxcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD04NTM4XFxuICAgIHRoaXMuYWN0dWFsRHVyYXRpb24gPSBOdW1iZXIuTmFOO1xcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IE51bWJlci5OYU47XFxuICAgIHRoaXMuc2VsZkJhc2VEdXJhdGlvbiA9IE51bWJlci5OYU47XFxuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IE51bWJlci5OYU47IC8vIEl0J3Mgb2theSB0byByZXBsYWNlIHRoZSBpbml0aWFsIGRvdWJsZXMgd2l0aCBzbWlzIGFmdGVyIGluaXRpYWxpemF0aW9uLlxcbiAgICAvLyBUaGlzIHdvbid0IHRyaWdnZXIgdGhlIHBlcmZvcm1hbmNlIGNsaWZmIG1lbnRpb25lZCBhYm92ZSxcXG4gICAgLy8gYW5kIGl0IHNpbXBsaWZpZXMgb3RoZXIgcHJvZmlsZXIgY29kZSAoaW5jbHVkaW5nIERldlRvb2xzKS5cXG5cXG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IDA7XFxuICAgIHRoaXMuYWN0dWFsU3RhcnRUaW1lID0gLTE7XFxuICAgIHRoaXMuc2VsZkJhc2VEdXJhdGlvbiA9IDA7XFxuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IDA7XFxuICB9IC8vIFRoaXMgaXMgbm9ybWFsbHkgREVWLW9ubHkgZXhjZXB0IHd3dyB3aGVuIGl0IGFkZHMgbGlzdGVuZXJzLlxcbiAgLy8gVE9ETzogcmVtb3ZlIHRoZSBVc2VyIFRpbWluZyBpbnRlZ3JhdGlvbiBpbiBmYXZvciBvZiBSb290IEV2ZW50cy5cXG5cXG5cXG4gIHtcXG4gICAgdGhpcy5fZGVidWdJRCA9IGRlYnVnQ291bnRlcisrO1xcbiAgICB0aGlzLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XFxuICB9XFxuXFxuICB7XFxuICAgIHRoaXMuX2RlYnVnU291cmNlID0gbnVsbDtcXG4gICAgdGhpcy5fZGVidWdPd25lciA9IG51bGw7XFxuICAgIHRoaXMuX2RlYnVnTmVlZHNSZW1vdW50ID0gZmFsc2U7XFxuICAgIHRoaXMuX2RlYnVnSG9va1R5cGVzID0gbnVsbDtcXG5cXG4gICAgaWYgKCFoYXNCYWRNYXBQb2x5ZmlsbCAmJiB0eXBlb2YgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHRoaXMpO1xcbiAgICB9XFxuICB9XFxufSAvLyBUaGlzIGlzIGEgY29uc3RydWN0b3IgZnVuY3Rpb24sIHJhdGhlciB0aGFuIGEgUE9KTyBjb25zdHJ1Y3Rvciwgc3RpbGxcXG4vLyBwbGVhc2UgZW5zdXJlIHdlIGRvIHRoZSBmb2xsb3dpbmc6XFxuLy8gMSkgTm9ib2R5IHNob3VsZCBhZGQgYW55IGluc3RhbmNlIG1ldGhvZHMgb24gdGhpcy4gSW5zdGFuY2UgbWV0aG9kcyBjYW4gYmVcXG4vLyAgICBtb3JlIGRpZmZpY3VsdCB0byBwcmVkaWN0IHdoZW4gdGhleSBnZXQgb3B0aW1pemVkIGFuZCB0aGV5IGFyZSBhbG1vc3RcXG4vLyAgICBuZXZlciBpbmxpbmVkIHByb3Blcmx5IGluIHN0YXRpYyBjb21waWxlcnMuXFxuLy8gMikgTm9ib2R5IHNob3VsZCByZWx5IG9uIGBpbnN0YW5jZW9mIEZpYmVyYCBmb3IgdHlwZSB0ZXN0aW5nLiBXZSBzaG91bGRcXG4vLyAgICBhbHdheXMga25vdyB3aGVuIGl0IGlzIGEgZmliZXIuXFxuLy8gMykgV2UgbWlnaHQgd2FudCB0byBleHBlcmltZW50IHdpdGggdXNpbmcgbnVtZXJpYyBrZXlzIHNpbmNlIHRoZXkgYXJlIGVhc2llclxcbi8vICAgIHRvIG9wdGltaXplIGluIGEgbm9uLUpJVCBlbnZpcm9ubWVudC5cXG4vLyA0KSBXZSBjYW4gZWFzaWx5IGdvIGZyb20gYSBjb25zdHJ1Y3RvciB0byBhIGNyZWF0ZUZpYmVyIG9iamVjdCBsaXRlcmFsIGlmIHRoYXRcXG4vLyAgICBpcyBmYXN0ZXIuXFxuLy8gNSkgSXQgc2hvdWxkIGJlIGVhc3kgdG8gcG9ydCB0aGlzIHRvIGEgQyBzdHJ1Y3QgYW5kIGtlZXAgYSBDIGltcGxlbWVudGF0aW9uXFxuLy8gICAgY29tcGF0aWJsZS5cXG5cXG5cXG52YXIgY3JlYXRlRmliZXIgPSBmdW5jdGlvbiAodGFnLCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSkge1xcbiAgLy8gJEZsb3dGaXhNZTogdGhlIHNoYXBlcyBhcmUgZXhhY3QgaGVyZSBidXQgRmxvdyBkb2Vzbid0IGxpa2UgY29uc3RydWN0b3JzXFxuICByZXR1cm4gbmV3IEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcXG59O1xcblxcbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcXG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIGlzU2ltcGxlRnVuY3Rpb25Db21wb25lbnQodHlwZSkge1xcbiAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nICYmICFzaG91bGRDb25zdHJ1Y3QodHlwZSkgJiYgdHlwZS5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZDtcXG59XFxuZnVuY3Rpb24gcmVzb2x2ZUxhenlDb21wb25lbnRUYWcoQ29tcG9uZW50KSB7XFxuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICByZXR1cm4gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkgPyBDbGFzc0NvbXBvbmVudCA6IEZ1bmN0aW9uQ29tcG9uZW50O1xcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcXG4gICAgdmFyICQkdHlwZW9mID0gQ29tcG9uZW50LiQkdHlwZW9mO1xcblxcbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcXG4gICAgICByZXR1cm4gRm9yd2FyZFJlZjtcXG4gICAgfVxcblxcbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSkge1xcbiAgICAgIHJldHVybiBNZW1vQ29tcG9uZW50O1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcXG59IC8vIFRoaXMgaXMgdXNlZCB0byBjcmVhdGUgYW4gYWx0ZXJuYXRlIGZpYmVyIHRvIGRvIHdvcmsgb24uXFxuXFxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XFxuICB2YXIgd29ya0luUHJvZ3Jlc3MgPSBjdXJyZW50LmFsdGVybmF0ZTtcXG5cXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xcbiAgICAvLyBXZSB1c2UgYSBkb3VibGUgYnVmZmVyaW5nIHBvb2xpbmcgdGVjaG5pcXVlIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHdlJ2xsXFxuICAgIC8vIG9ubHkgZXZlciBuZWVkIGF0IG1vc3QgdHdvIHZlcnNpb25zIG9mIGEgdHJlZS4gV2UgcG9vbCB0aGUgXFxcIm90aGVyXFxcIiB1bnVzZWRcXG4gICAgLy8gbm9kZSB0aGF0IHdlJ3JlIGZyZWUgdG8gcmV1c2UuIFRoaXMgaXMgbGF6aWx5IGNyZWF0ZWQgdG8gYXZvaWQgYWxsb2NhdGluZ1xcbiAgICAvLyBleHRyYSBvYmplY3RzIGZvciB0aGluZ3MgdGhhdCBhcmUgbmV2ZXIgdXBkYXRlZC4gSXQgYWxzbyBhbGxvdyB1cyB0b1xcbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZUZpYmVyKGN1cnJlbnQudGFnLCBwZW5kaW5nUHJvcHMsIGN1cnJlbnQua2V5LCBjdXJyZW50Lm1vZGUpO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9IGN1cnJlbnQuZWxlbWVudFR5cGU7XFxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XFxuICAgIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGN1cnJlbnQuc3RhdGVOb2RlO1xcblxcbiAgICB7XFxuICAgICAgLy8gREVWLW9ubHkgZmllbGRzXFxuICAgICAge1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSUQgPSBjdXJyZW50Ll9kZWJ1Z0lEO1xcbiAgICAgIH1cXG5cXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2UgPSBjdXJyZW50Ll9kZWJ1Z1NvdXJjZTtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciA9IGN1cnJlbnQuX2RlYnVnT3duZXI7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XFxuICAgIH1cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSB3b3JrSW5Qcm9ncmVzcztcXG4gIH0gZWxzZSB7XFxuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gV2UgYWxyZWFkeSBoYXZlIGFuIGFsdGVybmF0ZS5cXG4gICAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcuXFxuXFxuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyA9IE5vRWZmZWN0OyAvLyBUaGUgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy5uZXh0RWZmZWN0ID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gbnVsbDtcXG5cXG4gICAge1xcbiAgICAgIC8vIFdlIGludGVudGlvbmFsbHkgcmVzZXQsIHJhdGhlciB0aGFuIGNvcHksIGFjdHVhbER1cmF0aW9uICYgYWN0dWFsU3RhcnRUaW1lLlxcbiAgICAgIC8vIFRoaXMgcHJldmVudHMgdGltZSBmcm9tIGVuZGxlc3NseSBhY2N1bXVsYXRpbmcgaW4gbmV3IGNvbW1pdHMuXFxuICAgICAgLy8gVGhpcyBoYXMgdGhlIGRvd25zaWRlIG9mIHJlc2V0dGluZyB2YWx1ZXMgZm9yIGRpZmZlcmVudCBwcmlvcml0eSByZW5kZXJzLFxcbiAgICAgIC8vIEJ1dCB3b3JrcyBmb3IgeWllbGRpbmcgKHRoZSBjb21tb24gY2FzZSkgYW5kIHNob3VsZCBzdXBwb3J0IHJlc3VtaW5nLlxcbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gMDtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IGN1cnJlbnQuY2hpbGRFeHBpcmF0aW9uVGltZTtcXG4gIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gY3VycmVudC5leHBpcmF0aW9uVGltZTtcXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XFxuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xcbiAgLy8gaXQgY2Fubm90IGJlIHNoYXJlZCB3aXRoIHRoZSBjdXJyZW50IGZpYmVyLlxcblxcbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcXG4gIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xcbiAgICBleHBpcmF0aW9uVGltZTogY3VycmVudERlcGVuZGVuY2llcy5leHBpcmF0aW9uVGltZSxcXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCxcXG4gICAgcmVzcG9uZGVyczogY3VycmVudERlcGVuZGVuY2llcy5yZXNwb25kZXJzXFxuICB9OyAvLyBUaGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gZHVyaW5nIHRoZSBwYXJlbnQncyByZWNvbmNpbGlhdGlvblxcblxcbiAgd29ya0luUHJvZ3Jlc3Muc2libGluZyA9IGN1cnJlbnQuc2libGluZztcXG4gIHdvcmtJblByb2dyZXNzLmluZGV4ID0gY3VycmVudC5pbmRleDtcXG4gIHdvcmtJblByb2dyZXNzLnJlZiA9IGN1cnJlbnQucmVmO1xcblxcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudC50cmVlQmFzZUR1cmF0aW9uO1xcbiAgfVxcblxcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdOZWVkc1JlbW91bnQgPSBjdXJyZW50Ll9kZWJ1Z05lZWRzUmVtb3VudDtcXG5cXG4gICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcXG4gICAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XFxuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XFxuICAgICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xcbn0gLy8gVXNlZCB0byByZXVzZSBhIEZpYmVyIGZvciBhIHNlY29uZCBwYXNzLlxcblxcbmZ1bmN0aW9uIHJlc2V0V29ya0luUHJvZ3Jlc3Mod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUaGlzIHJlc2V0cyB0aGUgRmliZXIgdG8gd2hhdCBjcmVhdGVGaWJlciBvciBjcmVhdGVXb3JrSW5Qcm9ncmVzcyB3b3VsZFxcbiAgLy8gaGF2ZSBzZXQgdGhlIHZhbHVlcyB0byBiZWZvcmUgZHVyaW5nIHRoZSBmaXJzdCBwYXNzLiBJZGVhbGx5IHRoaXMgd291bGRuJ3RcXG4gIC8vIGJlIG5lY2Vzc2FyeSBidXQgdW5mb3J0dW5hdGVseSBtYW55IGNvZGUgcGF0aHMgcmVhZHMgZnJvbSB0aGUgd29ya0luUHJvZ3Jlc3NcXG4gIC8vIHdoZW4gdGhleSBzaG91bGQgYmUgcmVhZGluZyBmcm9tIGN1cnJlbnQgYW5kIHdyaXRpbmcgdG8gd29ya0luUHJvZ3Jlc3MuXFxuICAvLyBXZSBhc3N1bWUgcGVuZGluZ1Byb3BzLCBpbmRleCwga2V5LCByZWYsIHJldHVybiBhcmUgc3RpbGwgdW50b3VjaGVkIHRvXFxuICAvLyBhdm9pZCBkb2luZyBhbm90aGVyIHJlY29uY2lsaWF0aW9uLlxcbiAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcgYnV0IGtlZXAgYW55IFBsYWNlbWVudCB0YWdzLCBzaW5jZSB0aGF0J3Mgc29tZXRoaW5nXFxuICAvLyB0aGF0IGNoaWxkIGZpYmVyIGlzIHNldHRpbmcsIG5vdCB0aGUgcmVjb25jaWxpYXRpb24uXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJj0gUGxhY2VtZW50OyAvLyBUaGUgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxcblxcbiAgd29ya0luUHJvZ3Jlc3MubmV4dEVmZmVjdCA9IG51bGw7XFxuICB3b3JrSW5Qcm9ncmVzcy5maXJzdEVmZmVjdCA9IG51bGw7XFxuICB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gbnVsbDtcXG4gIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgLy8gUmVzZXQgdG8gY3JlYXRlRmliZXIncyBpbml0aWFsIHZhbHVlcy5cXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcXG5cXG4gICAge1xcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxcbiAgICAgIC8vIGFjdHVhbCB0aW1lIGFjcm9zcyBtdWx0aXBsZSByZW5kZXIgcGFzc2VzLlxcbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xcbiAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gPSAwO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBSZXNldCB0byB0aGUgY2xvbmVkIHZhbHVlcyB0aGF0IGNyZWF0ZVdvcmtJblByb2dyZXNzIHdvdWxkJ3ZlLlxcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZEV4cGlyYXRpb25UaW1lID0gY3VycmVudC5jaGlsZEV4cGlyYXRpb25UaW1lO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IGN1cnJlbnQuZXhwaXJhdGlvblRpbWU7XFxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xcbiAgICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXFxuXFxuICAgIHZhciBjdXJyZW50RGVwZW5kZW5jaWVzID0gY3VycmVudC5kZXBlbmRlbmNpZXM7XFxuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xcbiAgICAgIGV4cGlyYXRpb25UaW1lOiBjdXJyZW50RGVwZW5kZW5jaWVzLmV4cGlyYXRpb25UaW1lLFxcbiAgICAgIGZpcnN0Q29udGV4dDogY3VycmVudERlcGVuZGVuY2llcy5maXJzdENvbnRleHQsXFxuICAgICAgcmVzcG9uZGVyczogY3VycmVudERlcGVuZGVuY2llcy5yZXNwb25kZXJzXFxuICAgIH07XFxuXFxuICAgIHtcXG4gICAgICAvLyBOb3RlOiBXZSBkb24ndCByZXNldCB0aGUgYWN0dWFsVGltZSBjb3VudHMuIEl0J3MgdXNlZnVsIHRvIGFjY3VtdWxhdGVcXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xcbiAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gPSBjdXJyZW50LnRyZWVCYXNlRHVyYXRpb247XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcXG59XFxuZnVuY3Rpb24gY3JlYXRlSG9zdFJvb3RGaWJlcih0YWcpIHtcXG4gIHZhciBtb2RlO1xcblxcbiAgaWYgKHRhZyA9PT0gQ29uY3VycmVudFJvb3QpIHtcXG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlIHwgQmxvY2tpbmdNb2RlIHwgU3RyaWN0TW9kZTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSBCbG9ja2luZ1Jvb3QpIHtcXG4gICAgbW9kZSA9IEJsb2NraW5nTW9kZSB8IFN0cmljdE1vZGU7XFxuICB9IGVsc2Uge1xcbiAgICBtb2RlID0gTm9Nb2RlO1xcbiAgfVxcblxcbiAgaWYgKCBpc0RldlRvb2xzUHJlc2VudCkge1xcbiAgICAvLyBBbHdheXMgY29sbGVjdCBwcm9maWxlIHRpbWluZ3Mgd2hlbiBEZXZUb29scyBhcmUgcHJlc2VudC5cXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXFxuICAgIC8vIFdpdGhvdXQgc29tZSBub2RlcyBpbiB0aGUgdHJlZSBoYXZpbmcgZW1wdHkgYmFzZSB0aW1lcy5cXG4gICAgbW9kZSB8PSBQcm9maWxlTW9kZTtcXG4gIH1cXG5cXG4gIHJldHVybiBjcmVhdGVGaWJlcihIb3N0Um9vdCwgbnVsbCwgbnVsbCwgbW9kZSk7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCAvLyBSZWFjdCRFbGVtZW50VHlwZVxcbmtleSwgcGVuZGluZ1Byb3BzLCBvd25lciwgbW9kZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBmaWJlcjtcXG4gIHZhciBmaWJlclRhZyA9IEluZGV0ZXJtaW5hdGVDb21wb25lbnQ7IC8vIFRoZSByZXNvbHZlZCB0eXBlIGlzIHNldCBpZiB3ZSBrbm93IHdoYXQgdGhlIGZpbmFsIHR5cGUgd2lsbCBiZS4gSS5lLiBpdCdzIG5vdCBsYXp5LlxcblxcbiAgdmFyIHJlc29sdmVkVHlwZSA9IHR5cGU7XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgaWYgKHNob3VsZENvbnN0cnVjdCh0eXBlKSkge1xcbiAgICAgIGZpYmVyVGFnID0gQ2xhc3NDb21wb25lbnQ7XFxuXFxuICAgICAge1xcbiAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKHJlc29sdmVkVHlwZSk7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHtcXG4gICAgICAgIHJlc29sdmVkVHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhyZXNvbHZlZFR5cGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSBlbHNlIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcXG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xcbiAgfSBlbHNlIHtcXG4gICAgZ2V0VGFnOiBzd2l0Y2ggKHR5cGUpIHtcXG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XFxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQocGVuZGluZ1Byb3BzLmNoaWxkcmVuLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFOlxcbiAgICAgICAgZmliZXJUYWcgPSBNb2RlO1xcbiAgICAgICAgbW9kZSB8PSBDb25jdXJyZW50TW9kZSB8IEJsb2NraW5nTW9kZSB8IFN0cmljdE1vZGU7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XFxuICAgICAgICBmaWJlclRhZyA9IE1vZGU7XFxuICAgICAgICBtb2RlIHw9IFN0cmljdE1vZGU7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XFxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XFxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcXG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZUxpc3QocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAge1xcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XFxuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcXG5cXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgY29uc3VtZXJcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0Q29uc3VtZXI7XFxuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcXG5cXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xcblxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcXG4gICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XFxuXFxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XFxuXFxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBMYXp5Q29tcG9uZW50O1xcbiAgICAgICAgICAgICAgICByZXNvbHZlZFR5cGUgPSBudWxsO1xcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XFxuXFxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0JMT0NLX1RZUEU6XFxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQmxvY2s7XFxuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcXG5cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcXG5cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XFxuICAgICAgICAgICAgICBpbmZvICs9ICcgWW91IGxpa2VseSBmb3Jnb3QgdG8gZXhwb3J0IHlvdXIgY29tcG9uZW50IGZyb20gdGhlIGZpbGUgJyArIFxcXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFxcXCIgKyAnbmFtZWQgaW1wb3J0cy4nO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICB2YXIgb3duZXJOYW1lID0gb3duZXIgPyBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpIDogbnVsbDtcXG5cXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XFxuICAgICAgICAgICAgICBpbmZvICs9ICdcXFxcblxcXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBvd25lck5hbWUgKyAnYC4nO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZDogZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciBidWlsdC1pbiBjb21wb25lbnRzKSBvciBhIGNsYXNzL2Z1bmN0aW9uIChmb3IgY29tcG9zaXRlIGNvbXBvbmVudHMpIGJ1dCBnb3Q6IFxcXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFxcXCIuXFxcIiArIGluZm8gKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgZmliZXIgPSBjcmVhdGVGaWJlcihmaWJlclRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xcbiAgZmliZXIudHlwZSA9IHJlc29sdmVkVHlwZTtcXG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICByZXR1cm4gZmliZXI7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgbW9kZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBvd25lciA9IG51bGw7XFxuXFxuICB7XFxuICAgIG93bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICB9XFxuXFxuICB2YXIgdHlwZSA9IGVsZW1lbnQudHlwZTtcXG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcXG4gIHZhciBwZW5kaW5nUHJvcHMgPSBlbGVtZW50LnByb3BzO1xcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIGtleSwgcGVuZGluZ1Byb3BzLCBvd25lciwgbW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAge1xcbiAgICBmaWJlci5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XFxuICAgIGZpYmVyLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICB9XFxuXFxuICByZXR1cm4gZmliZXI7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnRzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KSB7XFxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihGcmFnbWVudCwgZWxlbWVudHMsIGtleSwgbW9kZSk7XFxuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBwZW5kaW5nUHJvcHMuaWQgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwZW5kaW5nUHJvcHMub25SZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignUHJvZmlsZXIgbXVzdCBzcGVjaWZ5IGFuIFxcXCJpZFxcXCIgc3RyaW5nIGFuZCBcXFwib25SZW5kZXJcXFwiIGZ1bmN0aW9uIGFzIHByb3BzJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFByb2ZpbGVyLCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSB8IFByb2ZpbGVNb2RlKTsgLy8gVE9ETzogVGhlIFByb2ZpbGVyIGZpYmVyIHNob3VsZG4ndCBoYXZlIGEgdHlwZS4gSXQgaGFzIGEgdGFnLlxcblxcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xcbiAgZmliZXIudHlwZSA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XFxuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcXG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7IC8vIFRPRE86IFRoZSBTdXNwZW5zZUNvbXBvbmVudCBmaWJlciBzaG91bGRuJ3QgaGF2ZSBhIHR5cGUuIEl0IGhhcyBhIHRhZy5cXG4gIC8vIFRoaXMgbmVlZHMgdG8gYmUgZml4ZWQgaW4gZ2V0Q29tcG9uZW50TmFtZSBzbyB0aGF0IGl0IHJlbGllcyBvbiB0aGUgdGFnXFxuICAvLyBpbnN0ZWFkLlxcblxcbiAgZmliZXIudHlwZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XFxuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XFxuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZUxpc3QocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KSB7XFxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihTdXNwZW5zZUxpc3RDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcXG5cXG4gIHtcXG4gICAgLy8gVE9ETzogVGhlIFN1c3BlbnNlTGlzdENvbXBvbmVudCBmaWJlciBzaG91bGRuJ3QgaGF2ZSBhIHR5cGUuIEl0IGhhcyBhIHRhZy5cXG4gICAgLy8gVGhpcyBuZWVkcyB0byBiZSBmaXhlZCBpbiBnZXRDb21wb25lbnROYW1lIHNvIHRoYXQgaXQgcmVsaWVzIG9uIHRoZSB0YWdcXG4gICAgLy8gaW5zdGVhZC5cXG4gICAgZmliZXIudHlwZSA9IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcXG4gIH1cXG5cXG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFO1xcbiAgZmliZXIuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIHJldHVybiBmaWJlcjtcXG59XFxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVGV4dChjb250ZW50LCBtb2RlLCBleHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFRleHQsIGNvbnRlbnQsIG51bGwsIG1vZGUpO1xcbiAgZmliZXIuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIHJldHVybiBmaWJlcjtcXG59XFxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tSG9zdEluc3RhbmNlRm9yRGVsZXRpb24oKSB7XFxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihIb3N0Q29tcG9uZW50LCBudWxsLCBudWxsLCBOb01vZGUpOyAvLyBUT0RPOiBUaGVzZSBzaG91bGQgbm90IG5lZWQgYSB0eXBlLlxcblxcbiAgZmliZXIuZWxlbWVudFR5cGUgPSAnREVMRVRFRCc7XFxuICBmaWJlci50eXBlID0gJ0RFTEVURUQnO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBleHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IHBvcnRhbC5jaGlsZHJlbiAhPT0gbnVsbCA/IHBvcnRhbC5jaGlsZHJlbiA6IFtdO1xcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFBvcnRhbCwgcGVuZGluZ1Byb3BzLCBwb3J0YWwua2V5LCBtb2RlKTtcXG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICBmaWJlci5zdGF0ZU5vZGUgPSB7XFxuICAgIGNvbnRhaW5lckluZm86IHBvcnRhbC5jb250YWluZXJJbmZvLFxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXFxuICAgIC8vIFVzZWQgYnkgcGVyc2lzdGVudCB1cGRhdGVzXFxuICAgIGltcGxlbWVudGF0aW9uOiBwb3J0YWwuaW1wbGVtZW50YXRpb25cXG4gIH07XFxuICByZXR1cm4gZmliZXI7XFxufSAvLyBVc2VkIGZvciBzdGFzaGluZyBXSVAgcHJvcGVydGllcyB0byByZXBsYXkgZmFpbGVkIHdvcmsgaW4gREVWLlxcblxcbmZ1bmN0aW9uIGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKHRhcmdldCwgc291cmNlKSB7XFxuICBpZiAodGFyZ2V0ID09PSBudWxsKSB7XFxuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXFxuICAgIC8vIFdlIG9ubHkgdXNlIGEgRmliZXIgdG8gZW5zdXJlIHRoZSBzYW1lIGhpZGRlbiBjbGFzcyBzbyBERVYgaXNuJ3Qgc2xvdy5cXG4gICAgdGFyZ2V0ID0gY3JlYXRlRmliZXIoSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCwgbnVsbCwgbnVsbCwgTm9Nb2RlKTtcXG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxcbiAgLy8gV2UgdHJpZWQgdG8gdXNlIE9iamVjdC5hc3NpZ24oKSBpbnN0ZWFkIGJ1dCB0aGlzIGlzIGNhbGxlZCBpblxcbiAgLy8gdGhlIGhvdHRlc3QgcGF0aCwgYW5kIE9iamVjdC5hc3NpZ24oKSB3YXMgdG9vIHNsb3c6XFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXFxuICAvLyBUaGlzIGNvZGUgaXMgREVWLW9ubHkgc28gc2l6ZSBpcyBub3QgYSBjb25jZXJuLlxcblxcblxcbiAgdGFyZ2V0LnRhZyA9IHNvdXJjZS50YWc7XFxuICB0YXJnZXQua2V5ID0gc291cmNlLmtleTtcXG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcXG4gIHRhcmdldC50eXBlID0gc291cmNlLnR5cGU7XFxuICB0YXJnZXQuc3RhdGVOb2RlID0gc291cmNlLnN0YXRlTm9kZTtcXG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xcbiAgdGFyZ2V0LmNoaWxkID0gc291cmNlLmNoaWxkO1xcbiAgdGFyZ2V0LnNpYmxpbmcgPSBzb3VyY2Uuc2libGluZztcXG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcXG4gIHRhcmdldC5yZWYgPSBzb3VyY2UucmVmO1xcbiAgdGFyZ2V0LnBlbmRpbmdQcm9wcyA9IHNvdXJjZS5wZW5kaW5nUHJvcHM7XFxuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xcbiAgdGFyZ2V0LnVwZGF0ZVF1ZXVlID0gc291cmNlLnVwZGF0ZVF1ZXVlO1xcbiAgdGFyZ2V0Lm1lbW9pemVkU3RhdGUgPSBzb3VyY2UubWVtb2l6ZWRTdGF0ZTtcXG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xcbiAgdGFyZ2V0Lm1vZGUgPSBzb3VyY2UubW9kZTtcXG4gIHRhcmdldC5lZmZlY3RUYWcgPSBzb3VyY2UuZWZmZWN0VGFnO1xcbiAgdGFyZ2V0Lm5leHRFZmZlY3QgPSBzb3VyY2UubmV4dEVmZmVjdDtcXG4gIHRhcmdldC5maXJzdEVmZmVjdCA9IHNvdXJjZS5maXJzdEVmZmVjdDtcXG4gIHRhcmdldC5sYXN0RWZmZWN0ID0gc291cmNlLmxhc3RFZmZlY3Q7XFxuICB0YXJnZXQuZXhwaXJhdGlvblRpbWUgPSBzb3VyY2UuZXhwaXJhdGlvblRpbWU7XFxuICB0YXJnZXQuY2hpbGRFeHBpcmF0aW9uVGltZSA9IHNvdXJjZS5jaGlsZEV4cGlyYXRpb25UaW1lO1xcbiAgdGFyZ2V0LmFsdGVybmF0ZSA9IHNvdXJjZS5hbHRlcm5hdGU7XFxuXFxuICB7XFxuICAgIHRhcmdldC5hY3R1YWxEdXJhdGlvbiA9IHNvdXJjZS5hY3R1YWxEdXJhdGlvbjtcXG4gICAgdGFyZ2V0LmFjdHVhbFN0YXJ0VGltZSA9IHNvdXJjZS5hY3R1YWxTdGFydFRpbWU7XFxuICAgIHRhcmdldC5zZWxmQmFzZUR1cmF0aW9uID0gc291cmNlLnNlbGZCYXNlRHVyYXRpb247XFxuICAgIHRhcmdldC50cmVlQmFzZUR1cmF0aW9uID0gc291cmNlLnRyZWVCYXNlRHVyYXRpb247XFxuICB9XFxuXFxuICB7XFxuICAgIHRhcmdldC5fZGVidWdJRCA9IHNvdXJjZS5fZGVidWdJRDtcXG4gIH1cXG5cXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xcbiAgdGFyZ2V0Ll9kZWJ1Z093bmVyID0gc291cmNlLl9kZWJ1Z093bmVyO1xcbiAgdGFyZ2V0Ll9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gc291cmNlLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nO1xcbiAgdGFyZ2V0Ll9kZWJ1Z05lZWRzUmVtb3VudCA9IHNvdXJjZS5fZGVidWdOZWVkc1JlbW91bnQ7XFxuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcXG4gIHJldHVybiB0YXJnZXQ7XFxufVxcblxcbmZ1bmN0aW9uIEZpYmVyUm9vdE5vZGUoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlKSB7XFxuICB0aGlzLnRhZyA9IHRhZztcXG4gIHRoaXMuY3VycmVudCA9IG51bGw7XFxuICB0aGlzLmNvbnRhaW5lckluZm8gPSBjb250YWluZXJJbmZvO1xcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xcbiAgdGhpcy5waW5nQ2FjaGUgPSBudWxsO1xcbiAgdGhpcy5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdGhpcy5maW5pc2hlZFdvcmsgPSBudWxsO1xcbiAgdGhpcy50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0O1xcbiAgdGhpcy5jb250ZXh0ID0gbnVsbDtcXG4gIHRoaXMucGVuZGluZ0NvbnRleHQgPSBudWxsO1xcbiAgdGhpcy5oeWRyYXRlID0gaHlkcmF0ZTtcXG4gIHRoaXMuY2FsbGJhY2tOb2RlID0gbnVsbDtcXG4gIHRoaXMuY2FsbGJhY2tQcmlvcml0eSA9IE5vUHJpb3JpdHk7XFxuICB0aGlzLmZpcnN0UGVuZGluZ1RpbWUgPSBOb1dvcms7XFxuICB0aGlzLmZpcnN0U3VzcGVuZGVkVGltZSA9IE5vV29yaztcXG4gIHRoaXMubGFzdFN1c3BlbmRlZFRpbWUgPSBOb1dvcms7XFxuICB0aGlzLm5leHRLbm93blBlbmRpbmdMZXZlbCA9IE5vV29yaztcXG4gIHRoaXMubGFzdFBpbmdlZFRpbWUgPSBOb1dvcms7XFxuICB0aGlzLmxhc3RFeHBpcmVkVGltZSA9IE5vV29yaztcXG5cXG4gIHtcXG4gICAgdGhpcy5pbnRlcmFjdGlvblRocmVhZElEID0gdHJhY2luZy51bnN0YWJsZV9nZXRUaHJlYWRJRCgpO1xcbiAgICB0aGlzLm1lbW9pemVkSW50ZXJhY3Rpb25zID0gbmV3IFNldCgpO1xcbiAgICB0aGlzLnBlbmRpbmdJbnRlcmFjdGlvbk1hcCA9IG5ldyBNYXAoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlRmliZXJSb290KGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaHlkcmF0aW9uQ2FsbGJhY2tzKSB7XFxuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSk7XFxuICAvLyBzdGF0ZU5vZGUgaXMgYW55LlxcblxcblxcbiAgdmFyIHVuaW5pdGlhbGl6ZWRGaWJlciA9IGNyZWF0ZUhvc3RSb290RmliZXIodGFnKTtcXG4gIHJvb3QuY3VycmVudCA9IHVuaW5pdGlhbGl6ZWRGaWJlcjtcXG4gIHVuaW5pdGlhbGl6ZWRGaWJlci5zdGF0ZU5vZGUgPSByb290O1xcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHVuaW5pdGlhbGl6ZWRGaWJlcik7XFxuICByZXR1cm4gcm9vdDtcXG59XFxuZnVuY3Rpb24gaXNSb290U3VzcGVuZGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5maXJzdFN1c3BlbmRlZFRpbWU7XFxuICB2YXIgbGFzdFN1c3BlbmRlZFRpbWUgPSByb290Lmxhc3RTdXNwZW5kZWRUaW1lO1xcbiAgcmV0dXJuIGZpcnN0U3VzcGVuZGVkVGltZSAhPT0gTm9Xb3JrICYmIGZpcnN0U3VzcGVuZGVkVGltZSA+PSBleHBpcmF0aW9uVGltZSAmJiBsYXN0U3VzcGVuZGVkVGltZSA8PSBleHBpcmF0aW9uVGltZTtcXG59XFxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBmaXJzdFN1c3BlbmRlZFRpbWUgPSByb290LmZpcnN0U3VzcGVuZGVkVGltZTtcXG4gIHZhciBsYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWU7XFxuXFxuICBpZiAoZmlyc3RTdXNwZW5kZWRUaW1lIDwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIH1cXG5cXG4gIGlmIChsYXN0U3VzcGVuZGVkVGltZSA+IGV4cGlyYXRpb25UaW1lIHx8IGZpcnN0U3VzcGVuZGVkVGltZSA9PT0gTm9Xb3JrKSB7XFxuICAgIHJvb3QubGFzdFN1c3BlbmRlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIH1cXG5cXG4gIGlmIChleHBpcmF0aW9uVGltZSA8PSByb290Lmxhc3RQaW5nZWRUaW1lKSB7XFxuICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBOb1dvcms7XFxuICB9XFxuXFxuICBpZiAoZXhwaXJhdGlvblRpbWUgPD0gcm9vdC5sYXN0RXhwaXJlZFRpbWUpIHtcXG4gICAgcm9vdC5sYXN0RXhwaXJlZFRpbWUgPSBOb1dvcms7XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVXBkYXRlIHRoZSByYW5nZSBvZiBwZW5kaW5nIHRpbWVzXFxuICB2YXIgZmlyc3RQZW5kaW5nVGltZSA9IHJvb3QuZmlyc3RQZW5kaW5nVGltZTtcXG5cXG4gIGlmIChleHBpcmF0aW9uVGltZSA+IGZpcnN0UGVuZGluZ1RpbWUpIHtcXG4gICAgcm9vdC5maXJzdFBlbmRpbmdUaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICB9IC8vIFVwZGF0ZSB0aGUgcmFuZ2Ugb2Ygc3VzcGVuZGVkIHRpbWVzLiBUcmVhdCBldmVyeXRoaW5nIGxvd2VyIHByaW9yaXR5IG9yXFxuICAvLyBlcXVhbCB0byB0aGlzIHVwZGF0ZSBhcyB1bnN1c3BlbmRlZC5cXG5cXG5cXG4gIHZhciBmaXJzdFN1c3BlbmRlZFRpbWUgPSByb290LmZpcnN0U3VzcGVuZGVkVGltZTtcXG5cXG4gIGlmIChmaXJzdFN1c3BlbmRlZFRpbWUgIT09IE5vV29yaykge1xcbiAgICBpZiAoZXhwaXJhdGlvblRpbWUgPj0gZmlyc3RTdXNwZW5kZWRUaW1lKSB7XFxuICAgICAgLy8gVGhlIGVudGlyZSBzdXNwZW5kZWQgcmFuZ2UgaXMgbm93IHVuc3VzcGVuZGVkLlxcbiAgICAgIHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gTm9Xb3JrO1xcbiAgICB9IGVsc2UgaWYgKGV4cGlyYXRpb25UaW1lID49IHJvb3QubGFzdFN1c3BlbmRlZFRpbWUpIHtcXG4gICAgICByb290Lmxhc3RTdXNwZW5kZWRUaW1lID0gZXhwaXJhdGlvblRpbWUgKyAxO1xcbiAgICB9IC8vIFRoaXMgaXMgYSBwZW5kaW5nIGxldmVsLiBDaGVjayBpZiBpdCdzIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBuZXh0XFxuICAgIC8vIGtub3duIHBlbmRpbmcgbGV2ZWwuXFxuXFxuXFxuICAgIGlmIChleHBpcmF0aW9uVGltZSA+IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsKSB7XFxuICAgICAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBleHBpcmF0aW9uVGltZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkQXRUaW1lKHJvb3QsIGZpbmlzaGVkRXhwaXJhdGlvblRpbWUsIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBVcGRhdGUgdGhlIHJhbmdlIG9mIHBlbmRpbmcgdGltZXNcXG4gIHJvb3QuZmlyc3RQZW5kaW5nVGltZSA9IHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lOyAvLyBVcGRhdGUgdGhlIHJhbmdlIG9mIHN1c3BlbmRlZCB0aW1lcy4gVHJlYXQgZXZlcnl0aGluZyBoaWdoZXIgcHJpb3JpdHkgb3JcXG4gIC8vIGVxdWFsIHRvIHRoaXMgdXBkYXRlIGFzIHVuc3VzcGVuZGVkLlxcblxcbiAgaWYgKGZpbmlzaGVkRXhwaXJhdGlvblRpbWUgPD0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSkge1xcbiAgICAvLyBUaGUgZW50aXJlIHN1c3BlbmRlZCByYW5nZSBpcyBub3cgdW5zdXNwZW5kZWQuXFxuICAgIHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gTm9Xb3JrO1xcbiAgfSBlbHNlIGlmIChmaW5pc2hlZEV4cGlyYXRpb25UaW1lIDw9IHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lKSB7XFxuICAgIC8vIFBhcnQgb2YgdGhlIHN1c3BlbmRlZCByYW5nZSBpcyBub3cgdW5zdXNwZW5kZWQuIE5hcnJvdyB0aGUgcmFuZ2UgdG9cXG4gICAgLy8gaW5jbHVkZSBldmVyeXRoaW5nIGJldHdlZW4gdGhlIHVuc3VzcGVuZGVkIHRpbWUgKG5vbi1pbmNsdXNpdmUpIGFuZCB0aGVcXG4gICAgLy8gbGFzdCBzdXNwZW5kZWQgdGltZS5cXG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSBmaW5pc2hlZEV4cGlyYXRpb25UaW1lIC0gMTtcXG4gIH1cXG5cXG4gIGlmIChmaW5pc2hlZEV4cGlyYXRpb25UaW1lIDw9IHJvb3QubGFzdFBpbmdlZFRpbWUpIHtcXG4gICAgLy8gQ2xlYXIgdGhlIHBpbmdlZCB0aW1lXFxuICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBOb1dvcms7XFxuICB9XFxuXFxuICBpZiAoZmluaXNoZWRFeHBpcmF0aW9uVGltZSA8PSByb290Lmxhc3RFeHBpcmVkVGltZSkge1xcbiAgICAvLyBDbGVhciB0aGUgZXhwaXJlZCB0aW1lXFxuICAgIHJvb3QubGFzdEV4cGlyZWRUaW1lID0gTm9Xb3JrO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrUm9vdEV4cGlyZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBsYXN0RXhwaXJlZFRpbWUgPSByb290Lmxhc3RFeHBpcmVkVGltZTtcXG5cXG4gIGlmIChsYXN0RXhwaXJlZFRpbWUgPT09IE5vV29yayB8fCBsYXN0RXhwaXJlZFRpbWUgPiBleHBpcmF0aW9uVGltZSkge1xcbiAgICByb290Lmxhc3RFeHBpcmVkVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgfVxcbn1cXG5cXG52YXIgZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcztcXG52YXIgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGU7XFxuXFxue1xcbiAgZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcyA9IGZhbHNlO1xcbiAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGUgPSB7fTtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KSB7XFxuICBpZiAoIXBhcmVudENvbXBvbmVudCkge1xcbiAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xcbiAgfVxcblxcbiAgdmFyIGZpYmVyID0gZ2V0KHBhcmVudENvbXBvbmVudCk7XFxuICB2YXIgcGFyZW50Q29udGV4dCA9IGZpbmRDdXJyZW50VW5tYXNrZWRDb250ZXh0KGZpYmVyKTtcXG5cXG4gIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XFxuICAgIHZhciBDb21wb25lbnQgPSBmaWJlci50eXBlO1xcblxcbiAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICAgIHJldHVybiBwcm9jZXNzQ2hpbGRDb250ZXh0KGZpYmVyLCBDb21wb25lbnQsIHBhcmVudENvbnRleHQpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gcGFyZW50Q29udGV4dDtcXG59XFxuXFxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudCwgbWV0aG9kTmFtZSkge1xcbiAge1xcbiAgICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcXG5cXG4gICAgaWYgKGZpYmVyID09PSB1bmRlZmluZWQpIHtcXG4gICAgICBpZiAodHlwZW9mIGNvbXBvbmVudC5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkFyZ3VtZW50IGFwcGVhcnMgdG8gbm90IGJlIGEgUmVhY3RDb21wb25lbnQuIEtleXM6IFxcXCIgKyBPYmplY3Qua2V5cyhjb21wb25lbnQpICk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyKGZpYmVyKTtcXG5cXG4gICAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIGlmIChob3N0RmliZXIubW9kZSAmIFN0cmljdE1vZGUpIHtcXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCc7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRGaW5kTm9kZUluU3RyaWN0TW9kZVtjb21wb25lbnROYW1lXSkge1xcbiAgICAgICAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGVbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xcblxcbiAgICAgICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCBpcyBpbnNpZGUgU3RyaWN0TW9kZS4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLWZpbmQtbm9kZSVzJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGhvc3RGaWJlcikpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgZXJyb3IoJyVzIGlzIGRlcHJlY2F0ZWQgaW4gU3RyaWN0TW9kZS4gJyArICclcyB3YXMgcGFzc2VkIGFuIGluc3RhbmNlIG9mICVzIHdoaWNoIHJlbmRlcnMgU3RyaWN0TW9kZSBjaGlsZHJlbi4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLWZpbmQtbm9kZSVzJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGhvc3RGaWJlcikpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ29udGFpbmVyKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaHlkcmF0aW9uQ2FsbGJhY2tzKSB7XFxuICByZXR1cm4gY3JlYXRlRmliZXJSb290KGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSk7XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCBjb250YWluZXIsIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2spIHtcXG4gIHtcXG4gICAgb25TY2hlZHVsZVJvb3QoY29udGFpbmVyLCBlbGVtZW50KTtcXG4gIH1cXG5cXG4gIHZhciBjdXJyZW50JDEgPSBjb250YWluZXIuY3VycmVudDtcXG4gIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xcblxcbiAge1xcbiAgICAvLyAkRmxvd0V4cGVjdGVkRXJyb3IgLSBqZXN0IGlzbid0IGEgZ2xvYmFsLCBhbmQgaXNuJ3QgcmVjb2duaXplZCBvdXRzaWRlIG9mIHRlc3RzXFxuICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGplc3QpIHtcXG4gICAgICB3YXJuSWZVbm1vY2tlZFNjaGVkdWxlcihjdXJyZW50JDEpO1xcbiAgICAgIHdhcm5JZk5vdFNjb3BlZFdpdGhNYXRjaGluZ0FjdChjdXJyZW50JDEpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgc3VzcGVuc2VDb25maWcgPSByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCk7XFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBjdXJyZW50JDEsIHN1c3BlbnNlQ29uZmlnKTtcXG4gIHZhciBjb250ZXh0ID0gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KTtcXG5cXG4gIGlmIChjb250YWluZXIuY29udGV4dCA9PT0gbnVsbCkge1xcbiAgICBjb250YWluZXIuY29udGV4dCA9IGNvbnRleHQ7XFxuICB9IGVsc2Uge1xcbiAgICBjb250YWluZXIucGVuZGluZ0NvbnRleHQgPSBjb250ZXh0O1xcbiAgfVxcblxcbiAge1xcbiAgICBpZiAoaXNSZW5kZXJpbmcgJiYgY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcykge1xcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xcblxcbiAgICAgIGVycm9yKCdSZW5kZXIgbWV0aG9kcyBzaG91bGQgYmUgYSBwdXJlIGZ1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZTsgJyArICd0cmlnZ2VyaW5nIG5lc3RlZCBjb21wb25lbnQgdXBkYXRlcyBmcm9tIHJlbmRlciBpcyBub3QgYWxsb3dlZC4gJyArICdJZiBuZWNlc3NhcnksIHRyaWdnZXIgbmVzdGVkIHVwZGF0ZXMgaW4gY29tcG9uZW50RGlkVXBkYXRlLlxcXFxuXFxcXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWUoY3VycmVudC50eXBlKSB8fCAnVW5rbm93bicpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZyk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcXG4gIC8vIGJlaW5nIGNhbGxlZCBcXFwiZWxlbWVudFxcXCIuXFxuXFxuICB1cGRhdGUucGF5bG9hZCA9IHtcXG4gICAgZWxlbWVudDogZWxlbWVudFxcbiAgfTtcXG4gIGNhbGxiYWNrID0gY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaztcXG5cXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xcbiAgICB7XFxuICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcXG4gIH1cXG5cXG4gIGVucXVldWVVcGRhdGUoY3VycmVudCQxLCB1cGRhdGUpO1xcbiAgc2NoZWR1bGVXb3JrKGN1cnJlbnQkMSwgZXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGV4cGlyYXRpb25UaW1lO1xcbn1cXG5mdW5jdGlvbiBnZXRQdWJsaWNSb290SW5zdGFuY2UoY29udGFpbmVyKSB7XFxuICB2YXIgY29udGFpbmVyRmliZXIgPSBjb250YWluZXIuY3VycmVudDtcXG5cXG4gIGlmICghY29udGFpbmVyRmliZXIuY2hpbGQpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBzd2l0Y2ggKGNvbnRhaW5lckZpYmVyLmNoaWxkLnRhZykge1xcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZSk7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgcmV0dXJuIGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWFya1JldHJ5VGltZUltcGwoZmliZXIsIHJldHJ5VGltZSkge1xcbiAgdmFyIHN1c3BlbnNlU3RhdGUgPSBmaWJlci5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XFxuICAgIGlmIChzdXNwZW5zZVN0YXRlLnJldHJ5VGltZSA8IHJldHJ5VGltZSkge1xcbiAgICAgIHN1c3BlbnNlU3RhdGUucmV0cnlUaW1lID0gcmV0cnlUaW1lO1xcbiAgICB9XFxuICB9XFxufSAvLyBJbmNyZWFzZXMgdGhlIHByaW9yaXR5IG9mIHRoZW5uYWJsZXMgd2hlbiB0aGV5IHJlc29sdmUgd2l0aGluIHRoaXMgYm91bmRhcnkuXFxuXFxuXFxuZnVuY3Rpb24gbWFya1JldHJ5VGltZUlmTm90SHlkcmF0ZWQoZmliZXIsIHJldHJ5VGltZSkge1xcbiAgbWFya1JldHJ5VGltZUltcGwoZmliZXIsIHJldHJ5VGltZSk7XFxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGFsdGVybmF0ZSkge1xcbiAgICBtYXJrUmV0cnlUaW1lSW1wbChhbHRlcm5hdGUsIHJldHJ5VGltZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24kMShmaWJlcikge1xcbiAgaWYgKGZpYmVyLnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcXG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcXG4gICAgLy8gdGhlaXIgcHJpb3JpdHkgYW5kIHRoZXkgc2hvdWxkIG5vdCBzdXNwZW5kIG9uIEkvTyxcXG4gICAgLy8gc2luY2UgeW91IGhhdmUgdG8gd3JhcCBhbnl0aGluZyB0aGF0IG1pZ2h0IHN1c3BlbmQgaW5cXG4gICAgLy8gU3VzcGVuc2UuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBleHBUaW1lID0gY29tcHV0ZUludGVyYWN0aXZlRXhwaXJhdGlvbihyZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKSk7XFxuICBzY2hlZHVsZVdvcmsoZmliZXIsIGV4cFRpbWUpO1xcbiAgbWFya1JldHJ5VGltZUlmTm90SHlkcmF0ZWQoZmliZXIsIGV4cFRpbWUpO1xcbn1cXG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XFxuICBpZiAoZmliZXIudGFnICE9PSBTdXNwZW5zZUNvbXBvbmVudCkge1xcbiAgICAvLyBXZSBpZ25vcmUgSG9zdFJvb3RzIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBpbmNyZWFzZVxcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxcbiAgICAvLyBzaW5jZSB5b3UgaGF2ZSB0byB3cmFwIGFueXRoaW5nIHRoYXQgbWlnaHQgc3VzcGVuZCBpblxcbiAgICAvLyBTdXNwZW5zZS5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgc2NoZWR1bGVXb3JrKGZpYmVyLCBDb250aW51b3VzSHlkcmF0aW9uKTtcXG4gIG1hcmtSZXRyeVRpbWVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBDb250aW51b3VzSHlkcmF0aW9uKTtcXG59XFxuZnVuY3Rpb24gYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEoZmliZXIpIHtcXG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgIC8vIFdlIGlnbm9yZSBIb3N0Um9vdHMgaGVyZSBiZWNhdXNlIHdlIGNhbid0IGluY3JlYXNlXFxuICAgIC8vIHRoZWlyIHByaW9yaXR5IG90aGVyIHRoYW4gc3luY2hyb25vdXNseSBmbHVzaCBpdC5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICB2YXIgZXhwVGltZSA9IGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIoY3VycmVudFRpbWUsIGZpYmVyLCBudWxsKTtcXG4gIHNjaGVkdWxlV29yayhmaWJlciwgZXhwVGltZSk7XFxuICBtYXJrUmV0cnlUaW1lSWZOb3RIeWRyYXRlZChmaWJlciwgZXhwVGltZSk7XFxufVxcbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGZpYmVyKSB7XFxuICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzKGZpYmVyKTtcXG5cXG4gIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBpZiAoaG9zdEZpYmVyLnRhZyA9PT0gRnVuZGFtZW50YWxDb21wb25lbnQpIHtcXG4gICAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGUuaW5zdGFuY2U7XFxuICB9XFxuXFxuICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcXG59XFxuXFxudmFyIHNob3VsZFN1c3BlbmRJbXBsID0gZnVuY3Rpb24gKGZpYmVyKSB7XFxuICByZXR1cm4gZmFsc2U7XFxufTtcXG5cXG5mdW5jdGlvbiBzaG91bGRTdXNwZW5kKGZpYmVyKSB7XFxuICByZXR1cm4gc2hvdWxkU3VzcGVuZEltcGwoZmliZXIpO1xcbn1cXG52YXIgb3ZlcnJpZGVIb29rU3RhdGUgPSBudWxsO1xcbnZhciBvdmVycmlkZVByb3BzID0gbnVsbDtcXG52YXIgc2NoZWR1bGVVcGRhdGUgPSBudWxsO1xcbnZhciBzZXRTdXNwZW5zZUhhbmRsZXIgPSBudWxsO1xcblxcbntcXG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpZHgsIHZhbHVlKSB7XFxuICAgIGlmIChpZHggPj0gcGF0aC5sZW5ndGgpIHtcXG4gICAgICByZXR1cm4gdmFsdWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIGtleSA9IHBhdGhbaWR4XTtcXG4gICAgdmFyIHVwZGF0ZWQgPSBBcnJheS5pc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IF9hc3NpZ24oe30sIG9iaik7IC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcXG5cXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhTZXRJbXBsKG9ialtrZXldLCBwYXRoLCBpZHggKyAxLCB2YWx1ZSk7XFxuICAgIHJldHVybiB1cGRhdGVkO1xcbiAgfTtcXG5cXG4gIHZhciBjb3B5V2l0aFNldCA9IGZ1bmN0aW9uIChvYmosIHBhdGgsIHZhbHVlKSB7XFxuICAgIHJldHVybiBjb3B5V2l0aFNldEltcGwob2JqLCBwYXRoLCAwLCB2YWx1ZSk7XFxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIGVkaXRhYmxlIHZhbHVlcyBmb3IgdXNlU3RhdGUgYW5kIHVzZVJlZHVjZXIuXFxuXFxuXFxuICBvdmVycmlkZUhvb2tTdGF0ZSA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgsIHZhbHVlKSB7XFxuICAgIC8vIEZvciBub3csIHRoZSBcXFwiaWRcXFwiIG9mIHN0YXRlZnVsIGhvb2tzIGlzIGp1c3QgdGhlIHN0YXRlZnVsIGhvb2sgaW5kZXguXFxuICAgIC8vIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHdpdGggZS5nLiBuZXN0ZWQgaG9va3MuXFxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgIHdoaWxlIChjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBpZCA+IDApIHtcXG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XFxuICAgICAgaWQtLTtcXG4gICAgfVxcblxcbiAgICBpZiAoY3VycmVudEhvb2sgIT09IG51bGwpIHtcXG4gICAgICB2YXIgbmV3U3RhdGUgPSBjb3B5V2l0aFNldChjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLCBwYXRoLCB2YWx1ZSk7XFxuICAgICAgY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgICAgIGN1cnJlbnRIb29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlOyAvLyBXZSBhcmVuJ3QgYWN0dWFsbHkgYWRkaW5nIGFuIHVwZGF0ZSB0byB0aGUgcXVldWUsXFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXFxuICAgICAgLy8gKFRoZXJlJ3Mgbm8gYXBwcm9wcmlhdGUgYWN0aW9uIHR5cGUgZm9yIERldlRvb2xzIG92ZXJyaWRlcy4pXFxuICAgICAgLy8gQXMgYSByZXN1bHQgdGhvdWdoLCBSZWFjdCB3aWxsIHNlZSB0aGUgc2NoZWR1bGVkIHVwZGF0ZSBhcyBhIG5vb3AgYW5kIGJhaWxvdXQuXFxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cXG5cXG4gICAgICBmaWJlci5tZW1vaXplZFByb3BzID0gX2Fzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XFxuICAgICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcXG4gICAgfVxcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBwcm9wcyBmb3IgZnVuY3Rpb24gY29tcG9uZW50cywgZm9yd2FyZFJlZiwgbWVtbywgaG9zdCBjb21wb25lbnRzLCBldGMuXFxuXFxuXFxuICBvdmVycmlkZVByb3BzID0gZnVuY3Rpb24gKGZpYmVyLCBwYXRoLCB2YWx1ZSkge1xcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aFNldChmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoLCB2YWx1ZSk7XFxuXFxuICAgIGlmIChmaWJlci5hbHRlcm5hdGUpIHtcXG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xcbiAgICB9XFxuXFxuICAgIHNjaGVkdWxlV29yayhmaWJlciwgU3luYyk7XFxuICB9O1xcblxcbiAgc2NoZWR1bGVVcGRhdGUgPSBmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcXG4gIH07XFxuXFxuICBzZXRTdXNwZW5zZUhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkU3VzcGVuZEltcGwpIHtcXG4gICAgc2hvdWxkU3VzcGVuZEltcGwgPSBuZXdTaG91bGRTdXNwZW5kSW1wbDtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGluamVjdEludG9EZXZUb29scyhkZXZUb29sc0NvbmZpZykge1xcbiAgdmFyIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlID0gZGV2VG9vbHNDb25maWcuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U7XFxuICB2YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XFxuICByZXR1cm4gaW5qZWN0SW50ZXJuYWxzKF9hc3NpZ24oe30sIGRldlRvb2xzQ29uZmlnLCB7XFxuICAgIG92ZXJyaWRlSG9va1N0YXRlOiBvdmVycmlkZUhvb2tTdGF0ZSxcXG4gICAgb3ZlcnJpZGVQcm9wczogb3ZlcnJpZGVQcm9wcyxcXG4gICAgc2V0U3VzcGVuc2VIYW5kbGVyOiBzZXRTdXNwZW5zZUhhbmRsZXIsXFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcXG4gICAgY3VycmVudERpc3BhdGNoZXJSZWY6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXFxuICAgIGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOiBmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXIoZmliZXIpO1xcblxcbiAgICAgIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcXG4gICAgfSxcXG4gICAgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6IGZ1bmN0aW9uIChpbnN0YW5jZSkge1xcbiAgICAgIGlmICghZmluZEZpYmVyQnlIb3N0SW5zdGFuY2UpIHtcXG4gICAgICAgIC8vIE1pZ2h0IG5vdCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgcmVuZGVyZXIuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlKGluc3RhbmNlKTtcXG4gICAgfSxcXG4gICAgLy8gUmVhY3QgUmVmcmVzaFxcbiAgICBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6ICBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2ggLFxcbiAgICBzY2hlZHVsZVJlZnJlc2g6ICBzY2hlZHVsZVJlZnJlc2ggLFxcbiAgICBzY2hlZHVsZVJvb3Q6ICBzY2hlZHVsZVJvb3QgLFxcbiAgICBzZXRSZWZyZXNoSGFuZGxlcjogIHNldFJlZnJlc2hIYW5kbGVyICxcXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBhcHBlbmQgb3duZXIgc3RhY2tzIHRvIGVycm9yIG1lc3NhZ2VzIGluIERFViBtb2RlLlxcbiAgICBnZXRDdXJyZW50RmliZXI6ICBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XFxuICAgIH0gXFxuICB9KSk7XFxufVxcbnZhciBJc1NvbWVSZW5kZXJlckFjdGluZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuSXNTb21lUmVuZGVyZXJBY3Rpbmc7XFxuXFxuZnVuY3Rpb24gUmVhY3RET01Sb290KGNvbnRhaW5lciwgb3B0aW9ucykge1xcbiAgdGhpcy5faW50ZXJuYWxSb290ID0gY3JlYXRlUm9vdEltcGwoY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgb3B0aW9ucyk7XFxufVxcblxcbmZ1bmN0aW9uIFJlYWN0RE9NQmxvY2tpbmdSb290KGNvbnRhaW5lciwgdGFnLCBvcHRpb25zKSB7XFxuICB0aGlzLl9pbnRlcm5hbFJvb3QgPSBjcmVhdGVSb290SW1wbChjb250YWluZXIsIHRhZywgb3B0aW9ucyk7XFxufVxcblxcblJlYWN0RE9NUm9vdC5wcm90b3R5cGUucmVuZGVyID0gUmVhY3RET01CbG9ja2luZ1Jvb3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChjaGlsZHJlbikge1xcbiAgdmFyIHJvb3QgPSB0aGlzLl9pbnRlcm5hbFJvb3Q7XFxuXFxuICB7XFxuICAgIGlmICh0eXBlb2YgYXJndW1lbnRzWzFdID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcXG5cXG4gICAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSAhPT0gQ09NTUVOVF9OT0RFKSB7XFxuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XFxuXFxuICAgICAgaWYgKGhvc3RJbnN0YW5jZSkge1xcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcXG4gICAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBJdCBsb29rcyBsaWtlIHRoZSBSZWFjdC1yZW5kZXJlZCBjb250ZW50IG9mIHRoZSAnICsgJ3Jvb3QgY29udGFpbmVyIHdhcyByZW1vdmVkIHdpdGhvdXQgdXNpbmcgUmVhY3QuIFRoaXMgaXMgbm90ICcgKyAnc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGVycm9ycy4gSW5zdGVhZCwgY2FsbCAnICsgXFxcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cXFwiKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHVwZGF0ZUNvbnRhaW5lcihjaGlsZHJlbiwgcm9vdCwgbnVsbCwgbnVsbCk7XFxufTtcXG5cXG5SZWFjdERPTVJvb3QucHJvdG90eXBlLnVubW91bnQgPSBSZWFjdERPTUJsb2NraW5nUm9vdC5wcm90b3R5cGUudW5tb3VudCA9IGZ1bmN0aW9uICgpIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcigndW5tb3VudCguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IGEgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciByb290ID0gdGhpcy5faW50ZXJuYWxSb290O1xcbiAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcXG4gIHVwZGF0ZUNvbnRhaW5lcihudWxsLCByb290LCBudWxsLCBmdW5jdGlvbiAoKSB7XFxuICAgIHVubWFya0NvbnRhaW5lckFzUm9vdChjb250YWluZXIpO1xcbiAgfSk7XFxufTtcXG5cXG5mdW5jdGlvbiBjcmVhdGVSb290SW1wbChjb250YWluZXIsIHRhZywgb3B0aW9ucykge1xcbiAgLy8gVGFnIGlzIGVpdGhlciBMZWdhY3lSb290IG9yIENvbmN1cnJlbnQgUm9vdFxcbiAgdmFyIGh5ZHJhdGUgPSBvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy5oeWRyYXRlID09PSB0cnVlO1xcbiAgdmFyIGh5ZHJhdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMgIT0gbnVsbCAmJiBvcHRpb25zLmh5ZHJhdGlvbk9wdGlvbnMgfHwgbnVsbDtcXG4gIHZhciByb290ID0gY3JlYXRlQ29udGFpbmVyKGNvbnRhaW5lciwgdGFnLCBoeWRyYXRlKTtcXG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xcblxcbiAgaWYgKGh5ZHJhdGUgJiYgdGFnICE9PSBMZWdhY3lSb290KSB7XFxuICAgIHZhciBkb2MgPSBjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyBjb250YWluZXIgOiBjb250YWluZXIub3duZXJEb2N1bWVudDtcXG4gICAgZWFnZXJseVRyYXBSZXBsYXlhYmxlRXZlbnRzKGNvbnRhaW5lciwgZG9jKTtcXG4gIH1cXG5cXG4gIHJldHVybiByb290O1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVMZWdhY3lSb290KGNvbnRhaW5lciwgb3B0aW9ucykge1xcbiAgcmV0dXJuIG5ldyBSZWFjdERPTUJsb2NraW5nUm9vdChjb250YWluZXIsIExlZ2FjeVJvb3QsIG9wdGlvbnMpO1xcbn1cXG5mdW5jdGlvbiBpc1ZhbGlkQ29udGFpbmVyKG5vZGUpIHtcXG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBub2RlLm5vZGVWYWx1ZSA9PT0gJyByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAnKSk7XFxufVxcblxcbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XFxudmFyIHRvcExldmVsVXBkYXRlV2FybmluZ3M7XFxudmFyIHdhcm5lZEFib3V0SHlkcmF0ZUFQSSA9IGZhbHNlO1xcblxcbntcXG4gIHRvcExldmVsVXBkYXRlV2FybmluZ3MgPSBmdW5jdGlvbiAoY29udGFpbmVyKSB7XFxuICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xcbiAgICAgIHZhciBob3N0SW5zdGFuY2UgPSBmaW5kSG9zdEluc3RhbmNlV2l0aE5vUG9ydGFscyhjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lci5faW50ZXJuYWxSb290LmN1cnJlbnQpO1xcblxcbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcXG4gICAgICAgIGlmIChob3N0SW5zdGFuY2UucGFyZW50Tm9kZSAhPT0gY29udGFpbmVyKSB7XFxuICAgICAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogSXQgbG9va3MgbGlrZSB0aGUgUmVhY3QtcmVuZGVyZWQgY29udGVudCBvZiB0aGlzICcgKyAnY29udGFpbmVyIHdhcyByZW1vdmVkIHdpdGhvdXQgdXNpbmcgUmVhY3QuIFRoaXMgaXMgbm90ICcgKyAnc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGVycm9ycy4gSW5zdGVhZCwgY2FsbCAnICsgJ1JlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUgdG8gZW1wdHkgYSBjb250YWluZXIuJyk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0ID0gISFjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcXG4gICAgdmFyIHJvb3RFbCA9IGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpO1xcbiAgICB2YXIgaGFzTm9uUm9vdFJlYWN0Q2hpbGQgPSAhIShyb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKHJvb3RFbCkpO1xcblxcbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcXG4gICAgICBlcnJvcigncmVuZGVyKC4uLik6IFJlcGxhY2luZyBSZWFjdC1yZW5kZXJlZCBjaGlsZHJlbiB3aXRoIGEgbmV3IHJvb3QgJyArICdjb21wb25lbnQuIElmIHlvdSBpbnRlbmRlZCB0byB1cGRhdGUgdGhlIGNoaWxkcmVuIG9mIHRoaXMgbm9kZSwgJyArICd5b3Ugc2hvdWxkIGluc3RlYWQgaGF2ZSB0aGUgZXhpc3RpbmcgY2hpbGRyZW4gdXBkYXRlIHRoZWlyIHN0YXRlICcgKyAnYW5kIHJlbmRlciB0aGUgbmV3IGNvbXBvbmVudHMgaW5zdGVhZCBvZiBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlci4nKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgY29udGFpbmVyLnRhZ05hbWUgJiYgY29udGFpbmVyLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB7XFxuICAgICAgZXJyb3IoJ3JlbmRlcigpOiBSZW5kZXJpbmcgY29tcG9uZW50cyBkaXJlY3RseSBpbnRvIGRvY3VtZW50LmJvZHkgaXMgJyArICdkaXNjb3VyYWdlZCwgc2luY2UgaXRzIGNoaWxkcmVuIGFyZSBvZnRlbiBtYW5pcHVsYXRlZCBieSB0aGlyZC1wYXJ0eSAnICsgJ3NjcmlwdHMgYW5kIGJyb3dzZXIgZXh0ZW5zaW9ucy4gVGhpcyBtYXkgbGVhZCB0byBzdWJ0bGUgJyArICdyZWNvbmNpbGlhdGlvbiBpc3N1ZXMuIFRyeSByZW5kZXJpbmcgaW50byBhIGNvbnRhaW5lciBlbGVtZW50IGNyZWF0ZWQgJyArICdmb3IgeW91ciBhcHAuJyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpIHtcXG4gIGlmICghY29udGFpbmVyKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xcbiAgICByZXR1cm4gY29udGFpbmVyLmRvY3VtZW50RWxlbWVudDtcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc2hvdWxkSHlkcmF0ZUR1ZVRvTGVnYWN5SGV1cmlzdGljKGNvbnRhaW5lcikge1xcbiAgdmFyIHJvb3RFbGVtZW50ID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XFxuICByZXR1cm4gISEocm9vdEVsZW1lbnQgJiYgcm9vdEVsZW1lbnQubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiByb290RWxlbWVudC5oYXNBdHRyaWJ1dGUoUk9PVF9BVFRSSUJVVEVfTkFNRSkpO1xcbn1cXG5cXG5mdW5jdGlvbiBsZWdhY3lDcmVhdGVSb290RnJvbURPTUNvbnRhaW5lcihjb250YWluZXIsIGZvcmNlSHlkcmF0ZSkge1xcbiAgdmFyIHNob3VsZEh5ZHJhdGUgPSBmb3JjZUh5ZHJhdGUgfHwgc2hvdWxkSHlkcmF0ZUR1ZVRvTGVnYWN5SGV1cmlzdGljKGNvbnRhaW5lcik7IC8vIEZpcnN0IGNsZWFyIGFueSBleGlzdGluZyBjb250ZW50LlxcblxcbiAgaWYgKCFzaG91bGRIeWRyYXRlKSB7XFxuICAgIHZhciB3YXJuZWQgPSBmYWxzZTtcXG4gICAgdmFyIHJvb3RTaWJsaW5nO1xcblxcbiAgICB3aGlsZSAocm9vdFNpYmxpbmcgPSBjb250YWluZXIubGFzdENoaWxkKSB7XFxuICAgICAge1xcbiAgICAgICAgaWYgKCF3YXJuZWQgJiYgcm9vdFNpYmxpbmcubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiByb290U2libGluZy5oYXNBdHRyaWJ1dGUoUk9PVF9BVFRSSUJVVEVfTkFNRSkpIHtcXG4gICAgICAgICAgd2FybmVkID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgZXJyb3IoJ3JlbmRlcigpOiBUYXJnZXQgbm9kZSBoYXMgbWFya3VwIHJlbmRlcmVkIGJ5IFJlYWN0LCBidXQgdGhlcmUgJyArICdhcmUgdW5yZWxhdGVkIG5vZGVzIGFzIHdlbGwuIFRoaXMgaXMgbW9zdCBjb21tb25seSBjYXVzZWQgYnkgJyArICd3aGl0ZS1zcGFjZSBpbnNlcnRlZCBhcm91bmQgc2VydmVyLXJlbmRlcmVkIG1hcmt1cC4nKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKHJvb3RTaWJsaW5nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAge1xcbiAgICBpZiAoc2hvdWxkSHlkcmF0ZSAmJiAhZm9yY2VIeWRyYXRlICYmICF3YXJuZWRBYm91dEh5ZHJhdGVBUEkpIHtcXG4gICAgICB3YXJuZWRBYm91dEh5ZHJhdGVBUEkgPSB0cnVlO1xcblxcbiAgICAgIHdhcm4oJ3JlbmRlcigpOiBDYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIHRvIGh5ZHJhdGUgc2VydmVyLXJlbmRlcmVkIG1hcmt1cCAnICsgJ3dpbGwgc3RvcCB3b3JraW5nIGluIFJlYWN0IHYxNy4gUmVwbGFjZSB0aGUgUmVhY3RET00ucmVuZGVyKCkgY2FsbCAnICsgJ3dpdGggUmVhY3RET00uaHlkcmF0ZSgpIGlmIHlvdSB3YW50IFJlYWN0IHRvIGF0dGFjaCB0byB0aGUgc2VydmVyIEhUTUwuJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBjcmVhdGVMZWdhY3lSb290KGNvbnRhaW5lciwgc2hvdWxkSHlkcmF0ZSA/IHtcXG4gICAgaHlkcmF0ZTogdHJ1ZVxcbiAgfSA6IHVuZGVmaW5lZCk7XFxufVxcblxcbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XFxuICB7XFxuICAgIGlmIChjYWxsYmFjayAhPT0gbnVsbCAmJiB0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGNoaWxkcmVuLCBjb250YWluZXIsIGZvcmNlSHlkcmF0ZSwgY2FsbGJhY2spIHtcXG4gIHtcXG4gICAgdG9wTGV2ZWxVcGRhdGVXYXJuaW5ncyhjb250YWluZXIpO1xcbiAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2skMShjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrLCAncmVuZGVyJyk7XFxuICB9IC8vIFRPRE86IFdpdGhvdXQgYGFueWAgdHlwZSwgRmxvdyBzYXlzIFxcXCJQcm9wZXJ0eSBjYW5ub3QgYmUgYWNjZXNzZWQgb24gYW55XFxuICAvLyBtZW1iZXIgb2YgaW50ZXJzZWN0aW9uIHR5cGUuXFxcIiBXaHl5eXl5eS5cXG5cXG5cXG4gIHZhciByb290ID0gY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXI7XFxuICB2YXIgZmliZXJSb290O1xcblxcbiAgaWYgKCFyb290KSB7XFxuICAgIC8vIEluaXRpYWwgbW91bnRcXG4gICAgcm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUpO1xcbiAgICBmaWJlclJvb3QgPSByb290Ll9pbnRlcm5hbFJvb3Q7XFxuXFxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB2YXIgb3JpZ2luYWxDYWxsYmFjayA9IGNhbGxiYWNrO1xcblxcbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0UHVibGljUm9vdEluc3RhbmNlKGZpYmVyUm9vdCk7XFxuICAgICAgICBvcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xcbiAgICAgIH07XFxuICAgIH0gLy8gSW5pdGlhbCBtb3VudCBzaG91bGQgbm90IGJlIGJhdGNoZWQuXFxuXFxuXFxuICAgIHVuYmF0Y2hlZFVwZGF0ZXMoZnVuY3Rpb24gKCkge1xcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihjaGlsZHJlbiwgZmliZXJSb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcXG4gICAgfSk7XFxuICB9IGVsc2Uge1xcbiAgICBmaWJlclJvb3QgPSByb290Ll9pbnRlcm5hbFJvb3Q7XFxuXFxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB2YXIgX29yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcXG5cXG4gICAgICBjYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShmaWJlclJvb3QpO1xcblxcbiAgICAgICAgX29yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XFxuICAgICAgfTtcXG4gICAgfSAvLyBVcGRhdGVcXG5cXG5cXG4gICAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCBmaWJlclJvb3QsIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2spO1xcbiAgfVxcblxcbiAgcmV0dXJuIGdldFB1YmxpY1Jvb3RJbnN0YW5jZShmaWJlclJvb3QpO1xcbn1cXG5cXG5mdW5jdGlvbiBmaW5kRE9NTm9kZShjb21wb25lbnRPckVsZW1lbnQpIHtcXG4gIHtcXG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xcblxcbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgb3duZXIuc3RhdGVOb2RlICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcXG5cXG4gICAgICBpZiAoIXdhcm5lZEFib3V0UmVmc0luUmVuZGVyKSB7XFxuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpIHx8ICdBIGNvbXBvbmVudCcpO1xcbiAgICAgIH1cXG5cXG4gICAgICBvd25lci5zdGF0ZU5vZGUuX3dhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudCA9PSBudWxsKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XFxuICAgIHJldHVybiBjb21wb25lbnRPckVsZW1lbnQ7XFxuICB9XFxuXFxuICB7XFxuICAgIHJldHVybiBmaW5kSG9zdEluc3RhbmNlV2l0aFdhcm5pbmcoY29tcG9uZW50T3JFbGVtZW50LCAnZmluZERPTU5vZGUnKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gaHlkcmF0ZShlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XFxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAge1xcbiAgICB2YXIgaXNNb2Rlcm5Sb290ID0gaXNDb250YWluZXJNYXJrZWRBc1Jvb3QoY29udGFpbmVyKSAmJiBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciA9PT0gdW5kZWZpbmVkO1xcblxcbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XFxuICAgICAgZXJyb3IoJ1lvdSBhcmUgY2FsbGluZyBSZWFjdERPTS5oeWRyYXRlKCkgb24gYSBjb250YWluZXIgdGhhdCB3YXMgcHJldmlvdXNseSAnICsgJ3Bhc3NlZCB0byBSZWFjdERPTS5jcmVhdGVSb290KCkuIFRoaXMgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCBjcmVhdGVSb290KGNvbnRhaW5lciwge2h5ZHJhdGU6IHRydWV9KS5yZW5kZXIoZWxlbWVudCk/Jyk7XFxuICAgIH1cXG4gIH0gLy8gVE9ETzogdGhyb3cgb3Igd2FybiBpZiB3ZSBjb3VsZG4ndCBoeWRyYXRlP1xcblxcblxcbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgdHJ1ZSwgY2FsbGJhY2spO1xcbn1cXG5mdW5jdGlvbiByZW5kZXIoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcXG5cXG4gICAgaWYgKGlzTW9kZXJuUm9vdCkge1xcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyKCkgb24gYSBjb250YWluZXIgdGhhdCB3YXMgcHJldmlvdXNseSAnICsgJ3Bhc3NlZCB0byBSZWFjdERPTS5jcmVhdGVSb290KCkuIFRoaXMgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCByb290LnJlbmRlcihlbGVtZW50KT8nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcXG59XFxuZnVuY3Rpb24gdW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBlbGVtZW50LCBjb250YWluZXJOb2RlLCBjYWxsYmFjaykge1xcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lck5vZGUpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAoIShwYXJlbnRDb21wb25lbnQgIT0gbnVsbCAmJiBoYXMocGFyZW50Q29tcG9uZW50KSkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwicGFyZW50Q29tcG9uZW50IG11c3QgYmUgYSB2YWxpZCBSZWFjdCBDb21wb25lbnRcXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGVsZW1lbnQsIGNvbnRhaW5lck5vZGUsIGZhbHNlLCBjYWxsYmFjayk7XFxufVxcbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XFxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJ1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XFxuXFxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcXG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBEaWQgeW91IG1lYW4gdG8gY2FsbCByb290LnVubW91bnQoKT8nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyKSB7XFxuICAgIHtcXG4gICAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XFxuICAgICAgdmFyIHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCA9IHJvb3RFbCAmJiAhZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKHJvb3RFbCk7XFxuXFxuICAgICAgaWYgKHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCkge1xcbiAgICAgICAgZXJyb3IoXFxcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcXFwiICsgJ3dhcyByZW5kZXJlZCBieSBhbm90aGVyIGNvcHkgb2YgUmVhY3QuJyk7XFxuICAgICAgfVxcbiAgICB9IC8vIFVubW91bnQgc2hvdWxkIG5vdCBiZSBiYXRjaGVkLlxcblxcblxcbiAgICB1bmJhdGNoZWRVcGRhdGVzKGZ1bmN0aW9uICgpIHtcXG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAvLyAkRmxvd0ZpeE1lIFRoaXMgc2hvdWxkIHByb2JhYmx5IHVzZSBgZGVsZXRlIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyYFxcbiAgICAgICAgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSBudWxsO1xcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XFxuICAgICAgfSk7XFxuICAgIH0pOyAvLyBJZiB5b3UgY2FsbCB1bm1vdW50Q29tcG9uZW50QXROb2RlIHR3aWNlIGluIHF1aWNrIHN1Y2Nlc3Npb24sIHlvdSdsbFxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9IGVsc2Uge1xcbiAgICB7XFxuICAgICAgdmFyIF9yb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcXG5cXG4gICAgICB2YXIgaGFzTm9uUm9vdFJlYWN0Q2hpbGQgPSAhIShfcm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUkMShfcm9vdEVsKSk7IC8vIENoZWNrIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIGlzIGEgUmVhY3Qgcm9vdCBub2RlLlxcblxcbiAgICAgIHZhciBpc0NvbnRhaW5lclJlYWN0Um9vdCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFICYmIGlzVmFsaWRDb250YWluZXIoY29udGFpbmVyLnBhcmVudE5vZGUpICYmICEhY29udGFpbmVyLnBhcmVudE5vZGUuX3JlYWN0Um9vdENvbnRhaW5lcjtcXG5cXG4gICAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQpIHtcXG4gICAgICAgIGVycm9yKFxcXCJ1bm1vdW50Q29tcG9uZW50QXROb2RlKCk6IFRoZSBub2RlIHlvdSdyZSBhdHRlbXB0aW5nIHRvIHVubW91bnQgXFxcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVySW5mbywgLy8gVE9ETzogZmlndXJlIG91dCB0aGUgQVBJIGZvciBjcm9zcy1yZW5kZXJlciBpbXBsZW1lbnRhdGlvbi5cXG5pbXBsZW1lbnRhdGlvbikge1xcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbnVsbDtcXG4gIHJldHVybiB7XFxuICAgIC8vIFRoaXMgdGFnIGFsbG93IHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBQb3J0YWxcXG4gICAgJCR0eXBlb2Y6IFJFQUNUX1BPUlRBTF9UWVBFLFxcbiAgICBrZXk6IGtleSA9PSBudWxsID8gbnVsbCA6ICcnICsga2V5LFxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4sXFxuICAgIGNvbnRhaW5lckluZm86IGNvbnRhaW5lckluZm8sXFxuICAgIGltcGxlbWVudGF0aW9uOiBpbXBsZW1lbnRhdGlvblxcbiAgfTtcXG59XFxuXFxudmFyIFJlYWN0VmVyc2lvbiA9ICcxNi4xMy4xJztcXG5cXG5zZXRBdHRlbXB0VXNlckJsb2NraW5nSHlkcmF0aW9uKGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24kMSk7XFxuc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24kMSk7XFxuc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5KGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eSQxKTtcXG52YXIgZGlkV2FybkFib3V0VW5zdGFibGVDcmVhdGVQb3J0YWwgPSBmYWxzZTtcXG5cXG57XFxuICBpZiAodHlwZW9mIE1hcCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIE1hcCBoYXMgbm8gcHJvdG90eXBlXFxuICBNYXAucHJvdG90eXBlID09IG51bGwgfHwgdHlwZW9mIE1hcC5wcm90b3R5cGUuZm9yRWFjaCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0ICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93SXNzdWUgRmxvdyBpbmNvcnJlY3RseSB0aGlua3MgU2V0IGhhcyBubyBwcm90b3R5cGVcXG4gIFNldC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5jbGVhciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgIGVycm9yKCdSZWFjdCBkZXBlbmRzIG9uIE1hcCBhbmQgU2V0IGJ1aWx0LWluIHR5cGVzLiBNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhICcgKyAncG9seWZpbGwgaW4gb2xkZXIgYnJvd3NlcnMuIGh0dHBzOi8vZmIubWUvcmVhY3QtcG9seWZpbGxzJyk7XFxuICB9XFxufVxcblxcbnNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihyZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMpO1xcbnNldEJhdGNoaW5nSW1wbGVtZW50YXRpb24oYmF0Y2hlZFVwZGF0ZXMkMSwgZGlzY3JldGVVcGRhdGVzJDEsIGZsdXNoRGlzY3JldGVVcGRhdGVzLCBiYXRjaGVkRXZlbnRVcGRhdGVzJDEpO1xcblxcbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIpIHtcXG4gIHZhciBrZXkgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IG51bGw7XFxuXFxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxcbiAgLy8gJEZsb3dGaXhNZSBUaGUgRmxvdyB0eXBlIGlzIG9wYXF1ZSBidXQgdGhlcmUncyBubyB3YXkgdG8gYWN0dWFsbHkgY3JlYXRlIGl0LlxcblxcblxcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVyLCBudWxsLCBrZXkpO1xcbn1cXG5cXG5mdW5jdGlvbiByZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGVsZW1lbnQsIGNvbnRhaW5lck5vZGUsIGNhbGxiYWNrKSB7XFxuXFxuICByZXR1cm4gdW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBlbGVtZW50LCBjb250YWluZXJOb2RlLCBjYWxsYmFjayk7XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX2NyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVyKSB7XFxuICB2YXIga2V5ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xcblxcbiAge1xcbiAgICBpZiAoIWRpZFdhcm5BYm91dFVuc3RhYmxlQ3JlYXRlUG9ydGFsKSB7XFxuICAgICAgZGlkV2FybkFib3V0VW5zdGFibGVDcmVhdGVQb3J0YWwgPSB0cnVlO1xcblxcbiAgICAgIHdhcm4oJ1RoZSBSZWFjdERPTS51bnN0YWJsZV9jcmVhdGVQb3J0YWwoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTcrLiBVcGRhdGUgeW91ciBjb2RlIHRvIHVzZSAnICsgJ1JlYWN0RE9NLmNyZWF0ZVBvcnRhbCgpIGluc3RlYWQuIEl0IGhhcyB0aGUgZXhhY3Qgc2FtZSBBUEksICcgKyAnYnV0IHdpdGhvdXQgdGhlIFxcXCJ1bnN0YWJsZV9cXFwiIHByZWZpeC4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIsIGtleSk7XFxufVxcblxcbnZhciBJbnRlcm5hbHMgPSB7XFxuICAvLyBLZWVwIGluIHN5bmMgd2l0aCBSZWFjdERPTVVuc3RhYmxlTmF0aXZlRGVwZW5kZW5jaWVzLmpzXFxuICAvLyBSZWFjdFRlc3RVdGlscy5qcywgYW5kIFJlYWN0VGVzdFV0aWxzQWN0LmpzLiBUaGlzIGlzIGFuIGFycmF5IGZvciBiZXR0ZXIgbWluaWZpY2F0aW9uLlxcbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSQxLCBnZXROb2RlRnJvbUluc3RhbmNlJDEsIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMSwgaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lLCBldmVudE5hbWVEaXNwYXRjaENvbmZpZ3MsIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMsIGFjY3VtdWxhdGVEaXJlY3REaXNwYXRjaGVzLCBlbnF1ZXVlU3RhdGVSZXN0b3JlLCByZXN0b3JlU3RhdGVJZk5lZWRlZCwgZGlzcGF0Y2hFdmVudCwgcnVuRXZlbnRzSW5CYXRjaCwgZmx1c2hQYXNzaXZlRWZmZWN0cywgSXNUaGlzUmVuZGVyZXJBY3RpbmddXFxufTtcXG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XFxuICBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTogZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUsXFxuICBidW5kbGVUeXBlOiAgMSAsXFxuICB2ZXJzaW9uOiBSZWFjdFZlcnNpb24sXFxuICByZW5kZXJlclBhY2thZ2VOYW1lOiAncmVhY3QtZG9tJ1xcbn0pO1xcblxcbntcXG4gIGlmICghZm91bmREZXZUb29scyAmJiBjYW5Vc2VET00gJiYgd2luZG93LnRvcCA9PT0gd2luZG93LnNlbGYpIHtcXG4gICAgLy8gSWYgd2UncmUgaW4gQ2hyb21lIG9yIEZpcmVmb3gsIHByb3ZpZGUgYSBkb3dubG9hZCBsaW5rIGlmIG5vdCBpbnN0YWxsZWQuXFxuICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0Nocm9tZScpID4gLTEgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdFZGdlJykgPT09IC0xIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignRmlyZWZveCcpID4gLTEpIHtcXG4gICAgICB2YXIgcHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7IC8vIERvbid0IHdhcm4gaW4gZXhvdGljIGNhc2VzIGxpa2UgY2hyb21lLWV4dGVuc2lvbjovLy5cXG5cXG4gICAgICBpZiAoL14oaHR0cHM/fGZpbGUpOiQvLnRlc3QocHJvdG9jb2wpKSB7XFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXFxuICAgICAgICBjb25zb2xlLmluZm8oJyVjRG93bmxvYWQgdGhlIFJlYWN0IERldlRvb2xzICcgKyAnZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1kZXZ0b29scycgKyAocHJvdG9jb2wgPT09ICdmaWxlOicgPyAnXFxcXG5Zb3UgbWlnaHQgbmVlZCB0byB1c2UgYSBsb2NhbCBIVFRQIHNlcnZlciAoaW5zdGVhZCBvZiBmaWxlOi8vKTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LWRldnRvb2xzLWZhcScgOiAnJyksICdmb250LXdlaWdodDpib2xkJyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBJbnRlcm5hbHM7XFxuZXhwb3J0cy5jcmVhdGVQb3J0YWwgPSBjcmVhdGVQb3J0YWwkMTtcXG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XFxuZXhwb3J0cy5mbHVzaFN5bmMgPSBmbHVzaFN5bmM7XFxuZXhwb3J0cy5oeWRyYXRlID0gaHlkcmF0ZTtcXG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcXG5leHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGUgPSB1bm1vdW50Q29tcG9uZW50QXROb2RlO1xcbmV4cG9ydHMudW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMgPSBiYXRjaGVkVXBkYXRlcyQxO1xcbmV4cG9ydHMudW5zdGFibGVfY3JlYXRlUG9ydGFsID0gdW5zdGFibGVfY3JlYXRlUG9ydGFsO1xcbmV4cG9ydHMudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIgPSByZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcjtcXG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XFxuICB9KSgpO1xcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZqZEMxa2IyMHZZMnB6TDNKbFlXTjBMV1J2YlM1a1pYWmxiRzl3YldWdWRDNXFjejgwTmpRMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUldFN096czdRVUZKWWl4SlFVRkpMRWxCUVhGRE8wRkJRM3BETzBGQlEwRTdPMEZCUlVFc1dVRkJXU3h0UWtGQlR5eERRVUZETERSRFFVRlBPMEZCUXpOQ0xHTkJRV01zYlVKQlFVOHNRMEZCUXl3MFJFRkJaVHRCUVVOeVF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSRUZCVnp0QlFVTnVReXh4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXc0UlVGQk1rSTdRVUZEZUVRc1kwRkJZeXh0UWtGQlR5eERRVUZETERoRVFVRnRRanM3UVVGRmVrTXNiMFpCUVc5R08wRkJRM0JHTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTd3dSa0ZCTUVZc1lVRkJZVHRCUVVOMlJ6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzRSa0ZCT0VZc1pVRkJaVHRCUVVNM1J6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxMRVZCUVVVN08wRkJSVkFzYVVSQlFXbEVPMEZCUTJwRU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3c0UTBGQk9FTTdRVUZET1VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVRzN1FVRkZRU3h4UTBGQmNVTTdRVUZEY2tNN08wRkJSVUVzYlVaQlFXMUdPMEZCUTI1R08wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRlFVRnRSVHRCUVVOdVJUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3h0UWtGQmJVSTdRVUZEYmtJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEVzWjBKQlFXZENPenRCUVVWb1FqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4aFFVRmhMR2RDUVVGblFqdEJRVU0zUWp0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE96czdRVUZIVUN4MVJVRkJkVVU3TzBGQlJYWkZPMEZCUTBFc09FUkJRVGhFTzBGQlF6bEVPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFBRVUZQT3pzN1FVRkhVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTEhWQ1FVRjFRanM3UVVGRmRrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhUUVVGVE8wRkJRM0JDTEZkQlFWY3NSVUZCUlR0QlFVTmlMRmRCUVZjc1MwRkJTenRCUVVOb1FqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEZOQlFWTTdRVUZEY0VJc1YwRkJWeXhGUVVGRk8wRkJRMklzVjBGQlZ5eExRVUZMTzBGQlEyaENPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEdWQlFXVTdRVUZETVVJc1YwRkJWeXhUUVVGVE8wRkJRM0JDTEZkQlFWY3NSVUZCUlR0QlFVTmlPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpdzRRa0ZCT0VJN1FVRkRha1E3UVVGRFFUdEJRVU5CTEU5QlFVODdPenRCUVVkUU8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMQ3RDUVVFclFqczdRVUZGTDBJc2FVSkJRV2xDT3p0QlFVVnFRaXh0UWtGQmJVSTdPMEZCUlc1Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhYUVVGWExFOUJRVTg3UVVGRGJFSXNXVUZCV1N4UlFVRlJPMEZCUTNCQ08wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzVDBGQlR6dEJRVU5zUWp0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUVzYlVOQlFXMURMRVZCUVVVN08wRkJSWEpETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFMUJRVTA3UVVGRGFrSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERaRFFVRTJRenM3UVVGRk4wTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMREJDUVVFd1FqdEJRVU0zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3JRa0ZCSzBJN08wRkJSUzlDTEhGRFFVRnhRenM3UVVGRmNrTXNhVU5CUVdsRE8wRkJRMnBET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJN1FVRkRha0k3TzBGQlJVRXNaVUZCWlR0QlFVTm1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3dRa0ZCTUVJN1FVRkRNVUk3UVVGRFFUczdRVUZGUVN4blFrRkJaMEk3UVVGRGFFSTdRVUZEUVR0QlFVTkJPenRCUVVWQkxESkNRVUV5UWp0QlFVTXpRanM3UVVGRlFTeG5Ra0ZCWjBJN1FVRkRhRUk3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk96czdRVUZIUVN4dlFrRkJiMEk3TzBGQlJYQkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlR0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNc1JVRkJSVHRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGT3p0QlFVVklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRMRVZCUVVVN1FVRkRTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlR0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlRzN1FVRkZTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETEVWQlFVVTdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRMRVZCUVVVN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETEVWQlFVVTdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEczdRVUZGUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWMEZCVnp0QlFVTjBRaXhYUVVGWExFOUJRVTg3UVVGRGJFSXNWMEZCVnl4RlFVRkZPMEZCUTJJN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d3UlVGQk1FVTdRVUZETVVVN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01rTkJRVEpETzBGQlF6TkRPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ5eEZRVUZGTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRFFVRnBRenRCUVVOcVF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3MFFrRkJORUk3UVVGRE5VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNPMEZCUTNKQ096dEJRVVZCTzBGQlEwRTdRVUZEUVN4NVJFRkJlVVE3UVVGRGVrUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRlFVRnBSVHRCUVVOcVJUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFTeHRRa0ZCYlVJc2EwSkJRV3RDTzBGQlEzSkRPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVN3NFFrRkJPRUk3UVVGRE9VSTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96czdRVUZIUVN4elEwRkJjME03UVVGRGRFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFqdEJRVU51UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSTdRVUZEY2tJN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFMRXRCUVVzN096dEJRVWRNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzTWtKQlFUSkNPMEZCUXpsRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xESkNRVUV5UWp0QlFVTTVRenRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiMEpCUVc5Q0xIRkNRVUZ4UWp0QlFVTjZRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTEhGQ1FVRnhRaXh6UWtGQmMwSTdRVUZETTBNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJMRzFDUVVGdFFqdEJRVU51UWp0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJMRFJDUVVFMFFqdEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVU5CUVdsRE96dEJRVVZxUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMURRVUZ0UXpzN1FVRkZia003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdRVUZEY2tJN08wRkJSVUVzY1VOQlFYRkRPMEZCUTNKRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RFFVRnZRenRCUVVOd1F6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4WFFVRlhPMEZCUTNSQ0xGZEJRVmNzVDBGQlR6dEJRVU5zUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWMEZCVnp0QlFVTjBRaXhYUVVGWExFOUJRVTg3UVVGRGJFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRTdRVUZEWWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzT0VOQlFUaERPMEZCUXpsRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0U3UVVGRFlqczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTWtSQlFUSkVPMEZCUXpORU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYjBWQlFXOUZPenRCUVVWd1JUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFc1NVRkJTVHM3UVVGRlNqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwd3NSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3T3p0QlFVZFFPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0k3UVVGRE4wSTdRVUZEUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3hYUVVGWE8wRkJRM1pDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVjBGQlZ5eE5RVUZOTzBGQlEycENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFRRVUZUTzBGQlEzQkNMRmRCUVZjc1JVRkJSVHRCUVVOaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVVUZCVVR0QlFVTnVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFpRVUZaTEdWQlFXVTdRVUZETTBJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMFZCUVhORk96dEJRVVYwUlR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFOUJRVTg3UVVGRGJFSXNXVUZCV1N4UlFVRlJPMEZCUTNCQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUTBGQk5FTTdRVUZETlVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenM3UVVGSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNXVUZCV1N4RlFVRkZPMEZCUTJRN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNiMEpCUVc5Q08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTd3dRMEZCTUVNN1FVRkRNVU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenM3UVVGRlNDeHBRa0ZCYVVJc2EwTkJRV3RETzBGQlEyNUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBSQlFYZEVPenRCUVVWNFJEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZkQlFWY3NUMEZCVHp0QlFVTnNRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEhsQ1FVRjVRanRCUVVNeFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cyUTBGQk5rTTdRVUZETjBNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2VVSkJRWGxDTzBGQlF6RkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkN4elEwRkJjME03TzBGQlJYUkRMRGhDUVVFNFFqdEJRVU01UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNPenRCUVVWMlFqdEJRVU5CTEhORFFVRnpRenM3UVVGRmRFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERaRVFVRTJSRHM3UVVGRk4wUTdRVUZEUVR0QlFVTkJMRWRCUVVjc1JVRkJSVHM3UVVGRlREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMSGxGUVVGNVJUdEJRVU42UlRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYjBOQlFXOURPenRCUVVWd1F6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDFRMEZCZFVNN1FVRkRka003UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlGUVVGdlJUdEJRVU53UlR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4cFEwRkJhVU03UVVGRGNFUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHJRa0ZCYTBJc05FTkJRVFJETzBGQlF6bEVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3huUTBGQlowTTdRVUZEYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwU2tGQmFVbzdPMEZCUldwS0xHdGpRVUZyWXpzN1FVRkZiR003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFJRVUZSTzBGQlExSTdRVUZEUVN4TlFVRk5PMEZCUTA0N1FVRkRRVHRCUVVOQk8wRkJRMEVzYTBKQlFXdENMR0ZCUVdFN1FVRkRMMEk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXgxUWtGQmRVSTdRVUZEZUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVKQlFXbENMSFZDUVVGMVFqdEJRVU40UXp0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJMRGhHUVVFNFJqczdRVUZGT1VZN1FVRkRRVHRCUVVOQkxHMUVRVUZ0UkR0QlFVTnVSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIbEVRVUY1UkRzN1FVRkZla1E3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRXNiMFJCUVc5RU8wRkJRM0JFT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzV1VGQldTeFBRVUZQTzBGQlEyNUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTERSRFFVRTBRenRCUVVNMVF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGdzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1JVRkJSVHRCUVVOaUxGbEJRVmtzVDBGQlR6dEJRVU51UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxIZENRVUYzUWp0QlFVTjRRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3c0UWtGQk9FSTdPMEZCUlRsQ0xEUkRRVUUwUXp0QlFVTTFRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4elFrRkJjMEk3UVVGRGRFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1YwRkJWenRCUVVOMFFpeFhRVUZYTEU5QlFVODdRVUZEYkVJN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1ZVRkJWU3hwUTBGQmFVTTdRVUZETTBNN1FVRkRRVHRCUVVOQk8wRkJRMEVzU1VGQlNUdEJRVU5LTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNjMEpCUVhOQ08wRkJRM3BETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTFCUVUwc1owTkJRV2RETEV0QlFVczdRVUZETTBNN1FVRkRRVHRCUVVOQkxFMUJRVTBzWjBOQlFXZERMRXRCUVVzN1FVRkRNME03UVVGRFFTdzBSRUZCTkVRN1FVRkROVVFzVFVGQlRTeG5RMEZCWjBNc1MwRkJTenRCUVVNelF6dEJRVU5CT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTERST1FVRTBUanRCUVVNMVRqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3MFJVRkJORVVzV1VGQldUdEJRVU40Ump0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzTWtoQlFUSklMRFpDUVVFMlFqdEJRVU40U2p0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHdEdRVUZyUmp0QlFVTnNSanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUExEQkRRVUV3UXpzN08wRkJSMnBFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMQ3RHUVVFclJqdEJRVU12UmpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTERCRFFVRXdRenM3TzBGQlIycEVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1PMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlJVRkJOa1U3TzBGQlJUZEZPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNjMHBCUVhOS0xHbENRVUZwUWp0QlFVTjJTeXhQUVVGUE8wRkJRMUFzYzBwQlFYTktMR2xDUVVGcFFpeDNSRUZCZDBRc2JVSkJRVzFDTEdkQ1FVRm5RaXc0UWtGQk9FSTdRVUZEYUZNN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN08wRkJSMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPenRCUVVkTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPenRCUVVkTU8wRkJRMEVzYjBkQlFXOUhMRWRCUVVjN08wRkJSWFpITzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFbEJRVWs3UVVGRFNqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRXNkMFZCUVhkRk8wRkJRM2hGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBTVUZCYVVrc2JVSkJRVzFDTEdkQ1FVRm5RaXc0UWtGQk9FSTdRVUZEYkUwc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeEpRVUZKTzBGQlEwbzdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHpzN08wRkJSMUE3UVVGRFFTeExRVUZMTzBGQlEwdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXNzY1VkQlFYRkhMR3REUVVGclF6dEJRVU0xU1R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzTUVKQlFUQkNPMEZCUXpORE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERKQ1FVRXlRanRCUVVNelFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUkVGQk5FUTdRVUZETlVRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNLME5CUVN0RE8wRkJReTlET3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFTeHhSRUZCY1VRN1FVRkRja1E3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xEUkNRVUUwUWp0QlFVTnFSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5SRUZCWjBRN1FVRkRhRVE3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3huUkVGQlowUTdRVUZEYUVRN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3huUkVGQlowUTdRVUZEYUVRN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXNzTWtWQlFUSkZMSEZIUVVGeFJ5eHJRMEZCYTBNN1FVRkRkazQ3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUT3pzN1FVRkhWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3l4eFIwRkJjVWM3UVVGRE1VYzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYTBWQlFXdEZPenRCUVVWc1JTdzRSa0ZCT0VZN1FVRkRPVVk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4eFFrRkJjVUlzTkVKQlFUUkNPMEZCUTJwRU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2RFUVVGblJEdEJRVU5vUkRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHZEVRVUZuUkR0QlFVTm9SRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzlDUVVGdlFpeDNRa0ZCZDBJN1FVRkROVU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEhGRFFVRnhRenRCUVVOeVF6dEJRVU5CTEN0RlFVRXJSVHRCUVVNdlJUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWYzdRVUZEV0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3NFEwRkJPRU03TzBGQlJUbERPMEZCUTBFc1lVRkJZVHM3TzBGQlIySTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExIVkNRVUYxUWp0QlFVTnNReXhaUVVGWk8wRkJRMW83TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXgxUWtGQmRVSTdRVUZEYkVNc1dVRkJXVHRCUVVOYU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzZFVKQlFYVkNPMEZCUTJ4RExGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WlFVRlpPMEZCUTFvN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4WFFVRlhMRmRCUVZjN1FVRkRkRUlzV1VGQldUdEJRVU5hT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3dRMEZCTUVNN1FVRkRNVU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WlFVRlpMRmRCUVZjN1FVRkRka0k3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N096dEJRVWRRTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NkVUpCUVhWQ08wRkJRMnhETEZkQlFWY3NUMEZCVHp0QlFVTnNRanM3UVVGRlFUdEJRVU5CTzBGQlEwRXNOa05CUVRaRE8wRkJRemRETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRGhGUVVFNFJUdEJRVU01UlRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEhOQ1FVRnpRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRTdRVUZEWWpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGxFUVVGNVJEdEJRVU42UkR0QlFVTkJPMEZCUTBFc2RVTkJRWFZETzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxEQjJRa0ZCTUhaQ096dEJRVVV4ZGtJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBOQlFXOURPenRCUVVWd1F5eDFSRUZCZFVRN08wRkJSWFpFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTTdPMEZCUldwRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUk3UVVGRGJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIbERRVUY1UXpzN1FVRkZla003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UlFVRlJMR05CUVdNN1FVRkRkRUk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhORVFVRnpSRHRCUVVOMFJEczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNRU5CUVRCRE8wRkJRekZETzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cwUTBGQk5FTTdRVUZETlVNN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTeXdyUTBGQkswTTdRVUZEY0VRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzc0swTkJRU3RETzBGQlEzQkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenM3UVVGSFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRTdPenRCUVVkQkxIbEZRVUY1UlR0QlFVTjZSVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIVkNRVUYxUWp0QlFVTjJRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRU3g1UWtGQmVVSXNUMEZCVHp0QlFVTm9RenRCUVVOQk96dEJRVVZCT3p0QlFVVkJMSGxDUVVGNVFpeFBRVUZQTzBGQlEyaERPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6dEJRVU5CT3p0QlFVVkJMR0ZCUVdFc2FVSkJRV2xDTzBGQlF6bENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2NVSkJRWEZDTzBGQlEzUkRPMEZCUTBFN08wRkJSVUVzT0VKQlFUaENMRlZCUVZVN1FVRkRlRU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrc1ZVRkJWVHRCUVVOMFFqczdPMEZCUjBFN1FVRkRRU3hsUVVGbE8wRkJRMllzWlVGQlpUczdRVUZGWmpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eGxRVUZsTzBGQlF6RkNPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xIRkNRVUZ4UWp0QlFVTjBRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRU3hsUVVGbExHVkJRV1U3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01rTkJRVEpETzBGQlF6TkRPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUk3UVVGRGFrSTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eEZRVUZGTzBGQlEySXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzWlVGQlpUdEJRVU14UWpzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc05FSkJRVFJDTzBGQlF6VkNPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJMR05CUVdNc1VVRkJVVHRCUVVOMFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZJUVVGMVNEdEJRVU4yU0N4NVNFRkJlVWc3UVVGRGVrZzdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzT0VKQlFUaENPMEZCUXpsQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1VVRkJVVHRCUVVOdVFpeFpRVUZaTEU5QlFVODdRVUZEYmtJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVFzYlVOQlFXMURPenRCUVVWdVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3pzN1FVRkhRU3dyUlVGQkswVTdRVUZETDBVN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNkVVJCUVhWRU96dEJRVVYyUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4RlFVRkZPenRCUVVWR08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFpRVUZaTzBGQlExbzdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzV1VGQldUdEJRVU5hT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrN1FVRkRXanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZsQlFWazdRVUZEV2pzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrN1FVRkRXanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVN4WlFVRlpMRkZCUVZFN1FVRkRjRUk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzWVVGQllUdEJRVU40UWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzV1VGQldTeFJRVUZSTzBGQlEzQkNPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVOQlFXMURPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhYUVVGWExFOUJRVTg3UVVGRGJFSXNXVUZCV1N4UlFVRlJPMEZCUTNCQ096czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmxCUVZrc1VVRkJVVHRCUVVOd1FqczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4M1FrRkJkMEk3TzBGQlJYaENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNNRWRCUVRCSE8wRkJRekZITzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3UVVGRFJqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxIZENRVUYzUWpzN1FVRkZlRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3eVJFRkJNa1E3UVVGRE0wUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTQ3hwUWtGQmFVSXNhMEpCUVd0Q08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhYUVVGWE8wRkJRM1JDTEZsQlFWazdRVUZEV2pzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1dVRkJXVHRCUVVOYU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZsQlFWazdRVUZEV2pzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3huUmtGQlowWTdRVUZEYUVZN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhaUVVGWkxFOUJRVTg3UVVGRGJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHZRMEZCYjBNN08wRkJSWEJETzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1dVRkJXU3hQUVVGUE8wRkJRMjVDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFc2FVUkJRV2xFTzBGQlEycEVPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMUJCUVhOUU8wRkJRM1JRT3p0QlFVVkJMSGRDUVVGM1FqdEJRVU40UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJN1FVRkROMEk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWNzWlVGQlpUdEJRVU5zUWp0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3T3p0QlFVZE1PenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHhRMEZCY1VNN1FVRkRja003TzBGQlJVRXNOa05CUVRaRE96dEJRVVUzUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJMSGxJUVVGNVNEczdRVUZGZWtnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96czdRVUZIUkN3d1JFRkJNRVE3TzBGQlJURkVMRzlFUVVGdlJEdEJRVU53UkR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRVFVRnRSRHRCUVVOdVJEczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNjVUpCUVhGQ0xHMUNRVUZ0UWp0QlFVTjRRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3MFEwRkJORU03UVVGRE5VTTdRVUZEUVRzN1FVRkZRU3d3U0VGQk1FZzdRVUZETVVnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3g1UlVGQmVVVTdRVUZEZWtVN08wRkJSVUU3UVVGRFFTdzRRMEZCT0VNN08wRkJSVGxETzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVVkJRVzFGTzBGQlEyNUZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3dRa0ZCTUVJN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxITkNRVUZ6UWpzN1FVRkZkRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h2UTBGQmIwTTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d5UWtGQk1rSTdPMEZCUlROQ08wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdOQlFXTXNhMEpCUVd0Q08wRkJRMmhET3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6czdPMEZCUjFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWp0QlFVTnVRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaVUZCWlR0QlFVTm1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4alFVRmpPMEZCUTJRN08wRkJSVUVzWVVGQllUdEJRVU5pT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBOQlFYTkRPenRCUVVWMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEaEVRVUU0UkR0QlFVTTVSQ3h4UkVGQmNVUTdRVUZEY2tRc01rUkJRVEpFTzBGQlF6TkVMREpEUVVFeVF6dEJRVU16UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UkVGQmNVUTdPMEZCUlhKRU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeExRVUZMTzBGQlEwdzdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNPRU5CUVRoRE96dEJRVVU1UXpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2VVSkJRWGxDT3p0QlFVVjZRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3T3p0QlFVZE1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN096dEJRVWRNTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2REUVVGblF6czdRVUZGYUVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d3UTBGQk1FTTdRVUZETVVNc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FSkJRVEJDT3p0QlFVVXhRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzTWtKQlFUSkNPenRCUVVVelFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UTBGQmNVTTdRVUZEY2tNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDFSVUZCZFVVN08wRkJSWFpGTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03T3p0QlFVZFVPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQT3pzN1FVRkhVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVVJCUVcxRUxIbEVRVUY1UkR0QlFVTTFSeXcyUWtGQk5rSTdPMEZCUlRkQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHpzN08wRkJSMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMEpCUVhOQ08wRkJRM1JDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElMSGxEUVVGNVF6czdRVUZGZWtNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNVMEZCVXpzN08wRkJSMVE3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6czdPMEZCUjFRc2VVSkJRWGxDTzBGQlEzcENPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTQ3hyUTBGQmEwTTdPMEZCUld4RE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1owTkJRV2RET3p0QlFVVm9RenM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRU3dyUWtGQkswSTdPMEZCUlM5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN1FVRkRRU3hYUVVGWE96czdRVUZIV0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJMRzlHUVVGdlJqczdRVUZGY0VZN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHRkJRV0U3UVVGRFlqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVEwRkJkVU03UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUTBGQmRVTTdRVUZEZGtNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc2IwSkJRVzlDTzBGQlEzWkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cwUWtGQk5FSTdRVUZETlVJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEpRVUZKTzBGQlEwbzdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0N4clIwRkJhMGM3UVVGRGJFY3NLME5CUVN0RE8wRkJReTlET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxITkRRVUZ6UXpzN1FVRkZkRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJTVUZCTmtrN08wRkJSVGRKTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUXNhMFZCUVd0RkxEUkRRVUUwUXp0QlFVTTVSenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJMQ3RDUVVFclFqdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN08wRkJSMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFTeHhSRUZCY1VRN1FVRkRja1E3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2EwbEJRV3RKTzBGQlEyeEpPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N096dEJRVWRCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR3RKUVVGclNUdEJRVU5zU1R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dlEwRkJiME03TzBGQlJYQkRPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERoS1FVRTRTaXg1UTBGQmVVTTdRVUZEZGswN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHRkJRV0U3UVVGRFlqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMSGRDUVVGM1FqdEJRVU0zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzVlVGQlZTeHJSRUZCYTBRN1FVRkROVVE3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNXVUZCV1N3MlFrRkJOa0k3UVVGRGVrTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMT3pzN1FVRkhUQ3gxUlVGQmRVVTdPMEZCUlhaRkxGVkJRVlVzTmtKQlFUWkNPMEZCUTNaRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4N096dEJRVWRRTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQkxHTkJRV01zWVVGQllUdEJRVU16UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNWVUZCVlN4cFEwRkJhVU03UVVGRE0wTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3haUVVGWk8wRkJRM2hDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3c2RVVkJRWFZGT3p0QlFVVjJSU3hWUVVGVkxGbEJRVms3UVVGRGRFSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZOQlFWTTdPenRCUVVkVU8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJRMEZCTmtNc1RVRkJUVHRCUVVOdVJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVERzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3T3p0QlFVZE1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNlVVJCUVhsRU8wRkJRM3BFT3p0QlFVVkJMRGhEUVVFNFF6dEJRVU01UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERaRVFVRTJSRHM3UVVGRk4wUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05rUkJRVFpFT3p0QlFVVTNSRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3dyUWtGQkswSTdRVUZETDBJN1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxRFFVRnRRenRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzZFVOQlFYVkRPMEZCUTNaRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc01rTkJRVEpET3p0QlFVVXpRenRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHdERRVUZyUXp0QlFVTnNRenM3UVVGRlFTeHhRMEZCY1VNN1FVRkRja003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc09FSkJRVGhDTzBGQlF6bENMRzFFUVVGdFJEdEJRVU51UkR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZVVKQlFYbENPenRCUVVWNlFpeG5RMEZCWjBNN1FVRkRhRU03UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpdzRRa0ZCT0VJN1FVRkRja1E3UVVGRFFUdEJRVU5CTEN0RFFVRXJRenRCUVVNdlF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzTkVOQlFUUkRPMEZCUXpkRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRMEZCYVVNN08wRkJSV3BETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIbERRVUY1UXp0QlFVTjZRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUVzTmtOQlFUWkRPenRCUVVVM1F6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE96czdRVUZIVUR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeEhRVUZITzBGQlEwZzdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNORUpCUVRSQ096dEJRVVUxUWl4dlEwRkJiME03TzBGQlJYQkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJMRk5CUVZNN096dEJRVWRVTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVN4clJrRkJhMFk3TzBGQlJXeEdPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYzBOQlFYTkRPMEZCUTNSRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3l3eVEwRkJNa003UVVGRGFFUTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4clEwRkJhME03UVVGRGJFTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFc2VVdEJRWGxMTERCRFFVRXdRenRCUVVOdVRqdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNPRU5CUVRoRE8wRkJRemxETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4eFJVRkJjVVU3UVVGRGNrVTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTEdkQ1FVRm5RanRCUVVONlFpeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VOQlFYRkRPMEZCUTNKRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxEUklRVUUwU0RzN1FVRkZOVWdzYjBOQlFXOURPMEZCUTNCRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2QwSkJRWGRDTzBGQlEzaENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RVFVRnZSRHRCUVVOd1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVZEJRWGxITzBGQlEzcEhPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3dyUWtGQkswSTdPMEZCUlM5Q08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFEUVVGdFF6czdRVUZGYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEVzSzBOQlFTdERPenRCUVVVdlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHpzN1FVRkZVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHpRMEZCYzBNN08wRkJSWFJETzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3d3UTBGQk1FTTdPMEZCUlRGRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEVzWjBSQlFXZEVPenRCUVVWb1JEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxDdERRVUVyUXp0QlFVTXZRenM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2JVTkJRVzFET3p0QlFVVnVRenRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RFFVRnZRenM3UVVGRmNFTTdRVUZEUVRzN1FVRkZRU3d3UTBGQk1FTTdRVUZETVVNN08wRkJSVUU3UVVGRFFTeHhSRUZCY1VRN08wRkJSWEpFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBOQlFXOURPenRCUVVWd1F6dEJRVU5CTEVkQlFVYzdPenRCUVVkSUxITkRRVUZ6UXp0QlFVTjBRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RFFVRnZRenM3UVVGRmNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhUQ3gzUTBGQmQwTTdPMEZCUlhoRE8wRkJRMEVzYzBOQlFYTkRPMEZCUTNSRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3NFEwRkJPRU03TzBGQlJUbERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVVJCUVhWRU8wRkJRM1pFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFSRUZCZFVRN1FVRkRka1FzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMREpFUVVFeVJEdEJRVU16UkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VFFVRlRPMEZCUTFRN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUkVGQk5FUTdRVUZETlVRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVsQlFXbEpPMEZCUTJwSk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hUUVVGVE96czdRVUZIVkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzBSRUZCTkVRN1FVRkROVVE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVU5CUVcxRE96dEJRVVZ1UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeDVUa0ZCZVU0c1IwRkJSenM3UVVGRk5VNDdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNjVUpCUVhGQ08wRkJRelZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEd0Q1FVRnJRaXhaUVVGWk8wRkJRemxDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjN1FVRkRXRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREpEUVVFeVF6czdRVUZGTTBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3T3p0QlFVZFlPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEVzYjBOQlFXOURPMEZCUTNCRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHRCUVVOQkxIVkRRVUYxUXpzN1FVRkZka003UVVGRFFUdEJRVU5CTzBGQlEwRXNhMFJCUVd0RU96dEJRVVZzUkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNOa05CUVRaRE96dEJRVVUzUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c0swSkJRU3RDTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR0ZCUVdFN096dEJRVWRpTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGxRVUZsTzBGQlEyWXNiVWhCUVcxSU8wRkJRMjVJT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNhVUpCUVdsQ08wRkJRMnBDTzBGQlEwRTdRVUZEUVR0QlFVTkJMR0ZCUVdFN1FVRkRZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4bFFVRmxPMEZCUTJZN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRVHM3TzBGQlIwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNORVJCUVRSRU96dEJRVVUxUkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUExHOURRVUZ2UXp0QlFVTXpRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UkVGQmJVUTdRVUZEYmtRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTERoRFFVRTRRenRCUVVNNVF6dEJRVU5CT3p0QlFVVkJMSEZJUVVGeFNEczdRVUZGY2tnc0swTkJRU3RETzBGQlF5OURPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hUUVVGVE8wRkJRMVE3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEZOQlFWTTdRVUZEVkRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWenRCUVVOWU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGhRVUZoT3pzN1FVRkhZanRCUVVOQk96dEJRVVZCTEc5RVFVRnZSRHRCUVVOd1JEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTEhORlFVRnpSVHM3UVVGRmRFVTdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc09FTkJRVGhETzBGQlF6bERPenRCUVVWQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hoUVVGaE96dEJRVVZpT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTd3JSRUZCSzBRN08wRkJSUzlFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWlVGQlpUdEJRVU5tTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hoUVVGaE8wRkJRMkk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVUkJRWGxFTzBGQlEzcEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTzBGQlEyNUNPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h4UlVGQmNVVTdPMEZCUlhKRkxIbEZRVUY1UlR0QlFVTjZSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTzBGQlEwRXNWMEZCVnpzN1FVRkZXQ3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3gxUTBGQmRVTTdRVUZEZGtNN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYjBSQlFXOUVPenRCUVVWd1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlHUVVGdlJqczdRVUZGY0VZN1FVRkRRVHRCUVVOQkxHbENRVUZwUWpzN08wRkJSMnBDTzBGQlEwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4eFJFRkJjVVE3UVVGRGNrUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTzBGQlExZzdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHRkJRV0U3UVVGRFlqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cwUlVGQk5FVTdRVUZETlVVN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWYzdPenRCUVVkWU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3NFFrRkJPRUk3UVVGRE9VSTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN08wRkJSVUVzSzBSQlFTdEVPenRCUVVVdlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3dyUlVGQkswVTdPMEZCUlM5Rk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzTWtOQlFUSkRPMEZCUXpORE96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cwUTBGQk5FTTdRVUZETlVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3pzN1FVRkhRU3c0UWtGQk9FSTdRVUZET1VJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xESkRRVUV5UXpzN1FVRkZlRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVN3MFIwRkJORWM3UVVGRE5VYzdRVUZEUVR0QlFVTkJPenRCUVVWQkxITkRRVUZ6UXp0QlFVTjBRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3T3p0QlFVZEdPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYTBSQlFXdEVPMEZCUTJ4RU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySXNlVTVCUVhsT0xIRkRRVUZ4UXl4M1JrRkJkMFlzTWtKQlFUSkNMSEZDUVVGeFFpeFJRVUZSTEZsQlFWazdRVUZETVZvc1lVRkJZVHRCUVVOaU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3dyUkVGQkswUTdRVUZETDBRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRXNaMFZCUVdkRk8wRkJRMmhGTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjN1FVRkRXRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1PMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsQ1FVRnBRanRCUVVOcVFpeGxRVUZsTzBGQlEyWTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREpFUVVFeVJEdEJRVU16UkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEc5RFFVRnZRenRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN096dEJRVWRCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenM3UVVGSFFTeHhSRUZCY1VRN08wRkJSWEpFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzTmtKQlFUWkNPenRCUVVVM1FqdEJRVU5CT3p0QlFVVkJMRFJEUVVFMFF6dEJRVU0xUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4SFFVRkhMQ3RDUVVFclFqdEJRVU5zUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzUjBGQlJ5d3JRa0ZCSzBJN1FVRkRiRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRanRCUVVOeVFqczdRVUZGUVN4dFEwRkJiVU03TzBGQlJXNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEc5RlFVRnZSVHRCUVVOd1JUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEVzVDBGQlR6czdRVUZGVUN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNRMEZCZDBNN08wRkJSWGhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTUxEWkVRVUUyUkRzN1FVRkZOMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVPMEZCUTNCRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVEwRkJkVU03TzBGQlJYWkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsRVFVRnBSRHRCUVVOcVJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTEd0RVFVRnJSRHM3UVVGRmJFUXNOa0pCUVRaQ08wRkJRemRDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzT0VOQlFUaERPenRCUVVVNVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6czdRVUZGVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxITkRRVUZ6UXpzN1FVRkZkRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRklRVUZ4U0RzN1FVRkZja2c3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJMR3RFUVVGclJEdEJRVU5zUkR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRTdRVUZEWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWYzdRVUZEV0RzN08wRkJSMEVzTkVOQlFUUkRPenRCUVVVMVF6dEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96czdRVUZIUVR0QlFVTkJMRXRCUVVzc2EwTkJRV3RETzBGQlEzWkRPenM3UVVGSFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMQ3RFUVVFclJEczdRVUZGTDBRN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsRFFVRnBRenM3UVVGRmFrTXNPRUpCUVRoQ096dEJRVVU1UWl3d1FrRkJNRUk3TzBGQlJURkNMRzlEUVVGdlF6czdRVUZGY0VNc2EwUkJRV3RFT3p0QlFVVnNSQ3gzUTBGQmQwTTdRVUZEZUVNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFJFRkJiVVE3UVVGRGJrUTdPMEZCUlVFc2VVUkJRWGxFTzBGQlEzcEVPMEZCUTBFN08wRkJSVUVzTmtOQlFUWkRPMEZCUXpkRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNa05CUVRKRE96dEJRVVV6UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZVVKQlFYbENPMEZCUTNwQ08wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFEwRkJiVU03UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZVVKQlFYbENPMEZCUTNwQ096dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNSRUZCZDBRN1FVRkRlRVE3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZVVOQlFYbERPMEZCUTNwRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVOQlFVTTdRVUZEUkN4UlFVRlJPMEZCUTFJN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRXNiVVpCUVcxR08wRkJRMjVHT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJRMEZCTmtNN08wRkJSVGRETzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3d3UWtGQk1FSTdRVUZETVVJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFOUJRVTg3TzBGQlJWQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRSa0ZCYlVZN1FVRkRia1k3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTWtaQlFUSkdPenRCUVVVelJqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenM3TzBGQlIxUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjN1FVRkRXRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNOa1JCUVRaRU8wRkJRemRFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6czdPMEZCUjFnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPenM3UVVGSFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2QwSkJRWGRDTzBGQlEzaENPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRU3huUTBGQlowTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTExFVkJRVVU3TzBGQlJWQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNDdzBRMEZCTkVNN1FVRkROVU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVOQlFXMURPenRCUVVWdVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMREJFUVVFd1JEdEJRVU14UkR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UkVGQmJVUTdRVUZEYmtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3clJFRkJLMFE3TzBGQlJTOUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05FTkJRVFJET3p0QlFVVTFRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQkxEWkZRVUUyUlRzN1FVRkZOMFU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRU3hwUkVGQmFVUTdRVUZEYWtRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzTmtOQlFUWkRPenM3UVVGSE4wTTdRVUZEUVR0QlFVTkJMSGRGUVVGM1JUczdRVUZGZUVVN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN096dEJRVWRNTzBGQlEwRXNSMEZCUnl4cFEwRkJhVU03T3p0QlFVZHdRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4elEwRkJjME03TzBGQlJYUkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTUVSQlFUQkVPMEZCUXpGRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSeXcwUTBGQk5FTTdRVUZETDBNN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTzBGQlEzSkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaVHRCUVVObU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hyUkVGQmEwUTdPMEZCUld4RUxIVkRRVUYxUXp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1PenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3UVVGRlREdEJRVU5CTEhsRFFVRjVRenRCUVVONlF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFc1owTkJRV2RETzBGQlEyaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3UVVGRlREdEJRVU5CTEhOQ1FVRnpRanRCUVVOMFFqczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3huUTBGQlowTTdRVUZEYUVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNkVUpCUVhWQ0xEUkNRVUUwUWp0QlFVTnVSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVN4MVJFRkJkVVE3UVVGRGRrUTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhORFFVRnpRenRCUVVOMFF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSE5EUVVGelF6dEJRVU4wUXpzN1FVRkZRU3cyUTBGQk5rTTdPMEZCUlRkRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRFpEUVVFMlF6czdRVUZGTjBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNLME5CUVN0RE96dEJRVVV2UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxESkNRVUV5UWp0QlFVTXpRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc09FSkJRVGhDT3p0QlFVVTVRanRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVSkJRWGxDT3p0QlFVVjZRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFJFRkJiVVE3TzBGQlJXNUVPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRkZRVUZ4UlRzN1FVRkZja1U3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUExEUkRRVUUwUXp0QlFVTnVSRHM3TzBGQlIwRTdRVUZEUVN3MlFrRkJOa0k3UVVGRE4wSTdRVUZEUVRzN1FVRkZRU3gzUTBGQmQwTTdPMEZCUlhoRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N096dEJRVWRRT3p0QlFVVkJPMEZCUTBFc05rTkJRVFpETzBGQlF6ZERPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzT0VkQlFUaEhPenRCUVVVNVJ6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHdE9RVUZyVGl4SlFVRkpMRFpDUVVFMlFpeHRRMEZCYlVNc01FWkJRVEJHTEdOQlFXTXNTVUZCU1N4blFrRkJaMElzYlVOQlFXMURPMEZCUTNKaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xOUVVGcFRTeHZSRUZCYjBRc1JVRkJSVHRCUVVOMlVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTkV4QlFUUk1MRzlFUVVGdlJDeEZRVUZGTzBGQlEyeFFPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeG5Sa0ZCWjBZN08wRkJSV2hHTERCRFFVRXdRenRCUVVNeFF6dEJRVU5CTERCQ1FVRXdRanRCUVVNeFFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERaUVFVRTJVRHRCUVVNM1VEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUUxFdEJRVXM3UVVGRFRDeDFSVUZCZFVVN08wRkJSWFpGTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFc1IwRkJSeXhGUVVGRk8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaVHRCUVVObU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTERSRFFVRTBRenM3UVVGRk5VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTEdkQ1FVRm5RaXhMUVVGSk8wRkJRM0JDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4NVJFRkJlVVE3UVVGRGVrUTdRVUZEUVN4cFJFRkJhVVE3UVVGRGFrUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIZENRVUYzUWpzN1FVRkZlRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJN08wRkJSVzVDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVOQlFYVkRPMEZCUTNaRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0N3clEwRkJLME03UVVGREwwTTdPMEZCUlVFc2QwTkJRWGRET3p0QlFVVjRRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRSRUZCYlVRN1FVRkRia1E3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFbEJRVWs3TzBGQlJVbzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTTdPMEZCUlhoRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVVJCUVhGRU8wRkJRM0pFT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTTdPMEZCUlhoRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3d5UlVGQk1rVTdPMEZCUlRORk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h6UlVGQmMwVTdRVUZEZEVVN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJSRUZCTmtRN08wRkJSVGRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4clJFRkJhMFE3UVVGRGJFUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSGxGUVVGNVJUdEJRVU42UlR0QlFVTkJPenRCUVVWQkxEUkVRVUUwUkR0QlFVTTFSRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96czdRVUZIUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMQ3RFUVVFclJDeFBRVUZQT3p0QlFVVjBSVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWxCUVVrN096dEJRVWRLTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4elEwRkJjME03UVVGRGRFTTdRVUZEUVR0QlFVTkJMRWxCUVVrN096dEJRVWRLTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRFFVRnRRenRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzU3p0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVWkJRVzFHT3p0QlFVVnVSanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPenRCUVVkTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2FVMUJRV2xOTEdOQlFXTTdRVUZETDAwN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTEV0QlFVc3NSVUZCUlR0QlFVTlFPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFc0swVkJRU3RGT3p0QlFVVXZSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERoRFFVRTRRenM3UVVGRk9VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTQ0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZqZEMxa2IyMHZZMnB6TDNKbFlXTjBMV1J2YlM1a1pYWmxiRzl3YldWdWRDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJBYkdsalpXNXpaU0JTWldGamRDQjJNVFl1TVRNdU1WeHVJQ29nY21WaFkzUXRaRzl0TG1SbGRtVnNiM0J0Wlc1MExtcHpYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NCR1lXTmxZbTl2YXl3Z1NXNWpMaUJoYm1RZ2FYUnpJR0ZtWm1sc2FXRjBaWE11WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1RVbFVJR3hwWTJWdWMyVWdabTkxYm1RZ2FXNGdkR2hsWEc0Z0tpQk1TVU5GVGxORklHWnBiR1VnYVc0Z2RHaGxJSEp2YjNRZ1pHbHlaV04wYjNKNUlHOW1JSFJvYVhNZ2MyOTFjbU5sSUhSeVpXVXVYRzRnS2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWNibHh1YVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNCY0luQnliMlIxWTNScGIyNWNJaWtnZTF4dUlDQW9ablZ1WTNScGIyNG9LU0I3WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQlNaV0ZqZENBOUlISmxjWFZwY21Vb0ozSmxZV04wSnlrN1hHNTJZWElnWDJGemMybG5iaUE5SUhKbGNYVnBjbVVvSjI5aWFtVmpkQzFoYzNOcFoyNG5LVHRjYm5aaGNpQlRZMmhsWkhWc1pYSWdQU0J5WlhGMWFYSmxLQ2R6WTJobFpIVnNaWEluS1R0Y2JuWmhjaUJqYUdWamExQnliM0JVZVhCbGN5QTlJSEpsY1hWcGNtVW9KM0J5YjNBdGRIbHdaWE12WTJobFkydFFjbTl3Vkhsd1pYTW5LVHRjYm5aaGNpQjBjbUZqYVc1bklEMGdjbVZ4ZFdseVpTZ25jMk5vWldSMWJHVnlMM1J5WVdOcGJtY25LVHRjYmx4dWRtRnlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6SUQwZ1VtVmhZM1F1WDE5VFJVTlNSVlJmU1U1VVJWSk9RVXhUWDBSUFgwNVBWRjlWVTBWZlQxSmZXVTlWWDFkSlRFeGZRa1ZmUmtsU1JVUTdJQzh2SUZCeVpYWmxiblFnYm1WM1pYSWdjbVZ1WkdWeVpYSnpJR1p5YjIwZ1VsUkZJSGRvWlc0Z2RYTmxaQ0IzYVhSb0lHOXNaR1Z5SUhKbFlXTjBJSEJoWTJ0aFoyVWdkbVZ5YzJsdmJuTXVYRzR2THlCRGRYSnlaVzUwSUc5M2JtVnlJR0Z1WkNCa2FYTndZWFJqYUdWeUlIVnpaV1FnZEc4Z2MyaGhjbVVnZEdobElITmhiV1VnY21WbUxGeHVMeThnWW5WMElGQlNJQ014TkRVME9DQnpjR3hwZENCMGFHVnRJRzkxZENCMGJ5QmlaWFIwWlhJZ2MzVndjRzl5ZENCMGFHVWdjbVZoWTNRdFpHVmlkV2N0ZEc5dmJITWdjR0ZqYTJGblpTNWNibHh1YVdZZ0tDRlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVvWVhOUGQyNVFjbTl3WlhKMGVTZ25VbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2ljcEtTQjdYRzRnSUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWElnUFNCN1hHNGdJQ0FnWTNWeWNtVnVkRG9nYm5Wc2JGeHVJQ0I5TzF4dWZWeHVYRzVwWmlBb0lWSmxZV04wVTJoaGNtVmtTVzUwWlhKdVlXeHpMbWhoYzA5M2JsQnliM0JsY25SNUtDZFNaV0ZqZEVOMWNuSmxiblJDWVhSamFFTnZibVpwWnljcEtTQjdYRzRnSUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuSUQwZ2UxeHVJQ0FnSUhOMWMzQmxibk5sT2lCdWRXeHNYRzRnSUgwN1hHNTlYRzVjYmk4dklHSjVJR05oYkd4eklIUnZJSFJvWlhObElHMWxkR2h2WkhNZ1lua2dZU0JDWVdKbGJDQndiSFZuYVc0dVhHNHZMMXh1THk4Z1NXNGdVRkpQUkNBb2IzSWdhVzRnY0dGamEyRm5aWE1nZDJsMGFHOTFkQ0JoWTJObGMzTWdkRzhnVW1WaFkzUWdhVzUwWlhKdVlXeHpLU3hjYmk4dklIUm9aWGtnWVhKbElHeGxablFnWVhNZ2RHaGxlU0JoY21VZ2FXNXpkR1ZoWkM1Y2JseHVablZ1WTNScGIyNGdkMkZ5YmlobWIzSnRZWFFwSUh0Y2JpQWdlMXh1SUNBZ0lHWnZjaUFvZG1GeUlGOXNaVzRnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvTENCaGNtZHpJRDBnYm1WM0lFRnljbUY1S0Y5c1pXNGdQaUF4SUQ4Z1gyeGxiaUF0SURFZ09pQXdLU3dnWDJ0bGVTQTlJREU3SUY5clpYa2dQQ0JmYkdWdU95QmZhMlY1S3lzcElIdGNiaUFnSUNBZ0lHRnlaM05iWDJ0bGVTQXRJREZkSUQwZ1lYSm5kVzFsYm5SelcxOXJaWGxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEJ5YVc1MFYyRnlibWx1WnlnbmQyRnliaWNzSUdadmNtMWhkQ3dnWVhKbmN5azdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR1Z5Y205eUtHWnZjbTFoZENrZ2UxeHVJQ0I3WEc0Z0lDQWdabTl5SUNoMllYSWdYMnhsYmpJZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQmhjbWR6SUQwZ2JtVjNJRUZ5Y21GNUtGOXNaVzR5SUQ0Z01TQS9JRjlzWlc0eUlDMGdNU0E2SURBcExDQmZhMlY1TWlBOUlERTdJRjlyWlhreUlEd2dYMnhsYmpJN0lGOXJaWGt5S3lzcElIdGNiaUFnSUNBZ0lHRnlaM05iWDJ0bGVUSWdMU0F4WFNBOUlHRnlaM1Z0Wlc1MGMxdGZhMlY1TWwwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hKcGJuUlhZWEp1YVc1bktDZGxjbkp2Y2ljc0lHWnZjbTFoZEN3Z1lYSm5jeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2NISnBiblJYWVhKdWFXNW5LR3hsZG1Wc0xDQm1iM0p0WVhRc0lHRnlaM01wSUh0Y2JpQWdMeThnVjJobGJpQmphR0Z1WjJsdVp5QjBhR2x6SUd4dloybGpMQ0I1YjNVZ2JXbG5hSFFnZDJGdWRDQjBieUJoYkhOdlhHNGdJQzh2SUhWd1pHRjBaU0JqYjI1emIyeGxWMmwwYUZOMFlXTnJSR1YyTG5kM2R5NXFjeUJoY3lCM1pXeHNMbHh1SUNCN1hHNGdJQ0FnZG1GeUlHaGhjMFY0YVhOMGFXNW5VM1JoWTJzZ1BTQmhjbWR6TG14bGJtZDBhQ0ErSURBZ0ppWWdkSGx3Wlc5bUlHRnlaM05iWVhKbmN5NXNaVzVuZEdnZ0xTQXhYU0E5UFQwZ0ozTjBjbWx1WnljZ0ppWWdZWEpuYzF0aGNtZHpMbXhsYm1kMGFDQXRJREZkTG1sdVpHVjRUMllvSjF4Y2JpQWdJQ0JwYmljcElEMDlQU0F3TzF4dVhHNGdJQ0FnYVdZZ0tDRm9ZWE5GZUdsemRHbHVaMU4wWVdOcktTQjdYRzRnSUNBZ0lDQjJZWElnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTQTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVTdYRzRnSUNBZ0lDQjJZWElnYzNSaFkyc2dQU0JTWldGamRFUmxZblZuUTNWeWNtVnVkRVp5WVcxbExtZGxkRk4wWVdOclFXUmtaVzVrZFcwb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0hOMFlXTnJJQ0U5UFNBbkp5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNKdFlYUWdLejBnSnlWekp6dGNiaUFnSUNBZ0lDQWdZWEpuY3lBOUlHRnlaM011WTI5dVkyRjBLRnR6ZEdGamExMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJoY21kelYybDBhRVp2Y20xaGRDQTlJR0Z5WjNNdWJXRndLR1oxYm1OMGFXOXVJQ2hwZEdWdEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z0p5Y2dLeUJwZEdWdE8xeHVJQ0FnSUgwcE95QXZMeUJEWVhKbFpuVnNPaUJTVGlCamRYSnlaVzUwYkhrZ1pHVndaVzVrY3lCdmJpQjBhR2x6SUhCeVpXWnBlRnh1WEc0Z0lDQWdZWEpuYzFkcGRHaEdiM0p0WVhRdWRXNXphR2xtZENnblYyRnlibWx1WnpvZ0p5QXJJR1p2Y20xaGRDazdJQzh2SUZkbElHbHVkR1Z1ZEdsdmJtRnNiSGtnWkc5dUozUWdkWE5sSUhOd2NtVmhaQ0FvYjNJZ0xtRndjR3g1S1NCa2FYSmxZM1JzZVNCaVpXTmhkWE5sSUdsMFhHNGdJQ0FnTHk4Z1luSmxZV3R6SUVsRk9Ub2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWVdOMEwybHpjM1ZsY3k4eE16WXhNRnh1SUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnlaV0ZqZEMxcGJuUmxjbTVoYkM5dWJ5MXdjbTlrZFdOMGFXOXVMV3h2WjJkcGJtZGNibHh1SUNBZ0lFWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTNWhjSEJzZVM1allXeHNLR052Ym5OdmJHVmJiR1YyWld4ZExDQmpiMjV6YjJ4bExDQmhjbWR6VjJsMGFFWnZjbTFoZENrN1hHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdMeThnTFMwdElGZGxiR052YldVZ2RHOGdaR1ZpZFdkbmFXNW5JRkpsWVdOMElDMHRMVnh1SUNBZ0lDQWdMeThnVkdocGN5Qmxjbkp2Y2lCM1lYTWdkR2h5YjNkdUlHRnpJR0VnWTI5dWRtVnVhV1Z1WTJVZ2MyOGdkR2hoZENCNWIzVWdZMkZ1SUhWelpTQjBhR2x6SUhOMFlXTnJYRzRnSUNBZ0lDQXZMeUIwYnlCbWFXNWtJSFJvWlNCallXeHNjMmwwWlNCMGFHRjBJR05oZFhObFpDQjBhR2x6SUhkaGNtNXBibWNnZEc4Z1ptbHlaUzVjYmlBZ0lDQWdJSFpoY2lCaGNtZEpibVJsZUNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnYldWemMyRm5aU0E5SUNkWFlYSnVhVzVuT2lBbklDc2dabTl5YldGMExuSmxjR3hoWTJVb0x5VnpMMmNzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHRnlaM05iWVhKblNXNWtaWGdySzEwN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2g0S1NCN2ZWeHVJQ0I5WEc1OVhHNWNibWxtSUNnaFVtVmhZM1FwSUh0Y2JpQWdlMXh1SUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxKbFlXTjBSRTlOSUhkaGN5QnNiMkZrWldRZ1ltVm1iM0psSUZKbFlXTjBMaUJOWVd0bElITjFjbVVnZVc5MUlHeHZZV1FnZEdobElGSmxZV04wSUhCaFkydGhaMlVnWW1WbWIzSmxJR3h2WVdScGJtY2dVbVZoWTNSRVQwMHVYQ0lnS1R0Y2JpQWdmVnh1ZlZ4dVhHNTJZWElnYVc1MmIydGxSM1ZoY21SbFpFTmhiR3hpWVdOclNXMXdiQ0E5SUdaMWJtTjBhVzl1SUNodVlXMWxMQ0JtZFc1akxDQmpiMjUwWlhoMExDQmhMQ0JpTENCakxDQmtMQ0JsTENCbUtTQjdYRzRnSUhaaGNpQm1kVzVqUVhKbmN5QTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR0Z5WjNWdFpXNTBjeXdnTXlrN1hHNWNiaUFnZEhKNUlIdGNiaUFnSUNCbWRXNWpMbUZ3Y0d4NUtHTnZiblJsZUhRc0lHWjFibU5CY21kektUdGNiaUFnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQjBhR2x6TG05dVJYSnliM0lvWlhKeWIzSXBPMXh1SUNCOVhHNTlPMXh1WEc1N1hHNGdJQzh2SUVsdUlFUkZWaUJ0YjJSbExDQjNaU0J6ZDJGd0lHOTFkQ0JwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJzZ1ptOXlJR0VnYzNCbFkybGhiQ0IyWlhKemFXOXVYRzRnSUM4dklIUm9ZWFFnY0d4aGVYTWdiVzl5WlNCdWFXTmxiSGtnZDJsMGFDQjBhR1VnWW5KdmQzTmxjaWR6SUVSbGRsUnZiMnh6TGlCVWFHVWdhV1JsWVNCcGN5QjBieUJ3Y21WelpYSjJaVnh1SUNBdkx5QmNJbEJoZFhObElHOXVJR1Y0WTJWd2RHbHZibk5jSWlCaVpXaGhkbWx2Y2k0Z1FtVmpZWFZ6WlNCU1pXRmpkQ0IzY21Gd2N5QmhiR3dnZFhObGNpMXdjbTkyYVdSbFpGeHVJQ0F2THlCbWRXNWpkR2x2Ym5NZ2FXNGdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yTENCaGJtUWdkR2hsSUhCeWIyUjFZM1JwYjI0Z2RtVnljMmx2YmlCdlpseHVJQ0F2THlCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkyc2dkWE5sY3lCaElIUnllUzFqWVhSamFDd2dZV3hzSUhWelpYSWdaWGhqWlhCMGFXOXVjeUJoY21VZ2RISmxZWFJsWkZ4dUlDQXZMeUJzYVd0bElHTmhkV2RvZENCbGVHTmxjSFJwYjI1ekxDQmhibVFnZEdobElFUmxkbFJ2YjJ4eklIZHZiaWQwSUhCaGRYTmxJSFZ1YkdWemN5QjBhR1VnWkdWMlpXeHZjR1Z5WEc0Z0lDOHZJSFJoYTJWeklIUm9aU0JsZUhSeVlTQnpkR1Z3SUc5bUlHVnVZV0pzYVc1bklIQmhkWE5sSUc5dUlHTmhkV2RvZENCbGVHTmxjSFJwYjI1ekxpQlVhR2x6SUdselhHNGdJQzh2SUhWdWFXNTBkV2wwYVhabExDQjBhRzkxWjJnc0lHSmxZMkYxYzJVZ1pYWmxiaUIwYUc5MVoyZ2dVbVZoWTNRZ2FHRnpJR05oZFdkb2RDQjBhR1VnWlhKeWIzSXNJR1p5YjIxY2JpQWdMeThnZEdobElHUmxkbVZzYjNCbGNpZHpJSEJsY25Od1pXTjBhWFpsTENCMGFHVWdaWEp5YjNJZ2FYTWdkVzVqWVhWbmFIUXVYRzRnSUM4dlhHNGdJQzh2SUZSdklIQnlaWE5sY25abElIUm9aU0JsZUhCbFkzUmxaQ0JjSWxCaGRYTmxJRzl1SUdWNFkyVndkR2x2Ym5OY0lpQmlaV2hoZG1sdmNpd2dkMlVnWkc5dUozUWdkWE5sSUdGY2JpQWdMeThnZEhKNUxXTmhkR05vSUdsdUlFUkZWaTRnU1c1emRHVmhaQ3dnZDJVZ2MzbHVZMmh5YjI1dmRYTnNlU0JrYVhOd1lYUmphQ0JoSUdaaGEyVWdaWFpsYm5RZ2RHOGdZU0JtWVd0bFhHNGdJQzh2SUVSUFRTQnViMlJsTENCaGJtUWdZMkZzYkNCMGFHVWdkWE5sY2kxd2NtOTJhV1JsWkNCallXeHNZbUZqYXlCbWNtOXRJR2x1YzJsa1pTQmhiaUJsZG1WdWRDQm9ZVzVrYkdWeVhHNGdJQzh2SUdadmNpQjBhR0YwSUdaaGEyVWdaWFpsYm5RdUlFbG1JSFJvWlNCallXeHNZbUZqYXlCMGFISnZkM01zSUhSb1pTQmxjbkp2Y2lCcGN5QmNJbU5oY0hSMWNtVmtYQ0lnZFhOcGJtZGNiaUFnTHk4Z1lTQm5iRzlpWVd3Z1pYWmxiblFnYUdGdVpHeGxjaTRnUW5WMElHSmxZMkYxYzJVZ2RHaGxJR1Z5Y205eUlHaGhjSEJsYm5NZ2FXNGdZU0JrYVdabVpYSmxiblJjYmlBZ0x5OGdaWFpsYm5RZ2JHOXZjQ0JqYjI1MFpYaDBMQ0JwZENCa2IyVnpJRzV2ZENCcGJuUmxjbkoxY0hRZ2RHaGxJRzV2Y20xaGJDQndjbTluY21GdElHWnNiM2N1WEc0Z0lDOHZJRVZtWm1WamRHbDJaV3g1TENCMGFHbHpJR2RwZG1WeklIVnpJSFJ5ZVMxallYUmphQ0JpWldoaGRtbHZjaUIzYVhSb2IzVjBJR0ZqZEhWaGJHeDVJSFZ6YVc1blhHNGdJQzh2SUhSeWVTMWpZWFJqYUM0Z1RtVmhkQ0ZjYmlBZ0x5OGdRMmhsWTJzZ2RHaGhkQ0IwYUdVZ1luSnZkM05sY2lCemRYQndiM0owY3lCMGFHVWdRVkJKY3lCM1pTQnVaV1ZrSUhSdklHbHRjR3hsYldWdWRDQnZkWElnYzNCbFkybGhiRnh1SUNBdkx5QkVSVllnZG1WeWMybHZiaUJ2WmlCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkydGNiaUFnYVdZZ0tIUjVjR1Z2WmlCM2FXNWtiM2NnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhSNWNHVnZaaUIzYVc1a2IzY3VaR2x6Y0dGMFkyaEZkbVZ1ZENBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCMGVYQmxiMllnWkc5amRXMWxiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhSNWNHVnZaaUJrYjJOMWJXVnVkQzVqY21WaGRHVkZkbVZ1ZENBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSFpoY2lCbVlXdGxUbTlrWlNBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjNKbFlXTjBKeWs3WEc1Y2JpQWdJQ0IyWVhJZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJSR1YySUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VzSUdaMWJtTXNJR052Ym5SbGVIUXNJR0VzSUdJc0lHTXNJR1FzSUdVc0lHWXBJSHRjYmlBZ0lDQWdJQzh2SUVsbUlHUnZZM1Z0Wlc1MElHUnZaWE51SjNRZ1pYaHBjM1FnZDJVZ2EyNXZkeUJtYjNJZ2MzVnlaU0IzWlNCM2FXeHNJR055WVhOb0lHbHVJSFJvYVhNZ2JXVjBhRzlrWEc0Z0lDQWdJQ0F2THlCM2FHVnVJSGRsSUdOaGJHd2daRzlqZFcxbGJuUXVZM0psWVhSbFJYWmxiblFvS1M0Z1NHOTNaWFpsY2lCMGFHbHpJR05oYmlCallYVnpaU0JqYjI1bWRYTnBibWRjYmlBZ0lDQWdJQzh2SUdWeWNtOXljem9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyYVc1amRXSmhkRzl5TDJOeVpXRjBaUzF5WldGamRDMWhjSEF2YVhOemRXVnpMek0wT0RKY2JpQWdJQ0FnSUM4dklGTnZJSGRsSUhCeVpXVnRjSFJwZG1Wc2VTQjBhSEp2ZHlCM2FYUm9JR0VnWW1WMGRHVnlJRzFsYzNOaFoyVWdhVzV6ZEdWaFpDNWNiaUFnSUNBZ0lHbG1JQ2doS0hSNWNHVnZaaUJrYjJOMWJXVnVkQ0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BLU0I3WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVWFHVWdZR1J2WTNWdFpXNTBZQ0JuYkc5aVlXd2dkMkZ6SUdSbFptbHVaV1FnZDJobGJpQlNaV0ZqZENCM1lYTWdhVzVwZEdsaGJHbDZaV1FzSUdKMWRDQnBjeUJ1YjNRZ1pHVm1hVzVsWkNCaGJubHRiM0psTGlCVWFHbHpJR05oYmlCb1lYQndaVzRnYVc0Z1lTQjBaWE4wSUdWdWRtbHliMjV0Wlc1MElHbG1JR0VnWTI5dGNHOXVaVzUwSUhOamFHVmtkV3hsY3lCaGJpQjFjR1JoZEdVZ1puSnZiU0JoYmlCaGMzbHVZMmh5YjI1dmRYTWdZMkZzYkdKaFkyc3NJR0oxZENCMGFHVWdkR1Z6ZENCb1lYTWdZV3h5WldGa2VTQm1hVzVwYzJobFpDQnlkVzV1YVc1bkxpQlVieUJ6YjJ4MlpTQjBhR2x6TENCNWIzVWdZMkZ1SUdWcGRHaGxjaUIxYm0xdmRXNTBJSFJvWlNCamIyMXdiMjVsYm5RZ1lYUWdkR2hsSUdWdVpDQnZaaUI1YjNWeUlIUmxjM1FnS0dGdVpDQmxibk4xY21VZ2RHaGhkQ0JoYm5rZ1lYTjVibU5vY205dWIzVnpJRzl3WlhKaGRHbHZibk1nWjJWMElHTmhibU5sYkdWa0lHbHVJR0JqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZEdBcExDQnZjaUI1YjNVZ1kyRnVJR05vWVc1blpTQjBhR1VnZEdWemRDQnBkSE5sYkdZZ2RHOGdZbVVnWVhONWJtTm9jbTl1YjNWekxsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJR1YyZENBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWMlpXNTBLQ2RGZG1WdWRDY3BPeUF2THlCTFpXVndjeUIwY21GamF5QnZaaUIzYUdWMGFHVnlJSFJvWlNCMWMyVnlMWEJ5YjNacFpHVmtJR05oYkd4aVlXTnJJSFJvY21WM0lHRnVJR1Z5Y205eUxpQlhaVnh1SUNBZ0lDQWdMeThnYzJWMElIUm9hWE1nZEc4Z2RISjFaU0JoZENCMGFHVWdZbVZuYVc1dWFXNW5MQ0IwYUdWdUlITmxkQ0JwZENCMGJ5Qm1ZV3h6WlNCeWFXZG9kQ0JoWm5SbGNseHVJQ0FnSUNBZ0x5OGdZMkZzYkdsdVp5QjBhR1VnWm5WdVkzUnBiMjR1SUVsbUlIUm9aU0JtZFc1amRHbHZiaUJsY25KdmNuTXNJR0JrYVdSRmNuSnZjbUFnZDJsc2JDQnVaWFpsY2lCaVpWeHVJQ0FnSUNBZ0x5OGdjMlYwSUhSdklHWmhiSE5sTGlCVWFHbHpJSE4wY21GMFpXZDVJSGR2Y210eklHVjJaVzRnYVdZZ2RHaGxJR0p5YjNkelpYSWdhWE1nWm14aGEza2dZVzVrWEc0Z0lDQWdJQ0F2THlCbVlXbHNjeUIwYnlCallXeHNJRzkxY2lCbmJHOWlZV3dnWlhKeWIzSWdhR0Z1Wkd4bGNpd2dZbVZqWVhWelpTQnBkQ0JrYjJWemJpZDBJSEpsYkhrZ2IyNWNiaUFnSUNBZ0lDOHZJSFJvWlNCbGNuSnZjaUJsZG1WdWRDQmhkQ0JoYkd3dVhHNWNiaUFnSUNBZ0lIWmhjaUJrYVdSRmNuSnZjaUE5SUhSeWRXVTdJQzh2SUV0bFpYQnpJSFJ5WVdOcklHOW1JSFJvWlNCMllXeDFaU0J2WmlCM2FXNWtiM2N1WlhabGJuUWdjMjhnZEdoaGRDQjNaU0JqWVc0Z2NtVnpaWFFnYVhSY2JpQWdJQ0FnSUM4dklHUjFjbWx1WnlCMGFHVWdZMkZzYkdKaFkyc2dkRzhnYkdWMElIVnpaWElnWTI5a1pTQmhZMk5sYzNNZ2QybHVaRzkzTG1WMlpXNTBJR2x1SUhSb1pWeHVJQ0FnSUNBZ0x5OGdZbkp2ZDNObGNuTWdkR2hoZENCemRYQndiM0owSUdsMExseHVYRzRnSUNBZ0lDQjJZWElnZDJsdVpHOTNSWFpsYm5RZ1BTQjNhVzVrYjNjdVpYWmxiblE3SUM4dklFdGxaWEJ6SUhSeVlXTnJJRzltSUhSb1pTQmtaWE5qY21sd2RHOXlJRzltSUhkcGJtUnZkeTVsZG1WdWRDQjBieUJ5WlhOMGIzSmxJR2wwSUdGbWRHVnlJR1YyWlc1MFhHNGdJQ0FnSUNBdkx5QmthWE53WVhSamFHbHVaem9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyTDNKbFlXTjBMMmx6YzNWbGN5OHhNelk0T0Z4dVhHNGdJQ0FnSUNCMllYSWdkMmx1Wkc5M1JYWmxiblJFWlhOamNtbHdkRzl5SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWgzYVc1a2IzY3NJQ2RsZG1WdWRDY3BPeUF2THlCRGNtVmhkR1VnWVc0Z1pYWmxiblFnYUdGdVpHeGxjaUJtYjNJZ2IzVnlJR1poYTJVZ1pYWmxiblF1SUZkbElIZHBiR3dnYzNsdVkyaHliMjV2ZFhOc2VWeHVJQ0FnSUNBZ0x5OGdaR2x6Y0dGMFkyZ2diM1Z5SUdaaGEyVWdaWFpsYm5RZ2RYTnBibWNnWUdScGMzQmhkR05vUlhabGJuUmdMaUJKYm5OcFpHVWdkR2hsSUdoaGJtUnNaWElzSUhkbFhHNGdJQ0FnSUNBdkx5QmpZV3hzSUhSb1pTQjFjMlZ5TFhCeWIzWnBaR1ZrSUdOaGJHeGlZV05yTGx4dVhHNGdJQ0FnSUNCMllYSWdablZ1WTBGeVozTWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1zSURNcE8xeHVYRzRnSUNBZ0lDQm1kVzVqZEdsdmJpQmpZV3hzUTJGc2JHSmhZMnNvS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRmRsSUdsdGJXVmthV0YwWld4NUlISmxiVzkyWlNCMGFHVWdZMkZzYkdKaFkyc2dabkp2YlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk1nYzI4Z2RHaGhkRnh1SUNBZ0lDQWdJQ0F2THlCdVpYTjBaV1FnWUdsdWRtOXJaVWQxWVhKa1pXUkRZV3hzWW1GamEyQWdZMkZzYkhNZ1pHOGdibTkwSUdOc1lYTm9MaUJQZEdobGNuZHBjMlVzSUdGY2JpQWdJQ0FnSUNBZ0x5OGdibVZ6ZEdWa0lHTmhiR3dnZDI5MWJHUWdkSEpwWjJkbGNpQjBhR1VnWm1GclpTQmxkbVZ1ZENCb1lXNWtiR1Z5Y3lCdlppQmhibmtnWTJGc2JDQm9hV2RvWlhKY2JpQWdJQ0FnSUNBZ0x5OGdhVzRnZEdobElITjBZV05yTGx4dUlDQWdJQ0FnSUNCbVlXdGxUbTlrWlM1eVpXMXZkbVZGZG1WdWRFeHBjM1JsYm1WeUtHVjJkRlI1Y0dVc0lHTmhiR3hEWVd4c1ltRmpheXdnWm1Gc2MyVXBPeUF2THlCWFpTQmphR1ZqYXlCbWIzSWdkMmx1Wkc5M0xtaGhjMDkzYmxCeWIzQmxjblI1S0NkbGRtVnVkQ2NwSUhSdklIQnlaWFpsYm5RZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUhkcGJtUnZkeTVsZG1WdWRDQmhjM05wWjI1dFpXNTBJR2x1SUdKdmRHZ2dTVVVnUEQwZ01UQWdZWE1nZEdobGVTQjBhSEp2ZHlCaGJpQmxjbkp2Y2x4dUlDQWdJQ0FnSUNBdkx5QmNJazFsYldKbGNpQnViM1FnWm05MWJtUmNJaUJwYmlCemRISnBZM1FnYlc5a1pTd2dZVzVrSUdsdUlFWnBjbVZtYjNnZ2QyaHBZMmdnWkc5bGN5QnViM1JjYmlBZ0lDQWdJQ0FnTHk4Z2MzVndjRzl5ZENCM2FXNWtiM2N1WlhabGJuUXVYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCM2FXNWtiM2N1WlhabGJuUWdJVDA5SUNkMWJtUmxabWx1WldRbklDWW1JSGRwYm1SdmR5NW9ZWE5QZDI1UWNtOXdaWEowZVNnblpYWmxiblFuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSGRwYm1SdmR5NWxkbVZ1ZENBOUlIZHBibVJ2ZDBWMlpXNTBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1puVnVZeTVoY0hCc2VTaGpiMjUwWlhoMExDQm1kVzVqUVhKbmN5azdYRzRnSUNBZ0lDQWdJR1JwWkVWeWNtOXlJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlJQzh2SUVOeVpXRjBaU0JoSUdkc2IySmhiQ0JsY25KdmNpQmxkbVZ1ZENCb1lXNWtiR1Z5TGlCWFpTQjFjMlVnZEdocGN5QjBieUJqWVhCMGRYSmxJSFJvWlNCMllXeDFaVnh1SUNBZ0lDQWdMeThnZEdoaGRDQjNZWE1nZEdoeWIzZHVMaUJKZENkeklIQnZjM05wWW14bElIUm9ZWFFnZEdocGN5Qmxjbkp2Y2lCb1lXNWtiR1Z5SUhkcGJHd2dabWx5WlNCdGIzSmxYRzRnSUNBZ0lDQXZMeUIwYUdGdUlHOXVZMlU3SUdadmNpQmxlR0Z0Y0d4bExDQnBaaUJ1YjI0dFVtVmhZM1FnWTI5a1pTQmhiSE52SUdOaGJHeHpJR0JrYVhOd1lYUmphRVYyWlc1MFlGeHVJQ0FnSUNBZ0x5OGdZVzVrSUdFZ2FHRnVaR3hsY2lCbWIzSWdkR2hoZENCbGRtVnVkQ0IwYUhKdmQzTXVJRmRsSUhOb2IzVnNaQ0JpWlNCeVpYTnBiR2xsYm5RZ2RHOGdiVzl6ZENCdlpseHVJQ0FnSUNBZ0x5OGdkR2h2YzJVZ1kyRnpaWE11SUVWMlpXNGdhV1lnYjNWeUlHVnljbTl5SUdWMlpXNTBJR2hoYm1Sc1pYSWdabWx5WlhNZ2JXOXlaU0IwYUdGdUlHOXVZMlVzSUhSb1pWeHVJQ0FnSUNBZ0x5OGdiR0Z6ZENCbGNuSnZjaUJsZG1WdWRDQnBjeUJoYkhkaGVYTWdkWE5sWkM0Z1NXWWdkR2hsSUdOaGJHeGlZV05ySUdGamRIVmhiR3g1SUdSdlpYTWdaWEp5YjNJc1hHNGdJQ0FnSUNBdkx5QjNaU0JyYm05M0lIUm9ZWFFnZEdobElHeGhjM1FnWlhKeWIzSWdaWFpsYm5RZ2FYTWdkR2hsSUdOdmNuSmxZM1FnYjI1bExDQmlaV05oZFhObElHbDBKM01nYm05MFhHNGdJQ0FnSUNBdkx5QndiM056YVdKc1pTQm1iM0lnWVc1NWRHaHBibWNnWld4elpTQjBieUJvWVhabElHaGhjSEJsYm1Wa0lHbHVJR0psZEhkbFpXNGdiM1Z5SUdOaGJHeGlZV05yWEc0Z0lDQWdJQ0F2THlCbGNuSnZjbWx1WnlCaGJtUWdkR2hsSUdOdlpHVWdkR2hoZENCbWIyeHNiM2R6SUhSb1pTQmdaR2x6Y0dGMFkyaEZkbVZ1ZEdBZ1kyRnNiQ0JpWld4dmR5NGdTV1pjYmlBZ0lDQWdJQzh2SUhSb1pTQmpZV3hzWW1GamF5QmtiMlZ6YmlkMElHVnljbTl5TENCaWRYUWdkR2hsSUdWeWNtOXlJR1YyWlc1MElIZGhjeUJtYVhKbFpDd2dkMlVnYTI1dmR5QjBiMXh1SUNBZ0lDQWdMeThnYVdkdWIzSmxJR2wwSUdKbFkyRjFjMlVnWUdScFpFVnljbTl5WUNCM2FXeHNJR0psSUdaaGJITmxMQ0JoY3lCa1pYTmpjbWxpWldRZ1lXSnZkbVV1WEc1Y2JseHVJQ0FnSUNBZ2RtRnlJR1Z5Y205eU95QXZMeUJWYzJVZ2RHaHBjeUIwYnlCMGNtRmpheUIzYUdWMGFHVnlJSFJvWlNCbGNuSnZjaUJsZG1WdWRDQnBjeUJsZG1WeUlHTmhiR3hsWkM1Y2JseHVJQ0FnSUNBZ2RtRnlJR1JwWkZObGRFVnljbTl5SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IyWVhJZ2FYTkRjbTl6YzA5eWFXZHBia1Z5Y205eUlEMGdabUZzYzJVN1hHNWNiaUFnSUNBZ0lHWjFibU4wYVc5dUlHaGhibVJzWlZkcGJtUnZkMFZ5Y205eUtHVjJaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5SUQwZ1pYWmxiblF1WlhKeWIzSTdYRzRnSUNBZ0lDQWdJR1JwWkZObGRFVnljbTl5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9aWEp5YjNJZ1BUMDlJRzUxYkd3Z0ppWWdaWFpsYm5RdVkyOXNibThnUFQwOUlEQWdKaVlnWlhabGJuUXViR2x1Wlc1dklEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhWE5EY205emMwOXlhV2RwYmtWeWNtOXlJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGxkbVZ1ZEM1a1pXWmhkV3gwVUhKbGRtVnVkR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVTI5dFpTQnZkR2hsY2lCbGNuSnZjaUJvWVc1a2JHVnlJR2hoY3lCd2NtVjJaVzUwWldRZ1pHVm1ZWFZzZEM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJDY205M2MyVnljeUJ6YVd4bGJtTmxJSFJvWlNCbGNuSnZjaUJ5WlhCdmNuUWdhV1lnZEdocGN5Qm9ZWEJ3Wlc1ekxseHVJQ0FnSUNBZ0lDQWdJQzh2SUZkbEoyeHNJSEpsYldWdFltVnlJSFJvYVhNZ2RHOGdiR0YwWlhJZ1pHVmphV1JsSUhkb1pYUm9aWElnZEc4Z2JHOW5JR2wwSUc5eUlHNXZkQzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9aWEp5YjNJZ0lUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1pYSnliM0lnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2k1ZmMzVndjSEpsYzNOTWIyZG5hVzVuSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHbHVibVZ5S1NCN0x5OGdTV2R1YjNKbExseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0F2THlCRGNtVmhkR1VnWVNCbVlXdGxJR1YyWlc1MElIUjVjR1V1WEc1Y2JseHVJQ0FnSUNBZ2RtRnlJR1YyZEZSNWNHVWdQU0JjSW5KbFlXTjBMVndpSUNzZ0tHNWhiV1VnUHlCdVlXMWxJRG9nSjJsdWRtOXJaV2QxWVhKa1pXUmpZV3hzWW1GamF5Y3BPeUF2THlCQmRIUmhZMmdnYjNWeUlHVjJaVzUwSUdoaGJtUnNaWEp6WEc1Y2JpQWdJQ0FnSUhkcGJtUnZkeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ2RsY25KdmNpY3NJR2hoYm1Sc1pWZHBibVJ2ZDBWeWNtOXlLVHRjYmlBZ0lDQWdJR1poYTJWT2IyUmxMbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9aWFowVkhsd1pTd2dZMkZzYkVOaGJHeGlZV05yTENCbVlXeHpaU2s3SUM4dklGTjVibU5vY205dWIzVnpiSGtnWkdsemNHRjBZMmdnYjNWeUlHWmhhMlVnWlhabGJuUXVJRWxtSUhSb1pTQjFjMlZ5TFhCeWIzWnBaR1ZrSUdaMWJtTjBhVzl1WEc0Z0lDQWdJQ0F2THlCbGNuSnZjbk1zSUdsMElIZHBiR3dnZEhKcFoyZGxjaUJ2ZFhJZ1oyeHZZbUZzSUdWeWNtOXlJR2hoYm1Sc1pYSXVYRzVjYmlBZ0lDQWdJR1YyZEM1cGJtbDBSWFpsYm5Rb1pYWjBWSGx3WlN3Z1ptRnNjMlVzSUdaaGJITmxLVHRjYmlBZ0lDQWdJR1poYTJWT2IyUmxMbVJwYzNCaGRHTm9SWFpsYm5Rb1pYWjBLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIZHBibVJ2ZDBWMlpXNTBSR1Z6WTNKcGNIUnZjaWtnZTF4dUlDQWdJQ0FnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kMmx1Wkc5M0xDQW5aWFpsYm5RbkxDQjNhVzVrYjNkRmRtVnVkRVJsYzJOeWFYQjBiM0lwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9aR2xrUlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmthV1JUWlhSRmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRlJvWlNCallXeHNZbUZqYXlCbGNuSnZjbVZrTENCaWRYUWdkR2hsSUdWeWNtOXlJR1YyWlc1MElHNWxkbVZ5SUdacGNtVmtMbHh1SUNBZ0lDQWdJQ0FnSUdWeWNtOXlJRDBnYm1WM0lFVnljbTl5S0NkQmJpQmxjbkp2Y2lCM1lYTWdkR2h5YjNkdUlHbHVjMmxrWlNCdmJtVWdiMllnZVc5MWNpQmpiMjF3YjI1bGJuUnpMQ0JpZFhRZ1VtVmhZM1FnSnlBcklGd2laRzlsYzI0bmRDQnJibTkzSUhkb1lYUWdhWFFnZDJGekxpQlVhR2x6SUdseklHeHBhMlZzZVNCa2RXVWdkRzhnWW5KdmQzTmxjaUJjSWlBcklDZG1iR0ZyYVc1bGMzTXVJRkpsWVdOMElHUnZaWE1nYVhSeklHSmxjM1FnZEc4Z2NISmxjMlZ5ZG1VZ2RHaGxJRndpVUdGMWMyVWdiMjRnSnlBcklDZGxlR05sY0hScGIyNXpYQ0lnWW1Wb1lYWnBiM0lnYjJZZ2RHaGxJRVJsZGxSdmIyeHpMQ0IzYUdsamFDQnlaWEYxYVhKbGN5QnpiMjFsSUNjZ0t5QmNJa1JGVmkxdGIyUmxJRzl1YkhrZ2RISnBZMnR6TGlCSmRDZHpJSEJ2YzNOcFlteGxJSFJvWVhRZ2RHaGxjMlVnWkc5dUozUWdkMjl5YXlCcGJpQmNJaUFySUNkNWIzVnlJR0p5YjNkelpYSXVJRlJ5ZVNCMGNtbG5aMlZ5YVc1bklIUm9aU0JsY25KdmNpQnBiaUJ3Y205a2RXTjBhVzl1SUcxdlpHVXNJQ2NnS3lBbmIzSWdjM2RwZEdOb2FXNW5JSFJ2SUdFZ2JXOWtaWEp1SUdKeWIzZHpaWEl1SUVsbUlIbHZkU0J6ZFhOd1pXTjBJSFJvWVhRZ2RHaHBjeUJwY3lBbklDc2dKMkZqZEhWaGJHeDVJR0Z1SUdsemMzVmxJSGRwZEdnZ1VtVmhZM1FzSUhCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExpY3BPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dselEzSnZjM05QY21sbmFXNUZjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUlEMGdibVYzSUVWeWNtOXlLRndpUVNCamNtOXpjeTF2Y21sbmFXNGdaWEp5YjNJZ2QyRnpJSFJvY205M2JpNGdVbVZoWTNRZ1pHOWxjMjRuZENCb1lYWmxJR0ZqWTJWemN5QjBieUJjSWlBcklDZDBhR1VnWVdOMGRXRnNJR1Z5Y205eUlHOWlhbVZqZENCcGJpQmtaWFpsYkc5d2JXVnVkQzRnSnlBcklDZFRaV1VnYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxamNtOXpjMjl5YVdkcGJpMWxjbkp2Y2lCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpNG5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIUm9hWE11YjI1RmNuSnZjaWhsY25KdmNpazdYRzRnSUNBZ0lDQjlJQzh2SUZKbGJXOTJaU0J2ZFhJZ1pYWmxiblFnYkdsemRHVnVaWEp6WEc1Y2JseHVJQ0FnSUNBZ2QybHVaRzkzTG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb0oyVnljbTl5Snl3Z2FHRnVaR3hsVjJsdVpHOTNSWEp5YjNJcE8xeHVJQ0FnSUgwN1hHNWNiaUFnSUNCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkydEpiWEJzSUQwZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJSR1YyTzF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJ0SmJYQnNKREVnUFNCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkydEpiWEJzTzF4dVhHNTJZWElnYUdGelJYSnliM0lnUFNCbVlXeHpaVHRjYm5aaGNpQmpZWFZuYUhSRmNuSnZjaUE5SUc1MWJHdzdJQzh2SUZWelpXUWdZbmtnWlhabGJuUWdjM2x6ZEdWdElIUnZJR05oY0hSMWNtVXZjbVYwYUhKdmR5QjBhR1VnWm1seWMzUWdaWEp5YjNJdVhHNWNiblpoY2lCb1lYTlNaWFJvY205M1JYSnliM0lnUFNCbVlXeHpaVHRjYm5aaGNpQnlaWFJvY205M1JYSnliM0lnUFNCdWRXeHNPMXh1ZG1GeUlISmxjRzl5ZEdWeUlEMGdlMXh1SUNCdmJrVnljbTl5T2lCbWRXNWpkR2x2YmlBb1pYSnliM0lwSUh0Y2JpQWdJQ0JvWVhORmNuSnZjaUE5SUhSeWRXVTdYRzRnSUNBZ1kyRjFaMmgwUlhKeWIzSWdQU0JsY25KdmNqdGNiaUFnZlZ4dWZUdGNiaThxS2x4dUlDb2dRMkZzYkNCaElHWjFibU4wYVc5dUlIZG9hV3hsSUdkMVlYSmthVzVuSUdGbllXbHVjM1FnWlhKeWIzSnpJSFJvWVhRZ2FHRndjR1Z1Y3lCM2FYUm9hVzRnYVhRdVhHNGdLaUJTWlhSMWNtNXpJR0Z1SUdWeWNtOXlJR2xtSUdsMElIUm9jbTkzY3l3Z2IzUm9aWEozYVhObElHNTFiR3d1WEc0Z0tseHVJQ29nU1c0Z2NISnZaSFZqZEdsdmJpd2dkR2hwY3lCcGN5QnBiWEJzWlcxbGJuUmxaQ0IxYzJsdVp5QmhJSFJ5ZVMxallYUmphQzRnVkdobElISmxZWE52YmlCM1pTQmtiMjRuZEZ4dUlDb2dkWE5sSUdFZ2RISjVMV05oZEdOb0lHUnBjbVZqZEd4NUlHbHpJSE52SUhSb1lYUWdkMlVnWTJGdUlITjNZWEFnYjNWMElHRWdaR2xtWm1WeVpXNTBYRzRnS2lCcGJYQnNaVzFsYm5SaGRHbHZiaUJwYmlCRVJWWWdiVzlrWlM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYm1GdFpTQnZaaUIwYUdVZ1ozVmhjbVFnZEc4Z2RYTmxJR1p2Y2lCc2IyZG5hVzVuSUc5eUlHUmxZblZuWjJsdVoxeHVJQ29nUUhCaGNtRnRJSHRHZFc1amRHbHZibjBnWm5WdVl5QlVhR1VnWm5WdVkzUnBiMjRnZEc4Z2FXNTJiMnRsWEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJR052Ym5SbGVIUWdWR2hsSUdOdmJuUmxlSFFnZEc4Z2RYTmxJSGRvWlc0Z1kyRnNiR2x1WnlCMGFHVWdablZ1WTNScGIyNWNiaUFxSUVCd1lYSmhiU0I3TGk0dUtuMGdZWEpuY3lCQmNtZDFiV1Z1ZEhNZ1ptOXlJR1oxYm1OMGFXOXVYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yS0c1aGJXVXNJR1oxYm1Nc0lHTnZiblJsZUhRc0lHRXNJR0lzSUdNc0lHUXNJR1VzSUdZcElIdGNiaUFnYUdGelJYSnliM0lnUFNCbVlXeHpaVHRjYmlBZ1kyRjFaMmgwUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0JwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJ0SmJYQnNKREV1WVhCd2JIa29jbVZ3YjNKMFpYSXNJR0Z5WjNWdFpXNTBjeWs3WEc1OVhHNHZLaXBjYmlBcUlGTmhiV1VnWVhNZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJMQ0JpZFhRZ2FXNXpkR1ZoWkNCdlppQnlaWFIxY201cGJtY2dZVzRnWlhKeWIzSXNJR2wwSUhOMGIzSmxjMXh1SUNvZ2FYUWdhVzRnWVNCbmJHOWlZV3dnYzI4Z2FYUWdZMkZ1SUdKbElISmxkR2h5YjNkdUlHSjVJR0J5WlhSb2NtOTNRMkYxWjJoMFJYSnliM0pnSUd4aGRHVnlMbHh1SUNvZ1ZFOUVUem9nVTJWbElHbG1JR05oZFdkb2RFVnljbTl5SUdGdVpDQnlaWFJvY205M1JYSnliM0lnWTJGdUlHSmxJSFZ1YVdacFpXUXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlHNWhiV1VnYjJZZ2RHaGxJR2QxWVhKa0lIUnZJSFZ6WlNCbWIzSWdiRzluWjJsdVp5QnZjaUJrWldKMVoyZHBibWRjYmlBcUlFQndZWEpoYlNCN1JuVnVZM1JwYjI1OUlHWjFibU1nVkdobElHWjFibU4wYVc5dUlIUnZJR2x1ZG05clpWeHVJQ29nUUhCaGNtRnRJSHNxZlNCamIyNTBaWGgwSUZSb1pTQmpiMjUwWlhoMElIUnZJSFZ6WlNCM2FHVnVJR05oYkd4cGJtY2dkR2hsSUdaMWJtTjBhVzl1WEc0Z0tpQkFjR0Z5WVcwZ2V5NHVMaXA5SUdGeVozTWdRWEpuZFcxbGJuUnpJR1p2Y2lCbWRXNWpkR2x2Ymx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdsdWRtOXJaVWQxWVhKa1pXUkRZV3hzWW1GamEwRnVaRU5oZEdOb1JtbHljM1JGY25KdmNpaHVZVzFsTENCbWRXNWpMQ0JqYjI1MFpYaDBMQ0JoTENCaUxDQmpMQ0JrTENCbExDQm1LU0I3WEc0Z0lHbHVkbTlyWlVkMVlYSmtaV1JEWVd4c1ltRmpheTVoY0hCc2VTaDBhR2x6TENCaGNtZDFiV1Z1ZEhNcE8xeHVYRzRnSUdsbUlDaG9ZWE5GY25KdmNpa2dlMXh1SUNBZ0lIWmhjaUJsY25KdmNpQTlJR05zWldGeVEyRjFaMmgwUlhKeWIzSW9LVHRjYmx4dUlDQWdJR2xtSUNnaGFHRnpVbVYwYUhKdmQwVnljbTl5S1NCN1hHNGdJQ0FnSUNCb1lYTlNaWFJvY205M1JYSnliM0lnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwYUhKdmQwVnljbTl5SUQwZ1pYSnliM0k3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRVIxY21sdVp5QmxlR1ZqZFhScGIyNGdiMllnWjNWaGNtUmxaQ0JtZFc1amRHbHZibk1nZDJVZ2QybHNiQ0JqWVhCMGRYSmxJSFJvWlNCbWFYSnpkQ0JsY25KdmNpQjNhR2xqYUZ4dUlDb2dkMlVnZDJsc2JDQnlaWFJvY205M0lIUnZJR0psSUdoaGJtUnNaV1FnWW5rZ2RHaGxJSFJ2Y0NCc1pYWmxiQ0JsY25KdmNpQm9ZVzVrYkdWeUxseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlISmxkR2h5YjNkRFlYVm5hSFJGY25KdmNpZ3BJSHRjYmlBZ2FXWWdLR2hoYzFKbGRHaHliM2RGY25KdmNpa2dlMXh1SUNBZ0lIWmhjaUJsY25KdmNpQTlJSEpsZEdoeWIzZEZjbkp2Y2p0Y2JpQWdJQ0JvWVhOU1pYUm9jbTkzUlhKeWIzSWdQU0JtWVd4elpUdGNiaUFnSUNCeVpYUm9jbTkzUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0FnSUhSb2NtOTNJR1Z5Y205eU8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQm9ZWE5EWVhWbmFIUkZjbkp2Y2lncElIdGNiaUFnY21WMGRYSnVJR2hoYzBWeWNtOXlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kyeGxZWEpEWVhWbmFIUkZjbkp2Y2lncElIdGNiaUFnYVdZZ0tHaGhjMFZ5Y205eUtTQjdYRzRnSUNBZ2RtRnlJR1Z5Y205eUlEMGdZMkYxWjJoMFJYSnliM0k3WEc0Z0lDQWdhR0Z6UlhKeWIzSWdQU0JtWVd4elpUdGNiaUFnSUNCallYVm5hSFJGY25KdmNpQTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJR1Z5Y205eU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVkyeGxZWEpEWVhWbmFIUkZjbkp2Y2lCM1lYTWdZMkZzYkdWa0lHSjFkQ0J1YnlCbGNuSnZjaUIzWVhNZ1kyRndkSFZ5WldRdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUdkbGRFWnBZbVZ5UTNWeWNtVnVkRkJ5YjNCelJuSnZiVTV2WkdVZ1BTQnVkV3hzTzF4dWRtRnlJR2RsZEVsdWMzUmhibU5sUm5KdmJVNXZaR1VnUFNCdWRXeHNPMXh1ZG1GeUlHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWdQU0J1ZFd4c08xeHVablZ1WTNScGIyNGdjMlYwUTI5dGNHOXVaVzUwVkhKbFpTaG5aWFJHYVdKbGNrTjFjbkpsYm5SUWNtOXdjMFp5YjIxT2IyUmxTVzF3YkN3Z1oyVjBTVzV6ZEdGdVkyVkdjbTl0VG05a1pVbHRjR3dzSUdkbGRFNXZaR1ZHY205dFNXNXpkR0Z1WTJWSmJYQnNLU0I3WEc0Z0lHZGxkRVpwWW1WeVEzVnljbVZ1ZEZCeWIzQnpSbkp2YlU1dlpHVWdQU0JuWlhSR2FXSmxja04xY25KbGJuUlFjbTl3YzBaeWIyMU9iMlJsU1cxd2JEdGNiaUFnWjJWMFNXNXpkR0Z1WTJWR2NtOXRUbTlrWlNBOUlHZGxkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVkpiWEJzTzF4dUlDQm5aWFJPYjJSbFJuSnZiVWx1YzNSaGJtTmxJRDBnWjJWMFRtOWtaVVp5YjIxSmJuTjBZVzVqWlVsdGNHdzdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2haMlYwVG05a1pVWnliMjFKYm5OMFlXNWpaU0I4ZkNBaFoyVjBTVzV6ZEdGdVkyVkdjbTl0VG05a1pTa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owVjJaVzUwVUd4MVoybHVWWFJwYkhNdWMyVjBRMjl0Y0c5dVpXNTBWSEpsWlNndUxpNHBPaUJKYm1wbFkzUmxaQ0FuSUNzZ0oyMXZaSFZzWlNCcGN5QnRhWE56YVc1bklHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWdiM0lnWjJWMFNXNXpkR0Z1WTJWR2NtOXRUbTlrWlM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JuWmhjaUIyWVd4cFpHRjBaVVYyWlc1MFJHbHpjR0YwWTJobGN6dGNibHh1ZTF4dUlDQjJZV3hwWkdGMFpVVjJaVzUwUkdsemNHRjBZMmhsY3lBOUlHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUhaaGNpQmthWE53WVhSamFFeHBjM1JsYm1WeWN5QTlJR1YyWlc1MExsOWthWE53WVhSamFFeHBjM1JsYm1WeWN6dGNiaUFnSUNCMllYSWdaR2x6Y0dGMFkyaEpibk4wWVc1alpYTWdQU0JsZG1WdWRDNWZaR2x6Y0dGMFkyaEpibk4wWVc1alpYTTdYRzRnSUNBZ2RtRnlJR3hwYzNSbGJtVnljMGx6UVhKeUlEMGdRWEp5WVhrdWFYTkJjbkpoZVNoa2FYTndZWFJqYUV4cGMzUmxibVZ5Y3lrN1hHNGdJQ0FnZG1GeUlHeHBjM1JsYm1WeWMweGxiaUE5SUd4cGMzUmxibVZ5YzBselFYSnlJRDhnWkdsemNHRjBZMmhNYVhOMFpXNWxjbk11YkdWdVozUm9JRG9nWkdsemNHRjBZMmhNYVhOMFpXNWxjbk1nUHlBeElEb2dNRHRjYmlBZ0lDQjJZWElnYVc1emRHRnVZMlZ6U1hOQmNuSWdQU0JCY25KaGVTNXBjMEZ5Y21GNUtHUnBjM0JoZEdOb1NXNXpkR0Z1WTJWektUdGNiaUFnSUNCMllYSWdhVzV6ZEdGdVkyVnpUR1Z1SUQwZ2FXNXpkR0Z1WTJWelNYTkJjbklnUHlCa2FYTndZWFJqYUVsdWMzUmhibU5sY3k1c1pXNW5kR2dnT2lCa2FYTndZWFJqYUVsdWMzUmhibU5sY3lBL0lERWdPaUF3TzF4dVhHNGdJQ0FnYVdZZ0tHbHVjM1JoYm1ObGMwbHpRWEp5SUNFOVBTQnNhWE4wWlc1bGNuTkpjMEZ5Y2lCOGZDQnBibk4wWVc1alpYTk1aVzRnSVQwOUlHeHBjM1JsYm1WeWMweGxiaWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMFYyWlc1MFVHeDFaMmx1VlhScGJITTZJRWx1ZG1Gc2FXUWdZR1YyWlc1MFlDNG5LVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNTlYRzR2S2lwY2JpQXFJRVJwYzNCaGRHTm9JSFJvWlNCbGRtVnVkQ0IwYnlCMGFHVWdiR2x6ZEdWdVpYSXVYRzRnS2lCQWNHRnlZVzBnZTFONWJuUm9aWFJwWTBWMlpXNTBmU0JsZG1WdWRDQlRlVzUwYUdWMGFXTkZkbVZ1ZENCMGJ5Qm9ZVzVrYkdWY2JpQXFJRUJ3WVhKaGJTQjdablZ1WTNScGIyNTlJR3hwYzNSbGJtVnlJRUZ3Y0d4cFkyRjBhVzl1TFd4bGRtVnNJR05oYkd4aVlXTnJYRzRnS2lCQWNHRnlZVzBnZXlwOUlHbHVjM1FnU1c1MFpYSnVZV3dnWTI5dGNHOXVaVzUwSUdsdWMzUmhibU5sWEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCbGVHVmpkWFJsUkdsemNHRjBZMmdvWlhabGJuUXNJR3hwYzNSbGJtVnlMQ0JwYm5OMEtTQjdYRzRnSUhaaGNpQjBlWEJsSUQwZ1pYWmxiblF1ZEhsd1pTQjhmQ0FuZFc1cmJtOTNiaTFsZG1WdWRDYzdYRzRnSUdWMlpXNTBMbU4xY25KbGJuUlVZWEpuWlhRZ1BTQm5aWFJPYjJSbFJuSnZiVWx1YzNSaGJtTmxLR2x1YzNRcE8xeHVJQ0JwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJ0QmJtUkRZWFJqYUVacGNuTjBSWEp5YjNJb2RIbHdaU3dnYkdsemRHVnVaWElzSUhWdVpHVm1hVzVsWkN3Z1pYWmxiblFwTzF4dUlDQmxkbVZ1ZEM1amRYSnlaVzUwVkdGeVoyVjBJRDBnYm5Wc2JEdGNibjFjYmk4cUtseHVJQ29nVTNSaGJtUmhjbVF2YzJsdGNHeGxJR2wwWlhKaGRHbHZiaUIwYUhKdmRXZG9JR0Z1SUdWMlpXNTBKM01nWTI5c2JHVmpkR1ZrSUdScGMzQmhkR05vWlhNdVhHNGdLaTljYmx4dVpuVnVZM1JwYjI0Z1pYaGxZM1YwWlVScGMzQmhkR05vWlhOSmJrOXlaR1Z5S0dWMlpXNTBLU0I3WEc0Z0lIWmhjaUJrYVhOd1lYUmphRXhwYzNSbGJtVnljeUE5SUdWMlpXNTBMbDlrYVhOd1lYUmphRXhwYzNSbGJtVnljenRjYmlBZ2RtRnlJR1JwYzNCaGRHTm9TVzV6ZEdGdVkyVnpJRDBnWlhabGJuUXVYMlJwYzNCaGRHTm9TVzV6ZEdGdVkyVnpPMXh1WEc0Z0lIdGNiaUFnSUNCMllXeHBaR0YwWlVWMlpXNTBSR2x6Y0dGMFkyaGxjeWhsZG1WdWRDazdYRzRnSUgxY2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hrYVhOd1lYUmphRXhwYzNSbGJtVnljeWtwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdScGMzQmhkR05vVEdsemRHVnVaWEp6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnBaaUFvWlhabGJuUXVhWE5RY205d1lXZGhkR2x2YmxOMGIzQndaV1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgwZ0x5OGdUR2x6ZEdWdVpYSnpJR0Z1WkNCSmJuTjBZVzVqWlhNZ1lYSmxJSFIzYnlCd1lYSmhiR3hsYkNCaGNuSmhlWE1nZEdoaGRDQmhjbVVnWVd4M1lYbHpJR2x1SUhONWJtTXVYRzVjYmx4dUlDQWdJQ0FnWlhobFkzVjBaVVJwYzNCaGRHTm9LR1YyWlc1MExDQmthWE53WVhSamFFeHBjM1JsYm1WeWMxdHBYU3dnWkdsemNHRjBZMmhKYm5OMFlXNWpaWE5iYVYwcE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElHbG1JQ2hrYVhOd1lYUmphRXhwYzNSbGJtVnljeWtnZTF4dUlDQWdJR1Y0WldOMWRHVkVhWE53WVhSamFDaGxkbVZ1ZEN3Z1pHbHpjR0YwWTJoTWFYTjBaVzVsY25Nc0lHUnBjM0JoZEdOb1NXNXpkR0Z1WTJWektUdGNiaUFnZlZ4dVhHNGdJR1YyWlc1MExsOWthWE53WVhSamFFeHBjM1JsYm1WeWN5QTlJRzUxYkd3N1hHNGdJR1YyWlc1MExsOWthWE53WVhSamFFbHVjM1JoYm1ObGN5QTlJRzUxYkd3N1hHNTlYRzVjYm5aaGNpQkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWRDQTlJREE3WEc1MllYSWdRMnhoYzNORGIyMXdiMjVsYm5RZ1BTQXhPMXh1ZG1GeUlFbHVaR1YwWlhKdGFXNWhkR1ZEYjIxd2IyNWxiblFnUFNBeU95QXZMeUJDWldadmNtVWdkMlVnYTI1dmR5QjNhR1YwYUdWeUlHbDBJR2x6SUdaMWJtTjBhVzl1SUc5eUlHTnNZWE56WEc1Y2JuWmhjaUJJYjNOMFVtOXZkQ0E5SURNN0lDOHZJRkp2YjNRZ2IyWWdZU0JvYjNOMElIUnlaV1V1SUVOdmRXeGtJR0psSUc1bGMzUmxaQ0JwYm5OcFpHVWdZVzV2ZEdobGNpQnViMlJsTGx4dVhHNTJZWElnU0c5emRGQnZjblJoYkNBOUlEUTdJQzh2SUVFZ2MzVmlkSEpsWlM0Z1EyOTFiR1FnWW1VZ1lXNGdaVzUwY25rZ2NHOXBiblFnZEc4Z1lTQmthV1ptWlhKbGJuUWdjbVZ1WkdWeVpYSXVYRzVjYm5aaGNpQkliM04wUTI5dGNHOXVaVzUwSUQwZ05UdGNiblpoY2lCSWIzTjBWR1Y0ZENBOUlEWTdYRzUyWVhJZ1JuSmhaMjFsYm5RZ1BTQTNPMXh1ZG1GeUlFMXZaR1VnUFNBNE8xeHVkbUZ5SUVOdmJuUmxlSFJEYjI1emRXMWxjaUE5SURrN1hHNTJZWElnUTI5dWRHVjRkRkJ5YjNacFpHVnlJRDBnTVRBN1hHNTJZWElnUm05eWQyRnlaRkpsWmlBOUlERXhPMXh1ZG1GeUlGQnliMlpwYkdWeUlEMGdNVEk3WEc1MllYSWdVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUWdQU0F4TXp0Y2JuWmhjaUJOWlcxdlEyOXRjRzl1Wlc1MElEMGdNVFE3WEc1MllYSWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkQ0E5SURFMU8xeHVkbUZ5SUV4aGVubERiMjF3YjI1bGJuUWdQU0F4Tmp0Y2JuWmhjaUJKYm1OdmJYQnNaWFJsUTJ4aGMzTkRiMjF3YjI1bGJuUWdQU0F4Tnp0Y2JuWmhjaUJFWldoNVpISmhkR1ZrUm5KaFoyMWxiblFnUFNBeE9EdGNiblpoY2lCVGRYTndaVzV6WlV4cGMzUkRiMjF3YjI1bGJuUWdQU0F4T1R0Y2JuWmhjaUJHZFc1a1lXMWxiblJoYkVOdmJYQnZibVZ1ZENBOUlESXdPMXh1ZG1GeUlGTmpiM0JsUTI5dGNHOXVaVzUwSUQwZ01qRTdYRzUyWVhJZ1FteHZZMnNnUFNBeU1qdGNibHh1THlvcVhHNGdLaUJKYm1wbFkzUmhZbXhsSUc5eVpHVnlhVzVuSUc5bUlHVjJaVzUwSUhCc2RXZHBibk11WEc0Z0tpOWNiblpoY2lCbGRtVnVkRkJzZFdkcGJrOXlaR1Z5SUQwZ2JuVnNiRHRjYmk4cUtseHVJQ29nU1c1cVpXTjBZV0pzWlNCdFlYQndhVzVuSUdaeWIyMGdibUZ0WlhNZ2RHOGdaWFpsYm5RZ2NHeDFaMmx1SUcxdlpIVnNaWE11WEc0Z0tpOWNibHh1ZG1GeUlHNWhiV1Z6Vkc5UWJIVm5hVzV6SUQwZ2UzMDdYRzR2S2lwY2JpQXFJRkpsWTI5dGNIVjBaWE1nZEdobElIQnNkV2RwYmlCc2FYTjBJSFZ6YVc1bklIUm9aU0JwYm1wbFkzUmxaQ0J3YkhWbmFXNXpJR0Z1WkNCd2JIVm5hVzRnYjNKa1pYSnBibWN1WEc0Z0tseHVJQ29nUUhCeWFYWmhkR1ZjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJ5WldOdmJYQjFkR1ZRYkhWbmFXNVBjbVJsY21sdVp5Z3BJSHRjYmlBZ2FXWWdLQ0ZsZG1WdWRGQnNkV2RwYms5eVpHVnlLU0I3WEc0Z0lDQWdMeThnVjJGcGRDQjFiblJwYkNCaGJpQmdaWFpsYm5SUWJIVm5hVzVQY21SbGNtQWdhWE1nYVc1cVpXTjBaV1F1WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdabTl5SUNoMllYSWdjR3gxWjJsdVRtRnRaU0JwYmlCdVlXMWxjMVJ2VUd4MVoybHVjeWtnZTF4dUlDQWdJSFpoY2lCd2JIVm5hVzVOYjJSMWJHVWdQU0J1WVcxbGMxUnZVR3gxWjJsdWMxdHdiSFZuYVc1T1lXMWxYVHRjYmlBZ0lDQjJZWElnY0d4MVoybHVTVzVrWlhnZ1BTQmxkbVZ1ZEZCc2RXZHBiazl5WkdWeUxtbHVaR1Y0VDJZb2NHeDFaMmx1VG1GdFpTazdYRzVjYmlBZ0lDQnBaaUFvSVNod2JIVm5hVzVKYm1SbGVDQStJQzB4S1NrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNU9pQkRZVzV1YjNRZ2FXNXFaV04wSUdWMlpXNTBJSEJzZFdkcGJuTWdkR2hoZENCa2J5QnViM1FnWlhocGMzUWdhVzRnZEdobElIQnNkV2RwYmlCdmNtUmxjbWx1Wnl3Z1lGd2lJQ3NnY0d4MVoybHVUbUZ0WlNBcklGd2lZQzVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdiSFZuYVc1elczQnNkV2RwYmtsdVpHVjRYU2tnZTF4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NGd2JIVm5hVzVOYjJSMWJHVXVaWGgwY21GamRFVjJaVzUwY3lrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNU9pQkZkbVZ1ZENCd2JIVm5hVzV6SUcxMWMzUWdhVzF3YkdWdFpXNTBJR0Z1SUdCbGVIUnlZV04wUlhabGJuUnpZQ0J0WlhSb2IyUXNJR0oxZENCZ1hDSWdLeUJ3YkhWbmFXNU9ZVzFsSUNzZ1hDSmdJR1J2WlhNZ2JtOTBMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0d4MVoybHVjMXR3YkhWbmFXNUpibVJsZUYwZ1BTQndiSFZuYVc1TmIyUjFiR1U3WEc0Z0lDQWdkbUZ5SUhCMVlteHBjMmhsWkVWMlpXNTBjeUE5SUhCc2RXZHBiazF2WkhWc1pTNWxkbVZ1ZEZSNWNHVnpPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdaWFpsYm5ST1lXMWxJR2x1SUhCMVlteHBjMmhsWkVWMlpXNTBjeWtnZTF4dUlDQWdJQ0FnYVdZZ0tDRndkV0pzYVhOb1JYWmxiblJHYjNKUWJIVm5hVzRvY0hWaWJHbHphR1ZrUlhabGJuUnpXMlYyWlc1MFRtRnRaVjBzSUhCc2RXZHBiazF2WkhWc1pTd2daWFpsYm5ST1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYWmxiblJRYkhWbmFXNVNaV2RwYzNSeWVUb2dSbUZwYkdWa0lIUnZJSEIxWW14cGMyZ2daWFpsYm5RZ1lGd2lJQ3NnWlhabGJuUk9ZVzFsSUNzZ1hDSmdJR1p2Y2lCd2JIVm5hVzRnWUZ3aUlDc2djR3gxWjJsdVRtRnRaU0FySUZ3aVlDNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUZCMVlteHBjMmhsY3lCaGJpQmxkbVZ1ZENCemJ5QjBhR0YwSUdsMElHTmhiaUJpWlNCa2FYTndZWFJqYUdWa0lHSjVJSFJvWlNCemRYQndiR2xsWkNCd2JIVm5hVzR1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJR1JwYzNCaGRHTm9RMjl1Wm1sbklFUnBjM0JoZEdOb0lHTnZibVpwWjNWeVlYUnBiMjRnWm05eUlIUm9aU0JsZG1WdWRDNWNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JRYkhWbmFXNU5iMlIxYkdVZ1VHeDFaMmx1SUhCMVlteHBjMmhwYm1jZ2RHaGxJR1YyWlc1MExseHVJQ29nUUhKbGRIVnliaUI3WW05dmJHVmhibjBnVkhKMVpTQnBaaUIwYUdVZ1pYWmxiblFnZDJGeklITjFZMk5sYzNObWRXeHNlU0J3ZFdKc2FYTm9aV1F1WEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdjSFZpYkdsemFFVjJaVzUwUm05eVVHeDFaMmx1S0dScGMzQmhkR05vUTI5dVptbG5MQ0J3YkhWbmFXNU5iMlIxYkdVc0lHVjJaVzUwVG1GdFpTa2dlMXh1SUNCcFppQW9JU0ZsZG1WdWRFNWhiV1ZFYVhOd1lYUmphRU52Ym1acFozTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1pYWmxiblJPWVcxbEtTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtWMlpXNTBVR3gxWjJsdVVtVm5hWE4wY25rNklFMXZjbVVnZEdoaGJpQnZibVVnY0d4MVoybHVJR0YwZEdWdGNIUmxaQ0IwYnlCd2RXSnNhWE5vSUhSb1pTQnpZVzFsSUdWMlpXNTBJRzVoYldVc0lHQmNJaUFySUdWMlpXNTBUbUZ0WlNBcklGd2lZQzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHVjJaVzUwVG1GdFpVUnBjM0JoZEdOb1EyOXVabWxuYzF0bGRtVnVkRTVoYldWZElEMGdaR2x6Y0dGMFkyaERiMjVtYVdjN1hHNGdJSFpoY2lCd2FHRnpaV1JTWldkcGMzUnlZWFJwYjI1T1lXMWxjeUE5SUdScGMzQmhkR05vUTI5dVptbG5MbkJvWVhObFpGSmxaMmx6ZEhKaGRHbHZiazVoYldWek8xeHVYRzRnSUdsbUlDaHdhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUhCb1lYTmxUbUZ0WlNCcGJpQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLSEJvWVhObFpGSmxaMmx6ZEhKaGRHbHZiazVoYldWekxtaGhjMDkzYmxCeWIzQmxjblI1S0hCb1lYTmxUbUZ0WlNrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhCb1lYTmxaRkpsWjJsemRISmhkR2x2Yms1aGJXVWdQU0J3YUdGelpXUlNaV2RwYzNSeVlYUnBiMjVPWVcxbGMxdHdhR0Z6WlU1aGJXVmRPMXh1SUNBZ0lDQWdJQ0J3ZFdKc2FYTm9VbVZuYVhOMGNtRjBhVzl1VG1GdFpTaHdhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsTENCd2JIVm5hVzVOYjJSMWJHVXNJR1YyWlc1MFRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMGdaV3h6WlNCcFppQW9aR2x6Y0dGMFkyaERiMjVtYVdjdWNtVm5hWE4wY21GMGFXOXVUbUZ0WlNrZ2UxeHVJQ0FnSUhCMVlteHBjMmhTWldkcGMzUnlZWFJwYjI1T1lXMWxLR1JwYzNCaGRHTm9RMjl1Wm1sbkxuSmxaMmx6ZEhKaGRHbHZiazVoYldVc0lIQnNkV2RwYmsxdlpIVnNaU3dnWlhabGJuUk9ZVzFsS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JpOHFLbHh1SUNvZ1VIVmliR2x6YUdWeklHRWdjbVZuYVhOMGNtRjBhVzl1SUc1aGJXVWdkR2hoZENCcGN5QjFjMlZrSUhSdklHbGtaVzUwYVdaNUlHUnBjM0JoZEdOb1pXUWdaWFpsYm5SekxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCeVpXZHBjM1J5WVhScGIyNU9ZVzFsSUZKbFoybHpkSEpoZEdsdmJpQnVZVzFsSUhSdklHRmtaQzVjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCUWJIVm5hVzVOYjJSMWJHVWdVR3gxWjJsdUlIQjFZbXhwYzJocGJtY2dkR2hsSUdWMlpXNTBMbHh1SUNvZ1FIQnlhWFpoZEdWY2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIQjFZbXhwYzJoU1pXZHBjM1J5WVhScGIyNU9ZVzFsS0hKbFoybHpkSEpoZEdsdmJrNWhiV1VzSUhCc2RXZHBiazF2WkhWc1pTd2daWFpsYm5ST1lXMWxLU0I3WEc0Z0lHbG1JQ2doSVhKbFoybHpkSEpoZEdsdmJrNWhiV1ZOYjJSMWJHVnpXM0psWjJsemRISmhkR2x2Yms1aGJXVmRLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYWmxiblJRYkhWbmFXNVNaV2RwYzNSeWVUb2dUVzl5WlNCMGFHRnVJRzl1WlNCd2JIVm5hVzRnWVhSMFpXMXdkR1ZrSUhSdklIQjFZbXhwYzJnZ2RHaGxJSE5oYldVZ2NtVm5hWE4wY21GMGFXOXVJRzVoYldVc0lHQmNJaUFySUhKbFoybHpkSEpoZEdsdmJrNWhiV1VnS3lCY0ltQXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpXZHBjM1J5WVhScGIyNU9ZVzFsVFc5a2RXeGxjMXR5WldkcGMzUnlZWFJwYjI1T1lXMWxYU0E5SUhCc2RXZHBiazF2WkhWc1pUdGNiaUFnY21WbmFYTjBjbUYwYVc5dVRtRnRaVVJsY0dWdVpHVnVZMmxsYzF0eVpXZHBjM1J5WVhScGIyNU9ZVzFsWFNBOUlIQnNkV2RwYmsxdlpIVnNaUzVsZG1WdWRGUjVjR1Z6VzJWMlpXNTBUbUZ0WlYwdVpHVndaVzVrWlc1amFXVnpPMXh1WEc0Z0lIdGNiaUFnSUNCMllYSWdiRzkzWlhKRFlYTmxaRTVoYldVZ1BTQnlaV2RwYzNSeVlYUnBiMjVPWVcxbExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdjRzl6YzJsaWJHVlNaV2RwYzNSeVlYUnBiMjVPWVcxbGMxdHNiM2RsY2tOaGMyVmtUbUZ0WlYwZ1BTQnlaV2RwYzNSeVlYUnBiMjVPWVcxbE8xeHVYRzRnSUNBZ2FXWWdLSEpsWjJsemRISmhkR2x2Yms1aGJXVWdQVDA5SUNkdmJrUnZkV0pzWlVOc2FXTnJKeWtnZTF4dUlDQWdJQ0FnY0c5emMybGliR1ZTWldkcGMzUnlZWFJwYjI1T1lXMWxjeTV2Ym1SaWJHTnNhV05ySUQwZ2NtVm5hWE4wY21GMGFXOXVUbUZ0WlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmk4cUtseHVJQ29nVW1WbmFYTjBaWEp6SUhCc2RXZHBibk1nYzI4Z2RHaGhkQ0IwYUdWNUlHTmhiaUJsZUhSeVlXTjBJR0Z1WkNCa2FYTndZWFJqYUNCbGRtVnVkSE11WEc0Z0tpOWNibHh1THlvcVhHNGdLaUJQY21SbGNtVmtJR3hwYzNRZ2IyWWdhVzVxWldOMFpXUWdjR3gxWjJsdWN5NWNiaUFxTDF4dVhHNWNiblpoY2lCd2JIVm5hVzV6SUQwZ1cxMDdYRzR2S2lwY2JpQXFJRTFoY0hCcGJtY2dabkp2YlNCbGRtVnVkQ0J1WVcxbElIUnZJR1JwYzNCaGRHTm9JR052Ym1acFoxeHVJQ292WEc1Y2JuWmhjaUJsZG1WdWRFNWhiV1ZFYVhOd1lYUmphRU52Ym1acFozTWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1RXRndjR2x1WnlCbWNtOXRJSEpsWjJsemRISmhkR2x2YmlCdVlXMWxJSFJ2SUhCc2RXZHBiaUJ0YjJSMWJHVmNiaUFxTDF4dVhHNTJZWElnY21WbmFYTjBjbUYwYVc5dVRtRnRaVTF2WkhWc1pYTWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1RXRndjR2x1WnlCbWNtOXRJSEpsWjJsemRISmhkR2x2YmlCdVlXMWxJSFJ2SUdWMlpXNTBJRzVoYldWY2JpQXFMMXh1WEc1MllYSWdjbVZuYVhOMGNtRjBhVzl1VG1GdFpVUmxjR1Z1WkdWdVkybGxjeUE5SUh0OU8xeHVMeW9xWEc0Z0tpQk5ZWEJ3YVc1bklHWnliMjBnYkc5M1pYSmpZWE5sSUhKbFoybHpkSEpoZEdsdmJpQnVZVzFsY3lCMGJ5QjBhR1VnY0hKdmNHVnliSGtnWTJGelpXUWdkbVZ5YzJsdmJpeGNiaUFxSUhWelpXUWdkRzhnZDJGeWJpQnBiaUIwYUdVZ1kyRnpaU0J2WmlCdGFYTnphVzVuSUdWMlpXNTBJR2hoYm1Sc1pYSnpMaUJCZG1GcGJHRmliR1ZjYmlBcUlHOXViSGtnYVc0Z2RISjFaUzVjYmlBcUlFQjBlWEJsSUh0UFltcGxZM1I5WEc0Z0tpOWNibHh1ZG1GeUlIQnZjM05wWW14bFVtVm5hWE4wY21GMGFXOXVUbUZ0WlhNZ1BTQWdlMzBnT3lBdkx5QlVjblZ6ZENCMGFHVWdaR1YyWld4dmNHVnlJSFJ2SUc5dWJIa2dkWE5sSUhCdmMzTnBZbXhsVW1WbmFYTjBjbUYwYVc5dVRtRnRaWE1nYVc0Z2RISjFaVnh1WEc0dktpcGNiaUFxSUVsdWFtVmpkSE1nWVc0Z2IzSmtaWEpwYm1jZ2IyWWdjR3gxWjJsdWN5QW9ZbmtnY0d4MVoybHVJRzVoYldVcExpQlVhR2x6SUdGc2JHOTNjeUIwYUdVZ2IzSmtaWEpwYm1kY2JpQXFJSFJ2SUdKbElHUmxZMjkxY0d4bFpDQm1jbTl0SUdsdWFtVmpkR2x2YmlCdlppQjBhR1VnWVdOMGRXRnNJSEJzZFdkcGJuTWdjMjhnZEdoaGRDQnZjbVJsY21sdVp5QnBjMXh1SUNvZ1lXeDNZWGx6SUdSbGRHVnliV2x1YVhOMGFXTWdjbVZuWVhKa2JHVnpjeUJ2WmlCd1lXTnJZV2RwYm1jc0lHOXVMWFJvWlMxbWJIa2dhVzVxWldOMGFXOXVMQ0JsZEdNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0aGNuSmhlWDBnU1c1cVpXTjBaV1JGZG1WdWRGQnNkV2RwYms5eVpHVnlYRzRnS2lCQWFXNTBaWEp1WVd4Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCcGJtcGxZM1JGZG1WdWRGQnNkV2RwYms5eVpHVnlLR2x1YW1WamRHVmtSWFpsYm5SUWJIVm5hVzVQY21SbGNpa2dlMXh1SUNCcFppQW9JU0ZsZG1WdWRGQnNkV2RwYms5eVpHVnlLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYWmxiblJRYkhWbmFXNVNaV2RwYzNSeWVUb2dRMkZ1Ym05MElHbHVhbVZqZENCbGRtVnVkQ0J3YkhWbmFXNGdiM0prWlhKcGJtY2diVzl5WlNCMGFHRnVJRzl1WTJVdUlGbHZkU0JoY21VZ2JHbHJaV3g1SUhSeWVXbHVaeUIwYnlCc2IyRmtJRzF2Y21VZ2RHaGhiaUJ2Ym1VZ1kyOXdlU0J2WmlCU1pXRmpkQzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmU0F2THlCRGJHOXVaU0IwYUdVZ2IzSmtaWEpwYm1jZ2MyOGdhWFFnWTJGdWJtOTBJR0psSUdSNWJtRnRhV05oYkd4NUlHMTFkR0YwWldRdVhHNWNibHh1SUNCbGRtVnVkRkJzZFdkcGJrOXlaR1Z5SUQwZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG5Oc2FXTmxMbU5oYkd3b2FXNXFaV04wWldSRmRtVnVkRkJzZFdkcGJrOXlaR1Z5S1R0Y2JpQWdjbVZqYjIxd2RYUmxVR3gxWjJsdVQzSmtaWEpwYm1jb0tUdGNibjFjYmk4cUtseHVJQ29nU1c1cVpXTjBjeUJ3YkhWbmFXNXpJSFJ2SUdKbElIVnpaV1FnWW5rZ2NHeDFaMmx1SUdWMlpXNTBJSE41YzNSbGJTNGdWR2hsSUhCc2RXZHBiaUJ1WVcxbGN5QnRkWE4wSUdKbFhHNGdLaUJwYmlCMGFHVWdiM0prWlhKcGJtY2dhVzVxWldOMFpXUWdZbmtnWUdsdWFtVmpkRVYyWlc1MFVHeDFaMmx1VDNKa1pYSmdMbHh1SUNwY2JpQXFJRkJzZFdkcGJuTWdZMkZ1SUdKbElHbHVhbVZqZEdWa0lHRnpJSEJoY25RZ2IyWWdjR0ZuWlNCcGJtbDBhV0ZzYVhwaGRHbHZiaUJ2Y2lCdmJpMTBhR1V0Wm14NUxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCcGJtcGxZM1JsWkU1aGJXVnpWRzlRYkhWbmFXNXpJRTFoY0NCbWNtOXRJRzVoYldWeklIUnZJSEJzZFdkcGJpQnRiMlIxYkdWekxseHVJQ29nUUdsdWRHVnlibUZzWEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnYVc1cVpXTjBSWFpsYm5SUWJIVm5hVzV6UW5sT1lXMWxLR2x1YW1WamRHVmtUbUZ0WlhOVWIxQnNkV2RwYm5NcElIdGNiaUFnZG1GeUlHbHpUM0prWlhKcGJtZEVhWEowZVNBOUlHWmhiSE5sTzF4dVhHNGdJR1p2Y2lBb2RtRnlJSEJzZFdkcGJrNWhiV1VnYVc0Z2FXNXFaV04wWldST1lXMWxjMVJ2VUd4MVoybHVjeWtnZTF4dUlDQWdJR2xtSUNnaGFXNXFaV04wWldST1lXMWxjMVJ2VUd4MVoybHVjeTVvWVhOUGQyNVFjbTl3WlhKMGVTaHdiSFZuYVc1T1lXMWxLU2tnZTF4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhCc2RXZHBiazF2WkhWc1pTQTlJR2x1YW1WamRHVmtUbUZ0WlhOVWIxQnNkV2RwYm5OYmNHeDFaMmx1VG1GdFpWMDdYRzVjYmlBZ0lDQnBaaUFvSVc1aGJXVnpWRzlRYkhWbmFXNXpMbWhoYzA5M2JsQnliM0JsY25SNUtIQnNkV2RwYms1aGJXVXBJSHg4SUc1aGJXVnpWRzlRYkhWbmFXNXpXM0JzZFdkcGJrNWhiV1ZkSUNFOVBTQndiSFZuYVc1TmIyUjFiR1VwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hJVzVoYldWelZHOVFiSFZuYVc1elczQnNkV2RwYms1aGJXVmRLU0I3WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNU9pQkRZVzV1YjNRZ2FXNXFaV04wSUhSM2J5QmthV1ptWlhKbGJuUWdaWFpsYm5RZ2NHeDFaMmx1Y3lCMWMybHVaeUIwYUdVZ2MyRnRaU0J1WVcxbExDQmdYQ0lnS3lCd2JIVm5hVzVPWVcxbElDc2dYQ0pnTGx3aUlDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYm1GdFpYTlViMUJzZFdkcGJuTmJjR3gxWjJsdVRtRnRaVjBnUFNCd2JIVm5hVzVOYjJSMWJHVTdYRzRnSUNBZ0lDQnBjMDl5WkdWeWFXNW5SR2x5ZEhrZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHBjMDl5WkdWeWFXNW5SR2x5ZEhrcElIdGNiaUFnSUNCeVpXTnZiWEIxZEdWUWJIVm5hVzVQY21SbGNtbHVaeWdwTzF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJqWVc1VmMyVkVUMDBnUFNBaElTaDBlWEJsYjJZZ2QybHVaRzkzSUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmlCMGVYQmxiMllnZDJsdVpHOTNMbVJ2WTNWdFpXNTBJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIwZVhCbGIyWWdkMmx1Wkc5M0xtUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5LVHRjYmx4dWRtRnlJRkJNVlVkSlRsOUZWa1ZPVkY5VFdWTlVSVTBnUFNBeE8xeHVkbUZ5SUVsVFgxSkZVRXhCV1VWRUlEMGdNU0E4UENBMU8xeHVkbUZ5SUVsVFgwWkpVbE5VWDBGT1EwVlRWRTlTSUQwZ01TQThQQ0EyTzF4dVhHNTJZWElnY21WemRHOXlaVWx0Y0d3Z1BTQnVkV3hzTzF4dWRtRnlJSEpsYzNSdmNtVlVZWEpuWlhRZ1BTQnVkV3hzTzF4dWRtRnlJSEpsYzNSdmNtVlJkV1YxWlNBOUlHNTFiR3c3WEc1Y2JtWjFibU4wYVc5dUlISmxjM1J2Y21WVGRHRjBaVTltVkdGeVoyVjBLSFJoY21kbGRDa2dlMXh1SUNBdkx5QlhaU0J3WlhKbWIzSnRJSFJvYVhNZ2RISmhibk5zWVhScGIyNGdZWFFnZEdobElHVnVaQ0J2WmlCMGFHVWdaWFpsYm5RZ2JHOXZjQ0J6YnlCMGFHRjBJSGRsWEc0Z0lDOHZJR0ZzZDJGNWN5QnlaV05sYVhabElIUm9aU0JqYjNKeVpXTjBJR1pwWW1WeUlHaGxjbVZjYmlBZ2RtRnlJR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVWdQU0JuWlhSSmJuTjBZVzVqWlVaeWIyMU9iMlJsS0hSaGNtZGxkQ2s3WEc1Y2JpQWdhV1lnS0NGcGJuUmxjbTVoYkVsdWMzUmhibU5sS1NCN1hHNGdJQ0FnTHk4Z1ZXNXRiM1Z1ZEdWa1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRW9kSGx3Wlc5bUlISmxjM1J2Y21WSmJYQnNJRDA5UFNBblpuVnVZM1JwYjI0bktTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSW5ObGRGSmxjM1J2Y21WSmJYQnNaVzFsYm5SaGRHbHZiaWdwSUc1bFpXUnpJSFJ2SUdKbElHTmhiR3hsWkNCMGJ5Qm9ZVzVrYkdVZ1lTQjBZWEpuWlhRZ1ptOXlJR052Ym5SeWIyeHNaV1FnWlhabGJuUnpMaUJVYUdseklHVnljbTl5SUdseklHeHBhMlZzZVNCallYVnpaV1FnWW5rZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnZG1GeUlITjBZWFJsVG05a1pTQTlJR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVXVjM1JoZEdWT2IyUmxPeUF2THlCSGRXRnlaQ0JoWjJGcGJuTjBJRVpwWW1WeUlHSmxhVzVuSUhWdWJXOTFiblJsWkM1Y2JseHVJQ0JwWmlBb2MzUmhkR1ZPYjJSbEtTQjdYRzRnSUNBZ2RtRnlJRjl3Y205d2N5QTlJR2RsZEVacFltVnlRM1Z5Y21WdWRGQnliM0J6Um5KdmJVNXZaR1VvYzNSaGRHVk9iMlJsS1R0Y2JseHVJQ0FnSUhKbGMzUnZjbVZKYlhCc0tHbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJVdWMzUmhkR1ZPYjJSbExDQnBiblJsY201aGJFbHVjM1JoYm1ObExuUjVjR1VzSUY5d2NtOXdjeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2MyVjBVbVZ6ZEc5eVpVbHRjR3hsYldWdWRHRjBhVzl1S0dsdGNHd3BJSHRjYmlBZ2NtVnpkRzl5WlVsdGNHd2dQU0JwYlhCc08xeHVmVnh1Wm5WdVkzUnBiMjRnWlc1eGRXVjFaVk4wWVhSbFVtVnpkRzl5WlNoMFlYSm5aWFFwSUh0Y2JpQWdhV1lnS0hKbGMzUnZjbVZVWVhKblpYUXBJSHRjYmlBZ0lDQnBaaUFvY21WemRHOXlaVkYxWlhWbEtTQjdYRzRnSUNBZ0lDQnlaWE4wYjNKbFVYVmxkV1V1Y0hWemFDaDBZWEpuWlhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhOMGIzSmxVWFZsZFdVZ1BTQmJkR0Z5WjJWMFhUdGNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVnpkRzl5WlZSaGNtZGxkQ0E5SUhSaGNtZGxkRHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYm1WbFpITlRkR0YwWlZKbGMzUnZjbVVvS1NCN1hHNGdJSEpsZEhWeWJpQnlaWE4wYjNKbFZHRnlaMlYwSUNFOVBTQnVkV3hzSUh4OElISmxjM1J2Y21WUmRXVjFaU0FoUFQwZ2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlISmxjM1J2Y21WVGRHRjBaVWxtVG1WbFpHVmtLQ2tnZTF4dUlDQnBaaUFvSVhKbGMzUnZjbVZVWVhKblpYUXBJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQjJZWElnZEdGeVoyVjBJRDBnY21WemRHOXlaVlJoY21kbGREdGNiaUFnZG1GeUlIRjFaWFZsWkZSaGNtZGxkSE1nUFNCeVpYTjBiM0psVVhWbGRXVTdYRzRnSUhKbGMzUnZjbVZVWVhKblpYUWdQU0J1ZFd4c08xeHVJQ0J5WlhOMGIzSmxVWFZsZFdVZ1BTQnVkV3hzTzF4dUlDQnlaWE4wYjNKbFUzUmhkR1ZQWmxSaGNtZGxkQ2gwWVhKblpYUXBPMXh1WEc0Z0lHbG1JQ2h4ZFdWMVpXUlVZWEpuWlhSektTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnhkV1YxWldSVVlYSm5aWFJ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnlaWE4wYjNKbFUzUmhkR1ZQWmxSaGNtZGxkQ2h4ZFdWMVpXUlVZWEpuWlhSelcybGRLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1ZG1GeUlHVnVZV0pzWlZCeWIyWnBiR1Z5VkdsdFpYSWdQU0IwY25WbE95QXZMeUJVY21GalpTQjNhR2xqYUNCcGJuUmxjbUZqZEdsdmJuTWdkSEpwWjJkbGNpQmxZV05vSUdOdmJXMXBkQzVjYmx4dWRtRnlJR1Z1WVdKc1pVUmxjSEpsWTJGMFpXUkdiR0Z5WlVGUVNTQTlJR1poYkhObE95QXZMeUJGZUhCbGNtbHRaVzUwWVd3Z1NHOXpkQ0JEYjIxd2IyNWxiblFnYzNWd2NHOXlkQzVjYmx4dWRtRnlJR1Z1WVdKc1pVWjFibVJoYldWdWRHRnNRVkJKSUQwZ1ptRnNjMlU3SUM4dklFVjRjR1Z5YVcxbGJuUmhiQ0JUWTI5d1pTQnpkWEJ3YjNKMExseHVkbUZ5SUhkaGNtNUJZbTkxZEZOMGNtbHVaMUpsWm5NZ1BTQm1ZV3h6WlR0Y2JseHVMeThnZEdobElISmxibVJsY21WeUxpQlRkV05vSUdGeklIZG9aVzRnZDJVbmNtVWdaR2x6Y0dGMFkyaHBibWNnWlhabGJuUnpJRzl5SUdsbUlIUm9hWEprSUhCaGNuUjVYRzR2THlCc2FXSnlZWEpwWlhNZ2JtVmxaQ0IwYnlCallXeHNJR0poZEdOb1pXUlZjR1JoZEdWekxpQkZkbVZ1ZEhWaGJHeDVMQ0IwYUdseklFRlFTU0IzYVd4c0lHZHZJR0YzWVhrZ2QyaGxibHh1THk4Z1pYWmxjbmwwYUdsdVp5QnBjeUJpWVhSamFHVmtJR0o1SUdSbFptRjFiSFF1SUZkbEoyeHNJSFJvWlc0Z2FHRjJaU0JoSUhOcGJXbHNZWElnUVZCSklIUnZJRzl3ZEMxdmRYUWdiMlpjYmk4dklITmphR1ZrZFd4bFpDQjNiM0pySUdGdVpDQnBibk4wWldGa0lHUnZJSE41Ym1Ob2NtOXViM1Z6SUhkdmNtc3VYRzR2THlCRVpXWmhkV3gwYzF4dVhHNTJZWElnWW1GMFkyaGxaRlZ3WkdGMFpYTkpiWEJzSUQwZ1puVnVZM1JwYjI0Z0tHWnVMQ0JpYjI5cmEyVmxjR2x1WnlrZ2UxeHVJQ0J5WlhSMWNtNGdabTRvWW05dmEydGxaWEJwYm1jcE8xeHVmVHRjYmx4dWRtRnlJR1JwYzJOeVpYUmxWWEJrWVhSbGMwbHRjR3dnUFNCbWRXNWpkR2x2YmlBb1ptNHNJR0VzSUdJc0lHTXNJR1FwSUh0Y2JpQWdjbVYwZFhKdUlHWnVLR0VzSUdJc0lHTXNJR1FwTzF4dWZUdGNibHh1ZG1GeUlHWnNkWE5vUkdselkzSmxkR1ZWY0dSaGRHVnpTVzF3YkNBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dVhHNTJZWElnWW1GMFkyaGxaRVYyWlc1MFZYQmtZWFJsYzBsdGNHd2dQU0JpWVhSamFHVmtWWEJrWVhSbGMwbHRjR3c3WEc1MllYSWdhWE5KYm5OcFpHVkZkbVZ1ZEVoaGJtUnNaWElnUFNCbVlXeHpaVHRjYm5aaGNpQnBjMEpoZEdOb2FXNW5SWFpsYm5SVmNHUmhkR1Z6SUQwZ1ptRnNjMlU3WEc1Y2JtWjFibU4wYVc5dUlHWnBibWx6YUVWMlpXNTBTR0Z1Wkd4bGNpZ3BJSHRjYmlBZ0x5OGdTR1Z5WlNCM1pTQjNZV2wwSUhWdWRHbHNJR0ZzYkNCMWNHUmhkR1Z6SUdoaGRtVWdjSEp2Y0dGbllYUmxaQ3dnZDJocFkyZ2dhWE1nYVcxd2IzSjBZVzUwWEc0Z0lDOHZJSGRvWlc0Z2RYTnBibWNnWTI5dWRISnZiR3hsWkNCamIyMXdiMjVsYm5SeklIZHBkR2hwYmlCc1lYbGxjbk02WEc0Z0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1UWTVPRnh1SUNBdkx5QlVhR1Z1SUhkbElISmxjM1J2Y21VZ2MzUmhkR1VnYjJZZ1lXNTVJR052Ym5SeWIyeHNaV1FnWTI5dGNHOXVaVzUwTGx4dUlDQjJZWElnWTI5dWRISnZiR3hsWkVOdmJYQnZibVZ1ZEhOSVlYWmxVR1Z1WkdsdVoxVndaR0YwWlhNZ1BTQnVaV1ZrYzFOMFlYUmxVbVZ6ZEc5eVpTZ3BPMXh1WEc0Z0lHbG1JQ2hqYjI1MGNtOXNiR1ZrUTI5dGNHOXVaVzUwYzBoaGRtVlFaVzVrYVc1blZYQmtZWFJsY3lrZ2UxeHVJQ0FnSUM4dklFbG1JR0VnWTI5dWRISnZiR3hsWkNCbGRtVnVkQ0IzWVhNZ1ptbHlaV1FzSUhkbElHMWhlU0J1WldWa0lIUnZJSEpsYzNSdmNtVWdkR2hsSUhOMFlYUmxJRzltWEc0Z0lDQWdMeThnZEdobElFUlBUU0J1YjJSbElHSmhZMnNnZEc4Z2RHaGxJR052Ym5SeWIyeHNaV1FnZG1Gc2RXVXVJRlJvYVhNZ2FYTWdibVZqWlhOellYSjVJSGRvWlc0Z1VtVmhZM1JjYmlBZ0lDQXZMeUJpWVdsc2N5QnZkWFFnYjJZZ2RHaGxJSFZ3WkdGMFpTQjNhWFJvYjNWMElIUnZkV05vYVc1bklIUm9aU0JFVDAwdVhHNGdJQ0FnWm14MWMyaEVhWE5qY21WMFpWVndaR0YwWlhOSmJYQnNLQ2s3WEc0Z0lDQWdjbVZ6ZEc5eVpWTjBZWFJsU1daT1pXVmtaV1FvS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmlZWFJqYUdWa1ZYQmtZWFJsY3lobWJpd2dZbTl2YTJ0bFpYQnBibWNwSUh0Y2JpQWdhV1lnS0dselNXNXphV1JsUlhabGJuUklZVzVrYkdWeUtTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVZ1lYSmxJR04xY25KbGJuUnNlU0JwYm5OcFpHVWdZVzV2ZEdobGNpQmlZWFJqYUN3Z2QyVWdibVZsWkNCMGJ5QjNZV2wwSUhWdWRHbHNJR2wwWEc0Z0lDQWdMeThnWm5Wc2JIa2dZMjl0Y0d4bGRHVnpJR0psWm05eVpTQnlaWE4wYjNKcGJtY2djM1JoZEdVdVhHNGdJQ0FnY21WMGRYSnVJR1p1S0dKdmIydHJaV1Z3YVc1bktUdGNiaUFnZlZ4dVhHNGdJR2x6U1c1emFXUmxSWFpsYm5SSVlXNWtiR1Z5SUQwZ2RISjFaVHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQmlZWFJqYUdWa1ZYQmtZWFJsYzBsdGNHd29abTRzSUdKdmIydHJaV1Z3YVc1bktUdGNiaUFnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0JwYzBsdWMybGtaVVYyWlc1MFNHRnVaR3hsY2lBOUlHWmhiSE5sTzF4dUlDQWdJR1pwYm1semFFVjJaVzUwU0dGdVpHeGxjaWdwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCaVlYUmphR1ZrUlhabGJuUlZjR1JoZEdWektHWnVMQ0JoTENCaUtTQjdYRzRnSUdsbUlDaHBjMEpoZEdOb2FXNW5SWFpsYm5SVmNHUmhkR1Z6S1NCN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnWVhKbElHTjFjbkpsYm5Sc2VTQnBibk5wWkdVZ1lXNXZkR2hsY2lCaVlYUmphQ3dnZDJVZ2JtVmxaQ0IwYnlCM1lXbDBJSFZ1ZEdsc0lHbDBYRzRnSUNBZ0x5OGdablZzYkhrZ1kyOXRjR3hsZEdWeklHSmxabTl5WlNCeVpYTjBiM0pwYm1jZ2MzUmhkR1V1WEc0Z0lDQWdjbVYwZFhKdUlHWnVLR0VzSUdJcE8xeHVJQ0I5WEc1Y2JpQWdhWE5DWVhSamFHbHVaMFYyWlc1MFZYQmtZWFJsY3lBOUlIUnlkV1U3WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdZbUYwWTJobFpFVjJaVzUwVlhCa1lYUmxjMGx0Y0d3b1ptNHNJR0VzSUdJcE8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJR2x6UW1GMFkyaHBibWRGZG1WdWRGVndaR0YwWlhNZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JtYVc1cGMyaEZkbVZ1ZEVoaGJtUnNaWElvS1R0Y2JpQWdmVnh1ZlNBdkx5QlVhR2x6SUdseklHWnZjaUIwYUdVZ1VtVmhZM1FnUm14aGNtVWdaWFpsYm5RZ2MzbHpkR1Z0WEc1bWRXNWpkR2x2YmlCa2FYTmpjbVYwWlZWd1pHRjBaWE1vWm00c0lHRXNJR0lzSUdNc0lHUXBJSHRjYmlBZ2RtRnlJSEJ5WlhaSmMwbHVjMmxrWlVWMlpXNTBTR0Z1Wkd4bGNpQTlJR2x6U1c1emFXUmxSWFpsYm5SSVlXNWtiR1Z5TzF4dUlDQnBjMGx1YzJsa1pVVjJaVzUwU0dGdVpHeGxjaUE5SUhSeWRXVTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnlaWFIxY200Z1pHbHpZM0psZEdWVmNHUmhkR1Z6U1cxd2JDaG1iaXdnWVN3Z1lpd2dZeXdnWkNrN1hHNGdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdhWE5KYm5OcFpHVkZkbVZ1ZEVoaGJtUnNaWElnUFNCd2NtVjJTWE5KYm5OcFpHVkZkbVZ1ZEVoaGJtUnNaWEk3WEc1Y2JpQWdJQ0JwWmlBb0lXbHpTVzV6YVdSbFJYWmxiblJJWVc1a2JHVnlLU0I3WEc0Z0lDQWdJQ0JtYVc1cGMyaEZkbVZ1ZEVoaGJtUnNaWElvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdac2RYTm9SR2x6WTNKbGRHVlZjR1JoZEdWelNXWk9aV1ZrWldRb2RHbHRaVk4wWVcxd0tTQjdYRzRnSUM4dklHVjJaVzUwTG5ScGJXVlRkR0Z0Y0NCcGMyNG5kQ0J2ZG1WeWJIa2djbVZzYVdGaWJHVWdaSFZsSUhSdklHbHVZMjl1YzJsemRHVnVZMmxsY3lCcGJseHVJQ0F2THlCb2IzY2daR2xtWm1WeVpXNTBJR0p5YjNkelpYSnpJR2hoZG1VZ2FHbHpkRzl5YVdOaGJHeDVJSEJ5YjNacFpHVmtJSFJvWlNCMGFXMWxJSE4wWVcxd0xseHVJQ0F2THlCVGIyMWxJR0p5YjNkelpYSnpJSEJ5YjNacFpHVWdhR2xuYUMxeVpYTnZiSFYwYVc5dUlIUnBiV1VnYzNSaGJYQnpJR1p2Y2lCaGJHd2daWFpsYm5SekxGeHVJQ0F2THlCemIyMWxJSEJ5YjNacFpHVWdiRzkzTFhKbGMyOXNkWFJwYjI0Z2RHbHRaU0J6ZEdGdGNITWdabTl5SUdGc2JDQmxkbVZ1ZEhNdUlFWkdJRHdnTlRKY2JpQWdMeThnWlhabGJpQnRhWGhsY3lCaWIzUm9JSFJwYldVZ2MzUmhiWEJ6SUhSdloyVjBhR1Z5TGlCVGIyMWxJR0p5YjNkelpYSnpJR1YyWlc0Z2NtVndiM0owWEc0Z0lDOHZJRzVsWjJGMGFYWmxJSFJwYldVZ2MzUmhiWEJ6SUc5eUlIUnBiV1VnYzNSaGJYQnpJSFJvWVhRZ1lYSmxJREFnS0dsUFV6a3BJR2x1SUhOdmJXVWdZMkZ6WlhNdVhHNGdJQzh2SUVkcGRtVnVJSGRsSUdGeVpTQnZibXg1SUdOdmJYQmhjbWx1WnlCMGQyOGdkR2x0WlNCemRHRnRjSE1nZDJsMGFDQmxjWFZoYkdsMGVTQW9JVDA5S1N4Y2JpQWdMeThnZDJVZ1lYSmxJSE5oWm1VZ1puSnZiU0IwYUdVZ2NtVnpiMngxZEdsdmJpQmthV1ptWlhKbGJtTmxjeTRnU1dZZ2RHaGxJSFJwYldVZ2MzUmhiWEFnYVhNZ01GeHVJQ0F2THlCM1pTQmlZV2xzTFc5MWRDQnZaaUJ3Y21WMlpXNTBhVzVuSUhSb1pTQm1iSFZ6YUN3Z2QyaHBZMmdnWTJGdUlHRm1abVZqZENCelpXMWhiblJwWTNNc1hHNGdJQzh2SUhOMVkyZ2dZWE1nYVdZZ1lXNGdaV0Z5YkdsbGNpQm1iSFZ6YUNCeVpXMXZkbVZ6SUc5eUlHRmtaSE1nWlhabGJuUWdiR2x6ZEdWdVpYSnpJSFJvWVhSY2JpQWdMeThnWVhKbElHWnBjbVZrSUdsdUlIUm9aU0J6ZFdKelpYRjFaVzUwSUdac2RYTm9MaUJJYjNkbGRtVnlMQ0IwYUdseklHbHpJSFJvWlNCellXMWxYRzRnSUM4dklHSmxhR0YyYVc5MWNpQmhjeUIzWlNCb1lXUWdZbVZtYjNKbElIUm9hWE1nWTJoaGJtZGxMQ0J6YnlCMGFHVWdjbWx6YTNNZ1lYSmxJR3h2ZHk1Y2JpQWdhV1lnS0NGcGMwbHVjMmxrWlVWMlpXNTBTR0Z1Wkd4bGNpQW1KaUFvSVdWdVlXSnNaVVJsY0hKbFkyRjBaV1JHYkdGeVpVRlFTU0FnS1NrZ2UxeHVJQ0FnSUdac2RYTm9SR2x6WTNKbGRHVlZjR1JoZEdWelNXMXdiQ2dwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCelpYUkNZWFJqYUdsdVowbHRjR3hsYldWdWRHRjBhVzl1S0Y5aVlYUmphR1ZrVlhCa1lYUmxjMGx0Y0d3c0lGOWthWE5qY21WMFpWVndaR0YwWlhOSmJYQnNMQ0JmWm14MWMyaEVhWE5qY21WMFpWVndaR0YwWlhOSmJYQnNMQ0JmWW1GMFkyaGxaRVYyWlc1MFZYQmtZWFJsYzBsdGNHd3BJSHRjYmlBZ1ltRjBZMmhsWkZWd1pHRjBaWE5KYlhCc0lEMGdYMkpoZEdOb1pXUlZjR1JoZEdWelNXMXdiRHRjYmlBZ1pHbHpZM0psZEdWVmNHUmhkR1Z6U1cxd2JDQTlJRjlrYVhOamNtVjBaVlZ3WkdGMFpYTkpiWEJzTzF4dUlDQm1iSFZ6YUVScGMyTnlaWFJsVlhCa1lYUmxjMGx0Y0d3Z1BTQmZabXgxYzJoRWFYTmpjbVYwWlZWd1pHRjBaWE5KYlhCc08xeHVJQ0JpWVhSamFHVmtSWFpsYm5SVmNHUmhkR1Z6U1cxd2JDQTlJRjlpWVhSamFHVmtSWFpsYm5SVmNHUmhkR1Z6U1cxd2JEdGNibjFjYmx4dWRtRnlJRVJwYzJOeVpYUmxSWFpsYm5RZ1BTQXdPMXh1ZG1GeUlGVnpaWEpDYkc5amEybHVaMFYyWlc1MElEMGdNVHRjYm5aaGNpQkRiMjUwYVc1MWIzVnpSWFpsYm5RZ1BTQXlPMXh1WEc0dkx5QkJJSEpsYzJWeWRtVmtJR0YwZEhKcFluVjBaUzVjYmk4dklFbDBJR2x6SUdoaGJtUnNaV1FnWW5rZ1VtVmhZM1FnYzJWd1lYSmhkR1ZzZVNCaGJtUWdjMmh2ZFd4a2JpZDBJR0psSUhkeWFYUjBaVzRnZEc4Z2RHaGxJRVJQVFM1Y2JuWmhjaUJTUlZORlVsWkZSQ0E5SURBN0lDOHZJRUVnYzJsdGNHeGxJSE4wY21sdVp5QmhkSFJ5YVdKMWRHVXVYRzR2THlCQmRIUnlhV0oxZEdWeklIUm9ZWFFnWVhKbGJpZDBJR2x1SUhSb1pTQjNhR2wwWld4cGMzUWdZWEpsSUhCeVpYTjFiV1ZrSUhSdklHaGhkbVVnZEdocGN5QjBlWEJsTGx4dVhHNTJZWElnVTFSU1NVNUhJRDBnTVRzZ0x5OGdRU0J6ZEhKcGJtY2dZWFIwY21saWRYUmxJSFJvWVhRZ1lXTmpaWEIwY3lCaWIyOXNaV0Z1Y3lCcGJpQlNaV0ZqZEM0Z1NXNGdTRlJOVEN3Z2RHaGxjMlVnWVhKbElHTmhiR3hsWkZ4dUx5OGdYQ0psYm5WdFpYSmhkR1ZrWENJZ1lYUjBjbWxpZFhSbGN5QjNhWFJvSUZ3aWRISjFaVndpSUdGdVpDQmNJbVpoYkhObFhDSWdZWE1nY0c5emMybGliR1VnZG1Gc2RXVnpMbHh1THk4Z1YyaGxiaUIwY25WbExDQnBkQ0J6YUc5MWJHUWdZbVVnYzJWMElIUnZJR0VnWENKMGNuVmxYQ0lnYzNSeWFXNW5MbHh1THk4Z1YyaGxiaUJtWVd4elpTd2dhWFFnYzJodmRXeGtJR0psSUhObGRDQjBieUJoSUZ3aVptRnNjMlZjSWlCemRISnBibWN1WEc1Y2JuWmhjaUJDVDA5TVJVRk9TVk5JWDFOVVVrbE9SeUE5SURJN0lDOHZJRUVnY21WaGJDQmliMjlzWldGdUlHRjBkSEpwWW5WMFpTNWNiaTh2SUZkb1pXNGdkSEoxWlN3Z2FYUWdjMmh2ZFd4a0lHSmxJSEJ5WlhObGJuUWdLSE5sZENCbGFYUm9aWElnZEc4Z1lXNGdaVzF3ZEhrZ2MzUnlhVzVuSUc5eUlHbDBjeUJ1WVcxbEtTNWNiaTh2SUZkb1pXNGdabUZzYzJVc0lHbDBJSE5vYjNWc1pDQmlaU0J2YldsMGRHVmtMbHh1WEc1MllYSWdRazlQVEVWQlRpQTlJRE03SUM4dklFRnVJR0YwZEhKcFluVjBaU0IwYUdGMElHTmhiaUJpWlNCMWMyVmtJR0Z6SUdFZ1pteGhaeUJoY3lCM1pXeHNJR0Z6SUhkcGRHZ2dZU0IyWVd4MVpTNWNiaTh2SUZkb1pXNGdkSEoxWlN3Z2FYUWdjMmh2ZFd4a0lHSmxJSEJ5WlhObGJuUWdLSE5sZENCbGFYUm9aWElnZEc4Z1lXNGdaVzF3ZEhrZ2MzUnlhVzVuSUc5eUlHbDBjeUJ1WVcxbEtTNWNiaTh2SUZkb1pXNGdabUZzYzJVc0lHbDBJSE5vYjNWc1pDQmlaU0J2YldsMGRHVmtMbHh1THk4Z1JtOXlJR0Z1ZVNCdmRHaGxjaUIyWVd4MVpTd2djMmh2ZFd4a0lHSmxJSEJ5WlhObGJuUWdkMmwwYUNCMGFHRjBJSFpoYkhWbExseHVYRzUyWVhJZ1QxWkZVa3hQUVVSRlJGOUNUMDlNUlVGT0lEMGdORHNnTHk4Z1FXNGdZWFIwY21saWRYUmxJSFJvWVhRZ2JYVnpkQ0JpWlNCdWRXMWxjbWxqSUc5eUlIQmhjbk5sSUdGeklHRWdiblZ0WlhKcFl5NWNiaTh2SUZkb1pXNGdabUZzYzNrc0lHbDBJSE5vYjNWc1pDQmlaU0J5WlcxdmRtVmtMbHh1WEc1MllYSWdUbFZOUlZKSlF5QTlJRFU3SUM4dklFRnVJR0YwZEhKcFluVjBaU0IwYUdGMElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VZ2JuVnRaWEpwWXlCdmNpQndZWEp6WlNCaGN5QmhJSEJ2YzJsMGFYWmxJRzUxYldWeWFXTXVYRzR2THlCWGFHVnVJR1poYkhONUxDQnBkQ0J6YUc5MWJHUWdZbVVnY21WdGIzWmxaQzVjYmx4dWRtRnlJRkJQVTBsVVNWWkZYMDVWVFVWU1NVTWdQU0EyTzF4dVhHNHZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQnRZWGd0YkdWdUlDb3ZYRzUyWVhJZ1FWUlVVa2xDVlZSRlgwNUJUVVZmVTFSQlVsUmZRMGhCVWlBOUlGd2lPa0V0V2w5aExYcGNYRnhjZFRBd1F6QXRYRnhjWEhVd01FUTJYRnhjWEhVd01FUTRMVnhjWEZ4MU1EQkdObHhjWEZ4MU1EQkdPQzFjWEZ4Y2RUQXlSa1pjWEZ4Y2RUQXpOekF0WEZ4Y1hIVXdNemRFWEZ4Y1hIVXdNemRHTFZ4Y1hGeDFNVVpHUmx4Y1hGeDFNakF3UXkxY1hGeGNkVEl3TUVSY1hGeGNkVEl3TnpBdFhGeGNYSFV5TVRoR1hGeGNYSFV5UXpBd0xWeGNYRngxTWtaRlJseGNYRngxTXpBd01TMWNYRnhjZFVRM1JrWmNYRnhjZFVZNU1EQXRYRnhjWEhWR1JFTkdYRnhjWEhWR1JFWXdMVnhjWEZ4MVJrWkdSRndpTzF4dUx5b2daWE5zYVc1MExXVnVZV0pzWlNCdFlYZ3RiR1Z1SUNvdlhHNWNiblpoY2lCQlZGUlNTVUpWVkVWZlRrRk5SVjlEU0VGU0lEMGdRVlJVVWtsQ1ZWUkZYMDVCVFVWZlUxUkJVbFJmUTBoQlVpQXJJRndpWEZ4Y1hDMHVNQzA1WEZ4Y1hIVXdNRUkzWEZ4Y1hIVXdNekF3TFZ4Y1hGeDFNRE0yUmx4Y1hGeDFNakF6UmkxY1hGeGNkVEl3TkRCY0lqdGNiblpoY2lCU1QwOVVYMEZVVkZKSlFsVlVSVjlPUVUxRklEMGdKMlJoZEdFdGNtVmhZM1J5YjI5MEp6dGNiblpoY2lCV1FVeEpSRjlCVkZSU1NVSlZWRVZmVGtGTlJWOVNSVWRGV0NBOUlHNWxkeUJTWldkRmVIQW9KMTViSnlBcklFRlVWRkpKUWxWVVJWOU9RVTFGWDFOVVFWSlVYME5JUVZJZ0t5QW5YVnNuSUNzZ1FWUlVVa2xDVlZSRlgwNUJUVVZmUTBoQlVpQXJJQ2RkS2lRbktUdGNiblpoY2lCb1lYTlBkMjVRY205d1pYSjBlU0E5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIazdYRzUyWVhJZ2FXeHNaV2RoYkVGMGRISnBZblYwWlU1aGJXVkRZV05vWlNBOUlIdDlPMXh1ZG1GeUlIWmhiR2xrWVhSbFpFRjBkSEpwWW5WMFpVNWhiV1ZEWVdOb1pTQTlJSHQ5TzF4dVpuVnVZM1JwYjI0Z2FYTkJkSFJ5YVdKMWRHVk9ZVzFsVTJGbVpTaGhkSFJ5YVdKMWRHVk9ZVzFsS1NCN1hHNGdJR2xtSUNob1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tIWmhiR2xrWVhSbFpFRjBkSEpwWW5WMFpVNWhiV1ZEWVdOb1pTd2dZWFIwY21saWRYUmxUbUZ0WlNrcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJR2xtSUNob1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHbHNiR1ZuWVd4QmRIUnlhV0oxZEdWT1lXMWxRMkZqYUdVc0lHRjBkSEpwWW5WMFpVNWhiV1VwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0ZaQlRFbEVYMEZVVkZKSlFsVlVSVjlPUVUxRlgxSkZSMFZZTG5SbGMzUW9ZWFIwY21saWRYUmxUbUZ0WlNrcElIdGNiaUFnSUNCMllXeHBaR0YwWldSQmRIUnlhV0oxZEdWT1lXMWxRMkZqYUdWYllYUjBjbWxpZFhSbFRtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVd4c1pXZGhiRUYwZEhKcFluVjBaVTVoYldWRFlXTm9aVnRoZEhSeWFXSjFkR1ZPWVcxbFhTQTlJSFJ5ZFdVN1hHNWNiaUFnZTF4dUlDQWdJR1Z5Y205eUtDZEpiblpoYkdsa0lHRjBkSEpwWW5WMFpTQnVZVzFsT2lCZ0pYTmdKeXdnWVhSMGNtbGlkWFJsVG1GdFpTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVtZFc1amRHbHZiaUJ6YUc5MWJHUkpaMjV2Y21WQmRIUnlhV0oxZEdVb2JtRnRaU3dnY0hKdmNHVnlkSGxKYm1adkxDQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeWtnZTF4dUlDQnBaaUFvY0hKdmNHVnlkSGxKYm1adklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhCeWIzQmxjblI1U1c1bWJ5NTBlWEJsSUQwOVBTQlNSVk5GVWxaRlJEdGNiaUFnZlZ4dVhHNGdJR2xtSUNocGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHVZVzFsTG14bGJtZDBhQ0ErSURJZ0ppWWdLRzVoYldWYk1GMGdQVDA5SUNkdkp5QjhmQ0J1WVcxbFd6QmRJRDA5UFNBblR5Y3BJQ1ltSUNodVlXMWxXekZkSUQwOVBTQW5iaWNnZkh3Z2JtRnRaVnN4WFNBOVBUMGdKMDRuS1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZWeHVablZ1WTNScGIyNGdjMmh2ZFd4a1VtVnRiM1psUVhSMGNtbGlkWFJsVjJsMGFGZGhjbTVwYm1jb2JtRnRaU3dnZG1Gc2RXVXNJSEJ5YjNCbGNuUjVTVzVtYnl3Z2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXY3BJSHRjYmlBZ2FXWWdLSEJ5YjNCbGNuUjVTVzVtYnlBaFBUMGdiblZzYkNBbUppQndjbTl3WlhKMGVVbHVabTh1ZEhsd1pTQTlQVDBnVWtWVFJWSldSVVFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYmx4dUlDQnpkMmwwWTJnZ0tIUjVjR1Z2WmlCMllXeDFaU2tnZTF4dUlDQWdJR05oYzJVZ0oyWjFibU4wYVc5dUp6b2dMeThnSkVac2IzZEpjM04xWlNCemVXMWliMndnYVhNZ2NHVnlabVZqZEd4NUlIWmhiR2xrSUdobGNtVmNibHh1SUNBZ0lHTmhjMlVnSjNONWJXSnZiQ2M2WEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bFhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNibHh1SUNBZ0lHTmhjMlVnSjJKdmIyeGxZVzRuT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCcFppQW9hWE5EZFhOMGIyMURiMjF3YjI1bGJuUlVZV2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNHVnlkSGxKYm1adklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ0Z3Y205d1pYSjBlVWx1Wm04dVlXTmpaWEIwYzBKdmIyeGxZVzV6TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ3Y21WbWFYZ2dQU0J1WVcxbExuUnZURzkzWlhKRFlYTmxLQ2t1YzJ4cFkyVW9NQ3dnTlNrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQnlaV1pwZUNBaFBUMGdKMlJoZEdFdEp5QW1KaUJ3Y21WbWFYZ2dJVDA5SUNkaGNtbGhMU2M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaU2h1WVcxbExDQjJZV3gxWlN3Z2NISnZjR1Z5ZEhsSmJtWnZMQ0JwYzBOMWMzUnZiVU52YlhCdmJtVnVkRlJoWnlrZ2UxeHVJQ0JwWmlBb2RtRnNkV1VnUFQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaVmRwZEdoWFlYSnVhVzVuS0c1aGJXVXNJSFpoYkhWbExDQndjbTl3WlhKMGVVbHVabThzSUdselEzVnpkRzl0UTI5dGNHOXVaVzUwVkdGbktTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2FXWWdLSEJ5YjNCbGNuUjVTVzVtYnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvY0hKdmNHVnlkSGxKYm1adkxuUjVjR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdRazlQVEVWQlRqcGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDRjJZV3gxWlR0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JQVmtWU1RFOUJSRVZFWDBKUFQweEZRVTQ2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTQTlQVDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQWdJR05oYzJVZ1RsVk5SVkpKUXpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdselRtRk9LSFpoYkhWbEtUdGNibHh1SUNBZ0lDQWdZMkZ6WlNCUVQxTkpWRWxXUlY5T1ZVMUZVa2xET2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhOT1lVNG9kbUZzZFdVcElIeDhJSFpoYkhWbElEd2dNVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSUWNtOXdaWEowZVVsdVptOG9ibUZ0WlNrZ2UxeHVJQ0J5WlhSMWNtNGdjSEp2Y0dWeWRHbGxjeTVvWVhOUGQyNVFjbTl3WlhKMGVTaHVZVzFsS1NBL0lIQnliM0JsY25ScFpYTmJibUZ0WlYwZ09pQnVkV3hzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dkSGx3WlN3Z2JYVnpkRlZ6WlZCeWIzQmxjblI1TENCaGRIUnlhV0oxZEdWT1lXMWxMQ0JoZEhSeWFXSjFkR1ZPWVcxbGMzQmhZMlVzSUhOaGJtbDBhWHBsVlZKTUtTQjdYRzRnSUhSb2FYTXVZV05qWlhCMGMwSnZiMnhsWVc1eklEMGdkSGx3WlNBOVBUMGdRazlQVEVWQlRrbFRTRjlUVkZKSlRrY2dmSHdnZEhsd1pTQTlQVDBnUWs5UFRFVkJUaUI4ZkNCMGVYQmxJRDA5UFNCUFZrVlNURTlCUkVWRVgwSlBUMHhGUVU0N1hHNGdJSFJvYVhNdVlYUjBjbWxpZFhSbFRtRnRaU0E5SUdGMGRISnBZblYwWlU1aGJXVTdYRzRnSUhSb2FYTXVZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxJRDBnWVhSMGNtbGlkWFJsVG1GdFpYTndZV05sTzF4dUlDQjBhR2x6TG0xMWMzUlZjMlZRY205d1pYSjBlU0E5SUcxMWMzUlZjMlZRY205d1pYSjBlVHRjYmlBZ2RHaHBjeTV3Y205d1pYSjBlVTVoYldVZ1BTQnVZVzFsTzF4dUlDQjBhR2x6TG5SNWNHVWdQU0IwZVhCbE8xeHVJQ0IwYUdsekxuTmhibWwwYVhwbFZWSk1JRDBnYzJGdWFYUnBlbVZWVWt3N1hHNTlJQzh2SUZkb1pXNGdZV1JrYVc1bklHRjBkSEpwWW5WMFpYTWdkRzhnZEdocGN5QnNhWE4wTENCaVpTQnpkWEpsSUhSdklHRnNjMjhnWVdSa0lIUm9aVzBnZEc5Y2JpOHZJSFJvWlNCZ2NHOXpjMmxpYkdWVGRHRnVaR0Z5WkU1aGJXVnpZQ0J0YjJSMWJHVWdkRzhnWlc1emRYSmxJR05oYzJsdVp5QmhibVFnYVc1amIzSnlaV04wWEc0dkx5QnVZVzFsSUhkaGNtNXBibWR6TGx4dVhHNWNiblpoY2lCd2NtOXdaWEowYVdWeklEMGdlMzA3SUM4dklGUm9aWE5sSUhCeWIzQnpJR0Z5WlNCeVpYTmxjblpsWkNCaWVTQlNaV0ZqZEM0Z1ZHaGxlU0J6YUc5MWJHUnVKM1FnWW1VZ2QzSnBkSFJsYmlCMGJ5QjBhR1VnUkU5TkxseHVYRzUyWVhJZ2NtVnpaWEoyWldSUWNtOXdjeUE5SUZzblkyaHBiR1J5Wlc0bkxDQW5aR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV3bkxDQXZMeUJVVDBSUE9pQlVhR2x6SUhCeVpYWmxiblJ6SUhSb1pTQmhjM05wWjI1dFpXNTBJRzltSUdSbFptRjFiSFJXWVd4MVpTQjBieUJ5WldkMWJHRnlYRzR2THlCbGJHVnRaVzUwY3lBb2JtOTBJR3AxYzNRZ2FXNXdkWFJ6S1M0Z1RtOTNJSFJvWVhRZ1VtVmhZM1JFVDAxSmJuQjFkQ0JoYzNOcFoyNXpJSFJ2SUhSb1pWeHVMeThnWkdWbVlYVnNkRlpoYkhWbElIQnliM0JsY25SNUlDMHRJR1J2SUhkbElHNWxaV1FnZEdocGN6OWNiaWRrWldaaGRXeDBWbUZzZFdVbkxDQW5aR1ZtWVhWc2RFTm9aV05yWldRbkxDQW5hVzV1WlhKSVZFMU1KeXdnSjNOMWNIQnlaWE56UTI5dWRHVnVkRVZrYVhSaFlteGxWMkZ5Ym1sdVp5Y3NJQ2R6ZFhCd2NtVnpjMGg1WkhKaGRHbHZibGRoY201cGJtY25MQ0FuYzNSNWJHVW5YVHRjYmx4dWNtVnpaWEoyWldSUWNtOXdjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhCeWIzQmxjblJwWlhOYmJtRnRaVjBnUFNCdVpYY2dVSEp2Y0dWeWRIbEpibVp2VW1WamIzSmtLRzVoYldVc0lGSkZVMFZTVmtWRUxDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJRzVoYldVc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJCSUdabGR5QlNaV0ZqZENCemRISnBibWNnWVhSMGNtbGlkWFJsY3lCb1lYWmxJR0VnWkdsbVptVnlaVzUwSUc1aGJXVXVYRzR2THlCVWFHbHpJR2x6SUdFZ2JXRndjR2x1WnlCbWNtOXRJRkpsWVdOMElIQnliM0FnYm1GdFpYTWdkRzhnZEdobElHRjBkSEpwWW5WMFpTQnVZVzFsY3k1Y2JseHVXMXNuWVdOalpYQjBRMmhoY25ObGRDY3NJQ2RoWTJObGNIUXRZMmhoY25ObGRDZGRMQ0JiSjJOc1lYTnpUbUZ0WlNjc0lDZGpiR0Z6Y3lkZExDQmJKMmgwYld4R2IzSW5MQ0FuWm05eUoxMHNJRnNuYUhSMGNFVnhkV2wySnl3Z0oyaDBkSEF0WlhGMWFYWW5YVjB1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvWDNKbFppa2dlMXh1SUNCMllYSWdibUZ0WlNBOUlGOXlaV1piTUYwc1hHNGdJQ0FnSUNCaGRIUnlhV0oxZEdWT1lXMWxJRDBnWDNKbFpsc3hYVHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJR0YwZEhKcFluVjBaVTVoYldVc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJVYUdWelpTQmhjbVVnWENKbGJuVnRaWEpoZEdWa1hDSWdTRlJOVENCaGRIUnlhV0oxZEdWeklIUm9ZWFFnWVdOalpYQjBJRndpZEhKMVpWd2lJR0Z1WkNCY0ltWmhiSE5sWENJdVhHNHZMeUJKYmlCU1pXRmpkQ3dnZDJVZ2JHVjBJSFZ6WlhKeklIQmhjM01nWUhSeWRXVmdJR0Z1WkNCZ1ptRnNjMlZnSUdWMlpXNGdkR2h2ZFdkb0lIUmxZMmh1YVdOaGJHeDVYRzR2THlCMGFHVnpaU0JoY21WdUozUWdZbTl2YkdWaGJpQmhkSFJ5YVdKMWRHVnpJQ2gwYUdWNUlHRnlaU0JqYjJWeVkyVmtJSFJ2SUhOMGNtbHVaM01wTGx4dVhHNWJKMk52Ym5SbGJuUkZaR2wwWVdKc1pTY3NJQ2RrY21GbloyRmliR1VuTENBbmMzQmxiR3hEYUdWamF5Y3NJQ2QyWVd4MVpTZGRMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLRzVoYldVcElIdGNiaUFnY0hKdmNHVnlkR2xsYzF0dVlXMWxYU0E5SUc1bGR5QlFjbTl3WlhKMGVVbHVabTlTWldOdmNtUW9ibUZ0WlN3Z1FrOVBURVZCVGtsVFNGOVRWRkpKVGtjc0lHWmhiSE5sTENBdkx5QnRkWE4wVlhObFVISnZjR1Z5ZEhsY2JpQWdibUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxYRzRnSUc1MWJHd3NJQzh2SUdGMGRISnBZblYwWlU1aGJXVnpjR0ZqWlZ4dUlDQm1ZV3h6WlNrN1hHNTlLVHNnTHk4Z1ZHaGxjMlVnWVhKbElGd2laVzUxYldWeVlYUmxaRndpSUZOV1J5QmhkSFJ5YVdKMWRHVnpJSFJvWVhRZ1lXTmpaWEIwSUZ3aWRISjFaVndpSUdGdVpDQmNJbVpoYkhObFhDSXVYRzR2THlCSmJpQlNaV0ZqZEN3Z2QyVWdiR1YwSUhWelpYSnpJSEJoYzNNZ1lIUnlkV1ZnSUdGdVpDQmdabUZzYzJWZ0lHVjJaVzRnZEdodmRXZG9JSFJsWTJodWFXTmhiR3g1WEc0dkx5QjBhR1Z6WlNCaGNtVnVKM1FnWW05dmJHVmhiaUJoZEhSeWFXSjFkR1Z6SUNoMGFHVjVJR0Z5WlNCamIyVnlZMlZrSUhSdklITjBjbWx1WjNNcExseHVMeThnVTJsdVkyVWdkR2hsYzJVZ1lYSmxJRk5XUnlCaGRIUnlhV0oxZEdWekxDQjBhR1ZwY2lCaGRIUnlhV0oxZEdVZ2JtRnRaWE1nWVhKbElHTmhjMlV0YzJWdWMybDBhWFpsTGx4dVhHNWJKMkYxZEc5U1pYWmxjbk5sSnl3Z0oyVjRkR1Z5Ym1Gc1VtVnpiM1Z5WTJWelVtVnhkV2x5WldRbkxDQW5abTlqZFhOaFlteGxKeXdnSjNCeVpYTmxjblpsUVd4d2FHRW5YUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhCeWIzQmxjblJwWlhOYmJtRnRaVjBnUFNCdVpYY2dVSEp2Y0dWeWRIbEpibVp2VW1WamIzSmtLRzVoYldVc0lFSlBUMHhGUVU1SlUwaGZVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJRzVoYldVc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJVYUdWelpTQmhjbVVnU0ZSTlRDQmliMjlzWldGdUlHRjBkSEpwWW5WMFpYTXVYRzVjYmxzbllXeHNiM2RHZFd4c1UyTnlaV1Z1Snl3Z0oyRnplVzVqSnl3Z0x5OGdUbTkwWlRvZ2RHaGxjbVVnYVhNZ1lTQnpjR1ZqYVdGc0lHTmhjMlVnZEdoaGRDQndjbVYyWlc1MGN5QnBkQ0JtY205dElHSmxhVzVuSUhkeWFYUjBaVzRnZEc4Z2RHaGxJRVJQVFZ4dUx5OGdiMjRnZEdobElHTnNhV1Z1ZENCemFXUmxJR0psWTJGMWMyVWdkR2hsSUdKeWIzZHpaWEp6SUdGeVpTQnBibU52Ym5OcGMzUmxiblF1SUVsdWMzUmxZV1FnZDJVZ1kyRnNiQ0JtYjJOMWN5Z3BMbHh1SjJGMWRHOUdiMk4xY3ljc0lDZGhkWFJ2VUd4aGVTY3NJQ2RqYjI1MGNtOXNjeWNzSUNka1pXWmhkV3gwSnl3Z0oyUmxabVZ5Snl3Z0oyUnBjMkZpYkdWa0p5d2dKMlJwYzJGaWJHVlFhV04wZFhKbFNXNVFhV04wZFhKbEp5d2dKMlp2Y20xT2IxWmhiR2xrWVhSbEp5d2dKMmhwWkdSbGJpY3NJQ2RzYjI5d0p5d2dKMjV2VFc5a2RXeGxKeXdnSjI1dlZtRnNhV1JoZEdVbkxDQW5iM0JsYmljc0lDZHdiR0Y1YzBsdWJHbHVaU2NzSUNkeVpXRmtUMjVzZVNjc0lDZHlaWEYxYVhKbFpDY3NJQ2R5WlhabGNuTmxaQ2NzSUNkelkyOXdaV1FuTENBbmMyVmhiV3hsYzNNbkxDQXZMeUJOYVdOeWIyUmhkR0ZjYmlkcGRHVnRVMk52Y0dVblhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJSEJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHNWhiV1VzSUVKUFQweEZRVTRzSUdaaGJITmxMQ0F2THlCdGRYTjBWWE5sVUhKdmNHVnlkSGxjYmlBZ2JtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncExDQXZMeUJoZEhSeWFXSjFkR1ZPWVcxbFhHNGdJRzUxYkd3c0lDOHZJR0YwZEhKcFluVjBaVTVoYldWemNHRmpaVnh1SUNCbVlXeHpaU2s3WEc1OUtUc2dMeThnVkdobGMyVWdZWEpsSUhSb1pTQm1aWGNnVW1WaFkzUWdjSEp2Y0hNZ2RHaGhkQ0IzWlNCelpYUWdZWE1nUkU5TklIQnliM0JsY25ScFpYTmNiaTh2SUhKaGRHaGxjaUIwYUdGdUlHRjBkSEpwWW5WMFpYTXVJRlJvWlhObElHRnlaU0JoYkd3Z1ltOXZiR1ZoYm5NdVhHNWNibHNuWTJobFkydGxaQ2NzSUM4dklFNXZkR1U2SUdCdmNIUnBiMjR1YzJWc1pXTjBaV1JnSUdseklHNXZkQ0IxY0dSaGRHVmtJR2xtSUdCelpXeGxZM1F1YlhWc2RHbHdiR1ZnSUdselhHNHZMeUJrYVhOaFlteGxaQ0IzYVhSb0lHQnlaVzF2ZG1WQmRIUnlhV0oxZEdWZ0xpQlhaU0JvWVhabElITndaV05wWVd3Z2JHOW5hV01nWm05eUlHaGhibVJzYVc1bklIUm9hWE11WEc0bmJYVnNkR2x3YkdVbkxDQW5iWFYwWldRbkxDQW5jMlZzWldOMFpXUW5JQzh2SUU1UFZFVTZJR2xtSUhsdmRTQmhaR1FnWVNCallXMWxiRU5oYzJWa0lIQnliM0FnZEc4Z2RHaHBjeUJzYVhOMExGeHVMeThnZVc5MUoyeHNJRzVsWldRZ2RHOGdjMlYwSUdGMGRISnBZblYwWlU1aGJXVWdkRzhnYm1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwWEc0dkx5QnBibk4wWldGa0lHbHVJSFJvWlNCaGMzTnBaMjV0Wlc1MElHSmxiRzkzTGx4dVhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJSEJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHNWhiV1VzSUVKUFQweEZRVTRzSUhSeWRXVXNJQzh2SUcxMWMzUlZjMlZRY205d1pYSjBlVnh1SUNCdVlXMWxMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxYRzRnSUc1MWJHd3NJQzh2SUdGMGRISnBZblYwWlU1aGJXVnpjR0ZqWlZ4dUlDQm1ZV3h6WlNrN1hHNTlLVHNnTHk4Z1ZHaGxjMlVnWVhKbElFaFVUVXdnWVhSMGNtbGlkWFJsY3lCMGFHRjBJR0Z5WlNCY0ltOTJaWEpzYjJGa1pXUWdZbTl2YkdWaGJuTmNJam9nZEdobGVTQmlaV2hoZG1VZ2JHbHJaVnh1THk4Z1ltOXZiR1ZoYm5Nc0lHSjFkQ0JqWVc0Z1lXeHpieUJoWTJObGNIUWdZU0J6ZEhKcGJtY2dkbUZzZFdVdVhHNWNibHNuWTJGd2RIVnlaU2NzSUNka2IzZHViRzloWkNjZ0x5OGdUazlVUlRvZ2FXWWdlVzkxSUdGa1pDQmhJR05oYldWc1EyRnpaV1FnY0hKdmNDQjBieUIwYUdseklHeHBjM1FzWEc0dkx5QjViM1VuYkd3Z2JtVmxaQ0IwYnlCelpYUWdZWFIwY21saWRYUmxUbUZ0WlNCMGJ5QnVZVzFsTG5SdlRHOTNaWEpEWVhObEtDbGNiaTh2SUdsdWMzUmxZV1FnYVc0Z2RHaGxJR0Z6YzJsbmJtMWxiblFnWW1Wc2IzY3VYRzVkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dUMVpGVWt4UFFVUkZSRjlDVDA5TVJVRk9MQ0JtWVd4elpTd2dMeThnYlhWemRGVnpaVkJ5YjNCbGNuUjVYRzRnSUc1aGJXVXNJQzh2SUdGMGRISnBZblYwWlU1aGJXVmNiaUFnYm5Wc2JDd2dMeThnWVhSMGNtbGlkWFJsVG1GdFpYTndZV05sWEc0Z0lHWmhiSE5sS1R0Y2JuMHBPeUF2THlCVWFHVnpaU0JoY21VZ1NGUk5UQ0JoZEhSeWFXSjFkR1Z6SUhSb1lYUWdiWFZ6ZENCaVpTQndiM05wZEdsMlpTQnVkVzFpWlhKekxseHVYRzViSjJOdmJITW5MQ0FuY205M2N5Y3NJQ2R6YVhwbEp5d2dKM053WVc0bklDOHZJRTVQVkVVNklHbG1JSGx2ZFNCaFpHUWdZU0JqWVcxbGJFTmhjMlZrSUhCeWIzQWdkRzhnZEdocGN5QnNhWE4wTEZ4dUx5OGdlVzkxSjJ4c0lHNWxaV1FnZEc4Z2MyVjBJR0YwZEhKcFluVjBaVTVoYldVZ2RHOGdibUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BYRzR2THlCcGJuTjBaV0ZrSUdsdUlIUm9aU0JoYzNOcFoyNXRaVzUwSUdKbGJHOTNMbHh1WFM1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNodVlXMWxLU0I3WEc0Z0lIQnliM0JsY25ScFpYTmJibUZ0WlYwZ1BTQnVaWGNnVUhKdmNHVnlkSGxKYm1adlVtVmpiM0prS0c1aGJXVXNJRkJQVTBsVVNWWkZYMDVWVFVWU1NVTXNJR1poYkhObExDQXZMeUJ0ZFhOMFZYTmxVSEp2Y0dWeWRIbGNiaUFnYm1GdFpTd2dMeThnWVhSMGNtbGlkWFJsVG1GdFpWeHVJQ0J1ZFd4c0xDQXZMeUJoZEhSeWFXSjFkR1ZPWVcxbGMzQmhZMlZjYmlBZ1ptRnNjMlVwTzF4dWZTazdJQzh2SUZSb1pYTmxJR0Z5WlNCSVZFMU1JR0YwZEhKcFluVjBaWE1nZEdoaGRDQnRkWE4wSUdKbElHNTFiV0psY25NdVhHNWNibHNuY205M1UzQmhiaWNzSUNkemRHRnlkQ2RkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dUbFZOUlZKSlF5d2dabUZzYzJVc0lDOHZJRzExYzNSVmMyVlFjbTl3WlhKMGVWeHVJQ0J1WVcxbExuUnZURzkzWlhKRFlYTmxLQ2tzSUM4dklHRjBkSEpwWW5WMFpVNWhiV1ZjYmlBZ2JuVnNiQ3dnTHk4Z1lYUjBjbWxpZFhSbFRtRnRaWE53WVdObFhHNGdJR1poYkhObEtUdGNibjBwTzF4dWRtRnlJRU5CVFVWTVNWcEZJRDBnTDF0Y1hDMWNYRHBkS0Z0aExYcGRLUzluTzF4dVhHNTJZWElnWTJGd2FYUmhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaDBiMnRsYmlrZ2UxeHVJQ0J5WlhSMWNtNGdkRzlyWlc1Yk1WMHVkRzlWY0hCbGNrTmhjMlVvS1R0Y2JuMDdJQzh2SUZSb2FYTWdhWE1nWVNCc2FYTjBJRzltSUdGc2JDQlRWa2NnWVhSMGNtbGlkWFJsY3lCMGFHRjBJRzVsWldRZ2MzQmxZMmxoYkNCallYTnBibWNzSUc1aGJXVnpjR0ZqYVc1bkxGeHVMeThnYjNJZ1ltOXZiR1ZoYmlCMllXeDFaU0JoYzNOcFoyNXRaVzUwTGlCU1pXZDFiR0Z5SUdGMGRISnBZblYwWlhNZ2RHaGhkQ0JxZFhOMElHRmpZMlZ3ZENCemRISnBibWR6WEc0dkx5QmhibVFnYUdGMlpTQjBhR1VnYzJGdFpTQnVZVzFsY3lCaGNtVWdiMjFwZEhSbFpDd2dhblZ6ZENCc2FXdGxJR2x1SUhSb1pTQklWRTFNSUhkb2FYUmxiR2x6ZEM1Y2JpOHZJRk52YldVZ2IyWWdkR2hsYzJVZ1lYUjBjbWxpZFhSbGN5QmpZVzRnWW1VZ2FHRnlaQ0IwYnlCbWFXNWtMaUJVYUdseklHeHBjM1FnZDJGeklHTnlaV0YwWldRZ1lubGNiaTh2SUhOamNtRndhVzVuSUhSb1pTQk5SRTRnWkc5amRXMWxiblJoZEdsdmJpNWNibHh1WEc1YkoyRmpZMlZ1ZEMxb1pXbG5hSFFuTENBbllXeHBaMjV0Wlc1MExXSmhjMlZzYVc1bEp5d2dKMkZ5WVdKcFl5MW1iM0p0Snl3Z0oySmhjMlZzYVc1bExYTm9hV1owSnl3Z0oyTmhjQzFvWldsbmFIUW5MQ0FuWTJ4cGNDMXdZWFJvSnl3Z0oyTnNhWEF0Y25Wc1pTY3NJQ2RqYjJ4dmNpMXBiblJsY25CdmJHRjBhVzl1Snl3Z0oyTnZiRzl5TFdsdWRHVnljRzlzWVhScGIyNHRabWxzZEdWeWN5Y3NJQ2RqYjJ4dmNpMXdjbTltYVd4bEp5d2dKMk52Ykc5eUxYSmxibVJsY21sdVp5Y3NJQ2RrYjIxcGJtRnVkQzFpWVhObGJHbHVaU2NzSUNkbGJtRmliR1V0WW1GamEyZHliM1Z1WkNjc0lDZG1hV3hzTFc5d1lXTnBkSGtuTENBblptbHNiQzF5ZFd4bEp5d2dKMlpzYjI5a0xXTnZiRzl5Snl3Z0oyWnNiMjlrTFc5d1lXTnBkSGtuTENBblptOXVkQzFtWVcxcGJIa25MQ0FuWm05dWRDMXphWHBsSnl3Z0oyWnZiblF0YzJsNlpTMWhaR3AxYzNRbkxDQW5abTl1ZEMxemRISmxkR05vSnl3Z0oyWnZiblF0YzNSNWJHVW5MQ0FuWm05dWRDMTJZWEpwWVc1MEp5d2dKMlp2Ym5RdGQyVnBaMmgwSnl3Z0oyZHNlWEJvTFc1aGJXVW5MQ0FuWjJ4NWNHZ3RiM0pwWlc1MFlYUnBiMjR0YUc5eWFYcHZiblJoYkNjc0lDZG5iSGx3YUMxdmNtbGxiblJoZEdsdmJpMTJaWEowYVdOaGJDY3NJQ2RvYjNKcGVpMWhaSFl0ZUNjc0lDZG9iM0pwZWkxdmNtbG5hVzR0ZUNjc0lDZHBiV0ZuWlMxeVpXNWtaWEpwYm1jbkxDQW5iR1YwZEdWeUxYTndZV05wYm1jbkxDQW5iR2xuYUhScGJtY3RZMjlzYjNJbkxDQW5iV0Z5YTJWeUxXVnVaQ2NzSUNkdFlYSnJaWEl0Yldsa0p5d2dKMjFoY210bGNpMXpkR0Z5ZENjc0lDZHZkbVZ5YkdsdVpTMXdiM05wZEdsdmJpY3NJQ2R2ZG1WeWJHbHVaUzEwYUdsamEyNWxjM01uTENBbmNHRnBiblF0YjNKa1pYSW5MQ0FuY0dGdWIzTmxMVEVuTENBbmNHOXBiblJsY2kxbGRtVnVkSE1uTENBbmNtVnVaR1Z5YVc1bkxXbHVkR1Z1ZENjc0lDZHphR0Z3WlMxeVpXNWtaWEpwYm1jbkxDQW5jM1J2Y0MxamIyeHZjaWNzSUNkemRHOXdMVzl3WVdOcGRIa25MQ0FuYzNSeWFXdGxkR2h5YjNWbmFDMXdiM05wZEdsdmJpY3NJQ2R6ZEhKcGEyVjBhSEp2ZFdkb0xYUm9hV05yYm1WemN5Y3NJQ2R6ZEhKdmEyVXRaR0Z6YUdGeWNtRjVKeXdnSjNOMGNtOXJaUzFrWVhOb2IyWm1jMlYwSnl3Z0ozTjBjbTlyWlMxc2FXNWxZMkZ3Snl3Z0ozTjBjbTlyWlMxc2FXNWxhbTlwYmljc0lDZHpkSEp2YTJVdGJXbDBaWEpzYVcxcGRDY3NJQ2R6ZEhKdmEyVXRiM0JoWTJsMGVTY3NJQ2R6ZEhKdmEyVXRkMmxrZEdnbkxDQW5kR1Y0ZEMxaGJtTm9iM0luTENBbmRHVjRkQzFrWldOdmNtRjBhVzl1Snl3Z0ozUmxlSFF0Y21WdVpHVnlhVzVuSnl3Z0ozVnVaR1Z5YkdsdVpTMXdiM05wZEdsdmJpY3NJQ2QxYm1SbGNteHBibVV0ZEdocFkydHVaWE56Snl3Z0ozVnVhV052WkdVdFltbGthU2NzSUNkMWJtbGpiMlJsTFhKaGJtZGxKeXdnSjNWdWFYUnpMWEJsY2kxbGJTY3NJQ2QyTFdGc2NHaGhZbVYwYVdNbkxDQW5kaTFvWVc1bmFXNW5KeXdnSjNZdGFXUmxiMmR5WVhCb2FXTW5MQ0FuZGkxdFlYUm9aVzFoZEdsallXd25MQ0FuZG1WamRHOXlMV1ZtWm1WamRDY3NJQ2QyWlhKMExXRmtkaTE1Snl3Z0ozWmxjblF0YjNKcFoybHVMWGduTENBbmRtVnlkQzF2Y21sbmFXNHRlU2NzSUNkM2IzSmtMWE53WVdOcGJtY25MQ0FuZDNKcGRHbHVaeTF0YjJSbEp5d2dKM2h0Ykc1ek9uaHNhVzVySnl3Z0ozZ3RhR1ZwWjJoMEp5QXZMeUJPVDFSRk9pQnBaaUI1YjNVZ1lXUmtJR0VnWTJGdFpXeERZWE5sWkNCd2NtOXdJSFJ2SUhSb2FYTWdiR2x6ZEN4Y2JpOHZJSGx2ZFNkc2JDQnVaV1ZrSUhSdklITmxkQ0JoZEhSeWFXSjFkR1ZPWVcxbElIUnZJRzVoYldVdWRHOU1iM2RsY2tOaGMyVW9LVnh1THk4Z2FXNXpkR1ZoWkNCcGJpQjBhR1VnWVhOemFXZHViV1Z1ZENCaVpXeHZkeTVjYmwwdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb1lYUjBjbWxpZFhSbFRtRnRaU2tnZTF4dUlDQjJZWElnYm1GdFpTQTlJR0YwZEhKcFluVjBaVTVoYldVdWNtVndiR0ZqWlNoRFFVMUZURWxhUlN3Z1kyRndhWFJoYkdsNlpTazdYRzRnSUhCeWIzQmxjblJwWlhOYmJtRnRaVjBnUFNCdVpYY2dVSEp2Y0dWeWRIbEpibVp2VW1WamIzSmtLRzVoYldVc0lGTlVVa2xPUnl3Z1ptRnNjMlVzSUM4dklHMTFjM1JWYzJWUWNtOXdaWEowZVZ4dUlDQmhkSFJ5YVdKMWRHVk9ZVzFsTENCdWRXeHNMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxjM0JoWTJWY2JpQWdabUZzYzJVcE8xeHVmU2s3SUM4dklGTjBjbWx1WnlCVFZrY2dZWFIwY21saWRYUmxjeUIzYVhSb0lIUm9aU0I0YkdsdWF5QnVZVzFsYzNCaFkyVXVYRzVjYmxzbmVHeHBibXM2WVdOMGRXRjBaU2NzSUNkNGJHbHVhenBoY21OeWIyeGxKeXdnSjNoc2FXNXJPbkp2YkdVbkxDQW5lR3hwYm1zNmMyaHZkeWNzSUNkNGJHbHVhenAwYVhSc1pTY3NJQ2Q0YkdsdWF6cDBlWEJsSnlBdkx5Qk9UMVJGT2lCcFppQjViM1VnWVdSa0lHRWdZMkZ0Wld4RFlYTmxaQ0J3Y205d0lIUnZJSFJvYVhNZ2JHbHpkQ3hjYmk4dklIbHZkU2RzYkNCdVpXVmtJSFJ2SUhObGRDQmhkSFJ5YVdKMWRHVk9ZVzFsSUhSdklHNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tWeHVMeThnYVc1emRHVmhaQ0JwYmlCMGFHVWdZWE56YVdkdWJXVnVkQ0JpWld4dmR5NWNibDB1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvWVhSMGNtbGlkWFJsVG1GdFpTa2dlMXh1SUNCMllYSWdibUZ0WlNBOUlHRjBkSEpwWW5WMFpVNWhiV1V1Y21Wd2JHRmpaU2hEUVUxRlRFbGFSU3dnWTJGd2FYUmhiR2w2WlNrN1hHNGdJSEJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHNWhiV1VzSUZOVVVrbE9SeXdnWm1Gc2MyVXNJQzh2SUcxMWMzUlZjMlZRY205d1pYSjBlVnh1SUNCaGRIUnlhV0oxZEdWT1lXMWxMQ0FuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXljc0lHWmhiSE5sS1R0Y2JuMHBPeUF2THlCVGRISnBibWNnVTFaSElHRjBkSEpwWW5WMFpYTWdkMmwwYUNCMGFHVWdlRzFzSUc1aGJXVnpjR0ZqWlM1Y2JseHVXeWQ0Yld3NlltRnpaU2NzSUNkNGJXdzZiR0Z1Wnljc0lDZDRiV3c2YzNCaFkyVW5JQzh2SUU1UFZFVTZJR2xtSUhsdmRTQmhaR1FnWVNCallXMWxiRU5oYzJWa0lIQnliM0FnZEc4Z2RHaHBjeUJzYVhOMExGeHVMeThnZVc5MUoyeHNJRzVsWldRZ2RHOGdjMlYwSUdGMGRISnBZblYwWlU1aGJXVWdkRzhnYm1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwWEc0dkx5QnBibk4wWldGa0lHbHVJSFJvWlNCaGMzTnBaMjV0Wlc1MElHSmxiRzkzTGx4dVhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaGhkSFJ5YVdKMWRHVk9ZVzFsS1NCN1hHNGdJSFpoY2lCdVlXMWxJRDBnWVhSMGNtbGlkWFJsVG1GdFpTNXlaWEJzWVdObEtFTkJUVVZNU1ZwRkxDQmpZWEJwZEdGc2FYcGxLVHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJR0YwZEhKcFluVjBaVTVoYldVc0lDZG9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVlUVXd2TVRrNU9DOXVZVzFsYzNCaFkyVW5MQ0JtWVd4elpTazdYRzU5S1RzZ0x5OGdWR2hsYzJVZ1lYUjBjbWxpZFhSbElHVjRhWE4wY3lCaWIzUm9JR2x1SUVoVVRVd2dZVzVrSUZOV1J5NWNiaTh2SUZSb1pTQmhkSFJ5YVdKMWRHVWdibUZ0WlNCcGN5QmpZWE5sTFhObGJuTnBkR2wyWlNCcGJpQlRWa2NnYzI4Z2QyVWdZMkZ1SjNRZ2FuVnpkQ0IxYzJWY2JpOHZJSFJvWlNCU1pXRmpkQ0J1WVcxbElHeHBhMlVnZDJVZ1pHOGdabTl5SUdGMGRISnBZblYwWlhNZ2RHaGhkQ0JsZUdsemRDQnZibXg1SUdsdUlFaFVUVXd1WEc1Y2Jsc25kR0ZpU1c1a1pYZ25MQ0FuWTNKdmMzTlBjbWxuYVc0blhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaGhkSFJ5YVdKMWRHVk9ZVzFsS1NCN1hHNGdJSEJ5YjNCbGNuUnBaWE5iWVhSMGNtbGlkWFJsVG1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHRjBkSEpwWW5WMFpVNWhiV1VzSUZOVVVrbE9SeXdnWm1Gc2MyVXNJQzh2SUcxMWMzUlZjMlZRY205d1pYSjBlVnh1SUNCaGRIUnlhV0oxZEdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0Nrc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJVYUdWelpTQmhkSFJ5YVdKMWRHVnpJR0ZqWTJWd2RDQlZVa3h6TGlCVWFHVnpaU0J0ZFhOMElHNXZkQ0JoYkd4dmR5QnFZWFpoYzJOeWFYQjBPaUJWVWt4VExseHVMeThnVkdobGMyVWdkMmxzYkNCaGJITnZJRzVsWldRZ2RHOGdZV05qWlhCMElGUnlkWE4wWldRZ1ZIbHdaWE1nYjJKcVpXTjBJR2x1SUhSb1pTQm1kWFIxY21VdVhHNWNiblpoY2lCNGJHbHVhMGh5WldZZ1BTQW5lR3hwYm10SWNtVm1KenRjYm5CeWIzQmxjblJwWlhOYmVHeHBibXRJY21WbVhTQTlJRzVsZHlCUWNtOXdaWEowZVVsdVptOVNaV052Y21Rb0ozaHNhVzVyU0hKbFppY3NJRk5VVWtsT1J5d2dabUZzYzJVc0lDOHZJRzExYzNSVmMyVlFjbTl3WlhKMGVWeHVKM2hzYVc1ck9taHlaV1luTENBbmFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5Y3NJSFJ5ZFdVcE8xeHVXeWR6Y21NbkxDQW5hSEpsWmljc0lDZGhZM1JwYjI0bkxDQW5abTl5YlVGamRHbHZiaWRkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0dGMGRISnBZblYwWlU1aGJXVXBJSHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdGhkSFJ5YVdKMWRHVk9ZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvWVhSMGNtbGlkWFJsVG1GdFpTd2dVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJR0YwZEhKcFluVjBaVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LU3dnTHk4Z1lYUjBjbWxpZFhSbFRtRnRaVnh1SUNCdWRXeHNMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxjM0JoWTJWY2JpQWdkSEoxWlNrN1hHNTlLVHRjYmx4dWRtRnlJRkpsWVdOMFJHVmlkV2REZFhKeVpXNTBSbkpoYldVZ1BTQnVkV3hzTzF4dVhHNTdYRzRnSUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVWdQU0JTWldGamRGTm9ZWEpsWkVsdWRHVnlibUZzY3k1U1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxPMXh1ZlNBdkx5QkJJR3BoZG1GelkzSnBjSFE2SUZWU1RDQmpZVzRnWTI5dWRHRnBiaUJzWldGa2FXNW5JRU13SUdOdmJuUnliMndnYjNJZ1hGeDFNREF5TUNCVFVFRkRSU3hjYmk4dklHRnVaQ0JoYm5rZ2JtVjNiR2x1WlNCdmNpQjBZV0lnWVhKbElHWnBiSFJsY21Wa0lHOTFkQ0JoY3lCcFppQjBhR1Y1SjNKbElHNXZkQ0J3WVhKMElHOW1JSFJvWlNCVlVrd3VYRzR2THlCb2RIUndjem92TDNWeWJDNXpjR1ZqTG5kb1lYUjNaeTV2Y21jdkkzVnliQzF3WVhKemFXNW5YRzR2THlCVVlXSWdiM0lnYm1WM2JHbHVaU0JoY21VZ1pHVm1hVzVsWkNCaGN5QmNYSEpjWEc1Y1hIUTZYRzR2THlCb2RIUndjem92TDJsdVpuSmhMbk53WldNdWQyaGhkSGRuTG05eVp5OGpZWE5qYVdrdGRHRmlMVzl5TFc1bGQyeHBibVZjYmk4dklFRWdRekFnWTI5dWRISnZiQ0JwY3lCaElHTnZaR1VnY0c5cGJuUWdhVzRnZEdobElISmhibWRsSUZ4Y2RUQXdNREFnVGxWTVRDQjBieUJjWEhVd01ERkdYRzR2THlCSlRrWlBVazFCVkVsUFRpQlRSVkJCVWtGVVQxSWdUMDVGTENCcGJtTnNkWE5wZG1VNlhHNHZMeUJvZEhSd2N6b3ZMMmx1Wm5KaExuTndaV011ZDJoaGRIZG5MbTl5Wnk4all6QXRZMjl1ZEhKdmJDMXZjaTF6Y0dGalpWeHVYRzR2S2lCbGMyeHBiblF0WkdsellXSnNaU0J0WVhndGJHVnVJQ292WEc1Y2JseHVkbUZ5SUdselNtRjJZVk5qY21sd2RGQnliM1J2WTI5c0lEMGdMMTViWEZ4MU1EQXdNQzFjWEhVd01ERkdJRjBxYWx0Y1hISmNYRzVjWEhSZEttRmJYRnh5WEZ4dVhGeDBYU3AyVzF4Y2NseGNibHhjZEYwcVlWdGNYSEpjWEc1Y1hIUmRLbk5iWEZ4eVhGeHVYRngwWFNwalcxeGNjbHhjYmx4Y2RGMHFjbHRjWEhKY1hHNWNYSFJkS21sYlhGeHlYRnh1WEZ4MFhTcHdXMXhjY2x4Y2JseGNkRjBxZEZ0Y1hISmNYRzVjWEhSZEtseGNPaTlwTzF4dWRtRnlJR1JwWkZkaGNtNGdQU0JtWVd4elpUdGNibHh1Wm5WdVkzUnBiMjRnYzJGdWFYUnBlbVZWVWt3b2RYSnNLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9JV1JwWkZkaGNtNGdKaVlnYVhOS1lYWmhVMk55YVhCMFVISnZkRzlqYjJ3dWRHVnpkQ2gxY213cEtTQjdYRzRnSUNBZ0lDQmthV1JYWVhKdUlEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ1pYSnliM0lvSjBFZ1puVjBkWEpsSUhabGNuTnBiMjRnYjJZZ1VtVmhZM1FnZDJsc2JDQmliRzlqYXlCcVlYWmhjMk55YVhCME9pQlZVa3h6SUdGeklHRWdjMlZqZFhKcGRIa2djSEpsWTJGMWRHbHZiaTRnSnlBcklDZFZjMlVnWlhabGJuUWdhR0Z1Wkd4bGNuTWdhVzV6ZEdWaFpDQnBaaUI1YjNVZ1kyRnVMaUJKWmlCNWIzVWdibVZsWkNCMGJ5Qm5aVzVsY21GMFpTQjFibk5oWm1VZ1NGUk5UQ0IwY25rZ0p5QXJJQ2QxYzJsdVp5QmtZVzVuWlhKdmRYTnNlVk5sZEVsdWJtVnlTRlJOVENCcGJuTjBaV0ZrTGlCU1pXRmpkQ0IzWVhNZ2NHRnpjMlZrSUNWekxpY3NJRXBUVDA0dWMzUnlhVzVuYVdaNUtIVnliQ2twTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUVkbGRDQjBhR1VnZG1Gc2RXVWdabTl5SUdFZ2NISnZjR1Z5ZEhrZ2IyNGdZU0J1YjJSbExpQlBibXg1SUhWelpXUWdhVzRnUkVWV0lHWnZjaUJUVTFJZ2RtRnNhV1JoZEdsdmJpNWNiaUFxSUZSb1pTQmNJbVY0Y0dWamRHVmtYQ0lnWVhKbmRXMWxiblFnYVhNZ2RYTmxaQ0JoY3lCaElHaHBiblFnYjJZZ2QyaGhkQ0IwYUdVZ1pYaHdaV04wWldRZ2RtRnNkV1VnYVhNdVhHNGdLaUJUYjIxbElIQnliM0JsY25ScFpYTWdhR0YyWlNCdGRXeDBhWEJzWlNCbGNYVnBkbUZzWlc1MElIWmhiSFZsY3k1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnWjJWMFZtRnNkV1ZHYjNKUWNtOXdaWEowZVNodWIyUmxMQ0J1WVcxbExDQmxlSEJsWTNSbFpDd2djSEp2Y0dWeWRIbEpibVp2S1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvY0hKdmNHVnlkSGxKYm1adkxtMTFjM1JWYzJWUWNtOXdaWEowZVNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YjNCbGNuUjVUbUZ0WlNBOUlIQnliM0JsY25SNVNXNW1ieTV3Y205d1pYSjBlVTVoYldVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm05a1pWdHdjbTl3WlhKMGVVNWhiV1ZkTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBaaUFvSUhCeWIzQmxjblI1U1c1bWJ5NXpZVzVwZEdsNlpWVlNUQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QkpaaUIzWlNCb1lYWmxiaWQwSUdaMWJHeDVJR1JwYzJGaWJHVmtJR3BoZG1GelkzSnBjSFE2SUZWU1RITXNJR0Z1WkNCcFpseHVJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2FIbGtjbUYwYVc5dUlHbHpJSE4xWTJObGMzTm1kV3dnYjJZZ1lTQnFZWFpoYzJOeWFYQjBPaUJWVWt3c0lIZGxYRzRnSUNBZ0lDQWdJQzh2SUhOMGFXeHNJSGRoYm5RZ2RHOGdkMkZ5YmlCdmJpQjBhR1VnWTJ4cFpXNTBMbHh1SUNBZ0lDQWdJQ0J6WVc1cGRHbDZaVlZTVENnbkp5QXJJR1Y0Y0dWamRHVmtLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlHRjBkSEpwWW5WMFpVNWhiV1VnUFNCd2NtOXdaWEowZVVsdVptOHVZWFIwY21saWRYUmxUbUZ0WlR0Y2JpQWdJQ0FnSUhaaGNpQnpkSEpwYm1kV1lXeDFaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJR2xtSUNod2NtOXdaWEowZVVsdVptOHVkSGx3WlNBOVBUMGdUMVpGVWt4UFFVUkZSRjlDVDA5TVJVRk9LU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHViMlJsTG1oaGMwRjBkSEpwWW5WMFpTaGhkSFJ5YVdKMWRHVk9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCMllXeDFaU0E5SUc1dlpHVXVaMlYwUVhSMGNtbGlkWFJsS0dGMGRISnBZblYwWlU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElEMDlQU0FuSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSE5vYjNWc1pGSmxiVzkyWlVGMGRISnBZblYwWlNodVlXMWxMQ0JsZUhCbFkzUmxaQ3dnY0hKdmNHVnlkSGxKYm1adkxDQm1ZV3h6WlNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVWdQVDA5SUNjbklDc2daWGh3WldOMFpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGVIQmxZM1JsWkR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvYm05a1pTNW9ZWE5CZEhSeWFXSjFkR1VvWVhSMGNtbGlkWFJsVG1GdFpTa3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaU2h1WVcxbExDQmxlSEJsWTNSbFpDd2djSEp2Y0dWeWRIbEpibVp2TENCbVlXeHpaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCb1lXUWdZVzRnWVhSMGNtbGlkWFJsSUdKMWRDQnphRzkxYkdSdUozUWdhR0YyWlNCb1lXUWdiMjVsTENCemJ5QnlaV0ZrSUdsMFhHNGdJQ0FnSUNBZ0lDQWdMeThnWm05eUlIUm9aU0JsY25KdmNpQnRaWE56WVdkbExseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTG1kbGRFRjBkSEpwWW5WMFpTaGhkSFJ5YVdKMWRHVk9ZVzFsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR2xtSUNod2NtOXdaWEowZVVsdVptOHVkSGx3WlNBOVBUMGdRazlQVEVWQlRpa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JSFJvYVhNZ2QyRnpJR0VnWW05dmJHVmhiaXdnYVhRZ1pHOWxjMjRuZENCdFlYUjBaWElnZDJoaGRDQjBhR1VnZG1Gc2RXVWdhWE5jYmlBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnWm1GamRDQjBhR0YwSUhkbElHaGhkbVVnYVhRZ2FYTWdkR2hsSUhOaGJXVWdZWE1nZEdobElHVjRjR1ZqZEdWa0xseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmxlSEJsWTNSbFpEdGNiaUFnSUNBZ0lDQWdmU0F2THlCRmRtVnVJR2xtSUhSb2FYTWdjSEp2Y0dWeWRIa2dkWE5sY3lCaElHNWhiV1Z6Y0dGalpTQjNaU0IxYzJVZ1oyVjBRWFIwY21saWRYUmxYRzRnSUNBZ0lDQWdJQzh2SUdKbFkyRjFjMlVnZDJVZ1lYTnpkVzFsSUdsMGN5QnVZVzFsYzNCaFkyVmtJRzVoYldVZ2FYTWdkR2hsSUhOaGJXVWdZWE1nYjNWeUlHTnZibVpwWnk1Y2JpQWdJQ0FnSUNBZ0x5OGdWRzhnZFhObElHZGxkRUYwZEhKcFluVjBaVTVUSUhkbElHNWxaV1FnZEdobElHeHZZMkZzSUc1aGJXVWdkMmhwWTJnZ2QyVWdaRzl1SjNRZ2FHRjJaVnh1SUNBZ0lDQWdJQ0F2THlCcGJpQnZkWElnWTI5dVptbG5JR0YwYlM1Y2JseHVYRzRnSUNBZ0lDQWdJSE4wY21sdVoxWmhiSFZsSUQwZ2JtOWtaUzVuWlhSQmRIUnlhV0oxZEdVb1lYUjBjbWxpZFhSbFRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHphRzkxYkdSU1pXMXZkbVZCZEhSeWFXSjFkR1VvYm1GdFpTd2daWGh3WldOMFpXUXNJSEJ5YjNCbGNuUjVTVzVtYnl3Z1ptRnNjMlVwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCemRISnBibWRXWVd4MVpTQTlQVDBnYm5Wc2JDQS9JR1Y0Y0dWamRHVmtJRG9nYzNSeWFXNW5WbUZzZFdVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tITjBjbWx1WjFaaGJIVmxJRDA5UFNBbkp5QXJJR1Y0Y0dWamRHVmtLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJsZUhCbFkzUmxaRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkSEpwYm1kV1lXeDFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMWNiaThxS2x4dUlDb2dSMlYwSUhSb1pTQjJZV3gxWlNCbWIzSWdZU0JoZEhSeWFXSjFkR1VnYjI0Z1lTQnViMlJsTGlCUGJteDVJSFZ6WldRZ2FXNGdSRVZXSUdadmNpQlRVMUlnZG1Gc2FXUmhkR2x2Ymk1Y2JpQXFJRlJvWlNCMGFHbHlaQ0JoY21kMWJXVnVkQ0JwY3lCMWMyVmtJR0Z6SUdFZ2FHbHVkQ0J2WmlCM2FHRjBJSFJvWlNCbGVIQmxZM1JsWkNCMllXeDFaU0JwY3k0Z1UyOXRaVnh1SUNvZ1lYUjBjbWxpZFhSbGN5Qm9ZWFpsSUcxMWJIUnBjR3hsSUdWeGRXbDJZV3hsYm5RZ2RtRnNkV1Z6TGx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdkbGRGWmhiSFZsUm05eVFYUjBjbWxpZFhSbEtHNXZaR1VzSUc1aGJXVXNJR1Y0Y0dWamRHVmtLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9JV2x6UVhSMGNtbGlkWFJsVG1GdFpWTmhabVVvYm1GdFpTa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JVzV2WkdVdWFHRnpRWFIwY21saWRYUmxLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1pYaHdaV04wWldRZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUhWdVpHVm1hVzVsWkNBNklHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhaaGJIVmxJRDBnYm05a1pTNW5aWFJCZEhSeWFXSjFkR1VvYm1GdFpTazdYRzVjYmlBZ0lDQnBaaUFvZG1Gc2RXVWdQVDA5SUNjbklDc2daWGh3WldOMFpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmxlSEJsWTNSbFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUgxY2JuMWNiaThxS2x4dUlDb2dVMlYwY3lCMGFHVWdkbUZzZFdVZ1ptOXlJR0VnY0hKdmNHVnlkSGtnYjI0Z1lTQnViMlJsTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3UkU5TlJXeGxiV1Z1ZEgwZ2JtOWtaVnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc1aGJXVmNiaUFxSUVCd1lYSmhiU0I3S24wZ2RtRnNkV1ZjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJ6WlhSV1lXeDFaVVp2Y2xCeWIzQmxjblI1S0c1dlpHVXNJRzVoYldVc0lIWmhiSFZsTENCcGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5a2dlMXh1SUNCMllYSWdjSEp2Y0dWeWRIbEpibVp2SUQwZ1oyVjBVSEp2Y0dWeWRIbEpibVp2S0c1aGJXVXBPMXh1WEc0Z0lHbG1JQ2h6YUc5MWJHUkpaMjV2Y21WQmRIUnlhV0oxZEdVb2JtRnRaU3dnY0hKdmNHVnlkSGxKYm1adkxDQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeWtwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JwWmlBb2MyaHZkV3hrVW1WdGIzWmxRWFIwY21saWRYUmxLRzVoYldVc0lIWmhiSFZsTENCd2NtOXdaWEowZVVsdVptOHNJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBWR0ZuS1NrZ2UxeHVJQ0FnSUhaaGJIVmxJRDBnYm5Wc2JEdGNiaUFnZlNBdkx5QkpaaUIwYUdVZ2NISnZjQ0JwYzI0bmRDQnBiaUIwYUdVZ2MzQmxZMmxoYkNCc2FYTjBMQ0IwY21WaGRDQnBkQ0JoY3lCaElITnBiWEJzWlNCaGRIUnlhV0oxZEdVdVhHNWNibHh1SUNCcFppQW9hWE5EZFhOMGIyMURiMjF3YjI1bGJuUlVZV2NnZkh3Z2NISnZjR1Z5ZEhsSmJtWnZJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0dselFYUjBjbWxpZFhSbFRtRnRaVk5oWm1Vb2JtRnRaU2twSUh0Y2JpQWdJQ0FnSUhaaGNpQmZZWFIwY21saWRYUmxUbUZ0WlNBOUlHNWhiV1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaDJZV3gxWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsTG5KbGJXOTJaVUYwZEhKcFluVjBaU2hmWVhSMGNtbGlkWFJsVG1GdFpTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsTG5ObGRFRjBkSEpwWW5WMFpTaGZZWFIwY21saWRYUmxUbUZ0WlN3Z0lDY25JQ3NnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ0ZFhOMFZYTmxVSEp2Y0dWeWRIa2dQU0J3Y205d1pYSjBlVWx1Wm04dWJYVnpkRlZ6WlZCeWIzQmxjblI1TzF4dVhHNGdJR2xtSUNodGRYTjBWWE5sVUhKdmNHVnlkSGtwSUh0Y2JpQWdJQ0IyWVhJZ2NISnZjR1Z5ZEhsT1lXMWxJRDBnY0hKdmNHVnlkSGxKYm1adkxuQnliM0JsY25SNVRtRnRaVHRjYmx4dUlDQWdJR2xtSUNoMllXeDFaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIUjVjR1VnUFNCd2NtOXdaWEowZVVsdVptOHVkSGx3WlR0Y2JpQWdJQ0FnSUc1dlpHVmJjSEp2Y0dWeWRIbE9ZVzFsWFNBOUlIUjVjR1VnUFQwOUlFSlBUMHhGUVU0Z1B5Qm1ZV3h6WlNBNklDY25PMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QkRiMjUwY21GeWVTQjBieUJnYzJWMFFYUjBjbWxpZFhSbFlDd2diMkpxWldOMElIQnliM0JsY25ScFpYTWdZWEpsSUhCeWIzQmxjbXg1WEc0Z0lDQWdJQ0F2THlCZ2RHOVRkSEpwYm1kZ1pXUWdZbmtnU1VVNEx6a3VYRzRnSUNBZ0lDQnViMlJsVzNCeWIzQmxjblI1VG1GdFpWMGdQU0IyWVd4MVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMGdMeThnVkdobElISmxjM1FnWVhKbElIUnlaV0YwWldRZ1lYTWdZWFIwY21saWRYUmxjeUIzYVhSb0lITndaV05wWVd3Z1kyRnpaWE11WEc1Y2JseHVJQ0IyWVhJZ1lYUjBjbWxpZFhSbFRtRnRaU0E5SUhCeWIzQmxjblI1U1c1bWJ5NWhkSFJ5YVdKMWRHVk9ZVzFsTEZ4dUlDQWdJQ0FnWVhSMGNtbGlkWFJsVG1GdFpYTndZV05sSUQwZ2NISnZjR1Z5ZEhsSmJtWnZMbUYwZEhKcFluVjBaVTVoYldWemNHRmpaVHRjYmx4dUlDQnBaaUFvZG1Gc2RXVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnViMlJsTG5KbGJXOTJaVUYwZEhKcFluVjBaU2hoZEhSeWFXSjFkR1ZPWVcxbEtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjJZWElnWDNSNWNHVWdQU0J3Y205d1pYSjBlVWx1Wm04dWRIbHdaVHRjYmlBZ0lDQjJZWElnWVhSMGNtbGlkWFJsVm1Gc2RXVTdYRzVjYmlBZ0lDQnBaaUFvWDNSNWNHVWdQVDA5SUVKUFQweEZRVTRnZkh3Z1gzUjVjR1VnUFQwOUlFOVdSVkpNVDBGRVJVUmZRazlQVEVWQlRpQW1KaUIyWVd4MVpTQTlQVDBnZEhKMVpTa2dlMXh1SUNBZ0lDQWdMeThnU1dZZ1lYUjBjbWxpZFhSbElIUjVjR1VnYVhNZ1ltOXZiR1ZoYml3Z2QyVWdhMjV2ZHlCbWIzSWdjM1Z5WlNCcGRDQjNiMjRuZENCaVpTQmhiaUJsZUdWamRYUnBiMjRnYzJsdWExeHVJQ0FnSUNBZ0x5OGdZVzVrSUhkbElIZHZiaWQwSUhKbGNYVnBjbVVnVkhKMWMzUmxaQ0JVZVhCbElHaGxjbVV1WEc0Z0lDQWdJQ0JoZEhSeWFXSjFkR1ZXWVd4MVpTQTlJQ2NuTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJnYzJWMFFYUjBjbWxpZFhSbFlDQjNhWFJvSUc5aWFtVmpkSE1nWW1WamIyMWxjeUJ2Ym14NUlHQmJiMkpxWldOMFhXQWdhVzRnU1VVNEx6a3NYRzRnSUNBZ0lDQXZMeUFvSnljZ0t5QjJZV3gxWlNrZ2JXRnJaWE1nYVhRZ2IzVjBjSFYwSUhSb1pTQmpiM0p5WldOMElIUnZVM1J5YVc1bktDa3RkbUZzZFdVdVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHRjBkSEpwWW5WMFpWWmhiSFZsSUQwZ0p5Y2dLeUIyWVd4MVpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hCeWIzQmxjblI1U1c1bWJ5NXpZVzVwZEdsNlpWVlNUQ2tnZTF4dUlDQWdJQ0FnSUNCellXNXBkR2w2WlZWU1RDaGhkSFJ5YVdKMWRHVldZV3gxWlM1MGIxTjBjbWx1WnlncEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxLU0I3WEc0Z0lDQWdJQ0J1YjJSbExuTmxkRUYwZEhKcFluVjBaVTVUS0dGMGRISnBZblYwWlU1aGJXVnpjR0ZqWlN3Z1lYUjBjbWxpZFhSbFRtRnRaU3dnWVhSMGNtbGlkWFJsVm1Gc2RXVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdWIyUmxMbk5sZEVGMGRISnBZblYwWlNoaGRIUnlhV0oxZEdWT1lXMWxMQ0JoZEhSeWFXSjFkR1ZXWVd4MVpTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCQ1JVWlBVa1ZmVTB4QlUwaGZVa1VnUFNBdlhpZ3VLaWxiWEZ4Y1hGeGNMMTB2TzF4dVpuVnVZM1JwYjI0Z1pHVnpZM0pwWW1WRGIyMXdiMjVsYm5SR2NtRnRaU0FvYm1GdFpTd2djMjkxY21ObExDQnZkMjVsY2s1aGJXVXBJSHRjYmlBZ2RtRnlJSE52ZFhKalpVbHVabThnUFNBbkp6dGNibHh1SUNCcFppQW9jMjkxY21ObEtTQjdYRzRnSUNBZ2RtRnlJSEJoZEdnZ1BTQnpiM1Z5WTJVdVptbHNaVTVoYldVN1hHNGdJQ0FnZG1GeUlHWnBiR1ZPWVcxbElEMGdjR0YwYUM1eVpYQnNZV05sS0VKRlJrOVNSVjlUVEVGVFNGOVNSU3dnSnljcE8xeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdTVzRnUkVWV0xDQnBibU5zZFdSbElHTnZaR1VnWm05eUlHRWdZMjl0Ylc5dUlITndaV05wWVd3Z1kyRnpaVHBjYmlBZ0lDQWdJQzh2SUhCeVpXWmxjaUJjSW1admJHUmxjaTlwYm1SbGVDNXFjMXdpSUdsdWMzUmxZV1FnYjJZZ2FuVnpkQ0JjSW1sdVpHVjRMbXB6WENJdVhHNGdJQ0FnSUNCcFppQW9MMTVwYm1SbGVGeGNMaTh1ZEdWemRDaG1hV3hsVG1GdFpTa3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHMWhkR05vSUQwZ2NHRjBhQzV0WVhSamFDaENSVVpQVWtWZlUweEJVMGhmVWtVcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNodFlYUmphQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ3WVhSb1FtVm1iM0psVTJ4aGMyZ2dQU0J0WVhSamFGc3hYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h3WVhSb1FtVm1iM0psVTJ4aGMyZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJtYjJ4a1pYSk9ZVzFsSUQwZ2NHRjBhRUpsWm05eVpWTnNZWE5vTG5KbGNHeGhZMlVvUWtWR1QxSkZYMU5NUVZOSVgxSkZMQ0FuSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYVd4bFRtRnRaU0E5SUdadmJHUmxjazVoYldVZ0t5QW5MeWNnS3lCbWFXeGxUbUZ0WlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnpiM1Z5WTJWSmJtWnZJRDBnSnlBb1lYUWdKeUFySUdacGJHVk9ZVzFsSUNzZ0p6b25JQ3NnYzI5MWNtTmxMbXhwYm1WT2RXMWlaWElnS3lBbktTYzdYRzRnSUgwZ1pXeHpaU0JwWmlBb2IzZHVaWEpPWVcxbEtTQjdYRzRnSUNBZ2MyOTFjbU5sU1c1bWJ5QTlJQ2NnS0dOeVpXRjBaV1FnWW5rZ0p5QXJJRzkzYm1WeVRtRnRaU0FySUNjcEp6dGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQW5YRnh1SUNBZ0lHbHVJQ2NnS3lBb2JtRnRaU0I4ZkNBblZXNXJibTkzYmljcElDc2djMjkxY21ObFNXNW1ienRjYm4xY2JseHVMeThnVkdobElGTjViV0p2YkNCMWMyVmtJSFJ2SUhSaFp5QjBhR1VnVW1WaFkzUkZiR1Z0Wlc1MExXeHBhMlVnZEhsd1pYTXVJRWxtSUhSb1pYSmxJR2x6SUc1dklHNWhkR2wyWlNCVGVXMWliMnhjYmk4dklHNXZjaUJ3YjJ4NVptbHNiQ3dnZEdobGJpQmhJSEJzWVdsdUlHNTFiV0psY2lCcGN5QjFjMlZrSUdadmNpQndaWEptYjNKdFlXNWpaUzVjYm5aaGNpQm9ZWE5UZVcxaWIyd2dQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGTjViV0p2YkM1bWIzSTdYRzUyWVhJZ1VrVkJRMVJmUlV4RlRVVk9WRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1Wld4bGJXVnVkQ2NwSURvZ01IaGxZV00zTzF4dWRtRnlJRkpGUVVOVVgxQlBVbFJCVEY5VVdWQkZJRDBnYUdGelUzbHRZbTlzSUQ4Z1UzbHRZbTlzTG1admNpZ25jbVZoWTNRdWNHOXlkR0ZzSnlrZ09pQXdlR1ZoWTJFN1hHNTJZWElnVWtWQlExUmZSbEpCUjAxRlRsUmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbVp5WVdkdFpXNTBKeWtnT2lBd2VHVmhZMkk3WEc1MllYSWdVa1ZCUTFSZlUxUlNTVU5VWDAxUFJFVmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbk4wY21samRGOXRiMlJsSnlrZ09pQXdlR1ZoWTJNN1hHNTJZWElnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbkJ5YjJacGJHVnlKeWtnT2lBd2VHVmhaREk3WEc1MllYSWdVa1ZCUTFSZlVGSlBWa2xFUlZKZlZGbFFSU0E5SUdoaGMxTjViV0p2YkNBL0lGTjViV0p2YkM1bWIzSW9KM0psWVdOMExuQnliM1pwWkdWeUp5a2dPaUF3ZUdWaFkyUTdYRzUyWVhJZ1VrVkJRMVJmUTA5T1ZFVllWRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1WTI5dWRHVjRkQ2NwSURvZ01IaGxZV05sT3lBdkx5QlVUMFJQT2lCWFpTQmtiMjRuZENCMWMyVWdRWE41Ym1OTmIyUmxJRzl5SUVOdmJtTjFjbkpsYm5STmIyUmxJR0Z1ZVcxdmNtVXVJRlJvWlhrZ2QyVnlaU0IwWlcxd2IzSmhjbmxjYm5aaGNpQlNSVUZEVkY5RFQwNURWVkpTUlU1VVgwMVBSRVZmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG1OdmJtTjFjbkpsYm5SZmJXOWtaU2NwSURvZ01IaGxZV05tTzF4dWRtRnlJRkpGUVVOVVgwWlBVbGRCVWtSZlVrVkdYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzVtYjNKM1lYSmtYM0psWmljcElEb2dNSGhsWVdRd08xeHVkbUZ5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV6ZFhOd1pXNXpaU2NwSURvZ01IaGxZV1F4TzF4dWRtRnlJRkpGUVVOVVgxTlZVMUJGVGxORlgweEpVMVJmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG5OMWMzQmxibk5sWDJ4cGMzUW5LU0E2SURCNFpXRmtPRHRjYm5aaGNpQlNSVUZEVkY5TlJVMVBYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV0Wlcxdkp5a2dPaUF3ZUdWaFpETTdYRzUyWVhJZ1VrVkJRMVJmVEVGYVdWOVVXVkJGSUQwZ2FHRnpVM2x0WW05c0lEOGdVM2x0WW05c0xtWnZjaWduY21WaFkzUXViR0Y2ZVNjcElEb2dNSGhsWVdRME8xeHVkbUZ5SUZKRlFVTlVYMEpNVDBOTFgxUlpVRVVnUFNCb1lYTlRlVzFpYjJ3Z1B5QlRlVzFpYjJ3dVptOXlLQ2R5WldGamRDNWliRzlqYXljcElEb2dNSGhsWVdRNU8xeHVkbUZ5SUUxQldVSkZYMGxVUlZKQlZFOVNYMU5aVFVKUFRDQTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ1UzbHRZbTlzTG1sMFpYSmhkRzl5TzF4dWRtRnlJRVpCVlZoZlNWUkZVa0ZVVDFKZlUxbE5RazlNSUQwZ0owQkFhWFJsY21GMGIzSW5PMXh1Wm5WdVkzUnBiMjRnWjJWMFNYUmxjbUYwYjNKR2JpaHRZWGxpWlVsMFpYSmhZbXhsS1NCN1hHNGdJR2xtSUNodFlYbGlaVWwwWlhKaFlteGxJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUJ0WVhsaVpVbDBaWEpoWW14bElDRTlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2RtRnlJRzFoZVdKbFNYUmxjbUYwYjNJZ1BTQk5RVmxDUlY5SlZFVlNRVlJQVWw5VFdVMUNUMHdnSmlZZ2JXRjVZbVZKZEdWeVlXSnNaVnROUVZsQ1JWOUpWRVZTUVZSUFVsOVRXVTFDVDB4ZElIeDhJRzFoZVdKbFNYUmxjbUZpYkdWYlJrRlZXRjlKVkVWU1FWUlBVbDlUV1UxQ1QweGRPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdiV0Y1WW1WSmRHVnlZWFJ2Y2lBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQnRZWGxpWlVsMFpYSmhkRzl5TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5WEc1Y2JuWmhjaUJWYm1sdWFYUnBZV3hwZW1Wa0lEMGdMVEU3WEc1MllYSWdVR1Z1WkdsdVp5QTlJREE3WEc1MllYSWdVbVZ6YjJ4MlpXUWdQU0F4TzF4dWRtRnlJRkpsYW1WamRHVmtJRDBnTWp0Y2JtWjFibU4wYVc5dUlISmxabWx1WlZKbGMyOXNkbVZrVEdGNmVVTnZiWEJ2Ym1WdWRDaHNZWHA1UTI5dGNHOXVaVzUwS1NCN1hHNGdJSEpsZEhWeWJpQnNZWHA1UTI5dGNHOXVaVzUwTGw5emRHRjBkWE1nUFQwOUlGSmxjMjlzZG1Wa0lEOGdiR0Y2ZVVOdmJYQnZibVZ1ZEM1ZmNtVnpkV3gwSURvZ2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlHbHVhWFJwWVd4cGVtVk1ZWHA1UTI5dGNHOXVaVzUwVkhsd1pTaHNZWHA1UTI5dGNHOXVaVzUwS1NCN1hHNGdJR2xtSUNoc1lYcDVRMjl0Y0c5dVpXNTBMbDl6ZEdGMGRYTWdQVDA5SUZWdWFXNXBkR2xoYkdsNlpXUXBJSHRjYmlBZ0lDQnNZWHA1UTI5dGNHOXVaVzUwTGw5emRHRjBkWE1nUFNCUVpXNWthVzVuTzF4dUlDQWdJSFpoY2lCamRHOXlJRDBnYkdGNmVVTnZiWEJ2Ym1WdWRDNWZZM1J2Y2p0Y2JpQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQmpkRzl5S0NrN1hHNGdJQ0FnYkdGNmVVTnZiWEJ2Ym1WdWRDNWZjbVZ6ZFd4MElEMGdkR2hsYm1GaWJHVTdYRzRnSUNBZ2RHaGxibUZpYkdVdWRHaGxiaWhtZFc1amRHbHZiaUFvYlc5a2RXeGxUMkpxWldOMEtTQjdYRzRnSUNBZ0lDQnBaaUFvYkdGNmVVTnZiWEJ2Ym1WdWRDNWZjM1JoZEhWeklEMDlQU0JRWlc1a2FXNW5LU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaV1poZFd4MFJYaHdiM0owSUQwZ2JXOWtkV3hsVDJKcVpXTjBMbVJsWm1GMWJIUTdYRzVjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hrWldaaGRXeDBSWGh3YjNKMElEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZHNZWHA1T2lCRmVIQmxZM1JsWkNCMGFHVWdjbVZ6ZFd4MElHOW1JR0VnWkhsdVlXMXBZeUJwYlhCdmNuUW9LU0JqWVd4c0xpQW5JQ3NnSjBsdWMzUmxZV1FnY21WalpXbDJaV1E2SUNWelhGeHVYRnh1V1c5MWNpQmpiMlJsSUhOb2IzVnNaQ0JzYjI5cklHeHBhMlU2SUZ4Y2JpQWdKeUFySUZ3aVkyOXVjM1FnVFhsRGIyMXdiMjVsYm5RZ1BTQnNZWHA1S0NncElEMCtJR2x0Y0c5eWRDZ25MaTlOZVVOdmJYQnZibVZ1ZENjcEtWd2lMQ0J0YjJSMWJHVlBZbXBsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHeGhlbmxEYjIxd2IyNWxiblF1WDNOMFlYUjFjeUE5SUZKbGMyOXNkbVZrTzF4dUlDQWdJQ0FnSUNCc1lYcDVRMjl0Y0c5dVpXNTBMbDl5WlhOMWJIUWdQU0JrWldaaGRXeDBSWGh3YjNKME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc0lHWjFibU4wYVc5dUlDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLR3hoZW5sRGIyMXdiMjVsYm5RdVgzTjBZWFIxY3lBOVBUMGdVR1Z1WkdsdVp5a2dlMXh1SUNBZ0lDQWdJQ0JzWVhwNVEyOXRjRzl1Wlc1MExsOXpkR0YwZFhNZ1BTQlNaV3BsWTNSbFpEdGNiaUFnSUNBZ0lDQWdiR0Y2ZVVOdmJYQnZibVZ1ZEM1ZmNtVnpkV3gwSUQwZ1pYSnliM0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWM0poY0hCbFpFNWhiV1VvYjNWMFpYSlVlWEJsTENCcGJtNWxjbFI1Y0dVc0lIZHlZWEJ3WlhKT1lXMWxLU0I3WEc0Z0lIWmhjaUJtZFc1amRHbHZiazVoYldVZ1BTQnBibTVsY2xSNWNHVXVaR2x6Y0d4aGVVNWhiV1VnZkh3Z2FXNXVaWEpVZVhCbExtNWhiV1VnZkh3Z0p5YzdYRzRnSUhKbGRIVnliaUJ2ZFhSbGNsUjVjR1V1WkdsemNHeGhlVTVoYldVZ2ZId2dLR1oxYm1OMGFXOXVUbUZ0WlNBaFBUMGdKeWNnUHlCM2NtRndjR1Z5VG1GdFpTQXJJRndpS0Z3aUlDc2dablZ1WTNScGIyNU9ZVzFsSUNzZ1hDSXBYQ0lnT2lCM2NtRndjR1Z5VG1GdFpTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb2RIbHdaU2tnZTF4dUlDQnBaaUFvZEhsd1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdTRzl6ZENCeWIyOTBMQ0IwWlhoMElHNXZaR1VnYjNJZ2FuVnpkQ0JwYm5aaGJHbGtJSFI1Y0dVdVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjBlWEJsTG5SaFp5QTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldObGFYWmxaQ0JoYmlCMWJtVjRjR1ZqZEdWa0lHOWlhbVZqZENCcGJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtDa3VJQ2NnS3lBblZHaHBjeUJwY3lCc2FXdGxiSGtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkSGx3WlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBlWEJsTG1ScGMzQnNZWGxPWVcxbElIeDhJSFI1Y0dVdWJtRnRaU0I4ZkNCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwZVhCbE8xeHVJQ0I5WEc1Y2JpQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnWTJGelpTQlNSVUZEVkY5R1VrRkhUVVZPVkY5VVdWQkZPbHh1SUNBZ0lDQWdjbVYwZFhKdUlDZEdjbUZuYldWdWRDYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMUJQVWxSQlRGOVVXVkJGT2x4dUlDQWdJQ0FnY21WMGRYSnVJQ2RRYjNKMFlXd25PMXh1WEc0Z0lDQWdZMkZ6WlNCU1JVRkRWRjlRVWs5R1NVeEZVbDlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVVISnZabWxzWlhKY0lqdGNibHh1SUNBZ0lHTmhjMlVnVWtWQlExUmZVMVJTU1VOVVgwMVBSRVZmVkZsUVJUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBblUzUnlhV04wVFc5a1pTYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVNlhHNGdJQ0FnSUNCeVpYUjFjbTRnSjFOMWMzQmxibk5sSnp0Y2JseHVJQ0FnSUdOaGMyVWdVa1ZCUTFSZlUxVlRVRVZPVTBWZlRFbFRWRjlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNkVGRYTndaVzV6WlV4cGMzUW5PMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEhsd1pTNGtKSFI1Y0dWdlppa2dlMXh1SUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlEVDA1VVJWaFVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBblEyOXVkR1Y0ZEM1RGIyNXpkVzFsY2ljN1hHNWNiaUFnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRkpQVmtsRVJWSmZWRmxRUlRwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRGIyNTBaWGgwTGxCeWIzWnBaR1Z5Snp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOUdUMUpYUVZKRVgxSkZSbDlVV1ZCRk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1oyVjBWM0poY0hCbFpFNWhiV1VvZEhsd1pTd2dkSGx3WlM1eVpXNWtaWElzSUNkR2IzSjNZWEprVW1WbUp5azdYRzVjYmlBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmVFVWTlQxOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2gwZVhCbExuUjVjR1VwTzF4dVhHNGdJQ0FnSUNCallYTmxJRkpGUVVOVVgwSk1UME5MWDFSWlVFVTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIUjVjR1V1Y21WdVpHVnlLVHRjYmx4dUlDQWdJQ0FnWTJGelpTQlNSVUZEVkY5TVFWcFpYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQjBlWEJsTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ5WlhOdmJIWmxaRlJvWlc1aFlteGxJRDBnY21WbWFXNWxVbVZ6YjJ4MlpXUk1ZWHA1UTI5dGNHOXVaVzUwS0hSb1pXNWhZbXhsS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTnZiSFpsWkZSb1pXNWhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaHlaWE52YkhabFpGUm9aVzVoWW14bEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dVhHNTJZWElnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTUXhJRDBnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNdVVtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaVHRjYmx4dVpuVnVZM1JwYjI0Z1pHVnpZM0pwWW1WR2FXSmxjaWhtYVdKbGNpa2dlMXh1SUNCemQybDBZMmdnS0dacFltVnlMblJoWnlrZ2UxeHVJQ0FnSUdOaGMyVWdTRzl6ZEZKdmIzUTZYRzRnSUNBZ1kyRnpaU0JJYjNOMFVHOXlkR0ZzT2x4dUlDQWdJR05oYzJVZ1NHOXpkRlJsZUhRNlhHNGdJQ0FnWTJGelpTQkdjbUZuYldWdWREcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUlFjbTkyYVdSbGNqcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUkRiMjV6ZFcxbGNqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBbkp6dGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCMllYSWdiM2R1WlhJZ1BTQm1hV0psY2k1ZlpHVmlkV2RQZDI1bGNqdGNiaUFnSUNBZ0lIWmhjaUJ6YjNWeVkyVWdQU0JtYVdKbGNpNWZaR1ZpZFdkVGIzVnlZMlU3WEc0Z0lDQWdJQ0IyWVhJZ2JtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCMllYSWdiM2R1WlhKT1lXMWxJRDBnYm5Wc2JEdGNibHh1SUNBZ0lDQWdhV1lnS0c5M2JtVnlLU0I3WEc0Z0lDQWdJQ0FnSUc5M2JtVnlUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb2IzZHVaWEl1ZEhsd1pTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQmtaWE5qY21saVpVTnZiWEJ2Ym1WdWRFWnlZVzFsS0c1aGJXVXNJSE52ZFhKalpTd2diM2R1WlhKT1lXMWxLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCblpYUlRkR0ZqYTBKNVJtbGlaWEpKYmtSbGRrRnVaRkJ5YjJRb2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdkbUZ5SUdsdVptOGdQU0FuSnp0Y2JpQWdkbUZ5SUc1dlpHVWdQU0IzYjNKclNXNVFjbTluY21WemN6dGNibHh1SUNCa2J5QjdYRzRnSUNBZ2FXNW1ieUFyUFNCa1pYTmpjbWxpWlVacFltVnlLRzV2WkdVcE8xeHVJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdmU0IzYUdsc1pTQW9ibTlrWlNrN1hHNWNiaUFnY21WMGRYSnVJR2x1Wm04N1hHNTlYRzUyWVhJZ1kzVnljbVZ1ZENBOUlHNTFiR3c3WEc1MllYSWdhWE5TWlc1a1pYSnBibWNnUFNCbVlXeHpaVHRjYm1aMWJtTjBhVzl1SUdkbGRFTjFjbkpsYm5SR2FXSmxjazkzYm1WeVRtRnRaVWx1UkdWMlQzSk9kV3hzS0NrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnZkMjVsY2lBOUlHTjFjbkpsYm5RdVgyUmxZblZuVDNkdVpYSTdYRzVjYmlBZ0lDQnBaaUFvYjNkdVpYSWdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzkzYm1WeUlDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvYjNkdVpYSXVkSGx3WlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5WEc1bWRXNWpkR2x2YmlCblpYUkRkWEp5Wlc1MFJtbGlaWEpUZEdGamEwbHVSR1YyS0NrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuSnp0Y2JpQWdJQ0I5SUM4dklGTmhabVVnWW1WallYVnpaU0JwWmlCamRYSnlaVzUwSUdacFltVnlJR1Y0YVhOMGN5d2dkMlVnWVhKbElISmxZMjl1WTJsc2FXNW5MRnh1SUNBZ0lDOHZJR0Z1WkNCcGRDQnBjeUJuZFdGeVlXNTBaV1ZrSUhSdklHSmxJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUhabGNuTnBiMjR1WEc1Y2JseHVJQ0FnSUhKbGRIVnliaUJuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvWTNWeWNtVnVkQ2s3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhKbGMyVjBRM1Z5Y21WdWRFWnBZbVZ5S0NrZ2UxeHVJQ0I3WEc0Z0lDQWdVbVZoWTNSRVpXSjFaME4xY25KbGJuUkdjbUZ0WlNReExtZGxkRU4xY25KbGJuUlRkR0ZqYXlBOUlHNTFiR3c3WEc0Z0lDQWdZM1Z5Y21WdWRDQTlJRzUxYkd3N1hHNGdJQ0FnYVhOU1pXNWtaWEpwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MyVjBRM1Z5Y21WdWRFWnBZbVZ5S0dacFltVnlLU0I3WEc0Z0lIdGNiaUFnSUNCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxKREV1WjJWMFEzVnljbVZ1ZEZOMFlXTnJJRDBnWjJWMFEzVnljbVZ1ZEVacFltVnlVM1JoWTJ0SmJrUmxkanRjYmlBZ0lDQmpkWEp5Wlc1MElEMGdabWxpWlhJN1hHNGdJQ0FnYVhOU1pXNWtaWEpwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MyVjBTWE5TWlc1a1pYSnBibWNvY21WdVpHVnlhVzVuS1NCN1hHNGdJSHRjYmlBZ0lDQnBjMUpsYm1SbGNtbHVaeUE5SUhKbGJtUmxjbWx1Wnp0Y2JpQWdmVnh1ZlZ4dVhHNHZMeUJHYkc5M0lHUnZaWE1nYm05MElHRnNiRzkzSUhOMGNtbHVaeUJqYjI1allYUmxibUYwYVc5dUlHOW1JRzF2YzNRZ2JtOXVMWE4wY21sdVp5QjBlWEJsY3k0Z1ZHOGdkMjl5YTF4dUx5OGdZWEp2ZFc1a0lIUm9hWE1nYkdsdGFYUmhkR2x2Yml3Z2QyVWdkWE5sSUdGdUlHOXdZWEYxWlNCMGVYQmxJSFJvWVhRZ1kyRnVJRzl1YkhrZ1ltVWdiMkowWVdsdVpXUWdZbmxjYmk4dklIQmhjM05wYm1jZ2RHaGxJSFpoYkhWbElIUm9jbTkxWjJnZ1oyVjBWRzlUZEhKcGJtZFdZV3gxWlNCbWFYSnpkQzVjYm1aMWJtTjBhVzl1SUhSdlUzUnlhVzVuS0haaGJIVmxLU0I3WEc0Z0lISmxkSFZ5YmlBbkp5QXJJSFpoYkhWbE8xeHVmVnh1Wm5WdVkzUnBiMjRnWjJWMFZHOVRkSEpwYm1kV1lXeDFaU2gyWVd4MVpTa2dlMXh1SUNCemQybDBZMmdnS0hSNWNHVnZaaUIyWVd4MVpTa2dlMXh1SUNBZ0lHTmhjMlVnSjJKdmIyeGxZVzRuT2x4dUlDQWdJR05oYzJVZ0oyNTFiV0psY2ljNlhHNGdJQ0FnWTJGelpTQW5iMkpxWldOMEp6cGNiaUFnSUNCallYTmxJQ2R6ZEhKcGJtY25PbHh1SUNBZ0lHTmhjMlVnSjNWdVpHVm1hVzVsWkNjNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzVjYmlBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0x5OGdablZ1WTNScGIyNHNJSE41YldKdmJDQmhjbVVnWVhOemFXZHVaV1FnWVhNZ1pXMXdkSGtnYzNSeWFXNW5jMXh1SUNBZ0lDQWdjbVYwZFhKdUlDY25PMXh1SUNCOVhHNTlYRzVjYm5aaGNpQlNaV0ZqZEVSbFluVm5RM1Z5Y21WdWRFWnlZVzFsSkRJZ1BTQnVkV3hzTzF4dWRtRnlJRkpsWVdOMFEyOXVkSEp2Ykd4bFpGWmhiSFZsVUhKdmNGUjVjR1Z6SUQwZ2UxeHVJQ0JqYUdWamExQnliM0JVZVhCbGN6b2diblZzYkZ4dWZUdGNibHh1ZTF4dUlDQlNaV0ZqZEVSbFluVm5RM1Z5Y21WdWRFWnlZVzFsSkRJZ1BTQlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVTWldGamRFUmxZblZuUTNWeWNtVnVkRVp5WVcxbE8xeHVJQ0IyWVhJZ2FHRnpVbVZoWkU5dWJIbFdZV3gxWlNBOUlIdGNiaUFnSUNCaWRYUjBiMjQ2SUhSeWRXVXNYRzRnSUNBZ1kyaGxZMnRpYjNnNklIUnlkV1VzWEc0Z0lDQWdhVzFoWjJVNklIUnlkV1VzWEc0Z0lDQWdhR2xrWkdWdU9pQjBjblZsTEZ4dUlDQWdJSEpoWkdsdk9pQjBjblZsTEZ4dUlDQWdJSEpsYzJWME9pQjBjblZsTEZ4dUlDQWdJSE4xWW0xcGREb2dkSEoxWlZ4dUlDQjlPMXh1SUNCMllYSWdjSEp2Y0ZSNWNHVnpJRDBnZTF4dUlDQWdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQW9jSEp2Y0hNc0lIQnliM0JPWVcxbExDQmpiMjF3YjI1bGJuUk9ZVzFsS1NCN1hHNGdJQ0FnSUNCcFppQW9hR0Z6VW1WaFpFOXViSGxXWVd4MVpWdHdjbTl3Y3k1MGVYQmxYU0I4ZkNCd2NtOXdjeTV2YmtOb1lXNW5aU0I4ZkNCd2NtOXdjeTV5WldGa1QyNXNlU0I4ZkNCd2NtOXdjeTVrYVhOaFlteGxaQ0I4ZkNCd2NtOXdjMXR3Y205d1RtRnRaVjBnUFQwZ2JuVnNiQ0I4ZkNCbGJtRmliR1ZFWlhCeVpXTmhkR1ZrUm14aGNtVkJVRWtnS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdibVYzSUVWeWNtOXlLQ2RaYjNVZ2NISnZkbWxrWldRZ1lTQmdkbUZzZFdWZ0lIQnliM0FnZEc4Z1lTQm1iM0p0SUdacFpXeGtJSGRwZEdodmRYUWdZVzRnSnlBcklDZGdiMjVEYUdGdVoyVmdJR2hoYm1Sc1pYSXVJRlJvYVhNZ2QybHNiQ0J5Wlc1a1pYSWdZU0J5WldGa0xXOXViSGtnWm1sbGJHUXVJRWxtSUNjZ0t5QW5kR2hsSUdacFpXeGtJSE5vYjNWc1pDQmlaU0J0ZFhSaFlteGxJSFZ6WlNCZ1pHVm1ZWFZzZEZaaGJIVmxZQzRnVDNSb1pYSjNhWE5sTENBbklDc2dKM05sZENCbGFYUm9aWElnWUc5dVEyaGhibWRsWUNCdmNpQmdjbVZoWkU5dWJIbGdMaWNwTzF4dUlDQWdJSDBzWEc0Z0lDQWdZMmhsWTJ0bFpEb2dablZ1WTNScGIyNGdLSEJ5YjNCekxDQndjbTl3VG1GdFpTd2dZMjl0Y0c5dVpXNTBUbUZ0WlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSEJ5YjNCekxtOXVRMmhoYm1kbElIeDhJSEJ5YjNCekxuSmxZV1JQYm14NUlIeDhJSEJ5YjNCekxtUnBjMkZpYkdWa0lIeDhJSEJ5YjNCelczQnliM0JPWVcxbFhTQTlQU0J1ZFd4c0lIeDhJR1Z1WVdKc1pVUmxjSEpsWTJGMFpXUkdiR0Z5WlVGUVNTQXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSWEp5YjNJb0oxbHZkU0J3Y205MmFXUmxaQ0JoSUdCamFHVmphMlZrWUNCd2NtOXdJSFJ2SUdFZ1ptOXliU0JtYVdWc1pDQjNhWFJvYjNWMElHRnVJQ2NnS3lBbllHOXVRMmhoYm1kbFlDQm9ZVzVrYkdWeUxpQlVhR2x6SUhkcGJHd2djbVZ1WkdWeUlHRWdjbVZoWkMxdmJteDVJR1pwWld4a0xpQkpaaUFuSUNzZ0ozUm9aU0JtYVdWc1pDQnphRzkxYkdRZ1ltVWdiWFYwWVdKc1pTQjFjMlVnWUdSbFptRjFiSFJEYUdWamEyVmtZQzRnVDNSb1pYSjNhWE5sTENBbklDc2dKM05sZENCbGFYUm9aWElnWUc5dVEyaGhibWRsWUNCdmNpQmdjbVZoWkU5dWJIbGdMaWNwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnTHlvcVhHNGdJQ0FxSUZCeWIzWnBaR1VnWVNCc2FXNXJaV1FnWUhaaGJIVmxZQ0JoZEhSeWFXSjFkR1VnWm05eUlHTnZiblJ5YjJ4c1pXUWdabTl5YlhNdUlGbHZkU0J6YUc5MWJHUWdibTkwSUhWelpWeHVJQ0FnS2lCMGFHbHpJRzkxZEhOcFpHVWdiMllnZEdobElGSmxZV04wUkU5TklHTnZiblJ5YjJ4c1pXUWdabTl5YlNCamIyMXdiMjVsYm5SekxseHVJQ0FnS2k5Y2JseHVJQ0JTWldGamRFTnZiblJ5YjJ4c1pXUldZV3gxWlZCeWIzQlVlWEJsY3k1amFHVmphMUJ5YjNCVWVYQmxjeUE5SUdaMWJtTjBhVzl1SUNoMFlXZE9ZVzFsTENCd2NtOXdjeWtnZTF4dUlDQWdJR05vWldOclVISnZjRlI1Y0dWektIQnliM0JVZVhCbGN5d2djSEp2Y0hNc0lDZHdjbTl3Snl3Z2RHRm5UbUZ0WlN3Z1VtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaU1F5TG1kbGRGTjBZV05yUVdSa1pXNWtkVzBwTzF4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBjME5vWldOcllXSnNaU2hsYkdWdEtTQjdYRzRnSUhaaGNpQjBlWEJsSUQwZ1pXeGxiUzUwZVhCbE8xeHVJQ0IyWVhJZ2JtOWtaVTVoYldVZ1BTQmxiR1Z0TG01dlpHVk9ZVzFsTzF4dUlDQnlaWFIxY200Z2JtOWtaVTVoYldVZ0ppWWdibTlrWlU1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1NBOVBUMGdKMmx1Y0hWMEp5QW1KaUFvZEhsd1pTQTlQVDBnSjJOb1pXTnJZbTk0SnlCOGZDQjBlWEJsSUQwOVBTQW5jbUZrYVc4bktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWSEpoWTJ0bGNpaHViMlJsS1NCN1hHNGdJSEpsZEhWeWJpQnViMlJsTGw5MllXeDFaVlJ5WVdOclpYSTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUmxkR0ZqYUZSeVlXTnJaWElvYm05a1pTa2dlMXh1SUNCdWIyUmxMbDkyWVd4MVpWUnlZV05yWlhJZ1BTQnVkV3hzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSV1lXeDFaVVp5YjIxT2IyUmxLRzV2WkdVcElIdGNiaUFnZG1GeUlIWmhiSFZsSUQwZ0p5YzdYRzVjYmlBZ2FXWWdLQ0Z1YjJSbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHbHpRMmhsWTJ0aFlteGxLRzV2WkdVcEtTQjdYRzRnSUNBZ2RtRnNkV1VnUFNCdWIyUmxMbU5vWldOclpXUWdQeUFuZEhKMVpTY2dPaUFuWm1Gc2MyVW5PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoYkhWbElEMGdibTlrWlM1MllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIyWVd4MVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RISmhZMnRXWVd4MVpVOXVUbTlrWlNodWIyUmxLU0I3WEc0Z0lIWmhjaUIyWVd4MVpVWnBaV3hrSUQwZ2FYTkRhR1ZqYTJGaWJHVW9ibTlrWlNrZ1B5QW5ZMmhsWTJ0bFpDY2dPaUFuZG1Gc2RXVW5PMXh1SUNCMllYSWdaR1Z6WTNKcGNIUnZjaUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9ibTlrWlM1amIyNXpkSEoxWTNSdmNpNXdjbTkwYjNSNWNHVXNJSFpoYkhWbFJtbGxiR1FwTzF4dUlDQjJZWElnWTNWeWNtVnVkRlpoYkhWbElEMGdKeWNnS3lCdWIyUmxXM1poYkhWbFJtbGxiR1JkT3lBdkx5QnBaaUJ6YjIxbGIyNWxJR2hoY3lCaGJISmxZV1I1SUdSbFptbHVaV1FnWVNCMllXeDFaU0J2Y2lCVFlXWmhjbWtzSUhSb1pXNGdZbUZwYkZ4dUlDQXZMeUJoYm1RZ1pHOXVKM1FnZEhKaFkyc2dkbUZzZFdVZ2QybHNiQ0JqWVhWelpTQnZkbVZ5SUhKbGNHOXlkR2x1WnlCdlppQmphR0Z1WjJWekxGeHVJQ0F2THlCaWRYUWdhWFFuY3lCaVpYUjBaWElnZEdobGJpQmhJR2hoY21RZ1ptRnBiSFZ5WlZ4dUlDQXZMeUFvYm1WbFpHVmtJR1p2Y2lCalpYSjBZV2x1SUhSbGMzUnpJSFJvWVhRZ2MzQjVUMjRnYVc1d2RYUWdkbUZzZFdWeklHRnVaQ0JUWVdaaGNta3BYRzVjYmlBZ2FXWWdLRzV2WkdVdWFHRnpUM2R1VUhKdmNHVnlkSGtvZG1Gc2RXVkdhV1ZzWkNrZ2ZId2dkSGx3Wlc5bUlHUmxjMk55YVhCMGIzSWdQVDA5SUNkMWJtUmxabWx1WldRbklIeDhJSFI1Y0dWdlppQmtaWE5qY21sd2RHOXlMbWRsZENBaFBUMGdKMloxYm1OMGFXOXVKeUI4ZkNCMGVYQmxiMllnWkdWelkzSnBjSFJ2Y2k1elpYUWdJVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCMllYSWdaMlYwSUQwZ1pHVnpZM0pwY0hSdmNpNW5aWFFzWEc0Z0lDQWdJQ0J6WlhRZ1BTQmtaWE5qY21sd2RHOXlMbk5sZER0Y2JpQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0c1dlpHVXNJSFpoYkhWbFJtbGxiR1FzSUh0Y2JpQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VzWEc0Z0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1oyVjBMbU5oYkd3b2RHaHBjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRlpoYkhWbElEMGdKeWNnS3lCMllXeDFaVHRjYmlBZ0lDQWdJSE5sZEM1allXeHNLSFJvYVhNc0lIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPeUF2THlCWFpTQmpiM1ZzWkNkMlpTQndZWE56WldRZ2RHaHBjeUIwYUdVZ1ptbHljM1FnZEdsdFpWeHVJQ0F2THlCaWRYUWdhWFFnZEhKcFoyZGxjbk1nWVNCaWRXY2dhVzRnU1VVeE1TQmhibVFnUldSblpTQXhOQzh4TlM1Y2JpQWdMeThnUTJGc2JHbHVaeUJrWldacGJtVlFjbTl3WlhKMGVTZ3BJR0ZuWVdsdUlITm9iM1ZzWkNCaVpTQmxjWFZwZG1Gc1pXNTBMbHh1SUNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZabUZqWldKdmIyc3ZjbVZoWTNRdmFYTnpkV1Z6THpFeE56WTRYRzVjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzV2WkdVc0lIWmhiSFZsUm1sbGJHUXNJSHRjYmlBZ0lDQmxiblZ0WlhKaFlteGxPaUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdWY2JpQWdmU2s3WEc0Z0lIWmhjaUIwY21GamEyVnlJRDBnZTF4dUlDQWdJR2RsZEZaaGJIVmxPaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNWeWNtVnVkRlpoYkhWbE8xeHVJQ0FnSUgwc1hHNGdJQ0FnYzJWMFZtRnNkV1U2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRlpoYkhWbElEMGdKeWNnS3lCMllXeDFaVHRjYmlBZ0lDQjlMRnh1SUNBZ0lITjBiM0JVY21GamEybHVaem9nWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1pHVjBZV05vVkhKaFkydGxjaWh1YjJSbEtUdGNiaUFnSUNBZ0lHUmxiR1YwWlNCdWIyUmxXM1poYkhWbFJtbGxiR1JkTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnY21WMGRYSnVJSFJ5WVdOclpYSTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIUnlZV05yS0c1dlpHVXBJSHRjYmlBZ2FXWWdLR2RsZEZSeVlXTnJaWElvYm05a1pTa3BJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDBnTHk4Z1ZFOUVUem9nVDI1alpTQnBkQ2R6SUdwMWMzUWdSbWxpWlhJZ2QyVWdZMkZ1SUcxdmRtVWdkR2hwY3lCMGJ5QnViMlJsTGw5M2NtRndjR1Z5VTNSaGRHVmNibHh1WEc0Z0lHNXZaR1V1WDNaaGJIVmxWSEpoWTJ0bGNpQTlJSFJ5WVdOclZtRnNkV1ZQYms1dlpHVW9ibTlrWlNrN1hHNTlYRzVtZFc1amRHbHZiaUIxY0dSaGRHVldZV3gxWlVsbVEyaGhibWRsWkNodWIyUmxLU0I3WEc0Z0lHbG1JQ2doYm05a1pTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQjBjbUZqYTJWeUlEMGdaMlYwVkhKaFkydGxjaWh1YjJSbEtUc2dMeThnYVdZZ2RHaGxjbVVnYVhNZ2JtOGdkSEpoWTJ0bGNpQmhkQ0IwYUdseklIQnZhVzUwSUdsMEozTWdkVzVzYVd0bGJIbGNiaUFnTHk4Z2RHaGhkQ0IwY25scGJtY2dZV2RoYVc0Z2QybHNiQ0J6ZFdOalpXVmtYRzVjYmlBZ2FXWWdLQ0YwY21GamEyVnlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCMllYSWdiR0Z6ZEZaaGJIVmxJRDBnZEhKaFkydGxjaTVuWlhSV1lXeDFaU2dwTzF4dUlDQjJZWElnYm1WNGRGWmhiSFZsSUQwZ1oyVjBWbUZzZFdWR2NtOXRUbTlrWlNodWIyUmxLVHRjYmx4dUlDQnBaaUFvYm1WNGRGWmhiSFZsSUNFOVBTQnNZWE4wVm1Gc2RXVXBJSHRjYmlBZ0lDQjBjbUZqYTJWeUxuTmxkRlpoYkhWbEtHNWxlSFJXWVd4MVpTazdYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVjYm5aaGNpQmthV1JYWVhKdVZtRnNkV1ZFWldaaGRXeDBWbUZzZFdVZ1BTQm1ZV3h6WlR0Y2JuWmhjaUJrYVdSWFlYSnVRMmhsWTJ0bFpFUmxabUYxYkhSRGFHVmphMlZrSUQwZ1ptRnNjMlU3WEc1MllYSWdaR2xrVjJGeWJrTnZiblJ5YjJ4c1pXUlViMVZ1WTI5dWRISnZiR3hsWkNBOUlHWmhiSE5sTzF4dWRtRnlJR1JwWkZkaGNtNVZibU52Ym5SeWIyeHNaV1JVYjBOdmJuUnliMnhzWldRZ1BTQm1ZV3h6WlR0Y2JseHVablZ1WTNScGIyNGdhWE5EYjI1MGNtOXNiR1ZrS0hCeWIzQnpLU0I3WEc0Z0lIWmhjaUIxYzJWelEyaGxZMnRsWkNBOUlIQnliM0J6TG5SNWNHVWdQVDA5SUNkamFHVmphMkp2ZUNjZ2ZId2djSEp2Y0hNdWRIbHdaU0E5UFQwZ0ozSmhaR2x2Snp0Y2JpQWdjbVYwZFhKdUlIVnpaWE5EYUdWamEyVmtJRDhnY0hKdmNITXVZMmhsWTJ0bFpDQWhQU0J1ZFd4c0lEb2djSEp2Y0hNdWRtRnNkV1VnSVQwZ2JuVnNiRHRjYm4xY2JpOHFLbHh1SUNvZ1NXMXdiR1Z0Wlc1MGN5QmhiaUE4YVc1d2RYUStJR2h2YzNRZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnWVd4c2IzZHpJSE5sZEhScGJtY2dkR2hsYzJVZ2IzQjBhVzl1WVd4Y2JpQXFJSEJ5YjNCek9pQmdZMmhsWTJ0bFpHQXNJR0IyWVd4MVpXQXNJR0JrWldaaGRXeDBRMmhsWTJ0bFpHQXNJR0Z1WkNCZ1pHVm1ZWFZzZEZaaGJIVmxZQzVjYmlBcVhHNGdLaUJKWmlCZ1kyaGxZMnRsWkdBZ2IzSWdZSFpoYkhWbFlDQmhjbVVnYm05MElITjFjSEJzYVdWa0lDaHZjaUJ1ZFd4c0wzVnVaR1ZtYVc1bFpDa3NJSFZ6WlhJZ1lXTjBhVzl1YzF4dUlDb2dkR2hoZENCaFptWmxZM1FnZEdobElHTm9aV05yWldRZ2MzUmhkR1VnYjNJZ2RtRnNkV1VnZDJsc2JDQjBjbWxuWjJWeUlIVndaR0YwWlhNZ2RHOGdkR2hsSUdWc1pXMWxiblF1WEc0Z0tseHVJQ29nU1dZZ2RHaGxlU0JoY21VZ2MzVndjR3hwWldRZ0tHRnVaQ0J1YjNRZ2JuVnNiQzkxYm1SbFptbHVaV1FwTENCMGFHVWdjbVZ1WkdWeVpXUWdaV3hsYldWdWRDQjNhV3hzSUc1dmRGeHVJQ29nZEhKcFoyZGxjaUIxY0dSaGRHVnpJSFJ2SUhSb1pTQmxiR1Z0Wlc1MExpQkpibk4wWldGa0xDQjBhR1VnY0hKdmNITWdiWFZ6ZENCamFHRnVaMlVnYVc0Z2IzSmtaWElnWm05eVhHNGdLaUIwYUdVZ2NtVnVaR1Z5WldRZ1pXeGxiV1Z1ZENCMGJ5QmlaU0IxY0dSaGRHVmtMbHh1SUNwY2JpQXFJRlJvWlNCeVpXNWtaWEpsWkNCbGJHVnRaVzUwSUhkcGJHd2dZbVVnYVc1cGRHbGhiR2w2WldRZ1lYTWdkVzVqYUdWamEyVmtJQ2h2Y2lCZ1pHVm1ZWFZzZEVOb1pXTnJaV1JnS1Z4dUlDb2dkMmwwYUNCaGJpQmxiWEIwZVNCMllXeDFaU0FvYjNJZ1lHUmxabUYxYkhSV1lXeDFaV0FwTGx4dUlDcGNiaUFxSUZObFpTQm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTh5TURFeUwxZEVMV2gwYld3MUxUSXdNVEl4TURJMUwzUm9aUzFwYm5CMWRDMWxiR1Z0Wlc1MExtaDBiV3hjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFaHZjM1JRY205d2N5aGxiR1Z0Wlc1MExDQndjbTl3Y3lrZ2UxeHVJQ0IyWVhJZ2JtOWtaU0E5SUdWc1pXMWxiblE3WEc0Z0lIWmhjaUJqYUdWamEyVmtJRDBnY0hKdmNITXVZMmhsWTJ0bFpEdGNibHh1SUNCMllYSWdhRzl6ZEZCeWIzQnpJRDBnWDJGemMybG5iaWg3ZlN3Z2NISnZjSE1zSUh0Y2JpQWdJQ0JrWldaaGRXeDBRMmhsWTJ0bFpEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lHUmxabUYxYkhSV1lXeDFaVG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJSFpoYkhWbE9pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ1kyaGxZMnRsWkRvZ1kyaGxZMnRsWkNBaFBTQnVkV3hzSUQ4Z1kyaGxZMnRsWkNBNklHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpTNXBibWwwYVdGc1EyaGxZMnRsWkZ4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2FHOXpkRkJ5YjNCek8xeHVmVnh1Wm5WdVkzUnBiMjRnYVc1cGRGZHlZWEJ3WlhKVGRHRjBaU2hsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCN1hHNGdJQ0FnVW1WaFkzUkRiMjUwY205c2JHVmtWbUZzZFdWUWNtOXdWSGx3WlhNdVkyaGxZMnRRY205d1ZIbHdaWE1vSjJsdWNIVjBKeXdnY0hKdmNITXBPMXh1WEc0Z0lDQWdhV1lnS0hCeWIzQnpMbU5vWldOclpXUWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQndjbTl3Y3k1a1pXWmhkV3gwUTJobFkydGxaQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JQ0ZrYVdSWFlYSnVRMmhsWTJ0bFpFUmxabUYxYkhSRGFHVmphMlZrS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduSlhNZ1kyOXVkR0ZwYm5NZ1lXNGdhVzV3ZFhRZ2IyWWdkSGx3WlNBbGN5QjNhWFJvSUdKdmRHZ2dZMmhsWTJ0bFpDQmhibVFnWkdWbVlYVnNkRU5vWldOclpXUWdjSEp2Y0hNdUlDY2dLeUFuU1c1d2RYUWdaV3hsYldWdWRITWdiWFZ6ZENCaVpTQmxhWFJvWlhJZ1kyOXVkSEp2Ykd4bFpDQnZjaUIxYm1OdmJuUnliMnhzWldRZ0p5QXJJQ2NvYzNCbFkybG1lU0JsYVhSb1pYSWdkR2hsSUdOb1pXTnJaV1FnY0hKdmNDd2diM0lnZEdobElHUmxabUYxYkhSRGFHVmphMlZrSUhCeWIzQXNJR0oxZENCdWIzUWdKeUFySUNkaWIzUm9LUzRnUkdWamFXUmxJR0psZEhkbFpXNGdkWE5wYm1jZ1lTQmpiMjUwY205c2JHVmtJRzl5SUhWdVkyOXVkSEp2Ykd4bFpDQnBibkIxZENBbklDc2dKMlZzWlcxbGJuUWdZVzVrSUhKbGJXOTJaU0J2Ym1VZ2IyWWdkR2hsYzJVZ2NISnZjSE11SUUxdmNtVWdhVzVtYnpvZ0p5QXJJQ2RvZEhSd2N6b3ZMMlppTG0xbEwzSmxZV04wTFdOdmJuUnliMnhzWldRdFkyOXRjRzl1Wlc1MGN5Y3NJR2RsZEVOMWNuSmxiblJHYVdKbGNrOTNibVZ5VG1GdFpVbHVSR1YyVDNKT2RXeHNLQ2tnZkh3Z0owRWdZMjl0Y0c5dVpXNTBKeXdnY0hKdmNITXVkSGx3WlNrN1hHNWNiaUFnSUNBZ0lHUnBaRmRoY201RGFHVmphMlZrUkdWbVlYVnNkRU5vWldOclpXUWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3Y3k1MllXeDFaU0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JSEJ5YjNCekxtUmxabUYxYkhSV1lXeDFaU0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JQ0ZrYVdSWFlYSnVWbUZzZFdWRVpXWmhkV3gwVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDY2xjeUJqYjI1MFlXbHVjeUJoYmlCcGJuQjFkQ0J2WmlCMGVYQmxJQ1Z6SUhkcGRHZ2dZbTkwYUNCMllXeDFaU0JoYm1RZ1pHVm1ZWFZzZEZaaGJIVmxJSEJ5YjNCekxpQW5JQ3NnSjBsdWNIVjBJR1ZzWlcxbGJuUnpJRzExYzNRZ1ltVWdaV2wwYUdWeUlHTnZiblJ5YjJ4c1pXUWdiM0lnZFc1amIyNTBjbTlzYkdWa0lDY2dLeUFuS0hOd1pXTnBabmtnWldsMGFHVnlJSFJvWlNCMllXeDFaU0J3Y205d0xDQnZjaUIwYUdVZ1pHVm1ZWFZzZEZaaGJIVmxJSEJ5YjNBc0lHSjFkQ0J1YjNRZ0p5QXJJQ2RpYjNSb0tTNGdSR1ZqYVdSbElHSmxkSGRsWlc0Z2RYTnBibWNnWVNCamIyNTBjbTlzYkdWa0lHOXlJSFZ1WTI5dWRISnZiR3hsWkNCcGJuQjFkQ0FuSUNzZ0oyVnNaVzFsYm5RZ1lXNWtJSEpsYlc5MlpTQnZibVVnYjJZZ2RHaGxjMlVnY0hKdmNITXVJRTF2Y21VZ2FXNW1iem9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV052Ym5SeWIyeHNaV1F0WTI5dGNHOXVaVzUwY3ljc0lHZGxkRU4xY25KbGJuUkdhV0psY2s5M2JtVnlUbUZ0WlVsdVJHVjJUM0pPZFd4c0tDa2dmSHdnSjBFZ1kyOXRjRzl1Wlc1MEp5d2djSEp2Y0hNdWRIbHdaU2s3WEc1Y2JpQWdJQ0FnSUdScFpGZGhjbTVXWVd4MVpVUmxabUYxYkhSV1lXeDFaU0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1dlpHVWdQU0JsYkdWdFpXNTBPMXh1SUNCMllYSWdaR1ZtWVhWc2RGWmhiSFZsSUQwZ2NISnZjSE11WkdWbVlYVnNkRlpoYkhWbElEMDlJRzUxYkd3Z1B5QW5KeUE2SUhCeWIzQnpMbVJsWm1GMWJIUldZV3gxWlR0Y2JpQWdibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxJRDBnZTF4dUlDQWdJR2x1YVhScFlXeERhR1ZqYTJWa09pQndjbTl3Y3k1amFHVmphMlZrSUNFOUlHNTFiR3dnUHlCd2NtOXdjeTVqYUdWamEyVmtJRG9nY0hKdmNITXVaR1ZtWVhWc2RFTm9aV05yWldRc1hHNGdJQ0FnYVc1cGRHbGhiRlpoYkhWbE9pQm5aWFJVYjFOMGNtbHVaMVpoYkhWbEtIQnliM0J6TG5aaGJIVmxJQ0U5SUc1MWJHd2dQeUJ3Y205d2N5NTJZV3gxWlNBNklHUmxabUYxYkhSV1lXeDFaU2tzWEc0Z0lDQWdZMjl1ZEhKdmJHeGxaRG9nYVhORGIyNTBjbTlzYkdWa0tIQnliM0J6S1Z4dUlDQjlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsUTJobFkydGxaQ2hsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN1hHNGdJSFpoY2lCamFHVmphMlZrSUQwZ2NISnZjSE11WTJobFkydGxaRHRjYmx4dUlDQnBaaUFvWTJobFkydGxaQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdjMlYwVm1Gc2RXVkdiM0pRY205d1pYSjBlU2h1YjJSbExDQW5ZMmhsWTJ0bFpDY3NJR05vWldOclpXUXNJR1poYkhObEtUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdkWEJrWVhSbFYzSmhjSEJsY2lobGJHVnRaVzUwTENCd2NtOXdjeWtnZTF4dUlDQjJZWElnYm05a1pTQTlJR1ZzWlcxbGJuUTdYRzVjYmlBZ2UxeHVJQ0FnSUhaaGNpQmpiMjUwY205c2JHVmtJRDBnYVhORGIyNTBjbTlzYkdWa0tIQnliM0J6S1R0Y2JseHVJQ0FnSUdsbUlDZ2hibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxMbU52Ym5SeWIyeHNaV1FnSmlZZ1kyOXVkSEp2Ykd4bFpDQW1KaUFoWkdsa1YyRnlibFZ1WTI5dWRISnZiR3hsWkZSdlEyOXVkSEp2Ykd4bFpDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owRWdZMjl0Y0c5dVpXNTBJR2x6SUdOb1lXNW5hVzVuSUdGdUlIVnVZMjl1ZEhKdmJHeGxaQ0JwYm5CMWRDQnZaaUIwZVhCbElDVnpJSFJ2SUdKbElHTnZiblJ5YjJ4c1pXUXVJQ2NnS3lBblNXNXdkWFFnWld4bGJXVnVkSE1nYzJodmRXeGtJRzV2ZENCemQybDBZMmdnWm5KdmJTQjFibU52Ym5SeWIyeHNaV1FnZEc4Z1kyOXVkSEp2Ykd4bFpDQW9iM0lnZG1salpTQjJaWEp6WVNrdUlDY2dLeUFuUkdWamFXUmxJR0psZEhkbFpXNGdkWE5wYm1jZ1lTQmpiMjUwY205c2JHVmtJRzl5SUhWdVkyOXVkSEp2Ykd4bFpDQnBibkIxZENBbklDc2dKMlZzWlcxbGJuUWdabTl5SUhSb1pTQnNhV1psZEdsdFpTQnZaaUIwYUdVZ1kyOXRjRzl1Wlc1MExpQk5iM0psSUdsdVptODZJR2gwZEhCek9pOHZabUl1YldVdmNtVmhZM1F0WTI5dWRISnZiR3hsWkMxamIyMXdiMjVsYm5Sekp5d2djSEp2Y0hNdWRIbHdaU2s3WEc1Y2JpQWdJQ0FnSUdScFpGZGhjbTVWYm1OdmJuUnliMnhzWldSVWIwTnZiblJ5YjJ4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHViMlJsTGw5M2NtRndjR1Z5VTNSaGRHVXVZMjl1ZEhKdmJHeGxaQ0FtSmlBaFkyOXVkSEp2Ykd4bFpDQW1KaUFoWkdsa1YyRnlia052Ym5SeWIyeHNaV1JVYjFWdVkyOXVkSEp2Ykd4bFpDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owRWdZMjl0Y0c5dVpXNTBJR2x6SUdOb1lXNW5hVzVuSUdFZ1kyOXVkSEp2Ykd4bFpDQnBibkIxZENCdlppQjBlWEJsSUNWeklIUnZJR0psSUhWdVkyOXVkSEp2Ykd4bFpDNGdKeUFySUNkSmJuQjFkQ0JsYkdWdFpXNTBjeUJ6YUc5MWJHUWdibTkwSUhOM2FYUmphQ0JtY205dElHTnZiblJ5YjJ4c1pXUWdkRzhnZFc1amIyNTBjbTlzYkdWa0lDaHZjaUIyYVdObElIWmxjbk5oS1M0Z0p5QXJJQ2RFWldOcFpHVWdZbVYwZDJWbGJpQjFjMmx1WnlCaElHTnZiblJ5YjJ4c1pXUWdiM0lnZFc1amIyNTBjbTlzYkdWa0lHbHVjSFYwSUNjZ0t5QW5aV3hsYldWdWRDQm1iM0lnZEdobElHeHBabVYwYVcxbElHOW1JSFJvWlNCamIyMXdiMjVsYm5RdUlFMXZjbVVnYVc1bWJ6b2dhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzFqYjI1MGNtOXNiR1ZrTFdOdmJYQnZibVZ1ZEhNbkxDQndjbTl3Y3k1MGVYQmxLVHRjYmx4dUlDQWdJQ0FnWkdsa1YyRnlia052Ym5SeWIyeHNaV1JVYjFWdVkyOXVkSEp2Ykd4bFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RYQmtZWFJsUTJobFkydGxaQ2hsYkdWdFpXNTBMQ0J3Y205d2N5azdYRzRnSUhaaGNpQjJZV3gxWlNBOUlHZGxkRlJ2VTNSeWFXNW5WbUZzZFdVb2NISnZjSE11ZG1Gc2RXVXBPMXh1SUNCMllYSWdkSGx3WlNBOUlIQnliM0J6TG5SNWNHVTdYRzVjYmlBZ2FXWWdLSFpoYkhWbElDRTlJRzUxYkd3cElIdGNiaUFnSUNCcFppQW9kSGx3WlNBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU0E5UFQwZ01DQW1KaUJ1YjJSbExuWmhiSFZsSUQwOVBTQW5KeUI4ZkNBdkx5QlhaU0JsZUhCc2FXTnBkR3g1SUhkaGJuUWdkRzhnWTI5bGNtTmxJSFJ2SUc1MWJXSmxjaUJvWlhKbElHbG1JSEJ2YzNOcFlteGxMbHh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxYRzRnSUNBZ0lDQnViMlJsTG5aaGJIVmxJQ0U5SUhaaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUc1dlpHVXVkbUZzZFdVZ1BTQjBiMU4wY21sdVp5aDJZV3gxWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMblpoYkhWbElDRTlQU0IwYjFOMGNtbHVaeWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJRzV2WkdVdWRtRnNkV1VnUFNCMGIxTjBjbWx1WnloMllXeDFaU2s3WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1VnUFQwOUlDZHpkV0p0YVhRbklIeDhJSFI1Y0dVZ1BUMDlJQ2R5WlhObGRDY3BJSHRjYmlBZ0lDQXZMeUJUZFdKdGFYUXZjbVZ6WlhRZ2FXNXdkWFJ6SUc1bFpXUWdkR2hsSUdGMGRISnBZblYwWlNCeVpXMXZkbVZrSUdOdmJYQnNaWFJsYkhrZ2RHOGdZWFp2YVdSY2JpQWdJQ0F2THlCaWJHRnVheTEwWlhoMElHSjFkSFJ2Ym5NdVhHNGdJQ0FnYm05a1pTNXlaVzF2ZG1WQmRIUnlhV0oxZEdVb0ozWmhiSFZsSnlrN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJQzh2SUZkb1pXNGdjM2x1WTJsdVp5QjBhR1VnZG1Gc2RXVWdZWFIwY21saWRYUmxMQ0IwYUdVZ2RtRnNkV1VnWTI5dFpYTWdabkp2YlNCaElHTmhjMk5oWkdVZ2IyWmNiaUFnSUNBdkx5QndjbTl3WlhKMGFXVnpPbHh1SUNBZ0lDOHZJQ0F4TGlCVWFHVWdkbUZzZFdVZ1VtVmhZM1FnY0hKdmNHVnlkSGxjYmlBZ0lDQXZMeUFnTWk0Z1ZHaGxJR1JsWm1GMWJIUldZV3gxWlNCU1pXRmpkQ0J3Y205d1pYSjBlVnh1SUNBZ0lDOHZJQ0F6TGlCUGRHaGxjbmRwYzJVZ2RHaGxjbVVnYzJodmRXeGtJR0psSUc1dklHTm9ZVzVuWlZ4dUlDQWdJR2xtSUNod2NtOXdjeTVvWVhOUGQyNVFjbTl3WlhKMGVTZ25kbUZzZFdVbktTa2dlMXh1SUNBZ0lDQWdjMlYwUkdWbVlYVnNkRlpoYkhWbEtHNXZaR1VzSUhCeWIzQnpMblI1Y0dVc0lIWmhiSFZsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hCeWIzQnpMbWhoYzA5M2JsQnliM0JsY25SNUtDZGtaV1poZFd4MFZtRnNkV1VuS1NrZ2UxeHVJQ0FnSUNBZ2MyVjBSR1ZtWVhWc2RGWmhiSFZsS0c1dlpHVXNJSEJ5YjNCekxuUjVjR1VzSUdkbGRGUnZVM1J5YVc1blZtRnNkV1VvY0hKdmNITXVaR1ZtWVhWc2RGWmhiSFZsS1NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2UxeHVJQ0FnSUM4dklGZG9aVzRnYzNsdVkybHVaeUIwYUdVZ1kyaGxZMnRsWkNCaGRIUnlhV0oxZEdVc0lHbDBJRzl1YkhrZ1kyaGhibWRsY3lCM2FHVnVJR2wwSUc1bFpXUnpYRzRnSUNBZ0x5OGdkRzhnWW1VZ2NtVnRiM1psWkN3Z2MzVmphQ0JoY3lCMGNtRnVjMmwwYVc5dWFXNW5JR1p5YjIwZ1lTQmphR1ZqYTJKdmVDQnBiblJ2SUdFZ2RHVjRkQ0JwYm5CMWRGeHVJQ0FnSUdsbUlDaHdjbTl3Y3k1amFHVmphMlZrSUQwOUlHNTFiR3dnSmlZZ2NISnZjSE11WkdWbVlYVnNkRU5vWldOclpXUWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdibTlrWlM1a1pXWmhkV3gwUTJobFkydGxaQ0E5SUNFaGNISnZjSE11WkdWbVlYVnNkRU5vWldOclpXUTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQndiM04wVFc5MWJuUlhjbUZ3Y0dWeUtHVnNaVzFsYm5Rc0lIQnliM0J6TENCcGMwaDVaSEpoZEdsdVp5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN0lDOHZJRVJ2SUc1dmRDQmhjM05wWjI0Z2RtRnNkV1VnYVdZZ2FYUWdhWE1nWVd4eVpXRmtlU0J6WlhRdUlGUm9hWE1nY0hKbGRtVnVkSE1nZFhObGNpQjBaWGgwSUdsdWNIVjBYRzRnSUM4dklHWnliMjBnWW1WcGJtY2diRzl6ZENCa2RYSnBibWNnVTFOU0lHaDVaSEpoZEdsdmJpNWNibHh1SUNCcFppQW9jSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvSjNaaGJIVmxKeWtnZkh3Z2NISnZjSE11YUdGelQzZHVVSEp2Y0dWeWRIa29KMlJsWm1GMWJIUldZV3gxWlNjcEtTQjdYRzRnSUNBZ2RtRnlJSFI1Y0dVZ1BTQndjbTl3Y3k1MGVYQmxPMXh1SUNBZ0lIWmhjaUJwYzBKMWRIUnZiaUE5SUhSNWNHVWdQVDA5SUNkemRXSnRhWFFuSUh4OElIUjVjR1VnUFQwOUlDZHlaWE5sZENjN0lDOHZJRUYyYjJsa0lITmxkSFJwYm1jZ2RtRnNkV1VnWVhSMGNtbGlkWFJsSUc5dUlITjFZbTFwZEM5eVpYTmxkQ0JwYm5CMWRITWdZWE1nYVhRZ2IzWmxjbkpwWkdWeklIUm9aVnh1SUNBZ0lDOHZJR1JsWm1GMWJIUWdkbUZzZFdVZ2NISnZkbWxrWldRZ1lua2dkR2hsSUdKeWIzZHpaWEl1SUZObFpUb2dJekV5T0RjeVhHNWNiaUFnSUNCcFppQW9hWE5DZFhSMGIyNGdKaVlnS0hCeWIzQnpMblpoYkhWbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2NISnZjSE11ZG1Gc2RXVWdQVDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR2x1YVhScFlXeFdZV3gxWlNBOUlIUnZVM1J5YVc1bktHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpTNXBibWwwYVdGc1ZtRnNkV1VwT3lBdkx5QkVieUJ1YjNRZ1lYTnphV2R1SUhaaGJIVmxJR2xtSUdsMElHbHpJR0ZzY21WaFpIa2djMlYwTGlCVWFHbHpJSEJ5WlhabGJuUnpJSFZ6WlhJZ2RHVjRkQ0JwYm5CMWRGeHVJQ0FnSUM4dklHWnliMjBnWW1WcGJtY2diRzl6ZENCa2RYSnBibWNnVTFOU0lHaDVaSEpoZEdsdmJpNWNibHh1SUNBZ0lHbG1JQ2doYVhOSWVXUnlZWFJwYm1jcElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdMeThnVjJobGJpQnplVzVqYVc1bklIUm9aU0IyWVd4MVpTQmhkSFJ5YVdKMWRHVXNJSFJvWlNCMllXeDFaU0J3Y205d1pYSjBlU0J6YUc5MWJHUWdkWE5sWEc0Z0lDQWdJQ0FnSUM4dklIUm9aU0IzY21Gd2NHVnlVM1JoZEdVdVgybHVhWFJwWVd4V1lXeDFaU0J3Y205d1pYSjBlUzRnVkdocGN5QjFjMlZ6T2x4dUlDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQXZMeUFnSURFdUlGUm9aU0IyWVd4MVpTQlNaV0ZqZENCd2NtOXdaWEowZVNCM2FHVnVJSEJ5WlhObGJuUmNiaUFnSUNBZ0lDQWdMeThnSUNBeUxpQlVhR1VnWkdWbVlYVnNkRlpoYkhWbElGSmxZV04wSUhCeWIzQmxjblI1SUhkb1pXNGdjSEpsYzJWdWRGeHVJQ0FnSUNBZ0lDQXZMeUFnSURNdUlFRnVJR1Z0Y0hSNUlITjBjbWx1WjF4dUlDQWdJQ0FnSUNCcFppQW9hVzVwZEdsaGJGWmhiSFZsSUNFOVBTQnViMlJsTG5aaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JtOWtaUzUyWVd4MVpTQTlJR2x1YVhScFlXeFdZV3gxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUM4dklFOTBhR1Z5ZDJselpTd2dkR2hsSUhaaGJIVmxJR0YwZEhKcFluVjBaU0JwY3lCemVXNWphSEp2Ym1sNlpXUWdkRzhnZEdobElIQnliM0JsY25SNUxGeHVJQ0FnSUNBZ0x5OGdjMjhnZDJVZ1lYTnphV2R1SUdSbFptRjFiSFJXWVd4MVpTQjBieUIwYUdVZ2MyRnRaU0IwYUdsdVp5QmhjeUIwYUdVZ2RtRnNkV1VnY0hKdmNHVnlkSGxjYmlBZ0lDQWdJQzh2SUdGemMybG5ibTFsYm5RZ2MzUmxjQ0JoWW05MlpTNWNiaUFnSUNBZ0lHNXZaR1V1WkdWbVlYVnNkRlpoYkhWbElEMGdhVzVwZEdsaGJGWmhiSFZsTzF4dUlDQWdJSDFjYmlBZ2ZTQXZMeUJPYjNKdFlXeHNlU3dnZDJVblpDQnFkWE4wSUdSdklHQnViMlJsTG1Ob1pXTnJaV1FnUFNCdWIyUmxMbU5vWldOclpXUmdJSFZ3YjI0Z2FXNXBkR2xoYkNCdGIzVnVkQ3dnYkdWemN5QjBhR2x6SUdKMVoxeHVJQ0F2THlCMGFHbHpJR2x6SUc1bFpXUmxaQ0IwYnlCM2IzSnJJR0Z5YjNWdVpDQmhJR05vY205dFpTQmlkV2NnZDJobGNtVWdjMlYwZEdsdVp5QmtaV1poZFd4MFEyaGxZMnRsWkZ4dUlDQXZMeUIzYVd4c0lITnZiV1YwYVcxbGN5QnBibVpzZFdWdVkyVWdkR2hsSUhaaGJIVmxJRzltSUdOb1pXTnJaV1FnS0dWMlpXNGdZV1owWlhJZ1pHVjBZV05vYldWdWRDa3VYRzRnSUM4dklGSmxabVZ5Wlc1alpUb2dhSFIwY0hNNkx5OWlkV2R6TG1Ob2NtOXRhWFZ0TG05eVp5OXdMMk5vY205dGFYVnRMMmx6YzNWbGN5OWtaWFJoYVd3L2FXUTlOakE0TkRFMlhHNGdJQzh2SUZkbElHNWxaV1FnZEc4Z2RHVnRjRzl5WVhKcGJIa2dkVzV6WlhRZ2JtRnRaU0IwYnlCaGRtOXBaQ0JrYVhOeWRYQjBhVzVuSUhKaFpHbHZJR0oxZEhSdmJpQm5jbTkxY0hNdVhHNWNibHh1SUNCMllYSWdibUZ0WlNBOUlHNXZaR1V1Ym1GdFpUdGNibHh1SUNCcFppQW9ibUZ0WlNBaFBUMGdKeWNwSUh0Y2JpQWdJQ0J1YjJSbExtNWhiV1VnUFNBbkp6dGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQXZMeUJYYUdWdUlITjVibU5wYm1jZ2RHaGxJR05vWldOclpXUWdZWFIwY21saWRYUmxMQ0JpYjNSb0lIUm9aU0JqYUdWamEyVmtJSEJ5YjNCbGNuUjVJR0Z1WkZ4dUlDQWdJQzh2SUdGMGRISnBZblYwWlNCaGNtVWdZWE56YVdkdVpXUWdZWFFnZEdobElITmhiV1VnZEdsdFpTQjFjMmx1WnlCa1pXWmhkV3gwUTJobFkydGxaQzRnVkdocGN5QjFjMlZ6T2x4dUlDQWdJQzh2WEc0Z0lDQWdMeThnSUNBeExpQlVhR1VnWTJobFkydGxaQ0JTWldGamRDQndjbTl3WlhKMGVTQjNhR1Z1SUhCeVpYTmxiblJjYmlBZ0lDQXZMeUFnSURJdUlGUm9aU0JrWldaaGRXeDBRMmhsWTJ0bFpDQlNaV0ZqZENCd2NtOXdaWEowZVNCM2FHVnVJSEJ5WlhObGJuUmNiaUFnSUNBdkx5QWdJRE11SUU5MGFHVnlkMmx6WlN3Z1ptRnNjMlZjYmlBZ0lDQnViMlJsTG1SbFptRjFiSFJEYUdWamEyVmtJRDBnSVc1dlpHVXVaR1ZtWVhWc2RFTm9aV05yWldRN1hHNGdJQ0FnYm05a1pTNWtaV1poZFd4MFEyaGxZMnRsWkNBOUlDRWhibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxMbWx1YVhScFlXeERhR1ZqYTJWa08xeHVJQ0I5WEc1Y2JpQWdhV1lnS0c1aGJXVWdJVDA5SUNjbktTQjdYRzRnSUNBZ2JtOWtaUzV1WVcxbElEMGdibUZ0WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2NtVnpkRzl5WlVOdmJuUnliMnhzWldSVGRHRjBaU2hsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN1hHNGdJSFZ3WkdGMFpWZHlZWEJ3WlhJb2JtOWtaU3dnY0hKdmNITXBPMXh1SUNCMWNHUmhkR1ZPWVcxbFpFTnZkWE5wYm5Nb2JtOWtaU3dnY0hKdmNITXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWT1lXMWxaRU52ZFhOcGJuTW9jbTl2ZEU1dlpHVXNJSEJ5YjNCektTQjdYRzRnSUhaaGNpQnVZVzFsSUQwZ2NISnZjSE11Ym1GdFpUdGNibHh1SUNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0ozSmhaR2x2SnlBbUppQnVZVzFsSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0IyWVhJZ2NYVmxjbmxTYjI5MElEMGdjbTl2ZEU1dlpHVTdYRzVjYmlBZ0lDQjNhR2xzWlNBb2NYVmxjbmxTYjI5MExuQmhjbVZ1ZEU1dlpHVXBJSHRjYmlBZ0lDQWdJSEYxWlhKNVVtOXZkQ0E5SUhGMVpYSjVVbTl2ZEM1d1lYSmxiblJPYjJSbE8xeHVJQ0FnSUgwZ0x5OGdTV1lnWUhKdmIzUk9iMlJsTG1admNtMWdJSGRoY3lCdWIyNHRiblZzYkN3Z2RHaGxiaUIzWlNCamIzVnNaQ0IwY25rZ1lHWnZjbTB1Wld4bGJXVnVkSE5nTEZ4dUlDQWdJQzh2SUdKMWRDQjBhR0YwSUhOdmJXVjBhVzFsY3lCaVpXaGhkbVZ6SUhOMGNtRnVaMlZzZVNCcGJpQkpSVGd1SUZkbElHTnZkV3hrSUdGc2MyOGdkSEo1SUhWemFXNW5YRzRnSUNBZ0x5OGdZR1p2Y20wdVoyVjBSV3hsYldWdWRITkNlVTVoYldWZ0xDQmlkWFFnZEdoaGRDQjNhV3hzSUc5dWJIa2djbVYwZFhKdUlHUnBjbVZqZENCamFHbHNaSEpsYmx4dUlDQWdJQzh2SUdGdVpDQjNiMjRuZENCcGJtTnNkV1JsSUdsdWNIVjBjeUIwYUdGMElIVnpaU0IwYUdVZ1NGUk5URFVnWUdadmNtMDlZQ0JoZEhSeWFXSjFkR1V1SUZOcGJtTmxYRzRnSUNBZ0x5OGdkR2hsSUdsdWNIVjBJRzFwWjJoMElHNXZkQ0JsZG1WdUlHSmxJR2x1SUdFZ1ptOXliUzRnU1hRZ2JXbG5hSFFnYm05MElHVjJaVzRnWW1VZ2FXNGdkR2hsWEc0Z0lDQWdMeThnWkc5amRXMWxiblF1SUV4bGRDZHpJR3AxYzNRZ2RYTmxJSFJvWlNCc2IyTmhiQ0JnY1hWbGNubFRaV3hsWTNSdmNrRnNiR0FnZEc4Z1pXNXpkWEpsSUhkbElHUnZiaWQwWEc0Z0lDQWdMeThnYldsemN5QmhibmwwYUdsdVp5NWNibHh1WEc0Z0lDQWdkbUZ5SUdkeWIzVndJRDBnY1hWbGNubFNiMjkwTG5GMVpYSjVVMlZzWldOMGIzSkJiR3dvSjJsdWNIVjBXMjVoYldVOUp5QXJJRXBUVDA0dWMzUnlhVzVuYVdaNUtDY25JQ3NnYm1GdFpTa2dLeUFuWFZ0MGVYQmxQVndpY21Ga2FXOWNJbDBuS1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1ozSnZkWEF1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ2ZEdobGNrNXZaR1VnUFNCbmNtOTFjRnRwWFR0Y2JseHVJQ0FnSUNBZ2FXWWdLRzkwYUdWeVRtOWtaU0E5UFQwZ2NtOXZkRTV2WkdVZ2ZId2diM1JvWlhKT2IyUmxMbVp2Y20wZ0lUMDlJSEp2YjNST2IyUmxMbVp2Y20wcElIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlJQzh2SUZSb2FYTWdkMmxzYkNCMGFISnZkeUJwWmlCeVlXUnBieUJpZFhSMGIyNXpJSEpsYm1SbGNtVmtJR0o1SUdScFptWmxjbVZ1ZENCamIzQnBaWE1nYjJZZ1VtVmhZM1JjYmlBZ0lDQWdJQzh2SUdGdVpDQjBhR1VnYzJGdFpTQnVZVzFsSUdGeVpTQnlaVzVrWlhKbFpDQnBiblJ2SUhSb1pTQnpZVzFsSUdadmNtMGdLSE5oYldVZ1lYTWdJekU1TXprcExseHVJQ0FnSUNBZ0x5OGdWR2hoZENkeklIQnliMkpoWW14NUlHOXJZWGs3SUhkbElHUnZiaWQwSUhOMWNIQnZjblFnYVhRZ2FuVnpkQ0JoY3lCM1pTQmtiMjRuZENCemRYQndiM0owWEc0Z0lDQWdJQ0F2THlCdGFYaHBibWNnVW1WaFkzUWdjbUZrYVc4Z1luVjBkRzl1Y3lCM2FYUm9JRzV2YmkxU1pXRmpkQ0J2Ym1WekxseHVYRzVjYmlBZ0lDQWdJSFpoY2lCdmRHaGxjbEJ5YjNCeklEMGdaMlYwUm1saVpYSkRkWEp5Wlc1MFVISnZjSE5HY205dFRtOWtaU1F4S0c5MGFHVnlUbTlrWlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2doYjNSb1pYSlFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVbVZoWTNSRVQwMUpibkIxZERvZ1RXbDRhVzVuSUZKbFlXTjBJR0Z1WkNCdWIyNHRVbVZoWTNRZ2NtRmthVzhnYVc1d2RYUnpJSGRwZEdnZ2RHaGxJSE5oYldVZ1lHNWhiV1ZnSUdseklHNXZkQ0J6ZFhCd2IzSjBaV1F1WENJZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0F2THlCWFpTQnVaV1ZrSUhWd1pHRjBaU0IwYUdVZ2RISmhZMnRsWkNCMllXeDFaU0J2YmlCMGFHVWdibUZ0WldRZ1kyOTFjMmx1SUhOcGJtTmxJSFJvWlNCMllXeDFaVnh1SUNBZ0lDQWdMeThnZDJGeklHTm9ZVzVuWldRZ1luVjBJSFJvWlNCcGJuQjFkQ0J6WVhjZ2JtOGdaWFpsYm5RZ2IzSWdkbUZzZFdVZ2MyVjBYRzVjYmx4dUlDQWdJQ0FnZFhCa1lYUmxWbUZzZFdWSlprTm9ZVzVuWldRb2IzUm9aWEpPYjJSbEtUc2dMeThnU1dZZ2RHaHBjeUJwY3lCaElHTnZiblJ5YjJ4c1pXUWdjbUZrYVc4Z1luVjBkRzl1SUdkeWIzVndMQ0JtYjNKamFXNW5JSFJvWlNCcGJuQjFkQ0IwYUdGMFhHNGdJQ0FnSUNBdkx5QjNZWE1nY0hKbGRtbHZkWE5zZVNCamFHVmphMlZrSUhSdklIVndaR0YwWlNCM2FXeHNJR05oZFhObElHbDBJSFJ2SUdKbElHTnZiV1VnY21VdFkyaGxZMnRsWkZ4dUlDQWdJQ0FnTHk4Z1lYTWdZWEJ3Y205d2NtbGhkR1V1WEc1Y2JpQWdJQ0FnSUhWd1pHRjBaVmR5WVhCd1pYSW9iM1JvWlhKT2IyUmxMQ0J2ZEdobGNsQnliM0J6S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjBnTHk4Z1NXNGdRMmh5YjIxbExDQmhjM05wWjI1cGJtY2daR1ZtWVhWc2RGWmhiSFZsSUhSdklHTmxjblJoYVc0Z2FXNXdkWFFnZEhsd1pYTWdkSEpwWjJkbGNuTWdhVzV3ZFhRZ2RtRnNhV1JoZEdsdmJpNWNiaTh2SUVadmNpQnVkVzFpWlhJZ2FXNXdkWFJ6TENCMGFHVWdaR2x6Y0d4aGVTQjJZV3gxWlNCc2IzTmxjeUIwY21GcGJHbHVaeUJrWldOcGJXRnNJSEJ2YVc1MGN5NGdSbTl5SUdWdFlXbHNJR2x1Y0hWMGN5eGNiaTh2SUVOb2NtOXRaU0J5WVdselpYTWdYQ0pVYUdVZ2MzQmxZMmxtYVdWa0lIWmhiSFZsSUR4NFBpQnBjeUJ1YjNRZ1lTQjJZV3hwWkNCbGJXRnBiQ0JoWkdSeVpYTnpYQ0l1WEc0dkwxeHVMeThnU0dWeVpTQjNaU0JqYUdWamF5QjBieUJ6WldVZ2FXWWdkR2hsSUdSbFptRjFiSFJXWVd4MVpTQm9ZWE1nWVdOMGRXRnNiSGtnWTJoaGJtZGxaQ3dnWVhadmFXUnBibWNnZEdobGMyVWdjSEp2WW14bGJYTmNiaTh2SUhkb1pXNGdkR2hsSUhWelpYSWdhWE1nYVc1d2RYUjBhVzVuSUhSbGVIUmNiaTh2WEc0dkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZabUZqWldKdmIyc3ZjbVZoWTNRdmFYTnpkV1Z6THpjeU5UTmNibHh1WEc1bWRXNWpkR2x2YmlCelpYUkVaV1poZFd4MFZtRnNkV1VvYm05a1pTd2dkSGx3WlN3Z2RtRnNkV1VwSUh0Y2JpQWdhV1lnS0NBdkx5QkdiMk4xYzJWa0lHNTFiV0psY2lCcGJuQjFkSE1nYzNsdVkyaHliMjVwZW1VZ2IyNGdZbXgxY2k0Z1UyVmxJRU5vWVc1blpVVjJaVzUwVUd4MVoybHVMbXB6WEc0Z0lIUjVjR1VnSVQwOUlDZHVkVzFpWlhJbklIeDhJRzV2WkdVdWIzZHVaWEpFYjJOMWJXVnVkQzVoWTNScGRtVkZiR1Z0Wlc1MElDRTlQU0J1YjJSbEtTQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHNXZaR1V1WkdWbVlYVnNkRlpoYkhWbElEMGdkRzlUZEhKcGJtY29ibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxMbWx1YVhScFlXeFdZV3gxWlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMbVJsWm1GMWJIUldZV3gxWlNBaFBUMGdkRzlUZEhKcGJtY29kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQnViMlJsTG1SbFptRjFiSFJXWVd4MVpTQTlJSFJ2VTNSeWFXNW5LSFpoYkhWbEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUdScFpGZGhjbTVUWld4bFkzUmxaRk5sZEU5dVQzQjBhVzl1SUQwZ1ptRnNjMlU3WEc1MllYSWdaR2xrVjJGeWJrbHVkbUZzYVdSRGFHbHNaQ0E5SUdaaGJITmxPMXh1WEc1bWRXNWpkR2x2YmlCbWJHRjBkR1Z1UTJocGJHUnlaVzRvWTJocGJHUnlaVzRwSUh0Y2JpQWdkbUZ5SUdOdmJuUmxiblFnUFNBbkp6c2dMeThnUm14aGRIUmxiaUJqYUdsc1pISmxiaTRnVjJVbmJHd2dkMkZ5YmlCcFppQjBhR1Y1SUdGeVpTQnBiblpoYkdsa1hHNGdJQzh2SUdSMWNtbHVaeUIyWVd4cFpHRjBaVkJ5YjNCektDa2dkMmhwWTJnZ2NuVnVjeUJtYjNJZ2FIbGtjbUYwYVc5dUlIUnZieTVjYmlBZ0x5OGdUbTkwWlNCMGFHRjBJSFJvYVhNZ2QyOTFiR1FnZEdoeWIzY2diMjRnYm05dUxXVnNaVzFsYm5RZ2IySnFaV04wY3k1Y2JpQWdMeThnUld4bGJXVnVkSE1nWVhKbElITjBjbWx1WjJsbWFXVmtJQ2gzYUdsamFDQnBjeUJ1YjNKdFlXeHNlU0JwY25KbGJHVjJZVzUwWEc0Z0lDOHZJR0oxZENCdFlYUjBaWEp6SUdadmNpQThabUowUGlrdVhHNWNiaUFnVW1WaFkzUXVRMmhwYkdSeVpXNHVabTl5UldGamFDaGphR2xzWkhKbGJpd2dablZ1WTNScGIyNGdLR05vYVd4a0tTQjdYRzRnSUNBZ2FXWWdLR05vYVd4a0lEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1MFpXNTBJQ3M5SUdOb2FXeGtPeUF2THlCT2IzUmxPaUIzWlNCa2IyNG5kQ0IzWVhKdUlHRmliM1YwSUdsdWRtRnNhV1FnWTJocGJHUnlaVzRnYUdWeVpTNWNiaUFnSUNBdkx5Qkpibk4wWldGa0xDQjBhR2x6SUdseklHUnZibVVnYzJWd1lYSmhkR1ZzZVNCaVpXeHZkeUJ6YnlCMGFHRjBYRzRnSUNBZ0x5OGdhWFFnYUdGd2NHVnVjeUJrZFhKcGJtY2dkR2hsSUdoNVpISmhkR2x2YmlCamIyUmxjR0YwYUNCMGIyOHVYRzRnSUgwcE8xeHVJQ0J5WlhSMWNtNGdZMjl1ZEdWdWREdGNibjFjYmk4cUtseHVJQ29nU1cxd2JHVnRaVzUwY3lCaGJpQThiM0IwYVc5dVBpQm9iM04wSUdOdmJYQnZibVZ1ZENCMGFHRjBJSGRoY201eklIZG9aVzRnWUhObGJHVmpkR1ZrWUNCcGN5QnpaWFF1WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlZCeWIzQnpLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUh0Y2JpQWdJQ0F2THlCVWFHbHpJRzFwY25KdmNuTWdkR2hsSUdOdlpHVndZWFJvSUdGaWIzWmxMQ0JpZFhRZ2NuVnVjeUJtYjNJZ2FIbGtjbUYwYVc5dUlIUnZieTVjYmlBZ0lDQXZMeUJYWVhKdUlHRmliM1YwSUdsdWRtRnNhV1FnWTJocGJHUnlaVzRnYUdWeVpTQnpieUIwYUdGMElHTnNhV1Z1ZENCaGJtUWdhSGxrY21GMGFXOXVJR0Z5WlNCamIyNXphWE4wWlc1MExseHVJQ0FnSUM4dklGUlBSRTg2SUhSb2FYTWdjMlZsYlhNZ2JHbHJaU0JwZENCamIzVnNaQ0JqWVhWelpTQmhJRVJGVmkxdmJteDVJSFJvY205M0lHWnZjaUJvZVdSeVlYUnBiMjVjYmlBZ0lDQXZMeUJwWmlCamFHbHNaSEpsYmlCamIyNTBZV2x1Y3lCaElHNXZiaTFsYkdWdFpXNTBJRzlpYW1WamRDNGdWMlVnYzJodmRXeGtJSFJ5ZVNCMGJ5QmhkbTlwWkNCMGFHRjBMbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjSEp2Y0hNdVkyaHBiR1J5Wlc0Z1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhCeWIzQnpMbU5vYVd4a2NtVnVJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JTWldGamRDNURhR2xzWkhKbGJpNW1iM0pGWVdOb0tIQnliM0J6TG1Ob2FXeGtjbVZ1TENCbWRXNWpkR2x2YmlBb1kyaHBiR1FwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05vYVd4a0lEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHTm9hV3hrSUQwOVBTQW5jM1J5YVc1bkp5QjhmQ0IwZVhCbGIyWWdZMmhwYkdRZ1BUMDlJQ2R1ZFcxaVpYSW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqYUdsc1pDNTBlWEJsSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdsa1YyRnlia2x1ZG1Gc2FXUkRhR2xzWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1JwWkZkaGNtNUpiblpoYkdsa1EyaHBiR1FnUFNCMGNuVmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjA5dWJIa2djM1J5YVc1bmN5QmhibVFnYm5WdFltVnljeUJoY21VZ2MzVndjRzl5ZEdWa0lHRnpJRHh2Y0hScGIyNCtJR05vYVd4a2NtVnVMaWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUlDOHZJRlJQUkU4NklGSmxiVzkyWlNCemRYQndiM0owSUdadmNpQmdjMlZzWldOMFpXUmdJR2x1SUR4dmNIUnBiMjQrTGx4dVhHNWNiaUFnSUNCcFppQW9jSEp2Y0hNdWMyVnNaV04wWldRZ0lUMGdiblZzYkNBbUppQWhaR2xrVjJGeWJsTmxiR1ZqZEdWa1UyVjBUMjVQY0hScGIyNHBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDZFZjMlVnZEdobElHQmtaV1poZFd4MFZtRnNkV1ZnSUc5eUlHQjJZV3gxWldBZ2NISnZjSE1nYjI0Z1BITmxiR1ZqZEQ0Z2FXNXpkR1ZoWkNCdlppQW5JQ3NnSjNObGRIUnBibWNnWUhObGJHVmpkR1ZrWUNCdmJpQThiM0IwYVc5dVBpNG5LVHRjYmx4dUlDQWdJQ0FnWkdsa1YyRnlibE5sYkdWamRHVmtVMlYwVDI1UGNIUnBiMjRnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjRzl6ZEUxdmRXNTBWM0poY0hCbGNpUXhLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUM4dklIWmhiSFZsUFZ3aVhDSWdjMmh2ZFd4a0lHMWhhMlVnWVNCMllXeDFaU0JoZEhSeWFXSjFkR1VnS0NNMk1qRTVLVnh1SUNCcFppQW9jSEp2Y0hNdWRtRnNkV1VnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJR1ZzWlcxbGJuUXVjMlYwUVhSMGNtbGlkWFJsS0NkMllXeDFaU2NzSUhSdlUzUnlhVzVuS0dkbGRGUnZVM1J5YVc1blZtRnNkV1VvY0hKdmNITXVkbUZzZFdVcEtTazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUlFjbTl3Y3lReEtHVnNaVzFsYm5Rc0lIQnliM0J6S1NCN1hHNGdJSFpoY2lCb2IzTjBVSEp2Y0hNZ1BTQmZZWE56YVdkdUtIdGNiaUFnSUNCamFHbHNaSEpsYmpvZ2RXNWtaV1pwYm1Wa1hHNGdJSDBzSUhCeWIzQnpLVHRjYmx4dUlDQjJZWElnWTI5dWRHVnVkQ0E5SUdac1lYUjBaVzVEYUdsc1pISmxiaWh3Y205d2N5NWphR2xzWkhKbGJpazdYRzVjYmlBZ2FXWWdLR052Ym5SbGJuUXBJSHRjYmlBZ0lDQm9iM04wVUhKdmNITXVZMmhwYkdSeVpXNGdQU0JqYjI1MFpXNTBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR2h2YzNSUWNtOXdjenRjYm4xY2JseHVkbUZ5SUdScFpGZGhjbTVXWVd4MVpVUmxabUYxYkhSV1lXeDFaU1F4TzF4dVhHNTdYRzRnSUdScFpGZGhjbTVXWVd4MVpVUmxabUYxYkhSV1lXeDFaU1F4SUQwZ1ptRnNjMlU3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVSbFkyeGhjbUYwYVc5dVJYSnliM0pCWkdSbGJtUjFiU2dwSUh0Y2JpQWdkbUZ5SUc5M2JtVnlUbUZ0WlNBOUlHZGxkRU4xY25KbGJuUkdhV0psY2s5M2JtVnlUbUZ0WlVsdVJHVjJUM0pPZFd4c0tDazdYRzVjYmlBZ2FXWWdLRzkzYm1WeVRtRnRaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQW5YRnh1WEZ4dVEyaGxZMnNnZEdobElISmxibVJsY2lCdFpYUm9iMlFnYjJZZ1lDY2dLeUJ2ZDI1bGNrNWhiV1VnS3lBbllDNG5PMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJQ2NuTzF4dWZWeHVYRzUyWVhJZ2RtRnNkV1ZRY205d1RtRnRaWE1nUFNCYkozWmhiSFZsSnl3Z0oyUmxabUYxYkhSV1lXeDFaU2RkTzF4dUx5b3FYRzRnS2lCV1lXeHBaR0YwYVc5dUlHWjFibU4wYVc5dUlHWnZjaUJnZG1Gc2RXVmdJR0Z1WkNCZ1pHVm1ZWFZzZEZaaGJIVmxZQzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJqYUdWamExTmxiR1ZqZEZCeWIzQlVlWEJsY3lod2NtOXdjeWtnZTF4dUlDQjdYRzRnSUNBZ1VtVmhZM1JEYjI1MGNtOXNiR1ZrVm1Gc2RXVlFjbTl3Vkhsd1pYTXVZMmhsWTJ0UWNtOXdWSGx3WlhNb0ozTmxiR1ZqZENjc0lIQnliM0J6S1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RtRnNkV1ZRY205d1RtRnRaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ3Y205d1RtRnRaU0E5SUhaaGJIVmxVSEp2Y0U1aGJXVnpXMmxkTzF4dVhHNGdJQ0FnSUNCcFppQW9jSEp2Y0hOYmNISnZjRTVoYldWZElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCcGMwRnljbUY1SUQwZ1FYSnlZWGt1YVhOQmNuSmhlU2h3Y205d2MxdHdjbTl3VG1GdFpWMHBPMXh1WEc0Z0lDQWdJQ0JwWmlBb2NISnZjSE11YlhWc2RHbHdiR1VnSmlZZ0lXbHpRWEp5WVhrcElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb0oxUm9aU0JnSlhOZ0lIQnliM0FnYzNWd2NHeHBaV1FnZEc4Z1BITmxiR1ZqZEQ0Z2JYVnpkQ0JpWlNCaGJpQmhjbkpoZVNCcFppQW5JQ3NnSjJCdGRXeDBhWEJzWldBZ2FYTWdkSEoxWlM0bGN5Y3NJSEJ5YjNCT1lXMWxMQ0JuWlhSRVpXTnNZWEpoZEdsdmJrVnljbTl5UVdSa1pXNWtkVzBvS1NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tDRndjbTl3Y3k1dGRXeDBhWEJzWlNBbUppQnBjMEZ5Y21GNUtTQjdYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDZFVhR1VnWUNWellDQndjbTl3SUhOMWNIQnNhV1ZrSUhSdklEeHpaV3hsWTNRK0lHMTFjM1FnWW1VZ1lTQnpZMkZzWVhJZ0p5QXJJQ2QyWVd4MVpTQnBaaUJnYlhWc2RHbHdiR1ZnSUdseklHWmhiSE5sTGlWekp5d2djSEp2Y0U1aGJXVXNJR2RsZEVSbFkyeGhjbUYwYVc5dVJYSnliM0pCWkdSbGJtUjFiU2dwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVDNCMGFXOXVjeWh1YjJSbExDQnRkV3gwYVhCc1pTd2djSEp2Y0ZaaGJIVmxMQ0J6WlhSRVpXWmhkV3gwVTJWc1pXTjBaV1FwSUh0Y2JpQWdkbUZ5SUc5d2RHbHZibk1nUFNCdWIyUmxMbTl3ZEdsdmJuTTdYRzVjYmlBZ2FXWWdLRzExYkhScGNHeGxLU0I3WEc0Z0lDQWdkbUZ5SUhObGJHVmpkR1ZrVm1Gc2RXVnpJRDBnY0hKdmNGWmhiSFZsTzF4dUlDQWdJSFpoY2lCelpXeGxZM1JsWkZaaGJIVmxJRDBnZTMwN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElITmxiR1ZqZEdWa1ZtRnNkV1Z6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQXZMeUJRY21WbWFYZ2dkRzhnWVhadmFXUWdZMmhoYjNNZ2QybDBhQ0J6Y0dWamFXRnNJR3RsZVhNdVhHNGdJQ0FnSUNCelpXeGxZM1JsWkZaaGJIVmxXeWNrSnlBcklITmxiR1ZqZEdWa1ZtRnNkV1Z6VzJsZFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnWDJrZ1BTQXdPeUJmYVNBOElHOXdkR2x2Ym5NdWJHVnVaM1JvT3lCZmFTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2MyVnNaV04wWldRZ1BTQnpaV3hsWTNSbFpGWmhiSFZsTG1oaGMwOTNibEJ5YjNCbGNuUjVLQ2NrSnlBcklHOXdkR2x2Ym5OYlgybGRMblpoYkhWbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0c5d2RHbHZibk5iWDJsZExuTmxiR1ZqZEdWa0lDRTlQU0J6Wld4bFkzUmxaQ2tnZTF4dUlDQWdJQ0FnSUNCdmNIUnBiMjV6VzE5cFhTNXpaV3hsWTNSbFpDQTlJSE5sYkdWamRHVmtPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MyVnNaV04wWldRZ0ppWWdjMlYwUkdWbVlYVnNkRk5sYkdWamRHVmtLU0I3WEc0Z0lDQWdJQ0FnSUc5d2RHbHZibk5iWDJsZExtUmxabUYxYkhSVFpXeGxZM1JsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVSdklHNXZkQ0J6WlhRZ1lITmxiR1ZqZEM1MllXeDFaV0FnWVhNZ1pYaGhZM1FnWW1Wb1lYWnBiM0lnYVhOdUozUWdZMjl1YzJsemRHVnVkQ0JoWTNKdmMzTWdZV3hzWEc0Z0lDQWdMeThnWW5KdmQzTmxjbk1nWm05eUlHRnNiQ0JqWVhObGN5NWNiaUFnSUNCMllYSWdYM05sYkdWamRHVmtWbUZzZFdVZ1BTQjBiMU4wY21sdVp5aG5aWFJVYjFOMGNtbHVaMVpoYkhWbEtIQnliM0JXWVd4MVpTa3BPMXh1WEc0Z0lDQWdkbUZ5SUdSbFptRjFiSFJUWld4bFkzUmxaQ0E5SUc1MWJHdzdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmZhVElnUFNBd095QmZhVElnUENCdmNIUnBiMjV6TG14bGJtZDBhRHNnWDJreUt5c3BJSHRjYmlBZ0lDQWdJR2xtSUNodmNIUnBiMjV6VzE5cE1sMHVkbUZzZFdVZ1BUMDlJRjl6Wld4bFkzUmxaRlpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJRzl3ZEdsdmJuTmJYMmt5WFM1elpXeGxZM1JsWkNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSE5sZEVSbFptRjFiSFJUWld4bFkzUmxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOXdkR2x2Ym5OYlgya3lYUzVrWldaaGRXeDBVMlZzWldOMFpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1pHVm1ZWFZzZEZObGJHVmpkR1ZrSUQwOVBTQnVkV3hzSUNZbUlDRnZjSFJwYjI1elcxOXBNbDB1WkdsellXSnNaV1FwSUh0Y2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZEZObGJHVmpkR1ZrSUQwZ2IzQjBhVzl1YzF0ZmFUSmRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hrWldaaGRXeDBVMlZzWldOMFpXUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1JsWm1GMWJIUlRaV3hsWTNSbFpDNXpaV3hsWTNSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUVsdGNHeGxiV1Z1ZEhNZ1lTQThjMlZzWldOMFBpQm9iM04wSUdOdmJYQnZibVZ1ZENCMGFHRjBJR0ZzYkc5M2N5QnZjSFJwYjI1aGJHeDVJSE5sZEhScGJtY2dkR2hsWEc0Z0tpQndjbTl3Y3lCZ2RtRnNkV1ZnSUdGdVpDQmdaR1ZtWVhWc2RGWmhiSFZsWUM0Z1NXWWdZRzExYkhScGNHeGxZQ0JwY3lCbVlXeHpaU3dnZEdobElIQnliM0FnYlhWemRDQmlaU0JoWEc0Z0tpQnpkSEpwYm1kaFlteGxMaUJKWmlCZ2JYVnNkR2x3YkdWZ0lHbHpJSFJ5ZFdVc0lIUm9aU0J3Y205d0lHMTFjM1FnWW1VZ1lXNGdZWEp5WVhrZ2IyWWdjM1J5YVc1bllXSnNaWE11WEc0Z0tseHVJQ29nU1dZZ1lIWmhiSFZsWUNCcGN5QnViM1FnYzNWd2NHeHBaV1FnS0c5eUlHNTFiR3d2ZFc1a1pXWnBibVZrS1N3Z2RYTmxjaUJoWTNScGIyNXpJSFJvWVhRZ1kyaGhibWRsSUhSb1pWeHVJQ29nYzJWc1pXTjBaV1FnYjNCMGFXOXVJSGRwYkd3Z2RISnBaMmRsY2lCMWNHUmhkR1Z6SUhSdklIUm9aU0J5Wlc1a1pYSmxaQ0J2Y0hScGIyNXpMbHh1SUNwY2JpQXFJRWxtSUdsMElHbHpJSE4xY0hCc2FXVmtJQ2hoYm1RZ2JtOTBJRzUxYkd3dmRXNWtaV1pwYm1Wa0tTd2dkR2hsSUhKbGJtUmxjbVZrSUc5d2RHbHZibk1nZDJsc2JDQnViM1JjYmlBcUlIVndaR0YwWlNCcGJpQnlaWE53YjI1elpTQjBieUIxYzJWeUlHRmpkR2x2Ym5NdUlFbHVjM1JsWVdRc0lIUm9aU0JnZG1Gc2RXVmdJSEJ5YjNBZ2JYVnpkQ0JqYUdGdVoyVWdhVzVjYmlBcUlHOXlaR1Z5SUdadmNpQjBhR1VnY21WdVpHVnlaV1FnYjNCMGFXOXVjeUIwYnlCMWNHUmhkR1V1WEc0Z0tseHVJQ29nU1dZZ1lHUmxabUYxYkhSV1lXeDFaV0FnYVhNZ2NISnZkbWxrWldRc0lHRnVlU0J2Y0hScGIyNXpJSGRwZEdnZ2RHaGxJSE4xY0hCc2FXVmtJSFpoYkhWbGN5QjNhV3hzSUdKbFhHNGdLaUJ6Wld4bFkzUmxaQzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFaHZjM1JRY205d2N5UXlLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUhKbGRIVnliaUJmWVhOemFXZHVLSHQ5TENCd2NtOXdjeXdnZTF4dUlDQWdJSFpoYkhWbE9pQjFibVJsWm1sdVpXUmNiaUFnZlNrN1hHNTlYRzVtZFc1amRHbHZiaUJwYm1sMFYzSmhjSEJsY2xOMFlYUmxKREVvWld4bGJXVnVkQ3dnY0hKdmNITXBJSHRjYmlBZ2RtRnlJRzV2WkdVZ1BTQmxiR1Z0Wlc1ME8xeHVYRzRnSUh0Y2JpQWdJQ0JqYUdWamExTmxiR1ZqZEZCeWIzQlVlWEJsY3lod2NtOXdjeWs3WEc0Z0lIMWNibHh1SUNCdWIyUmxMbDkzY21Gd2NHVnlVM1JoZEdVZ1BTQjdYRzRnSUNBZ2QyRnpUWFZzZEdsd2JHVTZJQ0VoY0hKdmNITXViWFZzZEdsd2JHVmNiaUFnZlR0Y2JseHVJQ0I3WEc0Z0lDQWdhV1lnS0hCeWIzQnpMblpoYkhWbElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2NISnZjSE11WkdWbVlYVnNkRlpoYkhWbElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ0lXUnBaRmRoY201V1lXeDFaVVJsWm1GMWJIUldZV3gxWlNReEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblUyVnNaV04wSUdWc1pXMWxiblJ6SUcxMWMzUWdZbVVnWldsMGFHVnlJR052Ym5SeWIyeHNaV1FnYjNJZ2RXNWpiMjUwY205c2JHVmtJQ2NnS3lBbktITndaV05wWm5rZ1pXbDBhR1Z5SUhSb1pTQjJZV3gxWlNCd2NtOXdMQ0J2Y2lCMGFHVWdaR1ZtWVhWc2RGWmhiSFZsSUhCeWIzQXNJR0oxZENCdWIzUWdKeUFySUNkaWIzUm9LUzRnUkdWamFXUmxJR0psZEhkbFpXNGdkWE5wYm1jZ1lTQmpiMjUwY205c2JHVmtJRzl5SUhWdVkyOXVkSEp2Ykd4bFpDQnpaV3hsWTNRZ0p5QXJJQ2RsYkdWdFpXNTBJR0Z1WkNCeVpXMXZkbVVnYjI1bElHOW1JSFJvWlhObElIQnliM0J6TGlCTmIzSmxJR2x1Wm04NklDY2dLeUFuYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxamIyNTBjbTlzYkdWa0xXTnZiWEJ2Ym1WdWRITW5LVHRjYmx4dUlDQWdJQ0FnWkdsa1YyRnlibFpoYkhWbFJHVm1ZWFZzZEZaaGJIVmxKREVnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjRzl6ZEUxdmRXNTBWM0poY0hCbGNpUXlLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ1pXeGxiV1Z1ZER0Y2JpQWdibTlrWlM1dGRXeDBhWEJzWlNBOUlDRWhjSEp2Y0hNdWJYVnNkR2x3YkdVN1hHNGdJSFpoY2lCMllXeDFaU0E5SUhCeWIzQnpMblpoYkhWbE8xeHVYRzRnSUdsbUlDaDJZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnZFhCa1lYUmxUM0IwYVc5dWN5aHViMlJsTENBaElYQnliM0J6TG0xMWJIUnBjR3hsTENCMllXeDFaU3dnWm1Gc2MyVXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIQnliM0J6TG1SbFptRjFiSFJXWVd4MVpTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RYQmtZWFJsVDNCMGFXOXVjeWh1YjJSbExDQWhJWEJ5YjNCekxtMTFiSFJwY0d4bExDQndjbTl3Y3k1a1pXWmhkV3gwVm1Gc2RXVXNJSFJ5ZFdVcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQndiM04wVlhCa1lYUmxWM0poY0hCbGNpaGxiR1Z0Wlc1MExDQndjbTl3Y3lrZ2UxeHVJQ0IyWVhJZ2JtOWtaU0E5SUdWc1pXMWxiblE3WEc0Z0lIWmhjaUIzWVhOTmRXeDBhWEJzWlNBOUlHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpTNTNZWE5OZFd4MGFYQnNaVHRjYmlBZ2JtOWtaUzVmZDNKaGNIQmxjbE4wWVhSbExuZGhjMDExYkhScGNHeGxJRDBnSVNGd2NtOXdjeTV0ZFd4MGFYQnNaVHRjYmlBZ2RtRnlJSFpoYkhWbElEMGdjSEp2Y0hNdWRtRnNkV1U3WEc1Y2JpQWdhV1lnS0haaGJIVmxJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQjFjR1JoZEdWUGNIUnBiMjV6S0c1dlpHVXNJQ0VoY0hKdmNITXViWFZzZEdsd2JHVXNJSFpoYkhWbExDQm1ZV3h6WlNrN1hHNGdJSDBnWld4elpTQnBaaUFvZDJGelRYVnNkR2x3YkdVZ0lUMDlJQ0VoY0hKdmNITXViWFZzZEdsd2JHVXBJSHRjYmlBZ0lDQXZMeUJHYjNJZ2MybHRjR3hwWTJsMGVTd2djbVZoY0hCc2VTQmdaR1ZtWVhWc2RGWmhiSFZsWUNCcFppQmdiWFZzZEdsd2JHVmdJR2x6SUhSdloyZHNaV1F1WEc0Z0lDQWdhV1lnS0hCeWIzQnpMbVJsWm1GMWJIUldZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCMWNHUmhkR1ZQY0hScGIyNXpLRzV2WkdVc0lDRWhjSEp2Y0hNdWJYVnNkR2x3YkdVc0lIQnliM0J6TG1SbFptRjFiSFJXWVd4MVpTd2dkSEoxWlNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUZKbGRtVnlkQ0IwYUdVZ2MyVnNaV04wSUdKaFkyc2dkRzhnYVhSeklHUmxabUYxYkhRZ2RXNXpaV3hsWTNSbFpDQnpkR0YwWlM1Y2JpQWdJQ0FnSUhWd1pHRjBaVTl3ZEdsdmJuTW9ibTlrWlN3Z0lTRndjbTl3Y3k1dGRXeDBhWEJzWlN3Z2NISnZjSE11YlhWc2RHbHdiR1VnUHlCYlhTQTZJQ2NuTENCbVlXeHpaU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ5WlhOMGIzSmxRMjl1ZEhKdmJHeGxaRk4wWVhSbEpERW9aV3hsYldWdWRDd2djSEp2Y0hNcElIdGNiaUFnZG1GeUlHNXZaR1VnUFNCbGJHVnRaVzUwTzF4dUlDQjJZWElnZG1Gc2RXVWdQU0J3Y205d2N5NTJZV3gxWlR0Y2JseHVJQ0JwWmlBb2RtRnNkV1VnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJSFZ3WkdGMFpVOXdkR2x2Ym5Nb2JtOWtaU3dnSVNGd2NtOXdjeTV0ZFd4MGFYQnNaU3dnZG1Gc2RXVXNJR1poYkhObEtUdGNiaUFnZlZ4dWZWeHVYRzUyWVhJZ1pHbGtWMkZ5YmxaaGJFUmxabUYxYkhSV1lXd2dQU0JtWVd4elpUdGNibHh1THlvcVhHNGdLaUJKYlhCc1pXMWxiblJ6SUdFZ1BIUmxlSFJoY21WaFBpQm9iM04wSUdOdmJYQnZibVZ1ZENCMGFHRjBJR0ZzYkc5M2N5QnpaWFIwYVc1bklHQjJZV3gxWldBc0lHRnVaRnh1SUNvZ1lHUmxabUYxYkhSV1lXeDFaV0F1SUZSb2FYTWdaR2xtWm1WeWN5Qm1jbTl0SUhSb1pTQjBjbUZrYVhScGIyNWhiQ0JFVDAwZ1FWQkpJR0psWTJGMWMyVWdkbUZzZFdVZ2FYTmNiaUFxSUhWemRXRnNiSGtnYzJWMElHRnpJRkJEUkVGVVFTQmphR2xzWkhKbGJpNWNiaUFxWEc0Z0tpQkpaaUJnZG1Gc2RXVmdJR2x6SUc1dmRDQnpkWEJ3YkdsbFpDQW9iM0lnYm5Wc2JDOTFibVJsWm1sdVpXUXBMQ0IxYzJWeUlHRmpkR2x2Ym5NZ2RHaGhkQ0JoWm1abFkzUWdkR2hsWEc0Z0tpQjJZV3gxWlNCM2FXeHNJSFJ5YVdkblpYSWdkWEJrWVhSbGN5QjBieUIwYUdVZ1pXeGxiV1Z1ZEM1Y2JpQXFYRzRnS2lCSlppQmdkbUZzZFdWZ0lHbHpJSE4xY0hCc2FXVmtJQ2hoYm1RZ2JtOTBJRzUxYkd3dmRXNWtaV1pwYm1Wa0tTd2dkR2hsSUhKbGJtUmxjbVZrSUdWc1pXMWxiblFnZDJsc2JGeHVJQ29nYm05MElIUnlhV2RuWlhJZ2RYQmtZWFJsY3lCMGJ5QjBhR1VnWld4bGJXVnVkQzRnU1c1emRHVmhaQ3dnZEdobElHQjJZV3gxWldBZ2NISnZjQ0J0ZFhOMElHTm9ZVzVuWlNCcGJseHVJQ29nYjNKa1pYSWdabTl5SUhSb1pTQnlaVzVrWlhKbFpDQmxiR1Z0Wlc1MElIUnZJR0psSUhWd1pHRjBaV1F1WEc0Z0tseHVJQ29nVkdobElISmxibVJsY21Wa0lHVnNaVzFsYm5RZ2QybHNiQ0JpWlNCcGJtbDBhV0ZzYVhwbFpDQjNhWFJvSUdGdUlHVnRjSFI1SUhaaGJIVmxMQ0IwYUdVZ2NISnZjRnh1SUNvZ1lHUmxabUYxYkhSV1lXeDFaV0FnYVdZZ2MzQmxZMmxtYVdWa0xDQnZjaUIwYUdVZ1kyaHBiR1J5Wlc0Z1kyOXVkR1Z1ZENBb1pHVndjbVZqWVhSbFpDa3VYRzRnS2k5Y2JtWjFibU4wYVc5dUlHZGxkRWh2YzNSUWNtOXdjeVF6S0dWc1pXMWxiblFzSUhCeWIzQnpLU0I3WEc0Z0lIWmhjaUJ1YjJSbElEMGdaV3hsYldWdWREdGNibHh1SUNCcFppQW9JU2h3Y205d2N5NWtZVzVuWlhKdmRYTnNlVk5sZEVsdWJtVnlTRlJOVENBOVBTQnVkV3hzS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbUJrWVc1blpYSnZkWE5zZVZObGRFbHVibVZ5U0ZSTlRHQWdaRzlsY3lCdWIzUWdiV0ZyWlNCelpXNXpaU0J2YmlBOGRHVjRkR0Z5WldFK0xsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRUZzZDJGNWN5QnpaWFFnWTJocGJHUnlaVzRnZEc4Z2RHaGxJSE5oYldVZ2RHaHBibWN1SUVsdUlFbEZPU3dnZEdobElITmxiR1ZqZEdsdmJpQnlZVzVuWlNCM2FXeHNYRzRnSUM4dklHZGxkQ0J5WlhObGRDQnBaaUJnZEdWNGRFTnZiblJsYm5SZ0lHbHpJRzExZEdGMFpXUXVJQ0JYWlNCamIzVnNaQ0JoWkdRZ1lTQmphR1ZqYXlCcGJpQnpaWFJVWlhoMFEyOXVkR1Z1ZEZ4dUlDQXZMeUIwYnlCdmJteDVJSE5sZENCMGFHVWdkbUZzZFdVZ2FXWXZkMmhsYmlCMGFHVWdkbUZzZFdVZ1pHbG1abVZ5Y3lCbWNtOXRJSFJvWlNCdWIyUmxJSFpoYkhWbElDaDNhR2xqYUNCM2IzVnNaRnh1SUNBdkx5QmpiMjF3YkdWMFpXeDVJSE52YkhabElIUm9hWE1nU1VVNUlHSjFaeWtzSUdKMWRDQlRaV0poYzNScFlXNHJVMjl3YUdsbElITmxaVzFsWkNCMGJ5QnNhV3RsSUhSb2FYTmNiaUFnTHk4Z2MyOXNkWFJwYjI0dUlGUm9aU0IyWVd4MVpTQmpZVzRnWW1VZ1lTQmliMjlzWldGdUlHOXlJRzlpYW1WamRDQnpieUIwYUdGMEozTWdkMmg1SUdsMEozTWdabTl5WTJWa1hHNGdJQzh2SUhSdklHSmxJR0VnYzNSeWFXNW5MbHh1WEc1Y2JpQWdkbUZ5SUdodmMzUlFjbTl3Y3lBOUlGOWhjM05wWjI0b2UzMHNJSEJ5YjNCekxDQjdYRzRnSUNBZ2RtRnNkV1U2SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JrWldaaGRXeDBWbUZzZFdVNklIVnVaR1ZtYVc1bFpDeGNiaUFnSUNCamFHbHNaSEpsYmpvZ2RHOVRkSEpwYm1jb2JtOWtaUzVmZDNKaGNIQmxjbE4wWVhSbExtbHVhWFJwWVd4V1lXeDFaU2xjYmlBZ2ZTazdYRzVjYmlBZ2NtVjBkWEp1SUdodmMzUlFjbTl3Y3p0Y2JuMWNibVoxYm1OMGFXOXVJR2x1YVhSWGNtRndjR1Z5VTNSaGRHVWtNaWhsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN1hHNWNiaUFnZTF4dUlDQWdJRkpsWVdOMFEyOXVkSEp2Ykd4bFpGWmhiSFZsVUhKdmNGUjVjR1Z6TG1Ob1pXTnJVSEp2Y0ZSNWNHVnpLQ2QwWlhoMFlYSmxZU2NzSUhCeWIzQnpLVHRjYmx4dUlDQWdJR2xtSUNod2NtOXdjeTUyWVd4MVpTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlIQnliM0J6TG1SbFptRjFiSFJXWVd4MVpTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlDRmthV1JYWVhKdVZtRnNSR1ZtWVhWc2RGWmhiQ2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6SUdOdmJuUmhhVzV6SUdFZ2RHVjRkR0Z5WldFZ2QybDBhQ0JpYjNSb0lIWmhiSFZsSUdGdVpDQmtaV1poZFd4MFZtRnNkV1VnY0hKdmNITXVJQ2NnS3lBblZHVjRkR0Z5WldFZ1pXeGxiV1Z1ZEhNZ2JYVnpkQ0JpWlNCbGFYUm9aWElnWTI5dWRISnZiR3hsWkNCdmNpQjFibU52Ym5SeWIyeHNaV1FnSnlBcklDY29jM0JsWTJsbWVTQmxhWFJvWlhJZ2RHaGxJSFpoYkhWbElIQnliM0FzSUc5eUlIUm9aU0JrWldaaGRXeDBWbUZzZFdVZ2NISnZjQ3dnWW5WMElHNXZkQ0FuSUNzZ0oySnZkR2dwTGlCRVpXTnBaR1VnWW1WMGQyVmxiaUIxYzJsdVp5QmhJR052Ym5SeWIyeHNaV1FnYjNJZ2RXNWpiMjUwY205c2JHVmtJSFJsZUhSaGNtVmhJQ2NnS3lBbllXNWtJSEpsYlc5MlpTQnZibVVnYjJZZ2RHaGxjMlVnY0hKdmNITXVJRTF2Y21VZ2FXNW1iem9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV052Ym5SeWIyeHNaV1F0WTI5dGNHOXVaVzUwY3ljc0lHZGxkRU4xY25KbGJuUkdhV0psY2s5M2JtVnlUbUZ0WlVsdVJHVjJUM0pPZFd4c0tDa2dmSHdnSjBFZ1kyOXRjRzl1Wlc1MEp5azdYRzVjYmlBZ0lDQWdJR1JwWkZkaGNtNVdZV3hFWldaaGRXeDBWbUZzSUQwZ2RISjFaVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IyWVhJZ2FXNXBkR2xoYkZaaGJIVmxJRDBnY0hKdmNITXVkbUZzZFdVN0lDOHZJRTl1YkhrZ1ltOTBhR1Z5SUdabGRHTm9hVzVuSUdSbFptRjFiSFFnZG1Gc2RXVWdhV1lnZDJVbmNtVWdaMjlwYm1jZ2RHOGdkWE5sSUdsMFhHNWNiaUFnYVdZZ0tHbHVhWFJwWVd4V1lXeDFaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdkbUZ5SUdOb2FXeGtjbVZ1SUQwZ2NISnZjSE11WTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFJXWVd4MVpTQTlJSEJ5YjNCekxtUmxabUYxYkhSV1lXeDFaVHRjYmx4dUlDQWdJR2xtSUNoamFHbHNaSEpsYmlBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkVmMyVWdkR2hsSUdCa1pXWmhkV3gwVm1Gc2RXVmdJRzl5SUdCMllXeDFaV0FnY0hKdmNITWdhVzV6ZEdWaFpDQnZaaUJ6WlhSMGFXNW5JQ2NnS3lBblkyaHBiR1J5Wlc0Z2IyNGdQSFJsZUhSaGNtVmhQaTRuS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVNoa1pXWmhkV3gwVm1Gc2RXVWdQVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkpaaUI1YjNVZ2MzVndjR3g1SUdCa1pXWmhkV3gwVm1Gc2RXVmdJRzl1SUdFZ1BIUmxlSFJoY21WaFBpd2daRzhnYm05MElIQmhjM01nWTJocGJHUnlaVzR1WENJZ0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGphR2xzWkhKbGJpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JU2hqYUdsc1pISmxiaTVzWlc1bmRHZ2dQRDBnTVNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lQSFJsZUhSaGNtVmhQaUJqWVc0Z2IyNXNlU0JvWVhabElHRjBJRzF2YzNRZ2IyNWxJR05vYVd4a0xsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdZMmhwYkdSeVpXNGdQU0JqYUdsc1pISmxibHN3WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR1JsWm1GMWJIUldZV3gxWlNBOUlHTm9hV3hrY21WdU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGtaV1poZFd4MFZtRnNkV1VnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnWkdWbVlYVnNkRlpoYkhWbElEMGdKeWM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhVzVwZEdsaGJGWmhiSFZsSUQwZ1pHVm1ZWFZzZEZaaGJIVmxPMXh1SUNCOVhHNWNiaUFnYm05a1pTNWZkM0poY0hCbGNsTjBZWFJsSUQwZ2UxeHVJQ0FnSUdsdWFYUnBZV3hXWVd4MVpUb2daMlYwVkc5VGRISnBibWRXWVd4MVpTaHBibWwwYVdGc1ZtRnNkV1VwWEc0Z0lIMDdYRzU5WEc1bWRXNWpkR2x2YmlCMWNHUmhkR1ZYY21Gd2NHVnlKREVvWld4bGJXVnVkQ3dnY0hKdmNITXBJSHRjYmlBZ2RtRnlJRzV2WkdVZ1BTQmxiR1Z0Wlc1ME8xeHVJQ0IyWVhJZ2RtRnNkV1VnUFNCblpYUlViMU4wY21sdVoxWmhiSFZsS0hCeWIzQnpMblpoYkhWbEtUdGNiaUFnZG1GeUlHUmxabUYxYkhSV1lXeDFaU0E5SUdkbGRGUnZVM1J5YVc1blZtRnNkV1VvY0hKdmNITXVaR1ZtWVhWc2RGWmhiSFZsS1R0Y2JseHVJQ0JwWmlBb2RtRnNkV1VnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQzh2SUVOaGMzUWdZSFpoYkhWbFlDQjBieUJoSUhOMGNtbHVaeUIwYnlCbGJuTjFjbVVnZEdobElIWmhiSFZsSUdseklITmxkQ0JqYjNKeVpXTjBiSGt1SUZkb2FXeGxYRzRnSUNBZ0x5OGdZbkp2ZDNObGNuTWdkSGx3YVdOaGJHeDVJR1J2SUhSb2FYTWdZWE1nYm1WalpYTnpZWEo1TENCcWMyUnZiU0JrYjJWemJpZDBMbHh1SUNBZ0lIWmhjaUJ1WlhkV1lXeDFaU0E5SUhSdlUzUnlhVzVuS0haaGJIVmxLVHNnTHk4Z1ZHOGdZWFp2YVdRZ2MybGtaU0JsWm1abFkzUnpJQ2h6ZFdOb0lHRnpJR3h2YzJsdVp5QjBaWGgwSUhObGJHVmpkR2x2Ymlrc0lHOXViSGtnYzJWMElIWmhiSFZsSUdsbUlHTm9ZVzVuWldSY2JseHVJQ0FnSUdsbUlDaHVaWGRXWVd4MVpTQWhQVDBnYm05a1pTNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ2JtOWtaUzUyWVd4MVpTQTlJRzVsZDFaaGJIVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h3Y205d2N5NWtaV1poZFd4MFZtRnNkV1VnUFQwZ2JuVnNiQ0FtSmlCdWIyUmxMbVJsWm1GMWJIUldZV3gxWlNBaFBUMGdibVYzVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJRzV2WkdVdVpHVm1ZWFZzZEZaaGJIVmxJRDBnYm1WM1ZtRnNkV1U3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tHUmxabUYxYkhSV1lXeDFaU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdibTlrWlM1a1pXWmhkV3gwVm1Gc2RXVWdQU0IwYjFOMGNtbHVaeWhrWldaaGRXeDBWbUZzZFdVcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQndiM04wVFc5MWJuUlhjbUZ3Y0dWeUpETW9aV3hsYldWdWRDd2djSEp2Y0hNcElIdGNiaUFnZG1GeUlHNXZaR1VnUFNCbGJHVnRaVzUwT3lBdkx5QlVhR2x6SUdseklHbHVJSEJ2YzNSTmIzVnVkQ0JpWldOaGRYTmxJSGRsSUc1bFpXUWdZV05qWlhOeklIUnZJSFJvWlNCRVQwMGdibTlrWlN3Z2QyaHBZMmdnYVhNZ2JtOTBYRzRnSUM4dklHRjJZV2xzWVdKc1pTQjFiblJwYkNCaFpuUmxjaUIwYUdVZ1kyOXRjRzl1Wlc1MElHaGhjeUJ0YjNWdWRHVmtMbHh1WEc0Z0lIWmhjaUIwWlhoMFEyOXVkR1Z1ZENBOUlHNXZaR1V1ZEdWNGRFTnZiblJsYm5RN0lDOHZJRTl1YkhrZ2MyVjBJRzV2WkdVdWRtRnNkV1VnYVdZZ2RHVjRkRU52Ym5SbGJuUWdhWE1nWlhGMVlXd2dkRzhnZEdobElHVjRjR1ZqZEdWa1hHNGdJQzh2SUdsdWFYUnBZV3dnZG1Gc2RXVXVJRWx1SUVsRk1UQXZTVVV4TVNCMGFHVnlaU0JwY3lCaElHSjFaeUIzYUdWeVpTQjBhR1VnY0d4aFkyVm9iMnhrWlhJZ1lYUjBjbWxpZFhSbFhHNGdJQzh2SUhkcGJHd2djRzl3ZFd4aGRHVWdkR1Y0ZEVOdmJuUmxiblFnWVhNZ2QyVnNiQzVjYmlBZ0x5OGdhSFIwY0hNNkx5OWtaWFpsYkc5d1pYSXViV2xqY205emIyWjBMbU52YlM5dGFXTnliM052Wm5RdFpXUm5aUzl3YkdGMFptOXliUzlwYzNOMVpYTXZNVEF4TlRJMUwxeHVYRzRnSUdsbUlDaDBaWGgwUTI5dWRHVnVkQ0E5UFQwZ2JtOWtaUzVmZDNKaGNIQmxjbE4wWVhSbExtbHVhWFJwWVd4V1lXeDFaU2tnZTF4dUlDQWdJR2xtSUNoMFpYaDBRMjl1ZEdWdWRDQWhQVDBnSnljZ0ppWWdkR1Y0ZEVOdmJuUmxiblFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUc1dlpHVXVkbUZzZFdVZ1BTQjBaWGgwUTI5dWRHVnVkRHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSEpsYzNSdmNtVkRiMjUwY205c2JHVmtVM1JoZEdVa01paGxiR1Z0Wlc1MExDQndjbTl3Y3lrZ2UxeHVJQ0F2THlCRVQwMGdZMjl0Y0c5dVpXNTBJR2x6SUhOMGFXeHNJRzF2ZFc1MFpXUTdJSFZ3WkdGMFpWeHVJQ0IxY0dSaGRHVlhjbUZ3Y0dWeUpERW9aV3hsYldWdWRDd2djSEp2Y0hNcE8xeHVmVnh1WEc1MllYSWdTRlJOVEY5T1FVMUZVMUJCUTBVZ1BTQW5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGFIUnRiQ2M3WEc1MllYSWdUVUZVU0Y5T1FVMUZVMUJCUTBVZ1BTQW5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T0M5TllYUm9MMDFoZEdoTlRDYzdYRzUyWVhJZ1UxWkhYMDVCVFVWVFVFRkRSU0E5SUNkb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnljN1hHNTJZWElnVG1GdFpYTndZV05sY3lBOUlIdGNiaUFnYUhSdGJEb2dTRlJOVEY5T1FVMUZVMUJCUTBVc1hHNGdJRzFoZEdodGJEb2dUVUZVU0Y5T1FVMUZVMUJCUTBVc1hHNGdJSE4yWnpvZ1UxWkhYMDVCVFVWVFVFRkRSVnh1ZlRzZ0x5OGdRWE56ZFcxbGN5QjBhR1Z5WlNCcGN5QnVieUJ3WVhKbGJuUWdibUZ0WlhOd1lXTmxMbHh1WEc1bWRXNWpkR2x2YmlCblpYUkpiblJ5YVc1emFXTk9ZVzFsYzNCaFkyVW9kSGx3WlNrZ2UxeHVJQ0J6ZDJsMFkyZ2dLSFI1Y0dVcElIdGNiaUFnSUNCallYTmxJQ2R6ZG1jbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZOV1IxOU9RVTFGVTFCQlEwVTdYRzVjYmlBZ0lDQmpZWE5sSUNkdFlYUm9KenBjYmlBZ0lDQWdJSEpsZEhWeWJpQk5RVlJJWDA1QlRVVlRVRUZEUlR0Y2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdTRlJOVEY5T1FVMUZVMUJCUTBVN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHZGxkRU5vYVd4a1RtRnRaWE53WVdObEtIQmhjbVZ1ZEU1aGJXVnpjR0ZqWlN3Z2RIbHdaU2tnZTF4dUlDQnBaaUFvY0dGeVpXNTBUbUZ0WlhOd1lXTmxJRDA5SUc1MWJHd2dmSHdnY0dGeVpXNTBUbUZ0WlhOd1lXTmxJRDA5UFNCSVZFMU1YMDVCVFVWVFVFRkRSU2tnZTF4dUlDQWdJQzh2SUU1dklDaHZjaUJrWldaaGRXeDBLU0J3WVhKbGJuUWdibUZ0WlhOd1lXTmxPaUJ3YjNSbGJuUnBZV3dnWlc1MGNua2djRzlwYm5RdVhHNGdJQ0FnY21WMGRYSnVJR2RsZEVsdWRISnBibk5wWTA1aGJXVnpjR0ZqWlNoMGVYQmxLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHdZWEpsYm5ST1lXMWxjM0JoWTJVZ1BUMDlJRk5XUjE5T1FVMUZVMUJCUTBVZ0ppWWdkSGx3WlNBOVBUMGdKMlp2Y21WcFoyNVBZbXBsWTNRbktTQjdYRzRnSUNBZ0x5OGdWMlVuY21VZ2JHVmhkbWx1WnlCVFZrY3VYRzRnSUNBZ2NtVjBkWEp1SUVoVVRVeGZUa0ZOUlZOUVFVTkZPMXh1SUNCOUlDOHZJRUo1SUdSbFptRjFiSFFzSUhCaGMzTWdibUZ0WlhOd1lXTmxJR0psYkc5M0xseHVYRzVjYmlBZ2NtVjBkWEp1SUhCaGNtVnVkRTVoYldWemNHRmpaVHRjYm4xY2JseHVMeW9nWjJ4dlltRnNjeUJOVTBGd2NDQXFMMXh1WEc0dktpcGNiaUFxSUVOeVpXRjBaU0JoSUdaMWJtTjBhVzl1SUhkb2FXTm9JR2hoY3lBbmRXNXpZV1psSnlCd2NtbDJhV3hsWjJWeklDaHlaWEYxYVhKbFpDQmllU0IzYVc1a2IzZHpPQ0JoY0hCektWeHVJQ292WEc1MllYSWdZM0psWVhSbFRXbGpjbTl6YjJaMFZXNXpZV1psVEc5allXeEdkVzVqZEdsdmJpQTlJR1oxYm1OMGFXOXVJQ2htZFc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1RWTkJjSEFnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUUxVFFYQndMbVY0WldOVmJuTmhabVZNYjJOaGJFWjFibU4wYVc5dUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNoaGNtY3dMQ0JoY21jeExDQmhjbWN5TENCaGNtY3pLU0I3WEc0Z0lDQWdJQ0JOVTBGd2NDNWxlR1ZqVlc1ellXWmxURzlqWVd4R2RXNWpkR2x2YmlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqS0dGeVp6QXNJR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdablZ1WXp0Y2JpQWdmVnh1ZlR0Y2JseHVkbUZ5SUhKbGRYTmhZbXhsVTFaSFEyOXVkR0ZwYm1WeU8xeHVMeW9xWEc0Z0tpQlRaWFFnZEdobElHbHVibVZ5U0ZSTlRDQndjbTl3WlhKMGVTQnZaaUJoSUc1dlpHVmNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwUlBUVVZzWlcxbGJuUjlJRzV2WkdWY2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQm9kRzFzWEc0Z0tpQkFhVzUwWlhKdVlXeGNiaUFxTDF4dVhHNTJZWElnYzJWMFNXNXVaWEpJVkUxTUlEMGdZM0psWVhSbFRXbGpjbTl6YjJaMFZXNXpZV1psVEc5allXeEdkVzVqZEdsdmJpaG1kVzVqZEdsdmJpQW9ibTlrWlN3Z2FIUnRiQ2tnZTF4dUlDQnBaaUFvYm05a1pTNXVZVzFsYzNCaFkyVlZVa2tnUFQwOUlFNWhiV1Z6Y0dGalpYTXVjM1puS1NCN1hHNWNiaUFnSUNCcFppQW9JU2duYVc1dVpYSklWRTFNSnlCcGJpQnViMlJsS1NrZ2UxeHVJQ0FnSUNBZ0x5OGdTVVVnWkc5bGN5QnViM1FnYUdGMlpTQnBibTVsY2toVVRVd2dabTl5SUZOV1J5QnViMlJsY3l3Z2MyOGdhVzV6ZEdWaFpDQjNaU0JwYm1wbFkzUWdkR2hsWEc0Z0lDQWdJQ0F2THlCdVpYY2diV0Z5YTNWd0lHbHVJR0VnZEdWdGNDQnViMlJsSUdGdVpDQjBhR1Z1SUcxdmRtVWdkR2hsSUdOb2FXeGtJRzV2WkdWeklHRmpjbTl6Y3lCcGJuUnZYRzRnSUNBZ0lDQXZMeUIwYUdVZ2RHRnlaMlYwSUc1dlpHVmNiaUFnSUNBZ0lISmxkWE5oWW14bFUxWkhRMjl1ZEdGcGJtVnlJRDBnY21WMWMyRmliR1ZUVmtkRGIyNTBZV2x1WlhJZ2ZId2daRzlqZFcxbGJuUXVZM0psWVhSbFJXeGxiV1Z1ZENnblpHbDJKeWs3WEc0Z0lDQWdJQ0J5WlhWellXSnNaVk5XUjBOdmJuUmhhVzVsY2k1cGJtNWxja2hVVFV3Z1BTQW5QSE4yWno0bklDc2dhSFJ0YkM1MllXeDFaVTltS0NrdWRHOVRkSEpwYm1jb0tTQXJJQ2M4TDNOMlp6NG5PMXh1SUNBZ0lDQWdkbUZ5SUhOMlowNXZaR1VnUFNCeVpYVnpZV0pzWlZOV1IwTnZiblJoYVc1bGNpNW1hWEp6ZEVOb2FXeGtPMXh1WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ibTlrWlM1bWFYSnpkRU5vYVd4a0tTQjdYRzRnSUNBZ0lDQWdJRzV2WkdVdWNtVnRiM1psUTJocGJHUW9ibTlrWlM1bWFYSnpkRU5vYVd4a0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkMmhwYkdVZ0tITjJaMDV2WkdVdVptbHljM1JEYUdsc1pDa2dlMXh1SUNBZ0lDQWdJQ0J1YjJSbExtRndjR1Z1WkVOb2FXeGtLSE4yWjA1dlpHVXVabWx5YzNSRGFHbHNaQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J1YjJSbExtbHVibVZ5U0ZSTlRDQTlJR2gwYld3N1hHNTlLVHRjYmx4dUx5b3FYRzRnS2lCSVZFMU1JRzV2WkdWVWVYQmxJSFpoYkhWbGN5QjBhR0YwSUhKbGNISmxjMlZ1ZENCMGFHVWdkSGx3WlNCdlppQjBhR1VnYm05a1pWeHVJQ292WEc1MllYSWdSVXhGVFVWT1ZGOU9UMFJGSUQwZ01UdGNiblpoY2lCVVJWaFVYMDVQUkVVZ1BTQXpPMXh1ZG1GeUlFTlBUVTFGVGxSZlRrOUVSU0E5SURnN1hHNTJZWElnUkU5RFZVMUZUbFJmVGs5RVJTQTlJRGs3WEc1MllYSWdSRTlEVlUxRlRsUmZSbEpCUjAxRlRsUmZUazlFUlNBOUlERXhPMXh1WEc0dktpcGNiaUFxSUZObGRDQjBhR1VnZEdWNGRFTnZiblJsYm5RZ2NISnZjR1Z5ZEhrZ2IyWWdZU0J1YjJSbExpQkdiM0lnZEdWNGRDQjFjR1JoZEdWekxDQnBkQ2R6SUdaaGMzUmxjbHh1SUNvZ2RHOGdjMlYwSUhSb1pTQmdibTlrWlZaaGJIVmxZQ0J2WmlCMGFHVWdWR1Y0ZENCdWIyUmxJR1JwY21WamRHeDVJR2x1YzNSbFlXUWdiMllnZFhOcGJtZGNiaUFxSUdBdWRHVjRkRU52Ym5SbGJuUmdJSGRvYVdOb0lIZHBiR3dnY21WdGIzWmxJSFJvWlNCbGVHbHpkR2x1WnlCdWIyUmxJR0Z1WkNCamNtVmhkR1VnWVNCdVpYY2diMjVsTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3UkU5TlJXeGxiV1Z1ZEgwZ2JtOWtaVnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhSbGVIUmNiaUFxSUVCcGJuUmxjbTVoYkZ4dUlDb3ZYRzVjYm5aaGNpQnpaWFJVWlhoMFEyOXVkR1Z1ZENBOUlHWjFibU4wYVc5dUlDaHViMlJsTENCMFpYaDBLU0I3WEc0Z0lHbG1JQ2gwWlhoMEtTQjdYRzRnSUNBZ2RtRnlJR1pwY25OMFEyaHBiR1FnUFNCdWIyUmxMbVpwY25OMFEyaHBiR1E3WEc1Y2JpQWdJQ0JwWmlBb1ptbHljM1JEYUdsc1pDQW1KaUJtYVhKemRFTm9hV3hrSUQwOVBTQnViMlJsTG14aGMzUkRhR2xzWkNBbUppQm1hWEp6ZEVOb2FXeGtMbTV2WkdWVWVYQmxJRDA5UFNCVVJWaFVYMDVQUkVVcElIdGNiaUFnSUNBZ0lHWnBjbk4wUTJocGJHUXVibTlrWlZaaGJIVmxJRDBnZEdWNGREdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCdWIyUmxMblJsZUhSRGIyNTBaVzUwSUQwZ2RHVjRkRHRjYm4wN1hHNWNiaTh2SUVSdklHNXZkQ0IxYzJVZ2RHaGxJR0psYkc5M0lIUjNieUJ0WlhSb2IyUnpJR1JwY21WamRHeDVJVnh1THk4Z1NXNXpkR1ZoWkNCMWMyVWdZMjl1YzNSaGJuUnpJR1Y0Y0c5eWRHVmtJR1p5YjIwZ1JFOU5WRzl3VEdWMlpXeEZkbVZ1ZEZSNWNHVnpJR2x1SUZKbFlXTjBSRTlOTGx4dUx5OGdLRWwwSUdseklIUm9aU0J2Ym14NUlHMXZaSFZzWlNCMGFHRjBJR2x6SUdGc2JHOTNaV1FnZEc4Z1lXTmpaWE56SUhSb1pYTmxJRzFsZEdodlpITXVLVnh1Wm5WdVkzUnBiMjRnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLSFJ2Y0V4bGRtVnNWSGx3WlNrZ2UxeHVJQ0J5WlhSMWNtNGdkRzl3VEdWMlpXeFVlWEJsTzF4dWZWeHVablZ1WTNScGIyNGdkVzV6WVdabFEyRnpkRVJQVFZSdmNFeGxkbVZzVkhsd1pWUnZVM1J5YVc1bktIUnZjRXhsZG1Wc1ZIbHdaU2tnZTF4dUlDQnlaWFIxY200Z2RHOXdUR1YyWld4VWVYQmxPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFZGxibVZ5WVhSbElHRWdiV0Z3Y0dsdVp5QnZaaUJ6ZEdGdVpHRnlaQ0IyWlc1a2IzSWdjSEpsWm1sNFpYTWdkWE5wYm1jZ2RHaGxJR1JsWm1sdVpXUWdjM1I1YkdVZ2NISnZjR1Z5ZEhrZ1lXNWtJR1YyWlc1MElHNWhiV1V1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSE4wZVd4bFVISnZjRnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUdWMlpXNTBUbUZ0WlZ4dUlDb2dRSEpsZEhWeWJuTWdlMjlpYW1WamRIMWNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnRZV3RsVUhKbFptbDRUV0Z3S0hOMGVXeGxVSEp2Y0N3Z1pYWmxiblJPWVcxbEtTQjdYRzRnSUhaaGNpQndjbVZtYVhobGN5QTlJSHQ5TzF4dUlDQndjbVZtYVhobGMxdHpkSGxzWlZCeWIzQXVkRzlNYjNkbGNrTmhjMlVvS1YwZ1BTQmxkbVZ1ZEU1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1R0Y2JpQWdjSEpsWm1sNFpYTmJKMWRsWW10cGRDY2dLeUJ6ZEhsc1pWQnliM0JkSUQwZ0ozZGxZbXRwZENjZ0t5QmxkbVZ1ZEU1aGJXVTdYRzRnSUhCeVpXWnBlR1Z6V3lkTmIzb25JQ3NnYzNSNWJHVlFjbTl3WFNBOUlDZHRiM29uSUNzZ1pYWmxiblJPWVcxbE8xeHVJQ0J5WlhSMWNtNGdjSEpsWm1sNFpYTTdYRzU5WEc0dktpcGNiaUFxSUVFZ2JHbHpkQ0J2WmlCbGRtVnVkQ0J1WVcxbGN5QjBieUJoSUdOdmJtWnBaM1Z5WVdKc1pTQnNhWE4wSUc5bUlIWmxibVJ2Y2lCd2NtVm1hWGhsY3k1Y2JpQXFMMXh1WEc1Y2JuWmhjaUIyWlc1a2IzSlFjbVZtYVhobGN5QTlJSHRjYmlBZ1lXNXBiV0YwYVc5dVpXNWtPaUJ0WVd0bFVISmxabWw0VFdGd0tDZEJibWx0WVhScGIyNG5MQ0FuUVc1cGJXRjBhVzl1Ulc1a0p5a3NYRzRnSUdGdWFXMWhkR2x2Ym1sMFpYSmhkR2x2YmpvZ2JXRnJaVkJ5WldacGVFMWhjQ2duUVc1cGJXRjBhVzl1Snl3Z0owRnVhVzFoZEdsdmJrbDBaWEpoZEdsdmJpY3BMRnh1SUNCaGJtbHRZWFJwYjI1emRHRnlkRG9nYldGclpWQnlaV1pwZUUxaGNDZ25RVzVwYldGMGFXOXVKeXdnSjBGdWFXMWhkR2x2YmxOMFlYSjBKeWtzWEc0Z0lIUnlZVzV6YVhScGIyNWxibVE2SUcxaGEyVlFjbVZtYVhoTllYQW9KMVJ5WVc1emFYUnBiMjRuTENBblZISmhibk5wZEdsdmJrVnVaQ2NwWEc1OU8xeHVMeW9xWEc0Z0tpQkZkbVZ1ZENCdVlXMWxjeUIwYUdGMElHaGhkbVVnWVd4eVpXRmtlU0JpWldWdUlHUmxkR1ZqZEdWa0lHRnVaQ0J3Y21WbWFYaGxaQ0FvYVdZZ1lYQndiR2xqWVdKc1pTa3VYRzRnS2k5Y2JseHVkbUZ5SUhCeVpXWnBlR1ZrUlhabGJuUk9ZVzFsY3lBOUlIdDlPMXh1THlvcVhHNGdLaUJGYkdWdFpXNTBJSFJ2SUdOb1pXTnJJR1p2Y2lCd2NtVm1hWGhsY3lCdmJpNWNiaUFxTDF4dVhHNTJZWElnYzNSNWJHVWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1FtOXZkSE4wY21Gd0lHbG1JR0VnUkU5TklHVjRhWE4wY3k1Y2JpQXFMMXh1WEc1cFppQW9ZMkZ1VlhObFJFOU5LU0I3WEc0Z0lITjBlV3hsSUQwZ1pHOWpkVzFsYm5RdVkzSmxZWFJsUld4bGJXVnVkQ2duWkdsMkp5a3VjM1I1YkdVN0lDOHZJRTl1SUhOdmJXVWdjR3hoZEdadmNtMXpMQ0JwYmlCd1lYSjBhV04xYkdGeUlITnZiV1VnY21Wc1pXRnpaWE1nYjJZZ1FXNWtjbTlwWkNBMExuZ3NYRzRnSUM4dklIUm9aU0IxYmkxd2NtVm1hWGhsWkNCY0ltRnVhVzFoZEdsdmJsd2lJR0Z1WkNCY0luUnlZVzV6YVhScGIyNWNJaUJ3Y205d1pYSjBhV1Z6SUdGeVpTQmtaV1pwYm1Wa0lHOXVJSFJvWlZ4dUlDQXZMeUJ6ZEhsc1pTQnZZbXBsWTNRZ1luVjBJSFJvWlNCbGRtVnVkSE1nZEdoaGRDQm1hWEpsSUhkcGJHd2djM1JwYkd3Z1ltVWdjSEpsWm1sNFpXUXNJSE52SUhkbElHNWxaV1JjYmlBZ0x5OGdkRzhnWTJobFkyc2dhV1lnZEdobElIVnVMWEJ5WldacGVHVmtJR1YyWlc1MGN5QmhjbVVnZFhOaFlteGxMQ0JoYm1RZ2FXWWdibTkwSUhKbGJXOTJaU0IwYUdWdElHWnliMjBnZEdobElHMWhjQzVjYmx4dUlDQnBaaUFvSVNnblFXNXBiV0YwYVc5dVJYWmxiblFuSUdsdUlIZHBibVJ2ZHlrcElIdGNiaUFnSUNCa1pXeGxkR1VnZG1WdVpHOXlVSEpsWm1sNFpYTXVZVzVwYldGMGFXOXVaVzVrTG1GdWFXMWhkR2x2Ymp0Y2JpQWdJQ0JrWld4bGRHVWdkbVZ1Wkc5eVVISmxabWw0WlhNdVlXNXBiV0YwYVc5dWFYUmxjbUYwYVc5dUxtRnVhVzFoZEdsdmJqdGNiaUFnSUNCa1pXeGxkR1VnZG1WdVpHOXlVSEpsWm1sNFpYTXVZVzVwYldGMGFXOXVjM1JoY25RdVlXNXBiV0YwYVc5dU8xeHVJQ0I5SUM4dklGTmhiV1VnWVhNZ1lXSnZkbVZjYmx4dVhHNGdJR2xtSUNnaEtDZFVjbUZ1YzJsMGFXOXVSWFpsYm5RbklHbHVJSGRwYm1SdmR5a3BJSHRjYmlBZ0lDQmtaV3hsZEdVZ2RtVnVaRzl5VUhKbFptbDRaWE11ZEhKaGJuTnBkR2x2Ym1WdVpDNTBjbUZ1YzJsMGFXOXVPMXh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRUYwZEdWdGNIUnpJSFJ2SUdSbGRHVnliV2x1WlNCMGFHVWdZMjl5Y21WamRDQjJaVzVrYjNJZ2NISmxabWw0WldRZ1pYWmxiblFnYm1GdFpTNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1pYWmxiblJPWVcxbFhHNGdLaUJBY21WMGRYSnVjeUI3YzNSeWFXNW5mVnh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnWjJWMFZtVnVaRzl5VUhKbFptbDRaV1JGZG1WdWRFNWhiV1VvWlhabGJuUk9ZVzFsS1NCN1hHNGdJR2xtSUNod2NtVm1hWGhsWkVWMlpXNTBUbUZ0WlhOYlpYWmxiblJPWVcxbFhTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCd2NtVm1hWGhsWkVWMlpXNTBUbUZ0WlhOYlpYWmxiblJPWVcxbFhUdGNiaUFnZlNCbGJITmxJR2xtSUNnaGRtVnVaRzl5VUhKbFptbDRaWE5iWlhabGJuUk9ZVzFsWFNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJsZG1WdWRFNWhiV1U3WEc0Z0lIMWNibHh1SUNCMllYSWdjSEpsWm1sNFRXRndJRDBnZG1WdVpHOXlVSEpsWm1sNFpYTmJaWFpsYm5ST1lXMWxYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnpkSGxzWlZCeWIzQWdhVzRnY0hKbFptbDRUV0Z3S1NCN1hHNGdJQ0FnYVdZZ0tIQnlaV1pwZUUxaGNDNW9ZWE5QZDI1UWNtOXdaWEowZVNoemRIbHNaVkJ5YjNBcElDWW1JSE4wZVd4bFVISnZjQ0JwYmlCemRIbHNaU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSEJ5WldacGVHVmtSWFpsYm5ST1lXMWxjMXRsZG1WdWRFNWhiV1ZkSUQwZ2NISmxabWw0VFdGd1czTjBlV3hsVUhKdmNGMDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHVjJaVzUwVG1GdFpUdGNibjFjYmx4dUx5b3FYRzRnS2lCVWJ5QnBaR1Z1ZEdsbWVTQjBiM0FnYkdWMlpXd2daWFpsYm5SeklHbHVJRkpsWVdOMFJFOU5MQ0IzWlNCMWMyVWdZMjl1YzNSaGJuUnpJR1JsWm1sdVpXUWdZbmtnZEdocGMxeHVJQ29nYlc5a2RXeGxMaUJVYUdseklHbHpJSFJvWlNCdmJteDVJRzF2WkhWc1pTQjBhR0YwSUhWelpYTWdkR2hsSUhWdWMyRm1aU29nYldWMGFHOWtjeUIwYnlCbGVIQnlaWE56WEc0Z0tpQjBhR0YwSUhSb1pTQmpiMjV6ZEdGdWRITWdZV04wZFdGc2JIa2dZMjl5Y21WemNHOXVaQ0IwYnlCMGFHVWdZbkp2ZDNObGNpQmxkbVZ1ZENCdVlXMWxjeTRnVkdocGN5QnNaWFJ6WEc0Z0tpQjFjeUJ6WVhabElITnZiV1VnWW5WdVpHeGxJSE5wZW1VZ1lua2dZWFp2YVdScGJtY2dZU0IwYjNBZ2JHVjJaV3dnZEhsd1pTQXRQaUJsZG1WdWRDQnVZVzFsSUcxaGNDNWNiaUFxSUZSb1pTQnlaWE4wSUc5bUlGSmxZV04wUkU5TklHTnZaR1VnYzJodmRXeGtJR2x0Y0c5eWRDQjBiM0FnYkdWMlpXd2dkSGx3WlhNZ1puSnZiU0IwYUdseklHWnBiR1V1WEc0Z0tpOWNibHh1ZG1GeUlGUlBVRjlCUWs5U1ZDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25ZV0p2Y25RbktUdGNiblpoY2lCVVQxQmZRVTVKVFVGVVNVOU9YMFZPUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNoblpYUldaVzVrYjNKUWNtVm1hWGhsWkVWMlpXNTBUbUZ0WlNnbllXNXBiV0YwYVc5dVpXNWtKeWtwTzF4dWRtRnlJRlJQVUY5QlRrbE5RVlJKVDA1ZlNWUkZVa0ZVU1U5T0lEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtHZGxkRlpsYm1SdmNsQnlaV1pwZUdWa1JYWmxiblJPWVcxbEtDZGhibWx0WVhScGIyNXBkR1Z5WVhScGIyNG5LU2s3WEc1MllYSWdWRTlRWDBGT1NVMUJWRWxQVGw5VFZFRlNWQ0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2huWlhSV1pXNWtiM0pRY21WbWFYaGxaRVYyWlc1MFRtRnRaU2duWVc1cGJXRjBhVzl1YzNSaGNuUW5LU2s3WEc1MllYSWdWRTlRWDBKTVZWSWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMkpzZFhJbktUdGNiblpoY2lCVVQxQmZRMEZPWDFCTVFWa2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMk5oYm5Cc1lYa25LVHRjYm5aaGNpQlVUMUJmUTBGT1gxQk1RVmxmVkVoU1QxVkhTQ0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duWTJGdWNHeGhlWFJvY205MVoyZ25LVHRjYm5aaGNpQlVUMUJmUTBGT1EwVk1JRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RqWVc1alpXd25LVHRjYm5aaGNpQlVUMUJmUTBoQlRrZEZJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RqYUdGdVoyVW5LVHRjYm5aaGNpQlVUMUJmUTB4SlEwc2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMk5zYVdOckp5azdYRzUyWVhJZ1ZFOVFYME5NVDFORklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGpiRzl6WlNjcE8xeHVkbUZ5SUZSUFVGOURUMDFRVDFOSlZFbFBUbDlGVGtRZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0oyTnZiWEJ2YzJsMGFXOXVaVzVrSnlrN1hHNTJZWElnVkU5UVgwTlBUVkJQVTBsVVNVOU9YMU5VUVZKVUlEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGpiMjF3YjNOcGRHbHZibk4wWVhKMEp5azdYRzUyWVhJZ1ZFOVFYME5QVFZCUFUwbFVTVTlPWDFWUVJFRlVSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duWTI5dGNHOXphWFJwYjI1MWNHUmhkR1VuS1R0Y2JuWmhjaUJVVDFCZlEwOU9WRVZZVkY5TlJVNVZJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RqYjI1MFpYaDBiV1Z1ZFNjcE8xeHVkbUZ5SUZSUFVGOURUMUJaSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkamIzQjVKeWs3WEc1MllYSWdWRTlRWDBOVlZDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25ZM1YwSnlrN1hHNTJZWElnVkU5UVgwUlBWVUpNUlY5RFRFbERTeUE5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duWkdKc1kyeHBZMnNuS1R0Y2JuWmhjaUJVVDFCZlFWVllYME5NU1VOTElEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGhkWGhqYkdsamF5Y3BPMXh1ZG1GeUlGUlBVRjlFVWtGSElEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGtjbUZuSnlrN1hHNTJZWElnVkU5UVgwUlNRVWRmUlU1RUlEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGtjbUZuWlc1a0p5azdYRzUyWVhJZ1ZFOVFYMFJTUVVkZlJVNVVSVklnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJSeVlXZGxiblJsY2ljcE8xeHVkbUZ5SUZSUFVGOUVVa0ZIWDBWWVNWUWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMlJ5WVdkbGVHbDBKeWs3WEc1MllYSWdWRTlRWDBSU1FVZGZURVZCVmtVZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0oyUnlZV2RzWldGMlpTY3BPMXh1ZG1GeUlGUlBVRjlFVWtGSFgwOVdSVklnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJSeVlXZHZkbVZ5SnlrN1hHNTJZWElnVkU5UVgwUlNRVWRmVTFSQlVsUWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMlJ5WVdkemRHRnlkQ2NwTzF4dWRtRnlJRlJQVUY5RVVrOVFJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RrY205d0p5azdYRzUyWVhJZ1ZFOVFYMFJWVWtGVVNVOU9YME5JUVU1SFJTQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25aSFZ5WVhScGIyNWphR0Z1WjJVbktUdGNiblpoY2lCVVQxQmZSVTFRVkVsRlJDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25aVzF3ZEdsbFpDY3BPMXh1ZG1GeUlGUlBVRjlGVGtOU1dWQlVSVVFnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJWdVkzSjVjSFJsWkNjcE8xeHVkbUZ5SUZSUFVGOUZUa1JGUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnblpXNWtaV1FuS1R0Y2JuWmhjaUJVVDFCZlJWSlNUMUlnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJWeWNtOXlKeWs3WEc1MllYSWdWRTlRWDBaUFExVlRJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RtYjJOMWN5Y3BPMXh1ZG1GeUlGUlBVRjlIVDFSZlVFOUpUbFJGVWw5RFFWQlVWVkpGSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkbmIzUndiMmx1ZEdWeVkyRndkSFZ5WlNjcE8xeHVkbUZ5SUZSUFVGOUpUbEJWVkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmFXNXdkWFFuS1R0Y2JuWmhjaUJVVDFCZlNVNVdRVXhKUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmFXNTJZV3hwWkNjcE8xeHVkbUZ5SUZSUFVGOUxSVmxmUkU5WFRpQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25hMlY1Wkc5M2JpY3BPMXh1ZG1GeUlGUlBVRjlMUlZsZlVGSkZVMU1nUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJ0bGVYQnlaWE56SnlrN1hHNTJZWElnVkU5UVgwdEZXVjlWVUNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmEyVjVkWEFuS1R0Y2JuWmhjaUJVVDFCZlRFOUJSQ0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duYkc5aFpDY3BPMXh1ZG1GeUlGUlBVRjlNVDBGRVgxTlVRVkpVSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkc2IyRmtjM1JoY25RbktUdGNiblpoY2lCVVQxQmZURTlCUkVWRVgwUkJWRUVnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJ4dllXUmxaR1JoZEdFbktUdGNiblpoY2lCVVQxQmZURTlCUkVWRVgwMUZWRUZFUVZSQklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHNiMkZrWldSdFpYUmhaR0YwWVNjcE8xeHVkbUZ5SUZSUFVGOU1UMU5VWDFCUFNVNVVSVkpmUTBGUVZGVlNSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duYkc5emRIQnZhVzUwWlhKallYQjBkWEpsSnlrN1hHNTJZWElnVkU5UVgwMVBWVk5GWDBSUFYwNGdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMjF2ZFhObFpHOTNiaWNwTzF4dWRtRnlJRlJQVUY5TlQxVlRSVjlOVDFaRklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHRiM1Z6WlcxdmRtVW5LVHRjYm5aaGNpQlVUMUJmVFU5VlUwVmZUMVZVSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkdGIzVnpaVzkxZENjcE8xeHVkbUZ5SUZSUFVGOU5UMVZUUlY5UFZrVlNJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2R0YjNWelpXOTJaWEluS1R0Y2JuWmhjaUJVVDFCZlRVOVZVMFZmVlZBZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0oyMXZkWE5sZFhBbktUdGNiblpoY2lCVVQxQmZVRUZUVkVVZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozQmhjM1JsSnlrN1hHNTJZWElnVkU5UVgxQkJWVk5GSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkd1lYVnpaU2NwTzF4dWRtRnlJRlJQVUY5UVRFRlpJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2R3YkdGNUp5azdYRzUyWVhJZ1ZFOVFYMUJNUVZsSlRrY2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM0JzWVhscGJtY25LVHRjYm5aaGNpQlVUMUJmVUU5SlRsUkZVbDlEUVU1RFJVd2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM0J2YVc1MFpYSmpZVzVqWld3bktUdGNiblpoY2lCVVQxQmZVRTlKVGxSRlVsOUVUMWRPSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkd2IybHVkR1Z5Wkc5M2JpY3BPMXh1ZG1GeUlGUlBVRjlRVDBsT1ZFVlNYMDFQVmtVZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozQnZhVzUwWlhKdGIzWmxKeWs3WEc1MllYSWdWRTlRWDFCUFNVNVVSVkpmVDFWVUlEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHdiMmx1ZEdWeWIzVjBKeWs3WEc1MllYSWdWRTlRWDFCUFNVNVVSVkpmVDFaRlVpQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25jRzlwYm5SbGNtOTJaWEluS1R0Y2JuWmhjaUJVVDFCZlVFOUpUbFJGVWw5VlVDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25jRzlwYm5SbGNuVndKeWs3WEc1MllYSWdWRTlRWDFCU1QwZFNSVk5USUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkd2NtOW5jbVZ6Y3ljcE8xeHVkbUZ5SUZSUFVGOVNRVlJGWDBOSVFVNUhSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duY21GMFpXTm9ZVzVuWlNjcE8xeHVkbUZ5SUZSUFVGOVNSVk5GVkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmNtVnpaWFFuS1R0Y2JuWmhjaUJVVDFCZlUwTlNUMHhNSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkelkzSnZiR3duS1R0Y2JuWmhjaUJVVDFCZlUwVkZTMFZFSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkelpXVnJaV1FuS1R0Y2JuWmhjaUJVVDFCZlUwVkZTMGxPUnlBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmMyVmxhMmx1WnljcE8xeHVkbUZ5SUZSUFVGOVRSVXhGUTFSSlQwNWZRMGhCVGtkRklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHpaV3hsWTNScGIyNWphR0Z1WjJVbktUdGNiblpoY2lCVVQxQmZVMVJCVEV4RlJDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25jM1JoYkd4bFpDY3BPMXh1ZG1GeUlGUlBVRjlUVlVKTlNWUWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM04xWW0xcGRDY3BPMXh1ZG1GeUlGUlBVRjlUVlZOUVJVNUVJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2R6ZFhOd1pXNWtKeWs3WEc1MllYSWdWRTlRWDFSRldGUmZTVTVRVlZRZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozUmxlSFJKYm5CMWRDY3BPMXh1ZG1GeUlGUlBVRjlVU1UxRlgxVlFSRUZVUlNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmRHbHRaWFZ3WkdGMFpTY3BPMXh1ZG1GeUlGUlBVRjlVVDBkSFRFVWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM1J2WjJkc1pTY3BPMXh1ZG1GeUlGUlBVRjlVVDFWRFNGOURRVTVEUlV3Z1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozUnZkV05vWTJGdVkyVnNKeWs3WEc1MllYSWdWRTlRWDFSUFZVTklYMFZPUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmRHOTFZMmhsYm1RbktUdGNiblpoY2lCVVQxQmZWRTlWUTBoZlRVOVdSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duZEc5MVkyaHRiM1psSnlrN1hHNTJZWElnVkU5UVgxUlBWVU5JWDFOVVFWSlVJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2QwYjNWamFITjBZWEowSnlrN1hHNTJZWElnVkU5UVgxUlNRVTVUU1ZSSlQwNWZSVTVFSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0dkbGRGWmxibVJ2Y2xCeVpXWnBlR1ZrUlhabGJuUk9ZVzFsS0NkMGNtRnVjMmwwYVc5dVpXNWtKeWtwTzF4dWRtRnlJRlJQVUY5V1QweFZUVVZmUTBoQlRrZEZJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2QyYjJ4MWJXVmphR0Z1WjJVbktUdGNiblpoY2lCVVQxQmZWMEZKVkVsT1J5QTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25kMkZwZEdsdVp5Y3BPMXh1ZG1GeUlGUlBVRjlYU0VWRlRDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25kMmhsWld3bktUc2dMeThnVEdsemRDQnZaaUJsZG1WdWRITWdkR2hoZENCdVpXVmtJSFJ2SUdKbElHbHVaR2wyYVdSMVlXeHNlU0JoZEhSaFkyaGxaQ0IwYnlCdFpXUnBZU0JsYkdWdFpXNTBjeTVjYmk4dklFNXZkR1VnZEdoaGRDQmxkbVZ1ZEhNZ2FXNGdkR2hwY3lCc2FYTjBJSGRwYkd3Z0ttNXZkQ29nWW1VZ2JHbHpkR1Z1WldRZ2RHOGdZWFFnZEdobElIUnZjQ0JzWlhabGJGeHVMeThnZFc1c1pYTnpJSFJvWlhrbmNtVWdaWGh3YkdsamFYUnNlU0IzYUdsMFpXeHBjM1JsWkNCcGJpQmdVbVZoWTNSQ2NtOTNjMlZ5UlhabGJuUkZiV2wwZEdWeUxteHBjM1JsYmxSdllDNWNibHh1ZG1GeUlHMWxaR2xoUlhabGJuUlVlWEJsY3lBOUlGdFVUMUJmUVVKUFVsUXNJRlJQVUY5RFFVNWZVRXhCV1N3Z1ZFOVFYME5CVGw5UVRFRlpYMVJJVWs5VlIwZ3NJRlJQVUY5RVZWSkJWRWxQVGw5RFNFRk9SMFVzSUZSUFVGOUZUVkJVU1VWRUxDQlVUMUJmUlU1RFVsbFFWRVZFTENCVVQxQmZSVTVFUlVRc0lGUlBVRjlGVWxKUFVpd2dWRTlRWDB4UFFVUkZSRjlFUVZSQkxDQlVUMUJmVEU5QlJFVkVYMDFGVkVGRVFWUkJMQ0JVVDFCZlRFOUJSRjlUVkVGU1ZDd2dWRTlRWDFCQlZWTkZMQ0JVVDFCZlVFeEJXU3dnVkU5UVgxQk1RVmxKVGtjc0lGUlBVRjlRVWs5SFVrVlRVeXdnVkU5UVgxSkJWRVZmUTBoQlRrZEZMQ0JVVDFCZlUwVkZTMFZFTENCVVQxQmZVMFZGUzBsT1J5d2dWRTlRWDFOVVFVeE1SVVFzSUZSUFVGOVRWVk5RUlU1RUxDQlVUMUJmVkVsTlJWOVZVRVJCVkVVc0lGUlBVRjlXVDB4VlRVVmZRMGhCVGtkRkxDQlVUMUJmVjBGSlZFbE9SMTA3WEc1bWRXNWpkR2x2YmlCblpYUlNZWGRGZG1WdWRFNWhiV1VvZEc5d1RHVjJaV3hVZVhCbEtTQjdYRzRnSUhKbGRIVnliaUIxYm5OaFptVkRZWE4wUkU5TlZHOXdUR1YyWld4VWVYQmxWRzlUZEhKcGJtY29kRzl3VEdWMlpXeFVlWEJsS1R0Y2JuMWNibHh1ZG1GeUlGQnZjM05wWW14NVYyVmhhMDFoY0NBOUlIUjVjR1Z2WmlCWFpXRnJUV0Z3SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnVjJWaGEwMWhjQ0E2SUUxaGNEc2dMeThnY0hKbGRIUnBaWEl0YVdkdWIzSmxYRzVjYm5aaGNpQmxiR1Z0Wlc1MFRHbHpkR1Z1WlhKTllYQWdQU0J1WlhjZ1VHOXpjMmxpYkhsWFpXRnJUV0Z3S0NrN1hHNW1kVzVqZEdsdmJpQm5aWFJNYVhOMFpXNWxjazFoY0VadmNrVnNaVzFsYm5Rb1pXeGxiV1Z1ZENrZ2UxeHVJQ0IyWVhJZ2JHbHpkR1Z1WlhKTllYQWdQU0JsYkdWdFpXNTBUR2x6ZEdWdVpYSk5ZWEF1WjJWMEtHVnNaVzFsYm5RcE8xeHVYRzRnSUdsbUlDaHNhWE4wWlc1bGNrMWhjQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2JHbHpkR1Z1WlhKTllYQWdQU0J1WlhjZ1RXRndLQ2s3WEc0Z0lDQWdaV3hsYldWdWRFeHBjM1JsYm1WeVRXRndMbk5sZENobGJHVnRaVzUwTENCc2FYTjBaVzVsY2sxaGNDazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiR2x6ZEdWdVpYSk5ZWEE3WEc1OVhHNWNiaThxS2x4dUlDb2dZRkpsWVdOMFNXNXpkR0Z1WTJWTllYQmdJRzFoYVc1MFlXbHVjeUJoSUcxaGNIQnBibWNnWm5KdmJTQmhJSEIxWW14cFl5Qm1ZV05wYm1jZ2MzUmhkR1ZtZFd4Y2JpQXFJR2x1YzNSaGJtTmxJQ2hyWlhrcElHRnVaQ0IwYUdVZ2FXNTBaWEp1WVd3Z2NtVndjbVZ6Wlc1MFlYUnBiMjRnS0haaGJIVmxLUzRnVkdocGN5QmhiR3h2ZDNNZ2NIVmliR2xqWEc0Z0tpQnRaWFJvYjJSeklIUnZJR0ZqWTJWd2RDQjBhR1VnZFhObGNpQm1ZV05wYm1jZ2FXNXpkR0Z1WTJVZ1lYTWdZVzRnWVhKbmRXMWxiblFnWVc1a0lHMWhjQ0IwYUdWdElHSmhZMnRjYmlBcUlIUnZJR2x1ZEdWeWJtRnNJRzFsZEdodlpITXVYRzRnS2x4dUlDb2dUbTkwWlNCMGFHRjBJSFJvYVhNZ2JXOWtkV3hsSUdseklHTjFjbkpsYm5Sc2VTQnphR0Z5WldRZ1lXNWtJR0Z6YzNWdFpXUWdkRzhnWW1VZ2MzUmhkR1ZzWlhOekxseHVJQ29nU1dZZ2RHaHBjeUJpWldOdmJXVnpJR0Z1SUdGamRIVmhiQ0JOWVhBc0lIUm9ZWFFnZDJsc2JDQmljbVZoYXk1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnWjJWMEtHdGxlU2tnZTF4dUlDQnlaWFIxY200Z2EyVjVMbDl5WldGamRFbHVkR1Z5Ym1Gc1JtbGlaWEk3WEc1OVhHNW1kVzVqZEdsdmJpQm9ZWE1vYTJWNUtTQjdYRzRnSUhKbGRIVnliaUJyWlhrdVgzSmxZV04wU1c1MFpYSnVZV3hHYVdKbGNpQWhQVDBnZFc1a1pXWnBibVZrTzF4dWZWeHVablZ1WTNScGIyNGdjMlYwS0d0bGVTd2dkbUZzZFdVcElIdGNiaUFnYTJWNUxsOXlaV0ZqZEVsdWRHVnlibUZzUm1saVpYSWdQU0IyWVd4MVpUdGNibjFjYmx4dUx5OGdSRzl1SjNRZ1kyaGhibWRsSUhSb1pYTmxJSFIzYnlCMllXeDFaWE11SUZSb1pYa25jbVVnZFhObFpDQmllU0JTWldGamRDQkVaWFlnVkc5dmJITXVYRzUyWVhJZ1RtOUZabVpsWTNRZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDb3ZYRzR3TzF4dWRtRnlJRkJsY21admNtMWxaRmR2Y21zZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FxTDF4dU1Uc2dMeThnV1c5MUlHTmhiaUJqYUdGdVoyVWdkR2hsSUhKbGMzUWdLR0Z1WkNCaFpHUWdiVzl5WlNrdVhHNWNiblpoY2lCUWJHRmpaVzFsYm5RZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0tpOWNiakk3WEc1MllYSWdWWEJrWVhSbElEMWNiaThxSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0ME8xeHVkbUZ5SUZCc1lXTmxiV1Z1ZEVGdVpGVndaR0YwWlNBOVhHNHZLaUFnSUNBcUwxeHVOanRjYm5aaGNpQkVaV3hsZEdsdmJpQTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmpnN1hHNTJZWElnUTI5dWRHVnVkRkpsYzJWMElEMWNiaThxSUNBZ0lDQWdJQ0FnSUNvdlhHNHhOanRjYm5aaGNpQkRZV3hzWW1GamF5QTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmpNeU8xeHVkbUZ5SUVScFpFTmhjSFIxY21VZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBcUwxeHVOalE3WEc1MllYSWdVbVZtSUQxY2JpOHFJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eE1qZzdYRzUyWVhJZ1UyNWhjSE5vYjNRZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDb3ZYRzR5TlRZN1hHNTJZWElnVUdGemMybDJaU0E5WEc0dktpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNvdlhHNDFNVEk3WEc1MllYSWdTSGxrY21GMGFXNW5JRDFjYmk4cUlDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eE1ESTBPMXh1ZG1GeUlFaDVaSEpoZEdsdVowRnVaRlZ3WkdGMFpTQTlYRzR2S2lBZ0lDQXFMMXh1TVRBeU9Ec2dMeThnVUdGemMybDJaU0FtSUZWd1pHRjBaU0FtSUVOaGJHeGlZV05ySUNZZ1VtVm1JQ1lnVTI1aGNITm9iM1JjYmx4dWRtRnlJRXhwWm1WamVXTnNaVVZtWm1WamRFMWhjMnNnUFZ4dUx5b2dJQ0FxTDF4dU9UTXlPeUF2THlCVmJtbHZiaUJ2WmlCaGJHd2dhRzl6ZENCbFptWmxZM1J6WEc1Y2JuWmhjaUJJYjNOMFJXWm1aV04wVFdGemF5QTlYRzR2S2lBZ0lDQWdJQ0FnS2k5Y2JqSXdORGM3WEc1MllYSWdTVzVqYjIxd2JHVjBaU0E5WEc0dktpQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eU1EUTRPMXh1ZG1GeUlGTm9iM1ZzWkVOaGNIUjFjbVVnUFZ4dUx5b2dJQ0FnSUNBZ0lDQXFMMXh1TkRBNU5qdGNibHh1ZG1GeUlGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUlEMGdVbVZoWTNSVGFHRnlaV1JKYm5SbGNtNWhiSE11VW1WaFkzUkRkWEp5Wlc1MFQzZHVaWEk3WEc1bWRXNWpkR2x2YmlCblpYUk9aV0Z5WlhOMFRXOTFiblJsWkVacFltVnlLR1pwWW1WeUtTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ1ptbGlaWEk3WEc0Z0lIWmhjaUJ1WldGeVpYTjBUVzkxYm5SbFpDQTlJR1pwWW1WeU8xeHVYRzRnSUdsbUlDZ2habWxpWlhJdVlXeDBaWEp1WVhSbEtTQjdYRzRnSUNBZ0x5OGdTV1lnZEdobGNtVWdhWE1nYm04Z1lXeDBaWEp1WVhSbExDQjBhR2x6SUcxcFoyaDBJR0psSUdFZ2JtVjNJSFJ5WldVZ2RHaGhkQ0JwYzI0bmRDQnBibk5sY25SbFpGeHVJQ0FnSUM4dklIbGxkQzRnU1dZZ2FYUWdhWE1zSUhSb1pXNGdhWFFnZDJsc2JDQm9ZWFpsSUdFZ2NHVnVaR2x1WnlCcGJuTmxjblJwYjI0Z1pXWm1aV04wSUc5dUlHbDBMbHh1SUNBZ0lIWmhjaUJ1WlhoMFRtOWtaU0E5SUc1dlpHVTdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0J1YjJSbElEMGdibVY0ZEU1dlpHVTdYRzVjYmlBZ0lDQWdJR2xtSUNnb2JtOWtaUzVsWm1abFkzUlVZV2NnSmlBb1VHeGhZMlZ0Wlc1MElId2dTSGxrY21GMGFXNW5LU2tnSVQwOUlFNXZSV1ptWldOMEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb2FYTWdhWE1nWVc0Z2FXNXpaWEowYVc5dUlHOXlJR2x1TFhCeWIyZHlaWE56SUdoNVpISmhkR2x2Ymk0Z1ZHaGxJRzVsWVhKbGMzUWdjRzl6YzJsaWJHVmNiaUFnSUNBZ0lDQWdMeThnYlc5MWJuUmxaQ0JtYVdKbGNpQnBjeUIwYUdVZ2NHRnlaVzUwSUdKMWRDQjNaU0J1WldWa0lIUnZJR052Ym5ScGJuVmxJSFJ2SUdacFozVnlaU0J2ZFhSY2JpQWdJQ0FnSUNBZ0x5OGdhV1lnZEdoaGRDQnZibVVnYVhNZ2MzUnBiR3dnYlc5MWJuUmxaQzVjYmlBZ0lDQWdJQ0FnYm1WaGNtVnpkRTF2ZFc1MFpXUWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2JtVjRkRTV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQjlJSGRvYVd4bElDaHVaWGgwVG05a1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkMmhwYkdVZ0tHNXZaR1V1Y21WMGRYSnVLU0I3WEc0Z0lDQWdJQ0J1YjJSbElEMGdibTlrWlM1eVpYUjFjbTQ3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tHNXZaR1V1ZEdGbklEMDlQU0JJYjNOMFVtOXZkQ2tnZTF4dUlDQWdJQzh2SUZSUFJFODZJRU5vWldOcklHbG1JSFJvYVhNZ2QyRnpJR0VnYm1WemRHVmtJRWh2YzNSU2IyOTBJSGRvWlc0Z2RYTmxaQ0IzYVhSb1hHNGdJQ0FnTHk4Z2NtVnVaR1Z5UTI5dWRHRnBibVZ5U1c1MGIxTjFZblJ5WldVdVhHNGdJQ0FnY21WMGRYSnVJRzVsWVhKbGMzUk5iM1Z1ZEdWa08xeHVJQ0I5SUM4dklFbG1JSGRsSUdScFpHNG5kQ0JvYVhRZ2RHaGxJSEp2YjNRc0lIUm9ZWFFnYldWaGJuTWdkR2hoZENCM1pTZHlaU0JwYmlCaGJpQmthWE5qYjI1dVpXTjBaV1FnZEhKbFpWeHVJQ0F2THlCMGFHRjBJR2hoY3lCaVpXVnVJSFZ1Ylc5MWJuUmxaQzVjYmx4dVhHNGdJSEpsZEhWeWJpQnVkV3hzTzF4dWZWeHVablZ1WTNScGIyNGdaMlYwVTNWemNHVnVjMlZKYm5OMFlXNWpaVVp5YjIxR2FXSmxjaWhtYVdKbGNpa2dlMXh1SUNCcFppQW9abWxpWlhJdWRHRm5JRDA5UFNCVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENrZ2UxeHVJQ0FnSUhaaGNpQnpkWE53Wlc1elpWTjBZWFJsSUQwZ1ptbGlaWEl1YldWdGIybDZaV1JUZEdGMFpUdGNibHh1SUNBZ0lHbG1JQ2h6ZFhOd1pXNXpaVk4wWVhSbElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SUdacFltVnlMbUZzZEdWeWJtRjBaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdjM1Z6Y0dWdWMyVlRkR0YwWlNBOUlHTjFjbkpsYm5RdWJXVnRiMmw2WldSVGRHRjBaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYzNWemNHVnVjMlZUZEdGMFpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlITjFjM0JsYm5ObFUzUmhkR1V1WkdWb2VXUnlZWFJsWkR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYm5Wc2JEdGNibjFjYm1aMWJtTjBhVzl1SUdkbGRFTnZiblJoYVc1bGNrWnliMjFHYVdKbGNpaG1hV0psY2lrZ2UxeHVJQ0J5WlhSMWNtNGdabWxpWlhJdWRHRm5JRDA5UFNCSWIzTjBVbTl2ZENBL0lHWnBZbVZ5TG5OMFlYUmxUbTlrWlM1amIyNTBZV2x1WlhKSmJtWnZJRG9nYm5Wc2JEdGNibjFjYm1aMWJtTjBhVzl1SUdselJtbGlaWEpOYjNWdWRHVmtLR1pwWW1WeUtTQjdYRzRnSUhKbGRIVnliaUJuWlhST1pXRnlaWE4wVFc5MWJuUmxaRVpwWW1WeUtHWnBZbVZ5S1NBOVBUMGdabWxpWlhJN1hHNTlYRzVtZFc1amRHbHZiaUJwYzAxdmRXNTBaV1FvWTI5dGNHOXVaVzUwS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYjNkdVpYSWdQU0JTWldGamRFTjFjbkpsYm5SUGQyNWxjaTVqZFhKeVpXNTBPMXh1WEc0Z0lDQWdhV1lnS0c5M2JtVnlJQ0U5UFNCdWRXeHNJQ1ltSUc5M2JtVnlMblJoWnlBOVBUMGdRMnhoYzNORGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lIWmhjaUJ2ZDI1bGNrWnBZbVZ5SUQwZ2IzZHVaWEk3WEc0Z0lDQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQnZkMjVsY2tacFltVnlMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tDRnBibk4wWVc1alpTNWZkMkZ5Ym1Wa1FXSnZkWFJTWldaelNXNVNaVzVrWlhJcElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb0p5VnpJR2x6SUdGalkyVnpjMmx1WnlCcGMwMXZkVzUwWldRZ2FXNXphV1JsSUdsMGN5QnlaVzVrWlhJb0tTQm1kVzVqZEdsdmJpNGdKeUFySUNkeVpXNWtaWElvS1NCemFHOTFiR1FnWW1VZ1lTQndkWEpsSUdaMWJtTjBhVzl1SUc5bUlIQnliM0J6SUdGdVpDQnpkR0YwWlM0Z1NYUWdjMmh2ZFd4a0lDY2dLeUFuYm1WMlpYSWdZV05qWlhOeklITnZiV1YwYUdsdVp5QjBhR0YwSUhKbGNYVnBjbVZ6SUhOMFlXeGxJR1JoZEdFZ1puSnZiU0IwYUdVZ2NISmxkbWx2ZFhNZ0p5QXJJQ2R5Wlc1a1pYSXNJSE4xWTJnZ1lYTWdjbVZtY3k0Z1RXOTJaU0IwYUdseklHeHZaMmxqSUhSdklHTnZiWEJ2Ym1WdWRFUnBaRTF2ZFc1MElHRnVaQ0FuSUNzZ0oyTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQnBibk4wWldGa0xpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9iM2R1WlhKR2FXSmxjaTUwZVhCbEtTQjhmQ0FuUVNCamIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhVzV6ZEdGdVkyVXVYM2RoY201bFpFRmliM1YwVW1WbWMwbHVVbVZ1WkdWeUlEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdabWxpWlhJZ1BTQm5aWFFvWTI5dGNHOXVaVzUwS1R0Y2JseHVJQ0JwWmlBb0lXWnBZbVZ5S1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHZGxkRTVsWVhKbGMzUk5iM1Z1ZEdWa1JtbGlaWElvWm1saVpYSXBJRDA5UFNCbWFXSmxjanRjYm4xY2JseHVablZ1WTNScGIyNGdZWE56WlhKMFNYTk5iM1Z1ZEdWa0tHWnBZbVZ5S1NCN1hHNGdJR2xtSUNnaEtHZGxkRTVsWVhKbGMzUk5iM1Z1ZEdWa1JtbGlaWElvWm1saVpYSXBJRDA5UFNCbWFXSmxjaWtwSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlZibUZpYkdVZ2RHOGdabWx1WkNCdWIyUmxJRzl1SUdGdUlIVnViVzkxYm5SbFpDQmpiMjF3YjI1bGJuUXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ptbHVaRU4xY25KbGJuUkdhV0psY2xWemFXNW5VMnh2ZDFCaGRHZ29abWxpWlhJcElIdGNiaUFnZG1GeUlHRnNkR1Z5Ym1GMFpTQTlJR1pwWW1WeUxtRnNkR1Z5Ym1GMFpUdGNibHh1SUNCcFppQW9JV0ZzZEdWeWJtRjBaU2tnZTF4dUlDQWdJQzh2SUVsbUlIUm9aWEpsSUdseklHNXZJR0ZzZEdWeWJtRjBaU3dnZEdobGJpQjNaU0J2Ym14NUlHNWxaV1FnZEc4Z1kyaGxZMnNnYVdZZ2FYUWdhWE1nYlc5MWJuUmxaQzVjYmlBZ0lDQjJZWElnYm1WaGNtVnpkRTF2ZFc1MFpXUWdQU0JuWlhST1pXRnlaWE4wVFc5MWJuUmxaRVpwWW1WeUtHWnBZbVZ5S1R0Y2JseHVJQ0FnSUdsbUlDZ2hLRzVsWVhKbGMzUk5iM1Z1ZEdWa0lDRTlQU0J1ZFd4c0tTa2dlMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlZibUZpYkdVZ2RHOGdabWx1WkNCdWIyUmxJRzl1SUdGdUlIVnViVzkxYm5SbFpDQmpiMjF3YjI1bGJuUXVYQ0lnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JtVmhjbVZ6ZEUxdmRXNTBaV1FnSVQwOUlHWnBZbVZ5S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWm1saVpYSTdYRzRnSUgwZ0x5OGdTV1lnZDJVZ2FHRjJaU0IwZDI4Z2NHOXpjMmxpYkdVZ1luSmhibU5vWlhNc0lIZGxKMnhzSUhkaGJHc2dZbUZqYTNkaGNtUnpJSFZ3SUhSdklIUm9aU0J5YjI5MFhHNGdJQzh2SUhSdklITmxaU0IzYUdGMElIQmhkR2dnZEdobElISnZiM1FnY0c5cGJuUnpJSFJ2TGlCUGJpQjBhR1VnZDJGNUlIZGxJRzFoZVNCb2FYUWdiMjVsSUc5bUlIUm9aVnh1SUNBdkx5QnpjR1ZqYVdGc0lHTmhjMlZ6SUdGdVpDQjNaU2RzYkNCa1pXRnNJSGRwZEdnZ2RHaGxiUzVjYmx4dVhHNGdJSFpoY2lCaElEMGdabWxpWlhJN1hHNGdJSFpoY2lCaUlEMGdZV3gwWlhKdVlYUmxPMXh1WEc0Z0lIZG9hV3hsSUNoMGNuVmxLU0I3WEc0Z0lDQWdkbUZ5SUhCaGNtVnVkRUVnUFNCaExuSmxkSFZ5Ymp0Y2JseHVJQ0FnSUdsbUlDaHdZWEpsYm5SQklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJYWlNkeVpTQmhkQ0IwYUdVZ2NtOXZkQzVjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQndZWEpsYm5SQ0lEMGdjR0Z5Wlc1MFFTNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQnBaaUFvY0dGeVpXNTBRaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaGxjbVVnYVhNZ2JtOGdZV3gwWlhKdVlYUmxMaUJVYUdseklHbHpJR0Z1SUhWdWRYTjFZV3dnWTJGelpTNGdRM1Z5Y21WdWRHeDVMQ0JwZENCdmJteDVYRzRnSUNBZ0lDQXZMeUJvWVhCd1pXNXpJSGRvWlc0Z1lTQlRkWE53Wlc1elpTQmpiMjF3YjI1bGJuUWdhWE1nYUdsa1pHVnVMaUJCYmlCbGVIUnlZU0JtY21GbmJXVnVkQ0JtYVdKbGNseHVJQ0FnSUNBZ0x5OGdhWE1nYVc1elpYSjBaV1FnYVc0Z1ltVjBkMlZsYmlCMGFHVWdVM1Z6Y0dWdWMyVWdabWxpWlhJZ1lXNWtJR2wwY3lCamFHbHNaSEpsYmk0Z1UydHBjRnh1SUNBZ0lDQWdMeThnYjNabGNpQjBhR2x6SUdWNGRISmhJR1p5WVdkdFpXNTBJR1pwWW1WeUlHRnVaQ0J3Y205alpXVmtJSFJ2SUhSb1pTQnVaWGgwSUhCaGNtVnVkQzVjYmlBZ0lDQWdJSFpoY2lCdVpYaDBVR0Z5Wlc1MElEMGdjR0Z5Wlc1MFFTNXlaWFIxY200N1hHNWNiaUFnSUNBZ0lHbG1JQ2h1WlhoMFVHRnlaVzUwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHRWdQU0JpSUQwZ2JtVjRkRkJoY21WdWREdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlJQzh2SUVsbUlIUm9aWEpsSjNNZ2JtOGdjR0Z5Wlc1MExDQjNaU2R5WlNCaGRDQjBhR1VnY205dmRDNWNibHh1WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOUlDOHZJRWxtSUdKdmRHZ2dZMjl3YVdWeklHOW1JSFJvWlNCd1lYSmxiblFnWm1saVpYSWdjRzlwYm5RZ2RHOGdkR2hsSUhOaGJXVWdZMmhwYkdRc0lIZGxJR05oYmx4dUlDQWdJQzh2SUdGemMzVnRaU0IwYUdGMElIUm9aU0JqYUdsc1pDQnBjeUJqZFhKeVpXNTBMaUJVYUdseklHaGhjSEJsYm5NZ2QyaGxiaUIzWlNCaVlXbHNiM1YwSUc5dUlHeHZkMXh1SUNBZ0lDOHZJSEJ5YVc5eWFYUjVPaUIwYUdVZ1ltRnBiR1ZrSUc5MWRDQm1hV0psY2lkeklHTm9hV3hrSUhKbGRYTmxjeUIwYUdVZ1kzVnljbVZ1ZENCamFHbHNaQzVjYmx4dVhHNGdJQ0FnYVdZZ0tIQmhjbVZ1ZEVFdVkyaHBiR1FnUFQwOUlIQmhjbVZ1ZEVJdVkyaHBiR1FwSUh0Y2JpQWdJQ0FnSUhaaGNpQmphR2xzWkNBOUlIQmhjbVZ1ZEVFdVkyaHBiR1E3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2hqYUdsc1pDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyaHBiR1FnUFQwOUlHRXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlhaU2QyWlNCa1pYUmxjbTFwYm1Wa0lIUm9ZWFFnUVNCcGN5QjBhR1VnWTNWeWNtVnVkQ0JpY21GdVkyZ3VYRzRnSUNBZ0lDQWdJQ0FnWVhOelpYSjBTWE5OYjNWdWRHVmtLSEJoY21WdWRFRXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtYVdKbGNqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGphR2xzWkNBOVBUMGdZaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRmRsSjNabElHUmxkR1Z5YldsdVpXUWdkR2hoZENCQ0lHbHpJSFJvWlNCamRYSnlaVzUwSUdKeVlXNWphQzVjYmlBZ0lDQWdJQ0FnSUNCaGMzTmxjblJKYzAxdmRXNTBaV1FvY0dGeVpXNTBRU2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGc2RHVnlibUYwWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR05vYVd4a0lEMGdZMmhwYkdRdWMybGliR2x1Wnp0Y2JpQWdJQ0FnSUgwZ0x5OGdWMlVnYzJodmRXeGtJRzVsZG1WeUlHaGhkbVVnWVc0Z1lXeDBaWEp1WVhSbElHWnZjaUJoYm5rZ2JXOTFiblJwYm1jZ2JtOWtaUzRnVTI4Z2RHaGxJRzl1YkhsY2JpQWdJQ0FnSUM4dklIZGhlU0IwYUdseklHTnZkV3hrSUhCdmMzTnBZbXg1SUdoaGNIQmxiaUJwY3lCcFppQjBhR2x6SUhkaGN5QjFibTF2ZFc1MFpXUXNJR2xtSUdGMElHRnNiQzVjYmx4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlZibUZpYkdVZ2RHOGdabWx1WkNCdWIyUmxJRzl1SUdGdUlIVnViVzkxYm5SbFpDQmpiMjF3YjI1bGJuUXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGhMbkpsZEhWeWJpQWhQVDBnWWk1eVpYUjFjbTRwSUh0Y2JpQWdJQ0FnSUM4dklGUm9aU0J5WlhSMWNtNGdjRzlwYm5SbGNpQnZaaUJCSUdGdVpDQjBhR1VnY21WMGRYSnVJSEJ2YVc1MFpYSWdiMllnUWlCd2IybHVkQ0IwYnlCa2FXWm1aWEpsYm5SY2JpQWdJQ0FnSUM4dklHWnBZbVZ5Y3k0Z1YyVWdZWE56ZFcxbElIUm9ZWFFnY21WMGRYSnVJSEJ2YVc1MFpYSnpJRzVsZG1WeUlHTnlhWE56TFdOeWIzTnpMQ0J6YnlCQklHMTFjM1JjYmlBZ0lDQWdJQzh2SUdKbGJHOXVaeUIwYnlCMGFHVWdZMmhwYkdRZ2MyVjBJRzltSUVFdWNtVjBkWEp1TENCaGJtUWdRaUJ0ZFhOMElHSmxiRzl1WnlCMGJ5QjBhR1VnWTJocGJHUmNiaUFnSUNBZ0lDOHZJSE5sZENCdlppQkNMbkpsZEhWeWJpNWNiaUFnSUNBZ0lHRWdQU0J3WVhKbGJuUkJPMXh1SUNBZ0lDQWdZaUE5SUhCaGNtVnVkRUk3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRlJvWlNCeVpYUjFjbTRnY0c5cGJuUmxjbk1nY0c5cGJuUWdkRzhnZEdobElITmhiV1VnWm1saVpYSXVJRmRsSjJ4c0lHaGhkbVVnZEc4Z2RYTmxJSFJvWlZ4dUlDQWdJQ0FnTHk4Z1pHVm1ZWFZzZEN3Z2MyeHZkeUJ3WVhSb09pQnpZMkZ1SUhSb1pTQmphR2xzWkNCelpYUnpJRzltSUdWaFkyZ2djR0Z5Wlc1MElHRnNkR1Z5Ym1GMFpTQjBieUJ6WldWY2JpQWdJQ0FnSUM4dklIZG9hV05vSUdOb2FXeGtJR0psYkc5dVozTWdkRzhnZDJocFkyZ2djMlYwTGx4dUlDQWdJQ0FnTHk5Y2JpQWdJQ0FnSUM4dklGTmxZWEpqYUNCd1lYSmxiblFnUVNkeklHTm9hV3hrSUhObGRGeHVJQ0FnSUNBZ2RtRnlJR1JwWkVacGJtUkRhR2xzWkNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnZG1GeUlGOWphR2xzWkNBOUlIQmhjbVZ1ZEVFdVkyaHBiR1E3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2hmWTJocGJHUXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tGOWphR2xzWkNBOVBUMGdZU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBaRVpwYm1SRGFHbHNaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnWVNBOUlIQmhjbVZ1ZEVFN1hHNGdJQ0FnSUNBZ0lDQWdZaUE5SUhCaGNtVnVkRUk3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWDJOb2FXeGtJRDA5UFNCaUtTQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsa1JtbHVaRU5vYVd4a0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQmlJRDBnY0dGeVpXNTBRVHRjYmlBZ0lDQWdJQ0FnSUNCaElEMGdjR0Z5Wlc1MFFqdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUY5amFHbHNaQ0E5SUY5amFHbHNaQzV6YVdKc2FXNW5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRVpwYm1SRGFHbHNaQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlRaV0Z5WTJnZ2NHRnlaVzUwSUVJbmN5QmphR2xzWkNCelpYUmNiaUFnSUNBZ0lDQWdYMk5vYVd4a0lEMGdjR0Z5Wlc1MFFpNWphR2xzWkR0Y2JseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb1gyTm9hV3hrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0Y5amFHbHNaQ0E5UFQwZ1lTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbGtSbWx1WkVOb2FXeGtJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdFZ1BTQndZWEpsYm5SQ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWWlBOUlIQmhjbVZ1ZEVFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWDJOb2FXeGtJRDA5UFNCaUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCa2FXUkdhVzVrUTJocGJHUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWWlBOUlIQmhjbVZ1ZEVJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JoSUQwZ2NHRnlaVzUwUVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lGOWphR2xzWkNBOUlGOWphR2xzWkM1emFXSnNhVzVuTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGa2FXUkdhVzVrUTJocGJHUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkRhR2xzWkNCM1lYTWdibTkwSUdadmRXNWtJR2x1SUdWcGRHaGxjaUJ3WVhKbGJuUWdjMlYwTGlCVWFHbHpJR2x1WkdsallYUmxjeUJoSUdKMVp5QnBiaUJTWldGamRDQnlaV3hoZEdWa0lIUnZJSFJvWlNCeVpYUjFjbTRnY0c5cGJuUmxjaTRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JU2hoTG1Gc2RHVnlibUYwWlNBOVBUMGdZaWtwSUh0Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpVW1WMGRYSnVJR1pwWW1WeWN5QnphRzkxYkdRZ1lXeDNZWGx6SUdKbElHVmhZMmdnYjNSb1pYSnpKeUJoYkhSbGNtNWhkR1Z6TGlCVWFHbHpJR1Z5Y205eUlHbHpJR3hwYTJWc2VTQmpZWFZ6WldRZ1lua2dZU0JpZFdjZ2FXNGdVbVZoWTNRdUlGQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlJQzh2SUVsbUlIUm9aU0J5YjI5MElHbHpJRzV2ZENCaElHaHZjM1FnWTI5dWRHRnBibVZ5TENCM1pTZHlaU0JwYmlCaElHUnBjMk52Ym01bFkzUmxaQ0IwY21WbExpQkpMbVV1WEc0Z0lDOHZJSFZ1Ylc5MWJuUmxaQzVjYmx4dVhHNGdJR2xtSUNnaEtHRXVkR0ZuSUQwOVBTQkliM04wVW05dmRDa3BJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVmJtRmliR1VnZEc4Z1ptbHVaQ0J1YjJSbElHOXVJR0Z1SUhWdWJXOTFiblJsWkNCamIyMXdiMjVsYm5RdVhDSWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JwWmlBb1lTNXpkR0YwWlU1dlpHVXVZM1Z5Y21WdWRDQTlQVDBnWVNrZ2UxeHVJQ0FnSUM4dklGZGxKM1psSUdSbGRHVnliV2x1WldRZ2RHaGhkQ0JCSUdseklIUm9aU0JqZFhKeVpXNTBJR0p5WVc1amFDNWNiaUFnSUNCeVpYUjFjbTRnWm1saVpYSTdYRzRnSUgwZ0x5OGdUM1JvWlhKM2FYTmxJRUlnYUdGeklIUnZJR0psSUdOMWNuSmxiblFnWW5KaGJtTm9MbHh1WEc1Y2JpQWdjbVYwZFhKdUlHRnNkR1Z5Ym1GMFpUdGNibjFjYm1aMWJtTjBhVzl1SUdacGJtUkRkWEp5Wlc1MFNHOXpkRVpwWW1WeUtIQmhjbVZ1ZENrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZCaGNtVnVkQ0E5SUdacGJtUkRkWEp5Wlc1MFJtbGlaWEpWYzJsdVoxTnNiM2RRWVhSb0tIQmhjbVZ1ZENrN1hHNWNiaUFnYVdZZ0tDRmpkWEp5Wlc1MFVHRnlaVzUwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBnTHk4Z1RtVjRkQ0IzWlNkc2JDQmtjbWxzYkNCa2IzZHVJSFJvYVhNZ1kyOXRjRzl1Wlc1MElIUnZJR1pwYm1RZ2RHaGxJR1pwY25OMElFaHZjM1JEYjIxd2IyNWxiblF2VkdWNGRDNWNibHh1WEc0Z0lIWmhjaUJ1YjJSbElEMGdZM1Z5Y21WdWRGQmhjbVZ1ZER0Y2JseHVJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUdsbUlDaHViMlJsTG5SaFp5QTlQVDBnU0c5emRFTnZiWEJ2Ym1WdWRDQjhmQ0J1YjJSbExuUmhaeUE5UFQwZ1NHOXpkRlJsZUhRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ibTlrWlM1amFHbHNaQ2tnZTF4dUlDQWdJQ0FnYm05a1pTNWphR2xzWkM1eVpYUjFjbTRnUFNCdWIyUmxPMXh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1WTJocGJHUTdYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ibTlrWlNBOVBUMGdZM1Z5Y21WdWRGQmhjbVZ1ZENrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2QyaHBiR1VnS0NGdWIyUmxMbk5wWW14cGJtY3BJSHRjYmlBZ0lDQWdJR2xtSUNnaGJtOWtaUzV5WlhSMWNtNGdmSHdnYm05a1pTNXlaWFIxY200Z1BUMDlJR04xY25KbGJuUlFZWEpsYm5RcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J1YjJSbExuTnBZbXhwYm1jdWNtVjBkWEp1SUQwZ2JtOWtaUzV5WlhSMWNtNDdYRzRnSUNBZ2JtOWtaU0E5SUc1dlpHVXVjMmxpYkdsdVp6dGNiaUFnZlNBdkx5QkdiRzkzSUc1bFpXUnpJSFJvWlNCeVpYUjFjbTRnYm5Wc2JDQm9aWEpsTENCaWRYUWdSVk5NYVc1MElHTnZiWEJzWVdsdWN5QmhZbTkxZENCcGRDNWNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYVnVjbVZoWTJoaFlteGxYRzVjYmx4dUlDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlHWnBibVJEZFhKeVpXNTBTRzl6ZEVacFltVnlWMmwwYUU1dlVHOXlkR0ZzY3lod1lYSmxiblFwSUh0Y2JpQWdkbUZ5SUdOMWNuSmxiblJRWVhKbGJuUWdQU0JtYVc1a1EzVnljbVZ1ZEVacFltVnlWWE5wYm1kVGJHOTNVR0YwYUNod1lYSmxiblFwTzF4dVhHNGdJR2xtSUNnaFkzVnljbVZ1ZEZCaGNtVnVkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlJQzh2SUU1bGVIUWdkMlVuYkd3Z1pISnBiR3dnWkc5M2JpQjBhR2x6SUdOdmJYQnZibVZ1ZENCMGJ5Qm1hVzVrSUhSb1pTQm1hWEp6ZENCSWIzTjBRMjl0Y0c5dVpXNTBMMVJsZUhRdVhHNWNibHh1SUNCMllYSWdibTlrWlNBOUlHTjFjbkpsYm5SUVlYSmxiblE3WEc1Y2JpQWdkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0JwWmlBb2JtOWtaUzUwWVdjZ1BUMDlJRWh2YzNSRGIyMXdiMjVsYm5RZ2ZId2dibTlrWlM1MFlXY2dQVDA5SUVodmMzUlVaWGgwSUh4OElHVnVZV0pzWlVaMWJtUmhiV1Z1ZEdGc1FWQkpJQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzV2WkdVN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMbU5vYVd4a0lDWW1JRzV2WkdVdWRHRm5JQ0U5UFNCSWIzTjBVRzl5ZEdGc0tTQjdYRzRnSUNBZ0lDQnViMlJsTG1Ob2FXeGtMbkpsZEhWeWJpQTlJRzV2WkdVN1hHNGdJQ0FnSUNCdWIyUmxJRDBnYm05a1pTNWphR2xzWkR0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWIyUmxJRDA5UFNCamRYSnlaVzUwVUdGeVpXNTBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IzYUdsc1pTQW9JVzV2WkdVdWMybGliR2x1WnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z1YjJSbExuSmxkSFZ5YmlCOGZDQnViMlJsTG5KbGRIVnliaUE5UFQwZ1kzVnljbVZ1ZEZCaGNtVnVkQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHNXZaR1V1YzJsaWJHbHVaeTV5WlhSMWNtNGdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0J1YjJSbElEMGdibTlrWlM1emFXSnNhVzVuTzF4dUlDQjlJQzh2SUVac2IzY2dibVZsWkhNZ2RHaGxJSEpsZEhWeWJpQnVkV3hzSUdobGNtVXNJR0oxZENCRlUweHBiblFnWTI5dGNHeGhhVzV6SUdGaWIzVjBJR2wwTGx4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0ZFc1eVpXRmphR0ZpYkdWY2JseHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1WEc0dktpcGNiaUFxSUVGalkzVnRkV3hoZEdWeklHbDBaVzF6SUhSb1lYUWdiWFZ6ZENCdWIzUWdZbVVnYm5Wc2JDQnZjaUIxYm1SbFptbHVaV1FnYVc1MGJ5QjBhR1VnWm1seWMzUWdiMjVsTGlCVWFHbHpYRzRnS2lCcGN5QjFjMlZrSUhSdklHTnZibk5sY25abElHMWxiVzl5ZVNCaWVTQmhkbTlwWkdsdVp5QmhjbkpoZVNCaGJHeHZZMkYwYVc5dWN5d2dZVzVrSUhSb2RYTWdjMkZqY21sbWFXTmxjMXh1SUNvZ1FWQkpJR05zWldGdWJtVnpjeTRnVTJsdVkyVWdZR04xY25KbGJuUmdJR05oYmlCaVpTQnVkV3hzSUdKbFptOXlaU0JpWldsdVp5QndZWE56WldRZ2FXNGdZVzVrSUc1dmRGeHVJQ29nYm5Wc2JDQmhablJsY2lCMGFHbHpJR1oxYm1OMGFXOXVMQ0J0WVd0bElITjFjbVVnZEc4Z1lYTnphV2R1SUdsMElHSmhZMnNnZEc4Z1lHTjFjbkpsYm5SZ09seHVJQ3BjYmlBcUlHQmhJRDBnWVdOamRXMTFiR0YwWlVsdWRHOG9ZU3dnWWlrN1lGeHVJQ3BjYmlBcUlGUm9hWE1nUVZCSklITm9iM1ZzWkNCaVpTQnpjR0Z5YVc1bmJIa2dkWE5sWkM0Z1ZISjVJR0JoWTJOMWJYVnNZWFJsWUNCbWIzSWdjMjl0WlhSb2FXNW5JR05zWldGdVpYSXVYRzRnS2x4dUlDb2dRSEpsZEhWeWJpQjdLbnhoY25KaGVUd3FQbjBnUVc0Z1lXTmpkVzExYkdGMGFXOXVJRzltSUdsMFpXMXpMbHh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR0ZqWTNWdGRXeGhkR1ZKYm5SdktHTjFjbkpsYm5Rc0lHNWxlSFFwSUh0Y2JpQWdhV1lnS0NFb2JtVjRkQ0FoUFNCdWRXeHNLU2tnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0ltRmpZM1Z0ZFd4aGRHVkpiblJ2S0M0dUxpazZJRUZqWTNWdGRXeGhkR1ZrSUdsMFpXMXpJRzExYzNRZ2JtOTBJR0psSUc1MWJHd2diM0lnZFc1a1pXWnBibVZrTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dOMWNuSmxiblFnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVaWGgwTzF4dUlDQjlJQzh2SUVKdmRHZ2dZWEpsSUc1dmRDQmxiWEIwZVM0Z1YyRnlibWx1WnpvZ1RtVjJaWElnWTJGc2JDQjRMbU52Ym1OaGRDaDVLU0IzYUdWdUlIbHZkU0JoY21VZ2JtOTBYRzRnSUM4dklHTmxjblJoYVc0Z2RHaGhkQ0I0SUdseklHRnVJRUZ5Y21GNUlDaDRJR052ZFd4a0lHSmxJR0VnYzNSeWFXNW5JSGRwZEdnZ1kyOXVZMkYwSUcxbGRHaHZaQ2t1WEc1Y2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hqZFhKeVpXNTBLU2tnZTF4dUlDQWdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLRzVsZUhRcEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MExuQjFjMmd1WVhCd2JIa29ZM1Z5Y21WdWRDd2dibVY0ZENrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNWeWNtVnVkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpkWEp5Wlc1MExuQjFjMmdvYm1WNGRDazdYRzRnSUNBZ2NtVjBkWEp1SUdOMWNuSmxiblE3WEc0Z0lIMWNibHh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNodVpYaDBLU2tnZTF4dUlDQWdJQzh2SUVFZ1ltbDBJSFJ2YnlCa1lXNW5aWEp2ZFhNZ2RHOGdiWFYwWVhSbElHQnVaWGgwWUM1Y2JpQWdJQ0J5WlhSMWNtNGdXMk4xY25KbGJuUmRMbU52Ym1OaGRDaHVaWGgwS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCYlkzVnljbVZ1ZEN3Z2JtVjRkRjA3WEc1OVhHNWNiaThxS2x4dUlDb2dRSEJoY21GdElIdGhjbkpoZVgwZ1lYSnlJR0Z1SUZ3aVlXTmpkVzExYkdGMGFXOXVYQ0lnYjJZZ2FYUmxiWE1nZDJocFkyZ2dhWE1nWldsMGFHVnlJR0Z1SUVGeWNtRjVJRzl5WEc0Z0tpQmhJSE5wYm1kc1pTQnBkR1Z0TGlCVmMyVm1kV3dnZDJobGJpQndZV2x5WldRZ2QybDBhQ0IwYUdVZ1lHRmpZM1Z0ZFd4aGRHVmdJRzF2WkhWc1pTNGdWR2hwY3lCcGN5QmhYRzRnS2lCemFXMXdiR1VnZFhScGJHbDBlU0IwYUdGMElHRnNiRzkzY3lCMWN5QjBieUJ5WldGemIyNGdZV0p2ZFhRZ1lTQmpiMnhzWldOMGFXOXVJRzltSUdsMFpXMXpMQ0JpZFhSY2JpQXFJR2hoYm1Sc2FXNW5JSFJvWlNCallYTmxJSGRvWlc0Z2RHaGxjbVVnYVhNZ1pYaGhZM1JzZVNCdmJtVWdhWFJsYlNBb1lXNWtJSGRsSUdSdklHNXZkQ0J1WldWa0lIUnZYRzRnS2lCaGJHeHZZMkYwWlNCaGJpQmhjbkpoZVNrdVhHNGdLaUJBY0dGeVlXMGdlMloxYm1OMGFXOXVmU0JqWWlCRFlXeHNZbUZqYXlCcGJuWnZhMlZrSUhkcGRHZ2daV0ZqYUNCbGJHVnRaVzUwSUc5eUlHRWdZMjlzYkdWamRHbHZiaTVjYmlBcUlFQndZWEpoYlNCN1AzMGdXM05qYjNCbFhTQlRZMjl3WlNCMWMyVmtJR0Z6SUdCMGFHbHpZQ0JwYmlCaElHTmhiR3hpWVdOckxseHVJQ292WEc1bWRXNWpkR2x2YmlCbWIzSkZZV05vUVdOamRXMTFiR0YwWldRb1lYSnlMQ0JqWWl3Z2MyTnZjR1VwSUh0Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29ZWEp5S1NrZ2UxeHVJQ0FnSUdGeWNpNW1iM0pGWVdOb0tHTmlMQ0J6WTI5d1pTazdYRzRnSUgwZ1pXeHpaU0JwWmlBb1lYSnlLU0I3WEc0Z0lDQWdZMkl1WTJGc2JDaHpZMjl3WlN3Z1lYSnlLVHRjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUVsdWRHVnlibUZzSUhGMVpYVmxJRzltSUdWMlpXNTBjeUIwYUdGMElHaGhkbVVnWVdOamRXMTFiR0YwWldRZ2RHaGxhWElnWkdsemNHRjBZMmhsY3lCaGJtUWdZWEpsWEc0Z0tpQjNZV2wwYVc1bklIUnZJR2hoZG1VZ2RHaGxhWElnWkdsemNHRjBZMmhsY3lCbGVHVmpkWFJsWkM1Y2JpQXFMMXh1WEc1MllYSWdaWFpsYm5SUmRXVjFaU0E5SUc1MWJHdzdYRzR2S2lwY2JpQXFJRVJwYzNCaGRHTm9aWE1nWVc0Z1pYWmxiblFnWVc1a0lISmxiR1ZoYzJWeklHbDBJR0poWTJzZ2FXNTBieUIwYUdVZ2NHOXZiQ3dnZFc1c1pYTnpJSEJsY25OcGMzUmxiblF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHMvYjJKcVpXTjBmU0JsZG1WdWRDQlRlVzUwYUdWMGFXTWdaWFpsYm5RZ2RHOGdZbVVnWkdsemNHRjBZMmhsWkM1Y2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JseHVkbUZ5SUdWNFpXTjFkR1ZFYVhOd1lYUmphR1Z6UVc1a1VtVnNaV0Z6WlNBOUlHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0JwWmlBb1pYWmxiblFwSUh0Y2JpQWdJQ0JsZUdWamRYUmxSR2x6Y0dGMFkyaGxjMGx1VDNKa1pYSW9aWFpsYm5RcE8xeHVYRzRnSUNBZ2FXWWdLQ0ZsZG1WdWRDNXBjMUJsY25OcGMzUmxiblFvS1NrZ2UxeHVJQ0FnSUNBZ1pYWmxiblF1WTI5dWMzUnlkV04wYjNJdWNtVnNaV0Z6WlNobGRtVnVkQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlPMXh1WEc1MllYSWdaWGhsWTNWMFpVUnBjM0JoZEdOb1pYTkJibVJTWld4bFlYTmxWRzl3VEdWMlpXd2dQU0JtZFc1amRHbHZiaUFvWlNrZ2UxeHVJQ0J5WlhSMWNtNGdaWGhsWTNWMFpVUnBjM0JoZEdOb1pYTkJibVJTWld4bFlYTmxLR1VwTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnY25WdVJYWmxiblJ6U1c1Q1lYUmphQ2hsZG1WdWRITXBJSHRjYmlBZ2FXWWdLR1YyWlc1MGN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHVjJaVzUwVVhWbGRXVWdQU0JoWTJOMWJYVnNZWFJsU1c1MGJ5aGxkbVZ1ZEZGMVpYVmxMQ0JsZG1WdWRITXBPMXh1SUNCOUlDOHZJRk5sZENCZ1pYWmxiblJSZFdWMVpXQWdkRzhnYm5Wc2JDQmlaV1p2Y21VZ2NISnZZMlZ6YzJsdVp5QnBkQ0J6YnlCMGFHRjBJSGRsSUdOaGJpQjBaV3hzSUdsbUlHMXZjbVZjYmlBZ0x5OGdaWFpsYm5SeklHZGxkQ0JsYm5GMVpYVmxaQ0IzYUdsc1pTQndjbTlqWlhOemFXNW5MbHh1WEc1Y2JpQWdkbUZ5SUhCeWIyTmxjM05wYm1kRmRtVnVkRkYxWlhWbElEMGdaWFpsYm5SUmRXVjFaVHRjYmlBZ1pYWmxiblJSZFdWMVpTQTlJRzUxYkd3N1hHNWNiaUFnYVdZZ0tDRndjbTlqWlhOemFXNW5SWFpsYm5SUmRXVjFaU2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJR1p2Y2tWaFkyaEJZMk4xYlhWc1lYUmxaQ2h3Y205alpYTnphVzVuUlhabGJuUlJkV1YxWlN3Z1pYaGxZM1YwWlVScGMzQmhkR05vWlhOQmJtUlNaV3hsWVhObFZHOXdUR1YyWld3cE8xeHVYRzRnSUdsbUlDZ2hJV1YyWlc1MFVYVmxkV1VwSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSndjbTlqWlhOelJYWmxiblJSZFdWMVpTZ3BPaUJCWkdScGRHbHZibUZzSUdWMlpXNTBjeUIzWlhKbElHVnVjWFZsZFdWa0lIZG9hV3hsSUhCeWIyTmxjM05wYm1jZ1lXNGdaWFpsYm5RZ2NYVmxkV1V1SUZOMWNIQnZjblFnWm05eUlIUm9hWE1nYUdGeklHNXZkQ0I1WlhRZ1ltVmxiaUJwYlhCc1pXMWxiblJsWkM1Y0lpQXBPMXh1SUNBZ0lIMWNiaUFnZlNBdkx5QlVhR2x6SUhkdmRXeGtJR0psSUdFZ1oyOXZaQ0IwYVcxbElIUnZJSEpsZEdoeWIzY2dhV1lnWVc1NUlHOW1JSFJvWlNCbGRtVnVkQ0JvWVc1a2JHVnljeUIwYUhKbGR5NWNibHh1WEc0Z0lISmxkR2h5YjNkRFlYVm5hSFJGY25KdmNpZ3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFZGxkSE1nZEdobElIUmhjbWRsZENCdWIyUmxJR1p5YjIwZ1lTQnVZWFJwZG1VZ1luSnZkM05sY2lCbGRtVnVkQ0JpZVNCaFkyTnZkVzUwYVc1bklHWnZjbHh1SUNvZ2FXNWpiMjV6YVhOMFpXNWphV1Z6SUdsdUlHSnliM2R6WlhJZ1JFOU5JRUZRU1hNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0dlltcGxZM1I5SUc1aGRHbDJaVVYyWlc1MElFNWhkR2wyWlNCaWNtOTNjMlZ5SUdWMlpXNTBMbHh1SUNvZ1FISmxkSFZ5YmlCN1JFOU5SWFpsYm5SVVlYSm5aWFI5SUZSaGNtZGxkQ0J1YjJSbExseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlHZGxkRVYyWlc1MFZHRnlaMlYwS0c1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUM4dklFWmhiR3hpWVdOcklIUnZJRzVoZEdsMlpVVjJaVzUwTG5OeVkwVnNaVzFsYm5RZ1ptOXlJRWxGT1Z4dUlDQXZMeUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Y21WaFkzUXZhWE56ZFdWekx6RXlOVEEyWEc0Z0lIWmhjaUIwWVhKblpYUWdQU0J1WVhScGRtVkZkbVZ1ZEM1MFlYSm5aWFFnZkh3Z2JtRjBhWFpsUlhabGJuUXVjM0pqUld4bGJXVnVkQ0I4ZkNCM2FXNWtiM2M3SUM4dklFNXZjbTFoYkdsNlpTQlRWa2NnUEhWelpUNGdaV3hsYldWdWRDQmxkbVZ1ZEhNZ0l6UTVOak5jYmx4dUlDQnBaaUFvZEdGeVoyVjBMbU52Y25KbGMzQnZibVJwYm1kVmMyVkZiR1Z0Wlc1MEtTQjdYRzRnSUNBZ2RHRnlaMlYwSUQwZ2RHRnlaMlYwTG1OdmNuSmxjM0J2Ym1ScGJtZFZjMlZGYkdWdFpXNTBPMXh1SUNCOUlDOHZJRk5oWm1GeWFTQnRZWGtnWm1seVpTQmxkbVZ1ZEhNZ2IyNGdkR1Y0ZENCdWIyUmxjeUFvVG05a1pTNVVSVmhVWDA1UFJFVWdhWE1nTXlrdVhHNGdJQzh2SUVCelpXVWdhSFIwY0RvdkwzZDNkeTV4ZFdseWEzTnRiMlJsTG05eVp5OXFjeTlsZG1WdWRITmZjSEp2Y0dWeWRHbGxjeTVvZEcxc1hHNWNibHh1SUNCeVpYUjFjbTRnZEdGeVoyVjBMbTV2WkdWVWVYQmxJRDA5UFNCVVJWaFVYMDVQUkVVZ1B5QjBZWEpuWlhRdWNHRnlaVzUwVG05a1pTQTZJSFJoY21kbGREdGNibjFjYmx4dUx5b3FYRzRnS2lCRGFHVmphM01nYVdZZ1lXNGdaWFpsYm5RZ2FYTWdjM1Z3Y0c5eWRHVmtJR2x1SUhSb1pTQmpkWEp5Wlc1MElHVjRaV04xZEdsdmJpQmxiblpwY205dWJXVnVkQzVjYmlBcVhHNGdLaUJPVDFSRk9pQlVhR2x6SUhkcGJHd2dibTkwSUhkdmNtc2dZMjl5Y21WamRHeDVJR1p2Y2lCdWIyNHRaMlZ1WlhKcFl5QmxkbVZ1ZEhNZ2MzVmphQ0JoY3lCZ1kyaGhibWRsWUN4Y2JpQXFJR0J5WlhObGRHQXNJR0JzYjJGa1lDd2dZR1Z5Y205eVlDd2dZVzVrSUdCelpXeGxZM1JnTGx4dUlDcGNiaUFxSUVKdmNuSnZkM01nWm5KdmJTQk5iMlJsY201cGVuSXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHVjJaVzUwVG1GdFpWTjFabVpwZUNCRmRtVnVkQ0J1WVcxbExDQmxMbWN1SUZ3aVkyeHBZMnRjSWk1Y2JpQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdkR2hsSUdWMlpXNTBJR2x6SUhOMWNIQnZjblJsWkM1Y2JpQXFJRUJwYm5SbGNtNWhiRnh1SUNvZ1FHeHBZMlZ1YzJVZ1RXOWtaWEp1YVhweUlETXVNQzR3Y0hKbElDaERkWE4wYjIwZ1FuVnBiR1FwSUh3Z1RVbFVYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdhWE5GZG1WdWRGTjFjSEJ2Y25SbFpDaGxkbVZ1ZEU1aGJXVlRkV1ptYVhncElIdGNiaUFnYVdZZ0tDRmpZVzVWYzJWRVQwMHBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCMllYSWdaWFpsYm5ST1lXMWxJRDBnSjI5dUp5QXJJR1YyWlc1MFRtRnRaVk4xWm1acGVEdGNiaUFnZG1GeUlHbHpVM1Z3Y0c5eWRHVmtJRDBnWlhabGJuUk9ZVzFsSUdsdUlHUnZZM1Z0Wlc1ME8xeHVYRzRnSUdsbUlDZ2hhWE5UZFhCd2IzSjBaV1FwSUh0Y2JpQWdJQ0IyWVhJZ1pXeGxiV1Z1ZENBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjJScGRpY3BPMXh1SUNBZ0lHVnNaVzFsYm5RdWMyVjBRWFIwY21saWRYUmxLR1YyWlc1MFRtRnRaU3dnSjNKbGRIVnlianNuS1R0Y2JpQWdJQ0JwYzFOMWNIQnZjblJsWkNBOUlIUjVjR1Z2WmlCbGJHVnRaVzUwVzJWMlpXNTBUbUZ0WlYwZ1BUMDlJQ2RtZFc1amRHbHZiaWM3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYVhOVGRYQndiM0owWldRN1hHNTlYRzVjYmk4cUtseHVJQ29nVTNWdGJXRnllU0J2WmlCZ1JFOU5SWFpsYm5SUWJIVm5hVzVUZVhOMFpXMWdJR1YyWlc1MElHaGhibVJzYVc1bk9seHVJQ3BjYmlBcUlDQXRJRlJ2Y0Mxc1pYWmxiQ0JrWld4bFoyRjBhVzl1SUdseklIVnpaV1FnZEc4Z2RISmhjQ0J0YjNOMElHNWhkR2wyWlNCaWNtOTNjMlZ5SUdWMlpXNTBjeTRnVkdocGMxeHVJQ29nSUNBZ2JXRjVJRzl1YkhrZ2IyTmpkWElnYVc0Z2RHaGxJRzFoYVc0Z2RHaHlaV0ZrSUdGdVpDQnBjeUIwYUdVZ2NtVnpjRzl1YzJsaWFXeHBkSGtnYjJaY2JpQXFJQ0FnSUZKbFlXTjBSRTlOUlhabGJuUk1hWE4wWlc1bGNpd2dkMmhwWTJnZ2FYTWdhVzVxWldOMFpXUWdZVzVrSUdOaGJpQjBhR1Z5WldadmNtVWdjM1Z3Y0c5eWRGeHVJQ29nSUNBZ2NHeDFaMmRoWW14bElHVjJaVzUwSUhOdmRYSmpaWE11SUZSb2FYTWdhWE1nZEdobElHOXViSGtnZDI5eWF5QjBhR0YwSUc5alkzVnljeUJwYmlCMGFHVWdiV0ZwYmx4dUlDb2dJQ0FnZEdoeVpXRmtMbHh1SUNwY2JpQXFJQ0F0SUZkbElHNXZjbTFoYkdsNlpTQmhibVFnWkdVdFpIVndiR2xqWVhSbElHVjJaVzUwY3lCMGJ5QmhZMk52ZFc1MElHWnZjaUJpY205M2MyVnlJSEYxYVhKcmN5NGdWR2hwYzF4dUlDb2dJQ0FnYldGNUlHSmxJR1J2Ym1VZ2FXNGdkR2hsSUhkdmNtdGxjaUIwYUhKbFlXUXVYRzRnS2x4dUlDb2dJQzBnUm05eWQyRnlaQ0IwYUdWelpTQnVZWFJwZG1VZ1pYWmxiblJ6SUNoM2FYUm9JSFJvWlNCaGMzTnZZMmxoZEdWa0lIUnZjQzFzWlhabGJDQjBlWEJsSUhWelpXUWdkRzljYmlBcUlDQWdJSFJ5WVhBZ2FYUXBJSFJ2SUdCRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNVlDd2dkMmhwWTJnZ2FXNGdkSFZ5YmlCM2FXeHNJR0Z6YXlCd2JIVm5hVzV6SUdsbUlIUm9aWGtnZDJGdWRGeHVJQ29nSUNBZ2RHOGdaWGgwY21GamRDQmhibmtnYzNsdWRHaGxkR2xqSUdWMlpXNTBjeTVjYmlBcVhHNGdLaUFnTFNCVWFHVWdZRVYyWlc1MFVHeDFaMmx1VW1WbmFYTjBjbmxnSUhkcGJHd2dkR2hsYmlCd2NtOWpaWE56SUdWaFkyZ2daWFpsYm5RZ1lua2dZVzV1YjNSaGRHbHVaeUIwYUdWdElIZHBkR2hjYmlBcUlDQWdJRndpWkdsemNHRjBZMmhsYzF3aUxDQmhJSE5sY1hWbGJtTmxJRzltSUd4cGMzUmxibVZ5Y3lCaGJtUWdTVVJ6SUhSb1lYUWdZMkZ5WlNCaFltOTFkQ0IwYUdGMElHVjJaVzUwTGx4dUlDcGNiaUFxSUNBdElGUm9aU0JnUlhabGJuUlFiSFZuYVc1U1pXZHBjM1J5ZVdBZ2RHaGxiaUJrYVhOd1lYUmphR1Z6SUhSb1pTQmxkbVZ1ZEhNdVhHNGdLbHh1SUNvZ1QzWmxjblpwWlhjZ2IyWWdVbVZoWTNRZ1lXNWtJSFJvWlNCbGRtVnVkQ0J6ZVhOMFpXMDZYRzRnS2x4dUlDb2dLeTB0TFMwdExTMHRMUzB0TFNzZ0lDQWdMbHh1SUNvZ2ZDQWdJQ0JFVDAwZ0lDQWdJSHdnSUNBZ0xseHVJQ29nS3kwdExTMHRMUzB0TFMwdExTc2dJQ0FnTGx4dUlDb2dJQ0FnSUNBZ2ZDQWdJQ0FnSUNBZ0lDQWdMbHh1SUNvZ0lDQWdJQ0FnZGlBZ0lDQWdJQ0FnSUNBZ0xseHVJQ29nS3kwdExTMHRMUzB0TFMwdExTc2dJQ0FnTGx4dUlDb2dmQ0JTWldGamRFVjJaVzUwSUh3Z0lDQWdMbHh1SUNvZ2ZDQWdUR2x6ZEdWdVpYSWdJSHdnSUNBZ0xseHVJQ29nS3kwdExTMHRMUzB0TFMwdExTc2dJQ0FnTGlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FyTFMwdExTMHRMUzB0TFMwclhHNGdLaUFnSUNBZ0lDQjhJQ0FnSUNBZ0lDQWdJQ0F1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLeTB0TFMwdExTMHRLM3hUYVcxd2JHVkZkbVZ1ZEh4Y2JpQXFJQ0FnSUNBZ0lId2dJQ0FnSUNBZ0lDQWdJQzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjhJQ0FnSUNBZ0lDQWdmRkJzZFdkcGJpQWdJQ0FnZkZ4dUlDb2dLeTB0TFMwdGZDMHRMUzB0TFNzZ0lDQWdMaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lIWWdJQ0FnSUNBZ0lDQXJMUzB0TFMwdExTMHRMUzByWEc0Z0tpQjhJQ0FnSUNCOElDQWdJQ0FnZkNBZ0lDQXVJQ0FnSUNzdExTMHRMUzB0TFMwdExTMHRMU3NnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNzdExTMHRMUzB0TFMwdExTMHJYRzRnS2lCOElDQWdJQ0FyTFMwdExTMHRMUzB0TFMwdUxTMHRQbnhRYkhWbmFXNVNaV2RwYzNSeWVYd2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBZ1JYWmxiblFnSUNCOFhHNGdLaUI4SUNBZ0lDQWdJQ0FnSUNBZ2ZDQWdJQ0F1SUNBZ0lId2dJQ0FnSUNBZ0lDQWdJQ0FnSUh3Z0lDQWdJQ3N0TFMwdExTMHRMUzB0TFNzZ0lId2dVSEp2Y0dGbllYUnZjbk44WEc0Z0tpQjhJRkpsWVdOMFJYWmxiblFnZkNBZ0lDQXVJQ0FnSUh3Z0lDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBZ0lIeFVZWEJGZG1WdWRDQWdJSHdnSUh3dExTMHRMUzB0TFMwdExTMThYRzRnS2lCOElDQkZiV2wwZEdWeUlDQWdmQ0FnSUNBdUlDQWdJSHdnSUNBZ0lDQWdJQ0FnSUNBZ0lIdzhMUzB0SzN4UWJIVm5hVzRnSUNBZ0lId2dJSHh2ZEdobGNpQndiSFZuYVc1OFhHNGdLaUI4SUNBZ0lDQWdJQ0FnSUNBZ2ZDQWdJQ0F1SUNBZ0lId2dJQ0FnSUNBZ0lDQWdJQ0FnSUh3Z0lDQWdJQ3N0TFMwdExTMHRMUzB0TFNzZ0lId2dJSFYwYVd4cGRHbGxjeUI4WEc0Z0tpQjhJQ0FnSUNBckxTMHRMUzB0TFMwdExTMHVMUzB0UG53Z0lDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNzdExTMHRMUzB0TFMwdExTMHJYRzRnS2lCOElDQWdJQ0I4SUNBZ0lDQWdmQ0FnSUNBdUlDQWdJQ3N0TFMwdExTMHRMUzB0TFMwdExTdGNiaUFxSUNzdExTMHRMWHd0TFMwdExTMHJJQ0FnSUM0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWGlBZ0lDQWdJQ0FnS3kwdExTMHRMUzB0TFMwdEsxeHVJQ29nSUNBZ0lDQWdmQ0FnSUNBZ0lDQWdJQ0FnTGlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I4SUNBZ0lDQWdJQ0I4Ulc1MFpYSXZUR1ZoZG1WOFhHNGdLaUFnSUNBZ0lDQXJJQ0FnSUNBZ0lDQWdJQ0F1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ3N0TFMwdExTMHRLM3hRYkhWbmFXNGdJQ0FnSUh4Y2JpQXFJQ3N0TFMwdExTMHRMUzB0TFMwdEt5QWdJQzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLeTB0TFMwdExTMHRMUzB0SzF4dUlDb2dmQ0JoY0hCc2FXTmhkR2x2YmlCOElDQWdMbHh1SUNvZ2ZDMHRMUzB0TFMwdExTMHRMUzE4SUNBZ0xseHVJQ29nZkNBZ0lDQWdJQ0FnSUNBZ0lDQjhJQ0FnTGx4dUlDb2dmQ0FnSUNBZ0lDQWdJQ0FnSUNCOElDQWdMbHh1SUNvZ0t5MHRMUzB0TFMwdExTMHRMUzBySUNBZ0xseHVJQ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTGx4dUlDb2dJQ0FnVW1WaFkzUWdRMjl5WlNBZ0lDQWdMaUFnUjJWdVpYSmhiQ0JRZFhKd2IzTmxJRVYyWlc1MElGQnNkV2RwYmlCVGVYTjBaVzFjYmlBcUwxeHVYRzUyWVhJZ1EwRk1URUpCUTB0ZlFrOVBTMHRGUlZCSlRrZGZVRTlQVEY5VFNWcEZJRDBnTVRBN1hHNTJZWElnWTJGc2JHSmhZMnRDYjI5cmEyVmxjR2x1WjFCdmIyd2dQU0JiWFR0Y2JseHVablZ1WTNScGIyNGdjbVZzWldGelpWUnZjRXhsZG1Wc1EyRnNiR0poWTJ0Q2IyOXJTMlZsY0dsdVp5aHBibk4wWVc1alpTa2dlMXh1SUNCcGJuTjBZVzVqWlM1MGIzQk1aWFpsYkZSNWNHVWdQU0J1ZFd4c08xeHVJQ0JwYm5OMFlXNWpaUzV1WVhScGRtVkZkbVZ1ZENBOUlHNTFiR3c3WEc0Z0lHbHVjM1JoYm1ObExuUmhjbWRsZEVsdWMzUWdQU0J1ZFd4c08xeHVJQ0JwYm5OMFlXNWpaUzVoYm1ObGMzUnZjbk11YkdWdVozUm9JRDBnTUR0Y2JseHVJQ0JwWmlBb1kyRnNiR0poWTJ0Q2IyOXJhMlZsY0dsdVoxQnZiMnd1YkdWdVozUm9JRHdnUTBGTVRFSkJRMHRmUWs5UFMwdEZSVkJKVGtkZlVFOVBURjlUU1ZwRktTQjdYRzRnSUNBZ1kyRnNiR0poWTJ0Q2IyOXJhMlZsY0dsdVoxQnZiMnd1Y0hWemFDaHBibk4wWVc1alpTazdYRzRnSUgxY2JuMGdMeThnVlhObFpDQjBieUJ6ZEc5eVpTQmhibU5sYzNSdmNpQm9hV1Z5WVhKamFIa2dhVzRnZEc5d0lHeGxkbVZzSUdOaGJHeGlZV05yWEc1Y2JseHVablZ1WTNScGIyNGdaMlYwVkc5d1RHVjJaV3hEWVd4c1ltRmphMEp2YjJ0TFpXVndhVzVuS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFzSUhSaGNtZGxkRWx1YzNRc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNcElIdGNiaUFnYVdZZ0tHTmhiR3hpWVdOclFtOXZhMnRsWlhCcGJtZFFiMjlzTG14bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCcGJuTjBZVzVqWlNBOUlHTmhiR3hpWVdOclFtOXZhMnRsWlhCcGJtZFFiMjlzTG5CdmNDZ3BPMXh1SUNBZ0lHbHVjM1JoYm1ObExuUnZjRXhsZG1Wc1ZIbHdaU0E5SUhSdmNFeGxkbVZzVkhsd1pUdGNiaUFnSUNCcGJuTjBZVzVqWlM1bGRtVnVkRk41YzNSbGJVWnNZV2R6SUQwZ1pYWmxiblJUZVhOMFpXMUdiR0ZuY3p0Y2JpQWdJQ0JwYm5OMFlXNWpaUzV1WVhScGRtVkZkbVZ1ZENBOUlHNWhkR2wyWlVWMlpXNTBPMXh1SUNBZ0lHbHVjM1JoYm1ObExuUmhjbWRsZEVsdWMzUWdQU0IwWVhKblpYUkpibk4wTzF4dUlDQWdJSEpsZEhWeWJpQnBibk4wWVc1alpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjdYRzRnSUNBZ2RHOXdUR1YyWld4VWVYQmxPaUIwYjNCTVpYWmxiRlI1Y0dVc1hHNGdJQ0FnWlhabGJuUlRlWE4wWlcxR2JHRm5jem9nWlhabGJuUlRlWE4wWlcxR2JHRm5jeXhjYmlBZ0lDQnVZWFJwZG1WRmRtVnVkRG9nYm1GMGFYWmxSWFpsYm5Rc1hHNGdJQ0FnZEdGeVoyVjBTVzV6ZERvZ2RHRnlaMlYwU1c1emRDeGNiaUFnSUNCaGJtTmxjM1J2Y25NNklGdGRYRzRnSUgwN1hHNTlYRzR2S2lwY2JpQXFJRVpwYm1RZ2RHaGxJR1JsWlhCbGMzUWdVbVZoWTNRZ1kyOXRjRzl1Wlc1MElHTnZiWEJzWlhSbGJIa2dZMjl1ZEdGcGJtbHVaeUIwYUdVZ2NtOXZkQ0J2WmlCMGFHVmNiaUFxSUhCaGMzTmxaQzFwYmlCcGJuTjBZVzVqWlNBb1ptOXlJSFZ6WlNCM2FHVnVJR1Z1ZEdseVpTQlNaV0ZqZENCMGNtVmxjeUJoY21VZ2JtVnpkR1ZrSUhkcGRHaHBiaUJsWVdOb1hHNGdLaUJ2ZEdobGNpa3VJRWxtSUZKbFlXTjBJSFJ5WldWeklHRnlaU0J1YjNRZ2JtVnpkR1ZrTENCeVpYUjFjbTV6SUc1MWJHd3VYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUJtYVc1a1VtOXZkRU52Ym5SaGFXNWxjazV2WkdVb2FXNXpkQ2tnZTF4dUlDQnBaaUFvYVc1emRDNTBZV2NnUFQwOUlFaHZjM1JTYjI5MEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdsdWMzUXVjM1JoZEdWT2IyUmxMbU52Ym5SaGFXNWxja2x1Wm04N1hHNGdJSDBnTHk4Z1ZFOUVUem9nU1hRZ2JXRjVJR0psSUdFZ1oyOXZaQ0JwWkdWaElIUnZJR05oWTJobElIUm9hWE1nZEc4Z2NISmxkbVZ1ZENCMWJtNWxZMlZ6YzJGeWVTQkVUMDFjYmlBZ0x5OGdkSEpoZG1WeWMyRnNMQ0JpZFhRZ1kyRmphR2x1WnlCcGN5QmthV1ptYVdOMWJIUWdkRzhnWkc4Z1kyOXljbVZqZEd4NUlIZHBkR2h2ZFhRZ2RYTnBibWNnWVZ4dUlDQXZMeUJ0ZFhSaGRHbHZiaUJ2WW5ObGNuWmxjaUIwYnlCc2FYTjBaVzRnWm05eUlHRnNiQ0JFVDAwZ1kyaGhibWRsY3k1Y2JseHVYRzRnSUhkb2FXeGxJQ2hwYm5OMExuSmxkSFZ5YmlrZ2UxeHVJQ0FnSUdsdWMzUWdQU0JwYm5OMExuSmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hwYm5OMExuUmhaeUFoUFQwZ1NHOXpkRkp2YjNRcElIdGNiaUFnSUNBdkx5QlVhR2x6SUdOaGJpQm9ZWEJ3Wlc0Z2FXWWdkMlVuY21VZ2FXNGdZU0JrWlhSaFkyaGxaQ0IwY21WbExseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHbHVjM1F1YzNSaGRHVk9iMlJsTG1OdmJuUmhhVzVsY2tsdVptODdYRzU5WEc0dktpcGNiaUFxSUVGc2JHOTNjeUJ5WldkcGMzUmxjbVZrSUhCc2RXZHBibk1nWVc0Z2IzQndiM0owZFc1cGRIa2dkRzhnWlhoMGNtRmpkQ0JsZG1WdWRITWdabkp2YlNCMGIzQXRiR1YyWld4Y2JpQXFJRzVoZEdsMlpTQmljbTkzYzJWeUlHVjJaVzUwY3k1Y2JpQXFYRzRnS2lCQWNtVjBkWEp1SUhzcWZTQkJiaUJoWTJOMWJYVnNZWFJwYjI0Z2IyWWdjM2x1ZEdobGRHbGpJR1YyWlc1MGN5NWNiaUFxSUVCcGJuUmxjbTVoYkZ4dUlDb3ZYRzVjYmx4dVpuVnVZM1JwYjI0Z1pYaDBjbUZqZEZCc2RXZHBia1YyWlc1MGN5aDBiM0JNWlhabGJGUjVjR1VzSUhSaGNtZGxkRWx1YzNRc0lHNWhkR2wyWlVWMlpXNTBMQ0J1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeWtnZTF4dUlDQjJZWElnWlhabGJuUnpJRDBnYm5Wc2JEdGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIQnNkV2RwYm5NdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQXZMeUJPYjNRZ1pYWmxjbmtnY0d4MVoybHVJR2x1SUhSb1pTQnZjbVJsY21sdVp5QnRZWGtnWW1VZ2JHOWhaR1ZrSUdGMElISjFiblJwYldVdVhHNGdJQ0FnZG1GeUlIQnZjM05wWW14bFVHeDFaMmx1SUQwZ2NHeDFaMmx1YzF0cFhUdGNibHh1SUNBZ0lHbG1JQ2h3YjNOemFXSnNaVkJzZFdkcGJpa2dlMXh1SUNBZ0lDQWdkbUZ5SUdWNGRISmhZM1JsWkVWMlpXNTBjeUE5SUhCdmMzTnBZbXhsVUd4MVoybHVMbVY0ZEhKaFkzUkZkbVZ1ZEhNb2RHOXdUR1YyWld4VWVYQmxMQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1pYaDBjbUZqZEdWa1JYWmxiblJ6S1NCN1hHNGdJQ0FnSUNBZ0lHVjJaVzUwY3lBOUlHRmpZM1Z0ZFd4aGRHVkpiblJ2S0dWMlpXNTBjeXdnWlhoMGNtRmpkR1ZrUlhabGJuUnpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdaWFpsYm5Sek8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCeWRXNUZlSFJ5WVdOMFpXUlFiSFZuYVc1RmRtVnVkSE5KYmtKaGRHTm9LSFJ2Y0V4bGRtVnNWSGx3WlN3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6S1NCN1hHNGdJSFpoY2lCbGRtVnVkSE1nUFNCbGVIUnlZV04wVUd4MVoybHVSWFpsYm5SektIUnZjRXhsZG1Wc1ZIbHdaU3dnZEdGeVoyVjBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBMQ0JsZG1WdWRGTjVjM1JsYlVac1lXZHpLVHRjYmlBZ2NuVnVSWFpsYm5SelNXNUNZWFJqYUNobGRtVnVkSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJvWVc1a2JHVlViM0JNWlhabGJDaGliMjlyUzJWbGNHbHVaeWtnZTF4dUlDQjJZWElnZEdGeVoyVjBTVzV6ZENBOUlHSnZiMnRMWldWd2FXNW5MblJoY21kbGRFbHVjM1E3SUM4dklFeHZiM0FnZEdoeWIzVm5hQ0IwYUdVZ2FHbGxjbUZ5WTJoNUxDQnBiaUJqWVhObElIUm9aWEpsSjNNZ1lXNTVJRzVsYzNSbFpDQmpiMjF3YjI1bGJuUnpMbHh1SUNBdkx5QkpkQ2R6SUdsdGNHOXlkR0Z1ZENCMGFHRjBJSGRsSUdKMWFXeGtJSFJvWlNCaGNuSmhlU0J2WmlCaGJtTmxjM1J2Y25NZ1ltVm1iM0psSUdOaGJHeHBibWNnWVc1NVhHNGdJQzh2SUdWMlpXNTBJR2hoYm1Sc1pYSnpMQ0JpWldOaGRYTmxJR1YyWlc1MElHaGhibVJzWlhKeklHTmhiaUJ0YjJScFpua2dkR2hsSUVSUFRTd2diR1ZoWkdsdVp5QjBiMXh1SUNBdkx5QnBibU52Ym5OcGMzUmxibU5wWlhNZ2QybDBhQ0JTWldGamRFMXZkVzUwSjNNZ2JtOWtaU0JqWVdOb1pTNGdVMlZsSUNNeE1UQTFMbHh1WEc0Z0lIWmhjaUJoYm1ObGMzUnZjaUE5SUhSaGNtZGxkRWx1YzNRN1hHNWNiaUFnWkc4Z2UxeHVJQ0FnSUdsbUlDZ2hZVzVqWlhOMGIzSXBJSHRjYmlBZ0lDQWdJSFpoY2lCaGJtTmxjM1J2Y25NZ1BTQmliMjlyUzJWbGNHbHVaeTVoYm1ObGMzUnZjbk03WEc0Z0lDQWdJQ0JoYm1ObGMzUnZjbk11Y0hWemFDaGhibU5sYzNSdmNpazdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2NtOXZkQ0E5SUdacGJtUlNiMjkwUTI5dWRHRnBibVZ5VG05a1pTaGhibU5sYzNSdmNpazdYRzVjYmlBZ0lDQnBaaUFvSVhKdmIzUXBJSHRjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQjBZV2NnUFNCaGJtTmxjM1J2Y2k1MFlXYzdYRzVjYmlBZ0lDQnBaaUFvZEdGbklEMDlQU0JJYjNOMFEyOXRjRzl1Wlc1MElIeDhJSFJoWnlBOVBUMGdTRzl6ZEZSbGVIUXBJSHRjYmlBZ0lDQWdJR0p2YjJ0TFpXVndhVzVuTG1GdVkyVnpkRzl5Y3k1d2RYTm9LR0Z1WTJWemRHOXlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhibU5sYzNSdmNpQTlJR2RsZEVOc2IzTmxjM1JKYm5OMFlXNWpaVVp5YjIxT2IyUmxLSEp2YjNRcE8xeHVJQ0I5SUhkb2FXeGxJQ2hoYm1ObGMzUnZjaWs3WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpYjI5clMyVmxjR2x1Wnk1aGJtTmxjM1J2Y25NdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQjBZWEpuWlhSSmJuTjBJRDBnWW05dmEwdGxaWEJwYm1jdVlXNWpaWE4wYjNKelcybGRPMXh1SUNBZ0lIWmhjaUJsZG1WdWRGUmhjbWRsZENBOUlHZGxkRVYyWlc1MFZHRnlaMlYwS0dKdmIydExaV1Z3YVc1bkxtNWhkR2wyWlVWMlpXNTBLVHRjYmlBZ0lDQjJZWElnZEc5d1RHVjJaV3hVZVhCbElEMGdZbTl2YTB0bFpYQnBibWN1ZEc5d1RHVjJaV3hVZVhCbE8xeHVJQ0FnSUhaaGNpQnVZWFJwZG1WRmRtVnVkQ0E5SUdKdmIydExaV1Z3YVc1bkxtNWhkR2wyWlVWMlpXNTBPMXh1SUNBZ0lIWmhjaUJsZG1WdWRGTjVjM1JsYlVac1lXZHpJRDBnWW05dmEwdGxaWEJwYm1jdVpYWmxiblJUZVhOMFpXMUdiR0ZuY3pzZ0x5OGdTV1lnZEdocGN5QnBjeUIwYUdVZ1ptbHljM1FnWVc1alpYTjBiM0lzSUhkbElHMWhjbXNnYVhRZ2IyNGdkR2hsSUhONWMzUmxiU0JtYkdGbmMxeHVYRzRnSUNBZ2FXWWdLR2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJR1YyWlc1MFUzbHpkR1Z0Um14aFozTWdmRDBnU1ZOZlJrbFNVMVJmUVU1RFJWTlVUMUk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjblZ1UlhoMGNtRmpkR1ZrVUd4MVoybHVSWFpsYm5SelNXNUNZWFJqYUNoMGIzQk1aWFpsYkZSNWNHVXNJSFJoY21kbGRFbHVjM1FzSUc1aGRHbDJaVVYyWlc1MExDQmxkbVZ1ZEZSaGNtZGxkQ3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHbHpjR0YwWTJoRmRtVnVkRVp2Y2t4bFoyRmplVkJzZFdkcGJrVjJaVzUwVTNsemRHVnRLSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z2JtRjBhWFpsUlhabGJuUXNJSFJoY21kbGRFbHVjM1FwSUh0Y2JpQWdkbUZ5SUdKdmIydExaV1Z3YVc1bklEMGdaMlYwVkc5d1RHVjJaV3hEWVd4c1ltRmphMEp2YjJ0TFpXVndhVzVuS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFzSUhSaGNtZGxkRWx1YzNRc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNcE8xeHVYRzRnSUhSeWVTQjdYRzRnSUNBZ0x5OGdSWFpsYm5RZ2NYVmxkV1VnWW1WcGJtY2djSEp2WTJWemMyVmtJR2x1SUhSb1pTQnpZVzFsSUdONVkyeGxJR0ZzYkc5M2MxeHVJQ0FnSUM4dklHQndjbVYyWlc1MFJHVm1ZWFZzZEdBdVhHNGdJQ0FnWW1GMFkyaGxaRVYyWlc1MFZYQmtZWFJsY3lob1lXNWtiR1ZVYjNCTVpYWmxiQ3dnWW05dmEwdGxaWEJwYm1jcE8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJSEpsYkdWaGMyVlViM0JNWlhabGJFTmhiR3hpWVdOclFtOXZhMHRsWlhCcGJtY29ZbTl2YTB0bFpYQnBibWNwTzF4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUZkbElHeHBjM1JsYmlCbWIzSWdZblZpWW14bFpDQjBiM1ZqYUNCbGRtVnVkSE1nYjI0Z2RHaGxJR1J2WTNWdFpXNTBJRzlpYW1WamRDNWNiaUFxWEc0Z0tpQkdhWEpsWm05NElIWTRMakF4SUNoaGJtUWdjRzl6YzJsaWJIa2diM1JvWlhKektTQmxlR2hwWW1sMFpXUWdjM1J5WVc1blpTQmlaV2hoZG1sdmNpQjNhR1Z1WEc0Z0tpQnRiM1Z1ZEdsdVp5QmdiMjV0YjNWelpXMXZkbVZnSUdWMlpXNTBjeUJoZENCemIyMWxJRzV2WkdVZ2RHaGhkQ0IzWVhNZ2JtOTBJSFJvWlNCa2IyTjFiV1Z1ZEZ4dUlDb2daV3hsYldWdWRDNGdWR2hsSUhONWJYQjBiMjF6SUhkbGNtVWdkR2hoZENCcFppQjViM1Z5SUcxdmRYTmxJR2x6SUc1dmRDQnRiM1pwYm1jZ2IzWmxjaUJ6YjIxbGRHaHBibWRjYmlBcUlHTnZiblJoYVc1bFpDQjNhWFJvYVc0Z2RHaGhkQ0J0YjNWdWRDQndiMmx1ZENBb1ptOXlJR1Y0WVcxd2JHVWdiMjRnZEdobElHSmhZMnRuY205MWJtUXBJSFJvWlZ4dUlDb2dkRzl3TFd4bGRtVnNJR3hwYzNSbGJtVnljeUJtYjNJZ1lHOXViVzkxYzJWdGIzWmxZQ0IzYjI0bmRDQmlaU0JqWVd4c1pXUXVJRWh2ZDJWMlpYSXNJR2xtSUhsdmRWeHVJQ29nY21WbmFYTjBaWElnZEdobElHQnRiM1Z6WlcxdmRtVmdJRzl1SUhSb1pTQmtiMk4xYldWdWRDQnZZbXBsWTNRc0lIUm9aVzRnYVhRZ2QybHNiQ0J2WmlCamIzVnljMlZjYmlBcUlHTmhkR05vSUdGc2JDQmdiVzkxYzJWdGIzWmxZSE11SUZSb2FYTWdZV3h2Ym1jZ2QybDBhQ0JwVDFNZ2NYVnBjbXR6TENCcWRYTjBhV1pwWlhNZ2NtVnpkSEpwWTNScGJtZGNiaUFxSUhSdmNDMXNaWFpsYkNCc2FYTjBaVzVsY25NZ2RHOGdkR2hsSUdSdlkzVnRaVzUwSUc5aWFtVmpkQ0J2Ym14NUxDQmhkQ0JzWldGemRDQm1iM0lnZEdobGMyVmNiaUFxSUcxdmRtVnRaVzUwSUhSNWNHVnpJRzltSUdWMlpXNTBjeUJoYm1RZ2NHOXpjMmxpYkhrZ1lXeHNJR1YyWlc1MGN5NWNiaUFxWEc0Z0tpQkFjMlZsSUdoMGRIQTZMeTkzZDNjdWNYVnBjbXR6Ylc5a1pTNXZjbWN2WW14dlp5OWhjbU5vYVhabGN5OHlNREV3THpBNUwyTnNhV05yWDJWMlpXNTBYMlJsYkM1b2RHMXNYRzRnS2x4dUlDb2dRV3h6Ynl3Z1lHdGxlWFZ3WUM5Z2EyVjVjSEpsYzNOZ0wyQnJaWGxrYjNkdVlDQmtieUJ1YjNRZ1luVmlZbXhsSUhSdklIUm9aU0IzYVc1a2IzY2diMjRnU1VVc0lHSjFkRnh1SUNvZ2RHaGxlU0JpZFdKaWJHVWdkRzhnWkc5amRXMWxiblF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSEpsWjJsemRISmhkR2x2Yms1aGJXVWdUbUZ0WlNCdlppQnNhWE4wWlc1bGNpQW9aUzVuTGlCZ2IyNURiR2xqYTJBcExseHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJRzF2ZFc1MFFYUWdRMjl1ZEdGcGJtVnlJSGRvWlhKbElIUnZJRzF2ZFc1MElIUm9aU0JzYVhOMFpXNWxjbHh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR3hsWjJGamVVeHBjM1JsYmxSdlJYWmxiblFvY21WbmFYTjBjbUYwYVc5dVRtRnRaU3dnYlc5MWJuUkJkQ2tnZTF4dUlDQjJZWElnYkdsemRHVnVaWEpOWVhBZ1BTQm5aWFJNYVhOMFpXNWxjazFoY0VadmNrVnNaVzFsYm5Rb2JXOTFiblJCZENrN1hHNGdJSFpoY2lCa1pYQmxibVJsYm1OcFpYTWdQU0J5WldkcGMzUnlZWFJwYjI1T1lXMWxSR1Z3Wlc1a1pXNWphV1Z6VzNKbFoybHpkSEpoZEdsdmJrNWhiV1ZkTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWkdWd1pXNWtaVzVqYVdWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUdSbGNHVnVaR1Z1WTNrZ1BTQmtaWEJsYm1SbGJtTnBaWE5iYVYwN1hHNGdJQ0FnYkdWbllXTjVUR2x6ZEdWdVZHOVViM0JNWlhabGJFVjJaVzUwS0dSbGNHVnVaR1Z1WTNrc0lHMXZkVzUwUVhRc0lHeHBjM1JsYm1WeVRXRndLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYkdWbllXTjVUR2x6ZEdWdVZHOVViM0JNWlhabGJFVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2diVzkxYm5SQmRDd2diR2x6ZEdWdVpYSk5ZWEFwSUh0Y2JpQWdhV1lnS0NGc2FYTjBaVzVsY2sxaGNDNW9ZWE1vZEc5d1RHVjJaV3hVZVhCbEtTa2dlMXh1SUNBZ0lITjNhWFJqYUNBb2RHOXdUR1YyWld4VWVYQmxLU0I3WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlUUTFKUFRFdzZYRzRnSUNBZ0lDQWdJSFJ5WVhCRFlYQjBkWEpsWkVWMlpXNTBLRlJQVUY5VFExSlBURXdzSUcxdmRXNTBRWFFwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUms5RFZWTTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUNURlZTT2x4dUlDQWdJQ0FnSUNCMGNtRndRMkZ3ZEhWeVpXUkZkbVZ1ZENoVVQxQmZSazlEVlZNc0lHMXZkVzUwUVhRcE8xeHVJQ0FnSUNBZ0lDQjBjbUZ3UTJGd2RIVnlaV1JGZG1WdWRDaFVUMUJmUWt4VlVpd2diVzkxYm5SQmRDazdJQzh2SUZkbElITmxkQ0IwYUdVZ1pteGhaeUJtYjNJZ1lTQnphVzVuYkdVZ1pHVndaVzVrWlc1amVTQnNZWFJsY2lCcGJpQjBhR2x6SUdaMWJtTjBhVzl1TEZ4dUlDQWdJQ0FnSUNBdkx5QmlkWFFnZEdocGN5Qmxibk4xY21WeklIZGxJRzFoY21zZ1ltOTBhQ0JoY3lCaGRIUmhZMmhsWkNCeVlYUm9aWElnZEdoaGJpQnFkWE4wSUc5dVpTNWNibHh1SUNBZ0lDQWdJQ0JzYVhOMFpXNWxjazFoY0M1elpYUW9WRTlRWDBKTVZWSXNJRzUxYkd3cE8xeHVJQ0FnSUNBZ0lDQnNhWE4wWlc1bGNrMWhjQzV6WlhRb1ZFOVFYMFpQUTFWVExDQnVkV3hzS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBOQlRrTkZURHBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYME5NVDFORk9seHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmRtVnVkRk4xY0hCdmNuUmxaQ2huWlhSU1lYZEZkbVZ1ZEU1aGJXVW9kRzl3VEdWMlpXeFVlWEJsS1NrcElIdGNiaUFnSUNBZ0lDQWdJQ0IwY21Gd1EyRndkSFZ5WldSRmRtVnVkQ2gwYjNCTVpYWmxiRlI1Y0dVc0lHMXZkVzUwUVhRcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMGxPVmtGTVNVUTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOVRWVUpOU1ZRNlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5U1JWTkZWRHBjYmlBZ0lDQWdJQ0FnTHk4Z1YyVWdiR2x6ZEdWdUlIUnZJSFJvWlcwZ2IyNGdkR2hsSUhSaGNtZGxkQ0JFVDAwZ1pXeGxiV1Z1ZEhNdVhHNGdJQ0FnSUNBZ0lDOHZJRk52YldVZ2IyWWdkR2hsYlNCaWRXSmliR1VnYzI4Z2QyVWdaRzl1SjNRZ2QyRnVkQ0IwYUdWdElIUnZJR1pwY21VZ2RIZHBZMlV1WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0F2THlCQ2VTQmtaV1poZFd4MExDQnNhWE4wWlc0Z2IyNGdkR2hsSUhSdmNDQnNaWFpsYkNCMGJ5QmhiR3dnYm05dUxXMWxaR2xoSUdWMlpXNTBjeTVjYmlBZ0lDQWdJQ0FnTHk4Z1RXVmthV0VnWlhabGJuUnpJR1J2YmlkMElHSjFZbUpzWlNCemJ5QmhaR1JwYm1jZ2RHaGxJR3hwYzNSbGJtVnlJSGR2ZFd4a2JpZDBJR1J2SUdGdWVYUm9hVzVuTGx4dUlDQWdJQ0FnSUNCMllYSWdhWE5OWldScFlVVjJaVzUwSUQwZ2JXVmthV0ZGZG1WdWRGUjVjR1Z6TG1sdVpHVjRUMllvZEc5d1RHVjJaV3hVZVhCbEtTQWhQVDBnTFRFN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGcGMwMWxaR2xoUlhabGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2diVzkxYm5SQmRDazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnNhWE4wWlc1bGNrMWhjQzV6WlhRb2RHOXdUR1YyWld4VWVYQmxMQ0J1ZFd4c0tUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdhWE5NYVhOMFpXNXBibWRVYjBGc2JFUmxjR1Z1WkdWdVkybGxjeWh5WldkcGMzUnlZWFJwYjI1T1lXMWxMQ0J0YjNWdWRFRjBLU0I3WEc0Z0lIWmhjaUJzYVhOMFpXNWxjazFoY0NBOUlHZGxkRXhwYzNSbGJtVnlUV0Z3Um05eVJXeGxiV1Z1ZENodGIzVnVkRUYwS1R0Y2JpQWdkbUZ5SUdSbGNHVnVaR1Z1WTJsbGN5QTlJSEpsWjJsemRISmhkR2x2Yms1aGJXVkVaWEJsYm1SbGJtTnBaWE5iY21WbmFYTjBjbUYwYVc5dVRtRnRaVjA3WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JrWlhCbGJtUmxibU5wWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQjJZWElnWkdWd1pXNWtaVzVqZVNBOUlHUmxjR1Z1WkdWdVkybGxjMXRwWFR0Y2JseHVJQ0FnSUdsbUlDZ2hiR2x6ZEdWdVpYSk5ZWEF1YUdGektHUmxjR1Z1WkdWdVkza3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5WEc1Y2JuWmhjaUJoZEhSbGJYQjBWWE5sY2tKc2IyTnJhVzVuU0hsa2NtRjBhVzl1TzF4dVpuVnVZM1JwYjI0Z2MyVjBRWFIwWlcxd2RGVnpaWEpDYkc5amEybHVaMGg1WkhKaGRHbHZiaWhtYmlrZ2UxeHVJQ0JoZEhSbGJYQjBWWE5sY2tKc2IyTnJhVzVuU0hsa2NtRjBhVzl1SUQwZ1ptNDdYRzU5WEc1MllYSWdZWFIwWlcxd2RFTnZiblJwYm5WdmRYTkllV1J5WVhScGIyNDdYRzVtZFc1amRHbHZiaUJ6WlhSQmRIUmxiWEIwUTI5dWRHbHVkVzkxYzBoNVpISmhkR2x2YmlobWJpa2dlMXh1SUNCaGRIUmxiWEIwUTI5dWRHbHVkVzkxYzBoNVpISmhkR2x2YmlBOUlHWnVPMXh1ZlZ4dWRtRnlJR0YwZEdWdGNIUkllV1J5WVhScGIyNUJkRU4xY25KbGJuUlFjbWx2Y21sMGVUdGNibVoxYm1OMGFXOXVJSE5sZEVGMGRHVnRjSFJJZVdSeVlYUnBiMjVCZEVOMWNuSmxiblJRY21sdmNtbDBlU2htYmlrZ2UxeHVJQ0JoZEhSbGJYQjBTSGxrY21GMGFXOXVRWFJEZFhKeVpXNTBVSEpwYjNKcGRIa2dQU0JtYmp0Y2JuMGdMeThnVkU5RVR6b2dWWEJuY21Ga1pTQjBhR2x6SUdSbFptbHVhWFJwYjI0Z2IyNWpaU0IzWlNkeVpTQnZiaUJoSUc1bGQyVnlJSFpsY25OcGIyNGdiMllnUm14dmR5QjBhR0YwWEc1MllYSWdhR0Z6VTJOb1pXUjFiR1ZrVW1Wd2JHRjVRWFIwWlcxd2RDQTlJR1poYkhObE95QXZMeUJVYUdVZ2NYVmxkV1VnYjJZZ1pHbHpZM0psZEdVZ1pYWmxiblJ6SUhSdklHSmxJSEpsY0d4aGVXVmtMbHh1WEc1MllYSWdjWFZsZFdWa1JHbHpZM0psZEdWRmRtVnVkSE1nUFNCYlhUc2dMeThnU1c1a2FXTmhkR1Z6SUdsbUlHRnVlU0JqYjI1MGFXNTFiM1Z6SUdWMlpXNTBJSFJoY21kbGRITWdZWEpsSUc1dmJpMXVkV3hzSUdadmNpQmxZWEpzZVNCaVlXbHNiM1YwTGx4dUx5OGdhV1lnZEdobElHeGhjM1FnZEdGeVoyVjBJSGRoY3lCa1pXaDVaSEpoZEdWa0xseHVYRzUyWVhJZ2NYVmxkV1ZrUm05amRYTWdQU0J1ZFd4c08xeHVkbUZ5SUhGMVpYVmxaRVJ5WVdjZ1BTQnVkV3hzTzF4dWRtRnlJSEYxWlhWbFpFMXZkWE5sSUQwZ2JuVnNiRHNnTHk4Z1JtOXlJSEJ2YVc1MFpYSWdaWFpsYm5SeklIUm9aWEpsSUdOaGJpQmlaU0J2Ym1VZ2JHRjBaWE4wSUdWMlpXNTBJSEJsY2lCd2IybHVkR1Z5U1dRdVhHNWNiblpoY2lCeGRXVjFaV1JRYjJsdWRHVnljeUE5SUc1bGR5Qk5ZWEFvS1R0Y2JuWmhjaUJ4ZFdWMVpXUlFiMmx1ZEdWeVEyRndkSFZ5WlhNZ1BTQnVaWGNnVFdGd0tDazdJQzh2SUZkbElHTnZkV3hrSUdOdmJuTnBaR1Z5SUhKbGNHeGhlV2x1WnlCelpXeGxZM1JwYjI1amFHRnVaMlVnWVc1a0lIUnZkV05vYlc5MlpYTWdkRzl2TGx4dVhHNTJZWElnY1hWbGRXVmtSWGh3YkdsamFYUkllV1J5WVhScGIyNVVZWEpuWlhSeklEMGdXMTA3WEc1bWRXNWpkR2x2YmlCb1lYTlJkV1YxWldSRWFYTmpjbVYwWlVWMlpXNTBjeWdwSUh0Y2JpQWdjbVYwZFhKdUlIRjFaWFZsWkVScGMyTnlaWFJsUlhabGJuUnpMbXhsYm1kMGFDQStJREE3WEc1OVhHNTJZWElnWkdselkzSmxkR1ZTWlhCc1lYbGhZbXhsUlhabGJuUnpJRDBnVzFSUFVGOU5UMVZUUlY5RVQxZE9MQ0JVVDFCZlRVOVZVMFZmVlZBc0lGUlBVRjlVVDFWRFNGOURRVTVEUlV3c0lGUlBVRjlVVDFWRFNGOUZUa1FzSUZSUFVGOVVUMVZEU0Y5VFZFRlNWQ3dnVkU5UVgwRlZXRjlEVEVsRFN5d2dWRTlRWDBSUFZVSk1SVjlEVEVsRFN5d2dWRTlRWDFCUFNVNVVSVkpmUTBGT1EwVk1MQ0JVVDFCZlVFOUpUbFJGVWw5RVQxZE9MQ0JVVDFCZlVFOUpUbFJGVWw5VlVDd2dWRTlRWDBSU1FVZGZSVTVFTENCVVQxQmZSRkpCUjE5VFZFRlNWQ3dnVkU5UVgwUlNUMUFzSUZSUFVGOURUMDFRVDFOSlZFbFBUbDlGVGtRc0lGUlBVRjlEVDAxUVQxTkpWRWxQVGw5VFZFRlNWQ3dnVkU5UVgwdEZXVjlFVDFkT0xDQlVUMUJmUzBWWlgxQlNSVk5UTENCVVQxQmZTMFZaWDFWUUxDQlVUMUJmU1U1UVZWUXNJRlJQVUY5VVJWaFVYMGxPVUZWVUxDQlVUMUJmUTB4UFUwVXNJRlJQVUY5RFFVNURSVXdzSUZSUFVGOURUMUJaTENCVVQxQmZRMVZVTENCVVQxQmZVRUZUVkVVc0lGUlBVRjlEVEVsRFN5d2dWRTlRWDBOSVFVNUhSU3dnVkU5UVgwTlBUbFJGV0ZSZlRVVk9WU3dnVkU5UVgxSkZVMFZVTENCVVQxQmZVMVZDVFVsVVhUdGNiblpoY2lCamIyNTBhVzUxYjNWelVtVndiR0Y1WVdKc1pVVjJaVzUwY3lBOUlGdFVUMUJmUms5RFZWTXNJRlJQVUY5Q1RGVlNMQ0JVVDFCZlJGSkJSMTlGVGxSRlVpd2dWRTlRWDBSU1FVZGZURVZCVmtVc0lGUlBVRjlOVDFWVFJWOVBWa1ZTTENCVVQxQmZUVTlWVTBWZlQxVlVMQ0JVVDFCZlVFOUpUbFJGVWw5UFZrVlNMQ0JVVDFCZlVFOUpUbFJGVWw5UFZWUXNJRlJQVUY5SFQxUmZVRTlKVGxSRlVsOURRVkJVVlZKRkxDQlVUMUJmVEU5VFZGOVFUMGxPVkVWU1gwTkJVRlJWVWtWZE8xeHVablZ1WTNScGIyNGdhWE5TWlhCc1lYbGhZbXhsUkdselkzSmxkR1ZGZG1WdWRDaGxkbVZ1ZEZSNWNHVXBJSHRjYmlBZ2NtVjBkWEp1SUdScGMyTnlaWFJsVW1Wd2JHRjVZV0pzWlVWMlpXNTBjeTVwYm1SbGVFOW1LR1YyWlc1MFZIbHdaU2tnUGlBdE1UdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RISmhjRkpsY0d4aGVXRmliR1ZGZG1WdWRFWnZja1J2WTNWdFpXNTBLSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pHOWpkVzFsYm5Rc0lHeHBjM1JsYm1WeVRXRndLU0I3WEc0Z0lHeGxaMkZqZVV4cGMzUmxibFJ2Vkc5d1RHVjJaV3hGZG1WdWRDaDBiM0JNWlhabGJGUjVjR1VzSUdSdlkzVnRaVzUwTENCc2FYTjBaVzVsY2sxaGNDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVmhaMlZ5YkhsVWNtRndVbVZ3YkdGNVlXSnNaVVYyWlc1MGN5aGpiMjUwWVdsdVpYSXNJR1J2WTNWdFpXNTBLU0I3WEc0Z0lIWmhjaUJzYVhOMFpXNWxjazFoY0VadmNrUnZZeUE5SUdkbGRFeHBjM1JsYm1WeVRXRndSbTl5Uld4bGJXVnVkQ2hrYjJOMWJXVnVkQ2s3SUM4dklFUnBjMk55WlhSbFhHNWNiaUFnWkdselkzSmxkR1ZTWlhCc1lYbGhZbXhsUlhabGJuUnpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSFJ2Y0V4bGRtVnNWSGx3WlNrZ2UxeHVJQ0FnSUhSeVlYQlNaWEJzWVhsaFlteGxSWFpsYm5SR2IzSkViMk4xYldWdWRDaDBiM0JNWlhabGJGUjVjR1VzSUdSdlkzVnRaVzUwTENCc2FYTjBaVzVsY2sxaGNFWnZja1J2WXlrN1hHNGdJSDBwT3lBdkx5QkRiMjUwYVc1MWIzVnpYRzVjYmlBZ1kyOXVkR2x1ZFc5MWMxSmxjR3hoZVdGaWJHVkZkbVZ1ZEhNdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb2RHOXdUR1YyWld4VWVYQmxLU0I3WEc0Z0lDQWdkSEpoY0ZKbGNHeGhlV0ZpYkdWRmRtVnVkRVp2Y2tSdlkzVnRaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2daRzlqZFcxbGJuUXNJR3hwYzNSbGJtVnlUV0Z3Um05eVJHOWpLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnlaV0YwWlZGMVpYVmxaRkpsY0d4aGVXRmliR1ZGZG1WdWRDaGliRzlqYTJWa1QyNHNJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z1kyOXVkR0ZwYm1WeUxDQnVZWFJwZG1WRmRtVnVkQ2tnZTF4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUdKc2IyTnJaV1JQYmpvZ1lteHZZMnRsWkU5dUxGeHVJQ0FnSUhSdmNFeGxkbVZzVkhsd1pUb2dkRzl3VEdWMlpXeFVlWEJsTEZ4dUlDQWdJR1YyWlc1MFUzbHpkR1Z0Um14aFozTTZJR1YyWlc1MFUzbHpkR1Z0Um14aFozTWdmQ0JKVTE5U1JWQk1RVmxGUkN4Y2JpQWdJQ0J1WVhScGRtVkZkbVZ1ZERvZ2JtRjBhWFpsUlhabGJuUXNYRzRnSUNBZ1kyOXVkR0ZwYm1WeU9pQmpiMjUwWVdsdVpYSmNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY1hWbGRXVkVhWE5qY21WMFpVVjJaVzUwS0dKc2IyTnJaV1JQYml3Z2RHOXdUR1YyWld4VWVYQmxMQ0JsZG1WdWRGTjVjM1JsYlVac1lXZHpMQ0JqYjI1MFlXbHVaWElzSUc1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUhaaGNpQnhkV1YxWldSRmRtVnVkQ0E5SUdOeVpXRjBaVkYxWlhWbFpGSmxjR3hoZVdGaWJHVkZkbVZ1ZENoaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDazdYRzRnSUhGMVpYVmxaRVJwYzJOeVpYUmxSWFpsYm5SekxuQjFjMmdvY1hWbGRXVmtSWFpsYm5RcE8xeHVmU0F2THlCU1pYTmxkSE1nZEdobElISmxjR3hoZVdsdVp5Qm1iM0lnZEdocGN5QjBlWEJsSUc5bUlHTnZiblJwYm5WdmRYTWdaWFpsYm5RZ2RHOGdibThnWlhabGJuUXVYRzVjYm1aMWJtTjBhVzl1SUdOc1pXRnlTV1pEYjI1MGFXNTFiM1Z6UlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNCemQybDBZMmdnS0hSdmNFeGxkbVZzVkhsd1pTa2dlMXh1SUNBZ0lHTmhjMlVnVkU5UVgwWlBRMVZUT2x4dUlDQWdJR05oYzJVZ1ZFOVFYMEpNVlZJNlhHNGdJQ0FnSUNCeGRXVjFaV1JHYjJOMWN5QTlJRzUxYkd3N1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR05oYzJVZ1ZFOVFYMFJTUVVkZlJVNVVSVkk2WEc0Z0lDQWdZMkZ6WlNCVVQxQmZSRkpCUjE5TVJVRldSVHBjYmlBZ0lDQWdJSEYxWlhWbFpFUnlZV2NnUFNCdWRXeHNPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJRlJQVUY5TlQxVlRSVjlQVmtWU09seHVJQ0FnSUdOaGMyVWdWRTlRWDAxUFZWTkZYMDlWVkRwY2JpQWdJQ0FnSUhGMVpYVmxaRTF2ZFhObElEMGdiblZzYkR0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNCVVQxQmZVRTlKVGxSRlVsOVBWa1ZTT2x4dUlDQWdJR05oYzJVZ1ZFOVFYMUJQU1U1VVJWSmZUMVZVT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdjRzlwYm5SbGNrbGtJRDBnYm1GMGFYWmxSWFpsYm5RdWNHOXBiblJsY2tsa08xeHVJQ0FnSUNBZ0lDQnhkV1YxWldSUWIybHVkR1Z5Y3k1a1pXeGxkR1VvY0c5cGJuUmxja2xrS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElGUlBVRjlIVDFSZlVFOUpUbFJGVWw5RFFWQlVWVkpGT2x4dUlDQWdJR05oYzJVZ1ZFOVFYMHhQVTFSZlVFOUpUbFJGVWw5RFFWQlVWVkpGT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM0J2YVc1MFpYSkpaQ0E5SUc1aGRHbDJaVVYyWlc1MExuQnZhVzUwWlhKSlpEdGNiaUFnSUNBZ0lDQWdjWFZsZFdWa1VHOXBiblJsY2tOaGNIUjFjbVZ6TG1SbGJHVjBaU2hmY0c5cGJuUmxja2xrS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1lXTmpkVzExYkdGMFpVOXlRM0psWVhSbFEyOXVkR2x1ZFc5MWMxRjFaWFZsWkZKbGNHeGhlV0ZpYkdWRmRtVnVkQ2hsZUdsemRHbHVaMUYxWlhWbFpFVjJaVzUwTENCaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNCcFppQW9aWGhwYzNScGJtZFJkV1YxWldSRmRtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCbGVHbHpkR2x1WjFGMVpYVmxaRVYyWlc1MExtNWhkR2wyWlVWMlpXNTBJQ0U5UFNCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNBZ0lIWmhjaUJ4ZFdWMVpXUkZkbVZ1ZENBOUlHTnlaV0YwWlZGMVpYVmxaRkpsY0d4aGVXRmliR1ZGZG1WdWRDaGliRzlqYTJWa1QyNHNJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z1kyOXVkR0ZwYm1WeUxDQnVZWFJwZG1WRmRtVnVkQ2s3WEc1Y2JpQWdJQ0JwWmlBb1lteHZZMnRsWkU5dUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWDJacFltVnlNaUE5SUdkbGRFbHVjM1JoYm1ObFJuSnZiVTV2WkdVa01TaGliRzlqYTJWa1QyNHBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1gyWnBZbVZ5TWlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJCZEhSbGJYQjBJSFJ2SUdsdVkzSmxZWE5sSUhSb1pTQndjbWx2Y21sMGVTQnZaaUIwYUdseklIUmhjbWRsZEM1Y2JpQWdJQ0FnSUNBZ1lYUjBaVzF3ZEVOdmJuUnBiblZ2ZFhOSWVXUnlZWFJwYjI0b1gyWnBZbVZ5TWlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEYxWlhWbFpFVjJaVzUwTzF4dUlDQjlJQzh2SUVsbUlIZGxJR2hoZG1VZ1lXeHlaV0ZrZVNCeGRXVjFaV1FnZEdocGN5QmxlR0ZqZENCbGRtVnVkQ3dnZEdobGJpQnBkQ2R6SUdKbFkyRjFjMlZjYmlBZ0x5OGdkR2hsSUdScFptWmxjbVZ1ZENCbGRtVnVkQ0J6ZVhOMFpXMXpJR2hoZG1VZ1pHbG1abVZ5Wlc1MElFUlBUU0JsZG1WdWRDQnNhWE4wWlc1bGNuTXVYRzRnSUM4dklGZGxJR05oYmlCaFkyTjFiWFZzWVhSbElIUm9aU0JtYkdGbmN5QmhibVFnYzNSdmNtVWdZU0J6YVc1bmJHVWdaWFpsYm5RZ2RHOGdZbVZjYmlBZ0x5OGdjbVZ3YkdGNVpXUXVYRzVjYmx4dUlDQmxlR2x6ZEdsdVoxRjFaWFZsWkVWMlpXNTBMbVYyWlc1MFUzbHpkR1Z0Um14aFozTWdmRDBnWlhabGJuUlRlWE4wWlcxR2JHRm5jenRjYmlBZ2NtVjBkWEp1SUdWNGFYTjBhVzVuVVhWbGRXVmtSWFpsYm5RN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhGMVpYVmxTV1pEYjI1MGFXNTFiM1Z6UlhabGJuUW9ZbXh2WTJ0bFpFOXVMQ0IwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHTnZiblJoYVc1bGNpd2dibUYwYVhabFJYWmxiblFwSUh0Y2JpQWdMeThnVkdobGMyVWdjMlYwSUhKbGJHRjBaV1JVWVhKblpYUWdkRzhnYm5Wc2JDQmlaV05oZFhObElIUm9aU0J5WlhCc1lYbGxaQ0JsZG1WdWRDQjNhV3hzSUdKbElIUnlaV0YwWldRZ1lYTWdhV1lnZDJWY2JpQWdMeThnYlc5MlpXUWdabkp2YlNCdmRYUnphV1JsSUhSb1pTQjNhVzVrYjNjZ0tHNXZJSFJoY21kbGRDa2diMjUwYnlCMGFHVWdkR0Z5WjJWMElHOXVZMlVnYVhRZ2FIbGtjbUYwWlhNdVhHNGdJQzh2SUVsdWMzUmxZV1FnYjJZZ2JYVjBZWFJwYm1jZ2QyVWdZMjkxYkdRZ1kyeHZibVVnZEdobElHVjJaVzUwTGx4dUlDQnpkMmwwWTJnZ0tIUnZjRXhsZG1Wc1ZIbHdaU2tnZTF4dUlDQWdJR05oYzJVZ1ZFOVFYMFpQUTFWVE9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWm05amRYTkZkbVZ1ZENBOUlHNWhkR2wyWlVWMlpXNTBPMXh1SUNBZ0lDQWdJQ0J4ZFdWMVpXUkdiMk4xY3lBOUlHRmpZM1Z0ZFd4aGRHVlBja055WldGMFpVTnZiblJwYm5WdmRYTlJkV1YxWldSU1pYQnNZWGxoWW14bFJYWmxiblFvY1hWbGRXVmtSbTlqZFhNc0lHSnNiMk5yWldSUGJpd2dkRzl3VEdWMlpXeFVlWEJsTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6TENCamIyNTBZV2x1WlhJc0lHWnZZM1Z6UlhabGJuUXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdWRTlRWDBSU1FVZGZSVTVVUlZJNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJrY21GblJYWmxiblFnUFNCdVlYUnBkbVZGZG1WdWREdGNiaUFnSUNBZ0lDQWdjWFZsZFdWa1JISmhaeUE5SUdGalkzVnRkV3hoZEdWUGNrTnlaV0YwWlVOdmJuUnBiblZ2ZFhOUmRXVjFaV1JTWlhCc1lYbGhZbXhsUlhabGJuUW9jWFZsZFdWa1JISmhaeXdnWW14dlkydGxaRTl1TENCMGIzQk1aWFpsYkZSNWNHVXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXNJR052Ym5SaGFXNWxjaXdnWkhKaFowVjJaVzUwS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUZSUFVGOU5UMVZUUlY5UFZrVlNPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2JXOTFjMlZGZG1WdWRDQTlJRzVoZEdsMlpVVjJaVzUwTzF4dUlDQWdJQ0FnSUNCeGRXVjFaV1JOYjNWelpTQTlJR0ZqWTNWdGRXeGhkR1ZQY2tOeVpXRjBaVU52Ym5ScGJuVnZkWE5SZFdWMVpXUlNaWEJzWVhsaFlteGxSWFpsYm5Rb2NYVmxkV1ZrVFc5MWMyVXNJR0pzYjJOclpXUlBiaXdnZEc5d1RHVjJaV3hVZVhCbExDQmxkbVZ1ZEZONWMzUmxiVVpzWVdkekxDQmpiMjUwWVdsdVpYSXNJRzF2ZFhObFJYWmxiblFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnVkU5UVgxQlBTVTVVUlZKZlQxWkZVanBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlIQnZhVzUwWlhKRmRtVnVkQ0E5SUc1aGRHbDJaVVYyWlc1ME8xeHVJQ0FnSUNBZ0lDQjJZWElnY0c5cGJuUmxja2xrSUQwZ2NHOXBiblJsY2tWMlpXNTBMbkJ2YVc1MFpYSkpaRHRjYmlBZ0lDQWdJQ0FnY1hWbGRXVmtVRzlwYm5SbGNuTXVjMlYwS0hCdmFXNTBaWEpKWkN3Z1lXTmpkVzExYkdGMFpVOXlRM0psWVhSbFEyOXVkR2x1ZFc5MWMxRjFaWFZsWkZKbGNHeGhlV0ZpYkdWRmRtVnVkQ2h4ZFdWMVpXUlFiMmx1ZEdWeWN5NW5aWFFvY0c5cGJuUmxja2xrS1NCOGZDQnVkV3hzTENCaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCd2IybHVkR1Z5UlhabGJuUXBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNCallYTmxJRlJQVUY5SFQxUmZVRTlKVGxSRlVsOURRVkJVVlZKRk9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWDNCdmFXNTBaWEpGZG1WdWRDQTlJRzVoZEdsMlpVVjJaVzUwTzF4dUlDQWdJQ0FnSUNCMllYSWdYM0J2YVc1MFpYSkpaRElnUFNCZmNHOXBiblJsY2tWMlpXNTBMbkJ2YVc1MFpYSkpaRHRjYmlBZ0lDQWdJQ0FnY1hWbGRXVmtVRzlwYm5SbGNrTmhjSFIxY21WekxuTmxkQ2hmY0c5cGJuUmxja2xrTWl3Z1lXTmpkVzExYkdGMFpVOXlRM0psWVhSbFEyOXVkR2x1ZFc5MWMxRjFaWFZsWkZKbGNHeGhlV0ZpYkdWRmRtVnVkQ2h4ZFdWMVpXUlFiMmx1ZEdWeVEyRndkSFZ5WlhNdVoyVjBLRjl3YjJsdWRHVnlTV1F5S1NCOGZDQnVkV3hzTENCaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCZmNHOXBiblJsY2tWMlpXNTBLU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZTQXZMeUJEYUdWamF5QnBaaUIwYUdseklIUmhjbWRsZENCcGN5QjFibUpzYjJOclpXUXVJRkpsZEhWeWJuTWdkSEoxWlNCcFppQnBkQ2R6SUhWdVlteHZZMnRsWkM1Y2JseHVablZ1WTNScGIyNGdZWFIwWlcxd2RFVjRjR3hwWTJsMFNIbGtjbUYwYVc5dVZHRnlaMlYwS0hGMVpYVmxaRlJoY21kbGRDa2dlMXh1SUNBdkx5QlVUMFJQT2lCVWFHbHpJR1oxYm1OMGFXOXVJSE5vWVhKbGN5QmhJR3h2ZENCdlppQnNiMmRwWXlCM2FYUm9JR0YwZEdWdGNIUlViMFJwYzNCaGRHTm9SWFpsYm5RdVhHNGdJQzh2SUZSeWVTQjBieUIxYm1sbWVTQjBhR1Z0TGlCSmRDZHpJR0VnWW1sMElIUnlhV05yZVNCemFXNWpaU0JwZENCM2IzVnNaQ0J5WlhGMWFYSmxJSFIzYnlCeVpYUjFjbTVjYmlBZ0x5OGdkbUZzZFdWekxseHVJQ0IyWVhJZ2RHRnlaMlYwU1c1emRDQTlJR2RsZEVOc2IzTmxjM1JKYm5OMFlXNWpaVVp5YjIxT2IyUmxLSEYxWlhWbFpGUmhjbWRsZEM1MFlYSm5aWFFwTzF4dVhHNGdJR2xtSUNoMFlYSm5aWFJKYm5OMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJRzVsWVhKbGMzUk5iM1Z1ZEdWa0lEMGdaMlYwVG1WaGNtVnpkRTF2ZFc1MFpXUkdhV0psY2loMFlYSm5aWFJKYm5OMEtUdGNibHh1SUNBZ0lHbG1JQ2h1WldGeVpYTjBUVzkxYm5SbFpDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhSaFp5QTlJRzVsWVhKbGMzUk5iM1Z1ZEdWa0xuUmhaenRjYmx4dUlDQWdJQ0FnYVdZZ0tIUmhaeUE5UFQwZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdsdWMzUmhibU5sSUQwZ1oyVjBVM1Z6Y0dWdWMyVkpibk4wWVc1alpVWnliMjFHYVdKbGNpaHVaV0Z5WlhOMFRXOTFiblJsWkNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dsdWMzUmhibU5sSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVjJVbmNtVWdZbXh2WTJ0bFpDQnZiaUJvZVdSeVlYUnBibWNnZEdocGN5QmliM1Z1WkdGeWVTNWNiaUFnSUNBZ0lDQWdJQ0F2THlCSmJtTnlaV0Z6WlNCcGRITWdjSEpwYjNKcGRIa3VYRzRnSUNBZ0lDQWdJQ0FnY1hWbGRXVmtWR0Z5WjJWMExtSnNiMk5yWldSUGJpQTlJR2x1YzNSaGJtTmxPMXh1SUNBZ0lDQWdJQ0FnSUZOamFHVmtkV3hsY2k1MWJuTjBZV0pzWlY5eWRXNVhhWFJvVUhKcGIzSnBkSGtvY1hWbGRXVmtWR0Z5WjJWMExuQnlhVzl5YVhSNUxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhkSFJsYlhCMFNIbGtjbUYwYVc5dVFYUkRkWEp5Wlc1MFVISnBiM0pwZEhrb2JtVmhjbVZ6ZEUxdmRXNTBaV1FwTzF4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUVodmMzUlNiMjkwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ5YjI5MElEMGdibVZoY21WemRFMXZkVzUwWldRdWMzUmhkR1ZPYjJSbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoeWIyOTBMbWg1WkhKaGRHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeGRXVjFaV1JVWVhKblpYUXVZbXh2WTJ0bFpFOXVJRDBnWjJWMFEyOXVkR0ZwYm1WeVJuSnZiVVpwWW1WeUtHNWxZWEpsYzNSTmIzVnVkR1ZrS1RzZ0x5OGdWMlVnWkc5dUozUWdZM1Z5Y21WdWRHeDVJR2hoZG1VZ1lTQjNZWGtnZEc4Z2FXNWpjbVZoYzJVZ2RHaGxJSEJ5YVc5eWFYUjVJRzltWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdZU0J5YjI5MElHOTBhR1Z5SUhSb1lXNGdjM2x1WXk1Y2JseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEYxWlhWbFpGUmhjbWRsZEM1aWJHOWphMlZrVDI0Z1BTQnVkV3hzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJoZEhSbGJYQjBVbVZ3YkdGNVEyOXVkR2x1ZFc5MWMxRjFaWFZsWkVWMlpXNTBLSEYxWlhWbFpFVjJaVzUwS1NCN1hHNGdJR2xtSUNoeGRXVjFaV1JGZG1WdWRDNWliRzlqYTJWa1QyNGdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCMllYSWdibVY0ZEVKc2IyTnJaV1JQYmlBOUlHRjBkR1Z0Y0hSVWIwUnBjM0JoZEdOb1JYWmxiblFvY1hWbGRXVmtSWFpsYm5RdWRHOXdUR1YyWld4VWVYQmxMQ0J4ZFdWMVpXUkZkbVZ1ZEM1bGRtVnVkRk41YzNSbGJVWnNZV2R6TENCeGRXVjFaV1JGZG1WdWRDNWpiMjUwWVdsdVpYSXNJSEYxWlhWbFpFVjJaVzUwTG01aGRHbDJaVVYyWlc1MEtUdGNibHh1SUNCcFppQW9ibVY0ZEVKc2IyTnJaV1JQYmlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGZGxKM0psSUhOMGFXeHNJR0pzYjJOclpXUXVJRlJ5ZVNCaFoyRnBiaUJzWVhSbGNpNWNiaUFnSUNCMllYSWdYMlpwWW1WeU15QTlJR2RsZEVsdWMzUmhibU5sUm5KdmJVNXZaR1VrTVNodVpYaDBRbXh2WTJ0bFpFOXVLVHRjYmx4dUlDQWdJR2xtSUNoZlptbGlaWEl6SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCaGRIUmxiWEIwUTI5dWRHbHVkVzkxYzBoNVpISmhkR2x2YmloZlptbGlaWEl6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J4ZFdWMVpXUkZkbVZ1ZEM1aWJHOWphMlZrVDI0Z1BTQnVaWGgwUW14dlkydGxaRTl1TzF4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhkSFJsYlhCMFVtVndiR0Y1UTI5dWRHbHVkVzkxYzFGMVpYVmxaRVYyWlc1MFNXNU5ZWEFvY1hWbGRXVmtSWFpsYm5Rc0lHdGxlU3dnYldGd0tTQjdYRzRnSUdsbUlDaGhkSFJsYlhCMFVtVndiR0Y1UTI5dWRHbHVkVzkxYzFGMVpYVmxaRVYyWlc1MEtIRjFaWFZsWkVWMlpXNTBLU2tnZTF4dUlDQWdJRzFoY0M1a1pXeGxkR1VvYTJWNUtUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhCc1lYbFZibUpzYjJOclpXUkZkbVZ1ZEhNb0tTQjdYRzRnSUdoaGMxTmphR1ZrZFd4bFpGSmxjR3hoZVVGMGRHVnRjSFFnUFNCbVlXeHpaVHNnTHk4Z1JtbHljM1FnY21Wd2JHRjVJR1JwYzJOeVpYUmxJR1YyWlc1MGN5NWNibHh1SUNCM2FHbHNaU0FvY1hWbGRXVmtSR2x6WTNKbGRHVkZkbVZ1ZEhNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lIWmhjaUJ1WlhoMFJHbHpZM0psZEdWRmRtVnVkQ0E5SUhGMVpYVmxaRVJwYzJOeVpYUmxSWFpsYm5Seld6QmRPMXh1WEc0Z0lDQWdhV1lnS0c1bGVIUkVhWE5qY21WMFpVVjJaVzUwTG1Kc2IyTnJaV1JQYmlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdWMlVuY21VZ2MzUnBiR3dnWW14dlkydGxaQzVjYmlBZ0lDQWdJQzh2SUVsdVkzSmxZWE5sSUhSb1pTQndjbWx2Y21sMGVTQnZaaUIwYUdseklHSnZkVzVrWVhKNUlIUnZJSFZ1WW14dlkydGNiaUFnSUNBZ0lDOHZJSFJvWlNCdVpYaDBJR1JwYzJOeVpYUmxJR1YyWlc1MExseHVJQ0FnSUNBZ2RtRnlJRjltYVdKbGNqUWdQU0JuWlhSSmJuTjBZVzVqWlVaeWIyMU9iMlJsSkRFb2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVlteHZZMnRsWkU5dUtUdGNibHh1SUNBZ0lDQWdhV1lnS0Y5bWFXSmxjalFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1lYUjBaVzF3ZEZWelpYSkNiRzlqYTJsdVowaDVaSEpoZEdsdmJpaGZabWxpWlhJMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHNWxlSFJDYkc5amEyVmtUMjRnUFNCaGRIUmxiWEIwVkc5RWFYTndZWFJqYUVWMlpXNTBLRzVsZUhSRWFYTmpjbVYwWlVWMlpXNTBMblJ2Y0V4bGRtVnNWSGx3WlN3Z2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVpYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVkyOXVkR0ZwYm1WeUxDQnVaWGgwUkdselkzSmxkR1ZGZG1WdWRDNXVZWFJwZG1WRmRtVnVkQ2s3WEc1Y2JpQWdJQ0JwWmlBb2JtVjRkRUpzYjJOclpXUlBiaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVW5jbVVnYzNScGJHd2dZbXh2WTJ0bFpDNGdWSEo1SUdGbllXbHVJR3hoZEdWeUxseHVJQ0FnSUNBZ2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVlteHZZMnRsWkU5dUlEMGdibVY0ZEVKc2IyTnJaV1JQYmp0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnVjJVbmRtVWdjM1ZqWTJWemMyWjFiR3g1SUhKbGNHeGhlV1ZrSUhSb1pTQm1hWEp6ZENCbGRtVnVkQzRnVEdWMEozTWdkSEo1SUhSb1pTQnVaWGgwSUc5dVpTNWNiaUFnSUNBZ0lIRjFaWFZsWkVScGMyTnlaWFJsUlhabGJuUnpMbk5vYVdaMEtDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklFNWxlSFFnY21Wd2JHRjVJR0Z1ZVNCamIyNTBhVzUxYjNWeklHVjJaVzUwY3k1Y2JseHVYRzRnSUdsbUlDaHhkV1YxWldSR2IyTjFjeUFoUFQwZ2JuVnNiQ0FtSmlCaGRIUmxiWEIwVW1Wd2JHRjVRMjl1ZEdsdWRXOTFjMUYxWlhWbFpFVjJaVzUwS0hGMVpYVmxaRVp2WTNWektTa2dlMXh1SUNBZ0lIRjFaWFZsWkVadlkzVnpJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2xtSUNoeGRXVjFaV1JFY21GbklDRTlQU0J1ZFd4c0lDWW1JR0YwZEdWdGNIUlNaWEJzWVhsRGIyNTBhVzUxYjNWelVYVmxkV1ZrUlhabGJuUW9jWFZsZFdWa1JISmhaeWtwSUh0Y2JpQWdJQ0J4ZFdWMVpXUkVjbUZuSUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHhkV1YxWldSTmIzVnpaU0FoUFQwZ2JuVnNiQ0FtSmlCaGRIUmxiWEIwVW1Wd2JHRjVRMjl1ZEdsdWRXOTFjMUYxWlhWbFpFVjJaVzUwS0hGMVpYVmxaRTF2ZFhObEtTa2dlMXh1SUNBZ0lIRjFaWFZsWkUxdmRYTmxJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJSEYxWlhWbFpGQnZhVzUwWlhKekxtWnZja1ZoWTJnb1lYUjBaVzF3ZEZKbGNHeGhlVU52Ym5ScGJuVnZkWE5SZFdWMVpXUkZkbVZ1ZEVsdVRXRndLVHRjYmlBZ2NYVmxkV1ZrVUc5cGJuUmxja05oY0hSMWNtVnpMbVp2Y2tWaFkyZ29ZWFIwWlcxd2RGSmxjR3hoZVVOdmJuUnBiblZ2ZFhOUmRXVjFaV1JGZG1WdWRFbHVUV0Z3S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJOb1pXUjFiR1ZEWVd4c1ltRmphMGxtVlc1aWJHOWphMlZrS0hGMVpYVmxaRVYyWlc1MExDQjFibUpzYjJOclpXUXBJSHRjYmlBZ2FXWWdLSEYxWlhWbFpFVjJaVzUwTG1Kc2IyTnJaV1JQYmlBOVBUMGdkVzVpYkc5amEyVmtLU0I3WEc0Z0lDQWdjWFZsZFdWa1JYWmxiblF1WW14dlkydGxaRTl1SUQwZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNnaGFHRnpVMk5vWldSMWJHVmtVbVZ3YkdGNVFYUjBaVzF3ZENrZ2UxeHVJQ0FnSUNBZ2FHRnpVMk5vWldSMWJHVmtVbVZ3YkdGNVFYUjBaVzF3ZENBOUlIUnlkV1U3SUM4dklGTmphR1ZrZFd4bElHRWdZMkZzYkdKaFkyc2dkRzhnWVhSMFpXMXdkQ0J5WlhCc1lYbHBibWNnWVhNZ2JXRnVlU0JsZG1WdWRITWdZWE1nWVhKbFhHNGdJQ0FnSUNBdkx5QnViM2NnZFc1aWJHOWphMlZrTGlCVWFHbHpJR1pwY25OMElHMXBaMmgwSUc1dmRDQmhZM1IxWVd4c2VTQmlaU0IxYm1Kc2IyTnJaV1FnZVdWMExseHVJQ0FnSUNBZ0x5OGdWMlVnWTI5MWJHUWdZMmhsWTJzZ2FYUWdaV0Z5YkhrZ2RHOGdZWFp2YVdRZ2MyTm9aV1IxYkdsdVp5QmhiaUIxYm01bFkyVnpjMkZ5ZVNCallXeHNZbUZqYXk1Y2JseHVJQ0FnSUNBZ1UyTm9aV1IxYkdWeUxuVnVjM1JoWW14bFgzTmphR1ZrZFd4bFEyRnNiR0poWTJzb1UyTm9aV1IxYkdWeUxuVnVjM1JoWW14bFgwNXZjbTFoYkZCeWFXOXlhWFI1TENCeVpYQnNZWGxWYm1Kc2IyTnJaV1JGZG1WdWRITXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhSeWVVbG1RbXh2WTJ0bFpFOXVLSFZ1WW14dlkydGxaQ2tnZTF4dUlDQXZMeUJOWVhKcklHRnVlWFJvYVc1bklIUm9ZWFFnZDJGeklHSnNiMk5yWldRZ2IyNGdkR2hwY3lCaGN5QnVieUJzYjI1blpYSWdZbXh2WTJ0bFpGeHVJQ0F2THlCaGJtUWdaV3hwWjJsaWJHVWdabTl5SUdFZ2NtVndiR0Y1TGx4dUlDQnBaaUFvY1hWbGRXVmtSR2x6WTNKbGRHVkZkbVZ1ZEhNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lITmphR1ZrZFd4bFEyRnNiR0poWTJ0SlpsVnVZbXh2WTJ0bFpDaHhkV1YxWldSRWFYTmpjbVYwWlVWMlpXNTBjMXN3WFN3Z2RXNWliRzlqYTJWa0tUc2dMeThnVkdocGN5QnBjeUJoSUdWNGNHOXVaVzUwYVdGc0lITmxZWEpqYUNCbWIzSWdaV0ZqYUNCaWIzVnVaR0Z5ZVNCMGFHRjBJR052YlcxcGRITXVJRWtnZEdocGJtc2dhWFFuYzF4dUlDQWdJQzh2SUhkdmNuUm9JR2wwSUdKbFkyRjFjMlVnZDJVZ1pYaHdaV04wSUhabGNua2dabVYzSUdScGMyTnlaWFJsSUdWMlpXNTBjeUIwYnlCeGRXVjFaU0IxY0NCaGJtUWdiMjVqWlZ4dUlDQWdJQzh2SUhkbElHRnlaU0JoWTNSMVlXeHNlU0JtZFd4c2VTQjFibUpzYjJOclpXUWdhWFFnZDJsc2JDQmlaU0JtWVhOMElIUnZJSEpsY0d4aGVTQjBhR1Z0TGx4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCeGRXVjFaV1JFYVhOamNtVjBaVVYyWlc1MGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIRjFaWFZsWkVWMlpXNTBJRDBnY1hWbGRXVmtSR2x6WTNKbGRHVkZkbVZ1ZEhOYmFWMDdYRzVjYmlBZ0lDQWdJR2xtSUNoeGRXVjFaV1JGZG1WdWRDNWliRzlqYTJWa1QyNGdQVDA5SUhWdVlteHZZMnRsWkNrZ2UxeHVJQ0FnSUNBZ0lDQnhkV1YxWldSRmRtVnVkQzVpYkc5amEyVmtUMjRnUFNCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR2xtSUNoeGRXVjFaV1JHYjJOMWN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lITmphR1ZrZFd4bFEyRnNiR0poWTJ0SlpsVnVZbXh2WTJ0bFpDaHhkV1YxWldSR2IyTjFjeXdnZFc1aWJHOWphMlZrS1R0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h4ZFdWMVpXUkVjbUZuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnYzJOb1pXUjFiR1ZEWVd4c1ltRmphMGxtVlc1aWJHOWphMlZrS0hGMVpYVmxaRVJ5WVdjc0lIVnVZbXh2WTJ0bFpDazdYRzRnSUgxY2JseHVJQ0JwWmlBb2NYVmxkV1ZrVFc5MWMyVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnpZMmhsWkhWc1pVTmhiR3hpWVdOclNXWlZibUpzYjJOclpXUW9jWFZsZFdWa1RXOTFjMlVzSUhWdVlteHZZMnRsWkNrN1hHNGdJSDFjYmx4dUlDQjJZWElnZFc1aWJHOWpheUE5SUdaMWJtTjBhVzl1SUNoeGRXVjFaV1JGZG1WdWRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCelkyaGxaSFZzWlVOaGJHeGlZV05yU1daVmJtSnNiMk5yWldRb2NYVmxkV1ZrUlhabGJuUXNJSFZ1WW14dlkydGxaQ2s3WEc0Z0lIMDdYRzVjYmlBZ2NYVmxkV1ZrVUc5cGJuUmxjbk11Wm05eVJXRmphQ2gxYm1Kc2IyTnJLVHRjYmlBZ2NYVmxkV1ZrVUc5cGJuUmxja05oY0hSMWNtVnpMbVp2Y2tWaFkyZ29kVzVpYkc5amF5azdYRzVjYmlBZ1ptOXlJQ2gyWVhJZ1gya2dQU0F3T3lCZmFTQThJSEYxWlhWbFpFVjRjR3hwWTJsMFNIbGtjbUYwYVc5dVZHRnlaMlYwY3k1c1pXNW5kR2c3SUY5cEt5c3BJSHRjYmlBZ0lDQjJZWElnY1hWbGRXVmtWR0Z5WjJWMElEMGdjWFZsZFdWa1JYaHdiR2xqYVhSSWVXUnlZWFJwYjI1VVlYSm5aWFJ6VzE5cFhUdGNibHh1SUNBZ0lHbG1JQ2h4ZFdWMVpXUlVZWEpuWlhRdVlteHZZMnRsWkU5dUlEMDlQU0IxYm1Kc2IyTnJaV1FwSUh0Y2JpQWdJQ0FnSUhGMVpYVmxaRlJoY21kbGRDNWliRzlqYTJWa1QyNGdQU0J1ZFd4c08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIZG9hV3hsSUNoeGRXVjFaV1JGZUhCc2FXTnBkRWg1WkhKaGRHbHZibFJoY21kbGRITXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJSFpoY2lCdVpYaDBSWGh3YkdsamFYUlVZWEpuWlhRZ1BTQnhkV1YxWldSRmVIQnNhV05wZEVoNVpISmhkR2x2YmxSaGNtZGxkSE5iTUYwN1hHNWNiaUFnSUNCcFppQW9ibVY0ZEVWNGNHeHBZMmwwVkdGeVoyVjBMbUpzYjJOclpXUlBiaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVW5jbVVnYzNScGJHd2dZbXh2WTJ0bFpDNWNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhkSFJsYlhCMFJYaHdiR2xqYVhSSWVXUnlZWFJwYjI1VVlYSm5aWFFvYm1WNGRFVjRjR3hwWTJsMFZHRnlaMlYwS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzVsZUhSRmVIQnNhV05wZEZSaGNtZGxkQzVpYkc5amEyVmtUMjRnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWMlVuY21VZ2RXNWliRzlqYTJWa0xseHVJQ0FnSUNBZ0lDQnhkV1YxWldSRmVIQnNhV05wZEVoNVpISmhkR2x2YmxSaGNtZGxkSE11YzJocFpuUW9LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVdSa1JYWmxiblJDZFdKaWJHVk1hWE4wWlc1bGNpaGxiR1Z0Wlc1MExDQmxkbVZ1ZEZSNWNHVXNJR3hwYzNSbGJtVnlLU0I3WEc0Z0lHVnNaVzFsYm5RdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lobGRtVnVkRlI1Y0dVc0lHeHBjM1JsYm1WeUxDQm1ZV3h6WlNrN1hHNTlYRzVtZFc1amRHbHZiaUJoWkdSRmRtVnVkRU5oY0hSMWNtVk1hWE4wWlc1bGNpaGxiR1Z0Wlc1MExDQmxkbVZ1ZEZSNWNHVXNJR3hwYzNSbGJtVnlLU0I3WEc0Z0lHVnNaVzFsYm5RdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lobGRtVnVkRlI1Y0dVc0lHeHBjM1JsYm1WeUxDQjBjblZsS1R0Y2JuMWNibHh1THk4Z1pHOGdhWFFnYVc0Z2RIZHZJSEJzWVdObGN5d2dkMmhwWTJnZ1pIVndiR2xqWVhSbGN5QnNiMmRwWTF4dUx5OGdZVzVrSUdsdVkzSmxZWE5sY3lCMGFHVWdZblZ1Wkd4bElITnBlbVVzSUhkbElHUnZJR2wwSUdGc2JGeHVMeThnYUdWeVpTQnZibU5sTGlCSlppQjNaU0J5WlcxdmRtVWdiM0lnY21WbVlXTjBiM0lnZEdobFhHNHZMeUJUYVcxd2JHVkZkbVZ1ZEZCc2RXZHBiaXdnZDJVZ2MyaHZkV3hrSUdGc2MyOGdjbVZ0YjNabElHOXlYRzR2THlCMWNHUmhkR1VnZEdobElHSmxiRzkzSUd4cGJtVXVYRzVjYm5aaGNpQnphVzF3YkdWRmRtVnVkRkJzZFdkcGJrVjJaVzUwVkhsd1pYTWdQU0I3ZlR0Y2JuWmhjaUIwYjNCTVpYWmxiRVYyWlc1MGMxUnZSR2x6Y0dGMFkyaERiMjVtYVdjZ1BTQnVaWGNnVFdGd0tDazdYRzUyWVhJZ1pYWmxiblJRY21sdmNtbDBhV1Z6SUQwZ2JtVjNJRTFoY0NncE95QXZMeUJYWlNCemRHOXlaU0J0YjNOMElHOW1JSFJvWlNCbGRtVnVkSE1nYVc0Z2RHaHBjeUJ0YjJSMWJHVWdhVzRnY0dGcGNuTWdiMllnZEhkdklITjBjbWx1WjNNZ2MyOGdkMlVnWTJGdUlISmxMWFZ6WlZ4dUx5OGdkR2hsSUdOdlpHVWdjbVZ4ZFdseVpXUWdkRzhnWVhCd2JIa2dkR2hsSUhOaGJXVWdiRzluYVdNZ1ptOXlJR1YyWlc1MElIQnlhVzl5YVhScGVtRjBhVzl1SUdGdVpDQjBhR0YwSUc5bUlIUm9aVnh1THk4Z1UybHRjR3hsUlhabGJuUlFiSFZuYVc0dUlGUm9hWE1nWTI5dGNHeHBZMkYwWlhNZ2RHaHBibWR6SUhOc2FXZG9kR3g1TENCaWRYUWdkR2hsSUdGcGJTQnBjeUIwYnlCeVpXUjFZMlVnWTI5a1pWeHVMeThnWkhWd2JHbGpZWFJwYjI0Z0tHWnZjaUIzYUdsamFDQjBhR1Z5WlNCM2IzVnNaQ0JpWlNCeGRXbDBaU0JoSUdKcGRDa3VJRVp2Y2lCMGFHVWdaWFpsYm5SeklIUm9ZWFFnWVhKbElHNXZkQ0J1WldWa1pXUmNiaTh2SUdadmNpQjBhR1VnVTJsdGNHeGxSWFpsYm5SUWJIVm5hVzRnS0c5MGFHVnlSR2x6WTNKbGRHVkZkbVZ1ZEhNcElIZGxJSEJ5YjJObGMzTWdkR2hsYlNCelpYQmhjbUYwWld4NUlHRnpJR0Z1WEc0dkx5QmhjbkpoZVNCdlppQjBiM0FnYkdWMlpXd2daWFpsYm5SekxseHVMeThnVEdGemRHeDVMQ0IzWlNCcFoyNXZjbVVnY0hKbGRIUnBaWElnYzI4Z2QyVWdZMkZ1SUd0bFpYQWdkR2hsSUdadmNtMWhkSFJwYm1jZ2MyRnVaUzVjYmk4dklIQnlaWFIwYVdWeUxXbG5ibTl5WlZ4dVhHNTJZWElnWkdselkzSmxkR1ZGZG1WdWRGQmhhWEp6Um05eVUybHRjR3hsUlhabGJuUlFiSFZuYVc0Z1BTQmJWRTlRWDBKTVZWSXNJQ2RpYkhWeUp5d2dWRTlRWDBOQlRrTkZUQ3dnSjJOaGJtTmxiQ2NzSUZSUFVGOURURWxEU3l3Z0oyTnNhV05ySnl3Z1ZFOVFYME5NVDFORkxDQW5ZMnh2YzJVbkxDQlVUMUJmUTA5T1ZFVllWRjlOUlU1VkxDQW5ZMjl1ZEdWNGRFMWxiblVuTENCVVQxQmZRMDlRV1N3Z0oyTnZjSGtuTENCVVQxQmZRMVZVTENBblkzVjBKeXdnVkU5UVgwRlZXRjlEVEVsRFN5d2dKMkYxZUVOc2FXTnJKeXdnVkU5UVgwUlBWVUpNUlY5RFRFbERTeXdnSjJSdmRXSnNaVU5zYVdOckp5d2dWRTlRWDBSU1FVZGZSVTVFTENBblpISmhaMFZ1WkNjc0lGUlBVRjlFVWtGSFgxTlVRVkpVTENBblpISmhaMU4wWVhKMEp5d2dWRTlRWDBSU1QxQXNJQ2RrY205d0p5d2dWRTlRWDBaUFExVlRMQ0FuWm05amRYTW5MQ0JVVDFCZlNVNVFWVlFzSUNkcGJuQjFkQ2NzSUZSUFVGOUpUbFpCVEVsRUxDQW5hVzUyWVd4cFpDY3NJRlJQVUY5TFJWbGZSRTlYVGl3Z0oydGxlVVJ2ZDI0bkxDQlVUMUJmUzBWWlgxQlNSVk5UTENBbmEyVjVVSEpsYzNNbkxDQlVUMUJmUzBWWlgxVlFMQ0FuYTJWNVZYQW5MQ0JVVDFCZlRVOVZVMFZmUkU5WFRpd2dKMjF2ZFhObFJHOTNiaWNzSUZSUFVGOU5UMVZUUlY5VlVDd2dKMjF2ZFhObFZYQW5MQ0JVVDFCZlVFRlRWRVVzSUNkd1lYTjBaU2NzSUZSUFVGOVFRVlZUUlN3Z0ozQmhkWE5sSnl3Z1ZFOVFYMUJNUVZrc0lDZHdiR0Y1Snl3Z1ZFOVFYMUJQU1U1VVJWSmZRMEZPUTBWTUxDQW5jRzlwYm5SbGNrTmhibU5sYkNjc0lGUlBVRjlRVDBsT1ZFVlNYMFJQVjA0c0lDZHdiMmx1ZEdWeVJHOTNiaWNzSUZSUFVGOVFUMGxPVkVWU1gxVlFMQ0FuY0c5cGJuUmxjbFZ3Snl3Z1ZFOVFYMUpCVkVWZlEwaEJUa2RGTENBbmNtRjBaVU5vWVc1blpTY3NJRlJQVUY5U1JWTkZWQ3dnSjNKbGMyVjBKeXdnVkU5UVgxTkZSVXRGUkN3Z0ozTmxaV3RsWkNjc0lGUlBVRjlUVlVKTlNWUXNJQ2R6ZFdKdGFYUW5MQ0JVVDFCZlZFOVZRMGhmUTBGT1EwVk1MQ0FuZEc5MVkyaERZVzVqWld3bkxDQlVUMUJmVkU5VlEwaGZSVTVFTENBbmRHOTFZMmhGYm1RbkxDQlVUMUJmVkU5VlEwaGZVMVJCVWxRc0lDZDBiM1ZqYUZOMFlYSjBKeXdnVkU5UVgxWlBURlZOUlY5RFNFRk9SMFVzSUNkMmIyeDFiV1ZEYUdGdVoyVW5YVHRjYm5aaGNpQnZkR2hsY2tScGMyTnlaWFJsUlhabGJuUnpJRDBnVzFSUFVGOURTRUZPUjBVc0lGUlBVRjlUUlV4RlExUkpUMDVmUTBoQlRrZEZMQ0JVVDFCZlZFVllWRjlKVGxCVlZDd2dWRTlRWDBOUFRWQlBVMGxVU1U5T1gxTlVRVkpVTENCVVQxQmZRMDlOVUU5VFNWUkpUMDVmUlU1RUxDQlVUMUJmUTA5TlVFOVRTVlJKVDA1ZlZWQkVRVlJGWFRzZ0x5OGdjSEpsZEhScFpYSXRhV2R1YjNKbFhHNWNiblpoY2lCMWMyVnlRbXh2WTJ0cGJtZFFZV2x5YzBadmNsTnBiWEJzWlVWMlpXNTBVR3gxWjJsdUlEMGdXMVJQVUY5RVVrRkhMQ0FuWkhKaFp5Y3NJRlJQVUY5RVVrRkhYMFZPVkVWU0xDQW5aSEpoWjBWdWRHVnlKeXdnVkU5UVgwUlNRVWRmUlZoSlZDd2dKMlJ5WVdkRmVHbDBKeXdnVkU5UVgwUlNRVWRmVEVWQlZrVXNJQ2RrY21GblRHVmhkbVVuTENCVVQxQmZSRkpCUjE5UFZrVlNMQ0FuWkhKaFowOTJaWEluTENCVVQxQmZUVTlWVTBWZlRVOVdSU3dnSjIxdmRYTmxUVzkyWlNjc0lGUlBVRjlOVDFWVFJWOVBWVlFzSUNkdGIzVnpaVTkxZENjc0lGUlBVRjlOVDFWVFJWOVBWa1ZTTENBbmJXOTFjMlZQZG1WeUp5d2dWRTlRWDFCUFNVNVVSVkpmVFU5V1JTd2dKM0J2YVc1MFpYSk5iM1psSnl3Z1ZFOVFYMUJQU1U1VVJWSmZUMVZVTENBbmNHOXBiblJsY2s5MWRDY3NJRlJQVUY5UVQwbE9WRVZTWDA5V1JWSXNJQ2R3YjJsdWRHVnlUM1psY2ljc0lGUlBVRjlUUTFKUFRFd3NJQ2R6WTNKdmJHd25MQ0JVVDFCZlZFOUhSMHhGTENBbmRHOW5aMnhsSnl3Z1ZFOVFYMVJQVlVOSVgwMVBWa1VzSUNkMGIzVmphRTF2ZG1VbkxDQlVUMUJmVjBoRlJVd3NJQ2QzYUdWbGJDZGRPeUF2THlCd2NtVjBkR2xsY2kxcFoyNXZjbVZjYmx4dWRtRnlJR052Ym5ScGJuVnZkWE5RWVdseWMwWnZjbE5wYlhCc1pVVjJaVzUwVUd4MVoybHVJRDBnVzFSUFVGOUJRazlTVkN3Z0oyRmliM0owSnl3Z1ZFOVFYMEZPU1UxQlZFbFBUbDlGVGtRc0lDZGhibWx0WVhScGIyNUZibVFuTENCVVQxQmZRVTVKVFVGVVNVOU9YMGxVUlZKQlZFbFBUaXdnSjJGdWFXMWhkR2x2YmtsMFpYSmhkR2x2Ymljc0lGUlBVRjlCVGtsTlFWUkpUMDVmVTFSQlVsUXNJQ2RoYm1sdFlYUnBiMjVUZEdGeWRDY3NJRlJQVUY5RFFVNWZVRXhCV1N3Z0oyTmhibEJzWVhrbkxDQlVUMUJmUTBGT1gxQk1RVmxmVkVoU1QxVkhTQ3dnSjJOaGJsQnNZWGxVYUhKdmRXZG9KeXdnVkU5UVgwUlZVa0ZVU1U5T1gwTklRVTVIUlN3Z0oyUjFjbUYwYVc5dVEyaGhibWRsSnl3Z1ZFOVFYMFZOVUZSSlJVUXNJQ2RsYlhCMGFXVmtKeXdnVkU5UVgwVk9RMUpaVUZSRlJDd2dKMlZ1WTNKNWNIUmxaQ2NzSUZSUFVGOUZUa1JGUkN3Z0oyVnVaR1ZrSnl3Z1ZFOVFYMFZTVWs5U0xDQW5aWEp5YjNJbkxDQlVUMUJmUjA5VVgxQlBTVTVVUlZKZlEwRlFWRlZTUlN3Z0oyZHZkRkJ2YVc1MFpYSkRZWEIwZFhKbEp5d2dWRTlRWDB4UFFVUXNJQ2RzYjJGa0p5d2dWRTlRWDB4UFFVUkZSRjlFUVZSQkxDQW5iRzloWkdWa1JHRjBZU2NzSUZSUFVGOU1UMEZFUlVSZlRVVlVRVVJCVkVFc0lDZHNiMkZrWldSTlpYUmhaR0YwWVNjc0lGUlBVRjlNVDBGRVgxTlVRVkpVTENBbmJHOWhaRk4wWVhKMEp5d2dWRTlRWDB4UFUxUmZVRTlKVGxSRlVsOURRVkJVVlZKRkxDQW5iRzl6ZEZCdmFXNTBaWEpEWVhCMGRYSmxKeXdnVkU5UVgxQk1RVmxKVGtjc0lDZHdiR0Y1YVc1bkp5d2dWRTlRWDFCU1QwZFNSVk5UTENBbmNISnZaM0psYzNNbkxDQlVUMUJmVTBWRlMwbE9SeXdnSjNObFpXdHBibWNuTENCVVQxQmZVMVJCVEV4RlJDd2dKM04wWVd4c1pXUW5MQ0JVVDFCZlUxVlRVRVZPUkN3Z0ozTjFjM0JsYm1RbkxDQlVUMUJmVkVsTlJWOVZVRVJCVkVVc0lDZDBhVzFsVlhCa1lYUmxKeXdnVkU5UVgxUlNRVTVUU1ZSSlQwNWZSVTVFTENBbmRISmhibk5wZEdsdmJrVnVaQ2NzSUZSUFVGOVhRVWxVU1U1SExDQW5kMkZwZEdsdVp5ZGRPMXh1THlvcVhHNGdLaUJVZFhKdWMxeHVJQ29nV3lkaFltOXlkQ2NzSUM0dUxsMWNiaUFxSUdsdWRHOWNiaUFxSUdWMlpXNTBWSGx3WlhNZ1BTQjdYRzRnS2lBZ0lDZGhZbTl5ZENjNklIdGNiaUFxSUNBZ0lDQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3pvZ2UxeHVJQ29nSUNBZ0lDQWdZblZpWW14bFpEb2dKMjl1UVdKdmNuUW5MRnh1SUNvZ0lDQWdJQ0FnWTJGd2RIVnlaV1E2SUNkdmJrRmliM0owUTJGd2RIVnlaU2NzWEc0Z0tpQWdJQ0FnZlN4Y2JpQXFJQ0FnSUNCa1pYQmxibVJsYm1OcFpYTTZJRnRVVDFCZlFVSlBVbFJkTEZ4dUlDb2dJQ0I5TEZ4dUlDb2dJQ0F1TGk1Y2JpQXFJSDA3WEc0Z0tpQjBiM0JNWlhabGJFVjJaVzUwYzFSdlJHbHpjR0YwWTJoRGIyNW1hV2NnUFNCdVpYY2dUV0Z3S0Z0Y2JpQXFJQ0FnVzFSUFVGOUJRazlTVkN3Z2V5QnpZVzFsUTI5dVptbG5JSDFkTEZ4dUlDb2dYU2s3WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnY0hKdlkyVnpjMU5wYlhCc1pVVjJaVzUwVUd4MVoybHVVR0ZwY25OQ2VWQnlhVzl5YVhSNUtHVjJaVzUwVkhsd1pYTXNJSEJ5YVc5eWFYUjVLU0I3WEc0Z0lDOHZJRUZ6SUhSb1pTQmxkbVZ1ZENCMGVYQmxjeUJoY21VZ2FXNGdjR0ZwY25NZ2IyWWdkSGR2TENCM1pTQnVaV1ZrSUhSdklHbDBaWEpoZEdWY2JpQWdMeThnZEdoeWIzVm5hQ0JwYmlCMGQyOXpMaUJVYUdVZ1pYWmxiblJ6SUdGeVpTQnBiaUJ3WVdseWN5QnZaaUIwZDI4Z2RHOGdjMkYyWlNCamIyUmxYRzRnSUM4dklHRnVaQ0JwYlhCeWIzWmxJR2x1YVhRZ2NHVnlaaUJ2WmlCd2NtOWpaWE56YVc1bklIUm9hWE1nWVhKeVlYa3NJR0Z6SUdsMElIZHBiR3hjYmlBZ0x5OGdjbVZ6ZFd4MElHbHVJR1poY2lCbVpYZGxjaUJ2WW1wbFkzUWdZV3hzYjJOaGRHbHZibk1nWVc1a0lIQnliM0JsY25SNUlHRmpZMlZ6YzJWelhHNGdJQzh2SUdsbUlIZGxJRzl1YkhrZ2RYTmxJSFJvY21WbElHRnljbUY1Y3lCMGJ5QndjbTlqWlhOeklHRnNiQ0IwYUdVZ1kyRjBaV2R2Y21sbGN5QnZabHh1SUNBdkx5QnBibk4wWldGa0lHOW1JSFIxY0d4bGN5NWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCbGRtVnVkRlI1Y0dWekxteGxibWQwYURzZ2FTQXJQU0F5S1NCN1hHNGdJQ0FnZG1GeUlIUnZjRVYyWlc1MElEMGdaWFpsYm5SVWVYQmxjMXRwWFR0Y2JpQWdJQ0IyWVhJZ1pYWmxiblFnUFNCbGRtVnVkRlI1Y0dWelcya2dLeUF4WFR0Y2JpQWdJQ0IyWVhJZ1kyRndhWFJoYkdsNlpXUkZkbVZ1ZENBOUlHVjJaVzUwV3pCZExuUnZWWEJ3WlhKRFlYTmxLQ2tnS3lCbGRtVnVkQzV6YkdsalpTZ3hLVHRjYmlBZ0lDQjJZWElnYjI1RmRtVnVkQ0E5SUNkdmJpY2dLeUJqWVhCcGRHRnNhWHBsWkVWMlpXNTBPMXh1SUNBZ0lIWmhjaUJqYjI1bWFXY2dQU0I3WEc0Z0lDQWdJQ0J3YUdGelpXUlNaV2RwYzNSeVlYUnBiMjVPWVcxbGN6b2dlMXh1SUNBZ0lDQWdJQ0JpZFdKaWJHVmtPaUJ2YmtWMlpXNTBMRnh1SUNBZ0lDQWdJQ0JqWVhCMGRYSmxaRG9nYjI1RmRtVnVkQ0FySUNkRFlYQjBkWEpsSjF4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXM1J2Y0VWMlpXNTBYU3hjYmlBZ0lDQWdJR1YyWlc1MFVISnBiM0pwZEhrNklIQnlhVzl5YVhSNVhHNGdJQ0FnZlR0Y2JpQWdJQ0JsZG1WdWRGQnlhVzl5YVhScFpYTXVjMlYwS0hSdmNFVjJaVzUwTENCd2NtbHZjbWwwZVNrN1hHNGdJQ0FnZEc5d1RHVjJaV3hGZG1WdWRITlViMFJwYzNCaGRHTm9RMjl1Wm1sbkxuTmxkQ2gwYjNCRmRtVnVkQ3dnWTI5dVptbG5LVHRjYmlBZ0lDQnphVzF3YkdWRmRtVnVkRkJzZFdkcGJrVjJaVzUwVkhsd1pYTmJaWFpsYm5SZElEMGdZMjl1Wm1sbk8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSEJ5YjJObGMzTlViM0JGZG1WdWRGQmhhWEp6UW5sUWNtbHZjbWwwZVNobGRtVnVkRlI1Y0dWekxDQndjbWx2Y21sMGVTa2dlMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHVjJaVzUwVkhsd1pYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JsZG1WdWRGQnlhVzl5YVhScFpYTXVjMlYwS0dWMlpXNTBWSGx3WlhOYmFWMHNJSEJ5YVc5eWFYUjVLVHRjYmlBZ2ZWeHVmU0F2THlCVGFXMXdiR1ZGZG1WdWRGQnNkV2RwYmx4dVhHNWNibkJ5YjJObGMzTlRhVzF3YkdWRmRtVnVkRkJzZFdkcGJsQmhhWEp6UW5sUWNtbHZjbWwwZVNoa2FYTmpjbVYwWlVWMlpXNTBVR0ZwY25OR2IzSlRhVzF3YkdWRmRtVnVkRkJzZFdkcGJpd2dSR2x6WTNKbGRHVkZkbVZ1ZENrN1hHNXdjbTlqWlhOelUybHRjR3hsUlhabGJuUlFiSFZuYVc1UVlXbHljMEo1VUhKcGIzSnBkSGtvZFhObGNrSnNiMk5yYVc1blVHRnBjbk5HYjNKVGFXMXdiR1ZGZG1WdWRGQnNkV2RwYml3Z1ZYTmxja0pzYjJOcmFXNW5SWFpsYm5RcE8xeHVjSEp2WTJWemMxTnBiWEJzWlVWMlpXNTBVR3gxWjJsdVVHRnBjbk5DZVZCeWFXOXlhWFI1S0dOdmJuUnBiblZ2ZFhOUVlXbHljMFp2Y2xOcGJYQnNaVVYyWlc1MFVHeDFaMmx1TENCRGIyNTBhVzUxYjNWelJYWmxiblFwT3lBdkx5Qk9iM1FnZFhObFpDQmllU0JUYVcxd2JHVkZkbVZ1ZEZCc2RXZHBibHh1WEc1d2NtOWpaWE56Vkc5d1JYWmxiblJRWVdseWMwSjVVSEpwYjNKcGRIa29iM1JvWlhKRWFYTmpjbVYwWlVWMlpXNTBjeXdnUkdselkzSmxkR1ZGZG1WdWRDazdYRzVtZFc1amRHbHZiaUJuWlhSRmRtVnVkRkJ5YVc5eWFYUjVSbTl5VUd4MVoybHVVM2x6ZEdWdEtIUnZjRXhsZG1Wc1ZIbHdaU2tnZTF4dUlDQjJZWElnY0hKcGIzSnBkSGtnUFNCbGRtVnVkRkJ5YVc5eWFYUnBaWE11WjJWMEtIUnZjRXhsZG1Wc1ZIbHdaU2s3SUM4dklFUmxabUYxYkhRZ2RHOGdZU0JEYjI1MGFXNTFiM1Z6UlhabGJuUXVJRTV2ZEdVNklIZGxJRzFwWjJoMFhHNGdJQzh2SUhkaGJuUWdkRzhnZDJGeWJpQnBaaUIzWlNCallXNG5kQ0JrWlhSbFkzUWdkR2hsSUhCeWFXOXlhWFI1WEc0Z0lDOHZJR1p2Y2lCMGFHVWdaWFpsYm5RdVhHNWNiaUFnY21WMGRYSnVJSEJ5YVc5eWFYUjVJRDA5UFNCMWJtUmxabWx1WldRZ1B5QkRiMjUwYVc1MWIzVnpSWFpsYm5RZ09pQndjbWx2Y21sMGVUdGNibjFjYmx4dUx5OGdTVzUwWlc1MGFXOXVZV3hzZVNCdWIzUWdibUZ0WldRZ2FXMXdiM0owY3lCaVpXTmhkWE5sSUZKdmJHeDFjQ0IzYjNWc1pDQjFjMlVnWkhsdVlXMXBZeUJrYVhOd1lYUmphQ0JtYjNKY2JuWmhjaUJWYzJWeVFteHZZMnRwYm1kUWNtbHZjbWwwZVNBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOVZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlU3hjYmlBZ0lDQnlkVzVYYVhSb1VISnBiM0pwZEhrZ1BTQlRZMmhsWkhWc1pYSXVkVzV6ZEdGaWJHVmZjblZ1VjJsMGFGQnlhVzl5YVhSNU95QXZMeUJVVDBSUE9pQmpZVzRnZDJVZ2MzUnZjQ0JsZUhCdmNuUnBibWNnZEdobGMyVS9YRzVjYm5aaGNpQmZaVzVoWW14bFpDQTlJSFJ5ZFdVN1hHNW1kVzVqZEdsdmJpQnpaWFJGYm1GaWJHVmtLR1Z1WVdKc1pXUXBJSHRjYmlBZ1gyVnVZV0pzWldRZ1BTQWhJV1Z1WVdKc1pXUTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMwVnVZV0pzWldRb0tTQjdYRzRnSUhKbGRIVnliaUJmWlc1aFlteGxaRHRjYm4xY2JtWjFibU4wYVc5dUlIUnlZWEJDZFdKaWJHVmtSWFpsYm5Rb2RHOXdUR1YyWld4VWVYQmxMQ0JsYkdWdFpXNTBLU0I3WEc0Z0lIUnlZWEJGZG1WdWRFWnZjbEJzZFdkcGJrVjJaVzUwVTNsemRHVnRLR1ZzWlcxbGJuUXNJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1ptRnNjMlVwTzF4dWZWeHVablZ1WTNScGIyNGdkSEpoY0VOaGNIUjFjbVZrUlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCbGJHVnRaVzUwS1NCN1hHNGdJSFJ5WVhCRmRtVnVkRVp2Y2xCc2RXZHBia1YyWlc1MFUzbHpkR1Z0S0dWc1pXMWxiblFzSUhSdmNFeGxkbVZzVkhsd1pTd2dkSEoxWlNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhSeVlYQkZkbVZ1ZEVadmNsQnNkV2RwYmtWMlpXNTBVM2x6ZEdWdEtHTnZiblJoYVc1bGNpd2dkRzl3VEdWMlpXeFVlWEJsTENCallYQjBkWEpsS1NCN1hHNGdJSFpoY2lCc2FYTjBaVzVsY2p0Y2JseHVJQ0J6ZDJsMFkyZ2dLR2RsZEVWMlpXNTBVSEpwYjNKcGRIbEdiM0pRYkhWbmFXNVRlWE4wWlcwb2RHOXdUR1YyWld4VWVYQmxLU2tnZTF4dUlDQWdJR05oYzJVZ1JHbHpZM0psZEdWRmRtVnVkRHBjYmlBZ0lDQWdJR3hwYzNSbGJtVnlJRDBnWkdsemNHRjBZMmhFYVhOamNtVjBaVVYyWlc1MExtSnBibVFvYm5Wc2JDd2dkRzl3VEdWMlpXeFVlWEJsTENCUVRGVkhTVTVmUlZaRlRsUmZVMWxUVkVWTkxDQmpiMjUwWVdsdVpYSXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJRlZ6WlhKQ2JHOWphMmx1WjBWMlpXNTBPbHh1SUNBZ0lDQWdiR2x6ZEdWdVpYSWdQU0JrYVhOd1lYUmphRlZ6WlhKQ2JHOWphMmx1WjFWd1pHRjBaUzVpYVc1a0tHNTFiR3dzSUhSdmNFeGxkbVZzVkhsd1pTd2dVRXhWUjBsT1gwVldSVTVVWDFOWlUxUkZUU3dnWTI5dWRHRnBibVZ5S1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNCRGIyNTBhVzUxYjNWelJYWmxiblE2WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lHeHBjM1JsYm1WeUlEMGdaR2x6Y0dGMFkyaEZkbVZ1ZEM1aWFXNWtLRzUxYkd3c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnVUV4VlIwbE9YMFZXUlU1VVgxTlpVMVJGVFN3Z1kyOXVkR0ZwYm1WeUtUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQjlYRzVjYmlBZ2RtRnlJSEpoZDBWMlpXNTBUbUZ0WlNBOUlHZGxkRkpoZDBWMlpXNTBUbUZ0WlNoMGIzQk1aWFpsYkZSNWNHVXBPMXh1WEc0Z0lHbG1JQ2hqWVhCMGRYSmxLU0I3WEc0Z0lDQWdZV1JrUlhabGJuUkRZWEIwZFhKbFRHbHpkR1Z1WlhJb1kyOXVkR0ZwYm1WeUxDQnlZWGRGZG1WdWRFNWhiV1VzSUd4cGMzUmxibVZ5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCaFpHUkZkbVZ1ZEVKMVltSnNaVXhwYzNSbGJtVnlLR052Ym5SaGFXNWxjaXdnY21GM1JYWmxiblJPWVcxbExDQnNhWE4wWlc1bGNpazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWkdsemNHRjBZMmhFYVhOamNtVjBaVVYyWlc1MEtIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNCbWJIVnphRVJwYzJOeVpYUmxWWEJrWVhSbGMwbG1UbVZsWkdWa0tHNWhkR2wyWlVWMlpXNTBMblJwYldWVGRHRnRjQ2s3WEc0Z0lHUnBjMk55WlhSbFZYQmtZWFJsY3loa2FYTndZWFJqYUVWMlpXNTBMQ0IwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHTnZiblJoYVc1bGNpd2dibUYwYVhabFJYWmxiblFwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrYVhOd1lYUmphRlZ6WlhKQ2JHOWphMmx1WjFWd1pHRjBaU2gwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHTnZiblJoYVc1bGNpd2dibUYwYVhabFJYWmxiblFwSUh0Y2JpQWdjblZ1VjJsMGFGQnlhVzl5YVhSNUtGVnpaWEpDYkc5amEybHVaMUJ5YVc5eWFYUjVMQ0JrYVhOd1lYUmphRVYyWlc1MExtSnBibVFvYm5Wc2JDd2dkRzl3VEdWMlpXeFVlWEJsTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6TENCamIyNTBZV2x1WlhJc0lHNWhkR2wyWlVWMlpXNTBLU2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1JwYzNCaGRHTm9SWFpsYm5Rb2RHOXdUR1YyWld4VWVYQmxMQ0JsZG1WdWRGTjVjM1JsYlVac1lXZHpMQ0JqYjI1MFlXbHVaWElzSUc1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUdsbUlDZ2hYMlZ1WVdKc1pXUXBJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQnBaaUFvYUdGelVYVmxkV1ZrUkdselkzSmxkR1ZGZG1WdWRITW9LU0FtSmlCcGMxSmxjR3hoZVdGaWJHVkVhWE5qY21WMFpVVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTa3BJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQmhiSEpsWVdSNUlHaGhkbVVnWVNCeGRXVjFaU0J2WmlCa2FYTmpjbVYwWlNCbGRtVnVkSE1zSUdGdVpDQjBhR2x6SUdseklHRnViM1JvWlhJZ1pHbHpZM0psZEdWY2JpQWdJQ0F2THlCbGRtVnVkQ3dnZEdobGJpQjNaU0JqWVc0bmRDQmthWE53WVhSamFDQnBkQ0J5WldkaGNtUnNaWE56SUc5bUlHbDBjeUIwWVhKblpYUXNJSE5wYm1ObElIUm9aWGxjYmlBZ0lDQXZMeUJ1WldWa0lIUnZJR1JwYzNCaGRHTm9JR2x1SUc5eVpHVnlMbHh1SUNBZ0lIRjFaWFZsUkdselkzSmxkR1ZGZG1WdWRDaHVkV3hzTENBdkx5QkdiR0ZuY3lCMGFHRjBJSGRsSjNKbElHNXZkQ0JoWTNSMVlXeHNlU0JpYkc5amEyVmtJRzl1SUdGdWVYUm9hVzVuSUdGeklHWmhjaUJoY3lCM1pTQnJibTkzTGx4dUlDQWdJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z1kyOXVkR0ZwYm1WeUxDQnVZWFJwZG1WRmRtVnVkQ2s3WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdKc2IyTnJaV1JQYmlBOUlHRjBkR1Z0Y0hSVWIwUnBjM0JoZEdOb1JYWmxiblFvZEc5d1RHVjJaV3hVZVhCbExDQmxkbVZ1ZEZONWMzUmxiVVpzWVdkekxDQmpiMjUwWVdsdVpYSXNJRzVoZEdsMlpVVjJaVzUwS1R0Y2JseHVJQ0JwWmlBb1lteHZZMnRsWkU5dUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWMlVnYzNWalkyVnpjMloxYkd4NUlHUnBjM0JoZEdOb1pXUWdkR2hwY3lCbGRtVnVkQzVjYmlBZ0lDQmpiR1ZoY2tsbVEyOXVkR2x1ZFc5MWMwVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwTzF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJR2xtSUNocGMxSmxjR3hoZVdGaWJHVkVhWE5qY21WMFpVVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTa3BJSHRjYmlBZ0lDQXZMeUJVYUdseklIUm9hWE1nZEc4Z1ltVWdjbVZ3YkdGNVpXUWdiR0YwWlhJZ2IyNWpaU0IwYUdVZ2RHRnlaMlYwSUdseklHRjJZV2xzWVdKc1pTNWNiaUFnSUNCeGRXVjFaVVJwYzJOeVpYUmxSWFpsYm5Rb1lteHZZMnRsWkU5dUxDQjBiM0JNWlhabGJGUjVjR1VzSUdWMlpXNTBVM2x6ZEdWdFJteGhaM01zSUdOdmJuUmhhVzVsY2l3Z2JtRjBhWFpsUlhabGJuUXBPMXh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h4ZFdWMVpVbG1RMjl1ZEdsdWRXOTFjMFYyWlc1MEtHSnNiMk5yWldSUGJpd2dkRzl3VEdWMlpXeFVlWEJsTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6TENCamIyNTBZV2x1WlhJc0lHNWhkR2wyWlVWMlpXNTBLU2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlNBdkx5QlhaU0J1WldWa0lIUnZJR05zWldGeUlHOXViSGtnYVdZZ2QyVWdaR2xrYmlkMElIRjFaWFZsSUdKbFkyRjFjMlZjYmlBZ0x5OGdjWFZsZFdWcGJtY2dhWE1nWVdOamRXMXRkV3hoZEdsMlpTNWNibHh1WEc0Z0lHTnNaV0Z5U1daRGIyNTBhVzUxYjNWelJYWmxiblFvZEc5d1RHVjJaV3hVZVhCbExDQnVZWFJwZG1WRmRtVnVkQ2s3SUM4dklGUm9hWE1nYVhNZ2JtOTBJSEpsY0d4aGVXRmliR1VnYzI4Z2QyVW5iR3dnYVc1MmIydGxJR2wwSUdKMWRDQjNhWFJvYjNWMElHRWdkR0Z5WjJWMExGeHVJQ0F2THlCcGJpQmpZWE5sSUhSb1pTQmxkbVZ1ZENCemVYTjBaVzBnYm1WbFpITWdkRzhnZEhKaFkyVWdhWFF1WEc1Y2JpQWdlMXh1SUNBZ0lHUnBjM0JoZEdOb1JYWmxiblJHYjNKTVpXZGhZM2xRYkhWbmFXNUZkbVZ1ZEZONWMzUmxiU2gwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHNWhkR2wyWlVWMlpXNTBMQ0J1ZFd4c0tUdGNiaUFnZlZ4dWZTQXZMeUJCZEhSbGJYQjBJR1JwYzNCaGRHTm9hVzVuSUdGdUlHVjJaVzUwTGlCU1pYUjFjbTV6SUdFZ1UzVnpjR1Z1YzJWSmJuTjBZVzVqWlNCdmNpQkRiMjUwWVdsdVpYSWdhV1lnYVhRbmN5QmliRzlqYTJWa0xseHVYRzVtZFc1amRHbHZiaUJoZEhSbGJYQjBWRzlFYVhOd1lYUmphRVYyWlc1MEtIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNBdkx5QlVUMFJQT2lCWFlYSnVJR2xtSUY5bGJtRmliR1ZrSUdseklHWmhiSE5sTGx4dUlDQjJZWElnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFnUFNCblpYUkZkbVZ1ZEZSaGNtZGxkQ2h1WVhScGRtVkZkbVZ1ZENrN1hHNGdJSFpoY2lCMFlYSm5aWFJKYm5OMElEMGdaMlYwUTJ4dmMyVnpkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVW9ibUYwYVhabFJYWmxiblJVWVhKblpYUXBPMXh1WEc0Z0lHbG1JQ2gwWVhKblpYUkpibk4wSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHNWxZWEpsYzNSTmIzVnVkR1ZrSUQwZ1oyVjBUbVZoY21WemRFMXZkVzUwWldSR2FXSmxjaWgwWVhKblpYUkpibk4wS1R0Y2JseHVJQ0FnSUdsbUlDaHVaV0Z5WlhOMFRXOTFiblJsWkNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdWR2hwY3lCMGNtVmxJR2hoY3lCaVpXVnVJSFZ1Ylc5MWJuUmxaQ0JoYkhKbFlXUjVMaUJFYVhOd1lYUmphQ0IzYVhSb2IzVjBJR0VnZEdGeVoyVjBMbHh1SUNBZ0lDQWdkR0Z5WjJWMFNXNXpkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhaaGNpQjBZV2NnUFNCdVpXRnlaWE4wVFc5MWJuUmxaQzUwWVdjN1hHNWNiaUFnSUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJRk4xYzNCbGJuTmxRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR2RsZEZOMWMzQmxibk5sU1c1emRHRnVZMlZHY205dFJtbGlaWElvYm1WaGNtVnpkRTF2ZFc1MFpXUXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHBibk4wWVc1alpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGRjFaWFZsSUhSb1pTQmxkbVZ1ZENCMGJ5QmlaU0J5WlhCc1lYbGxaQ0JzWVhSbGNpNGdRV0p2Y25RZ1pHbHpjR0YwWTJocGJtY2djMmx1WTJVZ2QyVmNiaUFnSUNBZ0lDQWdJQ0F2THlCa2IyNG5kQ0IzWVc1MElIUm9hWE1nWlhabGJuUWdaR2x6Y0dGMFkyaGxaQ0IwZDJsalpTQjBhSEp2ZFdkb0lIUm9aU0JsZG1WdWRDQnplWE4wWlcwdVhHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dTV1lnZEdocGN5QnBjeUIwYUdVZ1ptbHljM1FnWkdselkzSmxkR1VnWlhabGJuUWdhVzRnZEdobElIRjFaWFZsTGlCVFkyaGxaSFZzWlNCaGJpQnBibU55WldGelpXUmNiaUFnSUNBZ0lDQWdJQ0F2THlCd2NtbHZjbWwwZVNCbWIzSWdkR2hwY3lCaWIzVnVaR0Z5ZVM1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNXpkR0Z1WTJVN1hHNGdJQ0FnSUNBZ0lIMGdMeThnVkdocGN5QnphRzkxYkdSdUozUWdhR0Z3Y0dWdUxDQnpiMjFsZEdocGJtY2dkMlZ1ZENCM2NtOXVaeUJpZFhRZ2RHOGdZWFp2YVdRZ1lteHZZMnRwYm1kY2JpQWdJQ0FnSUNBZ0x5OGdkR2hsSUhkb2IyeGxJSE41YzNSbGJTd2daR2x6Y0dGMFkyZ2dkR2hsSUdWMlpXNTBJSGRwZEdodmRYUWdZU0IwWVhKblpYUXVYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRmRoY200dVhHNWNibHh1SUNBZ0lDQWdJQ0IwWVhKblpYUkpibk4wSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0JJYjNOMFVtOXZkQ2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdjbTl2ZENBOUlHNWxZWEpsYzNSTmIzVnVkR1ZrTG5OMFlYUmxUbTlrWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY205dmRDNW9lV1J5WVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hwY3lCb1lYQndaVzV6SUdSMWNtbHVaeUJoSUhKbGNHeGhlU0J6YjIxbGRHaHBibWNnZDJWdWRDQjNjbTl1WnlCaGJtUWdhWFFnYldsbmFIUWdZbXh2WTJ0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2QyaHZiR1VnYzNsemRHVnRMbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJuWlhSRGIyNTBZV2x1WlhKR2NtOXRSbWxpWlhJb2JtVmhjbVZ6ZEUxdmRXNTBaV1FwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdkR0Z5WjJWMFNXNXpkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVsWVhKbGMzUk5iM1Z1ZEdWa0lDRTlQU0IwWVhKblpYUkpibk4wS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRWxtSUhkbElHZGxkQ0JoYmlCbGRtVnVkQ0FvWlhnNklHbHRaeUJ2Ym14dllXUXBJR0psWm05eVpTQmpiMjF0YVhSMGFXNW5JSFJvWVhSY2JpQWdJQ0FnSUNBZ0x5OGdZMjl0Y0c5dVpXNTBKM01nYlc5MWJuUXNJR2xuYm05eVpTQnBkQ0JtYjNJZ2JtOTNJQ2gwYUdGMElHbHpMQ0IwY21WaGRDQnBkQ0JoY3lCcFppQnBkQ0IzWVhNZ1lXNWNiaUFnSUNBZ0lDQWdMeThnWlhabGJuUWdiMjRnWVNCdWIyNHRVbVZoWTNRZ2RISmxaU2t1SUZkbElHMXBaMmgwSUdGc2MyOGdZMjl1YzJsa1pYSWdjWFZsZFdWcGJtY2daWFpsYm5SeklHRnVaRnh1SUNBZ0lDQWdJQ0F2THlCa2FYTndZWFJqYUdsdVp5QjBhR1Z0SUdGbWRHVnlJSFJvWlNCdGIzVnVkQzVjYmlBZ0lDQWdJQ0FnZEdGeVoyVjBTVzV6ZENBOUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJR1JwYzNCaGRHTm9SWFpsYm5SR2IzSk1aV2RoWTNsUWJIVm5hVzVGZG1WdWRGTjVjM1JsYlNoMGIzQk1aWFpsYkZSNWNHVXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXNJRzVoZEdsMlpVVjJaVzUwTENCMFlYSm5aWFJKYm5OMEtUdGNiaUFnZlNBdkx5QlhaU2R5WlNCdWIzUWdZbXh2WTJ0bFpDQnZiaUJoYm5sMGFHbHVaeTVjYmx4dVhHNGdJSEpsZEhWeWJpQnVkV3hzTzF4dWZWeHVYRzR2THlCTWFYTjBJR1JsY21sMlpXUWdabkp2YlNCSFpXTnJieUJ6YjNWeVkyVWdZMjlrWlRwY2JpOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl0YjNwcGJHeGhMMmRsWTJ0dkxXUmxkaTlpYkc5aUx6UmxOak00Wldaak56RXZiR0Y1YjNWMEwzTjBlV3hsTDNSbGMzUXZjSEp2Y0dWeWRIbGZaR0YwWVdKaGMyVXVhbk5jYm5aaGNpQnphRzl5ZEdoaGJtUlViMHh2Ym1kb1lXNWtJRDBnZTF4dUlDQmhibWx0WVhScGIyNDZJRnNuWVc1cGJXRjBhVzl1UkdWc1lYa25MQ0FuWVc1cGJXRjBhVzl1UkdseVpXTjBhVzl1Snl3Z0oyRnVhVzFoZEdsdmJrUjFjbUYwYVc5dUp5d2dKMkZ1YVcxaGRHbHZia1pwYkd4TmIyUmxKeXdnSjJGdWFXMWhkR2x2YmtsMFpYSmhkR2x2YmtOdmRXNTBKeXdnSjJGdWFXMWhkR2x2Yms1aGJXVW5MQ0FuWVc1cGJXRjBhVzl1VUd4aGVWTjBZWFJsSnl3Z0oyRnVhVzFoZEdsdmJsUnBiV2x1WjBaMWJtTjBhVzl1SjEwc1hHNGdJR0poWTJ0bmNtOTFibVE2SUZzblltRmphMmR5YjNWdVpFRjBkR0ZqYUcxbGJuUW5MQ0FuWW1GamEyZHliM1Z1WkVOc2FYQW5MQ0FuWW1GamEyZHliM1Z1WkVOdmJHOXlKeXdnSjJKaFkydG5jbTkxYm1SSmJXRm5aU2NzSUNkaVlXTnJaM0p2ZFc1a1QzSnBaMmx1Snl3Z0oySmhZMnRuY205MWJtUlFiM05wZEdsdmJsZ25MQ0FuWW1GamEyZHliM1Z1WkZCdmMybDBhVzl1V1Njc0lDZGlZV05yWjNKdmRXNWtVbVZ3WldGMEp5d2dKMkpoWTJ0bmNtOTFibVJUYVhwbEoxMHNYRzRnSUdKaFkydG5jbTkxYm1SUWIzTnBkR2x2YmpvZ1d5ZGlZV05yWjNKdmRXNWtVRzl6YVhScGIyNVlKeXdnSjJKaFkydG5jbTkxYm1SUWIzTnBkR2x2YmxrblhTeGNiaUFnWW05eVpHVnlPaUJiSjJKdmNtUmxja0p2ZEhSdmJVTnZiRzl5Snl3Z0oySnZjbVJsY2tKdmRIUnZiVk4wZVd4bEp5d2dKMkp2Y21SbGNrSnZkSFJ2YlZkcFpIUm9KeXdnSjJKdmNtUmxja2x0WVdkbFQzVjBjMlYwSnl3Z0oySnZjbVJsY2tsdFlXZGxVbVZ3WldGMEp5d2dKMkp2Y21SbGNrbHRZV2RsVTJ4cFkyVW5MQ0FuWW05eVpHVnlTVzFoWjJWVGIzVnlZMlVuTENBblltOXlaR1Z5U1cxaFoyVlhhV1IwYUNjc0lDZGliM0prWlhKTVpXWjBRMjlzYjNJbkxDQW5ZbTl5WkdWeVRHVm1kRk4wZVd4bEp5d2dKMkp2Y21SbGNreGxablJYYVdSMGFDY3NJQ2RpYjNKa1pYSlNhV2RvZEVOdmJHOXlKeXdnSjJKdmNtUmxjbEpwWjJoMFUzUjViR1VuTENBblltOXlaR1Z5VW1sbmFIUlhhV1IwYUNjc0lDZGliM0prWlhKVWIzQkRiMnh2Y2ljc0lDZGliM0prWlhKVWIzQlRkSGxzWlNjc0lDZGliM0prWlhKVWIzQlhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSkNiRzlqYTBWdVpEb2dXeWRpYjNKa1pYSkNiRzlqYTBWdVpFTnZiRzl5Snl3Z0oySnZjbVJsY2tKc2IyTnJSVzVrVTNSNWJHVW5MQ0FuWW05eVpHVnlRbXh2WTJ0RmJtUlhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSkNiRzlqYTFOMFlYSjBPaUJiSjJKdmNtUmxja0pzYjJOclUzUmhjblJEYjJ4dmNpY3NJQ2RpYjNKa1pYSkNiRzlqYTFOMFlYSjBVM1I1YkdVbkxDQW5ZbTl5WkdWeVFteHZZMnRUZEdGeWRGZHBaSFJvSjEwc1hHNGdJR0p2Y21SbGNrSnZkSFJ2YlRvZ1d5ZGliM0prWlhKQ2IzUjBiMjFEYjJ4dmNpY3NJQ2RpYjNKa1pYSkNiM1IwYjIxVGRIbHNaU2NzSUNkaWIzSmtaWEpDYjNSMGIyMVhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSkRiMnh2Y2pvZ1d5ZGliM0prWlhKQ2IzUjBiMjFEYjJ4dmNpY3NJQ2RpYjNKa1pYSk1aV1owUTI5c2IzSW5MQ0FuWW05eVpHVnlVbWxuYUhSRGIyeHZjaWNzSUNkaWIzSmtaWEpVYjNCRGIyeHZjaWRkTEZ4dUlDQmliM0prWlhKSmJXRm5aVG9nV3lkaWIzSmtaWEpKYldGblpVOTFkSE5sZENjc0lDZGliM0prWlhKSmJXRm5aVkpsY0dWaGRDY3NJQ2RpYjNKa1pYSkpiV0ZuWlZOc2FXTmxKeXdnSjJKdmNtUmxja2x0WVdkbFUyOTFjbU5sSnl3Z0oySnZjbVJsY2tsdFlXZGxWMmxrZEdnblhTeGNiaUFnWW05eVpHVnlTVzVzYVc1bFJXNWtPaUJiSjJKdmNtUmxja2x1YkdsdVpVVnVaRU52Ykc5eUp5d2dKMkp2Y21SbGNrbHViR2x1WlVWdVpGTjBlV3hsSnl3Z0oySnZjbVJsY2tsdWJHbHVaVVZ1WkZkcFpIUm9KMTBzWEc0Z0lHSnZjbVJsY2tsdWJHbHVaVk4wWVhKME9pQmJKMkp2Y21SbGNrbHViR2x1WlZOMFlYSjBRMjlzYjNJbkxDQW5ZbTl5WkdWeVNXNXNhVzVsVTNSaGNuUlRkSGxzWlNjc0lDZGliM0prWlhKSmJteHBibVZUZEdGeWRGZHBaSFJvSjEwc1hHNGdJR0p2Y21SbGNreGxablE2SUZzblltOXlaR1Z5VEdWbWRFTnZiRzl5Snl3Z0oySnZjbVJsY2t4bFpuUlRkSGxzWlNjc0lDZGliM0prWlhKTVpXWjBWMmxrZEdnblhTeGNiaUFnWW05eVpHVnlVbUZrYVhWek9pQmJKMkp2Y21SbGNrSnZkSFJ2YlV4bFpuUlNZV1JwZFhNbkxDQW5ZbTl5WkdWeVFtOTBkRzl0VW1sbmFIUlNZV1JwZFhNbkxDQW5ZbTl5WkdWeVZHOXdUR1ZtZEZKaFpHbDFjeWNzSUNkaWIzSmtaWEpVYjNCU2FXZG9kRkpoWkdsMWN5ZGRMRnh1SUNCaWIzSmtaWEpTYVdkb2REb2dXeWRpYjNKa1pYSlNhV2RvZEVOdmJHOXlKeXdnSjJKdmNtUmxjbEpwWjJoMFUzUjViR1VuTENBblltOXlaR1Z5VW1sbmFIUlhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSlRkSGxzWlRvZ1d5ZGliM0prWlhKQ2IzUjBiMjFUZEhsc1pTY3NJQ2RpYjNKa1pYSk1aV1owVTNSNWJHVW5MQ0FuWW05eVpHVnlVbWxuYUhSVGRIbHNaU2NzSUNkaWIzSmtaWEpVYjNCVGRIbHNaU2RkTEZ4dUlDQmliM0prWlhKVWIzQTZJRnNuWW05eVpHVnlWRzl3UTI5c2IzSW5MQ0FuWW05eVpHVnlWRzl3VTNSNWJHVW5MQ0FuWW05eVpHVnlWRzl3VjJsa2RHZ25YU3hjYmlBZ1ltOXlaR1Z5VjJsa2RHZzZJRnNuWW05eVpHVnlRbTkwZEc5dFYybGtkR2duTENBblltOXlaR1Z5VEdWbWRGZHBaSFJvSnl3Z0oySnZjbVJsY2xKcFoyaDBWMmxrZEdnbkxDQW5ZbTl5WkdWeVZHOXdWMmxrZEdnblhTeGNiaUFnWTI5c2RXMXVVblZzWlRvZ1d5ZGpiMngxYlc1U2RXeGxRMjlzYjNJbkxDQW5ZMjlzZFcxdVVuVnNaVk4wZVd4bEp5d2dKMk52YkhWdGJsSjFiR1ZYYVdSMGFDZGRMRnh1SUNCamIyeDFiVzV6T2lCYkoyTnZiSFZ0YmtOdmRXNTBKeXdnSjJOdmJIVnRibGRwWkhSb0oxMHNYRzRnSUdac1pYZzZJRnNuWm14bGVFSmhjMmx6Snl3Z0oyWnNaWGhIY205M0p5d2dKMlpzWlhoVGFISnBibXNuWFN4Y2JpQWdabXhsZUVac2IzYzZJRnNuWm14bGVFUnBjbVZqZEdsdmJpY3NJQ2RtYkdWNFYzSmhjQ2RkTEZ4dUlDQm1iMjUwT2lCYkoyWnZiblJHWVcxcGJIa25MQ0FuWm05dWRFWmxZWFIxY21WVFpYUjBhVzVuY3ljc0lDZG1iMjUwUzJWeWJtbHVaeWNzSUNkbWIyNTBUR0Z1WjNWaFoyVlBkbVZ5Y21sa1pTY3NJQ2RtYjI1MFUybDZaU2NzSUNkbWIyNTBVMmw2WlVGa2FuVnpkQ2NzSUNkbWIyNTBVM1J5WlhSamFDY3NJQ2RtYjI1MFUzUjViR1VuTENBblptOXVkRlpoY21saGJuUW5MQ0FuWm05dWRGWmhjbWxoYm5SQmJIUmxjbTVoZEdWekp5d2dKMlp2Ym5SV1lYSnBZVzUwUTJGd2N5Y3NJQ2RtYjI1MFZtRnlhV0Z1ZEVWaGMzUkJjMmxoYmljc0lDZG1iMjUwVm1GeWFXRnVkRXhwWjJGMGRYSmxjeWNzSUNkbWIyNTBWbUZ5YVdGdWRFNTFiV1Z5YVdNbkxDQW5abTl1ZEZaaGNtbGhiblJRYjNOcGRHbHZiaWNzSUNkbWIyNTBWMlZwWjJoMEp5d2dKMnhwYm1WSVpXbG5hSFFuWFN4Y2JpQWdabTl1ZEZaaGNtbGhiblE2SUZzblptOXVkRlpoY21saGJuUkJiSFJsY201aGRHVnpKeXdnSjJadmJuUldZWEpwWVc1MFEyRndjeWNzSUNkbWIyNTBWbUZ5YVdGdWRFVmhjM1JCYzJsaGJpY3NJQ2RtYjI1MFZtRnlhV0Z1ZEV4cFoyRjBkWEpsY3ljc0lDZG1iMjUwVm1GeWFXRnVkRTUxYldWeWFXTW5MQ0FuWm05dWRGWmhjbWxoYm5SUWIzTnBkR2x2YmlkZExGeHVJQ0JuWVhBNklGc25ZMjlzZFcxdVIyRndKeXdnSjNKdmQwZGhjQ2RkTEZ4dUlDQm5jbWxrT2lCYkoyZHlhV1JCZFhSdlEyOXNkVzF1Y3ljc0lDZG5jbWxrUVhWMGIwWnNiM2NuTENBblozSnBaRUYxZEc5U2IzZHpKeXdnSjJkeWFXUlVaVzF3YkdGMFpVRnlaV0Z6Snl3Z0oyZHlhV1JVWlcxd2JHRjBaVU52YkhWdGJuTW5MQ0FuWjNKcFpGUmxiWEJzWVhSbFVtOTNjeWRkTEZ4dUlDQm5jbWxrUVhKbFlUb2dXeWRuY21sa1EyOXNkVzF1Ulc1a0p5d2dKMmR5YVdSRGIyeDFiVzVUZEdGeWRDY3NJQ2RuY21sa1VtOTNSVzVrSnl3Z0oyZHlhV1JTYjNkVGRHRnlkQ2RkTEZ4dUlDQm5jbWxrUTI5c2RXMXVPaUJiSjJkeWFXUkRiMngxYlc1RmJtUW5MQ0FuWjNKcFpFTnZiSFZ0YmxOMFlYSjBKMTBzWEc0Z0lHZHlhV1JEYjJ4MWJXNUhZWEE2SUZzblkyOXNkVzF1UjJGd0oxMHNYRzRnSUdkeWFXUkhZWEE2SUZzblkyOXNkVzF1UjJGd0p5d2dKM0p2ZDBkaGNDZGRMRnh1SUNCbmNtbGtVbTkzT2lCYkoyZHlhV1JTYjNkRmJtUW5MQ0FuWjNKcFpGSnZkMU4wWVhKMEoxMHNYRzRnSUdkeWFXUlNiM2RIWVhBNklGc25jbTkzUjJGd0oxMHNYRzRnSUdkeWFXUlVaVzF3YkdGMFpUb2dXeWRuY21sa1ZHVnRjR3hoZEdWQmNtVmhjeWNzSUNkbmNtbGtWR1Z0Y0d4aGRHVkRiMngxYlc1ekp5d2dKMmR5YVdSVVpXMXdiR0YwWlZKdmQzTW5YU3hjYmlBZ2JHbHpkRk4wZVd4bE9pQmJKMnhwYzNSVGRIbHNaVWx0WVdkbEp5d2dKMnhwYzNSVGRIbHNaVkJ2YzJsMGFXOXVKeXdnSjJ4cGMzUlRkSGxzWlZSNWNHVW5YU3hjYmlBZ2JXRnlaMmx1T2lCYkoyMWhjbWRwYmtKdmRIUnZiU2NzSUNkdFlYSm5hVzVNWldaMEp5d2dKMjFoY21kcGJsSnBaMmgwSnl3Z0oyMWhjbWRwYmxSdmNDZGRMRnh1SUNCdFlYSnJaWEk2SUZzbmJXRnlhMlZ5Ulc1a0p5d2dKMjFoY210bGNrMXBaQ2NzSUNkdFlYSnJaWEpUZEdGeWRDZGRMRnh1SUNCdFlYTnJPaUJiSjIxaGMydERiR2x3Snl3Z0oyMWhjMnREYjIxd2IzTnBkR1VuTENBbmJXRnphMGx0WVdkbEp5d2dKMjFoYzJ0TmIyUmxKeXdnSjIxaGMydFBjbWxuYVc0bkxDQW5iV0Z6YTFCdmMybDBhVzl1V0Njc0lDZHRZWE5yVUc5emFYUnBiMjVaSnl3Z0oyMWhjMnRTWlhCbFlYUW5MQ0FuYldGemExTnBlbVVuWFN4Y2JpQWdiV0Z6YTFCdmMybDBhVzl1T2lCYkoyMWhjMnRRYjNOcGRHbHZibGduTENBbmJXRnphMUJ2YzJsMGFXOXVXU2RkTEZ4dUlDQnZkWFJzYVc1bE9pQmJKMjkxZEd4cGJtVkRiMnh2Y2ljc0lDZHZkWFJzYVc1bFUzUjViR1VuTENBbmIzVjBiR2x1WlZkcFpIUm9KMTBzWEc0Z0lHOTJaWEptYkc5M09pQmJKMjkyWlhKbWJHOTNXQ2NzSUNkdmRtVnlabXh2ZDFrblhTeGNiaUFnY0dGa1pHbHVaem9nV3lkd1lXUmthVzVuUW05MGRHOXRKeXdnSjNCaFpHUnBibWRNWldaMEp5d2dKM0JoWkdScGJtZFNhV2RvZENjc0lDZHdZV1JrYVc1blZHOXdKMTBzWEc0Z0lIQnNZV05sUTI5dWRHVnVkRG9nV3lkaGJHbG5ia052Ym5SbGJuUW5MQ0FuYW5WemRHbG1lVU52Ym5SbGJuUW5YU3hjYmlBZ2NHeGhZMlZKZEdWdGN6b2dXeWRoYkdsbmJrbDBaVzF6Snl3Z0oycDFjM1JwWm5sSmRHVnRjeWRkTEZ4dUlDQndiR0ZqWlZObGJHWTZJRnNuWVd4cFoyNVRaV3htSnl3Z0oycDFjM1JwWm5sVFpXeG1KMTBzWEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lCYkozUmxlSFJFWldOdmNtRjBhVzl1UTI5c2IzSW5MQ0FuZEdWNGRFUmxZMjl5WVhScGIyNU1hVzVsSnl3Z0ozUmxlSFJFWldOdmNtRjBhVzl1VTNSNWJHVW5YU3hjYmlBZ2RHVjRkRVZ0Y0doaGMybHpPaUJiSjNSbGVIUkZiWEJvWVhOcGMwTnZiRzl5Snl3Z0ozUmxlSFJGYlhCb1lYTnBjMU4wZVd4bEoxMHNYRzRnSUhSeVlXNXphWFJwYjI0NklGc25kSEpoYm5OcGRHbHZia1JsYkdGNUp5d2dKM1J5WVc1emFYUnBiMjVFZFhKaGRHbHZiaWNzSUNkMGNtRnVjMmwwYVc5dVVISnZjR1Z5ZEhrbkxDQW5kSEpoYm5OcGRHbHZibFJwYldsdVowWjFibU4wYVc5dUoxMHNYRzRnSUhkdmNtUlhjbUZ3T2lCYkoyOTJaWEptYkc5M1YzSmhjQ2RkWEc1OU8xeHVYRzR2S2lwY2JpQXFJRU5UVXlCd2NtOXdaWEowYVdWeklIZG9hV05vSUdGalkyVndkQ0J1ZFcxaVpYSnpJR0oxZENCaGNtVWdibTkwSUdsdUlIVnVhWFJ6SUc5bUlGd2ljSGhjSWk1Y2JpQXFMMXh1ZG1GeUlHbHpWVzVwZEd4bGMzTk9kVzFpWlhJZ1BTQjdYRzRnSUdGdWFXMWhkR2x2YmtsMFpYSmhkR2x2YmtOdmRXNTBPaUIwY25WbExGeHVJQ0JpYjNKa1pYSkpiV0ZuWlU5MWRITmxkRG9nZEhKMVpTeGNiaUFnWW05eVpHVnlTVzFoWjJWVGJHbGpaVG9nZEhKMVpTeGNiaUFnWW05eVpHVnlTVzFoWjJWWGFXUjBhRG9nZEhKMVpTeGNiaUFnWW05NFJteGxlRG9nZEhKMVpTeGNiaUFnWW05NFJteGxlRWR5YjNWd09pQjBjblZsTEZ4dUlDQmliM2hQY21ScGJtRnNSM0p2ZFhBNklIUnlkV1VzWEc0Z0lHTnZiSFZ0YmtOdmRXNTBPaUIwY25WbExGeHVJQ0JqYjJ4MWJXNXpPaUIwY25WbExGeHVJQ0JtYkdWNE9pQjBjblZsTEZ4dUlDQm1iR1Y0UjNKdmR6b2dkSEoxWlN4Y2JpQWdabXhsZUZCdmMybDBhWFpsT2lCMGNuVmxMRnh1SUNCbWJHVjRVMmh5YVc1ck9pQjBjblZsTEZ4dUlDQm1iR1Y0VG1WbllYUnBkbVU2SUhSeWRXVXNYRzRnSUdac1pYaFBjbVJsY2pvZ2RISjFaU3hjYmlBZ1ozSnBaRUZ5WldFNklIUnlkV1VzWEc0Z0lHZHlhV1JTYjNjNklIUnlkV1VzWEc0Z0lHZHlhV1JTYjNkRmJtUTZJSFJ5ZFdVc1hHNGdJR2R5YVdSU2IzZFRjR0Z1T2lCMGNuVmxMRnh1SUNCbmNtbGtVbTkzVTNSaGNuUTZJSFJ5ZFdVc1hHNGdJR2R5YVdSRGIyeDFiVzQ2SUhSeWRXVXNYRzRnSUdkeWFXUkRiMngxYlc1RmJtUTZJSFJ5ZFdVc1hHNGdJR2R5YVdSRGIyeDFiVzVUY0dGdU9pQjBjblZsTEZ4dUlDQm5jbWxrUTI5c2RXMXVVM1JoY25RNklIUnlkV1VzWEc0Z0lHWnZiblJYWldsbmFIUTZJSFJ5ZFdVc1hHNGdJR3hwYm1WRGJHRnRjRG9nZEhKMVpTeGNiaUFnYkdsdVpVaGxhV2RvZERvZ2RISjFaU3hjYmlBZ2IzQmhZMmwwZVRvZ2RISjFaU3hjYmlBZ2IzSmtaWEk2SUhSeWRXVXNYRzRnSUc5eWNHaGhibk02SUhSeWRXVXNYRzRnSUhSaFlsTnBlbVU2SUhSeWRXVXNYRzRnSUhkcFpHOTNjem9nZEhKMVpTeGNiaUFnZWtsdVpHVjRPaUIwY25WbExGeHVJQ0I2YjI5dE9pQjBjblZsTEZ4dUlDQXZMeUJUVmtjdGNtVnNZWFJsWkNCd2NtOXdaWEowYVdWelhHNGdJR1pwYkd4UGNHRmphWFI1T2lCMGNuVmxMRnh1SUNCbWJHOXZaRTl3WVdOcGRIazZJSFJ5ZFdVc1hHNGdJSE4wYjNCUGNHRmphWFI1T2lCMGNuVmxMRnh1SUNCemRISnZhMlZFWVhOb1lYSnlZWGs2SUhSeWRXVXNYRzRnSUhOMGNtOXJaVVJoYzJodlptWnpaWFE2SUhSeWRXVXNYRzRnSUhOMGNtOXJaVTFwZEdWeWJHbHRhWFE2SUhSeWRXVXNYRzRnSUhOMGNtOXJaVTl3WVdOcGRIazZJSFJ5ZFdVc1hHNGdJSE4wY205clpWZHBaSFJvT2lCMGNuVmxYRzU5TzF4dUx5b3FYRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnY0hKbFptbDRJSFpsYm1SdmNpMXpjR1ZqYVdacFl5QndjbVZtYVhnc0lHVm5PaUJYWldKcmFYUmNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JyWlhrZ2MzUjViR1VnYm1GdFpTd2daV2M2SUhSeVlXNXphWFJwYjI1RWRYSmhkR2x2Ymx4dUlDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZTQnpkSGxzWlNCdVlXMWxJSEJ5WldacGVHVmtJSGRwZEdnZ1lIQnlaV1pwZUdBc0lIQnliM0JsY214NUlHTmhiV1ZzUTJGelpXUXNJR1ZuT2x4dUlDb2dWMlZpYTJsMFZISmhibk5wZEdsdmJrUjFjbUYwYVc5dVhHNGdLaTljYmx4dVpuVnVZM1JwYjI0Z2NISmxabWw0UzJWNUtIQnlaV1pwZUN3Z2EyVjVLU0I3WEc0Z0lISmxkSFZ5YmlCd2NtVm1hWGdnS3lCclpYa3VZMmhoY2tGMEtEQXBMblJ2VlhCd1pYSkRZWE5sS0NrZ0t5QnJaWGt1YzNWaWMzUnlhVzVuS0RFcE8xeHVmVnh1THlvcVhHNGdLaUJUZFhCd2IzSjBJSE4wZVd4bElHNWhiV1Z6SUhSb1lYUWdiV0Y1SUdOdmJXVWdjR0Z6YzJWa0lHbHVJSEJ5WldacGVHVmtJR0o1SUdGa1pHbHVaeUJ3WlhKdGRYUmhkR2x2Ym5OY2JpQXFJRzltSUhabGJtUnZjaUJ3Y21WbWFYaGxjeTVjYmlBcUwxeHVYRzVjYm5aaGNpQndjbVZtYVhobGN5QTlJRnNuVjJWaWEybDBKeXdnSjIxekp5d2dKMDF2ZWljc0lDZFBKMTA3SUM4dklGVnphVzVuSUU5aWFtVmpkQzVyWlhseklHaGxjbVVzSUc5eUlHVnNjMlVnZEdobElIWmhibWxzYkdFZ1ptOXlMV2x1SUd4dmIzQWdiV0ZyWlhNZ1NVVTRJR2R2SUdsdWRHOGdZVzVjYmk4dklHbHVabWx1YVhSbElHeHZiM0FzSUdKbFkyRjFjMlVnYVhRZ2FYUmxjbUYwWlhNZ2IzWmxjaUIwYUdVZ2JtVjNiSGtnWVdSa1pXUWdjSEp2Y0hNZ2RHOXZMbHh1WEc1UFltcGxZM1F1YTJWNWN5aHBjMVZ1YVhSc1pYTnpUblZ0WW1WeUtTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHdjbTl3S1NCN1hHNGdJSEJ5WldacGVHVnpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSEJ5WldacGVDa2dlMXh1SUNBZ0lHbHpWVzVwZEd4bGMzTk9kVzFpWlhKYmNISmxabWw0UzJWNUtIQnlaV1pwZUN3Z2NISnZjQ2xkSUQwZ2FYTlZibWwwYkdWemMwNTFiV0psY2x0d2NtOXdYVHRjYmlBZ2ZTazdYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkRiMjUyWlhKMElHRWdkbUZzZFdVZ2FXNTBieUIwYUdVZ2NISnZjR1Z5SUdOemN5QjNjbWwwWVdKc1pTQjJZV3gxWlM0Z1ZHaGxJSE4wZVd4bElHNWhiV1VnWUc1aGJXVmdYRzRnS2lCemFHOTFiR1FnWW1VZ2JHOW5hV05oYkNBb2JtOGdhSGx3YUdWdWN5a3NJR0Z6SUhOd1pXTnBabWxsWkZ4dUlDb2dhVzRnWUVOVFUxQnliM0JsY25SNUxtbHpWVzVwZEd4bGMzTk9kVzFpWlhKZ0xseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCdVlXMWxJRU5UVXlCd2NtOXdaWEowZVNCdVlXMWxJSE4xWTJnZ1lYTWdZSFJ2Y0UxaGNtZHBibUF1WEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJSFpoYkhWbElFTlRVeUJ3Y205d1pYSjBlU0IyWVd4MVpTQnpkV05vSUdGeklHQXhNSEI0WUM1Y2JpQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMGdUbTl5YldGc2FYcGxaQ0J6ZEhsc1pTQjJZV3gxWlNCM2FYUm9JR1JwYldWdWMybHZibk1nWVhCd2JHbGxaQzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJrWVc1blpYSnZkWE5UZEhsc1pWWmhiSFZsS0c1aGJXVXNJSFpoYkhWbExDQnBjME4xYzNSdmJWQnliM0JsY25SNUtTQjdYRzRnSUM4dklFNXZkR1VnZEdoaGRDQjNaU2QyWlNCeVpXMXZkbVZrSUdWelkyRndaVlJsZUhSR2IzSkNjbTkzYzJWeUtDa2dZMkZzYkhNZ2FHVnlaU0J6YVc1alpTQjBhR1ZjYmlBZ0x5OGdkMmh2YkdVZ2MzUnlhVzVuSUhkcGJHd2dZbVVnWlhOallYQmxaQ0IzYUdWdUlIUm9aU0JoZEhSeWFXSjFkR1VnYVhNZ2FXNXFaV04wWldRZ2FXNTBiMXh1SUNBdkx5QjBhR1VnYldGeWEzVndMaUJKWmlCNWIzVWdjSEp2ZG1sa1pTQjFibk5oWm1VZ2RYTmxjaUJrWVhSaElHaGxjbVVnZEdobGVTQmpZVzRnYVc1cVpXTjBYRzRnSUM4dklHRnlZbWwwY21GeWVTQkRVMU1nZDJocFkyZ2diV0Y1SUdKbElIQnliMkpzWlcxaGRHbGpJQ2hKSUdOdmRXeGtiaWQwSUhKbGNISnZJSFJvYVhNcE9seHVJQ0F2THlCb2RIUndjem92TDNkM2R5NXZkMkZ6Y0M1dmNtY3ZhVzVrWlhndWNHaHdMMWhUVTE5R2FXeDBaWEpmUlhaaGMybHZibDlEYUdWaGRGOVRhR1ZsZEZ4dUlDQXZMeUJvZEhSd09pOHZkM2QzTG5Sb1pYTndZVzV1WlhJdVkyOHVkV3N2TWpBd055OHhNUzh5Tmk5MWJIUnBiV0YwWlMxNGMzTXRZM056TFdsdWFtVmpkR2x2Ymk5Y2JpQWdMeThnVkdocGN5QnBjeUJ1YjNRZ1lXNGdXRk5USUdodmJHVWdZblYwSUdsdWMzUmxZV1FnWVNCd2IzUmxiblJwWVd3Z1ExTlRJR2x1YW1WamRHbHZiaUJwYzNOMVpWeHVJQ0F2THlCM2FHbGphQ0JvWVhNZ2JHVmhaQ0IwYnlCaElHZHlaV0YwWlhJZ1pHbHpZM1Z6YzJsdmJpQmhZbTkxZENCb2IzY2dkMlVuY21VZ1oyOXBibWNnZEc5Y2JpQWdMeThnZEhKMWMzUWdWVkpNY3lCdGIzWnBibWNnWm05eWQyRnlaQzRnVTJWbElDTXlNVEUxT1RBeFhHNGdJSFpoY2lCcGMwVnRjSFI1SUQwZ2RtRnNkV1VnUFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkaWIyOXNaV0Z1SnlCOGZDQjJZV3gxWlNBOVBUMGdKeWM3WEc1Y2JpQWdhV1lnS0dselJXMXdkSGtwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKeWM3WEc0Z0lIMWNibHh1SUNCcFppQW9JV2x6UTNWemRHOXRVSEp2Y0dWeWRIa2dKaVlnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeUFtSmlCMllXeDFaU0FoUFQwZ01DQW1KaUFoS0dselZXNXBkR3hsYzNOT2RXMWlaWEl1YUdGelQzZHVVSEp2Y0dWeWRIa29ibUZ0WlNrZ0ppWWdhWE5WYm1sMGJHVnpjMDUxYldKbGNsdHVZVzFsWFNrcElIdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVWdLeUFuY0hnbk95QXZMeUJRY21WemRXMWxjeUJwYlhCc2FXTnBkQ0FuY0hnbklITjFabVpwZUNCbWIzSWdkVzVwZEd4bGMzTWdiblZ0WW1WeWMxeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlDZ25KeUFySUhaaGJIVmxLUzUwY21sdEtDazdYRzU5WEc1Y2JuWmhjaUIxY0hCbGNtTmhjMlZRWVhSMFpYSnVJRDBnTHloYlFTMWFYU2t2Wnp0Y2JuWmhjaUJ0YzFCaGRIUmxjbTRnUFNBdlhtMXpMUzg3WEc0dktpcGNiaUFxSUVoNWNHaGxibUYwWlhNZ1lTQmpZVzFsYkdOaGMyVmtJRU5UVXlCd2NtOXdaWEowZVNCdVlXMWxMQ0JtYjNJZ1pYaGhiWEJzWlRwY2JpQXFYRzRnS2lBZ0lENGdhSGx3YUdWdVlYUmxVM1I1YkdWT1lXMWxLQ2RpWVdOclozSnZkVzVrUTI5c2IzSW5LVnh1SUNvZ0lDQThJRndpWW1GamEyZHliM1Z1WkMxamIyeHZjbHdpWEc0Z0tpQWdJRDRnYUhsd2FHVnVZWFJsVTNSNWJHVk9ZVzFsS0NkTmIzcFVjbUZ1YzJsMGFXOXVKeWxjYmlBcUlDQWdQQ0JjSWkxdGIzb3RkSEpoYm5OcGRHbHZibHdpWEc0Z0tpQWdJRDRnYUhsd2FHVnVZWFJsVTNSNWJHVk9ZVzFsS0NkdGMxUnlZVzV6YVhScGIyNG5LVnh1SUNvZ0lDQThJRndpTFcxekxYUnlZVzV6YVhScGIyNWNJbHh1SUNwY2JpQXFJRUZ6SUUxdlpHVnlibWw2Y2lCemRXZG5aWE4wY3lBb2FIUjBjRG92TDIxdlpHVnlibWw2Y2k1amIyMHZaRzlqY3k4amNISmxabWw0WldRcExDQmhiaUJnYlhOZ0lIQnlaV1pwZUZ4dUlDb2dhWE1nWTI5dWRtVnlkR1ZrSUhSdklHQXRiWE10WUM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCb2VYQm9aVzVoZEdWVGRIbHNaVTVoYldVb2JtRnRaU2tnZTF4dUlDQnlaWFIxY200Z2JtRnRaUzV5WlhCc1lXTmxLSFZ3Y0dWeVkyRnpaVkJoZEhSbGNtNHNJQ2N0SkRFbktTNTBiMHh2ZDJWeVEyRnpaU2dwTG5KbGNHeGhZMlVvYlhOUVlYUjBaWEp1TENBbkxXMXpMU2NwTzF4dWZWeHVYRzUyWVhJZ2QyRnlibFpoYkdsa1UzUjViR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVHRjYmx4dWUxeHVJQ0F2THlBbmJYTlVjbUZ1YzJadmNtMG5JR2x6SUdOdmNuSmxZM1FzSUdKMWRDQjBhR1VnYjNSb1pYSWdjSEpsWm1sNFpYTWdjMmh2ZFd4a0lHSmxJR05oY0dsMFlXeHBlbVZrWEc0Z0lIWmhjaUJpWVdSV1pXNWtiM0psWkZOMGVXeGxUbUZ0WlZCaGRIUmxjbTRnUFNBdlhpZy9PbmRsWW10cGRIeHRiM3A4YnlsYlFTMWFYUzg3WEc0Z0lIWmhjaUJ0YzFCaGRIUmxjbTRrTVNBOUlDOWVMVzF6TFM4N1hHNGdJSFpoY2lCb2VYQm9aVzVRWVhSMFpYSnVJRDBnTHkwb0xpa3ZaenNnTHk4Z2MzUjViR1VnZG1Gc2RXVnpJSE5vYjNWc1pHNG5kQ0JqYjI1MFlXbHVJR0VnYzJWdGFXTnZiRzl1WEc1Y2JpQWdkbUZ5SUdKaFpGTjBlV3hsVm1Gc2RXVlhhWFJvVTJWdGFXTnZiRzl1VUdGMGRHVnliaUE5SUM4N1hGeHpLaVF2TzF4dUlDQjJZWElnZDJGeWJtVmtVM1I1YkdWT1lXMWxjeUE5SUh0OU8xeHVJQ0IyWVhJZ2QyRnlibVZrVTNSNWJHVldZV3gxWlhNZ1BTQjdmVHRjYmlBZ2RtRnlJSGRoY201bFpFWnZjazVoVGxaaGJIVmxJRDBnWm1Gc2MyVTdYRzRnSUhaaGNpQjNZWEp1WldSR2IzSkpibVpwYm1sMGVWWmhiSFZsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdkbUZ5SUdOaGJXVnNhWHBsSUQwZ1puVnVZM1JwYjI0Z0tITjBjbWx1WnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ6ZEhKcGJtY3VjbVZ3YkdGalpTaG9lWEJvWlc1UVlYUjBaWEp1TENCbWRXNWpkR2x2YmlBb1h5d2dZMmhoY21GamRHVnlLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZMmhoY21GamRHVnlMblJ2VlhCd1pYSkRZWE5sS0NrN1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdkbUZ5SUhkaGNtNUllWEJvWlc1aGRHVmtVM1I1YkdWT1lXMWxJRDBnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ0lDQnBaaUFvZDJGeWJtVmtVM1I1YkdWT1lXMWxjeTVvWVhOUGQyNVFjbTl3WlhKMGVTaHVZVzFsS1NBbUppQjNZWEp1WldSVGRIbHNaVTVoYldWelcyNWhiV1ZkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMkZ5Ym1Wa1UzUjViR1ZPWVcxbGMxdHVZVzFsWFNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0JsY25KdmNpZ25WVzV6ZFhCd2IzSjBaV1FnYzNSNWJHVWdjSEp2Y0dWeWRIa2dKWE11SUVScFpDQjViM1VnYldWaGJpQWxjejhuTENCdVlXMWxMQ0F2THlCQmN5QkJibVJwSUZOdGFYUm9JSE4xWjJkbGMzUnpYRzRnSUNBZ0x5OGdLR2gwZEhBNkx5OTNkM2N1WVc1a2FYTnRhWFJvTG1OdmJTOWliRzluTHpJd01USXZNREl2Ylc5a1pYSnVhWHB5TFhCeVpXWnBlR1ZrTHlrc0lHRnVJR0F0YlhOZ0lIQnlaV1pwZUZ4dUlDQWdJQzh2SUdseklHTnZiblpsY25SbFpDQjBieUJzYjNkbGNtTmhjMlVnWUcxellDNWNiaUFnSUNCallXMWxiR2w2WlNodVlXMWxMbkpsY0d4aFkyVW9iWE5RWVhSMFpYSnVKREVzSUNkdGN5MG5LU2twTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUIzWVhKdVFtRmtWbVZ1Wkc5eVpXUlRkSGxzWlU1aGJXVWdQU0JtZFc1amRHbHZiaUFvYm1GdFpTa2dlMXh1SUNBZ0lHbG1JQ2gzWVhKdVpXUlRkSGxzWlU1aGJXVnpMbWhoYzA5M2JsQnliM0JsY25SNUtHNWhiV1VwSUNZbUlIZGhjbTVsWkZOMGVXeGxUbUZ0WlhOYmJtRnRaVjBwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjNZWEp1WldSVGRIbHNaVTVoYldWelcyNWhiV1ZkSUQwZ2RISjFaVHRjYmx4dUlDQWdJR1Z5Y205eUtDZFZibk4xY0hCdmNuUmxaQ0IyWlc1a2IzSXRjSEpsWm1sNFpXUWdjM1I1YkdVZ2NISnZjR1Z5ZEhrZ0pYTXVJRVJwWkNCNWIzVWdiV1ZoYmlBbGN6OG5MQ0J1WVcxbExDQnVZVzFsTG1Ob1lYSkJkQ2d3S1M1MGIxVndjR1Z5UTJGelpTZ3BJQ3NnYm1GdFpTNXpiR2xqWlNneEtTazdYRzRnSUgwN1hHNWNiaUFnZG1GeUlIZGhjbTVUZEhsc1pWWmhiSFZsVjJsMGFGTmxiV2xqYjJ4dmJpQTlJR1oxYm1OMGFXOXVJQ2h1WVcxbExDQjJZV3gxWlNrZ2UxeHVJQ0FnSUdsbUlDaDNZWEp1WldSVGRIbHNaVlpoYkhWbGN5NW9ZWE5QZDI1UWNtOXdaWEowZVNoMllXeDFaU2tnSmlZZ2QyRnlibVZrVTNSNWJHVldZV3gxWlhOYmRtRnNkV1ZkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMkZ5Ym1Wa1UzUjViR1ZXWVd4MVpYTmJkbUZzZFdWZElEMGdkSEoxWlR0Y2JseHVJQ0FnSUdWeWNtOXlLRndpVTNSNWJHVWdjSEp2Y0dWeWRIa2dkbUZzZFdWeklITm9iM1ZzWkc0bmRDQmpiMjUwWVdsdUlHRWdjMlZ0YVdOdmJHOXVMaUJjSWlBcklDZFVjbmtnWENJbGN6b2dKWE5jSWlCcGJuTjBaV0ZrTGljc0lHNWhiV1VzSUhaaGJIVmxMbkpsY0d4aFkyVW9ZbUZrVTNSNWJHVldZV3gxWlZkcGRHaFRaVzFwWTI5c2IyNVFZWFIwWlhKdUxDQW5KeWtwTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUIzWVhKdVUzUjViR1ZXWVd4MVpVbHpUbUZPSUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VzSUhaaGJIVmxLU0I3WEc0Z0lDQWdhV1lnS0hkaGNtNWxaRVp2Y2s1aFRsWmhiSFZsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMkZ5Ym1Wa1JtOXlUbUZPVm1Gc2RXVWdQU0IwY25WbE8xeHVYRzRnSUNBZ1pYSnliM0lvSjJCT1lVNWdJR2x6SUdGdUlHbHVkbUZzYVdRZ2RtRnNkV1VnWm05eUlIUm9aU0JnSlhOZ0lHTnpjeUJ6ZEhsc1pTQndjbTl3WlhKMGVTNG5MQ0J1WVcxbEtUdGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2QyRnlibE4wZVd4bFZtRnNkV1ZKYzBsdVptbHVhWFI1SUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VzSUhaaGJIVmxLU0I3WEc0Z0lDQWdhV1lnS0hkaGNtNWxaRVp2Y2tsdVptbHVhWFI1Vm1Gc2RXVXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCM1lYSnVaV1JHYjNKSmJtWnBibWwwZVZaaGJIVmxJRDBnZEhKMVpUdGNibHh1SUNBZ0lHVnljbTl5S0NkZ1NXNW1hVzVwZEhsZ0lHbHpJR0Z1SUdsdWRtRnNhV1FnZG1Gc2RXVWdabTl5SUhSb1pTQmdKWE5nSUdOemN5QnpkSGxzWlNCd2NtOXdaWEowZVM0bkxDQnVZVzFsS1R0Y2JpQWdmVHRjYmx4dUlDQjNZWEp1Vm1Gc2FXUlRkSGxzWlNBOUlHWjFibU4wYVc5dUlDaHVZVzFsTENCMllXeDFaU2tnZTF4dUlDQWdJR2xtSUNodVlXMWxMbWx1WkdWNFQyWW9KeTBuS1NBK0lDMHhLU0I3WEc0Z0lDQWdJQ0IzWVhKdVNIbHdhR1Z1WVhSbFpGTjBlV3hsVG1GdFpTaHVZVzFsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dKaFpGWmxibVJ2Y21Wa1UzUjViR1ZPWVcxbFVHRjBkR1Z5Ymk1MFpYTjBLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQjNZWEp1UW1Ga1ZtVnVaRzl5WldSVGRIbHNaVTVoYldVb2JtRnRaU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hpWVdSVGRIbHNaVlpoYkhWbFYybDBhRk5sYldsamIyeHZibEJoZEhSbGNtNHVkR1Z6ZENoMllXeDFaU2twSUh0Y2JpQWdJQ0FnSUhkaGNtNVRkSGxzWlZaaGJIVmxWMmwwYUZObGJXbGpiMnh2YmlodVlXMWxMQ0IyWVd4MVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjJZV3gxWlNBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJR2xtSUNocGMwNWhUaWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJQ0FnZDJGeWJsTjBlV3hsVm1Gc2RXVkpjMDVoVGlodVlXMWxMQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZwYzBacGJtbDBaU2gyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJQ0FnZDJGeWJsTjBlV3hsVm1Gc2RXVkpjMGx1Wm1sdWFYUjVLRzVoYldVc0lIWmhiSFZsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUIzWVhKdVZtRnNhV1JUZEhsc1pTUXhJRDBnZDJGeWJsWmhiR2xrVTNSNWJHVTdYRzVjYmk4cUtseHVJQ29nVDNCbGNtRjBhVzl1Y3lCbWIzSWdaR1ZoYkdsdVp5QjNhWFJvSUVOVFV5QndjbTl3WlhKMGFXVnpMbHh1SUNvdlhHNWNiaThxS2x4dUlDb2dWR2hwY3lCamNtVmhkR1Z6SUdFZ2MzUnlhVzVuSUhSb1lYUWdhWE1nWlhod1pXTjBaV1FnZEc4Z1ltVWdaWEYxYVhaaGJHVnVkQ0IwYnlCMGFHVWdjM1I1YkdWY2JpQXFJR0YwZEhKcFluVjBaU0JuWlc1bGNtRjBaV1FnWW5rZ2MyVnlkbVZ5TFhOcFpHVWdjbVZ1WkdWeWFXNW5MaUJKZENCaWVTMXdZWE56WlhNZ2QyRnlibWx1WjNNZ1lXNWtYRzRnS2lCelpXTjFjbWwwZVNCamFHVmphM01nYzI4Z2FYUW5jeUJ1YjNRZ2MyRm1aU0IwYnlCMWMyVWdkR2hwY3lCMllXeDFaU0JtYjNJZ1lXNTVkR2hwYm1jZ2IzUm9aWElnZEdoaGJseHVJQ29nWTI5dGNHRnlhWE52Ymk0Z1NYUWdhWE1nYjI1c2VTQjFjMlZrSUdsdUlFUkZWaUJtYjNJZ1UxTlNJSFpoYkdsa1lYUnBiMjR1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSR0Z1WjJWeWIzVnpVM1J5YVc1blJtOXlVM1I1YkdWektITjBlV3hsY3lrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhObGNtbGhiR2w2WldRZ1BTQW5KenRjYmlBZ0lDQjJZWElnWkdWc2FXMXBkR1Z5SUQwZ0p5YzdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnpkSGxzWlU1aGJXVWdhVzRnYzNSNWJHVnpLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lYTjBlV3hsY3k1b1lYTlBkMjVRY205d1pYSjBlU2h6ZEhsc1pVNWhiV1VwS1NCN1hHNGdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjJZWElnYzNSNWJHVldZV3gxWlNBOUlITjBlV3hsYzF0emRIbHNaVTVoYldWZE8xeHVYRzRnSUNBZ0lDQnBaaUFvYzNSNWJHVldZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwYzBOMWMzUnZiVkJ5YjNCbGNuUjVJRDBnYzNSNWJHVk9ZVzFsTG1sdVpHVjRUMllvSnkwdEp5a2dQVDA5SURBN1hHNGdJQ0FnSUNBZ0lITmxjbWxoYkdsNlpXUWdLejBnWkdWc2FXMXBkR1Z5SUNzZ0tHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrZ1B5QnpkSGxzWlU1aGJXVWdPaUJvZVhCb1pXNWhkR1ZUZEhsc1pVNWhiV1VvYzNSNWJHVk9ZVzFsS1NrZ0t5QW5PaWM3WEc0Z0lDQWdJQ0FnSUhObGNtbGhiR2w2WldRZ0t6MGdaR0Z1WjJWeWIzVnpVM1I1YkdWV1lXeDFaU2h6ZEhsc1pVNWhiV1VzSUhOMGVXeGxWbUZzZFdVc0lHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrcE8xeHVJQ0FnSUNBZ0lDQmtaV3hwYldsMFpYSWdQU0FuT3ljN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE5sY21saGJHbDZaV1FnZkh3Z2JuVnNiRHRjYmlBZ2ZWeHVmVnh1THlvcVhHNGdLaUJUWlhSeklIUm9aU0IyWVd4MVpTQm1iM0lnYlhWc2RHbHdiR1VnYzNSNWJHVnpJRzl1SUdFZ2JtOWtaUzRnSUVsbUlHRWdkbUZzZFdVZ2FYTWdjM0JsWTJsbWFXVmtJR0Z6WEc0Z0tpQW5KeUFvWlcxd2RIa2djM1J5YVc1bktTd2dkR2hsSUdOdmNuSmxjM0J2Ym1ScGJtY2djM1I1YkdVZ2NISnZjR1Z5ZEhrZ2QybHNiQ0JpWlNCMWJuTmxkQzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFJQVFVWc1pXMWxiblI5SUc1dlpHVmNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J6ZEhsc1pYTmNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnpaWFJXWVd4MVpVWnZjbE4wZVd4bGN5aHViMlJsTENCemRIbHNaWE1wSUh0Y2JpQWdkbUZ5SUhOMGVXeGxJRDBnYm05a1pTNXpkSGxzWlR0Y2JseHVJQ0JtYjNJZ0tIWmhjaUJ6ZEhsc1pVNWhiV1VnYVc0Z2MzUjViR1Z6S1NCN1hHNGdJQ0FnYVdZZ0tDRnpkSGxzWlhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvYzNSNWJHVk9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrZ1BTQnpkSGxzWlU1aGJXVXVhVzVrWlhoUFppZ25MUzBuS1NBOVBUMGdNRHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNnaGFYTkRkWE4wYjIxUWNtOXdaWEowZVNrZ2UxeHVJQ0FnSUNBZ0lDQjNZWEp1Vm1Gc2FXUlRkSGxzWlNReEtITjBlV3hsVG1GdFpTd2djM1I1YkdWelczTjBlV3hsVG1GdFpWMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ6ZEhsc1pWWmhiSFZsSUQwZ1pHRnVaMlZ5YjNWelUzUjViR1ZXWVd4MVpTaHpkSGxzWlU1aGJXVXNJSE4wZVd4bGMxdHpkSGxzWlU1aGJXVmRMQ0JwYzBOMWMzUnZiVkJ5YjNCbGNuUjVLVHRjYmx4dUlDQWdJR2xtSUNoemRIbHNaVTVoYldVZ1BUMDlJQ2RtYkc5aGRDY3BJSHRjYmlBZ0lDQWdJSE4wZVd4bFRtRnRaU0E5SUNkamMzTkdiRzloZENjN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrcElIdGNiaUFnSUNBZ0lITjBlV3hsTG5ObGRGQnliM0JsY25SNUtITjBlV3hsVG1GdFpTd2djM1I1YkdWV1lXeDFaU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lITjBlV3hsVzNOMGVXeGxUbUZ0WlYwZ1BTQnpkSGxzWlZaaGJIVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFaaGJIVmxSVzF3ZEhrb2RtRnNkV1VwSUh0Y2JpQWdjbVYwZFhKdUlIWmhiSFZsSUQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBblltOXZiR1ZoYmljZ2ZId2dkbUZzZFdVZ1BUMDlJQ2NuTzF4dWZWeHVMeW9xWEc0Z0tpQkhhWFpsYmlCN1kyOXNiM0k2SUNkeVpXUW5MQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWQ5SUhKbGRIVnlibk1nZTF4dUlDb2dJQ0JqYjJ4dmNqb2dKMk52Ykc5eUp5eGNiaUFxSUNBZ2IzWmxjbVpzYjNkWU9pQW5iM1psY21ac2IzY25MRnh1SUNvZ0lDQnZkbVZ5Wm14dmQxazZJQ2R2ZG1WeVpteHZkeWNzWEc0Z0tpQjlMaUJVYUdseklHTmhiaUJpWlNCeVpXRmtJR0Z6SUZ3aWRHaGxJRzkyWlhKbWJHOTNXU0J3Y205d1pYSjBlU0IzWVhNZ2MyVjBJR0o1SUhSb1pTQnZkbVZ5Wm14dmQxeHVJQ29nYzJodmNuUm9ZVzVrWENJdUlGUm9ZWFFnYVhNc0lIUm9aU0IyWVd4MVpYTWdZWEpsSUhSb1pTQndjbTl3WlhKMGVTQjBhR0YwSUdWaFkyZ2dkMkZ6SUdSbGNtbDJaV1FnWm5KdmJTNWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR1Y0Y0dGdVpGTm9iM0owYUdGdVpFMWhjQ2h6ZEhsc1pYTXBJSHRjYmlBZ2RtRnlJR1Y0Y0dGdVpHVmtJRDBnZTMwN1hHNWNiaUFnWm05eUlDaDJZWElnYTJWNUlHbHVJSE4wZVd4bGN5a2dlMXh1SUNBZ0lIWmhjaUJzYjI1bmFHRnVaSE1nUFNCemFHOXlkR2hoYm1SVWIweHZibWRvWVc1a1cydGxlVjBnZkh3Z1cydGxlVjA3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4dmJtZG9ZVzVrY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaWGh3WVc1a1pXUmJiRzl1WjJoaGJtUnpXMmxkWFNBOUlHdGxlVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdaWGh3WVc1a1pXUTdYRzU5WEc0dktpcGNiaUFxSUZkb1pXNGdiV2w0YVc1bklITm9iM0owYUdGdVpDQmhibVFnYkc5dVoyaGhibVFnY0hKdmNHVnlkSGtnYm1GdFpYTXNJSGRsSUhkaGNtNGdaSFZ5YVc1bklIVndaR0YwWlhNZ2FXWmNiaUFxSUhkbElHVjRjR1ZqZENCaGJpQnBibU52Y25KbFkzUWdjbVZ6ZFd4MElIUnZJRzlqWTNWeUxpQkpiaUJ3WVhKMGFXTjFiR0Z5TENCM1pTQjNZWEp1SUdadmNqcGNiaUFxWEc0Z0tpQlZjR1JoZEdsdVp5QmhJSE5vYjNKMGFHRnVaQ0J3Y205d1pYSjBlU0FvYkc5dVoyaGhibVFnWjJWMGN5QnZkbVZ5ZDNKcGRIUmxiaWs2WEc0Z0tpQWdJSHRtYjI1ME9pQW5abTl2Snl3Z1ptOXVkRlpoY21saGJuUTZJQ2RpWVhJbmZTQXRQaUI3Wm05dWREb2dKMkpoZWljc0lHWnZiblJXWVhKcFlXNTBPaUFuWW1GeUozMWNiaUFxSUNBZ1ltVmpiMjFsY3lBdWMzUjViR1V1Wm05dWRDQTlJQ2RpWVhvblhHNGdLaUJTWlcxdmRtbHVaeUJoSUhOb2IzSjBhR0Z1WkNCd2NtOXdaWEowZVNBb2JHOXVaMmhoYm1RZ1oyVjBjeUJzYjNOMElIUnZieWs2WEc0Z0tpQWdJSHRtYjI1ME9pQW5abTl2Snl3Z1ptOXVkRlpoY21saGJuUTZJQ2RpWVhJbmZTQXRQaUI3Wm05dWRGWmhjbWxoYm5RNklDZGlZWEluZlZ4dUlDb2dJQ0JpWldOdmJXVnpJQzV6ZEhsc1pTNW1iMjUwSUQwZ0p5ZGNiaUFxSUZKbGJXOTJhVzVuSUdFZ2JHOXVaMmhoYm1RZ2NISnZjR1Z5ZEhrZ0tITm9iM1ZzWkNCeVpYWmxjblFnZEc4Z2MyaHZjblJvWVc1a095QmtiMlZ6YmlkMEtUcGNiaUFxSUNBZ2UyWnZiblE2SUNkbWIyOG5MQ0JtYjI1MFZtRnlhV0Z1ZERvZ0oySmhjaWQ5SUMwK0lIdG1iMjUwT2lBblptOXZKMzFjYmlBcUlDQWdZbVZqYjIxbGN5QXVjM1I1YkdVdVptOXVkRlpoY21saGJuUWdQU0FuSjF4dUlDb3ZYRzVjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGFHOXlkR2hoYm1SUWNtOXdaWEowZVVOdmJHeHBjMmx2YmtsdVJHVjJLSE4wZVd4bFZYQmtZWFJsY3l3Z2JtVjRkRk4wZVd4bGN5a2dlMXh1SUNCN1hHNWNiaUFnSUNCcFppQW9JVzVsZUhSVGRIbHNaWE1wSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWlhod1lXNWtaV1JWY0dSaGRHVnpJRDBnWlhod1lXNWtVMmh2Y25Sb1lXNWtUV0Z3S0hOMGVXeGxWWEJrWVhSbGN5azdYRzRnSUNBZ2RtRnlJR1Y0Y0dGdVpHVmtVM1I1YkdWeklEMGdaWGh3WVc1a1UyaHZjblJvWVc1a1RXRndLRzVsZUhSVGRIbHNaWE1wTzF4dUlDQWdJSFpoY2lCM1lYSnVaV1JCWW05MWRDQTlJSHQ5TzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYTJWNUlHbHVJR1Y0Y0dGdVpHVmtWWEJrWVhSbGN5a2dlMXh1SUNBZ0lDQWdkbUZ5SUc5eWFXZHBibUZzUzJWNUlEMGdaWGh3WVc1a1pXUlZjR1JoZEdWelcydGxlVjA3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXljbVZqZEU5eWFXZHBibUZzUzJWNUlEMGdaWGh3WVc1a1pXUlRkSGxzWlhOYmEyVjVYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHTnZjbkpsWTNSUGNtbG5hVzVoYkV0bGVTQW1KaUJ2Y21sbmFXNWhiRXRsZVNBaFBUMGdZMjl5Y21WamRFOXlhV2RwYm1Gc1MyVjVLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQjNZWEp1YVc1blMyVjVJRDBnYjNKcFoybHVZV3hMWlhrZ0t5QW5MQ2NnS3lCamIzSnlaV04wVDNKcFoybHVZV3hMWlhrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0hkaGNtNWxaRUZpYjNWMFczZGhjbTVwYm1kTFpYbGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0IzWVhKdVpXUkJZbTkxZEZ0M1lYSnVhVzVuUzJWNVhTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdaWEp5YjNJb0p5VnpJR0VnYzNSNWJHVWdjSEp2Y0dWeWRIa2daSFZ5YVc1bklISmxjbVZ1WkdWeUlDZ2xjeWtnZDJobGJpQmhJQ2NnS3lBblkyOXVabXhwWTNScGJtY2djSEp2Y0dWeWRIa2dhWE1nYzJWMElDZ2xjeWtnWTJGdUlHeGxZV1FnZEc4Z2MzUjViR2x1WnlCaWRXZHpMaUJVYnlBbklDc2dYQ0poZG05cFpDQjBhR2x6TENCa2IyNG5kQ0J0YVhnZ2MyaHZjblJvWVc1a0lHRnVaQ0J1YjI0dGMyaHZjblJvWVc1a0lIQnliM0JsY25ScFpYTWdYQ0lnS3lBblptOXlJSFJvWlNCellXMWxJSFpoYkhWbE95QnBibk4wWldGa0xDQnlaWEJzWVdObElIUm9aU0J6YUc5eWRHaGhibVFnZDJsMGFDQW5JQ3NnSjNObGNHRnlZWFJsSUhaaGJIVmxjeTRuTENCcGMxWmhiSFZsUlcxd2RIa29jM1I1YkdWVmNHUmhkR1Z6VzI5eWFXZHBibUZzUzJWNVhTa2dQeUFuVW1WdGIzWnBibWNuSURvZ0oxVndaR0YwYVc1bkp5d2diM0pwWjJsdVlXeExaWGtzSUdOdmNuSmxZM1JQY21sbmFXNWhiRXRsZVNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JpOHZJRVp2Y2lCSVZFMU1MQ0JqWlhKMFlXbHVJSFJoWjNNZ2MyaHZkV3hrSUc5dGFYUWdkR2hsYVhJZ1kyeHZjMlVnZEdGbkxpQlhaU0JyWldWd0lHRWdkMmhwZEdWc2FYTjBJR1p2Y2x4dUx5OGdkR2h2YzJVZ2MzQmxZMmxoYkMxallYTmxJSFJoWjNNdVhHNTJZWElnYjIxcGRIUmxaRU5zYjNObFZHRm5jeUE5SUh0Y2JpQWdZWEpsWVRvZ2RISjFaU3hjYmlBZ1ltRnpaVG9nZEhKMVpTeGNiaUFnWW5JNklIUnlkV1VzWEc0Z0lHTnZiRG9nZEhKMVpTeGNiaUFnWlcxaVpXUTZJSFJ5ZFdVc1hHNGdJR2h5T2lCMGNuVmxMRnh1SUNCcGJXYzZJSFJ5ZFdVc1hHNGdJR2x1Y0hWME9pQjBjblZsTEZ4dUlDQnJaWGxuWlc0NklIUnlkV1VzWEc0Z0lHeHBibXM2SUhSeWRXVXNYRzRnSUcxbGRHRTZJSFJ5ZFdVc1hHNGdJSEJoY21GdE9pQjBjblZsTEZ4dUlDQnpiM1Z5WTJVNklIUnlkV1VzWEc0Z0lIUnlZV05yT2lCMGNuVmxMRnh1SUNCM1luSTZJSFJ5ZFdVZ0x5OGdUazlVUlRvZ2JXVnVkV2wwWlcwbmN5QmpiRzl6WlNCMFlXY2djMmh2ZFd4a0lHSmxJRzl0YVhSMFpXUXNJR0oxZENCMGFHRjBJR05oZFhObGN5QndjbTlpYkdWdGN5NWNibHh1ZlR0Y2JseHVMeThnWUc5dGFYUjBaV1JEYkc5elpWUmhaM05nSUdWNFkyVndkQ0IwYUdGMElHQnRaVzUxYVhSbGJXQWdjMmh2ZFd4a0lITjBhV3hzSUdoaGRtVWdhWFJ6SUdOc2IzTnBibWNnZEdGbkxseHVYRzUyWVhJZ2RtOXBaRVZzWlcxbGJuUlVZV2R6SUQwZ1gyRnpjMmxuYmloN1hHNGdJRzFsYm5WcGRHVnRPaUIwY25WbFhHNTlMQ0J2YldsMGRHVmtRMnh2YzJWVVlXZHpLVHRjYmx4dWRtRnlJRWhVVFV3Z1BTQW5YMTlvZEcxc0p6dGNiblpoY2lCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxKRE1nUFNCdWRXeHNPMXh1WEc1N1hHNGdJRkpsWVdOMFJHVmlkV2REZFhKeVpXNTBSbkpoYldVa015QTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRnpjMlZ5ZEZaaGJHbGtVSEp2Y0hNb2RHRm5MQ0J3Y205d2N5a2dlMXh1SUNCcFppQW9JWEJ5YjNCektTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlJQzh2SUU1dmRHVWdkR2hsSUhWelpTQnZaaUJnUFQxZ0lIZG9hV05vSUdOb1pXTnJjeUJtYjNJZ2JuVnNiQ0J2Y2lCMWJtUmxabWx1WldRdVhHNWNibHh1SUNCcFppQW9kbTlwWkVWc1pXMWxiblJVWVdkelczUmhaMTBwSUh0Y2JpQWdJQ0JwWmlBb0lTaHdjbTl3Y3k1amFHbHNaSEpsYmlBOVBTQnVkV3hzSUNZbUlIQnliM0J6TG1SaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1JRDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQjBZV2NnS3lCY0lpQnBjeUJoSUhadmFXUWdaV3hsYldWdWRDQjBZV2NnWVc1a0lHMTFjM1FnYm1WcGRHaGxjaUJvWVhabElHQmphR2xzWkhKbGJtQWdibTl5SUhWelpTQmdaR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV4Z0xsd2lJQ3NnS0NCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxKRE11WjJWMFUzUmhZMnRCWkdSbGJtUjFiU2dwSUNrZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnBaaUFvY0hKdmNITXVaR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV3Z0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDZ2hLSEJ5YjNCekxtTm9hV3hrY21WdUlEMDlJRzUxYkd3cEtTQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrTmhiaUJ2Ym14NUlITmxkQ0J2Ym1VZ2IyWWdZR05vYVd4a2NtVnVZQ0J2Y2lCZ2NISnZjSE11WkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVeGdMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tDRW9kSGx3Wlc5bUlIQnliM0J6TG1SaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1JRDA5UFNBbmIySnFaV04wSnlBbUppQklWRTFNSUdsdUlIQnliM0J6TG1SaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1LU2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pnY0hKdmNITXVaR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV4Z0lHMTFjM1FnWW1VZ2FXNGdkR2hsSUdadmNtMGdZSHRmWDJoMGJXdzZJQzR1TG4xZ0xpQlFiR1ZoYzJVZ2RtbHphWFFnYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxcGJuWmhjbWxoYm5RdFpHRnVaMlZ5YjNWemJIa3RjMlYwTFdsdWJtVnlMV2gwYld3Z1ptOXlJRzF2Y21VZ2FXNW1iM0p0WVhScGIyNHVYQ0lnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCN1hHNGdJQ0FnYVdZZ0tDRndjbTl3Y3k1emRYQndjbVZ6YzBOdmJuUmxiblJGWkdsMFlXSnNaVmRoY201cGJtY2dKaVlnY0hKdmNITXVZMjl1ZEdWdWRFVmthWFJoWW14bElDWW1JSEJ5YjNCekxtTm9hV3hrY21WdUlDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkQklHTnZiWEJ2Ym1WdWRDQnBjeUJnWTI5dWRHVnVkRVZrYVhSaFlteGxZQ0JoYm1RZ1kyOXVkR0ZwYm5NZ1lHTm9hV3hrY21WdVlDQnRZVzVoWjJWa0lHSjVJQ2NnS3lBblVtVmhZM1F1SUVsMElHbHpJRzV2ZHlCNWIzVnlJSEpsYzNCdmJuTnBZbWxzYVhSNUlIUnZJR2QxWVhKaGJuUmxaU0IwYUdGMElHNXZibVVnYjJZZ0p5QXJJQ2QwYUc5elpTQnViMlJsY3lCaGNtVWdkVzVsZUhCbFkzUmxaR3g1SUcxdlpHbG1hV1ZrSUc5eUlHUjFjR3hwWTJGMFpXUXVJRlJvYVhNZ2FYTWdKeUFySUNkd2NtOWlZV0pzZVNCdWIzUWdhVzUwWlc1MGFXOXVZV3d1SnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2FXWWdLQ0VvY0hKdmNITXVjM1I1YkdVZ1BUMGdiblZzYkNCOGZDQjBlWEJsYjJZZ2NISnZjSE11YzNSNWJHVWdQVDA5SUNkdlltcGxZM1FuS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbFJvWlNCZ2MzUjViR1ZnSUhCeWIzQWdaWGh3WldOMGN5QmhJRzFoY0hCcGJtY2dabkp2YlNCemRIbHNaU0J3Y205d1pYSjBhV1Z6SUhSdklIWmhiSFZsY3l3Z2JtOTBJR0VnYzNSeWFXNW5MaUJHYjNJZ1pYaGhiWEJzWlN3Z2MzUjViR1U5ZTN0dFlYSm5hVzVTYVdkb2REb2djM0JoWTJsdVp5QXJJQ2RsYlNkOWZTQjNhR1Z1SUhWemFXNW5JRXBUV0M1Y0lpQXJJQ2dnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTUXpMbWRsZEZOMFlXTnJRV1JrWlc1a2RXMG9LU0FwSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MEtIUmhaMDVoYldVc0lIQnliM0J6S1NCN1hHNGdJR2xtSUNoMFlXZE9ZVzFsTG1sdVpHVjRUMllvSnkwbktTQTlQVDBnTFRFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSEJ5YjNCekxtbHpJRDA5UFNBbmMzUnlhVzVuSnp0Y2JpQWdmVnh1WEc0Z0lITjNhWFJqYUNBb2RHRm5UbUZ0WlNrZ2UxeHVJQ0FnSUM4dklGUm9aWE5sSUdGeVpTQnlaWE5sY25abFpDQlRWa2NnWVc1a0lFMWhkR2hOVENCbGJHVnRaVzUwY3k1Y2JpQWdJQ0F2THlCWFpTQmtiMjRuZENCdGFXNWtJSFJvYVhNZ2QyaHBkR1ZzYVhOMElIUnZieUJ0ZFdOb0lHSmxZMkYxYzJVZ2QyVWdaWGh3WldOMElHbDBJSFJ2SUc1bGRtVnlJR2R5YjNjdVhHNGdJQ0FnTHk4Z1ZHaGxJR0ZzZEdWeWJtRjBhWFpsSUdseklIUnZJSFJ5WVdOcklIUm9aU0J1WVcxbGMzQmhZMlVnYVc0Z1lTQm1aWGNnY0d4aFkyVnpJSGRvYVdOb0lHbHpJR052Ym5admJIVjBaV1F1WEc0Z0lDQWdMeThnYUhSMGNITTZMeTkzTTJNdVoybDBhSFZpTG1sdkwzZGxZbU52YlhCdmJtVnVkSE12YzNCbFl5OWpkWE4wYjIwdkkyTjFjM1J2YlMxbGJHVnRaVzUwY3kxamIzSmxMV052Ym1ObGNIUnpYRzRnSUNBZ1kyRnpaU0FuWVc1dWIzUmhkR2x2YmkxNGJXd25PbHh1SUNBZ0lHTmhjMlVnSjJOdmJHOXlMWEJ5YjJacGJHVW5PbHh1SUNBZ0lHTmhjMlVnSjJadmJuUXRabUZqWlNjNlhHNGdJQ0FnWTJGelpTQW5abTl1ZEMxbVlXTmxMWE55WXljNlhHNGdJQ0FnWTJGelpTQW5abTl1ZEMxbVlXTmxMWFZ5YVNjNlhHNGdJQ0FnWTJGelpTQW5abTl1ZEMxbVlXTmxMV1p2Y20xaGRDYzZYRzRnSUNBZ1kyRnpaU0FuWm05dWRDMW1ZV05sTFc1aGJXVW5PbHh1SUNBZ0lHTmhjMlVnSjIxcGMzTnBibWN0WjJ4NWNHZ25PbHh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQjlYRzU5WEc1Y2JpOHZJRmRvWlc0Z1lXUmthVzVuSUdGMGRISnBZblYwWlhNZ2RHOGdkR2hsSUVoVVRVd2diM0lnVTFaSElIZG9hWFJsYkdsemRDd2dZbVVnYzNWeVpTQjBiMXh1THk4Z1lXeHpieUJoWkdRZ2RHaGxiU0IwYnlCMGFHbHpJRzF2WkhWc1pTQjBieUJsYm5OMWNtVWdZMkZ6YVc1bklHRnVaQ0JwYm1OdmNuSmxZM1FnYm1GdFpWeHVMeThnZDJGeWJtbHVaM011WEc1MllYSWdjRzl6YzJsaWJHVlRkR0Z1WkdGeVpFNWhiV1Z6SUQwZ2UxeHVJQ0F2THlCSVZFMU1YRzRnSUdGalkyVndkRG9nSjJGalkyVndkQ2NzWEc0Z0lHRmpZMlZ3ZEdOb1lYSnpaWFE2SUNkaFkyTmxjSFJEYUdGeWMyVjBKeXhjYmlBZ0oyRmpZMlZ3ZEMxamFHRnljMlYwSnpvZ0oyRmpZMlZ3ZEVOb1lYSnpaWFFuTEZ4dUlDQmhZMk5sYzNOclpYazZJQ2RoWTJObGMzTkxaWGtuTEZ4dUlDQmhZM1JwYjI0NklDZGhZM1JwYjI0bkxGeHVJQ0JoYkd4dmQyWjFiR3h6WTNKbFpXNDZJQ2RoYkd4dmQwWjFiR3hUWTNKbFpXNG5MRnh1SUNCaGJIUTZJQ2RoYkhRbkxGeHVJQ0JoY3pvZ0oyRnpKeXhjYmlBZ1lYTjVibU02SUNkaGMzbHVZeWNzWEc0Z0lHRjFkRzlqWVhCcGRHRnNhWHBsT2lBbllYVjBiME5oY0dsMFlXeHBlbVVuTEZ4dUlDQmhkWFJ2WTI5dGNHeGxkR1U2SUNkaGRYUnZRMjl0Y0d4bGRHVW5MRnh1SUNCaGRYUnZZMjl5Y21WamREb2dKMkYxZEc5RGIzSnlaV04wSnl4Y2JpQWdZWFYwYjJadlkzVnpPaUFuWVhWMGIwWnZZM1Z6Snl4Y2JpQWdZWFYwYjNCc1lYazZJQ2RoZFhSdlVHeGhlU2NzWEc0Z0lHRjFkRzl6WVhabE9pQW5ZWFYwYjFOaGRtVW5MRnh1SUNCallYQjBkWEpsT2lBblkyRndkSFZ5WlNjc1hHNGdJR05sYkd4d1lXUmthVzVuT2lBblkyVnNiRkJoWkdScGJtY25MRnh1SUNCalpXeHNjM0JoWTJsdVp6b2dKMk5sYkd4VGNHRmphVzVuSnl4Y2JpQWdZMmhoYkd4bGJtZGxPaUFuWTJoaGJHeGxibWRsSnl4Y2JpQWdZMmhoY25ObGREb2dKMk5vWVhKVFpYUW5MRnh1SUNCamFHVmphMlZrT2lBblkyaGxZMnRsWkNjc1hHNGdJR05vYVd4a2NtVnVPaUFuWTJocGJHUnlaVzRuTEZ4dUlDQmphWFJsT2lBblkybDBaU2NzWEc0Z0lHTnNZWE56T2lBblkyeGhjM05PWVcxbEp5eGNiaUFnWTJ4aGMzTnBaRG9nSjJOc1lYTnpTVVFuTEZ4dUlDQmpiR0Z6YzI1aGJXVTZJQ2RqYkdGemMwNWhiV1VuTEZ4dUlDQmpiMnh6T2lBblkyOXNjeWNzWEc0Z0lHTnZiSE53WVc0NklDZGpiMnhUY0dGdUp5eGNiaUFnWTI5dWRHVnVkRG9nSjJOdmJuUmxiblFuTEZ4dUlDQmpiMjUwWlc1MFpXUnBkR0ZpYkdVNklDZGpiMjUwWlc1MFJXUnBkR0ZpYkdVbkxGeHVJQ0JqYjI1MFpYaDBiV1Z1ZFRvZ0oyTnZiblJsZUhSTlpXNTFKeXhjYmlBZ1kyOXVkSEp2YkhNNklDZGpiMjUwY205c2N5Y3NYRzRnSUdOdmJuUnliMnh6YkdsemREb2dKMk52Ym5SeWIyeHpUR2x6ZENjc1hHNGdJR052YjNKa2N6b2dKMk52YjNKa2N5Y3NYRzRnSUdOeWIzTnpiM0pwWjJsdU9pQW5ZM0p2YzNOUGNtbG5hVzRuTEZ4dUlDQmtZVzVuWlhKdmRYTnNlWE5sZEdsdWJtVnlhSFJ0YkRvZ0oyUmhibWRsY205MWMyeDVVMlYwU1c1dVpYSklWRTFNSnl4Y2JpQWdaR0YwWVRvZ0oyUmhkR0VuTEZ4dUlDQmtZWFJsZEdsdFpUb2dKMlJoZEdWVWFXMWxKeXhjYmlBZ1pHVm1ZWFZzZERvZ0oyUmxabUYxYkhRbkxGeHVJQ0JrWldaaGRXeDBZMmhsWTJ0bFpEb2dKMlJsWm1GMWJIUkRhR1ZqYTJWa0p5eGNiaUFnWkdWbVlYVnNkSFpoYkhWbE9pQW5aR1ZtWVhWc2RGWmhiSFZsSnl4Y2JpQWdaR1ZtWlhJNklDZGtaV1psY2ljc1hHNGdJR1JwY2pvZ0oyUnBjaWNzWEc0Z0lHUnBjMkZpYkdWa09pQW5aR2x6WVdKc1pXUW5MRnh1SUNCa2FYTmhZbXhsY0dsamRIVnlaV2x1Y0dsamRIVnlaVG9nSjJScGMyRmliR1ZRYVdOMGRYSmxTVzVRYVdOMGRYSmxKeXhjYmlBZ1pHOTNibXh2WVdRNklDZGtiM2R1Ykc5aFpDY3NYRzRnSUdSeVlXZG5ZV0pzWlRvZ0oyUnlZV2RuWVdKc1pTY3NYRzRnSUdWdVkzUjVjR1U2SUNkbGJtTlVlWEJsSnl4Y2JpQWdabTl5T2lBbmFIUnRiRVp2Y2ljc1hHNGdJR1p2Y20wNklDZG1iM0p0Snl4Y2JpQWdabTl5YlcxbGRHaHZaRG9nSjJadmNtMU5aWFJvYjJRbkxGeHVJQ0JtYjNKdFlXTjBhVzl1T2lBblptOXliVUZqZEdsdmJpY3NYRzRnSUdadmNtMWxibU4wZVhCbE9pQW5abTl5YlVWdVkxUjVjR1VuTEZ4dUlDQm1iM0p0Ym05MllXeHBaR0YwWlRvZ0oyWnZjbTFPYjFaaGJHbGtZWFJsSnl4Y2JpQWdabTl5YlhSaGNtZGxkRG9nSjJadmNtMVVZWEpuWlhRbkxGeHVJQ0JtY21GdFpXSnZjbVJsY2pvZ0oyWnlZVzFsUW05eVpHVnlKeXhjYmlBZ2FHVmhaR1Z5Y3pvZ0oyaGxZV1JsY25NbkxGeHVJQ0JvWldsbmFIUTZJQ2RvWldsbmFIUW5MRnh1SUNCb2FXUmtaVzQ2SUNkb2FXUmtaVzRuTEZ4dUlDQm9hV2RvT2lBbmFHbG5hQ2NzWEc0Z0lHaHlaV1k2SUNkb2NtVm1KeXhjYmlBZ2FISmxabXhoYm1jNklDZG9jbVZtVEdGdVp5Y3NYRzRnSUdoMGJXeG1iM0k2SUNkb2RHMXNSbTl5Snl4Y2JpQWdhSFIwY0dWeGRXbDJPaUFuYUhSMGNFVnhkV2wySnl4Y2JpQWdKMmgwZEhBdFpYRjFhWFluT2lBbmFIUjBjRVZ4ZFdsMkp5eGNiaUFnYVdOdmJqb2dKMmxqYjI0bkxGeHVJQ0JwWkRvZ0oybGtKeXhjYmlBZ2FXNXVaWEpvZEcxc09pQW5hVzV1WlhKSVZFMU1KeXhjYmlBZ2FXNXdkWFJ0YjJSbE9pQW5hVzV3ZFhSTmIyUmxKeXhjYmlBZ2FXNTBaV2R5YVhSNU9pQW5hVzUwWldkeWFYUjVKeXhjYmlBZ2FYTTZJQ2RwY3ljc1hHNGdJR2wwWlcxcFpEb2dKMmwwWlcxSlJDY3NYRzRnSUdsMFpXMXdjbTl3T2lBbmFYUmxiVkJ5YjNBbkxGeHVJQ0JwZEdWdGNtVm1PaUFuYVhSbGJWSmxaaWNzWEc0Z0lHbDBaVzF6WTI5d1pUb2dKMmwwWlcxVFkyOXdaU2NzWEc0Z0lHbDBaVzEwZVhCbE9pQW5hWFJsYlZSNWNHVW5MRnh1SUNCclpYbHdZWEpoYlhNNklDZHJaWGxRWVhKaGJYTW5MRnh1SUNCclpYbDBlWEJsT2lBbmEyVjVWSGx3WlNjc1hHNGdJR3RwYm1RNklDZHJhVzVrSnl4Y2JpQWdiR0ZpWld3NklDZHNZV0psYkNjc1hHNGdJR3hoYm1jNklDZHNZVzVuSnl4Y2JpQWdiR2x6ZERvZ0oyeHBjM1FuTEZ4dUlDQnNiMjl3T2lBbmJHOXZjQ2NzWEc0Z0lHeHZkem9nSjJ4dmR5Y3NYRzRnSUcxaGJtbG1aWE4wT2lBbmJXRnVhV1psYzNRbkxGeHVJQ0J0WVhKbmFXNTNhV1IwYURvZ0oyMWhjbWRwYmxkcFpIUm9KeXhjYmlBZ2JXRnlaMmx1YUdWcFoyaDBPaUFuYldGeVoybHVTR1ZwWjJoMEp5eGNiaUFnYldGNE9pQW5iV0Y0Snl4Y2JpQWdiV0Y0YkdWdVozUm9PaUFuYldGNFRHVnVaM1JvSnl4Y2JpQWdiV1ZrYVdFNklDZHRaV1JwWVNjc1hHNGdJRzFsWkdsaFozSnZkWEE2SUNkdFpXUnBZVWR5YjNWd0p5eGNiaUFnYldWMGFHOWtPaUFuYldWMGFHOWtKeXhjYmlBZ2JXbHVPaUFuYldsdUp5eGNiaUFnYldsdWJHVnVaM1JvT2lBbmJXbHVUR1Z1WjNSb0p5eGNiaUFnYlhWc2RHbHdiR1U2SUNkdGRXeDBhWEJzWlNjc1hHNGdJRzExZEdWa09pQW5iWFYwWldRbkxGeHVJQ0J1WVcxbE9pQW5ibUZ0WlNjc1hHNGdJRzV2Ylc5a2RXeGxPaUFuYm05TmIyUjFiR1VuTEZ4dUlDQnViMjVqWlRvZ0oyNXZibU5sSnl4Y2JpQWdibTkyWVd4cFpHRjBaVG9nSjI1dlZtRnNhV1JoZEdVbkxGeHVJQ0J2Y0dWdU9pQW5iM0JsYmljc1hHNGdJRzl3ZEdsdGRXMDZJQ2R2Y0hScGJYVnRKeXhjYmlBZ2NHRjBkR1Z5YmpvZ0ozQmhkSFJsY200bkxGeHVJQ0J3YkdGalpXaHZiR1JsY2pvZ0ozQnNZV05sYUc5c1pHVnlKeXhjYmlBZ2NHeGhlWE5wYm14cGJtVTZJQ2R3YkdGNWMwbHViR2x1WlNjc1hHNGdJSEJ2YzNSbGNqb2dKM0J2YzNSbGNpY3NYRzRnSUhCeVpXeHZZV1E2SUNkd2NtVnNiMkZrSnl4Y2JpQWdjSEp2Wm1sc1pUb2dKM0J5YjJacGJHVW5MRnh1SUNCeVlXUnBiMmR5YjNWd09pQW5jbUZrYVc5SGNtOTFjQ2NzWEc0Z0lISmxZV1J2Ym14NU9pQW5jbVZoWkU5dWJIa25MRnh1SUNCeVpXWmxjbkpsY25CdmJHbGplVG9nSjNKbFptVnljbVZ5VUc5c2FXTjVKeXhjYmlBZ2NtVnNPaUFuY21Wc0p5eGNiaUFnY21WeGRXbHlaV1E2SUNkeVpYRjFhWEpsWkNjc1hHNGdJSEpsZG1WeWMyVmtPaUFuY21WMlpYSnpaV1FuTEZ4dUlDQnliMnhsT2lBbmNtOXNaU2NzWEc0Z0lISnZkM002SUNkeWIzZHpKeXhjYmlBZ2NtOTNjM0JoYmpvZ0ozSnZkMU53WVc0bkxGeHVJQ0J6WVc1a1ltOTRPaUFuYzJGdVpHSnZlQ2NzWEc0Z0lITmpiM0JsT2lBbmMyTnZjR1VuTEZ4dUlDQnpZMjl3WldRNklDZHpZMjl3WldRbkxGeHVJQ0J6WTNKdmJHeHBibWM2SUNkelkzSnZiR3hwYm1jbkxGeHVJQ0J6WldGdGJHVnpjem9nSjNObFlXMXNaWE56Snl4Y2JpQWdjMlZzWldOMFpXUTZJQ2R6Wld4bFkzUmxaQ2NzWEc0Z0lITm9ZWEJsT2lBbmMyaGhjR1VuTEZ4dUlDQnphWHBsT2lBbmMybDZaU2NzWEc0Z0lITnBlbVZ6T2lBbmMybDZaWE1uTEZ4dUlDQnpjR0Z1T2lBbmMzQmhiaWNzWEc0Z0lITndaV3hzWTJobFkyczZJQ2R6Y0dWc2JFTm9aV05ySnl4Y2JpQWdjM0pqT2lBbmMzSmpKeXhjYmlBZ2MzSmpaRzlqT2lBbmMzSmpSRzlqSnl4Y2JpQWdjM0pqYkdGdVp6b2dKM055WTB4aGJtY25MRnh1SUNCemNtTnpaWFE2SUNkemNtTlRaWFFuTEZ4dUlDQnpkR0Z5ZERvZ0ozTjBZWEowSnl4Y2JpQWdjM1JsY0RvZ0ozTjBaWEFuTEZ4dUlDQnpkSGxzWlRvZ0ozTjBlV3hsSnl4Y2JpQWdjM1Z0YldGeWVUb2dKM04xYlcxaGNua25MRnh1SUNCMFlXSnBibVJsZURvZ0ozUmhZa2x1WkdWNEp5eGNiaUFnZEdGeVoyVjBPaUFuZEdGeVoyVjBKeXhjYmlBZ2RHbDBiR1U2SUNkMGFYUnNaU2NzWEc0Z0lIUjVjR1U2SUNkMGVYQmxKeXhjYmlBZ2RYTmxiV0Z3T2lBbmRYTmxUV0Z3Snl4Y2JpQWdkbUZzZFdVNklDZDJZV3gxWlNjc1hHNGdJSGRwWkhSb09pQW5kMmxrZEdnbkxGeHVJQ0IzYlc5a1pUb2dKM2R0YjJSbEp5eGNiaUFnZDNKaGNEb2dKM2R5WVhBbkxGeHVJQ0F2THlCVFZrZGNiaUFnWVdKdmRYUTZJQ2RoWW05MWRDY3NYRzRnSUdGalkyVnVkR2hsYVdkb2REb2dKMkZqWTJWdWRFaGxhV2RvZENjc1hHNGdJQ2RoWTJObGJuUXRhR1ZwWjJoMEp6b2dKMkZqWTJWdWRFaGxhV2RvZENjc1hHNGdJR0ZqWTNWdGRXeGhkR1U2SUNkaFkyTjFiWFZzWVhSbEp5eGNiaUFnWVdSa2FYUnBkbVU2SUNkaFpHUnBkR2wyWlNjc1hHNGdJR0ZzYVdkdWJXVnVkR0poYzJWc2FXNWxPaUFuWVd4cFoyNXRaVzUwUW1GelpXeHBibVVuTEZ4dUlDQW5ZV3hwWjI1dFpXNTBMV0poYzJWc2FXNWxKem9nSjJGc2FXZHViV1Z1ZEVKaGMyVnNhVzVsSnl4Y2JpQWdZV3hzYjNkeVpXOXlaR1Z5T2lBbllXeHNiM2RTWlc5eVpHVnlKeXhjYmlBZ1lXeHdhR0ZpWlhScFl6b2dKMkZzY0doaFltVjBhV01uTEZ4dUlDQmhiWEJzYVhSMVpHVTZJQ2RoYlhCc2FYUjFaR1VuTEZ4dUlDQmhjbUZpYVdObWIzSnRPaUFuWVhKaFltbGpSbTl5YlNjc1hHNGdJQ2RoY21GaWFXTXRabTl5YlNjNklDZGhjbUZpYVdOR2IzSnRKeXhjYmlBZ1lYTmpaVzUwT2lBbllYTmpaVzUwSnl4Y2JpQWdZWFIwY21saWRYUmxibUZ0WlRvZ0oyRjBkSEpwWW5WMFpVNWhiV1VuTEZ4dUlDQmhkSFJ5YVdKMWRHVjBlWEJsT2lBbllYUjBjbWxpZFhSbFZIbHdaU2NzWEc0Z0lHRjFkRzl5WlhabGNuTmxPaUFuWVhWMGIxSmxkbVZ5YzJVbkxGeHVJQ0JoZW1sdGRYUm9PaUFuWVhwcGJYVjBhQ2NzWEc0Z0lHSmhjMlZtY21WeGRXVnVZM2s2SUNkaVlYTmxSbkpsY1hWbGJtTjVKeXhjYmlBZ1ltRnpaV3hwYm1WemFHbG1kRG9nSjJKaGMyVnNhVzVsVTJocFpuUW5MRnh1SUNBblltRnpaV3hwYm1VdGMyaHBablFuT2lBblltRnpaV3hwYm1WVGFHbG1kQ2NzWEc0Z0lHSmhjMlZ3Y205bWFXeGxPaUFuWW1GelpWQnliMlpwYkdVbkxGeHVJQ0JpWW05NE9pQW5ZbUp2ZUNjc1hHNGdJR0psWjJsdU9pQW5ZbVZuYVc0bkxGeHVJQ0JpYVdGek9pQW5ZbWxoY3ljc1hHNGdJR0o1T2lBbllua25MRnh1SUNCallXeGpiVzlrWlRvZ0oyTmhiR05OYjJSbEp5eGNiaUFnWTJGd2FHVnBaMmgwT2lBblkyRndTR1ZwWjJoMEp5eGNiaUFnSjJOaGNDMW9aV2xuYUhRbk9pQW5ZMkZ3U0dWcFoyaDBKeXhjYmlBZ1kyeHBjRG9nSjJOc2FYQW5MRnh1SUNCamJHbHdjR0YwYURvZ0oyTnNhWEJRWVhSb0p5eGNiaUFnSjJOc2FYQXRjR0YwYUNjNklDZGpiR2x3VUdGMGFDY3NYRzRnSUdOc2FYQndZWFJvZFc1cGRITTZJQ2RqYkdsd1VHRjBhRlZ1YVhSekp5eGNiaUFnWTJ4cGNISjFiR1U2SUNkamJHbHdVblZzWlNjc1hHNGdJQ2RqYkdsd0xYSjFiR1VuT2lBblkyeHBjRkoxYkdVbkxGeHVJQ0JqYjJ4dmNqb2dKMk52Ykc5eUp5eGNiaUFnWTI5c2IzSnBiblJsY25CdmJHRjBhVzl1T2lBblkyOXNiM0pKYm5SbGNuQnZiR0YwYVc5dUp5eGNiaUFnSjJOdmJHOXlMV2x1ZEdWeWNHOXNZWFJwYjI0bk9pQW5ZMjlzYjNKSmJuUmxjbkJ2YkdGMGFXOXVKeXhjYmlBZ1kyOXNiM0pwYm5SbGNuQnZiR0YwYVc5dVptbHNkR1Z5Y3pvZ0oyTnZiRzl5U1c1MFpYSndiMnhoZEdsdmJrWnBiSFJsY25NbkxGeHVJQ0FuWTI5c2IzSXRhVzUwWlhKd2IyeGhkR2x2YmkxbWFXeDBaWEp6SnpvZ0oyTnZiRzl5U1c1MFpYSndiMnhoZEdsdmJrWnBiSFJsY25NbkxGeHVJQ0JqYjJ4dmNuQnliMlpwYkdVNklDZGpiMnh2Y2xCeWIyWnBiR1VuTEZ4dUlDQW5ZMjlzYjNJdGNISnZabWxzWlNjNklDZGpiMnh2Y2xCeWIyWnBiR1VuTEZ4dUlDQmpiMnh2Y25KbGJtUmxjbWx1WnpvZ0oyTnZiRzl5VW1WdVpHVnlhVzVuSnl4Y2JpQWdKMk52Ykc5eUxYSmxibVJsY21sdVp5YzZJQ2RqYjJ4dmNsSmxibVJsY21sdVp5Y3NYRzRnSUdOdmJuUmxiblJ6WTNKcGNIUjBlWEJsT2lBblkyOXVkR1Z1ZEZOamNtbHdkRlI1Y0dVbkxGeHVJQ0JqYjI1MFpXNTBjM1I1YkdWMGVYQmxPaUFuWTI5dWRHVnVkRk4wZVd4bFZIbHdaU2NzWEc0Z0lHTjFjbk52Y2pvZ0oyTjFjbk52Y2ljc1hHNGdJR040T2lBblkzZ25MRnh1SUNCamVUb2dKMk41Snl4Y2JpQWdaRG9nSjJRbkxGeHVJQ0JrWVhSaGRIbHdaVG9nSjJSaGRHRjBlWEJsSnl4Y2JpQWdaR1ZqWld4bGNtRjBaVG9nSjJSbFkyVnNaWEpoZEdVbkxGeHVJQ0JrWlhOalpXNTBPaUFuWkdWelkyVnVkQ2NzWEc0Z0lHUnBabVoxYzJWamIyNXpkR0Z1ZERvZ0oyUnBabVoxYzJWRGIyNXpkR0Z1ZENjc1hHNGdJR1JwY21WamRHbHZiam9nSjJScGNtVmpkR2x2Ymljc1hHNGdJR1JwYzNCc1lYazZJQ2RrYVhOd2JHRjVKeXhjYmlBZ1pHbDJhWE52Y2pvZ0oyUnBkbWx6YjNJbkxGeHVJQ0JrYjIxcGJtRnVkR0poYzJWc2FXNWxPaUFuWkc5dGFXNWhiblJDWVhObGJHbHVaU2NzWEc0Z0lDZGtiMjFwYm1GdWRDMWlZWE5sYkdsdVpTYzZJQ2RrYjIxcGJtRnVkRUpoYzJWc2FXNWxKeXhjYmlBZ1pIVnlPaUFuWkhWeUp5eGNiaUFnWkhnNklDZGtlQ2NzWEc0Z0lHUjVPaUFuWkhrbkxGeHVJQ0JsWkdkbGJXOWtaVG9nSjJWa1oyVk5iMlJsSnl4Y2JpQWdaV3hsZG1GMGFXOXVPaUFuWld4bGRtRjBhVzl1Snl4Y2JpQWdaVzVoWW14bFltRmphMmR5YjNWdVpEb2dKMlZ1WVdKc1pVSmhZMnRuY205MWJtUW5MRnh1SUNBblpXNWhZbXhsTFdKaFkydG5jbTkxYm1Rbk9pQW5aVzVoWW14bFFtRmphMmR5YjNWdVpDY3NYRzRnSUdWdVpEb2dKMlZ1WkNjc1hHNGdJR1Y0Y0c5dVpXNTBPaUFuWlhod2IyNWxiblFuTEZ4dUlDQmxlSFJsY201aGJISmxjMjkxY21ObGMzSmxjWFZwY21Wa09pQW5aWGgwWlhKdVlXeFNaWE52ZFhKalpYTlNaWEYxYVhKbFpDY3NYRzRnSUdacGJHdzZJQ2RtYVd4c0p5eGNiaUFnWm1sc2JHOXdZV05wZEhrNklDZG1hV3hzVDNCaFkybDBlU2NzWEc0Z0lDZG1hV3hzTFc5d1lXTnBkSGtuT2lBblptbHNiRTl3WVdOcGRIa25MRnh1SUNCbWFXeHNjblZzWlRvZ0oyWnBiR3hTZFd4bEp5eGNiaUFnSjJacGJHd3RjblZzWlNjNklDZG1hV3hzVW5Wc1pTY3NYRzRnSUdacGJIUmxjam9nSjJacGJIUmxjaWNzWEc0Z0lHWnBiSFJsY25KbGN6b2dKMlpwYkhSbGNsSmxjeWNzWEc0Z0lHWnBiSFJsY25WdWFYUnpPaUFuWm1sc2RHVnlWVzVwZEhNbkxGeHVJQ0JtYkc5dlpHOXdZV05wZEhrNklDZG1iRzl2WkU5d1lXTnBkSGtuTEZ4dUlDQW5abXh2YjJRdGIzQmhZMmwwZVNjNklDZG1iRzl2WkU5d1lXTnBkSGtuTEZ4dUlDQm1iRzl2WkdOdmJHOXlPaUFuWm14dmIyUkRiMnh2Y2ljc1hHNGdJQ2RtYkc5dlpDMWpiMnh2Y2ljNklDZG1iRzl2WkVOdmJHOXlKeXhjYmlBZ1ptOWpkWE5oWW14bE9pQW5abTlqZFhOaFlteGxKeXhjYmlBZ1ptOXVkR1poYldsc2VUb2dKMlp2Ym5SR1lXMXBiSGtuTEZ4dUlDQW5abTl1ZEMxbVlXMXBiSGtuT2lBblptOXVkRVpoYldsc2VTY3NYRzRnSUdadmJuUnphWHBsT2lBblptOXVkRk5wZW1VbkxGeHVJQ0FuWm05dWRDMXphWHBsSnpvZ0oyWnZiblJUYVhwbEp5eGNiaUFnWm05dWRITnBlbVZoWkdwMWMzUTZJQ2RtYjI1MFUybDZaVUZrYW5WemRDY3NYRzRnSUNkbWIyNTBMWE5wZW1VdFlXUnFkWE4wSnpvZ0oyWnZiblJUYVhwbFFXUnFkWE4wSnl4Y2JpQWdabTl1ZEhOMGNtVjBZMmc2SUNkbWIyNTBVM1J5WlhSamFDY3NYRzRnSUNkbWIyNTBMWE4wY21WMFkyZ25PaUFuWm05dWRGTjBjbVYwWTJnbkxGeHVJQ0JtYjI1MGMzUjViR1U2SUNkbWIyNTBVM1I1YkdVbkxGeHVJQ0FuWm05dWRDMXpkSGxzWlNjNklDZG1iMjUwVTNSNWJHVW5MRnh1SUNCbWIyNTBkbUZ5YVdGdWREb2dKMlp2Ym5SV1lYSnBZVzUwSnl4Y2JpQWdKMlp2Ym5RdGRtRnlhV0Z1ZENjNklDZG1iMjUwVm1GeWFXRnVkQ2NzWEc0Z0lHWnZiblIzWldsbmFIUTZJQ2RtYjI1MFYyVnBaMmgwSnl4Y2JpQWdKMlp2Ym5RdGQyVnBaMmgwSnpvZ0oyWnZiblJYWldsbmFIUW5MRnh1SUNCbWIzSnRZWFE2SUNkbWIzSnRZWFFuTEZ4dUlDQm1jbTl0T2lBblpuSnZiU2NzWEc0Z0lHWjRPaUFuWm5nbkxGeHVJQ0JtZVRvZ0oyWjVKeXhjYmlBZ1p6RTZJQ2RuTVNjc1hHNGdJR2N5T2lBblp6SW5MRnh1SUNCbmJIbHdhRzVoYldVNklDZG5iSGx3YUU1aGJXVW5MRnh1SUNBbloyeDVjR2d0Ym1GdFpTYzZJQ2RuYkhsd2FFNWhiV1VuTEZ4dUlDQm5iSGx3YUc5eWFXVnVkR0YwYVc5dWFHOXlhWHB2Ym5SaGJEb2dKMmRzZVhCb1QzSnBaVzUwWVhScGIyNUliM0pwZW05dWRHRnNKeXhjYmlBZ0oyZHNlWEJvTFc5eWFXVnVkR0YwYVc5dUxXaHZjbWw2YjI1MFlXd25PaUFuWjJ4NWNHaFBjbWxsYm5SaGRHbHZia2h2Y21sNmIyNTBZV3duTEZ4dUlDQm5iSGx3YUc5eWFXVnVkR0YwYVc5dWRtVnlkR2xqWVd3NklDZG5iSGx3YUU5eWFXVnVkR0YwYVc5dVZtVnlkR2xqWVd3bkxGeHVJQ0FuWjJ4NWNHZ3RiM0pwWlc1MFlYUnBiMjR0ZG1WeWRHbGpZV3duT2lBbloyeDVjR2hQY21sbGJuUmhkR2x2YmxabGNuUnBZMkZzSnl4Y2JpQWdaMng1Y0doeVpXWTZJQ2RuYkhsd2FGSmxaaWNzWEc0Z0lHZHlZV1JwWlc1MGRISmhibk5tYjNKdE9pQW5aM0poWkdsbGJuUlVjbUZ1YzJadmNtMG5MRnh1SUNCbmNtRmthV1Z1ZEhWdWFYUnpPaUFuWjNKaFpHbGxiblJWYm1sMGN5Y3NYRzRnSUdoaGJtZHBibWM2SUNkb1lXNW5hVzVuSnl4Y2JpQWdhRzl5YVhwaFpIWjRPaUFuYUc5eWFYcEJaSFpZSnl4Y2JpQWdKMmh2Y21sNkxXRmtkaTE0SnpvZ0oyaHZjbWw2UVdSMldDY3NYRzRnSUdodmNtbDZiM0pwWjJsdWVEb2dKMmh2Y21sNlQzSnBaMmx1V0Njc1hHNGdJQ2RvYjNKcGVpMXZjbWxuYVc0dGVDYzZJQ2RvYjNKcGVrOXlhV2RwYmxnbkxGeHVJQ0JwWkdWdlozSmhjR2hwWXpvZ0oybGtaVzluY21Gd2FHbGpKeXhjYmlBZ2FXMWhaMlZ5Wlc1a1pYSnBibWM2SUNkcGJXRm5aVkpsYm1SbGNtbHVaeWNzWEc0Z0lDZHBiV0ZuWlMxeVpXNWtaWEpwYm1jbk9pQW5hVzFoWjJWU1pXNWtaWEpwYm1jbkxGeHVJQ0JwYmpJNklDZHBiakluTEZ4dUlDQnBiam9nSjJsdUp5eGNiaUFnYVc1c2FYTjBPaUFuYVc1c2FYTjBKeXhjYmlBZ2FXNTBaWEpqWlhCME9pQW5hVzUwWlhKalpYQjBKeXhjYmlBZ2F6RTZJQ2RyTVNjc1hHNGdJR3N5T2lBbmF6SW5MRnh1SUNCck16b2dKMnN6Snl4Y2JpQWdhelE2SUNkck5DY3NYRzRnSUdzNklDZHJKeXhjYmlBZ2EyVnlibVZzYldGMGNtbDRPaUFuYTJWeWJtVnNUV0YwY21sNEp5eGNiaUFnYTJWeWJtVnNkVzVwZEd4bGJtZDBhRG9nSjJ0bGNtNWxiRlZ1YVhSTVpXNW5kR2duTEZ4dUlDQnJaWEp1YVc1bk9pQW5hMlZ5Ym1sdVp5Y3NYRzRnSUd0bGVYQnZhVzUwY3pvZ0oydGxlVkJ2YVc1MGN5Y3NYRzRnSUd0bGVYTndiR2x1WlhNNklDZHJaWGxUY0d4cGJtVnpKeXhjYmlBZ2EyVjVkR2x0WlhNNklDZHJaWGxVYVcxbGN5Y3NYRzRnSUd4bGJtZDBhR0ZrYW5WemREb2dKMnhsYm1kMGFFRmthblZ6ZENjc1hHNGdJR3hsZEhSbGNuTndZV05wYm1jNklDZHNaWFIwWlhKVGNHRmphVzVuSnl4Y2JpQWdKMnhsZEhSbGNpMXpjR0ZqYVc1bkp6b2dKMnhsZEhSbGNsTndZV05wYm1jbkxGeHVJQ0JzYVdkb2RHbHVaMk52Ykc5eU9pQW5iR2xuYUhScGJtZERiMnh2Y2ljc1hHNGdJQ2RzYVdkb2RHbHVaeTFqYjJ4dmNpYzZJQ2RzYVdkb2RHbHVaME52Ykc5eUp5eGNiaUFnYkdsdGFYUnBibWRqYjI1bFlXNW5iR1U2SUNkc2FXMXBkR2x1WjBOdmJtVkJibWRzWlNjc1hHNGdJR3h2WTJGc09pQW5iRzlqWVd3bkxGeHVJQ0J0WVhKclpYSmxibVE2SUNkdFlYSnJaWEpGYm1RbkxGeHVJQ0FuYldGeWEyVnlMV1Z1WkNjNklDZHRZWEpyWlhKRmJtUW5MRnh1SUNCdFlYSnJaWEpvWldsbmFIUTZJQ2R0WVhKclpYSklaV2xuYUhRbkxGeHVJQ0J0WVhKclpYSnRhV1E2SUNkdFlYSnJaWEpOYVdRbkxGeHVJQ0FuYldGeWEyVnlMVzFwWkNjNklDZHRZWEpyWlhKTmFXUW5MRnh1SUNCdFlYSnJaWEp6ZEdGeWREb2dKMjFoY210bGNsTjBZWEowSnl4Y2JpQWdKMjFoY210bGNpMXpkR0Z5ZENjNklDZHRZWEpyWlhKVGRHRnlkQ2NzWEc0Z0lHMWhjbXRsY25WdWFYUnpPaUFuYldGeWEyVnlWVzVwZEhNbkxGeHVJQ0J0WVhKclpYSjNhV1IwYURvZ0oyMWhjbXRsY2xkcFpIUm9KeXhjYmlBZ2JXRnphem9nSjIxaGMyc25MRnh1SUNCdFlYTnJZMjl1ZEdWdWRIVnVhWFJ6T2lBbmJXRnphME52Ym5SbGJuUlZibWwwY3ljc1hHNGdJRzFoYzJ0MWJtbDBjem9nSjIxaGMydFZibWwwY3ljc1hHNGdJRzFoZEdobGJXRjBhV05oYkRvZ0oyMWhkR2hsYldGMGFXTmhiQ2NzWEc0Z0lHMXZaR1U2SUNkdGIyUmxKeXhjYmlBZ2JuVnRiMk4wWVhabGN6b2dKMjUxYlU5amRHRjJaWE1uTEZ4dUlDQnZabVp6WlhRNklDZHZabVp6WlhRbkxGeHVJQ0J2Y0dGamFYUjVPaUFuYjNCaFkybDBlU2NzWEc0Z0lHOXdaWEpoZEc5eU9pQW5iM0JsY21GMGIzSW5MRnh1SUNCdmNtUmxjam9nSjI5eVpHVnlKeXhjYmlBZ2IzSnBaVzUwT2lBbmIzSnBaVzUwSnl4Y2JpQWdiM0pwWlc1MFlYUnBiMjQ2SUNkdmNtbGxiblJoZEdsdmJpY3NYRzRnSUc5eWFXZHBiam9nSjI5eWFXZHBiaWNzWEc0Z0lHOTJaWEptYkc5M09pQW5iM1psY21ac2IzY25MRnh1SUNCdmRtVnliR2x1WlhCdmMybDBhVzl1T2lBbmIzWmxjbXhwYm1WUWIzTnBkR2x2Ymljc1hHNGdJQ2R2ZG1WeWJHbHVaUzF3YjNOcGRHbHZiaWM2SUNkdmRtVnliR2x1WlZCdmMybDBhVzl1Snl4Y2JpQWdiM1psY214cGJtVjBhR2xqYTI1bGMzTTZJQ2R2ZG1WeWJHbHVaVlJvYVdOcmJtVnpjeWNzWEc0Z0lDZHZkbVZ5YkdsdVpTMTBhR2xqYTI1bGMzTW5PaUFuYjNabGNteHBibVZVYUdsamEyNWxjM01uTEZ4dUlDQndZV2x1ZEc5eVpHVnlPaUFuY0dGcGJuUlBjbVJsY2ljc1hHNGdJQ2R3WVdsdWRDMXZjbVJsY2ljNklDZHdZV2x1ZEU5eVpHVnlKeXhjYmlBZ2NHRnViM05sTVRvZ0ozQmhibTl6WlRFbkxGeHVJQ0FuY0dGdWIzTmxMVEVuT2lBbmNHRnViM05sTVNjc1hHNGdJSEJoZEdoc1pXNW5kR2c2SUNkd1lYUm9UR1Z1WjNSb0p5eGNiaUFnY0dGMGRHVnlibU52Ym5SbGJuUjFibWwwY3pvZ0ozQmhkSFJsY201RGIyNTBaVzUwVlc1cGRITW5MRnh1SUNCd1lYUjBaWEp1ZEhKaGJuTm1iM0p0T2lBbmNHRjBkR1Z5YmxSeVlXNXpabTl5YlNjc1hHNGdJSEJoZEhSbGNtNTFibWwwY3pvZ0ozQmhkSFJsY201VmJtbDBjeWNzWEc0Z0lIQnZhVzUwWlhKbGRtVnVkSE02SUNkd2IybHVkR1Z5UlhabGJuUnpKeXhjYmlBZ0ozQnZhVzUwWlhJdFpYWmxiblJ6SnpvZ0ozQnZhVzUwWlhKRmRtVnVkSE1uTEZ4dUlDQndiMmx1ZEhNNklDZHdiMmx1ZEhNbkxGeHVJQ0J3YjJsdWRITmhkSGc2SUNkd2IybHVkSE5CZEZnbkxGeHVJQ0J3YjJsdWRITmhkSGs2SUNkd2IybHVkSE5CZEZrbkxGeHVJQ0J3YjJsdWRITmhkSG82SUNkd2IybHVkSE5CZEZvbkxGeHVJQ0J3Y21WbWFYZzZJQ2R3Y21WbWFYZ25MRnh1SUNCd2NtVnpaWEoyWldGc2NHaGhPaUFuY0hKbGMyVnlkbVZCYkhCb1lTY3NYRzRnSUhCeVpYTmxjblpsWVhOd1pXTjBjbUYwYVc4NklDZHdjbVZ6WlhKMlpVRnpjR1ZqZEZKaGRHbHZKeXhjYmlBZ2NISnBiV2wwYVhabGRXNXBkSE02SUNkd2NtbHRhWFJwZG1WVmJtbDBjeWNzWEc0Z0lIQnliM0JsY25SNU9pQW5jSEp2Y0dWeWRIa25MRnh1SUNCeU9pQW5jaWNzWEc0Z0lISmhaR2wxY3pvZ0ozSmhaR2wxY3ljc1hHNGdJSEpsWm5nNklDZHlaV1pZSnl4Y2JpQWdjbVZtZVRvZ0ozSmxabGtuTEZ4dUlDQnlaVzVrWlhKcGJtZHBiblJsYm5RNklDZHlaVzVrWlhKcGJtZEpiblJsYm5RbkxGeHVJQ0FuY21WdVpHVnlhVzVuTFdsdWRHVnVkQ2M2SUNkeVpXNWtaWEpwYm1kSmJuUmxiblFuTEZ4dUlDQnlaWEJsWVhSamIzVnVkRG9nSjNKbGNHVmhkRU52ZFc1MEp5eGNiaUFnY21Wd1pXRjBaSFZ5T2lBbmNtVndaV0YwUkhWeUp5eGNiaUFnY21WeGRXbHlaV1JsZUhSbGJuTnBiMjV6T2lBbmNtVnhkV2x5WldSRmVIUmxibk5wYjI1ekp5eGNiaUFnY21WeGRXbHlaV1JtWldGMGRYSmxjem9nSjNKbGNYVnBjbVZrUm1WaGRIVnlaWE1uTEZ4dUlDQnlaWE52ZFhKalpUb2dKM0psYzI5MWNtTmxKeXhjYmlBZ2NtVnpkR0Z5ZERvZ0ozSmxjM1JoY25RbkxGeHVJQ0J5WlhOMWJIUTZJQ2R5WlhOMWJIUW5MRnh1SUNCeVpYTjFiSFJ6T2lBbmNtVnpkV3gwY3ljc1hHNGdJSEp2ZEdGMFpUb2dKM0p2ZEdGMFpTY3NYRzRnSUhKNE9pQW5jbmduTEZ4dUlDQnllVG9nSjNKNUp5eGNiaUFnYzJOaGJHVTZJQ2R6WTJGc1pTY3NYRzRnSUhObFkzVnlhWFI1T2lBbmMyVmpkWEpwZEhrbkxGeHVJQ0J6WldWa09pQW5jMlZsWkNjc1hHNGdJSE5vWVhCbGNtVnVaR1Z5YVc1bk9pQW5jMmhoY0dWU1pXNWtaWEpwYm1jbkxGeHVJQ0FuYzJoaGNHVXRjbVZ1WkdWeWFXNW5Kem9nSjNOb1lYQmxVbVZ1WkdWeWFXNW5KeXhjYmlBZ2MyeHZjR1U2SUNkemJHOXdaU2NzWEc0Z0lITndZV05wYm1jNklDZHpjR0ZqYVc1bkp5eGNiaUFnYzNCbFkzVnNZWEpqYjI1emRHRnVkRG9nSjNOd1pXTjFiR0Z5UTI5dWMzUmhiblFuTEZ4dUlDQnpjR1ZqZFd4aGNtVjRjRzl1Wlc1ME9pQW5jM0JsWTNWc1lYSkZlSEJ2Ym1WdWRDY3NYRzRnSUhOd1pXVmtPaUFuYzNCbFpXUW5MRnh1SUNCemNISmxZV1J0WlhSb2IyUTZJQ2R6Y0hKbFlXUk5aWFJvYjJRbkxGeHVJQ0J6ZEdGeWRHOW1abk5sZERvZ0ozTjBZWEowVDJabWMyVjBKeXhjYmlBZ2MzUmtaR1YyYVdGMGFXOXVPaUFuYzNSa1JHVjJhV0YwYVc5dUp5eGNiaUFnYzNSbGJXZzZJQ2R6ZEdWdGFDY3NYRzRnSUhOMFpXMTJPaUFuYzNSbGJYWW5MRnh1SUNCemRHbDBZMmgwYVd4bGN6b2dKM04wYVhSamFGUnBiR1Z6Snl4Y2JpQWdjM1J2Y0dOdmJHOXlPaUFuYzNSdmNFTnZiRzl5Snl4Y2JpQWdKM04wYjNBdFkyOXNiM0luT2lBbmMzUnZjRU52Ykc5eUp5eGNiaUFnYzNSdmNHOXdZV05wZEhrNklDZHpkRzl3VDNCaFkybDBlU2NzWEc0Z0lDZHpkRzl3TFc5d1lXTnBkSGtuT2lBbmMzUnZjRTl3WVdOcGRIa25MRnh1SUNCemRISnBhMlYwYUhKdmRXZG9jRzl6YVhScGIyNDZJQ2R6ZEhKcGEyVjBhSEp2ZFdkb1VHOXphWFJwYjI0bkxGeHVJQ0FuYzNSeWFXdGxkR2h5YjNWbmFDMXdiM05wZEdsdmJpYzZJQ2R6ZEhKcGEyVjBhSEp2ZFdkb1VHOXphWFJwYjI0bkxGeHVJQ0J6ZEhKcGEyVjBhSEp2ZFdkb2RHaHBZMnR1WlhOek9pQW5jM1J5YVd0bGRHaHliM1ZuYUZSb2FXTnJibVZ6Y3ljc1hHNGdJQ2R6ZEhKcGEyVjBhSEp2ZFdkb0xYUm9hV05yYm1WemN5YzZJQ2R6ZEhKcGEyVjBhSEp2ZFdkb1ZHaHBZMnR1WlhOekp5eGNiaUFnYzNSeWFXNW5PaUFuYzNSeWFXNW5KeXhjYmlBZ2MzUnliMnRsT2lBbmMzUnliMnRsSnl4Y2JpQWdjM1J5YjJ0bFpHRnphR0Z5Y21GNU9pQW5jM1J5YjJ0bFJHRnphR0Z5Y21GNUp5eGNiaUFnSjNOMGNtOXJaUzFrWVhOb1lYSnlZWGtuT2lBbmMzUnliMnRsUkdGemFHRnljbUY1Snl4Y2JpQWdjM1J5YjJ0bFpHRnphRzltWm5ObGREb2dKM04wY205clpVUmhjMmh2Wm1aelpYUW5MRnh1SUNBbmMzUnliMnRsTFdSaGMyaHZabVp6WlhRbk9pQW5jM1J5YjJ0bFJHRnphRzltWm5ObGRDY3NYRzRnSUhOMGNtOXJaV3hwYm1WallYQTZJQ2R6ZEhKdmEyVk1hVzVsWTJGd0p5eGNiaUFnSjNOMGNtOXJaUzFzYVc1bFkyRndKem9nSjNOMGNtOXJaVXhwYm1WallYQW5MRnh1SUNCemRISnZhMlZzYVc1bGFtOXBiam9nSjNOMGNtOXJaVXhwYm1WcWIybHVKeXhjYmlBZ0ozTjBjbTlyWlMxc2FXNWxhbTlwYmljNklDZHpkSEp2YTJWTWFXNWxhbTlwYmljc1hHNGdJSE4wY205clpXMXBkR1Z5YkdsdGFYUTZJQ2R6ZEhKdmEyVk5hWFJsY214cGJXbDBKeXhjYmlBZ0ozTjBjbTlyWlMxdGFYUmxjbXhwYldsMEp6b2dKM04wY205clpVMXBkR1Z5YkdsdGFYUW5MRnh1SUNCemRISnZhMlYzYVdSMGFEb2dKM04wY205clpWZHBaSFJvSnl4Y2JpQWdKM04wY205clpTMTNhV1IwYUNjNklDZHpkSEp2YTJWWGFXUjBhQ2NzWEc0Z0lITjBjbTlyWlc5d1lXTnBkSGs2SUNkemRISnZhMlZQY0dGamFYUjVKeXhjYmlBZ0ozTjBjbTlyWlMxdmNHRmphWFI1SnpvZ0ozTjBjbTlyWlU5d1lXTnBkSGtuTEZ4dUlDQnpkWEJ3Y21WemMyTnZiblJsYm5SbFpHbDBZV0pzWlhkaGNtNXBibWM2SUNkemRYQndjbVZ6YzBOdmJuUmxiblJGWkdsMFlXSnNaVmRoY201cGJtY25MRnh1SUNCemRYQndjbVZ6YzJoNVpISmhkR2x2Ym5kaGNtNXBibWM2SUNkemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNuTEZ4dUlDQnpkWEptWVdObGMyTmhiR1U2SUNkemRYSm1ZV05sVTJOaGJHVW5MRnh1SUNCemVYTjBaVzFzWVc1bmRXRm5aVG9nSjNONWMzUmxiVXhoYm1kMVlXZGxKeXhjYmlBZ2RHRmliR1YyWVd4MVpYTTZJQ2QwWVdKc1pWWmhiSFZsY3ljc1hHNGdJSFJoY21kbGRIZzZJQ2QwWVhKblpYUllKeXhjYmlBZ2RHRnlaMlYwZVRvZ0ozUmhjbWRsZEZrbkxGeHVJQ0IwWlhoMFlXNWphRzl5T2lBbmRHVjRkRUZ1WTJodmNpY3NYRzRnSUNkMFpYaDBMV0Z1WTJodmNpYzZJQ2QwWlhoMFFXNWphRzl5Snl4Y2JpQWdkR1Y0ZEdSbFkyOXlZWFJwYjI0NklDZDBaWGgwUkdWamIzSmhkR2x2Ymljc1hHNGdJQ2QwWlhoMExXUmxZMjl5WVhScGIyNG5PaUFuZEdWNGRFUmxZMjl5WVhScGIyNG5MRnh1SUNCMFpYaDBiR1Z1WjNSb09pQW5kR1Y0ZEV4bGJtZDBhQ2NzWEc0Z0lIUmxlSFJ5Wlc1a1pYSnBibWM2SUNkMFpYaDBVbVZ1WkdWeWFXNW5KeXhjYmlBZ0ozUmxlSFF0Y21WdVpHVnlhVzVuSnpvZ0ozUmxlSFJTWlc1a1pYSnBibWNuTEZ4dUlDQjBiem9nSjNSdkp5eGNiaUFnZEhKaGJuTm1iM0p0T2lBbmRISmhibk5tYjNKdEp5eGNiaUFnZEhsd1pXOW1PaUFuZEhsd1pXOW1KeXhjYmlBZ2RURTZJQ2QxTVNjc1hHNGdJSFV5T2lBbmRUSW5MRnh1SUNCMWJtUmxjbXhwYm1Wd2IzTnBkR2x2YmpvZ0ozVnVaR1Z5YkdsdVpWQnZjMmwwYVc5dUp5eGNiaUFnSjNWdVpHVnliR2x1WlMxd2IzTnBkR2x2YmljNklDZDFibVJsY214cGJtVlFiM05wZEdsdmJpY3NYRzRnSUhWdVpHVnliR2x1WlhSb2FXTnJibVZ6Y3pvZ0ozVnVaR1Z5YkdsdVpWUm9hV05yYm1WemN5Y3NYRzRnSUNkMWJtUmxjbXhwYm1VdGRHaHBZMnR1WlhOekp6b2dKM1Z1WkdWeWJHbHVaVlJvYVdOcmJtVnpjeWNzWEc0Z0lIVnVhV052WkdVNklDZDFibWxqYjJSbEp5eGNiaUFnZFc1cFkyOWtaV0pwWkdrNklDZDFibWxqYjJSbFFtbGthU2NzWEc0Z0lDZDFibWxqYjJSbExXSnBaR2tuT2lBbmRXNXBZMjlrWlVKcFpHa25MRnh1SUNCMWJtbGpiMlJsY21GdVoyVTZJQ2QxYm1samIyUmxVbUZ1WjJVbkxGeHVJQ0FuZFc1cFkyOWtaUzF5WVc1blpTYzZJQ2QxYm1samIyUmxVbUZ1WjJVbkxGeHVJQ0IxYm1sMGMzQmxjbVZ0T2lBbmRXNXBkSE5RWlhKRmJTY3NYRzRnSUNkMWJtbDBjeTF3WlhJdFpXMG5PaUFuZFc1cGRITlFaWEpGYlNjc1hHNGdJSFZ1YzJWc1pXTjBZV0pzWlRvZ0ozVnVjMlZzWldOMFlXSnNaU2NzWEc0Z0lIWmhiSEJvWVdKbGRHbGpPaUFuZGtGc2NHaGhZbVYwYVdNbkxGeHVJQ0FuZGkxaGJIQm9ZV0psZEdsakp6b2dKM1pCYkhCb1lXSmxkR2xqSnl4Y2JpQWdkbUZzZFdWek9pQW5kbUZzZFdWekp5eGNiaUFnZG1WamRHOXlaV1ptWldOME9pQW5kbVZqZEc5eVJXWm1aV04wSnl4Y2JpQWdKM1psWTNSdmNpMWxabVpsWTNRbk9pQW5kbVZqZEc5eVJXWm1aV04wSnl4Y2JpQWdkbVZ5YzJsdmJqb2dKM1psY25OcGIyNG5MRnh1SUNCMlpYSjBZV1IyZVRvZ0ozWmxjblJCWkhaWkp5eGNiaUFnSjNabGNuUXRZV1IyTFhrbk9pQW5kbVZ5ZEVGa2Rsa25MRnh1SUNCMlpYSjBiM0pwWjJsdWVEb2dKM1psY25SUGNtbG5hVzVZSnl4Y2JpQWdKM1psY25RdGIzSnBaMmx1TFhnbk9pQW5kbVZ5ZEU5eWFXZHBibGduTEZ4dUlDQjJaWEowYjNKcFoybHVlVG9nSjNabGNuUlBjbWxuYVc1Wkp5eGNiaUFnSjNabGNuUXRiM0pwWjJsdUxYa25PaUFuZG1WeWRFOXlhV2RwYmxrbkxGeHVJQ0IyYUdGdVoybHVaem9nSjNaSVlXNW5hVzVuSnl4Y2JpQWdKM1l0YUdGdVoybHVaeWM2SUNkMlNHRnVaMmx1Wnljc1hHNGdJSFpwWkdWdlozSmhjR2hwWXpvZ0ozWkpaR1Z2WjNKaGNHaHBZeWNzWEc0Z0lDZDJMV2xrWlc5bmNtRndhR2xqSnpvZ0ozWkpaR1Z2WjNKaGNHaHBZeWNzWEc0Z0lIWnBaWGRpYjNnNklDZDJhV1YzUW05NEp5eGNiaUFnZG1sbGQzUmhjbWRsZERvZ0ozWnBaWGRVWVhKblpYUW5MRnh1SUNCMmFYTnBZbWxzYVhSNU9pQW5kbWx6YVdKcGJHbDBlU2NzWEc0Z0lIWnRZWFJvWlcxaGRHbGpZV3c2SUNkMlRXRjBhR1Z0WVhScFkyRnNKeXhjYmlBZ0ozWXRiV0YwYUdWdFlYUnBZMkZzSnpvZ0ozWk5ZWFJvWlcxaGRHbGpZV3duTEZ4dUlDQjJiMk5oWWpvZ0ozWnZZMkZpSnl4Y2JpQWdkMmxrZEdoek9pQW5kMmxrZEdoekp5eGNiaUFnZDI5eVpITndZV05wYm1jNklDZDNiM0prVTNCaFkybHVaeWNzWEc0Z0lDZDNiM0prTFhOd1lXTnBibWNuT2lBbmQyOXlaRk53WVdOcGJtY25MRnh1SUNCM2NtbDBhVzVuYlc5a1pUb2dKM2R5YVhScGJtZE5iMlJsSnl4Y2JpQWdKM2R5YVhScGJtY3RiVzlrWlNjNklDZDNjbWwwYVc1blRXOWtaU2NzWEc0Z0lIZ3hPaUFuZURFbkxGeHVJQ0I0TWpvZ0ozZ3lKeXhjYmlBZ2VEb2dKM2duTEZ4dUlDQjRZMmhoYm01bGJITmxiR1ZqZEc5eU9pQW5lRU5vWVc1dVpXeFRaV3hsWTNSdmNpY3NYRzRnSUhob1pXbG5hSFE2SUNkNFNHVnBaMmgwSnl4Y2JpQWdKM2d0YUdWcFoyaDBKem9nSjNoSVpXbG5hSFFuTEZ4dUlDQjRiR2x1YTJGamRIVmhkR1U2SUNkNGJHbHVhMEZqZEhWaGRHVW5MRnh1SUNBbmVHeHBibXM2WVdOMGRXRjBaU2M2SUNkNGJHbHVhMEZqZEhWaGRHVW5MRnh1SUNCNGJHbHVhMkZ5WTNKdmJHVTZJQ2Q0YkdsdWEwRnlZM0p2YkdVbkxGeHVJQ0FuZUd4cGJtczZZWEpqY205c1pTYzZJQ2Q0YkdsdWEwRnlZM0p2YkdVbkxGeHVJQ0I0YkdsdWEyaHlaV1k2SUNkNGJHbHVhMGh5WldZbkxGeHVJQ0FuZUd4cGJtczZhSEpsWmljNklDZDRiR2x1YTBoeVpXWW5MRnh1SUNCNGJHbHVhM0p2YkdVNklDZDRiR2x1YTFKdmJHVW5MRnh1SUNBbmVHeHBibXM2Y205c1pTYzZJQ2Q0YkdsdWExSnZiR1VuTEZ4dUlDQjRiR2x1YTNOb2IzYzZJQ2Q0YkdsdWExTm9iM2NuTEZ4dUlDQW5lR3hwYm1zNmMyaHZkeWM2SUNkNGJHbHVhMU5vYjNjbkxGeHVJQ0I0YkdsdWEzUnBkR3hsT2lBbmVHeHBibXRVYVhSc1pTY3NYRzRnSUNkNGJHbHVhenAwYVhSc1pTYzZJQ2Q0YkdsdWExUnBkR3hsSnl4Y2JpQWdlR3hwYm10MGVYQmxPaUFuZUd4cGJtdFVlWEJsSnl4Y2JpQWdKM2hzYVc1ck9uUjVjR1VuT2lBbmVHeHBibXRVZVhCbEp5eGNiaUFnZUcxc1ltRnpaVG9nSjNodGJFSmhjMlVuTEZ4dUlDQW5lRzFzT21KaGMyVW5PaUFuZUcxc1FtRnpaU2NzWEc0Z0lIaHRiR3hoYm1jNklDZDRiV3hNWVc1bkp5eGNiaUFnSjNodGJEcHNZVzVuSnpvZ0ozaHRiRXhoYm1jbkxGeHVJQ0I0Yld4dWN6b2dKM2h0Ykc1ekp5eGNiaUFnSjNodGJEcHpjR0ZqWlNjNklDZDRiV3hUY0dGalpTY3NYRzRnSUhodGJHNXplR3hwYm1zNklDZDRiV3h1YzFoc2FXNXJKeXhjYmlBZ0ozaHRiRzV6T25oc2FXNXJKem9nSjNodGJHNXpXR3hwYm1zbkxGeHVJQ0I0Yld4emNHRmpaVG9nSjNodGJGTndZV05sSnl4Y2JpQWdlVEU2SUNkNU1TY3NYRzRnSUhreU9pQW5lVEluTEZ4dUlDQjVPaUFuZVNjc1hHNGdJSGxqYUdGdWJtVnNjMlZzWldOMGIzSTZJQ2Q1UTJoaGJtNWxiRk5sYkdWamRHOXlKeXhjYmlBZ2Vqb2dKM29uTEZ4dUlDQjZiMjl0WVc1a2NHRnVPaUFuZW05dmJVRnVaRkJoYmlkY2JuMDdYRzVjYm5aaGNpQmhjbWxoVUhKdmNHVnlkR2xsY3lBOUlIdGNiaUFnSjJGeWFXRXRZM1Z5Y21WdWRDYzZJREFzWEc0Z0lDOHZJSE4wWVhSbFhHNGdJQ2RoY21saExXUmxkR0ZwYkhNbk9pQXdMRnh1SUNBbllYSnBZUzFrYVhOaFlteGxaQ2M2SURBc1hHNGdJQzh2SUhOMFlYUmxYRzRnSUNkaGNtbGhMV2hwWkdSbGJpYzZJREFzWEc0Z0lDOHZJSE4wWVhSbFhHNGdJQ2RoY21saExXbHVkbUZzYVdRbk9pQXdMRnh1SUNBdkx5QnpkR0YwWlZ4dUlDQW5ZWEpwWVMxclpYbHphRzl5ZEdOMWRITW5PaUF3TEZ4dUlDQW5ZWEpwWVMxc1lXSmxiQ2M2SURBc1hHNGdJQ2RoY21saExYSnZiR1ZrWlhOamNtbHdkR2x2YmljNklEQXNYRzRnSUM4dklGZHBaR2RsZENCQmRIUnlhV0oxZEdWelhHNGdJQ2RoY21saExXRjFkRzlqYjIxd2JHVjBaU2M2SURBc1hHNGdJQ2RoY21saExXTm9aV05yWldRbk9pQXdMRnh1SUNBbllYSnBZUzFsZUhCaGJtUmxaQ2M2SURBc1hHNGdJQ2RoY21saExXaGhjM0J2Y0hWd0p6b2dNQ3hjYmlBZ0oyRnlhV0V0YkdWMlpXd25PaUF3TEZ4dUlDQW5ZWEpwWVMxdGIyUmhiQ2M2SURBc1hHNGdJQ2RoY21saExXMTFiSFJwYkdsdVpTYzZJREFzWEc0Z0lDZGhjbWxoTFcxMWJIUnBjMlZzWldOMFlXSnNaU2M2SURBc1hHNGdJQ2RoY21saExXOXlhV1Z1ZEdGMGFXOXVKem9nTUN4Y2JpQWdKMkZ5YVdFdGNHeGhZMlZvYjJ4a1pYSW5PaUF3TEZ4dUlDQW5ZWEpwWVMxd2NtVnpjMlZrSnpvZ01DeGNiaUFnSjJGeWFXRXRjbVZoWkc5dWJIa25PaUF3TEZ4dUlDQW5ZWEpwWVMxeVpYRjFhWEpsWkNjNklEQXNYRzRnSUNkaGNtbGhMWE5sYkdWamRHVmtKem9nTUN4Y2JpQWdKMkZ5YVdFdGMyOXlkQ2M2SURBc1hHNGdJQ2RoY21saExYWmhiSFZsYldGNEp6b2dNQ3hjYmlBZ0oyRnlhV0V0ZG1Gc2RXVnRhVzRuT2lBd0xGeHVJQ0FuWVhKcFlTMTJZV3gxWlc1dmR5YzZJREFzWEc0Z0lDZGhjbWxoTFhaaGJIVmxkR1Y0ZENjNklEQXNYRzRnSUM4dklFeHBkbVVnVW1WbmFXOXVJRUYwZEhKcFluVjBaWE5jYmlBZ0oyRnlhV0V0WVhSdmJXbGpKem9nTUN4Y2JpQWdKMkZ5YVdFdFluVnplU2M2SURBc1hHNGdJQ2RoY21saExXeHBkbVVuT2lBd0xGeHVJQ0FuWVhKcFlTMXlaV3hsZG1GdWRDYzZJREFzWEc0Z0lDOHZJRVJ5WVdjdFlXNWtMVVJ5YjNBZ1FYUjBjbWxpZFhSbGMxeHVJQ0FuWVhKcFlTMWtjbTl3WldabVpXTjBKem9nTUN4Y2JpQWdKMkZ5YVdFdFozSmhZbUpsWkNjNklEQXNYRzRnSUM4dklGSmxiR0YwYVc5dWMyaHBjQ0JCZEhSeWFXSjFkR1Z6WEc0Z0lDZGhjbWxoTFdGamRHbDJaV1JsYzJObGJtUmhiblFuT2lBd0xGeHVJQ0FuWVhKcFlTMWpiMnhqYjNWdWRDYzZJREFzWEc0Z0lDZGhjbWxoTFdOdmJHbHVaR1Y0SnpvZ01DeGNiaUFnSjJGeWFXRXRZMjlzYzNCaGJpYzZJREFzWEc0Z0lDZGhjbWxoTFdOdmJuUnliMnh6SnpvZ01DeGNiaUFnSjJGeWFXRXRaR1Z6WTNKcFltVmtZbmtuT2lBd0xGeHVJQ0FuWVhKcFlTMWxjbkp2Y20xbGMzTmhaMlVuT2lBd0xGeHVJQ0FuWVhKcFlTMW1iRzkzZEc4bk9pQXdMRnh1SUNBbllYSnBZUzFzWVdKbGJHeGxaR0o1SnpvZ01DeGNiaUFnSjJGeWFXRXRiM2R1Y3ljNklEQXNYRzRnSUNkaGNtbGhMWEJ2YzJsdWMyVjBKem9nTUN4Y2JpQWdKMkZ5YVdFdGNtOTNZMjkxYm5Rbk9pQXdMRnh1SUNBbllYSnBZUzF5YjNkcGJtUmxlQ2M2SURBc1hHNGdJQ2RoY21saExYSnZkM053WVc0bk9pQXdMRnh1SUNBbllYSnBZUzF6WlhSemFYcGxKem9nTUZ4dWZUdGNibHh1ZG1GeUlIZGhjbTVsWkZCeWIzQmxjblJwWlhNZ1BTQjdmVHRjYm5aaGNpQnlRVkpKUVNBOUlHNWxkeUJTWldkRmVIQW9KMTRvWVhKcFlTa3RXeWNnS3lCQlZGUlNTVUpWVkVWZlRrRk5SVjlEU0VGU0lDc2dKMTBxSkNjcE8xeHVkbUZ5SUhKQlVrbEJRMkZ0Wld3Z1BTQnVaWGNnVW1WblJYaHdLQ2RlS0dGeWFXRXBXMEV0V2wxYkp5QXJJRUZVVkZKSlFsVlVSVjlPUVUxRlgwTklRVklnS3lBblhTb2tKeWs3WEc1MllYSWdhR0Z6VDNkdVVISnZjR1Z5ZEhra01TQTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrN1hHNWNibVoxYm1OMGFXOXVJSFpoYkdsa1lYUmxVSEp2Y0dWeWRIa29kR0ZuVG1GdFpTd2dibUZ0WlNrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0doaGMwOTNibEJ5YjNCbGNuUjVKREV1WTJGc2JDaDNZWEp1WldSUWNtOXdaWEowYVdWekxDQnVZVzFsS1NBbUppQjNZWEp1WldSUWNtOXdaWEowYVdWelcyNWhiV1ZkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ja0ZTU1VGRFlXMWxiQzUwWlhOMEtHNWhiV1VwS1NCN1hHNGdJQ0FnSUNCMllYSWdZWEpwWVU1aGJXVWdQU0FuWVhKcFlTMG5JQ3NnYm1GdFpTNXpiR2xqWlNnMEtTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dUlDQWdJQ0FnZG1GeUlHTnZjbkpsWTNST1lXMWxJRDBnWVhKcFlWQnliM0JsY25ScFpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1lYSnBZVTVoYldVcElEOGdZWEpwWVU1aGJXVWdPaUJ1ZFd4c095QXZMeUJKWmlCMGFHbHpJR2x6SUdGdUlHRnlhV0V0S2lCaGRIUnlhV0oxZEdVc0lHSjFkQ0JwY3lCdWIzUWdiR2x6ZEdWa0lHbHVJSFJvWlNCcmJtOTNiaUJFVDAxY2JpQWdJQ0FnSUM4dklFUlBUU0J3Y205d1pYSjBhV1Z6TENCMGFHVnVJR2wwSUdseklHRnVJR2x1ZG1Gc2FXUWdZWEpwWVMwcUlHRjBkSEpwWW5WMFpTNWNibHh1SUNBZ0lDQWdhV1lnS0dOdmNuSmxZM1JPWVcxbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb0owbHVkbUZzYVdRZ1FWSkpRU0JoZEhSeWFXSjFkR1VnWUNWellDNGdRVkpKUVNCaGRIUnlhV0oxZEdWeklHWnZiR3h2ZHlCMGFHVWdjR0YwZEdWeWJpQmhjbWxoTFNvZ1lXNWtJRzExYzNRZ1ltVWdiRzkzWlhKallYTmxMaWNzSUc1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJSDBnTHk4Z1lYSnBZUzBxSUdGMGRISnBZblYwWlhNZ2MyaHZkV3hrSUdKbElHeHZkMlZ5WTJGelpUc2djM1ZuWjJWemRDQjBhR1VnYkc5M1pYSmpZWE5sSUhabGNuTnBiMjR1WEc1Y2JseHVJQ0FnSUNBZ2FXWWdLRzVoYldVZ0lUMDlJR052Y25KbFkzUk9ZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkSmJuWmhiR2xrSUVGU1NVRWdZWFIwY21saWRYUmxJR0FsYzJBdUlFUnBaQ0I1YjNVZ2JXVmhiaUJnSlhOZ1B5Y3NJRzVoYldVc0lHTnZjbkpsWTNST1lXMWxLVHRjYmx4dUlDQWdJQ0FnSUNCM1lYSnVaV1JRY205d1pYSjBhV1Z6VzI1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hKQlVrbEJMblJsYzNRb2JtRnRaU2twSUh0Y2JpQWdJQ0FnSUhaaGNpQnNiM2RsY2tOaGMyVmtUbUZ0WlNBOUlHNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tUdGNiaUFnSUNBZ0lIWmhjaUJ6ZEdGdVpHRnlaRTVoYldVZ1BTQmhjbWxoVUhKdmNHVnlkR2xsY3k1b1lYTlBkMjVRY205d1pYSjBlU2hzYjNkbGNrTmhjMlZrVG1GdFpTa2dQeUJzYjNkbGNrTmhjMlZrVG1GdFpTQTZJRzUxYkd3N0lDOHZJRWxtSUhSb2FYTWdhWE1nWVc0Z1lYSnBZUzBxSUdGMGRISnBZblYwWlN3Z1luVjBJR2x6SUc1dmRDQnNhWE4wWldRZ2FXNGdkR2hsSUd0dWIzZHVJRVJQVFZ4dUlDQWdJQ0FnTHk4Z1JFOU5JSEJ5YjNCbGNuUnBaWE1zSUhSb1pXNGdhWFFnYVhNZ1lXNGdhVzUyWVd4cFpDQmhjbWxoTFNvZ1lYUjBjbWxpZFhSbExseHVYRzRnSUNBZ0lDQnBaaUFvYzNSaGJtUmhjbVJPWVcxbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkMkZ5Ym1Wa1VISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lIMGdMeThnWVhKcFlTMHFJR0YwZEhKcFluVjBaWE1nYzJodmRXeGtJR0psSUd4dmQyVnlZMkZ6WlRzZ2MzVm5aMlZ6ZENCMGFHVWdiRzkzWlhKallYTmxJSFpsY25OcGIyNHVYRzVjYmx4dUlDQWdJQ0FnYVdZZ0tHNWhiV1VnSVQwOUlITjBZVzVrWVhKa1RtRnRaU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduVlc1cmJtOTNiaUJCVWtsQklHRjBkSEpwWW5WMFpTQmdKWE5nTGlCRWFXUWdlVzkxSUcxbFlXNGdZQ1Z6WUQ4bkxDQnVZVzFsTENCemRHRnVaR0Z5WkU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZDJGeWJrbHVkbUZzYVdSQlVrbEJVSEp2Y0hNb2RIbHdaU3dnY0hKdmNITXBJSHRjYmlBZ2UxeHVJQ0FnSUhaaGNpQnBiblpoYkdsa1VISnZjSE1nUFNCYlhUdGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHdGxlU0JwYmlCd2NtOXdjeWtnZTF4dUlDQWdJQ0FnZG1GeUlHbHpWbUZzYVdRZ1BTQjJZV3hwWkdGMFpWQnliM0JsY25SNUtIUjVjR1VzSUd0bGVTazdYRzVjYmlBZ0lDQWdJR2xtSUNnaGFYTldZV3hwWkNrZ2UxeHVJQ0FnSUNBZ0lDQnBiblpoYkdsa1VISnZjSE11Y0hWemFDaHJaWGtwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCMWJtdHViM2R1VUhKdmNGTjBjbWx1WnlBOUlHbHVkbUZzYVdSUWNtOXdjeTV0WVhBb1puVnVZM1JwYjI0Z0tIQnliM0FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuWUNjZ0t5QndjbTl3SUNzZ0oyQW5PMXh1SUNBZ0lIMHBMbXB2YVc0b0p5d2dKeWs3WEc1Y2JpQWdJQ0JwWmlBb2FXNTJZV3hwWkZCeWIzQnpMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBsdWRtRnNhV1FnWVhKcFlTQndjbTl3SUNWeklHOXVJRHdsY3o0Z2RHRm5MaUFuSUNzZ0owWnZjaUJrWlhSaGFXeHpMQ0J6WldVZ2FIUjBjSE02THk5bVlpNXRaUzlwYm5aaGJHbGtMV0Z5YVdFdGNISnZjQ2NzSUhWdWEyNXZkMjVRY205d1UzUnlhVzVuTENCMGVYQmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x1ZG1Gc2FXUlFjbTl3Y3k1c1pXNW5kR2dnUGlBeEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblNXNTJZV3hwWkNCaGNtbGhJSEJ5YjNCeklDVnpJRzl1SUR3bGN6NGdkR0ZuTGlBbklDc2dKMFp2Y2lCa1pYUmhhV3h6TENCelpXVWdhSFIwY0hNNkx5OW1ZaTV0WlM5cGJuWmhiR2xrTFdGeWFXRXRjSEp2Y0Njc0lIVnVhMjV2ZDI1UWNtOXdVM1J5YVc1bkxDQjBlWEJsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWUWNtOXdaWEowYVdWektIUjVjR1VzSUhCeWIzQnpLU0I3WEc0Z0lHbG1JQ2hwYzBOMWMzUnZiVU52YlhCdmJtVnVkQ2gwZVhCbExDQndjbTl3Y3lrcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCM1lYSnVTVzUyWVd4cFpFRlNTVUZRY205d2N5aDBlWEJsTENCd2NtOXdjeWs3WEc1OVhHNWNiblpoY2lCa2FXUlhZWEp1Vm1Gc2RXVk9kV3hzSUQwZ1ptRnNjMlU3WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlZCeWIzQmxjblJwWlhNa01TaDBlWEJsTENCd2NtOXdjeWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dVZ0lUMDlJQ2RwYm5CMWRDY2dKaVlnZEhsd1pTQWhQVDBnSjNSbGVIUmhjbVZoSnlBbUppQjBlWEJsSUNFOVBTQW5jMlZzWldOMEp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3Y3lBaFBTQnVkV3hzSUNZbUlIQnliM0J6TG5aaGJIVmxJRDA5UFNCdWRXeHNJQ1ltSUNGa2FXUlhZWEp1Vm1Gc2RXVk9kV3hzS1NCN1hHNGdJQ0FnSUNCa2FXUlhZWEp1Vm1Gc2RXVk9kV3hzSUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUjVjR1VnUFQwOUlDZHpaV3hsWTNRbklDWW1JSEJ5YjNCekxtMTFiSFJwY0d4bEtTQjdYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDZGdkbUZzZFdWZ0lIQnliM0FnYjI0Z1lDVnpZQ0J6YUc5MWJHUWdibTkwSUdKbElHNTFiR3d1SUNjZ0t5QW5RMjl1YzJsa1pYSWdkWE5wYm1jZ1lXNGdaVzF3ZEhrZ1lYSnlZWGtnZDJobGJpQmdiWFZzZEdsd2JHVmdJR2x6SUhObGRDQjBieUJnZEhKMVpXQWdKeUFySUNkMGJ5QmpiR1ZoY2lCMGFHVWdZMjl0Y0c5dVpXNTBJRzl5SUdCMWJtUmxabWx1WldSZ0lHWnZjaUIxYm1OdmJuUnliMnhzWldRZ1kyOXRjRzl1Wlc1MGN5NG5MQ0IwZVhCbEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkZ2RtRnNkV1ZnSUhCeWIzQWdiMjRnWUNWellDQnphRzkxYkdRZ2JtOTBJR0psSUc1MWJHd3VJQ2NnS3lBblEyOXVjMmxrWlhJZ2RYTnBibWNnWVc0Z1pXMXdkSGtnYzNSeWFXNW5JSFJ2SUdOc1pXRnlJSFJvWlNCamIyMXdiMjVsYm5RZ2IzSWdZSFZ1WkdWbWFXNWxaR0FnSnlBcklDZG1iM0lnZFc1amIyNTBjbTlzYkdWa0lHTnZiWEJ2Ym1WdWRITXVKeXdnZEhsd1pTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCMllXeHBaR0YwWlZCeWIzQmxjblI1SkRFZ1BTQm1kVzVqZEdsdmJpQW9LU0I3ZlR0Y2JseHVlMXh1SUNCMllYSWdkMkZ5Ym1Wa1VISnZjR1Z5ZEdsbGN5UXhJRDBnZTMwN1hHNGdJSFpoY2lCZmFHRnpUM2R1VUhKdmNHVnlkSGtnUFNCUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG1oaGMwOTNibEJ5YjNCbGNuUjVPMXh1SUNCMllYSWdSVlpGVGxSZlRrRk5SVjlTUlVkRldDQTlJQzllYjI0dUx6dGNiaUFnZG1GeUlFbE9Wa0ZNU1VSZlJWWkZUbFJmVGtGTlJWOVNSVWRGV0NBOUlDOWViMjViWGtFdFdsMHZPMXh1SUNCMllYSWdja0ZTU1VFa01TQTlJRzVsZHlCU1pXZEZlSEFvSjE0b1lYSnBZU2t0V3ljZ0t5QkJWRlJTU1VKVlZFVmZUa0ZOUlY5RFNFRlNJQ3NnSjEwcUpDY3BPMXh1SUNCMllYSWdja0ZTU1VGRFlXMWxiQ1F4SUQwZ2JtVjNJRkpsWjBWNGNDZ25YaWhoY21saEtWdEJMVnBkV3ljZ0t5QkJWRlJTU1VKVlZFVmZUa0ZOUlY5RFNFRlNJQ3NnSjEwcUpDY3BPMXh1WEc0Z0lIWmhiR2xrWVhSbFVISnZjR1Z5ZEhra01TQTlJR1oxYm1OMGFXOXVJQ2gwWVdkT1lXMWxMQ0J1WVcxbExDQjJZV3gxWlN3Z1kyRnVWWE5sUlhabGJuUlRlWE4wWlcwcElIdGNiaUFnSUNCcFppQW9YMmhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvZDJGeWJtVmtVSEp2Y0dWeWRHbGxjeVF4TENCdVlXMWxLU0FtSmlCM1lYSnVaV1JRY205d1pYSjBhV1Z6SkRGYmJtRnRaVjBwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnNiM2RsY2tOaGMyVmtUbUZ0WlNBOUlHNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tUdGNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrTmhjMlZrVG1GdFpTQTlQVDBnSjI5dVptOWpkWE5wYmljZ2ZId2diRzkzWlhKRFlYTmxaRTVoYldVZ1BUMDlJQ2R2Ym1adlkzVnpiM1YwSnlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjFKbFlXTjBJSFZ6WlhNZ2IyNUdiMk4xY3lCaGJtUWdiMjVDYkhWeUlHbHVjM1JsWVdRZ2IyWWdiMjVHYjJOMWMwbHVJR0Z1WkNCdmJrWnZZM1Z6VDNWMExpQW5JQ3NnSjBGc2JDQlNaV0ZqZENCbGRtVnVkSE1nWVhKbElHNXZjbTFoYkdsNlpXUWdkRzhnWW5WaVlteGxMQ0J6YnlCdmJrWnZZM1Z6U1c0Z1lXNWtJRzl1Um05amRYTlBkWFFnSnlBcklDZGhjbVVnYm05MElHNWxaV1JsWkM5emRYQndiM0owWldRZ1lua2dVbVZoWTNRdUp5azdYRzVjYmlBZ0lDQWdJSGRoY201bFpGQnliM0JsY25ScFpYTWtNVnR1WVcxbFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOUlDOHZJRmRsSUdOaGJpZDBJSEpsYkhrZ2IyNGdkR2hsSUdWMlpXNTBJSE41YzNSbGJTQmlaV2x1WnlCcGJtcGxZM1JsWkNCdmJpQjBhR1VnYzJWeWRtVnlMbHh1WEc1Y2JpQWdJQ0JwWmlBb1kyRnVWWE5sUlhabGJuUlRlWE4wWlcwcElIdGNiaUFnSUNBZ0lHbG1JQ2h5WldkcGMzUnlZWFJwYjI1T1lXMWxUVzlrZFd4bGN5NW9ZWE5QZDI1UWNtOXdaWEowZVNodVlXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhKbFoybHpkSEpoZEdsdmJrNWhiV1VnUFNCd2IzTnphV0pzWlZKbFoybHpkSEpoZEdsdmJrNWhiV1Z6TG1oaGMwOTNibEJ5YjNCbGNuUjVLR3h2ZDJWeVEyRnpaV1JPWVcxbEtTQS9JSEJ2YzNOcFlteGxVbVZuYVhOMGNtRjBhVzl1VG1GdFpYTmJiRzkzWlhKRFlYTmxaRTVoYldWZElEb2diblZzYkR0Y2JseHVJQ0FnSUNBZ2FXWWdLSEpsWjJsemRISmhkR2x2Yms1aGJXVWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25TVzUyWVd4cFpDQmxkbVZ1ZENCb1lXNWtiR1Z5SUhCeWIzQmxjblI1SUdBbGMyQXVJRVJwWkNCNWIzVWdiV1ZoYmlCZ0pYTmdQeWNzSUc1aGJXVXNJSEpsWjJsemRISmhkR2x2Yms1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE1rTVZ0dVlXMWxYU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9SVlpGVGxSZlRrRk5SVjlTUlVkRldDNTBaWE4wS0c1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RWYm10dWIzZHVJR1YyWlc1MElHaGhibVJzWlhJZ2NISnZjR1Z5ZEhrZ1lDVnpZQzRnU1hRZ2QybHNiQ0JpWlNCcFoyNXZjbVZrTGljc0lHNWhiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lIZGhjbTVsWkZCeWIzQmxjblJwWlhNa01WdHVZVzFsWFNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1JWWkZUbFJmVGtGTlJWOVNSVWRGV0M1MFpYTjBLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQXZMeUJKWmlCdWJ5QmxkbVZ1ZENCd2JIVm5hVzV6SUdoaGRtVWdZbVZsYmlCcGJtcGxZM1JsWkN3Z2QyVWdZWEpsSUdsdUlHRWdjMlZ5ZG1WeUlHVnVkbWx5YjI1dFpXNTBMbHh1SUNBZ0lDQWdMeThnVTI4Z2QyVWdZMkZ1SjNRZ2RHVnNiQ0JwWmlCMGFHVWdaWFpsYm5RZ2JtRnRaU0JwY3lCamIzSnlaV04wSUdadmNpQnpkWEpsTENCaWRYUWdkMlVnWTJGdUlHWnBiSFJsY2x4dUlDQWdJQ0FnTHk4Z2IzVjBJR3R1YjNkdUlHSmhaQ0J2Ym1WeklHeHBhMlVnWUc5dVkyeHBZMnRnTGlCWFpTQmpZVzRuZENCemRXZG5aWE4wSUdFZ2MzQmxZMmxtYVdNZ2NtVndiR0ZqWlcxbGJuUWdkR2h2ZFdkb0xseHVJQ0FnSUNBZ2FXWWdLRWxPVmtGTVNVUmZSVlpGVGxSZlRrRk5SVjlTUlVkRldDNTBaWE4wS0c1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RKYm5aaGJHbGtJR1YyWlc1MElHaGhibVJzWlhJZ2NISnZjR1Z5ZEhrZ1lDVnpZQzRnSnlBcklDZFNaV0ZqZENCbGRtVnVkSE1nZFhObElIUm9aU0JqWVcxbGJFTmhjMlVnYm1GdGFXNW5JR052Ym5abGJuUnBiMjRzSUdadmNpQmxlR0Z0Y0d4bElHQnZia05zYVdOcllDNG5MQ0J1WVcxbEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkMkZ5Ym1Wa1VISnZjR1Z5ZEdsbGN5UXhXMjVoYldWZElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgwZ0x5OGdUR1YwSUhSb1pTQkJVa2xCSUdGMGRISnBZblYwWlNCb2IyOXJJSFpoYkdsa1lYUmxJRUZTU1VFZ1lYUjBjbWxpZFhSbGMxeHVYRzVjYmlBZ0lDQnBaaUFvY2tGU1NVRWtNUzUwWlhOMEtHNWhiV1VwSUh4OElISkJVa2xCUTJGdFpXd2tNUzUwWlhOMEtHNWhiV1VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKRFlYTmxaRTVoYldVZ1BUMDlJQ2RwYm01bGNtaDBiV3duS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduUkdseVpXTjBiSGtnYzJWMGRHbHVaeUJ3Y205d1pYSjBlU0JnYVc1dVpYSklWRTFNWUNCcGN5QnViM1FnY0dWeWJXbDBkR1ZrTGlBbklDc2dKMFp2Y2lCdGIzSmxJR2x1Wm05eWJXRjBhVzl1TENCc2IyOXJkWEFnWkc5amRXMWxiblJoZEdsdmJpQnZiaUJnWkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVeGdMaWNwTzF4dVhHNGdJQ0FnSUNCM1lYSnVaV1JRY205d1pYSjBhV1Z6SkRGYmJtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0d4dmQyVnlRMkZ6WldST1lXMWxJRDA5UFNBbllYSnBZU2NwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RVYUdVZ1lHRnlhV0ZnSUdGMGRISnBZblYwWlNCcGN5QnlaWE5sY25abFpDQm1iM0lnWm5WMGRYSmxJSFZ6WlNCcGJpQlNaV0ZqZEM0Z0p5QXJJQ2RRWVhOeklHbHVaR2wyYVdSMVlXd2dZR0Z5YVdFdFlDQmhkSFJ5YVdKMWRHVnpJR2x1YzNSbFlXUXVKeWs3WEc1Y2JpQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE1rTVZ0dVlXMWxYU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYkc5M1pYSkRZWE5sWkU1aGJXVWdQVDA5SUNkcGN5Y2dKaVlnZG1Gc2RXVWdJVDA5SUc1MWJHd2dKaVlnZG1Gc2RXVWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQjBlWEJsYjJZZ2RtRnNkV1VnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblVtVmpaV2wyWldRZ1lTQmdKWE5nSUdadmNpQmhJSE4wY21sdVp5QmhkSFJ5YVdKMWRHVWdZR2x6WUM0Z1NXWWdkR2hwY3lCcGN5QmxlSEJsWTNSbFpDd2dZMkZ6ZENBbklDc2dKM1JvWlNCMllXeDFaU0IwYnlCaElITjBjbWx1Wnk0bkxDQjBlWEJsYjJZZ2RtRnNkV1VwTzF4dVhHNGdJQ0FnSUNCM1lYSnVaV1JRY205d1pYSjBhV1Z6SkRGYmJtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ2FYTk9ZVTRvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25VbVZqWldsMlpXUWdUbUZPSUdadmNpQjBhR1VnWUNWellDQmhkSFJ5YVdKMWRHVXVJRWxtSUhSb2FYTWdhWE1nWlhod1pXTjBaV1FzSUdOaGMzUWdKeUFySUNkMGFHVWdkbUZzZFdVZ2RHOGdZU0J6ZEhKcGJtY3VKeXdnYm1GdFpTazdYRzVjYmlBZ0lDQWdJSGRoY201bFpGQnliM0JsY25ScFpYTWtNVnR1WVcxbFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjSEp2Y0dWeWRIbEpibVp2SUQwZ1oyVjBVSEp2Y0dWeWRIbEpibVp2S0c1aGJXVXBPMXh1SUNBZ0lIWmhjaUJwYzFKbGMyVnlkbVZrSUQwZ2NISnZjR1Z5ZEhsSmJtWnZJQ0U5UFNCdWRXeHNJQ1ltSUhCeWIzQmxjblI1U1c1bWJ5NTBlWEJsSUQwOVBTQlNSVk5GVWxaRlJEc2dMeThnUzI1dmQyNGdZWFIwY21saWRYUmxjeUJ6YUc5MWJHUWdiV0YwWTJnZ2RHaGxJR05oYzJsdVp5QnpjR1ZqYVdacFpXUWdhVzRnZEdobElIQnliM0JsY25SNUlHTnZibVpwWnk1Y2JseHVJQ0FnSUdsbUlDaHdiM056YVdKc1pWTjBZVzVrWVhKa1RtRnRaWE11YUdGelQzZHVVSEp2Y0dWeWRIa29iRzkzWlhKRFlYTmxaRTVoYldVcEtTQjdYRzRnSUNBZ0lDQjJZWElnYzNSaGJtUmhjbVJPWVcxbElEMGdjRzl6YzJsaWJHVlRkR0Z1WkdGeVpFNWhiV1Z6VzJ4dmQyVnlRMkZ6WldST1lXMWxYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tITjBZVzVrWVhKa1RtRnRaU0FoUFQwZ2JtRnRaU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduU1c1MllXeHBaQ0JFVDAwZ2NISnZjR1Z5ZEhrZ1lDVnpZQzRnUkdsa0lIbHZkU0J0WldGdUlHQWxjMkEvSnl3Z2JtRnRaU3dnYzNSaGJtUmhjbVJPWVcxbEtUdGNibHh1SUNBZ0lDQWdJQ0IzWVhKdVpXUlFjbTl3WlhKMGFXVnpKREZiYm1GdFpWMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZwYzFKbGMyVnlkbVZrSUNZbUlHNWhiV1VnSVQwOUlHeHZkMlZ5UTJGelpXUk9ZVzFsS1NCN1hHNGdJQ0FnSUNBdkx5QlZibXR1YjNkdUlHRjBkSEpwWW5WMFpYTWdjMmh2ZFd4a0lHaGhkbVVnYkc5M1pYSmpZWE5sSUdOaGMybHVaeUJ6YVc1alpTQjBhR0YwSjNNZ2FHOTNJSFJvWlhsY2JpQWdJQ0FnSUM4dklIZHBiR3dnWW1VZ1kyRnpaV1FnWVc1NWQyRjVJSGRwZEdnZ2MyVnlkbVZ5SUhKbGJtUmxjbWx1Wnk1Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldGamRDQmtiMlZ6SUc1dmRDQnlaV052WjI1cGVtVWdkR2hsSUdBbGMyQWdjSEp2Y0NCdmJpQmhJRVJQVFNCbGJHVnRaVzUwTGlCSlppQjViM1VnSnlBcklDZHBiblJsYm5ScGIyNWhiR3g1SUhkaGJuUWdhWFFnZEc4Z1lYQndaV0Z5SUdsdUlIUm9aU0JFVDAwZ1lYTWdZU0JqZFhOMGIyMGdKeUFySUNkaGRIUnlhV0oxZEdVc0lITndaV3hzSUdsMElHRnpJR3h2ZDJWeVkyRnpaU0JnSlhOZ0lHbHVjM1JsWVdRdUlDY2dLeUFuU1dZZ2VXOTFJR0ZqWTJsa1pXNTBZV3hzZVNCd1lYTnpaV1FnYVhRZ1puSnZiU0JoSUhCaGNtVnVkQ0JqYjIxd2IyNWxiblFzSUhKbGJXOTJaU0FuSUNzZ0oybDBJR1p5YjIwZ2RHaGxJRVJQVFNCbGJHVnRaVzUwTGljc0lHNWhiV1VzSUd4dmQyVnlRMkZ6WldST1lXMWxLVHRjYmx4dUlDQWdJQ0FnZDJGeWJtVmtVSEp2Y0dWeWRHbGxjeVF4VzI1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYjI5c1pXRnVKeUFtSmlCemFHOTFiR1JTWlcxdmRtVkJkSFJ5YVdKMWRHVlhhWFJvVjJGeWJtbHVaeWh1WVcxbExDQjJZV3gxWlN3Z2NISnZjR1Z5ZEhsSmJtWnZMQ0JtWVd4elpTa3BJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduVW1WalpXbDJaV1FnWUNWellDQm1iM0lnWVNCdWIyNHRZbTl2YkdWaGJpQmhkSFJ5YVdKMWRHVWdZQ1Z6WUM1Y1hHNWNYRzRuSUNzZ0owbG1JSGx2ZFNCM1lXNTBJSFJ2SUhkeWFYUmxJR2wwSUhSdklIUm9aU0JFVDAwc0lIQmhjM01nWVNCemRISnBibWNnYVc1emRHVmhaRG9nSnlBcklDY2xjejFjSWlWelhDSWdiM0lnSlhNOWUzWmhiSFZsTG5SdlUzUnlhVzVuS0NsOUxpY3NJSFpoYkhWbExDQnVZVzFsTENCdVlXMWxMQ0IyWVd4MVpTd2dibUZ0WlNrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduVW1WalpXbDJaV1FnWUNWellDQm1iM0lnWVNCdWIyNHRZbTl2YkdWaGJpQmhkSFJ5YVdKMWRHVWdZQ1Z6WUM1Y1hHNWNYRzRuSUNzZ0owbG1JSGx2ZFNCM1lXNTBJSFJ2SUhkeWFYUmxJR2wwSUhSdklIUm9aU0JFVDAwc0lIQmhjM01nWVNCemRISnBibWNnYVc1emRHVmhaRG9nSnlBcklDY2xjejFjSWlWelhDSWdiM0lnSlhNOWUzWmhiSFZsTG5SdlUzUnlhVzVuS0NsOUxseGNibHhjYmljZ0t5QW5TV1lnZVc5MUlIVnpaV1FnZEc4Z1kyOXVaR2wwYVc5dVlXeHNlU0J2YldsMElHbDBJSGRwZEdnZ0pYTTllMk52Ym1ScGRHbHZiaUFtSmlCMllXeDFaWDBzSUNjZ0t5QW5jR0Z6Y3lBbGN6MTdZMjl1WkdsMGFXOXVJRDhnZG1Gc2RXVWdPaUIxYm1SbFptbHVaV1I5SUdsdWMzUmxZV1F1Snl3Z2RtRnNkV1VzSUc1aGJXVXNJRzVoYldVc0lIWmhiSFZsTENCdVlXMWxMQ0J1WVcxbExDQnVZVzFsS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2QyRnlibVZrVUhKdmNHVnlkR2xsY3lReFcyNWhiV1ZkSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDBnTHk4Z1RtOTNJSFJvWVhRZ2QyVW5kbVVnZG1Gc2FXUmhkR1ZrSUdOaGMybHVaeXdnWkc4Z2JtOTBJSFpoYkdsa1lYUmxYRzRnSUNBZ0x5OGdaR0YwWVNCMGVYQmxjeUJtYjNJZ2NtVnpaWEoyWldRZ2NISnZjSE5jYmx4dVhHNGdJQ0FnYVdZZ0tHbHpVbVZ6WlhKMlpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDBnTHk4Z1YyRnliaUIzYUdWdUlHRWdhMjV2ZDI0Z1lYUjBjbWxpZFhSbElHbHpJR0VnWW1Ga0lIUjVjR1ZjYmx4dVhHNGdJQ0FnYVdZZ0tITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaVmRwZEdoWFlYSnVhVzVuS0c1aGJXVXNJSFpoYkhWbExDQndjbTl3WlhKMGVVbHVabThzSUdaaGJITmxLU2tnZTF4dUlDQWdJQ0FnZDJGeWJtVmtVSEp2Y0dWeWRHbGxjeVF4VzI1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlJQzh2SUZkaGNtNGdkMmhsYmlCd1lYTnphVzVuSUhSb1pTQnpkSEpwYm1keklDZG1ZV3h6WlNjZ2IzSWdKM1J5ZFdVbklHbHVkRzhnWVNCaWIyOXNaV0Z1SUhCeWIzQmNibHh1WEc0Z0lDQWdhV1lnS0NoMllXeDFaU0E5UFQwZ0oyWmhiSE5sSnlCOGZDQjJZV3gxWlNBOVBUMGdKM1J5ZFdVbktTQW1KaUJ3Y205d1pYSjBlVWx1Wm04Z0lUMDlJRzUxYkd3Z0ppWWdjSEp2Y0dWeWRIbEpibVp2TG5SNWNHVWdQVDA5SUVKUFQweEZRVTRwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldObGFYWmxaQ0IwYUdVZ2MzUnlhVzVuSUdBbGMyQWdabTl5SUhSb1pTQmliMjlzWldGdUlHRjBkSEpwWW5WMFpTQmdKWE5nTGlBbklDc2dKeVZ6SUNjZ0t5QW5SR2xrSUhsdmRTQnRaV0Z1SUNWelBYc2xjMzAvSnl3Z2RtRnNkV1VzSUc1aGJXVXNJSFpoYkhWbElEMDlQU0FuWm1Gc2MyVW5JRDhnSjFSb1pTQmljbTkzYzJWeUlIZHBiR3dnYVc1MFpYSndjbVYwSUdsMElHRnpJR0VnZEhKMWRHaDVJSFpoYkhWbExpY2dPaUFuUVd4MGFHOTFaMmdnZEdocGN5QjNiM0pyY3l3Z2FYUWdkMmxzYkNCdWIzUWdkMjl5YXlCaGN5QmxlSEJsWTNSbFpDQnBaaUI1YjNVZ2NHRnpjeUIwYUdVZ2MzUnlhVzVuSUZ3aVptRnNjMlZjSWk0bkxDQnVZVzFsTENCMllXeDFaU2s3WEc1Y2JpQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE1rTVZ0dVlXMWxYU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ2ZUdGNibjFjYmx4dWRtRnlJSGRoY201VmJtdHViM2R1VUhKdmNHVnlkR2xsY3lBOUlHWjFibU4wYVc5dUlDaDBlWEJsTENCd2NtOXdjeXdnWTJGdVZYTmxSWFpsYm5SVGVYTjBaVzBwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUIxYm10dWIzZHVVSEp2Y0hNZ1BTQmJYVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR3RsZVNCcGJpQndjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2x6Vm1Gc2FXUWdQU0IyWVd4cFpHRjBaVkJ5YjNCbGNuUjVKREVvZEhsd1pTd2dhMlY1TENCd2NtOXdjMXRyWlhsZExDQmpZVzVWYzJWRmRtVnVkRk41YzNSbGJTazdYRzVjYmlBZ0lDQWdJR2xtSUNnaGFYTldZV3hwWkNrZ2UxeHVJQ0FnSUNBZ0lDQjFibXR1YjNkdVVISnZjSE11Y0hWemFDaHJaWGtwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCMWJtdHViM2R1VUhKdmNGTjBjbWx1WnlBOUlIVnVhMjV2ZDI1UWNtOXdjeTV0WVhBb1puVnVZM1JwYjI0Z0tIQnliM0FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuWUNjZ0t5QndjbTl3SUNzZ0oyQW5PMXh1SUNBZ0lIMHBMbXB2YVc0b0p5d2dKeWs3WEc1Y2JpQWdJQ0JwWmlBb2RXNXJibTkzYmxCeWIzQnpMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBsdWRtRnNhV1FnZG1Gc2RXVWdabTl5SUhCeWIzQWdKWE1nYjI0Z1BDVnpQaUIwWVdjdUlFVnBkR2hsY2lCeVpXMXZkbVVnYVhRZ1puSnZiU0IwYUdVZ1pXeGxiV1Z1ZEN3Z0p5QXJJQ2R2Y2lCd1lYTnpJR0VnYzNSeWFXNW5JRzl5SUc1MWJXSmxjaUIyWVd4MVpTQjBieUJyWldWd0lHbDBJR2x1SUhSb1pTQkVUMDB1SUNjZ0t5QW5SbTl5SUdSbGRHRnBiSE1zSUhObFpTQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV0YwZEhKcFluVjBaUzFpWldoaGRtbHZjaWNzSUhWdWEyNXZkMjVRY205d1UzUnlhVzVuTENCMGVYQmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFZ1YTI1dmQyNVFjbTl3Y3k1c1pXNW5kR2dnUGlBeEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblNXNTJZV3hwWkNCMllXeDFaWE1nWm05eUlIQnliM0J6SUNWeklHOXVJRHdsY3o0Z2RHRm5MaUJGYVhSb1pYSWdjbVZ0YjNabElIUm9aVzBnWm5KdmJTQjBhR1VnWld4bGJXVnVkQ3dnSnlBcklDZHZjaUJ3WVhOeklHRWdjM1J5YVc1bklHOXlJRzUxYldKbGNpQjJZV3gxWlNCMGJ5QnJaV1Z3SUhSb1pXMGdhVzRnZEdobElFUlBUUzRnSnlBcklDZEdiM0lnWkdWMFlXbHNjeXdnYzJWbElHaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRZWFIwY21saWRYUmxMV0psYUdGMmFXOXlKeXdnZFc1cmJtOTNibEJ5YjNCVGRISnBibWNzSUhSNWNHVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnZG1Gc2FXUmhkR1ZRY205d1pYSjBhV1Z6SkRJb2RIbHdaU3dnY0hKdmNITXNJR05oYmxWelpVVjJaVzUwVTNsemRHVnRLU0I3WEc0Z0lHbG1JQ2hwYzBOMWMzUnZiVU52YlhCdmJtVnVkQ2gwZVhCbExDQndjbTl3Y3lrcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCM1lYSnVWVzVyYm05M2JsQnliM0JsY25ScFpYTW9kSGx3WlN3Z2NISnZjSE1zSUdOaGJsVnpaVVYyWlc1MFUzbHpkR1Z0S1R0Y2JuMWNibHh1ZG1GeUlHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1SUQwZ1ptRnNjMlU3WEc1MllYSWdSRUZPUjBWU1QxVlRURmxmVTBWVVgwbE9Ua1ZTWDBoVVRVd2dQU0FuWkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVd25PMXh1ZG1GeUlGTlZVRkJTUlZOVFgwTlBUbFJGVGxSZlJVUkpWRUZDVEVWZlYwRlNUa2xPUnlBOUlDZHpkWEJ3Y21WemMwTnZiblJsYm5SRlpHbDBZV0pzWlZkaGNtNXBibWNuTzF4dWRtRnlJRk5WVUZCU1JWTlRYMGhaUkZKQlZFbFBUbDlYUVZKT1NVNUhJRDBnSjNOMWNIQnlaWE56U0hsa2NtRjBhVzl1VjJGeWJtbHVaeWM3WEc1MllYSWdRVlZVVDBaUFExVlRJRDBnSjJGMWRHOUdiMk4xY3ljN1hHNTJZWElnUTBoSlRFUlNSVTRnUFNBblkyaHBiR1J5Wlc0bk8xeHVkbUZ5SUZOVVdVeEZJRDBnSjNOMGVXeGxKenRjYm5aaGNpQklWRTFNSkRFZ1BTQW5YMTlvZEcxc0p6dGNiblpoY2lCSVZFMU1YMDVCVFVWVFVFRkRSU1F4SUQwZ1RtRnRaWE53WVdObGN5NW9kRzFzTzF4dWRtRnlJSGRoY201bFpGVnVhMjV2ZDI1VVlXZHpPMXh1ZG1GeUlITjFjSEJ5WlhOelNIbGtjbUYwYVc5dVYyRnlibWx1Wnp0Y2JuWmhjaUIyWVd4cFpHRjBaVkJ5YjNCbGNuUnBaWE5KYmtSbGRtVnNiM0J0Wlc1ME8xeHVkbUZ5SUhkaGNtNUdiM0pVWlhoMFJHbG1abVZ5Wlc1alpUdGNiblpoY2lCM1lYSnVSbTl5VUhKdmNFUnBabVpsY21WdVkyVTdYRzUyWVhJZ2QyRnlia1p2Y2tWNGRISmhRWFIwY21saWRYUmxjenRjYm5aaGNpQjNZWEp1Um05eVNXNTJZV3hwWkVWMlpXNTBUR2x6ZEdWdVpYSTdYRzUyWVhJZ1kyRnVSR2xtWmxOMGVXeGxSbTl5U0hsa2NtRjBhVzl1VjJGeWJtbHVaenRjYm5aaGNpQnViM0p0WVd4cGVtVk5ZWEpyZFhCR2IzSlVaWGgwVDNKQmRIUnlhV0oxZEdVN1hHNTJZWElnYm05eWJXRnNhWHBsU0ZSTlREdGNibHh1ZTF4dUlDQjNZWEp1WldSVmJtdHViM2R1VkdGbmN5QTlJSHRjYmlBZ0lDQXZMeUJEYUhKdmJXVWdhWE1nZEdobElHOXViSGtnYldGcWIzSWdZbkp2ZDNObGNpQnViM1FnYzJocGNIQnBibWNnUEhScGJXVStMaUJDZFhRZ1lYTWdiMllnU25Wc2VWeHVJQ0FnSUM4dklESXdNVGNnYVhRZ2FXNTBaVzVrY3lCMGJ5QnphR2x3SUdsMElHUjFaU0IwYnlCM2FXUmxjM0J5WldGa0lIVnpZV2RsTGlCWFpTQnBiblJsYm5ScGIyNWhiR3g1WEc0Z0lDQWdMeThnS21SdmJpZDBLaUIzWVhKdUlHWnZjaUE4ZEdsdFpUNGdaWFpsYmlCcFppQnBkQ2R6SUhWdWNtVmpiMmR1YVhwbFpDQmllU0JEYUhKdmJXVWdZbVZqWVhWelpWeHVJQ0FnSUM4dklHbDBJSE52YjI0Z2QybHNiQ0JpWlN3Z1lXNWtJRzFoYm5rZ1lYQndjeUJvWVhabElHSmxaVzRnZFhOcGJtY2dhWFFnWVc1NWQyRjVMbHh1SUNBZ0lIUnBiV1U2SUhSeWRXVXNYRzRnSUNBZ0x5OGdWR2hsY21VZ1lYSmxJSGR2Y210cGJtY2djRzlzZVdacGJHeHpJR1p2Y2lBOFpHbGhiRzluUGk0Z1RHVjBJSEJsYjNCc1pTQjFjMlVnYVhRdVhHNGdJQ0FnWkdsaGJHOW5PaUIwY25WbExGeHVJQ0FnSUM4dklFVnNaV04wY205dUlITm9hWEJ6SUdFZ1kzVnpkRzl0SUR4M1pXSjJhV1YzUGlCMFlXY2dkRzhnWkdsemNHeGhlU0JsZUhSbGNtNWhiQ0IzWldJZ1kyOXVkR1Z1ZENCcGJseHVJQ0FnSUM4dklHRnVJR2x6YjJ4aGRHVmtJR1p5WVcxbElHRnVaQ0J3Y205alpYTnpMbHh1SUNBZ0lDOHZJRlJvYVhNZ2RHRm5JR2x6SUc1dmRDQndjbVZ6Wlc1MElHbHVJRzV2YmlCRmJHVmpkSEp2YmlCbGJuWnBjbTl1YldWdWRITWdjM1ZqYUNCaGN5QktVMFJ2YlNCM2FHbGphRnh1SUNBZ0lDOHZJR2x6SUc5bWRHVnVJSFZ6WldRZ1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTXVYRzRnSUNBZ0x5OGdRSE5sWlNCb2RIUndjem92TDJWc1pXTjBjbTl1YW5NdWIzSm5MMlJ2WTNNdllYQnBMM2RsWW5acFpYY3RkR0ZuWEc0Z0lDQWdkMlZpZG1sbGR6b2dkSEoxWlZ4dUlDQjlPMXh1WEc0Z0lIWmhiR2xrWVhSbFVISnZjR1Z5ZEdsbGMwbHVSR1YyWld4dmNHMWxiblFnUFNCbWRXNWpkR2x2YmlBb2RIbHdaU3dnY0hKdmNITXBJSHRjYmlBZ0lDQjJZV3hwWkdGMFpWQnliM0JsY25ScFpYTW9kSGx3WlN3Z2NISnZjSE1wTzF4dUlDQWdJSFpoYkdsa1lYUmxVSEp2Y0dWeWRHbGxjeVF4S0hSNWNHVXNJSEJ5YjNCektUdGNiaUFnSUNCMllXeHBaR0YwWlZCeWIzQmxjblJwWlhNa01paDBlWEJsTENCd2NtOXdjeXhjYmlBZ0lDQXZLaUJqWVc1VmMyVkZkbVZ1ZEZONWMzUmxiU0FxTDF4dUlDQWdJSFJ5ZFdVcE8xeHVJQ0I5T3lBdkx5QkpSU0F4TVNCd1lYSnpaWE1nSmlCdWIzSnRZV3hwZW1WeklIUm9aU0J6ZEhsc1pTQmhkSFJ5YVdKMWRHVWdZWE1nYjNCd2IzTmxaQ0IwYnlCdmRHaGxjbHh1SUNBdkx5QmljbTkzYzJWeWN5NGdTWFFnWVdSa2N5QnpjR0ZqWlhNZ1lXNWtJSE52Y25SeklIUm9aU0J3Y205d1pYSjBhV1Z6SUdsdUlITnZiV1ZjYmlBZ0x5OGdibTl1TFdGc2NHaGhZbVYwYVdOaGJDQnZjbVJsY2k0Z1NHRnVaR3hwYm1jZ2RHaGhkQ0IzYjNWc1pDQnlaWEYxYVhKbElITnZjblJwYm1jZ1ExTlRYRzRnSUM4dklIQnliM0JsY25ScFpYTWdhVzRnZEdobElHTnNhV1Z1ZENBbUlITmxjblpsY2lCMlpYSnphVzl1Y3lCdmNpQmhjSEJzZVdsdVoxeHVJQ0F2THlCZ1pYaHdaV04wWldSVGRIbHNaV0FnZEc4Z1lTQjBaVzF3YjNKaGNua2dSRTlOSUc1dlpHVWdkRzhnY21WaFpDQnBkSE1nWUhOMGVXeGxZQ0JoZEhSeWFXSjFkR1ZjYmlBZ0x5OGdibTl5YldGc2FYcGxaQzRnVTJsdVkyVWdhWFFnYjI1c2VTQmhabVpsWTNSeklFbEZMQ0IzWlNkeVpTQnphMmx3Y0dsdVp5QnpkSGxzWlNCM1lYSnVhVzVuYzF4dUlDQXZMeUJwYmlCMGFHRjBJR0p5YjNkelpYSWdZMjl0Y0d4bGRHVnNlU0JwYmlCbVlYWnZjaUJ2WmlCa2IybHVaeUJoYkd3Z2RHaGhkQ0IzYjNKckxseHVJQ0F2THlCVFpXVWdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWVdOMEwybHpjM1ZsY3k4eE1UZ3dOMXh1WEc1Y2JpQWdZMkZ1UkdsbVpsTjBlV3hsUm05eVNIbGtjbUYwYVc5dVYyRnlibWx1WnlBOUlHTmhibFZ6WlVSUFRTQW1KaUFoWkc5amRXMWxiblF1Wkc5amRXMWxiblJOYjJSbE95QXZMeUJJVkUxTUlIQmhjbk5wYm1jZ2JtOXliV0ZzYVhwbGN5QkRVaUJoYm1RZ1ExSk1SaUIwYnlCTVJpNWNiaUFnTHk4Z1NYUWdZV3h6YnlCallXNGdkSFZ5YmlCY1hIVXdNREF3SUdsdWRHOGdYRngxUmtaR1JDQnBibk5wWkdVZ1lYUjBjbWxpZFhSbGN5NWNiaUFnTHk4Z2FIUjBjSE02THk5M2QzY3Vkek11YjNKbkwxUlNMMmgwYld3MUwzTnBibWRzWlMxd1lXZGxMbWgwYld3amNISmxjSEp2WTJWemMybHVaeTEwYUdVdGFXNXdkWFF0YzNSeVpXRnRYRzRnSUM4dklFbG1JSGRsSUdoaGRtVWdZU0J0YVhOdFlYUmphQ3dnYVhRZ2JXbG5hSFFnWW1VZ1kyRjFjMlZrSUdKNUlIUm9ZWFF1WEc0Z0lDOHZJRmRsSUhkcGJHd2djM1JwYkd3Z2NHRjBZMmdnZFhBZ2FXNGdkR2hwY3lCallYTmxJR0oxZENCdWIzUWdabWx5WlNCMGFHVWdkMkZ5Ym1sdVp5NWNibHh1SUNCMllYSWdUazlTVFVGTVNWcEZYMDVGVjB4SlRrVlRYMUpGUjBWWUlEMGdMMXhjY2x4Y2JqOHZaenRjYmlBZ2RtRnlJRTVQVWsxQlRFbGFSVjlPVlV4TVgwRk9SRjlTUlZCTVFVTkZUVVZPVkY5U1JVZEZXQ0E5SUM5Y1hIVXdNREF3ZkZ4Y2RVWkdSa1F2Wnp0Y2JseHVJQ0J1YjNKdFlXeHBlbVZOWVhKcmRYQkdiM0pVWlhoMFQzSkJkSFJ5YVdKMWRHVWdQU0JtZFc1amRHbHZiaUFvYldGeWEzVndLU0I3WEc0Z0lDQWdkbUZ5SUcxaGNtdDFjRk4wY21sdVp5QTlJSFI1Y0dWdlppQnRZWEpyZFhBZ1BUMDlJQ2R6ZEhKcGJtY25JRDhnYldGeWEzVndJRG9nSnljZ0t5QnRZWEpyZFhBN1hHNGdJQ0FnY21WMGRYSnVJRzFoY210MWNGTjBjbWx1Wnk1eVpYQnNZV05sS0U1UFVrMUJURWxhUlY5T1JWZE1TVTVGVTE5U1JVZEZXQ3dnSjF4Y2JpY3BMbkpsY0d4aFkyVW9UazlTVFVGTVNWcEZYMDVWVEV4ZlFVNUVYMUpGVUV4QlEwVk5SVTVVWDFKRlIwVllMQ0FuSnlrN1hHNGdJSDA3WEc1Y2JpQWdkMkZ5YmtadmNsUmxlSFJFYVdabVpYSmxibU5sSUQwZ1puVnVZM1JwYjI0Z0tITmxjblpsY2xSbGVIUXNJR05zYVdWdWRGUmxlSFFwSUh0Y2JpQWdJQ0JwWmlBb1pHbGtWMkZ5YmtsdWRtRnNhV1JJZVdSeVlYUnBiMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYm05eWJXRnNhWHBsWkVOc2FXVnVkRlJsZUhRZ1BTQnViM0p0WVd4cGVtVk5ZWEpyZFhCR2IzSlVaWGgwVDNKQmRIUnlhV0oxZEdVb1kyeHBaVzUwVkdWNGRDazdYRzRnSUNBZ2RtRnlJRzV2Y20xaGJHbDZaV1JUWlhKMlpYSlVaWGgwSUQwZ2JtOXliV0ZzYVhwbFRXRnlhM1Z3Um05eVZHVjRkRTl5UVhSMGNtbGlkWFJsS0hObGNuWmxjbFJsZUhRcE8xeHVYRzRnSUNBZ2FXWWdLRzV2Y20xaGJHbDZaV1JUWlhKMlpYSlVaWGgwSUQwOVBTQnViM0p0WVd4cGVtVmtRMnhwWlc1MFZHVjRkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1SUQwZ2RISjFaVHRjYmx4dUlDQWdJR1Z5Y205eUtDZFVaWGgwSUdOdmJuUmxiblFnWkdsa0lHNXZkQ0J0WVhSamFDNGdVMlZ5ZG1WeU9pQmNJaVZ6WENJZ1EyeHBaVzUwT2lCY0lpVnpYQ0luTENCdWIzSnRZV3hwZW1Wa1UyVnlkbVZ5VkdWNGRDd2dibTl5YldGc2FYcGxaRU5zYVdWdWRGUmxlSFFwTzF4dUlDQjlPMXh1WEc0Z0lIZGhjbTVHYjNKUWNtOXdSR2xtWm1WeVpXNWpaU0E5SUdaMWJtTjBhVzl1SUNod2NtOXdUbUZ0WlN3Z2MyVnlkbVZ5Vm1Gc2RXVXNJR05zYVdWdWRGWmhiSFZsS1NCN1hHNGdJQ0FnYVdZZ0tHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1dmNtMWhiR2w2WldSRGJHbGxiblJXWVd4MVpTQTlJRzV2Y20xaGJHbDZaVTFoY210MWNFWnZjbFJsZUhSUGNrRjBkSEpwWW5WMFpTaGpiR2xsYm5SV1lXeDFaU2s3WEc0Z0lDQWdkbUZ5SUc1dmNtMWhiR2w2WldSVFpYSjJaWEpXWVd4MVpTQTlJRzV2Y20xaGJHbDZaVTFoY210MWNFWnZjbFJsZUhSUGNrRjBkSEpwWW5WMFpTaHpaWEoyWlhKV1lXeDFaU2s3WEc1Y2JpQWdJQ0JwWmlBb2JtOXliV0ZzYVhwbFpGTmxjblpsY2xaaGJIVmxJRDA5UFNCdWIzSnRZV3hwZW1Wa1EyeHBaVzUwVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCa2FXUlhZWEp1U1c1MllXeHBaRWg1WkhKaGRHbHZiaUE5SUhSeWRXVTdYRzVjYmlBZ0lDQmxjbkp2Y2lnblVISnZjQ0JnSlhOZ0lHUnBaQ0J1YjNRZ2JXRjBZMmd1SUZObGNuWmxjam9nSlhNZ1EyeHBaVzUwT2lBbGN5Y3NJSEJ5YjNCT1lXMWxMQ0JLVTA5T0xuTjBjbWx1WjJsbWVTaHViM0p0WVd4cGVtVmtVMlZ5ZG1WeVZtRnNkV1VwTENCS1UwOU9Mbk4wY21sdVoybG1lU2h1YjNKdFlXeHBlbVZrUTJ4cFpXNTBWbUZzZFdVcEtUdGNiaUFnZlR0Y2JseHVJQ0IzWVhKdVJtOXlSWGgwY21GQmRIUnlhV0oxZEdWeklEMGdablZ1WTNScGIyNGdLR0YwZEhKcFluVjBaVTVoYldWektTQjdYRzRnSUNBZ2FXWWdLR1JwWkZkaGNtNUpiblpoYkdsa1NIbGtjbUYwYVc5dUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWkdsa1YyRnlia2x1ZG1Gc2FXUkllV1J5WVhScGIyNGdQU0IwY25WbE8xeHVJQ0FnSUhaaGNpQnVZVzFsY3lBOUlGdGRPMXh1SUNBZ0lHRjBkSEpwWW5WMFpVNWhiV1Z6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ0lDQWdJRzVoYldWekxuQjFjMmdvYm1GdFpTazdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQmxjbkp2Y2lnblJYaDBjbUVnWVhSMGNtbGlkWFJsY3lCbWNtOXRJSFJvWlNCelpYSjJaWEk2SUNWekp5d2dibUZ0WlhNcE8xeHVJQ0I5TzF4dVhHNGdJSGRoY201R2IzSkpiblpoYkdsa1JYWmxiblJNYVhOMFpXNWxjaUE5SUdaMWJtTjBhVzl1SUNoeVpXZHBjM1J5WVhScGIyNU9ZVzFsTENCc2FYTjBaVzVsY2lrZ2UxeHVJQ0FnSUdsbUlDaHNhWE4wWlc1bGNpQTlQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDZEZlSEJsWTNSbFpDQmdKWE5nSUd4cGMzUmxibVZ5SUhSdklHSmxJR0VnWm5WdVkzUnBiMjRzSUdsdWMzUmxZV1FnWjI5MElHQm1ZV3h6WldBdVhGeHVYRnh1SnlBcklDZEpaaUI1YjNVZ2RYTmxaQ0IwYnlCamIyNWthWFJwYjI1aGJHeDVJRzl0YVhRZ2FYUWdkMmwwYUNBbGN6MTdZMjl1WkdsMGFXOXVJQ1ltSUhaaGJIVmxmU3dnSnlBcklDZHdZWE56SUNWelBYdGpiMjVrYVhScGIyNGdQeUIyWVd4MVpTQTZJSFZ1WkdWbWFXNWxaSDBnYVc1emRHVmhaQzRuTENCeVpXZHBjM1J5WVhScGIyNU9ZVzFsTENCeVpXZHBjM1J5WVhScGIyNU9ZVzFsTENCeVpXZHBjM1J5WVhScGIyNU9ZVzFsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lHQWxjMkFnYkdsemRHVnVaWElnZEc4Z1ltVWdZU0JtZFc1amRHbHZiaXdnYVc1emRHVmhaQ0JuYjNRZ1lTQjJZV3gxWlNCdlppQmdKWE5nSUhSNWNHVXVKeXdnY21WbmFYTjBjbUYwYVc5dVRtRnRaU3dnZEhsd1pXOW1JR3hwYzNSbGJtVnlLVHRjYmlBZ0lDQjlYRzRnSUgwN0lDOHZJRkJoY25ObElIUm9aU0JJVkUxTUlHRnVaQ0J5WldGa0lHbDBJR0poWTJzZ2RHOGdibTl5YldGc2FYcGxJSFJvWlNCSVZFMU1JSE4wY21sdVp5QnpieUIwYUdGMElHbDBYRzRnSUM4dklHTmhiaUJpWlNCMWMyVmtJR1p2Y2lCamIyMXdZWEpwYzI5dUxseHVYRzVjYmlBZ2JtOXliV0ZzYVhwbFNGUk5UQ0E5SUdaMWJtTjBhVzl1SUNod1lYSmxiblFzSUdoMGJXd3BJSHRjYmlBZ0lDQXZMeUJYWlNCamIzVnNaQ0JvWVhabElHTnlaV0YwWldRZ1lTQnpaWEJoY21GMFpTQmtiMk4xYldWdWRDQm9aWEpsSUhSdklHRjJiMmxrWEc0Z0lDQWdMeThnY21VdGFXNXBkR2xoYkdsNmFXNW5JR04xYzNSdmJTQmxiR1Z0Wlc1MGN5QnBaaUIwYUdWNUlHVjRhWE4wTGlCQ2RYUWdkR2hwY3lCaWNtVmhhM05jYmlBZ0lDQXZMeUJvYjNjZ1BHNXZjMk55YVhCMFBpQnBjeUJpWldsdVp5Qm9ZVzVrYkdWa0xpQlRieUIzWlNCMWMyVWdkR2hsSUhOaGJXVWdaRzlqZFcxbGJuUXVYRzRnSUNBZ0x5OGdVMlZsSUhSb1pTQmthWE5qZFhOemFXOXVJR2x1SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVlXTmxZbTl2YXk5eVpXRmpkQzl3ZFd4c0x6RXhNVFUzTGx4dUlDQWdJSFpoY2lCMFpYTjBSV3hsYldWdWRDQTlJSEJoY21WdWRDNXVZVzFsYzNCaFkyVlZVa2tnUFQwOUlFaFVUVXhmVGtGTlJWTlFRVU5GSkRFZ1B5QndZWEpsYm5RdWIzZHVaWEpFYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtIQmhjbVZ1ZEM1MFlXZE9ZVzFsS1NBNklIQmhjbVZ1ZEM1dmQyNWxja1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5ST1V5aHdZWEpsYm5RdWJtRnRaWE53WVdObFZWSkpMQ0J3WVhKbGJuUXVkR0ZuVG1GdFpTazdYRzRnSUNBZ2RHVnpkRVZzWlcxbGJuUXVhVzV1WlhKSVZFMU1JRDBnYUhSdGJEdGNiaUFnSUNCeVpYUjFjbTRnZEdWemRFVnNaVzFsYm5RdWFXNXVaWEpJVkUxTU8xeHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsYm5OMWNtVk1hWE4wWlc1cGJtZFVieWh5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEN3Z2NtVm5hWE4wY21GMGFXOXVUbUZ0WlNrZ2UxeHVJQ0IyWVhJZ2FYTkViMk4xYldWdWRFOXlSbkpoWjIxbGJuUWdQU0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEM1dWIyUmxWSGx3WlNBOVBUMGdSRTlEVlUxRlRsUmZUazlFUlNCOGZDQnliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQzV1YjJSbFZIbHdaU0E5UFQwZ1JFOURWVTFGVGxSZlJsSkJSMDFGVGxSZlRrOUVSVHRjYmlBZ2RtRnlJR1J2WXlBOUlHbHpSRzlqZFcxbGJuUlBja1p5WVdkdFpXNTBJRDhnY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5RZ09pQnliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQzV2ZDI1bGNrUnZZM1Z0Wlc1ME8xeHVJQ0JzWldkaFkzbE1hWE4wWlc1VWIwVjJaVzUwS0hKbFoybHpkSEpoZEdsdmJrNWhiV1VzSUdSdll5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRTkzYm1WeVJHOWpkVzFsYm5SR2NtOXRVbTl2ZEVOdmJuUmhhVzVsY2loeWIyOTBRMjl1ZEdGcGJtVnlSV3hsYldWdWRDa2dlMXh1SUNCeVpYUjFjbTRnY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5RdWJtOWtaVlI1Y0dVZ1BUMDlJRVJQUTFWTlJVNVVYMDVQUkVVZ1B5QnliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQ0E2SUhKdmIzUkRiMjUwWVdsdVpYSkZiR1Z0Wlc1MExtOTNibVZ5Ukc5amRXMWxiblE3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzV2YjNBb0tTQjdmVnh1WEc1bWRXNWpkR2x2YmlCMGNtRndRMnhwWTJ0UGJrNXZia2x1ZEdWeVlXTjBhWFpsUld4bGJXVnVkQ2h1YjJSbEtTQjdYRzRnSUM4dklFMXZZbWxzWlNCVFlXWmhjbWtnWkc5bGN5QnViM1FnWm1seVpTQndjbTl3WlhKc2VTQmlkV0ppYkdVZ1kyeHBZMnNnWlhabGJuUnpJRzl1WEc0Z0lDOHZJRzV2YmkxcGJuUmxjbUZqZEdsMlpTQmxiR1Z0Wlc1MGN5d2dkMmhwWTJnZ2JXVmhibk1nWkdWc1pXZGhkR1ZrSUdOc2FXTnJJR3hwYzNSbGJtVnljeUJrYnlCdWIzUmNiaUFnTHk4Z1ptbHlaUzRnVkdobElIZHZjbXRoY205MWJtUWdabTl5SUhSb2FYTWdZblZuSUdsdWRtOXNkbVZ6SUdGMGRHRmphR2x1WnlCaGJpQmxiWEIwZVNCamJHbGphMXh1SUNBdkx5QnNhWE4wWlc1bGNpQnZiaUIwYUdVZ2RHRnlaMlYwSUc1dlpHVXVYRzRnSUM4dklHaDBkSEE2THk5M2QzY3VjWFZwY210emJXOWtaUzV2Y21jdllteHZaeTloY21Ob2FYWmxjeTh5TURFd0x6QTVMMk5zYVdOclgyVjJaVzUwWDJSbGJDNW9kRzFzWEc0Z0lDOHZJRXAxYzNRZ2MyVjBJR2wwSUhWemFXNW5JSFJvWlNCdmJtTnNhV05ySUhCeWIzQmxjblI1SUhOdklIUm9ZWFFnZDJVZ1pHOXVKM1FnYUdGMlpTQjBieUJ0WVc1aFoyVWdZVzU1WEc0Z0lDOHZJR0p2YjJ0clpXVndhVzVuSUdadmNpQnBkQzRnVG05MElITjFjbVVnYVdZZ2QyVWdibVZsWkNCMGJ5QmpiR1ZoY2lCcGRDQjNhR1Z1SUhSb1pTQnNhWE4wWlc1bGNpQnBjMXh1SUNBdkx5QnlaVzF2ZG1Wa0xseHVJQ0F2THlCVVQwUlBPaUJQYm14NUlHUnZJSFJvYVhNZ1ptOXlJSFJvWlNCeVpXeGxkbUZ1ZENCVFlXWmhjbWx6SUcxaGVXSmxQMXh1SUNCdWIyUmxMbTl1WTJ4cFkyc2dQU0J1YjI5d08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCelpYUkpibWwwYVdGc1JFOU5VSEp2Y0dWeWRHbGxjeWgwWVdjc0lHUnZiVVZzWlcxbGJuUXNJSEp2YjNSRGIyNTBZV2x1WlhKRmJHVnRaVzUwTENCdVpYaDBVSEp2Y0hNc0lHbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5LU0I3WEc0Z0lHWnZjaUFvZG1GeUlIQnliM0JMWlhrZ2FXNGdibVY0ZEZCeWIzQnpLU0I3WEc0Z0lDQWdhV1lnS0NGdVpYaDBVSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0hKdmNFdGxlU2twSUh0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCdVpYaDBVSEp2Y0NBOUlHNWxlSFJRY205d2MxdHdjbTl3UzJWNVhUdGNibHh1SUNBZ0lHbG1JQ2h3Y205d1MyVjVJRDA5UFNCVFZGbE1SU2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCcFppQW9ibVY0ZEZCeWIzQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkdjbVZsZW1VZ2RHaGxJRzVsZUhRZ2MzUjViR1VnYjJKcVpXTjBJSE52SUhSb1lYUWdkMlVnWTJGdUlHRnpjM1Z0WlNCcGRDQjNiMjRuZENCaVpWeHVJQ0FnSUNBZ0lDQWdJQzh2SUcxMWRHRjBaV1F1SUZkbElHaGhkbVVnWVd4eVpXRmtlU0IzWVhKdVpXUWdabTl5SUhSb2FYTWdhVzRnZEdobElIQmhjM1F1WEc0Z0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1aeVpXVjZaU2h1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwZ0x5OGdVbVZzYVdWeklHOXVJR0IxY0dSaGRHVlRkSGxzWlhOQ2VVbEVZQ0J1YjNRZ2JYVjBZWFJwYm1jZ1lITjBlV3hsVlhCa1lYUmxjMkF1WEc1Y2JseHVJQ0FnSUNBZ2MyVjBWbUZzZFdWR2IzSlRkSGxzWlhNb1pHOXRSV3hsYldWdWRDd2dibVY0ZEZCeWIzQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9jSEp2Y0V0bGVTQTlQVDBnUkVGT1IwVlNUMVZUVEZsZlUwVlVYMGxPVGtWU1gwaFVUVXdwSUh0Y2JpQWdJQ0FnSUhaaGNpQnVaWGgwU0hSdGJDQTlJRzVsZUhSUWNtOXdJRDhnYm1WNGRGQnliM0JiU0ZSTlRDUXhYU0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUNBZ2FXWWdLRzVsZUhSSWRHMXNJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYzJWMFNXNXVaWEpJVkUxTUtHUnZiVVZzWlcxbGJuUXNJRzVsZUhSSWRHMXNLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVOSVNVeEVVa1ZPS1NCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxlSFJRY205d0lEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnSUNBdkx5QkJkbTlwWkNCelpYUjBhVzVuSUdsdWFYUnBZV3dnZEdWNGRFTnZiblJsYm5RZ2QyaGxiaUIwYUdVZ2RHVjRkQ0JwY3lCbGJYQjBlUzRnU1c0Z1NVVXhNU0J6WlhSMGFXNW5YRzRnSUNBZ0lDQWdJQzh2SUhSbGVIUkRiMjUwWlc1MElHOXVJR0VnUEhSbGVIUmhjbVZoUGlCM2FXeHNJR05oZFhObElIUm9aU0J3YkdGalpXaHZiR1JsY2lCMGJ5QnViM1JjYmlBZ0lDQWdJQ0FnTHk4Z2MyaHZkeUIzYVhSb2FXNGdkR2hsSUR4MFpYaDBZWEpsWVQ0Z2RXNTBhV3dnYVhRZ2FHRnpJR0psWlc0Z1ptOWpkWE5sWkNCaGJtUWdZbXgxY25KbFpDQmhaMkZwYmk1Y2JpQWdJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWVdOMEwybHpjM1ZsY3k4Mk56TXhJMmx6YzNWbFkyOXRiV1Z1ZEMweU5UUTROelExTlROY2JpQWdJQ0FnSUNBZ2RtRnlJR05oYmxObGRGUmxlSFJEYjI1MFpXNTBJRDBnZEdGbklDRTlQU0FuZEdWNGRHRnlaV0VuSUh4OElHNWxlSFJRY205d0lDRTlQU0FuSnp0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWTJGdVUyVjBWR1Y0ZEVOdmJuUmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnpaWFJVWlhoMFEyOXVkR1Z1ZENoa2IyMUZiR1Z0Wlc1MExDQnVaWGgwVUhKdmNDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JRzVsZUhSUWNtOXdJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUNBZ0lDQnpaWFJVWlhoMFEyOXVkR1Z1ZENoa2IyMUZiR1Z0Wlc1MExDQW5KeUFySUc1bGVIUlFjbTl3S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0NCd2NtOXdTMlY1SUQwOVBTQlRWVkJRVWtWVFUxOURUMDVVUlU1VVgwVkVTVlJCUWt4RlgxZEJVazVKVGtjZ2ZId2djSEp2Y0V0bGVTQTlQVDBnVTFWUVVGSkZVMU5mU0ZsRVVrRlVTVTlPWDFkQlVrNUpUa2NwSURzZ1pXeHpaU0JwWmlBb2NISnZjRXRsZVNBOVBUMGdRVlZVVDBaUFExVlRLU0E3SUdWc2MyVWdhV1lnS0hKbFoybHpkSEpoZEdsdmJrNWhiV1ZOYjJSMWJHVnpMbWhoYzA5M2JsQnliM0JsY25SNUtIQnliM0JMWlhrcEtTQjdYRzRnSUNBZ0lDQnBaaUFvYm1WNGRGQnliM0FnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9JSFI1Y0dWdlppQnVaWGgwVUhKdmNDQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSGRoY201R2IzSkpiblpoYkdsa1JYWmxiblJNYVhOMFpXNWxjaWh3Y205d1MyVjVMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmxibk4xY21WTWFYTjBaVzVwYm1kVWJ5aHliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQ3dnY0hKdmNFdGxlU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WlhoMFVISnZjQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J6WlhSV1lXeDFaVVp2Y2xCeWIzQmxjblI1S0dSdmJVVnNaVzFsYm5Rc0lIQnliM0JMWlhrc0lHNWxlSFJRY205d0xDQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVVJQVFZCeWIzQmxjblJwWlhNb1pHOXRSV3hsYldWdWRDd2dkWEJrWVhSbFVHRjViRzloWkN3Z2QyRnpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5MQ0JwYzBOMWMzUnZiVU52YlhCdmJtVnVkRlJoWnlrZ2UxeHVJQ0F2THlCVVQwUlBPaUJJWVc1a2JHVWdkMkZ6UTNWemRHOXRRMjl0Y0c5dVpXNTBWR0ZuWEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkWEJrWVhSbFVHRjViRzloWkM1c1pXNW5kR2c3SUdrZ0t6MGdNaWtnZTF4dUlDQWdJSFpoY2lCd2NtOXdTMlY1SUQwZ2RYQmtZWFJsVUdGNWJHOWhaRnRwWFR0Y2JpQWdJQ0IyWVhJZ2NISnZjRlpoYkhWbElEMGdkWEJrWVhSbFVHRjViRzloWkZ0cElDc2dNVjA3WEc1Y2JpQWdJQ0JwWmlBb2NISnZjRXRsZVNBOVBUMGdVMVJaVEVVcElIdGNiaUFnSUNBZ0lITmxkRlpoYkhWbFJtOXlVM1I1YkdWektHUnZiVVZzWlcxbGJuUXNJSEJ5YjNCV1lXeDFaU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h3Y205d1MyVjVJRDA5UFNCRVFVNUhSVkpQVlZOTVdWOVRSVlJmU1U1T1JWSmZTRlJOVENrZ2UxeHVJQ0FnSUNBZ2MyVjBTVzV1WlhKSVZFMU1LR1J2YlVWc1pXMWxiblFzSUhCeWIzQldZV3gxWlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNod2NtOXdTMlY1SUQwOVBTQkRTRWxNUkZKRlRpa2dlMXh1SUNBZ0lDQWdjMlYwVkdWNGRFTnZiblJsYm5Rb1pHOXRSV3hsYldWdWRDd2djSEp2Y0ZaaGJIVmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2MyVjBWbUZzZFdWR2IzSlFjbTl3WlhKMGVTaGtiMjFGYkdWdFpXNTBMQ0J3Y205d1MyVjVMQ0J3Y205d1ZtRnNkV1VzSUdselEzVnpkRzl0UTI5dGNHOXVaVzUwVkdGbktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFJXeGxiV1Z1ZENoMGVYQmxMQ0J3Y205d2N5d2djbTl2ZEVOdmJuUmhhVzVsY2tWc1pXMWxiblFzSUhCaGNtVnVkRTVoYldWemNHRmpaU2tnZTF4dUlDQjJZWElnYVhORGRYTjBiMjFEYjIxd2IyNWxiblJVWVdjN0lDOHZJRmRsSUdOeVpXRjBaU0IwWVdkeklHbHVJSFJvWlNCdVlXMWxjM0JoWTJVZ2IyWWdkR2hsYVhJZ2NHRnlaVzUwSUdOdmJuUmhhVzVsY2l3Z1pYaGpaWEIwSUVoVVRVeGNiaUFnTHk4Z2RHRm5jeUJuWlhRZ2JtOGdibUZ0WlhOd1lXTmxMbHh1WEc0Z0lIWmhjaUJ2ZDI1bGNrUnZZM1Z0Wlc1MElEMGdaMlYwVDNkdVpYSkViMk4xYldWdWRFWnliMjFTYjI5MFEyOXVkR0ZwYm1WeUtISnZiM1JEYjI1MFlXbHVaWEpGYkdWdFpXNTBLVHRjYmlBZ2RtRnlJR1J2YlVWc1pXMWxiblE3WEc0Z0lIWmhjaUJ1WVcxbGMzQmhZMlZWVWtrZ1BTQndZWEpsYm5ST1lXMWxjM0JoWTJVN1hHNWNiaUFnYVdZZ0tHNWhiV1Z6Y0dGalpWVlNTU0E5UFQwZ1NGUk5URjlPUVUxRlUxQkJRMFVrTVNrZ2UxeHVJQ0FnSUc1aGJXVnpjR0ZqWlZWU1NTQTlJR2RsZEVsdWRISnBibk5wWTA1aGJXVnpjR0ZqWlNoMGVYQmxLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHVZVzFsYzNCaFkyVlZVa2tnUFQwOUlFaFVUVXhmVGtGTlJWTlFRVU5GSkRFcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCcGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5QTlJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBLSFI1Y0dVc0lIQnliM0J6S1RzZ0x5OGdVMmh2ZFd4a0lIUm9hWE1nWTJobFkyc2dZbVVnWjJGMFpXUWdZbmtnY0dGeVpXNTBJRzVoYldWemNHRmpaVDhnVG05MElITjFjbVVnZDJVZ2QyRnVkQ0IwYjF4dUlDQWdJQ0FnTHk4Z1lXeHNiM2NnUEZOV1J6NGdiM0lnUEcxQlZFZytMbHh1WEc0Z0lDQWdJQ0JwWmlBb0lXbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5JQ1ltSUhSNWNHVWdJVDA5SUhSNWNHVXVkRzlNYjNkbGNrTmhjMlVvS1NrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnblBDVnpJQzgrSUdseklIVnphVzVuSUdsdVkyOXljbVZqZENCallYTnBibWN1SUNjZ0t5QW5WWE5sSUZCaGMyTmhiRU5oYzJVZ1ptOXlJRkpsWVdOMElHTnZiWEJ2Ym1WdWRITXNJQ2NnS3lBbmIzSWdiRzkzWlhKallYTmxJR1p2Y2lCSVZFMU1JR1ZzWlcxbGJuUnpMaWNzSUhSNWNHVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbElEMDlQU0FuYzJOeWFYQjBKeWtnZTF4dUlDQWdJQ0FnTHk4Z1EzSmxZWFJsSUhSb1pTQnpZM0pwY0hRZ2RtbGhJQzVwYm01bGNraFVUVXdnYzI4Z2FYUnpJRndpY0dGeWMyVnlMV2x1YzJWeWRHVmtYQ0lnWm14aFp5QnBjMXh1SUNBZ0lDQWdMeThnYzJWMElIUnZJSFJ5ZFdVZ1lXNWtJR2wwSUdSdlpYTWdibTkwSUdWNFpXTjFkR1ZjYmlBZ0lDQWdJSFpoY2lCa2FYWWdQU0J2ZDI1bGNrUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjJScGRpY3BPMXh1WEc0Z0lDQWdJQ0JrYVhZdWFXNXVaWEpJVkUxTUlEMGdKenh6WTNKcGNIUStQQ2NnS3lBbkwzTmpjbWx3ZEQ0bk95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsWEc0Z0lDQWdJQ0F2THlCVWFHbHpJR2x6SUdkMVlYSmhiblJsWldRZ2RHOGdlV2xsYkdRZ1lTQnpZM0pwY0hRZ1pXeGxiV1Z1ZEM1Y2JseHVJQ0FnSUNBZ2RtRnlJR1pwY25OMFEyaHBiR1FnUFNCa2FYWXVabWx5YzNSRGFHbHNaRHRjYmlBZ0lDQWdJR1J2YlVWc1pXMWxiblFnUFNCa2FYWXVjbVZ0YjNabFEyaHBiR1FvWm1seWMzUkRhR2xzWkNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnY0hKdmNITXVhWE1nUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQXZMeUFrUm14dmQwbHpjM1ZsSUdCamNtVmhkR1ZGYkdWdFpXNTBZQ0J6YUc5MWJHUWdZbVVnZFhCa1lYUmxaQ0JtYjNJZ1YyVmlJRU52YlhCdmJtVnVkSE5jYmlBZ0lDQWdJR1J2YlVWc1pXMWxiblFnUFNCdmQyNWxja1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb2RIbHdaU3dnZTF4dUlDQWdJQ0FnSUNCcGN6b2djSEp2Y0hNdWFYTmNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QlRaWEJoY21GMFpTQmxiSE5sSUdKeVlXNWphQ0JwYm5OMFpXRmtJRzltSUhWemFXNW5JR0J3Y205d2N5NXBjeUI4ZkNCMWJtUmxabWx1WldSZ0lHRmliM1psSUdKbFkyRjFjMlVnYjJZZ1lTQkdhWEpsWm05NElHSjFaeTVjYmlBZ0lDQWdJQzh2SUZObFpTQmthWE5qZFhOemFXOXVJR2x1SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVlXTmxZbTl2YXk5eVpXRmpkQzl3ZFd4c0x6WTRPVFpjYmlBZ0lDQWdJQzh2SUdGdVpDQmthWE5qZFhOemFXOXVJR2x1SUdoMGRIQnpPaTh2WW5WbmVtbHNiR0V1Ylc5NmFXeHNZUzV2Y21jdmMyaHZkMTlpZFdjdVkyZHBQMmxrUFRFeU56WXlOREJjYmlBZ0lDQWdJR1J2YlVWc1pXMWxiblFnUFNCdmQyNWxja1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb2RIbHdaU2s3SUM4dklFNXZjbTFoYkd4NUlHRjBkSEpwWW5WMFpYTWdZWEpsSUdGemMybG5ibVZrSUdsdUlHQnpaWFJKYm1sMGFXRnNSRTlOVUhKdmNHVnlkR2xsYzJBc0lHaHZkMlYyWlhJZ2RHaGxJR0J0ZFd4MGFYQnNaV0FnWVc1a0lHQnphWHBsWUZ4dUlDQWdJQ0FnTHk4Z1lYUjBjbWxpZFhSbGN5QnZiaUJnYzJWc1pXTjBZSE1nYm1WbFpITWdkRzhnWW1VZ1lXUmtaV1FnWW1WbWIzSmxJR0J2Y0hScGIyNWdjeUJoY21VZ2FXNXpaWEowWldRdVhHNGdJQ0FnSUNBdkx5QlVhR2x6SUhCeVpYWmxiblJ6T2x4dUlDQWdJQ0FnTHk4Z0xTQmhJR0oxWnlCM2FHVnlaU0IwYUdVZ1lITmxiR1ZqZEdBZ1pHOWxjeUJ1YjNRZ2MyTnliMnhzSUhSdklIUm9aU0JqYjNKeVpXTjBJRzl3ZEdsdmJpQmlaV05oZFhObElITnBibWQxYkdGeVhHNGdJQ0FnSUNBdkx5QWdZSE5sYkdWamRHQWdaV3hsYldWdWRITWdZWFYwYjIxaGRHbGpZV3hzZVNCd2FXTnJJSFJvWlNCbWFYSnpkQ0JwZEdWdElDTXhNekl5TWx4dUlDQWdJQ0FnTHk4Z0xTQmhJR0oxWnlCM2FHVnlaU0IwYUdVZ1lITmxiR1ZqZEdBZ2MyVjBJSFJvWlNCbWFYSnpkQ0JwZEdWdElHRnpJSE5sYkdWamRHVmtJR1JsYzNCcGRHVWdkR2hsSUdCemFYcGxZQ0JoZEhSeWFXSjFkR1VnSXpFME1qTTVYRzRnSUNBZ0lDQXZMeUJUWldVZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyWmhZMlZpYjI5ckwzSmxZV04wTDJsemMzVmxjeTh4TXpJeU1seHVJQ0FnSUNBZ0x5OGdZVzVrSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVlXTmxZbTl2YXk5eVpXRmpkQzlwYzNOMVpYTXZNVFF5TXpsY2JseHVJQ0FnSUNBZ2FXWWdLSFI1Y0dVZ1BUMDlJQ2R6Wld4bFkzUW5LU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnViMlJsSUQwZ1pHOXRSV3hsYldWdWREdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2NISnZjSE11YlhWc2RHbHdiR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnViMlJsTG0xMWJIUnBjR3hsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNod2NtOXdjeTV6YVhwbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1UyVjBkR2x1WnlCaElITnBlbVVnWjNKbFlYUmxjaUIwYUdGdUlERWdZMkYxYzJWeklHRWdjMlZzWldOMElIUnZJR0psYUdGMlpTQnNhV3RsSUdCdGRXeDBhWEJzWlQxMGNuVmxZQ3dnZDJobGNtVmNiaUFnSUNBZ0lDQWdJQ0F2THlCcGRDQnBjeUJ3YjNOemFXSnNaU0IwYUdGMElHNXZJRzl3ZEdsdmJpQnBjeUJ6Wld4bFkzUmxaQzVjYmlBZ0lDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQWdJQzh2SUZSb2FYTWdhWE1nYjI1c2VTQnVaV05sYzNOaGNua2dkMmhsYmlCaElITmxiR1ZqZENCcGJpQmNJbk5wYm1kc1pTQnpaV3hsWTNScGIyNGdiVzlrWlZ3aUxseHVJQ0FnSUNBZ0lDQWdJRzV2WkdVdWMybDZaU0E5SUhCeWIzQnpMbk5wZW1VN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pHOXRSV3hsYldWdWRDQTlJRzkzYm1WeVJHOWpkVzFsYm5RdVkzSmxZWFJsUld4bGJXVnVkRTVUS0c1aGJXVnpjR0ZqWlZWU1NTd2dkSGx3WlNrN1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLRzVoYldWemNHRmpaVlZTU1NBOVBUMGdTRlJOVEY5T1FVMUZVMUJCUTBVa01Ta2dlMXh1SUNBZ0lDQWdhV1lnS0NGcGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5QW1KaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b1pHOXRSV3hsYldWdWRDa2dQVDA5SUNkYmIySnFaV04wSUVoVVRVeFZibXR1YjNkdVJXeGxiV1Z1ZEYwbklDWW1JQ0ZQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvZDJGeWJtVmtWVzVyYm05M2JsUmhaM01zSUhSNWNHVXBLU0I3WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRlZ1YTI1dmQyNVVZV2R6VzNSNWNHVmRJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25WR2hsSUhSaFp5QThKWE0rSUdseklIVnVjbVZqYjJkdWFYcGxaQ0JwYmlCMGFHbHpJR0p5YjNkelpYSXVJQ2NnS3lBblNXWWdlVzkxSUcxbFlXNTBJSFJ2SUhKbGJtUmxjaUJoSUZKbFlXTjBJR052YlhCdmJtVnVkQ3dnYzNSaGNuUWdhWFJ6SUc1aGJXVWdkMmwwYUNBbklDc2dKMkZ1SUhWd2NHVnlZMkZ6WlNCc1pYUjBaWEl1Snl3Z2RIbHdaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1J2YlVWc1pXMWxiblE3WEc1OVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWVVpYaDBUbTlrWlNoMFpYaDBMQ0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZENrZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwVDNkdVpYSkViMk4xYldWdWRFWnliMjFTYjI5MFEyOXVkR0ZwYm1WeUtISnZiM1JEYjI1MFlXbHVaWEpGYkdWdFpXNTBLUzVqY21WaGRHVlVaWGgwVG05a1pTaDBaWGgwS1R0Y2JuMWNibVoxYm1OMGFXOXVJSE5sZEVsdWFYUnBZV3hRY205d1pYSjBhV1Z6S0dSdmJVVnNaVzFsYm5Rc0lIUmhaeXdnY21GM1VISnZjSE1zSUhKdmIzUkRiMjUwWVdsdVpYSkZiR1Z0Wlc1MEtTQjdYRzRnSUhaaGNpQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeUE5SUdselEzVnpkRzl0UTI5dGNHOXVaVzUwS0hSaFp5d2djbUYzVUhKdmNITXBPMXh1WEc0Z0lIdGNiaUFnSUNCMllXeHBaR0YwWlZCeWIzQmxjblJwWlhOSmJrUmxkbVZzYjNCdFpXNTBLSFJoWnl3Z2NtRjNVSEp2Y0hNcE8xeHVJQ0I5SUM4dklGUlBSRTg2SUUxaGEyVWdjM1Z5WlNCMGFHRjBJSGRsSUdOb1pXTnJJR2x6VFc5MWJuUmxaQ0JpWldadmNtVWdabWx5YVc1bklHRnVlU0J2WmlCMGFHVnpaU0JsZG1WdWRITXVYRzVjYmx4dUlDQjJZWElnY0hKdmNITTdYRzVjYmlBZ2MzZHBkR05vSUNoMFlXY3BJSHRjYmlBZ0lDQmpZWE5sSUNkcFpuSmhiV1VuT2x4dUlDQWdJR05oYzJVZ0oyOWlhbVZqZENjNlhHNGdJQ0FnWTJGelpTQW5aVzFpWldRbk9seHVJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENoVVQxQmZURTlCUkN3Z1pHOXRSV3hsYldWdWRDazdYRzRnSUNBZ0lDQndjbTl3Y3lBOUlISmhkMUJ5YjNCek8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZDJhV1JsYnljNlhHNGdJQ0FnWTJGelpTQW5ZWFZrYVc4bk9seHVJQ0FnSUNBZ0x5OGdRM0psWVhSbElHeHBjM1JsYm1WeUlHWnZjaUJsWVdOb0lHMWxaR2xoSUdWMlpXNTBYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzFsWkdsaFJYWmxiblJVZVhCbGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0cxbFpHbGhSWFpsYm5SVWVYQmxjMXRwWFN3Z1pHOXRSV3hsYldWdWRDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEJ5YjNCeklEMGdjbUYzVUhKdmNITTdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKM052ZFhKalpTYzZYRzRnSUNBZ0lDQjBjbUZ3UW5WaVlteGxaRVYyWlc1MEtGUlBVRjlGVWxKUFVpd2daRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0J3Y205d2N5QTlJSEpoZDFCeWIzQnpPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJQ2RwYldjbk9seHVJQ0FnSUdOaGMyVWdKMmx0WVdkbEp6cGNiaUFnSUNCallYTmxJQ2RzYVc1ckp6cGNiaUFnSUNBZ0lIUnlZWEJDZFdKaWJHVmtSWFpsYm5Rb1ZFOVFYMFZTVWs5U0xDQmtiMjFGYkdWdFpXNTBLVHRjYmlBZ0lDQWdJSFJ5WVhCQ2RXSmliR1ZrUlhabGJuUW9WRTlRWDB4UFFVUXNJR1J2YlVWc1pXMWxiblFwTzF4dUlDQWdJQ0FnY0hKdmNITWdQU0J5WVhkUWNtOXdjenRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuWm05eWJTYzZYRzRnSUNBZ0lDQjBjbUZ3UW5WaVlteGxaRVYyWlc1MEtGUlBVRjlTUlZORlZDd2daRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0IwY21Gd1FuVmlZbXhsWkVWMlpXNTBLRlJQVUY5VFZVSk5TVlFzSUdSdmJVVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2NISnZjSE1nUFNCeVlYZFFjbTl3Y3p0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBblpHVjBZV2xzY3ljNlhHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOVVUMGRIVEVVc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdjSEp2Y0hNZ1BTQnlZWGRRY205d2N6dGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWTJGelpTQW5hVzV3ZFhRbk9seHVJQ0FnSUNBZ2FXNXBkRmR5WVhCd1pYSlRkR0YwWlNoa2IyMUZiR1Z0Wlc1MExDQnlZWGRRY205d2N5azdYRzRnSUNBZ0lDQndjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeWhrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOUpUbFpCVEVsRUxDQmtiMjFGYkdWdFpXNTBLVHNnTHk4Z1JtOXlJR052Ym5SeWIyeHNaV1FnWTI5dGNHOXVaVzUwY3lCM1pTQmhiSGRoZVhNZ2JtVmxaQ0IwYnlCbGJuTjFjbVVnZDJVbmNtVWdiR2x6ZEdWdWFXNW5YRzRnSUNBZ0lDQXZMeUIwYnlCdmJrTm9ZVzVuWlM0Z1JYWmxiaUJwWmlCMGFHVnlaU0JwY3lCdWJ5QnNhWE4wWlc1bGNpNWNibHh1SUNBZ0lDQWdaVzV6ZFhKbFRHbHpkR1Z1YVc1blZHOG9jbTl2ZEVOdmJuUmhhVzVsY2tWc1pXMWxiblFzSUNkdmJrTm9ZVzVuWlNjcE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZHZjSFJwYjI0bk9seHVJQ0FnSUNBZ2RtRnNhV1JoZEdWUWNtOXdjeWhrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCd2NtOXdjeUE5SUdkbGRFaHZjM1JRY205d2N5UXhLR1J2YlVWc1pXMWxiblFzSUhKaGQxQnliM0J6S1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBbmMyVnNaV04wSnpwY2JpQWdJQ0FnSUdsdWFYUlhjbUZ3Y0dWeVUzUmhkR1VrTVNoa2IyMUZiR1Z0Wlc1MExDQnlZWGRRY205d2N5azdYRzRnSUNBZ0lDQndjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeVF5S0dSdmJVVnNaVzFsYm5Rc0lISmhkMUJ5YjNCektUdGNiaUFnSUNBZ0lIUnlZWEJDZFdKaWJHVmtSWFpsYm5Rb1ZFOVFYMGxPVmtGTVNVUXNJR1J2YlVWc1pXMWxiblFwT3lBdkx5QkdiM0lnWTI5dWRISnZiR3hsWkNCamIyMXdiMjVsYm5SeklIZGxJR0ZzZDJGNWN5QnVaV1ZrSUhSdklHVnVjM1Z5WlNCM1pTZHlaU0JzYVhOMFpXNXBibWRjYmlBZ0lDQWdJQzh2SUhSdklHOXVRMmhoYm1kbExpQkZkbVZ1SUdsbUlIUm9aWEpsSUdseklHNXZJR3hwYzNSbGJtVnlMbHh1WEc0Z0lDQWdJQ0JsYm5OMWNtVk1hWE4wWlc1cGJtZFVieWh5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEN3Z0oyOXVRMmhoYm1kbEp5azdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKM1JsZUhSaGNtVmhKenBjYmlBZ0lDQWdJR2x1YVhSWGNtRndjR1Z5VTNSaGRHVWtNaWhrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCd2NtOXdjeUE5SUdkbGRFaHZjM1JRY205d2N5UXpLR1J2YlVWc1pXMWxiblFzSUhKaGQxQnliM0J6S1R0Y2JpQWdJQ0FnSUhSeVlYQkNkV0ppYkdWa1JYWmxiblFvVkU5UVgwbE9Wa0ZNU1VRc0lHUnZiVVZzWlcxbGJuUXBPeUF2THlCR2IzSWdZMjl1ZEhKdmJHeGxaQ0JqYjIxd2IyNWxiblJ6SUhkbElHRnNkMkY1Y3lCdVpXVmtJSFJ2SUdWdWMzVnlaU0IzWlNkeVpTQnNhWE4wWlc1cGJtZGNiaUFnSUNBZ0lDOHZJSFJ2SUc5dVEyaGhibWRsTGlCRmRtVnVJR2xtSUhSb1pYSmxJR2x6SUc1dklHeHBjM1JsYm1WeUxseHVYRzRnSUNBZ0lDQmxibk4xY21WTWFYTjBaVzVwYm1kVWJ5aHliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQ3dnSjI5dVEyaGhibWRsSnlrN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQndjbTl3Y3lBOUlISmhkMUJ5YjNCek8xeHVJQ0I5WEc1Y2JpQWdZWE56WlhKMFZtRnNhV1JRY205d2N5aDBZV2NzSUhCeWIzQnpLVHRjYmlBZ2MyVjBTVzVwZEdsaGJFUlBUVkJ5YjNCbGNuUnBaWE1vZEdGbkxDQmtiMjFGYkdWdFpXNTBMQ0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEN3Z2NISnZjSE1zSUdselEzVnpkRzl0UTI5dGNHOXVaVzUwVkdGbktUdGNibHh1SUNCemQybDBZMmdnS0hSaFp5a2dlMXh1SUNBZ0lHTmhjMlVnSjJsdWNIVjBKenBjYmlBZ0lDQWdJQzh2SUZSUFJFODZJRTFoYTJVZ2MzVnlaU0IzWlNCamFHVmpheUJwWmlCMGFHbHpJR2x6SUhOMGFXeHNJSFZ1Ylc5MWJuUmxaQ0J2Y2lCa2J5QmhibmtnWTJ4bFlXNWNiaUFnSUNBZ0lDOHZJSFZ3SUc1bFkyVnpjMkZ5ZVNCemFXNWpaU0IzWlNCdVpYWmxjaUJ6ZEc5d0lIUnlZV05yYVc1bklHRnVlVzF2Y21VdVhHNGdJQ0FnSUNCMGNtRmpheWhrYjIxRmJHVnRaVzUwS1R0Y2JpQWdJQ0FnSUhCdmMzUk5iM1Z1ZEZkeVlYQndaWElvWkc5dFJXeGxiV1Z1ZEN3Z2NtRjNVSEp2Y0hNc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBbmRHVjRkR0Z5WldFbk9seHVJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1RXRnJaU0J6ZFhKbElIZGxJR05vWldOcklHbG1JSFJvYVhNZ2FYTWdjM1JwYkd3Z2RXNXRiM1Z1ZEdWa0lHOXlJR1J2SUdGdWVTQmpiR1ZoYmx4dUlDQWdJQ0FnTHk4Z2RYQWdibVZqWlhOellYSjVJSE5wYm1ObElIZGxJRzVsZG1WeUlITjBiM0FnZEhKaFkydHBibWNnWVc1NWJXOXlaUzVjYmlBZ0lDQWdJSFJ5WVdOcktHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdjRzl6ZEUxdmRXNTBWM0poY0hCbGNpUXpLR1J2YlVWc1pXMWxiblFwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQmpZWE5sSUNkdmNIUnBiMjRuT2x4dUlDQWdJQ0FnY0c5emRFMXZkVzUwVjNKaGNIQmxjaVF4S0dSdmJVVnNaVzFsYm5Rc0lISmhkMUJ5YjNCektUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWTJGelpTQW5jMlZzWldOMEp6cGNiaUFnSUNBZ0lIQnZjM1JOYjNWdWRGZHlZWEJ3WlhJa01paGtiMjFGYkdWdFpXNTBMQ0J5WVhkUWNtOXdjeWs3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlIQnliM0J6TG05dVEyeHBZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nVkdocGN5QmpZWE4wSUcxaGVTQnViM1FnWW1VZ2MyOTFibVFnWm05eUlGTldSeXdnVFdGMGFFMU1JRzl5SUdOMWMzUnZiU0JsYkdWdFpXNTBjeTVjYmlBZ0lDQWdJQ0FnZEhKaGNFTnNhV05yVDI1T2IyNUpiblJsY21GamRHbDJaVVZzWlcxbGJuUW9aRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNTlJQzh2SUVOaGJHTjFiR0YwWlNCMGFHVWdaR2xtWmlCaVpYUjNaV1Z1SUhSb1pTQjBkMjhnYjJKcVpXTjBjeTVjYmx4dVpuVnVZM1JwYjI0Z1pHbG1abEJ5YjNCbGNuUnBaWE1vWkc5dFJXeGxiV1Z1ZEN3Z2RHRm5MQ0JzWVhOMFVtRjNVSEp2Y0hNc0lHNWxlSFJTWVhkUWNtOXdjeXdnY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5RcElIdGNiaUFnZTF4dUlDQWdJSFpoYkdsa1lYUmxVSEp2Y0dWeWRHbGxjMGx1UkdWMlpXeHZjRzFsYm5Rb2RHRm5MQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhWd1pHRjBaVkJoZVd4dllXUWdQU0J1ZFd4c08xeHVJQ0IyWVhJZ2JHRnpkRkJ5YjNCek8xeHVJQ0IyWVhJZ2JtVjRkRkJ5YjNCek8xeHVYRzRnSUhOM2FYUmphQ0FvZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0FuYVc1d2RYUW5PbHh1SUNBZ0lDQWdiR0Z6ZEZCeWIzQnpJRDBnWjJWMFNHOXpkRkJ5YjNCektHUnZiVVZzWlcxbGJuUXNJR3hoYzNSU1lYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCdVpYaDBVSEp2Y0hNZ1BTQm5aWFJJYjNOMFVISnZjSE1vWkc5dFJXeGxiV1Z1ZEN3Z2JtVjRkRkpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJSFZ3WkdGMFpWQmhlV3h2WVdRZ1BTQmJYVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuYjNCMGFXOXVKenBjYmlBZ0lDQWdJR3hoYzNSUWNtOXdjeUE5SUdkbGRFaHZjM1JRY205d2N5UXhLR1J2YlVWc1pXMWxiblFzSUd4aGMzUlNZWGRRY205d2N5azdYRzRnSUNBZ0lDQnVaWGgwVUhKdmNITWdQU0JuWlhSSWIzTjBVSEp2Y0hNa01TaGtiMjFGYkdWdFpXNTBMQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0FnSUNBZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZHpaV3hsWTNRbk9seHVJQ0FnSUNBZ2JHRnpkRkJ5YjNCeklEMGdaMlYwU0c5emRGQnliM0J6SkRJb1pHOXRSV3hsYldWdWRDd2diR0Z6ZEZKaGQxQnliM0J6S1R0Y2JpQWdJQ0FnSUc1bGVIUlFjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeVF5S0dSdmJVVnNaVzFsYm5Rc0lHNWxlSFJTWVhkUWNtOXdjeWs3WEc0Z0lDQWdJQ0IxY0dSaGRHVlFZWGxzYjJGa0lEMGdXMTA3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHTmhjMlVnSjNSbGVIUmhjbVZoSnpwY2JpQWdJQ0FnSUd4aGMzUlFjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeVF6S0dSdmJVVnNaVzFsYm5Rc0lHeGhjM1JTWVhkUWNtOXdjeWs3WEc0Z0lDQWdJQ0J1WlhoMFVISnZjSE1nUFNCblpYUkliM04wVUhKdmNITWtNeWhrYjIxRmJHVnRaVzUwTENCdVpYaDBVbUYzVUhKdmNITXBPMXh1SUNBZ0lDQWdkWEJrWVhSbFVHRjViRzloWkNBOUlGdGRPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnYkdGemRGQnliM0J6SUQwZ2JHRnpkRkpoZDFCeWIzQnpPMXh1SUNBZ0lDQWdibVY0ZEZCeWIzQnpJRDBnYm1WNGRGSmhkMUJ5YjNCek8xeHVYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR3hoYzNSUWNtOXdjeTV2YmtOc2FXTnJJQ0U5UFNBblpuVnVZM1JwYjI0bklDWW1JSFI1Y0dWdlppQnVaWGgwVUhKdmNITXViMjVEYkdsamF5QTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlVhR2x6SUdOaGMzUWdiV0Y1SUc1dmRDQmlaU0J6YjNWdVpDQm1iM0lnVTFaSExDQk5ZWFJvVFV3Z2IzSWdZM1Z6ZEc5dElHVnNaVzFsYm5SekxseHVJQ0FnSUNBZ0lDQjBjbUZ3UTJ4cFkydFBiazV2YmtsdWRHVnlZV04wYVhabFJXeGxiV1Z1ZENoa2IyMUZiR1Z0Wlc1MEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJSDFjYmx4dUlDQmhjM05sY25SV1lXeHBaRkJ5YjNCektIUmhaeXdnYm1WNGRGQnliM0J6S1R0Y2JpQWdkbUZ5SUhCeWIzQkxaWGs3WEc0Z0lIWmhjaUJ6ZEhsc1pVNWhiV1U3WEc0Z0lIWmhjaUJ6ZEhsc1pWVndaR0YwWlhNZ1BTQnVkV3hzTzF4dVhHNGdJR1p2Y2lBb2NISnZjRXRsZVNCcGJpQnNZWE4wVUhKdmNITXBJSHRjYmlBZ0lDQnBaaUFvYm1WNGRGQnliM0J6TG1oaGMwOTNibEJ5YjNCbGNuUjVLSEJ5YjNCTFpYa3BJSHg4SUNGc1lYTjBVSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0hKdmNFdGxlU2tnZkh3Z2JHRnpkRkJ5YjNCelczQnliM0JMWlhsZElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3UzJWNUlEMDlQU0JUVkZsTVJTa2dlMXh1SUNBZ0lDQWdkbUZ5SUd4aGMzUlRkSGxzWlNBOUlHeGhjM1JRY205d2MxdHdjbTl3UzJWNVhUdGNibHh1SUNBZ0lDQWdabTl5SUNoemRIbHNaVTVoYldVZ2FXNGdiR0Z6ZEZOMGVXeGxLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHNZWE4wVTNSNWJHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2MzUjViR1ZPWVcxbEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2hjM1I1YkdWVmNHUmhkR1Z6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEhsc1pWVndaR0YwWlhNZ1BTQjdmVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0J6ZEhsc1pWVndaR0YwWlhOYmMzUjViR1ZPWVcxbFhTQTlJQ2NuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNod2NtOXdTMlY1SUQwOVBTQkVRVTVIUlZKUFZWTk1XVjlUUlZSZlNVNU9SVkpmU0ZSTlRDQjhmQ0J3Y205d1MyVjVJRDA5UFNCRFNFbE1SRkpGVGlrZ095QmxiSE5sSUdsbUlDZ2djSEp2Y0V0bGVTQTlQVDBnVTFWUVVGSkZVMU5mUTA5T1ZFVk9WRjlGUkVsVVFVSk1SVjlYUVZKT1NVNUhJSHg4SUhCeWIzQkxaWGtnUFQwOUlGTlZVRkJTUlZOVFgwaFpSRkpCVkVsUFRsOVhRVkpPU1U1SEtTQTdJR1ZzYzJVZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVGVlZFOUdUME5WVXlrZ095QmxiSE5sSUdsbUlDaHlaV2RwYzNSeVlYUnBiMjVPWVcxbFRXOWtkV3hsY3k1b1lYTlBkMjVRY205d1pYSjBlU2h3Y205d1MyVjVLU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElITndaV05wWVd3Z1kyRnpaUzRnU1dZZ1lXNTVJR3hwYzNSbGJtVnlJSFZ3WkdGMFpYTWdkMlVnYm1WbFpDQjBieUJsYm5OMWNtVmNiaUFnSUNBZ0lDOHZJSFJvWVhRZ2RHaGxJRndpWTNWeWNtVnVkRndpSUdacFltVnlJSEJ2YVc1MFpYSWdaMlYwY3lCMWNHUmhkR1ZrSUhOdklIZGxJRzVsWldRZ1lTQmpiMjF0YVhSY2JpQWdJQ0FnSUM4dklIUnZJSFZ3WkdGMFpTQjBhR2x6SUdWc1pXMWxiblF1WEc0Z0lDQWdJQ0JwWmlBb0lYVndaR0YwWlZCaGVXeHZZV1FwSUh0Y2JpQWdJQ0FnSUNBZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCR2IzSWdZV3hzSUc5MGFHVnlJR1JsYkdWMFpXUWdjSEp2Y0dWeWRHbGxjeUIzWlNCaFpHUWdhWFFnZEc4Z2RHaGxJSEYxWlhWbExpQlhaU0IxYzJWY2JpQWdJQ0FnSUM4dklIUm9aU0IzYUdsMFpXeHBjM1FnYVc0Z2RHaGxJR052YlcxcGRDQndhR0Z6WlNCcGJuTjBaV0ZrTGx4dUlDQWdJQ0FnS0hWd1pHRjBaVkJoZVd4dllXUWdQU0IxY0dSaGRHVlFZWGxzYjJGa0lIeDhJRnRkS1M1d2RYTm9LSEJ5YjNCTFpYa3NJRzUxYkd3cE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWnZjaUFvY0hKdmNFdGxlU0JwYmlCdVpYaDBVSEp2Y0hNcElIdGNiaUFnSUNCMllYSWdibVY0ZEZCeWIzQWdQU0J1WlhoMFVISnZjSE5iY0hKdmNFdGxlVjA3WEc0Z0lDQWdkbUZ5SUd4aGMzUlFjbTl3SUQwZ2JHRnpkRkJ5YjNCeklDRTlJRzUxYkd3Z1B5QnNZWE4wVUhKdmNITmJjSEp2Y0V0bGVWMGdPaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JwWmlBb0lXNWxlSFJRY205d2N5NW9ZWE5QZDI1UWNtOXdaWEowZVNod2NtOXdTMlY1S1NCOGZDQnVaWGgwVUhKdmNDQTlQVDBnYkdGemRGQnliM0FnZkh3Z2JtVjRkRkJ5YjNBZ1BUMGdiblZzYkNBbUppQnNZWE4wVUhKdmNDQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jSEp2Y0V0bGVTQTlQVDBnVTFSWlRFVXBJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHNWxlSFJRY205d0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1JuSmxaWHBsSUhSb1pTQnVaWGgwSUhOMGVXeGxJRzlpYW1WamRDQnpieUIwYUdGMElIZGxJR05oYmlCaGMzTjFiV1VnYVhRZ2QyOXVKM1FnWW1WY2JpQWdJQ0FnSUNBZ0lDQXZMeUJ0ZFhSaGRHVmtMaUJYWlNCb1lYWmxJR0ZzY21WaFpIa2dkMkZ5Ym1Wa0lHWnZjaUIwYUdseklHbHVJSFJvWlNCd1lYTjBMbHh1SUNBZ0lDQWdJQ0FnSUU5aWFtVmpkQzVtY21WbGVtVW9ibVY0ZEZCeWIzQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHNZWE4wVUhKdmNDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVmJuTmxkQ0J6ZEhsc1pYTWdiMjRnWUd4aGMzUlFjbTl3WUNCaWRYUWdibTkwSUc5dUlHQnVaWGgwVUhKdmNHQXVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2MzUjViR1ZPWVcxbElHbHVJR3hoYzNSUWNtOXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR3hoYzNSUWNtOXdMbWhoYzA5M2JsQnliM0JsY25SNUtITjBlV3hsVG1GdFpTa2dKaVlnS0NGdVpYaDBVSEp2Y0NCOGZDQWhibVY0ZEZCeWIzQXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2MzUjViR1ZPWVcxbEtTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYzNSNWJHVlZjR1JoZEdWektTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBlV3hsVlhCa1lYUmxjeUE5SUh0OU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEhsc1pWVndaR0YwWlhOYmMzUjViR1ZPWVcxbFhTQTlJQ2NuTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU0F2THlCVmNHUmhkR1VnYzNSNWJHVnpJSFJvWVhRZ1kyaGhibWRsWkNCemFXNWpaU0JnYkdGemRGQnliM0JnTGx4dVhHNWNiaUFnSUNBZ0lDQWdabTl5SUNoemRIbHNaVTVoYldVZ2FXNGdibVY0ZEZCeWIzQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibVY0ZEZCeWIzQXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2MzUjViR1ZPWVcxbEtTQW1KaUJzWVhOMFVISnZjRnR6ZEhsc1pVNWhiV1ZkSUNFOVBTQnVaWGgwVUhKdmNGdHpkSGxzWlU1aGJXVmRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhOMGVXeGxWWEJrWVhSbGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSGxzWlZWd1pHRjBaWE1nUFNCN2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVlZjR1JoZEdWelczTjBlV3hsVG1GdFpWMGdQU0J1WlhoMFVISnZjRnR6ZEhsc1pVNWhiV1ZkTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdMeThnVW1Wc2FXVnpJRzl1SUdCMWNHUmhkR1ZUZEhsc1pYTkNlVWxFWUNCdWIzUWdiWFYwWVhScGJtY2dZSE4wZVd4bFZYQmtZWFJsYzJBdVhHNGdJQ0FnSUNBZ0lHbG1JQ2doYzNSNWJHVlZjR1JoZEdWektTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRjFjR1JoZEdWUVlYbHNiMkZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IxY0dSaGRHVlFZWGxzYjJGa0lEMGdXMTA3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxVR0Y1Ykc5aFpDNXdkWE5vS0hCeWIzQkxaWGtzSUhOMGVXeGxWWEJrWVhSbGN5azdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCemRIbHNaVlZ3WkdGMFpYTWdQU0J1WlhoMFVISnZjRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVSQlRrZEZVazlWVTB4WlgxTkZWRjlKVGs1RlVsOUlWRTFNS1NCN1hHNGdJQ0FnSUNCMllYSWdibVY0ZEVoMGJXd2dQU0J1WlhoMFVISnZjQ0EvSUc1bGVIUlFjbTl3VzBoVVRVd2tNVjBnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCMllYSWdiR0Z6ZEVoMGJXd2dQU0JzWVhOMFVISnZjQ0EvSUd4aGMzUlFjbTl3VzBoVVRVd2tNVjBnT2lCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1WlhoMFNIUnRiQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHNZWE4wU0hSdGJDQWhQVDBnYm1WNGRFaDBiV3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQW9kWEJrWVhSbFVHRjViRzloWkNBOUlIVndaR0YwWlZCaGVXeHZZV1FnZkh3Z1cxMHBMbkIxYzJnb2NISnZjRXRsZVN3Z2JtVjRkRWgwYld3cE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHdjbTl3UzJWNUlEMDlQU0JEU0VsTVJGSkZUaWtnZTF4dUlDQWdJQ0FnYVdZZ0tHeGhjM1JRY205d0lDRTlQU0J1WlhoMFVISnZjQ0FtSmlBb2RIbHdaVzltSUc1bGVIUlFjbTl3SUQwOVBTQW5jM1J5YVc1bkp5QjhmQ0IwZVhCbGIyWWdibVY0ZEZCeWIzQWdQVDA5SUNkdWRXMWlaWEluS1NrZ2UxeHVJQ0FnSUNBZ0lDQW9kWEJrWVhSbFVHRjViRzloWkNBOUlIVndaR0YwWlZCaGVXeHZZV1FnZkh3Z1cxMHBMbkIxYzJnb2NISnZjRXRsZVN3Z0p5Y2dLeUJ1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2dnY0hKdmNFdGxlU0E5UFQwZ1UxVlFVRkpGVTFOZlEwOU9WRVZPVkY5RlJFbFVRVUpNUlY5WFFWSk9TVTVISUh4OElIQnliM0JMWlhrZ1BUMDlJRk5WVUZCU1JWTlRYMGhaUkZKQlZFbFBUbDlYUVZKT1NVNUhLU0E3SUdWc2MyVWdhV1lnS0hKbFoybHpkSEpoZEdsdmJrNWhiV1ZOYjJSMWJHVnpMbWhoYzA5M2JsQnliM0JsY25SNUtIQnliM0JMWlhrcEtTQjdYRzRnSUNBZ0lDQnBaaUFvYm1WNGRGQnliM0FnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlhaU0JsWVdkbGNteDVJR3hwYzNSbGJpQjBieUIwYUdseklHVjJaVzRnZEdodmRXZG9JSGRsSUdoaGRtVnVKM1FnWTI5dGJXbDBkR1ZrSUhsbGRDNWNiaUFnSUNBZ0lDQWdhV1lnS0NCMGVYQmxiMllnYm1WNGRGQnliM0FnSVQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNCM1lYSnVSbTl5U1c1MllXeHBaRVYyWlc1MFRHbHpkR1Z1WlhJb2NISnZjRXRsZVN3Z2JtVjRkRkJ5YjNBcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWlc1emRYSmxUR2x6ZEdWdWFXNW5WRzhvY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5Rc0lIQnliM0JMWlhrcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVhWd1pHRjBaVkJoZVd4dllXUWdKaVlnYkdGemRGQnliM0FnSVQwOUlHNWxlSFJRY205d0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb2FYTWdhWE1nWVNCemNHVmphV0ZzSUdOaGMyVXVJRWxtSUdGdWVTQnNhWE4wWlc1bGNpQjFjR1JoZEdWeklIZGxJRzVsWldRZ2RHOGdaVzV6ZFhKbFhHNGdJQ0FnSUNBZ0lDOHZJSFJvWVhRZ2RHaGxJRndpWTNWeWNtVnVkRndpSUhCeWIzQnpJSEJ2YVc1MFpYSWdaMlYwY3lCMWNHUmhkR1ZrSUhOdklIZGxJRzVsWldRZ1lTQmpiMjF0YVhSY2JpQWdJQ0FnSUNBZ0x5OGdkRzhnZFhCa1lYUmxJSFJvYVhNZ1pXeGxiV1Z1ZEM1Y2JpQWdJQ0FnSUNBZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCR2IzSWdZVzU1SUc5MGFHVnlJSEJ5YjNCbGNuUjVJSGRsSUdGc2QyRjVjeUJoWkdRZ2FYUWdkRzhnZEdobElIRjFaWFZsSUdGdVpDQjBhR1Z1SUhkbFhHNGdJQ0FnSUNBdkx5Qm1hV3gwWlhJZ2FYUWdiM1YwSUhWemFXNW5JSFJvWlNCM2FHbDBaV3hwYzNRZ1pIVnlhVzVuSUhSb1pTQmpiMjF0YVhRdVhHNGdJQ0FnSUNBb2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUhWd1pHRjBaVkJoZVd4dllXUWdmSHdnVzEwcExuQjFjMmdvY0hKdmNFdGxlU3dnYm1WNGRGQnliM0FwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkSGxzWlZWd1pHRjBaWE1wSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVk5vYjNKMGFHRnVaRkJ5YjNCbGNuUjVRMjlzYkdsemFXOXVTVzVFWlhZb2MzUjViR1ZWY0dSaGRHVnpMQ0J1WlhoMFVISnZjSE5iVTFSWlRFVmRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQW9kWEJrWVhSbFVHRjViRzloWkNBOUlIVndaR0YwWlZCaGVXeHZZV1FnZkh3Z1cxMHBMbkIxYzJnb1UxUlpURVVzSUhOMGVXeGxWWEJrWVhSbGN5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkWEJrWVhSbFVHRjViRzloWkR0Y2JuMGdMeThnUVhCd2JIa2dkR2hsSUdScFptWXVYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVkJ5YjNCbGNuUnBaWE1vWkc5dFJXeGxiV1Z1ZEN3Z2RYQmtZWFJsVUdGNWJHOWhaQ3dnZEdGbkxDQnNZWE4wVW1GM1VISnZjSE1zSUc1bGVIUlNZWGRRY205d2N5a2dlMXh1SUNBdkx5QlZjR1JoZEdVZ1kyaGxZMnRsWkNBcVltVm1iM0psS2lCdVlXMWxMbHh1SUNBdkx5QkpiaUIwYUdVZ2JXbGtaR3hsSUc5bUlHRnVJSFZ3WkdGMFpTd2dhWFFnYVhNZ2NHOXpjMmxpYkdVZ2RHOGdhR0YyWlNCdGRXeDBhWEJzWlNCamFHVmphMlZrTGx4dUlDQXZMeUJYYUdWdUlHRWdZMmhsWTJ0bFpDQnlZV1JwYnlCMGNtbGxjeUIwYnlCamFHRnVaMlVnYm1GdFpTd2dZbkp2ZDNObGNpQnRZV3RsY3lCaGJtOTBhR1Z5SUhKaFpHbHZKM01nWTJobFkydGxaQ0JtWVd4elpTNWNiaUFnYVdZZ0tIUmhaeUE5UFQwZ0oybHVjSFYwSnlBbUppQnVaWGgwVW1GM1VISnZjSE11ZEhsd1pTQTlQVDBnSjNKaFpHbHZKeUFtSmlCdVpYaDBVbUYzVUhKdmNITXVibUZ0WlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnZFhCa1lYUmxRMmhsWTJ0bFpDaGtiMjFGYkdWdFpXNTBMQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhkaGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5QTlJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBLSFJoWnl3Z2JHRnpkRkpoZDFCeWIzQnpLVHRjYmlBZ2RtRnlJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBWR0ZuSUQwZ2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5Rb2RHRm5MQ0J1WlhoMFVtRjNVSEp2Y0hNcE95QXZMeUJCY0hCc2VTQjBhR1VnWkdsbVppNWNibHh1SUNCMWNHUmhkR1ZFVDAxUWNtOXdaWEowYVdWektHUnZiVVZzWlcxbGJuUXNJSFZ3WkdGMFpWQmhlV3h2WVdRc0lIZGhjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeXdnYVhORGRYTjBiMjFEYjIxd2IyNWxiblJVWVdjcE95QXZMeUJVVDBSUE9pQkZibk4xY21VZ2RHaGhkQ0JoYmlCMWNHUmhkR1VnWjJWMGN5QnpZMmhsWkhWc1pXUWdhV1lnWVc1NUlHOW1JSFJvWlNCemNHVmphV0ZzSUhCeWIzQnpYRzRnSUM4dklHTm9ZVzVuWldRdVhHNWNiaUFnYzNkcGRHTm9JQ2gwWVdjcElIdGNiaUFnSUNCallYTmxJQ2RwYm5CMWRDYzZYRzRnSUNBZ0lDQXZMeUJWY0dSaGRHVWdkR2hsSUhkeVlYQndaWElnWVhKdmRXNWtJR2x1Y0hWMGN5QXFZV1owWlhJcUlIVndaR0YwYVc1bklIQnliM0J6TGlCVWFHbHpJR2hoY3lCMGIxeHVJQ0FnSUNBZ0x5OGdhR0Z3Y0dWdUlHRm1kR1Z5SUdCMWNHUmhkR1ZFVDAxUWNtOXdaWEowYVdWellDNGdUM1JvWlhKM2FYTmxJRWhVVFV3MUlHbHVjSFYwSUhaaGJHbGtZWFJwYjI1elhHNGdJQ0FnSUNBdkx5QnlZV2x6WlNCM1lYSnVhVzVuY3lCaGJtUWdjSEpsZG1WdWRDQjBhR1VnYm1WM0lIWmhiSFZsSUdaeWIyMGdZbVZwYm1jZ1lYTnphV2R1WldRdVhHNGdJQ0FnSUNCMWNHUmhkR1ZYY21Gd2NHVnlLR1J2YlVWc1pXMWxiblFzSUc1bGVIUlNZWGRRY205d2N5azdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKM1JsZUhSaGNtVmhKenBjYmlBZ0lDQWdJSFZ3WkdGMFpWZHlZWEJ3WlhJa01TaGtiMjFGYkdWdFpXNTBMQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZHpaV3hsWTNRbk9seHVJQ0FnSUNBZ0x5OGdQSE5sYkdWamRENGdkbUZzZFdVZ2RYQmtZWFJsSUc1bFpXUnpJSFJ2SUc5alkzVnlJR0ZtZEdWeUlEeHZjSFJwYjI0K0lHTm9hV3hrY21WdVhHNGdJQ0FnSUNBdkx5QnlaV052Ym1OcGJHbGhkR2x2Ymx4dUlDQWdJQ0FnY0c5emRGVndaR0YwWlZkeVlYQndaWElvWkc5dFJXeGxiV1Z1ZEN3Z2JtVjRkRkpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEZCdmMzTnBZbXhsVTNSaGJtUmhjbVJPWVcxbEtIQnliM0JPWVcxbEtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2JHOTNaWEpEWVhObFpFNWhiV1VnUFNCd2NtOXdUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0NGd2IzTnphV0pzWlZOMFlXNWtZWEprVG1GdFpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2JHOTNaWEpEWVhObFpFNWhiV1VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY0c5emMybGliR1ZUZEdGdVpHRnlaRTVoYldWelcyeHZkMlZ5UTJGelpXUk9ZVzFsWFNCOGZDQnVkV3hzTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUnBabVpJZVdSeVlYUmxaRkJ5YjNCbGNuUnBaWE1vWkc5dFJXeGxiV1Z1ZEN3Z2RHRm5MQ0J5WVhkUWNtOXdjeXdnY0dGeVpXNTBUbUZ0WlhOd1lXTmxMQ0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZENrZ2UxeHVJQ0IyWVhJZ2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXYzdYRzRnSUhaaGNpQmxlSFJ5WVVGMGRISnBZblYwWlU1aGJXVnpPMXh1WEc0Z0lIdGNiaUFnSUNCemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNnUFNCeVlYZFFjbTl3YzF0VFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUjEwZ1BUMDlJSFJ5ZFdVN1hHNGdJQ0FnYVhORGRYTjBiMjFEYjIxd2IyNWxiblJVWVdjZ1BTQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRDaDBZV2NzSUhKaGQxQnliM0J6S1R0Y2JpQWdJQ0IyWVd4cFpHRjBaVkJ5YjNCbGNuUnBaWE5KYmtSbGRtVnNiM0J0Wlc1MEtIUmhaeXdnY21GM1VISnZjSE1wTzF4dUlDQjlJQzh2SUZSUFJFODZJRTFoYTJVZ2MzVnlaU0IwYUdGMElIZGxJR05vWldOcklHbHpUVzkxYm5SbFpDQmlaV1p2Y21VZ1ptbHlhVzVuSUdGdWVTQnZaaUIwYUdWelpTQmxkbVZ1ZEhNdVhHNWNibHh1SUNCemQybDBZMmdnS0hSaFp5a2dlMXh1SUNBZ0lHTmhjMlVnSjJsbWNtRnRaU2M2WEc0Z0lDQWdZMkZ6WlNBbmIySnFaV04wSnpwY2JpQWdJQ0JqWVhObElDZGxiV0psWkNjNlhHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOU1UMEZFTENCa2IyMUZiR1Z0Wlc1MEtUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWTJGelpTQW5kbWxrWlc4bk9seHVJQ0FnSUdOaGMyVWdKMkYxWkdsdkp6cGNiaUFnSUNBZ0lDOHZJRU55WldGMFpTQnNhWE4wWlc1bGNpQm1iM0lnWldGamFDQnRaV1JwWVNCbGRtVnVkRnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J0WldScFlVVjJaVzUwVkhsd1pYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENodFpXUnBZVVYyWlc1MFZIbHdaWE5iYVYwc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHTmhjMlVnSjNOdmRYSmpaU2M2WEc0Z0lDQWdJQ0IwY21Gd1FuVmlZbXhsWkVWMlpXNTBLRlJQVUY5RlVsSlBVaXdnWkc5dFJXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR05oYzJVZ0oybHRaeWM2WEc0Z0lDQWdZMkZ6WlNBbmFXMWhaMlVuT2x4dUlDQWdJR05oYzJVZ0oyeHBibXNuT2x4dUlDQWdJQ0FnZEhKaGNFSjFZbUpzWldSRmRtVnVkQ2hVVDFCZlJWSlNUMUlzSUdSdmJVVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENoVVQxQmZURTlCUkN3Z1pHOXRSV3hsYldWdWRDazdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKMlp2Y20wbk9seHVJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENoVVQxQmZVa1ZUUlZRc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdkSEpoY0VKMVltSnNaV1JGZG1WdWRDaFVUMUJmVTFWQ1RVbFVMQ0JrYjIxRmJHVnRaVzUwS1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBblpHVjBZV2xzY3ljNlhHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOVVUMGRIVEVVc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJQ2RwYm5CMWRDYzZYRzRnSUNBZ0lDQnBibWwwVjNKaGNIQmxjbE4wWVhSbEtHUnZiVVZzWlcxbGJuUXNJSEpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJSFJ5WVhCQ2RXSmliR1ZrUlhabGJuUW9WRTlRWDBsT1ZrRk1TVVFzSUdSdmJVVnNaVzFsYm5RcE95QXZMeUJHYjNJZ1kyOXVkSEp2Ykd4bFpDQmpiMjF3YjI1bGJuUnpJSGRsSUdGc2QyRjVjeUJ1WldWa0lIUnZJR1Z1YzNWeVpTQjNaU2R5WlNCc2FYTjBaVzVwYm1kY2JpQWdJQ0FnSUM4dklIUnZJRzl1UTJoaGJtZGxMaUJGZG1WdUlHbG1JSFJvWlhKbElHbHpJRzV2SUd4cGMzUmxibVZ5TGx4dVhHNGdJQ0FnSUNCbGJuTjFjbVZNYVhOMFpXNXBibWRVYnloeWIyOTBRMjl1ZEdGcGJtVnlSV3hsYldWdWRDd2dKMjl1UTJoaGJtZGxKeWs3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHTmhjMlVnSjI5d2RHbHZiaWM2WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVkJ5YjNCektHUnZiVVZzWlcxbGJuUXNJSEpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuYzJWc1pXTjBKenBjYmlBZ0lDQWdJR2x1YVhSWGNtRndjR1Z5VTNSaGRHVWtNU2hrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOUpUbFpCVEVsRUxDQmtiMjFGYkdWdFpXNTBLVHNnTHk4Z1JtOXlJR052Ym5SeWIyeHNaV1FnWTI5dGNHOXVaVzUwY3lCM1pTQmhiSGRoZVhNZ2JtVmxaQ0IwYnlCbGJuTjFjbVVnZDJVbmNtVWdiR2x6ZEdWdWFXNW5YRzRnSUNBZ0lDQXZMeUIwYnlCdmJrTm9ZVzVuWlM0Z1JYWmxiaUJwWmlCMGFHVnlaU0JwY3lCdWJ5QnNhWE4wWlc1bGNpNWNibHh1SUNBZ0lDQWdaVzV6ZFhKbFRHbHpkR1Z1YVc1blZHOG9jbTl2ZEVOdmJuUmhhVzVsY2tWc1pXMWxiblFzSUNkdmJrTm9ZVzVuWlNjcE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZDBaWGgwWVhKbFlTYzZYRzRnSUNBZ0lDQnBibWwwVjNKaGNIQmxjbE4wWVhSbEpESW9aRzl0Uld4bGJXVnVkQ3dnY21GM1VISnZjSE1wTzF4dUlDQWdJQ0FnZEhKaGNFSjFZbUpzWldSRmRtVnVkQ2hVVDFCZlNVNVdRVXhKUkN3Z1pHOXRSV3hsYldWdWRDazdJQzh2SUVadmNpQmpiMjUwY205c2JHVmtJR052YlhCdmJtVnVkSE1nZDJVZ1lXeDNZWGx6SUc1bFpXUWdkRzhnWlc1emRYSmxJSGRsSjNKbElHeHBjM1JsYm1sdVoxeHVJQ0FnSUNBZ0x5OGdkRzhnYjI1RGFHRnVaMlV1SUVWMlpXNGdhV1lnZEdobGNtVWdhWE1nYm04Z2JHbHpkR1Z1WlhJdVhHNWNiaUFnSUNBZ0lHVnVjM1Z5WlV4cGMzUmxibWx1WjFSdktISnZiM1JEYjI1MFlXbHVaWEpGYkdWdFpXNTBMQ0FuYjI1RGFHRnVaMlVuS1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNWNiaUFnWVhOelpYSjBWbUZzYVdSUWNtOXdjeWgwWVdjc0lISmhkMUJ5YjNCektUdGNibHh1SUNCN1hHNGdJQ0FnWlhoMGNtRkJkSFJ5YVdKMWRHVk9ZVzFsY3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnSUNCMllYSWdZWFIwY21saWRYUmxjeUE5SUdSdmJVVnNaVzFsYm5RdVlYUjBjbWxpZFhSbGN6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlGOXBJRDBnTURzZ1gya2dQQ0JoZEhSeWFXSjFkR1Z6TG14bGJtZDBhRHNnWDJrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUc1aGJXVWdQU0JoZEhSeWFXSjFkR1Z6VzE5cFhTNXVZVzFsTG5SdlRHOTNaWEpEWVhObEtDazdYRzVjYmlBZ0lDQWdJSE4zYVhSamFDQW9ibUZ0WlNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJDZFdsc2RDMXBiaUJUVTFJZ1lYUjBjbWxpZFhSbElHbHpJSGRvYVhSbGJHbHpkR1ZrWEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMlJoZEdFdGNtVmhZM1J5YjI5MEp6cGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdMeThnUTI5dWRISnZiR3hsWkNCaGRIUnlhV0oxZEdWeklHRnlaU0J1YjNRZ2RtRnNhV1JoZEdWa1hHNGdJQ0FnSUNBZ0lDOHZJRlJQUkU4NklFOXViSGtnYVdkdWIzSmxJSFJvWlcwZ2IyNGdZMjl1ZEhKdmJHeGxaQ0IwWVdkekxseHVYRzRnSUNBZ0lDQWdJR05oYzJVZ0ozWmhiSFZsSnpwY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUNkamFHVmphMlZrSnpwY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUNkelpXeGxZM1JsWkNjNlhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0F2THlCSmJuUmxiblJwYjI1aGJHeDVJSFZ6WlNCMGFHVWdiM0pwWjJsdVlXd2dibUZ0WlM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJUWldVZ1pHbHpZM1Z6YzJsdmJpQnBiaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Y21WaFkzUXZjSFZzYkM4eE1EWTNOaTVjYmlBZ0lDQWdJQ0FnSUNCbGVIUnlZVUYwZEhKcFluVjBaVTVoYldWekxtRmtaQ2hoZEhSeWFXSjFkR1Z6VzE5cFhTNXVZVzFsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdkWEJrWVhSbFVHRjViRzloWkNBOUlHNTFiR3c3WEc1Y2JpQWdabTl5SUNoMllYSWdjSEp2Y0V0bGVTQnBiaUJ5WVhkUWNtOXdjeWtnZTF4dUlDQWdJR2xtSUNnaGNtRjNVSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0hKdmNFdGxlU2twSUh0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCdVpYaDBVSEp2Y0NBOUlISmhkMUJ5YjNCelczQnliM0JMWlhsZE8xeHVYRzRnSUNBZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVOSVNVeEVVa1ZPS1NCN1hHNGdJQ0FnSUNBdkx5QkdiM0lnZEdWNGRDQmpiMjUwWlc1MElHTm9hV3hrY21WdUlIZGxJR052YlhCaGNtVWdZV2RoYVc1emRDQjBaWGgwUTI5dWRHVnVkQzRnVkdocGMxeHVJQ0FnSUNBZ0x5OGdiV2xuYUhRZ2JXRjBZMmdnWVdSa2FYUnBiMjVoYkNCSVZFMU1JSFJvWVhRZ2FYTWdhR2xrWkdWdUlIZG9aVzRnZDJVZ2NtVmhaQ0JwZENCMWMybHVaMXh1SUNBZ0lDQWdMeThnZEdWNGRFTnZiblJsYm5RdUlFVXVaeTRnWENKbWIyOWNJaUIzYVd4c0lHMWhkR05vSUZ3aVpqeHpjR0Z1UG05dlBDOXpjR0Z1UGx3aUlHSjFkQ0IwYUdGMElITjBhV3hzWEc0Z0lDQWdJQ0F2THlCellYUnBjMlpwWlhNZ2IzVnlJSEpsY1hWcGNtVnRaVzUwTGlCUGRYSWdjbVZ4ZFdseVpXMWxiblFnYVhNZ2JtOTBJSFJ2SUhCeWIyUjFZMlVnY0dWeVptVmpkRnh1SUNBZ0lDQWdMeThnU0ZSTlRDQmhibVFnWVhSMGNtbGlkWFJsY3k0Z1NXUmxZV3hzZVNCM1pTQnphRzkxYkdRZ2NISmxjMlZ5ZG1VZ2MzUnlkV04wZFhKbElHSjFkQ0JwZENkelhHNGdJQ0FnSUNBdkx5QnZheUJ1YjNRZ2RHOGdhV1lnZEdobElIWnBjMmxpYkdVZ1kyOXVkR1Z1ZENCcGN5QnpkR2xzYkNCbGJtOTFaMmdnZEc4Z2FXNWthV05oZEdVZ2QyaGhkRnh1SUNBZ0lDQWdMeThnWlhabGJpQnNhWE4wWlc1bGNuTWdkR2hsYzJVZ2JtOWtaWE1nYldsbmFIUWdZbVVnZDJseVpXUWdkWEFnZEc4dVhHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCWFlYSnVJR2xtSUhSb1pYSmxJR2x6SUcxdmNtVWdkR2hoYmlCaElITnBibWRzWlNCMFpYaDBUbTlrWlNCaGN5QmhJR05vYVd4a0xseHVJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1UyaHZkV3hrSUhkbElIVnpaU0JrYjIxRmJHVnRaVzUwTG1acGNuTjBRMmhwYkdRdWJtOWtaVlpoYkhWbElIUnZJR052YlhCaGNtVS9YRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JRzVsZUhSUWNtOXdJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWkc5dFJXeGxiV1Z1ZEM1MFpYaDBRMjl1ZEdWdWRDQWhQVDBnYm1WNGRGQnliM0FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSUNGemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGRoY201R2IzSlVaWGgwUkdsbVptVnlaVzVqWlNoa2IyMUZiR1Z0Wlc1MExuUmxlSFJEYjI1MFpXNTBMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxVR0Y1Ykc5aFpDQTlJRnREU0VsTVJGSkZUaXdnYm1WNGRGQnliM0JkTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCdVpYaDBVSEp2Y0NBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUnZiVVZzWlcxbGJuUXVkR1Y0ZEVOdmJuUmxiblFnSVQwOUlDY25JQ3NnYm1WNGRGQnliM0FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSUNGemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGRoY201R2IzSlVaWGgwUkdsbVptVnlaVzVqWlNoa2IyMUZiR1Z0Wlc1MExuUmxlSFJEYjI1MFpXNTBMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxVR0Y1Ykc5aFpDQTlJRnREU0VsTVJGSkZUaXdnSnljZ0t5QnVaWGgwVUhKdmNGMDdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEpsWjJsemRISmhkR2x2Yms1aGJXVk5iMlIxYkdWekxtaGhjMDkzYmxCeWIzQmxjblI1S0hCeWIzQkxaWGtwS1NCN1hHNGdJQ0FnSUNCcFppQW9ibVY0ZEZCeWIzQWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lIUjVjR1Z2WmlCdVpYaDBVSEp2Y0NBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIZGhjbTVHYjNKSmJuWmhiR2xrUlhabGJuUk1hWE4wWlc1bGNpaHdjbTl3UzJWNUxDQnVaWGgwVUhKdmNDazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCbGJuTjFjbVZNYVhOMFpXNXBibWRVYnloeWIyOTBRMjl1ZEdGcGJtVnlSV3hsYldWdWRDd2djSEp2Y0V0bGVTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDZ2dMeThnUTI5dWRtbHVZMlVnUm14dmR5QjNaU2QyWlNCallXeGpkV3hoZEdWa0lHbDBJQ2hwZENkeklFUkZWaTF2Ym14NUlHbHVJSFJvYVhNZ2JXVjBhRzlrTGlsY2JpQWdJQ0IwZVhCbGIyWWdhWE5EZFhOMGIyMURiMjF3YjI1bGJuUlVZV2NnUFQwOUlDZGliMjlzWldGdUp5a2dlMXh1SUNBZ0lDQWdMeThnVm1Gc2FXUmhkR1VnZEdoaGRDQjBhR1VnY0hKdmNHVnlkR2xsY3lCamIzSnlaWE53YjI1a0lIUnZJSFJvWldseUlHVjRjR1ZqZEdWa0lIWmhiSFZsY3k1Y2JpQWdJQ0FnSUhaaGNpQnpaWEoyWlhKV1lXeDFaU0E5SUhadmFXUWdNRHRjYmlBZ0lDQWdJSFpoY2lCd2NtOXdaWEowZVVsdVptOGdQU0JuWlhSUWNtOXdaWEowZVVsdVptOG9jSEp2Y0V0bGVTazdYRzVjYmlBZ0lDQWdJR2xtSUNoemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNwSURzZ1pXeHpaU0JwWmlBb0lIQnliM0JMWlhrZ1BUMDlJRk5WVUZCU1JWTlRYME5QVGxSRlRsUmZSVVJKVkVGQ1RFVmZWMEZTVGtsT1J5QjhmQ0J3Y205d1MyVjVJRDA5UFNCVFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUnlCOGZDQXZMeUJEYjI1MGNtOXNiR1ZrSUdGMGRISnBZblYwWlhNZ1lYSmxJRzV2ZENCMllXeHBaR0YwWldSY2JpQWdJQ0FnSUM4dklGUlBSRTg2SUU5dWJIa2dhV2R1YjNKbElIUm9aVzBnYjI0Z1kyOXVkSEp2Ykd4bFpDQjBZV2R6TGx4dUlDQWdJQ0FnY0hKdmNFdGxlU0E5UFQwZ0ozWmhiSFZsSnlCOGZDQndjbTl3UzJWNUlEMDlQU0FuWTJobFkydGxaQ2NnZkh3Z2NISnZjRXRsZVNBOVBUMGdKM05sYkdWamRHVmtKeWtnT3lCbGJITmxJR2xtSUNod2NtOXdTMlY1SUQwOVBTQkVRVTVIUlZKUFZWTk1XVjlUUlZSZlNVNU9SVkpmU0ZSTlRDa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2MyVnlkbVZ5U0ZSTlRDQTlJR1J2YlVWc1pXMWxiblF1YVc1dVpYSklWRTFNTzF4dUlDQWdJQ0FnSUNCMllYSWdibVY0ZEVoMGJXd2dQU0J1WlhoMFVISnZjQ0EvSUc1bGVIUlFjbTl3VzBoVVRVd2tNVjBnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNBZ0lIWmhjaUJsZUhCbFkzUmxaRWhVVFV3Z1BTQnViM0p0WVd4cGVtVklWRTFNS0dSdmJVVnNaVzFsYm5Rc0lHNWxlSFJJZEcxc0lDRTlJRzUxYkd3Z1B5QnVaWGgwU0hSdGJDQTZJQ2NuS1R0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWlhod1pXTjBaV1JJVkUxTUlDRTlQU0J6WlhKMlpYSklWRTFNS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkMkZ5YmtadmNsQnliM0JFYVdabVpYSmxibU5sS0hCeWIzQkxaWGtzSUhObGNuWmxja2hVVFV3c0lHVjRjR1ZqZEdWa1NGUk5UQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2NISnZjRXRsZVNBOVBUMGdVMVJaVEVVcElIdGNiaUFnSUNBZ0lDQWdMeThnSkVac2IzZEdhWGhOWlNBdElGTm9iM1ZzWkNCaVpTQnBibVpsY25KbFpDQmhjeUJ1YjNRZ2RXNWtaV1pwYm1Wa0xseHVJQ0FnSUNBZ0lDQmxlSFJ5WVVGMGRISnBZblYwWlU1aGJXVnpMbVJsYkdWMFpTaHdjbTl3UzJWNUtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnVSR2xtWmxOMGVXeGxSbTl5U0hsa2NtRjBhVzl1VjJGeWJtbHVaeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJsZUhCbFkzUmxaRk4wZVd4bElEMGdZM0psWVhSbFJHRnVaMlZ5YjNWelUzUnlhVzVuUm05eVUzUjViR1Z6S0c1bGVIUlFjbTl3S1R0Y2JpQWdJQ0FnSUNBZ0lDQnpaWEoyWlhKV1lXeDFaU0E5SUdSdmJVVnNaVzFsYm5RdVoyVjBRWFIwY21saWRYUmxLQ2R6ZEhsc1pTY3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1Y0Y0dWamRHVmtVM1I1YkdVZ0lUMDlJSE5sY25abGNsWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IzWVhKdVJtOXlVSEp2Y0VScFptWmxjbVZ1WTJVb2NISnZjRXRsZVN3Z2MyVnlkbVZ5Vm1Gc2RXVXNJR1Y0Y0dWamRHVmtVM1I1YkdVcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNocGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5a2dlMXh1SUNBZ0lDQWdJQ0F2THlBa1JteHZkMFpwZUUxbElDMGdVMmh2ZFd4a0lHSmxJR2x1Wm1WeWNtVmtJR0Z6SUc1dmRDQjFibVJsWm1sdVpXUXVYRzRnSUNBZ0lDQWdJR1Y0ZEhKaFFYUjBjbWxpZFhSbFRtRnRaWE11WkdWc1pYUmxLSEJ5YjNCTFpYa3VkRzlNYjNkbGNrTmhjMlVvS1NrN1hHNGdJQ0FnSUNBZ0lITmxjblpsY2xaaGJIVmxJRDBnWjJWMFZtRnNkV1ZHYjNKQmRIUnlhV0oxZEdVb1pHOXRSV3hsYldWdWRDd2djSEp2Y0V0bGVTd2dibVY0ZEZCeWIzQXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHVaWGgwVUhKdmNDQWhQVDBnYzJWeWRtVnlWbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0IzWVhKdVJtOXlVSEp2Y0VScFptWmxjbVZ1WTJVb2NISnZjRXRsZVN3Z2MyVnlkbVZ5Vm1Gc2RXVXNJRzVsZUhSUWNtOXdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNnaGMyaHZkV3hrU1dkdWIzSmxRWFIwY21saWRYUmxLSEJ5YjNCTFpYa3NJSEJ5YjNCbGNuUjVTVzVtYnl3Z2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXY3BJQ1ltSUNGemFHOTFiR1JTWlcxdmRtVkJkSFJ5YVdKMWRHVW9jSEp2Y0V0bGVTd2dibVY0ZEZCeWIzQXNJSEJ5YjNCbGNuUjVTVzVtYnl3Z2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXY3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBjMDFwYzIxaGRHTm9SSFZsVkc5Q1lXUkRZWE5wYm1jZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNHVnlkSGxKYm1adklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z0pFWnNiM2RHYVhoTlpTQXRJRk5vYjNWc1pDQmlaU0JwYm1abGNuSmxaQ0JoY3lCdWIzUWdkVzVrWldacGJtVmtMbHh1SUNBZ0lDQWdJQ0FnSUdWNGRISmhRWFIwY21saWRYUmxUbUZ0WlhNdVpHVnNaWFJsS0hCeWIzQmxjblI1U1c1bWJ5NWhkSFJ5YVdKMWRHVk9ZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQnpaWEoyWlhKV1lXeDFaU0E5SUdkbGRGWmhiSFZsUm05eVVISnZjR1Z5ZEhrb1pHOXRSV3hsYldWdWRDd2djSEp2Y0V0bGVTd2dibVY0ZEZCeWIzQXNJSEJ5YjNCbGNuUjVTVzVtYnlrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUc5M2JrNWhiV1Z6Y0dGalpTQTlJSEJoY21WdWRFNWhiV1Z6Y0dGalpUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHZkMjVPWVcxbGMzQmhZMlVnUFQwOUlFaFVUVXhmVGtGTlJWTlFRVU5GSkRFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5M2JrNWhiV1Z6Y0dGalpTQTlJR2RsZEVsdWRISnBibk5wWTA1aGJXVnpjR0ZqWlNoMFlXY3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNodmQyNU9ZVzFsYzNCaFkyVWdQVDA5SUVoVVRVeGZUa0ZOUlZOUVFVTkZKREVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUNSR2JHOTNSbWw0VFdVZ0xTQlRhRzkxYkdRZ1ltVWdhVzVtWlhKeVpXUWdZWE1nYm05MElIVnVaR1ZtYVc1bFpDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRISmhRWFIwY21saWRYUmxUbUZ0WlhNdVpHVnNaWFJsS0hCeWIzQkxaWGt1ZEc5TWIzZGxja05oYzJVb0tTazdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6ZEdGdVpHRnlaRTVoYldVZ1BTQm5aWFJRYjNOemFXSnNaVk4wWVc1a1lYSmtUbUZ0WlNod2NtOXdTMlY1S1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tITjBZVzVrWVhKa1RtRnRaU0FoUFQwZ2JuVnNiQ0FtSmlCemRHRnVaR0Z5WkU1aGJXVWdJVDA5SUhCeWIzQkxaWGtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdZVzRnVTFaSElIQnliM0FnYVhNZ2MzVndjR3hwWldRZ2QybDBhQ0JpWVdRZ1kyRnphVzVuTENCcGRDQjNhV3hzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdKbElITjFZMk5sYzNObWRXeHNlU0J3WVhKelpXUWdabkp2YlNCSVZFMU1MQ0JpZFhRZ2QybHNiQ0J3Y205a2RXTmxJR0VnYldsemJXRjBZMmhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnS0dGdVpDQjNiM1ZzWkNCaVpTQnBibU52Y25KbFkzUnNlU0J5Wlc1a1pYSmxaQ0J2YmlCMGFHVWdZMnhwWlc1MEtTNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTRzkzWlhabGNpd2dkMlVnWVd4eVpXRmtlU0IzWVhKdUlHRmliM1YwSUdKaFpDQmpZWE5wYm1jZ1pXeHpaWGRvWlhKbExseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRieUIzWlNkc2JDQnphMmx3SUhSb1pTQnRhWE5zWldGa2FXNW5JR1Y0ZEhKaElHMXBjMjFoZEdOb0lIZGhjbTVwYm1jZ2FXNGdkR2hwY3lCallYTmxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMDFwYzIxaGRHTm9SSFZsVkc5Q1lXUkRZWE5wYm1jZ1BTQjBjblZsT3lBdkx5QWtSbXh2ZDBacGVFMWxJQzBnVTJodmRXeGtJR0psSUdsdVptVnljbVZrSUdGeklHNXZkQ0IxYm1SbFptbHVaV1F1WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWlhoMGNtRkJkSFJ5YVdKMWRHVk9ZVzFsY3k1a1pXeGxkR1VvYzNSaGJtUmhjbVJPWVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ0x5OGdKRVpzYjNkR2FYaE5aU0F0SUZOb2IzVnNaQ0JpWlNCcGJtWmxjbkpsWkNCaGN5QnViM1FnZFc1a1pXWnBibVZrTGx4dVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRISmhRWFIwY21saWRYUmxUbUZ0WlhNdVpHVnNaWFJsS0hCeWIzQkxaWGtwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUhObGNuWmxjbFpoYkhWbElEMGdaMlYwVm1Gc2RXVkdiM0pCZEhSeWFXSjFkR1VvWkc5dFJXeGxiV1Z1ZEN3Z2NISnZjRXRsZVN3Z2JtVjRkRkJ5YjNBcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHNWxlSFJRY205d0lDRTlQU0J6WlhKMlpYSldZV3gxWlNBbUppQWhhWE5OYVhOdFlYUmphRVIxWlZSdlFtRmtRMkZ6YVc1bktTQjdYRzRnSUNBZ0lDQWdJQ0FnZDJGeWJrWnZjbEJ5YjNCRWFXWm1aWEpsYm1ObEtIQnliM0JMWlhrc0lITmxjblpsY2xaaGJIVmxMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCN1hHNGdJQ0FnTHk4Z0pFWnNiM2RHYVhoTlpTQXRJRk5vYjNWc1pDQmlaU0JwYm1abGNuSmxaQ0JoY3lCdWIzUWdkVzVrWldacGJtVmtMbHh1SUNBZ0lHbG1JQ2hsZUhSeVlVRjBkSEpwWW5WMFpVNWhiV1Z6TG5OcGVtVWdQaUF3SUNZbUlDRnpkWEJ3Y21WemMwaDVaSEpoZEdsdmJsZGhjbTVwYm1jcElIdGNiaUFnSUNBZ0lDOHZJQ1JHYkc5M1JtbDRUV1VnTFNCVGFHOTFiR1FnWW1VZ2FXNW1aWEp5WldRZ1lYTWdibTkwSUhWdVpHVm1hVzVsWkM1Y2JpQWdJQ0FnSUhkaGNtNUdiM0pGZUhSeVlVRjBkSEpwWW5WMFpYTW9aWGgwY21GQmRIUnlhV0oxZEdWT1lXMWxjeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYzNkcGRHTm9JQ2gwWVdjcElIdGNiaUFnSUNCallYTmxJQ2RwYm5CMWRDYzZYRzRnSUNBZ0lDQXZMeUJVVDBSUE9pQk5ZV3RsSUhOMWNtVWdkMlVnWTJobFkyc2dhV1lnZEdocGN5QnBjeUJ6ZEdsc2JDQjFibTF2ZFc1MFpXUWdiM0lnWkc4Z1lXNTVJR05zWldGdVhHNGdJQ0FnSUNBdkx5QjFjQ0J1WldObGMzTmhjbmtnYzJsdVkyVWdkMlVnYm1WMlpYSWdjM1J2Y0NCMGNtRmphMmx1WnlCaGJubHRiM0psTGx4dUlDQWdJQ0FnZEhKaFkyc29aRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0J3YjNOMFRXOTFiblJYY21Gd2NHVnlLR1J2YlVWc1pXMWxiblFzSUhKaGQxQnliM0J6TENCMGNuVmxLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuZEdWNGRHRnlaV0VuT2x4dUlDQWdJQ0FnTHk4Z1ZFOUVUem9nVFdGclpTQnpkWEpsSUhkbElHTm9aV05ySUdsbUlIUm9hWE1nYVhNZ2MzUnBiR3dnZFc1dGIzVnVkR1ZrSUc5eUlHUnZJR0Z1ZVNCamJHVmhibHh1SUNBZ0lDQWdMeThnZFhBZ2JtVmpaWE56WVhKNUlITnBibU5sSUhkbElHNWxkbVZ5SUhOMGIzQWdkSEpoWTJ0cGJtY2dZVzU1Ylc5eVpTNWNiaUFnSUNBZ0lIUnlZV05yS0dSdmJVVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2NHOXpkRTF2ZFc1MFYzSmhjSEJsY2lRektHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJQ2R6Wld4bFkzUW5PbHh1SUNBZ0lHTmhjMlVnSjI5d2RHbHZiaWM2WEc0Z0lDQWdJQ0F2THlCR2IzSWdhVzV3ZFhRZ1lXNWtJSFJsZUhSaGNtVmhJSGRsSUdOMWNuSmxiblFnWVd4M1lYbHpJSE5sZENCMGFHVWdkbUZzZFdVZ2NISnZjR1Z5ZEhrZ1lYUmNiaUFnSUNBZ0lDOHZJSEJ2YzNRZ2JXOTFiblFnZEc4Z1ptOXlZMlVnYVhRZ2RHOGdaR2wyWlhKblpTQm1jbTl0SUdGMGRISnBZblYwWlhNdUlFaHZkMlYyWlhJc0lHWnZjbHh1SUNBZ0lDQWdMeThnYjNCMGFXOXVJR0Z1WkNCelpXeGxZM1FnZDJVZ1pHOXVKM1FnY1hWcGRHVWdaRzhnZEdobElITmhiV1VnZEdocGJtY2dZVzVrSUhObGJHVmpkRnh1SUNBZ0lDQWdMeThnYVhNZ2JtOTBJSEpsYzJsc2FXVnVkQ0IwYnlCMGFHVWdSRTlOSUhOMFlYUmxJR05vWVc1bmFXNW5JSE52SUhkbElHUnZiaWQwSUdSdklIUm9ZWFFnYUdWeVpTNWNiaUFnSUNBZ0lDOHZJRlJQUkU4NklFTnZibk5wWkdWeUlHNXZkQ0JrYjJsdVp5QjBhR2x6SUdadmNpQnBibkIxZENCaGJtUWdkR1Y0ZEdGeVpXRXVYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhKaGQxQnliM0J6TG05dVEyeHBZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nVkdocGN5QmpZWE4wSUcxaGVTQnViM1FnWW1VZ2MyOTFibVFnWm05eUlGTldSeXdnVFdGMGFFMU1JRzl5SUdOMWMzUnZiU0JsYkdWdFpXNTBjeTVjYmlBZ0lDQWdJQ0FnZEhKaGNFTnNhV05yVDI1T2IyNUpiblJsY21GamRHbDJaVVZzWlcxbGJuUW9aRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFZ3WkdGMFpWQmhlV3h2WVdRN1hHNTlYRzVtZFc1amRHbHZiaUJrYVdabVNIbGtjbUYwWldSVVpYaDBLSFJsZUhST2IyUmxMQ0IwWlhoMEtTQjdYRzRnSUhaaGNpQnBjMFJwWm1abGNtVnVkQ0E5SUhSbGVIUk9iMlJsTG01dlpHVldZV3gxWlNBaFBUMGdkR1Y0ZER0Y2JpQWdjbVYwZFhKdUlHbHpSR2xtWm1WeVpXNTBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2QyRnlia1p2Y2xWdWJXRjBZMmhsWkZSbGVIUW9kR1Y0ZEU1dlpHVXNJSFJsZUhRcElIdGNiaUFnZTF4dUlDQWdJSGRoY201R2IzSlVaWGgwUkdsbVptVnlaVzVqWlNoMFpYaDBUbTlrWlM1dWIyUmxWbUZzZFdVc0lIUmxlSFFwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCM1lYSnVSbTl5UkdWc1pYUmxaRWg1WkhKaGRHRmliR1ZGYkdWdFpXNTBLSEJoY21WdWRFNXZaR1VzSUdOb2FXeGtLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9aR2xrVjJGeWJrbHVkbUZzYVdSSWVXUnlZWFJwYjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JrYVdSWFlYSnVTVzUyWVd4cFpFaDVaSEpoZEdsdmJpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCbGNuSnZjaWduUkdsa0lHNXZkQ0JsZUhCbFkzUWdjMlZ5ZG1WeUlFaFVUVXdnZEc4Z1kyOXVkR0ZwYmlCaElEd2xjejRnYVc0Z1BDVnpQaTRuTENCamFHbHNaQzV1YjJSbFRtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncExDQndZWEpsYm5ST2IyUmxMbTV2WkdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0NrcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQjNZWEp1Um05eVJHVnNaWFJsWkVoNVpISmhkR0ZpYkdWVVpYaDBLSEJoY21WdWRFNXZaR1VzSUdOb2FXeGtLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9aR2xrVjJGeWJrbHVkbUZzYVdSSWVXUnlZWFJwYjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JrYVdSWFlYSnVTVzUyWVd4cFpFaDVaSEpoZEdsdmJpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCbGNuSnZjaWduUkdsa0lHNXZkQ0JsZUhCbFkzUWdjMlZ5ZG1WeUlFaFVUVXdnZEc4Z1kyOXVkR0ZwYmlCMGFHVWdkR1Y0ZENCdWIyUmxJRndpSlhOY0lpQnBiaUE4SlhNK0xpY3NJR05vYVd4a0xtNXZaR1ZXWVd4MVpTd2djR0Z5Wlc1MFRtOWtaUzV1YjJSbFRtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncEtUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdkMkZ5YmtadmNrbHVjMlZ5ZEdWa1NIbGtjbUYwWldSRmJHVnRaVzUwS0hCaGNtVnVkRTV2WkdVc0lIUmhaeXdnY0hKdmNITXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaGthV1JYWVhKdVNXNTJZV3hwWkVoNVpISmhkR2x2YmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1JwWkZkaGNtNUpiblpoYkdsa1NIbGtjbUYwYVc5dUlEMGdkSEoxWlR0Y2JseHVJQ0FnSUdWeWNtOXlLQ2RGZUhCbFkzUmxaQ0J6WlhKMlpYSWdTRlJOVENCMGJ5QmpiMjUwWVdsdUlHRWdiV0YwWTJocGJtY2dQQ1Z6UGlCcGJpQThKWE0rTGljc0lIUmhaeXdnY0dGeVpXNTBUbTlrWlM1dWIyUmxUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnZDJGeWJrWnZja2x1YzJWeWRHVmtTSGxrY21GMFpXUlVaWGgwS0hCaGNtVnVkRTV2WkdVc0lIUmxlSFFwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2gwWlhoMElEMDlQU0FuSnlrZ2UxeHVJQ0FnSUNBZ0x5OGdWMlVnWlhod1pXTjBJSFJ2SUdsdWMyVnlkQ0JsYlhCMGVTQjBaWGgwSUc1dlpHVnpJSE5wYm1ObElIUm9aWGtuY21VZ2JtOTBJSEpsY0hKbGMyVnVkR1ZrSUdsdVhHNGdJQ0FnSUNBdkx5QjBhR1VnU0ZSTlRDNWNiaUFnSUNBZ0lDOHZJRlJQUkU4NklGSmxiVzkyWlNCMGFHbHpJSE53WldOcFlXd2dZMkZ6WlNCcFppQjNaU0JqWVc0Z2FuVnpkQ0JoZG05cFpDQnBibk5sY25ScGJtY2daVzF3ZEhsY2JpQWdJQ0FnSUM4dklIUmxlSFFnYm05a1pYTXVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaR2xrVjJGeWJrbHVkbUZzYVdSSWVXUnlZWFJwYjI0Z1BTQjBjblZsTzF4dVhHNGdJQ0FnWlhKeWIzSW9KMFY0Y0dWamRHVmtJSE5sY25abGNpQklWRTFNSUhSdklHTnZiblJoYVc0Z1lTQnRZWFJqYUdsdVp5QjBaWGgwSUc1dlpHVWdabTl5SUZ3aUpYTmNJaUJwYmlBOEpYTStMaWNzSUhSbGVIUXNJSEJoY21WdWRFNXZaR1V1Ym05a1pVNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tTazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSEpsYzNSdmNtVkRiMjUwY205c2JHVmtVM1JoZEdVa015aGtiMjFGYkdWdFpXNTBMQ0IwWVdjc0lIQnliM0J6S1NCN1hHNGdJSE4zYVhSamFDQW9kR0ZuS1NCN1hHNGdJQ0FnWTJGelpTQW5hVzV3ZFhRbk9seHVJQ0FnSUNBZ2NtVnpkRzl5WlVOdmJuUnliMnhzWldSVGRHRjBaU2hrYjIxRmJHVnRaVzUwTENCd2NtOXdjeWs3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzVjYmlBZ0lDQmpZWE5sSUNkMFpYaDBZWEpsWVNjNlhHNGdJQ0FnSUNCeVpYTjBiM0psUTI5dWRISnZiR3hsWkZOMFlYUmxKRElvWkc5dFJXeGxiV1Z1ZEN3Z2NISnZjSE1wTzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1WEc0Z0lDQWdZMkZ6WlNBbmMyVnNaV04wSnpwY2JpQWdJQ0FnSUhKbGMzUnZjbVZEYjI1MGNtOXNiR1ZrVTNSaGRHVWtNU2hrYjIxRmJHVnRaVzUwTENCd2NtOXdjeWs3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFFXTjBhWFpsUld4bGJXVnVkQ2hrYjJNcElIdGNiaUFnWkc5aklEMGdaRzlqSUh4OElDaDBlWEJsYjJZZ1pHOWpkVzFsYm5RZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z1pHOWpkVzFsYm5RZ09pQjFibVJsWm1sdVpXUXBPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaRzlqSUQwOVBTQW5kVzVrWldacGJtVmtKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnlaWFIxY200Z1pHOWpMbUZqZEdsMlpVVnNaVzFsYm5RZ2ZId2daRzlqTG1KdlpIazdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNCeVpYUjFjbTRnWkc5akxtSnZaSGs3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJoYm5rZ2JtOWtaU0J5WlhSMWNtNGdkR2hsSUdacGNuTjBJR3hsWVdZZ2JtOWtaU0IzYVhSb2IzVjBJR05vYVd4a2NtVnVMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdSRTlOUld4bGJXVnVkSHhFVDAxVVpYaDBUbTlrWlgwZ2JtOWtaVnh1SUNvZ1FISmxkSFZ5YmlCN1JFOU5SV3hsYldWdWRIeEVUMDFVWlhoMFRtOWtaWDFjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJuWlhSTVpXRm1UbTlrWlNodWIyUmxLU0I3WEc0Z0lIZG9hV3hsSUNodWIyUmxJQ1ltSUc1dlpHVXVabWx5YzNSRGFHbHNaQ2tnZTF4dUlDQWdJRzV2WkdVZ1BTQnViMlJsTG1acGNuTjBRMmhwYkdRN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtOWtaVHRjYm4xY2JpOHFLbHh1SUNvZ1IyVjBJSFJvWlNCdVpYaDBJSE5wWW14cGJtY2dkMmwwYUdsdUlHRWdZMjl1ZEdGcGJtVnlMaUJVYUdseklIZHBiR3dnZDJGc2F5QjFjQ0IwYUdWY2JpQXFJRVJQVFNCcFppQmhJRzV2WkdVbmN5QnphV0pzYVc1bmN5Qm9ZWFpsSUdKbFpXNGdaWGhvWVhWemRHVmtMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdSRTlOUld4bGJXVnVkSHhFVDAxVVpYaDBUbTlrWlgwZ2JtOWtaVnh1SUNvZ1FISmxkSFZ5YmlCN1AwUlBUVVZzWlcxbGJuUjhSRTlOVkdWNGRFNXZaR1Y5WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCblpYUlRhV0pzYVc1blRtOWtaU2h1YjJSbEtTQjdYRzRnSUhkb2FXeGxJQ2h1YjJSbEtTQjdYRzRnSUNBZ2FXWWdLRzV2WkdVdWJtVjRkRk5wWW14cGJtY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTG01bGVIUlRhV0pzYVc1bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUc1dlpHVWdQU0J1YjJSbExuQmhjbVZ1ZEU1dlpHVTdYRzRnSUgxY2JuMWNiaThxS2x4dUlDb2dSMlYwSUc5aWFtVmpkQ0JrWlhOamNtbGlhVzVuSUhSb1pTQnViMlJsY3lCM2FHbGphQ0JqYjI1MFlXbHVJR05vWVhKaFkzUmxjbk1nWVhRZ2IyWm1jMlYwTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3UkU5TlJXeGxiV1Z1ZEh4RVQwMVVaWGgwVG05a1pYMGdjbTl2ZEZ4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHOW1abk5sZEZ4dUlDb2dRSEpsZEhWeWJpQjdQMjlpYW1WamRIMWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2RsZEU1dlpHVkdiM0pEYUdGeVlXTjBaWEpQWm1aelpYUW9jbTl2ZEN3Z2IyWm1jMlYwS1NCN1hHNGdJSFpoY2lCdWIyUmxJRDBnWjJWMFRHVmhaazV2WkdVb2NtOXZkQ2s3WEc0Z0lIWmhjaUJ1YjJSbFUzUmhjblFnUFNBd08xeHVJQ0IyWVhJZ2JtOWtaVVZ1WkNBOUlEQTdYRzVjYmlBZ2QyaHBiR1VnS0c1dlpHVXBJSHRjYmlBZ0lDQnBaaUFvYm05a1pTNXViMlJsVkhsd1pTQTlQVDBnVkVWWVZGOU9UMFJGS1NCN1hHNGdJQ0FnSUNCdWIyUmxSVzVrSUQwZ2JtOWtaVk4wWVhKMElDc2dibTlrWlM1MFpYaDBRMjl1ZEdWdWRDNXNaVzVuZEdnN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1YjJSbFUzUmhjblFnUEQwZ2IyWm1jMlYwSUNZbUlHNXZaR1ZGYm1RZ1BqMGdiMlptYzJWMEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnYm05a1pUb2dibTlrWlN4Y2JpQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklHOW1abk5sZENBdElHNXZaR1ZUZEdGeWRGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J1YjJSbFUzUmhjblFnUFNCdWIyUmxSVzVrTzF4dUlDQWdJSDFjYmx4dUlDQWdJRzV2WkdVZ1BTQm5aWFJNWldGbVRtOWtaU2huWlhSVGFXSnNhVzVuVG05a1pTaHViMlJsS1NrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFjR0Z5WVcwZ2UwUlBUVVZzWlcxbGJuUjlJRzkxZEdWeVRtOWtaVnh1SUNvZ1FISmxkSFZ5YmlCN1AyOWlhbVZqZEgxY2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCblpYUlBabVp6WlhSektHOTFkR1Z5VG05a1pTa2dlMXh1SUNCMllYSWdiM2R1WlhKRWIyTjFiV1Z1ZENBOUlHOTFkR1Z5VG05a1pTNXZkMjVsY2tSdlkzVnRaVzUwTzF4dUlDQjJZWElnZDJsdUlEMGdiM2R1WlhKRWIyTjFiV1Z1ZENBbUppQnZkMjVsY2tSdlkzVnRaVzUwTG1SbFptRjFiSFJXYVdWM0lIeDhJSGRwYm1SdmR6dGNiaUFnZG1GeUlITmxiR1ZqZEdsdmJpQTlJSGRwYmk1blpYUlRaV3hsWTNScGIyNGdKaVlnZDJsdUxtZGxkRk5sYkdWamRHbHZiaWdwTzF4dVhHNGdJR2xtSUNnaGMyVnNaV04wYVc5dUlIeDhJSE5sYkdWamRHbHZiaTV5WVc1blpVTnZkVzUwSUQwOVBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCMllYSWdZVzVqYUc5eVRtOWtaU0E5SUhObGJHVmpkR2x2Ymk1aGJtTm9iM0pPYjJSbExGeHVJQ0FnSUNBZ1lXNWphRzl5VDJabWMyVjBJRDBnYzJWc1pXTjBhVzl1TG1GdVkyaHZjazltWm5ObGRDeGNiaUFnSUNBZ0lHWnZZM1Z6VG05a1pTQTlJSE5sYkdWamRHbHZiaTVtYjJOMWMwNXZaR1VzWEc0Z0lDQWdJQ0JtYjJOMWMwOW1abk5sZENBOUlITmxiR1ZqZEdsdmJpNW1iMk4xYzA5bVpuTmxkRHNnTHk4Z1NXNGdSbWx5WldadmVDd2dZVzVqYUc5eVRtOWtaU0JoYm1RZ1ptOWpkWE5PYjJSbElHTmhiaUJpWlNCY0ltRnViMjU1Ylc5MWN5QmthWFp6WENJc0lHVXVaeTRnZEdobFhHNGdJQzh2SUhWd0wyUnZkMjRnWW5WMGRHOXVjeUJ2YmlCaGJpQThhVzV3ZFhRZ2RIbHdaVDFjSW01MWJXSmxjbHdpUGk0Z1FXNXZibmx0YjNWeklHUnBkbk1nWkc4Z2JtOTBJSE5sWlcwZ2RHOWNiaUFnTHk4Z1pYaHdiM05sSUhCeWIzQmxjblJwWlhNc0lIUnlhV2RuWlhKcGJtY2dZU0JjSWxCbGNtMXBjM05wYjI0Z1pHVnVhV1ZrSUdWeWNtOXlYQ0lnYVdZZ1lXNTVJRzltSUdsMGMxeHVJQ0F2THlCd2NtOXdaWEowYVdWeklHRnlaU0JoWTJObGMzTmxaQzRnVkdobElHOXViSGtnYzJWbGJXbHVaMng1SUhCdmMzTnBZbXhsSUhkaGVTQjBieUJoZG05cFpDQmxjbkp2Y21sdVoxeHVJQ0F2THlCcGN5QjBieUJoWTJObGMzTWdZU0J3Y205d1pYSjBlU0IwYUdGMElIUjVjR2xqWVd4c2VTQjNiM0pyY3lCbWIzSWdibTl1TFdGdWIyNTViVzkxY3lCa2FYWnpJR0Z1WkZ4dUlDQXZMeUJqWVhSamFDQmhibmtnWlhKeWIzSWdkR2hoZENCdFlYa2diM1JvWlhKM2FYTmxJR0Z5YVhObExpQlRaV1ZjYmlBZ0x5OGdhSFIwY0hNNkx5OWlkV2Q2YVd4c1lTNXRiM3BwYkd4aExtOXlaeTl6YUc5M1gySjFaeTVqWjJrL2FXUTlNakE0TkRJM1hHNWNiaUFnZEhKNUlIdGNiaUFnSUNBdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCdWJ5MTFiblZ6WldRdFpYaHdjbVZ6YzJsdmJuTWdLaTljYmlBZ0lDQmhibU5vYjNKT2IyUmxMbTV2WkdWVWVYQmxPMXh1SUNBZ0lHWnZZM1Z6VG05a1pTNXViMlJsVkhsd1pUdGNiaUFnSUNBdktpQmxjMnhwYm5RdFpXNWhZbXhsSUc1dkxYVnVkWE5sWkMxbGVIQnlaWE56YVc5dWN5QXFMMXh1SUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdaMlYwVFc5a1pYSnVUMlptYzJWMGMwWnliMjFRYjJsdWRITW9iM1YwWlhKT2IyUmxMQ0JoYm1Ob2IzSk9iMlJsTENCaGJtTm9iM0pQWm1aelpYUXNJR1p2WTNWelRtOWtaU3dnWm05amRYTlBabVp6WlhRcE8xeHVmVnh1THlvcVhHNGdLaUJTWlhSMWNtNXpJSHR6ZEdGeWRDd2daVzVrZlNCM2FHVnlaU0JnYzNSaGNuUmdJR2x6SUhSb1pTQmphR0Z5WVdOMFpYSXZZMjlrWlhCdmFXNTBJR2x1WkdWNElHOW1YRzRnS2lBb1lXNWphRzl5VG05a1pTd2dZVzVqYUc5eVQyWm1jMlYwS1NCM2FYUm9hVzRnZEdobElIUmxlSFJEYjI1MFpXNTBJRzltSUdCdmRYUmxjazV2WkdWZ0xDQmhibVJjYmlBcUlHQmxibVJnSUdseklIUm9aU0JwYm1SbGVDQnZaaUFvWm05amRYTk9iMlJsTENCbWIyTjFjMDltWm5ObGRDa3VYRzRnS2x4dUlDb2dVbVYwZFhKdWN5QnVkV3hzSUdsbUlIbHZkU0J3WVhOeklHbHVJR2RoY21KaFoyVWdhVzV3ZFhRZ1luVjBJSGRsSUhOb2IzVnNaQ0J3Y205aVlXSnNlU0JxZFhOMElHTnlZWE5vTGx4dUlDcGNiaUFxSUVWNGNHOXlkR1ZrSUc5dWJIa2dabTl5SUhSbGMzUnBibWN1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFRXOWtaWEp1VDJabWMyVjBjMFp5YjIxUWIybHVkSE1vYjNWMFpYSk9iMlJsTENCaGJtTm9iM0pPYjJSbExDQmhibU5vYjNKUFptWnpaWFFzSUdadlkzVnpUbTlrWlN3Z1ptOWpkWE5QWm1aelpYUXBJSHRjYmlBZ2RtRnlJR3hsYm1kMGFDQTlJREE3WEc0Z0lIWmhjaUJ6ZEdGeWRDQTlJQzB4TzF4dUlDQjJZWElnWlc1a0lEMGdMVEU3WEc0Z0lIWmhjaUJwYm1SbGVGZHBkR2hwYmtGdVkyaHZjaUE5SURBN1hHNGdJSFpoY2lCcGJtUmxlRmRwZEdocGJrWnZZM1Z6SUQwZ01EdGNiaUFnZG1GeUlHNXZaR1VnUFNCdmRYUmxjazV2WkdVN1hHNGdJSFpoY2lCd1lYSmxiblJPYjJSbElEMGdiblZzYkR0Y2JseHVJQ0J2ZFhSbGNqb2dkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0IyWVhJZ2JtVjRkQ0E5SUc1MWJHdzdYRzVjYmlBZ0lDQjNhR2xzWlNBb2RISjFaU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNXZaR1VnUFQwOUlHRnVZMmh2Y2s1dlpHVWdKaVlnS0dGdVkyaHZjazltWm5ObGRDQTlQVDBnTUNCOGZDQnViMlJsTG01dlpHVlVlWEJsSUQwOVBTQlVSVmhVWDA1UFJFVXBLU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBJRDBnYkdWdVozUm9JQ3NnWVc1amFHOXlUMlptYzJWME8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTQTlQVDBnWm05amRYTk9iMlJsSUNZbUlDaG1iMk4xYzA5bVpuTmxkQ0E5UFQwZ01DQjhmQ0J1YjJSbExtNXZaR1ZVZVhCbElEMDlQU0JVUlZoVVgwNVBSRVVwS1NCN1hHNGdJQ0FnSUNBZ0lHVnVaQ0E5SUd4bGJtZDBhQ0FySUdadlkzVnpUMlptYzJWME8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNXViMlJsVkhsd1pTQTlQVDBnVkVWWVZGOU9UMFJGS1NCN1hHNGdJQ0FnSUNBZ0lHeGxibWQwYUNBclBTQnViMlJsTG01dlpHVldZV3gxWlM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDZ29ibVY0ZENBOUlHNXZaR1V1Wm1seWMzUkRhR2xzWkNrZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOUlDOHZJRTF2ZG1sdVp5Qm1jbTl0SUdCdWIyUmxZQ0IwYnlCcGRITWdabWx5YzNRZ1kyaHBiR1FnWUc1bGVIUmdMbHh1WEc1Y2JpQWdJQ0FnSUhCaGNtVnVkRTV2WkdVZ1BTQnViMlJsTzF4dUlDQWdJQ0FnYm05a1pTQTlJRzVsZUhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZDJocGJHVWdLSFJ5ZFdVcElIdGNiaUFnSUNBZ0lHbG1JQ2h1YjJSbElEMDlQU0J2ZFhSbGNrNXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWUc5MWRHVnlUbTlrWldBZ2FHRnpJR05vYVd4a2NtVnVMQ0IwYUdseklHbHpJR0ZzZDJGNWN5QjBhR1VnYzJWamIyNWtJSFJwYldVZ2RtbHphWFJwYm1kY2JpQWdJQ0FnSUNBZ0x5OGdhWFF1SUVsbUlHbDBJR2hoY3lCdWJ5QmphR2xzWkhKbGJpd2dkR2hwY3lCcGN5QnpkR2xzYkNCMGFHVWdabWx5YzNRZ2JHOXZjQ3dnWVc1a0lIUm9aU0J2Ym14NVhHNGdJQ0FnSUNBZ0lDOHZJSFpoYkdsa0lITmxiR1ZqZEdsdmJpQnBjeUJoYm1Ob2IzSk9iMlJsSUdGdVpDQm1iMk4xYzA1dlpHVWdZbTkwYUNCbGNYVmhiQ0IwYnlCMGFHbHpJRzV2WkdWY2JpQWdJQ0FnSUNBZ0x5OGdZVzVrSUdKdmRHZ2diMlptYzJWMGN5QXdMQ0JwYmlCM2FHbGphQ0JqWVhObElIZGxJSGRwYkd3Z2FHRjJaU0JvWVc1a2JHVmtJR0ZpYjNabExseHVJQ0FnSUNBZ0lDQmljbVZoYXlCdmRYUmxjanRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIQmhjbVZ1ZEU1dlpHVWdQVDA5SUdGdVkyaHZjazV2WkdVZ0ppWWdLeXRwYm1SbGVGZHBkR2hwYmtGdVkyaHZjaUE5UFQwZ1lXNWphRzl5VDJabWMyVjBLU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBJRDBnYkdWdVozUm9PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2NHRnlaVzUwVG05a1pTQTlQVDBnWm05amRYTk9iMlJsSUNZbUlDc3JhVzVrWlhoWGFYUm9hVzVHYjJOMWN5QTlQVDBnWm05amRYTlBabVp6WlhRcElIdGNiaUFnSUNBZ0lDQWdaVzVrSUQwZ2JHVnVaM1JvTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9LRzVsZUhRZ1BTQnViMlJsTG01bGVIUlRhV0pzYVc1bktTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlIQmhjbVZ1ZEU1dlpHVTdYRzRnSUNBZ0lDQndZWEpsYm5ST2IyUmxJRDBnYm05a1pTNXdZWEpsYm5ST2IyUmxPMXh1SUNBZ0lIMGdMeThnVFc5MmFXNW5JR1p5YjIwZ1lHNXZaR1ZnSUhSdklHbDBjeUJ1WlhoMElITnBZbXhwYm1jZ1lHNWxlSFJnTGx4dVhHNWNiaUFnSUNCdWIyUmxJRDBnYm1WNGREdGNiaUFnZlZ4dVhHNGdJR2xtSUNoemRHRnlkQ0E5UFQwZ0xURWdmSHdnWlc1a0lEMDlQU0F0TVNrZ2UxeHVJQ0FnSUM4dklGUm9hWE1nYzJodmRXeGtJRzVsZG1WeUlHaGhjSEJsYmk0Z0tGZHZkV3hrSUdoaGNIQmxiaUJwWmlCMGFHVWdZVzVqYUc5eUwyWnZZM1Z6SUc1dlpHVnpJR0Z5Wlc0bmRGeHVJQ0FnSUM4dklHRmpkSFZoYkd4NUlHbHVjMmxrWlNCMGFHVWdjR0Z6YzJWa0xXbHVJRzV2WkdVdUtWeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCemRHRnlkRG9nYzNSaGNuUXNYRzRnSUNBZ1pXNWtPaUJsYm1SY2JpQWdmVHRjYm4xY2JpOHFLbHh1SUNvZ1NXNGdiVzlrWlhKdUlHNXZiaTFKUlNCaWNtOTNjMlZ5Y3l3Z2QyVWdZMkZ1SUhOMWNIQnZjblFnWW05MGFDQm1iM0ozWVhKa0lHRnVaQ0JpWVdOcmQyRnlaRnh1SUNvZ2MyVnNaV04wYVc5dWN5NWNiaUFxWEc0Z0tpQk9iM1JsT2lCSlJURXdLeUJ6ZFhCd2IzSjBjeUIwYUdVZ1UyVnNaV04wYVc5dUlHOWlhbVZqZEN3Z1luVjBJR2wwSUdSdlpYTWdibTkwSUhOMWNIQnZjblJjYmlBcUlIUm9aU0JnWlhoMFpXNWtZQ0J0WlhSb2IyUXNJSGRvYVdOb0lHMWxZVzV6SUhSb1lYUWdaWFpsYmlCcGJpQnRiMlJsY200Z1NVVXNJR2wwSjNNZ2JtOTBJSEJ2YzNOcFlteGxYRzRnS2lCMGJ5QndjbTluY21GdGJXRjBhV05oYkd4NUlHTnlaV0YwWlNCaElHSmhZMnQzWVhKa0lITmxiR1ZqZEdsdmJpNGdWR2gxY3l3Z1ptOXlJR0ZzYkNCSlJWeHVJQ29nZG1WeWMybHZibk1zSUhkbElIVnpaU0IwYUdVZ2IyeGtJRWxGSUVGUVNTQjBieUJqY21WaGRHVWdiM1Z5SUhObGJHVmpkR2x2Ym5NdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0RVQwMUZiR1Z0Wlc1MGZFUlBUVlJsZUhST2IyUmxmU0J1YjJSbFhHNGdLaUJBY0dGeVlXMGdlMjlpYW1WamRIMGdiMlptYzJWMGMxeHVJQ292WEc1Y2JtWjFibU4wYVc5dUlITmxkRTltWm5ObGRITW9ibTlrWlN3Z2IyWm1jMlYwY3lrZ2UxeHVJQ0IyWVhJZ1pHOWpJRDBnYm05a1pTNXZkMjVsY2tSdlkzVnRaVzUwSUh4OElHUnZZM1Z0Wlc1ME8xeHVJQ0IyWVhJZ2QybHVJRDBnWkc5aklDWW1JR1J2WXk1a1pXWmhkV3gwVm1sbGR5QjhmQ0IzYVc1a2IzYzdJQzh2SUVWa1oyVWdabUZwYkhNZ2QybDBhQ0JjSWs5aWFtVmpkQ0JsZUhCbFkzUmxaRndpSUdsdUlITnZiV1VnYzJObGJtRnlhVzl6TGx4dUlDQXZMeUFvUm05eUlHbHVjM1JoYm1ObE9pQlVhVzU1VFVORklHVmthWFJ2Y2lCMWMyVmtJR2x1SUdFZ2JHbHpkQ0JqYjIxd2IyNWxiblFnZEdoaGRDQnpkWEJ3YjNKMGN5QndZWE4wYVc1bklIUnZJR0ZrWkNCdGIzSmxMRnh1SUNBdkx5Qm1ZV2xzY3lCM2FHVnVJSEJoYzNScGJtY2dNVEF3S3lCcGRHVnRjeWxjYmx4dUlDQnBaaUFvSVhkcGJpNW5aWFJUWld4bFkzUnBiMjRwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0IyWVhJZ2MyVnNaV04wYVc5dUlEMGdkMmx1TG1kbGRGTmxiR1ZqZEdsdmJpZ3BPMXh1SUNCMllYSWdiR1Z1WjNSb0lEMGdibTlrWlM1MFpYaDBRMjl1ZEdWdWRDNXNaVzVuZEdnN1hHNGdJSFpoY2lCemRHRnlkQ0E5SUUxaGRHZ3ViV2x1S0c5bVpuTmxkSE11YzNSaGNuUXNJR3hsYm1kMGFDazdYRzRnSUhaaGNpQmxibVFnUFNCdlptWnpaWFJ6TG1WdVpDQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z2MzUmhjblFnT2lCTllYUm9MbTFwYmlodlptWnpaWFJ6TG1WdVpDd2diR1Z1WjNSb0tUc2dMeThnU1VVZ01URWdkWE5sY3lCdGIyUmxjbTRnYzJWc1pXTjBhVzl1TENCaWRYUWdaRzlsYzI0bmRDQnpkWEJ3YjNKMElIUm9aU0JsZUhSbGJtUWdiV1YwYUc5a0xseHVJQ0F2THlCR2JHbHdJR0poWTJ0M1lYSmtJSE5sYkdWamRHbHZibk1zSUhOdklIZGxJR05oYmlCelpYUWdkMmwwYUNCaElITnBibWRzWlNCeVlXNW5aUzVjYmx4dUlDQnBaaUFvSVhObGJHVmpkR2x2Ymk1bGVIUmxibVFnSmlZZ2MzUmhjblFnUGlCbGJtUXBJSHRjYmlBZ0lDQjJZWElnZEdWdGNDQTlJR1Z1WkR0Y2JpQWdJQ0JsYm1RZ1BTQnpkR0Z5ZER0Y2JpQWdJQ0J6ZEdGeWRDQTlJSFJsYlhBN1hHNGdJSDFjYmx4dUlDQjJZWElnYzNSaGNuUk5ZWEpyWlhJZ1BTQm5aWFJPYjJSbFJtOXlRMmhoY21GamRHVnlUMlptYzJWMEtHNXZaR1VzSUhOMFlYSjBLVHRjYmlBZ2RtRnlJR1Z1WkUxaGNtdGxjaUE5SUdkbGRFNXZaR1ZHYjNKRGFHRnlZV04wWlhKUFptWnpaWFFvYm05a1pTd2daVzVrS1R0Y2JseHVJQ0JwWmlBb2MzUmhjblJOWVhKclpYSWdKaVlnWlc1a1RXRnlhMlZ5S1NCN1hHNGdJQ0FnYVdZZ0tITmxiR1ZqZEdsdmJpNXlZVzVuWlVOdmRXNTBJRDA5UFNBeElDWW1JSE5sYkdWamRHbHZiaTVoYm1Ob2IzSk9iMlJsSUQwOVBTQnpkR0Z5ZEUxaGNtdGxjaTV1YjJSbElDWW1JSE5sYkdWamRHbHZiaTVoYm1Ob2IzSlBabVp6WlhRZ1BUMDlJSE4wWVhKMFRXRnlhMlZ5TG05bVpuTmxkQ0FtSmlCelpXeGxZM1JwYjI0dVptOWpkWE5PYjJSbElEMDlQU0JsYm1STllYSnJaWEl1Ym05a1pTQW1KaUJ6Wld4bFkzUnBiMjR1Wm05amRYTlBabVp6WlhRZ1BUMDlJR1Z1WkUxaGNtdGxjaTV2Wm1aelpYUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjbUZ1WjJVZ1BTQmtiMk11WTNKbFlYUmxVbUZ1WjJVb0tUdGNiaUFnSUNCeVlXNW5aUzV6WlhSVGRHRnlkQ2h6ZEdGeWRFMWhjbXRsY2k1dWIyUmxMQ0J6ZEdGeWRFMWhjbXRsY2k1dlptWnpaWFFwTzF4dUlDQWdJSE5sYkdWamRHbHZiaTV5WlcxdmRtVkJiR3hTWVc1blpYTW9LVHRjYmx4dUlDQWdJR2xtSUNoemRHRnlkQ0ErSUdWdVpDa2dlMXh1SUNBZ0lDQWdjMlZzWldOMGFXOXVMbUZrWkZKaGJtZGxLSEpoYm1kbEtUdGNiaUFnSUNBZ0lITmxiR1ZqZEdsdmJpNWxlSFJsYm1Rb1pXNWtUV0Z5YTJWeUxtNXZaR1VzSUdWdVpFMWhjbXRsY2k1dlptWnpaWFFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlZVzVuWlM1elpYUkZibVFvWlc1a1RXRnlhMlZ5TG01dlpHVXNJR1Z1WkUxaGNtdGxjaTV2Wm1aelpYUXBPMXh1SUNBZ0lDQWdjMlZzWldOMGFXOXVMbUZrWkZKaGJtZGxLSEpoYm1kbEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdhWE5VWlhoMFRtOWtaU2h1YjJSbEtTQjdYRzRnSUhKbGRIVnliaUJ1YjJSbElDWW1JRzV2WkdVdWJtOWtaVlI1Y0dVZ1BUMDlJRlJGV0ZSZlRrOUVSVHRjYm4xY2JseHVablZ1WTNScGIyNGdZMjl1ZEdGcGJuTk9iMlJsS0c5MWRHVnlUbTlrWlN3Z2FXNXVaWEpPYjJSbEtTQjdYRzRnSUdsbUlDZ2hiM1YwWlhKT2IyUmxJSHg4SUNGcGJtNWxjazV2WkdVcElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ1pXeHpaU0JwWmlBb2IzVjBaWEpPYjJSbElEMDlQU0JwYm01bGNrNXZaR1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmU0JsYkhObElHbG1JQ2hwYzFSbGVIUk9iMlJsS0c5MWRHVnlUbTlrWlNrcElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ1pXeHpaU0JwWmlBb2FYTlVaWGgwVG05a1pTaHBibTVsY2s1dlpHVXBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJoYVc1elRtOWtaU2h2ZFhSbGNrNXZaR1VzSUdsdWJtVnlUbTlrWlM1d1lYSmxiblJPYjJSbEtUdGNiaUFnZlNCbGJITmxJR2xtSUNnblkyOXVkR0ZwYm5NbklHbHVJRzkxZEdWeVRtOWtaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnZkWFJsY2s1dlpHVXVZMjl1ZEdGcGJuTW9hVzV1WlhKT2IyUmxLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHZkWFJsY2s1dlpHVXVZMjl0Y0dGeVpVUnZZM1Z0Wlc1MFVHOXphWFJwYjI0cElIdGNiaUFnSUNCeVpYUjFjbTRnSVNFb2IzVjBaWEpPYjJSbExtTnZiWEJoY21WRWIyTjFiV1Z1ZEZCdmMybDBhVzl1S0dsdWJtVnlUbTlrWlNrZ0ppQXhOaWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x6U1c1RWIyTjFiV1Z1ZENodWIyUmxLU0I3WEc0Z0lISmxkSFZ5YmlCdWIyUmxJQ1ltSUc1dlpHVXViM2R1WlhKRWIyTjFiV1Z1ZENBbUppQmpiMjUwWVdsdWMwNXZaR1VvYm05a1pTNXZkMjVsY2tSdlkzVnRaVzUwTG1SdlkzVnRaVzUwUld4bGJXVnVkQ3dnYm05a1pTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHpVMkZ0WlU5eWFXZHBia1p5WVcxbEtHbG1jbUZ0WlNrZ2UxeHVJQ0IwY25rZ2UxeHVJQ0FnSUM4dklFRmpZMlZ6YzJsdVp5QjBhR1VnWTI5dWRHVnVkRVJ2WTNWdFpXNTBJRzltSUdFZ1NGUk5URWxtY21GdFpVVnNaVzFsYm5RZ1kyRnVJR05oZFhObElIUm9aU0JpY205M2MyVnlYRzRnSUNBZ0x5OGdkRzhnZEdoeWIzY3NJR1V1Wnk0Z2FXWWdhWFFnYUdGeklHRWdZM0p2YzNNdGIzSnBaMmx1SUhOeVl5QmhkSFJ5YVdKMWRHVXVYRzRnSUNBZ0x5OGdVMkZtWVhKcElIZHBiR3dnYzJodmR5QmhiaUJsY25KdmNpQnBiaUIwYUdVZ1kyOXVjMjlzWlNCM2FHVnVJSFJvWlNCaFkyTmxjM01nY21WemRXeDBjeUJwYmlCY0lrSnNiMk5yWldRZ1lTQm1jbUZ0WlNCM2FYUm9JRzl5YVdkcGJsd2lMaUJsTG1jNlhHNGdJQ0FnTHk4Z2FXWnlZVzFsTG1OdmJuUmxiblJFYjJOMWJXVnVkQzVrWldaaGRXeDBWbWxsZHp0Y2JpQWdJQ0F2THlCQklITmhabVYwZVNCM1lYa2dhWE1nZEc4Z1lXTmpaWE56SUc5dVpTQnZaaUIwYUdVZ1kzSnZjM01nYjNKcFoybHVJSEJ5YjNCbGNuUnBaWE02SUZkcGJtUnZkeUJ2Y2lCTWIyTmhkR2x2Ymx4dUlDQWdJQzh2SUZkb2FXTm9JRzFwWjJoMElISmxjM1ZzZENCcGJpQmNJbE5sWTNWeWFYUjVSWEp5YjNKY0lpQkVUMDBnUlhoalpYQjBhVzl1SUdGdVpDQnBkQ0JwY3lCamIyMXdZWFJwWW14bElIUnZJRk5oWm1GeWFTNWNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwyaDBiV3d1YzNCbFl5NTNhR0YwZDJjdWIzSm5MMjExYkhScGNHRm5aUzlpY205M2MyVnljeTVvZEcxc0kybHVkR1ZuY21GMGFXOXVMWGRwZEdndGFXUnNYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUJwWm5KaGJXVXVZMjl1ZEdWdWRGZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1b2NtVm1JRDA5UFNBbmMzUnlhVzVuSnp0Y2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVGamRHbDJaVVZzWlcxbGJuUkVaV1Z3S0NrZ2UxeHVJQ0IyWVhJZ2QybHVJRDBnZDJsdVpHOTNPMXh1SUNCMllYSWdaV3hsYldWdWRDQTlJR2RsZEVGamRHbDJaVVZzWlcxbGJuUW9LVHRjYmx4dUlDQjNhR2xzWlNBb1pXeGxiV1Z1ZENCcGJuTjBZVzVqWlc5bUlIZHBiaTVJVkUxTVNVWnlZVzFsUld4bGJXVnVkQ2tnZTF4dUlDQWdJR2xtSUNocGMxTmhiV1ZQY21sbmFXNUdjbUZ0WlNobGJHVnRaVzUwS1NrZ2UxeHVJQ0FnSUNBZ2QybHVJRDBnWld4bGJXVnVkQzVqYjI1MFpXNTBWMmx1Wkc5M08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaV3hsYldWdWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCbGJHVnRaVzUwSUQwZ1oyVjBRV04wYVhabFJXeGxiV1Z1ZENoM2FXNHVaRzlqZFcxbGJuUXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1ZzWlcxbGJuUTdYRzU5WEc0dktpcGNiaUFxSUVCU1pXRmpkRWx1Y0hWMFUyVnNaV04wYVc5dU9pQlNaV0ZqZENCcGJuQjFkQ0J6Wld4bFkzUnBiMjRnYlc5a2RXeGxMaUJDWVhObFpDQnZiaUJUWld4bFkzUnBiMjR1YW5Nc1hHNGdLaUJpZFhRZ2JXOWthV1pwWldRZ2RHOGdZbVVnYzNWcGRHRmliR1VnWm05eUlISmxZV04wSUdGdVpDQm9ZWE1nWVNCamIzVndiR1VnYjJZZ1luVm5JR1pwZUdWeklDaGtiMlZ6YmlkMFhHNGdLaUJoYzNOMWJXVWdZblYwZEc5dWN5Qm9ZWFpsSUhKaGJtZGxJSE5sYkdWamRHbHZibk1nWVd4c2IzZGxaQ2t1WEc0Z0tpQkpibkIxZENCelpXeGxZM1JwYjI0Z2JXOWtkV3hsSUdadmNpQlNaV0ZqZEM1Y2JpQXFMMXh1WEc0dktpcGNiaUFxSUVCb1lYTlRaV3hsWTNScGIyNURZWEJoWW1sc2FYUnBaWE02SUhkbElHZGxkQ0IwYUdVZ1pXeGxiV1Z1ZENCMGVYQmxjeUIwYUdGMElITjFjSEJ2Y25RZ2MyVnNaV04wYVc5dVhHNGdLaUJtY205dElHaDBkSEJ6T2k4dmFIUnRiQzV6Y0dWakxuZG9ZWFIzWnk1dmNtY3ZJMlJ2TFc1dmRDMWhjSEJzZVN3Z2JHOXZhMmx1WnlCaGRDQmdjMlZzWldOMGFXOXVVM1JoY25SZ1hHNGdLaUJoYm1RZ1lITmxiR1ZqZEdsdmJrVnVaR0FnY205M2N5NWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2hoYzFObGJHVmpkR2x2YmtOaGNHRmlhV3hwZEdsbGN5aGxiR1Z0S1NCN1hHNGdJSFpoY2lCdWIyUmxUbUZ0WlNBOUlHVnNaVzBnSmlZZ1pXeGxiUzV1YjJSbFRtRnRaU0FtSmlCbGJHVnRMbTV2WkdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0NrN1hHNGdJSEpsZEhWeWJpQnViMlJsVG1GdFpTQW1KaUFvYm05a1pVNWhiV1VnUFQwOUlDZHBibkIxZENjZ0ppWWdLR1ZzWlcwdWRIbHdaU0E5UFQwZ0ozUmxlSFFuSUh4OElHVnNaVzB1ZEhsd1pTQTlQVDBnSjNObFlYSmphQ2NnZkh3Z1pXeGxiUzUwZVhCbElEMDlQU0FuZEdWc0p5QjhmQ0JsYkdWdExuUjVjR1VnUFQwOUlDZDFjbXduSUh4OElHVnNaVzB1ZEhsd1pTQTlQVDBnSjNCaGMzTjNiM0prSnlrZ2ZId2dibTlrWlU1aGJXVWdQVDA5SUNkMFpYaDBZWEpsWVNjZ2ZId2daV3hsYlM1amIyNTBaVzUwUldScGRHRmliR1VnUFQwOUlDZDBjblZsSnlrN1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSVFpXeGxZM1JwYjI1SmJtWnZjbTFoZEdsdmJpZ3BJSHRjYmlBZ2RtRnlJR1p2WTNWelpXUkZiR1Z0SUQwZ1oyVjBRV04wYVhabFJXeGxiV1Z1ZEVSbFpYQW9LVHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0F2THlCVmMyVmtJR0o1SUVac1lYSmxYRzRnSUNBZ1lXTjBhWFpsUld4bGJXVnVkRVJsZEdGamFHVmtPaUJ1ZFd4c0xGeHVJQ0FnSUdadlkzVnpaV1JGYkdWdE9pQm1iMk4xYzJWa1JXeGxiU3hjYmlBZ0lDQnpaV3hsWTNScGIyNVNZVzVuWlRvZ2FHRnpVMlZzWldOMGFXOXVRMkZ3WVdKcGJHbDBhV1Z6S0dadlkzVnpaV1JGYkdWdEtTQS9JR2RsZEZObGJHVmpkR2x2YmlobWIyTjFjMlZrUld4bGJTa2dPaUJ1ZFd4c1hHNGdJSDA3WEc1OVhHNHZLaXBjYmlBcUlFQnlaWE4wYjNKbFUyVnNaV04wYVc5dU9pQkpaaUJoYm5rZ2MyVnNaV04wYVc5dUlHbHVabTl5YldGMGFXOXVJSGRoY3lCd2IzUmxiblJwWVd4c2VTQnNiM04wTEZ4dUlDb2djbVZ6ZEc5eVpTQnBkQzRnVkdocGN5QnBjeUIxYzJWbWRXd2dkMmhsYmlCd1pYSm1iM0p0YVc1bklHOXdaWEpoZEdsdmJuTWdkR2hoZENCamIzVnNaQ0J5WlcxdmRtVWdaRzl0WEc0Z0tpQnViMlJsY3lCaGJtUWdjR3hoWTJVZ2RHaGxiU0JpWVdOcklHbHVMQ0J5WlhOMWJIUnBibWNnYVc0Z1ptOWpkWE1nWW1WcGJtY2diRzl6ZEM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCeVpYTjBiM0psVTJWc1pXTjBhVzl1S0hCeWFXOXlVMlZzWldOMGFXOXVTVzVtYjNKdFlYUnBiMjRwSUh0Y2JpQWdkbUZ5SUdOMWNrWnZZM1Z6WldSRmJHVnRJRDBnWjJWMFFXTjBhWFpsUld4bGJXVnVkRVJsWlhBb0tUdGNiaUFnZG1GeUlIQnlhVzl5Um05amRYTmxaRVZzWlcwZ1BTQndjbWx2Y2xObGJHVmpkR2x2YmtsdVptOXliV0YwYVc5dUxtWnZZM1Z6WldSRmJHVnRPMXh1SUNCMllYSWdjSEpwYjNKVFpXeGxZM1JwYjI1U1lXNW5aU0E5SUhCeWFXOXlVMlZzWldOMGFXOXVTVzVtYjNKdFlYUnBiMjR1YzJWc1pXTjBhVzl1VW1GdVoyVTdYRzVjYmlBZ2FXWWdLR04xY2tadlkzVnpaV1JGYkdWdElDRTlQU0J3Y21sdmNrWnZZM1Z6WldSRmJHVnRJQ1ltSUdselNXNUViMk4xYldWdWRDaHdjbWx2Y2tadlkzVnpaV1JGYkdWdEtTa2dlMXh1SUNBZ0lHbG1JQ2h3Y21sdmNsTmxiR1ZqZEdsdmJsSmhibWRsSUNFOVBTQnVkV3hzSUNZbUlHaGhjMU5sYkdWamRHbHZia05oY0dGaWFXeHBkR2xsY3lod2NtbHZja1p2WTNWelpXUkZiR1Z0S1NrZ2UxeHVJQ0FnSUNBZ2MyVjBVMlZzWldOMGFXOXVLSEJ5YVc5eVJtOWpkWE5sWkVWc1pXMHNJSEJ5YVc5eVUyVnNaV04wYVc5dVVtRnVaMlVwTzF4dUlDQWdJSDBnTHk4Z1JtOWpkWE5wYm1jZ1lTQnViMlJsSUdOaGJpQmphR0Z1WjJVZ2RHaGxJSE5qY205c2JDQndiM05wZEdsdmJpd2dkMmhwWTJnZ2FYTWdkVzVrWlhOcGNtRmliR1ZjYmx4dVhHNGdJQ0FnZG1GeUlHRnVZMlZ6ZEc5eWN5QTlJRnRkTzF4dUlDQWdJSFpoY2lCaGJtTmxjM1J2Y2lBOUlIQnlhVzl5Um05amRYTmxaRVZzWlcwN1hHNWNiaUFnSUNCM2FHbHNaU0FvWVc1alpYTjBiM0lnUFNCaGJtTmxjM1J2Y2k1d1lYSmxiblJPYjJSbEtTQjdYRzRnSUNBZ0lDQnBaaUFvWVc1alpYTjBiM0l1Ym05a1pWUjVjR1VnUFQwOUlFVk1SVTFGVGxSZlRrOUVSU2tnZTF4dUlDQWdJQ0FnSUNCaGJtTmxjM1J2Y25NdWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUNBZ1pXeGxiV1Z1ZERvZ1lXNWpaWE4wYjNJc1hHNGdJQ0FnSUNBZ0lDQWdiR1ZtZERvZ1lXNWpaWE4wYjNJdWMyTnliMnhzVEdWbWRDeGNiaUFnSUNBZ0lDQWdJQ0IwYjNBNklHRnVZMlZ6ZEc5eUxuTmpjbTlzYkZSdmNGeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSEJ5YVc5eVJtOWpkWE5sWkVWc1pXMHVabTlqZFhNZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUhCeWFXOXlSbTlqZFhObFpFVnNaVzB1Wm05amRYTW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z1WTJWemRHOXljeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2x1Wm04Z1BTQmhibU5sYzNSdmNuTmJhVjA3WEc0Z0lDQWdJQ0JwYm1adkxtVnNaVzFsYm5RdWMyTnliMnhzVEdWbWRDQTlJR2x1Wm04dWJHVm1kRHRjYmlBZ0lDQWdJR2x1Wm04dVpXeGxiV1Z1ZEM1elkzSnZiR3hVYjNBZ1BTQnBibVp2TG5SdmNEdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpOHFLbHh1SUNvZ1FHZGxkRk5sYkdWamRHbHZiam9nUjJWMGN5QjBhR1VnYzJWc1pXTjBhVzl1SUdKdmRXNWtjeUJ2WmlCaElHWnZZM1Z6WldRZ2RHVjRkR0Z5WldFc0lHbHVjSFYwSUc5eVhHNGdLaUJqYjI1MFpXNTBSV1JwZEdGaWJHVWdibTlrWlM1Y2JpQXFJQzFBYVc1d2RYUTZJRXh2YjJzZ2RYQWdjMlZzWldOMGFXOXVJR0p2ZFc1a2N5QnZaaUIwYUdseklHbHVjSFYwWEc0Z0tpQXRRSEpsZEhWeWJpQjdjM1JoY25RNklITmxiR1ZqZEdsdmJsTjBZWEowTENCbGJtUTZJSE5sYkdWamRHbHZia1Z1WkgxY2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCblpYUlRaV3hsWTNScGIyNG9hVzV3ZFhRcElIdGNiaUFnZG1GeUlITmxiR1ZqZEdsdmJqdGNibHh1SUNCcFppQW9KM05sYkdWamRHbHZibE4wWVhKMEp5QnBiaUJwYm5CMWRDa2dlMXh1SUNBZ0lDOHZJRTF2WkdWeWJpQmljbTkzYzJWeUlIZHBkR2dnYVc1d2RYUWdiM0lnZEdWNGRHRnlaV0V1WEc0Z0lDQWdjMlZzWldOMGFXOXVJRDBnZTF4dUlDQWdJQ0FnYzNSaGNuUTZJR2x1Y0hWMExuTmxiR1ZqZEdsdmJsTjBZWEowTEZ4dUlDQWdJQ0FnWlc1a09pQnBibkIxZEM1elpXeGxZM1JwYjI1RmJtUmNiaUFnSUNCOU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRU52Ym5SbGJuUWdaV1JwZEdGaWJHVWdiM0lnYjJ4a0lFbEZJSFJsZUhSaGNtVmhMbHh1SUNBZ0lITmxiR1ZqZEdsdmJpQTlJR2RsZEU5bVpuTmxkSE1vYVc1d2RYUXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSE5sYkdWamRHbHZiaUI4ZkNCN1hHNGdJQ0FnYzNSaGNuUTZJREFzWEc0Z0lDQWdaVzVrT2lBd1hHNGdJSDA3WEc1OVhHNHZLaXBjYmlBcUlFQnpaWFJUWld4bFkzUnBiMjQ2SUZObGRITWdkR2hsSUhObGJHVmpkR2x2YmlCaWIzVnVaSE1nYjJZZ1lTQjBaWGgwWVhKbFlTQnZjaUJwYm5CMWRDQmhibVFnWm05amRYTmxjMXh1SUNvZ2RHaGxJR2x1Y0hWMExseHVJQ29nTFVCcGJuQjFkQ0FnSUNBZ1UyVjBJSE5sYkdWamRHbHZiaUJpYjNWdVpITWdiMllnZEdocGN5QnBibkIxZENCdmNpQjBaWGgwWVhKbFlWeHVJQ29nTFVCdlptWnpaWFJ6SUNBZ1QySnFaV04wSUc5bUlITmhiV1VnWm05eWJTQjBhR0YwSUdseklISmxkSFZ5Ym1Wa0lHWnliMjBnWjJWMEtseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlITmxkRk5sYkdWamRHbHZiaWhwYm5CMWRDd2diMlptYzJWMGN5a2dlMXh1SUNCMllYSWdjM1JoY25RZ1BTQnZabVp6WlhSekxuTjBZWEowTEZ4dUlDQWdJQ0FnWlc1a0lEMGdiMlptYzJWMGN5NWxibVE3WEc1Y2JpQWdhV1lnS0dWdVpDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWlc1a0lEMGdjM1JoY25RN1hHNGdJSDFjYmx4dUlDQnBaaUFvSjNObGJHVmpkR2x2YmxOMFlYSjBKeUJwYmlCcGJuQjFkQ2tnZTF4dUlDQWdJR2x1Y0hWMExuTmxiR1ZqZEdsdmJsTjBZWEowSUQwZ2MzUmhjblE3WEc0Z0lDQWdhVzV3ZFhRdWMyVnNaV04wYVc5dVJXNWtJRDBnVFdGMGFDNXRhVzRvWlc1a0xDQnBibkIxZEM1MllXeDFaUzVzWlc1bmRHZ3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSE5sZEU5bVpuTmxkSE1vYVc1d2RYUXNJRzltWm5ObGRITXBPMXh1SUNCOVhHNTlYRzVjYm5aaGNpQjJZV3hwWkdGMFpVUlBUVTVsYzNScGJtY2dQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNibHh1ZG1GeUlIVndaR0YwWldSQmJtTmxjM1J2Y2tsdVptOGdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNibHh1ZTF4dUlDQXZMeUJVYUdseklIWmhiR2xrWVhScGIyNGdZMjlrWlNCM1lYTWdkM0pwZEhSbGJpQmlZWE5sWkNCdmJpQjBhR1VnU0ZSTlREVWdjR0Z5YzJsdVp5QnpjR1ZqT2x4dUlDQXZMeUJvZEhSd2N6b3ZMMmgwYld3dWMzQmxZeTUzYUdGMGQyY3ViM0puTDIxMWJIUnBjR0ZuWlM5emVXNTBZWGd1YUhSdGJDTm9ZWE10WVc0dFpXeGxiV1Z1ZEMxcGJpMXpZMjl3WlZ4dUlDQXZMMXh1SUNBdkx5Qk9iM1JsT2lCMGFHbHpJR1J2WlhNZ2JtOTBJR05oZEdOb0lHRnNiQ0JwYm5aaGJHbGtJRzVsYzNScGJtY3NJRzV2Y2lCa2IyVnpJR2wwSUhSeWVTQjBieUFvWVhNZ2FYUW5jMXh1SUNBdkx5QnViM1FnWTJ4bFlYSWdkMmhoZENCd2NtRmpkR2xqWVd3Z1ltVnVaV1pwZENCa2IybHVaeUJ6YnlCd2NtOTJhV1JsY3lrN0lHbHVjM1JsWVdRc0lIZGxJSGRoY200Z2IyNXNlVnh1SUNBdkx5Qm1iM0lnWTJGelpYTWdkMmhsY21VZ2RHaGxJSEJoY25ObGNpQjNhV3hzSUdkcGRtVWdZU0J3WVhKelpTQjBjbVZsSUdScFptWmxjbWx1WnlCbWNtOXRJSGRvWVhRZ1VtVmhZM1JjYmlBZ0x5OGdhVzUwWlc1a1pXUXVJRVp2Y2lCbGVHRnRjR3hsTENBOFlqNDhaR2wyUGp3dlpHbDJQand2WWo0Z2FYTWdhVzUyWVd4cFpDQmlkWFFnZDJVZ1pHOXVKM1FnZDJGeWJseHVJQ0F2THlCaVpXTmhkWE5sSUdsMElITjBhV3hzSUhCaGNuTmxjeUJqYjNKeVpXTjBiSGs3SUhkbElHUnZJSGRoY200Z1ptOXlJRzkwYUdWeUlHTmhjMlZ6SUd4cGEyVWdibVZ6ZEdWa1hHNGdJQzh2SUR4d1BpQjBZV2R6SUhkb1pYSmxJSFJvWlNCaVpXZHBibTVwYm1jZ2IyWWdkR2hsSUhObFkyOXVaQ0JsYkdWdFpXNTBJR2x0Y0d4cFkybDBiSGtnWTJ4dmMyVnpJSFJvWlZ4dUlDQXZMeUJtYVhKemRDd2dZMkYxYzJsdVp5QmhJR052Ym1aMWMybHVaeUJ0WlhOekxseHVJQ0F2THlCb2RIUndjem92TDJoMGJXd3VjM0JsWXk1M2FHRjBkMmN1YjNKbkwyMTFiSFJwY0dGblpTOXplVzUwWVhndWFIUnRiQ056Y0dWamFXRnNYRzRnSUhaaGNpQnpjR1ZqYVdGc1ZHRm5jeUE5SUZzbllXUmtjbVZ6Y3ljc0lDZGhjSEJzWlhRbkxDQW5ZWEpsWVNjc0lDZGhjblJwWTJ4bEp5d2dKMkZ6YVdSbEp5d2dKMkpoYzJVbkxDQW5ZbUZ6WldadmJuUW5MQ0FuWW1kemIzVnVaQ2NzSUNkaWJHOWphM0YxYjNSbEp5d2dKMkp2WkhrbkxDQW5ZbkluTENBblluVjBkRzl1Snl3Z0oyTmhjSFJwYjI0bkxDQW5ZMlZ1ZEdWeUp5d2dKMk52YkNjc0lDZGpiMnhuY205MWNDY3NJQ2RrWkNjc0lDZGtaWFJoYVd4ekp5d2dKMlJwY2ljc0lDZGthWFluTENBblpHd25MQ0FuWkhRbkxDQW5aVzFpWldRbkxDQW5abWxsYkdSelpYUW5MQ0FuWm1sblkyRndkR2x2Ymljc0lDZG1hV2QxY21VbkxDQW5abTl2ZEdWeUp5d2dKMlp2Y20wbkxDQW5abkpoYldVbkxDQW5abkpoYldWelpYUW5MQ0FuYURFbkxDQW5hREluTENBbmFETW5MQ0FuYURRbkxDQW5hRFVuTENBbmFEWW5MQ0FuYUdWaFpDY3NJQ2RvWldGa1pYSW5MQ0FuYUdkeWIzVndKeXdnSjJoeUp5d2dKMmgwYld3bkxDQW5hV1p5WVcxbEp5d2dKMmx0Wnljc0lDZHBibkIxZENjc0lDZHBjMmx1WkdWNEp5d2dKMnhwSnl3Z0oyeHBibXNuTENBbmJHbHpkR2x1Wnljc0lDZHRZV2x1Snl3Z0oyMWhjbkYxWldVbkxDQW5iV1Z1ZFNjc0lDZHRaVzUxYVhSbGJTY3NJQ2R0WlhSaEp5d2dKMjVoZGljc0lDZHViMlZ0WW1Wa0p5d2dKMjV2Wm5KaGJXVnpKeXdnSjI1dmMyTnlhWEIwSnl3Z0oyOWlhbVZqZENjc0lDZHZiQ2NzSUNkd0p5d2dKM0JoY21GdEp5d2dKM0JzWVdsdWRHVjRkQ2NzSUNkd2NtVW5MQ0FuYzJOeWFYQjBKeXdnSjNObFkzUnBiMjRuTENBbmMyVnNaV04wSnl3Z0ozTnZkWEpqWlNjc0lDZHpkSGxzWlNjc0lDZHpkVzF0WVhKNUp5d2dKM1JoWW14bEp5d2dKM1JpYjJSNUp5d2dKM1JrSnl3Z0ozUmxiWEJzWVhSbEp5d2dKM1JsZUhSaGNtVmhKeXdnSjNSbWIyOTBKeXdnSjNSb0p5d2dKM1JvWldGa0p5d2dKM1JwZEd4bEp5d2dKM1J5Snl3Z0ozUnlZV05ySnl3Z0ozVnNKeXdnSjNkaWNpY3NJQ2Q0YlhBblhUc2dMeThnYUhSMGNITTZMeTlvZEcxc0xuTndaV011ZDJoaGRIZG5MbTl5Wnk5dGRXeDBhWEJoWjJVdmMzbHVkR0Y0TG1oMGJXd2phR0Z6TFdGdUxXVnNaVzFsYm5RdGFXNHRjMk52Y0dWY2JseHVJQ0IyWVhJZ2FXNVRZMjl3WlZSaFozTWdQU0JiSjJGd2NHeGxkQ2NzSUNkallYQjBhVzl1Snl3Z0oyaDBiV3duTENBbmRHRmliR1VuTENBbmRHUW5MQ0FuZEdnbkxDQW5iV0Z5Y1hWbFpTY3NJQ2R2WW1wbFkzUW5MQ0FuZEdWdGNHeGhkR1VuTENBdkx5Qm9kSFJ3Y3pvdkwyaDBiV3d1YzNCbFl5NTNhR0YwZDJjdWIzSm5MMjExYkhScGNHRm5aUzl6ZVc1MFlYZ3VhSFJ0YkNOb2RHMXNMV2x1ZEdWbmNtRjBhVzl1TFhCdmFXNTBYRzRnSUM4dklGUlBSRTg2SUVScGMzUnBibWQxYVhOb0lHSjVJRzVoYldWemNHRmpaU0JvWlhKbElDMHRJR1p2Y2lBOGRHbDBiR1UrTENCcGJtTnNkV1JwYm1jZ2FYUWdhR1Z5WlZ4dUlDQXZMeUJsY25KeklHOXVJSFJvWlNCemFXUmxJRzltSUdabGQyVnlJSGRoY201cGJtZHpYRzRnSUNkbWIzSmxhV2R1VDJKcVpXTjBKeXdnSjJSbGMyTW5MQ0FuZEdsMGJHVW5YVHNnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqYUdGekxXRnVMV1ZzWlcxbGJuUXRhVzR0WW5WMGRHOXVMWE5qYjNCbFhHNWNiaUFnZG1GeUlHSjFkSFJ2YmxOamIzQmxWR0ZuY3lBOUlHbHVVMk52Y0dWVVlXZHpMbU52Ym1OaGRDaGJKMkoxZEhSdmJpZGRLVHNnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqWjJWdVpYSmhkR1V0YVcxd2JHbGxaQzFsYm1RdGRHRm5jMXh1WEc0Z0lIWmhjaUJwYlhCc2FXVmtSVzVrVkdGbmN5QTlJRnNuWkdRbkxDQW5aSFFuTENBbmJHa25MQ0FuYjNCMGFXOXVKeXdnSjI5d2RHZHliM1Z3Snl3Z0ozQW5MQ0FuY25BbkxDQW5jblFuWFR0Y2JpQWdkbUZ5SUdWdGNIUjVRVzVqWlhOMGIzSkpibVp2SUQwZ2UxeHVJQ0FnSUdOMWNuSmxiblE2SUc1MWJHd3NYRzRnSUNBZ1ptOXliVlJoWnpvZ2JuVnNiQ3hjYmlBZ0lDQmhWR0ZuU1c1VFkyOXdaVG9nYm5Wc2JDeGNiaUFnSUNCaWRYUjBiMjVVWVdkSmJsTmpiM0JsT2lCdWRXeHNMRnh1SUNBZ0lHNXZZbkpVWVdkSmJsTmpiM0JsT2lCdWRXeHNMRnh1SUNBZ0lIQlVZV2RKYmtKMWRIUnZibE5qYjNCbE9pQnVkV3hzTEZ4dUlDQWdJR3hwYzNSSmRHVnRWR0ZuUVhWMGIyTnNiM05wYm1jNklHNTFiR3dzWEc0Z0lDQWdaR3hKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWM2SUc1MWJHeGNiaUFnZlR0Y2JseHVJQ0IxY0dSaGRHVmtRVzVqWlhOMGIzSkpibVp2SUQwZ1puVnVZM1JwYjI0Z0tHOXNaRWx1Wm04c0lIUmhaeWtnZTF4dUlDQWdJSFpoY2lCaGJtTmxjM1J2Y2tsdVptOGdQU0JmWVhOemFXZHVLSHQ5TENCdmJHUkpibVp2SUh4OElHVnRjSFI1UVc1alpYTjBiM0pKYm1adktUdGNibHh1SUNBZ0lIWmhjaUJwYm1adklEMGdlMXh1SUNBZ0lDQWdkR0ZuT2lCMFlXZGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLR2x1VTJOdmNHVlVZV2R6TG1sdVpHVjRUMllvZEdGbktTQWhQVDBnTFRFcElIdGNiaUFnSUNBZ0lHRnVZMlZ6ZEc5eVNXNW1ieTVoVkdGblNXNVRZMjl3WlNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JoYm1ObGMzUnZja2x1Wm04dVluVjBkRzl1VkdGblNXNVRZMjl3WlNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JoYm1ObGMzUnZja2x1Wm04dWJtOWljbFJoWjBsdVUyTnZjR1VnUFNCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpZFhSMGIyNVRZMjl3WlZSaFozTXVhVzVrWlhoUFppaDBZV2NwSUNFOVBTQXRNU2tnZTF4dUlDQWdJQ0FnWVc1alpYTjBiM0pKYm1adkxuQlVZV2RKYmtKMWRIUnZibE5qYjNCbElEMGdiblZzYkR0Y2JpQWdJQ0I5SUM4dklGTmxaU0J5ZFd4bGN5Qm1iM0lnSjJ4cEp5d2dKMlJrSnl3Z0oyUjBKeUJ6ZEdGeWRDQjBZV2R6SUdsdVhHNGdJQ0FnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqY0dGeWMybHVaeTF0WVdsdUxXbHVZbTlrZVZ4dVhHNWNiaUFnSUNCcFppQW9jM0JsWTJsaGJGUmhaM011YVc1a1pYaFBaaWgwWVdjcElDRTlQU0F0TVNBbUppQjBZV2NnSVQwOUlDZGhaR1J5WlhOekp5QW1KaUIwWVdjZ0lUMDlJQ2RrYVhZbklDWW1JSFJoWnlBaFBUMGdKM0FuS1NCN1hHNGdJQ0FnSUNCaGJtTmxjM1J2Y2tsdVptOHViR2x6ZEVsMFpXMVVZV2RCZFhSdlkyeHZjMmx1WnlBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JoYm1ObGMzUnZja2x1Wm04dVpHeEpkR1Z0VkdGblFYVjBiMk5zYjNOcGJtY2dQU0J1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdGdVkyVnpkRzl5U1c1bWJ5NWpkWEp5Wlc1MElEMGdhVzVtYnp0Y2JseHVJQ0FnSUdsbUlDaDBZV2NnUFQwOUlDZG1iM0p0SnlrZ2UxeHVJQ0FnSUNBZ1lXNWpaWE4wYjNKSmJtWnZMbVp2Y20xVVlXY2dQU0JwYm1adk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBZV2NnUFQwOUlDZGhKeWtnZTF4dUlDQWdJQ0FnWVc1alpYTjBiM0pKYm1adkxtRlVZV2RKYmxOamIzQmxJRDBnYVc1bWJ6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR0ZuSUQwOVBTQW5ZblYwZEc5dUp5a2dlMXh1SUNBZ0lDQWdZVzVqWlhOMGIzSkpibVp2TG1KMWRIUnZibFJoWjBsdVUyTnZjR1VnUFNCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJQ2R1YjJKeUp5a2dlMXh1SUNBZ0lDQWdZVzVqWlhOMGIzSkpibVp2TG01dlluSlVZV2RKYmxOamIzQmxJRDBnYVc1bWJ6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR0ZuSUQwOVBTQW5jQ2NwSUh0Y2JpQWdJQ0FnSUdGdVkyVnpkRzl5U1c1bWJ5NXdWR0ZuU1c1Q2RYUjBiMjVUWTI5d1pTQTlJR2x1Wm04N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUmhaeUE5UFQwZ0oyeHBKeWtnZTF4dUlDQWdJQ0FnWVc1alpYTjBiM0pKYm1adkxteHBjM1JKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWNnUFNCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJQ2RrWkNjZ2ZId2dkR0ZuSUQwOVBTQW5aSFFuS1NCN1hHNGdJQ0FnSUNCaGJtTmxjM1J2Y2tsdVptOHVaR3hKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWNnUFNCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCaGJtTmxjM1J2Y2tsdVptODdYRzRnSUgwN1hHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSGRvWlhSb1pYSmNiaUFnSUNvdlhHNWNibHh1SUNCMllYSWdhWE5VWVdkV1lXeHBaRmRwZEdoUVlYSmxiblFnUFNCbWRXNWpkR2x2YmlBb2RHRm5MQ0J3WVhKbGJuUlVZV2NwSUh0Y2JpQWdJQ0F2THlCR2FYSnpkQ3dnYkdWMEozTWdZMmhsWTJzZ2FXWWdkMlVuY21VZ2FXNGdZVzRnZFc1MWMzVmhiQ0J3WVhKemFXNW5JRzF2WkdVdUxpNWNiaUFnSUNCemQybDBZMmdnS0hCaGNtVnVkRlJoWnlrZ2UxeHVJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OW9kRzFzTG5Od1pXTXVkMmhoZEhkbkxtOXlaeTl0ZFd4MGFYQmhaMlV2YzNsdWRHRjRMbWgwYld3amNHRnljMmx1WnkxdFlXbHVMV2x1YzJWc1pXTjBYRzRnSUNBZ0lDQmpZWE5sSUNkelpXeGxZM1FuT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbklEMDlQU0FuYjNCMGFXOXVKeUI4ZkNCMFlXY2dQVDA5SUNkdmNIUm5jbTkxY0NjZ2ZId2dkR0ZuSUQwOVBTQW5JM1JsZUhRbk8xeHVYRzRnSUNBZ0lDQmpZWE5sSUNkdmNIUm5jbTkxY0NjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlXY2dQVDA5SUNkdmNIUnBiMjRuSUh4OElIUmhaeUE5UFQwZ0p5TjBaWGgwSnp0Y2JpQWdJQ0FnSUM4dklGTjBjbWxqZEd4NUlITndaV0ZyYVc1bkxDQnpaV1ZwYm1jZ1lXNGdQRzl3ZEdsdmJqNGdaRzlsYzI0bmRDQnRaV0Z1SUhkbEozSmxJR2x1SUdFZ1BITmxiR1ZqZEQ1Y2JpQWdJQ0FnSUM4dklHSjFkRnh1WEc0Z0lDQWdJQ0JqWVhObElDZHZjSFJwYjI0bk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5JRDA5UFNBbkkzUmxlSFFuTzF4dUlDQWdJQ0FnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqY0dGeWMybHVaeTF0WVdsdUxXbHVkR1JjYmlBZ0lDQWdJQzh2SUdoMGRIQnpPaTh2YUhSdGJDNXpjR1ZqTG5kb1lYUjNaeTV2Y21jdmJYVnNkR2x3WVdkbEwzTjViblJoZUM1b2RHMXNJM0JoY25OcGJtY3RiV0ZwYmkxcGJtTmhjSFJwYjI1Y2JpQWdJQ0FnSUM4dklFNXZJSE53WldOcFlXd2dZbVZvWVhacGIzSWdjMmx1WTJVZ2RHaGxjMlVnY25Wc1pYTWdabUZzYkNCaVlXTnJJSFJ2SUZ3aWFXNGdZbTlrZVZ3aUlHMXZaR1VnWm05eVhHNGdJQ0FnSUNBdkx5QmhiR3dnWlhoalpYQjBJSE53WldOcFlXd2dkR0ZpYkdVZ2JtOWtaWE1nZDJocFkyZ2dZMkYxYzJVZ1ltRmtJSEJoY25OcGJtY2dZbVZvWVhacGIzSWdZVzU1ZDJGNUxseHVJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OW9kRzFzTG5Od1pXTXVkMmhoZEhkbkxtOXlaeTl0ZFd4MGFYQmhaMlV2YzNsdWRHRjRMbWgwYld3amNHRnljMmx1WnkxdFlXbHVMV2x1ZEhKY2JseHVJQ0FnSUNBZ1kyRnpaU0FuZEhJbk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5JRDA5UFNBbmRHZ25JSHg4SUhSaFp5QTlQVDBnSjNSa0p5QjhmQ0IwWVdjZ1BUMDlJQ2R6ZEhsc1pTY2dmSHdnZEdGbklEMDlQU0FuYzJOeWFYQjBKeUI4ZkNCMFlXY2dQVDA5SUNkMFpXMXdiR0YwWlNjN1hHNGdJQ0FnSUNBdkx5Qm9kSFJ3Y3pvdkwyaDBiV3d1YzNCbFl5NTNhR0YwZDJjdWIzSm5MMjExYkhScGNHRm5aUzl6ZVc1MFlYZ3VhSFJ0YkNOd1lYSnphVzVuTFcxaGFXNHRhVzUwWW05a2VWeHVYRzRnSUNBZ0lDQmpZWE5sSUNkMFltOWtlU2M2WEc0Z0lDQWdJQ0JqWVhObElDZDBhR1ZoWkNjNlhHNGdJQ0FnSUNCallYTmxJQ2QwWm05dmRDYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2NnUFQwOUlDZDBjaWNnZkh3Z2RHRm5JRDA5UFNBbmMzUjViR1VuSUh4OElIUmhaeUE5UFQwZ0ozTmpjbWx3ZENjZ2ZId2dkR0ZuSUQwOVBTQW5kR1Z0Y0d4aGRHVW5PMXh1SUNBZ0lDQWdMeThnYUhSMGNITTZMeTlvZEcxc0xuTndaV011ZDJoaGRIZG5MbTl5Wnk5dGRXeDBhWEJoWjJVdmMzbHVkR0Y0TG1oMGJXd2pjR0Z5YzJsdVp5MXRZV2x1TFdsdVkyOXNaM0p2ZFhCY2JseHVJQ0FnSUNBZ1kyRnpaU0FuWTI5c1ozSnZkWEFuT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbklEMDlQU0FuWTI5c0p5QjhmQ0IwWVdjZ1BUMDlJQ2QwWlcxd2JHRjBaU2M3WEc0Z0lDQWdJQ0F2THlCb2RIUndjem92TDJoMGJXd3VjM0JsWXk1M2FHRjBkMmN1YjNKbkwyMTFiSFJwY0dGblpTOXplVzUwWVhndWFIUnRiQ053WVhKemFXNW5MVzFoYVc0dGFXNTBZV0pzWlZ4dVhHNGdJQ0FnSUNCallYTmxJQ2QwWVdKc1pTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2NnUFQwOUlDZGpZWEIwYVc5dUp5QjhmQ0IwWVdjZ1BUMDlJQ2RqYjJ4bmNtOTFjQ2NnZkh3Z2RHRm5JRDA5UFNBbmRHSnZaSGtuSUh4OElIUmhaeUE5UFQwZ0ozUm1iMjkwSnlCOGZDQjBZV2NnUFQwOUlDZDBhR1ZoWkNjZ2ZId2dkR0ZuSUQwOVBTQW5jM1I1YkdVbklIeDhJSFJoWnlBOVBUMGdKM05qY21sd2RDY2dmSHdnZEdGbklEMDlQU0FuZEdWdGNHeGhkR1VuTzF4dUlDQWdJQ0FnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqY0dGeWMybHVaeTF0WVdsdUxXbHVhR1ZoWkZ4dVhHNGdJQ0FnSUNCallYTmxJQ2RvWldGa0p6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUmhaeUE5UFQwZ0oySmhjMlVuSUh4OElIUmhaeUE5UFQwZ0oySmhjMlZtYjI1MEp5QjhmQ0IwWVdjZ1BUMDlJQ2RpWjNOdmRXNWtKeUI4ZkNCMFlXY2dQVDA5SUNkc2FXNXJKeUI4ZkNCMFlXY2dQVDA5SUNkdFpYUmhKeUI4ZkNCMFlXY2dQVDA5SUNkMGFYUnNaU2NnZkh3Z2RHRm5JRDA5UFNBbmJtOXpZM0pwY0hRbklIeDhJSFJoWnlBOVBUMGdKMjV2Wm5KaGJXVnpKeUI4ZkNCMFlXY2dQVDA5SUNkemRIbHNaU2NnZkh3Z2RHRm5JRDA5UFNBbmMyTnlhWEIwSnlCOGZDQjBZV2NnUFQwOUlDZDBaVzF3YkdGMFpTYzdYRzRnSUNBZ0lDQXZMeUJvZEhSd2N6b3ZMMmgwYld3dWMzQmxZeTUzYUdGMGQyY3ViM0puTDIxMWJIUnBjR0ZuWlM5elpXMWhiblJwWTNNdWFIUnRiQ04wYUdVdGFIUnRiQzFsYkdWdFpXNTBYRzVjYmlBZ0lDQWdJR05oYzJVZ0oyaDBiV3duT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbklEMDlQU0FuYUdWaFpDY2dmSHdnZEdGbklEMDlQU0FuWW05a2VTY2dmSHdnZEdGbklEMDlQU0FuWm5KaGJXVnpaWFFuTzF4dVhHNGdJQ0FnSUNCallYTmxJQ2RtY21GdFpYTmxkQ2M2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwWVdjZ1BUMDlJQ2RtY21GdFpTYzdYRzVjYmlBZ0lDQWdJR05oYzJVZ0p5TmtiMk4xYldWdWRDYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2NnUFQwOUlDZG9kRzFzSnp0Y2JpQWdJQ0I5SUM4dklGQnliMkpoWW14NUlHbHVJSFJvWlNCY0ltbHVJR0p2WkhsY0lpQndZWEp6YVc1bklHMXZaR1VzSUhOdklIZGxJRzkxZEd4aGR5QnZibXg1SUhSaFp5QmpiMjFpYjNOY2JpQWdJQ0F2THlCM2FHVnlaU0IwYUdVZ2NHRnljMmx1WnlCeWRXeGxjeUJqWVhWelpTQnBiWEJzYVdOcGRDQnZjR1Z1Y3lCdmNpQmpiRzl6WlhNZ2RHOGdZbVVnWVdSa1pXUXVYRzRnSUNBZ0x5OGdhSFIwY0hNNkx5OW9kRzFzTG5Od1pXTXVkMmhoZEhkbkxtOXlaeTl0ZFd4MGFYQmhaMlV2YzNsdWRHRjRMbWgwYld3amNHRnljMmx1WnkxdFlXbHVMV2x1WW05a2VWeHVYRzVjYmlBZ0lDQnpkMmwwWTJnZ0tIUmhaeWtnZTF4dUlDQWdJQ0FnWTJGelpTQW5hREVuT2x4dUlDQWdJQ0FnWTJGelpTQW5hREluT2x4dUlDQWdJQ0FnWTJGelpTQW5hRE1uT2x4dUlDQWdJQ0FnWTJGelpTQW5hRFFuT2x4dUlDQWdJQ0FnWTJGelpTQW5hRFVuT2x4dUlDQWdJQ0FnWTJGelpTQW5hRFluT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0dGeVpXNTBWR0ZuSUNFOVBTQW5hREVuSUNZbUlIQmhjbVZ1ZEZSaFp5QWhQVDBnSjJneUp5QW1KaUJ3WVhKbGJuUlVZV2NnSVQwOUlDZG9NeWNnSmlZZ2NHRnlaVzUwVkdGbklDRTlQU0FuYURRbklDWW1JSEJoY21WdWRGUmhaeUFoUFQwZ0oyZzFKeUFtSmlCd1lYSmxiblJVWVdjZ0lUMDlJQ2RvTmljN1hHNWNiaUFnSUNBZ0lHTmhjMlVnSjNKd0p6cGNiaUFnSUNBZ0lHTmhjMlVnSjNKMEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbHRjR3hwWldSRmJtUlVZV2R6TG1sdVpHVjRUMllvY0dGeVpXNTBWR0ZuS1NBOVBUMGdMVEU3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMkp2Wkhrbk9seHVJQ0FnSUNBZ1kyRnpaU0FuWTJGd2RHbHZiaWM2WEc0Z0lDQWdJQ0JqWVhObElDZGpiMnduT2x4dUlDQWdJQ0FnWTJGelpTQW5ZMjlzWjNKdmRYQW5PbHh1SUNBZ0lDQWdZMkZ6WlNBblpuSmhiV1Z6WlhRbk9seHVJQ0FnSUNBZ1kyRnpaU0FuWm5KaGJXVW5PbHh1SUNBZ0lDQWdZMkZ6WlNBbmFHVmhaQ2M2WEc0Z0lDQWdJQ0JqWVhObElDZG9kRzFzSnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1JpYjJSNUp6cGNiaUFnSUNBZ0lHTmhjMlVnSjNSa0p6cGNiaUFnSUNBZ0lHTmhjMlVnSjNSbWIyOTBKenBjYmlBZ0lDQWdJR05oYzJVZ0ozUm9KenBjYmlBZ0lDQWdJR05oYzJVZ0ozUm9aV0ZrSnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1J5SnpwY2JpQWdJQ0FnSUNBZ0x5OGdWR2hsYzJVZ2RHRm5jeUJoY21VZ2IyNXNlU0IyWVd4cFpDQjNhWFJvSUdFZ1ptVjNJSEJoY21WdWRITWdkR2hoZENCb1lYWmxJSE53WldOcFlXd2dZMmhwYkdSY2JpQWdJQ0FnSUNBZ0x5OGdjR0Z5YzJsdVp5QnlkV3hsY3lBdExTQnBaaUIzWlNkeVpTQmtiM2R1SUdobGNtVXNJSFJvWlc0Z2JtOXVaU0J2WmlCMGFHOXpaU0J0WVhSamFHVmtJR0Z1WkZ4dUlDQWdJQ0FnSUNBdkx5QnpieUIzWlNCaGJHeHZkeUJwZENCdmJteDVJR2xtSUhkbElHUnZiaWQwSUd0dWIzY2dkMmhoZENCMGFHVWdjR0Z5Wlc1MElHbHpMQ0JoY3lCaGJHd2diM1JvWlhKY2JpQWdJQ0FnSUNBZ0x5OGdZMkZ6WlhNZ1lYSmxJR2x1ZG1Gc2FXUXVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQndZWEpsYm5SVVlXY2dQVDBnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlR0Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdkMmhsZEdobGNseHVJQ0FnS2k5Y2JseHVYRzRnSUhaaGNpQm1hVzVrU1c1MllXeHBaRUZ1WTJWemRHOXlSbTl5VkdGbklEMGdablZ1WTNScGIyNGdLSFJoWnl3Z1lXNWpaWE4wYjNKSmJtWnZLU0I3WEc0Z0lDQWdjM2RwZEdOb0lDaDBZV2NwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdKMkZrWkhKbGMzTW5PbHh1SUNBZ0lDQWdZMkZ6WlNBbllYSjBhV05zWlNjNlhHNGdJQ0FnSUNCallYTmxJQ2RoYzJsa1pTYzZYRzRnSUNBZ0lDQmpZWE5sSUNkaWJHOWphM0YxYjNSbEp6cGNiaUFnSUNBZ0lHTmhjMlVnSjJObGJuUmxjaWM2WEc0Z0lDQWdJQ0JqWVhObElDZGtaWFJoYVd4ekp6cGNiaUFnSUNBZ0lHTmhjMlVnSjJScFlXeHZaeWM2WEc0Z0lDQWdJQ0JqWVhObElDZGthWEluT2x4dUlDQWdJQ0FnWTJGelpTQW5aR2wySnpwY2JpQWdJQ0FnSUdOaGMyVWdKMlJzSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMlpwWld4a2MyVjBKenBjYmlBZ0lDQWdJR05oYzJVZ0oyWnBaMk5oY0hScGIyNG5PbHh1SUNBZ0lDQWdZMkZ6WlNBblptbG5kWEpsSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMlp2YjNSbGNpYzZYRzRnSUNBZ0lDQmpZWE5sSUNkb1pXRmtaWEluT2x4dUlDQWdJQ0FnWTJGelpTQW5hR2R5YjNWd0p6cGNiaUFnSUNBZ0lHTmhjMlVnSjIxaGFXNG5PbHh1SUNBZ0lDQWdZMkZ6WlNBbmJXVnVkU2M2WEc0Z0lDQWdJQ0JqWVhObElDZHVZWFluT2x4dUlDQWdJQ0FnWTJGelpTQW5iMnduT2x4dUlDQWdJQ0FnWTJGelpTQW5jQ2M2WEc0Z0lDQWdJQ0JqWVhObElDZHpaV04wYVc5dUp6cGNiaUFnSUNBZ0lHTmhjMlVnSjNOMWJXMWhjbmtuT2x4dUlDQWdJQ0FnWTJGelpTQW5kV3duT2x4dUlDQWdJQ0FnWTJGelpTQW5jSEpsSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMnhwYzNScGJtY25PbHh1SUNBZ0lDQWdZMkZ6WlNBbmRHRmliR1VuT2x4dUlDQWdJQ0FnWTJGelpTQW5hSEluT2x4dUlDQWdJQ0FnWTJGelpTQW5lRzF3SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmd4SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmd5SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmd6SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmcwSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmcxSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmcySnpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGdVkyVnpkRzl5U1c1bWJ5NXdWR0ZuU1c1Q2RYUjBiMjVUWTI5d1pUdGNibHh1SUNBZ0lDQWdZMkZ6WlNBblptOXliU2M2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJoYm1ObGMzUnZja2x1Wm04dVptOXliVlJoWnlCOGZDQmhibU5sYzNSdmNrbHVabTh1Y0ZSaFowbHVRblYwZEc5dVUyTnZjR1U3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMnhwSnpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGdVkyVnpkRzl5U1c1bWJ5NXNhWE4wU1hSbGJWUmhaMEYxZEc5amJHOXphVzVuTzF4dVhHNGdJQ0FnSUNCallYTmxJQ2RrWkNjNlhHNGdJQ0FnSUNCallYTmxJQ2RrZENjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaGJtTmxjM1J2Y2tsdVptOHVaR3hKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWM3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMkoxZEhSdmJpYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmhibU5sYzNSdmNrbHVabTh1WW5WMGRHOXVWR0ZuU1c1VFkyOXdaVHRjYmx4dUlDQWdJQ0FnWTJGelpTQW5ZU2M2WEc0Z0lDQWdJQ0FnSUM4dklGTndaV01nYzJGNWN5QnpiMjFsZEdocGJtY2dZV0p2ZFhRZ2MzUnZjbWx1WnlCaElHeHBjM1FnYjJZZ2JXRnlhMlZ5Y3l3Z1luVjBJR2wwSUhOdmRXNWtjMXh1SUNBZ0lDQWdJQ0F2THlCbGNYVnBkbUZzWlc1MElIUnZJSFJvYVhNZ1kyaGxZMnN1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJoYm1ObGMzUnZja2x1Wm04dVlWUmhaMGx1VTJOdmNHVTdYRzVjYmlBZ0lDQWdJR05oYzJVZ0oyNXZZbkluT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVc1alpYTjBiM0pKYm1adkxtNXZZbkpVWVdkSmJsTmpiM0JsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUJrYVdSWFlYSnVKREVnUFNCN2ZUdGNibHh1SUNCMllXeHBaR0YwWlVSUFRVNWxjM1JwYm1jZ1BTQm1kVzVqZEdsdmJpQW9ZMmhwYkdSVVlXY3NJR05vYVd4a1ZHVjRkQ3dnWVc1alpYTjBiM0pKYm1adktTQjdYRzRnSUNBZ1lXNWpaWE4wYjNKSmJtWnZJRDBnWVc1alpYTjBiM0pKYm1adklIeDhJR1Z0Y0hSNVFXNWpaWE4wYjNKSmJtWnZPMXh1SUNBZ0lIWmhjaUJ3WVhKbGJuUkpibVp2SUQwZ1lXNWpaWE4wYjNKSmJtWnZMbU4xY25KbGJuUTdYRzRnSUNBZ2RtRnlJSEJoY21WdWRGUmhaeUE5SUhCaGNtVnVkRWx1Wm04Z0ppWWdjR0Z5Wlc1MFNXNW1ieTUwWVdjN1hHNWNiaUFnSUNCcFppQW9ZMmhwYkdSVVpYaDBJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2xtSUNoamFHbHNaRlJoWnlBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkMllXeHBaR0YwWlVSUFRVNWxjM1JwYm1jNklIZG9aVzRnWTJocGJHUlVaWGgwSUdseklIQmhjM05sWkN3Z1kyaHBiR1JVWVdjZ2MyaHZkV3hrSUdKbElHNTFiR3duS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyaHBiR1JVWVdjZ1BTQW5JM1JsZUhRbk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnBiblpoYkdsa1VHRnlaVzUwSUQwZ2FYTlVZV2RXWVd4cFpGZHBkR2hRWVhKbGJuUW9ZMmhwYkdSVVlXY3NJSEJoY21WdWRGUmhaeWtnUHlCdWRXeHNJRG9nY0dGeVpXNTBTVzVtYnp0Y2JpQWdJQ0IyWVhJZ2FXNTJZV3hwWkVGdVkyVnpkRzl5SUQwZ2FXNTJZV3hwWkZCaGNtVnVkQ0EvSUc1MWJHd2dPaUJtYVc1a1NXNTJZV3hwWkVGdVkyVnpkRzl5Um05eVZHRm5LR05vYVd4a1ZHRm5MQ0JoYm1ObGMzUnZja2x1Wm04cE8xeHVJQ0FnSUhaaGNpQnBiblpoYkdsa1VHRnlaVzUwVDNKQmJtTmxjM1J2Y2lBOUlHbHVkbUZzYVdSUVlYSmxiblFnZkh3Z2FXNTJZV3hwWkVGdVkyVnpkRzl5TzF4dVhHNGdJQ0FnYVdZZ0tDRnBiblpoYkdsa1VHRnlaVzUwVDNKQmJtTmxjM1J2Y2lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCaGJtTmxjM1J2Y2xSaFp5QTlJR2x1ZG1Gc2FXUlFZWEpsYm5SUGNrRnVZMlZ6ZEc5eUxuUmhaenRjYmlBZ0lDQjJZWElnWVdSa1pXNWtkVzBnUFNCblpYUkRkWEp5Wlc1MFJtbGlaWEpUZEdGamEwbHVSR1YyS0NrN1hHNGdJQ0FnZG1GeUlIZGhjbTVMWlhrZ1BTQWhJV2x1ZG1Gc2FXUlFZWEpsYm5RZ0t5QW5mQ2NnS3lCamFHbHNaRlJoWnlBcklDZDhKeUFySUdGdVkyVnpkRzl5VkdGbklDc2dKM3duSUNzZ1lXUmtaVzVrZFcwN1hHNWNiaUFnSUNCcFppQW9aR2xrVjJGeWJpUXhXM2RoY201TFpYbGRLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pHbGtWMkZ5YmlReFczZGhjbTVMWlhsZElEMGdkSEoxWlR0Y2JpQWdJQ0IyWVhJZ2RHRm5SR2x6Y0d4aGVVNWhiV1VnUFNCamFHbHNaRlJoWnp0Y2JpQWdJQ0IyWVhJZ2QyaHBkR1Z6Y0dGalpVbHVabThnUFNBbkp6dGNibHh1SUNBZ0lHbG1JQ2hqYUdsc1pGUmhaeUE5UFQwZ0p5TjBaWGgwSnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLQzljWEZNdkxuUmxjM1FvWTJocGJHUlVaWGgwS1NrZ2UxeHVJQ0FnSUNBZ0lDQjBZV2RFYVhOd2JHRjVUbUZ0WlNBOUlDZFVaWGgwSUc1dlpHVnpKenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFJoWjBScGMzQnNZWGxPWVcxbElEMGdKMWRvYVhSbGMzQmhZMlVnZEdWNGRDQnViMlJsY3ljN1hHNGdJQ0FnSUNBZ0lIZG9hWFJsYzNCaFkyVkpibVp2SUQwZ1hDSWdUV0ZyWlNCemRYSmxJSGx2ZFNCa2IyNG5kQ0JvWVhabElHRnVlU0JsZUhSeVlTQjNhR2wwWlhOd1lXTmxJR0psZEhkbFpXNGdkR0ZuY3lCdmJpQmNJaUFySUNkbFlXTm9JR3hwYm1VZ2IyWWdlVzkxY2lCemIzVnlZMlVnWTI5a1pTNG5PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMFlXZEVhWE53YkdGNVRtRnRaU0E5SUNjOEp5QXJJR05vYVd4a1ZHRm5JQ3NnSno0bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHBiblpoYkdsa1VHRnlaVzUwS1NCN1hHNGdJQ0FnSUNCMllYSWdhVzVtYnlBOUlDY25PMXh1WEc0Z0lDQWdJQ0JwWmlBb1lXNWpaWE4wYjNKVVlXY2dQVDA5SUNkMFlXSnNaU2NnSmlZZ1kyaHBiR1JVWVdjZ1BUMDlJQ2QwY2ljcElIdGNiaUFnSUNBZ0lDQWdhVzVtYnlBclBTQW5JRUZrWkNCaElEeDBZbTlrZVQ0c0lEeDBhR1ZoWkQ0Z2IzSWdQSFJtYjI5MFBpQjBieUI1YjNWeUlHTnZaR1VnZEc4Z2JXRjBZMmdnZEdobElFUlBUU0IwY21WbElHZGxibVZ5WVhSbFpDQmllU0FuSUNzZ0ozUm9aU0JpY205M2MyVnlMaWM3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWeWNtOXlLQ2QyWVd4cFpHRjBaVVJQVFU1bGMzUnBibWNvTGk0dUtUb2dKWE1nWTJGdWJtOTBJR0Z3Y0dWaGNpQmhjeUJoSUdOb2FXeGtJRzltSUR3bGN6NHVKWE1sY3ljc0lIUmhaMFJwYzNCc1lYbE9ZVzFsTENCaGJtTmxjM1J2Y2xSaFp5d2dkMmhwZEdWemNHRmpaVWx1Wm04c0lHbHVabThwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnbmRtRnNhV1JoZEdWRVQwMU9aWE4wYVc1bktDNHVMaWs2SUNWeklHTmhibTV2ZENCaGNIQmxZWElnWVhNZ1lTQmtaWE5qWlc1a1lXNTBJRzltSUNjZ0t5QW5QQ1Z6UGk0bkxDQjBZV2RFYVhOd2JHRjVUbUZ0WlN3Z1lXNWpaWE4wYjNKVVlXY3BPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JuMWNibHh1ZG1GeUlGTlZVRkJTUlZOVFgwaFpSRkpCVkVsUFRsOVhRVkpPU1U1SEpERTdYRzVjYm50Y2JpQWdVMVZRVUZKRlUxTmZTRmxFVWtGVVNVOU9YMWRCVWs1SlRrY2tNU0E5SUNkemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNuTzF4dWZWeHVYRzUyWVhJZ1UxVlRVRVZPVTBWZlUxUkJVbFJmUkVGVVFTQTlJQ2NrSnp0Y2JuWmhjaUJUVlZOUVJVNVRSVjlGVGtSZlJFRlVRU0E5SUNjdkpDYzdYRzUyWVhJZ1UxVlRVRVZPVTBWZlVFVk9SRWxPUjE5VFZFRlNWRjlFUVZSQklEMGdKeVEvSnp0Y2JuWmhjaUJUVlZOUVJVNVRSVjlHUVV4TVFrRkRTMTlUVkVGU1ZGOUVRVlJCSUQwZ0p5UWhKenRjYm5aaGNpQlRWRmxNUlNReElEMGdKM04wZVd4bEp6dGNiblpoY2lCbGRtVnVkSE5GYm1GaWJHVmtJRDBnYm5Wc2JEdGNiblpoY2lCelpXeGxZM1JwYjI1SmJtWnZjbTFoZEdsdmJpQTlJRzUxYkd3N1hHNWNibVoxYm1OMGFXOXVJSE5vYjNWc1pFRjFkRzlHYjJOMWMwaHZjM1JEYjIxd2IyNWxiblFvZEhsd1pTd2djSEp2Y0hNcElIdGNiaUFnYzNkcGRHTm9JQ2gwZVhCbEtTQjdYRzRnSUNBZ1kyRnpaU0FuWW5WMGRHOXVKenBjYmlBZ0lDQmpZWE5sSUNkcGJuQjFkQ2M2WEc0Z0lDQWdZMkZ6WlNBbmMyVnNaV04wSnpwY2JpQWdJQ0JqWVhObElDZDBaWGgwWVhKbFlTYzZYRzRnSUNBZ0lDQnlaWFIxY200Z0lTRndjbTl3Y3k1aGRYUnZSbTlqZFhNN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1ptRnNjMlU3WEc1OVhHNW1kVzVqZEdsdmJpQm5aWFJTYjI5MFNHOXpkRU52Ym5SbGVIUW9jbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS1NCN1hHNGdJSFpoY2lCMGVYQmxPMXh1SUNCMllYSWdibUZ0WlhOd1lXTmxPMXh1SUNCMllYSWdibTlrWlZSNWNHVWdQU0J5YjI5MFEyOXVkR0ZwYm1WeVNXNXpkR0Z1WTJVdWJtOWtaVlI1Y0dVN1hHNWNiaUFnYzNkcGRHTm9JQ2h1YjJSbFZIbHdaU2tnZTF4dUlDQWdJR05oYzJVZ1JFOURWVTFGVGxSZlRrOUVSVHBjYmlBZ0lDQmpZWE5sSUVSUFExVk5SVTVVWDBaU1FVZE5SVTVVWDA1UFJFVTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFI1Y0dVZ1BTQnViMlJsVkhsd1pTQTlQVDBnUkU5RFZVMUZUbFJmVGs5RVJTQS9JQ2NqWkc5amRXMWxiblFuSURvZ0p5Tm1jbUZuYldWdWRDYzdYRzRnSUNBZ0lDQWdJSFpoY2lCeWIyOTBJRDBnY205dmRFTnZiblJoYVc1bGNrbHVjM1JoYm1ObExtUnZZM1Z0Wlc1MFJXeGxiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ2JtRnRaWE53WVdObElEMGdjbTl2ZENBL0lISnZiM1F1Ym1GdFpYTndZV05sVlZKSklEb2daMlYwUTJocGJHUk9ZVzFsYzNCaFkyVW9iblZzYkN3Z0p5Y3BPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqYjI1MFlXbHVaWElnUFNCdWIyUmxWSGx3WlNBOVBUMGdRMDlOVFVWT1ZGOU9UMFJGSUQ4Z2NtOXZkRU52Ym5SaGFXNWxja2x1YzNSaGJtTmxMbkJoY21WdWRFNXZaR1VnT2lCeWIyOTBRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVTdYRzRnSUNBZ0lDQWdJSFpoY2lCdmQyNU9ZVzFsYzNCaFkyVWdQU0JqYjI1MFlXbHVaWEl1Ym1GdFpYTndZV05sVlZKSklIeDhJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lIUjVjR1VnUFNCamIyNTBZV2x1WlhJdWRHRm5UbUZ0WlR0Y2JpQWdJQ0FnSUNBZ2JtRnRaWE53WVdObElEMGdaMlYwUTJocGJHUk9ZVzFsYzNCaFkyVW9iM2R1VG1GdFpYTndZV05sTENCMGVYQmxLVHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkbUZ5SUhaaGJHbGtZWFJsWkZSaFp5QTlJSFI1Y0dVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQjJZWElnWVc1alpYTjBiM0pKYm1adklEMGdkWEJrWVhSbFpFRnVZMlZ6ZEc5eVNXNW1ieWh1ZFd4c0xDQjJZV3hwWkdGMFpXUlVZV2NwTzF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnVZVzFsYzNCaFkyVTZJRzVoYldWemNHRmpaU3hjYmlBZ0lDQWdJR0Z1WTJWemRHOXlTVzVtYnpvZ1lXNWpaWE4wYjNKSmJtWnZYRzRnSUNBZ2ZUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdaMlYwUTJocGJHUkliM04wUTI5dWRHVjRkQ2h3WVhKbGJuUkliM04wUTI5dWRHVjRkQ3dnZEhsd1pTd2djbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnY0dGeVpXNTBTRzl6ZEVOdmJuUmxlSFJFWlhZZ1BTQndZWEpsYm5SSWIzTjBRMjl1ZEdWNGREdGNiaUFnSUNCMllYSWdibUZ0WlhOd1lXTmxJRDBnWjJWMFEyaHBiR1JPWVcxbGMzQmhZMlVvY0dGeVpXNTBTRzl6ZEVOdmJuUmxlSFJFWlhZdWJtRnRaWE53WVdObExDQjBlWEJsS1R0Y2JpQWdJQ0IyWVhJZ1lXNWpaWE4wYjNKSmJtWnZJRDBnZFhCa1lYUmxaRUZ1WTJWemRHOXlTVzVtYnlod1lYSmxiblJJYjNOMFEyOXVkR1Y0ZEVSbGRpNWhibU5sYzNSdmNrbHVabThzSUhSNWNHVXBPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCdVlXMWxjM0JoWTJVNklHNWhiV1Z6Y0dGalpTeGNiaUFnSUNBZ0lHRnVZMlZ6ZEc5eVNXNW1iem9nWVc1alpYTjBiM0pKYm1adlhHNGdJQ0FnZlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1oyVjBVSFZpYkdsalNXNXpkR0Z1WTJVb2FXNXpkR0Z1WTJVcElIdGNiaUFnY21WMGRYSnVJR2x1YzNSaGJtTmxPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NISmxjR0Z5WlVadmNrTnZiVzFwZENoamIyNTBZV2x1WlhKSmJtWnZLU0I3WEc0Z0lHVjJaVzUwYzBWdVlXSnNaV1FnUFNCcGMwVnVZV0pzWldRb0tUdGNiaUFnYzJWc1pXTjBhVzl1U1c1bWIzSnRZWFJwYjI0Z1BTQm5aWFJUWld4bFkzUnBiMjVKYm1admNtMWhkR2x2YmlncE8xeHVJQ0J6WlhSRmJtRmliR1ZrS0daaGJITmxLVHRjYm4xY2JtWjFibU4wYVc5dUlISmxjMlYwUVdaMFpYSkRiMjF0YVhRb1kyOXVkR0ZwYm1WeVNXNW1ieWtnZTF4dUlDQnlaWE4wYjNKbFUyVnNaV04wYVc5dUtITmxiR1ZqZEdsdmJrbHVabTl5YldGMGFXOXVLVHRjYmlBZ2MyVjBSVzVoWW14bFpDaGxkbVZ1ZEhORmJtRmliR1ZrS1R0Y2JpQWdaWFpsYm5SelJXNWhZbXhsWkNBOUlHNTFiR3c3WEc1Y2JpQWdjMlZzWldOMGFXOXVTVzVtYjNKdFlYUnBiMjRnUFNCdWRXeHNPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsU1c1emRHRnVZMlVvZEhsd1pTd2djSEp2Y0hNc0lISnZiM1JEYjI1MFlXbHVaWEpKYm5OMFlXNWpaU3dnYUc5emRFTnZiblJsZUhRc0lHbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJWSVlXNWtiR1VwSUh0Y2JpQWdkbUZ5SUhCaGNtVnVkRTVoYldWemNHRmpaVHRjYmx4dUlDQjdYRzRnSUNBZ0x5OGdWRTlFVHpvZ2RHRnJaU0J1WVcxbGMzQmhZMlVnYVc1MGJ5QmhZMk52ZFc1MElIZG9aVzRnZG1Gc2FXUmhkR2x1Wnk1Y2JpQWdJQ0IyWVhJZ2FHOXpkRU52Ym5SbGVIUkVaWFlnUFNCb2IzTjBRMjl1ZEdWNGREdGNiaUFnSUNCMllXeHBaR0YwWlVSUFRVNWxjM1JwYm1jb2RIbHdaU3dnYm5Wc2JDd2dhRzl6ZEVOdmJuUmxlSFJFWlhZdVlXNWpaWE4wYjNKSmJtWnZLVHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnY0hKdmNITXVZMmhwYkdSeVpXNGdQVDA5SUNkemRISnBibWNuSUh4OElIUjVjR1Z2WmlCd2NtOXdjeTVqYUdsc1pISmxiaUE5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lIWmhjaUJ6ZEhKcGJtY2dQU0FuSnlBcklIQnliM0J6TG1Ob2FXeGtjbVZ1TzF4dUlDQWdJQ0FnZG1GeUlHOTNia0Z1WTJWemRHOXlTVzVtYnlBOUlIVndaR0YwWldSQmJtTmxjM1J2Y2tsdVptOG9hRzl6ZEVOdmJuUmxlSFJFWlhZdVlXNWpaWE4wYjNKSmJtWnZMQ0IwZVhCbEtUdGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFJFOU5UbVZ6ZEdsdVp5aHVkV3hzTENCemRISnBibWNzSUc5M2JrRnVZMlZ6ZEc5eVNXNW1ieWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjR0Z5Wlc1MFRtRnRaWE53WVdObElEMGdhRzl6ZEVOdmJuUmxlSFJFWlhZdWJtRnRaWE53WVdObE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdSdmJVVnNaVzFsYm5RZ1BTQmpjbVZoZEdWRmJHVnRaVzUwS0hSNWNHVXNJSEJ5YjNCekxDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUhCaGNtVnVkRTVoYldWemNHRmpaU2s3WEc0Z0lIQnlaV05oWTJobFJtbGlaWEpPYjJSbEtHbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJWSVlXNWtiR1VzSUdSdmJVVnNaVzFsYm5RcE8xeHVJQ0IxY0dSaGRHVkdhV0psY2xCeWIzQnpLR1J2YlVWc1pXMWxiblFzSUhCeWIzQnpLVHRjYmlBZ2NtVjBkWEp1SUdSdmJVVnNaVzFsYm5RN1hHNTlYRzVtZFc1amRHbHZiaUJoY0hCbGJtUkpibWwwYVdGc1EyaHBiR1FvY0dGeVpXNTBTVzV6ZEdGdVkyVXNJR05vYVd4a0tTQjdYRzRnSUhCaGNtVnVkRWx1YzNSaGJtTmxMbUZ3Y0dWdVpFTm9hV3hrS0dOb2FXeGtLVHRjYm4xY2JtWjFibU4wYVc5dUlHWnBibUZzYVhwbFNXNXBkR2xoYkVOb2FXeGtjbVZ1S0dSdmJVVnNaVzFsYm5Rc0lIUjVjR1VzSUhCeWIzQnpMQ0J5YjI5MFEyOXVkR0ZwYm1WeVNXNXpkR0Z1WTJVc0lHaHZjM1JEYjI1MFpYaDBLU0I3WEc0Z0lITmxkRWx1YVhScFlXeFFjbTl3WlhKMGFXVnpLR1J2YlVWc1pXMWxiblFzSUhSNWNHVXNJSEJ5YjNCekxDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVwTzF4dUlDQnlaWFIxY200Z2MyaHZkV3hrUVhWMGIwWnZZM1Z6U0c5emRFTnZiWEJ2Ym1WdWRDaDBlWEJsTENCd2NtOXdjeWs3WEc1OVhHNW1kVzVqZEdsdmJpQndjbVZ3WVhKbFZYQmtZWFJsS0dSdmJVVnNaVzFsYm5Rc0lIUjVjR1VzSUc5c1pGQnliM0J6TENCdVpYZFFjbTl3Y3l3Z2NtOXZkRU52Ym5SaGFXNWxja2x1YzNSaGJtTmxMQ0JvYjNOMFEyOXVkR1Y0ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUdodmMzUkRiMjUwWlhoMFJHVjJJRDBnYUc5emRFTnZiblJsZUhRN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNWxkMUJ5YjNCekxtTm9hV3hrY21WdUlDRTlQU0IwZVhCbGIyWWdiMnhrVUhKdmNITXVZMmhwYkdSeVpXNGdKaVlnS0hSNWNHVnZaaUJ1WlhkUWNtOXdjeTVqYUdsc1pISmxiaUE5UFQwZ0ozTjBjbWx1WnljZ2ZId2dkSGx3Wlc5bUlHNWxkMUJ5YjNCekxtTm9hV3hrY21WdUlEMDlQU0FuYm5WdFltVnlKeWtwSUh0Y2JpQWdJQ0FnSUhaaGNpQnpkSEpwYm1jZ1BTQW5KeUFySUc1bGQxQnliM0J6TG1Ob2FXeGtjbVZ1TzF4dUlDQWdJQ0FnZG1GeUlHOTNia0Z1WTJWemRHOXlTVzVtYnlBOUlIVndaR0YwWldSQmJtTmxjM1J2Y2tsdVptOG9hRzl6ZEVOdmJuUmxlSFJFWlhZdVlXNWpaWE4wYjNKSmJtWnZMQ0IwZVhCbEtUdGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFJFOU5UbVZ6ZEdsdVp5aHVkV3hzTENCemRISnBibWNzSUc5M2JrRnVZMlZ6ZEc5eVNXNW1ieWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1JwWm1aUWNtOXdaWEowYVdWektHUnZiVVZzWlcxbGJuUXNJSFI1Y0dVc0lHOXNaRkJ5YjNCekxDQnVaWGRRY205d2N5d2djbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS1R0Y2JuMWNibVoxYm1OMGFXOXVJSE5vYjNWc1pGTmxkRlJsZUhSRGIyNTBaVzUwS0hSNWNHVXNJSEJ5YjNCektTQjdYRzRnSUhKbGRIVnliaUIwZVhCbElEMDlQU0FuZEdWNGRHRnlaV0VuSUh4OElIUjVjR1VnUFQwOUlDZHZjSFJwYjI0bklIeDhJSFI1Y0dVZ1BUMDlJQ2R1YjNOamNtbHdkQ2NnZkh3Z2RIbHdaVzltSUhCeWIzQnpMbU5vYVd4a2NtVnVJRDA5UFNBbmMzUnlhVzVuSnlCOGZDQjBlWEJsYjJZZ2NISnZjSE11WTJocGJHUnlaVzRnUFQwOUlDZHVkVzFpWlhJbklIeDhJSFI1Y0dWdlppQndjbTl3Y3k1a1lXNW5aWEp2ZFhOc2VWTmxkRWx1Ym1WeVNGUk5UQ0E5UFQwZ0oyOWlhbVZqZENjZ0ppWWdjSEp2Y0hNdVpHRnVaMlZ5YjNWemJIbFRaWFJKYm01bGNraFVUVXdnSVQwOUlHNTFiR3dnSmlZZ2NISnZjSE11WkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVd3VYMTlvZEcxc0lDRTlJRzUxYkd3N1hHNTlYRzVtZFc1amRHbHZiaUJ6YUc5MWJHUkVaWEJ5YVc5eWFYUnBlbVZUZFdKMGNtVmxLSFI1Y0dVc0lIQnliM0J6S1NCN1hHNGdJSEpsZEhWeWJpQWhJWEJ5YjNCekxtaHBaR1JsYmp0Y2JuMWNibVoxYm1OMGFXOXVJR055WldGMFpWUmxlSFJKYm5OMFlXNWpaU2gwWlhoMExDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUdodmMzUkRiMjUwWlhoMExDQnBiblJsY201aGJFbHVjM1JoYm1ObFNHRnVaR3hsS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYUc5emRFTnZiblJsZUhSRVpYWWdQU0JvYjNOMFEyOXVkR1Y0ZER0Y2JpQWdJQ0IyWVd4cFpHRjBaVVJQVFU1bGMzUnBibWNvYm5Wc2JDd2dkR1Y0ZEN3Z2FHOXpkRU52Ym5SbGVIUkVaWFl1WVc1alpYTjBiM0pKYm1adktUdGNiaUFnZlZ4dVhHNGdJSFpoY2lCMFpYaDBUbTlrWlNBOUlHTnlaV0YwWlZSbGVIUk9iMlJsS0hSbGVIUXNJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNrN1hHNGdJSEJ5WldOaFkyaGxSbWxpWlhKT2IyUmxLR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVklZVzVrYkdVc0lIUmxlSFJPYjJSbEtUdGNiaUFnY21WMGRYSnVJSFJsZUhST2IyUmxPMXh1ZlZ4dUx5OGdhV1lnWVNCamIyMXdiMjVsYm5RZ2FuVnpkQ0JwYlhCdmNuUnpJRkpsWVdOMFJFOU5JQ2hsTG1jdUlHWnZjaUJtYVc1a1JFOU5UbTlrWlNrdVhHNHZMeUJUYjIxbElHVnVkbWx5YjI1dFpXNTBjeUJ0YVdkb2RDQnViM1FnYUdGMlpTQnpaWFJVYVcxbGIzVjBJRzl5SUdOc1pXRnlWR2x0Wlc5MWRDNWNibHh1ZG1GeUlITmphR1ZrZFd4bFZHbHRaVzkxZENBOUlIUjVjR1Z2WmlCelpYUlVhVzFsYjNWMElEMDlQU0FuWm5WdVkzUnBiMjRuSUQ4Z2MyVjBWR2x0Wlc5MWRDQTZJSFZ1WkdWbWFXNWxaRHRjYm5aaGNpQmpZVzVqWld4VWFXMWxiM1YwSUQwZ2RIbHdaVzltSUdOc1pXRnlWR2x0Wlc5MWRDQTlQVDBnSjJaMWJtTjBhVzl1SnlBL0lHTnNaV0Z5VkdsdFpXOTFkQ0E2SUhWdVpHVm1hVzVsWkR0Y2JuWmhjaUJ1YjFScGJXVnZkWFFnUFNBdE1Uc2dMeThnTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4dVpuVnVZM1JwYjI0Z1kyOXRiV2wwVFc5MWJuUW9aRzl0Uld4bGJXVnVkQ3dnZEhsd1pTd2dibVYzVUhKdmNITXNJR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVklZVzVrYkdVcElIdGNiaUFnTHk4Z1JHVnpjR2wwWlNCMGFHVWdibUZ0YVc1bklIUm9ZWFFnYldsbmFIUWdhVzF3YkhrZ2IzUm9aWEozYVhObExDQjBhR2x6SUcxbGRHaHZaQ0J2Ym14NVhHNGdJQzh2SUdacGNtVnpJR2xtSUhSb1pYSmxJR2x6SUdGdUlHQlZjR1JoZEdWZ0lHVm1abVZqZENCelkyaGxaSFZzWldRZ1pIVnlhVzVuSUcxdmRXNTBhVzVuTGx4dUlDQXZMeUJVYUdseklHaGhjSEJsYm5NZ2FXWWdZR1pwYm1Gc2FYcGxTVzVwZEdsaGJFTm9hV3hrY21WdVlDQnlaWFIxY201eklHQjBjblZsWUNBb2QyaHBZMmdnYVhSY2JpQWdMeThnWkc5bGN5QjBieUJwYlhCc1pXMWxiblFnZEdobElHQmhkWFJ2Um05amRYTmdJR0YwZEhKcFluVjBaU0J2YmlCMGFHVWdZMnhwWlc1MEtTNGdRblYwWEc0Z0lDOHZJSFJvWlhKbElHRnlaU0JoYkhOdklHOTBhR1Z5SUdOaGMyVnpJSGRvWlc0Z2RHaHBjeUJ0YVdkb2RDQm9ZWEJ3Wlc0Z0tITjFZMmdnWVhNZ2NHRjBZMmhwYm1kY2JpQWdMeThnZFhBZ2RHVjRkQ0JqYjI1MFpXNTBJR1IxY21sdVp5Qm9lV1J5WVhScGIyNGdiV2x6YldGMFkyZ3BMaUJUYnlCM1pTZHNiQ0JqYUdWamF5QjBhR2x6SUdGbllXbHVMbHh1SUNCcFppQW9jMmh2ZFd4a1FYVjBiMFp2WTNWelNHOXpkRU52YlhCdmJtVnVkQ2gwZVhCbExDQnVaWGRRY205d2N5a3BJSHRjYmlBZ0lDQmtiMjFGYkdWdFpXNTBMbVp2WTNWektDazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR052YlcxcGRGVndaR0YwWlNoa2IyMUZiR1Z0Wlc1MExDQjFjR1JoZEdWUVlYbHNiMkZrTENCMGVYQmxMQ0J2YkdSUWNtOXdjeXdnYm1WM1VISnZjSE1zSUdsdWRHVnlibUZzU1c1emRHRnVZMlZJWVc1a2JHVXBJSHRjYmlBZ0x5OGdWWEJrWVhSbElIUm9aU0J3Y205d2N5Qm9ZVzVrYkdVZ2MyOGdkR2hoZENCM1pTQnJibTkzSUhkb2FXTm9JSEJ5YjNCeklHRnlaU0IwYUdVZ2IyNWxjeUIzYVhSb1hHNGdJQzh2SUhkcGRHZ2dZM1Z5Y21WdWRDQmxkbVZ1ZENCb1lXNWtiR1Z5Y3k1Y2JpQWdkWEJrWVhSbFJtbGlaWEpRY205d2N5aGtiMjFGYkdWdFpXNTBMQ0J1WlhkUWNtOXdjeWs3SUM4dklFRndjR3g1SUhSb1pTQmthV1ptSUhSdklIUm9aU0JFVDAwZ2JtOWtaUzVjYmx4dUlDQjFjR1JoZEdWUWNtOXdaWEowYVdWektHUnZiVVZzWlcxbGJuUXNJSFZ3WkdGMFpWQmhlV3h2WVdRc0lIUjVjR1VzSUc5c1pGQnliM0J6TENCdVpYZFFjbTl3Y3lrN1hHNTlYRzVtZFc1amRHbHZiaUJ5WlhObGRGUmxlSFJEYjI1MFpXNTBLR1J2YlVWc1pXMWxiblFwSUh0Y2JpQWdjMlYwVkdWNGRFTnZiblJsYm5Rb1pHOXRSV3hsYldWdWRDd2dKeWNwTzF4dWZWeHVablZ1WTNScGIyNGdZMjl0YldsMFZHVjRkRlZ3WkdGMFpTaDBaWGgwU1c1emRHRnVZMlVzSUc5c1pGUmxlSFFzSUc1bGQxUmxlSFFwSUh0Y2JpQWdkR1Y0ZEVsdWMzUmhibU5sTG01dlpHVldZV3gxWlNBOUlHNWxkMVJsZUhRN1hHNTlYRzVtZFc1amRHbHZiaUJoY0hCbGJtUkRhR2xzWkNod1lYSmxiblJKYm5OMFlXNWpaU3dnWTJocGJHUXBJSHRjYmlBZ2NHRnlaVzUwU1c1emRHRnVZMlV1WVhCd1pXNWtRMmhwYkdRb1kyaHBiR1FwTzF4dWZWeHVablZ1WTNScGIyNGdZWEJ3Wlc1a1EyaHBiR1JVYjBOdmJuUmhhVzVsY2loamIyNTBZV2x1WlhJc0lHTm9hV3hrS1NCN1hHNGdJSFpoY2lCd1lYSmxiblJPYjJSbE8xeHVYRzRnSUdsbUlDaGpiMjUwWVdsdVpYSXVibTlrWlZSNWNHVWdQVDA5SUVOUFRVMUZUbFJmVGs5RVJTa2dlMXh1SUNBZ0lIQmhjbVZ1ZEU1dlpHVWdQU0JqYjI1MFlXbHVaWEl1Y0dGeVpXNTBUbTlrWlR0Y2JpQWdJQ0J3WVhKbGJuUk9iMlJsTG1sdWMyVnlkRUpsWm05eVpTaGphR2xzWkN3Z1kyOXVkR0ZwYm1WeUtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQndZWEpsYm5ST2IyUmxJRDBnWTI5dWRHRnBibVZ5TzF4dUlDQWdJSEJoY21WdWRFNXZaR1V1WVhCd1pXNWtRMmhwYkdRb1kyaHBiR1FwTzF4dUlDQjlJQzh2SUZSb2FYTWdZMjl1ZEdGcGJtVnlJRzFwWjJoMElHSmxJSFZ6WldRZ1ptOXlJR0VnY0c5eWRHRnNMbHh1SUNBdkx5QkpaaUJ6YjIxbGRHaHBibWNnYVc1emFXUmxJR0VnY0c5eWRHRnNJR2x6SUdOc2FXTnJaV1FzSUhSb1lYUWdZMnhwWTJzZ2MyaHZkV3hrSUdKMVltSnNaVnh1SUNBdkx5QjBhSEp2ZFdkb0lIUm9aU0JTWldGamRDQjBjbVZsTGlCSWIzZGxkbVZ5TENCdmJpQk5iMkpwYkdVZ1UyRm1ZWEpwSUhSb1pTQmpiR2xqYXlCM2IzVnNaRnh1SUNBdkx5QnVaWFpsY2lCaWRXSmliR1VnZEdoeWIzVm5hQ0IwYUdVZ0trUlBUU29nZEhKbFpTQjFibXhsYzNNZ1lXNGdZVzVqWlhOMGIzSWdkMmwwYUNCdmJtTnNhV05yWEc0Z0lDOHZJR1YyWlc1MElHVjRhWE4wY3k0Z1UyOGdkMlVnZDI5MWJHUnVKM1FnYzJWbElHbDBJR0Z1WkNCa2FYTndZWFJqYUNCcGRDNWNiaUFnTHk4Z1ZHaHBjeUJwY3lCM2FIa2dkMlVnWlc1emRYSmxJSFJvWVhRZ2JtOXVJRkpsWVdOMElISnZiM1FnWTI5dWRHRnBibVZ5Y3lCb1lYWmxJR2x1YkdsdVpTQnZibU5zYVdOclhHNGdJQzh2SUdSbFptbHVaV1F1WEc0Z0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1URTVNVGhjYmx4dVhHNGdJSFpoY2lCeVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJZ1BTQmpiMjUwWVdsdVpYSXVYM0psWVdOMFVtOXZkRU52Ym5SaGFXNWxjanRjYmx4dUlDQnBaaUFvS0hKbFlXTjBVbTl2ZEVOdmJuUmhhVzVsY2lBOVBUMGdiblZzYkNCOGZDQnlaV0ZqZEZKdmIzUkRiMjUwWVdsdVpYSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ0ppWWdjR0Z5Wlc1MFRtOWtaUzV2Ym1Oc2FXTnJJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdMeThnVkU5RVR6b2dWR2hwY3lCallYTjBJRzFoZVNCdWIzUWdZbVVnYzI5MWJtUWdabTl5SUZOV1J5d2dUV0YwYUUxTUlHOXlJR04xYzNSdmJTQmxiR1Z0Wlc1MGN5NWNiaUFnSUNCMGNtRndRMnhwWTJ0UGJrNXZia2x1ZEdWeVlXTjBhWFpsUld4bGJXVnVkQ2h3WVhKbGJuUk9iMlJsS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2FXNXpaWEowUW1WbWIzSmxLSEJoY21WdWRFbHVjM1JoYm1ObExDQmphR2xzWkN3Z1ltVm1iM0psUTJocGJHUXBJSHRjYmlBZ2NHRnlaVzUwU1c1emRHRnVZMlV1YVc1elpYSjBRbVZtYjNKbEtHTm9hV3hrTENCaVpXWnZjbVZEYUdsc1pDazdYRzU5WEc1bWRXNWpkR2x2YmlCcGJuTmxjblJKYmtOdmJuUmhhVzVsY2tKbFptOXlaU2hqYjI1MFlXbHVaWElzSUdOb2FXeGtMQ0JpWldadmNtVkRhR2xzWkNrZ2UxeHVJQ0JwWmlBb1kyOXVkR0ZwYm1WeUxtNXZaR1ZVZVhCbElEMDlQU0JEVDAxTlJVNVVYMDVQUkVVcElIdGNiaUFnSUNCamIyNTBZV2x1WlhJdWNHRnlaVzUwVG05a1pTNXBibk5sY25SQ1pXWnZjbVVvWTJocGJHUXNJR0psWm05eVpVTm9hV3hrS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCamIyNTBZV2x1WlhJdWFXNXpaWEowUW1WbWIzSmxLR05vYVd4a0xDQmlaV1p2Y21WRGFHbHNaQ2s3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhKbGJXOTJaVU5vYVd4a0tIQmhjbVZ1ZEVsdWMzUmhibU5sTENCamFHbHNaQ2tnZTF4dUlDQndZWEpsYm5SSmJuTjBZVzVqWlM1eVpXMXZkbVZEYUdsc1pDaGphR2xzWkNrN1hHNTlYRzVtZFc1amRHbHZiaUJ5WlcxdmRtVkRhR2xzWkVaeWIyMURiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlMQ0JqYUdsc1pDa2dlMXh1SUNCcFppQW9ZMjl1ZEdGcGJtVnlMbTV2WkdWVWVYQmxJRDA5UFNCRFQwMU5SVTVVWDA1UFJFVXBJSHRjYmlBZ0lDQmpiMjUwWVdsdVpYSXVjR0Z5Wlc1MFRtOWtaUzV5WlcxdmRtVkRhR2xzWkNoamFHbHNaQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWTI5dWRHRnBibVZ5TG5KbGJXOTJaVU5vYVd4a0tHTm9hV3hrS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm9hV1JsU1c1emRHRnVZMlVvYVc1emRHRnVZMlVwSUh0Y2JpQWdMeThnY0dGemN5Qm9iM04wSUdOdmJuUmxlSFFnZEc4Z2RHaHBjeUJ0WlhSb2IyUS9YRzVjYmx4dUlDQnBibk4wWVc1alpTQTlJR2x1YzNSaGJtTmxPMXh1SUNCMllYSWdjM1I1YkdVZ1BTQnBibk4wWVc1alpTNXpkSGxzWlR0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUhOMGVXeGxMbk5sZEZCeWIzQmxjblI1SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdjM1I1YkdVdWMyVjBVSEp2Y0dWeWRIa29KMlJwYzNCc1lYa25MQ0FuYm05dVpTY3NJQ2RwYlhCdmNuUmhiblFuS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCemRIbHNaUzVrYVhOd2JHRjVJRDBnSjI1dmJtVW5PMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJvYVdSbFZHVjRkRWx1YzNSaGJtTmxLSFJsZUhSSmJuTjBZVzVqWlNrZ2UxeHVJQ0IwWlhoMFNXNXpkR0Z1WTJVdWJtOWtaVlpoYkhWbElEMGdKeWM3WEc1OVhHNW1kVzVqZEdsdmJpQjFibWhwWkdWSmJuTjBZVzVqWlNocGJuTjBZVzVqWlN3Z2NISnZjSE1wSUh0Y2JpQWdhVzV6ZEdGdVkyVWdQU0JwYm5OMFlXNWpaVHRjYmlBZ2RtRnlJSE4wZVd4bFVISnZjQ0E5SUhCeWIzQnpXMU5VV1V4RkpERmRPMXh1SUNCMllYSWdaR2x6Y0d4aGVTQTlJSE4wZVd4bFVISnZjQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JSE4wZVd4bFVISnZjQ0FoUFQwZ2JuVnNiQ0FtSmlCemRIbHNaVkJ5YjNBdWFHRnpUM2R1VUhKdmNHVnlkSGtvSjJScGMzQnNZWGtuS1NBL0lITjBlV3hsVUhKdmNDNWthWE53YkdGNUlEb2diblZzYkR0Y2JpQWdhVzV6ZEdGdVkyVXVjM1I1YkdVdVpHbHpjR3hoZVNBOUlHUmhibWRsY205MWMxTjBlV3hsVm1Gc2RXVW9KMlJwYzNCc1lYa25MQ0JrYVhOd2JHRjVLVHRjYm4xY2JtWjFibU4wYVc5dUlIVnVhR2xrWlZSbGVIUkpibk4wWVc1alpTaDBaWGgwU1c1emRHRnVZMlVzSUhSbGVIUXBJSHRjYmlBZ2RHVjRkRWx1YzNSaGJtTmxMbTV2WkdWV1lXeDFaU0E5SUhSbGVIUTdYRzU5SUM4dklDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNibVoxYm1OMGFXOXVJR05oYmtoNVpISmhkR1ZKYm5OMFlXNWpaU2hwYm5OMFlXNWpaU3dnZEhsd1pTd2djSEp2Y0hNcElIdGNiaUFnYVdZZ0tHbHVjM1JoYm1ObExtNXZaR1ZVZVhCbElDRTlQU0JGVEVWTlJVNVVYMDVQUkVVZ2ZId2dkSGx3WlM1MGIweHZkMlZ5UTJGelpTZ3BJQ0U5UFNCcGJuTjBZVzVqWlM1dWIyUmxUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdMeThnVkdocGN5Qm9ZWE1nYm05M0lHSmxaVzRnY21WbWFXNWxaQ0IwYnlCaGJpQmxiR1Z0Wlc1MElHNXZaR1V1WEc1Y2JseHVJQ0J5WlhSMWNtNGdhVzV6ZEdGdVkyVTdYRzU5WEc1bWRXNWpkR2x2YmlCallXNUllV1J5WVhSbFZHVjRkRWx1YzNSaGJtTmxLR2x1YzNSaGJtTmxMQ0IwWlhoMEtTQjdYRzRnSUdsbUlDaDBaWGgwSUQwOVBTQW5KeUI4ZkNCcGJuTjBZVzVqWlM1dWIyUmxWSGx3WlNBaFBUMGdWRVZZVkY5T1QwUkZLU0I3WEc0Z0lDQWdMeThnUlcxd2RIa2djM1J5YVc1bmN5QmhjbVVnYm05MElIQmhjbk5sWkNCaWVTQklWRTFNSUhOdklIUm9aWEpsSUhkdmJpZDBJR0psSUdFZ1kyOXljbVZqZENCdFlYUmphQ0JvWlhKbExseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5SUM4dklGUm9hWE1nYUdGeklHNXZkeUJpWldWdUlISmxabWx1WldRZ2RHOGdZU0IwWlhoMElHNXZaR1V1WEc1Y2JseHVJQ0J5WlhSMWNtNGdhVzV6ZEdGdVkyVTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMxTjFjM0JsYm5ObFNXNXpkR0Z1WTJWUVpXNWthVzVuS0dsdWMzUmhibU5sS1NCN1hHNGdJSEpsZEhWeWJpQnBibk4wWVc1alpTNWtZWFJoSUQwOVBTQlRWVk5RUlU1VFJWOVFSVTVFU1U1SFgxTlVRVkpVWDBSQlZFRTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMxTjFjM0JsYm5ObFNXNXpkR0Z1WTJWR1lXeHNZbUZqYXlocGJuTjBZVzVqWlNrZ2UxeHVJQ0J5WlhSMWNtNGdhVzV6ZEdGdVkyVXVaR0YwWVNBOVBUMGdVMVZUVUVWT1UwVmZSa0ZNVEVKQlEwdGZVMVJCVWxSZlJFRlVRVHRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwVG1WNGRFaDVaSEpoZEdGaWJHVW9ibTlrWlNrZ2UxeHVJQ0F2THlCVGEybHdJRzV2Ymkxb2VXUnlZWFJoWW14bElHNXZaR1Z6TGx4dUlDQm1iM0lnS0RzZ2JtOWtaU0FoUFNCdWRXeHNPeUJ1YjJSbElEMGdibTlrWlM1dVpYaDBVMmxpYkdsdVp5a2dlMXh1SUNBZ0lIWmhjaUJ1YjJSbFZIbHdaU0E5SUc1dlpHVXVibTlrWlZSNWNHVTdYRzVjYmlBZ0lDQnBaaUFvYm05a1pWUjVjR1VnUFQwOUlFVk1SVTFGVGxSZlRrOUVSU0I4ZkNCdWIyUmxWSGx3WlNBOVBUMGdWRVZZVkY5T1QwUkZLU0I3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtOWtaVHRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwVG1WNGRFaDVaSEpoZEdGaWJHVlRhV0pzYVc1bktHbHVjM1JoYm1ObEtTQjdYRzRnSUhKbGRIVnliaUJuWlhST1pYaDBTSGxrY21GMFlXSnNaU2hwYm5OMFlXNWpaUzV1WlhoMFUybGliR2x1WnlrN1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSR2FYSnpkRWg1WkhKaGRHRmliR1ZEYUdsc1pDaHdZWEpsYm5SSmJuTjBZVzVqWlNrZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwVG1WNGRFaDVaSEpoZEdGaWJHVW9jR0Z5Wlc1MFNXNXpkR0Z1WTJVdVptbHljM1JEYUdsc1pDazdYRzU5WEc1bWRXNWpkR2x2YmlCb2VXUnlZWFJsU1c1emRHRnVZMlVvYVc1emRHRnVZMlVzSUhSNWNHVXNJSEJ5YjNCekxDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUdodmMzUkRiMjUwWlhoMExDQnBiblJsY201aGJFbHVjM1JoYm1ObFNHRnVaR3hsS1NCN1hHNGdJSEJ5WldOaFkyaGxSbWxpWlhKT2IyUmxLR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVklZVzVrYkdVc0lHbHVjM1JoYm1ObEtUc2dMeThnVkU5RVR6b2dVRzl6YzJsaWJIa2daR1ZtWlhJZ2RHaHBjeUIxYm5ScGJDQjBhR1VnWTI5dGJXbDBJSEJvWVhObElIZG9aWEpsSUdGc2JDQjBhR1VnWlhabGJuUnpYRzRnSUM4dklHZGxkQ0JoZEhSaFkyaGxaQzVjYmx4dUlDQjFjR1JoZEdWR2FXSmxjbEJ5YjNCektHbHVjM1JoYm1ObExDQndjbTl3Y3lrN1hHNGdJSFpoY2lCd1lYSmxiblJPWVcxbGMzQmhZMlU3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJvYjNOMFEyOXVkR1Y0ZEVSbGRpQTlJR2h2YzNSRGIyNTBaWGgwTzF4dUlDQWdJSEJoY21WdWRFNWhiV1Z6Y0dGalpTQTlJR2h2YzNSRGIyNTBaWGgwUkdWMkxtNWhiV1Z6Y0dGalpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmthV1ptU0hsa2NtRjBaV1JRY205d1pYSjBhV1Z6S0dsdWMzUmhibU5sTENCMGVYQmxMQ0J3Y205d2N5d2djR0Z5Wlc1MFRtRnRaWE53WVdObExDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVwTzF4dWZWeHVablZ1WTNScGIyNGdhSGxrY21GMFpWUmxlSFJKYm5OMFlXNWpaU2gwWlhoMFNXNXpkR0Z1WTJVc0lIUmxlSFFzSUdsdWRHVnlibUZzU1c1emRHRnVZMlZJWVc1a2JHVXBJSHRjYmlBZ2NISmxZMkZqYUdWR2FXSmxjazV2WkdVb2FXNTBaWEp1WVd4SmJuTjBZVzVqWlVoaGJtUnNaU3dnZEdWNGRFbHVjM1JoYm1ObEtUdGNiaUFnY21WMGRYSnVJR1JwWm1aSWVXUnlZWFJsWkZSbGVIUW9kR1Y0ZEVsdWMzUmhibU5sTENCMFpYaDBLVHRjYm4xY2JtWjFibU4wYVc5dUlHZGxkRTVsZUhSSWVXUnlZWFJoWW14bFNXNXpkR0Z1WTJWQlpuUmxjbE4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9jM1Z6Y0dWdWMyVkpibk4wWVc1alpTa2dlMXh1SUNCMllYSWdibTlrWlNBOUlITjFjM0JsYm5ObFNXNXpkR0Z1WTJVdWJtVjRkRk5wWW14cGJtYzdJQzh2SUZOcmFYQWdjR0Z6ZENCaGJHd2dibTlrWlhNZ2QybDBhR2x1SUhSb2FYTWdjM1Z6Y0dWdWMyVWdZbTkxYm1SaGNua3VYRzRnSUM4dklGUm9aWEpsSUcxcFoyaDBJR0psSUc1bGMzUmxaQ0J1YjJSbGN5QnpieUIzWlNCdVpXVmtJSFJ2SUd0bFpYQWdkSEpoWTJzZ2IyWWdhRzkzWEc0Z0lDOHZJR1JsWlhBZ2QyVWdZWEpsSUdGdVpDQnZibXg1SUdKeVpXRnJJRzkxZENCM2FHVnVJSGRsSjNKbElHSmhZMnNnYjI0Z2RHOXdMbHh1WEc0Z0lIWmhjaUJrWlhCMGFDQTlJREE3WEc1Y2JpQWdkMmhwYkdVZ0tHNXZaR1VwSUh0Y2JpQWdJQ0JwWmlBb2JtOWtaUzV1YjJSbFZIbHdaU0E5UFQwZ1EwOU5UVVZPVkY5T1QwUkZLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pHRjBZU0E5SUc1dlpHVXVaR0YwWVR0Y2JseHVJQ0FnSUNBZ2FXWWdLR1JoZEdFZ1BUMDlJRk5WVTFCRlRsTkZYMFZPUkY5RVFWUkJLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtaWEIwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCblpYUk9aWGgwU0hsa2NtRjBZV0pzWlZOcFlteHBibWNvYm05a1pTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnWkdWd2RHZ3RMVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoa1lYUmhJRDA5UFNCVFZWTlFSVTVUUlY5VFZFRlNWRjlFUVZSQklIeDhJR1JoZEdFZ1BUMDlJRk5WVTFCRlRsTkZYMFpCVEV4Q1FVTkxYMU5VUVZKVVgwUkJWRUVnZkh3Z1pHRjBZU0E5UFQwZ1UxVlRVRVZPVTBWZlVFVk9SRWxPUjE5VFZFRlNWRjlFUVZSQktTQjdYRzRnSUNBZ0lDQWdJR1JsY0hSb0t5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JtOWtaU0E5SUc1dlpHVXVibVY0ZEZOcFlteHBibWM3WEc0Z0lIMGdMeThnVkU5RVR6b2dWMkZ5Yml3Z2QyVWdaR2xrYmlkMElHWnBibVFnZEdobElHVnVaQ0JqYjIxdFpXNTBJR0p2ZFc1a1lYSjVMbHh1WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OUlDOHZJRkpsZEhWeWJuTWdkR2hsSUZOMWMzQmxibk5sU1c1emRHRnVZMlVnYVdZZ2RHaHBjeUJ1YjJSbElHbHpJR0VnWkdseVpXTjBJR05vYVd4a0lHOW1JR0ZjYmk4dklGTjFjM0JsYm5ObFNXNXpkR0Z1WTJVdUlFa3VaUzRnYVdZZ2FYUnpJSEJ5WlhacGIzVnpJSE5wWW14cGJtY2dhWE1nWVNCRGIyMXRaVzUwSUhkcGRHaGNiaTh2SUZOVlUxQkZUbE5GWDNoZlUxUkJVbFJmUkVGVVFTNGdUM1JvWlhKM2FYTmxMQ0J1ZFd4c0xseHVYRzVtZFc1amRHbHZiaUJuWlhSUVlYSmxiblJUZFhOd1pXNXpaVWx1YzNSaGJtTmxLSFJoY21kbGRFbHVjM1JoYm1ObEtTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ2RHRnlaMlYwU1c1emRHRnVZMlV1Y0hKbGRtbHZkWE5UYVdKc2FXNW5PeUF2THlCVGEybHdJSEJoYzNRZ1lXeHNJRzV2WkdWeklIZHBkR2hwYmlCMGFHbHpJSE4xYzNCbGJuTmxJR0p2ZFc1a1lYSjVMbHh1SUNBdkx5QlVhR1Z5WlNCdGFXZG9kQ0JpWlNCdVpYTjBaV1FnYm05a1pYTWdjMjhnZDJVZ2JtVmxaQ0IwYnlCclpXVndJSFJ5WVdOcklHOW1JR2h2ZDF4dUlDQXZMeUJrWldWd0lIZGxJR0Z5WlNCaGJtUWdiMjVzZVNCaWNtVmhheUJ2ZFhRZ2QyaGxiaUIzWlNkeVpTQmlZV05ySUc5dUlIUnZjQzVjYmx4dUlDQjJZWElnWkdWd2RHZ2dQU0F3TzF4dVhHNGdJSGRvYVd4bElDaHViMlJsS1NCN1hHNGdJQ0FnYVdZZ0tHNXZaR1V1Ym05a1pWUjVjR1VnUFQwOUlFTlBUVTFGVGxSZlRrOUVSU2tnZTF4dUlDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCdWIyUmxMbVJoZEdFN1hHNWNiaUFnSUNBZ0lHbG1JQ2hrWVhSaElEMDlQU0JUVlZOUVJVNVRSVjlUVkVGU1ZGOUVRVlJCSUh4OElHUmhkR0VnUFQwOUlGTlZVMUJGVGxORlgwWkJURXhDUVVOTFgxTlVRVkpVWDBSQlZFRWdmSHdnWkdGMFlTQTlQVDBnVTFWVFVFVk9VMFZmVUVWT1JFbE9SMTlUVkVGU1ZGOUVRVlJCS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hrWlhCMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHUmxjSFJvTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9aR0YwWVNBOVBUMGdVMVZUVUVWT1UwVmZSVTVFWDBSQlZFRXBJSHRjYmlBZ0lDQWdJQ0FnWkdWd2RHZ3JLenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnViMlJsSUQwZ2JtOWtaUzV3Y21WMmFXOTFjMU5wWW14cGJtYzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiblZzYkR0Y2JuMWNibVoxYm1OMGFXOXVJR052YlcxcGRFaDVaSEpoZEdWa1EyOXVkR0ZwYm1WeUtHTnZiblJoYVc1bGNpa2dlMXh1SUNBdkx5QlNaWFJ5ZVNCcFppQmhibmtnWlhabGJuUWdjbVZ3YkdGNWFXNW5JSGRoY3lCaWJHOWphMlZrSUc5dUlIUm9hWE11WEc0Z0lISmxkSEo1U1daQ2JHOWphMlZrVDI0b1kyOXVkR0ZwYm1WeUtUdGNibjFjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRWg1WkhKaGRHVmtVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHpkWE53Wlc1elpVbHVjM1JoYm1ObEtTQjdYRzRnSUM4dklGSmxkSEo1SUdsbUlHRnVlU0JsZG1WdWRDQnlaWEJzWVhscGJtY2dkMkZ6SUdKc2IyTnJaV1FnYjI0Z2RHaHBjeTVjYmlBZ2NtVjBjbmxKWmtKc2IyTnJaV1JQYmloemRYTndaVzV6WlVsdWMzUmhibU5sS1R0Y2JuMWNibVoxYm1OMGFXOXVJR1JwWkU1dmRFMWhkR05vU0hsa2NtRjBaV1JEYjI1MFlXbHVaWEpVWlhoMFNXNXpkR0Z1WTJVb2NHRnlaVzUwUTI5dWRHRnBibVZ5TENCMFpYaDBTVzV6ZEdGdVkyVXNJSFJsZUhRcElIdGNiaUFnZTF4dUlDQWdJSGRoY201R2IzSlZibTFoZEdOb1pXUlVaWGgwS0hSbGVIUkpibk4wWVc1alpTd2dkR1Y0ZENrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHUnBaRTV2ZEUxaGRHTm9TSGxrY21GMFpXUlVaWGgwU1c1emRHRnVZMlVvY0dGeVpXNTBWSGx3WlN3Z2NHRnlaVzUwVUhKdmNITXNJSEJoY21WdWRFbHVjM1JoYm1ObExDQjBaWGgwU1c1emRHRnVZMlVzSUhSbGVIUXBJSHRjYmlBZ2FXWWdLQ0J3WVhKbGJuUlFjbTl3YzF0VFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUnlReFhTQWhQVDBnZEhKMVpTa2dlMXh1SUNBZ0lIZGhjbTVHYjNKVmJtMWhkR05vWldSVVpYaDBLSFJsZUhSSmJuTjBZVzVqWlN3Z2RHVjRkQ2s3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdScFpFNXZkRWg1WkhKaGRHVkRiMjUwWVdsdVpYSkpibk4wWVc1alpTaHdZWEpsYm5SRGIyNTBZV2x1WlhJc0lHbHVjM1JoYm1ObEtTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb2FXNXpkR0Z1WTJVdWJtOWtaVlI1Y0dVZ1BUMDlJRVZNUlUxRlRsUmZUazlFUlNrZ2UxeHVJQ0FnSUNBZ2QyRnlia1p2Y2tSbGJHVjBaV1JJZVdSeVlYUmhZbXhsUld4bGJXVnVkQ2h3WVhKbGJuUkRiMjUwWVdsdVpYSXNJR2x1YzNSaGJtTmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x1YzNSaGJtTmxMbTV2WkdWVWVYQmxJRDA5UFNCRFQwMU5SVTVVWDA1UFJFVXBJRHNnWld4elpTQjdYRzRnSUNBZ0lDQjNZWEp1Um05eVJHVnNaWFJsWkVoNVpISmhkR0ZpYkdWVVpYaDBLSEJoY21WdWRFTnZiblJoYVc1bGNpd2dhVzV6ZEdGdVkyVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdaR2xrVG05MFNIbGtjbUYwWlVsdWMzUmhibU5sS0hCaGNtVnVkRlI1Y0dVc0lIQmhjbVZ1ZEZCeWIzQnpMQ0J3WVhKbGJuUkpibk4wWVc1alpTd2dhVzV6ZEdGdVkyVXBJSHRjYmlBZ2FXWWdLQ0J3WVhKbGJuUlFjbTl3YzF0VFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUnlReFhTQWhQVDBnZEhKMVpTa2dlMXh1SUNBZ0lHbG1JQ2hwYm5OMFlXNWpaUzV1YjJSbFZIbHdaU0E5UFQwZ1JVeEZUVVZPVkY5T1QwUkZLU0I3WEc0Z0lDQWdJQ0IzWVhKdVJtOXlSR1ZzWlhSbFpFaDVaSEpoZEdGaWJHVkZiR1Z0Wlc1MEtIQmhjbVZ1ZEVsdWMzUmhibU5sTENCcGJuTjBZVzVqWlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNocGJuTjBZVzVqWlM1dWIyUmxWSGx3WlNBOVBUMGdRMDlOVFVWT1ZGOU9UMFJGS1NBN0lHVnNjMlVnZTF4dUlDQWdJQ0FnZDJGeWJrWnZja1JsYkdWMFpXUkllV1J5WVhSaFlteGxWR1Y0ZENod1lYSmxiblJKYm5OMFlXNWpaU3dnYVc1emRHRnVZMlVwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWkdsa1RtOTBSbWx1WkVoNVpISmhkR0ZpYkdWRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNod1lYSmxiblJEYjI1MFlXbHVaWElzSUhSNWNHVXNJSEJ5YjNCektTQjdYRzRnSUh0Y2JpQWdJQ0IzWVhKdVJtOXlTVzV6WlhKMFpXUkllV1J5WVhSbFpFVnNaVzFsYm5Rb2NHRnlaVzUwUTI5dWRHRnBibVZ5TENCMGVYQmxLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWkdsa1RtOTBSbWx1WkVoNVpISmhkR0ZpYkdWRGIyNTBZV2x1WlhKVVpYaDBTVzV6ZEdGdVkyVW9jR0Z5Wlc1MFEyOXVkR0ZwYm1WeUxDQjBaWGgwS1NCN1hHNGdJSHRjYmlBZ0lDQjNZWEp1Um05eVNXNXpaWEowWldSSWVXUnlZWFJsWkZSbGVIUW9jR0Z5Wlc1MFEyOXVkR0ZwYm1WeUxDQjBaWGgwS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1pHbGtUbTkwUm1sdVpFaDVaSEpoZEdGaWJHVkpibk4wWVc1alpTaHdZWEpsYm5SVWVYQmxMQ0J3WVhKbGJuUlFjbTl3Y3l3Z2NHRnlaVzUwU1c1emRHRnVZMlVzSUhSNWNHVXNJSEJ5YjNCektTQjdYRzRnSUdsbUlDZ2djR0Z5Wlc1MFVISnZjSE5iVTFWUVVGSkZVMU5mU0ZsRVVrRlVTVTlPWDFkQlVrNUpUa2NrTVYwZ0lUMDlJSFJ5ZFdVcElIdGNiaUFnSUNCM1lYSnVSbTl5U1c1elpYSjBaV1JJZVdSeVlYUmxaRVZzWlcxbGJuUW9jR0Z5Wlc1MFNXNXpkR0Z1WTJVc0lIUjVjR1VwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCa2FXUk9iM1JHYVc1a1NIbGtjbUYwWVdKc1pWUmxlSFJKYm5OMFlXNWpaU2h3WVhKbGJuUlVlWEJsTENCd1lYSmxiblJRY205d2N5d2djR0Z5Wlc1MFNXNXpkR0Z1WTJVc0lIUmxlSFFwSUh0Y2JpQWdhV1lnS0NCd1lYSmxiblJRY205d2MxdFRWVkJRVWtWVFUxOUlXVVJTUVZSSlQwNWZWMEZTVGtsT1J5UXhYU0FoUFQwZ2RISjFaU2tnZTF4dUlDQWdJSGRoY201R2IzSkpibk5sY25SbFpFaDVaSEpoZEdWa1ZHVjRkQ2h3WVhKbGJuUkpibk4wWVc1alpTd2dkR1Y0ZENrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHUnBaRTV2ZEVacGJtUkllV1J5WVhSaFlteGxVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHdZWEpsYm5SVWVYQmxMQ0J3WVhKbGJuUlFjbTl3Y3l3Z2NHRnlaVzUwU1c1emRHRnVZMlVwSUh0Y2JpQWdhV1lnS0NCd1lYSmxiblJRY205d2MxdFRWVkJRVWtWVFUxOUlXVVJTUVZSSlQwNWZWMEZTVGtsT1J5UXhYU0FoUFQwZ2RISjFaU2tnTzF4dWZWeHVYRzUyWVhJZ2NtRnVaRzl0UzJWNUlEMGdUV0YwYUM1eVlXNWtiMjBvS1M1MGIxTjBjbWx1Wnlnek5pa3VjMnhwWTJVb01pazdYRzUyWVhJZ2FXNTBaWEp1WVd4SmJuTjBZVzVqWlV0bGVTQTlJQ2RmWDNKbFlXTjBTVzUwWlhKdVlXeEpibk4wWVc1alpTUW5JQ3NnY21GdVpHOXRTMlY1TzF4dWRtRnlJR2x1ZEdWeWJtRnNSWFpsYm5SSVlXNWtiR1Z5YzB0bGVTQTlJQ2RmWDNKbFlXTjBSWFpsYm5SSVlXNWtiR1Z5Y3lRbklDc2djbUZ1Wkc5dFMyVjVPMXh1ZG1GeUlHbHVkR1Z5Ym1Gc1EyOXVkR0ZwYm1WeVNXNXpkR0Z1WTJWTFpYa2dQU0FuWDE5eVpXRmpkRU52Ym5SaGFXNWxjbVVrSnlBcklISmhibVJ2YlV0bGVUdGNibVoxYm1OMGFXOXVJSEJ5WldOaFkyaGxSbWxpWlhKT2IyUmxLR2h2YzNSSmJuTjBMQ0J1YjJSbEtTQjdYRzRnSUc1dlpHVmJhVzUwWlhKdVlXeEpibk4wWVc1alpVdGxlVjBnUFNCb2IzTjBTVzV6ZER0Y2JuMWNibVoxYm1OMGFXOXVJRzFoY210RGIyNTBZV2x1WlhKQmMxSnZiM1FvYUc5emRGSnZiM1FzSUc1dlpHVXBJSHRjYmlBZ2JtOWtaVnRwYm5SbGNtNWhiRU52Ym5SaGFXNWxja2x1YzNSaGJtTmxTMlY1WFNBOUlHaHZjM1JTYjI5ME8xeHVmVnh1Wm5WdVkzUnBiMjRnZFc1dFlYSnJRMjl1ZEdGcGJtVnlRWE5TYjI5MEtHNXZaR1VwSUh0Y2JpQWdibTlrWlZ0cGJuUmxjbTVoYkVOdmJuUmhhVzVsY2tsdWMzUmhibU5sUzJWNVhTQTlJRzUxYkd3N1hHNTlYRzVtZFc1amRHbHZiaUJwYzBOdmJuUmhhVzVsY2sxaGNtdGxaRUZ6VW05dmRDaHViMlJsS1NCN1hHNGdJSEpsZEhWeWJpQWhJVzV2WkdWYmFXNTBaWEp1WVd4RGIyNTBZV2x1WlhKSmJuTjBZVzVqWlV0bGVWMDdYRzU5SUM4dklFZHBkbVZ1SUdFZ1JFOU5JRzV2WkdVc0lISmxkSFZ5YmlCMGFHVWdZMnh2YzJWemRDQkliM04wUTI5dGNHOXVaVzUwSUc5eUlFaHZjM1JVWlhoMElHWnBZbVZ5SUdGdVkyVnpkRzl5TGx4dUx5OGdTV1lnZEdobElIUmhjbWRsZENCdWIyUmxJR2x6SUhCaGNuUWdiMllnWVNCb2VXUnlZWFJsWkNCdmNpQnViM1FnZVdWMElISmxibVJsY21Wa0lITjFZblJ5WldVc0lIUm9aVzVjYmk4dklIUm9hWE1nYldGNUlHRnNjMjhnY21WMGRYSnVJR0VnVTNWemNHVnVjMlZEYjIxd2IyNWxiblFnYjNJZ1NHOXpkRkp2YjNRZ2RHOGdhVzVrYVdOaGRHVWdkR2hoZEM1Y2JpOHZJRU52Ym1ObGNIUjFZV3hzZVNCMGFHVWdTRzl6ZEZKdmIzUWdabWxpWlhJZ2FYTWdZU0JqYUdsc1pDQnZaaUIwYUdVZ1EyOXVkR0ZwYm1WeUlHNXZaR1V1SUZOdklHbG1JSGx2ZFZ4dUx5OGdjR0Z6Y3lCMGFHVWdRMjl1ZEdGcGJtVnlJRzV2WkdVZ1lYTWdkR2hsSUhSaGNtZGxkRTV2WkdVc0lIbHZkU0IzYVd4c0lHNXZkQ0JoWTNSMVlXeHNlU0JuWlhRZ2RHaGxYRzR2THlCSWIzTjBVbTl2ZENCaVlXTnJMaUJVYnlCblpYUWdkRzhnZEdobElFaHZjM1JTYjI5MExDQjViM1VnYm1WbFpDQjBieUJ3WVhOeklHRWdZMmhwYkdRZ2IyWWdhWFF1WEc0dkx5QlVhR1VnYzJGdFpTQjBhR2x1WnlCaGNIQnNhV1Z6SUhSdklGTjFjM0JsYm5ObElHSnZkVzVrWVhKcFpYTXVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTnNiM05sYzNSSmJuTjBZVzVqWlVaeWIyMU9iMlJsS0hSaGNtZGxkRTV2WkdVcElIdGNiaUFnZG1GeUlIUmhjbWRsZEVsdWMzUWdQU0IwWVhKblpYUk9iMlJsVzJsdWRHVnlibUZzU1c1emRHRnVZMlZMWlhsZE8xeHVYRzRnSUdsbUlDaDBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lDQWdMeThnUkc5dUozUWdjbVYwZFhKdUlFaHZjM1JTYjI5MElHOXlJRk4xYzNCbGJuTmxRMjl0Y0c5dVpXNTBJR2hsY21VdVhHNGdJQ0FnY21WMGRYSnVJSFJoY21kbGRFbHVjM1E3WEc0Z0lIMGdMeThnU1dZZ2RHaGxJR1JwY21WamRDQmxkbVZ1ZENCMFlYSm5aWFFnYVhOdUozUWdZU0JTWldGamRDQnZkMjVsWkNCRVQwMGdibTlrWlN3Z2QyVWdibVZsWkNCMGJ5QnNiMjlyWEc0Z0lDOHZJSFJ2SUhObFpTQnBaaUJ2Ym1VZ2IyWWdhWFJ6SUhCaGNtVnVkSE1nYVhNZ1lTQlNaV0ZqZENCdmQyNWxaQ0JFVDAwZ2JtOWtaUzVjYmx4dVhHNGdJSFpoY2lCd1lYSmxiblJPYjJSbElEMGdkR0Z5WjJWMFRtOWtaUzV3WVhKbGJuUk9iMlJsTzF4dVhHNGdJSGRvYVd4bElDaHdZWEpsYm5ST2IyUmxLU0I3WEc0Z0lDQWdMeThnVjJVbmJHd2dZMmhsWTJzZ2FXWWdkR2hwY3lCcGN5QmhJR052Ym5SaGFXNWxjaUJ5YjI5MElIUm9ZWFFnWTI5MWJHUWdhVzVqYkhWa1pWeHVJQ0FnSUM4dklGSmxZV04wSUc1dlpHVnpJR2x1SUhSb1pTQm1kWFIxY21VdUlGZGxJRzVsWldRZ2RHOGdZMmhsWTJzZ2RHaHBjeUJtYVhKemRDQmlaV05oZFhObFhHNGdJQ0FnTHk4Z2FXWWdkMlVuY21VZ1lTQmphR2xzWkNCdlppQmhJR1JsYUhsa2NtRjBaV1FnWTI5dWRHRnBibVZ5TENCM1pTQnVaV1ZrSUhSdklHWnBjbk4wWEc0Z0lDQWdMeThnWm1sdVpDQjBhR0YwSUdsdWJtVnlJR052Ym5SaGFXNWxjaUJpWldadmNtVWdiVzkyYVc1bklHOXVJSFJ2SUdacGJtUnBibWNnZEdobElIQmhjbVZ1ZEZ4dUlDQWdJQzh2SUdsdWMzUmhibU5sTGlCT2IzUmxJSFJvWVhRZ2QyVWdaRzl1SjNRZ1kyaGxZMnNnZEdocGN5Qm1hV1ZzWkNCdmJpQWdkR2hsSUhSaGNtZGxkRTV2WkdWY2JpQWdJQ0F2THlCcGRITmxiR1lnWW1WallYVnpaU0IwYUdVZ1ptbGlaWEp6SUdGeVpTQmpiMjVqWlhCMGRXRnNiSGtnWW1WMGQyVmxiaUIwYUdVZ1kyOXVkR0ZwYm1WeVhHNGdJQ0FnTHk4Z2JtOWtaU0JoYm1RZ2RHaGxJR1pwY25OMElHTm9hV3hrTGlCSmRDQnBjMjRuZENCemRYSnliM1Z1WkdsdVp5QjBhR1VnWTI5dWRHRnBibVZ5SUc1dlpHVXVYRzRnSUNBZ0x5OGdTV1lnYVhRbmN5QnViM1FnWVNCamIyNTBZV2x1WlhJc0lIZGxJR05vWldOcklHbG1JR2wwSjNNZ1lXNGdhVzV6ZEdGdVkyVXVYRzRnSUNBZ2RHRnlaMlYwU1c1emRDQTlJSEJoY21WdWRFNXZaR1ZiYVc1MFpYSnVZV3hEYjI1MFlXbHVaWEpKYm5OMFlXNWpaVXRsZVYwZ2ZId2djR0Z5Wlc1MFRtOWtaVnRwYm5SbGNtNWhiRWx1YzNSaGJtTmxTMlY1WFR0Y2JseHVJQ0FnSUdsbUlDaDBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lDQWdJQ0F2THlCVGFXNWpaU0IwYUdseklIZGhjMjRuZENCMGFHVWdaR2x5WldOMElIUmhjbWRsZENCdlppQjBhR1VnWlhabGJuUXNJSGRsSUcxcFoyaDBJR2hoZG1WY2JpQWdJQ0FnSUM4dklITjBaWEJ3WldRZ2NHRnpkQ0JrWldoNVpISmhkR1ZrSUVSUFRTQnViMlJsY3lCMGJ5Qm5aWFFnYUdWeVpTNGdTRzkzWlhabGNpQjBhR1Y1SUdOdmRXeGtYRzRnSUNBZ0lDQXZMeUJoYkhOdklHaGhkbVVnWW1WbGJpQnViMjR0VW1WaFkzUWdibTlrWlhNdUlGZGxJRzVsWldRZ2RHOGdZVzV6ZDJWeUlIZG9hV05vSUc5dVpTNWNiaUFnSUNBZ0lDOHZJRWxtSUhkbElIUm9aU0JwYm5OMFlXNWpaU0JrYjJWemJpZDBJR2hoZG1VZ1lXNTVJR05vYVd4a2NtVnVMQ0IwYUdWdUlIUm9aWEpsSUdOaGJpZDBJR0psWEc0Z0lDQWdJQ0F2THlCaElHNWxjM1JsWkNCemRYTndaVzV6WlNCaWIzVnVaR0Z5ZVNCM2FYUm9hVzRnYVhRdUlGTnZJSGRsSUdOaGJpQjFjMlVnZEdocGN5QmhjeUJoSUdaaGMzUmNiaUFnSUNBZ0lDOHZJR0poYVd4dmRYUXVJRTF2YzNRZ2IyWWdkR2hsSUhScGJXVXNJSGRvWlc0Z2NHVnZjR3hsSUdGa1pDQnViMjR0VW1WaFkzUWdZMmhwYkdSeVpXNGdkRzljYmlBZ0lDQWdJQzh2SUhSb1pTQjBjbVZsTENCcGRDQnBjeUIxYzJsdVp5QmhJSEpsWmlCMGJ5QmhJR05vYVd4a0xXeGxjM01nUkU5TklHNXZaR1V1WEc0Z0lDQWdJQ0F2THlCT2IzSnRZV3hzZVNCM1pTZGtJRzl1YkhrZ2JtVmxaQ0IwYnlCamFHVmpheUJ2Ym1VZ2IyWWdkR2hsSUdacFltVnljeUJpWldOaGRYTmxJR2xtSUdsMFhHNGdJQ0FnSUNBdkx5Qm9ZWE1nWlhabGNpQm5iMjVsSUdaeWIyMGdhR0YyYVc1bklHTm9hV3hrY21WdUlIUnZJR1JsYkdWMGFXNW5JSFJvWlcwZ2IzSWdkbWxqWlNCMlpYSnpZVnh1SUNBZ0lDQWdMeThnYVhRZ2QyOTFiR1FnYUdGMlpTQmtaV3hsZEdWa0lIUm9aU0JrWldoNVpISmhkR1ZrSUdKdmRXNWtZWEo1SUc1bGMzUmxaQ0JwYm5OcFpHVWdZV3h5WldGa2VTNWNiaUFnSUNBZ0lDOHZJRWh2ZDJWMlpYSXNJSE5wYm1ObElIUm9aU0JJYjNOMFVtOXZkQ0J6ZEdGeWRITWdiM1YwSUhkcGRHZ2dZVzRnWVd4MFpYSnVZWFJsSUdsMElHMXBaMmgwWEc0Z0lDQWdJQ0F2THlCb1lYWmxJRzl1WlNCdmJpQjBhR1VnWVd4MFpYSnVZWFJsSUhOdklIZGxJRzVsWldRZ2RHOGdZMmhsWTJzZ2FXNGdZMkZ6WlNCMGFHbHpJSGRoY3lCaFhHNGdJQ0FnSUNBdkx5QnliMjkwTGx4dUlDQWdJQ0FnZG1GeUlHRnNkR1Z5Ym1GMFpTQTlJSFJoY21kbGRFbHVjM1F1WVd4MFpYSnVZWFJsTzF4dVhHNGdJQ0FnSUNCcFppQW9kR0Z5WjJWMFNXNXpkQzVqYUdsc1pDQWhQVDBnYm5Wc2JDQjhmQ0JoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3dnSmlZZ1lXeDBaWEp1WVhSbExtTm9hV3hrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRTVsZUhRZ2QyVWdibVZsWkNCMGJ5Qm1hV2QxY21VZ2IzVjBJR2xtSUhSb1pTQnViMlJsSUhSb1lYUWdjMnRwY0hCbFpDQndZWE4wSUdselhHNGdJQ0FnSUNBZ0lDOHZJRzVsYzNSbFpDQjNhWFJvYVc0Z1lTQmtaV2g1WkhKaGRHVmtJR0p2ZFc1a1lYSjVJR0Z1WkNCcFppQnpieXdnZDJocFkyZ2diMjVsTGx4dUlDQWdJQ0FnSUNCMllYSWdjM1Z6Y0dWdWMyVkpibk4wWVc1alpTQTlJR2RsZEZCaGNtVnVkRk4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9kR0Z5WjJWMFRtOWtaU2s3WEc1Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0hOMWMzQmxibk5sU1c1emRHRnVZMlVnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCbWIzVnVaQ0JoSUhOMWMzQmxibk5sSUdsdWMzUmhibU5sTGlCVWFHRjBJRzFsWVc1eklIUm9ZWFFnZDJVZ2FHRjJaVzRuZEZ4dUlDQWdJQ0FnSUNBZ0lDOHZJR2g1WkhKaGRHVmtJR2wwSUhsbGRDNGdSWFpsYmlCMGFHOTFaMmdnZDJVZ2JHVmhkbVVnZEdobElHTnZiVzFsYm5SeklHbHVJSFJvWlZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRVJQVFNCaFpuUmxjaUJvZVdSeVlYUnBibWNzSUdGdVpDQjBhR1Z5WlNCaGNtVWdZbTkxYm1SaGNtbGxjeUJwYmlCMGFHVWdSRTlOWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdkR2hoZENCamIzVnNaQ0JoYkhKbFlXUjVJR0psSUdoNVpISmhkR1ZrTENCM1pTQjNiM1ZzWkc0bmRDQm9ZWFpsSUdadmRXNWtJSFJvWlcxY2JpQWdJQ0FnSUNBZ0lDQXZMeUIwYUhKdmRXZG9JSFJvYVhNZ2NHRnpjeUJ6YVc1alpTQnBaaUIwYUdVZ2RHRnlaMlYwSUdseklHaDVaSEpoZEdWa0lHbDBJSGR2ZFd4a1hHNGdJQ0FnSUNBZ0lDQWdMeThnYUdGMlpTQm9ZV1FnWVc0Z2FXNTBaWEp1WVd4SmJuTjBZVzVqWlV0bGVTQnZiaUJwZEM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJNWlhRbmN5Qm5aWFFnZEdobElHWnBZbVZ5SUdGemMyOWphV0YwWldRZ2QybDBhQ0IwYUdVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5SY2JpQWdJQ0FnSUNBZ0lDQXZMeUJoY3lCMGFHVWdaR1ZsY0dWemRDQnBibk4wWVc1alpTNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2RHRnlaMlYwVTNWemNHVnVjMlZKYm5OMElEMGdjM1Z6Y0dWdWMyVkpibk4wWVc1alpWdHBiblJsY201aGJFbHVjM1JoYm1ObFMyVjVYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwWVhKblpYUlRkWE53Wlc1elpVbHVjM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZWEpuWlhSVGRYTndaVzV6WlVsdWMzUTdYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5QkpaaUIzWlNCa2IyNG5kQ0JtYVc1a0lHRWdSbWxpWlhJZ2IyNGdkR2hsSUdOdmJXMWxiblFzSUdsMElHMXBaMmgwSUdKbElHSmxZMkYxYzJWY2JpQWdJQ0FnSUNBZ0lDQXZMeUIzWlNCb1lYWmxiaWQwSUdkdmRIUmxiaUIwYnlCb2VXUnlZWFJsSUdsMElIbGxkQzRnVkdobGNtVWdiV2xuYUhRZ2MzUnBiR3dnWW1VZ1lWeHVJQ0FnSUNBZ0lDQWdJQzh2SUhCaGNtVnVkQ0JpYjNWdVpHRnllU0IwYUdGMElHaGhjMjRuZENCaFltOTJaU0IwYUdseklHOXVaU0J6YnlCM1pTQnVaV1ZrSUhSdklHWnBibVJjYmlBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnYjNWMFpYSWdiVzl6ZENCMGFHRjBJR2x6SUd0dWIzZHVMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnpkWE53Wlc1elpVbHVjM1JoYm1ObElEMGdaMlYwVUdGeVpXNTBVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHpkWE53Wlc1elpVbHVjM1JoYm1ObEtUc2dMeThnU1dZZ2QyVWdaRzl1SjNRZ1ptbHVaQ0J2Ym1Vc0lIUm9aVzRnZEdoaGRDQnphRzkxYkdRZ2JXVmhiaUIwYUdGMElIUm9aU0J3WVhKbGJuUmNiaUFnSUNBZ0lDQWdJQ0F2THlCb2IzTjBJR052YlhCdmJtVnVkQ0JoYkhOdklHaGhjMjRuZENCb2VXUnlZWFJsWkNCNVpYUXVJRmRsSUdOaGJpQnlaWFIxY200Z2FYUmNiaUFnSUNBZ0lDQWdJQ0F2THlCaVpXeHZkeUJ6YVc1alpTQnBkQ0IzYVd4c0lHSmhhV3dnYjNWMElHOXVJSFJvWlNCcGMwMXZkVzUwWldRZ1kyaGxZMnNnYkdGMFpYSXVYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR0Z5WjJWMFRtOWtaU0E5SUhCaGNtVnVkRTV2WkdVN1hHNGdJQ0FnY0dGeVpXNTBUbTlrWlNBOUlIUmhjbWRsZEU1dlpHVXVjR0Z5Wlc1MFRtOWtaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1THlvcVhHNGdLaUJIYVhabGJpQmhJRVJQVFNCdWIyUmxMQ0J5WlhSMWNtNGdkR2hsSUZKbFlXTjBSRTlOUTI5dGNHOXVaVzUwSUc5eUlGSmxZV04wUkU5TlZHVjRkRU52YlhCdmJtVnVkRnh1SUNvZ2FXNXpkR0Z1WTJVc0lHOXlJRzUxYkd3Z2FXWWdkR2hsSUc1dlpHVWdkMkZ6SUc1dmRDQnlaVzVrWlhKbFpDQmllU0IwYUdseklGSmxZV04wTGx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdkbGRFbHVjM1JoYm1ObFJuSnZiVTV2WkdVa01TaHViMlJsS1NCN1hHNGdJSFpoY2lCcGJuTjBJRDBnYm05a1pWdHBiblJsY201aGJFbHVjM1JoYm1ObFMyVjVYU0I4ZkNCdWIyUmxXMmx1ZEdWeWJtRnNRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVkxaWGxkTzF4dVhHNGdJR2xtSUNocGJuTjBLU0I3WEc0Z0lDQWdhV1lnS0dsdWMzUXVkR0ZuSUQwOVBTQkliM04wUTI5dGNHOXVaVzUwSUh4OElHbHVjM1F1ZEdGbklEMDlQU0JJYjNOMFZHVjRkQ0I4ZkNCcGJuTjBMblJoWnlBOVBUMGdVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUWdmSHdnYVc1emRDNTBZV2NnUFQwOUlFaHZjM1JTYjI5MEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2FXNXpkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OVhHNHZLaXBjYmlBcUlFZHBkbVZ1SUdFZ1VtVmhZM1JFVDAxRGIyMXdiMjVsYm5RZ2IzSWdVbVZoWTNSRVQwMVVaWGgwUTI5dGNHOXVaVzUwTENCeVpYUjFjbTRnZEdobElHTnZjbkpsYzNCdmJtUnBibWRjYmlBcUlFUlBUU0J1YjJSbExseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWtNU2hwYm5OMEtTQjdYRzRnSUdsbUlDaHBibk4wTG5SaFp5QTlQVDBnU0c5emRFTnZiWEJ2Ym1WdWRDQjhmQ0JwYm5OMExuUmhaeUE5UFQwZ1NHOXpkRlJsZUhRcElIdGNiaUFnSUNBdkx5QkpiaUJHYVdKbGNpQjBhR2x6TENCcGN5QnFkWE4wSUhSb1pTQnpkR0YwWlNCdWIyUmxJSEpwWjJoMElHNXZkeTRnVjJVZ1lYTnpkVzFsSUdsMElIZHBiR3dnWW1WY2JpQWdJQ0F2THlCaElHaHZjM1FnWTI5dGNHOXVaVzUwSUc5eUlHaHZjM1FnZEdWNGRDNWNiaUFnSUNCeVpYUjFjbTRnYVc1emRDNXpkR0YwWlU1dlpHVTdYRzRnSUgwZ0x5OGdWMmwwYUc5MWRDQjBhR2x6SUdacGNuTjBJR2x1ZG1GeWFXRnVkQ3dnY0dGemMybHVaeUJoSUc1dmJpMUVUMDB0WTI5dGNHOXVaVzUwSUhSeWFXZG5aWEp6SUhSb1pTQnVaWGgwWEc0Z0lDOHZJR2x1ZG1GeWFXRnVkQ0JtYjNJZ1lTQnRhWE56YVc1bklIQmhjbVZ1ZEN3Z2QyaHBZMmdnYVhNZ2MzVndaWElnWTI5dVpuVnphVzVuTGx4dVhHNWNiaUFnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0ltZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVTZJRWx1ZG1Gc2FXUWdZWEpuZFcxbGJuUXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdkbGRFWnBZbVZ5UTNWeWNtVnVkRkJ5YjNCelJuSnZiVTV2WkdVa01TaHViMlJsS1NCN1hHNGdJSEpsZEhWeWJpQnViMlJsVzJsdWRHVnlibUZzUlhabGJuUklZVzVrYkdWeWMwdGxlVjBnZkh3Z2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlIVndaR0YwWlVacFltVnlVSEp2Y0hNb2JtOWtaU3dnY0hKdmNITXBJSHRjYmlBZ2JtOWtaVnRwYm5SbGNtNWhiRVYyWlc1MFNHRnVaR3hsY25OTFpYbGRJRDBnY0hKdmNITTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRkJoY21WdWRDaHBibk4wS1NCN1hHNGdJR1J2SUh0Y2JpQWdJQ0JwYm5OMElEMGdhVzV6ZEM1eVpYUjFjbTQ3SUM4dklGUlBSRTg2SUVsbUlIUm9hWE1nYVhNZ1lTQkliM04wVW05dmRDQjNaU0J0YVdkb2RDQjNZVzUwSUhSdklHSmhhV3dnYjNWMExseHVJQ0FnSUM4dklGUm9ZWFFnYVhNZ1pHVndaVzVrYVc1bklHOXVJR2xtSUhkbElIZGhiblFnYm1WemRHVmtJSE4xWW5SeVpXVnpJQ2hzWVhsbGNuTXBJSFJ2SUdKMVltSnNaVnh1SUNBZ0lDOHZJR1YyWlc1MGN5QjBieUIwYUdWcGNpQndZWEpsYm5RdUlGZGxJR052ZFd4a0lHRnNjMjhnWjI4Z2RHaHliM1ZuYUNCd1lYSmxiblJPYjJSbElHOXVJSFJvWlZ4dUlDQWdJQzh2SUdodmMzUWdibTlrWlNCaWRYUWdkR2hoZENCM2IzVnNaRzRuZENCM2IzSnJJR1p2Y2lCU1pXRmpkQ0JPWVhScGRtVWdZVzVrSUdSdlpYTnVKM1FnYkdWMElIVnpYRzRnSUNBZ0x5OGdaRzhnZEdobElIQnZjblJoYkNCbVpXRjBkWEpsTGx4dUlDQjlJSGRvYVd4bElDaHBibk4wSUNZbUlHbHVjM1F1ZEdGbklDRTlQU0JJYjNOMFEyOXRjRzl1Wlc1MEtUdGNibHh1SUNCcFppQW9hVzV6ZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJwYm5OME8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OVhHNHZLaXBjYmlBcUlGSmxkSFZ5YmlCMGFHVWdiRzkzWlhOMElHTnZiVzF2YmlCaGJtTmxjM1J2Y2lCdlppQkJJR0Z1WkNCQ0xDQnZjaUJ1ZFd4c0lHbG1JSFJvWlhrZ1lYSmxJR2x1WEc0Z0tpQmthV1ptWlhKbGJuUWdkSEpsWlhNdVhHNGdLaTljYmx4dVhHNW1kVzVqZEdsdmJpQm5aWFJNYjNkbGMzUkRiMjF0YjI1QmJtTmxjM1J2Y2locGJuTjBRU3dnYVc1emRFSXBJSHRjYmlBZ2RtRnlJR1JsY0hSb1FTQTlJREE3WEc1Y2JpQWdabTl5SUNoMllYSWdkR1Z0Y0VFZ1BTQnBibk4wUVRzZ2RHVnRjRUU3SUhSbGJYQkJJRDBnWjJWMFVHRnlaVzUwS0hSbGJYQkJLU2tnZTF4dUlDQWdJR1JsY0hSb1FTc3JPMXh1SUNCOVhHNWNiaUFnZG1GeUlHUmxjSFJvUWlBOUlEQTdYRzVjYmlBZ1ptOXlJQ2gyWVhJZ2RHVnRjRUlnUFNCcGJuTjBRanNnZEdWdGNFSTdJSFJsYlhCQ0lEMGdaMlYwVUdGeVpXNTBLSFJsYlhCQ0tTa2dlMXh1SUNBZ0lHUmxjSFJvUWlzck8xeHVJQ0I5SUM4dklFbG1JRUVnYVhNZ1pHVmxjR1Z5TENCamNtRjNiQ0IxY0M1Y2JseHVYRzRnSUhkb2FXeGxJQ2hrWlhCMGFFRWdMU0JrWlhCMGFFSWdQaUF3S1NCN1hHNGdJQ0FnYVc1emRFRWdQU0JuWlhSUVlYSmxiblFvYVc1emRFRXBPMXh1SUNBZ0lHUmxjSFJvUVMwdE8xeHVJQ0I5SUM4dklFbG1JRUlnYVhNZ1pHVmxjR1Z5TENCamNtRjNiQ0IxY0M1Y2JseHVYRzRnSUhkb2FXeGxJQ2hrWlhCMGFFSWdMU0JrWlhCMGFFRWdQaUF3S1NCN1hHNGdJQ0FnYVc1emRFSWdQU0JuWlhSUVlYSmxiblFvYVc1emRFSXBPMXh1SUNBZ0lHUmxjSFJvUWkwdE8xeHVJQ0I5SUM4dklGZGhiR3NnYVc0Z2JHOWphM04wWlhBZ2RXNTBhV3dnZDJVZ1ptbHVaQ0JoSUcxaGRHTm9MbHh1WEc1Y2JpQWdkbUZ5SUdSbGNIUm9JRDBnWkdWd2RHaEJPMXh1WEc0Z0lIZG9hV3hsSUNoa1pYQjBhQzB0S1NCN1hHNGdJQ0FnYVdZZ0tHbHVjM1JCSUQwOVBTQnBibk4wUWlCOGZDQnBibk4wUVNBOVBUMGdhVzV6ZEVJdVlXeDBaWEp1WVhSbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2FXNXpkRUU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhVzV6ZEVFZ1BTQm5aWFJRWVhKbGJuUW9hVzV6ZEVFcE8xeHVJQ0FnSUdsdWMzUkNJRDBnWjJWMFVHRnlaVzUwS0dsdWMzUkNLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1THlvcVhHNGdLaUJUYVcxMWJHRjBaWE1nZEdobElIUnlZWFpsY25OaGJDQnZaaUJoSUhSM2J5MXdhR0Z6WlN3Z1kyRndkSFZ5WlM5aWRXSmliR1VnWlhabGJuUWdaR2x6Y0dGMFkyZ3VYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdkSEpoZG1WeWMyVlVkMjlRYUdGelpTaHBibk4wTENCbWJpd2dZWEpuS1NCN1hHNGdJSFpoY2lCd1lYUm9JRDBnVzEwN1hHNWNiaUFnZDJocGJHVWdLR2x1YzNRcElIdGNiaUFnSUNCd1lYUm9MbkIxYzJnb2FXNXpkQ2s3WEc0Z0lDQWdhVzV6ZENBOUlHZGxkRkJoY21WdWRDaHBibk4wS1R0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJwTzF4dVhHNGdJR1p2Y2lBb2FTQTlJSEJoZEdndWJHVnVaM1JvT3lCcExTMGdQaUF3T3lrZ2UxeHVJQ0FnSUdadUtIQmhkR2hiYVYwc0lDZGpZWEIwZFhKbFpDY3NJR0Z5WnlrN1hHNGdJSDFjYmx4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2NHRjBhQzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdadUtIQmhkR2hiYVYwc0lDZGlkV0ppYkdWa0p5d2dZWEpuS1R0Y2JpQWdmVnh1ZlZ4dUx5b3FYRzRnS2lCVWNtRjJaWEp6WlhNZ2RHaGxJRWxFSUdocFpYSmhjbU5vZVNCaGJtUWdhVzUyYjJ0bGN5QjBhR1VnYzNWd2NHeHBaV1FnWUdOaVlDQnZiaUJoYm5rZ1NVUnpJSFJvWVhSY2JpQXFJSE5vYjNWc1pDQjNiM1ZzWkNCeVpXTmxhWFpsSUdFZ1lHMXZkWE5sUlc1MFpYSmdJRzl5SUdCdGIzVnpaVXhsWVhabFlDQmxkbVZ1ZEM1Y2JpQXFYRzRnS2lCRWIyVnpJRzV2ZENCcGJuWnZhMlVnZEdobElHTmhiR3hpWVdOcklHOXVJSFJvWlNCdVpXRnlaWE4wSUdOdmJXMXZiaUJoYm1ObGMzUnZjaUJpWldOaGRYTmxJRzV2ZEdocGJtZGNiaUFxSUZ3aVpXNTBaWEpsWkZ3aUlHOXlJRndpYkdWbWRGd2lJSFJvWVhRZ1pXeGxiV1Z1ZEM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCMGNtRjJaWEp6WlVWdWRHVnlUR1ZoZG1Vb1puSnZiU3dnZEc4c0lHWnVMQ0JoY21kR2NtOXRMQ0JoY21kVWJ5a2dlMXh1SUNCMllYSWdZMjl0Ylc5dUlEMGdabkp2YlNBbUppQjBieUEvSUdkbGRFeHZkMlZ6ZEVOdmJXMXZia0Z1WTJWemRHOXlLR1p5YjIwc0lIUnZLU0E2SUc1MWJHdzdYRzRnSUhaaGNpQndZWFJvUm5KdmJTQTlJRnRkTzF4dVhHNGdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnYVdZZ0tDRm1jbTl0S1NCN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWm5KdmJTQTlQVDBnWTI5dGJXOXVLU0I3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZV3gwWlhKdVlYUmxJRDBnWm5KdmJTNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQnBaaUFvWVd4MFpYSnVZWFJsSUNFOVBTQnVkV3hzSUNZbUlHRnNkR1Z5Ym1GMFpTQTlQVDBnWTI5dGJXOXVLU0I3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCd1lYUm9Sbkp2YlM1d2RYTm9LR1p5YjIwcE8xeHVJQ0FnSUdaeWIyMGdQU0JuWlhSUVlYSmxiblFvWm5KdmJTazdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NHRjBhRlJ2SUQwZ1cxMDdYRzVjYmlBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQnBaaUFvSVhSdktTQjdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHOGdQVDA5SUdOdmJXMXZiaWtnZTF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJRjloYkhSbGNtNWhkR1VnUFNCMGJ5NWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQnBaaUFvWDJGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmZZV3gwWlhKdVlYUmxJRDA5UFNCamIyMXRiMjRwSUh0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQmhkR2hVYnk1d2RYTm9LSFJ2S1R0Y2JpQWdJQ0IwYnlBOUlHZGxkRkJoY21WdWRDaDBieWs3WEc0Z0lIMWNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIQmhkR2hHY205dExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdabTRvY0dGMGFFWnliMjFiYVYwc0lDZGlkV0ppYkdWa0p5d2dZWEpuUm5KdmJTazdYRzRnSUgxY2JseHVJQ0JtYjNJZ0tIWmhjaUJmYVNBOUlIQmhkR2hVYnk1c1pXNW5kR2c3SUY5cExTMGdQaUF3T3lrZ2UxeHVJQ0FnSUdadUtIQmhkR2hVYjF0ZmFWMHNJQ2RqWVhCMGRYSmxaQ2NzSUdGeVoxUnZLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMwbHVkR1Z5WVdOMGFYWmxLSFJoWnlrZ2UxeHVJQ0J5WlhSMWNtNGdkR0ZuSUQwOVBTQW5ZblYwZEc5dUp5QjhmQ0IwWVdjZ1BUMDlJQ2RwYm5CMWRDY2dmSHdnZEdGbklEMDlQU0FuYzJWc1pXTjBKeUI4ZkNCMFlXY2dQVDA5SUNkMFpYaDBZWEpsWVNjN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhOb2IzVnNaRkJ5WlhabGJuUk5iM1Z6WlVWMlpXNTBLRzVoYldVc0lIUjVjR1VzSUhCeWIzQnpLU0I3WEc0Z0lITjNhWFJqYUNBb2JtRnRaU2tnZTF4dUlDQWdJR05oYzJVZ0oyOXVRMnhwWTJzbk9seHVJQ0FnSUdOaGMyVWdKMjl1UTJ4cFkydERZWEIwZFhKbEp6cGNiaUFnSUNCallYTmxJQ2R2YmtSdmRXSnNaVU5zYVdOckp6cGNiaUFnSUNCallYTmxJQ2R2YmtSdmRXSnNaVU5zYVdOclEyRndkSFZ5WlNjNlhHNGdJQ0FnWTJGelpTQW5iMjVOYjNWelpVUnZkMjRuT2x4dUlDQWdJR05oYzJVZ0oyOXVUVzkxYzJWRWIzZHVRMkZ3ZEhWeVpTYzZYRzRnSUNBZ1kyRnpaU0FuYjI1TmIzVnpaVTF2ZG1Vbk9seHVJQ0FnSUdOaGMyVWdKMjl1VFc5MWMyVk5iM1psUTJGd2RIVnlaU2M2WEc0Z0lDQWdZMkZ6WlNBbmIyNU5iM1Z6WlZWd0p6cGNiaUFnSUNCallYTmxJQ2R2YmsxdmRYTmxWWEJEWVhCMGRYSmxKenBjYmlBZ0lDQmpZWE5sSUNkdmJrMXZkWE5sUlc1MFpYSW5PbHh1SUNBZ0lDQWdjbVYwZFhKdUlDRWhLSEJ5YjNCekxtUnBjMkZpYkdWa0lDWW1JR2x6U1c1MFpYSmhZM1JwZG1Vb2RIbHdaU2twTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dUx5b3FYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnYVc1emRDQlVhR1VnYVc1emRHRnVZMlVzSUhkb2FXTm9JR2x6SUhSb1pTQnpiM1Z5WTJVZ2IyWWdaWFpsYm5SekxseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSEpsWjJsemRISmhkR2x2Yms1aGJXVWdUbUZ0WlNCdlppQnNhWE4wWlc1bGNpQW9aUzVuTGlCZ2IyNURiR2xqYTJBcExseHVJQ29nUUhKbGRIVnliaUI3UDJaMWJtTjBhVzl1ZlNCVWFHVWdjM1J2Y21Wa0lHTmhiR3hpWVdOckxseHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdaMlYwVEdsemRHVnVaWElvYVc1emRDd2djbVZuYVhOMGNtRjBhVzl1VG1GdFpTa2dlMXh1SUNCMllYSWdiR2x6ZEdWdVpYSTdJQzh2SUZSUFJFODZJSE5vYjNWc1pGQnlaWFpsYm5STmIzVnpaVVYyWlc1MElHbHpJRVJQVFMxemNHVmphV1pwWXlCaGJtUWdaR1ZtYVc1cGRHVnNlU0J6YUc5MWJHUWdibTkwWEc0Z0lDOHZJR3hwZG1VZ2FHVnlaVHNnYm1WbFpITWdkRzhnWW1VZ2JXOTJaV1FnZEc4Z1lTQmlaWFIwWlhJZ2NHeGhZMlVnYzI5dmJseHVYRzRnSUhaaGNpQnpkR0YwWlU1dlpHVWdQU0JwYm5OMExuTjBZWFJsVG05a1pUdGNibHh1SUNCcFppQW9JWE4wWVhSbFRtOWtaU2tnZTF4dUlDQWdJQzh2SUZkdmNtc2dhVzRnY0hKdlozSmxjM01nS0dWNE9pQnZibXh2WVdRZ1pYWmxiblJ6SUdsdUlHbHVZM0psYldWdWRHRnNJRzF2WkdVcExseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhCeWIzQnpJRDBnWjJWMFJtbGlaWEpEZFhKeVpXNTBVSEp2Y0hOR2NtOXRUbTlrWlNoemRHRjBaVTV2WkdVcE8xeHVYRzRnSUdsbUlDZ2hjSEp2Y0hNcElIdGNiaUFnSUNBdkx5QlhiM0pySUdsdUlIQnliMmR5WlhOekxseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdiR2x6ZEdWdVpYSWdQU0J3Y205d2MxdHlaV2RwYzNSeVlYUnBiMjVPWVcxbFhUdGNibHh1SUNCcFppQW9jMmh2ZFd4a1VISmxkbVZ1ZEUxdmRYTmxSWFpsYm5Rb2NtVm5hWE4wY21GMGFXOXVUbUZ0WlN3Z2FXNXpkQzUwZVhCbExDQndjbTl3Y3lrcElIdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2xtSUNnaEtDRnNhWE4wWlc1bGNpQjhmQ0IwZVhCbGIyWWdiR2x6ZEdWdVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpUlhod1pXTjBaV1FnWUZ3aUlDc2djbVZuYVhOMGNtRjBhVzl1VG1GdFpTQXJJRndpWUNCc2FYTjBaVzVsY2lCMGJ5QmlaU0JoSUdaMWJtTjBhVzl1TENCcGJuTjBaV0ZrSUdkdmRDQmhJSFpoYkhWbElHOW1JR0JjSWlBcklIUjVjR1Z2WmlCc2FYTjBaVzVsY2lBcklGd2lZQ0IwZVhCbExsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR3hwYzNSbGJtVnlPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTnZiV1VnWlhabGJuUWdkSGx3WlhNZ2FHRjJaU0JoSUc1dmRHbHZiaUJ2WmlCa2FXWm1aWEpsYm5RZ2NtVm5hWE4wY21GMGFXOXVJRzVoYldWeklHWnZjaUJrYVdabVpYSmxiblJjYmlBcUlGd2ljR2hoYzJWelhDSWdiMllnY0hKdmNHRm5ZWFJwYjI0dUlGUm9hWE1nWm1sdVpITWdiR2x6ZEdWdVpYSnpJR0o1SUdFZ1oybDJaVzRnY0doaGMyVXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHeHBjM1JsYm1WeVFYUlFhR0Z6WlNocGJuTjBMQ0JsZG1WdWRDd2djSEp2Y0dGbllYUnBiMjVRYUdGelpTa2dlMXh1SUNCMllYSWdjbVZuYVhOMGNtRjBhVzl1VG1GdFpTQTlJR1YyWlc1MExtUnBjM0JoZEdOb1EyOXVabWxuTG5Cb1lYTmxaRkpsWjJsemRISmhkR2x2Yms1aGJXVnpXM0J5YjNCaFoyRjBhVzl1VUdoaGMyVmRPMXh1SUNCeVpYUjFjbTRnWjJWMFRHbHpkR1Z1WlhJb2FXNXpkQ3dnY21WbmFYTjBjbUYwYVc5dVRtRnRaU2s3WEc1OVhHNHZLaXBjYmlBcUlFRWdjMjFoYkd3Z2MyVjBJRzltSUhCeWIzQmhaMkYwYVc5dUlIQmhkSFJsY201ekxDQmxZV05vSUc5bUlIZG9hV05vSUhkcGJHd2dZV05qWlhCMElHRWdjMjFoYkd3Z1lXMXZkVzUwWEc0Z0tpQnZaaUJwYm1admNtMWhkR2x2Yml3Z1lXNWtJR2RsYm1WeVlYUmxJR0VnYzJWMElHOW1JRndpWkdsemNHRjBZMmdnY21WaFpIa2daWFpsYm5RZ2IySnFaV04wYzF3aUlDMGdkMmhwWTJoY2JpQXFJR0Z5WlNCelpYUnpJRzltSUdWMlpXNTBjeUIwYUdGMElHaGhkbVVnWVd4eVpXRmtlU0JpWldWdUlHRnVibTkwWVhSbFpDQjNhWFJvSUdFZ2MyVjBJRzltSUdScGMzQmhkR05vWldSY2JpQXFJR3hwYzNSbGJtVnlJR1oxYm1OMGFXOXVjeTlwWkhNdUlGUm9aU0JCVUVrZ2FYTWdaR1Z6YVdkdVpXUWdkR2hwY3lCM1lYa2dkRzhnWkdselkyOTFjbUZuWlNCMGFHVnpaVnh1SUNvZ2NISnZjR0ZuWVhScGIyNGdjM1J5WVhSbFoybGxjeUJtY205dElHRmpkSFZoYkd4NUlHVjRaV04xZEdsdVp5QjBhR1VnWkdsemNHRjBZMmhsY3l3Z2MybHVZMlVnZDJWY2JpQXFJR0ZzZDJGNWN5QjNZVzUwSUhSdklHTnZiR3hsWTNRZ2RHaGxJR1Z1ZEdseVpTQnpaWFFnYjJZZ1pHbHpjR0YwWTJobGN5QmlaV1p2Y21VZ1pYaGxZM1YwYVc1bklHVjJaVzRnWVZ4dUlDb2djMmx1WjJ4bElHOXVaUzVjYmlBcUwxeHVYRzR2S2lwY2JpQXFJRlJoWjNNZ1lTQmdVM2x1ZEdobGRHbGpSWFpsYm5SZ0lIZHBkR2dnWkdsemNHRjBZMmhsWkNCc2FYTjBaVzVsY25NdUlFTnlaV0YwYVc1bklIUm9hWE1nWm5WdVkzUnBiMjVjYmlBcUlHaGxjbVVzSUdGc2JHOTNjeUIxY3lCMGJ5QnViM1FnYUdGMlpTQjBieUJpYVc1a0lHOXlJR055WldGMFpTQm1kVzVqZEdsdmJuTWdabTl5SUdWaFkyZ2daWFpsYm5RdVhHNGdLaUJOZFhSaGRHbHVaeUIwYUdVZ1pYWmxiblFuY3lCdFpXMWlaWEp6SUdGc2JHOTNjeUIxY3lCMGJ5QnViM1FnYUdGMlpTQjBieUJqY21WaGRHVWdZU0IzY21Gd2NHbHVaMXh1SUNvZ1hDSmthWE53WVhSamFGd2lJRzlpYW1WamRDQjBhR0YwSUhCaGFYSnpJSFJvWlNCbGRtVnVkQ0IzYVhSb0lIUm9aU0JzYVhOMFpXNWxjaTVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdGalkzVnRkV3hoZEdWRWFYSmxZM1JwYjI1aGJFUnBjM0JoZEdOb1pYTW9hVzV6ZEN3Z2NHaGhjMlVzSUdWMlpXNTBLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9JV2x1YzNRcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkRWFYTndZWFJqYUdsdVp5QnBibk4wSUcxMWMzUWdibTkwSUdKbElHNTFiR3duS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdiR2x6ZEdWdVpYSWdQU0JzYVhOMFpXNWxja0YwVUdoaGMyVW9hVzV6ZEN3Z1pYWmxiblFzSUhCb1lYTmxLVHRjYmx4dUlDQnBaaUFvYkdsemRHVnVaWElwSUh0Y2JpQWdJQ0JsZG1WdWRDNWZaR2x6Y0dGMFkyaE1hWE4wWlc1bGNuTWdQU0JoWTJOMWJYVnNZWFJsU1c1MGJ5aGxkbVZ1ZEM1ZlpHbHpjR0YwWTJoTWFYTjBaVzVsY25Nc0lHeHBjM1JsYm1WeUtUdGNiaUFnSUNCbGRtVnVkQzVmWkdsemNHRjBZMmhKYm5OMFlXNWpaWE1nUFNCaFkyTjFiWFZzWVhSbFNXNTBieWhsZG1WdWRDNWZaR2x6Y0dGMFkyaEpibk4wWVc1alpYTXNJR2x1YzNRcE8xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFTnZiR3hsWTNRZ1pHbHpjR0YwWTJobGN5QW9iWFZ6ZENCaVpTQmxiblJwY21Wc2VTQmpiMnhzWldOMFpXUWdZbVZtYjNKbElHUnBjM0JoZEdOb2FXNW5JQzBnYzJWbElIVnVhWFJjYmlBcUlIUmxjM1J6S1M0Z1RHRjZhV3g1SUdGc2JHOWpZWFJsSUhSb1pTQmhjbkpoZVNCMGJ5QmpiMjV6WlhKMlpTQnRaVzF2Y25rdUlDQlhaU0J0ZFhOMElHeHZiM0FnZEdoeWIzVm5hRnh1SUNvZ1pXRmphQ0JsZG1WdWRDQmhibVFnY0dWeVptOXliU0IwYUdVZ2RISmhkbVZ5YzJGc0lHWnZjaUJsWVdOb0lHOXVaUzRnVjJVZ1kyRnVibTkwSUhCbGNtWnZjbTBnWVZ4dUlDb2djMmx1WjJ4bElIUnlZWFpsY25OaGJDQm1iM0lnZEdobElHVnVkR2x5WlNCamIyeHNaV04wYVc5dUlHOW1JR1YyWlc1MGN5QmlaV05oZFhObElHVmhZMmdnWlhabGJuUWdiV0Y1WEc0Z0tpQm9ZWFpsSUdFZ1pHbG1abVZ5Wlc1MElIUmhjbWRsZEM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlHRmpZM1Z0ZFd4aGRHVlVkMjlRYUdGelpVUnBjM0JoZEdOb1pYTlRhVzVuYkdVb1pYWmxiblFwSUh0Y2JpQWdhV1lnS0dWMlpXNTBJQ1ltSUdWMlpXNTBMbVJwYzNCaGRHTm9RMjl1Wm1sbkxuQm9ZWE5sWkZKbFoybHpkSEpoZEdsdmJrNWhiV1Z6S1NCN1hHNGdJQ0FnZEhKaGRtVnljMlZVZDI5UWFHRnpaU2hsZG1WdWRDNWZkR0Z5WjJWMFNXNXpkQ3dnWVdOamRXMTFiR0YwWlVScGNtVmpkR2x2Ym1Gc1JHbHpjR0YwWTJobGN5d2daWFpsYm5RcE8xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFRmpZM1Z0ZFd4aGRHVnpJSGRwZEdodmRYUWdjbVZuWVhKa0lIUnZJR1JwY21WamRHbHZiaXdnWkc5bGN5QnViM1FnYkc5dmF5Qm1iM0lnY0doaGMyVmtYRzRnS2lCeVpXZHBjM1J5WVhScGIyNGdibUZ0WlhNdUlGTmhiV1VnWVhNZ1lHRmpZM1Z0ZFd4aGRHVkVhWEpsWTNSRWFYTndZWFJqYUdWelUybHVaMnhsWUNCaWRYUWdkMmwwYUc5MWRGeHVJQ29nY21WeGRXbHlhVzVuSUhSb1lYUWdkR2hsSUdCa2FYTndZWFJqYUUxaGNtdGxjbUFnWW1VZ2RHaGxJSE5oYldVZ1lYTWdkR2hsSUdScGMzQmhkR05vWldRZ1NVUXVYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUJoWTJOMWJYVnNZWFJsUkdsemNHRjBZMmhsY3locGJuTjBMQ0JwWjI1dmNtVmtSR2x5WldOMGFXOXVMQ0JsZG1WdWRDa2dlMXh1SUNCcFppQW9hVzV6ZENBbUppQmxkbVZ1ZENBbUppQmxkbVZ1ZEM1a2FYTndZWFJqYUVOdmJtWnBaeTV5WldkcGMzUnlZWFJwYjI1T1lXMWxLU0I3WEc0Z0lDQWdkbUZ5SUhKbFoybHpkSEpoZEdsdmJrNWhiV1VnUFNCbGRtVnVkQzVrYVhOd1lYUmphRU52Ym1acFp5NXlaV2RwYzNSeVlYUnBiMjVPWVcxbE8xeHVJQ0FnSUhaaGNpQnNhWE4wWlc1bGNpQTlJR2RsZEV4cGMzUmxibVZ5S0dsdWMzUXNJSEpsWjJsemRISmhkR2x2Yms1aGJXVXBPMXh1WEc0Z0lDQWdhV1lnS0d4cGMzUmxibVZ5S1NCN1hHNGdJQ0FnSUNCbGRtVnVkQzVmWkdsemNHRjBZMmhNYVhOMFpXNWxjbk1nUFNCaFkyTjFiWFZzWVhSbFNXNTBieWhsZG1WdWRDNWZaR2x6Y0dGMFkyaE1hWE4wWlc1bGNuTXNJR3hwYzNSbGJtVnlLVHRjYmlBZ0lDQWdJR1YyWlc1MExsOWthWE53WVhSamFFbHVjM1JoYm1ObGN5QTlJR0ZqWTNWdGRXeGhkR1ZKYm5SdktHVjJaVzUwTGw5a2FYTndZWFJqYUVsdWMzUmhibU5sY3l3Z2FXNXpkQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRUZqWTNWdGRXeGhkR1Z6SUdScGMzQmhkR05vWlhNZ2IyNGdZVzRnWUZONWJuUm9aWFJwWTBWMlpXNTBZQ3dnWW5WMElHOXViSGtnWm05eUlIUm9aVnh1SUNvZ1lHUnBjM0JoZEdOb1RXRnlhMlZ5WUM1Y2JpQXFJRUJ3WVhKaGJTQjdVM2x1ZEdobGRHbGpSWFpsYm5SOUlHVjJaVzUwWEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCaFkyTjFiWFZzWVhSbFJHbHlaV04wUkdsemNHRjBZMmhsYzFOcGJtZHNaU2hsZG1WdWRDa2dlMXh1SUNCcFppQW9aWFpsYm5RZ0ppWWdaWFpsYm5RdVpHbHpjR0YwWTJoRGIyNW1hV2N1Y21WbmFYTjBjbUYwYVc5dVRtRnRaU2tnZTF4dUlDQWdJR0ZqWTNWdGRXeGhkR1ZFYVhOd1lYUmphR1Z6S0dWMlpXNTBMbDkwWVhKblpYUkpibk4wTENCdWRXeHNMQ0JsZG1WdWRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVdOamRXMTFiR0YwWlZSM2IxQm9ZWE5sUkdsemNHRjBZMmhsY3lobGRtVnVkSE1wSUh0Y2JpQWdabTl5UldGamFFRmpZM1Z0ZFd4aGRHVmtLR1YyWlc1MGN5d2dZV05qZFcxMWJHRjBaVlIzYjFCb1lYTmxSR2x6Y0dGMFkyaGxjMU5wYm1kc1pTazdYRzU5WEc1bWRXNWpkR2x2YmlCaFkyTjFiWFZzWVhSbFJXNTBaWEpNWldGMlpVUnBjM0JoZEdOb1pYTW9iR1ZoZG1Vc0lHVnVkR1Z5TENCbWNtOXRMQ0IwYnlrZ2UxeHVJQ0IwY21GMlpYSnpaVVZ1ZEdWeVRHVmhkbVVvWm5KdmJTd2dkRzhzSUdGalkzVnRkV3hoZEdWRWFYTndZWFJqYUdWekxDQnNaV0YyWlN3Z1pXNTBaWElwTzF4dWZWeHVablZ1WTNScGIyNGdZV05qZFcxMWJHRjBaVVJwY21WamRFUnBjM0JoZEdOb1pYTW9aWFpsYm5SektTQjdYRzRnSUdadmNrVmhZMmhCWTJOMWJYVnNZWFJsWkNobGRtVnVkSE1zSUdGalkzVnRkV3hoZEdWRWFYSmxZM1JFYVhOd1lYUmphR1Z6VTJsdVoyeGxLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlVhR1Z6WlNCMllYSnBZV0pzWlhNZ2MzUnZjbVVnYVc1bWIzSnRZWFJwYjI0Z1lXSnZkWFFnZEdWNGRDQmpiMjUwWlc1MElHOW1JR0VnZEdGeVoyVjBJRzV2WkdVc1hHNGdLaUJoYkd4dmQybHVaeUJqYjIxd1lYSnBjMjl1SUc5bUlHTnZiblJsYm5RZ1ltVm1iM0psSUdGdVpDQmhablJsY2lCaElHZHBkbVZ1SUdWMlpXNTBMbHh1SUNwY2JpQXFJRWxrWlc1MGFXWjVJSFJvWlNCdWIyUmxJSGRvWlhKbElITmxiR1ZqZEdsdmJpQmpkWEp5Wlc1MGJIa2dZbVZuYVc1ekxDQjBhR1Z1SUc5aWMyVnlkbVZjYmlBcUlHSnZkR2dnYVhSeklIUmxlSFFnWTI5dWRHVnVkQ0JoYm1RZ2FYUnpJR04xY25KbGJuUWdjRzl6YVhScGIyNGdhVzRnZEdobElFUlBUUzRnVTJsdVkyVWdkR2hsWEc0Z0tpQmljbTkzYzJWeUlHMWhlU0J1WVhScGRtVnNlU0J5WlhCc1lXTmxJSFJvWlNCMFlYSm5aWFFnYm05a1pTQmtkWEpwYm1jZ1kyOXRjRzl6YVhScGIyNHNJSGRsSUdOaGJseHVJQ29nZFhObElHbDBjeUJ3YjNOcGRHbHZiaUIwYnlCbWFXNWtJR2wwY3lCeVpYQnNZV05sYldWdWRDNWNiaUFxWEc0Z0tseHVJQ292WEc1MllYSWdjbTl2ZENBOUlHNTFiR3c3WEc1MllYSWdjM1JoY25SVVpYaDBJRDBnYm5Wc2JEdGNiblpoY2lCbVlXeHNZbUZqYTFSbGVIUWdQU0J1ZFd4c08xeHVablZ1WTNScGIyNGdhVzVwZEdsaGJHbDZaU2h1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ2tnZTF4dUlDQnliMjkwSUQwZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhRN1hHNGdJSE4wWVhKMFZHVjRkQ0E5SUdkbGRGUmxlSFFvS1R0Y2JpQWdjbVYwZFhKdUlIUnlkV1U3WEc1OVhHNW1kVzVqZEdsdmJpQnlaWE5sZENncElIdGNiaUFnY205dmRDQTlJRzUxYkd3N1hHNGdJSE4wWVhKMFZHVjRkQ0E5SUc1MWJHdzdYRzRnSUdaaGJHeGlZV05yVkdWNGRDQTlJRzUxYkd3N1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSRVlYUmhLQ2tnZTF4dUlDQnBaaUFvWm1Gc2JHSmhZMnRVWlhoMEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJHeGlZV05yVkdWNGREdGNiaUFnZlZ4dVhHNGdJSFpoY2lCemRHRnlkRHRjYmlBZ2RtRnlJSE4wWVhKMFZtRnNkV1VnUFNCemRHRnlkRlJsZUhRN1hHNGdJSFpoY2lCemRHRnlkRXhsYm1kMGFDQTlJSE4wWVhKMFZtRnNkV1V1YkdWdVozUm9PMXh1SUNCMllYSWdaVzVrTzF4dUlDQjJZWElnWlc1a1ZtRnNkV1VnUFNCblpYUlVaWGgwS0NrN1hHNGdJSFpoY2lCbGJtUk1aVzVuZEdnZ1BTQmxibVJXWVd4MVpTNXNaVzVuZEdnN1hHNWNiaUFnWm05eUlDaHpkR0Z5ZENBOUlEQTdJSE4wWVhKMElEd2djM1JoY25STVpXNW5kR2c3SUhOMFlYSjBLeXNwSUh0Y2JpQWdJQ0JwWmlBb2MzUmhjblJXWVd4MVpWdHpkR0Z5ZEYwZ0lUMDlJR1Z1WkZaaGJIVmxXM04wWVhKMFhTa2dlMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJRzFwYmtWdVpDQTlJSE4wWVhKMFRHVnVaM1JvSUMwZ2MzUmhjblE3WEc1Y2JpQWdabTl5SUNobGJtUWdQU0F4T3lCbGJtUWdQRDBnYldsdVJXNWtPeUJsYm1Rckt5a2dlMXh1SUNBZ0lHbG1JQ2h6ZEdGeWRGWmhiSFZsVzNOMFlYSjBUR1Z1WjNSb0lDMGdaVzVrWFNBaFBUMGdaVzVrVm1Gc2RXVmJaVzVrVEdWdVozUm9JQzBnWlc1a1hTa2dlMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJSE5zYVdObFZHRnBiQ0E5SUdWdVpDQStJREVnUHlBeElDMGdaVzVrSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0JtWVd4c1ltRmphMVJsZUhRZ1BTQmxibVJXWVd4MVpTNXpiR2xqWlNoemRHRnlkQ3dnYzJ4cFkyVlVZV2xzS1R0Y2JpQWdjbVYwZFhKdUlHWmhiR3hpWVdOclZHVjRkRHRjYm4xY2JtWjFibU4wYVc5dUlHZGxkRlJsZUhRb0tTQjdYRzRnSUdsbUlDZ25kbUZzZFdVbklHbHVJSEp2YjNRcElIdGNiaUFnSUNCeVpYUjFjbTRnY205dmRDNTJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCeWIyOTBMblJsZUhSRGIyNTBaVzUwTzF4dWZWeHVYRzUyWVhJZ1JWWkZUbFJmVUU5UFRGOVRTVnBGSUQwZ01UQTdYRzR2S2lwY2JpQXFJRUJwYm5SbGNtWmhZMlVnUlhabGJuUmNiaUFxSUVCelpXVWdhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2UkU5TkxVeGxkbVZzTFRNdFJYWmxiblJ6TDF4dUlDb3ZYRzVjYm5aaGNpQkZkbVZ1ZEVsdWRHVnlabUZqWlNBOUlIdGNiaUFnZEhsd1pUb2diblZzYkN4Y2JpQWdkR0Z5WjJWME9pQnVkV3hzTEZ4dUlDQXZMeUJqZFhKeVpXNTBWR0Z5WjJWMElHbHpJSE5sZENCM2FHVnVJR1JwYzNCaGRHTm9hVzVuT3lCdWJ5QjFjMlVnYVc0Z1kyOXdlV2x1WnlCcGRDQm9aWEpsWEc0Z0lHTjFjbkpsYm5SVVlYSm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlN4Y2JpQWdaWFpsYm5SUWFHRnpaVG9nYm5Wc2JDeGNiaUFnWW5WaVlteGxjem9nYm5Wc2JDeGNiaUFnWTJGdVkyVnNZV0pzWlRvZ2JuVnNiQ3hjYmlBZ2RHbHRaVk4wWVcxd09pQm1kVzVqZEdsdmJpQW9aWFpsYm5RcElIdGNiaUFnSUNCeVpYUjFjbTRnWlhabGJuUXVkR2x0WlZOMFlXMXdJSHg4SUVSaGRHVXVibTkzS0NrN1hHNGdJSDBzWEc0Z0lHUmxabUYxYkhSUWNtVjJaVzUwWldRNklHNTFiR3dzWEc0Z0lHbHpWSEoxYzNSbFpEb2diblZzYkZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzFSeWRXVW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1kVzVqZEdsdmJsUm9ZWFJTWlhSMWNtNXpSbUZzYzJVb0tTQjdYRzRnSUhKbGRIVnliaUJtWVd4elpUdGNibjFjYmk4cUtseHVJQ29nVTNsdWRHaGxkR2xqSUdWMlpXNTBjeUJoY21VZ1pHbHpjR0YwWTJobFpDQmllU0JsZG1WdWRDQndiSFZuYVc1ekxDQjBlWEJwWTJGc2JIa2dhVzRnY21WemNHOXVjMlVnZEc4Z1lWeHVJQ29nZEc5d0xXeGxkbVZzSUdWMlpXNTBJR1JsYkdWbllYUnBiMjRnYUdGdVpHeGxjaTVjYmlBcVhHNGdLaUJVYUdWelpTQnplWE4wWlcxeklITm9iM1ZzWkNCblpXNWxjbUZzYkhrZ2RYTmxJSEJ2YjJ4cGJtY2dkRzhnY21Wa2RXTmxJSFJvWlNCbWNtVnhkV1Z1WTNrZ2IyWWdaMkZ5WW1GblpWeHVJQ29nWTI5c2JHVmpkR2x2Ymk0Z1ZHaGxJSE41YzNSbGJTQnphRzkxYkdRZ1kyaGxZMnNnWUdselVHVnljMmx6ZEdWdWRHQWdkRzhnWkdWMFpYSnRhVzVsSUhkb1pYUm9aWElnZEdobFhHNGdLaUJsZG1WdWRDQnphRzkxYkdRZ1ltVWdjbVZzWldGelpXUWdhVzUwYnlCMGFHVWdjRzl2YkNCaFpuUmxjaUJpWldsdVp5QmthWE53WVhSamFHVmtMaUJWYzJWeWN5QjBhR0YwWEc0Z0tpQnVaV1ZrSUdFZ2NHVnljMmx6ZEdWa0lHVjJaVzUwSUhOb2IzVnNaQ0JwYm5admEyVWdZSEJsY25OcGMzUmdMbHh1SUNwY2JpQXFJRk41Ym5Sb1pYUnBZeUJsZG1WdWRITWdLR0Z1WkNCemRXSmpiR0Z6YzJWektTQnBiWEJzWlcxbGJuUWdkR2hsSUVSUFRTQk1aWFpsYkNBeklFVjJaVzUwY3lCQlVFa2dZbmxjYmlBcUlHNXZjbTFoYkdsNmFXNW5JR0p5YjNkelpYSWdjWFZwY210ekxpQlRkV0pqYkdGemMyVnpJR1J2SUc1dmRDQnVaV05sYzNOaGNtbHNlU0JvWVhabElIUnZJR2x0Y0d4bGJXVnVkQ0JoWEc0Z0tpQkVUMDBnYVc1MFpYSm1ZV05sT3lCamRYTjBiMjBnWVhCd2JHbGpZWFJwYjI0dGMzQmxZMmxtYVdNZ1pYWmxiblJ6SUdOaGJpQmhiSE52SUhOMVltTnNZWE56SUhSb2FYTXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdHZZbXBsWTNSOUlHUnBjM0JoZEdOb1EyOXVabWxuSUVOdmJtWnBaM1Z5WVhScGIyNGdkWE5sWkNCMGJ5QmthWE53WVhSamFDQjBhR2x6SUdWMlpXNTBMbHh1SUNvZ1FIQmhjbUZ0SUhzcWZTQjBZWEpuWlhSSmJuTjBJRTFoY210bGNpQnBaR1Z1ZEdsbWVXbHVaeUIwYUdVZ1pYWmxiblFnZEdGeVoyVjBMbHh1SUNvZ1FIQmhjbUZ0SUh0dlltcGxZM1I5SUc1aGRHbDJaVVYyWlc1MElFNWhkR2wyWlNCaWNtOTNjMlZ5SUdWMlpXNTBMbHh1SUNvZ1FIQmhjbUZ0SUh0RVQwMUZkbVZ1ZEZSaGNtZGxkSDBnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFnVkdGeVoyVjBJRzV2WkdVdVhHNGdLaTljYmx4dVhHNW1kVzVqZEdsdmJpQlRlVzUwYUdWMGFXTkZkbVZ1ZENoa2FYTndZWFJqYUVOdmJtWnBaeXdnZEdGeVoyVjBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLU0I3WEc0Z0lIdGNiaUFnSUNBdkx5QjBhR1Z6WlNCb1lYWmxJR0VnWjJWMGRHVnlMM05sZEhSbGNpQm1iM0lnZDJGeWJtbHVaM05jYmlBZ0lDQmtaV3hsZEdVZ2RHaHBjeTV1WVhScGRtVkZkbVZ1ZER0Y2JpQWdJQ0JrWld4bGRHVWdkR2hwY3k1d2NtVjJaVzUwUkdWbVlYVnNkRHRjYmlBZ0lDQmtaV3hsZEdVZ2RHaHBjeTV6ZEc5d1VISnZjR0ZuWVhScGIyNDdYRzRnSUNBZ1pHVnNaWFJsSUhSb2FYTXVhWE5FWldaaGRXeDBVSEpsZG1WdWRHVmtPMXh1SUNBZ0lHUmxiR1YwWlNCMGFHbHpMbWx6VUhKdmNHRm5ZWFJwYjI1VGRHOXdjR1ZrTzF4dUlDQjlYRzVjYmlBZ2RHaHBjeTVrYVhOd1lYUmphRU52Ym1acFp5QTlJR1JwYzNCaGRHTm9RMjl1Wm1sbk8xeHVJQ0IwYUdsekxsOTBZWEpuWlhSSmJuTjBJRDBnZEdGeVoyVjBTVzV6ZER0Y2JpQWdkR2hwY3k1dVlYUnBkbVZGZG1WdWRDQTlJRzVoZEdsMlpVVjJaVzUwTzF4dUlDQjJZWElnU1c1MFpYSm1ZV05sSUQwZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2k1SmJuUmxjbVpoWTJVN1hHNWNiaUFnWm05eUlDaDJZWElnY0hKdmNFNWhiV1VnYVc0Z1NXNTBaWEptWVdObEtTQjdYRzRnSUNBZ2FXWWdLQ0ZKYm5SbGNtWmhZMlV1YUdGelQzZHVVSEp2Y0dWeWRIa29jSEp2Y0U1aGJXVXBLU0I3WEc0Z0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQmtaV3hsZEdVZ2RHaHBjMXR3Y205d1RtRnRaVjA3SUM4dklIUm9hWE1nYUdGeklHRWdaMlYwZEdWeUwzTmxkSFJsY2lCbWIzSWdkMkZ5Ym1sdVozTmNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdibTl5YldGc2FYcGxJRDBnU1c1MFpYSm1ZV05sVzNCeWIzQk9ZVzFsWFR0Y2JseHVJQ0FnSUdsbUlDaHViM0p0WVd4cGVtVXBJSHRjYmlBZ0lDQWdJSFJvYVhOYmNISnZjRTVoYldWZElEMGdibTl5YldGc2FYcGxLRzVoZEdsMlpVVjJaVzUwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hCeWIzQk9ZVzFsSUQwOVBTQW5kR0Z5WjJWMEp5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuUmhjbWRsZENBOUlHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWME8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjMXR3Y205d1RtRnRaVjBnUFNCdVlYUnBkbVZGZG1WdWRGdHdjbTl3VG1GdFpWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdSbFptRjFiSFJRY21WMlpXNTBaV1FnUFNCdVlYUnBkbVZGZG1WdWRDNWtaV1poZFd4MFVISmxkbVZ1ZEdWa0lDRTlJRzUxYkd3Z1B5QnVZWFJwZG1WRmRtVnVkQzVrWldaaGRXeDBVSEpsZG1WdWRHVmtJRG9nYm1GMGFYWmxSWFpsYm5RdWNtVjBkWEp1Vm1Gc2RXVWdQVDA5SUdaaGJITmxPMXh1WEc0Z0lHbG1JQ2hrWldaaGRXeDBVSEpsZG1WdWRHVmtLU0I3WEc0Z0lDQWdkR2hwY3k1cGMwUmxabUYxYkhSUWNtVjJaVzUwWldRZ1BTQm1kVzVqZEdsdmJsUm9ZWFJTWlhSMWNtNXpWSEoxWlR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCMGFHbHpMbWx6UkdWbVlYVnNkRkJ5WlhabGJuUmxaQ0E5SUdaMWJtTjBhVzl1VkdoaGRGSmxkSFZ5Ym5OR1lXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhSb2FYTXVhWE5RY205d1lXZGhkR2x2YmxOMGIzQndaV1FnUFNCbWRXNWpkR2x2YmxSb1lYUlNaWFIxY201elJtRnNjMlU3WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlZ4dVhHNWZZWE56YVdkdUtGTjViblJvWlhScFkwVjJaVzUwTG5CeWIzUnZkSGx3WlN3Z2UxeHVJQ0J3Y21WMlpXNTBSR1ZtWVhWc2REb2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFJvYVhNdVpHVm1ZWFZzZEZCeVpYWmxiblJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdkbUZ5SUdWMlpXNTBJRDBnZEdocGN5NXVZWFJwZG1WRmRtVnVkRHRjYmx4dUlDQWdJR2xtSUNnaFpYWmxiblFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWlhabGJuUXVjSEpsZG1WdWRFUmxabUYxYkhRcElIdGNiaUFnSUNBZ0lHVjJaVzUwTG5CeVpYWmxiblJFWldaaGRXeDBLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdaWFpsYm5RdWNtVjBkWEp1Vm1Gc2RXVWdJVDA5SUNkMWJtdHViM2R1SnlrZ2UxeHVJQ0FnSUNBZ1pYWmxiblF1Y21WMGRYSnVWbUZzZFdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtbHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDQTlJR1oxYm1OMGFXOXVWR2hoZEZKbGRIVnlibk5VY25WbE8xeHVJQ0I5TEZ4dUlDQnpkRzl3VUhKdmNHRm5ZWFJwYjI0NklHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQjJZWElnWlhabGJuUWdQU0IwYUdsekxtNWhkR2wyWlVWMlpXNTBPMXh1WEc0Z0lDQWdhV1lnS0NGbGRtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRDNXpkRzl3VUhKdmNHRm5ZWFJwYjI0cElIdGNiaUFnSUNBZ0lHVjJaVzUwTG5OMGIzQlFjbTl3WVdkaGRHbHZiaWdwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR1YyWlc1MExtTmhibU5sYkVKMVltSnNaU0FoUFQwZ0ozVnVhMjV2ZDI0bktTQjdYRzRnSUNBZ0lDQXZMeUJVYUdVZ1EyaGhibWRsUlhabGJuUlFiSFZuYVc0Z2NtVm5hWE4wWlhKeklHRWdYQ0p3Y205d1pYSjBlV05vWVc1blpWd2lJR1YyWlc1MElHWnZjbHh1SUNBZ0lDQWdMeThnU1VVdUlGUm9hWE1nWlhabGJuUWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQmlkV0ppYkdsdVp5QnZjaUJqWVc1alpXeHNhVzVuTENCaGJtUmNiaUFnSUNBZ0lDOHZJR0Z1ZVNCeVpXWmxjbVZ1WTJWeklIUnZJR05oYm1ObGJFSjFZbUpzWlNCMGFISnZkeUJjSWsxbGJXSmxjaUJ1YjNRZ1ptOTFibVJjSWk0Z0lFRmNiaUFnSUNBZ0lDOHZJSFI1Y0dWdlppQmphR1ZqYXlCdlppQmNJblZ1YTI1dmQyNWNJaUJqYVhKamRXMTJaVzUwY3lCMGFHbHpJR2x6YzNWbElDaGhibVFnYVhNZ1lXeHpiMXh1SUNBZ0lDQWdMeThnU1VVZ2MzQmxZMmxtYVdNcExseHVJQ0FnSUNBZ1pYWmxiblF1WTJGdVkyVnNRblZpWW14bElEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtbHpVSEp2Y0dGbllYUnBiMjVUZEc5d2NHVmtJRDBnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzFSeWRXVTdYRzRnSUgwc1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZkbElISmxiR1ZoYzJVZ1lXeHNJR1JwYzNCaGRHTm9aV1FnWUZONWJuUm9aWFJwWTBWMlpXNTBZSE1nWVdaMFpYSWdaV0ZqYUNCbGRtVnVkQ0JzYjI5d0xDQmhaR1JwYm1kY2JpQWdJQ29nZEdobGJTQmlZV05ySUdsdWRHOGdkR2hsSUhCdmIyd3VJRlJvYVhNZ1lXeHNiM2R6SUdFZ2QyRjVJSFJ2SUdodmJHUWdiMjUwYnlCaElISmxabVZ5Wlc1alpTQjBhR0YwWEc0Z0lDQXFJSGR2YmlkMElHSmxJR0ZrWkdWa0lHSmhZMnNnYVc1MGJ5QjBhR1VnY0c5dmJDNWNiaUFnSUNvdlhHNGdJSEJsY25OcGMzUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0IwYUdsekxtbHpVR1Z5YzJsemRHVnVkQ0E5SUdaMWJtTjBhVzl1VkdoaGRGSmxkSFZ5Ym5OVWNuVmxPMXh1SUNCOUxGeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGFHVmphM01nYVdZZ2RHaHBjeUJsZG1WdWRDQnphRzkxYkdRZ1ltVWdjbVZzWldGelpXUWdZbUZqYXlCcGJuUnZJSFJvWlNCd2IyOXNMbHh1SUNBZ0tseHVJQ0FnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlNCVWNuVmxJR2xtSUhSb2FYTWdjMmh2ZFd4a0lHNXZkQ0JpWlNCeVpXeGxZWE5sWkN3Z1ptRnNjMlVnYjNSb1pYSjNhWE5sTGx4dUlDQWdLaTljYmlBZ2FYTlFaWEp6YVhOMFpXNTBPaUJtZFc1amRHbHZibFJvWVhSU1pYUjFjbTV6Um1Gc2MyVXNYRzVjYmlBZ0x5b3FYRzRnSUNBcUlHQlFiMjlzWldSRGJHRnpjMkFnYkc5dmEzTWdabTl5SUdCa1pYTjBjblZqZEc5eVlDQnZiaUJsWVdOb0lHbHVjM1JoYm1ObElHbDBJSEpsYkdWaGMyVnpMbHh1SUNBZ0tpOWNiaUFnWkdWemRISjFZM1J2Y2pvZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIWmhjaUJKYm5SbGNtWmhZMlVnUFNCMGFHbHpMbU52Ym5OMGNuVmpkRzl5TGtsdWRHVnlabUZqWlR0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUhCeWIzQk9ZVzFsSUdsdUlFbHVkR1Z5Wm1GalpTa2dlMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnY0hKdmNFNWhiV1VzSUdkbGRGQnZiMnhsWkZkaGNtNXBibWRRY205d1pYSjBlVVJsWm1sdWFYUnBiMjRvY0hKdmNFNWhiV1VzSUVsdWRHVnlabUZqWlZ0d2NtOXdUbUZ0WlYwcEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbVJwYzNCaGRHTm9RMjl1Wm1sbklEMGdiblZzYkR0Y2JpQWdJQ0IwYUdsekxsOTBZWEpuWlhSSmJuTjBJRDBnYm5Wc2JEdGNiaUFnSUNCMGFHbHpMbTVoZEdsMlpVVjJaVzUwSUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TG1selJHVm1ZWFZzZEZCeVpYWmxiblJsWkNBOUlHWjFibU4wYVc5dVZHaGhkRkpsZEhWeWJuTkdZV3h6WlR0Y2JpQWdJQ0IwYUdsekxtbHpVSEp2Y0dGbllYUnBiMjVUZEc5d2NHVmtJRDBnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzBaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDJScGMzQmhkR05vVEdsemRHVnVaWEp6SUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TGw5a2FYTndZWFJqYUVsdWMzUmhibU5sY3lBOUlHNTFiR3c3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnSjI1aGRHbDJaVVYyWlc1MEp5d2daMlYwVUc5dmJHVmtWMkZ5Ym1sdVoxQnliM0JsY25SNVJHVm1hVzVwZEdsdmJpZ25ibUYwYVhabFJYWmxiblFuTENCdWRXeHNLU2s3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnSjJselJHVm1ZWFZzZEZCeVpYWmxiblJsWkNjc0lHZGxkRkJ2YjJ4bFpGZGhjbTVwYm1kUWNtOXdaWEowZVVSbFptbHVhWFJwYjI0b0oybHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDY3NJR1oxYm1OMGFXOXVWR2hoZEZKbGRIVnlibk5HWVd4elpTa3BPMXh1SUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJQ2RwYzFCeWIzQmhaMkYwYVc5dVUzUnZjSEJsWkNjc0lHZGxkRkJ2YjJ4bFpGZGhjbTVwYm1kUWNtOXdaWEowZVVSbFptbHVhWFJwYjI0b0oybHpVSEp2Y0dGbllYUnBiMjVUZEc5d2NHVmtKeXdnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzBaaGJITmxLU2s3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnSjNCeVpYWmxiblJFWldaaGRXeDBKeXdnWjJWMFVHOXZiR1ZrVjJGeWJtbHVaMUJ5YjNCbGNuUjVSR1ZtYVc1cGRHbHZiaWduY0hKbGRtVnVkRVJsWm1GMWJIUW5MQ0JtZFc1amRHbHZiaUFvS1NCN2ZTa3BPMXh1SUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJQ2R6ZEc5d1VISnZjR0ZuWVhScGIyNG5MQ0JuWlhSUWIyOXNaV1JYWVhKdWFXNW5VSEp2Y0dWeWRIbEVaV1pwYm1sMGFXOXVLQ2R6ZEc5d1VISnZjR0ZuWVhScGIyNG5MQ0JtZFc1amRHbHZiaUFvS1NCN2ZTa3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZTazdYRzVjYmxONWJuUm9aWFJwWTBWMlpXNTBMa2x1ZEdWeVptRmpaU0E5SUVWMlpXNTBTVzUwWlhKbVlXTmxPMXh1THlvcVhHNGdLaUJJWld4d1pYSWdkRzhnY21Wa2RXTmxJR0p2YVd4bGNuQnNZWFJsSUhkb1pXNGdZM0psWVhScGJtY2djM1ZpWTJ4aGMzTmxjeTVjYmlBcUwxeHVYRzVUZVc1MGFHVjBhV05GZG1WdWRDNWxlSFJsYm1RZ1BTQm1kVzVqZEdsdmJpQW9TVzUwWlhKbVlXTmxLU0I3WEc0Z0lIWmhjaUJUZFhCbGNpQTlJSFJvYVhNN1hHNWNiaUFnZG1GeUlFVWdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNibHh1SUNCRkxuQnliM1J2ZEhsd1pTQTlJRk4xY0dWeUxuQnliM1J2ZEhsd1pUdGNiaUFnZG1GeUlIQnliM1J2ZEhsd1pTQTlJRzVsZHlCRktDazdYRzVjYmlBZ1puVnVZM1JwYjI0Z1EyeGhjM01vS1NCN1hHNGdJQ0FnY21WMGRYSnVJRk4xY0dWeUxtRndjR3g1S0hSb2FYTXNJR0Z5WjNWdFpXNTBjeWs3WEc0Z0lIMWNibHh1SUNCZllYTnphV2R1S0hCeWIzUnZkSGx3WlN3Z1EyeGhjM011Y0hKdmRHOTBlWEJsS1R0Y2JseHVJQ0JEYkdGemN5NXdjbTkwYjNSNWNHVWdQU0J3Y205MGIzUjVjR1U3WEc0Z0lFTnNZWE56TG5CeWIzUnZkSGx3WlM1amIyNXpkSEoxWTNSdmNpQTlJRU5zWVhOek8xeHVJQ0JEYkdGemN5NUpiblJsY21aaFkyVWdQU0JmWVhOemFXZHVLSHQ5TENCVGRYQmxjaTVKYm5SbGNtWmhZMlVzSUVsdWRHVnlabUZqWlNrN1hHNGdJRU5zWVhOekxtVjRkR1Z1WkNBOUlGTjFjR1Z5TG1WNGRHVnVaRHRjYmlBZ1lXUmtSWFpsYm5SUWIyOXNhVzVuVkc4b1EyeGhjM01wTzF4dUlDQnlaWFIxY200Z1EyeGhjM003WEc1OU8xeHVYRzVoWkdSRmRtVnVkRkJ2YjJ4cGJtZFVieWhUZVc1MGFHVjBhV05GZG1WdWRDazdYRzR2S2lwY2JpQXFJRWhsYkhCbGNpQjBieUJ1ZFd4c2FXWjVJSE41Ym5Sb1pYUnBZMFYyWlc1MElHbHVjM1JoYm1ObElIQnliM0JsY25ScFpYTWdkMmhsYmlCa1pYTjBjblZqZEdsdVoxeHVJQ3BjYmlBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCd2NtOXdUbUZ0WlZ4dUlDb2dRSEJoY21GdElIcy9iMkpxWldOMGZTQm5aWFJXWVd4Y2JpQXFJRUJ5WlhSMWNtNGdlMjlpYW1WamRIMGdaR1ZtYVc1bFVISnZjR1Z5ZEhrZ2IySnFaV04wWEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFVHOXZiR1ZrVjJGeWJtbHVaMUJ5YjNCbGNuUjVSR1ZtYVc1cGRHbHZiaWh3Y205d1RtRnRaU3dnWjJWMFZtRnNLU0I3WEc0Z0lIWmhjaUJwYzBaMWJtTjBhVzl1SUQwZ2RIbHdaVzltSUdkbGRGWmhiQ0E5UFQwZ0oyWjFibU4wYVc5dUp6dGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVXNYRzRnSUNBZ2MyVjBPaUJ6WlhRc1hHNGdJQ0FnWjJWME9pQm5aWFJjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCelpYUW9kbUZzS1NCN1hHNGdJQ0FnZG1GeUlHRmpkR2x2YmlBOUlHbHpSblZ1WTNScGIyNGdQeUFuYzJWMGRHbHVaeUIwYUdVZ2JXVjBhRzlrSnlBNklDZHpaWFIwYVc1bklIUm9aU0J3Y205d1pYSjBlU2M3WEc0Z0lDQWdkMkZ5YmloaFkzUnBiMjRzSUNkVWFHbHpJR2x6SUdWbVptVmpkR2wyWld4NUlHRWdibTh0YjNBbktUdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc08xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhaaGNpQmhZM1JwYjI0Z1BTQnBjMFoxYm1OMGFXOXVJRDhnSjJGalkyVnpjMmx1WnlCMGFHVWdiV1YwYUc5a0p5QTZJQ2RoWTJObGMzTnBibWNnZEdobElIQnliM0JsY25SNUp6dGNiaUFnSUNCMllYSWdjbVZ6ZFd4MElEMGdhWE5HZFc1amRHbHZiaUEvSUNkVWFHbHpJR2x6SUdFZ2JtOHRiM0FnWm5WdVkzUnBiMjRuSURvZ0oxUm9hWE1nYVhNZ2MyVjBJSFJ2SUc1MWJHd25PMXh1SUNBZ0lIZGhjbTRvWVdOMGFXOXVMQ0J5WlhOMWJIUXBPMXh1SUNBZ0lISmxkSFZ5YmlCblpYUldZV3c3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCM1lYSnVLR0ZqZEdsdmJpd2djbVZ6ZFd4MEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvWENKVWFHbHpJSE41Ym5Sb1pYUnBZeUJsZG1WdWRDQnBjeUJ5WlhWelpXUWdabTl5SUhCbGNtWnZjbTFoYm1ObElISmxZWE52Ym5NdUlFbG1JSGx2ZFNkeVpTQnpaV1ZwYm1jZ2RHaHBjeXdnWENJZ0t5QmNJbmx2ZFNkeVpTQWxjeUJnSlhOZ0lHOXVJR0VnY21Wc1pXRnpaV1F2Ym5Wc2JHbG1hV1ZrSUhONWJuUm9aWFJwWXlCbGRtVnVkQzRnSlhNdUlGd2lJQ3NnSjBsbUlIbHZkU0J0ZFhOMElHdGxaWEFnZEdobElHOXlhV2RwYm1Gc0lITjViblJvWlhScFl5QmxkbVZ1ZENCaGNtOTFibVFzSUhWelpTQmxkbVZ1ZEM1d1pYSnphWE4wS0NrdUlDY2dLeUFuVTJWbElHaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRaWFpsYm5RdGNHOXZiR2x1WnlCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpNG5MQ0JoWTNScGIyNHNJSEJ5YjNCT1lXMWxMQ0J5WlhOMWJIUXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSUWIyOXNaV1JGZG1WdWRDaGthWE53WVhSamFFTnZibVpwWnl3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVWx1YzNRcElIdGNiaUFnZG1GeUlFVjJaVzUwUTI5dWMzUnlkV04wYjNJZ1BTQjBhR2x6TzF4dVhHNGdJR2xtSUNoRmRtVnVkRU52Ym5OMGNuVmpkRzl5TG1WMlpXNTBVRzl2YkM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eUxtVjJaVzUwVUc5dmJDNXdiM0FvS1R0Y2JpQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlMbU5oYkd3b2FXNXpkR0Z1WTJVc0lHUnBjM0JoZEdOb1EyOXVabWxuTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxTVzV6ZENrN1hHNGdJQ0FnY21WMGRYSnVJR2x1YzNSaGJtTmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZHlCRmRtVnVkRU52Ym5OMGNuVmpkRzl5S0dScGMzQmhkR05vUTI5dVptbG5MQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFNXNXpkQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYkdWaGMyVlFiMjlzWldSRmRtVnVkQ2hsZG1WdWRDa2dlMXh1SUNCMllYSWdSWFpsYm5SRGIyNXpkSEoxWTNSdmNpQTlJSFJvYVhNN1hHNWNiaUFnYVdZZ0tDRW9aWFpsYm5RZ2FXNXpkR0Z1WTJWdlppQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eUtTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxSeWVXbHVaeUIwYnlCeVpXeGxZWE5sSUdGdUlHVjJaVzUwSUdsdWMzUmhibU5sSUdsdWRHOGdZU0J3YjI5c0lHOW1JR0VnWkdsbVptVnlaVzUwSUhSNWNHVXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbGRtVnVkQzVrWlhOMGNuVmpkRzl5S0NrN1hHNWNiaUFnYVdZZ0tFVjJaVzUwUTI5dWMzUnlkV04wYjNJdVpYWmxiblJRYjI5c0xteGxibWQwYUNBOElFVldSVTVVWDFCUFQweGZVMGxhUlNrZ2UxeHVJQ0FnSUVWMlpXNTBRMjl1YzNSeWRXTjBiM0l1WlhabGJuUlFiMjlzTG5CMWMyZ29aWFpsYm5RcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR0ZrWkVWMlpXNTBVRzl2YkdsdVoxUnZLRVYyWlc1MFEyOXVjM1J5ZFdOMGIzSXBJSHRjYmlBZ1JYWmxiblJEYjI1emRISjFZM1J2Y2k1bGRtVnVkRkJ2YjJ3Z1BTQmJYVHRjYmlBZ1JYWmxiblJEYjI1emRISjFZM1J2Y2k1blpYUlFiMjlzWldRZ1BTQm5aWFJRYjI5c1pXUkZkbVZ1ZER0Y2JpQWdSWFpsYm5SRGIyNXpkSEoxWTNSdmNpNXlaV3hsWVhObElEMGdjbVZzWldGelpWQnZiMnhsWkVWMlpXNTBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFQnBiblJsY21aaFkyVWdSWFpsYm5SY2JpQXFJRUJ6WldVZ2FIUjBjRG92TDNkM2R5NTNNeTV2Y21jdlZGSXZSRTlOTFV4bGRtVnNMVE10UlhabGJuUnpMeU5sZG1WdWRITXRZMjl0Y0c5emFYUnBiMjVsZG1WdWRITmNiaUFxTDF4dVhHNTJZWElnVTNsdWRHaGxkR2xqUTI5dGNHOXphWFJwYjI1RmRtVnVkQ0E5SUZONWJuUm9aWFJwWTBWMlpXNTBMbVY0ZEdWdVpDaDdYRzRnSUdSaGRHRTZJRzUxYkd4Y2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JYWmxiblJjYmlBcUlFQnpaV1VnYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2VkZJdk1qQXhNeTlYUkMxRVQwMHRUR1YyWld3dE15MUZkbVZ1ZEhNdE1qQXhNekV4TURWY2JpQXFJQ0FnSUNBZ0x5TmxkbVZ1ZEhNdGFXNXdkWFJsZG1WdWRITmNiaUFxTDF4dVhHNTJZWElnVTNsdWRHaGxkR2xqU1c1d2RYUkZkbVZ1ZENBOUlGTjViblJvWlhScFkwVjJaVzUwTG1WNGRHVnVaQ2g3WEc0Z0lHUmhkR0U2SUc1MWJHeGNibjBwTzF4dVhHNTJZWElnUlU1RVgwdEZXVU5QUkVWVElEMGdXemtzSURFekxDQXlOeXdnTXpKZE95QXZMeUJVWVdJc0lGSmxkSFZ5Yml3Z1JYTmpMQ0JUY0dGalpWeHVYRzUyWVhJZ1UxUkJVbFJmUzBWWlEwOUVSU0E5SURJeU9UdGNiblpoY2lCallXNVZjMlZEYjIxd2IzTnBkR2x2YmtWMlpXNTBJRDBnWTJGdVZYTmxSRTlOSUNZbUlDZERiMjF3YjNOcGRHbHZia1YyWlc1MEp5QnBiaUIzYVc1a2IzYzdYRzUyWVhJZ1pHOWpkVzFsYm5STmIyUmxJRDBnYm5Wc2JEdGNibHh1YVdZZ0tHTmhibFZ6WlVSUFRTQW1KaUFuWkc5amRXMWxiblJOYjJSbEp5QnBiaUJrYjJOMWJXVnVkQ2tnZTF4dUlDQmtiMk4xYldWdWRFMXZaR1VnUFNCa2IyTjFiV1Z1ZEM1a2IyTjFiV1Z1ZEUxdlpHVTdYRzU5SUM4dklGZGxZbXRwZENCdlptWmxjbk1nWVNCMlpYSjVJSFZ6WldaMWJDQmdkR1Y0ZEVsdWNIVjBZQ0JsZG1WdWRDQjBhR0YwSUdOaGJpQmlaU0IxYzJWa0lIUnZYRzR2THlCa2FYSmxZM1JzZVNCeVpYQnlaWE5sYm5RZ1lHSmxabTl5WlVsdWNIVjBZQzRnVkdobElFbEZJR0IwWlhoMGFXNXdkWFJnSUdWMlpXNTBJR2x6SUc1dmRDQmhjMXh1THk4Z2RYTmxablZzTENCemJ5QjNaU0JrYjI0bmRDQjFjMlVnYVhRdVhHNWNibHh1ZG1GeUlHTmhibFZ6WlZSbGVIUkpibkIxZEVWMlpXNTBJRDBnWTJGdVZYTmxSRTlOSUNZbUlDZFVaWGgwUlhabGJuUW5JR2x1SUhkcGJtUnZkeUFtSmlBaFpHOWpkVzFsYm5STmIyUmxPeUF2THlCSmJpQkpSVGtyTENCM1pTQm9ZWFpsSUdGalkyVnpjeUIwYnlCamIyMXdiM05wZEdsdmJpQmxkbVZ1ZEhNc0lHSjFkQ0IwYUdVZ1pHRjBZU0J6ZFhCd2JHbGxaRnh1THk4Z1lua2dkR2hsSUc1aGRHbDJaU0JqYjIxd2IzTnBkR2x2Ym1WdVpDQmxkbVZ1ZENCdFlYa2dZbVVnYVc1amIzSnlaV04wTGlCS1lYQmhibVZ6WlNCcFpHVnZaM0poY0docFkxeHVMeThnYzNCaFkyVnpMQ0JtYjNJZ2FXNXpkR0Z1WTJVZ0tGeGNkVE13TURBcElHRnlaU0J1YjNRZ2NtVmpiM0prWldRZ1kyOXljbVZqZEd4NUxseHVYRzUyWVhJZ2RYTmxSbUZzYkdKaFkydERiMjF3YjNOcGRHbHZia1JoZEdFZ1BTQmpZVzVWYzJWRVQwMGdKaVlnS0NGallXNVZjMlZEYjIxd2IzTnBkR2x2YmtWMlpXNTBJSHg4SUdSdlkzVnRaVzUwVFc5a1pTQW1KaUJrYjJOMWJXVnVkRTF2WkdVZ1BpQTRJQ1ltSUdSdlkzVnRaVzUwVFc5a1pTQThQU0F4TVNrN1hHNTJZWElnVTFCQlEwVkNRVkpmUTA5RVJTQTlJRE15TzF4dWRtRnlJRk5RUVVORlFrRlNYME5JUVZJZ1BTQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxLRk5RUVVORlFrRlNYME5QUkVVcE95QXZMeUJGZG1WdWRITWdZVzVrSUhSb1pXbHlJR052Y25KbGMzQnZibVJwYm1jZ2NISnZjR1Z5ZEhrZ2JtRnRaWE11WEc1Y2JuWmhjaUJsZG1WdWRGUjVjR1Z6SUQwZ2UxeHVJQ0JpWldadmNtVkpibkIxZERvZ2UxeHVJQ0FnSUhCb1lYTmxaRkpsWjJsemRISmhkR2x2Yms1aGJXVnpPaUI3WEc0Z0lDQWdJQ0JpZFdKaWJHVmtPaUFuYjI1Q1pXWnZjbVZKYm5CMWRDY3NYRzRnSUNBZ0lDQmpZWEIwZFhKbFpEb2dKMjl1UW1WbWIzSmxTVzV3ZFhSRFlYQjBkWEpsSjF4dUlDQWdJSDBzWEc0Z0lDQWdaR1Z3Wlc1a1pXNWphV1Z6T2lCYlZFOVFYME5QVFZCUFUwbFVTVTlPWDBWT1JDd2dWRTlRWDB0RldWOVFVa1ZUVXl3Z1ZFOVFYMVJGV0ZSZlNVNVFWVlFzSUZSUFVGOVFRVk5VUlYxY2JpQWdmU3hjYmlBZ1kyOXRjRzl6YVhScGIyNUZibVE2SUh0Y2JpQWdJQ0J3YUdGelpXUlNaV2RwYzNSeVlYUnBiMjVPWVcxbGN6b2dlMXh1SUNBZ0lDQWdZblZpWW14bFpEb2dKMjl1UTI5dGNHOXphWFJwYjI1RmJtUW5MRnh1SUNBZ0lDQWdZMkZ3ZEhWeVpXUTZJQ2R2YmtOdmJYQnZjMmwwYVc5dVJXNWtRMkZ3ZEhWeVpTZGNiaUFnSUNCOUxGeHVJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXMVJQVUY5Q1RGVlNMQ0JVVDFCZlEwOU5VRTlUU1ZSSlQwNWZSVTVFTENCVVQxQmZTMFZaWDBSUFYwNHNJRlJQVUY5TFJWbGZVRkpGVTFNc0lGUlBVRjlMUlZsZlZWQXNJRlJQVUY5TlQxVlRSVjlFVDFkT1hWeHVJQ0I5TEZ4dUlDQmpiMjF3YjNOcGRHbHZibE4wWVhKME9pQjdYRzRnSUNBZ2NHaGhjMlZrVW1WbmFYTjBjbUYwYVc5dVRtRnRaWE02SUh0Y2JpQWdJQ0FnSUdKMVltSnNaV1E2SUNkdmJrTnZiWEJ2YzJsMGFXOXVVM1JoY25RbkxGeHVJQ0FnSUNBZ1kyRndkSFZ5WldRNklDZHZia052YlhCdmMybDBhVzl1VTNSaGNuUkRZWEIwZFhKbEoxeHVJQ0FnSUgwc1hHNGdJQ0FnWkdWd1pXNWtaVzVqYVdWek9pQmJWRTlRWDBKTVZWSXNJRlJQVUY5RFQwMVFUMU5KVkVsUFRsOVRWRUZTVkN3Z1ZFOVFYMHRGV1Y5RVQxZE9MQ0JVVDFCZlMwVlpYMUJTUlZOVExDQlVUMUJmUzBWWlgxVlFMQ0JVVDFCZlRVOVZVMFZmUkU5WFRsMWNiaUFnZlN4Y2JpQWdZMjl0Y0c5emFYUnBiMjVWY0dSaGRHVTZJSHRjYmlBZ0lDQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3pvZ2UxeHVJQ0FnSUNBZ1luVmlZbXhsWkRvZ0oyOXVRMjl0Y0c5emFYUnBiMjVWY0dSaGRHVW5MRnh1SUNBZ0lDQWdZMkZ3ZEhWeVpXUTZJQ2R2YmtOdmJYQnZjMmwwYVc5dVZYQmtZWFJsUTJGd2RIVnlaU2RjYmlBZ0lDQjlMRnh1SUNBZ0lHUmxjR1Z1WkdWdVkybGxjem9nVzFSUFVGOUNURlZTTENCVVQxQmZRMDlOVUU5VFNWUkpUMDVmVlZCRVFWUkZMQ0JVVDFCZlMwVlpYMFJQVjA0c0lGUlBVRjlMUlZsZlVGSkZVMU1zSUZSUFVGOUxSVmxmVlZBc0lGUlBVRjlOVDFWVFJWOUVUMWRPWFZ4dUlDQjlYRzU5T3lBdkx5QlVjbUZqYXlCM2FHVjBhR1Z5SUhkbEozWmxJR1YyWlhJZ2FHRnVaR3hsWkNCaElHdGxlWEJ5WlhOeklHOXVJSFJvWlNCemNHRmpaU0JyWlhrdVhHNWNiblpoY2lCb1lYTlRjR0ZqWlV0bGVYQnlaWE56SUQwZ1ptRnNjMlU3WEc0dktpcGNiaUFxSUZKbGRIVnliaUIzYUdWMGFHVnlJR0VnYm1GMGFYWmxJR3RsZVhCeVpYTnpJR1YyWlc1MElHbHpJR0Z6YzNWdFpXUWdkRzhnWW1VZ1lTQmpiMjF0WVc1a0xseHVJQ29nVkdocGN5QnBjeUJ5WlhGMWFYSmxaQ0JpWldOaGRYTmxJRVpwY21WbWIzZ2dabWx5WlhNZ1lHdGxlWEJ5WlhOellDQmxkbVZ1ZEhNZ1ptOXlJR3RsZVNCamIyMXRZVzVrYzF4dUlDb2dLR04xZEN3Z1kyOXdlU3dnYzJWc1pXTjBMV0ZzYkN3Z1pYUmpMaWtnWlhabGJpQjBhRzkxWjJnZ2JtOGdZMmhoY21GamRHVnlJR2x6SUdsdWMyVnlkR1ZrTGx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdselMyVjVjSEpsYzNORGIyMXRZVzVrS0c1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUhKbGRIVnliaUFvYm1GMGFYWmxSWFpsYm5RdVkzUnliRXRsZVNCOGZDQnVZWFJwZG1WRmRtVnVkQzVoYkhSTFpYa2dmSHdnYm1GMGFYWmxSWFpsYm5RdWJXVjBZVXRsZVNrZ0ppWWdMeThnWTNSeWJFdGxlU0FtSmlCaGJIUkxaWGtnYVhNZ1pYRjFhWFpoYkdWdWRDQjBieUJCYkhSSGNpd2dZVzVrSUdseklHNXZkQ0JoSUdOdmJXMWhibVF1WEc0Z0lDRW9ibUYwYVhabFJYWmxiblF1WTNSeWJFdGxlU0FtSmlCdVlYUnBkbVZGZG1WdWRDNWhiSFJMWlhrcE8xeHVmVnh1THlvcVhHNGdLaUJVY21GdWMyeGhkR1VnYm1GMGFYWmxJSFJ2Y0NCc1pYWmxiQ0JsZG1WdWRITWdhVzUwYnlCbGRtVnVkQ0IwZVhCbGN5NWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RHOXdUR1YyWld4VWVYQmxYRzRnS2lCQWNtVjBkWEp1SUh0dlltcGxZM1I5WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCblpYUkRiMjF3YjNOcGRHbHZia1YyWlc1MFZIbHdaU2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnYzNkcGRHTm9JQ2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnSUNCallYTmxJRlJQVUY5RFQwMVFUMU5KVkVsUFRsOVRWRUZTVkRwY2JpQWdJQ0FnSUhKbGRIVnliaUJsZG1WdWRGUjVjR1Z6TG1OdmJYQnZjMmwwYVc5dVUzUmhjblE3WEc1Y2JpQWdJQ0JqWVhObElGUlBVRjlEVDAxUVQxTkpWRWxQVGw5RlRrUTZYRzRnSUNBZ0lDQnlaWFIxY200Z1pYWmxiblJVZVhCbGN5NWpiMjF3YjNOcGRHbHZia1Z1WkR0Y2JseHVJQ0FnSUdOaGMyVWdWRTlRWDBOUFRWQlBVMGxVU1U5T1gxVlFSRUZVUlRwY2JpQWdJQ0FnSUhKbGRIVnliaUJsZG1WdWRGUjVjR1Z6TG1OdmJYQnZjMmwwYVc5dVZYQmtZWFJsTzF4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUVSdlpYTWdiM1Z5SUdaaGJHeGlZV05ySUdKbGMzUXRaM1ZsYzNNZ2JXOWtaV3dnZEdocGJtc2dkR2hwY3lCbGRtVnVkQ0J6YVdkdWFXWnBaWE1nZEdoaGRGeHVJQ29nWTI5dGNHOXphWFJwYjI0Z2FHRnpJR0psWjNWdVAxeHVJQ3BjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCMGIzQk1aWFpsYkZSNWNHVmNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J1WVhScGRtVkZkbVZ1ZEZ4dUlDb2dRSEpsZEhWeWJpQjdZbTl2YkdWaGJuMWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2x6Um1Gc2JHSmhZMnREYjIxd2IzTnBkR2x2YmxOMFlYSjBLSFJ2Y0V4bGRtVnNWSGx3WlN3Z2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2NtVjBkWEp1SUhSdmNFeGxkbVZzVkhsd1pTQTlQVDBnVkU5UVgwdEZXVjlFVDFkT0lDWW1JRzVoZEdsMlpVVjJaVzUwTG10bGVVTnZaR1VnUFQwOUlGTlVRVkpVWDB0RldVTlBSRVU3WEc1OVhHNHZLaXBjYmlBcUlFUnZaWE1nYjNWeUlHWmhiR3hpWVdOcklHMXZaR1VnZEdocGJtc2dkR2hoZENCMGFHbHpJR1YyWlc1MElHbHpJSFJvWlNCbGJtUWdiMllnWTI5dGNHOXphWFJwYjI0L1hHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhSdmNFeGxkbVZzVkhsd1pWeHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJRzVoZEdsMlpVVjJaVzUwWEc0Z0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdhWE5HWVd4c1ltRmphME52YlhCdmMybDBhVzl1Ulc1a0tIUnZjRXhsZG1Wc1ZIbHdaU3dnYm1GMGFYWmxSWFpsYm5RcElIdGNiaUFnYzNkcGRHTm9JQ2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnSUNCallYTmxJRlJQVUY5TFJWbGZWVkE2WEc0Z0lDQWdJQ0F2THlCRGIyMXRZVzVrSUd0bGVYTWdhVzV6WlhKMElHOXlJR05zWldGeUlFbE5SU0JwYm5CMWRDNWNiaUFnSUNBZ0lISmxkSFZ5YmlCRlRrUmZTMFZaUTA5RVJWTXVhVzVrWlhoUFppaHVZWFJwZG1WRmRtVnVkQzVyWlhsRGIyUmxLU0FoUFQwZ0xURTdYRzVjYmlBZ0lDQmpZWE5sSUZSUFVGOUxSVmxmUkU5WFRqcGNiaUFnSUNBZ0lDOHZJRVY0Y0dWamRDQkpUVVVnYTJWNVEyOWtaU0J2YmlCbFlXTm9JR3RsZVdSdmQyNHVJRWxtSUhkbElHZGxkQ0JoYm5rZ2IzUm9aWEpjYmlBZ0lDQWdJQzh2SUdOdlpHVWdkMlVnYlhWemRDQm9ZWFpsSUdWNGFYUmxaQ0JsWVhKc2FXVnlMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNWhkR2wyWlVWMlpXNTBMbXRsZVVOdlpHVWdJVDA5SUZOVVFWSlVYMHRGV1VOUFJFVTdYRzVjYmlBZ0lDQmpZWE5sSUZSUFVGOUxSVmxmVUZKRlUxTTZYRzRnSUNBZ1kyRnpaU0JVVDFCZlRVOVZVMFZmUkU5WFRqcGNiaUFnSUNCallYTmxJRlJQVUY5Q1RGVlNPbHh1SUNBZ0lDQWdMeThnUlhabGJuUnpJR0Z5WlNCdWIzUWdjRzl6YzJsaWJHVWdkMmwwYUc5MWRDQmpZVzVqWld4c2FXNW5JRWxOUlM1Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dWZWeHVMeW9xWEc0Z0tpQkhiMjluYkdVZ1NXNXdkWFFnVkc5dmJITWdjSEp2ZG1sa1pYTWdZMjl0Y0c5emFYUnBiMjRnWkdGMFlTQjJhV0VnWVNCRGRYTjBiMjFGZG1WdWRDeGNiaUFxSUhkcGRHZ2dkR2hsSUdCa1lYUmhZQ0J3Y205d1pYSjBlU0J3YjNCMWJHRjBaV1FnYVc0Z2RHaGxJR0JrWlhSaGFXeGdJRzlpYW1WamRDNGdTV1lnZEdocGMxeHVJQ29nYVhNZ1lYWmhhV3hoWW14bElHOXVJSFJvWlNCbGRtVnVkQ0J2WW1wbFkzUXNJSFZ6WlNCcGRDNGdTV1lnYm05MExDQjBhR2x6SUdseklHRWdjR3hoYVc1Y2JpQXFJR052YlhCdmMybDBhVzl1SUdWMlpXNTBJR0Z1WkNCM1pTQm9ZWFpsSUc1dmRHaHBibWNnYzNCbFkybGhiQ0IwYnlCbGVIUnlZV04wTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J1WVhScGRtVkZkbVZ1ZEZ4dUlDb2dRSEpsZEhWeWJpQjdQM04wY21sdVozMWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2RsZEVSaGRHRkdjbTl0UTNWemRHOXRSWFpsYm5Rb2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2RtRnlJR1JsZEdGcGJDQTlJRzVoZEdsMlpVVjJaVzUwTG1SbGRHRnBiRHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR1JsZEdGcGJDQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ0oyUmhkR0VuSUdsdUlHUmxkR0ZwYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJrWlhSaGFXd3VaR0YwWVR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dUx5b3FYRzRnS2lCRGFHVmpheUJwWmlCaElHTnZiWEJ2YzJsMGFXOXVJR1YyWlc1MElIZGhjeUIwY21sbloyVnlaV1FnWW5rZ1MyOXlaV0Z1SUVsTlJTNWNiaUFxSUU5MWNpQm1ZV3hzWW1GamF5QnRiMlJsSUdSdlpYTWdibTkwSUhkdmNtc2dkMlZzYkNCM2FYUm9JRWxGSjNNZ1MyOXlaV0Z1SUVsTlJTeGNiaUFxSUhOdklHcDFjM1FnZFhObElHNWhkR2wyWlNCamIyMXdiM05wZEdsdmJpQmxkbVZ1ZEhNZ2QyaGxiaUJMYjNKbFlXNGdTVTFGSUdseklIVnpaV1F1WEc0Z0tpQkJiSFJvYjNWbmFDQkRiMjF3YjNOcGRHbHZia1YyWlc1MExteHZZMkZzWlNCd2NtOXdaWEowZVNCcGN5QmtaWEJ5WldOaGRHVmtMRnh1SUNvZ2FYUWdhWE1nWVhaaGFXeGhZbXhsSUdsdUlFbEZMQ0IzYUdWeVpTQnZkWElnWm1Gc2JHSmhZMnNnYlc5a1pTQnBjeUJsYm1GaWJHVmtMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnVZWFJwZG1WRmRtVnVkRnh1SUNvZ1FISmxkSFZ5YmlCN1ltOXZiR1ZoYm4xY2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlHbHpWWE5wYm1kTGIzSmxZVzVKVFVVb2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2NtVjBkWEp1SUc1aGRHbDJaVVYyWlc1MExteHZZMkZzWlNBOVBUMGdKMnR2Snp0Y2JuMGdMeThnVkhKaFkyc2dkR2hsSUdOMWNuSmxiblFnU1UxRklHTnZiWEJ2YzJsMGFXOXVJSE4wWVhSMWN5d2dhV1lnWVc1NUxseHVYRzVjYm5aaGNpQnBjME52YlhCdmMybHVaeUE5SUdaaGJITmxPMXh1THlvcVhHNGdLaUJBY21WMGRYSnVJSHMvYjJKcVpXTjBmU0JCSUZONWJuUm9aWFJwWTBOdmJYQnZjMmwwYVc5dVJYWmxiblF1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRU52YlhCdmMybDBhVzl1UlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFwSUh0Y2JpQWdkbUZ5SUdWMlpXNTBWSGx3WlR0Y2JpQWdkbUZ5SUdaaGJHeGlZV05yUkdGMFlUdGNibHh1SUNCcFppQW9ZMkZ1VlhObFEyOXRjRzl6YVhScGIyNUZkbVZ1ZENrZ2UxeHVJQ0FnSUdWMlpXNTBWSGx3WlNBOUlHZGxkRU52YlhCdmMybDBhVzl1UlhabGJuUlVlWEJsS0hSdmNFeGxkbVZzVkhsd1pTazdYRzRnSUgwZ1pXeHpaU0JwWmlBb0lXbHpRMjl0Y0c5emFXNW5LU0I3WEc0Z0lDQWdhV1lnS0dselJtRnNiR0poWTJ0RGIyMXdiM05wZEdsdmJsTjBZWEowS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwS1NCN1hHNGdJQ0FnSUNCbGRtVnVkRlI1Y0dVZ1BTQmxkbVZ1ZEZSNWNHVnpMbU52YlhCdmMybDBhVzl1VTNSaGNuUTdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdhV1lnS0dselJtRnNiR0poWTJ0RGIyMXdiM05wZEdsdmJrVnVaQ2gwYjNCTVpYWmxiRlI1Y0dVc0lHNWhkR2wyWlVWMlpXNTBLU2tnZTF4dUlDQWdJR1YyWlc1MFZIbHdaU0E5SUdWMlpXNTBWSGx3WlhNdVkyOXRjRzl6YVhScGIyNUZibVE3WEc0Z0lIMWNibHh1SUNCcFppQW9JV1YyWlc1MFZIbHdaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2FXWWdLSFZ6WlVaaGJHeGlZV05yUTI5dGNHOXphWFJwYjI1RVlYUmhJQ1ltSUNGcGMxVnphVzVuUzI5eVpXRnVTVTFGS0c1aGRHbDJaVVYyWlc1MEtTa2dlMXh1SUNBZ0lDOHZJRlJvWlNCamRYSnlaVzUwSUdOdmJYQnZjMmwwYVc5dUlHbHpJSE4wYjNKbFpDQnpkR0YwYVdOaGJHeDVJR0Z1WkNCdGRYTjBJRzV2ZENCaVpWeHVJQ0FnSUM4dklHOTJaWEozY21sMGRHVnVJSGRvYVd4bElHTnZiWEJ2YzJsMGFXOXVJR052Ym5ScGJuVmxjeTVjYmlBZ0lDQnBaaUFvSVdselEyOXRjRzl6YVc1bklDWW1JR1YyWlc1MFZIbHdaU0E5UFQwZ1pYWmxiblJVZVhCbGN5NWpiMjF3YjNOcGRHbHZibE4wWVhKMEtTQjdYRzRnSUNBZ0lDQnBjME52YlhCdmMybHVaeUE5SUdsdWFYUnBZV3hwZW1Vb2JtRjBhWFpsUlhabGJuUlVZWEpuWlhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1pYWmxiblJVZVhCbElEMDlQU0JsZG1WdWRGUjVjR1Z6TG1OdmJYQnZjMmwwYVc5dVJXNWtLU0I3WEc0Z0lDQWdJQ0JwWmlBb2FYTkRiMjF3YjNOcGJtY3BJSHRjYmlBZ0lDQWdJQ0FnWm1Gc2JHSmhZMnRFWVhSaElEMGdaMlYwUkdGMFlTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCbGRtVnVkQ0E5SUZONWJuUm9aWFJwWTBOdmJYQnZjMmwwYVc5dVJYWmxiblF1WjJWMFVHOXZiR1ZrS0dWMlpXNTBWSGx3WlN3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwS1R0Y2JseHVJQ0JwWmlBb1ptRnNiR0poWTJ0RVlYUmhLU0I3WEc0Z0lDQWdMeThnU1c1cVpXTjBJR1JoZEdFZ1oyVnVaWEpoZEdWa0lHWnliMjBnWm1Gc2JHSmhZMnNnY0dGMGFDQnBiblJ2SUhSb1pTQnplVzUwYUdWMGFXTWdaWFpsYm5RdVhHNGdJQ0FnTHk4Z1ZHaHBjeUJ0WVhSamFHVnpJSFJvWlNCd2NtOXdaWEowZVNCdlppQnVZWFJwZG1VZ1EyOXRjRzl6YVhScGIyNUZkbVZ1ZEVsdWRHVnlabUZqWlM1Y2JpQWdJQ0JsZG1WdWRDNWtZWFJoSUQwZ1ptRnNiR0poWTJ0RVlYUmhPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCamRYTjBiMjFFWVhSaElEMGdaMlYwUkdGMFlVWnliMjFEZFhOMGIyMUZkbVZ1ZENodVlYUnBkbVZGZG1WdWRDazdYRzVjYmlBZ0lDQnBaaUFvWTNWemRHOXRSR0YwWVNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1pYWmxiblF1WkdGMFlTQTlJR04xYzNSdmJVUmhkR0U3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWVdOamRXMTFiR0YwWlZSM2IxQm9ZWE5sUkdsemNHRjBZMmhsY3lobGRtVnVkQ2s3WEc0Z0lISmxkSFZ5YmlCbGRtVnVkRHRjYm4xY2JpOHFLbHh1SUNvZ1FIQmhjbUZ0SUh0VWIzQk1aWFpsYkZSNWNHVjlJSFJ2Y0V4bGRtVnNWSGx3WlNCT2RXMWlaWElnWm5KdmJTQmdWRzl3VEdWMlpXeFVlWEJsWUM1Y2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnVZWFJwZG1WRmRtVnVkQ0JPWVhScGRtVWdZbkp2ZDNObGNpQmxkbVZ1ZEM1Y2JpQXFJRUJ5WlhSMWNtNGdlejl6ZEhKcGJtZDlJRlJvWlNCemRISnBibWNnWTI5eWNtVnpjRzl1WkdsdVp5QjBieUIwYUdseklHQmlaV1p2Y21WSmJuQjFkR0FnWlhabGJuUXVYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUJuWlhST1lYUnBkbVZDWldadmNtVkpibkIxZEVOb1lYSnpLSFJ2Y0V4bGRtVnNWSGx3WlN3Z2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2MzZHBkR05vSUNoMGIzQk1aWFpsYkZSNWNHVXBJSHRjYmlBZ0lDQmpZWE5sSUZSUFVGOURUMDFRVDFOSlZFbFBUbDlGVGtRNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWjJWMFJHRjBZVVp5YjIxRGRYTjBiMjFGZG1WdWRDaHVZWFJwZG1WRmRtVnVkQ2s3WEc1Y2JpQWdJQ0JqWVhObElGUlBVRjlMUlZsZlVGSkZVMU02WEc0Z0lDQWdJQ0F2S2lwY2JpQWdJQ0FnSUNBcUlFbG1JRzVoZEdsMlpTQmdkR1Y0ZEVsdWNIVjBZQ0JsZG1WdWRITWdZWEpsSUdGMllXbHNZV0pzWlN3Z2IzVnlJR2R2WVd3Z2FYTWdkRzhnYldGclpWeHVJQ0FnSUNBZ0lDb2dkWE5sSUc5bUlIUm9aVzB1SUVodmQyVjJaWElzSUhSb1pYSmxJR2x6SUdFZ2MzQmxZMmxoYkNCallYTmxPaUIwYUdVZ2MzQmhZMlZpWVhJZ2EyVjVMbHh1SUNBZ0lDQWdJQ29nU1c0Z1YyVmlhMmwwTENCd2NtVjJaVzUwYVc1bklHUmxabUYxYkhRZ2IyNGdZU0J6Y0dGalpXSmhjaUJnZEdWNGRFbHVjSFYwWUNCbGRtVnVkRnh1SUNBZ0lDQWdJQ29nWTJGdVkyVnNjeUJqYUdGeVlXTjBaWElnYVc1elpYSjBhVzl1TENCaWRYUWdhWFFnS21Gc2MyOHFJR05oZFhObGN5QjBhR1VnWW5KdmQzTmxjbHh1SUNBZ0lDQWdJQ29nZEc4Z1ptRnNiQ0JpWVdOcklIUnZJR2wwY3lCa1pXWmhkV3gwSUhOd1lXTmxZbUZ5SUdKbGFHRjJhVzl5SUc5bUlITmpjbTlzYkdsdVp5QjBhR1ZjYmlBZ0lDQWdJQ0FxSUhCaFoyVXVYRzRnSUNBZ0lDQWdLbHh1SUNBZ0lDQWdJQ29nVkhKaFkydHBibWNnWVhRNlhHNGdJQ0FnSUNBZ0tpQm9kSFJ3Y3pvdkwyTnZaR1V1WjI5dloyeGxMbU52YlM5d0wyTm9jbTl0YVhWdEwybHpjM1ZsY3k5a1pYUmhhV3cvYVdROU16VTFNVEF6WEc0Z0lDQWdJQ0FnS2x4dUlDQWdJQ0FnSUNvZ1ZHOGdZWFp2YVdRZ2RHaHBjeUJwYzNOMVpTd2dkWE5sSUhSb1pTQnJaWGx3Y21WemN5QmxkbVZ1ZENCaGN5QnBaaUJ1YnlCZ2RHVjRkRWx1Y0hWMFlGeHVJQ0FnSUNBZ0lDb2daWFpsYm5RZ2FYTWdZWFpoYVd4aFlteGxMbHh1SUNBZ0lDQWdJQ292WEc0Z0lDQWdJQ0IyWVhJZ2QyaHBZMmdnUFNCdVlYUnBkbVZGZG1WdWRDNTNhR2xqYUR0Y2JseHVJQ0FnSUNBZ2FXWWdLSGRvYVdOb0lDRTlQU0JUVUVGRFJVSkJVbDlEVDBSRktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCb1lYTlRjR0ZqWlV0bGVYQnlaWE56SUQwZ2RISjFaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQlRVRUZEUlVKQlVsOURTRUZTTzF4dVhHNGdJQ0FnWTJGelpTQlVUMUJmVkVWWVZGOUpUbEJWVkRwY2JpQWdJQ0FnSUM4dklGSmxZMjl5WkNCMGFHVWdZMmhoY21GamRHVnljeUIwYnlCaVpTQmhaR1JsWkNCMGJ5QjBhR1VnUkU5TkxseHVJQ0FnSUNBZ2RtRnlJR05vWVhKeklEMGdibUYwYVhabFJYWmxiblF1WkdGMFlUc2dMeThnU1dZZ2FYUW5jeUJoSUhOd1lXTmxZbUZ5SUdOb1lYSmhZM1JsY2l3Z1lYTnpkVzFsSUhSb1lYUWdkMlVnYUdGMlpTQmhiSEpsWVdSNUlHaGhibVJzWldSY2JpQWdJQ0FnSUM4dklHbDBJR0YwSUhSb1pTQnJaWGx3Y21WemN5QnNaWFpsYkNCaGJtUWdZbUZwYkNCcGJXMWxaR2xoZEdWc2VTNGdRVzVrY205cFpDQkRhSEp2YldWY2JpQWdJQ0FnSUM4dklHUnZaWE51SjNRZ1oybDJaU0IxY3lCclpYbGpiMlJsY3l3Z2MyOGdkMlVnYm1WbFpDQjBieUJwWjI1dmNtVWdhWFF1WEc1Y2JpQWdJQ0FnSUdsbUlDaGphR0Z5Y3lBOVBUMGdVMUJCUTBWQ1FWSmZRMGhCVWlBbUppQm9ZWE5UY0dGalpVdGxlWEJ5WlhOektTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnWTJoaGNuTTdYRzVjYmlBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0x5OGdSbTl5SUc5MGFHVnlJRzVoZEdsMlpTQmxkbVZ1ZENCMGVYQmxjeXdnWkc4Z2JtOTBhR2x1Wnk1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFWnZjaUJpY205M2MyVnljeUIwYUdGMElHUnZJRzV2ZENCd2NtOTJhV1JsSUhSb1pTQmdkR1Y0ZEVsdWNIVjBZQ0JsZG1WdWRDd2daWGgwY21GamRDQjBhR1ZjYmlBcUlHRndjSEp2Y0hKcFlYUmxJSE4wY21sdVp5QjBieUIxYzJVZ1ptOXlJRk41Ym5Sb1pYUnBZMGx1Y0hWMFJYWmxiblF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJSFJ2Y0V4bGRtVnNWSGx3WlNCT2RXMWlaWElnWm5KdmJTQmdWRzl3VEdWMlpXeEZkbVZ1ZEZSNWNHVnpZQzVjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCdVlYUnBkbVZGZG1WdWRDQk9ZWFJwZG1VZ1luSnZkM05sY2lCbGRtVnVkQzVjYmlBcUlFQnlaWFIxY200Z2V6OXpkSEpwYm1kOUlGUm9aU0JtWVd4c1ltRmpheUJ6ZEhKcGJtY2dabTl5SUhSb2FYTWdZR0psWm05eVpVbHVjSFYwWUNCbGRtVnVkQzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFWmhiR3hpWVdOclFtVm1iM0psU1c1d2RYUkRhR0Z5Y3loMGIzQk1aWFpsYkZSNWNHVXNJRzVoZEdsMlpVVjJaVzUwS1NCN1hHNGdJQzh2SUVsbUlIZGxJR0Z5WlNCamRYSnlaVzUwYkhrZ1kyOXRjRzl6YVc1bklDaEpUVVVwSUdGdVpDQjFjMmx1WnlCaElHWmhiR3hpWVdOcklIUnZJR1J2SUhOdkxGeHVJQ0F2THlCMGNua2dkRzhnWlhoMGNtRmpkQ0IwYUdVZ1kyOXRjRzl6WldRZ1kyaGhjbUZqZEdWeWN5Qm1jbTl0SUhSb1pTQm1ZV3hzWW1GamF5QnZZbXBsWTNRdVhHNGdJQzh2SUVsbUlHTnZiWEJ2YzJsMGFXOXVJR1YyWlc1MElHbHpJR0YyWVdsc1lXSnNaU3dnZDJVZ1pYaDBjbUZqZENCaElITjBjbWx1WnlCdmJteDVJR0YwWEc0Z0lDOHZJR052YlhCdmMybDBhVzl1WlhabGJuUXNJRzkwYUdWeWQybHpaU0JsZUhSeVlXTjBJR2wwSUdGMElHWmhiR3hpWVdOcklHVjJaVzUwY3k1Y2JpQWdhV1lnS0dselEyOXRjRzl6YVc1bktTQjdYRzRnSUNBZ2FXWWdLSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDBOUFRWQlBVMGxVU1U5T1gwVk9SQ0I4ZkNBaFkyRnVWWE5sUTI5dGNHOXphWFJwYjI1RmRtVnVkQ0FtSmlCcGMwWmhiR3hpWVdOclEyOXRjRzl6YVhScGIyNUZibVFvZEc5d1RHVjJaV3hVZVhCbExDQnVZWFJwZG1WRmRtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhaaGNpQmphR0Z5Y3lBOUlHZGxkRVJoZEdFb0tUdGNiaUFnSUNBZ0lISmxjMlYwS0NrN1hHNGdJQ0FnSUNCcGMwTnZiWEJ2YzJsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOb1lYSnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYzNkcGRHTm9JQ2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnSUNCallYTmxJRlJQVUY5UVFWTlVSVHBjYmlBZ0lDQWdJQzh2SUVsbUlHRWdjR0Z6ZEdVZ1pYWmxiblFnYjJOamRYSnpJR0ZtZEdWeUlHRWdhMlY1Y0hKbGMzTXNJSFJvY205M0lHOTFkQ0IwYUdVZ2FXNXdkWFJjYmlBZ0lDQWdJQzh2SUdOb1lYSnpMaUJRWVhOMFpTQmxkbVZ1ZEhNZ2MyaHZkV3hrSUc1dmRDQnNaV0ZrSUhSdklFSmxabTl5WlVsdWNIVjBJR1YyWlc1MGN5NWNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdZMkZ6WlNCVVQxQmZTMFZaWDFCU1JWTlRPbHh1SUNBZ0lDQWdMeW9xWEc0Z0lDQWdJQ0FnS2lCQmN5QnZaaUIyTWpjc0lFWnBjbVZtYjNnZ2JXRjVJR1pwY21VZ2EyVjVjSEpsYzNNZ1pYWmxiblJ6SUdWMlpXNGdkMmhsYmlCdWJ5QmphR0Z5WVdOMFpYSmNiaUFnSUNBZ0lDQXFJSGRwYkd3Z1ltVWdhVzV6WlhKMFpXUXVJRUVnWm1WM0lIQnZjM05wWW1sc2FYUnBaWE02WEc0Z0lDQWdJQ0FnS2x4dUlDQWdJQ0FnSUNvZ0xTQmdkMmhwWTJoZ0lHbHpJR0F3WUM0Z1FYSnliM2NnYTJWNWN5d2dSWE5qSUd0bGVTd2daWFJqTGx4dUlDQWdJQ0FnSUNwY2JpQWdJQ0FnSUNBcUlDMGdZSGRvYVdOb1lDQnBjeUIwYUdVZ2NISmxjM05sWkNCclpYa2dZMjlrWlN3Z1luVjBJRzV2SUdOb1lYSWdhWE1nWVhaaGFXeGhZbXhsTGx4dUlDQWdJQ0FnSUNvZ0lDQkZlRG9nSjBGc2RFZHlJQ3NnWkdBZ2FXNGdVRzlzYVhOb0xpQlVhR1Z5WlNCcGN5QnVieUJ0YjJScFptbGxaQ0JqYUdGeVlXTjBaWElnWm05eVhHNGdJQ0FnSUNBZ0tpQWdJSFJvYVhNZ2EyVjVJR052YldKcGJtRjBhVzl1SUdGdVpDQnVieUJqYUdGeVlXTjBaWElnYVhNZ2FXNXpaWEowWldRZ2FXNTBieUIwYUdWY2JpQWdJQ0FnSUNBcUlDQWdaRzlqZFcxbGJuUXNJR0oxZENCR1JpQm1hWEpsY3lCMGFHVWdhMlY1Y0hKbGMzTWdabTl5SUdOb1lYSWdZMjlrWlNCZ01UQXdZQ0JoYm5sM1lYa3VYRzRnSUNBZ0lDQWdLaUFnSUU1dklHQnBibkIxZEdBZ1pYWmxiblFnZDJsc2JDQnZZMk4xY2k1Y2JpQWdJQ0FnSUNBcVhHNGdJQ0FnSUNBZ0tpQXRJR0IzYUdsamFHQWdhWE1nZEdobElIQnlaWE56WldRZ2EyVjVJR052WkdVc0lHSjFkQ0JoSUdOdmJXMWhibVFnWTI5dFltbHVZWFJwYjI0Z2FYTmNiaUFnSUNBZ0lDQXFJQ0FnWW1WcGJtY2dkWE5sWkM0Z1JYZzZJR0JEYldRclEyQXVJRTV2SUdOb1lYSmhZM1JsY2lCcGN5QnBibk5sY25SbFpDd2dZVzVrSUc1dlhHNGdJQ0FnSUNBZ0tpQWdJR0JwYm5CMWRHQWdaWFpsYm5RZ2QybHNiQ0J2WTJOMWNpNWNiaUFnSUNBZ0lDQXFMMXh1SUNBZ0lDQWdhV1lnS0NGcGMwdGxlWEJ5WlhOelEyOXRiV0Z1WkNodVlYUnBkbVZGZG1WdWRDa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1NVVWdabWx5WlhNZ2RHaGxJR0JyWlhsd2NtVnpjMkFnWlhabGJuUWdkMmhsYmlCaElIVnpaWElnZEhsd1pYTWdZVzRnWlcxdmFta2dkbWxoWEc0Z0lDQWdJQ0FnSUM4dklGUnZkV05vSUd0bGVXSnZZWEprSUc5bUlGZHBibVJ2ZDNNdUlDQkpiaUJ6ZFdOb0lHRWdZMkZ6WlN3Z2RHaGxJR0JqYUdGeVlDQndjbTl3WlhKMGVWeHVJQ0FnSUNBZ0lDQXZMeUJvYjJ4a2N5QmhiaUJsYlc5cWFTQmphR0Z5WVdOMFpYSWdiR2xyWlNCZ1hGeDFSRGd6UkZ4Y2RVUkZNRUZnTGlBZ1FtVmpZWFZ6WlNCcGRITWdiR1Z1WjNSb1hHNGdJQ0FnSUNBZ0lDOHZJR2x6SURJc0lIUm9aU0J3Y205d1pYSjBlU0JnZDJocFkyaGdJR1J2WlhNZ2JtOTBJSEpsY0hKbGMyVnVkQ0JoYmlCbGJXOXFhU0JqYjNKeVpXTjBiSGt1WEc0Z0lDQWdJQ0FnSUM4dklFbHVJSE4xWTJnZ1lTQmpZWE5sTENCM1pTQmthWEpsWTNSc2VTQnlaWFIxY200Z2RHaGxJR0JqYUdGeVlDQndjbTl3WlhKMGVTQnBibk4wWldGa0lHOW1YRzRnSUNBZ0lDQWdJQzh2SUhWemFXNW5JR0IzYUdsamFHQXVYRzRnSUNBZ0lDQWdJR2xtSUNodVlYUnBkbVZGZG1WdWRDNWphR0Z5SUNZbUlHNWhkR2wyWlVWMlpXNTBMbU5vWVhJdWJHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1WVhScGRtVkZkbVZ1ZEM1amFHRnlPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0c1aGRHbDJaVVYyWlc1MExuZG9hV05vS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGTjBjbWx1Wnk1bWNtOXRRMmhoY2tOdlpHVW9ibUYwYVhabFJYWmxiblF1ZDJocFkyZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVYRzRnSUNBZ1kyRnpaU0JVVDFCZlEwOU5VRTlUU1ZSSlQwNWZSVTVFT2x4dUlDQWdJQ0FnY21WMGRYSnVJSFZ6WlVaaGJHeGlZV05yUTI5dGNHOXphWFJwYjI1RVlYUmhJQ1ltSUNGcGMxVnphVzVuUzI5eVpXRnVTVTFGS0c1aGRHbDJaVVYyWlc1MEtTQS9JRzUxYkd3Z09pQnVZWFJwZG1WRmRtVnVkQzVrWVhSaE8xeHVYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFVjRkSEpoWTNRZ1lTQlRlVzUwYUdWMGFXTkpibkIxZEVWMlpXNTBJR1p2Y2lCZ1ltVm1iM0psU1c1d2RYUmdMQ0JpWVhObFpDQnZiaUJsYVhSb1pYSWdibUYwYVhabFhHNGdLaUJnZEdWNGRFbHVjSFYwWUNCdmNpQm1ZV3hzWW1GamF5QmlaV2hoZG1sdmNpNWNiaUFxWEc0Z0tpQkFjbVYwZFhKdUlIcy9iMkpxWldOMGZTQkJJRk41Ym5Sb1pYUnBZMGx1Y0hWMFJYWmxiblF1WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCbGVIUnlZV04wUW1WbWIzSmxTVzV3ZFhSRmRtVnVkQ2gwYjNCTVpYWmxiRlI1Y0dVc0lIUmhjbWRsZEVsdWMzUXNJRzVoZEdsMlpVVjJaVzUwTENCdVlYUnBkbVZGZG1WdWRGUmhjbWRsZENrZ2UxeHVJQ0IyWVhJZ1kyaGhjbk03WEc1Y2JpQWdhV1lnS0dOaGJsVnpaVlJsZUhSSmJuQjFkRVYyWlc1MEtTQjdYRzRnSUNBZ1kyaGhjbk1nUFNCblpYUk9ZWFJwZG1WQ1pXWnZjbVZKYm5CMWRFTm9ZWEp6S0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUdOb1lYSnpJRDBnWjJWMFJtRnNiR0poWTJ0Q1pXWnZjbVZKYm5CMWRFTm9ZWEp6S0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwTzF4dUlDQjlJQzh2SUVsbUlHNXZJR05vWVhKaFkzUmxjbk1nWVhKbElHSmxhVzVuSUdsdWMyVnlkR1ZrTENCdWJ5QkNaV1p2Y21WSmJuQjFkQ0JsZG1WdWRDQnphRzkxYkdSY2JpQWdMeThnWW1VZ1ptbHlaV1F1WEc1Y2JseHVJQ0JwWmlBb0lXTm9ZWEp6S1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjJZWElnWlhabGJuUWdQU0JUZVc1MGFHVjBhV05KYm5CMWRFVjJaVzUwTG1kbGRGQnZiMnhsWkNobGRtVnVkRlI1Y0dWekxtSmxabTl5WlVsdWNIVjBMQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXBPMXh1SUNCbGRtVnVkQzVrWVhSaElEMGdZMmhoY25NN1hHNGdJR0ZqWTNWdGRXeGhkR1ZVZDI5UWFHRnpaVVJwYzNCaGRHTm9aWE1vWlhabGJuUXBPMXh1SUNCeVpYUjFjbTRnWlhabGJuUTdYRzU5WEc0dktpcGNiaUFxSUVOeVpXRjBaU0JoYmlCZ2IyNUNaV1p2Y21WSmJuQjFkR0FnWlhabGJuUWdkRzhnYldGMFkyaGNiaUFxSUdoMGRIQTZMeTkzZDNjdWR6TXViM0puTDFSU0x6SXdNVE12VjBRdFJFOU5MVXhsZG1Wc0xUTXRSWFpsYm5SekxUSXdNVE14TVRBMUx5TmxkbVZ1ZEhNdGFXNXdkWFJsZG1WdWRITXVYRzRnS2x4dUlDb2dWR2hwY3lCbGRtVnVkQ0J3YkhWbmFXNGdhWE1nWW1GelpXUWdiMjRnZEdobElHNWhkR2wyWlNCZ2RHVjRkRWx1Y0hWMFlDQmxkbVZ1ZEZ4dUlDb2dZWFpoYVd4aFlteGxJR2x1SUVOb2NtOXRaU3dnVTJGbVlYSnBMQ0JQY0dWeVlTd2dZVzVrSUVsRkxpQlVhR2x6SUdWMlpXNTBJR1pwY21WeklHRm1kR1Z5WEc0Z0tpQmdiMjVMWlhsUWNtVnpjMkFnWVc1a0lHQnZia052YlhCdmMybDBhVzl1Ulc1a1lDd2dZblYwSUdKbFptOXlaU0JnYjI1SmJuQjFkR0F1WEc0Z0tseHVJQ29nWUdKbFptOXlaVWx1Y0hWMFlDQnBjeUJ6Y0dWakoyUWdZblYwSUc1dmRDQnBiWEJzWlcxbGJuUmxaQ0JwYmlCaGJua2dZbkp2ZDNObGNuTXNJR0Z1WkZ4dUlDb2dkR2hsSUdCcGJuQjFkR0FnWlhabGJuUWdaRzlsY3lCdWIzUWdjSEp2ZG1sa1pTQmhibmtnZFhObFpuVnNJR2x1Wm05eWJXRjBhVzl1SUdGaWIzVjBJSGRvWVhRZ2FHRnpYRzRnS2lCaFkzUjFZV3hzZVNCaVpXVnVJR0ZrWkdWa0xDQmpiMjUwY21GeWVTQjBieUIwYUdVZ2MzQmxZeTRnVkdoMWN5d2dZSFJsZUhSSmJuQjFkR0FnYVhNZ2RHaGxJR0psYzNSY2JpQXFJR0YyWVdsc1lXSnNaU0JsZG1WdWRDQjBieUJwWkdWdWRHbG1lU0IwYUdVZ1kyaGhjbUZqZEdWeWN5QjBhR0YwSUdoaGRtVWdZV04wZFdGc2JIa2dZbVZsYmlCcGJuTmxjblJsWkZ4dUlDb2dhVzUwYnlCMGFHVWdkR0Z5WjJWMElHNXZaR1V1WEc0Z0tseHVJQ29nVkdocGN5QndiSFZuYVc0Z2FYTWdZV3h6YnlCeVpYTndiMjV6YVdKc1pTQm1iM0lnWlcxcGRIUnBibWNnWUdOdmJYQnZjMmwwYVc5dVlDQmxkbVZ1ZEhNc0lIUm9kWE5jYmlBcUlHRnNiRzkzYVc1bklIVnpJSFJ2SUhOb1lYSmxJR052YlhCdmMybDBhVzl1SUdaaGJHeGlZV05ySUdOdlpHVWdabTl5SUdKdmRHZ2dZR0psWm05eVpVbHVjSFYwWUNCaGJtUmNiaUFxSUdCamIyMXdiM05wZEdsdmJtQWdaWFpsYm5RZ2RIbHdaWE11WEc0Z0tpOWNibHh1WEc1MllYSWdRbVZtYjNKbFNXNXdkWFJGZG1WdWRGQnNkV2RwYmlBOUlIdGNiaUFnWlhabGJuUlVlWEJsY3pvZ1pYWmxiblJVZVhCbGN5eGNiaUFnWlhoMGNtRmpkRVYyWlc1MGN6b2dablZ1WTNScGIyNGdLSFJ2Y0V4bGRtVnNWSGx3WlN3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6S1NCN1hHNGdJQ0FnZG1GeUlHTnZiWEJ2YzJsMGFXOXVJRDBnWlhoMGNtRmpkRU52YlhCdmMybDBhVzl1UlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFwTzF4dUlDQWdJSFpoY2lCaVpXWnZjbVZKYm5CMWRDQTlJR1Y0ZEhKaFkzUkNaV1p2Y21WSmJuQjFkRVYyWlc1MEtIUnZjRXhsZG1Wc1ZIbHdaU3dnZEdGeVoyVjBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLVHRjYmx4dUlDQWdJR2xtSUNoamIyMXdiM05wZEdsdmJpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHSmxabTl5WlVsdWNIVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWldadmNtVkpibkIxZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOdmJYQnZjMmwwYVc5dU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJiWTI5dGNHOXphWFJwYjI0c0lHSmxabTl5WlVsdWNIVjBYVHRjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCQWMyVmxJR2gwZEhBNkx5OTNkM2N1ZDJoaGRIZG5MbTl5Wnk5emNHVmpjeTkzWldJdFlYQndjeTlqZFhKeVpXNTBMWGR2Y21zdmJYVnNkR2x3WVdkbEwzUm9aUzFwYm5CMWRDMWxiR1Z0Wlc1MExtaDBiV3dqYVc1d2RYUXRkSGx3WlMxaGRIUnlMWE4xYlcxaGNubGNiaUFxTDF4dWRtRnlJSE4xY0hCdmNuUmxaRWx1Y0hWMFZIbHdaWE1nUFNCN1hHNGdJR052Ykc5eU9pQjBjblZsTEZ4dUlDQmtZWFJsT2lCMGNuVmxMRnh1SUNCa1lYUmxkR2x0WlRvZ2RISjFaU3hjYmlBZ0oyUmhkR1YwYVcxbExXeHZZMkZzSnpvZ2RISjFaU3hjYmlBZ1pXMWhhV3c2SUhSeWRXVXNYRzRnSUcxdmJuUm9PaUIwY25WbExGeHVJQ0J1ZFcxaVpYSTZJSFJ5ZFdVc1hHNGdJSEJoYzNOM2IzSmtPaUIwY25WbExGeHVJQ0J5WVc1blpUb2dkSEoxWlN4Y2JpQWdjMlZoY21Ob09pQjBjblZsTEZ4dUlDQjBaV3c2SUhSeWRXVXNYRzRnSUhSbGVIUTZJSFJ5ZFdVc1hHNGdJSFJwYldVNklIUnlkV1VzWEc0Z0lIVnliRG9nZEhKMVpTeGNiaUFnZDJWbGF6b2dkSEoxWlZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnYVhOVVpYaDBTVzV3ZFhSRmJHVnRaVzUwS0dWc1pXMHBJSHRjYmlBZ2RtRnlJRzV2WkdWT1lXMWxJRDBnWld4bGJTQW1KaUJsYkdWdExtNXZaR1ZPWVcxbElDWW1JR1ZzWlcwdWJtOWtaVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmx4dUlDQnBaaUFvYm05a1pVNWhiV1VnUFQwOUlDZHBibkIxZENjcElIdGNiaUFnSUNCeVpYUjFjbTRnSVNGemRYQndiM0owWldSSmJuQjFkRlI1Y0dWelcyVnNaVzB1ZEhsd1pWMDdYRzRnSUgxY2JseHVJQ0JwWmlBb2JtOWtaVTVoYldVZ1BUMDlJQ2QwWlhoMFlYSmxZU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JseHVkbUZ5SUdWMlpXNTBWSGx3WlhNa01TQTlJSHRjYmlBZ1kyaGhibWRsT2lCN1hHNGdJQ0FnY0doaGMyVmtVbVZuYVhOMGNtRjBhVzl1VG1GdFpYTTZJSHRjYmlBZ0lDQWdJR0oxWW1Kc1pXUTZJQ2R2YmtOb1lXNW5aU2NzWEc0Z0lDQWdJQ0JqWVhCMGRYSmxaRG9nSjI5dVEyaGhibWRsUTJGd2RIVnlaU2RjYmlBZ0lDQjlMRnh1SUNBZ0lHUmxjR1Z1WkdWdVkybGxjem9nVzFSUFVGOUNURlZTTENCVVQxQmZRMGhCVGtkRkxDQlVUMUJmUTB4SlEwc3NJRlJQVUY5R1QwTlZVeXdnVkU5UVgwbE9VRlZVTENCVVQxQmZTMFZaWDBSUFYwNHNJRlJQVUY5TFJWbGZWVkFzSUZSUFVGOVRSVXhGUTFSSlQwNWZRMGhCVGtkRlhWeHVJQ0I5WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkJibVJCWTJOMWJYVnNZWFJsUTJoaGJtZGxSWFpsYm5Rb2FXNXpkQ3dnYm1GMGFYWmxSWFpsYm5Rc0lIUmhjbWRsZENrZ2UxeHVJQ0IyWVhJZ1pYWmxiblFnUFNCVGVXNTBhR1YwYVdORmRtVnVkQzVuWlhSUWIyOXNaV1FvWlhabGJuUlVlWEJsY3lReExtTm9ZVzVuWlN3Z2FXNXpkQ3dnYm1GMGFYWmxSWFpsYm5Rc0lIUmhjbWRsZENrN1hHNGdJR1YyWlc1MExuUjVjR1VnUFNBblkyaGhibWRsSnpzZ0x5OGdSbXhoWnlCMGFHbHpJR1YyWlc1MElHeHZiM0FnWVhNZ2JtVmxaR2x1WnlCemRHRjBaU0J5WlhOMGIzSmxMbHh1WEc0Z0lHVnVjWFZsZFdWVGRHRjBaVkpsYzNSdmNtVW9kR0Z5WjJWMEtUdGNiaUFnWVdOamRXMTFiR0YwWlZSM2IxQm9ZWE5sUkdsemNHRjBZMmhsY3lobGRtVnVkQ2s3WEc0Z0lISmxkSFZ5YmlCbGRtVnVkRHRjYm4xY2JpOHFLbHh1SUNvZ1JtOXlJRWxGSUhOb2FXMXpYRzRnS2k5Y2JseHVYRzUyWVhJZ1lXTjBhWFpsUld4bGJXVnVkQ0E5SUc1MWJHdzdYRzUyWVhJZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRZ1BTQnVkV3hzTzF4dUx5b3FYRzRnS2lCVFJVTlVTVTlPT2lCb1lXNWtiR1VnWUdOb1lXNW5aV0FnWlhabGJuUmNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnphRzkxYkdSVmMyVkRhR0Z1WjJWRmRtVnVkQ2hsYkdWdEtTQjdYRzRnSUhaaGNpQnViMlJsVG1GdFpTQTlJR1ZzWlcwdWJtOWtaVTVoYldVZ0ppWWdaV3hsYlM1dWIyUmxUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BPMXh1SUNCeVpYUjFjbTRnYm05a1pVNWhiV1VnUFQwOUlDZHpaV3hsWTNRbklIeDhJRzV2WkdWT1lXMWxJRDA5UFNBbmFXNXdkWFFuSUNZbUlHVnNaVzB1ZEhsd1pTQTlQVDBnSjJacGJHVW5PMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRZVzUxWVd4RWFYTndZWFJqYUVOb1lXNW5aVVYyWlc1MEtHNWhkR2wyWlVWMlpXNTBLU0I3WEc0Z0lIWmhjaUJsZG1WdWRDQTlJR055WldGMFpVRnVaRUZqWTNWdGRXeGhkR1ZEYUdGdVoyVkZkbVZ1ZENoaFkzUnBkbVZGYkdWdFpXNTBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJR2RsZEVWMlpXNTBWR0Z5WjJWMEtHNWhkR2wyWlVWMlpXNTBLU2s3SUM4dklFbG1JR05vWVc1blpTQmhibVFnY0hKdmNHVnlkSGxqYUdGdVoyVWdZblZpWW14bFpDd2dkMlVuWkNCcWRYTjBJR0pwYm1RZ2RHOGdhWFFnYkdsclpTQmhiR3dnZEdobFhHNGdJQzh2SUc5MGFHVnlJR1YyWlc1MGN5QmhibVFnYUdGMlpTQnBkQ0JuYnlCMGFISnZkV2RvSUZKbFlXTjBRbkp2ZDNObGNrVjJaVzUwUlcxcGRIUmxjaTRnVTJsdVkyVWdhWFJjYmlBZ0x5OGdaRzlsYzI0bmRDd2dkMlVnYldGdWRXRnNiSGtnYkdsemRHVnVJR1p2Y2lCMGFHVWdaWFpsYm5SeklHRnVaQ0J6YnlCM1pTQm9ZWFpsSUhSdklHVnVjWFZsZFdVZ1lXNWtYRzRnSUM4dklIQnliMk5sYzNNZ2RHaGxJR0ZpYzNSeVlXTjBJR1YyWlc1MElHMWhiblZoYkd4NUxseHVJQ0F2TDF4dUlDQXZMeUJDWVhSamFHbHVaeUJwY3lCdVpXTmxjM05oY25rZ2FHVnlaU0JwYmlCdmNtUmxjaUIwYnlCbGJuTjFjbVVnZEdoaGRDQmhiR3dnWlhabGJuUWdhR0Z1Wkd4bGNuTWdjblZ1WEc0Z0lDOHZJR0psWm05eVpTQjBhR1VnYm1WNGRDQnlaWEpsYm1SbGNpQW9hVzVqYkhWa2FXNW5JR1YyWlc1MElHaGhibVJzWlhKeklHRjBkR0ZqYUdWa0lIUnZJR0Z1WTJWemRHOXlYRzRnSUM4dklHVnNaVzFsYm5SeklHbHVjM1JsWVdRZ2IyWWdaR2x5WldOMGJIa2diMjRnZEdobElHbHVjSFYwS1M0Z1YybDBhRzkxZENCMGFHbHpMQ0JqYjI1MGNtOXNiR1ZrWEc0Z0lDOHZJR052YlhCdmJtVnVkSE1nWkc5dUozUWdkMjl5YXlCd2NtOXdaWEpzZVNCcGJpQmpiMjVxZFc1amRHbHZiaUIzYVhSb0lHVjJaVzUwSUdKMVltSnNhVzVuSUdKbFkyRjFjMlZjYmlBZ0x5OGdkR2hsSUdOdmJYQnZibVZ1ZENCcGN5QnlaWEpsYm1SbGNtVmtJR0Z1WkNCMGFHVWdkbUZzZFdVZ2NtVjJaWEowWldRZ1ltVm1iM0psSUdGc2JDQjBhR1VnWlhabGJuUmNiaUFnTHk4Z2FHRnVaR3hsY25NZ1kyRnVJSEoxYmk0Z1UyVmxJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk56QTRMbHh1WEc0Z0lHSmhkR05vWldSVmNHUmhkR1Z6S0hKMWJrVjJaVzUwU1c1Q1lYUmphQ3dnWlhabGJuUXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlkVzVGZG1WdWRFbHVRbUYwWTJnb1pYWmxiblFwSUh0Y2JpQWdjblZ1UlhabGJuUnpTVzVDWVhSamFDaGxkbVZ1ZENrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFbHVjM1JKWmxaaGJIVmxRMmhoYm1kbFpDaDBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lIWmhjaUIwWVhKblpYUk9iMlJsSUQwZ1oyVjBUbTlrWlVaeWIyMUpibk4wWVc1alpTUXhLSFJoY21kbGRFbHVjM1FwTzF4dVhHNGdJR2xtSUNoMWNHUmhkR1ZXWVd4MVpVbG1RMmhoYm1kbFpDaDBZWEpuWlhST2IyUmxLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBZWEpuWlhSSmJuTjBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRGUmhjbWRsZEVsdWMzUkdiM0pEYUdGdVoyVkZkbVZ1ZENoMGIzQk1aWFpsYkZSNWNHVXNJSFJoY21kbGRFbHVjM1FwSUh0Y2JpQWdhV1lnS0hSdmNFeGxkbVZzVkhsd1pTQTlQVDBnVkU5UVgwTklRVTVIUlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwWVhKblpYUkpibk4wTzF4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUZORlExUkpUMDQ2SUdoaGJtUnNaU0JnYVc1d2RYUmdJR1YyWlc1MFhHNGdLaTljYmx4dVhHNTJZWElnYVhOSmJuQjFkRVYyWlc1MFUzVndjRzl5ZEdWa0lEMGdabUZzYzJVN1hHNWNibWxtSUNoallXNVZjMlZFVDAwcElIdGNiaUFnTHk4Z1NVVTVJR05zWVdsdGN5QjBieUJ6ZFhCd2IzSjBJSFJvWlNCcGJuQjFkQ0JsZG1WdWRDQmlkWFFnWm1GcGJITWdkRzhnZEhKcFoyZGxjaUJwZENCM2FHVnVYRzRnSUM4dklHUmxiR1YwYVc1bklIUmxlSFFzSUhOdklIZGxJR2xuYm05eVpTQnBkSE1nYVc1d2RYUWdaWFpsYm5SekxseHVJQ0JwYzBsdWNIVjBSWFpsYm5SVGRYQndiM0owWldRZ1BTQnBjMFYyWlc1MFUzVndjRzl5ZEdWa0tDZHBibkIxZENjcElDWW1JQ2doWkc5amRXMWxiblF1Wkc5amRXMWxiblJOYjJSbElIeDhJR1J2WTNWdFpXNTBMbVJ2WTNWdFpXNTBUVzlrWlNBK0lEa3BPMXh1ZlZ4dUx5b3FYRzRnS2lBb1JtOXlJRWxGSUR3OU9Ta2dVM1JoY25SeklIUnlZV05yYVc1bklIQnliM0JsY25SNVkyaGhibWRsSUdWMlpXNTBjeUJ2YmlCMGFHVWdjR0Z6YzJWa0xXbHVJR1ZzWlcxbGJuUmNiaUFxSUdGdVpDQnZkbVZ5Y21sa1pTQjBhR1VnZG1Gc2RXVWdjSEp2Y0dWeWRIa2djMjhnZEdoaGRDQjNaU0JqWVc0Z1pHbHpkR2x1WjNWcGMyZ2dkWE5sY2lCbGRtVnVkSE1nWm5KdmJWeHVJQ29nZG1Gc2RXVWdZMmhoYm1kbGN5QnBiaUJLVXk1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlITjBZWEowVjJGMFkyaHBibWRHYjNKV1lXeDFaVU5vWVc1blpTaDBZWEpuWlhRc0lIUmhjbWRsZEVsdWMzUXBJSHRjYmlBZ1lXTjBhWFpsUld4bGJXVnVkQ0E5SUhSaGNtZGxkRHRjYmlBZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRZ1BTQjBZWEpuWlhSSmJuTjBPMXh1SUNCaFkzUnBkbVZGYkdWdFpXNTBMbUYwZEdGamFFVjJaVzUwS0NkdmJuQnliM0JsY25SNVkyaGhibWRsSnl3Z2FHRnVaR3hsVUhKdmNHVnlkSGxEYUdGdVoyVXBPMXh1ZlZ4dUx5b3FYRzRnS2lBb1JtOXlJRWxGSUR3OU9Ta2dVbVZ0YjNabGN5QjBhR1VnWlhabGJuUWdiR2x6ZEdWdVpYSnpJR1p5YjIwZ2RHaGxJR04xY25KbGJuUnNlUzEwY21GamEyVmtJR1ZzWlcxbGJuUXNYRzRnS2lCcFppQmhibmtnWlhocGMzUnpMbHh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnYzNSdmNGZGhkR05vYVc1blJtOXlWbUZzZFdWRGFHRnVaMlVvS1NCN1hHNGdJR2xtSUNnaFlXTjBhWFpsUld4bGJXVnVkQ2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJR0ZqZEdsMlpVVnNaVzFsYm5RdVpHVjBZV05vUlhabGJuUW9KMjl1Y0hKdmNHVnlkSGxqYUdGdVoyVW5MQ0JvWVc1a2JHVlFjbTl3WlhKMGVVTm9ZVzVuWlNrN1hHNGdJR0ZqZEdsMlpVVnNaVzFsYm5RZ1BTQnVkV3hzTzF4dUlDQmhZM1JwZG1WRmJHVnRaVzUwU1c1emRDQTlJRzUxYkd3N1hHNTlYRzR2S2lwY2JpQXFJQ2hHYjNJZ1NVVWdQRDA1S1NCSVlXNWtiR1Z6SUdFZ2NISnZjR1Z5ZEhsamFHRnVaMlVnWlhabGJuUXNJSE5sYm1ScGJtY2dZU0JnWTJoaGJtZGxZQ0JsZG1WdWRDQnBabHh1SUNvZ2RHaGxJSFpoYkhWbElHOW1JSFJvWlNCaFkzUnBkbVVnWld4bGJXVnVkQ0JvWVhNZ1kyaGhibWRsWkM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlHaGhibVJzWlZCeWIzQmxjblI1UTJoaGJtZGxLRzVoZEdsMlpVVjJaVzUwS1NCN1hHNGdJR2xtSUNodVlYUnBkbVZGZG1WdWRDNXdjbTl3WlhKMGVVNWhiV1VnSVQwOUlDZDJZV3gxWlNjcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCcFppQW9aMlYwU1c1emRFbG1WbUZzZFdWRGFHRnVaMlZrS0dGamRHbDJaVVZzWlcxbGJuUkpibk4wS1NrZ2UxeHVJQ0FnSUcxaGJuVmhiRVJwYzNCaGRHTm9RMmhoYm1kbFJYWmxiblFvYm1GMGFYWmxSWFpsYm5RcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hoYm1Sc1pVVjJaVzUwYzBadmNrbHVjSFYwUlhabGJuUlFiMng1Wm1sc2JDaDBiM0JNWlhabGJGUjVjR1VzSUhSaGNtZGxkQ3dnZEdGeVoyVjBTVzV6ZENrZ2UxeHVJQ0JwWmlBb2RHOXdUR1YyWld4VWVYQmxJRDA5UFNCVVQxQmZSazlEVlZNcElIdGNiaUFnSUNBdkx5QkpiaUJKUlRrc0lIQnliM0JsY25SNVkyaGhibWRsSUdacGNtVnpJR1p2Y2lCdGIzTjBJR2x1Y0hWMElHVjJaVzUwY3lCaWRYUWdhWE1nWW5Wbloza2dZVzVrWEc0Z0lDQWdMeThnWkc5bGMyNG5kQ0JtYVhKbElIZG9aVzRnZEdWNGRDQnBjeUJrWld4bGRHVmtMQ0JpZFhRZ1kyOXVkbVZ1YVdWdWRHeDVMQ0J6Wld4bFkzUnBiMjVqYUdGdVoyVmNiaUFnSUNBdkx5QmhjSEJsWVhKeklIUnZJR1pwY21VZ2FXNGdZV3hzSUc5bUlIUm9aU0J5WlcxaGFXNXBibWNnWTJGelpYTWdjMjhnZDJVZ1kyRjBZMmdnZEdodmMyVWdZVzVrWEc0Z0lDQWdMeThnWm05eWQyRnlaQ0IwYUdVZ1pYWmxiblFnYVdZZ2RHaGxJSFpoYkhWbElHaGhjeUJqYUdGdVoyVmtYRzRnSUNBZ0x5OGdTVzRnWldsMGFHVnlJR05oYzJVc0lIZGxJR1J2YmlkMElIZGhiblFnZEc4Z1kyRnNiQ0IwYUdVZ1pYWmxiblFnYUdGdVpHeGxjaUJwWmlCMGFHVWdkbUZzZFdWY2JpQWdJQ0F2THlCcGN5QmphR0Z1WjJWa0lHWnliMjBnU2xNZ2MyOGdkMlVnY21Wa1pXWnBibVVnWVNCelpYUjBaWElnWm05eUlHQXVkbUZzZFdWZ0lIUm9ZWFFnZFhCa1lYUmxjMXh1SUNBZ0lDOHZJRzkxY2lCaFkzUnBkbVZGYkdWdFpXNTBWbUZzZFdVZ2RtRnlhV0ZpYkdVc0lHRnNiRzkzYVc1bklIVnpJSFJ2SUdsbmJtOXlaU0IwYUc5elpTQmphR0Z1WjJWelhHNGdJQ0FnTHk5Y2JpQWdJQ0F2THlCemRHOXdWMkYwWTJocGJtY29LU0J6YUc5MWJHUWdZbVVnWVNCdWIyOXdJR2hsY21VZ1luVjBJSGRsSUdOaGJHd2dhWFFnYW5WemRDQnBiaUJqWVhObElIZGxYRzRnSUNBZ0x5OGdiV2x6YzJWa0lHRWdZbXgxY2lCbGRtVnVkQ0J6YjIxbGFHOTNMbHh1SUNBZ0lITjBiM0JYWVhSamFHbHVaMFp2Y2xaaGJIVmxRMmhoYm1kbEtDazdYRzRnSUNBZ2MzUmhjblJYWVhSamFHbHVaMFp2Y2xaaGJIVmxRMmhoYm1kbEtIUmhjbWRsZEN3Z2RHRnlaMlYwU1c1emRDazdYRzRnSUgwZ1pXeHpaU0JwWmlBb2RHOXdUR1YyWld4VWVYQmxJRDA5UFNCVVQxQmZRa3hWVWlrZ2UxeHVJQ0FnSUhOMGIzQlhZWFJqYUdsdVowWnZjbFpoYkhWbFEyaGhibWRsS0NrN1hHNGdJSDFjYm4wZ0x5OGdSbTl5SUVsRk9DQmhibVFnU1VVNUxseHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRGUmhjbWRsZEVsdWMzUkdiM0pKYm5CMWRFVjJaVzUwVUc5c2VXWnBiR3dvZEc5d1RHVjJaV3hVZVhCbExDQjBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lHbG1JQ2gwYjNCTVpYWmxiRlI1Y0dVZ1BUMDlJRlJQVUY5VFJVeEZRMVJKVDA1ZlEwaEJUa2RGSUh4OElIUnZjRXhsZG1Wc1ZIbHdaU0E5UFQwZ1ZFOVFYMHRGV1Y5VlVDQjhmQ0IwYjNCTVpYWmxiRlI1Y0dVZ1BUMDlJRlJQVUY5TFJWbGZSRTlYVGlrZ2UxeHVJQ0FnSUM4dklFOXVJSFJvWlNCelpXeGxZM1JwYjI1amFHRnVaMlVnWlhabGJuUXNJSFJvWlNCMFlYSm5aWFFnYVhNZ2FuVnpkQ0JrYjJOMWJXVnVkQ0IzYUdsamFDQnBjMjRuZEZ4dUlDQWdJQzh2SUdobGJIQm1kV3dnWm05eUlIVnpJSE52SUdwMWMzUWdZMmhsWTJzZ1lXTjBhWFpsUld4bGJXVnVkQ0JwYm5OMFpXRmtMbHh1SUNBZ0lDOHZYRzRnSUNBZ0x5OGdPVGtsSUc5bUlIUm9aU0IwYVcxbExDQnJaWGxrYjNkdUlHRnVaQ0JyWlhsMWNDQmhjbVZ1SjNRZ2JtVmpaWE56WVhKNUxpQkpSVGdnWm1GcGJITWdkRzhnWm1seVpWeHVJQ0FnSUM4dklIQnliM0JsY25SNVkyaGhibWRsSUc5dUlIUm9aU0JtYVhKemRDQnBibkIxZENCbGRtVnVkQ0JoWm5SbGNpQnpaWFIwYVc1bklHQjJZV3gxWldBZ1puSnZiU0JoWEc0Z0lDQWdMeThnYzJOeWFYQjBJR0Z1WkNCbWFYSmxjeUJ2Ym14NUlHdGxlV1J2ZDI0c0lHdGxlWEJ5WlhOekxDQnJaWGwxY0M0Z1EyRjBZMmhwYm1jZ2EyVjVkWEFnZFhOMVlXeHNlVnh1SUNBZ0lDOHZJR2RsZEhNZ2FYUWdZVzVrSUdOaGRHTm9hVzVuSUd0bGVXUnZkMjRnYkdWMGN5QjFjeUJtYVhKbElHRnVJR1YyWlc1MElHWnZjaUIwYUdVZ1ptbHljM1JjYmlBZ0lDQXZMeUJyWlhsemRISnZhMlVnYVdZZ2RYTmxjaUJrYjJWeklHRWdhMlY1SUhKbGNHVmhkQ0FvYVhRbmJHd2dZbVVnWVNCc2FYUjBiR1VnWkdWc1lYbGxaRG9nY21sbmFIUmNiaUFnSUNBdkx5QmlaV1p2Y21VZ2RHaGxJSE5sWTI5dVpDQnJaWGx6ZEhKdmEyVXBMaUJQZEdobGNpQnBibkIxZENCdFpYUm9iMlJ6SUNobExtY3VMQ0J3WVhOMFpTa2djMlZsYlNCMGIxeHVJQ0FnSUM4dklHWnBjbVVnYzJWc1pXTjBhVzl1WTJoaGJtZGxJRzV2Y20xaGJHeDVMbHh1SUNBZ0lISmxkSFZ5YmlCblpYUkpibk4wU1daV1lXeDFaVU5vWVc1blpXUW9ZV04wYVhabFJXeGxiV1Z1ZEVsdWMzUXBPMXh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRk5GUTFSSlQwNDZJR2hoYm1Sc1pTQmdZMnhwWTJ0Z0lHVjJaVzUwWEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCemFHOTFiR1JWYzJWRGJHbGphMFYyWlc1MEtHVnNaVzBwSUh0Y2JpQWdMeThnVlhObElIUm9aU0JnWTJ4cFkydGdJR1YyWlc1MElIUnZJR1JsZEdWamRDQmphR0Z1WjJWeklIUnZJR05vWldOclltOTRJR0Z1WkNCeVlXUnBieUJwYm5CMWRITXVYRzRnSUM4dklGUm9hWE1nWVhCd2NtOWhZMmdnZDI5eWEzTWdZV055YjNOeklHRnNiQ0JpY205M2MyVnljeXdnZDJobGNtVmhjeUJnWTJoaGJtZGxZQ0JrYjJWeklHNXZkQ0JtYVhKbFhHNGdJQzh2SUhWdWRHbHNJR0JpYkhWeVlDQnBiaUJKUlRndVhHNGdJSFpoY2lCdWIyUmxUbUZ0WlNBOUlHVnNaVzB1Ym05a1pVNWhiV1U3WEc0Z0lISmxkSFZ5YmlCdWIyUmxUbUZ0WlNBbUppQnViMlJsVG1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwSUQwOVBTQW5hVzV3ZFhRbklDWW1JQ2hsYkdWdExuUjVjR1VnUFQwOUlDZGphR1ZqYTJKdmVDY2dmSHdnWld4bGJTNTBlWEJsSUQwOVBTQW5jbUZrYVc4bktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWR0Z5WjJWMFNXNXpkRVp2Y2tOc2FXTnJSWFpsYm5Rb2RHOXdUR1YyWld4VWVYQmxMQ0IwWVhKblpYUkpibk4wS1NCN1hHNGdJR2xtSUNoMGIzQk1aWFpsYkZSNWNHVWdQVDA5SUZSUFVGOURURWxEU3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUJuWlhSSmJuTjBTV1pXWVd4MVpVTm9ZVzVuWldRb2RHRnlaMlYwU1c1emRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFZHRnlaMlYwU1c1emRFWnZja2x1Y0hWMFQzSkRhR0Z1WjJWRmRtVnVkQ2gwYjNCTVpYWmxiRlI1Y0dVc0lIUmhjbWRsZEVsdWMzUXBJSHRjYmlBZ2FXWWdLSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDBsT1VGVlVJSHg4SUhSdmNFeGxkbVZzVkhsd1pTQTlQVDBnVkU5UVgwTklRVTVIUlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJuWlhSSmJuTjBTV1pXWVd4MVpVTm9ZVzVuWldRb2RHRnlaMlYwU1c1emRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYUdGdVpHeGxRMjl1ZEhKdmJHeGxaRWx1Y0hWMFFteDFjaWh1YjJSbEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpUdGNibHh1SUNCcFppQW9JWE4wWVhSbElIeDhJQ0Z6ZEdGMFpTNWpiMjUwY205c2JHVmtJSHg4SUc1dlpHVXVkSGx3WlNBaFBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ0x5OGdTV1lnWTI5dWRISnZiR3hsWkN3Z1lYTnphV2R1SUhSb1pTQjJZV3gxWlNCaGRIUnlhV0oxZEdVZ2RHOGdkR2hsSUdOMWNuSmxiblFnZG1Gc2RXVWdiMjRnWW14MWNseHVJQ0FnSUhObGRFUmxabUYxYkhSV1lXeDFaU2h1YjJSbExDQW5iblZ0WW1WeUp5d2dibTlrWlM1MllXeDFaU2s3WEc0Z0lIMWNibjFjYmk4cUtseHVJQ29nVkdocGN5QndiSFZuYVc0Z1kzSmxZWFJsY3lCaGJpQmdiMjVEYUdGdVoyVmdJR1YyWlc1MElIUm9ZWFFnYm05eWJXRnNhWHBsY3lCamFHRnVaMlVnWlhabGJuUnpYRzRnS2lCaFkzSnZjM01nWm05eWJTQmxiR1Z0Wlc1MGN5NGdWR2hwY3lCbGRtVnVkQ0JtYVhKbGN5QmhkQ0JoSUhScGJXVWdkMmhsYmlCcGRDZHpJSEJ2YzNOcFlteGxJSFJ2WEc0Z0tpQmphR0Z1WjJVZ2RHaGxJR1ZzWlcxbGJuUW5jeUIyWVd4MVpTQjNhWFJvYjNWMElITmxaV2x1WnlCaElHWnNhV05yWlhJdVhHNGdLbHh1SUNvZ1UzVndjRzl5ZEdWa0lHVnNaVzFsYm5SeklHRnlaVHBjYmlBcUlDMGdhVzV3ZFhRZ0tITmxaU0JnYVhOVVpYaDBTVzV3ZFhSRmJHVnRaVzUwWUNsY2JpQXFJQzBnZEdWNGRHRnlaV0ZjYmlBcUlDMGdjMlZzWldOMFhHNGdLaTljYmx4dVhHNTJZWElnUTJoaGJtZGxSWFpsYm5SUWJIVm5hVzRnUFNCN1hHNGdJR1YyWlc1MFZIbHdaWE02SUdWMlpXNTBWSGx3WlhNa01TeGNiaUFnWDJselNXNXdkWFJGZG1WdWRGTjFjSEJ2Y25SbFpEb2dhWE5KYm5CMWRFVjJaVzUwVTNWd2NHOXlkR1ZrTEZ4dUlDQmxlSFJ5WVdOMFJYWmxiblJ6T2lCbWRXNWpkR2x2YmlBb2RHOXdUR1YyWld4VWVYQmxMQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXBJSHRjYmlBZ0lDQjJZWElnZEdGeVoyVjBUbTlrWlNBOUlIUmhjbWRsZEVsdWMzUWdQeUJuWlhST2IyUmxSbkp2YlVsdWMzUmhibU5sSkRFb2RHRnlaMlYwU1c1emRDa2dPaUIzYVc1a2IzYzdYRzRnSUNBZ2RtRnlJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpMQ0JvWVc1a2JHVkZkbVZ1ZEVaMWJtTTdYRzVjYmlBZ0lDQnBaaUFvYzJodmRXeGtWWE5sUTJoaGJtZGxSWFpsYm5Rb2RHRnlaMlYwVG05a1pTa3BJSHRjYmlBZ0lDQWdJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpJRDBnWjJWMFZHRnlaMlYwU1c1emRFWnZja05vWVc1blpVVjJaVzUwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYVhOVVpYaDBTVzV3ZFhSRmJHVnRaVzUwS0hSaGNtZGxkRTV2WkdVcEtTQjdYRzRnSUNBZ0lDQnBaaUFvYVhOSmJuQjFkRVYyWlc1MFUzVndjRzl5ZEdWa0tTQjdYRzRnSUNBZ0lDQWdJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpJRDBnWjJWMFZHRnlaMlYwU1c1emRFWnZja2x1Y0hWMFQzSkRhR0Z1WjJWRmRtVnVkRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpJRDBnWjJWMFZHRnlaMlYwU1c1emRFWnZja2x1Y0hWMFJYWmxiblJRYjJ4NVptbHNiRHRjYmlBZ0lDQWdJQ0FnYUdGdVpHeGxSWFpsYm5SR2RXNWpJRDBnYUdGdVpHeGxSWFpsYm5SelJtOXlTVzV3ZFhSRmRtVnVkRkJ2YkhsbWFXeHNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9jMmh2ZFd4a1ZYTmxRMnhwWTJ0RmRtVnVkQ2gwWVhKblpYUk9iMlJsS1NrZ2UxeHVJQ0FnSUNBZ1oyVjBWR0Z5WjJWMFNXNXpkRVoxYm1NZ1BTQm5aWFJVWVhKblpYUkpibk4wUm05eVEyeHBZMnRGZG1WdWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9aMlYwVkdGeVoyVjBTVzV6ZEVaMWJtTXBJSHRjYmlBZ0lDQWdJSFpoY2lCcGJuTjBJRDBnWjJWMFZHRnlaMlYwU1c1emRFWjFibU1vZEc5d1RHVjJaV3hVZVhCbExDQjBZWEpuWlhSSmJuTjBLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHVjM1FwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR1YyWlc1MElEMGdZM0psWVhSbFFXNWtRV05qZFcxMWJHRjBaVU5vWVc1blpVVjJaVzUwS0dsdWMzUXNJRzVoZEdsMlpVVjJaVzUwTENCdVlYUnBkbVZGZG1WdWRGUmhjbWRsZENrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGRtVnVkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYUdGdVpHeGxSWFpsYm5SR2RXNWpLU0I3WEc0Z0lDQWdJQ0JvWVc1a2JHVkZkbVZ1ZEVaMWJtTW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJPYjJSbExDQjBZWEpuWlhSSmJuTjBLVHRjYmlBZ0lDQjlJQzh2SUZkb1pXNGdZbXgxY25KcGJtY3NJSE5sZENCMGFHVWdkbUZzZFdVZ1lYUjBjbWxpZFhSbElHWnZjaUJ1ZFcxaVpYSWdhVzV3ZFhSelhHNWNibHh1SUNBZ0lHbG1JQ2gwYjNCTVpYWmxiRlI1Y0dVZ1BUMDlJRlJQVUY5Q1RGVlNLU0I3WEc0Z0lDQWdJQ0JvWVc1a2JHVkRiMjUwY205c2JHVmtTVzV3ZFhSQ2JIVnlLSFJoY21kbGRFNXZaR1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVHRjYmx4dWRtRnlJRk41Ym5Sb1pYUnBZMVZKUlhabGJuUWdQU0JUZVc1MGFHVjBhV05GZG1WdWRDNWxlSFJsYm1Rb2UxeHVJQ0IyYVdWM09pQnVkV3hzTEZ4dUlDQmtaWFJoYVd3NklHNTFiR3hjYm4wcE8xeHVYRzR2S2lwY2JpQXFJRlJ5WVc1emJHRjBhVzl1SUdaeWIyMGdiVzlrYVdacFpYSWdhMlY1SUhSdklIUm9aU0JoYzNOdlkybGhkR1ZrSUhCeWIzQmxjblI1SUdsdUlIUm9aU0JsZG1WdWRDNWNiaUFxSUVCelpXVWdhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2UkU5TkxVeGxkbVZzTFRNdFJYWmxiblJ6THlOclpYbHpMVTF2WkdsbWFXVnljMXh1SUNvdlhHNTJZWElnYlc5a2FXWnBaWEpMWlhsVWIxQnliM0FnUFNCN1hHNGdJRUZzZERvZ0oyRnNkRXRsZVNjc1hHNGdJRU52Ym5SeWIydzZJQ2RqZEhKc1MyVjVKeXhjYmlBZ1RXVjBZVG9nSjIxbGRHRkxaWGtuTEZ4dUlDQlRhR2xtZERvZ0ozTm9hV1owUzJWNUoxeHVmVHNnTHk4Z1QyeGtaWElnWW5KdmQzTmxjbk1nS0ZOaFptRnlhU0E4UFNBeE1Dd2dhVTlUSUZOaFptRnlhU0E4UFNBeE1DNHlLU0JrYnlCdWIzUWdjM1Z3Y0c5eWRGeHVMeThnWjJWMFRXOWthV1pwWlhKVGRHRjBaUzRnU1dZZ1oyVjBUVzlrYVdacFpYSlRkR0YwWlNCcGN5QnViM1FnYzNWd2NHOXlkR1ZrTENCM1pTQnRZWEFnYVhRZ2RHOGdZU0J6WlhRZ2IyWmNiaTh2SUcxdlpHbG1hV1Z5SUd0bGVYTWdaWGh3YjNObFpDQmllU0IwYUdVZ1pYWmxiblF1SUVsdUlIUm9hWE1nWTJGelpTd2dURzlqYXkxclpYbHpJR0Z5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtMbHh1WEc1bWRXNWpkR2x2YmlCdGIyUnBabWxsY2xOMFlYUmxSMlYwZEdWeUtHdGxlVUZ5WnlrZ2UxeHVJQ0IyWVhJZ2MzbHVkR2hsZEdsalJYWmxiblFnUFNCMGFHbHpPMXh1SUNCMllYSWdibUYwYVhabFJYWmxiblFnUFNCemVXNTBhR1YwYVdORmRtVnVkQzV1WVhScGRtVkZkbVZ1ZER0Y2JseHVJQ0JwWmlBb2JtRjBhWFpsUlhabGJuUXVaMlYwVFc5a2FXWnBaWEpUZEdGMFpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVlYUnBkbVZGZG1WdWRDNW5aWFJOYjJScFptbGxjbE4wWVhSbEtHdGxlVUZ5WnlrN1hHNGdJSDFjYmx4dUlDQjJZWElnYTJWNVVISnZjQ0E5SUcxdlpHbG1hV1Z5UzJWNVZHOVFjbTl3VzJ0bGVVRnlaMTA3WEc0Z0lISmxkSFZ5YmlCclpYbFFjbTl3SUQ4Z0lTRnVZWFJwZG1WRmRtVnVkRnRyWlhsUWNtOXdYU0E2SUdaaGJITmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJGZG1WdWRFMXZaR2xtYVdWeVUzUmhkR1VvYm1GMGFYWmxSWFpsYm5RcElIdGNiaUFnY21WMGRYSnVJRzF2WkdsbWFXVnlVM1JoZEdWSFpYUjBaWEk3WEc1OVhHNWNiblpoY2lCd2NtVjJhVzkxYzFOamNtVmxibGdnUFNBd08xeHVkbUZ5SUhCeVpYWnBiM1Z6VTJOeVpXVnVXU0E5SURBN0lDOHZJRlZ6WlNCbWJHRm5jeUIwYnlCemFXZHVZV3dnYlc5MlpXMWxiblJZTDFrZ2FHRnpJR0ZzY21WaFpIa2dZbVZsYmlCelpYUmNibHh1ZG1GeUlHbHpUVzkyWlcxbGJuUllVMlYwSUQwZ1ptRnNjMlU3WEc1MllYSWdhWE5OYjNabGJXVnVkRmxUWlhRZ1BTQm1ZV3h6WlR0Y2JpOHFLbHh1SUNvZ1FHbHVkR1Z5Wm1GalpTQk5iM1Z6WlVWMlpXNTBYRzRnS2lCQWMyVmxJR2gwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMVJTTDBSUFRTMU1aWFpsYkMwekxVVjJaVzUwY3k5Y2JpQXFMMXh1WEc1MllYSWdVM2x1ZEdobGRHbGpUVzkxYzJWRmRtVnVkQ0E5SUZONWJuUm9aWFJwWTFWSlJYWmxiblF1WlhoMFpXNWtLSHRjYmlBZ2MyTnlaV1Z1V0RvZ2JuVnNiQ3hjYmlBZ2MyTnlaV1Z1V1RvZ2JuVnNiQ3hjYmlBZ1kyeHBaVzUwV0RvZ2JuVnNiQ3hjYmlBZ1kyeHBaVzUwV1RvZ2JuVnNiQ3hjYmlBZ2NHRm5aVmc2SUc1MWJHd3NYRzRnSUhCaFoyVlpPaUJ1ZFd4c0xGeHVJQ0JqZEhKc1MyVjVPaUJ1ZFd4c0xGeHVJQ0J6YUdsbWRFdGxlVG9nYm5Wc2JDeGNiaUFnWVd4MFMyVjVPaUJ1ZFd4c0xGeHVJQ0J0WlhSaFMyVjVPaUJ1ZFd4c0xGeHVJQ0JuWlhSTmIyUnBabWxsY2xOMFlYUmxPaUJuWlhSRmRtVnVkRTF2WkdsbWFXVnlVM1JoZEdVc1hHNGdJR0oxZEhSdmJqb2diblZzYkN4Y2JpQWdZblYwZEc5dWN6b2diblZzYkN4Y2JpQWdjbVZzWVhSbFpGUmhjbWRsZERvZ1puVnVZM1JwYjI0Z0tHVjJaVzUwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1YyWlc1MExuSmxiR0YwWldSVVlYSm5aWFFnZkh3Z0tHVjJaVzUwTG1aeWIyMUZiR1Z0Wlc1MElEMDlQU0JsZG1WdWRDNXpjbU5GYkdWdFpXNTBJRDhnWlhabGJuUXVkRzlGYkdWdFpXNTBJRG9nWlhabGJuUXVabkp2YlVWc1pXMWxiblFwTzF4dUlDQjlMRnh1SUNCdGIzWmxiV1Z1ZEZnNklHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUdsbUlDZ25iVzkyWlcxbGJuUllKeUJwYmlCbGRtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1YyWlc1MExtMXZkbVZ0Wlc1MFdEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjMk55WldWdVdDQTlJSEJ5WlhacGIzVnpVMk55WldWdVdEdGNiaUFnSUNCd2NtVjJhVzkxYzFOamNtVmxibGdnUFNCbGRtVnVkQzV6WTNKbFpXNVlPMXh1WEc0Z0lDQWdhV1lnS0NGcGMwMXZkbVZ0Wlc1MFdGTmxkQ2tnZTF4dUlDQWdJQ0FnYVhOTmIzWmxiV1Z1ZEZoVFpYUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR1YyWlc1MExuUjVjR1VnUFQwOUlDZHRiM1Z6WlcxdmRtVW5JRDhnWlhabGJuUXVjMk55WldWdVdDQXRJSE5qY21WbGJsZ2dPaUF3TzF4dUlDQjlMRnh1SUNCdGIzWmxiV1Z1ZEZrNklHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUdsbUlDZ25iVzkyWlcxbGJuUlpKeUJwYmlCbGRtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1YyWlc1MExtMXZkbVZ0Wlc1MFdUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjMk55WldWdVdTQTlJSEJ5WlhacGIzVnpVMk55WldWdVdUdGNiaUFnSUNCd2NtVjJhVzkxYzFOamNtVmxibGtnUFNCbGRtVnVkQzV6WTNKbFpXNVpPMXh1WEc0Z0lDQWdhV1lnS0NGcGMwMXZkbVZ0Wlc1MFdWTmxkQ2tnZTF4dUlDQWdJQ0FnYVhOTmIzWmxiV1Z1ZEZsVFpYUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR1YyWlc1MExuUjVjR1VnUFQwOUlDZHRiM1Z6WlcxdmRtVW5JRDhnWlhabGJuUXVjMk55WldWdVdTQXRJSE5qY21WbGJsa2dPaUF3TzF4dUlDQjlYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkFhVzUwWlhKbVlXTmxJRkJ2YVc1MFpYSkZkbVZ1ZEZ4dUlDb2dRSE5sWlNCb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOXdiMmx1ZEdWeVpYWmxiblJ6TDF4dUlDb3ZYRzVjYm5aaGNpQlRlVzUwYUdWMGFXTlFiMmx1ZEdWeVJYWmxiblFnUFNCVGVXNTBhR1YwYVdOTmIzVnpaVVYyWlc1MExtVjRkR1Z1WkNoN1hHNGdJSEJ2YVc1MFpYSkpaRG9nYm5Wc2JDeGNiaUFnZDJsa2RHZzZJRzUxYkd3c1hHNGdJR2hsYVdkb2REb2diblZzYkN4Y2JpQWdjSEpsYzNOMWNtVTZJRzUxYkd3c1hHNGdJSFJoYm1kbGJuUnBZV3hRY21WemMzVnlaVG9nYm5Wc2JDeGNiaUFnZEdsc2RGZzZJRzUxYkd3c1hHNGdJSFJwYkhSWk9pQnVkV3hzTEZ4dUlDQjBkMmx6ZERvZ2JuVnNiQ3hjYmlBZ2NHOXBiblJsY2xSNWNHVTZJRzUxYkd3c1hHNGdJR2x6VUhKcGJXRnllVG9nYm5Wc2JGeHVmU2s3WEc1Y2JuWmhjaUJsZG1WdWRGUjVjR1Z6SkRJZ1BTQjdYRzRnSUcxdmRYTmxSVzUwWlhJNklIdGNiaUFnSUNCeVpXZHBjM1J5WVhScGIyNU9ZVzFsT2lBbmIyNU5iM1Z6WlVWdWRHVnlKeXhjYmlBZ0lDQmtaWEJsYm1SbGJtTnBaWE02SUZ0VVQxQmZUVTlWVTBWZlQxVlVMQ0JVVDFCZlRVOVZVMFZmVDFaRlVsMWNiaUFnZlN4Y2JpQWdiVzkxYzJWTVpXRjJaVG9nZTF4dUlDQWdJSEpsWjJsemRISmhkR2x2Yms1aGJXVTZJQ2R2YmsxdmRYTmxUR1ZoZG1VbkxGeHVJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXMVJQVUY5TlQxVlRSVjlQVlZRc0lGUlBVRjlOVDFWVFJWOVBWa1ZTWFZ4dUlDQjlMRnh1SUNCd2IybHVkR1Z5Ulc1MFpYSTZJSHRjYmlBZ0lDQnlaV2RwYzNSeVlYUnBiMjVPWVcxbE9pQW5iMjVRYjJsdWRHVnlSVzUwWlhJbkxGeHVJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXMVJQVUY5UVQwbE9WRVZTWDA5VlZDd2dWRTlRWDFCUFNVNVVSVkpmVDFaRlVsMWNiaUFnZlN4Y2JpQWdjRzlwYm5SbGNreGxZWFpsT2lCN1hHNGdJQ0FnY21WbmFYTjBjbUYwYVc5dVRtRnRaVG9nSjI5dVVHOXBiblJsY2t4bFlYWmxKeXhjYmlBZ0lDQmtaWEJsYm1SbGJtTnBaWE02SUZ0VVQxQmZVRTlKVGxSRlVsOVBWVlFzSUZSUFVGOVFUMGxPVkVWU1gwOVdSVkpkWEc0Z0lIMWNibjA3WEc1MllYSWdSVzUwWlhKTVpXRjJaVVYyWlc1MFVHeDFaMmx1SUQwZ2UxeHVJQ0JsZG1WdWRGUjVjR1Z6T2lCbGRtVnVkRlI1Y0dWekpESXNYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFWnZjaUJoYkcxdmMzUWdaWFpsY25rZ2FXNTBaWEpoWTNScGIyNGdkMlVnWTJGeVpTQmhZbTkxZEN3Z2RHaGxjbVVnZDJsc2JDQmlaU0JpYjNSb0lHRWdkRzl3TFd4bGRtVnNYRzRnSUNBcUlHQnRiM1Z6Wlc5MlpYSmdJR0Z1WkNCZ2JXOTFjMlZ2ZFhSZ0lHVjJaVzUwSUhSb1lYUWdiMk5qZFhKekxpQlBibXg1SUhWelpTQmdiVzkxYzJWdmRYUmdJSE52SUhSb1lYUmNiaUFnSUNvZ2QyVWdaRzhnYm05MElHVjRkSEpoWTNRZ1pIVndiR2xqWVhSbElHVjJaVzUwY3k0Z1NHOTNaWFpsY2l3Z2JXOTJhVzVuSUhSb1pTQnRiM1Z6WlNCcGJuUnZJSFJvWlZ4dUlDQWdLaUJpY205M2MyVnlJR1p5YjIwZ2IzVjBjMmxrWlNCM2FXeHNJRzV2ZENCbWFYSmxJR0VnWUcxdmRYTmxiM1YwWUNCbGRtVnVkQzRnU1c0Z2RHaHBjeUJqWVhObExDQjNaU0IxYzJWY2JpQWdJQ29nZEdobElHQnRiM1Z6Wlc5MlpYSmdJSFJ2Y0Mxc1pYWmxiQ0JsZG1WdWRDNWNiaUFnSUNvdlhHNGdJR1Y0ZEhKaFkzUkZkbVZ1ZEhNNklHWjFibU4wYVc5dUlDaDBiM0JNWlhabGJGUjVjR1VzSUhSaGNtZGxkRWx1YzNRc0lHNWhkR2wyWlVWMlpXNTBMQ0J1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeWtnZTF4dUlDQWdJSFpoY2lCcGMwOTJaWEpGZG1WdWRDQTlJSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDAxUFZWTkZYMDlXUlZJZ2ZId2dkRzl3VEdWMlpXeFVlWEJsSUQwOVBTQlVUMUJmVUU5SlRsUkZVbDlQVmtWU08xeHVJQ0FnSUhaaGNpQnBjMDkxZEVWMlpXNTBJRDBnZEc5d1RHVjJaV3hVZVhCbElEMDlQU0JVVDFCZlRVOVZVMFZmVDFWVUlIeDhJSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDFCUFNVNVVSVkpmVDFWVU8xeHVYRzRnSUNBZ2FXWWdLR2x6VDNabGNrVjJaVzUwSUNZbUlDaGxkbVZ1ZEZONWMzUmxiVVpzWVdkeklDWWdTVk5mVWtWUVRFRlpSVVFwSUQwOVBTQXdJQ1ltSUNodVlYUnBkbVZGZG1WdWRDNXlaV3hoZEdWa1ZHRnlaMlYwSUh4OElHNWhkR2wyWlVWMlpXNTBMbVp5YjIxRmJHVnRaVzUwS1NrZ2UxeHVJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QnBjeUJoYmlCdmRtVnlJR1YyWlc1MElIZHBkR2dnWVNCMFlYSm5aWFFzSUhSb1pXNGdkMlVuZG1VZ1lXeHlaV0ZrZVNCa2FYTndZWFJqYUdWa1hHNGdJQ0FnSUNBdkx5QjBhR1VnWlhabGJuUWdhVzRnZEdobElHOTFkQ0JsZG1WdWRDQnZaaUIwYUdVZ2IzUm9aWElnZEdGeVoyVjBMaUJKWmlCMGFHbHpJR2x6SUhKbGNHeGhlV1ZrTEZ4dUlDQWdJQ0FnTHk4Z2RHaGxiaUJwZENkeklHSmxZMkYxYzJVZ2QyVWdZMjkxYkdSdUozUWdaR2x6Y0dGMFkyZ2dZV2RoYVc1emRDQjBhR2x6SUhSaGNtZGxkQ0J3Y21WMmFXOTFjMng1WEc0Z0lDQWdJQ0F2THlCemJ5QjNaU0JvWVhabElIUnZJR1J2SUdsMElHNXZkeUJwYm5OMFpXRmtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NGcGMwOTFkRVYyWlc1MElDWW1JQ0ZwYzA5MlpYSkZkbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0x5OGdUWFZ6ZENCdWIzUWdZbVVnWVNCdGIzVnpaU0J2Y2lCd2IybHVkR1Z5SUdsdUlHOXlJRzkxZENBdElHbG5ibTl5YVc1bkxseHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSGRwYmp0Y2JseHVJQ0FnSUdsbUlDaHVZWFJwZG1WRmRtVnVkRlJoY21kbGRDNTNhVzVrYjNjZ1BUMDlJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLU0I3WEc0Z0lDQWdJQ0F2THlCZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhSZ0lHbHpJSEJ5YjJKaFlteDVJR0VnZDJsdVpHOTNJRzlpYW1WamRDNWNiaUFnSUNBZ0lIZHBiaUE5SUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVVDBSUE9pQkdhV2QxY21VZ2IzVjBJSGRvZVNCZ2IzZHVaWEpFYjJOMWJXVnVkR0FnYVhNZ2MyOXRaWFJwYldWeklIVnVaR1ZtYVc1bFpDQnBiaUJKUlRndVhHNGdJQ0FnSUNCMllYSWdaRzlqSUQwZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhRdWIzZHVaWEpFYjJOMWJXVnVkRHRjYmx4dUlDQWdJQ0FnYVdZZ0tHUnZZeWtnZTF4dUlDQWdJQ0FnSUNCM2FXNGdQU0JrYjJNdVpHVm1ZWFZzZEZacFpYY2dmSHdnWkc5akxuQmhjbVZ1ZEZkcGJtUnZkenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSGRwYmlBOUlIZHBibVJ2ZHp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1puSnZiVHRjYmlBZ0lDQjJZWElnZEc4N1hHNWNiaUFnSUNCcFppQW9hWE5QZFhSRmRtVnVkQ2tnZTF4dUlDQWdJQ0FnWm5KdmJTQTlJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdJQ0IyWVhJZ2NtVnNZWFJsWkNBOUlHNWhkR2wyWlVWMlpXNTBMbkpsYkdGMFpXUlVZWEpuWlhRZ2ZId2dibUYwYVhabFJYWmxiblF1ZEc5RmJHVnRaVzUwTzF4dUlDQWdJQ0FnZEc4Z1BTQnlaV3hoZEdWa0lEOGdaMlYwUTJ4dmMyVnpkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVW9jbVZzWVhSbFpDa2dPaUJ1ZFd4c08xeHVYRzRnSUNBZ0lDQnBaaUFvZEc4Z0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUc1bFlYSmxjM1JOYjNWdWRHVmtJRDBnWjJWMFRtVmhjbVZ6ZEUxdmRXNTBaV1JHYVdKbGNpaDBieWs3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJ2SUNFOVBTQnVaV0Z5WlhOMFRXOTFiblJsWkNCOGZDQjBieTUwWVdjZ0lUMDlJRWh2YzNSRGIyMXdiMjVsYm5RZ0ppWWdkRzh1ZEdGbklDRTlQU0JJYjNOMFZHVjRkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUnZJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5Qk5iM1pwYm1jZ2RHOGdZU0J1YjJSbElHWnliMjBnYjNWMGMybGtaU0IwYUdVZ2QybHVaRzkzTGx4dUlDQWdJQ0FnWm5KdmJTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCMGJ5QTlJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0daeWIyMGdQVDA5SUhSdktTQjdYRzRnSUNBZ0lDQXZMeUJPYjNSb2FXNW5JSEJsY25SaGFXNXpJSFJ2SUc5MWNpQnRZVzVoWjJWa0lHTnZiWEJ2Ym1WdWRITXVYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWlhabGJuUkpiblJsY21aaFkyVXNJR3hsWVhabFJYWmxiblJVZVhCbExDQmxiblJsY2tWMlpXNTBWSGx3WlN3Z1pYWmxiblJVZVhCbFVISmxabWw0TzF4dVhHNGdJQ0FnYVdZZ0tIUnZjRXhsZG1Wc1ZIbHdaU0E5UFQwZ1ZFOVFYMDFQVlZORlgwOVZWQ0I4ZkNCMGIzQk1aWFpsYkZSNWNHVWdQVDA5SUZSUFVGOU5UMVZUUlY5UFZrVlNLU0I3WEc0Z0lDQWdJQ0JsZG1WdWRFbHVkR1Z5Wm1GalpTQTlJRk41Ym5Sb1pYUnBZMDF2ZFhObFJYWmxiblE3WEc0Z0lDQWdJQ0JzWldGMlpVVjJaVzUwVkhsd1pTQTlJR1YyWlc1MFZIbHdaWE1rTWk1dGIzVnpaVXhsWVhabE8xeHVJQ0FnSUNBZ1pXNTBaWEpGZG1WdWRGUjVjR1VnUFNCbGRtVnVkRlI1Y0dWekpESXViVzkxYzJWRmJuUmxjanRjYmlBZ0lDQWdJR1YyWlc1MFZIbHdaVkJ5WldacGVDQTlJQ2R0YjNWelpTYzdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBiM0JNWlhabGJGUjVjR1VnUFQwOUlGUlBVRjlRVDBsT1ZFVlNYMDlWVkNCOGZDQjBiM0JNWlhabGJGUjVjR1VnUFQwOUlGUlBVRjlRVDBsT1ZFVlNYMDlXUlZJcElIdGNiaUFnSUNBZ0lHVjJaVzUwU1c1MFpYSm1ZV05sSUQwZ1UzbHVkR2hsZEdsalVHOXBiblJsY2tWMlpXNTBPMXh1SUNBZ0lDQWdiR1ZoZG1WRmRtVnVkRlI1Y0dVZ1BTQmxkbVZ1ZEZSNWNHVnpKREl1Y0c5cGJuUmxja3hsWVhabE8xeHVJQ0FnSUNBZ1pXNTBaWEpGZG1WdWRGUjVjR1VnUFNCbGRtVnVkRlI1Y0dWekpESXVjRzlwYm5SbGNrVnVkR1Z5TzF4dUlDQWdJQ0FnWlhabGJuUlVlWEJsVUhKbFptbDRJRDBnSjNCdmFXNTBaWEluTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCbWNtOXRUbTlrWlNBOUlHWnliMjBnUFQwZ2JuVnNiQ0EvSUhkcGJpQTZJR2RsZEU1dlpHVkdjbTl0U1c1emRHRnVZMlVrTVNobWNtOXRLVHRjYmlBZ0lDQjJZWElnZEc5T2IyUmxJRDBnZEc4Z1BUMGdiblZzYkNBL0lIZHBiaUE2SUdkbGRFNXZaR1ZHY205dFNXNXpkR0Z1WTJVa01TaDBieWs3WEc0Z0lDQWdkbUZ5SUd4bFlYWmxJRDBnWlhabGJuUkpiblJsY21aaFkyVXVaMlYwVUc5dmJHVmtLR3hsWVhabFJYWmxiblJVZVhCbExDQm1jbTl0TENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXBPMXh1SUNBZ0lHeGxZWFpsTG5SNWNHVWdQU0JsZG1WdWRGUjVjR1ZRY21WbWFYZ2dLeUFuYkdWaGRtVW5PMXh1SUNBZ0lHeGxZWFpsTG5SaGNtZGxkQ0E5SUdaeWIyMU9iMlJsTzF4dUlDQWdJR3hsWVhabExuSmxiR0YwWldSVVlYSm5aWFFnUFNCMGIwNXZaR1U3WEc0Z0lDQWdkbUZ5SUdWdWRHVnlJRDBnWlhabGJuUkpiblJsY21aaFkyVXVaMlYwVUc5dmJHVmtLR1Z1ZEdWeVJYWmxiblJVZVhCbExDQjBieXdnYm1GMGFYWmxSWFpsYm5Rc0lHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWMEtUdGNiaUFnSUNCbGJuUmxjaTUwZVhCbElEMGdaWFpsYm5SVWVYQmxVSEpsWm1sNElDc2dKMlZ1ZEdWeUp6dGNiaUFnSUNCbGJuUmxjaTUwWVhKblpYUWdQU0IwYjA1dlpHVTdYRzRnSUNBZ1pXNTBaWEl1Y21Wc1lYUmxaRlJoY21kbGRDQTlJR1p5YjIxT2IyUmxPMXh1SUNBZ0lHRmpZM1Z0ZFd4aGRHVkZiblJsY2t4bFlYWmxSR2x6Y0dGMFkyaGxjeWhzWldGMlpTd2daVzUwWlhJc0lHWnliMjBzSUhSdktUc2dMeThnU1dZZ2QyVWdZWEpsSUc1dmRDQndjbTlqWlhOemFXNW5JSFJvWlNCbWFYSnpkQ0JoYm1ObGMzUnZjaXdnZEdobGJpQjNaVnh1SUNBZ0lDOHZJSE5vYjNWc1pDQnViM1FnY0hKdlkyVnpjeUIwYUdVZ2MyRnRaU0J1WVhScGRtVkZkbVZ1ZENCaFoyRnBiaXdnWVhNZ2QyVmNiaUFnSUNBdkx5QjNhV3hzSUdoaGRtVWdZV3h5WldGa2VTQndjbTlqWlhOelpXUWdhWFFnYVc0Z2RHaGxJR1pwY25OMElHRnVZMlZ6ZEc5eUxseHVYRzRnSUNBZ2FXWWdLQ2hsZG1WdWRGTjVjM1JsYlVac1lXZHpJQ1lnU1ZOZlJrbFNVMVJmUVU1RFJWTlVUMUlwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdXMnhsWVhabFhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnVzJ4bFlYWmxMQ0JsYm5SbGNsMDdYRzRnSUgxY2JuMDdYRzVjYmk4cUtseHVJQ29nYVc1c2FXNWxaQ0JQWW1wbFkzUXVhWE1nY0c5c2VXWnBiR3dnZEc4Z1lYWnZhV1FnY21WeGRXbHlhVzVuSUdOdmJuTjFiV1Z5Y3lCemFHbHdJSFJvWldseUlHOTNibHh1SUNvZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlNtRjJZVk5qY21sd2RDOVNaV1psY21WdVkyVXZSMnh2WW1Gc1gwOWlhbVZqZEhNdlQySnFaV04wTDJselhHNGdLaTljYm1aMWJtTjBhVzl1SUdsektIZ3NJSGtwSUh0Y2JpQWdjbVYwZFhKdUlIZ2dQVDA5SUhrZ0ppWWdLSGdnSVQwOUlEQWdmSHdnTVNBdklIZ2dQVDA5SURFZ0x5QjVLU0I4ZkNCNElDRTlQU0I0SUNZbUlIa2dJVDA5SUhrZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxelpXeG1MV052YlhCaGNtVmNiaUFnTzF4dWZWeHVYRzUyWVhJZ2IySnFaV04wU1hNZ1BTQjBlWEJsYjJZZ1QySnFaV04wTG1seklEMDlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1QySnFaV04wTG1seklEb2dhWE03WEc1Y2JuWmhjaUJvWVhOUGQyNVFjbTl3WlhKMGVTUXlJRDBnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVUdGNiaThxS2x4dUlDb2dVR1Z5Wm05eWJYTWdaWEYxWVd4cGRIa2dZbmtnYVhSbGNtRjBhVzVuSUhSb2NtOTFaMmdnYTJWNWN5QnZiaUJoYmlCdlltcGxZM1FnWVc1a0lISmxkSFZ5Ym1sdVp5Qm1ZV3h6WlZ4dUlDb2dkMmhsYmlCaGJua2dhMlY1SUdoaGN5QjJZV3gxWlhNZ2QyaHBZMmdnWVhKbElHNXZkQ0J6ZEhKcFkzUnNlU0JsY1hWaGJDQmlaWFIzWldWdUlIUm9aU0JoY21kMWJXVnVkSE11WEc0Z0tpQlNaWFIxY201eklIUnlkV1VnZDJobGJpQjBhR1VnZG1Gc2RXVnpJRzltSUdGc2JDQnJaWGx6SUdGeVpTQnpkSEpwWTNSc2VTQmxjWFZoYkM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCemFHRnNiRzkzUlhGMVlXd29iMkpxUVN3Z2IySnFRaWtnZTF4dUlDQnBaaUFvYjJKcVpXTjBTWE1vYjJKcVFTd2diMkpxUWlrcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJR2xtSUNoMGVYQmxiMllnYjJKcVFTQWhQVDBnSjI5aWFtVmpkQ2NnZkh3Z2IySnFRU0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnYjJKcVFpQWhQVDBnSjI5aWFtVmpkQ2NnZkh3Z2IySnFRaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJyWlhselFTQTlJRTlpYW1WamRDNXJaWGx6S0c5aWFrRXBPMXh1SUNCMllYSWdhMlY1YzBJZ1BTQlBZbXBsWTNRdWEyVjVjeWh2WW1wQ0tUdGNibHh1SUNCcFppQW9hMlY1YzBFdWJHVnVaM1JvSUNFOVBTQnJaWGx6UWk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDBnTHk4Z1ZHVnpkQ0JtYjNJZ1FTZHpJR3RsZVhNZ1pHbG1abVZ5Wlc1MElHWnliMjBnUWk1Y2JseHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2EyVjVjMEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9JV2hoYzA5M2JsQnliM0JsY25SNUpESXVZMkZzYkNodlltcENMQ0JyWlhselFWdHBYU2tnZkh3Z0lXOWlhbVZqZEVsektHOWlha0ZiYTJWNWMwRmJhVjFkTENCdlltcENXMnRsZVhOQlcybGRYU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RISjFaVHRjYm4xY2JseHVkbUZ5SUhOcmFYQlRaV3hsWTNScGIyNURhR0Z1WjJWRmRtVnVkQ0E5SUdOaGJsVnpaVVJQVFNBbUppQW5aRzlqZFcxbGJuUk5iMlJsSnlCcGJpQmtiMk4xYldWdWRDQW1KaUJrYjJOMWJXVnVkQzVrYjJOMWJXVnVkRTF2WkdVZ1BEMGdNVEU3WEc1MllYSWdaWFpsYm5SVWVYQmxjeVF6SUQwZ2UxeHVJQ0J6Wld4bFkzUTZJSHRjYmlBZ0lDQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3pvZ2UxeHVJQ0FnSUNBZ1luVmlZbXhsWkRvZ0oyOXVVMlZzWldOMEp5eGNiaUFnSUNBZ0lHTmhjSFIxY21Wa09pQW5iMjVUWld4bFkzUkRZWEIwZFhKbEoxeHVJQ0FnSUgwc1hHNGdJQ0FnWkdWd1pXNWtaVzVqYVdWek9pQmJWRTlRWDBKTVZWSXNJRlJQVUY5RFQwNVVSVmhVWDAxRlRsVXNJRlJQVUY5RVVrRkhYMFZPUkN3Z1ZFOVFYMFpQUTFWVExDQlVUMUJmUzBWWlgwUlBWMDRzSUZSUFVGOUxSVmxmVlZBc0lGUlBVRjlOVDFWVFJWOUVUMWRPTENCVVQxQmZUVTlWVTBWZlZWQXNJRlJQVUY5VFJVeEZRMVJKVDA1ZlEwaEJUa2RGWFZ4dUlDQjlYRzU5TzF4dWRtRnlJR0ZqZEdsMlpVVnNaVzFsYm5Ra01TQTlJRzUxYkd3N1hHNTJZWElnWVdOMGFYWmxSV3hsYldWdWRFbHVjM1FrTVNBOUlHNTFiR3c3WEc1MllYSWdiR0Z6ZEZObGJHVmpkR2x2YmlBOUlHNTFiR3c3WEc1MllYSWdiVzkxYzJWRWIzZHVJRDBnWm1Gc2MyVTdYRzR2S2lwY2JpQXFJRWRsZENCaGJpQnZZbXBsWTNRZ2QyaHBZMmdnYVhNZ1lTQjFibWx4ZFdVZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaGxJR04xY25KbGJuUWdjMlZzWldOMGFXOXVMbHh1SUNwY2JpQXFJRlJvWlNCeVpYUjFjbTRnZG1Gc2RXVWdkMmxzYkNCdWIzUWdZbVVnWTI5dWMybHpkR1Z1ZENCaFkzSnZjM01nYm05a1pYTWdiM0lnWW5KdmQzTmxjbk1zSUdKMWRGeHVJQ29nZEhkdklHbGtaVzUwYVdOaGJDQnpaV3hsWTNScGIyNXpJRzl1SUhSb1pTQnpZVzFsSUc1dlpHVWdkMmxzYkNCeVpYUjFjbTRnYVdSbGJuUnBZMkZzSUc5aWFtVmpkSE11WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRFVDAxRmJHVnRaVzUwZlNCdWIyUmxYRzRnS2lCQWNtVjBkWEp1SUh0dlltcGxZM1I5WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFUyVnNaV04wYVc5dUpERW9ibTlrWlNrZ2UxeHVJQ0JwWmlBb0ozTmxiR1ZqZEdsdmJsTjBZWEowSnlCcGJpQnViMlJsSUNZbUlHaGhjMU5sYkdWamRHbHZia05oY0dGaWFXeHBkR2xsY3lodWIyUmxLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnpkR0Z5ZERvZ2JtOWtaUzV6Wld4bFkzUnBiMjVUZEdGeWRDeGNiaUFnSUNBZ0lHVnVaRG9nYm05a1pTNXpaV3hsWTNScGIyNUZibVJjYmlBZ0lDQjlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCM2FXNGdQU0J1YjJSbExtOTNibVZ5Ukc5amRXMWxiblFnSmlZZ2JtOWtaUzV2ZDI1bGNrUnZZM1Z0Wlc1MExtUmxabUYxYkhSV2FXVjNJSHg4SUhkcGJtUnZkenRjYmlBZ0lDQjJZWElnYzJWc1pXTjBhVzl1SUQwZ2QybHVMbWRsZEZObGJHVmpkR2x2YmlncE8xeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JoYm1Ob2IzSk9iMlJsT2lCelpXeGxZM1JwYjI0dVlXNWphRzl5VG05a1pTeGNiaUFnSUNBZ0lHRnVZMmh2Y2s5bVpuTmxkRG9nYzJWc1pXTjBhVzl1TG1GdVkyaHZjazltWm5ObGRDeGNiaUFnSUNBZ0lHWnZZM1Z6VG05a1pUb2djMlZzWldOMGFXOXVMbVp2WTNWelRtOWtaU3hjYmlBZ0lDQWdJR1p2WTNWelQyWm1jMlYwT2lCelpXeGxZM1JwYjI0dVptOWpkWE5QWm1aelpYUmNiaUFnSUNCOU8xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFZGxkQ0JrYjJOMWJXVnVkQ0JoYzNOdlkybGhkR1ZrSUhkcGRHZ2dkR2hsSUdWMlpXNTBJSFJoY21kbGRDNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UyOWlhbVZqZEgwZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhSY2JpQXFJRUJ5WlhSMWNtNGdlMFJ2WTNWdFpXNTBmVnh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnWjJWMFJYWmxiblJVWVhKblpYUkViMk4xYldWdWRDaGxkbVZ1ZEZSaGNtZGxkQ2tnZTF4dUlDQnlaWFIxY200Z1pYWmxiblJVWVhKblpYUXVkMmx1Wkc5M0lEMDlQU0JsZG1WdWRGUmhjbWRsZENBL0lHVjJaVzUwVkdGeVoyVjBMbVJ2WTNWdFpXNTBJRG9nWlhabGJuUlVZWEpuWlhRdWJtOWtaVlI1Y0dVZ1BUMDlJRVJQUTFWTlJVNVVYMDVQUkVVZ1B5QmxkbVZ1ZEZSaGNtZGxkQ0E2SUdWMlpXNTBWR0Z5WjJWMExtOTNibVZ5Ukc5amRXMWxiblE3WEc1OVhHNHZLaXBjYmlBcUlGQnZiR3dnYzJWc1pXTjBhVzl1SUhSdklITmxaU0IzYUdWMGFHVnlJR2wwSjNNZ1kyaGhibWRsWkM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnYm1GMGFYWmxSWFpsYm5SY2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnVZWFJwZG1WRmRtVnVkRlJoY21kbGRGeHVJQ29nUUhKbGRIVnliaUI3UDFONWJuUm9aWFJwWTBWMlpXNTBmVnh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnWTI5dWMzUnlkV04wVTJWc1pXTjBSWFpsYm5Rb2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLU0I3WEc0Z0lDOHZJRVZ1YzNWeVpTQjNaU0JvWVhabElIUm9aU0J5YVdkb2RDQmxiR1Z0Wlc1MExDQmhibVFnZEdoaGRDQjBhR1VnZFhObGNpQnBjeUJ1YjNRZ1pISmhaMmRwYm1jZ1lWeHVJQ0F2THlCelpXeGxZM1JwYjI0Z0tIUm9hWE1nYldGMFkyaGxjeUJ1WVhScGRtVWdZSE5sYkdWamRHQWdaWFpsYm5RZ1ltVm9ZWFpwYjNJcExpQkpiaUJJVkUxTU5Td2djMlZzWldOMFhHNGdJQzh2SUdacGNtVnpJRzl1YkhrZ2IyNGdhVzV3ZFhRZ1lXNWtJSFJsZUhSaGNtVmhJSFJvZFhNZ2FXWWdkR2hsY21VbmN5QnVieUJtYjJOMWMyVmtJR1ZzWlcxbGJuUWdkMlZjYmlBZ0x5OGdkMjl1SjNRZ1pHbHpjR0YwWTJndVhHNGdJSFpoY2lCa2IyTWdQU0JuWlhSRmRtVnVkRlJoY21kbGRFUnZZM1Z0Wlc1MEtHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWMEtUdGNibHh1SUNCcFppQW9iVzkxYzJWRWIzZHVJSHg4SUdGamRHbDJaVVZzWlcxbGJuUWtNU0E5UFNCdWRXeHNJSHg4SUdGamRHbDJaVVZzWlcxbGJuUWtNU0FoUFQwZ1oyVjBRV04wYVhabFJXeGxiV1Z1ZENoa2IyTXBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdMeThnVDI1c2VTQm1hWEpsSUhkb1pXNGdjMlZzWldOMGFXOXVJR2hoY3lCaFkzUjFZV3hzZVNCamFHRnVaMlZrTGx4dVhHNWNiaUFnZG1GeUlHTjFjbkpsYm5SVFpXeGxZM1JwYjI0Z1BTQm5aWFJUWld4bFkzUnBiMjRrTVNoaFkzUnBkbVZGYkdWdFpXNTBKREVwTzF4dVhHNGdJR2xtSUNnaGJHRnpkRk5sYkdWamRHbHZiaUI4ZkNBaGMyaGhiR3h2ZDBWeGRXRnNLR3hoYzNSVFpXeGxZM1JwYjI0c0lHTjFjbkpsYm5SVFpXeGxZM1JwYjI0cEtTQjdYRzRnSUNBZ2JHRnpkRk5sYkdWamRHbHZiaUE5SUdOMWNuSmxiblJUWld4bFkzUnBiMjQ3WEc0Z0lDQWdkbUZ5SUhONWJuUm9aWFJwWTBWMlpXNTBJRDBnVTNsdWRHaGxkR2xqUlhabGJuUXVaMlYwVUc5dmJHVmtLR1YyWlc1MFZIbHdaWE1rTXk1elpXeGxZM1FzSUdGamRHbDJaVVZzWlcxbGJuUkpibk4wSkRFc0lHNWhkR2wyWlVWMlpXNTBMQ0J1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ2s3WEc0Z0lDQWdjM2x1ZEdobGRHbGpSWFpsYm5RdWRIbHdaU0E5SUNkelpXeGxZM1FuTzF4dUlDQWdJSE41Ym5Sb1pYUnBZMFYyWlc1MExuUmhjbWRsZENBOUlHRmpkR2wyWlVWc1pXMWxiblFrTVR0Y2JpQWdJQ0JoWTJOMWJYVnNZWFJsVkhkdlVHaGhjMlZFYVhOd1lYUmphR1Z6S0hONWJuUm9aWFJwWTBWMlpXNTBLVHRjYmlBZ0lDQnlaWFIxY200Z2MzbHVkR2hsZEdsalJYWmxiblE3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYm5Wc2JEdGNibjFjYmk4cUtseHVJQ29nVkdocGN5QndiSFZuYVc0Z1kzSmxZWFJsY3lCaGJpQmdiMjVUWld4bFkzUmdJR1YyWlc1MElIUm9ZWFFnYm05eWJXRnNhWHBsY3lCelpXeGxZM1FnWlhabGJuUnpYRzRnS2lCaFkzSnZjM01nWm05eWJTQmxiR1Z0Wlc1MGN5NWNiaUFxWEc0Z0tpQlRkWEJ3YjNKMFpXUWdaV3hsYldWdWRITWdZWEpsT2x4dUlDb2dMU0JwYm5CMWRDQW9jMlZsSUdCcGMxUmxlSFJKYm5CMWRFVnNaVzFsYm5SZ0tWeHVJQ29nTFNCMFpYaDBZWEpsWVZ4dUlDb2dMU0JqYjI1MFpXNTBSV1JwZEdGaWJHVmNiaUFxWEc0Z0tpQlVhR2x6SUdScFptWmxjbk1nWm5KdmJTQnVZWFJwZG1VZ1luSnZkM05sY2lCcGJYQnNaVzFsYm5SaGRHbHZibk1nYVc0Z2RHaGxJR1p2Ykd4dmQybHVaeUIzWVhsek9seHVJQ29nTFNCR2FYSmxjeUJ2YmlCamIyNTBaVzUwUldScGRHRmliR1VnWm1sbGJHUnpJR0Z6SUhkbGJHd2dZWE1nYVc1d2RYUnpMbHh1SUNvZ0xTQkdhWEpsY3lCbWIzSWdZMjlzYkdGd2MyVmtJSE5sYkdWamRHbHZiaTVjYmlBcUlDMGdSbWx5WlhNZ1lXWjBaWElnZFhObGNpQnBibkIxZEM1Y2JpQXFMMXh1WEc1Y2JuWmhjaUJUWld4bFkzUkZkbVZ1ZEZCc2RXZHBiaUE5SUh0Y2JpQWdaWFpsYm5SVWVYQmxjem9nWlhabGJuUlVlWEJsY3lRekxGeHVJQ0JsZUhSeVlXTjBSWFpsYm5Sek9pQm1kVzVqZEdsdmJpQW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFzSUdWMlpXNTBVM2x6ZEdWdFJteGhaM01zSUdOdmJuUmhhVzVsY2lrZ2UxeHVJQ0FnSUhaaGNpQmpiMjUwWVdsdVpYSlBja1J2WXlBOUlHTnZiblJoYVc1bGNpQjhmQ0JuWlhSRmRtVnVkRlJoY21kbGRFUnZZM1Z0Wlc1MEtHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWMEtUc2dMeThnVkhKaFkyc2dkMmhsZEdobGNpQmhiR3dnYkdsemRHVnVaWEp6SUdWNGFYTjBjeUJtYjNJZ2RHaHBjeUJ3YkhWbmFXNHVJRWxtSUc1dmJtVWdaWGhwYzNRc0lIZGxJR1J2WEc0Z0lDQWdMeThnYm05MElHVjRkSEpoWTNRZ1pYWmxiblJ6TGlCVFpXVWdJek0yTXprdVhHNWNiaUFnSUNCcFppQW9JV052Ym5SaGFXNWxjazl5Ukc5aklIeDhJQ0ZwYzB4cGMzUmxibWx1WjFSdlFXeHNSR1Z3Wlc1a1pXNWphV1Z6S0NkdmJsTmxiR1ZqZENjc0lHTnZiblJoYVc1bGNrOXlSRzlqS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSFJoY21kbGRFNXZaR1VnUFNCMFlYSm5aWFJKYm5OMElEOGdaMlYwVG05a1pVWnliMjFKYm5OMFlXNWpaU1F4S0hSaGNtZGxkRWx1YzNRcElEb2dkMmx1Wkc5M08xeHVYRzRnSUNBZ2MzZHBkR05vSUNoMGIzQk1aWFpsYkZSNWNHVXBJSHRjYmlBZ0lDQWdJQzh2SUZSeVlXTnJJSFJvWlNCcGJuQjFkQ0J1YjJSbElIUm9ZWFFnYUdGeklHWnZZM1Z6TGx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUms5RFZWTTZYRzRnSUNBZ0lDQWdJR2xtSUNocGMxUmxlSFJKYm5CMWRFVnNaVzFsYm5Rb2RHRnlaMlYwVG05a1pTa2dmSHdnZEdGeVoyVjBUbTlrWlM1amIyNTBaVzUwUldScGRHRmliR1VnUFQwOUlDZDBjblZsSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0ZqZEdsMlpVVnNaVzFsYm5Ra01TQTlJSFJoY21kbGRFNXZaR1U3WEc0Z0lDQWdJQ0FnSUNBZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRa01TQTlJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdJQ0FnSUNBZ2JHRnpkRk5sYkdWamRHbHZiaUE5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUWt4VlVqcGNiaUFnSUNBZ0lDQWdZV04wYVhabFJXeGxiV1Z1ZENReElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRa01TQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lHeGhjM1JUWld4bFkzUnBiMjRnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDOHZJRVJ2YmlkMElHWnBjbVVnZEdobElHVjJaVzUwSUhkb2FXeGxJSFJvWlNCMWMyVnlJR2x6SUdSeVlXZG5hVzVuTGlCVWFHbHpJRzFoZEdOb1pYTWdkR2hsWEc0Z0lDQWdJQ0F2THlCelpXMWhiblJwWTNNZ2IyWWdkR2hsSUc1aGRHbDJaU0J6Wld4bFkzUWdaWFpsYm5RdVhHNWNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwMVBWVk5GWDBSUFYwNDZYRzRnSUNBZ0lDQWdJRzF2ZFhObFJHOTNiaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOURUMDVVUlZoVVgwMUZUbFU2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlOVDFWVFJWOVZVRHBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMFJTUVVkZlJVNUVPbHh1SUNBZ0lDQWdJQ0J0YjNWelpVUnZkMjRnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR052Ym5OMGNuVmpkRk5sYkdWamRFVjJaVzUwS0c1aGRHbDJaVVYyWlc1MExDQnVZWFJwZG1WRmRtVnVkRlJoY21kbGRDazdYRzRnSUNBZ0lDQXZMeUJEYUhKdmJXVWdZVzVrSUVsRklHWnBjbVVnYm05dUxYTjBZVzVrWVhKa0lHVjJaVzUwSUhkb1pXNGdjMlZzWldOMGFXOXVJR2x6SUdOb1lXNW5aV1FnS0dGdVpGeHVJQ0FnSUNBZ0x5OGdjMjl0WlhScGJXVnpJSGRvWlc0Z2FYUWdhR0Z6YmlkMEtTNGdTVVVuY3lCbGRtVnVkQ0JtYVhKbGN5QnZkWFFnYjJZZ2IzSmtaWElnZDJsMGFDQnlaWE53WldOMFhHNGdJQ0FnSUNBdkx5QjBieUJyWlhrZ1lXNWtJR2x1Y0hWMElHVjJaVzUwY3lCdmJpQmtaV3hsZEdsdmJpd2djMjhnZDJVZ1pHbHpZMkZ5WkNCcGRDNWNiaUFnSUNBZ0lDOHZYRzRnSUNBZ0lDQXZMeUJHYVhKbFptOTRJR1J2WlhOdUozUWdjM1Z3Y0c5eWRDQnpaV3hsWTNScGIyNWphR0Z1WjJVc0lITnZJR05vWldOcklITmxiR1ZqZEdsdmJpQnpkR0YwZFhOY2JpQWdJQ0FnSUM4dklHRm1kR1Z5SUdWaFkyZ2dhMlY1SUdWdWRISjVMaUJVYUdVZ2MyVnNaV04wYVc5dUlHTm9ZVzVuWlhNZ1lXWjBaWElnYTJWNVpHOTNiaUJoYm1RZ1ltVm1iM0psWEc0Z0lDQWdJQ0F2THlCclpYbDFjQ3dnWW5WMElIZGxJR05vWldOcklHOXVJR3RsZVdSdmQyNGdZWE1nZDJWc2JDQnBiaUIwYUdVZ1kyRnpaU0J2WmlCb2IyeGthVzVuSUdSdmQyNGdZVnh1SUNBZ0lDQWdMeThnYTJWNUxDQjNhR1Z1SUcxMWJIUnBjR3hsSUd0bGVXUnZkMjRnWlhabGJuUnpJR0Z5WlNCbWFYSmxaQ0JpZFhRZ2IyNXNlU0J2Ym1VZ2EyVjVkWEFnYVhNdVhHNGdJQ0FnSUNBdkx5QlVhR2x6SUdseklHRnNjMjhnYjNWeUlHRndjSEp2WVdOb0lHWnZjaUJKUlNCb1lXNWtiR2x1Wnl3Z1ptOXlJSFJvWlNCeVpXRnpiMjRnWVdKdmRtVXVYRzVjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMU5GVEVWRFZFbFBUbDlEU0VGT1IwVTZYRzRnSUNBZ0lDQWdJR2xtSUNoemEybHdVMlZzWldOMGFXOXVRMmhoYm1kbFJYWmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUJtWVd4c2N5QjBhSEp2ZFdkb1hHNWNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwdEZXVjlFVDFkT09seHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlMwVlpYMVZRT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5dWMzUnlkV04wVTJWc1pXTjBSWFpsYm5Rb2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCQWFXNTBaWEptWVdObElFVjJaVzUwWEc0Z0tpQkFjMlZsSUdoMGRIQTZMeTkzZDNjdWR6TXViM0puTDFSU0wyTnpjek10WVc1cGJXRjBhVzl1Y3k4alFXNXBiV0YwYVc5dVJYWmxiblF0YVc1MFpYSm1ZV05sWEc0Z0tpQkFjMlZsSUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBGUVNTOUJibWx0WVhScGIyNUZkbVZ1ZEZ4dUlDb3ZYRzVjYm5aaGNpQlRlVzUwYUdWMGFXTkJibWx0WVhScGIyNUZkbVZ1ZENBOUlGTjViblJvWlhScFkwVjJaVzUwTG1WNGRHVnVaQ2g3WEc0Z0lHRnVhVzFoZEdsdmJrNWhiV1U2SUc1MWJHd3NYRzRnSUdWc1lYQnpaV1JVYVcxbE9pQnVkV3hzTEZ4dUlDQndjMlYxWkc5RmJHVnRaVzUwT2lCdWRXeHNYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkFhVzUwWlhKbVlXTmxJRVYyWlc1MFhHNGdLaUJBYzJWbElHaDBkSEE2THk5M2QzY3Vkek11YjNKbkwxUlNMMk5zYVhCaWIyRnlaQzFoY0dsekwxeHVJQ292WEc1Y2JuWmhjaUJUZVc1MGFHVjBhV05EYkdsd1ltOWhjbVJGZG1WdWRDQTlJRk41Ym5Sb1pYUnBZMFYyWlc1MExtVjRkR1Z1WkNoN1hHNGdJR05zYVhCaWIyRnlaRVJoZEdFNklHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUFuWTJ4cGNHSnZZWEprUkdGMFlTY2dhVzRnWlhabGJuUWdQeUJsZG1WdWRDNWpiR2x3WW05aGNtUkVZWFJoSURvZ2QybHVaRzkzTG1Oc2FYQmliMkZ5WkVSaGRHRTdYRzRnSUgxY2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JtOWpkWE5GZG1WdWRGeHVJQ29nUUhObFpTQm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTlFVDAwdFRHVjJaV3d0TXkxRmRtVnVkSE12WEc0Z0tpOWNibHh1ZG1GeUlGTjViblJvWlhScFkwWnZZM1Z6UlhabGJuUWdQU0JUZVc1MGFHVjBhV05WU1VWMlpXNTBMbVY0ZEdWdVpDaDdYRzRnSUhKbGJHRjBaV1JVWVhKblpYUTZJRzUxYkd4Y2JuMHBPMXh1WEc0dktpcGNiaUFxSUdCamFHRnlRMjlrWldBZ2NtVndjbVZ6Wlc1MGN5QjBhR1VnWVdOMGRXRnNJRndpWTJoaGNtRmpkR1Z5SUdOdlpHVmNJaUJoYm1RZ2FYTWdjMkZtWlNCMGJ5QjFjMlVnZDJsMGFGeHVJQ29nWUZOMGNtbHVaeTVtY205dFEyaGhja052WkdWZ0xpQkJjeUJ6ZFdOb0xDQnZibXg1SUd0bGVYTWdkR2hoZENCamIzSnlaWE53YjI1a0lIUnZJSEJ5YVc1MFlXSnNaVnh1SUNvZ1kyaGhjbUZqZEdWeWN5QndjbTlrZFdObElHRWdkbUZzYVdRZ1lHTm9ZWEpEYjJSbFlDd2dkR2hsSUc5dWJIa2daWGhqWlhCMGFXOXVJSFJ2SUhSb2FYTWdhWE1nUlc1MFpYSXVYRzRnS2lCVWFHVWdWR0ZpTFd0bGVTQnBjeUJqYjI1emFXUmxjbVZrSUc1dmJpMXdjbWx1ZEdGaWJHVWdZVzVrSUdSdlpYTWdibTkwSUdoaGRtVWdZU0JnWTJoaGNrTnZaR1ZnTEZ4dUlDb2djSEpsYzNWdFlXSnNlU0JpWldOaGRYTmxJR2wwSUdSdlpYTWdibTkwSUhCeWIyUjFZMlVnWVNCMFlXSXRZMmhoY21GamRHVnlJR2x1SUdKeWIzZHpaWEp6TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J1WVhScGRtVkZkbVZ1ZENCT1lYUnBkbVVnWW5KdmQzTmxjaUJsZG1WdWRDNWNiaUFxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjBnVG05eWJXRnNhWHBsWkNCZ1kyaGhja052WkdWZ0lIQnliM0JsY25SNUxseHVJQ292WEc1bWRXNWpkR2x2YmlCblpYUkZkbVZ1ZEVOb1lYSkRiMlJsS0c1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUhaaGNpQmphR0Z5UTI5a1pUdGNiaUFnZG1GeUlHdGxlVU52WkdVZ1BTQnVZWFJwZG1WRmRtVnVkQzVyWlhsRGIyUmxPMXh1WEc0Z0lHbG1JQ2duWTJoaGNrTnZaR1VuSUdsdUlHNWhkR2wyWlVWMlpXNTBLU0I3WEc0Z0lDQWdZMmhoY2tOdlpHVWdQU0J1WVhScGRtVkZkbVZ1ZEM1amFHRnlRMjlrWlRzZ0x5OGdSa1lnWkc5bGN5QnViM1FnYzJWMElHQmphR0Z5UTI5a1pXQWdabTl5SUhSb1pTQkZiblJsY2kxclpYa3NJR05vWldOcklHRm5ZV2x1YzNRZ1lHdGxlVU52WkdWZ0xseHVYRzRnSUNBZ2FXWWdLR05vWVhKRGIyUmxJRDA5UFNBd0lDWW1JR3RsZVVOdlpHVWdQVDA5SURFektTQjdYRzRnSUNBZ0lDQmphR0Z5UTI5a1pTQTlJREV6TzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCSlJUZ2daRzlsY3lCdWIzUWdhVzF3YkdWdFpXNTBJR0JqYUdGeVEyOWtaV0FzSUdKMWRDQmdhMlY1UTI5a1pXQWdhR0Z6SUhSb1pTQmpiM0p5WldOMElIWmhiSFZsTGx4dUlDQWdJR05vWVhKRGIyUmxJRDBnYTJWNVEyOWtaVHRjYmlBZ2ZTQXZMeUJKUlNCaGJtUWdSV1JuWlNBb2IyNGdWMmx1Wkc5M2N5a2dZVzVrSUVOb2NtOXRaU0F2SUZOaFptRnlhU0FvYjI0Z1YybHVaRzkzY3lCaGJtUWdUR2x1ZFhncFhHNGdJQzh2SUhKbGNHOXlkQ0JGYm5SbGNpQmhjeUJqYUdGeVEyOWtaU0F4TUNCM2FHVnVJR04wY213Z2FYTWdjSEpsYzNObFpDNWNibHh1WEc0Z0lHbG1JQ2hqYUdGeVEyOWtaU0E5UFQwZ01UQXBJSHRjYmlBZ0lDQmphR0Z5UTI5a1pTQTlJREV6TzF4dUlDQjlJQzh2SUZOdmJXVWdibTl1TFhCeWFXNTBZV0pzWlNCclpYbHpJR0Z5WlNCeVpYQnZjblJsWkNCcGJpQmdZMmhoY2tOdlpHVmdMMkJyWlhsRGIyUmxZQ3dnWkdselkyRnlaQ0IwYUdWdExseHVJQ0F2THlCTmRYTjBJRzV2ZENCa2FYTmpZWEprSUhSb1pTQW9ibTl1TFNsd2NtbHVkR0ZpYkdVZ1JXNTBaWEl0YTJWNUxseHVYRzVjYmlBZ2FXWWdLR05vWVhKRGIyUmxJRDQ5SURNeUlIeDhJR05vWVhKRGIyUmxJRDA5UFNBeE15a2dlMXh1SUNBZ0lISmxkSFZ5YmlCamFHRnlRMjlrWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlBd08xeHVmVnh1WEc0dktpcGNiaUFxSUU1dmNtMWhiR2w2WVhScGIyNGdiMllnWkdWd2NtVmpZWFJsWkNCSVZFMU1OU0JnYTJWNVlDQjJZV3gxWlhOY2JpQXFJRUJ6WldVZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlFWQkpMMHRsZVdKdllYSmtSWFpsYm5RalMyVjVYMjVoYldWelhHNGdLaTljYmx4dWRtRnlJRzV2Y20xaGJHbDZaVXRsZVNBOUlIdGNiaUFnUlhOak9pQW5SWE5qWVhCbEp5eGNiaUFnVTNCaFkyVmlZWEk2SUNjZ0p5eGNiaUFnVEdWbWREb2dKMEZ5Y205M1RHVm1kQ2NzWEc0Z0lGVndPaUFuUVhKeWIzZFZjQ2NzWEc0Z0lGSnBaMmgwT2lBblFYSnliM2RTYVdkb2RDY3NYRzRnSUVSdmQyNDZJQ2RCY25KdmQwUnZkMjRuTEZ4dUlDQkVaV3c2SUNkRVpXeGxkR1VuTEZ4dUlDQlhhVzQ2SUNkUFV5Y3NYRzRnSUUxbGJuVTZJQ2REYjI1MFpYaDBUV1Z1ZFNjc1hHNGdJRUZ3Y0hNNklDZERiMjUwWlhoMFRXVnVkU2NzWEc0Z0lGTmpjbTlzYkRvZ0oxTmpjbTlzYkV4dlkyc25MRnh1SUNCTmIzcFFjbWx1ZEdGaWJHVkxaWGs2SUNkVmJtbGtaVzUwYVdacFpXUW5YRzU5TzF4dUx5b3FYRzRnS2lCVWNtRnVjMnhoZEdsdmJpQm1jbTl0SUd4bFoyRmplU0JnYTJWNVEyOWtaV0FnZEc4Z1NGUk5URFVnWUd0bGVXQmNiaUFxSUU5dWJIa2djM0JsWTJsaGJDQnJaWGx6SUhOMWNIQnZjblJsWkN3Z1lXeHNJRzkwYUdWeWN5QmtaWEJsYm1RZ2IyNGdhMlY1WW05aGNtUWdiR0Y1YjNWMElHOXlJR0p5YjNkelpYSmNiaUFxSUVCelpXVWdhSFIwY0hNNkx5OWtaWFpsYkc5d1pYSXViVzk2YVd4c1lTNXZjbWN2Wlc0dFZWTXZaRzlqY3k5WFpXSXZRVkJKTDB0bGVXSnZZWEprUlhabGJuUWpTMlY1WDI1aGJXVnpYRzRnS2k5Y2JseHVkbUZ5SUhSeVlXNXpiR0YwWlZSdlMyVjVJRDBnZTF4dUlDQW5PQ2M2SUNkQ1lXTnJjM0JoWTJVbkxGeHVJQ0FuT1NjNklDZFVZV0luTEZ4dUlDQW5NVEluT2lBblEyeGxZWEluTEZ4dUlDQW5NVE1uT2lBblJXNTBaWEluTEZ4dUlDQW5NVFluT2lBblUyaHBablFuTEZ4dUlDQW5NVGNuT2lBblEyOXVkSEp2YkNjc1hHNGdJQ2N4T0NjNklDZEJiSFFuTEZ4dUlDQW5NVGtuT2lBblVHRjFjMlVuTEZ4dUlDQW5NakFuT2lBblEyRndjMHh2WTJzbkxGeHVJQ0FuTWpjbk9pQW5SWE5qWVhCbEp5eGNiaUFnSnpNeUp6b2dKeUFuTEZ4dUlDQW5Nek1uT2lBblVHRm5aVlZ3Snl4Y2JpQWdKek0wSnpvZ0oxQmhaMlZFYjNkdUp5eGNiaUFnSnpNMUp6b2dKMFZ1WkNjc1hHNGdJQ2N6TmljNklDZEliMjFsSnl4Y2JpQWdKek0zSnpvZ0owRnljbTkzVEdWbWRDY3NYRzRnSUNjek9DYzZJQ2RCY25KdmQxVndKeXhjYmlBZ0p6TTVKem9nSjBGeWNtOTNVbWxuYUhRbkxGeHVJQ0FuTkRBbk9pQW5RWEp5YjNkRWIzZHVKeXhjYmlBZ0p6UTFKem9nSjBsdWMyVnlkQ2NzWEc0Z0lDYzBOaWM2SUNkRVpXeGxkR1VuTEZ4dUlDQW5NVEV5SnpvZ0owWXhKeXhjYmlBZ0p6RXhNeWM2SUNkR01pY3NYRzRnSUNjeE1UUW5PaUFuUmpNbkxGeHVJQ0FuTVRFMUp6b2dKMFkwSnl4Y2JpQWdKekV4TmljNklDZEdOU2NzWEc0Z0lDY3hNVGNuT2lBblJqWW5MRnh1SUNBbk1URTRKem9nSjBZM0p5eGNiaUFnSnpFeE9TYzZJQ2RHT0Njc1hHNGdJQ2N4TWpBbk9pQW5SamtuTEZ4dUlDQW5NVEl4SnpvZ0owWXhNQ2NzWEc0Z0lDY3hNakluT2lBblJqRXhKeXhjYmlBZ0p6RXlNeWM2SUNkR01USW5MRnh1SUNBbk1UUTBKem9nSjA1MWJVeHZZMnNuTEZ4dUlDQW5NVFExSnpvZ0oxTmpjbTlzYkV4dlkyc25MRnh1SUNBbk1qSTBKem9nSjAxbGRHRW5YRzU5TzF4dUx5b3FYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnYm1GMGFYWmxSWFpsYm5RZ1RtRjBhWFpsSUdKeWIzZHpaWElnWlhabGJuUXVYRzRnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5SUU1dmNtMWhiR2w2WldRZ1lHdGxlV0FnY0hKdmNHVnlkSGt1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFJYWmxiblJMWlhrb2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2FXWWdLRzVoZEdsMlpVVjJaVzUwTG10bGVTa2dlMXh1SUNBZ0lDOHZJRTV2Y20xaGJHbDZaU0JwYm1OdmJuTnBjM1JsYm5RZ2RtRnNkV1Z6SUhKbGNHOXlkR1ZrSUdKNUlHSnliM2R6WlhKeklHUjFaU0IwYjF4dUlDQWdJQzh2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVjeUJ2WmlCaElIZHZjbXRwYm1jZ1pISmhablFnYzNCbFkybG1hV05oZEdsdmJpNWNiaUFnSUNBdkx5QkdhWEpsUm05NElHbHRjR3hsYldWdWRITWdZR3RsZVdBZ1luVjBJSEpsZEhWeWJuTWdZRTF2ZWxCeWFXNTBZV0pzWlV0bGVXQWdabTl5SUdGc2JGeHVJQ0FnSUM4dklIQnlhVzUwWVdKc1pTQmphR0Z5WVdOMFpYSnpJQ2h1YjNKdFlXeHBlbVZrSUhSdklHQlZibWxrWlc1MGFXWnBaV1JnS1N3Z2FXZHViM0psSUdsMExseHVJQ0FnSUhaaGNpQnJaWGtnUFNCdWIzSnRZV3hwZW1WTFpYbGJibUYwYVhabFJYWmxiblF1YTJWNVhTQjhmQ0J1WVhScGRtVkZkbVZ1ZEM1clpYazdYRzVjYmlBZ0lDQnBaaUFvYTJWNUlDRTlQU0FuVlc1cFpHVnVkR2xtYVdWa0p5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHdGxlVHRjYmlBZ0lDQjlYRzRnSUgwZ0x5OGdRbkp2ZDNObGNpQmtiMlZ6SUc1dmRDQnBiWEJzWlcxbGJuUWdZR3RsZVdBc0lIQnZiSGxtYVd4c0lHRnpJRzExWTJnZ2IyWWdhWFFnWVhNZ2QyVWdZMkZ1TGx4dVhHNWNiaUFnYVdZZ0tHNWhkR2wyWlVWMlpXNTBMblI1Y0dVZ1BUMDlJQ2RyWlhsd2NtVnpjeWNwSUh0Y2JpQWdJQ0IyWVhJZ1kyaGhja052WkdVZ1BTQm5aWFJGZG1WdWRFTm9ZWEpEYjJSbEtHNWhkR2wyWlVWMlpXNTBLVHNnTHk4Z1ZHaGxJR1Z1ZEdWeUxXdGxlU0JwY3lCMFpXTm9ibWxqWVd4c2VTQmliM1JvSUhCeWFXNTBZV0pzWlNCaGJtUWdibTl1TFhCeWFXNTBZV0pzWlNCaGJtUWdZMkZ1WEc0Z0lDQWdMeThnZEdoMWN5QmlaU0JqWVhCMGRYSmxaQ0JpZVNCZ2EyVjVjSEpsYzNOZ0xDQnVieUJ2ZEdobGNpQnViMjR0Y0hKcGJuUmhZbXhsSUd0bGVTQnphRzkxYkdRdVhHNWNiaUFnSUNCeVpYUjFjbTRnWTJoaGNrTnZaR1VnUFQwOUlERXpJRDhnSjBWdWRHVnlKeUE2SUZOMGNtbHVaeTVtY205dFEyaGhja052WkdVb1kyaGhja052WkdVcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0c1aGRHbDJaVVYyWlc1MExuUjVjR1VnUFQwOUlDZHJaWGxrYjNkdUp5QjhmQ0J1WVhScGRtVkZkbVZ1ZEM1MGVYQmxJRDA5UFNBbmEyVjVkWEFuS1NCN1hHNGdJQ0FnTHk4Z1YyaHBiR1VnZFhObGNpQnJaWGxpYjJGeVpDQnNZWGx2ZFhRZ1pHVjBaWEp0YVc1bGN5QjBhR1VnWVdOMGRXRnNJRzFsWVc1cGJtY2diMllnWldGamFGeHVJQ0FnSUM4dklHQnJaWGxEYjJSbFlDQjJZV3gxWlN3Z1lXeHRiM04wSUdGc2JDQm1kVzVqZEdsdmJpQnJaWGx6SUdoaGRtVWdZU0IxYm1sMlpYSnpZV3dnZG1Gc2RXVXVYRzRnSUNBZ2NtVjBkWEp1SUhSeVlXNXpiR0YwWlZSdlMyVjVXMjVoZEdsMlpVVjJaVzUwTG10bGVVTnZaR1ZkSUh4OElDZFZibWxrWlc1MGFXWnBaV1FuTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUNjbk8xeHVmVnh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1MyVjVZbTloY21SRmRtVnVkRnh1SUNvZ1FITmxaU0JvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlVVWk5RVQwMHRUR1YyWld3dE15MUZkbVZ1ZEhNdlhHNGdLaTljYmx4dWRtRnlJRk41Ym5Sb1pYUnBZMHRsZVdKdllYSmtSWFpsYm5RZ1BTQlRlVzUwYUdWMGFXTlZTVVYyWlc1MExtVjRkR1Z1WkNoN1hHNGdJR3RsZVRvZ1oyVjBSWFpsYm5STFpYa3NYRzRnSUd4dlkyRjBhVzl1T2lCdWRXeHNMRnh1SUNCamRISnNTMlY1T2lCdWRXeHNMRnh1SUNCemFHbG1kRXRsZVRvZ2JuVnNiQ3hjYmlBZ1lXeDBTMlY1T2lCdWRXeHNMRnh1SUNCdFpYUmhTMlY1T2lCdWRXeHNMRnh1SUNCeVpYQmxZWFE2SUc1MWJHd3NYRzRnSUd4dlkyRnNaVG9nYm5Wc2JDeGNiaUFnWjJWMFRXOWthV1pwWlhKVGRHRjBaVG9nWjJWMFJYWmxiblJOYjJScFptbGxjbE4wWVhSbExGeHVJQ0F2THlCTVpXZGhZM2tnU1c1MFpYSm1ZV05sWEc0Z0lHTm9ZWEpEYjJSbE9pQm1kVzVqZEdsdmJpQW9aWFpsYm5RcElIdGNiaUFnSUNBdkx5QmdZMmhoY2tOdlpHVmdJR2x6SUhSb1pTQnlaWE4xYkhRZ2IyWWdZU0JMWlhsUWNtVnpjeUJsZG1WdWRDQmhibVFnY21Wd2NtVnpaVzUwY3lCMGFHVWdkbUZzZFdVZ2IyWmNiaUFnSUNBdkx5QjBhR1VnWVdOMGRXRnNJSEJ5YVc1MFlXSnNaU0JqYUdGeVlXTjBaWEl1WEc0Z0lDQWdMeThnUzJWNVVISmxjM01nYVhNZ1pHVndjbVZqWVhSbFpDd2dZblYwSUdsMGN5QnlaWEJzWVdObGJXVnVkQ0JwY3lCdWIzUWdlV1YwSUdacGJtRnNJR0Z1WkNCdWIzUmNiaUFnSUNBdkx5QnBiWEJzWlcxbGJuUmxaQ0JwYmlCaGJua2diV0ZxYjNJZ1luSnZkM05sY2k0Z1QyNXNlU0JMWlhsUWNtVnpjeUJvWVhNZ1kyaGhja052WkdVdVhHNGdJQ0FnYVdZZ0tHVjJaVzUwTG5SNWNHVWdQVDA5SUNkclpYbHdjbVZ6Y3ljcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCblpYUkZkbVZ1ZEVOb1lYSkRiMlJsS0dWMlpXNTBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlN4Y2JpQWdhMlY1UTI5a1pUb2dablZ1WTNScGIyNGdLR1YyWlc1MEtTQjdYRzRnSUNBZ0x5OGdZR3RsZVVOdlpHVmdJR2x6SUhSb1pTQnlaWE4xYkhRZ2IyWWdZU0JMWlhsRWIzZHVMMVZ3SUdWMlpXNTBJR0Z1WkNCeVpYQnlaWE5sYm5SeklIUm9aU0IyWVd4MVpTQnZabHh1SUNBZ0lDOHZJSEJvZVhOcFkyRnNJR3RsZVdKdllYSmtJR3RsZVM1Y2JpQWdJQ0F2THlCVWFHVWdZV04wZFdGc0lHMWxZVzVwYm1jZ2IyWWdkR2hsSUhaaGJIVmxJR1JsY0dWdVpITWdiMjRnZEdobElIVnpaWEp6SnlCclpYbGliMkZ5WkNCc1lYbHZkWFJjYmlBZ0lDQXZMeUIzYUdsamFDQmpZVzV1YjNRZ1ltVWdaR1YwWldOMFpXUXVJRUZ6YzNWdGFXNW5JSFJvWVhRZ2FYUWdhWE1nWVNCVlV5QnJaWGxpYjJGeVpDQnNZWGx2ZFhSY2JpQWdJQ0F2THlCd2NtOTJhV1JsY3lCaElITjFjbkJ5YVhOcGJtZHNlU0JoWTJOMWNtRjBaU0J0WVhCd2FXNW5JR1p2Y2lCVlV5QmhibVFnUlhWeWIzQmxZVzRnZFhObGNuTXVYRzRnSUNBZ0x5OGdSSFZsSUhSdklIUm9hWE1zSUdsMElHbHpJR3hsWm5RZ2RHOGdkR2hsSUhWelpYSWdkRzhnYVcxd2JHVnRaVzUwSUdGMElIUm9hWE1nZEdsdFpTNWNiaUFnSUNCcFppQW9aWFpsYm5RdWRIbHdaU0E5UFQwZ0oydGxlV1J2ZDI0bklIeDhJR1YyWlc1MExuUjVjR1VnUFQwOUlDZHJaWGwxY0NjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbGRtVnVkQzVyWlhsRGIyUmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlBd08xeHVJQ0I5TEZ4dUlDQjNhR2xqYURvZ1puVnVZM1JwYjI0Z0tHVjJaVzUwS1NCN1hHNGdJQ0FnTHk4Z1lIZG9hV05vWUNCcGN5QmhiaUJoYkdsaGN5Qm1iM0lnWldsMGFHVnlJR0JyWlhsRGIyUmxZQ0J2Y2lCZ1kyaGhja052WkdWZ0lHUmxjR1Z1WkdsdVp5QnZiaUIwYUdWY2JpQWdJQ0F2THlCMGVYQmxJRzltSUhSb1pTQmxkbVZ1ZEM1Y2JpQWdJQ0JwWmlBb1pYWmxiblF1ZEhsd1pTQTlQVDBnSjJ0bGVYQnlaWE56SnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdkbGRFVjJaVzUwUTJoaGNrTnZaR1VvWlhabGJuUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRDNTBlWEJsSUQwOVBTQW5hMlY1Wkc5M2JpY2dmSHdnWlhabGJuUXVkSGx3WlNBOVBUMGdKMnRsZVhWd0p5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHVjJaVzUwTG10bGVVTnZaR1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgxY2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JISmhaMFYyWlc1MFhHNGdLaUJBYzJWbElHaDBkSEE2THk5M2QzY3Vkek11YjNKbkwxUlNMMFJQVFMxTVpYWmxiQzB6TFVWMlpXNTBjeTljYmlBcUwxeHVYRzUyWVhJZ1UzbHVkR2hsZEdsalJISmhaMFYyWlc1MElEMGdVM2x1ZEdobGRHbGpUVzkxYzJWRmRtVnVkQzVsZUhSbGJtUW9lMXh1SUNCa1lYUmhWSEpoYm5ObVpYSTZJRzUxYkd4Y2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1ZHOTFZMmhGZG1WdWRGeHVJQ29nUUhObFpTQm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTkwYjNWamFDMWxkbVZ1ZEhNdlhHNGdLaTljYmx4dWRtRnlJRk41Ym5Sb1pYUnBZMVJ2ZFdOb1JYWmxiblFnUFNCVGVXNTBhR1YwYVdOVlNVVjJaVzUwTG1WNGRHVnVaQ2g3WEc0Z0lIUnZkV05vWlhNNklHNTFiR3dzWEc0Z0lIUmhjbWRsZEZSdmRXTm9aWE02SUc1MWJHd3NYRzRnSUdOb1lXNW5aV1JVYjNWamFHVnpPaUJ1ZFd4c0xGeHVJQ0JoYkhSTFpYazZJRzUxYkd3c1hHNGdJRzFsZEdGTFpYazZJRzUxYkd3c1hHNGdJR04wY214TFpYazZJRzUxYkd3c1hHNGdJSE5vYVdaMFMyVjVPaUJ1ZFd4c0xGeHVJQ0JuWlhSTmIyUnBabWxsY2xOMFlYUmxPaUJuWlhSRmRtVnVkRTF2WkdsbWFXVnlVM1JoZEdWY2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JYWmxiblJjYmlBcUlFQnpaV1VnYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2VkZJdk1qQXdPUzlYUkMxamMzTXpMWFJ5WVc1emFYUnBiMjV6TFRJd01Ea3dNekl3THlOMGNtRnVjMmwwYVc5dUxXVjJaVzUwY3kxY2JpQXFJRUJ6WldVZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlFWQkpMMVJ5WVc1emFYUnBiMjVGZG1WdWRGeHVJQ292WEc1Y2JuWmhjaUJUZVc1MGFHVjBhV05VY21GdWMybDBhVzl1UlhabGJuUWdQU0JUZVc1MGFHVjBhV05GZG1WdWRDNWxlSFJsYm1Rb2UxeHVJQ0J3Y205d1pYSjBlVTVoYldVNklHNTFiR3dzWEc0Z0lHVnNZWEJ6WldSVWFXMWxPaUJ1ZFd4c0xGeHVJQ0J3YzJWMVpHOUZiR1Z0Wlc1ME9pQnVkV3hzWEc1OUtUdGNibHh1THlvcVhHNGdLaUJBYVc1MFpYSm1ZV05sSUZkb1pXVnNSWFpsYm5SY2JpQXFJRUJ6WldVZ2FIUjBjRG92TDNkM2R5NTNNeTV2Y21jdlZGSXZSRTlOTFV4bGRtVnNMVE10UlhabGJuUnpMMXh1SUNvdlhHNWNiblpoY2lCVGVXNTBhR1YwYVdOWGFHVmxiRVYyWlc1MElEMGdVM2x1ZEdobGRHbGpUVzkxYzJWRmRtVnVkQzVsZUhSbGJtUW9lMXh1SUNCa1pXeDBZVmc2SUdaMWJtTjBhVzl1SUNobGRtVnVkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW5aR1ZzZEdGWUp5QnBiaUJsZG1WdWRDQS9JR1YyWlc1MExtUmxiSFJoV0NBNklDOHZJRVpoYkd4aVlXTnJJSFJ2SUdCM2FHVmxiRVJsYkhSaFdHQWdabTl5SUZkbFltdHBkQ0JoYm1RZ2JtOXliV0ZzYVhwbElDaHlhV2RvZENCcGN5QndiM05wZEdsMlpTa3VYRzRnSUNBZ0ozZG9aV1ZzUkdWc2RHRllKeUJwYmlCbGRtVnVkQ0EvSUMxbGRtVnVkQzUzYUdWbGJFUmxiSFJoV0NBNklEQTdYRzRnSUgwc1hHNGdJR1JsYkhSaFdUb2dablZ1WTNScGIyNGdLR1YyWlc1MEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUNka1pXeDBZVmtuSUdsdUlHVjJaVzUwSUQ4Z1pYWmxiblF1WkdWc2RHRlpJRG9nTHk4Z1JtRnNiR0poWTJzZ2RHOGdZSGRvWldWc1JHVnNkR0ZaWUNCbWIzSWdWMlZpYTJsMElHRnVaQ0J1YjNKdFlXeHBlbVVnS0dSdmQyNGdhWE1nY0c5emFYUnBkbVVwTGx4dUlDQWdJQ2QzYUdWbGJFUmxiSFJoV1NjZ2FXNGdaWFpsYm5RZ1B5QXRaWFpsYm5RdWQyaGxaV3hFWld4MFlWa2dPaUF2THlCR1lXeHNZbUZqYXlCMGJ5QmdkMmhsWld4RVpXeDBZV0FnWm05eUlFbEZQRGtnWVc1a0lHNXZjbTFoYkdsNlpTQW9aRzkzYmlCcGN5QndiM05wZEdsMlpTa3VYRzRnSUNBZ0ozZG9aV1ZzUkdWc2RHRW5JR2x1SUdWMlpXNTBJRDhnTFdWMlpXNTBMbmRvWldWc1JHVnNkR0VnT2lBd08xeHVJQ0I5TEZ4dUlDQmtaV3gwWVZvNklHNTFiR3dzWEc0Z0lDOHZJRUp5YjNkelpYSnpJSGRwZEdodmRYUWdYQ0prWld4MFlVMXZaR1ZjSWlCcGN5QnlaWEJ2Y25ScGJtY2dhVzRnY21GM0lIZG9aV1ZzSUdSbGJIUmhJSGRvWlhKbElHOXVaVnh1SUNBdkx5QnViM1JqYUNCdmJpQjBhR1VnYzJOeWIyeHNJR2x6SUdGc2QyRjVjeUFyTHkwZ01USXdMQ0J5YjNWbmFHeDVJR1Z4ZFdsMllXeGxiblFnZEc4Z2NHbDRaV3h6TGx4dUlDQXZMeUJCSUdkdmIyUWdZWEJ3Y205NGFXMWhkR2x2YmlCdlppQkVUMDFmUkVWTVZFRmZURWxPUlNBb01Ta2dhWE1nTlNVZ2IyWWdkbWxsZDNCdmNuUWdjMmw2WlNCdmNseHVJQ0F2THlCK05EQWdjR2w0Wld4ekxDQm1iM0lnUkU5TlgwUkZURlJCWDFORFVrVkZUaUFvTWlrZ2FYUWdhWE1nT0RjdU5TVWdiMllnZG1sbGQzQnZjblFnYzJsNlpTNWNiaUFnWkdWc2RHRk5iMlJsT2lCdWRXeHNYRzU5S1R0Y2JseHVkbUZ5SUd0dWIzZHVTRlJOVEZSdmNFeGxkbVZzVkhsd1pYTWdQU0JiVkU5UVgwRkNUMUpVTENCVVQxQmZRMEZPUTBWTUxDQlVUMUJmUTBGT1gxQk1RVmtzSUZSUFVGOURRVTVmVUV4QldWOVVTRkpQVlVkSUxDQlVUMUJmUTB4UFUwVXNJRlJQVUY5RVZWSkJWRWxQVGw5RFNFRk9SMFVzSUZSUFVGOUZUVkJVU1VWRUxDQlVUMUJmUlU1RFVsbFFWRVZFTENCVVQxQmZSVTVFUlVRc0lGUlBVRjlGVWxKUFVpd2dWRTlRWDBsT1VGVlVMQ0JVVDFCZlNVNVdRVXhKUkN3Z1ZFOVFYMHhQUVVRc0lGUlBVRjlNVDBGRVJVUmZSRUZVUVN3Z1ZFOVFYMHhQUVVSRlJGOU5SVlJCUkVGVVFTd2dWRTlRWDB4UFFVUmZVMVJCVWxRc0lGUlBVRjlRUVZWVFJTd2dWRTlRWDFCTVFWa3NJRlJQVUY5UVRFRlpTVTVITENCVVQxQmZVRkpQUjFKRlUxTXNJRlJQVUY5U1FWUkZYME5JUVU1SFJTd2dWRTlRWDFKRlUwVlVMQ0JVVDFCZlUwVkZTMFZFTENCVVQxQmZVMFZGUzBsT1J5d2dWRTlRWDFOVVFVeE1SVVFzSUZSUFVGOVRWVUpOU1ZRc0lGUlBVRjlUVlZOUVJVNUVMQ0JVVDFCZlZFbE5SVjlWVUVSQlZFVXNJRlJQVUY5VVQwZEhURVVzSUZSUFVGOVdUMHhWVFVWZlEwaEJUa2RGTENCVVQxQmZWMEZKVkVsT1IxMDdYRzUyWVhJZ1UybHRjR3hsUlhabGJuUlFiSFZuYVc0Z1BTQjdYRzRnSUM4dklITnBiWEJzWlVWMlpXNTBVR3gxWjJsdVJYWmxiblJVZVhCbGN5Qm5aWFJ6SUhCdmNIVnNZWFJsWkNCbWNtOXRYRzRnSUM4dklIUm9aU0JFVDAxRmRtVnVkRkJ5YjNCbGNuUnBaWE1nYlc5a2RXeGxMbHh1SUNCbGRtVnVkRlI1Y0dWek9pQnphVzF3YkdWRmRtVnVkRkJzZFdkcGJrVjJaVzUwVkhsd1pYTXNYRzRnSUdWNGRISmhZM1JGZG1WdWRITTZJR1oxYm1OMGFXOXVJQ2gwYjNCTVpYWmxiRlI1Y0dVc0lIUmhjbWRsZEVsdWMzUXNJRzVoZEdsMlpVVjJaVzUwTENCdVlYUnBkbVZGZG1WdWRGUmhjbWRsZEN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3lrZ2UxeHVJQ0FnSUhaaGNpQmthWE53WVhSamFFTnZibVpwWnlBOUlIUnZjRXhsZG1Wc1JYWmxiblJ6Vkc5RWFYTndZWFJqYUVOdmJtWnBaeTVuWlhRb2RHOXdUR1YyWld4VWVYQmxLVHRjYmx4dUlDQWdJR2xtSUNnaFpHbHpjR0YwWTJoRGIyNW1hV2NwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eU8xeHVYRzRnSUNBZ2MzZHBkR05vSUNoMGIzQk1aWFpsYkZSNWNHVXBJSHRjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMHRGV1Y5UVVrVlRVenBjYmlBZ0lDQWdJQ0FnTHk4Z1JtbHlaV1p2ZUNCamNtVmhkR1Z6SUdFZ2EyVjVjSEpsYzNNZ1pYWmxiblFnWm05eUlHWjFibU4wYVc5dUlHdGxlWE1nZEc5dkxpQlVhR2x6SUhKbGJXOTJaWE5jYmlBZ0lDQWdJQ0FnTHk4Z2RHaGxJSFZ1ZDJGdWRHVmtJR3RsZVhCeVpYTnpJR1YyWlc1MGN5NGdSVzUwWlhJZ2FYTWdhRzkzWlhabGNpQmliM1JvSUhCeWFXNTBZV0pzWlNCaGJtUmNiaUFnSUNBZ0lDQWdMeThnYm05dUxYQnlhVzUwWVdKc1pTNGdUMjVsSUhkdmRXeGtJR1Y0Y0dWamRDQlVZV0lnZEc4Z1ltVWdZWE1nZDJWc2JDQW9ZblYwSUdsMElHbHpiaWQwS1M1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2RsZEVWMlpXNTBRMmhoY2tOdlpHVW9ibUYwYVhabFJYWmxiblFwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHlvZ1ptRnNiSE1nZEdoeWIzVm5hQ0FxTDF4dVhHNGdJQ0FnSUNCallYTmxJRlJQVUY5TFJWbGZSRTlYVGpwY2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDB0RldWOVZVRHBjYmlBZ0lDQWdJQ0FnUlhabGJuUkRiMjV6ZEhKMVkzUnZjaUE5SUZONWJuUm9aWFJwWTB0bGVXSnZZWEprUlhabGJuUTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUNURlZTT2x4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUms5RFZWTTZYRzRnSUNBZ0lDQWdJRVYyWlc1MFEyOXVjM1J5ZFdOMGIzSWdQU0JUZVc1MGFHVjBhV05HYjJOMWMwVjJaVzUwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUTB4SlEwczZYRzRnSUNBZ0lDQWdJQzh2SUVacGNtVm1iM2dnWTNKbFlYUmxjeUJoSUdOc2FXTnJJR1YyWlc1MElHOXVJSEpwWjJoMElHMXZkWE5sSUdOc2FXTnJjeTRnVkdocGN5QnlaVzF2ZG1WeklIUm9aVnh1SUNBZ0lDQWdJQ0F2THlCMWJuZGhiblJsWkNCamJHbGpheUJsZG1WdWRITXVYRzRnSUNBZ0lDQWdJR2xtSUNodVlYUnBkbVZGZG1WdWRDNWlkWFIwYjI0Z1BUMDlJRElwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBdktpQm1ZV3hzY3lCMGFISnZkV2RvSUNvdlhHNWNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwRlZXRjlEVEVsRFN6cGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwUlBWVUpNUlY5RFRFbERTenBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMDFQVlZORlgwUlBWMDQ2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlOVDFWVFJWOU5UMVpGT2x4dUlDQWdJQ0FnWTJGelpTQlVUMUJmVFU5VlUwVmZWVkE2SUM4dklGUlBSRTg2SUVScGMyRmliR1ZrSUdWc1pXMWxiblJ6SUhOb2IzVnNaQ0J1YjNRZ2NtVnpjRzl1WkNCMGJ5QnRiM1Z6WlNCbGRtVnVkSE5jYmx4dUlDQWdJQ0FnTHlvZ1ptRnNiSE1nZEdoeWIzVm5hQ0FxTDF4dVhHNGdJQ0FnSUNCallYTmxJRlJQVUY5TlQxVlRSVjlQVlZRNlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5TlQxVlRSVjlQVmtWU09seHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlEwOU9WRVZZVkY5TlJVNVZPbHh1SUNBZ0lDQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlJRDBnVTNsdWRHaGxkR2xqVFc5MWMyVkZkbVZ1ZER0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBSU1FVYzZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUVVa0ZIWDBWT1JEcGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwUlNRVWRmUlU1VVJWSTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUVVa0ZIWDBWWVNWUTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUVVa0ZIWDB4RlFWWkZPbHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZSRkpCUjE5UFZrVlNPbHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZSRkpCUjE5VFZFRlNWRHBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMFJTVDFBNlhHNGdJQ0FnSUNBZ0lFVjJaVzUwUTI5dWMzUnlkV04wYjNJZ1BTQlRlVzUwYUdWMGFXTkVjbUZuUlhabGJuUTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOVVUMVZEU0Y5RFFVNURSVXc2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlVVDFWRFNGOUZUa1E2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlVVDFWRFNGOU5UMVpGT2x4dUlDQWdJQ0FnWTJGelpTQlVUMUJmVkU5VlEwaGZVMVJCVWxRNlhHNGdJQ0FnSUNBZ0lFVjJaVzUwUTI5dWMzUnlkV04wYjNJZ1BTQlRlVzUwYUdWMGFXTlViM1ZqYUVWMlpXNTBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZRVTVKVFVGVVNVOU9YMFZPUkRwY2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBGT1NVMUJWRWxQVGw5SlZFVlNRVlJKVDA0NlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5QlRrbE5RVlJKVDA1ZlUxUkJVbFE2WEc0Z0lDQWdJQ0FnSUVWMlpXNTBRMjl1YzNSeWRXTjBiM0lnUFNCVGVXNTBhR1YwYVdOQmJtbHRZWFJwYjI1RmRtVnVkRHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMVJTUVU1VFNWUkpUMDVmUlU1RU9seHVJQ0FnSUNBZ0lDQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eUlEMGdVM2x1ZEdobGRHbGpWSEpoYm5OcGRHbHZia1YyWlc1ME8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlUwTlNUMHhNT2x4dUlDQWdJQ0FnSUNCRmRtVnVkRU52Ym5OMGNuVmpkRzl5SUQwZ1UzbHVkR2hsZEdsalZVbEZkbVZ1ZER0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDFkSVJVVk1PbHh1SUNBZ0lDQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlJRDBnVTNsdWRHaGxkR2xqVjJobFpXeEZkbVZ1ZER0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBOUFVGazZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOURWVlE2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlRUVZOVVJUcGNiaUFnSUNBZ0lDQWdSWFpsYm5SRGIyNXpkSEoxWTNSdmNpQTlJRk41Ym5Sb1pYUnBZME5zYVhCaWIyRnlaRVYyWlc1ME8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlIwOVVYMUJQU1U1VVJWSmZRMEZRVkZWU1JUcGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgweFBVMVJmVUU5SlRsUkZVbDlEUVZCVVZWSkZPbHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZVRTlKVGxSRlVsOURRVTVEUlV3NlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5UVQwbE9WRVZTWDBSUFYwNDZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOVFUMGxPVkVWU1gwMVBWa1U2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlRVDBsT1ZFVlNYMDlWVkRwY2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDFCUFNVNVVSVkpmVDFaRlVqcGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgxQlBTVTVVUlZKZlZWQTZYRzRnSUNBZ0lDQWdJRVYyWlc1MFEyOXVjM1J5ZFdOMGIzSWdQU0JUZVc1MGFHVjBhV05RYjJsdWRHVnlSWFpsYm5RN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0d0dWIzZHVTRlJOVEZSdmNFeGxkbVZzVkhsd1pYTXVhVzVrWlhoUFppaDBiM0JNWlhabGJGUjVjR1VwSUQwOVBTQXRNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0oxTnBiWEJzWlVWMlpXNTBVR3gxWjJsdU9pQlZibWhoYm1Sc1pXUWdaWFpsYm5RZ2RIbHdaU3dnWUNWellDNGdWR2hwY3lCM1lYSnVhVzVuSUNjZ0t5QW5hWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1Snl3Z2RHOXdUR1YyWld4VWVYQmxLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdMeThnU0ZSTlRDQkZkbVZ1ZEhOY2JpQWdJQ0FnSUNBZ0x5OGdRSE5sWlNCb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOW9kRzFzTlM5cGJtUmxlQzVvZEcxc0kyVjJaVzUwY3kwd1hHNWNibHh1SUNBZ0lDQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlJRDBnVTNsdWRHaGxkR2xqUlhabGJuUTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmxkbVZ1ZENBOUlFVjJaVzUwUTI5dWMzUnlkV04wYjNJdVoyVjBVRzl2YkdWa0tHUnBjM0JoZEdOb1EyOXVabWxuTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFwTzF4dUlDQWdJR0ZqWTNWdGRXeGhkR1ZVZDI5UWFHRnpaVVJwYzNCaGRHTm9aWE1vWlhabGJuUXBPMXh1SUNBZ0lISmxkSFZ5YmlCbGRtVnVkRHRjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCVGNHVmphV1pwWlhNZ1lTQmtaWFJsY20xcGJtbHpkR2xqSUc5eVpHVnlhVzVuSUc5bUlHQkZkbVZ1ZEZCc2RXZHBibUJ6TGlCQklHTnZiblpsYm1sbGJuUWdkMkY1SUhSdlhHNGdLaUJ5WldGemIyNGdZV0p2ZFhRZ2NHeDFaMmx1Y3l3Z2QybDBhRzkxZENCb1lYWnBibWNnZEc4Z2NHRmphMkZuWlNCbGRtVnllU0J2Ym1VZ2IyWWdkR2hsYlM0Z1ZHaHBjMXh1SUNvZ2FYTWdZbVYwZEdWeUlIUm9ZVzRnYUdGMmFXNW5JSEJzZFdkcGJuTWdZbVVnYjNKa1pYSmxaQ0JwYmlCMGFHVWdjMkZ0WlNCdmNtUmxjaUIwYUdGMElIUm9aWGxjYmlBcUlHRnlaU0JwYm1wbFkzUmxaQ0JpWldOaGRYTmxJSFJvWVhRZ2IzSmtaWEpwYm1jZ2QyOTFiR1FnWW1VZ2FXNW1iSFZsYm1ObFpDQmllU0IwYUdVZ2NHRmphMkZuYVc1bklHOXlaR1Z5TGx4dUlDb2dZRkpsYzNCdmJtUmxja1YyWlc1MFVHeDFaMmx1WUNCdGRYTjBJRzlqWTNWeUlHSmxabTl5WlNCZ1UybHRjR3hsUlhabGJuUlFiSFZuYVc1Z0lITnZJSFJvWVhSY2JpQXFJSEJ5WlhabGJuUnBibWNnWkdWbVlYVnNkQ0J2YmlCbGRtVnVkSE1nYVhNZ1kyOXVkbVZ1YVdWdWRDQnBiaUJnVTJsdGNHeGxSWFpsYm5SUWJIVm5hVzVnSUdoaGJtUnNaWEp6TGx4dUlDb3ZYRzVjYm5aaGNpQkVUMDFGZG1WdWRGQnNkV2RwYms5eVpHVnlJRDBnV3lkU1pYTndiMjVrWlhKRmRtVnVkRkJzZFdkcGJpY3NJQ2RUYVcxd2JHVkZkbVZ1ZEZCc2RXZHBiaWNzSUNkRmJuUmxja3hsWVhabFJYWmxiblJRYkhWbmFXNG5MQ0FuUTJoaGJtZGxSWFpsYm5SUWJIVm5hVzRuTENBblUyVnNaV04wUlhabGJuUlFiSFZuYVc0bkxDQW5RbVZtYjNKbFNXNXdkWFJGZG1WdWRGQnNkV2RwYmlkZE8xeHVMeW9xWEc0Z0tpQkpibXBsWTNRZ2JXOWtkV3hsY3lCbWIzSWdjbVZ6YjJ4MmFXNW5JRVJQVFNCb2FXVnlZWEpqYUhrZ1lXNWtJSEJzZFdkcGJpQnZjbVJsY21sdVp5NWNiaUFxTDF4dVhHNXBibXBsWTNSRmRtVnVkRkJzZFdkcGJrOXlaR1Z5S0VSUFRVVjJaVzUwVUd4MVoybHVUM0prWlhJcE8xeHVjMlYwUTI5dGNHOXVaVzUwVkhKbFpTaG5aWFJHYVdKbGNrTjFjbkpsYm5SUWNtOXdjMFp5YjIxT2IyUmxKREVzSUdkbGRFbHVjM1JoYm1ObFJuSnZiVTV2WkdVa01Td2daMlYwVG05a1pVWnliMjFKYm5OMFlXNWpaU1F4S1R0Y2JpOHFLbHh1SUNvZ1UyOXRaU0JwYlhCdmNuUmhiblFnWlhabGJuUWdjR3gxWjJsdWN5QnBibU5zZFdSbFpDQmllU0JrWldaaGRXeDBJQ2gzYVhSb2IzVjBJR2hoZG1sdVp5QjBieUJ5WlhGMWFYSmxYRzRnS2lCMGFHVnRLUzVjYmlBcUwxeHVYRzVwYm1wbFkzUkZkbVZ1ZEZCc2RXZHBibk5DZVU1aGJXVW9lMXh1SUNCVGFXMXdiR1ZGZG1WdWRGQnNkV2RwYmpvZ1UybHRjR3hsUlhabGJuUlFiSFZuYVc0c1hHNGdJRVZ1ZEdWeVRHVmhkbVZGZG1WdWRGQnNkV2RwYmpvZ1JXNTBaWEpNWldGMlpVVjJaVzUwVUd4MVoybHVMRnh1SUNCRGFHRnVaMlZGZG1WdWRGQnNkV2RwYmpvZ1EyaGhibWRsUlhabGJuUlFiSFZuYVc0c1hHNGdJRk5sYkdWamRFVjJaVzUwVUd4MVoybHVPaUJUWld4bFkzUkZkbVZ1ZEZCc2RXZHBiaXhjYmlBZ1FtVm1iM0psU1c1d2RYUkZkbVZ1ZEZCc2RXZHBiam9nUW1WbWIzSmxTVzV3ZFhSRmRtVnVkRkJzZFdkcGJseHVmU2s3WEc1Y2JpOHZJRkJ5WldacGVDQnRaV0Z6ZFhKbGJXVnVkSE1nYzI4Z2RHaGhkQ0JwZENkeklIQnZjM05wWW14bElIUnZJR1pwYkhSbGNpQjBhR1Z0TGx4dUx5OGdURzl1WjJWeUlIQnlaV1pwZUdWeklHRnlaU0JvWVhKa0lIUnZJSEpsWVdRZ2FXNGdSR1YyVkc5dmJITXVYRzUyWVhJZ2NtVmhZM1JGYlc5cWFTQTlJRndpWEZ4MU1qWTVRbHdpTzF4dWRtRnlJSGRoY201cGJtZEZiVzlxYVNBOUlGd2lYRngxTWpaRU5Gd2lPMXh1ZG1GeUlITjFjSEJ2Y25SelZYTmxjbFJwYldsdVp5QTlJSFI1Y0dWdlppQndaWEptYjNKdFlXNWpaU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY2dKaVlnZEhsd1pXOW1JSEJsY21admNtMWhibU5sTG0xaGNtc2dQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdkSGx3Wlc5bUlIQmxjbVp2Y20xaGJtTmxMbU5zWldGeVRXRnlhM01nUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JSEJsY21admNtMWhibU5sTG0xbFlYTjFjbVVnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JSEJsY21admNtMWhibU5sTG1Oc1pXRnlUV1ZoYzNWeVpYTWdQVDA5SUNkbWRXNWpkR2x2YmljN0lDOHZJRXRsWlhBZ2RISmhZMnNnYjJZZ1kzVnljbVZ1ZENCbWFXSmxjaUJ6YnlCMGFHRjBJSGRsSUd0dWIzY2dkR2hsSUhCaGRHZ2dkRzhnZFc1M2FXNWtJRzl1SUhCaGRYTmxMbHh1THk4Z1ZFOUVUem9nZEdocGN5QnNiMjlyY3lCMGFHVWdjMkZ0WlNCaGN5QnVaWGgwVlc1cGRFOW1WMjl5YXlCcGJpQnpZMmhsWkhWc1pYSXVJRU5oYmlCM1pTQjFibWxtZVNCMGFHVnRQMXh1WEc1MllYSWdZM1Z5Y21WdWRFWnBZbVZ5SUQwZ2JuVnNiRHNnTHk4Z1NXWWdkMlVuY21VZ2FXNGdkR2hsSUcxcFpHUnNaU0J2WmlCMWMyVnlJR052WkdVc0lIZG9hV05vSUdacFltVnlJR0Z1WkNCdFpYUm9iMlFnYVhNZ2FYUS9YRzR2THlCU1pYVnphVzVuSUdCamRYSnlaVzUwUm1saVpYSmdJSGR2ZFd4a0lHSmxJR052Ym1aMWMybHVaeUJtYjNJZ2RHaHBjeUJpWldOaGRYTmxJSFZ6WlhJZ1kyOWtaU0JtYVdKbGNseHVMeThnWTJGdUlHTm9ZVzVuWlNCa2RYSnBibWNnWTI5dGJXbDBJSEJvWVhObElIUnZieXdnWW5WMElIZGxJR1J2YmlkMElHNWxaV1FnZEc4Z2RXNTNhVzVrSUdsMElDaHphVzVqWlZ4dUx5OGdiR2xtWldONVkyeGxjeUJwYmlCMGFHVWdZMjl0YldsMElIQm9ZWE5sSUdSdmJpZDBJSEpsYzJWdFlteGxJR0VnZEhKbFpTa3VYRzVjYm5aaGNpQmpkWEp5Wlc1MFVHaGhjMlVnUFNCdWRXeHNPMXh1ZG1GeUlHTjFjbkpsYm5SUWFHRnpaVVpwWW1WeUlEMGdiblZzYkRzZ0x5OGdSR2xrSUd4cFptVmplV05zWlNCb2IyOXJJSE5qYUdWa2RXeGxJR0Z1SUhWd1pHRjBaVDhnVkdocGN5QnBjeUJ2Wm5SbGJpQmhJSEJsY21admNtMWhibU5sSUhCeWIySnNaVzBzWEc0dkx5QnpieUIzWlNCM2FXeHNJR3RsWlhBZ2RISmhZMnNnYjJZZ2FYUXNJR0Z1WkNCcGJtTnNkV1JsSUdsMElHbHVJSFJvWlNCeVpYQnZjblF1WEc0dkx5QlVjbUZqYXlCamIyMXRhWFJ6SUdOaGRYTmxaQ0JpZVNCallYTmpZV1JwYm1jZ2RYQmtZWFJsY3k1Y2JseHVkbUZ5SUdselEyOXRiV2wwZEdsdVp5QTlJR1poYkhObE8xeHVkbUZ5SUdoaGMxTmphR1ZrZFd4bFpGVndaR0YwWlVsdVEzVnljbVZ1ZEVOdmJXMXBkQ0E5SUdaaGJITmxPMXh1ZG1GeUlHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRGQm9ZWE5sSUQwZ1ptRnNjMlU3WEc1MllYSWdZMjl0YldsMFEyOTFiblJKYmtOMWNuSmxiblJYYjNKclRHOXZjQ0E5SURBN1hHNTJZWElnWldabVpXTjBRMjkxYm5SSmJrTjFjbkpsYm5SRGIyMXRhWFFnUFNBd08xeHVMeThnZEc4Z1lYWnZhV1FnYzNSeVpYUmphQ0IwYUdVZ1kyOXRiV2wwSUhCb1lYTmxJSGRwZEdnZ2JXVmhjM1Z5WlcxbGJuUWdiM1psY21obFlXUXVYRzVjYm5aaGNpQnNZV0psYkhOSmJrTjFjbkpsYm5SRGIyMXRhWFFnUFNCdVpYY2dVMlYwS0NrN1hHNWNiblpoY2lCbWIzSnRZWFJOWVhKclRtRnRaU0E5SUdaMWJtTjBhVzl1SUNodFlYSnJUbUZ0WlNrZ2UxeHVJQ0J5WlhSMWNtNGdjbVZoWTNSRmJXOXFhU0FySUZ3aUlGd2lJQ3NnYldGeWEwNWhiV1U3WEc1OU8xeHVYRzUyWVhJZ1ptOXliV0YwVEdGaVpXd2dQU0JtZFc1amRHbHZiaUFvYkdGaVpXd3NJSGRoY201cGJtY3BJSHRjYmlBZ2RtRnlJSEJ5WldacGVDQTlJSGRoY201cGJtY2dQeUIzWVhKdWFXNW5SVzF2YW1rZ0t5QmNJaUJjSWlBNklISmxZV04wUlcxdmFta2dLeUJjSWlCY0lqdGNiaUFnZG1GeUlITjFabVpwZUNBOUlIZGhjbTVwYm1jZ1B5QmNJaUJYWVhKdWFXNW5PaUJjSWlBcklIZGhjbTVwYm1jZ09pQW5KenRjYmlBZ2NtVjBkWEp1SUZ3aVhDSWdLeUJ3Y21WbWFYZ2dLeUJzWVdKbGJDQXJJSE4xWm1acGVEdGNibjA3WEc1Y2JuWmhjaUJpWldkcGJrMWhjbXNnUFNCbWRXNWpkR2x2YmlBb2JXRnlhMDVoYldVcElIdGNiaUFnY0dWeVptOXliV0Z1WTJVdWJXRnlheWhtYjNKdFlYUk5ZWEpyVG1GdFpTaHRZWEpyVG1GdFpTa3BPMXh1ZlR0Y2JseHVkbUZ5SUdOc1pXRnlUV0Z5YXlBOUlHWjFibU4wYVc5dUlDaHRZWEpyVG1GdFpTa2dlMXh1SUNCd1pYSm1iM0p0WVc1alpTNWpiR1ZoY2sxaGNtdHpLR1p2Y20xaGRFMWhjbXRPWVcxbEtHMWhjbXRPWVcxbEtTazdYRzU5TzF4dVhHNTJZWElnWlc1a1RXRnlheUE5SUdaMWJtTjBhVzl1SUNoc1lXSmxiQ3dnYldGeWEwNWhiV1VzSUhkaGNtNXBibWNwSUh0Y2JpQWdkbUZ5SUdadmNtMWhkSFJsWkUxaGNtdE9ZVzFsSUQwZ1ptOXliV0YwVFdGeWEwNWhiV1VvYldGeWEwNWhiV1VwTzF4dUlDQjJZWElnWm05eWJXRjBkR1ZrVEdGaVpXd2dQU0JtYjNKdFlYUk1ZV0psYkNoc1lXSmxiQ3dnZDJGeWJtbHVaeWs3WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J3WlhKbWIzSnRZVzVqWlM1dFpXRnpkWEpsS0dadmNtMWhkSFJsWkV4aFltVnNMQ0JtYjNKdFlYUjBaV1JOWVhKclRtRnRaU2s3WEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTMwZ0x5OGdTV1lnY0hKbGRtbHZkWE1nYldGeWF5QjNZWE1nYldsemMybHVaeUJtYjNJZ2MyOXRaU0J5WldGemIyNHNJSFJvYVhNZ2QybHNiQ0IwYUhKdmR5NWNiaUFnTHk4Z1ZHaHBjeUJqYjNWc1pDQnZibXg1SUdoaGNIQmxiaUJwWmlCU1pXRmpkQ0JqY21GemFHVmtJR2x1SUdGdUlIVnVaWGh3WldOMFpXUWdjR3hoWTJVZ1pXRnliR2xsY2k1Y2JpQWdMeThnUkc5dUozUWdjR2xzWlNCdmJpQjNhWFJvSUcxdmNtVWdaWEp5YjNKekxseHVJQ0F2THlCRGJHVmhjaUJ0WVhKcmN5QnBiVzFsWkdsaGRHVnNlU0IwYnlCaGRtOXBaQ0JuY205M2FXNW5JR0oxWm1abGNpNWNibHh1WEc0Z0lIQmxjbVp2Y20xaGJtTmxMbU5zWldGeVRXRnlhM01vWm05eWJXRjBkR1ZrVFdGeWEwNWhiV1VwTzF4dUlDQndaWEptYjNKdFlXNWpaUzVqYkdWaGNrMWxZWE4xY21WektHWnZjbTFoZEhSbFpFeGhZbVZzS1R0Y2JuMDdYRzVjYm5aaGNpQm5aWFJHYVdKbGNrMWhjbXRPWVcxbElEMGdablZ1WTNScGIyNGdLR3hoWW1Wc0xDQmtaV0oxWjBsRUtTQjdYRzRnSUhKbGRIVnliaUJzWVdKbGJDQXJJRndpSUNnalhDSWdLeUJrWldKMVowbEVJQ3NnWENJcFhDSTdYRzU5TzF4dVhHNTJZWElnWjJWMFJtbGlaWEpNWVdKbGJDQTlJR1oxYm1OMGFXOXVJQ2hqYjIxd2IyNWxiblJPWVcxbExDQnBjMDF2ZFc1MFpXUXNJSEJvWVhObEtTQjdYRzRnSUdsbUlDaHdhR0Z6WlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGUm9aWE5sSUdGeVpTQmpiMjF3YjNOcGRHVWdZMjl0Y0c5dVpXNTBJSFJ2ZEdGc0lIUnBiV1VnYldWaGMzVnlaVzFsYm5SekxseHVJQ0FnSUhKbGRIVnliaUJqYjIxd2IyNWxiblJPWVcxbElDc2dYQ0lnVzF3aUlDc2dLR2x6VFc5MWJuUmxaQ0EvSUNkMWNHUmhkR1VuSURvZ0oyMXZkVzUwSnlrZ0t5QmNJbDFjSWp0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QkRiMjF3YjNOcGRHVWdZMjl0Y0c5dVpXNTBJRzFsZEdodlpITXVYRzRnSUNBZ2NtVjBkWEp1SUdOdmJYQnZibVZ1ZEU1aGJXVWdLeUJjSWk1Y0lpQXJJSEJvWVhObE8xeHVJQ0I5WEc1OU8xeHVYRzUyWVhJZ1ltVm5hVzVHYVdKbGNrMWhjbXNnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElzSUhCb1lYTmxLU0I3WEc0Z0lIWmhjaUJqYjIxd2IyNWxiblJPWVcxbElEMGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaG1hV0psY2k1MGVYQmxLU0I4ZkNBblZXNXJibTkzYmljN1hHNGdJSFpoY2lCa1pXSjFaMGxFSUQwZ1ptbGlaWEl1WDJSbFluVm5TVVE3WEc0Z0lIWmhjaUJwYzAxdmRXNTBaV1FnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3c3WEc0Z0lIWmhjaUJzWVdKbGJDQTlJR2RsZEVacFltVnlUR0ZpWld3b1kyOXRjRzl1Wlc1MFRtRnRaU3dnYVhOTmIzVnVkR1ZrTENCd2FHRnpaU2s3WEc1Y2JpQWdhV1lnS0dselEyOXRiV2wwZEdsdVp5QW1KaUJzWVdKbGJITkpia04xY25KbGJuUkRiMjF0YVhRdWFHRnpLR3hoWW1Wc0tTa2dlMXh1SUNBZ0lDOHZJRVIxY21sdVp5QjBhR1VnWTI5dGJXbDBJSEJvWVhObExDQjNaU0JrYjI0bmRDQnphRzkzSUdSMWNHeHBZMkYwWlNCc1lXSmxiSE1nWW1WallYVnpaVnh1SUNBZ0lDOHZJSFJvWlhKbElHbHpJR0VnWm1sNFpXUWdiM1psY21obFlXUWdabTl5SUdWMlpYSjVJRzFsWVhOMWNtVnRaVzUwTENCaGJtUWdkMlVnWkc5dUozUmNiaUFnSUNBdkx5QjNZVzUwSUhSdklITjBjbVYwWTJnZ2RHaGxJR052YlcxcGRDQndhR0Z6WlNCaVpYbHZibVFnYm1WalpYTnpZWEo1TGx4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lHeGhZbVZzYzBsdVEzVnljbVZ1ZEVOdmJXMXBkQzVoWkdRb2JHRmlaV3dwTzF4dUlDQjJZWElnYldGeWEwNWhiV1VnUFNCblpYUkdhV0psY2sxaGNtdE9ZVzFsS0d4aFltVnNMQ0JrWldKMVowbEVLVHRjYmlBZ1ltVm5hVzVOWVhKcktHMWhjbXRPWVcxbEtUdGNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hHNTlPMXh1WEc1MllYSWdZMnhsWVhKR2FXSmxjazFoY21zZ1BTQm1kVzVqZEdsdmJpQW9abWxpWlhJc0lIQm9ZWE5sS1NCN1hHNGdJSFpoY2lCamIyMXdiMjVsYm5ST1lXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2htYVdKbGNpNTBlWEJsS1NCOGZDQW5WVzVyYm05M2JpYzdYRzRnSUhaaGNpQmtaV0oxWjBsRUlEMGdabWxpWlhJdVgyUmxZblZuU1VRN1hHNGdJSFpoY2lCcGMwMXZkVzUwWldRZ1BTQm1hV0psY2k1aGJIUmxjbTVoZEdVZ0lUMDlJRzUxYkd3N1hHNGdJSFpoY2lCc1lXSmxiQ0E5SUdkbGRFWnBZbVZ5VEdGaVpXd29ZMjl0Y0c5dVpXNTBUbUZ0WlN3Z2FYTk5iM1Z1ZEdWa0xDQndhR0Z6WlNrN1hHNGdJSFpoY2lCdFlYSnJUbUZ0WlNBOUlHZGxkRVpwWW1WeVRXRnlhMDVoYldVb2JHRmlaV3dzSUdSbFluVm5TVVFwTzF4dUlDQmpiR1ZoY2sxaGNtc29iV0Z5YTA1aGJXVXBPMXh1ZlR0Y2JseHVkbUZ5SUdWdVpFWnBZbVZ5VFdGeWF5QTlJR1oxYm1OMGFXOXVJQ2htYVdKbGNpd2djR2hoYzJVc0lIZGhjbTVwYm1jcElIdGNiaUFnZG1GeUlHTnZiWEJ2Ym1WdWRFNWhiV1VnUFNCblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0dacFltVnlMblI1Y0dVcElIeDhJQ2RWYm10dWIzZHVKenRjYmlBZ2RtRnlJR1JsWW5WblNVUWdQU0JtYVdKbGNpNWZaR1ZpZFdkSlJEdGNiaUFnZG1GeUlHbHpUVzkxYm5SbFpDQTlJR1pwWW1WeUxtRnNkR1Z5Ym1GMFpTQWhQVDBnYm5Wc2JEdGNiaUFnZG1GeUlHeGhZbVZzSUQwZ1oyVjBSbWxpWlhKTVlXSmxiQ2hqYjIxd2IyNWxiblJPWVcxbExDQnBjMDF2ZFc1MFpXUXNJSEJvWVhObEtUdGNiaUFnZG1GeUlHMWhjbXRPWVcxbElEMGdaMlYwUm1saVpYSk5ZWEpyVG1GdFpTaHNZV0psYkN3Z1pHVmlkV2RKUkNrN1hHNGdJR1Z1WkUxaGNtc29iR0ZpWld3c0lHMWhjbXRPWVcxbExDQjNZWEp1YVc1bktUdGNibjA3WEc1Y2JuWmhjaUJ6YUc5MWJHUkpaMjV2Y21WR2FXSmxjaUE5SUdaMWJtTjBhVzl1SUNobWFXSmxjaWtnZTF4dUlDQXZMeUJJYjNOMElHTnZiWEJ2Ym1WdWRITWdjMmh2ZFd4a0lHSmxJSE5yYVhCd1pXUWdhVzRnZEdobElIUnBiV1ZzYVc1bExseHVJQ0F2THlCWFpTQmpiM1ZzWkNCamFHVmpheUIwZVhCbGIyWWdabWxpWlhJdWRIbHdaU3dnWW5WMElHUnZaWE1nZEdocGN5QjNiM0pySUhkcGRHZ2dVazQvWEc0Z0lITjNhWFJqYUNBb1ptbGlaWEl1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JJYjNOMFVtOXZkRHBjYmlBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ1kyRnpaU0JJYjNOMFZHVjRkRHBjYmlBZ0lDQmpZWE5sSUVodmMzUlFiM0owWVd3NlhHNGdJQ0FnWTJGelpTQkdjbUZuYldWdWREcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUlFjbTkyYVdSbGNqcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUkRiMjV6ZFcxbGNqcGNiaUFnSUNCallYTmxJRTF2WkdVNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JuMDdYRzVjYm5aaGNpQmpiR1ZoY2xCbGJtUnBibWRRYUdGelpVMWxZWE4xY21WdFpXNTBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0JwWmlBb1kzVnljbVZ1ZEZCb1lYTmxJQ0U5UFNCdWRXeHNJQ1ltSUdOMWNuSmxiblJRYUdGelpVWnBZbVZ5SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWTJ4bFlYSkdhV0psY2sxaGNtc29ZM1Z5Y21WdWRGQm9ZWE5sUm1saVpYSXNJR04xY25KbGJuUlFhR0Z6WlNrN1hHNGdJSDFjYmx4dUlDQmpkWEp5Wlc1MFVHaGhjMlZHYVdKbGNpQTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUlFhR0Z6WlNBOUlHNTFiR3c3WEc0Z0lHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRGQm9ZWE5sSUQwZ1ptRnNjMlU3WEc1OU8xeHVYRzUyWVhJZ2NHRjFjMlZVYVcxbGNuTWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQzh2SUZOMGIzQnpJR0ZzYkNCamRYSnlaVzUwYkhrZ1lXTjBhWFpsSUcxbFlYTjFjbVZ0Wlc1MGN5QnpieUIwYUdGMElIUm9aWGtnWTJGdUlHSmxJSEpsYzNWdFpXUmNiaUFnTHk4Z2FXWWdkMlVnWTI5dWRHbHVkV1VnYVc0Z1lTQnNZWFJsY2lCa1pXWmxjbkpsWkNCc2IyOXdJR1p5YjIwZ2RHaGxJSE5oYldVZ2RXNXBkQ0J2WmlCM2IzSnJMbHh1SUNCMllYSWdabWxpWlhJZ1BTQmpkWEp5Wlc1MFJtbGlaWEk3WEc1Y2JpQWdkMmhwYkdVZ0tHWnBZbVZ5S1NCN1hHNGdJQ0FnYVdZZ0tHWnBZbVZ5TGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5LU0I3WEc0Z0lDQWdJQ0JsYm1SR2FXSmxjazFoY21zb1ptbGlaWElzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdacFltVnlJRDBnWm1saVpYSXVjbVYwZFhKdU8xeHVJQ0I5WEc1OU8xeHVYRzUyWVhJZ2NtVnpkVzFsVkdsdFpYSnpVbVZqZFhKemFYWmxiSGtnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdhV1lnS0dacFltVnlMbkpsZEhWeWJpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxjM1Z0WlZScGJXVnljMUpsWTNWeWMybDJaV3g1S0dacFltVnlMbkpsZEhWeWJpazdYRzRnSUgxY2JseHVJQ0JwWmlBb1ptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY3BJSHRjYmlBZ0lDQmlaV2RwYmtacFltVnlUV0Z5YXlobWFXSmxjaXdnYm5Wc2JDazdYRzRnSUgxY2JuMDdYRzVjYm5aaGNpQnlaWE4xYldWVWFXMWxjbk1nUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUM4dklGSmxjM1Z0WlhNZ1lXeHNJRzFsWVhOMWNtVnRaVzUwY3lCMGFHRjBJSGRsY21VZ1lXTjBhWFpsSUdSMWNtbHVaeUIwYUdVZ2JHRnpkQ0JrWldabGNuSmxaQ0JzYjI5d0xseHVJQ0JwWmlBb1kzVnljbVZ1ZEVacFltVnlJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdjbVZ6ZFcxbFZHbHRaWEp6VW1WamRYSnphWFpsYkhrb1kzVnljbVZ1ZEVacFltVnlLVHRjYmlBZ2ZWeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2NtVmpiM0prUldabVpXTjBLQ2tnZTF4dUlDQjdYRzRnSUNBZ1pXWm1aV04wUTI5MWJuUkpia04xY25KbGJuUkRiMjF0YVhRckt6dGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjbVZqYjNKa1UyTm9aV1IxYkdWVmNHUmhkR1VvS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvYVhORGIyMXRhWFIwYVc1bktTQjdYRzRnSUNBZ0lDQm9ZWE5UWTJobFpIVnNaV1JWY0dSaGRHVkpia04xY25KbGJuUkRiMjF0YVhRZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamRYSnlaVzUwVUdoaGMyVWdJVDA5SUc1MWJHd2dKaVlnWTNWeWNtVnVkRkJvWVhObElDRTlQU0FuWTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSnlBbUppQmpkWEp5Wlc1MFVHaGhjMlVnSVQwOUlDZGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCekp5a2dlMXh1SUNBZ0lDQWdhR0Z6VTJOb1pXUjFiR1ZrVlhCa1lYUmxTVzVEZFhKeVpXNTBVR2hoYzJVZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYzNSaGNuUlhiM0pyVkdsdFpYSW9abWxpWlhJcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNnaGMzVndjRzl5ZEhOVmMyVnlWR2x0YVc1bklIeDhJSE5vYjNWc1pFbG5ibTl5WlVacFltVnlLR1pwWW1WeUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdTV1lnZDJVZ2NHRjFjMlVzSUhSb2FYTWdhWE1nZEdobElHWnBZbVZ5SUhSdklIVnVkMmx1WkNCbWNtOXRMbHh1WEc1Y2JpQWdJQ0JqZFhKeVpXNTBSbWxpWlhJZ1BTQm1hV0psY2p0Y2JseHVJQ0FnSUdsbUlDZ2hZbVZuYVc1R2FXSmxjazFoY21zb1ptbGlaWElzSUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY2dQU0IwY25WbE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQmpZVzVqWld4WGIzSnJWR2x0WlhJb1ptbGlaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYzNWd2NHOXlkSE5WYzJWeVZHbHRhVzVuSUh4OElITm9iM1ZzWkVsbmJtOXlaVVpwWW1WeUtHWnBZbVZ5S1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDBnTHk4Z1VtVnRaVzFpWlhJZ2QyVWdjMmh2ZFd4a2JpZDBJR052YlhCc1pYUmxJRzFsWVhOMWNtVnRaVzUwSUdadmNpQjBhR2x6SUdacFltVnlMbHh1SUNBZ0lDOHZJRTkwYUdWeWQybHpaU0JtYkdGdFpXTm9ZWEowSUhkcGJHd2dZbVVnWkdWbGNDQmxkbVZ1SUdadmNpQnpiV0ZzYkNCMWNHUmhkR1Z6TGx4dVhHNWNiaUFnSUNCbWFXSmxjaTVmWkdWaWRXZEpjME4xY25KbGJuUnNlVlJwYldsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUdOc1pXRnlSbWxpWlhKTllYSnJLR1pwWW1WeUxDQnVkV3hzS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MzUnZjRmR2Y210VWFXMWxjaWhtYVdKbGNpa2dlMXh1SUNCN1hHNGdJQ0FnYVdZZ0tDRnpkWEJ3YjNKMGMxVnpaWEpVYVcxcGJtY2dmSHdnYzJodmRXeGtTV2R1YjNKbFJtbGlaWElvWm1saVpYSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQXZMeUJKWmlCM1pTQndZWFZ6WlN3Z2FYUnpJSEJoY21WdWRDQnBjeUIwYUdVZ1ptbGlaWElnZEc4Z2RXNTNhVzVrSUdaeWIyMHVYRzVjYmx4dUlDQWdJR04xY25KbGJuUkdhV0psY2lBOUlHWnBZbVZ5TG5KbGRIVnlianRjYmx4dUlDQWdJR2xtSUNnaFptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWFXSmxjaTVmWkdWaWRXZEpjME4xY25KbGJuUnNlVlJwYldsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUdWdVpFWnBZbVZ5VFdGeWF5aG1hV0psY2l3Z2JuVnNiQ3dnYm5Wc2JDazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSE4wYjNCR1lXbHNaV1JYYjNKclZHbHRaWElvWm1saVpYSXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2hjM1Z3Y0c5eWRITlZjMlZ5VkdsdGFXNW5JSHg4SUhOb2IzVnNaRWxuYm05eVpVWnBZbVZ5S0dacFltVnlLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnU1dZZ2QyVWdjR0YxYzJVc0lHbDBjeUJ3WVhKbGJuUWdhWE1nZEdobElHWnBZbVZ5SUhSdklIVnVkMmx1WkNCbWNtOXRMbHh1WEc1Y2JpQWdJQ0JqZFhKeVpXNTBSbWxpWlhJZ1BTQm1hV0psY2k1eVpYUjFjbTQ3WEc1Y2JpQWdJQ0JwWmlBb0lXWnBZbVZ5TGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCMllYSWdkMkZ5Ym1sdVp5QTlJR1pwWW1WeUxuUmhaeUE5UFQwZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RZ1B5QW5VbVZ1WkdWeWFXNW5JSGRoY3lCemRYTndaVzVrWldRbklEb2dKMEZ1SUdWeWNtOXlJSGRoY3lCMGFISnZkMjRnYVc1emFXUmxJSFJvYVhNZ1pYSnliM0lnWW05MWJtUmhjbmtuTzF4dUlDQWdJR1Z1WkVacFltVnlUV0Z5YXlobWFXSmxjaXdnYm5Wc2JDd2dkMkZ5Ym1sdVp5azdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSE4wWVhKMFVHaGhjMlZVYVcxbGNpaG1hV0psY2l3Z2NHaGhjMlVwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYzNWd2NHOXlkSE5WYzJWeVZHbHRhVzVuS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMnhsWVhKUVpXNWthVzVuVUdoaGMyVk5aV0Z6ZFhKbGJXVnVkQ2dwTzF4dVhHNGdJQ0FnYVdZZ0tDRmlaV2RwYmtacFltVnlUV0Z5YXlobWFXSmxjaXdnY0doaGMyVXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kzVnljbVZ1ZEZCb1lYTmxSbWxpWlhJZ1BTQm1hV0psY2p0Y2JpQWdJQ0JqZFhKeVpXNTBVR2hoYzJVZ1BTQndhR0Z6WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MzUnZjRkJvWVhObFZHbHRaWElvS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvSVhOMWNIQnZjblJ6VlhObGNsUnBiV2x1WnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamRYSnlaVzUwVUdoaGMyVWdJVDA5SUc1MWJHd2dKaVlnWTNWeWNtVnVkRkJvWVhObFJtbGlaWElnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNZWEp1YVc1bklEMGdhR0Z6VTJOb1pXUjFiR1ZrVlhCa1lYUmxTVzVEZFhKeVpXNTBVR2hoYzJVZ1B5QW5VMk5vWldSMWJHVmtJR0VnWTJGelkyRmthVzVuSUhWd1pHRjBaU2NnT2lCdWRXeHNPMXh1SUNBZ0lDQWdaVzVrUm1saVpYSk5ZWEpyS0dOMWNuSmxiblJRYUdGelpVWnBZbVZ5TENCamRYSnlaVzUwVUdoaGMyVXNJSGRoY201cGJtY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTjFjbkpsYm5SUWFHRnpaU0E5SUc1MWJHdzdYRzRnSUNBZ1kzVnljbVZ1ZEZCb1lYTmxSbWxpWlhJZ1BTQnVkV3hzTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCemRHRnlkRmR2Y210TWIyOXdWR2x0WlhJb2JtVjRkRlZ1YVhSUFpsZHZjbXNwSUh0Y2JpQWdlMXh1SUNBZ0lHTjFjbkpsYm5SR2FXSmxjaUE5SUc1bGVIUlZibWwwVDJaWGIzSnJPMXh1WEc0Z0lDQWdhV1lnS0NGemRYQndiM0owYzFWelpYSlVhVzFwYm1jcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjIxdGFYUkRiM1Z1ZEVsdVEzVnljbVZ1ZEZkdmNtdE1iMjl3SUQwZ01Ec2dMeThnVkdocGN5QnBjeUIwYjNBZ2JHVjJaV3dnWTJGc2JDNWNiaUFnSUNBdkx5QkJibmtnYjNSb1pYSWdiV1ZoYzNWeVpXMWxiblJ6SUdGeVpTQndaWEptYjNKdFpXUWdkMmwwYUdsdUxseHVYRzRnSUNBZ1ltVm5hVzVOWVhKcktDY29VbVZoWTNRZ1ZISmxaU0JTWldOdmJtTnBiR2xoZEdsdmJpa25LVHNnTHk4Z1VtVnpkVzFsSUdGdWVTQnRaV0Z6ZFhKbGJXVnVkSE1nZEdoaGRDQjNaWEpsSUdsdUlIQnliMmR5WlhOeklHUjFjbWx1WnlCMGFHVWdiR0Z6ZENCc2IyOXdMbHh1WEc0Z0lDQWdjbVZ6ZFcxbFZHbHRaWEp6S0NrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITjBiM0JYYjNKclRHOXZjRlJwYldWeUtHbHVkR1Z5Y25Wd2RHVmtRbmtzSUdScFpFTnZiWEJzWlhSbFVtOXZkQ2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0Z6ZFhCd2IzSjBjMVZ6WlhKVWFXMXBibWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnZDJGeWJtbHVaeUE5SUc1MWJHdzdYRzVjYmlBZ0lDQnBaaUFvYVc1MFpYSnlkWEIwWldSQ2VTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0dsdWRHVnljblZ3ZEdWa1Fua3VkR0ZuSUQwOVBTQkliM04wVW05dmRDa2dlMXh1SUNBZ0lDQWdJQ0IzWVhKdWFXNW5JRDBnSjBFZ2RHOXdMV3hsZG1Wc0lIVndaR0YwWlNCcGJuUmxjbkoxY0hSbFpDQjBhR1VnY0hKbGRtbHZkWE1nY21WdVpHVnlKenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCamIyMXdiMjVsYm5ST1lXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hwYm5SbGNuSjFjSFJsWkVKNUxuUjVjR1VwSUh4OElDZFZibXR1YjNkdUp6dGNiaUFnSUNBZ0lDQWdkMkZ5Ym1sdVp5QTlJRndpUVc0Z2RYQmtZWFJsSUhSdklGd2lJQ3NnWTI5dGNHOXVaVzUwVG1GdFpTQXJJRndpSUdsdWRHVnljblZ3ZEdWa0lIUm9aU0J3Y21WMmFXOTFjeUJ5Wlc1a1pYSmNJanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR052YlcxcGRFTnZkVzUwU1c1RGRYSnlaVzUwVjI5eWEweHZiM0FnUGlBeEtTQjdYRzRnSUNBZ0lDQjNZWEp1YVc1bklEMGdKMVJvWlhKbElIZGxjbVVnWTJGelkyRmthVzVuSUhWd1pHRjBaWE1uTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052YlcxcGRFTnZkVzUwU1c1RGRYSnlaVzUwVjI5eWEweHZiM0FnUFNBd08xeHVJQ0FnSUhaaGNpQnNZV0psYkNBOUlHUnBaRU52YlhCc1pYUmxVbTl2ZENBL0lDY29VbVZoWTNRZ1ZISmxaU0JTWldOdmJtTnBiR2xoZEdsdmJqb2dRMjl0Y0d4bGRHVmtJRkp2YjNRcEp5QTZJQ2NvVW1WaFkzUWdWSEpsWlNCU1pXTnZibU5wYkdsaGRHbHZiam9nV1dsbGJHUmxaQ2tuT3lBdkx5QlFZWFZ6WlNCaGJua2diV1ZoYzNWeVpXMWxiblJ6SUhWdWRHbHNJSFJvWlNCdVpYaDBJR3h2YjNBdVhHNWNiaUFnSUNCd1lYVnpaVlJwYldWeWN5Z3BPMXh1SUNBZ0lHVnVaRTFoY21zb2JHRmlaV3dzSUNjb1VtVmhZM1FnVkhKbFpTQlNaV052Ym1OcGJHbGhkR2x2YmlrbkxDQjNZWEp1YVc1bktUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjM1JoY25SRGIyMXRhWFJVYVcxbGNpZ3BJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2hjM1Z3Y0c5eWRITlZjMlZ5VkdsdGFXNW5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FYTkRiMjF0YVhSMGFXNW5JRDBnZEhKMVpUdGNiaUFnSUNCb1lYTlRZMmhsWkhWc1pXUlZjR1JoZEdWSmJrTjFjbkpsYm5SRGIyMXRhWFFnUFNCbVlXeHpaVHRjYmlBZ0lDQnNZV0psYkhOSmJrTjFjbkpsYm5SRGIyMXRhWFF1WTJ4bFlYSW9LVHRjYmlBZ0lDQmlaV2RwYmsxaGNtc29KeWhEYjIxdGFYUjBhVzVuSUVOb1lXNW5aWE1wSnlrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITjBiM0JEYjIxdGFYUlVhVzFsY2lncElIdGNiaUFnZTF4dUlDQWdJR2xtSUNnaGMzVndjRzl5ZEhOVmMyVnlWR2x0YVc1bktTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlIZGhjbTVwYm1jZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnYVdZZ0tHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRFTnZiVzFwZENrZ2UxeHVJQ0FnSUNBZ2QyRnlibWx1WnlBOUlDZE1hV1psWTNsamJHVWdhRzl2YXlCelkyaGxaSFZzWldRZ1lTQmpZWE5qWVdScGJtY2dkWEJrWVhSbEp6dGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnZiVzFwZEVOdmRXNTBTVzVEZFhKeVpXNTBWMjl5YTB4dmIzQWdQaUF3S1NCN1hHNGdJQ0FnSUNCM1lYSnVhVzVuSUQwZ0owTmhkWE5sWkNCaWVTQmhJR05oYzJOaFpHbHVaeUIxY0dSaGRHVWdhVzRnWldGeWJHbGxjaUJqYjIxdGFYUW5PMXh1SUNBZ0lIMWNibHh1SUNBZ0lHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRFTnZiVzFwZENBOUlHWmhiSE5sTzF4dUlDQWdJR052YlcxcGRFTnZkVzUwU1c1RGRYSnlaVzUwVjI5eWEweHZiM0FyS3p0Y2JpQWdJQ0JwYzBOdmJXMXBkSFJwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWVdKbGJITkpia04xY25KbGJuUkRiMjF0YVhRdVkyeGxZWElvS1R0Y2JpQWdJQ0JsYm1STllYSnJLQ2NvUTI5dGJXbDBkR2x1WnlCRGFHRnVaMlZ6S1Njc0lDY29RMjl0YldsMGRHbHVaeUJEYUdGdVoyVnpLU2NzSUhkaGNtNXBibWNwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCemRHRnlkRU52YlcxcGRGTnVZWEJ6YUc5MFJXWm1aV04wYzFScGJXVnlLQ2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0Z6ZFhCd2IzSjBjMVZ6WlhKVWFXMXBibWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxabVpsWTNSRGIzVnVkRWx1UTNWeWNtVnVkRU52YlcxcGRDQTlJREE3WEc0Z0lDQWdZbVZuYVc1TllYSnJLQ2NvUTI5dGJXbDBkR2x1WnlCVGJtRndjMmh2ZENCRlptWmxZM1J6S1NjcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQnpkRzl3UTI5dGJXbDBVMjVoY0hOb2IzUkZabVpsWTNSelZHbHRaWElvS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvSVhOMWNIQnZjblJ6VlhObGNsUnBiV2x1WnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCamIzVnVkQ0E5SUdWbVptVmpkRU52ZFc1MFNXNURkWEp5Wlc1MFEyOXRiV2wwTzF4dUlDQWdJR1ZtWm1WamRFTnZkVzUwU1c1RGRYSnlaVzUwUTI5dGJXbDBJRDBnTUR0Y2JpQWdJQ0JsYm1STllYSnJLRndpS0VOdmJXMXBkSFJwYm1jZ1UyNWhjSE5vYjNRZ1JXWm1aV04wY3pvZ1hDSWdLeUJqYjNWdWRDQXJJRndpSUZSdmRHRnNLVndpTENBbktFTnZiVzFwZEhScGJtY2dVMjVoY0hOb2IzUWdSV1ptWldOMGN5a25MQ0J1ZFd4c0tUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjM1JoY25SRGIyMXRhWFJJYjNOMFJXWm1aV04wYzFScGJXVnlLQ2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0Z6ZFhCd2IzSjBjMVZ6WlhKVWFXMXBibWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxabVpsWTNSRGIzVnVkRWx1UTNWeWNtVnVkRU52YlcxcGRDQTlJREE3WEc0Z0lDQWdZbVZuYVc1TllYSnJLQ2NvUTI5dGJXbDBkR2x1WnlCSWIzTjBJRVZtWm1WamRITXBKeWs3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhOMGIzQkRiMjF0YVhSSWIzTjBSV1ptWldOMGMxUnBiV1Z5S0NrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0NGemRYQndiM0owYzFWelpYSlVhVzFwYm1jcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1kyOTFiblFnUFNCbFptWmxZM1JEYjNWdWRFbHVRM1Z5Y21WdWRFTnZiVzFwZER0Y2JpQWdJQ0JsWm1abFkzUkRiM1Z1ZEVsdVEzVnljbVZ1ZEVOdmJXMXBkQ0E5SURBN1hHNGdJQ0FnWlc1a1RXRnlheWhjSWloRGIyMXRhWFIwYVc1bklFaHZjM1FnUldabVpXTjBjem9nWENJZ0t5QmpiM1Z1ZENBcklGd2lJRlJ2ZEdGc0tWd2lMQ0FuS0VOdmJXMXBkSFJwYm1jZ1NHOXpkQ0JGWm1abFkzUnpLU2NzSUc1MWJHd3BPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ6ZEdGeWRFTnZiVzFwZEV4cFptVkRlV05zWlhOVWFXMWxjaWdwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYzNWd2NHOXlkSE5WYzJWeVZHbHRhVzVuS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaV1ptWldOMFEyOTFiblJKYmtOMWNuSmxiblJEYjIxdGFYUWdQU0F3TzF4dUlDQWdJR0psWjJsdVRXRnlheWduS0VOaGJHeHBibWNnVEdsbVpXTjVZMnhsSUUxbGRHaHZaSE1wSnlrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITjBiM0JEYjIxdGFYUk1hV1psUTNsamJHVnpWR2x0WlhJb0tTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb0lYTjFjSEJ2Y25SelZYTmxjbFJwYldsdVp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmpiM1Z1ZENBOUlHVm1abVZqZEVOdmRXNTBTVzVEZFhKeVpXNTBRMjl0YldsME8xeHVJQ0FnSUdWbVptVmpkRU52ZFc1MFNXNURkWEp5Wlc1MFEyOXRiV2wwSUQwZ01EdGNiaUFnSUNCbGJtUk5ZWEpyS0Z3aUtFTmhiR3hwYm1jZ1RHbG1aV041WTJ4bElFMWxkR2h2WkhNNklGd2lJQ3NnWTI5MWJuUWdLeUJjSWlCVWIzUmhiQ2xjSWl3Z0p5aERZV3hzYVc1bklFeHBabVZqZVdOc1pTQk5aWFJvYjJSektTY3NJRzUxYkd3cE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCMllXeDFaVk4wWVdOcklEMGdXMTA3WEc1MllYSWdabWxpWlhKVGRHRmphenRjYmx4dWUxeHVJQ0JtYVdKbGNsTjBZV05ySUQwZ1cxMDdYRzU5WEc1Y2JuWmhjaUJwYm1SbGVDQTlJQzB4TzF4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRGRYSnpiM0lvWkdWbVlYVnNkRlpoYkhWbEtTQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdZM1Z5Y21WdWREb2daR1ZtWVhWc2RGWmhiSFZsWEc0Z0lIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQnZjQ2hqZFhKemIzSXNJR1pwWW1WeUtTQjdYRzRnSUdsbUlDaHBibVJsZUNBOElEQXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblZXNWxlSEJsWTNSbFpDQndiM0F1SnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJR2xtSUNobWFXSmxjaUFoUFQwZ1ptbGlaWEpUZEdGamExdHBibVJsZUYwcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkVmJtVjRjR1ZqZEdWa0lFWnBZbVZ5SUhCdmNIQmxaQzRuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCamRYSnpiM0l1WTNWeWNtVnVkQ0E5SUhaaGJIVmxVM1JoWTJ0YmFXNWtaWGhkTzF4dUlDQjJZV3gxWlZOMFlXTnJXMmx1WkdWNFhTQTlJRzUxYkd3N1hHNWNiaUFnZTF4dUlDQWdJR1pwWW1WeVUzUmhZMnRiYVc1a1pYaGRJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2x1WkdWNExTMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQjFjMmdvWTNWeWMyOXlMQ0IyWVd4MVpTd2dabWxpWlhJcElIdGNiaUFnYVc1a1pYZ3JLenRjYmlBZ2RtRnNkV1ZUZEdGamExdHBibVJsZUYwZ1BTQmpkWEp6YjNJdVkzVnljbVZ1ZER0Y2JseHVJQ0I3WEc0Z0lDQWdabWxpWlhKVGRHRmphMXRwYm1SbGVGMGdQU0JtYVdKbGNqdGNiaUFnZlZ4dVhHNGdJR04xY25OdmNpNWpkWEp5Wlc1MElEMGdkbUZzZFdVN1hHNTlYRzVjYm5aaGNpQjNZWEp1WldSQlltOTFkRTFwYzNOcGJtZEhaWFJEYUdsc1pFTnZiblJsZUhRN1hHNWNibnRjYmlBZ2QyRnlibVZrUVdKdmRYUk5hWE56YVc1blIyVjBRMmhwYkdSRGIyNTBaWGgwSUQwZ2UzMDdYRzU5WEc1Y2JuWmhjaUJsYlhCMGVVTnZiblJsZUhSUFltcGxZM1FnUFNCN2ZUdGNibHh1ZTF4dUlDQlBZbXBsWTNRdVpuSmxaWHBsS0dWdGNIUjVRMjl1ZEdWNGRFOWlhbVZqZENrN1hHNTlJQzh2SUVFZ1kzVnljMjl5SUhSdklIUm9aU0JqZFhKeVpXNTBJRzFsY21kbFpDQmpiMjUwWlhoMElHOWlhbVZqZENCdmJpQjBhR1VnYzNSaFkyc3VYRzVjYmx4dWRtRnlJR052Ym5SbGVIUlRkR0ZqYTBOMWNuTnZjaUE5SUdOeVpXRjBaVU4xY25OdmNpaGxiWEIwZVVOdmJuUmxlSFJQWW1wbFkzUXBPeUF2THlCQklHTjFjbk52Y2lCMGJ5QmhJR0p2YjJ4bFlXNGdhVzVrYVdOaGRHbHVaeUIzYUdWMGFHVnlJSFJvWlNCamIyNTBaWGgwSUdoaGN5QmphR0Z1WjJWa0xseHVYRzUyWVhJZ1pHbGtVR1Z5Wm05eWJWZHZjbXRUZEdGamEwTjFjbk52Y2lBOUlHTnlaV0YwWlVOMWNuTnZjaWhtWVd4elpTazdJQzh2SUV0bFpYQWdkSEpoWTJzZ2IyWWdkR2hsSUhCeVpYWnBiM1Z6SUdOdmJuUmxlSFFnYjJKcVpXTjBJSFJvWVhRZ2QyRnpJRzl1SUhSb1pTQnpkR0ZqYXk1Y2JpOHZJRmRsSUhWelpTQjBhR2x6SUhSdklHZGxkQ0JoWTJObGMzTWdkRzhnZEdobElIQmhjbVZ1ZENCamIyNTBaWGgwSUdGbWRHVnlJSGRsSUdoaGRtVWdZV3h5WldGa2VWeHVMeThnY0hWemFHVmtJSFJvWlNCdVpYaDBJR052Ym5SbGVIUWdjSEp2ZG1sa1pYSXNJR0Z1WkNCdWIzY2dibVZsWkNCMGJ5QnRaWEpuWlNCMGFHVnBjaUJqYjI1MFpYaDBjeTVjYmx4dWRtRnlJSEJ5WlhacGIzVnpRMjl1ZEdWNGRDQTlJR1Z0Y0hSNVEyOXVkR1Y0ZEU5aWFtVmpkRHRjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWVzV0WVhOclpXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lHUnBaRkIxYzJoUGQyNURiMjUwWlhoMFNXWlFjbTkyYVdSbGNpa2dlMXh1SUNCN1hHNGdJQ0FnYVdZZ0tHUnBaRkIxYzJoUGQyNURiMjUwWlhoMFNXWlFjbTkyYVdSbGNpQW1KaUJwYzBOdmJuUmxlSFJRY205MmFXUmxjaWhEYjIxd2IyNWxiblFwS1NCN1hHNGdJQ0FnSUNBdkx5QkpaaUIwYUdVZ1ptbGlaWElnYVhNZ1lTQmpiMjUwWlhoMElIQnliM1pwWkdWeUlHbDBjMlZzWml3Z2QyaGxiaUIzWlNCeVpXRmtJR2wwY3lCamIyNTBaWGgwWEc0Z0lDQWdJQ0F2THlCM1pTQnRZWGtnYUdGMlpTQmhiSEpsWVdSNUlIQjFjMmhsWkNCcGRITWdiM2R1SUdOb2FXeGtJR052Ym5SbGVIUWdiMjRnZEdobElITjBZV05yTGlCQklHTnZiblJsZUhSY2JpQWdJQ0FnSUM4dklIQnliM1pwWkdWeUlITm9iM1ZzWkNCdWIzUWdYQ0p6WldWY0lpQnBkSE1nYjNkdUlHTm9hV3hrSUdOdmJuUmxlSFF1SUZSb1pYSmxabTl5WlNCM1pTQnlaV0ZrSUhSb1pWeHVJQ0FnSUNBZ0x5OGdjSEpsZG1sdmRYTWdLSEJoY21WdWRDa2dZMjl1ZEdWNGRDQnBibk4wWldGa0lHWnZjaUJoSUdOdmJuUmxlSFFnY0hKdmRtbGtaWEl1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjSEpsZG1sdmRYTkRiMjUwWlhoME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJqYjI1MFpYaDBVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkRHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCallXTm9aVU52Ym5SbGVIUW9kMjl5YTBsdVVISnZaM0psYzNNc0lIVnViV0Z6YTJWa1EyOXVkR1Y0ZEN3Z2JXRnphMlZrUTI5dWRHVjRkQ2tnZTF4dUlDQjdYRzRnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxPMXh1SUNBZ0lHbHVjM1JoYm1ObExsOWZjbVZoWTNSSmJuUmxjbTVoYkUxbGJXOXBlbVZrVlc1dFlYTnJaV1JEYUdsc1pFTnZiblJsZUhRZ1BTQjFibTFoYzJ0bFpFTnZiblJsZUhRN1hHNGdJQ0FnYVc1emRHRnVZMlV1WDE5eVpXRmpkRWx1ZEdWeWJtRnNUV1Z0YjJsNlpXUk5ZWE5yWldSRGFHbHNaRU52Ym5SbGVIUWdQU0J0WVhOclpXUkRiMjUwWlhoME8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEUxaGMydGxaRU52Ym5SbGVIUW9kMjl5YTBsdVVISnZaM0psYzNNc0lIVnViV0Z6YTJWa1EyOXVkR1Y0ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhSNWNHVWdQU0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTzF4dUlDQWdJSFpoY2lCamIyNTBaWGgwVkhsd1pYTWdQU0IwZVhCbExtTnZiblJsZUhSVWVYQmxjenRjYmx4dUlDQWdJR2xtSUNnaFkyOXVkR1Y0ZEZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaVzF3ZEhsRGIyNTBaWGgwVDJKcVpXTjBPMXh1SUNBZ0lIMGdMeThnUVhadmFXUWdjbVZqY21WaGRHbHVaeUJ0WVhOclpXUWdZMjl1ZEdWNGRDQjFibXhsYzNNZ2RXNXRZWE5yWldRZ1kyOXVkR1Y0ZENCb1lYTWdZMmhoYm1kbFpDNWNiaUFnSUNBdkx5QkdZV2xzYVc1bklIUnZJR1J2SUhSb2FYTWdkMmxzYkNCeVpYTjFiSFFnYVc0Z2RXNXVaV05sYzNOaGNua2dZMkZzYkhNZ2RHOGdZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2N5NWNiaUFnSUNBdkx5QlVhR2x6SUcxaGVTQjBjbWxuWjJWeUlHbHVabWx1YVhSbElHeHZiM0J6SUdsbUlHTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hNZ1kyRnNiSE1nYzJWMFUzUmhkR1V1WEc1Y2JseHVJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lHbG1JQ2hwYm5OMFlXNWpaU0FtSmlCcGJuTjBZVzVqWlM1ZlgzSmxZV04wU1c1MFpYSnVZV3hOWlcxdmFYcGxaRlZ1YldGemEyVmtRMmhwYkdSRGIyNTBaWGgwSUQwOVBTQjFibTFoYzJ0bFpFTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCcGJuTjBZVzVqWlM1ZlgzSmxZV04wU1c1MFpYSnVZV3hOWlcxdmFYcGxaRTFoYzJ0bFpFTm9hV3hrUTI5dWRHVjRkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTI5dWRHVjRkQ0E5SUh0OU8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2EyVjVJR2x1SUdOdmJuUmxlSFJVZVhCbGN5a2dlMXh1SUNBZ0lDQWdZMjl1ZEdWNGRGdHJaWGxkSUQwZ2RXNXRZWE5yWldSRGIyNTBaWGgwVzJ0bGVWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RtRnlJRzVoYldVZ1BTQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIUjVjR1VwSUh4OElDZFZibXR1YjNkdUp6dGNiaUFnSUNBZ0lHTm9aV05yVUhKdmNGUjVjR1Z6S0dOdmJuUmxlSFJVZVhCbGN5d2dZMjl1ZEdWNGRDd2dKMk52Ym5SbGVIUW5MQ0J1WVcxbExDQm5aWFJEZFhKeVpXNTBSbWxpWlhKVGRHRmphMGx1UkdWMktUdGNiaUFnSUNCOUlDOHZJRU5oWTJobElIVnViV0Z6YTJWa0lHTnZiblJsZUhRZ2MyOGdkMlVnWTJGdUlHRjJiMmxrSUhKbFkzSmxZWFJwYm1jZ2JXRnphMlZrSUdOdmJuUmxlSFFnZFc1c1pYTnpJRzVsWTJWemMyRnllUzVjYmlBZ0lDQXZMeUJEYjI1MFpYaDBJR2x6SUdOeVpXRjBaV1FnWW1WbWIzSmxJSFJvWlNCamJHRnpjeUJqYjIxd2IyNWxiblFnYVhNZ2FXNXpkR0Z1ZEdsaGRHVmtJSE52SUdOb1pXTnJJR1p2Y2lCcGJuTjBZVzVqWlM1Y2JseHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxLU0I3WEc0Z0lDQWdJQ0JqWVdOb1pVTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhWdWJXRnphMlZrUTI5dWRHVjRkQ3dnWTI5dWRHVjRkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJsZUhRN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdhR0Z6UTI5dWRHVjRkRU5vWVc1blpXUW9LU0I3WEc0Z0lIdGNiaUFnSUNCeVpYUjFjbTRnWkdsa1VHVnlabTl5YlZkdmNtdFRkR0ZqYTBOMWNuTnZjaTVqZFhKeVpXNTBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdselEyOXVkR1Y0ZEZCeWIzWnBaR1Z5S0hSNWNHVXBJSHRjYmlBZ2UxeHVJQ0FnSUhaaGNpQmphR2xzWkVOdmJuUmxlSFJVZVhCbGN5QTlJSFI1Y0dVdVkyaHBiR1JEYjI1MFpYaDBWSGx3WlhNN1hHNGdJQ0FnY21WMGRYSnVJR05vYVd4a1EyOXVkR1Y0ZEZSNWNHVnpJQ0U5UFNCdWRXeHNJQ1ltSUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUNFOVBTQjFibVJsWm1sdVpXUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnY0c5d1EyOXVkR1Y0ZENobWFXSmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2NHOXdLR1JwWkZCbGNtWnZjbTFYYjNKclUzUmhZMnREZFhKemIzSXNJR1pwWW1WeUtUdGNiaUFnSUNCd2IzQW9ZMjl1ZEdWNGRGTjBZV05yUTNWeWMyOXlMQ0JtYVdKbGNpazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnY0c5d1ZHOXdUR1YyWld4RGIyNTBaWGgwVDJKcVpXTjBLR1pwWW1WeUtTQjdYRzRnSUh0Y2JpQWdJQ0J3YjNBb1pHbGtVR1Z5Wm05eWJWZHZjbXRUZEdGamEwTjFjbk52Y2l3Z1ptbGlaWElwTzF4dUlDQWdJSEJ2Y0NoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJc0lHWnBZbVZ5S1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndkWE5vVkc5d1RHVjJaV3hEYjI1MFpYaDBUMkpxWldOMEtHWnBZbVZ5TENCamIyNTBaWGgwTENCa2FXUkRhR0Z1WjJVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNnaEtHTnZiblJsZUhSVGRHRmphME4xY25OdmNpNWpkWEp5Wlc1MElEMDlQU0JsYlhCMGVVTnZiblJsZUhSUFltcGxZM1FwS1NCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxWdVpYaHdaV04wWldRZ1kyOXVkR1Y0ZENCbWIzVnVaQ0J2YmlCemRHRmpheTRnVkdocGN5Qmxjbkp2Y2lCcGN5QnNhV3RsYkhrZ1kyRjFjMlZrSUdKNUlHRWdZblZuSUdsdUlGSmxZV04wTGlCUWJHVmhjMlVnWm1sc1pTQmhiaUJwYzNOMVpTNWNJaUFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEIxYzJnb1kyOXVkR1Y0ZEZOMFlXTnJRM1Z5YzI5eUxDQmpiMjUwWlhoMExDQm1hV0psY2lrN1hHNGdJQ0FnY0hWemFDaGthV1JRWlhKbWIzSnRWMjl5YTFOMFlXTnJRM1Z5YzI5eUxDQmthV1JEYUdGdVoyVXNJR1pwWW1WeUtUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ3Y205alpYTnpRMmhwYkdSRGIyNTBaWGgwS0dacFltVnlMQ0IwZVhCbExDQndZWEpsYm5SRGIyNTBaWGgwS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYVc1emRHRnVZMlVnUFNCbWFXSmxjaTV6ZEdGMFpVNXZaR1U3WEc0Z0lDQWdkbUZ5SUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUQwZ2RIbHdaUzVqYUdsc1pFTnZiblJsZUhSVWVYQmxjenNnTHk4Z1ZFOUVUeUFvWW5aaGRXZG9iaWtnVW1Wd2JHRmpaU0IwYUdseklHSmxhR0YyYVc5eUlIZHBkR2dnWVc0Z2FXNTJZWEpwWVc1MEtDa2dhVzRnZEdobElHWjFkSFZ5WlM1Y2JpQWdJQ0F2THlCSmRDQm9ZWE1nYjI1c2VTQmlaV1Z1SUdGa1pHVmtJR2x1SUVacFltVnlJSFJ2SUcxaGRHTm9JSFJvWlNBb2RXNXBiblJsYm5ScGIyNWhiQ2tnWW1Wb1lYWnBiM0lnYVc0Z1UzUmhZMnN1WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1kbGRFTm9hV3hrUTI5dWRHVjRkQ0FoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1kyOXRjRzl1Wlc1MFRtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEhsd1pTa2dmSHdnSjFWdWEyNXZkMjRuTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doZDJGeWJtVmtRV0p2ZFhSTmFYTnphVzVuUjJWMFEyaHBiR1JEYjI1MFpYaDBXMk52YlhCdmJtVnVkRTVoYldWZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZDJGeWJtVmtRV0p2ZFhSTmFYTnphVzVuUjJWMFEyaHBiR1JEYjI1MFpYaDBXMk52YlhCdmJtVnVkRTVoYldWZElEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeTVqYUdsc1pFTnZiblJsZUhSVWVYQmxjeUJwY3lCemNHVmphV1pwWldRZ1luVjBJSFJvWlhKbElHbHpJRzV2SUdkbGRFTm9hV3hrUTI5dWRHVjRkQ2dwSUcxbGRHaHZaQ0FuSUNzZ0oyOXVJSFJvWlNCcGJuTjBZVzVqWlM0Z1dXOTFJR05oYmlCbGFYUm9aWElnWkdWbWFXNWxJR2RsZEVOb2FXeGtRMjl1ZEdWNGRDZ3BJRzl1SUNWeklHOXlJSEpsYlc5MlpTQW5JQ3NnSjJOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUdaeWIyMGdhWFF1Snl3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnWTI5dGNHOXVaVzUwVG1GdFpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEJoY21WdWRFTnZiblJsZUhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTm9hV3hrUTI5dWRHVjRkRHRjYmlBZ0lDQnpkR0Z5ZEZCb1lYTmxWR2x0WlhJb1ptbGlaWElzSUNkblpYUkRhR2xzWkVOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JqYUdsc1pFTnZiblJsZUhRZ1BTQnBibk4wWVc1alpTNW5aWFJEYUdsc1pFTnZiblJsZUhRb0tUdGNiaUFnSUNCemRHOXdVR2hoYzJWVWFXMWxjaWdwTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnWTI5dWRHVjRkRXRsZVNCcGJpQmphR2xzWkVOdmJuUmxlSFFwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hLR052Ym5SbGVIUkxaWGtnYVc0Z1kyaHBiR1JEYjI1MFpYaDBWSGx3WlhNcEtTQjdYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dLR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9kSGx3WlNrZ2ZId2dKMVZ1YTI1dmQyNG5LU0FySUZ3aUxtZGxkRU5vYVd4a1EyOXVkR1Y0ZENncE9pQnJaWGtnWEZ4Y0lsd2lJQ3NnWTI5dWRHVjRkRXRsZVNBcklGd2lYRnhjSWlCcGN5QnViM1FnWkdWbWFXNWxaQ0JwYmlCamFHbHNaRU52Ym5SbGVIUlVlWEJsY3k1Y0lpQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkbUZ5SUc1aGJXVWdQU0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLSFI1Y0dVcElIeDhJQ2RWYm10dWIzZHVKenRjYmlBZ0lDQWdJR05vWldOclVISnZjRlI1Y0dWektHTm9hV3hrUTI5dWRHVjRkRlI1Y0dWekxDQmphR2xzWkVOdmJuUmxlSFFzSUNkamFHbHNaQ0JqYjI1MFpYaDBKeXdnYm1GdFpTd2dMeThnU1c0Z2NISmhZM1JwWTJVc0lIUm9aWEpsSUdseklHOXVaU0JqWVhObElHbHVJSGRvYVdOb0lIZGxJSGR2YmlkMElHZGxkQ0JoSUhOMFlXTnJMaUJKZENkeklIZG9aVzVjYmlBZ0lDQWdJQzh2SUhOdmJXVmliMlI1SUdOaGJHeHpJSFZ1YzNSaFlteGxYM0psYm1SbGNsTjFZblJ5WldWSmJuUnZRMjl1ZEdGcGJtVnlLQ2tnWVc1a0lIZGxJSEJ5YjJObGMzTmNiaUFnSUNBZ0lDOHZJR052Ym5SbGVIUWdabkp2YlNCMGFHVWdjR0Z5Wlc1MElHTnZiWEJ2Ym1WdWRDQnBibk4wWVc1alpTNGdWR2hsSUhOMFlXTnJJSGRwYkd3Z1ltVWdiV2x6YzJsdVoxeHVJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQnBkQ2R6SUc5MWRITnBaR1VnYjJZZ2RHaGxJSEpsWTI5dVkybHNhV0YwYVc5dUxDQmhibVFnYzI4Z2RHaGxJSEJ2YVc1MFpYSWdhR0Z6SUc1dmRGeHVJQ0FnSUNBZ0x5OGdZbVZsYmlCelpYUXVJRlJvYVhNZ2FYTWdjbUZ5WlNCaGJtUWdaRzlsYzI0bmRDQnRZWFIwWlhJdUlGZGxKMnhzSUdGc2MyOGdjbVZ0YjNabElIUm9ZWFFnUVZCSkxseHVJQ0FnSUNBZ1oyVjBRM1Z5Y21WdWRFWnBZbVZ5VTNSaFkydEpia1JsZGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRjloYzNOcFoyNG9lMzBzSUhCaGNtVnVkRU52Ym5SbGVIUXNJSHQ5TENCamFHbHNaRU52Ym5SbGVIUXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhCMWMyaERiMjUwWlhoMFVISnZkbWxrWlhJb2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbk4wWVhSbFRtOWtaVHNnTHk4Z1YyVWdjSFZ6YUNCMGFHVWdZMjl1ZEdWNGRDQmhjeUJsWVhKc2VTQmhjeUJ3YjNOemFXSnNaU0IwYnlCbGJuTjFjbVVnYzNSaFkyc2dhVzUwWldkeWFYUjVMbHh1SUNBZ0lDOHZJRWxtSUhSb1pTQnBibk4wWVc1alpTQmtiMlZ6SUc1dmRDQmxlR2x6ZENCNVpYUXNJSGRsSUhkcGJHd2djSFZ6YUNCdWRXeHNJR0YwSUdacGNuTjBMRnh1SUNBZ0lDOHZJR0Z1WkNCeVpYQnNZV05sSUdsMElHOXVJSFJvWlNCemRHRmpheUJzWVhSbGNpQjNhR1Z1SUdsdWRtRnNhV1JoZEdsdVp5QjBhR1VnWTI5dWRHVjRkQzVjYmx4dUlDQWdJSFpoY2lCdFpXMXZhWHBsWkUxbGNtZGxaRU5vYVd4a1EyOXVkR1Y0ZENBOUlHbHVjM1JoYm1ObElDWW1JR2x1YzNSaGJtTmxMbDlmY21WaFkzUkpiblJsY201aGJFMWxiVzlwZW1Wa1RXVnlaMlZrUTJocGJHUkRiMjUwWlhoMElIeDhJR1Z0Y0hSNVEyOXVkR1Y0ZEU5aWFtVmpkRHNnTHk4Z1VtVnRaVzFpWlhJZ2RHaGxJSEJoY21WdWRDQmpiMjUwWlhoMElITnZJSGRsSUdOaGJpQnRaWEpuWlNCM2FYUm9JR2wwSUd4aGRHVnlMbHh1SUNBZ0lDOHZJRWx1YUdWeWFYUWdkR2hsSUhCaGNtVnVkQ2R6SUdScFpDMXdaWEptYjNKdExYZHZjbXNnZG1Gc2RXVWdkRzhnWVhadmFXUWdhVzVoWkhabGNuUmxiblJzZVNCaWJHOWphMmx1WnlCMWNHUmhkR1Z6TGx4dVhHNGdJQ0FnY0hKbGRtbHZkWE5EYjI1MFpYaDBJRDBnWTI5dWRHVjRkRk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblE3WEc0Z0lDQWdjSFZ6YUNoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJc0lHMWxiVzlwZW1Wa1RXVnlaMlZrUTJocGJHUkRiMjUwWlhoMExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnY0hWemFDaGthV1JRWlhKbWIzSnRWMjl5YTFOMFlXTnJRM1Z5YzI5eUxDQmthV1JRWlhKbWIzSnRWMjl5YTFOMFlXTnJRM1Z5YzI5eUxtTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBiblpoYkdsa1lYUmxRMjl1ZEdWNGRGQnliM1pwWkdWeUtIZHZjbXRKYmxCeWIyZHlaWE56TENCMGVYQmxMQ0JrYVdSRGFHRnVaMlVwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJR2xtSUNnaGFXNXpkR0Z1WTJVcElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYaHdaV04wWldRZ2RHOGdhR0YyWlNCaGJpQnBibk4wWVc1alpTQmllU0IwYUdseklIQnZhVzUwTGlCVWFHbHpJR1Z5Y205eUlHbHpJR3hwYTJWc2VTQmpZWFZ6WldRZ1lua2dZU0JpZFdjZ2FXNGdVbVZoWTNRdUlGQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHUnBaRU5vWVc1blpTa2dlMXh1SUNBZ0lDQWdMeThnVFdWeVoyVWdjR0Z5Wlc1MElHRnVaQ0J2ZDI0Z1kyOXVkR1Y0ZEM1Y2JpQWdJQ0FnSUM4dklGTnJhWEFnZEdocGN5QnBaaUIzWlNkeVpTQnViM1FnZFhCa1lYUnBibWNnWkhWbElIUnZJSE5EVlM1Y2JpQWdJQ0FnSUM4dklGUm9hWE1nWVhadmFXUnpJSFZ1Ym1WalpYTnpZWEpwYkhrZ2NtVmpiMjF3ZFhScGJtY2diV1Z0YjJsNlpXUWdkbUZzZFdWekxseHVJQ0FnSUNBZ2RtRnlJRzFsY21kbFpFTnZiblJsZUhRZ1BTQndjbTlqWlhOelEyaHBiR1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQjBlWEJsTENCd2NtVjJhVzkxYzBOdmJuUmxlSFFwTzF4dUlDQWdJQ0FnYVc1emRHRnVZMlV1WDE5eVpXRmpkRWx1ZEdWeWJtRnNUV1Z0YjJsNlpXUk5aWEpuWldSRGFHbHNaRU52Ym5SbGVIUWdQU0J0WlhKblpXUkRiMjUwWlhoME95QXZMeUJTWlhCc1lXTmxJSFJvWlNCdmJHUWdLRzl5SUdWdGNIUjVLU0JqYjI1MFpYaDBJSGRwZEdnZ2RHaGxJRzVsZHlCdmJtVXVYRzRnSUNBZ0lDQXZMeUJKZENCcGN5QnBiWEJ2Y25SaGJuUWdkRzhnZFc1M2FXNWtJSFJvWlNCamIyNTBaWGgwSUdsdUlIUm9aU0J5WlhabGNuTmxJRzl5WkdWeUxseHVYRzRnSUNBZ0lDQndiM0FvWkdsa1VHVnlabTl5YlZkdmNtdFRkR0ZqYTBOMWNuTnZjaXdnZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdjRzl3S0dOdmJuUmxlSFJUZEdGamEwTjFjbk52Y2l3Z2QyOXlhMGx1VUhKdlozSmxjM01wT3lBdkx5Qk9iM2NnY0hWemFDQjBhR1VnYm1WM0lHTnZiblJsZUhRZ1lXNWtJRzFoY21zZ2RHaGhkQ0JwZENCb1lYTWdZMmhoYm1kbFpDNWNibHh1SUNBZ0lDQWdjSFZ6YUNoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJc0lHMWxjbWRsWkVOdmJuUmxlSFFzSUhkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJSEIxYzJnb1pHbGtVR1Z5Wm05eWJWZHZjbXRUZEdGamEwTjFjbk52Y2l3Z1pHbGtRMmhoYm1kbExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEJ2Y0Noa2FXUlFaWEptYjNKdFYyOXlhMU4wWVdOclEzVnljMjl5TENCM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdJQ0J3ZFhOb0tHUnBaRkJsY21admNtMVhiM0pyVTNSaFkydERkWEp6YjNJc0lHUnBaRU5vWVc1blpTd2dkMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1hVzVrUTNWeWNtVnVkRlZ1YldGemEyVmtRMjl1ZEdWNGRDaG1hV0psY2lrZ2UxeHVJQ0I3WEc0Z0lDQWdMeThnUTNWeWNtVnVkR3g1SUhSb2FYTWdhWE1nYjI1c2VTQjFjMlZrSUhkcGRHZ2djbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSTdJRzV2ZENCemRYSmxJR2xtSUdsMFhHNGdJQ0FnTHk4Z2JXRnJaWE1nYzJWdWMyVWdaV3h6Wlhkb1pYSmxYRzRnSUNBZ2FXWWdLQ0VvYVhOR2FXSmxjazF2ZFc1MFpXUW9abWxpWlhJcElDWW1JR1pwWW1WeUxuUmhaeUE5UFQwZ1EyeGhjM05EYjIxd2IyNWxiblFwS1NCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtWNGNHVmpkR1ZrSUhOMVluUnlaV1VnY0dGeVpXNTBJSFJ2SUdKbElHRWdiVzkxYm5SbFpDQmpiR0Z6Y3lCamIyMXdiMjVsYm5RdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdibTlrWlNBOUlHWnBZbVZ5TzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2MzZHBkR05vSUNodWIyUmxMblJoWnlrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUlNiMjkwT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWIyUmxMbk4wWVhSbFRtOWtaUzVqYjI1MFpYaDBPMXh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdRMnhoYzNORGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRU52YlhCdmJtVnVkQ0E5SUc1dlpHVXVkSGx3WlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHpRMjl1ZEdWNGRGQnliM1pwWkdWeUtFTnZiWEJ2Ym1WdWRDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNXZaR1V1YzNSaGRHVk9iMlJsTGw5ZmNtVmhZM1JKYm5SbGNtNWhiRTFsYlc5cGVtVmtUV1Z5WjJWa1EyaHBiR1JEYjI1MFpYaDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbkpsZEhWeWJqdGNiaUFnSUNCOUlIZG9hV3hsSUNodWIyUmxJQ0U5UFNCdWRXeHNLVHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lSbTkxYm1RZ2RXNWxlSEJsWTNSbFpDQmtaWFJoWTJobFpDQnpkV0owY21WbElIQmhjbVZ1ZEM0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnVEdWbllXTjVVbTl2ZENBOUlEQTdYRzUyWVhJZ1FteHZZMnRwYm1kU2IyOTBJRDBnTVR0Y2JuWmhjaUJEYjI1amRYSnlaVzUwVW05dmRDQTlJREk3WEc1Y2JuWmhjaUJUWTJobFpIVnNaWEpmY25WdVYybDBhRkJ5YVc5eWFYUjVJRDBnVTJOb1pXUjFiR1Z5TG5WdWMzUmhZbXhsWDNKMWJsZHBkR2hRY21sdmNtbDBlU3hjYmlBZ0lDQlRZMmhsWkhWc1pYSmZjMk5vWldSMWJHVkRZV3hzWW1GamF5QTlJRk5qYUdWa2RXeGxjaTUxYm5OMFlXSnNaVjl6WTJobFpIVnNaVU5oYkd4aVlXTnJMRnh1SUNBZ0lGTmphR1ZrZFd4bGNsOWpZVzVqWld4RFlXeHNZbUZqYXlBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOWpZVzVqWld4RFlXeHNZbUZqYXl4Y2JpQWdJQ0JUWTJobFpIVnNaWEpmYzJodmRXeGtXV2xsYkdRZ1BTQlRZMmhsWkhWc1pYSXVkVzV6ZEdGaWJHVmZjMmh2ZFd4a1dXbGxiR1FzWEc0Z0lDQWdVMk5vWldSMWJHVnlYM0psY1hWbGMzUlFZV2x1ZENBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOXlaWEYxWlhOMFVHRnBiblFzWEc0Z0lDQWdVMk5vWldSMWJHVnlYMjV2ZHlBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOXViM2NzWEc0Z0lDQWdVMk5vWldSMWJHVnlYMmRsZEVOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0lEMGdVMk5vWldSMWJHVnlMblZ1YzNSaFlteGxYMmRsZEVOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0xGeHVJQ0FnSUZOamFHVmtkV3hsY2w5SmJXMWxaR2xoZEdWUWNtbHZjbWwwZVNBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOUpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTeGNiaUFnSUNCVFkyaGxaSFZzWlhKZlZYTmxja0pzYjJOcmFXNW5VSEpwYjNKcGRIa2dQU0JUWTJobFpIVnNaWEl1ZFc1emRHRmliR1ZmVlhObGNrSnNiMk5yYVc1blVISnBiM0pwZEhrc1hHNGdJQ0FnVTJOb1pXUjFiR1Z5WDA1dmNtMWhiRkJ5YVc5eWFYUjVJRDBnVTJOb1pXUjFiR1Z5TG5WdWMzUmhZbXhsWDA1dmNtMWhiRkJ5YVc5eWFYUjVMRnh1SUNBZ0lGTmphR1ZrZFd4bGNsOU1iM2RRY21sdmNtbDBlU0E5SUZOamFHVmtkV3hsY2k1MWJuTjBZV0pzWlY5TWIzZFFjbWx2Y21sMGVTeGNiaUFnSUNCVFkyaGxaSFZzWlhKZlNXUnNaVkJ5YVc5eWFYUjVJRDBnVTJOb1pXUjFiR1Z5TG5WdWMzUmhZbXhsWDBsa2JHVlFjbWx2Y21sMGVUdGNibHh1ZTF4dUlDQXZMeUJRY205MmFXUmxJR1Y0Y0d4cFkybDBJR1Z5Y205eUlHMWxjM05oWjJVZ2QyaGxiaUJ3Y205a2RXTjBhVzl1SzNCeWIyWnBiR2x1WnlCaWRXNWtiR1VnYjJZZ1pTNW5MbHh1SUNBdkx5QnlaV0ZqZEMxa2IyMGdhWE1nZFhObFpDQjNhWFJvSUhCeWIyUjFZM1JwYjI0Z0tHNXZiaTF3Y205bWFXeHBibWNwSUdKMWJtUnNaU0J2Wmx4dUlDQXZMeUJ6WTJobFpIVnNaWEl2ZEhKaFkybHVaMXh1SUNCcFppQW9JU2gwY21GamFXNW5MbDlmYVc1MFpYSmhZM1JwYjI1elVtVm1JQ0U5SUc1MWJHd2dKaVlnZEhKaFkybHVaeTVmWDJsdWRHVnlZV04wYVc5dWMxSmxaaTVqZFhKeVpXNTBJQ0U5SUc1MWJHd3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVNYUWdhWE1nYm05MElITjFjSEJ2Y25SbFpDQjBieUJ5ZFc0Z2RHaGxJSEJ5YjJacGJHbHVaeUIyWlhKemFXOXVJRzltSUdFZ2NtVnVaR1Z5WlhJZ0tHWnZjaUJsZUdGdGNHeGxMQ0JnY21WaFkzUXRaRzl0TDNCeWIyWnBiR2x1WjJBcElIZHBkR2h2ZFhRZ1lXeHpieUJ5WlhCc1lXTnBibWNnZEdobElHQnpZMmhsWkhWc1pYSXZkSEpoWTJsdVoyQWdiVzlrZFd4bElIZHBkR2dnWUhOamFHVmtkV3hsY2k5MGNtRmphVzVuTFhCeWIyWnBiR2x1WjJBdUlGbHZkWElnWW5WdVpHeGxjaUJ0YVdkb2RDQm9ZWFpsSUdFZ2MyVjBkR2x1WnlCbWIzSWdZV3hwWVhOcGJtY2dZbTkwYUNCdGIyUjFiR1Z6TGlCTVpXRnliaUJ0YjNKbElHRjBJR2gwZEhBNkx5OW1ZaTV0WlM5eVpXRmpkQzF3Y205bWFXeHBibWRjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnWm1GclpVTmhiR3hpWVdOclRtOWtaU0E5SUh0OU95QXZMeUJGZUdObGNIUWdabTl5SUU1dlVISnBiM0pwZEhrc0lIUm9aWE5sSUdOdmNuSmxjM0J2Ym1RZ2RHOGdVMk5vWldSMWJHVnlJSEJ5YVc5eWFYUnBaWE11SUZkbElIVnpaVnh1THk4Z1lYTmpaVzVrYVc1bklHNTFiV0psY25NZ2MyOGdkMlVnWTJGdUlHTnZiWEJoY21VZ2RHaGxiU0JzYVd0bElHNTFiV0psY25NdUlGUm9aWGtnYzNSaGNuUWdZWFFnT1RBZ2RHOWNiaTh2SUdGMmIybGtJR05zWVhOb2FXNW5JSGRwZEdnZ1UyTm9aV1IxYkdWeUozTWdjSEpwYjNKcGRHbGxjeTVjYmx4dWRtRnlJRWx0YldWa2FXRjBaVkJ5YVc5eWFYUjVJRDBnT1RrN1hHNTJZWElnVlhObGNrSnNiMk5yYVc1blVISnBiM0pwZEhra01TQTlJRGs0TzF4dWRtRnlJRTV2Y20xaGJGQnlhVzl5YVhSNUlEMGdPVGM3WEc1MllYSWdURzkzVUhKcGIzSnBkSGtnUFNBNU5qdGNiblpoY2lCSlpHeGxVSEpwYjNKcGRIa2dQU0E1TlRzZ0x5OGdUbTlRY21sdmNtbDBlU0JwY3lCMGFHVWdZV0p6Wlc1alpTQnZaaUJ3Y21sdmNtbDBlUzRnUVd4emJ5QlNaV0ZqZEMxdmJteDVMbHh1WEc1MllYSWdUbTlRY21sdmNtbDBlU0E5SURrd08xeHVkbUZ5SUhOb2IzVnNaRmxwWld4a0lEMGdVMk5vWldSMWJHVnlYM05vYjNWc1pGbHBaV3hrTzF4dWRtRnlJSEpsY1hWbGMzUlFZV2x1ZENBOUlDOHZJRVpoYkd3Z1ltRmpheUJuY21GalpXWjFiR3g1SUdsbUlIZGxKM0psSUhKMWJtNXBibWNnWVc0Z2IyeGtaWElnZG1WeWMybHZiaUJ2WmlCVFkyaGxaSFZzWlhJdVhHNVRZMmhsWkhWc1pYSmZjbVZ4ZFdWemRGQmhhVzUwSUNFOVBTQjFibVJsWm1sdVpXUWdQeUJUWTJobFpIVnNaWEpmY21WeGRXVnpkRkJoYVc1MElEb2dablZ1WTNScGIyNGdLQ2tnZTMwN1hHNTJZWElnYzNsdVkxRjFaWFZsSUQwZ2JuVnNiRHRjYm5aaGNpQnBiVzFsWkdsaGRHVlJkV1YxWlVOaGJHeGlZV05yVG05a1pTQTlJRzUxYkd3N1hHNTJZWElnYVhOR2JIVnphR2x1WjFONWJtTlJkV1YxWlNBOUlHWmhiSE5sTzF4dWRtRnlJR2x1YVhScFlXeFVhVzFsVFhNZ1BTQlRZMmhsWkhWc1pYSmZibTkzS0NrN0lDOHZJRWxtSUhSb1pTQnBibWwwYVdGc0lIUnBiV1Z6ZEdGdGNDQnBjeUJ5WldGemIyNWhZbXg1SUhOdFlXeHNMQ0IxYzJVZ1UyTm9aV1IxYkdWeUozTWdZRzV2ZDJBZ1pHbHlaV04wYkhrdVhHNHZMeUJVYUdseklIZHBiR3dnWW1VZ2RHaGxJR05oYzJVZ1ptOXlJRzF2WkdWeWJpQmljbTkzYzJWeWN5QjBhR0YwSUhOMWNIQnZjblFnWUhCbGNtWnZjbTFoYm1ObExtNXZkMkF1SUVsdVhHNHZMeUJ2YkdSbGNpQmljbTkzYzJWeWN5d2dVMk5vWldSMWJHVnlJR1poYkd4eklHSmhZMnNnZEc4Z1lFUmhkR1V1Ym05M1lDd2dkMmhwWTJnZ2NtVjBkWEp1Y3lCaElGVnVhWGhjYmk4dklIUnBiV1Z6ZEdGdGNDNGdTVzRnZEdoaGRDQmpZWE5sTENCemRXSjBjbUZqZENCMGFHVWdiVzlrZFd4bElHbHVhWFJwWVd4cGVtRjBhVzl1SUhScGJXVWdkRzhnYzJsdGRXeGhkR1ZjYmk4dklIUm9aU0JpWldoaGRtbHZjaUJ2WmlCd1pYSm1iM0p0WVc1alpTNXViM2NnWVc1a0lHdGxaWEFnYjNWeUlIUnBiV1Z6SUhOdFlXeHNJR1Z1YjNWbmFDQjBieUJtYVhSY2JpOHZJSGRwZEdocGJpQXpNaUJpYVhSekxseHVMeThnVkU5RVR6b2dRMjl1YzJsa1pYSWdiR2xtZEdsdVp5QjBhR2x6SUdsdWRHOGdVMk5vWldSMWJHVnlMbHh1WEc1MllYSWdibTkzSUQwZ2FXNXBkR2xoYkZScGJXVk5jeUE4SURFd01EQXdJRDhnVTJOb1pXUjFiR1Z5WDI1dmR5QTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdjbVYwZFhKdUlGTmphR1ZrZFd4bGNsOXViM2NvS1NBdElHbHVhWFJwWVd4VWFXMWxUWE03WEc1OU8xeHVablZ1WTNScGIyNGdaMlYwUTNWeWNtVnVkRkJ5YVc5eWFYUjVUR1YyWld3b0tTQjdYRzRnSUhOM2FYUmphQ0FvVTJOb1pXUjFiR1Z5WDJkbGRFTjFjbkpsYm5SUWNtbHZjbWwwZVV4bGRtVnNLQ2twSUh0Y2JpQWdJQ0JqWVhObElGTmphR1ZrZFd4bGNsOUpiVzFsWkdsaGRHVlFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCSmJXMWxaR2xoZEdWUWNtbHZjbWwwZVR0Y2JseHVJQ0FnSUdOaGMyVWdVMk5vWldSMWJHVnlYMVZ6WlhKQ2JHOWphMmx1WjFCeWFXOXlhWFI1T2x4dUlDQWdJQ0FnY21WMGRYSnVJRlZ6WlhKQ2JHOWphMmx1WjFCeWFXOXlhWFI1SkRFN1hHNWNiaUFnSUNCallYTmxJRk5qYUdWa2RXeGxjbDlPYjNKdFlXeFFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCT2IzSnRZV3hRY21sdmNtbDBlVHRjYmx4dUlDQWdJR05oYzJVZ1UyTm9aV1IxYkdWeVgweHZkMUJ5YVc5eWFYUjVPbHh1SUNBZ0lDQWdjbVYwZFhKdUlFeHZkMUJ5YVc5eWFYUjVPMXh1WEc0Z0lDQWdZMkZ6WlNCVFkyaGxaSFZzWlhKZlNXUnNaVkJ5YVc5eWFYUjVPbHh1SUNBZ0lDQWdjbVYwZFhKdUlFbGtiR1ZRY21sdmNtbDBlVHRjYmx4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pWYm10dWIzZHVJSEJ5YVc5eWFYUjVJR3hsZG1Wc0xsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsWVdOMFVISnBiM0pwZEhsVWIxTmphR1ZrZFd4bGNsQnlhVzl5YVhSNUtISmxZV04wVUhKcGIzSnBkSGxNWlhabGJDa2dlMXh1SUNCemQybDBZMmdnS0hKbFlXTjBVSEpwYjNKcGRIbE1aWFpsYkNrZ2UxeHVJQ0FnSUdOaGMyVWdTVzF0WldScFlYUmxVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQnlaWFIxY200Z1UyTm9aV1IxYkdWeVgwbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNU8xeHVYRzRnSUNBZ1kyRnpaU0JWYzJWeVFteHZZMnRwYm1kUWNtbHZjbWwwZVNReE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZOamFHVmtkV3hsY2w5VmMyVnlRbXh2WTJ0cGJtZFFjbWx2Y21sMGVUdGNibHh1SUNBZ0lHTmhjMlVnVG05eWJXRnNVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQnlaWFIxY200Z1UyTm9aV1IxYkdWeVgwNXZjbTFoYkZCeWFXOXlhWFI1TzF4dVhHNGdJQ0FnWTJGelpTQk1iM2RRY21sdmNtbDBlVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQlRZMmhsWkhWc1pYSmZURzkzVUhKcGIzSnBkSGs3WEc1Y2JpQWdJQ0JqWVhObElFbGtiR1ZRY21sdmNtbDBlVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQlRZMmhsWkhWc1pYSmZTV1JzWlZCeWFXOXlhWFI1TzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxWdWEyNXZkMjRnY0hKcGIzSnBkSGtnYkdWMlpXd3VYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnY25WdVYybDBhRkJ5YVc5eWFYUjVKREVvY21WaFkzUlFjbWx2Y21sMGVVeGxkbVZzTENCbWJpa2dlMXh1SUNCMllYSWdjSEpwYjNKcGRIbE1aWFpsYkNBOUlISmxZV04wVUhKcGIzSnBkSGxVYjFOamFHVmtkV3hsY2xCeWFXOXlhWFI1S0hKbFlXTjBVSEpwYjNKcGRIbE1aWFpsYkNrN1hHNGdJSEpsZEhWeWJpQlRZMmhsWkhWc1pYSmZjblZ1VjJsMGFGQnlhVzl5YVhSNUtIQnlhVzl5YVhSNVRHVjJaV3dzSUdadUtUdGNibjFjYm1aMWJtTjBhVzl1SUhOamFHVmtkV3hsUTJGc2JHSmhZMnNvY21WaFkzUlFjbWx2Y21sMGVVeGxkbVZzTENCallXeHNZbUZqYXl3Z2IzQjBhVzl1Y3lrZ2UxeHVJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUhKbFlXTjBVSEpwYjNKcGRIbFViMU5qYUdWa2RXeGxjbEJ5YVc5eWFYUjVLSEpsWVdOMFVISnBiM0pwZEhsTVpYWmxiQ2s3WEc0Z0lISmxkSFZ5YmlCVFkyaGxaSFZzWlhKZmMyTm9aV1IxYkdWRFlXeHNZbUZqYXlod2NtbHZjbWwwZVV4bGRtVnNMQ0JqWVd4c1ltRmpheXdnYjNCMGFXOXVjeWs3WEc1OVhHNW1kVzVqZEdsdmJpQnpZMmhsWkhWc1pWTjVibU5EWVd4c1ltRmpheWhqWVd4c1ltRmpheWtnZTF4dUlDQXZMeUJRZFhOb0lIUm9hWE1nWTJGc2JHSmhZMnNnYVc1MGJ5QmhiaUJwYm5SbGNtNWhiQ0J4ZFdWMVpTNGdWMlVuYkd3Z1pteDFjMmdnZEdobGMyVWdaV2wwYUdWeUlHbHVYRzRnSUM4dklIUm9aU0J1WlhoMElIUnBZMnNzSUc5eUlHVmhjbXhwWlhJZ2FXWWdjMjl0WlhSb2FXNW5JR05oYkd4eklHQm1iSFZ6YUZONWJtTkRZV3hzWW1GamExRjFaWFZsWUM1Y2JpQWdhV1lnS0hONWJtTlJkV1YxWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhONWJtTlJkV1YxWlNBOUlGdGpZV3hzWW1GamExMDdJQzh2SUVac2RYTm9JSFJvWlNCeGRXVjFaU0JwYmlCMGFHVWdibVY0ZENCMGFXTnJMQ0JoZENCMGFHVWdaV0Z5YkdsbGMzUXVYRzVjYmlBZ0lDQnBiVzFsWkdsaGRHVlJkV1YxWlVOaGJHeGlZV05yVG05a1pTQTlJRk5qYUdWa2RXeGxjbDl6WTJobFpIVnNaVU5oYkd4aVlXTnJLRk5qYUdWa2RXeGxjbDlKYlcxbFpHbGhkR1ZRY21sdmNtbDBlU3dnWm14MWMyaFRlVzVqUTJGc2JHSmhZMnRSZFdWMVpVbHRjR3dwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGQjFjMmdnYjI1MGJ5QmxlR2x6ZEdsdVp5QnhkV1YxWlM0Z1JHOXVKM1FnYm1WbFpDQjBieUJ6WTJobFpIVnNaU0JoSUdOaGJHeGlZV05ySUdKbFkyRjFjMlZjYmlBZ0lDQXZMeUIzWlNCaGJISmxZV1I1SUhOamFHVmtkV3hsWkNCdmJtVWdkMmhsYmlCM1pTQmpjbVZoZEdWa0lIUm9aU0J4ZFdWMVpTNWNiaUFnSUNCemVXNWpVWFZsZFdVdWNIVnphQ2hqWVd4c1ltRmpheWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWm1GclpVTmhiR3hpWVdOclRtOWtaVHRjYm4xY2JtWjFibU4wYVc5dUlHTmhibU5sYkVOaGJHeGlZV05yS0dOaGJHeGlZV05yVG05a1pTa2dlMXh1SUNCcFppQW9ZMkZzYkdKaFkydE9iMlJsSUNFOVBTQm1ZV3RsUTJGc2JHSmhZMnRPYjJSbEtTQjdYRzRnSUNBZ1UyTm9aV1IxYkdWeVgyTmhibU5sYkVOaGJHeGlZV05yS0dOaGJHeGlZV05yVG05a1pTazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR1pzZFhOb1UzbHVZME5oYkd4aVlXTnJVWFZsZFdVb0tTQjdYRzRnSUdsbUlDaHBiVzFsWkdsaGRHVlJkV1YxWlVOaGJHeGlZV05yVG05a1pTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIWmhjaUJ1YjJSbElEMGdhVzF0WldScFlYUmxVWFZsZFdWRFlXeHNZbUZqYTA1dlpHVTdYRzRnSUNBZ2FXMXRaV1JwWVhSbFVYVmxkV1ZEWVd4c1ltRmphMDV2WkdVZ1BTQnVkV3hzTzF4dUlDQWdJRk5qYUdWa2RXeGxjbDlqWVc1alpXeERZV3hzWW1GamF5aHViMlJsS1R0Y2JpQWdmVnh1WEc0Z0lHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1ZKYlhCc0tDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1ZKYlhCc0tDa2dlMXh1SUNCcFppQW9JV2x6Um14MWMyaHBibWRUZVc1alVYVmxkV1VnSmlZZ2MzbHVZMUYxWlhWbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdVSEpsZG1WdWRDQnlaUzFsYm5SeVlXNWplUzVjYmlBZ0lDQnBjMFpzZFhOb2FXNW5VM2x1WTFGMVpYVmxJRDBnZEhKMVpUdGNiaUFnSUNCMllYSWdhU0E5SURBN1hHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdkbUZ5SUY5cGMxTjVibU1nUFNCMGNuVmxPMXh1SUNBZ0lDQWdkbUZ5SUhGMVpYVmxJRDBnYzNsdVkxRjFaWFZsTzF4dUlDQWdJQ0FnY25WdVYybDBhRkJ5YVc5eWFYUjVKREVvU1cxdFpXUnBZWFJsVUhKcGIzSnBkSGtzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdabTl5SUNnN0lHa2dQQ0J4ZFdWMVpTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJqWVd4c1ltRmpheUE5SUhGMVpYVmxXMmxkTzF4dVhHNGdJQ0FnSUNBZ0lDQWdaRzhnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZzYkdKaFkyc2dQU0JqWVd4c1ltRmpheWhmYVhOVGVXNWpLVHRjYmlBZ0lDQWdJQ0FnSUNCOUlIZG9hV3hsSUNoallXeHNZbUZqYXlBaFBUMGdiblZzYkNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdjM2x1WTFGMVpYVmxJRDBnYm5Wc2JEdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdjMjl0WlhSb2FXNW5JSFJvY205M2N5d2diR1ZoZG1VZ2RHaGxJSEpsYldGcGJtbHVaeUJqWVd4c1ltRmphM01nYjI0Z2RHaGxJSEYxWlhWbExseHVJQ0FnSUNBZ2FXWWdLSE41Ym1OUmRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCemVXNWpVWFZsZFdVZ1BTQnplVzVqVVhWbGRXVXVjMnhwWTJVb2FTQXJJREVwTzF4dUlDQWdJQ0FnZlNBdkx5QlNaWE4xYldVZ1pteDFjMmhwYm1jZ2FXNGdkR2hsSUc1bGVIUWdkR2xqYTF4dVhHNWNiaUFnSUNBZ0lGTmphR1ZrZFd4bGNsOXpZMmhsWkhWc1pVTmhiR3hpWVdOcktGTmphR1ZrZFd4bGNsOUpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTd2dabXgxYzJoVGVXNWpRMkZzYkdKaFkydFJkV1YxWlNrN1hHNGdJQ0FnSUNCMGFISnZkeUJsY25KdmNqdGNiaUFnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ2FYTkdiSFZ6YUdsdVoxTjVibU5SZFdWMVpTQTlJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnVG05TmIyUmxJRDBnTUR0Y2JuWmhjaUJUZEhKcFkzUk5iMlJsSUQwZ01Uc2dMeThnVkU5RVR6b2dVbVZ0YjNabElFSnNiMk5yYVc1blRXOWtaU0JoYm1RZ1EyOXVZM1Z5Y21WdWRFMXZaR1VnWW5rZ2NtVmhaR2x1WnlCbWNtOXRJSFJvWlNCeWIyOTBYRzR2THlCMFlXY2dhVzV6ZEdWaFpGeHVYRzUyWVhJZ1FteHZZMnRwYm1kTmIyUmxJRDBnTWp0Y2JuWmhjaUJEYjI1amRYSnlaVzUwVFc5a1pTQTlJRFE3WEc1MllYSWdVSEp2Wm1sc1pVMXZaR1VnUFNBNE8xeHVYRzR2THlCTllYZ2dNekVnWW1sMElHbHVkR1ZuWlhJdUlGUm9aU0J0WVhnZ2FXNTBaV2RsY2lCemFYcGxJR2x1SUZZNElHWnZjaUF6TWkxaWFYUWdjM2x6ZEdWdGN5NWNiaTh2SUUxaGRHZ3VjRzkzS0RJc0lETXdLU0F0SURGY2JpOHZJREJpTVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeFhHNTJZWElnVFVGWVgxTkpSMDVGUkY4ek1WOUNTVlJmU1U1VUlEMGdNVEEzTXpjME1UZ3lNenRjYmx4dWRtRnlJRTV2VjI5eWF5QTlJREE3SUM4dklGUlBSRTg2SUZSb2FXNXJJRzltSUdFZ1ltVjBkR1Z5SUc1aGJXVWdabTl5SUU1bGRtVnlMaUJVYUdVZ2EyVjVJR1JwWm1abGNtVnVZMlVnZDJsMGFDQkpaR3hsSUdseklIUm9ZWFJjYmk4dklFNWxkbVZ5SUhkdmNtc2dZMkZ1SUdKbElHTnZiVzFwZEhSbFpDQnBiaUJoYmlCcGJtTnZibk5wYzNSbGJuUWdjM1JoZEdVZ2QybDBhRzkxZENCMFpXRnlhVzVuSUhSb1pTQlZTUzVjYmk4dklGUm9aU0J0WVdsdUlHVjRZVzF3YkdVZ2FYTWdiMlptYzJOeVpXVnVJR052Ym5SbGJuUXNJR3hwYTJVZ1lTQm9hV1JrWlc0Z2MzVmlkSEpsWlM0Z1UyOGdiMjVsSUhCdmMzTnBZbXhsWEc0dkx5QnVZVzFsSUdseklFOW1abk5qY21WbGJpNGdTRzkzWlhabGNpd2dhWFFnWVd4emJ5QnBibU5zZFdSbGN5QmtaV2g1WkhKaGRHVmtJRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSnBaWE1zWEc0dkx5QjNhR2xqYUNCaGNtVWdhVzVqYjI1emFYTjBaVzUwSUdsdUlIUm9aU0J6Wlc1elpTQjBhR0YwSUhSb1pYa2dhR0YyWlc0bmRDQm1hVzVwYzJobFpDQjVaWFFzSUdKMWRGeHVMeThnWVhKbGJpZDBJSFpwYzJsaWJIa2dhVzVqYjI1emFYTjBaVzUwSUdKbFkyRjFjMlVnZEdobElITmxjblpsY2lCeVpXNWtaWEpsWkNCSVZFMU1JRzFoZEdOb1pYTWdkMmhoZENCMGFHVmNiaTh2SUdoNVpISmhkR1ZrSUhSeVpXVWdkMjkxYkdRZ2JHOXZheUJzYVd0bExseHVYRzUyWVhJZ1RtVjJaWElnUFNBeE95QXZMeUJKWkd4bElHbHpJSE5zYVdkb2RHeDVJR2hwWjJobGNpQndjbWx2Y21sMGVTQjBhR0Z1SUU1bGRtVnlMaUJKZENCdGRYTjBJR052YlhCc1pYUmxiSGtnWm1sdWFYTm9JR2x1WEc0dkx5QnZjbVJsY2lCMGJ5QmlaU0JqYjI1emFYTjBaVzUwTGx4dVhHNTJZWElnU1dSc1pTQTlJREk3SUM4dklFTnZiblJwYm5WdmRYTWdTSGxrY21GMGFXOXVJR2x6SUhOc2FXZG9kR3g1SUdocFoyaGxjaUIwYUdGdUlFbGtiR1VnWVc1a0lHbHpJSFZ6WldRZ2RHOGdhVzVqY21WaGMyVmNiaTh2SUhCeWFXOXlhWFI1SUc5bUlHaHZkbVZ5SUhSaGNtZGxkSE11WEc1Y2JuWmhjaUJEYjI1MGFXNTFiM1Z6U0hsa2NtRjBhVzl1SUQwZ016dGNiblpoY2lCVGVXNWpJRDBnVFVGWVgxTkpSMDVGUkY4ek1WOUNTVlJmU1U1VU8xeHVkbUZ5SUVKaGRHTm9aV1FnUFNCVGVXNWpJQzBnTVR0Y2JuWmhjaUJWVGtsVVgxTkpXa1VnUFNBeE1EdGNiblpoY2lCTlFVZEpRMTlPVlUxQ1JWSmZUMFpHVTBWVUlEMGdRbUYwWTJobFpDQXRJREU3SUM4dklERWdkVzVwZENCdlppQmxlSEJwY21GMGFXOXVJSFJwYldVZ2NtVndjbVZ6Wlc1MGN5QXhNRzF6TGx4dVhHNW1kVzVqZEdsdmJpQnRjMVJ2Ulhod2FYSmhkR2x2YmxScGJXVW9iWE1wSUh0Y2JpQWdMeThnUVd4M1lYbHpJSE4xWW5SeVlXTjBJR1p5YjIwZ2RHaGxJRzltWm5ObGRDQnpieUIwYUdGMElIZGxJR1J2YmlkMElHTnNZWE5vSUhkcGRHZ2dkR2hsSUcxaFoybGpJRzUxYldKbGNpQm1iM0lnVG05WGIzSnJMbHh1SUNCeVpYUjFjbTRnVFVGSFNVTmZUbFZOUWtWU1gwOUdSbE5GVkNBdElDaHRjeUF2SUZWT1NWUmZVMGxhUlNCOElEQXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1pYaHdhWEpoZEdsdmJsUnBiV1ZVYjAxektHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSEpsZEhWeWJpQW9UVUZIU1VOZlRsVk5Ra1ZTWDA5R1JsTkZWQ0F0SUdWNGNHbHlZWFJwYjI1VWFXMWxLU0FxSUZWT1NWUmZVMGxhUlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWTJWcGJHbHVaeWh1ZFcwc0lIQnlaV05wYzJsdmJpa2dlMXh1SUNCeVpYUjFjbTRnS0NodWRXMGdMeUJ3Y21WamFYTnBiMjRnZkNBd0tTQXJJREVwSUNvZ2NISmxZMmx6YVc5dU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIyMXdkWFJsUlhod2FYSmhkR2x2YmtKMVkydGxkQ2hqZFhKeVpXNTBWR2x0WlN3Z1pYaHdhWEpoZEdsdmJrbHVUWE1zSUdKMVkydGxkRk5wZW1WTmN5a2dlMXh1SUNCeVpYUjFjbTRnVFVGSFNVTmZUbFZOUWtWU1gwOUdSbE5GVkNBdElHTmxhV3hwYm1jb1RVRkhTVU5mVGxWTlFrVlNYMDlHUmxORlZDQXRJR04xY25KbGJuUlVhVzFsSUNzZ1pYaHdhWEpoZEdsdmJrbHVUWE1nTHlCVlRrbFVYMU5KV2tVc0lHSjFZMnRsZEZOcGVtVk5jeUF2SUZWT1NWUmZVMGxhUlNrN1hHNTlJQzh2SUZSUFJFODZJRlJvYVhNZ1kyOXljbVZ6Y0c5dVpITWdkRzhnVTJOb1pXUjFiR1Z5SjNNZ1RtOXliV0ZzVUhKcGIzSnBkSGtzSUc1dmRDQk1iM2RRY21sdmNtbDBlUzRnVlhCa1lYUmxYRzR2THlCMGFHVWdibUZ0WlhNZ2RHOGdjbVZtYkdWamRDNWNibHh1WEc1MllYSWdURTlYWDFCU1NVOVNTVlJaWDBWWVVFbFNRVlJKVDA0Z1BTQTFNREF3TzF4dWRtRnlJRXhQVjE5UVVrbFBVa2xVV1Y5Q1FWUkRTRjlUU1ZwRklEMGdNalV3TzF4dVpuVnVZM1JwYjI0Z1kyOXRjSFYwWlVGemVXNWpSWGh3YVhKaGRHbHZiaWhqZFhKeVpXNTBWR2x0WlNrZ2UxeHVJQ0J5WlhSMWNtNGdZMjl0Y0hWMFpVVjRjR2x5WVhScGIyNUNkV05yWlhRb1kzVnljbVZ1ZEZScGJXVXNJRXhQVjE5UVVrbFBVa2xVV1Y5RldGQkpVa0ZVU1U5T0xDQk1UMWRmVUZKSlQxSkpWRmxmUWtGVVEwaGZVMGxhUlNrN1hHNTlYRzVtZFc1amRHbHZiaUJqYjIxd2RYUmxVM1Z6Y0dWdWMyVkZlSEJwY21GMGFXOXVLR04xY25KbGJuUlVhVzFsTENCMGFXMWxiM1YwVFhNcElIdGNiaUFnTHk4Z1ZFOUVUem9nVTJodmRXeGtJSGRsSUhkaGNtNGdhV1lnZEdsdFpXOTFkRTF6SUdseklHeHZkMlZ5SUhSb1lXNGdkR2hsSUc1dmNtMWhiQ0J3Y21rZ1pYaHdhWEpoZEdsdmJpQjBhVzFsUDF4dUlDQnlaWFIxY200Z1kyOXRjSFYwWlVWNGNHbHlZWFJwYjI1Q2RXTnJaWFFvWTNWeWNtVnVkRlJwYldVc0lIUnBiV1Z2ZFhSTmN5d2dURTlYWDFCU1NVOVNTVlJaWDBKQlZFTklYMU5KV2tVcE8xeHVmU0F2THlCWFpTQnBiblJsYm5ScGIyNWhiR3g1SUhObGRDQmhJR2hwWjJobGNpQmxlSEJwY21GMGFXOXVJSFJwYldVZ1ptOXlJR2x1ZEdWeVlXTjBhWFpsSUhWd1pHRjBaWE1nYVc1Y2JpOHZJR1JsZGlCMGFHRnVJR2x1SUhCeWIyUjFZM1JwYjI0dVhHNHZMMXh1THk4Z1NXWWdkR2hsSUcxaGFXNGdkR2h5WldGa0lHbHpJR0psYVc1bklHSnNiMk5yWldRZ2MyOGdiRzl1WnlCMGFHRjBJSGx2ZFNCb2FYUWdkR2hsSUdWNGNHbHlZWFJwYjI0c1hHNHZMeUJwZENkeklHRWdjSEp2WW14bGJTQjBhR0YwSUdOdmRXeGtJR0psSUhOdmJIWmxaQ0IzYVhSb0lHSmxkSFJsY2lCelkyaGxaSFZzYVc1bkxseHVMeTljYmk4dklGQmxiM0JzWlNCM2FXeHNJR0psSUcxdmNtVWdiR2xyWld4NUlIUnZJRzV2ZEdsalpTQjBhR2x6SUdGdVpDQm1hWGdnYVhRZ2QybDBhQ0IwYUdVZ2JHOXVaMXh1THk4Z1pYaHdhWEpoZEdsdmJpQjBhVzFsSUdsdUlHUmxkbVZzYjNCdFpXNTBMbHh1THk5Y2JpOHZJRWx1SUhCeWIyUjFZM1JwYjI0Z2QyVWdiM0IwSUdadmNpQmlaWFIwWlhJZ1ZWZ2dZWFFnZEdobElISnBjMnNnYjJZZ2JXRnphMmx1WnlCelkyaGxaSFZzYVc1blhHNHZMeUJ3Y205aWJHVnRjeXdnWW5rZ1pYaHdhWEpwYm1jZ1ptRnpkQzVjYmx4dWRtRnlJRWhKUjBoZlVGSkpUMUpKVkZsZlJWaFFTVkpCVkVsUFRpQTlJQ0ExTURBZ08xeHVkbUZ5SUVoSlIwaGZVRkpKVDFKSlZGbGZRa0ZVUTBoZlUwbGFSU0E5SURFd01EdGNibVoxYm1OMGFXOXVJR052YlhCMWRHVkpiblJsY21GamRHbDJaVVY0Y0dseVlYUnBiMjRvWTNWeWNtVnVkRlJwYldVcElIdGNiaUFnY21WMGRYSnVJR052YlhCMWRHVkZlSEJwY21GMGFXOXVRblZqYTJWMEtHTjFjbkpsYm5SVWFXMWxMQ0JJU1VkSVgxQlNTVTlTU1ZSWlgwVllVRWxTUVZSSlQwNHNJRWhKUjBoZlVGSkpUMUpKVkZsZlFrRlVRMGhmVTBsYVJTazdYRzU5WEc1bWRXNWpkR2x2YmlCcGJtWmxjbEJ5YVc5eWFYUjVSbkp2YlVWNGNHbHlZWFJwYjI1VWFXMWxLR04xY25KbGJuUlVhVzFsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQVDA5SUZONWJtTXBJSHRjYmlBZ0lDQnlaWFIxY200Z1NXMXRaV1JwWVhSbFVISnBiM0pwZEhrN1hHNGdJSDFjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQVDA5SUU1bGRtVnlJSHg4SUdWNGNHbHlZWFJwYjI1VWFXMWxJRDA5UFNCSlpHeGxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFbGtiR1ZRY21sdmNtbDBlVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnRjMVZ1ZEdsc0lEMGdaWGh3YVhKaGRHbHZibFJwYldWVWIwMXpLR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQXRJR1Y0Y0dseVlYUnBiMjVVYVcxbFZHOU5jeWhqZFhKeVpXNTBWR2x0WlNrN1hHNWNiaUFnYVdZZ0tHMXpWVzUwYVd3Z1BEMGdNQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkpiVzFsWkdsaGRHVlFjbWx2Y21sMGVUdGNiaUFnZlZ4dVhHNGdJR2xtSUNodGMxVnVkR2xzSUR3OUlFaEpSMGhmVUZKSlQxSkpWRmxmUlZoUVNWSkJWRWxQVGlBcklFaEpSMGhmVUZKSlQxSkpWRmxmUWtGVVEwaGZVMGxhUlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJWYzJWeVFteHZZMnRwYm1kUWNtbHZjbWwwZVNReE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0cxelZXNTBhV3dnUEQwZ1RFOVhYMUJTU1U5U1NWUlpYMFZZVUVsU1FWUkpUMDRnS3lCTVQxZGZVRkpKVDFKSlZGbGZRa0ZVUTBoZlUwbGFSU2tnZTF4dUlDQWdJSEpsZEhWeWJpQk9iM0p0WVd4UWNtbHZjbWwwZVR0Y2JpQWdmU0F2THlCVVQwUlBPaUJJWVc1a2JHVWdURzkzVUhKcGIzSnBkSGxjYmlBZ0x5OGdRWE56ZFcxbElHRnVlWFJvYVc1bklHeHZkMlZ5SUdoaGN5QnBaR3hsSUhCeWFXOXlhWFI1WEc1Y2JseHVJQ0J5WlhSMWNtNGdTV1JzWlZCeWFXOXlhWFI1TzF4dWZWeHVYRzUyWVhJZ1VtVmhZM1JUZEhKcFkzUk5iMlJsVjJGeWJtbHVaM01nUFNCN1hHNGdJSEpsWTI5eVpGVnVjMkZtWlV4cFptVmplV05zWlZkaGNtNXBibWR6T2lCbWRXNWpkR2x2YmlBb1ptbGlaWElzSUdsdWMzUmhibU5sS1NCN2ZTeGNiaUFnWm14MWMyaFFaVzVrYVc1blZXNXpZV1psVEdsbVpXTjVZMnhsVjJGeWJtbHVaM002SUdaMWJtTjBhVzl1SUNncElIdDlMRnh1SUNCeVpXTnZjbVJNWldkaFkzbERiMjUwWlhoMFYyRnlibWx1WnpvZ1puVnVZM1JwYjI0Z0tHWnBZbVZ5TENCcGJuTjBZVzVqWlNrZ2UzMHNYRzRnSUdac2RYTm9UR1ZuWVdONVEyOXVkR1Y0ZEZkaGNtNXBibWM2SUdaMWJtTjBhVzl1SUNncElIdDlMRnh1SUNCa2FYTmpZWEprVUdWdVpHbHVaMWRoY201cGJtZHpPaUJtZFc1amRHbHZiaUFvS1NCN2ZWeHVmVHRjYmx4dWUxeHVJQ0IyWVhJZ1ptbHVaRk4wY21samRGSnZiM1FnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdJQ0IyWVhJZ2JXRjVZbVZUZEhKcFkzUlNiMjkwSUQwZ2JuVnNiRHRjYmlBZ0lDQjJZWElnYm05a1pTQTlJR1pwWW1WeU8xeHVYRzRnSUNBZ2QyaHBiR1VnS0c1dlpHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2xtSUNodWIyUmxMbTF2WkdVZ0ppQlRkSEpwWTNSTmIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUcxaGVXSmxVM1J5YVdOMFVtOXZkQ0E5SUc1dlpHVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JXRjVZbVZUZEhKcFkzUlNiMjkwTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUJ6WlhSVWIxTnZjblJsWkZOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUNoelpYUXBJSHRjYmlBZ0lDQjJZWElnWVhKeVlYa2dQU0JiWFR0Y2JpQWdJQ0J6WlhRdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUdGeWNtRjVMbkIxYzJnb2RtRnNkV1VwTzF4dUlDQWdJSDBwTzF4dUlDQWdJSEpsZEhWeWJpQmhjbkpoZVM1emIzSjBLQ2t1YW05cGJpZ25MQ0FuS1R0Y2JpQWdmVHRjYmx4dUlDQjJZWElnY0dWdVpHbHVaME52YlhCdmJtVnVkRmRwYkd4TmIzVnVkRmRoY201cGJtZHpJRDBnVzEwN1hHNGdJSFpoY2lCd1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4TmIzVnVkRmRoY201cGJtZHpJRDBnVzEwN1hHNGdJSFpoY2lCd1pXNWthVzVuUTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMWRoY201cGJtZHpJRDBnVzEwN1hHNGdJSFpoY2lCd1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4U1pXTmxhWFpsVUhKdmNITlhZWEp1YVc1bmN5QTlJRnRkTzF4dUlDQjJZWElnY0dWdVpHbHVaME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeUE5SUZ0ZE8xeHVJQ0IyWVhJZ2NHVnVaR2x1WjFWT1UwRkdSVjlEYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsVjJGeWJtbHVaM01nUFNCYlhUc2dMeThnVkhKaFkydHpJR052YlhCdmJtVnVkSE1nZDJVZ2FHRjJaU0JoYkhKbFlXUjVJSGRoY201bFpDQmhZbTkxZEM1Y2JseHVJQ0IyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBWVzV6WVdabFRHbG1aV041WTJ4bGN5QTlJRzVsZHlCVFpYUW9LVHRjYmx4dUlDQlNaV0ZqZEZOMGNtbGpkRTF2WkdWWFlYSnVhVzVuY3k1eVpXTnZjbVJWYm5OaFptVk1hV1psWTNsamJHVlhZWEp1YVc1bmN5QTlJR1oxYm1OMGFXOXVJQ2htYVdKbGNpd2dhVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQXZMeUJFWldSMWNDQnpkSEpoZEdWbmVUb2dWMkZ5YmlCdmJtTmxJSEJsY2lCamIyMXdiMjVsYm5RdVhHNGdJQ0FnYVdZZ0tHUnBaRmRoY201QlltOTFkRlZ1YzJGbVpVeHBabVZqZVdOc1pYTXVhR0Z6S0dacFltVnlMblI1Y0dVcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SWGFXeHNUVzkxYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0x5OGdSRzl1SjNRZ2QyRnliaUJoWW05MWRDQnlaV0ZqZEMxc2FXWmxZM2xqYkdWekxXTnZiWEJoZENCd2IyeDVabWxzYkdWa0lHTnZiWEJ2Ym1WdWRITXVYRzRnSUNBZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MExsOWZjM1Z3Y0hKbGMzTkVaWEJ5WldOaGRHbHZibGRoY201cGJtY2dJVDA5SUhSeWRXVXBJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUlhZWEp1YVc1bmN5NXdkWE5vS0dacFltVnlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWm1saVpYSXViVzlrWlNBbUlGTjBjbWxqZEUxdlpHVWdKaVlnZEhsd1pXOW1JR2x1YzNSaGJtTmxMbFZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lIQmxibVJwYm1kVlRsTkJSa1ZmUTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwVjJGeWJtbHVaM011Y0hWemFDaG1hV0psY2lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE11WDE5emRYQndjbVZ6YzBSbGNISmxZMkYwYVc5dVYyRnlibWx1WnlBaFBUMGdkSEoxWlNrZ2UxeHVJQ0FnSUNBZ2NHVnVaR2x1WjBOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5YWVhKdWFXNW5jeTV3ZFhOb0tHWnBZbVZ5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ptbGlaWEl1Ylc5a1pTQW1JRk4wY21samRFMXZaR1VnSmlZZ2RIbHdaVzltSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQndaVzVrYVc1blZVNVRRVVpGWDBOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5YWVhKdWFXNW5jeTV3ZFhOb0tHWnBZbVZ5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeFZjR1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpTNWZYM04xY0hCeVpYTnpSR1Z3Y21WallYUnBiMjVYWVhKdWFXNW5JQ0U5UFNCMGNuVmxLU0I3WEc0Z0lDQWdJQ0J3Wlc1a2FXNW5RMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVmRoY201cGJtZHpMbkIxYzJnb1ptbGlaWElwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobWFXSmxjaTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU0FtSmlCMGVYQmxiMllnYVc1emRHRnVZMlV1VlU1VFFVWkZYMk52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1VnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZFZUbE5CUmtWZlEyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpWZGhjbTVwYm1kekxuQjFjMmdvWm1saVpYSXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldGamRGTjBjbWxqZEUxdlpHVlhZWEp1YVc1bmN5NW1iSFZ6YUZCbGJtUnBibWRWYm5OaFptVk1hV1psWTNsamJHVlhZWEp1YVc1bmN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0F2THlCWFpTQmtieUJoYmlCcGJtbDBhV0ZzSUhCaGMzTWdkRzhnWjJGMGFHVnlJR052YlhCdmJtVnVkQ0J1WVcxbGMxeHVJQ0FnSUhaaGNpQmpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUlZibWx4ZFdWT1lXMWxjeUE5SUc1bGR5QlRaWFFvS1R0Y2JseHVJQ0FnSUdsbUlDaHdaVzVrYVc1blEyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MFYyRnlibWx1WjNNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdjR1Z1WkdsdVowTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGZGhjbTVwYm1kekxtWnZja1ZoWTJnb1puVnVZM1JwYjI0Z0tHWnBZbVZ5S1NCN1hHNGdJQ0FnSUNBZ0lHTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGVnVhWEYxWlU1aGJXVnpMbUZrWkNoblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0dacFltVnlMblI1Y0dVcElIeDhJQ2REYjIxd2IyNWxiblFuS1R0Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBWVzV6WVdabFRHbG1aV041WTJ4bGN5NWhaR1FvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIQmxibVJwYm1kRGIyMXdiMjVsYm5SWGFXeHNUVzkxYm5SWFlYSnVhVzVuY3lBOUlGdGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWVzVwY1hWbFRtRnRaWE1nUFNCdVpYY2dVMlYwS0NrN1hHNWNiaUFnSUNCcFppQW9jR1Z1WkdsdVoxVk9VMEZHUlY5RGIyMXdiMjVsYm5SWGFXeHNUVzkxYm5SWFlYSnVhVzVuY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQndaVzVrYVc1blZVNVRRVVpGWDBOdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZEZkaGNtNXBibWR6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0dacFltVnlLU0I3WEc0Z0lDQWdJQ0FnSUZWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1RXOTFiblJWYm1seGRXVk9ZVzFsY3k1aFpHUW9aMlYwUTI5dGNHOXVaVzUwVG1GdFpTaG1hV0psY2k1MGVYQmxLU0I4ZkNBblEyOXRjRzl1Wlc1MEp5azdYRzRnSUNBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEZWdWMyRm1aVXhwWm1WamVXTnNaWE11WVdSa0tHWnBZbVZ5TG5SNWNHVXBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0J3Wlc1a2FXNW5WVTVUUVVaRlgwTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGZGhjbTVwYm1keklEMGdXMTA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5WYm1seGRXVk9ZVzFsY3lBOUlHNWxkeUJUWlhRb0tUdGNibHh1SUNBZ0lHbG1JQ2h3Wlc1a2FXNW5RMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2MxZGhjbTVwYm1kekxteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCelYyRnlibWx1WjNNdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXRjRzl1Wlc1MFYybHNiRkpsWTJWcGRtVlFjbTl3YzFWdWFYRjFaVTVoYldWekxtRmtaQ2huWlhSRGIyMXdiMjVsYm5ST1lXMWxLR1pwWW1WeUxuUjVjR1VwSUh4OElDZERiMjF3YjI1bGJuUW5LVHRjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFZXNXpZV1psVEdsbVpXTjVZMnhsY3k1aFpHUW9abWxpWlhJdWRIbHdaU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhCbGJtUnBibWREYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpWMkZ5Ym1sdVozTWdQU0JiWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5WYm1seGRXVk9ZVzFsY3lBOUlHNWxkeUJUWlhRb0tUdGNibHh1SUNBZ0lHbG1JQ2h3Wlc1a2FXNW5WVTVUUVVaRlgwTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hOWFlYSnVhVzVuY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQndaVzVrYVc1blZVNVRRVVpGWDBOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5YWVhKdWFXNW5jeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2htYVdKbGNpa2dlMXh1SUNBZ0lDQWdJQ0JWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2MxVnVhWEYxWlU1aGJXVnpMbUZrWkNoblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0dacFltVnlMblI1Y0dVcElIeDhJQ2REYjIxd2IyNWxiblFuS1R0Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBWVzV6WVdabFRHbG1aV041WTJ4bGN5NWhaR1FvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIQmxibVJwYm1kVlRsTkJSa1ZmUTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMWRoY201cGJtZHpJRDBnVzEwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTnZiWEJ2Ym1WdWRGZHBiR3hWY0dSaGRHVlZibWx4ZFdWT1lXMWxjeUE5SUc1bGR5QlRaWFFvS1R0Y2JseHVJQ0FnSUdsbUlDaHdaVzVrYVc1blEyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpWZGhjbTVwYm1kekxteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxWMkZ5Ym1sdVozTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9abWxpWlhJcElIdGNiaUFnSUNBZ0lDQWdZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6TG1Ga1pDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtHWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVlc1ellXWmxUR2xtWldONVkyeGxjeTVoWkdRb1ptbGlaWEl1ZEhsd1pTazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxWMkZ5Ym1sdVozTWdQU0JiWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFZjR1JoZEdWVmJtbHhkV1ZPWVcxbGN5QTlJRzVsZHlCVFpYUW9LVHRjYmx4dUlDQWdJR2xtSUNod1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeTVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnSUNCd1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2htYVdKbGNpa2dlMXh1SUNBZ0lDQWdJQ0JWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6TG1Ga1pDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtHWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVlc1ellXWmxUR2xtWldONVkyeGxjeTVoWkdRb1ptbGlaWEl1ZEhsd1pTazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSEJsYm1ScGJtZFZUbE5CUmtWZlEyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpWZGhjbTVwYm1keklEMGdXMTA3WEc0Z0lDQWdmU0F2THlCR2FXNWhiR3g1TENCM1pTQm1iSFZ6YUNCaGJHd2dkR2hsSUhkaGNtNXBibWR6WEc0Z0lDQWdMeThnVlU1VFFVWkZYeUJ2Ym1WeklHSmxabTl5WlNCMGFHVWdaR1Z3Y21WallYUmxaQ0J2Ym1WekxDQnphVzVqWlNCMGFHVjVKMnhzSUdKbElDZHNiM1ZrWlhJblhHNWNibHh1SUNBZ0lHbG1JQ2hWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWVzVwY1hWbFRtRnRaWE11YzJsNlpTQStJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQnpiM0owWldST1lXMWxjeUE5SUhObGRGUnZVMjl5ZEdWa1UzUnlhVzVuS0ZWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1RXOTFiblJWYm1seGRXVk9ZVzFsY3lrN1hHNWNiaUFnSUNBZ0lHVnljbTl5S0NkVmMybHVaeUJWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBJR2x1SUhOMGNtbGpkQ0J0YjJSbElHbHpJRzV2ZENCeVpXTnZiVzFsYm1SbFpDQmhibVFnYldGNUlHbHVaR2xqWVhSbElHSjFaM01nYVc0Z2VXOTFjaUJqYjJSbExpQW5JQ3NnSjFObFpTQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWFZ1YzJGbVpTMWpiMjF3YjI1bGJuUXRiR2xtWldONVkyeGxjeUJtYjNJZ1pHVjBZV2xzY3k1Y1hHNWNYRzRuSUNzZ0p5b2dUVzkyWlNCamIyUmxJSGRwZEdnZ2MybGtaU0JsWm1abFkzUnpJSFJ2SUdOdmJYQnZibVZ1ZEVScFpFMXZkVzUwTENCaGJtUWdjMlYwSUdsdWFYUnBZV3dnYzNSaGRHVWdhVzRnZEdobElHTnZibk4wY25WamRHOXlMbHhjYmljZ0t5QW5YRnh1VUd4bFlYTmxJSFZ3WkdGMFpTQjBhR1VnWm05c2JHOTNhVzVuSUdOdmJYQnZibVZ1ZEhNNklDVnpKeXdnYzI5eWRHVmtUbUZ0WlhNcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaFZUbE5CUmtWZlkyOXRjRzl1Wlc1MFYybHNiRkpsWTJWcGRtVlFjbTl3YzFWdWFYRjFaVTVoYldWekxuTnBlbVVnUGlBd0tTQjdYRzRnSUNBZ0lDQjJZWElnWDNOdmNuUmxaRTVoYldWeklEMGdjMlYwVkc5VGIzSjBaV1JUZEhKcGJtY29WVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hOVmJtbHhkV1ZPWVcxbGN5azdYRzVjYmlBZ0lDQWdJR1Z5Y205eUtDZFZjMmx1WnlCVlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeUJwYmlCemRISnBZM1FnYlc5a1pTQnBjeUJ1YjNRZ2NtVmpiMjF0Wlc1a1pXUWdKeUFySUNkaGJtUWdiV0Y1SUdsdVpHbGpZWFJsSUdKMVozTWdhVzRnZVc5MWNpQmpiMlJsTGlBbklDc2dKMU5sWlNCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExYVnVjMkZtWlMxamIyMXdiMjVsYm5RdGJHbG1aV041WTJ4bGN5Qm1iM0lnWkdWMFlXbHNjeTVjWEc1Y1hHNG5JQ3NnSnlvZ1RXOTJaU0JrWVhSaElHWmxkR05vYVc1bklHTnZaR1VnYjNJZ2MybGtaU0JsWm1abFkzUnpJSFJ2SUdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlM1Y1hHNG5JQ3NnWENJcUlFbG1JSGx2ZFNkeVpTQjFjR1JoZEdsdVp5QnpkR0YwWlNCM2FHVnVaWFpsY2lCd2NtOXdjeUJqYUdGdVoyVXNJRndpSUNzZ0ozSmxabUZqZEc5eUlIbHZkWElnWTI5a1pTQjBieUIxYzJVZ2JXVnRiMmw2WVhScGIyNGdkR1ZqYUc1cGNYVmxjeUJ2Y2lCdGIzWmxJR2wwSUhSdklDY2dLeUFuYzNSaGRHbGpJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5NGdUR1ZoY200Z2JXOXlaU0JoZERvZ2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMWtaWEpwZG1Wa0xYTjBZWFJsWEZ4dUp5QXJJQ2RjWEc1UWJHVmhjMlVnZFhCa1lYUmxJSFJvWlNCbWIyeHNiM2RwYm1jZ1kyOXRjRzl1Wlc1MGN6b2dKWE1uTENCZmMyOXlkR1ZrVG1GdFpYTXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6TG5OcGVtVWdQaUF3S1NCN1hHNGdJQ0FnSUNCMllYSWdYM052Y25SbFpFNWhiV1Z6TWlBOUlITmxkRlJ2VTI5eWRHVmtVM1J5YVc1bktGVk9VMEZHUlY5amIyMXdiMjVsYm5SWGFXeHNWWEJrWVhSbFZXNXBjWFZsVG1GdFpYTXBPMXh1WEc0Z0lDQWdJQ0JsY25KdmNpZ25WWE5wYm1jZ1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFZjR1JoZEdVZ2FXNGdjM1J5YVdOMElHMXZaR1VnYVhNZ2JtOTBJSEpsWTI5dGJXVnVaR1ZrSUNjZ0t5QW5ZVzVrSUcxaGVTQnBibVJwWTJGMFpTQmlkV2R6SUdsdUlIbHZkWElnWTI5a1pTNGdKeUFySUNkVFpXVWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzExYm5OaFptVXRZMjl0Y0c5dVpXNTBMV3hwWm1WamVXTnNaWE1nWm05eUlHUmxkR0ZwYkhNdVhGeHVYRnh1SnlBcklDY3FJRTF2ZG1VZ1pHRjBZU0JtWlhSamFHbHVaeUJqYjJSbElHOXlJSE5wWkdVZ1pXWm1aV04wY3lCMGJ5QmpiMjF3YjI1bGJuUkVhV1JWY0dSaGRHVXVYRnh1SnlBcklDZGNYRzVRYkdWaGMyVWdkWEJrWVhSbElIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dGNHOXVaVzUwY3pvZ0pYTW5MQ0JmYzI5eWRHVmtUbUZ0WlhNeUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWVzVwY1hWbFRtRnRaWE11YzJsNlpTQStJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmZjMjl5ZEdWa1RtRnRaWE16SUQwZ2MyVjBWRzlUYjNKMFpXUlRkSEpwYm1jb1kyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MFZXNXBjWFZsVG1GdFpYTXBPMXh1WEc0Z0lDQWdJQ0IzWVhKdUtDZGpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdhR0Z6SUdKbFpXNGdjbVZ1WVcxbFpDd2dZVzVrSUdseklHNXZkQ0J5WldOdmJXMWxibVJsWkNCbWIzSWdkWE5sTGlBbklDc2dKMU5sWlNCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExYVnVjMkZtWlMxamIyMXdiMjVsYm5RdGJHbG1aV041WTJ4bGN5Qm1iM0lnWkdWMFlXbHNjeTVjWEc1Y1hHNG5JQ3NnSnlvZ1RXOTJaU0JqYjJSbElIZHBkR2dnYzJsa1pTQmxabVpsWTNSeklIUnZJR052YlhCdmJtVnVkRVJwWkUxdmRXNTBMQ0JoYm1RZ2MyVjBJR2x1YVhScFlXd2djM1JoZEdVZ2FXNGdkR2hsSUdOdmJuTjBjblZqZEc5eUxseGNiaWNnS3lBbktpQlNaVzVoYldVZ1kyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MElIUnZJRlZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdkRzhnYzNWd2NISmxjM01nSnlBcklDZDBhR2x6SUhkaGNtNXBibWNnYVc0Z2JtOXVMWE4wY21samRDQnRiMlJsTGlCSmJpQlNaV0ZqZENBeE55NTRMQ0J2Ym14NUlIUm9aU0JWVGxOQlJrVmZJRzVoYldVZ2QybHNiQ0IzYjNKckxpQW5JQ3NnSjFSdklISmxibUZ0WlNCaGJHd2daR1Z3Y21WallYUmxaQ0JzYVdabFkzbGpiR1Z6SUhSdklIUm9aV2x5SUc1bGR5QnVZVzFsY3l3Z2VXOTFJR05oYmlCeWRXNGdKeUFySUNkZ2JuQjRJSEpsWVdOMExXTnZaR1Z0YjJRZ2NtVnVZVzFsTFhWdWMyRm1aUzFzYVdabFkzbGpiR1Z6WUNCcGJpQjViM1Z5SUhCeWIycGxZM1FnYzI5MWNtTmxJR1p2YkdSbGNpNWNYRzRuSUNzZ0oxeGNibEJzWldGelpTQjFjR1JoZEdVZ2RHaGxJR1p2Ykd4dmQybHVaeUJqYjIxd2IyNWxiblJ6T2lBbGN5Y3NJRjl6YjNKMFpXUk9ZVzFsY3pNcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCelZXNXBjWFZsVG1GdFpYTXVjMmw2WlNBK0lEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCZmMyOXlkR1ZrVG1GdFpYTTBJRDBnYzJWMFZHOVRiM0owWldSVGRISnBibWNvWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMVZ1YVhGMVpVNWhiV1Z6S1R0Y2JseHVJQ0FnSUNBZ2QyRnliaWduWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeUJvWVhNZ1ltVmxiaUJ5Wlc1aGJXVmtMQ0JoYm1RZ2FYTWdibTkwSUhKbFkyOXRiV1Z1WkdWa0lHWnZjaUIxYzJVdUlDY2dLeUFuVTJWbElHaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRkVzV6WVdabExXTnZiWEJ2Ym1WdWRDMXNhV1psWTNsamJHVnpJR1p2Y2lCa1pYUmhhV3h6TGx4Y2JseGNiaWNnS3lBbktpQk5iM1psSUdSaGRHRWdabVYwWTJocGJtY2dZMjlrWlNCdmNpQnphV1JsSUdWbVptVmpkSE1nZEc4Z1kyOXRjRzl1Wlc1MFJHbGtWWEJrWVhSbExseGNiaWNnS3lCY0lpb2dTV1lnZVc5MUozSmxJSFZ3WkdGMGFXNW5JSE4wWVhSbElIZG9aVzVsZG1WeUlIQnliM0J6SUdOb1lXNW5aU3dnY21WbVlXTjBiM0lnZVc5MWNpQmNJaUFySUNkamIyUmxJSFJ2SUhWelpTQnRaVzF2YVhwaGRHbHZiaUIwWldOb2JtbHhkV1Z6SUc5eUlHMXZkbVVnYVhRZ2RHOGdKeUFySUNkemRHRjBhV01nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpMaUJNWldGeWJpQnRiM0psSUdGME9pQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV1JsY21sMlpXUXRjM1JoZEdWY1hHNG5JQ3NnSnlvZ1VtVnVZVzFsSUdOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1nZEc4Z1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1nZEc4Z2MzVndjSEpsYzNNZ0p5QXJJQ2QwYUdseklIZGhjbTVwYm1jZ2FXNGdibTl1TFhOMGNtbGpkQ0J0YjJSbExpQkpiaUJTWldGamRDQXhOeTU0TENCdmJteDVJSFJvWlNCVlRsTkJSa1ZmSUc1aGJXVWdkMmxzYkNCM2IzSnJMaUFuSUNzZ0oxUnZJSEpsYm1GdFpTQmhiR3dnWkdWd2NtVmpZWFJsWkNCc2FXWmxZM2xqYkdWeklIUnZJSFJvWldseUlHNWxkeUJ1WVcxbGN5d2dlVzkxSUdOaGJpQnlkVzRnSnlBcklDZGdibkI0SUhKbFlXTjBMV052WkdWdGIyUWdjbVZ1WVcxbExYVnVjMkZtWlMxc2FXWmxZM2xqYkdWellDQnBiaUI1YjNWeUlIQnliMnBsWTNRZ2MyOTFjbU5sSUdadmJHUmxjaTVjWEc0bklDc2dKMXhjYmxCc1pXRnpaU0IxY0dSaGRHVWdkR2hsSUdadmJHeHZkMmx1WnlCamIyMXdiMjVsYm5Sek9pQWxjeWNzSUY5emIzSjBaV1JPWVcxbGN6UXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hqYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsVlc1cGNYVmxUbUZ0WlhNdWMybDZaU0ErSURBcElIdGNiaUFnSUNBZ0lIWmhjaUJmYzI5eWRHVmtUbUZ0WlhNMUlEMGdjMlYwVkc5VGIzSjBaV1JUZEhKcGJtY29ZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6S1R0Y2JseHVJQ0FnSUNBZ2QyRnliaWduWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNCb1lYTWdZbVZsYmlCeVpXNWhiV1ZrTENCaGJtUWdhWE1nYm05MElISmxZMjl0YldWdVpHVmtJR1p2Y2lCMWMyVXVJQ2NnS3lBblUyVmxJR2gwZEhCek9pOHZabUl1YldVdmNtVmhZM1F0ZFc1ellXWmxMV052YlhCdmJtVnVkQzFzYVdabFkzbGpiR1Z6SUdadmNpQmtaWFJoYVd4ekxseGNibHhjYmljZ0t5QW5LaUJOYjNabElHUmhkR0VnWm1WMFkyaHBibWNnWTI5a1pTQnZjaUJ6YVdSbElHVm1abVZqZEhNZ2RHOGdZMjl0Y0c5dVpXNTBSR2xrVlhCa1lYUmxMbHhjYmljZ0t5QW5LaUJTWlc1aGJXVWdZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU0IwYnlCVlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNCMGJ5QnpkWEJ3Y21WemN5QW5JQ3NnSjNSb2FYTWdkMkZ5Ym1sdVp5QnBiaUJ1YjI0dGMzUnlhV04wSUcxdlpHVXVJRWx1SUZKbFlXTjBJREUzTG5nc0lHOXViSGtnZEdobElGVk9VMEZHUlY4Z2JtRnRaU0IzYVd4c0lIZHZjbXN1SUNjZ0t5QW5WRzhnY21WdVlXMWxJR0ZzYkNCa1pYQnlaV05oZEdWa0lHeHBabVZqZVdOc1pYTWdkRzhnZEdobGFYSWdibVYzSUc1aGJXVnpMQ0I1YjNVZ1kyRnVJSEoxYmlBbklDc2dKMkJ1Y0hnZ2NtVmhZM1F0WTI5a1pXMXZaQ0J5Wlc1aGJXVXRkVzV6WVdabExXeHBabVZqZVdOc1pYTmdJR2x1SUhsdmRYSWdjSEp2YW1WamRDQnpiM1Z5WTJVZ1ptOXNaR1Z5TGx4Y2JpY2dLeUFuWEZ4dVVHeGxZWE5sSUhWd1pHRjBaU0IwYUdVZ1ptOXNiRzkzYVc1bklHTnZiWEJ2Ym1WdWRITTZJQ1Z6Snl3Z1gzTnZjblJsWkU1aGJXVnpOU2s3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUhaaGNpQndaVzVrYVc1blRHVm5ZV041UTI5dWRHVjRkRmRoY201cGJtY2dQU0J1WlhjZ1RXRndLQ2s3SUM4dklGUnlZV05yY3lCamIyMXdiMjVsYm5SeklIZGxJR2hoZG1VZ1lXeHlaV0ZrZVNCM1lYSnVaV1FnWVdKdmRYUXVYRzVjYmlBZ2RtRnlJR1JwWkZkaGNtNUJZbTkxZEV4bFoyRmplVU52Ym5SbGVIUWdQU0J1WlhjZ1UyVjBLQ2s3WEc1Y2JpQWdVbVZoWTNSVGRISnBZM1JOYjJSbFYyRnlibWx1WjNNdWNtVmpiM0prVEdWbllXTjVRMjl1ZEdWNGRGZGhjbTVwYm1jZ1BTQm1kVzVqZEdsdmJpQW9abWxpWlhJc0lHbHVjM1JoYm1ObEtTQjdYRzRnSUNBZ2RtRnlJSE4wY21samRGSnZiM1FnUFNCbWFXNWtVM1J5YVdOMFVtOXZkQ2htYVdKbGNpazdYRzVjYmlBZ0lDQnBaaUFvYzNSeWFXTjBVbTl2ZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUhSdklHWnBibVFnWVNCVGRISnBZM1JOYjJSbElHTnZiWEJ2Ym1WdWRDQnBiaUJoSUhOMGNtbGpkQ0J0YjJSbElIUnlaV1V1SUNjZ0t5QW5WR2hwY3lCbGNuSnZjaUJwY3lCc2FXdGxiSGtnWTJGMWMyVmtJR0o1SUdFZ1luVm5JR2x1SUZKbFlXTjBMaUJRYkdWaGMyVWdabWxzWlNCaGJpQnBjM04xWlM0bktUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdSR1ZrZFhBZ2MzUnlZWFJsWjNrNklGZGhjbTRnYjI1alpTQndaWElnWTI5dGNHOXVaVzUwTGx4dVhHNWNiaUFnSUNCcFppQW9aR2xrVjJGeWJrRmliM1YwVEdWbllXTjVRMjl1ZEdWNGRDNW9ZWE1vWm1saVpYSXVkSGx3WlNrcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2QyRnlibWx1WjNOR2IzSlNiMjkwSUQwZ2NHVnVaR2x1WjB4bFoyRmplVU52Ym5SbGVIUlhZWEp1YVc1bkxtZGxkQ2h6ZEhKcFkzUlNiMjkwS1R0Y2JseHVJQ0FnSUdsbUlDaG1hV0psY2k1MGVYQmxMbU52Ym5SbGVIUlVlWEJsY3lBaFBTQnVkV3hzSUh4OElHWnBZbVZ5TG5SNWNHVXVZMmhwYkdSRGIyNTBaWGgwVkhsd1pYTWdJVDBnYm5Wc2JDQjhmQ0JwYm5OMFlXNWpaU0FoUFQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnYVc1emRHRnVZMlV1WjJWMFEyaHBiR1JEYjI1MFpYaDBJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQnBaaUFvZDJGeWJtbHVaM05HYjNKU2IyOTBJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdkMkZ5Ym1sdVozTkdiM0pTYjI5MElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUhCbGJtUnBibWRNWldkaFkzbERiMjUwWlhoMFYyRnlibWx1Wnk1elpYUW9jM1J5YVdOMFVtOXZkQ3dnZDJGeWJtbHVaM05HYjNKU2IyOTBLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZDJGeWJtbHVaM05HYjNKU2IyOTBMbkIxYzJnb1ptbGlaWElwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCU1pXRmpkRk4wY21samRFMXZaR1ZYWVhKdWFXNW5jeTVtYkhWemFFeGxaMkZqZVVOdmJuUmxlSFJYWVhKdWFXNW5JRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhCbGJtUnBibWRNWldkaFkzbERiMjUwWlhoMFYyRnlibWx1Wnk1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNobWFXSmxja0Z5Y21GNUxDQnpkSEpwWTNSU2IyOTBLU0I3WEc0Z0lDQWdJQ0JwWmlBb1ptbGlaWEpCY25KaGVTNXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMllYSWdabWx5YzNSR2FXSmxjaUE5SUdacFltVnlRWEp5WVhsYk1GMDdYRzRnSUNBZ0lDQjJZWElnZFc1cGNYVmxUbUZ0WlhNZ1BTQnVaWGNnVTJWMEtDazdYRzRnSUNBZ0lDQm1hV0psY2tGeWNtRjVMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR1pwWW1WeUtTQjdYRzRnSUNBZ0lDQWdJSFZ1YVhGMVpVNWhiV1Z6TG1Ga1pDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtHWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVEdWbllXTjVRMjl1ZEdWNGRDNWhaR1FvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIWmhjaUJ6YjNKMFpXUk9ZVzFsY3lBOUlITmxkRlJ2VTI5eWRHVmtVM1J5YVc1bktIVnVhWEYxWlU1aGJXVnpLVHRjYmlBZ0lDQWdJSFpoY2lCbWFYSnpkRU52YlhCdmJtVnVkRk4wWVdOcklEMGdaMlYwVTNSaFkydENlVVpwWW1WeVNXNUVaWFpCYm1SUWNtOWtLR1pwY25OMFJtbGlaWElwTzF4dVhHNGdJQ0FnSUNCbGNuSnZjaWduVEdWbllXTjVJR052Ym5SbGVIUWdRVkJKSUdoaGN5QmlaV1Z1SUdSbGRHVmpkR1ZrSUhkcGRHaHBiaUJoSUhOMGNtbGpkQzF0YjJSbElIUnlaV1V1SnlBcklDZGNYRzVjWEc1VWFHVWdiMnhrSUVGUVNTQjNhV3hzSUdKbElITjFjSEJ2Y25SbFpDQnBiaUJoYkd3Z01UWXVlQ0J5Wld4bFlYTmxjeXdnWW5WMElHRndjR3hwWTJGMGFXOXVjeUFuSUNzZ0ozVnphVzVuSUdsMElITm9iM1ZzWkNCdGFXZHlZWFJsSUhSdklIUm9aU0J1WlhjZ2RtVnljMmx2Ymk0bklDc2dKMXhjYmx4Y2JsQnNaV0Z6WlNCMWNHUmhkR1VnZEdobElHWnZiR3h2ZDJsdVp5QmpiMjF3YjI1bGJuUnpPaUFsY3ljZ0t5QW5YRnh1WEZ4dVRHVmhjbTRnYlc5eVpTQmhZbTkxZENCMGFHbHpJSGRoY201cGJtY2dhR1Z5WlRvZ2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMXNaV2RoWTNrdFkyOXVkR1Y0ZENjZ0t5QW5KWE1uTENCemIzSjBaV1JPWVcxbGN5d2dabWx5YzNSRGIyMXdiMjVsYm5SVGRHRmpheWs3WEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmhZM1JUZEhKcFkzUk5iMlJsVjJGeWJtbHVaM011WkdselkyRnlaRkJsYm1ScGJtZFhZWEp1YVc1bmN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J3Wlc1a2FXNW5RMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWMkZ5Ym1sdVozTWdQU0JiWFR0Y2JpQWdJQ0J3Wlc1a2FXNW5WVTVUUVVaRlgwTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGZGhjbTVwYm1keklEMGdXMTA3WEc0Z0lDQWdjR1Z1WkdsdVowTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hOWFlYSnVhVzVuY3lBOUlGdGRPMXh1SUNBZ0lIQmxibVJwYm1kVlRsTkJSa1ZmUTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMWRoY201cGJtZHpJRDBnVzEwN1hHNGdJQ0FnY0dWdVpHbHVaME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeUE5SUZ0ZE8xeHVJQ0FnSUhCbGJtUnBibWRWVGxOQlJrVmZRMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVmRoY201cGJtZHpJRDBnVzEwN1hHNGdJQ0FnY0dWdVpHbHVaMHhsWjJGamVVTnZiblJsZUhSWFlYSnVhVzVuSUQwZ2JtVjNJRTFoY0NncE8xeHVJQ0I5TzF4dWZWeHVYRzUyWVhJZ2NtVnpiMngyWlVaaGJXbHNlU0E5SUc1MWJHdzdJQzh2SUNSR2JHOTNSbWw0VFdVZ1JteHZkeUJuWlhSeklHTnZibVoxYzJWa0lHSjVJR0VnVjJWaGExTmxkQ0JtWldGMGRYSmxJR05vWldOcklHSmxiRzkzTGx4dVhHNTJZWElnWm1GcGJHVmtRbTkxYm1SaGNtbGxjeUE5SUc1MWJHdzdYRzUyWVhJZ2MyVjBVbVZtY21WemFFaGhibVJzWlhJZ1BTQm1kVzVqZEdsdmJpQW9hR0Z1Wkd4bGNpa2dlMXh1SUNCN1hHNGdJQ0FnY21WemIyeDJaVVpoYldsc2VTQTlJR2hoYm1Sc1pYSTdYRzRnSUgxY2JuMDdYRzVtZFc1amRHbHZiaUJ5WlhOdmJIWmxSblZ1WTNScGIyNUdiM0pJYjNSU1pXeHZZV1JwYm1jb2RIbHdaU2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSEpsYzI5c2RtVkdZVzFwYkhrZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDOHZJRWh2ZENCeVpXeHZZV1JwYm1jZ2FYTWdaR2x6WVdKc1pXUXVYRzRnSUNBZ0lDQnlaWFIxY200Z2RIbHdaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWm1GdGFXeDVJRDBnY21WemIyeDJaVVpoYldsc2VTaDBlWEJsS1R0Y2JseHVJQ0FnSUdsbUlDaG1ZVzFwYkhrZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFI1Y0dVN1hHNGdJQ0FnZlNBdkx5QlZjMlVnZEdobElHeGhkR1Z6ZENCcmJtOTNiaUJwYlhCc1pXMWxiblJoZEdsdmJpNWNibHh1WEc0Z0lDQWdjbVYwZFhKdUlHWmhiV2xzZVM1amRYSnlaVzUwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCeVpYTnZiSFpsUTJ4aGMzTkdiM0pJYjNSU1pXeHZZV1JwYm1jb2RIbHdaU2tnZTF4dUlDQXZMeUJPYnlCcGJYQnNaVzFsYm5SaGRHbHZiaUJrYVdabVpYSmxibU5sY3k1Y2JpQWdjbVYwZFhKdUlISmxjMjlzZG1WR2RXNWpkR2x2YmtadmNraHZkRkpsYkc5aFpHbHVaeWgwZVhCbEtUdGNibjFjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZHYjNKM1lYSmtVbVZtUm05eVNHOTBVbVZzYjJGa2FXNW5LSFI1Y0dVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoeVpYTnZiSFpsUm1GdGFXeDVJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCSWIzUWdjbVZzYjJGa2FXNW5JR2x6SUdScGMyRmliR1ZrTGx4dUlDQWdJQ0FnY21WMGRYSnVJSFI1Y0dVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHWmhiV2xzZVNBOUlISmxjMjlzZG1WR1lXMXBiSGtvZEhsd1pTazdYRzVjYmlBZ0lDQnBaaUFvWm1GdGFXeDVJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDOHZJRU5vWldOcklHbG1JSGRsSjNKbElHUmxZV3hwYm1jZ2QybDBhQ0JoSUhKbFlXd2dabTl5ZDJGeVpGSmxaaTRnUkc5dUozUWdkMkZ1ZENCMGJ5QmpjbUZ6YUNCbFlYSnNlUzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQjBlWEJsYjJZZ2RIbHdaUzV5Wlc1a1pYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdMeThnUm05eWQyRnlaRkpsWmlCcGN5QnpjR1ZqYVdGc0lHSmxZMkYxYzJVZ2FYUnpJSEpsYzI5c2RtVmtJQzUwZVhCbElHbHpJR0Z1SUc5aWFtVmpkQ3hjYmlBZ0lDQWdJQ0FnTHk4Z1luVjBJR2wwSjNNZ2NHOXpjMmxpYkdVZ2RHaGhkQ0IzWlNCdmJteDVJR2hoZG1VZ2FYUnpJR2x1Ym1WeUlISmxibVJsY2lCbWRXNWpkR2x2YmlCcGJpQjBhR1VnYldGd0xseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHRjBJR2x1Ym1WeUlISmxibVJsY2lCbWRXNWpkR2x2YmlCcGN5QmthV1ptWlhKbGJuUXNJSGRsSjJ4c0lHSjFhV3hrSUdFZ2JtVjNJR1p2Y25kaGNtUlNaV1lnZEhsd1pTNWNiaUFnSUNBZ0lDQWdkbUZ5SUdOMWNuSmxiblJTWlc1a1pYSWdQU0J5WlhOdmJIWmxSblZ1WTNScGIyNUdiM0pJYjNSU1pXeHZZV1JwYm1jb2RIbHdaUzV5Wlc1a1pYSXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsTG5KbGJtUmxjaUFoUFQwZ1kzVnljbVZ1ZEZKbGJtUmxjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ6ZVc1MGFHVjBhV05VZVhCbElEMGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0pDUjBlWEJsYjJZNklGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaVzVrWlhJNklHTjFjbkpsYm5SU1pXNWtaWEpjYmlBZ0lDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1V1WkdsemNHeGhlVTVoYldVZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM2x1ZEdobGRHbGpWSGx3WlM1a2FYTndiR0Y1VG1GdFpTQTlJSFI1Y0dVdVpHbHpjR3hoZVU1aGJXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITjViblJvWlhScFkxUjVjR1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVTdYRzRnSUNBZ2ZTQXZMeUJWYzJVZ2RHaGxJR3hoZEdWemRDQnJibTkzYmlCcGJYQnNaVzFsYm5SaGRHbHZiaTVjYmx4dVhHNGdJQ0FnY21WMGRYSnVJR1poYldsc2VTNWpkWEp5Wlc1ME8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQnBjME52YlhCaGRHbGliR1ZHWVcxcGJIbEdiM0pJYjNSU1pXeHZZV1JwYm1jb1ptbGlaWElzSUdWc1pXMWxiblFwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2h5WlhOdmJIWmxSbUZ0YVd4NUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJJYjNRZ2NtVnNiMkZrYVc1bklHbHpJR1JwYzJGaWJHVmtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCd2NtVjJWSGx3WlNBOUlHWnBZbVZ5TG1Wc1pXMWxiblJVZVhCbE8xeHVJQ0FnSUhaaGNpQnVaWGgwVkhsd1pTQTlJR1ZzWlcxbGJuUXVkSGx3WlRzZ0x5OGdTV1lnZDJVZ1oyOTBJR2hsY21Vc0lIZGxJR3R1YjNjZ2RIbHdaWE1nWVhKbGJpZDBJRDA5UFNCbGNYVmhiQzVjYmx4dUlDQWdJSFpoY2lCdVpXVmtjME52YlhCaGNtVkdZVzFwYkdsbGN5QTlJR1poYkhObE8xeHVJQ0FnSUhaaGNpQWtKSFI1Y0dWdlprNWxlSFJVZVhCbElEMGdkSGx3Wlc5bUlHNWxlSFJVZVhCbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCdVpYaDBWSGx3WlNBaFBUMGdiblZzYkNBL0lHNWxlSFJVZVhCbExpUWtkSGx3Wlc5bUlEb2diblZzYkR0Y2JseHVJQ0FnSUhOM2FYUmphQ0FvWm1saVpYSXVkR0ZuS1NCN1hHNGdJQ0FnSUNCallYTmxJRU5zWVhOelEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVpYaDBWSGx3WlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibVZsWkhORGIyMXdZWEpsUm1GdGFXeHBaWE1nUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR05oYzJVZ1JuVnVZM1JwYjI1RGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUc1bGVIUlVlWEJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaV1ZrYzBOdmJYQmhjbVZHWVcxcGJHbGxjeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNna0pIUjVjR1Z2Wms1bGVIUlVlWEJsSUQwOVBTQlNSVUZEVkY5TVFWcFpYMVJaVUVVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJR1J2YmlkMElHdHViM2NnZEdobElHbHVibVZ5SUhSNWNHVWdlV1YwTGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVjJVbmNtVWdaMjlwYm1jZ2RHOGdZWE56ZFcxbElIUm9ZWFFnZEdobElHeGhlbmtnYVc1dVpYSWdkSGx3WlNCcGN5QnpkR0ZpYkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCaGJtUWdjMjhnYVhRZ2FYTWdjM1ZtWm1samFXVnVkQ0IwYnlCaGRtOXBaQ0J5WldOdmJtTnBiR2x1WnlCcGRDQmhkMkY1TGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVjJVbmNtVWdibTkwSUdkdmFXNW5JSFJ2SUhWdWQzSmhjQ0J2Y2lCaFkzUjFZV3hzZVNCMWMyVWdkR2hsSUc1bGR5QnNZWHA1SUhSNWNHVXVYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpXVmtjME52YlhCaGNtVkdZVzFwYkdsbGN5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyRnpaU0JHYjNKM1lYSmtVbVZtT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NRa2RIbHdaVzltVG1WNGRGUjVjR1VnUFQwOUlGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsWldSelEyOXRjR0Z5WlVaaGJXbHNhV1Z6SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tDUWtkSGx3Wlc5bVRtVjRkRlI1Y0dVZ1BUMDlJRkpGUVVOVVgweEJXbGxmVkZsUVJTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JtVmxaSE5EYjIxd1lYSmxSbUZ0YVd4cFpYTWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTmhjMlVnVFdWdGIwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lHTmhjMlVnVTJsdGNHeGxUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNna0pIUjVjR1Z2Wms1bGVIUlVlWEJsSUQwOVBTQlNSVUZEVkY5TlJVMVBYMVJaVUVVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUlBSRTg2SUdsbUlHbDBJSGRoY3lCaWRYUWdZMkZ1SUc1dklHeHZibWRsY2lCaVpTQnphVzF3YkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCM1pTQnphRzkxYkdSdUozUWdjMlYwSUhSb2FYTXVYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpXVmtjME52YlhCaGNtVkdZVzFwYkdsbGN5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2drSkhSNWNHVnZaazVsZUhSVWVYQmxJRDA5UFNCU1JVRkRWRjlNUVZwWlgxUlpVRVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsWldSelEyOXRjR0Z5WlVaaGJXbHNhV1Z6SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlNBdkx5QkRhR1ZqYXlCcFppQmliM1JvSUhSNWNHVnpJR2hoZG1VZ1lTQm1ZVzFwYkhrZ1lXNWtJR2wwSjNNZ2RHaGxJSE5oYldVZ2IyNWxMbHh1WEc1Y2JpQWdJQ0JwWmlBb2JtVmxaSE5EYjIxd1lYSmxSbUZ0YVd4cFpYTXBJSHRjYmlBZ0lDQWdJQzh2SUU1dmRHVTZJRzFsYlc4b0tTQmhibVFnWm05eWQyRnlaRkpsWmlncElIZGxKMnhzSUdOdmJYQmhjbVVnYjNWMFpYSWdjbUYwYUdWeUlIUm9ZVzRnYVc1dVpYSWdkSGx3WlM1Y2JpQWdJQ0FnSUM4dklGUm9hWE1nYldWaGJuTWdZbTkwYUNCdlppQjBhR1Z0SUc1bFpXUWdkRzhnWW1VZ2NtVm5hWE4wWlhKbFpDQjBieUJ3Y21WelpYSjJaU0J6ZEdGMFpTNWNiaUFnSUNBZ0lDOHZJRWxtSUhkbElIVnVkM0poY0hCbFpDQmhibVFnWTI5dGNHRnlaV1FnZEdobElHbHVibVZ5SUhSNWNHVnpJR1p2Y2lCM2NtRndjR1Z5Y3lCcGJuTjBaV0ZrTEZ4dUlDQWdJQ0FnTHk4Z2RHaGxiaUIzWlNCM2IzVnNaQ0J5YVhOcklHWmhiSE5sYkhrZ2MyRjVhVzVuSUhSM2J5QnpaWEJoY21GMFpTQnRaVzF2S0VadmJ5bGNiaUFnSUNBZ0lDOHZJR05oYkd4eklHRnlaU0JsY1hWcGRtRnNaVzUwSUdKbFkyRjFjMlVnZEdobGVTQjNjbUZ3SUhSb1pTQnpZVzFsSUVadmJ5Qm1kVzVqZEdsdmJpNWNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJtRnRhV3g1SUQwZ2NtVnpiMngyWlVaaGJXbHNlU2h3Y21WMlZIbHdaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHdjbVYyUm1GdGFXeDVJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdjSEpsZGtaaGJXbHNlU0E5UFQwZ2NtVnpiMngyWlVaaGJXbHNlU2h1WlhoMFZIbHdaU2twSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ0WVhKclJtRnBiR1ZrUlhKeWIzSkNiM1Z1WkdGeWVVWnZja2h2ZEZKbGJHOWhaR2x1WnlobWFXSmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSEpsYzI5c2RtVkdZVzFwYkhrZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDOHZJRWh2ZENCeVpXeHZZV1JwYm1jZ2FYTWdaR2x6WVdKc1pXUXVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCWFpXRnJVMlYwSUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1poYVd4bFpFSnZkVzVrWVhKcFpYTWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1poYVd4bFpFSnZkVzVrWVhKcFpYTWdQU0J1WlhjZ1YyVmhhMU5sZENncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdaaGFXeGxaRUp2ZFc1a1lYSnBaWE11WVdSa0tHWnBZbVZ5S1R0Y2JpQWdmVnh1ZlZ4dWRtRnlJSE5qYUdWa2RXeGxVbVZtY21WemFDQTlJR1oxYm1OMGFXOXVJQ2h5YjI5MExDQjFjR1JoZEdVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoeVpYTnZiSFpsUm1GdGFXeDVJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCSWIzUWdjbVZzYjJGa2FXNW5JR2x6SUdScGMyRmliR1ZrTGx4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ6ZEdGc1pVWmhiV2xzYVdWeklEMGdkWEJrWVhSbExuTjBZV3hsUm1GdGFXeHBaWE1zWEc0Z0lDQWdJQ0FnSUhWd1pHRjBaV1JHWVcxcGJHbGxjeUE5SUhWd1pHRjBaUzUxY0dSaGRHVmtSbUZ0YVd4cFpYTTdYRzRnSUNBZ1pteDFjMmhRWVhOemFYWmxSV1ptWldOMGN5Z3BPMXh1SUNBZ0lHWnNkWE5vVTNsdVl5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0J6WTJobFpIVnNaVVpwWW1WeWMxZHBkR2hHWVcxcGJHbGxjMUpsWTNWeWMybDJaV3g1S0hKdmIzUXVZM1Z5Y21WdWRDd2dkWEJrWVhSbFpFWmhiV2xzYVdWekxDQnpkR0ZzWlVaaGJXbHNhV1Z6S1R0Y2JpQWdJQ0I5S1R0Y2JpQWdmVnh1ZlR0Y2JuWmhjaUJ6WTJobFpIVnNaVkp2YjNRZ1BTQm1kVzVqZEdsdmJpQW9jbTl2ZEN3Z1pXeGxiV1Z1ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0hKdmIzUXVZMjl1ZEdWNGRDQWhQVDBnWlcxd2RIbERiMjUwWlhoMFQySnFaV04wS1NCN1hHNGdJQ0FnSUNBdkx5QlRkWEJsY2lCbFpHZGxJR05oYzJVNklISnZiM1FnYUdGeklHRWdiR1ZuWVdONUlGOXlaVzVrWlhKVGRXSjBjbVZsSUdOdmJuUmxlSFJjYmlBZ0lDQWdJQzh2SUdKMWRDQjNaU0JrYjI0bmRDQnJibTkzSUhSb1pTQndZWEpsYm5SRGIyMXdiMjVsYm5RZ2MyOGdkMlVnWTJGdUozUWdjR0Z6Y3lCcGRDNWNiaUFnSUNBZ0lDOHZJRXAxYzNRZ2FXZHViM0psTGlCWFpTZHNiQ0JrWld4bGRHVWdkR2hwY3lCM2FYUm9JRjl5Wlc1a1pYSlRkV0owY21WbElHTnZaR1VnY0dGMGFDQnNZWFJsY2k1Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc0Z0lDQWdjM2x1WTFWd1pHRjBaWE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ2RYQmtZWFJsUTI5dWRHRnBibVZ5S0dWc1pXMWxiblFzSUhKdmIzUXNJRzUxYkd3c0lHNTFiR3dwTzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQnpZMmhsWkhWc1pVWnBZbVZ5YzFkcGRHaEdZVzFwYkdsbGMxSmxZM1Z5YzJsMlpXeDVLR1pwWW1WeUxDQjFjR1JoZEdWa1JtRnRhV3hwWlhNc0lITjBZV3hsUm1GdGFXeHBaWE1wSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJoYkhSbGNtNWhkR1VnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1VzWEc0Z0lDQWdJQ0FnSUdOb2FXeGtJRDBnWm1saVpYSXVZMmhwYkdRc1hHNGdJQ0FnSUNBZ0lITnBZbXhwYm1jZ1BTQm1hV0psY2k1emFXSnNhVzVuTEZ4dUlDQWdJQ0FnSUNCMFlXY2dQU0JtYVdKbGNpNTBZV2NzWEc0Z0lDQWdJQ0FnSUhSNWNHVWdQU0JtYVdKbGNpNTBlWEJsTzF4dUlDQWdJSFpoY2lCallXNWthV1JoZEdWVWVYQmxJRDBnYm5Wc2JEdGNibHh1SUNBZ0lITjNhWFJqYUNBb2RHRm5LU0I3WEc0Z0lDQWdJQ0JqWVhObElFWjFibU4wYVc5dVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ1kyRnpaU0JUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnWTJGelpTQkRiR0Z6YzBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ1kyRnVaR2xrWVhSbFZIbHdaU0E5SUhSNWNHVTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnSUNBZ0lHTmhibVJwWkdGMFpWUjVjR1VnUFNCMGVYQmxMbkpsYm1SbGNqdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tISmxjMjlzZG1WR1lXMXBiSGtnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduUlhod1pXTjBaV1FnY21WemIyeDJaVVpoYldsc2VTQjBieUJpWlNCelpYUWdaSFZ5YVc1bklHaHZkQ0J5Wld4dllXUXVKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1bFpXUnpVbVZ1WkdWeUlEMGdabUZzYzJVN1hHNGdJQ0FnZG1GeUlHNWxaV1J6VW1WdGIzVnVkQ0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdhV1lnS0dOaGJtUnBaR0YwWlZSNWNHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSFpoY2lCbVlXMXBiSGtnUFNCeVpYTnZiSFpsUm1GdGFXeDVLR05oYm1ScFpHRjBaVlI1Y0dVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvWm1GdGFXeDVJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hOMFlXeGxSbUZ0YVd4cFpYTXVhR0Z6S0daaGJXbHNlU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQnVaV1ZrYzFKbGJXOTFiblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hWd1pHRjBaV1JHWVcxcGJHbGxjeTVvWVhNb1ptRnRhV3g1S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMFlXY2dQVDA5SUVOc1lYTnpRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaV1ZrYzFKbGJXOTFiblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaV1ZrYzFKbGJtUmxjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHWmhhV3hsWkVKdmRXNWtZWEpwWlhNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2htWVdsc1pXUkNiM1Z1WkdGeWFXVnpMbWhoY3lobWFXSmxjaWtnZkh3Z1lXeDBaWEp1WVhSbElDRTlQU0J1ZFd4c0lDWW1JR1poYVd4bFpFSnZkVzVrWVhKcFpYTXVhR0Z6S0dGc2RHVnlibUYwWlNrcElIdGNiaUFnSUNBZ0lDQWdibVZsWkhOU1pXMXZkVzUwSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYm1WbFpITlNaVzF2ZFc1MEtTQjdYRzRnSUNBZ0lDQm1hV0psY2k1ZlpHVmlkV2RPWldWa2MxSmxiVzkxYm5RZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodVpXVmtjMUpsYlc5MWJuUWdmSHdnYm1WbFpITlNaVzVrWlhJcElIdGNiaUFnSUNBZ0lITmphR1ZrZFd4bFYyOXlheWhtYVdKbGNpd2dVM2x1WXlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTm9hV3hrSUNFOVBTQnVkV3hzSUNZbUlDRnVaV1ZrYzFKbGJXOTFiblFwSUh0Y2JpQWdJQ0FnSUhOamFHVmtkV3hsUm1saVpYSnpWMmwwYUVaaGJXbHNhV1Z6VW1WamRYSnphWFpsYkhrb1kyaHBiR1FzSUhWd1pHRjBaV1JHWVcxcGJHbGxjeXdnYzNSaGJHVkdZVzFwYkdsbGN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE5wWW14cGJtY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSE5qYUdWa2RXeGxSbWxpWlhKelYybDBhRVpoYldsc2FXVnpVbVZqZFhKemFYWmxiSGtvYzJsaWJHbHVaeXdnZFhCa1lYUmxaRVpoYldsc2FXVnpMQ0J6ZEdGc1pVWmhiV2xzYVdWektUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUdacGJtUkliM04wU1c1emRHRnVZMlZ6Um05eVVtVm1jbVZ6YUNBOUlHWjFibU4wYVc5dUlDaHliMjkwTENCbVlXMXBiR2xsY3lrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUdodmMzUkpibk4wWVc1alpYTWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lDQWdkbUZ5SUhSNWNHVnpJRDBnYm1WM0lGTmxkQ2htWVcxcGJHbGxjeTV0WVhBb1puVnVZM1JwYjI0Z0tHWmhiV2xzZVNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJXbHNlUzVqZFhKeVpXNTBPMXh1SUNBZ0lIMHBLVHRjYmlBZ0lDQm1hVzVrU0c5emRFbHVjM1JoYm1ObGMwWnZjazFoZEdOb2FXNW5SbWxpWlhKelVtVmpkWEp6YVhabGJIa29jbTl2ZEM1amRYSnlaVzUwTENCMGVYQmxjeXdnYUc5emRFbHVjM1JoYm1ObGN5azdYRzRnSUNBZ2NtVjBkWEp1SUdodmMzUkpibk4wWVc1alpYTTdYRzRnSUgxY2JuMDdYRzVjYm1aMWJtTjBhVzl1SUdacGJtUkliM04wU1c1emRHRnVZMlZ6Um05eVRXRjBZMmhwYm1kR2FXSmxjbk5TWldOMWNuTnBkbVZzZVNobWFXSmxjaXdnZEhsd1pYTXNJR2h2YzNSSmJuTjBZVzVqWlhNcElIdGNiaUFnZTF4dUlDQWdJSFpoY2lCamFHbHNaQ0E5SUdacFltVnlMbU5vYVd4a0xGeHVJQ0FnSUNBZ0lDQnphV0pzYVc1bklEMGdabWxpWlhJdWMybGliR2x1Wnl4Y2JpQWdJQ0FnSUNBZ2RHRm5JRDBnWm1saVpYSXVkR0ZuTEZ4dUlDQWdJQ0FnSUNCMGVYQmxJRDBnWm1saVpYSXVkSGx3WlR0Y2JpQWdJQ0IyWVhJZ1kyRnVaR2xrWVhSbFZIbHdaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQnpkMmwwWTJnZ0tIUmhaeWtnZTF4dUlDQWdJQ0FnWTJGelpTQkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lHTmhjMlVnVTJsdGNHeGxUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUdOaGMyVWdRMnhoYzNORGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNBZ0lHTmhibVJwWkdGMFpWUjVjR1VnUFNCMGVYQmxPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCR2IzSjNZWEprVW1WbU9seHVJQ0FnSUNBZ0lDQmpZVzVrYVdSaGRHVlVlWEJsSUQwZ2RIbHdaUzV5Wlc1a1pYSTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmthV1JOWVhSamFDQTlJR1poYkhObE8xeHVYRzRnSUNBZ2FXWWdLR05oYm1ScFpHRjBaVlI1Y0dVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2gwZVhCbGN5NW9ZWE1vWTJGdVpHbGtZWFJsVkhsd1pTa3BJSHRjYmlBZ0lDQWdJQ0FnWkdsa1RXRjBZMmdnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hrYVdSTllYUmphQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVWdhR0YyWlNCaElHMWhkR05vTGlCVWFHbHpJRzl1YkhrZ1pISnBiR3h6SUdSdmQyNGdkRzhnZEdobElHTnNiM05sYzNRZ2FHOXpkQ0JqYjIxd2IyNWxiblJ6TGx4dUlDQWdJQ0FnTHk4Z1ZHaGxjbVVuY3lCdWJ5QnVaV1ZrSUhSdklITmxZWEpqYUNCa1pXVndaWElnWW1WallYVnpaU0JtYjNJZ2RHaGxJSEIxY25CdmMyVWdiMllnWjJsMmFXNW5YRzRnSUNBZ0lDQXZMeUIyYVhOMVlXd2dabVZsWkdKaFkyc3NJRndpWm14aGMyaHBibWRjSWlCdmRYUmxjbTF2YzNRZ2NHRnlaVzUwSUhKbFkzUmhibWRzWlhNZ2FYTWdjM1ZtWm1samFXVnVkQzVjYmlBZ0lDQWdJR1pwYm1SSWIzTjBTVzV6ZEdGdVkyVnpSbTl5Um1saVpYSlRhR0ZzYkc5M2JIa29abWxpWlhJc0lHaHZjM1JKYm5OMFlXNWpaWE1wTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJKWmlCMGFHVnlaU2R6SUc1dklHMWhkR05vTENCdFlYbGlaU0IwYUdWeVpTQjNhV3hzSUdKbElHOXVaU0JtZFhKMGFHVnlJR1J2ZDI0Z2FXNGdkR2hsSUdOb2FXeGtJSFJ5WldVdVhHNGdJQ0FnSUNCcFppQW9ZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdabWx1WkVodmMzUkpibk4wWVc1alpYTkdiM0pOWVhSamFHbHVaMFpwWW1WeWMxSmxZM1Z5YzJsMlpXeDVLR05vYVd4a0xDQjBlWEJsY3l3Z2FHOXpkRWx1YzNSaGJtTmxjeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hOcFlteHBibWNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdacGJtUkliM04wU1c1emRHRnVZMlZ6Um05eVRXRjBZMmhwYm1kR2FXSmxjbk5TWldOMWNuTnBkbVZzZVNoemFXSnNhVzVuTENCMGVYQmxjeXdnYUc5emRFbHVjM1JoYm1ObGN5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1SSWIzTjBTVzV6ZEdGdVkyVnpSbTl5Um1saVpYSlRhR0ZzYkc5M2JIa29abWxpWlhJc0lHaHZjM1JKYm5OMFlXNWpaWE1wSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJtYjNWdVpFaHZjM1JKYm5OMFlXNWpaWE1nUFNCbWFXNWtRMmhwYkdSSWIzTjBTVzV6ZEdGdVkyVnpSbTl5Um1saVpYSlRhR0ZzYkc5M2JIa29abWxpWlhJc0lHaHZjM1JKYm5OMFlXNWpaWE1wTzF4dVhHNGdJQ0FnYVdZZ0tHWnZkVzVrU0c5emRFbHVjM1JoYm1ObGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdTV1lnZDJVZ1pHbGtiaWQwSUdacGJtUWdZVzU1SUdodmMzUWdZMmhwYkdSeVpXNHNJR1poYkd4aVlXTnJJSFJ2SUdOc2IzTmxjM1FnYUc5emRDQndZWEpsYm5RdVhHNWNibHh1SUNBZ0lIWmhjaUJ1YjJSbElEMGdabWxpWlhJN1hHNWNiaUFnSUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lDQWdjM2RwZEdOb0lDaHViMlJsTG5SaFp5a2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElFaHZjM1JEYjIxd2IyNWxiblE2WEc0Z0lDQWdJQ0FnSUNBZ2FHOXpkRWx1YzNSaGJtTmxjeTVoWkdRb2JtOWtaUzV6ZEdGMFpVNXZaR1VwTzF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUlFiM0owWVd3NlhHNGdJQ0FnSUNBZ0lDQWdhRzl6ZEVsdWMzUmhibU5sY3k1aFpHUW9ibTlrWlM1emRHRjBaVTV2WkdVdVkyOXVkR0ZwYm1WeVNXNW1ieWs3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnSUNBZ0lHTmhjMlVnU0c5emRGSnZiM1E2WEc0Z0lDQWdJQ0FnSUNBZ2FHOXpkRWx1YzNSaGJtTmxjeTVoWkdRb2JtOWtaUzV6ZEdGMFpVNXZaR1V1WTI5dWRHRnBibVZ5U1c1bWJ5azdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzV5WlhSMWNtNGdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RGZUhCbFkzUmxaQ0IwYnlCeVpXRmphQ0J5YjI5MElHWnBjbk4wTGljcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzV5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1SRGFHbHNaRWh2YzNSSmJuTjBZVzVqWlhOR2IzSkdhV0psY2xOb1lXeHNiM2RzZVNobWFXSmxjaXdnYUc5emRFbHVjM1JoYm1ObGN5a2dlMXh1SUNCN1hHNGdJQ0FnZG1GeUlHNXZaR1VnUFNCbWFXSmxjanRjYmlBZ0lDQjJZWElnWm05MWJtUkliM04wU1c1emRHRnVZMlZ6SUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUM4dklGZGxJR2R2ZENCaElHMWhkR05vTGx4dUlDQWdJQ0FnSUNCbWIzVnVaRWh2YzNSSmJuTjBZVzVqWlhNZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNCb2IzTjBTVzV6ZEdGdVkyVnpMbUZrWkNodWIyUmxMbk4wWVhSbFRtOWtaU2s3SUM4dklGUm9aWEpsSUcxaGVTQnpkR2xzYkNCaVpTQnRiM0psTENCemJ5QnJaV1Z3SUhObFlYSmphR2x1Wnk1Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtOWtaUzVqYUdsc1pDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0J1YjJSbExtTm9hV3hrTG5KbGRIVnliaUE5SUc1dlpHVTdYRzRnSUNBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG1Ob2FXeGtPMXh1SUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHNXZaR1VnUFQwOUlHWnBZbVZ5S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWIzVnVaRWh2YzNSSmJuTjBZVzVqWlhNN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIZG9hV3hsSUNodWIyUmxMbk5wWW14cGJtY2dQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHNXZaR1V1Y21WMGRYSnVJRDA5UFNCdWRXeHNJSHg4SUc1dlpHVXVjbVYwZFhKdUlEMDlQU0JtYVdKbGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNWdVpFaHZjM1JKYm5OMFlXNWpaWE03WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzV5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRzV2WkdVdWMybGliR2x1Wnk1eVpYUjFjbTRnUFNCdWIyUmxMbkpsZEhWeWJqdGNiaUFnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbk5wWW14cGJtYzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhOdmJIWmxSR1ZtWVhWc2RGQnliM0J6S0VOdmJYQnZibVZ1ZEN3Z1ltRnpaVkJ5YjNCektTQjdYRzRnSUdsbUlDaERiMjF3YjI1bGJuUWdKaVlnUTI5dGNHOXVaVzUwTG1SbFptRjFiSFJRY205d2N5a2dlMXh1SUNBZ0lDOHZJRkpsYzI5c2RtVWdaR1ZtWVhWc2RDQndjbTl3Y3k0Z1ZHRnJaVzRnWm5KdmJTQlNaV0ZqZEVWc1pXMWxiblJjYmlBZ0lDQjJZWElnY0hKdmNITWdQU0JmWVhOemFXZHVLSHQ5TENCaVlYTmxVSEp2Y0hNcE8xeHVYRzRnSUNBZ2RtRnlJR1JsWm1GMWJIUlFjbTl3Y3lBOUlFTnZiWEJ2Ym1WdWRDNWtaV1poZFd4MFVISnZjSE03WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJ3Y205d1RtRnRaU0JwYmlCa1pXWmhkV3gwVUhKdmNITXBJSHRjYmlBZ0lDQWdJR2xtSUNod2NtOXdjMXR3Y205d1RtRnRaVjBnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0J3Y205d2MxdHdjbTl3VG1GdFpWMGdQU0JrWldaaGRXeDBVSEp2Y0hOYmNISnZjRTVoYldWZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ3Y205d2N6dGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmlZWE5sVUhKdmNITTdYRzU5WEc1bWRXNWpkR2x2YmlCeVpXRmtUR0Y2ZVVOdmJYQnZibVZ1ZEZSNWNHVW9iR0Y2ZVVOdmJYQnZibVZ1ZENrZ2UxeHVJQ0JwYm1sMGFXRnNhWHBsVEdGNmVVTnZiWEJ2Ym1WdWRGUjVjR1VvYkdGNmVVTnZiWEJ2Ym1WdWRDazdYRzVjYmlBZ2FXWWdLR3hoZW5sRGIyMXdiMjVsYm5RdVgzTjBZWFIxY3lBaFBUMGdVbVZ6YjJ4MlpXUXBJSHRjYmlBZ0lDQjBhSEp2ZHlCc1lYcDVRMjl0Y0c5dVpXNTBMbDl5WlhOMWJIUTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiR0Y2ZVVOdmJYQnZibVZ1ZEM1ZmNtVnpkV3gwTzF4dWZWeHVYRzUyWVhJZ2RtRnNkV1ZEZFhKemIzSWdQU0JqY21WaGRHVkRkWEp6YjNJb2JuVnNiQ2s3WEc1MllYSWdjbVZ1WkdWeVpYSlRhV2RwYkR0Y2JseHVlMXh1SUNBdkx5QlZjMlVnZEdocGN5QjBieUJrWlhSbFkzUWdiWFZzZEdsd2JHVWdjbVZ1WkdWeVpYSnpJSFZ6YVc1bklIUm9aU0J6WVcxbElHTnZiblJsZUhSY2JpQWdjbVZ1WkdWeVpYSlRhV2RwYkNBOUlIdDlPMXh1ZlZ4dVhHNTJZWElnWTNWeWNtVnVkR3g1VW1WdVpHVnlhVzVuUm1saVpYSWdQU0J1ZFd4c08xeHVkbUZ5SUd4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlJRzUxYkd3N1hHNTJZWElnYkdGemRFTnZiblJsZUhSWGFYUm9RV3hzUW1sMGMwOWljMlZ5ZG1Wa0lEMGdiblZzYkR0Y2JuWmhjaUJwYzBScGMyRnNiRzkzWldSRGIyNTBaWGgwVW1WaFpFbHVSRVZXSUQwZ1ptRnNjMlU3WEc1bWRXNWpkR2x2YmlCeVpYTmxkRU52Ym5SbGVIUkVaWEJsYm1SbGJtTnBaWE1vS1NCN1hHNGdJQzh2SUZSb2FYTWdhWE1nWTJGc2JHVmtJSEpwWjJoMElHSmxabTl5WlNCU1pXRmpkQ0I1YVdWc1pITWdaWGhsWTNWMGFXOXVMQ0IwYnlCbGJuTjFjbVVnWUhKbFlXUkRiMjUwWlhoMFlGeHVJQ0F2THlCallXNXViM1FnWW1VZ1kyRnNiR1ZrSUc5MWRITnBaR1VnZEdobElISmxibVJsY2lCd2FHRnpaUzVjYmlBZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElnUFNCdWRXeHNPMXh1SUNCc1lYTjBRMjl1ZEdWNGRFUmxjR1Z1WkdWdVkza2dQU0J1ZFd4c08xeHVJQ0JzWVhOMFEyOXVkR1Y0ZEZkcGRHaEJiR3hDYVhSelQySnpaWEoyWldRZ1BTQnVkV3hzTzF4dVhHNGdJSHRjYmlBZ0lDQnBjMFJwYzJGc2JHOTNaV1JEYjI1MFpYaDBVbVZoWkVsdVJFVldJRDBnWm1Gc2MyVTdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR1Z1ZEdWeVJHbHpZV3hzYjNkbFpFTnZiblJsZUhSU1pXRmtTVzVFUlZZb0tTQjdYRzRnSUh0Y2JpQWdJQ0JwYzBScGMyRnNiRzkzWldSRGIyNTBaWGgwVW1WaFpFbHVSRVZXSUQwZ2RISjFaVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWlhocGRFUnBjMkZzYkc5M1pXUkRiMjUwWlhoMFVtVmhaRWx1UkVWV0tDa2dlMXh1SUNCN1hHNGdJQ0FnYVhORWFYTmhiR3h2ZDJWa1EyOXVkR1Y0ZEZKbFlXUkpia1JGVmlBOUlHWmhiSE5sTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCd2RYTm9VSEp2ZG1sa1pYSW9jSEp2ZG1sa1pYSkdhV0psY2l3Z2JtVjRkRlpoYkhWbEtTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdjSEp2ZG1sa1pYSkdhV0psY2k1MGVYQmxMbDlqYjI1MFpYaDBPMXh1WEc0Z0lIdGNiaUFnSUNCd2RYTm9LSFpoYkhWbFEzVnljMjl5TENCamIyNTBaWGgwTGw5amRYSnlaVzUwVm1Gc2RXVXNJSEJ5YjNacFpHVnlSbWxpWlhJcE8xeHVJQ0FnSUdOdmJuUmxlSFF1WDJOMWNuSmxiblJXWVd4MVpTQTlJRzVsZUhSV1lXeDFaVHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNoamIyNTBaWGgwTGw5amRYSnlaVzUwVW1WdVpHVnlaWElnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJqYjI1MFpYaDBMbDlqZFhKeVpXNTBVbVZ1WkdWeVpYSWdJVDA5SUc1MWJHd2dKaVlnWTI5dWRHVjRkQzVmWTNWeWNtVnVkRkpsYm1SbGNtVnlJQ0U5UFNCeVpXNWtaWEpsY2xOcFoybHNLU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RFWlhSbFkzUmxaQ0J0ZFd4MGFYQnNaU0J5Wlc1a1pYSmxjbk1nWTI5dVkzVnljbVZ1ZEd4NUlISmxibVJsY21sdVp5QjBhR1VnSnlBcklDZHpZVzFsSUdOdmJuUmxlSFFnY0hKdmRtbGtaWEl1SUZSb2FYTWdhWE1nWTNWeWNtVnVkR3g1SUhWdWMzVndjRzl5ZEdWa0xpY3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqYjI1MFpYaDBMbDlqZFhKeVpXNTBVbVZ1WkdWeVpYSWdQU0J5Wlc1a1pYSmxjbE5wWjJsc08xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2NHOXdVSEp2ZG1sa1pYSW9jSEp2ZG1sa1pYSkdhV0psY2lrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZaaGJIVmxJRDBnZG1Gc2RXVkRkWEp6YjNJdVkzVnljbVZ1ZER0Y2JpQWdjRzl3S0haaGJIVmxRM1Z5YzI5eUxDQndjbTkyYVdSbGNrWnBZbVZ5S1R0Y2JpQWdkbUZ5SUdOdmJuUmxlSFFnUFNCd2NtOTJhV1JsY2tacFltVnlMblI1Y0dVdVgyTnZiblJsZUhRN1hHNWNiaUFnZTF4dUlDQWdJR052Ym5SbGVIUXVYMk4xY25KbGJuUldZV3gxWlNBOUlHTjFjbkpsYm5SV1lXeDFaVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWTJGc1kzVnNZWFJsUTJoaGJtZGxaRUpwZEhNb1kyOXVkR1Y0ZEN3Z2JtVjNWbUZzZFdVc0lHOXNaRlpoYkhWbEtTQjdYRzRnSUdsbUlDaHZZbXBsWTNSSmN5aHZiR1JXWVd4MVpTd2dibVYzVm1Gc2RXVXBLU0I3WEc0Z0lDQWdMeThnVG04Z1kyaGhibWRsWEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUdOb1lXNW5aV1JDYVhSeklEMGdkSGx3Wlc5bUlHTnZiblJsZUhRdVgyTmhiR04xYkdGMFpVTm9ZVzVuWldSQ2FYUnpJRDA5UFNBblpuVnVZM1JwYjI0bklEOGdZMjl1ZEdWNGRDNWZZMkZzWTNWc1lYUmxRMmhoYm1kbFpFSnBkSE1vYjJ4a1ZtRnNkV1VzSUc1bGQxWmhiSFZsS1NBNklFMUJXRjlUU1VkT1JVUmZNekZmUWtsVVgwbE9WRHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNnb1kyaGhibWRsWkVKcGRITWdKaUJOUVZoZlUwbEhUa1ZFWHpNeFgwSkpWRjlKVGxRcElDRTlQU0JqYUdGdVoyVmtRbWwwY3lrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnblkyRnNZM1ZzWVhSbFEyaGhibWRsWkVKcGRITTZJRVY0Y0dWamRHVmtJSFJvWlNCeVpYUjFjbTRnZG1Gc2RXVWdkRzhnWW1VZ1lTQW5JQ3NnSnpNeExXSnBkQ0JwYm5SbFoyVnlMaUJKYm5OMFpXRmtJSEpsWTJWcGRtVmtPaUFsY3ljc0lHTm9ZVzVuWldSQ2FYUnpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1kyaGhibWRsWkVKcGRITWdmQ0F3TzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCelkyaGxaSFZzWlZkdmNtdFBibEJoY21WdWRGQmhkR2dvY0dGeVpXNTBMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0F2THlCVmNHUmhkR1VnZEdobElHTm9hV3hrSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0J2WmlCaGJHd2dkR2hsSUdGdVkyVnpkRzl5Y3l3Z2FXNWpiSFZrYVc1blhHNGdJQzh2SUhSb1pTQmhiSFJsY201aGRHVnpMbHh1SUNCMllYSWdibTlrWlNBOUlIQmhjbVZ1ZER0Y2JseHVJQ0IzYUdsc1pTQW9ibTlrWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhaaGNpQmhiSFJsY201aGRHVWdQU0J1YjJSbExtRnNkR1Z5Ym1GMFpUdGNibHh1SUNBZ0lHbG1JQ2h1YjJSbExtTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ2JtOWtaUzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJR2xtSUNoaGJIUmxjbTVoZEdVZ0lUMDlJRzUxYkd3Z0ppWWdZV3gwWlhKdVlYUmxMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0JoYkhSbGNtNWhkR1V1WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZV3gwWlhKdVlYUmxJQ0U5UFNCdWRXeHNJQ1ltSUdGc2RHVnlibUYwWlM1amFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUdGc2RHVnlibUYwWlM1amFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRTVsYVhSb1pYSWdZV3gwWlhKdVlYUmxJSGRoY3lCMWNHUmhkR1ZrTENCM2FHbGphQ0J0WldGdWN5QjBhR1VnY21WemRDQnZaaUIwYUdWY2JpQWdJQ0FnSUM4dklHRnVZMlZ6ZEc5eUlIQmhkR2dnWVd4eVpXRmtlU0JvWVhNZ2MzVm1abWxqYVdWdWRDQndjbWx2Y21sMGVTNWNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnY0hKdmNHRm5ZWFJsUTI5dWRHVjRkRU5vWVc1blpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1kyOXVkR1Y0ZEN3Z1kyaGhibWRsWkVKcGRITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCbWFXSmxjaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVYRzRnSUdsbUlDaG1hV0psY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGTmxkQ0IwYUdVZ2NtVjBkWEp1SUhCdmFXNTBaWElnYjJZZ2RHaGxJR05vYVd4a0lIUnZJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUdacFltVnlMbHh1SUNBZ0lHWnBZbVZ5TG5KbGRIVnliaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpPMXh1SUNCOVhHNWNiaUFnZDJocGJHVWdLR1pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJRzVsZUhSR2FXSmxjaUE5SUhadmFXUWdNRHNnTHk4Z1ZtbHphWFFnZEdocGN5Qm1hV0psY2k1Y2JseHVJQ0FnSUhaaGNpQnNhWE4wSUQwZ1ptbGlaWEl1WkdWd1pXNWtaVzVqYVdWek8xeHVYRzRnSUNBZ2FXWWdLR3hwYzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHNWxlSFJHYVdKbGNpQTlJR1pwWW1WeUxtTm9hV3hrTzF4dUlDQWdJQ0FnZG1GeUlHUmxjR1Z1WkdWdVkza2dQU0JzYVhOMExtWnBjbk4wUTI5dWRHVjRkRHRjYmx4dUlDQWdJQ0FnZDJocGJHVWdLR1JsY0dWdVpHVnVZM2tnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRMmhsWTJzZ2FXWWdkR2hsSUdOdmJuUmxlSFFnYldGMFkyaGxjeTVjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmxjR1Z1WkdWdVkza3VZMjl1ZEdWNGRDQTlQVDBnWTI5dWRHVjRkQ0FtSmlBb1pHVndaVzVrWlc1amVTNXZZbk5sY25abFpFSnBkSE1nSmlCamFHRnVaMlZrUW1sMGN5a2dJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCTllYUmphQ0VnVTJOb1pXUjFiR1VnWVc0Z2RYQmtZWFJsSUc5dUlIUm9hWE1nWm1saVpYSXVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHWnBZbVZ5TG5SaFp5QTlQVDBnUTJ4aGMzTkRiMjF3YjI1bGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRk5qYUdWa2RXeGxJR0VnWm05eVkyVWdkWEJrWVhSbElHOXVJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56TGx4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhWd1pHRjBaU0E5SUdOeVpXRjBaVlZ3WkdGMFpTaHlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU3dnYm5Wc2JDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCMWNHUmhkR1V1ZEdGbklEMGdSbTl5WTJWVmNHUmhkR1U3SUM4dklGUlBSRTg2SUVKbFkyRjFjMlVnZDJVZ1pHOXVKM1FnYUdGMlpTQmhJSGR2Y21zdGFXNHRjSEp2WjNKbGMzTXNJSFJvYVhNZ2QybHNiQ0JoWkdRZ2RHaGxYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjFjR1JoZEdVZ2RHOGdkR2hsSUdOMWNuSmxiblFnWm1saVpYSXNJSFJ2Ynl3Z2QyaHBZMmdnYldWaGJuTWdhWFFnZDJsc2JDQndaWEp6YVhOMElHVjJaVzRnYVdaY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSb2FYTWdjbVZ1WkdWeUlHbHpJSFJvY205M2JpQmhkMkY1TGlCVGFXNWpaU0JwZENkeklHRWdjbUZqWlNCamIyNWthWFJwYjI0c0lHNXZkQ0J6ZFhKbElHbDBKM05jYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSGR2Y25Sb0lHWnBlR2x1Wnk1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnWlc1eGRXVjFaVlZ3WkdGMFpTaG1hV0psY2l3Z2RYQmtZWFJsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9abWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptbGlaWEl1Wlhod2FYSmhkR2x2YmxScGJXVWdQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdZV3gwWlhKdVlYUmxJRDBnWm1saVpYSXVZV3gwWlhKdVlYUmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR0ZzZEdWeWJtRjBaU0FoUFQwZ2JuVnNiQ0FtSmlCaGJIUmxjbTVoZEdVdVpYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1lXeDBaWEp1WVhSbExtVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjMk5vWldSMWJHVlhiM0pyVDI1UVlYSmxiblJRWVhSb0tHWnBZbVZ5TG5KbGRIVnliaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE95QXZMeUJOWVhKcklIUm9aU0JsZUhCcGNtRjBhVzl1SUhScGJXVWdiMjRnZEdobElHeHBjM1FzSUhSdmJ5NWNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHNhWE4wTG1WNGNHbHlZWFJwYjI1VWFXMWxJRHdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGMzUXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNCOUlDOHZJRk5wYm1ObElIZGxJR0ZzY21WaFpIa2dabTkxYm1RZ1lTQnRZWFJqYUN3Z2QyVWdZMkZ1SUhOMGIzQWdkSEpoZG1WeWMybHVaeUIwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJrWlhCbGJtUmxibU41SUd4cGMzUXVYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdaR1Z3Wlc1a1pXNWplU0E5SUdSbGNHVnVaR1Z1WTNrdWJtVjRkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1pwWW1WeUxuUmhaeUE5UFQwZ1EyOXVkR1Y0ZEZCeWIzWnBaR1Z5S1NCN1hHNGdJQ0FnSUNBdkx5QkViMjRuZENCelkyRnVJR1JsWlhCbGNpQnBaaUIwYUdseklHbHpJR0VnYldGMFkyaHBibWNnY0hKdmRtbGtaWEpjYmlBZ0lDQWdJRzVsZUhSR2FXSmxjaUE5SUdacFltVnlMblI1Y0dVZ1BUMDlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1VnUHlCdWRXeHNJRG9nWm1saVpYSXVZMmhwYkdRN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUZSeVlYWmxjbk5sSUdSdmQyNHVYRzRnSUNBZ0lDQnVaWGgwUm1saVpYSWdQU0JtYVdKbGNpNWphR2xzWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JtVjRkRVpwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJUWlhRZ2RHaGxJSEpsZEhWeWJpQndiMmx1ZEdWeUlHOW1JSFJvWlNCamFHbHNaQ0IwYnlCMGFHVWdkMjl5YXkxcGJpMXdjbTluY21WemN5Qm1hV0psY2k1Y2JpQWdJQ0FnSUc1bGVIUkdhV0psY2k1eVpYUjFjbTRnUFNCbWFXSmxjanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdUbThnWTJocGJHUXVJRlJ5WVhabGNuTmxJSFJ2SUc1bGVIUWdjMmxpYkdsdVp5NWNiaUFnSUNBZ0lHNWxlSFJHYVdKbGNpQTlJR1pwWW1WeU8xeHVYRzRnSUNBZ0lDQjNhR2xzWlNBb2JtVjRkRVpwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNodVpYaDBSbWxpWlhJZ1BUMDlJSGR2Y210SmJsQnliMmR5WlhOektTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1YyVW5jbVVnWW1GamF5QjBieUIwYUdVZ2NtOXZkQ0J2WmlCMGFHbHpJSE4xWW5SeVpXVXVJRVY0YVhRdVhHNGdJQ0FnSUNBZ0lDQWdibVY0ZEVacFltVnlJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnphV0pzYVc1bklEMGdibVY0ZEVacFltVnlMbk5wWW14cGJtYzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tITnBZbXhwYm1jZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCVFpYUWdkR2hsSUhKbGRIVnliaUJ3YjJsdWRHVnlJRzltSUhSb1pTQnphV0pzYVc1bklIUnZJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUdacFltVnlMbHh1SUNBZ0lDQWdJQ0FnSUhOcFlteHBibWN1Y21WMGRYSnVJRDBnYm1WNGRFWnBZbVZ5TG5KbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSbWxpWlhJZ1BTQnphV0pzYVc1bk8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUU1dklHMXZjbVVnYzJsaWJHbHVaM011SUZSeVlYWmxjbk5sSUhWd0xseHVYRzVjYmlBZ0lDQWdJQ0FnYm1WNGRFWnBZbVZ5SUQwZ2JtVjRkRVpwWW1WeUxuSmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYVdKbGNpQTlJRzVsZUhSR2FXSmxjanRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnY0hKbGNHRnlaVlJ2VW1WaFpFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUd4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlJRzUxYkd3N1hHNGdJR3hoYzNSRGIyNTBaWGgwVjJsMGFFRnNiRUpwZEhOUFluTmxjblpsWkNBOUlHNTFiR3c3WEc0Z0lIWmhjaUJrWlhCbGJtUmxibU5wWlhNZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1a1pYQmxibVJsYm1OcFpYTTdYRzVjYmlBZ2FXWWdLR1JsY0dWdVpHVnVZMmxsY3lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhaaGNpQm1hWEp6ZEVOdmJuUmxlSFFnUFNCa1pYQmxibVJsYm1OcFpYTXVabWx5YzNSRGIyNTBaWGgwTzF4dVhHNGdJQ0FnYVdZZ0tHWnBjbk4wUTI5dWRHVjRkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHUmxjR1Z1WkdWdVkybGxjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQStQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJEYjI1MFpYaDBJR3hwYzNRZ2FHRnpJR0VnY0dWdVpHbHVaeUIxY0dSaGRHVXVJRTFoY21zZ2RHaGhkQ0IwYUdseklHWnBZbVZ5SUhCbGNtWnZjbTFsWkNCM2IzSnJMbHh1SUNBZ0lDQWdJQ0J0WVhKclYyOXlhMGx1VUhKdlozSmxjM05TWldObGFYWmxaRlZ3WkdGMFpTZ3BPMXh1SUNBZ0lDQWdmU0F2THlCU1pYTmxkQ0IwYUdVZ2QyOXlheTFwYmkxd2NtOW5jbVZ6Y3lCc2FYTjBYRzVjYmx4dUlDQWdJQ0FnWkdWd1pXNWtaVzVqYVdWekxtWnBjbk4wUTI5dWRHVjRkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcElIdGNiaUFnZTF4dUlDQWdJQzh2SUZSb2FYTWdkMkZ5Ym1sdVp5QjNiM1ZzWkNCbWFYSmxJR2xtSUhsdmRTQnlaV0ZrSUdOdmJuUmxlSFFnYVc1emFXUmxJR0VnU0c5dmF5QnNhV3RsSUhWelpVMWxiVzh1WEc0Z0lDQWdMeThnVlc1c2FXdGxJSFJvWlNCamJHRnpjeUJqYUdWamF5QmlaV3h2ZHl3Z2FYUW5jeUJ1YjNRZ1pXNW1iM0pqWldRZ2FXNGdjSEp2WkhWamRHbHZiaUJtYjNJZ2NHVnlaaTVjYmlBZ0lDQnBaaUFvYVhORWFYTmhiR3h2ZDJWa1EyOXVkR1Y0ZEZKbFlXUkpia1JGVmlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBOdmJuUmxlSFFnWTJGdUlHOXViSGtnWW1VZ2NtVmhaQ0IzYUdsc1pTQlNaV0ZqZENCcGN5QnlaVzVrWlhKcGJtY3VJQ2NnS3lBblNXNGdZMnhoYzNObGN5d2dlVzkxSUdOaGJpQnlaV0ZrSUdsMElHbHVJSFJvWlNCeVpXNWtaWElnYldWMGFHOWtJRzl5SUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeTRnSnlBcklDZEpiaUJtZFc1amRHbHZiaUJqYjIxd2IyNWxiblJ6TENCNWIzVWdZMkZ1SUhKbFlXUWdhWFFnWkdseVpXTjBiSGtnYVc0Z2RHaGxJR1oxYm1OMGFXOXVJR0p2Wkhrc0lHSjFkQ0J1YjNRZ0p5QXJJQ2RwYm5OcFpHVWdTRzl2YTNNZ2JHbHJaU0IxYzJWU1pXUjFZMlZ5S0NrZ2IzSWdkWE5sVFdWdGJ5Z3BMaWNwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHNZWE4wUTI5dWRHVjRkRmRwZEdoQmJHeENhWFJ6VDJKelpYSjJaV1FnUFQwOUlHTnZiblJsZUhRcElEc2daV3h6WlNCcFppQW9iMkp6WlhKMlpXUkNhWFJ6SUQwOVBTQm1ZV3h6WlNCOGZDQnZZbk5sY25abFpFSnBkSE1nUFQwOUlEQXBJRHNnWld4elpTQjdYRzRnSUNBZ2RtRnlJSEpsYzI5c2RtVmtUMkp6WlhKMlpXUkNhWFJ6T3lBdkx5QkJkbTlwWkNCa1pXOXdkR2x1WnlCdmJpQnZZbk5sY25aaFlteGxJR0Z5WjNWdFpXNTBjeUJ2Y2lCb1pYUmxjbTluWlc1bGIzVnpJSFI1Y0dWekxseHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZZbk5sY25abFpFSnBkSE1nSVQwOUlDZHVkVzFpWlhJbklIeDhJRzlpYzJWeWRtVmtRbWwwY3lBOVBUMGdUVUZZWDFOSlIwNUZSRjh6TVY5Q1NWUmZTVTVVS1NCN1hHNGdJQ0FnSUNBdkx5QlBZbk5sY25abElHRnNiQ0IxY0dSaGRHVnpMbHh1SUNBZ0lDQWdiR0Z6ZEVOdmJuUmxlSFJYYVhSb1FXeHNRbWwwYzA5aWMyVnlkbVZrSUQwZ1kyOXVkR1Y0ZER0Y2JpQWdJQ0FnSUhKbGMyOXNkbVZrVDJKelpYSjJaV1JDYVhSeklEMGdUVUZZWDFOSlIwNUZSRjh6TVY5Q1NWUmZTVTVVTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWE52YkhabFpFOWljMlZ5ZG1Wa1FtbDBjeUE5SUc5aWMyVnlkbVZrUW1sMGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZMjl1ZEdWNGRFbDBaVzBnUFNCN1hHNGdJQ0FnSUNCamIyNTBaWGgwT2lCamIyNTBaWGgwTEZ4dUlDQWdJQ0FnYjJKelpYSjJaV1JDYVhSek9pQnlaWE52YkhabFpFOWljMlZ5ZG1Wa1FtbDBjeXhjYmlBZ0lDQWdJRzVsZUhRNklHNTFiR3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdhV1lnS0d4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0NFb1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElnSVQwOUlHNTFiR3dwS1NCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkRiMjUwWlhoMElHTmhiaUJ2Ym14NUlHSmxJSEpsWVdRZ2QyaHBiR1VnVW1WaFkzUWdhWE1nY21WdVpHVnlhVzVuTGlCSmJpQmpiR0Z6YzJWekxDQjViM1VnWTJGdUlISmxZV1FnYVhRZ2FXNGdkR2hsSUhKbGJtUmxjaUJ0WlhSb2IyUWdiM0lnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpMaUJKYmlCbWRXNWpkR2x2YmlCamIyMXdiMjVsYm5SekxDQjViM1VnWTJGdUlISmxZV1FnYVhRZ1pHbHlaV04wYkhrZ2FXNGdkR2hsSUdaMWJtTjBhVzl1SUdKdlpIa3NJR0oxZENCdWIzUWdhVzV6YVdSbElFaHZiMnR6SUd4cGEyVWdkWE5sVW1Wa2RXTmxjaWdwSUc5eUlIVnpaVTFsYlc4b0tTNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlDOHZJRlJvYVhNZ2FYTWdkR2hsSUdacGNuTjBJR1JsY0dWdVpHVnVZM2tnWm05eUlIUm9hWE1nWTI5dGNHOXVaVzUwTGlCRGNtVmhkR1VnWVNCdVpYY2diR2x6ZEM1Y2JseHVYRzRnSUNBZ0lDQnNZWE4wUTI5dWRHVjRkRVJsY0dWdVpHVnVZM2tnUFNCamIyNTBaWGgwU1hSbGJUdGNiaUFnSUNBZ0lHTjFjbkpsYm5Sc2VWSmxibVJsY21sdVowWnBZbVZ5TG1SbGNHVnVaR1Z1WTJsbGN5QTlJSHRjYmlBZ0lDQWdJQ0FnWlhod2FYSmhkR2x2YmxScGJXVTZJRTV2VjI5eWF5eGNiaUFnSUNBZ0lDQWdabWx5YzNSRGIyNTBaWGgwT2lCamIyNTBaWGgwU1hSbGJTeGNiaUFnSUNBZ0lDQWdjbVZ6Y0c5dVpHVnljem9nYm5Wc2JGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnTHk4Z1FYQndaVzVrSUdFZ2JtVjNJR052Ym5SbGVIUWdhWFJsYlM1Y2JpQWdJQ0FnSUd4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlJR3hoYzNSRGIyNTBaWGgwUkdWd1pXNWtaVzVqZVM1dVpYaDBJRDBnWTI5dWRHVjRkRWwwWlcwN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUNCamIyNTBaWGgwTGw5amRYSnlaVzUwVm1Gc2RXVWdPMXh1ZlZ4dVhHNTJZWElnVlhCa1lYUmxVM1JoZEdVZ1BTQXdPMXh1ZG1GeUlGSmxjR3hoWTJWVGRHRjBaU0E5SURFN1hHNTJZWElnUm05eVkyVlZjR1JoZEdVZ1BTQXlPMXh1ZG1GeUlFTmhjSFIxY21WVmNHUmhkR1VnUFNBek95QXZMeUJIYkc5aVlXd2djM1JoZEdVZ2RHaGhkQ0JwY3lCeVpYTmxkQ0JoZENCMGFHVWdZbVZuYVc1dWFXNW5JRzltSUdOaGJHeHBibWNnWUhCeWIyTmxjM05WY0dSaGRHVlJkV1YxWldBdVhHNHZMeUJKZENCemFHOTFiR1FnYjI1c2VTQmlaU0J5WldGa0lISnBaMmgwSUdGbWRHVnlJR05oYkd4cGJtY2dZSEJ5YjJObGMzTlZjR1JoZEdWUmRXVjFaV0FzSUhacFlWeHVMeThnWUdOb1pXTnJTR0Z6Um05eVkyVlZjR1JoZEdWQlpuUmxjbEJ5YjJObGMzTnBibWRnTGx4dVhHNTJZWElnYUdGelJtOXlZMlZWY0dSaGRHVWdQU0JtWVd4elpUdGNiblpoY2lCa2FXUlhZWEp1VlhCa1lYUmxTVzV6YVdSbFZYQmtZWFJsTzF4dWRtRnlJR04xY25KbGJuUnNlVkJ5YjJObGMzTnBibWRSZFdWMVpUdGNibHh1ZTF4dUlDQmthV1JYWVhKdVZYQmtZWFJsU1c1emFXUmxWWEJrWVhSbElEMGdabUZzYzJVN1hHNGdJR04xY25KbGJuUnNlVkJ5YjJObGMzTnBibWRSZFdWMVpTQTlJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdsdWFYUnBZV3hwZW1WVmNHUmhkR1ZSZFdWMVpTaG1hV0psY2lrZ2UxeHVJQ0IyWVhJZ2NYVmxkV1VnUFNCN1hHNGdJQ0FnWW1GelpWTjBZWFJsT2lCbWFXSmxjaTV0WlcxdmFYcGxaRk4wWVhSbExGeHVJQ0FnSUdKaGMyVlJkV1YxWlRvZ2JuVnNiQ3hjYmlBZ0lDQnphR0Z5WldRNklIdGNiaUFnSUNBZ0lIQmxibVJwYm1jNklHNTFiR3hjYmlBZ0lDQjlMRnh1SUNBZ0lHVm1abVZqZEhNNklHNTFiR3hjYmlBZ2ZUdGNiaUFnWm1saVpYSXVkWEJrWVhSbFVYVmxkV1VnUFNCeGRXVjFaVHRjYm4xY2JtWjFibU4wYVc5dUlHTnNiMjVsVlhCa1lYUmxVWFZsZFdVb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdMeThnUTJ4dmJtVWdkR2hsSUhWd1pHRjBaU0J4ZFdWMVpTQm1jbTl0SUdOMWNuSmxiblF1SUZWdWJHVnpjeUJwZENkeklHRnNjbVZoWkhrZ1lTQmpiRzl1WlM1Y2JpQWdkbUZ5SUhGMVpYVmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVkWEJrWVhSbFVYVmxkV1U3WEc0Z0lIWmhjaUJqZFhKeVpXNTBVWFZsZFdVZ1BTQmpkWEp5Wlc1MExuVndaR0YwWlZGMVpYVmxPMXh1WEc0Z0lHbG1JQ2h4ZFdWMVpTQTlQVDBnWTNWeWNtVnVkRkYxWlhWbEtTQjdYRzRnSUNBZ2RtRnlJR05zYjI1bElEMGdlMXh1SUNBZ0lDQWdZbUZ6WlZOMFlYUmxPaUJqZFhKeVpXNTBVWFZsZFdVdVltRnpaVk4wWVhSbExGeHVJQ0FnSUNBZ1ltRnpaVkYxWlhWbE9pQmpkWEp5Wlc1MFVYVmxkV1V1WW1GelpWRjFaWFZsTEZ4dUlDQWdJQ0FnYzJoaGNtVmtPaUJqZFhKeVpXNTBVWFZsZFdVdWMyaGhjbVZrTEZ4dUlDQWdJQ0FnWldabVpXTjBjem9nWTNWeWNtVnVkRkYxWlhWbExtVm1abVZqZEhOY2JpQWdJQ0I5TzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnWTJ4dmJtVTdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR055WldGMFpWVndaR0YwWlNobGVIQnBjbUYwYVc5dVZHbHRaU3dnYzNWemNHVnVjMlZEYjI1bWFXY3BJSHRjYmlBZ2RtRnlJSFZ3WkdGMFpTQTlJSHRjYmlBZ0lDQmxlSEJwY21GMGFXOXVWR2x0WlRvZ1pYaHdhWEpoZEdsdmJsUnBiV1VzWEc0Z0lDQWdjM1Z6Y0dWdWMyVkRiMjVtYVdjNklITjFjM0JsYm5ObFEyOXVabWxuTEZ4dUlDQWdJSFJoWnpvZ1ZYQmtZWFJsVTNSaGRHVXNYRzRnSUNBZ2NHRjViRzloWkRvZ2JuVnNiQ3hjYmlBZ0lDQmpZV3hzWW1GamF6b2diblZzYkN4Y2JpQWdJQ0J1WlhoME9pQnVkV3hzWEc0Z0lIMDdYRzRnSUhWd1pHRjBaUzV1WlhoMElEMGdkWEJrWVhSbE8xeHVYRzRnSUh0Y2JpQWdJQ0IxY0dSaGRHVXVjSEpwYjNKcGRIa2dQU0JuWlhSRGRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJDZ3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFZ3WkdGMFpUdGNibjFjYm1aMWJtTjBhVzl1SUdWdWNYVmxkV1ZWY0dSaGRHVW9abWxpWlhJc0lIVndaR0YwWlNrZ2UxeHVJQ0IyWVhJZ2RYQmtZWFJsVVhWbGRXVWdQU0JtYVdKbGNpNTFjR1JoZEdWUmRXVjFaVHRjYmx4dUlDQnBaaUFvZFhCa1lYUmxVWFZsZFdVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBdkx5QlBibXg1SUc5alkzVnljeUJwWmlCMGFHVWdabWxpWlhJZ2FHRnpJR0psWlc0Z2RXNXRiM1Z1ZEdWa0xseHVJQ0FnSUhKbGRIVnlianRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnphR0Z5WldSUmRXVjFaU0E5SUhWd1pHRjBaVkYxWlhWbExuTm9ZWEpsWkR0Y2JpQWdkbUZ5SUhCbGJtUnBibWNnUFNCemFHRnlaV1JSZFdWMVpTNXdaVzVrYVc1bk8xeHVYRzRnSUdsbUlDaHdaVzVrYVc1bklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWR2hwY3lCcGN5QjBhR1VnWm1seWMzUWdkWEJrWVhSbExpQkRjbVZoZEdVZ1lTQmphWEpqZFd4aGNpQnNhWE4wTGx4dUlDQWdJSFZ3WkdGMFpTNXVaWGgwSUQwZ2RYQmtZWFJsTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhWd1pHRjBaUzV1WlhoMElEMGdjR1Z1WkdsdVp5NXVaWGgwTzF4dUlDQWdJSEJsYm1ScGJtY3VibVY0ZENBOUlIVndaR0YwWlR0Y2JpQWdmVnh1WEc0Z0lITm9ZWEpsWkZGMVpYVmxMbkJsYm1ScGJtY2dQU0IxY0dSaGRHVTdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDaGpkWEp5Wlc1MGJIbFFjbTlqWlhOemFXNW5VWFZsZFdVZ1BUMDlJSE5vWVhKbFpGRjFaWFZsSUNZbUlDRmthV1JYWVhKdVZYQmtZWFJsU1c1emFXUmxWWEJrWVhSbEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblFXNGdkWEJrWVhSbElDaHpaWFJUZEdGMFpTd2djbVZ3YkdGalpWTjBZWFJsTENCdmNpQm1iM0pqWlZWd1pHRjBaU2tnZDJGeklITmphR1ZrZFd4bFpDQW5JQ3NnSjJaeWIyMGdhVzV6YVdSbElHRnVJSFZ3WkdGMFpTQm1kVzVqZEdsdmJpNGdWWEJrWVhSbElHWjFibU4wYVc5dWN5QnphRzkxYkdRZ1ltVWdjSFZ5WlN3Z0p5QXJJQ2QzYVhSb0lIcGxjbThnYzJsa1pTMWxabVpsWTNSekxpQkRiMjV6YVdSbGNpQjFjMmx1WnlCamIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVZ2IzSWdZU0FuSUNzZ0oyTmhiR3hpWVdOckxpY3BPMXh1WEc0Z0lDQWdJQ0JrYVdSWFlYSnVWWEJrWVhSbFNXNXphV1JsVlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHVnVjWFZsZFdWRFlYQjBkWEpsWkZWd1pHRjBaU2gzYjNKclNXNVFjbTluY21WemN5d2dkWEJrWVhSbEtTQjdYRzRnSUhaaGNpQmpkWEp5Wlc1MElEMGdkMjl5YTBsdVVISnZaM0psYzNNdVlXeDBaWEp1WVhSbE8xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdSVzV6ZFhKbElIUm9aU0IzYjNKckxXbHVMWEJ5YjJkeVpYTnpJSEYxWlhWbElHbHpJR0VnWTJ4dmJtVmNiaUFnSUNCamJHOXVaVlZ3WkdGMFpWRjFaWFZsS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ2ZTQXZMeUJEWVhCMGRYSmxaQ0IxY0dSaGRHVnpJR2R2SUc5dWJIa2diMjRnZEdobElIZHZjbXN0YVc0dGNISnZaM0psYzNNZ2NYVmxkV1V1WEc1Y2JseHVJQ0IyWVhJZ2NYVmxkV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlRzZ0x5OGdRWEJ3Wlc1a0lIUm9aU0IxY0dSaGRHVWdkRzhnZEdobElHVnVaQ0J2WmlCMGFHVWdiR2x6ZEM1Y2JseHVJQ0IyWVhJZ2JHRnpkQ0E5SUhGMVpYVmxMbUpoYzJWUmRXVjFaVHRjYmx4dUlDQnBaaUFvYkdGemRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIRjFaWFZsTG1KaGMyVlJkV1YxWlNBOUlIVndaR0YwWlM1dVpYaDBJRDBnZFhCa1lYUmxPMXh1SUNBZ0lIVndaR0YwWlM1dVpYaDBJRDBnZFhCa1lYUmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFZ3WkdGMFpTNXVaWGgwSUQwZ2JHRnpkQzV1WlhoME8xeHVJQ0FnSUd4aGMzUXVibVY0ZENBOUlIVndaR0YwWlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJUZEdGMFpVWnliMjFWY0dSaGRHVW9kMjl5YTBsdVVISnZaM0psYzNNc0lIRjFaWFZsTENCMWNHUmhkR1VzSUhCeVpYWlRkR0YwWlN3Z2JtVjRkRkJ5YjNCekxDQnBibk4wWVc1alpTa2dlMXh1SUNCemQybDBZMmdnS0hWd1pHRjBaUzUwWVdjcElIdGNiaUFnSUNCallYTmxJRkpsY0d4aFkyVlRkR0YwWlRwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJoZVd4dllXUWdQU0IxY0dSaGRHVXVjR0Y1Ykc5aFpEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhCaGVXeHZZV1FnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlZjR1JoZEdWeUlHWjFibU4wYVc5dVhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXNTBaWEpFYVhOaGJHeHZkMlZrUTI5dWRHVjRkRkpsWVdSSmJrUkZWaWdwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xdlpHVWdKaUJUZEhKcFkzUk5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGVXeHZZV1F1WTJGc2JDaHBibk4wWVc1alpTd2djSEpsZGxOMFlYUmxMQ0J1WlhoMFVISnZjSE1wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCdVpYaDBVM1JoZEdVZ1BTQndZWGxzYjJGa0xtTmhiR3dvYVc1emRHRnVZMlVzSUhCeVpYWlRkR0YwWlN3Z2JtVjRkRkJ5YjNCektUdGNibHh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Y0YVhSRWFYTmhiR3h2ZDJWa1EyOXVkR1Y0ZEZKbFlXUkpia1JGVmlncE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYaDBVM1JoZEdVN1hHNGdJQ0FnSUNBZ0lIMGdMeThnVTNSaGRHVWdiMkpxWldOMFhHNWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjR0Y1Ykc5aFpEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUTJGd2RIVnlaVlZ3WkdGMFpUcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklEMGdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklDWWdmbE5vYjNWc1pFTmhjSFIxY21VZ2ZDQkVhV1JEWVhCMGRYSmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDOHZJRWx1ZEdWdWRHbHZibUZzSUdaaGJHeDBhSEp2ZFdkb1hHNWNiaUFnSUNCallYTmxJRlZ3WkdGMFpWTjBZWFJsT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM0JoZVd4dllXUWdQU0IxY0dSaGRHVXVjR0Y1Ykc5aFpEdGNiaUFnSUNBZ0lDQWdkbUZ5SUhCaGNuUnBZV3hUZEdGMFpUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUY5d1lYbHNiMkZrSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWWEJrWVhSbGNpQm1kVzVqZEdsdmJseHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnVkR1Z5UkdsellXeHNiM2RsWkVOdmJuUmxlSFJTWldGa1NXNUVSVllvS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dGIyUmxJQ1lnVTNSeWFXTjBUVzlrWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZmNHRjViRzloWkM1allXeHNLR2x1YzNSaGJtTmxMQ0J3Y21WMlUzUmhkR1VzSUc1bGVIUlFjbTl3Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnY0dGeWRHbGhiRk4wWVhSbElEMGdYM0JoZVd4dllXUXVZMkZzYkNocGJuTjBZVzVqWlN3Z2NISmxkbE4wWVhSbExDQnVaWGgwVUhKdmNITXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhocGRFUnBjMkZzYkc5M1pXUkRiMjUwWlhoMFVtVmhaRWx1UkVWV0tDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRkJoY25ScFlXd2djM1JoZEdVZ2IySnFaV04wWEc0Z0lDQWdJQ0FnSUNBZ2NHRnlkR2xoYkZOMFlYUmxJRDBnWDNCaGVXeHZZV1E3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0dGeWRHbGhiRk4wWVhSbElEMDlQU0J1ZFd4c0lIeDhJSEJoY25ScFlXeFRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdUblZzYkNCaGJtUWdkVzVrWldacGJtVmtJR0Z5WlNCMGNtVmhkR1ZrSUdGeklHNXZMVzl3Y3k1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISmxkbE4wWVhSbE8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUUxbGNtZGxJSFJvWlNCd1lYSjBhV0ZzSUhOMFlYUmxJR0Z1WkNCMGFHVWdjSEpsZG1sdmRYTWdjM1JoZEdVdVhHNWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdYMkZ6YzJsbmJpaDdmU3dnY0hKbGRsTjBZWFJsTENCd1lYSjBhV0ZzVTNSaGRHVXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCR2IzSmpaVlZ3WkdGMFpUcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdhR0Z6Um05eVkyVlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0hKbGRsTjBZWFJsTzF4dUlDQWdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhCeVpYWlRkR0YwWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY0hKdlkyVnpjMVZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J3Y205d2N5d2dhVzV6ZEdGdVkyVXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQzh2SUZSb2FYTWdhWE1nWVd4M1lYbHpJRzV2YmkxdWRXeHNJRzl1SUdFZ1EyeGhjM05EYjIxd2IyNWxiblFnYjNJZ1NHOXpkRkp2YjNSY2JpQWdkbUZ5SUhGMVpYVmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVkWEJrWVhSbFVYVmxkV1U3WEc0Z0lHaGhjMFp2Y21ObFZYQmtZWFJsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdlMXh1SUNBZ0lHTjFjbkpsYm5Sc2VWQnliMk5sYzNOcGJtZFJkV1YxWlNBOUlIRjFaWFZsTG5Ob1lYSmxaRHRjYmlBZ2ZTQXZMeUJVYUdVZ2JHRnpkQ0J5WldKaGMyVWdkWEJrWVhSbElIUm9ZWFFnYVhNZ1RrOVVJSEJoY25RZ2IyWWdkR2hsSUdKaGMyVWdjM1JoZEdVdVhHNWNibHh1SUNCMllYSWdZbUZ6WlZGMVpYVmxJRDBnY1hWbGRXVXVZbUZ6WlZGMVpYVmxPeUF2THlCVWFHVWdiR0Z6ZENCd1pXNWthVzVuSUhWd1pHRjBaU0IwYUdGMElHaGhjMjRuZENCaVpXVnVJSEJ5YjJObGMzTmxaQ0I1WlhRdVhHNWNiaUFnZG1GeUlIQmxibVJwYm1kUmRXVjFaU0E5SUhGMVpYVmxMbk5vWVhKbFpDNXdaVzVrYVc1bk8xeHVYRzRnSUdsbUlDaHdaVzVrYVc1blVYVmxkV1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCWFpTQm9ZWFpsSUc1bGR5QjFjR1JoZEdWeklIUm9ZWFFnYUdGMlpXNG5kQ0JpWldWdUlIQnliMk5sYzNObFpDQjVaWFF1WEc0Z0lDQWdMeThnVjJVbmJHd2dZV1JrSUhSb1pXMGdkRzhnZEdobElHSmhjMlVnY1hWbGRXVXVYRzRnSUNBZ2FXWWdLR0poYzJWUmRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1RXVnlaMlVnZEdobElIQmxibVJwYm1jZ2NYVmxkV1VnWVc1a0lIUm9aU0JpWVhObElIRjFaWFZsTGx4dUlDQWdJQ0FnZG1GeUlHSmhjMlZHYVhKemRDQTlJR0poYzJWUmRXVjFaUzV1WlhoME8xeHVJQ0FnSUNBZ2RtRnlJSEJsYm1ScGJtZEdhWEp6ZENBOUlIQmxibVJwYm1kUmRXVjFaUzV1WlhoME8xeHVJQ0FnSUNBZ1ltRnpaVkYxWlhWbExtNWxlSFFnUFNCd1pXNWthVzVuUm1seWMzUTdYRzRnSUNBZ0lDQndaVzVrYVc1blVYVmxkV1V1Ym1WNGRDQTlJR0poYzJWR2FYSnpkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmlZWE5sVVhWbGRXVWdQU0J3Wlc1a2FXNW5VWFZsZFdVN1hHNGdJQ0FnY1hWbGRXVXVjMmhoY21Wa0xuQmxibVJwYm1jZ1BTQnVkV3hzT3lBdkx5QlVUMFJQT2lCUVlYTnpJR0JqZFhKeVpXNTBZQ0JoY3lCaGNtZDFiV1Z1ZEZ4dVhHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aGJIUmxjbTVoZEdVN1hHNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdOMWNuSmxiblJSZFdWMVpTQTlJR04xY25KbGJuUXVkWEJrWVhSbFVYVmxkV1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MFVYVmxkV1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEZGMVpYVmxMbUpoYzJWUmRXVjFaU0E5SUhCbGJtUnBibWRSZFdWMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnTHk4Z1ZHaGxjMlVnZG1Gc2RXVnpJRzFoZVNCamFHRnVaMlVnWVhNZ2QyVWdjSEp2WTJWemN5QjBhR1VnY1hWbGRXVXVYRzVjYmx4dUlDQnBaaUFvWW1GelpWRjFaWFZsSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHWnBjbk4wSUQwZ1ltRnpaVkYxWlhWbExtNWxlSFE3SUM4dklFbDBaWEpoZEdVZ2RHaHliM1ZuYUNCMGFHVWdiR2x6ZENCdlppQjFjR1JoZEdWeklIUnZJR052YlhCMWRHVWdkR2hsSUhKbGMzVnNkQzVjYmx4dUlDQWdJSFpoY2lCdVpYZFRkR0YwWlNBOUlIRjFaWFZsTG1KaGMyVlRkR0YwWlR0Y2JpQWdJQ0IyWVhJZ2JtVjNSWGh3YVhKaGRHbHZibFJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJQ0FnZG1GeUlHNWxkMEpoYzJWVGRHRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ2RtRnlJRzVsZDBKaGMyVlJkV1YxWlVacGNuTjBJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdibVYzUW1GelpWRjFaWFZsVEdGemRDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9abWx5YzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUIxY0dSaGRHVWdQU0JtYVhKemREdGNibHh1SUNBZ0lDQWdaRzhnZTF4dUlDQWdJQ0FnSUNCMllYSWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCMWNHUmhkR1V1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxJRHdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCUWNtbHZjbWwwZVNCcGN5QnBibk4xWm1acFkybGxiblF1SUZOcmFYQWdkR2hwY3lCMWNHUmhkR1V1SUVsbUlIUm9hWE1nYVhNZ2RHaGxJR1pwY25OMFhHNGdJQ0FnSUNBZ0lDQWdMeThnYzJ0cGNIQmxaQ0IxY0dSaGRHVXNJSFJvWlNCd2NtVjJhVzkxY3lCMWNHUmhkR1V2YzNSaGRHVWdhWE1nZEdobElHNWxkeUJpWVhObFhHNGdJQ0FnSUNBZ0lDQWdMeThnZFhCa1lYUmxMM04wWVhSbExseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCamJHOXVaU0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Y0Y0dseVlYUnBiMjVVYVcxbE9pQjFjR1JoZEdVdVpYaHdhWEpoZEdsdmJsUnBiV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkWE53Wlc1elpVTnZibVpwWnpvZ2RYQmtZWFJsTG5OMWMzQmxibk5sUTI5dVptbG5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRm5PaUIxY0dSaGRHVXVkR0ZuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Y1Ykc5aFpEb2dkWEJrWVhSbExuQmhlV3h2WVdRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVd4c1ltRmphem9nZFhCa1lYUmxMbU5oYkd4aVlXTnJMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JtVjRkRG9nYm5Wc2JGeHVJQ0FnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYm1WM1FtRnpaVkYxWlhWbFRHRnpkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibVYzUW1GelpWRjFaWFZsUm1seWMzUWdQU0J1WlhkQ1lYTmxVWFZsZFdWTVlYTjBJRDBnWTJ4dmJtVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpYZENZWE5sVTNSaGRHVWdQU0J1WlhkVGRHRjBaVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibVYzUW1GelpWRjFaWFZsVEdGemRDQTlJRzVsZDBKaGMyVlJkV1YxWlV4aGMzUXVibVY0ZENBOUlHTnNiMjVsTzF4dUlDQWdJQ0FnSUNBZ0lIMGdMeThnVlhCa1lYUmxJSFJvWlNCeVpXMWhhVzVwYm1jZ2NISnBiM0pwZEhrZ2FXNGdkR2hsSUhGMVpYVmxMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVZ1BpQnVaWGRGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JtVjNSWGh3YVhKaGRHbHZibFJwYldVZ1BTQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVkdocGN5QjFjR1JoZEdVZ1pHOWxjeUJvWVhabElITjFabVpwWTJsbGJuUWdjSEpwYjNKcGRIa3VYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxkMEpoYzJWUmRXVjFaVXhoYzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmZZMnh2Ym1VZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRjR2x5WVhScGIyNVVhVzFsT2lCVGVXNWpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdseklIVndaR0YwWlNCcGN5Qm5iMmx1WnlCMGJ5QmlaU0JqYjIxdGFYUjBaV1FnYzI4Z2QyVWdibVYyWlhJZ2QyRnVkQ0IxYm1OdmJXMXBkQ0JwZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNWemNHVnVjMlZEYjI1bWFXYzZJSFZ3WkdGMFpTNXpkWE53Wlc1elpVTnZibVpwWnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdGbk9pQjFjR1JoZEdVdWRHRm5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQndZWGxzYjJGa09pQjFjR1JoZEdVdWNHRjViRzloWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGc2JHSmhZMnM2SUhWd1pHRjBaUzVqWVd4c1ltRmpheXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdibVY0ZERvZ2JuVnNiRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUc1bGQwSmhjMlZSZFdWMVpVeGhjM1FnUFNCdVpYZENZWE5sVVhWbGRXVk1ZWE4wTG01bGVIUWdQU0JmWTJ4dmJtVTdYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5Qk5ZWEpySUhSb1pTQmxkbVZ1ZENCMGFXMWxJRzltSUhSb2FYTWdkWEJrWVhSbElHRnpJSEpsYkdWMllXNTBJSFJ2SUhSb2FYTWdjbVZ1WkdWeUlIQmhjM011WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJ6YUc5MWJHUWdhV1JsWVd4c2VTQjFjMlVnZEdobElIUnlkV1VnWlhabGJuUWdkR2x0WlNCdlppQjBhR2x6SUhWd1pHRjBaU0J5WVhSb1pYSWdkR2hoYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJR2wwY3lCd2NtbHZjbWwwZVNCM2FHbGphQ0JwY3lCaElHUmxjbWwyWldRZ1lXNWtJRzV2ZENCeVpYWmxjbk5sWVdKc1pTQjJZV3gxWlM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlhaU0J6YUc5MWJHUWdjMnRwY0NCMGFHbHpJSFZ3WkdGMFpTQnBaaUJwZENCM1lYTWdZV3h5WldGa2VTQmpiMjF0YVhSMFpXUWdZblYwSUdOMWNuSmxiblJzZVZ4dUlDQWdJQ0FnSUNBZ0lDOHZJSGRsSUdoaGRtVWdibThnZDJGNUlHOW1JR1JsZEdWamRHbHVaeUIwYUdVZ1pHbG1abVZ5Wlc1alpTQmlaWFIzWldWdUlHRWdZMjl0YldsMGRHVmtJR0Z1WkNCemRYTndaVzVrWldSY2JpQWdJQ0FnSUNBZ0lDQXZMeUIxY0dSaGRHVWdhR1Z5WlM1Y2JseHVYRzRnSUNBZ0lDQWdJQ0FnYldGeWExSmxibVJsY2tWMlpXNTBWR2x0WlVGdVpFTnZibVpwWnloMWNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpTd2dkWEJrWVhSbExuTjFjM0JsYm5ObFEyOXVabWxuS1RzZ0x5OGdVSEp2WTJWemN5QjBhR2x6SUhWd1pHRjBaUzVjYmx4dUlDQWdJQ0FnSUNBZ0lHNWxkMU4wWVhSbElEMGdaMlYwVTNSaGRHVkdjbTl0VlhCa1lYUmxLSGR2Y210SmJsQnliMmR5WlhOekxDQnhkV1YxWlN3Z2RYQmtZWFJsTENCdVpYZFRkR0YwWlN3Z2NISnZjSE1zSUdsdWMzUmhibU5sS1R0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTJGc2JHSmhZMnNnUFNCMWNHUmhkR1V1WTJGc2JHSmhZMnM3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWTJGc2JHSmhZMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JEWVd4c1ltRmphenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJsWm1abFkzUnpJRDBnY1hWbGRXVXVaV1ptWldOMGN6dGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1ZtWm1WamRITWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjWFZsZFdVdVpXWm1aV04wY3lBOUlGdDFjR1JoZEdWZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaV1ptWldOMGN5NXdkWE5vS0hWd1pHRjBaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdkWEJrWVhSbElEMGdkWEJrWVhSbExtNWxlSFE3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFZ3WkdGMFpTQTlQVDBnYm5Wc2JDQjhmQ0IxY0dSaGRHVWdQVDA5SUdacGNuTjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NHVnVaR2x1WjFGMVpYVmxJRDBnY1hWbGRXVXVjMmhoY21Wa0xuQmxibVJwYm1jN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2NHVnVaR2x1WjFGMVpYVmxJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1FXNGdkWEJrWVhSbElIZGhjeUJ6WTJobFpIVnNaV1FnWm5KdmJTQnBibk5wWkdVZ1lTQnlaV1IxWTJWeUxpQkJaR1FnZEdobElHNWxkMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjR1Z1WkdsdVp5QjFjR1JoZEdWeklIUnZJSFJvWlNCbGJtUWdiMllnZEdobElHeHBjM1FnWVc1a0lHdGxaWEFnY0hKdlkyVnpjMmx1Wnk1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFZ3WkdGMFpTQTlJR0poYzJWUmRXVjFaUzV1WlhoMElEMGdjR1Z1WkdsdVoxRjFaWFZsTG01bGVIUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCd1pXNWthVzVuVVhWbGRXVXVibVY0ZENBOUlHWnBjbk4wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjWFZsZFdVdVltRnpaVkYxWlhWbElEMGdZbUZ6WlZGMVpYVmxJRDBnY0dWdVpHbHVaMUYxWlhWbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY1hWbGRXVXVjMmhoY21Wa0xuQmxibVJwYm1jZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0IzYUdsc1pTQW9kSEoxWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHNWxkMEpoYzJWUmRXVjFaVXhoYzNRZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHNWxkMEpoYzJWVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnVaWGRDWVhObFVYVmxkV1ZNWVhOMExtNWxlSFFnUFNCdVpYZENZWE5sVVhWbGRXVkdhWEp6ZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J4ZFdWMVpTNWlZWE5sVTNSaGRHVWdQU0J1WlhkQ1lYTmxVM1JoZEdVN1hHNGdJQ0FnY1hWbGRXVXVZbUZ6WlZGMVpYVmxJRDBnYm1WM1FtRnpaVkYxWlhWbFRHRnpkRHNnTHk4Z1UyVjBJSFJvWlNCeVpXMWhhVzVwYm1jZ1pYaHdhWEpoZEdsdmJpQjBhVzFsSUhSdklHSmxJSGRvWVhSbGRtVnlJR2x6SUhKbGJXRnBibWx1WnlCcGJpQjBhR1VnY1hWbGRXVXVYRzRnSUNBZ0x5OGdWR2hwY3lCemFHOTFiR1FnWW1VZ1ptbHVaU0JpWldOaGRYTmxJSFJvWlNCdmJteDVJSFIzYnlCdmRHaGxjaUIwYUdsdVozTWdkR2hoZENCamIyNTBjbWxpZFhSbElIUnZYRzRnSUNBZ0x5OGdaWGh3YVhKaGRHbHZiaUIwYVcxbElHRnlaU0J3Y205d2N5QmhibVFnWTI5dWRHVjRkQzRnVjJVbmNtVWdZV3h5WldGa2VTQnBiaUIwYUdVZ2JXbGtaR3hsSUc5bUlIUm9aVnh1SUNBZ0lDOHZJR0psWjJsdUlIQm9ZWE5sSUdKNUlIUm9aU0IwYVcxbElIZGxJSE4wWVhKMElIQnliMk5sYzNOcGJtY2dkR2hsSUhGMVpYVmxMQ0J6YnlCM1pTZDJaU0JoYkhKbFlXUjVYRzRnSUNBZ0x5OGdaR1ZoYkhRZ2QybDBhQ0IwYUdVZ2NISnZjSE11SUVOdmJuUmxlSFFnYVc0Z1kyOXRjRzl1Wlc1MGN5QjBhR0YwSUhOd1pXTnBabmxjYmlBZ0lDQXZMeUJ6YUc5MWJHUkRiMjF3YjI1bGJuUlZjR1JoZEdVZ2FYTWdkSEpwWTJ0NU95QmlkWFFnZDJVbmJHd2dhR0YyWlNCMGJ5QmhZMk52ZFc1MElHWnZjbHh1SUNBZ0lDOHZJSFJvWVhRZ2NtVm5ZWEprYkdWemN5NWNibHh1SUNBZ0lHMWhjbXRWYm5CeWIyTmxjM05sWkZWd1pHRjBaVlJwYldVb2JtVjNSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdibVYzUlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YldWdGIybDZaV1JUZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJR04xY25KbGJuUnNlVkJ5YjJObGMzTnBibWRSZFdWMVpTQTlJRzUxYkd3N1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZMkZzYkVOaGJHeGlZV05yS0dOaGJHeGlZV05yTENCamIyNTBaWGgwS1NCN1hHNGdJR2xtSUNnaEtIUjVjR1Z2WmlCallXeHNZbUZqYXlBOVBUMGdKMloxYm1OMGFXOXVKeWtwSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkpiblpoYkdsa0lHRnlaM1Z0Wlc1MElIQmhjM05sWkNCaGN5QmpZV3hzWW1GamF5NGdSWGh3WldOMFpXUWdZU0JtZFc1amRHbHZiaTRnU1c1emRHVmhaQ0J5WldObGFYWmxaRG9nWENJZ0t5QmpZV3hzWW1GamF5QXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR05oYkd4aVlXTnJMbU5oYkd3b1kyOXVkR1Y0ZENrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhKbGMyVjBTR0Z6Um05eVkyVlZjR1JoZEdWQ1pXWnZjbVZRY205alpYTnphVzVuS0NrZ2UxeHVJQ0JvWVhOR2IzSmpaVlZ3WkdGMFpTQTlJR1poYkhObE8xeHVmVnh1Wm5WdVkzUnBiMjRnWTJobFkydElZWE5HYjNKalpWVndaR0YwWlVGbWRHVnlVSEp2WTJWemMybHVaeWdwSUh0Y2JpQWdjbVYwZFhKdUlHaGhjMFp2Y21ObFZYQmtZWFJsTzF4dWZWeHVablZ1WTNScGIyNGdZMjl0YldsMFZYQmtZWFJsVVhWbGRXVW9abWx1YVhOb1pXUlhiM0pyTENCbWFXNXBjMmhsWkZGMVpYVmxMQ0JwYm5OMFlXNWpaU2tnZTF4dUlDQXZMeUJEYjIxdGFYUWdkR2hsSUdWbVptVmpkSE5jYmlBZ2RtRnlJR1ZtWm1WamRITWdQU0JtYVc1cGMyaGxaRkYxWlhWbExtVm1abVZqZEhNN1hHNGdJR1pwYm1semFHVmtVWFZsZFdVdVpXWm1aV04wY3lBOUlHNTFiR3c3WEc1Y2JpQWdhV1lnS0dWbVptVmpkSE1nSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdWbVptVmpkSE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJsWm1abFkzUWdQU0JsWm1abFkzUnpXMmxkTzF4dUlDQWdJQ0FnZG1GeUlHTmhiR3hpWVdOcklEMGdaV1ptWldOMExtTmhiR3hpWVdOck8xeHVYRzRnSUNBZ0lDQnBaaUFvWTJGc2JHSmhZMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1pXWm1aV04wTG1OaGJHeGlZV05ySUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnWTJGc2JFTmhiR3hpWVdOcktHTmhiR3hpWVdOckxDQnBibk4wWVc1alpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCU1pXRmpkRU4xY25KbGJuUkNZWFJqYUVOdmJtWnBaeUE5SUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuTzF4dVpuVnVZM1JwYjI0Z2NtVnhkV1Z6ZEVOMWNuSmxiblJUZFhOd1pXNXpaVU52Ym1acFp5Z3BJSHRjYmlBZ2NtVjBkWEp1SUZKbFlXTjBRM1Z5Y21WdWRFSmhkR05vUTI5dVptbG5Mbk4xYzNCbGJuTmxPMXh1ZlZ4dVhHNTJZWElnWm1GclpVbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJVZ1BTQjdmVHRjYm5aaGNpQnBjMEZ5Y21GNUlEMGdRWEp5WVhrdWFYTkJjbkpoZVRzZ0x5OGdVbVZoWTNRdVEyOXRjRzl1Wlc1MElIVnpaWE1nWVNCemFHRnlaV1FnWm5KdmVtVnVJRzlpYW1WamRDQmllU0JrWldaaGRXeDBMbHh1THk4Z1YyVW5iR3dnZFhObElHbDBJSFJ2SUdSbGRHVnliV2x1WlNCM2FHVjBhR1Z5SUhkbElHNWxaV1FnZEc4Z2FXNXBkR2xoYkdsNlpTQnNaV2RoWTNrZ2NtVm1jeTVjYmx4dWRtRnlJR1Z0Y0hSNVVtVm1jMDlpYW1WamRDQTlJRzVsZHlCU1pXRmpkQzVEYjIxd2IyNWxiblFvS1M1eVpXWnpPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRk4wWVhSbFFYTnphV2R1YldWdWRFWnZja052YlhCdmJtVnVkRHRjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJWYm1sdWFYUnBZV3hwZW1Wa1UzUmhkR1U3WEc1MllYSWdaR2xrVjJGeWJrRmliM1YwUjJWMFUyNWhjSE5vYjNSQ1pXWnZjbVZWY0dSaGRHVlhhWFJvYjNWMFJHbGtWWEJrWVhSbE8xeHVkbUZ5SUdScFpGZGhjbTVCWW05MWRFeGxaMkZqZVV4cFptVmplV05zWlhOQmJtUkVaWEpwZG1Wa1UzUmhkR1U3WEc1MllYSWdaR2xrVjJGeWJrRmliM1YwVlc1a1pXWnBibVZrUkdWeWFYWmxaRk4wWVhSbE8xeHVkbUZ5SUhkaGNtNVBibFZ1WkdWbWFXNWxaRVJsY21sMlpXUlRkR0YwWlR0Y2JuWmhjaUIzWVhKdVQyNUpiblpoYkdsa1EyRnNiR0poWTJzN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFJHbHlaV04wYkhsQmMzTnBaMjVwYm1kUWNtOXdjMVJ2VTNSaGRHVTdYRzUyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBRMjl1ZEdWNGRGUjVjR1ZCYm1SRGIyNTBaWGgwVkhsd1pYTTdYRzUyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBTVzUyWVd4cFpHRjBaVU52Ym5SbGVIUlVlWEJsTzF4dVhHNTdYRzRnSUdScFpGZGhjbTVCWW05MWRGTjBZWFJsUVhOemFXZHViV1Z1ZEVadmNrTnZiWEJ2Ym1WdWRDQTlJRzVsZHlCVFpYUW9LVHRjYmlBZ1pHbGtWMkZ5YmtGaWIzVjBWVzVwYm1sMGFXRnNhWHBsWkZOMFlYUmxJRDBnYm1WM0lGTmxkQ2dwTzF4dUlDQmthV1JYWVhKdVFXSnZkWFJIWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpWZHBkR2h2ZFhSRWFXUlZjR1JoZEdVZ1BTQnVaWGNnVTJWMEtDazdYRzRnSUdScFpGZGhjbTVCWW05MWRFeGxaMkZqZVV4cFptVmplV05zWlhOQmJtUkVaWEpwZG1Wa1UzUmhkR1VnUFNCdVpYY2dVMlYwS0NrN1hHNGdJR1JwWkZkaGNtNUJZbTkxZEVScGNtVmpkR3g1UVhOemFXZHVhVzVuVUhKdmNITlViMU4wWVhSbElEMGdibVYzSUZObGRDZ3BPMXh1SUNCa2FXUlhZWEp1UVdKdmRYUlZibVJsWm1sdVpXUkVaWEpwZG1Wa1UzUmhkR1VnUFNCdVpYY2dVMlYwS0NrN1hHNGdJR1JwWkZkaGNtNUJZbTkxZEVOdmJuUmxlSFJVZVhCbFFXNWtRMjl1ZEdWNGRGUjVjR1Z6SUQwZ2JtVjNJRk5sZENncE8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSSmJuWmhiR2xrWVhSbFEyOXVkR1Y0ZEZSNWNHVWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lIWmhjaUJrYVdSWFlYSnVUMjVKYm5aaGJHbGtRMkZzYkdKaFkyc2dQU0J1WlhjZ1UyVjBLQ2s3WEc1Y2JpQWdkMkZ5Yms5dVNXNTJZV3hwWkVOaGJHeGlZV05ySUQwZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQmpZV3hzWlhKT1lXMWxLU0I3WEc0Z0lDQWdhV1lnS0dOaGJHeGlZV05ySUQwOVBTQnVkV3hzSUh4OElIUjVjR1Z2WmlCallXeHNZbUZqYXlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJyWlhrZ1BTQmpZV3hzWlhKT1lXMWxJQ3NnWENKZlhDSWdLeUJqWVd4c1ltRmphenRjYmx4dUlDQWdJR2xtSUNnaFpHbGtWMkZ5Yms5dVNXNTJZV3hwWkVOaGJHeGlZV05yTG1oaGN5aHJaWGtwS1NCN1hHNGdJQ0FnSUNCa2FXUlhZWEp1VDI1SmJuWmhiR2xrUTJGc2JHSmhZMnN1WVdSa0tHdGxlU2s3WEc1Y2JpQWdJQ0FnSUdWeWNtOXlLQ2NsY3lndUxpNHBPaUJGZUhCbFkzUmxaQ0IwYUdVZ2JHRnpkQ0J2Y0hScGIyNWhiQ0JnWTJGc2JHSmhZMnRnSUdGeVozVnRaVzUwSUhSdklHSmxJR0VnSnlBcklDZG1kVzVqZEdsdmJpNGdTVzV6ZEdWaFpDQnlaV05sYVhabFpEb2dKWE11Snl3Z1kyRnNiR1Z5VG1GdFpTd2dZMkZzYkdKaFkyc3BPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0IzWVhKdVQyNVZibVJsWm1sdVpXUkVaWEpwZG1Wa1UzUmhkR1VnUFNCbWRXNWpkR2x2YmlBb2RIbHdaU3dnY0dGeWRHbGhiRk4wWVhSbEtTQjdYRzRnSUNBZ2FXWWdLSEJoY25ScFlXeFRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXRjRzl1Wlc1MFRtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEhsd1pTa2dmSHdnSjBOdmJYQnZibVZ1ZENjN1hHNWNiaUFnSUNBZ0lHbG1JQ2doWkdsa1YyRnlia0ZpYjNWMFZXNWtaV1pwYm1Wa1JHVnlhWFpsWkZOMFlYUmxMbWhoY3loamIyMXdiMjVsYm5ST1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUlZibVJsWm1sdVpXUkVaWEpwZG1Wa1UzUmhkR1V1WVdSa0tHTnZiWEJ2Ym1WdWRFNWhiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5NW5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNb0tUb2dRU0IyWVd4cFpDQnpkR0YwWlNCdlltcGxZM1FnS0c5eUlHNTFiR3dwSUcxMWMzUWdZbVVnY21WMGRYSnVaV1F1SUNjZ0t5QW5XVzkxSUdoaGRtVWdjbVYwZFhKdVpXUWdkVzVrWldacGJtVmtMaWNzSUdOdmJYQnZibVZ1ZEU1aGJXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlRzZ0x5OGdWR2hwY3lCcGN5QnpieUJuY205emN5QmlkWFFnYVhRbmN5QmhkQ0JzWldGemRDQnViMjR0WTNKcGRHbGpZV3dnWVc1a0lHTmhiaUJpWlNCeVpXMXZkbVZrSUdsbVhHNGdJQzh2SUdsMElHTmhkWE5sY3lCd2NtOWliR1Z0Y3k0Z1ZHaHBjeUJwY3lCdFpXRnVkQ0IwYnlCbmFYWmxJR0VnYm1salpYSWdaWEp5YjNJZ2JXVnpjMkZuWlNCbWIzSmNiaUFnTHk4Z1VtVmhZM1JFVDAweE5TNTFibk4wWVdKc1pWOXlaVzVrWlhKVGRXSjBjbVZsU1c1MGIwTnZiblJoYVc1bGNpaHlaV0ZqZEVSUFRURTJRMjl0Y0c5dVpXNTBMRnh1SUNBdkx5QXVMaTRwS1NCM2FHbGphQ0J2ZEdobGNuZHBjMlVnZEdoeWIzZHpJR0VnWENKZmNISnZZMlZ6YzBOb2FXeGtRMjl1ZEdWNGRDQnBjeUJ1YjNRZ1lTQm1kVzVqZEdsdmJsd2lYRzRnSUM4dklHVjRZMlZ3ZEdsdmJpNWNibHh1WEc0Z0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2htWVd0bFNXNTBaWEp1WVd4SmJuTjBZVzVqWlN3Z0oxOXdjbTlqWlhOelEyaHBiR1JEYjI1MFpYaDBKeXdnZTF4dUlDQWdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNBZ0lIWmhiSFZsT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pmY0hKdlkyVnpjME5vYVd4a1EyOXVkR1Y0ZENCcGN5QnViM1FnWVhaaGFXeGhZbXhsSUdsdUlGSmxZV04wSURFMkt5NGdWR2hwY3lCc2FXdGxiSGtnYldWaGJuTWdlVzkxSUdoaGRtVWdiWFZzZEdsd2JHVWdZMjl3YVdWeklHOW1JRkpsWVdOMElHRnVaQ0JoY21VZ1lYUjBaVzF3ZEdsdVp5QjBieUJ1WlhOMElHRWdVbVZoWTNRZ01UVWdkSEpsWlNCcGJuTnBaR1VnWVNCU1pXRmpkQ0F4TmlCMGNtVmxJSFZ6YVc1bklIVnVjM1JoWW14bFgzSmxibVJsY2xOMVluUnlaV1ZKYm5SdlEyOXVkR0ZwYm1WeUxDQjNhR2xqYUNCcGMyNG5kQ0J6ZFhCd2IzSjBaV1F1SUZSeWVTQjBieUJ0WVd0bElITjFjbVVnZVc5MUlHaGhkbVVnYjI1c2VTQnZibVVnWTI5d2VTQnZaaUJTWldGamRDQW9ZVzVrSUdsa1pXRnNiSGtzSUhOM2FYUmphQ0IwYnlCU1pXRmpkRVJQVFM1amNtVmhkR1ZRYjNKMFlXd3BMbHdpSUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBwTzF4dUlDQlBZbXBsWTNRdVpuSmxaWHBsS0daaGEyVkpiblJsY201aGJFbHVjM1JoYm1ObEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1lYQndiSGxFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5d2dibVY0ZEZCeWIzQnpLU0I3WEc0Z0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVYRzRnSUh0Y2JpQWdJQ0JwWmlBb0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xdlpHVWdKaUJUZEhKcFkzUk5iMlJsS1NCN1hHNGdJQ0FnSUNBdkx5Qkpiblp2YTJVZ2RHaGxJR1oxYm1OMGFXOXVJR0Z1SUdWNGRISmhJSFJwYldVZ2RHOGdhR1ZzY0NCa1pYUmxZM1FnYzJsa1pTMWxabVpsWTNSekxseHVJQ0FnSUNBZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6S0c1bGVIUlFjbTl3Y3l3Z2NISmxkbE4wWVhSbEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnY0dGeWRHbGhiRk4wWVhSbElEMGdaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCektHNWxlSFJRY205d2N5d2djSEpsZGxOMFlYUmxLVHRjYmx4dUlDQjdYRzRnSUNBZ2QyRnliazl1Vlc1a1pXWnBibVZrUkdWeWFYWmxaRk4wWVhSbEtHTjBiM0lzSUhCaGNuUnBZV3hUZEdGMFpTazdYRzRnSUgwZ0x5OGdUV1Z5WjJVZ2RHaGxJSEJoY25ScFlXd2djM1JoZEdVZ1lXNWtJSFJvWlNCd2NtVjJhVzkxY3lCemRHRjBaUzVjYmx4dVhHNGdJSFpoY2lCdFpXMXZhWHBsWkZOMFlYUmxJRDBnY0dGeWRHbGhiRk4wWVhSbElEMDlQU0J1ZFd4c0lIeDhJSEJoY25ScFlXeFRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtJRDhnY0hKbGRsTjBZWFJsSURvZ1gyRnpjMmxuYmloN2ZTd2djSEpsZGxOMFlYUmxMQ0J3WVhKMGFXRnNVM1JoZEdVcE8xeHVJQ0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGTjBZWFJsSUQwZ2JXVnRiMmw2WldSVGRHRjBaVHNnTHk4Z1QyNWpaU0IwYUdVZ2RYQmtZWFJsSUhGMVpYVmxJR2x6SUdWdGNIUjVMQ0J3WlhKemFYTjBJSFJvWlNCa1pYSnBkbVZrSUhOMFlYUmxJRzl1ZEc4Z2RHaGxYRzRnSUM4dklHSmhjMlVnYzNSaGRHVXVYRzVjYmlBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOekxtVjRjR2x5WVhScGIyNVVhVzFsSUQwOVBTQk9iMWR2Y21zcElIdGNiaUFnSUNBdkx5QlJkV1YxWlNCcGN5QmhiSGRoZVhNZ2JtOXVMVzUxYkd3Z1ptOXlJR05zWVhOelpYTmNiaUFnSUNCMllYSWdkWEJrWVhSbFVYVmxkV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlR0Y2JpQWdJQ0IxY0dSaGRHVlJkV1YxWlM1aVlYTmxVM1JoZEdVZ1BTQnRaVzF2YVhwbFpGTjBZWFJsTzF4dUlDQjlYRzU5WEc1MllYSWdZMnhoYzNORGIyMXdiMjVsYm5SVmNHUmhkR1Z5SUQwZ2UxeHVJQ0JwYzAxdmRXNTBaV1E2SUdselRXOTFiblJsWkN4Y2JpQWdaVzV4ZFdWMVpWTmxkRk4wWVhSbE9pQm1kVzVqZEdsdmJpQW9hVzV6ZEN3Z2NHRjViRzloWkN3Z1kyRnNiR0poWTJzcElIdGNiaUFnSUNCMllYSWdabWxpWlhJZ1BTQm5aWFFvYVc1emRDazdYRzRnSUNBZ2RtRnlJR04xY25KbGJuUlVhVzFsSUQwZ2NtVnhkV1Z6ZEVOMWNuSmxiblJVYVcxbFJtOXlWWEJrWVhSbEtDazdYRzRnSUNBZ2RtRnlJSE4xYzNCbGJuTmxRMjl1Wm1sbklEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVGRYTndaVzV6WlVOdmJtWnBaeWdwTzF4dUlDQWdJSFpoY2lCbGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdOdmJYQjFkR1ZGZUhCcGNtRjBhVzl1Um05eVJtbGlaWElvWTNWeWNtVnVkRlJwYldVc0lHWnBZbVZ5TENCemRYTndaVzV6WlVOdmJtWnBaeWs3WEc0Z0lDQWdkbUZ5SUhWd1pHRjBaU0E5SUdOeVpXRjBaVlZ3WkdGMFpTaGxlSEJwY21GMGFXOXVWR2x0WlN3Z2MzVnpjR1Z1YzJWRGIyNW1hV2NwTzF4dUlDQWdJSFZ3WkdGMFpTNXdZWGxzYjJGa0lEMGdjR0Y1Ykc5aFpEdGNibHh1SUNBZ0lHbG1JQ2hqWVd4c1ltRmpheUFoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR05oYkd4aVlXTnJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhkaGNtNVBia2x1ZG1Gc2FXUkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2dKM05sZEZOMFlYUmxKeWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhWd1pHRjBaUzVqWVd4c1ltRmpheUE5SUdOaGJHeGlZV05yTzF4dUlDQWdJSDFjYmx4dUlDQWdJR1Z1Y1hWbGRXVlZjR1JoZEdVb1ptbGlaWElzSUhWd1pHRjBaU2s3WEc0Z0lDQWdjMk5vWldSMWJHVlhiM0pyS0dacFltVnlMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgwc1hHNGdJR1Z1Y1hWbGRXVlNaWEJzWVdObFUzUmhkR1U2SUdaMWJtTjBhVzl1SUNocGJuTjBMQ0J3WVhsc2IyRmtMQ0JqWVd4c1ltRmpheWtnZTF4dUlDQWdJSFpoY2lCbWFXSmxjaUE5SUdkbGRDaHBibk4wS1R0Y2JpQWdJQ0IyWVhJZ1kzVnljbVZ1ZEZScGJXVWdQU0J5WlhGMVpYTjBRM1Z5Y21WdWRGUnBiV1ZHYjNKVmNHUmhkR1VvS1R0Y2JpQWdJQ0IyWVhJZ2MzVnpjR1Z1YzJWRGIyNW1hV2NnUFNCeVpYRjFaWE4wUTNWeWNtVnVkRk4xYzNCbGJuTmxRMjl1Wm1sbktDazdYRzRnSUNBZ2RtRnlJR1Y0Y0dseVlYUnBiMjVVYVcxbElEMGdZMjl0Y0hWMFpVVjRjR2x5WVhScGIyNUdiM0pHYVdKbGNpaGpkWEp5Wlc1MFZHbHRaU3dnWm1saVpYSXNJSE4xYzNCbGJuTmxRMjl1Wm1sbktUdGNiaUFnSUNCMllYSWdkWEJrWVhSbElEMGdZM0psWVhSbFZYQmtZWFJsS0dWNGNHbHlZWFJwYjI1VWFXMWxMQ0J6ZFhOd1pXNXpaVU52Ym1acFp5azdYRzRnSUNBZ2RYQmtZWFJsTG5SaFp5QTlJRkpsY0d4aFkyVlRkR0YwWlR0Y2JpQWdJQ0IxY0dSaGRHVXVjR0Y1Ykc5aFpDQTlJSEJoZVd4dllXUTdYRzVjYmlBZ0lDQnBaaUFvWTJGc2JHSmhZMnNnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJqWVd4c1ltRmpheUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCM1lYSnVUMjVKYm5aaGJHbGtRMkZzYkdKaFkyc29ZMkZzYkdKaFkyc3NJQ2R5WlhCc1lXTmxVM1JoZEdVbktUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkWEJrWVhSbExtTmhiR3hpWVdOcklEMGdZMkZzYkdKaFkyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pXNXhkV1YxWlZWd1pHRjBaU2htYVdKbGNpd2dkWEJrWVhSbEtUdGNiaUFnSUNCelkyaGxaSFZzWlZkdmNtc29abWxpWlhJc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdmU3hjYmlBZ1pXNXhkV1YxWlVadmNtTmxWWEJrWVhSbE9pQm1kVzVqZEdsdmJpQW9hVzV6ZEN3Z1kyRnNiR0poWTJzcElIdGNiaUFnSUNCMllYSWdabWxpWlhJZ1BTQm5aWFFvYVc1emRDazdYRzRnSUNBZ2RtRnlJR04xY25KbGJuUlVhVzFsSUQwZ2NtVnhkV1Z6ZEVOMWNuSmxiblJVYVcxbFJtOXlWWEJrWVhSbEtDazdYRzRnSUNBZ2RtRnlJSE4xYzNCbGJuTmxRMjl1Wm1sbklEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVGRYTndaVzV6WlVOdmJtWnBaeWdwTzF4dUlDQWdJSFpoY2lCbGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdOdmJYQjFkR1ZGZUhCcGNtRjBhVzl1Um05eVJtbGlaWElvWTNWeWNtVnVkRlJwYldVc0lHWnBZbVZ5TENCemRYTndaVzV6WlVOdmJtWnBaeWs3WEc0Z0lDQWdkbUZ5SUhWd1pHRjBaU0E5SUdOeVpXRjBaVlZ3WkdGMFpTaGxlSEJwY21GMGFXOXVWR2x0WlN3Z2MzVnpjR1Z1YzJWRGIyNW1hV2NwTzF4dUlDQWdJSFZ3WkdGMFpTNTBZV2NnUFNCR2IzSmpaVlZ3WkdGMFpUdGNibHh1SUNBZ0lHbG1JQ2hqWVd4c1ltRmpheUFoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR05oYkd4aVlXTnJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhkaGNtNVBia2x1ZG1Gc2FXUkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2dKMlp2Y21ObFZYQmtZWFJsSnlrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIVndaR0YwWlM1allXeHNZbUZqYXlBOUlHTmhiR3hpWVdOck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdWdWNYVmxkV1ZWY0dSaGRHVW9abWxpWlhJc0lIVndaR0YwWlNrN1hHNGdJQ0FnYzJOb1pXUjFiR1ZYYjNKcktHWnBZbVZ5TENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lIMWNibjA3WEc1Y2JtWjFibU4wYVc5dUlHTm9aV05yVTJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEtIZHZjbXRKYmxCeWIyZHlaWE56TENCamRHOXlMQ0J2YkdSUWNtOXdjeXdnYm1WM1VISnZjSE1zSUc5c1pGTjBZWFJsTENCdVpYZFRkR0YwWlN3Z2JtVjRkRU52Ym5SbGVIUXBJSHRjYmlBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdhVzV6ZEdGdVkyVXVjMmh2ZFd4a1EyOXRjRzl1Wlc1MFZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdhV1lnS0NCM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU2tnZTF4dUlDQWdJQ0FnSUNBdkx5Qkpiblp2YTJVZ2RHaGxJR1oxYm1OMGFXOXVJR0Z1SUdWNGRISmhJSFJwYldVZ2RHOGdhR1ZzY0NCa1pYUmxZM1FnYzJsa1pTMWxabVpsWTNSekxseHVJQ0FnSUNBZ0lDQnBibk4wWVc1alpTNXphRzkxYkdSRGIyMXdiMjVsYm5SVmNHUmhkR1VvYm1WM1VISnZjSE1zSUc1bGQxTjBZWFJsTENCdVpYaDBRMjl1ZEdWNGRDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzUmhjblJRYUdGelpWUnBiV1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0FuYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEp5azdYRzRnSUNBZ2RtRnlJSE5vYjNWc1pGVndaR0YwWlNBOUlHbHVjM1JoYm1ObExuTm9iM1ZzWkVOdmJYQnZibVZ1ZEZWd1pHRjBaU2h1WlhkUWNtOXdjeXdnYm1WM1UzUmhkR1VzSUc1bGVIUkRiMjUwWlhoMEtUdGNiaUFnSUNCemRHOXdVR2hoYzJWVWFXMWxjaWdwTzF4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeTV6YUc5MWJHUkRiMjF3YjI1bGJuUlZjR1JoZEdVb0tUb2dVbVYwZFhKdVpXUWdkVzVrWldacGJtVmtJR2x1YzNSbFlXUWdiMllnWVNBbklDc2dKMkp2YjJ4bFlXNGdkbUZzZFdVdUlFMWhhMlVnYzNWeVpTQjBieUJ5WlhSMWNtNGdkSEoxWlNCdmNpQm1ZV3h6WlM0bkxDQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtHTjBiM0lwSUh4OElDZERiMjF3YjI1bGJuUW5LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2MyaHZkV3hrVlhCa1lYUmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHTjBiM0l1Y0hKdmRHOTBlWEJsSUNZbUlHTjBiM0l1Y0hKdmRHOTBlWEJsTG1selVIVnlaVkpsWVdOMFEyOXRjRzl1Wlc1MEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUNGemFHRnNiRzkzUlhGMVlXd29iMnhrVUhKdmNITXNJRzVsZDFCeWIzQnpLU0I4ZkNBaGMyaGhiR3h2ZDBWeGRXRnNLRzlzWkZOMFlYUmxMQ0J1WlhkVGRHRjBaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZEhKMVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnREYkdGemMwbHVjM1JoYm1ObEtIZHZjbXRKYmxCeWIyZHlaWE56TENCamRHOXlMQ0J1WlhkUWNtOXdjeWtnZTF4dUlDQjJZWElnYVc1emRHRnVZMlVnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJ1WVcxbElEMGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaGpkRzl5S1NCOGZDQW5RMjl0Y0c5dVpXNTBKenRjYmlBZ0lDQjJZWElnY21WdVpHVnlVSEpsYzJWdWRDQTlJR2x1YzNSaGJtTmxMbkpsYm1SbGNqdGNibHh1SUNBZ0lHbG1JQ2doY21WdVpHVnlVSEpsYzJWdWRDa2dlMXh1SUNBZ0lDQWdhV1lnS0dOMGIzSXVjSEp2ZEc5MGVYQmxJQ1ltSUhSNWNHVnZaaUJqZEc5eUxuQnliM1J2ZEhsd1pTNXlaVzVrWlhJZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWektDNHVMaWs2SUU1dklHQnlaVzVrWlhKZ0lHMWxkR2h2WkNCbWIzVnVaQ0J2YmlCMGFHVWdjbVYwZFhKdVpXUWdZMjl0Y0c5dVpXNTBJQ2NnS3lBbmFXNXpkR0Z1WTJVNklHUnBaQ0I1YjNVZ1lXTmphV1JsYm5SaGJHeDVJSEpsZEhWeWJpQmhiaUJ2WW1wbFkzUWdabkp2YlNCMGFHVWdZMjl1YzNSeWRXTjBiM0kvSnl3Z2JtRnRaU2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25KWE1vTGk0dUtUb2dUbThnWUhKbGJtUmxjbUFnYldWMGFHOWtJR1p2ZFc1a0lHOXVJSFJvWlNCeVpYUjFjbTVsWkNCamIyMXdiMjVsYm5RZ0p5QXJJQ2RwYm5OMFlXNWpaVG9nZVc5MUlHMWhlU0JvWVhabElHWnZjbWR2ZEhSbGJpQjBieUJrWldacGJtVWdZSEpsYm1SbGNtQXVKeXdnYm1GdFpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbWRsZEVsdWFYUnBZV3hUZEdGMFpTQW1KaUFoYVc1emRHRnVZMlV1WjJWMFNXNXBkR2xoYkZOMFlYUmxMbWx6VW1WaFkzUkRiR0Z6YzBGd2NISnZkbVZrSUNZbUlDRnBibk4wWVc1alpTNXpkR0YwWlNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjJkbGRFbHVhWFJwWVd4VGRHRjBaU0IzWVhNZ1pHVm1hVzVsWkNCdmJpQWxjeXdnWVNCd2JHRnBiaUJLWVhaaFUyTnlhWEIwSUdOc1lYTnpMaUFuSUNzZ0oxUm9hWE1nYVhNZ2IyNXNlU0J6ZFhCd2IzSjBaV1FnWm05eUlHTnNZWE56WlhNZ1kzSmxZWFJsWkNCMWMybHVaeUJTWldGamRDNWpjbVZoZEdWRGJHRnpjeTRnSnlBcklDZEVhV1FnZVc5MUlHMWxZVzRnZEc4Z1pHVm1hVzVsSUdFZ2MzUmhkR1VnY0hKdmNHVnlkSGtnYVc1emRHVmhaRDhuTENCdVlXMWxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYVc1emRHRnVZMlV1WjJWMFJHVm1ZWFZzZEZCeWIzQnpJQ1ltSUNGcGJuTjBZVzVqWlM1blpYUkVaV1poZFd4MFVISnZjSE11YVhOU1pXRmpkRU5zWVhOelFYQndjbTkyWldRcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkblpYUkVaV1poZFd4MFVISnZjSE1nZDJGeklHUmxabWx1WldRZ2IyNGdKWE1zSUdFZ2NHeGhhVzRnU21GMllWTmpjbWx3ZENCamJHRnpjeTRnSnlBcklDZFVhR2x6SUdseklHOXViSGtnYzNWd2NHOXlkR1ZrSUdadmNpQmpiR0Z6YzJWeklHTnlaV0YwWldRZ2RYTnBibWNnVW1WaFkzUXVZM0psWVhSbFEyeGhjM011SUNjZ0t5QW5WWE5sSUdFZ2MzUmhkR2xqSUhCeWIzQmxjblI1SUhSdklHUmxabWx1WlNCa1pXWmhkV3gwVUhKdmNITWdhVzV6ZEdWaFpDNG5MQ0J1WVcxbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9hVzV6ZEdGdVkyVXVjSEp2Y0ZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25jSEp2Y0ZSNWNHVnpJSGRoY3lCa1pXWnBibVZrSUdGeklHRnVJR2x1YzNSaGJtTmxJSEJ5YjNCbGNuUjVJRzl1SUNWekxpQlZjMlVnWVNCemRHRjBhV01nSnlBcklDZHdjbTl3WlhKMGVTQjBieUJrWldacGJtVWdjSEp2Y0ZSNWNHVnpJR2x1YzNSbFlXUXVKeXdnYm1GdFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbU52Ym5SbGVIUlVlWEJsS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduWTI5dWRHVjRkRlI1Y0dVZ2QyRnpJR1JsWm1sdVpXUWdZWE1nWVc0Z2FXNXpkR0Z1WTJVZ2NISnZjR1Z5ZEhrZ2IyNGdKWE11SUZWelpTQmhJSE4wWVhScFl5QW5JQ3NnSjNCeWIzQmxjblI1SUhSdklHUmxabWx1WlNCamIyNTBaWGgwVkhsd1pTQnBibk4wWldGa0xpY3NJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUdsbUlDaHBibk4wWVc1alpTNWpiMjUwWlhoMFZIbHdaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSjJOdmJuUmxlSFJVZVhCbGN5QjNZWE1nWkdWbWFXNWxaQ0JoY3lCaGJpQnBibk4wWVc1alpTQndjbTl3WlhKMGVTQnZiaUFsY3k0Z1ZYTmxJR0VnYzNSaGRHbGpJQ2NnS3lBbmNISnZjR1Z5ZEhrZ2RHOGdaR1ZtYVc1bElHTnZiblJsZUhSVWVYQmxjeUJwYm5OMFpXRmtMaWNzSUc1aGJXVXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kzUnZjaTVqYjI1MFpYaDBWSGx3WlNBbUppQmpkRzl5TG1OdmJuUmxlSFJVZVhCbGN5QW1KaUFoWkdsa1YyRnlia0ZpYjNWMFEyOXVkR1Y0ZEZSNWNHVkJibVJEYjI1MFpYaDBWSGx3WlhNdWFHRnpLR04wYjNJcEtTQjdYRzRnSUNBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEVOdmJuUmxlSFJVZVhCbFFXNWtRMjl1ZEdWNGRGUjVjR1Z6TG1Ga1pDaGpkRzl5S1R0Y2JseHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnbkpYTWdaR1ZqYkdGeVpYTWdZbTkwYUNCamIyNTBaWGgwVkhsd1pYTWdZVzVrSUdOdmJuUmxlSFJVZVhCbElITjBZWFJwWXlCd2NtOXdaWEowYVdWekxpQW5JQ3NnSjFSb1pTQnNaV2RoWTNrZ1kyOXVkR1Y0ZEZSNWNHVnpJSEJ5YjNCbGNuUjVJSGRwYkd3Z1ltVWdhV2R1YjNKbFpDNG5MQ0J1WVcxbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGTm9iM1ZzWkZWd1pHRjBaU0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0p5VnpJR2hoY3lCaElHMWxkR2h2WkNCallXeHNaV1FnSnlBcklDZGpiMjF3YjI1bGJuUlRhRzkxYkdSVmNHUmhkR1VvS1M0Z1JHbGtJSGx2ZFNCdFpXRnVJSE5vYjNWc1pFTnZiWEJ2Ym1WdWRGVndaR0YwWlNncFB5QW5JQ3NnSjFSb1pTQnVZVzFsSUdseklIQm9jbUZ6WldRZ1lYTWdZU0J4ZFdWemRHbHZiaUJpWldOaGRYTmxJSFJvWlNCbWRXNWpkR2x2YmlCcGN5QW5JQ3NnSjJWNGNHVmpkR1ZrSUhSdklISmxkSFZ5YmlCaElIWmhiSFZsTGljc0lHNWhiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamRHOXlMbkJ5YjNSdmRIbHdaU0FtSmlCamRHOXlMbkJ5YjNSdmRIbHdaUzVwYzFCMWNtVlNaV0ZqZEVOdmJYQnZibVZ1ZENBbUppQjBlWEJsYjJZZ2FXNXpkR0Z1WTJVdWMyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5a2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0p5VnpJR2hoY3lCaElHMWxkR2h2WkNCallXeHNaV1FnYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEtDa3VJQ2NnS3lBbmMyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJSE5vYjNWc1pDQnViM1FnWW1VZ2RYTmxaQ0IzYUdWdUlHVjRkR1Z1WkdsdVp5QlNaV0ZqZEM1UWRYSmxRMjl0Y0c5dVpXNTBMaUFuSUNzZ0oxQnNaV0Z6WlNCbGVIUmxibVFnVW1WaFkzUXVRMjl0Y0c5dVpXNTBJR2xtSUhOb2IzVnNaRU52YlhCdmJtVnVkRlZ3WkdGMFpTQnBjeUIxYzJWa0xpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1J2Y2lrZ2ZId2dKMEVnY0hWeVpTQmpiMjF3YjI1bGJuUW5LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRVJwWkZWdWJXOTFiblFnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDY2xjeUJvWVhNZ1lTQnRaWFJvYjJRZ1kyRnNiR1ZrSUNjZ0t5QW5ZMjl0Y0c5dVpXNTBSR2xrVlc1dGIzVnVkQ2dwTGlCQ2RYUWdkR2hsY21VZ2FYTWdibThnYzNWamFDQnNhV1psWTNsamJHVWdiV1YwYUc5a0xpQW5JQ3NnSjBScFpDQjViM1VnYldWaGJpQmpiMjF3YjI1bGJuUlhhV3hzVlc1dGIzVnVkQ2dwUHljc0lHNWhiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwUkdsa1VtVmpaV2wyWlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnbkpYTWdhR0Z6SUdFZ2JXVjBhRzlrSUdOaGJHeGxaQ0FuSUNzZ0oyTnZiWEJ2Ym1WdWRFUnBaRkpsWTJWcGRtVlFjbTl3Y3lncExpQkNkWFFnZEdobGNtVWdhWE1nYm04Z2MzVmphQ0JzYVdabFkzbGpiR1VnYldWMGFHOWtMaUFuSUNzZ0owbG1JSGx2ZFNCdFpXRnVkQ0IwYnlCMWNHUmhkR1VnZEdobElITjBZWFJsSUdsdUlISmxjM0J2Ym5ObElIUnZJR05vWVc1bmFXNW5JSEJ5YjNCekxDQW5JQ3NnSjNWelpTQmpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCektDa3VJRWxtSUhsdmRTQnRaV0Z1ZENCMGJ5Qm1aWFJqYUNCa1lYUmhJRzl5SUNjZ0t5QW5jblZ1SUhOcFpHVXRaV1ptWldOMGN5QnZjaUJ0ZFhSaGRHbHZibk1nWVdaMFpYSWdVbVZoWTNRZ2FHRnpJSFZ3WkdGMFpXUWdkR2hsSUZWSkxDQjFjMlVnWTI5dGNHOXVaVzUwUkdsa1ZYQmtZWFJsS0NrdUp5d2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SWGFXeHNVbVZqYVdWMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25KWE1nYUdGeklHRWdiV1YwYUc5a0lHTmhiR3hsWkNBbklDc2dKMk52YlhCdmJtVnVkRmRwYkd4U1pXTnBaWFpsVUhKdmNITW9LUzRnUkdsa0lIbHZkU0J0WldGdUlHTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hNb0tUOG5MQ0J1WVcxbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExsVk9VMEZHUlY5amIyMXdiMjVsYm5SWGFXeHNVbVZqYVdWMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25KWE1nYUdGeklHRWdiV1YwYUc5a0lHTmhiR3hsWkNBbklDc2dKMVZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVW1WamFXVjJaVkJ5YjNCektDa3VJRVJwWkNCNWIzVWdiV1ZoYmlCVlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeWdwUHljc0lHNWhiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCb1lYTk5kWFJoZEdWa1VISnZjSE1nUFNCcGJuTjBZVzVqWlM1d2NtOXdjeUFoUFQwZ2JtVjNVSEp2Y0hNN1hHNWNiaUFnSUNCcFppQW9hVzV6ZEdGdVkyVXVjSEp2Y0hNZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCb1lYTk5kWFJoZEdWa1VISnZjSE1wSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2NsY3lndUxpNHBPaUJYYUdWdUlHTmhiR3hwYm1jZ2MzVndaWElvS1NCcGJpQmdKWE5nTENCdFlXdGxJSE4xY21VZ2RHOGdjR0Z6Y3lBbklDc2dYQ0oxY0NCMGFHVWdjMkZ0WlNCd2NtOXdjeUIwYUdGMElIbHZkWElnWTI5dGNHOXVaVzUwSjNNZ1kyOXVjM1J5ZFdOMGIzSWdkMkZ6SUhCaGMzTmxaQzVjSWl3Z2JtRnRaU3dnYm1GdFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbVJsWm1GMWJIUlFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjFObGRIUnBibWNnWkdWbVlYVnNkRkJ5YjNCeklHRnpJR0Z1SUdsdWMzUmhibU5sSUhCeWIzQmxjblI1SUc5dUlDVnpJR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUWdZVzVrSUhkcGJHd2dZbVVnYVdkdWIzSmxaQzRuSUNzZ0p5Qkpibk4wWldGa0xDQmtaV1pwYm1VZ1pHVm1ZWFZzZEZCeWIzQnpJR0Z6SUdFZ2MzUmhkR2xqSUhCeWIzQmxjblI1SUc5dUlDVnpMaWNzSUc1aGJXVXNJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVoyVjBVMjVoY0hOb2IzUkNaV1p2Y21WVmNHUmhkR1VnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRVJwWkZWd1pHRjBaU0FoUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoWkdsa1YyRnlia0ZpYjNWMFIyVjBVMjVoY0hOb2IzUkNaV1p2Y21WVmNHUmhkR1ZYYVhSb2IzVjBSR2xrVlhCa1lYUmxMbWhoY3loamRHOXlLU2tnZTF4dUlDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFIyVjBVMjVoY0hOb2IzUkNaV1p2Y21WVmNHUmhkR1ZYYVhSb2IzVjBSR2xrVlhCa1lYUmxMbUZrWkNoamRHOXlLVHRjYmx4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6T2lCblpYUlRibUZ3YzJodmRFSmxabTl5WlZWd1pHRjBaU2dwSUhOb2IzVnNaQ0JpWlNCMWMyVmtJSGRwZEdnZ1kyOXRjRzl1Wlc1MFJHbGtWWEJrWVhSbEtDa3VJQ2NnS3lBblZHaHBjeUJqYjIxd2IyNWxiblFnWkdWbWFXNWxjeUJuWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpTZ3BJRzl1YkhrdUp5d2daMlYwUTI5dGNHOXVaVzUwVG1GdFpTaGpkRzl5S1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1blpYUkVaWEpwZG1Wa1UzUmhkR1ZHY205dFVISnZjSE1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDY2xjem9nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLQ2tnYVhNZ1pHVm1hVzVsWkNCaGN5QmhiaUJwYm5OMFlXNWpaU0J0WlhSb2IyUWdKeUFySUNkaGJtUWdkMmxzYkNCaVpTQnBaMjV2Y21Wa0xpQkpibk4wWldGa0xDQmtaV05zWVhKbElHbDBJR0Z6SUdFZ2MzUmhkR2xqSUcxbGRHaHZaQzRuTENCdVlXMWxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbWRsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFGY25KdmNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQm5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRSWEp5YjNJb0tTQnBjeUJrWldacGJtVmtJR0Z6SUdGdUlHbHVjM1JoYm1ObElHMWxkR2h2WkNBbklDc2dKMkZ1WkNCM2FXeHNJR0psSUdsbmJtOXlaV1F1SUVsdWMzUmxZV1FzSUdSbFkyeGhjbVVnYVhRZ1lYTWdZU0J6ZEdGMGFXTWdiV1YwYUc5a0xpY3NJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kzUnZjaTVuWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQm5aWFJUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNncElHbHpJR1JsWm1sdVpXUWdZWE1nWVNCemRHRjBhV01nYldWMGFHOWtJQ2NnS3lBbllXNWtJSGRwYkd3Z1ltVWdhV2R1YjNKbFpDNGdTVzV6ZEdWaFpDd2daR1ZqYkdGeVpTQnBkQ0JoY3lCaGJpQnBibk4wWVc1alpTQnRaWFJvYjJRdUp5d2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlGOXpkR0YwWlNBOUlHbHVjM1JoYm1ObExuTjBZWFJsTzF4dVhHNGdJQ0FnYVdZZ0tGOXpkR0YwWlNBbUppQW9kSGx3Wlc5bUlGOXpkR0YwWlNBaFBUMGdKMjlpYW1WamRDY2dmSHdnYVhOQmNuSmhlU2hmYzNSaGRHVXBLU2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6TG5OMFlYUmxPaUJ0ZFhOMElHSmxJSE5sZENCMGJ5QmhiaUJ2WW1wbFkzUWdiM0lnYm5Wc2JDY3NJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVoyVjBRMmhwYkdSRGIyNTBaWGgwSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUhSNWNHVnZaaUJqZEc5eUxtTm9hV3hrUTI5dWRHVjRkRlI1Y0dWeklDRTlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6TG1kbGRFTm9hV3hrUTI5dWRHVjRkQ2dwT2lCamFHbHNaRU52Ym5SbGVIUlVlWEJsY3lCdGRYTjBJR0psSUdSbFptbHVaV1FnYVc0Z2IzSmtaWElnZEc4Z0p5QXJJQ2QxYzJVZ1oyVjBRMmhwYkdSRGIyNTBaWGgwS0NrdUp5d2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRmtiM0IwUTJ4aGMzTkpibk4wWVc1alpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2FXNXpkR0Z1WTJVcElIdGNiaUFnYVc1emRHRnVZMlV1ZFhCa1lYUmxjaUE5SUdOc1lYTnpRMjl0Y0c5dVpXNTBWWEJrWVhSbGNqdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxJRDBnYVc1emRHRnVZMlU3SUM4dklGUm9aU0JwYm5OMFlXNWpaU0J1WldWa2N5QmhZMk5sYzNNZ2RHOGdkR2hsSUdacFltVnlJSE52SUhSb1lYUWdhWFFnWTJGdUlITmphR1ZrZFd4bElIVndaR0YwWlhOY2JseHVJQ0J6WlhRb2FXNXpkR0Z1WTJVc0lIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JseHVJQ0I3WEc0Z0lDQWdhVzV6ZEdGdVkyVXVYM0psWVdOMFNXNTBaWEp1WVd4SmJuTjBZVzVqWlNBOUlHWmhhMlZKYm5SbGNtNWhiRWx1YzNSaGJtTmxPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJuTjBjblZqZEVOc1lYTnpTVzV6ZEdGdVkyVW9kMjl5YTBsdVVISnZaM0psYzNNc0lHTjBiM0lzSUhCeWIzQnpLU0I3WEc0Z0lIWmhjaUJwYzB4bFoyRmplVU52Ym5SbGVIUkRiMjV6ZFcxbGNpQTlJR1poYkhObE8xeHVJQ0IyWVhJZ2RXNXRZWE5yWldSRGIyNTBaWGgwSUQwZ1pXMXdkSGxEYjI1MFpYaDBUMkpxWldOME8xeHVJQ0IyWVhJZ1kyOXVkR1Y0ZENBOUlHVnRjSFI1UTI5dWRHVjRkRTlpYW1WamREdGNiaUFnZG1GeUlHTnZiblJsZUhSVWVYQmxJRDBnWTNSdmNpNWpiMjUwWlhoMFZIbHdaVHRjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLQ2RqYjI1MFpYaDBWSGx3WlNjZ2FXNGdZM1J2Y2lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2x6Vm1Gc2FXUWdQU0F2THlCQmJHeHZkeUJ1ZFd4c0lHWnZjaUJqYjI1a2FYUnBiMjVoYkNCa1pXTnNZWEpoZEdsdmJseHVJQ0FnSUNBZ1kyOXVkR1Y0ZEZSNWNHVWdQVDA5SUc1MWJHd2dmSHdnWTI5dWRHVjRkRlI1Y0dVZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCamIyNTBaWGgwVkhsd1pTNGtKSFI1Y0dWdlppQTlQVDBnVWtWQlExUmZRMDlPVkVWWVZGOVVXVkJGSUNZbUlHTnZiblJsZUhSVWVYQmxMbDlqYjI1MFpYaDBJRDA5UFNCMWJtUmxabWx1WldRN0lDOHZJRTV2ZENCaElEeERiMjUwWlhoMExrTnZibk4xYldWeVBseHVYRzRnSUNBZ0lDQnBaaUFvSVdselZtRnNhV1FnSmlZZ0lXUnBaRmRoY201QlltOTFkRWx1ZG1Gc2FXUmhkR1ZEYjI1MFpYaDBWSGx3WlM1b1lYTW9ZM1J2Y2lrcElIdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwU1c1MllXeHBaR0YwWlVOdmJuUmxlSFJVZVhCbExtRmtaQ2hqZEc5eUtUdGNiaUFnSUNBZ0lDQWdkbUZ5SUdGa1pHVnVaSFZ0SUQwZ0p5YzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTnZiblJsZUhSVWVYQmxJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0JoWkdSbGJtUjFiU0E5SUNjZ1NHOTNaWFpsY2l3Z2FYUWdhWE1nYzJWMElIUnZJSFZ1WkdWbWFXNWxaQzRnSnlBcklDZFVhR2x6SUdOaGJpQmlaU0JqWVhWelpXUWdZbmtnWVNCMGVYQnZJRzl5SUdKNUlHMXBlR2x1WnlCMWNDQnVZVzFsWkNCaGJtUWdaR1ZtWVhWc2RDQnBiWEJ2Y25SekxpQW5JQ3NnSjFSb2FYTWdZMkZ1SUdGc2MyOGdhR0Z3Y0dWdUlHUjFaU0IwYnlCaElHTnBjbU4xYkdGeUlHUmxjR1Z1WkdWdVkza3NJSE52SUNjZ0t5QW5kSEo1SUcxdmRtbHVaeUIwYUdVZ1kzSmxZWFJsUTI5dWRHVjRkQ2dwSUdOaGJHd2dkRzhnWVNCelpYQmhjbUYwWlNCbWFXeGxMaWM3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdOdmJuUmxlSFJVZVhCbElDRTlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHRmtaR1Z1WkhWdElEMGdKeUJJYjNkbGRtVnlMQ0JwZENCcGN5QnpaWFFnZEc4Z1lTQW5JQ3NnZEhsd1pXOW1JR052Ym5SbGVIUlVlWEJsSUNzZ0p5NG5PMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dOdmJuUmxlSFJVZVhCbExpUWtkSGx3Wlc5bUlEMDlQU0JTUlVGRFZGOVFVazlXU1VSRlVsOVVXVkJGS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZV1JrWlc1a2RXMGdQU0FuSUVScFpDQjViM1VnWVdOamFXUmxiblJoYkd4NUlIQmhjM01nZEdobElFTnZiblJsZUhRdVVISnZkbWxrWlhJZ2FXNXpkR1ZoWkQ4bk8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR052Ym5SbGVIUlVlWEJsTGw5amIyNTBaWGgwSUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QThRMjl1ZEdWNGRDNURiMjV6ZFcxbGNqNWNiaUFnSUNBZ0lDQWdJQ0JoWkdSbGJtUjFiU0E5SUNjZ1JHbGtJSGx2ZFNCaFkyTnBaR1Z1ZEdGc2JIa2djR0Z6Y3lCMGFHVWdRMjl1ZEdWNGRDNURiMjV6ZFcxbGNpQnBibk4wWldGa1B5YzdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnWVdSa1pXNWtkVzBnUFNBbklFaHZkMlYyWlhJc0lHbDBJR2x6SUhObGRDQjBieUJoYmlCdlltcGxZM1FnZDJsMGFDQnJaWGx6SUhzbklDc2dUMkpxWldOMExtdGxlWE1vWTI5dWRHVjRkRlI1Y0dVcExtcHZhVzRvSnl3Z0p5a2dLeUFuZlM0bk8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KeVZ6SUdSbFptbHVaWE1nWVc0Z2FXNTJZV3hwWkNCamIyNTBaWGgwVkhsd1pTNGdKeUFySUNkamIyNTBaWGgwVkhsd1pTQnphRzkxYkdRZ2NHOXBiblFnZEc4Z2RHaGxJRU52Ym5SbGVIUWdiMkpxWldOMElISmxkSFZ5Ym1Wa0lHSjVJRkpsWVdOMExtTnlaV0YwWlVOdmJuUmxlSFFvS1M0bGN5Y3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1J2Y2lrZ2ZId2dKME52YlhCdmJtVnVkQ2NzSUdGa1pHVnVaSFZ0S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCcFppQW9kSGx3Wlc5bUlHTnZiblJsZUhSVWVYQmxJRDA5UFNBbmIySnFaV04wSnlBbUppQmpiMjUwWlhoMFZIbHdaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR052Ym5SbGVIUWdQU0J5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwVkhsd1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkVzV0WVhOclpXUkRiMjUwWlhoMElEMGdaMlYwVlc1dFlYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkRzl5TENCMGNuVmxLVHRjYmlBZ0lDQjJZWElnWTI5dWRHVjRkRlI1Y0dWeklEMGdZM1J2Y2k1amIyNTBaWGgwVkhsd1pYTTdYRzRnSUNBZ2FYTk1aV2RoWTNsRGIyNTBaWGgwUTI5dWMzVnRaWElnUFNCamIyNTBaWGgwVkhsd1pYTWdJVDA5SUc1MWJHd2dKaVlnWTI5dWRHVjRkRlI1Y0dWeklDRTlQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdZMjl1ZEdWNGRDQTlJR2x6VEdWbllXTjVRMjl1ZEdWNGRFTnZibk4xYldWeUlEOGdaMlYwVFdGemEyVmtRMjl1ZEdWNGRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2RXNXRZWE5yWldSRGIyNTBaWGgwS1NBNklHVnRjSFI1UTI5dWRHVjRkRTlpYW1WamREdGNiaUFnZlNBdkx5Qkpibk4wWVc1MGFXRjBaU0IwZDJsalpTQjBieUJvWld4d0lHUmxkR1ZqZENCemFXUmxMV1ZtWm1WamRITXVYRzVjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLQ0IzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1UzUnlhV04wVFc5a1pTa2dlMXh1SUNBZ0lDQWdibVYzSUdOMGIzSW9jSEp2Y0hNc0lHTnZiblJsZUhRcE95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsSUc1dkxXNWxkMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCcGJuTjBZVzVqWlNBOUlHNWxkeUJqZEc5eUtIQnliM0J6TENCamIyNTBaWGgwS1R0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBOUlHbHVjM1JoYm1ObExuTjBZWFJsSUNFOVBTQnVkV3hzSUNZbUlHbHVjM1JoYm1ObExuTjBZWFJsSUNFOVBTQjFibVJsWm1sdVpXUWdQeUJwYm5OMFlXNWpaUzV6ZEdGMFpTQTZJRzUxYkd3N1hHNGdJR0ZrYjNCMFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dhVzV6ZEdGdVkyVXBPMXh1WEc0Z0lIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTjBiM0l1WjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JSE4wWVhSbElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1J2Y2lrZ2ZId2dKME52YlhCdmJtVnVkQ2M3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwVlc1cGJtbDBhV0ZzYVhwbFpGTjBZWFJsTG1oaGN5aGpiMjF3YjI1bGJuUk9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJWYm1sdWFYUnBZV3hwZW1Wa1UzUmhkR1V1WVdSa0tHTnZiWEJ2Ym1WdWRFNWhiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkZ0pYTmdJSFZ6WlhNZ1lHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3YzJBZ1luVjBJR2wwY3lCcGJtbDBhV0ZzSUhOMFlYUmxJR2x6SUNjZ0t5QW5KWE11SUZSb2FYTWdhWE1nYm05MElISmxZMjl0YldWdVpHVmtMaUJKYm5OMFpXRmtMQ0JrWldacGJtVWdkR2hsSUdsdWFYUnBZV3dnYzNSaGRHVWdZbmtnSnlBcklDZGhjM05wWjI1cGJtY2dZVzRnYjJKcVpXTjBJSFJ2SUdCMGFHbHpMbk4wWVhSbFlDQnBiaUIwYUdVZ1kyOXVjM1J5ZFdOMGIzSWdiMllnWUNWellDNGdKeUFySUNkVWFHbHpJR1Z1YzNWeVpYTWdkR2hoZENCZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6WUNCaGNtZDFiV1Z1ZEhNZ2FHRjJaU0JoSUdOdmJuTnBjM1JsYm5RZ2MyaGhjR1V1Snl3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnYVc1emRHRnVZMlV1YzNSaGRHVWdQVDA5SUc1MWJHd2dQeUFuYm5Wc2JDY2dPaUFuZFc1a1pXWnBibVZrSnl3Z1kyOXRjRzl1Wlc1MFRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0F2THlCSlppQnVaWGNnWTI5dGNHOXVaVzUwSUVGUVNYTWdZWEpsSUdSbFptbHVaV1FzSUZ3aWRXNXpZV1psWENJZ2JHbG1aV041WTJ4bGN5QjNiMjRuZENCaVpTQmpZV3hzWldRdVhHNGdJQ0FnTHk4Z1YyRnliaUJoWW05MWRDQjBhR1Z6WlNCc2FXWmxZM2xqYkdWeklHbG1JSFJvWlhrZ1lYSmxJSEJ5WlhObGJuUXVYRzRnSUNBZ0x5OGdSRzl1SjNRZ2QyRnliaUJoWW05MWRDQnlaV0ZqZEMxc2FXWmxZM2xqYkdWekxXTnZiWEJoZENCd2IyeDVabWxzYkdWa0lHMWxkR2h2WkhNZ2RHaHZkV2RvTGx4dVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTjBiM0l1WjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJSFI1Y0dWdlppQnBibk4wWVc1alpTNW5aWFJUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnZG1GeUlHWnZkVzVrVjJsc2JFMXZkVzUwVG1GdFpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCMllYSWdabTkxYm1SWGFXeHNVbVZqWldsMlpWQnliM0J6VG1GdFpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCMllYSWdabTkxYm1SWGFXeHNWWEJrWVhSbFRtRnRaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZEM1ZlgzTjFjSEJ5WlhOelJHVndjbVZqWVhScGIyNVhZWEp1YVc1bklDRTlQU0IwY25WbEtTQjdYRzRnSUNBZ0lDQWdJR1p2ZFc1a1YybHNiRTF2ZFc1MFRtRnRaU0E5SUNkamIyMXdiMjVsYm5SWGFXeHNUVzkxYm5Rbk8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZENBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCbWIzVnVaRmRwYkd4TmIzVnVkRTVoYldVZ1BTQW5WVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDYzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpMbDlmYzNWd2NISmxjM05FWlhCeVpXTmhkR2x2YmxkaGNtNXBibWNnSVQwOUlIUnlkV1VwSUh0Y2JpQWdJQ0FnSUNBZ1ptOTFibVJYYVd4c1VtVmpaV2wyWlZCeWIzQnpUbUZ0WlNBOUlDZGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCekp6dGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExsVk9VMEZHUlY5amIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUdadmRXNWtWMmxzYkZKbFkyVnBkbVZRY205d2MwNWhiV1VnUFNBblZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1uTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hWY0dSaGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaUzVmWDNOMWNIQnlaWE56UkdWd2NtVmpZWFJwYjI1WFlYSnVhVzVuSUNFOVBTQjBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lHWnZkVzVrVjJsc2JGVndaR0YwWlU1aGJXVWdQU0FuWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNjN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1VlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCbWIzVnVaRmRwYkd4VmNHUmhkR1ZPWVcxbElEMGdKMVZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxKenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHWnZkVzVrVjJsc2JFMXZkVzUwVG1GdFpTQWhQVDBnYm5Wc2JDQjhmQ0JtYjNWdVpGZHBiR3hTWldObGFYWmxVSEp2Y0hOT1lXMWxJQ0U5UFNCdWRXeHNJSHg4SUdadmRXNWtWMmxzYkZWd1pHRjBaVTVoYldVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUY5amIyMXdiMjVsYm5ST1lXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hqZEc5eUtTQjhmQ0FuUTI5dGNHOXVaVzUwSnp0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYm1WM1FYQnBUbUZ0WlNBOUlIUjVjR1Z2WmlCamRHOXlMbWRsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5QTlQVDBnSjJaMWJtTjBhVzl1SnlBL0lDZG5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNb0tTY2dPaUFuWjJWMFUyNWhjSE5vYjNSQ1pXWnZjbVZWY0dSaGRHVW9LU2M3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrYVdSWFlYSnVRV0p2ZFhSTVpXZGhZM2xNYVdabFkzbGpiR1Z6UVc1a1JHVnlhWFpsWkZOMFlYUmxMbWhoY3loZlkyOXRjRzl1Wlc1MFRtRnRaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJNWldkaFkzbE1hV1psWTNsamJHVnpRVzVrUkdWeWFYWmxaRk4wWVhSbExtRmtaQ2hmWTI5dGNHOXVaVzUwVG1GdFpTazdYRzVjYmlBZ0lDQWdJQ0FnSUNCbGNuSnZjaWduVlc1ellXWmxJR3hsWjJGamVTQnNhV1psWTNsamJHVnpJSGRwYkd3Z2JtOTBJR0psSUdOaGJHeGxaQ0JtYjNJZ1kyOXRjRzl1Wlc1MGN5QjFjMmx1WnlCdVpYY2dZMjl0Y0c5dVpXNTBJRUZRU1hNdVhGeHVYRnh1SnlBcklDY2xjeUIxYzJWeklDVnpJR0oxZENCaGJITnZJR052Ym5SaGFXNXpJSFJvWlNCbWIyeHNiM2RwYm1jZ2JHVm5ZV041SUd4cFptVmplV05zWlhNNkpYTWxjeVZ6WEZ4dVhGeHVKeUFySUNkVWFHVWdZV0p2ZG1VZ2JHbG1aV041WTJ4bGN5QnphRzkxYkdRZ1ltVWdjbVZ0YjNabFpDNGdUR1ZoY200Z2JXOXlaU0JoWW05MWRDQjBhR2x6SUhkaGNtNXBibWNnYUdWeVpUcGNYRzRuSUNzZ0oyaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRkVzV6WVdabExXTnZiWEJ2Ym1WdWRDMXNhV1psWTNsamJHVnpKeXdnWDJOdmJYQnZibVZ1ZEU1aGJXVXNJRzVsZDBGd2FVNWhiV1VzSUdadmRXNWtWMmxzYkUxdmRXNTBUbUZ0WlNBaFBUMGdiblZzYkNBL0lGd2lYRnh1SUNCY0lpQXJJR1p2ZFc1a1YybHNiRTF2ZFc1MFRtRnRaU0E2SUNjbkxDQm1iM1Z1WkZkcGJHeFNaV05sYVhabFVISnZjSE5PWVcxbElDRTlQU0J1ZFd4c0lEOGdYQ0pjWEc0Z0lGd2lJQ3NnWm05MWJtUlhhV3hzVW1WalpXbDJaVkJ5YjNCelRtRnRaU0E2SUNjbkxDQm1iM1Z1WkZkcGJHeFZjR1JoZEdWT1lXMWxJQ0U5UFNCdWRXeHNJRDhnWENKY1hHNGdJRndpSUNzZ1ptOTFibVJYYVd4c1ZYQmtZWFJsVG1GdFpTQTZJQ2NuS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmU0F2THlCRFlXTm9aU0IxYm0xaGMydGxaQ0JqYjI1MFpYaDBJSE52SUhkbElHTmhiaUJoZG05cFpDQnlaV055WldGMGFXNW5JRzFoYzJ0bFpDQmpiMjUwWlhoMElIVnViR1Z6Y3lCdVpXTmxjM05oY25rdVhHNGdJQzh2SUZKbFlXTjBSbWxpWlhKRGIyNTBaWGgwSUhWemRXRnNiSGtnZFhCa1lYUmxjeUIwYUdseklHTmhZMmhsSUdKMWRDQmpZVzRuZENCbWIzSWdibVYzYkhrdFkzSmxZWFJsWkNCcGJuTjBZVzVqWlhNdVhHNWNibHh1SUNCcFppQW9hWE5NWldkaFkzbERiMjUwWlhoMFEyOXVjM1Z0WlhJcElIdGNiaUFnSUNCallXTm9aVU52Ym5SbGVIUW9kMjl5YTBsdVVISnZaM0psYzNNc0lIVnViV0Z6YTJWa1EyOXVkR1Y0ZEN3Z1kyOXVkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2FXNXpkR0Z1WTJVN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOaGJHeERiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUW9kMjl5YTBsdVVISnZaM0psYzNNc0lHbHVjM1JoYm1ObEtTQjdYRzRnSUhOMFlYSjBVR2hoYzJWVWFXMWxjaWgzYjNKclNXNVFjbTluY21WemN5d2dKMk52YlhCdmJtVnVkRmRwYkd4TmIzVnVkQ2NwTzF4dUlDQjJZWElnYjJ4a1UzUmhkR1VnUFNCcGJuTjBZVzVqWlM1emRHRjBaVHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRmRwYkd4TmIzVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDZ3BPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1VlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdhVzV6ZEdGdVkyVXVWVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDZ3BPMXh1SUNCOVhHNWNiaUFnYzNSdmNGQm9ZWE5sVkdsdFpYSW9LVHRjYmx4dUlDQnBaaUFvYjJ4a1UzUmhkR1VnSVQwOUlHbHVjM1JoYm1ObExuTjBZWFJsS1NCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6TG1OdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZENncE9pQkJjM05wWjI1cGJtY2daR2x5WldOMGJIa2dkRzhnZEdocGN5NXpkR0YwWlNCcGN5QW5JQ3NnWENKa1pYQnlaV05oZEdWa0lDaGxlR05sY0hRZ2FXNXphV1JsSUdFZ1kyOXRjRzl1Wlc1MEozTWdYQ0lnS3lBblkyOXVjM1J5ZFdOMGIzSXBMaUJWYzJVZ2MyVjBVM1JoZEdVZ2FXNXpkR1ZoWkM0bkxDQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamJHRnpjME52YlhCdmJtVnVkRlZ3WkdGMFpYSXVaVzV4ZFdWMVpWSmxjR3hoWTJWVGRHRjBaU2hwYm5OMFlXNWpaU3dnYVc1emRHRnVZMlV1YzNSaGRHVXNJRzUxYkd3cE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR05oYkd4RGIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6S0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JwYm5OMFlXNWpaU3dnYm1WM1VISnZjSE1zSUc1bGVIUkRiMjUwWlhoMEtTQjdYRzRnSUhaaGNpQnZiR1JUZEdGMFpTQTlJR2x1YzNSaGJtTmxMbk4wWVhSbE8xeHVJQ0J6ZEdGeWRGQm9ZWE5sVkdsdFpYSW9kMjl5YTBsdVVISnZaM0psYzNNc0lDZGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCekp5azdYRzVjYmlBZ2FXWWdLSFI1Y0dWdlppQnBibk4wWVc1alpTNWpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCeklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeWh1WlhkUWNtOXdjeXdnYm1WNGRFTnZiblJsZUhRcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2N5QTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpLRzVsZDFCeWIzQnpMQ0J1WlhoMFEyOXVkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQnpkRzl3VUdoaGMyVlVhVzFsY2lncE8xeHVYRzRnSUdsbUlDaHBibk4wWVc1alpTNXpkR0YwWlNBaFBUMGdiMnhrVTNSaGRHVXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9kMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU2tnZkh3Z0owTnZiWEJ2Ym1WdWRDYzdYRzVjYmlBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBVM1JoZEdWQmMzTnBaMjV0Wlc1MFJtOXlRMjl0Y0c5dVpXNTBMbWhoY3loamIyMXdiMjVsYm5ST1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUlRkR0YwWlVGemMybG5ibTFsYm5SR2IzSkRiMjF3YjI1bGJuUXVZV1JrS0dOdmJYQnZibVZ1ZEU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2NsY3k1amIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6S0NrNklFRnpjMmxuYm1sdVp5QmthWEpsWTNSc2VTQjBieUFuSUNzZ1hDSjBhR2x6TG5OMFlYUmxJR2x6SUdSbGNISmxZMkYwWldRZ0tHVjRZMlZ3ZENCcGJuTnBaR1VnWVNCamIyMXdiMjVsYm5RbmN5QmNJaUFySUNkamIyNXpkSEoxWTNSdmNpa3VJRlZ6WlNCelpYUlRkR0YwWlNCcGJuTjBaV0ZrTGljc0lHTnZiWEJ2Ym1WdWRFNWhiV1VwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR05zWVhOelEyOXRjRzl1Wlc1MFZYQmtZWFJsY2k1bGJuRjFaWFZsVW1Wd2JHRmpaVk4wWVhSbEtHbHVjM1JoYm1ObExDQnBibk4wWVc1alpTNXpkR0YwWlN3Z2JuVnNiQ2s3WEc0Z0lIMWNibjBnTHk4Z1NXNTJiMnRsY3lCMGFHVWdiVzkxYm5RZ2JHbG1aUzFqZVdOc1pYTWdiMjRnWVNCd2NtVjJhVzkxYzJ4NUlHNWxkbVZ5SUhKbGJtUmxjbVZrSUdsdWMzUmhibU5sTGx4dVhHNWNibVoxYm1OMGFXOXVJRzF2ZFc1MFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dZM1J2Y2l3Z2JtVjNVSEp2Y0hNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIdGNiaUFnSUNCamFHVmphME5zWVhOelNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJRzVsZDFCeWIzQnpLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNiaUFnYVc1emRHRnVZMlV1Y0hKdmNITWdQU0J1WlhkUWNtOXdjenRjYmlBZ2FXNXpkR0Z1WTJVdWMzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0JwYm5OMFlXNWpaUzV5WldaeklEMGdaVzF3ZEhsU1pXWnpUMkpxWldOME8xeHVJQ0JwYm1sMGFXRnNhWHBsVlhCa1lYUmxVWFZsZFdVb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQjJZWElnWTI5dWRHVjRkRlI1Y0dVZ1BTQmpkRzl5TG1OdmJuUmxlSFJVZVhCbE8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1kyOXVkR1Y0ZEZSNWNHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHTnZiblJsZUhSVWVYQmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdhVzV6ZEdGdVkyVXVZMjl1ZEdWNGRDQTlJSEpsWVdSRGIyNTBaWGgwS0dOdmJuUmxlSFJVZVhCbEtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjJZWElnZFc1dFlYTnJaV1JEYjI1MFpYaDBJRDBnWjJWMFZXNXRZWE5yWldSRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JqZEc5eUxDQjBjblZsS1R0Y2JpQWdJQ0JwYm5OMFlXNWpaUzVqYjI1MFpYaDBJRDBnWjJWMFRXRnphMlZrUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5d2dkVzV0WVhOclpXUkRiMjUwWlhoMEtUdGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQnBaaUFvYVc1emRHRnVZMlV1YzNSaGRHVWdQVDA5SUc1bGQxQnliM0J6S1NCN1hHNGdJQ0FnSUNCMllYSWdZMjl0Y0c5dVpXNTBUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb1kzUnZjaWtnZkh3Z0owTnZiWEJ2Ym1WdWRDYzdYRzVjYmlBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBSR2x5WldOMGJIbEJjM05wWjI1cGJtZFFjbTl3YzFSdlUzUmhkR1V1YUdGektHTnZiWEJ2Ym1WdWRFNWhiV1VwS1NCN1hHNGdJQ0FnSUNBZ0lHUnBaRmRoY201QlltOTFkRVJwY21WamRHeDVRWE56YVdkdWFXNW5VSEp2Y0hOVWIxTjBZWFJsTG1Ga1pDaGpiMjF3YjI1bGJuUk9ZVzFsS1R0Y2JseHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnbkpYTTZJRWwwSUdseklHNXZkQ0J5WldOdmJXMWxibVJsWkNCMGJ5QmhjM05wWjI0Z2NISnZjSE1nWkdseVpXTjBiSGtnZEc4Z2MzUmhkR1VnSnlBcklGd2lZbVZqWVhWelpTQjFjR1JoZEdWeklIUnZJSEJ5YjNCeklIZHZiaWQwSUdKbElISmxabXhsWTNSbFpDQnBiaUJ6ZEdGMFpTNGdYQ0lnS3lBblNXNGdiVzl6ZENCallYTmxjeXdnYVhRZ2FYTWdZbVYwZEdWeUlIUnZJSFZ6WlNCd2NtOXdjeUJrYVhKbFkzUnNlUzRuTENCamIyMXdiMjVsYm5ST1lXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXViVzlrWlNBbUlGTjBjbWxqZEUxdlpHVXBJSHRjYmlBZ0lDQWdJRkpsWVdOMFUzUnlhV04wVFc5a1pWZGhjbTVwYm1kekxuSmxZMjl5WkV4bFoyRmplVU52Ym5SbGVIUlhZWEp1YVc1bktIZHZjbXRKYmxCeWIyZHlaWE56TENCcGJuTjBZVzVqWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnVW1WaFkzUlRkSEpwWTNSTmIyUmxWMkZ5Ym1sdVozTXVjbVZqYjNKa1ZXNXpZV1psVEdsbVpXTjVZMnhsVjJGeWJtbHVaM01vZDI5eWEwbHVVSEp2WjNKbGMzTXNJR2x1YzNSaGJtTmxLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3Y205alpYTnpWWEJrWVhSbFVYVmxkV1VvZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzVsZDFCeWIzQnpMQ0JwYm5OMFlXNWpaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0JwYm5OMFlXNWpaUzV6ZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc0Z0lIWmhjaUJuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITWdQU0JqZEc5eUxtZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3Y3p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHRndjR3g1UkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCektIZHZjbXRKYmxCeWIyZHlaWE56TENCamRHOXlMQ0JuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITXNJRzVsZDFCeWIzQnpLVHRjYmlBZ0lDQnBibk4wWVc1alpTNXpkR0YwWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdYRzRnSUgwZ0x5OGdTVzRnYjNKa1pYSWdkRzhnYzNWd2NHOXlkQ0J5WldGamRDMXNhV1psWTNsamJHVnpMV052YlhCaGRDQndiMng1Wm1sc2JHVmtJR052YlhCdmJtVnVkSE1zWEc0Z0lDOHZJRlZ1YzJGbVpTQnNhV1psWTNsamJHVnpJSE5vYjNWc1pDQnViM1FnWW1VZ2FXNTJiMnRsWkNCbWIzSWdZMjl0Y0c5dVpXNTBjeUIxYzJsdVp5QjBhR1VnYm1WM0lFRlFTWE11WEc1Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdOMGIzSXVaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCeklDRTlQU0FuWm5WdVkzUnBiMjRuSUNZbUlIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1blpYUlRibUZ3YzJodmRFSmxabTl5WlZWd1pHRjBaU0FoUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbFZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljZ2ZId2dkSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDQTlQVDBnSjJaMWJtTjBhVzl1SnlrcElIdGNiaUFnSUNCallXeHNRMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBLSGR2Y210SmJsQnliMmR5WlhOekxDQnBibk4wWVc1alpTazdJQzh2SUVsbUlIZGxJR2hoWkNCaFpHUnBkR2x2Ym1Gc0lITjBZWFJsSUhWd1pHRjBaWE1nWkhWeWFXNW5JSFJvYVhNZ2JHbG1aUzFqZVdOc1pTd2diR1YwSjNOY2JpQWdJQ0F2THlCd2NtOWpaWE56SUhSb1pXMGdibTkzTGx4dVhHNGdJQ0FnY0hKdlkyVnpjMVZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhkUWNtOXdjeXdnYVc1emRHRnVZMlVzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCcGJuTjBZVzVqWlM1emRHRjBaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVN1hHNGdJSDFjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRVJwWkUxdmRXNTBJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGVndaR0YwWlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWE4xYldWTmIzVnVkRU5zWVhOelNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJRzVsZDFCeWIzQnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1emRHRjBaVTV2WkdVN1hHNGdJSFpoY2lCdmJHUlFjbTl3Y3lBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUdsdWMzUmhibU5sTG5CeWIzQnpJRDBnYjJ4a1VISnZjSE03WEc0Z0lIWmhjaUJ2YkdSRGIyNTBaWGgwSUQwZ2FXNXpkR0Z1WTJVdVkyOXVkR1Y0ZER0Y2JpQWdkbUZ5SUdOdmJuUmxlSFJVZVhCbElEMGdZM1J2Y2k1amIyNTBaWGgwVkhsd1pUdGNiaUFnZG1GeUlHNWxlSFJEYjI1MFpYaDBJRDBnWlcxd2RIbERiMjUwWlhoMFQySnFaV04wTzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnWTI5dWRHVjRkRlI1Y0dVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUdOdmJuUmxlSFJVZVhCbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2JtVjRkRU52Ym5SbGVIUWdQU0J5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwVkhsd1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUc1bGVIUk1aV2RoWTNsVmJtMWhjMnRsWkVOdmJuUmxlSFFnUFNCblpYUlZibTFoYzJ0bFpFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJSFJ5ZFdVcE8xeHVJQ0FnSUc1bGVIUkRiMjUwWlhoMElEMGdaMlYwVFdGemEyVmtRMjl1ZEdWNGRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2JtVjRkRXhsWjJGamVWVnViV0Z6YTJWa1EyOXVkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQjJZWElnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDBnWTNSdmNpNW5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNN1hHNGdJSFpoY2lCb1lYTk9aWGRNYVdabFkzbGpiR1Z6SUQwZ2RIbHdaVzltSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeUE5UFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0IwZVhCbGIyWWdhVzV6ZEdGdVkyVXVaMlYwVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWM3SUM4dklFNXZkR1U2SUVSMWNtbHVaeUIwYUdWelpTQnNhV1psTFdONVkyeGxjeXdnYVc1emRHRnVZMlV1Y0hKdmNITXZhVzV6ZEdGdVkyVXVjM1JoZEdVZ1lYSmxJSGRvWVhSY2JpQWdMeThnWlhabGNpQjBhR1VnY0hKbGRtbHZkWE5zZVNCaGRIUmxiWEIwWldRZ2RHOGdjbVZ1WkdWeUlDMGdibTkwSUhSb1pTQmNJbU4xY25KbGJuUmNJaTRnU0c5M1pYWmxjaXhjYmlBZ0x5OGdaSFZ5YVc1bklHTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQjNaU0J3WVhOeklIUm9aU0JjSW1OMWNuSmxiblJjSWlCd2NtOXdjeTVjYmlBZ0x5OGdTVzRnYjNKa1pYSWdkRzhnYzNWd2NHOXlkQ0J5WldGamRDMXNhV1psWTNsamJHVnpMV052YlhCaGRDQndiMng1Wm1sc2JHVmtJR052YlhCdmJtVnVkSE1zWEc0Z0lDOHZJRlZ1YzJGbVpTQnNhV1psWTNsamJHVnpJSE5vYjNWc1pDQnViM1FnWW1VZ2FXNTJiMnRsWkNCbWIzSWdZMjl0Y0c5dVpXNTBjeUIxYzJsdVp5QjBhR1VnYm1WM0lFRlFTWE11WEc1Y2JpQWdhV1lnS0NGb1lYTk9aWGRNYVdabFkzbGpiR1Z6SUNZbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1nUFQwOUlDZG1kVzVqZEdsdmJpY2dmSHdnZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRmRwYkd4U1pXTmxhWFpsVUhKdmNITWdQVDA5SUNkbWRXNWpkR2x2YmljcEtTQjdYRzRnSUNBZ2FXWWdLRzlzWkZCeWIzQnpJQ0U5UFNCdVpYZFFjbTl3Y3lCOGZDQnZiR1JEYjI1MFpYaDBJQ0U5UFNCdVpYaDBRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdZMkZzYkVOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJR2x1YzNSaGJtTmxMQ0J1WlhkUWNtOXdjeXdnYm1WNGRFTnZiblJsZUhRcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxjMlYwU0dGelJtOXlZMlZWY0dSaGRHVkNaV1p2Y21WUWNtOWpaWE56YVc1bktDazdYRzRnSUhaaGNpQnZiR1JUZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc0Z0lIWmhjaUJ1WlhkVGRHRjBaU0E5SUdsdWMzUmhibU5sTG5OMFlYUmxJRDBnYjJ4a1UzUmhkR1U3WEc0Z0lIQnliMk5sYzNOVmNHUmhkR1ZSZFdWMVpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2JtVjNVSEp2Y0hNc0lHbHVjM1JoYm1ObExDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lHNWxkMU4wWVhSbElEMGdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQnBaaUFvYjJ4a1VISnZjSE1nUFQwOUlHNWxkMUJ5YjNCeklDWW1JRzlzWkZOMFlYUmxJRDA5UFNCdVpYZFRkR0YwWlNBbUppQWhhR0Z6UTI5dWRHVjRkRU5vWVc1blpXUW9LU0FtSmlBaFkyaGxZMnRJWVhOR2IzSmpaVlZ3WkdGMFpVRm1kR1Z5VUhKdlkyVnpjMmx1WnlncEtTQjdYRzRnSUNBZ0x5OGdTV1lnWVc0Z2RYQmtZWFJsSUhkaGN5QmhiSEpsWVdSNUlHbHVJSEJ5YjJkeVpYTnpMQ0IzWlNCemFHOTFiR1FnYzJOb1pXUjFiR1VnWVc0Z1ZYQmtZWFJsWEc0Z0lDQWdMeThnWldabVpXTjBJR1YyWlc0Z2RHaHZkV2RvSUhkbEozSmxJR0poYVd4cGJtY2diM1YwTENCemJ5QjBhR0YwSUdOWFZTOWpSRlVnWVhKbElHTmhiR3hsWkM1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEVScFpFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dmRDBnVlhCa1lYUmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdZWEJ3YkhsRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITW9kMjl5YTBsdVVISnZaM0psYzNNc0lHTjBiM0lzSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeXdnYm1WM1VISnZjSE1wTzF4dUlDQWdJRzVsZDFOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ6YUc5MWJHUlZjR1JoZEdVZ1BTQmphR1ZqYTBoaGMwWnZjbU5sVlhCa1lYUmxRV1owWlhKUWNtOWpaWE56YVc1bktDa2dmSHdnWTJobFkydFRhRzkxYkdSRGIyMXdiMjVsYm5SVmNHUmhkR1VvZDI5eWEwbHVVSEp2WjNKbGMzTXNJR04wYjNJc0lHOXNaRkJ5YjNCekxDQnVaWGRRY205d2N5d2diMnhrVTNSaGRHVXNJRzVsZDFOMFlYUmxMQ0J1WlhoMFEyOXVkR1Y0ZENrN1hHNWNiaUFnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaU2tnZTF4dUlDQWdJQzh2SUVsdUlHOXlaR1Z5SUhSdklITjFjSEJ2Y25RZ2NtVmhZM1F0YkdsbVpXTjVZMnhsY3kxamIyMXdZWFFnY0c5c2VXWnBiR3hsWkNCamIyMXdiMjVsYm5SekxGeHVJQ0FnSUM4dklGVnVjMkZtWlNCc2FXWmxZM2xqYkdWeklITm9iM1ZzWkNCdWIzUWdZbVVnYVc1MmIydGxaQ0JtYjNJZ1kyOXRjRzl1Wlc1MGN5QjFjMmx1WnlCMGFHVWdibVYzSUVGUVNYTXVYRzRnSUNBZ2FXWWdLQ0ZvWVhOT1pYZE1hV1psWTNsamJHVnpJQ1ltSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1VlU1VFFVWkZYMk52YlhCdmJtVnVkRmRwYkd4TmIzVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0IwZVhCbGIyWWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBJRDA5UFNBblpuVnVZM1JwYjI0bktTa2dlMXh1SUNBZ0lDQWdjM1JoY25SUWFHRnpaVlJwYldWeUtIZHZjbXRKYmxCeWIyZHlaWE56TENBblkyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MEp5azdYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZENncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbFZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdhVzV6ZEdGdVkyVXVWVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J6ZEc5d1VHaGhjMlZVYVcxbGNpZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBSR2xrVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQlZjR1JoZEdVN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFbG1JR0Z1SUhWd1pHRjBaU0IzWVhNZ1lXeHlaV0ZrZVNCcGJpQndjbTluY21WemN5d2dkMlVnYzJodmRXeGtJSE5qYUdWa2RXeGxJR0Z1SUZWd1pHRjBaVnh1SUNBZ0lDOHZJR1ZtWm1WamRDQmxkbVZ1SUhSb2IzVm5hQ0IzWlNkeVpTQmlZV2xzYVc1bklHOTFkQ3dnYzI4Z2RHaGhkQ0JqVjFVdlkwUlZJR0Z5WlNCallXeHNaV1F1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJFYVdSTmIzVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRlZ3WkdGMFpUdGNiaUFnSUNCOUlDOHZJRWxtSUhOb2IzVnNaRU52YlhCdmJtVnVkRlZ3WkdGMFpTQnlaWFIxY201bFpDQm1ZV3h6WlN3Z2QyVWdjMmh2ZFd4a0lITjBhV3hzSUhWd1pHRjBaU0IwYUdWY2JpQWdJQ0F2THlCdFpXMXZhWHBsWkNCemRHRjBaU0IwYnlCcGJtUnBZMkYwWlNCMGFHRjBJSFJvYVhNZ2QyOXlheUJqWVc0Z1ltVWdjbVYxYzJWa0xseHVYRzVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZCeWIzQnpJRDBnYm1WM1VISnZjSE03WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQjlJQzh2SUZWd1pHRjBaU0IwYUdVZ1pYaHBjM1JwYm1jZ2FXNXpkR0Z1WTJVbmN5QnpkR0YwWlN3Z2NISnZjSE1zSUdGdVpDQmpiMjUwWlhoMElIQnZhVzUwWlhKeklHVjJaVzVjYmlBZ0x5OGdhV1lnYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbElISmxkSFZ5Ym5NZ1ptRnNjMlV1WEc1Y2JseHVJQ0JwYm5OMFlXNWpaUzV3Y205d2N5QTlJRzVsZDFCeWIzQnpPMXh1SUNCcGJuTjBZVzVqWlM1emRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQnBibk4wWVc1alpTNWpiMjUwWlhoMElEMGdibVY0ZEVOdmJuUmxlSFE3WEc0Z0lISmxkSFZ5YmlCemFHOTFiR1JWY0dSaGRHVTdYRzU5SUM4dklFbHVkbTlyWlhNZ2RHaGxJSFZ3WkdGMFpTQnNhV1psTFdONVkyeGxjeUJoYm1RZ2NtVjBkWEp1Y3lCbVlXeHpaU0JwWmlCcGRDQnphRzkxYkdSdUozUWdjbVZ5Wlc1a1pYSXVYRzVjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsUTJ4aGMzTkpibk4wWVc1alpTaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1kzUnZjaXdnYm1WM1VISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNiaUFnWTJ4dmJtVlZjR1JoZEdWUmRXVjFaU2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUhaaGNpQnZiR1JRY205d2N5QTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE03WEc0Z0lHbHVjM1JoYm1ObExuQnliM0J6SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pTQTlQVDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV3hsYldWdWRGUjVjR1VnUHlCdmJHUlFjbTl3Y3lBNklISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9kMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU3dnYjJ4a1VISnZjSE1wTzF4dUlDQjJZWElnYjJ4a1EyOXVkR1Y0ZENBOUlHbHVjM1JoYm1ObExtTnZiblJsZUhRN1hHNGdJSFpoY2lCamIyNTBaWGgwVkhsd1pTQTlJR04wYjNJdVkyOXVkR1Y0ZEZSNWNHVTdYRzRnSUhaaGNpQnVaWGgwUTI5dWRHVjRkQ0E5SUdWdGNIUjVRMjl1ZEdWNGRFOWlhbVZqZER0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdOdmJuUmxlSFJVZVhCbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCamIyNTBaWGgwVkhsd1pTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHNWxlSFJEYjI1MFpYaDBJRDBnY21WaFpFTnZiblJsZUhRb1kyOXVkR1Y0ZEZSNWNHVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCdVpYaDBWVzV0WVhOclpXUkRiMjUwWlhoMElEMGdaMlYwVlc1dFlYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkRzl5TENCMGNuVmxLVHRjYmlBZ0lDQnVaWGgwUTI5dWRHVjRkQ0E5SUdkbGRFMWhjMnRsWkVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzVsZUhSVmJtMWhjMnRsWkVOdmJuUmxlSFFwTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5QTlJR04wYjNJdVoyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6TzF4dUlDQjJZWElnYUdGelRtVjNUR2xtWldONVkyeGxjeUE5SUhSNWNHVnZaaUJuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITWdQVDA5SUNkbWRXNWpkR2x2YmljZ2ZId2dkSGx3Wlc5bUlHbHVjM1JoYm1ObExtZGxkRk51WVhCemFHOTBRbVZtYjNKbFZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5PeUF2THlCT2IzUmxPaUJFZFhKcGJtY2dkR2hsYzJVZ2JHbG1aUzFqZVdOc1pYTXNJR2x1YzNSaGJtTmxMbkJ5YjNCekwybHVjM1JoYm1ObExuTjBZWFJsSUdGeVpTQjNhR0YwWEc0Z0lDOHZJR1YyWlhJZ2RHaGxJSEJ5WlhacGIzVnpiSGtnWVhSMFpXMXdkR1ZrSUhSdklISmxibVJsY2lBdElHNXZkQ0IwYUdVZ1hDSmpkWEp5Wlc1MFhDSXVJRWh2ZDJWMlpYSXNYRzRnSUM4dklHUjFjbWx1WnlCamIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVZ2QyVWdjR0Z6Y3lCMGFHVWdYQ0pqZFhKeVpXNTBYQ0lnY0hKdmNITXVYRzRnSUM4dklFbHVJRzl5WkdWeUlIUnZJSE4xY0hCdmNuUWdjbVZoWTNRdGJHbG1aV041WTJ4bGN5MWpiMjF3WVhRZ2NHOXNlV1pwYkd4bFpDQmpiMjF3YjI1bGJuUnpMRnh1SUNBdkx5QlZibk5oWm1VZ2JHbG1aV041WTJ4bGN5QnphRzkxYkdRZ2JtOTBJR0psSUdsdWRtOXJaV1FnWm05eUlHTnZiWEJ2Ym1WdWRITWdkWE5wYm1jZ2RHaGxJRzVsZHlCQlVFbHpMbHh1WEc0Z0lHbG1JQ2doYUdGelRtVjNUR2xtWldONVkyeGxjeUFtSmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJSFI1Y0dWdlppQnBibk4wWVc1alpTNWpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCeklEMDlQU0FuWm5WdVkzUnBiMjRuS1NrZ2UxeHVJQ0FnSUdsbUlDaHZiR1JRY205d2N5QWhQVDBnYm1WM1VISnZjSE1nZkh3Z2IyeGtRMjl1ZEdWNGRDQWhQVDBnYm1WNGRFTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lHTmhiR3hEYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpLSGR2Y210SmJsQnliMmR5WlhOekxDQnBibk4wWVc1alpTd2dibVYzVUhKdmNITXNJRzVsZUhSRGIyNTBaWGgwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYTmxkRWhoYzBadmNtTmxWWEJrWVhSbFFtVm1iM0psVUhKdlkyVnpjMmx1WnlncE8xeHVJQ0IyWVhJZ2IyeGtVM1JoZEdVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxPMXh1SUNCMllYSWdibVYzVTNSaGRHVWdQU0JwYm5OMFlXNWpaUzV6ZEdGMFpTQTlJRzlzWkZOMFlYUmxPMXh1SUNCd2NtOWpaWE56VlhCa1lYUmxVWFZsZFdVb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1bGQxQnliM0J6TENCcGJuTjBZVzVqWlN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCdVpYZFRkR0YwWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdYRzVjYmlBZ2FXWWdLRzlzWkZCeWIzQnpJRDA5UFNCdVpYZFFjbTl3Y3lBbUppQnZiR1JUZEdGMFpTQTlQVDBnYm1WM1UzUmhkR1VnSmlZZ0lXaGhjME52Ym5SbGVIUkRhR0Z1WjJWa0tDa2dKaVlnSVdOb1pXTnJTR0Z6Um05eVkyVlZjR1JoZEdWQlpuUmxjbEJ5YjJObGMzTnBibWNvS1NrZ2UxeHVJQ0FnSUM4dklFbG1JR0Z1SUhWd1pHRjBaU0IzWVhNZ1lXeHlaV0ZrZVNCcGJpQndjbTluY21WemN5d2dkMlVnYzJodmRXeGtJSE5qYUdWa2RXeGxJR0Z1SUZWd1pHRjBaVnh1SUNBZ0lDOHZJR1ZtWm1WamRDQmxkbVZ1SUhSb2IzVm5hQ0IzWlNkeVpTQmlZV2xzYVc1bklHOTFkQ3dnYzI4Z2RHaGhkQ0JqVjFVdlkwUlZJR0Z5WlNCallXeHNaV1F1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJFYVdSVmNHUmhkR1VnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR2xtSUNodmJHUlFjbTl3Y3lBaFBUMGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGQnliM0J6SUh4OElHOXNaRk4wWVhSbElDRTlQU0JqZFhKeVpXNTBMbTFsYlc5cGVtVmtVM1JoZEdVcElIdGNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRlZ3WkdGMFpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtZGxkRk51WVhCemFHOTBRbVZtYjNKbFZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JwWmlBb2IyeGtVSEp2Y0hNZ0lUMDlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlFjbTl3Y3lCOGZDQnZiR1JUZEdGMFpTQWhQVDBnWTNWeWNtVnVkQzV0WlcxdmFYcGxaRk4wWVhSbEtTQjdYRzRnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JUYm1Gd2MyaHZkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCcFppQW9kSGx3Wlc5bUlHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3Y3lBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJR0Z3Y0d4NVJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkRzl5TENCblpYUkVaWEpwZG1Wa1UzUmhkR1ZHY205dFVISnZjSE1zSUc1bGQxQnliM0J6S1R0Y2JpQWdJQ0J1WlhkVGRHRjBaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVN1hHNGdJSDFjYmx4dUlDQjJZWElnYzJodmRXeGtWWEJrWVhSbElEMGdZMmhsWTJ0SVlYTkdiM0pqWlZWd1pHRjBaVUZtZEdWeVVISnZZMlZ6YzJsdVp5Z3BJSHg4SUdOb1pXTnJVMmh2ZFd4a1EyOXRjRzl1Wlc1MFZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JqZEc5eUxDQnZiR1JRY205d2N5d2dibVYzVUhKdmNITXNJRzlzWkZOMFlYUmxMQ0J1WlhkVGRHRjBaU3dnYm1WNGRFTnZiblJsZUhRcE8xeHVYRzRnSUdsbUlDaHphRzkxYkdSVmNHUmhkR1VwSUh0Y2JpQWdJQ0F2THlCSmJpQnZjbVJsY2lCMGJ5QnpkWEJ3YjNKMElISmxZV04wTFd4cFptVmplV05zWlhNdFkyOXRjR0YwSUhCdmJIbG1hV3hzWldRZ1kyOXRjRzl1Wlc1MGN5eGNiaUFnSUNBdkx5QlZibk5oWm1VZ2JHbG1aV041WTJ4bGN5QnphRzkxYkdRZ2JtOTBJR0psSUdsdWRtOXJaV1FnWm05eUlHTnZiWEJ2Ym1WdWRITWdkWE5wYm1jZ2RHaGxJRzVsZHlCQlVFbHpMbHh1SUNBZ0lHbG1JQ2doYUdGelRtVjNUR2xtWldONVkyeGxjeUFtSmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5JSHg4SUhSNWNHVnZaaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU2tnZTF4dUlDQWdJQ0FnYzNSaGNuUlFhR0Z6WlZScGJXVnlLSGR2Y210SmJsQnliMmR5WlhOekxDQW5ZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU2NwTzF4dVhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hWY0dSaGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU2h1WlhkUWNtOXdjeXdnYm1WM1UzUmhkR1VzSUc1bGVIUkRiMjUwWlhoMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0JwYm5OMFlXNWpaUzVWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU2h1WlhkUWNtOXdjeXdnYm1WM1UzUmhkR1VzSUc1bGVIUkRiMjUwWlhoMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjM1J2Y0ZCb1lYTmxWR2x0WlhJb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGVndaR0YwWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1kbGRGTnVZWEJ6YUc5MFFtVm1iM0psVlhCa1lYUmxJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdVMjVoY0hOb2IzUTdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRWxtSUdGdUlIVndaR0YwWlNCM1lYTWdZV3h5WldGa2VTQnBiaUJ3Y205bmNtVnpjeXdnZDJVZ2MyaHZkV3hrSUhOamFHVmtkV3hsSUdGdUlGVndaR0YwWlZ4dUlDQWdJQzh2SUdWbVptVmpkQ0JsZG1WdUlIUm9iM1ZuYUNCM1pTZHlaU0JpWVdsc2FXNW5JRzkxZEN3Z2MyOGdkR2hoZENCalYxVXZZMFJWSUdGeVpTQmpZV3hzWldRdVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUdsbUlDaHZiR1JRY205d2N5QWhQVDBnWTNWeWNtVnVkQzV0WlcxdmFYcGxaRkJ5YjNCeklIeDhJRzlzWkZOMFlYUmxJQ0U5UFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVXBJSHRjYmlBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5JSHc5SUZWd1pHRjBaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbWRsZEZOdVlYQnphRzkwUW1WbWIzSmxWWEJrWVhSbElEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCcFppQW9iMnhrVUhKdmNITWdJVDA5SUdOMWNuSmxiblF1YldWdGIybDZaV1JRY205d2N5QjhmQ0J2YkdSVGRHRjBaU0FoUFQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCVGJtRndjMmh2ZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUM4dklFbG1JSE5vYjNWc1pFTnZiWEJ2Ym1WdWRGVndaR0YwWlNCeVpYUjFjbTVsWkNCbVlXeHpaU3dnZDJVZ2MyaHZkV3hrSUhOMGFXeHNJSFZ3WkdGMFpTQjBhR1ZjYmlBZ0lDQXZMeUJ0WlcxdmFYcGxaQ0J3Y205d2N5OXpkR0YwWlNCMGJ5QnBibVJwWTJGMFpTQjBhR0YwSUhSb2FYTWdkMjl5YXlCallXNGdZbVVnY21WMWMyVmtMbHh1WEc1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGQnliM0J6SUQwZ2JtVjNVSEp2Y0hNN1hHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBOUlHNWxkMU4wWVhSbE8xeHVJQ0I5SUM4dklGVndaR0YwWlNCMGFHVWdaWGhwYzNScGJtY2dhVzV6ZEdGdVkyVW5jeUJ6ZEdGMFpTd2djSEp2Y0hNc0lHRnVaQ0JqYjI1MFpYaDBJSEJ2YVc1MFpYSnpJR1YyWlc1Y2JpQWdMeThnYVdZZ2MyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJSEpsZEhWeWJuTWdabUZzYzJVdVhHNWNibHh1SUNCcGJuTjBZVzVqWlM1d2NtOXdjeUE5SUc1bGQxQnliM0J6TzF4dUlDQnBibk4wWVc1alpTNXpkR0YwWlNBOUlHNWxkMU4wWVhSbE8xeHVJQ0JwYm5OMFlXNWpaUzVqYjI1MFpYaDBJRDBnYm1WNGRFTnZiblJsZUhRN1hHNGdJSEpsZEhWeWJpQnphRzkxYkdSVmNHUmhkR1U3WEc1OVhHNWNiblpoY2lCa2FXUlhZWEp1UVdKdmRYUk5ZWEJ6TzF4dWRtRnlJR1JwWkZkaGNtNUJZbTkxZEVkbGJtVnlZWFJ2Y25NN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFUzUnlhVzVuVW1WbWN6dGNiblpoY2lCdmQyNWxja2hoYzB0bGVWVnpaVmRoY201cGJtYzdYRzUyWVhJZ2IzZHVaWEpJWVhOR2RXNWpkR2x2YmxSNWNHVlhZWEp1YVc1bk8xeHVYRzUyWVhJZ2QyRnlia1p2Y2sxcGMzTnBibWRMWlhrZ1BTQm1kVzVqZEdsdmJpQW9ZMmhwYkdRcElIdDlPMXh1WEc1N1hHNGdJR1JwWkZkaGNtNUJZbTkxZEUxaGNITWdQU0JtWVd4elpUdGNiaUFnWkdsa1YyRnlia0ZpYjNWMFIyVnVaWEpoZEc5eWN5QTlJR1poYkhObE8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSVGRISnBibWRTWldaeklEMGdlMzA3WEc0Z0lDOHFLbHh1SUNBZ0tpQlhZWEp1SUdsbUlIUm9aWEpsSjNNZ2JtOGdhMlY1SUdWNGNHeHBZMmwwYkhrZ2MyVjBJRzl1SUdSNWJtRnRhV01nWVhKeVlYbHpJRzltSUdOb2FXeGtjbVZ1SUc5eVhHNGdJQ0FxSUc5aWFtVmpkQ0JyWlhseklHRnlaU0J1YjNRZ2RtRnNhV1F1SUZSb2FYTWdZV3hzYjNkeklIVnpJSFJ2SUd0bFpYQWdkSEpoWTJzZ2IyWWdZMmhwYkdSeVpXNGdZbVYwZDJWbGJseHVJQ0FnS2lCMWNHUmhkR1Z6TGx4dUlDQWdLaTljYmx4dUlDQnZkMjVsY2toaGMwdGxlVlZ6WlZkaGNtNXBibWNnUFNCN2ZUdGNiaUFnYjNkdVpYSklZWE5HZFc1amRHbHZibFI1Y0dWWFlYSnVhVzVuSUQwZ2UzMDdYRzVjYmlBZ2QyRnlia1p2Y2sxcGMzTnBibWRMWlhrZ1BTQm1kVzVqZEdsdmJpQW9ZMmhwYkdRcElIdGNiaUFnSUNCcFppQW9ZMmhwYkdRZ1BUMDlJRzUxYkd3Z2ZId2dkSGx3Wlc5bUlHTm9hV3hrSUNFOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2hZMmhwYkdRdVgzTjBiM0psSUh4OElHTm9hV3hrTGw5emRHOXlaUzUyWVd4cFpHRjBaV1FnZkh3Z1kyaHBiR1F1YTJWNUlDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0lTaDBlWEJsYjJZZ1kyaHBiR1F1WDNOMGIzSmxJRDA5UFNBbmIySnFaV04wSnlrcElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVVtVmhZM1FnUTI5dGNHOXVaVzUwSUdsdUlIZGhjbTVHYjNKTmFYTnphVzVuUzJWNUlITm9iM1ZzWkNCb1lYWmxJR0VnWDNOMGIzSmxMaUJVYUdseklHVnljbTl5SUdseklHeHBhMlZzZVNCallYVnpaV1FnWW5rZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMmhwYkdRdVgzTjBiM0psTG5aaGJHbGtZWFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJEYjIxd2IyNWxiblJGY25KdmNrbHVabThnUFNBblJXRmphQ0JqYUdsc1pDQnBiaUJoSUd4cGMzUWdjMmh2ZFd4a0lHaGhkbVVnWVNCMWJtbHhkV1VnSnlBcklDZGNJbXRsZVZ3aUlIQnliM0F1SUZObFpTQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWGRoY201cGJtY3RhMlY1Y3lCbWIzSWdKeUFySUNkdGIzSmxJR2x1Wm05eWJXRjBhVzl1TGljZ0t5Qm5aWFJEZFhKeVpXNTBSbWxpWlhKVGRHRmphMGx1UkdWMktDazdYRzVjYmlBZ0lDQnBaaUFvYjNkdVpYSklZWE5MWlhsVmMyVlhZWEp1YVc1blcyTjFjbkpsYm5SRGIyMXdiMjVsYm5SRmNuSnZja2x1Wm05ZEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYjNkdVpYSklZWE5MWlhsVmMyVlhZWEp1YVc1blcyTjFjbkpsYm5SRGIyMXdiMjVsYm5SRmNuSnZja2x1Wm05ZElEMGdkSEoxWlR0Y2JseHVJQ0FnSUdWeWNtOXlLQ2RGWVdOb0lHTm9hV3hrSUdsdUlHRWdiR2x6ZENCemFHOTFiR1FnYUdGMlpTQmhJSFZ1YVhGMVpTQW5JQ3NnSjF3aWEyVjVYQ0lnY0hKdmNDNGdVMlZsSUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGQyRnlibWx1WnkxclpYbHpJR1p2Y2lBbklDc2dKMjF2Y21VZ2FXNW1iM0p0WVhScGIyNHVKeWs3WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJwYzBGeWNtRjVKREVnUFNCQmNuSmhlUzVwYzBGeWNtRjVPMXh1WEc1bWRXNWpkR2x2YmlCamIyVnlZMlZTWldZb2NtVjBkWEp1Um1saVpYSXNJR04xY25KbGJuUXNJR1ZzWlcxbGJuUXBJSHRjYmlBZ2RtRnlJRzFwZUdWa1VtVm1JRDBnWld4bGJXVnVkQzV5WldZN1hHNWNiaUFnYVdZZ0tHMXBlR1ZrVW1WbUlDRTlQU0J1ZFd4c0lDWW1JSFI1Y0dWdlppQnRhWGhsWkZKbFppQWhQVDBnSjJaMWJtTjBhVzl1SnlBbUppQjBlWEJsYjJZZ2JXbDRaV1JTWldZZ0lUMDlJQ2R2WW1wbFkzUW5LU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdMeThnVkU5RVR6b2dRMnhsWVc0Z2RHaHBjeUIxY0NCdmJtTmxJSGRsSUhSMWNtNGdiMjRnZEdobElITjBjbWx1WnlCeVpXWWdkMkZ5Ym1sdVp5Qm1iM0pjYmlBZ0lDQWdJQzh2SUdWMlpYSjViMjVsTENCaVpXTmhkWE5sSUhSb1pTQnpkSEpwWTNRZ2JXOWtaU0JqWVhObElIZHBiR3dnYm04Z2JHOXVaMlZ5SUdKbElISmxiR1YyWVc1MFhHNGdJQ0FnSUNCcFppQW9LSEpsZEhWeWJrWnBZbVZ5TG0xdlpHVWdKaUJUZEhKcFkzUk5iMlJsSUh4OElIZGhjbTVCWW05MWRGTjBjbWx1WjFKbFpuTXBJQ1ltSUM4dklGZGxJSGRoY200Z2FXNGdVbVZoWTNSRmJHVnRaVzUwTG1weklHbG1JRzkzYm1WeUlHRnVaQ0J6Wld4bUlHRnlaU0JsY1hWaGJDQm1iM0lnYzNSeWFXNW5JSEpsWm5OY2JpQWdJQ0FnSUM4dklHSmxZMkYxYzJVZ2RHaGxjMlVnWTJGdWJtOTBJR0psSUdGMWRHOXRZWFJwWTJGc2JIa2dZMjl1ZG1WeWRHVmtJSFJ2SUdGdUlHRnljbTkzSUdaMWJtTjBhVzl1WEc0Z0lDQWdJQ0F2THlCMWMybHVaeUJoSUdOdlpHVnRiMlF1SUZSb1pYSmxabTl5WlN3Z2QyVWdaRzl1SjNRZ2FHRjJaU0IwYnlCM1lYSnVJR0ZpYjNWMElITjBjbWx1WnlCeVpXWnpJR0ZuWVdsdUxseHVJQ0FnSUNBZ0lTaGxiR1Z0Wlc1MExsOXZkMjVsY2lBbUppQmxiR1Z0Wlc1MExsOXpaV3htSUNZbUlHVnNaVzFsYm5RdVgyOTNibVZ5TG5OMFlYUmxUbTlrWlNBaFBUMGdaV3hsYldWdWRDNWZjMlZzWmlrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdOdmJYQnZibVZ1ZEU1aGJXVWdQU0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLSEpsZEhWeWJrWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5Rbk8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBVM1J5YVc1blVtVm1jMXRqYjIxd2IyNWxiblJPWVcxbFhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZEJJSE4wY21sdVp5QnlaV1lzSUZ3aUpYTmNJaXdnYUdGeklHSmxaVzRnWm05MWJtUWdkMmwwYUdsdUlHRWdjM1J5YVdOMElHMXZaR1VnZEhKbFpTNGdKeUFySUNkVGRISnBibWNnY21WbWN5QmhjbVVnWVNCemIzVnlZMlVnYjJZZ2NHOTBaVzUwYVdGc0lHSjFaM01nWVc1a0lITm9iM1ZzWkNCaVpTQmhkbTlwWkdWa0xpQW5JQ3NnSjFkbElISmxZMjl0YldWdVpDQjFjMmx1WnlCMWMyVlNaV1lvS1NCdmNpQmpjbVZoZEdWU1pXWW9LU0JwYm5OMFpXRmtMaUFuSUNzZ0oweGxZWEp1SUcxdmNtVWdZV0p2ZFhRZ2RYTnBibWNnY21WbWN5QnpZV1psYkhrZ2FHVnlaVG9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWE4wY21samRDMXRiMlJsTFhOMGNtbHVaeTF5WldZbGN5Y3NJRzFwZUdWa1VtVm1MQ0JuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvY21WMGRYSnVSbWxpWlhJcEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJUZEhKcGJtZFNaV1p6VzJOdmJYQnZibVZ1ZEU1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hsYkdWdFpXNTBMbDl2ZDI1bGNpa2dlMXh1SUNBZ0lDQWdkbUZ5SUc5M2JtVnlJRDBnWld4bGJXVnVkQzVmYjNkdVpYSTdYRzRnSUNBZ0lDQjJZWElnYVc1emREdGNibHh1SUNBZ0lDQWdhV1lnS0c5M2JtVnlLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnZkMjVsY2tacFltVnlJRDBnYjNkdVpYSTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRW9iM2R1WlhKR2FXSmxjaTUwWVdjZ1BUMDlJRU5zWVhOelEyOXRjRzl1Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrWjFibU4wYVc5dUlHTnZiWEJ2Ym1WdWRITWdZMkZ1Ym05MElHaGhkbVVnYzNSeWFXNW5JSEpsWm5NdUlGZGxJSEpsWTI5dGJXVnVaQ0IxYzJsdVp5QjFjMlZTWldZb0tTQnBibk4wWldGa0xpQk1aV0Z5YmlCdGIzSmxJR0ZpYjNWMElIVnphVzVuSUhKbFpuTWdjMkZtWld4NUlHaGxjbVU2SUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGMzUnlhV04wTFcxdlpHVXRjM1J5YVc1bkxYSmxabHdpSUNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXNXpkQ0E5SUc5M2JtVnlSbWxpWlhJdWMzUmhkR1ZPYjJSbE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVdsdWMzUXBJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWsxcGMzTnBibWNnYjNkdVpYSWdabTl5SUhOMGNtbHVaeUJ5WldZZ1hDSWdLeUJ0YVhobFpGSmxaaUFySUZ3aUxpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlITjBjbWx1WjFKbFppQTlJQ2NuSUNzZ2JXbDRaV1JTWldZN0lDOHZJRU5vWldOcklHbG1JSEJ5WlhacGIzVnpJSE4wY21sdVp5QnlaV1lnYldGMFkyaGxjeUJ1WlhjZ2MzUnlhVzVuSUhKbFpseHVYRzRnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ0FtSmlCamRYSnlaVzUwTG5KbFppQWhQVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdZM1Z5Y21WdWRDNXlaV1lnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnWTNWeWNtVnVkQzV5WldZdVgzTjBjbWx1WjFKbFppQTlQVDBnYzNSeWFXNW5VbVZtS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamRYSnlaVzUwTG5KbFpqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhKbFppQTlJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVm1jeUE5SUdsdWMzUXVjbVZtY3p0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY21WbWN5QTlQVDBnWlcxd2RIbFNaV1p6VDJKcVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWR2hwY3lCcGN5QmhJR3hoZW5rZ2NHOXZiR1ZrSUdaeWIzcGxiaUJ2WW1wbFkzUXNJSE52SUhkbElHNWxaV1FnZEc4Z2FXNXBkR2xoYkdsNlpTNWNiaUFnSUNBZ0lDQWdJQ0J5WldaeklEMGdhVzV6ZEM1eVpXWnpJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmtaV3hsZEdVZ2NtVm1jMXR6ZEhKcGJtZFNaV1pkTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lISmxabk5iYzNSeWFXNW5VbVZtWFNBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQnlaV1l1WDNOMGNtbHVaMUpsWmlBOUlITjBjbWx1WjFKbFpqdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXWTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hLSFI1Y0dWdlppQnRhWGhsWkZKbFppQTlQVDBnSjNOMGNtbHVaeWNwS1NCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkZlSEJsWTNSbFpDQnlaV1lnZEc4Z1ltVWdZU0JtZFc1amRHbHZiaXdnWVNCemRISnBibWNzSUdGdUlHOWlhbVZqZENCeVpYUjFjbTVsWkNCaWVTQlNaV0ZqZEM1amNtVmhkR1ZTWldZb0tTd2diM0lnYm5Wc2JDNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2doWld4bGJXVnVkQzVmYjNkdVpYSXBJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtWc1pXMWxiblFnY21WbUlIZGhjeUJ6Y0dWamFXWnBaV1FnWVhNZ1lTQnpkSEpwYm1jZ0tGd2lJQ3NnYldsNFpXUlNaV1lnS3lCY0lpa2dZblYwSUc1dklHOTNibVZ5SUhkaGN5QnpaWFF1SUZSb2FYTWdZMjkxYkdRZ2FHRndjR1Z1SUdadmNpQnZibVVnYjJZZ2RHaGxJR1p2Ykd4dmQybHVaeUJ5WldGemIyNXpPbHhjYmpFdUlGbHZkU0J0WVhrZ1ltVWdZV1JrYVc1bklHRWdjbVZtSUhSdklHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBYRnh1TWk0Z1dXOTFJRzFoZVNCaVpTQmhaR1JwYm1jZ1lTQnlaV1lnZEc4Z1lTQmpiMjF3YjI1bGJuUWdkR2hoZENCM1lYTWdibTkwSUdOeVpXRjBaV1FnYVc1emFXUmxJR0VnWTI5dGNHOXVaVzUwSjNNZ2NtVnVaR1Z5SUcxbGRHaHZaRnhjYmpNdUlGbHZkU0JvWVhabElHMTFiSFJwY0d4bElHTnZjR2xsY3lCdlppQlNaV0ZqZENCc2IyRmtaV1JjWEc1VFpXVWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzF5WldaekxXMTFjM1F0YUdGMlpTMXZkMjVsY2lCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUcxcGVHVmtVbVZtTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIwYUhKdmQwOXVTVzUyWVd4cFpFOWlhbVZqZEZSNWNHVW9jbVYwZFhKdVJtbGlaWElzSUc1bGQwTm9hV3hrS1NCN1hHNGdJR2xtSUNoeVpYUjFjbTVHYVdKbGNpNTBlWEJsSUNFOVBTQW5kR1Y0ZEdGeVpXRW5LU0I3WEc0Z0lDQWdkbUZ5SUdGa1pHVnVaSFZ0SUQwZ0p5YzdYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQmhaR1JsYm1SMWJTQTlJQ2NnU1dZZ2VXOTFJRzFsWVc1MElIUnZJSEpsYm1SbGNpQmhJR052Ykd4bFkzUnBiMjRnYjJZZ1kyaHBiR1J5Wlc0c0lIVnpaU0JoYmlCaGNuSmhlU0FuSUNzZ0oybHVjM1JsWVdRdUp5QXJJR2RsZEVOMWNuSmxiblJHYVdKbGNsTjBZV05yU1c1RVpYWW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrOWlhbVZqZEhNZ1lYSmxJRzV2ZENCMllXeHBaQ0JoY3lCaElGSmxZV04wSUdOb2FXeGtJQ2htYjNWdVpEb2dYQ0lnS3lBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1Wnk1allXeHNLRzVsZDBOb2FXeGtLU0E5UFQwZ0oxdHZZbXBsWTNRZ1QySnFaV04wWFNjZ1B5QW5iMkpxWldOMElIZHBkR2dnYTJWNWN5QjdKeUFySUU5aWFtVmpkQzVyWlhsektHNWxkME5vYVd4a0tTNXFiMmx1S0Njc0lDY3BJQ3NnSjMwbklEb2dibVYzUTJocGJHUXBJQ3NnWENJcExsd2lJQ3NnWVdSa1pXNWtkVzBnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2QyRnliazl1Um5WdVkzUnBiMjVVZVhCbEtDa2dlMXh1SUNCN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5SRGIyMXdiMjVsYm5SRmNuSnZja2x1Wm04Z1BTQW5SblZ1WTNScGIyNXpJR0Z5WlNCdWIzUWdkbUZzYVdRZ1lYTWdZU0JTWldGamRDQmphR2xzWkM0Z1ZHaHBjeUJ0WVhrZ2FHRndjR1Z1SUdsbUlDY2dLeUFuZVc5MUlISmxkSFZ5YmlCaElFTnZiWEJ2Ym1WdWRDQnBibk4wWldGa0lHOW1JRHhEYjIxd2IyNWxiblFnTHo0Z1puSnZiU0J5Wlc1a1pYSXVJQ2NnS3lBblQzSWdiV0Y1WW1VZ2VXOTFJRzFsWVc1MElIUnZJR05oYkd3Z2RHaHBjeUJtZFc1amRHbHZiaUJ5WVhSb1pYSWdkR2hoYmlCeVpYUjFjbTRnYVhRdUp5QXJJR2RsZEVOMWNuSmxiblJHYVdKbGNsTjBZV05yU1c1RVpYWW9LVHRjYmx4dUlDQWdJR2xtSUNodmQyNWxja2hoYzBaMWJtTjBhVzl1Vkhsd1pWZGhjbTVwYm1kYlkzVnljbVZ1ZEVOdmJYQnZibVZ1ZEVWeWNtOXlTVzVtYjEwcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J2ZDI1bGNraGhjMFoxYm1OMGFXOXVWSGx3WlZkaGNtNXBibWRiWTNWeWNtVnVkRU52YlhCdmJtVnVkRVZ5Y205eVNXNW1iMTBnUFNCMGNuVmxPMXh1WEc0Z0lDQWdaWEp5YjNJb0owWjFibU4wYVc5dWN5QmhjbVVnYm05MElIWmhiR2xrSUdGeklHRWdVbVZoWTNRZ1kyaHBiR1F1SUZSb2FYTWdiV0Y1SUdoaGNIQmxiaUJwWmlBbklDc2dKM2x2ZFNCeVpYUjFjbTRnWVNCRGIyMXdiMjVsYm5RZ2FXNXpkR1ZoWkNCdlppQThRMjl0Y0c5dVpXNTBJQzgrSUdaeWIyMGdjbVZ1WkdWeUxpQW5JQ3NnSjA5eUlHMWhlV0psSUhsdmRTQnRaV0Z1ZENCMGJ5QmpZV3hzSUhSb2FYTWdablZ1WTNScGIyNGdjbUYwYUdWeUlIUm9ZVzRnY21WMGRYSnVJR2wwTGljcE8xeHVJQ0I5WEc1OUlDOHZJRlJvYVhNZ2QzSmhjSEJsY2lCbWRXNWpkR2x2YmlCbGVHbHpkSE1nWW1WallYVnpaU0JKSUdWNGNHVmpkQ0IwYnlCamJHOXVaU0IwYUdVZ1kyOWtaU0JwYmlCbFlXTm9JSEJoZEdoY2JpOHZJSFJ2SUdKbElHRmliR1VnZEc4Z2IzQjBhVzFwZW1VZ1pXRmphQ0J3WVhSb0lHbHVaR2wyYVdSMVlXeHNlU0JpZVNCaWNtRnVZMmhwYm1jZ1pXRnliSGt1SUZSb2FYTWdibVZsWkhOY2JpOHZJR0VnWTI5dGNHbHNaWElnYjNJZ2QyVWdZMkZ1SUdSdklHbDBJRzFoYm5WaGJHeDVMaUJJWld4d1pYSnpJSFJvWVhRZ1pHOXVKM1FnYm1WbFpDQjBhR2x6SUdKeVlXNWphR2x1WjF4dUx5OGdiR2wyWlNCdmRYUnphV1JsSUc5bUlIUm9hWE1nWm5WdVkzUnBiMjR1WEc1Y2JseHVablZ1WTNScGIyNGdRMmhwYkdSU1pXTnZibU5wYkdWeUtITm9iM1ZzWkZSeVlXTnJVMmxrWlVWbVptVmpkSE1wSUh0Y2JpQWdablZ1WTNScGIyNGdaR1ZzWlhSbFEyaHBiR1FvY21WMGRYSnVSbWxpWlhJc0lHTm9hV3hrVkc5RVpXeGxkR1VwSUh0Y2JpQWdJQ0JwWmlBb0lYTm9iM1ZzWkZSeVlXTnJVMmxrWlVWbVptVmpkSE1wSUh0Y2JpQWdJQ0FnSUM4dklFNXZiM0F1WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQXZMeUJFWld4bGRHbHZibk1nWVhKbElHRmtaR1ZrSUdsdUlISmxkbVZ5YzJWa0lHOXlaR1Z5SUhOdklIZGxJR0ZrWkNCcGRDQjBieUIwYUdVZ1puSnZiblF1WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDd2dkR2hsSUhKbGRIVnliaUJtYVdKbGNpZHpJR1ZtWm1WamRDQnNhWE4wSUdseklHVnRjSFI1SUdWNFkyVndkQ0JtYjNKY2JpQWdJQ0F2THlCa1pXeGxkR2x2Ym5Nc0lITnZJSGRsSUdOaGJpQnFkWE4wSUdGd2NHVnVaQ0IwYUdVZ1pHVnNaWFJwYjI0Z2RHOGdkR2hsSUd4cGMzUXVJRlJvWlNCeVpXMWhhVzVwYm1kY2JpQWdJQ0F2THlCbFptWmxZM1J6SUdGeVpXNG5kQ0JoWkdSbFpDQjFiblJwYkNCMGFHVWdZMjl0Y0d4bGRHVWdjR2hoYzJVdUlFOXVZMlVnZDJVZ2FXMXdiR1Z0Wlc1MFhHNGdJQ0FnTHk4Z2NtVnpkVzFwYm1jc0lIUm9hWE1nYldGNUlHNXZkQ0JpWlNCMGNuVmxMbHh1WEc1Y2JpQWdJQ0IyWVhJZ2JHRnpkQ0E5SUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUTdYRzVjYmlBZ0lDQnBaaUFvYkdGemRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdiR0Z6ZEM1dVpYaDBSV1ptWldOMElEMGdZMmhwYkdSVWIwUmxiR1YwWlR0Y2JpQWdJQ0FnSUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUWdQU0JqYUdsc1pGUnZSR1ZzWlhSbE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNUdhV0psY2k1bWFYSnpkRVZtWm1WamRDQTlJSEpsZEhWeWJrWnBZbVZ5TG14aGMzUkZabVpsWTNRZ1BTQmphR2xzWkZSdlJHVnNaWFJsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR05vYVd4a1ZHOUVaV3hsZEdVdWJtVjRkRVZtWm1WamRDQTlJRzUxYkd3N1hHNGdJQ0FnWTJocGJHUlViMFJsYkdWMFpTNWxabVpsWTNSVVlXY2dQU0JFWld4bGRHbHZianRjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUdSbGJHVjBaVkpsYldGcGJtbHVaME5vYVd4a2NtVnVLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkNrZ2UxeHVJQ0FnSUdsbUlDZ2hjMmh2ZFd4a1ZISmhZMnRUYVdSbFJXWm1aV04wY3lrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTl2Y0M1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgwZ0x5OGdWRTlFVHpvZ1JtOXlJSFJvWlNCemFHOTFiR1JEYkc5dVpTQmpZWE5sTENCMGFHbHpJR052ZFd4a0lHSmxJRzFwWTNKdkxXOXdkR2x0YVhwbFpDQmhJR0pwZENCaWVWeHVJQ0FnSUM4dklHRnpjM1Z0YVc1bklIUm9ZWFFnWVdaMFpYSWdkR2hsSUdacGNuTjBJR05vYVd4a0lIZGxKM1psSUdGc2NtVmhaSGtnWVdSa1pXUWdaWFpsY25sMGFHbHVaeTVjYmx4dVhHNGdJQ0FnZG1GeUlHTm9hV3hrVkc5RVpXeGxkR1VnUFNCamRYSnlaVzUwUm1seWMzUkRhR2xzWkR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2hqYUdsc1pGUnZSR1ZzWlhSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmtaV3hsZEdWRGFHbHNaQ2h5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1JVYjBSbGJHVjBaU2s3WEc0Z0lDQWdJQ0JqYUdsc1pGUnZSR1ZzWlhSbElEMGdZMmhwYkdSVWIwUmxiR1YwWlM1emFXSnNhVzVuTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2JXRndVbVZ0WVdsdWFXNW5RMmhwYkdSeVpXNG9jbVYwZFhKdVJtbGlaWElzSUdOMWNuSmxiblJHYVhKemRFTm9hV3hrS1NCN1hHNGdJQ0FnTHk4Z1FXUmtJSFJvWlNCeVpXMWhhVzVwYm1jZ1kyaHBiR1J5Wlc0Z2RHOGdZU0IwWlcxd2IzSmhjbmtnYldGd0lITnZJSFJvWVhRZ2QyVWdZMkZ1SUdacGJtUWdkR2hsYlNCaWVWeHVJQ0FnSUM4dklHdGxlWE1nY1hWcFkydHNlUzRnU1cxd2JHbGphWFFnS0c1MWJHd3BJR3RsZVhNZ1oyVjBJR0ZrWkdWa0lIUnZJSFJvYVhNZ2MyVjBJSGRwZEdnZ2RHaGxhWElnYVc1a1pYaGNiaUFnSUNBdkx5QnBibk4wWldGa0xseHVJQ0FnSUhaaGNpQmxlR2x6ZEdsdVowTm9hV3hrY21WdUlEMGdibVYzSUUxaGNDZ3BPMXh1SUNBZ0lIWmhjaUJsZUdsemRHbHVaME5vYVd4a0lEMGdZM1Z5Y21WdWRFWnBjbk4wUTJocGJHUTdYRzVjYmlBZ0lDQjNhR2xzWlNBb1pYaHBjM1JwYm1kRGFHbHNaQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHVjRhWE4wYVc1blEyaHBiR1F1YTJWNUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR1Y0YVhOMGFXNW5RMmhwYkdSeVpXNHVjMlYwS0dWNGFYTjBhVzVuUTJocGJHUXVhMlY1TENCbGVHbHpkR2x1WjBOb2FXeGtLVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR1Y0YVhOMGFXNW5RMmhwYkdSeVpXNHVjMlYwS0dWNGFYTjBhVzVuUTJocGJHUXVhVzVrWlhnc0lHVjRhWE4wYVc1blEyaHBiR1FwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbGVHbHpkR2x1WjBOb2FXeGtJRDBnWlhocGMzUnBibWREYUdsc1pDNXphV0pzYVc1bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJsZUdsemRHbHVaME5vYVd4a2NtVnVPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhObFJtbGlaWElvWm1saVpYSXNJSEJsYm1ScGJtZFFjbTl3Y3lrZ2UxeHVJQ0FnSUM4dklGZGxJR04xY25KbGJuUnNlU0J6WlhRZ2MybGliR2x1WnlCMGJ5QnVkV3hzSUdGdVpDQnBibVJsZUNCMGJ5QXdJR2hsY21VZ1ltVmpZWFZ6WlNCcGRDQnBjeUJsWVhONVhHNGdJQ0FnTHk4Z2RHOGdabTl5WjJWMElIUnZJR1J2SUdKbFptOXlaU0J5WlhSMWNtNXBibWNnYVhRdUlFVXVaeTRnWm05eUlIUm9aU0J6YVc1bmJHVWdZMmhwYkdRZ1kyRnpaUzVjYmlBZ0lDQjJZWElnWTJ4dmJtVWdQU0JqY21WaGRHVlhiM0pyU1c1UWNtOW5jbVZ6Y3lobWFXSmxjaXdnY0dWdVpHbHVaMUJ5YjNCektUdGNiaUFnSUNCamJHOXVaUzVwYm1SbGVDQTlJREE3WEc0Z0lDQWdZMnh2Ym1VdWMybGliR2x1WnlBOUlHNTFiR3c3WEc0Z0lDQWdjbVYwZFhKdUlHTnNiMjVsTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHeGhZMlZEYUdsc1pDaHVaWGRHYVdKbGNpd2diR0Z6ZEZCc1lXTmxaRWx1WkdWNExDQnVaWGRKYm1SbGVDa2dlMXh1SUNBZ0lHNWxkMFpwWW1WeUxtbHVaR1Y0SUQwZ2JtVjNTVzVrWlhnN1hHNWNiaUFnSUNCcFppQW9JWE5vYjNWc1pGUnlZV05yVTJsa1pVVm1abVZqZEhNcElIdGNiaUFnSUNBZ0lDOHZJRTV2YjNBdVhHNGdJQ0FnSUNCeVpYUjFjbTRnYkdGemRGQnNZV05sWkVsdVpHVjRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqZFhKeVpXNTBJRDBnYm1WM1JtbGlaWEl1WVd4MFpYSnVZWFJsTzF4dVhHNGdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJ2YkdSSmJtUmxlQ0E5SUdOMWNuSmxiblF1YVc1a1pYZzdYRzVjYmlBZ0lDQWdJR2xtSUNodmJHUkpibVJsZUNBOElHeGhjM1JRYkdGalpXUkpibVJsZUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHbHpJR0VnYlc5MlpTNWNiaUFnSUNBZ0lDQWdibVYzUm1saVpYSXVaV1ptWldOMFZHRm5JRDBnVUd4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYkdGemRGQnNZV05sWkVsdVpHVjRPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdMeThnVkdocGN5QnBkR1Z0SUdOaGJpQnpkR0Y1SUdsdUlIQnNZV05sTGx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYjJ4a1NXNWtaWGc3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRlJvYVhNZ2FYTWdZVzRnYVc1elpYSjBhVzl1TGx4dUlDQWdJQ0FnYm1WM1JtbGlaWEl1WldabVpXTjBWR0ZuSUQwZ1VHeGhZMlZ0Wlc1ME8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUd4aGMzUlFiR0ZqWldSSmJtUmxlRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUJ3YkdGalpWTnBibWRzWlVOb2FXeGtLRzVsZDBacFltVnlLU0I3WEc0Z0lDQWdMeThnVkdocGN5QnBjeUJ6YVcxd2JHVnlJR1p2Y2lCMGFHVWdjMmx1WjJ4bElHTm9hV3hrSUdOaGMyVXVJRmRsSUc5dWJIa2dibVZsWkNCMGJ5QmtieUJoWEc0Z0lDQWdMeThnY0d4aFkyVnRaVzUwSUdadmNpQnBibk5sY25ScGJtY2dibVYzSUdOb2FXeGtjbVZ1TGx4dUlDQWdJR2xtSUNoemFHOTFiR1JVY21GamExTnBaR1ZGWm1abFkzUnpJQ1ltSUc1bGQwWnBZbVZ5TG1Gc2RHVnlibUYwWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2JtVjNSbWxpWlhJdVpXWm1aV04wVkdGbklEMGdVR3hoWTJWdFpXNTBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdVpYZEdhV0psY2p0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlIVndaR0YwWlZSbGVIUk9iMlJsS0hKbGRIVnlia1pwWW1WeUxDQmpkWEp5Wlc1MExDQjBaWGgwUTI5dWRHVnVkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnBaaUFvWTNWeWNtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCamRYSnlaVzUwTG5SaFp5QWhQVDBnU0c5emRGUmxlSFFwSUh0Y2JpQWdJQ0FnSUM4dklFbHVjMlZ5ZEZ4dUlDQWdJQ0FnZG1GeUlHTnlaV0YwWldRZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxVVpYaDBLSFJsZUhSRGIyNTBaVzUwTENCeVpYUjFjbTVHYVdKbGNpNXRiMlJsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0JqY21WaGRHVmtMbkpsZEhWeWJpQTlJSEpsZEhWeWJrWnBZbVZ5TzF4dUlDQWdJQ0FnY21WMGRYSnVJR055WldGMFpXUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklGVndaR0YwWlZ4dUlDQWdJQ0FnZG1GeUlHVjRhWE4wYVc1bklEMGdkWE5sUm1saVpYSW9ZM1Z5Y21WdWRDd2dkR1Y0ZEVOdmJuUmxiblFwTzF4dUlDQWdJQ0FnWlhocGMzUnBibWN1Y21WMGRYSnVJRDBnY21WMGRYSnVSbWxpWlhJN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWlhocGMzUnBibWM3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhCa1lYUmxSV3hsYldWdWRDaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkQ3dnWld4bGJXVnVkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5RdVpXeGxiV1Z1ZEZSNWNHVWdQVDA5SUdWc1pXMWxiblF1ZEhsd1pTQjhmQ0FvSUM4dklFdGxaWEFnZEdocGN5QmphR1ZqYXlCcGJteHBibVVnYzI4Z2FYUWdiMjVzZVNCeWRXNXpJRzl1SUhSb1pTQm1ZV3h6WlNCd1lYUm9PbHh1SUNBZ0lDQWdJR2x6UTI5dGNHRjBhV0pzWlVaaGJXbHNlVVp2Y2todmRGSmxiRzloWkdsdVp5aGpkWEp5Wlc1MExDQmxiR1Z0Wlc1MEtTQXBLU0I3WEc0Z0lDQWdJQ0FnSUM4dklFMXZkbVVnWW1GelpXUWdiMjRnYVc1a1pYaGNiaUFnSUNBZ0lDQWdkbUZ5SUdWNGFYTjBhVzVuSUQwZ2RYTmxSbWxpWlhJb1kzVnljbVZ1ZEN3Z1pXeGxiV1Z1ZEM1d2NtOXdjeWs3WEc0Z0lDQWdJQ0FnSUdWNGFYTjBhVzVuTG5KbFppQTlJR052WlhKalpWSmxaaWh5WlhSMWNtNUdhV0psY2l3Z1kzVnljbVZ1ZEN3Z1pXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHVjRhWE4wYVc1bkxuSmxkSFZ5YmlBOUlISmxkSFZ5YmtacFltVnlPMXh1WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQmxlR2x6ZEdsdVp5NWZaR1ZpZFdkVGIzVnlZMlVnUFNCbGJHVnRaVzUwTGw5emIzVnlZMlU3WEc0Z0lDQWdJQ0FnSUNBZ1pYaHBjM1JwYm1jdVgyUmxZblZuVDNkdVpYSWdQU0JsYkdWdFpXNTBMbDl2ZDI1bGNqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJsZUdsemRHbHVaenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJQzh2SUVsdWMyVnlkRnh1WEc1Y2JpQWdJQ0IyWVhJZ1kzSmxZWFJsWkNBOUlHTnlaV0YwWlVacFltVnlSbkp2YlVWc1pXMWxiblFvWld4bGJXVnVkQ3dnY21WMGRYSnVSbWxpWlhJdWJXOWtaU3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lHTnlaV0YwWldRdWNtVm1JRDBnWTI5bGNtTmxVbVZtS0hKbGRIVnlia1pwWW1WeUxDQmpkWEp5Wlc1MExDQmxiR1Z0Wlc1MEtUdGNiaUFnSUNCamNtVmhkR1ZrTG5KbGRIVnliaUE5SUhKbGRIVnlia1pwWW1WeU8xeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVmtPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhCa1lYUmxVRzl5ZEdGc0tISmxkSFZ5YmtacFltVnlMQ0JqZFhKeVpXNTBMQ0J3YjNKMFlXd3NJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUWdQVDA5SUc1MWJHd2dmSHdnWTNWeWNtVnVkQzUwWVdjZ0lUMDlJRWh2YzNSUWIzSjBZV3dnZkh3Z1kzVnljbVZ1ZEM1emRHRjBaVTV2WkdVdVkyOXVkR0ZwYm1WeVNXNW1ieUFoUFQwZ2NHOXlkR0ZzTG1OdmJuUmhhVzVsY2tsdVptOGdmSHdnWTNWeWNtVnVkQzV6ZEdGMFpVNXZaR1V1YVcxd2JHVnRaVzUwWVhScGIyNGdJVDA5SUhCdmNuUmhiQzVwYlhCc1pXMWxiblJoZEdsdmJpa2dlMXh1SUNBZ0lDQWdMeThnU1c1elpYSjBYRzRnSUNBZ0lDQjJZWElnWTNKbFlYUmxaQ0E5SUdOeVpXRjBaVVpwWW1WeVJuSnZiVkJ2Y25SaGJDaHdiM0owWVd3c0lISmxkSFZ5YmtacFltVnlMbTF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0FnSUdOeVpXRjBaV1F1Y21WMGRYSnVJRDBnY21WMGRYSnVSbWxpWlhJN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxaRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdWWEJrWVhSbFhHNGdJQ0FnSUNCMllYSWdaWGhwYzNScGJtY2dQU0IxYzJWR2FXSmxjaWhqZFhKeVpXNTBMQ0J3YjNKMFlXd3VZMmhwYkdSeVpXNGdmSHdnVzEwcE8xeHVJQ0FnSUNBZ1pYaHBjM1JwYm1jdWNtVjBkWEp1SUQwZ2NtVjBkWEp1Um1saVpYSTdYRzRnSUNBZ0lDQnlaWFIxY200Z1pYaHBjM1JwYm1jN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2RYQmtZWFJsUm5KaFoyMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHTjFjbkpsYm5Rc0lHWnlZV2R0Wlc1MExDQmxlSEJwY21GMGFXOXVWR2x0WlN3Z2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dnZkh3Z1kzVnljbVZ1ZEM1MFlXY2dJVDA5SUVaeVlXZHRaVzUwS1NCN1hHNGdJQ0FnSUNBdkx5Qkpibk5sY25SY2JpQWdJQ0FnSUhaaGNpQmpjbVZoZEdWa0lEMGdZM0psWVhSbFJtbGlaWEpHY205dFJuSmhaMjFsYm5Rb1puSmhaMjFsYm5Rc0lISmxkSFZ5YmtacFltVnlMbTF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsTENCclpYa3BPMXh1SUNBZ0lDQWdZM0psWVhSbFpDNXlaWFIxY200Z1BTQnlaWFIxY201R2FXSmxjanRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpjbVZoZEdWa08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCVmNHUmhkR1ZjYmlBZ0lDQWdJSFpoY2lCbGVHbHpkR2x1WnlBOUlIVnpaVVpwWW1WeUtHTjFjbkpsYm5Rc0lHWnlZV2R0Wlc1MEtUdGNiaUFnSUNBZ0lHVjRhWE4wYVc1bkxuSmxkSFZ5YmlBOUlISmxkSFZ5YmtacFltVnlPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHVjRhWE4wYVc1bk8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHTnlaV0YwWlVOb2FXeGtLSEpsZEhWeWJrWnBZbVZ5TENCdVpYZERhR2xzWkN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1bGQwTm9hV3hrSUQwOVBTQW5jM1J5YVc1bkp5QjhmQ0IwZVhCbGIyWWdibVYzUTJocGJHUWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNBdkx5QlVaWGgwSUc1dlpHVnpJR1J2YmlkMElHaGhkbVVnYTJWNWN5NGdTV1lnZEdobElIQnlaWFpwYjNWeklHNXZaR1VnYVhNZ2FXMXdiR2xqYVhSc2VTQnJaWGxsWkZ4dUlDQWdJQ0FnTHk4Z2QyVWdZMkZ1SUdOdmJuUnBiblZsSUhSdklISmxjR3hoWTJVZ2FYUWdkMmwwYUc5MWRDQmhZbTl5ZEdsdVp5QmxkbVZ1SUdsbUlHbDBJR2x6SUc1dmRDQmhJSFJsZUhSY2JpQWdJQ0FnSUM4dklHNXZaR1V1WEc0Z0lDQWdJQ0IyWVhJZ1kzSmxZWFJsWkNBOUlHTnlaV0YwWlVacFltVnlSbkp2YlZSbGVIUW9KeWNnS3lCdVpYZERhR2xzWkN3Z2NtVjBkWEp1Um1saVpYSXViVzlrWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnWTNKbFlYUmxaQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibVYzUTJocGJHUWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHNWxkME5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnpkMmwwWTJnZ0tHNWxkME5vYVd4a0xpUWtkSGx3Wlc5bUtTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmUlV4RlRVVk9WRjlVV1ZCRk9seHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJmWTNKbFlYUmxaQ0E5SUdOeVpXRjBaVVpwWW1WeVJuSnZiVVZzWlcxbGJuUW9ibVYzUTJocGJHUXNJSEpsZEhWeWJrWnBZbVZ5TG0xdlpHVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1gyTnlaV0YwWldRdWNtVm1JRDBnWTI5bGNtTmxVbVZtS0hKbGRIVnlia1pwWW1WeUxDQnVkV3hzTENCdVpYZERhR2xzWkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JmWTNKbFlYUmxaQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmZZM0psWVhSbFpEdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVFUMUpVUVV4ZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1gyTnlaV0YwWldReUlEMGdZM0psWVhSbFJtbGlaWEpHY205dFVHOXlkR0ZzS0c1bGQwTm9hV3hrTENCeVpYUjFjbTVHYVdKbGNpNXRiMlJsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJRjlqY21WaGRHVmtNaTV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmZZM0psWVhSbFpESTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9hWE5CY25KaGVTUXhLRzVsZDBOb2FXeGtLU0I4ZkNCblpYUkpkR1Z5WVhSdmNrWnVLRzVsZDBOb2FXeGtLU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdYMk55WldGMFpXUXpJRDBnWTNKbFlYUmxSbWxpWlhKR2NtOXRSbkpoWjIxbGJuUW9ibVYzUTJocGJHUXNJSEpsZEhWeWJrWnBZbVZ5TG0xdlpHVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbExDQnVkV3hzS1R0Y2JseHVJQ0FnSUNBZ0lDQmZZM0psWVhSbFpETXVjbVYwZFhKdUlEMGdjbVYwZFhKdVJtbGlaWEk3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJmWTNKbFlYUmxaRE03WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2NtOTNUMjVKYm5aaGJHbGtUMkpxWldOMFZIbHdaU2h5WlhSMWNtNUdhV0psY2l3Z2JtVjNRMmhwYkdRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JtVjNRMmhwYkdRZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2QyRnliazl1Um5WdVkzUnBiMjVVZVhCbEtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUIxY0dSaGRHVlRiRzkwS0hKbGRIVnlia1pwWW1WeUxDQnZiR1JHYVdKbGNpd2dibVYzUTJocGJHUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0x5OGdWWEJrWVhSbElIUm9aU0JtYVdKbGNpQnBaaUIwYUdVZ2EyVjVjeUJ0WVhSamFDd2diM1JvWlhKM2FYTmxJSEpsZEhWeWJpQnVkV3hzTGx4dUlDQWdJSFpoY2lCclpYa2dQU0J2YkdSR2FXSmxjaUFoUFQwZ2JuVnNiQ0EvSUc5c1pFWnBZbVZ5TG10bGVTQTZJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuYzNSeWFXNW5KeUI4ZkNCMGVYQmxiMllnYm1WM1EyaHBiR1FnUFQwOUlDZHVkVzFpWlhJbktTQjdYRzRnSUNBZ0lDQXZMeUJVWlhoMElHNXZaR1Z6SUdSdmJpZDBJR2hoZG1VZ2EyVjVjeTRnU1dZZ2RHaGxJSEJ5WlhacGIzVnpJRzV2WkdVZ2FYTWdhVzF3YkdsamFYUnNlU0JyWlhsbFpGeHVJQ0FnSUNBZ0x5OGdkMlVnWTJGdUlHTnZiblJwYm5WbElIUnZJSEpsY0d4aFkyVWdhWFFnZDJsMGFHOTFkQ0JoWW05eWRHbHVaeUJsZG1WdUlHbG1JR2wwSUdseklHNXZkQ0JoSUhSbGVIUmNiaUFnSUNBZ0lDOHZJRzV2WkdVdVhHNGdJQ0FnSUNCcFppQW9hMlY1SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFZHVjRkRTV2WkdVb2NtVjBkWEp1Um1saVpYSXNJRzlzWkVacFltVnlMQ0FuSnlBcklHNWxkME5vYVd4a0xDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVpYZERhR2xzWkNBOVBUMGdKMjlpYW1WamRDY2dKaVlnYm1WM1EyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhOM2FYUmphQ0FvYm1WM1EyaHBiR1F1SkNSMGVYQmxiMllwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOUZURVZOUlU1VVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxkME5vYVd4a0xtdGxlU0E5UFQwZ2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodVpYZERhR2xzWkM1MGVYQmxJRDA5UFNCU1JVRkRWRjlHVWtGSFRVVk9WRjlVV1ZCRktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVaeVlXZHRaVzUwS0hKbGRIVnlia1pwWW1WeUxDQnZiR1JHYVdKbGNpd2dibVYzUTJocGJHUXVjSEp2Y0hNdVkyaHBiR1J5Wlc0c0lHVjRjR2x5WVhScGIyNVVhVzFsTENCclpYa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVWc1pXMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRTlTVkVGTVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxkME5vYVd4a0xtdGxlU0E5UFQwZ2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWUWIzSjBZV3dvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9hWE5CY25KaGVTUXhLRzVsZDBOb2FXeGtLU0I4ZkNCblpYUkpkR1Z5WVhSdmNrWnVLRzVsZDBOb2FXeGtLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsUm5KaFoyMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVc0lHNTFiR3dwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFISnZkMDl1U1c1MllXeHBaRTlpYW1WamRGUjVjR1VvY21WMGRYSnVSbWxpWlhJc0lHNWxkME5vYVd4a0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lIZGhjbTVQYmtaMWJtTjBhVzl1Vkhsd1pTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhCa1lYUmxSbkp2YlUxaGNDaGxlR2x6ZEdsdVowTm9hV3hrY21WdUxDQnlaWFIxY201R2FXSmxjaXdnYm1WM1NXUjRMQ0J1WlhkRGFHbHNaQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzVsZDBOb2FXeGtJRDA5UFNBbmMzUnlhVzVuSnlCOGZDQjBlWEJsYjJZZ2JtVjNRMmhwYkdRZ1BUMDlJQ2R1ZFcxaVpYSW5LU0I3WEc0Z0lDQWdJQ0F2THlCVVpYaDBJRzV2WkdWeklHUnZiaWQwSUdoaGRtVWdhMlY1Y3l3Z2MyOGdkMlVnYm1WcGRHaGxjaUJvWVhabElIUnZJR05vWldOcklIUm9aU0J2YkdRZ2JtOXlYRzRnSUNBZ0lDQXZMeUJ1WlhjZ2JtOWtaU0JtYjNJZ2RHaGxJR3RsZVM0Z1NXWWdZbTkwYUNCaGNtVWdkR1Y0ZENCdWIyUmxjeXdnZEdobGVTQnRZWFJqYUM1Y2JpQWdJQ0FnSUhaaGNpQnRZWFJqYUdWa1JtbGlaWElnUFNCbGVHbHpkR2x1WjBOb2FXeGtjbVZ1TG1kbGRDaHVaWGRKWkhncElIeDhJRzUxYkd3N1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxWR1Y0ZEU1dlpHVW9jbVYwZFhKdVJtbGlaWElzSUcxaGRHTm9aV1JHYVdKbGNpd2dKeWNnS3lCdVpYZERhR2xzWkN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnYm1WM1EyaHBiR1FnUFQwOUlDZHZZbXBsWTNRbklDWW1JRzVsZDBOb2FXeGtJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J6ZDJsMFkyZ2dLRzVsZDBOb2FXeGtMaVFrZEhsd1pXOW1LU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlJVeEZUVVZPVkY5VVdWQkZPbHh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCZmJXRjBZMmhsWkVacFltVnlJRDBnWlhocGMzUnBibWREYUdsc1pISmxiaTVuWlhRb2JtVjNRMmhwYkdRdWEyVjVJRDA5UFNCdWRXeHNJRDhnYm1WM1NXUjRJRG9nYm1WM1EyaHBiR1F1YTJWNUtTQjhmQ0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ibVYzUTJocGJHUXVkSGx3WlNBOVBUMGdVa1ZCUTFSZlJsSkJSMDFGVGxSZlZGbFFSU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFJuSmhaMjFsYm5Rb2NtVjBkWEp1Um1saVpYSXNJRjl0WVhSamFHVmtSbWxpWlhJc0lHNWxkME5vYVd4a0xuQnliM0J6TG1Ob2FXeGtjbVZ1TENCbGVIQnBjbUYwYVc5dVZHbHRaU3dnYm1WM1EyaHBiR1F1YTJWNUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVVnNaVzFsYm5Rb2NtVjBkWEp1Um1saVpYSXNJRjl0WVhSamFHVmtSbWxpWlhJc0lHNWxkME5vYVd4a0xDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlVFOVNWRUZNWDFSWlVFVTZYRzRnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUY5dFlYUmphR1ZrUm1saVpYSXlJRDBnWlhocGMzUnBibWREYUdsc1pISmxiaTVuWlhRb2JtVjNRMmhwYkdRdWEyVjVJRDA5UFNCdWRXeHNJRDhnYm1WM1NXUjRJRG9nYm1WM1EyaHBiR1F1YTJWNUtTQjhmQ0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxVRzl5ZEdGc0tISmxkSFZ5YmtacFltVnlMQ0JmYldGMFkyaGxaRVpwWW1WeU1pd2dibVYzUTJocGJHUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHBjMEZ5Y21GNUpERW9ibVYzUTJocGJHUXBJSHg4SUdkbGRFbDBaWEpoZEc5eVJtNG9ibVYzUTJocGJHUXBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZiV0YwWTJobFpFWnBZbVZ5TXlBOUlHVjRhWE4wYVc1blEyaHBiR1J5Wlc0dVoyVjBLRzVsZDBsa2VDa2dmSHdnYm5Wc2JEdGNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFJuSmhaMjFsYm5Rb2NtVjBkWEp1Um1saVpYSXNJRjl0WVhSamFHVmtSbWxpWlhJekxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVc0lHNTFiR3dwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFISnZkMDl1U1c1MllXeHBaRTlpYW1WamRGUjVjR1VvY21WMGRYSnVSbWxpWlhJc0lHNWxkME5vYVd4a0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lIZGhjbTVQYmtaMWJtTjBhVzl1Vkhsd1pTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNGdJQzhxS2x4dUlDQWdLaUJYWVhKdWN5QnBaaUIwYUdWeVpTQnBjeUJoSUdSMWNHeHBZMkYwWlNCdmNpQnRhWE56YVc1bklHdGxlVnh1SUNBZ0tpOWNibHh1WEc0Z0lHWjFibU4wYVc5dUlIZGhjbTVQYmtsdWRtRnNhV1JMWlhrb1kyaHBiR1FzSUd0dWIzZHVTMlY1Y3lrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kyaHBiR1FnSVQwOUlDZHZZbXBsWTNRbklIeDhJR05vYVd4a0lEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnJibTkzYmt0bGVYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSE4zYVhSamFDQW9ZMmhwYkdRdUpDUjBlWEJsYjJZcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRTlTVkVGTVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ2QyRnlia1p2Y2sxcGMzTnBibWRMWlhrb1kyaHBiR1FwTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJyWlhrZ1BTQmphR2xzWkM1clpYazdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHdGxlU0FoUFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNocmJtOTNia3RsZVhNZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd0dWIzZHVTMlY1Y3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUd0dWIzZHVTMlY1Y3k1aFpHUW9hMlY1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2doYTI1dmQyNUxaWGx6TG1oaGN5aHJaWGtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JyYm05M2JrdGxlWE11WVdSa0tHdGxlU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCbGNuSnZjaWduUlc1amIzVnVkR1Z5WldRZ2RIZHZJR05vYVd4a2NtVnVJSGRwZEdnZ2RHaGxJSE5oYldVZ2EyVjVMQ0JnSlhOZ0xpQW5JQ3NnSjB0bGVYTWdjMmh2ZFd4a0lHSmxJSFZ1YVhGMVpTQnpieUIwYUdGMElHTnZiWEJ2Ym1WdWRITWdiV0ZwYm5SaGFXNGdkR2hsYVhJZ2FXUmxiblJwZEhrZ0p5QXJJQ2RoWTNKdmMzTWdkWEJrWVhSbGN5NGdUbTl1TFhWdWFYRjFaU0JyWlhseklHMWhlU0JqWVhWelpTQmphR2xzWkhKbGJpQjBieUJpWlNBbklDc2dKMlIxY0d4cFkyRjBaV1FnWVc1a0wyOXlJRzl0YVhSMFpXUWc0b0NVSUhSb1pTQmlaV2hoZG1sdmNpQnBjeUIxYm5OMWNIQnZjblJsWkNCaGJtUWdKeUFySUNkamIzVnNaQ0JqYUdGdVoyVWdhVzRnWVNCbWRYUjFjbVVnZG1WeWMybHZiaTRuTENCclpYa3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHdHViM2R1UzJWNWN6dGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJSEpsWTI5dVkybHNaVU5vYVd4a2NtVnVRWEp5WVhrb2NtVjBkWEp1Um1saVpYSXNJR04xY25KbGJuUkdhWEp6ZEVOb2FXeGtMQ0J1WlhkRGFHbHNaSEpsYml3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0F2THlCVWFHbHpJR0ZzWjI5eWFYUm9iU0JqWVc0bmRDQnZjSFJwYldsNlpTQmllU0J6WldGeVkyaHBibWNnWm5KdmJTQmliM1JvSUdWdVpITWdjMmx1WTJVZ2QyVmNiaUFnSUNBdkx5QmtiMjRuZENCb1lYWmxJR0poWTJ0d2IybHVkR1Z5Y3lCdmJpQm1hV0psY25NdUlFa25iU0IwY25scGJtY2dkRzhnYzJWbElHaHZkeUJtWVhJZ2QyVWdZMkZ1SUdkbGRGeHVJQ0FnSUM4dklIZHBkR2dnZEdoaGRDQnRiMlJsYkM0Z1NXWWdhWFFnWlc1a2N5QjFjQ0J1YjNRZ1ltVnBibWNnZDI5eWRHZ2dkR2hsSUhSeVlXUmxiMlptY3l3Z2QyVWdZMkZ1WEc0Z0lDQWdMeThnWVdSa0lHbDBJR3hoZEdWeUxseHVJQ0FnSUM4dklFVjJaVzRnZDJsMGFDQmhJSFIzYnlCbGJtUmxaQ0J2Y0hScGJXbDZZWFJwYjI0c0lIZGxKMlFnZDJGdWRDQjBieUJ2Y0hScGJXbDZaU0JtYjNJZ2RHaGxJR05oYzJWY2JpQWdJQ0F2THlCM2FHVnlaU0IwYUdWeVpTQmhjbVVnWm1WM0lHTm9ZVzVuWlhNZ1lXNWtJR0p5ZFhSbElHWnZjbU5sSUhSb1pTQmpiMjF3WVhKcGMyOXVJR2x1YzNSbFlXUWdiMlpjYmlBZ0lDQXZMeUJuYjJsdVp5Qm1iM0lnZEdobElFMWhjQzRnU1hRblpDQnNhV3RsSUhSdklHVjRjR3h2Y21VZ2FHbDBkR2x1WnlCMGFHRjBJSEJoZEdnZ1ptbHljM1FnYVc1Y2JpQWdJQ0F2THlCbWIzSjNZWEprTFc5dWJIa2diVzlrWlNCaGJtUWdiMjVzZVNCbmJ5Qm1iM0lnZEdobElFMWhjQ0J2Ym1ObElIZGxJRzV2ZEdsalpTQjBhR0YwSUhkbElHNWxaV1JjYmlBZ0lDQXZMeUJzYjNSeklHOW1JR3h2YjJzZ1lXaGxZV1F1SUZSb2FYTWdaRzlsYzI0bmRDQm9ZVzVrYkdVZ2NtVjJaWEp6WVd3Z1lYTWdkMlZzYkNCaGN5QjBkMjhnWlc1a1pXUmNiaUFnSUNBdkx5QnpaV0Z5WTJnZ1luVjBJSFJvWVhRbmN5QjFiblZ6ZFdGc0xpQkNaWE5wWkdWekxDQm1iM0lnZEdobElIUjNieUJsYm1SbFpDQnZjSFJwYldsNllYUnBiMjRnZEc5Y2JpQWdJQ0F2THlCM2IzSnJJRzl1SUVsMFpYSmhZbXhsY3l3Z2QyVW5aQ0J1WldWa0lIUnZJR052Y0hrZ2RHaGxJSGRvYjJ4bElITmxkQzVjYmlBZ0lDQXZMeUJKYmlCMGFHbHpJR1pwY25OMElHbDBaWEpoZEdsdmJpd2dkMlVuYkd3Z2FuVnpkQ0JzYVhabElIZHBkR2dnYUdsMGRHbHVaeUIwYUdVZ1ltRmtJR05oYzJWY2JpQWdJQ0F2THlBb1lXUmthVzVuSUdWMlpYSjVkR2hwYm1jZ2RHOGdZU0JOWVhBcElHbHVJR1p2Y2lCbGRtVnllU0JwYm5ObGNuUXZiVzkyWlM1Y2JpQWdJQ0F2THlCSlppQjViM1VnWTJoaGJtZGxJSFJvYVhNZ1kyOWtaU3dnWVd4emJ5QjFjR1JoZEdVZ2NtVmpiMjVqYVd4bFEyaHBiR1J5Wlc1SmRHVnlZWFJ2Y2lncElIZG9hV05vWEc0Z0lDQWdMeThnZFhObGN5QjBhR1VnYzJGdFpTQmhiR2R2Y21sMGFHMHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdSbWx5YzNRc0lIWmhiR2xrWVhSbElHdGxlWE11WEc0Z0lDQWdJQ0IyWVhJZ2EyNXZkMjVMWlhseklEMGdiblZzYkR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVaWGREYUdsc1pISmxiaTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWTJocGJHUWdQU0J1WlhkRGFHbHNaSEpsYmx0cFhUdGNiaUFnSUNBZ0lDQWdhMjV2ZDI1TFpYbHpJRDBnZDJGeWJrOXVTVzUyWVd4cFpFdGxlU2hqYUdsc1pDd2dhMjV2ZDI1TFpYbHpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WemRXeDBhVzVuUm1seWMzUkRhR2xzWkNBOUlHNTFiR3c3WEc0Z0lDQWdkbUZ5SUhCeVpYWnBiM1Z6VG1WM1JtbGlaWElnUFNCdWRXeHNPMXh1SUNBZ0lIWmhjaUJ2YkdSR2FXSmxjaUE5SUdOMWNuSmxiblJHYVhKemRFTm9hV3hrTzF4dUlDQWdJSFpoY2lCc1lYTjBVR3hoWTJWa1NXNWtaWGdnUFNBd08xeHVJQ0FnSUhaaGNpQnVaWGRKWkhnZ1BTQXdPMXh1SUNBZ0lIWmhjaUJ1WlhoMFQyeGtSbWxpWlhJZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnWm05eUlDZzdJRzlzWkVacFltVnlJQ0U5UFNCdWRXeHNJQ1ltSUc1bGQwbGtlQ0E4SUc1bGQwTm9hV3hrY21WdUxteGxibWQwYURzZ2JtVjNTV1I0S3lzcElIdGNiaUFnSUNBZ0lHbG1JQ2h2YkdSR2FXSmxjaTVwYm1SbGVDQStJRzVsZDBsa2VDa2dlMXh1SUNBZ0lDQWdJQ0J1WlhoMFQyeGtSbWxpWlhJZ1BTQnZiR1JHYVdKbGNqdGNiaUFnSUNBZ0lDQWdiMnhrUm1saVpYSWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2JtVjRkRTlzWkVacFltVnlJRDBnYjJ4a1JtbGlaWEl1YzJsaWJHbHVaenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlHNWxkMFpwWW1WeUlEMGdkWEJrWVhSbFUyeHZkQ2h5WlhSMWNtNUdhV0psY2l3Z2IyeGtSbWxpWlhJc0lHNWxkME5vYVd4a2NtVnVXMjVsZDBsa2VGMHNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0c1bGQwWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRlJQUkU4NklGUm9hWE1nWW5KbFlXdHpJRzl1SUdWdGNIUjVJSE5zYjNSeklHeHBhMlVnYm5Wc2JDQmphR2xzWkhKbGJpNGdWR2hoZENkelhHNGdJQ0FnSUNBZ0lDOHZJSFZ1Wm05eWRIVnVZWFJsSUdKbFkyRjFjMlVnYVhRZ2RISnBaMmRsY25NZ2RHaGxJSE5zYjNjZ2NHRjBhQ0JoYkd3Z2RHaGxJSFJwYldVdUlGZGxJRzVsWldSY2JpQWdJQ0FnSUNBZ0x5OGdZU0JpWlhSMFpYSWdkMkY1SUhSdklHTnZiVzExYm1sallYUmxJSGRvWlhSb1pYSWdkR2hwY3lCM1lYTWdZU0J0YVhOeklHOXlJRzUxYkd3c1hHNGdJQ0FnSUNBZ0lDOHZJR0p2YjJ4bFlXNHNJSFZ1WkdWbWFXNWxaQ3dnWlhSakxseHVJQ0FnSUNBZ0lDQnBaaUFvYjJ4a1JtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnZiR1JHYVdKbGNpQTlJRzVsZUhSUGJHUkdhV0psY2p0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYzJodmRXeGtWSEpoWTJ0VGFXUmxSV1ptWldOMGN5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2IyeGtSbWxpWlhJZ0ppWWdibVYzUm1saVpYSXVZV3gwWlhKdVlYUmxJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWMlVnYldGMFkyaGxaQ0IwYUdVZ2MyeHZkQ3dnWW5WMElIZGxJR1JwWkc0bmRDQnlaWFZ6WlNCMGFHVWdaWGhwYzNScGJtY2dabWxpWlhJc0lITnZJSGRsWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdibVZsWkNCMGJ5QmtaV3hsZEdVZ2RHaGxJR1Y0YVhOMGFXNW5JR05vYVd4a0xseHVJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpVTm9hV3hrS0hKbGRIVnlia1pwWW1WeUxDQnZiR1JHYVdKbGNpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYkdGemRGQnNZV05sWkVsdVpHVjRJRDBnY0d4aFkyVkRhR2xzWkNodVpYZEdhV0psY2l3Z2JHRnpkRkJzWVdObFpFbHVaR1Y0TENCdVpYZEpaSGdwTzF4dVhHNGdJQ0FnSUNCcFppQW9jSEpsZG1sdmRYTk9aWGRHYVdKbGNpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJOYjNabElHOTFkQ0J2WmlCMGFHVWdiRzl2Y0M0Z1ZHaHBjeUJ2Ym14NUlHaGhjSEJsYm5NZ1ptOXlJSFJvWlNCbWFYSnpkQ0J5ZFc0dVhHNGdJQ0FnSUNBZ0lISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUWdQU0J1WlhkR2FXSmxjanRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRVJsWm1WeUlITnBZbXhwYm1keklHbG1JSGRsSjNKbElHNXZkQ0JoZENCMGFHVWdjbWxuYUhRZ2FXNWtaWGdnWm05eUlIUm9hWE1nYzJ4dmRDNWNiaUFnSUNBZ0lDQWdMeThnU1M1bExpQnBaaUIzWlNCb1lXUWdiblZzYkNCMllXeDFaWE1nWW1WbWIzSmxMQ0IwYUdWdUlIZGxJSGRoYm5RZ2RHOGdaR1ZtWlhJZ2RHaHBjMXh1SUNBZ0lDQWdJQ0F2THlCbWIzSWdaV0ZqYUNCdWRXeHNJSFpoYkhWbExpQkliM2RsZG1WeUxDQjNaU0JoYkhOdklHUnZiaWQwSUhkaGJuUWdkRzhnWTJGc2JDQjFjR1JoZEdWVGJHOTBYRzRnSUNBZ0lDQWdJQzh2SUhkcGRHZ2dkR2hsSUhCeVpYWnBiM1Z6SUc5dVpTNWNiaUFnSUNBZ0lDQWdjSEpsZG1sdmRYTk9aWGRHYVdKbGNpNXphV0pzYVc1bklEMGdibVYzUm1saVpYSTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEJ5WlhacGIzVnpUbVYzUm1saVpYSWdQU0J1WlhkR2FXSmxjanRjYmlBZ0lDQWdJRzlzWkVacFltVnlJRDBnYm1WNGRFOXNaRVpwWW1WeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHVaWGRKWkhnZ1BUMDlJRzVsZDBOb2FXeGtjbVZ1TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVW5kbVVnY21WaFkyaGxaQ0IwYUdVZ1pXNWtJRzltSUhSb1pTQnVaWGNnWTJocGJHUnlaVzR1SUZkbElHTmhiaUJrWld4bGRHVWdkR2hsSUhKbGMzUXVYRzRnSUNBZ0lDQmtaV3hsZEdWU1pXMWhhVzVwYm1kRGFHbHNaSEpsYmloeVpYUjFjbTVHYVdKbGNpd2diMnhrUm1saVpYSXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzlzWkVacFltVnlJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCSlppQjNaU0JrYjI0bmRDQm9ZWFpsSUdGdWVTQnRiM0psSUdWNGFYTjBhVzVuSUdOb2FXeGtjbVZ1SUhkbElHTmhiaUJqYUc5dmMyVWdZU0JtWVhOMElIQmhkR2hjYmlBZ0lDQWdJQzh2SUhOcGJtTmxJSFJvWlNCeVpYTjBJSGRwYkd3Z1lXeHNJR0psSUdsdWMyVnlkR2x2Ym5NdVhHNGdJQ0FnSUNCbWIzSWdLRHNnYm1WM1NXUjRJRHdnYm1WM1EyaHBiR1J5Wlc0dWJHVnVaM1JvT3lCdVpYZEpaSGdyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWDI1bGQwWnBZbVZ5SUQwZ1kzSmxZWFJsUTJocGJHUW9jbVYwZFhKdVJtbGlaWElzSUc1bGQwTm9hV3hrY21WdVcyNWxkMGxrZUYwc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWDI1bGQwWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCc1lYTjBVR3hoWTJWa1NXNWtaWGdnUFNCd2JHRmpaVU5vYVd4a0tGOXVaWGRHYVdKbGNpd2diR0Z6ZEZCc1lXTmxaRWx1WkdWNExDQnVaWGRKWkhncE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNod2NtVjJhVzkxYzA1bGQwWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dUVzkyWlNCdmRYUWdiMllnZEdobElHeHZiM0F1SUZSb2FYTWdiMjVzZVNCb1lYQndaVzV6SUdadmNpQjBhR1VnWm1seWMzUWdjblZ1TGx4dUlDQWdJQ0FnSUNBZ0lISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUWdQU0JmYm1WM1JtbGlaWEk3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NISmxkbWx2ZFhOT1pYZEdhV0psY2k1emFXSnNhVzVuSUQwZ1gyNWxkMFpwWW1WeU8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY0hKbGRtbHZkWE5PWlhkR2FXSmxjaUE5SUY5dVpYZEdhV0psY2p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkR2x1WjBacGNuTjBRMmhwYkdRN1hHNGdJQ0FnZlNBdkx5QkJaR1FnWVd4c0lHTm9hV3hrY21WdUlIUnZJR0VnYTJWNUlHMWhjQ0JtYjNJZ2NYVnBZMnNnYkc5dmEzVndjeTVjYmx4dVhHNGdJQ0FnZG1GeUlHVjRhWE4wYVc1blEyaHBiR1J5Wlc0Z1BTQnRZWEJTWlcxaGFXNXBibWREYUdsc1pISmxiaWh5WlhSMWNtNUdhV0psY2l3Z2IyeGtSbWxpWlhJcE95QXZMeUJMWldWd0lITmpZVzV1YVc1bklHRnVaQ0IxYzJVZ2RHaGxJRzFoY0NCMGJ5QnlaWE4wYjNKbElHUmxiR1YwWldRZ2FYUmxiWE1nWVhNZ2JXOTJaWE11WEc1Y2JpQWdJQ0JtYjNJZ0tEc2dibVYzU1dSNElEd2dibVYzUTJocGJHUnlaVzR1YkdWdVozUm9PeUJ1WlhkSlpIZ3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlGOXVaWGRHYVdKbGNqSWdQU0IxY0dSaGRHVkdjbTl0VFdGd0tHVjRhWE4wYVc1blEyaHBiR1J5Wlc0c0lISmxkSFZ5YmtacFltVnlMQ0J1WlhkSlpIZ3NJRzVsZDBOb2FXeGtjbVZ1VzI1bGQwbGtlRjBzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tGOXVaWGRHYVdKbGNqSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITm9iM1ZzWkZSeVlXTnJVMmxrWlVWbVptVmpkSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWDI1bGQwWnBZbVZ5TWk1aGJIUmxjbTVoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUm9aU0J1WlhjZ1ptbGlaWElnYVhNZ1lTQjNiM0pySUdsdUlIQnliMmR5WlhOekxDQmlkWFFnYVdZZ2RHaGxjbVVnWlhocGMzUnpJR0ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR04xY25KbGJuUXNJSFJvWVhRZ2JXVmhibk1nZEdoaGRDQjNaU0J5WlhWelpXUWdkR2hsSUdacFltVnlMaUJYWlNCdVpXVmtJSFJ2SUdSbGJHVjBaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdhWFFnWm5KdmJTQjBhR1VnWTJocGJHUWdiR2x6ZENCemJ5QjBhR0YwSUhkbElHUnZiaWQwSUdGa1pDQnBkQ0IwYnlCMGFHVWdaR1ZzWlhScGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBjM1F1WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxlR2x6ZEdsdVowTm9hV3hrY21WdUxtUmxiR1YwWlNoZmJtVjNSbWxpWlhJeUxtdGxlU0E5UFQwZ2JuVnNiQ0EvSUc1bGQwbGtlQ0E2SUY5dVpYZEdhV0psY2pJdWEyVjVLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JzWVhOMFVHeGhZMlZrU1c1a1pYZ2dQU0J3YkdGalpVTm9hV3hrS0Y5dVpYZEdhV0psY2pJc0lHeGhjM1JRYkdGalpXUkpibVJsZUN3Z2JtVjNTV1I0S1R0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0hKbGRtbHZkWE5PWlhkR2FXSmxjaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUWdQU0JmYm1WM1JtbGlaWEl5TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lIQnlaWFpwYjNWelRtVjNSbWxpWlhJdWMybGliR2x1WnlBOUlGOXVaWGRHYVdKbGNqSTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCd2NtVjJhVzkxYzA1bGQwWnBZbVZ5SUQwZ1gyNWxkMFpwWW1WeU1qdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jMmh2ZFd4a1ZISmhZMnRUYVdSbFJXWm1aV04wY3lrZ2UxeHVJQ0FnSUNBZ0x5OGdRVzU1SUdWNGFYTjBhVzVuSUdOb2FXeGtjbVZ1SUhSb1lYUWdkMlZ5Wlc0bmRDQmpiMjV6ZFcxbFpDQmhZbTkyWlNCM1pYSmxJR1JsYkdWMFpXUXVJRmRsSUc1bFpXUmNiaUFnSUNBZ0lDOHZJSFJ2SUdGa1pDQjBhR1Z0SUhSdklIUm9aU0JrWld4bGRHbHZiaUJzYVhOMExseHVJQ0FnSUNBZ1pYaHBjM1JwYm1kRGFHbHNaSEpsYmk1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNoamFHbHNaQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWc1pYUmxRMmhwYkdRb2NtVjBkWEp1Um1saVpYSXNJR05vYVd4a0tUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFJwYm1kR2FYSnpkRU5vYVd4a08xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNUpkR1Z5WVhSdmNpaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1FzSUc1bGQwTm9hV3hrY21WdVNYUmxjbUZpYkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdjMkZ0WlNCcGJYQnNaVzFsYm5SaGRHbHZiaUJoY3lCeVpXTnZibU5wYkdWRGFHbHNaSEpsYmtGeWNtRjVLQ2tzWEc0Z0lDQWdMeThnWW5WMElIVnphVzVuSUhSb1pTQnBkR1Z5WVhSdmNpQnBibk4wWldGa0xseHVJQ0FnSUhaaGNpQnBkR1Z5WVhSdmNrWnVJRDBnWjJWMFNYUmxjbUYwYjNKR2JpaHVaWGREYUdsc1pISmxia2wwWlhKaFlteGxLVHRjYmx4dUlDQWdJR2xtSUNnaEtIUjVjR1Z2WmlCcGRHVnlZWFJ2Y2tadUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKQmJpQnZZbXBsWTNRZ2FYTWdibTkwSUdGdUlHbDBaWEpoWW14bExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdWMlVnWkc5dUozUWdjM1Z3Y0c5eWRDQnlaVzVrWlhKcGJtY2dSMlZ1WlhKaGRHOXljeUJpWldOaGRYTmxJR2wwSjNNZ1lTQnRkWFJoZEdsdmJpNWNiaUFnSUNBZ0lDOHZJRk5sWlNCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlptRmpaV0p2YjJzdmNtVmhZM1F2YVhOemRXVnpMekV5T1RrMVhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlBdkx5QWtSbXh2ZDBacGVFMWxJRVpzYjNjZ1pHOWxjMjRuZENCcmJtOTNJR0ZpYjNWMElIUnZVM1J5YVc1blZHRm5YRzRnSUNBZ0lDQnVaWGREYUdsc1pISmxia2wwWlhKaFlteGxXMU41YldKdmJDNTBiMU4wY21sdVoxUmhaMTBnUFQwOUlDZEhaVzVsY21GMGIzSW5LU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUjJWdVpYSmhkRzl5Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZFZjMmx1WnlCSFpXNWxjbUYwYjNKeklHRnpJR05vYVd4a2NtVnVJR2x6SUhWdWMzVndjRzl5ZEdWa0lHRnVaQ0IzYVd4c0lHeHBhMlZzZVNCNWFXVnNaQ0FuSUNzZ0ozVnVaWGh3WldOMFpXUWdjbVZ6ZFd4MGN5QmlaV05oZFhObElHVnVkVzFsY21GMGFXNW5JR0VnWjJWdVpYSmhkRzl5SUcxMWRHRjBaWE1nYVhRdUlDY2dLeUFuV1c5MUlHMWhlU0JqYjI1MlpYSjBJR2wwSUhSdklHRnVJR0Z5Y21GNUlIZHBkR2dnWUVGeWNtRjVMbVp5YjIwb0tXQWdiM0lnZEdobElDY2dLeUFuWUZzdUxpNXpjSEpsWVdSZFlDQnZjR1Z5WVhSdmNpQmlaV1p2Y21VZ2NtVnVaR1Z5YVc1bkxpQkxaV1Z3SUdsdUlHMXBibVFnSnlBcklDZDViM1VnYldsbmFIUWdibVZsWkNCMGJ5QndiMng1Wm1sc2JDQjBhR1Z6WlNCbVpXRjBkWEpsY3lCbWIzSWdiMnhrWlhJZ1luSnZkM05sY25NdUp5azdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUkhaVzVsY21GMGIzSnpJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMGdMeThnVjJGeWJpQmhZbTkxZENCMWMybHVaeUJOWVhCeklHRnpJR05vYVd4a2NtVnVYRzVjYmx4dUlDQWdJQ0FnYVdZZ0tHNWxkME5vYVd4a2NtVnVTWFJsY21GaWJHVXVaVzUwY21sbGN5QTlQVDBnYVhSbGNtRjBiM0pHYmlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVdScFpGZGhjbTVCWW05MWRFMWhjSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnblZYTnBibWNnVFdGd2N5QmhjeUJqYUdsc1pISmxiaUJwY3lCMWJuTjFjSEJ2Y25SbFpDQmhibVFnZDJsc2JDQnNhV3RsYkhrZ2VXbGxiR1FnSnlBcklDZDFibVY0Y0dWamRHVmtJSEpsYzNWc2RITXVJRU52Ym5abGNuUWdhWFFnZEc4Z1lTQnpaWEYxWlc1alpTOXBkR1Z5WVdKc1pTQnZaaUJyWlhsbFpDQW5JQ3NnSjFKbFlXTjBSV3hsYldWdWRITWdhVzV6ZEdWaFpDNG5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHUnBaRmRoY201QlltOTFkRTFoY0hNZ1BTQjBjblZsTzF4dUlDQWdJQ0FnZlNBdkx5QkdhWEp6ZEN3Z2RtRnNhV1JoZEdVZ2EyVjVjeTVjYmlBZ0lDQWdJQzh2SUZkbEoyeHNJR2RsZENCaElHUnBabVpsY21WdWRDQnBkR1Z5WVhSdmNpQnNZWFJsY2lCbWIzSWdkR2hsSUcxaGFXNGdjR0Z6Y3k1Y2JseHVYRzRnSUNBZ0lDQjJZWElnWDI1bGQwTm9hV3hrY21WdUlEMGdhWFJsY21GMGIzSkdiaTVqWVd4c0tHNWxkME5vYVd4a2NtVnVTWFJsY21GaWJHVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1gyNWxkME5vYVd4a2NtVnVLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJibTkzYmt0bGVYTWdQU0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJSFpoY2lCZmMzUmxjQ0E5SUY5dVpYZERhR2xzWkhKbGJpNXVaWGgwS0NrN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNnN0lDRmZjM1JsY0M1a2IyNWxPeUJmYzNSbGNDQTlJRjl1WlhkRGFHbHNaSEpsYmk1dVpYaDBLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTJocGJHUWdQU0JmYzNSbGNDNTJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ0lDQnJibTkzYmt0bGVYTWdQU0IzWVhKdVQyNUpiblpoYkdsa1MyVjVLR05vYVd4a0xDQnJibTkzYmt0bGVYTXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1bGQwTm9hV3hrY21WdUlEMGdhWFJsY21GMGIzSkdiaTVqWVd4c0tHNWxkME5vYVd4a2NtVnVTWFJsY21GaWJHVXBPMXh1WEc0Z0lDQWdhV1lnS0NFb2JtVjNRMmhwYkdSeVpXNGdJVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lRVzRnYVhSbGNtRmliR1VnYjJKcVpXTjBJSEJ5YjNacFpHVmtJRzV2SUdsMFpYSmhkRzl5TGx3aUlDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSEpsYzNWc2RHbHVaMFpwY25OMFEyaHBiR1FnUFNCdWRXeHNPMXh1SUNBZ0lIWmhjaUJ3Y21WMmFXOTFjMDVsZDBacFltVnlJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdiMnhrUm1saVpYSWdQU0JqZFhKeVpXNTBSbWx5YzNSRGFHbHNaRHRjYmlBZ0lDQjJZWElnYkdGemRGQnNZV05sWkVsdVpHVjRJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JtVjNTV1I0SUQwZ01EdGNiaUFnSUNCMllYSWdibVY0ZEU5c1pFWnBZbVZ5SUQwZ2JuVnNiRHRjYmlBZ0lDQjJZWElnYzNSbGNDQTlJRzVsZDBOb2FXeGtjbVZ1TG01bGVIUW9LVHRjYmx4dUlDQWdJR1p2Y2lBb095QnZiR1JHYVdKbGNpQWhQVDBnYm5Wc2JDQW1KaUFoYzNSbGNDNWtiMjVsT3lCdVpYZEpaSGdyS3l3Z2MzUmxjQ0E5SUc1bGQwTm9hV3hrY21WdUxtNWxlSFFvS1NrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzlzWkVacFltVnlMbWx1WkdWNElENGdibVYzU1dSNEtTQjdYRzRnSUNBZ0lDQWdJRzVsZUhSUGJHUkdhV0psY2lBOUlHOXNaRVpwWW1WeU8xeHVJQ0FnSUNBZ0lDQnZiR1JHYVdKbGNpQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCdVpYaDBUMnhrUm1saVpYSWdQU0J2YkdSR2FXSmxjaTV6YVdKc2FXNW5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IyWVhJZ2JtVjNSbWxpWlhJZ1BTQjFjR1JoZEdWVGJHOTBLSEpsZEhWeWJrWnBZbVZ5TENCdmJHUkdhV0psY2l3Z2MzUmxjQzUyWVd4MVpTd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYm1WM1JtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJpY21WaGEzTWdiMjRnWlcxd2RIa2djMnh2ZEhNZ2JHbHJaU0J1ZFd4c0lHTm9hV3hrY21WdUxpQlVhR0YwSjNOY2JpQWdJQ0FnSUNBZ0x5OGdkVzVtYjNKMGRXNWhkR1VnWW1WallYVnpaU0JwZENCMGNtbG5aMlZ5Y3lCMGFHVWdjMnh2ZHlCd1lYUm9JR0ZzYkNCMGFHVWdkR2x0WlM0Z1YyVWdibVZsWkZ4dUlDQWdJQ0FnSUNBdkx5QmhJR0psZEhSbGNpQjNZWGtnZEc4Z1kyOXRiWFZ1YVdOaGRHVWdkMmhsZEdobGNpQjBhR2x6SUhkaGN5QmhJRzFwYzNNZ2IzSWdiblZzYkN4Y2JpQWdJQ0FnSUNBZ0x5OGdZbTl2YkdWaGJpd2dkVzVrWldacGJtVmtMQ0JsZEdNdVhHNGdJQ0FnSUNBZ0lHbG1JQ2h2YkdSR2FXSmxjaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOXNaRVpwWW1WeUlEMGdibVY0ZEU5c1pFWnBZbVZ5TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h6YUc5MWJHUlVjbUZqYTFOcFpHVkZabVpsWTNSektTQjdYRzRnSUNBZ0lDQWdJR2xtSUNodmJHUkdhV0psY2lBbUppQnVaWGRHYVdKbGNpNWhiSFJsY201aGRHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlhaU0J0WVhSamFHVmtJSFJvWlNCemJHOTBMQ0JpZFhRZ2QyVWdaR2xrYmlkMElISmxkWE5sSUhSb1pTQmxlR2x6ZEdsdVp5Qm1hV0psY2l3Z2MyOGdkMlZjYmlBZ0lDQWdJQ0FnSUNBdkx5QnVaV1ZrSUhSdklHUmxiR1YwWlNCMGFHVWdaWGhwYzNScGJtY2dZMmhwYkdRdVhHNGdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbFEyaHBiR1FvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JzWVhOMFVHeGhZMlZrU1c1a1pYZ2dQU0J3YkdGalpVTm9hV3hrS0c1bGQwWnBZbVZ5TENCc1lYTjBVR3hoWTJWa1NXNWtaWGdzSUc1bGQwbGtlQ2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHdjbVYyYVc5MWMwNWxkMFpwWW1WeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRTF2ZG1VZ2IzVjBJRzltSUhSb1pTQnNiMjl3TGlCVWFHbHpJRzl1YkhrZ2FHRndjR1Z1Y3lCbWIzSWdkR2hsSUdacGNuTjBJSEoxYmk1Y2JpQWdJQ0FnSUNBZ2NtVnpkV3gwYVc1blJtbHljM1JEYUdsc1pDQTlJRzVsZDBacFltVnlPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dSR1ZtWlhJZ2MybGliR2x1WjNNZ2FXWWdkMlVuY21VZ2JtOTBJR0YwSUhSb1pTQnlhV2RvZENCcGJtUmxlQ0JtYjNJZ2RHaHBjeUJ6Ykc5MExseHVJQ0FnSUNBZ0lDQXZMeUJKTG1VdUlHbG1JSGRsSUdoaFpDQnVkV3hzSUhaaGJIVmxjeUJpWldadmNtVXNJSFJvWlc0Z2QyVWdkMkZ1ZENCMGJ5QmtaV1psY2lCMGFHbHpYRzRnSUNBZ0lDQWdJQzh2SUdadmNpQmxZV05vSUc1MWJHd2dkbUZzZFdVdUlFaHZkMlYyWlhJc0lIZGxJR0ZzYzI4Z1pHOXVKM1FnZDJGdWRDQjBieUJqWVd4c0lIVndaR0YwWlZOc2IzUmNiaUFnSUNBZ0lDQWdMeThnZDJsMGFDQjBhR1VnY0hKbGRtbHZkWE1nYjI1bExseHVJQ0FnSUNBZ0lDQndjbVYyYVc5MWMwNWxkMFpwWW1WeUxuTnBZbXhwYm1jZ1BTQnVaWGRHYVdKbGNqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjSEpsZG1sdmRYTk9aWGRHYVdKbGNpQTlJRzVsZDBacFltVnlPMXh1SUNBZ0lDQWdiMnhrUm1saVpYSWdQU0J1WlhoMFQyeGtSbWxpWlhJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITjBaWEF1Wkc5dVpTa2dlMXh1SUNBZ0lDQWdMeThnVjJVbmRtVWdjbVZoWTJobFpDQjBhR1VnWlc1a0lHOW1JSFJvWlNCdVpYY2dZMmhwYkdSeVpXNHVJRmRsSUdOaGJpQmtaV3hsZEdVZ2RHaGxJSEpsYzNRdVhHNGdJQ0FnSUNCa1pXeGxkR1ZTWlcxaGFXNXBibWREYUdsc1pISmxiaWh5WlhSMWNtNUdhV0psY2l3Z2IyeGtSbWxpWlhJcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkR2x1WjBacGNuTjBRMmhwYkdRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHOXNaRVpwWW1WeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCb1lYWmxJR0Z1ZVNCdGIzSmxJR1Y0YVhOMGFXNW5JR05vYVd4a2NtVnVJSGRsSUdOaGJpQmphRzl2YzJVZ1lTQm1ZWE4wSUhCaGRHaGNiaUFnSUNBZ0lDOHZJSE5wYm1ObElIUm9aU0J5WlhOMElIZHBiR3dnWVd4c0lHSmxJR2x1YzJWeWRHbHZibk11WEc0Z0lDQWdJQ0JtYjNJZ0tEc2dJWE4wWlhBdVpHOXVaVHNnYm1WM1NXUjRLeXNzSUhOMFpYQWdQU0J1WlhkRGFHbHNaSEpsYmk1dVpYaDBLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl1WlhkR2FXSmxjak1nUFNCamNtVmhkR1ZEYUdsc1pDaHlaWFIxY201R2FXSmxjaXdnYzNSbGNDNTJZV3gxWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hmYm1WM1JtbGlaWEl6SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCc1lYTjBVR3hoWTJWa1NXNWtaWGdnUFNCd2JHRmpaVU5vYVd4a0tGOXVaWGRHYVdKbGNqTXNJR3hoYzNSUWJHRmpaV1JKYm1SbGVDd2dibVYzU1dSNEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2NISmxkbWx2ZFhOT1pYZEdhV0psY2lBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRTF2ZG1VZ2IzVjBJRzltSUhSb1pTQnNiMjl3TGlCVWFHbHpJRzl1YkhrZ2FHRndjR1Z1Y3lCbWIzSWdkR2hsSUdacGNuTjBJSEoxYmk1Y2JpQWdJQ0FnSUNBZ0lDQnlaWE4xYkhScGJtZEdhWEp6ZEVOb2FXeGtJRDBnWDI1bGQwWnBZbVZ5TXp0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQndjbVYyYVc5MWMwNWxkMFpwWW1WeUxuTnBZbXhwYm1jZ1BTQmZibVYzUm1saVpYSXpPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NISmxkbWx2ZFhOT1pYZEdhV0psY2lBOUlGOXVaWGRHYVdKbGNqTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhScGJtZEdhWEp6ZEVOb2FXeGtPMXh1SUNBZ0lIMGdMeThnUVdSa0lHRnNiQ0JqYUdsc1pISmxiaUIwYnlCaElHdGxlU0J0WVhBZ1ptOXlJSEYxYVdOcklHeHZiMnQxY0hNdVhHNWNibHh1SUNBZ0lIWmhjaUJsZUdsemRHbHVaME5vYVd4a2NtVnVJRDBnYldGd1VtVnRZV2x1YVc1blEyaHBiR1J5Wlc0b2NtVjBkWEp1Um1saVpYSXNJRzlzWkVacFltVnlLVHNnTHk4Z1MyVmxjQ0J6WTJGdWJtbHVaeUJoYm1RZ2RYTmxJSFJvWlNCdFlYQWdkRzhnY21WemRHOXlaU0JrWld4bGRHVmtJR2wwWlcxeklHRnpJRzF2ZG1WekxseHVYRzRnSUNBZ1ptOXlJQ2c3SUNGemRHVndMbVJ2Ym1VN0lHNWxkMGxrZUNzckxDQnpkR1Z3SUQwZ2JtVjNRMmhwYkdSeVpXNHVibVY0ZENncEtTQjdYRzRnSUNBZ0lDQjJZWElnWDI1bGQwWnBZbVZ5TkNBOUlIVndaR0YwWlVaeWIyMU5ZWEFvWlhocGMzUnBibWREYUdsc1pISmxiaXdnY21WMGRYSnVSbWxpWlhJc0lHNWxkMGxrZUN3Z2MzUmxjQzUyWVd4MVpTd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvWDI1bGQwWnBZbVZ5TkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJodmRXeGtWSEpoWTJ0VGFXUmxSV1ptWldOMGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGZibVYzUm1saVpYSTBMbUZzZEdWeWJtRjBaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVkdobElHNWxkeUJtYVdKbGNpQnBjeUJoSUhkdmNtc2dhVzRnY0hKdlozSmxjM01zSUdKMWRDQnBaaUIwYUdWeVpTQmxlR2x6ZEhNZ1lWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kzVnljbVZ1ZEN3Z2RHaGhkQ0J0WldGdWN5QjBhR0YwSUhkbElISmxkWE5sWkNCMGFHVWdabWxpWlhJdUlGZGxJRzVsWldRZ2RHOGdaR1ZzWlhSbFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCcGRDQm1jbTl0SUhSb1pTQmphR2xzWkNCc2FYTjBJSE52SUhSb1lYUWdkMlVnWkc5dUozUWdZV1JrSUdsMElIUnZJSFJvWlNCa1pXeGxkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsemRDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGFYTjBhVzVuUTJocGJHUnlaVzR1WkdWc1pYUmxLRjl1WlhkR2FXSmxjalF1YTJWNUlEMDlQU0J1ZFd4c0lEOGdibVYzU1dSNElEb2dYMjVsZDBacFltVnlOQzVyWlhrcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHeGhjM1JRYkdGalpXUkpibVJsZUNBOUlIQnNZV05sUTJocGJHUW9YMjVsZDBacFltVnlOQ3dnYkdGemRGQnNZV05sWkVsdVpHVjRMQ0J1WlhkSlpIZ3BPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHdjbVYyYVc5MWMwNWxkMFpwWW1WeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WemRXeDBhVzVuUm1seWMzUkRhR2xzWkNBOUlGOXVaWGRHYVdKbGNqUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnY0hKbGRtbHZkWE5PWlhkR2FXSmxjaTV6YVdKc2FXNW5JRDBnWDI1bGQwWnBZbVZ5TkR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEJ5WlhacGIzVnpUbVYzUm1saVpYSWdQU0JmYm1WM1JtbGlaWEkwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoemFHOTFiR1JVY21GamExTnBaR1ZGWm1abFkzUnpLU0I3WEc0Z0lDQWdJQ0F2THlCQmJua2daWGhwYzNScGJtY2dZMmhwYkdSeVpXNGdkR2hoZENCM1pYSmxiaWQwSUdOdmJuTjFiV1ZrSUdGaWIzWmxJSGRsY21VZ1pHVnNaWFJsWkM0Z1YyVWdibVZsWkZ4dUlDQWdJQ0FnTHk4Z2RHOGdZV1JrSUhSb1pXMGdkRzhnZEdobElHUmxiR1YwYVc5dUlHeHBjM1F1WEc0Z0lDQWdJQ0JsZUdsemRHbHVaME5vYVd4a2NtVnVMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR05vYVd4a0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaV3hsZEdWRGFHbHNaQ2h5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1FwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2RHbHVaMFpwY25OMFEyaHBiR1E3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCeVpXTnZibU5wYkdWVGFXNW5iR1ZVWlhoMFRtOWtaU2h5WlhSMWNtNUdhV0psY2l3Z1kzVnljbVZ1ZEVacGNuTjBRMmhwYkdRc0lIUmxlSFJEYjI1MFpXNTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDOHZJRlJvWlhKbEozTWdibThnYm1WbFpDQjBieUJqYUdWamF5Qm1iM0lnYTJWNWN5QnZiaUIwWlhoMElHNXZaR1Z6SUhOcGJtTmxJSGRsSUdSdmJpZDBJR2hoZG1VZ1lWeHVJQ0FnSUM4dklIZGhlU0IwYnlCa1pXWnBibVVnZEdobGJTNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRFWnBjbk4wUTJocGJHUWdJVDA5SUc1MWJHd2dKaVlnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1F1ZEdGbklEMDlQU0JJYjNOMFZHVjRkQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVWdZV3h5WldGa2VTQm9ZWFpsSUdGdUlHVjRhWE4wYVc1bklHNXZaR1VnYzI4Z2JHVjBKM01nYW5WemRDQjFjR1JoZEdVZ2FYUWdZVzVrSUdSbGJHVjBaVnh1SUNBZ0lDQWdMeThnZEdobElISmxjM1F1WEc0Z0lDQWdJQ0JrWld4bGRHVlNaVzFoYVc1cGJtZERhR2xzWkhKbGJpaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1F1YzJsaWJHbHVaeWs3WEc0Z0lDQWdJQ0IyWVhJZ1pYaHBjM1JwYm1jZ1BTQjFjMlZHYVdKbGNpaGpkWEp5Wlc1MFJtbHljM1JEYUdsc1pDd2dkR1Y0ZEVOdmJuUmxiblFwTzF4dUlDQWdJQ0FnWlhocGMzUnBibWN1Y21WMGRYSnVJRDBnY21WMGRYSnVSbWxpWlhJN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWlhocGMzUnBibWM3WEc0Z0lDQWdmU0F2THlCVWFHVWdaWGhwYzNScGJtY2dabWx5YzNRZ1kyaHBiR1FnYVhNZ2JtOTBJR0VnZEdWNGRDQnViMlJsSUhOdklIZGxJRzVsWldRZ2RHOGdZM0psWVhSbElHOXVaVnh1SUNBZ0lDOHZJR0Z1WkNCa1pXeGxkR1VnZEdobElHVjRhWE4wYVc1bklHOXVaWE11WEc1Y2JseHVJQ0FnSUdSbGJHVjBaVkpsYldGcGJtbHVaME5vYVd4a2NtVnVLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkNrN1hHNGdJQ0FnZG1GeUlHTnlaV0YwWldRZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxVVpYaDBLSFJsZUhSRGIyNTBaVzUwTENCeVpYUjFjbTVHYVdKbGNpNXRiMlJsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdZM0psWVhSbFpDNXlaWFIxY200Z1BTQnlaWFIxY201R2FXSmxjanRjYmlBZ0lDQnlaWFIxY200Z1kzSmxZWFJsWkR0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlISmxZMjl1WTJsc1pWTnBibWRzWlVWc1pXMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHTjFjbkpsYm5SR2FYSnpkRU5vYVd4a0xDQmxiR1Z0Wlc1MExDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUhaaGNpQnJaWGtnUFNCbGJHVnRaVzUwTG10bGVUdGNiaUFnSUNCMllYSWdZMmhwYkdRZ1BTQmpkWEp5Wlc1MFJtbHljM1JEYUdsc1pEdGNibHh1SUNBZ0lIZG9hV3hsSUNoamFHbHNaQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZFOUVUem9nU1dZZ2EyVjVJRDA5UFNCdWRXeHNJR0Z1WkNCamFHbHNaQzVyWlhrZ1BUMDlJRzUxYkd3c0lIUm9aVzRnZEdocGN5QnZibXg1SUdGd2NHeHBaWE1nZEc5Y2JpQWdJQ0FnSUM4dklIUm9aU0JtYVhKemRDQnBkR1Z0SUdsdUlIUm9aU0JzYVhOMExseHVJQ0FnSUNBZ2FXWWdLR05vYVd4a0xtdGxlU0E5UFQwZ2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvWTJocGJHUXVkR0ZuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCR2NtRm5iV1Z1ZERwY2JpQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWc1pXMWxiblF1ZEhsd1pTQTlQVDBnVWtWQlExUmZSbEpCUjAxRlRsUmZWRmxRUlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxiR1YwWlZKbGJXRnBibWx1WjBOb2FXeGtjbVZ1S0hKbGRIVnlia1pwWW1WeUxDQmphR2xzWkM1emFXSnNhVzVuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdaWGhwYzNScGJtY2dQU0IxYzJWR2FXSmxjaWhqYUdsc1pDd2daV3hsYldWdWRDNXdjbTl3Y3k1amFHbHNaSEpsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYaHBjM1JwYm1jdWNtVjBkWEp1SUQwZ2NtVjBkWEp1Um1saVpYSTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGVHbHpkR2x1Wnk1ZlpHVmlkV2RUYjNWeVkyVWdQU0JsYkdWdFpXNTBMbDl6YjNWeVkyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsZUdsemRHbHVaeTVmWkdWaWRXZFBkMjVsY2lBOUlHVnNaVzFsYm5RdVgyOTNibVZ5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGVHbHpkR2x1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQkNiRzlqYXpwY2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHbHVkR1Z1ZEdsdmJtRnNiSGtnWm1Gc2JIUm9jbTkxWjJnZ2FHVnlaU0JwWmlCbGJtRmliR1ZDYkc5amEzTkJVRWtnYVhNZ2JtOTBJRzl1TGx4dUlDQWdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpXUWdibTh0Wm1Gc2JIUm9jbTkxWjJoY2JseHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGphR2xzWkM1bGJHVnRaVzUwVkhsd1pTQTlQVDBnWld4bGJXVnVkQzUwZVhCbElIeDhJQ2dnTHk4Z1MyVmxjQ0IwYUdseklHTm9aV05ySUdsdWJHbHVaU0J6YnlCcGRDQnZibXg1SUhKMWJuTWdiMjRnZEdobElHWmhiSE5sSUhCaGRHZzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjME52YlhCaGRHbGliR1ZHWVcxcGJIbEdiM0pJYjNSU1pXeHZZV1JwYm1jb1kyaHBiR1FzSUdWc1pXMWxiblFwSUNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWU1pXMWhhVzVwYm1kRGFHbHNaSEpsYmloeVpYUjFjbTVHYVdKbGNpd2dZMmhwYkdRdWMybGliR2x1WnlrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnWDJWNGFYTjBhVzVuTXlBOUlIVnpaVVpwWW1WeUtHTm9hV3hrTENCbGJHVnRaVzUwTG5CeWIzQnpLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUY5bGVHbHpkR2x1WnpNdWNtVm1JRDBnWTI5bGNtTmxVbVZtS0hKbGRIVnlia1pwWW1WeUxDQmphR2xzWkN3Z1pXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1gyVjRhWE4wYVc1bk15NXlaWFIxY200Z1BTQnlaWFIxY201R2FXSmxjanRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGOWxlR2x6ZEdsdVp6TXVYMlJsWW5WblUyOTFjbU5sSUQwZ1pXeGxiV1Z1ZEM1ZmMyOTFjbU5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1gyVjRhWE4wYVc1bk15NWZaR1ZpZFdkUGQyNWxjaUE5SUdWc1pXMWxiblF1WDI5M2JtVnlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJmWlhocGMzUnBibWN6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdMeThnUkdsa2JpZDBJRzFoZEdOb0xseHVYRzVjYmlBZ0lDQWdJQ0FnWkdWc1pYUmxVbVZ0WVdsdWFXNW5RMmhwYkdSeVpXNG9jbVYwZFhKdVJtbGlaWElzSUdOb2FXeGtLVHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmtaV3hsZEdWRGFHbHNaQ2h5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1FwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamFHbHNaQ0E5SUdOb2FXeGtMbk5wWW14cGJtYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1ZzWlcxbGJuUXVkSGx3WlNBOVBUMGdVa1ZCUTFSZlJsSkJSMDFGVGxSZlZGbFFSU2tnZTF4dUlDQWdJQ0FnZG1GeUlHTnlaV0YwWldRZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxR2NtRm5iV1Z1ZENobGJHVnRaVzUwTG5CeWIzQnpMbU5vYVd4a2NtVnVMQ0J5WlhSMWNtNUdhV0psY2k1dGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2daV3hsYldWdWRDNXJaWGtwTzF4dUlDQWdJQ0FnWTNKbFlYUmxaQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVmtPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMllYSWdYMk55WldGMFpXUTBJRDBnWTNKbFlYUmxSbWxpWlhKR2NtOXRSV3hsYldWdWRDaGxiR1Z0Wlc1MExDQnlaWFIxY201R2FXSmxjaTV0YjJSbExDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNWNiaUFnSUNBZ0lGOWpjbVZoZEdWa05DNXlaV1lnUFNCamIyVnlZMlZTWldZb2NtVjBkWEp1Um1saVpYSXNJR04xY25KbGJuUkdhWEp6ZEVOb2FXeGtMQ0JsYkdWdFpXNTBLVHRjYmlBZ0lDQWdJRjlqY21WaGRHVmtOQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUhKbGRIVnliaUJmWTNKbFlYUmxaRFE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnY21WamIyNWphV3hsVTJsdVoyeGxVRzl5ZEdGc0tISmxkSFZ5YmtacFltVnlMQ0JqZFhKeVpXNTBSbWx5YzNSRGFHbHNaQ3dnY0c5eWRHRnNMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lIWmhjaUJyWlhrZ1BTQndiM0owWVd3dWEyVjVPMXh1SUNBZ0lIWmhjaUJqYUdsc1pDQTlJR04xY25KbGJuUkdhWEp6ZEVOb2FXeGtPMXh1WEc0Z0lDQWdkMmhwYkdVZ0tHTm9hV3hrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCSlppQnJaWGtnUFQwOUlHNTFiR3dnWVc1a0lHTm9hV3hrTG10bGVTQTlQVDBnYm5Wc2JDd2dkR2hsYmlCMGFHbHpJRzl1YkhrZ1lYQndiR2xsY3lCMGIxeHVJQ0FnSUNBZ0x5OGdkR2hsSUdacGNuTjBJR2wwWlcwZ2FXNGdkR2hsSUd4cGMzUXVYRzRnSUNBZ0lDQnBaaUFvWTJocGJHUXVhMlY1SUQwOVBTQnJaWGtwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05vYVd4a0xuUmhaeUE5UFQwZ1NHOXpkRkJ2Y25SaGJDQW1KaUJqYUdsc1pDNXpkR0YwWlU1dlpHVXVZMjl1ZEdGcGJtVnlTVzVtYnlBOVBUMGdjRzl5ZEdGc0xtTnZiblJoYVc1bGNrbHVabThnSmlZZ1kyaHBiR1F1YzNSaGRHVk9iMlJsTG1sdGNHeGxiV1Z1ZEdGMGFXOXVJRDA5UFNCd2IzSjBZV3d1YVcxd2JHVnRaVzUwWVhScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZTWlcxaGFXNXBibWREYUdsc1pISmxiaWh5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1F1YzJsaWJHbHVaeWs3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR1Y0YVhOMGFXNW5JRDBnZFhObFJtbGlaWElvWTJocGJHUXNJSEJ2Y25SaGJDNWphR2xzWkhKbGJpQjhmQ0JiWFNrN1hHNGdJQ0FnSUNBZ0lDQWdaWGhwYzNScGJtY3VjbVYwZFhKdUlEMGdjbVYwZFhKdVJtbGlaWEk3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdWNGFYTjBhVzVuTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHUmxiR1YwWlZKbGJXRnBibWx1WjBOb2FXeGtjbVZ1S0hKbGRIVnlia1pwWW1WeUxDQmphR2xzWkNrN1hHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHUmxiR1YwWlVOb2FXeGtLSEpsZEhWeWJrWnBZbVZ5TENCamFHbHNaQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOb2FXeGtJRDBnWTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZM0psWVhSbFpDQTlJR055WldGMFpVWnBZbVZ5Um5KdmJWQnZjblJoYkNod2IzSjBZV3dzSUhKbGRIVnlia1pwWW1WeUxtMXZaR1VzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQmpjbVZoZEdWa0xuSmxkSFZ5YmlBOUlISmxkSFZ5YmtacFltVnlPMXh1SUNBZ0lISmxkSFZ5YmlCamNtVmhkR1ZrTzF4dUlDQjlJQzh2SUZSb2FYTWdRVkJKSUhkcGJHd2dkR0ZuSUhSb1pTQmphR2xzWkhKbGJpQjNhWFJvSUhSb1pTQnphV1JsTFdWbVptVmpkQ0J2WmlCMGFHVWdjbVZqYjI1amFXeHBZWFJwYjI1Y2JpQWdMeThnYVhSelpXeG1MaUJVYUdWNUlIZHBiR3dnWW1VZ1lXUmtaV1FnZEc4Z2RHaGxJSE5wWkdVdFpXWm1aV04wSUd4cGMzUWdZWE1nZDJVZ2NHRnpjeUIwYUhKdmRXZG9JSFJvWlZ4dUlDQXZMeUJqYUdsc1pISmxiaUJoYm1RZ2RHaGxJSEJoY21WdWRDNWNibHh1WEc0Z0lHWjFibU4wYVc5dUlISmxZMjl1WTJsc1pVTm9hV3hrUm1saVpYSnpLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkN3Z2JtVjNRMmhwYkdRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCdWIzUWdjbVZqZFhKemFYWmxMbHh1SUNBZ0lDOHZJRWxtSUhSb1pTQjBiM0FnYkdWMlpXd2dhWFJsYlNCcGN5QmhiaUJoY25KaGVTd2dkMlVnZEhKbFlYUWdhWFFnWVhNZ1lTQnpaWFFnYjJZZ1kyaHBiR1J5Wlc0c1hHNGdJQ0FnTHk4Z2JtOTBJR0Z6SUdFZ1puSmhaMjFsYm5RdUlFNWxjM1JsWkNCaGNuSmhlWE1nYjI0Z2RHaGxJRzkwYUdWeUlHaGhibVFnZDJsc2JDQmlaU0IwY21WaGRHVmtJR0Z6WEc0Z0lDQWdMeThnWm5KaFoyMWxiblFnYm05a1pYTXVJRkpsWTNWeWMybHZiaUJvWVhCd1pXNXpJR0YwSUhSb1pTQnViM0p0WVd3Z1pteHZkeTVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdkRzl3SUd4bGRtVnNJSFZ1YTJWNVpXUWdabkpoWjIxbGJuUnpJR0Z6SUdsbUlIUm9aWGtnZDJWeVpTQmhjbkpoZVhNdVhHNGdJQ0FnTHk4Z1ZHaHBjeUJzWldGa2N5QjBieUJoYmlCaGJXSnBaM1ZwZEhrZ1ltVjBkMlZsYmlBOFBudGJMaTR1WFgwOEx6NGdZVzVrSUR3K0xpNHVQQzgrTGx4dUlDQWdJQzh2SUZkbElIUnlaV0YwSUhSb1pTQmhiV0pwWjNWdmRYTWdZMkZ6WlhNZ1lXSnZkbVVnZEdobElITmhiV1V1WEc0Z0lDQWdkbUZ5SUdselZXNXJaWGxsWkZSdmNFeGxkbVZzUm5KaFoyMWxiblFnUFNCMGVYQmxiMllnYm1WM1EyaHBiR1FnUFQwOUlDZHZZbXBsWTNRbklDWW1JRzVsZDBOb2FXeGtJQ0U5UFNCdWRXeHNJQ1ltSUc1bGQwTm9hV3hrTG5SNWNHVWdQVDA5SUZKRlFVTlVYMFpTUVVkTlJVNVVYMVJaVUVVZ0ppWWdibVYzUTJocGJHUXVhMlY1SUQwOVBTQnVkV3hzTzF4dVhHNGdJQ0FnYVdZZ0tHbHpWVzVyWlhsbFpGUnZjRXhsZG1Wc1JuSmhaMjFsYm5RcElIdGNiaUFnSUNBZ0lHNWxkME5vYVd4a0lEMGdibVYzUTJocGJHUXVjSEp2Y0hNdVkyaHBiR1J5Wlc0N1hHNGdJQ0FnZlNBdkx5QklZVzVrYkdVZ2IySnFaV04wSUhSNWNHVnpYRzVjYmx4dUlDQWdJSFpoY2lCcGMwOWlhbVZqZENBOUlIUjVjR1Z2WmlCdVpYZERhR2xzWkNBOVBUMGdKMjlpYW1WamRDY2dKaVlnYm1WM1EyaHBiR1FnSVQwOUlHNTFiR3c3WEc1Y2JpQWdJQ0JwWmlBb2FYTlBZbXBsWTNRcElIdGNiaUFnSUNBZ0lITjNhWFJqYUNBb2JtVjNRMmhwYkdRdUpDUjBlWEJsYjJZcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQnNZV05sVTJsdVoyeGxRMmhwYkdRb2NtVmpiMjVqYVd4bFUybHVaMnhsUld4bGJXVnVkQ2h5WlhSMWNtNUdhV0psY2l3Z1kzVnljbVZ1ZEVacGNuTjBRMmhwYkdRc0lHNWxkME5vYVd4a0xDQmxlSEJwY21GMGFXOXVWR2x0WlNrcE8xeHVYRzRnSUNBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmVUU5U1ZFRk1YMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQnNZV05sVTJsdVoyeGxRMmhwYkdRb2NtVmpiMjVqYVd4bFUybHVaMnhsVUc5eWRHRnNLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkN3Z2JtVjNRMmhwYkdRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVpYZERhR2xzWkNBOVBUMGdKM04wY21sdVp5Y2dmSHdnZEhsd1pXOW1JRzVsZDBOb2FXeGtJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhCc1lXTmxVMmx1WjJ4bFEyaHBiR1FvY21WamIyNWphV3hsVTJsdVoyeGxWR1Y0ZEU1dlpHVW9jbVYwZFhKdVJtbGlaWElzSUdOMWNuSmxiblJHYVhKemRFTm9hV3hrTENBbkp5QXJJRzVsZDBOb2FXeGtMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hwYzBGeWNtRjVKREVvYm1WM1EyaHBiR1FwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21WamIyNWphV3hsUTJocGJHUnlaVzVCY25KaGVTaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1FzSUc1bGQwTm9hV3hrTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dkbGRFbDBaWEpoZEc5eVJtNG9ibVYzUTJocGJHUXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNUpkR1Z5WVhSdmNpaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1FzSUc1bGQwTm9hV3hrTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dselQySnFaV04wS1NCN1hHNGdJQ0FnSUNCMGFISnZkMDl1U1c1MllXeHBaRTlpYW1WamRGUjVjR1VvY21WMGRYSnVSbWxpWlhJc0lHNWxkME5vYVd4a0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lIZGhjbTVQYmtaMWJtTjBhVzl1Vkhsd1pTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibVYzUTJocGJHUWdQVDA5SUNkMWJtUmxabWx1WldRbklDWW1JQ0ZwYzFWdWEyVjVaV1JVYjNCTVpYWmxiRVp5WVdkdFpXNTBLU0I3WEc0Z0lDQWdJQ0F2THlCSlppQjBhR1VnYm1WM0lHTm9hV3hrSUdseklIVnVaR1ZtYVc1bFpDd2dZVzVrSUhSb1pTQnlaWFIxY200Z1ptbGlaWElnYVhNZ1lTQmpiMjF3YjNOcGRHVmNiaUFnSUNBZ0lDOHZJR052YlhCdmJtVnVkQ3dnZEdoeWIzY2dZVzRnWlhKeWIzSXVJRWxtSUVacFltVnlJSEpsZEhWeWJpQjBlWEJsY3lCaGNtVWdaR2x6WVdKc1pXUXNYRzRnSUNBZ0lDQXZMeUIzWlNCaGJISmxZV1I1SUhSb2NtVjNJR0ZpYjNabExseHVJQ0FnSUNBZ2MzZHBkR05vSUNoeVpYUjFjbTVHYVdKbGNpNTBZV2NwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JEYkdGemMwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUhKbGRIVnlia1pwWW1WeUxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVc1emRHRnVZMlV1Y21WdVpHVnlMbDlwYzAxdlkydEdkVzVqZEdsdmJpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHRnNiRzkzSUdGMWRHOHRiVzlqYTNNZ2RHOGdjSEp2WTJWbFpDQmhjeUJwWmlCMGFHVjVKM0psSUhKbGRIVnlibWx1WnlCdWRXeHNMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZMeUJKYm5SbGJuUnBiMjVoYkd4NUlHWmhiR3dnZEdoeWIzVm5hQ0IwYnlCMGFHVWdibVY0ZENCallYTmxMQ0IzYUdsamFDQm9ZVzVrYkdWeklHSnZkR2hjYmlBZ0lDQWdJQ0FnTHk4Z1puVnVZM1JwYjI1eklHRnVaQ0JqYkdGemMyVnpYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaV1FnYm04dFptRnNiSFJvY205MVoyaGNibHh1SUNBZ0lDQWdJQ0JqWVhObElFWjFibU4wYVc5dVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJEYjIxd2IyNWxiblFnUFNCeVpYUjFjbTVHYVdKbGNpNTBlWEJsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ0tFTnZiWEJ2Ym1WdWRDNWthWE53YkdGNVRtRnRaU0I4ZkNCRGIyMXdiMjVsYm5RdWJtRnRaU0I4ZkNBblEyOXRjRzl1Wlc1MEp5a2dLeUJjSWlndUxpNHBPaUJPYjNSb2FXNW5JSGRoY3lCeVpYUjFjbTVsWkNCbWNtOXRJSEpsYm1SbGNpNGdWR2hwY3lCMWMzVmhiR3g1SUcxbFlXNXpJR0VnY21WMGRYSnVJSE4wWVhSbGJXVnVkQ0JwY3lCdGFYTnphVzVuTGlCUGNpd2dkRzhnY21WdVpHVnlJRzV2ZEdocGJtY3NJSEpsZEhWeWJpQnVkV3hzTGx3aUlDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQXZMeUJTWlcxaGFXNXBibWNnWTJGelpYTWdZWEpsSUdGc2JDQjBjbVZoZEdWa0lHRnpJR1Z0Y0hSNUxseHVYRzVjYmlBZ0lDQnlaWFIxY200Z1pHVnNaWFJsVW1WdFlXbHVhVzVuUTJocGJHUnlaVzRvY21WMGRYSnVSbWxpWlhJc0lHTjFjbkpsYm5SR2FYSnpkRU5vYVd4a0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnlaV052Ym1OcGJHVkRhR2xzWkVacFltVnljenRjYm4xY2JseHVkbUZ5SUhKbFkyOXVZMmxzWlVOb2FXeGtSbWxpWlhKeklEMGdRMmhwYkdSU1pXTnZibU5wYkdWeUtIUnlkV1VwTzF4dWRtRnlJRzF2ZFc1MFEyaHBiR1JHYVdKbGNuTWdQU0JEYUdsc1pGSmxZMjl1WTJsc1pYSW9abUZzYzJVcE8xeHVablZ1WTNScGIyNGdZMnh2Ym1WRGFHbHNaRVpwWW1WeWN5aGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrZ2UxeHVJQ0JwWmlBb0lTaGpkWEp5Wlc1MElEMDlQU0J1ZFd4c0lIeDhJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwOVBTQmpkWEp5Wlc1MExtTm9hV3hrS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbEpsYzNWdGFXNW5JSGR2Y21zZ2JtOTBJSGxsZENCcGJYQnNaVzFsYm5SbFpDNWNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCamRYSnlaVzUwUTJocGJHUWdQU0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkR0Y2JpQWdkbUZ5SUc1bGQwTm9hV3hrSUQwZ1kzSmxZWFJsVjI5eWEwbHVVSEp2WjNKbGMzTW9ZM1Z5Y21WdWRFTm9hV3hrTENCamRYSnlaVzUwUTJocGJHUXVjR1Z1WkdsdVoxQnliM0J6S1R0Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCdVpYZERhR2xzWkR0Y2JpQWdibVYzUTJocGJHUXVjbVYwZFhKdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNWNiaUFnZDJocGJHVWdLR04xY25KbGJuUkRhR2xzWkM1emFXSnNhVzVuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWTNWeWNtVnVkRU5vYVd4a0lEMGdZM1Z5Y21WdWRFTm9hV3hrTG5OcFlteHBibWM3WEc0Z0lDQWdibVYzUTJocGJHUWdQU0J1WlhkRGFHbHNaQzV6YVdKc2FXNW5JRDBnWTNKbFlYUmxWMjl5YTBsdVVISnZaM0psYzNNb1kzVnljbVZ1ZEVOb2FXeGtMQ0JqZFhKeVpXNTBRMmhwYkdRdWNHVnVaR2x1WjFCeWIzQnpLVHRjYmlBZ0lDQnVaWGREYUdsc1pDNXlaWFIxY200Z1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdmVnh1WEc0Z0lHNWxkME5vYVd4a0xuTnBZbXhwYm1jZ1BTQnVkV3hzTzF4dWZTQXZMeUJTWlhObGRDQmhJSGR2Y210SmJsQnliMmR5WlhOeklHTm9hV3hrSUhObGRDQjBieUJ3Y21Wd1lYSmxJR2wwSUdadmNpQmhJSE5sWTI5dVpDQndZWE56TGx4dVhHNW1kVzVqZEdsdmJpQnlaWE5sZEVOb2FXeGtSbWxpWlhKektIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCMllYSWdZMmhwYkdRZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaRHRjYmx4dUlDQjNhR2xzWlNBb1kyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhObGRGZHZjbXRKYmxCeWIyZHlaWE56S0dOb2FXeGtMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnWTJocGJHUWdQU0JqYUdsc1pDNXphV0pzYVc1bk8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCT1QxOURUMDVVUlZoVUlEMGdlMzA3WEc1MllYSWdZMjl1ZEdWNGRGTjBZV05yUTNWeWMyOXlKREVnUFNCamNtVmhkR1ZEZFhKemIzSW9UazlmUTA5T1ZFVllWQ2s3WEc1MllYSWdZMjl1ZEdWNGRFWnBZbVZ5VTNSaFkydERkWEp6YjNJZ1BTQmpjbVZoZEdWRGRYSnpiM0lvVGs5ZlEwOU9WRVZZVkNrN1hHNTJZWElnY205dmRFbHVjM1JoYm1ObFUzUmhZMnREZFhKemIzSWdQU0JqY21WaGRHVkRkWEp6YjNJb1RrOWZRMDlPVkVWWVZDazdYRzVjYm1aMWJtTjBhVzl1SUhKbGNYVnBjbVZrUTI5dWRHVjRkQ2hqS1NCN1hHNGdJR2xtSUNnaEtHTWdJVDA5SUU1UFgwTlBUbFJGV0ZRcEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpUlhod1pXTjBaV1FnYUc5emRDQmpiMjUwWlhoMElIUnZJR1Y0YVhOMExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHTTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRkp2YjNSSWIzTjBRMjl1ZEdGcGJtVnlLQ2tnZTF4dUlDQjJZWElnY205dmRFbHVjM1JoYm1ObElEMGdjbVZ4ZFdseVpXUkRiMjUwWlhoMEtISnZiM1JKYm5OMFlXNWpaVk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFwTzF4dUlDQnlaWFIxY200Z2NtOXZkRWx1YzNSaGJtTmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndkWE5vU0c5emRFTnZiblJoYVc1bGNpaG1hV0psY2l3Z2JtVjRkRkp2YjNSSmJuTjBZVzVqWlNrZ2UxeHVJQ0F2THlCUWRYTm9JR04xY25KbGJuUWdjbTl2ZENCcGJuTjBZVzVqWlNCdmJuUnZJSFJvWlNCemRHRmphenRjYmlBZ0x5OGdWR2hwY3lCaGJHeHZkM01nZFhNZ2RHOGdjbVZ6WlhRZ2NtOXZkQ0IzYUdWdUlIQnZjblJoYkhNZ1lYSmxJSEJ2Y0hCbFpDNWNiaUFnY0hWemFDaHliMjkwU1c1emRHRnVZMlZUZEdGamEwTjFjbk52Y2l3Z2JtVjRkRkp2YjNSSmJuTjBZVzVqWlN3Z1ptbGlaWElwT3lBdkx5QlVjbUZqYXlCMGFHVWdZMjl1ZEdWNGRDQmhibVFnZEdobElFWnBZbVZ5SUhSb1lYUWdjSEp2ZG1sa1pXUWdhWFF1WEc0Z0lDOHZJRlJvYVhNZ1pXNWhZbXhsY3lCMWN5QjBieUJ3YjNBZ2IyNXNlU0JHYVdKbGNuTWdkR2hoZENCd2NtOTJhV1JsSUhWdWFYRjFaU0JqYjI1MFpYaDBjeTVjYmx4dUlDQndkWE5vS0dOdmJuUmxlSFJHYVdKbGNsTjBZV05yUTNWeWMyOXlMQ0JtYVdKbGNpd2dabWxpWlhJcE95QXZMeUJHYVc1aGJHeDVMQ0IzWlNCdVpXVmtJSFJ2SUhCMWMyZ2dkR2hsSUdodmMzUWdZMjl1ZEdWNGRDQjBieUIwYUdVZ2MzUmhZMnN1WEc0Z0lDOHZJRWh2ZDJWMlpYSXNJSGRsSUdOaGJpZDBJR3AxYzNRZ1kyRnNiQ0JuWlhSU2IyOTBTRzl6ZEVOdmJuUmxlSFFvS1NCaGJtUWdjSFZ6YUNCcGRDQmlaV05oZFhObFhHNGdJQzh2SUhkbEoyUWdhR0YyWlNCaElHUnBabVpsY21WdWRDQnVkVzFpWlhJZ2IyWWdaVzUwY21sbGN5QnZiaUIwYUdVZ2MzUmhZMnNnWkdWd1pXNWthVzVuSUc5dVhHNGdJQzh2SUhkb1pYUm9aWElnWjJWMFVtOXZkRWh2YzNSRGIyNTBaWGgwS0NrZ2RHaHliM2R6SUhOdmJXVjNhR1Z5WlNCcGJpQnlaVzVrWlhKbGNpQmpiMlJsSUc5eUlHNXZkQzVjYmlBZ0x5OGdVMjhnZDJVZ2NIVnphQ0JoYmlCbGJYQjBlU0IyWVd4MVpTQm1hWEp6ZEM0Z1ZHaHBjeUJzWlhSeklIVnpJSE5oWm1Wc2VTQjFibmRwYm1RZ2IyNGdaWEp5YjNKekxseHVYRzRnSUhCMWMyZ29ZMjl1ZEdWNGRGTjBZV05yUTNWeWMyOXlKREVzSUU1UFgwTlBUbFJGV0ZRc0lHWnBZbVZ5S1R0Y2JpQWdkbUZ5SUc1bGVIUlNiMjkwUTI5dWRHVjRkQ0E5SUdkbGRGSnZiM1JJYjNOMFEyOXVkR1Y0ZENodVpYaDBVbTl2ZEVsdWMzUmhibU5sS1RzZ0x5OGdUbTkzSUhSb1lYUWdkMlVnYTI1dmR5QjBhR2x6SUdaMWJtTjBhVzl1SUdSdlpYTnVKM1FnZEdoeWIzY3NJSEpsY0d4aFkyVWdhWFF1WEc1Y2JpQWdjRzl3S0dOdmJuUmxlSFJUZEdGamEwTjFjbk52Y2lReExDQm1hV0psY2lrN1hHNGdJSEIxYzJnb1kyOXVkR1Y0ZEZOMFlXTnJRM1Z5YzI5eUpERXNJRzVsZUhSU2IyOTBRMjl1ZEdWNGRDd2dabWxpWlhJcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2IzQkliM04wUTI5dWRHRnBibVZ5S0dacFltVnlLU0I3WEc0Z0lIQnZjQ2hqYjI1MFpYaDBVM1JoWTJ0RGRYSnpiM0lrTVN3Z1ptbGlaWElwTzF4dUlDQndiM0FvWTI5dWRHVjRkRVpwWW1WeVUzUmhZMnREZFhKemIzSXNJR1pwWW1WeUtUdGNiaUFnY0c5d0tISnZiM1JKYm5OMFlXNWpaVk4wWVdOclEzVnljMjl5TENCbWFXSmxjaWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUkRiMjUwWlhoMEtDa2dlMXh1SUNCMllYSWdZMjl1ZEdWNGRDQTlJSEpsY1hWcGNtVmtRMjl1ZEdWNGRDaGpiMjUwWlhoMFUzUmhZMnREZFhKemIzSWtNUzVqZFhKeVpXNTBLVHRjYmlBZ2NtVjBkWEp1SUdOdmJuUmxlSFE3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEIxYzJoSWIzTjBRMjl1ZEdWNGRDaG1hV0psY2lrZ2UxeHVJQ0IyWVhJZ2NtOXZkRWx1YzNSaGJtTmxJRDBnY21WeGRXbHlaV1JEYjI1MFpYaDBLSEp2YjNSSmJuTjBZVzVqWlZOMFlXTnJRM1Z5YzI5eUxtTjFjbkpsYm5RcE8xeHVJQ0IyWVhJZ1kyOXVkR1Y0ZENBOUlISmxjWFZwY21Wa1EyOXVkR1Y0ZENoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJa01TNWpkWEp5Wlc1MEtUdGNiaUFnZG1GeUlHNWxlSFJEYjI1MFpYaDBJRDBnWjJWMFEyaHBiR1JJYjNOMFEyOXVkR1Y0ZENoamIyNTBaWGgwTENCbWFXSmxjaTUwZVhCbEtUc2dMeThnUkc5dUozUWdjSFZ6YUNCMGFHbHpJRVpwWW1WeUozTWdZMjl1ZEdWNGRDQjFibXhsYzNNZ2FYUW5jeUIxYm1seGRXVXVYRzVjYmlBZ2FXWWdLR052Ym5SbGVIUWdQVDA5SUc1bGVIUkRiMjUwWlhoMEtTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlJQzh2SUZSeVlXTnJJSFJvWlNCamIyNTBaWGgwSUdGdVpDQjBhR1VnUm1saVpYSWdkR2hoZENCd2NtOTJhV1JsWkNCcGRDNWNiaUFnTHk4Z1ZHaHBjeUJsYm1GaWJHVnpJSFZ6SUhSdklIQnZjQ0J2Ym14NUlFWnBZbVZ5Y3lCMGFHRjBJSEJ5YjNacFpHVWdkVzVwY1hWbElHTnZiblJsZUhSekxseHVYRzVjYmlBZ2NIVnphQ2hqYjI1MFpYaDBSbWxpWlhKVGRHRmphME4xY25OdmNpd2dabWxpWlhJc0lHWnBZbVZ5S1R0Y2JpQWdjSFZ6YUNoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJa01Td2dibVY0ZEVOdmJuUmxlSFFzSUdacFltVnlLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjRzl3U0c5emRFTnZiblJsZUhRb1ptbGlaWElwSUh0Y2JpQWdMeThnUkc4Z2JtOTBJSEJ2Y0NCMWJteGxjM01nZEdocGN5QkdhV0psY2lCd2NtOTJhV1JsWkNCMGFHVWdZM1Z5Y21WdWRDQmpiMjUwWlhoMExseHVJQ0F2THlCd2RYTm9TRzl6ZEVOdmJuUmxlSFFvS1NCdmJteDVJSEIxYzJobGN5QkdhV0psY25NZ2RHaGhkQ0J3Y205MmFXUmxJSFZ1YVhGMVpTQmpiMjUwWlhoMGN5NWNiaUFnYVdZZ0tHTnZiblJsZUhSR2FXSmxjbE4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFnSVQwOUlHWnBZbVZ5S1NCN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnY0c5d0tHTnZiblJsZUhSVGRHRmphME4xY25OdmNpUXhMQ0JtYVdKbGNpazdYRzRnSUhCdmNDaGpiMjUwWlhoMFJtbGlaWEpUZEdGamEwTjFjbk52Y2l3Z1ptbGlaWElwTzF4dWZWeHVYRzUyWVhJZ1JHVm1ZWFZzZEZOMWMzQmxibk5sUTI5dWRHVjRkQ0E5SURBN0lDOHZJRlJvWlNCVGRYTndaVzV6WlNCRGIyNTBaWGgwSUdseklITndiR2wwSUdsdWRHOGdkSGR2SUhCaGNuUnpMaUJVYUdVZ2JHOTNaWElnWW1sMGN5QnBjMXh1THk4Z2FXNW9aWEpwZEdWa0lHUmxaWEJzZVNCa2IzZHVJSFJvWlNCemRXSjBjbVZsTGlCVWFHVWdkWEJ3WlhJZ1ltbDBjeUJ2Ym14NUlHRm1abVZqZEZ4dUx5OGdkR2hwY3lCcGJXMWxaR2xoZEdVZ2MzVnpjR1Z1YzJVZ1ltOTFibVJoY25rZ1lXNWtJR2RsZEhNZ2NtVnpaWFFnWldGamFDQnVaWGRjYmk4dklHSnZkVzVrWVhKNUlHOXlJSE4xYzNCbGJuTmxJR3hwYzNRdVhHNWNiblpoY2lCVGRXSjBjbVZsVTNWemNHVnVjMlZEYjI1MFpYaDBUV0Z6YXlBOUlERTdJQzh2SUZOMVluUnlaV1VnUm14aFozTTZYRzR2THlCSmJuWnBjMmxpYkdWUVlYSmxiblJUZFhOd1pXNXpaVU52Ym5SbGVIUWdhVzVrYVdOaGRHVnpJSFJvWVhRZ2IyNWxJRzltSUc5MWNpQndZWEpsYm5RZ1UzVnpjR1Z1YzJWY2JpOHZJR0p2ZFc1a1lYSnBaWE1nYVhNZ2JtOTBJR04xY25KbGJuUnNlU0J6YUc5M2FXNW5JSFpwYzJsaWJHVWdiV0ZwYmlCamIyNTBaVzUwTGx4dUx5OGdSV2wwYUdWeUlHSmxZMkYxYzJVZ2FYUWdhWE1nWVd4eVpXRmtlU0J6YUc5M2FXNW5JR0VnWm1Gc2JHSmhZMnNnYjNJZ2FYTWdibTkwSUcxdmRXNTBaV1FnWVhRZ1lXeHNMbHh1THk4Z1YyVWdZMkZ1SUhWelpTQjBhR2x6SUhSdklHUmxkR1Z5YldsdVpTQnBaaUJwZENCcGN5QmtaWE5wY21GaWJHVWdkRzhnZEhKcFoyZGxjaUJoSUdaaGJHeGlZV05ySUdGMFhHNHZMeUIwYUdVZ2NHRnlaVzUwTGlCSlppQnViM1FzSUhSb1pXNGdkMlVnYldsbmFIUWdibVZsWkNCMGJ5QjBjbWxuWjJWeUlIVnVaR1Z6YVhKaFlteGxJR0p2ZFc1a1lYSnBaWE5jYmk4dklHRnVaQzl2Y2lCemRYTndaVzVrSUhSb1pTQmpiMjF0YVhRZ2RHOGdZWFp2YVdRZ2FHbGthVzVuSUhSb1pTQndZWEpsYm5RZ1kyOXVkR1Z1ZEM1Y2JseHVkbUZ5SUVsdWRtbHphV0pzWlZCaGNtVnVkRk4xYzNCbGJuTmxRMjl1ZEdWNGRDQTlJREU3SUM4dklGTm9ZV3hzYjNjZ1JteGhaM002WEc0dkx5QkdiM0pqWlZOMWMzQmxibk5sUm1Gc2JHSmhZMnNnWTJGdUlHSmxJSFZ6WldRZ1lua2dVM1Z6Y0dWdWMyVk1hWE4wSUhSdklHWnZjbU5sSUc1bGQyeDVJR0ZrWkdWa1hHNHZMeUJwZEdWdGN5QnBiblJ2SUhSb1pXbHlJR1poYkd4aVlXTnJJSE4wWVhSbElHUjFjbWx1WnlCdmJtVWdiMllnZEdobElISmxibVJsY2lCd1lYTnpaWE11WEc1Y2JuWmhjaUJHYjNKalpWTjFjM0JsYm5ObFJtRnNiR0poWTJzZ1BTQXlPMXh1ZG1GeUlITjFjM0JsYm5ObFUzUmhZMnREZFhKemIzSWdQU0JqY21WaGRHVkRkWEp6YjNJb1JHVm1ZWFZzZEZOMWMzQmxibk5sUTI5dWRHVjRkQ2s3WEc1bWRXNWpkR2x2YmlCb1lYTlRkWE53Wlc1elpVTnZiblJsZUhRb2NHRnlaVzUwUTI5dWRHVjRkQ3dnWm14aFp5a2dlMXh1SUNCeVpYUjFjbTRnS0hCaGNtVnVkRU52Ym5SbGVIUWdKaUJtYkdGbktTQWhQVDBnTUR0Y2JuMWNibVoxYm1OMGFXOXVJSE5sZEVSbFptRjFiSFJUYUdGc2JHOTNVM1Z6Y0dWdWMyVkRiMjUwWlhoMEtIQmhjbVZ1ZEVOdmJuUmxlSFFwSUh0Y2JpQWdjbVYwZFhKdUlIQmhjbVZ1ZEVOdmJuUmxlSFFnSmlCVGRXSjBjbVZsVTNWemNHVnVjMlZEYjI1MFpYaDBUV0Z6YXp0Y2JuMWNibVoxYm1OMGFXOXVJSE5sZEZOb1lXeHNiM2RUZFhOd1pXNXpaVU52Ym5SbGVIUW9jR0Z5Wlc1MFEyOXVkR1Y0ZEN3Z2MyaGhiR3h2ZDBOdmJuUmxlSFFwSUh0Y2JpQWdjbVYwZFhKdUlIQmhjbVZ1ZEVOdmJuUmxlSFFnSmlCVGRXSjBjbVZsVTNWemNHVnVjMlZEYjI1MFpYaDBUV0Z6YXlCOElITm9ZV3hzYjNkRGIyNTBaWGgwTzF4dWZWeHVablZ1WTNScGIyNGdZV1JrVTNWaWRISmxaVk4xYzNCbGJuTmxRMjl1ZEdWNGRDaHdZWEpsYm5SRGIyNTBaWGgwTENCemRXSjBjbVZsUTI5dWRHVjRkQ2tnZTF4dUlDQnlaWFIxY200Z2NHRnlaVzUwUTI5dWRHVjRkQ0I4SUhOMVluUnlaV1ZEYjI1MFpYaDBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NIVnphRk4xYzNCbGJuTmxRMjl1ZEdWNGRDaG1hV0psY2l3Z2JtVjNRMjl1ZEdWNGRDa2dlMXh1SUNCd2RYTm9LSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0lzSUc1bGQwTnZiblJsZUhRc0lHWnBZbVZ5S1R0Y2JuMWNibVoxYm1OMGFXOXVJSEJ2Y0ZOMWMzQmxibk5sUTI5dWRHVjRkQ2htYVdKbGNpa2dlMXh1SUNCd2IzQW9jM1Z6Y0dWdWMyVlRkR0ZqYTBOMWNuTnZjaXdnWm1saVpYSXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnphRzkxYkdSRFlYQjBkWEpsVTNWemNHVnVjMlVvZDI5eWEwbHVVSEp2WjNKbGMzTXNJR2hoYzBsdWRtbHphV0pzWlZCaGNtVnVkQ2tnZTF4dUlDQXZMeUJKWmlCcGRDQjNZWE1nZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0Z2RHaGhkQ0JxZFhOMElITjFjM0JsYm1SbFpDd2dZMkZ3ZEhWeVpTQmhibVFnY21WdVpHVnlJSFJvWlZ4dUlDQXZMeUJtWVd4c1ltRmpheTRnVDNSb1pYSjNhWE5sTENCa2IyNG5kQ0JqWVhCMGRYSmxJR0Z1WkNCaWRXSmliR1VnZEc4Z2RHaGxJRzVsZUhRZ1ltOTFibVJoY25rdVhHNGdJSFpoY2lCdVpYaDBVM1JoZEdVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2h1WlhoMFUzUmhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb2JtVjRkRk4wWVhSbExtUmxhSGxrY21GMFpXUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUVFZ1pHVm9lV1J5WVhSbFpDQmliM1Z1WkdGeWVTQmhiSGRoZVhNZ1kyRndkSFZ5WlhNdVhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NISnZjSE1nUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRkJ5YjNCek95QXZMeUJKYmlCdmNtUmxjaUIwYnlCallYQjBkWEpsTENCMGFHVWdVM1Z6Y0dWdWMyVWdZMjl0Y0c5dVpXNTBJRzExYzNRZ2FHRjJaU0JoSUdaaGJHeGlZV05ySUhCeWIzQXVYRzVjYmlBZ2FXWWdLSEJ5YjNCekxtWmhiR3hpWVdOcklEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDBnTHk4Z1VtVm5kV3hoY2lCaWIzVnVaR0Z5YVdWeklHRnNkMkY1Y3lCallYQjBkWEpsTGx4dVhHNWNiaUFnYVdZZ0tIQnliM0J6TG5WdWMzUmhZbXhsWDJGMmIybGtWR2hwYzBaaGJHeGlZV05ySUNFOVBTQjBjblZsS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJSDBnTHk4Z1NXWWdhWFFuY3lCaElHSnZkVzVrWVhKNUlIZGxJSE5vYjNWc1pDQmhkbTlwWkN3Z2RHaGxiaUIzWlNCd2NtVm1aWElnZEc4Z1luVmlZbXhsSUhWd0lIUnZJSFJvWlZ4dUlDQXZMeUJ3WVhKbGJuUWdZbTkxYm1SaGNua2dhV1lnYVhRZ2FYTWdZM1Z5Y21WdWRHeDVJR2x1ZG1semFXSnNaUzVjYmx4dVhHNGdJR2xtSUNob1lYTkpiblpwYzJsaWJHVlFZWEpsYm5RcElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ0x5OGdTV1lnZEdobElIQmhjbVZ1ZENCcGN5QnViM1FnWVdKc1pTQjBieUJvWVc1a2JHVWdhWFFzSUhkbElHMTFjM1FnYUdGdVpHeGxJR2wwTGx4dVhHNWNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hHNTlYRzVtZFc1amRHbHZiaUJtYVc1a1JtbHljM1JUZFhOd1pXNWtaV1FvY205M0tTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ2NtOTNPMXh1WEc0Z0lIZG9hV3hsSUNodWIyUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQlRkWE53Wlc1elpVTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhOMFlYUmxJRDBnYm05a1pTNXRaVzF2YVhwbFpGTjBZWFJsTzF4dVhHNGdJQ0FnSUNCcFppQW9jM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGFIbGtjbUYwWldRZ1BTQnpkR0YwWlM1a1pXaDVaSEpoZEdWa08xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoa1pXaDVaSEpoZEdWa0lEMDlQU0J1ZFd4c0lIeDhJR2x6VTNWemNHVnVjMlZKYm5OMFlXNWpaVkJsYm1ScGJtY29aR1ZvZVdSeVlYUmxaQ2tnZkh3Z2FYTlRkWE53Wlc1elpVbHVjM1JoYm1ObFJtRnNiR0poWTJzb1pHVm9lV1J5WVhSbFpDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm05a1pUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ibTlrWlM1MFlXY2dQVDA5SUZOMWMzQmxibk5sVEdsemRFTnZiWEJ2Ym1WdWRDQW1KaUF2THlCeVpYWmxZV3hQY21SbGNpQjFibVJsWm1sdVpXUWdZMkZ1SjNRZ1ltVWdkSEoxYzNSbFpDQmlaV05oZFhObElHbDBJR1J2YmlkMFhHNGdJQ0FnTHk4Z2EyVmxjQ0IwY21GamF5QnZaaUIzYUdWMGFHVnlJR2wwSUhOMWMzQmxibVJsWkNCdmNpQnViM1F1WEc0Z0lDQWdibTlrWlM1dFpXMXZhWHBsWkZCeWIzQnpMbkpsZG1WaGJFOXlaR1Z5SUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSFpoY2lCa2FXUlRkWE53Wlc1a0lEMGdLRzV2WkdVdVpXWm1aV04wVkdGbklDWWdSR2xrUTJGd2RIVnlaU2tnSVQwOUlFNXZSV1ptWldOME8xeHVYRzRnSUNBZ0lDQnBaaUFvWkdsa1UzVnpjR1Z1WkNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtOWtaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzV2WkdVdVkyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUc1dlpHVXVZMmhwYkdRdWNtVjBkWEp1SUQwZ2JtOWtaVHRjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG1Ob2FXeGtPMXh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzV2WkdVZ1BUMDlJSEp2ZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2QyaHBiR1VnS0c1dlpHVXVjMmxpYkdsdVp5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0c1dlpHVXVjbVYwZFhKdUlEMDlQU0J1ZFd4c0lIeDhJRzV2WkdVdWNtVjBkWEp1SUQwOVBTQnliM2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnViMlJsTG5OcFlteHBibWN1Y21WMGRYSnVJRDBnYm05a1pTNXlaWFIxY200N1hHNGdJQ0FnYm05a1pTQTlJRzV2WkdVdWMybGliR2x1Wnp0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRVpYQnlaV05oZEdWa1VtVnpjRzl1WkdWeVRHbHpkR1Z1WlhJb2NtVnpjRzl1WkdWeUxDQndjbTl3Y3lrZ2UxeHVJQ0IyWVhJZ1pYWmxiblJTWlhOd2IyNWtaWEpNYVhOMFpXNWxjaUE5SUh0Y2JpQWdJQ0J5WlhOd2IyNWtaWEk2SUhKbGMzQnZibVJsY2l4Y2JpQWdJQ0J3Y205d2N6b2djSEp2Y0hOY2JpQWdmVHRjYmx4dUlDQjdYRzRnSUNBZ1QySnFaV04wTG1aeVpXVjZaU2hsZG1WdWRGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxkbVZ1ZEZKbGMzQnZibVJsY2t4cGMzUmxibVZ5TzF4dWZWeHVYRzUyWVhJZ1NHRnpSV1ptWldOMElEMWNiaThxSUNvdlhHNHhPeUF2THlCU1pYQnlaWE5sYm5SeklIUm9aU0J3YUdGelpTQnBiaUIzYUdsamFDQjBhR1VnWldabVpXTjBJQ2h1YjNRZ2RHaGxJR05zWldGdUxYVndLU0JtYVhKbGN5NWNibHh1ZG1GeUlFeGhlVzkxZENBOVhHNHZLaUFnSUNBcUwxeHVNanRjYm5aaGNpQlFZWE56YVhabEpERWdQVnh1THlvZ0lDQXFMMXh1TkR0Y2JseHVkbUZ5SUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSWdQU0JTWldGamRGTm9ZWEpsWkVsdWRHVnlibUZzY3k1U1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMRnh1SUNBZ0lGSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuSkRFZ1BTQlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVTWldGamRFTjFjbkpsYm5SQ1lYUmphRU52Ym1acFp6dGNiblpoY2lCa2FXUlhZWEp1UVdKdmRYUk5hWE50WVhSamFHVmtTRzl2YTNOR2IzSkRiMjF3YjI1bGJuUTdYRzVjYm50Y2JpQWdaR2xrVjJGeWJrRmliM1YwVFdsemJXRjBZMmhsWkVodmIydHpSbTl5UTI5dGNHOXVaVzUwSUQwZ2JtVjNJRk5sZENncE8xeHVmVnh1WEc0dkx5QlVhR1Z6WlNCaGNtVWdjMlYwSUhKcFoyaDBJR0psWm05eVpTQmpZV3hzYVc1bklIUm9aU0JqYjIxd2IyNWxiblF1WEc1MllYSWdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3SUM4dklGUm9aU0IzYjNKckxXbHVMWEJ5YjJkeVpYTnpJR1pwWW1WeUxpQkpKM1psSUc1aGJXVmtJR2wwSUdScFptWmxjbVZ1ZEd4NUlIUnZJR1JwYzNScGJtZDFhWE5vSUdsMElHWnliMjFjYmk4dklIUm9aU0IzYjNKckxXbHVMWEJ5YjJkeVpYTnpJR2h2YjJzdVhHNWNiblpoY2lCamRYSnlaVzUwYkhsU1pXNWtaWEpwYm1kR2FXSmxjaVF4SUQwZ2JuVnNiRHNnTHk4Z1NHOXZhM01nWVhKbElITjBiM0psWkNCaGN5QmhJR3hwYm10bFpDQnNhWE4wSUc5dUlIUm9aU0JtYVdKbGNpZHpJRzFsYlc5cGVtVmtVM1JoZEdVZ1ptbGxiR1F1SUZSb1pWeHVMeThnWTNWeWNtVnVkQ0JvYjI5cklHeHBjM1FnYVhNZ2RHaGxJR3hwYzNRZ2RHaGhkQ0JpWld4dmJtZHpJSFJ2SUhSb1pTQmpkWEp5Wlc1MElHWnBZbVZ5TGlCVWFHVmNiaTh2SUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nYUc5dmF5QnNhWE4wSUdseklHRWdibVYzSUd4cGMzUWdkR2hoZENCM2FXeHNJR0psSUdGa1pHVmtJSFJ2SUhSb1pWeHVMeThnZDI5eWF5MXBiaTF3Y205bmNtVnpjeUJtYVdKbGNpNWNibHh1ZG1GeUlHTjFjbkpsYm5SSWIyOXJJRDBnYm5Wc2JEdGNiblpoY2lCM2IzSnJTVzVRY205bmNtVnpjMGh2YjJzZ1BTQnVkV3hzT3lBdkx5QlhhR1YwYUdWeUlHRnVJSFZ3WkdGMFpTQjNZWE1nYzJOb1pXUjFiR1ZrSUdGMElHRnVlU0J3YjJsdWRDQmtkWEpwYm1jZ2RHaGxJSEpsYm1SbGNpQndhR0Z6WlM0Z1ZHaHBjMXh1THk4Z1pHOWxjeUJ1YjNRZ1oyVjBJSEpsYzJWMElHbG1JSGRsSUdSdklHRnViM1JvWlhJZ2NtVnVaR1Z5SUhCaGMzTTdJRzl1YkhrZ2QyaGxiaUIzWlNkeVpTQmpiMjF3YkdWMFpXeDVYRzR2THlCbWFXNXBjMmhsWkNCbGRtRnNkV0YwYVc1bklIUm9hWE1nWTI5dGNHOXVaVzUwTGlCVWFHbHpJR2x6SUdGdUlHOXdkR2x0YVhwaGRHbHZiaUJ6YnlCM1pTQnJibTkzWEc0dkx5QjNhR1YwYUdWeUlIZGxJRzVsWldRZ2RHOGdZMnhsWVhJZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpYTWdZV1owWlhJZ1lTQjBhSEp2ZHk1Y2JseHVkbUZ5SUdScFpGTmphR1ZrZFd4bFVtVnVaR1Z5VUdoaGMyVlZjR1JoZEdVZ1BTQm1ZV3h6WlR0Y2JuWmhjaUJTUlY5U1JVNUVSVkpmVEVsTlNWUWdQU0F5TlRzZ0x5OGdTVzRnUkVWV0xDQjBhR2x6SUdseklIUm9aU0J1WVcxbElHOW1JSFJvWlNCamRYSnlaVzUwYkhrZ1pYaGxZM1YwYVc1bklIQnlhVzFwZEdsMlpTQm9iMjlyWEc1Y2JuWmhjaUJqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlHNTFiR3c3SUM4dklFbHVJRVJGVml3Z2RHaHBjeUJzYVhOMElHVnVjM1Z5WlhNZ2RHaGhkQ0JvYjI5cmN5QmhjbVVnWTJGc2JHVmtJR2x1SUhSb1pTQnpZVzFsSUc5eVpHVnlJR0psZEhkbFpXNGdjbVZ1WkdWeWN5NWNiaTh2SUZSb1pTQnNhWE4wSUhOMGIzSmxjeUIwYUdVZ2IzSmtaWElnYjJZZ2FHOXZhM01nZFhObFpDQmtkWEpwYm1jZ2RHaGxJR2x1YVhScFlXd2djbVZ1WkdWeUlDaHRiM1Z1ZENrdVhHNHZMeUJUZFdKelpYRjFaVzUwSUhKbGJtUmxjbk1nS0hWd1pHRjBaWE1wSUhKbFptVnlaVzVqWlNCMGFHbHpJR3hwYzNRdVhHNWNiblpoY2lCb2IyOXJWSGx3WlhORVpYWWdQU0J1ZFd4c08xeHVkbUZ5SUdodmIydFVlWEJsYzFWd1pHRjBaVWx1WkdWNFJHVjJJRDBnTFRFN0lDOHZJRWx1SUVSRlZpd2dkR2hwY3lCMGNtRmphM01nZDJobGRHaGxjaUJqZFhKeVpXNTBiSGtnY21WdVpHVnlhVzVuSUdOdmJYQnZibVZ1ZENCdVpXVmtjeUIwYnlCcFoyNXZjbVZjYmk4dklIUm9aU0JrWlhCbGJtUmxibU5wWlhNZ1ptOXlJRWh2YjJ0eklIUm9ZWFFnYm1WbFpDQjBhR1Z0SUNobExtY3VJSFZ6WlVWbVptVmpkQ0J2Y2lCMWMyVk5aVzF2S1M1Y2JpOHZJRmRvWlc0Z2RISjFaU3dnYzNWamFDQkliMjlyY3lCM2FXeHNJR0ZzZDJGNWN5QmlaU0JjSW5KbGJXOTFiblJsWkZ3aUxpQlBibXg1SUhWelpXUWdaSFZ5YVc1bklHaHZkQ0J5Wld4dllXUXVYRzVjYm5aaGNpQnBaMjV2Y21WUWNtVjJhVzkxYzBSbGNHVnVaR1Z1WTJsbGN5QTlJR1poYkhObE8xeHVYRzVtZFc1amRHbHZiaUJ0YjNWdWRFaHZiMnRVZVhCbGMwUmxkaWdwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJvYjI5clRtRnRaU0E5SUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMk8xeHVYRzRnSUNBZ2FXWWdLR2h2YjJ0VWVYQmxjMFJsZGlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FHOXZhMVI1Y0dWelJHVjJJRDBnVzJodmIydE9ZVzFsWFR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhRzl2YTFSNWNHVnpSR1YyTG5CMWMyZ29hRzl2YTA1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYUc5dmEwNWhiV1VnUFNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRqdGNibHh1SUNBZ0lHbG1JQ2hvYjI5clZIbHdaWE5FWlhZZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHaHZiMnRVZVhCbGMxVndaR0YwWlVsdVpHVjRSR1YyS3lzN1hHNWNiaUFnSUNBZ0lHbG1JQ2hvYjI5clZIbHdaWE5FWlhaYmFHOXZhMVI1Y0dWelZYQmtZWFJsU1c1a1pYaEVaWFpkSUNFOVBTQm9iMjlyVG1GdFpTa2dlMXh1SUNBZ0lDQWdJQ0IzWVhKdVQyNUliMjlyVFdsemJXRjBZMmhKYmtSbGRpaG9iMjlyVG1GdFpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR05vWldOclJHVndjMEZ5WlVGeWNtRjVSR1YyS0dSbGNITXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaGtaWEJ6SUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnWkdWd2N5QWhQVDBnYm5Wc2JDQW1KaUFoUVhKeVlYa3VhWE5CY25KaGVTaGtaWEJ6S1NrZ2UxeHVJQ0FnSUNBZ0x5OGdWbVZ5YVdaNUlHUmxjSE1zSUdKMWRDQnZibXg1SUc5dUlHMXZkVzUwSUhSdklHRjJiMmxrSUdWNGRISmhJR05vWldOcmN5NWNiaUFnSUNBZ0lDOHZJRWwwSjNNZ2RXNXNhV3RsYkhrZ2RHaGxhWElnZEhsd1pTQjNiM1ZzWkNCamFHRnVaMlVnWVhNZ2RYTjFZV3hzZVNCNWIzVWdaR1ZtYVc1bElIUm9aVzBnYVc1c2FXNWxMbHh1SUNBZ0lDQWdaWEp5YjNJb0p5VnpJSEpsWTJWcGRtVmtJR0VnWm1sdVlXd2dZWEpuZFcxbGJuUWdkR2hoZENCcGN5QnViM1FnWVc0Z1lYSnlZWGtnS0dsdWMzUmxZV1FzSUhKbFkyVnBkbVZrSUdBbGMyQXBMaUJYYUdWdUlDY2dLeUFuYzNCbFkybG1hV1ZrTENCMGFHVWdabWx1WVd3Z1lYSm5kVzFsYm5RZ2JYVnpkQ0JpWlNCaGJpQmhjbkpoZVM0bkxDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaXdnZEhsd1pXOW1JR1JsY0hNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjNZWEp1VDI1SWIyOXJUV2x6YldGMFkyaEpia1JsZGloamRYSnlaVzUwU0c5dmEwNWhiV1VwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJqYjIxd2IyNWxiblJPWVcxbElEMGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaGpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReExuUjVjR1VwTzF4dVhHNGdJQ0FnYVdZZ0tDRmthV1JYWVhKdVFXSnZkWFJOYVhOdFlYUmphR1ZrU0c5dmEzTkdiM0pEYjIxd2IyNWxiblF1YUdGektHTnZiWEJ2Ym1WdWRFNWhiV1VwS1NCN1hHNGdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUk5hWE50WVhSamFHVmtTRzl2YTNOR2IzSkRiMjF3YjI1bGJuUXVZV1JrS0dOdmJYQnZibVZ1ZEU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb2FHOXZhMVI1Y0dWelJHVjJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQjBZV0pzWlNBOUlDY25PMXh1SUNBZ0lDQWdJQ0IyWVhJZ2MyVmpiMjVrUTI5c2RXMXVVM1JoY25RZ1BTQXpNRHRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOFBTQm9iMjlyVkhsd1pYTlZjR1JoZEdWSmJtUmxlRVJsZGpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRzlzWkVodmIydE9ZVzFsSUQwZ2FHOXZhMVI1Y0dWelJHVjJXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ1WlhkSWIyOXJUbUZ0WlNBOUlHa2dQVDA5SUdodmIydFVlWEJsYzFWd1pHRjBaVWx1WkdWNFJHVjJJRDhnWTNWeWNtVnVkRWh2YjJ0T1lXMWxJRG9nYjJ4a1NHOXZhMDVoYldVN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhKdmR5QTlJR2tnS3lBeElDc2dYQ0l1SUZ3aUlDc2diMnhrU0c5dmEwNWhiV1U3SUM4dklFVjRkSEpoSUhOd1lXTmxJSE52SUhObFkyOXVaQ0JqYjJ4MWJXNGdiR2x1WlhNZ2RYQmNiaUFnSUNBZ0lDQWdJQ0F2THlCc2Iyd2dRQ0JKUlNCdWIzUWdjM1Z3Y0c5eWRHbHVaeUJUZEhKcGJtY2pjbVZ3WldGMFhHNWNiaUFnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9jbTkzTG14bGJtZDBhQ0E4SUhObFkyOXVaRU52YkhWdGJsTjBZWEowS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5YjNjZ0t6MGdKeUFuTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUhKdmR5QXJQU0J1WlhkSWIyOXJUbUZ0WlNBcklDZGNYRzRuTzF4dUlDQWdJQ0FnSUNBZ0lIUmhZbXhsSUNzOUlISnZkenRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkU1pXRmpkQ0JvWVhNZ1pHVjBaV04wWldRZ1lTQmphR0Z1WjJVZ2FXNGdkR2hsSUc5eVpHVnlJRzltSUVodmIydHpJR05oYkd4bFpDQmllU0FsY3k0Z0p5QXJJQ2RVYUdseklIZHBiR3dnYkdWaFpDQjBieUJpZFdkeklHRnVaQ0JsY25KdmNuTWdhV1lnYm05MElHWnBlR1ZrTGlBbklDc2dKMFp2Y2lCdGIzSmxJR2x1Wm05eWJXRjBhVzl1TENCeVpXRmtJSFJvWlNCU2RXeGxjeUJ2WmlCSWIyOXJjem9nYUhSMGNITTZMeTltWWk1dFpTOXlkV3hsY3kxdlppMW9iMjlyYzF4Y2JseGNiaWNnS3lBbklDQWdVSEpsZG1sdmRYTWdjbVZ1WkdWeUlDQWdJQ0FnSUNBZ0lDQWdUbVY0ZENCeVpXNWtaWEpjWEc0bklDc2dKeUFnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4Y2JpY2dLeUFuSlhNbklDc2dKeUFnSUY1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGx4Y2JpY3NJR052YlhCdmJtVnVkRTVoYldVc0lIUmhZbXhsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RHaHliM2RKYm5aaGJHbGtTRzl2YTBWeWNtOXlLQ2tnZTF4dUlDQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpU1c1MllXeHBaQ0JvYjI5cklHTmhiR3d1SUVodmIydHpJR05oYmlCdmJteDVJR0psSUdOaGJHeGxaQ0JwYm5OcFpHVWdiMllnZEdobElHSnZaSGtnYjJZZ1lTQm1kVzVqZEdsdmJpQmpiMjF3YjI1bGJuUXVJRlJvYVhNZ1kyOTFiR1FnYUdGd2NHVnVJR1p2Y2lCdmJtVWdiMllnZEdobElHWnZiR3h2ZDJsdVp5QnlaV0Z6YjI1ek9seGNiakV1SUZsdmRTQnRhV2RvZENCb1lYWmxJRzFwYzIxaGRHTm9hVzVuSUhabGNuTnBiMjV6SUc5bUlGSmxZV04wSUdGdVpDQjBhR1VnY21WdVpHVnlaWElnS0hOMVkyZ2dZWE1nVW1WaFkzUWdSRTlOS1Z4Y2JqSXVJRmx2ZFNCdGFXZG9kQ0JpWlNCaWNtVmhhMmx1WnlCMGFHVWdVblZzWlhNZ2IyWWdTRzl2YTNOY1hHNHpMaUJaYjNVZ2JXbG5hSFFnYUdGMlpTQnRiM0psSUhSb1lXNGdiMjVsSUdOdmNIa2diMllnVW1WaFkzUWdhVzRnZEdobElITmhiV1VnWVhCd1hGeHVVMlZsSUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGFXNTJZV3hwWkMxb2IyOXJMV05oYkd3Z1ptOXlJSFJwY0hNZ1lXSnZkWFFnYUc5M0lIUnZJR1JsWW5WbklHRnVaQ0JtYVhnZ2RHaHBjeUJ3Y205aWJHVnRMbHdpSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRnlaVWh2YjJ0SmJuQjFkSE5GY1hWaGJDaHVaWGgwUkdWd2N5d2djSEpsZGtSbGNITXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaHBaMjV2Y21WUWNtVjJhVzkxYzBSbGNHVnVaR1Z1WTJsbGN5a2dlMXh1SUNBZ0lDQWdMeThnVDI1c2VTQjBjblZsSUhkb1pXNGdkR2hwY3lCamIyMXdiMjVsYm5RZ2FYTWdZbVZwYm1jZ2FHOTBJSEpsYkc5aFpHVmtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHdjbVYyUkdWd2N5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lHVnljbTl5S0NjbGN5QnlaV05sYVhabFpDQmhJR1pwYm1Gc0lHRnlaM1Z0Wlc1MElHUjFjbWx1WnlCMGFHbHpJSEpsYm1SbGNpd2dZblYwSUc1dmRDQmtkWEpwYm1jZ0p5QXJJQ2QwYUdVZ2NISmxkbWx2ZFhNZ2NtVnVaR1Z5TGlCRmRtVnVJSFJvYjNWbmFDQjBhR1VnWm1sdVlXd2dZWEpuZFcxbGJuUWdhWE1nYjNCMGFXOXVZV3dzSUNjZ0t5QW5hWFJ6SUhSNWNHVWdZMkZ1Ym05MElHTm9ZVzVuWlNCaVpYUjNaV1Z1SUhKbGJtUmxjbk11Snl3Z1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0F2THlCRWIyNG5kQ0JpYjNSb1pYSWdZMjl0Y0dGeWFXNW5JR3hsYm1kMGFITWdhVzRnY0hKdlpDQmlaV05oZFhObElIUm9aWE5sSUdGeWNtRjVjeUJ6YUc5MWJHUWdZbVZjYmlBZ0lDQXZMeUJ3WVhOelpXUWdhVzVzYVc1bExseHVJQ0FnSUdsbUlDaHVaWGgwUkdWd2N5NXNaVzVuZEdnZ0lUMDlJSEJ5WlhaRVpYQnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0oxUm9aU0JtYVc1aGJDQmhjbWQxYldWdWRDQndZWE56WldRZ2RHOGdKWE1nWTJoaGJtZGxaQ0J6YVhwbElHSmxkSGRsWlc0Z2NtVnVaR1Z5Y3k0Z1ZHaGxJQ2NnS3lBbmIzSmtaWElnWVc1a0lITnBlbVVnYjJZZ2RHaHBjeUJoY25KaGVTQnRkWE4wSUhKbGJXRnBiaUJqYjI1emRHRnVkQzVjWEc1Y1hHNG5JQ3NnSjFCeVpYWnBiM1Z6T2lBbGMxeGNiaWNnS3lBblNXNWpiMjFwYm1jNklDVnpKeXdnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZc0lGd2lXMXdpSUNzZ2NISmxka1JsY0hNdWFtOXBiaWduTENBbktTQXJJRndpWFZ3aUxDQmNJbHRjSWlBcklHNWxlSFJFWlhCekxtcHZhVzRvSnl3Z0p5a2dLeUJjSWwxY0lpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J3Y21WMlJHVndjeTVzWlc1bmRHZ2dKaVlnYVNBOElHNWxlSFJFWlhCekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdhV1lnS0c5aWFtVmpkRWx6S0c1bGVIUkVaWEJ6VzJsZExDQndjbVYyUkdWd2MxdHBYU2twSUh0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaVzVrWlhKWGFYUm9TRzl2YTNNb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2NISnZjSE1zSUhObFkyOXVaRUZ5Wnl3Z2JtVjRkRkpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2JtVjRkRkpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQmpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReElEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNWNiaUFnZTF4dUlDQWdJR2h2YjJ0VWVYQmxjMFJsZGlBOUlHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3Z1B5QmpkWEp5Wlc1MExsOWtaV0oxWjBodmIydFVlWEJsY3lBNklHNTFiR3c3WEc0Z0lDQWdhRzl2YTFSNWNHVnpWWEJrWVhSbFNXNWtaWGhFWlhZZ1BTQXRNVHNnTHk4Z1ZYTmxaQ0JtYjNJZ2FHOTBJSEpsYkc5aFpHbHVaenBjYmx4dUlDQWdJR2xuYm05eVpWQnlaWFpwYjNWelJHVndaVzVrWlc1amFXVnpJRDBnWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ0FtSmlCamRYSnlaVzUwTG5SNWNHVWdJVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVN1hHNGdJSDFjYmx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxJRDBnYm5Wc2JEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXVkWEJrWVhSbFVYVmxkV1VnUFNCdWRXeHNPMXh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6c2dMeThnVkdobElHWnZiR3h2ZDJsdVp5QnphRzkxYkdRZ2FHRjJaU0JoYkhKbFlXUjVJR0psWlc0Z2NtVnpaWFJjYmlBZ0x5OGdZM1Z5Y21WdWRFaHZiMnNnUFNCdWRXeHNPMXh1SUNBdkx5QjNiM0pyU1c1UWNtOW5jbVZ6YzBodmIyc2dQU0J1ZFd4c08xeHVJQ0F2THlCa2FXUlRZMmhsWkhWc1pWSmxibVJsY2xCb1lYTmxWWEJrWVhSbElEMGdabUZzYzJVN1hHNGdJQzh2SUZSUFJFOGdWMkZ5YmlCcFppQnVieUJvYjI5cmN5QmhjbVVnZFhObFpDQmhkQ0JoYkd3Z1pIVnlhVzVuSUcxdmRXNTBMQ0IwYUdWdUlITnZiV1VnWVhKbElIVnpaV1FnWkhWeWFXNW5JSFZ3WkdGMFpTNWNiaUFnTHk4Z1EzVnljbVZ1ZEd4NUlIZGxJSGRwYkd3Z2FXUmxiblJwWm5rZ2RHaGxJSFZ3WkdGMFpTQnlaVzVrWlhJZ1lYTWdZU0J0YjNWdWRDQmlaV05oZFhObElHMWxiVzlwZW1Wa1UzUmhkR1VnUFQwOUlHNTFiR3d1WEc0Z0lDOHZJRlJvYVhNZ2FYTWdkSEpwWTJ0NUlHSmxZMkYxYzJVZ2FYUW5jeUIyWVd4cFpDQm1iM0lnWTJWeWRHRnBiaUIwZVhCbGN5QnZaaUJqYjIxd2IyNWxiblJ6SUNobExtY3VJRkpsWVdOMExteGhlbmtwWEc0Z0lDOHZJRlZ6YVc1bklHMWxiVzlwZW1Wa1UzUmhkR1VnZEc4Z1pHbG1abVZ5Wlc1MGFXRjBaU0JpWlhSM1pXVnVJRzF2ZFc1MEwzVndaR0YwWlNCdmJteDVJSGR2Y210eklHbG1JR0YwSUd4bFlYTjBJRzl1WlNCemRHRjBaV1oxYkNCb2IyOXJJR2x6SUhWelpXUXVYRzRnSUM4dklFNXZiaTF6ZEdGMFpXWjFiQ0JvYjI5cmN5QW9aUzVuTGlCamIyNTBaWGgwS1NCa2IyNG5kQ0JuWlhRZ1lXUmtaV1FnZEc4Z2JXVnRiMmw2WldSVGRHRjBaU3hjYmlBZ0x5OGdjMjhnYldWdGIybDZaV1JUZEdGMFpTQjNiM1ZzWkNCaVpTQnVkV3hzSUdSMWNtbHVaeUIxY0dSaGRHVnpJR0Z1WkNCdGIzVnVkSE11WEc1Y2JpQWdlMXh1SUNBZ0lHbG1JQ2hqZFhKeVpXNTBJQ0U5UFNCdWRXeHNJQ1ltSUdOMWNuSmxiblF1YldWdGIybDZaV1JUZEdGMFpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NHOXZhM05FYVhOd1lYUmphR1Z5VDI1VmNHUmhkR1ZKYmtSRlZqdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHaHZiMnRVZVhCbGMwUmxkaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJrYVhOd1lYUmphR1Z5SUdoaGJtUnNaWE1nWVc0Z1pXUm5aU0JqWVhObElIZG9aWEpsSUdFZ1kyOXRjRzl1Wlc1MElHbHpJSFZ3WkdGMGFXNW5MRnh1SUNBZ0lDQWdMeThnWW5WMElHNXZJSE4wWVhSbFpuVnNJR2h2YjJ0eklHaGhkbVVnWW1WbGJpQjFjMlZrTGx4dUlDQWdJQ0FnTHk4Z1YyVWdkMkZ1ZENCMGJ5QnRZWFJqYUNCMGFHVWdjSEp2WkhWamRHbHZiaUJqYjJSbElHSmxhR0YyYVc5eUlDaDNhR2xqYUNCM2FXeHNJSFZ6WlNCSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmsxdmRXNTBLU3hjYmlBZ0lDQWdJQzh2SUdKMWRDQjNhWFJvSUhSb1pTQmxlSFJ5WVNCRVJWWWdkbUZzYVdSaGRHbHZiaUIwYnlCbGJuTjFjbVVnYUc5dmEzTWdiM0prWlhKcGJtY2dhR0Z6YmlkMElHTm9ZVzVuWldRdVhHNGdJQ0FnSUNBdkx5QlVhR2x6SUdScGMzQmhkR05vWlhJZ1pHOWxjeUIwYUdGMExseHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRGZHBkR2hJYjI5clZIbHdaWE5KYmtSRlZqdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1MElEMGdTRzl2YTNORWFYTndZWFJqYUdWeVQyNU5iM1Z1ZEVsdVJFVldPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCamFHbHNaSEpsYmlBOUlFTnZiWEJ2Ym1WdWRDaHdjbTl3Y3l3Z2MyVmpiMjVrUVhKbktUc2dMeThnUTJobFkyc2dhV1lnZEdobGNtVWdkMkZ6SUdFZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpWeHVYRzRnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGVIQnBjbUYwYVc5dVZHbHRaU0E5UFQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQXZMeUJMWldWd0lISmxibVJsY21sdVp5QnBiaUJoSUd4dmIzQWdabTl5SUdGeklHeHZibWNnWVhNZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpYTWdZMjl1ZEdsdWRXVWdkRzljYmlBZ0lDQXZMeUJpWlNCelkyaGxaSFZzWldRdUlGVnpaU0JoSUdOdmRXNTBaWElnZEc4Z2NISmxkbVZ1ZENCcGJtWnBibWwwWlNCc2IyOXdjeTVjYmlBZ0lDQjJZWElnYm5WdFltVnlUMlpTWlZKbGJtUmxjbk1nUFNBd08xeHVYRzRnSUNBZ1pHOGdlMXh1SUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2hLRzUxYldKbGNrOW1VbVZTWlc1a1pYSnpJRHdnVWtWZlVrVk9SRVZTWDB4SlRVbFVLU2tnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVZHOXZJRzFoYm5rZ2NtVXRjbVZ1WkdWeWN5NGdVbVZoWTNRZ2JHbHRhWFJ6SUhSb1pTQnVkVzFpWlhJZ2IyWWdjbVZ1WkdWeWN5QjBieUJ3Y21WMlpXNTBJR0Z1SUdsdVptbHVhWFJsSUd4dmIzQXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnVkVzFpWlhKUFpsSmxVbVZ1WkdWeWN5QXJQU0F4TzF4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDOHZJRVYyWlc0Z2QyaGxiaUJvYjNRZ2NtVnNiMkZrYVc1bkxDQmhiR3h2ZHlCa1pYQmxibVJsYm1OcFpYTWdkRzhnYzNSaFltbHNhWHBsWEc0Z0lDQWdJQ0FnSUM4dklHRm1kR1Z5SUdacGNuTjBJSEpsYm1SbGNpQjBieUJ3Y21WMlpXNTBJR2x1Wm1sdWFYUmxJSEpsYm1SbGNpQndhR0Z6WlNCMWNHUmhkR1Z6TGx4dUlDQWdJQ0FnSUNCcFoyNXZjbVZRY21WMmFXOTFjMFJsY0dWdVpHVnVZMmxsY3lBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlNBdkx5QlRkR0Z5ZENCdmRtVnlJR1p5YjIwZ2RHaGxJR0psWjJsdWJtbHVaeUJ2WmlCMGFHVWdiR2x6ZEZ4dVhHNWNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56U0c5dmF5QTlJRzUxYkd3N1hHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlNBOUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRV3h6YnlCMllXeHBaR0YwWlNCb2IyOXJJRzl5WkdWeUlHWnZjaUJqWVhOallXUnBibWNnZFhCa1lYUmxjeTVjYmlBZ0lDQWdJQ0FnYUc5dmExUjVjR1Z6VlhCa1lYUmxTVzVrWlhoRVpYWWdQU0F0TVR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnSUVodmIydHpSR2x6Y0dGMFkyaGxjazl1VW1WeVpXNWtaWEpKYmtSRlZpQTdYRzRnSUNBZ0lDQmphR2xzWkhKbGJpQTlJRU52YlhCdmJtVnVkQ2h3Y205d2N5d2djMlZqYjI1a1FYSm5LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGVIQnBjbUYwYVc5dVZHbHRaU0E5UFQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOUlDOHZJRmRsSUdOaGJpQmhjM04xYldVZ2RHaGxJSEJ5WlhacGIzVnpJR1JwYzNCaGRHTm9aWElnYVhNZ1lXeDNZWGx6SUhSb2FYTWdiMjVsTENCemFXNWpaU0IzWlNCelpYUWdhWFJjYmlBZ0x5OGdZWFFnZEdobElHSmxaMmx1Ym1sdVp5QnZaaUIwYUdVZ2NtVnVaR1Z5SUhCb1lYTmxJR0Z1WkNCMGFHVnlaU2R6SUc1dklISmxMV1Z1ZEhKaGJtTjVMbHh1WEc1Y2JpQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1EyOXVkR1Y0ZEU5dWJIbEVhWE53WVhSamFHVnlPMXh1WEc0Z0lIdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVmWkdWaWRXZEliMjlyVkhsd1pYTWdQU0JvYjI5clZIbHdaWE5FWlhZN1hHNGdJSDBnTHk4Z1ZHaHBjeUJqYUdWamF5QjFjMlZ6SUdOMWNuSmxiblJJYjI5cklITnZJSFJvWVhRZ2FYUWdkMjl5YTNNZ2RHaGxJSE5oYldVZ2FXNGdSRVZXSUdGdVpDQndjbTlrSUdKMWJtUnNaWE11WEc0Z0lDOHZJR2h2YjJ0VWVYQmxjMFJsZGlCamIzVnNaQ0JqWVhSamFDQnRiM0psSUdOaGMyVnpJQ2hsTG1jdUlHTnZiblJsZUhRcElHSjFkQ0J2Ym14NUlHbHVJRVJGVmlCaWRXNWtiR1Z6TGx4dVhHNWNiaUFnZG1GeUlHUnBaRkpsYm1SbGNsUnZiMFpsZDBodmIydHpJRDBnWTNWeWNtVnVkRWh2YjJzZ0lUMDlJRzUxYkd3Z0ppWWdZM1Z5Y21WdWRFaHZiMnN1Ym1WNGRDQWhQVDBnYm5Wc2JEdGNiaUFnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJR04xY25KbGJuUnNlVkpsYm1SbGNtbHVaMFpwWW1WeUpERWdQU0J1ZFd4c08xeHVJQ0JqZFhKeVpXNTBTRzl2YXlBOUlHNTFiR3c3WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56U0c5dmF5QTlJRzUxYkd3N1hHNWNiaUFnZTF4dUlDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ2JuVnNiRHRjYmlBZ0lDQm9iMjlyVkhsd1pYTkVaWFlnUFNCdWRXeHNPMXh1SUNBZ0lHaHZiMnRVZVhCbGMxVndaR0YwWlVsdVpHVjRSR1YySUQwZ0xURTdYRzRnSUgxY2JseHVJQ0JrYVdSVFkyaGxaSFZzWlZKbGJtUmxjbEJvWVhObFZYQmtZWFJsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdhV1lnS0NFaFpHbGtVbVZ1WkdWeVZHOXZSbVYzU0c5dmEzTXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKU1pXNWtaWEpsWkNCbVpYZGxjaUJvYjI5cmN5QjBhR0Z1SUdWNGNHVmpkR1ZrTGlCVWFHbHpJRzFoZVNCaVpTQmpZWFZ6WldRZ1lua2dZVzRnWVdOamFXUmxiblJoYkNCbFlYSnNlU0J5WlhSMWNtNGdjM1JoZEdWdFpXNTBMbHdpSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdOb2FXeGtjbVZ1TzF4dWZWeHVablZ1WTNScGIyNGdZbUZwYkc5MWRFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlNBOUlHTjFjbkpsYm5RdWRYQmtZWFJsVVhWbGRXVTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUFtUFNCK0tGQmhjM05wZG1VZ2ZDQlZjR1JoZEdVcE8xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MExtVjRjR2x5WVhScGIyNVVhVzFsSUR3OUlHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnWTNWeWNtVnVkQzVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjbVZ6WlhSSWIyOXJjMEZtZEdWeVZHaHliM2NvS1NCN1hHNGdJQzh2SUZkbElHTmhiaUJoYzNOMWJXVWdkR2hsSUhCeVpYWnBiM1Z6SUdScGMzQmhkR05vWlhJZ2FYTWdZV3gzWVhseklIUm9hWE1nYjI1bExDQnphVzVqWlNCM1pTQnpaWFFnYVhSY2JpQWdMeThnWVhRZ2RHaGxJR0psWjJsdWJtbHVaeUJ2WmlCMGFHVWdjbVZ1WkdWeUlIQm9ZWE5sSUdGdVpDQjBhR1Z5WlNkeklHNXZJSEpsTFdWdWRISmhibU41TGx4dUlDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCRGIyNTBaWGgwVDI1c2VVUnBjM0JoZEdOb1pYSTdYRzVjYmlBZ2FXWWdLR1JwWkZOamFHVmtkV3hsVW1WdVpHVnlVR2hoYzJWVmNHUmhkR1VwSUh0Y2JpQWdJQ0F2THlCVWFHVnlaU0IzWlhKbElISmxibVJsY2lCd2FHRnpaU0IxY0dSaGRHVnpMaUJVYUdWelpTQmhjbVVnYjI1c2VTQjJZV3hwWkNCbWIzSWdkR2hwY3lCeVpXNWtaWEpjYmlBZ0lDQXZMeUJ3YUdGelpTd2dkMmhwWTJnZ2QyVWdZWEpsSUc1dmR5QmhZbTl5ZEdsdVp5NGdVbVZ0YjNabElIUm9aU0IxY0dSaGRHVnpJR1p5YjIwZ2RHaGxJSEYxWlhWbGN5QnpiMXh1SUNBZ0lDOHZJSFJvWlhrZ1pHOGdibTkwSUhCbGNuTnBjM1FnZEc4Z2RHaGxJRzVsZUhRZ2NtVnVaR1Z5TGlCRWJ5QnViM1FnY21WdGIzWmxJSFZ3WkdGMFpYTWdabkp2YlNCb2IyOXJjMXh1SUNBZ0lDOHZJSFJvWVhRZ2QyVnlaVzRuZENCd2NtOWpaWE56WldRdVhHNGdJQ0FnTHk5Y2JpQWdJQ0F2THlCUGJteDVJSEpsYzJWMElIUm9aU0IxY0dSaGRHVnpJR1p5YjIwZ2RHaGxJSEYxWlhWbElHbG1JR2wwSUdoaGN5QmhJR05zYjI1bExpQkpaaUJwZENCa2IyVnpYRzRnSUNBZ0x5OGdibTkwSUdoaGRtVWdZU0JqYkc5dVpTd2dkR2hoZENCdFpXRnVjeUJwZENCM1lYTnVKM1FnY0hKdlkyVnpjMlZrTENCaGJtUWdkR2hsSUhWd1pHRjBaWE1nZDJWeVpWeHVJQ0FnSUM4dklITmphR1ZrZFd4bFpDQmlaV1p2Y21VZ2QyVWdaVzUwWlhKbFpDQjBhR1VnY21WdVpHVnlJSEJvWVhObExseHVJQ0FnSUhaaGNpQm9iMjlySUQwZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElrTVM1dFpXMXZhWHBsWkZOMFlYUmxPMXh1WEc0Z0lDQWdkMmhwYkdVZ0tHaHZiMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhkV1YxWlNBOUlHaHZiMnN1Y1hWbGRXVTdYRzVjYmlBZ0lDQWdJR2xtSUNoeGRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCeGRXVjFaUzV3Wlc1a2FXNW5JRDBnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhRzl2YXlBOUlHaHZiMnN1Ym1WNGREdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUU1dlYyOXlhenRjYmlBZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElrTVNBOUlHNTFiR3c3WEc0Z0lHTjFjbkpsYm5SSWIyOXJJRDBnYm5Wc2JEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2JuVnNiRHRjYmx4dUlDQjdYRzRnSUNBZ2FHOXZhMVI1Y0dWelJHVjJJRDBnYm5Wc2JEdGNiaUFnSUNCb2IyOXJWSGx3WlhOVmNHUmhkR1ZKYm1SbGVFUmxkaUE5SUMweE8xeHVJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHUnBaRk5qYUdWa2RXeGxVbVZ1WkdWeVVHaGhjMlZWY0dSaGRHVWdQU0JtWVd4elpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXOTFiblJYYjNKclNXNVFjbTluY21WemMwaHZiMnNvS1NCN1hHNGdJSFpoY2lCb2IyOXJJRDBnZTF4dUlDQWdJRzFsYlc5cGVtVmtVM1JoZEdVNklHNTFiR3dzWEc0Z0lDQWdZbUZ6WlZOMFlYUmxPaUJ1ZFd4c0xGeHVJQ0FnSUdKaGMyVlJkV1YxWlRvZ2JuVnNiQ3hjYmlBZ0lDQnhkV1YxWlRvZ2JuVnNiQ3hjYmlBZ0lDQnVaWGgwT2lCdWRXeHNYRzRnSUgwN1hHNWNiaUFnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56U0c5dmF5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2FYTWdkR2hsSUdacGNuTjBJR2h2YjJzZ2FXNGdkR2hsSUd4cGMzUmNiaUFnSUNCamRYSnlaVzUwYkhsU1pXNWtaWEpwYm1kR2FXSmxjaVF4TG0xbGJXOXBlbVZrVTNSaGRHVWdQU0IzYjNKclNXNVFjbTluY21WemMwaHZiMnNnUFNCb2IyOXJPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVGd2NHVnVaQ0IwYnlCMGFHVWdaVzVrSUc5bUlIUm9aU0JzYVhOMFhHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2QyOXlhMGx1VUhKdlozSmxjM05JYjI5ckxtNWxlSFFnUFNCb2IyOXJPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOelNHOXZhenRjYm4xY2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDa2dlMXh1SUNBdkx5QlVhR2x6SUdaMWJtTjBhVzl1SUdseklIVnpaV1FnWW05MGFDQm1iM0lnZFhCa1lYUmxjeUJoYm1RZ1ptOXlJSEpsTFhKbGJtUmxjbk1nZEhKcFoyZGxjbVZrSUdKNUlHRmNiaUFnTHk4Z2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpTNGdTWFFnWVhOemRXMWxjeUIwYUdWeVpTQnBjeUJsYVhSb1pYSWdZU0JqZFhKeVpXNTBJR2h2YjJzZ2QyVWdZMkZ1WEc0Z0lDOHZJR05zYjI1bExDQnZjaUJoSUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nYUc5dmF5Qm1jbTl0SUdFZ2NISmxkbWx2ZFhNZ2NtVnVaR1Z5SUhCaGMzTWdkR2hoZENCM1pTQmpZVzVjYmlBZ0x5OGdkWE5sSUdGeklHRWdZbUZ6WlM0Z1YyaGxiaUIzWlNCeVpXRmphQ0IwYUdVZ1pXNWtJRzltSUhSb1pTQmlZWE5sSUd4cGMzUXNJSGRsSUcxMWMzUWdjM2RwZEdOb0lIUnZYRzRnSUM4dklIUm9aU0JrYVhOd1lYUmphR1Z5SUhWelpXUWdabTl5SUcxdmRXNTBjeTVjYmlBZ2RtRnlJRzVsZUhSRGRYSnlaVzUwU0c5dmF6dGNibHh1SUNCcFppQW9ZM1Z5Y21WdWRFaHZiMnNnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0IyWVhJZ1kzVnljbVZ1ZENBOUlHTjFjbkpsYm5Sc2VWSmxibVJsY21sdVowWnBZbVZ5SkRFdVlXeDBaWEp1WVhSbE8xeHVYRzRnSUNBZ2FXWWdLR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJRzVsZUhSRGRYSnlaVzUwU0c5dmF5QTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdibVY0ZEVOMWNuSmxiblJJYjI5cklEMGdiblZzYkR0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYm1WNGRFTjFjbkpsYm5SSWIyOXJJRDBnWTNWeWNtVnVkRWh2YjJzdWJtVjRkRHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnVaWGgwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlyTzF4dVhHNGdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjMGh2YjJzZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNCdVpYaDBWMjl5YTBsdVVISnZaM0psYzNOSWIyOXJJRDBnWTNWeWNtVnVkR3g1VW1WdVpHVnlhVzVuUm1saVpYSWtNUzV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHNWxlSFJYYjNKclNXNVFjbTluY21WemMwaHZiMnNnUFNCM2IzSnJTVzVRY205bmNtVnpjMGh2YjJzdWJtVjRkRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHVaWGgwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1ZHaGxjbVVuY3lCaGJISmxZV1I1SUdFZ2QyOXlheTFwYmkxd2NtOW5jbVZ6Y3k0Z1VtVjFjMlVnYVhRdVhHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2JtVjRkRmR2Y210SmJsQnliMmR5WlhOelNHOXZhenRjYmlBZ0lDQnVaWGgwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2QyOXlhMGx1VUhKdlozSmxjM05JYjI5ckxtNWxlSFE3WEc0Z0lDQWdZM1Z5Y21WdWRFaHZiMnNnUFNCdVpYaDBRM1Z5Y21WdWRFaHZiMnM3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnTHk4Z1EyeHZibVVnWm5KdmJTQjBhR1VnWTNWeWNtVnVkQ0JvYjI5ckxseHVJQ0FnSUdsbUlDZ2hLRzVsZUhSRGRYSnlaVzUwU0c5dmF5QWhQVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVbVZ1WkdWeVpXUWdiVzl5WlNCb2IyOXJjeUIwYUdGdUlHUjFjbWx1WnlCMGFHVWdjSEpsZG1sdmRYTWdjbVZ1WkdWeUxsd2lJQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZM1Z5Y21WdWRFaHZiMnNnUFNCdVpYaDBRM1Z5Y21WdWRFaHZiMnM3WEc0Z0lDQWdkbUZ5SUc1bGQwaHZiMnNnUFNCN1hHNGdJQ0FnSUNCdFpXMXZhWHBsWkZOMFlYUmxPaUJqZFhKeVpXNTBTRzl2YXk1dFpXMXZhWHBsWkZOMFlYUmxMRnh1SUNBZ0lDQWdZbUZ6WlZOMFlYUmxPaUJqZFhKeVpXNTBTRzl2YXk1aVlYTmxVM1JoZEdVc1hHNGdJQ0FnSUNCaVlYTmxVWFZsZFdVNklHTjFjbkpsYm5SSWIyOXJMbUpoYzJWUmRXVjFaU3hjYmlBZ0lDQWdJSEYxWlhWbE9pQmpkWEp5Wlc1MFNHOXZheTV4ZFdWMVpTeGNiaUFnSUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOelNHOXZheUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdabWx5YzNRZ2FHOXZheUJwYmlCMGFHVWdiR2x6ZEM1Y2JpQWdJQ0FnSUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlKREV1YldWdGIybDZaV1JUZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOelNHOXZheUE5SUc1bGQwaHZiMnM3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRUZ3Y0dWdVpDQjBieUIwYUdVZ1pXNWtJRzltSUhSb1pTQnNhWE4wTGx4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2QyOXlhMGx1VUhKdlozSmxjM05JYjI5ckxtNWxlSFFnUFNCdVpYZEliMjlyTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIzYjNKclNXNVFjbTluY21WemMwaHZiMnM3WEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVWjFibU4wYVc5dVEyOXRjRzl1Wlc1MFZYQmtZWFJsVVhWbGRXVW9LU0I3WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnYkdGemRFVm1abVZqZERvZ2JuVnNiRnh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCaVlYTnBZMU4wWVhSbFVtVmtkV05sY2loemRHRjBaU3dnWVdOMGFXOXVLU0I3WEc0Z0lDOHZJQ1JHYkc5M1JtbDRUV1U2SUVac2IzY2daRzlsYzI0bmRDQnNhV3RsSUcxcGVHVmtJSFI1Y0dWelhHNGdJSEpsZEhWeWJpQjBlWEJsYjJZZ1lXTjBhVzl1SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnWVdOMGFXOXVLSE4wWVhSbEtTQTZJR0ZqZEdsdmJqdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXOTFiblJTWldSMVkyVnlLSEpsWkhWalpYSXNJR2x1YVhScFlXeEJjbWNzSUdsdWFYUXBJSHRjYmlBZ2RtRnlJR2h2YjJzZ1BTQnRiM1Z1ZEZkdmNtdEpibEJ5YjJkeVpYTnpTRzl2YXlncE8xeHVJQ0IyWVhJZ2FXNXBkR2xoYkZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2hwYm1sMElDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0JwYm1sMGFXRnNVM1JoZEdVZ1BTQnBibWwwS0dsdWFYUnBZV3hCY21jcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHbHVhWFJwWVd4VGRHRjBaU0E5SUdsdWFYUnBZV3hCY21jN1hHNGdJSDFjYmx4dUlDQm9iMjlyTG0xbGJXOXBlbVZrVTNSaGRHVWdQU0JvYjI5ckxtSmhjMlZUZEdGMFpTQTlJR2x1YVhScFlXeFRkR0YwWlR0Y2JpQWdkbUZ5SUhGMVpYVmxJRDBnYUc5dmF5NXhkV1YxWlNBOUlIdGNiaUFnSUNCd1pXNWthVzVuT2lCdWRXeHNMRnh1SUNBZ0lHUnBjM0JoZEdOb09pQnVkV3hzTEZ4dUlDQWdJR3hoYzNSU1pXNWtaWEpsWkZKbFpIVmpaWEk2SUhKbFpIVmpaWElzWEc0Z0lDQWdiR0Z6ZEZKbGJtUmxjbVZrVTNSaGRHVTZJR2x1YVhScFlXeFRkR0YwWlZ4dUlDQjlPMXh1SUNCMllYSWdaR2x6Y0dGMFkyZ2dQU0J4ZFdWMVpTNWthWE53WVhSamFDQTlJR1JwYzNCaGRHTm9RV04wYVc5dUxtSnBibVFvYm5Wc2JDd2dZM1Z5Y21WdWRHeDVVbVZ1WkdWeWFXNW5SbWxpWlhJa01Td2djWFZsZFdVcE8xeHVJQ0J5WlhSMWNtNGdXMmh2YjJzdWJXVnRiMmw2WldSVGRHRjBaU3dnWkdsemNHRjBZMmhkTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVlNaV1IxWTJWeUtISmxaSFZqWlhJc0lHbHVhWFJwWVd4QmNtY3NJR2x1YVhRcElIdGNiaUFnZG1GeUlHaHZiMnNnUFNCMWNHUmhkR1ZYYjNKclNXNVFjbTluY21WemMwaHZiMnNvS1R0Y2JpQWdkbUZ5SUhGMVpYVmxJRDBnYUc5dmF5NXhkV1YxWlR0Y2JseHVJQ0JwWmlBb0lTaHhkV1YxWlNBaFBUMGdiblZzYkNrcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pUYUc5MWJHUWdhR0YyWlNCaElIRjFaWFZsTGlCVWFHbHpJR2x6SUd4cGEyVnNlU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnhkV1YxWlM1c1lYTjBVbVZ1WkdWeVpXUlNaV1IxWTJWeUlEMGdjbVZrZFdObGNqdGNiaUFnZG1GeUlHTjFjbkpsYm5RZ1BTQmpkWEp5Wlc1MFNHOXZhenNnTHk4Z1ZHaGxJR3hoYzNRZ2NtVmlZWE5sSUhWd1pHRjBaU0IwYUdGMElHbHpJRTVQVkNCd1lYSjBJRzltSUhSb1pTQmlZWE5sSUhOMFlYUmxMbHh1WEc0Z0lIWmhjaUJpWVhObFVYVmxkV1VnUFNCamRYSnlaVzUwTG1KaGMyVlJkV1YxWlRzZ0x5OGdWR2hsSUd4aGMzUWdjR1Z1WkdsdVp5QjFjR1JoZEdVZ2RHaGhkQ0JvWVhOdUozUWdZbVZsYmlCd2NtOWpaWE56WldRZ2VXVjBMbHh1WEc0Z0lIWmhjaUJ3Wlc1a2FXNW5VWFZsZFdVZ1BTQnhkV1YxWlM1d1pXNWthVzVuTzF4dVhHNGdJR2xtSUNod1pXNWthVzVuVVhWbGRXVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQXZMeUJYWlNCb1lYWmxJRzVsZHlCMWNHUmhkR1Z6SUhSb1lYUWdhR0YyWlc0bmRDQmlaV1Z1SUhCeWIyTmxjM05sWkNCNVpYUXVYRzRnSUNBZ0x5OGdWMlVuYkd3Z1lXUmtJSFJvWlcwZ2RHOGdkR2hsSUdKaGMyVWdjWFZsZFdVdVhHNGdJQ0FnYVdZZ0tHSmhjMlZSZFdWMVpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdMeThnVFdWeVoyVWdkR2hsSUhCbGJtUnBibWNnY1hWbGRXVWdZVzVrSUhSb1pTQmlZWE5sSUhGMVpYVmxMbHh1SUNBZ0lDQWdkbUZ5SUdKaGMyVkdhWEp6ZENBOUlHSmhjMlZSZFdWMVpTNXVaWGgwTzF4dUlDQWdJQ0FnZG1GeUlIQmxibVJwYm1kR2FYSnpkQ0E5SUhCbGJtUnBibWRSZFdWMVpTNXVaWGgwTzF4dUlDQWdJQ0FnWW1GelpWRjFaWFZsTG01bGVIUWdQU0J3Wlc1a2FXNW5SbWx5YzNRN1hHNGdJQ0FnSUNCd1pXNWthVzVuVVhWbGRXVXVibVY0ZENBOUlHSmhjMlZHYVhKemREdGNiaUFnSUNCOVhHNWNiaUFnSUNCamRYSnlaVzUwTG1KaGMyVlJkV1YxWlNBOUlHSmhjMlZSZFdWMVpTQTlJSEJsYm1ScGJtZFJkV1YxWlR0Y2JpQWdJQ0J4ZFdWMVpTNXdaVzVrYVc1bklEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hpWVhObFVYVmxkV1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCWFpTQm9ZWFpsSUdFZ2NYVmxkV1VnZEc4Z2NISnZZMlZ6Y3k1Y2JpQWdJQ0IyWVhJZ1ptbHljM1FnUFNCaVlYTmxVWFZsZFdVdWJtVjRkRHRjYmlBZ0lDQjJZWElnYm1WM1UzUmhkR1VnUFNCamRYSnlaVzUwTG1KaGMyVlRkR0YwWlR0Y2JpQWdJQ0IyWVhJZ2JtVjNRbUZ6WlZOMFlYUmxJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdibVYzUW1GelpWRjFaWFZsUm1seWMzUWdQU0J1ZFd4c08xeHVJQ0FnSUhaaGNpQnVaWGRDWVhObFVYVmxkV1ZNWVhOMElEMGdiblZzYkR0Y2JpQWdJQ0IyWVhJZ2RYQmtZWFJsSUQwZ1ptbHljM1E3WEc1Y2JpQWdJQ0JrYnlCN1hHNGdJQ0FnSUNCMllYSWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCMWNHUmhkR1V1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJR2xtSUNoMWNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpTQThJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRkJ5YVc5eWFYUjVJR2x6SUdsdWMzVm1abWxqYVdWdWRDNGdVMnRwY0NCMGFHbHpJSFZ3WkdGMFpTNGdTV1lnZEdocGN5QnBjeUIwYUdVZ1ptbHljM1JjYmlBZ0lDQWdJQ0FnTHk4Z2MydHBjSEJsWkNCMWNHUmhkR1VzSUhSb1pTQndjbVYyYVc5MWN5QjFjR1JoZEdVdmMzUmhkR1VnYVhNZ2RHaGxJRzVsZHlCaVlYTmxYRzRnSUNBZ0lDQWdJQzh2SUhWd1pHRjBaUzl6ZEdGMFpTNWNiaUFnSUNBZ0lDQWdkbUZ5SUdOc2IyNWxJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lHVjRjR2x5WVhScGIyNVVhVzFsT2lCMWNHUmhkR1V1Wlhod2FYSmhkR2x2YmxScGJXVXNYRzRnSUNBZ0lDQWdJQ0FnYzNWemNHVnVjMlZEYjI1bWFXYzZJSFZ3WkdGMFpTNXpkWE53Wlc1elpVTnZibVpwWnl4Y2JpQWdJQ0FnSUNBZ0lDQmhZM1JwYjI0NklIVndaR0YwWlM1aFkzUnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ1pXRm5aWEpTWldSMVkyVnlPaUIxY0dSaGRHVXVaV0ZuWlhKU1pXUjFZMlZ5TEZ4dUlDQWdJQ0FnSUNBZ0lHVmhaMlZ5VTNSaGRHVTZJSFZ3WkdGMFpTNWxZV2RsY2xOMFlYUmxMRnh1SUNBZ0lDQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2JtVjNRbUZ6WlZGMVpYVmxUR0Z6ZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzVsZDBKaGMyVlJkV1YxWlVacGNuTjBJRDBnYm1WM1FtRnpaVkYxWlhWbFRHRnpkQ0E5SUdOc2IyNWxPMXh1SUNBZ0lDQWdJQ0FnSUc1bGQwSmhjMlZUZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUc1bGQwSmhjMlZSZFdWMVpVeGhjM1FnUFNCdVpYZENZWE5sVVhWbGRXVk1ZWE4wTG01bGVIUWdQU0JqYkc5dVpUdGNiaUFnSUNBZ0lDQWdmU0F2THlCVmNHUmhkR1VnZEdobElISmxiV0ZwYm1sdVp5QndjbWx2Y21sMGVTQnBiaUIwYUdVZ2NYVmxkV1V1WEc1Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVZ1BpQmpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReExtVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZM1Z5Y21WdWRHeDVVbVZ1WkdWeWFXNW5SbWxpWlhJa01TNWxlSEJwY21GMGFXOXVWR2x0WlNBOUlIVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdJQ0FnSUcxaGNtdFZibkJ5YjJObGMzTmxaRlZ3WkdGMFpWUnBiV1VvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklIVndaR0YwWlNCa2IyVnpJR2hoZG1VZ2MzVm1abWxqYVdWdWRDQndjbWx2Y21sMGVTNWNiaUFnSUNBZ0lDQWdhV1lnS0c1bGQwSmhjMlZSZFdWMVpVeGhjM1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWDJOc2IyNWxJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaWGh3YVhKaGRHbHZibFJwYldVNklGTjVibU1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdseklIVndaR0YwWlNCcGN5Qm5iMmx1WnlCMGJ5QmlaU0JqYjIxdGFYUjBaV1FnYzI4Z2QyVWdibVYyWlhJZ2QyRnVkQ0IxYm1OdmJXMXBkQ0JwZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xYzNCbGJuTmxRMjl1Wm1sbk9pQjFjR1JoZEdVdWMzVnpjR1Z1YzJWRGIyNW1hV2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmhZM1JwYjI0NklIVndaR0YwWlM1aFkzUnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxZV2RsY2xKbFpIVmpaWEk2SUhWd1pHRjBaUzVsWVdkbGNsSmxaSFZqWlhJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsWVdkbGNsTjBZWFJsT2lCMWNHUmhkR1V1WldGblpYSlRkR0YwWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsZUhRNklHNTFiR3hjYmlBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJRzVsZDBKaGMyVlJkV1YxWlV4aGMzUWdQU0J1WlhkQ1lYTmxVWFZsZFdWTVlYTjBMbTVsZUhRZ1BTQmZZMnh2Ym1VN1hHNGdJQ0FnSUNBZ0lIMGdMeThnVFdGeWF5QjBhR1VnWlhabGJuUWdkR2x0WlNCdlppQjBhR2x6SUhWd1pHRjBaU0JoY3lCeVpXeGxkbUZ1ZENCMGJ5QjBhR2x6SUhKbGJtUmxjaUJ3WVhOekxseHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlVhR2x6SUhOb2IzVnNaQ0JwWkdWaGJHeDVJSFZ6WlNCMGFHVWdkSEoxWlNCbGRtVnVkQ0IwYVcxbElHOW1JSFJvYVhNZ2RYQmtZWFJsSUhKaGRHaGxjaUIwYUdGdVhHNGdJQ0FnSUNBZ0lDOHZJR2wwY3lCd2NtbHZjbWwwZVNCM2FHbGphQ0JwY3lCaElHUmxjbWwyWldRZ1lXNWtJRzV2ZENCeVpYWmxjbk5sWVdKc1pTQjJZV3gxWlM1Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1YyVWdjMmh2ZFd4a0lITnJhWEFnZEdocGN5QjFjR1JoZEdVZ2FXWWdhWFFnZDJGeklHRnNjbVZoWkhrZ1kyOXRiV2wwZEdWa0lHSjFkQ0JqZFhKeVpXNTBiSGxjYmlBZ0lDQWdJQ0FnTHk4Z2QyVWdhR0YyWlNCdWJ5QjNZWGtnYjJZZ1pHVjBaV04wYVc1bklIUm9aU0JrYVdabVpYSmxibU5sSUdKbGRIZGxaVzRnWVNCamIyMXRhWFIwWldRZ1lXNWtJSE4xYzNCbGJtUmxaRnh1SUNBZ0lDQWdJQ0F2THlCMWNHUmhkR1VnYUdWeVpTNWNibHh1WEc0Z0lDQWdJQ0FnSUcxaGNtdFNaVzVrWlhKRmRtVnVkRlJwYldWQmJtUkRiMjVtYVdjb2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVXNJSFZ3WkdGMFpTNXpkWE53Wlc1elpVTnZibVpwWnlrN0lDOHZJRkJ5YjJObGMzTWdkR2hwY3lCMWNHUmhkR1V1WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFZ3WkdGMFpTNWxZV2RsY2xKbFpIVmpaWElnUFQwOUlISmxaSFZqWlhJcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCSlppQjBhR2x6SUhWd1pHRjBaU0IzWVhNZ2NISnZZMlZ6YzJWa0lHVmhaMlZ5Ykhrc0lHRnVaQ0JwZEhNZ2NtVmtkV05sY2lCdFlYUmphR1Z6SUhSb1pWeHVJQ0FnSUNBZ0lDQWdJQzh2SUdOMWNuSmxiblFnY21Wa2RXTmxjaXdnZDJVZ1kyRnVJSFZ6WlNCMGFHVWdaV0ZuWlhKc2VTQmpiMjF3ZFhSbFpDQnpkR0YwWlM1Y2JpQWdJQ0FnSUNBZ0lDQnVaWGRUZEdGMFpTQTlJSFZ3WkdGMFpTNWxZV2RsY2xOMFlYUmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmhZM1JwYjI0Z1BTQjFjR1JoZEdVdVlXTjBhVzl1TzF4dUlDQWdJQ0FnSUNBZ0lHNWxkMU4wWVhSbElEMGdjbVZrZFdObGNpaHVaWGRUZEdGMFpTd2dZV04wYVc5dUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IxY0dSaGRHVWdQU0IxY0dSaGRHVXVibVY0ZER0Y2JpQWdJQ0I5SUhkb2FXeGxJQ2gxY0dSaGRHVWdJVDA5SUc1MWJHd2dKaVlnZFhCa1lYUmxJQ0U5UFNCbWFYSnpkQ2s3WEc1Y2JpQWdJQ0JwWmlBb2JtVjNRbUZ6WlZGMVpYVmxUR0Z6ZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2JtVjNRbUZ6WlZOMFlYUmxJRDBnYm1WM1UzUmhkR1U3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHNWxkMEpoYzJWUmRXVjFaVXhoYzNRdWJtVjRkQ0E5SUc1bGQwSmhjMlZSZFdWMVpVWnBjbk4wTzF4dUlDQWdJSDBnTHk4Z1RXRnlheUIwYUdGMElIUm9aU0JtYVdKbGNpQndaWEptYjNKdFpXUWdkMjl5YXl3Z1luVjBJRzl1YkhrZ2FXWWdkR2hsSUc1bGR5QnpkR0YwWlNCcGMxeHVJQ0FnSUM4dklHUnBabVpsY21WdWRDQm1jbTl0SUhSb1pTQmpkWEp5Wlc1MElITjBZWFJsTGx4dVhHNWNiaUFnSUNCcFppQW9JVzlpYW1WamRFbHpLRzVsZDFOMFlYUmxMQ0JvYjI5ckxtMWxiVzlwZW1Wa1UzUmhkR1VwS1NCN1hHNGdJQ0FnSUNCdFlYSnJWMjl5YTBsdVVISnZaM0psYzNOU1pXTmxhWFpsWkZWd1pHRjBaU2dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQWdJR2h2YjJzdVltRnpaVk4wWVhSbElEMGdibVYzUW1GelpWTjBZWFJsTzF4dUlDQWdJR2h2YjJzdVltRnpaVkYxWlhWbElEMGdibVYzUW1GelpWRjFaWFZsVEdGemREdGNiaUFnSUNCeGRXVjFaUzVzWVhOMFVtVnVaR1Z5WldSVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR1JwYzNCaGRHTm9JRDBnY1hWbGRXVXVaR2x6Y0dGMFkyZzdYRzRnSUhKbGRIVnliaUJiYUc5dmF5NXRaVzF2YVhwbFpGTjBZWFJsTENCa2FYTndZWFJqYUYwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhKbGNtVnVaR1Z5VW1Wa2RXTmxjaWh5WldSMVkyVnlMQ0JwYm1sMGFXRnNRWEpuTENCcGJtbDBLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdkWEJrWVhSbFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDazdYRzRnSUhaaGNpQnhkV1YxWlNBOUlHaHZiMnN1Y1hWbGRXVTdYRzVjYmlBZ2FXWWdLQ0VvY1hWbGRXVWdJVDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVUyaHZkV3hrSUdoaGRtVWdZU0J4ZFdWMVpTNGdWR2hwY3lCcGN5QnNhV3RsYkhrZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY1hWbGRXVXViR0Z6ZEZKbGJtUmxjbVZrVW1Wa2RXTmxjaUE5SUhKbFpIVmpaWEk3SUM4dklGUm9hWE1nYVhNZ1lTQnlaUzF5Wlc1a1pYSXVJRUZ3Y0d4NUlIUm9aU0J1WlhjZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpYTWdkRzhnZEdobElIQnlaWFpwYjNWelhHNGdJQzh2SUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nYUc5dmF5NWNibHh1SUNCMllYSWdaR2x6Y0dGMFkyZ2dQU0J4ZFdWMVpTNWthWE53WVhSamFEdGNiaUFnZG1GeUlHeGhjM1JTWlc1a1pYSlFhR0Z6WlZWd1pHRjBaU0E5SUhGMVpYVmxMbkJsYm1ScGJtYzdYRzRnSUhaaGNpQnVaWGRUZEdGMFpTQTlJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQnBaaUFvYkdGemRGSmxibVJsY2xCb1lYTmxWWEJrWVhSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWR2hsSUhGMVpYVmxJR1J2WlhOdUozUWdjR1Z5YzJsemRDQndZWE4wSUhSb2FYTWdjbVZ1WkdWeUlIQmhjM011WEc0Z0lDQWdjWFZsZFdVdWNHVnVaR2x1WnlBOUlHNTFiR3c3WEc0Z0lDQWdkbUZ5SUdacGNuTjBVbVZ1WkdWeVVHaGhjMlZWY0dSaGRHVWdQU0JzWVhOMFVtVnVaR1Z5VUdoaGMyVlZjR1JoZEdVdWJtVjRkRHRjYmlBZ0lDQjJZWElnZFhCa1lYUmxJRDBnWm1seWMzUlNaVzVrWlhKUWFHRnpaVlZ3WkdGMFpUdGNibHh1SUNBZ0lHUnZJSHRjYmlBZ0lDQWdJQzh2SUZCeWIyTmxjM01nZEdocGN5QnlaVzVrWlhJZ2NHaGhjMlVnZFhCa1lYUmxMaUJYWlNCa2IyNG5kQ0JvWVhabElIUnZJR05vWldOcklIUm9aVnh1SUNBZ0lDQWdMeThnY0hKcGIzSnBkSGtnWW1WallYVnpaU0JwZENCM2FXeHNJR0ZzZDJGNWN5QmlaU0IwYUdVZ2MyRnRaU0JoY3lCMGFHVWdZM1Z5Y21WdWRGeHVJQ0FnSUNBZ0x5OGdjbVZ1WkdWeUozTXVYRzRnSUNBZ0lDQjJZWElnWVdOMGFXOXVJRDBnZFhCa1lYUmxMbUZqZEdsdmJqdGNiaUFnSUNBZ0lHNWxkMU4wWVhSbElEMGdjbVZrZFdObGNpaHVaWGRUZEdGMFpTd2dZV04wYVc5dUtUdGNiaUFnSUNBZ0lIVndaR0YwWlNBOUlIVndaR0YwWlM1dVpYaDBPMXh1SUNBZ0lIMGdkMmhwYkdVZ0tIVndaR0YwWlNBaFBUMGdabWx5YzNSU1pXNWtaWEpRYUdGelpWVndaR0YwWlNrN0lDOHZJRTFoY21zZ2RHaGhkQ0IwYUdVZ1ptbGlaWElnY0dWeVptOXliV1ZrSUhkdmNtc3NJR0oxZENCdmJteDVJR2xtSUhSb1pTQnVaWGNnYzNSaGRHVWdhWE5jYmlBZ0lDQXZMeUJrYVdabVpYSmxiblFnWm5KdmJTQjBhR1VnWTNWeWNtVnVkQ0J6ZEdGMFpTNWNibHh1WEc0Z0lDQWdhV1lnS0NGdlltcGxZM1JKY3lodVpYZFRkR0YwWlN3Z2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbEtTa2dlMXh1SUNBZ0lDQWdiV0Z5YTFkdmNtdEpibEJ5YjJkeVpYTnpVbVZqWldsMlpXUlZjR1JoZEdVb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCb2IyOXJMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVaWGRUZEdGMFpUc2dMeThnUkc5dUozUWdjR1Z5YzJsemRDQjBhR1VnYzNSaGRHVWdZV05qZFcxMWJHRjBaV1FnWm5KdmJTQjBhR1VnY21WdVpHVnlJSEJvWVhObElIVndaR0YwWlhNZ2RHOWNiaUFnSUNBdkx5QjBhR1VnWW1GelpTQnpkR0YwWlNCMWJteGxjM01nZEdobElIRjFaWFZsSUdseklHVnRjSFI1TGx4dUlDQWdJQzh2SUZSUFJFODZJRTV2ZENCemRYSmxJR2xtSUhSb2FYTWdhWE1nZEdobElHUmxjMmx5WldRZ2MyVnRZVzUwYVdOekxDQmlkWFFnYVhRbmN5QjNhR0YwSUhkbFhHNGdJQ0FnTHk4Z1pHOGdabTl5SUdkRVUwWlFMaUJKSUdOaGJpZDBJSEpsYldWdFltVnlJSGRvZVM1Y2JseHVJQ0FnSUdsbUlDaG9iMjlyTG1KaGMyVlJkV1YxWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FHOXZheTVpWVhObFUzUmhkR1VnUFNCdVpYZFRkR0YwWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J4ZFdWMVpTNXNZWE4wVW1WdVpHVnlaV1JUZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRnR1WlhkVGRHRjBaU3dnWkdsemNHRjBZMmhkTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0YjNWdWRGTjBZWFJsS0dsdWFYUnBZV3hUZEdGMFpTa2dlMXh1SUNCMllYSWdhRzl2YXlBOUlHMXZkVzUwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlyS0NrN1hHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGJtbDBhV0ZzVTNSaGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBdkx5QWtSbXh2ZDBacGVFMWxPaUJHYkc5M0lHUnZaWE51SjNRZ2JHbHJaU0J0YVhobFpDQjBlWEJsYzF4dUlDQWdJR2x1YVhScFlXeFRkR0YwWlNBOUlHbHVhWFJwWVd4VGRHRjBaU2dwTzF4dUlDQjlYRzVjYmlBZ2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdhRzl2YXk1aVlYTmxVM1JoZEdVZ1BTQnBibWwwYVdGc1UzUmhkR1U3WEc0Z0lIWmhjaUJ4ZFdWMVpTQTlJR2h2YjJzdWNYVmxkV1VnUFNCN1hHNGdJQ0FnY0dWdVpHbHVaem9nYm5Wc2JDeGNiaUFnSUNCa2FYTndZWFJqYURvZ2JuVnNiQ3hjYmlBZ0lDQnNZWE4wVW1WdVpHVnlaV1JTWldSMVkyVnlPaUJpWVhOcFkxTjBZWFJsVW1Wa2RXTmxjaXhjYmlBZ0lDQnNZWE4wVW1WdVpHVnlaV1JUZEdGMFpUb2dhVzVwZEdsaGJGTjBZWFJsWEc0Z0lIMDdYRzRnSUhaaGNpQmthWE53WVhSamFDQTlJSEYxWlhWbExtUnBjM0JoZEdOb0lEMGdaR2x6Y0dGMFkyaEJZM1JwYjI0dVltbHVaQ2h1ZFd4c0xDQmpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReExDQnhkV1YxWlNrN1hHNGdJSEpsZEhWeWJpQmJhRzl2YXk1dFpXMXZhWHBsWkZOMFlYUmxMQ0JrYVhOd1lYUmphRjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpWTjBZWFJsS0dsdWFYUnBZV3hUZEdGMFpTa2dlMXh1SUNCeVpYUjFjbTRnZFhCa1lYUmxVbVZrZFdObGNpaGlZWE5wWTFOMFlYUmxVbVZrZFdObGNpazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxjbVZ1WkdWeVUzUmhkR1VvYVc1cGRHbGhiRk4wWVhSbEtTQjdYRzRnSUhKbGRIVnliaUJ5WlhKbGJtUmxjbEpsWkhWalpYSW9ZbUZ6YVdOVGRHRjBaVkpsWkhWalpYSXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndkWE5vUldabVpXTjBLSFJoWnl3Z1kzSmxZWFJsTENCa1pYTjBjbTk1TENCa1pYQnpLU0I3WEc0Z0lIWmhjaUJsWm1abFkzUWdQU0I3WEc0Z0lDQWdkR0ZuT2lCMFlXY3NYRzRnSUNBZ1kzSmxZWFJsT2lCamNtVmhkR1VzWEc0Z0lDQWdaR1Z6ZEhKdmVUb2daR1Z6ZEhKdmVTeGNiaUFnSUNCa1pYQnpPaUJrWlhCekxGeHVJQ0FnSUM4dklFTnBjbU4xYkdGeVhHNGdJQ0FnYm1WNGREb2diblZzYkZ4dUlDQjlPMXh1SUNCMllYSWdZMjl0Y0c5dVpXNTBWWEJrWVhSbFVYVmxkV1VnUFNCamRYSnlaVzUwYkhsU1pXNWtaWEpwYm1kR2FXSmxjaVF4TG5Wd1pHRjBaVkYxWlhWbE8xeHVYRzRnSUdsbUlDaGpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR052YlhCdmJtVnVkRlZ3WkdGMFpWRjFaWFZsSUQwZ1kzSmxZWFJsUm5WdVkzUnBiMjVEYjIxd2IyNWxiblJWY0dSaGRHVlJkV1YxWlNncE8xeHVJQ0FnSUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlKREV1ZFhCa1lYUmxVWFZsZFdVZ1BTQmpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaVHRjYmlBZ0lDQmpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaUzVzWVhOMFJXWm1aV04wSUQwZ1pXWm1aV04wTG01bGVIUWdQU0JsWm1abFkzUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUd4aGMzUkZabVpsWTNRZ1BTQmpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaUzVzWVhOMFJXWm1aV04wTzF4dVhHNGdJQ0FnYVdZZ0tHeGhjM1JGWm1abFkzUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR052YlhCdmJtVnVkRlZ3WkdGMFpWRjFaWFZsTG14aGMzUkZabVpsWTNRZ1BTQmxabVpsWTNRdWJtVjRkQ0E5SUdWbVptVmpkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtRnlJR1pwY25OMFJXWm1aV04wSUQwZ2JHRnpkRVZtWm1WamRDNXVaWGgwTzF4dUlDQWdJQ0FnYkdGemRFVm1abVZqZEM1dVpYaDBJRDBnWldabVpXTjBPMXh1SUNBZ0lDQWdaV1ptWldOMExtNWxlSFFnUFNCbWFYSnpkRVZtWm1WamREdGNiaUFnSUNBZ0lHTnZiWEJ2Ym1WdWRGVndaR0YwWlZGMVpYVmxMbXhoYzNSRlptWmxZM1FnUFNCbFptWmxZM1E3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1ZtWm1WamREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXOTFiblJTWldZb2FXNXBkR2xoYkZaaGJIVmxLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdiVzkxYm5SWGIzSnJTVzVRY205bmNtVnpjMGh2YjJzb0tUdGNiaUFnZG1GeUlISmxaaUE5SUh0Y2JpQWdJQ0JqZFhKeVpXNTBPaUJwYm1sMGFXRnNWbUZzZFdWY2JpQWdmVHRjYmx4dUlDQjdYRzRnSUNBZ1QySnFaV04wTG5ObFlXd29jbVZtS1R0Y2JpQWdmVnh1WEc0Z0lHaHZiMnN1YldWdGIybDZaV1JUZEdGMFpTQTlJSEpsWmp0Y2JpQWdjbVYwZFhKdUlISmxaanRjYm4xY2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVm1LR2x1YVhScFlXeFdZV3gxWlNrZ2UxeHVJQ0IyWVhJZ2FHOXZheUE5SUhWd1pHRjBaVmR2Y210SmJsQnliMmR5WlhOelNHOXZheWdwTzF4dUlDQnlaWFIxY200Z2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdGIzVnVkRVZtWm1WamRFbHRjR3dvWm1saVpYSkZabVpsWTNSVVlXY3NJR2h2YjJ0RlptWmxZM1JVWVdjc0lHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjJZWElnYUc5dmF5QTlJRzF2ZFc1MFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDazdYRzRnSUhaaGNpQnVaWGgwUkdWd2N5QTlJR1JsY0hNZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUc1MWJHd2dPaUJrWlhCek8xeHVJQ0JqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhMbVZtWm1WamRGUmhaeUI4UFNCbWFXSmxja1ZtWm1WamRGUmhaenRjYmlBZ2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdjSFZ6YUVWbVptVmpkQ2hJWVhORlptWmxZM1FnZkNCb2IyOXJSV1ptWldOMFZHRm5MQ0JqY21WaGRHVXNJSFZ1WkdWbWFXNWxaQ3dnYm1WNGRFUmxjSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkZabVpsWTNSSmJYQnNLR1pwWW1WeVJXWm1aV04wVkdGbkxDQm9iMjlyUldabVpXTjBWR0ZuTENCamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ2RtRnlJR2h2YjJzZ1BTQjFjR1JoZEdWWGIzSnJTVzVRY205bmNtVnpjMGh2YjJzb0tUdGNiaUFnZG1GeUlHNWxlSFJFWlhCeklEMGdaR1Z3Y3lBOVBUMGdkVzVrWldacGJtVmtJRDhnYm5Wc2JDQTZJR1JsY0hNN1hHNGdJSFpoY2lCa1pYTjBjbTk1SUQwZ2RXNWtaV1pwYm1Wa08xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MFNHOXZheUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSFpoY2lCd2NtVjJSV1ptWldOMElEMGdZM1Z5Y21WdWRFaHZiMnN1YldWdGIybDZaV1JUZEdGMFpUdGNiaUFnSUNCa1pYTjBjbTk1SUQwZ2NISmxka1ZtWm1WamRDNWtaWE4wY205NU8xeHVYRzRnSUNBZ2FXWWdLRzVsZUhSRVpYQnpJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JsY0hNZ1BTQndjbVYyUldabVpXTjBMbVJsY0hNN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoY21WSWIyOXJTVzV3ZFhSelJYRjFZV3dvYm1WNGRFUmxjSE1zSUhCeVpYWkVaWEJ6S1NrZ2UxeHVJQ0FnSUNBZ0lDQndkWE5vUldabVpXTjBLR2h2YjJ0RlptWmxZM1JVWVdjc0lHTnlaV0YwWlN3Z1pHVnpkSEp2ZVN3Z2JtVjRkRVJsY0hNcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElrTVM1bFptWmxZM1JVWVdjZ2ZEMGdabWxpWlhKRlptWmxZM1JVWVdjN1hHNGdJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaU0E5SUhCMWMyaEZabVpsWTNRb1NHRnpSV1ptWldOMElId2dhRzl2YTBWbVptVmpkRlJoWnl3Z1kzSmxZWFJsTENCa1pYTjBjbTk1TENCdVpYaDBSR1Z3Y3lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjdYRzRnSUNBZ0x5OGdKRVpzYjNkRmVIQmxZM1JsWkVWeWNtOXlJQzBnYW1WemRDQnBjMjRuZENCaElHZHNiMkpoYkN3Z1lXNWtJR2x6YmlkMElISmxZMjluYm1sNlpXUWdiM1YwYzJsa1pTQnZaaUIwWlhOMGMxeHVJQ0FnSUdsbUlDZ25kVzVrWldacGJtVmtKeUFoUFQwZ2RIbHdaVzltSUdwbGMzUXBJSHRjYmlBZ0lDQWdJSGRoY201SlprNXZkRU4xY25KbGJuUnNlVUZqZEdsdVowVm1abVZqZEhOSmJrUkZWaWhqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiVzkxYm5SRlptWmxZM1JKYlhCc0tGVndaR0YwWlNCOElGQmhjM05wZG1Vc0lGQmhjM05wZG1Va01Td2dZM0psWVhSbExDQmtaWEJ6S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFhCa1lYUmxSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjdYRzRnSUNBZ0x5OGdKRVpzYjNkRmVIQmxZM1JsWkVWeWNtOXlJQzBnYW1WemRDQnBjMjRuZENCaElHZHNiMkpoYkN3Z1lXNWtJR2x6YmlkMElISmxZMjluYm1sNlpXUWdiM1YwYzJsa1pTQnZaaUIwWlhOMGMxeHVJQ0FnSUdsbUlDZ25kVzVrWldacGJtVmtKeUFoUFQwZ2RIbHdaVzltSUdwbGMzUXBJSHRjYmlBZ0lDQWdJSGRoY201SlprNXZkRU4xY25KbGJuUnNlVUZqZEdsdVowVm1abVZqZEhOSmJrUkZWaWhqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkWEJrWVhSbFJXWm1aV04wU1cxd2JDaFZjR1JoZEdVZ2ZDQlFZWE56YVhabExDQlFZWE56YVhabEpERXNJR055WldGMFpTd2daR1Z3Y3lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBUR0Y1YjNWMFJXWm1aV04wS0dOeVpXRjBaU3dnWkdWd2N5a2dlMXh1SUNCeVpYUjFjbTRnYlc5MWJuUkZabVpsWTNSSmJYQnNLRlZ3WkdGMFpTd2dUR0Y1YjNWMExDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVk1ZWGx2ZFhSRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUhKbGRIVnliaUIxY0dSaGRHVkZabVpsWTNSSmJYQnNLRlZ3WkdGMFpTd2dUR0Y1YjNWMExDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYlhCbGNtRjBhWFpsU0dGdVpHeGxSV1ptWldOMEtHTnlaV0YwWlN3Z2NtVm1LU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdjbVZtSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdkbUZ5SUhKbFprTmhiR3hpWVdOcklEMGdjbVZtTzF4dVhHNGdJQ0FnZG1GeUlGOXBibk4wSUQwZ1kzSmxZWFJsS0NrN1hHNWNiaUFnSUNCeVpXWkRZV3hzWW1GamF5aGZhVzV6ZENrN1hHNGdJQ0FnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUhKbFprTmhiR3hpWVdOcktHNTFiR3dwTzF4dUlDQWdJSDA3WEc0Z0lIMGdaV3h6WlNCcFppQW9jbVZtSUNFOVBTQnVkV3hzSUNZbUlISmxaaUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2RtRnlJSEpsWms5aWFtVmpkQ0E5SUhKbFpqdGNibHh1SUNBZ0lIdGNiaUFnSUNBZ0lHbG1JQ2doY21WbVQySnFaV04wTG1oaGMwOTNibEJ5YjNCbGNuUjVLQ2RqZFhKeVpXNTBKeWtwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUhWelpVbHRjR1Z5WVhScGRtVklZVzVrYkdVb0tTQm1hWEp6ZENCaGNtZDFiV1Z1ZENCMGJ5QmxhWFJvWlhJZ1ltVWdZU0FuSUNzZ0ozSmxaaUJqWVd4c1ltRmpheUJ2Y2lCU1pXRmpkQzVqY21WaGRHVlNaV1lvS1NCdlltcGxZM1F1SUVsdWMzUmxZV1FnY21WalpXbDJaV1E2SUNWekxpY3NJQ2RoYmlCdlltcGxZM1FnZDJsMGFDQnJaWGx6SUhzbklDc2dUMkpxWldOMExtdGxlWE1vY21WbVQySnFaV04wS1M1cWIybHVLQ2NzSUNjcElDc2dKMzBuS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1gybHVjM1F5SUQwZ1kzSmxZWFJsS0NrN1hHNWNiaUFnSUNCeVpXWlBZbXBsWTNRdVkzVnljbVZ1ZENBOUlGOXBibk4wTWp0Y2JpQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnY21WbVQySnFaV04wTG1OMWNuSmxiblFnUFNCdWRXeHNPMXh1SUNBZ0lIMDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYlc5MWJuUkpiWEJsY21GMGFYWmxTR0Z1Wkd4bEtISmxaaXdnWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdOeVpXRjBaU0FoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lIVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW9LU0J6WldOdmJtUWdZWEpuZFcxbGJuUWdkRzhnWW1VZ1lTQm1kVzVqZEdsdmJpQW5JQ3NnSjNSb1lYUWdZM0psWVhSbGN5QmhJR2hoYm1Sc1pTNGdTVzV6ZEdWaFpDQnlaV05sYVhabFpEb2dKWE11Snl3Z1kzSmxZWFJsSUNFOVBTQnVkV3hzSUQ4Z2RIbHdaVzltSUdOeVpXRjBaU0E2SUNkdWRXeHNKeWs3WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRlJQUkU4NklFbG1JR1JsY0hNZ1lYSmxJSEJ5YjNacFpHVmtMQ0J6YUc5MWJHUWdkMlVnYzJ0cGNDQmpiMjF3WVhKcGJtY2dkR2hsSUhKbFppQnBkSE5sYkdZL1hHNWNibHh1SUNCMllYSWdaV1ptWldOMFJHVndjeUE5SUdSbGNITWdJVDA5SUc1MWJHd2dKaVlnWkdWd2N5QWhQVDBnZFc1a1pXWnBibVZrSUQ4Z1pHVndjeTVqYjI1allYUW9XM0psWmwwcElEb2diblZzYkR0Y2JpQWdjbVYwZFhKdUlHMXZkVzUwUldabVpXTjBTVzF3YkNoVmNHUmhkR1VzSUV4aGVXOTFkQ3dnYVcxd1pYSmhkR2wyWlVoaGJtUnNaVVZtWm1WamRDNWlhVzVrS0c1MWJHd3NJR055WldGMFpTd2djbVZtS1N3Z1pXWm1aV04wUkdWd2N5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVndaR0YwWlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdZM0psWVhSbElDRTlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduUlhod1pXTjBaV1FnZFhObFNXMXdaWEpoZEdsMlpVaGhibVJzWlNncElITmxZMjl1WkNCaGNtZDFiV1Z1ZENCMGJ5QmlaU0JoSUdaMWJtTjBhVzl1SUNjZ0t5QW5kR2hoZENCamNtVmhkR1Z6SUdFZ2FHRnVaR3hsTGlCSmJuTjBaV0ZrSUhKbFkyVnBkbVZrT2lBbGN5NG5MQ0JqY21WaGRHVWdJVDA5SUc1MWJHd2dQeUIwZVhCbGIyWWdZM0psWVhSbElEb2dKMjUxYkd3bktUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1ZFOUVUem9nU1dZZ1pHVndjeUJoY21VZ2NISnZkbWxrWldRc0lITm9iM1ZzWkNCM1pTQnphMmx3SUdOdmJYQmhjbWx1WnlCMGFHVWdjbVZtSUdsMGMyVnNaajljYmx4dVhHNGdJSFpoY2lCbFptWmxZM1JFWlhCeklEMGdaR1Z3Y3lBaFBUMGdiblZzYkNBbUppQmtaWEJ6SUNFOVBTQjFibVJsWm1sdVpXUWdQeUJrWlhCekxtTnZibU5oZENoYmNtVm1YU2tnT2lCdWRXeHNPMXh1SUNCeVpYUjFjbTRnZFhCa1lYUmxSV1ptWldOMFNXMXdiQ2hWY0dSaGRHVXNJRXhoZVc5MWRDd2dhVzF3WlhKaGRHbDJaVWhoYm1Sc1pVVm1abVZqZEM1aWFXNWtLRzUxYkd3c0lHTnlaV0YwWlN3Z2NtVm1LU3dnWldabVpXTjBSR1Z3Y3lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBSR1ZpZFdkV1lXeDFaU2gyWVd4MVpTd2dabTl5YldGMGRHVnlSbTRwSUhzdkx5QlVhR2x6SUdodmIyc2dhWE1nYm05eWJXRnNiSGtnWVNCdWJ5MXZjQzVjYmlBZ0x5OGdWR2hsSUhKbFlXTjBMV1JsWW5WbkxXaHZiMnR6SUhCaFkydGhaMlVnYVc1cVpXTjBjeUJwZEhNZ2IzZHVJR2x0Y0d4bGJXVnVkR0YwYVc5dVhHNGdJQzh2SUhOdklIUm9ZWFFnWlM1bkxpQkVaWFpVYjI5c2N5QmpZVzRnWkdsemNHeGhlU0JqZFhOMGIyMGdhRzl2YXlCMllXeDFaWE11WEc1OVhHNWNiblpoY2lCMWNHUmhkR1ZFWldKMVoxWmhiSFZsSUQwZ2JXOTFiblJFWldKMVoxWmhiSFZsTzF4dVhHNW1kVzVqZEdsdmJpQnRiM1Z1ZEVOaGJHeGlZV05yS0dOaGJHeGlZV05yTENCa1pYQnpLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdiVzkxYm5SWGIzSnJTVzVRY205bmNtVnpjMGh2YjJzb0tUdGNiaUFnZG1GeUlHNWxlSFJFWlhCeklEMGdaR1Z3Y3lBOVBUMGdkVzVrWldacGJtVmtJRDhnYm5Wc2JDQTZJR1JsY0hNN1hHNGdJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaU0E5SUZ0allXeHNZbUZqYXl3Z2JtVjRkRVJsY0hOZE8xeHVJQ0J5WlhSMWNtNGdZMkZzYkdKaFkyczdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVndaR0YwWlVOaGJHeGlZV05yS0dOaGJHeGlZV05yTENCa1pYQnpLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdkWEJrWVhSbFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDazdYRzRnSUhaaGNpQnVaWGgwUkdWd2N5QTlJR1JsY0hNZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUc1MWJHd2dPaUJrWlhCek8xeHVJQ0IyWVhJZ2NISmxkbE4wWVhSbElEMGdhRzl2YXk1dFpXMXZhWHBsWkZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2h3Y21WMlUzUmhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb2JtVjRkRVJsY0hNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJHVndjeUE5SUhCeVpYWlRkR0YwWlZzeFhUdGNibHh1SUNBZ0lDQWdhV1lnS0dGeVpVaHZiMnRKYm5CMWRITkZjWFZoYkNodVpYaDBSR1Z3Y3l3Z2NISmxka1JsY0hNcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQndjbVYyVTNSaGRHVmJNRjA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYUc5dmF5NXRaVzF2YVhwbFpGTjBZWFJsSUQwZ1cyTmhiR3hpWVdOckxDQnVaWGgwUkdWd2MxMDdYRzRnSUhKbGRIVnliaUJqWVd4c1ltRmphenRjYm4xY2JseHVablZ1WTNScGIyNGdiVzkxYm5STlpXMXZLRzVsZUhSRGNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ2RtRnlJR2h2YjJzZ1BTQnRiM1Z1ZEZkdmNtdEpibEJ5YjJkeVpYTnpTRzl2YXlncE8xeHVJQ0IyWVhJZ2JtVjRkRVJsY0hNZ1BTQmtaWEJ6SUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ1ZFd4c0lEb2daR1Z3Y3p0Y2JpQWdkbUZ5SUc1bGVIUldZV3gxWlNBOUlHNWxlSFJEY21WaGRHVW9LVHRjYmlBZ2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdXMjVsZUhSV1lXeDFaU3dnYm1WNGRFUmxjSE5kTzF4dUlDQnlaWFIxY200Z2JtVjRkRlpoYkhWbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWNHUmhkR1ZOWlcxdktHNWxlSFJEY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnZG1GeUlHaHZiMnNnUFNCMWNHUmhkR1ZYYjNKclNXNVFjbTluY21WemMwaHZiMnNvS1R0Y2JpQWdkbUZ5SUc1bGVIUkVaWEJ6SUQwZ1pHVndjeUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHUmxjSE03WEc0Z0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCb2IyOXJMbTFsYlc5cGVtVmtVM1JoZEdVN1hHNWNiaUFnYVdZZ0tIQnlaWFpUZEdGMFpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDOHZJRUZ6YzNWdFpTQjBhR1Z6WlNCaGNtVWdaR1ZtYVc1bFpDNGdTV1lnZEdobGVTZHlaU0J1YjNRc0lHRnlaVWh2YjJ0SmJuQjFkSE5GY1hWaGJDQjNhV3hzSUhkaGNtNHVYRzRnSUNBZ2FXWWdLRzVsZUhSRVpYQnpJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JsY0hNZ1BTQndjbVYyVTNSaGRHVmJNVjA3WEc1Y2JpQWdJQ0FnSUdsbUlDaGhjbVZJYjI5clNXNXdkWFJ6UlhGMVlXd29ibVY0ZEVSbGNITXNJSEJ5WlhaRVpYQnpLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0hKbGRsTjBZWFJsV3pCZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ1WlhoMFZtRnNkV1VnUFNCdVpYaDBRM0psWVhSbEtDazdYRzRnSUdodmIyc3ViV1Z0YjJsNlpXUlRkR0YwWlNBOUlGdHVaWGgwVm1Gc2RXVXNJRzVsZUhSRVpYQnpYVHRjYmlBZ2NtVjBkWEp1SUc1bGVIUldZV3gxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYlc5MWJuUkVaV1psY25KbFpGWmhiSFZsS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ2RtRnlJRjl0YjNWdWRGTjBZWFJsSUQwZ2JXOTFiblJUZEdGMFpTaDJZV3gxWlNrc1hHNGdJQ0FnSUNCd2NtVjJWbUZzZFdVZ1BTQmZiVzkxYm5SVGRHRjBaVnN3WFN4Y2JpQWdJQ0FnSUhObGRGWmhiSFZsSUQwZ1gyMXZkVzUwVTNSaGRHVmJNVjA3WEc1Y2JpQWdiVzkxYm5SRlptWmxZM1FvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhaaGNpQndjbVYyYVc5MWMwTnZibVpwWnlBOUlGSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuSkRFdWMzVnpjR1Z1YzJVN1hHNGdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFFtRjBZMmhEYjI1bWFXY2tNUzV6ZFhOd1pXNXpaU0E5SUdOdmJtWnBaeUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHTnZibVpwWnp0Y2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpaWFJXWVd4MVpTaDJZV3gxWlNrN1hHNGdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFSmhkR05vUTI5dVptbG5KREV1YzNWemNHVnVjMlVnUFNCd2NtVjJhVzkxYzBOdmJtWnBaenRjYmlBZ0lDQjlYRzRnSUgwc0lGdDJZV3gxWlN3Z1kyOXVabWxuWFNrN1hHNGdJSEpsZEhWeWJpQndjbVYyVm1Gc2RXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVndaR0YwWlVSbFptVnljbVZrVm1Gc2RXVW9kbUZzZFdVc0lHTnZibVpwWnlrZ2UxeHVJQ0IyWVhJZ1gzVndaR0YwWlZOMFlYUmxJRDBnZFhCa1lYUmxVM1JoZEdVb0tTeGNiaUFnSUNBZ0lIQnlaWFpXWVd4MVpTQTlJRjkxY0dSaGRHVlRkR0YwWlZzd1hTeGNiaUFnSUNBZ0lITmxkRlpoYkhWbElEMGdYM1Z3WkdGMFpWTjBZWFJsV3pGZE8xeHVYRzRnSUhWd1pHRjBaVVZtWm1WamRDaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdkbUZ5SUhCeVpYWnBiM1Z6UTI5dVptbG5JRDBnVW1WaFkzUkRkWEp5Wlc1MFFtRjBZMmhEYjI1bWFXY2tNUzV6ZFhOd1pXNXpaVHRjYmlBZ0lDQlNaV0ZqZEVOMWNuSmxiblJDWVhSamFFTnZibVpwWnlReExuTjFjM0JsYm5ObElEMGdZMjl1Wm1sbklEMDlQU0IxYm1SbFptbHVaV1FnUHlCdWRXeHNJRG9nWTI5dVptbG5PMXh1WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUhObGRGWmhiSFZsS0haaGJIVmxLVHRjYmlBZ0lDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUW1GMFkyaERiMjVtYVdja01TNXpkWE53Wlc1elpTQTlJSEJ5WlhacGIzVnpRMjl1Wm1sbk8xeHVJQ0FnSUgxY2JpQWdmU3dnVzNaaGJIVmxMQ0JqYjI1bWFXZGRLVHRjYmlBZ2NtVjBkWEp1SUhCeVpYWldZV3gxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY21WeVpXNWtaWEpFWldabGNuSmxaRlpoYkhWbEtIWmhiSFZsTENCamIyNW1hV2NwSUh0Y2JpQWdkbUZ5SUY5eVpYSmxibVJsY2xOMFlYUmxJRDBnY21WeVpXNWtaWEpUZEdGMFpTZ3BMRnh1SUNBZ0lDQWdjSEpsZGxaaGJIVmxJRDBnWDNKbGNtVnVaR1Z5VTNSaGRHVmJNRjBzWEc0Z0lDQWdJQ0J6WlhSV1lXeDFaU0E5SUY5eVpYSmxibVJsY2xOMFlYUmxXekZkTzF4dVhHNGdJSFZ3WkdGMFpVVm1abVZqZENobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RtRnlJSEJ5WlhacGIzVnpRMjl1Wm1sbklEMGdVbVZoWTNSRGRYSnlaVzUwUW1GMFkyaERiMjVtYVdja01TNXpkWE53Wlc1elpUdGNiaUFnSUNCU1pXRmpkRU4xY25KbGJuUkNZWFJqYUVOdmJtWnBaeVF4TG5OMWMzQmxibk5sSUQwZ1kyOXVabWxuSUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ1ZFd4c0lEb2dZMjl1Wm1sbk8xeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSE5sZEZaaGJIVmxLSFpoYkhWbEtUdGNiaUFnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBRbUYwWTJoRGIyNW1hV2NrTVM1emRYTndaVzV6WlNBOUlIQnlaWFpwYjNWelEyOXVabWxuTzF4dUlDQWdJSDFjYmlBZ2ZTd2dXM1poYkhWbExDQmpiMjVtYVdkZEtUdGNiaUFnY21WMGRYSnVJSEJ5WlhaV1lXeDFaVHRjYm4xY2JseHVablZ1WTNScGIyNGdjM1JoY25SVWNtRnVjMmwwYVc5dUtITmxkRkJsYm1ScGJtY3NJR052Ym1acFp5d2dZMkZzYkdKaFkyc3BJSHRjYmlBZ2RtRnlJSEJ5YVc5eWFYUjVUR1YyWld3Z1BTQm5aWFJEZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkNncE8xeHVJQ0J5ZFc1WGFYUm9VSEpwYjNKcGRIa2tNU2h3Y21sdmNtbDBlVXhsZG1Wc0lEd2dWWE5sY2tKc2IyTnJhVzVuVUhKcGIzSnBkSGtrTVNBL0lGVnpaWEpDYkc5amEybHVaMUJ5YVc5eWFYUjVKREVnT2lCd2NtbHZjbWwwZVV4bGRtVnNMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYzJWMFVHVnVaR2x1WnloMGNuVmxLVHRjYmlBZ2ZTazdYRzRnSUhKMWJsZHBkR2hRY21sdmNtbDBlU1F4S0hCeWFXOXlhWFI1VEdWMlpXd2dQaUJPYjNKdFlXeFFjbWx2Y21sMGVTQS9JRTV2Y20xaGJGQnlhVzl5YVhSNUlEb2djSEpwYjNKcGRIbE1aWFpsYkN3Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIWmhjaUJ3Y21WMmFXOTFjME52Ym1acFp5QTlJRkpsWVdOMFEzVnljbVZ1ZEVKaGRHTm9RMjl1Wm1sbkpERXVjM1Z6Y0dWdWMyVTdYRzRnSUNBZ1VtVmhZM1JEZFhKeVpXNTBRbUYwWTJoRGIyNW1hV2NrTVM1emRYTndaVzV6WlNBOUlHTnZibVpwWnlBOVBUMGdkVzVrWldacGJtVmtJRDhnYm5Wc2JDQTZJR052Ym1acFp6dGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0J6WlhSUVpXNWthVzVuS0daaGJITmxLVHRjYmlBZ0lDQWdJR05oYkd4aVlXTnJLQ2s3WEc0Z0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVKaGRHTm9RMjl1Wm1sbkpERXVjM1Z6Y0dWdWMyVWdQU0J3Y21WMmFXOTFjME52Ym1acFp6dGNiaUFnSUNCOVhHNGdJSDBwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0YjNWdWRGUnlZVzV6YVhScGIyNG9ZMjl1Wm1sbktTQjdYRzRnSUhaaGNpQmZiVzkxYm5SVGRHRjBaVElnUFNCdGIzVnVkRk4wWVhSbEtHWmhiSE5sS1N4Y2JpQWdJQ0FnSUdselVHVnVaR2x1WnlBOUlGOXRiM1Z1ZEZOMFlYUmxNbHN3WFN4Y2JpQWdJQ0FnSUhObGRGQmxibVJwYm1jZ1BTQmZiVzkxYm5SVGRHRjBaVEpiTVYwN1hHNWNiaUFnZG1GeUlITjBZWEowSUQwZ2JXOTFiblJEWVd4c1ltRmpheWh6ZEdGeWRGUnlZVzV6YVhScGIyNHVZbWx1WkNodWRXeHNMQ0J6WlhSUVpXNWthVzVuTENCamIyNW1hV2NwTENCYmMyVjBVR1Z1WkdsdVp5d2dZMjl1Wm1sblhTazdYRzRnSUhKbGRIVnliaUJiYzNSaGNuUXNJR2x6VUdWdVpHbHVaMTA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpWUnlZVzV6YVhScGIyNG9ZMjl1Wm1sbktTQjdYRzRnSUhaaGNpQmZkWEJrWVhSbFUzUmhkR1V5SUQwZ2RYQmtZWFJsVTNSaGRHVW9LU3hjYmlBZ0lDQWdJR2x6VUdWdVpHbHVaeUE5SUY5MWNHUmhkR1ZUZEdGMFpUSmJNRjBzWEc0Z0lDQWdJQ0J6WlhSUVpXNWthVzVuSUQwZ1gzVndaR0YwWlZOMFlYUmxNbHN4WFR0Y2JseHVJQ0IyWVhJZ2MzUmhjblFnUFNCMWNHUmhkR1ZEWVd4c1ltRmpheWh6ZEdGeWRGUnlZVzV6YVhScGIyNHVZbWx1WkNodWRXeHNMQ0J6WlhSUVpXNWthVzVuTENCamIyNW1hV2NwTENCYmMyVjBVR1Z1WkdsdVp5d2dZMjl1Wm1sblhTazdYRzRnSUhKbGRIVnliaUJiYzNSaGNuUXNJR2x6VUdWdVpHbHVaMTA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsY21WdVpHVnlWSEpoYm5OcGRHbHZiaWhqYjI1bWFXY3BJSHRjYmlBZ2RtRnlJRjl5WlhKbGJtUmxjbE4wWVhSbE1pQTlJSEpsY21WdVpHVnlVM1JoZEdVb0tTeGNiaUFnSUNBZ0lHbHpVR1Z1WkdsdVp5QTlJRjl5WlhKbGJtUmxjbE4wWVhSbE1sc3dYU3hjYmlBZ0lDQWdJSE5sZEZCbGJtUnBibWNnUFNCZmNtVnlaVzVrWlhKVGRHRjBaVEpiTVYwN1hHNWNiaUFnZG1GeUlITjBZWEowSUQwZ2RYQmtZWFJsUTJGc2JHSmhZMnNvYzNSaGNuUlVjbUZ1YzJsMGFXOXVMbUpwYm1Rb2JuVnNiQ3dnYzJWMFVHVnVaR2x1Wnl3Z1kyOXVabWxuS1N3Z1czTmxkRkJsYm1ScGJtY3NJR052Ym1acFoxMHBPMXh1SUNCeVpYUjFjbTRnVzNOMFlYSjBMQ0JwYzFCbGJtUnBibWRkTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrYVhOd1lYUmphRUZqZEdsdmJpaG1hV0psY2l3Z2NYVmxkV1VzSUdGamRHbHZiaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmhjbWQxYldWdWRITmJNMTBnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR1Z5Y205eUtGd2lVM1JoZEdVZ2RYQmtZWFJsY3lCbWNtOXRJSFJvWlNCMWMyVlRkR0YwWlNncElHRnVaQ0IxYzJWU1pXUjFZMlZ5S0NrZ1NHOXZhM01nWkc5dUozUWdjM1Z3Y0c5eWRDQjBhR1VnWENJZ0t5QW5jMlZqYjI1a0lHTmhiR3hpWVdOcklHRnlaM1Z0Wlc1MExpQlVieUJsZUdWamRYUmxJR0VnYzJsa1pTQmxabVpsWTNRZ1lXWjBaWElnSnlBcklDZHlaVzVrWlhKcGJtY3NJR1JsWTJ4aGNtVWdhWFFnYVc0Z2RHaGxJR052YlhCdmJtVnVkQ0JpYjJSNUlIZHBkR2dnZFhObFJXWm1aV04wS0NrdUp5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdOMWNuSmxiblJVYVcxbElEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVWFXMWxSbTl5VlhCa1lYUmxLQ2s3WEc0Z0lIWmhjaUJ6ZFhOd1pXNXpaVU52Ym1acFp5QTlJSEpsY1hWbGMzUkRkWEp5Wlc1MFUzVnpjR1Z1YzJWRGIyNW1hV2NvS1R0Y2JpQWdkbUZ5SUdWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWTI5dGNIVjBaVVY0Y0dseVlYUnBiMjVHYjNKR2FXSmxjaWhqZFhKeVpXNTBWR2x0WlN3Z1ptbGlaWElzSUhOMWMzQmxibk5sUTI5dVptbG5LVHRjYmlBZ2RtRnlJSFZ3WkdGMFpTQTlJSHRjYmlBZ0lDQmxlSEJwY21GMGFXOXVWR2x0WlRvZ1pYaHdhWEpoZEdsdmJsUnBiV1VzWEc0Z0lDQWdjM1Z6Y0dWdWMyVkRiMjVtYVdjNklITjFjM0JsYm5ObFEyOXVabWxuTEZ4dUlDQWdJR0ZqZEdsdmJqb2dZV04wYVc5dUxGeHVJQ0FnSUdWaFoyVnlVbVZrZFdObGNqb2diblZzYkN4Y2JpQWdJQ0JsWVdkbGNsTjBZWFJsT2lCdWRXeHNMRnh1SUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnZlR0Y2JseHVJQ0I3WEc0Z0lDQWdkWEJrWVhSbExuQnlhVzl5YVhSNUlEMGdaMlYwUTNWeWNtVnVkRkJ5YVc5eWFYUjVUR1YyWld3b0tUdGNiaUFnZlNBdkx5QkJjSEJsYm1RZ2RHaGxJSFZ3WkdGMFpTQjBieUIwYUdVZ1pXNWtJRzltSUhSb1pTQnNhWE4wTGx4dVhHNWNiaUFnZG1GeUlIQmxibVJwYm1jZ1BTQnhkV1YxWlM1d1pXNWthVzVuTzF4dVhHNGdJR2xtSUNod1pXNWthVzVuSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdabWx5YzNRZ2RYQmtZWFJsTGlCRGNtVmhkR1VnWVNCamFYSmpkV3hoY2lCc2FYTjBMbHh1SUNBZ0lIVndaR0YwWlM1dVpYaDBJRDBnZFhCa1lYUmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFZ3WkdGMFpTNXVaWGgwSUQwZ2NHVnVaR2x1Wnk1dVpYaDBPMXh1SUNBZ0lIQmxibVJwYm1jdWJtVjRkQ0E5SUhWd1pHRjBaVHRjYmlBZ2ZWeHVYRzRnSUhGMVpYVmxMbkJsYm1ScGJtY2dQU0IxY0dSaGRHVTdYRzRnSUhaaGNpQmhiSFJsY201aGRHVWdQU0JtYVdKbGNpNWhiSFJsY201aGRHVTdYRzVjYmlBZ2FXWWdLR1pwWW1WeUlEMDlQU0JqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhJSHg4SUdGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmhiSFJsY201aGRHVWdQVDA5SUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlKREVwSUh0Y2JpQWdJQ0F2THlCVWFHbHpJR2x6SUdFZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpTNGdVM1JoYzJnZ2FYUWdhVzRnWVNCc1lYcHBiSGt0WTNKbFlYUmxaQ0J0WVhBZ2IyWmNiaUFnSUNBdkx5QnhkV1YxWlNBdFBpQnNhVzVyWldRZ2JHbHpkQ0J2WmlCMWNHUmhkR1Z6TGlCQlpuUmxjaUIwYUdseklISmxibVJsY2lCd1lYTnpMQ0IzWlNkc2JDQnlaWE4wWVhKMFhHNGdJQ0FnTHk4Z1lXNWtJR0Z3Y0d4NUlIUm9aU0J6ZEdGemFHVmtJSFZ3WkdGMFpYTWdiMjRnZEc5d0lHOW1JSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUdodmIyc3VYRzRnSUNBZ1pHbGtVMk5vWldSMWJHVlNaVzVrWlhKUWFHRnpaVlZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNGdJQ0FnZFhCa1lYUmxMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lDQWdZM1Z5Y21WdWRHeDVVbVZ1WkdWeWFXNW5SbWxpWlhJa01TNWxlSEJwY21GMGFXOXVWR2x0WlNBOUlISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2xtSUNobWFXSmxjaTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlQVDBnVG05WGIzSnJJQ1ltSUNoaGJIUmxjbTVoZEdVZ1BUMDlJRzUxYkd3Z2ZId2dZV3gwWlhKdVlYUmxMbVY0Y0dseVlYUnBiMjVVYVcxbElEMDlQU0JPYjFkdmNtc3BLU0I3WEc0Z0lDQWdJQ0F2THlCVWFHVWdjWFZsZFdVZ2FYTWdZM1Z5Y21WdWRHeDVJR1Z0Y0hSNUxDQjNhR2xqYUNCdFpXRnVjeUIzWlNCallXNGdaV0ZuWlhKc2VTQmpiMjF3ZFhSbElIUm9aVnh1SUNBZ0lDQWdMeThnYm1WNGRDQnpkR0YwWlNCaVpXWnZjbVVnWlc1MFpYSnBibWNnZEdobElISmxibVJsY2lCd2FHRnpaUzRnU1dZZ2RHaGxJRzVsZHlCemRHRjBaU0JwY3lCMGFHVmNiaUFnSUNBZ0lDOHZJSE5oYldVZ1lYTWdkR2hsSUdOMWNuSmxiblFnYzNSaGRHVXNJSGRsSUcxaGVTQmlaU0JoWW14bElIUnZJR0poYVd3Z2IzVjBJR1Z1ZEdseVpXeDVMbHh1SUNBZ0lDQWdkbUZ5SUd4aGMzUlNaVzVrWlhKbFpGSmxaSFZqWlhJZ1BTQnhkV1YxWlM1c1lYTjBVbVZ1WkdWeVpXUlNaV1IxWTJWeU8xeHVYRzRnSUNBZ0lDQnBaaUFvYkdGemRGSmxibVJsY21Wa1VtVmtkV05sY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzVjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmxWd1pHRjBaVWx1UkVWV08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1kzVnljbVZ1ZEZOMFlYUmxJRDBnY1hWbGRXVXViR0Z6ZEZKbGJtUmxjbVZrVTNSaGRHVTdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHVmhaMlZ5VTNSaGRHVWdQU0JzWVhOMFVtVnVaR1Z5WldSU1pXUjFZMlZ5S0dOMWNuSmxiblJUZEdGMFpTd2dZV04wYVc5dUtUc2dMeThnVTNSaGMyZ2dkR2hsSUdWaFoyVnliSGtnWTI5dGNIVjBaV1FnYzNSaGRHVXNJR0Z1WkNCMGFHVWdjbVZrZFdObGNpQjFjMlZrSUhSdklHTnZiWEIxZEdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJwZEN3Z2IyNGdkR2hsSUhWd1pHRjBaU0J2WW1wbFkzUXVJRWxtSUhSb1pTQnlaV1IxWTJWeUlHaGhjMjRuZENCamFHRnVaMlZrSUdKNUlIUm9aVnh1SUNBZ0lDQWdJQ0FnSUM4dklIUnBiV1VnZDJVZ1pXNTBaWElnZEdobElISmxibVJsY2lCd2FHRnpaU3dnZEdobGJpQjBhR1VnWldGblpYSWdjM1JoZEdVZ1kyRnVJR0psSUhWelpXUmNiaUFnSUNBZ0lDQWdJQ0F2THlCM2FYUm9iM1YwSUdOaGJHeHBibWNnZEdobElISmxaSFZqWlhJZ1lXZGhhVzR1WEc1Y2JpQWdJQ0FnSUNBZ0lDQjFjR1JoZEdVdVpXRm5aWEpTWldSMVkyVnlJRDBnYkdGemRGSmxibVJsY21Wa1VtVmtkV05sY2p0Y2JpQWdJQ0FnSUNBZ0lDQjFjR1JoZEdVdVpXRm5aWEpUZEdGMFpTQTlJR1ZoWjJWeVUzUmhkR1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYjJKcVpXTjBTWE1vWldGblpYSlRkR0YwWlN3Z1kzVnljbVZ1ZEZOMFlYUmxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUm1GemRDQndZWFJvTGlCWFpTQmpZVzRnWW1GcGJDQnZkWFFnZDJsMGFHOTFkQ0J6WTJobFpIVnNhVzVuSUZKbFlXTjBJSFJ2SUhKbExYSmxibVJsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsMEozTWdjM1JwYkd3Z2NHOXpjMmxpYkdVZ2RHaGhkQ0IzWlNkc2JDQnVaV1ZrSUhSdklISmxZbUZ6WlNCMGFHbHpJSFZ3WkdGMFpTQnNZWFJsY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdsbUlIUm9aU0JqYjIxd2IyNWxiblFnY21VdGNtVnVaR1Z5Y3lCbWIzSWdZU0JrYVdabVpYSmxiblFnY21WaGMyOXVJR0Z1WkNCaWVTQjBhR0YwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIwYVcxbElIUm9aU0J5WldSMVkyVnlJR2hoY3lCamFHRnVaMlZrTGx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHN2THlCVGRYQndjbVZ6Y3lCMGFHVWdaWEp5YjNJdUlFbDBJSGRwYkd3Z2RHaHliM2NnWVdkaGFXNGdhVzRnZEdobElISmxibVJsY2lCd2FHRnpaUzVjYmlBZ0lDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0F2THlBa1JteHZkMFY0Y0dWamRHVmtSWEp5YjNJZ0xTQnFaWE4wSUdsemJpZDBJR0VnWjJ4dlltRnNMQ0JoYm1RZ2FYTnVKM1FnY21WamIyZHVhWHBsWkNCdmRYUnphV1JsSUc5bUlIUmxjM1J6WEc0Z0lDQWdJQ0JwWmlBb0ozVnVaR1ZtYVc1bFpDY2dJVDA5SUhSNWNHVnZaaUJxWlhOMEtTQjdYRzRnSUNBZ0lDQWdJSGRoY201SlprNXZkRk5qYjNCbFpGZHBkR2hOWVhSamFHbHVaMEZqZENobWFXSmxjaWs3WEc0Z0lDQWdJQ0FnSUhkaGNtNUpaazV2ZEVOMWNuSmxiblJzZVVGamRHbHVaMVZ3WkdGMFpYTkpia1JsZGlobWFXSmxjaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjMk5vWldSMWJHVlhiM0pyS0dacFltVnlMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgxY2JuMWNibHh1ZG1GeUlFTnZiblJsZUhSUGJteDVSR2x6Y0dGMFkyaGxjaUE5SUh0Y2JpQWdjbVZoWkVOdmJuUmxlSFE2SUhKbFlXUkRiMjUwWlhoMExGeHVJQ0IxYzJWRFlXeHNZbUZqYXpvZ2RHaHliM2RKYm5aaGJHbGtTRzl2YTBWeWNtOXlMRnh1SUNCMWMyVkRiMjUwWlhoME9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVVZtWm1WamREb2dkR2h5YjNkSmJuWmhiR2xrU0c5dmEwVnljbTl5TEZ4dUlDQjFjMlZKYlhCbGNtRjBhWFpsU0dGdVpHeGxPaUIwYUhKdmQwbHVkbUZzYVdSSWIyOXJSWEp5YjNJc1hHNGdJSFZ6WlV4aGVXOTFkRVZtWm1WamREb2dkR2h5YjNkSmJuWmhiR2xrU0c5dmEwVnljbTl5TEZ4dUlDQjFjMlZOWlcxdk9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVkpsWkhWalpYSTZJSFJvY205M1NXNTJZV3hwWkVodmIydEZjbkp2Y2l4Y2JpQWdkWE5sVW1WbU9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVk4wWVhSbE9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVVJsWW5WblZtRnNkV1U2SUhSb2NtOTNTVzUyWVd4cFpFaHZiMnRGY25KdmNpeGNiaUFnZFhObFVtVnpjRzl1WkdWeU9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVVJsWm1WeWNtVmtWbUZzZFdVNklIUm9jbTkzU1c1MllXeHBaRWh2YjJ0RmNuSnZjaXhjYmlBZ2RYTmxWSEpoYm5OcGRHbHZiam9nZEdoeWIzZEpiblpoYkdsa1NHOXZhMFZ5Y205eVhHNTlPMXh1ZG1GeUlFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVRXOTFiblJKYmtSRlZpQTlJRzUxYkd3N1hHNTJZWElnU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRGZHBkR2hJYjI5clZIbHdaWE5KYmtSRlZpQTlJRzUxYkd3N1hHNTJZWElnU0c5dmEzTkVhWE53WVhSamFHVnlUMjVWY0dSaGRHVkpia1JGVmlBOUlHNTFiR3c3WEc1MllYSWdTRzl2YTNORWFYTndZWFJqYUdWeVQyNVNaWEpsYm1SbGNrbHVSRVZXSUQwZ2JuVnNiRHRjYm5aaGNpQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRFbHVSRVZXSUQwZ2JuVnNiRHRjYm5aaGNpQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVWY0dSaGRHVkpia1JGVmlBOUlHNTFiR3c3WEc1MllYSWdTVzUyWVd4cFpFNWxjM1JsWkVodmIydHpSR2x6Y0dGMFkyaGxjazl1VW1WeVpXNWtaWEpKYmtSRlZpQTlJRzUxYkd3N1hHNWNibnRjYmlBZ2RtRnlJSGRoY201SmJuWmhiR2xrUTI5dWRHVjRkRUZqWTJWemN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JsY25KdmNpZ25RMjl1ZEdWNGRDQmpZVzRnYjI1c2VTQmlaU0J5WldGa0lIZG9hV3hsSUZKbFlXTjBJR2x6SUhKbGJtUmxjbWx1Wnk0Z0p5QXJJQ2RKYmlCamJHRnpjMlZ6TENCNWIzVWdZMkZ1SUhKbFlXUWdhWFFnYVc0Z2RHaGxJSEpsYm1SbGNpQnRaWFJvYjJRZ2IzSWdaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCekxpQW5JQ3NnSjBsdUlHWjFibU4wYVc5dUlHTnZiWEJ2Ym1WdWRITXNJSGx2ZFNCallXNGdjbVZoWkNCcGRDQmthWEpsWTNSc2VTQnBiaUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlU3dnWW5WMElHNXZkQ0FuSUNzZ0oybHVjMmxrWlNCSWIyOXJjeUJzYVd0bElIVnpaVkpsWkhWalpYSW9LU0J2Y2lCMWMyVk5aVzF2S0NrdUp5azdYRzRnSUgwN1hHNWNiaUFnZG1GeUlIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCbGNuSnZjaWduUkc4Z2JtOTBJR05oYkd3Z1NHOXZhM01nYVc1emFXUmxJSFZ6WlVWbVptVmpkQ2d1TGk0cExDQjFjMlZOWlcxdktDNHVMaWtzSUc5eUlHOTBhR1Z5SUdKMWFXeDBMV2x1SUVodmIydHpMaUFuSUNzZ0oxbHZkU0JqWVc0Z2IyNXNlU0JqWVd4c0lFaHZiMnR6SUdGMElIUm9aU0IwYjNBZ2JHVjJaV3dnYjJZZ2VXOTFjaUJTWldGamRDQm1kVzVqZEdsdmJpNGdKeUFySUNkR2IzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpd2djMlZsSUNjZ0t5QW5hSFIwY0hNNkx5OW1ZaTV0WlM5eWRXeGxjeTF2Wmkxb2IyOXJjeWNwTzF4dUlDQjlPMXh1WEc0Z0lFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVRXOTFiblJKYmtSRlZpQTlJSHRjYmlBZ0lDQnlaV0ZrUTI5dWRHVjRkRG9nWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFzSUc5aWMyVnlkbVZrUW1sMGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JEYjI1MFpYaDBLR052Ym5SbGVIUXNJRzlpYzJWeWRtVmtRbWwwY3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRFlXeHNZbUZqYXpvZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRFlXeHNZbUZqYXljN1hHNGdJQ0FnSUNCdGIzVnVkRWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ1kyaGxZMnRFWlhCelFYSmxRWEp5WVhsRVpYWW9aR1Z3Y3lrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2daR1Z3Y3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRGIyNTBaWGgwT2lCbWRXNWpkR2x2YmlBb1kyOXVkR1Y0ZEN3Z2IySnpaWEoyWldSQ2FYUnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZEYjI1MFpYaDBKenRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZoWkVOdmJuUmxlSFFvWTI5dWRHVjRkQ3dnYjJKelpYSjJaV1JDYVhSektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVVm1abVZqZERvZ1puVnVZM1JwYjI0Z0tHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUldabVpXTjBKenRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0JqYUdWamEwUmxjSE5CY21WQmNuSmhlVVJsZGloa1pYQnpLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEVWbVptVmpkQ2hqY21WaGRHVXNJR1JsY0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFNXMXdaWEpoZEdsMlpVaGhibVJzWlRvZ1puVnVZM1JwYjI0Z0tISmxaaXdnWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVkpiWEJsY21GMGFYWmxTR0Z1Wkd4bEp6dGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQmphR1ZqYTBSbGNITkJjbVZCY25KaGVVUmxkaWhrWlhCektUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdGIzVnVkRWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW9jbVZtTENCamNtVmhkR1VzSUdSbGNITXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxUR0Y1YjNWMFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZNWVhsdmRYUkZabVpsWTNRbk8xeHVJQ0FnSUNBZ2JXOTFiblJJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lHTm9aV05yUkdWd2MwRnlaVUZ5Y21GNVJHVjJLR1JsY0hNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBUR0Y1YjNWMFJXWm1aV04wS0dOeVpXRjBaU3dnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVk5aVzF2T2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZOWlcxdkp6dGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQmphR1ZqYTBSbGNITkJjbVZCY25KaGVVUmxkaWhrWlhCektUdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJHbHpjR0YwWTJobGNpQTlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZER0Y2JpQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmsxdmRXNTBTVzVFUlZZN1hHNWNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ0YjNWdWRFMWxiVzhvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNBZ0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZENBOUlIQnlaWFpFYVhOd1lYUmphR1Z5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVW1Wa2RXTmxjam9nWm5WdVkzUnBiMjRnS0hKbFpIVmpaWElzSUdsdWFYUnBZV3hCY21jc0lHbHVhWFFwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlZKbFpIVmpaWEluTzF4dUlDQWdJQ0FnYlc5MWJuUkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhaaGNpQndjbVYyUkdsemNHRjBZMmhsY2lBOUlGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkRHRjYmlBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZENBOUlFbHVkbUZzYVdST1pYTjBaV1JJYjI5cmMwUnBjM0JoZEdOb1pYSlBiazF2ZFc1MFNXNUVSVlk3WEc1Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEZKbFpIVmpaWElvY21Wa2RXTmxjaXdnYVc1cGRHbGhiRUZ5Wnl3Z2FXNXBkQ2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxaam9nWm5WdVkzUnBiMjRnS0dsdWFYUnBZV3hXWVd4MVpTa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZtSnp0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUlNaV1lvYVc1cGRHbGhiRlpoYkhWbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWTjBZWFJsT2lCbWRXNWpkR2x2YmlBb2FXNXBkR2xoYkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZUZEdGMFpTYzdYRzRnSUNBZ0lDQnRiM1Z1ZEVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdkbUZ5SUhCeVpYWkVhWE53WVhSamFHVnlJRDBnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1ME8xeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVRXOTFiblJKYmtSRlZqdGNibHh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBVM1JoZEdVb2FXNXBkR2xoYkZOMFlYUmxLVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJSEJ5WlhaRWFYTndZWFJqYUdWeU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVmlkV2RXWVd4MVpUb2dablZ1WTNScGIyNGdLSFpoYkhWbExDQm1iM0p0WVhSMFpYSkdiaWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWaWRXZFdZV3gxWlNjN1hHNGdJQ0FnSUNCdGIzVnVkRWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBSR1ZpZFdkV1lXeDFaU2dwTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVW1WemNHOXVaR1Z5T2lCbWRXNWpkR2x2YmlBb2NtVnpjRzl1WkdWeUxDQndjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFVtVnpjRzl1WkdWeUp6dGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z1kzSmxZWFJsUkdWd2NtVmpZWFJsWkZKbGMzQnZibVJsY2t4cGMzUmxibVZ5S0hKbGMzQnZibVJsY2l3Z2NISnZjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUkdWbVpYSnlaV1JXWVd4MVpUb2dablZ1WTNScGIyNGdLSFpoYkhWbExDQmpiMjVtYVdjcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVUmxabVZ5Y21Wa1ZtRnNkV1VuTzF4dUlDQWdJQ0FnYlc5MWJuUkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0YjNWdWRFUmxabVZ5Y21Wa1ZtRnNkV1VvZG1Gc2RXVXNJR052Ym1acFp5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlVjbUZ1YzJsMGFXOXVPaUJtZFc1amRHbHZiaUFvWTI5dVptbG5LU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZVY21GdWMybDBhVzl1Snp0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUlVjbUZ1YzJsMGFXOXVLR052Ym1acFp5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dUlDQkliMjlyYzBScGMzQmhkR05vWlhKUGJrMXZkVzUwVjJsMGFFaHZiMnRVZVhCbGMwbHVSRVZXSUQwZ2UxeHVJQ0FnSUhKbFlXUkRiMjUwWlhoME9pQm1kVzVqZEdsdmJpQW9ZMjl1ZEdWNGRDd2diMkp6WlhKMlpXUkNhWFJ6S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21WaFpFTnZiblJsZUhRb1kyOXVkR1Y0ZEN3Z2IySnpaWEoyWldSQ2FYUnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVU5oYkd4aVlXTnJPaUJtZFc1amRHbHZiaUFvWTJGc2JHSmhZMnNzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVU5oYkd4aVlXTnJKenRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJRzF2ZFc1MFEyRnNiR0poWTJzb1kyRnNiR0poWTJzc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUTI5dWRHVjRkRG9nWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFzSUc5aWMyVnlkbVZrUW1sMGN5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxRMjl1ZEdWNGRDYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZGWm1abFkzUW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5SRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVbHRjR1Z5WVhScGRtVklZVzVrYkdVNklHWjFibU4wYVc5dUlDaHlaV1lzSUdOeVpXRjBaU3dnWkdWd2N5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxTVzF3WlhKaGRHbDJaVWhoYm1Sc1pTYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEVsdGNHVnlZWFJwZG1WSVlXNWtiR1VvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVEdGNWIzVjBSV1ptWldOME9pQm1kVzVqZEdsdmJpQW9ZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWTVlYbHZkWFJGWm1abFkzUW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5STVlYbHZkWFJGWm1abFkzUW9ZM0psWVhSbExDQmtaWEJ6S1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlUxbGJXODZJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVMWxiVzhuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCMllYSWdjSEpsZGtScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblE3WEc0Z0lDQWdJQ0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RZ1BTQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRFbHVSRVZXTzF4dVhHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5STlpXMXZLR055WldGMFpTd2daR1Z3Y3lrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCd2NtVjJSR2x6Y0dGMFkyaGxjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVkpsWkhWalpYSTZJR1oxYm1OMGFXOXVJQ2h5WldSMVkyVnlMQ0JwYm1sMGFXRnNRWEpuTENCcGJtbDBLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZTWldSMVkyVnlKenRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVUVzkxYm5SSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwVW1Wa2RXTmxjaWh5WldSMVkyVnlMQ0JwYm1sMGFXRnNRWEpuTENCcGJtbDBLVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJSEJ5WlhaRWFYTndZWFJqYUdWeU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFVtVm1PaUJtZFc1amRHbHZiaUFvYVc1cGRHbGhiRlpoYkhWbEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaV1luTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUlNaV1lvYVc1cGRHbGhiRlpoYkhWbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWTjBZWFJsT2lCbWRXNWpkR2x2YmlBb2FXNXBkR2xoYkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZUZEdGMFpTYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSFpoY2lCd2NtVjJSR2x6Y0dGMFkyaGxjaUE5SUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWREdGNiaUFnSUNBZ0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkQ0E5SUVsdWRtRnNhV1JPWlhOMFpXUkliMjlyYzBScGMzQmhkR05vWlhKUGJrMXZkVzUwU1c1RVJWWTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdGIzVnVkRk4wWVhSbEtHbHVhWFJwWVd4VGRHRjBaU2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVUmxZblZuVm1Gc2RXVTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTd2dabTl5YldGMGRHVnlSbTRwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVSbFluVm5WbUZzZFdVbk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJFWldKMVoxWmhiSFZsS0NrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pYTndiMjVrWlhJNklHWjFibU4wYVc5dUlDaHlaWE53YjI1a1pYSXNJSEJ5YjNCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaWE53YjI1a1pYSW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFJHVndjbVZqWVhSbFpGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtISmxjM0J2Ym1SbGNpd2djSEp2Y0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVm1aWEp5WldSV1lXeDFaVG9nWm5WdVkzUnBiMjRnS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVJsWm1WeWNtVmtWbUZzZFdVbk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJFWldabGNuSmxaRlpoYkhWbEtIWmhiSFZsTENCamIyNW1hV2NwTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVkhKaGJuTnBkR2x2YmpvZ1puVnVZM1JwYjI0Z0tHTnZibVpwWnlrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFZISmhibk5wZEdsdmJpYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEZSeVlXNXphWFJwYjI0b1kyOXVabWxuS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzRnSUVodmIydHpSR2x6Y0dGMFkyaGxjazl1VlhCa1lYUmxTVzVFUlZZZ1BTQjdYRzRnSUNBZ2NtVmhaRU52Ym5SbGVIUTZJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXRmtRMjl1ZEdWNGRDaGpiMjUwWlhoMExDQnZZbk5sY25abFpFSnBkSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUTJGc2JHSmhZMnM2SUdaMWJtTjBhVzl1SUNoallXeHNZbUZqYXl3Z1pHVndjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUTJGc2JHSmhZMnNuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxRMkZzYkdKaFkyc29ZMkZzYkdKaFkyc3NJR1JsY0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFEyOXVkR1Y0ZERvZ1puVnVZM1JwYjI0Z0tHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUTI5dWRHVjRkQ2M3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxSV1ptWldOME9pQm1kVzVqZEdsdmJpQW9ZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRlptWmxZM1FuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZKYlhCbGNtRjBhWFpsU0dGdVpHeGxPaUJtZFc1amRHbHZiaUFvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxTVzF3WlhKaGRHbDJaVWhoYm1Sc1pTaHlaV1lzSUdOeVpXRjBaU3dnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVk1ZWGx2ZFhSRlptWmxZM1E2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVXhoZVc5MWRFVm1abVZqZENjN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZNWVhsdmRYUkZabVpsWTNRb1kzSmxZWFJsTENCa1pYQnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVTFsYlc4NklHWjFibU4wYVc5dUlDaGpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlUxbGJXOG5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNVZjR1JoZEdWSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlUxbGJXOG9ZM0psWVhSbExDQmtaWEJ6S1R0Y2JpQWdJQ0FnSUgwZ1ptbHVZV3hzZVNCN1hHNGdJQ0FnSUNBZ0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkQ0E5SUhCeVpYWkVhWE53WVhSamFHVnlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxVbVZrZFdObGNqb2dablZ1WTNScGIyNGdLSEpsWkhWalpYSXNJR2x1YVhScFlXeEJjbWNzSUdsdWFYUXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsWkhWalpYSW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNVZjR1JoZEdWSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlZKbFpIVmpaWElvY21Wa2RXTmxjaXdnYVc1cGRHbGhiRUZ5Wnl3Z2FXNXBkQ2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxaam9nWm5WdVkzUnBiMjRnS0dsdWFYUnBZV3hXWVd4MVpTa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZtSnp0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVkpsWmlncE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFUzUmhkR1U2SUdaMWJtTjBhVzl1SUNocGJtbDBhV0ZzVTNSaGRHVXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVk4wWVhSbEp6dGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdkbUZ5SUhCeVpYWkVhWE53WVhSamFHVnlJRDBnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1ME8xeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVZYQmtZWFJsU1c1RVJWWTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZUZEdGMFpTaHBibWwwYVdGc1UzUmhkR1VwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV0oxWjFaaGJIVmxPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXNJR1p2Y20xaGRIUmxja1p1S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRVpXSjFaMVpoYkhWbEp6dGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVSbFluVm5WbUZzZFdVb0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxjM0J2Ym1SbGNqb2dablZ1WTNScGIyNGdLSEpsYzNCdmJtUmxjaXdnY0hKdmNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsYzNCdmJtUmxjaWM3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVkVaWEJ5WldOaGRHVmtVbVZ6Y0c5dVpHVnlUR2x6ZEdWdVpYSW9jbVZ6Y0c5dVpHVnlMQ0J3Y205d2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV1psY25KbFpGWmhiSFZsT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VzSUdOdmJtWnBaeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWbVpYSnlaV1JXWVd4MVpTYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWRVpXWmxjbkpsWkZaaGJIVmxLSFpoYkhWbExDQmpiMjVtYVdjcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFZISmhibk5wZEdsdmJqb2dablZ1WTNScGIyNGdLR052Ym1acFp5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxWSEpoYm5OcGRHbHZiaWM3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVlVjbUZ1YzJsMGFXOXVLR052Ym1acFp5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dUlDQkliMjlyYzBScGMzQmhkR05vWlhKUGJsSmxjbVZ1WkdWeVNXNUVSVllnUFNCN1hHNGdJQ0FnY21WaFpFTnZiblJsZUhRNklHWjFibU4wYVc5dUlDaGpiMjUwWlhoMExDQnZZbk5sY25abFpFSnBkSE1wSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxRMkZzYkdKaFkyczZJR1oxYm1OMGFXOXVJQ2hqWVd4c1ltRmpheXdnWkdWd2N5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxRMkZzYkdKaFkyc25PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFEyRnNiR0poWTJzb1kyRnNiR0poWTJzc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUTI5dWRHVjRkRG9nWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFzSUc5aWMyVnlkbVZrUW1sMGN5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxRMjl1ZEdWNGRDYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZGWm1abFkzUW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFJXWm1aV04wS0dOeVpXRjBaU3dnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkpiWEJsY21GMGFYWmxTR0Z1Wkd4bE9pQm1kVzVqZEdsdmJpQW9jbVZtTENCamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFNXMXdaWEpoZEdsMlpVaGhibVJzWlNoeVpXWXNJR055WldGMFpTd2daR1Z3Y3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWTVlYbHZkWFJGWm1abFkzUTZJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVeGhlVzkxZEVWbVptVmpkQ2M3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVk1ZWGx2ZFhSRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVMWxiVzg2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVTFsYlc4bk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQjJZWElnY0hKbGRrUnBjM0JoZEdOb1pYSWdQU0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RN1hHNGdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0JKYm5aaGJHbGtUbVZ6ZEdWa1NHOXZhM05FYVhOd1lYUmphR1Z5VDI1U1pYSmxibVJsY2tsdVJFVldPMXh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsVFdWdGJ5aGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1IxWTJWeU9pQm1kVzVqZEdsdmJpQW9jbVZrZFdObGNpd2dhVzVwZEdsaGJFRnlaeXdnYVc1cGRDa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZrZFdObGNpYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSFpoY2lCd2NtVjJSR2x6Y0dGMFkyaGxjaUE5SUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWREdGNiaUFnSUNBZ0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkQ0E5SUVsdWRtRnNhV1JPWlhOMFpXUkliMjlyYzBScGMzQmhkR05vWlhKUGJsSmxjbVZ1WkdWeVNXNUVSVlk3WEc1Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWEpsYm1SbGNsSmxaSFZqWlhJb2NtVmtkV05sY2l3Z2FXNXBkR2xoYkVGeVp5d2dhVzVwZENrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCd2NtVjJSR2x6Y0dGMFkyaGxjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVkpsWmpvZ1puVnVZM1JwYjI0Z0tHbHVhWFJwWVd4V1lXeDFaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sVW1WbUp6dGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlZKbFppZ3BPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxVM1JoZEdVNklHWjFibU4wYVc5dUlDaHBibWwwYVdGc1UzUmhkR1VwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlZOMFlYUmxKenRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVVbVZ5Wlc1a1pYSkpia1JGVmp0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsY21WdVpHVnlVM1JoZEdVb2FXNXBkR2xoYkZOMFlYUmxLVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJSEJ5WlhaRWFYTndZWFJqYUdWeU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVmlkV2RXWVd4MVpUb2dablZ1WTNScGIyNGdLSFpoYkhWbExDQm1iM0p0WVhSMFpYSkdiaWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWaWRXZFdZV3gxWlNjN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZFWldKMVoxWmhiSFZsS0NrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pYTndiMjVrWlhJNklHWjFibU4wYVc5dUlDaHlaWE53YjI1a1pYSXNJSEJ5YjNCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaWE53YjI1a1pYSW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFJHVndjbVZqWVhSbFpGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtISmxjM0J2Ym1SbGNpd2djSEp2Y0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVm1aWEp5WldSV1lXeDFaVG9nWm5WdVkzUnBiMjRnS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVJsWm1WeWNtVmtWbUZzZFdVbk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2NtVnlaVzVrWlhKRVpXWmxjbkpsWkZaaGJIVmxLSFpoYkhWbExDQmpiMjVtYVdjcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFZISmhibk5wZEdsdmJqb2dablZ1WTNScGIyNGdLR052Ym1acFp5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxWSEpoYm5OcGRHbHZiaWM3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhKbGJtUmxjbFJ5WVc1emFYUnBiMjRvWTI5dVptbG5LVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNGdJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmsxdmRXNTBTVzVFUlZZZ1BTQjdYRzRnSUNBZ2NtVmhaRU52Ym5SbGVIUTZJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcElIdGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtRMjl1ZEdWNGRFRmpZMlZ6Y3lncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbFlXUkRiMjUwWlhoMEtHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZEWVd4c1ltRmphem9nWm5WdVkzUnBiMjRnS0dOaGJHeGlZV05yTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZEWVd4c1ltRmpheWM3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJEWVd4c1ltRmpheWhqWVd4c1ltRmpheXdnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkRiMjUwWlhoME9pQm1kVzVqZEdsdmJpQW9ZMjl1ZEdWNGRDd2diMkp6WlhKMlpXUkNhWFJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRGIyNTBaWGgwSnp0Y2JpQWdJQ0FnSUhkaGNtNUpiblpoYkdsa1NHOXZhMEZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdiVzkxYm5SSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZGWm1abFkzUW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCdGIzVnVkRWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZKYlhCbGNtRjBhWFpsU0dGdVpHeGxPaUJtZFc1amRHbHZiaUFvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VuTzF4dUlDQWdJQ0FnZDJGeWJrbHVkbUZzYVdSSWIyOXJRV05qWlhOektDazdYRzRnSUNBZ0lDQnRiM1Z1ZEVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwU1cxd1pYSmhkR2wyWlVoaGJtUnNaU2h5WldZc0lHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZNWVhsdmRYUkZabVpsWTNRNklHWjFibU4wYVc5dUlDaGpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlV4aGVXOTFkRVZtWm1WamRDYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUk1ZWGx2ZFhSRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVMWxiVzg2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVTFsYlc4bk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0J0YjNWdWRFaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVUVzkxYm5SSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwVFdWdGJ5aGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1IxWTJWeU9pQm1kVzVqZEdsdmJpQW9jbVZrZFdObGNpd2dhVzVwZEdsaGJFRnlaeXdnYVc1cGRDa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZrZFdObGNpYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCMllYSWdjSEpsZGtScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblE3WEc0Z0lDQWdJQ0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RZ1BTQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRFbHVSRVZXTzF4dVhHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5SU1pXUjFZMlZ5S0hKbFpIVmpaWElzSUdsdWFYUnBZV3hCY21jc0lHbHVhWFFwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1k2SUdaMWJtTjBhVzl1SUNocGJtbDBhV0ZzVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsWmljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5SU1pXWW9hVzVwZEdsaGJGWmhiSFZsS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlZOMFlYUmxPaUJtZFc1amRHbHZiaUFvYVc1cGRHbGhiRk4wWVhSbEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlRkR0YwWlNjN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNU5iM1Z1ZEVsdVJFVldPMXh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJUZEdGMFpTaHBibWwwYVdGc1UzUmhkR1VwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV0oxWjFaaGJIVmxPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXNJR1p2Y20xaGRIUmxja1p1S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRVpXSjFaMVpoYkhWbEp6dGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeWdwTzF4dUlDQWdJQ0FnYlc5MWJuUkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0YjNWdWRFUmxZblZuVm1Gc2RXVW9LVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVkpsYzNCdmJtUmxjam9nWm5WdVkzUnBiMjRnS0hKbGMzQnZibVJsY2l3Z2NISnZjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlZKbGMzQnZibVJsY2ljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFJHVndjbVZqWVhSbFpGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtISmxjM0J2Ym1SbGNpd2djSEp2Y0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVm1aWEp5WldSV1lXeDFaVG9nWm5WdVkzUnBiMjRnS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVJsWm1WeWNtVmtWbUZzZFdVbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0J0YjNWdWRFaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJRzF2ZFc1MFJHVm1aWEp5WldSV1lXeDFaU2gyWVd4MVpTd2dZMjl1Wm1sbktUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWUnlZVzV6YVhScGIyNDZJR1oxYm1OMGFXOXVJQ2hqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVlJ5WVc1emFYUnBiMjRuTzF4dUlDQWdJQ0FnZDJGeWJrbHVkbUZzYVdSSWIyOXJRV05qWlhOektDazdYRzRnSUNBZ0lDQnRiM1Z1ZEVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwVkhKaGJuTnBkR2x2YmloamIyNW1hV2NwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVZYQmtZWFJsU1c1RVJWWWdQU0I3WEc0Z0lDQWdjbVZoWkVOdmJuUmxlSFE2SUdaMWJtTjBhVzl1SUNoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBJSHRjYmlBZ0lDQWdJSGRoY201SmJuWmhiR2xrUTI5dWRHVjRkRUZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JEYjI1MFpYaDBLR052Ym5SbGVIUXNJRzlpYzJWeWRtVmtRbWwwY3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRFlXeHNZbUZqYXpvZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRFlXeHNZbUZqYXljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVTmhiR3hpWVdOcktHTmhiR3hpWVdOckxDQmtaWEJ6S1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlVOdmJuUmxlSFE2SUdaMWJtTjBhVzl1SUNoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVU52Ym5SbGVIUW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXRmtRMjl1ZEdWNGRDaGpiMjUwWlhoMExDQnZZbk5sY25abFpFSnBkSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUldabVpXTjBPaUJtZFc1amRHbHZiaUFvWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVkZabVpsWTNRbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVkZabVpsWTNRb1kzSmxZWFJsTENCa1pYQnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVTZJR1oxYm1OMGFXOXVJQ2h5WldZc0lHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sU1cxd1pYSmhkR2wyWlVoaGJtUnNaU2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVEdGNWIzVjBSV1ptWldOME9pQm1kVzVqZEdsdmJpQW9ZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWTVlYbHZkWFJGWm1abFkzUW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZNWVhsdmRYUkZabVpsWTNRb1kzSmxZWFJsTENCa1pYQnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVTFsYlc4NklHWjFibU4wYVc5dUlDaGpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlUxbGJXOG5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJHbHpjR0YwWTJobGNpQTlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZER0Y2JpQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmxWd1pHRjBaVWx1UkVWV08xeHVYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxUV1Z0YnloamNtVmhkR1VzSUdSbGNITXBPMXh1SUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1MElEMGdjSEpsZGtScGMzQmhkR05vWlhJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pXUjFZMlZ5T2lCbWRXNWpkR2x2YmlBb2NtVmtkV05sY2l3Z2FXNXBkR2xoYkVGeVp5d2dhVzVwZENrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFVtVmtkV05sY2ljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVWWEJrWVhSbFNXNUVSVlk3WEc1Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWU1pXUjFZMlZ5S0hKbFpIVmpaWElzSUdsdWFYUnBZV3hCY21jc0lHbHVhWFFwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1k2SUdaMWJtTjBhVzl1SUNocGJtbDBhV0ZzVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsWmljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpWSmxaaWdwTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVTNSaGRHVTZJR1oxYm1OMGFXOXVJQ2hwYm1sMGFXRnNVM1JoZEdVcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpWTjBZWFJsSnp0Y2JpQWdJQ0FnSUhkaGNtNUpiblpoYkdsa1NHOXZhMEZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNVZjR1JoZEdWSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlZOMFlYUmxLR2x1YVhScFlXeFRkR0YwWlNrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCd2NtVjJSR2x6Y0dGMFkyaGxjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVVJsWW5WblZtRnNkV1U2SUdaMWJtTjBhVzl1SUNoMllXeDFaU3dnWm05eWJXRjBkR1Z5Um00cElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVUmxZblZuVm1Gc2RXVW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZFWldKMVoxWmhiSFZsS0NrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pYTndiMjVrWlhJNklHWjFibU4wYVc5dUlDaHlaWE53YjI1a1pYSXNJSEJ5YjNCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaWE53YjI1a1pYSW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCamNtVmhkR1ZFWlhCeVpXTmhkR1ZrVW1WemNHOXVaR1Z5VEdsemRHVnVaWElvY21WemNHOXVaR1Z5TENCd2NtOXdjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZFWldabGNuSmxaRlpoYkhWbE9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVc0lHTnZibVpwWnlrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFJHVm1aWEp5WldSV1lXeDFaU2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVSbFptVnljbVZrVm1Gc2RXVW9kbUZzZFdVc0lHTnZibVpwWnlrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWVWNtRnVjMmwwYVc5dU9pQm1kVzVqZEdsdmJpQW9ZMjl1Wm1sbktTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlVjbUZ1YzJsMGFXOXVKenRjYmlBZ0lDQWdJSGRoY201SmJuWmhiR2xrU0c5dmEwRmpZMlZ6Y3lncE8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsVkhKaGJuTnBkR2x2YmloamIyNW1hV2NwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVVtVnlaVzVrWlhKSmJrUkZWaUE5SUh0Y2JpQWdJQ0J5WldGa1EyOXVkR1Y0ZERvZ1puVnVZM1JwYjI0Z0tHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQWdJQ0FnZDJGeWJrbHVkbUZzYVdSRGIyNTBaWGgwUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZoWkVOdmJuUmxlSFFvWTI5dWRHVjRkQ3dnYjJKelpYSjJaV1JDYVhSektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVTmhiR3hpWVdOck9pQm1kVzVqZEdsdmJpQW9ZMkZzYkdKaFkyc3NJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVTmhiR3hpWVdOckp6dGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeWdwTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxRMkZzYkdKaFkyc29ZMkZzYkdKaFkyc3NJR1JsY0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFEyOXVkR1Y0ZERvZ1puVnVZM1JwYjI0Z0tHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUTI5dWRHVjRkQ2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JEYjI1MFpYaDBLR052Ym5SbGVIUXNJRzlpYzJWeWRtVmtRbWwwY3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRlptWmxZM1E2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVZtWm1WamRDYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVVZtWm1WamRDaGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sU1cxd1pYSmhkR2wyWlVoaGJtUnNaVG9nWm5WdVkzUnBiMjRnS0hKbFppd2dZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWSmJYQmxjbUYwYVhabFNHRnVaR3hsSnp0Y2JpQWdJQ0FnSUhkaGNtNUpiblpoYkdsa1NHOXZhMEZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFNXMXdaWEpoZEdsMlpVaGhibVJzWlNoeVpXWXNJR055WldGMFpTd2daR1Z3Y3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWTVlYbHZkWFJGWm1abFkzUTZJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVeGhlVzkxZEVWbVptVmpkQ2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlV4aGVXOTFkRVZtWm1WamRDaGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVFdWdGJ6b2dablZ1WTNScGIyNGdLR055WldGMFpTd2daR1Z3Y3lrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFRXVnRieWM3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdkbUZ5SUhCeVpYWkVhWE53WVhSamFHVnlJRDBnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1ME8xeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVZYQmtZWFJsU1c1RVJWWTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZOWlcxdktHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxaSFZqWlhJNklHWjFibU4wYVc5dUlDaHlaV1IxWTJWeUxDQnBibWwwYVdGc1FYSm5MQ0JwYm1sMEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaV1IxWTJWeUp6dGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeWdwTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCMllYSWdjSEpsZGtScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblE3WEc0Z0lDQWdJQ0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RZ1BTQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVWY0dSaGRHVkpia1JGVmp0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsY21WdVpHVnlVbVZrZFdObGNpaHlaV1IxWTJWeUxDQnBibWwwYVdGc1FYSm5MQ0JwYm1sMEtUdGNiaUFnSUNBZ0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZENBOUlIQnlaWFpFYVhOd1lYUmphR1Z5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVW1WbU9pQm1kVzVqZEdsdmJpQW9hVzVwZEdsaGJGWmhiSFZsS1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWU1pXWW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZTWldZb0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWTjBZWFJsT2lCbWRXNWpkR2x2YmlBb2FXNXBkR2xoYkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZUZEdGMFpTYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2RtRnlJSEJ5WlhaRWFYTndZWFJqYUdWeUlEMGdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwTzF4dUlDQWdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1MElEMGdTVzUyWVd4cFpFNWxjM1JsWkVodmIydHpSR2x6Y0dGMFkyaGxjazl1VlhCa1lYUmxTVzVFUlZZN1hHNWNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhKbGJtUmxjbE4wWVhSbEtHbHVhWFJwWVd4VGRHRjBaU2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVUmxZblZuVm1Gc2RXVTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTd2dabTl5YldGMGRHVnlSbTRwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVSbFluVm5WbUZzZFdVbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVkVaV0oxWjFaaGJIVmxLQ2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZTWlhOd2IyNWtaWEk2SUdaMWJtTjBhVzl1SUNoeVpYTndiMjVrWlhJc0lIQnliM0J6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWU1pYTndiMjVrWlhJbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVkVaWEJ5WldOaGRHVmtVbVZ6Y0c5dVpHVnlUR2x6ZEdWdVpYSW9jbVZ6Y0c5dVpHVnlMQ0J3Y205d2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV1psY25KbFpGWmhiSFZsT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VzSUdOdmJtWnBaeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWbVpYSnlaV1JXWVd4MVpTYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGNtVnVaR1Z5UkdWbVpYSnlaV1JXWVd4MVpTaDJZV3gxWlN3Z1kyOXVabWxuS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlZSeVlXNXphWFJwYjI0NklHWjFibU4wYVc5dUlDaGpiMjVtYVdjcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpWUnlZVzV6YVhScGIyNG5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYSmxibVJsY2xSeVlXNXphWFJwYjI0b1kyOXVabWxuS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJ1YjNja01TQTlJRk5qYUdWa2RXeGxjaTUxYm5OMFlXSnNaVjl1YjNjN1hHNTJZWElnWTI5dGJXbDBWR2x0WlNBOUlEQTdYRzUyWVhJZ2NISnZabWxzWlhKVGRHRnlkRlJwYldVZ1BTQXRNVHRjYmx4dVpuVnVZM1JwYjI0Z1oyVjBRMjl0YldsMFZHbHRaU2dwSUh0Y2JpQWdjbVYwZFhKdUlHTnZiVzFwZEZScGJXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxZMjl5WkVOdmJXMXBkRlJwYldVb0tTQjdYRzVjYmlBZ1kyOXRiV2wwVkdsdFpTQTlJRzV2ZHlReEtDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlITjBZWEowVUhKdlptbHNaWEpVYVcxbGNpaG1hV0psY2lrZ2UxeHVYRzRnSUhCeWIyWnBiR1Z5VTNSaGNuUlVhVzFsSUQwZ2JtOTNKREVvS1R0Y2JseHVJQ0JwWmlBb1ptbGlaWEl1WVdOMGRXRnNVM1JoY25SVWFXMWxJRHdnTUNrZ2UxeHVJQ0FnSUdacFltVnlMbUZqZEhWaGJGTjBZWEowVkdsdFpTQTlJRzV2ZHlReEtDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzNSdmNGQnliMlpwYkdWeVZHbHRaWEpKWmxKMWJtNXBibWNvWm1saVpYSXBJSHRjYmx4dUlDQndjbTltYVd4bGNsTjBZWEowVkdsdFpTQTlJQzB4TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ6ZEc5d1VISnZabWxzWlhKVWFXMWxja2xtVW5WdWJtbHVaMEZ1WkZKbFkyOXlaRVJsYkhSaEtHWnBZbVZ5TENCdmRtVnljbWxrWlVKaGMyVlVhVzFsS1NCN1hHNWNiaUFnYVdZZ0tIQnliMlpwYkdWeVUzUmhjblJVYVcxbElENDlJREFwSUh0Y2JpQWdJQ0IyWVhJZ1pXeGhjSE5sWkZScGJXVWdQU0J1YjNja01TZ3BJQzBnY0hKdlptbHNaWEpUZEdGeWRGUnBiV1U3WEc0Z0lDQWdabWxpWlhJdVlXTjBkV0ZzUkhWeVlYUnBiMjRnS3owZ1pXeGhjSE5sWkZScGJXVTdYRzVjYmlBZ0lDQnBaaUFvYjNabGNuSnBaR1ZDWVhObFZHbHRaU2tnZTF4dUlDQWdJQ0FnWm1saVpYSXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJR1ZzWVhCelpXUlVhVzFsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEJ5YjJacGJHVnlVM1JoY25SVWFXMWxJRDBnTFRFN1hHNGdJSDFjYm4xY2JseHVMeThnVkdocGN5QnRZWGtnYUdGMlpTQmlaV1Z1SUdGdUlHbHVjMlZ5ZEdsdmJpQnZjaUJoSUdoNVpISmhkR2x2Ymk1Y2JseHVkbUZ5SUdoNVpISmhkR2x2YmxCaGNtVnVkRVpwWW1WeUlEMGdiblZzYkR0Y2JuWmhjaUJ1WlhoMFNIbGtjbUYwWVdKc1pVbHVjM1JoYm1ObElEMGdiblZzYkR0Y2JuWmhjaUJwYzBoNVpISmhkR2x1WnlBOUlHWmhiSE5sTzF4dVhHNW1kVzVqZEdsdmJpQmxiblJsY2toNVpISmhkR2x2YmxOMFlYUmxLR1pwWW1WeUtTQjdYRzVjYmlBZ2RtRnlJSEJoY21WdWRFbHVjM1JoYm1ObElEMGdabWxpWlhJdWMzUmhkR1ZPYjJSbExtTnZiblJoYVc1bGNrbHVabTg3WEc0Z0lHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlVnUFNCblpYUkdhWEp6ZEVoNVpISmhkR0ZpYkdWRGFHbHNaQ2h3WVhKbGJuUkpibk4wWVc1alpTazdYRzRnSUdoNVpISmhkR2x2YmxCaGNtVnVkRVpwWW1WeUlEMGdabWxpWlhJN1hHNGdJR2x6U0hsa2NtRjBhVzVuSUQwZ2RISjFaVHRjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUmxiR1YwWlVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNoeVpYUjFjbTVHYVdKbGNpd2dhVzV6ZEdGdVkyVXBJSHRjYmlBZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvY21WMGRYSnVSbWxpWlhJdWRHRm5LU0I3WEc0Z0lDQWdJQ0JqWVhObElFaHZjM1JTYjI5ME9seHVJQ0FnSUNBZ0lDQmthV1JPYjNSSWVXUnlZWFJsUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVvY21WMGRYSnVSbWxpWlhJdWMzUmhkR1ZPYjJSbExtTnZiblJoYVc1bGNrbHVabThzSUdsdWMzUmhibU5sS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ1pHbGtUbTkwU0hsa2NtRjBaVWx1YzNSaGJtTmxLSEpsZEhWeWJrWnBZbVZ5TG5SNWNHVXNJSEpsZEhWeWJrWnBZbVZ5TG0xbGJXOXBlbVZrVUhKdmNITXNJSEpsZEhWeWJrWnBZbVZ5TG5OMFlYUmxUbTlrWlN3Z2FXNXpkR0Z1WTJVcE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdZMmhwYkdSVWIwUmxiR1YwWlNBOUlHTnlaV0YwWlVacFltVnlSbkp2YlVodmMzUkpibk4wWVc1alpVWnZja1JsYkdWMGFXOXVLQ2s3WEc0Z0lHTm9hV3hrVkc5RVpXeGxkR1V1YzNSaGRHVk9iMlJsSUQwZ2FXNXpkR0Z1WTJVN1hHNGdJR05vYVd4a1ZHOUVaV3hsZEdVdWNtVjBkWEp1SUQwZ2NtVjBkWEp1Um1saVpYSTdYRzRnSUdOb2FXeGtWRzlFWld4bGRHVXVaV1ptWldOMFZHRm5JRDBnUkdWc1pYUnBiMjQ3SUM4dklGUm9hWE1nYldsbmFIUWdjMlZsYlNCc2FXdGxJR2wwSUdKbGJHOXVaM01nYjI0Z2NISnZaM0psYzNObFpFWnBjbk4wUkdWc1pYUnBiMjR1SUVodmQyVjJaWElzWEc0Z0lDOHZJSFJvWlhObElHTm9hV3hrY21WdUlHRnlaU0J1YjNRZ2NHRnlkQ0J2WmlCMGFHVWdjbVZqYjI1amFXeHBZWFJwYjI0Z2JHbHpkQ0J2WmlCamFHbHNaSEpsYmk1Y2JpQWdMeThnUlhabGJpQnBaaUIzWlNCaFltOXlkQ0JoYm1RZ2NtVnlaV052Ym1OcGJHVWdkR2hsSUdOb2FXeGtjbVZ1TENCMGFHRjBJSGRwYkd3Z2RISjVJSFJ2SUdoNVpISmhkR1ZjYmlBZ0x5OGdZV2RoYVc0Z1lXNWtJSFJvWlNCdWIyUmxjeUJoY21VZ2MzUnBiR3dnYVc0Z2RHaGxJR2h2YzNRZ2RISmxaU0J6YnlCMGFHVnpaU0IzYVd4c0lHSmxYRzRnSUM4dklISmxZM0psWVhSbFpDNWNibHh1SUNCcFppQW9jbVYwZFhKdVJtbGlaWEl1YkdGemRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUXVibVY0ZEVWbVptVmpkQ0E5SUdOb2FXeGtWRzlFWld4bGRHVTdYRzRnSUNBZ2NtVjBkWEp1Um1saVpYSXViR0Z6ZEVWbVptVmpkQ0E5SUdOb2FXeGtWRzlFWld4bGRHVTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdVJtbGlaWEl1Wm1seWMzUkZabVpsWTNRZ1BTQnlaWFIxY201R2FXSmxjaTVzWVhOMFJXWm1aV04wSUQwZ1kyaHBiR1JVYjBSbGJHVjBaVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJuTmxjblJPYjI1SWVXUnlZWFJsWkVsdWMzUmhibU5sS0hKbGRIVnlia1pwWW1WeUxDQm1hV0psY2lrZ2UxeHVJQ0JtYVdKbGNpNWxabVpsWTNSVVlXY2dQU0JtYVdKbGNpNWxabVpsWTNSVVlXY2dKaUIrU0hsa2NtRjBhVzVuSUh3Z1VHeGhZMlZ0Wlc1ME8xeHVYRzRnSUh0Y2JpQWdJQ0J6ZDJsMFkyZ2dLSEpsZEhWeWJrWnBZbVZ5TG5SaFp5a2dlMXh1SUNBZ0lDQWdZMkZ6WlNCSWIzTjBVbTl2ZERwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCd1lYSmxiblJEYjI1MFlXbHVaWElnUFNCeVpYUjFjbTVHYVdKbGNpNXpkR0YwWlU1dlpHVXVZMjl1ZEdGcGJtVnlTVzVtYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9abWxpWlhJdWRHRm5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUIwZVhCbElEMGdabWxpWlhJdWRIbHdaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCeWIzQnpJRDBnWm1saVpYSXVjR1Z1WkdsdVoxQnliM0J6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVdST2IzUkdhVzVrU0hsa2NtRjBZV0pzWlVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS0hCaGNtVnVkRU52Ym5SaGFXNWxjaXdnZEhsd1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElFaHZjM1JVWlhoME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdkR1Y0ZENBOUlHWnBZbVZ5TG5CbGJtUnBibWRRY205d2N6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1pHbGtUbTkwUm1sdVpFaDVaSEpoZEdGaWJHVkRiMjUwWVdsdVpYSlVaWGgwU1c1emRHRnVZMlVvY0dGeVpXNTBRMjl1ZEdGcGJtVnlMQ0IwWlhoMEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTJGelpTQkliM04wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhCaGNtVnVkRlI1Y0dVZ1BTQnlaWFIxY201R2FXSmxjaTUwZVhCbE8xeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCd1lYSmxiblJRY205d2N5QTlJSEpsZEhWeWJrWnBZbVZ5TG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlIQmhjbVZ1ZEVsdWMzUmhibU5sSUQwZ2NtVjBkWEp1Um1saVpYSXVjM1JoZEdWT2IyUmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNobWFXSmxjaTUwWVdjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlGOTBlWEJsSUQwZ1ptbGlaWEl1ZEhsd1pUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRjl3Y205d2N5QTlJR1pwWW1WeUxuQmxibVJwYm1kUWNtOXdjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaR2xrVG05MFJtbHVaRWg1WkhKaGRHRmliR1ZKYm5OMFlXNWpaU2h3WVhKbGJuUlVlWEJsTENCd1lYSmxiblJRY205d2N5d2djR0Z5Wlc1MFNXNXpkR0Z1WTJVc0lGOTBlWEJsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnU0c5emRGUmxlSFE2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCZmRHVjRkQ0E5SUdacFltVnlMbkJsYm1ScGJtZFFjbTl3Y3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdsa1RtOTBSbWx1WkVoNVpISmhkR0ZpYkdWVVpYaDBTVzV6ZEdGdVkyVW9jR0Z5Wlc1MFZIbHdaU3dnY0dGeVpXNTBVSEp2Y0hNc0lIQmhjbVZ1ZEVsdWMzUmhibU5sTENCZmRHVjRkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRk4xYzNCbGJuTmxRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmthV1JPYjNSR2FXNWtTSGxrY21GMFlXSnNaVk4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9jR0Z5Wlc1MFZIbHdaU3dnY0dGeVpXNTBVSEp2Y0hNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFJ5ZVVoNVpISmhkR1VvWm1saVpYSXNJRzVsZUhSSmJuTjBZVzVqWlNrZ2UxeHVJQ0J6ZDJsMFkyZ2dLR1pwWW1WeUxuUmhaeWtnZTF4dUlDQWdJR05oYzJVZ1NHOXpkRU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlIUjVjR1VnUFNCbWFXSmxjaTUwZVhCbE8xeHVJQ0FnSUNBZ0lDQjJZWElnY0hKdmNITWdQU0JtYVdKbGNpNXdaVzVrYVc1blVISnZjSE03WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR05oYmtoNVpISmhkR1ZKYm5OMFlXNWpaU2h1WlhoMFNXNXpkR0Z1WTJVc0lIUjVjR1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm5OMFlXNWpaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHWnBZbVZ5TG5OMFlYUmxUbTlrWlNBOUlHbHVjM1JoYm1ObE8xeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQkliM04wVkdWNGREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhSbGVIUWdQU0JtYVdKbGNpNXdaVzVrYVc1blVISnZjSE03WEc0Z0lDQWdJQ0FnSUhaaGNpQjBaWGgwU1c1emRHRnVZMlVnUFNCallXNUllV1J5WVhSbFZHVjRkRWx1YzNSaGJtTmxLRzVsZUhSSmJuTjBZVzVqWlN3Z2RHVjRkQ2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJsZUhSSmJuTjBZVzVqWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1pwWW1WeUxuTjBZWFJsVG05a1pTQTlJSFJsZUhSSmJuTjBZVzVqWlR0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBjbmxVYjBOc1lXbHRUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNobWFXSmxjaWtnZTF4dUlDQnBaaUFvSVdselNIbGtjbUYwYVc1bktTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2RtRnlJRzVsZUhSSmJuTjBZVzVqWlNBOUlHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlU3WEc1Y2JpQWdhV1lnS0NGdVpYaDBTVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQXZMeUJPYjNSb2FXNW5JSFJ2SUdoNVpISmhkR1V1SUUxaGEyVWdhWFFnWVc0Z2FXNXpaWEowYVc5dUxseHVJQ0FnSUdsdWMyVnlkRTV2YmtoNVpISmhkR1ZrU1c1emRHRnVZMlVvYUhsa2NtRjBhVzl1VUdGeVpXNTBSbWxpWlhJc0lHWnBZbVZ5S1R0Y2JpQWdJQ0JwYzBoNVpISmhkR2x1WnlBOUlHWmhiSE5sTzF4dUlDQWdJR2g1WkhKaGRHbHZibEJoY21WdWRFWnBZbVZ5SUQwZ1ptbGlaWEk3WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdacGNuTjBRWFIwWlcxd2RHVmtTVzV6ZEdGdVkyVWdQU0J1WlhoMFNXNXpkR0Z1WTJVN1hHNWNiaUFnYVdZZ0tDRjBjbmxJZVdSeVlYUmxLR1pwWW1WeUxDQnVaWGgwU1c1emRHRnVZMlVwS1NCN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnWTJGdUozUWdhSGxrY21GMFpTQjBhR2x6SUdsdWMzUmhibU5sSUd4bGRDZHpJSFJ5ZVNCMGFHVWdibVY0ZENCdmJtVXVYRzRnSUNBZ0x5OGdWMlVnZFhObElIUm9hWE1nWVhNZ1lTQm9aWFZ5YVhOMGFXTXVJRWwwSjNNZ1ltRnpaV1FnYjI0Z2FXNTBkV2wwYVc5dUlHRnVaQ0J1YjNRZ1pHRjBZU0J6YnlCcGRGeHVJQ0FnSUM4dklHMXBaMmgwSUdKbElHWnNZWGRsWkNCdmNpQjFibTVsWTJWemMyRnllUzVjYmlBZ0lDQnVaWGgwU1c1emRHRnVZMlVnUFNCblpYUk9aWGgwU0hsa2NtRjBZV0pzWlZOcFlteHBibWNvWm1seWMzUkJkSFJsYlhCMFpXUkpibk4wWVc1alpTazdYRzVjYmlBZ0lDQnBaaUFvSVc1bGVIUkpibk4wWVc1alpTQjhmQ0FoZEhKNVNIbGtjbUYwWlNobWFXSmxjaXdnYm1WNGRFbHVjM1JoYm1ObEtTa2dlMXh1SUNBZ0lDQWdMeThnVG05MGFHbHVaeUIwYnlCb2VXUnlZWFJsTGlCTllXdGxJR2wwSUdGdUlHbHVjMlZ5ZEdsdmJpNWNiaUFnSUNBZ0lHbHVjMlZ5ZEU1dmJraDVaSEpoZEdWa1NXNXpkR0Z1WTJVb2FIbGtjbUYwYVc5dVVHRnlaVzUwUm1saVpYSXNJR1pwWW1WeUtUdGNiaUFnSUNBZ0lHbHpTSGxrY21GMGFXNW5JRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQm9lV1J5WVhScGIyNVFZWEpsYm5SR2FXSmxjaUE5SUdacFltVnlPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdWMlVnYldGMFkyaGxaQ0IwYUdVZ2JtVjRkQ0J2Ym1Vc0lIZGxKMnhzSUc1dmR5QmhjM04xYldVZ2RHaGhkQ0IwYUdVZ1ptbHljM1FnYjI1bElIZGhjMXh1SUNBZ0lDOHZJSE4xY0dWeVpteDFiM1Z6SUdGdVpDQjNaU2RzYkNCa1pXeGxkR1VnYVhRdUlGTnBibU5sSUhkbElHTmhiaWQwSUdWaFoyVnliSGtnWkdWc1pYUmxJR2wwWEc0Z0lDQWdMeThnZDJVbmJHd2dhR0YyWlNCMGJ5QnpZMmhsWkhWc1pTQmhJR1JsYkdWMGFXOXVMaUJVYnlCa2J5QjBhR0YwTENCMGFHbHpJRzV2WkdVZ2JtVmxaSE1nWVNCa2RXMXRlVnh1SUNBZ0lDOHZJR1pwWW1WeUlHRnpjMjlqYVdGMFpXUWdkMmwwYUNCcGRDNWNibHh1WEc0Z0lDQWdaR1ZzWlhSbFNIbGtjbUYwWVdKc1pVbHVjM1JoYm1ObEtHaDVaSEpoZEdsdmJsQmhjbVZ1ZEVacFltVnlMQ0JtYVhKemRFRjBkR1Z0Y0hSbFpFbHVjM1JoYm1ObEtUdGNiaUFnZlZ4dVhHNGdJR2g1WkhKaGRHbHZibEJoY21WdWRFWnBZbVZ5SUQwZ1ptbGlaWEk3WEc0Z0lHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlVnUFNCblpYUkdhWEp6ZEVoNVpISmhkR0ZpYkdWRGFHbHNaQ2h1WlhoMFNXNXpkR0Z1WTJVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2NtVndZWEpsVkc5SWVXUnlZWFJsU0c5emRFbHVjM1JoYm1ObEtHWnBZbVZ5TENCeWIyOTBRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVXNJR2h2YzNSRGIyNTBaWGgwS1NCN1hHNWNiaUFnZG1GeUlHbHVjM1JoYm1ObElEMGdabWxpWlhJdWMzUmhkR1ZPYjJSbE8xeHVJQ0IyWVhJZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUdoNVpISmhkR1ZKYm5OMFlXNWpaU2hwYm5OMFlXNWpaU3dnWm1saVpYSXVkSGx3WlN3Z1ptbGlaWEl1YldWdGIybDZaV1JRY205d2N5d2djbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sTENCb2IzTjBRMjl1ZEdWNGRDd2dabWxpWlhJcE95QXZMeUJVVDBSUE9pQlVlWEJsSUhSb2FYTWdjM0JsWTJsbWFXTWdkRzhnZEdocGN5QjBlWEJsSUc5bUlHTnZiWEJ2Ym1WdWRDNWNibHh1SUNCbWFXSmxjaTUxY0dSaGRHVlJkV1YxWlNBOUlIVndaR0YwWlZCaGVXeHZZV1E3SUM4dklFbG1JSFJvWlNCMWNHUmhkR1VnY0dGNWJHOWhaQ0JwYm1ScFkyRjBaWE1nZEdoaGRDQjBhR1Z5WlNCcGN5QmhJR05vWVc1blpTQnZjaUJwWmlCMGFHVnlaVnh1SUNBdkx5QnBjeUJoSUc1bGR5QnlaV1lnZDJVZ2JXRnlheUIwYUdseklHRnpJR0Z1SUhWd1pHRjBaUzVjYmx4dUlDQnBaaUFvZFhCa1lYUmxVR0Y1Ykc5aFpDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2NtVndZWEpsVkc5SWVXUnlZWFJsU0c5emRGUmxlSFJKYm5OMFlXNWpaU2htYVdKbGNpa2dlMXh1WEc0Z0lIWmhjaUIwWlhoMFNXNXpkR0Z1WTJVZ1BTQm1hV0psY2k1emRHRjBaVTV2WkdVN1hHNGdJSFpoY2lCMFpYaDBRMjl1ZEdWdWRDQTlJR1pwWW1WeUxtMWxiVzlwZW1Wa1VISnZjSE03WEc0Z0lIWmhjaUJ6YUc5MWJHUlZjR1JoZEdVZ1BTQm9lV1J5WVhSbFZHVjRkRWx1YzNSaGJtTmxLSFJsZUhSSmJuTjBZVzVqWlN3Z2RHVjRkRU52Ym5SbGJuUXNJR1pwWW1WeUtUdGNibHh1SUNCN1hHNGdJQ0FnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaU2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVWdZWE56ZFcxbElIUm9ZWFFnY0hKbGNHRnlaVlJ2U0hsa2NtRjBaVWh2YzNSVVpYaDBTVzV6ZEdGdVkyVWdhWE1nWTJGc2JHVmtJR2x1SUdFZ1kyOXVkR1Y0ZENCM2FHVnlaU0IwYUdWY2JpQWdJQ0FnSUM4dklHaDVaSEpoZEdsdmJpQndZWEpsYm5RZ2FYTWdkR2hsSUhCaGNtVnVkQ0JvYjNOMElHTnZiWEJ2Ym1WdWRDQnZaaUIwYUdseklHaHZjM1FnZEdWNGRDNWNiaUFnSUNBZ0lIWmhjaUJ5WlhSMWNtNUdhV0psY2lBOUlHaDVaSEpoZEdsdmJsQmhjbVZ1ZEVacFltVnlPMXh1WEc0Z0lDQWdJQ0JwWmlBb2NtVjBkWEp1Um1saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2h5WlhSMWNtNUdhV0psY2k1MFlXY3BJSHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRWh2YzNSU2IyOTBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdjR0Z5Wlc1MFEyOXVkR0ZwYm1WeUlEMGdjbVYwZFhKdVJtbGlaWEl1YzNSaGRHVk9iMlJsTG1OdmJuUmhhVzVsY2tsdVptODdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnBaRTV2ZEUxaGRHTm9TSGxrY21GMFpXUkRiMjUwWVdsdVpYSlVaWGgwU1c1emRHRnVZMlVvY0dGeVpXNTBRMjl1ZEdGcGJtVnlMQ0IwWlhoMFNXNXpkR0Z1WTJVc0lIUmxlSFJEYjI1MFpXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQndZWEpsYm5SVWVYQmxJRDBnY21WMGRYSnVSbWxpWlhJdWRIbHdaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCaGNtVnVkRkJ5YjNCeklEMGdjbVYwZFhKdVJtbGlaWEl1YldWdGIybDZaV1JRY205d2N6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJSEJoY21WdWRFbHVjM1JoYm1ObElEMGdjbVYwZFhKdVJtbGlaWEl1YzNSaGRHVk9iMlJsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVdST2IzUk5ZWFJqYUVoNVpISmhkR1ZrVkdWNGRFbHVjM1JoYm1ObEtIQmhjbVZ1ZEZSNWNHVXNJSEJoY21WdWRGQnliM0J6TENCd1lYSmxiblJKYm5OMFlXNWpaU3dnZEdWNGRFbHVjM1JoYm1ObExDQjBaWGgwUTI5dWRHVnVkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhOb2IzVnNaRlZ3WkdGMFpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2MydHBjRkJoYzNSRVpXaDVaSEpoZEdWa1UzVnpjR1Z1YzJWSmJuTjBZVzVqWlNobWFXSmxjaWtnZTF4dVhHNGdJSFpoY2lCemRYTndaVzV6WlZOMFlYUmxJRDBnWm1saVpYSXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdkbUZ5SUhOMWMzQmxibk5sU1c1emRHRnVZMlVnUFNCemRYTndaVzV6WlZOMFlYUmxJQ0U5UFNCdWRXeHNJRDhnYzNWemNHVnVjMlZUZEdGMFpTNWtaV2g1WkhKaGRHVmtJRG9nYm5Wc2JEdGNibHh1SUNCcFppQW9JWE4xYzNCbGJuTmxTVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmVIQmxZM1JsWkNCMGJ5Qm9ZWFpsSUdFZ2FIbGtjbUYwWldRZ2MzVnpjR1Z1YzJVZ2FXNXpkR0Z1WTJVdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1oyVjBUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlVGbWRHVnlVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHpkWE53Wlc1elpVbHVjM1JoYm1ObEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHOXdWRzlPWlhoMFNHOXpkRkJoY21WdWRDaG1hV0psY2lrZ2UxeHVJQ0IyWVhJZ2NHRnlaVzUwSUQwZ1ptbGlaWEl1Y21WMGRYSnVPMXh1WEc0Z0lIZG9hV3hsSUNod1lYSmxiblFnSVQwOUlHNTFiR3dnSmlZZ2NHRnlaVzUwTG5SaFp5QWhQVDBnU0c5emRFTnZiWEJ2Ym1WdWRDQW1KaUJ3WVhKbGJuUXVkR0ZuSUNFOVBTQkliM04wVW05dmRDQW1KaUJ3WVhKbGJuUXVkR0ZuSUNFOVBTQlRkWE53Wlc1elpVTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lIQmhjbVZ1ZENBOUlIQmhjbVZ1ZEM1eVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCb2VXUnlZWFJwYjI1UVlYSmxiblJHYVdKbGNpQTlJSEJoY21WdWREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHOXdTSGxrY21GMGFXOXVVM1JoZEdVb1ptbGlaWElwSUh0Y2JseHVJQ0JwWmlBb1ptbGlaWElnSVQwOUlHaDVaSEpoZEdsdmJsQmhjbVZ1ZEVacFltVnlLU0I3WEc0Z0lDQWdMeThnVjJVbmNtVWdaR1ZsY0dWeUlIUm9ZVzRnZEdobElHTjFjbkpsYm5RZ2FIbGtjbUYwYVc5dUlHTnZiblJsZUhRc0lHbHVjMmxrWlNCaGJpQnBibk5sY25SbFpGeHVJQ0FnSUM4dklIUnlaV1V1WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0ZwYzBoNVpISmhkR2x1WnlrZ2UxeHVJQ0FnSUM4dklFbG1JSGRsSjNKbElHNXZkQ0JqZFhKeVpXNTBiSGtnYUhsa2NtRjBhVzVuSUdKMWRDQjNaU2R5WlNCcGJpQmhJR2g1WkhKaGRHbHZiaUJqYjI1MFpYaDBMQ0IwYUdWdVhHNGdJQ0FnTHk4Z2QyVWdkMlZ5WlNCaGJpQnBibk5sY25ScGIyNGdZVzVrSUc1dmR5QnVaV1ZrSUhSdklIQnZjQ0IxY0NCeVpXVnVkR1Z5SUdoNVpISmhkR2x2YmlCdlppQnZkWEpjYmlBZ0lDQXZMeUJ6YVdKc2FXNW5jeTVjYmlBZ0lDQndiM0JVYjA1bGVIUkliM04wVUdGeVpXNTBLR1pwWW1WeUtUdGNiaUFnSUNCcGMwaDVaSEpoZEdsdVp5QTlJSFJ5ZFdVN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhSNWNHVWdQU0JtYVdKbGNpNTBlWEJsT3lBdkx5QkpaaUIzWlNCb1lYWmxJR0Z1ZVNCeVpXMWhhVzVwYm1jZ2FIbGtjbUYwWVdKc1pTQnViMlJsY3l3Z2QyVWdibVZsWkNCMGJ5QmtaV3hsZEdVZ2RHaGxiU0J1YjNjdVhHNGdJQzh2SUZkbElHOXViSGtnWkc4Z2RHaHBjeUJrWldWd1pYSWdkR2hoYmlCb1pXRmtJR0Z1WkNCaWIyUjVJSE5wYm1ObElIUm9aWGtnZEdWdVpDQjBieUJvWVhabElISmhibVJ2YlZ4dUlDQXZMeUJ2ZEdobGNpQnViMlJsY3lCcGJpQjBhR1Z0TGlCWFpTQmhiSE52SUdsbmJtOXlaU0JqYjIxd2IyNWxiblJ6SUhkcGRHZ2djSFZ5WlNCMFpYaDBJR052Ym5SbGJuUWdhVzVjYmlBZ0x5OGdjMmxrWlNCdlppQjBhR1Z0TGx4dUlDQXZMeUJVVDBSUE9pQkNaWFIwWlhJZ2FHVjFjbWx6ZEdsakxseHVYRzRnSUdsbUlDaG1hV0psY2k1MFlXY2dJVDA5SUVodmMzUkRiMjF3YjI1bGJuUWdmSHdnZEhsd1pTQWhQVDBnSjJobFlXUW5JQ1ltSUhSNWNHVWdJVDA5SUNkaWIyUjVKeUFtSmlBaGMyaHZkV3hrVTJWMFZHVjRkRU52Ym5SbGJuUW9kSGx3WlN3Z1ptbGlaWEl1YldWdGIybDZaV1JRY205d2N5a3BJSHRjYmlBZ0lDQjJZWElnYm1WNGRFbHVjM1JoYm1ObElEMGdibVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2h1WlhoMFNXNXpkR0Z1WTJVcElIdGNiaUFnSUNBZ0lHUmxiR1YwWlVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNobWFXSmxjaXdnYm1WNGRFbHVjM1JoYm1ObEtUdGNiaUFnSUNBZ0lHNWxlSFJKYm5OMFlXNWpaU0E5SUdkbGRFNWxlSFJJZVdSeVlYUmhZbXhsVTJsaWJHbHVaeWh1WlhoMFNXNXpkR0Z1WTJVcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQnZjRlJ2VG1WNGRFaHZjM1JRWVhKbGJuUW9abWxpWlhJcE8xeHVYRzRnSUdsbUlDaG1hV0psY2k1MFlXY2dQVDA5SUZOMWMzQmxibk5sUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnYm1WNGRFaDVaSEpoZEdGaWJHVkpibk4wWVc1alpTQTlJSE5yYVhCUVlYTjBSR1ZvZVdSeVlYUmxaRk4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9abWxpWlhJcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlVnUFNCb2VXUnlZWFJwYjI1UVlYSmxiblJHYVdKbGNpQS9JR2RsZEU1bGVIUkllV1J5WVhSaFlteGxVMmxpYkdsdVp5aG1hV0psY2k1emRHRjBaVTV2WkdVcElEb2diblZzYkR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWE5sZEVoNVpISmhkR2x2YmxOMFlYUmxLQ2tnZTF4dVhHNGdJR2g1WkhKaGRHbHZibEJoY21WdWRFWnBZbVZ5SUQwZ2JuVnNiRHRjYmlBZ2JtVjRkRWg1WkhKaGRHRmliR1ZKYm5OMFlXNWpaU0E5SUc1MWJHdzdYRzRnSUdselNIbGtjbUYwYVc1bklEMGdabUZzYzJVN1hHNTlYRzVjYm5aaGNpQlNaV0ZqZEVOMWNuSmxiblJQZDI1bGNpUXhJRDBnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNdVVtVmhZM1JEZFhKeVpXNTBUM2R1WlhJN1hHNTJZWElnWkdsa1VtVmpaV2wyWlZWd1pHRjBaU0E5SUdaaGJITmxPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRUpoWkVOc1lYTnpPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRTF2WkhWc1pWQmhkSFJsY201RGIyMXdiMjVsYm5RN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFEyOXVkR1Y0ZEZSNWNHVlBia1oxYm1OMGFXOXVRMjl0Y0c5dVpXNTBPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRWRsZEVSbGNtbDJaV1JUZEdGMFpVOXVSblZ1WTNScGIyNURiMjF3YjI1bGJuUTdYRzUyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBSblZ1WTNScGIyNVNaV1p6TzF4dWRtRnlJR1JwWkZkaGNtNUJZbTkxZEZKbFlYTnphV2R1YVc1blVISnZjSE03WEc1MllYSWdaR2xrVjJGeWJrRmliM1YwVW1WMlpXRnNUM0prWlhJN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFZHRnBiRTl3ZEdsdmJuTTdYRzVjYm50Y2JpQWdaR2xrVjJGeWJrRmliM1YwUW1Ga1EyeGhjM01nUFNCN2ZUdGNiaUFnWkdsa1YyRnlia0ZpYjNWMFRXOWtkV3hsVUdGMGRHVnlia052YlhCdmJtVnVkQ0E5SUh0OU8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSRGIyNTBaWGgwVkhsd1pVOXVSblZ1WTNScGIyNURiMjF3YjI1bGJuUWdQU0I3ZlR0Y2JpQWdaR2xrVjJGeWJrRmliM1YwUjJWMFJHVnlhWFpsWkZOMFlYUmxUMjVHZFc1amRHbHZia052YlhCdmJtVnVkQ0E5SUh0OU8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSR2RXNWpkR2x2YmxKbFpuTWdQU0I3ZlR0Y2JpQWdaR2xrVjJGeWJrRmliM1YwVW1WaGMzTnBaMjVwYm1kUWNtOXdjeUE5SUdaaGJITmxPMXh1SUNCa2FXUlhZWEp1UVdKdmRYUlNaWFpsWVd4UGNtUmxjaUE5SUh0OU8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSVVlXbHNUM0IwYVc5dWN5QTlJSHQ5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldOdmJtTnBiR1ZEYUdsc1pISmxiaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dibVY0ZEVOb2FXeGtjbVZ1TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCcFppQW9ZM1Z5Y21WdWRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDOHZJRWxtSUhSb2FYTWdhWE1nWVNCbWNtVnphQ0J1WlhjZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYUdGemJpZDBJR0psWlc0Z2NtVnVaR1Z5WldRZ2VXVjBMQ0IzWlZ4dUlDQWdJQzh2SUhkdmJpZDBJSFZ3WkdGMFpTQnBkSE1nWTJocGJHUWdjMlYwSUdKNUlHRndjR3g1YVc1bklHMXBibWx0WVd3Z2MybGtaUzFsWm1abFkzUnpMaUJKYm5OMFpXRmtMRnh1SUNBZ0lDOHZJSGRsSUhkcGJHd2dZV1JrSUhSb1pXMGdZV3hzSUhSdklIUm9aU0JqYUdsc1pDQmlaV1p2Y21VZ2FYUWdaMlYwY3lCeVpXNWtaWEpsWkM0Z1ZHaGhkQ0J0WldGdWMxeHVJQ0FnSUM4dklIZGxJR05oYmlCdmNIUnBiV2w2WlNCMGFHbHpJSEpsWTI5dVkybHNhV0YwYVc5dUlIQmhjM01nWW5rZ2JtOTBJSFJ5WVdOcmFXNW5JSE5wWkdVdFpXWm1aV04wY3k1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlHMXZkVzUwUTJocGJHUkdhV0psY25Nb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1MWJHd3NJRzVsZUhSRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVsbUlIUm9aU0JqZFhKeVpXNTBJR05vYVd4a0lHbHpJSFJvWlNCellXMWxJR0Z6SUhSb1pTQjNiM0pySUdsdUlIQnliMmR5WlhOekxDQnBkQ0J0WldGdWN5QjBhR0YwWEc0Z0lDQWdMeThnZDJVZ2FHRjJaVzRuZENCNVpYUWdjM1JoY25SbFpDQmhibmtnZDI5eWF5QnZiaUIwYUdWelpTQmphR2xzWkhKbGJpNGdWR2hsY21WbWIzSmxMQ0IzWlNCMWMyVmNiaUFnSUNBdkx5QjBhR1VnWTJ4dmJtVWdZV3huYjNKcGRHaHRJSFJ2SUdOeVpXRjBaU0JoSUdOdmNIa2diMllnWVd4c0lIUm9aU0JqZFhKeVpXNTBJR05vYVd4a2NtVnVMbHh1SUNBZ0lDOHZJRWxtSUhkbElHaGhaQ0JoYm5rZ2NISnZaM0psYzNObFpDQjNiM0pySUdGc2NtVmhaSGtzSUhSb1lYUWdhWE1nYVc1MllXeHBaQ0JoZENCMGFHbHpJSEJ2YVc1MElITnZYRzRnSUNBZ0x5OGdiR1YwSjNNZ2RHaHliM2NnYVhRZ2IzVjBMbHh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtJRDBnY21WamIyNWphV3hsUTJocGJHUkdhV0psY25Nb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMWNuSmxiblF1WTJocGJHUXNJRzVsZUhSRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdadmNtTmxWVzV0YjNWdWRFTjFjbkpsYm5SQmJtUlNaV052Ym1OcGJHVW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnTHk4Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCbWIzSnJJRzltSUhKbFkyOXVZMmxzWlVOb2FXeGtjbVZ1TGlCSmRDZHpJSFZ6WldRZ2FXNGdZMkZ6WlhNZ2QyaGxjbVVnZDJWY2JpQWdMeThnZDJGdWRDQjBieUJ5WldOdmJtTnBiR1VnZDJsMGFHOTFkQ0J0WVhSamFHbHVaeUJoWjJGcGJuTjBJSFJvWlNCbGVHbHpkR2x1WnlCelpYUXVJRlJvYVhNZ2FHRnpJSFJvWlZ4dUlDQXZMeUJsWm1abFkzUWdiMllnWVd4c0lHTjFjbkpsYm5RZ1kyaHBiR1J5Wlc0Z1ltVnBibWNnZFc1dGIzVnVkR1ZrT3lCbGRtVnVJR2xtSUhSb1pTQjBlWEJsSUdGdVpDQnJaWGxjYmlBZ0x5OGdZWEpsSUhSb1pTQnpZVzFsTENCMGFHVWdiMnhrSUdOb2FXeGtJR2x6SUhWdWJXOTFiblJsWkNCaGJtUWdZU0J1WlhjZ1kyaHBiR1FnYVhNZ1kzSmxZWFJsWkM1Y2JpQWdMeTljYmlBZ0x5OGdWRzhnWkc4Z2RHaHBjeXdnZDJVbmNtVWdaMjlwYm1jZ2RHOGdaMjhnZEdoeWIzVm5hQ0IwYUdVZ2NtVmpiMjVqYVd4bElHRnNaMjl5YVhSb2JTQjBkMmxqWlM0Z1NXNWNiaUFnTHk4Z2RHaGxJR1pwY25OMElIQmhjM01zSUhkbElITmphR1ZrZFd4bElHRWdaR1ZzWlhScGIyNGdabTl5SUdGc2JDQjBhR1VnWTNWeWNtVnVkQ0JqYUdsc1pISmxiaUJpZVZ4dUlDQXZMeUJ3WVhOemFXNW5JRzUxYkd3dVhHNGdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2NtVmpiMjVqYVd4bFEyaHBiR1JHYVdKbGNuTW9kMjl5YTBsdVVISnZaM0psYzNNc0lHTjFjbkpsYm5RdVkyaHBiR1FzSUc1MWJHd3NJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1RzZ0x5OGdTVzRnZEdobElITmxZMjl1WkNCd1lYTnpMQ0IzWlNCdGIzVnVkQ0IwYUdVZ2JtVjNJR05vYVd4a2NtVnVMaUJVYUdVZ2RISnBZMnNnYUdWeVpTQnBjeUIwYUdGMElIZGxYRzRnSUM4dklIQmhjM01nYm5Wc2JDQnBiaUJ3YkdGalpTQnZaaUIzYUdWeVpTQjNaU0IxYzNWaGJHeDVJSEJoYzNNZ2RHaGxJR04xY25KbGJuUWdZMmhwYkdRZ2MyVjBMaUJVYUdseklHaGhjMXh1SUNBdkx5QjBhR1VnWldabVpXTjBJRzltSUhKbGJXOTFiblJwYm1jZ1lXeHNJR05vYVd4a2NtVnVJSEpsWjJGeVpHeGxjM01nYjJZZ2QyaGxkR2hsY2lCMGFHVnBjbHh1SUNBdkx5QnBaR1Z1ZEdsMGFXVnpJRzFoZEdOb0xseHVYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a0lEMGdjbVZqYjI1amFXeGxRMmhwYkdSR2FXSmxjbk1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzUxYkd3c0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWNHUmhkR1ZHYjNKM1lYSmtVbVZtS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0x5OGdWRTlFVHpvZ1kzVnljbVZ1ZENCallXNGdZbVVnYm05dUxXNTFiR3dnYUdWeVpTQmxkbVZ1SUdsbUlIUm9aU0JqYjIxd2IyNWxiblJjYmlBZ0x5OGdhR0Z6YmlkMElIbGxkQ0J0YjNWdWRHVmtMaUJVYUdseklHaGhjSEJsYm5NZ1lXWjBaWElnZEdobElHWnBjbk4wSUhKbGJtUmxjaUJ6ZFhOd1pXNWtjeTVjYmlBZ0x5OGdWMlVuYkd3Z2JtVmxaQ0IwYnlCbWFXZDFjbVVnYjNWMElHbG1JSFJvYVhNZ2FYTWdabWx1WlNCdmNpQmpZVzRnWTJGMWMyVWdhWE56ZFdWekxseHVJQ0I3WEc0Z0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVZ0lUMDlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxLU0I3WEc0Z0lDQWdJQ0F2THlCTVlYcDVJR052YlhCdmJtVnVkQ0J3Y205d2N5QmpZVzRuZENCaVpTQjJZV3hwWkdGMFpXUWdhVzRnWTNKbFlYUmxSV3hsYldWdWRGeHVJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQjBhR1Y1SjNKbElHOXViSGtnWjNWaGNtRnVkR1ZsWkNCMGJ5QmlaU0J5WlhOdmJIWmxaQ0JvWlhKbExseHVJQ0FnSUNBZ2RtRnlJR2x1Ym1WeVVISnZjRlI1Y0dWeklEMGdRMjl0Y0c5dVpXNTBMbkJ5YjNCVWVYQmxjenRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHVibVZ5VUhKdmNGUjVjR1Z6S1NCN1hHNGdJQ0FnSUNBZ0lHTm9aV05yVUhKdmNGUjVjR1Z6S0dsdWJtVnlVSEp2Y0ZSNWNHVnpMQ0J1WlhoMFVISnZjSE1zSUM4dklGSmxjMjlzZG1Wa0lIQnliM0J6WEc0Z0lDQWdJQ0FnSUNkd2NtOXdKeXdnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hEYjIxd2IyNWxiblFwTENCblpYUkRkWEp5Wlc1MFJtbGlaWEpUZEdGamEwbHVSR1YyS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdjbVZ1WkdWeUlEMGdRMjl0Y0c5dVpXNTBMbkpsYm1SbGNqdGNiaUFnZG1GeUlISmxaaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmpzZ0x5OGdWR2hsSUhKbGMzUWdhWE1nWVNCbWIzSnJJRzltSUhWd1pHRjBaVVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBYRzVjYmlBZ2RtRnlJRzVsZUhSRGFHbHNaSEpsYmp0Y2JpQWdjSEpsY0dGeVpWUnZVbVZoWkVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0I3WEc0Z0lDQWdVbVZoWTNSRGRYSnlaVzUwVDNkdVpYSWtNUzVqZFhKeVpXNTBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUNBZ2MyVjBTWE5TWlc1a1pYSnBibWNvZEhKMVpTazdYRzRnSUNBZ2JtVjRkRU5vYVd4a2NtVnVJRDBnY21WdVpHVnlWMmwwYUVodmIydHpLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnlaVzVrWlhJc0lHNWxlSFJRY205d2N5d2djbVZtTENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQnBaaUFvSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTF2WkdVZ0ppQlRkSEpwWTNSTmIyUmxLU0I3WEc0Z0lDQWdJQ0F2THlCUGJteDVJR1J2ZFdKc1pTMXlaVzVrWlhJZ1kyOXRjRzl1Wlc1MGN5QjNhWFJvSUVodmIydHpYRzRnSUNBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnVaWGgwUTJocGJHUnlaVzRnUFNCeVpXNWtaWEpYYVhSb1NHOXZhM01vWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNpd2dibVY0ZEZCeWIzQnpMQ0J5WldZc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnpaWFJKYzFKbGJtUmxjbWx1WnlobVlXeHpaU2s3WEc0Z0lIMWNibHh1SUNCcFppQW9ZM1Z5Y21WdWRDQWhQVDBnYm5Wc2JDQW1KaUFoWkdsa1VtVmpaV2wyWlZWd1pHRjBaU2tnZTF4dUlDQWdJR0poYVd4dmRYUkliMjlyY3loamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUhKbGRIVnliaUJpWVdsc2IzVjBUMjVCYkhKbFlXUjVSbWx1YVhOb1pXUlhiM0pyS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJSDBnTHk4Z1VtVmhZM1FnUkdWMlZHOXZiSE1nY21WaFpITWdkR2hwY3lCbWJHRm5MbHh1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRkJsY21admNtMWxaRmR2Y21zN1hHNGdJSEpsWTI5dVkybHNaVU5vYVd4a2NtVnVLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnVaWGgwUTJocGJHUnlaVzRzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVk5aVzF2UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJR2xtSUNoamRYSnlaVzUwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlIUjVjR1VnUFNCRGIyMXdiMjVsYm5RdWRIbHdaVHRjYmx4dUlDQWdJR2xtSUNocGMxTnBiWEJzWlVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwS0hSNWNHVXBJQ1ltSUVOdmJYQnZibVZ1ZEM1amIyMXdZWEpsSUQwOVBTQnVkV3hzSUNZbUlDOHZJRk5wYlhCc1pVMWxiVzlEYjIxd2IyNWxiblFnWTI5a1pYQmhkR2dnWkc5bGMyNG5kQ0J5WlhOdmJIWmxJRzkxZEdWeUlIQnliM0J6SUdWcGRHaGxjaTVjYmlBZ0lDQkRiMjF3YjI1bGJuUXVaR1ZtWVhWc2RGQnliM0J6SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYTnZiSFpsWkZSNWNHVWdQU0IwZVhCbE8xeHVYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEpsYzI5c2RtVmtWSGx3WlNBOUlISmxjMjlzZG1WR2RXNWpkR2x2YmtadmNraHZkRkpsYkc5aFpHbHVaeWgwZVhCbEtUdGNiaUFnSUNBZ0lIMGdMeThnU1dZZ2RHaHBjeUJwY3lCaElIQnNZV2x1SUdaMWJtTjBhVzl1SUdOdmJYQnZibVZ1ZENCM2FYUm9iM1YwSUdSbFptRjFiSFFnY0hKdmNITXNYRzRnSUNBZ0lDQXZMeUJoYm1RZ2QybDBhQ0J2Ym14NUlIUm9aU0JrWldaaGRXeDBJSE5vWVd4c2IzY2dZMjl0Y0dGeWFYTnZiaXdnZDJVZ2RYQm5jbUZrWlNCcGRGeHVJQ0FnSUNBZ0x5OGdkRzhnWVNCVGFXMXdiR1ZOWlcxdlEyOXRjRzl1Wlc1MElIUnZJR0ZzYkc5M0lHWmhjM1FnY0dGMGFDQjFjR1JoZEdWekxseHVYRzVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuUmhaeUE5SUZOcGJYQnNaVTFsYlc5RGIyMXdiMjVsYm5RN1hHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbElEMGdjbVZ6YjJ4MlpXUlVlWEJsTzF4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhiR2xrWVhSbFJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SSmJrUmxkaWgzYjNKclNXNVFjbTluY21WemN5d2dkSGx3WlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5WlhOdmJIWmxaRlI1Y0dVc0lHNWxlSFJRY205d2N5d2dkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCMllYSWdhVzV1WlhKUWNtOXdWSGx3WlhNZ1BTQjBlWEJsTG5CeWIzQlVlWEJsY3p0Y2JseHVJQ0FnSUNBZ2FXWWdLR2x1Ym1WeVVISnZjRlI1Y0dWektTQjdYRzRnSUNBZ0lDQWdJQzh2SUVsdWJtVnlJRzFsYlc4Z1kyOXRjRzl1Wlc1MElIQnliM0J6SUdGeVpXNG5kQ0JqZFhKeVpXNTBiSGtnZG1Gc2FXUmhkR1ZrSUdsdUlHTnlaV0YwWlVWc1pXMWxiblF1WEc0Z0lDQWdJQ0FnSUM4dklGZGxJR052ZFd4a0lHMXZkbVVnYVhRZ2RHaGxjbVVzSUdKMWRDQjNaU2RrSUhOMGFXeHNJRzVsWldRZ2RHaHBjeUJtYjNJZ2JHRjZlU0JqYjJSbElIQmhkR2d1WEc0Z0lDQWdJQ0FnSUdOb1pXTnJVSEp2Y0ZSNWNHVnpLR2x1Ym1WeVVISnZjRlI1Y0dWekxDQnVaWGgwVUhKdmNITXNJQzh2SUZKbGMyOXNkbVZrSUhCeWIzQnpYRzRnSUNBZ0lDQWdJQ2R3Y205d0p5d2daMlYwUTI5dGNHOXVaVzUwVG1GdFpTaDBlWEJsS1N3Z1oyVjBRM1Z5Y21WdWRFWnBZbVZ5VTNSaFkydEpia1JsZGlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTm9hV3hrSUQwZ1kzSmxZWFJsUm1saVpYSkdjbTl0Vkhsd1pVRnVaRkJ5YjNCektFTnZiWEJ2Ym1WdWRDNTBlWEJsTENCdWRXeHNMQ0J1WlhoMFVISnZjSE1zSUc1MWJHd3NJSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCamFHbHNaQzV5WldZZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1eVpXWTdYRzRnSUNBZ1kyaHBiR1F1Y21WMGRYSnVJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUWdQU0JqYUdsc1pEdGNiaUFnSUNCeVpYUjFjbTRnWTJocGJHUTdYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkbUZ5SUY5MGVYQmxJRDBnUTI5dGNHOXVaVzUwTG5SNWNHVTdYRzRnSUNBZ2RtRnlJRjlwYm01bGNsQnliM0JVZVhCbGN5QTlJRjkwZVhCbExuQnliM0JVZVhCbGN6dGNibHh1SUNBZ0lHbG1JQ2hmYVc1dVpYSlFjbTl3Vkhsd1pYTXBJSHRjYmlBZ0lDQWdJQzh2SUVsdWJtVnlJRzFsYlc4Z1kyOXRjRzl1Wlc1MElIQnliM0J6SUdGeVpXNG5kQ0JqZFhKeVpXNTBiSGtnZG1Gc2FXUmhkR1ZrSUdsdUlHTnlaV0YwWlVWc1pXMWxiblF1WEc0Z0lDQWdJQ0F2THlCWFpTQmpiM1ZzWkNCdGIzWmxJR2wwSUhSb1pYSmxMQ0JpZFhRZ2QyVW5aQ0J6ZEdsc2JDQnVaV1ZrSUhSb2FYTWdabTl5SUd4aGVua2dZMjlrWlNCd1lYUm9MbHh1SUNBZ0lDQWdZMmhsWTJ0UWNtOXdWSGx3WlhNb1gybHVibVZ5VUhKdmNGUjVjR1Z6TENCdVpYaDBVSEp2Y0hNc0lDOHZJRkpsYzI5c2RtVmtJSEJ5YjNCelhHNGdJQ0FnSUNBbmNISnZjQ2NzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWDNSNWNHVXBMQ0JuWlhSRGRYSnlaVzUwUm1saVpYSlRkR0ZqYTBsdVJHVjJLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IyWVhJZ1kzVnljbVZ1ZEVOb2FXeGtJRDBnWTNWeWNtVnVkQzVqYUdsc1pEc2dMeThnVkdocGN5QnBjeUJoYkhkaGVYTWdaWGhoWTNSc2VTQnZibVVnWTJocGJHUmNibHh1SUNCcFppQW9kWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2QybHNiQ0JpWlNCMGFHVWdjSEp2Y0hNZ2QybDBhQ0J5WlhOdmJIWmxaQ0JrWldaaGRXeDBVSEp2Y0hNc1hHNGdJQ0FnTHk4Z2RXNXNhV3RsSUdOMWNuSmxiblF1YldWdGIybDZaV1JRY205d2N5QjNhR2xqYUNCM2FXeHNJR0psSUhSb1pTQjFibkpsYzI5c2RtVmtJRzl1WlhNdVhHNGdJQ0FnZG1GeUlIQnlaWFpRY205d2N5QTlJR04xY25KbGJuUkRhR2xzWkM1dFpXMXZhWHBsWkZCeWIzQnpPeUF2THlCRVpXWmhkV3gwSUhSdklITm9ZV3hzYjNjZ1kyOXRjR0Z5YVhOdmJseHVYRzRnSUNBZ2RtRnlJR052YlhCaGNtVWdQU0JEYjIxd2IyNWxiblF1WTI5dGNHRnlaVHRjYmlBZ0lDQmpiMjF3WVhKbElEMGdZMjl0Y0dGeVpTQWhQVDBnYm5Wc2JDQS9JR052YlhCaGNtVWdPaUJ6YUdGc2JHOTNSWEYxWVd3N1hHNWNiaUFnSUNCcFppQW9ZMjl0Y0dGeVpTaHdjbVYyVUhKdmNITXNJRzVsZUhSUWNtOXdjeWtnSmlZZ1kzVnljbVZ1ZEM1eVpXWWdQVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdKaGFXeHZkWFJQYmtGc2NtVmhaSGxHYVc1cGMyaGxaRmR2Y21zb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1VtVmhZM1FnUkdWMlZHOXZiSE1nY21WaFpITWdkR2hwY3lCbWJHRm5MbHh1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRkJsY21admNtMWxaRmR2Y21zN1hHNGdJSFpoY2lCdVpYZERhR2xzWkNBOUlHTnlaV0YwWlZkdmNtdEpibEJ5YjJkeVpYTnpLR04xY25KbGJuUkRhR2xzWkN3Z2JtVjRkRkJ5YjNCektUdGNiaUFnYm1WM1EyaHBiR1F1Y21WbUlEMGdkMjl5YTBsdVVISnZaM0psYzNNdWNtVm1PMXh1SUNCdVpYZERhR2xzWkM1eVpYUjFjbTRnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUWdQU0J1WlhkRGFHbHNaRHRjYmlBZ2NtVjBkWEp1SUc1bGQwTm9hV3hrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVlRhVzF3YkdWTlpXMXZRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJRzVsZUhSUWNtOXdjeXdnZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDOHZJRlJQUkU4NklHTjFjbkpsYm5RZ1kyRnVJR0psSUc1dmJpMXVkV3hzSUdobGNtVWdaWFpsYmlCcFppQjBhR1VnWTI5dGNHOXVaVzUwWEc0Z0lDOHZJR2hoYzI0bmRDQjVaWFFnYlc5MWJuUmxaQzRnVkdocGN5Qm9ZWEJ3Wlc1eklIZG9aVzRnZEdobElHbHVibVZ5SUhKbGJtUmxjaUJ6ZFhOd1pXNWtjeTVjYmlBZ0x5OGdWMlVuYkd3Z2JtVmxaQ0IwYnlCbWFXZDFjbVVnYjNWMElHbG1JSFJvYVhNZ2FYTWdabWx1WlNCdmNpQmpZVzRnWTJGMWMyVWdhWE56ZFdWekxseHVJQ0I3WEc0Z0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVZ0lUMDlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxLU0I3WEc0Z0lDQWdJQ0F2THlCTVlYcDVJR052YlhCdmJtVnVkQ0J3Y205d2N5QmpZVzRuZENCaVpTQjJZV3hwWkdGMFpXUWdhVzRnWTNKbFlYUmxSV3hsYldWdWRGeHVJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQjBhR1Y1SjNKbElHOXViSGtnWjNWaGNtRnVkR1ZsWkNCMGJ5QmlaU0J5WlhOdmJIWmxaQ0JvWlhKbExseHVJQ0FnSUNBZ2RtRnlJRzkxZEdWeVRXVnRiMVI1Y0dVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGJHVnRaVzUwVkhsd1pUdGNibHh1SUNBZ0lDQWdhV1lnS0c5MWRHVnlUV1Z0YjFSNWNHVXVKQ1IwZVhCbGIyWWdQVDA5SUZKRlFVTlVYMHhCV2xsZlZGbFFSU2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlhaU0IzWVhKdUlIZG9aVzRnZVc5MUlHUmxabWx1WlNCd2NtOXdWSGx3WlhNZ2IyNGdiR0Y2ZVNncFhHNGdJQ0FnSUNBZ0lDOHZJSE52SUd4bGRDZHpJR3AxYzNRZ2MydHBjQ0J2ZG1WeUlHbDBJSFJ2SUdacGJtUWdiV1Z0YnlncElHOTFkR1Z5SUhkeVlYQndaWEl1WEc0Z0lDQWdJQ0FnSUM4dklFbHVibVZ5SUhCeWIzQnpJR1p2Y2lCdFpXMXZJR0Z5WlNCMllXeHBaR0YwWldRZ2JHRjBaWEl1WEc0Z0lDQWdJQ0FnSUc5MWRHVnlUV1Z0YjFSNWNHVWdQU0J5WldacGJtVlNaWE52YkhabFpFeGhlbmxEYjIxd2IyNWxiblFvYjNWMFpYSk5aVzF2Vkhsd1pTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCdmRYUmxjbEJ5YjNCVWVYQmxjeUE5SUc5MWRHVnlUV1Z0YjFSNWNHVWdKaVlnYjNWMFpYSk5aVzF2Vkhsd1pTNXdjbTl3Vkhsd1pYTTdYRzVjYmlBZ0lDQWdJR2xtSUNodmRYUmxjbEJ5YjNCVWVYQmxjeWtnZTF4dUlDQWdJQ0FnSUNCamFHVmphMUJ5YjNCVWVYQmxjeWh2ZFhSbGNsQnliM0JVZVhCbGN5d2dibVY0ZEZCeWIzQnpMQ0F2THlCU1pYTnZiSFpsWkNBb1UybHRjR3hsVFdWdGIwTnZiWEJ2Ym1WdWRDQm9ZWE1nYm04Z1pHVm1ZWFZzZEZCeWIzQnpLVnh1SUNBZ0lDQWdJQ0FuY0hKdmNDY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9iM1YwWlhKTlpXMXZWSGx3WlNrc0lHZGxkRU4xY25KbGJuUkdhV0psY2xOMFlXTnJTVzVFWlhZcE8xeHVJQ0FnSUNBZ2ZTQXZMeUJKYm01bGNpQndjbTl3Vkhsd1pYTWdkMmxzYkNCaVpTQjJZV3hwWkdGMFpXUWdhVzRnZEdobElHWjFibU4wYVc5dUlHTnZiWEJ2Ym1WdWRDQndZWFJvTGx4dVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2FXWWdLR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjJZWElnY0hKbGRsQnliM0J6SUQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpPMXh1WEc0Z0lDQWdhV1lnS0hOb1lXeHNiM2RGY1hWaGJDaHdjbVYyVUhKdmNITXNJRzVsZUhSUWNtOXdjeWtnSmlZZ1kzVnljbVZ1ZEM1eVpXWWdQVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmlBbUppQW9JQzh2SUZCeVpYWmxiblFnWW1GcGJHOTFkQ0JwWmlCMGFHVWdhVzF3YkdWdFpXNTBZWFJwYjI0Z1kyaGhibWRsWkNCa2RXVWdkRzhnYUc5MElISmxiRzloWkM1Y2JpQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlNBOVBUMGdZM1Z5Y21WdWRDNTBlWEJsSUNrcElIdGNiaUFnSUNBZ0lHUnBaRkpsWTJWcGRtVlZjR1JoZEdVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ2FXWWdLSFZ3WkdGMFpVVjRjR2x5WVhScGIyNVVhVzFsSUR3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZHaGxJSEJsYm1ScGJtY2dkWEJrWVhSbElIQnlhVzl5YVhSNUlIZGhjeUJqYkdWaGNtVmtJR0YwSUhSb1pTQmlaV2RwYm01cGJtY2diMlpjYmlBZ0lDQWdJQ0FnTHk4Z1ltVm5hVzVYYjNKckxpQlhaU2R5WlNCaFltOTFkQ0IwYnlCaVlXbHNJRzkxZEN3Z1luVjBJSFJvWlhKbElHMXBaMmgwSUdKbElHRmtaR2wwYVc5dVlXeGNiaUFnSUNBZ0lDQWdMeThnZFhCa1lYUmxjeUJoZENCaElHeHZkMlZ5SUhCeWFXOXlhWFI1TGlCVmMzVmhiR3g1TENCMGFHVWdjSEpwYjNKcGRIa2diR1YyWld3Z2IyWWdkR2hsWEc0Z0lDQWdJQ0FnSUM4dklISmxiV0ZwYm1sdVp5QjFjR1JoZEdWeklHbHpJR0ZqWTNWdGJHRjBaV1FnWkhWeWFXNW5JSFJvWlNCbGRtRnNkV0YwYVc5dUlHOW1JSFJvWlZ4dUlDQWdJQ0FnSUNBdkx5QmpiMjF3YjI1bGJuUWdLR2t1WlM0Z2QyaGxiaUJ3Y205alpYTnphVzVuSUhSb1pTQjFjR1JoZEdVZ2NYVmxkV1VwTGlCQ2RYUWdjMmx1WTJVZ2MybHVZMlZjYmlBZ0lDQWdJQ0FnTHk4Z2QyVW5jbVVnWW1GcGJHbHVaeUJ2ZFhRZ1pXRnliSGtnS25kcGRHaHZkWFFxSUdWMllXeDFZWFJwYm1jZ2RHaGxJR052YlhCdmJtVnVkQ3dnZDJVZ2JtVmxaRnh1SUNBZ0lDQWdJQ0F2THlCMGJ5QmhZMk52ZFc1MElHWnZjaUJwZENCb1pYSmxMQ0IwYjI4dUlGSmxjMlYwSUhSdklIUm9aU0IyWVd4MVpTQnZaaUIwYUdVZ1kzVnljbVZ1ZENCbWFXSmxjaTVjYmlBZ0lDQWdJQ0FnTHk4Z1RrOVVSVG9nVkdocGN5QnZibXg1SUdGd2NHeHBaWE1nZEc4Z1UybHRjR3hsVFdWdGIwTnZiWEJ2Ym1WdWRDd2dibTkwSUUxbGJXOURiMjF3YjI1bGJuUXNYRzRnSUNBZ0lDQWdJQzh2SUdKbFkyRjFjMlVnWVNCTlpXMXZRMjl0Y0c5dVpXNTBJR1pwWW1WeUlHUnZaWE1nYm05MElHaGhkbVVnYUc5dmEzTWdiM0lnWVc0Z2RYQmtZWFJsSUhGMVpYVmxPMXh1SUNBZ0lDQWdJQ0F2THlCeVlYUm9aWElzSUdsMElIZHlZWEJ6SUdGeWIzVnVaQ0JoYmlCcGJtNWxjaUJqYjIxd2IyNWxiblFzSUhkb2FXTm9JRzFoZVNCdmNpQnRZWGtnYm05MFhHNGdJQ0FnSUNBZ0lDOHZJR052Ym5SaGFXNXpJR2h2YjJ0ekxseHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQk5iM1psSUhSb1pTQnlaWE5sZENCaGRDQnBiaUJpWldkcGJsZHZjbXNnYjNWMElHOW1JSFJvWlNCamIyMXRiMjRnY0dGMGFDQnpieUIwYUdGMFhHNGdJQ0FnSUNBZ0lDOHZJSFJvYVhNZ2FYTWdibThnYkc5dVoyVnlJRzVsWTJWemMyRnllUzVjYmlBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQmpkWEp5Wlc1MExtVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWW1GcGJHOTFkRTl1UVd4eVpXRmtlVVpwYm1semFHVmtWMjl5YXloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMWNHUmhkR1ZHZFc1amRHbHZia052YlhCdmJtVnVkQ2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBMQ0J1WlhoMFVISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsUm5KaFoyMWxiblFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCdVpYaDBRMmhwYkdSeVpXNGdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc0Z0lISmxZMjl1WTJsc1pVTm9hV3hrY21WdUtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCdVpYaDBRMmhwYkdSeVpXNHNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdjbVYwZFhKdUlIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWTmIyUmxLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQjJZWElnYm1WNGRFTm9hV3hrY21WdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNdWNHVnVaR2x1WjFCeWIzQnpMbU5vYVd4a2NtVnVPMXh1SUNCeVpXTnZibU5wYkdWRGFHbHNaSEpsYmloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnYm1WNGRFTm9hV3hrY21WdUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lISmxkSFZ5YmlCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVUhKdlptbHNaWElvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSHRjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdWWEJrWVhSbE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1bGVIUlFjbTl3Y3lBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5CbGJtUnBibWRRY205d2N6dGNiaUFnZG1GeUlHNWxlSFJEYUdsc1pISmxiaUE5SUc1bGVIUlFjbTl3Y3k1amFHbHNaSEpsYmp0Y2JpQWdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNG9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0J5WlhSMWNtNGdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1E3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoY210U1pXWW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNcElIdGNiaUFnZG1GeUlISmxaaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmp0Y2JseHVJQ0JwWmlBb1kzVnljbVZ1ZENBOVBUMGdiblZzYkNBbUppQnlaV1lnSVQwOUlHNTFiR3dnZkh3Z1kzVnljbVZ1ZENBaFBUMGdiblZzYkNBbUppQmpkWEp5Wlc1MExuSmxaaUFoUFQwZ2NtVm1LU0I3WEc0Z0lDQWdMeThnVTJOb1pXUjFiR1VnWVNCU1pXWWdaV1ptWldOMFhHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5JSHc5SUZKbFpqdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWRDaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MExDQnVaWGgwVUhKdmNITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlNBaFBUMGdkMjl5YTBsdVVISnZaM0psYzNNdVpXeGxiV1Z1ZEZSNWNHVXBJSHRjYmlBZ0lDQWdJQzh2SUV4aGVua2dZMjl0Y0c5dVpXNTBJSEJ5YjNCeklHTmhiaWQwSUdKbElIWmhiR2xrWVhSbFpDQnBiaUJqY21WaGRHVkZiR1Z0Wlc1MFhHNGdJQ0FnSUNBdkx5QmlaV05oZFhObElIUm9aWGtuY21VZ2IyNXNlU0JuZFdGeVlXNTBaV1ZrSUhSdklHSmxJSEpsYzI5c2RtVmtJR2hsY21VdVhHNGdJQ0FnSUNCMllYSWdhVzV1WlhKUWNtOXdWSGx3WlhNZ1BTQkRiMjF3YjI1bGJuUXVjSEp2Y0ZSNWNHVnpPMXh1WEc0Z0lDQWdJQ0JwWmlBb2FXNXVaWEpRY205d1ZIbHdaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1kyaGxZMnRRY205d1ZIbHdaWE1vYVc1dVpYSlFjbTl3Vkhsd1pYTXNJRzVsZUhSUWNtOXdjeXdnTHk4Z1VtVnpiMngyWldRZ2NISnZjSE5jYmlBZ0lDQWdJQ0FnSjNCeWIzQW5MQ0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLRU52YlhCdmJtVnVkQ2tzSUdkbGRFTjFjbkpsYm5SR2FXSmxjbE4wWVdOclNXNUVaWFlwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhaaGNpQmpiMjUwWlhoME8xeHVYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2RXNXRZWE5yWldSRGIyNTBaWGgwSUQwZ1oyVjBWVzV0WVhOclpXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lIUnlkV1VwTzF4dUlDQWdJR052Ym5SbGVIUWdQU0JuWlhSTllYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQjFibTFoYzJ0bFpFTnZiblJsZUhRcE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1bGVIUkRhR2xzWkhKbGJqdGNiaUFnY0hKbGNHRnlaVlJ2VW1WaFpFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNCN1hHNGdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFQzZHVaWElrTVM1amRYSnlaVzUwSUQwZ2QyOXlhMGx1VUhKdlozSmxjM003WEc0Z0lDQWdjMlYwU1hOU1pXNWtaWEpwYm1jb2RISjFaU2s3WEc0Z0lDQWdibVY0ZEVOb2FXeGtjbVZ1SUQwZ2NtVnVaR1Z5VjJsMGFFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z1kyOXVkR1Y0ZEN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1WEc0Z0lDQWdhV1lnS0NCM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU2tnZTF4dUlDQWdJQ0FnTHk4Z1QyNXNlU0JrYjNWaWJHVXRjbVZ1WkdWeUlHTnZiWEJ2Ym1WdWRITWdkMmwwYUNCSWIyOXJjMXh1SUNBZ0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdibVY0ZEVOb2FXeGtjbVZ1SUQwZ2NtVnVaR1Z5VjJsMGFFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z1kyOXVkR1Y0ZEN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lITmxkRWx6VW1WdVpHVnlhVzVuS0daaGJITmxLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0lDWW1JQ0ZrYVdSU1pXTmxhWFpsVlhCa1lYUmxLU0I3WEc0Z0lDQWdZbUZwYkc5MWRFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnY21WMGRYSnVJR0poYVd4dmRYUlBia0ZzY21WaFpIbEdhVzVwYzJobFpGZHZjbXNvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdmU0F2THlCU1pXRmpkQ0JFWlhaVWIyOXNjeUJ5WldGa2N5QjBhR2x6SUdac1lXY3VYRzVjYmx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdVR1Z5Wm05eWJXVmtWMjl5YXp0Y2JpQWdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNG9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0J5WlhSMWNtNGdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1E3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpVTnNZWE56UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1MGVYQmxJQ0U5UFNCM2IzSnJTVzVRY205bmNtVnpjeTVsYkdWdFpXNTBWSGx3WlNrZ2UxeHVJQ0FnSUNBZ0x5OGdUR0Y2ZVNCamIyMXdiMjVsYm5RZ2NISnZjSE1nWTJGdUozUWdZbVVnZG1Gc2FXUmhkR1ZrSUdsdUlHTnlaV0YwWlVWc1pXMWxiblJjYmlBZ0lDQWdJQzh2SUdKbFkyRjFjMlVnZEdobGVTZHlaU0J2Ym14NUlHZDFZWEpoYm5SbFpXUWdkRzhnWW1VZ2NtVnpiMngyWldRZ2FHVnlaUzVjYmlBZ0lDQWdJSFpoY2lCcGJtNWxjbEJ5YjNCVWVYQmxjeUE5SUVOdmJYQnZibVZ1ZEM1d2NtOXdWSGx3WlhNN1hHNWNiaUFnSUNBZ0lHbG1JQ2hwYm01bGNsQnliM0JVZVhCbGN5a2dlMXh1SUNBZ0lDQWdJQ0JqYUdWamExQnliM0JVZVhCbGN5aHBibTVsY2xCeWIzQlVlWEJsY3l3Z2JtVjRkRkJ5YjNCekxDQXZMeUJTWlhOdmJIWmxaQ0J3Y205d2MxeHVJQ0FnSUNBZ0lDQW5jSEp2Y0Njc0lHZGxkRU52YlhCdmJtVnVkRTVoYldVb1EyOXRjRzl1Wlc1MEtTd2daMlYwUTNWeWNtVnVkRVpwWW1WeVUzUmhZMnRKYmtSbGRpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklGQjFjMmdnWTI5dWRHVjRkQ0J3Y205MmFXUmxjbk1nWldGeWJIa2dkRzhnY0hKbGRtVnVkQ0JqYjI1MFpYaDBJSE4wWVdOcklHMXBjMjFoZEdOb1pYTXVYRzRnSUM4dklFUjFjbWx1WnlCdGIzVnVkR2x1WnlCM1pTQmtiMjRuZENCcmJtOTNJSFJvWlNCamFHbHNaQ0JqYjI1MFpYaDBJSGxsZENCaGN5QjBhR1VnYVc1emRHRnVZMlVnWkc5bGMyNG5kQ0JsZUdsemRDNWNiaUFnTHk4Z1YyVWdkMmxzYkNCcGJuWmhiR2xrWVhSbElIUm9aU0JqYUdsc1pDQmpiMjUwWlhoMElHbHVJR1pwYm1semFFTnNZWE56UTI5dGNHOXVaVzUwS0NrZ2NtbG5hSFFnWVdaMFpYSWdjbVZ1WkdWeWFXNW5MbHh1WEc1Y2JpQWdkbUZ5SUdoaGMwTnZiblJsZUhRN1hHNWNiaUFnYVdZZ0tHbHpRMjl1ZEdWNGRGQnliM1pwWkdWeUtFTnZiWEJ2Ym1WdWRDa3BJSHRjYmlBZ0lDQm9ZWE5EYjI1MFpYaDBJRDBnZEhKMVpUdGNiaUFnSUNCd2RYTm9RMjl1ZEdWNGRGQnliM1pwWkdWeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCb1lYTkRiMjUwWlhoMElEMGdabUZzYzJVN1hHNGdJSDFjYmx4dUlDQndjbVZ3WVhKbFZHOVNaV0ZrUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQjJZWElnYVc1emRHRnVZMlVnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc0Z0lIWmhjaUJ6YUc5MWJHUlZjR1JoZEdVN1hHNWNiaUFnYVdZZ0tHbHVjM1JoYm1ObElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUVFZ1kyeGhjM01nWTI5dGNHOXVaVzUwSUhkcGRHaHZkWFFnWVc0Z2FXNXpkR0Z1WTJVZ2IyNXNlU0J0YjNWdWRITWdhV1lnYVhRZ2MzVnpjR1Z1WkdWa1hHNGdJQ0FnSUNBdkx5QnBibk5wWkdVZ1lTQnViMjR0WTI5dVkzVnljbVZ1ZENCMGNtVmxMQ0JwYmlCaGJpQnBibU52Ym5OcGMzUmxiblFnYzNSaGRHVXVJRmRsSUhkaGJuUWdkRzljYmlBZ0lDQWdJQzh2SUhSeVpXRjBJR2wwSUd4cGEyVWdZU0J1WlhjZ2JXOTFiblFzSUdWMlpXNGdkR2h2ZFdkb0lHRnVJR1Z0Y0hSNUlIWmxjbk5wYjI0Z2IyWWdhWFFnWVd4eVpXRmtlVnh1SUNBZ0lDQWdMeThnWTI5dGJXbDBkR1ZrTGlCRWFYTmpiMjV1WldOMElIUm9aU0JoYkhSbGNtNWhkR1VnY0c5cGJuUmxjbk11WEc0Z0lDQWdJQ0JqZFhKeVpXNTBMbUZzZEdWeWJtRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aGJIUmxjbTVoZEdVZ1BTQnVkV3hzT3lBdkx5QlRhVzVqWlNCMGFHbHpJR2x6SUdOdmJtTmxjSFIxWVd4c2VTQmhJRzVsZHlCbWFXSmxjaXdnYzJOb1pXUjFiR1VnWVNCUWJHRmpaVzFsYm5RZ1pXWm1aV04wWEc1Y2JpQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCUWJHRmpaVzFsYm5RN1hHNGdJQ0FnZlNBdkx5QkpiaUIwYUdVZ2FXNXBkR2xoYkNCd1lYTnpJSGRsSUcxcFoyaDBJRzVsWldRZ2RHOGdZMjl1YzNSeWRXTjBJSFJvWlNCcGJuTjBZVzVqWlM1Y2JseHVYRzRnSUNBZ1kyOXVjM1J5ZFdOMFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBMQ0J1WlhoMFVISnZjSE1wTzF4dUlDQWdJRzF2ZFc1MFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBMQ0J1WlhoMFVISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCemFHOTFiR1JWY0dSaGRHVWdQU0IwY25WbE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCSmJpQmhJSEpsYzNWdFpTd2dkMlVuYkd3Z1lXeHlaV0ZrZVNCb1lYWmxJR0Z1SUdsdWMzUmhibU5sSUhkbElHTmhiaUJ5WlhWelpTNWNiaUFnSUNCemFHOTFiR1JWY0dSaGRHVWdQU0J5WlhOMWJXVk5iM1Z1ZEVOc1lYTnpTVzV6ZEdGdVkyVW9kMjl5YTBsdVVISnZaM0psYzNNc0lFTnZiWEJ2Ym1WdWRDd2dibVY0ZEZCeWIzQnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MyaHZkV3hrVlhCa1lYUmxJRDBnZFhCa1lYUmxRMnhoYzNOSmJuTjBZVzVqWlNoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnUTI5dGNHOXVaVzUwTENCdVpYaDBVSEp2Y0hNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnVaWGgwVlc1cGRFOW1WMjl5YXlBOUlHWnBibWx6YUVOc1lYTnpRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJSE5vYjNWc1pGVndaR0YwWlN3Z2FHRnpRMjl1ZEdWNGRDd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJSHRjYmlBZ0lDQjJZWElnYVc1emRDQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lHbG1JQ2hwYm5OMExuQnliM0J6SUNFOVBTQnVaWGgwVUhKdmNITXBJSHRjYmlBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBVbVZoYzNOcFoyNXBibWRRY205d2N5a2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25TWFFnYkc5dmEzTWdiR2xyWlNBbGN5QnBjeUJ5WldGemMybG5ibWx1WnlCcGRITWdiM2R1SUdCMGFHbHpMbkJ5YjNCellDQjNhR2xzWlNCeVpXNWtaWEpwYm1jdUlDY2dLeUFuVkdocGN5QnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa0lHRnVaQ0JqWVc0Z2JHVmhaQ0IwYnlCamIyNW1kWE5wYm1jZ1luVm5jeTRuTENCblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0hkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVcElIeDhJQ2RoSUdOdmJYQnZibVZ1ZENjcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJTWldGemMybG5ibWx1WjFCeWIzQnpJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtVjRkRlZ1YVhSUFpsZHZjbXM3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1semFFTnNZWE56UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUhOb2IzVnNaRlZ3WkdGMFpTd2dhR0Z6UTI5dWRHVjRkQ3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnTHk4Z1VtVm1jeUJ6YUc5MWJHUWdkWEJrWVhSbElHVjJaVzRnYVdZZ2MyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJSEpsZEhWeWJuTWdabUZzYzJWY2JpQWdiV0Z5YTFKbFppaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJSFpoY2lCa2FXUkRZWEIwZFhKbFJYSnliM0lnUFNBb2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUNZZ1JHbGtRMkZ3ZEhWeVpTa2dJVDA5SUU1dlJXWm1aV04wTzF4dVhHNGdJR2xtSUNnaGMyaHZkV3hrVlhCa1lYUmxJQ1ltSUNGa2FXUkRZWEIwZFhKbFJYSnliM0lwSUh0Y2JpQWdJQ0F2THlCRGIyNTBaWGgwSUhCeWIzWnBaR1Z5Y3lCemFHOTFiR1FnWkdWbVpYSWdkRzhnYzBOVklHWnZjaUJ5Wlc1a1pYSnBibWRjYmlBZ0lDQnBaaUFvYUdGelEyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUNBZ2FXNTJZV3hwWkdGMFpVTnZiblJsZUhSUWNtOTJhV1JsY2loM2IzSnJTVzVRY205bmNtVnpjeXdnUTI5dGNHOXVaVzUwTENCbVlXeHpaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHSmhhV3h2ZFhSUGJrRnNjbVZoWkhsR2FXNXBjMmhsWkZkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUc2dMeThnVW1WeVpXNWtaWEpjYmx4dUlDQlNaV0ZqZEVOMWNuSmxiblJQZDI1bGNpUXhMbU4xY25KbGJuUWdQU0IzYjNKclNXNVFjbTluY21WemN6dGNiaUFnZG1GeUlHNWxlSFJEYUdsc1pISmxianRjYmx4dUlDQnBaaUFvWkdsa1EyRndkSFZ5WlVWeWNtOXlJQ1ltSUhSNWNHVnZaaUJEYjIxd2IyNWxiblF1WjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlVWeWNtOXlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVZ1kyRndkSFZ5WldRZ1lXNGdaWEp5YjNJc0lHSjFkQ0JuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0UlhKeWIzSWdhWE1nYm05MElHUmxabWx1WldRc1hHNGdJQ0FnTHk4Z2RXNXRiM1Z1ZENCaGJHd2dkR2hsSUdOb2FXeGtjbVZ1TGlCamIyMXdiMjVsYm5SRWFXUkRZWFJqYUNCM2FXeHNJSE5qYUdWa2RXeGxJR0Z1SUhWd1pHRjBaU0IwYjF4dUlDQWdJQzh2SUhKbExYSmxibVJsY2lCaElHWmhiR3hpWVdOckxpQlVhR2x6SUdseklIUmxiWEJ2Y21GeWVTQjFiblJwYkNCM1pTQnRhV2R5WVhSbElHVjJaWEo1YjI1bElIUnZYRzRnSUNBZ0x5OGdkR2hsSUc1bGR5QkJVRWt1WEc0Z0lDQWdMeThnVkU5RVR6b2dWMkZ5YmlCcGJpQmhJR1oxZEhWeVpTQnlaV3hsWVhObExseHVJQ0FnSUc1bGVIUkRhR2xzWkhKbGJpQTlJRzUxYkd3N1hHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCemRHOXdVSEp2Wm1sc1pYSlVhVzFsY2tsbVVuVnVibWx1WnlncE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCelpYUkpjMUpsYm1SbGNtbHVaeWgwY25WbEtUdGNiaUFnSUNBZ0lHNWxlSFJEYUdsc1pISmxiaUE5SUdsdWMzUmhibU5sTG5KbGJtUmxjaWdwTzF4dVhHNGdJQ0FnSUNCcFppQW9JSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCVGRISnBZM1JOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJR2x1YzNSaGJtTmxMbkpsYm1SbGNpZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J6WlhSSmMxSmxibVJsY21sdVp5aG1ZV3h6WlNrN1hHNGdJQ0FnZlZ4dUlDQjlJQzh2SUZKbFlXTjBJRVJsZGxSdmIyeHpJSEpsWVdSeklIUm9hWE1nWm14aFp5NWNibHh1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQlFaWEptYjNKdFpXUlhiM0pyTzF4dVhHNGdJR2xtSUNoamRYSnlaVzUwSUNFOVBTQnVkV3hzSUNZbUlHUnBaRU5oY0hSMWNtVkZjbkp2Y2lrZ2UxeHVJQ0FnSUM4dklFbG1JSGRsSjNKbElISmxZMjkyWlhKcGJtY2dabkp2YlNCaGJpQmxjbkp2Y2l3Z2NtVmpiMjVqYVd4bElIZHBkR2h2ZFhRZ2NtVjFjMmx1WnlCaGJua2diMlpjYmlBZ0lDQXZMeUIwYUdVZ1pYaHBjM1JwYm1jZ1kyaHBiR1J5Wlc0dUlFTnZibU5sY0hSMVlXeHNlU3dnZEdobElHNXZjbTFoYkNCamFHbHNaSEpsYmlCaGJtUWdkR2hsSUdOb2FXeGtjbVZ1WEc0Z0lDQWdMeThnZEdoaGRDQmhjbVVnYzJodmQyNGdiMjRnWlhKeWIzSWdZWEpsSUhSM2J5QmthV1ptWlhKbGJuUWdjMlYwY3l3Z2MyOGdkMlVnYzJodmRXeGtiaWQwSUhKbGRYTmxYRzRnSUNBZ0x5OGdibTl5YldGc0lHTm9hV3hrY21WdUlHVjJaVzRnYVdZZ2RHaGxhWElnYVdSbGJuUnBkR2xsY3lCdFlYUmphQzVjYmlBZ0lDQm1iM0pqWlZWdWJXOTFiblJEZFhKeVpXNTBRVzVrVW1WamIyNWphV3hsS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhoMFEyaHBiR1J5Wlc0c0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WldOdmJtTnBiR1ZEYUdsc1pISmxiaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dibVY0ZEVOb2FXeGtjbVZ1TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgwZ0x5OGdUV1Z0YjJsNlpTQnpkR0YwWlNCMWMybHVaeUIwYUdVZ2RtRnNkV1Z6SUhkbElHcDFjM1FnZFhObFpDQjBieUJ5Wlc1a1pYSXVYRzRnSUM4dklGUlBSRTg2SUZKbGMzUnlkV04wZFhKbElITnZJSGRsSUc1bGRtVnlJSEpsWVdRZ2RtRnNkV1Z6SUdaeWIyMGdkR2hsSUdsdWMzUmhibU5sTGx4dVhHNWNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBOUlHbHVjM1JoYm1ObExuTjBZWFJsT3lBdkx5QlVhR1VnWTI5dWRHVjRkQ0J0YVdkb2RDQm9ZWFpsSUdOb1lXNW5aV1FnYzI4Z2QyVWdibVZsWkNCMGJ5QnlaV05oYkdOMWJHRjBaU0JwZEM1Y2JseHVJQ0JwWmlBb2FHRnpRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lHbHVkbUZzYVdSaGRHVkRiMjUwWlhoMFVISnZkbWxrWlhJb2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2RISjFaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhCMWMyaEliM04wVW05dmRFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdkbUZ5SUhKdmIzUWdQU0IzYjNKclNXNVFjbTluY21WemN5NXpkR0YwWlU1dlpHVTdYRzVjYmlBZ2FXWWdLSEp2YjNRdWNHVnVaR2x1WjBOdmJuUmxlSFFwSUh0Y2JpQWdJQ0J3ZFhOb1ZHOXdUR1YyWld4RGIyNTBaWGgwVDJKcVpXTjBLSGR2Y210SmJsQnliMmR5WlhOekxDQnliMjkwTG5CbGJtUnBibWREYjI1MFpYaDBMQ0J5YjI5MExuQmxibVJwYm1kRGIyNTBaWGgwSUNFOVBTQnliMjkwTG1OdmJuUmxlSFFwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSEp2YjNRdVkyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUM4dklGTm9iM1ZzWkNCaGJIZGhlWE1nWW1VZ2MyVjBYRzRnSUNBZ2NIVnphRlJ2Y0V4bGRtVnNRMjl1ZEdWNGRFOWlhbVZqZENoM2IzSnJTVzVRY205bmNtVnpjeXdnY205dmRDNWpiMjUwWlhoMExDQm1ZV3h6WlNrN1hHNGdJSDFjYmx4dUlDQndkWE5vU0c5emRFTnZiblJoYVc1bGNpaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtOXZkQzVqYjI1MFlXbHVaWEpKYm1adktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsU0c5emRGSnZiM1FvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSEIxYzJoSWIzTjBVbTl2ZEVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCMllYSWdkWEJrWVhSbFVYVmxkV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlR0Y2JseHVJQ0JwWmlBb0lTaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0lDWW1JSFZ3WkdGMFpWRjFaWFZsSUNFOVBTQnVkV3hzS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJa2xtSUhSb1pTQnliMjkwSUdSdlpYTWdibTkwSUdoaGRtVWdZVzRnZFhCa1lYUmxVWFZsZFdVc0lIZGxJSE5vYjNWc1pDQm9ZWFpsSUdGc2NtVmhaSGtnWW1GcGJHVmtJRzkxZEM0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ1WlhoMFVISnZjSE1nUFNCM2IzSnJTVzVRY205bmNtVnpjeTV3Wlc1a2FXNW5VSEp2Y0hNN1hHNGdJSFpoY2lCd2NtVjJVM1JoZEdVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxPMXh1SUNCMllYSWdjSEpsZGtOb2FXeGtjbVZ1SUQwZ2NISmxkbE4wWVhSbElDRTlQU0J1ZFd4c0lEOGdjSEpsZGxOMFlYUmxMbVZzWlcxbGJuUWdPaUJ1ZFd4c08xeHVJQ0JqYkc5dVpWVndaR0YwWlZGMVpYVmxLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnY0hKdlkyVnpjMVZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhoMFVISnZjSE1zSUc1MWJHd3NJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdkbUZ5SUc1bGVIUlRkR0YwWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdJQzh2SUVOaGRYUnBiMjQ2SUZKbFlXTjBJRVJsZGxSdmIyeHpJR04xY25KbGJuUnNlU0JrWlhCbGJtUnpJRzl1SUhSb2FYTWdjSEp2Y0dWeWRIbGNiaUFnTHk4Z1ltVnBibWNnWTJGc2JHVmtJRndpWld4bGJXVnVkRndpTGx4dVhHNGdJSFpoY2lCdVpYaDBRMmhwYkdSeVpXNGdQU0J1WlhoMFUzUmhkR1V1Wld4bGJXVnVkRHRjYmx4dUlDQnBaaUFvYm1WNGRFTm9hV3hrY21WdUlEMDlQU0J3Y21WMlEyaHBiR1J5Wlc0cElIdGNiaUFnSUNBdkx5QkpaaUIwYUdVZ2MzUmhkR1VnYVhNZ2RHaGxJSE5oYldVZ1lYTWdZbVZtYjNKbExDQjBhR0YwSjNNZ1lTQmlZV2xzYjNWMElHSmxZMkYxYzJVZ2QyVWdhR0ZrWEc0Z0lDQWdMeThnYm04Z2QyOXlheUIwYUdGMElHVjRjR2x5WlhNZ1lYUWdkR2hwY3lCMGFXMWxMbHh1SUNBZ0lISmxjMlYwU0hsa2NtRjBhVzl1VTNSaGRHVW9LVHRjYmlBZ0lDQnlaWFIxY200Z1ltRnBiRzkxZEU5dVFXeHlaV0ZrZVVacGJtbHphR1ZrVjI5eWF5aGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOVhHNWNiaUFnZG1GeUlISnZiM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdhV1lnS0hKdmIzUXVhSGxrY21GMFpTQW1KaUJsYm5SbGNraDVaSEpoZEdsdmJsTjBZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpLU2tnZTF4dUlDQWdJQzh2SUVsbUlIZGxJR1J2YmlkMElHaGhkbVVnWVc1NUlHTjFjbkpsYm5RZ1kyaHBiR1J5Wlc0Z2RHaHBjeUJ0YVdkb2RDQmlaU0IwYUdVZ1ptbHljM1FnY0dGemN5NWNiaUFnSUNBdkx5QlhaU0JoYkhkaGVYTWdkSEo1SUhSdklHaDVaSEpoZEdVdUlFbG1JSFJvYVhNZ2FYTnVKM1FnWVNCb2VXUnlZWFJwYjI0Z2NHRnpjeUIwYUdWeVpTQjNiMjRuZEZ4dUlDQWdJQzh2SUdKbElHRnVlU0JqYUdsc1pISmxiaUIwYnlCb2VXUnlZWFJsSUhkb2FXTm9JR2x6SUdWbVptVmpkR2wyWld4NUlIUm9aU0J6WVcxbElIUm9hVzVuSUdGelhHNGdJQ0FnTHk4Z2JtOTBJR2g1WkhKaGRHbHVaeTVjYmlBZ0lDQjJZWElnWTJocGJHUWdQU0J0YjNWdWRFTm9hV3hrUm1saVpYSnpLSGR2Y210SmJsQnliMmR5WlhOekxDQnVkV3hzTENCdVpYaDBRMmhwYkdSeVpXNHNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlHTm9hV3hrTzF4dUlDQWdJSFpoY2lCdWIyUmxJRDBnWTJocGJHUTdYRzVjYmlBZ0lDQjNhR2xzWlNBb2JtOWtaU2tnZTF4dUlDQWdJQ0FnTHk4Z1RXRnlheUJsWVdOb0lHTm9hV3hrSUdGeklHaDVaSEpoZEdsdVp5NGdWR2hwY3lCcGN5QmhJR1poYzNRZ2NHRjBhQ0IwYnlCcmJtOTNJSGRvWlhSb1pYSWdkR2hwYzF4dUlDQWdJQ0FnTHk4Z2RISmxaU0JwY3lCd1lYSjBJRzltSUdFZ2FIbGtjbUYwYVc1bklIUnlaV1V1SUZSb2FYTWdhWE1nZFhObFpDQjBieUJrWlhSbGNtMXBibVVnYVdZZ1lTQmphR2xzWkZ4dUlDQWdJQ0FnTHk4Z2JtOWtaU0JvWVhNZ1puVnNiSGtnYlc5MWJuUmxaQ0I1WlhRc0lHRnVaQ0JtYjNJZ2MyTm9aV1IxYkdsdVp5QmxkbVZ1ZENCeVpYQnNZWGxwYm1jdVhHNGdJQ0FnSUNBdkx5QkRiMjVqWlhCMGRXRnNiSGtnZEdocGN5QnBjeUJ6YVcxcGJHRnlJSFJ2SUZCc1lXTmxiV1Z1ZENCcGJpQjBhR0YwSUdFZ2JtVjNJSE4xWW5SeVpXVWdhWE5jYmlBZ0lDQWdJQzh2SUdsdWMyVnlkR1ZrSUdsdWRHOGdkR2hsSUZKbFlXTjBJSFJ5WldVZ2FHVnlaUzRnU1hRZ2FuVnpkQ0JvWVhCd1pXNXpJSFJ2SUc1dmRDQnVaV1ZrSUVSUFRWeHVJQ0FnSUNBZ0x5OGdiWFYwWVhScGIyNXpJR0psWTJGMWMyVWdhWFFnWVd4eVpXRmtlU0JsZUdsemRITXVYRzRnSUNBZ0lDQnViMlJsTG1WbVptVmpkRlJoWnlBOUlHNXZaR1V1WldabVpXTjBWR0ZuSUNZZ2ZsQnNZV05sYldWdWRDQjhJRWg1WkhKaGRHbHVaenRjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5OcFlteHBibWM3WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUU5MGFHVnlkMmx6WlNCeVpYTmxkQ0JvZVdSeVlYUnBiMjRnYzNSaGRHVWdhVzRnWTJGelpTQjNaU0JoWW05eWRHVmtJR0Z1WkNCeVpYTjFiV1ZrSUdGdWIzUm9aWEpjYmlBZ0lDQXZMeUJ5YjI5MExseHVJQ0FnSUhKbFkyOXVZMmxzWlVOb2FXeGtjbVZ1S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhoMFEyaHBiR1J5Wlc0c0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQnlaWE5sZEVoNVpISmhkR2x2YmxOMFlYUmxLQ2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVWh2YzNSRGIyMXdiMjVsYm5Rb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhCMWMyaEliM04wUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ2FXWWdLR04xY25KbGJuUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjBjbmxVYjBOc1lXbHRUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lIMWNibHh1SUNCMllYSWdkSGx3WlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVTdYRzRnSUhaaGNpQnVaWGgwVUhKdmNITWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc0Z0lIWmhjaUJ3Y21WMlVISnZjSE1nUFNCamRYSnlaVzUwSUNFOVBTQnVkV3hzSUQ4Z1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpJRG9nYm5Wc2JEdGNiaUFnZG1GeUlHNWxlSFJEYUdsc1pISmxiaUE5SUc1bGVIUlFjbTl3Y3k1amFHbHNaSEpsYmp0Y2JpQWdkbUZ5SUdselJHbHlaV04wVkdWNGRFTm9hV3hrSUQwZ2MyaHZkV3hrVTJWMFZHVjRkRU52Ym5SbGJuUW9kSGx3WlN3Z2JtVjRkRkJ5YjNCektUdGNibHh1SUNCcFppQW9hWE5FYVhKbFkzUlVaWGgwUTJocGJHUXBJSHRjYmlBZ0lDQXZMeUJYWlNCemNHVmphV0ZzSUdOaGMyVWdZU0JrYVhKbFkzUWdkR1Y0ZENCamFHbHNaQ0J2WmlCaElHaHZjM1FnYm05a1pTNGdWR2hwY3lCcGN5QmhJR052YlcxdmJseHVJQ0FnSUM4dklHTmhjMlV1SUZkbElIZHZiaWQwSUdoaGJtUnNaU0JwZENCaGN5QmhJSEpsYVdacFpXUWdZMmhwYkdRdUlGZGxJSGRwYkd3Z2FXNXpkR1ZoWkNCb1lXNWtiR1ZjYmlBZ0lDQXZMeUIwYUdseklHbHVJSFJvWlNCb2IzTjBJR1Z1ZG1seWIyNXRaVzUwSUhSb1lYUWdZV3h6YnlCb1lYTWdZV05qWlhOeklIUnZJSFJvYVhNZ2NISnZjQzRnVkdoaGRGeHVJQ0FnSUM4dklHRjJiMmxrY3lCaGJHeHZZMkYwYVc1bklHRnViM1JvWlhJZ1NHOXpkRlJsZUhRZ1ptbGlaWElnWVc1a0lIUnlZWFpsY25OcGJtY2dhWFF1WEc0Z0lDQWdibVY0ZEVOb2FXeGtjbVZ1SUQwZ2JuVnNiRHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHdjbVYyVUhKdmNITWdJVDA5SUc1MWJHd2dKaVlnYzJodmRXeGtVMlYwVkdWNGRFTnZiblJsYm5Rb2RIbHdaU3dnY0hKbGRsQnliM0J6S1NrZ2UxeHVJQ0FnSUM4dklFbG1JSGRsSjNKbElITjNhWFJqYUdsdVp5Qm1jbTl0SUdFZ1pHbHlaV04wSUhSbGVIUWdZMmhwYkdRZ2RHOGdZU0J1YjNKdFlXd2dZMmhwYkdRc0lHOXlJSFJ2WEc0Z0lDQWdMeThnWlcxd2RIa3NJSGRsSUc1bFpXUWdkRzhnYzJOb1pXUjFiR1VnZEdobElIUmxlSFFnWTI5dWRHVnVkQ0IwYnlCaVpTQnlaWE5sZEM1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dmRDBnUTI5dWRHVnVkRkpsYzJWME8xeHVJQ0I5WEc1Y2JpQWdiV0Z5YTFKbFppaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN0lDOHZJRU5vWldOcklIUm9aU0JvYjNOMElHTnZibVpwWnlCMGJ5QnpaV1VnYVdZZ2RHaGxJR05vYVd4a2NtVnVJR0Z5WlNCdlptWnpZM0psWlc0dmFHbGtaR1Z1TGx4dVhHNGdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdRMjl1WTNWeWNtVnVkRTF2WkdVZ0ppWWdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VnSVQwOUlFNWxkbVZ5SUNZbUlITm9iM1ZzWkVSbGNISnBiM0pwZEdsNlpWTjFZblJ5WldVb2RIbHdaU3dnYm1WNGRGQnliM0J6S1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUcxaGNtdFRjR0YzYm1Wa1YyOXlheWhPWlhabGNpazdYRzRnSUNBZ2ZTQXZMeUJUWTJobFpIVnNaU0IwYUdseklHWnBZbVZ5SUhSdklISmxMWEpsYm1SbGNpQmhkQ0J2Wm1aelkzSmxaVzRnY0hKcGIzSnBkSGt1SUZSb1pXNGdZbUZwYkc5MWRDNWNibHh1WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1RtVjJaWEk3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCeVpXTnZibU5wYkdWRGFHbHNaSEpsYmloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnYm1WNGRFTm9hV3hrY21WdUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lISmxkSFZ5YmlCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsU0c5emRGUmxlSFFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXBJSHRjYmlBZ2FXWWdLR04xY25KbGJuUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjBjbmxVYjBOc1lXbHRUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lIMGdMeThnVG05MGFHbHVaeUIwYnlCa2J5Qm9aWEpsTGlCVWFHbHpJR2x6SUhSbGNtMXBibUZzTGlCWFpTZHNiQ0JrYnlCMGFHVWdZMjl0Y0d4bGRHbHZiaUJ6ZEdWd1hHNGdJQzh2SUdsdGJXVmthV0YwWld4NUlHRm1kR1Z5TGx4dVhHNWNiaUFnY21WMGRYSnVJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBUR0Y2ZVVOdmJYQnZibVZ1ZENoZlkzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUdWc1pXMWxiblJVZVhCbExDQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnYVdZZ0tGOWpkWEp5Wlc1MElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdRU0JzWVhwNUlHTnZiWEJ2Ym1WdWRDQnZibXg1SUcxdmRXNTBjeUJwWmlCcGRDQnpkWE53Wlc1a1pXUWdhVzV6YVdSbElHRWdibTl1TFZ4dUlDQWdJQzh2SUdOdmJtTjFjbkpsYm5RZ2RISmxaU3dnYVc0Z1lXNGdhVzVqYjI1emFYTjBaVzUwSUhOMFlYUmxMaUJYWlNCM1lXNTBJSFJ2SUhSeVpXRjBJR2wwSUd4cGEyVmNiaUFnSUNBdkx5QmhJRzVsZHlCdGIzVnVkQ3dnWlhabGJpQjBhRzkxWjJnZ1lXNGdaVzF3ZEhrZ2RtVnljMmx2YmlCdlppQnBkQ0JoYkhKbFlXUjVJR052YlcxcGRIUmxaQzVjYmlBZ0lDQXZMeUJFYVhOamIyNXVaV04wSUhSb1pTQmhiSFJsY201aGRHVWdjRzlwYm5SbGNuTXVYRzRnSUNBZ1gyTjFjbkpsYm5RdVlXeDBaWEp1WVhSbElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWhiSFJsY201aGRHVWdQU0J1ZFd4c095QXZMeUJUYVc1alpTQjBhR2x6SUdseklHTnZibU5sY0hSMVlXeHNlU0JoSUc1bGR5Qm1hV0psY2l3Z2MyTm9aV1IxYkdVZ1lTQlFiR0ZqWlcxbGJuUWdaV1ptWldOMFhHNWNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1VHeGhZMlZ0Wlc1ME8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhCeWIzQnpJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjR1Z1WkdsdVoxQnliM0J6T3lBdkx5QlhaU0JqWVc0bmRDQnpkR0Z5ZENCaElGVnpaWElnVkdsdGFXNW5JRzFsWVhOMWNtVnRaVzUwSUhkcGRHZ2dZMjl5Y21WamRDQnNZV0psYkNCNVpYUXVYRzRnSUM4dklFTmhibU5sYkNCaGJtUWdjbVZ6ZFcxbElISnBaMmgwSUdGbWRHVnlJSGRsSUd0dWIzY2dkR2hsSUhSaFp5NWNibHh1SUNCallXNWpaV3hYYjNKclZHbHRaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCMllYSWdRMjl0Y0c5dVpXNTBJRDBnY21WaFpFeGhlbmxEYjIxd2IyNWxiblJVZVhCbEtHVnNaVzFsYm5SVWVYQmxLVHNnTHk4Z1UzUnZjbVVnZEdobElIVnVkM0poY0hCbFpDQmpiMjF3YjI1bGJuUWdhVzRnZEdobElIUjVjR1V1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU0E5SUVOdmJYQnZibVZ1ZER0Y2JpQWdkbUZ5SUhKbGMyOXNkbVZrVkdGbklEMGdkMjl5YTBsdVVISnZaM0psYzNNdWRHRm5JRDBnY21WemIyeDJaVXhoZW5sRGIyMXdiMjVsYm5SVVlXY29RMjl0Y0c5dVpXNTBLVHRjYmlBZ2MzUmhjblJYYjNKclZHbHRaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCMllYSWdjbVZ6YjJ4MlpXUlFjbTl3Y3lBOUlISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9RMjl0Y0c5dVpXNTBMQ0J3Y205d2N5azdYRzRnSUhaaGNpQmphR2xzWkR0Y2JseHVJQ0J6ZDJsMFkyZ2dLSEpsYzI5c2RtVmtWR0ZuS1NCN1hHNGdJQ0FnWTJGelpTQkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGJHbGtZWFJsUm5WdVkzUnBiMjVEYjIxd2IyNWxiblJKYmtSbGRpaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MEtUdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ1EyOXRjRzl1Wlc1MElEMGdjbVZ6YjJ4MlpVWjFibU4wYVc5dVJtOXlTRzkwVW1Wc2IyRmthVzVuS0VOdmJYQnZibVZ1ZENrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYUdsc1pDQTlJSFZ3WkdGMFpVWjFibU4wYVc5dVEyOXRjRzl1Wlc1MEtHNTFiR3dzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUhKbGMyOXNkbVZrVUhKdmNITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOb2FXeGtPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVWdQU0JEYjIxd2IyNWxiblFnUFNCeVpYTnZiSFpsUTJ4aGMzTkdiM0pJYjNSU1pXeHZZV1JwYm1jb1EyOXRjRzl1Wlc1MEtUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOb2FXeGtJRDBnZFhCa1lYUmxRMnhoYzNORGIyMXdiMjVsYm5Rb2JuVnNiQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRU52YlhCdmJtVnVkQ3dnY21WemIyeDJaV1JRY205d2N5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTJocGJHUTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ1EyOXRjRzl1Wlc1MElEMGdjbVZ6YjJ4MlpVWnZjbmRoY21SU1pXWkdiM0pJYjNSU1pXeHZZV1JwYm1jb1EyOXRjRzl1Wlc1MEtUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOb2FXeGtJRDBnZFhCa1lYUmxSbTl5ZDJGeVpGSmxaaWh1ZFd4c0xDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MExDQnlaWE52YkhabFpGQnliM0J6TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmphR2xzWkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbElDRTlQU0IzYjNKclNXNVFjbTluY21WemN5NWxiR1Z0Wlc1MFZIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5MWRHVnlVSEp2Y0ZSNWNHVnpJRDBnUTI5dGNHOXVaVzUwTG5CeWIzQlVlWEJsY3p0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOTFkR1Z5VUhKdmNGUjVjR1Z6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOb1pXTnJVSEp2Y0ZSNWNHVnpLRzkxZEdWeVVISnZjRlI1Y0dWekxDQnlaWE52YkhabFpGQnliM0J6TENBdkx5QlNaWE52YkhabFpDQm1iM0lnYjNWMFpYSWdiMjVzZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FuY0hKdmNDY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9RMjl0Y0c5dVpXNTBLU3dnWjJWMFEzVnljbVZ1ZEVacFltVnlVM1JoWTJ0SmJrUmxkaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMmhwYkdRZ1BTQjFjR1JoZEdWTlpXMXZRMjl0Y0c5dVpXNTBLRzUxYkd3c0lIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9RMjl0Y0c5dVpXNTBMblI1Y0dVc0lISmxjMjlzZG1Wa1VISnZjSE1wTENBdkx5QlVhR1VnYVc1dVpYSWdkSGx3WlNCallXNGdhR0YyWlNCa1pXWmhkV3gwY3lCMGIyOWNiaUFnSUNBZ0lDQWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTm9hV3hrTzF4dUlDQWdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJR2hwYm5RZ1BTQW5KenRjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLRU52YlhCdmJtVnVkQ0FoUFQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnUTI5dGNHOXVaVzUwSUQwOVBTQW5iMkpxWldOMEp5QW1KaUJEYjIxd2IyNWxiblF1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDB4QldsbGZWRmxRUlNrZ2UxeHVJQ0FnSUNBZ2FHbHVkQ0E5SUNjZ1JHbGtJSGx2ZFNCM2NtRndJR0VnWTI5dGNHOXVaVzUwSUdsdUlGSmxZV04wTG14aGVua29LU0J0YjNKbElIUm9ZVzRnYjI1alpUOG5PMXh1SUNBZ0lIMWNiaUFnZlNBdkx5QlVhR2x6SUcxbGMzTmhaMlVnYVc1MFpXNTBhVzl1WVd4c2VTQmtiMlZ6YmlkMElHMWxiblJwYjI0Z1JtOXlkMkZ5WkZKbFppQnZjaUJOWlcxdlEyOXRjRzl1Wlc1MFhHNGdJQzh2SUdKbFkyRjFjMlVnZEdobElHWmhZM1FnZEdoaGRDQnBkQ2R6SUdFZ2MyVndZWEpoZEdVZ2RIbHdaU0J2WmlCM2IzSnJJR2x6SUdGdVhHNGdJQzh2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1JsZEdGcGJDNWNibHh1WEc0Z0lIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pGYkdWdFpXNTBJSFI1Y0dVZ2FYTWdhVzUyWVd4cFpDNGdVbVZqWldsMlpXUWdZU0J3Y205dGFYTmxJSFJvWVhRZ2NtVnpiMngyWlhNZ2RHODZJRndpSUNzZ1EyOXRjRzl1Wlc1MElDc2dYQ0l1SUV4aGVua2daV3hsYldWdWRDQjBlWEJsSUcxMWMzUWdjbVZ6YjJ4MlpTQjBieUJoSUdOc1lYTnpJRzl5SUdaMWJtTjBhVzl1TGx3aUlDc2dhR2x1ZENBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRiM1Z1ZEVsdVkyOXRjR3hsZEdWRGJHRnpjME52YlhCdmJtVnVkQ2hmWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRU52YlhCdmJtVnVkQ3dnYm1WNGRGQnliM0J6TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCcFppQW9YMk4xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQXZMeUJCYmlCcGJtTnZiWEJzWlhSbElHTnZiWEJ2Ym1WdWRDQnZibXg1SUcxdmRXNTBjeUJwWmlCcGRDQnpkWE53Wlc1a1pXUWdhVzV6YVdSbElHRWdibTl1TFZ4dUlDQWdJQzh2SUdOdmJtTjFjbkpsYm5RZ2RISmxaU3dnYVc0Z1lXNGdhVzVqYjI1emFYTjBaVzUwSUhOMFlYUmxMaUJYWlNCM1lXNTBJSFJ2SUhSeVpXRjBJR2wwSUd4cGEyVmNiaUFnSUNBdkx5QmhJRzVsZHlCdGIzVnVkQ3dnWlhabGJpQjBhRzkxWjJnZ1lXNGdaVzF3ZEhrZ2RtVnljMmx2YmlCdlppQnBkQ0JoYkhKbFlXUjVJR052YlcxcGRIUmxaQzVjYmlBZ0lDQXZMeUJFYVhOamIyNXVaV04wSUhSb1pTQmhiSFJsY201aGRHVWdjRzlwYm5SbGNuTXVYRzRnSUNBZ1gyTjFjbkpsYm5RdVlXeDBaWEp1WVhSbElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWhiSFJsY201aGRHVWdQU0J1ZFd4c095QXZMeUJUYVc1alpTQjBhR2x6SUdseklHTnZibU5sY0hSMVlXeHNlU0JoSUc1bGR5Qm1hV0psY2l3Z2MyTm9aV1IxYkdVZ1lTQlFiR0ZqWlcxbGJuUWdaV1ptWldOMFhHNWNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1VHeGhZMlZ0Wlc1ME8xeHVJQ0I5SUM4dklGQnliMjF2ZEdVZ2RHaGxJR1pwWW1WeUlIUnZJR0VnWTJ4aGMzTWdZVzVrSUhSeWVTQnlaVzVrWlhKcGJtY2dZV2RoYVc0dVhHNWNibHh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTUwWVdjZ1BTQkRiR0Z6YzBOdmJYQnZibVZ1ZERzZ0x5OGdWR2hsSUhKbGMzUWdiMllnZEdocGN5Qm1kVzVqZEdsdmJpQnBjeUJoSUdadmNtc2diMllnWUhWd1pHRjBaVU5zWVhOelEyOXRjRzl1Wlc1MFlGeHVJQ0F2THlCUWRYTm9JR052Ym5SbGVIUWdjSEp2ZG1sa1pYSnpJR1ZoY214NUlIUnZJSEJ5WlhabGJuUWdZMjl1ZEdWNGRDQnpkR0ZqYXlCdGFYTnRZWFJqYUdWekxseHVJQ0F2THlCRWRYSnBibWNnYlc5MWJuUnBibWNnZDJVZ1pHOXVKM1FnYTI1dmR5QjBhR1VnWTJocGJHUWdZMjl1ZEdWNGRDQjVaWFFnWVhNZ2RHaGxJR2x1YzNSaGJtTmxJR1J2WlhOdUozUWdaWGhwYzNRdVhHNGdJQzh2SUZkbElIZHBiR3dnYVc1MllXeHBaR0YwWlNCMGFHVWdZMmhwYkdRZ1kyOXVkR1Y0ZENCcGJpQm1hVzVwYzJoRGJHRnpjME52YlhCdmJtVnVkQ2dwSUhKcFoyaDBJR0ZtZEdWeUlISmxibVJsY21sdVp5NWNibHh1SUNCMllYSWdhR0Z6UTI5dWRHVjRkRHRjYmx4dUlDQnBaaUFvYVhORGIyNTBaWGgwVUhKdmRtbGtaWElvUTI5dGNHOXVaVzUwS1NrZ2UxeHVJQ0FnSUdoaGMwTnZiblJsZUhRZ1BTQjBjblZsTzF4dUlDQWdJSEIxYzJoRGIyNTBaWGgwVUhKdmRtbGtaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2hoYzBOdmJuUmxlSFFnUFNCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhCeVpYQmhjbVZVYjFKbFlXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUdOdmJuTjBjblZqZEVOc1lYTnpTVzV6ZEdGdVkyVW9kMjl5YTBsdVVISnZaM0psYzNNc0lFTnZiWEJ2Ym1WdWRDd2dibVY0ZEZCeWIzQnpLVHRjYmlBZ2JXOTFiblJEYkdGemMwbHVjM1JoYm1ObEtIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lHNWxlSFJRY205d2N5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQnlaWFIxY200Z1ptbHVhWE5vUTJ4aGMzTkRiMjF3YjI1bGJuUW9iblZzYkN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2RISjFaU3dnYUdGelEyOXVkR1Y0ZEN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRiM1Z1ZEVsdVpHVjBaWEp0YVc1aGRHVkRiMjF3YjI1bGJuUW9YMk4xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJR2xtSUNoZlkzVnljbVZ1ZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklFRnVJR2x1WkdWMFpYSnRhVzVoZEdVZ1kyOXRjRzl1Wlc1MElHOXViSGtnYlc5MWJuUnpJR2xtSUdsMElITjFjM0JsYm1SbFpDQnBibk5wWkdVZ1lTQnViMjR0WEc0Z0lDQWdMeThnWTI5dVkzVnljbVZ1ZENCMGNtVmxMQ0JwYmlCaGJpQnBibU52Ym5OcGMzUmxiblFnYzNSaGRHVXVJRmRsSUhkaGJuUWdkRzhnZEhKbFlYUWdhWFFnYkdsclpWeHVJQ0FnSUM4dklHRWdibVYzSUcxdmRXNTBMQ0JsZG1WdUlIUm9iM1ZuYUNCaGJpQmxiWEIwZVNCMlpYSnphVzl1SUc5bUlHbDBJR0ZzY21WaFpIa2dZMjl0YldsMGRHVmtMbHh1SUNBZ0lDOHZJRVJwYzJOdmJtNWxZM1FnZEdobElHRnNkR1Z5Ym1GMFpTQndiMmx1ZEdWeWN5NWNiaUFnSUNCZlkzVnljbVZ1ZEM1aGJIUmxjbTVoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtRnNkR1Z5Ym1GMFpTQTlJRzUxYkd3N0lDOHZJRk5wYm1ObElIUm9hWE1nYVhNZ1kyOXVZMlZ3ZEhWaGJHeDVJR0VnYm1WM0lHWnBZbVZ5TENCelkyaGxaSFZzWlNCaElGQnNZV05sYldWdWRDQmxabVpsWTNSY2JseHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCUWJHRmpaVzFsYm5RN1hHNGdJSDFjYmx4dUlDQjJZWElnY0hKdmNITWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc0Z0lIWmhjaUJqYjI1MFpYaDBPMXh1WEc0Z0lIdGNiaUFnSUNCMllYSWdkVzV0WVhOclpXUkRiMjUwWlhoMElEMGdaMlYwVlc1dFlYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJR1poYkhObEtUdGNiaUFnSUNCamIyNTBaWGgwSUQwZ1oyVjBUV0Z6YTJWa1EyOXVkR1Y0ZENoM2IzSnJTVzVRY205bmNtVnpjeXdnZFc1dFlYTnJaV1JEYjI1MFpYaDBLVHRjYmlBZ2ZWeHVYRzRnSUhCeVpYQmhjbVZVYjFKbFlXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUhaaGNpQjJZV3gxWlR0Y2JseHVJQ0I3WEc0Z0lDQWdhV1lnS0VOdmJYQnZibVZ1ZEM1d2NtOTBiM1I1Y0dVZ0ppWWdkSGx3Wlc5bUlFTnZiWEJ2Ym1WdWRDNXdjbTkwYjNSNWNHVXVjbVZ1WkdWeUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCMllYSWdZMjl0Y0c5dVpXNTBUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb1EyOXRjRzl1Wlc1MEtTQjhmQ0FuVlc1cmJtOTNiaWM3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUW1Ga1EyeGhjM05iWTI5dGNHOXVaVzUwVG1GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9YQ0pVYUdVZ1BDVnpJQzgrSUdOdmJYQnZibVZ1ZENCaGNIQmxZWEp6SUhSdklHaGhkbVVnWVNCeVpXNWtaWElnYldWMGFHOWtMQ0JpZFhRZ1pHOWxjMjRuZENCbGVIUmxibVFnVW1WaFkzUXVRMjl0Y0c5dVpXNTBMaUJjSWlBcklDZFVhR2x6SUdseklHeHBhMlZzZVNCMGJ5QmpZWFZ6WlNCbGNuSnZjbk11SUVOb1lXNW5aU0FsY3lCMGJ5QmxlSFJsYm1RZ1VtVmhZM1F1UTI5dGNHOXVaVzUwSUdsdWMzUmxZV1F1Snl3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnWTI5dGNHOXVaVzUwVG1GdFpTazdYRzVjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFFtRmtRMnhoYzNOYlkyOXRjRzl1Wlc1MFRtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1UzUnlhV04wVFc5a1pTa2dlMXh1SUNBZ0lDQWdVbVZoWTNSVGRISnBZM1JOYjJSbFYyRnlibWx1WjNNdWNtVmpiM0prVEdWbllXTjVRMjl1ZEdWNGRGZGhjbTVwYm1jb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1MWJHd3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITmxkRWx6VW1WdVpHVnlhVzVuS0hSeWRXVXBPMXh1SUNBZ0lGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUpERXVZM1Z5Y21WdWRDQTlJSGR2Y210SmJsQnliMmR5WlhOek8xeHVJQ0FnSUhaaGJIVmxJRDBnY21WdVpHVnlWMmwwYUVodmIydHpLRzUxYkd3c0lIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lIQnliM0J6TENCamIyNTBaWGgwTENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ2MyVjBTWE5TWlc1a1pYSnBibWNvWm1Gc2MyVXBPMXh1SUNCOUlDOHZJRkpsWVdOMElFUmxkbFJ2YjJ4eklISmxZV1J6SUhSb2FYTWdabXhoWnk1Y2JseHVYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCUVpYSm1iM0p0WldSWGIzSnJPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhaaGJIVmxJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUIyWVd4MVpTNXlaVzVrWlhJZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ2RtRnNkV1V1SkNSMGVYQmxiMllnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIWmhjaUJmWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9RMjl0Y0c5dVpXNTBLU0I4ZkNBblZXNXJibTkzYmljN1hHNWNiaUFnSUNBZ0lHbG1JQ2doWkdsa1YyRnlia0ZpYjNWMFRXOWtkV3hsVUdGMGRHVnlia052YlhCdmJtVnVkRnRmWTI5dGNHOXVaVzUwVG1GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KMVJvWlNBOEpYTWdMejRnWTI5dGNHOXVaVzUwSUdGd2NHVmhjbk1nZEc4Z1ltVWdZU0JtZFc1amRHbHZiaUJqYjIxd2IyNWxiblFnZEdoaGRDQnlaWFIxY201eklHRWdZMnhoYzNNZ2FXNXpkR0Z1WTJVdUlDY2dLeUFuUTJoaGJtZGxJQ1Z6SUhSdklHRWdZMnhoYzNNZ2RHaGhkQ0JsZUhSbGJtUnpJRkpsWVdOMExrTnZiWEJ2Ym1WdWRDQnBibk4wWldGa0xpQW5JQ3NnWENKSlppQjViM1VnWTJGdUozUWdkWE5sSUdFZ1kyeGhjM01nZEhKNUlHRnpjMmxuYm1sdVp5QjBhR1VnY0hKdmRHOTBlWEJsSUc5dUlIUm9aU0JtZFc1amRHbHZiaUJoY3lCaElIZHZjbXRoY205MWJtUXVJRndpSUNzZ1hDSmdKWE11Y0hKdmRHOTBlWEJsSUQwZ1VtVmhZM1F1UTI5dGNHOXVaVzUwTG5CeWIzUnZkSGx3WldBdUlFUnZiaWQwSUhWelpTQmhiaUJoY25KdmR5Qm1kVzVqZEdsdmJpQnphVzVqWlNCcGRDQmNJaUFySUNkallXNXViM1FnWW1VZ1kyRnNiR1ZrSUhkcGRHZ2dZRzVsZDJBZ1lua2dVbVZoWTNRdUp5d2dYMk52YlhCdmJtVnVkRTVoYldVc0lGOWpiMjF3YjI1bGJuUk9ZVzFsTENCZlkyOXRjRzl1Wlc1MFRtRnRaU2s3WEc1Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBUVzlrZFd4bFVHRjBkR1Z5YmtOdmJYQnZibVZ1ZEZ0ZlkyOXRjRzl1Wlc1MFRtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdMeThnVUhKdlkyVmxaQ0IxYm1SbGNpQjBhR1VnWVhOemRXMXdkR2x2YmlCMGFHRjBJSFJvYVhNZ2FYTWdZU0JqYkdGemN5QnBibk4wWVc1alpWeHVYRzVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY2dQU0JEYkdGemMwTnZiWEJ2Ym1WdWREc2dMeThnVkdoeWIzY2diM1YwSUdGdWVTQm9iMjlyY3lCMGFHRjBJSGRsY21VZ2RYTmxaQzVjYmx4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCdWRXeHNPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5Wd1pHRjBaVkYxWlhWbElEMGdiblZzYkRzZ0x5OGdVSFZ6YUNCamIyNTBaWGgwSUhCeWIzWnBaR1Z5Y3lCbFlYSnNlU0IwYnlCd2NtVjJaVzUwSUdOdmJuUmxlSFFnYzNSaFkyc2diV2x6YldGMFkyaGxjeTVjYmlBZ0lDQXZMeUJFZFhKcGJtY2diVzkxYm5ScGJtY2dkMlVnWkc5dUozUWdhMjV2ZHlCMGFHVWdZMmhwYkdRZ1kyOXVkR1Y0ZENCNVpYUWdZWE1nZEdobElHbHVjM1JoYm1ObElHUnZaWE51SjNRZ1pYaHBjM1F1WEc0Z0lDQWdMeThnVjJVZ2QybHNiQ0JwYm5aaGJHbGtZWFJsSUhSb1pTQmphR2xzWkNCamIyNTBaWGgwSUdsdUlHWnBibWx6YUVOc1lYTnpRMjl0Y0c5dVpXNTBLQ2tnY21sbmFIUWdZV1owWlhJZ2NtVnVaR1Z5YVc1bkxseHVYRzRnSUNBZ2RtRnlJR2hoYzBOdmJuUmxlSFFnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR2xtSUNocGMwTnZiblJsZUhSUWNtOTJhV1JsY2loRGIyMXdiMjVsYm5RcEtTQjdYRzRnSUNBZ0lDQm9ZWE5EYjI1MFpYaDBJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIQjFjMmhEYjI1MFpYaDBVSEp2ZG1sa1pYSW9kMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvWVhORGIyNTBaWGgwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0E5SUhaaGJIVmxMbk4wWVhSbElDRTlQU0J1ZFd4c0lDWW1JSFpoYkhWbExuTjBZWFJsSUNFOVBTQjFibVJsWm1sdVpXUWdQeUIyWVd4MVpTNXpkR0YwWlNBNklHNTFiR3c3WEc0Z0lDQWdhVzVwZEdsaGJHbDZaVlZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQjJZWElnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDBnUTI5dGNHOXVaVzUwTG1kbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjenRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmhjSEJzZVVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5aDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MExDQm5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNc0lIQnliM0J6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoWkc5d2RFTnNZWE56U1c1emRHRnVZMlVvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSFpoYkhWbEtUdGNiaUFnSUNCdGIzVnVkRU5zWVhOelNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2NISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCeVpYUjFjbTRnWm1sdWFYTm9RMnhoYzNORGIyMXdiMjVsYm5Rb2JuVnNiQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRU52YlhCdmJtVnVkQ3dnZEhKMVpTd2dhR0Z6UTI5dWRHVjRkQ3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRkJ5YjJObFpXUWdkVzVrWlhJZ2RHaGxJR0Z6YzNWdGNIUnBiMjRnZEdoaGRDQjBhR2x6SUdseklHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011ZEdGbklEMGdSblZ1WTNScGIyNURiMjF3YjI1bGJuUTdYRzVjYmlBZ0lDQjdYRzVjYmlBZ0lDQWdJR2xtSUNnZ2QyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRk4wY21samRFMXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCa2IzVmliR1V0Y21WdVpHVnlJR052YlhCdmJtVnVkSE1nZDJsMGFDQkliMjlyYzF4dUlDQWdJQ0FnSUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2NtVnVaR1Z5VjJsMGFFaHZiMnR6S0c1MWJHd3NJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJSEJ5YjNCekxDQmpiMjUwWlhoMExDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WldOdmJtTnBiR1ZEYUdsc1pISmxiaWh1ZFd4c0xDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2RtRnNkV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lIdGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SSmJrUmxkaWgzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnZG1Gc2FXUmhkR1ZHZFc1amRHbHZia052YlhCdmJtVnVkRWx1UkdWMktIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5RcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoRGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lHbG1JQ2hEYjIxd2IyNWxiblF1WTJocGJHUkRiMjUwWlhoMFZIbHdaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWektDNHVMaWs2SUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUdOaGJtNXZkQ0JpWlNCa1pXWnBibVZrSUc5dUlHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBMaWNzSUVOdmJYQnZibVZ1ZEM1a2FYTndiR0Y1VG1GdFpTQjhmQ0JEYjIxd2IyNWxiblF1Ym1GdFpTQjhmQ0FuUTI5dGNHOXVaVzUwSnlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56TG5KbFppQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdsdVptOGdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQnZkMjVsY2s1aGJXVWdQU0JuWlhSRGRYSnlaVzUwUm1saVpYSlBkMjVsY2s1aGJXVkpia1JsZGs5eVRuVnNiQ2dwTzF4dVhHNGdJQ0FnSUNCcFppQW9iM2R1WlhKT1lXMWxLU0I3WEc0Z0lDQWdJQ0FnSUdsdVptOGdLejBnSjF4Y2JseGNia05vWldOcklIUm9aU0J5Wlc1a1pYSWdiV1YwYUc5a0lHOW1JR0FuSUNzZ2IzZHVaWEpPWVcxbElDc2dKMkF1Snp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSGRoY201cGJtZExaWGtnUFNCdmQyNWxjazVoYldVZ2ZId2dkMjl5YTBsdVVISnZaM0psYzNNdVgyUmxZblZuU1VRZ2ZId2dKeWM3WEc0Z0lDQWdJQ0IyWVhJZ1pHVmlkV2RUYjNWeVkyVWdQU0IzYjNKclNXNVFjbTluY21WemN5NWZaR1ZpZFdkVGIzVnlZMlU3WEc1Y2JpQWdJQ0FnSUdsbUlDaGtaV0oxWjFOdmRYSmpaU2tnZTF4dUlDQWdJQ0FnSUNCM1lYSnVhVzVuUzJWNUlEMGdaR1ZpZFdkVGIzVnlZMlV1Wm1sc1pVNWhiV1VnS3lBbk9pY2dLeUJrWldKMVoxTnZkWEpqWlM1c2FXNWxUblZ0WW1WeU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVdScFpGZGhjbTVCWW05MWRFWjFibU4wYVc5dVVtVm1jMXQzWVhKdWFXNW5TMlY1WFNrZ2UxeHVJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJHZFc1amRHbHZibEpsWm5OYmQyRnlibWx1WjB0bGVWMGdQU0IwY25WbE8xeHVYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDZEdkVzVqZEdsdmJpQmpiMjF3YjI1bGJuUnpJR05oYm01dmRDQmlaU0JuYVhabGJpQnlaV1p6TGlBbklDc2dKMEYwZEdWdGNIUnpJSFJ2SUdGalkyVnpjeUIwYUdseklISmxaaUIzYVd4c0lHWmhhV3d1SUNjZ0t5QW5SR2xrSUhsdmRTQnRaV0Z1SUhSdklIVnpaU0JTWldGamRDNW1iM0ozWVhKa1VtVm1LQ2svSlhNbkxDQnBibVp2S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUVOdmJYQnZibVZ1ZEM1blpYUkVaWEpwZG1Wa1UzUmhkR1ZHY205dFVISnZjSE1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFpoY2lCZlkyOXRjRzl1Wlc1MFRtRnRaVElnUFNCblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0VOdmJYQnZibVZ1ZENrZ2ZId2dKMVZ1YTI1dmQyNG5PMXh1WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRmRoY201QlltOTFkRWRsZEVSbGNtbDJaV1JUZEdGMFpVOXVSblZ1WTNScGIyNURiMjF3YjI1bGJuUmJYMk52YlhCdmJtVnVkRTVoYldVeVhTa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25KWE02SUVaMWJtTjBhVzl1SUdOdmJYQnZibVZ1ZEhNZ1pHOGdibTkwSUhOMWNIQnZjblFnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpMaWNzSUY5amIyMXdiMjVsYm5ST1lXMWxNaWs3WEc1Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBSMlYwUkdWeWFYWmxaRk4wWVhSbFQyNUdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWRGdGZZMjl0Y0c5dVpXNTBUbUZ0WlRKZElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUVOdmJYQnZibVZ1ZEM1amIyNTBaWGgwVkhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ1EyOXRjRzl1Wlc1MExtTnZiblJsZUhSVWVYQmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1gyTnZiWEJ2Ym1WdWRFNWhiV1V6SUQwZ1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNoRGIyMXdiMjVsYm5RcElIeDhJQ2RWYm10dWIzZHVKenRjYmx4dUlDQWdJQ0FnYVdZZ0tDRmthV1JYWVhKdVFXSnZkWFJEYjI1MFpYaDBWSGx3WlU5dVJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SYlgyTnZiWEJ2Ym1WdWRFNWhiV1V6WFNrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnbkpYTTZJRVoxYm1OMGFXOXVJR052YlhCdmJtVnVkSE1nWkc4Z2JtOTBJSE4xY0hCdmNuUWdZMjl1ZEdWNGRGUjVjR1V1Snl3Z1gyTnZiWEJ2Ym1WdWRFNWhiV1V6S1R0Y2JseHVJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJEYjI1MFpYaDBWSGx3WlU5dVJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SYlgyTnZiWEJ2Ym1WdWRFNWhiV1V6WFNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm5aaGNpQlRWVk5RUlU1RVJVUmZUVUZTUzBWU0lEMGdlMXh1SUNCa1pXaDVaSEpoZEdWa09pQnVkV3hzTEZ4dUlDQnlaWFJ5ZVZScGJXVTZJRTV2VjI5eWExeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2MyaHZkV3hrVW1WdFlXbHVUMjVHWVd4c1ltRmpheWh6ZFhOd1pXNXpaVU52Ym5SbGVIUXNJR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOektTQjdYRzRnSUM4dklFbG1JSFJvWlNCamIyNTBaWGgwSUdseklIUmxiR3hwYm1jZ2RYTWdkR2hoZENCM1pTQnphRzkxYkdRZ2MyaHZkeUJoSUdaaGJHeGlZV05yTENCaGJtUWdkMlVuY21VZ2JtOTBYRzRnSUM4dklHRnNjbVZoWkhrZ2MyaHZkMmx1WnlCamIyNTBaVzUwTENCMGFHVnVJSGRsSUhOb2IzVnNaQ0J6YUc5M0lIUm9aU0JtWVd4c1ltRmpheUJwYm5OMFpXRmtMbHh1SUNCeVpYUjFjbTRnYUdGelUzVnpjR1Z1YzJWRGIyNTBaWGgwS0hOMWMzQmxibk5sUTI5dWRHVjRkQ3dnUm05eVkyVlRkWE53Wlc1elpVWmhiR3hpWVdOcktTQW1KaUFvWTNWeWNtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVWdJVDA5SUc1MWJHd3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnZG1GeUlHMXZaR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbE8xeHVJQ0IyWVhJZ2JtVjRkRkJ5YjNCeklEMGdkMjl5YTBsdVVISnZaM0psYzNNdWNHVnVaR2x1WjFCeWIzQnpPeUF2THlCVWFHbHpJR2x6SUhWelpXUWdZbmtnUkdWMlZHOXZiSE1nZEc4Z1ptOXlZMlVnWVNCaWIzVnVaR0Z5ZVNCMGJ5QnpkWE53Wlc1a0xseHVYRzRnSUh0Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVTNWemNHVnVaQ2gzYjNKclNXNVFjbTluY21WemN5a3BJSHRjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JFYVdSRFlYQjBkWEpsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhaaGNpQnpkWE53Wlc1elpVTnZiblJsZUhRZ1BTQnpkWE53Wlc1elpWTjBZV05yUTNWeWMyOXlMbU4xY25KbGJuUTdYRzRnSUhaaGNpQnVaWGgwUkdsa1ZHbHRaVzkxZENBOUlHWmhiSE5sTzF4dUlDQjJZWElnWkdsa1UzVnpjR1Z1WkNBOUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ0ppQkVhV1JEWVhCMGRYSmxLU0FoUFQwZ1RtOUZabVpsWTNRN1hHNWNiaUFnYVdZZ0tHUnBaRk4xYzNCbGJtUWdmSHdnYzJodmRXeGtVbVZ0WVdsdVQyNUdZV3hzWW1GamF5aHpkWE53Wlc1elpVTnZiblJsZUhRc0lHTjFjbkpsYm5RcEtTQjdYRzRnSUNBZ0x5OGdVMjl0WlhSb2FXNW5JR2x1SUhSb2FYTWdZbTkxYm1SaGNua25jeUJ6ZFdKMGNtVmxJR0ZzY21WaFpIa2djM1Z6Y0dWdVpHVmtMaUJUZDJsMFkyZ2dkRzljYmlBZ0lDQXZMeUJ5Wlc1a1pYSnBibWNnZEdobElHWmhiR3hpWVdOcklHTm9hV3hrY21WdUxseHVJQ0FnSUc1bGVIUkVhV1JVYVcxbGIzVjBJRDBnZEhKMVpUdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnSmowZ2ZrUnBaRU5oY0hSMWNtVTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnUVhSMFpXMXdkR2x1WnlCMGFHVWdiV0ZwYmlCamIyNTBaVzUwWEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dnZkh3Z1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZOMFlYUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCVWFHbHpJR2x6SUdFZ2JtVjNJRzF2ZFc1MElHOXlJSFJvYVhNZ1ltOTFibVJoY25rZ2FYTWdZV3h5WldGa2VTQnphRzkzYVc1bklHRWdabUZzYkdKaFkyc2djM1JoZEdVdVhHNGdJQ0FnSUNBdkx5Qk5ZWEpySUhSb2FYTWdjM1ZpZEhKbFpTQmpiMjUwWlhoMElHRnpJR2hoZG1sdVp5QmhkQ0JzWldGemRDQnZibVVnYVc1MmFYTnBZbXhsSUhCaGNtVnVkQ0IwYUdGMElHTnZkV3hrWEc0Z0lDQWdJQ0F2THlCb1lXNWtiR1VnZEdobElHWmhiR3hpWVdOcklITjBZWFJsTGx4dUlDQWdJQ0FnTHk4Z1FtOTFibVJoY21sbGN5QjNhWFJvYjNWMElHWmhiR3hpWVdOcmN5QnZjaUJ6YUc5MWJHUWdZbVVnWVhadmFXUmxaQ0JoY21VZ2JtOTBJR052Ym5OcFpHVnlaV1FnYzJsdVkyVmNiaUFnSUNBZ0lDOHZJSFJvWlhrZ1kyRnVibTkwSUdoaGJtUnNaU0J3Y21WbVpYSnlaV1FnWm1Gc2JHSmhZMnNnYzNSaGRHVnpMbHh1SUNBZ0lDQWdhV1lnS0c1bGVIUlFjbTl3Y3k1bVlXeHNZbUZqYXlBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUc1bGVIUlFjbTl3Y3k1MWJuTjBZV0pzWlY5aGRtOXBaRlJvYVhOR1lXeHNZbUZqYXlBaFBUMGdkSEoxWlNrZ2UxeHVJQ0FnSUNBZ0lDQnpkWE53Wlc1elpVTnZiblJsZUhRZ1BTQmhaR1JUZFdKMGNtVmxVM1Z6Y0dWdWMyVkRiMjUwWlhoMEtITjFjM0JsYm5ObFEyOXVkR1Y0ZEN3Z1NXNTJhWE5wWW14bFVHRnlaVzUwVTNWemNHVnVjMlZEYjI1MFpYaDBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J6ZFhOd1pXNXpaVU52Ym5SbGVIUWdQU0J6WlhSRVpXWmhkV3gwVTJoaGJHeHZkMU4xYzNCbGJuTmxRMjl1ZEdWNGRDaHpkWE53Wlc1elpVTnZiblJsZUhRcE8xeHVJQ0J3ZFhOb1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J6ZFhOd1pXNXpaVU52Ym5SbGVIUXBPeUF2THlCVWFHbHpJRzVsZUhRZ2NHRnlkQ0JwY3lCaElHSnBkQ0JqYjI1bWRYTnBibWN1SUVsbUlIUm9aU0JqYUdsc1pISmxiaUIwYVcxbGIzVjBMQ0IzWlNCemQybDBZMmdnZEc5Y2JpQWdMeThnYzJodmQybHVaeUIwYUdVZ1ptRnNiR0poWTJzZ1kyaHBiR1J5Wlc0Z2FXNGdjR3hoWTJVZ2IyWWdkR2hsSUZ3aWNISnBiV0Z5ZVZ3aUlHTm9hV3hrY21WdUxseHVJQ0F2THlCSWIzZGxkbVZ5TENCM1pTQmtiMjRuZENCM1lXNTBJSFJ2SUdSbGJHVjBaU0IwYUdVZ2NISnBiV0Z5ZVNCamFHbHNaSEpsYmlCaVpXTmhkWE5sSUhSb1pXNGdkR2hsYVhKY2JpQWdMeThnYzNSaGRHVWdkMmxzYkNCaVpTQnNiM04wSUNoaWIzUm9JSFJvWlNCU1pXRmpkQ0J6ZEdGMFpTQmhibVFnZEdobElHaHZjM1FnYzNSaGRHVXNJR1V1Wnk1Y2JpQWdMeThnZFc1amIyNTBjbTlzYkdWa0lHWnZjbTBnYVc1d2RYUnpLUzRnU1c1emRHVmhaQ0IzWlNCclpXVndJSFJvWlcwZ2JXOTFiblJsWkNCaGJtUWdhR2xrWlNCMGFHVnRMbHh1SUNBdkx5QkNiM1JvSUhSb1pTQm1ZV3hzWW1GamF5QmphR2xzWkhKbGJpQkJUa1FnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0Z1lYSmxJSEpsYm1SbGNtVmtJR0YwSUhSb1pWeHVJQ0F2THlCellXMWxJSFJwYldVdUlFOXVZMlVnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0Z1lYSmxJSFZ1TFhOMWMzQmxibVJsWkN3Z2QyVWdZMkZ1SUdSbGJHVjBaVnh1SUNBdkx5QjBhR1VnWm1Gc2JHSmhZMnNnWTJocGJHUnlaVzRnNG9DVUlHUnZiaWQwSUc1bFpXUWdkRzhnY0hKbGMyVnlkbVVnZEdobGFYSWdjM1JoZEdVdVhHNGdJQzh2WEc0Z0lDOHZJRlJvWlNCMGQyOGdjMlYwY3lCdlppQmphR2xzWkhKbGJpQmhjbVVnYzJsaWJHbHVaM01nYVc0Z2RHaGxJR2h2YzNRZ1pXNTJhWEp2Ym0xbGJuUXNJR0oxZEZ4dUlDQXZMeUJ6WlcxaGJuUnBZMkZzYkhrc0lHWnZjaUJ3ZFhKd2IzTmxjeUJ2WmlCeVpXTnZibU5wYkdsaGRHbHZiaXdnZEdobGVTQmhjbVVnZEhkdklITmxjR0Z5WVhSbElITmxkSE11WEc0Z0lDOHZJRk52SUhkbElITjBiM0psSUhSb1pXMGdkWE5wYm1jZ2RIZHZJR1p5WVdkdFpXNTBJR1pwWW1WeWN5NWNiaUFnTHk5Y2JpQWdMeThnU0c5M1pYWmxjaXdnZDJVZ2QyRnVkQ0IwYnlCaGRtOXBaQ0JoYkd4dlkyRjBhVzVuSUdWNGRISmhJR1pwWW1WeWN5Qm1iM0lnWlhabGNua2djR3hoWTJWb2IyeGtaWEl1WEc0Z0lDOHZJRlJvWlhrbmNtVWdiMjVzZVNCdVpXTmxjM05oY25rZ2QyaGxiaUIwYUdVZ1kyaHBiR1J5Wlc0Z2RHbHRaU0J2ZFhRc0lHSmxZMkYxYzJVZ2RHaGhkQ2R6SUhSb1pWeHVJQ0F2THlCdmJteDVJSFJwYldVZ2QyaGxiaUJpYjNSb0lITmxkSE1nWVhKbElHMXZkVzUwWldRdVhHNGdJQzh2WEc0Z0lDOHZJRk52TENCMGFHVWdaWGgwY21FZ1puSmhaMjFsYm5RZ1ptbGlaWEp6SUdGeVpTQnZibXg1SUhWelpXUWdhV1lnZEdobElHTm9hV3hrY21WdUlIUnBiV1VnYjNWMExseHVJQ0F2THlCUGRHaGxjbmRwYzJVc0lIZGxJSEpsYm1SbGNpQjBhR1VnY0hKcGJXRnllU0JqYUdsc1pISmxiaUJrYVhKbFkzUnNlUzRnVkdocGN5QnlaWEYxYVhKbGN5QnpiMjFsWEc0Z0lDOHZJR04xYzNSdmJTQnlaV052Ym1OcGJHbGhkR2x2YmlCc2IyZHBZeUIwYnlCd2NtVnpaWEoyWlNCMGFHVWdjM1JoZEdVZ2IyWWdkR2hsSUhCeWFXMWhjbmxjYmlBZ0x5OGdZMmhwYkdSeVpXNHVJRWwwSjNNZ1pYTnpaVzUwYVdGc2JIa2dZU0IyWlhKNUlHSmhjMmxqSUdadmNtMGdiMllnY21VdGNHRnlaVzUwYVc1bkxseHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVbmNtVWdZM1Z5Y21WdWRHeDVJR2g1WkhKaGRHbHVaeXdnZEhKNUlIUnZJR2g1WkhKaGRHVWdkR2hwY3lCaWIzVnVaR0Z5ZVM1Y2JpQWdJQ0F2THlCQ2RYUWdiMjVzZVNCcFppQjBhR2x6SUdoaGN5QmhJR1poYkd4aVlXTnJMbHh1SUNBZ0lHbG1JQ2h1WlhoMFVISnZjSE11Wm1Gc2JHSmhZMnNnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdkSEo1Vkc5RGJHRnBiVTVsZUhSSWVXUnlZWFJoWW14bFNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01wT3lBdkx5QlVhR2x6SUdOdmRXeGtKM1psSUdKbFpXNGdZU0JrWldoNVpISmhkR1ZrSUhOMWMzQmxibk5sSUdOdmJYQnZibVZ1ZEM1Y2JpQWdJQ0I5SUM4dklGUm9hWE1nYVhNZ2RHaGxJR2x1YVhScFlXd2diVzkxYm5RdUlGUm9hWE1nWW5KaGJtTm9JR2x6SUhCeVpYUjBlU0J6YVcxd2JHVWdZbVZqWVhWelpTQjBhR1Z5WlNkelhHNGdJQ0FnTHk4Z2JtOGdjSEpsZG1sdmRYTWdjM1JoZEdVZ2RHaGhkQ0J1WldWa2N5QjBieUJpWlNCd2NtVnpaWEoyWldRdVhHNWNibHh1SUNBZ0lHbG1JQ2h1WlhoMFJHbGtWR2x0Wlc5MWRDa2dlMXh1SUNBZ0lDQWdMeThnVFc5MWJuUWdjMlZ3WVhKaGRHVWdabkpoWjIxbGJuUnpJR1p2Y2lCd2NtbHRZWEo1SUdGdVpDQm1ZV3hzWW1GamF5QmphR2xzWkhKbGJpNWNiaUFnSUNBZ0lIWmhjaUJ1WlhoMFJtRnNiR0poWTJ0RGFHbHNaSEpsYmlBOUlHNWxlSFJRY205d2N5NW1ZV3hzWW1GamF6dGNiaUFnSUNBZ0lIWmhjaUJ3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZENBOUlHTnlaV0YwWlVacFltVnlSbkp2YlVaeVlXZHRaVzUwS0c1MWJHd3NJRzF2WkdVc0lFNXZWMjl5YXl3Z2JuVnNiQ2s3WEc0Z0lDQWdJQ0J3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZEM1eVpYUjFjbTRnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmx4dUlDQWdJQ0FnYVdZZ0tDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1dGIyUmxJQ1lnUW14dlkydHBibWROYjJSbEtTQTlQVDBnVG05TmIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUM4dklFOTFkSE5wWkdVZ2IyWWdZbXh2WTJ0cGJtY2diVzlrWlN3Z2QyVWdZMjl0YldsMElIUm9aU0JsWm1abFkzUnpJR1p5YjIwZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUhCaGNuUnBZV3hzZVNCamIyMXdiR1YwWldRc0lIUnBiV1ZrTFc5MWRDQjBjbVZsTENCMGIyOHVYRzRnSUNBZ0lDQWdJSFpoY2lCd2NtOW5jbVZ6YzJWa1UzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0FnSUNBZ0lDQjJZWElnY0hKdlozSmxjM05sWkZCeWFXMWhjbmxEYUdsc1pDQTlJSEJ5YjJkeVpYTnpaV1JUZEdGMFpTQWhQVDBnYm5Wc2JDQS9JSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrTG1Ob2FXeGtJRG9nZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNGdJQ0FnSUNBZ0lIQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBMbU5vYVd4a0lEMGdjSEp2WjNKbGMzTmxaRkJ5YVcxaGNubERhR2xzWkR0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJ5YjJkeVpYTnpaV1JEYUdsc1pDQTlJSEJ5YjJkeVpYTnpaV1JRY21sdFlYSjVRMmhwYkdRN1hHNWNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tIQnliMmR5WlhOelpXUkRhR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEJ5YjJkeVpYTnpaV1JEYUdsc1pDNXlaWFIxY200Z1BTQndjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNCd2NtOW5jbVZ6YzJWa1EyaHBiR1FnUFNCd2NtOW5jbVZ6YzJWa1EyaHBiR1F1YzJsaWJHbHVaenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMllYSWdabUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwSUQwZ1kzSmxZWFJsUm1saVpYSkdjbTl0Um5KaFoyMWxiblFvYm1WNGRFWmhiR3hpWVdOclEyaHBiR1J5Wlc0c0lHMXZaR1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbExDQnVkV3hzS1R0Y2JpQWdJQ0FnSUdaaGJHeGlZV05yUTJocGJHUkdjbUZuYldWdWRDNXlaWFIxY200Z1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdJQ0FnSUhCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1MExuTnBZbXhwYm1jZ1BTQm1ZV3hzWW1GamEwTm9hV3hrUm5KaFoyMWxiblE3SUM4dklGTnJhWEFnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0c0lHRnVaQ0JqYjI1MGFXNTFaU0IzYjNKcmFXNW5JRzl1SUhSb1pWeHVJQ0FnSUNBZ0x5OGdabUZzYkdKaFkyc2dZMmhwYkdSeVpXNHVYRzVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCVFZWTlFSVTVFUlVSZlRVRlNTMFZTTzF4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQndjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkRHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3hzWW1GamEwTm9hV3hrUm5KaFoyMWxiblE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRTF2ZFc1MElIUm9aU0J3Y21sdFlYSjVJR05vYVd4a2NtVnVJSGRwZEdodmRYUWdZVzRnYVc1MFpYSnRaV1JwWVhSbElHWnlZV2R0Wlc1MElHWnBZbVZ5TGx4dUlDQWdJQ0FnZG1GeUlHNWxlSFJRY21sdFlYSjVRMmhwYkdSeVpXNGdQU0J1WlhoMFVISnZjSE11WTJocGJHUnlaVzQ3WEc0Z0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGTjBZWFJsSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaQ0E5SUcxdmRXNTBRMmhwYkdSR2FXSmxjbk1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzUxYkd3c0lHNWxlSFJRY21sdFlYSjVRMmhwYkdSeVpXNHNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaGJpQjFjR1JoZEdVdUlGUm9hWE1nWW5KaGJtTm9JR2x6SUcxdmNtVWdZMjl0Y0d4cFkyRjBaV1FnWW1WallYVnpaU0IzWlNCdVpXVmtJSFJ2WEc0Z0lDQWdMeThnWlc1emRYSmxJSFJvWlNCemRHRjBaU0J2WmlCMGFHVWdjSEpwYldGeWVTQmphR2xzWkhKbGJpQnBjeUJ3Y21WelpYSjJaV1F1WEc0Z0lDQWdkbUZ5SUhCeVpYWlRkR0YwWlNBOUlHTjFjbkpsYm5RdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQWdJR2xtSUNod2NtVjJVM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDOHZJSGR5WVhCd1pXUWdhVzRnWVNCbWNtRm5iV1Z1ZENCbWFXSmxjaTVjYmx4dVhHNGdJQ0FnSUNCMllYSWdZM1Z5Y21WdWRGQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBJRDBnWTNWeWNtVnVkQzVqYUdsc1pEdGNiaUFnSUNBZ0lIWmhjaUJqZFhKeVpXNTBSbUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwSUQwZ1kzVnljbVZ1ZEZCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1MExuTnBZbXhwYm1jN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1WlhoMFJHbGtWR2x0Wlc5MWRDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVGRHbHNiQ0IwYVcxbFpDQnZkWFF1SUZKbGRYTmxJSFJvWlNCamRYSnlaVzUwSUhCeWFXMWhjbmtnWTJocGJHUnlaVzRnWW5rZ1kyeHZibWx1WjF4dUlDQWdJQ0FnSUNBdkx5QnBkSE1nWm5KaFoyMWxiblF1SUZkbEozSmxJR2R2YVc1bklIUnZJSE5yYVhBZ2IzWmxjaUIwYUdWelpTQmxiblJwY21Wc2VTNWNiaUFnSUNBZ0lDQWdkbUZ5SUY5dVpYaDBSbUZzYkdKaFkydERhR2xzWkhKbGJqSWdQU0J1WlhoMFVISnZjSE11Wm1Gc2JHSmhZMnM3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZERJZ1BTQmpjbVZoZEdWWGIzSnJTVzVRY205bmNtVnpjeWhqZFhKeVpXNTBVSEpwYldGeWVVTm9hV3hrUm5KaFoyMWxiblFzSUdOMWNuSmxiblJRY21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZEM1d1pXNWthVzVuVUhKdmNITXBPMXh1WEc0Z0lDQWdJQ0FnSUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRESXVjbVYwZFhKdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NoM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdRbXh2WTJ0cGJtZE5iMlJsS1NBOVBUMGdUbTlOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1QzVjBjMmxrWlNCdlppQmliRzlqYTJsdVp5QnRiMlJsTENCM1pTQmpiMjF0YVhRZ2RHaGxJR1ZtWm1WamRITWdabkp2YlNCMGFHVmNiaUFnSUNBZ0lDQWdJQ0F2THlCd1lYSjBhV0ZzYkhrZ1kyOXRjR3hsZEdWa0xDQjBhVzFsWkMxdmRYUWdkSEpsWlN3Z2RHOXZMbHh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmZjSEp2WjNKbGMzTmxaRk4wWVhSbElEMGdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJmY0hKdlozSmxjM05sWkZCeWFXMWhjbmxEYUdsc1pDQTlJRjl3Y205bmNtVnpjMlZrVTNSaGRHVWdJVDA5SUc1MWJHd2dQeUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkM1amFHbHNaQ0E2SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tGOXdjbTluY21WemMyVmtVSEpwYldGeWVVTm9hV3hrSUNFOVBTQmpkWEp5Wlc1MFVISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXVZMmhwYkdRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRESXVZMmhwYkdRZ1BTQmZjSEp2WjNKbGMzTmxaRkJ5YVcxaGNubERhR2xzWkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCZmNISnZaM0psYzNObFpFTm9hV3hrTWlBOUlGOXdjbTluY21WemMyVmtVSEpwYldGeWVVTm9hV3hrTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9YM0J5YjJkeVpYTnpaV1JEYUdsc1pESWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdYM0J5YjJkeVpYTnpaV1JEYUdsc1pESXVjbVYwZFhKdUlEMGdYM0J5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwTWp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWDNCeWIyZHlaWE56WldSRGFHbHNaRElnUFNCZmNISnZaM0psYzNObFpFTm9hV3hrTWk1emFXSnNhVzVuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQXZMeUJDWldOaGRYTmxJSEJ5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwSUdseklHRWdibVYzSUdacFltVnlJSFJvWVhRZ2QyVW5jbVVnYVc1elpYSjBhVzVuSUdGeklIUm9aVnh1SUNBZ0lDQWdJQ0F2THlCd1lYSmxiblFnYjJZZ1lTQnVaWGNnZEhKbFpTd2dkMlVnYm1WbFpDQjBieUJ6WlhRZ2FYUnpJSFJ5WldWQ1lYTmxSSFZ5WVhScGIyNHVYRzVjYmx4dUlDQWdJQ0FnSUNCcFppQW9JSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCUWNtOW1hV3hsVFc5a1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklIUnlaV1ZDWVhObFJIVnlZWFJwYjI0Z2FYTWdkR2hsSUhOMWJTQnZaaUJoYkd3Z2RHaGxJR05vYVd4a0lIUnlaV1VnWW1GelpTQmtkWEpoZEdsdmJuTXVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlGOTBjbVZsUW1GelpVUjFjbUYwYVc5dUlEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYMmhwWkdSbGJrTm9hV3hrSUQwZ1gzQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBNaTVqYUdsc1pEdGNibHh1SUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2hmYUdsa1pHVnVRMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUY5MGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUNzOUlGOW9hV1JrWlc1RGFHbHNaQzUwY21WbFFtRnpaVVIxY21GMGFXOXVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1gyaHBaR1JsYmtOb2FXeGtJRDBnWDJocFpHUmxia05vYVd4a0xuTnBZbXhwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1gzQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBNaTUwY21WbFFtRnpaVVIxY21GMGFXOXVJRDBnWDNSeVpXVkNZWE5sUkhWeVlYUnBiMjQ3WEc0Z0lDQWdJQ0FnSUgwZ0x5OGdRMnh2Ym1VZ2RHaGxJR1poYkd4aVlXTnJJR05vYVd4a0lHWnlZV2R0Wlc1MExDQjBiMjh1SUZSb1pYTmxJSGRsSjJ4c0lHTnZiblJwYm5WbFhHNGdJQ0FnSUNBZ0lDOHZJSGR2Y210cGJtY2diMjR1WEc1Y2JseHVJQ0FnSUNBZ0lDQjJZWElnWDJaaGJHeGlZV05yUTJocGJHUkdjbUZuYldWdWRESWdQU0JqY21WaGRHVlhiM0pyU1c1UWNtOW5jbVZ6Y3loamRYSnlaVzUwUm1Gc2JHSmhZMnREYUdsc1pFWnlZV2R0Wlc1MExDQmZibVY0ZEVaaGJHeGlZV05yUTJocGJHUnlaVzR5S1R0Y2JseHVJQ0FnSUNBZ0lDQmZabUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwTWk1eVpYUjFjbTRnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQWdJQ0FnWDNCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1ME1pNXphV0pzYVc1bklEMGdYMlpoYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZERJN1hHNGdJQ0FnSUNBZ0lGOXdjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkREl1WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlFNXZWMjl5YXpzZ0x5OGdVMnRwY0NCMGFHVWdjSEpwYldGeWVTQmphR2xzWkhKbGJpd2dZVzVrSUdOdmJuUnBiblZsSUhkdmNtdHBibWNnYjI0Z2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUdaaGJHeGlZV05ySUdOb2FXeGtjbVZ1TGx4dVhHNGdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVWdQU0JUVlZOUVJVNUVSVVJmVFVGU1MwVlNPMXh1SUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlGOXdjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkREk3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJmWm1Gc2JHSmhZMnREYUdsc1pFWnlZV2R0Wlc1ME1qdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDOHZJRTV2SUd4dmJtZGxjaUJ6ZFhOd1pXNWtaV1F1SUZOM2FYUmphQ0JpWVdOcklIUnZJSE5vYjNkcGJtY2dkR2hsSUhCeWFXMWhjbmtnWTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0FnSUM4dklHRnVaQ0J5WlcxdmRtVWdkR2hsSUdsdWRHVnliV1ZrYVdGMFpTQm1jbUZuYldWdWRDQm1hV0psY2k1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl1WlhoMFVISnBiV0Z5ZVVOb2FXeGtjbVZ1SUQwZ2JtVjRkRkJ5YjNCekxtTm9hV3hrY21WdU8xeHVJQ0FnSUNBZ0lDQjJZWElnWTNWeWNtVnVkRkJ5YVcxaGNubERhR2xzWkNBOUlHTjFjbkpsYm5SUWNtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRDNWphR2xzWkR0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJ5YVcxaGNubERhR2xzWkNBOUlISmxZMjl1WTJsc1pVTm9hV3hrUm1saVpYSnpLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkWEp5Wlc1MFVISnBiV0Z5ZVVOb2FXeGtMQ0JmYm1WNGRGQnlhVzFoY25sRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPeUF2THlCSlppQjBhR2x6SUhKbGJtUmxjaUJrYjJWemJpZDBJSE4xYzNCbGJtUXNJSGRsSUc1bFpXUWdkRzhnWkdWc1pYUmxJSFJvWlNCbVlXeHNZbUZqYTF4dUlDQWdJQ0FnSUNBdkx5QmphR2xzWkhKbGJpNGdWMkZwZENCMWJuUnBiQ0IwYUdVZ1kyOXRjR3hsZEdVZ2NHaGhjMlVzSUdGbWRHVnlJSGRsSjNabElHTnZibVpwY20xbFpDQjBhR1ZjYmlBZ0lDQWdJQ0FnTHk4Z1ptRnNiR0poWTJzZ2FYTWdibThnYkc5dVoyVnlJRzVsWldSbFpDNWNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dWMjkxYkdRZ2FYUWdZbVVnWW1WMGRHVnlJSFJ2SUhOMGIzSmxJSFJvWlNCbVlXeHNZbUZqYXlCbWNtRm5iV1Z1ZENCdmJseHVJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2MzUmhkR1ZPYjJSbFAxeHVJQ0FnSUNBZ0lDQXZMeUJEYjI1MGFXNTFaU0J5Wlc1a1pYSnBibWNnZEdobElHTm9hV3hrY21WdUxDQnNhV3RsSUhkbElHNXZjbTFoYkd4NUlHUnZMbHh1WEc0Z0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQndjbWx0WVhKNVEyaHBiR1E3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRlJvWlNCamRYSnlaVzUwSUhSeVpXVWdhR0Z6SUc1dmRDQmhiSEpsWVdSNUlIUnBiV1ZrSUc5MWRDNGdWR2hoZENCdFpXRnVjeUIwYUdVZ2NISnBiV0Z5ZVZ4dUlDQWdJQ0FnTHk4Z1kyaHBiR1J5Wlc0Z1lYSmxJRzV2ZENCM2NtRndjR1ZrSUdsdUlHRWdabkpoWjIxbGJuUWdabWxpWlhJdVhHNGdJQ0FnSUNCMllYSWdYMk4xY25KbGJuUlFjbWx0WVhKNVEyaHBiR1FnUFNCamRYSnlaVzUwTG1Ob2FXeGtPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JtVjRkRVJwWkZScGJXVnZkWFFwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWR2x0WldRZ2IzVjBMaUJYY21Gd0lIUm9aU0JqYUdsc1pISmxiaUJwYmlCaElHWnlZV2R0Wlc1MElHWnBZbVZ5SUhSdklHdGxaWEFnZEdobGJWeHVJQ0FnSUNBZ0lDQXZMeUJ6WlhCaGNtRjBaU0JtY205dElIUm9aU0JtWVd4c1ltRmpheUJqYUdsc1pISmxiaTVjYmlBZ0lDQWdJQ0FnZG1GeUlGOXVaWGgwUm1Gc2JHSmhZMnREYUdsc1pISmxiak1nUFNCdVpYaDBVSEp2Y0hNdVptRnNiR0poWTJzN1hHNWNiaUFnSUNBZ0lDQWdkbUZ5SUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRETWdQU0JqY21WaGRHVkdhV0psY2taeWIyMUdjbUZuYldWdWRDZ2dMeThnU1hRZ2MyaHZkV3hrYmlkMElHMWhkSFJsY2lCM2FHRjBJSFJvWlNCd1pXNWthVzVuSUhCeWIzQnpJR0Z5WlNCaVpXTmhkWE5sSUhkbElHRnlaVzRuZEZ4dUlDQWdJQ0FnSUNBdkx5Qm5iMmx1WnlCMGJ5QnlaVzVrWlhJZ2RHaHBjeUJtY21GbmJXVnVkQzVjYmlBZ0lDQWdJQ0FnYm5Wc2JDd2diVzlrWlN3Z1RtOVhiM0pyTENCdWRXeHNLVHRjYmx4dUlDQWdJQ0FnSUNCZmNISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXpMbkpsZEhWeWJpQTlJSGR2Y210SmJsQnliMmR5WlhOek8xeHVJQ0FnSUNBZ0lDQmZjSEpwYldGeWVVTm9hV3hrUm5KaFoyMWxiblF6TG1Ob2FXeGtJRDBnWDJOMWNuSmxiblJRY21sdFlYSjVRMmhwYkdRN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0Y5amRYSnlaVzUwVUhKcGJXRnllVU5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWDJOMWNuSmxiblJRY21sdFlYSjVRMmhwYkdRdWNtVjBkWEp1SUQwZ1gzQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBNenRjYmlBZ0lDQWdJQ0FnZlNBdkx5QkZkbVZ1SUhSb2IzVm5hQ0IzWlNkeVpTQmpjbVZoZEdsdVp5QmhJRzVsZHlCbWFXSmxjaXdnZEdobGNtVWdZWEpsSUc1dklHNWxkeUJqYUdsc1pISmxiaXhjYmlBZ0lDQWdJQ0FnTHk4Z1ltVmpZWFZ6WlNCM1pTZHlaU0J5WlhWemFXNW5JR0Z1SUdGc2NtVmhaSGtnYlc5MWJuUmxaQ0IwY21WbExpQlRieUIzWlNCa2IyNG5kQ0J1WldWa0lIUnZYRzRnSUNBZ0lDQWdJQzh2SUhOamFHVmtkV3hsSUdFZ2NHeGhZMlZ0Wlc1MExseHVJQ0FnSUNBZ0lDQXZMeUJ3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZEM1bFptWmxZM1JVWVdjZ2ZEMGdVR3hoWTJWdFpXNTBPMXh1WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2gzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1FteHZZMnRwYm1kTmIyUmxLU0E5UFQwZ1RtOU5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVDNWMGMybGtaU0J2WmlCaWJHOWphMmx1WnlCdGIyUmxMQ0IzWlNCamIyMXRhWFFnZEdobElHVm1abVZqZEhNZ1puSnZiU0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJ3WVhKMGFXRnNiSGtnWTI5dGNHeGxkR1ZrTENCMGFXMWxaQzF2ZFhRZ2RISmxaU3dnZEc5dkxseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZmNISnZaM0psYzNObFpGTjBZWFJsTWlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYM0J5YjJkeVpYTnpaV1JRY21sdFlYSjVRMmhwYkdReUlEMGdYM0J5YjJkeVpYTnpaV1JUZEdGMFpUSWdJVDA5SUc1MWJHd2dQeUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkM1amFHbHNaQ0E2SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVYRzRnSUNBZ0lDQWdJQ0FnWDNCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1ME15NWphR2xzWkNBOUlGOXdjbTluY21WemMyVmtVSEpwYldGeWVVTm9hV3hrTWp0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWDNCeWIyZHlaWE56WldSRGFHbHNaRE1nUFNCZmNISnZaM0psYzNObFpGQnlhVzFoY25sRGFHbHNaREk3WEc1Y2JpQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb1gzQnliMmR5WlhOelpXUkRhR2xzWkRNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUY5d2NtOW5jbVZ6YzJWa1EyaHBiR1F6TG5KbGRIVnliaUE5SUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRETTdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmNISnZaM0psYzNObFpFTm9hV3hrTXlBOUlGOXdjbTluY21WemMyVmtRMmhwYkdRekxuTnBZbXhwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5SUM4dklFSmxZMkYxYzJVZ2NISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUWdhWE1nWVNCdVpYY2dabWxpWlhJZ2RHaGhkQ0IzWlNkeVpTQnBibk5sY25ScGJtY2dZWE1nZEdobFhHNGdJQ0FnSUNBZ0lDOHZJSEJoY21WdWRDQnZaaUJoSUc1bGR5QjBjbVZsTENCM1pTQnVaV1ZrSUhSdklITmxkQ0JwZEhNZ2RISmxaVUpoYzJWRWRYSmhkR2x2Ymk1Y2JseHVYRzRnSUNBZ0lDQWdJR2xtSUNnZ2QyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRkJ5YjJacGJHVk5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnZEhKbFpVSmhjMlZFZFhKaGRHbHZiaUJwY3lCMGFHVWdjM1Z0SUc5bUlHRnNiQ0IwYUdVZ1kyaHBiR1FnZEhKbFpTQmlZWE5sSUdSMWNtRjBhVzl1Y3k1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWDNSeVpXVkNZWE5sUkhWeVlYUnBiMjR5SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gyaHBaR1JsYmtOb2FXeGtNaUE5SUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRETXVZMmhwYkdRN1hHNWNiaUFnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9YMmhwWkdSbGJrTm9hV3hrTWlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWDNSeVpXVkNZWE5sUkhWeVlYUnBiMjR5SUNzOUlGOW9hV1JrWlc1RGFHbHNaREl1ZEhKbFpVSmhjMlZFZFhKaGRHbHZianRjYmlBZ0lDQWdJQ0FnSUNBZ0lGOW9hV1JrWlc1RGFHbHNaRElnUFNCZmFHbGtaR1Z1UTJocGJHUXlMbk5wWW14cGJtYzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdYM0J5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwTXk1MGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUQwZ1gzUnlaV1ZDWVhObFJIVnlZWFJwYjI0eU8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUVOeVpXRjBaU0JoSUdaeVlXZHRaVzUwSUdaeWIyMGdkR2hsSUdaaGJHeGlZV05ySUdOb2FXeGtjbVZ1TENCMGIyOHVYRzVjYmx4dUlDQWdJQ0FnSUNCMllYSWdYMlpoYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZERNZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxR2NtRm5iV1Z1ZENoZmJtVjRkRVpoYkd4aVlXTnJRMmhwYkdSeVpXNHpMQ0J0YjJSbExDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU3dnYm5Wc2JDazdYRzVjYmlBZ0lDQWdJQ0FnWDJaaGJHeGlZV05yUTJocGJHUkdjbUZuYldWdWRETXVjbVYwZFhKdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNGdJQ0FnSUNBZ0lGOXdjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkRE11YzJsaWJHbHVaeUE5SUY5bVlXeHNZbUZqYTBOb2FXeGtSbkpoWjIxbGJuUXpPMXh1SUNBZ0lDQWdJQ0JmWm1Gc2JHSmhZMnREYUdsc1pFWnlZV2R0Wlc1ME15NWxabVpsWTNSVVlXY2dmRDBnVUd4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNCZmNISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXpMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3SUM4dklGTnJhWEFnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0c0lHRnVaQ0JqYjI1MGFXNTFaU0IzYjNKcmFXNW5JRzl1SUhSb1pWeHVJQ0FnSUNBZ0lDQXZMeUJtWVd4c1ltRmpheUJqYUdsc1pISmxiaTVjYmx4dUlDQWdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbElEMGdVMVZUVUVWT1JFVkVYMDFCVWt0RlVqdGNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCZmNISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXpPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdYMlpoYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZERNN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QlRkR2xzYkNCb1lYWmxiaWQwSUhScGJXVmtJRzkxZEM0Z1EyOXVkR2x1ZFdVZ2NtVnVaR1Z5YVc1bklIUm9aU0JqYUdsc1pISmxiaXdnYkdsclpTQjNaVnh1SUNBZ0lDQWdJQ0F2THlCdWIzSnRZV3hzZVNCa2J5NWNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSFpoY2lCZmJtVjRkRkJ5YVcxaGNubERhR2xzWkhKbGJqSWdQU0J1WlhoMFVISnZjSE11WTJocGJHUnlaVzQ3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlISmxZMjl1WTJsc1pVTm9hV3hrUm1saVpYSnpLSGR2Y210SmJsQnliMmR5WlhOekxDQmZZM1Z5Y21WdWRGQnlhVzFoY25sRGFHbHNaQ3dnWDI1bGVIUlFjbWx0WVhKNVEyaHBiR1J5Wlc0eUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhOamFHVmtkV3hsVjI5eWEwOXVSbWxpWlhJb1ptbGlaWElzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUdsbUlDaG1hV0psY2k1bGVIQnBjbUYwYVc5dVZHbHRaU0E4SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ1ptbGlaWEl1Wlhod2FYSmhkR2x2YmxScGJXVWdQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJoYkhSbGNtNWhkR1VnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1U3WEc1Y2JpQWdhV1lnS0dGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmhiSFJsY201aGRHVXVaWGh3YVhKaGRHbHZibFJwYldVZ1BDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQWdJR0ZzZEdWeWJtRjBaUzVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQjlYRzVjYmlBZ2MyTm9aV1IxYkdWWGIzSnJUMjVRWVhKbGJuUlFZWFJvS0dacFltVnlMbkpsZEhWeWJpd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3Y205d1lXZGhkR1ZUZFhOd1pXNXpaVU52Ym5SbGVIUkRhR0Z1WjJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUdacGNuTjBRMmhwYkdRc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDOHZJRTFoY21zZ1lXNTVJRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSnBaWE1nZDJsMGFDQm1ZV3hzWW1GamEzTWdZWE1nYUdGMmFXNW5JSGR2Y21zZ2RHOGdaRzh1WEc0Z0lDOHZJRWxtSUhSb1pYa2dkMlZ5WlNCd2NtVjJhVzkxYzJ4NUlHWnZjbU5sWkNCcGJuUnZJR1poYkd4aVlXTnJjeXdnZEdobGVTQnRZWGtnYm05M0lHSmxJR0ZpYkdWY2JpQWdMeThnZEc4Z2RXNWliRzlqYXk1Y2JpQWdkbUZ5SUc1dlpHVWdQU0JtYVhKemRFTm9hV3hrTzF4dVhHNGdJSGRvYVd4bElDaHViMlJsSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnYVdZZ0tHNXZaR1V1ZEdGbklEMDlQU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQ0FnZG1GeUlITjBZWFJsSUQwZ2JtOWtaUzV0WlcxdmFYcGxaRk4wWVhSbE8xeHVYRzRnSUNBZ0lDQnBaaUFvYzNSaGRHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYzJOb1pXUjFiR1ZYYjNKclQyNUdhV0psY2lodWIyUmxMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMblJoWnlBOVBUMGdVM1Z6Y0dWdWMyVk1hWE4wUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnSUNBdkx5QkpaaUIwYUdVZ2RHRnBiQ0JwY3lCb2FXUmtaVzRnZEdobGNtVWdiV2xuYUhRZ2JtOTBJR0psSUdGdUlGTjFjM0JsYm5ObElHSnZkVzVrWVhKcFpYTmNiaUFnSUNBZ0lDOHZJSFJ2SUhOamFHVmtkV3hsSUhkdmNtc2diMjR1SUVsdUlIUm9hWE1nWTJGelpTQjNaU0JvWVhabElIUnZJSE5qYUdWa2RXeGxJR2wwSUc5dUlIUm9aVnh1SUNBZ0lDQWdMeThnYkdsemRDQnBkSE5sYkdZdVhHNGdJQ0FnSUNBdkx5QlhaU0JrYjI0bmRDQm9ZWFpsSUhSdklIUnlZWFpsY25ObElIUnZJSFJvWlNCamFHbHNaSEpsYmlCdlppQjBhR1VnYkdsemRDQnphVzVqWlZ4dUlDQWdJQ0FnTHk4Z2RHaGxJR3hwYzNRZ2QybHNiQ0J3Y205d1lXZGhkR1VnZEdobElHTm9ZVzVuWlNCM2FHVnVJR2wwSUhKbGNtVnVaR1Z5Y3k1Y2JpQWdJQ0FnSUhOamFHVmtkV3hsVjI5eWEwOXVSbWxpWlhJb2JtOWtaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtOWtaUzVqYUdsc1pDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdibTlrWlM1amFHbHNaQzV5WlhSMWNtNGdQU0J1YjJSbE8xeHVJQ0FnSUNBZ2JtOWtaU0E5SUc1dlpHVXVZMmhwYkdRN1hHNGdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JtOWtaU0E5UFQwZ2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjNhR2xzWlNBb2JtOWtaUzV6YVdKc2FXNW5JRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzV5WlhSMWNtNGdQVDA5SUc1MWJHd2dmSHdnYm05a1pTNXlaWFIxY200Z1BUMDlJSGR2Y210SmJsQnliMmR5WlhOektTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHNXZaR1V1YzJsaWJHbHVaeTV5WlhSMWNtNGdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0J1YjJSbElEMGdibTlrWlM1emFXSnNhVzVuTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnBibVJNWVhOMFEyOXVkR1Z1ZEZKdmR5aG1hWEp6ZEVOb2FXeGtLU0I3WEc0Z0lDOHZJRlJvYVhNZ2FYTWdaMjlwYm1jZ2RHOGdabWx1WkNCMGFHVWdiR0Z6ZENCeWIzY2dZVzF2Ym1jZ2RHaGxjMlVnWTJocGJHUnlaVzRnZEdoaGRDQnBjeUJoYkhKbFlXUjVYRzRnSUM4dklITm9iM2RwYm1jZ1kyOXVkR1Z1ZENCdmJpQjBhR1VnYzJOeVpXVnVMQ0JoY3lCdmNIQnZjMlZrSUhSdklHSmxhVzVuSUdsdUlHWmhiR3hpWVdOcklITjBZWFJsSUc5eVhHNGdJQzh2SUc1bGR5NGdTV1lnWVNCeWIzY2dhR0Z6SUcxMWJIUnBjR3hsSUZOMWMzQmxibk5sSUdKdmRXNWtZWEpwWlhNc0lHRnVlU0J2WmlCMGFHVnRJR0psYVc1bklHbHVJSFJvWlZ4dUlDQXZMeUJtWVd4c1ltRmpheUJ6ZEdGMFpTd2dZMjkxYm5SeklHRnpJSFJvWlNCM2FHOXNaU0J5YjNjZ1ltVnBibWNnYVc0Z1lTQm1ZV3hzWW1GamF5QnpkR0YwWlM1Y2JpQWdMeThnVG05MFpTQjBhR0YwSUhSb1pTQmNJbkp2ZDNOY0lpQjNhV3hzSUdKbElIZHZjbXRKYmxCeWIyZHlaWE56TENCaWRYUWdZVzU1SUc1bGMzUmxaQ0JqYUdsc1pISmxibHh1SUNBdkx5QjNhV3hzSUhOMGFXeHNJR0psSUdOMWNuSmxiblFnYzJsdVkyVWdkMlVnYUdGMlpXNG5kQ0J5Wlc1a1pYSmxaQ0IwYUdWdElIbGxkQzRnVkdobElHMXZkVzUwWldSY2JpQWdMeThnYjNKa1pYSWdiV0Y1SUc1dmRDQmlaU0IwYUdVZ2MyRnRaU0JoY3lCMGFHVWdibVYzSUc5eVpHVnlMaUJYWlNCMWMyVWdkR2hsSUc1bGR5QnZjbVJsY2k1Y2JpQWdkbUZ5SUhKdmR5QTlJR1pwY25OMFEyaHBiR1E3WEc0Z0lIWmhjaUJzWVhOMFEyOXVkR1Z1ZEZKdmR5QTlJRzUxYkd3N1hHNWNiaUFnZDJocGJHVWdLSEp2ZHlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MFVtOTNJRDBnY205M0xtRnNkR1Z5Ym1GMFpUc2dMeThnVG1WM0lISnZkM01nWTJGdUozUWdZbVVnWTI5dWRHVnVkQ0J5YjNkekxseHVYRzRnSUNBZ2FXWWdLR04xY25KbGJuUlNiM2NnSVQwOUlHNTFiR3dnSmlZZ1ptbHVaRVpwY25OMFUzVnpjR1Z1WkdWa0tHTjFjbkpsYm5SU2IzY3BJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JzWVhOMFEyOXVkR1Z1ZEZKdmR5QTlJSEp2ZHp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5YjNjZ1BTQnliM2N1YzJsaWJHbHVaenRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJzWVhOMFEyOXVkR1Z1ZEZKdmR6dGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWU1pYWmxZV3hQY21SbGNpaHlaWFpsWVd4UGNtUmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSEpsZG1WaGJFOXlaR1Z5SUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnY21WMlpXRnNUM0prWlhJZ0lUMDlJQ2RtYjNKM1lYSmtjeWNnSmlZZ2NtVjJaV0ZzVDNKa1pYSWdJVDA5SUNkaVlXTnJkMkZ5WkhNbklDWW1JSEpsZG1WaGJFOXlaR1Z5SUNFOVBTQW5kRzluWlhSb1pYSW5JQ1ltSUNGa2FXUlhZWEp1UVdKdmRYUlNaWFpsWVd4UGNtUmxjbHR5WlhabFlXeFBjbVJsY2wwcElIdGNiaUFnSUNBZ0lHUnBaRmRoY201QlltOTFkRkpsZG1WaGJFOXlaR1Z5VzNKbGRtVmhiRTl5WkdWeVhTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjbVYyWldGc1QzSmtaWElnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9jbVYyWldGc1QzSmtaWEl1ZEc5TWIzZGxja05oYzJVb0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM1J2WjJWMGFHVnlKenBjYmlBZ0lDQWdJQ0FnSUNCallYTmxJQ2RtYjNKM1lYSmtjeWM2WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWW1GamEzZGhjbVJ6SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0oxd2lKWE5jSWlCcGN5QnViM1FnWVNCMllXeHBaQ0IyWVd4MVpTQm1iM0lnY21WMlpXRnNUM0prWlhJZ2IyNGdQRk4xYzNCbGJuTmxUR2x6ZENBdlBpNGdKeUFySUNkVmMyVWdiRzkzWlhKallYTmxJRndpSlhOY0lpQnBibk4wWldGa0xpY3NJSEpsZG1WaGJFOXlaR1Z5TENCeVpYWmxZV3hQY21SbGNpNTBiMHh2ZDJWeVEyRnpaU2dwS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlp2Y25kaGNtUW5PbHh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMkpoWTJ0M1lYSmtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjF3aUpYTmNJaUJwY3lCdWIzUWdZU0IyWVd4cFpDQjJZV3gxWlNCbWIzSWdjbVYyWldGc1QzSmtaWElnYjI0Z1BGTjFjM0JsYm5ObFRHbHpkQ0F2UGk0Z0p5QXJJQ2RTWldGamRDQjFjMlZ6SUhSb1pTQXRjeUJ6ZFdabWFYZ2dhVzRnZEdobElITndaV3hzYVc1bkxpQlZjMlVnWENJbGMzTmNJaUJwYm5OMFpXRmtMaWNzSUhKbGRtVmhiRTl5WkdWeUxDQnlaWFpsWVd4UGNtUmxjaTUwYjB4dmQyVnlRMkZ6WlNncEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JsY25KdmNpZ25YQ0lsYzF3aUlHbHpJRzV2ZENCaElITjFjSEJ2Y25SbFpDQnlaWFpsWVd4UGNtUmxjaUJ2YmlBOFUzVnpjR1Z1YzJWTWFYTjBJQzgrTGlBbklDc2dKMFJwWkNCNWIzVWdiV1ZoYmlCY0luUnZaMlYwYUdWeVhDSXNJRndpWm05eWQyRnlaSE5jSWlCdmNpQmNJbUpoWTJ0M1lYSmtjMXdpUHljc0lISmxkbVZoYkU5eVpHVnlLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5QnBjeUJ1YjNRZ1lTQnpkWEJ3YjNKMFpXUWdkbUZzZFdVZ1ptOXlJSEpsZG1WaGJFOXlaR1Z5SUc5dUlEeFRkWE53Wlc1elpVeHBjM1FnTHo0dUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlGd2lkRzluWlhSb1pYSmNJaXdnWENKbWIzSjNZWEprYzF3aUlHOXlJRndpWW1GamEzZGhjbVJ6WENJL0p5d2djbVYyWldGc1QzSmtaWElwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlZSaGFXeFBjSFJwYjI1ektIUmhhV3hOYjJSbExDQnlaWFpsWVd4UGNtUmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSFJoYVd4TmIyUmxJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdJV1JwWkZkaGNtNUJZbTkxZEZSaGFXeFBjSFJwYjI1elczUmhhV3hOYjJSbFhTa2dlMXh1SUNBZ0lDQWdhV1lnS0hSaGFXeE5iMlJsSUNFOVBTQW5ZMjlzYkdGd2MyVmtKeUFtSmlCMFlXbHNUVzlrWlNBaFBUMGdKMmhwWkdSbGJpY3BJSHRjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFZHRnBiRTl3ZEdsdmJuTmJkR0ZwYkUxdlpHVmRJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25YQ0lsYzF3aUlHbHpJRzV2ZENCaElITjFjSEJ2Y25SbFpDQjJZV3gxWlNCbWIzSWdkR0ZwYkNCdmJpQThVM1Z6Y0dWdWMyVk1hWE4wSUM4K0xpQW5JQ3NnSjBScFpDQjViM1VnYldWaGJpQmNJbU52Ykd4aGNITmxaRndpSUc5eUlGd2lhR2xrWkdWdVhDSS9KeXdnZEdGcGJFMXZaR1VwTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoeVpYWmxZV3hQY21SbGNpQWhQVDBnSjJadmNuZGhjbVJ6SnlBbUppQnlaWFpsWVd4UGNtUmxjaUFoUFQwZ0oySmhZMnQzWVhKa2N5Y3BJSHRjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFZHRnBiRTl3ZEdsdmJuTmJkR0ZwYkUxdlpHVmRJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25QRk4xYzNCbGJuTmxUR2x6ZENCMFlXbHNQVndpSlhOY0lpQXZQaUJwY3lCdmJteDVJSFpoYkdsa0lHbG1JSEpsZG1WaGJFOXlaR1Z5SUdseklDY2dLeUFuWENKbWIzSjNZWEprYzF3aUlHOXlJRndpWW1GamEzZGhjbVJ6WENJdUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlIUnZJSE53WldOcFpua2djbVYyWldGc1QzSmtaWEk5WENKbWIzSjNZWEprYzF3aVB5Y3NJSFJoYVd4TmIyUmxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnZG1Gc2FXUmhkR1ZUZFhOd1pXNXpaVXhwYzNST1pYTjBaV1JEYUdsc1pDaGphR2xzWkZOc2IzUXNJR2x1WkdWNEtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2FYTkJjbkpoZVNBOUlFRnljbUY1TG1selFYSnlZWGtvWTJocGJHUlRiRzkwS1R0Y2JpQWdJQ0IyWVhJZ2FYTkpkR1Z5WVdKc1pTQTlJQ0ZwYzBGeWNtRjVJQ1ltSUhSNWNHVnZaaUJuWlhSSmRHVnlZWFJ2Y2tadUtHTm9hV3hrVTJ4dmRDa2dQVDA5SUNkbWRXNWpkR2x2YmljN1hHNWNiaUFnSUNCcFppQW9hWE5CY25KaGVTQjhmQ0JwYzBsMFpYSmhZbXhsS1NCN1hHNGdJQ0FnSUNCMllYSWdkSGx3WlNBOUlHbHpRWEp5WVhrZ1B5QW5ZWEp5WVhrbklEb2dKMmwwWlhKaFlteGxKenRjYmx4dUlDQWdJQ0FnWlhKeWIzSW9KMEVnYm1WemRHVmtJQ1Z6SUhkaGN5QndZWE56WldRZ2RHOGdjbTkzSUNNbGN5QnBiaUE4VTNWemNHVnVjMlZNYVhOMElDOCtMaUJYY21Gd0lHbDBJR2x1SUNjZ0t5QW5ZVzRnWVdSa2FYUnBiMjVoYkNCVGRYTndaVzV6WlV4cGMzUWdkRzhnWTI5dVptbG5kWEpsSUdsMGN5QnlaWFpsWVd4UGNtUmxjam9nSnlBcklDYzhVM1Z6Y0dWdWMyVk1hWE4wSUhKbGRtVmhiRTl5WkdWeVBTNHVMajRnTGk0dUlDY2dLeUFuUEZOMWMzQmxibk5sVEdsemRDQnlaWFpsWVd4UGNtUmxjajB1TGk0K2V5VnpmVHd2VTNWemNHVnVjMlZNYVhOMFBpQXVMaTRnSnlBcklDYzhMMU4xYzNCbGJuTmxUR2x6ZEQ0bkxDQjBlWEJsTENCcGJtUmxlQ3dnZEhsd1pTazdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZEhKMVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGRYTndaVzV6WlV4cGMzUkRhR2xzWkhKbGJpaGphR2xzWkhKbGJpd2djbVYyWldGc1QzSmtaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2dvY21WMlpXRnNUM0prWlhJZ1BUMDlJQ2RtYjNKM1lYSmtjeWNnZkh3Z2NtVjJaV0ZzVDNKa1pYSWdQVDA5SUNkaVlXTnJkMkZ5WkhNbktTQW1KaUJqYUdsc1pISmxiaUFoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR05vYVd4a2NtVnVJQ0U5UFNCdWRXeHNJQ1ltSUdOb2FXeGtjbVZ1SUNFOVBTQm1ZV3h6WlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1kyaHBiR1J5Wlc0cEtTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWTJocGJHUnlaVzR1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lYWmhiR2xrWVhSbFUzVnpjR1Z1YzJWTWFYTjBUbVZ6ZEdWa1EyaHBiR1FvWTJocGJHUnlaVzViYVYwc0lHa3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FYUmxjbUYwYjNKR2JpQTlJR2RsZEVsMFpYSmhkRzl5Um00b1kyaHBiR1J5Wlc0cE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVhSbGNtRjBiM0pHYmlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJqYUdsc1pISmxia2wwWlhKaGRHOXlJRDBnYVhSbGNtRjBiM0pHYmk1allXeHNLR05vYVd4a2NtVnVLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hqYUdsc1pISmxia2wwWlhKaGRHOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYzNSbGNDQTlJR05vYVd4a2NtVnVTWFJsY21GMGIzSXVibVY0ZENncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlGOXBJRDBnTUR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDZzdJQ0Z6ZEdWd0xtUnZibVU3SUhOMFpYQWdQU0JqYUdsc1pISmxia2wwWlhKaGRHOXlMbTVsZUhRb0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhaaGJHbGtZWFJsVTNWemNHVnVjMlZNYVhOMFRtVnpkR1ZrUTJocGJHUW9jM1JsY0M1MllXeDFaU3dnWDJrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1gya3JLenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjBFZ2MybHVaMnhsSUhKdmR5QjNZWE1nY0dGemMyVmtJSFJ2SUdFZ1BGTjFjM0JsYm5ObFRHbHpkQ0J5WlhabFlXeFBjbVJsY2oxY0lpVnpYQ0lnTHo0dUlDY2dLeUFuVkdocGN5QnBjeUJ1YjNRZ2RYTmxablZzSUhOcGJtTmxJR2wwSUc1bFpXUnpJRzExYkhScGNHeGxJSEp2ZDNNdUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlIUnZJSEJoYzNNZ2JYVnNkR2x3YkdVZ1kyaHBiR1J5Wlc0Z2IzSWdZVzRnWVhKeVlYay9KeXdnY21WMlpXRnNUM0prWlhJcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x1YVhSVGRYTndaVzV6WlV4cGMzUlNaVzVrWlhKVGRHRjBaU2gzYjNKclNXNVFjbTluY21WemN5d2dhWE5DWVdOcmQyRnlaSE1zSUhSaGFXd3NJR3hoYzNSRGIyNTBaVzUwVW05M0xDQjBZV2xzVFc5a1pTd2diR0Z6ZEVWbVptVmpkRUpsWm05eVpWSmxibVJsY21sdVp5a2dlMXh1SUNCMllYSWdjbVZ1WkdWeVUzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVYRzRnSUdsbUlDaHlaVzVrWlhKVGRHRjBaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCN1hHNGdJQ0FnSUNCcGMwSmhZMnQzWVhKa2N6b2dhWE5DWVdOcmQyRnlaSE1zWEc0Z0lDQWdJQ0J5Wlc1a1pYSnBibWM2SUc1MWJHd3NYRzRnSUNBZ0lDQnlaVzVrWlhKcGJtZFRkR0Z5ZEZScGJXVTZJREFzWEc0Z0lDQWdJQ0JzWVhOME9pQnNZWE4wUTI5dWRHVnVkRkp2ZHl4Y2JpQWdJQ0FnSUhSaGFXdzZJSFJoYVd3c1hHNGdJQ0FnSUNCMFlXbHNSWGh3YVhKaGRHbHZiam9nTUN4Y2JpQWdJQ0FnSUhSaGFXeE5iMlJsT2lCMFlXbHNUVzlrWlN4Y2JpQWdJQ0FnSUd4aGMzUkZabVpsWTNRNklHeGhjM1JGWm1abFkzUkNaV1p2Y21WU1pXNWtaWEpwYm1kY2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGZGxJR05oYmlCeVpYVnpaU0IwYUdVZ1pYaHBjM1JwYm1jZ2IySnFaV04wSUdaeWIyMGdjSEpsZG1sdmRYTWdjbVZ1WkdWeWN5NWNiaUFnSUNCeVpXNWtaWEpUZEdGMFpTNXBjMEpoWTJ0M1lYSmtjeUE5SUdselFtRmphM2RoY21Sek8xeHVJQ0FnSUhKbGJtUmxjbE4wWVhSbExuSmxibVJsY21sdVp5QTlJRzUxYkd3N1hHNGdJQ0FnY21WdVpHVnlVM1JoZEdVdWNtVnVaR1Z5YVc1blUzUmhjblJVYVcxbElEMGdNRHRjYmlBZ0lDQnlaVzVrWlhKVGRHRjBaUzVzWVhOMElEMGdiR0Z6ZEVOdmJuUmxiblJTYjNjN1hHNGdJQ0FnY21WdVpHVnlVM1JoZEdVdWRHRnBiQ0E5SUhSaGFXdzdYRzRnSUNBZ2NtVnVaR1Z5VTNSaGRHVXVkR0ZwYkVWNGNHbHlZWFJwYjI0Z1BTQXdPMXh1SUNBZ0lISmxibVJsY2xOMFlYUmxMblJoYVd4TmIyUmxJRDBnZEdGcGJFMXZaR1U3WEc0Z0lDQWdjbVZ1WkdWeVUzUmhkR1V1YkdGemRFVm1abVZqZENBOUlHeGhjM1JGWm1abFkzUkNaV1p2Y21WU1pXNWtaWEpwYm1jN1hHNGdJSDFjYm4wZ0x5OGdWR2hwY3lCallXNGdaVzVrSUhWd0lISmxibVJsY21sdVp5QjBhR2x6SUdOdmJYQnZibVZ1ZENCdGRXeDBhWEJzWlNCd1lYTnpaWE11WEc0dkx5QlVhR1VnWm1seWMzUWdjR0Z6Y3lCemNHeHBkSE1nZEdobElHTm9hV3hrY21WdUlHWnBZbVZ5Y3lCcGJuUnZJSFIzYnlCelpYUnpMaUJCSUdobFlXUWdZVzVrSUhSaGFXd3VYRzR2THlCWFpTQm1hWEp6ZENCeVpXNWtaWElnZEdobElHaGxZV1F1SUVsbUlHRnVlWFJvYVc1bklHbHpJR2x1SUdaaGJHeGlZV05ySUhOMFlYUmxMQ0IzWlNCa2J5QmhibTkwYUdWeVhHNHZMeUJ3WVhOeklIUm9jbTkxWjJnZ1ltVm5hVzVYYjNKcklIUnZJSEpsY21WdVpHVnlJR0ZzYkNCamFHbHNaSEpsYmlBb2FXNWpiSFZrYVc1bklIUm9aU0IwWVdsc0tTQjNhWFJvWEc0dkx5QjBhR1VnWm05eVkyVWdjM1Z6Y0dWdVpDQmpiMjUwWlhoMExpQkpaaUIwYUdVZ1ptbHljM1FnY21WdVpHVnlJR1JwWkc0bmRDQm9ZWFpsSUdGdWVYUm9hVzVuSUdsdVhHNHZMeUJwYmlCbVlXeHNZbUZqYXlCemRHRjBaUzRnVkdobGJpQjNaU0J5Wlc1a1pYSWdaV0ZqYUNCeWIzY2dhVzRnZEdobElIUmhhV3dnYjI1bExXSjVMVzl1WlM1Y2JpOHZJRlJvWVhRZ2FHRndjR1Z1Y3lCcGJpQjBhR1VnWTI5dGNHeGxkR1ZYYjNKcklIQm9ZWE5sSUhkcGRHaHZkWFFnWjI5cGJtY2dZbUZqYXlCMGJ5QmlaV2RwYmxkdmNtc3VYRzVjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVTNWemNHVnVjMlZNYVhOMFEyOXRjRzl1Wlc1MEtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCMllYSWdibVY0ZEZCeWIzQnpJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjR1Z1WkdsdVoxQnliM0J6TzF4dUlDQjJZWElnY21WMlpXRnNUM0prWlhJZ1BTQnVaWGgwVUhKdmNITXVjbVYyWldGc1QzSmtaWEk3WEc0Z0lIWmhjaUIwWVdsc1RXOWtaU0E5SUc1bGVIUlFjbTl3Y3k1MFlXbHNPMXh1SUNCMllYSWdibVYzUTJocGJHUnlaVzRnUFNCdVpYaDBVSEp2Y0hNdVkyaHBiR1J5Wlc0N1hHNGdJSFpoYkdsa1lYUmxVbVYyWldGc1QzSmtaWElvY21WMlpXRnNUM0prWlhJcE8xeHVJQ0IyWVd4cFpHRjBaVlJoYVd4UGNIUnBiMjV6S0hSaGFXeE5iMlJsTENCeVpYWmxZV3hQY21SbGNpazdYRzRnSUhaaGJHbGtZWFJsVTNWemNHVnVjMlZNYVhOMFEyaHBiR1J5Wlc0b2JtVjNRMmhwYkdSeVpXNHNJSEpsZG1WaGJFOXlaR1Z5S1R0Y2JpQWdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNG9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxkME5vYVd4a2NtVnVMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJSFpoY2lCemRYTndaVzV6WlVOdmJuUmxlSFFnUFNCemRYTndaVzV6WlZOMFlXTnJRM1Z5YzI5eUxtTjFjbkpsYm5RN1hHNGdJSFpoY2lCemFHOTFiR1JHYjNKalpVWmhiR3hpWVdOcklEMGdhR0Z6VTNWemNHVnVjMlZEYjI1MFpYaDBLSE4xYzNCbGJuTmxRMjl1ZEdWNGRDd2dSbTl5WTJWVGRYTndaVzV6WlVaaGJHeGlZV05yS1R0Y2JseHVJQ0JwWmlBb2MyaHZkV3hrUm05eVkyVkdZV3hzWW1GamF5a2dlMXh1SUNBZ0lITjFjM0JsYm5ObFEyOXVkR1Y0ZENBOUlITmxkRk5vWVd4c2IzZFRkWE53Wlc1elpVTnZiblJsZUhRb2MzVnpjR1Z1YzJWRGIyNTBaWGgwTENCR2IzSmpaVk4xYzNCbGJuTmxSbUZzYkdKaFkyc3BPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQkVhV1JEWVhCMGRYSmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCa2FXUlRkWE53Wlc1a1FtVm1iM0psSUQwZ1kzVnljbVZ1ZENBaFBUMGdiblZzYkNBbUppQW9ZM1Z5Y21WdWRDNWxabVpsWTNSVVlXY2dKaUJFYVdSRFlYQjBkWEpsS1NBaFBUMGdUbTlGWm1abFkzUTdYRzVjYmlBZ0lDQnBaaUFvWkdsa1UzVnpjR1Z1WkVKbFptOXlaU2tnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdkMlVnY0hKbGRtbHZkWE5zZVNCbWIzSmpaV1FnWVNCbVlXeHNZbUZqYXl3Z2QyVWdibVZsWkNCMGJ5QnpZMmhsWkhWc1pTQjNiM0pyWEc0Z0lDQWdJQ0F2THlCdmJpQmhibmtnYm1WemRHVmtJR0p2ZFc1a1lYSnBaWE1nZEc4Z2JHVjBJSFJvWlcwZ2EyNXZkeUIwYnlCMGNua2dkRzhnY21WdVpHVnlYRzRnSUNBZ0lDQXZMeUJoWjJGcGJpNGdWR2hwY3lCcGN5QjBhR1VnYzJGdFpTQmhjeUJqYjI1MFpYaDBJSFZ3WkdGMGFXNW5MbHh1SUNBZ0lDQWdjSEp2Y0dGbllYUmxVM1Z6Y0dWdWMyVkRiMjUwWlhoMFEyaGhibWRsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjFjM0JsYm5ObFEyOXVkR1Y0ZENBOUlITmxkRVJsWm1GMWJIUlRhR0ZzYkc5M1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hOMWMzQmxibk5sUTI5dWRHVjRkQ2s3WEc0Z0lIMWNibHh1SUNCd2RYTm9VM1Z6Y0dWdWMyVkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCemRYTndaVzV6WlVOdmJuUmxlSFFwTzF4dVhHNGdJR2xtSUNnb2QyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRUpzYjJOcmFXNW5UVzlrWlNrZ1BUMDlJRTV2VFc5a1pTa2dlMXh1SUNBZ0lDOHZJRTkxZEhOcFpHVWdiMllnWW14dlkydHBibWNnYlc5a1pTd2dVM1Z6Y0dWdWMyVk1hWE4wSUdSdlpYTnVKM1FnZDI5eWF5QnpieUIzWlNCcWRYTjBYRzRnSUNBZ0x5OGdkWE5sSUcxaGEyVWdhWFFnWVNCdWIyOXdJR0o1SUhSeVpXRjBhVzVuSUdsMElHRnpJSFJvWlNCa1pXWmhkV3gwSUhKbGRtVmhiRTl5WkdWeUxseHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVkV3hzTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvY21WMlpXRnNUM0prWlhJcElIdGNiaUFnSUNBZ0lHTmhjMlVnSjJadmNuZGhjbVJ6SnpwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCc1lYTjBRMjl1ZEdWdWRGSnZkeUE5SUdacGJtUk1ZWE4wUTI5dWRHVnVkRkp2ZHloM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pDazdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlIUmhhV3c3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYkdGemRFTnZiblJsYm5SU2IzY2dQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvWlNCM2FHOXNaU0JzYVhOMElHbHpJSEJoY25RZ2IyWWdkR2hsSUhSaGFXd3VYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVUMFJQT2lCWFpTQmpiM1ZzWkNCbVlYTjBJSEJoZEdnZ1lua2dhblZ6ZENCeVpXNWtaWEpwYm1jZ2RHaGxJSFJoYVd3Z2JtOTNMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRnBiQ0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCRWFYTmpiMjV1WldOMElIUm9aU0IwWVdsc0lISnZkM01nWVdaMFpYSWdkR2hsSUdOdmJuUmxiblFnY205M0xseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyVW5jbVVnWjI5cGJtY2dkRzhnY21WdVpHVnlJSFJvWlcwZ2MyVndZWEpoZEdWc2VTQnNZWFJsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJoYVd3Z1BTQnNZWE4wUTI5dWRHVnVkRkp2ZHk1emFXSnNhVzVuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiR0Z6ZEVOdmJuUmxiblJTYjNjdWMybGliR2x1WnlBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnYVc1cGRGTjFjM0JsYm5ObFRHbHpkRkpsYm1SbGNsTjBZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JtWVd4elpTd2dMeThnYVhOQ1lXTnJkMkZ5WkhOY2JpQWdJQ0FnSUNBZ0lDQjBZV2xzTENCc1lYTjBRMjl1ZEdWdWRGSnZkeXdnZEdGcGJFMXZaR1VzSUhkdmNtdEpibEJ5YjJkeVpYTnpMbXhoYzNSRlptWmxZM1FwTzF4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTmhjMlVnSjJKaFkydDNZWEprY3ljNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCWFpTZHlaU0JuYjJsdVp5QjBieUJtYVc1a0lIUm9aU0JtYVhKemRDQnliM2NnZEdoaGRDQm9ZWE1nWlhocGMzUnBibWNnWTI5dWRHVnVkQzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QkJkQ0IwYUdVZ2MyRnRaU0IwYVcxbElIZGxKM0psSUdkdmFXNW5JSFJ2SUhKbGRtVnljMlVnZEdobElHeHBjM1FnYjJZZ1pYWmxjbmwwYUdsdVoxeHVJQ0FnSUNBZ0lDQWdJQzh2SUhkbElIQmhjM01nYVc0Z2RHaGxJRzFsWVc1MGFXMWxMaUJVYUdGMEozTWdaMjlwYm1jZ2RHOGdZbVVnYjNWeUlIUmhhV3dnYVc0Z2NtVjJaWEp6WlZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRzl5WkdWeUxseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZmRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISnZkeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2JuVnNiRHRjYmx4dUlDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNoeWIzY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJqZFhKeVpXNTBVbTkzSUQwZ2NtOTNMbUZzZEdWeWJtRjBaVHNnTHk4Z1RtVjNJSEp2ZDNNZ1kyRnVKM1FnWW1VZ1kyOXVkR1Z1ZENCeWIzZHpMbHh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRkp2ZHlBaFBUMGdiblZzYkNBbUppQm1hVzVrUm1seWMzUlRkWE53Wlc1a1pXUW9ZM1Z5Y21WdWRGSnZkeWtnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdZbVZuYVc1dWFXNW5JRzltSUhSb1pTQnRZV2x1SUdOdmJuUmxiblF1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2NtOTNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc1bGVIUlNiM2NnUFNCeWIzY3VjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKdmR5NXphV0pzYVc1bklEMGdYM1JoYVd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JmZEdGcGJDQTlJSEp2ZHp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEp2ZHlBOUlHNWxlSFJTYjNjN1hHNGdJQ0FnSUNBZ0lDQWdmU0F2THlCVVQwUlBPaUJKWmlCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pDQnBjeUJ1ZFd4c0xDQjNaU0JqWVc0Z1kyOXVkR2x1ZFdVZ2IyNGdkR2hsSUhSaGFXd2dhVzF0WldScFlYUmxiSGt1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJR2x1YVhSVGRYTndaVzV6WlV4cGMzUlNaVzVrWlhKVGRHRjBaU2gzYjNKclNXNVFjbTluY21WemN5d2dkSEoxWlN3Z0x5OGdhWE5DWVdOcmQyRnlaSE5jYmlBZ0lDQWdJQ0FnSUNCZmRHRnBiQ3dnYm5Wc2JDd2dMeThnYkdGemRGeHVJQ0FnSUNBZ0lDQWdJSFJoYVd4TmIyUmxMQ0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBLVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCallYTmxJQ2QwYjJkbGRHaGxjaWM2WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBibWwwVTNWemNHVnVjMlZNYVhOMFVtVnVaR1Z5VTNSaGRHVW9kMjl5YTBsdVVISnZaM0psYzNNc0lHWmhiSE5sTENBdkx5QnBjMEpoWTJ0M1lYSmtjMXh1SUNBZ0lDQWdJQ0FnSUc1MWJHd3NJQzh2SUhSaGFXeGNiaUFnSUNBZ0lDQWdJQ0J1ZFd4c0xDQXZMeUJzWVhOMFhHNGdJQ0FnSUNBZ0lDQWdkVzVrWldacGJtVmtMQ0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBLVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVkdobElHUmxabUYxYkhRZ2NtVjJaV0ZzSUc5eVpHVnlJR2x6SUhSb1pTQnpZVzFsSUdGeklHNXZkQ0JvWVhacGJtZGNiaUFnSUNBZ0lDQWdJQ0F2THlCaElHSnZkVzVrWVhKNUxseHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVlFiM0owWVd4RGIyMXdiMjVsYm5Rb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhCMWMyaEliM04wUTI5dWRHRnBibVZ5S0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0IzYjNKclNXNVFjbTluY21WemN5NXpkR0YwWlU1dlpHVXVZMjl1ZEdGcGJtVnlTVzVtYnlrN1hHNGdJSFpoY2lCdVpYaDBRMmhwYkdSeVpXNGdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCUWIzSjBZV3h6SUdGeVpTQnpjR1ZqYVdGc0lHSmxZMkYxYzJVZ2QyVWdaRzl1SjNRZ1lYQndaVzVrSUhSb1pTQmphR2xzWkhKbGJpQmtkWEpwYm1jZ2JXOTFiblJjYmlBZ0lDQXZMeUJpZFhRZ1lYUWdZMjl0YldsMExpQlVhR1Z5WldadmNtVWdkMlVnYm1WbFpDQjBieUIwY21GamF5QnBibk5sY25ScGIyNXpJSGRvYVdOb0lIUm9aU0J1YjNKdFlXeGNiaUFnSUNBdkx5Qm1iRzkzSUdSdlpYTnVKM1FnWkc4Z1pIVnlhVzVuSUcxdmRXNTBMaUJVYUdseklHUnZaWE51SjNRZ2FHRndjR1Z1SUdGMElIUm9aU0J5YjI5MElHSmxZMkYxYzJWY2JpQWdJQ0F2THlCMGFHVWdjbTl2ZENCaGJIZGhlWE1nYzNSaGNuUnpJSGRwZEdnZ1lTQmNJbU4xY25KbGJuUmNJaUIzYVhSb0lHRWdiblZzYkNCamFHbHNaQzVjYmlBZ0lDQXZMeUJVVDBSUE9pQkRiMjV6YVdSbGNpQjFibWxtZVdsdVp5QjBhR2x6SUhkcGRHZ2dhRzkzSUhSb1pTQnliMjkwSUhkdmNtdHpMbHh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtJRDBnY21WamIyNWphV3hsUTJocGJHUkdhV0psY25Nb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1MWJHd3NJRzVsZUhSRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsWTI5dVkybHNaVU5vYVd4a2NtVnVLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnVaWGgwUTJocGJHUnlaVzRzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaRHRjYm4xY2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFEyOXVkR1Y0ZEZCeWIzWnBaR1Z5S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0IyWVhJZ2NISnZkbWxrWlhKVWVYQmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlR0Y2JpQWdkbUZ5SUdOdmJuUmxlSFFnUFNCd2NtOTJhV1JsY2xSNWNHVXVYMk52Ym5SbGVIUTdYRzRnSUhaaGNpQnVaWGRRY205d2N5QTlJSGR2Y210SmJsQnliMmR5WlhOekxuQmxibVJwYm1kUWNtOXdjenRjYmlBZ2RtRnlJRzlzWkZCeWIzQnpJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlFjbTl3Y3p0Y2JpQWdkbUZ5SUc1bGQxWmhiSFZsSUQwZ2JtVjNVSEp2Y0hNdWRtRnNkV1U3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJ3Y205MmFXUmxjbEJ5YjNCVWVYQmxjeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVdWNISnZjRlI1Y0dWek8xeHVYRzRnSUNBZ2FXWWdLSEJ5YjNacFpHVnlVSEp2Y0ZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0JqYUdWamExQnliM0JVZVhCbGN5aHdjbTkyYVdSbGNsQnliM0JVZVhCbGN5d2dibVYzVUhKdmNITXNJQ2R3Y205d0p5d2dKME52Ym5SbGVIUXVVSEp2ZG1sa1pYSW5MQ0JuWlhSRGRYSnlaVzUwUm1saVpYSlRkR0ZqYTBsdVJHVjJLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3ZFhOb1VISnZkbWxrWlhJb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1bGQxWmhiSFZsS1R0Y2JseHVJQ0JwWmlBb2IyeGtVSEp2Y0hNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCMllYSWdiMnhrVm1Gc2RXVWdQU0J2YkdSUWNtOXdjeTUyWVd4MVpUdGNiaUFnSUNCMllYSWdZMmhoYm1kbFpFSnBkSE1nUFNCallXeGpkV3hoZEdWRGFHRnVaMlZrUW1sMGN5aGpiMjUwWlhoMExDQnVaWGRXWVd4MVpTd2diMnhrVm1Gc2RXVXBPMXh1WEc0Z0lDQWdhV1lnS0dOb1lXNW5aV1JDYVhSeklEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBdkx5Qk9ieUJqYUdGdVoyVXVJRUpoYVd4dmRYUWdaV0Z5YkhrZ2FXWWdZMmhwYkdSeVpXNGdZWEpsSUhSb1pTQnpZVzFsTGx4dUlDQWdJQ0FnYVdZZ0tHOXNaRkJ5YjNCekxtTm9hV3hrY21WdUlEMDlQU0J1WlhkUWNtOXdjeTVqYUdsc1pISmxiaUFtSmlBaGFHRnpRMjl1ZEdWNGRFTm9ZVzVuWldRb0tTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZbUZwYkc5MWRFOXVRV3h5WldGa2VVWnBibWx6YUdWa1YyOXlheWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVYUdVZ1kyOXVkR1Y0ZENCMllXeDFaU0JqYUdGdVoyVmtMaUJUWldGeVkyZ2dabTl5SUcxaGRHTm9hVzVuSUdOdmJuTjFiV1Z5Y3lCaGJtUWdjMk5vWldSMWJHVmNiaUFnSUNBZ0lDOHZJSFJvWlcwZ2RHOGdkWEJrWVhSbExseHVJQ0FnSUNBZ2NISnZjR0ZuWVhSbFEyOXVkR1Y0ZEVOb1lXNW5aU2gzYjNKclNXNVFjbTluY21WemN5d2dZMjl1ZEdWNGRDd2dZMmhoYm1kbFpFSnBkSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnYm1WM1EyaHBiR1J5Wlc0Z1BTQnVaWGRRY205d2N5NWphR2xzWkhKbGJqdGNiaUFnY21WamIyNWphV3hsUTJocGJHUnlaVzRvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzVsZDBOb2FXeGtjbVZ1TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUhKbGRIVnliaUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkR0Y2JuMWNibHh1ZG1GeUlHaGhjMWRoY201bFpFRmliM1YwVlhOcGJtZERiMjUwWlhoMFFYTkRiMjV6ZFcxbGNpQTlJR1poYkhObE8xeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkRiMjUwWlhoMFEyOXVjM1Z0WlhJb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdkMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaVHNnTHk4Z1ZHaGxJR3h2WjJsaklHSmxiRzkzSUdadmNpQkRiMjUwWlhoMElHUnBabVpsY25NZ1pHVndaVzVrYVc1bklHOXVJRkJTVDBRZ2IzSWdSRVZXSUcxdlpHVXVJRWx1WEc0Z0lDOHZJRVJGVmlCdGIyUmxMQ0IzWlNCamNtVmhkR1VnWVNCelpYQmhjbUYwWlNCdlltcGxZM1FnWm05eUlFTnZiblJsZUhRdVEyOXVjM1Z0WlhJZ2RHaGhkQ0JoWTNSelhHNGdJQzh2SUd4cGEyVWdZU0J3Y205NGVTQjBieUJEYjI1MFpYaDBMaUJVYUdseklIQnliM2g1SUc5aWFtVmpkQ0JoWkdSeklIVnVibVZqWlhOellYSjVJR052WkdVZ2FXNGdVRkpQUkZ4dUlDQXZMeUJ6YnlCM1pTQjFjMlVnZEdobElHOXNaQ0JpWldoaGRtbHZkWElnS0VOdmJuUmxlSFF1UTI5dWMzVnRaWElnY21WbVpYSmxibU5sY3lCRGIyNTBaWGgwS1NCMGIxeHVJQ0F2THlCeVpXUjFZMlVnYzJsNlpTQmhibVFnYjNabGNtaGxZV1F1SUZSb1pTQnpaWEJoY21GMFpTQnZZbXBsWTNRZ2NtVm1aWEpsYm1ObGN5QmpiMjUwWlhoMElIWnBZVnh1SUNBdkx5QmhJSEJ5YjNCbGNuUjVJR05oYkd4bFpDQmNJbDlqYjI1MFpYaDBYQ0lzSUhkb2FXTm9JR0ZzYzI4Z1oybDJaWE1nZFhNZ2RHaGxJR0ZpYVd4cGRIa2dkRzhnWTJobFkydGNiaUFnTHk4Z2FXNGdSRVZXSUcxdlpHVWdhV1lnZEdocGN5QndjbTl3WlhKMGVTQmxlR2x6ZEhNZ2IzSWdibTkwSUdGdVpDQjNZWEp1SUdsbUlHbDBJR1J2WlhNZ2JtOTBMbHh1WEc0Z0lIdGNiaUFnSUNCcFppQW9ZMjl1ZEdWNGRDNWZZMjl1ZEdWNGRDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNBdkx5QlVhR2x6SUcxaGVTQmlaU0JpWldOaGRYTmxJR2wwSjNNZ1lTQkRiMjUwWlhoMElDaHlZWFJvWlhJZ2RHaGhiaUJoSUVOdmJuTjFiV1Z5S1M1Y2JpQWdJQ0FnSUM4dklFOXlJR2wwSUcxaGVTQmlaU0JpWldOaGRYTmxJR2wwSjNNZ2IyeGtaWElnVW1WaFkzUWdkMmhsY21VZ2RHaGxlU2R5WlNCMGFHVWdjMkZ0WlNCMGFHbHVaeTVjYmlBZ0lDQWdJQzh2SUZkbElHOXViSGtnZDJGdWRDQjBieUIzWVhKdUlHbG1JSGRsSjNKbElITjFjbVVnYVhRbmN5QmhJRzVsZHlCU1pXRmpkQzVjYmlBZ0lDQWdJR2xtSUNoamIyNTBaWGgwSUNFOVBTQmpiMjUwWlhoMExrTnZibk4xYldWeUtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaGFHRnpWMkZ5Ym1Wa1FXSnZkWFJWYzJsdVowTnZiblJsZUhSQmMwTnZibk4xYldWeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYUdGelYyRnlibVZrUVdKdmRYUlZjMmx1WjBOdmJuUmxlSFJCYzBOdmJuTjFiV1Z5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkU1pXNWtaWEpwYm1jZ1BFTnZiblJsZUhRK0lHUnBjbVZqZEd4NUlHbHpJRzV2ZENCemRYQndiM0owWldRZ1lXNWtJSGRwYkd3Z1ltVWdjbVZ0YjNabFpDQnBiaUFuSUNzZ0oyRWdablYwZFhKbElHMWhhbTl5SUhKbGJHVmhjMlV1SUVScFpDQjViM1VnYldWaGJpQjBieUJ5Wlc1a1pYSWdQRU52Ym5SbGVIUXVRMjl1YzNWdFpYSStJR2x1YzNSbFlXUS9KeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZMjl1ZEdWNGRDQTlJR052Ym5SbGVIUXVYMk52Ym5SbGVIUTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1bGQxQnliM0J6SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011Y0dWdVpHbHVaMUJ5YjNCek8xeHVJQ0IyWVhJZ2NtVnVaR1Z5SUQwZ2JtVjNVSEp2Y0hNdVkyaHBiR1J5Wlc0N1hHNWNiaUFnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnY21WdVpHVnlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblFTQmpiMjUwWlhoMElHTnZibk4xYldWeUlIZGhjeUJ5Wlc1a1pYSmxaQ0IzYVhSb0lHMTFiSFJwY0d4bElHTm9hV3hrY21WdUxDQnZjaUJoSUdOb2FXeGtJQ2NnS3lCY0luUm9ZWFFnYVhOdUozUWdZU0JtZFc1amRHbHZiaTRnUVNCamIyNTBaWGgwSUdOdmJuTjFiV1Z5SUdWNGNHVmpkSE1nWVNCemFXNW5iR1VnWTJocGJHUWdYQ0lnS3lBbmRHaGhkQ0JwY3lCaElHWjFibU4wYVc5dUxpQkpaaUI1YjNVZ1pHbGtJSEJoYzNNZ1lTQm1kVzVqZEdsdmJpd2diV0ZyWlNCemRYSmxJSFJvWlhKbElDY2dLeUFuYVhNZ2JtOGdkSEpoYVd4cGJtY2diM0lnYkdWaFpHbHVaeUIzYUdsMFpYTndZV05sSUdGeWIzVnVaQ0JwZEM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbVZ3WVhKbFZHOVNaV0ZrUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQjJZWElnYm1WM1ZtRnNkV1VnUFNCeVpXRmtRMjl1ZEdWNGRDaGpiMjUwWlhoMExDQnVaWGRRY205d2N5NTFibk4wWVdKc1pWOXZZbk5sY25abFpFSnBkSE1wTzF4dUlDQjJZWElnYm1WM1EyaHBiR1J5Wlc0N1hHNWNiaUFnZTF4dUlDQWdJRkpsWVdOMFEzVnljbVZ1ZEU5M2JtVnlKREV1WTNWeWNtVnVkQ0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpPMXh1SUNBZ0lITmxkRWx6VW1WdVpHVnlhVzVuS0hSeWRXVXBPMXh1SUNBZ0lHNWxkME5vYVd4a2NtVnVJRDBnY21WdVpHVnlLRzVsZDFaaGJIVmxLVHRjYmlBZ0lDQnpaWFJKYzFKbGJtUmxjbWx1WnlobVlXeHpaU2s3WEc0Z0lIMGdMeThnVW1WaFkzUWdSR1YyVkc5dmJITWdjbVZoWkhNZ2RHaHBjeUJtYkdGbkxseHVYRzVjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGQmxjbVp2Y20xbFpGZHZjbXM3WEc0Z0lISmxZMjl1WTJsc1pVTm9hV3hrY21WdUtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCdVpYZERhR2xzWkhKbGJpd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHMWhjbXRYYjNKclNXNVFjbTluY21WemMxSmxZMlZwZG1Wa1ZYQmtZWFJsS0NrZ2UxeHVJQ0JrYVdSU1pXTmxhWFpsVlhCa1lYUmxJRDBnZEhKMVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRnBiRzkxZEU5dVFXeHlaV0ZrZVVacGJtbHphR1ZrVjI5eWF5aGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ1kyRnVZMlZzVjI5eWExUnBiV1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmx4dUlDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQzh2SUZKbGRYTmxJSEJ5WlhacGIzVnpJR1JsY0dWdVpHVnVZMmxsYzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtUmxjR1Z1WkdWdVkybGxjeUE5SUdOMWNuSmxiblF1WkdWd1pXNWtaVzVqYVdWek8xeHVJQ0I5WEc1Y2JpQWdlMXh1SUNBZ0lDOHZJRVJ2YmlkMElIVndaR0YwWlNCY0ltSmhjMlZjSWlCeVpXNWtaWElnZEdsdFpYTWdabTl5SUdKaGFXeHZkWFJ6TGx4dUlDQWdJSE4wYjNCUWNtOW1hV3hsY2xScGJXVnlTV1pTZFc1dWFXNW5LQ2s3WEc0Z0lIMWNibHh1SUNCMllYSWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVsZUhCcGNtRjBhVzl1VkdsdFpUdGNibHh1SUNCcFppQW9kWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnSVQwOUlFNXZWMjl5YXlrZ2UxeHVJQ0FnSUcxaGNtdFZibkJ5YjJObGMzTmxaRlZ3WkdGMFpWUnBiV1VvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0I5SUM4dklFTm9aV05ySUdsbUlIUm9aU0JqYUdsc1pISmxiaUJvWVhabElHRnVlU0J3Wlc1a2FXNW5JSGR2Y21zdVhHNWNibHh1SUNCMllYSWdZMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1U3WEc1Y2JpQWdhV1lnS0dOb2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQWdJQzh2SUZSb1pTQmphR2xzWkhKbGJpQmtiMjRuZENCb1lYWmxJR0Z1ZVNCM2IzSnJJR1ZwZEdobGNpNGdWMlVnWTJGdUlITnJhWEFnZEdobGJTNWNiaUFnSUNBdkx5QlVUMFJQT2lCUGJtTmxJSGRsSUdGa1pDQmlZV05ySUhKbGMzVnRhVzVuTENCM1pTQnphRzkxYkdRZ1kyaGxZMnNnYVdZZ2RHaGxJR05vYVd4a2NtVnVJR0Z5WlZ4dUlDQWdJQzh2SUdFZ2QyOXlheTFwYmkxd2NtOW5jbVZ6Y3lCelpYUXVJRWxtSUhOdkxDQjNaU0J1WldWa0lIUnZJSFJ5WVc1elptVnlJSFJvWldseUlHVm1abVZqZEhNdVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdWR2hwY3lCbWFXSmxjaUJrYjJWemJpZDBJR2hoZG1VZ2QyOXlheXdnWW5WMElHbDBjeUJ6ZFdKMGNtVmxJR1J2WlhNdUlFTnNiMjVsSUhSb1pTQmphR2xzWkZ4dUlDQWdJQzh2SUdacFltVnljeUJoYm1RZ1kyOXVkR2x1ZFdVdVhHNGdJQ0FnWTJ4dmJtVkRhR2xzWkVacFltVnljeWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ2NtVjBkWEp1SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYlc5MWJuUkdhV0psY2loamRYSnlaVzUwTENCdmJHUlhiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2JtVjNWMjl5YTBsdVVISnZaM0psYzNNcElIdGNiaUFnZTF4dUlDQWdJSFpoY2lCeVpYUjFjbTVHYVdKbGNpQTlJRzlzWkZkdmNtdEpibEJ5YjJkeVpYTnpMbkpsZEhWeWJqdGNibHh1SUNBZ0lHbG1JQ2h5WlhSMWNtNUdhV0psY2lBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkRFlXNXViM1FnYzNkaGNDQjBhR1VnY205dmRDQm1hV0psY2k0bktUdGNiaUFnSUNCOUlDOHZJRVJwYzJOdmJtNWxZM1FnWm5KdmJTQjBhR1VnYjJ4a0lHTjFjbkpsYm5RdVhHNGdJQ0FnTHk4Z1NYUWdkMmxzYkNCblpYUWdaR1ZzWlhSbFpDNWNibHh1WEc0Z0lDQWdZM1Z5Y21WdWRDNWhiSFJsY201aGRHVWdQU0J1ZFd4c08xeHVJQ0FnSUc5c1pGZHZjbXRKYmxCeWIyZHlaWE56TG1Gc2RHVnlibUYwWlNBOUlHNTFiR3c3SUM4dklFTnZibTVsWTNRZ2RHOGdkR2hsSUc1bGR5QjBjbVZsTGx4dVhHNGdJQ0FnYm1WM1YyOXlhMGx1VUhKdlozSmxjM011YVc1a1pYZ2dQU0J2YkdSWGIzSnJTVzVRY205bmNtVnpjeTVwYm1SbGVEdGNiaUFnSUNCdVpYZFhiM0pyU1c1UWNtOW5jbVZ6Y3k1emFXSnNhVzVuSUQwZ2IyeGtWMjl5YTBsdVVISnZaM0psYzNNdWMybGliR2x1Wnp0Y2JpQWdJQ0J1WlhkWGIzSnJTVzVRY205bmNtVnpjeTV5WlhSMWNtNGdQU0J2YkdSWGIzSnJTVzVRY205bmNtVnpjeTV5WlhSMWNtNDdYRzRnSUNBZ2JtVjNWMjl5YTBsdVVISnZaM0psYzNNdWNtVm1JRDBnYjJ4a1YyOXlhMGx1VUhKdlozSmxjM011Y21WbU95QXZMeUJTWlhCc1lXTmxJSFJvWlNCamFHbHNaQzl6YVdKc2FXNW5JSEJ2YVc1MFpYSnpJR0ZpYjNabElHbDBMbHh1WEc0Z0lDQWdhV1lnS0c5c1pGZHZjbXRKYmxCeWIyZHlaWE56SUQwOVBTQnlaWFIxY201R2FXSmxjaTVqYUdsc1pDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdVJtbGlaWEl1WTJocGJHUWdQU0J1WlhkWGIzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5WlhaVGFXSnNhVzVuSUQwZ2NtVjBkWEp1Um1saVpYSXVZMmhwYkdRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h3Y21WMlUybGliR2x1WnlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owVjRjR1ZqZEdWa0lIQmhjbVZ1ZENCMGJ5Qm9ZWFpsSUdFZ1kyaHBiR1F1SnlrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIZG9hV3hsSUNod2NtVjJVMmxpYkdsdVp5NXphV0pzYVc1bklDRTlQU0J2YkdSWGIzSnJTVzVRY205bmNtVnpjeWtnZTF4dUlDQWdJQ0FnSUNCd2NtVjJVMmxpYkdsdVp5QTlJSEJ5WlhaVGFXSnNhVzVuTG5OcFlteHBibWM3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ5WlhaVGFXSnNhVzVuSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZEZlSEJsWTNSbFpDQjBieUJtYVc1a0lIUm9aU0J3Y21WMmFXOTFjeUJ6YVdKc2FXNW5MaWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIQnlaWFpUYVdKc2FXNW5Mbk5wWW14cGJtY2dQU0J1WlhkWGIzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQjlJQzh2SUVSbGJHVjBaU0IwYUdVZ2IyeGtJR1pwWW1WeUlHRnVaQ0J3YkdGalpTQjBhR1VnYm1WM0lHOXVaUzVjYmlBZ0lDQXZMeUJUYVc1alpTQjBhR1VnYjJ4a0lHWnBZbVZ5SUdseklHUnBjMk52Ym01bFkzUmxaQ3dnZDJVZ2FHRjJaU0IwYnlCelkyaGxaSFZzWlNCcGRDQnRZVzUxWVd4c2VTNWNibHh1WEc0Z0lDQWdkbUZ5SUd4aGMzUWdQU0J5WlhSMWNtNUdhV0psY2k1c1lYTjBSV1ptWldOME8xeHVYRzRnSUNBZ2FXWWdLR3hoYzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHeGhjM1F1Ym1WNGRFVm1abVZqZENBOUlHTjFjbkpsYm5RN1hHNGdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBJRDBnWTNWeWNtVnVkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1Um1saVpYSXVabWx5YzNSRlptWmxZM1FnUFNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBJRDBnWTNWeWNtVnVkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpkWEp5Wlc1MExtNWxlSFJGWm1abFkzUWdQU0J1ZFd4c08xeHVJQ0FnSUdOMWNuSmxiblF1WldabVpXTjBWR0ZuSUQwZ1JHVnNaWFJwYjI0N1hHNGdJQ0FnYm1WM1YyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGQnNZV05sYldWdWREc2dMeThnVW1WemRHRnlkQ0IzYjNKcklHWnliMjBnZEdobElHNWxkeUJtYVdKbGNpNWNibHh1SUNBZ0lISmxkSFZ5YmlCdVpYZFhiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmlaV2RwYmxkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIWmhjaUIxY0dSaGRHVkZlSEJwY21GMGFXOXVWR2x0WlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG1WNGNHbHlZWFJwYjI1VWFXMWxPMXh1WEc0Z0lIdGNiaUFnSUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNdVgyUmxZblZuVG1WbFpITlNaVzF2ZFc1MElDWW1JR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUZSb2FYTWdkMmxzYkNCeVpYTjBZWEowSUhSb1pTQmlaV2RwYmlCd2FHRnpaU0IzYVhSb0lHRWdibVYzSUdacFltVnlMbHh1SUNBZ0lDQWdjbVYwZFhKdUlISmxiVzkxYm5SR2FXSmxjaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dZM0psWVhSbFJtbGlaWEpHY205dFZIbHdaVUZ1WkZCeWIzQnpLSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1VzSUhkdmNtdEpibEJ5YjJkeVpYTnpMbXRsZVN3Z2QyOXlhMGx1VUhKdlozSmxjM011Y0dWdVpHbHVaMUJ5YjNCekxDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1ZlpHVmlkV2RQZDI1bGNpQjhmQ0J1ZFd4c0xDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dGIyUmxMQ0IzYjNKclNXNVFjbTluY21WemN5NWxlSEJwY21GMGFXOXVWR2x0WlNrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2hqZFhKeVpXNTBJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdkbUZ5SUc5c1pGQnliM0J6SUQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpPMXh1SUNBZ0lIWmhjaUJ1WlhkUWNtOXdjeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkJsYm1ScGJtZFFjbTl3Y3p0Y2JseHVJQ0FnSUdsbUlDaHZiR1JRY205d2N5QWhQVDBnYm1WM1VISnZjSE1nZkh3Z2FHRnpRMjl1ZEdWNGRFTm9ZVzVuWldRb0tTQjhmQ0FvSUM4dklFWnZjbU5sSUdFZ2NtVXRjbVZ1WkdWeUlHbG1JSFJvWlNCcGJYQnNaVzFsYm5SaGRHbHZiaUJqYUdGdVoyVmtJR1IxWlNCMGJ5Qm9iM1FnY21Wc2IyRmtPbHh1SUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MGVYQmxJQ0U5UFNCamRYSnlaVzUwTG5SNWNHVWdLU2tnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdjSEp2Y0hNZ2IzSWdZMjl1ZEdWNGRDQmphR0Z1WjJWa0xDQnRZWEpySUhSb1pTQm1hV0psY2lCaGN5Qm9ZWFpwYm1jZ2NHVnlabTl5YldWa0lIZHZjbXN1WEc0Z0lDQWdJQ0F2THlCVWFHbHpJRzFoZVNCaVpTQjFibk5sZENCcFppQjBhR1VnY0hKdmNITWdZWEpsSUdSbGRHVnliV2x1WldRZ2RHOGdZbVVnWlhGMVlXd2diR0YwWlhJZ0tHMWxiVzhwTGx4dUlDQWdJQ0FnWkdsa1VtVmpaV2wyWlZWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU0E4SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQmthV1JTWldObGFYWmxWWEJrWVhSbElEMGdabUZzYzJVN0lDOHZJRlJvYVhNZ1ptbGlaWElnWkc5bGN5QnViM1FnYUdGMlpTQmhibmtnY0dWdVpHbHVaeUIzYjNKckxpQkNZV2xzYjNWMElIZHBkR2h2ZFhRZ1pXNTBaWEpwYm1kY2JpQWdJQ0FnSUM4dklIUm9aU0JpWldkcGJpQndhR0Z6WlM0Z1ZHaGxjbVVuY3lCemRHbHNiQ0J6YjIxbElHSnZiMnRyWldWd2FXNW5JSGRsSUhSb1lYUWdibVZsWkhNZ2RHOGdZbVVnWkc5dVpWeHVJQ0FnSUNBZ0x5OGdhVzRnZEdocGN5QnZjSFJwYldsNlpXUWdjR0YwYUN3Z2JXOXpkR3g1SUhCMWMyaHBibWNnYzNSMVptWWdiMjUwYnlCMGFHVWdjM1JoWTJzdVhHNWNiaUFnSUNBZ0lITjNhWFJqYUNBb2QyOXlhMGx1VUhKdlozSmxjM011ZEdGbktTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ1NHOXpkRkp2YjNRNlhHNGdJQ0FnSUNBZ0lDQWdjSFZ6YUVodmMzUlNiMjkwUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ0lDQWdJQ0FnY21WelpYUkllV1J5WVhScGIyNVRkR0YwWlNncE8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJR05oYzJVZ1NHOXpkRU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJQ0FnSUNCd2RYTm9TRzl6ZEVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCRGIyNWpkWEp5Wlc1MFRXOWtaU0FtSmlCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTQWhQVDBnVG1WMlpYSWdKaVlnYzJodmRXeGtSR1Z3Y21sdmNtbDBhWHBsVTNWaWRISmxaU2gzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTENCdVpYZFFjbTl3Y3lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGeWExTndZWGR1WldSWGIzSnJLRTVsZG1WeUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ0x5OGdVMk5vWldSMWJHVWdkR2hwY3lCbWFXSmxjaUIwYnlCeVpTMXlaVzVrWlhJZ1lYUWdiMlptYzJOeVpXVnVJSEJ5YVc5eWFYUjVMaUJVYUdWdUlHSmhhV3h2ZFhRdVhHNWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011Wlhod2FYSmhkR2x2YmxScGJXVWdQU0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG1WMlpYSTdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCRGIyMXdiMjVsYm5RZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MGVYQmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhORGIyNTBaWGgwVUhKdmRtbGtaWElvUTI5dGNHOXVaVzUwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2RYTm9RMjl1ZEdWNGRGQnliM1pwWkdWeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdTRzl6ZEZCdmNuUmhiRHBjYmlBZ0lDQWdJQ0FnSUNCd2RYTm9TRzl6ZEVOdmJuUmhhVzVsY2loM2IzSnJTVzVRY205bmNtVnpjeXdnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxMbU52Ym5SaGFXNWxja2x1Wm04cE8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJR05oYzJVZ1EyOXVkR1Y0ZEZCeWIzWnBaR1Z5T2x4dUlDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnVaWGRXWVd4MVpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE11ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCd2RYTm9VSEp2ZG1sa1pYSW9kMjl5YTBsdVVISnZaM0psYzNNc0lHNWxkMVpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUZCeWIyWnBiR1Z5T2x4dUlDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGQnliMlpwYkdWeUlITm9iM1ZzWkNCdmJteDVJR05oYkd3Z2IyNVNaVzVrWlhJZ2QyaGxiaUJ2Ym1VZ2IyWWdhWFJ6SUdSbGMyTmxibVJoYm5SeklHRmpkSFZoYkd4NUlISmxibVJsY21Wa0xseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHaGhjME5vYVd4a1YyOXlheUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUGowZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVhORGFHbHNaRmR2Y21zcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGVndaR0YwWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdJQ0JqWVhObElGTjFjM0JsYm5ObFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6ZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoemRHRjBaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCM2FHVjBhR1Z5SUhSdklISmxkSEo1SUhSb1pTQndjbWx0WVhKNUlHTm9hV3hrY21WdUxDQnZjaUIwYnlCemEybHdJRzkyWlhJZ2FYUWdZVzVrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdkdklITjBjbUZwWjJoMElIUnZJSFJvWlNCbVlXeHNZbUZqYXk0Z1EyaGxZMnNnZEdobElIQnlhVzl5YVhSNUlHOW1JSFJvWlNCd2NtbHRZWEo1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdOb2FXeGtJR1p5WVdkdFpXNTBMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQndjbWx0WVhKNVEyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpTQTlJSEJ5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEJ5YVcxaGNubERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJQ0U5UFNCT2IxZHZjbXNnSmlZZ2NISnBiV0Z5ZVVOb2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BqMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR1VnY0hKcGJXRnllU0JqYUdsc1pISmxiaUJvWVhabElIQmxibVJwYm1jZ2QyOXlheTRnVlhObElIUm9aU0J1YjNKdFlXd2djR0YwYUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklIUnZJR0YwZEdWdGNIUWdkRzhnY21WdVpHVnlJSFJvWlNCd2NtbHRZWEo1SUdOb2FXeGtjbVZ1SUdGbllXbHVMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCMWMyaFRkWE53Wlc1elpVTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhObGRFUmxabUYxYkhSVGFHRnNiRzkzVTNWemNHVnVjMlZEYjI1MFpYaDBLSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkQ2twT3lBdkx5QlVhR1VnY0hKcGJXRnllU0JqYUdsc1pISmxiaUJrYnlCdWIzUWdhR0YyWlNCd1pXNWthVzVuSUhkdmNtc2dkMmwwYUNCemRXWm1hV05wWlc1MFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjSEpwYjNKcGRIa3VJRUpoYVd4dmRYUXVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1kyaHBiR1FnUFNCaVlXbHNiM1YwVDI1QmJISmxZV1I1Um1sdWFYTm9aV1JYYjNKcktHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvWlNCbVlXeHNZbUZqYXlCamFHbHNaSEpsYmlCb1lYWmxJSEJsYm1ScGJtY2dkMjl5YXk0Z1UydHBjQ0J2ZG1WeUlIUm9aVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NISnBiV0Z5ZVNCamFHbHNaSEpsYmlCaGJtUWdkMjl5YXlCdmJpQjBhR1VnWm1Gc2JHSmhZMnN1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2RYTm9VM1Z6Y0dWdWMyVkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCelpYUkVaV1poZFd4MFUyaGhiR3h2ZDFOMWMzQmxibk5sUTI5dWRHVjRkQ2h6ZFhOd1pXNXpaVk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVM1Z6Y0dWdWMyVk1hWE4wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmthV1JUZFhOd1pXNWtRbVZtYjNKbElEMGdLR04xY25KbGJuUXVaV1ptWldOMFZHRm5JQ1lnUkdsa1EyRndkSFZ5WlNrZ0lUMDlJRTV2UldabVpXTjBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnWDJoaGMwTm9hV3hrVjI5eWF5QTlJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQajBnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGthV1JUZFhOd1pXNWtRbVZtYjNKbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmYUdGelEyaHBiR1JYYjNKcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2MyOXRaWFJvYVc1bklIZGhjeUJwYmlCbVlXeHNZbUZqYXlCemRHRjBaU0JzWVhOMElIUnBiV1VzSUdGdVpDQjNaU0JvWVhabElHRnNiQ0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnpZVzFsSUdOb2FXeGtjbVZ1SUhSb1pXNGdkMlVuY21VZ2MzUnBiR3dnYVc0Z2NISnZaM0psYzNOcGRtVWdiRzloWkdsdVp5QnpkR0YwWlM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRiMjFsZEdocGJtY2diV2xuYUhRZ1oyVjBJSFZ1WW14dlkydGxaQ0JpZVNCemRHRjBaU0IxY0dSaGRHVnpJRzl5SUhKbGRISnBaWE1nYVc0Z2RHaGxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEhKbFpTQjNhR2xqYUNCM2FXeHNJR0ZtWm1WamRDQjBhR1VnZEdGcGJDNGdVMjhnZDJVZ2JtVmxaQ0IwYnlCMWMyVWdkR2hsSUc1dmNtMWhiRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhCaGRHZ2dkRzhnWTI5dGNIVjBaU0IwYUdVZ1kyOXljbVZqZENCMFlXbHNMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWVGRYTndaVzV6WlV4cGMzUkRiMjF3YjI1bGJuUW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0F2THlCSlppQnViMjVsSUc5bUlIUm9aU0JqYUdsc1pISmxiaUJvWVdRZ1lXNTVJSGR2Y21zc0lIUm9ZWFFnYldWaGJuTWdkR2hoZENCdWIyNWxJRzltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSb1pXMGdaMjkwSUhKbGRISnBaV1FnYzI4Z2RHaGxlU2RzYkNCemRHbHNiQ0JpWlNCaWJHOWphMlZrSUdsdUlIUm9aU0J6WVcxbElIZGhlVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJoY3lCaVpXWnZjbVV1SUZkbElHTmhiaUJtWVhOMElHSmhhV3dnYjNWMExseHVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRVJwWkVOaGNIUjFjbVU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJQzh2SUVsbUlHNXZkR2hwYm1jZ2MzVnpjR1Z1WkdWa0lHSmxabTl5WlNCaGJtUWdkMlVuY21VZ2NtVnVaR1Z5YVc1bklIUm9aU0J6WVcxbElHTm9hV3hrY21WdUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUIwYUdVZ2RHRnBiQ0JrYjJWemJpZDBJRzFoZEhSbGNpNGdRVzU1ZEdocGJtY2dibVYzSUhSb1lYUWdjM1Z6Y0dWdVpITWdkMmxzYkNCM2IzSnJYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBiaUIwYUdVZ1hDSjBiMmRsZEdobGNsd2lJRzF2WkdVc0lITnZJSGRsSUdOaGJpQmpiMjUwYVc1MVpTQm1jbTl0SUhSb1pTQnpkR0YwWlNCM1pTQm9ZV1F1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlISmxibVJsY2xOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISmxibVJsY2xOMFlYUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZKbGMyVjBJSFJ2SUhSb1pTQmNJblJ2WjJWMGFHVnlYQ0lnYlc5a1pTQnBiaUJqWVhObElIZGxKM1psSUhOMFlYSjBaV1FnWVNCa2FXWm1aWEpsYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RYQmtZWFJsSUdsdUlIUm9aU0J3WVhOMElHSjFkQ0JrYVdSdUozUWdZMjl0Y0d4bGRHVWdhWFF1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYm1SbGNsTjBZWFJsTG5KbGJtUmxjbWx1WnlBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYm1SbGNsTjBZWFJsTG5SaGFXd2dQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J3ZFhOb1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J6ZFhOd1pXNXpaVk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1gyaGhjME5vYVd4a1YyOXlheWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsbUlHNXZibVVnYjJZZ2RHaGxJR05vYVd4a2NtVnVJR2hoWkNCaGJua2dkMjl5YXl3Z2RHaGhkQ0J0WldGdWN5QjBhR0YwSUc1dmJtVWdiMlpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdobGJTQm5iM1FnY21WMGNtbGxaQ0J6YnlCMGFHVjVKMnhzSUhOMGFXeHNJR0psSUdKc2IyTnJaV1FnYVc0Z2RHaGxJSE5oYldVZ2QyRjVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR0Z6SUdKbFptOXlaUzRnVjJVZ1kyRnVJR1poYzNRZ1ltRnBiQ0J2ZFhRdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlHSmhhV3h2ZFhSUGJrRnNjbVZoWkhsR2FXNXBjMmhsWkZkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdRVzRnZFhCa1lYUmxJSGRoY3lCelkyaGxaSFZzWldRZ2IyNGdkR2hwY3lCbWFXSmxjaXdnWW5WMElIUm9aWEpsSUdGeVpTQnVieUJ1WlhjZ2NISnZjSE5jYmlBZ0lDQWdJQzh2SUc1dmNpQnNaV2RoWTNrZ1kyOXVkR1Y0ZEM0Z1UyVjBJSFJvYVhNZ2RHOGdabUZzYzJVdUlFbG1JR0Z1SUhWd1pHRjBaU0J4ZFdWMVpTQnZjaUJqYjI1MFpYaDBYRzRnSUNBZ0lDQXZMeUJqYjI1emRXMWxjaUJ3Y205a2RXTmxjeUJoSUdOb1lXNW5aV1FnZG1Gc2RXVXNJR2wwSUhkcGJHd2djMlYwSUhSb2FYTWdkRzhnZEhKMVpTNGdUM1JvWlhKM2FYTmxMRnh1SUNBZ0lDQWdMeThnZEdobElHTnZiWEJ2Ym1WdWRDQjNhV3hzSUdGemMzVnRaU0IwYUdVZ1kyaHBiR1J5Wlc0Z2FHRjJaU0J1YjNRZ1kyaGhibWRsWkNCaGJtUWdZbUZwYkNCdmRYUXVYRzRnSUNBZ0lDQmthV1JTWldObGFYWmxWWEJrWVhSbElEMGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUdScFpGSmxZMlZwZG1WVmNHUmhkR1VnUFNCbVlXeHpaVHRjYmlBZ2ZTQXZMeUJDWldadmNtVWdaVzUwWlhKcGJtY2dkR2hsSUdKbFoybHVJSEJvWVhObExDQmpiR1ZoY2lCd1pXNWthVzVuSUhWd1pHRjBaU0J3Y21sdmNtbDBlUzVjYmlBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJoYzNOMWJXVnpJSFJvWVhRZ2QyVW5jbVVnWVdKdmRYUWdkRzhnWlhaaGJIVmhkR1VnZEdobElHTnZiWEJ2Ym1WdWRDQmhibVFnY0hKdlkyVnpjMXh1SUNBdkx5QjBhR1VnZFhCa1lYUmxJSEYxWlhWbExpQkliM2RsZG1WeUxDQjBhR1Z5WlNkeklHRnVJR1Y0WTJWd2RHbHZiam9nVTJsdGNHeGxUV1Z0YjBOdmJYQnZibVZ1ZEZ4dUlDQXZMeUJ6YjIxbGRHbHRaWE1nWW1GcGJITWdiM1YwSUd4aGRHVnlJR2x1SUhSb1pTQmlaV2RwYmlCd2FHRnpaUzRnVkdocGN5QnBibVJwWTJGMFpYTWdkR2hoZENCM1pTQnphRzkxYkdSY2JpQWdMeThnYlc5MlpTQjBhR2x6SUdGemMybG5ibTFsYm5RZ2IzVjBJRzltSUhSb1pTQmpiMjF0YjI0Z2NHRjBhQ0JoYm1RZ2FXNTBieUJsWVdOb0lHSnlZVzVqYUM1Y2JseHVYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdUbTlYYjNKck8xeHVYRzRnSUhOM2FYUmphQ0FvZDI5eWEwbHVVSEp2WjNKbGMzTXVkR0ZuS1NCN1hHNGdJQ0FnWTJGelpTQkpibVJsZEdWeWJXbHVZWFJsUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUkpibVJsZEdWeWJXbHVZWFJsUTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUV4aGVubERiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFpoY2lCbGJHVnRaVzUwVkhsd1pTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5STVlYcDVRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQmxiR1Z0Wlc1MFZIbHdaU3dnZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1JuVnVZM1JwYjI1RGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJmUTI5dGNHOXVaVzUwSUQwZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pUdGNiaUFnSUNBZ0lDQWdkbUZ5SUhWdWNtVnpiMngyWldSUWNtOXdjeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkJsYm1ScGJtZFFjbTl3Y3p0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzI5c2RtVmtVSEp2Y0hNZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGJHVnRaVzUwVkhsd1pTQTlQVDBnWDBOdmJYQnZibVZ1ZENBL0lIVnVjbVZ6YjJ4MlpXUlFjbTl3Y3lBNklISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9YME52YlhCdmJtVnVkQ3dnZFc1eVpYTnZiSFpsWkZCeWIzQnpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVWjFibU4wYVc5dVEyOXRjRzl1Wlc1MEtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCZlEyOXRjRzl1Wlc1MExDQnlaWE52YkhabFpGQnliM0J6TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1gwTnZiWEJ2Ym1WdWRESWdQU0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTzF4dUlDQWdJQ0FnSUNCMllYSWdYM1Z1Y21WemIyeDJaV1JRY205d2N5QTlJSGR2Y210SmJsQnliMmR5WlhOekxuQmxibVJwYm1kUWNtOXdjenRjYmx4dUlDQWdJQ0FnSUNCMllYSWdYM0psYzI5c2RtVmtVSEp2Y0hNZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGJHVnRaVzUwVkhsd1pTQTlQVDBnWDBOdmJYQnZibVZ1ZERJZ1B5QmZkVzV5WlhOdmJIWmxaRkJ5YjNCeklEb2djbVZ6YjJ4MlpVUmxabUYxYkhSUWNtOXdjeWhmUTI5dGNHOXVaVzUwTWl3Z1gzVnVjbVZ6YjJ4MlpXUlFjbTl3Y3lrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVOc1lYTnpRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQmZRMjl0Y0c5dVpXNTBNaXdnWDNKbGMyOXNkbVZrVUhKdmNITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZKdmIzUTZYRzRnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsU0c5emRGSnZiM1FvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVkliM04wUTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNWNiaUFnSUNCallYTmxJRWh2YzNSVVpYaDBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVodmMzUlVaWGgwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmx4dUlDQWdJR05oYzJVZ1NHOXpkRkJ2Y25SaGJEcGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZRYjNKMFlXeERiMjF3YjI1bGJuUW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmx4dUlDQWdJR05oYzJVZ1JtOXlkMkZ5WkZKbFpqcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhSNWNHVWdQU0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTzF4dUlDQWdJQ0FnSUNCMllYSWdYM1Z1Y21WemIyeDJaV1JRY205d2N6SWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl5WlhOdmJIWmxaRkJ5YjNCek1pQTlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxJRDA5UFNCMGVYQmxJRDhnWDNWdWNtVnpiMngyWldSUWNtOXdjeklnT2lCeVpYTnZiSFpsUkdWbVlYVnNkRkJ5YjNCektIUjVjR1VzSUY5MWJuSmxjMjlzZG1Wa1VISnZjSE15S1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsUm05eWQyRnlaRkpsWmloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnZEhsd1pTd2dYM0psYzI5c2RtVmtVSEp2Y0hNeUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElFWnlZV2R0Wlc1ME9seHVJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVVp5WVdkdFpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc1Y2JpQWdJQ0JqWVhObElFMXZaR1U2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFRXOWtaU2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnWTJGelpTQlFjbTltYVd4bGNqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZRY205bWFXeGxjaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnWTJGelpTQkRiMjUwWlhoMFVISnZkbWxrWlhJNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxRMjl1ZEdWNGRGQnliM1pwWkdWeUtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQmpZWE5sSUVOdmJuUmxlSFJEYjI1emRXMWxjanBjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWRGIyNTBaWGgwUTI5dWMzVnRaWElvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0FnSUdOaGMyVWdUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRjkwZVhCbE1pQTlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1U3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZkVzV5WlhOdmJIWmxaRkJ5YjNCek15QTlJSGR2Y210SmJsQnliMmR5WlhOekxuQmxibVJwYm1kUWNtOXdjenNnTHk4Z1VtVnpiMngyWlNCdmRYUmxjaUJ3Y205d2N5Qm1hWEp6ZEN3Z2RHaGxiaUJ5WlhOdmJIWmxJR2x1Ym1WeUlIQnliM0J6TGx4dVhHNGdJQ0FnSUNBZ0lIWmhjaUJmY21WemIyeDJaV1JRY205d2N6TWdQU0J5WlhOdmJIWmxSR1ZtWVhWc2RGQnliM0J6S0Y5MGVYQmxNaXdnWDNWdWNtVnpiMngyWldSUWNtOXdjek1wTzF4dVhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pTQWhQVDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV3hsYldWdWRGUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCdmRYUmxjbEJ5YjNCVWVYQmxjeUE5SUY5MGVYQmxNaTV3Y205d1ZIbHdaWE03WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodmRYUmxjbEJ5YjNCVWVYQmxjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqYUdWamExQnliM0JVZVhCbGN5aHZkWFJsY2xCeWIzQlVlWEJsY3l3Z1gzSmxjMjlzZG1Wa1VISnZjSE16TENBdkx5QlNaWE52YkhabFpDQm1iM0lnYjNWMFpYSWdiMjVzZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FuY0hKdmNDY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9YM1I1Y0dVeUtTd2daMlYwUTNWeWNtVnVkRVpwWW1WeVUzUmhZMnRKYmtSbGRpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1gzSmxjMjlzZG1Wa1VISnZjSE16SUQwZ2NtVnpiMngyWlVSbFptRjFiSFJRY205d2N5aGZkSGx3WlRJdWRIbHdaU3dnWDNKbGMyOXNkbVZrVUhKdmNITXpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVMWxiVzlEYjIxd2IyNWxiblFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRjkwZVhCbE1pd2dYM0psYzI5c2RtVmtVSEp2Y0hNekxDQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ1kyRnpaU0JUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkQ2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dkMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU3dnZDI5eWEwbHVVSEp2WjNKbGMzTXVjR1Z1WkdsdVoxQnliM0J6TENCMWNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpTd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQkpibU52YlhCc1pYUmxRMnhoYzNORGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJmUTI5dGNHOXVaVzUwTXlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVTdYRzRnSUNBZ0lDQWdJSFpoY2lCZmRXNXlaWE52YkhabFpGQnliM0J6TkNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5CbGJtUnBibWRRY205d2N6dGNibHh1SUNBZ0lDQWdJQ0IyWVhJZ1gzSmxjMjlzZG1Wa1VISnZjSE0wSUQwZ2QyOXlhMGx1VUhKdlozSmxjM011Wld4bGJXVnVkRlI1Y0dVZ1BUMDlJRjlEYjIxd2IyNWxiblF6SUQ4Z1gzVnVjbVZ6YjJ4MlpXUlFjbTl3Y3pRZ09pQnlaWE52YkhabFJHVm1ZWFZzZEZCeWIzQnpLRjlEYjIxd2IyNWxiblF6TENCZmRXNXlaWE52YkhabFpGQnliM0J6TkNrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwU1c1amIyMXdiR1YwWlVOc1lYTnpRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQmZRMjl0Y0c5dVpXNTBNeXdnWDNKbGMyOXNkbVZrVUhKdmNITTBMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNCallYTmxJRk4xYzNCbGJuTmxUR2x6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVk4xYzNCbGJuTmxUR2x6ZEVOdmJYQnZibVZ1ZENoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxWdWEyNXZkMjRnZFc1cGRDQnZaaUIzYjNKcklIUmhaeUFvWENJZ0t5QjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY2dLeUJjSWlrdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiV0Z5YTFWd1pHRjBaU2gzYjNKclNXNVFjbTluY21WemN5a2dlMXh1SUNBdkx5QlVZV2NnZEdobElHWnBZbVZ5SUhkcGRHZ2dZVzRnZFhCa1lYUmxJR1ZtWm1WamRDNGdWR2hwY3lCMGRYSnVjeUJoSUZCc1lXTmxiV1Z1ZENCcGJuUnZYRzRnSUM4dklHRWdVR3hoWTJWdFpXNTBRVzVrVlhCa1lYUmxMbHh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1ZYQmtZWFJsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0WVhKclVtVm1KREVvZDI5eWEwbHVVSEp2WjNKbGMzTXBJSHRjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGSmxaanRjYm4xY2JseHVkbUZ5SUdGd2NHVnVaRUZzYkVOb2FXeGtjbVZ1TzF4dWRtRnlJSFZ3WkdGMFpVaHZjM1JEYjI1MFlXbHVaWEk3WEc1MllYSWdkWEJrWVhSbFNHOXpkRU52YlhCdmJtVnVkQ1F4TzF4dWRtRnlJSFZ3WkdGMFpVaHZjM1JVWlhoMEpERTdYRzVjYm50Y2JpQWdMeThnVFhWMFlYUnBiMjRnYlc5a1pWeHVJQ0JoY0hCbGJtUkJiR3hEYUdsc1pISmxiaUE5SUdaMWJtTjBhVzl1SUNod1lYSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WldWa2MxWnBjMmxpYVd4cGRIbFViMmRuYkdVc0lHbHpTR2xrWkdWdUtTQjdYRzRnSUNBZ0x5OGdWMlVnYjI1c2VTQm9ZWFpsSUhSb1pTQjBiM0FnUm1saVpYSWdkR2hoZENCM1lYTWdZM0psWVhSbFpDQmlkWFFnZDJVZ2JtVmxaQ0J5WldOMWNuTmxJR1J2ZDI0Z2FYUnpYRzRnSUNBZ0x5OGdZMmhwYkdSeVpXNGdkRzhnWm1sdVpDQmhiR3dnZEdobElIUmxjbTFwYm1Gc0lHNXZaR1Z6TGx4dUlDQWdJSFpoY2lCdWIyUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNWNiaUFnSUNCM2FHbHNaU0FvYm05a1pTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQkliM04wUTI5dGNHOXVaVzUwSUh4OElHNXZaR1V1ZEdGbklEMDlQU0JJYjNOMFZHVjRkQ2tnZTF4dUlDQWdJQ0FnSUNCaGNIQmxibVJKYm1sMGFXRnNRMmhwYkdRb2NHRnlaVzUwTENCdWIyUmxMbk4wWVhSbFRtOWtaU2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQkliM04wVUc5eWRHRnNLU0E3SUdWc2MyVWdhV1lnS0c1dlpHVXVZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdibTlrWlM1amFHbHNaQzV5WlhSMWNtNGdQU0J1YjJSbE8xeHVJQ0FnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzVqYUdsc1pEdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodWIyUmxJRDA5UFNCM2IzSnJTVzVRY205bmNtVnpjeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h1YjJSbExuTnBZbXhwYm1jZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdhV1lnS0c1dlpHVXVjbVYwZFhKdUlEMDlQU0J1ZFd4c0lIeDhJRzV2WkdVdWNtVjBkWEp1SUQwOVBTQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2JtOWtaUzV6YVdKc2FXNW5MbkpsZEhWeWJpQTlJRzV2WkdVdWNtVjBkWEp1TzF4dUlDQWdJQ0FnYm05a1pTQTlJRzV2WkdVdWMybGliR2x1Wnp0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2RYQmtZWFJsU0c5emRFTnZiblJoYVc1bGNpQTlJR1oxYm1OMGFXOXVJQ2gzYjNKclNXNVFjbTluY21WemN5a2dleTh2SUU1dmIzQmNiaUFnZlR0Y2JseHVJQ0IxY0dSaGRHVkliM04wUTI5dGNHOXVaVzUwSkRFZ1BTQm1kVzVqZEdsdmJpQW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lIUjVjR1VzSUc1bGQxQnliM0J6TENCeWIyOTBRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQm9ZWFpsSUdGdUlHRnNkR1Z5Ym1GMFpTd2dkR2hoZENCdFpXRnVjeUIwYUdseklHbHpJR0Z1SUhWd1pHRjBaU0JoYm1RZ2QyVWdibVZsWkNCMGIxeHVJQ0FnSUM4dklITmphR1ZrZFd4bElHRWdjMmxrWlMxbFptWmxZM1FnZEc4Z1pHOGdkR2hsSUhWd1pHRjBaWE11WEc0Z0lDQWdkbUZ5SUc5c1pGQnliM0J6SUQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpPMXh1WEc0Z0lDQWdhV1lnS0c5c1pGQnliM0J6SUQwOVBTQnVaWGRRY205d2N5a2dlMXh1SUNBZ0lDQWdMeThnU1c0Z2JYVjBZWFJwYjI0Z2JXOWtaU3dnZEdocGN5QnBjeUJ6ZFdabWFXTnBaVzUwSUdadmNpQmhJR0poYVd4dmRYUWdZbVZqWVhWelpWeHVJQ0FnSUNBZ0x5OGdkMlVnZDI5dUozUWdkRzkxWTJnZ2RHaHBjeUJ1YjJSbElHVjJaVzRnYVdZZ1kyaHBiR1J5Wlc0Z1kyaGhibWRsWkM1Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlJQzh2SUVsbUlIZGxJR2RsZENCMWNHUmhkR1ZrSUdKbFkyRjFjMlVnYjI1bElHOW1JRzkxY2lCamFHbHNaSEpsYmlCMWNHUmhkR1ZrTENCM1pTQmtiMjRuZEZ4dUlDQWdJQzh2SUdoaGRtVWdibVYzVUhKdmNITWdjMjhnZDJVbmJHd2dhR0YyWlNCMGJ5QnlaWFZ6WlNCMGFHVnRMbHh1SUNBZ0lDOHZJRlJQUkU4NklGTndiR2wwSUhSb1pTQjFjR1JoZEdVZ1FWQkpJR0Z6SUhObGNHRnlZWFJsSUdadmNpQjBhR1VnY0hKdmNITWdkbk11SUdOb2FXeGtjbVZ1TGx4dUlDQWdJQzh2SUVWMlpXNGdZbVYwZEdWeUlIZHZkV3hrSUdKbElHbG1JR05vYVd4a2NtVnVJSGRsY21WdUozUWdjM0JsWTJsaGJDQmpZWE5sWkNCaGRDQmhiR3dnZEdodkxseHVYRzVjYmlBZ0lDQjJZWElnYVc1emRHRnVZMlVnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJJYjNOMFEyOXVkR1Y0ZENBOUlHZGxkRWh2YzNSRGIyNTBaWGgwS0NrN0lDOHZJRlJQUkU4NklFVjRjR1Z5YVdWdVkybHVaeUJoYmlCbGNuSnZjaUIzYUdWeVpTQnZiR1JRY205d2N5QnBjeUJ1ZFd4c0xpQlRkV2RuWlhOMGN5QmhJR2h2YzNSY2JpQWdJQ0F2THlCamIyMXdiMjVsYm5RZ2FYTWdhR2wwZEdsdVp5QjBhR1VnY21WemRXMWxJSEJoZEdndUlFWnBaM1Z5WlNCdmRYUWdkMmg1TGlCUWIzTnphV0pzZVZ4dUlDQWdJQzh2SUhKbGJHRjBaV1FnZEc4Z1lHaHBaR1JsYm1BdVhHNWNiaUFnSUNCMllYSWdkWEJrWVhSbFVHRjViRzloWkNBOUlIQnlaWEJoY21WVmNHUmhkR1VvYVc1emRHRnVZMlVzSUhSNWNHVXNJRzlzWkZCeWIzQnpMQ0J1WlhkUWNtOXdjeXdnY205dmRFTnZiblJoYVc1bGNrbHVjM1JoYm1ObExDQmpkWEp5Wlc1MFNHOXpkRU52Ym5SbGVIUXBPeUF2THlCVVQwUlBPaUJVZVhCbElIUm9hWE1nYzNCbFkybG1hV01nZEc4Z2RHaHBjeUIwZVhCbElHOW1JR052YlhCdmJtVnVkQzVjYmx4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnZFhCa1lYUmxVR0Y1Ykc5aFpEc2dMeThnU1dZZ2RHaGxJSFZ3WkdGMFpTQndZWGxzYjJGa0lHbHVaR2xqWVhSbGN5QjBhR0YwSUhSb1pYSmxJR2x6SUdFZ1kyaGhibWRsSUc5eUlHbG1JSFJvWlhKbFhHNGdJQ0FnTHk4Z2FYTWdZU0J1WlhjZ2NtVm1JSGRsSUcxaGNtc2dkR2hwY3lCaGN5QmhiaUIxY0dSaGRHVXVJRUZzYkNCMGFHVWdkMjl5YXlCcGN5QmtiMjVsSUdsdUlHTnZiVzFwZEZkdmNtc3VYRzVjYmlBZ0lDQnBaaUFvZFhCa1lYUmxVR0Y1Ykc5aFpDa2dlMXh1SUNBZ0lDQWdiV0Z5YTFWd1pHRjBaU2gzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJSFZ3WkdGMFpVaHZjM1JVWlhoMEpERWdQU0JtZFc1amRHbHZiaUFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzlzWkZSbGVIUXNJRzVsZDFSbGVIUXBJSHRjYmlBZ0lDQXZMeUJKWmlCMGFHVWdkR1Y0ZENCa2FXWm1aWEp6TENCdFlYSnJJR2wwSUdGeklHRnVJSFZ3WkdGMFpTNGdRV3hzSUhSb1pTQjNiM0pySUdsdUlHUnZibVVnYVc0Z1kyOXRiV2wwVjI5eWF5NWNiaUFnSUNCcFppQW9iMnhrVkdWNGRDQWhQVDBnYm1WM1ZHVjRkQ2tnZTF4dUlDQWdJQ0FnYldGeWExVndaR0YwWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdmVnh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamRYUlBabVpVWVdsc1NXWk9aV1ZrWldRb2NtVnVaR1Z5VTNSaGRHVXNJR2hoYzFKbGJtUmxjbVZrUVZSaGFXeEdZV3hzWW1GamF5a2dlMXh1SUNCemQybDBZMmdnS0hKbGJtUmxjbE4wWVhSbExuUmhhV3hOYjJSbEtTQjdYRzRnSUNBZ1kyRnpaU0FuYUdsa1pHVnVKenBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FXNTVJR2x1YzJWeWRHbHZibk1nWVhRZ2RHaGxJR1Z1WkNCdlppQjBhR1VnZEdGcGJDQnNhWE4wSUdGbWRHVnlJSFJvYVhNZ2NHOXBiblJjYmlBZ0lDQWdJQ0FnTHk4Z2MyaHZkV3hrSUdKbElHbHVkbWx6YVdKc1pTNGdTV1lnZEdobGNtVWdZWEpsSUdGc2NtVmhaSGtnYlc5MWJuUmxaQ0JpYjNWdVpHRnlhV1Z6WEc0Z0lDQWdJQ0FnSUM4dklHRnVlWFJvYVc1bklHSmxabTl5WlNCMGFHVnRJR0Z5WlNCdWIzUWdZMjl1YzJsa1pYSmxaQ0JtYjNJZ1kyOXNiR0Z3YzJsdVp5NWNiaUFnSUNBZ0lDQWdMeThnVkdobGNtVm1iM0psSUhkbElHNWxaV1FnZEc4Z1oyOGdkR2h5YjNWbmFDQjBhR1VnZDJodmJHVWdkR0ZwYkNCMGJ5Qm1hVzVrSUdsbVhHNGdJQ0FnSUNBZ0lDOHZJSFJvWlhKbElHRnlaU0JoYm5rdVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWVdsc1RtOWtaU0E5SUhKbGJtUmxjbE4wWVhSbExuUmhhV3c3WEc0Z0lDQWdJQ0FnSUhaaGNpQnNZWE4wVkdGcGJFNXZaR1VnUFNCdWRXeHNPMXh1WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2gwWVdsc1RtOWtaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwWVdsc1RtOWtaUzVoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hoYzNSVVlXbHNUbTlrWlNBOUlIUmhhV3hPYjJSbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIUmhhV3hPYjJSbElEMGdkR0ZwYkU1dlpHVXVjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdmU0F2THlCT1pYaDBJSGRsSjNKbElITnBiWEJzZVNCbmIybHVaeUIwYnlCa1pXeGxkR1VnWVd4c0lHbHVjMlZ5ZEdsdmJuTWdZV1owWlhJZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUd4aGMzUWdjbVZ1WkdWeVpXUWdhWFJsYlM1Y2JseHVYRzRnSUNBZ0lDQWdJR2xtSUNoc1lYTjBWR0ZwYkU1dlpHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkJiR3dnY21WdFlXbHVhVzVuSUdsMFpXMXpJR2x1SUhSb1pTQjBZV2xzSUdGeVpTQnBibk5sY25ScGIyNXpMbHh1SUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExuUmhhV3dnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFUmxkR0ZqYUNCMGFHVWdhVzV6WlhKMGFXOXVJR0ZtZEdWeUlIUm9aU0JzWVhOMElHNXZaR1VnZEdoaGRDQjNZWE1nWVd4eVpXRmtlVnh1SUNBZ0lDQWdJQ0FnSUM4dklHbHVjMlZ5ZEdWa0xseHVJQ0FnSUNBZ0lDQWdJR3hoYzNSVVlXbHNUbTlrWlM1emFXSnNhVzVuSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQW5ZMjlzYkdGd2MyVmtKenBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FXNTVJR2x1YzJWeWRHbHZibk1nWVhRZ2RHaGxJR1Z1WkNCdlppQjBhR1VnZEdGcGJDQnNhWE4wSUdGbWRHVnlJSFJvYVhNZ2NHOXBiblJjYmlBZ0lDQWdJQ0FnTHk4Z2MyaHZkV3hrSUdKbElHbHVkbWx6YVdKc1pTNGdTV1lnZEdobGNtVWdZWEpsSUdGc2NtVmhaSGtnYlc5MWJuUmxaQ0JpYjNWdVpHRnlhV1Z6WEc0Z0lDQWdJQ0FnSUM4dklHRnVlWFJvYVc1bklHSmxabTl5WlNCMGFHVnRJR0Z5WlNCdWIzUWdZMjl1YzJsa1pYSmxaQ0JtYjNJZ1kyOXNiR0Z3YzJsdVp5NWNiaUFnSUNBZ0lDQWdMeThnVkdobGNtVm1iM0psSUhkbElHNWxaV1FnZEc4Z1oyOGdkR2h5YjNWbmFDQjBhR1VnZDJodmJHVWdkR0ZwYkNCMGJ5Qm1hVzVrSUdsbVhHNGdJQ0FnSUNBZ0lDOHZJSFJvWlhKbElHRnlaU0JoYm5rdVhHNGdJQ0FnSUNBZ0lIWmhjaUJmZEdGcGJFNXZaR1VnUFNCeVpXNWtaWEpUZEdGMFpTNTBZV2xzTzF4dUlDQWdJQ0FnSUNCMllYSWdYMnhoYzNSVVlXbHNUbTlrWlNBOUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0Y5MFlXbHNUbTlrWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoZmRHRnBiRTV2WkdVdVlXeDBaWEp1WVhSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmJHRnpkRlJoYVd4T2IyUmxJRDBnWDNSaGFXeE9iMlJsTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUY5MFlXbHNUbTlrWlNBOUlGOTBZV2xzVG05a1pTNXphV0pzYVc1bk8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUU1bGVIUWdkMlVuY21VZ2MybHRjR3g1SUdkdmFXNW5JSFJ2SUdSbGJHVjBaU0JoYkd3Z2FXNXpaWEowYVc5dWN5QmhablJsY2lCMGFHVmNiaUFnSUNBZ0lDQWdMeThnYkdGemRDQnlaVzVrWlhKbFpDQnBkR1Z0TGx4dVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0Y5c1lYTjBWR0ZwYkU1dlpHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkJiR3dnY21WdFlXbHVhVzVuSUdsMFpXMXpJR2x1SUhSb1pTQjBZV2xzSUdGeVpTQnBibk5sY25ScGIyNXpMbHh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2hhR0Z6VW1WdVpHVnlaV1JCVkdGcGJFWmhiR3hpWVdOcklDWW1JSEpsYm1SbGNsTjBZWFJsTG5SaGFXd2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRsSUhOMWMzQmxibVJsWkNCa2RYSnBibWNnZEdobElHaGxZV1F1SUZkbElIZGhiblFnZEc4Z2MyaHZkeUJoZENCc1pXRnpkQ0J2Ym1WY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhKdmR5QmhkQ0IwYUdVZ2RHRnBiQzRnVTI4Z2QyVW5iR3dnYTJWbGNDQnZiaUJoYm1RZ1kzVjBJRzltWmlCMGFHVWdjbVZ6ZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYm1SbGNsTjBZWFJsTG5SaGFXd3VjMmxpYkdsdVp5QTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExuUmhhV3dnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJFWlhSaFkyZ2dkR2hsSUdsdWMyVnlkR2x2YmlCaFpuUmxjaUIwYUdVZ2JHRnpkQ0J1YjJSbElIUm9ZWFFnZDJGeklHRnNjbVZoWkhsY2JpQWdJQ0FnSUNBZ0lDQXZMeUJwYm5ObGNuUmxaQzVjYmlBZ0lDQWdJQ0FnSUNCZmJHRnpkRlJoYVd4T2IyUmxMbk5wWW14cGJtY2dQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGNHeGxkR1ZYYjNKcktHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCMllYSWdibVYzVUhKdmNITWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdjM2RwZEdOb0lDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY3BJSHRjYmlBZ0lDQmpZWE5sSUVsdVpHVjBaWEp0YVc1aGRHVkRiMjF3YjI1bGJuUTZYRzRnSUNBZ1kyRnpaU0JNWVhwNVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUdOaGMyVWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwT2x4dUlDQWdJR05oYzJVZ1JtOXlkMkZ5WkZKbFpqcGNiaUFnSUNCallYTmxJRVp5WVdkdFpXNTBPbHh1SUNBZ0lHTmhjMlVnVFc5a1pUcGNiaUFnSUNCallYTmxJRkJ5YjJacGJHVnlPbHh1SUNBZ0lHTmhjMlVnUTI5dWRHVjRkRU52Ym5OMWJXVnlPbHh1SUNBZ0lHTmhjMlVnVFdWdGIwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdZMkZ6WlNCRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlFTnZiWEJ2Ym1WdWRDQTlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6UTI5dWRHVjRkRkJ5YjNacFpHVnlLRU52YlhCdmJtVnVkQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiM0JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ1kyRnpaU0JJYjNOMFVtOXZkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnY0c5d1NHOXpkRU52Ym5SaGFXNWxjaWgzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ0lDQWdJSEJ2Y0ZSdmNFeGxkbVZzUTI5dWRHVjRkRTlpYW1WamRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNBZ0lIWmhjaUJtYVdKbGNsSnZiM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR1pwWW1WeVVtOXZkQzV3Wlc1a2FXNW5RMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdacFltVnlVbTl2ZEM1amIyNTBaWGgwSUQwZ1ptbGlaWEpTYjI5MExuQmxibVJwYm1kRGIyNTBaWGgwTzF4dUlDQWdJQ0FnSUNBZ0lHWnBZbVZ5VW05dmRDNXdaVzVrYVc1blEyOXVkR1Y0ZENBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCamRYSnlaVzUwTG1Ob2FXeGtJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdTV1lnZDJVZ2FIbGtjbUYwWldRc0lIQnZjQ0J6YnlCMGFHRjBJSGRsSUdOaGJpQmtaV3hsZEdVZ1lXNTVJSEpsYldGcGJtbHVaeUJqYUdsc1pISmxibHh1SUNBZ0lDQWdJQ0FnSUM4dklIUm9ZWFFnZDJWeVpXNG5kQ0JvZVdSeVlYUmxaQzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdkMkZ6U0hsa2NtRjBaV1FnUFNCd2IzQkllV1J5WVhScGIyNVRkR0YwWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZDJGelNIbGtjbUYwWldRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFbG1JSGRsSUdoNVpISmhkR1ZrTENCMGFHVnVJSGRsSjJ4c0lHNWxaV1FnZEc4Z2MyTm9aV1IxYkdVZ1lXNGdkWEJrWVhSbElHWnZjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hsSUdOdmJXMXBkQ0J6YVdSbExXVm1abVZqZEhNZ2IyNGdkR2hsSUhKdmIzUXVYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYSnJWWEJrWVhSbEtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCMWNHUmhkR1ZJYjNOMFEyOXVkR0ZwYm1WeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEJ2Y0VodmMzUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNBOUlHZGxkRkp2YjNSSWIzTjBRMjl1ZEdGcGJtVnlLQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQjBlWEJsSUQwZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZENBaFBUMGdiblZzYkNBbUppQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1emRHRjBaVTV2WkdVZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFZ3WkdGMFpVaHZjM1JEYjIxd2IyNWxiblFrTVNoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnZEhsd1pTd2dibVYzVUhKdmNITXNJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEM1eVpXWWdJVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYldGeWExSmxaaVF4S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NGdVpYZFFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRW9kMjl5YTBsdVVISnZaM0psYzNNdWMzUmhkR1ZPYjJSbElDRTlQU0J1ZFd4c0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVYyVWdiWFZ6ZENCb1lYWmxJRzVsZHlCd2NtOXdjeUJtYjNJZ2JtVjNJRzF2ZFc1MGN5NGdWR2hwY3lCbGNuSnZjaUJwY3lCc2FXdGxiSGtnWTJGMWMyVmtJR0o1SUdFZ1luVm5JR2x1SUZKbFlXTjBMaUJRYkdWaGMyVWdabWxzWlNCaGJpQnBjM04xWlM1Y0lpQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlDOHZJRlJvYVhNZ1kyRnVJR2hoY0hCbGJpQjNhR1Z1SUhkbElHRmliM0owSUhkdmNtc3VYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHTjFjbkpsYm5SSWIzTjBRMjl1ZEdWNGRDQTlJR2RsZEVodmMzUkRiMjUwWlhoMEtDazdJQzh2SUZSUFJFODZJRTF2ZG1VZ1kzSmxZWFJsU1c1emRHRnVZMlVnZEc4Z1ltVm5hVzVYYjNKcklHRnVaQ0JyWldWd0lHbDBJRzl1SUdFZ1kyOXVkR1Y0ZEZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRndpYzNSaFkydGNJaUJoY3lCMGFHVWdjR0Z5Wlc1MExpQlVhR1Z1SUdGd2NHVnVaQ0JqYUdsc1pISmxiaUJoY3lCM1pTQm5ieUJwYmlCaVpXZHBibGR2Y210Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJ2Y2lCamIyMXdiR1YwWlZkdmNtc2daR1Z3Wlc1a2FXNW5JRzl1SUhkb1pYUm9aWElnZDJVZ2QyRnVkQ0IwYnlCaFpHUWdkR2hsYlNCMGIzQXRQbVJ2ZDI0Z2IzSmNiaUFnSUNBZ0lDQWdJQ0F2THlCaWIzUjBiMjB0UG5Wd0xpQlViM0F0UG1SdmQyNGdhWE1nWm1GemRHVnlJR2x1SUVsRk1URXVYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYM2RoYzBoNVpISmhkR1ZrSUQwZ2NHOXdTSGxrY21GMGFXOXVVM1JoZEdVb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0Y5M1lYTkllV1J5WVhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1RXOTJaU0IwYUdseklHRnVaQ0JqY21WaGRHVkpibk4wWVc1alpTQnpkR1Z3SUdsdWRHOGdkR2hsSUdKbFoybHVVR2hoYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSdklHTnZibk52Ykdsa1lYUmxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEJ5WlhCaGNtVlViMGg1WkhKaGRHVkliM04wU1c1emRHRnVZMlVvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlN3Z1kzVnljbVZ1ZEVodmMzUkRiMjUwWlhoMEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCamFHRnVaMlZ6SUhSdklIUm9aU0JvZVdSeVlYUmxaQ0J1YjJSbElHNWxaV1FnZEc4Z1ltVWdZWEJ3YkdsbFpDQmhkQ0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kyOXRiV2wwTFhCb1lYTmxJSGRsSUcxaGNtc2dkR2hwY3lCaGN5QnpkV05vTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhKclZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnWTNKbFlYUmxTVzV6ZEdGdVkyVW9kSGx3WlN3Z2JtVjNVSEp2Y0hNc0lISnZiM1JEYjI1MFlXbHVaWEpKYm5OMFlXNWpaU3dnWTNWeWNtVnVkRWh2YzNSRGIyNTBaWGgwTENCM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjSEJsYm1SQmJHeERhR2xzWkhKbGJpaHBibk4wWVc1alpTd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHWmhiSE5sTENCbVlXeHpaU2s3SUM4dklGUm9hWE1nYm1WbFpITWdkRzhnWW1VZ2MyVjBJR0psWm05eVpTQjNaU0J0YjNWdWRDQkdiR0Z5WlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk5jYmx4dUlDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWMzUmhkR1ZPYjJSbElEMGdhVzV6ZEdGdVkyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QW9aV2NnUkU5TklISmxibVJsY21WeUlITjFjSEJ2Y25SeklHRjFkRzh0Wm05amRYTWdabTl5SUdObGNuUmhhVzRnWld4bGJXVnVkSE1wTGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVFdGclpTQnpkWEpsSUhOMVkyZ2djbVZ1WkdWeVpYSnpJR2RsZENCelkyaGxaSFZzWldRZ1ptOXlJR3hoZEdWeUlIZHZjbXN1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHWnBibUZzYVhwbFNXNXBkR2xoYkVOb2FXeGtjbVZ1S0dsdWMzUmhibU5sTENCMGVYQmxMQ0J1WlhkUWNtOXdjeXdnY205dmRFTnZiblJoYVc1bGNrbHVjM1JoYm1ObEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWEpyVlhCa1lYUmxLSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNdWNtVm1JQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHVnlaU0JwY3lCaElISmxaaUJ2YmlCaElHaHZjM1FnYm05a1pTQjNaU0J1WldWa0lIUnZJSE5qYUdWa2RXeGxJR0VnWTJGc2JHSmhZMnRjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhjbXRTWldZa01TaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlVaWGgwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdibVYzVkdWNGRDQTlJRzVsZDFCeWIzQnpPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MElDWW1JSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHOXNaRlJsZUhRZ1BTQmpkWEp5Wlc1MExtMWxiVzlwZW1Wa1VISnZjSE03SUM4dklFbG1JSGRsSUdoaGRtVWdZVzRnWVd4MFpYSnVZWFJsTENCMGFHRjBJRzFsWVc1eklIUm9hWE1nYVhNZ1lXNGdkWEJrWVhSbElHRnVaQ0IzWlNCdVpXVmtYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHOGdjMk5vWldSMWJHVWdZU0J6YVdSbExXVm1abVZqZENCMGJ5QmtieUIwYUdVZ2RYQmtZWFJsY3k1Y2JseHVJQ0FnSUNBZ0lDQWdJSFZ3WkdGMFpVaHZjM1JVWlhoMEpERW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHOXNaRlJsZUhRc0lHNWxkMVJsZUhRcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYm1WM1ZHVjRkQ0FoUFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hLSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pTQWhQVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lsZGxJRzExYzNRZ2FHRjJaU0J1WlhjZ2NISnZjSE1nWm05eUlHNWxkeUJ0YjNWdWRITXVJRlJvYVhNZ1pYSnliM0lnYVhNZ2JHbHJaV3g1SUdOaGRYTmxaQ0JpZVNCaElHSjFaeUJwYmlCU1pXRmpkQzRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQXZMeUJVYUdseklHTmhiaUJvWVhCd1pXNGdkMmhsYmlCM1pTQmhZbTl5ZENCM2IzSnJMbHh1WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlGOXliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVnUFNCblpYUlNiMjkwU0c5emRFTnZiblJoYVc1bGNpZ3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjlqZFhKeVpXNTBTRzl6ZEVOdmJuUmxlSFFnUFNCblpYUkliM04wUTI5dWRHVjRkQ2dwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUY5M1lYTkllV1J5WVhSbFpESWdQU0J3YjNCSWVXUnlZWFJwYjI1VGRHRjBaU2gzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9YM2RoYzBoNVpISmhkR1ZrTWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnlaWEJoY21WVWIwaDVaSEpoZEdWSWIzTjBWR1Y0ZEVsdWMzUmhibU5sS0hkdmNtdEpibEJ5YjJkeVpYTnpLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhKclZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YzNSaGRHVk9iMlJsSUQwZ1kzSmxZWFJsVkdWNGRFbHVjM1JoYm1ObEtHNWxkMVJsZUhRc0lGOXliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUY5amRYSnlaVzUwU0c5emRFTnZiblJsZUhRc0lIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnVTNWemNHVnVjMlZEYjIxd2IyNWxiblE2WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhCdmNGTjFjM0JsYm5ObFEyOXVkR1Y0ZENoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdJQ0FnSUhaaGNpQnVaWGgwVTNSaGRHVWdQU0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGTjBZWFJsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2dvZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5JQ1lnUkdsa1EyRndkSFZ5WlNrZ0lUMDlJRTV2UldabVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdVMjl0WlhSb2FXNW5JSE4xYzNCbGJtUmxaQzRnVW1VdGNtVnVaR1Z5SUhkcGRHZ2dkR2hsSUdaaGJHeGlZV05ySUdOb2FXeGtjbVZ1TGx4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WNGNHbHlZWFJwYjI1VWFXMWxJRDBnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVN0lDOHZJRVJ2SUc1dmRDQnlaWE5sZENCMGFHVWdaV1ptWldOMElHeHBjM1F1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM003WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQjJZWElnYm1WNGRFUnBaRlJwYldWdmRYUWdQU0J1WlhoMFUzUmhkR1VnSVQwOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUhaaGNpQndjbVYyUkdsa1ZHbHRaVzkxZENBOUlHWmhiSE5sTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE11Wm1Gc2JHSmhZMnNnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NHOXdTSGxrY21GMGFXOXVVM1JoZEdVb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NISmxkbE4wWVhSbElEMGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGTjBZWFJsTzF4dUlDQWdJQ0FnSUNBZ0lIQnlaWFpFYVdSVWFXMWxiM1YwSUQwZ2NISmxkbE4wWVhSbElDRTlQU0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnVaWGgwUkdsa1ZHbHRaVzkxZENBbUppQndjbVYyVTNSaGRHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRsSUdwMWMzUWdjM2RwZEdOb1pXUWdabkp2YlNCMGFHVWdabUZzYkdKaFkyc2dkRzhnZEdobElHNXZjbTFoYkNCamFHbHNaSEpsYmk1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVSbGJHVjBaU0IwYUdVZ1ptRnNiR0poWTJzdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJYYjNWc1pDQnBkQ0JpWlNCaVpYUjBaWElnZEc4Z2MzUnZjbVVnZEdobElHWmhiR3hpWVdOcklHWnlZV2R0Wlc1MElHOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnYzNSaGRHVk9iMlJsSUdSMWNtbHVaeUIwYUdVZ1ltVm5hVzRnY0doaGMyVS9YRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdZM1Z5Y21WdWRFWmhiR3hpWVdOclEyaHBiR1FnUFNCamRYSnlaVzUwTG1Ob2FXeGtMbk5wWW14cGJtYzdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBSbUZzYkdKaFkydERhR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkVaV3hsZEdsdmJuTWdaMjhnWVhRZ2RHaGxJR0psWjJsdWJtbHVaeUJ2WmlCMGFHVWdjbVYwZFhKdUlHWnBZbVZ5SjNNZ1pXWm1aV04wSUd4cGMzUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR1pwY25OMElEMGdkMjl5YTBsdVVISnZaM0psYzNNdVptbHljM1JGWm1abFkzUTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dacGNuTjBJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVabWx5YzNSRlptWmxZM1FnUFNCamRYSnlaVzUwUm1Gc2JHSmhZMnREYUdsc1pEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFJtRnNiR0poWTJ0RGFHbHNaQzV1WlhoMFJXWm1aV04wSUQwZ1ptbHljM1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVptbHljM1JGWm1abFkzUWdQU0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBJRDBnWTNWeWNtVnVkRVpoYkd4aVlXTnJRMmhwYkdRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEVaaGJHeGlZV05yUTJocGJHUXVibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFJtRnNiR0poWTJ0RGFHbHNaQzVsWm1abFkzUlVZV2NnUFNCRVpXeGxkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2JtVjRkRVJwWkZScGJXVnZkWFFnSmlZZ0lYQnlaWFpFYVdSVWFXMWxiM1YwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2RHaHBjeUJ6ZFdKMGNtVmxaU0JwY3lCeWRXNXVhVzVuSUdsdUlHSnNiMk5yYVc1bklHMXZaR1VnZDJVZ1kyRnVJSE4xYzNCbGJtUXNYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2IzUm9aWEozYVhObElIZGxJSGR2YmlkMElITjFjM0JsYm1RdVhHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dWR2hwY3lCM2FXeHNJSE4wYVd4c0lITjFjM0JsYm1RZ1lTQnplVzVqYUhKdmJtOTFjeUIwY21WbElHbG1JR0Z1ZVhSb2FXNW5YRzRnSUNBZ0lDQWdJQ0FnTHk4Z2FXNGdkR2hsSUdOdmJtTjFjbkpsYm5RZ2RISmxaU0JoYkhKbFlXUjVJSE4xYzNCbGJtUmxaQ0JrZFhKcGJtY2dkR2hwY3lCeVpXNWtaWEl1WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWR2hwY3lCcGN5QmhJR3R1YjNkdUlHSjFaeTVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9LSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCQ2JHOWphMmx1WjAxdlpHVXBJQ0U5UFNCT2IwMXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRTF2ZG1VZ2RHaHBjeUJpWVdOcklIUnZJSFJvY205M1JYaGpaWEIwYVc5dUlHSmxZMkYxYzJVZ2RHaHBjeUJwY3lCMGIyOGdiR0YwWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYVdZZ2RHaHBjeUJwY3lCaElHeGhjbWRsSUhSeVpXVWdkMmhwWTJnZ2FYTWdZMjl0Ylc5dUlHWnZjaUJwYm1sMGFXRnNJR3h2WVdSekxpQlhaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdaRzl1SjNRZ2EyNXZkeUJwWmlCM1pTQnphRzkxYkdRZ2NtVnpkR0Z5ZENCaElISmxibVJsY2lCdmNpQnViM1FnZFc1MGFXd2dkMlVnWjJWMFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCMGFHbHpJRzFoY210bGNpd2dZVzVrSUhSb2FYTWdhWE1nZEc5dklHeGhkR1V1WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHbHpJSEpsYm1SbGNpQmhiSEpsWVdSNUlHaGhaQ0JoSUhCcGJtY2diM0lnYkc5M1pYSWdjSEpwSUhWd1pHRjBaWE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJoYm1RZ2RHaHBjeUJwY3lCMGFHVWdabWx5YzNRZ2RHbHRaU0IzWlNCcmJtOTNJSGRsSjNKbElHZHZhVzVuSUhSdklITjFjM0JsYm1RZ2QyVmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklITm9iM1ZzWkNCaVpTQmhZbXhsSUhSdklHbHRiV1ZrYVdGMFpXeDVJSEpsYzNSaGNuUWdabkp2YlNCM2FYUm9hVzRnZEdoeWIzZEZlR05sY0hScGIyNHVYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdhR0Z6U1c1MmFYTnBZbXhsUTJocGJHUkRiMjUwWlhoMElEMGdZM1Z5Y21WdWRDQTlQVDBnYm5Wc2JDQW1KaUIzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGQnliM0J6TG5WdWMzUmhZbXhsWDJGMmIybGtWR2hwYzBaaGJHeGlZV05ySUNFOVBTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FHRnpTVzUyYVhOcFlteGxRMmhwYkdSRGIyNTBaWGgwSUh4OElHaGhjMU4xYzNCbGJuTmxRMjl1ZEdWNGRDaHpkWE53Wlc1elpWTjBZV05yUTNWeWMyOXlMbU4xY25KbGJuUXNJRWx1ZG1semFXSnNaVkJoY21WdWRGTjFjM0JsYm5ObFEyOXVkR1Y0ZENrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QjNZWE1nYVc0Z1lXNGdhVzUyYVhOcFlteGxJSFJ5WldVZ2IzSWdZU0J1WlhjZ2NtVnVaR1Z5TENCMGFHVnVJSE5vYjNkcGJtZGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hwY3lCaWIzVnVaR0Z5ZVNCcGN5QnZheTVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ1WkdWeVJHbGtVM1Z6Y0dWdVpDZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1QzUm9aWEozYVhObExDQjNaU2R5WlNCbmIybHVaeUIwYnlCb1lYWmxJSFJ2SUdocFpHVWdZMjl1ZEdWdWRDQnpieUIzWlNCemFHOTFiR1JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnYzNWemNHVnVaQ0JtYjNJZ2JHOXVaMlZ5SUdsbUlIQnZjM05wWW14bExseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXNWtaWEpFYVdSVGRYTndaVzVrUkdWc1lYbEpabEJ2YzNOcFlteGxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGUlBSRTg2SUU5dWJIa2djMk5vWldSMWJHVWdkWEJrWVhSbGN5QnBaaUIwYUdWelpTQjJZV3gxWlhNZ1lYSmxJRzV2YmlCbGNYVmhiQ3dnYVM1bExpQnBkQ0JqYUdGdVoyVmtMbHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHVaWGgwUkdsa1ZHbHRaVzkxZENCOGZDQndjbVYyUkdsa1ZHbHRaVzkxZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hwY3lCaWIzVnVaR0Z5ZVNCcWRYTjBJSFJwYldWa0lHOTFkQ3dnYzJOb1pXUjFiR1VnWVc0Z1pXWm1aV04wSUhSdklHRjBkR0ZqYUNCaFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCeVpYUnllU0JzYVhOMFpXNWxjaUIwYnlCMGFHVWdjSEp2YldselpTNGdWR2hwY3lCbWJHRm5JR2x6SUdGc2MyOGdkWE5sWkNCMGJ5Qm9hV1JsSUhSb1pWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NISnBiV0Z5ZVNCamFHbHNaSEpsYmk0Z1NXNGdiWFYwWVhScGIyNGdiVzlrWlN3Z2QyVWdZV3h6YnlCdVpXVmtJSFJvWlNCbWJHRm5JSFJ2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUFxZFc1b2FXUmxLaUJqYUdsc1pISmxiaUIwYUdGMElIZGxjbVVnY0hKbGRtbHZkWE5zZVNCb2FXUmtaVzRzSUhOdklHTm9aV05ySUdsbUlIUm9hWE5jYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR2x6SUdOMWNuSmxiblJzZVNCMGFXMWxaQ0J2ZFhRc0lIUnZieTVjYmlBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQlZjR1JoZEdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlFiM0owWVd3NlhHNGdJQ0FnSUNCd2IzQkliM04wUTI5dWRHRnBibVZ5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZjM1JEYjI1MFlXbHVaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0JqWVhObElFTnZiblJsZUhSUWNtOTJhV1JsY2pwY2JpQWdJQ0FnSUM4dklGQnZjQ0J3Y205MmFXUmxjaUJtYVdKbGNseHVJQ0FnSUNBZ2NHOXdVSEp2ZG1sa1pYSW9kMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQmpZWE5sSUVsdVkyOXRjR3hsZEdWRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UyRnRaU0JoY3lCamJHRnpjeUJqYjIxd2IyNWxiblFnWTJGelpTNGdTU0J3ZFhRZ2FYUWdaRzkzYmlCb1pYSmxJSE52SUhSb1lYUWdkR2hsSUhSaFozTWdZWEpsWEc0Z0lDQWdJQ0FnSUM4dklITmxjWFZsYm5ScFlXd2dkRzhnWlc1emRYSmxJSFJvYVhNZ2MzZHBkR05vSUdseklHTnZiWEJwYkdWa0lIUnZJR0VnYW5WdGNDQjBZV0pzWlM1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjlEYjIxd2IyNWxiblFnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNocGMwTnZiblJsZUhSUWNtOTJhV1JsY2loZlEyOXRjRzl1Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhCdmNFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElGTjFjM0JsYm5ObFRHbHpkRU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnY0c5d1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlISmxibVJsY2xOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY21WdVpHVnlVM1JoZEdVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCWFpTZHlaU0J5ZFc1dWFXNW5JR2x1SUhSb1pTQmtaV1poZFd4MExDQmNJbWx1WkdWd1pXNWtaVzUwWENJZ2JXOWtaUzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QlhaU0JrYjI0bmRDQmtieUJoYm5sMGFHbHVaeUJwYmlCMGFHbHpJRzF2WkdVdVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQjJZWElnWkdsa1UzVnpjR1Z1WkVGc2NtVmhaSGtnUFNBb2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUNZZ1JHbGtRMkZ3ZEhWeVpTa2dJVDA5SUU1dlJXWm1aV04wTzF4dUlDQWdJQ0FnSUNCMllYSWdjbVZ1WkdWeVpXUlVZV2xzSUQwZ2NtVnVaR1Z5VTNSaGRHVXVjbVZ1WkdWeWFXNW5PMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaVzVrWlhKbFpGUmhhV3dnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCcWRYTjBJSEpsYm1SbGNtVmtJSFJvWlNCb1pXRmtMbHh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2haR2xrVTNWemNHVnVaRUZzY21WaFpIa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ2FYTWdkR2hsSUdacGNuTjBJSEJoYzNNdUlGZGxJRzVsWldRZ2RHOGdabWxuZFhKbElHOTFkQ0JwWmlCaGJubDBhR2x1WnlCcGN5QnpkR2xzYkZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYzNWemNHVnVaR1ZrSUdsdUlIUm9aU0J5Wlc1a1pYSmxaQ0J6WlhRdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCSlppQnVaWGNnWTI5dWRHVnVkQ0IxYm5OMWMzQmxibVJsWkN3Z1luVjBJSFJvWlhKbEozTWdjM1JwYkd3Z2MyOXRaU0JqYjI1MFpXNTBJSFJvWVhSY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdScFpHNG5kQzRnVkdobGJpQjNaU0J1WldWa0lIUnZJR1J2SUdFZ2MyVmpiMjVrSUhCaGMzTWdkR2hoZENCbWIzSmpaWE1nWlhabGNubDBhR2x1WjF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnZEc4Z2EyVmxjQ0J6YUc5M2FXNW5JSFJvWldseUlHWmhiR3hpWVdOcmN5NWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJRzFwWjJoMElHSmxJSE4xYzNCbGJtUmxaQ0JwWmlCemIyMWxkR2hwYm1jZ2FXNGdkR2hwY3lCeVpXNWtaWElnY0dGemN5QnpkWE53Wlc1a1pXUXNJRzl5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ6YjIxbGRHaHBibWNnYVc0Z2RHaGxJSEJ5WlhacGIzVnpJR052YlcxcGRIUmxaQ0J3WVhOeklITjFjM0JsYm1SbFpDNGdUM1JvWlhKM2FYTmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hsY21VbmN5QnVieUJqYUdGdVkyVWdjMjhnZDJVZ1kyRnVJSE5yYVhBZ2RHaGxJR1Y0Y0dWdWMybDJaU0JqWVd4c0lIUnZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5Qm1hVzVrUm1seWMzUlRkWE53Wlc1a1pXUXVYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdZMkZ1Ym05MFFtVlRkWE53Wlc1a1pXUWdQU0J5Wlc1a1pYSklZWE5PYjNSVGRYTndaVzVrWldSWlpYUW9LU0FtSmlBb1kzVnljbVZ1ZENBOVBUMGdiblZzYkNCOGZDQW9ZM1Z5Y21WdWRDNWxabVpsWTNSVVlXY2dKaUJFYVdSRFlYQjBkWEpsS1NBOVBUMGdUbTlGWm1abFkzUXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdOaGJtNXZkRUpsVTNWemNHVnVaR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnliM2NnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb2NtOTNJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlITjFjM0JsYm1SbFpDQTlJR1pwYm1SR2FYSnpkRk4xYzNCbGJtUmxaQ2h5YjNjcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hOMWMzQmxibVJsWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR2xrVTNWemNHVnVaRUZzY21WaFpIa2dQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRVJwWkVOaGNIUjFjbVU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamRYUlBabVpVWVdsc1NXWk9aV1ZrWldRb2NtVnVaR1Z5VTNSaGRHVXNJR1poYkhObEtUc2dMeThnU1dZZ2RHaHBjeUJwY3lCaElHNWxkMng1SUhOMWMzQmxibVJsWkNCMGNtVmxMQ0JwZENCdGFXZG9kQ0J1YjNRZ1oyVjBJR052YlcxcGRIUmxaQ0JoYzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjR0Z5ZENCdlppQjBhR1VnYzJWamIyNWtJSEJoYzNNdUlFbHVJSFJvWVhRZ1kyRnpaU0J1YjNSb2FXNW5JSGRwYkd3Z2MzVmljMk55YVdKbElIUnZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCcGRITWdkR2hsYm01aFlteGxjeTRnU1c1emRHVmhaQ3dnZDJVbmJHd2dkSEpoYm5ObVpYSWdhWFJ6SUhSb1pXNXVZV0pzWlhNZ2RHOGdkR2hsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRkWE53Wlc1elpVeHBjM1FnYzI4Z2RHaGhkQ0JwZENCallXNGdjbVYwY25rZ2FXWWdkR2hsZVNCeVpYTnZiSFpsTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWR2hsY21VZ2JXbG5hSFFnWW1VZ2JYVnNkR2x3YkdVZ2IyWWdkR2hsYzJVZ2FXNGdkR2hsSUd4cGMzUWdZblYwSUhOcGJtTmxJSGRsSjNKbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJuYjJsdVp5QjBieUIzWVdsMElHWnZjaUJoYkd3Z2IyWWdkR2hsYlNCaGJubDNZWGtzSUdsMElHUnZaWE51SjNRZ2NtVmhiR3g1SUcxaGRIUmxjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2QyaHBZMmdnYjI1bGN5Qm5aWFJ6SUhSdklIQnBibWN1SUVsdUlIUm9aVzl5ZVNCM1pTQmpiM1ZzWkNCblpYUWdZMnhsZG1WeUlHRnVaQ0JyWldWd1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUIwY21GamF5QnZaaUJvYjNjZ2JXRnVlU0JrWlhCbGJtUmxibU5wWlhNZ2NtVnRZV2x1SUdKMWRDQnBkQ0JuWlhSeklIUnlhV05yZVNCaVpXTmhkWE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBiaUIwYUdVZ2JXVmhiblJwYldVc0lIZGxJR05oYmlCaFpHUXZjbVZ0YjNabEwyTm9ZVzVuWlNCcGRHVnRjeUJoYm1RZ1pHVndaVzVrWlc1amFXVnpMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyVWdiV2xuYUhRZ1ltRnBiQ0J2ZFhRZ2IyWWdkR2hsSUd4dmIzQWdZbVZtYjNKbElHWnBibVJwYm1jZ1lXNTVJR0oxZENCMGFHRjBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCa2IyVnpiaWQwSUcxaGRIUmxjaUJ6YVc1alpTQjBhR0YwSUcxbFlXNXpJSFJvWVhRZ2RHaGxJRzkwYUdWeUlHSnZkVzVrWVhKcFpYTWdkR2hoZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkMlVnWkdsa0lHWnBibVFnWVd4eVpXRmtlU0JvWVhNZ2RHaGxhWElnYkdsemRHVnVaWEp6SUdGMGRHRmphR1ZrTGx4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnYm1WM1ZHaGxibTVoWW14bGN5QTlJSE4xYzNCbGJtUmxaQzUxY0dSaGRHVlJkV1YxWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1bGQxUm9aVzV1WVdKc1pYTWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011ZFhCa1lYUmxVWFZsZFdVZ1BTQnVaWGRVYUdWdWJtRmliR1Z6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdWWEJrWVhSbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0F2THlCU1pYSmxibVJsY2lCMGFHVWdkMmh2YkdVZ2JHbHpkQ3dnWW5WMElIUm9hWE1nZEdsdFpTd2dkMlVuYkd3Z1ptOXlZMlVnWm1Gc2JHSmhZMnR6WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBieUJ6ZEdGNUlHbHVJSEJzWVdObExseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVW1WelpYUWdkR2hsSUdWbVptVmpkQ0JzYVhOMElHSmxabTl5WlNCa2IybHVaeUIwYUdVZ2MyVmpiMjVrSUhCaGMzTWdjMmx1WTJVZ2RHaGhkQ2R6SUc1dmR5QnBiblpoYkdsa0xseHVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlaVzVrWlhKVGRHRjBaUzVzWVhOMFJXWm1aV04wSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtWnBjbk4wUldabVpXTjBJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YkdGemRFVm1abVZqZENBOUlISmxibVJsY2xOMFlYUmxMbXhoYzNSRlptWmxZM1E3SUM4dklGSmxjMlYwSUhSb1pTQmphR2xzWkNCbWFXSmxjbk1nZEc4Z2RHaGxhWElnYjNKcFoybHVZV3dnYzNSaGRHVXVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMyVjBRMmhwYkdSR2FXSmxjbk1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1RzZ0x5OGdVMlYwSUhWd0lIUm9aU0JUZFhOd1pXNXpaU0JEYjI1MFpYaDBJSFJ2SUdadmNtTmxJSE4xYzNCbGJuTmxJR0Z1WkNCcGJXMWxaR2xoZEdWc2VWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnY21WeVpXNWtaWElnZEdobElHTm9hV3hrY21WdUxseHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3ZFhOb1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J6WlhSVGFHRnNiRzkzVTNWemNHVnVjMlZEYjI1MFpYaDBLSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkQ3dnUm05eVkyVlRkWE53Wlc1elpVWmhiR3hpWVdOcktTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtOTNJRDBnY205M0xuTnBZbXhwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZM1YwVDJabVZHRnBiRWxtVG1WbFpHVmtLSEpsYm1SbGNsTjBZWFJsTENCbVlXeHpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQXZMeUJPWlhoMElIZGxKM0psSUdkdmFXNW5JSFJ2SUhKbGJtUmxjaUIwYUdVZ2RHRnBiQzVjYmx4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRUZ3Y0dWdVpDQjBhR1VnY21WdVpHVnlaV1FnY205M0lIUnZJSFJvWlNCamFHbHNaQ0JzYVhOMExseHVJQ0FnSUNBZ0lDQWdJR2xtSUNnaFpHbGtVM1Z6Y0dWdVpFRnNjbVZoWkhrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmZjM1Z6Y0dWdVpHVmtJRDBnWm1sdVpFWnBjbk4wVTNWemNHVnVaR1ZrS0hKbGJtUmxjbVZrVkdGcGJDazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmYzNWemNHVnVaR1ZrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCRWFXUkRZWEIwZFhKbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2FXUlRkWE53Wlc1a1FXeHlaV0ZrZVNBOUlIUnlkV1U3SUM4dklFVnVjM1Z5WlNCM1pTQjBjbUZ1YzJabGNpQjBhR1VnZFhCa1lYUmxJSEYxWlhWbElIUnZJSFJvWlNCd1lYSmxiblFnYzI4Z2RHaGhkQ0JwZENCa2IyVnpiaWQwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdkbGRDQnNiM04wSUdsbUlIUm9hWE1nY205M0lHVnVaSE1nZFhBZ1pISnZjSEJsWkNCa2RYSnBibWNnWVNCelpXTnZibVFnY0dGemN5NWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnWDI1bGQxUm9aVzV1WVdKc1pYTWdQU0JmYzNWemNHVnVaR1ZrTG5Wd1pHRjBaVkYxWlhWbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmYm1WM1ZHaGxibTVoWW14bGN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnWDI1bGQxUm9aVzV1WVdKc1pYTTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRlZ3WkdGMFpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTjFkRTltWmxSaGFXeEpaazVsWldSbFpDaHlaVzVrWlhKVGRHRjBaU3dnZEhKMVpTazdJQzh2SUZSb2FYTWdiV2xuYUhRZ2FHRjJaU0JpWldWdUlHMXZaR2xtYVdWa0xseHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5Wlc1a1pYSlRkR0YwWlM1MFlXbHNJRDA5UFNCdWRXeHNJQ1ltSUhKbGJtUmxjbE4wWVhSbExuUmhhV3hOYjJSbElEMDlQU0FuYUdsa1pHVnVKeUFtSmlBaGNtVnVaR1Z5WldSVVlXbHNMbUZzZEdWeWJtRjBaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJRzVsWldRZ2RHOGdaR1ZzWlhSbElIUm9aU0J5YjNjZ2QyVWdhblZ6ZENCeVpXNWtaWEpsWkM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlNaWE5sZENCMGFHVWdaV1ptWldOMElHeHBjM1FnZEc4Z2QyaGhkQ0JwZENCM1lYTWdZbVZtYjNKbElIZGxJSEpsYm1SbGNtVmtJSFJvYVhOY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmphR2xzWkM0Z1ZHaGxJRzVsYzNSbFpDQmphR2xzWkhKbGJpQm9ZWFpsSUdGc2NtVmhaSGtnWVhCd1pXNWtaV1FnZEdobGJYTmxiSFpsY3k1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdiR0Z6ZEVWbVptVmpkQ0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbXhoYzNSRlptWmxZM1FnUFNCeVpXNWtaWEpUZEdGMFpTNXNZWE4wUldabVpXTjBPeUF2THlCU1pXMXZkbVVnWVc1NUlHVm1abVZqZEhNZ2RHaGhkQ0IzWlhKbElHRndjR1Z1WkdWa0lHRm1kR1Z5SUhSb2FYTWdjRzlwYm5RdVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYkdGemRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR0Z6ZEVWbVptVmpkQzV1WlhoMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUM4dklGZGxKM0psSUdSdmJtVXVYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0NBdkx5QlVhR1VnZEdsdFpTQnBkQ0IwYjI5cklIUnZJSEpsYm1SbGNpQnNZWE4wSUhKdmR5QnBjeUJuY21WaGRHVnlJSFJvWVc0Z2RHbHRaU0IxYm5ScGJGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxJR1Y0Y0dseVlYUnBiMjR1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnViM2NvS1NBcUlESWdMU0J5Wlc1a1pYSlRkR0YwWlM1eVpXNWtaWEpwYm1kVGRHRnlkRlJwYldVZ1BpQnlaVzVrWlhKVGRHRjBaUzUwWVdsc1JYaHdhWEpoZEdsdmJpQW1KaUJ5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNBK0lFNWxkbVZ5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJR2hoZG1VZ2JtOTNJSEJoYzNObFpDQnZkWElnUTFCVklHUmxZV1JzYVc1bElHRnVaQ0IzWlNkc2JDQnFkWE4wSUdkcGRtVWdkWEFnWm5WeWRHaGxjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJoZEhSbGJYQjBjeUIwYnlCeVpXNWtaWElnZEdobElHMWhhVzRnWTI5dWRHVnVkQ0JoYm1RZ2IyNXNlU0J5Wlc1a1pYSWdabUZzYkdKaFkydHpMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdVZ1lYTnpkVzF3ZEdsdmJpQnBjeUIwYUdGMElIUm9hWE1nYVhNZ2RYTjFZV3hzZVNCbVlYTjBaWEl1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JFYVdSRFlYQjBkWEpsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVdSVGRYTndaVzVrUVd4eVpXRmtlU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTjFkRTltWmxSaGFXeEpaazVsWldSbFpDaHlaVzVrWlhKVGRHRjBaU3dnWm1Gc2MyVXBPeUF2THlCVGFXNWpaU0J1YjNSb2FXNW5JR0ZqZEhWaGJHeDVJSE4xYzNCbGJtUmxaQ3dnZEdobGNtVWdkMmxzYkNCdWIzUm9hVzVuSUhSdklIQnBibWNnZEdocGMxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBieUJuWlhRZ2FYUWdjM1JoY25SbFpDQmlZV05ySUhWd0lIUnZJR0YwZEdWdGNIUWdkR2hsSUc1bGVIUWdhWFJsYlM0Z1NXWWdkMlVnWTJGdUlITm9iM2RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdobGJTd2dkR2hsYmlCMGFHVjVJSEpsWVd4c2VTQm9ZWFpsSUhSb1pTQnpZVzFsSUhCeWFXOXlhWFI1SUdGeklIUm9hWE1nY21WdVpHVnlMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJUYnlCM1pTZHNiQ0J3YVdOcklHbDBJR0poWTJzZ2RYQWdkR2hsSUhabGNua2dibVY0ZENCeVpXNWtaWElnY0dGemN5QnZibU5sSUhkbEozWmxJR2hoWkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCaGJpQnZjSEJ2Y25SMWJtbDBlU0IwYnlCNWFXVnNaQ0JtYjNJZ2NHRnBiblF1WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHNWxlSFJRY21sdmNtbDBlU0E5SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbElDMGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2JtVjRkRkJ5YVc5eWFYUjVPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhKclUzQmhkMjVsWkZkdmNtc29ibVY0ZEZCeWFXOXlhWFI1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXNWtaWEpUZEdGMFpTNXBjMEpoWTJ0M1lYSmtjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVkdobElHVm1abVZqZENCc2FYTjBJRzltSUhSb1pTQmlZV05yZDJGeVpITWdkR0ZwYkNCM2FXeHNJR2hoZG1VZ1ltVmxiaUJoWkdSbFpGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHOGdkR2hsSUdWdVpDNGdWR2hwY3lCaWNtVmhhM01nZEdobElHZDFZWEpoYm5SbFpTQjBhR0YwSUd4cFptVXRZM2xqYkdWeklHWnBjbVVnYVc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhOcFlteHBibWNnYjNKa1pYSWdZblYwSUhSb1lYUWdhWE51SjNRZ1lTQnpkSEp2Ym1jZ1ozVmhjbUZ1ZEdWbElIQnliMjFwYzJWa0lHSjVJRkpsWVdOMExseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1JYTndaV05wWVd4c2VTQnphVzVqWlNCMGFHVnpaU0J0YVdkb2RDQmhiSE52SUdwMWMzUWdjRzl3SUdsdUlHUjFjbWx1WnlCbWRYUjFjbVVnWTI5dGJXbDBjeTVjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRUZ3Y0dWdVpDQjBieUIwYUdVZ1ltVm5hVzV1YVc1bklHOW1JSFJvWlNCc2FYTjBMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnVaR1Z5WldSVVlXbHNMbk5wWW14cGJtY2dQU0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2NtVnVaR1Z5WldSVVlXbHNPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnY0hKbGRtbHZkWE5UYVdKc2FXNW5JRDBnY21WdVpHVnlVM1JoZEdVdWJHRnpkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hCeVpYWnBiM1Z6VTJsaWJHbHVaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMmFXOTFjMU5wWW14cGJtY3VjMmxpYkdsdVp5QTlJSEpsYm1SbGNtVmtWR0ZwYkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtJRDBnY21WdVpHVnlaV1JVWVdsc08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5Wlc1a1pYSlRkR0YwWlM1c1lYTjBJRDBnY21WdVpHVnlaV1JVWVdsc08xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2h5Wlc1a1pYSlRkR0YwWlM1MFlXbHNJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWMlVnYzNScGJHd2dhR0YyWlNCMFlXbHNJSEp2ZDNNZ2RHOGdjbVZ1WkdWeUxseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXNWtaWEpUZEdGMFpTNTBZV2xzUlhod2FYSmhkR2x2YmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnU0dWMWNtbHpkR2xqSUdadmNpQm9iM2NnYkc5dVp5QjNaU2R5WlNCM2FXeHNhVzVuSUhSdklITndaVzVrSUhKbGJtUmxjbWx1WnlCeWIzZHpYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjFiblJwYkNCM1pTQnFkWE4wSUdkcGRtVWdkWEFnWVc1a0lITm9iM2NnZDJoaGRDQjNaU0JvWVhabElITnZJR1poY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCVVFVbE1YMFZZVUVsU1FWUkpUMDVmVkVsTlJVOVZWRjlOVXlBOUlEVXdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxibVJsY2xOMFlYUmxMblJoYVd4RmVIQnBjbUYwYVc5dUlEMGdibTkzS0NrZ0t5QlVRVWxNWDBWWVVFbFNRVlJKVDA1ZlZFbE5SVTlWVkY5TlV6c2dMeThnVkU5RVR6b2dWR2hwY3lCcGN5QnRaV0Z1ZENCMGJ5QnRhVzFwWXlCMGFHVWdkSEpoYVc0Z2JXOWtaV3dnYjNJZ1NrNUVJR0oxZENCMGFHbHpYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBjeUJoSUhCbGNpQmpiMjF3YjI1bGJuUWdkbUZzZFdVdUlFbDBJSE5vYjNWc1pDQnlaV0ZzYkhrZ1ltVWdjMmx1WTJVZ2RHaGxJSE4wWVhKMFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCdlppQjBhR1VnZEc5MFlXd2djbVZ1WkdWeUlHOXlJR3hoYzNRZ1kyOXRiV2wwTGlCRGIyNXphV1JsY2lCMWMybHVaeUJ6YjIxbGRHaHBibWNnYkdsclpWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1oyeHZZbUZzVFc5emRGSmxZMlZ1ZEVaaGJHeGlZV05yVkdsdFpTNGdWR2hoZENCa2IyVnpiaWQwSUdGalkyOTFiblFnWm05eUlHSmxhVzVuWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ6ZFhOd1pXNWtaV1FnWm05eUlIQmhjblFnYjJZZ2RHaGxJSFJwYldVZ2IzSWdkMmhsYmlCcGRDZHpJR0VnYm1WM0lISmxibVJsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsMElITm9iM1ZzWkNCd2NtOWlZV0pzZVNCMWMyVWdZU0JuYkc5aVlXd2djM1JoY25RZ2RHbHRaU0IyWVd4MVpTQnBibk4wWldGa0xseHVJQ0FnSUNBZ0lDQWdJSDBnTHk4Z1VHOXdJR0VnY205M0xseHVYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdibVY0ZENBOUlISmxibVJsY2xOMFlYUmxMblJoYVd3N1hHNGdJQ0FnSUNBZ0lDQWdjbVZ1WkdWeVUzUmhkR1V1Y21WdVpHVnlhVzVuSUQwZ2JtVjRkRHRjYmlBZ0lDQWdJQ0FnSUNCeVpXNWtaWEpUZEdGMFpTNTBZV2xzSUQwZ2JtVjRkQzV6YVdKc2FXNW5PMXh1SUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExteGhjM1JGWm1abFkzUWdQU0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExuSmxibVJsY21sdVoxTjBZWEowVkdsdFpTQTlJRzV2ZHlncE8xeHVJQ0FnSUNBZ0lDQWdJRzVsZUhRdWMybGliR2x1WnlBOUlHNTFiR3c3SUM4dklGSmxjM1J2Y21VZ2RHaGxJR052Ym5SbGVIUXVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nVjJVZ1kyRnVJSEJ5YjJKaFlteDVJR3AxYzNRZ1lYWnZhV1FnY0c5d2NHbHVaeUJwZENCcGJuTjBaV0ZrSUdGdVpDQnZibXg1WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdjMlYwZEdsdVp5QnBkQ0IwYUdVZ1ptbHljM1FnZEdsdFpTQjNaU0JuYnlCbWNtOXRJRzV2ZENCemRYTndaVzVrWldRZ2RHOGdjM1Z6Y0dWdVpHVmtMbHh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSE4xYzNCbGJuTmxRMjl1ZEdWNGRDQTlJSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hrYVdSVGRYTndaVzVrUVd4eVpXRmtlU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM1Z6Y0dWdWMyVkRiMjUwWlhoMElEMGdjMlYwVTJoaGJHeHZkMU4xYzNCbGJuTmxRMjl1ZEdWNGRDaHpkWE53Wlc1elpVTnZiblJsZUhRc0lFWnZjbU5sVTNWemNHVnVjMlZHWVd4c1ltRmpheWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xYzNCbGJuTmxRMjl1ZEdWNGRDQTlJSE5sZEVSbFptRjFiSFJUYUdGc2JHOTNVM1Z6Y0dWdWMyVkRiMjUwWlhoMEtITjFjM0JsYm5ObFEyOXVkR1Y0ZENrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2NIVnphRk4xYzNCbGJuTmxRMjl1ZEdWNGRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2MzVnpjR1Z1YzJWRGIyNTBaWGgwS1RzZ0x5OGdSRzhnWVNCd1lYTnpJRzkyWlhJZ2RHaGxJRzVsZUhRZ2NtOTNMbHh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVmJtdHViM2R1SUhWdWFYUWdiMllnZDI5eWF5QjBZV2NnS0Z3aUlDc2dkMjl5YTBsdVVISnZaM0psYzNNdWRHRm5JQ3NnWENJcExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ1ZDJsdVpGZHZjbXNvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSE4zYVhSamFDQW9kMjl5YTBsdVVISnZaM0psYzNNdWRHRm5LU0I3WEc0Z0lDQWdZMkZ6WlNCRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlFTnZiWEJ2Ym1WdWRDQTlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6UTI5dWRHVjRkRkJ5YjNacFpHVnlLRU52YlhCdmJtVnVkQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiM0JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhaaGNpQmxabVpsWTNSVVlXY2dQU0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXYzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHVm1abVZqZEZSaFp5QW1JRk5vYjNWc1pFTmhjSFIxY21VcElIdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dQU0JsWm1abFkzUlVZV2NnSmlCK1UyaHZkV3hrUTJGd2RIVnlaU0I4SUVScFpFTmhjSFIxY21VN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHZjbXRKYmxCeWIyZHlaWE56TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElFaHZjM1JTYjI5ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQndiM0JJYjNOMFEyOXVkR0ZwYm1WeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ2NHOXdWRzl3VEdWMlpXeERiMjUwWlhoMFQySnFaV04wS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlGOWxabVpsWTNSVVlXY2dQU0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXYzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRW9LRjlsWm1abFkzUlVZV2NnSmlCRWFXUkRZWEIwZFhKbEtTQTlQVDBnVG05RlptWmxZM1FwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpVkdobElISnZiM1FnWm1GcGJHVmtJSFJ2SUhWdWJXOTFiblFnWVdaMFpYSWdZVzRnWlhKeWIzSXVJRlJvYVhNZ2FYTWdiR2xyWld4NUlHRWdZblZuSUdsdUlGSmxZV04wTGlCUWJHVmhjMlVnWm1sc1pTQmhiaUJwYzNOMVpTNWNJaUFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUE5SUY5bFptWmxZM1JVWVdjZ0ppQitVMmh2ZFd4a1EyRndkSFZ5WlNCOElFUnBaRU5oY0hSMWNtVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjNiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ2NHOXdTSGxrY21GMGFXOXVVM1JoZEdWY2JpQWdJQ0FnSUNBZ2NHOXdTRzl6ZEVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEJ2Y0ZOMWMzQmxibk5sUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlGOWxabVpsWTNSVVlXY3lJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5PMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGZaV1ptWldOMFZHRm5NaUFtSUZOb2IzVnNaRU5oY0hSMWNtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnUFNCZlpXWm1aV04wVkdGbk1pQW1JSDVUYUc5MWJHUkRZWEIwZFhKbElId2dSR2xrUTJGd2RIVnlaVHNnTHk4Z1EyRndkSFZ5WldRZ1lTQnpkWE53Wlc1elpTQmxabVpsWTNRdUlGSmxMWEpsYm1SbGNpQjBhR1VnWW05MWJtUmhjbmt1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM003WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWTWFYTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0J3YjNCVGRYTndaVzV6WlVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPeUF2THlCVGRYTndaVzV6WlV4cGMzUWdaRzlsYzI0bmRDQmhZM1IxWVd4c2VTQmpZWFJqYUNCaGJubDBhR2x1Wnk0Z1NYUWdjMmh2ZFd4a0ozWmxJR0psWlc1Y2JpQWdJQ0FnSUNBZ0x5OGdZMkYxWjJoMElHSjVJR0VnYm1WemRHVmtJR0p2ZFc1a1lYSjVMaUJKWmlCdWIzUXNJR2wwSUhOb2IzVnNaQ0JpZFdKaWJHVWdkR2h5YjNWbmFDNWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZCdmNuUmhiRHBjYmlBZ0lDQWdJSEJ2Y0VodmMzUkRiMjUwWVdsdVpYSW9kMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQmpZWE5sSUVOdmJuUmxlSFJRY205MmFXUmxjanBjYmlBZ0lDQWdJSEJ2Y0ZCeWIzWnBaR1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVkMmx1WkVsdWRHVnljblZ3ZEdWa1YyOXlheWhwYm5SbGNuSjFjSFJsWkZkdmNtc3BJSHRjYmlBZ2MzZHBkR05vSUNocGJuUmxjbkoxY0hSbFpGZHZjbXN1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JEYkdGemMwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUQwZ2FXNTBaWEp5ZFhCMFpXUlhiM0pyTG5SNWNHVXVZMmhwYkdSRGIyNTBaWGgwVkhsd1pYTTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTm9hV3hrUTI5dWRHVjRkRlI1Y0dWeklDRTlQU0J1ZFd4c0lDWW1JR05vYVd4a1EyOXVkR1Y0ZEZSNWNHVnpJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0J3YjNCRGIyNTBaWGgwS0dsdWRHVnljblZ3ZEdWa1YyOXlheWs3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZKdmIzUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEJ2Y0VodmMzUkRiMjUwWVdsdVpYSW9hVzUwWlhKeWRYQjBaV1JYYjNKcktUdGNiaUFnSUNBZ0lDQWdjRzl3Vkc5d1RHVjJaV3hEYjI1MFpYaDBUMkpxWldOMEtHbHVkR1Z5Y25Wd2RHVmtWMjl5YXlrN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQkliM04wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCd2IzQkliM04wUTI5dWRHVjRkQ2hwYm5SbGNuSjFjSFJsWkZkdmNtc3BPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnU0c5emRGQnZjblJoYkRwY2JpQWdJQ0FnSUhCdmNFaHZjM1JEYjI1MFlXbHVaWElvYVc1MFpYSnlkWEIwWldSWGIzSnJLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSEJ2Y0ZOMWMzQmxibk5sUTI5dWRHVjRkQ2hwYm5SbGNuSjFjSFJsWkZkdmNtc3BPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJRk4xYzNCbGJuTmxUR2x6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUhCdmNGTjFjM0JsYm5ObFEyOXVkR1Y0ZENocGJuUmxjbkoxY0hSbFpGZHZjbXNwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQmpZWE5sSUVOdmJuUmxlSFJRY205MmFXUmxjanBjYmlBZ0lDQWdJSEJ2Y0ZCeWIzWnBaR1Z5S0dsdWRHVnljblZ3ZEdWa1YyOXlheWs3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkRZWEIwZFhKbFpGWmhiSFZsS0haaGJIVmxMQ0J6YjNWeVkyVXBJSHRjYmlBZ0x5OGdTV1lnZEdobElIWmhiSFZsSUdseklHRnVJR1Z5Y205eUxDQmpZV3hzSUhSb2FYTWdablZ1WTNScGIyNGdhVzF0WldScFlYUmxiSGtnWVdaMFpYSWdhWFFnYVhNZ2RHaHliM2R1WEc0Z0lDOHZJSE52SUhSb1pTQnpkR0ZqYXlCcGN5QmhZMk4xY21GMFpTNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQjJZV3gxWlRvZ2RtRnNkV1VzWEc0Z0lDQWdjMjkxY21ObE9pQnpiM1Z5WTJVc1hHNGdJQ0FnYzNSaFkyczZJR2RsZEZOMFlXTnJRbmxHYVdKbGNrbHVSR1YyUVc1a1VISnZaQ2h6YjNWeVkyVXBYRzRnSUgwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUd4dlowTmhjSFIxY21Wa1JYSnliM0lvWTJGd2RIVnlaV1JGY25KdmNpa2dlMXh1WEc0Z0lIWmhjaUJsY25KdmNpQTlJR05oY0hSMWNtVmtSWEp5YjNJdVpYSnliM0k3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJqYjIxd2IyNWxiblJPWVcxbElEMGdZMkZ3ZEhWeVpXUkZjbkp2Y2k1amIyMXdiMjVsYm5ST1lXMWxMRnh1SUNBZ0lDQWdJQ0JqYjIxd2IyNWxiblJUZEdGamF5QTlJR05oY0hSMWNtVmtSWEp5YjNJdVkyOXRjRzl1Wlc1MFUzUmhZMnNzWEc0Z0lDQWdJQ0FnSUdWeWNtOXlRbTkxYm1SaGNubE9ZVzFsSUQwZ1kyRndkSFZ5WldSRmNuSnZjaTVsY25KdmNrSnZkVzVrWVhKNVRtRnRaU3hjYmlBZ0lDQWdJQ0FnWlhKeWIzSkNiM1Z1WkdGeWVVWnZkVzVrSUQwZ1kyRndkSFZ5WldSRmNuSnZjaTVsY25KdmNrSnZkVzVrWVhKNVJtOTFibVFzWEc0Z0lDQWdJQ0FnSUhkcGJHeFNaWFJ5ZVNBOUlHTmhjSFIxY21Wa1JYSnliM0l1ZDJsc2JGSmxkSEo1T3lBdkx5QkNjbTkzYzJWeWN5QnpkWEJ3YjNKMElITnBiR1Z1WTJsdVp5QjFibU5oZFdkb2RDQmxjbkp2Y25NZ1lua2dZMkZzYkdsdVoxeHVJQ0FnSUM4dklHQndjbVYyWlc1MFJHVm1ZWFZzZENncFlDQnBiaUIzYVc1a2IzY2dZR1Z5Y205eVlDQm9ZVzVrYkdWeUxseHVJQ0FnSUM4dklGZGxJSEpsWTI5eVpDQjBhR2x6SUdsdVptOXliV0YwYVc5dUlHRnpJR0Z1SUdWNGNHRnVaRzhnYjI0Z2RHaGxJR1Z5Y205eUxseHVYRzRnSUNBZ2FXWWdLR1Z5Y205eUlDRTlJRzUxYkd3Z0ppWWdaWEp5YjNJdVgzTjFjSEJ5WlhOelRHOW5aMmx1WnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLR1Z5Y205eVFtOTFibVJoY25sR2IzVnVaQ0FtSmlCM2FXeHNVbVYwY25rcElIdGNiaUFnSUNBZ0lDQWdMeThnVkdobElHVnljbTl5SUdseklISmxZMjkyWlhKaFlteGxJR0Z1WkNCM1lYTWdjMmxzWlc1alpXUXVYRzRnSUNBZ0lDQWdJQzh2SUVsbmJtOXlaU0JwZENCaGJtUWdaRzl1SjNRZ2NISnBiblFnZEdobElITjBZV05ySUdGa1pHVnVaSFZ0TGx4dUlDQWdJQ0FnSUNBdkx5QlVhR2x6SUdseklHaGhibVI1SUdadmNpQjBaWE4wYVc1bklHVnljbTl5SUdKdmRXNWtZWEpwWlhNZ2QybDBhRzkxZENCdWIybHpaUzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmU0F2THlCVWFHVWdaWEp5YjNJZ2FYTWdabUYwWVd3dUlGTnBibU5sSUhSb1pTQnphV3hsYm1OcGJtY2diV2xuYUhRZ2FHRjJaVnh1SUNBZ0lDQWdMeThnWW1WbGJpQmhZMk5wWkdWdWRHRnNMQ0IzWlNkc2JDQnpkWEptWVdObElHbDBJR0Z1ZVhkaGVTNWNiaUFnSUNBZ0lDOHZJRWh2ZDJWMlpYSXNJSFJvWlNCaWNtOTNjMlZ5SUhkdmRXeGtJR2hoZG1VZ2MybHNaVzVqWldRZ2RHaGxJRzl5YVdkcGJtRnNJR1Z5Y205eVhHNGdJQ0FnSUNBdkx5QnpieUIzWlNkc2JDQndjbWx1ZENCcGRDQm1hWEp6ZEN3Z1lXNWtJSFJvWlc0Z2NISnBiblFnZEdobElITjBZV05ySUdGa1pHVnVaSFZ0TGx4dVhHNWNiaUFnSUNBZ0lHTnZibk52YkdWYkoyVnljbTl5SjEwb1pYSnliM0lwT3lBdkx5QkViMjRuZENCMGNtRnVjMlp2Y20wZ2RHOGdiM1Z5SUhkeVlYQndaWEpjYmlBZ0lDQWdJQzh2SUVadmNpQmhJRzF2Y21VZ1pHVjBZV2xzWldRZ1pHVnpZM0pwY0hScGIyNGdiMllnZEdocGN5QmliRzlqYXl3Z2MyVmxPbHh1SUNBZ0lDQWdMeThnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyTDNKbFlXTjBMM0IxYkd3dk1UTXpPRFJjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpVMWxjM05oWjJVZ1BTQmpiMjF3YjI1bGJuUk9ZVzFsSUQ4Z1hDSlVhR1VnWVdKdmRtVWdaWEp5YjNJZ2IyTmpkWEp5WldRZ2FXNGdkR2hsSUR4Y0lpQXJJR052YlhCdmJtVnVkRTVoYldVZ0t5QmNJajRnWTI5dGNHOXVaVzUwT2x3aUlEb2dKMVJvWlNCaFltOTJaU0JsY25KdmNpQnZZMk4xY25KbFpDQnBiaUJ2Ym1VZ2IyWWdlVzkxY2lCU1pXRmpkQ0JqYjIxd2IyNWxiblJ6T2ljN1hHNGdJQ0FnZG1GeUlHVnljbTl5UW05MWJtUmhjbmxOWlhOellXZGxPeUF2THlCbGNuSnZja0p2ZFc1a1lYSjVSbTkxYm1RZ1kyaGxZMnNnYVhNZ2MzVm1abWxqYVdWdWREc2daWEp5YjNKQ2IzVnVaR0Z5ZVU1aGJXVWdZMmhsWTJzZ2FYTWdkRzhnYzJGMGFYTm1lU0JHYkc5M0xseHVYRzRnSUNBZ2FXWWdLR1Z5Y205eVFtOTFibVJoY25sR2IzVnVaQ0FtSmlCbGNuSnZja0p2ZFc1a1lYSjVUbUZ0WlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSGRwYkd4U1pYUnllU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZja0p2ZFc1a1lYSjVUV1Z6YzJGblpTQTlJRndpVW1WaFkzUWdkMmxzYkNCMGNua2dkRzhnY21WamNtVmhkR1VnZEdocGN5QmpiMjF3YjI1bGJuUWdkSEpsWlNCbWNtOXRJSE5qY21GMFkyZ2dYQ0lnS3lBb1hDSjFjMmx1WnlCMGFHVWdaWEp5YjNJZ1ltOTFibVJoY25rZ2VXOTFJSEJ5YjNacFpHVmtMQ0JjSWlBcklHVnljbTl5UW05MWJtUmhjbmxPWVcxbElDc2dYQ0l1WENJcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0pDYjNWdVpHRnllVTFsYzNOaFoyVWdQU0JjSWxSb2FYTWdaWEp5YjNJZ2QyRnpJR2x1YVhScFlXeHNlU0JvWVc1a2JHVmtJR0o1SUhSb1pTQmxjbkp2Y2lCaWIzVnVaR0Z5ZVNCY0lpQXJJR1Z5Y205eVFtOTFibVJoY25sT1lXMWxJQ3NnWENJdVhGeHVYQ0lnS3lCY0lsSmxZM0psWVhScGJtY2dkR2hsSUhSeVpXVWdabkp2YlNCelkzSmhkR05vSUdaaGFXeGxaQ0J6YnlCU1pXRmpkQ0IzYVd4c0lIVnViVzkxYm5RZ2RHaGxJSFJ5WldVdVhDSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdWeWNtOXlRbTkxYm1SaGNubE5aWE56WVdkbElEMGdKME52Ym5OcFpHVnlJR0ZrWkdsdVp5QmhiaUJsY25KdmNpQmliM1Z1WkdGeWVTQjBieUI1YjNWeUlIUnlaV1VnZEc4Z1kzVnpkRzl0YVhwbElHVnljbTl5SUdoaGJtUnNhVzVuSUdKbGFHRjJhVzl5TGx4Y2JpY2dLeUFuVm1semFYUWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzFsY25KdmNpMWliM1Z1WkdGeWFXVnpJSFJ2SUd4bFlYSnVJRzF2Y21VZ1lXSnZkWFFnWlhKeWIzSWdZbTkxYm1SaGNtbGxjeTRuTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCamIyMWlhVzVsWkUxbGMzTmhaMlVnUFNCY0lsd2lJQ3NnWTI5dGNHOXVaVzUwVG1GdFpVMWxjM05oWjJVZ0t5QmpiMjF3YjI1bGJuUlRkR0ZqYXlBcklGd2lYRnh1WEZ4dVhDSWdLeUFvWENKY0lpQXJJR1Z5Y205eVFtOTFibVJoY25sTlpYTnpZV2RsS1RzZ0x5OGdTVzRnWkdWMlpXeHZjRzFsYm5Rc0lIZGxJSEJ5YjNacFpHVWdiM1Z5SUc5M2JpQnRaWE56WVdkbElIZHBkR2dnYW5WemRDQjBhR1VnWTI5dGNHOXVaVzUwSUhOMFlXTnJMbHh1SUNBZ0lDOHZJRmRsSUdSdmJpZDBJR2x1WTJ4MVpHVWdkR2hsSUc5eWFXZHBibUZzSUdWeWNtOXlJRzFsYzNOaFoyVWdZVzVrSUVwVElITjBZV05ySUdKbFkyRjFjMlVnZEdobElHSnliM2R6WlhKY2JpQWdJQ0F2THlCb1lYTWdZV3h5WldGa2VTQndjbWx1ZEdWa0lHbDBMaUJGZG1WdUlHbG1JSFJvWlNCaGNIQnNhV05oZEdsdmJpQnpkMkZzYkc5M2N5QjBhR1VnWlhKeWIzSXNJR2wwSUdseklITjBhV3hzWEc0Z0lDQWdMeThnWkdsemNHeGhlV1ZrSUdKNUlIUm9aU0JpY205M2MyVnlJSFJvWVc1cmN5QjBieUIwYUdVZ1JFVldMVzl1YkhrZ1ptRnJaU0JsZG1WdWRDQjBjbWxqYXlCcGJpQlNaV0ZqZEVWeWNtOXlWWFJwYkhNdVhHNWNiaUFnSUNCamIyNXpiMnhsV3lkbGNuSnZjaWRkS0dOdmJXSnBibVZrVFdWemMyRm5aU2s3SUM4dklFUnZiaWQwSUhSeVlXNXpabTl5YlNCMGJ5QnZkWElnZDNKaGNIQmxjbHh1SUNCOVhHNTlYRzVjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJWYm1SbFptbHVaV1JUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNBOUlHNTFiR3c3WEc1Y2JudGNiaUFnWkdsa1YyRnlia0ZpYjNWMFZXNWtaV1pwYm1Wa1UyNWhjSE5vYjNSQ1pXWnZjbVZWY0dSaGRHVWdQU0J1WlhjZ1UyVjBLQ2s3WEc1OVhHNWNiblpoY2lCUWIzTnphV0pzZVZkbFlXdFRaWFFnUFNCMGVYQmxiMllnVjJWaGExTmxkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QS9JRmRsWVd0VFpYUWdPaUJUWlhRN1hHNW1kVzVqZEdsdmJpQnNiMmRGY25KdmNpaGliM1Z1WkdGeWVTd2daWEp5YjNKSmJtWnZLU0I3WEc0Z0lIWmhjaUJ6YjNWeVkyVWdQU0JsY25KdmNrbHVabTh1YzI5MWNtTmxPMXh1SUNCMllYSWdjM1JoWTJzZ1BTQmxjbkp2Y2tsdVptOHVjM1JoWTJzN1hHNWNiaUFnYVdZZ0tITjBZV05ySUQwOVBTQnVkV3hzSUNZbUlITnZkWEpqWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhOMFlXTnJJRDBnWjJWMFUzUmhZMnRDZVVacFltVnlTVzVFWlhaQmJtUlFjbTlrS0hOdmRYSmpaU2s3WEc0Z0lIMWNibHh1SUNCMllYSWdZMkZ3ZEhWeVpXUkZjbkp2Y2lBOUlIdGNiaUFnSUNCamIyMXdiMjVsYm5ST1lXMWxPaUJ6YjNWeVkyVWdJVDA5SUc1MWJHd2dQeUJuWlhSRGIyMXdiMjVsYm5ST1lXMWxLSE52ZFhKalpTNTBlWEJsS1NBNklHNTFiR3dzWEc0Z0lDQWdZMjl0Y0c5dVpXNTBVM1JoWTJzNklITjBZV05ySUNFOVBTQnVkV3hzSUQ4Z2MzUmhZMnNnT2lBbkp5eGNiaUFnSUNCbGNuSnZjam9nWlhKeWIzSkpibVp2TG5aaGJIVmxMRnh1SUNBZ0lHVnljbTl5UW05MWJtUmhjbms2SUc1MWJHd3NYRzRnSUNBZ1pYSnliM0pDYjNWdVpHRnllVTVoYldVNklHNTFiR3dzWEc0Z0lDQWdaWEp5YjNKQ2IzVnVaR0Z5ZVVadmRXNWtPaUJtWVd4elpTeGNiaUFnSUNCM2FXeHNVbVYwY25rNklHWmhiSE5sWEc0Z0lIMDdYRzVjYmlBZ2FXWWdLR0p2ZFc1a1lYSjVJQ0U5UFNCdWRXeHNJQ1ltSUdKdmRXNWtZWEo1TG5SaFp5QTlQVDBnUTJ4aGMzTkRiMjF3YjI1bGJuUXBJSHRjYmlBZ0lDQmpZWEIwZFhKbFpFVnljbTl5TG1WeWNtOXlRbTkxYm1SaGNua2dQU0JpYjNWdVpHRnllUzV6ZEdGMFpVNXZaR1U3WEc0Z0lDQWdZMkZ3ZEhWeVpXUkZjbkp2Y2k1bGNuSnZja0p2ZFc1a1lYSjVUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb1ltOTFibVJoY25rdWRIbHdaU2s3WEc0Z0lDQWdZMkZ3ZEhWeVpXUkZjbkp2Y2k1bGNuSnZja0p2ZFc1a1lYSjVSbTkxYm1RZ1BTQjBjblZsTzF4dUlDQWdJR05oY0hSMWNtVmtSWEp5YjNJdWQybHNiRkpsZEhKNUlEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdiRzluUTJGd2RIVnlaV1JGY25KdmNpaGpZWEIwZFhKbFpFVnljbTl5S1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQzh2SUZSb2FYTWdiV1YwYUc5a0lHMTFjM1FnYm05MElIUm9jbTkzTENCdmNpQlNaV0ZqZENCcGJuUmxjbTVoYkNCemRHRjBaU0IzYVd4c0lHZGxkQ0J0WlhOelpXUWdkWEF1WEc0Z0lDQWdMeThnU1dZZ1kyOXVjMjlzWlM1bGNuSnZjaUJwY3lCdmRtVnljbWxrWkdWdUxDQnZjaUJzYjJkRFlYQjBkWEpsWkVWeWNtOXlLQ2tnYzJodmQzTWdZU0JrYVdGc2IyY2dkR2hoZENCMGFISnZkM01zWEc0Z0lDQWdMeThnZDJVZ2QyRnVkQ0IwYnlCeVpYQnZjblFnZEdocGN5Qmxjbkp2Y2lCdmRYUnphV1JsSUc5bUlIUm9aU0J1YjNKdFlXd2djM1JoWTJzZ1lYTWdZU0JzWVhOMElISmxjMjl5ZEM1Y2JpQWdJQ0F2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlptRmpaV0p2YjJzdmNtVmhZM1F2YVhOemRXVnpMekV6TVRnNFhHNGdJQ0FnYzJWMFZHbHRaVzkxZENobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCbE8xeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCallXeHNRMjl0Y0c5dVpXNTBWMmxzYkZWdWJXOTFiblJYYVhSb1ZHbHRaWElnUFNCbWRXNWpkR2x2YmlBb1kzVnljbVZ1ZEN3Z2FXNXpkR0Z1WTJVcElIdGNiaUFnYzNSaGNuUlFhR0Z6WlZScGJXVnlLR04xY25KbGJuUXNJQ2RqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENjcE8xeHVJQ0JwYm5OMFlXNWpaUzV3Y205d2N5QTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlFjbTl3Y3p0Y2JpQWdhVzV6ZEdGdVkyVXVjM1JoZEdVZ1BTQmpkWEp5Wlc1MExtMWxiVzlwZW1Wa1UzUmhkR1U3WEc0Z0lHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hWYm0xdmRXNTBLQ2s3WEc0Z0lITjBiM0JRYUdGelpWUnBiV1Z5S0NrN1hHNTlPeUF2THlCRFlYQjBkWEpsSUdWeWNtOXljeUJ6YnlCMGFHVjVJR1J2YmlkMElHbHVkR1Z5Y25Wd2RDQjFibTF2ZFc1MGFXNW5MbHh1WEc1Y2JtWjFibU4wYVc5dUlITmhabVZzZVVOaGJHeERiMjF3YjI1bGJuUlhhV3hzVlc1dGIzVnVkQ2hqZFhKeVpXNTBMQ0JwYm5OMFlXNWpaU2tnZTF4dUlDQjdYRzRnSUNBZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJLRzUxYkd3c0lHTmhiR3hEYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZEZkcGRHaFVhVzFsY2l3Z2JuVnNiQ3dnWTNWeWNtVnVkQ3dnYVc1emRHRnVZMlVwTzF4dVhHNGdJQ0FnYVdZZ0tHaGhjME5oZFdkb2RFVnljbTl5S0NrcElIdGNiaUFnSUNBZ0lIWmhjaUIxYm0xdmRXNTBSWEp5YjNJZ1BTQmpiR1ZoY2tOaGRXZG9kRVZ5Y205eUtDazdYRzRnSUNBZ0lDQmpZWEIwZFhKbFEyOXRiV2wwVUdoaGMyVkZjbkp2Y2loamRYSnlaVzUwTENCMWJtMXZkVzUwUlhKeWIzSXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ6WVdabGJIbEVaWFJoWTJoU1pXWW9ZM1Z5Y21WdWRDa2dlMXh1SUNCMllYSWdjbVZtSUQwZ1kzVnljbVZ1ZEM1eVpXWTdYRzVjYmlBZ2FXWWdLSEpsWmlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2NtVm1JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR2x1ZG05clpVZDFZWEprWldSRFlXeHNZbUZqYXlodWRXeHNMQ0J5WldZc0lHNTFiR3dzSUc1MWJHd3BPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaG9ZWE5EWVhWbmFIUkZjbkp2Y2lncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISmxaa1Z5Y205eUlEMGdZMnhsWVhKRFlYVm5hSFJGY25KdmNpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUdOaGNIUjFjbVZEYjIxdGFYUlFhR0Z6WlVWeWNtOXlLR04xY25KbGJuUXNJSEpsWmtWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaV1l1WTNWeWNtVnVkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSE5oWm1Wc2VVTmhiR3hFWlhOMGNtOTVLR04xY25KbGJuUXNJR1JsYzNSeWIza3BJSHRjYmlBZ2UxeHVJQ0FnSUdsdWRtOXJaVWQxWVhKa1pXUkRZV3hzWW1GamF5aHVkV3hzTENCa1pYTjBjbTk1TENCdWRXeHNLVHRjYmx4dUlDQWdJR2xtSUNob1lYTkRZWFZuYUhSRmNuSnZjaWdwS1NCN1hHNGdJQ0FnSUNCMllYSWdaWEp5YjNJZ1BTQmpiR1ZoY2tOaGRXZG9kRVZ5Y205eUtDazdYRzRnSUNBZ0lDQmpZWEIwZFhKbFEyOXRiV2wwVUdoaGMyVkZjbkp2Y2loamRYSnlaVzUwTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRUpsWm05eVpVMTFkR0YwYVc5dVRHbG1aVU41WTJ4bGN5aGpkWEp5Wlc1MExDQm1hVzVwYzJobFpGZHZjbXNwSUh0Y2JpQWdjM2RwZEdOb0lDaG1hVzVwYzJobFpGZHZjbXN1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JHZFc1amRHbHZia052YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnWTJGelpTQlRhVzF3YkdWTlpXMXZRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lHTmhjMlVnUW14dlkyczZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUTJ4aGMzTkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR2xtSUNobWFXNXBjMmhsWkZkdmNtc3VaV1ptWldOMFZHRm5JQ1lnVTI1aGNITm9iM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCeVpYWlFjbTl3Y3lBOUlHTjFjbkpsYm5RdWJXVnRiMmw2WldSUWNtOXdjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRnlkRkJvWVhObFZHbHRaWElvWm1sdWFYTm9aV1JYYjNKckxDQW5aMlYwVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR1pwYm1semFHVmtWMjl5YXk1emRHRjBaVTV2WkdVN0lDOHZJRmRsSUdOdmRXeGtJSFZ3WkdGMFpTQnBibk4wWVc1alpTQndjbTl3Y3lCaGJtUWdjM1JoZEdVZ2FHVnlaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR0oxZENCcGJuTjBaV0ZrSUhkbElISmxiSGtnYjI0Z2RHaGxiU0JpWldsdVp5QnpaWFFnWkhWeWFXNW5JR3hoYzNRZ2NtVnVaR1Z5TGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2djbVYyYVhOcGRDQjBhR2x6SUhkb1pXNGdkMlVnYVcxd2JHVnRaVzUwSUhKbGMzVnRhVzVuTGx4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobWFXNXBjMmhsWkZkdmNtc3VkSGx3WlNBOVBUMGdabWx1YVhOb1pXUlhiM0pyTG1Wc1pXMWxiblJVZVhCbElDWW1JQ0ZrYVdSWFlYSnVRV0p2ZFhSU1pXRnpjMmxuYm1sdVoxQnliM0J6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbkJ5YjNCeklDRTlQU0JtYVc1cGMyaGxaRmR2Y21zdWJXVnRiMmw2WldSUWNtOXdjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUNWeklIQnliM0J6SUhSdklHMWhkR05vSUcxbGJXOXBlbVZrSUhCeWIzQnpJR0psWm05eVpTQW5JQ3NnSjJkbGRGTnVZWEJ6YUc5MFFtVm1iM0psVlhCa1lYUmxMaUFuSUNzZ0oxUm9hWE1nYldsbmFIUWdaV2wwYUdWeUlHSmxJR0psWTJGMWMyVWdiMllnWVNCaWRXY2dhVzRnVW1WaFkzUXNJRzl5SUdKbFkyRjFjMlVnSnlBcklDZGhJR052YlhCdmJtVnVkQ0J5WldGemMybG5ibk1nYVhSeklHOTNiaUJnZEdocGN5NXdjbTl3YzJBdUlDY2dLeUFuVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdUp5d2daMlYwUTI5dGNHOXVaVzUwVG1GdFpTaG1hVzVwYzJobFpGZHZjbXN1ZEhsd1pTa2dmSHdnSjJsdWMzUmhibU5sSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsdWMzUmhibU5sTG5OMFlYUmxJQ0U5UFNCbWFXNXBjMmhsWkZkdmNtc3ViV1Z0YjJsNlpXUlRkR0YwWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lDVnpJSE4wWVhSbElIUnZJRzFoZEdOb0lHMWxiVzlwZW1Wa0lITjBZWFJsSUdKbFptOXlaU0FuSUNzZ0oyZGxkRk51WVhCemFHOTBRbVZtYjNKbFZYQmtZWFJsTGlBbklDc2dKMVJvYVhNZ2JXbG5hSFFnWldsMGFHVnlJR0psSUdKbFkyRjFjMlVnYjJZZ1lTQmlkV2NnYVc0Z1VtVmhZM1FzSUc5eUlHSmxZMkYxYzJVZ0p5QXJJQ2RoSUdOdmJYQnZibVZ1ZENCeVpXRnpjMmxuYm5NZ2FYUnpJRzkzYmlCZ2RHaHBjeTV3Y205d2MyQXVJQ2NnS3lBblVHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVXVKeXdnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2htYVc1cGMyaGxaRmR2Y21zdWRIbHdaU2tnZkh3Z0oybHVjM1JoYm1ObEp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnpibUZ3YzJodmRDQTlJR2x1YzNSaGJtTmxMbWRsZEZOdVlYQnphRzkwUW1WbWIzSmxWWEJrWVhSbEtHWnBibWx6YUdWa1YyOXlheTVsYkdWdFpXNTBWSGx3WlNBOVBUMGdabWx1YVhOb1pXUlhiM0pyTG5SNWNHVWdQeUJ3Y21WMlVISnZjSE1nT2lCeVpYTnZiSFpsUkdWbVlYVnNkRkJ5YjNCektHWnBibWx6YUdWa1YyOXlheTUwZVhCbExDQndjbVYyVUhKdmNITXBMQ0J3Y21WMlUzUmhkR1VwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCa2FXUlhZWEp1VTJWMElEMGdaR2xrVjJGeWJrRmliM1YwVlc1a1pXWnBibVZrVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSE51WVhCemFHOTBJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdJV1JwWkZkaGNtNVRaWFF1YUdGektHWnBibWx6YUdWa1YyOXlheTUwZVhCbEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JwWkZkaGNtNVRaWFF1WVdSa0tHWnBibWx6YUdWa1YyOXlheTUwZVhCbEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeTVuWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpTZ3BPaUJCSUhOdVlYQnphRzkwSUhaaGJIVmxJQ2h2Y2lCdWRXeHNLU0FuSUNzZ0oyMTFjM1FnWW1VZ2NtVjBkWEp1WldRdUlGbHZkU0JvWVhabElISmxkSFZ5Ym1Wa0lIVnVaR1ZtYVc1bFpDNG5MQ0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLR1pwYm1semFHVmtWMjl5YXk1MGVYQmxLU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNXpkR0Z1WTJVdVgxOXlaV0ZqZEVsdWRHVnlibUZzVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVZ1BTQnpibUZ3YzJodmREdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMGIzQlFhR0Z6WlZScGJXVnlLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBVbTl2ZERwY2JpQWdJQ0JqWVhObElFaHZjM1JEYjIxd2IyNWxiblE2WEc0Z0lDQWdZMkZ6WlNCSWIzTjBWR1Y0ZERwY2JpQWdJQ0JqWVhObElFaHZjM1JRYjNKMFlXdzZYRzRnSUNBZ1kyRnpaU0JKYm1OdmJYQnNaWFJsUTJ4aGMzTkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQXZMeUJPYjNSb2FXNW5JSFJ2SUdSdklHWnZjaUIwYUdWelpTQmpiMjF3YjI1bGJuUWdkSGx3WlhOY2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlVhR2x6SUhWdWFYUWdiMllnZDI5eWF5QjBZV2NnYzJodmRXeGtJRzV2ZENCb1lYWmxJSE5wWkdVdFpXWm1aV04wY3k0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSSWIyOXJSV1ptWldOMFRHbHpkRlZ1Ylc5MWJuUW9kR0ZuTENCbWFXNXBjMmhsWkZkdmNtc3BJSHRjYmlBZ2RtRnlJSFZ3WkdGMFpWRjFaWFZsSUQwZ1ptbHVhWE5vWldSWGIzSnJMblZ3WkdGMFpWRjFaWFZsTzF4dUlDQjJZWElnYkdGemRFVm1abVZqZENBOUlIVndaR0YwWlZGMVpYVmxJQ0U5UFNCdWRXeHNJRDhnZFhCa1lYUmxVWFZsZFdVdWJHRnpkRVZtWm1WamRDQTZJRzUxYkd3N1hHNWNiaUFnYVdZZ0tHeGhjM1JGWm1abFkzUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjJZWElnWm1seWMzUkZabVpsWTNRZ1BTQnNZWE4wUldabVpXTjBMbTVsZUhRN1hHNGdJQ0FnZG1GeUlHVm1abVZqZENBOUlHWnBjbk4wUldabVpXTjBPMXh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnYVdZZ0tDaGxabVpsWTNRdWRHRm5JQ1lnZEdGbktTQTlQVDBnZEdGbktTQjdYRzRnSUNBZ0lDQWdJQzh2SUZWdWJXOTFiblJjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxjM1J5YjNrZ1BTQmxabVpsWTNRdVpHVnpkSEp2ZVR0Y2JpQWdJQ0FnSUNBZ1pXWm1aV04wTG1SbGMzUnliM2tnUFNCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dSbGMzUnliM2tnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdSbGMzUnliM2tvS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmxabVpsWTNRZ1BTQmxabVpsWTNRdWJtVjRkRHRjYmlBZ0lDQjlJSGRvYVd4bElDaGxabVpsWTNRZ0lUMDlJR1pwY25OMFJXWm1aV04wS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSSWIyOXJSV1ptWldOMFRHbHpkRTF2ZFc1MEtIUmhaeXdnWm1sdWFYTm9aV1JYYjNKcktTQjdYRzRnSUhaaGNpQjFjR1JoZEdWUmRXVjFaU0E5SUdacGJtbHphR1ZrVjI5eWF5NTFjR1JoZEdWUmRXVjFaVHRjYmlBZ2RtRnlJR3hoYzNSRlptWmxZM1FnUFNCMWNHUmhkR1ZSZFdWMVpTQWhQVDBnYm5Wc2JDQS9JSFZ3WkdGMFpWRjFaWFZsTG14aGMzUkZabVpsWTNRZ09pQnVkV3hzTzF4dVhHNGdJR2xtSUNoc1lYTjBSV1ptWldOMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR1pwY25OMFJXWm1aV04wSUQwZ2JHRnpkRVZtWm1WamRDNXVaWGgwTzF4dUlDQWdJSFpoY2lCbFptWmxZM1FnUFNCbWFYSnpkRVZtWm1WamREdGNibHh1SUNBZ0lHUnZJSHRjYmlBZ0lDQWdJR2xtSUNnb1pXWm1aV04wTG5SaFp5QW1JSFJoWnlrZ1BUMDlJSFJoWnlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJOYjNWdWRGeHVJQ0FnSUNBZ0lDQjJZWElnWTNKbFlYUmxJRDBnWldabVpXTjBMbU55WldGMFpUdGNiaUFnSUNBZ0lDQWdaV1ptWldOMExtUmxjM1J5YjNrZ1BTQmpjbVZoZEdVb0tUdGNibHh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR1JsYzNSeWIza2dQU0JsWm1abFkzUXVaR1Z6ZEhKdmVUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGtaWE4wY205NUlDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2RIbHdaVzltSUdSbGMzUnliM2tnSVQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJoWkdSbGJtUjFiU0E5SUhadmFXUWdNRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSbGMzUnliM2tnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdSa1pXNWtkVzBnUFNBbklGbHZkU0J5WlhSMWNtNWxaQ0J1ZFd4c0xpQkpaaUI1YjNWeUlHVm1abVZqZENCa2IyVnpJRzV2ZENCeVpYRjFhWEpsSUdOc1pXRnVJQ2NnS3lBbmRYQXNJSEpsZEhWeWJpQjFibVJsWm1sdVpXUWdLRzl5SUc1dmRHaHBibWNwTGljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hSNWNHVnZaaUJrWlhOMGNtOTVMblJvWlc0Z1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdSa1pXNWtkVzBnUFNBblhGeHVYRnh1U1hRZ2JHOXZhM01nYkdsclpTQjViM1VnZDNKdmRHVWdkWE5sUldabVpXTjBLR0Z6ZVc1aklDZ3BJRDArSUM0dUxpa2diM0lnY21WMGRYSnVaV1FnWVNCUWNtOXRhWE5sTGlBbklDc2dKMGx1YzNSbFlXUXNJSGR5YVhSbElIUm9aU0JoYzNsdVl5Qm1kVzVqZEdsdmJpQnBibk5wWkdVZ2VXOTFjaUJsWm1abFkzUWdKeUFySUNkaGJtUWdZMkZzYkNCcGRDQnBiVzFsWkdsaGRHVnNlVHBjWEc1Y1hHNG5JQ3NnSjNWelpVVm1abVZqZENnb0tTQTlQaUI3WEZ4dUp5QXJJQ2NnSUdGemVXNWpJR1oxYm1OMGFXOXVJR1psZEdOb1JHRjBZU2dwSUh0Y1hHNG5JQ3NnSnlBZ0lDQXZMeUJaYjNVZ1kyRnVJR0YzWVdsMElHaGxjbVZjWEc0bklDc2dKeUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJRTE1UVZCSkxtZGxkRVJoZEdFb2MyOXRaVWxrS1R0Y1hHNG5JQ3NnSnlBZ0lDQXZMeUF1TGk1Y1hHNG5JQ3NnSnlBZ2ZWeGNiaWNnS3lBbklDQm1aWFJqYUVSaGRHRW9LVHRjWEc0bklDc2dYQ0o5TENCYmMyOXRaVWxrWFNrN0lDOHZJRTl5SUZ0ZElHbG1JR1ZtWm1WamRDQmtiMlZ6YmlkMElHNWxaV1FnY0hKdmNITWdiM0lnYzNSaGRHVmNYRzVjWEc1Y0lpQXJJQ2RNWldGeWJpQnRiM0psSUdGaWIzVjBJR1JoZEdFZ1ptVjBZMmhwYm1jZ2QybDBhQ0JJYjI5cmN6b2dhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzFvYjI5cmN5MWtZWFJoTFdabGRHTm9hVzVuSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHRmtaR1Z1WkhWdElEMGdKeUJaYjNVZ2NtVjBkWEp1WldRNklDY2dLeUJrWlhOMGNtOTVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCbGNuSnZjaWduUVc0Z1pXWm1aV04wSUdaMWJtTjBhVzl1SUcxMWMzUWdibTkwSUhKbGRIVnliaUJoYm5sMGFHbHVaeUJpWlhOcFpHVnpJR0VnWm5WdVkzUnBiMjRzSUNjZ0t5QW5kMmhwWTJnZ2FYTWdkWE5sWkNCbWIzSWdZMnhsWVc0dGRYQXVKWE1sY3ljc0lHRmtaR1Z1WkhWdExDQm5aWFJUZEdGamEwSjVSbWxpWlhKSmJrUmxka0Z1WkZCeWIyUW9abWx1YVhOb1pXUlhiM0pyS1NrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWbVptVmpkQ0E5SUdWbVptVmpkQzV1WlhoME8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0dWbVptVmpkQ0FoUFQwZ1ptbHljM1JGWm1abFkzUXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRkJoYzNOcGRtVkliMjlyUldabVpXTjBjeWhtYVc1cGMyaGxaRmR2Y21zcElIdGNiaUFnYVdZZ0tDaG1hVzVwYzJobFpGZHZjbXN1WldabVpXTjBWR0ZuSUNZZ1VHRnpjMmwyWlNrZ0lUMDlJRTV2UldabVpXTjBLU0I3WEc0Z0lDQWdjM2RwZEdOb0lDaG1hVzVwYzJobFpGZHZjbXN1ZEdGbktTQjdYRzRnSUNBZ0lDQmpZWE5sSUVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnWTJGelpTQkdiM0ozWVhKa1VtVm1PbHh1SUNBZ0lDQWdZMkZ6WlNCVGFXMXdiR1ZOWlcxdlEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ1kyRnpaU0JDYkc5amF6cGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGUlBSRThnS0NNeE56azBOU2tnVjJVZ2MyaHZkV3hrSUdOaGJHd2dZV3hzSUhCaGMzTnBkbVVnWkdWemRISnZlU0JtZFc1amRHbHZibk1nS0dadmNpQmhiR3dnWm1saVpYSnpLVnh1SUNBZ0lDQWdJQ0FnSUM4dklHSmxabTl5WlNCallXeHNhVzVuSUdGdWVTQmpjbVZoZEdVZ1puVnVZM1JwYjI1ekxpQlVhR1VnWTNWeWNtVnVkQ0JoY0hCeWIyRmphQ0J2Ym14NUlITmxjbWxoYkdsNlpYTmNiaUFnSUNBZ0lDQWdJQ0F2THlCMGFHVnpaU0JtYjNJZ1lTQnphVzVuYkdVZ1ptbGlaWEl1WEc0Z0lDQWdJQ0FnSUNBZ1kyOXRiV2wwU0c5dmEwVm1abVZqZEV4cGMzUlZibTF2ZFc1MEtGQmhjM05wZG1Va01TQjhJRWhoYzBWbVptVmpkQ3dnWm1sdWFYTm9aV1JYYjNKcktUdGNiaUFnSUNBZ0lDQWdJQ0JqYjIxdGFYUkliMjlyUldabVpXTjBUR2x6ZEUxdmRXNTBLRkJoYzNOcGRtVWtNU0I4SUVoaGMwVm1abVZqZEN3Z1ptbHVhWE5vWldSWGIzSnJLVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIyMXRhWFJNYVdabFEzbGpiR1Z6S0dacGJtbHphR1ZrVW05dmRDd2dZM1Z5Y21WdWRDd2dabWx1YVhOb1pXUlhiM0pyTENCamIyMXRhWFIwWldSRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQnpkMmwwWTJnZ0tHWnBibWx6YUdWa1YyOXlheTUwWVdjcElIdGNiaUFnSUNCallYTmxJRVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lHTmhjMlVnUm05eWQyRnlaRkpsWmpwY2JpQWdJQ0JqWVhObElGTnBiWEJzWlUxbGJXOURiMjF3YjI1bGJuUTZYRzRnSUNBZ1kyRnpaU0JDYkc5amF6cGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQnNZWGx2ZFhRZ1pXWm1aV04wY3lCb1lYWmxJR0ZzY21WaFpIa2dZbVZsYmlCa1pYTjBjbTk1WldRZ0tHUjFjbWx1WnlCdGRYUmhkR2x2YmlCd2FHRnpaU2t1WEc0Z0lDQWdJQ0FnSUM4dklGUm9hWE1nYVhNZ1pHOXVaU0IwYnlCd2NtVjJaVzUwSUhOcFlteHBibWNnWTI5dGNHOXVaVzUwSUdWbVptVmpkSE1nWm5KdmJTQnBiblJsY21abGNtbHVaeUIzYVhSb0lHVmhZMmdnYjNSb1pYSXNYRzRnSUNBZ0lDQWdJQzh2SUdVdVp5NGdZU0JrWlhOMGNtOTVJR1oxYm1OMGFXOXVJR2x1SUc5dVpTQmpiMjF3YjI1bGJuUWdjMmh2ZFd4a0lHNWxkbVZ5SUc5MlpYSnlhV1JsSUdFZ2NtVm1JSE5sZEZ4dUlDQWdJQ0FnSUNBdkx5QmllU0JoSUdOeVpXRjBaU0JtZFc1amRHbHZiaUJwYmlCaGJtOTBhR1Z5SUdOdmJYQnZibVZ1ZENCa2RYSnBibWNnZEdobElITmhiV1VnWTI5dGJXbDBMbHh1SUNBZ0lDQWdJQ0JqYjIxdGFYUkliMjlyUldabVpXTjBUR2x6ZEUxdmRXNTBLRXhoZVc5MWRDQjhJRWhoYzBWbVptVmpkQ3dnWm1sdWFYTm9aV1JYYjNKcktUdGNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQm1hVzVwYzJobFpGZHZjbXN1YzNSaGRHVk9iMlJsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2htYVc1cGMyaGxaRmR2Y21zdVpXWm1aV04wVkdGbklDWWdWWEJrWVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBVR2hoYzJWVWFXMWxjaWhtYVc1cGMyaGxaRmR2Y21zc0lDZGpiMjF3YjI1bGJuUkVhV1JOYjNWdWRDY3BPeUF2THlCWFpTQmpiM1ZzWkNCMWNHUmhkR1VnYVc1emRHRnVZMlVnY0hKdmNITWdZVzVrSUhOMFlYUmxJR2hsY21Vc1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCaWRYUWdhVzV6ZEdWaFpDQjNaU0J5Wld4NUlHOXVJSFJvWlcwZ1ltVnBibWNnYzJWMElHUjFjbWx1WnlCc1lYTjBJSEpsYm1SbGNpNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUlBSRTg2SUhKbGRtbHphWFFnZEdocGN5QjNhR1Z1SUhkbElHbHRjR3hsYldWdWRDQnlaWE4xYldsdVp5NWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9abWx1YVhOb1pXUlhiM0pyTG5SNWNHVWdQVDA5SUdacGJtbHphR1ZrVjI5eWF5NWxiR1Z0Wlc1MFZIbHdaU0FtSmlBaFpHbGtWMkZ5YmtGaWIzVjBVbVZoYzNOcFoyNXBibWRRY205d2N5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGJuTjBZVzVqWlM1d2NtOXdjeUFoUFQwZ1ptbHVhWE5vWldSWGIzSnJMbTFsYlc5cGVtVmtVSEp2Y0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZEZlSEJsWTNSbFpDQWxjeUJ3Y205d2N5QjBieUJ0WVhSamFDQnRaVzF2YVhwbFpDQndjbTl3Y3lCaVpXWnZjbVVnSnlBcklDZGpiMjF3YjI1bGJuUkVhV1JOYjNWdWRDNGdKeUFySUNkVWFHbHpJRzFwWjJoMElHVnBkR2hsY2lCaVpTQmlaV05oZFhObElHOW1JR0VnWW5WbklHbHVJRkpsWVdOMExDQnZjaUJpWldOaGRYTmxJQ2NnS3lBbllTQmpiMjF3YjI1bGJuUWdjbVZoYzNOcFoyNXpJR2wwY3lCdmQyNGdZSFJvYVhNdWNISnZjSE5nTGlBbklDc2dKMUJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljc0lHZGxkRU52YlhCdmJtVnVkRTVoYldVb1ptbHVhWE5vWldSWGIzSnJMblI1Y0dVcElIeDhJQ2RwYm5OMFlXNWpaU2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYm5OMFlXNWpaUzV6ZEdGMFpTQWhQVDBnWm1sdWFYTm9aV1JYYjNKckxtMWxiVzlwZW1Wa1UzUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkRmVIQmxZM1JsWkNBbGN5QnpkR0YwWlNCMGJ5QnRZWFJqYUNCdFpXMXZhWHBsWkNCemRHRjBaU0JpWldadmNtVWdKeUFySUNkamIyMXdiMjVsYm5SRWFXUk5iM1Z1ZEM0Z0p5QXJJQ2RVYUdseklHMXBaMmgwSUdWcGRHaGxjaUJpWlNCaVpXTmhkWE5sSUc5bUlHRWdZblZuSUdsdUlGSmxZV04wTENCdmNpQmlaV05oZFhObElDY2dLeUFuWVNCamIyMXdiMjVsYm5RZ2NtVmhjM05wWjI1eklHbDBjeUJ2ZDI0Z1lIUm9hWE11Y0hKdmNITmdMaUFuSUNzZ0oxQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMaWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1sdWFYTm9aV1JYYjNKckxuUjVjR1VwSUh4OElDZHBibk4wWVc1alpTY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SRWFXUk5iM1Z1ZENncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSdmNGQm9ZWE5sVkdsdFpYSW9LVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCeVpYWlFjbTl3Y3lBOUlHWnBibWx6YUdWa1YyOXlheTVsYkdWdFpXNTBWSGx3WlNBOVBUMGdabWx1YVhOb1pXUlhiM0pyTG5SNWNHVWdQeUJqZFhKeVpXNTBMbTFsYlc5cGVtVmtVSEp2Y0hNZ09pQnlaWE52YkhabFJHVm1ZWFZzZEZCeWIzQnpLR1pwYm1semFHVmtWMjl5YXk1MGVYQmxMQ0JqZFhKeVpXNTBMbTFsYlc5cGVtVmtVSEp2Y0hNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIQnlaWFpUZEdGMFpTQTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMFVHaGhjMlZVYVcxbGNpaG1hVzVwYzJobFpGZHZjbXNzSUNkamIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVbktUc2dMeThnVjJVZ1kyOTFiR1FnZFhCa1lYUmxJR2x1YzNSaGJtTmxJSEJ5YjNCeklHRnVaQ0J6ZEdGMFpTQm9aWEpsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWW5WMElHbHVjM1JsWVdRZ2QyVWdjbVZzZVNCdmJpQjBhR1Z0SUdKbGFXNW5JSE5sZENCa2RYSnBibWNnYkdGemRDQnlaVzVrWlhJdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJ5WlhacGMybDBJSFJvYVhNZ2QyaGxiaUIzWlNCcGJYQnNaVzFsYm5RZ2NtVnpkVzFwYm1jdVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHWnBibWx6YUdWa1YyOXlheTUwZVhCbElEMDlQU0JtYVc1cGMyaGxaRmR2Y21zdVpXeGxiV1Z1ZEZSNWNHVWdKaVlnSVdScFpGZGhjbTVCWW05MWRGSmxZWE56YVdkdWFXNW5VSEp2Y0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVc1emRHRnVZMlV1Y0hKdmNITWdJVDA5SUdacGJtbHphR1ZrVjI5eWF5NXRaVzF2YVhwbFpGQnliM0J6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnblJYaHdaV04wWldRZ0pYTWdjSEp2Y0hNZ2RHOGdiV0YwWTJnZ2JXVnRiMmw2WldRZ2NISnZjSE1nWW1WbWIzSmxJQ2NnS3lBblkyOXRjRzl1Wlc1MFJHbGtWWEJrWVhSbExpQW5JQ3NnSjFSb2FYTWdiV2xuYUhRZ1pXbDBhR1Z5SUdKbElHSmxZMkYxYzJVZ2IyWWdZU0JpZFdjZ2FXNGdVbVZoWTNRc0lHOXlJR0psWTJGMWMyVWdKeUFySUNkaElHTnZiWEJ2Ym1WdWRDQnlaV0Z6YzJsbmJuTWdhWFJ6SUc5M2JpQmdkR2hwY3k1d2NtOXdjMkF1SUNjZ0t5QW5VR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1Snl3Z1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNobWFXNXBjMmhsWkZkdmNtc3VkSGx3WlNrZ2ZId2dKMmx1YzNSaGJtTmxKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbk4wWVhSbElDRTlQU0JtYVc1cGMyaGxaRmR2Y21zdWJXVnRiMmw2WldSVGRHRjBaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUNWeklITjBZWFJsSUhSdklHMWhkR05vSUcxbGJXOXBlbVZrSUhOMFlYUmxJR0psWm05eVpTQW5JQ3NnSjJOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlM0Z0p5QXJJQ2RVYUdseklHMXBaMmgwSUdWcGRHaGxjaUJpWlNCaVpXTmhkWE5sSUc5bUlHRWdZblZuSUdsdUlGSmxZV04wTENCdmNpQmlaV05oZFhObElDY2dLeUFuWVNCamIyMXdiMjVsYm5RZ2NtVmhjM05wWjI1eklHbDBjeUJ2ZDI0Z1lIUm9hWE11Y0hKdmNITmdMaUFuSUNzZ0oxQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMaWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1sdWFYTm9aV1JYYjNKckxuUjVjR1VwSUh4OElDZHBibk4wWVc1alpTY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVb2NISmxkbEJ5YjNCekxDQndjbVYyVTNSaGRHVXNJR2x1YzNSaGJtTmxMbDlmY21WaFkzUkpiblJsY201aGJGTnVZWEJ6YUc5MFFtVm1iM0psVlhCa1lYUmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBiM0JRYUdGelpWUnBiV1Z5S0NrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJSFZ3WkdGMFpWRjFaWFZsSUQwZ1ptbHVhWE5vWldSWGIzSnJMblZ3WkdGMFpWRjFaWFZsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2gxY0dSaGRHVlJkV1YxWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYVc1cGMyaGxaRmR2Y21zdWRIbHdaU0E5UFQwZ1ptbHVhWE5vWldSWGIzSnJMbVZzWlcxbGJuUlVlWEJsSUNZbUlDRmthV1JYWVhKdVFXSnZkWFJTWldGemMybG5ibWx1WjFCeWIzQnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGJuTjBZVzVqWlM1d2NtOXdjeUFoUFQwZ1ptbHVhWE5vWldSWGIzSnJMbTFsYlc5cGVtVmtVSEp2Y0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnblJYaHdaV04wWldRZ0pYTWdjSEp2Y0hNZ2RHOGdiV0YwWTJnZ2JXVnRiMmw2WldRZ2NISnZjSE1nWW1WbWIzSmxJQ2NnS3lBbmNISnZZMlZ6YzJsdVp5QjBhR1VnZFhCa1lYUmxJSEYxWlhWbExpQW5JQ3NnSjFSb2FYTWdiV2xuYUhRZ1pXbDBhR1Z5SUdKbElHSmxZMkYxYzJVZ2IyWWdZU0JpZFdjZ2FXNGdVbVZoWTNRc0lHOXlJR0psWTJGMWMyVWdKeUFySUNkaElHTnZiWEJ2Ym1WdWRDQnlaV0Z6YzJsbmJuTWdhWFJ6SUc5M2JpQmdkR2hwY3k1d2NtOXdjMkF1SUNjZ0t5QW5VR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1Snl3Z1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNobWFXNXBjMmhsWkZkdmNtc3VkSGx3WlNrZ2ZId2dKMmx1YzNSaGJtTmxKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FXNXpkR0Z1WTJVdWMzUmhkR1VnSVQwOUlHWnBibWx6YUdWa1YyOXlheTV0WlcxdmFYcGxaRk4wWVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lDVnpJSE4wWVhSbElIUnZJRzFoZEdOb0lHMWxiVzlwZW1Wa0lITjBZWFJsSUdKbFptOXlaU0FuSUNzZ0ozQnliMk5sYzNOcGJtY2dkR2hsSUhWd1pHRjBaU0J4ZFdWMVpTNGdKeUFySUNkVWFHbHpJRzFwWjJoMElHVnBkR2hsY2lCaVpTQmlaV05oZFhObElHOW1JR0VnWW5WbklHbHVJRkpsWVdOMExDQnZjaUJpWldOaGRYTmxJQ2NnS3lBbllTQmpiMjF3YjI1bGJuUWdjbVZoYzNOcFoyNXpJR2wwY3lCdmQyNGdZSFJvYVhNdWNISnZjSE5nTGlBbklDc2dKMUJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljc0lHZGxkRU52YlhCdmJtVnVkRTVoYldVb1ptbHVhWE5vWldSWGIzSnJMblI1Y0dVcElIeDhJQ2RwYm5OMFlXNWpaU2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5QlhaU0JqYjNWc1pDQjFjR1JoZEdVZ2FXNXpkR0Z1WTJVZ2NISnZjSE1nWVc1a0lITjBZWFJsSUdobGNtVXNYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1luVjBJR2x1YzNSbFlXUWdkMlVnY21Wc2VTQnZiaUIwYUdWdElHSmxhVzVuSUhObGRDQmtkWEpwYm1jZ2JHRnpkQ0J5Wlc1a1pYSXVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nY21WMmFYTnBkQ0IwYUdseklIZG9aVzRnZDJVZ2FXMXdiR1Z0Wlc1MElISmxjM1Z0YVc1bkxseHVYRzVjYmlBZ0lDQWdJQ0FnSUNCamIyMXRhWFJWY0dSaGRHVlJkV1YxWlNobWFXNXBjMmhsWkZkdmNtc3NJSFZ3WkdGMFpWRjFaWFZsTENCcGJuTjBZVzVqWlNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlNiMjkwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM1Z3WkdGMFpWRjFaWFZsSUQwZ1ptbHVhWE5vWldSWGIzSnJMblZ3WkdGMFpWRjFaWFZsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hmZFhCa1lYUmxVWFZsZFdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gybHVjM1JoYm1ObElEMGdiblZzYkR0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNobWFXNXBjMmhsWkZkdmNtc3VZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvWm1sdWFYTm9aV1JYYjNKckxtTm9hV3hrTG5SaFp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYMmx1YzNSaGJtTmxJRDBnWjJWMFVIVmliR2xqU1c1emRHRnVZMlVvWm1sdWFYTm9aV1JYYjNKckxtTm9hV3hrTG5OMFlYUmxUbTlrWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQkRiR0Z6YzBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZmFXNXpkR0Z1WTJVZ1BTQm1hVzVwYzJobFpGZHZjbXN1WTJocGJHUXVjM1JoZEdWT2IyUmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJXMXBkRlZ3WkdGMFpWRjFaWFZsS0dacGJtbHphR1ZrVjI5eWF5d2dYM1Z3WkdGMFpWRjFaWFZsTENCZmFXNXpkR0Z1WTJVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1gybHVjM1JoYm1ObE1pQTlJR1pwYm1semFHVmtWMjl5YXk1emRHRjBaVTV2WkdVN0lDOHZJRkpsYm1SbGNtVnljeUJ0WVhrZ2MyTm9aV1IxYkdVZ2QyOXlheUIwYnlCaVpTQmtiMjVsSUdGbWRHVnlJR2h2YzNRZ1kyOXRjRzl1Wlc1MGN5QmhjbVVnYlc5MWJuUmxaRnh1SUNBZ0lDQWdJQ0F2THlBb1pXY2dSRTlOSUhKbGJtUmxjbVZ5SUcxaGVTQnpZMmhsWkhWc1pTQmhkWFJ2TFdadlkzVnpJR1p2Y2lCcGJuQjFkSE1nWVc1a0lHWnZjbTBnWTI5dWRISnZiSE1wTGx4dUlDQWdJQ0FnSUNBdkx5QlVhR1Z6WlNCbFptWmxZM1J6SUhOb2IzVnNaQ0J2Ym14NUlHSmxJR052YlcxcGRIUmxaQ0IzYUdWdUlHTnZiWEJ2Ym1WdWRITWdZWEpsSUdacGNuTjBJRzF2ZFc1MFpXUXNYRzRnSUNBZ0lDQWdJQzh2SUdGcllTQjNhR1Z1SUhSb1pYSmxJR2x6SUc1dklHTjFjbkpsYm5RdllXeDBaWEp1WVhSbExseHVYRzRnSUNBZ0lDQWdJR2xtSUNoamRYSnlaVzUwSUQwOVBTQnVkV3hzSUNZbUlHWnBibWx6YUdWa1YyOXlheTVsWm1abFkzUlVZV2NnSmlCVmNHUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnZEhsd1pTQTlJR1pwYm1semFHVmtWMjl5YXk1MGVYQmxPMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQndjbTl3Y3lBOUlHWnBibWx6YUdWa1YyOXlheTV0WlcxdmFYcGxaRkJ5YjNCek8xeHVJQ0FnSUNBZ0lDQWdJR052YlcxcGRFMXZkVzUwS0Y5cGJuTjBZVzVqWlRJc0lIUjVjR1VzSUhCeWIzQnpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZSbGVIUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQzh2SUZkbElHaGhkbVVnYm04Z2JHbG1aUzFqZVdOc1pYTWdZWE56YjJOcFlYUmxaQ0IzYVhSb0lIUmxlSFF1WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1NHOXpkRkJ2Y25SaGJEcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdMeThnVjJVZ2FHRjJaU0J1YnlCc2FXWmxMV041WTJ4bGN5QmhjM052WTJsaGRHVmtJSGRwZEdnZ2NHOXlkR0ZzY3k1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQlFjbTltYVd4bGNqcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnZibEpsYm1SbGNpQTlJR1pwYm1semFHVmtWMjl5YXk1dFpXMXZhWHBsWkZCeWIzQnpMbTl1VW1WdVpHVnlPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnZibEpsYm1SbGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmxKbGJtUmxjaWhtYVc1cGMyaGxaRmR2Y21zdWJXVnRiMmw2WldSUWNtOXdjeTVwWkN3Z1kzVnljbVZ1ZENBOVBUMGdiblZzYkNBL0lDZHRiM1Z1ZENjZ09pQW5kWEJrWVhSbEp5d2dabWx1YVhOb1pXUlhiM0pyTG1GamRIVmhiRVIxY21GMGFXOXVMQ0JtYVc1cGMyaGxaRmR2Y21zdWRISmxaVUpoYzJWRWRYSmhkR2x2Yml3Z1ptbHVhWE5vWldSWGIzSnJMbUZqZEhWaGJGTjBZWEowVkdsdFpTd2daMlYwUTI5dGJXbDBWR2x0WlNncExDQm1hVzVwYzJobFpGSnZiM1F1YldWdGIybDZaV1JKYm5SbGNtRmpkR2x2Ym5NcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHTnZiVzFwZEZOMWMzQmxibk5sU0hsa2NtRjBhVzl1UTJGc2JHSmhZMnR6S0dacGJtbHphR1ZrVW05dmRDd2dabWx1YVhOb1pXUlhiM0pyS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQlRkWE53Wlc1elpVeHBjM1JEYjIxd2IyNWxiblE2WEc0Z0lDQWdZMkZ6WlNCSmJtTnZiWEJzWlhSbFEyeGhjM05EYjIxd2IyNWxiblE2WEc0Z0lDQWdZMkZ6WlNCR2RXNWtZVzFsYm5SaGJFTnZiWEJ2Ym1WdWREcGNiaUFnSUNCallYTmxJRk5qYjNCbFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbFJvYVhNZ2RXNXBkQ0J2WmlCM2IzSnJJSFJoWnlCemFHOTFiR1FnYm05MElHaGhkbVVnYzJsa1pTMWxabVpsWTNSekxpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hwWkdWUGNsVnVhR2xrWlVGc2JFTm9hV3hrY21WdUtHWnBibWx6YUdWa1YyOXlheXdnYVhOSWFXUmtaVzRwSUh0Y2JpQWdlMXh1SUNBZ0lDOHZJRmRsSUc5dWJIa2dhR0YyWlNCMGFHVWdkRzl3SUVacFltVnlJSFJvWVhRZ2QyRnpJR2x1YzJWeWRHVmtJR0oxZENCM1pTQnVaV1ZrSUhSdklISmxZM1Z5YzJVZ1pHOTNiaUJwZEhOY2JpQWdJQ0F2THlCamFHbHNaSEpsYmlCMGJ5Qm1hVzVrSUdGc2JDQjBhR1VnZEdWeWJXbHVZV3dnYm05a1pYTXVYRzRnSUNBZ2RtRnlJRzV2WkdVZ1BTQm1hVzVwYzJobFpGZHZjbXM3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJRzV2WkdVdWMzUmhkR1ZPYjJSbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNocGMwaHBaR1JsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2hwWkdWSmJuTjBZVzVqWlNocGJuTjBZVzVqWlNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdkVzVvYVdSbFNXNXpkR0Z1WTJVb2JtOWtaUzV6ZEdGMFpVNXZaR1VzSUc1dlpHVXViV1Z0YjJsNlpXUlFjbTl3Y3lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9ibTlrWlM1MFlXY2dQVDA5SUVodmMzUlVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJmYVc1emRHRnVZMlV6SUQwZ2JtOWtaUzV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6U0dsa1pHVnVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FHbGtaVlJsZUhSSmJuTjBZVzVqWlNoZmFXNXpkR0Z1WTJVektUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0IxYm1ocFpHVlVaWGgwU1c1emRHRnVZMlVvWDJsdWMzUmhibU5sTXl3Z2JtOWtaUzV0WlcxdmFYcGxaRkJ5YjNCektUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h1YjJSbExuUmhaeUE5UFQwZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RZ0ppWWdibTlrWlM1dFpXMXZhWHBsWkZOMFlYUmxJQ0U5UFNCdWRXeHNJQ1ltSUc1dlpHVXViV1Z0YjJsNlpXUlRkR0YwWlM1a1pXaDVaSEpoZEdWa0lEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUVadmRXNWtJR0VnYm1WemRHVmtJRk4xYzNCbGJuTmxJR052YlhCdmJtVnVkQ0IwYUdGMElIUnBiV1ZrSUc5MWRDNGdVMnRwY0NCdmRtVnlJSFJvWlZ4dUlDQWdJQ0FnSUNBdkx5QndjbWx0WVhKNUlHTm9hV3hrSUdaeVlXZHRaVzUwTENCM2FHbGphQ0J6YUc5MWJHUWdjbVZ0WVdsdUlHaHBaR1JsYmk1Y2JpQWdJQ0FnSUNBZ2RtRnlJR1poYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZENBOUlHNXZaR1V1WTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdabUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwTG5KbGRIVnliaUE5SUc1dlpHVTdYRzRnSUNBZ0lDQWdJRzV2WkdVZ1BTQm1ZV3hzWW1GamEwTm9hV3hrUm5KaFoyMWxiblE3WEc0Z0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMbU5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJRzV2WkdVdVkyaHBiR1F1Y21WMGRYSnVJRDBnYm05a1pUdGNiaUFnSUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1WTJocGJHUTdYRzRnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaU0E5UFQwZ1ptbHVhWE5vWldSWGIzSnJLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZDJocGJHVWdLRzV2WkdVdWMybGliR2x1WnlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYm05a1pTNXlaWFIxY200Z1BUMDlJRzUxYkd3Z2ZId2dibTlrWlM1eVpYUjFjbTRnUFQwOUlHWnBibWx6YUdWa1YyOXlheWtnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYm05a1pTNXphV0pzYVc1bkxuSmxkSFZ5YmlBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1YzJsaWJHbHVaenRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBRWFIwWVdOb1VtVm1LR1pwYm1semFHVmtWMjl5YXlrZ2UxeHVJQ0IyWVhJZ2NtVm1JRDBnWm1sdWFYTm9aV1JYYjNKckxuSmxaanRjYmx4dUlDQnBaaUFvY21WbUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnWm1sdWFYTm9aV1JYYjNKckxuTjBZWFJsVG05a1pUdGNiaUFnSUNCMllYSWdhVzV6ZEdGdVkyVlViMVZ6WlR0Y2JseHVJQ0FnSUhOM2FYUmphQ0FvWm1sdWFYTm9aV1JYYjNKckxuUmhaeWtnZTF4dUlDQWdJQ0FnWTJGelpTQkliM04wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCcGJuTjBZVzVqWlZSdlZYTmxJRDBnWjJWMFVIVmliR2xqU1c1emRHRnVZMlVvYVc1emRHRnVZMlVwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnYVc1emRHRnVZMlZVYjFWelpTQTlJR2x1YzNSaGJtTmxPMXh1SUNBZ0lIMGdMeThnVFc5MlpXUWdiM1YwYzJsa1pTQjBieUJsYm5OMWNtVWdSRU5GSUhkdmNtdHpJSGRwZEdnZ2RHaHBjeUJtYkdGblhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlISmxaaUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdjbVZtS0dsdWMzUmhibU5sVkc5VmMyVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY21WbUxtaGhjMDkzYmxCeWIzQmxjblI1S0NkamRYSnlaVzUwSnlrcElIdGNiaUFnSUNBZ0lDQWdJQ0JsY25KdmNpZ25WVzVsZUhCbFkzUmxaQ0J5WldZZ2IySnFaV04wSUhCeWIzWnBaR1ZrSUdadmNpQWxjeTRnSnlBcklDZFZjMlVnWldsMGFHVnlJR0VnY21WbUxYTmxkSFJsY2lCbWRXNWpkR2x2YmlCdmNpQlNaV0ZqZEM1amNtVmhkR1ZTWldZb0tTNGxjeWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1sdWFYTm9aV1JYYjNKckxuUjVjR1VwTENCblpYUlRkR0ZqYTBKNVJtbGlaWEpKYmtSbGRrRnVaRkJ5YjJRb1ptbHVhWE5vWldSWGIzSnJLU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVm1MbU4xY25KbGJuUWdQU0JwYm5OMFlXNWpaVlJ2VlhObE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSRVpYUmhZMmhTWldZb1kzVnljbVZ1ZENrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZKbFppQTlJR04xY25KbGJuUXVjbVZtTzF4dVhHNGdJR2xtSUNoamRYSnlaVzUwVW1WbUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmpkWEp5Wlc1MFVtVm1JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFVtVm1LRzUxYkd3cE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBVbVZtTG1OMWNuSmxiblFnUFNCdWRXeHNPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZTQXZMeUJWYzJWeUxXOXlhV2RwYm1GMGFXNW5JR1Z5Y205eWN5QW9iR2xtWldONVkyeGxjeUJoYm1RZ2NtVm1jeWtnYzJodmRXeGtJRzV2ZENCcGJuUmxjbkoxY0hSY2JpOHZJR1JsYkdWMGFXOXVMQ0J6YnlCa2IyNG5kQ0JzWlhRZ2RHaGxiU0IwYUhKdmR5NGdTRzl6ZEMxdmNtbG5hVzVoZEdsdVp5Qmxjbkp2Y25NZ2MyaHZkV3hrWEc0dkx5QnBiblJsY25KMWNIUWdaR1ZzWlhScGIyNHNJSE52SUdsMEozTWdiMnRoZVZ4dVhHNWNibVoxYm1OMGFXOXVJR052YlcxcGRGVnViVzkxYm5Rb1ptbHVhWE5vWldSU2IyOTBMQ0JqZFhKeVpXNTBMQ0J5Wlc1a1pYSlFjbWx2Y21sMGVVeGxkbVZzS1NCN1hHNGdJRzl1UTI5dGJXbDBWVzV0YjNWdWRDaGpkWEp5Wlc1MEtUdGNibHh1SUNCemQybDBZMmdnS0dOMWNuSmxiblF1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JHZFc1amRHbHZia052YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnWTJGelpTQk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJR05oYzJVZ1UybHRjR3hsVFdWdGIwTnZiWEJ2Ym1WdWREcGNiaUFnSUNCallYTmxJRUpzYjJOck9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnZFhCa1lYUmxVWFZsZFdVZ1BTQmpkWEp5Wlc1MExuVndaR0YwWlZGMVpYVmxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaDFjR1JoZEdWUmRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJzWVhOMFJXWm1aV04wSUQwZ2RYQmtZWFJsVVhWbGRXVXViR0Z6ZEVWbVptVmpkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hzWVhOMFJXWm1aV04wSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1ptbHljM1JGWm1abFkzUWdQU0JzWVhOMFJXWm1aV04wTG01bGVIUTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWMmhsYmlCMGFHVWdiM2R1WlhJZ1ptbGlaWElnYVhNZ1pHVnNaWFJsWkN3Z2RHaGxJR1JsYzNSeWIza2dablZ1WTNScGIyNGdiMllnWVNCd1lYTnphWFpsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdWbVptVmpkQ0JvYjI5cklHbHpJR05oYkd4bFpDQmtkWEpwYm1jZ2RHaGxJSE41Ym1Ob2NtOXViM1Z6SUdOdmJXMXBkQ0J3YUdGelpTNGdWR2hwY3lCcGMxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmhJR052Ym1ObGMzTnBiMjRnZEc4Z2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWTI5dGNHeGxlR2wwZVM0Z1EyRnNiR2x1WnlCcGRDQnBiaUIwYUdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NHRnpjMmwyWlNCbFptWmxZM1FnY0doaGMyVWdLR3hwYTJVZ2RHaGxlU0IxYzNWaGJHeDVJR0Z5WlN3Z2QyaGxiaUJrWlhCbGJtUmxibU5wWlhOY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kyaGhibWRsSUdSMWNtbHVaeUJoYmlCMWNHUmhkR1VwSUhkdmRXeGtJSEpsY1hWcGNtVWdaV2wwYUdWeUlIUnlZWFpsY25OcGJtY2dkR2hsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdOb2FXeGtjbVZ1SUc5bUlIUm9aU0JrWld4bGRHVmtJR1pwWW1WeUlHRm5ZV2x1TENCdmNpQnBibU5zZFdScGJtY2dkVzV0YjNWdWRDQmxabVpsWTNSelhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHRnpJSEJoY25RZ2IyWWdkR2hsSUdacFltVnlJR1ZtWm1WamRDQnNhWE4wTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCQ1pXTmhkWE5sSUhSb2FYTWdhWE1nWkhWeWFXNW5JSFJvWlNCemVXNWpJR052YlcxcGRDQndhR0Z6WlN3Z2QyVWdibVZsWkNCMGJ5QmphR0Z1WjJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxJSEJ5YVc5eWFYUjVMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlNaV052Ym5OcFpHVnlJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnZEhKaFpHVWdiMlptTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUhKbGJtUmxjbEJ5YVc5eWFYUjVUR1YyWld3Z1BpQk9iM0p0WVd4UWNtbHZjbWwwZVNBL0lFNXZjbTFoYkZCeWFXOXlhWFI1SURvZ2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NuVnVWMmwwYUZCeWFXOXlhWFI1SkRFb2NISnBiM0pwZEhsTVpYWmxiQ3dnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJsWm1abFkzUWdQU0JtYVhKemRFVm1abVZqZER0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQmZaR1Z6ZEhKdmVTQTlJR1ZtWm1WamRDNWtaWE4wY205NU8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1gyUmxjM1J5YjNrZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZV1psYkhsRFlXeHNSR1Z6ZEhKdmVTaGpkWEp5Wlc1MExDQmZaR1Z6ZEhKdmVTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVm1abVZqZENBOUlHVm1abVZqZEM1dVpYaDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBnZDJocGJHVWdLR1ZtWm1WamRDQWhQVDBnWm1seWMzUkZabVpsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElFTnNZWE56UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCellXWmxiSGxFWlhSaFkyaFNaV1lvWTNWeWNtVnVkQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR04xY25KbGJuUXVjM1JoZEdWT2IyUmxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFYybHNiRlZ1Ylc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0J6WVdabGJIbERZV3hzUTI5dGNHOXVaVzUwVjJsc2JGVnViVzkxYm5Rb1kzVnljbVZ1ZEN3Z2FXNXpkR0Z1WTJVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1WEc0Z0lDQWdJQ0FnSUhOaFptVnNlVVJsZEdGamFGSmxaaWhqZFhKeVpXNTBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBVRzl5ZEdGc09seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQjBhR2x6SUdseklISmxZM1Z5YzJsMlpTNWNiaUFnSUNBZ0lDQWdMeThnVjJVZ1lYSmxJR0ZzYzI4Z2JtOTBJSFZ6YVc1bklIUm9hWE1nY0dGeVpXNTBJR0psWTJGMWMyVmNiaUFnSUNBZ0lDQWdMeThnZEdobElIQnZjblJoYkNCM2FXeHNJR2RsZENCd2RYTm9aV1FnYVcxdFpXUnBZWFJsYkhrdVhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IxYm0xdmRXNTBTRzl6ZEVOdmJYQnZibVZ1ZEhNb1ptbHVhWE5vWldSU2IyOTBMQ0JqZFhKeVpXNTBMQ0J5Wlc1a1pYSlFjbWx2Y21sMGVVeGxkbVZzS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUm5WdVpHRnRaVzUwWVd4RGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ1kyRnpaU0JFWldoNVpISmhkR1ZrUm5KaFoyMWxiblE2WEc0Z0lDQWdJQ0I3WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQlRZMjl3WlVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZMjl0YldsMFRtVnpkR1ZrVlc1dGIzVnVkSE1vWm1sdWFYTm9aV1JTYjI5MExDQnliMjkwTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tTQjdYRzRnSUM4dklGZG9hV3hsSUhkbEozSmxJR2x1YzJsa1pTQmhJSEpsYlc5MlpXUWdhRzl6ZENCdWIyUmxJSGRsSUdSdmJpZDBJSGRoYm5RZ2RHOGdZMkZzYkZ4dUlDQXZMeUJ5WlcxdmRtVkRhR2xzWkNCdmJpQjBhR1VnYVc1dVpYSWdibTlrWlhNZ1ltVmpZWFZ6WlNCMGFHVjVKM0psSUhKbGJXOTJaV1FnWW5rZ2RHaGxJSFJ2Y0Z4dUlDQXZMeUJqWVd4c0lHRnVlWGRoZVM0Z1YyVWdZV3h6YnlCM1lXNTBJSFJ2SUdOaGJHd2dZMjl0Y0c5dVpXNTBWMmxzYkZWdWJXOTFiblFnYjI0Z1lXeHNYRzRnSUM4dklHTnZiWEJ2YzJsMFpYTWdZbVZtYjNKbElIUm9hWE1nYUc5emRDQnViMlJsSUdseklISmxiVzkyWldRZ1puSnZiU0IwYUdVZ2RISmxaUzRnVkdobGNtVm1iM0psWEc0Z0lDOHZJSGRsSUdSdklHRnVJR2x1Ym1WeUlHeHZiM0FnZDJocGJHVWdkMlVuY21VZ2MzUnBiR3dnYVc1emFXUmxJSFJvWlNCb2IzTjBJRzV2WkdVdVhHNGdJSFpoY2lCdWIyUmxJRDBnY205dmREdGNibHh1SUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lHTnZiVzFwZEZWdWJXOTFiblFvWm1sdWFYTm9aV1JTYjI5MExDQnViMlJsTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tUc2dMeThnVm1semFYUWdZMmhwYkdSeVpXNGdZbVZqWVhWelpTQjBhR1Y1SUcxaGVTQmpiMjUwWVdsdUlHMXZjbVVnWTI5dGNHOXphWFJsSUc5eUlHaHZjM1FnYm05a1pYTXVYRzRnSUNBZ0x5OGdVMnRwY0NCd2IzSjBZV3h6SUdKbFkyRjFjMlVnWTI5dGJXbDBWVzV0YjNWdWRDZ3BJR04xY25KbGJuUnNlU0IyYVhOcGRITWdkR2hsYlNCeVpXTjFjbk5wZG1Wc2VTNWNibHh1SUNBZ0lHbG1JQ2h1YjJSbExtTm9hV3hrSUNFOVBTQnVkV3hzSUNZbUlDZ2dMeThnU1dZZ2QyVWdkWE5sSUcxMWRHRjBhVzl1SUhkbElHUnlhV3hzSUdSdmQyNGdhVzUwYnlCd2IzSjBZV3h6SUhWemFXNW5JR052YlcxcGRGVnViVzkxYm5RZ1lXSnZkbVV1WEc0Z0lDQWdMeThnU1dZZ2QyVWdaRzl1SjNRZ2RYTmxJRzExZEdGMGFXOXVJSGRsSUdSeWFXeHNJR1J2ZDI0Z2FXNTBieUJ3YjNKMFlXeHpJR2hsY21VZ2FXNXpkR1ZoWkM1Y2JpQWdJQ0FnYm05a1pTNTBZV2NnSVQwOUlFaHZjM1JRYjNKMFlXd3BLU0I3WEc0Z0lDQWdJQ0J1YjJSbExtTm9hV3hrTG5KbGRIVnliaUE5SUc1dlpHVTdYRzRnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzVqYUdsc1pEdGNiaUFnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHViMlJsSUQwOVBTQnliMjkwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMmhwYkdVZ0tHNXZaR1V1YzJsaWJHbHVaeUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNXZaR1V1Y21WMGRYSnVJRDA5UFNCdWRXeHNJSHg4SUc1dlpHVXVjbVYwZFhKdUlEMDlQU0J5YjI5MEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHNXZaR1V1YzJsaWJHbHVaeTV5WlhSMWNtNGdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0J1YjJSbElEMGdibTlrWlM1emFXSnNhVzVuTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUmxkR0ZqYUVacFltVnlLR04xY25KbGJuUXBJSHRjYmlBZ2RtRnlJR0ZzZEdWeWJtRjBaU0E5SUdOMWNuSmxiblF1WVd4MFpYSnVZWFJsT3lBdkx5QkRkWFFnYjJabUlIUm9aU0J5WlhSMWNtNGdjRzlwYm5SbGNuTWdkRzhnWkdselkyOXVibVZqZENCcGRDQm1jbTl0SUhSb1pTQjBjbVZsTGlCSlpHVmhiR3g1TENCM1pWeHVJQ0F2THlCemFHOTFiR1FnWTJ4bFlYSWdkR2hsSUdOb2FXeGtJSEJ2YVc1MFpYSWdiMllnZEdobElIQmhjbVZ1ZENCaGJIUmxjbTVoZEdVZ2RHOGdiR1YwSUhSb2FYTmNiaUFnTHk4Z1oyVjBJRWRET21Wa0lHSjFkQ0IzWlNCa2IyNG5kQ0JyYm05M0lIZG9hV05vSUdadmNpQnpkWEpsSUhkb2FXTm9JSEJoY21WdWRDQnBjeUIwYUdVZ1kzVnljbVZ1ZEZ4dUlDQXZMeUJ2Ym1VZ2MyOGdkMlVuYkd3Z2MyVjBkR3hsSUdadmNpQkhRenBwYm1jZ2RHaGxJSE4xWW5SeVpXVWdiMllnZEdocGN5QmphR2xzWkM0Z1ZHaHBjeUJqYUdsc1pGeHVJQ0F2THlCcGRITmxiR1lnZDJsc2JDQmlaU0JIUXpwbFpDQjNhR1Z1SUhSb1pTQndZWEpsYm5RZ2RYQmtZWFJsY3lCMGFHVWdibVY0ZENCMGFXMWxMbHh1WEc0Z0lHTjFjbkpsYm5RdWNtVjBkWEp1SUQwZ2JuVnNiRHRjYmlBZ1kzVnljbVZ1ZEM1amFHbHNaQ0E5SUc1MWJHdzdYRzRnSUdOMWNuSmxiblF1YldWdGIybDZaV1JUZEdGMFpTQTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUXVkWEJrWVhSbFVYVmxkV1VnUFNCdWRXeHNPMXh1SUNCamRYSnlaVzUwTG1SbGNHVnVaR1Z1WTJsbGN5QTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUXVZV3gwWlhKdVlYUmxJRDBnYm5Wc2JEdGNiaUFnWTNWeWNtVnVkQzVtYVhKemRFVm1abVZqZENBOUlHNTFiR3c3WEc0Z0lHTjFjbkpsYm5RdWJHRnpkRVZtWm1WamRDQTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUXVjR1Z1WkdsdVoxQnliM0J6SUQwZ2JuVnNiRHRjYmlBZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpJRDBnYm5Wc2JEdGNiaUFnWTNWeWNtVnVkQzV6ZEdGMFpVNXZaR1VnUFNCdWRXeHNPMXh1WEc0Z0lHbG1JQ2hoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JrWlhSaFkyaEdhV0psY2loaGJIUmxjbTVoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUlFZWEpsYm5SR2FXSmxjaWhtYVdKbGNpa2dlMXh1SUNCMllYSWdjR0Z5Wlc1MElEMGdabWxpWlhJdWNtVjBkWEp1TzF4dVhHNGdJSGRvYVd4bElDaHdZWEpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCcFppQW9hWE5JYjNOMFVHRnlaVzUwS0hCaGNtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3WVhKbGJuUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NHRnlaVzUwSUQwZ2NHRnlaVzUwTG5KbGRIVnlianRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkZlSEJsWTNSbFpDQjBieUJtYVc1a0lHRWdhRzl6ZENCd1lYSmxiblF1SUZSb2FYTWdaWEp5YjNJZ2FYTWdiR2xyWld4NUlHTmhkWE5sWkNCaWVTQmhJR0oxWnlCcGJpQlNaV0ZqZEM0Z1VHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTkliM04wVUdGeVpXNTBLR1pwWW1WeUtTQjdYRzRnSUhKbGRIVnliaUJtYVdKbGNpNTBZV2NnUFQwOUlFaHZjM1JEYjIxd2IyNWxiblFnZkh3Z1ptbGlaWEl1ZEdGbklEMDlQU0JJYjNOMFVtOXZkQ0I4ZkNCbWFXSmxjaTUwWVdjZ1BUMDlJRWh2YzNSUWIzSjBZV3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUlRhV0pzYVc1bktHWnBZbVZ5S1NCN1hHNGdJQzh2SUZkbEozSmxJR2R2YVc1bklIUnZJSE5sWVhKamFDQm1iM0ozWVhKa0lHbHVkRzhnZEdobElIUnlaV1VnZFc1MGFXd2dkMlVnWm1sdVpDQmhJSE5wWW14cGJtY2dhRzl6ZEZ4dUlDQXZMeUJ1YjJSbExpQlZibVp2Y25SMWJtRjBaV3g1TENCcFppQnRkV3gwYVhCc1pTQnBibk5sY25ScGIyNXpJR0Z5WlNCa2IyNWxJR2x1SUdFZ2NtOTNJSGRsSUdoaGRtVWdkRzljYmlBZ0x5OGdjMlZoY21Ob0lIQmhjM1FnZEdobGJTNGdWR2hwY3lCc1pXRmtjeUIwYnlCbGVIQnZibVZ1ZEdsaGJDQnpaV0Z5WTJnZ1ptOXlJSFJvWlNCdVpYaDBJSE5wWW14cGJtY3VYRzRnSUM4dklGUlBSRTg2SUVacGJtUWdZU0J0YjNKbElHVm1abWxqYVdWdWRDQjNZWGtnZEc4Z1pHOGdkR2hwY3k1Y2JpQWdkbUZ5SUc1dlpHVWdQU0JtYVdKbGNqdGNibHh1SUNCemFXSnNhVzVuY3pvZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQmthV1J1SjNRZ1ptbHVaQ0JoYm5sMGFHbHVaeXdnYkdWMEozTWdkSEo1SUhSb1pTQnVaWGgwSUhOcFlteHBibWN1WEc0Z0lDQWdkMmhwYkdVZ0tHNXZaR1V1YzJsaWJHbHVaeUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNXZaR1V1Y21WMGRYSnVJRDA5UFNCdWRXeHNJSHg4SUdselNHOXpkRkJoY21WdWRDaHViMlJsTG5KbGRIVnliaWtwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZDJVZ2NHOXdJRzkxZENCdlppQjBhR1VnY205dmRDQnZjaUJvYVhRZ2RHaGxJSEJoY21WdWRDQjBhR1VnWm1saVpYSWdkMlVnWVhKbElIUm9aVnh1SUNBZ0lDQWdJQ0F2THlCc1lYTjBJSE5wWW14cGJtY3VYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCdWIyUmxJRDBnYm05a1pTNXlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYm05a1pTNXphV0pzYVc1bkxuSmxkSFZ5YmlBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lHNXZaR1VnUFNCdWIyUmxMbk5wWW14cGJtYzdYRzVjYmlBZ0lDQjNhR2xzWlNBb2JtOWtaUzUwWVdjZ0lUMDlJRWh2YzNSRGIyMXdiMjVsYm5RZ0ppWWdibTlrWlM1MFlXY2dJVDA5SUVodmMzUlVaWGgwSUNZbUlHNXZaR1V1ZEdGbklDRTlQU0JFWldoNVpISmhkR1ZrUm5KaFoyMWxiblFwSUh0Y2JpQWdJQ0FnSUM4dklFbG1JR2wwSUdseklHNXZkQ0JvYjNOMElHNXZaR1VnWVc1a0xDQjNaU0J0YVdkb2RDQm9ZWFpsSUdFZ2FHOXpkQ0J1YjJSbElHbHVjMmxrWlNCcGRDNWNiaUFnSUNBZ0lDOHZJRlJ5ZVNCMGJ5QnpaV0Z5WTJnZ1pHOTNiaUIxYm5ScGJDQjNaU0JtYVc1a0lHOXVaUzVjYmlBZ0lDQWdJR2xtSUNodWIyUmxMbVZtWm1WamRGUmhaeUFtSUZCc1lXTmxiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCb1lYWmxJR0VnWTJocGJHUXNJSFJ5ZVNCMGFHVWdjMmxpYkdsdVozTWdhVzV6ZEdWaFpDNWNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVWdjMmxpYkdsdVozTTdYRzRnSUNBZ0lDQjlJQzh2SUVsbUlIZGxJR1J2YmlkMElHaGhkbVVnWVNCamFHbHNaQ3dnZEhKNUlIUm9aU0J6YVdKc2FXNW5jeUJwYm5OMFpXRmtMbHh1SUNBZ0lDQWdMeThnVjJVZ1lXeHpieUJ6YTJsd0lIQnZjblJoYkhNZ1ltVmpZWFZ6WlNCMGFHVjVJR0Z5WlNCdWIzUWdjR0Z5ZENCdlppQjBhR2x6SUdodmMzUWdkSEpsWlM1Y2JseHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNWphR2xzWkNBOVBUMGdiblZzYkNCOGZDQnViMlJsTG5SaFp5QTlQVDBnU0c5emRGQnZjblJoYkNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpTQnphV0pzYVc1bmN6dGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHNXZaR1V1WTJocGJHUXVjbVYwZFhKdUlEMGdibTlrWlR0Y2JpQWdJQ0FnSUNBZ2JtOWtaU0E5SUc1dlpHVXVZMmhwYkdRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNBdkx5QkRhR1ZqYXlCcFppQjBhR2x6SUdodmMzUWdibTlrWlNCcGN5QnpkR0ZpYkdVZ2IzSWdZV0p2ZFhRZ2RHOGdZbVVnY0d4aFkyVmtMbHh1WEc1Y2JpQWdJQ0JwWmlBb0lTaHViMlJsTG1WbVptVmpkRlJoWnlBbUlGQnNZV05sYldWdWRDa3BJSHRjYmlBZ0lDQWdJQzh2SUVadmRXNWtJR2wwSVZ4dUlDQWdJQ0FnY21WMGRYSnVJRzV2WkdVdWMzUmhkR1ZPYjJSbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSUWJHRmpaVzFsYm5Rb1ptbHVhWE5vWldSWGIzSnJLU0I3WEc1Y2JseHVJQ0IyWVhJZ2NHRnlaVzUwUm1saVpYSWdQU0JuWlhSSWIzTjBVR0Z5Wlc1MFJtbGlaWElvWm1sdWFYTm9aV1JYYjNKcktUc2dMeThnVG05MFpUb2dkR2hsYzJVZ2RIZHZJSFpoY21saFlteGxjeUFxYlhWemRDb2dZV3gzWVhseklHSmxJSFZ3WkdGMFpXUWdkRzluWlhSb1pYSXVYRzVjYmlBZ2RtRnlJSEJoY21WdWREdGNiaUFnZG1GeUlHbHpRMjl1ZEdGcGJtVnlPMXh1SUNCMllYSWdjR0Z5Wlc1MFUzUmhkR1ZPYjJSbElEMGdjR0Z5Wlc1MFJtbGlaWEl1YzNSaGRHVk9iMlJsTzF4dVhHNGdJSE4zYVhSamFDQW9jR0Z5Wlc1MFJtbGlaWEl1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JJYjNOMFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2NHRnlaVzUwSUQwZ2NHRnlaVzUwVTNSaGRHVk9iMlJsTzF4dUlDQWdJQ0FnYVhORGIyNTBZV2x1WlhJZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBVbTl2ZERwY2JpQWdJQ0FnSUhCaGNtVnVkQ0E5SUhCaGNtVnVkRk4wWVhSbFRtOWtaUzVqYjI1MFlXbHVaWEpKYm1adk8xeHVJQ0FnSUNBZ2FYTkRiMjUwWVdsdVpYSWdQU0IwY25WbE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElFaHZjM1JRYjNKMFlXdzZYRzRnSUNBZ0lDQndZWEpsYm5RZ1BTQndZWEpsYm5SVGRHRjBaVTV2WkdVdVkyOXVkR0ZwYm1WeVNXNW1ienRjYmlBZ0lDQWdJR2x6UTI5dWRHRnBibVZ5SUQwZ2RISjFaVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0JHZFc1a1lXMWxiblJoYkVOdmJYQnZibVZ1ZERwY2JseHVJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlMxdWJ5MW1ZV3hzZEdoeWIzVm5hRnh1WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJa2x1ZG1Gc2FXUWdhRzl6ZENCd1lYSmxiblFnWm1saVpYSXVJRlJvYVhNZ1pYSnliM0lnYVhNZ2JHbHJaV3g1SUdOaGRYTmxaQ0JpZVNCaElHSjFaeUJwYmlCU1pXRmpkQzRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJSDFjYmx4dUlDQnBaaUFvY0dGeVpXNTBSbWxpWlhJdVpXWm1aV04wVkdGbklDWWdRMjl1ZEdWdWRGSmxjMlYwS1NCN1hHNGdJQ0FnTHk4Z1VtVnpaWFFnZEdobElIUmxlSFFnWTI5dWRHVnVkQ0J2WmlCMGFHVWdjR0Z5Wlc1MElHSmxabTl5WlNCa2IybHVaeUJoYm5rZ2FXNXpaWEowYVc5dWMxeHVJQ0FnSUhKbGMyVjBWR1Y0ZEVOdmJuUmxiblFvY0dGeVpXNTBLVHNnTHk4Z1EyeGxZWElnUTI5dWRHVnVkRkpsYzJWMElHWnliMjBnZEdobElHVm1abVZqZENCMFlXZGNibHh1SUNBZ0lIQmhjbVZ1ZEVacFltVnlMbVZtWm1WamRGUmhaeUFtUFNCK1EyOXVkR1Z1ZEZKbGMyVjBPMXh1SUNCOVhHNWNiaUFnZG1GeUlHSmxabTl5WlNBOUlHZGxkRWh2YzNSVGFXSnNhVzVuS0dacGJtbHphR1ZrVjI5eWF5azdJQzh2SUZkbElHOXViSGtnYUdGMlpTQjBhR1VnZEc5d0lFWnBZbVZ5SUhSb1lYUWdkMkZ6SUdsdWMyVnlkR1ZrSUdKMWRDQjNaU0J1WldWa0lIUnZJSEpsWTNWeWMyVWdaRzkzYmlCcGRITmNiaUFnTHk4Z1kyaHBiR1J5Wlc0Z2RHOGdabWx1WkNCaGJHd2dkR2hsSUhSbGNtMXBibUZzSUc1dlpHVnpMbHh1WEc0Z0lHbG1JQ2hwYzBOdmJuUmhhVzVsY2lrZ2UxeHVJQ0FnSUdsdWMyVnlkRTl5UVhCd1pXNWtVR3hoWTJWdFpXNTBUbTlrWlVsdWRHOURiMjUwWVdsdVpYSW9abWx1YVhOb1pXUlhiM0pyTENCaVpXWnZjbVVzSUhCaGNtVnVkQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYVc1elpYSjBUM0pCY0hCbGJtUlFiR0ZqWlcxbGJuUk9iMlJsS0dacGJtbHphR1ZrVjI5eWF5d2dZbVZtYjNKbExDQndZWEpsYm5RcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x1YzJWeWRFOXlRWEJ3Wlc1a1VHeGhZMlZ0Wlc1MFRtOWtaVWx1ZEc5RGIyNTBZV2x1WlhJb2JtOWtaU3dnWW1WbWIzSmxMQ0J3WVhKbGJuUXBJSHRjYmlBZ2RtRnlJSFJoWnlBOUlHNXZaR1V1ZEdGbk8xeHVJQ0IyWVhJZ2FYTkliM04wSUQwZ2RHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBJSHg4SUhSaFp5QTlQVDBnU0c5emRGUmxlSFE3WEc1Y2JpQWdhV1lnS0dselNHOXpkQ0I4ZkNCbGJtRmliR1ZHZFc1a1lXMWxiblJoYkVGUVNTQXBJSHRjYmlBZ0lDQjJZWElnYzNSaGRHVk9iMlJsSUQwZ2FYTkliM04wSUQ4Z2JtOWtaUzV6ZEdGMFpVNXZaR1VnT2lCdWIyUmxMbk4wWVhSbFRtOWtaUzVwYm5OMFlXNWpaVHRjYmx4dUlDQWdJR2xtSUNoaVpXWnZjbVVwSUh0Y2JpQWdJQ0FnSUdsdWMyVnlkRWx1UTI5dWRHRnBibVZ5UW1WbWIzSmxLSEJoY21WdWRDd2djM1JoZEdWT2IyUmxMQ0JpWldadmNtVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGNIQmxibVJEYUdsc1pGUnZRMjl1ZEdGcGJtVnlLSEJoY21WdWRDd2djM1JoZEdWT2IyUmxLVHRjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0JwWmlBb2RHRm5JRDA5UFNCSWIzTjBVRzl5ZEdGc0tTQTdJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmphR2xzWkNBOUlHNXZaR1V1WTJocGJHUTdYRzVjYmlBZ0lDQnBaaUFvWTJocGJHUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2x1YzJWeWRFOXlRWEJ3Wlc1a1VHeGhZMlZ0Wlc1MFRtOWtaVWx1ZEc5RGIyNTBZV2x1WlhJb1kyaHBiR1FzSUdKbFptOXlaU3dnY0dGeVpXNTBLVHRjYmlBZ0lDQWdJSFpoY2lCemFXSnNhVzVuSUQwZ1kyaHBiR1F1YzJsaWJHbHVaenRjYmx4dUlDQWdJQ0FnZDJocGJHVWdLSE5wWW14cGJtY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYVc1elpYSjBUM0pCY0hCbGJtUlFiR0ZqWlcxbGJuUk9iMlJsU1c1MGIwTnZiblJoYVc1bGNpaHphV0pzYVc1bkxDQmlaV1p2Y21Vc0lIQmhjbVZ1ZENrN1hHNGdJQ0FnSUNBZ0lITnBZbXhwYm1jZ1BTQnphV0pzYVc1bkxuTnBZbXhwYm1jN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHVjMlZ5ZEU5eVFYQndaVzVrVUd4aFkyVnRaVzUwVG05a1pTaHViMlJsTENCaVpXWnZjbVVzSUhCaGNtVnVkQ2tnZTF4dUlDQjJZWElnZEdGbklEMGdibTlrWlM1MFlXYzdYRzRnSUhaaGNpQnBjMGh2YzNRZ1BTQjBZV2NnUFQwOUlFaHZjM1JEYjIxd2IyNWxiblFnZkh3Z2RHRm5JRDA5UFNCSWIzTjBWR1Y0ZER0Y2JseHVJQ0JwWmlBb2FYTkliM04wSUh4OElHVnVZV0pzWlVaMWJtUmhiV1Z1ZEdGc1FWQkpJQ2tnZTF4dUlDQWdJSFpoY2lCemRHRjBaVTV2WkdVZ1BTQnBjMGh2YzNRZ1B5QnViMlJsTG5OMFlYUmxUbTlrWlNBNklHNXZaR1V1YzNSaGRHVk9iMlJsTG1sdWMzUmhibU5sTzF4dVhHNGdJQ0FnYVdZZ0tHSmxabTl5WlNrZ2UxeHVJQ0FnSUNBZ2FXNXpaWEowUW1WbWIzSmxLSEJoY21WdWRDd2djM1JoZEdWT2IyUmxMQ0JpWldadmNtVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGNIQmxibVJEYUdsc1pDaHdZWEpsYm5Rc0lITjBZWFJsVG05a1pTazdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnU0c5emRGQnZjblJoYkNrZ095QmxiSE5sSUh0Y2JpQWdJQ0IyWVhJZ1kyaHBiR1FnUFNCdWIyUmxMbU5vYVd4a08xeHVYRzRnSUNBZ2FXWWdLR05vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBibk5sY25SUGNrRndjR1Z1WkZCc1lXTmxiV1Z1ZEU1dlpHVW9ZMmhwYkdRc0lHSmxabTl5WlN3Z2NHRnlaVzUwS1R0Y2JpQWdJQ0FnSUhaaGNpQnphV0pzYVc1bklEMGdZMmhwYkdRdWMybGliR2x1Wnp0Y2JseHVJQ0FnSUNBZ2QyaHBiR1VnS0hOcFlteHBibWNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ2FXNXpaWEowVDNKQmNIQmxibVJRYkdGalpXMWxiblJPYjJSbEtITnBZbXhwYm1jc0lHSmxabTl5WlN3Z2NHRnlaVzUwS1R0Y2JpQWdJQ0FnSUNBZ2MybGliR2x1WnlBOUlITnBZbXhwYm1jdWMybGliR2x1Wnp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNXRiM1Z1ZEVodmMzUkRiMjF3YjI1bGJuUnpLR1pwYm1semFHVmtVbTl2ZEN3Z1kzVnljbVZ1ZEN3Z2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJDa2dlMXh1SUNBdkx5QlhaU0J2Ym14NUlHaGhkbVVnZEdobElIUnZjQ0JHYVdKbGNpQjBhR0YwSUhkaGN5QmtaV3hsZEdWa0lHSjFkQ0IzWlNCdVpXVmtJSFJ2SUhKbFkzVnljMlVnWkc5M2JpQnBkSE5jYmlBZ0x5OGdZMmhwYkdSeVpXNGdkRzhnWm1sdVpDQmhiR3dnZEdobElIUmxjbTFwYm1Gc0lHNXZaR1Z6TGx4dUlDQjJZWElnYm05a1pTQTlJR04xY25KbGJuUTdJQzh2SUVWaFkyZ2dhWFJsY21GMGFXOXVMQ0JqZFhKeVpXNTBVR0Z5Wlc1MElHbHpJSEJ2Y0hWc1lYUmxaQ0IzYVhSb0lHNXZaR1VuY3lCb2IzTjBJSEJoY21WdWRDQnBaaUJ1YjNSY2JpQWdMeThnWTNWeWNtVnVkRkJoY21WdWRFbHpWbUZzYVdRdVhHNWNiaUFnZG1GeUlHTjFjbkpsYm5SUVlYSmxiblJKYzFaaGJHbGtJRDBnWm1Gc2MyVTdJQzh2SUU1dmRHVTZJSFJvWlhObElIUjNieUIyWVhKcFlXSnNaWE1nS20xMWMzUXFJR0ZzZDJGNWN5QmlaU0IxY0dSaGRHVmtJSFJ2WjJWMGFHVnlMbHh1WEc0Z0lIWmhjaUJqZFhKeVpXNTBVR0Z5Wlc1ME8xeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZCaGNtVnVkRWx6UTI5dWRHRnBibVZ5TzF4dVhHNGdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnYVdZZ0tDRmpkWEp5Wlc1MFVHRnlaVzUwU1hOV1lXeHBaQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIQmhjbVZ1ZENBOUlHNXZaR1V1Y21WMGRYSnVPMXh1WEc0Z0lDQWdJQ0JtYVc1a1VHRnlaVzUwT2lCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lTaHdZWEpsYm5RZ0lUMDlJRzUxYkd3cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYaHdaV04wWldRZ2RHOGdabWx1WkNCaElHaHZjM1FnY0dGeVpXNTBMaUJVYUdseklHVnljbTl5SUdseklHeHBhMlZzZVNCallYVnpaV1FnWW5rZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlIQmhjbVZ1ZEZOMFlYUmxUbTlrWlNBOUlIQmhjbVZ1ZEM1emRHRjBaVTV2WkdVN1hHNWNiaUFnSUNBZ0lDQWdjM2RwZEdOb0lDaHdZWEpsYm5RdWRHRm5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JJYjNOMFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRkJoY21WdWRDQTlJSEJoY21WdWRGTjBZWFJsVG05a1pUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJRWVhKbGJuUkpjME52Ym5SaGFXNWxjaUE5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3NnWm1sdVpGQmhjbVZ1ZER0Y2JseHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1NHOXpkRkp2YjNRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqZFhKeVpXNTBVR0Z5Wlc1MElEMGdjR0Z5Wlc1MFUzUmhkR1ZPYjJSbExtTnZiblJoYVc1bGNrbHVabTg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFVHRnlaVzUwU1hORGIyNTBZV2x1WlhJZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzZ1ptbHVaRkJoY21WdWREdGNibHh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdTRzl6ZEZCdmNuUmhiRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5SUVlYSmxiblFnUFNCd1lYSmxiblJUZEdGMFpVNXZaR1V1WTI5dWRHRnBibVZ5U1c1bWJ6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJRWVhKbGJuUkpjME52Ym5SaGFXNWxjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhheUJtYVc1a1VHRnlaVzUwTzF4dVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J3WVhKbGJuUWdQU0J3WVhKbGJuUXVjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpkWEp5Wlc1MFVHRnlaVzUwU1hOV1lXeHBaQ0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBJSHg4SUc1dlpHVXVkR0ZuSUQwOVBTQkliM04wVkdWNGRDa2dlMXh1SUNBZ0lDQWdZMjl0YldsMFRtVnpkR1ZrVlc1dGIzVnVkSE1vWm1sdWFYTm9aV1JTYjI5MExDQnViMlJsTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tUc2dMeThnUVdaMFpYSWdZV3hzSUhSb1pTQmphR2xzWkhKbGJpQm9ZWFpsSUhWdWJXOTFiblJsWkN3Z2FYUWdhWE1nYm05M0lITmhabVVnZEc4Z2NtVnRiM1psSUhSb1pWeHVJQ0FnSUNBZ0x5OGdibTlrWlNCbWNtOXRJSFJvWlNCMGNtVmxMbHh1WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEZCaGNtVnVkRWx6UTI5dWRHRnBibVZ5S1NCN1hHNGdJQ0FnSUNBZ0lISmxiVzkyWlVOb2FXeGtSbkp2YlVOdmJuUmhhVzVsY2loamRYSnlaVzUwVUdGeVpXNTBMQ0J1YjJSbExuTjBZWFJsVG05a1pTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlaVzF2ZG1WRGFHbHNaQ2hqZFhKeVpXNTBVR0Z5Wlc1MExDQnViMlJsTG5OMFlYUmxUbTlrWlNrN1hHNGdJQ0FnSUNCOUlDOHZJRVJ2YmlkMElIWnBjMmwwSUdOb2FXeGtjbVZ1SUdKbFkyRjFjMlVnZDJVZ1lXeHlaV0ZrZVNCMmFYTnBkR1ZrSUhSb1pXMHVYRzVjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBVRzl5ZEdGc0tTQjdYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNWphR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJYYUdWdUlIZGxJR2R2SUdsdWRHOGdZU0J3YjNKMFlXd3NJR2wwSUdKbFkyOXRaWE1nZEdobElIQmhjbVZ1ZENCMGJ5QnlaVzF2ZG1VZ1puSnZiUzVjYmlBZ0lDQWdJQ0FnTHk4Z1YyVWdkMmxzYkNCeVpXRnpjMmxuYmlCcGRDQmlZV05ySUhkb1pXNGdkMlVnY0c5d0lIUm9aU0J3YjNKMFlXd2diMjRnZEdobElIZGhlU0IxY0M1Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEZCaGNtVnVkQ0E5SUc1dlpHVXVjM1JoZEdWT2IyUmxMbU52Ym5SaGFXNWxja2x1Wm04N1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5SUVlYSmxiblJKYzBOdmJuUmhhVzVsY2lBOUlIUnlkV1U3SUM4dklGWnBjMmwwSUdOb2FXeGtjbVZ1SUdKbFkyRjFjMlVnY0c5eWRHRnNjeUJ0YVdkb2RDQmpiMjUwWVdsdUlHaHZjM1FnWTI5dGNHOXVaVzUwY3k1Y2JseHVJQ0FnSUNBZ0lDQnViMlJsTG1Ob2FXeGtMbkpsZEhWeWJpQTlJRzV2WkdVN1hHNGdJQ0FnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5dGJXbDBWVzV0YjNWdWRDaG1hVzVwYzJobFpGSnZiM1FzSUc1dlpHVXNJSEpsYm1SbGNsQnlhVzl5YVhSNVRHVjJaV3dwT3lBdkx5QldhWE5wZENCamFHbHNaSEpsYmlCaVpXTmhkWE5sSUhkbElHMWhlU0JtYVc1a0lHMXZjbVVnYUc5emRDQmpiMjF3YjI1bGJuUnpJR0psYkc5M0xseHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNWphR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsTG1Ob2FXeGtMbkpsZEhWeWJpQTlJRzV2WkdVN1hHNGdJQ0FnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ibTlrWlNBOVBUMGdZM1Z5Y21WdWRDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhkb2FXeGxJQ2h1YjJSbExuTnBZbXhwYm1jZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2h1YjJSbExuSmxkSFZ5YmlBOVBUMGdiblZzYkNCOGZDQnViMlJsTG5KbGRIVnliaUE5UFQwZ1kzVnljbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbkpsZEhWeWJqdGNibHh1SUNBZ0lDQWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQkliM04wVUc5eWRHRnNLU0I3WEc0Z0lDQWdJQ0FnSUM4dklGZG9aVzRnZDJVZ1oyOGdiM1YwSUc5bUlIUm9aU0J3YjNKMFlXd3NJSGRsSUc1bFpXUWdkRzhnY21WemRHOXlaU0IwYUdVZ2NHRnlaVzUwTGx4dUlDQWdJQ0FnSUNBdkx5QlRhVzVqWlNCM1pTQmtiMjRuZENCclpXVndJR0VnYzNSaFkyc2diMllnZEdobGJTd2dkMlVnZDJsc2JDQnpaV0Z5WTJnZ1ptOXlJR2wwTGx4dUlDQWdJQ0FnSUNCamRYSnlaVzUwVUdGeVpXNTBTWE5XWVd4cFpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUc1dlpHVXVjMmxpYkdsdVp5NXlaWFIxY200Z1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQnViMlJsSUQwZ2JtOWtaUzV6YVdKc2FXNW5PMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRVJsYkdWMGFXOXVLR1pwYm1semFHVmtVbTl2ZEN3Z1kzVnljbVZ1ZEN3Z2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJDa2dlMXh1SUNCN1hHNGdJQ0FnTHk4Z1VtVmpkWEp6YVhabGJIa2daR1ZzWlhSbElHRnNiQ0JvYjNOMElHNXZaR1Z6SUdaeWIyMGdkR2hsSUhCaGNtVnVkQzVjYmlBZ0lDQXZMeUJFWlhSaFkyZ2djbVZtY3lCaGJtUWdZMkZzYkNCamIyMXdiMjVsYm5SWGFXeHNWVzV0YjNWdWRDZ3BJRzl1SUhSb1pTQjNhRzlzWlNCemRXSjBjbVZsTGx4dUlDQWdJSFZ1Ylc5MWJuUkliM04wUTI5dGNHOXVaVzUwY3lobWFXNXBjMmhsWkZKdmIzUXNJR04xY25KbGJuUXNJSEpsYm1SbGNsQnlhVzl5YVhSNVRHVjJaV3dwTzF4dUlDQjlYRzVjYmlBZ1pHVjBZV05vUm1saVpYSW9ZM1Z5Y21WdWRDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnZiVzFwZEZkdmNtc29ZM1Z5Y21WdWRDd2dabWx1YVhOb1pXUlhiM0pyS1NCN1hHNWNiaUFnYzNkcGRHTm9JQ2htYVc1cGMyaGxaRmR2Y21zdWRHRm5LU0I3WEc0Z0lDQWdZMkZ6WlNCR2RXNWpkR2x2YmtOdmJYQnZibVZ1ZERwY2JpQWdJQ0JqWVhObElFWnZjbmRoY21SU1pXWTZYRzRnSUNBZ1kyRnpaU0JOWlcxdlEyOXRjRzl1Wlc1ME9seHVJQ0FnSUdOaGMyVWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVKc2IyTnJPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0F2THlCTVlYbHZkWFFnWldabVpXTjBjeUJoY21VZ1pHVnpkSEp2ZVdWa0lHUjFjbWx1WnlCMGFHVWdiWFYwWVhScGIyNGdjR2hoYzJVZ2MyOGdkR2hoZENCaGJHeGNiaUFnSUNBZ0lDQWdMeThnWkdWemRISnZlU0JtZFc1amRHbHZibk1nWm05eUlHRnNiQ0JtYVdKbGNuTWdZWEpsSUdOaGJHeGxaQ0JpWldadmNtVWdZVzU1SUdOeVpXRjBaU0JtZFc1amRHbHZibk11WEc0Z0lDQWdJQ0FnSUM4dklGUm9hWE1nY0hKbGRtVnVkSE1nYzJsaWJHbHVaeUJqYjIxd2IyNWxiblFnWldabVpXTjBjeUJtY205dElHbHVkR1Z5Wm1WeWFXNW5JSGRwZEdnZ1pXRmphQ0J2ZEdobGNpeGNiaUFnSUNBZ0lDQWdMeThnWlM1bkxpQmhJR1JsYzNSeWIza2dablZ1WTNScGIyNGdhVzRnYjI1bElHTnZiWEJ2Ym1WdWRDQnphRzkxYkdRZ2JtVjJaWElnYjNabGNuSnBaR1VnWVNCeVpXWWdjMlYwWEc0Z0lDQWdJQ0FnSUM4dklHSjVJR0VnWTNKbFlYUmxJR1oxYm1OMGFXOXVJR2x1SUdGdWIzUm9aWElnWTI5dGNHOXVaVzUwSUdSMWNtbHVaeUIwYUdVZ2MyRnRaU0JqYjIxdGFYUXVYRzRnSUNBZ0lDQWdJR052YlcxcGRFaHZiMnRGWm1abFkzUk1hWE4wVlc1dGIzVnVkQ2hNWVhsdmRYUWdmQ0JJWVhORlptWmxZM1FzSUdacGJtbHphR1ZrVjI5eWF5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUTJ4aGMzTkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnU0c5emRFTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdsdWMzUmhibU5sSUQwZ1ptbHVhWE5vWldSWGIzSnJMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9hVzV6ZEdGdVkyVWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFTnZiVzFwZENCMGFHVWdkMjl5YXlCd2NtVndZWEpsWkNCbFlYSnNhV1Z5TGx4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ1WlhkUWNtOXdjeUE5SUdacGJtbHphR1ZrVjI5eWF5NXRaVzF2YVhwbFpGQnliM0J6T3lBdkx5QkdiM0lnYUhsa2NtRjBhVzl1SUhkbElISmxkWE5sSUhSb1pTQjFjR1JoZEdVZ2NHRjBhQ0JpZFhRZ2QyVWdkSEpsWVhRZ2RHaGxJRzlzWkZCeWIzQnpYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1lYTWdkR2hsSUc1bGQxQnliM0J6TGlCVWFHVWdkWEJrWVhSbFVHRjViRzloWkNCM2FXeHNJR052Ym5SaGFXNGdkR2hsSUhKbFlXd2dZMmhoYm1kbElHbHVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHaHBjeUJqWVhObExseHVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHOXNaRkJ5YjNCeklEMGdZM1Z5Y21WdWRDQWhQVDBnYm5Wc2JDQS9JR04xY25KbGJuUXViV1Z0YjJsNlpXUlFjbTl3Y3lBNklHNWxkMUJ5YjNCek8xeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCMGVYQmxJRDBnWm1sdWFYTm9aV1JYYjNKckxuUjVjR1U3SUM4dklGUlBSRTg2SUZSNWNHVWdkR2hsSUhWd1pHRjBaVkYxWlhWbElIUnZJR0psSUhOd1pXTnBabWxqSUhSdklHaHZjM1FnWTI5dGNHOXVaVzUwY3k1Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCMWNHUmhkR1ZRWVhsc2IyRmtJRDBnWm1sdWFYTm9aV1JYYjNKckxuVndaR0YwWlZGMVpYVmxPMXh1SUNBZ0lDQWdJQ0FnSUdacGJtbHphR1ZrVjI5eWF5NTFjR1JoZEdWUmRXVjFaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kWEJrWVhSbFVHRjViRzloWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dGJXbDBWWEJrWVhSbEtHbHVjM1JoYm1ObExDQjFjR1JoZEdWUVlYbHNiMkZrTENCMGVYQmxMQ0J2YkdSUWNtOXdjeXdnYm1WM1VISnZjSE1wTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1NHOXpkRlJsZUhRNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doS0dacGJtbHphR1ZrVjI5eWF5NXpkR0YwWlU1dlpHVWdJVDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lWR2hwY3lCemFHOTFiR1FnYUdGMlpTQmhJSFJsZUhRZ2JtOWtaU0JwYm1sMGFXRnNhWHBsWkM0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlhoMFNXNXpkR0Z1WTJVZ1BTQm1hVzVwYzJobFpGZHZjbXN1YzNSaGRHVk9iMlJsTzF4dUlDQWdJQ0FnSUNCMllYSWdibVYzVkdWNGRDQTlJR1pwYm1semFHVmtWMjl5YXk1dFpXMXZhWHBsWkZCeWIzQnpPeUF2THlCR2IzSWdhSGxrY21GMGFXOXVJSGRsSUhKbGRYTmxJSFJvWlNCMWNHUmhkR1VnY0dGMGFDQmlkWFFnZDJVZ2RISmxZWFFnZEdobElHOXNaRkJ5YjNCelhHNGdJQ0FnSUNBZ0lDOHZJR0Z6SUhSb1pTQnVaWGRRY205d2N5NGdWR2hsSUhWd1pHRjBaVkJoZVd4dllXUWdkMmxzYkNCamIyNTBZV2x1SUhSb1pTQnlaV0ZzSUdOb1lXNW5aU0JwYmx4dUlDQWdJQ0FnSUNBdkx5QjBhR2x6SUdOaGMyVXVYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlHOXNaRlJsZUhRZ1BTQmpkWEp5Wlc1MElDRTlQU0J1ZFd4c0lEOGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGQnliM0J6SURvZ2JtVjNWR1Y0ZER0Y2JpQWdJQ0FnSUNBZ1kyOXRiV2wwVkdWNGRGVndaR0YwWlNoMFpYaDBTVzV6ZEdGdVkyVXNJRzlzWkZSbGVIUXNJRzVsZDFSbGVIUXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlNiMjkwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUY5eWIyOTBJRDBnWm1sdWFYTm9aV1JYYjNKckxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGZjbTl2ZEM1b2VXUnlZWFJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTZDJaU0JxZFhOMElHaDVaSEpoZEdWa0xpQk9ieUJ1WldWa0lIUnZJR2g1WkhKaGRHVWdZV2RoYVc0dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JmY205dmRDNW9lV1J5WVhSbElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjIxdGFYUkllV1J5WVhSbFpFTnZiblJoYVc1bGNpaGZjbTl2ZEM1amIyNTBZV2x1WlhKSmJtWnZLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUZCeWIyWnBiR1Z5T2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElGTjFjM0JsYm5ObFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQmpiMjF0YVhSVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENobWFXNXBjMmhsWkZkdmNtc3BPMXh1SUNBZ0lDQWdJQ0JoZEhSaFkyaFRkWE53Wlc1elpWSmxkSEo1VEdsemRHVnVaWEp6S0dacGJtbHphR1ZrVjI5eWF5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnVTNWemNHVnVjMlZNYVhOMFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQmhkSFJoWTJoVGRYTndaVzV6WlZKbGRISjVUR2x6ZEdWdVpYSnpLR1pwYm1semFHVmtWMjl5YXlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTVzVqYjIxd2JHVjBaVU5zWVhOelEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpVkdocGN5QjFibWwwSUc5bUlIZHZjbXNnZEdGbklITm9iM1ZzWkNCdWIzUWdhR0YyWlNCemFXUmxMV1ZtWm1WamRITXVJRlJvYVhNZ1pYSnliM0lnYVhNZ2JHbHJaV3g1SUdOaGRYTmxaQ0JpZVNCaElHSjFaeUJwYmlCU1pXRmpkQzRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUW9abWx1YVhOb1pXUlhiM0pyS1NCN1hHNGdJSFpoY2lCdVpYZFRkR0YwWlNBOUlHWnBibWx6YUdWa1YyOXlheTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0IyWVhJZ2JtVjNSR2xrVkdsdFpXOTFkRHRjYmlBZ2RtRnlJSEJ5YVcxaGNubERhR2xzWkZCaGNtVnVkQ0E5SUdacGJtbHphR1ZrVjI5eWF6dGNibHh1SUNCcFppQW9ibVYzVTNSaGRHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnVaWGRFYVdSVWFXMWxiM1YwSUQwZ1ptRnNjMlU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYm1WM1JHbGtWR2x0Wlc5MWRDQTlJSFJ5ZFdVN1hHNGdJQ0FnY0hKcGJXRnllVU5vYVd4a1VHRnlaVzUwSUQwZ1ptbHVhWE5vWldSWGIzSnJMbU5vYVd4a08xeHVJQ0FnSUcxaGNtdERiMjF0YVhSVWFXMWxUMlpHWVd4c1ltRmpheWdwTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0J3Y21sdFlYSjVRMmhwYkdSUVlYSmxiblFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JvYVdSbFQzSlZibWhwWkdWQmJHeERhR2xzWkhKbGJpaHdjbWx0WVhKNVEyaHBiR1JRWVhKbGJuUXNJRzVsZDBScFpGUnBiV1Z2ZFhRcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR052YlcxcGRGTjFjM0JsYm5ObFNIbGtjbUYwYVc5dVEyRnNiR0poWTJ0ektHWnBibWx6YUdWa1VtOXZkQ3dnWm1sdWFYTm9aV1JYYjNKcktTQjdYRzVjYmlBZ2RtRnlJRzVsZDFOMFlYUmxJRDBnWm1sdWFYTm9aV1JYYjNKckxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc1Y2JpQWdhV1lnS0c1bGQxTjBZWFJsSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQm1hVzVwYzJobFpGZHZjbXN1WVd4MFpYSnVZWFJsTzF4dVhHNGdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVTdYRzVjYmlBZ0lDQWdJR2xtSUNod2NtVjJVM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhOMWMzQmxibk5sU1c1emRHRnVZMlVnUFNCd2NtVjJVM1JoZEdVdVpHVm9lV1J5WVhSbFpEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2MzVnpjR1Z1YzJWSmJuTjBZVzVqWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052YlcxcGRFaDVaSEpoZEdWa1UzVnpjR1Z1YzJWSmJuTjBZVzVqWlNoemRYTndaVzV6WlVsdWMzUmhibU5sS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhkSFJoWTJoVGRYTndaVzV6WlZKbGRISjVUR2x6ZEdWdVpYSnpLR1pwYm1semFHVmtWMjl5YXlrZ2UxeHVJQ0F2THlCSlppQjBhR2x6SUdKdmRXNWtZWEo1SUdwMWMzUWdkR2x0WldRZ2IzVjBMQ0IwYUdWdUlHbDBJSGRwYkd3Z2FHRjJaU0JoSUhObGRDQnZaaUIwYUdWdVlXSnNaWE11WEc0Z0lDOHZJRVp2Y2lCbFlXTm9JSFJvWlc1aFlteGxMQ0JoZEhSaFkyZ2dZU0JzYVhOMFpXNWxjaUJ6YnlCMGFHRjBJSGRvWlc0Z2FYUWdjbVZ6YjJ4MlpYTXNJRkpsWVdOMFhHNGdJQzh2SUdGMGRHVnRjSFJ6SUhSdklISmxMWEpsYm1SbGNpQjBhR1VnWW05MWJtUmhjbmtnYVc0Z2RHaGxJSEJ5YVcxaGNua2dLSEJ5WlMxMGFXMWxiM1YwS1NCemRHRjBaUzVjYmlBZ2RtRnlJSFJvWlc1aFlteGxjeUE5SUdacGJtbHphR1ZrVjI5eWF5NTFjR1JoZEdWUmRXVjFaVHRjYmx4dUlDQnBaaUFvZEdobGJtRmliR1Z6SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWm1sdWFYTm9aV1JYYjNKckxuVndaR0YwWlZGMVpYVmxJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdjbVYwY25sRFlXTm9aU0E5SUdacGJtbHphR1ZrVjI5eWF5NXpkR0YwWlU1dlpHVTdYRzVjYmlBZ0lDQnBaaUFvY21WMGNubERZV05vWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBjbmxEWVdOb1pTQTlJR1pwYm1semFHVmtWMjl5YXk1emRHRjBaVTV2WkdVZ1BTQnVaWGNnVUc5emMybGliSGxYWldGclUyVjBLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hsYm1GaWJHVnpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSFJvWlc1aFlteGxLU0I3WEc0Z0lDQWdJQ0F2THlCTlpXMXZhWHBsSUhWemFXNW5JSFJvWlNCaWIzVnVaR0Z5ZVNCbWFXSmxjaUIwYnlCd2NtVjJaVzUwSUhKbFpIVnVaR0Z1ZENCc2FYTjBaVzVsY25NdVhHNGdJQ0FnSUNCMllYSWdjbVYwY25rZ1BTQnlaWE52YkhabFVtVjBjbmxVYUdWdVlXSnNaUzVpYVc1a0tHNTFiR3dzSUdacGJtbHphR1ZrVjI5eWF5d2dkR2hsYm1GaWJHVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYSmxkSEo1UTJGamFHVXVhR0Z6S0hSb1pXNWhZbXhsS1NrZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9aVzVoWW14bExsOWZjbVZoWTNSRWIwNXZkRlJ5WVdObFNXNTBaWEpoWTNScGIyNXpJQ0U5UFNCMGNuVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFJ5ZVNBOUlIUnlZV05wYm1jdWRXNXpkR0ZpYkdWZmQzSmhjQ2h5WlhSeWVTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwY25sRFlXTm9aUzVoWkdRb2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQjBhR1Z1WVdKc1pTNTBhR1Z1S0hKbGRISjVMQ0J5WlhSeWVTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBVbVZ6WlhSVVpYaDBRMjl1ZEdWdWRDaGpkWEp5Wlc1MEtTQjdYRzVjYmlBZ2NtVnpaWFJVWlhoMFEyOXVkR1Z1ZENoamRYSnlaVzUwTG5OMFlYUmxUbTlrWlNrN1hHNTlYRzVjYm5aaGNpQlFiM056YVdKc2VWZGxZV3ROWVhBa01TQTlJSFI1Y0dWdlppQlhaV0ZyVFdGd0lEMDlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1YyVmhhMDFoY0NBNklFMWhjRHRjYmx4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsVW05dmRFVnljbTl5VlhCa1lYUmxLR1pwWW1WeUxDQmxjbkp2Y2tsdVptOHNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQjFjR1JoZEdVZ1BTQmpjbVZoZEdWVmNHUmhkR1VvWlhod2FYSmhkR2x2YmxScGJXVXNJRzUxYkd3cE95QXZMeUJWYm0xdmRXNTBJSFJvWlNCeWIyOTBJR0o1SUhKbGJtUmxjbWx1WnlCdWRXeHNMbHh1WEc0Z0lIVndaR0YwWlM1MFlXY2dQU0JEWVhCMGRYSmxWWEJrWVhSbE95QXZMeUJEWVhWMGFXOXVPaUJTWldGamRDQkVaWFpVYjI5c2N5QmpkWEp5Wlc1MGJIa2daR1Z3Wlc1a2N5QnZiaUIwYUdseklIQnliM0JsY25SNVhHNGdJQzh2SUdKbGFXNW5JR05oYkd4bFpDQmNJbVZzWlcxbGJuUmNJaTVjYmx4dUlDQjFjR1JoZEdVdWNHRjViRzloWkNBOUlIdGNiaUFnSUNCbGJHVnRaVzUwT2lCdWRXeHNYRzRnSUgwN1hHNGdJSFpoY2lCbGNuSnZjaUE5SUdWeWNtOXlTVzVtYnk1MllXeDFaVHRjYmx4dUlDQjFjR1JoZEdVdVkyRnNiR0poWTJzZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdiMjVWYm1OaGRXZG9kRVZ5Y205eUtHVnljbTl5S1R0Y2JpQWdJQ0JzYjJkRmNuSnZjaWhtYVdKbGNpd2daWEp5YjNKSmJtWnZLVHRjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnZFhCa1lYUmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRGJHRnpjMFZ5Y205eVZYQmtZWFJsS0dacFltVnlMQ0JsY25KdmNrbHVabThzSUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIWmhjaUIxY0dSaGRHVWdQU0JqY21WaGRHVlZjR1JoZEdVb1pYaHdhWEpoZEdsdmJsUnBiV1VzSUc1MWJHd3BPMXh1SUNCMWNHUmhkR1V1ZEdGbklEMGdRMkZ3ZEhWeVpWVndaR0YwWlR0Y2JpQWdkbUZ5SUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxRmNuSnZjaUE5SUdacFltVnlMblI1Y0dVdVoyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJVVnljbTl5TzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlVWeWNtOXlJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ2RtRnlJR1Z5Y205eUpERWdQU0JsY25KdmNrbHVabTh1ZG1Gc2RXVTdYRzVjYmlBZ0lDQjFjR1JoZEdVdWNHRjViRzloWkNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJR3h2WjBWeWNtOXlLR1pwWW1WeUxDQmxjbkp2Y2tsdVptOHBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMUZjbkp2Y2lobGNuSnZjaVF4S1R0Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2RtRnlJR2x1YzNRZ1BTQm1hV0psY2k1emRHRjBaVTV2WkdVN1hHNWNiaUFnYVdZZ0tHbHVjM1FnSVQwOUlHNTFiR3dnSmlZZ2RIbHdaVzltSUdsdWMzUXVZMjl0Y0c5dVpXNTBSR2xrUTJGMFkyZ2dQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCMWNHUmhkR1V1WTJGc2JHSmhZMnNnUFNCbWRXNWpkR2x2YmlCallXeHNZbUZqYXlncElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdiV0Z5YTBaaGFXeGxaRVZ5Y205eVFtOTFibVJoY25sR2IzSkliM1JTWld4dllXUnBibWNvWm1saVpYSXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxRmNuSnZjaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0F2THlCVWJ5QndjbVZ6WlhKMlpTQjBhR1VnY0hKbFpYaHBjM1JwYm1jZ2NtVjBjbmtnWW1Wb1lYWnBiM0lnYjJZZ1pYSnliM0lnWW05MWJtUmhjbWxsY3l4Y2JpQWdJQ0FnSUNBZ0x5OGdkMlVnYTJWbGNDQjBjbUZqYXlCdlppQjNhR2xqYUNCdmJtVnpJR0ZzY21WaFpIa2dabUZwYkdWa0lHUjFjbWx1WnlCMGFHbHpJR0poZEdOb0xseHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHZGxkSE1nY21WelpYUWdZbVZtYjNKbElIZGxJSGxwWld4a0lHSmhZMnNnZEc4Z2RHaGxJR0p5YjNkelpYSXVYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRmRoY200Z2FXNGdjM1J5YVdOMElHMXZaR1VnYVdZZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJVVnljbTl5SUdselhHNGdJQ0FnSUNBZ0lDOHZJRzV2ZENCa1pXWnBibVZrTGx4dUlDQWdJQ0FnSUNCdFlYSnJUR1ZuWVdONVJYSnliM0pDYjNWdVpHRnllVUZ6Um1GcGJHVmtLSFJvYVhNcE95QXZMeUJQYm14NUlHeHZaeUJvWlhKbElHbG1JR052YlhCdmJtVnVkRVJwWkVOaGRHTm9JR2x6SUhSb1pTQnZibXg1SUdWeWNtOXlJR0p2ZFc1a1lYSjVJRzFsZEdodlpDQmtaV1pwYm1Wa1hHNWNiaUFnSUNBZ0lDQWdiRzluUlhKeWIzSW9abWxpWlhJc0lHVnljbTl5U1c1bWJ5azdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCbGNuSnZjaVF4SUQwZ1pYSnliM0pKYm1adkxuWmhiSFZsTzF4dUlDQWdJQ0FnZG1GeUlITjBZV05ySUQwZ1pYSnliM0pKYm1adkxuTjBZV05yTzF4dUlDQWdJQ0FnZEdocGN5NWpiMjF3YjI1bGJuUkVhV1JEWVhSamFDaGxjbkp2Y2lReExDQjdYRzRnSUNBZ0lDQWdJR052YlhCdmJtVnVkRk4wWVdOck9pQnpkR0ZqYXlBaFBUMGdiblZzYkNBL0lITjBZV05ySURvZ0p5ZGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJVVnljbTl5SUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdTV1lnWTI5dGNHOXVaVzUwUkdsa1EyRjBZMmdnYVhNZ2RHaGxJRzl1YkhrZ1pYSnliM0lnWW05MWJtUmhjbmtnYldWMGFHOWtJR1JsWm1sdVpXUXNYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUJwZENCdVpXVmtjeUIwYnlCallXeHNJSE5sZEZOMFlYUmxJSFJ2SUhKbFkyOTJaWElnWm5KdmJTQmxjbkp2Y25NdVhHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2JtOGdjM1JoZEdVZ2RYQmtZWFJsSUdseklITmphR1ZrZFd4bFpDQjBhR1Z1SUhSb1pTQmliM1Z1WkdGeWVTQjNhV3hzSUhOM1lXeHNiM2NnZEdobElHVnljbTl5TGx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2htYVdKbGNpNWxlSEJwY21GMGFXOXVWR2x0WlNBaFBUMGdVM2x1WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhKeWIzSW9KeVZ6T2lCRmNuSnZjaUJpYjNWdVpHRnlhV1Z6SUhOb2IzVnNaQ0JwYlhCc1pXMWxiblFnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlVWeWNtOXlLQ2t1SUNjZ0t5QW5TVzRnZEdoaGRDQnRaWFJvYjJRc0lISmxkSFZ5YmlCaElITjBZWFJsSUhWd1pHRjBaU0IwYnlCa2FYTndiR0Y1SUdGdUlHVnljbTl5SUcxbGMzTmhaMlVnYjNJZ1ptRnNiR0poWTJzZ1ZVa3VKeXdnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2htYVdKbGNpNTBlWEJsS1NCOGZDQW5WVzVyYm05M2JpY3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RYQmtZWFJsTG1OaGJHeGlZV05ySUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdiV0Z5YTBaaGFXeGxaRVZ5Y205eVFtOTFibVJoY25sR2IzSkliM1JTWld4dllXUnBibWNvWm1saVpYSXBPMXh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkWEJrWVhSbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCaGRIUmhZMmhRYVc1blRHbHpkR1Z1WlhJb2NtOXZkQ3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVc0lIUm9aVzVoWW14bEtTQjdYRzRnSUM4dklFRjBkR0ZqYUNCaElHeHBjM1JsYm1WeUlIUnZJSFJvWlNCd2NtOXRhWE5sSUhSdklGd2ljR2x1WjF3aUlIUm9aU0J5YjI5MElHRnVaQ0J5WlhSeWVTNGdRblYwWEc0Z0lDOHZJRzl1YkhrZ2FXWWdiMjVsSUdSdlpYTWdibTkwSUdGc2NtVmhaSGtnWlhocGMzUWdabTl5SUhSb1pTQmpkWEp5Wlc1MElISmxibVJsY2lCbGVIQnBjbUYwYVc5dVhHNGdJQzh2SUhScGJXVWdLSGRvYVdOb0lHRmpkSE1nYkdsclpTQmhJRndpZEdoeVpXRmtJRWxFWENJZ2FHVnlaU2t1WEc0Z0lIWmhjaUJ3YVc1blEyRmphR1VnUFNCeWIyOTBMbkJwYm1kRFlXTm9aVHRjYmlBZ2RtRnlJSFJvY21WaFpFbEVjenRjYmx4dUlDQnBaaUFvY0dsdVowTmhZMmhsSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY0dsdVowTmhZMmhsSUQwZ2NtOXZkQzV3YVc1blEyRmphR1VnUFNCdVpYY2dVRzl6YzJsaWJIbFhaV0ZyVFdGd0pERW9LVHRjYmlBZ0lDQjBhSEpsWVdSSlJITWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lDQWdjR2x1WjBOaFkyaGxMbk5sZENoMGFHVnVZV0pzWlN3Z2RHaHlaV0ZrU1VSektUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjBhSEpsWVdSSlJITWdQU0J3YVc1blEyRmphR1V1WjJWMEtIUm9aVzVoWW14bEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUhKbFlXUkpSSE1nUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdkR2h5WldGa1NVUnpJRDBnYm1WM0lGTmxkQ2dwTzF4dUlDQWdJQ0FnY0dsdVowTmhZMmhsTG5ObGRDaDBhR1Z1WVdKc1pTd2dkR2h5WldGa1NVUnpLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JwWmlBb0lYUm9jbVZoWkVsRWN5NW9ZWE1vY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcEtTQjdYRzRnSUNBZ0x5OGdUV1Z0YjJsNlpTQjFjMmx1WnlCMGFHVWdkR2h5WldGa0lFbEVJSFJ2SUhCeVpYWmxiblFnY21Wa2RXNWtZVzUwSUd4cGMzUmxibVZ5Y3k1Y2JpQWdJQ0IwYUhKbFlXUkpSSE11WVdSa0tISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQjJZWElnY0dsdVp5QTlJSEJwYm1kVGRYTndaVzVrWldSU2IyOTBMbUpwYm1Rb2JuVnNiQ3dnY205dmRDd2dkR2hsYm1GaWJHVXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0IwYUdWdVlXSnNaUzUwYUdWdUtIQnBibWNzSUhCcGJtY3BPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhSb2NtOTNSWGhqWlhCMGFXOXVLSEp2YjNRc0lISmxkSFZ5YmtacFltVnlMQ0J6YjNWeVkyVkdhV0psY2l3Z2RtRnNkV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUM4dklGUm9aU0J6YjNWeVkyVWdabWxpWlhJZ1pHbGtJRzV2ZENCamIyMXdiR1YwWlM1Y2JpQWdjMjkxY21ObFJtbGlaWEl1WldabVpXTjBWR0ZuSUh3OUlFbHVZMjl0Y0d4bGRHVTdJQzh2SUVsMGN5QmxabVpsWTNRZ2JHbHpkQ0JwY3lCdWJ5QnNiMjVuWlhJZ2RtRnNhV1F1WEc1Y2JpQWdjMjkxY21ObFJtbGlaWEl1Wm1seWMzUkZabVpsWTNRZ1BTQnpiM1Z5WTJWR2FXSmxjaTVzWVhOMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmx4dUlDQnBaaUFvZG1Gc2RXVWdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGVYQmxiMllnZG1Gc2RXVXVkR2hsYmlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQzh2SUZSb2FYTWdhWE1nWVNCMGFHVnVZV0pzWlM1Y2JpQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQjJZV3gxWlR0Y2JseHVJQ0FnSUdsbUlDZ29jMjkxY21ObFJtbGlaWEl1Ylc5a1pTQW1JRUpzYjJOcmFXNW5UVzlrWlNrZ1BUMDlJRTV2VFc5a1pTa2dlMXh1SUNBZ0lDQWdMeThnVW1WelpYUWdkR2hsSUcxbGJXOXBlbVZrVTNSaGRHVWdkRzhnZDJoaGRDQnBkQ0IzWVhNZ1ltVm1iM0psSUhkbElHRjBkR1Z0Y0hSbFpGeHVJQ0FnSUNBZ0x5OGdkRzhnY21WdVpHVnlJR2wwTGx4dUlDQWdJQ0FnZG1GeUlHTjFjbkpsYm5SVGIzVnlZMlVnUFNCemIzVnlZMlZHYVdKbGNpNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQWdJR2xtSUNoamRYSnlaVzUwVTI5MWNtTmxLU0I3WEc0Z0lDQWdJQ0FnSUhOdmRYSmpaVVpwWW1WeUxuVndaR0YwWlZGMVpYVmxJRDBnWTNWeWNtVnVkRk52ZFhKalpTNTFjR1JoZEdWUmRXVjFaVHRjYmlBZ0lDQWdJQ0FnYzI5MWNtTmxSbWxpWlhJdWJXVnRiMmw2WldSVGRHRjBaU0E5SUdOMWNuSmxiblJUYjNWeVkyVXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0FnSUNBZ2MyOTFjbU5sUm1saVpYSXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQmpkWEp5Wlc1MFUyOTFjbU5sTG1WNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjMjkxY21ObFJtbGlaWEl1ZFhCa1lYUmxVWFZsZFdVZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCemIzVnlZMlZHYVdKbGNpNXRaVzF2YVhwbFpGTjBZWFJsSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYUdGelNXNTJhWE5wWW14bFVHRnlaVzUwUW05MWJtUmhjbmtnUFNCb1lYTlRkWE53Wlc1elpVTnZiblJsZUhRb2MzVnpjR1Z1YzJWVGRHRmphME4xY25OdmNpNWpkWEp5Wlc1MExDQkpiblpwYzJsaWJHVlFZWEpsYm5SVGRYTndaVzV6WlVOdmJuUmxlSFFwT3lBdkx5QlRZMmhsWkhWc1pTQjBhR1VnYm1WaGNtVnpkQ0JUZFhOd1pXNXpaU0IwYnlCeVpTMXlaVzVrWlhJZ2RHaGxJSFJwYldWa0lHOTFkQ0IyYVdWM0xseHVYRzRnSUNBZ2RtRnlJRjkzYjNKclNXNVFjbTluY21WemN5QTlJSEpsZEhWeWJrWnBZbVZ5TzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2FXWWdLRjkzYjNKclNXNVFjbTluY21WemN5NTBZV2NnUFQwOUlGTjFjM0JsYm5ObFEyOXRjRzl1Wlc1MElDWW1JSE5vYjNWc1pFTmhjSFIxY21WVGRYTndaVzV6WlNoZmQyOXlhMGx1VUhKdlozSmxjM01zSUdoaGMwbHVkbWx6YVdKc1pWQmhjbVZ1ZEVKdmRXNWtZWEo1S1NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJHYjNWdVpDQjBhR1VnYm1WaGNtVnpkQ0JpYjNWdVpHRnllUzVjYmlBZ0lDQWdJQ0FnTHk4Z1UzUmhjMmdnZEdobElIQnliMjFwYzJVZ2IyNGdkR2hsSUdKdmRXNWtZWEo1SUdacFltVnlMaUJKWmlCMGFHVWdZbTkxYm1SaGNua2dkR2x0WlhNZ2IzVjBMQ0IzWlNkc2JGeHVJQ0FnSUNBZ0lDQXZMeUJoZEhSaFkyZ2dZVzV2ZEdobGNpQnNhWE4wWlc1bGNpQjBieUJtYkdsd0lIUm9aU0JpYjNWdVpHRnllU0JpWVdOcklIUnZJR2wwY3lCdWIzSnRZV3dnYzNSaGRHVXVYRzRnSUNBZ0lDQWdJSFpoY2lCMGFHVnVZV0pzWlhNZ1BTQmZkMjl5YTBsdVVISnZaM0psYzNNdWRYQmtZWFJsVVhWbGRXVTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9aVzVoWW14bGN5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQjFjR1JoZEdWUmRXVjFaU0E5SUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0FnSUNBZ0lDQjFjR1JoZEdWUmRXVjFaUzVoWkdRb2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQWdJRjkzYjNKclNXNVFjbTluY21WemN5NTFjR1JoZEdWUmRXVjFaU0E5SUhWd1pHRjBaVkYxWlhWbE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvWlc1aFlteGxjeTVoWkdRb2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUVsbUlIUm9aU0JpYjNWdVpHRnllU0JwY3lCdmRYUnphV1JsSUc5bUlHSnNiMk5yYVc1bklHMXZaR1VzSUhkbElITm9iM1ZzWkNBcWJtOTBLbHh1SUNBZ0lDQWdJQ0F2THlCemRYTndaVzVrSUhSb1pTQmpiMjF0YVhRdUlGQnlaWFJsYm1RZ1lYTWdhV1lnZEdobElITjFjM0JsYm1SbFpDQmpiMjF3YjI1bGJuUWdjbVZ1WkdWeVpXUmNiaUFnSUNBZ0lDQWdMeThnYm5Wc2JDQmhibVFnYTJWbGNDQnlaVzVrWlhKcGJtY3VJRWx1SUhSb1pTQmpiMjF0YVhRZ2NHaGhjMlVzSUhkbEoyeHNJSE5qYUdWa2RXeGxJR0ZjYmlBZ0lDQWdJQ0FnTHk4Z2MzVmljMlZ4ZFdWdWRDQnplVzVqYUhKdmJtOTFjeUIxY0dSaGRHVWdkRzhnY21VdGNtVnVaR1Z5SUhSb1pTQlRkWE53Wlc1elpTNWNiaUFnSUNBZ0lDQWdMeTljYmlBZ0lDQWdJQ0FnTHk4Z1RtOTBaVG9nU1hRZ1pHOWxjMjRuZENCdFlYUjBaWElnZDJobGRHaGxjaUIwYUdVZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYzNWemNHVnVaR1ZrSUhkaGMxeHVJQ0FnSUNBZ0lDQXZMeUJwYm5OcFpHVWdZU0JpYkc5amEybHVaeUJ0YjJSbElIUnlaV1V1SUVsbUlIUm9aU0JUZFhOd1pXNXpaU0JwY3lCdmRYUnphV1JsSUc5bUlHbDBMQ0IzWlZ4dUlDQWdJQ0FnSUNBdkx5QnphRzkxYkdRZ0ttNXZkQ29nYzNWemNHVnVaQ0IwYUdVZ1kyOXRiV2wwTGx4dVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0NoZmQyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRUpzYjJOcmFXNW5UVzlrWlNrZ1BUMDlJRTV2VFc5a1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUY5M2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1JHbGtRMkZ3ZEhWeVpUc2dMeThnVjJVbmNtVWdaMjlwYm1jZ2RHOGdZMjl0YldsMElIUm9hWE1nWm1saVpYSWdaWFpsYmlCMGFHOTFaMmdnYVhRZ1pHbGtiaWQwSUdOdmJYQnNaWFJsTGx4dUlDQWdJQ0FnSUNBZ0lDOHZJRUoxZENCM1pTQnphRzkxYkdSdUozUWdZMkZzYkNCaGJua2diR2xtWldONVkyeGxJRzFsZEdodlpITWdiM0lnWTJGc2JHSmhZMnR6TGlCU1pXMXZkbVZjYmlBZ0lDQWdJQ0FnSUNBdkx5QmhiR3dnYkdsbVpXTjVZMnhsSUdWbVptVmpkQ0IwWVdkekxseHVYRzRnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxSbWxpWlhJdVpXWm1aV04wVkdGbklDWTlJSDRvVEdsbVpXTjVZMnhsUldabVpXTjBUV0Z6YXlCOElFbHVZMjl0Y0d4bGRHVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSE52ZFhKalpVWnBZbVZ5TG5SaFp5QTlQVDBnUTJ4aGMzTkRiMjF3YjI1bGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJqZFhKeVpXNTBVMjkxY21ObFJtbGlaWElnUFNCemIzVnlZMlZHYVdKbGNpNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBVMjkxY21ObFJtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElHNWxkeUJ0YjNWdWRDNGdRMmhoYm1kbElIUm9aU0IwWVdjZ2MyOGdhWFFuY3lCdWIzUWdiV2x6ZEdGclpXNGdabTl5SUdGY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kyOXRjR3hsZEdWa0lHTnNZWE56SUdOdmJYQnZibVZ1ZEM0Z1JtOXlJR1Y0WVcxd2JHVXNJSGRsSUhOb2IzVnNaQ0J1YjNRZ1kyRnNiRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENCcFppQnBkQ0JwY3lCa1pXeGxkR1ZrTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6YjNWeVkyVkdhV0psY2k1MFlXY2dQU0JKYm1OdmJYQnNaWFJsUTJ4aGMzTkRiMjF3YjI1bGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCWGFHVnVJSGRsSUhSeWVTQnlaVzVrWlhKcGJtY2dZV2RoYVc0c0lIZGxJSE5vYjNWc1pDQnViM1FnY21WMWMyVWdkR2hsSUdOMWNuSmxiblFnWm1saVpYSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSE5wYm1ObElHbDBKM01nYTI1dmQyNGdkRzhnWW1VZ2FXNGdZVzRnYVc1amIyNXphWE4wWlc1MElITjBZWFJsTGlCVmMyVWdZU0JtYjNKalpTQjFjR1JoZEdVZ2RHOWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjSEpsZG1WdWRDQmhJR0poYVd3Z2IzVjBMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnZFhCa1lYUmxJRDBnWTNKbFlYUmxWWEJrWVhSbEtGTjVibU1zSUc1MWJHd3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjFjR1JoZEdVdWRHRm5JRDBnUm05eVkyVlZjR1JoZEdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdWNYVmxkV1ZWY0dSaGRHVW9jMjkxY21ObFJtbGlaWElzSUhWd1pHRjBaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5QlVhR1VnYzI5MWNtTmxJR1pwWW1WeUlHUnBaQ0J1YjNRZ1kyOXRjR3hsZEdVdUlFMWhjbXNnYVhRZ2QybDBhQ0JUZVc1aklIQnlhVzl5YVhSNUlIUnZYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2FXNWthV05oZEdVZ2RHaGhkQ0JwZENCemRHbHNiQ0JvWVhNZ2NHVnVaR2x1WnlCM2IzSnJMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnpiM1Z5WTJWR2FXSmxjaTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRk41Ym1NN0lDOHZJRVY0YVhRZ2QybDBhRzkxZENCemRYTndaVzVrYVc1bkxseHVYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5SUM4dklFTnZibVpwY20xbFpDQjBhR0YwSUhSb1pTQmliM1Z1WkdGeWVTQnBjeUJwYmlCaElHTnZibU4xY25KbGJuUWdiVzlrWlNCMGNtVmxMaUJEYjI1MGFXNTFaVnh1SUNBZ0lDQWdJQ0F2THlCM2FYUm9JSFJvWlNCdWIzSnRZV3dnYzNWemNHVnVaQ0J3WVhSb0xseHVJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0F2THlCQlpuUmxjaUIwYUdseklIZGxKMnhzSUhWelpTQmhJSE5sZENCdlppQm9aWFZ5YVhOMGFXTnpJSFJ2SUdSbGRHVnliV2x1WlNCM2FHVjBhR1Z5SUhSb2FYTmNiaUFnSUNBZ0lDQWdMeThnY21WdVpHVnlJSEJoYzNNZ2QybHNiQ0J5ZFc0Z2RHOGdZMjl0Y0d4bGRHbHZiaUJ2Y2lCeVpYTjBZWEowSUc5eUlGd2ljM1Z6Y0dWdVpGd2lJSFJvWlNCamIyMXRhWFF1WEc0Z0lDQWdJQ0FnSUM4dklGUm9aU0JoWTNSMVlXd2diRzluYVdNZ1ptOXlJSFJvYVhNZ2FYTWdjM0J5WldGa0lHOTFkQ0JwYmlCa2FXWm1aWEpsYm5RZ2NHeGhZMlZ6TGx4dUlDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHWnBjbk4wSUhCeWFXNWphWEJzWlNCcGN5QjBhR0YwSUdsbUlIZGxKM0psSUdkdmFXNW5JSFJ2SUhOMWMzQmxibVFnZDJobGJpQjNaU0JqYjIxd2JHVjBaVnh1SUNBZ0lDQWdJQ0F2THlCaElISnZiM1FzSUhSb1pXNGdkMlVnYzJodmRXeGtJR0ZzYzI4Z2NtVnpkR0Z5ZENCcFppQjNaU0JuWlhRZ1lXNGdkWEJrWVhSbElHOXlJSEJwYm1jZ2RHaGhkRnh1SUNBZ0lDQWdJQ0F2THlCdGFXZG9kQ0IxYm5OMWMzQmxibVFnYVhRc0lHRnVaQ0IyYVdObElIWmxjbk5oTGlCVWFHVWdiMjVzZVNCeVpXRnpiMjRnZEc4Z2MzVnpjR1Z1WkNCcGMxeHVJQ0FnSUNBZ0lDQXZMeUJpWldOaGRYTmxJSGx2ZFNCMGFHbHVheUI1YjNVZ2JXbG5hSFFnZDJGdWRDQjBieUJ5WlhOMFlYSjBJR0psWm05eVpTQmpiMjF0YVhSMGFXNW5MaUJJYjNkbGRtVnlMRnh1SUNBZ0lDQWdJQ0F2THlCcGRDQmtiMlZ6YmlkMElHMWhhMlVnYzJWdWMyVWdkRzhnY21WemRHRnlkQ0J2Ym14NUlIZG9hV3hsSUdsdUlIUm9aU0J3WlhKcGIyUWdkMlVuY21VZ2MzVnpjR1Z1WkdWa0xseHVJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0F2THlCU1pYTjBZWEowYVc1bklIUnZieUJoWjJkeVpYTnphWFpsYkhrZ2FYTWdZV3h6YnlCdWIzUWdaMjl2WkNCaVpXTmhkWE5sSUdsMElITjBZWEoyWlhNZ2IzVjBJR0Z1ZVZ4dUlDQWdJQ0FnSUNBdkx5QnBiblJsY20xbFpHbGhkR1VnYkc5aFpHbHVaeUJ6ZEdGMFpTNGdVMjhnZDJVZ2RYTmxJR2hsZFhKcGMzUnBZM01nZEc4Z1pHVjBaWEp0YVc1bElIZG9aVzR1WEc0Z0lDQWdJQ0FnSUM4dklGTjFjM0JsYm5ObElFaGxkWEpwYzNScFkzTmNiaUFnSUNBZ0lDQWdMeTljYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdibTkwYUdsdVp5QjBhSEpsZHlCaElGQnliMjFwYzJVZ2IzSWdZV3hzSUhSb1pTQnpZVzFsSUdaaGJHeGlZV05yY3lCaGNtVWdZV3h5WldGa2VTQnphRzkzYVc1bkxGeHVJQ0FnSUNBZ0lDQXZMeUIwYUdWdUlHUnZiaWQwSUhOMWMzQmxibVF2Y21WemRHRnlkQzVjYmlBZ0lDQWdJQ0FnTHk5Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QnBjeUJoYmlCcGJtbDBhV0ZzSUhKbGJtUmxjaUJ2WmlCaElHNWxkeUIwY21WbElHOW1JRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSnBaWE1nWVc1a1hHNGdJQ0FnSUNBZ0lDOHZJSFJvYjNObElIUnlhV2RuWlhJZ1lTQm1ZV3hzWW1GamF5d2dkR2hsYmlCa2IyNG5kQ0J6ZFhOd1pXNWtMM0psYzNSaGNuUXVJRmRsSUhkaGJuUWdkRzhnWlc1emRYSmxYRzRnSUNBZ0lDQWdJQzh2SUhSb1lYUWdkMlVnWTJGdUlITm9iM2NnZEdobElHbHVhWFJwWVd3Z2JHOWhaR2x1WnlCemRHRjBaU0JoY3lCeGRXbGphMng1SUdGeklIQnZjM05wWW14bExseHVJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0F2THlCSlppQjNaU0JvYVhRZ1lTQmNJa1JsYkdGNVpXUmNJaUJqWVhObExDQnpkV05vSUdGeklIZG9aVzRnZDJVblpDQnpkMmwwWTJnZ1puSnZiU0JqYjI1MFpXNTBJR0poWTJzZ2FXNTBiMXh1SUNBZ0lDQWdJQ0F2THlCaElHWmhiR3hpWVdOckxDQjBhR1Z1SUhkbElITm9iM1ZzWkNCaGJIZGhlWE1nYzNWemNHVnVaQzl5WlhOMFlYSjBMaUJUZFhOd1pXNXpaVU52Ym1acFp5QmhjSEJzYVdWeklIUnZYRzRnSUNBZ0lDQWdJQzh2SUhSb2FYTWdZMkZ6WlM0Z1NXWWdibTl1WlNCcGN5QmtaV1pwYm1Wa0xDQktUa1FnYVhNZ2RYTmxaQ0JwYm5OMFpXRmtMbHh1SUNBZ0lDQWdJQ0F2TDF4dUlDQWdJQ0FnSUNBdkx5QkpaaUIzWlNkeVpTQmhiSEpsWVdSNUlITm9iM2RwYm1jZ1lTQm1ZV3hzWW1GamF5QmhibVFnYVhRZ1oyVjBjeUJjSW5KbGRISnBaV1JjSWl3Z1lXeHNiM2RwYm1jZ2RYTWdkRzhnYzJodmQxeHVJQ0FnSUNBZ0lDQXZMeUJoYm05MGFHVnlJR3hsZG1Wc0xDQmlkWFFnZEdobGNtVW5jeUJ6ZEdsc2JDQmhiaUJwYm01bGNpQmliM1Z1WkdGeWVTQjBhR0YwSUhkdmRXeGtJSE5vYjNjZ1lTQm1ZV3hzWW1GamF5eGNiaUFnSUNBZ0lDQWdMeThnZEdobGJpQjNaU0J6ZFhOd1pXNWtMM0psYzNSaGNuUWdabTl5SURVd01HMXpJSE5wYm1ObElIUm9aU0JzWVhOMElIUnBiV1VnZDJVZ2MyaHZkMlZrSUdFZ1ptRnNiR0poWTJ0Y2JpQWdJQ0FnSUNBZ0x5OGdZVzU1ZDJobGNtVWdhVzRnZEdobElIUnlaV1V1SUZSb2FYTWdaV1ptWldOMGFYWmxiSGtnZEdoeWIzUjBiR1Z6SUhCeWIyZHlaWE56YVhabElHeHZZV1JwYm1jZ2FXNTBieUJoWEc0Z0lDQWdJQ0FnSUM4dklHTnZibk5wYzNSbGJuUWdkSEpoYVc0Z2IyWWdZMjl0YldsMGN5NGdWR2hwY3lCaGJITnZJR2RwZG1WeklIVnpJR0Z1SUc5d2NHOXlkSFZ1YVhSNUlIUnZJSEpsYzNSaGNuUWdkRzljYmlBZ0lDQWdJQ0FnTHk4Z1oyVjBJSFJ2SUhSb1pTQmpiMjF3YkdWMFpXUWdjM1JoZEdVZ2MyeHBaMmgwYkhrZ1pXRnliR2xsY2k1Y2JpQWdJQ0FnSUNBZ0x5OWNiaUFnSUNBZ0lDQWdMeThnU1dZZ2RHaGxjbVVuY3lCaGJXSnBaM1ZwZEhrZ1pIVmxJSFJ2SUdKaGRHTm9hVzVuSUdsMEozTWdjbVZ6YjJ4MlpXUWdhVzRnY0hKbFptVnlaVzVqWlNCdlpqcGNiaUFnSUNBZ0lDQWdMeThnTVNrZ1hDSmtaV3hoZVdWa1hDSXNJRElwSUZ3aWFXNXBkR2xoYkNCeVpXNWtaWEpjSWl3Z015a2dYQ0p5WlhSeWVWd2lMbHh1SUNBZ0lDQWdJQ0F2TDF4dUlDQWdJQ0FnSUNBdkx5QlhaU0IzWVc1MElIUnZJR1Z1YzNWeVpTQjBhR0YwSUdFZ1hDSmlkWE41WENJZ2MzUmhkR1VnWkc5bGMyNG5kQ0JuWlhRZ1ptOXlZMlVnWTI5dGJXbDBkR1ZrTGlCWFpTQjNZVzUwSUhSdlhHNGdJQ0FnSUNBZ0lDOHZJR1Z1YzNWeVpTQjBhR0YwSUc1bGR5QnBibWwwYVdGc0lHeHZZV1JwYm1jZ2MzUmhkR1Z6SUdOaGJpQmpiMjF0YVhRZ1lYTWdjMjl2YmlCaGN5QndiM056YVdKc1pTNWNibHh1WEc0Z0lDQWdJQ0FnSUdGMGRHRmphRkJwYm1kTWFYTjBaVzVsY2loeWIyOTBMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlN3Z2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQmZkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRk5vYjNWc1pFTmhjSFIxY21VN1hHNGdJQ0FnSUNBZ0lGOTNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGVIQnBjbUYwYVc5dVZHbHRaU0E5SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOUlDOHZJRlJvYVhNZ1ltOTFibVJoY25rZ1lXeHlaV0ZrZVNCallYQjBkWEpsWkNCa2RYSnBibWNnZEdocGN5QnlaVzVrWlhJdUlFTnZiblJwYm5WbElIUnZJSFJvWlNCdVpYaDBYRzRnSUNBZ0lDQXZMeUJpYjNWdVpHRnllUzVjYmx4dVhHNGdJQ0FnSUNCZmQyOXlhMGx1VUhKdlozSmxjM01nUFNCZmQyOXlhMGx1VUhKdlozSmxjM011Y21WMGRYSnVPMXh1SUNBZ0lIMGdkMmhwYkdVZ0tGOTNiM0pyU1c1UWNtOW5jbVZ6Y3lBaFBUMGdiblZzYkNrN0lDOHZJRTV2SUdKdmRXNWtZWEo1SUhkaGN5Qm1iM1Z1WkM0Z1JtRnNiSFJvY205MVoyZ2dkRzhnWlhKeWIzSWdiVzlrWlM1Y2JpQWdJQ0F2THlCVVQwUlBPaUJWYzJVZ2FXNTJZWEpwWVc1MElITnZJSFJvWlNCdFpYTnpZV2RsSUdseklITjBjbWx3Y0dWa0lHbHVJSEJ5YjJRL1hHNWNibHh1SUNBZ0lIWmhiSFZsSUQwZ2JtVjNJRVZ5Y205eUtDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtITnZkWEpqWlVacFltVnlMblI1Y0dVcElIeDhJQ2RCSUZKbFlXTjBJR052YlhCdmJtVnVkQ2NwSUNzZ0p5QnpkWE53Wlc1a1pXUWdkMmhwYkdVZ2NtVnVaR1Z5YVc1bkxDQmlkWFFnYm04Z1ptRnNiR0poWTJzZ1ZVa2dkMkZ6SUhOd1pXTnBabWxsWkM1Y1hHNG5JQ3NnSjF4Y2JpY2dLeUFuUVdSa0lHRWdQRk4xYzNCbGJuTmxJR1poYkd4aVlXTnJQUzR1TGo0Z1kyOXRjRzl1Wlc1MElHaHBaMmhsY2lCcGJpQjBhR1VnZEhKbFpTQjBieUFuSUNzZ0ozQnliM1pwWkdVZ1lTQnNiMkZrYVc1bklHbHVaR2xqWVhSdmNpQnZjaUJ3YkdGalpXaHZiR1JsY2lCMGJ5QmthWE53YkdGNUxpY2dLeUJuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvYzI5MWNtTmxSbWxpWlhJcEtUdGNiaUFnZlNBdkx5QlhaU0JrYVdSdUozUWdabWx1WkNCaElHSnZkVzVrWVhKNUlIUm9ZWFFnWTI5MWJHUWdhR0Z1Wkd4bElIUm9hWE1nZEhsd1pTQnZaaUJsZUdObGNIUnBiMjR1SUZOMFlYSjBYRzRnSUM4dklHOTJaWElnWVc1a0lIUnlZWFpsY25ObElIQmhjbVZ1ZENCd1lYUm9JR0ZuWVdsdUxDQjBhR2x6SUhScGJXVWdkSEpsWVhScGJtY2dkR2hsSUdWNFkyVndkR2x2Ymx4dUlDQXZMeUJoY3lCaGJpQmxjbkp2Y2k1Y2JseHVYRzRnSUhKbGJtUmxja1JwWkVWeWNtOXlLQ2s3WEc0Z0lIWmhiSFZsSUQwZ1kzSmxZWFJsUTJGd2RIVnlaV1JXWVd4MVpTaDJZV3gxWlN3Z2MyOTFjbU5sUm1saVpYSXBPMXh1SUNCMllYSWdkMjl5YTBsdVVISnZaM0psYzNNZ1BTQnlaWFIxY201R2FXSmxjanRjYmx4dUlDQmtieUI3WEc0Z0lDQWdjM2RwZEdOb0lDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY3BJSHRjYmlBZ0lDQWdJR05oYzJVZ1NHOXpkRkp2YjNRNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gyVnljbTl5U1c1bWJ5QTlJSFpoYkhWbE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JUYUc5MWJHUkRZWEIwZFhKbE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYM1Z3WkdGMFpTQTlJR055WldGMFpWSnZiM1JGY25KdmNsVndaR0YwWlNoM2IzSnJTVzVRY205bmNtVnpjeXdnWDJWeWNtOXlTVzVtYnl3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1pXNXhkV1YxWlVOaGNIUjFjbVZrVlhCa1lYUmxLSGR2Y210SmJsQnliMmR5WlhOekxDQmZkWEJrWVhSbEtUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTJGelpTQkRiR0Z6YzBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ0x5OGdRMkZ3ZEhWeVpTQmhibVFnY21WMGNubGNiaUFnSUNBZ0lDQWdkbUZ5SUdWeWNtOXlTVzVtYnlBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCMllYSWdZM1J2Y2lBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVTdYRzRnSUNBZ0lDQWdJSFpoY2lCcGJuTjBZVzVqWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5OMFlYUmxUbTlrWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvS0hkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUFtSUVScFpFTmhjSFIxY21VcElEMDlQU0JPYjBWbVptVmpkQ0FtSmlBb2RIbHdaVzltSUdOMGIzSXVaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVVZ5Y205eUlEMDlQU0FuWm5WdVkzUnBiMjRuSUh4OElHbHVjM1JoYm1ObElDRTlQU0J1ZFd4c0lDWW1JSFI1Y0dWdlppQnBibk4wWVc1alpTNWpiMjF3YjI1bGJuUkVhV1JEWVhSamFDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQWhhWE5CYkhKbFlXUjVSbUZwYkdWa1RHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWVTaHBibk4wWVc1alpTa3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGTm9iM1ZzWkVOaGNIUjFjbVU3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011Wlhod2FYSmhkR2x2YmxScGJXVWdQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlRzZ0x5OGdVMk5vWldSMWJHVWdkR2hsSUdWeWNtOXlJR0p2ZFc1a1lYSjVJSFJ2SUhKbExYSmxibVJsY2lCMWMybHVaeUIxY0dSaGRHVmtJSE4wWVhSbFhHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gzVndaR0YwWlRJZ1BTQmpjbVZoZEdWRGJHRnpjMFZ5Y205eVZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JsY25KdmNrbHVabThzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUdWdWNYVmxkV1ZEWVhCMGRYSmxaRlZ3WkdGMFpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1gzVndaR0YwWlRJcE8xeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011Y21WMGRYSnVPMXh1SUNCOUlIZG9hV3hsSUNoM2IzSnJTVzVRY205bmNtVnpjeUFoUFQwZ2JuVnNiQ2s3WEc1OVhHNWNiblpoY2lCalpXbHNJRDBnVFdGMGFDNWpaV2xzTzF4dWRtRnlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJa01TQTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXNYRzRnSUNBZ1VtVmhZM1JEZFhKeVpXNTBUM2R1WlhJa01pQTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBRM1Z5Y21WdWRFOTNibVZ5TEZ4dUlDQWdJRWx6VTI5dFpWSmxibVJsY21WeVFXTjBhVzVuSUQwZ1VtVmhZM1JUYUdGeVpXUkpiblJsY201aGJITXVTWE5UYjIxbFVtVnVaR1Z5WlhKQlkzUnBibWM3WEc1MllYSWdUbTlEYjI1MFpYaDBJRDFjYmk4cUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXFMMXh1TUR0Y2JuWmhjaUJDWVhSamFHVmtRMjl1ZEdWNGRDQTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eE8xeHVkbUZ5SUVWMlpXNTBRMjl1ZEdWNGRDQTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS2k5Y2JqSTdYRzUyWVhJZ1JHbHpZM0psZEdWRmRtVnVkRU52Ym5SbGVIUWdQVnh1THlvZ0lDQWdJQ0FnSUNBcUwxeHVORHRjYm5aaGNpQk1aV2RoWTNsVmJtSmhkR05vWldSRGIyNTBaWGgwSUQxY2JpOHFJQ0FnSUNBZ0lDb3ZYRzQ0TzF4dWRtRnlJRkpsYm1SbGNrTnZiblJsZUhRZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmpFMk8xeHVkbUZ5SUVOdmJXMXBkRU52Ym5SbGVIUWdQVnh1THlvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS2k5Y2JqTXlPMXh1ZG1GeUlGSnZiM1JKYm1OdmJYQnNaWFJsSUQwZ01EdGNiblpoY2lCU2IyOTBSbUYwWVd4RmNuSnZjbVZrSUQwZ01UdGNiblpoY2lCU2IyOTBSWEp5YjNKbFpDQTlJREk3WEc1MllYSWdVbTl2ZEZOMWMzQmxibVJsWkNBOUlETTdYRzUyWVhJZ1VtOXZkRk4xYzNCbGJtUmxaRmRwZEdoRVpXeGhlU0E5SURRN1hHNTJZWElnVW05dmRFTnZiWEJzWlhSbFpDQTlJRFU3WEc0dkx5QkVaWE5qY21saVpYTWdkMmhsY21VZ2QyVWdZWEpsSUdsdUlIUm9aU0JTWldGamRDQmxlR1ZqZFhScGIyNGdjM1JoWTJ0Y2JuWmhjaUJsZUdWamRYUnBiMjVEYjI1MFpYaDBJRDBnVG05RGIyNTBaWGgwT3lBdkx5QlVhR1VnY205dmRDQjNaU2R5WlNCM2IzSnJhVzVuSUc5dVhHNWNiblpoY2lCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNRZ1BTQnVkV3hzT3lBdkx5QlVhR1VnWm1saVpYSWdkMlVuY21VZ2QyOXlhMmx1WnlCdmJseHVYRzUyWVhJZ2QyOXlhMGx1VUhKdlozSmxjM01nUFNCdWRXeHNPeUF2THlCVWFHVWdaWGh3YVhKaGRHbHZiaUIwYVcxbElIZGxKM0psSUhKbGJtUmxjbWx1WjF4dVhHNTJZWElnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TQTlJRTV2VjI5eWF6c2dMeThnVjJobGRHaGxjaUIwYnlCeWIyOTBJR052YlhCc1pYUmxaQ3dnWlhKeWIzSmxaQ3dnYzNWemNHVnVaR1ZrTENCbGRHTXVYRzVjYm5aaGNpQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUkZlR2wwVTNSaGRIVnpJRDBnVW05dmRFbHVZMjl0Y0d4bGRHVTdJQzh2SUVFZ1ptRjBZV3dnWlhKeWIzSXNJR2xtSUc5dVpTQnBjeUIwYUhKdmQyNWNibHh1ZG1GeUlIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFWmhkR0ZzUlhKeWIzSWdQU0J1ZFd4c095QXZMeUJOYjNOMElISmxZMlZ1ZENCbGRtVnVkQ0IwYVcxbElHRnRiMjVuSUhCeWIyTmxjM05sWkNCMWNHUmhkR1Z6SUdSMWNtbHVaeUIwYUdseklISmxibVJsY2k1Y2JpOHZJRlJvYVhNZ2FYTWdZMjl1WTJWd2RIVmhiR3g1SUdFZ2RHbHRaU0J6ZEdGdGNDQmlkWFFnWlhod2NtVnpjMlZrSUdsdUlIUmxjbTF6SUc5bUlHRnVJRVY0Y0dseVlYUnBiMjVVYVcxbFhHNHZMeUJpWldOaGRYTmxJSGRsSUdSbFlXd2diVzl6ZEd4NUlIZHBkR2dnWlhod2FYSmhkR2x2YmlCMGFXMWxjeUJwYmlCMGFHVWdhRzkwSUhCaGRHZ3NJSE52SUhSb2FYTWdZWFp2YVdSelhHNHZMeUIwYUdVZ1kyOXVkbVZ5YzJsdmJpQm9ZWEJ3Wlc1cGJtY2dhVzRnZEdobElHaHZkQ0J3WVhSb0xseHVYRzUyWVhJZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFRHRjBaWE4wVUhKdlkyVnpjMlZrUlhod2FYSmhkR2x2YmxScGJXVWdQU0JUZVc1ak8xeHVkbUZ5SUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEV4aGRHVnpkRk4xYzNCbGJuTmxWR2x0Wlc5MWRDQTlJRk41Ym1NN1hHNTJZWElnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwUTJGdVUzVnpjR1Z1WkZWemFXNW5RMjl1Wm1sbklEMGdiblZzYkRzZ0x5OGdWR2hsSUhkdmNtc2diR1ZtZENCdmRtVnlJR0o1SUdOdmJYQnZibVZ1ZEhNZ2RHaGhkQ0IzWlhKbElIWnBjMmwwWldRZ1pIVnlhVzVuSUhSb2FYTWdjbVZ1WkdWeUxpQlBibXg1WEc0dkx5QnBibU5zZFdSbGN5QjFibkJ5YjJObGMzTmxaQ0IxY0dSaGRHVnpMQ0J1YjNRZ2QyOXlheUJwYmlCaVlXbHNaV1FnYjNWMElHTm9hV3hrY21WdUxseHVYRzUyWVhJZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFRtVjRkRlZ1Y0hKdlkyVnpjMlZrVlhCa1lYUmxWR2x0WlNBOUlFNXZWMjl5YXpzZ0x5OGdTV1lnZDJVbmNtVWdjR2x1WjJWa0lIZG9hV3hsSUhKbGJtUmxjbWx1WnlCM1pTQmtiMjRuZENCaGJIZGhlWE1nY21WemRHRnlkQ0JwYlcxbFpHbGhkR1ZzZVM1Y2JpOHZJRlJvYVhNZ1pteGhaeUJrWlhSbGNtMXBibVZ6SUdsbUlHbDBJRzFwWjJoMElHSmxJSGR2Y25Sb2QyaHBiR1VnZEc4Z2NtVnpkR0Z5ZENCcFppQmhiaUJ2Y0hCdmNuUjFibWwwZVZ4dUx5OGdhR0Z3Y0dWdWN5QnNZWFJsY21VdVhHNWNiblpoY2lCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSSVlYTlFaVzVrYVc1blVHbHVaeUE5SUdaaGJITmxPeUF2THlCVWFHVWdiVzl6ZENCeVpXTmxiblFnZEdsdFpTQjNaU0JqYjIxdGFYUjBaV1FnWVNCbVlXeHNZbUZqYXk0Z1ZHaHBjeUJzWlhSeklIVnpJR1Z1YzNWeVpTQmhJSFJ5WVdsdVhHNHZMeUJ0YjJSbGJDQjNhR1Z5WlNCM1pTQmtiMjRuZENCamIyMXRhWFFnYm1WM0lHeHZZV1JwYm1jZ2MzUmhkR1Z6SUdsdUlIUnZieUJ4ZFdsamF5QnpkV05qWlhOemFXOXVMbHh1WEc1MllYSWdaMnh2WW1Gc1RXOXpkRkpsWTJWdWRFWmhiR3hpWVdOclZHbHRaU0E5SURBN1hHNTJZWElnUmtGTVRFSkJRMHRmVkVoU1QxUlVURVZmVFZNZ1BTQTFNREE3WEc1MllYSWdibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzUyWVhJZ2FHRnpWVzVqWVhWbmFIUkZjbkp2Y2lBOUlHWmhiSE5sTzF4dWRtRnlJR1pwY25OMFZXNWpZWFZuYUhSRmNuSnZjaUE5SUc1MWJHdzdYRzUyWVhJZ2JHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWFXVnpWR2hoZEVGc2NtVmhaSGxHWVdsc1pXUWdQU0J1ZFd4c08xeHVkbUZ5SUhKdmIzUkViMlZ6U0dGMlpWQmhjM05wZG1WRlptWmxZM1J6SUQwZ1ptRnNjMlU3WEc1MllYSWdjbTl2ZEZkcGRHaFFaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE1nUFNCdWRXeHNPMXh1ZG1GeUlIQmxibVJwYm1kUVlYTnphWFpsUldabVpXTjBjMUpsYm1SbGNsQnlhVzl5YVhSNUlEMGdUbTlRY21sdmNtbDBlVHRjYm5aaGNpQndaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE5GZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiblpoY2lCeWIyOTBjMWRwZEdoUVpXNWthVzVuUkdselkzSmxkR1ZWY0dSaGRHVnpJRDBnYm5Wc2JEc2dMeThnVlhObElIUm9aWE5sSUhSdklIQnlaWFpsYm5RZ1lXNGdhVzVtYVc1cGRHVWdiRzl2Y0NCdlppQnVaWE4wWldRZ2RYQmtZWFJsYzF4dVhHNTJZWElnVGtWVFZFVkVYMVZRUkVGVVJWOU1TVTFKVkNBOUlEVXdPMXh1ZG1GeUlHNWxjM1JsWkZWd1pHRjBaVU52ZFc1MElEMGdNRHRjYm5aaGNpQnliMjkwVjJsMGFFNWxjM1JsWkZWd1pHRjBaWE1nUFNCdWRXeHNPMXh1ZG1GeUlFNUZVMVJGUkY5UVFWTlRTVlpGWDFWUVJFRlVSVjlNU1UxSlZDQTlJRFV3TzF4dWRtRnlJRzVsYzNSbFpGQmhjM05wZG1WVmNHUmhkR1ZEYjNWdWRDQTlJREE3WEc1MllYSWdhVzUwWlhKeWRYQjBaV1JDZVNBOUlHNTFiR3c3SUM4dklFMWhjbXR6SUhSb1pTQnVaV1ZrSUhSdklISmxjMk5vWldSMWJHVWdjR1Z1WkdsdVp5QnBiblJsY21GamRHbHZibk1nWVhRZ2RHaGxjMlVnWlhod2FYSmhkR2x2YmlCMGFXMWxjMXh1THk4Z1pIVnlhVzVuSUhSb1pTQmpiMjF0YVhRZ2NHaGhjMlV1SUZSb2FYTWdaVzVoWW14bGN5QjBhR1Z0SUhSdklHSmxJSFJ5WVdObFpDQmhZM0p2YzNNZ1kyOXRjRzl1Wlc1MGMxeHVMeThnZEdoaGRDQnpjR0YzYmlCdVpYY2dkMjl5YXlCa2RYSnBibWNnY21WdVpHVnlMaUJGTG1jdUlHaHBaR1JsYmlCaWIzVnVaR0Z5YVdWekxDQnpkWE53Wlc1a1pXUWdVMU5TWEc0dkx5Qm9lV1J5WVhScGIyNGdiM0lnVTNWemNHVnVjMlZNYVhOMExseHVYRzUyWVhJZ2MzQmhkMjVsWkZkdmNtdEVkWEpwYm1kU1pXNWtaWElnUFNCdWRXeHNPeUF2THlCRmVIQnBjbUYwYVc5dUlIUnBiV1Z6SUdGeVpTQmpiMjF3ZFhSbFpDQmllU0JoWkdScGJtY2dkRzhnZEdobElHTjFjbkpsYm5RZ2RHbHRaU0FvZEdobElITjBZWEowWEc0dkx5QjBhVzFsS1M0Z1NHOTNaWFpsY2l3Z2FXWWdkSGR2SUhWd1pHRjBaWE1nWVhKbElITmphR1ZrZFd4bFpDQjNhWFJvYVc0Z2RHaGxJSE5oYldVZ1pYWmxiblFzSUhkbFhHNHZMeUJ6YUc5MWJHUWdkSEpsWVhRZ2RHaGxhWElnYzNSaGNuUWdkR2x0WlhNZ1lYTWdjMmx0ZFd4MFlXNWxiM1Z6TENCbGRtVnVJR2xtSUhSb1pTQmhZM1IxWVd3Z1kyeHZZMnRjYmk4dklIUnBiV1VnYUdGeklHRmtkbUZ1WTJWa0lHSmxkSGRsWlc0Z2RHaGxJR1pwY25OMElHRnVaQ0J6WldOdmJtUWdZMkZzYkM1Y2JpOHZJRWx1SUc5MGFHVnlJSGR2Y21SekxDQmlaV05oZFhObElHVjRjR2x5WVhScGIyNGdkR2x0WlhNZ1pHVjBaWEp0YVc1bElHaHZkeUIxY0dSaGRHVnpJR0Z5WlNCaVlYUmphR1ZrTEZ4dUx5OGdkMlVnZDJGdWRDQmhiR3dnZFhCa1lYUmxjeUJ2WmlCc2FXdGxJSEJ5YVc5eWFYUjVJSFJvWVhRZ2IyTmpkWElnZDJsMGFHbHVJSFJvWlNCellXMWxJR1YyWlc1MElIUnZYRzR2THlCeVpXTmxhWFpsSUhSb1pTQnpZVzFsSUdWNGNHbHlZWFJwYjI0Z2RHbHRaUzRnVDNSb1pYSjNhWE5sSUhkbElHZGxkQ0IwWldGeWFXNW5MbHh1WEc1MllYSWdZM1Z5Y21WdWRFVjJaVzUwVkdsdFpTQTlJRTV2VjI5eWF6dGNibVoxYm1OMGFXOXVJSEpsY1hWbGMzUkRkWEp5Wlc1MFZHbHRaVVp2Y2xWd1pHRjBaU2dwSUh0Y2JpQWdhV1lnS0NobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUNZZ0tGSmxibVJsY2tOdmJuUmxlSFFnZkNCRGIyMXRhWFJEYjI1MFpYaDBLU2tnSVQwOUlFNXZRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDOHZJRmRsSjNKbElHbHVjMmxrWlNCU1pXRmpkQ3dnYzI4Z2FYUW5jeUJtYVc1bElIUnZJSEpsWVdRZ2RHaGxJR0ZqZEhWaGJDQjBhVzFsTGx4dUlDQWdJSEpsZEhWeWJpQnRjMVJ2Ulhod2FYSmhkR2x2YmxScGJXVW9ibTkzS0NrcE8xeHVJQ0I5SUM4dklGZGxKM0psSUc1dmRDQnBibk5wWkdVZ1VtVmhZM1FzSUhOdklIZGxJRzFoZVNCaVpTQnBiaUIwYUdVZ2JXbGtaR3hsSUc5bUlHRWdZbkp2ZDNObGNpQmxkbVZ1ZEM1Y2JseHVYRzRnSUdsbUlDaGpkWEp5Wlc1MFJYWmxiblJVYVcxbElDRTlQU0JPYjFkdmNtc3BJSHRjYmlBZ0lDQXZMeUJWYzJVZ2RHaGxJSE5oYldVZ2MzUmhjblFnZEdsdFpTQm1iM0lnWVd4c0lIVndaR0YwWlhNZ2RXNTBhV3dnZDJVZ1pXNTBaWElnVW1WaFkzUWdZV2RoYVc0dVhHNGdJQ0FnY21WMGRYSnVJR04xY25KbGJuUkZkbVZ1ZEZScGJXVTdYRzRnSUgwZ0x5OGdWR2hwY3lCcGN5QjBhR1VnWm1seWMzUWdkWEJrWVhSbElITnBibU5sSUZKbFlXTjBJSGxwWld4a1pXUXVJRU52YlhCMWRHVWdZU0J1WlhjZ2MzUmhjblFnZEdsdFpTNWNibHh1WEc0Z0lHTjFjbkpsYm5SRmRtVnVkRlJwYldVZ1BTQnRjMVJ2Ulhod2FYSmhkR2x2YmxScGJXVW9ibTkzS0NrcE8xeHVJQ0J5WlhSMWNtNGdZM1Z5Y21WdWRFVjJaVzUwVkdsdFpUdGNibjFjYm1aMWJtTjBhVzl1SUdkbGRFTjFjbkpsYm5SVWFXMWxLQ2tnZTF4dUlDQnlaWFIxY200Z2JYTlViMFY0Y0dseVlYUnBiMjVVYVcxbEtHNXZkeWdwS1R0Y2JuMWNibVoxYm1OMGFXOXVJR052YlhCMWRHVkZlSEJwY21GMGFXOXVSbTl5Um1saVpYSW9ZM1Z5Y21WdWRGUnBiV1VzSUdacFltVnlMQ0J6ZFhOd1pXNXpaVU52Ym1acFp5a2dlMXh1SUNCMllYSWdiVzlrWlNBOUlHWnBZbVZ5TG0xdlpHVTdYRzVjYmlBZ2FXWWdLQ2h0YjJSbElDWWdRbXh2WTJ0cGJtZE5iMlJsS1NBOVBUMGdUbTlOYjJSbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUZONWJtTTdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUdkbGRFTjFjbkpsYm5SUWNtbHZjbWwwZVV4bGRtVnNLQ2s3WEc1Y2JpQWdhV1lnS0NodGIyUmxJQ1lnUTI5dVkzVnljbVZ1ZEUxdlpHVXBJRDA5UFNCT2IwMXZaR1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdjSEpwYjNKcGRIbE1aWFpsYkNBOVBUMGdTVzF0WldScFlYUmxVSEpwYjNKcGRIa2dQeUJUZVc1aklEb2dRbUYwWTJobFpEdGNiaUFnZlZ4dVhHNGdJR2xtSUNnb1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBbUlGSmxibVJsY2tOdmJuUmxlSFFwSUNFOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQXZMeUJWYzJVZ2QyaGhkR1YyWlhJZ2RHbHRaU0IzWlNkeVpTQmhiSEpsWVdSNUlISmxibVJsY21sdVoxeHVJQ0FnSUM4dklGUlBSRTg2SUZOb2IzVnNaQ0IwYUdWeVpTQmlaU0JoSUhkaGVTQjBieUJ2Y0hRZ2IzVjBMQ0JzYVd0bElIZHBkR2dnWUhKMWJsZHBkR2hRY21sdmNtbDBlV0EvWEc0Z0lDQWdjbVYwZFhKdUlISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREU3WEc0Z0lIMWNibHh1SUNCMllYSWdaWGh3YVhKaGRHbHZibFJwYldVN1hHNWNiaUFnYVdZZ0tITjFjM0JsYm5ObFEyOXVabWxuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1EyOXRjSFYwWlNCaGJpQmxlSEJwY21GMGFXOXVJSFJwYldVZ1ltRnpaV1FnYjI0Z2RHaGxJRk4xYzNCbGJuTmxJSFJwYldWdmRYUXVYRzRnSUNBZ1pYaHdhWEpoZEdsdmJsUnBiV1VnUFNCamIyMXdkWFJsVTNWemNHVnVjMlZGZUhCcGNtRjBhVzl1S0dOMWNuSmxiblJVYVcxbExDQnpkWE53Wlc1elpVTnZibVpwWnk1MGFXMWxiM1YwVFhNZ2ZDQXdJSHg4SUV4UFYxOVFVa2xQVWtsVVdWOUZXRkJKVWtGVVNVOU9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCRGIyMXdkWFJsSUdGdUlHVjRjR2x5WVhScGIyNGdkR2x0WlNCaVlYTmxaQ0J2YmlCMGFHVWdVMk5vWldSMWJHVnlJSEJ5YVc5eWFYUjVMbHh1SUNBZ0lITjNhWFJqYUNBb2NISnBiM0pwZEhsTVpYWmxiQ2tnZTF4dUlDQWdJQ0FnWTJGelpTQkpiVzFsWkdsaGRHVlFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lDQWdaWGh3YVhKaGRHbHZibFJwYldVZ1BTQlRlVzVqTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlU1F4T2x4dUlDQWdJQ0FnSUNBdkx5QlVUMFJQT2lCU1pXNWhiV1VnZEdocGN5QjBieUJqYjIxd2RYUmxWWE5sY2tKc2IyTnJhVzVuUlhod2FYSmhkR2x2Ymx4dUlDQWdJQ0FnSUNCbGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdOdmJYQjFkR1ZKYm5SbGNtRmpkR2wyWlVWNGNHbHlZWFJwYjI0b1kzVnljbVZ1ZEZScGJXVXBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCT2IzSnRZV3hRY21sdmNtbDBlVHBjYmlBZ0lDQWdJR05oYzJVZ1RHOTNVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRWhoYm1Sc1pTQk1iM2RRY21sdmNtbDBlVnh1SUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJTWlc1aGJXVWdkR2hwY3lCMGJ5NHVMaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMbHh1SUNBZ0lDQWdJQ0JsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR052YlhCMWRHVkJjM2x1WTBWNGNHbHlZWFJwYjI0b1kzVnljbVZ1ZEZScGJXVXBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCSlpHeGxVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQWdJR1Y0Y0dseVlYUnBiMjVVYVcxbElEMGdTV1JzWlR0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pGZUhCbFkzUmxaQ0JoSUhaaGJHbGtJSEJ5YVc5eWFYUjVJR3hsZG1Wc1hDSWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lIMWNiaUFnZlNBdkx5QkpaaUIzWlNkeVpTQnBiaUIwYUdVZ2JXbGtaR3hsSUc5bUlISmxibVJsY21sdVp5QmhJSFJ5WldVc0lHUnZJRzV2ZENCMWNHUmhkR1VnWVhRZ2RHaGxJSE5oYldWY2JpQWdMeThnWlhod2FYSmhkR2x2YmlCMGFXMWxJSFJvWVhRZ2FYTWdZV3h5WldGa2VTQnlaVzVrWlhKcGJtY3VYRzRnSUM4dklGUlBSRTg2SUZkbElITm9iM1ZzWkc0bmRDQm9ZWFpsSUhSdklHUnZJSFJvYVhNZ2FXWWdkR2hsSUhWd1pHRjBaU0JwY3lCdmJpQmhJR1JwWm1abGNtVnVkQ0J5YjI5MExseHVJQ0F2THlCU1pXWmhZM1J2Y2lCamIyMXdkWFJsUlhod2FYSmhkR2x2YmtadmNrWnBZbVZ5SUNzZ2MyTm9aV1IxYkdWVmNHUmhkR1VnYzI4Z2QyVWdhR0YyWlNCaFkyTmxjM01nZEc5Y2JpQWdMeThnZEdobElISnZiM1FnZDJobGJpQjNaU0JqYUdWamF5Qm1iM0lnZEdocGN5QmpiMjVrYVhScGIyNHVYRzVjYmx4dUlDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwSUNFOVBTQnVkV3hzSUNZbUlHVjRjR2x5WVhScGIyNVVhVzFsSUQwOVBTQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU1F4S1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElIUnlhV05ySUhSdklHMXZkbVVnZEdocGN5QjFjR1JoZEdVZ2FXNTBieUJoSUhObGNHRnlZWFJsSUdKaGRHTm9YRzRnSUNBZ1pYaHdhWEpoZEdsdmJsUnBiV1VnTFQwZ01UdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JuMWNibVoxYm1OMGFXOXVJSE5qYUdWa2RXeGxWWEJrWVhSbFQyNUdhV0psY2lobWFXSmxjaXdnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ1kyaGxZMnRHYjNKT1pYTjBaV1JWY0dSaGRHVnpLQ2s3WEc0Z0lIZGhjbTVCWW05MWRGSmxibVJsY2xCb1lYTmxWWEJrWVhSbGMwbHVSRVZXS0dacFltVnlLVHRjYmlBZ2RtRnlJSEp2YjNRZ1BTQnRZWEpyVlhCa1lYUmxWR2x0WlVaeWIyMUdhV0psY2xSdlVtOXZkQ2htYVdKbGNpd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVYRzRnSUdsbUlDaHliMjkwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZDJGeWJrRmliM1YwVlhCa1lYUmxUMjVWYm0xdmRXNTBaV1JHYVdKbGNrbHVSRVZXS0dacFltVnlLVHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQmphR1ZqYTBadmNrbHVkR1Z5Y25Wd2RHbHZiaWhtYVdKbGNpd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0J5WldOdmNtUlRZMmhsWkhWc1pWVndaR0YwWlNncE95QXZMeUJVVDBSUE9pQmpiMjF3ZFhSbFJYaHdhWEpoZEdsdmJrWnZja1pwWW1WeUlHRnNjMjhnY21WaFpITWdkR2hsSUhCeWFXOXlhWFI1TGlCUVlYTnpJSFJvWlZ4dUlDQXZMeUJ3Y21sdmNtbDBlU0JoY3lCaGJpQmhjbWQxYldWdWRDQjBieUIwYUdGMElHWjFibU4wYVc5dUlHRnVaQ0IwYUdseklHOXVaUzVjYmx4dUlDQjJZWElnY0hKcGIzSnBkSGxNWlhabGJDQTlJR2RsZEVOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0tDazdYRzVjYmlBZ2FXWWdLR1Y0Y0dseVlYUnBiMjVVYVcxbElEMDlQU0JUZVc1aktTQjdYRzRnSUNBZ2FXWWdLQ0F2THlCRGFHVmpheUJwWmlCM1pTZHlaU0JwYm5OcFpHVWdkVzVpWVhSamFHVmtWWEJrWVhSbGMxeHVJQ0FnSUNobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUNZZ1RHVm5ZV041Vlc1aVlYUmphR1ZrUTI5dWRHVjRkQ2tnSVQwOUlFNXZRMjl1ZEdWNGRDQW1KaUF2THlCRGFHVmpheUJwWmlCM1pTZHlaU0J1YjNRZ1lXeHlaV0ZrZVNCeVpXNWtaWEpwYm1kY2JpQWdJQ0FvWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0FtSUNoU1pXNWtaWEpEYjI1MFpYaDBJSHdnUTI5dGJXbDBRMjl1ZEdWNGRDa3BJRDA5UFNCT2IwTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lDOHZJRkpsWjJsemRHVnlJSEJsYm1ScGJtY2dhVzUwWlhKaFkzUnBiMjV6SUc5dUlIUm9aU0J5YjI5MElIUnZJR0YyYjJsa0lHeHZjMmx1WnlCMGNtRmpaV1FnYVc1MFpYSmhZM1JwYjI0Z1pHRjBZUzVjYmlBZ0lDQWdJSE5qYUdWa2RXeGxVR1Z1WkdsdVowbHVkR1Z5WVdOMGFXOXVjeWh5YjI5MExDQmxlSEJwY21GMGFXOXVWR2x0WlNrN0lDOHZJRlJvYVhNZ2FYTWdZU0JzWldkaFkza2daV1JuWlNCallYTmxMaUJVYUdVZ2FXNXBkR2xoYkNCdGIzVnVkQ0J2WmlCaElGSmxZV04wUkU5TkxuSmxibVJsY2kxbFpGeHVJQ0FnSUNBZ0x5OGdjbTl2ZENCcGJuTnBaR1VnYjJZZ1ltRjBZMmhsWkZWd1pHRjBaWE1nYzJodmRXeGtJR0psSUhONWJtTm9jbTl1YjNWekxDQmlkWFFnYkdGNWIzVjBJSFZ3WkdGMFpYTmNiaUFnSUNBZ0lDOHZJSE5vYjNWc1pDQmlaU0JrWldabGNuSmxaQ0IxYm5ScGJDQjBhR1VnWlc1a0lHOW1JSFJvWlNCaVlYUmphQzVjYmx4dUlDQWdJQ0FnY0dWeVptOXliVk41Ym1OWGIzSnJUMjVTYjI5MEtISnZiM1FwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmxibk4xY21WU2IyOTBTWE5UWTJobFpIVnNaV1FvY205dmRDazdYRzRnSUNBZ0lDQnpZMmhsWkhWc1pWQmxibVJwYm1kSmJuUmxjbUZqZEdsdmJuTW9jbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9aWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQTlQVDBnVG05RGIyNTBaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRVpzZFhOb0lIUm9aU0J6ZVc1amFISnZibTkxY3lCM2IzSnJJRzV2ZHl3Z2RXNXNaWE56SUhkbEozSmxJR0ZzY21WaFpIa2dkMjl5YTJsdVp5QnZjaUJwYm5OcFpHVmNiaUFnSUNBZ0lDQWdMeThnWVNCaVlYUmphQzRnVkdocGN5QnBjeUJwYm5SbGJuUnBiMjVoYkd4NUlHbHVjMmxrWlNCelkyaGxaSFZzWlZWd1pHRjBaVTl1Um1saVpYSWdhVzV6ZEdWaFpDQnZabHh1SUNBZ0lDQWdJQ0F2THlCelkyaGxaSFZzWlVOaGJHeGlZV05yUm05eVJtbGlaWElnZEc4Z2NISmxjMlZ5ZG1VZ2RHaGxJR0ZpYVd4cGRIa2dkRzhnYzJOb1pXUjFiR1VnWVNCallXeHNZbUZqYTF4dUlDQWdJQ0FnSUNBdkx5QjNhWFJvYjNWMElHbHRiV1ZrYVdGMFpXeDVJR1pzZFhOb2FXNW5JR2wwTGlCWFpTQnZibXg1SUdSdklIUm9hWE1nWm05eUlIVnpaWEl0YVc1cGRHbGhkR1ZrWEc0Z0lDQWdJQ0FnSUM4dklIVndaR0YwWlhNc0lIUnZJSEJ5WlhObGNuWmxJR2hwYzNSdmNtbGpZV3dnWW1Wb1lYWnBiM0lnYjJZZ2JHVm5ZV041SUcxdlpHVXVYRzRnSUNBZ0lDQWdJR1pzZFhOb1UzbHVZME5oYkd4aVlXTnJVWFZsZFdVb0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pXNXpkWEpsVW05dmRFbHpVMk5vWldSMWJHVmtLSEp2YjNRcE8xeHVJQ0FnSUhOamFHVmtkV3hsVUdWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1Y3loeWIyOTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgxY2JseHVJQ0JwWmlBb0tHVjRaV04xZEdsdmJrTnZiblJsZUhRZ0ppQkVhWE5qY21WMFpVVjJaVzUwUTI5dWRHVjRkQ2tnSVQwOUlFNXZRMjl1ZEdWNGRDQW1KaUFvSUM4dklFOXViSGtnZFhCa1lYUmxjeUJoZENCMWMyVnlMV0pzYjJOcmFXNW5JSEJ5YVc5eWFYUjVJRzl5SUdkeVpXRjBaWElnWVhKbElHTnZibk5wWkdWeVpXUmNiaUFnTHk4Z1pHbHpZM0psZEdVc0lHVjJaVzRnYVc1emFXUmxJR0VnWkdselkzSmxkR1VnWlhabGJuUXVYRzRnSUhCeWFXOXlhWFI1VEdWMlpXd2dQVDA5SUZWelpYSkNiRzlqYTJsdVoxQnlhVzl5YVhSNUpERWdmSHdnY0hKcGIzSnBkSGxNWlhabGJDQTlQVDBnU1cxdFpXUnBZWFJsVUhKcGIzSnBkSGtwS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdjbVZ6ZFd4MElHOW1JR0VnWkdselkzSmxkR1VnWlhabGJuUXVJRlJ5WVdOcklIUm9aU0JzYjNkbGMzUWdjSEpwYjNKcGRIbGNiaUFnSUNBdkx5QmthWE5qY21WMFpTQjFjR1JoZEdVZ2NHVnlJSEp2YjNRZ2MyOGdkMlVnWTJGdUlHWnNkWE5vSUhSb1pXMGdaV0Z5Ykhrc0lHbG1JRzVsWldSbFpDNWNiaUFnSUNCcFppQW9jbTl2ZEhOWGFYUm9VR1Z1WkdsdVowUnBjMk55WlhSbFZYQmtZWFJsY3lBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtOXZkSE5YYVhSb1VHVnVaR2x1WjBScGMyTnlaWFJsVlhCa1lYUmxjeUE5SUc1bGR5Qk5ZWEFvVzF0eWIyOTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpWMWRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtRnlJR3hoYzNSRWFYTmpjbVYwWlZScGJXVWdQU0J5YjI5MGMxZHBkR2hRWlc1a2FXNW5SR2x6WTNKbGRHVlZjR1JoZEdWekxtZGxkQ2h5YjI5MEtUdGNibHh1SUNBZ0lDQWdhV1lnS0d4aGMzUkVhWE5qY21WMFpWUnBiV1VnUFQwOUlIVnVaR1ZtYVc1bFpDQjhmQ0JzWVhOMFJHbHpZM0psZEdWVWFXMWxJRDRnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnY205dmRITlhhWFJvVUdWdVpHbHVaMFJwYzJOeVpYUmxWWEJrWVhSbGN5NXpaWFFvY205dmRDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dWRtRnlJSE5qYUdWa2RXeGxWMjl5YXlBOUlITmphR1ZrZFd4bFZYQmtZWFJsVDI1R2FXSmxjanNnTHk4Z1ZHaHBjeUJwY3lCemNHeHBkQ0JwYm5SdklHRWdjMlZ3WVhKaGRHVWdablZ1WTNScGIyNGdjMjhnZDJVZ1kyRnVJRzFoY21zZ1lTQm1hV0psY2lCM2FYUm9JSEJsYm1ScGJtZGNiaTh2SUhkdmNtc2dkMmwwYUc5MWRDQjBjbVZoZEdsdVp5QnBkQ0JoY3lCaElIUjVjR2xqWVd3Z2RYQmtZWFJsSUhSb1lYUWdiM0pwWjJsdVlYUmxjeUJtY205dElHRnVJR1YyWlc1ME8xeHVMeThnWlM1bkxpQnlaWFJ5ZVdsdVp5QmhJRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSjVJR2x6YmlkMElHRnVJSFZ3WkdGMFpTd2dZblYwSUdsMElHUnZaWE1nYzJOb1pXUjFiR1VnZDI5eWExeHVMeThnYjI0Z1lTQm1hV0psY2k1Y2JseHVablZ1WTNScGIyNGdiV0Z5YTFWd1pHRjBaVlJwYldWR2NtOXRSbWxpWlhKVWIxSnZiM1FvWm1saVpYSXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUM4dklGVndaR0YwWlNCMGFHVWdjMjkxY21ObElHWnBZbVZ5SjNNZ1pYaHdhWEpoZEdsdmJpQjBhVzFsWEc0Z0lHbG1JQ2htYVdKbGNpNWxlSEJwY21GMGFXOXVWR2x0WlNBOElHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnWm1saVpYSXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJoYkhSbGNtNWhkR1VnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1U3WEc1Y2JpQWdhV1lnS0dGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmhiSFJsY201aGRHVXVaWGh3YVhKaGRHbHZibFJwYldVZ1BDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUdGc2RHVnlibUYwWlM1bGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOUlDOHZJRmRoYkdzZ2RHaGxJSEJoY21WdWRDQndZWFJvSUhSdklIUm9aU0J5YjI5MElHRnVaQ0IxY0dSaGRHVWdkR2hsSUdOb2FXeGtJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTNWNibHh1WEc0Z0lIWmhjaUJ1YjJSbElEMGdabWxpWlhJdWNtVjBkWEp1TzF4dUlDQjJZWElnY205dmRDQTlJRzUxYkd3N1hHNWNiaUFnYVdZZ0tHNXZaR1VnUFQwOUlHNTFiR3dnSmlZZ1ptbGlaWEl1ZEdGbklEMDlQU0JJYjNOMFVtOXZkQ2tnZTF4dUlDQWdJSEp2YjNRZ1BTQm1hV0psY2k1emRHRjBaVTV2WkdVN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2QyaHBiR1VnS0c1dlpHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR0ZzZEdWeWJtRjBaU0E5SUc1dlpHVXVZV3gwWlhKdVlYUmxPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUR3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1pYaHdhWEpoZEdsdmJsUnBiV1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR0ZzZEdWeWJtRjBaU0FoUFQwZ2JuVnNiQ0FtSmlCaGJIUmxjbTVoZEdVdVkyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpTQThJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWVd4MFpYSnVZWFJsTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGhiSFJsY201aGRHVWdJVDA5SUc1MWJHd2dKaVlnWVd4MFpYSnVZWFJsTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ0lDQmhiSFJsY201aGRHVXVZMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzV5WlhSMWNtNGdQVDA5SUc1MWJHd2dKaVlnYm05a1pTNTBZV2NnUFQwOUlFaHZjM1JTYjI5MEtTQjdYRzRnSUNBZ0lDQWdJSEp2YjNRZ1BTQnViMlJsTG5OMFlYUmxUbTlrWlR0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCcFppQW9jbTl2ZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdQVDA5SUhKdmIzUXBJSHRjYmlBZ0lDQWdJQzh2SUZKbFkyVnBkbVZrSUdGdUlIVndaR0YwWlNCMGJ5QmhJSFJ5WldVZ2RHaGhkQ2R6SUdsdUlIUm9aU0J0YVdSa2JHVWdiMllnY21WdVpHVnlhVzVuTGlCTllYSnJYRzRnSUNBZ0lDQXZMeUIwYUdGMEozTWdkVzV3Y205alpYTnpaV1FnZDI5eWF5QnZiaUIwYUdseklISnZiM1F1WEc0Z0lDQWdJQ0J0WVhKclZXNXdjbTlqWlhOelpXUlZjR1JoZEdWVWFXMWxLR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEVWNGFYUlRkR0YwZFhNZ1BUMDlJRkp2YjNSVGRYTndaVzVrWldSWGFYUm9SR1ZzWVhrcElIdGNiaUFnSUNBZ0lDQWdMeThnVkdobElISnZiM1FnWVd4eVpXRmtlU0J6ZFhOd1pXNWtaV1FnZDJsMGFDQmhJR1JsYkdGNUxDQjNhR2xqYUNCdFpXRnVjeUIwYUdseklISmxibVJsY2x4dUlDQWdJQ0FnSUNBdkx5QmtaV1pwYm1sMFpXeDVJSGR2YmlkMElHWnBibWx6YUM0Z1UybHVZMlVnZDJVZ2FHRjJaU0JoSUc1bGR5QjFjR1JoZEdVc0lHeGxkQ2R6SUcxaGNtc2dhWFFnWVhOY2JpQWdJQ0FnSUNBZ0x5OGdjM1Z6Y0dWdVpHVmtJRzV2ZHl3Z2NtbG5hSFFnWW1WbWIzSmxJRzFoY210cGJtY2dkR2hsSUdsdVkyOXRhVzVuSUhWd1pHRjBaUzRnVkdocGN5Qm9ZWE1nZEdobFhHNGdJQ0FnSUNBZ0lDOHZJR1ZtWm1WamRDQnZaaUJwYm5SbGNuSjFjSFJwYm1jZ2RHaGxJR04xY25KbGJuUWdjbVZ1WkdWeUlHRnVaQ0J6ZDJsMFkyaHBibWNnZEc4Z2RHaGxJSFZ3WkdGMFpTNWNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dWR2hwY3lCb1lYQndaVzV6SUhSdklIZHZjbXNnZDJobGJpQnlaV05sYVhacGJtY2dZVzRnZFhCa1lYUmxJR1IxY21sdVp5QjBhR1VnY21WdVpHVnlYRzRnSUNBZ0lDQWdJQzh2SUhCb1lYTmxMQ0JpWldOaGRYTmxJRzltSUhSb1pTQjBjbWxqYXlCcGJuTnBaR1VnWTI5dGNIVjBaVVY0Y0dseVlYUnBiMjVHYjNKR2FXSmxjaUIwYjF4dUlDQWdJQ0FnSUNBdkx5QnpkV0owY21GamRDQXhJR1p5YjIwZ1lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxZQ0IwYnlCdGIzWmxJR2wwSUdsdWRHOGdZVnh1SUNBZ0lDQWdJQ0F2THlCelpYQmhjbUYwWlNCaWRXTnJaWFF1SUVKMWRDQjNaU0J6YUc5MWJHUWdjSEp2WW1GaWJIa2diVzlrWld3Z2FYUWdkMmwwYUNCaGJpQmxlR05sY0hScGIyNHNYRzRnSUNBZ0lDQWdJQzh2SUhWemFXNW5JSFJvWlNCellXMWxJRzFsWTJoaGJtbHpiU0IzWlNCMWMyVWdkRzhnWm05eVkyVWdhSGxrY21GMGFXOXVJRzltSUdFZ2MzVmlkSEpsWlM1Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJrYjJWeklHNXZkQ0JoWTJOdmRXNTBJR1p2Y2lCc2IzY2djSEpwSUhWd1pHRjBaWE1nZEdoaGRDQjNaWEpsSUdGc2NtVmhaSGxjYmlBZ0lDQWdJQ0FnTHk4Z2MyTm9aV1IxYkdWa0lHSmxabTl5WlNCMGFHVWdjbTl2ZENCemRHRnlkR1ZrSUhKbGJtUmxjbWx1Wnk0Z1RtVmxaQ0IwYnlCMGNtRmpheUIwYUdVZ2JtVjRkRnh1SUNBZ0lDQWdJQ0F2THlCd1pXNWthVzVuSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0FvY0dWeWFHRndjeUJpZVNCaVlXTnJkSEpoWTJ0cGJtY2dkR2hsSUhKbGRIVnliaUJ3WVhSb0tTQmhibVJjYmlBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUIwY21sbloyVnlJR0VnY21WemRHRnlkQ0JwYmlCMGFHVWdZSEpsYm1SbGNrUnBaRk4xYzNCbGJtUkVaV3hoZVVsbVVHOXpjMmxpYkdWZ0lIQmhkR2d1WEc0Z0lDQWdJQ0FnSUcxaGNtdFNiMjkwVTNWemNHVnVaR1ZrUVhSVWFXMWxLSEp2YjNRc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnTHk4Z1RXRnlheUIwYUdGMElIUm9aU0J5YjI5MElHaGhjeUJoSUhCbGJtUnBibWNnZFhCa1lYUmxMbHh1WEc1Y2JpQWdJQ0J0WVhKclVtOXZkRlZ3WkdGMFpXUkJkRlJwYldVb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEp2YjNRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFNWxlSFJTYjI5MFJYaHdhWEpoZEdsdmJsUnBiV1ZVYjFkdmNtdFBiaWh5YjI5MEtTQjdYRzRnSUM4dklFUmxkR1Z5YldsdVpYTWdkR2hsSUc1bGVIUWdaWGh3YVhKaGRHbHZiaUIwYVcxbElIUm9ZWFFnZEdobElISnZiM1FnYzJodmRXeGtJSEpsYm1SbGNpd2dkR0ZyYVc1blhHNGdJQzh2SUdsdWRHOGdZV05qYjNWdWRDQnNaWFpsYkhNZ2RHaGhkQ0J0WVhrZ1ltVWdjM1Z6Y0dWdVpHVmtMQ0J2Y2lCc1pYWmxiSE1nZEdoaGRDQnRZWGtnYUdGMlpWeHVJQ0F2THlCeVpXTmxhWFpsWkNCaElIQnBibWN1WEc0Z0lIWmhjaUJzWVhOMFJYaHdhWEpsWkZScGJXVWdQU0J5YjI5MExteGhjM1JGZUhCcGNtVmtWR2x0WlR0Y2JseHVJQ0JwWmlBb2JHRnpkRVY0Y0dseVpXUlVhVzFsSUNFOVBTQk9iMWR2Y21zcElIdGNiaUFnSUNCeVpYUjFjbTRnYkdGemRFVjRjR2x5WldSVWFXMWxPMXh1SUNCOUlDOHZJRndpVUdWdVpHbHVaMXdpSUhKbFptVnljeUIwYnlCaGJua2dkWEJrWVhSbElIUm9ZWFFnYUdGemJpZDBJR052YlcxcGRIUmxaQ0I1WlhRc0lHbHVZMngxWkdsdVp5QnBaaUJwZEZ4dUlDQXZMeUJ6ZFhOd1pXNWtaV1F1SUZSb1pTQmNJbk4xYzNCbGJtUmxaRndpSUhKaGJtZGxJR2x6SUhSb1pYSmxabTl5WlNCaElITjFZbk5sZEM1Y2JseHVYRzRnSUhaaGNpQm1hWEp6ZEZCbGJtUnBibWRVYVcxbElEMGdjbTl2ZEM1bWFYSnpkRkJsYm1ScGJtZFVhVzFsTzF4dVhHNGdJR2xtSUNnaGFYTlNiMjkwVTNWemNHVnVaR1ZrUVhSVWFXMWxLSEp2YjNRc0lHWnBjbk4wVUdWdVpHbHVaMVJwYldVcEtTQjdYRzRnSUNBZ0x5OGdWR2hsSUdocFoyaGxjM1FnY0hKcGIzSnBkSGtnY0dWdVpHbHVaeUIwYVcxbElHbHpJRzV2ZENCemRYTndaVzVrWldRdUlFeGxkQ2R6SUhkdmNtc2diMjRnZEdoaGRDNWNiaUFnSUNCeVpYUjFjbTRnWm1seWMzUlFaVzVrYVc1blZHbHRaVHRjYmlBZ2ZTQXZMeUJKWmlCMGFHVWdabWx5YzNRZ2NHVnVaR2x1WnlCMGFXMWxJR2x6SUhOMWMzQmxibVJsWkN3Z1kyaGxZMnNnYVdZZ2RHaGxjbVVuY3lCaElHeHZkMlZ5SUhCeWFXOXlhWFI1WEc0Z0lDOHZJSEJsYm1ScGJtY2diR1YyWld3Z2RHaGhkQ0IzWlNCcmJtOTNJR0ZpYjNWMExpQlBjaUJqYUdWamF5QnBaaUIzWlNCeVpXTmxhWFpsWkNCaElIQnBibWN1SUZkdmNtdGNiaUFnTHk4Z2IyNGdkMmhwWTJobGRtVnlJR2x6SUdocFoyaGxjaUJ3Y21sdmNtbDBlUzVjYmx4dVhHNGdJSFpoY2lCc1lYTjBVR2x1WjJWa1ZHbHRaU0E5SUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVN1hHNGdJSFpoY2lCdVpYaDBTMjV2ZDI1UVpXNWthVzVuVEdWMlpXd2dQU0J5YjI5MExtNWxlSFJMYm05M2JsQmxibVJwYm1kTVpYWmxiRHRjYmlBZ2RtRnlJRzVsZUhSTVpYWmxiQ0E5SUd4aGMzUlFhVzVuWldSVWFXMWxJRDRnYm1WNGRFdHViM2R1VUdWdVpHbHVaMHhsZG1Wc0lEOGdiR0Z6ZEZCcGJtZGxaRlJwYldVZ09pQnVaWGgwUzI1dmQyNVFaVzVrYVc1blRHVjJaV3c3WEc1Y2JpQWdhV1lnS0NCdVpYaDBUR1YyWld3Z1BEMGdTV1JzWlNBbUppQm1hWEp6ZEZCbGJtUnBibWRVYVcxbElDRTlQU0J1WlhoMFRHVjJaV3dwSUh0Y2JpQWdJQ0F2THlCRWIyNG5kQ0IzYjNKcklHOXVJRWxrYkdVdlRtVjJaWElnY0hKcGIzSnBkSGtnZFc1c1pYTnpJR1YyWlhKNWRHaHBibWNnWld4elpTQnBjeUJqYjIxdGFYUjBaV1F1WEc0Z0lDQWdjbVYwZFhKdUlFNXZWMjl5YXp0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdVpYaDBUR1YyWld3N1hHNTlJQzh2SUZWelpTQjBhR2x6SUdaMWJtTjBhVzl1SUhSdklITmphR1ZrZFd4bElHRWdkR0Z6YXlCbWIzSWdZU0J5YjI5MExpQlVhR1Z5WlNkeklHOXViSGtnYjI1bElIUmhjMnNnY0dWeVhHNHZMeUJ5YjI5ME95QnBaaUJoSUhSaGMyc2dkMkZ6SUdGc2NtVmhaSGtnYzJOb1pXUjFiR1ZrTENCM1pTZHNiQ0JqYUdWamF5QjBieUJ0WVd0bElITjFjbVVnZEdobFhHNHZMeUJsZUhCcGNtRjBhVzl1SUhScGJXVWdiMllnZEdobElHVjRhWE4wYVc1bklIUmhjMnNnYVhNZ2RHaGxJSE5oYldVZ1lYTWdkR2hsSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0J2Wmx4dUx5OGdkR2hsSUc1bGVIUWdiR1YyWld3Z2RHaGhkQ0IwYUdVZ2NtOXZkQ0JvWVhNZ2QyOXlheUJ2Ymk0Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCallXeHNaV1FnYjI0Z1pYWmxjbmxjYmk4dklIVndaR0YwWlN3Z1lXNWtJSEpwWjJoMElHSmxabTl5WlNCbGVHbDBhVzVuSUdFZ2RHRnpheTVjYmx4dVhHNW1kVzVqZEdsdmJpQmxibk4xY21WU2IyOTBTWE5UWTJobFpIVnNaV1FvY205dmRDa2dlMXh1SUNCMllYSWdiR0Z6ZEVWNGNHbHlaV1JVYVcxbElEMGdjbTl2ZEM1c1lYTjBSWGh3YVhKbFpGUnBiV1U3WEc1Y2JpQWdhV1lnS0d4aGMzUkZlSEJwY21Wa1ZHbHRaU0FoUFQwZ1RtOVhiM0pyS1NCN1hHNGdJQ0FnTHk4Z1UzQmxZMmxoYkNCallYTmxPaUJGZUhCcGNtVmtJSGR2Y21zZ2MyaHZkV3hrSUdac2RYTm9JSE41Ym1Ob2NtOXViM1Z6YkhrdVhHNGdJQ0FnY205dmRDNWpZV3hzWW1GamEwVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1UzbHVZenRjYmlBZ0lDQnliMjkwTG1OaGJHeGlZV05yVUhKcGIzSnBkSGtnUFNCSmJXMWxaR2xoZEdWUWNtbHZjbWwwZVR0Y2JpQWdJQ0J5YjI5MExtTmhiR3hpWVdOclRtOWtaU0E5SUhOamFHVmtkV3hsVTNsdVkwTmhiR3hpWVdOcktIQmxjbVp2Y20xVGVXNWpWMjl5YTA5dVVtOXZkQzVpYVc1a0tHNTFiR3dzSUhKdmIzUXBLVHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQjJZWElnWlhod2FYSmhkR2x2YmxScGJXVWdQU0JuWlhST1pYaDBVbTl2ZEVWNGNHbHlZWFJwYjI1VWFXMWxWRzlYYjNKclQyNG9jbTl2ZENrN1hHNGdJSFpoY2lCbGVHbHpkR2x1WjBOaGJHeGlZV05yVG05a1pTQTlJSEp2YjNRdVkyRnNiR0poWTJ0T2IyUmxPMXh1WEc0Z0lHbG1JQ2hsZUhCcGNtRjBhVzl1VkdsdFpTQTlQVDBnVG05WGIzSnJLU0I3WEc0Z0lDQWdMeThnVkdobGNtVW5jeUJ1YjNSb2FXNW5JSFJ2SUhkdmNtc2diMjR1WEc0Z0lDQWdhV1lnS0dWNGFYTjBhVzVuUTJGc2JHSmhZMnRPYjJSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnliMjkwTG1OaGJHeGlZV05yVG05a1pTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCeWIyOTBMbU5oYkd4aVlXTnJSWGh3YVhKaGRHbHZibFJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJQ0FnSUNCeWIyOTBMbU5oYkd4aVlXTnJVSEpwYjNKcGRIa2dQU0JPYjFCeWFXOXlhWFI1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlNBdkx5QlVUMFJQT2lCSlppQjBhR2x6SUdseklHRnVJSFZ3WkdGMFpTd2dkMlVnWVd4eVpXRmtlU0J5WldGa0lIUm9aU0JqZFhKeVpXNTBJSFJwYldVdUlGQmhjM01nZEdobFhHNGdJQzh2SUhScGJXVWdZWE1nWVc0Z1lYSm5kVzFsYm5RdVhHNWNibHh1SUNCMllYSWdZM1Z5Y21WdWRGUnBiV1VnUFNCeVpYRjFaWE4wUTNWeWNtVnVkRlJwYldWR2IzSlZjR1JoZEdVb0tUdGNiaUFnZG1GeUlIQnlhVzl5YVhSNVRHVjJaV3dnUFNCcGJtWmxjbEJ5YVc5eWFYUjVSbkp2YlVWNGNHbHlZWFJwYjI1VWFXMWxLR04xY25KbGJuUlVhVzFsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3SUM4dklFbG1JSFJvWlhKbEozTWdZVzRnWlhocGMzUnBibWNnY21WdVpHVnlJSFJoYzJzc0lHTnZibVpwY20wZ2FYUWdhR0Z6SUhSb1pTQmpiM0p5WldOMElIQnlhVzl5YVhSNUlHRnVaRnh1SUNBdkx5QmxlSEJwY21GMGFXOXVJSFJwYldVdUlFOTBhR1Z5ZDJselpTd2dkMlVuYkd3Z1kyRnVZMlZzSUdsMElHRnVaQ0J6WTJobFpIVnNaU0JoSUc1bGR5QnZibVV1WEc1Y2JpQWdhV1lnS0dWNGFYTjBhVzVuUTJGc2JHSmhZMnRPYjJSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR1Y0YVhOMGFXNW5RMkZzYkdKaFkydFFjbWx2Y21sMGVTQTlJSEp2YjNRdVkyRnNiR0poWTJ0UWNtbHZjbWwwZVR0Y2JpQWdJQ0IyWVhJZ1pYaHBjM1JwYm1kRFlXeHNZbUZqYTBWNGNHbHlZWFJwYjI1VWFXMWxJRDBnY205dmRDNWpZV3hzWW1GamEwVjRjR2x5WVhScGIyNVVhVzFsTzF4dVhHNGdJQ0FnYVdZZ0tDQXZMeUJEWVd4c1ltRmpheUJ0ZFhOMElHaGhkbVVnZEdobElHVjRZV04wSUhOaGJXVWdaWGh3YVhKaGRHbHZiaUIwYVcxbExseHVJQ0FnSUdWNGFYTjBhVzVuUTJGc2JHSmhZMnRGZUhCcGNtRjBhVzl1VkdsdFpTQTlQVDBnWlhod2FYSmhkR2x2YmxScGJXVWdKaVlnTHk4Z1EyRnNiR0poWTJzZ2JYVnpkQ0JvWVhabElHZHlaV0YwWlhJZ2IzSWdaWEYxWVd3Z2NISnBiM0pwZEhrdVhHNGdJQ0FnWlhocGMzUnBibWREWVd4c1ltRmphMUJ5YVc5eWFYUjVJRDQ5SUhCeWFXOXlhWFI1VEdWMlpXd3BJSHRjYmlBZ0lDQWdJQzh2SUVWNGFYTjBhVzVuSUdOaGJHeGlZV05ySUdseklITjFabVpwWTJsbGJuUXVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlNBdkx5Qk9aV1ZrSUhSdklITmphR1ZrZFd4bElHRWdibVYzSUhSaGMyc3VYRzRnSUNBZ0x5OGdWRTlFVHpvZ1NXNXpkR1ZoWkNCdlppQnpZMmhsWkhWc2FXNW5JR0VnYm1WM0lIUmhjMnNzSUhkbElITm9iM1ZzWkNCaVpTQmhZbXhsSUhSdklHTm9ZVzVuWlNCMGFHVmNiaUFnSUNBdkx5QndjbWx2Y21sMGVTQnZaaUIwYUdVZ1pYaHBjM1JwYm1jZ2IyNWxMbHh1WEc1Y2JpQWdJQ0JqWVc1alpXeERZV3hzWW1GamF5aGxlR2x6ZEdsdVowTmhiR3hpWVdOclRtOWtaU2s3WEc0Z0lIMWNibHh1SUNCeWIyOTBMbU5oYkd4aVlXTnJSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdjbTl2ZEM1allXeHNZbUZqYTFCeWFXOXlhWFI1SUQwZ2NISnBiM0pwZEhsTVpYWmxiRHRjYmlBZ2RtRnlJR05oYkd4aVlXTnJUbTlrWlR0Y2JseHVJQ0JwWmlBb1pYaHdhWEpoZEdsdmJsUnBiV1VnUFQwOUlGTjVibU1wSUh0Y2JpQWdJQ0F2THlCVGVXNWpJRkpsWVdOMElHTmhiR3hpWVdOcmN5QmhjbVVnYzJOb1pXUjFiR1ZrSUc5dUlHRWdjM0JsWTJsaGJDQnBiblJsY201aGJDQnhkV1YxWlZ4dUlDQWdJR05oYkd4aVlXTnJUbTlrWlNBOUlITmphR1ZrZFd4bFUzbHVZME5oYkd4aVlXTnJLSEJsY21admNtMVRlVzVqVjI5eWEwOXVVbTl2ZEM1aWFXNWtLRzUxYkd3c0lISnZiM1FwS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCallXeHNZbUZqYTA1dlpHVWdQU0J6WTJobFpIVnNaVU5oYkd4aVlXTnJLSEJ5YVc5eWFYUjVUR1YyWld3c0lIQmxjbVp2Y20xRGIyNWpkWEp5Wlc1MFYyOXlhMDl1VW05dmRDNWlhVzVrS0c1MWJHd3NJSEp2YjNRcExDQXZMeUJEYjIxd2RYUmxJR0VnZEdGemF5QjBhVzFsYjNWMElHSmhjMlZrSUc5dUlIUm9aU0JsZUhCcGNtRjBhVzl1SUhScGJXVXVJRlJvYVhNZ1lXeHpieUJoWm1abFkzUnpYRzRnSUNBZ0x5OGdiM0prWlhKcGJtY2dZbVZqWVhWelpTQjBZWE5yY3lCaGNtVWdjSEp2WTJWemMyVmtJR2x1SUhScGJXVnZkWFFnYjNKa1pYSXVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ1pYaHdhWEpoZEdsdmJsUnBiV1ZVYjAxektHVjRjR2x5WVhScGIyNVVhVzFsS1NBdElHNXZkeWdwWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCeWIyOTBMbU5oYkd4aVlXTnJUbTlrWlNBOUlHTmhiR3hpWVdOclRtOWtaVHRjYm4wZ0x5OGdWR2hwY3lCcGN5QjBhR1VnWlc1MGNua2djRzlwYm5RZ1ptOXlJR1YyWlhKNUlHTnZibU4xY25KbGJuUWdkR0Z6YXl3Z2FTNWxMaUJoYm5sMGFHbHVaeUIwYUdGMFhHNHZMeUJuYjJWeklIUm9jbTkxWjJnZ1UyTm9aV1IxYkdWeUxseHVYRzVjYm1aMWJtTjBhVzl1SUhCbGNtWnZjbTFEYjI1amRYSnlaVzUwVjI5eWEwOXVVbTl2ZENoeWIyOTBMQ0JrYVdSVWFXMWxiM1YwS1NCN1hHNGdJQzh2SUZOcGJtTmxJSGRsSUd0dWIzY2dkMlVuY21VZ2FXNGdZU0JTWldGamRDQmxkbVZ1ZEN3Z2QyVWdZMkZ1SUdOc1pXRnlJSFJvWlNCamRYSnlaVzUwWEc0Z0lDOHZJR1YyWlc1MElIUnBiV1V1SUZSb1pTQnVaWGgwSUhWd1pHRjBaU0IzYVd4c0lHTnZiWEIxZEdVZ1lTQnVaWGNnWlhabGJuUWdkR2x0WlM1Y2JpQWdZM1Z5Y21WdWRFVjJaVzUwVkdsdFpTQTlJRTV2VjI5eWF6dGNibHh1SUNCcFppQW9aR2xrVkdsdFpXOTFkQ2tnZTF4dUlDQWdJQzh2SUZSb1pTQnlaVzVrWlhJZ2RHRnpheUIwYjI5cklIUnZieUJzYjI1bklIUnZJR052YlhCc1pYUmxMaUJOWVhKcklIUm9aU0JqZFhKeVpXNTBJSFJwYldVZ1lYTmNiaUFnSUNBdkx5QmxlSEJwY21Wa0lIUnZJSE41Ym1Ob2NtOXViM1Z6YkhrZ2NtVnVaR1Z5SUdGc2JDQmxlSEJwY21Wa0lIZHZjbXNnYVc0Z1lTQnphVzVuYkdVZ1ltRjBZMmd1WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJVYVcxbElEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVWFXMWxSbTl5VlhCa1lYUmxLQ2s3WEc0Z0lDQWdiV0Z5YTFKdmIzUkZlSEJwY21Wa1FYUlVhVzFsS0hKdmIzUXNJR04xY25KbGJuUlVhVzFsS1RzZ0x5OGdWR2hwY3lCM2FXeHNJSE5qYUdWa2RXeGxJR0VnYzNsdVkyaHliMjV2ZFhNZ1kyRnNiR0poWTJzdVhHNWNiaUFnSUNCbGJuTjFjbVZTYjI5MFNYTlRZMmhsWkhWc1pXUW9jbTl2ZENrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBnTHk4Z1JHVjBaWEp0YVc1bElIUm9aU0J1WlhoMElHVjRjR2x5WVhScGIyNGdkR2x0WlNCMGJ5QjNiM0pySUc5dUxDQjFjMmx1WnlCMGFHVWdabWxsYkdSeklITjBiM0psWkZ4dUlDQXZMeUJ2YmlCMGFHVWdjbTl2ZEM1Y2JseHVYRzRnSUhaaGNpQmxlSEJwY21GMGFXOXVWR2x0WlNBOUlHZGxkRTVsZUhSU2IyOTBSWGh3YVhKaGRHbHZibFJwYldWVWIxZHZjbXRQYmloeWIyOTBLVHRjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdJVDA5SUU1dlYyOXlheWtnZTF4dUlDQWdJSFpoY2lCdmNtbG5hVzVoYkVOaGJHeGlZV05yVG05a1pTQTlJSEp2YjNRdVkyRnNiR0poWTJ0T2IyUmxPMXh1WEc0Z0lDQWdhV1lnS0NFb0tHVjRaV04xZEdsdmJrTnZiblJsZUhRZ0ppQW9VbVZ1WkdWeVEyOXVkR1Y0ZENCOElFTnZiVzFwZEVOdmJuUmxlSFFwS1NBOVBUMGdUbTlEYjI1MFpYaDBLU2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pUYUc5MWJHUWdibTkwSUdGc2NtVmhaSGtnWW1VZ2QyOXlhMmx1Wnk1Y0lpQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnNkWE5vVUdGemMybDJaVVZtWm1WamRITW9LVHNnTHk4Z1NXWWdkR2hsSUhKdmIzUWdiM0lnWlhod2FYSmhkR2x2YmlCMGFXMWxJR2hoZG1VZ1kyaGhibWRsWkN3Z2RHaHliM2NnYjNWMElIUm9aU0JsZUdsemRHbHVaeUJ6ZEdGamExeHVJQ0FnSUM4dklHRnVaQ0J3Y21Wd1lYSmxJR0VnWm5KbGMyZ2diMjVsTGlCUGRHaGxjbmRwYzJVZ2QyVW5iR3dnWTI5dWRHbHVkV1VnZDJobGNtVWdkMlVnYkdWbWRDQnZabVl1WEc1Y2JpQWdJQ0JwWmlBb2NtOXZkQ0FoUFQwZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MElIeDhJR1Y0Y0dseVlYUnBiMjVVYVcxbElDRTlQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNReEtTQjdYRzRnSUNBZ0lDQndjbVZ3WVhKbFJuSmxjMmhUZEdGamF5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0J6ZEdGeWRGZHZjbXRQYmxCbGJtUnBibWRKYm5SbGNtRmpkR2x2Ym5Nb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lIMGdMeThnU1dZZ2QyVWdhR0YyWlNCaElIZHZjbXN0YVc0dGNISnZaM0psYzNNZ1ptbGlaWElzSUdsMElHMWxZVzV6SUhSb1pYSmxKM01nYzNScGJHd2dkMjl5YXlCMGJ5QmtiMXh1SUNBZ0lDOHZJR2x1SUhSb2FYTWdjbTl2ZEM1Y2JseHVYRzRnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOeklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnY0hKbGRrVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQmxlR1ZqZFhScGIyNURiMjUwWlhoME8xeHVJQ0FnSUNBZ1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENCOFBTQlNaVzVrWlhKRGIyNTBaWGgwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ2NIVnphRVJwYzNCaGRHTm9aWElvS1R0Y2JpQWdJQ0FnSUhaaGNpQndjbVYyU1c1MFpYSmhZM1JwYjI1eklEMGdjSFZ6YUVsdWRHVnlZV04wYVc5dWN5aHliMjkwS1R0Y2JpQWdJQ0FnSUhOMFlYSjBWMjl5YTB4dmIzQlVhVzFsY2loM2IzSnJTVzVRY205bmNtVnpjeWs3WEc1Y2JpQWdJQ0FnSUdSdklIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQjNiM0pyVEc5dmNFTnZibU4xY25KbGJuUW9LVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvZEdoeWIzZHVWbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0JvWVc1a2JHVkZjbkp2Y2loeWIyOTBMQ0IwYUhKdmQyNVdZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdkMmhwYkdVZ0tIUnlkV1VwTzF4dVhHNGdJQ0FnSUNCeVpYTmxkRU52Ym5SbGVIUkVaWEJsYm1SbGJtTnBaWE1vS1R0Y2JpQWdJQ0FnSUdWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFNCd2NtVjJSWGhsWTNWMGFXOXVRMjl1ZEdWNGREdGNiaUFnSUNBZ0lIQnZjRVJwYzNCaGRHTm9aWElvY0hKbGRrUnBjM0JoZEdOb1pYSXBPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhCdmNFbHVkR1Z5WVdOMGFXOXVjeWh3Y21WMlNXNTBaWEpoWTNScGIyNXpLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFVjRhWFJUZEdGMGRYTWdQVDA5SUZKdmIzUkdZWFJoYkVWeWNtOXlaV1FwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR1poZEdGc1JYSnliM0lnUFNCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSR1lYUmhiRVZ5Y205eU8xeHVJQ0FnSUNBZ0lDQnpkRzl3U1c1MFpYSnlkWEIwWldSWGIzSnJURzl2Y0ZScGJXVnlLQ2s3WEc0Z0lDQWdJQ0FnSUhCeVpYQmhjbVZHY21WemFGTjBZV05yS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdiV0Z5YTFKdmIzUlRkWE53Wlc1a1pXUkJkRlJwYldVb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdJQ0JsYm5OMWNtVlNiMjkwU1hOVFkyaGxaSFZzWldRb2NtOXZkQ2s3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJR1poZEdGc1JYSnliM0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdWeVpTZHpJSE4wYVd4c0lIZHZjbXNnYkdWbWRDQnZkbVZ5TGlCRmVHbDBJSGRwZEdodmRYUWdZMjl0YldsMGRHbHVaeTVjYmlBZ0lDQWdJQ0FnYzNSdmNFbHVkR1Z5Y25Wd2RHVmtWMjl5YTB4dmIzQlVhVzFsY2lncE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWMlVnYm05M0lHaGhkbVVnWVNCamIyNXphWE4wWlc1MElIUnlaV1V1SUZSb1pTQnVaWGgwSUhOMFpYQWdhWE1nWldsMGFHVnlJSFJ2SUdOdmJXMXBkQ0JwZEN4Y2JpQWdJQ0FnSUNBZ0x5OGdiM0lzSUdsbUlITnZiV1YwYUdsdVp5QnpkWE53Wlc1a1pXUXNJSGRoYVhRZ2RHOGdZMjl0YldsMElHbDBJR0ZtZEdWeUlHRWdkR2x0Wlc5MWRDNWNiaUFnSUNBZ0lDQWdjM1J2Y0VacGJtbHphR1ZrVjI5eWEweHZiM0JVYVcxbGNpZ3BPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1ptbHVhWE5vWldSWGIzSnJJRDBnY205dmRDNW1hVzVwYzJobFpGZHZjbXNnUFNCeWIyOTBMbU4xY25KbGJuUXVZV3gwWlhKdVlYUmxPMXh1SUNBZ0lDQWdJQ0J5YjI5MExtWnBibWx6YUdWa1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnWm1sdWFYTm9RMjl1WTNWeWNtVnVkRkpsYm1SbGNpaHliMjkwTENCbWFXNXBjMmhsWkZkdmNtc3NJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1zSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWlc1emRYSmxVbTl2ZEVselUyTm9aV1IxYkdWa0tISnZiM1FwTzF4dVhHNGdJQ0FnSUNCcFppQW9jbTl2ZEM1allXeHNZbUZqYTA1dlpHVWdQVDA5SUc5eWFXZHBibUZzUTJGc2JHSmhZMnRPYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb1pTQjBZWE5ySUc1dlpHVWdjMk5vWldSMWJHVmtJR1p2Y2lCMGFHbHpJSEp2YjNRZ2FYTWdkR2hsSUhOaGJXVWdiMjVsSUhSb1lYUW5jMXh1SUNBZ0lDQWdJQ0F2THlCamRYSnlaVzUwYkhrZ1pYaGxZM1YwWldRdUlFNWxaV1FnZEc4Z2NtVjBkWEp1SUdFZ1kyOXVkR2x1ZFdGMGFXOXVMbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjR1Z5Wm05eWJVTnZibU4xY25KbGJuUlhiM0pyVDI1U2IyOTBMbUpwYm1Rb2JuVnNiQ3dnY205dmRDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1semFFTnZibU4xY25KbGJuUlNaVzVrWlhJb2NtOXZkQ3dnWm1sdWFYTm9aV1JYYjNKckxDQmxlR2wwVTNSaGRIVnpMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBdkx5QlRaWFFnZEdocGN5QjBieUJ1ZFd4c0lIUnZJR2x1WkdsallYUmxJSFJvWlhKbEozTWdibThnYVc0dGNISnZaM0psYzNNZ2NtVnVaR1Z5TGx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdQU0J1ZFd4c08xeHVYRzRnSUhOM2FYUmphQ0FvWlhocGRGTjBZWFIxY3lrZ2UxeHVJQ0FnSUdOaGMyVWdVbTl2ZEVsdVkyOXRjR3hsZEdVNlhHNGdJQ0FnWTJGelpTQlNiMjkwUm1GMFlXeEZjbkp2Y21Wa09seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVVtOXZkQ0JrYVdRZ2JtOTBJR052YlhCc1pYUmxMaUJVYUdseklHbHpJR0VnWW5WbklHbHVJRkpsWVdOMExsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0x5OGdSbXh2ZHlCcmJtOTNjeUJoWW05MWRDQnBiblpoY21saGJuUXNJSE52SUdsMElHTnZiWEJzWVdsdWN5QnBaaUJKSUdGa1pDQmhJR0p5WldGclhHNGdJQ0FnTHk4Z2MzUmhkR1Z0Wlc1MExDQmlkWFFnWlhOc2FXNTBJR1J2WlhOdUozUWdhMjV2ZHlCaFltOTFkQ0JwYm5aaGNtbGhiblFzSUhOdklHbDBJR052YlhCc1lXbHVjMXh1SUNBZ0lDOHZJR2xtSUVrZ1pHOHVJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTFtWVd4c2RHaHliM1ZuYUZ4dVhHNGdJQ0FnWTJGelpTQlNiMjkwUlhKeWIzSmxaRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hwY3lCM1lYTWdZVzRnWVhONWJtTWdjbVZ1WkdWeUxDQjBhR1VnWlhKeWIzSWdiV0Y1SUdoaGRtVWdhR0Z3Y0dWdVpXUWdaSFZsSUhSdlhHNGdJQ0FnSUNBZ0lDOHZJR0VnYlhWMFlYUnBiMjRnYVc0Z1lTQmpiMjVqZFhKeVpXNTBJR1YyWlc1MExpQlVjbmtnY21WdVpHVnlhVzVuSUc5dVpTQnRiM0psSUhScGJXVXNYRzRnSUNBZ0lDQWdJQzh2SUhONWJtTm9jbTl1YjNWemJIa3NJSFJ2SUhObFpTQnBaaUIwYUdVZ1pYSnliM0lnWjI5bGN5QmhkMkY1TGlCSlppQjBhR1Z5WlNCaGNtVmNiaUFnSUNBZ0lDQWdMeThnYkc5M1pYSWdjSEpwYjNKcGRIa2dkWEJrWVhSbGN5d2diR1YwSjNNZ2FXNWpiSFZrWlNCMGFHOXpaU3dnZEc5dkxDQnBiaUJqWVhObElIUm9aWGxjYmlBZ0lDQWdJQ0FnTHk4Z1ptbDRJSFJvWlNCcGJtTnZibk5wYzNSbGJtTjVMaUJTWlc1a1pYSWdZWFFnU1dSc1pTQjBieUJwYm1Oc2RXUmxJR0ZzYkNCMWNHUmhkR1Z6TGx4dUlDQWdJQ0FnSUNBdkx5QkpaaUJwZENCM1lYTWdTV1JzWlNCdmNpQk9aWFpsY2lCdmNpQnpiMjFsSUc1dmRDMTVaWFF0YVc1MlpXNTBaV1FnZEdsdFpTd2djbVZ1WkdWeVhHNGdJQ0FnSUNBZ0lDOHZJR0YwSUhSb1lYUWdkR2x0WlM1Y2JpQWdJQ0FnSUNBZ2JXRnlhMUp2YjNSRmVIQnBjbVZrUVhSVWFXMWxLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsSUQ0Z1NXUnNaU0EvSUVsa2JHVWdPaUJsZUhCcGNtRjBhVzl1VkdsdFpTazdJQzh2SUZkbElHRnpjM1Z0WlNCMGFHRjBJSFJvYVhNZ2MyVmpiMjVrSUhKbGJtUmxjaUJ3WVhOeklIZHBiR3dnWW1VZ2MzbHVZMmh5YjI1dmRYTmNiaUFnSUNBZ0lDQWdMeThnWVc1a0lIUm9aWEpsWm05eVpTQnViM1FnYUdsMElIUm9hWE1nY0dGMGFDQmhaMkZwYmk1Y2JseHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdVbTl2ZEZOMWMzQmxibVJsWkRwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2JXRnlhMUp2YjNSVGRYTndaVzVrWldSQmRGUnBiV1VvY205dmRDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQjJZWElnYkdGemRGTjFjM0JsYm1SbFpGUnBiV1VnUFNCeWIyOTBMbXhoYzNSVGRYTndaVzVrWldSVWFXMWxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGxlSEJwY21GMGFXOXVWR2x0WlNBOVBUMGdiR0Z6ZEZOMWMzQmxibVJsWkZScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeWIyOTBMbTVsZUhSTGJtOTNibEJsYm1ScGJtZE1aWFpsYkNBOUlHZGxkRkpsYldGcGJtbHVaMFY0Y0dseVlYUnBiMjVVYVcxbEtHWnBibWx6YUdWa1YyOXlheWs3WEc0Z0lDQWdJQ0FnSUgwZ0x5OGdWMlVnYUdGMlpTQmhiaUJoWTJObGNIUmhZbXhsSUd4dllXUnBibWNnYzNSaGRHVXVJRmRsSUc1bFpXUWdkRzhnWm1sbmRYSmxJRzkxZENCcFppQjNaVnh1SUNBZ0lDQWdJQ0F2THlCemFHOTFiR1FnYVcxdFpXUnBZWFJsYkhrZ1kyOXRiV2wwSUdsMElHOXlJSGRoYVhRZ1lTQmlhWFF1WEc0Z0lDQWdJQ0FnSUM4dklFbG1JSGRsSUdoaGRtVWdjSEp2WTJWemMyVmtJRzVsZHlCMWNHUmhkR1Z6SUdSMWNtbHVaeUIwYUdseklISmxibVJsY2l3Z2QyVWdiV0Y1SUc1dmQxeHVJQ0FnSUNBZ0lDQXZMeUJvWVhabElHRWdibVYzSUd4dllXUnBibWNnYzNSaGRHVWdjbVZoWkhrdUlGZGxJSGRoYm5RZ2RHOGdaVzV6ZFhKbElIUm9ZWFFnZDJVZ1kyOXRiV2wwWEc0Z0lDQWdJQ0FnSUM4dklIUm9ZWFFnWVhNZ2MyOXZiaUJoY3lCd2IzTnphV0pzWlM1Y2JseHVYRzRnSUNBZ0lDQWdJSFpoY2lCb1lYTk9iM1JRY205alpYTnpaV1JPWlhkVmNHUmhkR1Z6SUQwZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFRHRjBaWE4wVUhKdlkyVnpjMlZrUlhod2FYSmhkR2x2YmxScGJXVWdQVDA5SUZONWJtTTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjMDV2ZEZCeWIyTmxjM05sWkU1bGQxVndaR0YwWlhNZ0ppWWdMeThnWkc4Z2JtOTBJR1JsYkdGNUlHbG1JSGRsSjNKbElHbHVjMmxrWlNCaGJpQmhZM1FvS1NCelkyOXdaVnh1SUNBZ0lDQWdJQ0FoS0NCSmMxUm9hWE5TWlc1a1pYSmxja0ZqZEdsdVp5NWpkWEp5Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JSGRsSUdoaGRtVWdibTkwSUhCeWIyTmxjM05sWkNCaGJua2dibVYzSUhWd1pHRjBaWE1nWkhWeWFXNW5JSFJvYVhNZ2NHRnpjeXdnZEdobGJseHVJQ0FnSUNBZ0lDQWdJQzh2SUhSb2FYTWdhWE1nWldsMGFHVnlJR0VnY21WMGNua2diMllnWVc0Z1pYaHBjM1JwYm1jZ1ptRnNiR0poWTJzZ2MzUmhkR1VnYjNJZ1lWeHVJQ0FnSUNBZ0lDQWdJQzh2SUdocFpHUmxiaUIwY21WbExpQklhV1JrWlc0Z2RISmxaWE1nYzJodmRXeGtiaWQwSUdKbElHSmhkR05vWldRZ2QybDBhQ0J2ZEdobGNpQjNiM0pyWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdZVzVrSUdGbWRHVnlJSFJvWVhRbmN5Qm1hWGhsWkNCcGRDQmpZVzRnYjI1c2VTQmlaU0JoSUhKbGRISjVMaUJYWlNkeVpTQm5iMmx1WnlCMGIxeHVJQ0FnSUNBZ0lDQWdJQzh2SUhSb2NtOTBkR3hsSUdOdmJXMXBkSFJwYm1jZ2NtVjBjbWxsY3lCemJ5QjBhR0YwSUhkbElHUnZiaWQwSUhOb2IzY2dkRzl2SUcxaGJubGNiaUFnSUNBZ0lDQWdJQ0F2THlCc2IyRmthVzVuSUhOMFlYUmxjeUIwYjI4Z2NYVnBZMnRzZVM1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnYlhOVmJuUnBiRlJwYldWdmRYUWdQU0JuYkc5aVlXeE5iM04wVW1WalpXNTBSbUZzYkdKaFkydFVhVzFsSUNzZ1JrRk1URUpCUTB0ZlZFaFNUMVJVVEVWZlRWTWdMU0J1YjNjb0tUc2dMeThnUkc5dUozUWdZbTkwYUdWeUlIZHBkR2dnWVNCMlpYSjVJSE5vYjNKMElITjFjM0JsYm5ObElIUnBiV1V1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYlhOVmJuUnBiRlJwYldWdmRYUWdQaUF4TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFaGhjMUJsYm1ScGJtZFFhVzVuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnNZWE4wVUdsdVoyVmtWR2x0WlNBOUlISnZiM1F1YkdGemRGQnBibWRsWkZScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d4aGMzUlFhVzVuWldSVWFXMWxJRDA5UFNCT2IxZHZjbXNnZkh3Z2JHRnpkRkJwYm1kbFpGUnBiV1VnUGowZ1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR2x6SUhKbGJtUmxjaUIzWVhNZ2NHbHVaMlZrSUdKMWRDQjNaU0JrYVdSdUozUWdaMlYwSUhSdklISmxjM1JoY25SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmxZWEpzYVdWeUlITnZJSFJ5ZVNCeVpYTjBZWEowYVc1bklHNXZkeUJwYm5OMFpXRmtMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEp2YjNRdWJHRnpkRkJwYm1kbFpGUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21Wd1lYSmxSbkpsYzJoVGRHRmpheWh5YjI5MExDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRzVsZUhSVWFXMWxJRDBnWjJWMFRtVjRkRkp2YjNSRmVIQnBjbUYwYVc5dVZHbHRaVlJ2VjI5eWEwOXVLSEp2YjNRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ibVY0ZEZScGJXVWdJVDA5SUU1dlYyOXlheUFtSmlCdVpYaDBWR2x0WlNBaFBUMGdaWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWR2hsY21VbmN5QmhaR1JwZEdsdmJtRnNJSGR2Y21zZ2IyNGdkR2hwY3lCeWIyOTBMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d4aGMzUlRkWE53Wlc1a1pXUlVhVzFsSUNFOVBTQk9iMWR2Y21zZ0ppWWdiR0Z6ZEZOMWMzQmxibVJsWkZScGJXVWdJVDA5SUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElITm9iM1ZzWkNCd2NtVm1aWElnZEc4Z2NtVnVaR1Z5SUhSb1pTQm1ZV3hzWW1GamF5QnZaaUJoZENCMGFHVWdiR0Z6ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCemRYTndaVzVrWldRZ2JHVjJaV3d1SUZCcGJtY2dkR2hsSUd4aGMzUWdjM1Z6Y0dWdVpHVmtJR3hsZG1Wc0lIUnZJSFJ5ZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCeVpXNWtaWEpwYm1jZ2FYUWdZV2RoYVc0dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVZ1BTQnNZWE4wVTNWemNHVnVaR1ZrVkdsdFpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJQzh2SUZSb1pTQnlaVzVrWlhJZ2FYTWdjM1Z6Y0dWdVpHVmtMQ0JwZENCb1lYTnVKM1FnZEdsdFpXUWdiM1YwTENCaGJtUWdkR2hsY21VbmN5QnViMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiRzkzWlhJZ2NISnBiM0pwZEhrZ2QyOXlheUIwYnlCa2J5NGdTVzV6ZEdWaFpDQnZaaUJqYjIxdGFYUjBhVzVuSUhSb1pTQm1ZV3hzWW1GamExeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2FXMXRaV1JwWVhSbGJIa3NJSGRoYVhRZ1ptOXlJRzF2Y21VZ1pHRjBZU0IwYnlCaGNuSnBkbVV1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnY205dmRDNTBhVzFsYjNWMFNHRnVaR3hsSUQwZ2MyTm9aV1IxYkdWVWFXMWxiM1YwS0dOdmJXMXBkRkp2YjNRdVltbHVaQ2h1ZFd4c0xDQnliMjkwS1N3Z2JYTlZiblJwYkZScGJXVnZkWFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5SUM4dklGUm9aU0IzYjNKcklHVjRjR2x5WldRdUlFTnZiVzFwZENCcGJXMWxaR2xoZEdWc2VTNWNibHh1WEc0Z0lDQWdJQ0FnSUdOdmJXMXBkRkp2YjNRb2NtOXZkQ2s3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCU2IyOTBVM1Z6Y0dWdVpHVmtWMmwwYUVSbGJHRjVPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0J0WVhKclVtOXZkRk4xYzNCbGJtUmxaRUYwVkdsdFpTaHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZiR0Z6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExteGhjM1JUZFhOd1pXNWtaV1JVYVcxbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNobGVIQnBjbUYwYVc5dVZHbHRaU0E5UFQwZ1gyeGhjM1JUZFhOd1pXNWtaV1JVYVcxbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY205dmRDNXVaWGgwUzI1dmQyNVFaVzVrYVc1blRHVjJaV3dnUFNCblpYUlNaVzFoYVc1cGJtZEZlSEJwY21GMGFXOXVWR2x0WlNobWFXNXBjMmhsWkZkdmNtc3BPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0F2THlCa2J5QnViM1FnWkdWc1lYa2dhV1lnZDJVbmNtVWdhVzV6YVdSbElHRnVJR0ZqZENncElITmpiM0JsWEc0Z0lDQWdJQ0FnSUNFb0lFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5MbU4xY25KbGJuUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWMlVuY21VZ2MzVnpjR1Z1WkdWa0lHbHVJR0VnYzNSaGRHVWdkR2hoZENCemFHOTFiR1FnWW1VZ1lYWnZhV1JsWkM0Z1YyVW5iR3dnZEhKNUlIUnZYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1lYWnZhV1FnWTI5dGJXbDBkR2x1WnlCcGRDQm1iM0lnWVhNZ2JHOXVaeUJoY3lCMGFHVWdkR2x0Wlc5MWRITWdiR1YwSUhWekxseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSSVlYTlFaVzVrYVc1blVHbHVaeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUY5c1lYTjBVR2x1WjJWa1ZHbHRaU0E5SUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZiR0Z6ZEZCcGJtZGxaRlJwYldVZ1BUMDlJRTV2VjI5eWF5QjhmQ0JmYkdGemRGQnBibWRsWkZScGJXVWdQajBnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVkdocGN5QnlaVzVrWlhJZ2QyRnpJSEJwYm1kbFpDQmlkWFFnZDJVZ1pHbGtiaWQwSUdkbGRDQjBieUJ5WlhOMFlYSjBJR1ZoY214cFpYSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMjhnZEhKNUlISmxjM1JoY25ScGJtY2dibTkzSUdsdWMzUmxZV1F1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEp2YjNRdWJHRnpkRkJwYm1kbFpGUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsY0dGeVpVWnlaWE5vVTNSaFkyc29jbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYMjVsZUhSVWFXMWxJRDBnWjJWMFRtVjRkRkp2YjNSRmVIQnBjbUYwYVc5dVZHbHRaVlJ2VjI5eWEwOXVLSEp2YjNRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tGOXVaWGgwVkdsdFpTQWhQVDBnVG05WGIzSnJJQ1ltSUY5dVpYaDBWR2x0WlNBaFBUMGdaWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUm9aWEpsSjNNZ1lXUmthWFJwYjI1aGJDQjNiM0pySUc5dUlIUm9hWE1nY205dmRDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoZmJHRnpkRk4xYzNCbGJtUmxaRlJwYldVZ0lUMDlJRTV2VjI5eWF5QW1KaUJmYkdGemRGTjFjM0JsYm1SbFpGUnBiV1VnSVQwOUlHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTQnphRzkxYkdRZ2NISmxabVZ5SUhSdklISmxibVJsY2lCMGFHVWdabUZzYkdKaFkyc2diMllnWVhRZ2RHaGxJR3hoYzNSY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhOMWMzQmxibVJsWkNCc1pYWmxiQzRnVUdsdVp5QjBhR1VnYkdGemRDQnpkWE53Wlc1a1pXUWdiR1YyWld3Z2RHOGdkSEo1WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ5Wlc1a1pYSnBibWNnYVhRZ1lXZGhhVzR1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnliMjkwTG14aGMzUlFhVzVuWldSVWFXMWxJRDBnWDJ4aGMzUlRkWE53Wlc1a1pXUlVhVzFsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjl0YzFWdWRHbHNWR2x0Wlc5MWREdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUk1ZWFJsYzNSVGRYTndaVzV6WlZScGJXVnZkWFFnSVQwOUlGTjVibU1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHaGhkbVVnY0hKdlkyVnpjMlZrSUdFZ2MzVnpjR1Z1YzJVZ1kyOXVabWxuSUhkb2IzTmxJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTQjNaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdZMkZ1SUhWelpTQmhjeUIwYUdVZ2RHbHRaVzkxZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJRjl0YzFWdWRHbHNWR2x0Wlc5MWRDQTlJR1Y0Y0dseVlYUnBiMjVVYVcxbFZHOU5jeWgzYjNKclNXNVFjbTluY21WemMxSnZiM1JNWVhSbGMzUlRkWE53Wlc1elpWUnBiV1Z2ZFhRcElDMGdibTkzS0NrN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2gzYjNKclNXNVFjbTluY21WemMxSnZiM1JNWVhSbGMzUlFjbTlqWlhOelpXUkZlSEJwY21GMGFXOXVWR2x0WlNBOVBUMGdVM2x1WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJ6YUc5MWJHUWdibVYyWlhJZ2JtOXliV0ZzYkhrZ2FHRndjR1Z1SUdKbFkyRjFjMlVnYjI1c2VTQnVaWGNnZFhCa1lYUmxjMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdZMkYxYzJVZ1pHVnNZWGxsWkNCemRHRjBaWE1zSUhOdklIZGxJSE5vYjNWc1pDQm9ZWFpsSUhCeWIyTmxjM05sWkNCemIyMWxkR2hwYm1jdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCSWIzZGxkbVZ5TENCMGFHbHpJR052ZFd4a0lHRnNjMjhnYUdGd2NHVnVJR2x1SUdGdUlHOW1abk5qY21WbGJpQjBjbVZsTGx4dUlDQWdJQ0FnSUNBZ0lDQWdYMjF6Vlc1MGFXeFVhVzFsYjNWMElEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2QyVWdaRzl1SjNRZ2FHRjJaU0JoSUhOMWMzQmxibk5sSUdOdmJtWnBaeXdnZDJVbmNtVWdaMjlwYm1jZ2RHOGdkWE5sSUdGY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdobGRYSnBjM1JwWXlCMGJ5QmtaWFJsY20xcGJtVWdhRzkzSUd4dmJtY2dkMlVnWTJGdUlITjFjM0JsYm1RdVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1pYWmxiblJVYVcxbFRYTWdQU0JwYm1abGNsUnBiV1ZHY205dFJYaHdhWEpoZEdsdmJsUnBiV1VvZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVEdGMFpYTjBVSEp2WTJWemMyVmtSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHTjFjbkpsYm5SVWFXMWxUWE1nUFNCdWIzY29LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUIwYVcxbFZXNTBhV3hGZUhCcGNtRjBhVzl1VFhNZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlZSdlRYTW9aWGh3YVhKaGRHbHZibFJwYldVcElDMGdZM1Z5Y21WdWRGUnBiV1ZOY3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCMGFXMWxSV3hoY0hObFpDQTlJR04xY25KbGJuUlVhVzFsVFhNZ0xTQmxkbVZ1ZEZScGJXVk5jenRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hScGJXVkZiR0Z3YzJWa0lEd2dNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTQm5aWFFnZEdocGN5QjNjbTl1WnlCemIyMWxJSFJwYldVZ2MybHVZMlVnZDJVZ1pYTjBhVzFoZEdVZ2RHaGxJSFJwYldVdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGJXVkZiR0Z3YzJWa0lEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1gyMXpWVzUwYVd4VWFXMWxiM1YwSUQwZ2FtNWtLSFJwYldWRmJHRndjMlZrS1NBdElIUnBiV1ZGYkdGd2MyVmtPeUF2THlCRGJHRnRjQ0IwYUdVZ2RHbHRaVzkxZENCMGJ5QjBhR1VnWlhod2FYSmhkR2x2YmlCMGFXMWxMaUJVVDBSUE9pQlBibU5sSUhSb1pWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1pYWmxiblFnZEdsdFpTQnBjeUJsZUdGamRDQnBibk4wWldGa0lHOW1JR2x1Wm1WeWNtVmtJR1p5YjIwZ1pYaHdhWEpoZEdsdmJpQjBhVzFsWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIzWlNCa2IyNG5kQ0J1WldWa0lIUm9hWE11WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFXMWxWVzUwYVd4RmVIQnBjbUYwYVc5dVRYTWdQQ0JmYlhOVmJuUnBiRlJwYldWdmRYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdYMjF6Vlc1MGFXeFVhVzFsYjNWMElEMGdkR2x0WlZWdWRHbHNSWGh3YVhKaGRHbHZiazF6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgwZ0x5OGdSRzl1SjNRZ1ltOTBhR1Z5SUhkcGRHZ2dZU0IyWlhKNUlITm9iM0owSUhOMWMzQmxibk5sSUhScGJXVXVYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hmYlhOVmJuUnBiRlJwYldWdmRYUWdQaUF4TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaGxJSEpsYm1SbGNpQnBjeUJ6ZFhOd1pXNWtaV1FzSUdsMElHaGhjMjRuZENCMGFXMWxaQ0J2ZFhRc0lHRnVaQ0IwYUdWeVpTZHpJRzV2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYjNkbGNpQndjbWx2Y21sMGVTQjNiM0pySUhSdklHUnZMaUJKYm5OMFpXRmtJRzltSUdOdmJXMXBkSFJwYm1jZ2RHaGxJR1poYkd4aVlXTnJYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBiVzFsWkdsaGRHVnNlU3dnZDJGcGRDQm1iM0lnYlc5eVpTQmtZWFJoSUhSdklHRnljbWwyWlM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEp2YjNRdWRHbHRaVzkxZEVoaGJtUnNaU0E5SUhOamFHVmtkV3hsVkdsdFpXOTFkQ2hqYjIxdGFYUlNiMjkwTG1KcGJtUW9iblZzYkN3Z2NtOXZkQ2tzSUY5dGMxVnVkR2xzVkdsdFpXOTFkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBnTHk4Z1ZHaGxJSGR2Y21zZ1pYaHdhWEpsWkM0Z1EyOXRiV2wwSUdsdGJXVmthV0YwWld4NUxseHVYRzVjYmlBZ0lDQWdJQ0FnWTI5dGJXbDBVbTl2ZENoeWIyOTBLVHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUZKdmIzUkRiMjF3YkdWMFpXUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb1pTQjNiM0pySUdOdmJYQnNaWFJsWkM0Z1VtVmhaSGtnZEc4Z1kyOXRiV2wwTGx4dUlDQWdJQ0FnSUNCcFppQW9JQzh2SUdSdklHNXZkQ0JrWld4aGVTQnBaaUIzWlNkeVpTQnBibk5wWkdVZ1lXNGdZV04wS0NrZ2MyTnZjR1ZjYmlBZ0lDQWdJQ0FnSVNnZ1NYTlVhR2x6VW1WdVpHVnlaWEpCWTNScGJtY3VZM1Z5Y21WdWRDa2dKaVlnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVEdGMFpYTjBVSEp2WTJWemMyVmtSWGh3YVhKaGRHbHZibFJwYldVZ0lUMDlJRk41Ym1NZ0ppWWdkMjl5YTBsdVVISnZaM0psYzNOU2IyOTBRMkZ1VTNWemNHVnVaRlZ6YVc1blEyOXVabWxuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2QyVWdhR0YyWlNCbGVHTmxaV1JsWkNCMGFHVWdiV2x1YVcxMWJTQnNiMkZrYVc1bklHUmxiR0Y1TENCM2FHbGphQ0J3Y205aVlXSnNlVnh1SUNBZ0lDQWdJQ0FnSUM4dklHMWxZVzV6SUhkbElHaGhkbVVnYzJodmQyNGdZU0J6Y0dsdWJtVnlJR0ZzY21WaFpIa3NJSGRsSUcxcFoyaDBJR2hoZG1VZ2RHOGdjM1Z6Y0dWdVpGeHVJQ0FnSUNBZ0lDQWdJQzh2SUdFZ1ltbDBJR3h2Ym1kbGNpQjBieUJsYm5OMWNtVWdkR2hoZENCMGFHVWdjM0JwYm01bGNpQnBjeUJ6YUc5M2JpQm1iM0pjYmlBZ0lDQWdJQ0FnSUNBdkx5QmxibTkxWjJnZ2RHbHRaUzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYMjF6Vlc1MGFXeFVhVzFsYjNWME1pQTlJR052YlhCMWRHVk5jMVZ1ZEdsc1UzVnpjR1Z1YzJWTWIyRmthVzVuUkdWc1lYa29kMjl5YTBsdVVISnZaM0psYzNOU2IyOTBUR0YwWlhOMFVISnZZMlZ6YzJWa1JYaHdhWEpoZEdsdmJsUnBiV1VzSUdWNGNHbHlZWFJwYjI1VWFXMWxMQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JEWVc1VGRYTndaVzVrVlhOcGJtZERiMjVtYVdjcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tGOXRjMVZ1ZEdsc1ZHbHRaVzkxZERJZ1BpQXhNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiV0Z5YTFKdmIzUlRkWE53Wlc1a1pXUkJkRlJwYldVb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtOXZkQzUwYVcxbGIzVjBTR0Z1Wkd4bElEMGdjMk5vWldSMWJHVlVhVzFsYjNWMEtHTnZiVzFwZEZKdmIzUXVZbWx1WkNodWRXeHNMQ0J5YjI5MEtTd2dYMjF6Vlc1MGFXeFVhVzFsYjNWME1pazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYjIxdGFYUlNiMjkwS0hKdmIzUXBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVmJtdHViM2R1SUhKdmIzUWdaWGhwZENCemRHRjBkWE11WENJZ0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdmVnh1ZlNBdkx5QlVhR2x6SUdseklIUm9aU0JsYm5SeWVTQndiMmx1ZENCbWIzSWdjM2x1WTJoeWIyNXZkWE1nZEdGemEzTWdkR2hoZENCa2IyNG5kQ0JuYjF4dUx5OGdkR2h5YjNWbmFDQlRZMmhsWkhWc1pYSmNibHh1WEc1bWRXNWpkR2x2YmlCd1pYSm1iM0p0VTNsdVkxZHZjbXRQYmxKdmIzUW9jbTl2ZENrZ2UxeHVJQ0F2THlCRGFHVmpheUJwWmlCMGFHVnlaU2R6SUdWNGNHbHlaV1FnZDI5eWF5QnZiaUIwYUdseklISnZiM1F1SUU5MGFHVnlkMmx6WlN3Z2NtVnVaR1Z5SUdGMElGTjVibU11WEc0Z0lIWmhjaUJzWVhOMFJYaHdhWEpsWkZScGJXVWdQU0J5YjI5MExteGhjM1JGZUhCcGNtVmtWR2x0WlR0Y2JpQWdkbUZ5SUdWNGNHbHlZWFJwYjI1VWFXMWxJRDBnYkdGemRFVjRjR2x5WldSVWFXMWxJQ0U5UFNCT2IxZHZjbXNnUHlCc1lYTjBSWGh3YVhKbFpGUnBiV1VnT2lCVGVXNWpPMXh1WEc0Z0lHbG1JQ2doS0NobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUNZZ0tGSmxibVJsY2tOdmJuUmxlSFFnZkNCRGIyMXRhWFJEYjI1MFpYaDBLU2tnUFQwOUlFNXZRMjl1ZEdWNGRDa3BJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVGFHOTFiR1FnYm05MElHRnNjbVZoWkhrZ1ltVWdkMjl5YTJsdVp5NWNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdac2RYTm9VR0Z6YzJsMlpVVm1abVZqZEhNb0tUc2dMeThnU1dZZ2RHaGxJSEp2YjNRZ2IzSWdaWGh3YVhKaGRHbHZiaUIwYVcxbElHaGhkbVVnWTJoaGJtZGxaQ3dnZEdoeWIzY2diM1YwSUhSb1pTQmxlR2x6ZEdsdVp5QnpkR0ZqYTF4dUlDQXZMeUJoYm1RZ2NISmxjR0Z5WlNCaElHWnlaWE5vSUc5dVpTNGdUM1JvWlhKM2FYTmxJSGRsSjJ4c0lHTnZiblJwYm5WbElIZG9aWEpsSUhkbElHeGxablFnYjJabUxseHVYRzRnSUdsbUlDaHliMjkwSUNFOVBTQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdmSHdnWlhod2FYSmhkR2x2YmxScGJXVWdJVDA5SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEpERXBJSHRjYmlBZ0lDQndjbVZ3WVhKbFJuSmxjMmhUZEdGamF5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdjM1JoY25SWGIzSnJUMjVRWlc1a2FXNW5TVzUwWlhKaFkzUnBiMjV6S0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnZlNBdkx5QkpaaUIzWlNCb1lYWmxJR0VnZDI5eWF5MXBiaTF3Y205bmNtVnpjeUJtYVdKbGNpd2dhWFFnYldWaGJuTWdkR2hsY21VbmN5QnpkR2xzYkNCM2IzSnJJSFJ2SUdSdlhHNGdJQzh2SUdsdUlIUm9hWE1nY205dmRDNWNibHh1WEc0Z0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIWmhjaUJ3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlHVjRaV04xZEdsdmJrTnZiblJsZUhRN1hHNGdJQ0FnWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0I4UFNCU1pXNWtaWEpEYjI1MFpYaDBPMXh1SUNBZ0lIWmhjaUJ3Y21WMlJHbHpjR0YwWTJobGNpQTlJSEIxYzJoRWFYTndZWFJqYUdWeUtDazdYRzRnSUNBZ2RtRnlJSEJ5WlhaSmJuUmxjbUZqZEdsdmJuTWdQU0J3ZFhOb1NXNTBaWEpoWTNScGIyNXpLSEp2YjNRcE8xeHVJQ0FnSUhOMFlYSjBWMjl5YTB4dmIzQlVhVzFsY2loM2IzSnJTVzVRY205bmNtVnpjeWs3WEc1Y2JpQWdJQ0JrYnlCN1hHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0IzYjNKclRHOXZjRk41Ym1Nb0tUdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNoMGFISnZkMjVXWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0JvWVc1a2JHVkZjbkp2Y2loeWIyOTBMQ0IwYUhKdmQyNVdZV3gxWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCM2FHbHNaU0FvZEhKMVpTazdYRzVjYmlBZ0lDQnlaWE5sZEVOdmJuUmxlSFJFWlhCbGJtUmxibU5wWlhNb0tUdGNiaUFnSUNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwZ2NISmxka1Y0WldOMWRHbHZia052Ym5SbGVIUTdYRzRnSUNBZ2NHOXdSR2x6Y0dGMFkyaGxjaWh3Y21WMlJHbHpjR0YwWTJobGNpazdYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQndiM0JKYm5SbGNtRmpkR2x2Ym5Nb2NISmxka2x1ZEdWeVlXTjBhVzl1Y3lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFVjRhWFJUZEdGMGRYTWdQVDA5SUZKdmIzUkdZWFJoYkVWeWNtOXlaV1FwSUh0Y2JpQWdJQ0FnSUhaaGNpQm1ZWFJoYkVWeWNtOXlJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwUm1GMFlXeEZjbkp2Y2p0Y2JpQWdJQ0FnSUhOMGIzQkpiblJsY25KMWNIUmxaRmR2Y210TWIyOXdWR2x0WlhJb0tUdGNiaUFnSUNBZ0lIQnlaWEJoY21WR2NtVnphRk4wWVdOcktISnZiM1FzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJRzFoY210U2IyOTBVM1Z6Y0dWdVpHVmtRWFJVYVcxbEtISnZiM1FzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJR1Z1YzNWeVpWSnZiM1JKYzFOamFHVmtkV3hsWkNoeWIyOTBLVHRjYmlBZ0lDQWdJSFJvY205M0lHWmhkR0ZzUlhKeWIzSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOeklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJVYUdseklHbHpJR0VnYzNsdVl5QnlaVzVrWlhJc0lITnZJSGRsSUhOb2IzVnNaQ0JvWVhabElHWnBibWx6YUdWa0lIUm9aU0IzYUc5c1pTQjBjbVZsTGx4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVEyRnVibTkwSUdOdmJXMXBkQ0JoYmlCcGJtTnZiWEJzWlhSbElISnZiM1F1SUZSb2FYTWdaWEp5YjNJZ2FYTWdiR2xyWld4NUlHTmhkWE5sWkNCaWVTQmhJR0oxWnlCcGJpQlNaV0ZqZEM0Z1VHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCWFpTQnViM2NnYUdGMlpTQmhJR052Ym5OcGMzUmxiblFnZEhKbFpTNGdRbVZqWVhWelpTQjBhR2x6SUdseklHRWdjM2x1WXlCeVpXNWtaWElzSUhkbFhHNGdJQ0FnSUNBdkx5QjNhV3hzSUdOdmJXMXBkQ0JwZENCbGRtVnVJR2xtSUhOdmJXVjBhR2x1WnlCemRYTndaVzVrWldRdVhHNGdJQ0FnSUNCemRHOXdSbWx1YVhOb1pXUlhiM0pyVEc5dmNGUnBiV1Z5S0NrN1hHNGdJQ0FnSUNCeWIyOTBMbVpwYm1semFHVmtWMjl5YXlBOUlISnZiM1F1WTNWeWNtVnVkQzVoYkhSbGNtNWhkR1U3WEc0Z0lDQWdJQ0J5YjI5MExtWnBibWx6YUdWa1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJR1pwYm1semFGTjVibU5TWlc1a1pYSW9jbTl2ZENrN1hHNGdJQ0FnZlNBdkx5QkNaV1p2Y21VZ1pYaHBkR2x1Wnl3Z2JXRnJaU0J6ZFhKbElIUm9aWEpsSjNNZ1lTQmpZV3hzWW1GamF5QnpZMmhsWkhWc1pXUWdabTl5SUhSb1pTQnVaWGgwWEc0Z0lDQWdMeThnY0dWdVpHbHVaeUJzWlhabGJDNWNibHh1WEc0Z0lDQWdaVzV6ZFhKbFVtOXZkRWx6VTJOb1pXUjFiR1ZrS0hKdmIzUXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdacGJtbHphRk41Ym1OU1pXNWtaWElvY205dmRDa2dlMXh1SUNBdkx5QlRaWFFnZEdocGN5QjBieUJ1ZFd4c0lIUnZJR2x1WkdsallYUmxJSFJvWlhKbEozTWdibThnYVc0dGNISnZaM0psYzNNZ2NtVnVaR1Z5TGx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdQU0J1ZFd4c08xeHVJQ0JqYjIxdGFYUlNiMjkwS0hKdmIzUXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1pteDFjMmhFYVhOamNtVjBaVlZ3WkdGMFpYTW9LU0I3WEc0Z0lDOHZJRlJQUkU4NklGTm9iM1ZzWkNCaVpTQmhZbXhsSUhSdklHWnNkWE5vSUdsdWMybGtaU0JpWVhSamFHVmtWWEJrWVhSbGN5d2dZblYwSUc1dmRDQnBibk5wWkdVZ1lHRmpkR0F1WEc0Z0lDOHZJRWh2ZDJWMlpYSXNJR0JoWTNSZ0lIVnpaWE1nWUdKaGRHTm9aV1JWY0dSaGRHVnpZQ3dnYzI4Z2RHaGxjbVVuY3lCdWJ5QjNZWGtnZEc4Z1pHbHpkR2x1WjNWcGMyaGNiaUFnTHk4Z2RHaHZjMlVnZEhkdklHTmhjMlZ6TGlCT1pXVmtJSFJ2SUdacGVDQjBhR2x6SUdKbFptOXlaU0JsZUhCdmMybHVaeUJtYkhWemFFUnBjMk55WlhSbFZYQmtZWFJsYzF4dUlDQXZMeUJoY3lCaElIQjFZbXhwWXlCQlVFa3VYRzRnSUdsbUlDZ29aWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQW1JQ2hDWVhSamFHVmtRMjl1ZEdWNGRDQjhJRkpsYm1SbGNrTnZiblJsZUhRZ2ZDQkRiMjF0YVhSRGIyNTBaWGgwS1NrZ0lUMDlJRTV2UTI5dWRHVjRkQ2tnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNnb1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBbUlGSmxibVJsY2tOdmJuUmxlSFFwSUNFOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KM1Z1YzNSaFlteGxYMlpzZFhOb1JHbHpZM0psZEdWVmNHUmhkR1Z6T2lCRFlXNXViM1FnWm14MWMyZ2dkWEJrWVhSbGN5QjNhR1Z1SUZKbFlXTjBJR2x6SUNjZ0t5QW5ZV3h5WldGa2VTQnlaVzVrWlhKcGJtY3VKeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0F2THlCWFpTZHlaU0JoYkhKbFlXUjVJSEpsYm1SbGNtbHVaeXdnYzI4Z2QyVWdZMkZ1SjNRZ2MzbHVZMmh5YjI1dmRYTnNlU0JtYkhWemFDQndaVzVrYVc1bklIZHZjbXN1WEc0Z0lDQWdMeThnVkdocGN5QnBjeUJ3Y205aVlXSnNlU0JoSUc1bGMzUmxaQ0JsZG1WdWRDQmthWE53WVhSamFDQjBjbWxuWjJWeVpXUWdZbmtnWVNCc2FXWmxZM2xqYkdVdlpXWm1aV04wTEZ4dUlDQWdJQzh2SUd4cGEyVWdZR1ZzTG1adlkzVnpLQ2xnTGlCRmVHbDBMbHh1WEc1Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JtYkhWemFGQmxibVJwYm1kRWFYTmpjbVYwWlZWd1pHRjBaWE1vS1RzZ0x5OGdTV1lnZEdobElHUnBjMk55WlhSbElIVndaR0YwWlhNZ2MyTm9aV1IxYkdWa0lIQmhjM05wZG1VZ1pXWm1aV04wY3l3Z1pteDFjMmdnZEdobGJTQnViM2NnYzI4Z2RHaGhkRnh1SUNBdkx5QjBhR1Y1SUdacGNtVWdZbVZtYjNKbElIUm9aU0J1WlhoMElITmxjbWxoYkNCbGRtVnVkQzVjYmx4dUlDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc1OVhHNW1kVzVqZEdsdmJpQnplVzVqVlhCa1lYUmxjeWhtYml3Z1lTd2dZaXdnWXlrZ2UxeHVJQ0J5WlhSMWNtNGdjblZ1VjJsMGFGQnlhVzl5YVhSNUpERW9TVzF0WldScFlYUmxVSEpwYjNKcGRIa3NJR1p1TG1KcGJtUW9iblZzYkN3Z1lTd2dZaXdnWXlrcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWJIVnphRkJsYm1ScGJtZEVhWE5qY21WMFpWVndaR0YwWlhNb0tTQjdYRzRnSUdsbUlDaHliMjkwYzFkcGRHaFFaVzVrYVc1blJHbHpZM0psZEdWVmNHUmhkR1Z6SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1JtOXlJR1ZoWTJnZ2NtOXZkQ0IzYVhSb0lIQmxibVJwYm1jZ1pHbHpZM0psZEdVZ2RYQmtZWFJsY3l3Z2MyTm9aV1IxYkdVZ1lTQmpZV3hzWW1GamF5QjBiMXh1SUNBZ0lDOHZJR2x0YldWa2FXRjBaV3g1SUdac2RYTm9JSFJvWlcwdVhHNGdJQ0FnZG1GeUlISnZiM1J6SUQwZ2NtOXZkSE5YYVhSb1VHVnVaR2x1WjBScGMyTnlaWFJsVlhCa1lYUmxjenRjYmlBZ0lDQnliMjkwYzFkcGRHaFFaVzVrYVc1blJHbHpZM0psZEdWVmNHUmhkR1Z6SUQwZ2JuVnNiRHRjYmlBZ0lDQnliMjkwY3k1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNobGVIQnBjbUYwYVc5dVZHbHRaU3dnY205dmRDa2dlMXh1SUNBZ0lDQWdiV0Z5YTFKdmIzUkZlSEJwY21Wa1FYUlVhVzFsS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lHVnVjM1Z5WlZKdmIzUkpjMU5qYUdWa2RXeGxaQ2h5YjI5MEtUdGNiaUFnSUNCOUtUc2dMeThnVG05M0lHWnNkWE5vSUhSb1pTQnBiVzFsWkdsaGRHVWdjWFZsZFdVdVhHNWNiaUFnSUNCbWJIVnphRk41Ym1ORFlXeHNZbUZqYTFGMVpYVmxLQ2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRjBZMmhsWkZWd1pHRjBaWE1rTVNobWJpd2dZU2tnZTF4dUlDQjJZWElnY0hKbGRrVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQmxlR1ZqZFhScGIyNURiMjUwWlhoME8xeHVJQ0JsZUdWamRYUnBiMjVEYjI1MFpYaDBJSHc5SUVKaGRHTm9aV1JEYjI1MFpYaDBPMXh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWnVLR0VwTzF4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lHVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQndjbVYyUlhobFkzVjBhVzl1UTI5dWRHVjRkRHRjYmx4dUlDQWdJR2xtSUNobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQzh2SUVac2RYTm9JSFJvWlNCcGJXMWxaR2xoZEdVZ1kyRnNiR0poWTJ0eklIUm9ZWFFnZDJWeVpTQnpZMmhsWkhWc1pXUWdaSFZ5YVc1bklIUm9hWE1nWW1GMFkyaGNiaUFnSUNBZ0lHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdKaGRHTm9aV1JGZG1WdWRGVndaR0YwWlhNa01TaG1iaXdnWVNrZ2UxeHVJQ0IyWVhJZ2NISmxka1Y0WldOMWRHbHZia052Ym5SbGVIUWdQU0JsZUdWamRYUnBiMjVEYjI1MFpYaDBPMXh1SUNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwSUh3OUlFVjJaVzUwUTI5dWRHVjRkRHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQm1iaWhoS1R0Y2JpQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQmxlR1ZqZFhScGIyNURiMjUwWlhoMElEMGdjSEpsZGtWNFpXTjFkR2x2YmtOdmJuUmxlSFE3WEc1Y2JpQWdJQ0JwWmlBb1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOVBUMGdUbTlEYjI1MFpYaDBLU0I3WEc0Z0lDQWdJQ0F2THlCR2JIVnphQ0IwYUdVZ2FXMXRaV1JwWVhSbElHTmhiR3hpWVdOcmN5QjBhR0YwSUhkbGNtVWdjMk5vWldSMWJHVmtJR1IxY21sdVp5QjBhR2x6SUdKaGRHTm9YRzRnSUNBZ0lDQm1iSFZ6YUZONWJtTkRZV3hzWW1GamExRjFaWFZsS0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCa2FYTmpjbVYwWlZWd1pHRjBaWE1rTVNobWJpd2dZU3dnWWl3Z1l5d2daQ2tnZTF4dUlDQjJZWElnY0hKbGRrVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQmxlR1ZqZFhScGIyNURiMjUwWlhoME8xeHVJQ0JsZUdWamRYUnBiMjVEYjI1MFpYaDBJSHc5SUVScGMyTnlaWFJsUlhabGJuUkRiMjUwWlhoME8xeHVYRzRnSUhSeWVTQjdYRzRnSUNBZ0x5OGdVMmh2ZFd4a0lIUm9hWE5jYmlBZ0lDQnlaWFIxY200Z2NuVnVWMmwwYUZCeWFXOXlhWFI1SkRFb1ZYTmxja0pzYjJOcmFXNW5VSEpwYjNKcGRIa2tNU3dnWm00dVltbHVaQ2h1ZFd4c0xDQmhMQ0JpTENCakxDQmtLU2s3WEc0Z0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlIQnlaWFpGZUdWamRYUnBiMjVEYjI1MFpYaDBPMXh1WEc0Z0lDQWdhV1lnS0dWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFQwOUlFNXZRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdMeThnUm14MWMyZ2dkR2hsSUdsdGJXVmthV0YwWlNCallXeHNZbUZqYTNNZ2RHaGhkQ0IzWlhKbElITmphR1ZrZFd4bFpDQmtkWEpwYm1jZ2RHaHBjeUJpWVhSamFGeHVJQ0FnSUNBZ1pteDFjMmhUZVc1alEyRnNiR0poWTJ0UmRXVjFaU2dwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnZFc1aVlYUmphR1ZrVlhCa1lYUmxjeWhtYml3Z1lTa2dlMXh1SUNCMllYSWdjSEpsZGtWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwTzF4dUlDQmxlR1ZqZFhScGIyNURiMjUwWlhoMElDWTlJSDVDWVhSamFHVmtRMjl1ZEdWNGREdGNiaUFnWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0I4UFNCTVpXZGhZM2xWYm1KaGRHTm9aV1JEYjI1MFpYaDBPMXh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWnVLR0VwTzF4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lHVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQndjbVYyUlhobFkzVjBhVzl1UTI5dWRHVjRkRHRjYmx4dUlDQWdJR2xtSUNobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQzh2SUVac2RYTm9JSFJvWlNCcGJXMWxaR2xoZEdVZ1kyRnNiR0poWTJ0eklIUm9ZWFFnZDJWeVpTQnpZMmhsWkhWc1pXUWdaSFZ5YVc1bklIUm9hWE1nWW1GMFkyaGNiaUFnSUNBZ0lHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdac2RYTm9VM2x1WXlobWJpd2dZU2tnZTF4dUlDQnBaaUFvS0dWNFpXTjFkR2x2YmtOdmJuUmxlSFFnSmlBb1VtVnVaR1Z5UTI5dWRHVjRkQ0I4SUVOdmJXMXBkRU52Ym5SbGVIUXBLU0FoUFQwZ1RtOURiMjUwWlhoMEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKbWJIVnphRk41Ym1NZ2QyRnpJR05oYkd4bFpDQm1jbTl0SUdsdWMybGtaU0JoSUd4cFptVmplV05zWlNCdFpYUm9iMlF1SUVsMElHTmhibTV2ZENCaVpTQmpZV3hzWldRZ2QyaGxiaUJTWldGamRDQnBjeUJoYkhKbFlXUjVJSEpsYm1SbGNtbHVaeTVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlHVjRaV04xZEdsdmJrTnZiblJsZUhRN1hHNGdJR1Y0WldOMWRHbHZia052Ym5SbGVIUWdmRDBnUW1GMFkyaGxaRU52Ym5SbGVIUTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnlaWFIxY200Z2NuVnVWMmwwYUZCeWFXOXlhWFI1SkRFb1NXMXRaV1JwWVhSbFVISnBiM0pwZEhrc0lHWnVMbUpwYm1Rb2JuVnNiQ3dnWVNrcE8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJR1Y0WldOMWRHbHZia052Ym5SbGVIUWdQU0J3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZERzZ0x5OGdSbXgxYzJnZ2RHaGxJR2x0YldWa2FXRjBaU0JqWVd4c1ltRmphM01nZEdoaGRDQjNaWEpsSUhOamFHVmtkV3hsWkNCa2RYSnBibWNnZEdocGN5QmlZWFJqYUM1Y2JpQWdJQ0F2THlCT2IzUmxJSFJvWVhRZ2RHaHBjeUIzYVd4c0lHaGhjSEJsYmlCbGRtVnVJR2xtSUdKaGRHTm9aV1JWY0dSaGRHVnpJR2x6SUdocFoyaGxjaUIxY0Z4dUlDQWdJQzh2SUhSb1pTQnpkR0ZqYXk1Y2JseHVJQ0FnSUdac2RYTm9VM2x1WTBOaGJHeGlZV05yVVhWbGRXVW9LVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2NtVndZWEpsUm5KbGMyaFRkR0ZqYXloeWIyOTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCeWIyOTBMbVpwYm1semFHVmtWMjl5YXlBOUlHNTFiR3c3WEc0Z0lISnZiM1F1Wm1sdWFYTm9aV1JGZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZG1GeUlIUnBiV1Z2ZFhSSVlXNWtiR1VnUFNCeWIyOTBMblJwYldWdmRYUklZVzVrYkdVN1hHNWNiaUFnYVdZZ0tIUnBiV1Z2ZFhSSVlXNWtiR1VnSVQwOUlHNXZWR2x0Wlc5MWRDa2dlMXh1SUNBZ0lDOHZJRlJvWlNCeWIyOTBJSEJ5WlhacGIzVnpJSE4xYzNCbGJtUmxaQ0JoYm1RZ2MyTm9aV1IxYkdWa0lHRWdkR2x0Wlc5MWRDQjBieUJqYjIxdGFYUWdZU0JtWVd4c1ltRmphMXh1SUNBZ0lDOHZJSE4wWVhSbExpQk9iM2NnZEdoaGRDQjNaU0JvWVhabElHRmtaR2wwYVc5dVlXd2dkMjl5YXl3Z1kyRnVZMlZzSUhSb1pTQjBhVzFsYjNWMExseHVJQ0FnSUhKdmIzUXVkR2x0Wlc5MWRFaGhibVJzWlNBOUlHNXZWR2x0Wlc5MWREc2dMeThnSkVac2IzZEdhWGhOWlNCRGIyMXdiR0ZwYm5NZ2JtOVVhVzFsYjNWMElHbHpJRzV2ZENCaElGUnBiV1Z2ZFhSSlJDd2daR1Z6Y0dsMFpTQjBhR1VnWTJobFkyc2dZV0p2ZG1WY2JseHVJQ0FnSUdOaGJtTmxiRlJwYldWdmRYUW9kR2x0Wlc5MWRFaGhibVJzWlNrN1hHNGdJSDFjYmx4dUlDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjJZWElnYVc1MFpYSnlkWEIwWldSWGIzSnJJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjbVYwZFhKdU8xeHVYRzRnSUNBZ2QyaHBiR1VnS0dsdWRHVnljblZ3ZEdWa1YyOXlheUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZFc1M2FXNWtTVzUwWlhKeWRYQjBaV1JYYjNKcktHbHVkR1Z5Y25Wd2RHVmtWMjl5YXlrN1hHNGdJQ0FnSUNCcGJuUmxjbkoxY0hSbFpGZHZjbXNnUFNCcGJuUmxjbkoxY0hSbFpGZHZjbXN1Y21WMGRYSnVPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkQ0E5SUhKdmIzUTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpJRDBnWTNKbFlYUmxWMjl5YTBsdVVISnZaM0psYzNNb2NtOXZkQzVqZFhKeVpXNTBMQ0J1ZFd4c0tUdGNiaUFnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TQTlJR1Y0Y0dseVlYUnBiMjVVYVcxbE8xeHVJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwZ1VtOXZkRWx1WTI5dGNHeGxkR1U3WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFWmhkR0ZzUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JNWVhSbGMzUlFjbTlqWlhOelpXUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlGTjVibU03WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFeGhkR1Z6ZEZOMWMzQmxibk5sVkdsdFpXOTFkQ0E5SUZONWJtTTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEVOaGJsTjFjM0JsYm1SVmMybHVaME52Ym1acFp5QTlJRzUxYkd3N1hHNGdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRTVsZUhSVmJuQnliMk5sYzNObFpGVndaR0YwWlZScGJXVWdQU0JPYjFkdmNtczdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEVoaGMxQmxibVJwYm1kUWFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ2UxeHVJQ0FnSUhOd1lYZHVaV1JYYjNKclJIVnlhVzVuVW1WdVpHVnlJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQlNaV0ZqZEZOMGNtbGpkRTF2WkdWWFlYSnVhVzVuY3k1a2FYTmpZWEprVUdWdVpHbHVaMWRoY201cGJtZHpLQ2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FHRnVaR3hsUlhKeWIzSW9jbTl2ZEN3Z2RHaHliM2R1Vm1Gc2RXVXBJSHRjYmlBZ1pHOGdlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlCU1pYTmxkQ0J0YjJSMWJHVXRiR1YyWld3Z2MzUmhkR1VnZEdoaGRDQjNZWE1nYzJWMElHUjFjbWx1WnlCMGFHVWdjbVZ1WkdWeUlIQm9ZWE5sTGx4dUlDQWdJQ0FnY21WelpYUkRiMjUwWlhoMFJHVndaVzVrWlc1amFXVnpLQ2s3WEc0Z0lDQWdJQ0J5WlhObGRFaHZiMnR6UVdaMFpYSlVhSEp2ZHlncE8xeHVJQ0FnSUNBZ2NtVnpaWFJEZFhKeVpXNTBSbWxpWlhJb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpJRDA5UFNCdWRXeHNJSHg4SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsZEhWeWJpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCRmVIQmxZM1JsWkNCMGJ5QmlaU0IzYjNKcmFXNW5JRzl1SUdFZ2JtOXVMWEp2YjNRZ1ptbGlaWEl1SUZSb2FYTWdhWE1nWVNCbVlYUmhiQ0JsY25KdmNseHVJQ0FnSUNBZ0lDQXZMeUJpWldOaGRYTmxJSFJvWlhKbEozTWdibThnWVc1alpYTjBiM0lnZEdoaGRDQmpZVzRnYUdGdVpHeGxJR2wwT3lCMGFHVWdjbTl2ZENCcGMxeHVJQ0FnSUNBZ0lDQXZMeUJ6ZFhCd2IzTmxaQ0IwYnlCallYQjBkWEpsSUdGc2JDQmxjbkp2Y25NZ2RHaGhkQ0IzWlhKbGJpZDBJR05oZFdkb2RDQmllU0JoYmlCbGNuSnZjbHh1SUNBZ0lDQWdJQ0F2THlCaWIzVnVaR0Z5ZVM1Y2JpQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFJYaHBkRk4wWVhSMWN5QTlJRkp2YjNSR1lYUmhiRVZ5Y205eVpXUTdYRzRnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVpoZEdGc1JYSnliM0lnUFNCMGFISnZkMjVXWVd4MVpUc2dMeThnVTJWMElHQjNiM0pyU1c1UWNtOW5jbVZ6YzJBZ2RHOGdiblZzYkM0Z1ZHaHBjeUJ5WlhCeVpYTmxiblJ6SUdGa2RtRnVZMmx1WnlCMGJ5QjBhR1VnYm1WNGRGeHVJQ0FnSUNBZ0lDQXZMeUJ6YVdKc2FXNW5MQ0J2Y2lCMGFHVWdjR0Z5Wlc1MElHbG1JSFJvWlhKbElHRnlaU0J1YnlCemFXSnNhVzVuY3k0Z1FuVjBJSE5wYm1ObElIUm9aU0J5YjI5MFhHNGdJQ0FnSUNBZ0lDOHZJR2hoY3lCdWJ5QnphV0pzYVc1bmN5QnViM0lnWVNCd1lYSmxiblFzSUhkbElITmxkQ0JwZENCMGJ5QnVkV3hzTGlCVmMzVmhiR3g1SUhSb2FYTWdhWE5jYmlBZ0lDQWdJQ0FnTHk4Z2FHRnVaR3hsWkNCaWVTQmdZMjl0Y0d4bGRHVlZibWwwVDJaWGIzSnJZQ0J2Y2lCZ2RXNTNhVzVrVjI5eWEyQXNJR0oxZENCemFXNWpaU0IzWlNkeVpWeHVJQ0FnSUNBZ0lDQXZMeUJwYm5SbGNtNTBhVzl1WVd4c2VTQnViM1FnWTJGc2JHbHVaeUIwYUc5elpTd2dkMlVnYm1WbFpDQnpaWFFnYVhRZ2FHVnlaUzVjYmlBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nUTI5dWMybGtaWElnWTJGc2JHbHVaeUJnZFc1M2FXNWtWMjl5YTJBZ2RHOGdjRzl3SUhSb1pTQmpiMjUwWlhoMGN5NWNibHh1SUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1pXNWhZbXhsVUhKdlptbHNaWEpVYVcxbGNpQW1KaUIzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1VISnZabWxzWlUxdlpHVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1VtVmpiM0prSUhSb1pTQjBhVzFsSUhOd1pXNTBJSEpsYm1SbGNtbHVaeUJpWldadmNtVWdZVzRnWlhKeWIzSWdkMkZ6SUhSb2NtOTNiaTRnVkdocGMxeHVJQ0FnSUNBZ0lDQXZMeUJoZG05cFpITWdhVzVoWTJOMWNtRjBaU0JRY205bWFXeGxjaUJrZFhKaGRHbHZibk1nYVc0Z2RHaGxJR05oYzJVZ2IyWWdZVnh1SUNBZ0lDQWdJQ0F2THlCemRYTndaVzVrWldRZ2NtVnVaR1Z5TGx4dUlDQWdJQ0FnSUNCemRHOXdVSEp2Wm1sc1pYSlVhVzFsY2tsbVVuVnVibWx1WjBGdVpGSmxZMjl5WkVSbGJIUmhLSGR2Y210SmJsQnliMmR5WlhOekxDQjBjblZsS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHliM2RGZUdObGNIUnBiMjRvY205dmRDd2dkMjl5YTBsdVVISnZaM0psYzNNdWNtVjBkWEp1TENCM2IzSnJTVzVRY205bmNtVnpjeXdnZEdoeWIzZHVWbUZzZFdVc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTWdQU0JqYjIxd2JHVjBaVlZ1YVhSUFpsZHZjbXNvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tIbGxkRUZ1YjNSb1pYSlVhSEp2ZDI1V1lXeDFaU2tnZTF4dUlDQWdJQ0FnTHk4Z1UyOXRaWFJvYVc1bklHbHVJSFJvWlNCeVpYUjFjbTRnY0dGMGFDQmhiSE52SUhSb2NtVjNMbHh1SUNBZ0lDQWdkR2h5YjNkdVZtRnNkV1VnUFNCNVpYUkJibTkwYUdWeVZHaHliM2R1Vm1Gc2RXVTdYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNCOUlDOHZJRkpsZEhWeWJpQjBieUIwYUdVZ2JtOXliV0ZzSUhkdmNtc2diRzl2Y0M1Y2JseHVYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlJSGRvYVd4bElDaDBjblZsS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY0hWemFFUnBjM0JoZEdOb1pYSW9jbTl2ZENrZ2UxeHVJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlKREV1WTNWeWNtVnVkRHRjYmlBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaVF4TG1OMWNuSmxiblFnUFNCRGIyNTBaWGgwVDI1c2VVUnBjM0JoZEdOb1pYSTdYRzVjYmlBZ2FXWWdLSEJ5WlhaRWFYTndZWFJqYUdWeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWR2hsSUZKbFlXTjBJR2x6YjIxdmNuQm9hV01nY0dGamEyRm5aU0JrYjJWeklHNXZkQ0JwYm1Oc2RXUmxJR0VnWkdWbVlYVnNkQ0JrYVhOd1lYUmphR1Z5TGx4dUlDQWdJQzh2SUVsdWMzUmxZV1FnZEdobElHWnBjbk4wSUhKbGJtUmxjbVZ5SUhkcGJHd2diR0Y2YVd4NUlHRjBkR0ZqYUNCdmJtVXNJR2x1SUc5eVpHVnlJSFJ2SUdkcGRtVmNiaUFnSUNBdkx5QnVhV05sY2lCbGNuSnZjaUJ0WlhOellXZGxjeTVjYmlBZ0lDQnlaWFIxY200Z1EyOXVkR1Y0ZEU5dWJIbEVhWE53WVhSamFHVnlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQndjbVYyUkdsemNHRjBZMmhsY2p0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndiM0JFYVhOd1lYUmphR1Z5S0hCeVpYWkVhWE53WVhSamFHVnlLU0I3WEc0Z0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWElrTVM1amRYSnlaVzUwSUQwZ2NISmxka1JwYzNCaGRHTm9aWEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEIxYzJoSmJuUmxjbUZqZEdsdmJuTW9jbTl2ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhCeVpYWkpiblJsY21GamRHbHZibk1nUFNCMGNtRmphVzVuTGw5ZmFXNTBaWEpoWTNScGIyNXpVbVZtTG1OMWNuSmxiblE3WEc0Z0lDQWdkSEpoWTJsdVp5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1MElEMGdjbTl2ZEM1dFpXMXZhWHBsWkVsdWRHVnlZV04wYVc5dWN6dGNiaUFnSUNCeVpYUjFjbTRnY0hKbGRrbHVkR1Z5WVdOMGFXOXVjenRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2IzQkpiblJsY21GamRHbHZibk1vY0hKbGRrbHVkR1Z5WVdOMGFXOXVjeWtnZTF4dUlDQjdYRzRnSUNBZ2RISmhZMmx1Wnk1ZlgybHVkR1Z5WVdOMGFXOXVjMUpsWmk1amRYSnlaVzUwSUQwZ2NISmxka2x1ZEdWeVlXTjBhVzl1Y3p0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRZWEpyUTI5dGJXbDBWR2x0WlU5bVJtRnNiR0poWTJzb0tTQjdYRzRnSUdkc2IySmhiRTF2YzNSU1pXTmxiblJHWVd4c1ltRmphMVJwYldVZ1BTQnViM2NvS1R0Y2JuMWNibVoxYm1OMGFXOXVJRzFoY210U1pXNWtaWEpGZG1WdWRGUnBiV1ZCYm1SRGIyNW1hV2NvWlhod2FYSmhkR2x2YmxScGJXVXNJSE4xYzNCbGJuTmxRMjl1Wm1sbktTQjdYRzRnSUdsbUlDaGxlSEJwY21GMGFXOXVWR2x0WlNBOElIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFeGhkR1Z6ZEZCeWIyTmxjM05sWkVWNGNHbHlZWFJwYjI1VWFXMWxJQ1ltSUdWNGNHbHlZWFJwYjI1VWFXMWxJRDRnU1dSc1pTa2dlMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFeGhkR1Z6ZEZCeWIyTmxjM05sWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUgxY2JseHVJQ0JwWmlBb2MzVnpjR1Z1YzJWRGIyNW1hV2NnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb1pYaHdhWEpoZEdsdmJsUnBiV1VnUENCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSTVlYUmxjM1JUZFhOd1pXNXpaVlJwYldWdmRYUWdKaVlnWlhod2FYSmhkR2x2YmxScGJXVWdQaUJKWkd4bEtTQjdYRzRnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUk1ZWFJsYzNSVGRYTndaVzV6WlZScGJXVnZkWFFnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHNnTHk4Z1RXOXpkQ0J2WmlCMGFHVWdkR2x0WlNCM1pTQnZibXg1SUdoaGRtVWdiMjVsSUdOdmJtWnBaeUJoYm1RZ1oyVjBkR2x1WnlCM2NtOXVaeUJwY3lCdWIzUWdZbUZrTGx4dVhHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSRFlXNVRkWE53Wlc1a1ZYTnBibWREYjI1bWFXY2dQU0J6ZFhOd1pXNXpaVU52Ym1acFp6dGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRWYm5CeWIyTmxjM05sWkZWd1pHRjBaVlJwYldVb1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdhV1lnS0dWNGNHbHlZWFJwYjI1VWFXMWxJRDRnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVG1WNGRGVnVjSEp2WTJWemMyVmtWWEJrWVhSbFZHbHRaU2tnZTF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRTVsZUhSVmJuQnliMk5sYzNObFpGVndaR0YwWlZScGJXVWdQU0JsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjbVZ1WkdWeVJHbGtVM1Z6Y0dWdVpDZ3BJSHRjYmlBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1nUFQwOUlGSnZiM1JKYm1OdmJYQnNaWFJsS1NCN1hHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwUlhocGRGTjBZWFIxY3lBOUlGSnZiM1JUZFhOd1pXNWtaV1E3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhKbGJtUmxja1JwWkZOMWMzQmxibVJFWld4aGVVbG1VRzl6YzJsaWJHVW9LU0I3WEc0Z0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwOVBTQlNiMjkwU1c1amIyMXdiR1YwWlNCOGZDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUkZlR2wwVTNSaGRIVnpJRDA5UFNCU2IyOTBVM1Z6Y0dWdVpHVmtLU0I3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNOU2IyOTBSWGhwZEZOMFlYUjFjeUE5SUZKdmIzUlRkWE53Wlc1a1pXUlhhWFJvUkdWc1lYazdYRzRnSUgwZ0x5OGdRMmhsWTJzZ2FXWWdkR2hsY21VbmN5QmhJR3h2ZDJWeUlIQnlhVzl5YVhSNUlIVndaR0YwWlNCemIyMWxkMmhsY21VZ1pXeHpaU0JwYmlCMGFHVWdkSEpsWlM1Y2JseHVYRzRnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUk9aWGgwVlc1d2NtOWpaWE56WldSVmNHUmhkR1ZVYVcxbElDRTlQU0JPYjFkdmNtc2dKaVlnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1RXRnlheUIwYUdVZ1kzVnljbVZ1ZENCeVpXNWtaWElnWVhNZ2MzVnpjR1Z1WkdWa0xDQmhibVFnZEdobGJpQnRZWEpySUhSb1lYUWdkR2hsY21VbmN5QmhYRzRnSUNBZ0x5OGdjR1Z1WkdsdVp5QjFjR1JoZEdVdVhHNGdJQ0FnTHk4Z1ZFOUVUem9nVkdocGN5QnphRzkxYkdRZ2FXMXRaV1JwWVhSbGJIa2dhVzUwWlhKeWRYQjBJSFJvWlNCamRYSnlaVzUwSUhKbGJtUmxjaXdnYVc1emRHVmhaRnh1SUNBZ0lDOHZJRzltSUhkaGFYUnBibWNnZFc1MGFXd2dkR2hsSUc1bGVIUWdkR2x0WlNCM1pTQjVhV1ZzWkM1Y2JpQWdJQ0J0WVhKclVtOXZkRk4xYzNCbGJtUmxaRUYwVkdsdFpTaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsSkRFcE8xeHVJQ0FnSUcxaGNtdFNiMjkwVlhCa1lYUmxaRUYwVkdsdFpTaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUXNJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRTVsZUhSVmJuQnliMk5sYzNObFpGVndaR0YwWlZScGJXVXBPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ5Wlc1a1pYSkVhV1JGY25KdmNpZ3BJSHRjYmlBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1nSVQwOUlGSnZiM1JEYjIxd2JHVjBaV1FwSUh0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwZ1VtOXZkRVZ5Y205eVpXUTdYRzRnSUgxY2JuMGdMeThnUTJGc2JHVmtJR1IxY21sdVp5QnlaVzVrWlhJZ2RHOGdaR1YwWlhKdGFXNWxJR2xtSUdGdWVYUm9hVzVuSUdoaGN5QnpkWE53Wlc1a1pXUXVYRzR2THlCU1pYUjFjbTV6SUdaaGJITmxJR2xtSUhkbEozSmxJRzV2ZENCemRYSmxMbHh1WEc1bWRXNWpkR2x2YmlCeVpXNWtaWEpJWVhOT2IzUlRkWE53Wlc1a1pXUlpaWFFvS1NCN1hHNGdJQzh2SUVsbUlITnZiV1YwYUdsdVp5Qmxjbkp2Y21Wa0lHOXlJR052YlhCc1pYUmxaQ3dnZDJVZ1kyRnVKM1FnY21WaGJHeDVJR0psSUhOMWNtVXNYRzRnSUM4dklITnZJSFJvYjNObElHRnlaU0JtWVd4elpTNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1nUFQwOUlGSnZiM1JKYm1OdmJYQnNaWFJsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYm1abGNsUnBiV1ZHY205dFJYaHdhWEpoZEdsdmJsUnBiV1VvWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0x5OGdWMlVnWkc5dUozUWdhMjV2ZHlCbGVHRmpkR3g1SUhkb1pXNGdkR2hsSUhWd1pHRjBaU0IzWVhNZ2MyTm9aV1IxYkdWa0xDQmlkWFFnZDJVZ1kyRnVJR2x1Wm1WeUlHRnVYRzRnSUM4dklHRndjSEp2ZUdsdFlYUmxJSE4wWVhKMElIUnBiV1VnWm5KdmJTQjBhR1VnWlhod2FYSmhkR2x2YmlCMGFXMWxMbHh1SUNCMllYSWdaV0Z5YkdsbGMzUkZlSEJwY21GMGFXOXVWR2x0WlUxeklEMGdaWGh3YVhKaGRHbHZibFJwYldWVWIwMXpLR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnY21WMGRYSnVJR1ZoY214cFpYTjBSWGh3YVhKaGRHbHZibFJwYldWTmN5QXRJRXhQVjE5UVVrbFBVa2xVV1Y5RldGQkpVa0ZVU1U5T08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJtWmxjbFJwYldWR2NtOXRSWGh3YVhKaGRHbHZibFJwYldWWGFYUm9VM1Z6Y0dWdWMyVkRiMjVtYVdjb1pYaHdhWEpoZEdsdmJsUnBiV1VzSUhOMWMzQmxibk5sUTI5dVptbG5LU0I3WEc0Z0lDOHZJRmRsSUdSdmJpZDBJR3R1YjNjZ1pYaGhZM1JzZVNCM2FHVnVJSFJvWlNCMWNHUmhkR1VnZDJGeklITmphR1ZrZFd4bFpDd2dZblYwSUhkbElHTmhiaUJwYm1abGNpQmhibHh1SUNBdkx5QmhjSEJ5YjNocGJXRjBaU0J6ZEdGeWRDQjBhVzFsSUdaeWIyMGdkR2hsSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0JpZVNCemRXSjBjbUZqZEdsdVp5QjBhR1VnZEdsdFpXOTFkRnh1SUNBdkx5QjBhR0YwSUhkaGN5QmhaR1JsWkNCMGJ5QjBhR1VnWlhabGJuUWdkR2x0WlM1Y2JpQWdkbUZ5SUdWaGNteHBaWE4wUlhod2FYSmhkR2x2YmxScGJXVk5jeUE5SUdWNGNHbHlZWFJwYjI1VWFXMWxWRzlOY3lobGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lISmxkSFZ5YmlCbFlYSnNhV1Z6ZEVWNGNHbHlZWFJwYjI1VWFXMWxUWE1nTFNBb2MzVnpjR1Z1YzJWRGIyNW1hV2N1ZEdsdFpXOTFkRTF6SUh3Z01DQjhmQ0JNVDFkZlVGSkpUMUpKVkZsZlJWaFFTVkpCVkVsUFRpazdYRzU5SUM4dklGUm9aU0IzYjNKcklHeHZiM0FnYVhNZ1lXNGdaWGgwY21WdFpXeDVJR2h2ZENCd1lYUm9MaUJVWld4c0lFTnNiM04xY21VZ2JtOTBJSFJ2SUdsdWJHbHVaU0JwZEM1Y2JseHVMeW9xSUVCdWIybHViR2x1WlNBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUhkdmNtdE1iMjl3VTNsdVl5Z3BJSHRjYmlBZ0x5OGdRV3h5WldGa2VTQjBhVzFsWkNCdmRYUXNJSE52SUhCbGNtWnZjbTBnZDI5eWF5QjNhWFJvYjNWMElHTm9aV05yYVc1bklHbG1JSGRsSUc1bFpXUWdkRzhnZVdsbGJHUXVYRzRnSUhkb2FXeGxJQ2gzYjNKclNXNVFjbTluY21WemN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56SUQwZ2NHVnlabTl5YlZWdWFYUlBabGR2Y21zb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQjlYRzU5WEc0dktpb2dRRzV2YVc1c2FXNWxJQ292WEc1Y2JseHVablZ1WTNScGIyNGdkMjl5YTB4dmIzQkRiMjVqZFhKeVpXNTBLQ2tnZTF4dUlDQXZMeUJRWlhKbWIzSnRJSGR2Y21zZ2RXNTBhV3dnVTJOb1pXUjFiR1Z5SUdGemEzTWdkWE1nZEc4Z2VXbGxiR1JjYmlBZ2QyaHBiR1VnS0hkdmNtdEpibEJ5YjJkeVpYTnpJQ0U5UFNCdWRXeHNJQ1ltSUNGemFHOTFiR1JaYVdWc1pDZ3BLU0I3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNZ1BTQndaWEptYjNKdFZXNXBkRTltVjI5eWF5aDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdjR1Z5Wm05eWJWVnVhWFJQWmxkdmNtc29kVzVwZEU5bVYyOXlheWtnZTF4dUlDQXZMeUJVYUdVZ1kzVnljbVZ1ZEN3Z1pteDFjMmhsWkN3Z2MzUmhkR1VnYjJZZ2RHaHBjeUJtYVdKbGNpQnBjeUIwYUdVZ1lXeDBaWEp1WVhSbExpQkpaR1ZoYkd4NVhHNGdJQzh2SUc1dmRHaHBibWNnYzJodmRXeGtJSEpsYkhrZ2IyNGdkR2hwY3l3Z1luVjBJSEpsYkhscGJtY2diMjRnYVhRZ2FHVnlaU0J0WldGdWN5QjBhR0YwSUhkbElHUnZiaWQwWEc0Z0lDOHZJRzVsWldRZ1lXNGdZV1JrYVhScGIyNWhiQ0JtYVdWc1pDQnZiaUIwYUdVZ2QyOXlheUJwYmlCd2NtOW5jbVZ6Y3k1Y2JpQWdkbUZ5SUdOMWNuSmxiblFnUFNCMWJtbDBUMlpYYjNKckxtRnNkR1Z5Ym1GMFpUdGNiaUFnYzNSaGNuUlhiM0pyVkdsdFpYSW9kVzVwZEU5bVYyOXlheWs3WEc0Z0lITmxkRU4xY25KbGJuUkdhV0psY2loMWJtbDBUMlpYYjNKcktUdGNiaUFnZG1GeUlHNWxlSFE3WEc1Y2JpQWdhV1lnS0NBb2RXNXBkRTltVjI5eWF5NXRiMlJsSUNZZ1VISnZabWxzWlUxdlpHVXBJQ0U5UFNCT2IwMXZaR1VwSUh0Y2JpQWdJQ0J6ZEdGeWRGQnliMlpwYkdWeVZHbHRaWElvZFc1cGRFOW1WMjl5YXlrN1hHNGdJQ0FnYm1WNGRDQTlJR0psWjJsdVYyOXlheVF4S0dOMWNuSmxiblFzSUhWdWFYUlBabGR2Y21zc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJSE4wYjNCUWNtOW1hV3hsY2xScGJXVnlTV1pTZFc1dWFXNW5RVzVrVW1WamIzSmtSR1ZzZEdFb2RXNXBkRTltVjI5eWF5d2dkSEoxWlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JtVjRkQ0E5SUdKbFoybHVWMjl5YXlReEtHTjFjbkpsYm5Rc0lIVnVhWFJQWmxkdmNtc3NJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsSkRFcE8xeHVJQ0I5WEc1Y2JpQWdjbVZ6WlhSRGRYSnlaVzUwUm1saVpYSW9LVHRjYmlBZ2RXNXBkRTltVjI5eWF5NXRaVzF2YVhwbFpGQnliM0J6SUQwZ2RXNXBkRTltVjI5eWF5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdhV1lnS0c1bGVIUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQXZMeUJKWmlCMGFHbHpJR1J2WlhOdUozUWdjM0JoZDI0Z2JtVjNJSGR2Y21zc0lHTnZiWEJzWlhSbElIUm9aU0JqZFhKeVpXNTBJSGR2Y21zdVhHNGdJQ0FnYm1WNGRDQTlJR052YlhCc1pYUmxWVzVwZEU5bVYyOXlheWgxYm1sMFQyWlhiM0pyS1R0Y2JpQWdmVnh1WEc0Z0lGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUpESXVZM1Z5Y21WdWRDQTlJRzUxYkd3N1hHNGdJSEpsZEhWeWJpQnVaWGgwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqYjIxd2JHVjBaVlZ1YVhSUFpsZHZjbXNvZFc1cGRFOW1WMjl5YXlrZ2UxeHVJQ0F2THlCQmRIUmxiWEIwSUhSdklHTnZiWEJzWlhSbElIUm9aU0JqZFhKeVpXNTBJSFZ1YVhRZ2IyWWdkMjl5YXl3Z2RHaGxiaUJ0YjNabElIUnZJSFJvWlNCdVpYaDBYRzRnSUM4dklITnBZbXhwYm1jdUlFbG1JSFJvWlhKbElHRnlaU0J1YnlCdGIzSmxJSE5wWW14cGJtZHpMQ0J5WlhSMWNtNGdkRzhnZEdobElIQmhjbVZ1ZENCbWFXSmxjaTVjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM01nUFNCMWJtbDBUMlpYYjNKck8xeHVYRzRnSUdSdklIdGNiaUFnSUNBdkx5QlVhR1VnWTNWeWNtVnVkQ3dnWm14MWMyaGxaQ3dnYzNSaGRHVWdiMllnZEdocGN5Qm1hV0psY2lCcGN5QjBhR1VnWVd4MFpYSnVZWFJsTGlCSlpHVmhiR3g1WEc0Z0lDQWdMeThnYm05MGFHbHVaeUJ6YUc5MWJHUWdjbVZzZVNCdmJpQjBhR2x6TENCaWRYUWdjbVZzZVdsdVp5QnZiaUJwZENCb1pYSmxJRzFsWVc1eklIUm9ZWFFnZDJVZ1pHOXVKM1JjYmlBZ0lDQXZMeUJ1WldWa0lHRnVJR0ZrWkdsMGFXOXVZV3dnWm1sbGJHUWdiMjRnZEdobElIZHZjbXNnYVc0Z2NISnZaM0psYzNNdVhHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aGJIUmxjbTVoZEdVN1hHNGdJQ0FnZG1GeUlISmxkSFZ5YmtacFltVnlJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjbVYwZFhKdU95QXZMeUJEYUdWamF5QnBaaUIwYUdVZ2QyOXlheUJqYjIxd2JHVjBaV1FnYjNJZ2FXWWdjMjl0WlhSb2FXNW5JSFJvY21WM0xseHVYRzRnSUNBZ2FXWWdLQ2gzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dKaUJKYm1OdmJYQnNaWFJsS1NBOVBUMGdUbTlGWm1abFkzUXBJSHRjYmlBZ0lDQWdJSE5sZEVOMWNuSmxiblJHYVdKbGNpaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNCMllYSWdibVY0ZENBOUlIWnZhV1FnTUR0Y2JseHVJQ0FnSUNBZ2FXWWdLQ0FvZDI5eWEwbHVVSEp2WjNKbGMzTXViVzlrWlNBbUlGQnliMlpwYkdWTmIyUmxLU0E5UFQwZ1RtOU5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lHNWxlSFFnUFNCamIyMXdiR1YwWlZkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnYzNSaGNuUlFjbTltYVd4bGNsUnBiV1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnYm1WNGRDQTlJR052YlhCc1pYUmxWMjl5YXloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TazdJQzh2SUZWd1pHRjBaU0J5Wlc1a1pYSWdaSFZ5WVhScGIyNGdZWE56ZFcxcGJtY2dkMlVnWkdsa2JpZDBJR1Z5Y205eUxseHVYRzRnSUNBZ0lDQWdJSE4wYjNCUWNtOW1hV3hsY2xScGJXVnlTV1pTZFc1dWFXNW5RVzVrVW1WamIzSmtSR1ZzZEdFb2QyOXlhMGx1VUhKdlozSmxjM01zSUdaaGJITmxLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYzNSdmNGZHZjbXRVYVcxbGNpaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNCeVpYTmxkRU4xY25KbGJuUkdhV0psY2lncE8xeHVJQ0FnSUNBZ2NtVnpaWFJEYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHNWxlSFFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRMjl0Y0d4bGRHbHVaeUIwYUdseklHWnBZbVZ5SUhOd1lYZHVaV1FnYm1WM0lIZHZjbXN1SUZkdmNtc2diMjRnZEdoaGRDQnVaWGgwTGx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WNGREdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hKbGRIVnlia1pwWW1WeUlDRTlQU0J1ZFd4c0lDWW1JQzh2SUVSdklHNXZkQ0JoY0hCbGJtUWdaV1ptWldOMGN5QjBieUJ3WVhKbGJuUnpJR2xtSUdFZ2MybGliR2x1WnlCbVlXbHNaV1FnZEc4Z1kyOXRjR3hsZEdWY2JpQWdJQ0FnSUNoeVpYUjFjbTVHYVdKbGNpNWxabVpsWTNSVVlXY2dKaUJKYm1OdmJYQnNaWFJsS1NBOVBUMGdUbTlGWm1abFkzUXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FYQndaVzVrSUdGc2JDQjBhR1VnWldabVpXTjBjeUJ2WmlCMGFHVWdjM1ZpZEhKbFpTQmhibVFnZEdocGN5Qm1hV0psY2lCdmJuUnZJSFJvWlNCbFptWmxZM1JjYmlBZ0lDQWdJQ0FnTHk4Z2JHbHpkQ0J2WmlCMGFHVWdjR0Z5Wlc1MExpQlVhR1VnWTI5dGNHeGxkR2x2YmlCdmNtUmxjaUJ2WmlCMGFHVWdZMmhwYkdSeVpXNGdZV1ptWldOMGN5QjBhR1ZjYmlBZ0lDQWdJQ0FnTHk4Z2MybGtaUzFsWm1abFkzUWdiM0prWlhJdVhHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhSMWNtNUdhV0psY2k1bWFYSnpkRVZtWm1WamRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlia1pwWW1WeUxtWnBjbk4wUldabVpXTjBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVabWx5YzNSRlptWmxZM1E3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXViR0Z6ZEVWbVptVmpkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhSMWNtNUdhV0psY2k1c1lYTjBSV1ptWldOMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBMbTVsZUhSRlptWmxZM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVtYVhKemRFVm1abVZqZER0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViR0Z6ZEVWbVptVmpkRHRjYmlBZ0lDQWdJQ0FnZlNBdkx5QkpaaUIwYUdseklHWnBZbVZ5SUdoaFpDQnphV1JsTFdWbVptVmpkSE1zSUhkbElHRndjR1Z1WkNCcGRDQkJSbFJGVWlCMGFHVWdZMmhwYkdSeVpXNG5jMXh1SUNBZ0lDQWdJQ0F2THlCemFXUmxMV1ZtWm1WamRITXVJRmRsSUdOaGJpQndaWEptYjNKdElHTmxjblJoYVc0Z2MybGtaUzFsWm1abFkzUnpJR1ZoY214cFpYSWdhV1lnYm1WbFpHVmtMRnh1SUNBZ0lDQWdJQ0F2THlCaWVTQmtiMmx1WnlCdGRXeDBhWEJzWlNCd1lYTnpaWE1nYjNabGNpQjBhR1VnWldabVpXTjBJR3hwYzNRdUlGZGxJR1J2YmlkMElIZGhiblFnZEc5Y2JpQWdJQ0FnSUNBZ0x5OGdjMk5vWldSMWJHVWdiM1Z5SUc5M2JpQnphV1JsTFdWbVptVmpkQ0J2YmlCdmRYSWdiM2R1SUd4cGMzUWdZbVZqWVhWelpTQnBaaUJsYm1RZ2RYQmNiaUFnSUNBZ0lDQWdMeThnY21WMWMybHVaeUJqYUdsc1pISmxiaUIzWlNkc2JDQnpZMmhsWkhWc1pTQjBhR2x6SUdWbVptVmpkQ0J2Ym5SdklHbDBjMlZzWmlCemFXNWpaU0IzWlNkeVpWeHVJQ0FnSUNBZ0lDQXZMeUJoZENCMGFHVWdaVzVrTGx4dVhHNWNiaUFnSUNBZ0lDQWdkbUZ5SUdWbVptVmpkRlJoWnlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnpzZ0x5OGdVMnRwY0NCaWIzUm9JRTV2VjI5eWF5QmhibVFnVUdWeVptOXliV1ZrVjI5eWF5QjBZV2R6SUhkb1pXNGdZM0psWVhScGJtY2dkR2hsSUdWbVptVmpkRnh1SUNBZ0lDQWdJQ0F2THlCc2FYTjBMaUJRWlhKbWIzSnRaV1JYYjNKcklHVm1abVZqZENCcGN5QnlaV0ZrSUdKNUlGSmxZV04wSUVSbGRsUnZiMnh6SUdKMWRDQnphRzkxYkdSdUozUWdZbVZjYmlBZ0lDQWdJQ0FnTHk4Z1kyOXRiV2wwZEdWa0xseHVYRzRnSUNBZ0lDQWdJR2xtSUNobFptWmxZM1JVWVdjZ1BpQlFaWEptYjNKdFpXUlhiM0pyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmtacFltVnlMbXhoYzNSRlptWmxZM1F1Ym1WNGRFVm1abVZqZENBOUlIZHZjbXRKYmxCeWIyZHlaWE56TzF4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNUdhV0psY2k1bWFYSnpkRVZtWm1WamRDQTlJSGR2Y210SmJsQnliMmR5WlhOek8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmtacFltVnlMbXhoYzNSRlptWmxZM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVYUdseklHWnBZbVZ5SUdScFpDQnViM1FnWTI5dGNHeGxkR1VnWW1WallYVnpaU0J6YjIxbGRHaHBibWNnZEdoeVpYY3VJRkJ2Y0NCMllXeDFaWE1nYjJabVhHNGdJQ0FnSUNBdkx5QjBhR1VnYzNSaFkyc2dkMmwwYUc5MWRDQmxiblJsY21sdVp5QjBhR1VnWTI5dGNHeGxkR1VnY0doaGMyVXVJRWxtSUhSb2FYTWdhWE1nWVNCaWIzVnVaR0Z5ZVN4Y2JpQWdJQ0FnSUM4dklHTmhjSFIxY21VZ2RtRnNkV1Z6SUdsbUlIQnZjM05wWW14bExseHVJQ0FnSUNBZ2RtRnlJRjl1WlhoMElEMGdkVzUzYVc1a1YyOXlheWgzYjNKclNXNVFjbTluY21WemN5azdJQzh2SUVKbFkyRjFjMlVnZEdocGN5Qm1hV0psY2lCa2FXUWdibTkwSUdOdmJYQnNaWFJsTENCa2IyNG5kQ0J5WlhObGRDQnBkSE1nWlhod2FYSmhkR2x2YmlCMGFXMWxMbHh1WEc1Y2JpQWdJQ0FnSUdsbUlDZ2dLSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCUWNtOW1hV3hsVFc5a1pTa2dJVDA5SUU1dlRXOWtaU2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlNaV052Y21RZ2RHaGxJSEpsYm1SbGNpQmtkWEpoZEdsdmJpQm1iM0lnZEdobElHWnBZbVZ5SUhSb1lYUWdaWEp5YjNKbFpDNWNiaUFnSUNBZ0lDQWdjM1J2Y0ZCeWIyWnBiR1Z5VkdsdFpYSkpabEoxYm01cGJtZEJibVJTWldOdmNtUkVaV3gwWVNoM2IzSnJTVzVRY205bmNtVnpjeXdnWm1Gc2MyVXBPeUF2THlCSmJtTnNkV1JsSUhSb1pTQjBhVzFsSUhOd1pXNTBJSGR2Y210cGJtY2diMjRnWm1GcGJHVmtJR05vYVd4a2NtVnVJR0psWm05eVpTQmpiMjUwYVc1MWFXNW5MbHh1WEc0Z0lDQWdJQ0FnSUhaaGNpQmhZM1IxWVd4RWRYSmhkR2x2YmlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG1GamRIVmhiRVIxY21GMGFXOXVPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1kyaHBiR1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9ZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0JoWTNSMVlXeEVkWEpoZEdsdmJpQXJQU0JqYUdsc1pDNWhZM1IxWVd4RWRYSmhkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ0lDQmphR2xzWkNBOUlHTm9hV3hrTG5OcFlteHBibWM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aFkzUjFZV3hFZFhKaGRHbHZiaUE5SUdGamRIVmhiRVIxY21GMGFXOXVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1gyNWxlSFFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWTI5dGNHeGxkR2x1WnlCMGFHbHpJSGR2Y21zZ2MzQmhkMjVsWkNCdVpYY2dkMjl5YXl3Z1pHOGdkR2hoZENCdVpYaDBMaUJYWlNkc2JDQmpiMjFsWEc0Z0lDQWdJQ0FnSUM4dklHSmhZMnNnYUdWeVpTQmhaMkZwYmk1Y2JpQWdJQ0FnSUNBZ0x5OGdVMmx1WTJVZ2QyVW5jbVVnY21WemRHRnlkR2x1Wnl3Z2NtVnRiM1psSUdGdWVYUm9hVzVuSUhSb1lYUWdhWE1nYm05MElHRWdhRzl6ZENCbFptWmxZM1JjYmlBZ0lDQWdJQ0FnTHk4Z1puSnZiU0IwYUdVZ1pXWm1aV04wSUhSaFp5NWNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dWR2hsSUc1aGJXVWdjM1J2Y0VaaGFXeGxaRmR2Y210VWFXMWxjaUJwY3lCdGFYTnNaV0ZrYVc1bklHSmxZMkYxYzJVZ1UzVnpjR1Z1YzJWY2JpQWdJQ0FnSUNBZ0x5OGdZV3h6YnlCallYQjBkWEpsY3lCaGJtUWdjbVZ6ZEdGeWRITXVYRzRnSUNBZ0lDQWdJSE4wYjNCR1lXbHNaV1JYYjNKclZHbHRaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdJQ0JmYm1WNGRDNWxabVpsWTNSVVlXY2dKajBnU0c5emRFVm1abVZqZEUxaGMyczdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmZibVY0ZER0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MzUnZjRmR2Y210VWFXMWxjaWgzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ0lDQWdJR2xtSUNoeVpYUjFjbTVHYVdKbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCTllYSnJJSFJvWlNCd1lYSmxiblFnWm1saVpYSWdZWE1nYVc1amIyMXdiR1YwWlNCaGJtUWdZMnhsWVhJZ2FYUnpJR1ZtWm1WamRDQnNhWE4wTGx4dUlDQWdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNW1hWEp6ZEVWbVptVmpkQ0E5SUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnlaWFIxY201R2FXSmxjaTVsWm1abFkzUlVZV2NnZkQwZ1NXNWpiMjF3YkdWMFpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjMmxpYkdsdVowWnBZbVZ5SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011YzJsaWJHbHVaenRjYmx4dUlDQWdJR2xtSUNoemFXSnNhVzVuUm1saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUVsbUlIUm9aWEpsSUdseklHMXZjbVVnZDI5eWF5QjBieUJrYnlCcGJpQjBhR2x6SUhKbGRIVnlia1pwWW1WeUxDQmtieUIwYUdGMElHNWxlSFF1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjMmxpYkdsdVowWnBZbVZ5TzF4dUlDQWdJSDBnTHk4Z1QzUm9aWEozYVhObExDQnlaWFIxY200Z2RHOGdkR2hsSUhCaGNtVnVkRnh1WEc1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJSEpsZEhWeWJrWnBZbVZ5TzF4dUlDQjlJSGRvYVd4bElDaDNiM0pyU1c1UWNtOW5jbVZ6Y3lBaFBUMGdiblZzYkNrN0lDOHZJRmRsSjNabElISmxZV05vWldRZ2RHaGxJSEp2YjNRdVhHNWNibHh1SUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNOU2IyOTBSWGhwZEZOMFlYUjFjeUE5UFQwZ1VtOXZkRWx1WTI5dGNHeGxkR1VwSUh0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwZ1VtOXZkRU52YlhCc1pYUmxaRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCblpYUlNaVzFoYVc1cGJtZEZlSEJwY21GMGFXOXVWR2x0WlNobWFXSmxjaWtnZTF4dUlDQjJZWElnZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVZ1BTQm1hV0psY2k1bGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ2RtRnlJR05vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbWFXSmxjaTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQnlaWFIxY200Z2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVWdQaUJqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQ4Z2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVWdPaUJqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhObGRFTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVW9ZMjl0Y0d4bGRHVmtWMjl5YXlrZ2UxeHVJQ0JwWmlBb2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVWtNU0FoUFQwZ1RtVjJaWElnSmlZZ1kyOXRjR3hsZEdWa1YyOXlheTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwOVBTQk9aWFpsY2lrZ2UxeHVJQ0FnSUM4dklGUm9aU0JqYUdsc1pISmxiaUJ2WmlCMGFHbHpJR052YlhCdmJtVnVkQ0JoY21VZ2FHbGtaR1Z1TGlCRWIyNG5kQ0JpZFdKaWJHVWdkR2hsYVhKY2JpQWdJQ0F2THlCbGVIQnBjbUYwYVc5dUlIUnBiV1Z6TGx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG05WGIzSnJPeUF2THlCQ2RXSmliR1VnZFhBZ2RHaGxJR1ZoY214cFpYTjBJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTNWNibHh1SUNCcFppQW9JQ2hqYjIxd2JHVjBaV1JYYjNKckxtMXZaR1VnSmlCUWNtOW1hV3hsVFc5a1pTa2dJVDA5SUU1dlRXOWtaU2tnZTF4dUlDQWdJQzh2SUVsdUlIQnliMlpwYkdsdVp5QnRiMlJsTENCeVpYTmxkRU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnYVhNZ1lXeHpieUIxYzJWa0lIUnZJSEpsYzJWMFhHNGdJQ0FnTHk4Z2NISnZabWxzWlhJZ1pIVnlZWFJwYjI1ekxseHVJQ0FnSUhaaGNpQmhZM1IxWVd4RWRYSmhkR2x2YmlBOUlHTnZiWEJzWlhSbFpGZHZjbXN1WVdOMGRXRnNSSFZ5WVhScGIyNDdYRzRnSUNBZ2RtRnlJSFJ5WldWQ1lYTmxSSFZ5WVhScGIyNGdQU0JqYjIxd2JHVjBaV1JYYjNKckxuTmxiR1pDWVhObFJIVnlZWFJwYjI0N0lDOHZJRmRvWlc0Z1lTQm1hV0psY2lCcGN5QmpiRzl1WldRc0lHbDBjeUJoWTNSMVlXeEVkWEpoZEdsdmJpQnBjeUJ5WlhObGRDQjBieUF3TGlCVWFHbHpJSFpoYkhWbElIZHBiR3hjYmlBZ0lDQXZMeUJ2Ym14NUlHSmxJSFZ3WkdGMFpXUWdhV1lnZDI5eWF5QnBjeUJrYjI1bElHOXVJSFJvWlNCbWFXSmxjaUFvYVM1bExpQnBkQ0JrYjJWemJpZDBJR0poYVd4dmRYUXBMbHh1SUNBZ0lDOHZJRmRvWlc0Z2QyOXlheUJwY3lCa2IyNWxMQ0JwZENCemFHOTFiR1FnWW5WaVlteGxJSFJ2SUhSb1pTQndZWEpsYm5RbmN5QmhZM1IxWVd4RWRYSmhkR2x2Ymk0Z1NXWmNiaUFnSUNBdkx5QjBhR1VnWm1saVpYSWdhR0Z6SUc1dmRDQmlaV1Z1SUdOc2IyNWxaQ0IwYUc5MVoyZ3NJQ2h0WldGdWFXNW5JRzV2SUhkdmNtc2dkMkZ6SUdSdmJtVXBMQ0IwYUdWdVhHNGdJQ0FnTHk4Z2RHaHBjeUIyWVd4MVpTQjNhV3hzSUhKbFpteGxZM1FnZEdobElHRnRiM1Z1ZENCdlppQjBhVzFsSUhOd1pXNTBJSGR2Y210cGJtY2diMjRnWVNCd2NtVjJhVzkxYzF4dUlDQWdJQzh2SUhKbGJtUmxjaTRnU1c0Z2RHaGhkQ0JqWVhObElHbDBJSE5vYjNWc1pDQnViM1FnWW5WaVlteGxMaUJYWlNCa1pYUmxjbTFwYm1VZ2QyaGxkR2hsY2lCcGRDQjNZWE5jYmlBZ0lDQXZMeUJqYkc5dVpXUWdZbmtnWTI5dGNHRnlhVzVuSUhSb1pTQmphR2xzWkNCd2IybHVkR1Z5TGx4dVhHNGdJQ0FnZG1GeUlITm9iM1ZzWkVKMVltSnNaVUZqZEhWaGJFUjFjbUYwYVc5dWN5QTlJR052YlhCc1pYUmxaRmR2Y21zdVlXeDBaWEp1WVhSbElEMDlQU0J1ZFd4c0lIeDhJR052YlhCc1pYUmxaRmR2Y21zdVkyaHBiR1FnSVQwOUlHTnZiWEJzWlhSbFpGZHZjbXN1WVd4MFpYSnVZWFJsTG1Ob2FXeGtPMXh1SUNBZ0lIWmhjaUJqYUdsc1pDQTlJR052YlhCc1pYUmxaRmR2Y21zdVkyaHBiR1E3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9ZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJqYUdsc1pGVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWTJocGJHUXVaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJQ0FnSUNCMllYSWdZMmhwYkdSRGFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEMGdZMmhwYkdRdVkyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpUdGNibHh1SUNBZ0lDQWdhV1lnS0dOb2FXeGtWWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUGlCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdJQ0FnSUc1bGQwTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQU0JqYUdsc1pGVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kyaHBiR1JEYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQ0Z2JtVjNRMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQWdJQ0FnSUNCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWTJocGJHUkRhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MyaHZkV3hrUW5WaVlteGxRV04wZFdGc1JIVnlZWFJwYjI1ektTQjdYRzRnSUNBZ0lDQWdJR0ZqZEhWaGJFUjFjbUYwYVc5dUlDczlJR05vYVd4a0xtRmpkSFZoYkVSMWNtRjBhVzl1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUNzOUlHTm9hV3hrTG5SeVpXVkNZWE5sUkhWeVlYUnBiMjQ3WEc0Z0lDQWdJQ0JqYUdsc1pDQTlJR05vYVd4a0xuTnBZbXhwYm1jN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dGNHeGxkR1ZrVjI5eWF5NWhZM1IxWVd4RWRYSmhkR2x2YmlBOUlHRmpkSFZoYkVSMWNtRjBhVzl1TzF4dUlDQWdJR052YlhCc1pYUmxaRmR2Y21zdWRISmxaVUpoYzJWRWRYSmhkR2x2YmlBOUlIUnlaV1ZDWVhObFJIVnlZWFJwYjI0N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJRjlqYUdsc1pDQTlJR052YlhCc1pYUmxaRmR2Y21zdVkyaHBiR1E3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9YMk5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWDJOb2FXeGtWWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCZlkyaHBiR1F1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ0lDQjJZWElnWDJOb2FXeGtRMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUY5amFHbHNaQzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dVhHNGdJQ0FnSUNCcFppQW9YMk5vYVd4a1ZYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVWdQaUJ1WlhkRGFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQWdJRzVsZDBOb2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmZZMmhwYkdSVmNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0Y5amFHbHNaRU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUGlCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdJQ0FnSUc1bGQwTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQU0JmWTJocGJHUkRhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JmWTJocGJHUWdQU0JmWTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmpiMjF3YkdWMFpXUlhiM0pyTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQnVaWGREYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqYjIxdGFYUlNiMjkwS0hKdmIzUXBJSHRjYmlBZ2RtRnlJSEpsYm1SbGNsQnlhVzl5YVhSNVRHVjJaV3dnUFNCblpYUkRkWEp5Wlc1MFVISnBiM0pwZEhsTVpYWmxiQ2dwTzF4dUlDQnlkVzVYYVhSb1VISnBiM0pwZEhra01TaEpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTd2dZMjl0YldsMFVtOXZkRWx0Y0d3dVltbHVaQ2h1ZFd4c0xDQnliMjkwTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tTazdYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIyMXRhWFJTYjI5MFNXMXdiQ2h5YjI5MExDQnlaVzVrWlhKUWNtbHZjbWwwZVV4bGRtVnNLU0I3WEc0Z0lHUnZJSHRjYmlBZ0lDQXZMeUJnWm14MWMyaFFZWE56YVhabFJXWm1aV04wYzJBZ2QybHNiQ0JqWVd4c0lHQm1iSFZ6YUZONWJtTlZjR1JoZEdWUmRXVjFaV0FnWVhRZ2RHaGxJR1Z1WkN3Z2QyaHBZMmhjYmlBZ0lDQXZMeUJ0WldGdWN5QmdabXgxYzJoUVlYTnphWFpsUldabVpXTjBjMkFnZDJsc2JDQnpiMjFsZEdsdFpYTWdjbVZ6ZFd4MElHbHVJR0ZrWkdsMGFXOXVZV3hjYmlBZ0lDQXZMeUJ3WVhOemFYWmxJR1ZtWm1WamRITXVJRk52SUhkbElHNWxaV1FnZEc4Z2EyVmxjQ0JtYkhWemFHbHVaeUJwYmlCaElHeHZiM0FnZFc1MGFXd2dkR2hsY21VZ1lYSmxYRzRnSUNBZ0x5OGdibThnYlc5eVpTQndaVzVrYVc1bklHVm1abVZqZEhNdVhHNGdJQ0FnTHk4Z1ZFOUVUem9nVFdsbmFIUWdZbVVnWW1WMGRHVnlJR2xtSUdCbWJIVnphRkJoYzNOcGRtVkZabVpsWTNSellDQmthV1FnYm05MElHRjFkRzl0WVhScFkyRnNiSGxjYmlBZ0lDQXZMeUJtYkhWemFDQnplVzVqYUhKdmJtOTFjeUIzYjNKcklHRjBJSFJvWlNCbGJtUXNJSFJ2SUdGMmIybGtJR1poWTNSdmNtbHVaeUJvWVhwaGNtUnpJR3hwYTJVZ2RHaHBjeTVjYmlBZ0lDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc0Z0lIMGdkMmhwYkdVZ0tISnZiM1JYYVhSb1VHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpJQ0U5UFNCdWRXeHNLVHRjYmx4dUlDQm1iSFZ6YUZKbGJtUmxjbEJvWVhObFUzUnlhV04wVFc5a1pWZGhjbTVwYm1kelNXNUVSVllvS1R0Y2JseHVJQ0JwWmlBb0lTZ29aWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQW1JQ2hTWlc1a1pYSkRiMjUwWlhoMElId2dRMjl0YldsMFEyOXVkR1Y0ZENrcElEMDlQU0JPYjBOdmJuUmxlSFFwS1NCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVMmh2ZFd4a0lHNXZkQ0JoYkhKbFlXUjVJR0psSUhkdmNtdHBibWN1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnWm1sdWFYTm9aV1JYYjNKcklEMGdjbTl2ZEM1bWFXNXBjMmhsWkZkdmNtczdYRzRnSUhaaGNpQmxlSEJwY21GMGFXOXVWR2x0WlNBOUlISnZiM1F1Wm1sdWFYTm9aV1JGZUhCcGNtRjBhVzl1VkdsdFpUdGNibHh1SUNCcFppQW9abWx1YVhOb1pXUlhiM0pySUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnliMjkwTG1acGJtbHphR1ZrVjI5eWF5QTlJRzUxYkd3N1hHNGdJSEp2YjNRdVptbHVhWE5vWldSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUU1dlYyOXlhenRjYmx4dUlDQnBaaUFvSVNobWFXNXBjMmhsWkZkdmNtc2dJVDA5SUhKdmIzUXVZM1Z5Y21WdWRDa3BJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRFlXNXViM1FnWTI5dGJXbDBJSFJvWlNCellXMWxJSFJ5WldVZ1lYTWdZbVZtYjNKbExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklHTnZiVzFwZEZKdmIzUWdibVYyWlhJZ2NtVjBkWEp1Y3lCaElHTnZiblJwYm5WaGRHbHZianNnYVhRZ1lXeDNZWGx6SUdacGJtbHphR1Z6SUhONWJtTm9jbTl1YjNWemJIa3VYRzRnSUM4dklGTnZJSGRsSUdOaGJpQmpiR1ZoY2lCMGFHVnpaU0J1YjNjZ2RHOGdZV3hzYjNjZ1lTQnVaWGNnWTJGc2JHSmhZMnNnZEc4Z1ltVWdjMk5vWldSMWJHVmtMbHh1WEc1Y2JpQWdjbTl2ZEM1allXeHNZbUZqYTA1dlpHVWdQU0J1ZFd4c08xeHVJQ0J5YjI5MExtTmhiR3hpWVdOclJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3WEc0Z0lISnZiM1F1WTJGc2JHSmhZMnRRY21sdmNtbDBlU0E5SUU1dlVISnBiM0pwZEhrN1hHNGdJSEp2YjNRdWJtVjRkRXR1YjNkdVVHVnVaR2x1WjB4bGRtVnNJRDBnVG05WGIzSnJPMXh1SUNCemRHRnlkRU52YlcxcGRGUnBiV1Z5S0NrN0lDOHZJRlZ3WkdGMFpTQjBhR1VnWm1seWMzUWdZVzVrSUd4aGMzUWdjR1Z1WkdsdVp5QjBhVzFsY3lCdmJpQjBhR2x6SUhKdmIzUXVJRlJvWlNCdVpYY2dabWx5YzNSY2JpQWdMeThnY0dWdVpHbHVaeUIwYVcxbElHbHpJSGRvWVhSbGRtVnlJR2x6SUd4bFpuUWdiMjRnZEdobElISnZiM1FnWm1saVpYSXVYRzVjYmlBZ2RtRnlJSEpsYldGcGJtbHVaMFY0Y0dseVlYUnBiMjVVYVcxbFFtVm1iM0psUTI5dGJXbDBJRDBnWjJWMFVtVnRZV2x1YVc1blJYaHdhWEpoZEdsdmJsUnBiV1VvWm1sdWFYTm9aV1JYYjNKcktUdGNiaUFnYldGeWExSnZiM1JHYVc1cGMyaGxaRUYwVkdsdFpTaHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU3dnY21WdFlXbHVhVzVuUlhod2FYSmhkR2x2YmxScGJXVkNaV1p2Y21WRGIyMXRhWFFwTzF4dVhHNGdJR2xtSUNoeWIyOTBJRDA5UFNCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNRcElIdGNiaUFnSUNBdkx5QlhaU0JqWVc0Z2NtVnpaWFFnZEdobGMyVWdibTkzSUhSb1lYUWdkR2hsZVNCaGNtVWdabWx1YVhOb1pXUXVYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJRzUxYkd3N1hHNGdJQ0FnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TQTlJRTV2VjI5eWF6dGNiaUFnZlNBdkx5QlVhR2x6SUdsdVpHbGpZWFJsY3lCMGFHRjBJSFJvWlNCc1lYTjBJSEp2YjNRZ2QyVWdkMjl5YTJWa0lHOXVJR2x6SUc1dmRDQjBhR1VnYzJGdFpTQnZibVVnZEdoaGRGeHVJQ0F2THlCM1pTZHlaU0JqYjIxdGFYUjBhVzVuSUc1dmR5NGdWR2hwY3lCdGIzTjBJR052YlcxdmJteDVJR2hoY0hCbGJuTWdkMmhsYmlCaElITjFjM0JsYm1SbFpDQnliMjkwWEc0Z0lDOHZJSFJwYldWeklHOTFkQzVjYmlBZ0x5OGdSMlYwSUhSb1pTQnNhWE4wSUc5bUlHVm1abVZqZEhNdVhHNWNibHh1SUNCMllYSWdabWx5YzNSRlptWmxZM1E3WEc1Y2JpQWdhV1lnS0dacGJtbHphR1ZrVjI5eWF5NWxabVpsWTNSVVlXY2dQaUJRWlhKbWIzSnRaV1JYYjNKcktTQjdYRzRnSUNBZ0x5OGdRU0JtYVdKbGNpZHpJR1ZtWm1WamRDQnNhWE4wSUdOdmJuTnBjM1J6SUc5dWJIa2diMllnYVhSeklHTm9hV3hrY21WdUxDQnViM1FnYVhSelpXeG1MaUJUYnlCcFpseHVJQ0FnSUM4dklIUm9aU0J5YjI5MElHaGhjeUJoYmlCbFptWmxZM1FzSUhkbElHNWxaV1FnZEc4Z1lXUmtJR2wwSUhSdklIUm9aU0JsYm1RZ2IyWWdkR2hsSUd4cGMzUXVJRlJvWlZ4dUlDQWdJQzh2SUhKbGMzVnNkR2x1WnlCc2FYTjBJR2x6SUhSb1pTQnpaWFFnZEdoaGRDQjNiM1ZzWkNCaVpXeHZibWNnZEc4Z2RHaGxJSEp2YjNRbmN5QndZWEpsYm5Rc0lHbG1JR2wwWEc0Z0lDQWdMeThnYUdGa0lHOXVaVHNnZEdoaGRDQnBjeXdnWVd4c0lIUm9aU0JsWm1abFkzUnpJR2x1SUhSb1pTQjBjbVZsSUdsdVkyeDFaR2x1WnlCMGFHVWdjbTl2ZEM1Y2JpQWdJQ0JwWmlBb1ptbHVhWE5vWldSWGIzSnJMbXhoYzNSRlptWmxZM1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdacGJtbHphR1ZrVjI5eWF5NXNZWE4wUldabVpXTjBMbTVsZUhSRlptWmxZM1FnUFNCbWFXNXBjMmhsWkZkdmNtczdYRzRnSUNBZ0lDQm1hWEp6ZEVWbVptVmpkQ0E5SUdacGJtbHphR1ZrVjI5eWF5NW1hWEp6ZEVWbVptVmpkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1ptbHljM1JGWm1abFkzUWdQU0JtYVc1cGMyaGxaRmR2Y21zN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGUm9aWEpsSUdseklHNXZJR1ZtWm1WamRDQnZiaUIwYUdVZ2NtOXZkQzVjYmlBZ0lDQm1hWEp6ZEVWbVptVmpkQ0E5SUdacGJtbHphR1ZrVjI5eWF5NW1hWEp6ZEVWbVptVmpkRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaG1hWEp6ZEVWbVptVmpkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSFpoY2lCd2NtVjJSWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQTlJR1Y0WldOMWRHbHZia052Ym5SbGVIUTdYRzRnSUNBZ1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENCOFBTQkRiMjF0YVhSRGIyNTBaWGgwTzF4dUlDQWdJSFpoY2lCd2NtVjJTVzUwWlhKaFkzUnBiMjV6SUQwZ2NIVnphRWx1ZEdWeVlXTjBhVzl1Y3loeWIyOTBLVHNnTHk4Z1VtVnpaWFFnZEdocGN5QjBieUJ1ZFd4c0lHSmxabTl5WlNCallXeHNhVzVuSUd4cFptVmplV05zWlhOY2JseHVJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFOTNibVZ5SkRJdVkzVnljbVZ1ZENBOUlHNTFiR3c3SUM4dklGUm9aU0JqYjIxdGFYUWdjR2hoYzJVZ2FYTWdZbkp2YTJWdUlHbHVkRzhnYzJWMlpYSmhiQ0J6ZFdJdGNHaGhjMlZ6TGlCWFpTQmtieUJoSUhObGNHRnlZWFJsSUhCaGMzTmNiaUFnSUNBdkx5QnZaaUIwYUdVZ1pXWm1aV04wSUd4cGMzUWdabTl5SUdWaFkyZ2djR2hoYzJVNklHRnNiQ0J0ZFhSaGRHbHZiaUJsWm1abFkzUnpJR052YldVZ1ltVm1iM0psSUdGc2JGeHVJQ0FnSUM4dklHeGhlVzkxZENCbFptWmxZM1J6TENCaGJtUWdjMjhnYjI0dVhHNGdJQ0FnTHk4Z1ZHaGxJR1pwY25OMElIQm9ZWE5sSUdFZ1hDSmlaV1p2Y21VZ2JYVjBZWFJwYjI1Y0lpQndhR0Z6WlM0Z1YyVWdkWE5sSUhSb2FYTWdjR2hoYzJVZ2RHOGdjbVZoWkNCMGFHVmNiaUFnSUNBdkx5QnpkR0YwWlNCdlppQjBhR1VnYUc5emRDQjBjbVZsSUhKcFoyaDBJR0psWm05eVpTQjNaU0J0ZFhSaGRHVWdhWFF1SUZSb2FYTWdhWE1nZDJobGNtVmNiaUFnSUNBdkx5Qm5aWFJUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNCcGN5QmpZV3hzWldRdVhHNWNiaUFnSUNCemRHRnlkRU52YlcxcGRGTnVZWEJ6YUc5MFJXWm1aV04wYzFScGJXVnlLQ2s3WEc0Z0lDQWdjSEpsY0dGeVpVWnZja052YlcxcGRDaHliMjkwTG1OdmJuUmhhVzVsY2tsdVptOHBPMXh1SUNBZ0lHNWxlSFJGWm1abFkzUWdQU0JtYVhKemRFVm1abVZqZER0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yS0c1MWJHd3NJR052YlcxcGRFSmxabTl5WlUxMWRHRjBhVzl1UldabVpXTjBjeXdnYm5Wc2JDazdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjME5oZFdkb2RFVnljbTl5S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lTaHVaWGgwUldabVpXTjBJQ0U5UFNCdWRXeHNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVGFHOTFiR1FnWW1VZ2QyOXlhMmx1WnlCdmJpQmhiaUJsWm1abFkzUXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1pYSnliM0lnUFNCamJHVmhja05oZFdkb2RFVnljbTl5S0NrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ3ZEhWeVpVTnZiVzFwZEZCb1lYTmxSWEp5YjNJb2JtVjRkRVZtWm1WamRDd2daWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJRzVsZUhSRlptWmxZM1FnUFNCdVpYaDBSV1ptWldOMExtNWxlSFJGWm1abFkzUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJSGRvYVd4bElDaHVaWGgwUldabVpXTjBJQ0U5UFNCdWRXeHNLVHRjYmx4dUlDQWdJSE4wYjNCRGIyMXRhWFJUYm1Gd2MyaHZkRVZtWm1WamRITlVhVzFsY2lncE8xeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdUV0Z5YXlCMGFHVWdZM1Z5Y21WdWRDQmpiMjF0YVhRZ2RHbHRaU0IwYnlCaVpTQnphR0Z5WldRZ1lua2dZV3hzSUZCeWIyWnBiR1Z5Y3lCcGJpQjBhR2x6WEc0Z0lDQWdJQ0F2THlCaVlYUmphQzRnVkdocGN5QmxibUZpYkdWeklIUm9aVzBnZEc4Z1ltVWdaM0p2ZFhCbFpDQnNZWFJsY2k1Y2JpQWdJQ0FnSUhKbFkyOXlaRU52YlcxcGRGUnBiV1VvS1R0Y2JpQWdJQ0I5SUM4dklGUm9aU0J1WlhoMElIQm9ZWE5sSUdseklIUm9aU0J0ZFhSaGRHbHZiaUJ3YUdGelpTd2dkMmhsY21VZ2QyVWdiWFYwWVhSbElIUm9aU0JvYjNOMElIUnlaV1V1WEc1Y2JseHVJQ0FnSUhOMFlYSjBRMjl0YldsMFNHOXpkRVZtWm1WamRITlVhVzFsY2lncE8xeHVJQ0FnSUc1bGVIUkZabVpsWTNRZ1BTQm1hWEp6ZEVWbVptVmpkRHRjYmx4dUlDQWdJR1J2SUh0Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJLRzUxYkd3c0lHTnZiVzFwZEUxMWRHRjBhVzl1UldabVpXTjBjeXdnYm5Wc2JDd2djbTl2ZEN3Z2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJDazdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjME5oZFdkb2RFVnljbTl5S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lTaHVaWGgwUldabVpXTjBJQ0U5UFNCdWRXeHNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVGFHOTFiR1FnWW1VZ2QyOXlhMmx1WnlCdmJpQmhiaUJsWm1abFkzUXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gyVnljbTl5SUQwZ1kyeGxZWEpEWVhWbmFIUkZjbkp2Y2lncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnWTJGd2RIVnlaVU52YlcxcGRGQm9ZWE5sUlhKeWIzSW9ibVY0ZEVWbVptVmpkQ3dnWDJWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSV1ptWldOMElEMGdibVY0ZEVWbVptVmpkQzV1WlhoMFJXWm1aV04wTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCM2FHbHNaU0FvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrN1hHNWNiaUFnSUNCemRHOXdRMjl0YldsMFNHOXpkRVZtWm1WamRITlVhVzFsY2lncE8xeHVJQ0FnSUhKbGMyVjBRV1owWlhKRGIyMXRhWFFvY205dmRDNWpiMjUwWVdsdVpYSkpibVp2S1RzZ0x5OGdWR2hsSUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nZEhKbFpTQnBjeUJ1YjNjZ2RHaGxJR04xY25KbGJuUWdkSEpsWlM0Z1ZHaHBjeUJ0ZFhOMElHTnZiV1VnWVdaMFpYSmNiaUFnSUNBdkx5QjBhR1VnYlhWMFlYUnBiMjRnY0doaGMyVXNJSE52SUhSb1lYUWdkR2hsSUhCeVpYWnBiM1Z6SUhSeVpXVWdhWE1nYzNScGJHd2dZM1Z5Y21WdWRDQmtkWEpwYm1kY2JpQWdJQ0F2THlCamIyMXdiMjVsYm5SWGFXeHNWVzV0YjNWdWRDd2dZblYwSUdKbFptOXlaU0IwYUdVZ2JHRjViM1YwSUhCb1lYTmxMQ0J6YnlCMGFHRjBJSFJvWlNCbWFXNXBjMmhsWkZ4dUlDQWdJQzh2SUhkdmNtc2dhWE1nWTNWeWNtVnVkQ0JrZFhKcGJtY2dZMjl0Y0c5dVpXNTBSR2xrVFc5MWJuUXZWWEJrWVhSbExseHVYRzRnSUNBZ2NtOXZkQzVqZFhKeVpXNTBJRDBnWm1sdWFYTm9aV1JYYjNKck95QXZMeUJVYUdVZ2JtVjRkQ0J3YUdGelpTQnBjeUIwYUdVZ2JHRjViM1YwSUhCb1lYTmxMQ0IzYUdWeVpTQjNaU0JqWVd4c0lHVm1abVZqZEhNZ2RHaGhkQ0J5WldGa1hHNGdJQ0FnTHk4Z2RHaGxJR2h2YzNRZ2RISmxaU0JoWm5SbGNpQnBkQ2R6SUdKbFpXNGdiWFYwWVhSbFpDNGdWR2hsSUdsa2FXOXRZWFJwWXlCMWMyVWdZMkZ6WlNCbWIzSWdkR2hwY3lCcGMxeHVJQ0FnSUM4dklHeGhlVzkxZEN3Z1luVjBJR05zWVhOeklHTnZiWEJ2Ym1WdWRDQnNhV1psWTNsamJHVnpJR0ZzYzI4Z1ptbHlaU0JvWlhKbElHWnZjaUJzWldkaFkza2djbVZoYzI5dWN5NWNibHh1SUNBZ0lITjBZWEowUTI5dGJXbDBUR2xtWlVONVkyeGxjMVJwYldWeUtDazdYRzRnSUNBZ2JtVjRkRVZtWm1WamRDQTlJR1pwY25OMFJXWm1aV04wTzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBiblp2YTJWSGRXRnlaR1ZrUTJGc2JHSmhZMnNvYm5Wc2JDd2dZMjl0YldsMFRHRjViM1YwUldabVpXTjBjeXdnYm5Wc2JDd2djbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hvWVhORFlYVm5hSFJGY25KdmNpZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLQ0VvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVMmh2ZFd4a0lHSmxJSGR2Y210cGJtY2diMjRnWVc0Z1pXWm1aV04wTGx3aUlDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjlsY25KdmNqSWdQU0JqYkdWaGNrTmhkV2RvZEVWeWNtOXlLQ2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpZWEIwZFhKbFEyOXRiV2wwVUdoaGMyVkZjbkp2Y2lodVpYaDBSV1ptWldOMExDQmZaWEp5YjNJeUtUdGNiaUFnSUNBZ0lDQWdJQ0J1WlhoMFJXWm1aV04wSUQwZ2JtVjRkRVZtWm1WamRDNXVaWGgwUldabVpXTjBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0IzYUdsc1pTQW9ibVY0ZEVWbVptVmpkQ0FoUFQwZ2JuVnNiQ2s3WEc1Y2JpQWdJQ0J6ZEc5d1EyOXRiV2wwVEdsbVpVTjVZMnhsYzFScGJXVnlLQ2s3WEc0Z0lDQWdibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdJQzh2SUZSbGJHd2dVMk5vWldSMWJHVnlJSFJ2SUhscFpXeGtJR0YwSUhSb1pTQmxibVFnYjJZZ2RHaGxJR1p5WVcxbExDQnpieUIwYUdVZ1luSnZkM05sY2lCb1lYTWdZVzVjYmlBZ0lDQXZMeUJ2Y0hCdmNuUjFibWwwZVNCMGJ5QndZV2x1ZEM1Y2JseHVJQ0FnSUhKbGNYVmxjM1JRWVdsdWRDZ3BPMXh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdjRzl3U1c1MFpYSmhZM1JwYjI1ektIQnlaWFpKYm5SbGNtRmpkR2x2Ym5NcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFNCd2NtVjJSWGhsWTNWMGFXOXVRMjl1ZEdWNGREdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQXZMeUJPYnlCbFptWmxZM1J6TGx4dUlDQWdJSEp2YjNRdVkzVnljbVZ1ZENBOUlHWnBibWx6YUdWa1YyOXlhenNnTHk4Z1RXVmhjM1Z5WlNCMGFHVnpaU0JoYm5sM1lYa2djMjhnZEdobElHWnNZVzFsWjNKaGNHZ2daWGh3YkdsamFYUnNlU0J6YUc5M2N5QjBhR0YwSUhSb1pYSmxJSGRsY21WY2JpQWdJQ0F2THlCdWJ5QmxabVpsWTNSekxseHVJQ0FnSUM4dklGUlBSRTg2SUUxaGVXSmxJSFJvWlhKbEozTWdZU0JpWlhSMFpYSWdkMkY1SUhSdklISmxjRzl5ZENCMGFHbHpMbHh1WEc0Z0lDQWdjM1JoY25SRGIyMXRhWFJUYm1Gd2MyaHZkRVZtWm1WamRITlVhVzFsY2lncE8xeHVJQ0FnSUhOMGIzQkRiMjF0YVhSVGJtRndjMmh2ZEVWbVptVmpkSE5VYVcxbGNpZ3BPMXh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdjbVZqYjNKa1EyOXRiV2wwVkdsdFpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjBZWEowUTI5dGJXbDBTRzl6ZEVWbVptVmpkSE5VYVcxbGNpZ3BPMXh1SUNBZ0lITjBiM0JEYjIxdGFYUkliM04wUldabVpXTjBjMVJwYldWeUtDazdYRzRnSUNBZ2MzUmhjblJEYjIxdGFYUk1hV1psUTNsamJHVnpWR2x0WlhJb0tUdGNiaUFnSUNCemRHOXdRMjl0YldsMFRHbG1aVU41WTJ4bGMxUnBiV1Z5S0NrN1hHNGdJSDFjYmx4dUlDQnpkRzl3UTI5dGJXbDBWR2x0WlhJb0tUdGNiaUFnZG1GeUlISnZiM1JFYVdSSVlYWmxVR0Z6YzJsMlpVVm1abVZqZEhNZ1BTQnliMjkwUkc5bGMwaGhkbVZRWVhOemFYWmxSV1ptWldOMGN6dGNibHh1SUNCcFppQW9jbTl2ZEVSdlpYTklZWFpsVUdGemMybDJaVVZtWm1WamRITXBJSHRjYmlBZ0lDQXZMeUJVYUdseklHTnZiVzFwZENCb1lYTWdjR0Z6YzJsMlpTQmxabVpsWTNSekxpQlRkR0Z6YUNCaElISmxabVZ5Wlc1alpTQjBieUIwYUdWdExpQkNkWFFnWkc5dUozUmNiaUFnSUNBdkx5QnpZMmhsWkhWc1pTQmhJR05oYkd4aVlXTnJJSFZ1ZEdsc0lHRm1kR1Z5SUdac2RYTm9hVzVuSUd4aGVXOTFkQ0IzYjNKckxseHVJQ0FnSUhKdmIzUkViMlZ6U0dGMlpWQmhjM05wZG1WRlptWmxZM1J6SUQwZ1ptRnNjMlU3WEc0Z0lDQWdjbTl2ZEZkcGRHaFFaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE1nUFNCeWIyOTBPMXh1SUNBZ0lIQmxibVJwYm1kUVlYTnphWFpsUldabVpXTjBjMFY0Y0dseVlYUnBiMjVVYVcxbElEMGdaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJQ0FnY0dWdVpHbHVaMUJoYzNOcGRtVkZabVpsWTNSelVtVnVaR1Z5VUhKcGIzSnBkSGtnUFNCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc08xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRmRsSUdGeVpTQmtiMjVsSUhkcGRHZ2dkR2hsSUdWbVptVmpkQ0JqYUdGcGJpQmhkQ0IwYUdseklIQnZhVzUwSUhOdklHeGxkQ2R6SUdOc1pXRnlJSFJvWlZ4dUlDQWdJQzh2SUc1bGVIUkZabVpsWTNRZ2NHOXBiblJsY25NZ2RHOGdZWE56YVhOMElIZHBkR2dnUjBNdUlFbG1JSGRsSUdoaGRtVWdjR0Z6YzJsMlpTQmxabVpsWTNSekxDQjNaU2RzYkZ4dUlDQWdJQzh2SUdOc1pXRnlJSFJvYVhNZ2FXNGdabXgxYzJoUVlYTnphWFpsUldabVpXTjBjeTVjYmlBZ0lDQnVaWGgwUldabVpXTjBJRDBnWm1seWMzUkZabVpsWTNRN1hHNWNiaUFnSUNCM2FHbHNaU0FvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzVsZUhST1pYaDBSV1ptWldOMElEMGdibVY0ZEVWbVptVmpkQzV1WlhoMFJXWm1aV04wTzF4dUlDQWdJQ0FnYm1WNGRFVm1abVZqZEM1dVpYaDBSV1ptWldOMElEMGdiblZzYkR0Y2JpQWdJQ0FnSUc1bGVIUkZabVpsWTNRZ1BTQnVaWGgwVG1WNGRFVm1abVZqZER0Y2JpQWdJQ0I5WEc0Z0lIMGdMeThnUTJobFkyc2dhV1lnZEdobGNtVW5jeUJ5WlcxaGFXNXBibWNnZDI5eWF5QnZiaUIwYUdseklISnZiM1JjYmx4dVhHNGdJSFpoY2lCeVpXMWhhVzVwYm1kRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUhKdmIzUXVabWx5YzNSUVpXNWthVzVuVkdsdFpUdGNibHh1SUNCcFppQW9jbVZ0WVdsdWFXNW5SWGh3YVhKaGRHbHZibFJwYldVZ0lUMDlJRTV2VjI5eWF5a2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lHbG1JQ2h6Y0dGM2JtVmtWMjl5YTBSMWNtbHVaMUpsYm1SbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1pYaHdhWEpoZEdsdmJsUnBiV1Z6SUQwZ2MzQmhkMjVsWkZkdmNtdEVkWEpwYm1kU1pXNWtaWEk3WEc0Z0lDQWdJQ0FnSUhOd1lYZHVaV1JYYjNKclJIVnlhVzVuVW1WdVpHVnlJRDBnYm5Wc2JEdGNibHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdWNGNHbHlZWFJwYjI1VWFXMWxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSE5qYUdWa2RXeGxTVzUwWlhKaFkzUnBiMjV6S0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbGMxdHBYU3dnY205dmRDNXRaVzF2YVhwbFpFbHVkR1Z5WVdOMGFXOXVjeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MyTm9aV1IxYkdWUVpXNWthVzVuU1c1MFpYSmhZM1JwYjI1ektISnZiM1FzSUhKbGJXRnBibWx1WjBWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnU1dZZ2RHaGxjbVVuY3lCdWJ5QnlaVzFoYVc1cGJtY2dkMjl5YXl3Z2QyVWdZMkZ1SUdOc1pXRnlJSFJvWlNCelpYUWdiMllnWVd4eVpXRmtlU0JtWVdsc1pXUmNiaUFnSUNBdkx5Qmxjbkp2Y2lCaWIzVnVaR0Z5YVdWekxseHVJQ0FnSUd4bFoyRmplVVZ5Y205eVFtOTFibVJoY21sbGMxUm9ZWFJCYkhKbFlXUjVSbUZwYkdWa0lEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lIdGNiaUFnSUNCcFppQW9JWEp2YjNSRWFXUklZWFpsVUdGemMybDJaVVZtWm1WamRITXBJSHRjYmlBZ0lDQWdJQzh2SUVsbUlIUm9aWEpsSUdGeVpTQnVieUJ3WVhOemFYWmxJR1ZtWm1WamRITXNJSFJvWlc0Z2QyVWdZMkZ1SUdOdmJYQnNaWFJsSUhSb1pTQndaVzVrYVc1bklHbHVkR1Z5WVdOMGFXOXVjeTVjYmlBZ0lDQWdJQzh2SUU5MGFHVnlkMmx6WlN3Z2QyVW5iR3dnZDJGcGRDQjFiblJwYkNCaFpuUmxjaUIwYUdVZ2NHRnpjMmwyWlNCbFptWmxZM1J6SUdGeVpTQm1iSFZ6YUdWa0xseHVJQ0FnSUNBZ0x5OGdWMkZwZENCMGJ5QmtieUIwYUdseklIVnVkR2xzSUdGbWRHVnlJSEpsYldGcGJtbHVaeUIzYjNKcklHaGhjeUJpWldWdUlITmphR1ZrZFd4bFpDeGNiaUFnSUNBZ0lDOHZJSE52SUhSb1lYUWdkMlVnWkc5dUozUWdjSEpsYldGMGRYSmxiSGtnYzJsbmJtRnNJR052YlhCc1pYUmxJR1p2Y2lCcGJuUmxjbUZqZEdsdmJuTWdkMmhsYmlCMGFHVnlaU2R6SUdVdVp5NGdhR2xrWkdWdUlIZHZjbXN1WEc0Z0lDQWdJQ0JtYVc1cGMyaFFaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCcFppQW9jbVZ0WVdsdWFXNW5SWGh3YVhKaGRHbHZibFJwYldVZ1BUMDlJRk41Ym1NcElIdGNiaUFnSUNBdkx5QkRiM1Z1ZENCMGFHVWdiblZ0WW1WeUlHOW1JSFJwYldWeklIUm9aU0J5YjI5MElITjVibU5vY205dWIzVnpiSGtnY21VdGNtVnVaR1Z5Y3lCM2FYUm9iM1YwWEc0Z0lDQWdMeThnWm1sdWFYTm9hVzVuTGlCSlppQjBhR1Z5WlNCaGNtVWdkRzl2SUcxaGJua3NJR2wwSUdsdVpHbGpZWFJsY3lCaGJpQnBibVpwYm1sMFpTQjFjR1JoZEdVZ2JHOXZjQzVjYmlBZ0lDQnBaaUFvY205dmRDQTlQVDBnY205dmRGZHBkR2hPWlhOMFpXUlZjR1JoZEdWektTQjdYRzRnSUNBZ0lDQnVaWE4wWldSVmNHUmhkR1ZEYjNWdWRDc3JPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdVpYTjBaV1JWY0dSaGRHVkRiM1Z1ZENBOUlEQTdYRzRnSUNBZ0lDQnliMjkwVjJsMGFFNWxjM1JsWkZWd1pHRjBaWE1nUFNCeWIyOTBPMXh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnVaWE4wWldSVmNHUmhkR1ZEYjNWdWRDQTlJREE3WEc0Z0lIMWNibHh1SUNCdmJrTnZiVzFwZEZKdmIzUW9abWx1YVhOb1pXUlhiM0pyTG5OMFlYUmxUbTlrWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwT3lBdkx5QkJiSGRoZVhNZ1kyRnNiQ0IwYUdseklHSmxabTl5WlNCbGVHbDBhVzVuSUdCamIyMXRhWFJTYjI5MFlDd2dkRzhnWlc1emRYSmxJSFJvWVhRZ1lXNTVYRzRnSUM4dklHRmtaR2wwYVc5dVlXd2dkMjl5YXlCdmJpQjBhR2x6SUhKdmIzUWdhWE1nYzJOb1pXUjFiR1ZrTGx4dVhHNGdJR1Z1YzNWeVpWSnZiM1JKYzFOamFHVmtkV3hsWkNoeWIyOTBLVHRjYmx4dUlDQnBaaUFvYUdGelZXNWpZWFZuYUhSRmNuSnZjaWtnZTF4dUlDQWdJR2hoYzFWdVkyRjFaMmgwUlhKeWIzSWdQU0JtWVd4elpUdGNiaUFnSUNCMllYSWdYMlZ5Y205eU15QTlJR1pwY25OMFZXNWpZWFZuYUhSRmNuSnZjanRjYmlBZ0lDQm1hWEp6ZEZWdVkyRjFaMmgwUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0FnSUhSb2NtOTNJRjlsY25KdmNqTTdYRzRnSUgxY2JseHVJQ0JwWmlBb0tHVjRaV04xZEdsdmJrTnZiblJsZUhRZ0ppQk1aV2RoWTNsVmJtSmhkR05vWldSRGIyNTBaWGgwS1NBaFBUMGdUbTlEYjI1MFpYaDBLU0I3WEc0Z0lDQWdMeThnVkdocGN5QnBjeUJoSUd4bFoyRmplU0JsWkdkbElHTmhjMlV1SUZkbElHcDFjM1FnWTI5dGJXbDBkR1ZrSUhSb1pTQnBibWwwYVdGc0lHMXZkVzUwSUc5bVhHNGdJQ0FnTHk4Z1lTQlNaV0ZqZEVSUFRTNXlaVzVrWlhJdFpXUWdjbTl2ZENCcGJuTnBaR1VnYjJZZ1ltRjBZMmhsWkZWd1pHRjBaWE11SUZSb1pTQmpiMjF0YVhRZ1ptbHlaV1JjYmlBZ0lDQXZMeUJ6ZVc1amFISnZibTkxYzJ4NUxDQmlkWFFnYkdGNWIzVjBJSFZ3WkdGMFpYTWdjMmh2ZFd4a0lHSmxJR1JsWm1WeWNtVmtJSFZ1ZEdsc0lIUm9aU0JsYm1SY2JpQWdJQ0F2THlCdlppQjBhR1VnWW1GMFkyZ3VYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgwZ0x5OGdTV1lnYkdGNWIzVjBJSGR2Y21zZ2QyRnpJSE5qYUdWa2RXeGxaQ3dnWm14MWMyZ2dhWFFnYm05M0xseHVYRzVjYmlBZ1pteDFjMmhUZVc1alEyRnNiR0poWTJ0UmRXVjFaU2dwTzF4dUlDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdZMjl0YldsMFFtVm1iM0psVFhWMFlYUnBiMjVGWm1abFkzUnpLQ2tnZTF4dUlDQjNhR2xzWlNBb2JtVjRkRVZtWm1WamRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIWmhjaUJsWm1abFkzUlVZV2NnUFNCdVpYaDBSV1ptWldOMExtVm1abVZqZEZSaFp6dGNibHh1SUNBZ0lHbG1JQ2dvWldabVpXTjBWR0ZuSUNZZ1UyNWhjSE5vYjNRcElDRTlQU0JPYjBWbVptVmpkQ2tnZTF4dUlDQWdJQ0FnYzJWMFEzVnljbVZ1ZEVacFltVnlLRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJQ0FnY21WamIzSmtSV1ptWldOMEtDazdYRzRnSUNBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SUc1bGVIUkZabVpsWTNRdVlXeDBaWEp1WVhSbE8xeHVJQ0FnSUNBZ1kyOXRiV2wwUW1WbWIzSmxUWFYwWVhScGIyNU1hV1psUTNsamJHVnpLR04xY25KbGJuUXNJRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJQ0FnY21WelpYUkRkWEp5Wlc1MFJtbGlaWElvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0tHVm1abVZqZEZSaFp5QW1JRkJoYzNOcGRtVXBJQ0U5UFNCT2IwVm1abVZqZENrZ2UxeHVJQ0FnSUNBZ0x5OGdTV1lnZEdobGNtVWdZWEpsSUhCaGMzTnBkbVVnWldabVpXTjBjeXdnYzJOb1pXUjFiR1VnWVNCallXeHNZbUZqYXlCMGJ5Qm1iSFZ6YUNCaGRGeHVJQ0FnSUNBZ0x5OGdkR2hsSUdWaGNteHBaWE4wSUc5d2NHOXlkSFZ1YVhSNUxseHVJQ0FnSUNBZ2FXWWdLQ0Z5YjI5MFJHOWxjMGhoZG1WUVlYTnphWFpsUldabVpXTjBjeWtnZTF4dUlDQWdJQ0FnSUNCeWIyOTBSRzlsYzBoaGRtVlFZWE56YVhabFJXWm1aV04wY3lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhOamFHVmtkV3hsUTJGc2JHSmhZMnNvVG05eWJXRnNVSEpwYjNKcGRIa3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJRzVsZUhSRlptWmxZM1FnUFNCdVpYaDBSV1ptWldOMExtNWxlSFJGWm1abFkzUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBUWFYwWVhScGIyNUZabVpsWTNSektISnZiM1FzSUhKbGJtUmxjbEJ5YVc5eWFYUjVUR1YyWld3cElIdGNiaUFnTHk4Z1ZFOUVUem9nVTJodmRXeGtJSEJ5YjJKaFlteDVJRzF2ZG1VZ2RHaGxJR0oxYkdzZ2IyWWdkR2hwY3lCbWRXNWpkR2x2YmlCMGJ5QmpiMjF0YVhSWGIzSnJMbHh1SUNCM2FHbHNaU0FvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhObGRFTjFjbkpsYm5SR2FXSmxjaWh1WlhoMFJXWm1aV04wS1R0Y2JpQWdJQ0IyWVhJZ1pXWm1aV04wVkdGbklEMGdibVY0ZEVWbVptVmpkQzVsWm1abFkzUlVZV2M3WEc1Y2JpQWdJQ0JwWmlBb1pXWm1aV04wVkdGbklDWWdRMjl1ZEdWdWRGSmxjMlYwS1NCN1hHNGdJQ0FnSUNCamIyMXRhWFJTWlhObGRGUmxlSFJEYjI1MFpXNTBLRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobFptWmxZM1JVWVdjZ0ppQlNaV1lwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdibVY0ZEVWbVptVmpkQzVoYkhSbGNtNWhkR1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR052YlcxcGRFUmxkR0ZqYUZKbFppaGpkWEp5Wlc1MEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlDOHZJRlJvWlNCbWIyeHNiM2RwYm1jZ2MzZHBkR05vSUhOMFlYUmxiV1Z1ZENCcGN5QnZibXg1SUdOdmJtTmxjbTVsWkNCaFltOTFkQ0J3YkdGalpXMWxiblFzWEc0Z0lDQWdMeThnZFhCa1lYUmxjeXdnWVc1a0lHUmxiR1YwYVc5dWN5NGdWRzhnWVhadmFXUWdibVZsWkdsdVp5QjBieUJoWkdRZ1lTQmpZWE5sSUdadmNpQmxkbVZ5ZVNCd2IzTnphV0pzWlZ4dUlDQWdJQzh2SUdKcGRHMWhjQ0IyWVd4MVpTd2dkMlVnY21WdGIzWmxJSFJvWlNCelpXTnZibVJoY25rZ1pXWm1aV04wY3lCbWNtOXRJSFJvWlNCbFptWmxZM1FnZEdGbklHRnVaRnh1SUNBZ0lDOHZJSE4zYVhSamFDQnZiaUIwYUdGMElIWmhiSFZsTGx4dVhHNWNiaUFnSUNCMllYSWdjSEpwYldGeWVVVm1abVZqZEZSaFp5QTlJR1ZtWm1WamRGUmhaeUFtSUNoUWJHRmpaVzFsYm5RZ2ZDQlZjR1JoZEdVZ2ZDQkVaV3hsZEdsdmJpQjhJRWg1WkhKaGRHbHVaeWs3WEc1Y2JpQWdJQ0J6ZDJsMFkyZ2dLSEJ5YVcxaGNubEZabVpsWTNSVVlXY3BJSHRjYmlBZ0lDQWdJR05oYzJVZ1VHeGhZMlZ0Wlc1ME9seHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dGJXbDBVR3hoWTJWdFpXNTBLRzVsZUhSRlptWmxZM1FwT3lBdkx5QkRiR1ZoY2lCMGFHVWdYQ0p3YkdGalpXMWxiblJjSWlCbWNtOXRJR1ZtWm1WamRDQjBZV2NnYzI4Z2RHaGhkQ0IzWlNCcmJtOTNJSFJvWVhRZ2RHaHBjeUJwYzF4dUlDQWdJQ0FnSUNBZ0lDOHZJR2x1YzJWeWRHVmtMQ0JpWldadmNtVWdZVzU1SUd4cFptVXRZM2xqYkdWeklHeHBhMlVnWTI5dGNHOXVaVzUwUkdsa1RXOTFiblFnWjJWMGN5QmpZV3hzWldRdVhHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dabWx1WkVSUFRVNXZaR1VnWkc5bGMyNG5kQ0J5Wld4NUlHOXVJSFJvYVhNZ1lXNTVJRzF2Y21VZ1luVjBJR2x6VFc5MWJuUmxaQ0JrYjJWelhHNGdJQ0FnSUNBZ0lDQWdMeThnWVc1a0lHbHpUVzkxYm5SbFpDQnBjeUJrWlhCeVpXTmhkR1ZrSUdGdWVYZGhlU0J6YnlCM1pTQnphRzkxYkdRZ1ltVWdZV0pzWlNCMGJ5QnJhV3hzSUhSb2FYTXVYRzVjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSV1ptWldOMExtVm1abVZqZEZSaFp5QW1QU0IrVUd4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTmhjMlVnVUd4aFkyVnRaVzUwUVc1a1ZYQmtZWFJsT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVUd4aFkyVnRaVzUwWEc0Z0lDQWdJQ0FnSUNBZ1kyOXRiV2wwVUd4aFkyVnRaVzUwS0c1bGVIUkZabVpsWTNRcE95QXZMeUJEYkdWaGNpQjBhR1VnWENKd2JHRmpaVzFsYm5SY0lpQm1jbTl0SUdWbVptVmpkQ0IwWVdjZ2MyOGdkR2hoZENCM1pTQnJibTkzSUhSb1lYUWdkR2hwY3lCcGMxeHVJQ0FnSUNBZ0lDQWdJQzh2SUdsdWMyVnlkR1ZrTENCaVpXWnZjbVVnWVc1NUlHeHBabVV0WTNsamJHVnpJR3hwYTJVZ1kyOXRjRzl1Wlc1MFJHbGtUVzkxYm5RZ1oyVjBjeUJqWVd4c1pXUXVYRzVjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSV1ptWldOMExtVm1abVZqZEZSaFp5QW1QU0IrVUd4aFkyVnRaVzUwT3lBdkx5QlZjR1JoZEdWY2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZlkzVnljbVZ1ZENBOUlHNWxlSFJGWm1abFkzUXVZV3gwWlhKdVlYUmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJXMXBkRmR2Y21zb1gyTjFjbkpsYm5Rc0lHNWxlSFJGWm1abFkzUXBPMXh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOaGMyVWdTSGxrY21GMGFXNW5PbHh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2JtVjRkRVZtWm1WamRDNWxabVpsWTNSVVlXY2dKajBnZmtoNVpISmhkR2x1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpZWE5sSUVoNVpISmhkR2x1WjBGdVpGVndaR0YwWlRwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJRzVsZUhSRlptWmxZM1F1WldabVpXTjBWR0ZuSUNZOUlINUllV1J5WVhScGJtYzdJQzh2SUZWd1pHRjBaVnh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjlqZFhKeVpXNTBNaUE5SUc1bGVIUkZabVpsWTNRdVlXeDBaWEp1WVhSbE8xeHVJQ0FnSUNBZ0lDQWdJR052YlcxcGRGZHZjbXNvWDJOMWNuSmxiblF5TENCdVpYaDBSV1ptWldOMEtUdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqWVhObElGVndaR0YwWlRwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZlkzVnljbVZ1ZERNZ1BTQnVaWGgwUldabVpXTjBMbUZzZEdWeWJtRjBaVHRjYmlBZ0lDQWdJQ0FnSUNCamIyMXRhWFJYYjNKcktGOWpkWEp5Wlc1ME15d2dibVY0ZEVWbVptVmpkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyRnpaU0JFWld4bGRHbHZianBjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZiVzFwZEVSbGJHVjBhVzl1S0hKdmIzUXNJRzVsZUhSRlptWmxZM1FzSUhKbGJtUmxjbEJ5YVc5eWFYUjVUR1YyWld3cE8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZTQXZMeUJVVDBSUE9pQlBibXg1SUhKbFkyOXlaQ0JoSUcxMWRHRjBhVzl1SUdWbVptVmpkQ0JwWmlCd2NtbHRZWEo1UldabVpXTjBWR0ZuSUdseklHNXZiaTE2WlhKdkxseHVYRzVjYmlBZ0lDQnlaV052Y21SRlptWmxZM1FvS1R0Y2JpQWdJQ0J5WlhObGRFTjFjbkpsYm5SR2FXSmxjaWdwTzF4dUlDQWdJRzVsZUhSRlptWmxZM1FnUFNCdVpYaDBSV1ptWldOMExtNWxlSFJGWm1abFkzUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBUR0Y1YjNWMFJXWm1aV04wY3loeWIyOTBMQ0JqYjIxdGFYUjBaV1JGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBdkx5QlVUMFJQT2lCVGFHOTFiR1FnY0hKdlltRmliSGtnYlc5MlpTQjBhR1VnWW5Wc2F5QnZaaUIwYUdseklHWjFibU4wYVc5dUlIUnZJR052YlcxcGRGZHZjbXN1WEc0Z0lIZG9hV3hsSUNodVpYaDBSV1ptWldOMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2MyVjBRM1Z5Y21WdWRFWnBZbVZ5S0c1bGVIUkZabVpsWTNRcE8xeHVJQ0FnSUhaaGNpQmxabVpsWTNSVVlXY2dQU0J1WlhoMFJXWm1aV04wTG1WbVptVmpkRlJoWnp0Y2JseHVJQ0FnSUdsbUlDaGxabVpsWTNSVVlXY2dKaUFvVlhCa1lYUmxJSHdnUTJGc2JHSmhZMnNwS1NCN1hHNGdJQ0FnSUNCeVpXTnZjbVJGWm1abFkzUW9LVHRjYmlBZ0lDQWdJSFpoY2lCamRYSnlaVzUwSUQwZ2JtVjRkRVZtWm1WamRDNWhiSFJsY201aGRHVTdYRzRnSUNBZ0lDQmpiMjF0YVhSTWFXWmxRM2xqYkdWektISnZiM1FzSUdOMWNuSmxiblFzSUc1bGVIUkZabVpsWTNRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGxabVpsWTNSVVlXY2dKaUJTWldZcElIdGNiaUFnSUNBZ0lISmxZMjl5WkVWbVptVmpkQ2dwTzF4dUlDQWdJQ0FnWTI5dGJXbDBRWFIwWVdOb1VtVm1LRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsYzJWMFEzVnljbVZ1ZEVacFltVnlLQ2s3WEc0Z0lDQWdibVY0ZEVWbVptVmpkQ0E5SUc1bGVIUkZabVpsWTNRdWJtVjRkRVZtWm1WamREdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtYkhWemFGQmhjM05wZG1WRlptWmxZM1J6S0NrZ2UxeHVJQ0JwWmlBb2NHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpVbVZ1WkdWeVVISnBiM0pwZEhrZ0lUMDlJRTV2VUhKcGIzSnBkSGtwSUh0Y2JpQWdJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUhCbGJtUnBibWRRWVhOemFYWmxSV1ptWldOMGMxSmxibVJsY2xCeWFXOXlhWFI1SUQ0Z1RtOXliV0ZzVUhKcGIzSnBkSGtnUHlCT2IzSnRZV3hRY21sdmNtbDBlU0E2SUhCbGJtUnBibWRRWVhOemFYWmxSV1ptWldOMGMxSmxibVJsY2xCeWFXOXlhWFI1TzF4dUlDQWdJSEJsYm1ScGJtZFFZWE56YVhabFJXWm1aV04wYzFKbGJtUmxjbEJ5YVc5eWFYUjVJRDBnVG05UWNtbHZjbWwwZVR0Y2JpQWdJQ0J5WlhSMWNtNGdjblZ1VjJsMGFGQnlhVzl5YVhSNUpERW9jSEpwYjNKcGRIbE1aWFpsYkN3Z1pteDFjMmhRWVhOemFYWmxSV1ptWldOMGMwbHRjR3dwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnNkWE5vVUdGemMybDJaVVZtWm1WamRITkpiWEJzS0NrZ2UxeHVJQ0JwWmlBb2NtOXZkRmRwZEdoUVpXNWthVzVuVUdGemMybDJaVVZtWm1WamRITWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCMllYSWdjbTl2ZENBOUlISnZiM1JYYVhSb1VHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpPMXh1SUNCMllYSWdaWGh3YVhKaGRHbHZibFJwYldVZ1BTQndaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE5GZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnY205dmRGZHBkR2hRWlc1a2FXNW5VR0Z6YzJsMlpVVm1abVZqZEhNZ1BTQnVkV3hzTzF4dUlDQndaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE5GZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNibHh1SUNCcFppQW9JU2dvWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0FtSUNoU1pXNWtaWEpEYjI1MFpYaDBJSHdnUTI5dGJXbDBRMjl1ZEdWNGRDa3BJRDA5UFNCT2IwTnZiblJsZUhRcEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpUTJGdWJtOTBJR1pzZFhOb0lIQmhjM05wZG1VZ1pXWm1aV04wY3lCM2FHbHNaU0JoYkhKbFlXUjVJSEpsYm1SbGNtbHVaeTVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlHVjRaV04xZEdsdmJrTnZiblJsZUhRN1hHNGdJR1Y0WldOMWRHbHZia052Ym5SbGVIUWdmRDBnUTI5dGJXbDBRMjl1ZEdWNGREdGNiaUFnZG1GeUlIQnlaWFpKYm5SbGNtRmpkR2x2Ym5NZ1BTQndkWE5vU1c1MFpYSmhZM1JwYjI1ektISnZiM1FwTzF4dVhHNGdJSHRjYmlBZ0lDQXZMeUJPYjNSbE9pQlVhR2x6SUdOMWNuSmxiblJzZVNCaGMzTjFiV1Z6SUhSb1pYSmxJR0Z5WlNCdWJ5QndZWE56YVhabElHVm1abVZqZEhNZ2IyNGdkR2hsSUhKdmIzUWdabWxpWlhKY2JpQWdJQ0F2THlCaVpXTmhkWE5sSUhSb1pTQnliMjkwSUdseklHNXZkQ0J3WVhKMElHOW1JR2wwY3lCdmQyNGdaV1ptWldOMElHeHBjM1F1WEc0Z0lDQWdMeThnVkdocGN5QmpiM1ZzWkNCamFHRnVaMlVnYVc0Z2RHaGxJR1oxZEhWeVpTNWNiaUFnSUNCMllYSWdYMlZtWm1WamRESWdQU0J5YjI5MExtTjFjbkpsYm5RdVptbHljM1JGWm1abFkzUTdYRzVjYmlBZ0lDQjNhR2xzWlNBb1gyVm1abVZqZERJZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdjMlYwUTNWeWNtVnVkRVpwWW1WeUtGOWxabVpsWTNReUtUdGNiaUFnSUNBZ0lDQWdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yS0c1MWJHd3NJR052YlcxcGRGQmhjM05wZG1WSWIyOXJSV1ptWldOMGN5d2diblZzYkN3Z1gyVm1abVZqZERJcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNob1lYTkRZWFZuYUhSRmNuSnZjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NFb1gyVm1abVZqZERJZ0lUMDlJRzUxYkd3cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbE5vYjNWc1pDQmlaU0IzYjNKcmFXNW5JRzl1SUdGdUlHVm1abVZqZEM1Y0lpQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJmWlhKeWIzSTFJRDBnWTJ4bFlYSkRZWFZuYUhSRmNuSnZjaWdwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdZMkZ3ZEhWeVpVTnZiVzFwZEZCb1lYTmxSWEp5YjNJb1gyVm1abVZqZERJc0lGOWxjbkp2Y2pVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WelpYUkRkWEp5Wlc1MFJtbGlaWElvS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJRzVsZUhST1pYaDBSV1ptWldOMElEMGdYMlZtWm1WamRESXVibVY0ZEVWbVptVmpkRHNnTHk4Z1VtVnRiM1psSUc1bGVIUkZabVpsWTNRZ2NHOXBiblJsY2lCMGJ5QmhjM05wYzNRZ1IwTmNibHh1SUNBZ0lDQWdYMlZtWm1WamRESXVibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQmZaV1ptWldOME1pQTlJRzVsZUhST1pYaDBSV1ptWldOME8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIdGNiaUFnSUNCd2IzQkpiblJsY21GamRHbHZibk1vY0hKbGRrbHVkR1Z5WVdOMGFXOXVjeWs3WEc0Z0lDQWdabWx1YVhOb1VHVnVaR2x1WjBsdWRHVnlZV04wYVc5dWN5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lIMWNibHh1SUNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwZ2NISmxka1Y0WldOMWRHbHZia052Ym5SbGVIUTdYRzRnSUdac2RYTm9VM2x1WTBOaGJHeGlZV05yVVhWbGRXVW9LVHNnTHk4Z1NXWWdZV1JrYVhScGIyNWhiQ0J3WVhOemFYWmxJR1ZtWm1WamRITWdkMlZ5WlNCelkyaGxaSFZzWldRc0lHbHVZM0psYldWdWRDQmhJR052ZFc1MFpYSXVJRWxtSUhSb2FYTmNiaUFnTHk4Z1pYaGpaV1ZrY3lCMGFHVWdiR2x0YVhRc0lIZGxKMnhzSUdacGNtVWdZU0IzWVhKdWFXNW5MbHh1WEc0Z0lHNWxjM1JsWkZCaGMzTnBkbVZWY0dSaGRHVkRiM1Z1ZENBOUlISnZiM1JYYVhSb1VHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpJRDA5UFNCdWRXeHNJRDhnTUNBNklHNWxjM1JsWkZCaGMzTnBkbVZWY0dSaGRHVkRiM1Z1ZENBcklERTdYRzRnSUhKbGRIVnliaUIwY25WbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMwRnNjbVZoWkhsR1lXbHNaV1JNWldkaFkzbEZjbkp2Y2tKdmRXNWtZWEo1S0dsdWMzUmhibU5sS1NCN1hHNGdJSEpsZEhWeWJpQnNaV2RoWTNsRmNuSnZja0p2ZFc1a1lYSnBaWE5VYUdGMFFXeHlaV0ZrZVVaaGFXeGxaQ0FoUFQwZ2JuVnNiQ0FtSmlCc1pXZGhZM2xGY25KdmNrSnZkVzVrWVhKcFpYTlVhR0YwUVd4eVpXRmtlVVpoYVd4bFpDNW9ZWE1vYVc1emRHRnVZMlVwTzF4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTB4bFoyRmplVVZ5Y205eVFtOTFibVJoY25sQmMwWmhhV3hsWkNocGJuTjBZVzVqWlNrZ2UxeHVJQ0JwWmlBb2JHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWFXVnpWR2hoZEVGc2NtVmhaSGxHWVdsc1pXUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnNaV2RoWTNsRmNuSnZja0p2ZFc1a1lYSnBaWE5VYUdGMFFXeHlaV0ZrZVVaaGFXeGxaQ0E5SUc1bGR5QlRaWFFvVzJsdWMzUmhibU5sWFNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWFXVnpWR2hoZEVGc2NtVmhaSGxHWVdsc1pXUXVZV1JrS0dsdWMzUmhibU5sS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndjbVZ3WVhKbFZHOVVhSEp2ZDFWdVkyRjFaMmgwUlhKeWIzSW9aWEp5YjNJcElIdGNiaUFnYVdZZ0tDRm9ZWE5WYm1OaGRXZG9kRVZ5Y205eUtTQjdYRzRnSUNBZ2FHRnpWVzVqWVhWbmFIUkZjbkp2Y2lBOUlIUnlkV1U3WEc0Z0lDQWdabWx5YzNSVmJtTmhkV2RvZEVWeWNtOXlJRDBnWlhKeWIzSTdYRzRnSUgxY2JuMWNibHh1ZG1GeUlHOXVWVzVqWVhWbmFIUkZjbkp2Y2lBOUlIQnlaWEJoY21WVWIxUm9jbTkzVlc1allYVm5hSFJGY25KdmNqdGNibHh1Wm5WdVkzUnBiMjRnWTJGd2RIVnlaVU52YlcxcGRGQm9ZWE5sUlhKeWIzSlBibEp2YjNRb2NtOXZkRVpwWW1WeUxDQnpiM1Z5WTJWR2FXSmxjaXdnWlhKeWIzSXBJSHRjYmlBZ2RtRnlJR1Z5Y205eVNXNW1ieUE5SUdOeVpXRjBaVU5oY0hSMWNtVmtWbUZzZFdVb1pYSnliM0lzSUhOdmRYSmpaVVpwWW1WeUtUdGNiaUFnZG1GeUlIVndaR0YwWlNBOUlHTnlaV0YwWlZKdmIzUkZjbkp2Y2xWd1pHRjBaU2h5YjI5MFJtbGlaWElzSUdWeWNtOXlTVzVtYnl3Z1UzbHVZeWs3WEc0Z0lHVnVjWFZsZFdWVmNHUmhkR1VvY205dmRFWnBZbVZ5TENCMWNHUmhkR1VwTzF4dUlDQjJZWElnY205dmRDQTlJRzFoY210VmNHUmhkR1ZVYVcxbFJuSnZiVVpwWW1WeVZHOVNiMjkwS0hKdmIzUkdhV0psY2l3Z1UzbHVZeWs3WEc1Y2JpQWdhV1lnS0hKdmIzUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQmxibk4xY21WU2IyOTBTWE5UWTJobFpIVnNaV1FvY205dmRDazdYRzRnSUNBZ2MyTm9aV1IxYkdWUVpXNWthVzVuU1c1MFpYSmhZM1JwYjI1ektISnZiM1FzSUZONWJtTXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOaGNIUjFjbVZEYjIxdGFYUlFhR0Z6WlVWeWNtOXlLSE52ZFhKalpVWnBZbVZ5TENCbGNuSnZjaWtnZTF4dUlDQnBaaUFvYzI5MWNtTmxSbWxpWlhJdWRHRm5JRDA5UFNCSWIzTjBVbTl2ZENrZ2UxeHVJQ0FnSUM4dklFVnljbTl5SUhkaGN5QjBhSEp2ZDI0Z1lYUWdkR2hsSUhKdmIzUXVJRlJvWlhKbElHbHpJRzV2SUhCaGNtVnVkQ3dnYzI4Z2RHaGxJSEp2YjNSY2JpQWdJQ0F2THlCcGRITmxiR1lnYzJodmRXeGtJR05oY0hSMWNtVWdhWFF1WEc0Z0lDQWdZMkZ3ZEhWeVpVTnZiVzFwZEZCb1lYTmxSWEp5YjNKUGJsSnZiM1FvYzI5MWNtTmxSbWxpWlhJc0lITnZkWEpqWlVacFltVnlMQ0JsY25KdmNpazdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2RtRnlJR1pwWW1WeUlEMGdjMjkxY21ObFJtbGlaWEl1Y21WMGRYSnVPMXh1WEc0Z0lIZG9hV3hsSUNobWFXSmxjaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR2xtSUNobWFXSmxjaTUwWVdjZ1BUMDlJRWh2YzNSU2IyOTBLU0I3WEc0Z0lDQWdJQ0JqWVhCMGRYSmxRMjl0YldsMFVHaGhjMlZGY25KdmNrOXVVbTl2ZENobWFXSmxjaXdnYzI5MWNtTmxSbWxpWlhJc0lHVnljbTl5S1R0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1pwWW1WeUxuUmhaeUE5UFQwZ1EyeGhjM05EYjIxd2IyNWxiblFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpkRzl5SUQwZ1ptbGlaWEl1ZEhsd1pUdGNiaUFnSUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUdacFltVnlMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamRHOXlMbWRsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFGY25KdmNpQTlQVDBnSjJaMWJtTjBhVzl1SnlCOGZDQjBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFJHbGtRMkYwWTJnZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0lXbHpRV3h5WldGa2VVWmhhV3hsWkV4bFoyRmplVVZ5Y205eVFtOTFibVJoY25rb2FXNXpkR0Z1WTJVcEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCbGNuSnZja2x1Wm04Z1BTQmpjbVZoZEdWRFlYQjBkWEpsWkZaaGJIVmxLR1Z5Y205eUxDQnpiM1Z5WTJWR2FXSmxjaWs3WEc0Z0lDQWdJQ0FnSUhaaGNpQjFjR1JoZEdVZ1BTQmpjbVZoZEdWRGJHRnpjMFZ5Y205eVZYQmtZWFJsS0dacFltVnlMQ0JsY25KdmNrbHVabThzSUM4dklGUlBSRTg2SUZSb2FYTWdhWE1nWVd4M1lYbHpJSE41Ym1OY2JpQWdJQ0FnSUNBZ1UzbHVZeWs3WEc0Z0lDQWdJQ0FnSUdWdWNYVmxkV1ZWY0dSaGRHVW9abWxpWlhJc0lIVndaR0YwWlNrN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ5YjI5MElEMGdiV0Z5YTFWd1pHRjBaVlJwYldWR2NtOXRSbWxpWlhKVWIxSnZiM1FvWm1saVpYSXNJRk41Ym1NcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoeWIyOTBJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1pXNXpkWEpsVW05dmRFbHpVMk5vWldSMWJHVmtLSEp2YjNRcE8xeHVJQ0FnSUNBZ0lDQWdJSE5qYUdWa2RXeGxVR1Z1WkdsdVowbHVkR1Z5WVdOMGFXOXVjeWh5YjI5MExDQlRlVzVqS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCbWFXSmxjaUE5SUdacFltVnlMbkpsZEhWeWJqdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjR2x1WjFOMWMzQmxibVJsWkZKdmIzUW9jbTl2ZEN3Z2RHaGxibUZpYkdVc0lITjFjM0JsYm1SbFpGUnBiV1VwSUh0Y2JpQWdkbUZ5SUhCcGJtZERZV05vWlNBOUlISnZiM1F1Y0dsdVowTmhZMmhsTzF4dVhHNGdJR2xtSUNod2FXNW5RMkZqYUdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBdkx5QlVhR1VnZEdobGJtRmliR1VnY21WemIyeDJaV1FzSUhOdklIZGxJRzV2SUd4dmJtZGxjaUJ1WldWa0lIUnZJRzFsYlc5cGVtVXNJR0psWTJGMWMyVWdhWFFnZDJsc2JGeHVJQ0FnSUM4dklHNWxkbVZ5SUdKbElIUm9jbTkzYmlCaFoyRnBiaTVjYmlBZ0lDQndhVzVuUTJGamFHVXVaR1ZzWlhSbEtIUm9aVzVoWW14bEtUdGNiaUFnZlZ4dVhHNGdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjMUp2YjNRZ1BUMDlJSEp2YjNRZ0ppWWdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VrTVNBOVBUMGdjM1Z6Y0dWdVpHVmtWR2x0WlNrZ2UxeHVJQ0FnSUM4dklGSmxZMlZwZG1Wa0lHRWdjR2x1WnlCaGRDQjBhR1VnYzJGdFpTQndjbWx2Y21sMGVTQnNaWFpsYkNCaGRDQjNhR2xqYUNCM1pTZHlaU0JqZFhKeVpXNTBiSGxjYmlBZ0lDQXZMeUJ5Wlc1a1pYSnBibWN1SUZkbElHMXBaMmgwSUhkaGJuUWdkRzhnY21WemRHRnlkQ0IwYUdseklISmxibVJsY2k0Z1ZHaHBjeUJ6YUc5MWJHUWdiV2x5Y205eVhHNGdJQ0FnTHk4Z2RHaGxJR3h2WjJsaklHOW1JSGRvWlhSb1pYSWdiM0lnYm05MElHRWdjbTl2ZENCemRYTndaVzVrY3lCdmJtTmxJR2wwSUdOdmJYQnNaWFJsY3k1Y2JpQWdJQ0F2THlCVVQwUlBPaUJKWmlCM1pTZHlaU0J5Wlc1a1pYSnBibWNnYzNsdVl5QmxhWFJvWlhJZ1pIVmxJSFJ2SUZONWJtTXNJRUpoZEdOb1pXUWdiM0lnWlhod2FYSmxaQ3hjYmlBZ0lDQXZMeUIzWlNCemFHOTFiR1FnY0hKdlltRmliSGtnYm1WMlpYSWdjbVZ6ZEdGeWRDNWNiaUFnSUNBdkx5QkpaaUIzWlNkeVpTQnpkWE53Wlc1a1pXUWdkMmwwYUNCa1pXeGhlU3dnZDJVbmJHd2dZV3gzWVhseklITjFjM0JsYm1RZ2MyOGdkMlVnWTJGdUlHRnNkMkY1YzF4dUlDQWdJQzh2SUhKbGMzUmhjblF1SUVsbUlIZGxKM0psSUhOMWMzQmxibVJsWkNCM2FYUm9iM1YwSUdGdWVTQjFjR1JoZEdWekxDQnBkQ0J0YVdkb2RDQmlaU0JoSUhKbGRISjVMbHh1SUNBZ0lDOHZJRWxtSUdsMEozTWdaV0Z5YkhrZ2FXNGdkR2hsSUhKbGRISjVJSGRsSUdOaGJpQnlaWE4wWVhKMExpQlhaU0JqWVc0bmRDQnJibTkzSUdadmNpQnpkWEpsWEc0Z0lDQWdMeThnZDJobGRHaGxjaUIzWlNkc2JDQmxkbVZ1ZEhWaGJHeDVJSEJ5YjJObGMzTWdZVzRnZFhCa1lYUmxJR1IxY21sdVp5QjBhR2x6SUhKbGJtUmxjaUJ3WVhOekxGeHVJQ0FnSUM4dklHSjFkQ0JwZENkeklITnZiV1YzYUdGMElIVnViR2xyWld4NUlIUm9ZWFFnZDJVZ1oyVjBJSFJ2SUdFZ2NHbHVaeUJpWldadmNtVWdkR2hoZEN3Z2MybHVZMlZjYmlBZ0lDQXZMeUJuWlhSMGFXNW5JSFJ2SUhSb1pTQnliMjkwSUcxdmMzUWdkWEJrWVhSbElHbHpJSFZ6ZFdGc2JIa2dkbVZ5ZVNCbVlYTjBMbHh1SUNBZ0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwOVBTQlNiMjkwVTNWemNHVnVaR1ZrVjJsMGFFUmxiR0Y1SUh4OElIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFVjRhWFJUZEdGMGRYTWdQVDA5SUZKdmIzUlRkWE53Wlc1a1pXUWdKaVlnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVEdGMFpYTjBVSEp2WTJWemMyVmtSWGh3YVhKaGRHbHZibFJwYldVZ1BUMDlJRk41Ym1NZ0ppWWdibTkzS0NrZ0xTQm5iRzlpWVd4TmIzTjBVbVZqWlc1MFJtRnNiR0poWTJ0VWFXMWxJRHdnUmtGTVRFSkJRMHRmVkVoU1QxUlVURVZmVFZNcElIdGNiaUFnSUNBZ0lDOHZJRkpsYzNSaGNuUWdabkp2YlNCMGFHVWdjbTl2ZEM0Z1JHOXVKM1FnYm1WbFpDQjBieUJ6WTJobFpIVnNaU0JoSUhCcGJtY2dZbVZqWVhWelpWeHVJQ0FnSUNBZ0x5OGdkMlVuY21VZ1lXeHlaV0ZrZVNCM2IzSnJhVzVuSUc5dUlIUm9hWE1nZEhKbFpTNWNiaUFnSUNBZ0lIQnlaWEJoY21WR2NtVnphRk4wWVdOcktISnZiM1FzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEpERXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QkZkbVZ1SUhSb2IzVm5hQ0IzWlNCallXNG5kQ0J5WlhOMFlYSjBJSEpwWjJoMElHNXZkeXdnZDJVZ2JXbG5hSFFnWjJWMElHRnVYRzRnSUNBZ0lDQXZMeUJ2Y0hCdmNuUjFibWwwZVNCc1lYUmxjaTRnVTI4Z2QyVWdiV0Z5YXlCMGFHbHpJSEpsYm1SbGNpQmhjeUJvWVhacGJtY2dZU0J3YVc1bkxseHVJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFNHRnpVR1Z1WkdsdVoxQnBibWNnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2doYVhOU2IyOTBVM1Z6Y0dWdVpHVmtRWFJVYVcxbEtISnZiM1FzSUhOMWMzQmxibVJsWkZScGJXVXBLU0I3WEc0Z0lDQWdMeThnVkdobElISnZiM1FnYVhNZ2JtOGdiRzl1WjJWeUlITjFjM0JsYm1SbFpDQmhkQ0IwYUdseklIUnBiV1V1WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUd4aGMzUlFhVzVuWldSVWFXMWxJRDBnY205dmRDNXNZWE4wVUdsdVoyVmtWR2x0WlR0Y2JseHVJQ0JwWmlBb2JHRnpkRkJwYm1kbFpGUnBiV1VnSVQwOUlFNXZWMjl5YXlBbUppQnNZWE4wVUdsdVoyVmtWR2x0WlNBOElITjFjM0JsYm1SbFpGUnBiV1VwSUh0Y2JpQWdJQ0F2THlCVWFHVnlaU2R6SUdGc2NtVmhaSGtnWVNCc2IzZGxjaUJ3Y21sdmNtbDBlU0J3YVc1bklITmphR1ZrZFd4bFpDNWNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMGdMeThnVFdGeWF5QjBhR1VnZEdsdFpTQmhkQ0IzYUdsamFDQjBhR2x6SUhCcGJtY2dkMkZ6SUhOamFHVmtkV3hsWkM1Y2JseHVYRzRnSUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVZ1BTQnpkWE53Wlc1a1pXUlVhVzFsTzF4dVhHNGdJR1Z1YzNWeVpWSnZiM1JKYzFOamFHVmtkV3hsWkNoeWIyOTBLVHRjYmlBZ2MyTm9aV1IxYkdWUVpXNWthVzVuU1c1MFpYSmhZM1JwYjI1ektISnZiM1FzSUhOMWMzQmxibVJsWkZScGJXVXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWFJ5ZVZScGJXVmtUM1YwUW05MWJtUmhjbmtvWW05MWJtUmhjbmxHYVdKbGNpd2djbVYwY25sVWFXMWxLU0I3WEc0Z0lDOHZJRlJvWlNCaWIzVnVaR0Z5ZVNCbWFXSmxjaUFvWVNCVGRYTndaVzV6WlNCamIyMXdiMjVsYm5RZ2IzSWdVM1Z6Y0dWdWMyVk1hWE4wSUdOdmJYQnZibVZ1ZENsY2JpQWdMeThnY0hKbGRtbHZkWE5zZVNCM1lYTWdjbVZ1WkdWeVpXUWdhVzRnYVhSeklHWmhiR3hpWVdOcklITjBZWFJsTGlCUGJtVWdiMllnZEdobElIQnliMjFwYzJWeklIUm9ZWFJjYmlBZ0x5OGdjM1Z6Y0dWdVpHVmtJR2wwSUdoaGN5QnlaWE52YkhabFpDd2dkMmhwWTJnZ2JXVmhibk1nWVhRZ2JHVmhjM1FnY0dGeWRDQnZaaUIwYUdVZ2RISmxaU0IzWVhOY2JpQWdMeThnYkdsclpXeDVJSFZ1WW14dlkydGxaQzRnVkhKNUlISmxibVJsY21sdVp5QmhaMkZwYml3Z1lYUWdZU0J1WlhjZ1pYaHdhWEpoZEdsdmJpQjBhVzFsTGx4dUlDQnBaaUFvY21WMGNubFVhVzFsSUQwOVBTQk9iMWR2Y21zcElIdGNiaUFnSUNCMllYSWdjM1Z6Y0dWdWMyVkRiMjVtYVdjZ1BTQnVkV3hzT3lBdkx5QlNaWFJ5YVdWeklHUnZiaWQwSUdOaGNuSjVJRzkyWlhJZ2RHaGxJR0ZzY21WaFpIa2dZMjl0YldsMGRHVmtJSFZ3WkdGMFpTNWNibHh1SUNBZ0lIWmhjaUJqZFhKeVpXNTBWR2x0WlNBOUlISmxjWFZsYzNSRGRYSnlaVzUwVkdsdFpVWnZjbFZ3WkdGMFpTZ3BPMXh1SUNBZ0lISmxkSEo1VkdsdFpTQTlJR052YlhCMWRHVkZlSEJwY21GMGFXOXVSbTl5Um1saVpYSW9ZM1Z5Y21WdWRGUnBiV1VzSUdKdmRXNWtZWEo1Um1saVpYSXNJSE4xYzNCbGJuTmxRMjl1Wm1sbktUdGNiaUFnZlNBdkx5QlVUMFJQT2lCVGNHVmphV0ZzSUdOaGMyVWdhV1JzWlNCd2NtbHZjbWwwZVQ5Y2JseHVYRzRnSUhaaGNpQnliMjkwSUQwZ2JXRnlhMVZ3WkdGMFpWUnBiV1ZHY205dFJtbGlaWEpVYjFKdmIzUW9ZbTkxYm1SaGNubEdhV0psY2l3Z2NtVjBjbmxVYVcxbEtUdGNibHh1SUNCcFppQW9jbTl2ZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdWdWMzVnlaVkp2YjNSSmMxTmphR1ZrZFd4bFpDaHliMjkwS1R0Y2JpQWdJQ0J6WTJobFpIVnNaVkJsYm1ScGJtZEpiblJsY21GamRHbHZibk1vY205dmRDd2djbVYwY25sVWFXMWxLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnY21WemIyeDJaVkpsZEhKNVZHaGxibUZpYkdVb1ltOTFibVJoY25sR2FXSmxjaXdnZEdobGJtRmliR1VwSUh0Y2JpQWdkbUZ5SUhKbGRISjVWR2x0WlNBOUlFNXZWMjl5YXpzZ0x5OGdSR1ZtWVhWc2RGeHVYRzRnSUhaaGNpQnlaWFJ5ZVVOaFkyaGxPMXh1WEc0Z0lIdGNiaUFnSUNCeVpYUnllVU5oWTJobElEMGdZbTkxYm1SaGNubEdhV0psY2k1emRHRjBaVTV2WkdVN1hHNGdJSDFjYmx4dUlDQnBaaUFvY21WMGNubERZV05vWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGUm9aU0IwYUdWdVlXSnNaU0J5WlhOdmJIWmxaQ3dnYzI4Z2QyVWdibThnYkc5dVoyVnlJRzVsWldRZ2RHOGdiV1Z0YjJsNlpTd2dZbVZqWVhWelpTQnBkQ0IzYVd4c1hHNGdJQ0FnTHk4Z2JtVjJaWElnWW1VZ2RHaHliM2R1SUdGbllXbHVMbHh1SUNBZ0lISmxkSEo1UTJGamFHVXVaR1ZzWlhSbEtIUm9aVzVoWW14bEtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhKNVZHbHRaV1JQZFhSQ2IzVnVaR0Z5ZVNoaWIzVnVaR0Z5ZVVacFltVnlMQ0J5WlhSeWVWUnBiV1VwTzF4dWZTQXZMeUJEYjIxd2RYUmxjeUIwYUdVZ2JtVjRkQ0JLZFhOMElFNXZkR2xqWldGaWJHVWdSR2xtWm1WeVpXNWpaU0FvU2s1RUtTQmliM1Z1WkdGeWVTNWNiaTh2SUZSb1pTQjBhR1Z2Y25rZ2FYTWdkR2hoZENCaElIQmxjbk52YmlCallXNG5kQ0IwWld4c0lIUm9aU0JrYVdabVpYSmxibU5sSUdKbGRIZGxaVzRnYzIxaGJHd2daR2xtWm1WeVpXNWpaWE1nYVc0Z2RHbHRaUzVjYmk4dklGUm9aWEpsWm05eVpTd2dhV1lnZDJVZ2QyRnBkQ0JoSUdKcGRDQnNiMjVuWlhJZ2RHaGhiaUJ1WldObGMzTmhjbmtnZEdoaGRDQjNiMjRuZENCMGNtRnVjMnhoZEdVZ2RHOGdZU0J1YjNScFkyVmhZbXhsWEc0dkx5QmthV1ptWlhKbGJtTmxJR2x1SUhSb1pTQmxlSEJsY21sbGJtTmxMaUJJYjNkbGRtVnlMQ0IzWVdsMGFXNW5JR1p2Y2lCc2IyNW5aWElnYldsbmFIUWdiV1ZoYmlCMGFHRjBJSGRsSUdOaGJpQmhkbTlwWkZ4dUx5OGdjMmh2ZDJsdVp5QmhiaUJwYm5SbGNtMWxaR2xoZEdVZ2JHOWhaR2x1WnlCemRHRjBaUzRnVkdobElHeHZibWRsY2lCM1pTQm9ZWFpsSUdGc2NtVmhaSGtnZDJGcGRHVmtMQ0IwYUdVZ2FHRnlaR1Z5SUdsMFhHNHZMeUJwY3lCMGJ5QjBaV3hzSUhOdFlXeHNJR1JwWm1abGNtVnVZMlZ6SUdsdUlIUnBiV1V1SUZSb1pYSmxabTl5WlN3Z2RHaGxJR3h2Ym1kbGNpQjNaU2QyWlNCaGJISmxZV1I1SUhkaGFYUmxaQ3hjYmk4dklIUm9aU0JzYjI1blpYSWdkMlVnWTJGdUlIZGhhWFFnWVdSa2FYUnBiMjVoYkd4NUxpQkJkQ0J6YjIxbElIQnZhVzUwSUhkbElHaGhkbVVnZEc4Z1oybDJaU0IxY0NCMGFHOTFaMmd1WEc0dkx5QlhaU0J3YVdOcklHRWdkSEpoYVc0Z2JXOWtaV3dnZDJobGNtVWdkR2hsSUc1bGVIUWdZbTkxYm1SaGNua2dZMjl0YldsMGN5QmhkQ0JoSUdOdmJuTnBjM1JsYm5RZ2MyTm9aV1IxYkdVdVhHNHZMeUJVYUdWelpTQndZWEowYVdOMWJHRnlJRzUxYldKbGNuTWdZWEpsSUhaaFozVmxJR1Z6ZEdsdFlYUmxjeTRnVjJVZ1pYaHdaV04wSUhSdklHRmthblZ6ZENCMGFHVnRJR0poYzJWa0lHOXVJSEpsYzJWaGNtTm9MbHh1WEc1bWRXNWpkR2x2YmlCcWJtUW9kR2x0WlVWc1lYQnpaV1FwSUh0Y2JpQWdjbVYwZFhKdUlIUnBiV1ZGYkdGd2MyVmtJRHdnTVRJd0lEOGdNVEl3SURvZ2RHbHRaVVZzWVhCelpXUWdQQ0EwT0RBZ1B5QTBPREFnT2lCMGFXMWxSV3hoY0hObFpDQThJREV3T0RBZ1B5QXhNRGd3SURvZ2RHbHRaVVZzWVhCelpXUWdQQ0F4T1RJd0lEOGdNVGt5TUNBNklIUnBiV1ZGYkdGd2MyVmtJRHdnTXpBd01DQS9JRE13TURBZ09pQjBhVzFsUld4aGNITmxaQ0E4SURRek1qQWdQeUEwTXpJd0lEb2dZMlZwYkNoMGFXMWxSV3hoY0hObFpDQXZJREU1TmpBcElDb2dNVGsyTUR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGNIVjBaVTF6Vlc1MGFXeFRkWE53Wlc1elpVeHZZV1JwYm1kRVpXeGhlU2h0YjNOMFVtVmpaVzUwUlhabGJuUlVhVzFsTENCamIyMXRhWFIwWldSRmVIQnBjbUYwYVc5dVZHbHRaU3dnYzNWemNHVnVjMlZEYjI1bWFXY3BJSHRjYmlBZ2RtRnlJR0oxYzNsTmFXNUVkWEpoZEdsdmJrMXpJRDBnYzNWemNHVnVjMlZEYjI1bWFXY3VZblZ6ZVUxcGJrUjFjbUYwYVc5dVRYTWdmQ0F3TzF4dVhHNGdJR2xtSUNoaWRYTjVUV2x1UkhWeVlYUnBiMjVOY3lBOFBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgxY2JseHVJQ0IyWVhJZ1luVnplVVJsYkdGNVRYTWdQU0J6ZFhOd1pXNXpaVU52Ym1acFp5NWlkWE41UkdWc1lYbE5jeUI4SURBN0lDOHZJRU52YlhCMWRHVWdkR2hsSUhScGJXVWdkVzUwYVd3Z2RHaHBjeUJ5Wlc1a1pYSWdjR0Z6Y3lCM2IzVnNaQ0JsZUhCcGNtVXVYRzVjYmlBZ2RtRnlJR04xY25KbGJuUlVhVzFsVFhNZ1BTQnViM2NvS1R0Y2JpQWdkbUZ5SUdWMlpXNTBWR2x0WlUxeklEMGdhVzVtWlhKVWFXMWxSbkp2YlVWNGNHbHlZWFJwYjI1VWFXMWxWMmwwYUZOMWMzQmxibk5sUTI5dVptbG5LRzF2YzNSU1pXTmxiblJGZG1WdWRGUnBiV1VzSUhOMWMzQmxibk5sUTI5dVptbG5LVHRjYmlBZ2RtRnlJSFJwYldWRmJHRndjMlZrSUQwZ1kzVnljbVZ1ZEZScGJXVk5jeUF0SUdWMlpXNTBWR2x0WlUxek8xeHVYRzRnSUdsbUlDaDBhVzFsUld4aGNITmxaQ0E4UFNCaWRYTjVSR1ZzWVhsTmN5a2dlMXh1SUNBZ0lDOHZJRWxtSUhkbElHaGhkbVZ1SjNRZ2VXVjBJSGRoYVhSbFpDQnNiMjVuWlhJZ2RHaGhiaUIwYUdVZ2FXNXBkR2xoYkNCa1pXeGhlU3dnZDJVZ1pHOXVKM1JjYmlBZ0lDQXZMeUJvWVhabElIUnZJSGRoYVhRZ1lXNTVJR0ZrWkdsMGFXOXVZV3dnZEdsdFpTNWNiaUFnSUNCeVpYUjFjbTRnTUR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ0YzFWdWRHbHNWR2x0Wlc5MWRDQTlJR0oxYzNsRVpXeGhlVTF6SUNzZ1luVnplVTFwYmtSMWNtRjBhVzl1VFhNZ0xTQjBhVzFsUld4aGNITmxaRHNnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdkbUZzZFdVZ2RHaGhkQ0JwY3lCd1lYTnpaV1FnZEc4Z1lITmxkRlJwYldWdmRYUmdMbHh1WEc0Z0lISmxkSFZ5YmlCdGMxVnVkR2xzVkdsdFpXOTFkRHRjYm4xY2JseHVablZ1WTNScGIyNGdZMmhsWTJ0R2IzSk9aWE4wWldSVmNHUmhkR1Z6S0NrZ2UxeHVJQ0JwWmlBb2JtVnpkR1ZrVlhCa1lYUmxRMjkxYm5RZ1BpQk9SVk5VUlVSZlZWQkVRVlJGWDB4SlRVbFVLU0I3WEc0Z0lDQWdibVZ6ZEdWa1ZYQmtZWFJsUTI5MWJuUWdQU0F3TzF4dUlDQWdJSEp2YjNSWGFYUm9UbVZ6ZEdWa1ZYQmtZWFJsY3lBOUlHNTFiR3c3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJazFoZUdsdGRXMGdkWEJrWVhSbElHUmxjSFJvSUdWNFkyVmxaR1ZrTGlCVWFHbHpJR05oYmlCb1lYQndaVzRnZDJobGJpQmhJR052YlhCdmJtVnVkQ0J5WlhCbFlYUmxaR3g1SUdOaGJHeHpJSE5sZEZOMFlYUmxJR2x1YzJsa1pTQmpiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxJRzl5SUdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlM0Z1VtVmhZM1FnYkdsdGFYUnpJSFJvWlNCdWRXMWlaWElnYjJZZ2JtVnpkR1ZrSUhWd1pHRjBaWE1nZEc4Z2NISmxkbVZ1ZENCcGJtWnBibWwwWlNCc2IyOXdjeTVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIdGNiaUFnSUNCcFppQW9ibVZ6ZEdWa1VHRnpjMmwyWlZWd1pHRjBaVU52ZFc1MElENGdUa1ZUVkVWRVgxQkJVMU5KVmtWZlZWQkVRVlJGWDB4SlRVbFVLU0I3WEc0Z0lDQWdJQ0J1WlhOMFpXUlFZWE56YVhabFZYQmtZWFJsUTI5MWJuUWdQU0F3TzF4dVhHNGdJQ0FnSUNCbGNuSnZjaWduVFdGNGFXMTFiU0IxY0dSaGRHVWdaR1Z3ZEdnZ1pYaGpaV1ZrWldRdUlGUm9hWE1nWTJGdUlHaGhjSEJsYmlCM2FHVnVJR0VnWTI5dGNHOXVaVzUwSUNjZ0t5QmNJbU5oYkd4eklITmxkRk4wWVhSbElHbHVjMmxrWlNCMWMyVkZabVpsWTNRc0lHSjFkQ0IxYzJWRlptWmxZM1FnWldsMGFHVnlJR1J2WlhOdUozUWdYQ0lnS3lBbmFHRjJaU0JoSUdSbGNHVnVaR1Z1WTNrZ1lYSnlZWGtzSUc5eUlHOXVaU0J2WmlCMGFHVWdaR1Z3Wlc1a1pXNWphV1Z6SUdOb1lXNW5aWE1nYjI0Z0p5QXJJQ2RsZG1WeWVTQnlaVzVrWlhJdUp5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pzZFhOb1VtVnVaR1Z5VUdoaGMyVlRkSEpwWTNSTmIyUmxWMkZ5Ym1sdVozTkpia1JGVmlncElIdGNiaUFnZTF4dUlDQWdJRkpsWVdOMFUzUnlhV04wVFc5a1pWZGhjbTVwYm1kekxtWnNkWE5vVEdWbllXTjVRMjl1ZEdWNGRGZGhjbTVwYm1jb0tUdGNibHh1SUNBZ0lIdGNiaUFnSUNBZ0lGSmxZV04wVTNSeWFXTjBUVzlrWlZkaGNtNXBibWR6TG1ac2RYTm9VR1Z1WkdsdVoxVnVjMkZtWlV4cFptVmplV05zWlZkaGNtNXBibWR6S0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITjBiM0JHYVc1cGMyaGxaRmR2Y210TWIyOXdWR2x0WlhJb0tTQjdYRzRnSUhaaGNpQmthV1JEYjIxd2JHVjBaVkp2YjNRZ1BTQjBjblZsTzF4dUlDQnpkRzl3VjI5eWEweHZiM0JVYVcxbGNpaHBiblJsY25KMWNIUmxaRUo1TENCa2FXUkRiMjF3YkdWMFpWSnZiM1FwTzF4dUlDQnBiblJsY25KMWNIUmxaRUo1SUQwZ2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdjM1J2Y0VsdWRHVnljblZ3ZEdWa1YyOXlhMHh2YjNCVWFXMWxjaWdwSUh0Y2JpQWdMeThnVkU5RVR6b2dWSEpoWTJzZ2QyaHBZMmdnWm1saVpYSWdZMkYxYzJWa0lIUm9aU0JwYm5SbGNuSjFjSFJwYjI0dVhHNGdJSFpoY2lCa2FXUkRiMjF3YkdWMFpWSnZiM1FnUFNCbVlXeHpaVHRjYmlBZ2MzUnZjRmR2Y210TWIyOXdWR2x0WlhJb2FXNTBaWEp5ZFhCMFpXUkNlU3dnWkdsa1EyOXRjR3hsZEdWU2IyOTBLVHRjYmlBZ2FXNTBaWEp5ZFhCMFpXUkNlU0E5SUc1MWJHdzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTm9aV05yUm05eVNXNTBaWEp5ZFhCMGFXOXVLR1pwWW1WeVZHaGhkRkpsWTJWcGRtVmtWWEJrWVhSbExDQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQnBaaUFvSUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZENBaFBUMGdiblZzYkNBbUppQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU0ErSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEpERXBJSHRjYmlBZ0lDQnBiblJsY25KMWNIUmxaRUo1SUQwZ1ptbGlaWEpVYUdGMFVtVmpaV2wyWldSVmNHUmhkR1U3WEc0Z0lIMWNibjFjYmx4dWRtRnlJR1JwWkZkaGNtNVRkR0YwWlZWd1pHRjBaVVp2Y2xWdWJXOTFiblJsWkVOdmJYQnZibVZ1ZENBOUlHNTFiR3c3WEc1Y2JtWjFibU4wYVc5dUlIZGhjbTVCWW05MWRGVndaR0YwWlU5dVZXNXRiM1Z1ZEdWa1JtbGlaWEpKYmtSRlZpaG1hV0psY2lrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhSaFp5QTlJR1pwWW1WeUxuUmhaenRjYmx4dUlDQWdJR2xtSUNoMFlXY2dJVDA5SUVodmMzUlNiMjkwSUNZbUlIUmhaeUFoUFQwZ1EyeGhjM05EYjIxd2IyNWxiblFnSmlZZ2RHRm5JQ0U5UFNCR2RXNWpkR2x2YmtOdmJYQnZibVZ1ZENBbUppQjBZV2NnSVQwOUlFWnZjbmRoY21SU1pXWWdKaVlnZEdGbklDRTlQU0JOWlcxdlEyOXRjRzl1Wlc1MElDWW1JSFJoWnlBaFBUMGdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkQ0FtSmlCMFlXY2dJVDA5SUVKc2IyTnJLU0I3WEc0Z0lDQWdJQ0F2THlCUGJteDVJSGRoY200Z1ptOXlJSFZ6WlhJdFpHVm1hVzVsWkNCamIyMXdiMjVsYm5SekxDQnViM1FnYVc1MFpYSnVZV3dnYjI1bGN5QnNhV3RsSUZOMWMzQmxibk5sTGx4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5QjBhR1VnY0hKdllteGxiV0YwYVdNZ1kyOWtaU0JoYkcxdmMzUWdZV3gzWVhseklHeHBaWE1nYVc1emFXUmxJSFJvWVhRZ1kyOXRjRzl1Wlc1MExseHVYRzVjYmlBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9abWxpWlhJdWRIbHdaU2tnZkh3Z0oxSmxZV04wUTI5dGNHOXVaVzUwSnp0Y2JseHVJQ0FnSUdsbUlDaGthV1JYWVhKdVUzUmhkR1ZWY0dSaGRHVkdiM0pWYm0xdmRXNTBaV1JEYjIxd2IyNWxiblFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdsbUlDaGthV1JYWVhKdVUzUmhkR1ZWY0dSaGRHVkdiM0pWYm0xdmRXNTBaV1JEYjIxd2IyNWxiblF1YUdGektHTnZiWEJ2Ym1WdWRFNWhiV1VwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1pHbGtWMkZ5YmxOMFlYUmxWWEJrWVhSbFJtOXlWVzV0YjNWdWRHVmtRMjl0Y0c5dVpXNTBMbUZrWkNoamIyMXdiMjVsYm5ST1lXMWxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1pHbGtWMkZ5YmxOMFlYUmxWWEJrWVhSbFJtOXlWVzV0YjNWdWRHVmtRMjl0Y0c5dVpXNTBJRDBnYm1WM0lGTmxkQ2hiWTI5dGNHOXVaVzUwVG1GdFpWMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHVnljbTl5S0Z3aVEyRnVKM1FnY0dWeVptOXliU0JoSUZKbFlXTjBJSE4wWVhSbElIVndaR0YwWlNCdmJpQmhiaUIxYm0xdmRXNTBaV1FnWTI5dGNHOXVaVzUwTGlCVWFHbHpJRndpSUNzZ0oybHpJR0VnYm04dGIzQXNJR0oxZENCcGRDQnBibVJwWTJGMFpYTWdZU0J0WlcxdmNua2diR1ZoYXlCcGJpQjViM1Z5SUdGd2NHeHBZMkYwYVc5dUxpQlVieUFuSUNzZ0oyWnBlQ3dnWTJGdVkyVnNJR0ZzYkNCemRXSnpZM0pwY0hScGIyNXpJR0Z1WkNCaGMzbHVZMmh5YjI1dmRYTWdkR0Z6YTNNZ2FXNGdKWE11SlhNbkxDQjBZV2NnUFQwOUlFTnNZWE56UTI5dGNHOXVaVzUwSUQ4Z0ozUm9aU0JqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENCdFpYUm9iMlFuSURvZ0oyRWdkWE5sUldabVpXTjBJR05zWldGdWRYQWdablZ1WTNScGIyNG5MQ0JuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvWm1saVpYSXBLVHRjYmlBZ2ZWeHVmVnh1WEc1MllYSWdZbVZuYVc1WGIzSnJKREU3WEc1Y2JudGNiaUFnZG1GeUlHUjFiVzE1Um1saVpYSWdQU0J1ZFd4c08xeHVYRzRnSUdKbFoybHVWMjl5YXlReElEMGdablZ1WTNScGIyNGdLR04xY25KbGJuUXNJSFZ1YVhSUFpsZHZjbXNzSUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdMeThnU1dZZ1lTQmpiMjF3YjI1bGJuUWdkR2h5YjNkeklHRnVJR1Z5Y205eUxDQjNaU0J5WlhCc1lYa2dhWFFnWVdkaGFXNGdhVzRnWVNCemVXNWphSEp2Ym05MWMyeDVYRzRnSUNBZ0x5OGdaR2x6Y0dGMFkyaGxaQ0JsZG1WdWRDd2djMjhnZEdoaGRDQjBhR1VnWkdWaWRXZG5aWElnZDJsc2JDQjBjbVZoZENCcGRDQmhjeUJoYmlCMWJtTmhkV2RvZEZ4dUlDQWdJQzh2SUdWeWNtOXlJRk5sWlNCU1pXRmpkRVZ5Y205eVZYUnBiSE1nWm05eUlHMXZjbVVnYVc1bWIzSnRZWFJwYjI0dVhHNGdJQ0FnTHk4Z1FtVm1iM0psSUdWdWRHVnlhVzVuSUhSb1pTQmlaV2RwYmlCd2FHRnpaU3dnWTI5d2VTQjBhR1VnZDI5eWF5MXBiaTF3Y205bmNtVnpjeUJ2Ym5SdklHRWdaSFZ0YlhsY2JpQWdJQ0F2THlCbWFXSmxjaTRnU1dZZ1ltVm5hVzVYYjNKcklIUm9jbTkzY3l3Z2QyVW5iR3dnZFhObElIUm9hWE1nZEc4Z2NtVnpaWFFnZEdobElITjBZWFJsTGx4dUlDQWdJSFpoY2lCdmNtbG5hVzVoYkZkdmNtdEpibEJ5YjJkeVpYTnpRMjl3ZVNBOUlHRnpjMmxuYmtacFltVnlVSEp2Y0dWeWRHbGxjMGx1UkVWV0tHUjFiVzE1Um1saVpYSXNJSFZ1YVhSUFpsZHZjbXNwTzF4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaVpXZHBibGR2Y21zb1kzVnljbVZ1ZEN3Z2RXNXBkRTltVjI5eWF5d2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0c5eWFXZHBibUZzUlhKeWIzSXBJSHRjYmlBZ0lDQWdJR2xtSUNodmNtbG5hVzVoYkVWeWNtOXlJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUJ2Y21sbmFXNWhiRVZ5Y205eUlEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGVYQmxiMllnYjNKcFoybHVZV3hGY25KdmNpNTBhR1Z1SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUM4dklFUnZiaWQwSUhKbGNHeGhlU0J3Y205dGFYTmxjeTRnVkhKbFlYUWdaWFpsY25sMGFHbHVaeUJsYkhObElHeHBhMlVnWVc0Z1pYSnliM0l1WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzl5YVdkcGJtRnNSWEp5YjNJN1hHNGdJQ0FnSUNCOUlDOHZJRXRsWlhBZ2RHaHBjeUJqYjJSbElHbHVJSE41Ym1NZ2QybDBhQ0JvWVc1a2JHVkZjbkp2Y2pzZ1lXNTVJR05vWVc1blpYTWdhR1Z5WlNCdGRYTjBJR2hoZG1WY2JpQWdJQ0FnSUM4dklHTnZjbkpsYzNCdmJtUnBibWNnWTJoaGJtZGxjeUIwYUdWeVpTNWNibHh1WEc0Z0lDQWdJQ0J5WlhObGRFTnZiblJsZUhSRVpYQmxibVJsYm1OcFpYTW9LVHRjYmlBZ0lDQWdJSEpsYzJWMFNHOXZhM05CWm5SbGNsUm9jbTkzS0NrN0lDOHZJRVJ2YmlkMElISmxjMlYwSUdOMWNuSmxiblFnWkdWaWRXY2dabWxpWlhJc0lITnBibU5sSUhkbEozSmxJR0ZpYjNWMElIUnZJSGR2Y21zZ2IyNGdkR2hsWEc0Z0lDQWdJQ0F2THlCellXMWxJR1pwWW1WeUlHRm5ZV2x1TGx4dUlDQWdJQ0FnTHk4Z1ZXNTNhVzVrSUhSb1pTQm1ZV2xzWldRZ2MzUmhZMnNnWm5KaGJXVmNibHh1SUNBZ0lDQWdkVzUzYVc1a1NXNTBaWEp5ZFhCMFpXUlhiM0pyS0hWdWFYUlBabGR2Y21zcE95QXZMeUJTWlhOMGIzSmxJSFJvWlNCdmNtbG5hVzVoYkNCd2NtOXdaWEowYVdWeklHOW1JSFJvWlNCbWFXSmxjaTVjYmx4dUlDQWdJQ0FnWVhOemFXZHVSbWxpWlhKUWNtOXdaWEowYVdWelNXNUVSVllvZFc1cGRFOW1WMjl5YXl3Z2IzSnBaMmx1WVd4WGIzSnJTVzVRY205bmNtVnpjME52Y0hrcE8xeHVYRzRnSUNBZ0lDQnBaaUFvSUhWdWFYUlBabGR2Y21zdWJXOWtaU0FtSUZCeWIyWnBiR1ZOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZKbGMyVjBJSFJvWlNCd2NtOW1hV3hsY2lCMGFXMWxjaTVjYmlBZ0lDQWdJQ0FnYzNSaGNuUlFjbTltYVd4bGNsUnBiV1Z5S0hWdWFYUlBabGR2Y21zcE8xeHVJQ0FnSUNBZ2ZTQXZMeUJTZFc0Z1ltVm5hVzVYYjNKcklHRm5ZV2x1TGx4dVhHNWNiaUFnSUNBZ0lHbHVkbTlyWlVkMVlYSmtaV1JEWVd4c1ltRmpheWh1ZFd4c0xDQmlaV2RwYmxkdmNtc3NJRzUxYkd3c0lHTjFjbkpsYm5Rc0lIVnVhWFJQWmxkdmNtc3NJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0doaGMwTmhkV2RvZEVWeWNtOXlLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsY0d4aGVVVnljbTl5SUQwZ1kyeGxZWEpEWVhWbmFIUkZjbkp2Y2lncE95QXZMeUJnYVc1MmIydGxSM1ZoY21SbFpFTmhiR3hpWVdOcllDQnpiMjFsZEdsdFpYTWdjMlYwY3lCaGJpQmxlSEJoYm1SdklHQmZjM1Z3Y0hKbGMzTk1iMmRuYVc1bllDNWNiaUFnSUNBZ0lDQWdMeThnVW1WMGFISnZkeUIwYUdseklHVnljbTl5SUdsdWMzUmxZV1FnYjJZZ2RHaGxJRzl5YVdkcGJtRnNJRzl1WlM1Y2JseHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCeVpYQnNZWGxGY25KdmNqdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ1luSmhibU5vSUdseklISmxZV05vWVdKc1pTQnBaaUIwYUdVZ2NtVnVaR1Z5SUhCb1lYTmxJR2x6SUdsdGNIVnlaUzVjYmlBZ0lDQWdJQ0FnZEdoeWIzY2diM0pwWjJsdVlXeEZjbkp2Y2p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJrYVdSWFlYSnVRV0p2ZFhSVmNHUmhkR1ZKYmxKbGJtUmxjaUE5SUdaaGJITmxPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRlZ3WkdGMFpVbHVVbVZ1WkdWeVJtOXlRVzV2ZEdobGNrTnZiWEJ2Ym1WdWREdGNibHh1ZTF4dUlDQmthV1JYWVhKdVFXSnZkWFJWY0dSaGRHVkpibEpsYm1SbGNrWnZja0Z1YjNSb1pYSkRiMjF3YjI1bGJuUWdQU0J1WlhjZ1UyVjBLQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJSGRoY201QlltOTFkRkpsYm1SbGNsQm9ZWE5sVlhCa1lYUmxjMGx1UkVWV0tHWnBZbVZ5S1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvYVhOU1pXNWtaWEpwYm1jZ0ppWWdLR1Y0WldOMWRHbHZia052Ym5SbGVIUWdKaUJTWlc1a1pYSkRiMjUwWlhoMEtTQWhQVDBnVG05RGIyNTBaWGgwS1NCN1hHNGdJQ0FnSUNCemQybDBZMmdnS0dacFltVnlMblJoWnlrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCallYTmxJRVp2Y25kaGNtUlNaV1k2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2NtVnVaR1Z5YVc1blEyOXRjRzl1Wlc1MFRtRnRaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpJQ1ltSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlNrZ2ZId2dKMVZ1YTI1dmQyNG5PeUF2THlCRVpXUjFjR1VnWW5rZ2RHaGxJSEpsYm1SbGNtbHVaeUJqYjIxd2IyNWxiblFnWW1WallYVnpaU0JwZENkeklIUm9aU0J2Ym1VZ2RHaGhkQ0J1WldWa2N5QjBieUJpWlNCbWFYaGxaQzVjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdSbFpIVndaVXRsZVNBOUlISmxibVJsY21sdVowTnZiWEJ2Ym1WdWRFNWhiV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBWWEJrWVhSbFNXNVNaVzVrWlhKR2IzSkJibTkwYUdWeVEyOXRjRzl1Wlc1MExtaGhjeWhrWldSMWNHVkxaWGtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdScFpGZGhjbTVCWW05MWRGVndaR0YwWlVsdVVtVnVaR1Z5Um05eVFXNXZkR2hsY2tOdmJYQnZibVZ1ZEM1aFpHUW9aR1ZrZFhCbFMyVjVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhObGRGTjBZWFJsUTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9abWxpWlhJdWRIbHdaU2tnZkh3Z0oxVnVhMjV2ZDI0bk8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkRFlXNXViM1FnZFhCa1lYUmxJR0VnWTI5dGNHOXVaVzUwSUNoZ0pYTmdLU0IzYUdsc1pTQnlaVzVrWlhKcGJtY2dZU0FuSUNzZ0oyUnBabVpsY21WdWRDQmpiMjF3YjI1bGJuUWdLR0FsYzJBcExpQlVieUJzYjJOaGRHVWdkR2hsSUdKaFpDQnpaWFJUZEdGMFpTZ3BJR05oYkd3Z2FXNXphV1JsSUdBbGMyQXNJQ2NnS3lBblptOXNiRzkzSUhSb1pTQnpkR0ZqYXlCMGNtRmpaU0JoY3lCa1pYTmpjbWxpWldRZ2FXNGdhSFIwY0hNNkx5OW1ZaTV0WlM5elpYUnpkR0YwWlMxcGJpMXlaVzVrWlhJbkxDQnpaWFJUZEdGMFpVTnZiWEJ2Ym1WdWRFNWhiV1VzSUhKbGJtUmxjbWx1WjBOdmJYQnZibVZ1ZEU1aGJXVXNJSEpsYm1SbGNtbHVaME52YlhCdmJtVnVkRTVoYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JEYkdGemMwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdScFpGZGhjbTVCWW05MWRGVndaR0YwWlVsdVVtVnVaR1Z5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2REWVc1dWIzUWdkWEJrWVhSbElHUjFjbWx1WnlCaGJpQmxlR2x6ZEdsdVp5QnpkR0YwWlNCMGNtRnVjMmwwYVc5dUlDaHpkV05vSUdGeklDY2dLeUFuZDJsMGFHbHVJR0J5Wlc1a1pYSmdLUzRnVW1WdVpHVnlJRzFsZEdodlpITWdjMmh2ZFd4a0lHSmxJR0VnY0hWeVpTQW5JQ3NnSjJaMWJtTjBhVzl1SUc5bUlIQnliM0J6SUdGdVpDQnpkR0YwWlM0bktUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJWY0dSaGRHVkpibEpsYm1SbGNpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMGdMeThnWVNBbmMyaGhjbVZrSnlCMllYSnBZV0pzWlNCMGFHRjBJR05vWVc1blpYTWdkMmhsYmlCaFkzUW9LU0J2Y0dWdWN5OWpiRzl6WlhNZ2FXNGdkR1Z6ZEhNdVhHNWNibHh1ZG1GeUlFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5JRDBnZTF4dUlDQmpkWEp5Wlc1ME9pQm1ZV3h6WlZ4dWZUdGNibVoxYm1OMGFXOXVJSGRoY201SlprNXZkRk5qYjNCbFpGZHBkR2hOWVhSamFHbHVaMEZqZENobWFXSmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0JKYzFOdmJXVlNaVzVrWlhKbGNrRmpkR2x1Wnk1amRYSnlaVzUwSUQwOVBTQjBjblZsSUNZbUlFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5MbU4xY25KbGJuUWdJVDA5SUhSeWRXVXBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtGd2lTWFFnYkc5dmEzTWdiR2xyWlNCNWIzVW5jbVVnZFhOcGJtY2dkR2hsSUhkeWIyNW5JR0ZqZENncElHRnliM1Z1WkNCNWIzVnlJSFJsYzNRZ2FXNTBaWEpoWTNScGIyNXpMbHhjYmx3aUlDc2dKMEpsSUhOMWNtVWdkRzhnZFhObElIUm9aU0J0WVhSamFHbHVaeUIyWlhKemFXOXVJRzltSUdGamRDZ3BJR052Y25KbGMzQnZibVJwYm1jZ2RHOGdlVzkxY2lCeVpXNWtaWEpsY2pwY1hHNWNYRzRuSUNzZ0p5OHZJR1p2Y2lCeVpXRmpkQzFrYjIwNlhGeHVKeUFySUZ3aWFXMXdiM0owSUh0aFkzUjlJR1p5YjIwZ0ozSmxZV04wTFdSdmJTOTBaWE4wTFhWMGFXeHpKenRjWEc1Y0lpQXJJQ2N2THlBdUxpNWNYRzRuSUNzZ0oyRmpkQ2dvS1NBOVBpQXVMaTRwTzF4Y2JseGNiaWNnS3lBbkx5OGdabTl5SUhKbFlXTjBMWFJsYzNRdGNtVnVaR1Z5WlhJNlhGeHVKeUFySUZ3aWFXMXdiM0owSUZSbGMzUlNaVzVrWlhKbGNpQm1jbTl0SUNkeVpXRmpkQzEwWlhOMExYSmxibVJsY21WeUp6dGNYRzVjSWlBcklDZGpiMjV6ZENCN1lXTjBmU0E5SUZSbGMzUlNaVzVrWlhKbGNqdGNYRzRuSUNzZ0p5OHZJQzR1TGx4Y2JpY2dLeUFuWVdOMEtDZ3BJRDArSUM0dUxpazdKeUFySUNjbGN5Y3NJR2RsZEZOMFlXTnJRbmxHYVdKbGNrbHVSR1YyUVc1a1VISnZaQ2htYVdKbGNpa3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdkMkZ5YmtsbVRtOTBRM1Z5Y21WdWRHeDVRV04wYVc1blJXWm1aV04wYzBsdVJFVldLR1pwWW1WeUtTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb0lDaG1hV0psY2k1dGIyUmxJQ1lnVTNSeWFXTjBUVzlrWlNrZ0lUMDlJRTV2VFc5a1pTQW1KaUJKYzFOdmJXVlNaVzVrWlhKbGNrRmpkR2x1Wnk1amRYSnlaVzUwSUQwOVBTQm1ZV3h6WlNBbUppQkpjMVJvYVhOU1pXNWtaWEpsY2tGamRHbHVaeTVqZFhKeVpXNTBJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMEZ1SUhWd1pHRjBaU0IwYnlBbGN5QnlZVzRnWVc0Z1pXWm1aV04wTENCaWRYUWdkMkZ6SUc1dmRDQjNjbUZ3Y0dWa0lHbHVJR0ZqZENndUxpNHBMbHhjYmx4Y2JpY2dLeUFuVjJobGJpQjBaWE4wYVc1bkxDQmpiMlJsSUhSb1lYUWdZMkYxYzJWeklGSmxZV04wSUhOMFlYUmxJSFZ3WkdGMFpYTWdjMmh2ZFd4a0lHSmxJQ2NnS3lBbmQzSmhjSEJsWkNCcGJuUnZJR0ZqZENndUxpNHBPbHhjYmx4Y2JpY2dLeUFuWVdOMEtDZ3BJRDArSUh0Y1hHNG5JQ3NnSnlBZ0x5b2dabWx5WlNCbGRtVnVkSE1nZEdoaGRDQjFjR1JoZEdVZ2MzUmhkR1VnS2k5Y1hHNG5JQ3NnSjMwcE8xeGNiaWNnS3lBbkx5b2dZWE56WlhKMElHOXVJSFJvWlNCdmRYUndkWFFnS2k5Y1hHNWNYRzRuSUNzZ1hDSlVhR2x6SUdWdWMzVnlaWE1nZEdoaGRDQjViM1VuY21VZ2RHVnpkR2x1WnlCMGFHVWdZbVZvWVhacGIzSWdkR2hsSUhWelpYSWdkMjkxYkdRZ2MyVmxJRndpSUNzZ0oybHVJSFJvWlNCaWNtOTNjMlZ5TGljZ0t5QW5JRXhsWVhKdUlHMXZjbVVnWVhRZ2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMTNjbUZ3TFhSbGMzUnpMWGRwZEdndFlXTjBKeUFySUNjbGN5Y3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9abWxpWlhJdWRIbHdaU2tzSUdkbGRGTjBZV05yUW5sR2FXSmxja2x1UkdWMlFXNWtVSEp2WkNobWFXSmxjaWtwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCM1lYSnVTV1pPYjNSRGRYSnlaVzUwYkhsQlkzUnBibWRWY0dSaGRHVnpTVzVFUlZZb1ptbGlaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2dnWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0E5UFQwZ1RtOURiMjUwWlhoMElDWW1JRWx6VTI5dFpWSmxibVJsY21WeVFXTjBhVzVuTG1OMWNuSmxiblFnUFQwOUlHWmhiSE5sSUNZbUlFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5MbU4xY25KbGJuUWdQVDA5SUdaaGJITmxLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25RVzRnZFhCa1lYUmxJSFJ2SUNWeklHbHVjMmxrWlNCaElIUmxjM1FnZDJGeklHNXZkQ0IzY21Gd2NHVmtJR2x1SUdGamRDZ3VMaTRwTGx4Y2JseGNiaWNnS3lBblYyaGxiaUIwWlhOMGFXNW5MQ0JqYjJSbElIUm9ZWFFnWTJGMWMyVnpJRkpsWVdOMElITjBZWFJsSUhWd1pHRjBaWE1nYzJodmRXeGtJR0psSUNjZ0t5QW5kM0poY0hCbFpDQnBiblJ2SUdGamRDZ3VMaTRwT2x4Y2JseGNiaWNnS3lBbllXTjBLQ2dwSUQwK0lIdGNYRzRuSUNzZ0p5QWdMeW9nWm1seVpTQmxkbVZ1ZEhNZ2RHaGhkQ0IxY0dSaGRHVWdjM1JoZEdVZ0tpOWNYRzRuSUNzZ0ozMHBPMXhjYmljZ0t5QW5MeW9nWVhOelpYSjBJRzl1SUhSb1pTQnZkWFJ3ZFhRZ0tpOWNYRzVjWEc0bklDc2dYQ0pVYUdseklHVnVjM1Z5WlhNZ2RHaGhkQ0I1YjNVbmNtVWdkR1Z6ZEdsdVp5QjBhR1VnWW1Wb1lYWnBiM0lnZEdobElIVnpaWElnZDI5MWJHUWdjMlZsSUZ3aUlDc2dKMmx1SUhSb1pTQmljbTkzYzJWeUxpY2dLeUFuSUV4bFlYSnVJRzF2Y21VZ1lYUWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzEzY21Gd0xYUmxjM1J6TFhkcGRHZ3RZV04wSnlBcklDY2xjeWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1saVpYSXVkSGx3WlNrc0lHZGxkRk4wWVdOclFubEdhV0psY2tsdVJHVjJRVzVrVUhKdlpDaG1hV0psY2lrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnZDJGeWJrbG1UbTkwUTNWeWNtVnVkR3g1UVdOMGFXNW5WWEJrWVhSbGMwbHVSR1YySUQwZ2QyRnlia2xtVG05MFEzVnljbVZ1ZEd4NVFXTjBhVzVuVlhCa1lYUmxjMGx1UkVWV095QXZMeUJKYmlCMFpYTjBjeXdnZDJVZ2QyRnVkQ0IwYnlCbGJtWnZjbU5sSUdFZ2JXOWphMlZrSUhOamFHVmtkV3hsY2k1Y2JseHVkbUZ5SUdScFpGZGhjbTVCWW05MWRGVnViVzlqYTJWa1UyTm9aV1IxYkdWeUlEMGdabUZzYzJVN0lDOHZJRlJQUkU4Z1FtVm1iM0psSUhkbElISmxiR1ZoYzJVZ1kyOXVZM1Z5Y21WdWRDQnRiMlJsTENCeVpYWnBjMmwwSUhSb2FYTWdZVzVrSUdSbFkybGtaU0IzYUdWMGFHVnlJR0VnYlc5amEyVmtYRzR2THlCelkyaGxaSFZzWlhJZ2FYTWdkR2hsSUdGamRIVmhiQ0J5WldOdmJXMWxibVJoZEdsdmJpNGdWR2hsSUdGc2RHVnlibUYwYVhabElHTnZkV3hrSUdKbElHRWdkR1Z6ZEdsdVp5QmlkV2xzWkN4Y2JpOHZJR0VnYm1WM0lHeHBZaXdnYjNJZ2QyaGhkR1YyWlhJN0lIZGxJR1IxYm01dklHcDFjM1FnZVdWMExpQlVhR2x6SUcxbGMzTmhaMlVnYVhNZ1ptOXlJR1ZoY214NUlHRmtiM0IwWlhKelhHNHZMeUIwYnlCblpYUWdkR2hsYVhJZ2RHVnpkSE1nY21sbmFIUXVYRzVjYm1aMWJtTjBhVzl1SUhkaGNtNUpabFZ1Ylc5amEyVmtVMk5vWldSMWJHVnlLR1pwWW1WeUtTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb1pHbGtWMkZ5YmtGaWIzVjBWVzV0YjJOclpXUlRZMmhsWkhWc1pYSWdQVDA5SUdaaGJITmxJQ1ltSUZOamFHVmtkV3hsY2k1MWJuTjBZV0pzWlY5bWJIVnphRUZzYkZkcGRHaHZkWFJCYzNObGNuUnBibWNnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdhV1lnS0dacFltVnlMbTF2WkdVZ0ppQkNiRzlqYTJsdVowMXZaR1VnZkh3Z1ptbGlaWEl1Ylc5a1pTQW1JRU52Ym1OMWNuSmxiblJOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEZWdWJXOWphMlZrVTJOb1pXUjFiR1Z5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNCbGNuSnZjaWduU1c0Z1EyOXVZM1Z5Y21WdWRDQnZjaUJUZVc1aklHMXZaR1Z6TENCMGFHVWdYQ0p6WTJobFpIVnNaWEpjSWlCdGIyUjFiR1VnYm1WbFpITWdkRzhnWW1VZ2JXOWphMlZrSUNjZ0t5QW5kRzhnWjNWaGNtRnVkR1ZsSUdOdmJuTnBjM1JsYm5RZ1ltVm9ZWFpwYjNWeUlHRmpjbTl6Y3lCMFpYTjBjeUJoYm1RZ1luSnZkM05sY25NdUlDY2dLeUFuUm05eUlHVjRZVzF3YkdVc0lIZHBkR2dnYW1WemREb2dYRnh1SnlBcklGd2lhbVZ6ZEM1dGIyTnJLQ2R6WTJobFpIVnNaWEluTENBb0tTQTlQaUJ5WlhGMWFYSmxLQ2R6WTJobFpIVnNaWEl2ZFc1emRHRmliR1ZmYlc5amF5Y3BLVHRjWEc1Y1hHNWNJaUFySUNkR2IzSWdiVzl5WlNCcGJtWnZMQ0IyYVhOcGRDQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMVzF2WTJzdGMyTm9aV1IxYkdWeUp5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR052YlhCMWRHVlVhSEpsWVdSSlJDaHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQXZMeUJKYm5SbGNtRmpkR2x2YmlCMGFISmxZV1J6SUdGeVpTQjFibWx4ZFdVZ2NHVnlJSEp2YjNRZ1lXNWtJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTNWNiaUFnY21WMGRYSnVJR1Y0Y0dseVlYUnBiMjVVYVcxbElDb2dNVEF3TUNBcklISnZiM1F1YVc1MFpYSmhZM1JwYjI1VWFISmxZV1JKUkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYldGeWExTndZWGR1WldSWGIzSnJLR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzVjYmlBZ2FXWWdLSE53WVhkdVpXUlhiM0pyUkhWeWFXNW5VbVZ1WkdWeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2MzQmhkMjVsWkZkdmNtdEVkWEpwYm1kU1pXNWtaWElnUFNCYlpYaHdhWEpoZEdsdmJsUnBiV1ZkTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhOd1lYZHVaV1JYYjNKclJIVnlhVzVuVW1WdVpHVnlMbkIxYzJnb1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITmphR1ZrZFd4bFNXNTBaWEpoWTNScGIyNXpLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsTENCcGJuUmxjbUZqZEdsdmJuTXBJSHRjYmx4dUlDQnBaaUFvYVc1MFpYSmhZM1JwYjI1ekxuTnBlbVVnUGlBd0tTQjdYRzRnSUNBZ2RtRnlJSEJsYm1ScGJtZEpiblJsY21GamRHbHZiazFoY0NBOUlISnZiM1F1Y0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1VFdGd08xeHVJQ0FnSUhaaGNpQndaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpJRDBnY0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1VFdGd0xtZGxkQ2hsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQnBaaUFvY0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1Y3lBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCcGJuUmxjbUZqZEdsdmJuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzUwWlhKaFkzUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0Z3Wlc1a2FXNW5TVzUwWlhKaFkzUnBiMjV6TG1oaGN5aHBiblJsY21GamRHbHZiaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJWY0dSaGRHVWdkR2hsSUhCbGJtUnBibWNnWVhONWJtTWdkMjl5YXlCamIzVnVkQ0JtYjNJZ2NISmxkbWx2ZFhOc2VTQjFibk5qYUdWa2RXeGxaQ0JwYm5SbGNtRmpkR2x2Ymk1Y2JpQWdJQ0FnSUNBZ0lDQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBLeXM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQndaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpMbUZrWkNocGJuUmxjbUZqZEdsdmJpazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NHVnVaR2x1WjBsdWRHVnlZV04wYVc5dVRXRndMbk5sZENobGVIQnBjbUYwYVc5dVZHbHRaU3dnYm1WM0lGTmxkQ2hwYm5SbGNtRmpkR2x2Ym5NcEtUc2dMeThnVlhCa1lYUmxJSFJvWlNCd1pXNWthVzVuSUdGemVXNWpJSGR2Y21zZ1kyOTFiblFnWm05eUlIUm9aU0JqZFhKeVpXNTBJR2x1ZEdWeVlXTjBhVzl1Y3k1Y2JseHVJQ0FnSUNBZ2FXNTBaWEpoWTNScGIyNXpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR2x1ZEdWeVlXTjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lHbHVkR1Z5WVdOMGFXOXVMbDlmWTI5MWJuUXJLenRjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCemRXSnpZM0pwWW1WeUlEMGdkSEpoWTJsdVp5NWZYM04xWW5OamNtbGlaWEpTWldZdVkzVnljbVZ1ZER0Y2JseHVJQ0FnSUdsbUlDaHpkV0p6WTNKcFltVnlJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RHaHlaV0ZrU1VRZ1BTQmpiMjF3ZFhSbFZHaHlaV0ZrU1VRb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmxkdmNtdFRZMmhsWkhWc1pXUW9hVzUwWlhKaFkzUnBiMjV6TENCMGFISmxZV1JKUkNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITmphR1ZrZFd4bFVHVnVaR2x1WjBsdWRHVnlZV04wYVc5dWN5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dVhHNGdJSE5qYUdWa2RXeGxTVzUwWlhKaFkzUnBiMjV6S0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbExDQjBjbUZqYVc1bkxsOWZhVzUwWlhKaFkzUnBiMjV6VW1WbUxtTjFjbkpsYm5RcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCemRHRnlkRmR2Y210UGJsQmxibVJwYm1kSmJuUmxjbUZqZEdsdmJuTW9jbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdMeThnZDJVZ1kyRnVJR0ZqWTNWeVlYUmxiSGtnWVhSMGNtbGlkWFJsSUhScGJXVWdjM0JsYm5RZ2QyOXlhMmx1WnlCdmJpQnBkQ3dnUVc1a0lITnZJSFJvWVhRZ1kyRnpZMkZrYVc1blhHNGdJQzh2SUhkdmNtc2dkSEpwWjJkbGNtVmtJR1IxY21sdVp5QjBhR1VnY21WdVpHVnlJSEJvWVhObElIZHBiR3dnWW1VZ1lYTnpiMk5wWVhSbFpDQjNhWFJvSUdsMExseHVYRzVjYmlBZ2RtRnlJR2x1ZEdWeVlXTjBhVzl1Y3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnY205dmRDNXdaVzVrYVc1blNXNTBaWEpoWTNScGIyNU5ZWEF1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYzJOb1pXUjFiR1ZrU1c1MFpYSmhZM1JwYjI1ekxDQnpZMmhsWkhWc1pXUkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUdsbUlDaHpZMmhsWkhWc1pXUkZlSEJwY21GMGFXOXVWR2x0WlNBK1BTQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ2MyTm9aV1IxYkdWa1NXNTBaWEpoWTNScGIyNXpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR2x1ZEdWeVlXTjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUmxjbUZqZEdsdmJuTXVZV1JrS0dsdWRHVnlZV04wYVc5dUtUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNiaUFnZlNrN0lDOHZJRk4wYjNKbElIUm9aU0JqZFhKeVpXNTBJSE5sZENCdlppQnBiblJsY21GamRHbHZibk1nYjI0Z2RHaGxJRVpwWW1WeVVtOXZkQ0JtYjNJZ1lTQm1aWGNnY21WaGMyOXVjenBjYmlBZ0x5OGdWMlVnWTJGdUlISmxMWFZ6WlNCcGRDQnBiaUJvYjNRZ1puVnVZM1JwYjI1eklHeHBhMlVnY0dWeVptOXliVU52Ym1OMWNuSmxiblJYYjNKclQyNVNiMjkwS0NsY2JpQWdMeThnZDJsMGFHOTFkQ0JvWVhacGJtY2dkRzhnY21WallXeGpkV3hoZEdVZ2FYUXVJRmRsSUhkcGJHd2dZV3h6YnlCMWMyVWdhWFFnYVc0Z1kyOXRiV2wwVjI5eWF5Z3BJSFJ2WEc0Z0lDOHZJSEJoYzNNZ2RHOGdZVzU1SUZCeWIyWnBiR1Z5SUc5dVVtVnVaR1Z5S0NrZ2FHOXZhM011SUZSb2FYTWdZV3h6YnlCd2NtOTJhV1JsY3lCRVpYWlViMjlzY3lCM2FYUm9JR0ZjYmlBZ0x5OGdkMkY1SUhSdklHRmpZMlZ6Y3lCcGRDQjNhR1Z1SUhSb1pTQnZia052YlcxcGRGSnZiM1FvS1NCb2IyOXJJR2x6SUdOaGJHeGxaQzVjYmx4dUlDQnliMjkwTG0xbGJXOXBlbVZrU1c1MFpYSmhZM1JwYjI1eklEMGdhVzUwWlhKaFkzUnBiMjV6TzF4dVhHNGdJR2xtSUNocGJuUmxjbUZqZEdsdmJuTXVjMmw2WlNBK0lEQXBJSHRjYmlBZ0lDQjJZWElnYzNWaWMyTnlhV0psY2lBOUlIUnlZV05wYm1jdVgxOXpkV0p6WTNKcFltVnlVbVZtTG1OMWNuSmxiblE3WEc1Y2JpQWdJQ0JwWmlBb2MzVmljMk55YVdKbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhSb2NtVmhaRWxFSUQwZ1kyOXRjSFYwWlZSb2NtVmhaRWxFS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2MzVmljMk55YVdKbGNpNXZibGR2Y210VGRHRnlkR1ZrS0dsdWRHVnlZV04wYVc5dWN5d2dkR2h5WldGa1NVUXBPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdMeThnU1dZZ2RHaGxJSE4xWW5OamNtbGlaWElnZEdoeWIzZHpMQ0J5WlhSb2NtOTNJR2wwSUdsdUlHRWdjMlZ3WVhKaGRHVWdkR0Z6YTF4dUlDQWdJQ0FnSUNCelkyaGxaSFZzWlVOaGJHeGlZV05yS0VsdGJXVmthV0YwWlZCeWFXOXlhWFI1TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2daWEp5YjNJN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtYVc1cGMyaFFaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpLSEp2YjNRc0lHTnZiVzFwZEhSbFpFVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNWNiaUFnZG1GeUlHVmhjbXhwWlhOMFVtVnRZV2x1YVc1blZHbHRaVUZtZEdWeVEyOXRiV2wwSUQwZ2NtOXZkQzVtYVhKemRGQmxibVJwYm1kVWFXMWxPMXh1SUNCMllYSWdjM1ZpYzJOeWFXSmxjanRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSE4xWW5OamNtbGlaWElnUFNCMGNtRmphVzVuTGw5ZmMzVmljMk55YVdKbGNsSmxaaTVqZFhKeVpXNTBPMXh1WEc0Z0lDQWdhV1lnS0hOMVluTmpjbWxpWlhJZ0lUMDlJRzUxYkd3Z0ppWWdjbTl2ZEM1dFpXMXZhWHBsWkVsdWRHVnlZV04wYVc5dWN5NXphWHBsSUQ0Z01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSb2NtVmhaRWxFSUQwZ1kyOXRjSFYwWlZSb2NtVmhaRWxFS0hKdmIzUXNJR052YlcxcGRIUmxaRVY0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lITjFZbk5qY21saVpYSXViMjVYYjNKclUzUnZjSEJsWkNoeWIyOTBMbTFsYlc5cGVtVmtTVzUwWlhKaFkzUnBiMjV6TENCMGFISmxZV1JKUkNrN1hHNGdJQ0FnZlZ4dUlDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUM4dklFbG1JSFJvWlNCemRXSnpZM0pwWW1WeUlIUm9jbTkzY3l3Z2NtVjBhSEp2ZHlCcGRDQnBiaUJoSUhObGNHRnlZWFJsSUhSaGMydGNiaUFnSUNCelkyaGxaSFZzWlVOaGJHeGlZV05yS0VsdGJXVmthV0YwWlZCeWFXOXlhWFI1TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCbGNuSnZjanRjYmlBZ0lDQjlLVHRjYmlBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBdkx5QkRiR1ZoY2lCamIyMXdiR1YwWldRZ2FXNTBaWEpoWTNScGIyNXpJR1p5YjIwZ2RHaGxJSEJsYm1ScGJtY2dUV0Z3TGx4dUlDQWdJQzh2SUZWdWJHVnpjeUIwYUdVZ2NtVnVaR1Z5SUhkaGN5QnpkWE53Wlc1a1pXUWdiM0lnWTJGelkyRmthVzVuSUhkdmNtc2dkMkZ6SUhOamFHVmtkV3hsWkN4Y2JpQWdJQ0F2THlCSmJpQjNhR2xqYUNCallYTmw0b0NUSUd4bFlYWmxJSEJsYm1ScGJtY2dhVzUwWlhKaFkzUnBiMjV6SUhWdWRHbHNJSFJvWlNCemRXSnpaWEYxWlc1MElISmxibVJsY2k1Y2JpQWdJQ0IyWVhJZ2NHVnVaR2x1WjBsdWRHVnlZV04wYVc5dVRXRndJRDBnY205dmRDNXdaVzVrYVc1blNXNTBaWEpoWTNScGIyNU5ZWEE3WEc0Z0lDQWdjR1Z1WkdsdVowbHVkR1Z5WVdOMGFXOXVUV0Z3TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0hOamFHVmtkV3hsWkVsdWRHVnlZV04wYVc5dWN5d2djMk5vWldSMWJHVmtSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDOHZJRTl1YkhrZ1pHVmpjbVZ0Wlc1MElIUm9aU0J3Wlc1a2FXNW5JR2x1ZEdWeVlXTjBhVzl1SUdOdmRXNTBJR2xtSUhkbEozSmxJR1J2Ym1VdVhHNGdJQ0FnSUNBdkx5QkpaaUIwYUdWeVpTZHpJSE4wYVd4c0lIZHZjbXNnWVhRZ2RHaGxJR04xY25KbGJuUWdjSEpwYjNKcGRIa3NYRzRnSUNBZ0lDQXZMeUJVYUdGMElHbHVaR2xqWVhSbGN5QjBhR0YwSUhkbElHRnlaU0IzWVdsMGFXNW5JR1p2Y2lCemRYTndaVzV6WlNCa1lYUmhMbHh1SUNBZ0lDQWdhV1lnS0hOamFHVmtkV3hsWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDRnWldGeWJHbGxjM1JTWlcxaGFXNXBibWRVYVcxbFFXWjBaWEpEYjIxdGFYUXBJSHRjYmlBZ0lDQWdJQ0FnY0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1VFdGd0xtUmxiR1YwWlNoelkyaGxaSFZzWldSRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0FnSUhOamFHVmtkV3hsWkVsdWRHVnlZV04wYVc5dWN5NW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHBiblJsY21GamRHbHZiaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHbHVkR1Z5WVdOMGFXOXVMbDlmWTI5MWJuUXRMVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h6ZFdKelkzSnBZbVZ5SUNFOVBTQnVkV3hzSUNZbUlHbHVkR1Z5WVdOMGFXOXVMbDlmWTI5MWJuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITjFZbk5qY21saVpYSXViMjVKYm5SbGNtRmpkR2x2YmxOamFHVmtkV3hsWkZkdmNtdERiMjF3YkdWMFpXUW9hVzUwWlhKaFkzUnBiMjRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTV1lnZEdobElITjFZbk5qY21saVpYSWdkR2h5YjNkekxDQnlaWFJvY205M0lHbDBJR2x1SUdFZ2MyVndZWEpoZEdVZ2RHRnphMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZMmhsWkhWc1pVTmhiR3hpWVdOcktFbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNUxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2daWEp5YjNJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmx4dWRtRnlJRzl1VTJOb1pXUjFiR1ZHYVdKbGNsSnZiM1FnUFNCdWRXeHNPMXh1ZG1GeUlHOXVRMjl0YldsMFJtbGlaWEpTYjI5MElEMGdiblZzYkR0Y2JuWmhjaUJ2YmtOdmJXMXBkRVpwWW1WeVZXNXRiM1Z1ZENBOUlHNTFiR3c3WEc1MllYSWdhR0Z6VEc5bloyVmtSWEp5YjNJZ1BTQm1ZV3h6WlR0Y2JuWmhjaUJwYzBSbGRsUnZiMnh6VUhKbGMyVnVkQ0E5SUhSNWNHVnZaaUJmWDFKRlFVTlVYMFJGVmxSUFQweFRYMGRNVDBKQlRGOUlUMDlMWDE4Z0lUMDlJQ2QxYm1SbFptbHVaV1FuTzF4dVpuVnVZM1JwYjI0Z2FXNXFaV04wU1c1MFpYSnVZV3h6S0dsdWRHVnlibUZzY3lrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUY5ZlVrVkJRMVJmUkVWV1ZFOVBURk5mUjB4UFFrRk1YMGhQVDB0Zlh5QTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNBdkx5Qk9ieUJFWlhaVWIyOXNjMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQm9iMjlySUQwZ1gxOVNSVUZEVkY5RVJWWlVUMDlNVTE5SFRFOUNRVXhmU0U5UFMxOWZPMXh1WEc0Z0lHbG1JQ2hvYjI5ckxtbHpSR2x6WVdKc1pXUXBJSHRjYmlBZ0lDQXZMeUJVYUdseklHbHpiaWQwSUdFZ2NtVmhiQ0J3Y205d1pYSjBlU0J2YmlCMGFHVWdhRzl2YXl3Z1luVjBJR2wwSUdOaGJpQmlaU0J6WlhRZ2RHOGdiM0IwSUc5MWRGeHVJQ0FnSUM4dklHOW1JRVJsZGxSdmIyeHpJR2x1ZEdWbmNtRjBhVzl1SUdGdVpDQmhjM052WTJsaGRHVmtJSGRoY201cGJtZHpJR0Z1WkNCc2IyZHpMbHh1SUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk16ZzNOMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRm9iMjlyTG5OMWNIQnZjblJ6Um1saVpYSXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblZHaGxJR2x1YzNSaGJHeGxaQ0IyWlhKemFXOXVJRzltSUZKbFlXTjBJRVJsZGxSdmIyeHpJR2x6SUhSdmJ5QnZiR1FnWVc1a0lIZHBiR3dnYm05MElIZHZjbXNnSnlBcklDZDNhWFJvSUhSb1pTQmpkWEp5Wlc1MElIWmxjbk5wYjI0Z2IyWWdVbVZoWTNRdUlGQnNaV0Z6WlNCMWNHUmhkR1VnVW1WaFkzUWdSR1YyVkc5dmJITXVJQ2NnS3lBbmFIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMWtaWFowYjI5c2N5Y3BPMXh1SUNBZ0lIMGdMeThnUkdWMlZHOXZiSE1nWlhocGMzUnpMQ0JsZG1WdUlIUm9iM1ZuYUNCcGRDQmtiMlZ6YmlkMElITjFjSEJ2Y25RZ1JtbGlaWEl1WEc1Y2JseHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IyWVhJZ2NtVnVaR1Z5WlhKSlJDQTlJR2h2YjJzdWFXNXFaV04wS0dsdWRHVnlibUZzY3lrN0lDOHZJRmRsSUdoaGRtVWdjM1ZqWTJWemMyWjFiR3g1SUdsdWFtVmpkR1ZrTENCemJ5QnViM2NnYVhRZ2FYTWdjMkZtWlNCMGJ5QnpaWFFnZFhBZ2FHOXZhM011WEc1Y2JpQWdJQ0JwWmlBb2RISjFaU2tnZTF4dUlDQWdJQ0FnTHk4Z1QyNXNlU0IxYzJWa0lHSjVJRVpoYzNRZ1VtVm1jbVZ6YUZ4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCb2IyOXJMbTl1VTJOb1pXUjFiR1ZHYVdKbGNsSnZiM1FnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnYjI1VFkyaGxaSFZzWlVacFltVnlVbTl2ZENBOUlHWjFibU4wYVc5dUlDaHliMjkwTENCamFHbHNaSEpsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JvYjI5ckxtOXVVMk5vWldSMWJHVkdhV0psY2xKdmIzUW9jbVZ1WkdWeVpYSkpSQ3dnY205dmRDd2dZMmhwYkdSeVpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJ5ZFdVZ0ppWWdJV2hoYzB4dloyZGxaRVZ5Y205eUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHaGhjMHh2WjJkbFpFVnljbTl5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JsY25KdmNpZ25VbVZoWTNRZ2FXNXpkSEoxYldWdWRHRjBhVzl1SUdWdVkyOTFiblJsY21Wa0lHRnVJR1Z5Y205eU9pQWxjeWNzSUdWeWNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJRzl1UTI5dGJXbDBSbWxpWlhKU2IyOTBJRDBnWm5WdVkzUnBiMjRnS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCMllYSWdaR2xrUlhKeWIzSWdQU0FvY205dmRDNWpkWEp5Wlc1MExtVm1abVZqZEZSaFp5QW1JRVJwWkVOaGNIUjFjbVVwSUQwOVBTQkVhV1JEWVhCMGRYSmxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGxibUZpYkdWUWNtOW1hV3hsY2xScGJXVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR04xY25KbGJuUlVhVzFsSUQwZ1oyVjBRM1Z5Y21WdWRGUnBiV1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY0hKcGIzSnBkSGxNWlhabGJDQTlJR2x1Wm1WeVVISnBiM0pwZEhsR2NtOXRSWGh3YVhKaGRHbHZibFJwYldVb1kzVnljbVZ1ZEZScGJXVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0JvYjI5ckxtOXVRMjl0YldsMFJtbGlaWEpTYjI5MEtISmxibVJsY21WeVNVUXNJSEp2YjNRc0lIQnlhVzl5YVhSNVRHVjJaV3dzSUdScFpFVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9iMjlyTG05dVEyOXRiV2wwUm1saVpYSlNiMjkwS0hKbGJtUmxjbVZ5U1VRc0lISnZiM1FzSUhWdVpHVm1hVzVsWkN3Z1pHbGtSWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaGxjbklwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJ5ZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lXaGhjMHh2WjJkbFpFVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JvWVhOTWIyZG5aV1JGY25KdmNpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2RTWldGamRDQnBibk4wY25WdFpXNTBZWFJwYjI0Z1pXNWpiM1Z1ZEdWeVpXUWdZVzRnWlhKeWIzSTZJQ1Z6Snl3Z1pYSnlLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVYRzRnSUNBZ2IyNURiMjF0YVhSR2FXSmxjbFZ1Ylc5MWJuUWdQU0JtZFc1amRHbHZiaUFvWm1saVpYSXBJSHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHaHZiMnN1YjI1RGIyMXRhWFJHYVdKbGNsVnViVzkxYm5Rb2NtVnVaR1Z5WlhKSlJDd2dabWxpWlhJcE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pYSnlLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NGb1lYTk1iMmRuWldSRmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhR0Z6VEc5bloyVmtSWEp5YjNJZ1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsY25KdmNpZ25VbVZoWTNRZ2FXNXpkSEoxYldWdWRHRjBhVzl1SUdWdVkyOTFiblJsY21Wa0lHRnVJR1Z5Y205eU9pQWxjeWNzSUdWeWNpazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnTHk4Z1EyRjBZMmdnWVd4c0lHVnljbTl5Y3lCaVpXTmhkWE5sSUdsMElHbHpJSFZ1YzJGbVpTQjBieUIwYUhKdmR5QmtkWEpwYm1jZ2FXNXBkR2xoYkdsNllYUnBiMjR1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdaWEp5YjNJb0oxSmxZV04wSUdsdWMzUnlkVzFsYm5SaGRHbHZiaUJsYm1OdmRXNTBaWEpsWkNCaGJpQmxjbkp2Y2pvZ0pYTXVKeXdnWlhKeUtUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1JHVjJWRzl2YkhNZ1pYaHBjM1J6WEc1Y2JseHVJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibVoxYm1OMGFXOXVJRzl1VTJOb1pXUjFiR1ZTYjI5MEtISnZiM1FzSUdOb2FXeGtjbVZ1S1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYjI1VFkyaGxaSFZzWlVacFltVnlVbTl2ZENBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJRzl1VTJOb1pXUjFiR1ZHYVdKbGNsSnZiM1FvY205dmRDd2dZMmhwYkdSeVpXNHBPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ2YmtOdmJXMXBkRkp2YjNRb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnZia052YlcxcGRFWnBZbVZ5VW05dmRDQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUc5dVEyOXRiV2wwUm1saVpYSlNiMjkwS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdiMjVEYjIxdGFYUlZibTF2ZFc1MEtHWnBZbVZ5S1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYjI1RGIyMXRhWFJHYVdKbGNsVnViVzkxYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0J2YmtOdmJXMXBkRVpwWW1WeVZXNXRiM1Z1ZENobWFXSmxjaWs3WEc0Z0lIMWNibjFjYmx4dWRtRnlJR2hoYzBKaFpFMWhjRkJ2YkhsbWFXeHNPMXh1WEc1N1hHNGdJR2hoYzBKaFpFMWhjRkJ2YkhsbWFXeHNJRDBnWm1Gc2MyVTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQjJZWElnYm05dVJYaDBaVzV6YVdKc1pVOWlhbVZqZENBOUlFOWlhbVZqZEM1d2NtVjJaVzUwUlhoMFpXNXphVzl1Y3loN2ZTazdYRzRnSUNBZ2RtRnlJSFJsYzNSTllYQWdQU0J1WlhjZ1RXRndLRnRiYm05dVJYaDBaVzV6YVdKc1pVOWlhbVZqZEN3Z2JuVnNiRjFkS1R0Y2JpQWdJQ0IyWVhJZ2RHVnpkRk5sZENBOUlHNWxkeUJUWlhRb1cyNXZia1Y0ZEdWdWMybGliR1ZQWW1wbFkzUmRLVHNnTHk4Z1ZHaHBjeUJwY3lCdVpXTmxjM05oY25rZ1ptOXlJRkp2Ykd4MWNDQjBieUJ1YjNRZ1kyOXVjMmxrWlhJZ2RHaGxjMlVnZFc1MWMyVmtMbHh1SUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl5YjJ4c2RYQXZjbTlzYkhWd0wybHpjM1ZsY3k4eE56Y3hYRzRnSUNBZ0x5OGdWRTlFVHpvZ2QyVWdZMkZ1SUhKbGJXOTJaU0IwYUdWelpTQnBaaUJTYjJ4c2RYQWdabWw0WlhNZ2RHaGxJR0oxWnk1Y2JseHVJQ0FnSUhSbGMzUk5ZWEF1YzJWMEtEQXNJREFwTzF4dUlDQWdJSFJsYzNSVFpYUXVZV1JrS0RBcE8xeHVJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnTHk4Z1ZFOUVUem9nUTI5dWMybGtaWElnZDJGeWJtbHVaeUJoWW05MWRDQmlZV1FnY0c5c2VXWnBiR3h6WEc0Z0lDQWdhR0Z6UW1Ga1RXRndVRzlzZVdacGJHd2dQU0IwY25WbE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCa1pXSjFaME52ZFc1MFpYSWdQU0F4TzF4dVhHNW1kVzVqZEdsdmJpQkdhV0psY2s1dlpHVW9kR0ZuTENCd1pXNWthVzVuVUhKdmNITXNJR3RsZVN3Z2JXOWtaU2tnZTF4dUlDQXZMeUJKYm5OMFlXNWpaVnh1SUNCMGFHbHpMblJoWnlBOUlIUmhaenRjYmlBZ2RHaHBjeTVyWlhrZ1BTQnJaWGs3WEc0Z0lIUm9hWE11Wld4bGJXVnVkRlI1Y0dVZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG5SNWNHVWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxuTjBZWFJsVG05a1pTQTlJRzUxYkd3N0lDOHZJRVpwWW1WeVhHNWNiaUFnZEdocGN5NXlaWFIxY200Z1BTQnVkV3hzTzF4dUlDQjBhR2x6TG1Ob2FXeGtJRDBnYm5Wc2JEdGNiaUFnZEdocGN5NXphV0pzYVc1bklEMGdiblZzYkR0Y2JpQWdkR2hwY3k1cGJtUmxlQ0E5SURBN1hHNGdJSFJvYVhNdWNtVm1JRDBnYm5Wc2JEdGNiaUFnZEdocGN5NXdaVzVrYVc1blVISnZjSE1nUFNCd1pXNWthVzVuVUhKdmNITTdYRzRnSUhSb2FYTXViV1Z0YjJsNlpXUlFjbTl3Y3lBOUlHNTFiR3c3WEc0Z0lIUm9hWE11ZFhCa1lYUmxVWFZsZFdVZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG0xbGJXOXBlbVZrVTNSaGRHVWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxtUmxjR1Z1WkdWdVkybGxjeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXViVzlrWlNBOUlHMXZaR1U3SUM4dklFVm1abVZqZEhOY2JseHVJQ0IwYUdsekxtVm1abVZqZEZSaFp5QTlJRTV2UldabVpXTjBPMXh1SUNCMGFHbHpMbTVsZUhSRlptWmxZM1FnUFNCdWRXeHNPMXh1SUNCMGFHbHpMbVpwY25OMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVzWVhOMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZEdocGN5NWphR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG05WGIzSnJPMXh1SUNCMGFHbHpMbUZzZEdWeWJtRjBaU0E5SUc1MWJHdzdYRzVjYmlBZ2UxeHVJQ0FnSUM4dklFNXZkR1U2SUZSb1pTQm1iMnhzYjNkcGJtY2dhWE1nWkc5dVpTQjBieUJoZG05cFpDQmhJSFk0SUhCbGNtWnZjbTFoYm1ObElHTnNhV1ptTGx4dUlDQWdJQzh2WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2YVc1bklIUm9aU0JtYVdWc1pITWdZbVZzYjNjZ2RHOGdjMjFwY3lCaGJtUWdiR0YwWlhJZ2RYQmtZWFJwYm1jZ2RHaGxiU0IzYVhSb1hHNGdJQ0FnTHk4Z1pHOTFZbXhsSUhaaGJIVmxjeUIzYVd4c0lHTmhkWE5sSUVacFltVnljeUIwYnlCbGJtUWdkWEFnYUdGMmFXNW5JSE5sY0dGeVlYUmxJSE5vWVhCbGN5NWNiaUFnSUNBdkx5QlVhR2x6SUdKbGFHRjJhVzl5TDJKMVp5Qm9ZWE1nYzI5dFpYUm9hVzVuSUhSdklHUnZJSGRwZEdnZ1QySnFaV04wTG5CeVpYWmxiblJGZUhSbGJuTnBiMjRvS1M1Y2JpQWdJQ0F2THlCR2IzSjBkVzVoZEdWc2VTQjBhR2x6SUc5dWJIa2dhVzF3WVdOMGN5QkVSVllnWW5WcGJHUnpMbHh1SUNBZ0lDOHZJRlZ1Wm05eWRIVnVZWFJsYkhrZ2FYUWdiV0ZyWlhNZ1VtVmhZM1FnZFc1MWMyRmliSGtnYzJ4dmR5Qm1iM0lnYzI5dFpTQmhjSEJzYVdOaGRHbHZibk11WEc0Z0lDQWdMeThnVkc4Z2QyOXlheUJoY205MWJtUWdkR2hwY3l3Z2FXNXBkR2xoYkdsNlpTQjBhR1VnWm1sbGJHUnpJR0psYkc5M0lIZHBkR2dnWkc5MVlteGxjeTVjYmlBZ0lDQXZMMXh1SUNBZ0lDOHZJRXhsWVhKdUlHMXZjbVVnWVdKdmRYUWdkR2hwY3lCb1pYSmxPbHh1SUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1UUXpOalZjYmlBZ0lDQXZMeUJvZEhSd2N6b3ZMMkoxWjNNdVkyaHliMjFwZFcwdWIzSm5MM0F2ZGpndmFYTnpkV1Z6TDJSbGRHRnBiRDlwWkQwNE5UTTRYRzRnSUNBZ2RHaHBjeTVoWTNSMVlXeEVkWEpoZEdsdmJpQTlJRTUxYldKbGNpNU9ZVTQ3WEc0Z0lDQWdkR2hwY3k1aFkzUjFZV3hUZEdGeWRGUnBiV1VnUFNCT2RXMWlaWEl1VG1GT08xeHVJQ0FnSUhSb2FYTXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJRTUxYldKbGNpNU9ZVTQ3WEc0Z0lDQWdkR2hwY3k1MGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUQwZ1RuVnRZbVZ5TGs1aFRqc2dMeThnU1hRbmN5QnZhMkY1SUhSdklISmxjR3hoWTJVZ2RHaGxJR2x1YVhScFlXd2daRzkxWW14bGN5QjNhWFJvSUhOdGFYTWdZV1owWlhJZ2FXNXBkR2xoYkdsNllYUnBiMjR1WEc0Z0lDQWdMeThnVkdocGN5QjNiMjRuZENCMGNtbG5aMlZ5SUhSb1pTQndaWEptYjNKdFlXNWpaU0JqYkdsbVppQnRaVzUwYVc5dVpXUWdZV0p2ZG1Vc1hHNGdJQ0FnTHk4Z1lXNWtJR2wwSUhOcGJYQnNhV1pwWlhNZ2IzUm9aWElnY0hKdlptbHNaWElnWTI5a1pTQW9hVzVqYkhWa2FXNW5JRVJsZGxSdmIyeHpLUzVjYmx4dUlDQWdJSFJvYVhNdVlXTjBkV0ZzUkhWeVlYUnBiMjRnUFNBd08xeHVJQ0FnSUhSb2FYTXVZV04wZFdGc1UzUmhjblJVYVcxbElEMGdMVEU3WEc0Z0lDQWdkR2hwY3k1elpXeG1RbUZ6WlVSMWNtRjBhVzl1SUQwZ01EdGNiaUFnSUNCMGFHbHpMblJ5WldWQ1lYTmxSSFZ5WVhScGIyNGdQU0F3TzF4dUlDQjlJQzh2SUZSb2FYTWdhWE1nYm05eWJXRnNiSGtnUkVWV0xXOXViSGtnWlhoalpYQjBJSGQzZHlCM2FHVnVJR2wwSUdGa1pITWdiR2x6ZEdWdVpYSnpMbHh1SUNBdkx5QlVUMFJQT2lCeVpXMXZkbVVnZEdobElGVnpaWElnVkdsdGFXNW5JR2x1ZEdWbmNtRjBhVzl1SUdsdUlHWmhkbTl5SUc5bUlGSnZiM1FnUlhabGJuUnpMbHh1WEc1Y2JpQWdlMXh1SUNBZ0lIUm9hWE11WDJSbFluVm5TVVFnUFNCa1pXSjFaME52ZFc1MFpYSXJLenRjYmlBZ0lDQjBhR2x6TGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5JRDBnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkR2hwY3k1ZlpHVmlkV2RUYjNWeVkyVWdQU0J1ZFd4c08xeHVJQ0FnSUhSb2FYTXVYMlJsWW5WblQzZHVaWElnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11WDJSbFluVm5UbVZsWkhOU1pXMXZkVzUwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZlpHVmlkV2RJYjI5clZIbHdaWE1nUFNCdWRXeHNPMXh1WEc0Z0lDQWdhV1lnS0NGb1lYTkNZV1JOWVhCUWIyeDVabWxzYkNBbUppQjBlWEJsYjJZZ1QySnFaV04wTG5CeVpYWmxiblJGZUhSbGJuTnBiMjV6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVjSEpsZG1WdWRFVjRkR1Z1YzJsdmJuTW9kR2hwY3lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5SUM4dklGUm9hWE1nYVhNZ1lTQmpiMjV6ZEhKMVkzUnZjaUJtZFc1amRHbHZiaXdnY21GMGFHVnlJSFJvWVc0Z1lTQlFUMHBQSUdOdmJuTjBjblZqZEc5eUxDQnpkR2xzYkZ4dUx5OGdjR3hsWVhObElHVnVjM1Z5WlNCM1pTQmtieUIwYUdVZ1ptOXNiRzkzYVc1bk9seHVMeThnTVNrZ1RtOWliMlI1SUhOb2IzVnNaQ0JoWkdRZ1lXNTVJR2x1YzNSaGJtTmxJRzFsZEdodlpITWdiMjRnZEdocGN5NGdTVzV6ZEdGdVkyVWdiV1YwYUc5a2N5QmpZVzRnWW1WY2JpOHZJQ0FnSUcxdmNtVWdaR2xtWm1samRXeDBJSFJ2SUhCeVpXUnBZM1FnZDJobGJpQjBhR1Y1SUdkbGRDQnZjSFJwYldsNlpXUWdZVzVrSUhSb1pYa2dZWEpsSUdGc2JXOXpkRnh1THk4Z0lDQWdibVYyWlhJZ2FXNXNhVzVsWkNCd2NtOXdaWEpzZVNCcGJpQnpkR0YwYVdNZ1kyOXRjR2xzWlhKekxseHVMeThnTWlrZ1RtOWliMlI1SUhOb2IzVnNaQ0J5Wld4NUlHOXVJR0JwYm5OMFlXNWpaVzltSUVacFltVnlZQ0JtYjNJZ2RIbHdaU0IwWlhOMGFXNW5MaUJYWlNCemFHOTFiR1JjYmk4dklDQWdJR0ZzZDJGNWN5QnJibTkzSUhkb1pXNGdhWFFnYVhNZ1lTQm1hV0psY2k1Y2JpOHZJRE1wSUZkbElHMXBaMmgwSUhkaGJuUWdkRzhnWlhod1pYSnBiV1Z1ZENCM2FYUm9JSFZ6YVc1bklHNTFiV1Z5YVdNZ2EyVjVjeUJ6YVc1alpTQjBhR1Y1SUdGeVpTQmxZWE5wWlhKY2JpOHZJQ0FnSUhSdklHOXdkR2x0YVhwbElHbHVJR0VnYm05dUxVcEpWQ0JsYm5acGNtOXViV1Z1ZEM1Y2JpOHZJRFFwSUZkbElHTmhiaUJsWVhOcGJIa2daMjhnWm5KdmJTQmhJR052Ym5OMGNuVmpkRzl5SUhSdklHRWdZM0psWVhSbFJtbGlaWElnYjJKcVpXTjBJR3hwZEdWeVlXd2dhV1lnZEdoaGRGeHVMeThnSUNBZ2FYTWdabUZ6ZEdWeUxseHVMeThnTlNrZ1NYUWdjMmh2ZFd4a0lHSmxJR1ZoYzNrZ2RHOGdjRzl5ZENCMGFHbHpJSFJ2SUdFZ1F5QnpkSEoxWTNRZ1lXNWtJR3RsWlhBZ1lTQkRJR2x0Y0d4bGJXVnVkR0YwYVc5dVhHNHZMeUFnSUNCamIyMXdZWFJwWW14bExseHVYRzVjYm5aaGNpQmpjbVZoZEdWR2FXSmxjaUE5SUdaMWJtTjBhVzl1SUNoMFlXY3NJSEJsYm1ScGJtZFFjbTl3Y3l3Z2EyVjVMQ0J0YjJSbEtTQjdYRzRnSUM4dklDUkdiRzkzUm1sNFRXVTZJSFJvWlNCemFHRndaWE1nWVhKbElHVjRZV04wSUdobGNtVWdZblYwSUVac2IzY2daRzlsYzI0bmRDQnNhV3RsSUdOdmJuTjBjblZqZEc5eWMxeHVJQ0J5WlhSMWNtNGdibVYzSUVacFltVnlUbTlrWlNoMFlXY3NJSEJsYm1ScGJtZFFjbTl3Y3l3Z2EyVjVMQ0J0YjJSbEtUdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlITm9iM1ZzWkVOdmJuTjBjblZqZENoRGIyMXdiMjVsYm5RcElIdGNiaUFnZG1GeUlIQnliM1J2ZEhsd1pTQTlJRU52YlhCdmJtVnVkQzV3Y205MGIzUjVjR1U3WEc0Z0lISmxkSFZ5YmlBaElTaHdjbTkwYjNSNWNHVWdKaVlnY0hKdmRHOTBlWEJsTG1selVtVmhZM1JEYjIxd2IyNWxiblFwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFOcGJYQnNaVVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBLSFI1Y0dVcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQjBlWEJsSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUNGemFHOTFiR1JEYjI1emRISjFZM1FvZEhsd1pTa2dKaVlnZEhsd1pTNWtaV1poZFd4MFVISnZjSE1nUFQwOUlIVnVaR1ZtYVc1bFpEdGNibjFjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZNWVhwNVEyOXRjRzl1Wlc1MFZHRm5LRU52YlhCdmJtVnVkQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JRU52YlhCdmJtVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCemFHOTFiR1JEYjI1emRISjFZM1FvUTI5dGNHOXVaVzUwS1NBL0lFTnNZWE56UTI5dGNHOXVaVzUwSURvZ1JuVnVZM1JwYjI1RGIyMXdiMjVsYm5RN1hHNGdJSDBnWld4elpTQnBaaUFvUTI5dGNHOXVaVzUwSUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnUTI5dGNHOXVaVzUwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlDUWtkSGx3Wlc5bUlEMGdRMjl0Y0c5dVpXNTBMaVFrZEhsd1pXOW1PMXh1WEc0Z0lDQWdhV1lnS0NRa2RIbHdaVzltSUQwOVBTQlNSVUZEVkY5R1QxSlhRVkpFWDFKRlJsOVVXVkJGS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUm05eWQyRnlaRkpsWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0pDUjBlWEJsYjJZZ1BUMDlJRkpGUVVOVVgwMUZUVTlmVkZsUVJTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFMWxiVzlEYjIxd2IyNWxiblE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRWx1WkdWMFpYSnRhVzVoZEdWRGIyMXdiMjVsYm5RN1hHNTlJQzh2SUZSb2FYTWdhWE1nZFhObFpDQjBieUJqY21WaGRHVWdZVzRnWVd4MFpYSnVZWFJsSUdacFltVnlJSFJ2SUdSdklIZHZjbXNnYjI0dVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpWZHZjbXRKYmxCeWIyZHlaWE56S0dOMWNuSmxiblFzSUhCbGJtUnBibWRRY205d2N5a2dlMXh1SUNCMllYSWdkMjl5YTBsdVVISnZaM0psYzNNZ1BTQmpkWEp5Wlc1MExtRnNkR1Z5Ym1GMFpUdGNibHh1SUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBdkx5QlhaU0IxYzJVZ1lTQmtiM1ZpYkdVZ1luVm1abVZ5YVc1bklIQnZiMnhwYm1jZ2RHVmphRzVwY1hWbElHSmxZMkYxYzJVZ2QyVWdhMjV2ZHlCMGFHRjBJSGRsSjJ4c1hHNGdJQ0FnTHk4Z2IyNXNlU0JsZG1WeUlHNWxaV1FnWVhRZ2JXOXpkQ0IwZDI4Z2RtVnljMmx2Ym5NZ2IyWWdZU0IwY21WbExpQlhaU0J3YjI5c0lIUm9aU0JjSW05MGFHVnlYQ0lnZFc1MWMyVmtYRzRnSUNBZ0x5OGdibTlrWlNCMGFHRjBJSGRsSjNKbElHWnlaV1VnZEc4Z2NtVjFjMlV1SUZSb2FYTWdhWE1nYkdGNmFXeDVJR055WldGMFpXUWdkRzhnWVhadmFXUWdZV3hzYjJOaGRHbHVaMXh1SUNBZ0lDOHZJR1Y0ZEhKaElHOWlhbVZqZEhNZ1ptOXlJSFJvYVc1bmN5QjBhR0YwSUdGeVpTQnVaWFpsY2lCMWNHUmhkR1ZrTGlCSmRDQmhiSE52SUdGc2JHOTNJSFZ6SUhSdlhHNGdJQ0FnTHk4Z2NtVmpiR0ZwYlNCMGFHVWdaWGgwY21FZ2JXVnRiM0o1SUdsbUlHNWxaV1JsWkM1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJR055WldGMFpVWnBZbVZ5S0dOMWNuSmxiblF1ZEdGbkxDQndaVzVrYVc1blVISnZjSE1zSUdOMWNuSmxiblF1YTJWNUxDQmpkWEp5Wlc1MExtMXZaR1VwTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxJRDBnWTNWeWNtVnVkQzVsYkdWdFpXNTBWSGx3WlR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ1kzVnljbVZ1ZEM1MGVYQmxPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5OMFlYUmxUbTlrWlNBOUlHTjFjbkpsYm5RdWMzUmhkR1ZPYjJSbE8xeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdSRVZXTFc5dWJIa2dabWxsYkdSelhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TGw5a1pXSjFaMGxFSUQwZ1kzVnljbVZ1ZEM1ZlpHVmlkV2RKUkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WDJSbFluVm5VMjkxY21ObElEMGdZM1Z5Y21WdWRDNWZaR1ZpZFdkVGIzVnlZMlU3WEc0Z0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWZaR1ZpZFdkUGQyNWxjaUE5SUdOMWNuSmxiblF1WDJSbFluVm5UM2R1WlhJN1hHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVmWkdWaWRXZEliMjlyVkhsd1pYTWdQU0JqZFhKeVpXNTBMbDlrWldKMVowaHZiMnRVZVhCbGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVoYkhSbGNtNWhkR1VnUFNCamRYSnlaVzUwTzF4dUlDQWdJR04xY25KbGJuUXVZV3gwWlhKdVlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWNHVnVaR2x1WjFCeWIzQnpJRDBnY0dWdVpHbHVaMUJ5YjNCek95QXZMeUJYWlNCaGJISmxZV1I1SUdoaGRtVWdZVzRnWVd4MFpYSnVZWFJsTGx4dUlDQWdJQzh2SUZKbGMyVjBJSFJvWlNCbFptWmxZM1FnZEdGbkxseHVYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUQwZ1RtOUZabVpsWTNRN0lDOHZJRlJvWlNCbFptWmxZM1FnYkdsemRDQnBjeUJ1YnlCc2IyNW5aWElnZG1Gc2FXUXVYRzVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dVpYaDBSV1ptWldOMElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NW1hWEp6ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YkdGemRFVm1abVZqZENBOUlHNTFiR3c3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0F2THlCWFpTQnBiblJsYm5ScGIyNWhiR3g1SUhKbGMyVjBMQ0J5WVhSb1pYSWdkR2hoYmlCamIzQjVMQ0JoWTNSMVlXeEVkWEpoZEdsdmJpQW1JR0ZqZEhWaGJGTjBZWEowVkdsdFpTNWNiaUFnSUNBZ0lDOHZJRlJvYVhNZ2NISmxkbVZ1ZEhNZ2RHbHRaU0JtY205dElHVnVaR3hsYzNOc2VTQmhZMk4xYlhWc1lYUnBibWNnYVc0Z2JtVjNJR052YlcxcGRITXVYRzRnSUNBZ0lDQXZMeUJVYUdseklHaGhjeUIwYUdVZ1pHOTNibk5wWkdVZ2IyWWdjbVZ6WlhSMGFXNW5JSFpoYkhWbGN5Qm1iM0lnWkdsbVptVnlaVzUwSUhCeWFXOXlhWFI1SUhKbGJtUmxjbk1zWEc0Z0lDQWdJQ0F2THlCQ2RYUWdkMjl5YTNNZ1ptOXlJSGxwWld4a2FXNW5JQ2gwYUdVZ1kyOXRiVzl1SUdOaGMyVXBJR0Z1WkNCemFHOTFiR1FnYzNWd2NHOXlkQ0J5WlhOMWJXbHVaeTVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtRmpkSFZoYkVSMWNtRjBhVzl1SUQwZ01EdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1GamRIVmhiRk4wWVhKMFZHbHRaU0E5SUMweE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmpkWEp5Wlc1MExtTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdZM1Z5Y21WdWRDNWxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCamRYSnlaVzUwTG1Ob2FXeGtPMXh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRkJ5YjNCeklEMGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGQnliM0J6TzF4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxJRDBnWTNWeWNtVnVkQzV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0IzYjNKclNXNVFjbTluY21WemN5NTFjR1JoZEdWUmRXVjFaU0E5SUdOMWNuSmxiblF1ZFhCa1lYUmxVWFZsZFdVN0lDOHZJRU5zYjI1bElIUm9aU0JrWlhCbGJtUmxibU5wWlhNZ2IySnFaV04wTGlCVWFHbHpJR2x6SUcxMWRHRjBaV1FnWkhWeWFXNW5JSFJvWlNCeVpXNWtaWElnY0doaGMyVXNJSE52WEc0Z0lDOHZJR2wwSUdOaGJtNXZkQ0JpWlNCemFHRnlaV1FnZDJsMGFDQjBhR1VnWTNWeWNtVnVkQ0JtYVdKbGNpNWNibHh1SUNCMllYSWdZM1Z5Y21WdWRFUmxjR1Z1WkdWdVkybGxjeUE5SUdOMWNuSmxiblF1WkdWd1pXNWtaVzVqYVdWek8xeHVJQ0IzYjNKclNXNVFjbTluY21WemN5NWtaWEJsYm1SbGJtTnBaWE1nUFNCamRYSnlaVzUwUkdWd1pXNWtaVzVqYVdWeklEMDlQU0J1ZFd4c0lEOGdiblZzYkNBNklIdGNiaUFnSUNCbGVIQnBjbUYwYVc5dVZHbHRaVG9nWTNWeWNtVnVkRVJsY0dWdVpHVnVZMmxsY3k1bGVIQnBjbUYwYVc5dVZHbHRaU3hjYmlBZ0lDQm1hWEp6ZEVOdmJuUmxlSFE2SUdOMWNuSmxiblJFWlhCbGJtUmxibU5wWlhNdVptbHljM1JEYjI1MFpYaDBMRnh1SUNBZ0lISmxjM0J2Ym1SbGNuTTZJR04xY25KbGJuUkVaWEJsYm1SbGJtTnBaWE11Y21WemNHOXVaR1Z5YzF4dUlDQjlPeUF2THlCVWFHVnpaU0IzYVd4c0lHSmxJRzkyWlhKeWFXUmtaVzRnWkhWeWFXNW5JSFJvWlNCd1lYSmxiblFuY3lCeVpXTnZibU5wYkdsaGRHbHZibHh1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG5OcFlteHBibWNnUFNCamRYSnlaVzUwTG5OcFlteHBibWM3WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1sdVpHVjRJRDBnWTNWeWNtVnVkQzVwYm1SbGVEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXVjbVZtSUQwZ1kzVnljbVZ1ZEM1eVpXWTdYRzVjYmlBZ2UxeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbk5sYkdaQ1lYTmxSSFZ5WVhScGIyNGdQU0JqZFhKeVpXNTBMbk5sYkdaQ1lYTmxSSFZ5WVhScGIyNDdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhKbFpVSmhjMlZFZFhKaGRHbHZiaUE5SUdOMWNuSmxiblF1ZEhKbFpVSmhjMlZFZFhKaGRHbHZianRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWZaR1ZpZFdkT1pXVmtjMUpsYlc5MWJuUWdQU0JqZFhKeVpXNTBMbDlrWldKMVowNWxaV1J6VW1WdGIzVnVkRHRjYmx4dUlDQWdJSE4zYVhSamFDQW9kMjl5YTBsdVVISnZaM0psYzNNdWRHRm5LU0I3WEc0Z0lDQWdJQ0JqWVhObElFbHVaR1YwWlhKdGFXNWhkR1ZEYjIxd2IyNWxiblE2WEc0Z0lDQWdJQ0JqWVhObElFWjFibU4wYVc5dVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ1kyRnpaU0JUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbElEMGdjbVZ6YjJ4MlpVWjFibU4wYVc5dVJtOXlTRzkwVW1Wc2IyRmthVzVuS0dOMWNuSmxiblF1ZEhsd1pTazdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ2NtVnpiMngyWlVOc1lYTnpSbTl5U0c5MFVtVnNiMkZrYVc1bktHTjFjbkpsYm5RdWRIbHdaU2s3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdJQ0JqWVhObElFWnZjbmRoY21SU1pXWTZYRzRnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1VnUFNCeVpYTnZiSFpsUm05eWQyRnlaRkpsWmtadmNraHZkRkpsYkc5aFpHbHVaeWhqZFhKeVpXNTBMblI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzU5SUM4dklGVnpaV1FnZEc4Z2NtVjFjMlVnWVNCR2FXSmxjaUJtYjNJZ1lTQnpaV052Ym1RZ2NHRnpjeTVjYmx4dVpuVnVZM1JwYjI0Z2NtVnpaWFJYYjNKclNXNVFjbTluY21WemN5aDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0x5OGdWR2hwY3lCeVpYTmxkSE1nZEdobElFWnBZbVZ5SUhSdklIZG9ZWFFnWTNKbFlYUmxSbWxpWlhJZ2IzSWdZM0psWVhSbFYyOXlhMGx1VUhKdlozSmxjM01nZDI5MWJHUmNiaUFnTHk4Z2FHRjJaU0J6WlhRZ2RHaGxJSFpoYkhWbGN5QjBieUJpWldadmNtVWdaSFZ5YVc1bklIUm9aU0JtYVhKemRDQndZWE56TGlCSlpHVmhiR3g1SUhSb2FYTWdkMjkxYkdSdUozUmNiaUFnTHk4Z1ltVWdibVZqWlhOellYSjVJR0oxZENCMWJtWnZjblIxYm1GMFpXeDVJRzFoYm5rZ1kyOWtaU0J3WVhSb2N5QnlaV0ZrY3lCbWNtOXRJSFJvWlNCM2IzSnJTVzVRY205bmNtVnpjMXh1SUNBdkx5QjNhR1Z1SUhSb1pYa2djMmh2ZFd4a0lHSmxJSEpsWVdScGJtY2dabkp2YlNCamRYSnlaVzUwSUdGdVpDQjNjbWwwYVc1bklIUnZJSGR2Y210SmJsQnliMmR5WlhOekxseHVJQ0F2THlCWFpTQmhjM04xYldVZ2NHVnVaR2x1WjFCeWIzQnpMQ0JwYm1SbGVDd2dhMlY1TENCeVpXWXNJSEpsZEhWeWJpQmhjbVVnYzNScGJHd2dkVzUwYjNWamFHVmtJSFJ2WEc0Z0lDOHZJR0YyYjJsa0lHUnZhVzVuSUdGdWIzUm9aWElnY21WamIyNWphV3hwWVhScGIyNHVYRzRnSUM4dklGSmxjMlYwSUhSb1pTQmxabVpsWTNRZ2RHRm5JR0oxZENCclpXVndJR0Z1ZVNCUWJHRmpaVzFsYm5RZ2RHRm5jeXdnYzJsdVkyVWdkR2hoZENkeklITnZiV1YwYUdsdVoxeHVJQ0F2THlCMGFHRjBJR05vYVd4a0lHWnBZbVZ5SUdseklITmxkSFJwYm1jc0lHNXZkQ0IwYUdVZ2NtVmpiMjVqYVd4cFlYUnBiMjR1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlBbVBTQlFiR0ZqWlcxbGJuUTdJQzh2SUZSb1pTQmxabVpsWTNRZ2JHbHpkQ0JwY3lCdWJ5QnNiMjVuWlhJZ2RtRnNhV1F1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdWJtVjRkRVZtWm1WamRDQTlJRzUxYkd3N1hHNGdJSGR2Y210SmJsQnliMmR5WlhOekxtWnBjbk4wUldabVpXTjBJRDBnYm5Wc2JEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXViR0Z6ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUhaaGNpQmpkWEp5Wlc1MElEMGdkMjl5YTBsdVVISnZaM0psYzNNdVlXeDBaWEp1WVhSbE8xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdVbVZ6WlhRZ2RHOGdZM0psWVhSbFJtbGlaWEluY3lCcGJtbDBhV0ZzSUhaaGJIVmxjeTVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEMGdUbTlYYjNKck8xeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCdWRXeHNPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVUhKdmNITWdQU0J1ZFd4c08xeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnYm5Wc2JEdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVrWlhCbGJtUmxibU5wWlhNZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnTHk4Z1RtOTBaVG9nVjJVZ1pHOXVKM1FnY21WelpYUWdkR2hsSUdGamRIVmhiRlJwYldVZ1kyOTFiblJ6TGlCSmRDZHpJSFZ6WldaMWJDQjBieUJoWTJOMWJYVnNZWFJsWEc0Z0lDQWdJQ0F2THlCaFkzUjFZV3dnZEdsdFpTQmhZM0p2YzNNZ2JYVnNkR2x3YkdVZ2NtVnVaR1Z5SUhCaGMzTmxjeTVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuTmxiR1pDWVhObFJIVnlZWFJwYjI0Z1BTQXdPMXh1SUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWRISmxaVUpoYzJWRWRYSmhkR2x2YmlBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRkpsYzJWMElIUnZJSFJvWlNCamJHOXVaV1FnZG1Gc2RXVnpJSFJvWVhRZ1kzSmxZWFJsVjI5eWEwbHVVSEp2WjNKbGMzTWdkMjkxYkdRbmRtVXVYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlHTjFjbkpsYm5RdVkyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR04xY25KbGJuUXVaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQmpkWEp5Wlc1MExtTm9hV3hrTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE1nUFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YldWdGIybDZaV1JUZEdGMFpTQTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTFjR1JoZEdWUmRXVjFaU0E5SUdOMWNuSmxiblF1ZFhCa1lYUmxVWFZsZFdVN0lDOHZJRU5zYjI1bElIUm9aU0JrWlhCbGJtUmxibU5wWlhNZ2IySnFaV04wTGlCVWFHbHpJR2x6SUcxMWRHRjBaV1FnWkhWeWFXNW5JSFJvWlNCeVpXNWtaWElnY0doaGMyVXNJSE52WEc0Z0lDQWdMeThnYVhRZ1kyRnVibTkwSUdKbElITm9ZWEpsWkNCM2FYUm9JSFJvWlNCamRYSnlaVzUwSUdacFltVnlMbHh1WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJFWlhCbGJtUmxibU5wWlhNZ1BTQmpkWEp5Wlc1MExtUmxjR1Z1WkdWdVkybGxjenRjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1a1pYQmxibVJsYm1OcFpYTWdQU0JqZFhKeVpXNTBSR1Z3Wlc1a1pXNWphV1Z6SUQwOVBTQnVkV3hzSUQ4Z2JuVnNiQ0E2SUh0Y2JpQWdJQ0FnSUdWNGNHbHlZWFJwYjI1VWFXMWxPaUJqZFhKeVpXNTBSR1Z3Wlc1a1pXNWphV1Z6TG1WNGNHbHlZWFJwYjI1VWFXMWxMRnh1SUNBZ0lDQWdabWx5YzNSRGIyNTBaWGgwT2lCamRYSnlaVzUwUkdWd1pXNWtaVzVqYVdWekxtWnBjbk4wUTI5dWRHVjRkQ3hjYmlBZ0lDQWdJSEpsYzNCdmJtUmxjbk02SUdOMWNuSmxiblJFWlhCbGJtUmxibU5wWlhNdWNtVnpjRzl1WkdWeWMxeHVJQ0FnSUgwN1hHNWNiaUFnSUNCN1hHNGdJQ0FnSUNBdkx5Qk9iM1JsT2lCWFpTQmtiMjRuZENCeVpYTmxkQ0IwYUdVZ1lXTjBkV0ZzVkdsdFpTQmpiM1Z1ZEhNdUlFbDBKM01nZFhObFpuVnNJSFJ2SUdGalkzVnRkV3hoZEdWY2JpQWdJQ0FnSUM4dklHRmpkSFZoYkNCMGFXMWxJR0ZqY205emN5QnRkV3gwYVhCc1pTQnlaVzVrWlhJZ2NHRnpjMlZ6TGx4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJR04xY25KbGJuUXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJqdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5SeVpXVkNZWE5sUkhWeVlYUnBiMjRnUFNCamRYSnlaVzUwTG5SeVpXVkNZWE5sUkhWeVlYUnBiMjQ3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOek8xeHVmVnh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxTRzl6ZEZKdmIzUkdhV0psY2loMFlXY3BJSHRjYmlBZ2RtRnlJRzF2WkdVN1hHNWNiaUFnYVdZZ0tIUmhaeUE5UFQwZ1EyOXVZM1Z5Y21WdWRGSnZiM1FwSUh0Y2JpQWdJQ0J0YjJSbElEMGdRMjl1WTNWeWNtVnVkRTF2WkdVZ2ZDQkNiRzlqYTJsdVowMXZaR1VnZkNCVGRISnBZM1JOYjJSbE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnUW14dlkydHBibWRTYjI5MEtTQjdYRzRnSUNBZ2JXOWtaU0E5SUVKc2IyTnJhVzVuVFc5a1pTQjhJRk4wY21samRFMXZaR1U3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYlc5a1pTQTlJRTV2VFc5a1pUdGNiaUFnZlZ4dVhHNGdJR2xtSUNnZ2FYTkVaWFpVYjI5c2MxQnlaWE5sYm5RcElIdGNiaUFnSUNBdkx5QkJiSGRoZVhNZ1kyOXNiR1ZqZENCd2NtOW1hV3hsSUhScGJXbHVaM01nZDJobGJpQkVaWFpVYjI5c2N5QmhjbVVnY0hKbGMyVnVkQzVjYmlBZ0lDQXZMeUJVYUdseklHVnVZV0pzWlhNZ1JHVjJWRzl2YkhNZ2RHOGdjM1JoY25RZ1kyRndkSFZ5YVc1bklIUnBiV2x1WnlCaGRDQmhibmtnY0c5cGJuVGlnSk5jYmlBZ0lDQXZMeUJYYVhSb2IzVjBJSE52YldVZ2JtOWtaWE1nYVc0Z2RHaGxJSFJ5WldVZ2FHRjJhVzVuSUdWdGNIUjVJR0poYzJVZ2RHbHRaWE11WEc0Z0lDQWdiVzlrWlNCOFBTQlFjbTltYVd4bFRXOWtaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJqY21WaGRHVkdhV0psY2loSWIzTjBVbTl2ZEN3Z2JuVnNiQ3dnYm5Wc2JDd2diVzlrWlNrN1hHNTlYRzVtZFc1amRHbHZiaUJqY21WaGRHVkdhV0psY2taeWIyMVVlWEJsUVc1a1VISnZjSE1vZEhsd1pTd2dMeThnVW1WaFkzUWtSV3hsYldWdWRGUjVjR1ZjYm10bGVTd2djR1Z1WkdsdVoxQnliM0J6TENCdmQyNWxjaXdnYlc5a1pTd2daWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnZG1GeUlHWnBZbVZ5TzF4dUlDQjJZWElnWm1saVpYSlVZV2NnUFNCSmJtUmxkR1Z5YldsdVlYUmxRMjl0Y0c5dVpXNTBPeUF2THlCVWFHVWdjbVZ6YjJ4MlpXUWdkSGx3WlNCcGN5QnpaWFFnYVdZZ2QyVWdhMjV2ZHlCM2FHRjBJSFJvWlNCbWFXNWhiQ0IwZVhCbElIZHBiR3dnWW1VdUlFa3VaUzRnYVhRbmN5QnViM1FnYkdGNmVTNWNibHh1SUNCMllYSWdjbVZ6YjJ4MlpXUlVlWEJsSUQwZ2RIbHdaVHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JSFI1Y0dVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrUTI5dWMzUnlkV04wS0hSNWNHVXBLU0I3WEc0Z0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUVOc1lYTnpRMjl0Y0c5dVpXNTBPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVZrVkhsd1pTQTlJSEpsYzI5c2RtVkRiR0Z6YzBadmNraHZkRkpsYkc5aFpHbHVaeWh5WlhOdmJIWmxaRlI1Y0dVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVZrVkhsd1pTQTlJSEpsYzI5c2RtVkdkVzVqZEdsdmJrWnZja2h2ZEZKbGJHOWhaR2x1WnloeVpYTnZiSFpsWkZSNWNHVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0JtYVdKbGNsUmhaeUE5SUVodmMzUkRiMjF3YjI1bGJuUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdaMlYwVkdGbk9pQnpkMmwwWTJnZ0tIUjVjR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlJsSkJSMDFGVGxSZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR055WldGMFpVWnBZbVZ5Um5KdmJVWnlZV2R0Wlc1MEtIQmxibVJwYm1kUWNtOXdjeTVqYUdsc1pISmxiaXdnYlc5a1pTd2daWGh3YVhKaGRHbHZibFJwYldVc0lHdGxlU2s3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlEwOU9RMVZTVWtWT1ZGOU5UMFJGWDFSWlVFVTZYRzRnSUNBZ0lDQWdJR1pwWW1WeVZHRm5JRDBnVFc5a1pUdGNiaUFnSUNBZ0lDQWdiVzlrWlNCOFBTQkRiMjVqZFhKeVpXNTBUVzlrWlNCOElFSnNiMk5yYVc1blRXOWtaU0I4SUZOMGNtbGpkRTF2WkdVN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnSUNCallYTmxJRkpGUVVOVVgxTlVVa2xEVkY5TlQwUkZYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lHWnBZbVZ5VkdGbklEMGdUVzlrWlR0Y2JpQWdJQ0FnSUNBZ2JXOWtaU0I4UFNCVGRISnBZM1JOYjJSbE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVFVazlHU1V4RlVsOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxSbWxpWlhKR2NtOXRVSEp2Wm1sc1pYSW9jR1Z1WkdsdVoxQnliM0J6TENCdGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2dhMlY1S1R0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVRWVk5RUlU1VFJWOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxSbWxpWlhKR2NtOXRVM1Z6Y0dWdWMyVW9jR1Z1WkdsdVoxQnliM0J6TENCdGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2dhMlY1S1R0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVRWVk5RUlU1VFJWOU1TVk5VWDFSWlVFVTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpjbVZoZEdWR2FXSmxja1p5YjIxVGRYTndaVzV6WlV4cGMzUW9jR1Z1WkdsdVoxQnliM0J6TENCdGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2dhMlY1S1R0Y2JseHVJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2RIbHdaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaDBlWEJsTGlRa2RIbHdaVzltS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlVGSlBWa2xFUlZKZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUVOdmJuUmxlSFJRY205MmFXUmxjanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF5Qm5aWFJVWVdjN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOURUMDVVUlZoVVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElHTnZibk4xYldWeVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptbGlaWEpVWVdjZ1BTQkRiMjUwWlhoMFEyOXVjM1Z0WlhJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3NnWjJWMFZHRm5PMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmUms5U1YwRlNSRjlTUlVaZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUVadmNuZGhjbVJTWldZN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxaRlI1Y0dVZ1BTQnlaWE52YkhabFJtOXlkMkZ5WkZKbFprWnZja2h2ZEZKbGJHOWhaR2x1WnloeVpYTnZiSFpsWkZSNWNHVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJJR2RsZEZSaFp6dGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZKRlFVTlVYMDFGVFU5ZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUUxbGJXOURiMjF3YjI1bGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzZ1oyVjBWR0ZuTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlRFRmFXVjlVV1ZCRk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnBZbVZ5VkdGbklEMGdUR0Y2ZVVOdmJYQnZibVZ1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTnZiSFpsWkZSNWNHVWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZySUdkbGRGUmhaenRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGSkZRVU5VWDBKTVQwTkxYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptbGlaWEpVWVdjZ1BTQkNiRzlqYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhheUJuWlhSVVlXYzdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnYVc1bWJ5QTlJQ2NuTzF4dVhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dVZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCMGVYQmxiMllnZEhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2RIbHdaU0FoUFQwZ2JuVnNiQ0FtSmlCUFltcGxZM1F1YTJWNWN5aDBlWEJsS1M1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhVzVtYnlBclBTQW5JRmx2ZFNCc2FXdGxiSGtnWm05eVoyOTBJSFJ2SUdWNGNHOXlkQ0I1YjNWeUlHTnZiWEJ2Ym1WdWRDQm1jbTl0SUhSb1pTQm1hV3hsSUNjZ0t5QmNJbWwwSjNNZ1pHVm1hVzVsWkNCcGJpd2diM0lnZVc5MUlHMXBaMmgwSUdoaGRtVWdiV2w0WldRZ2RYQWdaR1ZtWVhWc2RDQmhibVFnWENJZ0t5QW5ibUZ0WldRZ2FXMXdiM0owY3k0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2IzZHVaWEpPWVcxbElEMGdiM2R1WlhJZ1B5Qm5aWFJEYjIxd2IyNWxiblJPWVcxbEtHOTNibVZ5TG5SNWNHVXBJRG9nYm5Wc2JEdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzkzYm1WeVRtRnRaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwYm1adklDczlJQ2RjWEc1Y1hHNURhR1ZqYXlCMGFHVWdjbVZ1WkdWeUlHMWxkR2h2WkNCdlppQmdKeUFySUc5M2JtVnlUbUZ0WlNBcklDZGdMaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pGYkdWdFpXNTBJSFI1Y0dVZ2FYTWdhVzUyWVd4cFpEb2daWGh3WldOMFpXUWdZU0J6ZEhKcGJtY2dLR1p2Y2lCaWRXbHNkQzFwYmlCamIyMXdiMjVsYm5SektTQnZjaUJoSUdOc1lYTnpMMloxYm1OMGFXOXVJQ2htYjNJZ1kyOXRjRzl6YVhSbElHTnZiWEJ2Ym1WdWRITXBJR0oxZENCbmIzUTZJRndpSUNzZ0tIUjVjR1VnUFQwZ2JuVnNiQ0EvSUhSNWNHVWdPaUIwZVhCbGIyWWdkSGx3WlNrZ0t5QmNJaTVjSWlBcklHbHVabThnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQm1hV0psY2lBOUlHTnlaV0YwWlVacFltVnlLR1pwWW1WeVZHRm5MQ0J3Wlc1a2FXNW5VSEp2Y0hNc0lHdGxlU3dnYlc5a1pTazdYRzRnSUdacFltVnlMbVZzWlcxbGJuUlVlWEJsSUQwZ2RIbHdaVHRjYmlBZ1ptbGlaWEl1ZEhsd1pTQTlJSEpsYzI5c2RtVmtWSGx3WlR0Y2JpQWdabWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ2NtVjBkWEp1SUdacFltVnlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUm1saVpYSkdjbTl0Uld4bGJXVnVkQ2hsYkdWdFpXNTBMQ0J0YjJSbExDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0IyWVhJZ2IzZHVaWElnUFNCdWRXeHNPMXh1WEc0Z0lIdGNiaUFnSUNCdmQyNWxjaUE5SUdWc1pXMWxiblF1WDI5M2JtVnlPMXh1SUNCOVhHNWNiaUFnZG1GeUlIUjVjR1VnUFNCbGJHVnRaVzUwTG5SNWNHVTdYRzRnSUhaaGNpQnJaWGtnUFNCbGJHVnRaVzUwTG10bGVUdGNiaUFnZG1GeUlIQmxibVJwYm1kUWNtOXdjeUE5SUdWc1pXMWxiblF1Y0hKdmNITTdYRzRnSUhaaGNpQm1hV0psY2lBOUlHTnlaV0YwWlVacFltVnlSbkp2YlZSNWNHVkJibVJRY205d2N5aDBlWEJsTENCclpYa3NJSEJsYm1ScGJtZFFjbTl3Y3l3Z2IzZHVaWElzSUcxdlpHVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNCN1hHNGdJQ0FnWm1saVpYSXVYMlJsWW5WblUyOTFjbU5sSUQwZ1pXeGxiV1Z1ZEM1ZmMyOTFjbU5sTzF4dUlDQWdJR1pwWW1WeUxsOWtaV0oxWjA5M2JtVnlJRDBnWld4bGJXVnVkQzVmYjNkdVpYSTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabWxpWlhJN1hHNTlYRzVtZFc1amRHbHZiaUJqY21WaGRHVkdhV0psY2taeWIyMUdjbUZuYldWdWRDaGxiR1Z0Wlc1MGN5d2diVzlrWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VzSUd0bGVTa2dlMXh1SUNCMllYSWdabWxpWlhJZ1BTQmpjbVZoZEdWR2FXSmxjaWhHY21GbmJXVnVkQ3dnWld4bGJXVnVkSE1zSUd0bGVTd2diVzlrWlNrN1hHNGdJR1pwWW1WeUxtVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1pYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lISmxkSFZ5YmlCbWFXSmxjanRjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFJtbGlaWEpHY205dFVISnZabWxzWlhJb2NHVnVaR2x1WjFCeWIzQnpMQ0J0YjJSbExDQmxlSEJwY21GMGFXOXVWR2x0WlN3Z2EyVjVLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlIQmxibVJwYm1kUWNtOXdjeTVwWkNBaFBUMGdKM04wY21sdVp5Y2dmSHdnZEhsd1pXOW1JSEJsYm1ScGJtZFFjbTl3Y3k1dmJsSmxibVJsY2lBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMUJ5YjJacGJHVnlJRzExYzNRZ2MzQmxZMmxtZVNCaGJpQmNJbWxrWENJZ2MzUnlhVzVuSUdGdVpDQmNJbTl1VW1WdVpHVnlYQ0lnWm5WdVkzUnBiMjRnWVhNZ2NISnZjSE1uS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdabWxpWlhJZ1BTQmpjbVZoZEdWR2FXSmxjaWhRY205bWFXeGxjaXdnY0dWdVpHbHVaMUJ5YjNCekxDQnJaWGtzSUcxdlpHVWdmQ0JRY205bWFXeGxUVzlrWlNrN0lDOHZJRlJQUkU4NklGUm9aU0JRY205bWFXeGxjaUJtYVdKbGNpQnphRzkxYkdSdUozUWdhR0YyWlNCaElIUjVjR1V1SUVsMElHaGhjeUJoSUhSaFp5NWNibHh1SUNCbWFXSmxjaTVsYkdWdFpXNTBWSGx3WlNBOUlGSkZRVU5VWDFCU1QwWkpURVZTWDFSWlVFVTdYRzRnSUdacFltVnlMblI1Y0dVZ1BTQlNSVUZEVkY5UVVrOUdTVXhGVWw5VVdWQkZPMXh1SUNCbWFXSmxjaTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR1Y0Y0dseVlYUnBiMjVVYVcxbE8xeHVJQ0J5WlhSMWNtNGdabWxpWlhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVVpwWW1WeVJuSnZiVk4xYzNCbGJuTmxLSEJsYm1ScGJtZFFjbTl3Y3l3Z2JXOWtaU3dnWlhod2FYSmhkR2x2YmxScGJXVXNJR3RsZVNrZ2UxeHVJQ0IyWVhJZ1ptbGlaWElnUFNCamNtVmhkR1ZHYVdKbGNpaFRkWE53Wlc1elpVTnZiWEJ2Ym1WdWRDd2djR1Z1WkdsdVoxQnliM0J6TENCclpYa3NJRzF2WkdVcE95QXZMeUJVVDBSUE9pQlVhR1VnVTNWemNHVnVjMlZEYjIxd2IyNWxiblFnWm1saVpYSWdjMmh2ZFd4a2JpZDBJR2hoZG1VZ1lTQjBlWEJsTGlCSmRDQm9ZWE1nWVNCMFlXY3VYRzRnSUM4dklGUm9hWE1nYm1WbFpITWdkRzhnWW1VZ1ptbDRaV1FnYVc0Z1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNCemJ5QjBhR0YwSUdsMElISmxiR2xsY3lCdmJpQjBhR1VnZEdGblhHNGdJQzh2SUdsdWMzUmxZV1F1WEc1Y2JpQWdabWxpWlhJdWRIbHdaU0E5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVN1hHNGdJR1pwWW1WeUxtVnNaVzFsYm5SVWVYQmxJRDBnVWtWQlExUmZVMVZUVUVWT1UwVmZWRmxRUlR0Y2JpQWdabWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ2NtVjBkWEp1SUdacFltVnlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUm1saVpYSkdjbTl0VTNWemNHVnVjMlZNYVhOMEtIQmxibVJwYm1kUWNtOXdjeXdnYlc5a1pTd2daWGh3YVhKaGRHbHZibFJwYldVc0lHdGxlU2tnZTF4dUlDQjJZWElnWm1saVpYSWdQU0JqY21WaGRHVkdhV0psY2loVGRYTndaVzV6WlV4cGMzUkRiMjF3YjI1bGJuUXNJSEJsYm1ScGJtZFFjbTl3Y3l3Z2EyVjVMQ0J0YjJSbEtUdGNibHh1SUNCN1hHNGdJQ0FnTHk4Z1ZFOUVUem9nVkdobElGTjFjM0JsYm5ObFRHbHpkRU52YlhCdmJtVnVkQ0JtYVdKbGNpQnphRzkxYkdSdUozUWdhR0YyWlNCaElIUjVjR1V1SUVsMElHaGhjeUJoSUhSaFp5NWNiaUFnSUNBdkx5QlVhR2x6SUc1bFpXUnpJSFJ2SUdKbElHWnBlR1ZrSUdsdUlHZGxkRU52YlhCdmJtVnVkRTVoYldVZ2MyOGdkR2hoZENCcGRDQnlaV3hwWlhNZ2IyNGdkR2hsSUhSaFoxeHVJQ0FnSUM4dklHbHVjM1JsWVdRdVhHNGdJQ0FnWm1saVpYSXVkSGx3WlNBOUlGSkZRVU5VWDFOVlUxQkZUbE5GWDB4SlUxUmZWRmxRUlR0Y2JpQWdmVnh1WEc0Z0lHWnBZbVZ5TG1Wc1pXMWxiblJVZVhCbElEMGdVa1ZCUTFSZlUxVlRVRVZPVTBWZlRFbFRWRjlVV1ZCRk8xeHVJQ0JtYVdKbGNpNWxlSEJwY21GMGFXOXVWR2x0WlNBOUlHVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQnlaWFIxY200Z1ptbGlaWEk3WEc1OVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWR2FXSmxja1p5YjIxVVpYaDBLR052Ym5SbGJuUXNJRzF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCbWFXSmxjaUE5SUdOeVpXRjBaVVpwWW1WeUtFaHZjM1JVWlhoMExDQmpiMjUwWlc1MExDQnVkV3hzTENCdGIyUmxLVHRjYmlBZ1ptbGlaWEl1Wlhod2FYSmhkR2x2YmxScGJXVWdQU0JsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnY21WMGRYSnVJR1pwWW1WeU8xeHVmVnh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSbWxpWlhKR2NtOXRTRzl6ZEVsdWMzUmhibU5sUm05eVJHVnNaWFJwYjI0b0tTQjdYRzRnSUhaaGNpQm1hV0psY2lBOUlHTnlaV0YwWlVacFltVnlLRWh2YzNSRGIyMXdiMjVsYm5Rc0lHNTFiR3dzSUc1MWJHd3NJRTV2VFc5a1pTazdJQzh2SUZSUFJFODZJRlJvWlhObElITm9iM1ZzWkNCdWIzUWdibVZsWkNCaElIUjVjR1V1WEc1Y2JpQWdabWxpWlhJdVpXeGxiV1Z1ZEZSNWNHVWdQU0FuUkVWTVJWUkZSQ2M3WEc0Z0lHWnBZbVZ5TG5SNWNHVWdQU0FuUkVWTVJWUkZSQ2M3WEc0Z0lISmxkSFZ5YmlCbWFXSmxjanRjYm4xY2JtWjFibU4wYVc5dUlHTnlaV0YwWlVacFltVnlSbkp2YlZCdmNuUmhiQ2h3YjNKMFlXd3NJRzF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCd1pXNWthVzVuVUhKdmNITWdQU0J3YjNKMFlXd3VZMmhwYkdSeVpXNGdJVDA5SUc1MWJHd2dQeUJ3YjNKMFlXd3VZMmhwYkdSeVpXNGdPaUJiWFR0Y2JpQWdkbUZ5SUdacFltVnlJRDBnWTNKbFlYUmxSbWxpWlhJb1NHOXpkRkJ2Y25SaGJDd2djR1Z1WkdsdVoxQnliM0J6TENCd2IzSjBZV3d1YTJWNUxDQnRiMlJsS1R0Y2JpQWdabWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ1ptbGlaWEl1YzNSaGRHVk9iMlJsSUQwZ2UxeHVJQ0FnSUdOdmJuUmhhVzVsY2tsdVptODZJSEJ2Y25SaGJDNWpiMjUwWVdsdVpYSkpibVp2TEZ4dUlDQWdJSEJsYm1ScGJtZERhR2xzWkhKbGJqb2diblZzYkN4Y2JpQWdJQ0F2THlCVmMyVmtJR0o1SUhCbGNuTnBjM1JsYm5RZ2RYQmtZWFJsYzF4dUlDQWdJR2x0Y0d4bGJXVnVkR0YwYVc5dU9pQndiM0owWVd3dWFXMXdiR1Z0Wlc1MFlYUnBiMjVjYmlBZ2ZUdGNiaUFnY21WMGRYSnVJR1pwWW1WeU8xeHVmU0F2THlCVmMyVmtJR1p2Y2lCemRHRnphR2x1WnlCWFNWQWdjSEp2Y0dWeWRHbGxjeUIwYnlCeVpYQnNZWGtnWm1GcGJHVmtJSGR2Y21zZ2FXNGdSRVZXTGx4dVhHNW1kVzVqZEdsdmJpQmhjM05wWjI1R2FXSmxjbEJ5YjNCbGNuUnBaWE5KYmtSRlZpaDBZWEpuWlhRc0lITnZkWEpqWlNrZ2UxeHVJQ0JwWmlBb2RHRnlaMlYwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJHYVdKbGNpZHpJR2x1YVhScFlXd2djSEp2Y0dWeWRHbGxjeUIzYVd4c0lHRnNkMkY1Y3lCaVpTQnZkbVZ5ZDNKcGRIUmxiaTVjYmlBZ0lDQXZMeUJYWlNCdmJteDVJSFZ6WlNCaElFWnBZbVZ5SUhSdklHVnVjM1Z5WlNCMGFHVWdjMkZ0WlNCb2FXUmtaVzRnWTJ4aGMzTWdjMjhnUkVWV0lHbHpiaWQwSUhOc2IzY3VYRzRnSUNBZ2RHRnlaMlYwSUQwZ1kzSmxZWFJsUm1saVpYSW9TVzVrWlhSbGNtMXBibUYwWlVOdmJYQnZibVZ1ZEN3Z2JuVnNiQ3dnYm5Wc2JDd2dUbTlOYjJSbEtUdGNiaUFnZlNBdkx5QlVhR2x6SUdseklHbHVkR1Z1ZEdsdmJtRnNiSGtnZDNKcGRIUmxiaUJoY3lCaElHeHBjM1FnYjJZZ1lXeHNJSEJ5YjNCbGNuUnBaWE11WEc0Z0lDOHZJRmRsSUhSeWFXVmtJSFJ2SUhWelpTQlBZbXBsWTNRdVlYTnphV2R1S0NrZ2FXNXpkR1ZoWkNCaWRYUWdkR2hwY3lCcGN5QmpZV3hzWldRZ2FXNWNiaUFnTHk4Z2RHaGxJR2h2ZEhSbGMzUWdjR0YwYUN3Z1lXNWtJRTlpYW1WamRDNWhjM05wWjI0b0tTQjNZWE1nZEc5dklITnNiM2M2WEc0Z0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1USTFNREpjYmlBZ0x5OGdWR2hwY3lCamIyUmxJR2x6SUVSRlZpMXZibXg1SUhOdklITnBlbVVnYVhNZ2JtOTBJR0VnWTI5dVkyVnliaTVjYmx4dVhHNGdJSFJoY21kbGRDNTBZV2NnUFNCemIzVnlZMlV1ZEdGbk8xeHVJQ0IwWVhKblpYUXVhMlY1SUQwZ2MyOTFjbU5sTG10bGVUdGNiaUFnZEdGeVoyVjBMbVZzWlcxbGJuUlVlWEJsSUQwZ2MyOTFjbU5sTG1Wc1pXMWxiblJVZVhCbE8xeHVJQ0IwWVhKblpYUXVkSGx3WlNBOUlITnZkWEpqWlM1MGVYQmxPMXh1SUNCMFlYSm5aWFF1YzNSaGRHVk9iMlJsSUQwZ2MyOTFjbU5sTG5OMFlYUmxUbTlrWlR0Y2JpQWdkR0Z5WjJWMExuSmxkSFZ5YmlBOUlITnZkWEpqWlM1eVpYUjFjbTQ3WEc0Z0lIUmhjbWRsZEM1amFHbHNaQ0E5SUhOdmRYSmpaUzVqYUdsc1pEdGNiaUFnZEdGeVoyVjBMbk5wWW14cGJtY2dQU0J6YjNWeVkyVXVjMmxpYkdsdVp6dGNiaUFnZEdGeVoyVjBMbWx1WkdWNElEMGdjMjkxY21ObExtbHVaR1Y0TzF4dUlDQjBZWEpuWlhRdWNtVm1JRDBnYzI5MWNtTmxMbkpsWmp0Y2JpQWdkR0Z5WjJWMExuQmxibVJwYm1kUWNtOXdjeUE5SUhOdmRYSmpaUzV3Wlc1a2FXNW5VSEp2Y0hNN1hHNGdJSFJoY21kbGRDNXRaVzF2YVhwbFpGQnliM0J6SUQwZ2MyOTFjbU5sTG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUhSaGNtZGxkQzUxY0dSaGRHVlJkV1YxWlNBOUlITnZkWEpqWlM1MWNHUmhkR1ZSZFdWMVpUdGNiaUFnZEdGeVoyVjBMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnpiM1Z5WTJVdWJXVnRiMmw2WldSVGRHRjBaVHRjYmlBZ2RHRnlaMlYwTG1SbGNHVnVaR1Z1WTJsbGN5QTlJSE52ZFhKalpTNWtaWEJsYm1SbGJtTnBaWE03WEc0Z0lIUmhjbWRsZEM1dGIyUmxJRDBnYzI5MWNtTmxMbTF2WkdVN1hHNGdJSFJoY21kbGRDNWxabVpsWTNSVVlXY2dQU0J6YjNWeVkyVXVaV1ptWldOMFZHRm5PMXh1SUNCMFlYSm5aWFF1Ym1WNGRFVm1abVZqZENBOUlITnZkWEpqWlM1dVpYaDBSV1ptWldOME8xeHVJQ0IwWVhKblpYUXVabWx5YzNSRlptWmxZM1FnUFNCemIzVnlZMlV1Wm1seWMzUkZabVpsWTNRN1hHNGdJSFJoY21kbGRDNXNZWE4wUldabVpXTjBJRDBnYzI5MWNtTmxMbXhoYzNSRlptWmxZM1E3WEc0Z0lIUmhjbWRsZEM1bGVIQnBjbUYwYVc5dVZHbHRaU0E5SUhOdmRYSmpaUzVsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnZEdGeVoyVjBMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCemIzVnlZMlV1WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdkR0Z5WjJWMExtRnNkR1Z5Ym1GMFpTQTlJSE52ZFhKalpTNWhiSFJsY201aGRHVTdYRzVjYmlBZ2UxeHVJQ0FnSUhSaGNtZGxkQzVoWTNSMVlXeEVkWEpoZEdsdmJpQTlJSE52ZFhKalpTNWhZM1IxWVd4RWRYSmhkR2x2Ymp0Y2JpQWdJQ0IwWVhKblpYUXVZV04wZFdGc1UzUmhjblJVYVcxbElEMGdjMjkxY21ObExtRmpkSFZoYkZOMFlYSjBWR2x0WlR0Y2JpQWdJQ0IwWVhKblpYUXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJSE52ZFhKalpTNXpaV3htUW1GelpVUjFjbUYwYVc5dU8xeHVJQ0FnSUhSaGNtZGxkQzUwY21WbFFtRnpaVVIxY21GMGFXOXVJRDBnYzI5MWNtTmxMblJ5WldWQ1lYTmxSSFZ5WVhScGIyNDdYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkR0Z5WjJWMExsOWtaV0oxWjBsRUlEMGdjMjkxY21ObExsOWtaV0oxWjBsRU8xeHVJQ0I5WEc1Y2JpQWdkR0Z5WjJWMExsOWtaV0oxWjFOdmRYSmpaU0E5SUhOdmRYSmpaUzVmWkdWaWRXZFRiM1Z5WTJVN1hHNGdJSFJoY21kbGRDNWZaR1ZpZFdkUGQyNWxjaUE5SUhOdmRYSmpaUzVmWkdWaWRXZFBkMjVsY2p0Y2JpQWdkR0Z5WjJWMExsOWtaV0oxWjBselEzVnljbVZ1ZEd4NVZHbHRhVzVuSUQwZ2MyOTFjbU5sTGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5PMXh1SUNCMFlYSm5aWFF1WDJSbFluVm5UbVZsWkhOU1pXMXZkVzUwSUQwZ2MyOTFjbU5sTGw5a1pXSjFaMDVsWldSelVtVnRiM1Z1ZER0Y2JpQWdkR0Z5WjJWMExsOWtaV0oxWjBodmIydFVlWEJsY3lBOUlITnZkWEpqWlM1ZlpHVmlkV2RJYjI5clZIbHdaWE03WEc0Z0lISmxkSFZ5YmlCMFlYSm5aWFE3WEc1OVhHNWNibVoxYm1OMGFXOXVJRVpwWW1WeVVtOXZkRTV2WkdVb1kyOXVkR0ZwYm1WeVNXNW1ieXdnZEdGbkxDQm9lV1J5WVhSbEtTQjdYRzRnSUhSb2FYTXVkR0ZuSUQwZ2RHRm5PMXh1SUNCMGFHbHpMbU4xY25KbGJuUWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxtTnZiblJoYVc1bGNrbHVabThnUFNCamIyNTBZV2x1WlhKSmJtWnZPMXh1SUNCMGFHbHpMbkJsYm1ScGJtZERhR2xzWkhKbGJpQTlJRzUxYkd3N1hHNGdJSFJvYVhNdWNHbHVaME5oWTJobElEMGdiblZzYkR0Y2JpQWdkR2hwY3k1bWFXNXBjMmhsWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG05WGIzSnJPMXh1SUNCMGFHbHpMbVpwYm1semFHVmtWMjl5YXlBOUlHNTFiR3c3WEc0Z0lIUm9hWE11ZEdsdFpXOTFkRWhoYm1Sc1pTQTlJRzV2VkdsdFpXOTFkRHRjYmlBZ2RHaHBjeTVqYjI1MFpYaDBJRDBnYm5Wc2JEdGNiaUFnZEdocGN5NXdaVzVrYVc1blEyOXVkR1Y0ZENBOUlHNTFiR3c3WEc0Z0lIUm9hWE11YUhsa2NtRjBaU0E5SUdoNVpISmhkR1U3WEc0Z0lIUm9hWE11WTJGc2JHSmhZMnRPYjJSbElEMGdiblZzYkR0Y2JpQWdkR2hwY3k1allXeHNZbUZqYTFCeWFXOXlhWFI1SUQwZ1RtOVFjbWx2Y21sMGVUdGNiaUFnZEdocGN5NW1hWEp6ZEZCbGJtUnBibWRVYVcxbElEMGdUbTlYYjNKck8xeHVJQ0IwYUdsekxtWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZEdocGN5NXNZWE4wVTNWemNHVnVaR1ZrVkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZEdocGN5NXVaWGgwUzI1dmQyNVFaVzVrYVc1blRHVjJaV3dnUFNCT2IxZHZjbXM3WEc0Z0lIUm9hWE11YkdGemRGQnBibWRsWkZScGJXVWdQU0JPYjFkdmNtczdYRzRnSUhSb2FYTXViR0Z6ZEVWNGNHbHlaV1JVYVcxbElEMGdUbTlYYjNKck8xeHVYRzRnSUh0Y2JpQWdJQ0IwYUdsekxtbHVkR1Z5WVdOMGFXOXVWR2h5WldGa1NVUWdQU0IwY21GamFXNW5MblZ1YzNSaFlteGxYMmRsZEZSb2NtVmhaRWxFS0NrN1hHNGdJQ0FnZEdocGN5NXRaVzF2YVhwbFpFbHVkR1Z5WVdOMGFXOXVjeUE5SUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0IwYUdsekxuQmxibVJwYm1kSmJuUmxjbUZqZEdsdmJrMWhjQ0E5SUc1bGR5Qk5ZWEFvS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWR2FXSmxjbEp2YjNRb1kyOXVkR0ZwYm1WeVNXNW1ieXdnZEdGbkxDQm9lV1J5WVhSbExDQm9lV1J5WVhScGIyNURZV3hzWW1GamEzTXBJSHRjYmlBZ2RtRnlJSEp2YjNRZ1BTQnVaWGNnUm1saVpYSlNiMjkwVG05a1pTaGpiMjUwWVdsdVpYSkpibVp2TENCMFlXY3NJR2g1WkhKaGRHVXBPMXh1SUNBdkx5QnpkR0YwWlU1dlpHVWdhWE1nWVc1NUxseHVYRzVjYmlBZ2RtRnlJSFZ1YVc1cGRHbGhiR2w2WldSR2FXSmxjaUE5SUdOeVpXRjBaVWh2YzNSU2IyOTBSbWxpWlhJb2RHRm5LVHRjYmlBZ2NtOXZkQzVqZFhKeVpXNTBJRDBnZFc1cGJtbDBhV0ZzYVhwbFpFWnBZbVZ5TzF4dUlDQjFibWx1YVhScFlXeHBlbVZrUm1saVpYSXVjM1JoZEdWT2IyUmxJRDBnY205dmREdGNiaUFnYVc1cGRHbGhiR2w2WlZWd1pHRjBaVkYxWlhWbEtIVnVhVzVwZEdsaGJHbDZaV1JHYVdKbGNpazdYRzRnSUhKbGRIVnliaUJ5YjI5ME8xeHVmVnh1Wm5WdVkzUnBiMjRnYVhOU2IyOTBVM1Z6Y0dWdVpHVmtRWFJVYVcxbEtISnZiM1FzSUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIWmhjaUJtYVhKemRGTjFjM0JsYm1SbFpGUnBiV1VnUFNCeWIyOTBMbVpwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaVHRjYmlBZ2RtRnlJR3hoYzNSVGRYTndaVzVrWldSVWFXMWxJRDBnY205dmRDNXNZWE4wVTNWemNHVnVaR1ZrVkdsdFpUdGNiaUFnY21WMGRYSnVJR1pwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0FoUFQwZ1RtOVhiM0pySUNZbUlHWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpTQStQU0JsZUhCcGNtRjBhVzl1VkdsdFpTQW1KaUJzWVhOMFUzVnpjR1Z1WkdWa1ZHbHRaU0E4UFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRTYjI5MFUzVnpjR1Z1WkdWa1FYUlVhVzFsS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQm1hWEp6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExtWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpUdGNiaUFnZG1GeUlHeGhjM1JUZFhOd1pXNWtaV1JVYVcxbElEMGdjbTl2ZEM1c1lYTjBVM1Z6Y0dWdVpHVmtWR2x0WlR0Y2JseHVJQ0JwWmlBb1ptbHljM1JUZFhOd1pXNWtaV1JVYVcxbElEd2daWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNCeWIyOTBMbVpwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHeGhjM1JUZFhOd1pXNWtaV1JVYVcxbElENGdaWGh3YVhKaGRHbHZibFJwYldVZ2ZId2dabWx5YzNSVGRYTndaVzVrWldSVWFXMWxJRDA5UFNCT2IxZHZjbXNwSUh0Y2JpQWdJQ0J5YjI5MExteGhjM1JUZFhOd1pXNWtaV1JVYVcxbElEMGdaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJSDFjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQRDBnY205dmRDNXNZWE4wVUdsdVoyVmtWR2x0WlNrZ2UxeHVJQ0FnSUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJSDFjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQRDBnY205dmRDNXNZWE4wUlhod2FYSmxaRlJwYldVcElIdGNiaUFnSUNCeWIyOTBMbXhoYzNSRmVIQnBjbVZrVkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTFKdmIzUlZjR1JoZEdWa1FYUlVhVzFsS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUM4dklGVndaR0YwWlNCMGFHVWdjbUZ1WjJVZ2IyWWdjR1Z1WkdsdVp5QjBhVzFsYzF4dUlDQjJZWElnWm1seWMzUlFaVzVrYVc1blZHbHRaU0E5SUhKdmIzUXVabWx5YzNSUVpXNWthVzVuVkdsdFpUdGNibHh1SUNCcFppQW9aWGh3YVhKaGRHbHZibFJwYldVZ1BpQm1hWEp6ZEZCbGJtUnBibWRVYVcxbEtTQjdYRzRnSUNBZ2NtOXZkQzVtYVhKemRGQmxibVJwYm1kVWFXMWxJRDBnWlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUgwZ0x5OGdWWEJrWVhSbElIUm9aU0J5WVc1blpTQnZaaUJ6ZFhOd1pXNWtaV1FnZEdsdFpYTXVJRlJ5WldGMElHVjJaWEo1ZEdocGJtY2diRzkzWlhJZ2NISnBiM0pwZEhrZ2IzSmNiaUFnTHk4Z1pYRjFZV3dnZEc4Z2RHaHBjeUIxY0dSaGRHVWdZWE1nZFc1emRYTndaVzVrWldRdVhHNWNibHh1SUNCMllYSWdabWx5YzNSVGRYTndaVzVrWldSVWFXMWxJRDBnY205dmRDNW1hWEp6ZEZOMWMzQmxibVJsWkZScGJXVTdYRzVjYmlBZ2FXWWdLR1pwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0FoUFQwZ1RtOVhiM0pyS1NCN1hHNGdJQ0FnYVdZZ0tHVjRjR2x5WVhScGIyNVVhVzFsSUQ0OUlHWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpTa2dlMXh1SUNBZ0lDQWdMeThnVkdobElHVnVkR2x5WlNCemRYTndaVzVrWldRZ2NtRnVaMlVnYVhNZ2JtOTNJSFZ1YzNWemNHVnVaR1ZrTGx4dUlDQWdJQ0FnY205dmRDNW1hWEp6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExteGhjM1JUZFhOd1pXNWtaV1JVYVcxbElEMGdjbTl2ZEM1dVpYaDBTMjV2ZDI1UVpXNWthVzVuVEdWMlpXd2dQU0JPYjFkdmNtczdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaGxlSEJwY21GMGFXOXVWR2x0WlNBK1BTQnliMjkwTG14aGMzUlRkWE53Wlc1a1pXUlVhVzFsS1NCN1hHNGdJQ0FnSUNCeWIyOTBMbXhoYzNSVGRYTndaVzVrWldSVWFXMWxJRDBnWlhod2FYSmhkR2x2YmxScGJXVWdLeUF4TzF4dUlDQWdJSDBnTHk4Z1ZHaHBjeUJwY3lCaElIQmxibVJwYm1jZ2JHVjJaV3d1SUVOb1pXTnJJR2xtSUdsMEozTWdhR2xuYUdWeUlIQnlhVzl5YVhSNUlIUm9ZVzRnZEdobElHNWxlSFJjYmlBZ0lDQXZMeUJyYm05M2JpQndaVzVrYVc1bklHeGxkbVZzTGx4dVhHNWNiaUFnSUNCcFppQW9aWGh3YVhKaGRHbHZibFJwYldVZ1BpQnliMjkwTG01bGVIUkxibTkzYmxCbGJtUnBibWRNWlhabGJDa2dlMXh1SUNBZ0lDQWdjbTl2ZEM1dVpYaDBTMjV2ZDI1UVpXNWthVzVuVEdWMlpXd2dQU0JsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRTYjI5MFJtbHVhWE5vWldSQmRGUnBiV1VvY205dmRDd2dabWx1YVhOb1pXUkZlSEJwY21GMGFXOXVWR2x0WlN3Z2NtVnRZV2x1YVc1blJYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdMeThnVlhCa1lYUmxJSFJvWlNCeVlXNW5aU0J2WmlCd1pXNWthVzVuSUhScGJXVnpYRzRnSUhKdmIzUXVabWx5YzNSUVpXNWthVzVuVkdsdFpTQTlJSEpsYldGcGJtbHVaMFY0Y0dseVlYUnBiMjVVYVcxbE95QXZMeUJWY0dSaGRHVWdkR2hsSUhKaGJtZGxJRzltSUhOMWMzQmxibVJsWkNCMGFXMWxjeTRnVkhKbFlYUWdaWFpsY25sMGFHbHVaeUJvYVdkb1pYSWdjSEpwYjNKcGRIa2diM0pjYmlBZ0x5OGdaWEYxWVd3Z2RHOGdkR2hwY3lCMWNHUmhkR1VnWVhNZ2RXNXpkWE53Wlc1a1pXUXVYRzVjYmlBZ2FXWWdLR1pwYm1semFHVmtSWGh3YVhKaGRHbHZibFJwYldVZ1BEMGdjbTl2ZEM1c1lYTjBVM1Z6Y0dWdVpHVmtWR2x0WlNrZ2UxeHVJQ0FnSUM4dklGUm9aU0JsYm5ScGNtVWdjM1Z6Y0dWdVpHVmtJSEpoYm1kbElHbHpJRzV2ZHlCMWJuTjFjM0JsYm1SbFpDNWNiaUFnSUNCeWIyOTBMbVpwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0E5SUhKdmIzUXViR0Z6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExtNWxlSFJMYm05M2JsQmxibVJwYm1kTVpYWmxiQ0E5SUU1dlYyOXlhenRjYmlBZ2ZTQmxiSE5sSUdsbUlDaG1hVzVwYzJobFpFVjRjR2x5WVhScGIyNVVhVzFsSUR3OUlISnZiM1F1Wm1seWMzUlRkWE53Wlc1a1pXUlVhVzFsS1NCN1hHNGdJQ0FnTHk4Z1VHRnlkQ0J2WmlCMGFHVWdjM1Z6Y0dWdVpHVmtJSEpoYm1kbElHbHpJRzV2ZHlCMWJuTjFjM0JsYm1SbFpDNGdUbUZ5Y205M0lIUm9aU0J5WVc1blpTQjBiMXh1SUNBZ0lDOHZJR2x1WTJ4MVpHVWdaWFpsY25sMGFHbHVaeUJpWlhSM1pXVnVJSFJvWlNCMWJuTjFjM0JsYm1SbFpDQjBhVzFsSUNodWIyNHRhVzVqYkhWemFYWmxLU0JoYm1RZ2RHaGxYRzRnSUNBZ0x5OGdiR0Z6ZENCemRYTndaVzVrWldRZ2RHbHRaUzVjYmlBZ0lDQnliMjkwTG1acGNuTjBVM1Z6Y0dWdVpHVmtWR2x0WlNBOUlHWnBibWx6YUdWa1JYaHdhWEpoZEdsdmJsUnBiV1VnTFNBeE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dacGJtbHphR1ZrUlhod2FYSmhkR2x2YmxScGJXVWdQRDBnY205dmRDNXNZWE4wVUdsdVoyVmtWR2x0WlNrZ2UxeHVJQ0FnSUM4dklFTnNaV0Z5SUhSb1pTQndhVzVuWldRZ2RHbHRaVnh1SUNBZ0lISnZiM1F1YkdGemRGQnBibWRsWkZScGJXVWdQU0JPYjFkdmNtczdYRzRnSUgxY2JseHVJQ0JwWmlBb1ptbHVhWE5vWldSRmVIQnBjbUYwYVc5dVZHbHRaU0E4UFNCeWIyOTBMbXhoYzNSRmVIQnBjbVZrVkdsdFpTa2dlMXh1SUNBZ0lDOHZJRU5zWldGeUlIUm9aU0JsZUhCcGNtVmtJSFJwYldWY2JpQWdJQ0J5YjI5MExteGhjM1JGZUhCcGNtVmtWR2x0WlNBOUlFNXZWMjl5YXp0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2JXRnlhMUp2YjNSRmVIQnBjbVZrUVhSVWFXMWxLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCc1lYTjBSWGh3YVhKbFpGUnBiV1VnUFNCeWIyOTBMbXhoYzNSRmVIQnBjbVZrVkdsdFpUdGNibHh1SUNCcFppQW9iR0Z6ZEVWNGNHbHlaV1JVYVcxbElEMDlQU0JPYjFkdmNtc2dmSHdnYkdGemRFVjRjR2x5WldSVWFXMWxJRDRnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnliMjkwTG14aGMzUkZlSEJwY21Wa1ZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOVhHNTlYRzVjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJPWlhOMFpXUlZjR1JoZEdWek8xeHVkbUZ5SUdScFpGZGhjbTVCWW05MWRFWnBibVJPYjJSbFNXNVRkSEpwWTNSTmIyUmxPMXh1WEc1N1hHNGdJR1JwWkZkaGNtNUJZbTkxZEU1bGMzUmxaRlZ3WkdGMFpYTWdQU0JtWVd4elpUdGNiaUFnWkdsa1YyRnlia0ZpYjNWMFJtbHVaRTV2WkdWSmJsTjBjbWxqZEUxdlpHVWdQU0I3ZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFEyOXVkR1Y0ZEVadmNsTjFZblJ5WldVb2NHRnlaVzUwUTI5dGNHOXVaVzUwS1NCN1hHNGdJR2xtSUNnaGNHRnlaVzUwUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1Z0Y0hSNVEyOXVkR1Y0ZEU5aWFtVmpkRHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQm1hV0psY2lBOUlHZGxkQ2h3WVhKbGJuUkRiMjF3YjI1bGJuUXBPMXh1SUNCMllYSWdjR0Z5Wlc1MFEyOXVkR1Y0ZENBOUlHWnBibVJEZFhKeVpXNTBWVzV0WVhOclpXUkRiMjUwWlhoMEtHWnBZbVZ5S1R0Y2JseHVJQ0JwWmlBb1ptbGlaWEl1ZEdGbklEMDlQU0JEYkdGemMwTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lIWmhjaUJEYjIxd2IyNWxiblFnUFNCbWFXSmxjaTUwZVhCbE8xeHVYRzRnSUNBZ2FXWWdLR2x6UTI5dWRHVjRkRkJ5YjNacFpHVnlLRU52YlhCdmJtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpRMmhwYkdSRGIyNTBaWGgwS0dacFltVnlMQ0JEYjIxd2IyNWxiblFzSUhCaGNtVnVkRU52Ym5SbGVIUXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQndZWEpsYm5SRGIyNTBaWGgwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJtYVc1a1NHOXpkRWx1YzNSaGJtTmxWMmwwYUZkaGNtNXBibWNvWTI5dGNHOXVaVzUwTENCdFpYUm9iMlJPWVcxbEtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ1ptbGlaWElnUFNCblpYUW9ZMjl0Y0c5dVpXNTBLVHRjYmx4dUlDQWdJR2xtSUNobWFXSmxjaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR052YlhCdmJtVnVkQzV5Wlc1a1pYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lsVnVZV0pzWlNCMGJ5Qm1hVzVrSUc1dlpHVWdiMjRnWVc0Z2RXNXRiM1Z1ZEdWa0lHTnZiWEJ2Ym1WdWRDNWNJaUFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrRnlaM1Z0Wlc1MElHRndjR1ZoY25NZ2RHOGdibTkwSUdKbElHRWdVbVZoWTNSRGIyMXdiMjVsYm5RdUlFdGxlWE02SUZ3aUlDc2dUMkpxWldOMExtdGxlWE1vWTI5dGNHOXVaVzUwS1NBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCb2IzTjBSbWxpWlhJZ1BTQm1hVzVrUTNWeWNtVnVkRWh2YzNSR2FXSmxjaWhtYVdKbGNpazdYRzVjYmlBZ0lDQnBaaUFvYUc5emRFWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9hRzl6ZEVacFltVnlMbTF2WkdVZ0ppQlRkSEpwWTNSTmIyUmxLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXRjRzl1Wlc1MFRtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1saVpYSXVkSGx3WlNrZ2ZId2dKME52YlhCdmJtVnVkQ2M3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUm1sdVpFNXZaR1ZKYmxOMGNtbGpkRTF2WkdWYlkyOXRjRzl1Wlc1MFRtRnRaVjBwSUh0Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBSbWx1WkU1dlpHVkpibE4wY21samRFMXZaR1ZiWTI5dGNHOXVaVzUwVG1GdFpWMGdQU0IwY25WbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNobWFXSmxjaTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5QnBjeUJrWlhCeVpXTmhkR1ZrSUdsdUlGTjBjbWxqZEUxdlpHVXVJQ2NnS3lBbkpYTWdkMkZ6SUhCaGMzTmxaQ0JoYmlCcGJuTjBZVzVqWlNCdlppQWxjeUIzYUdsamFDQnBjeUJwYm5OcFpHVWdVM1J5YVdOMFRXOWtaUzRnSnlBcklDZEpibk4wWldGa0xDQmhaR1FnWVNCeVpXWWdaR2x5WldOMGJIa2dkRzhnZEdobElHVnNaVzFsYm5RZ2VXOTFJSGRoYm5RZ2RHOGdjbVZtWlhKbGJtTmxMaUFuSUNzZ0oweGxZWEp1SUcxdmNtVWdZV0p2ZFhRZ2RYTnBibWNnY21WbWN5QnpZV1psYkhrZ2FHVnlaVG9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWE4wY21samRDMXRiMlJsTFdacGJtUXRibTlrWlNWekp5d2diV1YwYUc5a1RtRnRaU3dnYldWMGFHOWtUbUZ0WlN3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnWjJWMFUzUmhZMnRDZVVacFltVnlTVzVFWlhaQmJtUlFjbTlrS0dodmMzUkdhV0psY2lrcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeUJwY3lCa1pYQnlaV05oZEdWa0lHbHVJRk4wY21samRFMXZaR1V1SUNjZ0t5QW5KWE1nZDJGeklIQmhjM05sWkNCaGJpQnBibk4wWVc1alpTQnZaaUFsY3lCM2FHbGphQ0J5Wlc1a1pYSnpJRk4wY21samRFMXZaR1VnWTJocGJHUnlaVzR1SUNjZ0t5QW5TVzV6ZEdWaFpDd2dZV1JrSUdFZ2NtVm1JR1JwY21WamRHeDVJSFJ2SUhSb1pTQmxiR1Z0Wlc1MElIbHZkU0IzWVc1MElIUnZJSEpsWm1WeVpXNWpaUzRnSnlBcklDZE1aV0Z5YmlCdGIzSmxJR0ZpYjNWMElIVnphVzVuSUhKbFpuTWdjMkZtWld4NUlHaGxjbVU2SUNjZ0t5QW5hSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzF6ZEhKcFkzUXRiVzlrWlMxbWFXNWtMVzV2WkdVbGN5Y3NJRzFsZEdodlpFNWhiV1VzSUcxbGRHaHZaRTVoYldVc0lHTnZiWEJ2Ym1WdWRFNWhiV1VzSUdkbGRGTjBZV05yUW5sR2FXSmxja2x1UkdWMlFXNWtVSEp2WkNob2IzTjBSbWxpWlhJcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCb2IzTjBSbWxpWlhJdWMzUmhkR1ZPYjJSbE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVTnZiblJoYVc1bGNpaGpiMjUwWVdsdVpYSkpibVp2TENCMFlXY3NJR2g1WkhKaGRHVXNJR2g1WkhKaGRHbHZia05oYkd4aVlXTnJjeWtnZTF4dUlDQnlaWFIxY200Z1kzSmxZWFJsUm1saVpYSlNiMjkwS0dOdmJuUmhhVzVsY2tsdVptOHNJSFJoWnl3Z2FIbGtjbUYwWlNrN1hHNTlYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkRiMjUwWVdsdVpYSW9aV3hsYldWdWRDd2dZMjl1ZEdGcGJtVnlMQ0J3WVhKbGJuUkRiMjF3YjI1bGJuUXNJR05oYkd4aVlXTnJLU0I3WEc0Z0lIdGNiaUFnSUNCdmJsTmphR1ZrZFd4bFVtOXZkQ2hqYjI1MFlXbHVaWElzSUdWc1pXMWxiblFwTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR04xY25KbGJuUWtNU0E5SUdOdmJuUmhhVzVsY2k1amRYSnlaVzUwTzF4dUlDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQnlaWEYxWlhOMFEzVnljbVZ1ZEZScGJXVkdiM0pWY0dSaGRHVW9LVHRjYmx4dUlDQjdYRzRnSUNBZ0x5OGdKRVpzYjNkRmVIQmxZM1JsWkVWeWNtOXlJQzBnYW1WemRDQnBjMjRuZENCaElHZHNiMkpoYkN3Z1lXNWtJR2x6YmlkMElISmxZMjluYm1sNlpXUWdiM1YwYzJsa1pTQnZaaUIwWlhOMGMxeHVJQ0FnSUdsbUlDZ25kVzVrWldacGJtVmtKeUFoUFQwZ2RIbHdaVzltSUdwbGMzUXBJSHRjYmlBZ0lDQWdJSGRoY201SlpsVnViVzlqYTJWa1UyTm9aV1IxYkdWeUtHTjFjbkpsYm5Ra01TazdYRzRnSUNBZ0lDQjNZWEp1U1daT2IzUlRZMjl3WldSWGFYUm9UV0YwWTJocGJtZEJZM1FvWTNWeWNtVnVkQ1F4S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdjM1Z6Y0dWdWMyVkRiMjVtYVdjZ1BTQnlaWEYxWlhOMFEzVnljbVZ1ZEZOMWMzQmxibk5sUTI5dVptbG5LQ2s3WEc0Z0lIWmhjaUJsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR052YlhCMWRHVkZlSEJwY21GMGFXOXVSbTl5Um1saVpYSW9ZM1Z5Y21WdWRGUnBiV1VzSUdOMWNuSmxiblFrTVN3Z2MzVnpjR1Z1YzJWRGIyNW1hV2NwTzF4dUlDQjJZWElnWTI5dWRHVjRkQ0E5SUdkbGRFTnZiblJsZUhSR2IzSlRkV0owY21WbEtIQmhjbVZ1ZEVOdmJYQnZibVZ1ZENrN1hHNWNiaUFnYVdZZ0tHTnZiblJoYVc1bGNpNWpiMjUwWlhoMElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1kyOXVkR0ZwYm1WeUxtTnZiblJsZUhRZ1BTQmpiMjUwWlhoME8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHTnZiblJoYVc1bGNpNXdaVzVrYVc1blEyOXVkR1Y0ZENBOUlHTnZiblJsZUhRN1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLR2x6VW1WdVpHVnlhVzVuSUNZbUlHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3Z0ppWWdJV1JwWkZkaGNtNUJZbTkxZEU1bGMzUmxaRlZ3WkdGMFpYTXBJSHRjYmlBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEU1bGMzUmxaRlZ3WkdGMFpYTWdQU0IwY25WbE8xeHVYRzRnSUNBZ0lDQmxjbkp2Y2lnblVtVnVaR1Z5SUcxbGRHaHZaSE1nYzJodmRXeGtJR0psSUdFZ2NIVnlaU0JtZFc1amRHbHZiaUJ2WmlCd2NtOXdjeUJoYm1RZ2MzUmhkR1U3SUNjZ0t5QW5kSEpwWjJkbGNtbHVaeUJ1WlhOMFpXUWdZMjl0Y0c5dVpXNTBJSFZ3WkdGMFpYTWdabkp2YlNCeVpXNWtaWElnYVhNZ2JtOTBJR0ZzYkc5M1pXUXVJQ2NnS3lBblNXWWdibVZqWlhOellYSjVMQ0IwY21sbloyVnlJRzVsYzNSbFpDQjFjR1JoZEdWeklHbHVJR052YlhCdmJtVnVkRVJwWkZWd1pHRjBaUzVjWEc1Y1hHNG5JQ3NnSjBOb1pXTnJJSFJvWlNCeVpXNWtaWElnYldWMGFHOWtJRzltSUNWekxpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1Z5Y21WdWRDNTBlWEJsS1NCOGZDQW5WVzVyYm05M2JpY3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCMWNHUmhkR1VnUFNCamNtVmhkR1ZWY0dSaGRHVW9aWGh3YVhKaGRHbHZibFJwYldVc0lITjFjM0JsYm5ObFEyOXVabWxuS1RzZ0x5OGdRMkYxZEdsdmJqb2dVbVZoWTNRZ1JHVjJWRzl2YkhNZ1kzVnljbVZ1ZEd4NUlHUmxjR1Z1WkhNZ2IyNGdkR2hwY3lCd2NtOXdaWEowZVZ4dUlDQXZMeUJpWldsdVp5QmpZV3hzWldRZ1hDSmxiR1Z0Wlc1MFhDSXVYRzVjYmlBZ2RYQmtZWFJsTG5CaGVXeHZZV1FnUFNCN1hHNGdJQ0FnWld4bGJXVnVkRG9nWld4bGJXVnVkRnh1SUNCOU8xeHVJQ0JqWVd4c1ltRmpheUE5SUdOaGJHeGlZV05ySUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ1ZFd4c0lEb2dZMkZzYkdKaFkyczdYRzVjYmlBZ2FXWWdLR05oYkd4aVlXTnJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqWVd4c1ltRmpheUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25jbVZ1WkdWeUtDNHVMaWs2SUVWNGNHVmpkR1ZrSUhSb1pTQnNZWE4wSUc5d2RHbHZibUZzSUdCallXeHNZbUZqYTJBZ1lYSm5kVzFsYm5RZ2RHOGdZbVVnWVNBbklDc2dKMloxYm1OMGFXOXVMaUJKYm5OMFpXRmtJSEpsWTJWcGRtVmtPaUFsY3k0bkxDQmpZV3hzWW1GamF5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RYQmtZWFJsTG1OaGJHeGlZV05ySUQwZ1kyRnNiR0poWTJzN1hHNGdJSDFjYmx4dUlDQmxibkYxWlhWbFZYQmtZWFJsS0dOMWNuSmxiblFrTVN3Z2RYQmtZWFJsS1R0Y2JpQWdjMk5vWldSMWJHVlhiM0pyS0dOMWNuSmxiblFrTVN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQnlaWFIxY200Z1pYaHdhWEpoZEdsdmJsUnBiV1U3WEc1OVhHNW1kVzVqZEdsdmJpQm5aWFJRZFdKc2FXTlNiMjkwU1c1emRHRnVZMlVvWTI5dWRHRnBibVZ5S1NCN1hHNGdJSFpoY2lCamIyNTBZV2x1WlhKR2FXSmxjaUE5SUdOdmJuUmhhVzVsY2k1amRYSnlaVzUwTzF4dVhHNGdJR2xtSUNnaFkyOXVkR0ZwYm1WeVJtbGlaWEl1WTJocGJHUXBJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUhOM2FYUmphQ0FvWTI5dWRHRnBibVZ5Um1saVpYSXVZMmhwYkdRdWRHRm5LU0I3WEc0Z0lDQWdZMkZ6WlNCSWIzTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHZGxkRkIxWW14cFkwbHVjM1JoYm1ObEtHTnZiblJoYVc1bGNrWnBZbVZ5TG1Ob2FXeGtMbk4wWVhSbFRtOWtaU2s3WEc1Y2JpQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHTnZiblJoYVc1bGNrWnBZbVZ5TG1Ob2FXeGtMbk4wWVhSbFRtOWtaVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCdFlYSnJVbVYwY25sVWFXMWxTVzF3YkNobWFXSmxjaXdnY21WMGNubFVhVzFsS1NCN1hHNGdJSFpoY2lCemRYTndaVzV6WlZOMFlYUmxJRDBnWm1saVpYSXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JseHVJQ0JwWmlBb2MzVnpjR1Z1YzJWVGRHRjBaU0FoUFQwZ2JuVnNiQ0FtSmlCemRYTndaVzV6WlZOMFlYUmxMbVJsYUhsa2NtRjBaV1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb2MzVnpjR1Z1YzJWVGRHRjBaUzV5WlhSeWVWUnBiV1VnUENCeVpYUnllVlJwYldVcElIdGNiaUFnSUNBZ0lITjFjM0JsYm5ObFUzUmhkR1V1Y21WMGNubFVhVzFsSUQwZ2NtVjBjbmxVYVcxbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlNBdkx5QkpibU55WldGelpYTWdkR2hsSUhCeWFXOXlhWFI1SUc5bUlIUm9aVzV1WVdKc1pYTWdkMmhsYmlCMGFHVjVJSEpsYzI5c2RtVWdkMmwwYUdsdUlIUm9hWE1nWW05MWJtUmhjbmt1WEc1Y2JseHVablZ1WTNScGIyNGdiV0Z5YTFKbGRISjVWR2x0WlVsbVRtOTBTSGxrY21GMFpXUW9abWxpWlhJc0lISmxkSEo1VkdsdFpTa2dlMXh1SUNCdFlYSnJVbVYwY25sVWFXMWxTVzF3YkNobWFXSmxjaXdnY21WMGNubFVhVzFsS1R0Y2JpQWdkbUZ5SUdGc2RHVnlibUYwWlNBOUlHWnBZbVZ5TG1Gc2RHVnlibUYwWlR0Y2JseHVJQ0JwWmlBb1lXeDBaWEp1WVhSbEtTQjdYRzRnSUNBZ2JXRnlhMUpsZEhKNVZHbHRaVWx0Y0d3b1lXeDBaWEp1WVhSbExDQnlaWFJ5ZVZScGJXVXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdGMGRHVnRjSFJWYzJWeVFteHZZMnRwYm1kSWVXUnlZWFJwYjI0a01TaG1hV0psY2lrZ2UxeHVJQ0JwWmlBb1ptbGlaWEl1ZEdGbklDRTlQU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQzh2SUZkbElHbG5ibTl5WlNCSWIzTjBVbTl2ZEhNZ2FHVnlaU0JpWldOaGRYTmxJSGRsSUdOaGJpZDBJR2x1WTNKbFlYTmxYRzRnSUNBZ0x5OGdkR2hsYVhJZ2NISnBiM0pwZEhrZ1lXNWtJSFJvWlhrZ2MyaHZkV3hrSUc1dmRDQnpkWE53Wlc1a0lHOXVJRWt2VHl4Y2JpQWdJQ0F2THlCemFXNWpaU0I1YjNVZ2FHRjJaU0IwYnlCM2NtRndJR0Z1ZVhSb2FXNW5JSFJvWVhRZ2JXbG5hSFFnYzNWemNHVnVaQ0JwYmx4dUlDQWdJQzh2SUZOMWMzQmxibk5sTGx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCbGVIQlVhVzFsSUQwZ1kyOXRjSFYwWlVsdWRHVnlZV04wYVhabFJYaHdhWEpoZEdsdmJpaHlaWEYxWlhOMFEzVnljbVZ1ZEZScGJXVkdiM0pWY0dSaGRHVW9LU2s3WEc0Z0lITmphR1ZrZFd4bFYyOXlheWhtYVdKbGNpd2daWGh3VkdsdFpTazdYRzRnSUcxaGNtdFNaWFJ5ZVZScGJXVkpaazV2ZEVoNVpISmhkR1ZrS0dacFltVnlMQ0JsZUhCVWFXMWxLVHRjYm4xY2JtWjFibU4wYVc5dUlHRjBkR1Z0Y0hSRGIyNTBhVzUxYjNWelNIbGtjbUYwYVc5dUpERW9abWxpWlhJcElIdGNiaUFnYVdZZ0tHWnBZbVZ5TG5SaFp5QWhQVDBnVTNWemNHVnVjMlZEYjIxd2IyNWxiblFwSUh0Y2JpQWdJQ0F2THlCWFpTQnBaMjV2Y21VZ1NHOXpkRkp2YjNSeklHaGxjbVVnWW1WallYVnpaU0IzWlNCallXNG5kQ0JwYm1OeVpXRnpaVnh1SUNBZ0lDOHZJSFJvWldseUlIQnlhVzl5YVhSNUlHRnVaQ0IwYUdWNUlITm9iM1ZzWkNCdWIzUWdjM1Z6Y0dWdVpDQnZiaUJKTDA4c1hHNGdJQ0FnTHk4Z2MybHVZMlVnZVc5MUlHaGhkbVVnZEc4Z2QzSmhjQ0JoYm5sMGFHbHVaeUIwYUdGMElHMXBaMmgwSUhOMWMzQmxibVFnYVc1Y2JpQWdJQ0F2THlCVGRYTndaVzV6WlM1Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0J6WTJobFpIVnNaVmR2Y21zb1ptbGlaWElzSUVOdmJuUnBiblZ2ZFhOSWVXUnlZWFJwYjI0cE8xeHVJQ0J0WVhKclVtVjBjbmxVYVcxbFNXWk9iM1JJZVdSeVlYUmxaQ2htYVdKbGNpd2dRMjl1ZEdsdWRXOTFjMGg1WkhKaGRHbHZiaWs3WEc1OVhHNW1kVzVqZEdsdmJpQmhkSFJsYlhCMFNIbGtjbUYwYVc5dVFYUkRkWEp5Wlc1MFVISnBiM0pwZEhra01TaG1hV0psY2lrZ2UxeHVJQ0JwWmlBb1ptbGlaWEl1ZEdGbklDRTlQU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQzh2SUZkbElHbG5ibTl5WlNCSWIzTjBVbTl2ZEhNZ2FHVnlaU0JpWldOaGRYTmxJSGRsSUdOaGJpZDBJR2x1WTNKbFlYTmxYRzRnSUNBZ0x5OGdkR2hsYVhJZ2NISnBiM0pwZEhrZ2IzUm9aWElnZEdoaGJpQnplVzVqYUhKdmJtOTFjMng1SUdac2RYTm9JR2wwTGx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCamRYSnlaVzUwVkdsdFpTQTlJSEpsY1hWbGMzUkRkWEp5Wlc1MFZHbHRaVVp2Y2xWd1pHRjBaU2dwTzF4dUlDQjJZWElnWlhod1ZHbHRaU0E5SUdOdmJYQjFkR1ZGZUhCcGNtRjBhVzl1Um05eVJtbGlaWElvWTNWeWNtVnVkRlJwYldVc0lHWnBZbVZ5TENCdWRXeHNLVHRjYmlBZ2MyTm9aV1IxYkdWWGIzSnJLR1pwWW1WeUxDQmxlSEJVYVcxbEtUdGNiaUFnYldGeWExSmxkSEo1VkdsdFpVbG1UbTkwU0hsa2NtRjBaV1FvWm1saVpYSXNJR1Y0Y0ZScGJXVXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1ptbHVaRWh2YzNSSmJuTjBZVzVqWlZkcGRHaE9iMUJ2Y25SaGJITW9abWxpWlhJcElIdGNiaUFnZG1GeUlHaHZjM1JHYVdKbGNpQTlJR1pwYm1SRGRYSnlaVzUwU0c5emRFWnBZbVZ5VjJsMGFFNXZVRzl5ZEdGc2N5aG1hV0psY2lrN1hHNWNiaUFnYVdZZ0tHaHZjM1JHYVdKbGNpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHaHZjM1JHYVdKbGNpNTBZV2NnUFQwOUlFWjFibVJoYldWdWRHRnNRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHaHZjM1JHYVdKbGNpNXpkR0YwWlU1dlpHVXVhVzV6ZEdGdVkyVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdhRzl6ZEVacFltVnlMbk4wWVhSbFRtOWtaVHRjYm4xY2JseHVkbUZ5SUhOb2IzVnNaRk4xYzNCbGJtUkpiWEJzSUQwZ1puVnVZM1JwYjI0Z0tHWnBZbVZ5S1NCN1hHNGdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JuMDdYRzVjYm1aMWJtTjBhVzl1SUhOb2IzVnNaRk4xYzNCbGJtUW9abWxpWlhJcElIdGNiaUFnY21WMGRYSnVJSE5vYjNWc1pGTjFjM0JsYm1SSmJYQnNLR1pwWW1WeUtUdGNibjFjYm5aaGNpQnZkbVZ5Y21sa1pVaHZiMnRUZEdGMFpTQTlJRzUxYkd3N1hHNTJZWElnYjNabGNuSnBaR1ZRY205d2N5QTlJRzUxYkd3N1hHNTJZWElnYzJOb1pXUjFiR1ZWY0dSaGRHVWdQU0J1ZFd4c08xeHVkbUZ5SUhObGRGTjFjM0JsYm5ObFNHRnVaR3hsY2lBOUlHNTFiR3c3WEc1Y2JudGNiaUFnZG1GeUlHTnZjSGxYYVhSb1UyVjBTVzF3YkNBOUlHWjFibU4wYVc5dUlDaHZZbW9zSUhCaGRHZ3NJR2xrZUN3Z2RtRnNkV1VwSUh0Y2JpQWdJQ0JwWmlBb2FXUjRJRDQ5SUhCaGRHZ3ViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RtRnNkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUd0bGVTQTlJSEJoZEdoYmFXUjRYVHRjYmlBZ0lDQjJZWElnZFhCa1lYUmxaQ0E5SUVGeWNtRjVMbWx6UVhKeVlYa29iMkpxS1NBL0lHOWlhaTV6YkdsalpTZ3BJRG9nWDJGemMybG5iaWg3ZlN3Z2IySnFLVHNnTHk4Z0pFWnNiM2RHYVhoTlpTQnVkVzFpWlhJZ2IzSWdjM1J5YVc1bklHbHpJR1pwYm1VZ2FHVnlaVnh1WEc0Z0lDQWdkWEJrWVhSbFpGdHJaWGxkSUQwZ1kyOXdlVmRwZEdoVFpYUkpiWEJzS0c5aWFsdHJaWGxkTENCd1lYUm9MQ0JwWkhnZ0t5QXhMQ0IyWVd4MVpTazdYRzRnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaV1E3WEc0Z0lIMDdYRzVjYmlBZ2RtRnlJR052Y0hsWGFYUm9VMlYwSUQwZ1puVnVZM1JwYjI0Z0tHOWlhaXdnY0dGMGFDd2dkbUZzZFdVcElIdGNiaUFnSUNCeVpYUjFjbTRnWTI5d2VWZHBkR2hUWlhSSmJYQnNLRzlpYWl3Z2NHRjBhQ3dnTUN3Z2RtRnNkV1VwTzF4dUlDQjlPeUF2THlCVGRYQndiM0owSUVSbGRsUnZiMnh6SUdWa2FYUmhZbXhsSUhaaGJIVmxjeUJtYjNJZ2RYTmxVM1JoZEdVZ1lXNWtJSFZ6WlZKbFpIVmpaWEl1WEc1Y2JseHVJQ0J2ZG1WeWNtbGtaVWh2YjJ0VGRHRjBaU0E5SUdaMWJtTjBhVzl1SUNobWFXSmxjaXdnYVdRc0lIQmhkR2dzSUhaaGJIVmxLU0I3WEc0Z0lDQWdMeThnUm05eUlHNXZkeXdnZEdobElGd2lhV1JjSWlCdlppQnpkR0YwWldaMWJDQm9iMjlyY3lCcGN5QnFkWE4wSUhSb1pTQnpkR0YwWldaMWJDQm9iMjlySUdsdVpHVjRMbHh1SUNBZ0lDOHZJRlJvYVhNZ2JXRjVJR05vWVc1blpTQnBiaUIwYUdVZ1puVjBkWEpsSUhkcGRHZ2daUzVuTGlCdVpYTjBaV1FnYUc5dmEzTXVYRzRnSUNBZ2RtRnlJR04xY25KbGJuUkliMjlySUQwZ1ptbGlaWEl1YldWdGIybDZaV1JUZEdGMFpUdGNibHh1SUNBZ0lIZG9hV3hsSUNoamRYSnlaVzUwU0c5dmF5QWhQVDBnYm5Wc2JDQW1KaUJwWkNBK0lEQXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlySUQwZ1kzVnljbVZ1ZEVodmIyc3VibVY0ZER0Y2JpQWdJQ0FnSUdsa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR04xY25KbGJuUkliMjlySUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCMllYSWdibVYzVTNSaGRHVWdQU0JqYjNCNVYybDBhRk5sZENoamRYSnlaVzUwU0c5dmF5NXRaVzF2YVhwbFpGTjBZWFJsTENCd1lYUm9MQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdibVYzVTNSaGRHVTdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZheTVpWVhObFUzUmhkR1VnUFNCdVpYZFRkR0YwWlRzZ0x5OGdWMlVnWVhKbGJpZDBJR0ZqZEhWaGJHeDVJR0ZrWkdsdVp5QmhiaUIxY0dSaGRHVWdkRzhnZEdobElIRjFaWFZsTEZ4dUlDQWdJQ0FnTHk4Z1ltVmpZWFZ6WlNCMGFHVnlaU0JwY3lCdWJ5QjFjR1JoZEdVZ2QyVWdZMkZ1SUdGa1pDQm1iM0lnZFhObFVtVmtkV05sY2lCb2IyOXJjeUIwYUdGMElIZHZiaWQwSUhSeWFXZG5aWElnWVc0Z1pYSnliM0l1WEc0Z0lDQWdJQ0F2THlBb1ZHaGxjbVVuY3lCdWJ5QmhjSEJ5YjNCeWFXRjBaU0JoWTNScGIyNGdkSGx3WlNCbWIzSWdSR1YyVkc5dmJITWdiM1psY25KcFpHVnpMaWxjYmlBZ0lDQWdJQzh2SUVGeklHRWdjbVZ6ZFd4MElIUm9iM1ZuYUN3Z1VtVmhZM1FnZDJsc2JDQnpaV1VnZEdobElITmphR1ZrZFd4bFpDQjFjR1JoZEdVZ1lYTWdZU0J1YjI5d0lHRnVaQ0JpWVdsc2IzVjBMbHh1SUNBZ0lDQWdMeThnVTJoaGJHeHZkeUJqYkc5dWFXNW5JSEJ5YjNCeklIZHZjbXR6SUdGeklHRWdkMjl5YTJGeWIzVnVaQ0JtYjNJZ2JtOTNJSFJ2SUdKNWNHRnpjeUIwYUdVZ1ltRnBiRzkxZENCamFHVmpheTVjYmx4dUlDQWdJQ0FnWm1saVpYSXViV1Z0YjJsNlpXUlFjbTl3Y3lBOUlGOWhjM05wWjI0b2UzMHNJR1pwWW1WeUxtMWxiVzlwZW1Wa1VISnZjSE1wTzF4dUlDQWdJQ0FnYzJOb1pXUjFiR1ZYYjNKcktHWnBZbVZ5TENCVGVXNWpLVHRjYmlBZ0lDQjlYRzRnSUgwN0lDOHZJRk4xY0hCdmNuUWdSR1YyVkc5dmJITWdjSEp2Y0hNZ1ptOXlJR1oxYm1OMGFXOXVJR052YlhCdmJtVnVkSE1zSUdadmNuZGhjbVJTWldZc0lHMWxiVzhzSUdodmMzUWdZMjl0Y0c5dVpXNTBjeXdnWlhSakxseHVYRzVjYmlBZ2IzWmxjbkpwWkdWUWNtOXdjeUE5SUdaMWJtTjBhVzl1SUNobWFXSmxjaXdnY0dGMGFDd2dkbUZzZFdVcElIdGNiaUFnSUNCbWFXSmxjaTV3Wlc1a2FXNW5VSEp2Y0hNZ1BTQmpiM0I1VjJsMGFGTmxkQ2htYVdKbGNpNXRaVzF2YVhwbFpGQnliM0J6TENCd1lYUm9MQ0IyWVd4MVpTazdYRzVjYmlBZ0lDQnBaaUFvWm1saVpYSXVZV3gwWlhKdVlYUmxLU0I3WEc0Z0lDQWdJQ0JtYVdKbGNpNWhiSFJsY201aGRHVXVjR1Z1WkdsdVoxQnliM0J6SUQwZ1ptbGlaWEl1Y0dWdVpHbHVaMUJ5YjNCek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhOamFHVmtkV3hsVjI5eWF5aG1hV0psY2l3Z1UzbHVZeWs3WEc0Z0lIMDdYRzVjYmlBZ2MyTm9aV1IxYkdWVmNHUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdJQ0J6WTJobFpIVnNaVmR2Y21zb1ptbGlaWElzSUZONWJtTXBPMXh1SUNCOU8xeHVYRzRnSUhObGRGTjFjM0JsYm5ObFNHRnVaR3hsY2lBOUlHWjFibU4wYVc5dUlDaHVaWGRUYUc5MWJHUlRkWE53Wlc1a1NXMXdiQ2tnZTF4dUlDQWdJSE5vYjNWc1pGTjFjM0JsYm1SSmJYQnNJRDBnYm1WM1UyaHZkV3hrVTNWemNHVnVaRWx0Y0d3N1hHNGdJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x1YW1WamRFbHVkRzlFWlhaVWIyOXNjeWhrWlhaVWIyOXNjME52Ym1acFp5a2dlMXh1SUNCMllYSWdabWx1WkVacFltVnlRbmxJYjNOMFNXNXpkR0Z1WTJVZ1BTQmtaWFpVYjI5c2MwTnZibVpwWnk1bWFXNWtSbWxpWlhKQ2VVaHZjM1JKYm5OMFlXNWpaVHRjYmlBZ2RtRnlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeU8xeHVJQ0J5WlhSMWNtNGdhVzVxWldOMFNXNTBaWEp1WVd4ektGOWhjM05wWjI0b2UzMHNJR1JsZGxSdmIyeHpRMjl1Wm1sbkxDQjdYRzRnSUNBZ2IzWmxjbkpwWkdWSWIyOXJVM1JoZEdVNklHOTJaWEp5YVdSbFNHOXZhMU4wWVhSbExGeHVJQ0FnSUc5MlpYSnlhV1JsVUhKdmNITTZJRzkyWlhKeWFXUmxVSEp2Y0hNc1hHNGdJQ0FnYzJWMFUzVnpjR1Z1YzJWSVlXNWtiR1Z5T2lCelpYUlRkWE53Wlc1elpVaGhibVJzWlhJc1hHNGdJQ0FnYzJOb1pXUjFiR1ZWY0dSaGRHVTZJSE5qYUdWa2RXeGxWWEJrWVhSbExGeHVJQ0FnSUdOMWNuSmxiblJFYVhOd1lYUmphR1Z5VW1WbU9pQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TEZ4dUlDQWdJR1pwYm1SSWIzTjBTVzV6ZEdGdVkyVkNlVVpwWW1WeU9pQm1kVzVqZEdsdmJpQW9abWxpWlhJcElIdGNiaUFnSUNBZ0lIWmhjaUJvYjNOMFJtbGlaWElnUFNCbWFXNWtRM1Z5Y21WdWRFaHZjM1JHYVdKbGNpaG1hV0psY2lrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hvYjNOMFJtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQm9iM04wUm1saVpYSXVjM1JoZEdWT2IyUmxPMXh1SUNBZ0lIMHNYRzRnSUNBZ1ptbHVaRVpwWW1WeVFubEliM04wU1c1emRHRnVZMlU2SUdaMWJtTjBhVzl1SUNocGJuTjBZVzVqWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0ZtYVc1a1JtbGlaWEpDZVVodmMzUkpibk4wWVc1alpTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCTmFXZG9kQ0J1YjNRZ1ltVWdhVzF3YkdWdFpXNTBaV1FnWW5rZ2RHaGxJSEpsYm1SbGNtVnlMbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUdacGJtUkdhV0psY2tKNVNHOXpkRWx1YzNSaGJtTmxLR2x1YzNSaGJtTmxLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lDOHZJRkpsWVdOMElGSmxabkpsYzJoY2JpQWdJQ0JtYVc1a1NHOXpkRWx1YzNSaGJtTmxjMFp2Y2xKbFpuSmxjMmc2SUNCbWFXNWtTRzl6ZEVsdWMzUmhibU5sYzBadmNsSmxabkpsYzJnZ0xGeHVJQ0FnSUhOamFHVmtkV3hsVW1WbWNtVnphRG9nSUhOamFHVmtkV3hsVW1WbWNtVnphQ0FzWEc0Z0lDQWdjMk5vWldSMWJHVlNiMjkwT2lBZ2MyTm9aV1IxYkdWU2IyOTBJQ3hjYmlBZ0lDQnpaWFJTWldaeVpYTm9TR0Z1Wkd4bGNqb2dJSE5sZEZKbFpuSmxjMmhJWVc1a2JHVnlJQ3hjYmlBZ0lDQXZMeUJGYm1GaWJHVnpJRVJsZGxSdmIyeHpJSFJ2SUdGd2NHVnVaQ0J2ZDI1bGNpQnpkR0ZqYTNNZ2RHOGdaWEp5YjNJZ2JXVnpjMkZuWlhNZ2FXNGdSRVZXSUcxdlpHVXVYRzRnSUNBZ1oyVjBRM1Z5Y21WdWRFWnBZbVZ5T2lBZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTjFjbkpsYm5RN1hHNGdJQ0FnZlNCY2JpQWdmU2twTzF4dWZWeHVkbUZ5SUVselUyOXRaVkpsYm1SbGNtVnlRV04wYVc1bkpERWdQU0JTWldGamRGTm9ZWEpsWkVsdWRHVnlibUZzY3k1SmMxTnZiV1ZTWlc1a1pYSmxja0ZqZEdsdVp6dGNibHh1Wm5WdVkzUnBiMjRnVW1WaFkzUkVUMDFTYjI5MEtHTnZiblJoYVc1bGNpd2diM0IwYVc5dWN5a2dlMXh1SUNCMGFHbHpMbDlwYm5SbGNtNWhiRkp2YjNRZ1BTQmpjbVZoZEdWU2IyOTBTVzF3YkNoamIyNTBZV2x1WlhJc0lFTnZibU4xY25KbGJuUlNiMjkwTENCdmNIUnBiMjV6S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnVW1WaFkzUkVUMDFDYkc5amEybHVaMUp2YjNRb1kyOXVkR0ZwYm1WeUxDQjBZV2NzSUc5d2RHbHZibk1wSUh0Y2JpQWdkR2hwY3k1ZmFXNTBaWEp1WVd4U2IyOTBJRDBnWTNKbFlYUmxVbTl2ZEVsdGNHd29ZMjl1ZEdGcGJtVnlMQ0IwWVdjc0lHOXdkR2x2Ym5NcE8xeHVmVnh1WEc1U1pXRmpkRVJQVFZKdmIzUXVjSEp2ZEc5MGVYQmxMbkpsYm1SbGNpQTlJRkpsWVdOMFJFOU5RbXh2WTJ0cGJtZFNiMjkwTG5CeWIzUnZkSGx3WlM1eVpXNWtaWElnUFNCbWRXNWpkR2x2YmlBb1kyaHBiR1J5Wlc0cElIdGNiaUFnZG1GeUlISnZiM1FnUFNCMGFHbHpMbDlwYm5SbGNtNWhiRkp2YjNRN1hHNWNiaUFnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWVhKbmRXMWxiblJ6V3pGZElEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduY21WdVpHVnlLQzR1TGlrNklHUnZaWE1nYm05MElITjFjSEJ2Y25RZ2RHaGxJSE5sWTI5dVpDQmpZV3hzWW1GamF5QmhjbWQxYldWdWRDNGdKeUFySUNkVWJ5QmxlR1ZqZFhSbElHRWdjMmxrWlNCbFptWmxZM1FnWVdaMFpYSWdjbVZ1WkdWeWFXNW5MQ0JrWldOc1lYSmxJR2wwSUdsdUlHRWdZMjl0Y0c5dVpXNTBJR0p2WkhrZ2QybDBhQ0IxYzJWRlptWmxZM1FvS1M0bktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZMjl1ZEdGcGJtVnlJRDBnY205dmRDNWpiMjUwWVdsdVpYSkpibVp2TzF4dVhHNGdJQ0FnYVdZZ0tHTnZiblJoYVc1bGNpNXViMlJsVkhsd1pTQWhQVDBnUTA5TlRVVk9WRjlPVDBSRktTQjdYRzRnSUNBZ0lDQjJZWElnYUc5emRFbHVjM1JoYm1ObElEMGdabWx1WkVodmMzUkpibk4wWVc1alpWZHBkR2hPYjFCdmNuUmhiSE1vY205dmRDNWpkWEp5Wlc1MEtUdGNibHh1SUNBZ0lDQWdhV1lnS0dodmMzUkpibk4wWVc1alpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FHOXpkRWx1YzNSaGJtTmxMbkJoY21WdWRFNXZaR1VnSVQwOUlHTnZiblJoYVc1bGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2R5Wlc1a1pYSW9MaTR1S1RvZ1NYUWdiRzl2YTNNZ2JHbHJaU0IwYUdVZ1VtVmhZM1F0Y21WdVpHVnlaV1FnWTI5dWRHVnVkQ0J2WmlCMGFHVWdKeUFySUNkeWIyOTBJR052Ym5SaGFXNWxjaUIzWVhNZ2NtVnRiM1psWkNCM2FYUm9iM1YwSUhWemFXNW5JRkpsWVdOMExpQlVhR2x6SUdseklHNXZkQ0FuSUNzZ0ozTjFjSEJ2Y25SbFpDQmhibVFnZDJsc2JDQmpZWFZ6WlNCbGNuSnZjbk11SUVsdWMzUmxZV1FzSUdOaGJHd2dKeUFySUZ3aWNtOXZkQzUxYm0xdmRXNTBLQ2tnZEc4Z1pXMXdkSGtnWVNCeWIyOTBKM01nWTI5dWRHRnBibVZ5TGx3aUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFZ3WkdGMFpVTnZiblJoYVc1bGNpaGphR2xzWkhKbGJpd2djbTl2ZEN3Z2JuVnNiQ3dnYm5Wc2JDazdYRzU5TzF4dVhHNVNaV0ZqZEVSUFRWSnZiM1F1Y0hKdmRHOTBlWEJsTG5WdWJXOTFiblFnUFNCU1pXRmpkRVJQVFVKc2IyTnJhVzVuVW05dmRDNXdjbTkwYjNSNWNHVXVkVzV0YjNWdWRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdZWEpuZFcxbGJuUnpXekJkSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25kVzV0YjNWdWRDZ3VMaTRwT2lCa2IyVnpJRzV2ZENCemRYQndiM0owSUdFZ1kyRnNiR0poWTJzZ1lYSm5kVzFsYm5RdUlDY2dLeUFuVkc4Z1pYaGxZM1YwWlNCaElITnBaR1VnWldabVpXTjBJR0ZtZEdWeUlISmxibVJsY21sdVp5d2daR1ZqYkdGeVpTQnBkQ0JwYmlCaElHTnZiWEJ2Ym1WdWRDQmliMlI1SUhkcGRHZ2dkWE5sUldabVpXTjBLQ2t1SnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJSEp2YjNRZ1BTQjBhR2x6TGw5cGJuUmxjbTVoYkZKdmIzUTdYRzRnSUhaaGNpQmpiMjUwWVdsdVpYSWdQU0J5YjI5MExtTnZiblJoYVc1bGNrbHVabTg3WEc0Z0lIVndaR0YwWlVOdmJuUmhhVzVsY2lodWRXeHNMQ0J5YjI5MExDQnVkV3hzTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RXNXRZWEpyUTI5dWRHRnBibVZ5UVhOU2IyOTBLR052Ym5SaGFXNWxjaWs3WEc0Z0lIMHBPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdZM0psWVhSbFVtOXZkRWx0Y0d3b1kyOXVkR0ZwYm1WeUxDQjBZV2NzSUc5d2RHbHZibk1wSUh0Y2JpQWdMeThnVkdGbklHbHpJR1ZwZEdobGNpQk1aV2RoWTNsU2IyOTBJRzl5SUVOdmJtTjFjbkpsYm5RZ1VtOXZkRnh1SUNCMllYSWdhSGxrY21GMFpTQTlJRzl3ZEdsdmJuTWdJVDBnYm5Wc2JDQW1KaUJ2Y0hScGIyNXpMbWg1WkhKaGRHVWdQVDA5SUhSeWRXVTdYRzRnSUhaaGNpQm9lV1J5WVhScGIyNURZV3hzWW1GamEzTWdQU0J2Y0hScGIyNXpJQ0U5SUc1MWJHd2dKaVlnYjNCMGFXOXVjeTVvZVdSeVlYUnBiMjVQY0hScGIyNXpJSHg4SUc1MWJHdzdYRzRnSUhaaGNpQnliMjkwSUQwZ1kzSmxZWFJsUTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2l3Z2RHRm5MQ0JvZVdSeVlYUmxLVHRjYmlBZ2JXRnlhME52Ym5SaGFXNWxja0Z6VW05dmRDaHliMjkwTG1OMWNuSmxiblFzSUdOdmJuUmhhVzVsY2lrN1hHNWNiaUFnYVdZZ0tHaDVaSEpoZEdVZ0ppWWdkR0ZuSUNFOVBTQk1aV2RoWTNsU2IyOTBLU0I3WEc0Z0lDQWdkbUZ5SUdSdll5QTlJR052Ym5SaGFXNWxjaTV1YjJSbFZIbHdaU0E5UFQwZ1JFOURWVTFGVGxSZlRrOUVSU0EvSUdOdmJuUmhhVzVsY2lBNklHTnZiblJoYVc1bGNpNXZkMjVsY2tSdlkzVnRaVzUwTzF4dUlDQWdJR1ZoWjJWeWJIbFVjbUZ3VW1Wd2JHRjVZV0pzWlVWMlpXNTBjeWhqYjI1MFlXbHVaWElzSUdSdll5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdjbTl2ZER0Y2JuMWNibVoxYm1OMGFXOXVJR055WldGMFpVeGxaMkZqZVZKdmIzUW9ZMjl1ZEdGcGJtVnlMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dVbVZoWTNSRVQwMUNiRzlqYTJsdVoxSnZiM1FvWTI5dWRHRnBibVZ5TENCTVpXZGhZM2xTYjI5MExDQnZjSFJwYjI1ektUdGNibjFjYm1aMWJtTjBhVzl1SUdselZtRnNhV1JEYjI1MFlXbHVaWElvYm05a1pTa2dlMXh1SUNCeVpYUjFjbTRnSVNFb2JtOWtaU0FtSmlBb2JtOWtaUzV1YjJSbFZIbHdaU0E5UFQwZ1JVeEZUVVZPVkY5T1QwUkZJSHg4SUc1dlpHVXVibTlrWlZSNWNHVWdQVDA5SUVSUFExVk5SVTVVWDA1UFJFVWdmSHdnYm05a1pTNXViMlJsVkhsd1pTQTlQVDBnUkU5RFZVMUZUbFJmUmxKQlIwMUZUbFJmVGs5RVJTQjhmQ0J1YjJSbExtNXZaR1ZVZVhCbElEMDlQU0JEVDAxTlJVNVVYMDVQUkVVZ0ppWWdibTlrWlM1dWIyUmxWbUZzZFdVZ1BUMDlJQ2NnY21WaFkzUXRiVzkxYm5RdGNHOXBiblF0ZFc1emRHRmliR1VnSnlrcE8xeHVmVnh1WEc1MllYSWdVbVZoWTNSRGRYSnlaVzUwVDNkdVpYSWtNeUE5SUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRTkzYm1WeU8xeHVkbUZ5SUhSdmNFeGxkbVZzVlhCa1lYUmxWMkZ5Ym1sdVozTTdYRzUyWVhJZ2QyRnlibVZrUVdKdmRYUkllV1J5WVhSbFFWQkpJRDBnWm1Gc2MyVTdYRzVjYm50Y2JpQWdkRzl3VEdWMlpXeFZjR1JoZEdWWFlYSnVhVzVuY3lBOUlHWjFibU4wYVc5dUlDaGpiMjUwWVdsdVpYSXBJSHRjYmlBZ0lDQnBaaUFvWTI5dWRHRnBibVZ5TGw5eVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJZ0ppWWdZMjl1ZEdGcGJtVnlMbTV2WkdWVWVYQmxJQ0U5UFNCRFQwMU5SVTVVWDA1UFJFVXBJSHRjYmlBZ0lDQWdJSFpoY2lCb2IzTjBTVzV6ZEdGdVkyVWdQU0JtYVc1a1NHOXpkRWx1YzNSaGJtTmxWMmwwYUU1dlVHOXlkR0ZzY3loamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNpNWZhVzUwWlhKdVlXeFNiMjkwTG1OMWNuSmxiblFwTzF4dVhHNGdJQ0FnSUNCcFppQW9hRzl6ZEVsdWMzUmhibU5sS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hvYjNOMFNXNXpkR0Z1WTJVdWNHRnlaVzUwVG05a1pTQWhQVDBnWTI5dWRHRnBibVZ5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0ozSmxibVJsY2lndUxpNHBPaUJKZENCc2IyOXJjeUJzYVd0bElIUm9aU0JTWldGamRDMXlaVzVrWlhKbFpDQmpiMjUwWlc1MElHOW1JSFJvYVhNZ0p5QXJJQ2RqYjI1MFlXbHVaWElnZDJGeklISmxiVzkyWldRZ2QybDBhRzkxZENCMWMybHVaeUJTWldGamRDNGdWR2hwY3lCcGN5QnViM1FnSnlBcklDZHpkWEJ3YjNKMFpXUWdZVzVrSUhkcGJHd2dZMkYxYzJVZ1pYSnliM0p6TGlCSmJuTjBaV0ZrTENCallXeHNJQ2NnS3lBblVtVmhZM1JFVDAwdWRXNXRiM1Z1ZEVOdmJYQnZibVZ1ZEVGMFRtOWtaU0IwYnlCbGJYQjBlU0JoSUdOdmJuUmhhVzVsY2k0bktUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJwYzFKdmIzUlNaVzVrWlhKbFpFSjVVMjl0WlZKbFlXTjBJRDBnSVNGamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNqdGNiaUFnSUNCMllYSWdjbTl2ZEVWc0lEMGdaMlYwVW1WaFkzUlNiMjkwUld4bGJXVnVkRWx1UTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2lrN1hHNGdJQ0FnZG1GeUlHaGhjMDV2YmxKdmIzUlNaV0ZqZEVOb2FXeGtJRDBnSVNFb2NtOXZkRVZzSUNZbUlHZGxkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVWtNU2h5YjI5MFJXd3BLVHRjYmx4dUlDQWdJR2xtSUNob1lYTk9iMjVTYjI5MFVtVmhZM1JEYUdsc1pDQW1KaUFoYVhOU2IyOTBVbVZ1WkdWeVpXUkNlVk52YldWU1pXRmpkQ2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KM0psYm1SbGNpZ3VMaTRwT2lCU1pYQnNZV05wYm1jZ1VtVmhZM1F0Y21WdVpHVnlaV1FnWTJocGJHUnlaVzRnZDJsMGFDQmhJRzVsZHlCeWIyOTBJQ2NnS3lBblkyOXRjRzl1Wlc1MExpQkpaaUI1YjNVZ2FXNTBaVzVrWldRZ2RHOGdkWEJrWVhSbElIUm9aU0JqYUdsc1pISmxiaUJ2WmlCMGFHbHpJRzV2WkdVc0lDY2dLeUFuZVc5MUlITm9iM1ZzWkNCcGJuTjBaV0ZrSUdoaGRtVWdkR2hsSUdWNGFYTjBhVzVuSUdOb2FXeGtjbVZ1SUhWd1pHRjBaU0IwYUdWcGNpQnpkR0YwWlNBbklDc2dKMkZ1WkNCeVpXNWtaWElnZEdobElHNWxkeUJqYjIxd2IyNWxiblJ6SUdsdWMzUmxZV1FnYjJZZ1kyRnNiR2x1WnlCU1pXRmpkRVJQVFM1eVpXNWtaWEl1SnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTnZiblJoYVc1bGNpNXViMlJsVkhsd1pTQTlQVDBnUlV4RlRVVk9WRjlPVDBSRklDWW1JR052Ym5SaGFXNWxjaTUwWVdkT1lXMWxJQ1ltSUdOdmJuUmhhVzVsY2k1MFlXZE9ZVzFsTG5SdlZYQndaWEpEWVhObEtDa2dQVDA5SUNkQ1QwUlpKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KM0psYm1SbGNpZ3BPaUJTWlc1a1pYSnBibWNnWTI5dGNHOXVaVzUwY3lCa2FYSmxZM1JzZVNCcGJuUnZJR1J2WTNWdFpXNTBMbUp2WkhrZ2FYTWdKeUFySUNka2FYTmpiM1Z5WVdkbFpDd2djMmx1WTJVZ2FYUnpJR05vYVd4a2NtVnVJR0Z5WlNCdlpuUmxiaUJ0WVc1cGNIVnNZWFJsWkNCaWVTQjBhR2x5WkMxd1lYSjBlU0FuSUNzZ0ozTmpjbWx3ZEhNZ1lXNWtJR0p5YjNkelpYSWdaWGgwWlc1emFXOXVjeTRnVkdocGN5QnRZWGtnYkdWaFpDQjBieUJ6ZFdKMGJHVWdKeUFySUNkeVpXTnZibU5wYkdsaGRHbHZiaUJwYzNOMVpYTXVJRlJ5ZVNCeVpXNWtaWEpwYm1jZ2FXNTBieUJoSUdOdmJuUmhhVzVsY2lCbGJHVnRaVzUwSUdOeVpXRjBaV1FnSnlBcklDZG1iM0lnZVc5MWNpQmhjSEF1SnlrN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJTWldGamRGSnZiM1JGYkdWdFpXNTBTVzVEYjI1MFlXbHVaWElvWTI5dWRHRnBibVZ5S1NCN1hHNGdJR2xtSUNnaFkyOXVkR0ZwYm1WeUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JwWmlBb1kyOXVkR0ZwYm1WeUxtNXZaR1ZVZVhCbElEMDlQU0JFVDBOVlRVVk9WRjlPVDBSRktTQjdYRzRnSUNBZ2NtVjBkWEp1SUdOdmJuUmhhVzVsY2k1a2IyTjFiV1Z1ZEVWc1pXMWxiblE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJR052Ym5SaGFXNWxjaTVtYVhKemRFTm9hV3hrTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITm9iM1ZzWkVoNVpISmhkR1ZFZFdWVWIweGxaMkZqZVVobGRYSnBjM1JwWXloamIyNTBZV2x1WlhJcElIdGNiaUFnZG1GeUlISnZiM1JGYkdWdFpXNTBJRDBnWjJWMFVtVmhZM1JTYjI5MFJXeGxiV1Z1ZEVsdVEyOXVkR0ZwYm1WeUtHTnZiblJoYVc1bGNpazdYRzRnSUhKbGRIVnliaUFoSVNoeWIyOTBSV3hsYldWdWRDQW1KaUJ5YjI5MFJXeGxiV1Z1ZEM1dWIyUmxWSGx3WlNBOVBUMGdSVXhGVFVWT1ZGOU9UMFJGSUNZbUlISnZiM1JGYkdWdFpXNTBMbWhoYzBGMGRISnBZblYwWlNoU1QwOVVYMEZVVkZKSlFsVlVSVjlPUVUxRktTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHeGxaMkZqZVVOeVpXRjBaVkp2YjNSR2NtOXRSRTlOUTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2l3Z1ptOXlZMlZJZVdSeVlYUmxLU0I3WEc0Z0lIWmhjaUJ6YUc5MWJHUkllV1J5WVhSbElEMGdabTl5WTJWSWVXUnlZWFJsSUh4OElITm9iM1ZzWkVoNVpISmhkR1ZFZFdWVWIweGxaMkZqZVVobGRYSnBjM1JwWXloamIyNTBZV2x1WlhJcE95QXZMeUJHYVhKemRDQmpiR1ZoY2lCaGJua2daWGhwYzNScGJtY2dZMjl1ZEdWdWRDNWNibHh1SUNCcFppQW9JWE5vYjNWc1pFaDVaSEpoZEdVcElIdGNiaUFnSUNCMllYSWdkMkZ5Ym1Wa0lEMGdabUZzYzJVN1hHNGdJQ0FnZG1GeUlISnZiM1JUYVdKc2FXNW5PMXh1WEc0Z0lDQWdkMmhwYkdVZ0tISnZiM1JUYVdKc2FXNW5JRDBnWTI5dWRHRnBibVZ5TG14aGMzUkRhR2xzWkNrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVhkaGNtNWxaQ0FtSmlCeWIyOTBVMmxpYkdsdVp5NXViMlJsVkhsd1pTQTlQVDBnUlV4RlRVVk9WRjlPVDBSRklDWW1JSEp2YjNSVGFXSnNhVzVuTG1oaGMwRjBkSEpwWW5WMFpTaFNUMDlVWDBGVVZGSkpRbFZVUlY5T1FVMUZLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIZGhjbTVsWkNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnbmNtVnVaR1Z5S0NrNklGUmhjbWRsZENCdWIyUmxJR2hoY3lCdFlYSnJkWEFnY21WdVpHVnlaV1FnWW5rZ1VtVmhZM1FzSUdKMWRDQjBhR1Z5WlNBbklDc2dKMkZ5WlNCMWJuSmxiR0YwWldRZ2JtOWtaWE1nWVhNZ2QyVnNiQzRnVkdocGN5QnBjeUJ0YjNOMElHTnZiVzF2Ym14NUlHTmhkWE5sWkNCaWVTQW5JQ3NnSjNkb2FYUmxMWE53WVdObElHbHVjMlZ5ZEdWa0lHRnliM1Z1WkNCelpYSjJaWEl0Y21WdVpHVnlaV1FnYldGeWEzVndMaWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZiblJoYVc1bGNpNXlaVzF2ZG1WRGFHbHNaQ2h5YjI5MFUybGliR2x1WnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDaHphRzkxYkdSSWVXUnlZWFJsSUNZbUlDRm1iM0pqWlVoNVpISmhkR1VnSmlZZ0lYZGhjbTVsWkVGaWIzVjBTSGxrY21GMFpVRlFTU2tnZTF4dUlDQWdJQ0FnZDJGeWJtVmtRV0p2ZFhSSWVXUnlZWFJsUVZCSklEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ2QyRnliaWduY21WdVpHVnlLQ2s2SUVOaGJHeHBibWNnVW1WaFkzUkVUMDB1Y21WdVpHVnlLQ2tnZEc4Z2FIbGtjbUYwWlNCelpYSjJaWEl0Y21WdVpHVnlaV1FnYldGeWEzVndJQ2NnS3lBbmQybHNiQ0J6ZEc5d0lIZHZjbXRwYm1jZ2FXNGdVbVZoWTNRZ2RqRTNMaUJTWlhCc1lXTmxJSFJvWlNCU1pXRmpkRVJQVFM1eVpXNWtaWElvS1NCallXeHNJQ2NnS3lBbmQybDBhQ0JTWldGamRFUlBUUzVvZVdSeVlYUmxLQ2tnYVdZZ2VXOTFJSGRoYm5RZ1VtVmhZM1FnZEc4Z1lYUjBZV05vSUhSdklIUm9aU0J6WlhKMlpYSWdTRlJOVEM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1kzSmxZWFJsVEdWbllXTjVVbTl2ZENoamIyNTBZV2x1WlhJc0lITm9iM1ZzWkVoNVpISmhkR1VnUHlCN1hHNGdJQ0FnYUhsa2NtRjBaVG9nZEhKMVpWeHVJQ0I5SURvZ2RXNWtaV1pwYm1Wa0tUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2QyRnliazl1U1c1MllXeHBaRU5oYkd4aVlXTnJKREVvWTJGc2JHSmhZMnNzSUdOaGJHeGxjazVoYldVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoallXeHNZbUZqYXlBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1kyRnNiR0poWTJzZ0lUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2NsY3lndUxpNHBPaUJGZUhCbFkzUmxaQ0IwYUdVZ2JHRnpkQ0J2Y0hScGIyNWhiQ0JnWTJGc2JHSmhZMnRnSUdGeVozVnRaVzUwSUhSdklHSmxJR0VnSnlBcklDZG1kVzVqZEdsdmJpNGdTVzV6ZEdWaFpDQnlaV05sYVhabFpEb2dKWE11Snl3Z1kyRnNiR1Z5VG1GdFpTd2dZMkZzYkdKaFkyc3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJzWldkaFkzbFNaVzVrWlhKVGRXSjBjbVZsU1c1MGIwTnZiblJoYVc1bGNpaHdZWEpsYm5SRGIyMXdiMjVsYm5Rc0lHTm9hV3hrY21WdUxDQmpiMjUwWVdsdVpYSXNJR1p2Y21ObFNIbGtjbUYwWlN3Z1kyRnNiR0poWTJzcElIdGNiaUFnZTF4dUlDQWdJSFJ2Y0V4bGRtVnNWWEJrWVhSbFYyRnlibWx1WjNNb1kyOXVkR0ZwYm1WeUtUdGNiaUFnSUNCM1lYSnVUMjVKYm5aaGJHbGtRMkZzYkdKaFkyc2tNU2hqWVd4c1ltRmpheUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHTmhiR3hpWVdOckxDQW5jbVZ1WkdWeUp5azdYRzRnSUgwZ0x5OGdWRTlFVHpvZ1YybDBhRzkxZENCZ1lXNTVZQ0IwZVhCbExDQkdiRzkzSUhOaGVYTWdYQ0pRY205d1pYSjBlU0JqWVc1dWIzUWdZbVVnWVdOalpYTnpaV1FnYjI0Z1lXNTVYRzRnSUM4dklHMWxiV0psY2lCdlppQnBiblJsY25ObFkzUnBiMjRnZEhsd1pTNWNJaUJYYUhsNWVYbDVlUzVjYmx4dVhHNGdJSFpoY2lCeWIyOTBJRDBnWTI5dWRHRnBibVZ5TGw5eVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJN1hHNGdJSFpoY2lCbWFXSmxjbEp2YjNRN1hHNWNiaUFnYVdZZ0tDRnliMjkwS1NCN1hHNGdJQ0FnTHk4Z1NXNXBkR2xoYkNCdGIzVnVkRnh1SUNBZ0lISnZiM1FnUFNCamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNpQTlJR3hsWjJGamVVTnlaV0YwWlZKdmIzUkdjbTl0UkU5TlEyOXVkR0ZwYm1WeUtHTnZiblJoYVc1bGNpd2dabTl5WTJWSWVXUnlZWFJsS1R0Y2JpQWdJQ0JtYVdKbGNsSnZiM1FnUFNCeWIyOTBMbDlwYm5SbGNtNWhiRkp2YjNRN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTmhiR3hpWVdOcklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCMllYSWdiM0pwWjJsdVlXeERZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh1WEc0Z0lDQWdJQ0JqWVd4c1ltRmpheUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdsdWMzUmhibU5sSUQwZ1oyVjBVSFZpYkdsalVtOXZkRWx1YzNSaGJtTmxLR1pwWW1WeVVtOXZkQ2s3WEc0Z0lDQWdJQ0FnSUc5eWFXZHBibUZzUTJGc2JHSmhZMnN1WTJGc2JDaHBibk4wWVc1alpTazdYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdMeThnU1c1cGRHbGhiQ0J0YjNWdWRDQnphRzkxYkdRZ2JtOTBJR0psSUdKaGRHTm9aV1F1WEc1Y2JseHVJQ0FnSUhWdVltRjBZMmhsWkZWd1pHRjBaWE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ2RYQmtZWFJsUTI5dWRHRnBibVZ5S0dOb2FXeGtjbVZ1TENCbWFXSmxjbEp2YjNRc0lIQmhjbVZ1ZEVOdmJYQnZibVZ1ZEN3Z1kyRnNiR0poWTJzcE8xeHVJQ0FnSUgwcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHWnBZbVZ5VW05dmRDQTlJSEp2YjNRdVgybHVkR1Z5Ym1Gc1VtOXZkRHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnWTJGc2JHSmhZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFpoY2lCZmIzSnBaMmx1WVd4RFlXeHNZbUZqYXlBOUlHTmhiR3hpWVdOck8xeHVYRzRnSUNBZ0lDQmpZV3hzWW1GamF5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnWjJWMFVIVmliR2xqVW05dmRFbHVjM1JoYm1ObEtHWnBZbVZ5VW05dmRDazdYRzVjYmlBZ0lDQWdJQ0FnWDI5eWFXZHBibUZzUTJGc2JHSmhZMnN1WTJGc2JDaHBibk4wWVc1alpTazdYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdMeThnVlhCa1lYUmxYRzVjYmx4dUlDQWdJSFZ3WkdGMFpVTnZiblJoYVc1bGNpaGphR2xzWkhKbGJpd2dabWxpWlhKU2IyOTBMQ0J3WVhKbGJuUkRiMjF3YjI1bGJuUXNJR05oYkd4aVlXTnJLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJuWlhSUWRXSnNhV05TYjI5MFNXNXpkR0Z1WTJVb1ptbGlaWEpTYjI5MEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ptbHVaRVJQVFU1dlpHVW9ZMjl0Y0c5dVpXNTBUM0pGYkdWdFpXNTBLU0I3WEc0Z0lIdGNiaUFnSUNCMllYSWdiM2R1WlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJQZDI1bGNpUXpMbU4xY25KbGJuUTdYRzVjYmlBZ0lDQnBaaUFvYjNkdVpYSWdJVDA5SUc1MWJHd2dKaVlnYjNkdVpYSXVjM1JoZEdWT2IyUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyRnlibVZrUVdKdmRYUlNaV1p6U1c1U1pXNWtaWElnUFNCdmQyNWxjaTV6ZEdGMFpVNXZaR1V1WDNkaGNtNWxaRUZpYjNWMFVtVm1jMGx1VW1WdVpHVnlPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYZGhjbTVsWkVGaWIzVjBVbVZtYzBsdVVtVnVaR1Z5S1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5QnBjeUJoWTJObGMzTnBibWNnWm1sdVpFUlBUVTV2WkdVZ2FXNXphV1JsSUdsMGN5QnlaVzVrWlhJb0tTNGdKeUFySUNkeVpXNWtaWElvS1NCemFHOTFiR1FnWW1VZ1lTQndkWEpsSUdaMWJtTjBhVzl1SUc5bUlIQnliM0J6SUdGdVpDQnpkR0YwWlM0Z1NYUWdjMmh2ZFd4a0lDY2dLeUFuYm1WMlpYSWdZV05qWlhOeklITnZiV1YwYUdsdVp5QjBhR0YwSUhKbGNYVnBjbVZ6SUhOMFlXeGxJR1JoZEdFZ1puSnZiU0IwYUdVZ2NISmxkbWx2ZFhNZ0p5QXJJQ2R5Wlc1a1pYSXNJSE4xWTJnZ1lYTWdjbVZtY3k0Z1RXOTJaU0IwYUdseklHeHZaMmxqSUhSdklHTnZiWEJ2Ym1WdWRFUnBaRTF2ZFc1MElHRnVaQ0FuSUNzZ0oyTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQnBibk4wWldGa0xpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9iM2R1WlhJdWRIbHdaU2tnZkh3Z0owRWdZMjl0Y0c5dVpXNTBKeWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc5M2JtVnlMbk4wWVhSbFRtOWtaUzVmZDJGeWJtVmtRV0p2ZFhSU1pXWnpTVzVTWlc1a1pYSWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2hqYjIxd2IyNWxiblJQY2tWc1pXMWxiblFnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2FXWWdLR052YlhCdmJtVnVkRTl5Uld4bGJXVnVkQzV1YjJSbFZIbHdaU0E5UFQwZ1JVeEZUVVZPVkY5T1QwUkZLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiWEJ2Ym1WdWRFOXlSV3hsYldWdWREdGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQnlaWFIxY200Z1ptbHVaRWh2YzNSSmJuTjBZVzVqWlZkcGRHaFhZWEp1YVc1bktHTnZiWEJ2Ym1WdWRFOXlSV3hsYldWdWRDd2dKMlpwYm1SRVQwMU9iMlJsSnlrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHaDVaSEpoZEdVb1pXeGxiV1Z1ZEN3Z1kyOXVkR0ZwYm1WeUxDQmpZV3hzWW1GamF5a2dlMXh1SUNCcFppQW9JV2x6Vm1Gc2FXUkRiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlLU2tnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lsUmhjbWRsZENCamIyNTBZV2x1WlhJZ2FYTWdibTkwSUdFZ1JFOU5JR1ZzWlcxbGJuUXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCN1hHNGdJQ0FnZG1GeUlHbHpUVzlrWlhKdVVtOXZkQ0E5SUdselEyOXVkR0ZwYm1WeVRXRnlhMlZrUVhOU2IyOTBLR052Ym5SaGFXNWxjaWtnSmlZZ1kyOXVkR0ZwYm1WeUxsOXlaV0ZqZEZKdmIzUkRiMjUwWVdsdVpYSWdQVDA5SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdsbUlDaHBjMDF2WkdWeWJsSnZiM1FwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RaYjNVZ1lYSmxJR05oYkd4cGJtY2dVbVZoWTNSRVQwMHVhSGxrY21GMFpTZ3BJRzl1SUdFZ1kyOXVkR0ZwYm1WeUlIUm9ZWFFnZDJGeklIQnlaWFpwYjNWemJIa2dKeUFySUNkd1lYTnpaV1FnZEc4Z1VtVmhZM1JFVDAwdVkzSmxZWFJsVW05dmRDZ3BMaUJVYUdseklHbHpJRzV2ZENCemRYQndiM0owWldRdUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlIUnZJR05oYkd3Z1kzSmxZWFJsVW05dmRDaGpiMjUwWVdsdVpYSXNJSHRvZVdSeVlYUmxPaUIwY25WbGZTa3VjbVZ1WkdWeUtHVnNaVzFsYm5RcFB5Y3BPMXh1SUNBZ0lIMWNiaUFnZlNBdkx5QlVUMFJQT2lCMGFISnZkeUJ2Y2lCM1lYSnVJR2xtSUhkbElHTnZkV3hrYmlkMElHaDVaSEpoZEdVL1hHNWNibHh1SUNCeVpYUjFjbTRnYkdWbllXTjVVbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSW9iblZzYkN3Z1pXeGxiV1Z1ZEN3Z1kyOXVkR0ZwYm1WeUxDQjBjblZsTENCallXeHNZbUZqYXlrN1hHNTlYRzVtZFc1amRHbHZiaUJ5Wlc1a1pYSW9aV3hsYldWdWRDd2dZMjl1ZEdGcGJtVnlMQ0JqWVd4c1ltRmpheWtnZTF4dUlDQnBaaUFvSVdselZtRnNhV1JEYjI1MFlXbHVaWElvWTI5dWRHRnBibVZ5S1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbFJoY21kbGRDQmpiMjUwWVdsdVpYSWdhWE1nYm05MElHRWdSRTlOSUdWc1pXMWxiblF1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2RtRnlJR2x6VFc5a1pYSnVVbTl2ZENBOUlHbHpRMjl1ZEdGcGJtVnlUV0Z5YTJWa1FYTlNiMjkwS0dOdmJuUmhhVzVsY2lrZ0ppWWdZMjl1ZEdGcGJtVnlMbDl5WldGamRGSnZiM1JEYjI1MFlXbHVaWElnUFQwOUlIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHbG1JQ2hwYzAxdlpHVnlibEp2YjNRcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkWmIzVWdZWEpsSUdOaGJHeHBibWNnVW1WaFkzUkVUMDB1Y21WdVpHVnlLQ2tnYjI0Z1lTQmpiMjUwWVdsdVpYSWdkR2hoZENCM1lYTWdjSEpsZG1sdmRYTnNlU0FuSUNzZ0ozQmhjM05sWkNCMGJ5QlNaV0ZqZEVSUFRTNWpjbVZoZEdWU2IyOTBLQ2t1SUZSb2FYTWdhWE1nYm05MElITjFjSEJ2Y25SbFpDNGdKeUFySUNkRWFXUWdlVzkxSUcxbFlXNGdkRzhnWTJGc2JDQnliMjkwTG5KbGJtUmxjaWhsYkdWdFpXNTBLVDhuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYkdWbllXTjVVbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSW9iblZzYkN3Z1pXeGxiV1Z1ZEN3Z1kyOXVkR0ZwYm1WeUxDQm1ZV3h6WlN3Z1kyRnNiR0poWTJzcE8xeHVmVnh1Wm5WdVkzUnBiMjRnZFc1emRHRmliR1ZmY21WdVpHVnlVM1ZpZEhKbFpVbHVkRzlEYjI1MFlXbHVaWElvY0dGeVpXNTBRMjl0Y0c5dVpXNTBMQ0JsYkdWdFpXNTBMQ0JqYjI1MFlXbHVaWEpPYjJSbExDQmpZV3hzWW1GamF5a2dlMXh1SUNCcFppQW9JV2x6Vm1Gc2FXUkRiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlUbTlrWlNrcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pVWVhKblpYUWdZMjl1ZEdGcGJtVnlJR2x6SUc1dmRDQmhJRVJQVFNCbGJHVnRaVzUwTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0NFb2NHRnlaVzUwUTI5dGNHOXVaVzUwSUNFOUlHNTFiR3dnSmlZZ2FHRnpLSEJoY21WdWRFTnZiWEJ2Ym1WdWRDa3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aWNHRnlaVzUwUTI5dGNHOXVaVzUwSUcxMWMzUWdZbVVnWVNCMllXeHBaQ0JTWldGamRDQkRiMjF3YjI1bGJuUmNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJzWldkaFkzbFNaVzVrWlhKVGRXSjBjbVZsU1c1MGIwTnZiblJoYVc1bGNpaHdZWEpsYm5SRGIyMXdiMjVsYm5Rc0lHVnNaVzFsYm5Rc0lHTnZiblJoYVc1bGNrNXZaR1VzSUdaaGJITmxMQ0JqWVd4c1ltRmpheWs3WEc1OVhHNW1kVzVqZEdsdmJpQjFibTF2ZFc1MFEyOXRjRzl1Wlc1MFFYUk9iMlJsS0dOdmJuUmhhVzVsY2lrZ2UxeHVJQ0JwWmlBb0lXbHpWbUZzYVdSRGIyNTBZV2x1WlhJb1kyOXVkR0ZwYm1WeUtTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSW5WdWJXOTFiblJEYjIxd2IyNWxiblJCZEU1dlpHVW9MaTR1S1RvZ1ZHRnlaMlYwSUdOdmJuUmhhVzVsY2lCcGN5QnViM1FnWVNCRVQwMGdaV3hsYldWdWRDNWNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2FYTk5iMlJsY201U2IyOTBJRDBnYVhORGIyNTBZV2x1WlhKTllYSnJaV1JCYzFKdmIzUW9ZMjl1ZEdGcGJtVnlLU0FtSmlCamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNpQTlQVDBnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnYVdZZ0tHbHpUVzlrWlhKdVVtOXZkQ2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMWx2ZFNCaGNtVWdZMkZzYkdsdVp5QlNaV0ZqZEVSUFRTNTFibTF2ZFc1MFEyOXRjRzl1Wlc1MFFYUk9iMlJsS0NrZ2IyNGdZU0JqYjI1MFlXbHVaWElnZEdoaGRDQjNZWE1nY0hKbGRtbHZkWE5zZVNBbklDc2dKM0JoYzNObFpDQjBieUJTWldGamRFUlBUUzVqY21WaGRHVlNiMjkwS0NrdUlGUm9hWE1nYVhNZ2JtOTBJSE4xY0hCdmNuUmxaQzRnUkdsa0lIbHZkU0J0WldGdUlIUnZJR05oYkd3Z2NtOXZkQzUxYm0xdmRXNTBLQ2svSnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2FXWWdLR052Ym5SaGFXNWxjaTVmY21WaFkzUlNiMjkwUTI5dWRHRnBibVZ5S1NCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnZG1GeUlISnZiM1JGYkNBOUlHZGxkRkpsWVdOMFVtOXZkRVZzWlcxbGJuUkpia052Ym5SaGFXNWxjaWhqYjI1MFlXbHVaWElwTzF4dUlDQWdJQ0FnZG1GeUlISmxibVJsY21Wa1FubEVhV1ptWlhKbGJuUlNaV0ZqZENBOUlISnZiM1JGYkNBbUppQWhaMlYwU1c1emRHRnVZMlZHY205dFRtOWtaU1F4S0hKdmIzUkZiQ2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHlaVzVrWlhKbFpFSjVSR2xtWm1WeVpXNTBVbVZoWTNRcElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb1hDSjFibTF2ZFc1MFEyOXRjRzl1Wlc1MFFYUk9iMlJsS0NrNklGUm9aU0J1YjJSbElIbHZkU2R5WlNCaGRIUmxiWEIwYVc1bklIUnZJSFZ1Ylc5MWJuUWdYQ0lnS3lBbmQyRnpJSEpsYm1SbGNtVmtJR0o1SUdGdWIzUm9aWElnWTI5d2VTQnZaaUJTWldGamRDNG5LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJQzh2SUZWdWJXOTFiblFnYzJodmRXeGtJRzV2ZENCaVpTQmlZWFJqYUdWa0xseHVYRzVjYmlBZ0lDQjFibUpoZEdOb1pXUlZjR1JoZEdWektHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJR3hsWjJGamVWSmxibVJsY2xOMVluUnlaV1ZKYm5SdlEyOXVkR0ZwYm1WeUtHNTFiR3dzSUc1MWJHd3NJR052Ym5SaGFXNWxjaXdnWm1Gc2MyVXNJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdKRVpzYjNkR2FYaE5aU0JVYUdseklITm9iM1ZzWkNCd2NtOWlZV0pzZVNCMWMyVWdZR1JsYkdWMFpTQmpiMjUwWVdsdVpYSXVYM0psWVdOMFVtOXZkRU52Ym5SaGFXNWxjbUJjYmlBZ0lDQWdJQ0FnWTI5dWRHRnBibVZ5TGw5eVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCMWJtMWhjbXREYjI1MFlXbHVaWEpCYzFKdmIzUW9ZMjl1ZEdGcGJtVnlLVHRjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwT3lBdkx5QkpaaUI1YjNVZ1kyRnNiQ0IxYm0xdmRXNTBRMjl0Y0c5dVpXNTBRWFJPYjJSbElIUjNhV05sSUdsdUlIRjFhV05ySUhOMVkyTmxjM05wYjI0c0lIbHZkU2RzYkZ4dUlDQWdJQzh2SUdkbGRDQmdkSEoxWldBZ2RIZHBZMlV1SUZSb1lYUW5jeUJ3Y205aVlXSnNlU0JtYVc1bFAxeHVYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkbUZ5SUY5eWIyOTBSV3dnUFNCblpYUlNaV0ZqZEZKdmIzUkZiR1Z0Wlc1MFNXNURiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlLVHRjYmx4dUlDQWdJQ0FnZG1GeUlHaGhjMDV2YmxKdmIzUlNaV0ZqZEVOb2FXeGtJRDBnSVNFb1gzSnZiM1JGYkNBbUppQm5aWFJKYm5OMFlXNWpaVVp5YjIxT2IyUmxKREVvWDNKdmIzUkZiQ2twT3lBdkx5QkRhR1ZqYXlCcFppQjBhR1VnWTI5dWRHRnBibVZ5SUdsMGMyVnNaaUJwY3lCaElGSmxZV04wSUhKdmIzUWdibTlrWlM1Y2JseHVJQ0FnSUNBZ2RtRnlJR2x6UTI5dWRHRnBibVZ5VW1WaFkzUlNiMjkwSUQwZ1kyOXVkR0ZwYm1WeUxtNXZaR1ZVZVhCbElEMDlQU0JGVEVWTlJVNVVYMDVQUkVVZ0ppWWdhWE5XWVd4cFpFTnZiblJoYVc1bGNpaGpiMjUwWVdsdVpYSXVjR0Z5Wlc1MFRtOWtaU2tnSmlZZ0lTRmpiMjUwWVdsdVpYSXVjR0Z5Wlc1MFRtOWtaUzVmY21WaFkzUlNiMjkwUTI5dWRHRnBibVZ5TzF4dVhHNGdJQ0FnSUNCcFppQW9hR0Z6VG05dVVtOXZkRkpsWVdOMFEyaHBiR1FwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvWENKMWJtMXZkVzUwUTI5dGNHOXVaVzUwUVhST2IyUmxLQ2s2SUZSb1pTQnViMlJsSUhsdmRTZHlaU0JoZEhSbGJYQjBhVzVuSUhSdklIVnViVzkxYm5RZ1hDSWdLeUFuZDJGeklISmxibVJsY21Wa0lHSjVJRkpsWVdOMElHRnVaQ0JwY3lCdWIzUWdZU0IwYjNBdGJHVjJaV3dnWTI5dWRHRnBibVZ5TGlBbGN5Y3NJR2x6UTI5dWRHRnBibVZ5VW1WaFkzUlNiMjkwSUQ4Z0oxbHZkU0J0WVhrZ2FHRjJaU0JoWTJOcFpHVnVkR0ZzYkhrZ2NHRnpjMlZrSUdsdUlHRWdVbVZoWTNRZ2NtOXZkQ0J1YjJSbElHbHVjM1JsWVdRZ0p5QXJJQ2R2WmlCcGRITWdZMjl1ZEdGcGJtVnlMaWNnT2lBblNXNXpkR1ZoWkN3Z2FHRjJaU0IwYUdVZ2NHRnlaVzUwSUdOdmJYQnZibVZ1ZENCMWNHUmhkR1VnYVhSeklITjBZWFJsSUdGdVpDQW5JQ3NnSjNKbGNtVnVaR1Z5SUdsdUlHOXlaR1Z5SUhSdklISmxiVzkyWlNCMGFHbHpJR052YlhCdmJtVnVkQzRuS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFVHOXlkR0ZzS0dOb2FXeGtjbVZ1TENCamIyNTBZV2x1WlhKSmJtWnZMQ0F2THlCVVQwUlBPaUJtYVdkMWNtVWdiM1YwSUhSb1pTQkJVRWtnWm05eUlHTnliM056TFhKbGJtUmxjbVZ5SUdsdGNHeGxiV1Z1ZEdGMGFXOXVMbHh1YVcxd2JHVnRaVzUwWVhScGIyNHBJSHRjYmlBZ2RtRnlJR3RsZVNBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXpJQ1ltSUdGeVozVnRaVzUwYzFzelhTQWhQVDBnZFc1a1pXWnBibVZrSUQ4Z1lYSm5kVzFsYm5Seld6TmRJRG9nYm5Wc2JEdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQXZMeUJVYUdseklIUmhaeUJoYkd4dmR5QjFjeUIwYnlCMWJtbHhkV1ZzZVNCcFpHVnVkR2xtZVNCMGFHbHpJR0Z6SUdFZ1VtVmhZM1FnVUc5eWRHRnNYRzRnSUNBZ0pDUjBlWEJsYjJZNklGSkZRVU5VWDFCUFVsUkJURjlVV1ZCRkxGeHVJQ0FnSUd0bGVUb2dhMlY1SUQwOUlHNTFiR3dnUHlCdWRXeHNJRG9nSnljZ0t5QnJaWGtzWEc0Z0lDQWdZMmhwYkdSeVpXNDZJR05vYVd4a2NtVnVMRnh1SUNBZ0lHTnZiblJoYVc1bGNrbHVabTg2SUdOdmJuUmhhVzVsY2tsdVptOHNYRzRnSUNBZ2FXMXdiR1Z0Wlc1MFlYUnBiMjQ2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVYRzRnSUgwN1hHNTlYRzVjYm5aaGNpQlNaV0ZqZEZabGNuTnBiMjRnUFNBbk1UWXVNVE11TVNjN1hHNWNibk5sZEVGMGRHVnRjSFJWYzJWeVFteHZZMnRwYm1kSWVXUnlZWFJwYjI0b1lYUjBaVzF3ZEZWelpYSkNiRzlqYTJsdVowaDVaSEpoZEdsdmJpUXhLVHRjYm5ObGRFRjBkR1Z0Y0hSRGIyNTBhVzUxYjNWelNIbGtjbUYwYVc5dUtHRjBkR1Z0Y0hSRGIyNTBhVzUxYjNWelNIbGtjbUYwYVc5dUpERXBPMXh1YzJWMFFYUjBaVzF3ZEVoNVpISmhkR2x2YmtGMFEzVnljbVZ1ZEZCeWFXOXlhWFI1S0dGMGRHVnRjSFJJZVdSeVlYUnBiMjVCZEVOMWNuSmxiblJRY21sdmNtbDBlU1F4S1R0Y2JuWmhjaUJrYVdSWFlYSnVRV0p2ZFhSVmJuTjBZV0pzWlVOeVpXRjBaVkJ2Y25SaGJDQTlJR1poYkhObE8xeHVYRzU3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdUV0Z3SUNFOVBTQW5ablZ1WTNScGIyNG5JSHg4SUM4dklDUkdiRzkzU1hOemRXVWdSbXh2ZHlCcGJtTnZjbkpsWTNSc2VTQjBhR2x1YTNNZ1RXRndJR2hoY3lCdWJ5QndjbTkwYjNSNWNHVmNiaUFnVFdGd0xuQnliM1J2ZEhsd1pTQTlQU0J1ZFd4c0lIeDhJSFI1Y0dWdlppQk5ZWEF1Y0hKdmRHOTBlWEJsTG1admNrVmhZMmdnSVQwOUlDZG1kVzVqZEdsdmJpY2dmSHdnZEhsd1pXOW1JRk5sZENBaFBUMGdKMloxYm1OMGFXOXVKeUI4ZkNBdkx5QWtSbXh2ZDBsemMzVmxJRVpzYjNjZ2FXNWpiM0p5WldOMGJIa2dkR2hwYm10eklGTmxkQ0JvWVhNZ2JtOGdjSEp2ZEc5MGVYQmxYRzRnSUZObGRDNXdjbTkwYjNSNWNHVWdQVDBnYm5Wc2JDQjhmQ0IwZVhCbGIyWWdVMlYwTG5CeWIzUnZkSGx3WlM1amJHVmhjaUFoUFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0IwZVhCbGIyWWdVMlYwTG5CeWIzUnZkSGx3WlM1bWIzSkZZV05vSUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdaWEp5YjNJb0oxSmxZV04wSUdSbGNHVnVaSE1nYjI0Z1RXRndJR0Z1WkNCVFpYUWdZblZwYkhRdGFXNGdkSGx3WlhNdUlFMWhhMlVnYzNWeVpTQjBhR0YwSUhsdmRTQnNiMkZrSUdFZ0p5QXJJQ2R3YjJ4NVptbHNiQ0JwYmlCdmJHUmxjaUJpY205M2MyVnljeTRnYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxd2IyeDVabWxzYkhNbktUdGNiaUFnZlZ4dWZWeHVYRzV6WlhSU1pYTjBiM0psU1cxd2JHVnRaVzUwWVhScGIyNG9jbVZ6ZEc5eVpVTnZiblJ5YjJ4c1pXUlRkR0YwWlNRektUdGNibk5sZEVKaGRHTm9hVzVuU1cxd2JHVnRaVzUwWVhScGIyNG9ZbUYwWTJobFpGVndaR0YwWlhNa01Td2daR2x6WTNKbGRHVlZjR1JoZEdWekpERXNJR1pzZFhOb1JHbHpZM0psZEdWVmNHUmhkR1Z6TENCaVlYUmphR1ZrUlhabGJuUlZjR1JoZEdWekpERXBPMXh1WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZRYjNKMFlXd2tNU2hqYUdsc1pISmxiaXdnWTI5dWRHRnBibVZ5S1NCN1hHNGdJSFpoY2lCclpYa2dQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTWlBbUppQmhjbWQxYldWdWRITmJNbDBnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR0Z5WjNWdFpXNTBjMXN5WFNBNklHNTFiR3c3WEc1Y2JpQWdhV1lnS0NGcGMxWmhiR2xrUTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2lrcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pVWVhKblpYUWdZMjl1ZEdGcGJtVnlJR2x6SUc1dmRDQmhJRVJQVFNCbGJHVnRaVzUwTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklGUlBSRTg2SUhCaGMzTWdVbVZoWTNSRVQwMGdjRzl5ZEdGc0lHbHRjR3hsYldWdWRHRjBhVzl1SUdGeklIUm9hWEprSUdGeVozVnRaVzUwWEc0Z0lDOHZJQ1JHYkc5M1JtbDRUV1VnVkdobElFWnNiM2NnZEhsd1pTQnBjeUJ2Y0dGeGRXVWdZblYwSUhSb1pYSmxKM01nYm04Z2QyRjVJSFJ2SUdGamRIVmhiR3g1SUdOeVpXRjBaU0JwZEM1Y2JseHVYRzRnSUhKbGRIVnliaUJqY21WaGRHVlFiM0owWVd3b1kyaHBiR1J5Wlc0c0lHTnZiblJoYVc1bGNpd2diblZzYkN3Z2EyVjVLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSW9jR0Z5Wlc1MFEyOXRjRzl1Wlc1MExDQmxiR1Z0Wlc1MExDQmpiMjUwWVdsdVpYSk9iMlJsTENCallXeHNZbUZqYXlrZ2UxeHVYRzRnSUhKbGRIVnliaUIxYm5OMFlXSnNaVjl5Wlc1a1pYSlRkV0owY21WbFNXNTBiME52Ym5SaGFXNWxjaWh3WVhKbGJuUkRiMjF3YjI1bGJuUXNJR1ZzWlcxbGJuUXNJR052Ym5SaGFXNWxjazV2WkdVc0lHTmhiR3hpWVdOcktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNXpkR0ZpYkdWZlkzSmxZWFJsVUc5eWRHRnNLR05vYVd4a2NtVnVMQ0JqYjI1MFlXbHVaWElwSUh0Y2JpQWdkbUZ5SUd0bGVTQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF5SUNZbUlHRnlaM1Z0Wlc1MGMxc3lYU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdZWEpuZFcxbGJuUnpXekpkSURvZ2JuVnNiRHRjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLQ0ZrYVdSWFlYSnVRV0p2ZFhSVmJuTjBZV0pzWlVOeVpXRjBaVkJ2Y25SaGJDa2dlMXh1SUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVlc1emRHRmliR1ZEY21WaGRHVlFiM0owWVd3Z1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNCM1lYSnVLQ2RVYUdVZ1VtVmhZM1JFVDAwdWRXNXpkR0ZpYkdWZlkzSmxZWFJsVUc5eWRHRnNLQ2tnWVd4cFlYTWdhR0Z6SUdKbFpXNGdaR1Z3Y21WallYUmxaQ3dnSnlBcklDZGhibVFnZDJsc2JDQmlaU0J5WlcxdmRtVmtJR2x1SUZKbFlXTjBJREUzS3k0Z1ZYQmtZWFJsSUhsdmRYSWdZMjlrWlNCMGJ5QjFjMlVnSnlBcklDZFNaV0ZqZEVSUFRTNWpjbVZoZEdWUWIzSjBZV3dvS1NCcGJuTjBaV0ZrTGlCSmRDQm9ZWE1nZEdobElHVjRZV04wSUhOaGJXVWdRVkJKTENBbklDc2dKMkoxZENCM2FYUm9iM1YwSUhSb1pTQmNJblZ1YzNSaFlteGxYMXdpSUhCeVpXWnBlQzRuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWTNKbFlYUmxVRzl5ZEdGc0pERW9ZMmhwYkdSeVpXNHNJR052Ym5SaGFXNWxjaXdnYTJWNUtUdGNibjFjYmx4dWRtRnlJRWx1ZEdWeWJtRnNjeUE5SUh0Y2JpQWdMeThnUzJWbGNDQnBiaUJ6ZVc1aklIZHBkR2dnVW1WaFkzUkVUMDFWYm5OMFlXSnNaVTVoZEdsMlpVUmxjR1Z1WkdWdVkybGxjeTVxYzF4dUlDQXZMeUJTWldGamRGUmxjM1JWZEdsc2N5NXFjeXdnWVc1a0lGSmxZV04wVkdWemRGVjBhV3h6UVdOMExtcHpMaUJVYUdseklHbHpJR0Z1SUdGeWNtRjVJR1p2Y2lCaVpYUjBaWElnYldsdWFXWnBZMkYwYVc5dUxseHVJQ0JGZG1WdWRITTZJRnRuWlhSSmJuTjBZVzVqWlVaeWIyMU9iMlJsSkRFc0lHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWtNU3dnWjJWMFJtbGlaWEpEZFhKeVpXNTBVSEp2Y0hOR2NtOXRUbTlrWlNReExDQnBibXBsWTNSRmRtVnVkRkJzZFdkcGJuTkNlVTVoYldVc0lHVjJaVzUwVG1GdFpVUnBjM0JoZEdOb1EyOXVabWxuY3l3Z1lXTmpkVzExYkdGMFpWUjNiMUJvWVhObFJHbHpjR0YwWTJobGN5d2dZV05qZFcxMWJHRjBaVVJwY21WamRFUnBjM0JoZEdOb1pYTXNJR1Z1Y1hWbGRXVlRkR0YwWlZKbGMzUnZjbVVzSUhKbGMzUnZjbVZUZEdGMFpVbG1UbVZsWkdWa0xDQmthWE53WVhSamFFVjJaVzUwTENCeWRXNUZkbVZ1ZEhOSmJrSmhkR05vTENCbWJIVnphRkJoYzNOcGRtVkZabVpsWTNSekxDQkpjMVJvYVhOU1pXNWtaWEpsY2tGamRHbHVaMTFjYm4wN1hHNTJZWElnWm05MWJtUkVaWFpVYjI5c2N5QTlJR2x1YW1WamRFbHVkRzlFWlhaVWIyOXNjeWg3WEc0Z0lHWnBibVJHYVdKbGNrSjVTRzl6ZEVsdWMzUmhibU5sT2lCblpYUkRiRzl6WlhOMFNXNXpkR0Z1WTJWR2NtOXRUbTlrWlN4Y2JpQWdZblZ1Wkd4bFZIbHdaVG9nSURFZ0xGeHVJQ0IyWlhKemFXOXVPaUJTWldGamRGWmxjbk5wYjI0c1hHNGdJSEpsYm1SbGNtVnlVR0ZqYTJGblpVNWhiV1U2SUNkeVpXRmpkQzFrYjIwblhHNTlLVHRjYmx4dWUxeHVJQ0JwWmlBb0lXWnZkVzVrUkdWMlZHOXZiSE1nSmlZZ1kyRnVWWE5sUkU5TklDWW1JSGRwYm1SdmR5NTBiM0FnUFQwOUlIZHBibVJ2ZHk1elpXeG1LU0I3WEc0Z0lDQWdMeThnU1dZZ2QyVW5jbVVnYVc0Z1EyaHliMjFsSUc5eUlFWnBjbVZtYjNnc0lIQnliM1pwWkdVZ1lTQmtiM2R1Ykc5aFpDQnNhVzVySUdsbUlHNXZkQ0JwYm5OMFlXeHNaV1F1WEc0Z0lDQWdhV1lnS0c1aGRtbG5ZWFJ2Y2k1MWMyVnlRV2RsYm5RdWFXNWtaWGhQWmlnblEyaHliMjFsSnlrZ1BpQXRNU0FtSmlCdVlYWnBaMkYwYjNJdWRYTmxja0ZuWlc1MExtbHVaR1Y0VDJZb0owVmtaMlVuS1NBOVBUMGdMVEVnZkh3Z2JtRjJhV2RoZEc5eUxuVnpaWEpCWjJWdWRDNXBibVJsZUU5bUtDZEdhWEpsWm05NEp5a2dQaUF0TVNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YjNSdlkyOXNJRDBnZDJsdVpHOTNMbXh2WTJGMGFXOXVMbkJ5YjNSdlkyOXNPeUF2THlCRWIyNG5kQ0IzWVhKdUlHbHVJR1Y0YjNScFl5QmpZWE5sY3lCc2FXdGxJR05vY205dFpTMWxlSFJsYm5OcGIyNDZMeTh1WEc1Y2JpQWdJQ0FnSUdsbUlDZ3ZYaWhvZEhSd2N6OThabWxzWlNrNkpDOHVkR1Z6ZENod2NtOTBiMk52YkNrcElIdGNiaUFnSUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEpsWVdOMExXbHVkR1Z5Ym1Gc0wyNXZMWEJ5YjJSMVkzUnBiMjR0Ykc5bloybHVaMXh1SUNBZ0lDQWdJQ0JqYjI1emIyeGxMbWx1Wm04b0p5VmpSRzkzYm14dllXUWdkR2hsSUZKbFlXTjBJRVJsZGxSdmIyeHpJQ2NnS3lBblptOXlJR0VnWW1WMGRHVnlJR1JsZG1Wc2IzQnRaVzUwSUdWNGNHVnlhV1Z1WTJVNklDY2dLeUFuYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxa1pYWjBiMjlzY3ljZ0t5QW9jSEp2ZEc5amIyd2dQVDA5SUNkbWFXeGxPaWNnUHlBblhGeHVXVzkxSUcxcFoyaDBJRzVsWldRZ2RHOGdkWE5sSUdFZ2JHOWpZV3dnU0ZSVVVDQnpaWEoyWlhJZ0tHbHVjM1JsWVdRZ2IyWWdabWxzWlRvdkx5azZJQ2NnS3lBbmFIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMWtaWFowYjI5c2N5MW1ZWEVuSURvZ0p5Y3BMQ0FuWm05dWRDMTNaV2xuYUhRNlltOXNaQ2NwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblJ6TGw5ZlUwVkRVa1ZVWDBsT1ZFVlNUa0ZNVTE5RVQxOU9UMVJmVlZORlgwOVNYMWxQVlY5WFNVeE1YMEpGWDBaSlVrVkVJRDBnU1c1MFpYSnVZV3h6TzF4dVpYaHdiM0owY3k1amNtVmhkR1ZRYjNKMFlXd2dQU0JqY21WaGRHVlFiM0owWVd3a01UdGNibVY0Y0c5eWRITXVabWx1WkVSUFRVNXZaR1VnUFNCbWFXNWtSRTlOVG05a1pUdGNibVY0Y0c5eWRITXVabXgxYzJoVGVXNWpJRDBnWm14MWMyaFRlVzVqTzF4dVpYaHdiM0owY3k1b2VXUnlZWFJsSUQwZ2FIbGtjbUYwWlR0Y2JtVjRjRzl5ZEhNdWNtVnVaR1Z5SUQwZ2NtVnVaR1Z5TzF4dVpYaHdiM0owY3k1MWJtMXZkVzUwUTI5dGNHOXVaVzUwUVhST2IyUmxJRDBnZFc1dGIzVnVkRU52YlhCdmJtVnVkRUYwVG05a1pUdGNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZZbUYwWTJobFpGVndaR0YwWlhNZ1BTQmlZWFJqYUdWa1ZYQmtZWFJsY3lReE8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOWpjbVZoZEdWUWIzSjBZV3dnUFNCMWJuTjBZV0pzWlY5amNtVmhkR1ZRYjNKMFlXdzdYRzVsZUhCdmNuUnpMblZ1YzNSaFlteGxYM0psYm1SbGNsTjFZblJ5WldWSmJuUnZRMjl1ZEdGcGJtVnlJRDBnY21WdVpHVnlVM1ZpZEhKbFpVbHVkRzlEYjI1MFlXbHVaWEk3WEc1bGVIQnZjblJ6TG5abGNuTnBiMjRnUFNCU1pXRmpkRlpsY25OcGIyNDdYRzRnSUgwcEtDazdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vY2pzL3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmZ1bmN0aW9uIGNoZWNrRENFKCkge1xcbiAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xcbiAgaWYgKFxcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fID09PSAndW5kZWZpbmVkJyB8fFxcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFICE9PSAnZnVuY3Rpb24nXFxuICApIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcbiAgaWYgKHRydWUpIHtcXG4gICAgLy8gVGhpcyBicmFuY2ggaXMgdW5yZWFjaGFibGUgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkXFxuICAgIC8vIGluIHByb2R1Y3Rpb24sIGJ1dCB0aGUgY29uZGl0aW9uIGlzIHRydWUgb25seSBpbiBkZXZlbG9wbWVudC5cXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxcbiAgICAvLyBwcm9wZXJseSBhcHBsaWVkLlxcbiAgICAvLyBEb24ndCBjaGFuZ2UgdGhlIG1lc3NhZ2UuIFJlYWN0IERldlRvb2xzIHJlbGllcyBvbiBpdC4gQWxzbyBtYWtlIHN1cmVcXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcXG4gICAgLy8gYSBmYWxzZSBwb3NpdGl2ZS5cXG4gICAgdGhyb3cgbmV3IEVycm9yKCdeX14nKTtcXG4gIH1cXG4gIHRyeSB7XFxuICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBjb2RlIGFib3ZlIGhhcyBiZWVuIGRlYWQgY29kZSBlbGltaW5hdGVkIChEQ0UnZCkuXFxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XFxuICB9IGNhdGNoIChlcnIpIHtcXG4gICAgLy8gRGV2VG9vbHMgc2hvdWxkbid0IGNyYXNoIFJlYWN0LCBubyBtYXR0ZXIgd2hhdC5cXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cXG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xcbiAgfVxcbn1cXG5cXG5pZiAoZmFsc2UpIHt9IGVsc2Uge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzXFxcIik7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmpkQzFrYjIwdmFXNWtaWGd1YW5NL01tRTBOQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1RVRkJUU3hKUVVGeFF6dEJRVU16UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hKUVVGSkxFdEJRWEZETEVWQlFVVXNSVUZMTVVNN1FVRkRSQ3h0UWtGQmJVSXNiVUpCUVU4c1EwRkJReXcyUmtGQlowTTdRVUZETTBRaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y21WaFkzUXRaRzl0TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNW1kVzVqZEdsdmJpQmphR1ZqYTBSRFJTZ3BJSHRjYmlBZ0x5b2daMnh2WW1Gc0lGOWZVa1ZCUTFSZlJFVldWRTlQVEZOZlIweFBRa0ZNWDBoUFQwdGZYeUFxTDF4dUlDQnBaaUFvWEc0Z0lDQWdkSGx3Wlc5bUlGOWZVa1ZCUTFSZlJFVldWRTlQVEZOZlIweFBRa0ZNWDBoUFQwdGZYeUE5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dmSHhjYmlBZ0lDQjBlWEJsYjJZZ1gxOVNSVUZEVkY5RVJWWlVUMDlNVTE5SFRFOUNRVXhmU0U5UFMxOWZMbU5vWldOclJFTkZJQ0U5UFNBblpuVnVZM1JwYjI0blhHNGdJQ2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dUlDQnBaaUFvY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlrZ2UxeHVJQ0FnSUM4dklGUm9hWE1nWW5KaGJtTm9JR2x6SUhWdWNtVmhZMmhoWW14bElHSmxZMkYxYzJVZ2RHaHBjeUJtZFc1amRHbHZiaUJwY3lCdmJteDVJR05oYkd4bFpGeHVJQ0FnSUM4dklHbHVJSEJ5YjJSMVkzUnBiMjRzSUdKMWRDQjBhR1VnWTI5dVpHbDBhVzl1SUdseklIUnlkV1VnYjI1c2VTQnBiaUJrWlhabGJHOXdiV1Z1ZEM1Y2JpQWdJQ0F2THlCVWFHVnlaV1p2Y21VZ2FXWWdkR2hsSUdKeVlXNWphQ0JwY3lCemRHbHNiQ0JvWlhKbExDQmtaV0ZrSUdOdlpHVWdaV3hwYldsdVlYUnBiMjRnZDJGemJpZDBYRzRnSUNBZ0x5OGdjSEp2Y0dWeWJIa2dZWEJ3YkdsbFpDNWNiaUFnSUNBdkx5QkViMjRuZENCamFHRnVaMlVnZEdobElHMWxjM05oWjJVdUlGSmxZV04wSUVSbGRsUnZiMnh6SUhKbGJHbGxjeUJ2YmlCcGRDNGdRV3h6YnlCdFlXdGxJSE4xY21WY2JpQWdJQ0F2THlCMGFHbHpJRzFsYzNOaFoyVWdaRzlsYzI0bmRDQnZZMk4xY2lCbGJITmxkMmhsY21VZ2FXNGdkR2hwY3lCbWRXNWpkR2x2Yml3Z2IzSWdhWFFnZDJsc2JDQmpZWFZ6WlZ4dUlDQWdJQzh2SUdFZ1ptRnNjMlVnY0c5emFYUnBkbVV1WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGVYMTRuS1R0Y2JpQWdmVnh1SUNCMGNua2dlMXh1SUNBZ0lDOHZJRlpsY21sbWVTQjBhR0YwSUhSb1pTQmpiMlJsSUdGaWIzWmxJR2hoY3lCaVpXVnVJR1JsWVdRZ1kyOWtaU0JsYkdsdGFXNWhkR1ZrSUNoRVEwVW5aQ2t1WEc0Z0lDQWdYMTlTUlVGRFZGOUVSVlpVVDA5TVUxOUhURTlDUVV4ZlNFOVBTMTlmTG1Ob1pXTnJSRU5GS0dOb1pXTnJSRU5GS1R0Y2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnTHk4Z1JHVjJWRzl2YkhNZ2MyaHZkV3hrYmlkMElHTnlZWE5vSUZKbFlXTjBMQ0J1YnlCdFlYUjBaWElnZDJoaGRDNWNiaUFnSUNBdkx5QlhaU0J6YUc5MWJHUWdjM1JwYkd3Z2NtVndiM0owSUdsdUlHTmhjMlVnZDJVZ1luSmxZV3NnZEdocGN5QmpiMlJsTGx4dUlDQWdJR052Ym5OdmJHVXVaWEp5YjNJb1pYSnlLVHRjYmlBZ2ZWeHVmVnh1WEc1cFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnUFQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQXZMeUJFUTBVZ1kyaGxZMnNnYzJodmRXeGtJR2hoY0hCbGJpQmlaV1p2Y21VZ1VtVmhZM1JFVDAwZ1luVnVaR3hsSUdWNFpXTjFkR1Z6SUhOdklIUm9ZWFJjYmlBZ0x5OGdSR1YyVkc5dmJITWdZMkZ1SUhKbGNHOXlkQ0JpWVdRZ2JXbHVhV1pwWTJGMGFXOXVJR1IxY21sdVp5QnBibXBsWTNScGIyNHVYRzRnSUdOb1pXTnJSRU5GS0NrN1hHNGdJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdjbVZ4ZFdseVpTZ25MaTlqYW5NdmNtVmhZM1F0Wkc5dExuQnliMlIxWTNScGIyNHViV2x1TG1wekp5azdYRzU5SUdWc2MyVWdlMXh1SUNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSnk0dlkycHpMM0psWVdOMExXUnZiUzVrWlhabGJHOXdiV1Z1ZEM1cWN5Y3BPMXh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyoqIEBsaWNlbnNlIFJlYWN0IHYxNi4xMy4xXFxuICogcmVhY3QuZGV2ZWxvcG1lbnQuanNcXG4gKlxcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxcbiAqXFxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXFxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxcbiAqL1xcblxcblxcblxcblxcblxcbmlmICh0cnVlKSB7XFxuICAoZnVuY3Rpb24oKSB7XFxuJ3VzZSBzdHJpY3QnO1xcblxcbnZhciBfYXNzaWduID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgb2JqZWN0LWFzc2lnbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qc1xcXCIpO1xcbnZhciBjaGVja1Byb3BUeXBlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHByb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanNcXFwiKTtcXG5cXG52YXIgUmVhY3RWZXJzaW9uID0gJzE2LjEzLjEnO1xcblxcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXFxuLy8gbm9yIHBvbHlmaWxsLCB0aGVuIGEgcGxhaW4gbnVtYmVyIGlzIHVzZWQgZm9yIHBlcmZvcm1hbmNlLlxcbnZhciBoYXNTeW1ib2wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5mb3I7XFxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcXG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKSA6IDB4ZWFjYTtcXG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50JykgOiAweGVhY2I7XFxudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKSA6IDB4ZWFkMjtcXG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJykgOiAweGVhY2Q7XFxudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XFxudmFyIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29uY3VycmVudF9tb2RlJykgOiAweGVhY2Y7XFxudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpIDogMHhlYWQwO1xcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKSA6IDB4ZWFkMTtcXG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpIDogMHhlYWQ4O1xcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJykgOiAweGVhZDM7XFxudmFyIFJFQUNUX0xBWllfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKSA6IDB4ZWFkNDtcXG52YXIgUkVBQ1RfQkxPQ0tfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmJsb2NrJykgOiAweGVhZDk7XFxudmFyIFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mdW5kYW1lbnRhbCcpIDogMHhlYWQ1O1xcbnZhciBSRUFDVF9SRVNQT05ERVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnJlc3BvbmRlcicpIDogMHhlYWQ2O1xcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKSA6IDB4ZWFkNztcXG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaXRlcmF0b3I7XFxudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xcblxcbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbi8qKlxcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXFxuICovXFxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSB7XFxuICAvKipcXG4gICAqIEBpbnRlcm5hbFxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxcbiAgICovXFxuICBjdXJyZW50OiBudWxsXFxufTtcXG5cXG4vKipcXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBiYXRjaCdzIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBob3cgbG9uZyBhbiB1cGRhdGVcXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXFxuICovXFxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnID0ge1xcbiAgc3VzcGVuc2U6IG51bGxcXG59O1xcblxcbi8qKlxcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxcbiAqXFxuICogVGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIGNvbXBvbmVudCB3aG8gc2hvdWxkIG93biBhbnkgY29tcG9uZW50cyB0aGF0IGFyZVxcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cXG4gKi9cXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSB7XFxuICAvKipcXG4gICAqIEBpbnRlcm5hbFxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxcbiAgICovXFxuICBjdXJyZW50OiBudWxsXFxufTtcXG5cXG52YXIgQkVGT1JFX1NMQVNIX1JFID0gL14oLiopW1xcXFxcXFxcXFxcXC9dLztcXG5mdW5jdGlvbiBkZXNjcmliZUNvbXBvbmVudEZyYW1lIChuYW1lLCBzb3VyY2UsIG93bmVyTmFtZSkge1xcbiAgdmFyIHNvdXJjZUluZm8gPSAnJztcXG5cXG4gIGlmIChzb3VyY2UpIHtcXG4gICAgdmFyIHBhdGggPSBzb3VyY2UuZmlsZU5hbWU7XFxuICAgIHZhciBmaWxlTmFtZSA9IHBhdGgucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcXG5cXG4gICAge1xcbiAgICAgIC8vIEluIERFViwgaW5jbHVkZSBjb2RlIGZvciBhIGNvbW1vbiBzcGVjaWFsIGNhc2U6XFxuICAgICAgLy8gcHJlZmVyIFxcXCJmb2xkZXIvaW5kZXguanNcXFwiIGluc3RlYWQgb2YganVzdCBcXFwiaW5kZXguanNcXFwiLlxcbiAgICAgIGlmICgvXmluZGV4XFxcXC4vLnRlc3QoZmlsZU5hbWUpKSB7XFxuICAgICAgICB2YXIgbWF0Y2ggPSBwYXRoLm1hdGNoKEJFRk9SRV9TTEFTSF9SRSk7XFxuXFxuICAgICAgICBpZiAobWF0Y2gpIHtcXG4gICAgICAgICAgdmFyIHBhdGhCZWZvcmVTbGFzaCA9IG1hdGNoWzFdO1xcblxcbiAgICAgICAgICBpZiAocGF0aEJlZm9yZVNsYXNoKSB7XFxuICAgICAgICAgICAgdmFyIGZvbGRlck5hbWUgPSBwYXRoQmVmb3JlU2xhc2gucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcXG4gICAgICAgICAgICBmaWxlTmFtZSA9IGZvbGRlck5hbWUgKyAnLycgKyBmaWxlTmFtZTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBzb3VyY2VJbmZvID0gJyAoYXQgJyArIGZpbGVOYW1lICsgJzonICsgc291cmNlLmxpbmVOdW1iZXIgKyAnKSc7XFxuICB9IGVsc2UgaWYgKG93bmVyTmFtZSkge1xcbiAgICBzb3VyY2VJbmZvID0gJyAoY3JlYXRlZCBieSAnICsgb3duZXJOYW1lICsgJyknO1xcbiAgfVxcblxcbiAgcmV0dXJuICdcXFxcbiAgICBpbiAnICsgKG5hbWUgfHwgJ1Vua25vd24nKSArIHNvdXJjZUluZm87XFxufVxcblxcbnZhciBSZXNvbHZlZCA9IDE7XFxuZnVuY3Rpb24gcmVmaW5lUmVzb2x2ZWRMYXp5Q29tcG9uZW50KGxhenlDb21wb25lbnQpIHtcXG4gIHJldHVybiBsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFJlc29sdmVkID8gbGF6eUNvbXBvbmVudC5fcmVzdWx0IDogbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0V3JhcHBlZE5hbWUob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XFxuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xcbiAgcmV0dXJuIG91dGVyVHlwZS5kaXNwbGF5TmFtZSB8fCAoZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXFxcIihcXFwiICsgZnVuY3Rpb25OYW1lICsgXFxcIilcXFwiIDogd3JhcHBlck5hbWUpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKHR5cGUpIHtcXG4gIGlmICh0eXBlID09IG51bGwpIHtcXG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAge1xcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiB0eXBlO1xcbiAgfVxcblxcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcXG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcXG5cXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcXG4gICAgICByZXR1cm4gXFxcIlByb2ZpbGVyXFxcIjtcXG5cXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcXG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcXG5cXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XFxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcXG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcXG4gICAgICAgIHJldHVybiAnQ29udGV4dC5Db25zdW1lcic7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxcbiAgICAgICAgcmV0dXJuICdDb250ZXh0LlByb3ZpZGVyJztcXG5cXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnR5cGUpO1xcblxcbiAgICAgIGNhc2UgUkVBQ1RfQkxPQ0tfVFlQRTpcXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHR5cGUucmVuZGVyKTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIHRoZW5hYmxlID0gdHlwZTtcXG4gICAgICAgICAgdmFyIHJlc29sdmVkVGhlbmFibGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQodGhlbmFibGUpO1xcblxcbiAgICAgICAgICBpZiAocmVzb2x2ZWRUaGVuYWJsZSkge1xcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHJlc29sdmVkVGhlbmFibGUpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSB7fTtcXG52YXIgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBudWxsO1xcbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcXG4gIHtcXG4gICAgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBlbGVtZW50O1xcbiAgfVxcbn1cXG5cXG57XFxuICAvLyBTdGFjayBpbXBsZW1lbnRhdGlvbiBpbmplY3RlZCBieSB0aGUgY3VycmVudCByZW5kZXJlci5cXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcXG5cXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSA9IGZ1bmN0aW9uICgpIHtcXG4gICAgdmFyIHN0YWNrID0gJyc7IC8vIEFkZCBhbiBleHRyYSB0b3AgZnJhbWUgd2hpbGUgYW4gZWxlbWVudCBpcyBiZWluZyB2YWxpZGF0ZWRcXG5cXG4gICAgaWYgKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KSB7XFxuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50LnR5cGUpO1xcbiAgICAgIHZhciBvd25lciA9IGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50Ll9vd25lcjtcXG4gICAgICBzdGFjayArPSBkZXNjcmliZUNvbXBvbmVudEZyYW1lKG5hbWUsIGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50Ll9zb3VyY2UsIG93bmVyICYmIGdldENvbXBvbmVudE5hbWUob3duZXIudHlwZSkpO1xcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxcblxcblxcbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xcblxcbiAgICBpZiAoaW1wbCkge1xcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gc3RhY2s7XFxuICB9O1xcbn1cXG5cXG4vKipcXG4gKiBVc2VkIGJ5IGFjdCgpIHRvIHRyYWNrIHdoZXRoZXIgeW91J3JlIGluc2lkZSBhbiBhY3QoKSBzY29wZS5cXG4gKi9cXG52YXIgSXNTb21lUmVuZGVyZXJBY3RpbmcgPSB7XFxuICBjdXJyZW50OiBmYWxzZVxcbn07XFxuXFxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0ge1xcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcXG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcXG4gIFJlYWN0Q3VycmVudE93bmVyOiBSZWFjdEN1cnJlbnRPd25lcixcXG4gIElzU29tZVJlbmRlcmVyQWN0aW5nOiBJc1NvbWVSZW5kZXJlckFjdGluZyxcXG4gIC8vIFVzZWQgYnkgcmVuZGVyZXJzIHRvIGF2b2lkIGJ1bmRsaW5nIG9iamVjdC1hc3NpZ24gdHdpY2UgaW4gVU1EIGJ1bmRsZXM6XFxuICBhc3NpZ246IF9hc3NpZ25cXG59O1xcblxcbntcXG4gIF9hc3NpZ24oUmVhY3RTaGFyZWRJbnRlcm5hbHMsIHtcXG4gICAgLy8gVGhlc2Ugc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiBwcm9kdWN0aW9uLlxcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lOiBSZWFjdERlYnVnQ3VycmVudEZyYW1lLFxcbiAgICAvLyBTaGltIGZvciBSZWFjdCBET00gMTYuMC4wIHdoaWNoIHN0aWxsIGRlc3RydWN0dXJlZCAoYnV0IG5vdCB1c2VkKSB0aGlzLlxcbiAgICAvLyBUT0RPOiByZW1vdmUgaW4gUmVhY3QgMTcuMC5cXG4gICAgUmVhY3RDb21wb25lbnRUcmVlSG9vazoge31cXG4gIH0pO1xcbn1cXG5cXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxcbi8vXFxuLy8gSW4gUFJPRCAob3IgaW4gcGFja2FnZXMgd2l0aG91dCBhY2Nlc3MgdG8gUmVhY3QgaW50ZXJuYWxzKSxcXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXFxuXFxuZnVuY3Rpb24gd2Fybihmb3JtYXQpIHtcXG4gIHtcXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xcbiAgICB9XFxuXFxuICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xcbiAge1xcbiAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xcbiAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XFxuICAgIH1cXG5cXG4gICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XFxuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxcbiAge1xcbiAgICB2YXIgaGFzRXhpc3RpbmdTdGFjayA9IGFyZ3MubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnc1thcmdzLmxlbmd0aCAtIDFdID09PSAnc3RyaW5nJyAmJiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0uaW5kZXhPZignXFxcXG4gICAgaW4nKSA9PT0gMDtcXG5cXG4gICAgaWYgKCFoYXNFeGlzdGluZ1N0YWNrKSB7XFxuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xcbiAgICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xcblxcbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcXG4gICAgICAgIGZvcm1hdCArPSAnJXMnO1xcbiAgICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xcbiAgICAgIHJldHVybiAnJyArIGl0ZW07XFxuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxcblxcbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcXG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXFxuXFxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxcbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XFxuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcXG4gICAgICB9KTtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XFxuICAgIH0gY2F0Y2ggKHgpIHt9XFxuICB9XFxufVxcblxcbnZhciBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQgPSB7fTtcXG5cXG5mdW5jdGlvbiB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgY2FsbGVyTmFtZSkge1xcbiAge1xcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XFxuICAgIHZhciBjb21wb25lbnROYW1lID0gX2NvbnN0cnVjdG9yICYmIChfY29uc3RydWN0b3IuZGlzcGxheU5hbWUgfHwgX2NvbnN0cnVjdG9yLm5hbWUpIHx8ICdSZWFjdENsYXNzJztcXG4gICAgdmFyIHdhcm5pbmdLZXkgPSBjb21wb25lbnROYW1lICsgXFxcIi5cXFwiICsgY2FsbGVyTmFtZTtcXG5cXG4gICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudFt3YXJuaW5nS2V5XSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBlcnJvcihcXFwiQ2FuJ3QgY2FsbCAlcyBvbiBhIGNvbXBvbmVudCB0aGF0IGlzIG5vdCB5ZXQgbW91bnRlZC4gXFxcIiArICdUaGlzIGlzIGEgbm8tb3AsIGJ1dCBpdCBtaWdodCBpbmRpY2F0ZSBhIGJ1ZyBpbiB5b3VyIGFwcGxpY2F0aW9uLiAnICsgJ0luc3RlYWQsIGFzc2lnbiB0byBgdGhpcy5zdGF0ZWAgZGlyZWN0bHkgb3IgZGVmaW5lIGEgYHN0YXRlID0ge307YCAnICsgJ2NsYXNzIHByb3BlcnR5IHdpdGggdGhlIGRlc2lyZWQgc3RhdGUgaW4gdGhlICVzIGNvbXBvbmVudC4nLCBjYWxsZXJOYW1lLCBjb21wb25lbnROYW1lKTtcXG5cXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcXG4gIH1cXG59XFxuLyoqXFxuICogVGhpcyBpcyB0aGUgYWJzdHJhY3QgQVBJIGZvciBhbiB1cGRhdGUgcXVldWUuXFxuICovXFxuXFxuXFxudmFyIFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlID0ge1xcbiAgLyoqXFxuICAgKiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhpcyBjb21wb3NpdGUgY29tcG9uZW50IGlzIG1vdW50ZWQuXFxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB3ZSB3YW50IHRvIHRlc3QuXFxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cXG4gICAqIEBwcm90ZWN0ZWRcXG4gICAqIEBmaW5hbFxcbiAgICovXFxuICBpc01vdW50ZWQ6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9LFxcblxcbiAgLyoqXFxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXFxuICAgKiBjZXJ0YWludHkgdGhhdCB3ZSBhcmUgKipub3QqKiBpbiBhIERPTSB0cmFuc2FjdGlvbi5cXG4gICAqXFxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXFxuICAgKiBjb21wb25lbnQncyBzdGF0ZSBoYXMgY2hhbmdlZCBidXQgYHNldFN0YXRlYCB3YXMgbm90IGNhbGxlZC5cXG4gICAqXFxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXFxuICAgKiBgY29tcG9uZW50V2lsbFVwZGF0ZWAgYW5kIGBjb21wb25lbnREaWRVcGRhdGVgLlxcbiAgICpcXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxcbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gY2FsbGVyTmFtZSBuYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxcbiAgICogQGludGVybmFsXFxuICAgKi9cXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XFxuICB9LFxcblxcbiAgLyoqXFxuICAgKiBSZXBsYWNlcyBhbGwgb2YgdGhlIHN0YXRlLiBBbHdheXMgdXNlIHRoaXMgb3IgYHNldFN0YXRlYCB0byBtdXRhdGUgc3RhdGUuXFxuICAgKiBZb3Ugc2hvdWxkIHRyZWF0IGB0aGlzLnN0YXRlYCBhcyBpbW11dGFibGUuXFxuICAgKlxcbiAgICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYHRoaXMuc3RhdGVgIHdpbGwgYmUgaW1tZWRpYXRlbHkgdXBkYXRlZCwgc29cXG4gICAqIGFjY2Vzc2luZyBgdGhpcy5zdGF0ZWAgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBvbGQgdmFsdWUuXFxuICAgKlxcbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2UgdGhhdCBzaG91bGQgcmVyZW5kZXIuXFxuICAgKiBAcGFyYW0ge29iamVjdH0gY29tcGxldGVTdGF0ZSBOZXh0IHN0YXRlLlxcbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gY2FsbGVyTmFtZSBuYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxcbiAgICogQGludGVybmFsXFxuICAgKi9cXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY29tcGxldGVTdGF0ZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcXG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdyZXBsYWNlU3RhdGUnKTtcXG4gIH0sXFxuXFxuICAvKipcXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xcbiAgICogaW50ZXJuYWwuIFRoaXMgcHJvdmlkZXMgYSBtZXJnaW5nIHN0cmF0ZWd5IHRoYXQgaXMgbm90IGF2YWlsYWJsZSB0byBkZWVwXFxuICAgKiBwcm9wZXJ0aWVzIHdoaWNoIGlzIGNvbmZ1c2luZy4gVE9ETzogRXhwb3NlIHBlbmRpbmdTdGF0ZSBvciBkb24ndCB1c2UgaXRcXG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXFxuICAgKlxcbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2UgdGhhdCBzaG91bGQgcmVyZW5kZXIuXFxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cXG4gICAqIEBwYXJhbSB7P2Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsZWQgYWZ0ZXIgY29tcG9uZW50IGlzIHVwZGF0ZWQuXFxuICAgKiBAcGFyYW0gez9zdHJpbmd9IE5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXFxuICAgKiBAaW50ZXJuYWxcXG4gICAqL1xcbiAgZW5xdWV1ZVNldFN0YXRlOiBmdW5jdGlvbiAocHVibGljSW5zdGFuY2UsIHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcXG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xcbiAgfVxcbn07XFxuXFxudmFyIGVtcHR5T2JqZWN0ID0ge307XFxuXFxue1xcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XFxufVxcbi8qKlxcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIENvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXFxuXFxuICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDsgLy8gV2UgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCB1cGRhdGVyIGJ1dCB0aGUgcmVhbCBvbmUgZ2V0cyBpbmplY3RlZCBieSB0aGVcXG4gIC8vIHJlbmRlcmVyLlxcblxcbiAgdGhpcy51cGRhdGVyID0gdXBkYXRlciB8fCBSZWFjdE5vb3BVcGRhdGVRdWV1ZTtcXG59XFxuXFxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XFxuLyoqXFxuICogU2V0cyBhIHN1YnNldCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyB0byBtdXRhdGVcXG4gKiBzdGF0ZS4gWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxcbiAqXFxuICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYHRoaXMuc3RhdGVgIHdpbGwgYmUgaW1tZWRpYXRlbHkgdXBkYXRlZCwgc29cXG4gKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxcbiAqXFxuICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgY2FsbHMgdG8gYHNldFN0YXRlYCB3aWxsIHJ1biBzeW5jaHJvbm91c2x5LFxcbiAqIGFzIHRoZXkgbWF5IGV2ZW50dWFsbHkgYmUgYmF0Y2hlZCB0b2dldGhlci4gIFlvdSBjYW4gcHJvdmlkZSBhbiBvcHRpb25hbFxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XFxuICogY29tcGxldGVkLlxcbiAqXFxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXFxuICogdGhlIGZ1dHVyZSAobm90IHN5bmNocm9ub3VzbHkpLiBJdCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSB1cCB0byBkYXRlXFxuICogY29tcG9uZW50IGFyZ3VtZW50cyAoc3RhdGUsIHByb3BzLCBjb250ZXh0KS4gVGhlc2UgdmFsdWVzIGNhbiBiZSBkaWZmZXJlbnRcXG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxcbiAqIHNob3VsZENvbXBvbmVudFVwZGF0ZSwgYW5kIHRoaXMgbmV3IHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgd2lsbCBub3QgeWV0IGJlXFxuICogYXNzaWduZWQgdG8gdGhpcy5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fGZ1bmN0aW9ufSBwYXJ0aWFsU3RhdGUgTmV4dCBwYXJ0aWFsIHN0YXRlIG9yIGZ1bmN0aW9uIHRvXFxuICogICAgICAgIHByb2R1Y2UgbmV4dCBwYXJ0aWFsIHN0YXRlIHRvIGJlIG1lcmdlZCB3aXRoIGN1cnJlbnQgc3RhdGUuXFxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxcbiAqIEBmaW5hbFxcbiAqIEBwcm90ZWN0ZWRcXG4gKi9cXG5cXG5Db21wb25lbnQucHJvdG90eXBlLnNldFN0YXRlID0gZnVuY3Rpb24gKHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2spIHtcXG4gIGlmICghKHR5cGVvZiBwYXJ0aWFsU3RhdGUgPT09ICdvYmplY3QnIHx8IHR5cGVvZiBwYXJ0aWFsU3RhdGUgPT09ICdmdW5jdGlvbicgfHwgcGFydGlhbFN0YXRlID09IG51bGwpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcXG59O1xcbi8qKlxcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcXG4gKiBjZXJ0YWludHkgdGhhdCB3ZSBhcmUgKipub3QqKiBpbiBhIERPTSB0cmFuc2FjdGlvbi5cXG4gKlxcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcXG4gKiBjb21wb25lbnQncyBzdGF0ZSBoYXMgY2hhbmdlZCBidXQgYHNldFN0YXRlYCB3YXMgbm90IGNhbGxlZC5cXG4gKlxcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcXG4gKiBgY29tcG9uZW50V2lsbFVwZGF0ZWAgYW5kIGBjb21wb25lbnREaWRVcGRhdGVgLlxcbiAqXFxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXFxuICogQGZpbmFsXFxuICogQHByb3RlY3RlZFxcbiAqL1xcblxcblxcbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcXG4gIHRoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcywgY2FsbGJhY2ssICdmb3JjZVVwZGF0ZScpO1xcbn07XFxuLyoqXFxuICogRGVwcmVjYXRlZCBBUElzLiBUaGVzZSBBUElzIHVzZWQgdG8gZXhpc3Qgb24gY2xhc3NpYyBSZWFjdCBjbGFzc2VzIGJ1dCBzaW5jZVxcbiAqIHdlIHdvdWxkIGxpa2UgdG8gZGVwcmVjYXRlIHRoZW0sIHdlJ3JlIG5vdCBnb2luZyB0byBtb3ZlIHRoZW0gb3ZlciB0byB0aGlzXFxuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXFxuICovXFxuXFxuXFxue1xcbiAgdmFyIGRlcHJlY2F0ZWRBUElzID0ge1xcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXFxuICAgIHJlcGxhY2VTdGF0ZTogWydyZXBsYWNlU3RhdGUnLCAnUmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBzZXRTdGF0ZSBpbnN0ZWFkIChzZWUgJyArICdodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzMyMzYpLiddXFxuICB9O1xcblxcbiAgdmFyIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyA9IGZ1bmN0aW9uIChtZXRob2ROYW1lLCBpbmZvKSB7XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21wb25lbnQucHJvdG90eXBlLCBtZXRob2ROYW1lLCB7XFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICB3YXJuKCclcyguLi4pIGlzIGRlcHJlY2F0ZWQgaW4gcGxhaW4gSmF2YVNjcmlwdCBSZWFjdCBjbGFzc2VzLiAlcycsIGluZm9bMF0sIGluZm9bMV0pO1xcblxcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcXG4gICAgICB9XFxuICAgIH0pO1xcbiAgfTtcXG5cXG4gIGZvciAodmFyIGZuTmFtZSBpbiBkZXByZWNhdGVkQVBJcykge1xcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xcbiAgICAgIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyhmbk5hbWUsIGRlcHJlY2F0ZWRBUElzW2ZuTmFtZV0pO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cXG5cXG5Db21wb25lbnREdW1teS5wcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xcbi8qKlxcbiAqIENvbnZlbmllbmNlIGNvbXBvbmVudCB3aXRoIGRlZmF1bHQgc2hhbGxvdyBlcXVhbGl0eSBjaGVjayBmb3Igc0NVLlxcbiAqL1xcblxcbmZ1bmN0aW9uIFB1cmVDb21wb25lbnQocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcXG4gIHRoaXMucHJvcHMgPSBwcm9wcztcXG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxcblxcbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7XFxuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xcbn1cXG5cXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XFxucHVyZUNvbXBvbmVudFByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFB1cmVDb21wb25lbnQ7IC8vIEF2b2lkIGFuIGV4dHJhIHByb3RvdHlwZSBqdW1wIGZvciB0aGVzZSBtZXRob2RzLlxcblxcbl9hc3NpZ24ocHVyZUNvbXBvbmVudFByb3RvdHlwZSwgQ29tcG9uZW50LnByb3RvdHlwZSk7XFxuXFxucHVyZUNvbXBvbmVudFByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCA9IHRydWU7XFxuXFxuLy8gYW4gaW1tdXRhYmxlIG9iamVjdCB3aXRoIGEgc2luZ2xlIG11dGFibGUgdmFsdWVcXG5mdW5jdGlvbiBjcmVhdGVSZWYoKSB7XFxuICB2YXIgcmVmT2JqZWN0ID0ge1xcbiAgICBjdXJyZW50OiBudWxsXFxuICB9O1xcblxcbiAge1xcbiAgICBPYmplY3Quc2VhbChyZWZPYmplY3QpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlZk9iamVjdDtcXG59XFxuXFxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XFxuICBrZXk6IHRydWUsXFxuICByZWY6IHRydWUsXFxuICBfX3NlbGY6IHRydWUsXFxuICBfX3NvdXJjZTogdHJ1ZVxcbn07XFxudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XFxufVxcblxcbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xcbiAge1xcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcXG5cXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcXG59XFxuXFxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XFxuICB7XFxuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XFxuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xcblxcbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xcbn1cXG5cXG5mdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcXG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkgPSBmdW5jdGlvbiAoKSB7XFxuICAgIHtcXG4gICAgICBpZiAoIXNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duKSB7XFxuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XFxuXFxuICAgICAgICBlcnJvcignJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIHdhcm5BYm91dEFjY2Vzc2luZ0tleS5pc1JlYWN0V2FybmluZyA9IHRydWU7XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XFxuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxcbiAgICBjb25maWd1cmFibGU6IHRydWVcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcXG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XFxuICAgIHtcXG4gICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XFxuICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XFxuXFxuICAgICAgICBlcnJvcignJXM6IGByZWZgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIHdhcm5BYm91dEFjY2Vzc2luZ1JlZi5pc1JlYWN0V2FybmluZyA9IHRydWU7XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XFxuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nUmVmLFxcbiAgICBjb25maWd1cmFibGU6IHRydWVcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XFxuICB7XFxuICAgIGlmICh0eXBlb2YgY29uZmlnLnJlZiA9PT0gJ3N0cmluZycgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCAmJiBjb25maWcuX19zZWxmICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQuc3RhdGVOb2RlICE9PSBjb25maWcuX19zZWxmKSB7XFxuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICBlcnJvcignQ29tcG9uZW50IFxcXCIlc1xcXCIgY29udGFpbnMgdGhlIHN0cmluZyByZWYgXFxcIiVzXFxcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSksIGNvbmZpZy5yZWYpO1xcblxcbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcbi8qKlxcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXFxuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxcbiAqXFxuICogQHBhcmFtIHsqfSB0eXBlXFxuICogQHBhcmFtIHsqfSBwcm9wc1xcbiAqIEBwYXJhbSB7Kn0ga2V5XFxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcXG4gKiBAcGFyYW0geyp9IG93bmVyXFxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXFxuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XFxuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xcbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxcbiAqIEBpbnRlcm5hbFxcbiAqL1xcblxcblxcbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XFxuICB2YXIgZWxlbWVudCA9IHtcXG4gICAgLy8gVGhpcyB0YWcgYWxsb3dzIHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBFbGVtZW50XFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcXG4gICAgdHlwZTogdHlwZSxcXG4gICAga2V5OiBrZXksXFxuICAgIHJlZjogcmVmLFxcbiAgICBwcm9wczogcHJvcHMsXFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXFxuICAgIF9vd25lcjogb3duZXJcXG4gIH07XFxuXFxuICB7XFxuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxcbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xcbiAgICAvLyBpZ25vcmVzIGl0LlxcblxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcXG4gICAgICB2YWx1ZTogZmFsc2VcXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cXG5cXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcXG4gICAgICB2YWx1ZTogc2VsZlxcbiAgICB9KTsgLy8gVHdvIGVsZW1lbnRzIGNyZWF0ZWQgaW4gdHdvIGRpZmZlcmVudCBwbGFjZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWRcXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXFxuXFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NvdXJjZScsIHtcXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcXG4gICAgICB2YWx1ZTogc291cmNlXFxuICAgIH0pO1xcblxcbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XFxuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGVsZW1lbnQ7XFxufTtcXG4vKipcXG4gKiBDcmVhdGUgYW5kIHJldHVybiBhIG5ldyBSZWFjdEVsZW1lbnQgb2YgdGhlIGdpdmVuIHR5cGUuXFxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XFxuICovXFxuXFxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XFxuICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcXG5cXG4gIHZhciBwcm9wcyA9IHt9O1xcbiAgdmFyIGtleSA9IG51bGw7XFxuICB2YXIgcmVmID0gbnVsbDtcXG4gIHZhciBzZWxmID0gbnVsbDtcXG4gIHZhciBzb3VyY2UgPSBudWxsO1xcblxcbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XFxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XFxuICAgICAgcmVmID0gY29uZmlnLnJlZjtcXG5cXG4gICAgICB7XFxuICAgICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XFxuICAgIH1cXG5cXG4gICAgc2VsZiA9IGNvbmZpZy5fX3NlbGYgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zZWxmO1xcbiAgICBzb3VyY2UgPSBjb25maWcuX19zb3VyY2UgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zb3VyY2U7IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcXG5cXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcXG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XFxuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSAvLyBDaGlsZHJlbiBjYW4gYmUgbW9yZSB0aGFuIG9uZSBhcmd1bWVudCwgYW5kIHRob3NlIGFyZSB0cmFuc2ZlcnJlZCBvbnRvXFxuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cXG5cXG5cXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xcblxcbiAgaWYgKGNoaWxkcmVuTGVuZ3RoID09PSAxKSB7XFxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XFxuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xcbiAgICB2YXIgY2hpbGRBcnJheSA9IEFycmF5KGNoaWxkcmVuTGVuZ3RoKTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XFxuICAgICAgY2hpbGRBcnJheVtpXSA9IGFyZ3VtZW50c1tpICsgMl07XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGlmIChPYmplY3QuZnJlZXplKSB7XFxuICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkQXJyYXkpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7XFxuICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xcblxcblxcbiAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcXG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xcblxcbiAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xcbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKGtleSB8fCByZWYpIHtcXG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XFxuXFxuICAgICAgaWYgKGtleSkge1xcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHJlZikge1xcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xcbn1cXG5mdW5jdGlvbiBjbG9uZUFuZFJlcGxhY2VLZXkob2xkRWxlbWVudCwgbmV3S2V5KSB7XFxuICB2YXIgbmV3RWxlbWVudCA9IFJlYWN0RWxlbWVudChvbGRFbGVtZW50LnR5cGUsIG5ld0tleSwgb2xkRWxlbWVudC5yZWYsIG9sZEVsZW1lbnQuX3NlbGYsIG9sZEVsZW1lbnQuX3NvdXJjZSwgb2xkRWxlbWVudC5fb3duZXIsIG9sZEVsZW1lbnQucHJvcHMpO1xcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XFxufVxcbi8qKlxcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjY2xvbmVlbGVtZW50XFxuICovXFxuXFxuZnVuY3Rpb24gY2xvbmVFbGVtZW50KGVsZW1lbnQsIGNvbmZpZywgY2hpbGRyZW4pIHtcXG4gIGlmICghIShlbGVtZW50ID09PSBudWxsIHx8IGVsZW1lbnQgPT09IHVuZGVmaW5lZCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgXFxcIiArIGVsZW1lbnQgKyBcXFwiLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHByb3BOYW1lOyAvLyBPcmlnaW5hbCBwcm9wcyBhcmUgY29waWVkXFxuXFxuICB2YXIgcHJvcHMgPSBfYXNzaWduKHt9LCBlbGVtZW50LnByb3BzKTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxcblxcblxcbiAgdmFyIGtleSA9IGVsZW1lbnQua2V5O1xcbiAgdmFyIHJlZiA9IGVsZW1lbnQucmVmOyAvLyBTZWxmIGlzIHByZXNlcnZlZCBzaW5jZSB0aGUgb3duZXIgaXMgcHJlc2VydmVkLlxcblxcbiAgdmFyIHNlbGYgPSBlbGVtZW50Ll9zZWxmOyAvLyBTb3VyY2UgaXMgcHJlc2VydmVkIHNpbmNlIGNsb25lRWxlbWVudCBpcyB1bmxpa2VseSB0byBiZSB0YXJnZXRlZCBieSBhXFxuICAvLyB0cmFuc3BpbGVyLCBhbmQgdGhlIG9yaWdpbmFsIHNvdXJjZSBpcyBwcm9iYWJseSBhIGJldHRlciBpbmRpY2F0b3Igb2YgdGhlXFxuICAvLyB0cnVlIG93bmVyLlxcblxcbiAgdmFyIHNvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTsgLy8gT3duZXIgd2lsbCBiZSBwcmVzZXJ2ZWQsIHVubGVzcyByZWYgaXMgb3ZlcnJpZGRlblxcblxcbiAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XFxuXFxuICBpZiAoY29uZmlnICE9IG51bGwpIHtcXG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcXG4gICAgICAvLyBTaWxlbnRseSBzdGVhbCB0aGUgcmVmIGZyb20gdGhlIHBhcmVudC5cXG4gICAgICByZWYgPSBjb25maWcucmVmO1xcbiAgICAgIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcXG4gICAgfVxcblxcbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xcbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcXG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xcblxcblxcbiAgICB2YXIgZGVmYXVsdFByb3BzO1xcblxcbiAgICBpZiAoZWxlbWVudC50eXBlICYmIGVsZW1lbnQudHlwZS5kZWZhdWx0UHJvcHMpIHtcXG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xcbiAgICB9XFxuXFxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XFxuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBwcm9wTmFtZSkgJiYgIVJFU0VSVkVEX1BST1BTLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkge1xcbiAgICAgICAgaWYgKGNvbmZpZ1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCAmJiBkZWZhdWx0UHJvcHMgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcXG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cXG4gIC8vIHRoZSBuZXdseSBhbGxvY2F0ZWQgcHJvcHMgb2JqZWN0LlxcblxcblxcbiAgdmFyIGNoaWxkcmVuTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCAtIDI7XFxuXFxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcXG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcXG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XFxuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcXG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcXG4gICAgfVxcblxcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7XFxuICB9XFxuXFxuICByZXR1cm4gUmVhY3RFbGVtZW50KGVsZW1lbnQudHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKTtcXG59XFxuLyoqXFxuICogVmVyaWZpZXMgdGhlIG9iamVjdCBpcyBhIFJlYWN0RWxlbWVudC5cXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGBvYmplY3RgIGlzIGEgUmVhY3RFbGVtZW50LlxcbiAqIEBmaW5hbFxcbiAqL1xcblxcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcXG59XFxuXFxudmFyIFNFUEFSQVRPUiA9ICcuJztcXG52YXIgU1VCU0VQQVJBVE9SID0gJzonO1xcbi8qKlxcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IHRvIGJlIGVzY2FwZWQuXFxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXFxuICovXFxuXFxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xcbiAgdmFyIGVzY2FwZVJlZ2V4ID0gL1s9Ol0vZztcXG4gIHZhciBlc2NhcGVyTG9va3VwID0ge1xcbiAgICAnPSc6ICc9MCcsXFxuICAgICc6JzogJz0yJ1xcbiAgfTtcXG4gIHZhciBlc2NhcGVkU3RyaW5nID0gKCcnICsga2V5KS5yZXBsYWNlKGVzY2FwZVJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gpIHtcXG4gICAgcmV0dXJuIGVzY2FwZXJMb29rdXBbbWF0Y2hdO1xcbiAgfSk7XFxuICByZXR1cm4gJyQnICsgZXNjYXBlZFN0cmluZztcXG59XFxuLyoqXFxuICogVE9ETzogVGVzdCB0aGF0IGEgc2luZ2xlIGNoaWxkIGFuZCBhbiBhcnJheSB3aXRoIG9uZSBpdGVtIGhhdmUgdGhlIHNhbWUga2V5XFxuICogcGF0dGVybi5cXG4gKi9cXG5cXG5cXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xcbnZhciB1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCA9IC9cXFxcLysvZztcXG5cXG5mdW5jdGlvbiBlc2NhcGVVc2VyUHJvdmlkZWRLZXkodGV4dCkge1xcbiAgcmV0dXJuICgnJyArIHRleHQpLnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcXG59XFxuXFxudmFyIFBPT0xfU0laRSA9IDEwO1xcbnZhciB0cmF2ZXJzZUNvbnRleHRQb29sID0gW107XFxuXFxuZnVuY3Rpb24gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG1hcFJlc3VsdCwga2V5UHJlZml4LCBtYXBGdW5jdGlvbiwgbWFwQ29udGV4dCkge1xcbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoKSB7XFxuICAgIHZhciB0cmF2ZXJzZUNvbnRleHQgPSB0cmF2ZXJzZUNvbnRleHRQb29sLnBvcCgpO1xcbiAgICB0cmF2ZXJzZUNvbnRleHQucmVzdWx0ID0gbWFwUmVzdWx0O1xcbiAgICB0cmF2ZXJzZUNvbnRleHQua2V5UHJlZml4ID0ga2V5UHJlZml4O1xcbiAgICB0cmF2ZXJzZUNvbnRleHQuZnVuYyA9IG1hcEZ1bmN0aW9uO1xcbiAgICB0cmF2ZXJzZUNvbnRleHQuY29udGV4dCA9IG1hcENvbnRleHQ7XFxuICAgIHRyYXZlcnNlQ29udGV4dC5jb3VudCA9IDA7XFxuICAgIHJldHVybiB0cmF2ZXJzZUNvbnRleHQ7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4ge1xcbiAgICAgIHJlc3VsdDogbWFwUmVzdWx0LFxcbiAgICAgIGtleVByZWZpeDoga2V5UHJlZml4LFxcbiAgICAgIGZ1bmM6IG1hcEZ1bmN0aW9uLFxcbiAgICAgIGNvbnRleHQ6IG1hcENvbnRleHQsXFxuICAgICAgY291bnQ6IDBcXG4gICAgfTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVsZWFzZVRyYXZlcnNlQ29udGV4dCh0cmF2ZXJzZUNvbnRleHQpIHtcXG4gIHRyYXZlcnNlQ29udGV4dC5yZXN1bHQgPSBudWxsO1xcbiAgdHJhdmVyc2VDb250ZXh0LmtleVByZWZpeCA9IG51bGw7XFxuICB0cmF2ZXJzZUNvbnRleHQuZnVuYyA9IG51bGw7XFxuICB0cmF2ZXJzZUNvbnRleHQuY29udGV4dCA9IG51bGw7XFxuICB0cmF2ZXJzZUNvbnRleHQuY291bnQgPSAwO1xcblxcbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoIDwgUE9PTF9TSVpFKSB7XFxuICAgIHRyYXZlcnNlQ29udGV4dFBvb2wucHVzaCh0cmF2ZXJzZUNvbnRleHQpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cXG4gKiBAcGFyYW0geyFzdHJpbmd9IG5hbWVTb0ZhciBOYW1lIG9mIHRoZSBrZXkgcGF0aCBzbyBmYXIuXFxuICogQHBhcmFtIHshZnVuY3Rpb259IGNhbGxiYWNrIENhbGxiYWNrIHRvIGludm9rZSB3aXRoIGVhY2ggY2hpbGQgZm91bmQuXFxuICogQHBhcmFtIHs/Kn0gdHJhdmVyc2VDb250ZXh0IFVzZWQgdG8gcGFzcyBpbmZvcm1hdGlvbiB0aHJvdWdob3V0IHRoZSB0cmF2ZXJzYWxcXG4gKiBwcm9jZXNzLlxcbiAqIEByZXR1cm4geyFudW1iZXJ9IFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gdGhpcyBzdWJ0cmVlLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkcmVuLCBuYW1lU29GYXIsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpIHtcXG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xcblxcbiAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdib29sZWFuJykge1xcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cXG4gICAgY2hpbGRyZW4gPSBudWxsO1xcbiAgfVxcblxcbiAgdmFyIGludm9rZUNhbGxiYWNrID0gZmFsc2U7XFxuXFxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcXG4gICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xcbiAgfSBlbHNlIHtcXG4gICAgc3dpdGNoICh0eXBlKSB7XFxuICAgICAgY2FzZSAnc3RyaW5nJzpcXG4gICAgICBjYXNlICdudW1iZXInOlxcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSAnb2JqZWN0JzpcXG4gICAgICAgIHN3aXRjaCAoY2hpbGRyZW4uJCR0eXBlb2YpIHtcXG4gICAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XFxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XFxuICAgICAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xcbiAgICAgICAgfVxcblxcbiAgICB9XFxuICB9XFxuXFxuICBpZiAoaW52b2tlQ2FsbGJhY2spIHtcXG4gICAgY2FsbGJhY2sodHJhdmVyc2VDb250ZXh0LCBjaGlsZHJlbiwgLy8gSWYgaXQncyB0aGUgb25seSBjaGlsZCwgdHJlYXQgdGhlIG5hbWUgYXMgaWYgaXQgd2FzIHdyYXBwZWQgaW4gYW4gYXJyYXlcXG4gICAgLy8gc28gdGhhdCBpdCdzIGNvbnNpc3RlbnQgaWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBncm93cy5cXG4gICAgbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiArIGdldENvbXBvbmVudEtleShjaGlsZHJlbiwgMCkgOiBuYW1lU29GYXIpO1xcbiAgICByZXR1cm4gMTtcXG4gIH1cXG5cXG4gIHZhciBjaGlsZDtcXG4gIHZhciBuZXh0TmFtZTtcXG4gIHZhciBzdWJ0cmVlQ291bnQgPSAwOyAvLyBDb3VudCBvZiBjaGlsZHJlbiBmb3VuZCBpbiB0aGUgY3VycmVudCBzdWJ0cmVlLlxcblxcbiAgdmFyIG5leHROYW1lUHJlZml4ID0gbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiA6IG5hbWVTb0ZhciArIFNVQlNFUEFSQVRPUjtcXG5cXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcXG4gICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpKTtcXG4gICAgICBzdWJ0cmVlQ291bnQgKz0gdHJhdmVyc2VBbGxDaGlsZHJlbkltcGwoY2hpbGQsIG5leHROYW1lLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcXG5cXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XFxuXFxuICAgICAge1xcbiAgICAgICAgLy8gV2FybiBhYm91dCB1c2luZyBNYXBzIGFzIGNoaWxkcmVuXFxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gY2hpbGRyZW4uZW50cmllcykge1xcbiAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dE1hcHMpIHtcXG4gICAgICAgICAgICB3YXJuKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiAnICsgJ2EgZnV0dXJlIG1ham9yIHJlbGVhc2UuIENvbnNpZGVyIGNvbnZlcnRpbmcgY2hpbGRyZW4gdG8gJyArICdhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XFxuICAgICAgdmFyIHN0ZXA7XFxuICAgICAgdmFyIGlpID0gMDtcXG5cXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XFxuICAgICAgICBjaGlsZCA9IHN0ZXAudmFsdWU7XFxuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpaSsrKTtcXG4gICAgICAgIHN1YnRyZWVDb3VudCArPSB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZCwgbmV4dE5hbWUsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xcblxcbiAgICAgIHtcXG4gICAgICAgIGFkZGVuZHVtID0gJyBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nICsgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9ICcnICsgY2hpbGRyZW47XFxuXFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXFxcIiArIChjaGlsZHJlblN0cmluZyA9PT0gJ1tvYmplY3QgT2JqZWN0XScgPyAnb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNoaWxkcmVuKS5qb2luKCcsICcpICsgJ30nIDogY2hpbGRyZW5TdHJpbmcpICsgXFxcIikuXFxcIiArIGFkZGVuZHVtICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gc3VidHJlZUNvdW50O1xcbn1cXG4vKipcXG4gKiBUcmF2ZXJzZXMgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLCBidXRcXG4gKiBtaWdodCBhbHNvIGJlIHNwZWNpZmllZCB0aHJvdWdoIGF0dHJpYnV0ZXM6XFxuICpcXG4gKiAtIGB0cmF2ZXJzZUFsbENoaWxkcmVuKHRoaXMucHJvcHMuY2hpbGRyZW4sIC4uLilgXFxuICogLSBgdHJhdmVyc2VBbGxDaGlsZHJlbih0aGlzLnByb3BzLmxlZnRQYW5lbENoaWxkcmVuLCAuLi4pYFxcbiAqXFxuICogVGhlIGB0cmF2ZXJzZUNvbnRleHRgIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgaXMgcGFzc2VkIHRocm91Z2ggdGhlXFxuICogZW50aXJlIHRyYXZlcnNhbC4gSXQgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYWNjdW11bGF0aW9ucyBvciBhbnl0aGluZyBlbHNlIHRoYXRcXG4gKiB0aGUgY2FsbGJhY2sgbWlnaHQgZmluZCByZWxldmFudC5cXG4gKlxcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgb2JqZWN0LlxcbiAqIEBwYXJhbSB7IWZ1bmN0aW9ufSBjYWxsYmFjayBUbyBpbnZva2UgdXBvbiB0cmF2ZXJzaW5nIGVhY2ggY2hpbGQuXFxuICogQHBhcmFtIHs/Kn0gdHJhdmVyc2VDb250ZXh0IENvbnRleHQgZm9yIHRyYXZlcnNhbC5cXG4gKiBAcmV0dXJuIHshbnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuIGluIHRoaXMgc3VidHJlZS5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiB0cmF2ZXJzZUFsbENoaWxkcmVuKGNoaWxkcmVuLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KSB7XFxuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xcbiAgICByZXR1cm4gMDtcXG4gIH1cXG5cXG4gIHJldHVybiB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZHJlbiwgJycsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xcbn1cXG4vKipcXG4gKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGEgY29tcG9uZW50IHdpdGhpbiBhIHNldC5cXG4gKlxcbiAqIEBwYXJhbSB7Kn0gY29tcG9uZW50IEEgY29tcG9uZW50IHRoYXQgY291bGQgY29udGFpbiBhIG1hbnVhbCBrZXkuXFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IEluZGV4IHRoYXQgaXMgdXNlZCBpZiBhIG1hbnVhbCBrZXkgaXMgbm90IHByb3ZpZGVkLlxcbiAqIEByZXR1cm4ge3N0cmluZ31cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xcbiAgLy8gRG8gc29tZSB0eXBlY2hlY2tpbmcgaGVyZSBzaW5jZSB3ZSBjYWxsIHRoaXMgYmxpbmRseS4gV2Ugd2FudCB0byBlbnN1cmVcXG4gIC8vIHRoYXQgd2UgZG9uJ3QgYmxvY2sgcG90ZW50aWFsIGZ1dHVyZSBFUyBBUElzLlxcbiAgaWYgKHR5cGVvZiBjb21wb25lbnQgPT09ICdvYmplY3QnICYmIGNvbXBvbmVudCAhPT0gbnVsbCAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcXG4gICAgLy8gRXhwbGljaXQga2V5XFxuICAgIHJldHVybiBlc2NhcGUoY29tcG9uZW50LmtleSk7XFxuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XFxuXFxuXFxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xcbn1cXG5cXG5mdW5jdGlvbiBmb3JFYWNoU2luZ2xlQ2hpbGQoYm9va0tlZXBpbmcsIGNoaWxkLCBuYW1lKSB7XFxuICB2YXIgZnVuYyA9IGJvb2tLZWVwaW5nLmZ1bmMsXFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XFxuICBmdW5jLmNhbGwoY29udGV4dCwgY2hpbGQsIGJvb2tLZWVwaW5nLmNvdW50KyspO1xcbn1cXG4vKipcXG4gKiBJdGVyYXRlcyB0aHJvdWdoIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYC5cXG4gKlxcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcXG4gKlxcbiAqIFRoZSBwcm92aWRlZCBmb3JFYWNoRnVuYyhjaGlsZCwgaW5kZXgpIHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoXFxuICogbGVhZiBjaGlsZC5cXG4gKlxcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcXG4gKiBAcGFyYW0geyp9IGZvckVhY2hDb250ZXh0IENvbnRleHQgZm9yIGZvckVhY2hDb250ZXh0LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGZvckVhY2hDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KSB7XFxuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xcbiAgICByZXR1cm4gY2hpbGRyZW47XFxuICB9XFxuXFxuICB2YXIgdHJhdmVyc2VDb250ZXh0ID0gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG51bGwsIG51bGwsIGZvckVhY2hGdW5jLCBmb3JFYWNoQ29udGV4dCk7XFxuICB0cmF2ZXJzZUFsbENoaWxkcmVuKGNoaWxkcmVuLCBmb3JFYWNoU2luZ2xlQ2hpbGQsIHRyYXZlcnNlQ29udGV4dCk7XFxuICByZWxlYXNlVHJhdmVyc2VDb250ZXh0KHRyYXZlcnNlQ29udGV4dCk7XFxufVxcblxcbmZ1bmN0aW9uIG1hcFNpbmdsZUNoaWxkSW50b0NvbnRleHQoYm9va0tlZXBpbmcsIGNoaWxkLCBjaGlsZEtleSkge1xcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdCxcXG4gICAgICBrZXlQcmVmaXggPSBib29rS2VlcGluZy5rZXlQcmVmaXgsXFxuICAgICAgZnVuYyA9IGJvb2tLZWVwaW5nLmZ1bmMsXFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XFxuICB2YXIgbWFwcGVkQ2hpbGQgPSBmdW5jLmNhbGwoY29udGV4dCwgY2hpbGQsIGJvb2tLZWVwaW5nLmNvdW50KyspO1xcblxcbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XFxuICAgIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwobWFwcGVkQ2hpbGQsIHJlc3VsdCwgY2hpbGRLZXksIGZ1bmN0aW9uIChjKSB7XFxuICAgICAgcmV0dXJuIGM7XFxuICAgIH0pO1xcbiAgfSBlbHNlIGlmIChtYXBwZWRDaGlsZCAhPSBudWxsKSB7XFxuICAgIGlmIChpc1ZhbGlkRWxlbWVudChtYXBwZWRDaGlsZCkpIHtcXG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShtYXBwZWRDaGlsZCwgLy8gS2VlcCBib3RoIHRoZSAobWFwcGVkKSBhbmQgb2xkIGtleXMgaWYgdGhleSBkaWZmZXIsIGp1c3QgYXNcXG4gICAgICAvLyB0cmF2ZXJzZUFsbENoaWxkcmVuIHVzZWQgdG8gZG8gZm9yIG9iamVjdHMgYXMgY2hpbGRyZW5cXG4gICAgICBrZXlQcmVmaXggKyAobWFwcGVkQ2hpbGQua2V5ICYmICghY2hpbGQgfHwgY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpID8gZXNjYXBlVXNlclByb3ZpZGVkS2V5KG1hcHBlZENoaWxkLmtleSkgKyAnLycgOiAnJykgKyBjaGlsZEtleSk7XFxuICAgIH1cXG5cXG4gICAgcmVzdWx0LnB1c2gobWFwcGVkQ2hpbGQpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCBhcnJheSwgcHJlZml4LCBmdW5jLCBjb250ZXh0KSB7XFxuICB2YXIgZXNjYXBlZFByZWZpeCA9ICcnO1xcblxcbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XFxuICAgIGVzY2FwZWRQcmVmaXggPSBlc2NhcGVVc2VyUHJvdmlkZWRLZXkocHJlZml4KSArICcvJztcXG4gIH1cXG5cXG4gIHZhciB0cmF2ZXJzZUNvbnRleHQgPSBnZXRQb29sZWRUcmF2ZXJzZUNvbnRleHQoYXJyYXksIGVzY2FwZWRQcmVmaXgsIGZ1bmMsIGNvbnRleHQpO1xcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgbWFwU2luZ2xlQ2hpbGRJbnRvQ29udGV4dCwgdHJhdmVyc2VDb250ZXh0KTtcXG4gIHJlbGVhc2VUcmF2ZXJzZUNvbnRleHQodHJhdmVyc2VDb250ZXh0KTtcXG59XFxuLyoqXFxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXFxuICpcXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5tYXBcXG4gKlxcbiAqIFRoZSBwcm92aWRlZCBtYXBGdW5jdGlvbihjaGlsZCwga2V5LCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcXG4gKiBsZWFmIGNoaWxkLlxcbiAqXFxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXFxuICogQHBhcmFtIHtmdW5jdGlvbigqLCBpbnQpfSBmdW5jIFRoZSBtYXAgZnVuY3Rpb24uXFxuICogQHBhcmFtIHsqfSBjb250ZXh0IENvbnRleHQgZm9yIG1hcEZ1bmN0aW9uLlxcbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gbWFwQ2hpbGRyZW4oY2hpbGRyZW4sIGZ1bmMsIGNvbnRleHQpIHtcXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XFxuICAgIHJldHVybiBjaGlsZHJlbjtcXG4gIH1cXG5cXG4gIHZhciByZXN1bHQgPSBbXTtcXG4gIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIHJlc3VsdCwgbnVsbCwgZnVuYywgY29udGV4dCk7XFxuICByZXR1cm4gcmVzdWx0O1xcbn1cXG4vKipcXG4gKiBDb3VudCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXNcXG4gKiBgcHJvcHMuY2hpbGRyZW5gLlxcbiAqXFxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVuY291bnRcXG4gKlxcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxcbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiBjaGlsZHJlbi5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBjb3VudENoaWxkcmVuKGNoaWxkcmVuKSB7XFxuICByZXR1cm4gdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0sIG51bGwpO1xcbn1cXG4vKipcXG4gKiBGbGF0dGVuIGEgY2hpbGRyZW4gb2JqZWN0ICh0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmApIGFuZFxcbiAqIHJldHVybiBhbiBhcnJheSB3aXRoIGFwcHJvcHJpYXRlbHkgcmUta2V5ZWQgY2hpbGRyZW4uXFxuICpcXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW50b2FycmF5XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdG9BcnJheShjaGlsZHJlbikge1xcbiAgdmFyIHJlc3VsdCA9IFtdO1xcbiAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChjaGlsZHJlbiwgcmVzdWx0LCBudWxsLCBmdW5jdGlvbiAoY2hpbGQpIHtcXG4gICAgcmV0dXJuIGNoaWxkO1xcbiAgfSk7XFxuICByZXR1cm4gcmVzdWx0O1xcbn1cXG4vKipcXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcXG4gKiBpcyBvbmx5IG9uZSBjaGlsZCBpbiB0aGUgY29sbGVjdGlvbi5cXG4gKlxcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcXG4gKlxcbiAqIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGEgc2luZ2xlIGNoaWxkIGdldHNcXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xcbiAqIGFic3RyYWN0IGF3YXkgdGhlIHBhcnRpY3VsYXIgc3RydWN0dXJlIG9mIGNoaWxkcmVuLlxcbiAqXFxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cXG4gKiBAcmV0dXJuIHtSZWFjdEVsZW1lbnR9IFRoZSBmaXJzdCBhbmQgb25seSBgUmVhY3RFbGVtZW50YCBjb250YWluZWQgaW4gdGhlXFxuICogc3RydWN0dXJlLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xcbiAgaWYgKCFpc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gY2hpbGRyZW47XFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlLCBjYWxjdWxhdGVDaGFuZ2VkQml0cykge1xcbiAgaWYgKGNhbGN1bGF0ZUNoYW5nZWRCaXRzID09PSB1bmRlZmluZWQpIHtcXG4gICAgY2FsY3VsYXRlQ2hhbmdlZEJpdHMgPSBudWxsO1xcbiAgfSBlbHNlIHtcXG4gICAge1xcbiAgICAgIGlmIChjYWxjdWxhdGVDaGFuZ2VkQml0cyAhPT0gbnVsbCAmJiB0eXBlb2YgY2FsY3VsYXRlQ2hhbmdlZEJpdHMgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIGVycm9yKCdjcmVhdGVDb250ZXh0OiBFeHBlY3RlZCB0aGUgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMnLCBjYWxjdWxhdGVDaGFuZ2VkQml0cyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgY29udGV4dCA9IHtcXG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcXG4gICAgX2NhbGN1bGF0ZUNoYW5nZWRCaXRzOiBjYWxjdWxhdGVDaGFuZ2VkQml0cyxcXG4gICAgLy8gQXMgYSB3b3JrYXJvdW5kIHRvIHN1cHBvcnQgbXVsdGlwbGUgY29uY3VycmVudCByZW5kZXJlcnMsIHdlIGNhdGVnb3JpemVcXG4gICAgLy8gc29tZSByZW5kZXJlcnMgYXMgcHJpbWFyeSBhbmQgb3RoZXJzIGFzIHNlY29uZGFyeS4gV2Ugb25seSBleHBlY3RcXG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXFxuICAgIC8vIEZhYnJpYyAoc2Vjb25kYXJ5KTsgUmVhY3QgRE9NIChwcmltYXJ5KSBhbmQgUmVhY3QgQVJUIChzZWNvbmRhcnkpLlxcbiAgICAvLyBTZWNvbmRhcnkgcmVuZGVyZXJzIHN0b3JlIHRoZWlyIGNvbnRleHQgdmFsdWVzIG9uIHNlcGFyYXRlIGZpZWxkcy5cXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxcbiAgICBfY3VycmVudFZhbHVlMjogZGVmYXVsdFZhbHVlLFxcbiAgICAvLyBVc2VkIHRvIHRyYWNrIGhvdyBtYW55IGNvbmN1cnJlbnQgcmVuZGVyZXJzIHRoaXMgY29udGV4dCBjdXJyZW50bHlcXG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXFxuICAgIF90aHJlYWRDb3VudDogMCxcXG4gICAgLy8gVGhlc2UgYXJlIGNpcmN1bGFyXFxuICAgIFByb3ZpZGVyOiBudWxsLFxcbiAgICBDb25zdW1lcjogbnVsbFxcbiAgfTtcXG4gIGNvbnRleHQuUHJvdmlkZXIgPSB7XFxuICAgICQkdHlwZW9mOiBSRUFDVF9QUk9WSURFUl9UWVBFLFxcbiAgICBfY29udGV4dDogY29udGV4dFxcbiAgfTtcXG4gIHZhciBoYXNXYXJuZWRBYm91dFVzaW5nTmVzdGVkQ29udGV4dENvbnN1bWVycyA9IGZhbHNlO1xcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XFxuXFxuICB7XFxuICAgIC8vIEEgc2VwYXJhdGUgb2JqZWN0LCBidXQgcHJveGllcyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBjb250ZXh0IG9iamVjdCBmb3JcXG4gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIEl0IGhhcyBhIGRpZmZlcmVudCAkJHR5cGVvZiwgc28gd2UgY2FuIHByb3Blcmx5XFxuICAgIC8vIHdhcm4gZm9yIHRoZSBpbmNvcnJlY3QgdXNhZ2Ugb2YgQ29udGV4dCBhcyBhIENvbnN1bWVyLlxcbiAgICB2YXIgQ29uc3VtZXIgPSB7XFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcXG4gICAgICBfY29udGV4dDogY29udGV4dCxcXG4gICAgICBfY2FsY3VsYXRlQ2hhbmdlZEJpdHM6IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzXFxuICAgIH07IC8vICRGbG93Rml4TWU6IEZsb3cgY29tcGxhaW5zIGFib3V0IG5vdCBzZXR0aW5nIGEgdmFsdWUsIHdoaWNoIGlzIGludGVudGlvbmFsIGhlcmVcXG5cXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcXG4gICAgICBQcm92aWRlcjoge1xcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcXG4gICAgICAgICAgICBoYXNXYXJuZWRBYm91dFVzaW5nQ29uc3VtZXJQcm92aWRlciA9IHRydWU7XFxuXFxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcXG4gICAgICAgIH0sXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfUHJvdmlkZXIpIHtcXG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlO1xcbiAgICAgICAgfSxcXG4gICAgICAgIHNldDogZnVuY3Rpb24gKF9jdXJyZW50VmFsdWUpIHtcXG4gICAgICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gX2N1cnJlbnRWYWx1ZTtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIF9jdXJyZW50VmFsdWUyOiB7XFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTI7XFxuICAgICAgICB9LFxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcXG4gICAgICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlMiA9IF9jdXJyZW50VmFsdWUyO1xcbiAgICAgICAgfVxcbiAgICAgIH0sXFxuICAgICAgX3RocmVhZENvdW50OiB7XFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xcbiAgICAgICAgfSxcXG4gICAgICAgIHNldDogZnVuY3Rpb24gKF90aHJlYWRDb3VudCkge1xcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIENvbnN1bWVyOiB7XFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgaWYgKCFoYXNXYXJuZWRBYm91dFVzaW5nTmVzdGVkQ29udGV4dENvbnN1bWVycykge1xcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0LkNvbnN1bWVyLkNvbnN1bWVyPiBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiBjb250ZXh0LkNvbnN1bWVyO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSk7IC8vICRGbG93Rml4TWU6IEZsb3cgY29tcGxhaW5zIGFib3V0IG1pc3NpbmcgcHJvcGVydGllcyBiZWNhdXNlIGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCBkZWZpbmVQcm9wZXJ0eVxcblxcbiAgICBjb250ZXh0LkNvbnN1bWVyID0gQ29uc3VtZXI7XFxuICB9XFxuXFxuICB7XFxuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciA9IG51bGw7XFxuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xcbiAgfVxcblxcbiAgcmV0dXJuIGNvbnRleHQ7XFxufVxcblxcbmZ1bmN0aW9uIGxhenkoY3Rvcikge1xcbiAgdmFyIGxhenlUeXBlID0ge1xcbiAgICAkJHR5cGVvZjogUkVBQ1RfTEFaWV9UWVBFLFxcbiAgICBfY3RvcjogY3RvcixcXG4gICAgLy8gUmVhY3QgdXNlcyB0aGVzZSBmaWVsZHMgdG8gc3RvcmUgdGhlIHJlc3VsdC5cXG4gICAgX3N0YXR1czogLTEsXFxuICAgIF9yZXN1bHQ6IG51bGxcXG4gIH07XFxuXFxuICB7XFxuICAgIC8vIEluIHByb2R1Y3Rpb24sIHRoaXMgd291bGQganVzdCBzZXQgaXQgb24gdGhlIG9iamVjdC5cXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcXG4gICAgdmFyIHByb3BUeXBlcztcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobGF6eVR5cGUsIHtcXG4gICAgICBkZWZhdWx0UHJvcHM6IHtcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICByZXR1cm4gZGVmYXVsdFByb3BzO1xcbiAgICAgICAgfSxcXG4gICAgICAgIHNldDogZnVuY3Rpb24gKG5ld0RlZmF1bHRQcm9wcykge1xcbiAgICAgICAgICBlcnJvcignUmVhY3QubGF6eSguLi4pOiBJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIGFzc2lnbiBgZGVmYXVsdFByb3BzYCB0byAnICsgJ2EgbGF6eSBjb21wb25lbnQgaW1wb3J0LiBFaXRoZXIgc3BlY2lmeSB0aGVtIHdoZXJlIHRoZSBjb21wb25lbnQgJyArICdpcyBkZWZpbmVkLCBvciBjcmVhdGUgYSB3cmFwcGluZyBjb21wb25lbnQgYXJvdW5kIGl0LicpO1xcblxcbiAgICAgICAgICBkZWZhdWx0UHJvcHMgPSBuZXdEZWZhdWx0UHJvcHM7IC8vIE1hdGNoIHByb2R1Y3Rpb24gYmVoYXZpb3IgbW9yZSBjbG9zZWx5OlxcblxcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobGF6eVR5cGUsICdkZWZhdWx0UHJvcHMnLCB7XFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxcbiAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIHByb3BUeXBlczoge1xcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIHJldHVybiBwcm9wVHlwZXM7XFxuICAgICAgICB9LFxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3UHJvcFR5cGVzKSB7XFxuICAgICAgICAgIGVycm9yKCdSZWFjdC5sYXp5KC4uLik6IEl0IGlzIG5vdCBzdXBwb3J0ZWQgdG8gYXNzaWduIGBwcm9wVHlwZXNgIHRvICcgKyAnYSBsYXp5IGNvbXBvbmVudCBpbXBvcnQuIEVpdGhlciBzcGVjaWZ5IHRoZW0gd2hlcmUgdGhlIGNvbXBvbmVudCAnICsgJ2lzIGRlZmluZWQsIG9yIGNyZWF0ZSBhIHdyYXBwaW5nIGNvbXBvbmVudCBhcm91bmQgaXQuJyk7XFxuXFxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XFxuXFxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5VHlwZSwgJ3Byb3BUeXBlcycsIHtcXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXFxuICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSk7XFxuICB9XFxuXFxuICByZXR1cm4gbGF6eVR5cGU7XFxufVxcblxcbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XFxuICB7XFxuICAgIGlmIChyZW5kZXIgIT0gbnVsbCAmJiByZW5kZXIuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSkge1xcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVuZGVyICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVxdWlyZXMgYSByZW5kZXIgZnVuY3Rpb24gYnV0IHdhcyBnaXZlbiAlcy4nLCByZW5kZXIgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgcmVuZGVyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAocmVuZGVyLmxlbmd0aCAhPT0gMCAmJiByZW5kZXIubGVuZ3RoICE9PSAyKSB7XFxuICAgICAgICBlcnJvcignZm9yd2FyZFJlZiByZW5kZXIgZnVuY3Rpb25zIGFjY2VwdCBleGFjdGx5IHR3byBwYXJhbWV0ZXJzOiBwcm9wcyBhbmQgcmVmLiAlcycsIHJlbmRlci5sZW5ndGggPT09IDEgPyAnRGlkIHlvdSBmb3JnZXQgdG8gdXNlIHRoZSByZWYgcGFyYW1ldGVyPycgOiAnQW55IGFkZGl0aW9uYWwgcGFyYW1ldGVyIHdpbGwgYmUgdW5kZWZpbmVkLicpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcXG4gICAgICBpZiAocmVuZGVyLmRlZmF1bHRQcm9wcyAhPSBudWxsIHx8IHJlbmRlci5wcm9wVHlwZXMgIT0gbnVsbCkge1xcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBkbyBub3Qgc3VwcG9ydCBwcm9wVHlwZXMgb3IgZGVmYXVsdFByb3BzLiAnICsgJ0RpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgYSBSZWFjdCBjb21wb25lbnQ/Jyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcXG4gICAgcmVuZGVyOiByZW5kZXJcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XFxuICByZXR1cm4gdHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nIHx8IC8vIE5vdGU6IGl0cyB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyBpZiBpdCdzIGEgcG9seWZpbGwuXFxuICB0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUkVTUE9OREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfU0NPUEVfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9CTE9DS19UWVBFKTtcXG59XFxuXFxuZnVuY3Rpb24gbWVtbyh0eXBlLCBjb21wYXJlKSB7XFxuICB7XFxuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XFxuICAgICAgZXJyb3IoJ21lbW86IFRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgY29tcG9uZW50LiBJbnN0ZWFkICcgKyAncmVjZWl2ZWQ6ICVzJywgdHlwZSA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiB0eXBlKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHtcXG4gICAgJCR0eXBlb2Y6IFJFQUNUX01FTU9fVFlQRSxcXG4gICAgdHlwZTogdHlwZSxcXG4gICAgY29tcGFyZTogY29tcGFyZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbXBhcmVcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIHJlc29sdmVEaXNwYXRjaGVyKCkge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuXFxuICBpZiAoIShkaXNwYXRjaGVyICE9PSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJbnZhbGlkIGhvb2sgY2FsbC4gSG9va3MgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBvZiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxcXG4xLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXFxcbjIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXFxcbjMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXFxcblNlZSBodHRwczovL2ZiLm1lL3JlYWN0LWludmFsaWQtaG9vay1jYWxsIGZvciB0aXBzIGFib3V0IGhvdyB0byBkZWJ1ZyBhbmQgZml4IHRoaXMgcHJvYmxlbS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBkaXNwYXRjaGVyO1xcbn1cXG5cXG5mdW5jdGlvbiB1c2VDb250ZXh0KENvbnRleHQsIHVuc3RhYmxlX29ic2VydmVkQml0cykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcblxcbiAge1xcbiAgICBpZiAodW5zdGFibGVfb2JzZXJ2ZWRCaXRzICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICBlcnJvcigndXNlQ29udGV4dCgpIHNlY29uZCBhcmd1bWVudCBpcyByZXNlcnZlZCBmb3IgZnV0dXJlICcgKyAndXNlIGluIFJlYWN0LiBQYXNzaW5nIGl0IGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnWW91IHBhc3NlZDogJXMuJXMnLCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMsIHR5cGVvZiB1bnN0YWJsZV9vYnNlcnZlZEJpdHMgPT09ICdudW1iZXInICYmIEFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzJdKSA/ICdcXFxcblxcXFxuRGlkIHlvdSBjYWxsIGFycmF5Lm1hcCh1c2VDb250ZXh0KT8gJyArICdDYWxsaW5nIEhvb2tzIGluc2lkZSBhIGxvb3AgaXMgbm90IHN1cHBvcnRlZC4gJyArICdMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcnVsZXMtb2YtaG9va3MnIDogJycpO1xcbiAgICB9IC8vIFRPRE86IGFkZCBhIG1vcmUgZ2VuZXJpYyB3YXJuaW5nIGZvciBpbnZhbGlkIHZhbHVlcy5cXG5cXG5cXG4gICAgaWYgKENvbnRleHQuX2NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcXG4gICAgICAvLyBhbmQgbm9ib2R5IHNob3VsZCBiZSB1c2luZyB0aGlzIGluIGV4aXN0aW5nIGNvZGUuXFxuXFxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XFxuICAgICAgICBlcnJvcignQ2FsbGluZyB1c2VDb250ZXh0KENvbnRleHQuQ29uc3VtZXIpIGlzIG5vdCBzdXBwb3J0ZWQsIG1heSBjYXVzZSBidWdzLCBhbmQgd2lsbCBiZSAnICsgJ3JlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIGNhbGwgdXNlQ29udGV4dChDb250ZXh0KSBpbnN0ZWFkPycpO1xcbiAgICAgIH0gZWxzZSBpZiAocmVhbENvbnRleHQuUHJvdmlkZXIgPT09IENvbnRleHQpIHtcXG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDb250ZXh0KENvbnRleHQsIHVuc3RhYmxlX29ic2VydmVkQml0cyk7XFxufVxcbmZ1bmN0aW9uIHVzZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlU3RhdGUoaW5pdGlhbFN0YXRlKTtcXG59XFxuZnVuY3Rpb24gdXNlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XFxuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xcbn1cXG5mdW5jdGlvbiB1c2VSZWYoaW5pdGlhbFZhbHVlKSB7XFxuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWYoaW5pdGlhbFZhbHVlKTtcXG59XFxuZnVuY3Rpb24gdXNlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxufVxcbmZ1bmN0aW9uIHVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcXG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcXG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbn1cXG5mdW5jdGlvbiB1c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xcbn1cXG5mdW5jdGlvbiB1c2VNZW1vKGNyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlTWVtbyhjcmVhdGUsIGRlcHMpO1xcbn1cXG5mdW5jdGlvbiB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKSB7XFxuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG59XFxuZnVuY3Rpb24gdXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcXG4gIHtcXG4gICAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbik7XFxuICB9XFxufVxcblxcbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcXG5cXG57XFxuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XFxuICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcXG5cXG4gICAgaWYgKG5hbWUpIHtcXG4gICAgICByZXR1cm4gJ1xcXFxuXFxcXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gJyc7XFxufVxcblxcbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtKHNvdXJjZSkge1xcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcXFxcXFxcL10vLCAnJyk7XFxuICAgIHZhciBsaW5lTnVtYmVyID0gc291cmNlLmxpbmVOdW1iZXI7XFxuICAgIHJldHVybiAnXFxcXG5cXFxcbkNoZWNrIHlvdXIgY29kZSBhdCAnICsgZmlsZU5hbWUgKyAnOicgKyBsaW5lTnVtYmVyICsgJy4nO1xcbiAgfVxcblxcbiAgcmV0dXJuICcnO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKGVsZW1lbnRQcm9wcykge1xcbiAgaWYgKGVsZW1lbnRQcm9wcyAhPT0gbnVsbCAmJiBlbGVtZW50UHJvcHMgIT09IHVuZGVmaW5lZCkge1xcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcXG4gIH1cXG5cXG4gIHJldHVybiAnJztcXG59XFxuLyoqXFxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxcbiAqIG9iamVjdCBrZXlzIGFyZSBub3QgdmFsaWQuIFRoaXMgYWxsb3dzIHVzIHRvIGtlZXAgdHJhY2sgb2YgY2hpbGRyZW4gYmV0d2VlblxcbiAqIHVwZGF0ZXMuXFxuICovXFxuXFxuXFxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xcblxcbmZ1bmN0aW9uIGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSkge1xcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcXG5cXG4gIGlmICghaW5mbykge1xcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcXG5cXG4gICAgaWYgKHBhcmVudE5hbWUpIHtcXG4gICAgICBpbmZvID0gXFxcIlxcXFxuXFxcXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcXFwiICsgcGFyZW50TmFtZSArIFxcXCI+LlxcXCI7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBpbmZvO1xcbn1cXG4vKipcXG4gKiBXYXJuIGlmIHRoZSBlbGVtZW50IGRvZXNuJ3QgaGF2ZSBhbiBleHBsaWNpdCBrZXkgYXNzaWduZWQgdG8gaXQuXFxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXFxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXFxuICogaGF2ZSBhIFxcXCJrZXlcXFwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxcbiAqXFxuICogQGludGVybmFsXFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxcbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBlbGVtZW50J3MgcGFyZW50J3MgdHlwZS5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcXG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcXG4gIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcXG5cXG4gIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dID0gdHJ1ZTsgLy8gVXN1YWxseSB0aGUgY3VycmVudCBvd25lciBpcyB0aGUgb2ZmZW5kZXIsIGJ1dCBpZiBpdCBhY2NlcHRzIGNoaWxkcmVuIGFzIGFcXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcXG4gIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cXG5cXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XFxuXFxuICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cXG4gICAgY2hpbGRPd25lciA9IFxcXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXFxcIiArIGdldENvbXBvbmVudE5hbWUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcXFwiLlxcXCI7XFxuICB9XFxuXFxuICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcXG5cXG4gIHtcXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFxcXCJrZXlcXFwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmcta2V5cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLCBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvLCBjaGlsZE93bmVyKTtcXG4gIH1cXG5cXG4gIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xcbn1cXG4vKipcXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXFxuICogYXJyYXkgd2l0aCBhbiBleHBsaWNpdCBrZXlzIHByb3BlcnR5IGRlZmluZWQsIG9yIGluIGFuIG9iamVjdCBsaXRlcmFsXFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXFxuICpcXG4gKiBAaW50ZXJuYWxcXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEtleXMobm9kZSwgcGFyZW50VHlwZSkge1xcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoQXJyYXkuaXNBcnJheShub2RlKSkge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xcblxcbiAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChjaGlsZCkpIHtcXG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xcbiAgICAvLyBUaGlzIGVsZW1lbnQgd2FzIHBhc3NlZCBpbiBhIHZhbGlkIGxvY2F0aW9uLlxcbiAgICBpZiAobm9kZS5fc3RvcmUpIHtcXG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xcbiAgICB9XFxuICB9IGVsc2UgaWYgKG5vZGUpIHtcXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xcblxcbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXFxuICAgICAgLy8gYnV0IG5vdyB3ZSBwcmludCBhIHNlcGFyYXRlIHdhcm5pbmcgZm9yIHRoZW0gbGF0ZXIuXFxuICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xcbiAgICAgICAgdmFyIHN0ZXA7XFxuXFxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XFxuICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xcbiAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuLyoqXFxuICogR2l2ZW4gYW4gZWxlbWVudCwgdmFsaWRhdGUgdGhhdCBpdHMgcHJvcHMgZm9sbG93IHRoZSBwcm9wVHlwZXMgZGVmaW5pdGlvbixcXG4gKiBwcm92aWRlZCBieSB0aGUgdHlwZS5cXG4gKlxcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBlbGVtZW50XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wVHlwZXMoZWxlbWVudCkge1xcbiAge1xcbiAgICB2YXIgdHlwZSA9IGVsZW1lbnQudHlwZTtcXG5cXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUodHlwZSk7XFxuICAgIHZhciBwcm9wVHlwZXM7XFxuXFxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBOb3RlOiBNZW1vIG9ubHkgY2hlY2tzIG91dGVyIHByb3BzIGhlcmUuXFxuICAgIC8vIElubmVyIHByb3BzIGFyZSBjaGVja2VkIGluIHRoZSByZWNvbmNpbGVyLlxcbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XFxuICAgICAgcHJvcFR5cGVzID0gdHlwZS5wcm9wVHlwZXM7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmIChwcm9wVHlwZXMpIHtcXG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcXG4gICAgICBjaGVja1Byb3BUeXBlcyhwcm9wVHlwZXMsIGVsZW1lbnQucHJvcHMsICdwcm9wJywgbmFtZSwgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKTtcXG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlLlByb3BUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bikge1xcbiAgICAgIHByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duID0gdHJ1ZTtcXG5cXG4gICAgICBlcnJvcignQ29tcG9uZW50ICVzIGRlY2xhcmVkIGBQcm9wVHlwZXNgIGluc3RlYWQgb2YgYHByb3BUeXBlc2AuIERpZCB5b3UgbWlzc3BlbGwgdGhlIHByb3BlcnR5IGFzc2lnbm1lbnQ/JywgbmFtZSB8fCAnVW5rbm93bicpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgdHlwZS5nZXREZWZhdWx0UHJvcHMgPT09ICdmdW5jdGlvbicgJiYgIXR5cGUuZ2V0RGVmYXVsdFByb3BzLmlzUmVhY3RDbGFzc0FwcHJvdmVkKSB7XFxuICAgICAgZXJyb3IoJ2dldERlZmF1bHRQcm9wcyBpcyBvbmx5IHVzZWQgb24gY2xhc3NpYyBSZWFjdC5jcmVhdGVDbGFzcyAnICsgJ2RlZmluaXRpb25zLiBVc2UgYSBzdGF0aWMgcHJvcGVydHkgbmFtZWQgYGRlZmF1bHRQcm9wc2AgaW5zdGVhZC4nKTtcXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBHaXZlbiBhIGZyYWdtZW50LCB2YWxpZGF0ZSB0aGF0IGl0IGNhbiBvbmx5IGJlIHByb3ZpZGVkIHdpdGggZnJhZ21lbnQgcHJvcHNcXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcXG4gIHtcXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZnJhZ21lbnQpO1xcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGZyYWdtZW50LnByb3BzKTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGtleSA9IGtleXNbaV07XFxuXFxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XFxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XFxuXFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGZyYWdtZW50LnJlZiAhPT0gbnVsbCkge1xcbiAgICAgIGVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBgcmVmYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLicpO1xcbiAgICB9XFxuXFxuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XFxuICB2YXIgdmFsaWRUeXBlID0gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpOyAvLyBXZSB3YXJuIGluIHRoaXMgY2FzZSBidXQgZG9uJ3QgdGhyb3cuIFdlIGV4cGVjdCB0aGUgZWxlbWVudCBjcmVhdGlvbiB0b1xcbiAgLy8gc3VjY2VlZCBhbmQgdGhlcmUgd2lsbCBsaWtlbHkgYmUgZXJyb3JzIGluIHJlbmRlci5cXG5cXG4gIGlmICghdmFsaWRUeXBlKSB7XFxuICAgIHZhciBpbmZvID0gJyc7XFxuXFxuICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XFxuICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcXFwiaXQncyBkZWZpbmVkIGluLCBvciB5b3UgbWlnaHQgaGF2ZSBtaXhlZCB1cCBkZWZhdWx0IGFuZCBuYW1lZCBpbXBvcnRzLlxcXCI7XFxuICAgIH1cXG5cXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcXG5cXG4gICAgaWYgKHNvdXJjZUluZm8pIHtcXG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcXG4gICAgfVxcblxcbiAgICB2YXIgdHlwZVN0cmluZztcXG5cXG4gICAgaWYgKHR5cGUgPT09IG51bGwpIHtcXG4gICAgICB0eXBlU3RyaW5nID0gJ251bGwnO1xcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodHlwZSkpIHtcXG4gICAgICB0eXBlU3RyaW5nID0gJ2FycmF5JztcXG4gICAgfSBlbHNlIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XFxuICAgICAgdHlwZVN0cmluZyA9IFxcXCI8XFxcIiArIChnZXRDb21wb25lbnROYW1lKHR5cGUudHlwZSkgfHwgJ1Vua25vd24nKSArIFxcXCIgLz5cXFwiO1xcbiAgICAgIGluZm8gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IGV4cG9ydCBhIEpTWCBsaXRlcmFsIGluc3RlYWQgb2YgYSBjb21wb25lbnQ/JztcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGVycm9yKCdSZWFjdC5jcmVhdGVFbGVtZW50OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cXG5cXG4gIGlmIChlbGVtZW50ID09IG51bGwpIHtcXG4gICAgcmV0dXJuIGVsZW1lbnQ7XFxuICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXFxuICAvLyBkb2Vzbid0IGV4cGVjdCBhIG5vbi1zdHJpbmcvZnVuY3Rpb24gdHlwZSBhbmQgY2FuIHRocm93IGNvbmZ1c2luZyBlcnJvcnMuXFxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXFxuICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xcbiAgLy8gZml4ZWQsIHRoZSBrZXkgd2FybmluZ3Mgd2lsbCBhcHBlYXIuKVxcblxcblxcbiAgaWYgKHZhbGlkVHlwZSkge1xcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgdHlwZSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XFxuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGVsZW1lbnQ7XFxufVxcbnZhciBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IGZhbHNlO1xcbmZ1bmN0aW9uIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbih0eXBlKSB7XFxuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xcbiAgdmFsaWRhdGVkRmFjdG9yeS50eXBlID0gdHlwZTtcXG5cXG4gIHtcXG4gICAgaWYgKCFkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSkge1xcbiAgICAgIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gdHJ1ZTtcXG5cXG4gICAgICB3YXJuKCdSZWFjdC5jcmVhdGVGYWN0b3J5KCkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgdXNpbmcgSlNYICcgKyAnb3IgdXNlIFJlYWN0LmNyZWF0ZUVsZW1lbnQoKSBkaXJlY3RseSBpbnN0ZWFkLicpO1xcbiAgICB9IC8vIExlZ2FjeSBob29rOiByZW1vdmUgaXRcXG5cXG5cXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbGlkYXRlZEZhY3RvcnksICd0eXBlJywge1xcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICAgICAgd2FybignRmFjdG9yeS50eXBlIGlzIGRlcHJlY2F0ZWQuIEFjY2VzcyB0aGUgY2xhc3MgZGlyZWN0bHkgJyArICdiZWZvcmUgcGFzc2luZyBpdCB0byBjcmVhdGVGYWN0b3J5LicpO1xcblxcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0eXBlJywge1xcbiAgICAgICAgICB2YWx1ZTogdHlwZVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gdHlwZTtcXG4gICAgICB9XFxuICAgIH0pO1xcbiAgfVxcblxcbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XFxufVxcbmZ1bmN0aW9uIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uKGVsZW1lbnQsIHByb3BzLCBjaGlsZHJlbikge1xcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG5cXG4gIGZvciAodmFyIGkgPSAyOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcXG4gIH1cXG5cXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XFxufVxcblxcbntcXG5cXG4gIHRyeSB7XFxuICAgIHZhciBmcm96ZW5PYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcXG4gICAgdmFyIHRlc3RNYXAgPSBuZXcgTWFwKFtbZnJvemVuT2JqZWN0LCBudWxsXV0pO1xcbiAgICB2YXIgdGVzdFNldCA9IG5ldyBTZXQoW2Zyb3plbk9iamVjdF0pOyAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgUm9sbHVwIHRvIG5vdCBjb25zaWRlciB0aGVzZSB1bnVzZWQuXFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2xsdXAvcm9sbHVwL2lzc3Vlcy8xNzcxXFxuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhlc2UgaWYgUm9sbHVwIGZpeGVzIHRoZSBidWcuXFxuXFxuICAgIHRlc3RNYXAuc2V0KDAsIDApO1xcbiAgICB0ZXN0U2V0LmFkZCgwKTtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG59XFxuXFxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xcbnZhciBjbG9uZUVsZW1lbnQkMSA9ICBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbiA7XFxudmFyIGNyZWF0ZUZhY3RvcnkgPSAgY3JlYXRlRmFjdG9yeVdpdGhWYWxpZGF0aW9uIDtcXG52YXIgQ2hpbGRyZW4gPSB7XFxuICBtYXA6IG1hcENoaWxkcmVuLFxcbiAgZm9yRWFjaDogZm9yRWFjaENoaWxkcmVuLFxcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXFxuICB0b0FycmF5OiB0b0FycmF5LFxcbiAgb25seTogb25seUNoaWxkXFxufTtcXG5cXG5leHBvcnRzLkNoaWxkcmVuID0gQ2hpbGRyZW47XFxuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XFxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XFxuZXhwb3J0cy5Qcm9maWxlciA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XFxuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcXG5leHBvcnRzLlN0cmljdE1vZGUgPSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFO1xcbmV4cG9ydHMuU3VzcGVuc2UgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcXG5leHBvcnRzLmNsb25lRWxlbWVudCA9IGNsb25lRWxlbWVudCQxO1xcbmV4cG9ydHMuY3JlYXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ7XFxuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xcbmV4cG9ydHMuY3JlYXRlRmFjdG9yeSA9IGNyZWF0ZUZhY3Rvcnk7XFxuZXhwb3J0cy5jcmVhdGVSZWYgPSBjcmVhdGVSZWY7XFxuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcXG5leHBvcnRzLmlzVmFsaWRFbGVtZW50ID0gaXNWYWxpZEVsZW1lbnQ7XFxuZXhwb3J0cy5sYXp5ID0gbGF6eTtcXG5leHBvcnRzLm1lbW8gPSBtZW1vO1xcbmV4cG9ydHMudXNlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaztcXG5leHBvcnRzLnVzZUNvbnRleHQgPSB1c2VDb250ZXh0O1xcbmV4cG9ydHMudXNlRGVidWdWYWx1ZSA9IHVzZURlYnVnVmFsdWU7XFxuZXhwb3J0cy51c2VFZmZlY3QgPSB1c2VFZmZlY3Q7XFxuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcXG5leHBvcnRzLnVzZUxheW91dEVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcXG5leHBvcnRzLnVzZU1lbW8gPSB1c2VNZW1vO1xcbmV4cG9ydHMudXNlUmVkdWNlciA9IHVzZVJlZHVjZXI7XFxuZXhwb3J0cy51c2VSZWYgPSB1c2VSZWY7XFxuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcXG4gIH0pKCk7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmpkQzlqYW5NdmNtVmhZM1F1WkdWMlpXeHZjRzFsYm5RdWFuTS9PV00wT0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZoT3pzN08wRkJTV0lzU1VGQlNTeEpRVUZ4UXp0QlFVTjZRenRCUVVOQk96dEJRVVZCTEdOQlFXTXNiVUpCUVU4c1EwRkJReXcwUkVGQlpUdEJRVU55UXl4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl3NFJVRkJNa0k3TzBGQlJYaEVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxEQkZRVUV3UlR0QlFVTXhSVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3haUVVGWk8wRkJRMW83UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmxCUVZrN1FVRkRXanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRanM3UVVGRmJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVERzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTd3dSa0ZCTUVZc1lVRkJZVHRCUVVOMlJ6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzRSa0ZCT0VZc1pVRkJaVHRCUVVNM1J6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxMRVZCUVVVN08wRkJSVkFzYVVSQlFXbEVPMEZCUTJwRU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTdzRUVUZCT0UwN08wRkJSVGxOTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1lVRkJZU3hYUVVGWE8wRkJRM2hDTEdOQlFXTXNVVUZCVVR0QlFVTjBRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHRkJRV0VzVjBGQlZ6dEJRVU40UWl4aFFVRmhMRlZCUVZVN1FVRkRka0lzWVVGQllTeFJRVUZSTzBGQlEzSkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdRVUZGU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRXNWMEZCVnp0QlFVTjRRaXhoUVVGaExFOUJRVTg3UVVGRGNFSXNZVUZCWVN4VlFVRlZPMEZCUTNaQ0xHRkJRV0VzVVVGQlVUdEJRVU55UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWVVGQllTeFhRVUZYTzBGQlEzaENMR0ZCUVdFc1QwRkJUenRCUVVOd1FpeGhRVUZoTEZWQlFWVTdRVUZEZGtJc1lVRkJZU3hSUVVGUk8wRkJRM0pDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRU3g1UWtGQmVVSTdPMEZCUlhwQ0xEQkNRVUV3UWp0QlFVTXhRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExHZENRVUZuUWp0QlFVTXpRanRCUVVOQkxGZEJRVmNzVlVGQlZUdEJRVU55UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWVUZCVlR0QlFVTnlRanRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEhsQ1FVRjVRanM3UVVGRmVrSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVSQlFXMUVPenRCUVVWdVJEczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NSVUZCUlR0QlFVTmlMRmRCUVZjc1JVRkJSVHRCUVVOaUxGZEJRVmNzUlVGQlJUdEJRVU5pTEZkQlFWY3NZMEZCWXp0QlFVTjZRaXhYUVVGWExFVkJRVVU3UVVGRFlpeFhRVUZYTEVWQlFVVTdRVUZEWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzUlVGQlJUdEJRVU5pTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNRa0ZCZDBJN1FVRkRlRUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTEVWQlFVVTdPMEZCUlZBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVc3NSVUZCUlR0QlFVTlFPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1pVRkJaVHM3UVVGRlpqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h2UlVGQmIwVTdPMEZCUlhCRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRXNiVUpCUVcxQ0xHOUNRVUZ2UWp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdWQlFXVTdPMEZCUldZc2QwSkJRWGRDTEdsQ1FVRnBRanM3TzBGQlIzcERPMEZCUTBFc2QwSkJRWGRDT3p0QlFVVjRRaXd5UWtGQk1rSTdRVUZETTBJN1FVRkRRVHM3UVVGRlFTd3JRa0ZCSzBJN08wRkJSUzlDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRXNiVUpCUVcxQ0xHOUNRVUZ2UWp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVVUZCVVR0QlFVTnVRaXhaUVVGWkxGRkJRVkU3UVVGRGNFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WlFVRlpMRTlCUVU4N1FVRkRia0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzUjBGQlJ6dEJRVU5rTEZkQlFWY3NVVUZCVVR0QlFVTnVRaXhYUVVGWExGVkJRVlU3UVVGRGNrSXNWMEZCVnl4SFFVRkhPMEZCUTJRN1FVRkRRU3haUVVGWkxGRkJRVkU3UVVGRGNFSTdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNPenRCUVVWMlFqczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHhRa0ZCY1VJN1FVRkRlRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMSE5KUVVGelNTeDVRMEZCZVVNN1FVRkRMMHM3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEVkQlFVYzdRVUZEWkN4WFFVRlhMRlZCUVZVN1FVRkRja0lzVjBGQlZ5eEhRVUZITzBGQlEyUXNXVUZCV1N4UlFVRlJPMEZCUTNCQ096czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhGUVVGRk8wRkJRMklzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrN1FVRkRXanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1IwRkJSenRCUVVOa0xGZEJRVmNzYVVKQlFXbENPMEZCUXpWQ0xGZEJRVmNzUlVGQlJUdEJRVU5pT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRWRCUVVjN1FVRkRaQ3hYUVVGWExHbENRVUZwUWp0QlFVTTFRaXhYUVVGWExFVkJRVVU3UVVGRFlpeFpRVUZaTEU5QlFVODdRVUZEYmtJN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eEhRVUZITzBGQlEyUXNXVUZCV1N4UFFVRlBPMEZCUTI1Q096czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVVUZCVVR0QlFVTnVRaXhaUVVGWkxHRkJRV0U3UVVGRGVrSTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEUxQlFVMDdPMEZCUlU0N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzc1JVRkJSVHM3UVVGRlVEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUczdRVUZGUVN4NVEwRkJlVU03TzBGQlJYcERPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUczdRVUZGUVN4dFEwRkJiVU03TzBGQlJXNURPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREdEJRVU5CTEhsRFFVRjVRenRCUVVONlF6czdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eGhRVUZoTzBGQlEzaENMRmRCUVZjc1JVRkJSVHRCUVVOaU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3dSRUZCTUVRN1FVRkRNVVE3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWVUZCVlR0QlFVTnlRaXhYUVVGWExFVkJRVVU3UVVGRFlqczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NZVUZCWVR0QlFVTjRRanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1lVRkJZVHRCUVVONFFqczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3lRMEZCTWtNN1FVRkRNME03TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEhGRVFVRnhSRHRCUVVOeVJEczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQkxHMUNRVUZ0UWl4elFrRkJjMEk3UVVGRGVrTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeHpRa0ZCYzBJN1FVRkRka003UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN4MVEwRkJkVU03UVVGRGRrTTdRVUZEUVN3d1EwRkJNRU03UVVGRE1VTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZ2lMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhZM1F2WTJwekwzSmxZV04wTG1SbGRtVnNiM0J0Wlc1MExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FJRUJzYVdObGJuTmxJRkpsWVdOMElIWXhOaTR4TXk0eFhHNGdLaUJ5WldGamRDNWtaWFpsYkc5d2JXVnVkQzVxYzF4dUlDcGNiaUFxSUVOdmNIbHlhV2RvZENBb1l5a2dSbUZqWldKdmIyc3NJRWx1WXk0Z1lXNWtJR2wwY3lCaFptWnBiR2xoZEdWekxseHVJQ3BjYmlBcUlGUm9hWE1nYzI5MWNtTmxJR052WkdVZ2FYTWdiR2xqWlc1elpXUWdkVzVrWlhJZ2RHaGxJRTFKVkNCc2FXTmxibk5sSUdadmRXNWtJR2x1SUhSb1pWeHVJQ29nVEVsRFJVNVRSU0JtYVd4bElHbHVJSFJvWlNCeWIyOTBJR1JwY21WamRHOXllU0J2WmlCMGFHbHpJSE52ZFhKalpTQjBjbVZsTGx4dUlDb3ZYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1WEc1Y2JtbG1JQ2h3Y205alpYTnpMbVZ1ZGk1T1QwUkZYMFZPVmlBaFBUMGdYQ0p3Y205a2RXTjBhVzl1WENJcElIdGNiaUFnS0daMWJtTjBhVzl1S0NrZ2UxeHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWDJGemMybG5iaUE5SUhKbGNYVnBjbVVvSjI5aWFtVmpkQzFoYzNOcFoyNG5LVHRjYm5aaGNpQmphR1ZqYTFCeWIzQlVlWEJsY3lBOUlISmxjWFZwY21Vb0ozQnliM0F0ZEhsd1pYTXZZMmhsWTJ0UWNtOXdWSGx3WlhNbktUdGNibHh1ZG1GeUlGSmxZV04wVm1WeWMybHZiaUE5SUNjeE5pNHhNeTR4Snp0Y2JseHVMeThnVkdobElGTjViV0p2YkNCMWMyVmtJSFJ2SUhSaFp5QjBhR1VnVW1WaFkzUkZiR1Z0Wlc1MExXeHBhMlVnZEhsd1pYTXVJRWxtSUhSb1pYSmxJR2x6SUc1dklHNWhkR2wyWlNCVGVXMWliMnhjYmk4dklHNXZjaUJ3YjJ4NVptbHNiQ3dnZEdobGJpQmhJSEJzWVdsdUlHNTFiV0psY2lCcGN5QjFjMlZrSUdadmNpQndaWEptYjNKdFlXNWpaUzVjYm5aaGNpQm9ZWE5UZVcxaWIyd2dQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGTjViV0p2YkM1bWIzSTdYRzUyWVhJZ1VrVkJRMVJmUlV4RlRVVk9WRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1Wld4bGJXVnVkQ2NwSURvZ01IaGxZV00zTzF4dWRtRnlJRkpGUVVOVVgxQlBVbFJCVEY5VVdWQkZJRDBnYUdGelUzbHRZbTlzSUQ4Z1UzbHRZbTlzTG1admNpZ25jbVZoWTNRdWNHOXlkR0ZzSnlrZ09pQXdlR1ZoWTJFN1hHNTJZWElnVWtWQlExUmZSbEpCUjAxRlRsUmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbVp5WVdkdFpXNTBKeWtnT2lBd2VHVmhZMkk3WEc1MllYSWdVa1ZCUTFSZlUxUlNTVU5VWDAxUFJFVmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbk4wY21samRGOXRiMlJsSnlrZ09pQXdlR1ZoWTJNN1hHNTJZWElnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbkJ5YjJacGJHVnlKeWtnT2lBd2VHVmhaREk3WEc1MllYSWdVa1ZCUTFSZlVGSlBWa2xFUlZKZlZGbFFSU0E5SUdoaGMxTjViV0p2YkNBL0lGTjViV0p2YkM1bWIzSW9KM0psWVdOMExuQnliM1pwWkdWeUp5a2dPaUF3ZUdWaFkyUTdYRzUyWVhJZ1VrVkJRMVJmUTA5T1ZFVllWRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1WTI5dWRHVjRkQ2NwSURvZ01IaGxZV05sT3lBdkx5QlVUMFJQT2lCWFpTQmtiMjRuZENCMWMyVWdRWE41Ym1OTmIyUmxJRzl5SUVOdmJtTjFjbkpsYm5STmIyUmxJR0Z1ZVcxdmNtVXVJRlJvWlhrZ2QyVnlaU0IwWlcxd2IzSmhjbmxjYm5aaGNpQlNSVUZEVkY5RFQwNURWVkpTUlU1VVgwMVBSRVZmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG1OdmJtTjFjbkpsYm5SZmJXOWtaU2NwSURvZ01IaGxZV05tTzF4dWRtRnlJRkpGUVVOVVgwWlBVbGRCVWtSZlVrVkdYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzVtYjNKM1lYSmtYM0psWmljcElEb2dNSGhsWVdRd08xeHVkbUZ5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV6ZFhOd1pXNXpaU2NwSURvZ01IaGxZV1F4TzF4dWRtRnlJRkpGUVVOVVgxTlZVMUJGVGxORlgweEpVMVJmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG5OMWMzQmxibk5sWDJ4cGMzUW5LU0E2SURCNFpXRmtPRHRjYm5aaGNpQlNSVUZEVkY5TlJVMVBYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV0Wlcxdkp5a2dPaUF3ZUdWaFpETTdYRzUyWVhJZ1VrVkJRMVJmVEVGYVdWOVVXVkJGSUQwZ2FHRnpVM2x0WW05c0lEOGdVM2x0WW05c0xtWnZjaWduY21WaFkzUXViR0Y2ZVNjcElEb2dNSGhsWVdRME8xeHVkbUZ5SUZKRlFVTlVYMEpNVDBOTFgxUlpVRVVnUFNCb1lYTlRlVzFpYjJ3Z1B5QlRlVzFpYjJ3dVptOXlLQ2R5WldGamRDNWliRzlqYXljcElEb2dNSGhsWVdRNU8xeHVkbUZ5SUZKRlFVTlVYMFpWVGtSQlRVVk9WRUZNWDFSWlVFVWdQU0JvWVhOVGVXMWliMndnUHlCVGVXMWliMnd1Wm05eUtDZHlaV0ZqZEM1bWRXNWtZVzFsYm5SaGJDY3BJRG9nTUhobFlXUTFPMXh1ZG1GeUlGSkZRVU5VWDFKRlUxQlBUa1JGVWw5VVdWQkZJRDBnYUdGelUzbHRZbTlzSUQ4Z1UzbHRZbTlzTG1admNpZ25jbVZoWTNRdWNtVnpjRzl1WkdWeUp5a2dPaUF3ZUdWaFpEWTdYRzUyWVhJZ1VrVkJRMVJmVTBOUFVFVmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbk5qYjNCbEp5a2dPaUF3ZUdWaFpEYzdYRzUyWVhJZ1RVRlpRa1ZmU1ZSRlVrRlVUMUpmVTFsTlFrOU1JRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQlRlVzFpYjJ3dWFYUmxjbUYwYjNJN1hHNTJZWElnUmtGVldGOUpWRVZTUVZSUFVsOVRXVTFDVDB3Z1BTQW5RRUJwZEdWeVlYUnZjaWM3WEc1bWRXNWpkR2x2YmlCblpYUkpkR1Z5WVhSdmNrWnVLRzFoZVdKbFNYUmxjbUZpYkdVcElIdGNiaUFnYVdZZ0tHMWhlV0psU1hSbGNtRmliR1VnUFQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUcxaGVXSmxTWFJsY21GaWJHVWdJVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjJZWElnYldGNVltVkpkR1Z5WVhSdmNpQTlJRTFCV1VKRlgwbFVSVkpCVkU5U1gxTlpUVUpQVENBbUppQnRZWGxpWlVsMFpYSmhZbXhsVzAxQldVSkZYMGxVUlZKQlZFOVNYMU5aVFVKUFRGMGdmSHdnYldGNVltVkpkR1Z5WVdKc1pWdEdRVlZZWDBsVVJWSkJWRTlTWDFOWlRVSlBURjA3WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUJ0WVhsaVpVbDBaWEpoZEc5eUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzFoZVdKbFNYUmxjbUYwYjNJN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkxaV1Z3Y3lCMGNtRmpheUJ2WmlCMGFHVWdZM1Z5Y21WdWRDQmthWE53WVhSamFHVnlMbHh1SUNvdlhHNTJZWElnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpQTlJSHRjYmlBZ0x5b3FYRzRnSUNBcUlFQnBiblJsY201aGJGeHVJQ0FnS2lCQWRIbHdaU0I3VW1WaFkzUkRiMjF3YjI1bGJuUjlYRzRnSUNBcUwxeHVJQ0JqZFhKeVpXNTBPaUJ1ZFd4c1hHNTlPMXh1WEc0dktpcGNiaUFxSUV0bFpYQnpJSFJ5WVdOcklHOW1JSFJvWlNCamRYSnlaVzUwSUdKaGRHTm9KM01nWTI5dVptbG5kWEpoZEdsdmJpQnpkV05vSUdGeklHaHZkeUJzYjI1bklHRnVJSFZ3WkdGMFpWeHVJQ29nYzJodmRXeGtJSE4xYzNCbGJtUWdabTl5SUdsbUlHbDBJRzVsWldSeklIUnZMbHh1SUNvdlhHNTJZWElnVW1WaFkzUkRkWEp5Wlc1MFFtRjBZMmhEYjI1bWFXY2dQU0I3WEc0Z0lITjFjM0JsYm5ObE9pQnVkV3hzWEc1OU8xeHVYRzR2S2lwY2JpQXFJRXRsWlhCeklIUnlZV05ySUc5bUlIUm9aU0JqZFhKeVpXNTBJRzkzYm1WeUxseHVJQ3BjYmlBcUlGUm9aU0JqZFhKeVpXNTBJRzkzYm1WeUlHbHpJSFJvWlNCamIyMXdiMjVsYm5RZ2QyaHZJSE5vYjNWc1pDQnZkMjRnWVc1NUlHTnZiWEJ2Ym1WdWRITWdkR2hoZENCaGNtVmNiaUFxSUdOMWNuSmxiblJzZVNCaVpXbHVaeUJqYjI1emRISjFZM1JsWkM1Y2JpQXFMMXh1ZG1GeUlGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUlEMGdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHbHVkR1Z5Ym1Gc1hHNGdJQ0FxSUVCMGVYQmxJSHRTWldGamRFTnZiWEJ2Ym1WdWRIMWNiaUFnSUNvdlhHNGdJR04xY25KbGJuUTZJRzUxYkd4Y2JuMDdYRzVjYm5aaGNpQkNSVVpQVWtWZlUweEJVMGhmVWtVZ1BTQXZYaWd1S2lsYlhGeGNYRnhjTDEwdk8xeHVablZ1WTNScGIyNGdaR1Z6WTNKcFltVkRiMjF3YjI1bGJuUkdjbUZ0WlNBb2JtRnRaU3dnYzI5MWNtTmxMQ0J2ZDI1bGNrNWhiV1VwSUh0Y2JpQWdkbUZ5SUhOdmRYSmpaVWx1Wm04Z1BTQW5KenRjYmx4dUlDQnBaaUFvYzI5MWNtTmxLU0I3WEc0Z0lDQWdkbUZ5SUhCaGRHZ2dQU0J6YjNWeVkyVXVabWxzWlU1aGJXVTdYRzRnSUNBZ2RtRnlJR1pwYkdWT1lXMWxJRDBnY0dGMGFDNXlaWEJzWVdObEtFSkZSazlTUlY5VFRFRlRTRjlTUlN3Z0p5Y3BPMXh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdMeThnU1c0Z1JFVldMQ0JwYm1Oc2RXUmxJR052WkdVZ1ptOXlJR0VnWTI5dGJXOXVJSE53WldOcFlXd2dZMkZ6WlRwY2JpQWdJQ0FnSUM4dklIQnlaV1psY2lCY0ltWnZiR1JsY2k5cGJtUmxlQzVxYzF3aUlHbHVjM1JsWVdRZ2IyWWdhblZ6ZENCY0ltbHVaR1Y0TG1welhDSXVYRzRnSUNBZ0lDQnBaaUFvTDE1cGJtUmxlRnhjTGk4dWRHVnpkQ2htYVd4bFRtRnRaU2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzFoZEdOb0lEMGdjR0YwYUM1dFlYUmphQ2hDUlVaUFVrVmZVMHhCVTBoZlVrVXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHRZWFJqYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCd1lYUm9RbVZtYjNKbFUyeGhjMmdnUFNCdFlYUmphRnN4WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNod1lYUm9RbVZtYjNKbFUyeGhjMmdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCbWIyeGtaWEpPWVcxbElEMGdjR0YwYUVKbFptOXlaVk5zWVhOb0xuSmxjR3hoWTJVb1FrVkdUMUpGWDFOTVFWTklYMUpGTENBbkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWFXeGxUbUZ0WlNBOUlHWnZiR1JsY2s1aGJXVWdLeUFuTHljZ0t5Qm1hV3hsVG1GdFpUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J6YjNWeVkyVkpibVp2SUQwZ0p5QW9ZWFFnSnlBcklHWnBiR1ZPWVcxbElDc2dKem9uSUNzZ2MyOTFjbU5sTG14cGJtVk9kVzFpWlhJZ0t5QW5LU2M3WEc0Z0lIMGdaV3h6WlNCcFppQW9iM2R1WlhKT1lXMWxLU0I3WEc0Z0lDQWdjMjkxY21ObFNXNW1ieUE5SUNjZ0tHTnlaV0YwWldRZ1lua2dKeUFySUc5M2JtVnlUbUZ0WlNBcklDY3BKenRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUFuWEZ4dUlDQWdJR2x1SUNjZ0t5QW9ibUZ0WlNCOGZDQW5WVzVyYm05M2JpY3BJQ3NnYzI5MWNtTmxTVzVtYnp0Y2JuMWNibHh1ZG1GeUlGSmxjMjlzZG1Wa0lEMGdNVHRjYm1aMWJtTjBhVzl1SUhKbFptbHVaVkpsYzI5c2RtVmtUR0Y2ZVVOdmJYQnZibVZ1ZENoc1lYcDVRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lISmxkSFZ5YmlCc1lYcDVRMjl0Y0c5dVpXNTBMbDl6ZEdGMGRYTWdQVDA5SUZKbGMyOXNkbVZrSUQ4Z2JHRjZlVU52YlhCdmJtVnVkQzVmY21WemRXeDBJRG9nYm5Wc2JEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWM0poY0hCbFpFNWhiV1VvYjNWMFpYSlVlWEJsTENCcGJtNWxjbFI1Y0dVc0lIZHlZWEJ3WlhKT1lXMWxLU0I3WEc0Z0lIWmhjaUJtZFc1amRHbHZiazVoYldVZ1BTQnBibTVsY2xSNWNHVXVaR2x6Y0d4aGVVNWhiV1VnZkh3Z2FXNXVaWEpVZVhCbExtNWhiV1VnZkh3Z0p5YzdYRzRnSUhKbGRIVnliaUJ2ZFhSbGNsUjVjR1V1WkdsemNHeGhlVTVoYldVZ2ZId2dLR1oxYm1OMGFXOXVUbUZ0WlNBaFBUMGdKeWNnUHlCM2NtRndjR1Z5VG1GdFpTQXJJRndpS0Z3aUlDc2dablZ1WTNScGIyNU9ZVzFsSUNzZ1hDSXBYQ0lnT2lCM2NtRndjR1Z5VG1GdFpTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb2RIbHdaU2tnZTF4dUlDQnBaaUFvZEhsd1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdTRzl6ZENCeWIyOTBMQ0IwWlhoMElHNXZaR1VnYjNJZ2FuVnpkQ0JwYm5aaGJHbGtJSFI1Y0dVdVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjBlWEJsTG5SaFp5QTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldObGFYWmxaQ0JoYmlCMWJtVjRjR1ZqZEdWa0lHOWlhbVZqZENCcGJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtDa3VJQ2NnS3lBblZHaHBjeUJwY3lCc2FXdGxiSGtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkSGx3WlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBlWEJsTG1ScGMzQnNZWGxPWVcxbElIeDhJSFI1Y0dVdWJtRnRaU0I4ZkNCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwZVhCbE8xeHVJQ0I5WEc1Y2JpQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnWTJGelpTQlNSVUZEVkY5R1VrRkhUVVZPVkY5VVdWQkZPbHh1SUNBZ0lDQWdjbVYwZFhKdUlDZEdjbUZuYldWdWRDYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMUJQVWxSQlRGOVVXVkJGT2x4dUlDQWdJQ0FnY21WMGRYSnVJQ2RRYjNKMFlXd25PMXh1WEc0Z0lDQWdZMkZ6WlNCU1JVRkRWRjlRVWs5R1NVeEZVbDlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVVISnZabWxzWlhKY0lqdGNibHh1SUNBZ0lHTmhjMlVnVWtWQlExUmZVMVJTU1VOVVgwMVBSRVZmVkZsUVJUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBblUzUnlhV04wVFc5a1pTYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVNlhHNGdJQ0FnSUNCeVpYUjFjbTRnSjFOMWMzQmxibk5sSnp0Y2JseHVJQ0FnSUdOaGMyVWdVa1ZCUTFSZlUxVlRVRVZPVTBWZlRFbFRWRjlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNkVGRYTndaVzV6WlV4cGMzUW5PMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEhsd1pTNGtKSFI1Y0dWdlppa2dlMXh1SUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlEVDA1VVJWaFVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBblEyOXVkR1Y0ZEM1RGIyNXpkVzFsY2ljN1hHNWNiaUFnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRkpQVmtsRVJWSmZWRmxRUlRwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRGIyNTBaWGgwTGxCeWIzWnBaR1Z5Snp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOUdUMUpYUVZKRVgxSkZSbDlVV1ZCRk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1oyVjBWM0poY0hCbFpFNWhiV1VvZEhsd1pTd2dkSGx3WlM1eVpXNWtaWElzSUNkR2IzSjNZWEprVW1WbUp5azdYRzVjYmlBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmVFVWTlQxOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2gwZVhCbExuUjVjR1VwTzF4dVhHNGdJQ0FnSUNCallYTmxJRkpGUVVOVVgwSk1UME5MWDFSWlVFVTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIUjVjR1V1Y21WdVpHVnlLVHRjYmx4dUlDQWdJQ0FnWTJGelpTQlNSVUZEVkY5TVFWcFpYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQjBlWEJsTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ5WlhOdmJIWmxaRlJvWlc1aFlteGxJRDBnY21WbWFXNWxVbVZ6YjJ4MlpXUk1ZWHA1UTI5dGNHOXVaVzUwS0hSb1pXNWhZbXhsS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTnZiSFpsWkZSb1pXNWhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaHlaWE52YkhabFpGUm9aVzVoWW14bEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dVhHNTJZWElnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTQTlJSHQ5TzF4dWRtRnlJR04xY25KbGJuUnNlVlpoYkdsa1lYUnBibWRGYkdWdFpXNTBJRDBnYm5Wc2JEdGNibVoxYm1OMGFXOXVJSE5sZEVOMWNuSmxiblJzZVZaaGJHbGtZWFJwYm1kRmJHVnRaVzUwS0dWc1pXMWxiblFwSUh0Y2JpQWdlMXh1SUNBZ0lHTjFjbkpsYm5Sc2VWWmhiR2xrWVhScGJtZEZiR1Z0Wlc1MElEMGdaV3hsYldWdWREdGNiaUFnZlZ4dWZWeHVYRzU3WEc0Z0lDOHZJRk4wWVdOcklHbHRjR3hsYldWdWRHRjBhVzl1SUdsdWFtVmpkR1ZrSUdKNUlIUm9aU0JqZFhKeVpXNTBJSEpsYm1SbGNtVnlMbHh1SUNCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxMbWRsZEVOMWNuSmxiblJUZEdGamF5QTlJRzUxYkd3N1hHNWNiaUFnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTNW5aWFJUZEdGamEwRmtaR1Z1WkhWdElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFpoY2lCemRHRmpheUE5SUNjbk95QXZMeUJCWkdRZ1lXNGdaWGgwY21FZ2RHOXdJR1p5WVcxbElIZG9hV3hsSUdGdUlHVnNaVzFsYm5RZ2FYTWdZbVZwYm1jZ2RtRnNhV1JoZEdWa1hHNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRHeDVWbUZzYVdSaGRHbHVaMFZzWlcxbGJuUXBJSHRjYmlBZ0lDQWdJSFpoY2lCdVlXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hqZFhKeVpXNTBiSGxXWVd4cFpHRjBhVzVuUld4bGJXVnVkQzUwZVhCbEtUdGNiaUFnSUNBZ0lIWmhjaUJ2ZDI1bGNpQTlJR04xY25KbGJuUnNlVlpoYkdsa1lYUnBibWRGYkdWdFpXNTBMbDl2ZDI1bGNqdGNiaUFnSUNBZ0lITjBZV05ySUNzOUlHUmxjMk55YVdKbFEyOXRjRzl1Wlc1MFJuSmhiV1VvYm1GdFpTd2dZM1Z5Y21WdWRHeDVWbUZzYVdSaGRHbHVaMFZzWlcxbGJuUXVYM052ZFhKalpTd2diM2R1WlhJZ0ppWWdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaHZkMjVsY2k1MGVYQmxLU2s3WEc0Z0lDQWdmU0F2THlCRVpXeGxaMkYwWlNCMGJ5QjBhR1VnYVc1cVpXTjBaV1FnY21WdVpHVnlaWEl0YzNCbFkybG1hV01nYVcxd2JHVnRaVzUwWVhScGIyNWNibHh1WEc0Z0lDQWdkbUZ5SUdsdGNHd2dQU0JTWldGamRFUmxZblZuUTNWeWNtVnVkRVp5WVcxbExtZGxkRU4xY25KbGJuUlRkR0ZqYXp0Y2JseHVJQ0FnSUdsbUlDaHBiWEJzS1NCN1hHNGdJQ0FnSUNCemRHRmpheUFyUFNCcGJYQnNLQ2tnZkh3Z0p5YzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhOMFlXTnJPMXh1SUNCOU8xeHVmVnh1WEc0dktpcGNiaUFxSUZWelpXUWdZbmtnWVdOMEtDa2dkRzhnZEhKaFkyc2dkMmhsZEdobGNpQjViM1VuY21VZ2FXNXphV1JsSUdGdUlHRmpkQ2dwSUhOamIzQmxMbHh1SUNvdlhHNTJZWElnU1hOVGIyMWxVbVZ1WkdWeVpYSkJZM1JwYm1jZ1BTQjdYRzRnSUdOMWNuSmxiblE2SUdaaGJITmxYRzU5TzF4dVhHNTJZWElnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNZ1BTQjdYRzRnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSTZJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJc1hHNGdJRkpsWVdOMFEzVnljbVZ1ZEVKaGRHTm9RMjl1Wm1sbk9pQlNaV0ZqZEVOMWNuSmxiblJDWVhSamFFTnZibVpwWnl4Y2JpQWdVbVZoWTNSRGRYSnlaVzUwVDNkdVpYSTZJRkpsWVdOMFEzVnljbVZ1ZEU5M2JtVnlMRnh1SUNCSmMxTnZiV1ZTWlc1a1pYSmxja0ZqZEdsdVp6b2dTWE5UYjIxbFVtVnVaR1Z5WlhKQlkzUnBibWNzWEc0Z0lDOHZJRlZ6WldRZ1lua2djbVZ1WkdWeVpYSnpJSFJ2SUdGMmIybGtJR0oxYm1Sc2FXNW5JRzlpYW1WamRDMWhjM05wWjI0Z2RIZHBZMlVnYVc0Z1ZVMUVJR0oxYm1Sc1pYTTZYRzRnSUdGemMybG5iam9nWDJGemMybG5ibHh1ZlR0Y2JseHVlMXh1SUNCZllYTnphV2R1S0ZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxDQjdYRzRnSUNBZ0x5OGdWR2hsYzJVZ2MyaHZkV3hrSUc1dmRDQmlaU0JwYm1Oc2RXUmxaQ0JwYmlCd2NtOWtkV04wYVc5dUxseHVJQ0FnSUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVTZJRkpsWVdOMFJHVmlkV2REZFhKeVpXNTBSbkpoYldVc1hHNGdJQ0FnTHk4Z1UyaHBiU0JtYjNJZ1VtVmhZM1FnUkU5TklERTJMakF1TUNCM2FHbGphQ0J6ZEdsc2JDQmtaWE4wY25WamRIVnlaV1FnS0dKMWRDQnViM1FnZFhObFpDa2dkR2hwY3k1Y2JpQWdJQ0F2THlCVVQwUlBPaUJ5WlcxdmRtVWdhVzRnVW1WaFkzUWdNVGN1TUM1Y2JpQWdJQ0JTWldGamRFTnZiWEJ2Ym1WdWRGUnlaV1ZJYjI5ck9pQjdmVnh1SUNCOUtUdGNibjFjYmx4dUx5OGdZbmtnWTJGc2JITWdkRzhnZEdobGMyVWdiV1YwYUc5a2N5QmllU0JoSUVKaFltVnNJSEJzZFdkcGJpNWNiaTh2WEc0dkx5QkpiaUJRVWs5RUlDaHZjaUJwYmlCd1lXTnJZV2RsY3lCM2FYUm9iM1YwSUdGalkyVnpjeUIwYnlCU1pXRmpkQ0JwYm5SbGNtNWhiSE1wTEZ4dUx5OGdkR2hsZVNCaGNtVWdiR1ZtZENCaGN5QjBhR1Y1SUdGeVpTQnBibk4wWldGa0xseHVYRzVtZFc1amRHbHZiaUIzWVhKdUtHWnZjbTFoZENrZ2UxeHVJQ0I3WEc0Z0lDQWdabTl5SUNoMllYSWdYMnhsYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lHRnlaM01nUFNCdVpYY2dRWEp5WVhrb1gyeGxiaUErSURFZ1B5QmZiR1Z1SUMwZ01TQTZJREFwTENCZmEyVjVJRDBnTVRzZ1gydGxlU0E4SUY5c1pXNDdJRjlyWlhrckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0ZmEyVjVJQzBnTVYwZ1BTQmhjbWQxYldWdWRITmJYMnRsZVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hKcGJuUlhZWEp1YVc1bktDZDNZWEp1Snl3Z1ptOXliV0YwTENCaGNtZHpLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWlhKeWIzSW9abTl5YldGMEtTQjdYRzRnSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJmYkdWdU1pQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3NJR0Z5WjNNZ1BTQnVaWGNnUVhKeVlYa29YMnhsYmpJZ1BpQXhJRDhnWDJ4bGJqSWdMU0F4SURvZ01Da3NJRjlyWlhreUlEMGdNVHNnWDJ0bGVUSWdQQ0JmYkdWdU1qc2dYMnRsZVRJckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0ZmEyVjVNaUF0SURGZElEMGdZWEpuZFcxbGJuUnpXMTlyWlhreVhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2NtbHVkRmRoY201cGJtY29KMlZ5Y205eUp5d2dabTl5YldGMExDQmhjbWR6S1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndjbWx1ZEZkaGNtNXBibWNvYkdWMlpXd3NJR1p2Y20xaGRDd2dZWEpuY3lrZ2UxeHVJQ0F2THlCWGFHVnVJR05vWVc1bmFXNW5JSFJvYVhNZ2JHOW5hV01zSUhsdmRTQnRhV2RvZENCM1lXNTBJSFJ2SUdGc2MyOWNiaUFnTHk4Z2RYQmtZWFJsSUdOdmJuTnZiR1ZYYVhSb1UzUmhZMnRFWlhZdWQzZDNMbXB6SUdGeklIZGxiR3d1WEc0Z0lIdGNiaUFnSUNCMllYSWdhR0Z6UlhocGMzUnBibWRUZEdGamF5QTlJR0Z5WjNNdWJHVnVaM1JvSUQ0Z01DQW1KaUIwZVhCbGIyWWdZWEpuYzF0aGNtZHpMbXhsYm1kMGFDQXRJREZkSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJoY21kelcyRnlaM011YkdWdVozUm9JQzBnTVYwdWFXNWtaWGhQWmlnblhGeHVJQ0FnSUdsdUp5a2dQVDA5SURBN1hHNWNiaUFnSUNCcFppQW9JV2hoYzBWNGFYTjBhVzVuVTNSaFkyc3BJSHRjYmlBZ0lDQWdJSFpoY2lCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxJRDBnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNdVVtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaVHRjYmlBZ0lDQWdJSFpoY2lCemRHRmpheUE5SUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVXVaMlYwVTNSaFkydEJaR1JsYm1SMWJTZ3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2MzUmhZMnNnSVQwOUlDY25LU0I3WEc0Z0lDQWdJQ0FnSUdadmNtMWhkQ0FyUFNBbkpYTW5PMXh1SUNBZ0lDQWdJQ0JoY21keklEMGdZWEpuY3k1amIyNWpZWFFvVzNOMFlXTnJYU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdGeVozTlhhWFJvUm05eWJXRjBJRDBnWVhKbmN5NXRZWEFvWm5WdVkzUnBiMjRnS0dsMFpXMHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQW5KeUFySUdsMFpXMDdYRzRnSUNBZ2ZTazdJQzh2SUVOaGNtVm1kV3c2SUZKT0lHTjFjbkpsYm5Sc2VTQmtaWEJsYm1SeklHOXVJSFJvYVhNZ2NISmxabWw0WEc1Y2JpQWdJQ0JoY21kelYybDBhRVp2Y20xaGRDNTFibk5vYVdaMEtDZFhZWEp1YVc1bk9pQW5JQ3NnWm05eWJXRjBLVHNnTHk4Z1YyVWdhVzUwWlc1MGFXOXVZV3hzZVNCa2IyNG5kQ0IxYzJVZ2MzQnlaV0ZrSUNodmNpQXVZWEJ3YkhrcElHUnBjbVZqZEd4NUlHSmxZMkYxYzJVZ2FYUmNiaUFnSUNBdkx5QmljbVZoYTNNZ1NVVTVPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Y21WaFkzUXZhWE56ZFdWekx6RXpOakV3WEc0Z0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEpsWVdOMExXbHVkR1Z5Ym1Gc0wyNXZMWEJ5YjJSMVkzUnBiMjR0Ykc5bloybHVaMXh1WEc0Z0lDQWdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxMbUZ3Y0d4NUxtTmhiR3dvWTI5dWMyOXNaVnRzWlhabGJGMHNJR052Ym5OdmJHVXNJR0Z5WjNOWGFYUm9SbTl5YldGMEtUdGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlBdExTMGdWMlZzWTI5dFpTQjBieUJrWldKMVoyZHBibWNnVW1WaFkzUWdMUzB0WEc0Z0lDQWdJQ0F2THlCVWFHbHpJR1Z5Y205eUlIZGhjeUIwYUhKdmQyNGdZWE1nWVNCamIyNTJaVzVwWlc1alpTQnpieUIwYUdGMElIbHZkU0JqWVc0Z2RYTmxJSFJvYVhNZ2MzUmhZMnRjYmlBZ0lDQWdJQzh2SUhSdklHWnBibVFnZEdobElHTmhiR3h6YVhSbElIUm9ZWFFnWTJGMWMyVmtJSFJvYVhNZ2QyRnlibWx1WnlCMGJ5Qm1hWEpsTGx4dUlDQWdJQ0FnZG1GeUlHRnlaMGx1WkdWNElEMGdNRHRjYmlBZ0lDQWdJSFpoY2lCdFpYTnpZV2RsSUQwZ0oxZGhjbTVwYm1jNklDY2dLeUJtYjNKdFlYUXVjbVZ3YkdGalpTZ3ZKWE12Wnl3Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZWEpuYzF0aGNtZEpibVJsZUNzclhUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0hncElIdDlYRzRnSUgxY2JuMWNibHh1ZG1GeUlHUnBaRmRoY201VGRHRjBaVlZ3WkdGMFpVWnZjbFZ1Ylc5MWJuUmxaRU52YlhCdmJtVnVkQ0E5SUh0OU8xeHVYRzVtZFc1amRHbHZiaUIzWVhKdVRtOXZjQ2h3ZFdKc2FXTkpibk4wWVc1alpTd2dZMkZzYkdWeVRtRnRaU2tnZTF4dUlDQjdYRzRnSUNBZ2RtRnlJRjlqYjI1emRISjFZM1J2Y2lBOUlIQjFZbXhwWTBsdWMzUmhibU5sTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0FnSUhaaGNpQmpiMjF3YjI1bGJuUk9ZVzFsSUQwZ1gyTnZibk4wY25WamRHOXlJQ1ltSUNoZlkyOXVjM1J5ZFdOMGIzSXVaR2x6Y0d4aGVVNWhiV1VnZkh3Z1gyTnZibk4wY25WamRHOXlMbTVoYldVcElIeDhJQ2RTWldGamRFTnNZWE56Snp0Y2JpQWdJQ0IyWVhJZ2QyRnlibWx1WjB0bGVTQTlJR052YlhCdmJtVnVkRTVoYldVZ0t5QmNJaTVjSWlBcklHTmhiR3hsY2s1aGJXVTdYRzVjYmlBZ0lDQnBaaUFvWkdsa1YyRnlibE4wWVhSbFZYQmtZWFJsUm05eVZXNXRiM1Z1ZEdWa1EyOXRjRzl1Wlc1MFczZGhjbTVwYm1kTFpYbGRLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pYSnliM0lvWENKRFlXNG5kQ0JqWVd4c0lDVnpJRzl1SUdFZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYVhNZ2JtOTBJSGxsZENCdGIzVnVkR1ZrTGlCY0lpQXJJQ2RVYUdseklHbHpJR0VnYm04dGIzQXNJR0oxZENCcGRDQnRhV2RvZENCcGJtUnBZMkYwWlNCaElHSjFaeUJwYmlCNWIzVnlJR0Z3Y0d4cFkyRjBhVzl1TGlBbklDc2dKMGx1YzNSbFlXUXNJR0Z6YzJsbmJpQjBieUJnZEdocGN5NXpkR0YwWldBZ1pHbHlaV04wYkhrZ2IzSWdaR1ZtYVc1bElHRWdZSE4wWVhSbElEMGdlMzA3WUNBbklDc2dKMk5zWVhOeklIQnliM0JsY25SNUlIZHBkR2dnZEdobElHUmxjMmx5WldRZ2MzUmhkR1VnYVc0Z2RHaGxJQ1Z6SUdOdmJYQnZibVZ1ZEM0bkxDQmpZV3hzWlhKT1lXMWxMQ0JqYjIxd2IyNWxiblJPWVcxbEtUdGNibHh1SUNBZ0lHUnBaRmRoY201VGRHRjBaVlZ3WkdGMFpVWnZjbFZ1Ylc5MWJuUmxaRU52YlhCdmJtVnVkRnQzWVhKdWFXNW5TMlY1WFNBOUlIUnlkV1U3WEc0Z0lIMWNibjFjYmk4cUtseHVJQ29nVkdocGN5QnBjeUIwYUdVZ1lXSnpkSEpoWTNRZ1FWQkpJR1p2Y2lCaGJpQjFjR1JoZEdVZ2NYVmxkV1V1WEc0Z0tpOWNibHh1WEc1MllYSWdVbVZoWTNST2IyOXdWWEJrWVhSbFVYVmxkV1VnUFNCN1hHNGdJQzhxS2x4dUlDQWdLaUJEYUdWamEzTWdkMmhsZEdobGNpQnZjaUJ1YjNRZ2RHaHBjeUJqYjIxd2IzTnBkR1VnWTI5dGNHOXVaVzUwSUdseklHMXZkVzUwWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3VW1WaFkzUkRiR0Z6YzMwZ2NIVmliR2xqU1c1emRHRnVZMlVnVkdobElHbHVjM1JoYm1ObElIZGxJSGRoYm5RZ2RHOGdkR1Z6ZEM1Y2JpQWdJQ29nUUhKbGRIVnliaUI3WW05dmJHVmhibjBnVkhKMVpTQnBaaUJ0YjNWdWRHVmtMQ0JtWVd4elpTQnZkR2hsY25kcGMyVXVYRzRnSUNBcUlFQndjbTkwWldOMFpXUmNiaUFnSUNvZ1FHWnBibUZzWEc0Z0lDQXFMMXh1SUNCcGMwMXZkVzUwWldRNklHWjFibU4wYVc5dUlDaHdkV0pzYVdOSmJuTjBZVzVqWlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlN4Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUm05eVkyVnpJR0Z1SUhWd1pHRjBaUzRnVkdocGN5QnphRzkxYkdRZ2IyNXNlU0JpWlNCcGJuWnZhMlZrSUhkb1pXNGdhWFFnYVhNZ2EyNXZkMjRnZDJsMGFGeHVJQ0FnS2lCalpYSjBZV2x1ZEhrZ2RHaGhkQ0IzWlNCaGNtVWdLaXB1YjNRcUtpQnBiaUJoSUVSUFRTQjBjbUZ1YzJGamRHbHZiaTVjYmlBZ0lDcGNiaUFnSUNvZ1dXOTFJRzFoZVNCM1lXNTBJSFJ2SUdOaGJHd2dkR2hwY3lCM2FHVnVJSGx2ZFNCcmJtOTNJSFJvWVhRZ2MyOXRaU0JrWldWd1pYSWdZWE53WldOMElHOW1JSFJvWlZ4dUlDQWdLaUJqYjIxd2IyNWxiblFuY3lCemRHRjBaU0JvWVhNZ1kyaGhibWRsWkNCaWRYUWdZSE5sZEZOMFlYUmxZQ0IzWVhNZ2JtOTBJR05oYkd4bFpDNWNiaUFnSUNwY2JpQWdJQ29nVkdocGN5QjNhV3hzSUc1dmRDQnBiblp2YTJVZ1lITm9iM1ZzWkVOdmJYQnZibVZ1ZEZWd1pHRjBaV0FzSUdKMWRDQnBkQ0IzYVd4c0lHbHVkbTlyWlZ4dUlDQWdLaUJnWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWldBZ1lXNWtJR0JqYjIxd2IyNWxiblJFYVdSVmNHUmhkR1ZnTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UxSmxZV04wUTJ4aGMzTjlJSEIxWW14cFkwbHVjM1JoYm1ObElGUm9aU0JwYm5OMFlXNWpaU0IwYUdGMElITm9iM1ZzWkNCeVpYSmxibVJsY2k1Y2JpQWdJQ29nUUhCaGNtRnRJSHMvWm5WdVkzUnBiMjU5SUdOaGJHeGlZV05ySUVOaGJHeGxaQ0JoWm5SbGNpQmpiMjF3YjI1bGJuUWdhWE1nZFhCa1lYUmxaQzVjYmlBZ0lDb2dRSEJoY21GdElIcy9jM1J5YVc1bmZTQmpZV3hzWlhKT1lXMWxJRzVoYldVZ2IyWWdkR2hsSUdOaGJHeHBibWNnWm5WdVkzUnBiMjRnYVc0Z2RHaGxJSEIxWW14cFl5QkJVRWt1WEc0Z0lDQXFJRUJwYm5SbGNtNWhiRnh1SUNBZ0tpOWNiaUFnWlc1eGRXVjFaVVp2Y21ObFZYQmtZWFJsT2lCbWRXNWpkR2x2YmlBb2NIVmliR2xqU1c1emRHRnVZMlVzSUdOaGJHeGlZV05yTENCallXeHNaWEpPWVcxbEtTQjdYRzRnSUNBZ2QyRnliazV2YjNBb2NIVmliR2xqU1c1emRHRnVZMlVzSUNkbWIzSmpaVlZ3WkdGMFpTY3BPMXh1SUNCOUxGeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYQnNZV05sY3lCaGJHd2diMllnZEdobElITjBZWFJsTGlCQmJIZGhlWE1nZFhObElIUm9hWE1nYjNJZ1lITmxkRk4wWVhSbFlDQjBieUJ0ZFhSaGRHVWdjM1JoZEdVdVhHNGdJQ0FxSUZsdmRTQnphRzkxYkdRZ2RISmxZWFFnWUhSb2FYTXVjM1JoZEdWZ0lHRnpJR2x0YlhWMFlXSnNaUzVjYmlBZ0lDcGNiaUFnSUNvZ1ZHaGxjbVVnYVhNZ2JtOGdaM1ZoY21GdWRHVmxJSFJvWVhRZ1lIUm9hWE11YzNSaGRHVmdJSGRwYkd3Z1ltVWdhVzF0WldScFlYUmxiSGtnZFhCa1lYUmxaQ3dnYzI5Y2JpQWdJQ29nWVdOalpYTnphVzVuSUdCMGFHbHpMbk4wWVhSbFlDQmhablJsY2lCallXeHNhVzVuSUhSb2FYTWdiV1YwYUc5a0lHMWhlU0J5WlhSMWNtNGdkR2hsSUc5c1pDQjJZV3gxWlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIdFNaV0ZqZEVOc1lYTnpmU0J3ZFdKc2FXTkpibk4wWVc1alpTQlVhR1VnYVc1emRHRnVZMlVnZEdoaGRDQnphRzkxYkdRZ2NtVnlaVzVrWlhJdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JqYjIxd2JHVjBaVk4wWVhSbElFNWxlSFFnYzNSaGRHVXVYRzRnSUNBcUlFQndZWEpoYlNCN1AyWjFibU4wYVc5dWZTQmpZV3hzWW1GamF5QkRZV3hzWldRZ1lXWjBaWElnWTI5dGNHOXVaVzUwSUdseklIVndaR0YwWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UDNOMGNtbHVaMzBnWTJGc2JHVnlUbUZ0WlNCdVlXMWxJRzltSUhSb1pTQmpZV3hzYVc1bklHWjFibU4wYVc5dUlHbHVJSFJvWlNCd2RXSnNhV01nUVZCSkxseHVJQ0FnS2lCQWFXNTBaWEp1WVd4Y2JpQWdJQ292WEc0Z0lHVnVjWFZsZFdWU1pYQnNZV05sVTNSaGRHVTZJR1oxYm1OMGFXOXVJQ2h3ZFdKc2FXTkpibk4wWVc1alpTd2dZMjl0Y0d4bGRHVlRkR0YwWlN3Z1kyRnNiR0poWTJzc0lHTmhiR3hsY2s1aGJXVXBJSHRjYmlBZ0lDQjNZWEp1VG05dmNDaHdkV0pzYVdOSmJuTjBZVzVqWlN3Z0ozSmxjR3hoWTJWVGRHRjBaU2NwTzF4dUlDQjlMRnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRaWFJ6SUdFZ2MzVmljMlYwSUc5bUlIUm9aU0J6ZEdGMFpTNGdWR2hwY3lCdmJteDVJR1Y0YVhOMGN5QmlaV05oZFhObElGOXdaVzVrYVc1blUzUmhkR1VnYVhOY2JpQWdJQ29nYVc1MFpYSnVZV3d1SUZSb2FYTWdjSEp2ZG1sa1pYTWdZU0J0WlhKbmFXNW5JSE4wY21GMFpXZDVJSFJvWVhRZ2FYTWdibTkwSUdGMllXbHNZV0pzWlNCMGJ5QmtaV1Z3WEc0Z0lDQXFJSEJ5YjNCbGNuUnBaWE1nZDJocFkyZ2dhWE1nWTI5dVpuVnphVzVuTGlCVVQwUlBPaUJGZUhCdmMyVWdjR1Z1WkdsdVoxTjBZWFJsSUc5eUlHUnZiaWQwSUhWelpTQnBkRnh1SUNBZ0tpQmtkWEpwYm1jZ2RHaGxJRzFsY21kbExseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdlMUpsWVdOMFEyeGhjM045SUhCMVlteHBZMGx1YzNSaGJtTmxJRlJvWlNCcGJuTjBZVzVqWlNCMGFHRjBJSE5vYjNWc1pDQnlaWEpsYm1SbGNpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0dlltcGxZM1I5SUhCaGNuUnBZV3hUZEdGMFpTQk9aWGgwSUhCaGNuUnBZV3dnYzNSaGRHVWdkRzhnWW1VZ2JXVnlaMlZrSUhkcGRHZ2djM1JoZEdVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UDJaMWJtTjBhVzl1ZlNCallXeHNZbUZqYXlCRFlXeHNaV1FnWVdaMFpYSWdZMjl0Y0c5dVpXNTBJR2x6SUhWd1pHRjBaV1F1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdQM04wY21sdVozMGdUbUZ0WlNCdlppQjBhR1VnWTJGc2JHbHVaeUJtZFc1amRHbHZiaUJwYmlCMGFHVWdjSFZpYkdsaklFRlFTUzVjYmlBZ0lDb2dRR2x1ZEdWeWJtRnNYRzRnSUNBcUwxeHVJQ0JsYm5GMVpYVmxVMlYwVTNSaGRHVTZJR1oxYm1OMGFXOXVJQ2h3ZFdKc2FXTkpibk4wWVc1alpTd2djR0Z5ZEdsaGJGTjBZWFJsTENCallXeHNZbUZqYXl3Z1kyRnNiR1Z5VG1GdFpTa2dlMXh1SUNBZ0lIZGhjbTVPYjI5d0tIQjFZbXhwWTBsdWMzUmhibU5sTENBbmMyVjBVM1JoZEdVbktUdGNiaUFnZlZ4dWZUdGNibHh1ZG1GeUlHVnRjSFI1VDJKcVpXTjBJRDBnZTMwN1hHNWNibnRjYmlBZ1QySnFaV04wTG1aeVpXVjZaU2hsYlhCMGVVOWlhbVZqZENrN1hHNTlYRzR2S2lwY2JpQXFJRUpoYzJVZ1kyeGhjM01nYUdWc2NHVnljeUJtYjNJZ2RHaGxJSFZ3WkdGMGFXNW5JSE4wWVhSbElHOW1JR0VnWTI5dGNHOXVaVzUwTGx4dUlDb3ZYRzVjYmx4dVpuVnVZM1JwYjI0Z1EyOXRjRzl1Wlc1MEtIQnliM0J6TENCamIyNTBaWGgwTENCMWNHUmhkR1Z5S1NCN1hHNGdJSFJvYVhNdWNISnZjSE1nUFNCd2NtOXdjenRjYmlBZ2RHaHBjeTVqYjI1MFpYaDBJRDBnWTI5dWRHVjRkRHNnTHk4Z1NXWWdZU0JqYjIxd2IyNWxiblFnYUdGeklITjBjbWx1WnlCeVpXWnpMQ0IzWlNCM2FXeHNJR0Z6YzJsbmJpQmhJR1JwWm1abGNtVnVkQ0J2WW1wbFkzUWdiR0YwWlhJdVhHNWNiaUFnZEdocGN5NXlaV1p6SUQwZ1pXMXdkSGxQWW1wbFkzUTdJQzh2SUZkbElHbHVhWFJwWVd4cGVtVWdkR2hsSUdSbFptRjFiSFFnZFhCa1lYUmxjaUJpZFhRZ2RHaGxJSEpsWVd3Z2IyNWxJR2RsZEhNZ2FXNXFaV04wWldRZ1lua2dkR2hsWEc0Z0lDOHZJSEpsYm1SbGNtVnlMbHh1WEc0Z0lIUm9hWE11ZFhCa1lYUmxjaUE5SUhWd1pHRjBaWElnZkh3Z1VtVmhZM1JPYjI5d1ZYQmtZWFJsVVhWbGRXVTdYRzU5WEc1Y2JrTnZiWEJ2Ym1WdWRDNXdjbTkwYjNSNWNHVXVhWE5TWldGamRFTnZiWEJ2Ym1WdWRDQTlJSHQ5TzF4dUx5b3FYRzRnS2lCVFpYUnpJR0VnYzNWaWMyVjBJRzltSUhSb1pTQnpkR0YwWlM0Z1FXeDNZWGx6SUhWelpTQjBhR2x6SUhSdklHMTFkR0YwWlZ4dUlDb2djM1JoZEdVdUlGbHZkU0J6YUc5MWJHUWdkSEpsWVhRZ1lIUm9hWE11YzNSaGRHVmdJR0Z6SUdsdGJYVjBZV0pzWlM1Y2JpQXFYRzRnS2lCVWFHVnlaU0JwY3lCdWJ5Qm5kV0Z5WVc1MFpXVWdkR2hoZENCZ2RHaHBjeTV6ZEdGMFpXQWdkMmxzYkNCaVpTQnBiVzFsWkdsaGRHVnNlU0IxY0dSaGRHVmtMQ0J6YjF4dUlDb2dZV05qWlhOemFXNW5JR0IwYUdsekxuTjBZWFJsWUNCaFpuUmxjaUJqWVd4c2FXNW5JSFJvYVhNZ2JXVjBhRzlrSUcxaGVTQnlaWFIxY200Z2RHaGxJRzlzWkNCMllXeDFaUzVjYmlBcVhHNGdLaUJVYUdWeVpTQnBjeUJ1YnlCbmRXRnlZVzUwWldVZ2RHaGhkQ0JqWVd4c2N5QjBieUJnYzJWMFUzUmhkR1ZnSUhkcGJHd2djblZ1SUhONWJtTm9jbTl1YjNWemJIa3NYRzRnS2lCaGN5QjBhR1Y1SUcxaGVTQmxkbVZ1ZEhWaGJHeDVJR0psSUdKaGRHTm9aV1FnZEc5blpYUm9aWEl1SUNCWmIzVWdZMkZ1SUhCeWIzWnBaR1VnWVc0Z2IzQjBhVzl1WVd4Y2JpQXFJR05oYkd4aVlXTnJJSFJvWVhRZ2QybHNiQ0JpWlNCbGVHVmpkWFJsWkNCM2FHVnVJSFJvWlNCallXeHNJSFJ2SUhObGRGTjBZWFJsSUdseklHRmpkSFZoYkd4NVhHNGdLaUJqYjIxd2JHVjBaV1F1WEc0Z0tseHVJQ29nVjJobGJpQmhJR1oxYm1OMGFXOXVJR2x6SUhCeWIzWnBaR1ZrSUhSdklITmxkRk4wWVhSbExDQnBkQ0IzYVd4c0lHSmxJR05oYkd4bFpDQmhkQ0J6YjIxbElIQnZhVzUwSUdsdVhHNGdLaUIwYUdVZ1puVjBkWEpsSUNodWIzUWdjM2x1WTJoeWIyNXZkWE5zZVNrdUlFbDBJSGRwYkd3Z1ltVWdZMkZzYkdWa0lIZHBkR2dnZEdobElIVndJSFJ2SUdSaGRHVmNiaUFxSUdOdmJYQnZibVZ1ZENCaGNtZDFiV1Z1ZEhNZ0tITjBZWFJsTENCd2NtOXdjeXdnWTI5dWRHVjRkQ2t1SUZSb1pYTmxJSFpoYkhWbGN5QmpZVzRnWW1VZ1pHbG1abVZ5Wlc1MFhHNGdLaUJtY205dElIUm9hWE11S2lCaVpXTmhkWE5sSUhsdmRYSWdablZ1WTNScGIyNGdiV0Y1SUdKbElHTmhiR3hsWkNCaFpuUmxjaUJ5WldObGFYWmxVSEp2Y0hNZ1luVjBJR0psWm05eVpWeHVJQ29nYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbExDQmhibVFnZEdocGN5QnVaWGNnYzNSaGRHVXNJSEJ5YjNCekxDQmhibVFnWTI5dWRHVjRkQ0IzYVd4c0lHNXZkQ0I1WlhRZ1ltVmNiaUFxSUdGemMybG5ibVZrSUhSdklIUm9hWE11WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjhablZ1WTNScGIyNTlJSEJoY25ScFlXeFRkR0YwWlNCT1pYaDBJSEJoY25ScFlXd2djM1JoZEdVZ2IzSWdablZ1WTNScGIyNGdkRzljYmlBcUlDQWdJQ0FnSUNCd2NtOWtkV05sSUc1bGVIUWdjR0Z5ZEdsaGJDQnpkR0YwWlNCMGJ5QmlaU0J0WlhKblpXUWdkMmwwYUNCamRYSnlaVzUwSUhOMFlYUmxMbHh1SUNvZ1FIQmhjbUZ0SUhzL1puVnVZM1JwYjI1OUlHTmhiR3hpWVdOcklFTmhiR3hsWkNCaFpuUmxjaUJ6ZEdGMFpTQnBjeUIxY0dSaGRHVmtMbHh1SUNvZ1FHWnBibUZzWEc0Z0tpQkFjSEp2ZEdWamRHVmtYRzRnS2k5Y2JseHVRMjl0Y0c5dVpXNTBMbkJ5YjNSdmRIbHdaUzV6WlhSVGRHRjBaU0E5SUdaMWJtTjBhVzl1SUNod1lYSjBhV0ZzVTNSaGRHVXNJR05oYkd4aVlXTnJLU0I3WEc0Z0lHbG1JQ2doS0hSNWNHVnZaaUJ3WVhKMGFXRnNVM1JoZEdVZ1BUMDlJQ2R2WW1wbFkzUW5JSHg4SUhSNWNHVnZaaUJ3WVhKMGFXRnNVM1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNnZkh3Z2NHRnlkR2xoYkZOMFlYUmxJRDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aWMyVjBVM1JoZEdVb0xpNHVLVG9nZEdGclpYTWdZVzRnYjJKcVpXTjBJRzltSUhOMFlYUmxJSFpoY21saFlteGxjeUIwYnlCMWNHUmhkR1VnYjNJZ1lTQm1kVzVqZEdsdmJpQjNhR2xqYUNCeVpYUjFjbTV6SUdGdUlHOWlhbVZqZENCdlppQnpkR0YwWlNCMllYSnBZV0pzWlhNdVhDSWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IwYUdsekxuVndaR0YwWlhJdVpXNXhkV1YxWlZObGRGTjBZWFJsS0hSb2FYTXNJSEJoY25ScFlXeFRkR0YwWlN3Z1kyRnNiR0poWTJzc0lDZHpaWFJUZEdGMFpTY3BPMXh1ZlR0Y2JpOHFLbHh1SUNvZ1JtOXlZMlZ6SUdGdUlIVndaR0YwWlM0Z1ZHaHBjeUJ6YUc5MWJHUWdiMjVzZVNCaVpTQnBiblp2YTJWa0lIZG9aVzRnYVhRZ2FYTWdhMjV2ZDI0Z2QybDBhRnh1SUNvZ1kyVnlkR0ZwYm5SNUlIUm9ZWFFnZDJVZ1lYSmxJQ29xYm05MEtpb2dhVzRnWVNCRVQwMGdkSEpoYm5OaFkzUnBiMjR1WEc0Z0tseHVJQ29nV1c5MUlHMWhlU0IzWVc1MElIUnZJR05oYkd3Z2RHaHBjeUIzYUdWdUlIbHZkU0JyYm05M0lIUm9ZWFFnYzI5dFpTQmtaV1Z3WlhJZ1lYTndaV04wSUc5bUlIUm9aVnh1SUNvZ1kyOXRjRzl1Wlc1MEozTWdjM1JoZEdVZ2FHRnpJR05vWVc1blpXUWdZblYwSUdCelpYUlRkR0YwWldBZ2QyRnpJRzV2ZENCallXeHNaV1F1WEc0Z0tseHVJQ29nVkdocGN5QjNhV3hzSUc1dmRDQnBiblp2YTJVZ1lITm9iM1ZzWkVOdmJYQnZibVZ1ZEZWd1pHRjBaV0FzSUdKMWRDQnBkQ0IzYVd4c0lHbHVkbTlyWlZ4dUlDb2dZR052YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZnSUdGdVpDQmdZMjl0Y0c5dVpXNTBSR2xrVlhCa1lYUmxZQzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlejltZFc1amRHbHZibjBnWTJGc2JHSmhZMnNnUTJGc2JHVmtJR0ZtZEdWeUlIVndaR0YwWlNCcGN5QmpiMjF3YkdWMFpTNWNiaUFxSUVCbWFXNWhiRnh1SUNvZ1FIQnliM1JsWTNSbFpGeHVJQ292WEc1Y2JseHVRMjl0Y0c5dVpXNTBMbkJ5YjNSdmRIbHdaUzVtYjNKalpWVndaR0YwWlNBOUlHWjFibU4wYVc5dUlDaGpZV3hzWW1GamF5a2dlMXh1SUNCMGFHbHpMblZ3WkdGMFpYSXVaVzV4ZFdWMVpVWnZjbU5sVlhCa1lYUmxLSFJvYVhNc0lHTmhiR3hpWVdOckxDQW5abTl5WTJWVmNHUmhkR1VuS1R0Y2JuMDdYRzR2S2lwY2JpQXFJRVJsY0hKbFkyRjBaV1FnUVZCSmN5NGdWR2hsYzJVZ1FWQkpjeUIxYzJWa0lIUnZJR1Y0YVhOMElHOXVJR05zWVhOemFXTWdVbVZoWTNRZ1kyeGhjM05sY3lCaWRYUWdjMmx1WTJWY2JpQXFJSGRsSUhkdmRXeGtJR3hwYTJVZ2RHOGdaR1Z3Y21WallYUmxJSFJvWlcwc0lIZGxKM0psSUc1dmRDQm5iMmx1WnlCMGJ5QnRiM1psSUhSb1pXMGdiM1psY2lCMGJ5QjBhR2x6WEc0Z0tpQnRiMlJsY200Z1ltRnpaU0JqYkdGemN5NGdTVzV6ZEdWaFpDd2dkMlVnWkdWbWFXNWxJR0VnWjJWMGRHVnlJSFJvWVhRZ2QyRnlibk1nYVdZZ2FYUW5jeUJoWTJObGMzTmxaQzVjYmlBcUwxeHVYRzVjYm50Y2JpQWdkbUZ5SUdSbGNISmxZMkYwWldSQlVFbHpJRDBnZTF4dUlDQWdJR2x6VFc5MWJuUmxaRG9nV3lkcGMwMXZkVzUwWldRbkxDQW5TVzV6ZEdWaFpDd2diV0ZyWlNCemRYSmxJSFJ2SUdOc1pXRnVJSFZ3SUhOMVluTmpjbWx3ZEdsdmJuTWdZVzVrSUhCbGJtUnBibWNnY21WeGRXVnpkSE1nYVc0Z0p5QXJJQ2RqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENCMGJ5QndjbVYyWlc1MElHMWxiVzl5ZVNCc1pXRnJjeTRuWFN4Y2JpQWdJQ0J5WlhCc1lXTmxVM1JoZEdVNklGc25jbVZ3YkdGalpWTjBZWFJsSnl3Z0oxSmxabUZqZEc5eUlIbHZkWElnWTI5a1pTQjBieUIxYzJVZ2MyVjBVM1JoZEdVZ2FXNXpkR1ZoWkNBb2MyVmxJQ2NnS3lBbmFIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyWmhZMlZpYjI5ckwzSmxZV04wTDJsemMzVmxjeTh6TWpNMktTNG5YVnh1SUNCOU8xeHVYRzRnSUhaaGNpQmtaV1pwYm1WRVpYQnlaV05oZEdsdmJsZGhjbTVwYm1jZ1BTQm1kVzVqZEdsdmJpQW9iV1YwYUc5a1RtRnRaU3dnYVc1bWJ5a2dlMXh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hEYjIxd2IyNWxiblF1Y0hKdmRHOTBlWEJsTENCdFpYUm9iMlJPWVcxbExDQjdYRzRnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdkMkZ5YmlnbkpYTW9MaTR1S1NCcGN5QmtaWEJ5WldOaGRHVmtJR2x1SUhCc1lXbHVJRXBoZG1GVFkzSnBjSFFnVW1WaFkzUWdZMnhoYzNObGN5NGdKWE1uTENCcGJtWnZXekJkTENCcGJtWnZXekZkS1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVJQ0I5TzF4dVhHNGdJR1p2Y2lBb2RtRnlJR1p1VG1GdFpTQnBiaUJrWlhCeVpXTmhkR1ZrUVZCSmN5a2dlMXh1SUNBZ0lHbG1JQ2hrWlhCeVpXTmhkR1ZrUVZCSmN5NW9ZWE5QZDI1UWNtOXdaWEowZVNobWJrNWhiV1VwS1NCN1hHNGdJQ0FnSUNCa1pXWnBibVZFWlhCeVpXTmhkR2x2YmxkaGNtNXBibWNvWm01T1lXMWxMQ0JrWlhCeVpXTmhkR1ZrUVZCSmMxdG1iazVoYldWZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdRMjl0Y0c5dVpXNTBSSFZ0Ylhrb0tTQjdmVnh1WEc1RGIyMXdiMjVsYm5SRWRXMXRlUzV3Y205MGIzUjVjR1VnUFNCRGIyMXdiMjVsYm5RdWNISnZkRzkwZVhCbE8xeHVMeW9xWEc0Z0tpQkRiMjUyWlc1cFpXNWpaU0JqYjIxd2IyNWxiblFnZDJsMGFDQmtaV1poZFd4MElITm9ZV3hzYjNjZ1pYRjFZV3hwZEhrZ1kyaGxZMnNnWm05eUlITkRWUzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJRZFhKbFEyOXRjRzl1Wlc1MEtIQnliM0J6TENCamIyNTBaWGgwTENCMWNHUmhkR1Z5S1NCN1hHNGdJSFJvYVhNdWNISnZjSE1nUFNCd2NtOXdjenRjYmlBZ2RHaHBjeTVqYjI1MFpYaDBJRDBnWTI5dWRHVjRkRHNnTHk4Z1NXWWdZU0JqYjIxd2IyNWxiblFnYUdGeklITjBjbWx1WnlCeVpXWnpMQ0IzWlNCM2FXeHNJR0Z6YzJsbmJpQmhJR1JwWm1abGNtVnVkQ0J2WW1wbFkzUWdiR0YwWlhJdVhHNWNiaUFnZEdocGN5NXlaV1p6SUQwZ1pXMXdkSGxQWW1wbFkzUTdYRzRnSUhSb2FYTXVkWEJrWVhSbGNpQTlJSFZ3WkdGMFpYSWdmSHdnVW1WaFkzUk9iMjl3VlhCa1lYUmxVWFZsZFdVN1hHNTlYRzVjYm5aaGNpQndkWEpsUTI5dGNHOXVaVzUwVUhKdmRHOTBlWEJsSUQwZ1VIVnlaVU52YlhCdmJtVnVkQzV3Y205MGIzUjVjR1VnUFNCdVpYY2dRMjl0Y0c5dVpXNTBSSFZ0Ylhrb0tUdGNibkIxY21WRGIyMXdiMjVsYm5SUWNtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JRZFhKbFEyOXRjRzl1Wlc1ME95QXZMeUJCZG05cFpDQmhiaUJsZUhSeVlTQndjbTkwYjNSNWNHVWdhblZ0Y0NCbWIzSWdkR2hsYzJVZ2JXVjBhRzlrY3k1Y2JseHVYMkZ6YzJsbmJpaHdkWEpsUTI5dGNHOXVaVzUwVUhKdmRHOTBlWEJsTENCRGIyMXdiMjVsYm5RdWNISnZkRzkwZVhCbEtUdGNibHh1Y0hWeVpVTnZiWEJ2Ym1WdWRGQnliM1J2ZEhsd1pTNXBjMUIxY21WU1pXRmpkRU52YlhCdmJtVnVkQ0E5SUhSeWRXVTdYRzVjYmk4dklHRnVJR2x0YlhWMFlXSnNaU0J2WW1wbFkzUWdkMmwwYUNCaElITnBibWRzWlNCdGRYUmhZbXhsSUhaaGJIVmxYRzVtZFc1amRHbHZiaUJqY21WaGRHVlNaV1lvS1NCN1hHNGdJSFpoY2lCeVpXWlBZbXBsWTNRZ1BTQjdYRzRnSUNBZ1kzVnljbVZ1ZERvZ2JuVnNiRnh1SUNCOU8xeHVYRzRnSUh0Y2JpQWdJQ0JQWW1wbFkzUXVjMlZoYkNoeVpXWlBZbXBsWTNRcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlISmxaazlpYW1WamREdGNibjFjYmx4dWRtRnlJR2hoYzA5M2JsQnliM0JsY25SNUlEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVR0Y2JuWmhjaUJTUlZORlVsWkZSRjlRVWs5UVV5QTlJSHRjYmlBZ2EyVjVPaUIwY25WbExGeHVJQ0J5WldZNklIUnlkV1VzWEc0Z0lGOWZjMlZzWmpvZ2RISjFaU3hjYmlBZ1gxOXpiM1Z5WTJVNklIUnlkV1ZjYm4wN1hHNTJZWElnYzNCbFkybGhiRkJ5YjNCTFpYbFhZWEp1YVc1blUyaHZkMjRzSUhOd1pXTnBZV3hRY205d1VtVm1WMkZ5Ym1sdVoxTm9iM2R1TENCa2FXUlhZWEp1UVdKdmRYUlRkSEpwYm1kU1pXWnpPMXh1WEc1N1hHNGdJR1JwWkZkaGNtNUJZbTkxZEZOMGNtbHVaMUpsWm5NZ1BTQjdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdhR0Z6Vm1Gc2FXUlNaV1lvWTI5dVptbG5LU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9hR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hqYjI1bWFXY3NJQ2R5WldZbktTa2dlMXh1SUNBZ0lDQWdkbUZ5SUdkbGRIUmxjaUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9ZMjl1Wm1sbkxDQW5jbVZtSnlrdVoyVjBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1oyVjBkR1Z5SUNZbUlHZGxkSFJsY2k1cGMxSmxZV04wVjJGeWJtbHVaeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHTnZibVpwWnk1eVpXWWdJVDA5SUhWdVpHVm1hVzVsWkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYUdGelZtRnNhV1JMWlhrb1kyOXVabWxuS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvYUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoamIyNW1hV2NzSUNkclpYa25LU2tnZTF4dUlDQWdJQ0FnZG1GeUlHZGxkSFJsY2lBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvWTI5dVptbG5MQ0FuYTJWNUp5a3VaMlYwTzF4dVhHNGdJQ0FnSUNCcFppQW9aMlYwZEdWeUlDWW1JR2RsZEhSbGNpNXBjMUpsWVdOMFYyRnlibWx1WnlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR052Ym1acFp5NXJaWGtnSVQwOUlIVnVaR1ZtYVc1bFpEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHVm1hVzVsUzJWNVVISnZjRmRoY201cGJtZEhaWFIwWlhJb2NISnZjSE1zSUdScGMzQnNZWGxPWVcxbEtTQjdYRzRnSUhaaGNpQjNZWEp1UVdKdmRYUkJZMk5sYzNOcGJtZExaWGtnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z6Y0dWamFXRnNVSEp2Y0V0bGVWZGhjbTVwYm1kVGFHOTNiaWtnZTF4dUlDQWdJQ0FnSUNCemNHVmphV0ZzVUhKdmNFdGxlVmRoY201cGJtZFRhRzkzYmlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQmdhMlY1WUNCcGN5QnViM1FnWVNCd2NtOXdMaUJVY25scGJtY2dkRzhnWVdOalpYTnpJR2wwSUhkcGJHd2djbVZ6ZFd4MElDY2dLeUFuYVc0Z1lIVnVaR1ZtYVc1bFpHQWdZbVZwYm1jZ2NtVjBkWEp1WldRdUlFbG1JSGx2ZFNCdVpXVmtJSFJ2SUdGalkyVnpjeUIwYUdVZ2MyRnRaU0FuSUNzZ0ozWmhiSFZsSUhkcGRHaHBiaUIwYUdVZ1kyaHBiR1FnWTI5dGNHOXVaVzUwTENCNWIzVWdjMmh2ZFd4a0lIQmhjM01nYVhRZ1lYTWdZU0JrYVdabVpYSmxiblFnSnlBcklDZHdjbTl3TGlBb2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMXpjR1ZqYVdGc0xYQnliM0J6S1Njc0lHUnBjM0JzWVhsT1lXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnZDJGeWJrRmliM1YwUVdOalpYTnphVzVuUzJWNUxtbHpVbVZoWTNSWFlYSnVhVzVuSUQwZ2RISjFaVHRjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEJ5YjNCekxDQW5hMlY1Snl3Z2UxeHVJQ0FnSUdkbGREb2dkMkZ5YmtGaWIzVjBRV05qWlhOemFXNW5TMlY1TEZ4dUlDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh1SUNCOUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHVm1hVzVsVW1WbVVISnZjRmRoY201cGJtZEhaWFIwWlhJb2NISnZjSE1zSUdScGMzQnNZWGxPWVcxbEtTQjdYRzRnSUhaaGNpQjNZWEp1UVdKdmRYUkJZMk5sYzNOcGJtZFNaV1lnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z6Y0dWamFXRnNVSEp2Y0ZKbFpsZGhjbTVwYm1kVGFHOTNiaWtnZTF4dUlDQWdJQ0FnSUNCemNHVmphV0ZzVUhKdmNGSmxabGRoY201cGJtZFRhRzkzYmlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQmdjbVZtWUNCcGN5QnViM1FnWVNCd2NtOXdMaUJVY25scGJtY2dkRzhnWVdOalpYTnpJR2wwSUhkcGJHd2djbVZ6ZFd4MElDY2dLeUFuYVc0Z1lIVnVaR1ZtYVc1bFpHQWdZbVZwYm1jZ2NtVjBkWEp1WldRdUlFbG1JSGx2ZFNCdVpXVmtJSFJ2SUdGalkyVnpjeUIwYUdVZ2MyRnRaU0FuSUNzZ0ozWmhiSFZsSUhkcGRHaHBiaUIwYUdVZ1kyaHBiR1FnWTI5dGNHOXVaVzUwTENCNWIzVWdjMmh2ZFd4a0lIQmhjM01nYVhRZ1lYTWdZU0JrYVdabVpYSmxiblFnSnlBcklDZHdjbTl3TGlBb2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMXpjR1ZqYVdGc0xYQnliM0J6S1Njc0lHUnBjM0JzWVhsT1lXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnZDJGeWJrRmliM1YwUVdOalpYTnphVzVuVW1WbUxtbHpVbVZoWTNSWFlYSnVhVzVuSUQwZ2RISjFaVHRjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEJ5YjNCekxDQW5jbVZtSnl3Z2UxeHVJQ0FnSUdkbGREb2dkMkZ5YmtGaWIzVjBRV05qWlhOemFXNW5VbVZtTEZ4dUlDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh1SUNCOUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2QyRnlia2xtVTNSeWFXNW5VbVZtUTJGdWJtOTBRbVZCZFhSdlEyOXVkbVZ5ZEdWa0tHTnZibVpwWnlrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1bWFXY3VjbVZtSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJTWldGamRFTjFjbkpsYm5SUGQyNWxjaTVqZFhKeVpXNTBJQ1ltSUdOdmJtWnBaeTVmWDNObGJHWWdKaVlnVW1WaFkzUkRkWEp5Wlc1MFQzZHVaWEl1WTNWeWNtVnVkQzV6ZEdGMFpVNXZaR1VnSVQwOUlHTnZibVpwWnk1ZlgzTmxiR1lwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpiMjF3YjI1bGJuUk9ZVzFsSUQwZ1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNoU1pXRmpkRU4xY25KbGJuUlBkMjVsY2k1amRYSnlaVzUwTG5SNWNHVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRmRoY201QlltOTFkRk4wY21sdVoxSmxabk5iWTI5dGNHOXVaVzUwVG1GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KME52YlhCdmJtVnVkQ0JjSWlWelhDSWdZMjl1ZEdGcGJuTWdkR2hsSUhOMGNtbHVaeUJ5WldZZ1hDSWxjMXdpTGlBbklDc2dKMU4xY0hCdmNuUWdabTl5SUhOMGNtbHVaeUJ5WldaeklIZHBiR3dnWW1VZ2NtVnRiM1psWkNCcGJpQmhJR1oxZEhWeVpTQnRZV3B2Y2lCeVpXeGxZWE5sTGlBbklDc2dKMVJvYVhNZ1kyRnpaU0JqWVc1dWIzUWdZbVVnWVhWMGIyMWhkR2xqWVd4c2VTQmpiMjUyWlhKMFpXUWdkRzhnWVc0Z1lYSnliM2NnWm5WdVkzUnBiMjR1SUNjZ0t5QW5WMlVnWVhOcklIbHZkU0IwYnlCdFlXNTFZV3hzZVNCbWFYZ2dkR2hwY3lCallYTmxJR0o1SUhWemFXNW5JSFZ6WlZKbFppZ3BJRzl5SUdOeVpXRjBaVkpsWmlncElHbHVjM1JsWVdRdUlDY2dLeUFuVEdWaGNtNGdiVzl5WlNCaFltOTFkQ0IxYzJsdVp5QnlaV1p6SUhOaFptVnNlU0JvWlhKbE9pQW5JQ3NnSjJoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGMzUnlhV04wTFcxdlpHVXRjM1J5YVc1bkxYSmxaaWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvVW1WaFkzUkRkWEp5Wlc1MFQzZHVaWEl1WTNWeWNtVnVkQzUwZVhCbEtTd2dZMjl1Wm1sbkxuSmxaaWs3WEc1Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBVM1J5YVc1blVtVm1jMXRqYjIxd2IyNWxiblJPWVcxbFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUVaaFkzUnZjbmtnYldWMGFHOWtJSFJ2SUdOeVpXRjBaU0JoSUc1bGR5QlNaV0ZqZENCbGJHVnRaVzUwTGlCVWFHbHpJRzV2SUd4dmJtZGxjaUJoWkdobGNtVnpJSFJ2WEc0Z0tpQjBhR1VnWTJ4aGMzTWdjR0YwZEdWeWJpd2djMjhnWkc4Z2JtOTBJSFZ6WlNCdVpYY2dkRzhnWTJGc2JDQnBkQzRnUVd4emJ5d2dhVzV6ZEdGdVkyVnZaaUJqYUdWamExeHVJQ29nZDJsc2JDQnViM1FnZDI5eWF5NGdTVzV6ZEdWaFpDQjBaWE4wSUNRa2RIbHdaVzltSUdacFpXeGtJR0ZuWVdsdWMzUWdVM2x0WW05c0xtWnZjaWduY21WaFkzUXVaV3hsYldWdWRDY3BJSFJ2SUdOb1pXTnJYRzRnS2lCcFppQnpiMjFsZEdocGJtY2dhWE1nWVNCU1pXRmpkQ0JGYkdWdFpXNTBMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdLbjBnZEhsd1pWeHVJQ29nUUhCaGNtRnRJSHNxZlNCd2NtOXdjMXh1SUNvZ1FIQmhjbUZ0SUhzcWZTQnJaWGxjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZkc5aWFtVmpkSDBnY21WbVhHNGdLaUJBY0dGeVlXMGdleXA5SUc5M2JtVnlYRzRnS2lCQWNHRnlZVzBnZXlwOUlITmxiR1lnUVNBcWRHVnRjRzl5WVhKNUtpQm9aV3h3WlhJZ2RHOGdaR1YwWldOMElIQnNZV05sY3lCM2FHVnlaU0JnZEdocGMyQWdhWE5jYmlBcUlHUnBabVpsY21WdWRDQm1jbTl0SUhSb1pTQmdiM2R1WlhKZ0lIZG9aVzRnVW1WaFkzUXVZM0psWVhSbFJXeGxiV1Z1ZENCcGN5QmpZV3hzWldRc0lITnZJSFJvWVhRZ2QyVmNiaUFxSUdOaGJpQjNZWEp1TGlCWFpTQjNZVzUwSUhSdklHZGxkQ0J5YVdRZ2IyWWdiM2R1WlhJZ1lXNWtJSEpsY0d4aFkyVWdjM1J5YVc1bklHQnlaV1pnY3lCM2FYUm9JR0Z5Y205M1hHNGdLaUJtZFc1amRHbHZibk1zSUdGdVpDQmhjeUJzYjI1bklHRnpJR0IwYUdsellDQmhibVFnYjNkdVpYSWdZWEpsSUhSb1pTQnpZVzFsTENCMGFHVnlaU0IzYVd4c0lHSmxJRzV2WEc0Z0tpQmphR0Z1WjJVZ2FXNGdZbVZvWVhacGIzSXVYRzRnS2lCQWNHRnlZVzBnZXlwOUlITnZkWEpqWlNCQmJpQmhibTV2ZEdGMGFXOXVJRzlpYW1WamRDQW9ZV1JrWldRZ1lua2dZU0IwY21GdWMzQnBiR1Z5SUc5eUlHOTBhR1Z5ZDJselpTbGNiaUFxSUdsdVpHbGpZWFJwYm1jZ1ptbHNaVzVoYldVc0lHeHBibVVnYm5WdFltVnlMQ0JoYm1RdmIzSWdiM1JvWlhJZ2FXNW1iM0p0WVhScGIyNHVYRzRnS2lCQWFXNTBaWEp1WVd4Y2JpQXFMMXh1WEc1Y2JuWmhjaUJTWldGamRFVnNaVzFsYm5RZ1BTQm1kVzVqZEdsdmJpQW9kSGx3WlN3Z2EyVjVMQ0J5WldZc0lITmxiR1lzSUhOdmRYSmpaU3dnYjNkdVpYSXNJSEJ5YjNCektTQjdYRzRnSUhaaGNpQmxiR1Z0Wlc1MElEMGdlMXh1SUNBZ0lDOHZJRlJvYVhNZ2RHRm5JR0ZzYkc5M2N5QjFjeUIwYnlCMWJtbHhkV1ZzZVNCcFpHVnVkR2xtZVNCMGFHbHpJR0Z6SUdFZ1VtVmhZM1FnUld4bGJXVnVkRnh1SUNBZ0lDUWtkSGx3Wlc5bU9pQlNSVUZEVkY5RlRFVk5SVTVVWDFSWlVFVXNYRzRnSUNBZ0x5OGdRblZwYkhRdGFXNGdjSEp2Y0dWeWRHbGxjeUIwYUdGMElHSmxiRzl1WnlCdmJpQjBhR1VnWld4bGJXVnVkRnh1SUNBZ0lIUjVjR1U2SUhSNWNHVXNYRzRnSUNBZ2EyVjVPaUJyWlhrc1hHNGdJQ0FnY21WbU9pQnlaV1lzWEc0Z0lDQWdjSEp2Y0hNNklIQnliM0J6TEZ4dUlDQWdJQzh2SUZKbFkyOXlaQ0IwYUdVZ1kyOXRjRzl1Wlc1MElISmxjM0J2Ym5OcFlteGxJR1p2Y2lCamNtVmhkR2x1WnlCMGFHbHpJR1ZzWlcxbGJuUXVYRzRnSUNBZ1gyOTNibVZ5T2lCdmQyNWxjbHh1SUNCOU8xeHVYRzRnSUh0Y2JpQWdJQ0F2THlCVWFHVWdkbUZzYVdSaGRHbHZiaUJtYkdGbklHbHpJR04xY25KbGJuUnNlU0J0ZFhSaGRHbDJaUzRnVjJVZ2NIVjBJR2wwSUc5dVhHNGdJQ0FnTHk4Z1lXNGdaWGgwWlhKdVlXd2dZbUZqYTJsdVp5QnpkRzl5WlNCemJ5QjBhR0YwSUhkbElHTmhiaUJtY21WbGVtVWdkR2hsSUhkb2IyeGxJRzlpYW1WamRDNWNiaUFnSUNBdkx5QlVhR2x6SUdOaGJpQmlaU0J5WlhCc1lXTmxaQ0IzYVhSb0lHRWdWMlZoYTAxaGNDQnZibU5sSUhSb1pYa2dZWEpsSUdsdGNHeGxiV1Z1ZEdWa0lHbHVYRzRnSUNBZ0x5OGdZMjl0Ylc5dWJIa2dkWE5sWkNCa1pYWmxiRzl3YldWdWRDQmxiblpwY205dWJXVnVkSE11WEc0Z0lDQWdaV3hsYldWdWRDNWZjM1J2Y21VZ1BTQjdmVHNnTHk4Z1ZHOGdiV0ZyWlNCamIyMXdZWEpwYm1jZ1VtVmhZM1JGYkdWdFpXNTBjeUJsWVhOcFpYSWdabTl5SUhSbGMzUnBibWNnY0hWeWNHOXpaWE1zSUhkbElHMWhhMlZjYmlBZ0lDQXZMeUIwYUdVZ2RtRnNhV1JoZEdsdmJpQm1iR0ZuSUc1dmJpMWxiblZ0WlhKaFlteGxJQ2gzYUdWeVpTQndiM056YVdKc1pTd2dkMmhwWTJnZ2MyaHZkV3hrWEc0Z0lDQWdMeThnYVc1amJIVmtaU0JsZG1WeWVTQmxiblpwY205dWJXVnVkQ0IzWlNCeWRXNGdkR1Z6ZEhNZ2FXNHBMQ0J6YnlCMGFHVWdkR1Z6ZENCbWNtRnRaWGR2Y210Y2JpQWdJQ0F2THlCcFoyNXZjbVZ6SUdsMExseHVYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1ZzWlcxbGJuUXVYM04wYjNKbExDQW5kbUZzYVdSaGRHVmtKeXdnZTF4dUlDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQWdJQ0FnZDNKcGRHRmliR1U2SUhSeWRXVXNYRzRnSUNBZ0lDQjJZV3gxWlRvZ1ptRnNjMlZjYmlBZ0lDQjlLVHNnTHk4Z2MyVnNaaUJoYm1RZ2MyOTFjbU5sSUdGeVpTQkVSVllnYjI1c2VTQndjbTl3WlhKMGFXVnpMbHh1WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWc1pXMWxiblFzSUNkZmMyVnNaaWNzSUh0Y2JpQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUhkeWFYUmhZbXhsT2lCbVlXeHpaU3hjYmlBZ0lDQWdJSFpoYkhWbE9pQnpaV3htWEc0Z0lDQWdmU2s3SUM4dklGUjNieUJsYkdWdFpXNTBjeUJqY21WaGRHVmtJR2x1SUhSM2J5QmthV1ptWlhKbGJuUWdjR3hoWTJWeklITm9iM1ZzWkNCaVpTQmpiMjV6YVdSbGNtVmtYRzRnSUNBZ0x5OGdaWEYxWVd3Z1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTWdZVzVrSUhSb1pYSmxabTl5WlNCM1pTQm9hV1JsSUdsMElHWnliMjBnWlc1MWJXVnlZWFJwYjI0dVhHNWNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aV3hsYldWdWRDd2dKMTl6YjNWeVkyVW5MQ0I3WEc0Z0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0IzY21sMFlXSnNaVG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQjJZV3gxWlRvZ2MyOTFjbU5sWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JwWmlBb1QySnFaV04wTG1aeVpXVjZaU2tnZTF4dUlDQWdJQ0FnVDJKcVpXTjBMbVp5WldWNlpTaGxiR1Z0Wlc1MExuQnliM0J6S1R0Y2JpQWdJQ0FnSUU5aWFtVmpkQzVtY21WbGVtVW9aV3hsYldWdWRDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHVnNaVzFsYm5RN1hHNTlPMXh1THlvcVhHNGdLaUJEY21WaGRHVWdZVzVrSUhKbGRIVnliaUJoSUc1bGR5QlNaV0ZqZEVWc1pXMWxiblFnYjJZZ2RHaGxJR2RwZG1WdUlIUjVjR1V1WEc0Z0tpQlRaV1VnYUhSMGNITTZMeTl5WldGamRHcHpMbTl5Wnk5a2IyTnpMM0psWVdOMExXRndhUzVvZEcxc0kyTnlaV0YwWldWc1pXMWxiblJjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkZiR1Z0Wlc1MEtIUjVjR1VzSUdOdmJtWnBaeXdnWTJocGJHUnlaVzRwSUh0Y2JpQWdkbUZ5SUhCeWIzQk9ZVzFsT3lBdkx5QlNaWE5sY25abFpDQnVZVzFsY3lCaGNtVWdaWGgwY21GamRHVmtYRzVjYmlBZ2RtRnlJSEJ5YjNCeklEMGdlMzA3WEc0Z0lIWmhjaUJyWlhrZ1BTQnVkV3hzTzF4dUlDQjJZWElnY21WbUlEMGdiblZzYkR0Y2JpQWdkbUZ5SUhObGJHWWdQU0J1ZFd4c08xeHVJQ0IyWVhJZ2MyOTFjbU5sSUQwZ2JuVnNiRHRjYmx4dUlDQnBaaUFvWTI5dVptbG5JQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQnBaaUFvYUdGelZtRnNhV1JTWldZb1kyOXVabWxuS1NrZ2UxeHVJQ0FnSUNBZ2NtVm1JRDBnWTI5dVptbG5MbkpsWmp0Y2JseHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjNZWEp1U1daVGRISnBibWRTWldaRFlXNXViM1JDWlVGMWRHOURiMjUyWlhKMFpXUW9ZMjl1Wm1sbktUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9hR0Z6Vm1Gc2FXUkxaWGtvWTI5dVptbG5LU2tnZTF4dUlDQWdJQ0FnYTJWNUlEMGdKeWNnS3lCamIyNW1hV2N1YTJWNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhObGJHWWdQU0JqYjI1bWFXY3VYMTl6Wld4bUlEMDlQU0IxYm1SbFptbHVaV1FnUHlCdWRXeHNJRG9nWTI5dVptbG5MbDlmYzJWc1pqdGNiaUFnSUNCemIzVnlZMlVnUFNCamIyNW1hV2N1WDE5emIzVnlZMlVnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JRzUxYkd3Z09pQmpiMjVtYVdjdVgxOXpiM1Z5WTJVN0lDOHZJRkpsYldGcGJtbHVaeUJ3Y205d1pYSjBhV1Z6SUdGeVpTQmhaR1JsWkNCMGJ5QmhJRzVsZHlCd2NtOXdjeUJ2WW1wbFkzUmNibHh1SUNBZ0lHWnZjaUFvY0hKdmNFNWhiV1VnYVc0Z1kyOXVabWxuS1NCN1hHNGdJQ0FnSUNCcFppQW9hR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hqYjI1bWFXY3NJSEJ5YjNCT1lXMWxLU0FtSmlBaFVrVlRSVkpXUlVSZlVGSlBVRk11YUdGelQzZHVVSEp2Y0dWeWRIa29jSEp2Y0U1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIzQnpXM0J5YjNCT1lXMWxYU0E5SUdOdmJtWnBaMXR3Y205d1RtRnRaVjA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRU5vYVd4a2NtVnVJR05oYmlCaVpTQnRiM0psSUhSb1lXNGdiMjVsSUdGeVozVnRaVzUwTENCaGJtUWdkR2h2YzJVZ1lYSmxJSFJ5WVc1elptVnljbVZrSUc5dWRHOWNiaUFnTHk4Z2RHaGxJRzVsZDJ4NUlHRnNiRzlqWVhSbFpDQndjbTl3Y3lCdlltcGxZM1F1WEc1Y2JseHVJQ0IyWVhJZ1kyaHBiR1J5Wlc1TVpXNW5kR2dnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUMwZ01qdGNibHh1SUNCcFppQW9ZMmhwYkdSeVpXNU1aVzVuZEdnZ1BUMDlJREVwSUh0Y2JpQWdJQ0J3Y205d2N5NWphR2xzWkhKbGJpQTlJR05vYVd4a2NtVnVPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHTm9hV3hrY21WdVRHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lIWmhjaUJqYUdsc1pFRnljbUY1SUQwZ1FYSnlZWGtvWTJocGJHUnlaVzVNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYUdsc1pISmxia3hsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamFHbHNaRUZ5Y21GNVcybGRJRDBnWVhKbmRXMWxiblJ6VzJrZ0t5QXlYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQnBaaUFvVDJKcVpXTjBMbVp5WldWNlpTa2dlMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVabkpsWlhwbEtHTm9hV3hrUVhKeVlYa3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIQnliM0J6TG1Ob2FXeGtjbVZ1SUQwZ1kyaHBiR1JCY25KaGVUdGNiaUFnZlNBdkx5QlNaWE52YkhabElHUmxabUYxYkhRZ2NISnZjSE5jYmx4dVhHNGdJR2xtSUNoMGVYQmxJQ1ltSUhSNWNHVXVaR1ZtWVhWc2RGQnliM0J6S1NCN1hHNGdJQ0FnZG1GeUlHUmxabUYxYkhSUWNtOXdjeUE5SUhSNWNHVXVaR1ZtWVhWc2RGQnliM0J6TzF4dVhHNGdJQ0FnWm05eUlDaHdjbTl3VG1GdFpTQnBiaUJrWldaaGRXeDBVSEp2Y0hNcElIdGNiaUFnSUNBZ0lHbG1JQ2h3Y205d2MxdHdjbTl3VG1GdFpWMGdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0lDQndjbTl3YzF0d2NtOXdUbUZ0WlYwZ1BTQmtaV1poZFd4MFVISnZjSE5iY0hKdmNFNWhiV1ZkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0JwWmlBb2EyVjVJSHg4SUhKbFppa2dlMXh1SUNBZ0lDQWdkbUZ5SUdScGMzQnNZWGxPWVcxbElEMGdkSGx3Wlc5bUlIUjVjR1VnUFQwOUlDZG1kVzVqZEdsdmJpY2dQeUIwZVhCbExtUnBjM0JzWVhsT1lXMWxJSHg4SUhSNWNHVXVibUZ0WlNCOGZDQW5WVzVyYm05M2JpY2dPaUIwZVhCbE8xeHVYRzRnSUNBZ0lDQnBaaUFvYTJWNUtTQjdYRzRnSUNBZ0lDQWdJR1JsWm1sdVpVdGxlVkJ5YjNCWFlYSnVhVzVuUjJWMGRHVnlLSEJ5YjNCekxDQmthWE53YkdGNVRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHlaV1lwSUh0Y2JpQWdJQ0FnSUNBZ1pHVm1hVzVsVW1WbVVISnZjRmRoY201cGJtZEhaWFIwWlhJb2NISnZjSE1zSUdScGMzQnNZWGxPWVcxbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1VtVmhZM1JGYkdWdFpXNTBLSFI1Y0dVc0lHdGxlU3dnY21WbUxDQnpaV3htTENCemIzVnlZMlVzSUZKbFlXTjBRM1Z5Y21WdWRFOTNibVZ5TG1OMWNuSmxiblFzSUhCeWIzQnpLVHRjYm4xY2JtWjFibU4wYVc5dUlHTnNiMjVsUVc1a1VtVndiR0ZqWlV0bGVTaHZiR1JGYkdWdFpXNTBMQ0J1WlhkTFpYa3BJSHRjYmlBZ2RtRnlJRzVsZDBWc1pXMWxiblFnUFNCU1pXRmpkRVZzWlcxbGJuUW9iMnhrUld4bGJXVnVkQzUwZVhCbExDQnVaWGRMWlhrc0lHOXNaRVZzWlcxbGJuUXVjbVZtTENCdmJHUkZiR1Z0Wlc1MExsOXpaV3htTENCdmJHUkZiR1Z0Wlc1MExsOXpiM1Z5WTJVc0lHOXNaRVZzWlcxbGJuUXVYMjkzYm1WeUxDQnZiR1JGYkdWdFpXNTBMbkJ5YjNCektUdGNiaUFnY21WMGRYSnVJRzVsZDBWc1pXMWxiblE3WEc1OVhHNHZLaXBjYmlBcUlFTnNiMjVsSUdGdVpDQnlaWFIxY200Z1lTQnVaWGNnVW1WaFkzUkZiR1Z0Wlc1MElIVnphVzVuSUdWc1pXMWxiblFnWVhNZ2RHaGxJSE4wWVhKMGFXNW5JSEJ2YVc1MExseHVJQ29nVTJWbElHaDBkSEJ6T2k4dmNtVmhZM1JxY3k1dmNtY3ZaRzlqY3k5eVpXRmpkQzFoY0drdWFIUnRiQ05qYkc5dVpXVnNaVzFsYm5SY2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCamJHOXVaVVZzWlcxbGJuUW9aV3hsYldWdWRDd2dZMjl1Wm1sbkxDQmphR2xzWkhKbGJpa2dlMXh1SUNCcFppQW9JU0VvWld4bGJXVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCbGJHVnRaVzUwSUQwOVBTQjFibVJsWm1sdVpXUXBLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVVtVmhZM1F1WTJ4dmJtVkZiR1Z0Wlc1MEtDNHVMaWs2SUZSb1pTQmhjbWQxYldWdWRDQnRkWE4wSUdKbElHRWdVbVZoWTNRZ1pXeGxiV1Z1ZEN3Z1luVjBJSGx2ZFNCd1lYTnpaV1FnWENJZ0t5QmxiR1Z0Wlc1MElDc2dYQ0l1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnY0hKdmNFNWhiV1U3SUM4dklFOXlhV2RwYm1Gc0lIQnliM0J6SUdGeVpTQmpiM0JwWldSY2JseHVJQ0IyWVhJZ2NISnZjSE1nUFNCZllYTnphV2R1S0h0OUxDQmxiR1Z0Wlc1MExuQnliM0J6S1RzZ0x5OGdVbVZ6WlhKMlpXUWdibUZ0WlhNZ1lYSmxJR1Y0ZEhKaFkzUmxaRnh1WEc1Y2JpQWdkbUZ5SUd0bGVTQTlJR1ZzWlcxbGJuUXVhMlY1TzF4dUlDQjJZWElnY21WbUlEMGdaV3hsYldWdWRDNXlaV1k3SUM4dklGTmxiR1lnYVhNZ2NISmxjMlZ5ZG1Wa0lITnBibU5sSUhSb1pTQnZkMjVsY2lCcGN5QndjbVZ6WlhKMlpXUXVYRzVjYmlBZ2RtRnlJSE5sYkdZZ1BTQmxiR1Z0Wlc1MExsOXpaV3htT3lBdkx5QlRiM1Z5WTJVZ2FYTWdjSEpsYzJWeWRtVmtJSE5wYm1ObElHTnNiMjVsUld4bGJXVnVkQ0JwY3lCMWJteHBhMlZzZVNCMGJ5QmlaU0IwWVhKblpYUmxaQ0JpZVNCaFhHNGdJQzh2SUhSeVlXNXpjR2xzWlhJc0lHRnVaQ0IwYUdVZ2IzSnBaMmx1WVd3Z2MyOTFjbU5sSUdseklIQnliMkpoWW14NUlHRWdZbVYwZEdWeUlHbHVaR2xqWVhSdmNpQnZaaUIwYUdWY2JpQWdMeThnZEhKMVpTQnZkMjVsY2k1Y2JseHVJQ0IyWVhJZ2MyOTFjbU5sSUQwZ1pXeGxiV1Z1ZEM1ZmMyOTFjbU5sT3lBdkx5QlBkMjVsY2lCM2FXeHNJR0psSUhCeVpYTmxjblpsWkN3Z2RXNXNaWE56SUhKbFppQnBjeUJ2ZG1WeWNtbGtaR1Z1WEc1Y2JpQWdkbUZ5SUc5M2JtVnlJRDBnWld4bGJXVnVkQzVmYjNkdVpYSTdYRzVjYmlBZ2FXWWdLR052Ym1acFp5QWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLR2hoYzFaaGJHbGtVbVZtS0dOdmJtWnBaeWtwSUh0Y2JpQWdJQ0FnSUM4dklGTnBiR1Z1ZEd4NUlITjBaV0ZzSUhSb1pTQnlaV1lnWm5KdmJTQjBhR1VnY0dGeVpXNTBMbHh1SUNBZ0lDQWdjbVZtSUQwZ1kyOXVabWxuTG5KbFpqdGNiaUFnSUNBZ0lHOTNibVZ5SUQwZ1VtVmhZM1JEZFhKeVpXNTBUM2R1WlhJdVkzVnljbVZ1ZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2FHRnpWbUZzYVdSTFpYa29ZMjl1Wm1sbktTa2dlMXh1SUNBZ0lDQWdhMlY1SUQwZ0p5Y2dLeUJqYjI1bWFXY3VhMlY1TzF4dUlDQWdJSDBnTHk4Z1VtVnRZV2x1YVc1bklIQnliM0JsY25ScFpYTWdiM1psY25KcFpHVWdaWGhwYzNScGJtY2djSEp2Y0hOY2JseHVYRzRnSUNBZ2RtRnlJR1JsWm1GMWJIUlFjbTl3Y3p0Y2JseHVJQ0FnSUdsbUlDaGxiR1Z0Wlc1MExuUjVjR1VnSmlZZ1pXeGxiV1Z1ZEM1MGVYQmxMbVJsWm1GMWJIUlFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ1pHVm1ZWFZzZEZCeWIzQnpJRDBnWld4bGJXVnVkQzUwZVhCbExtUmxabUYxYkhSUWNtOXdjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0hCeWIzQk9ZVzFsSUdsdUlHTnZibVpwWnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2hoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvWTI5dVptbG5MQ0J3Y205d1RtRnRaU2tnSmlZZ0lWSkZVMFZTVmtWRVgxQlNUMUJUTG1oaGMwOTNibEJ5YjNCbGNuUjVLSEJ5YjNCT1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZMjl1Wm1sblczQnliM0JPWVcxbFhTQTlQVDBnZFc1a1pXWnBibVZrSUNZbUlHUmxabUYxYkhSUWNtOXdjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1VtVnpiMngyWlNCa1pXWmhkV3gwSUhCeWIzQnpYRzRnSUNBZ0lDQWdJQ0FnY0hKdmNITmJjSEp2Y0U1aGJXVmRJRDBnWkdWbVlYVnNkRkJ5YjNCelczQnliM0JPWVcxbFhUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J3Y205d2MxdHdjbTl3VG1GdFpWMGdQU0JqYjI1bWFXZGJjSEp2Y0U1aGJXVmRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRU5vYVd4a2NtVnVJR05oYmlCaVpTQnRiM0psSUhSb1lXNGdiMjVsSUdGeVozVnRaVzUwTENCaGJtUWdkR2h2YzJVZ1lYSmxJSFJ5WVc1elptVnljbVZrSUc5dWRHOWNiaUFnTHk4Z2RHaGxJRzVsZDJ4NUlHRnNiRzlqWVhSbFpDQndjbTl3Y3lCdlltcGxZM1F1WEc1Y2JseHVJQ0IyWVhJZ1kyaHBiR1J5Wlc1TVpXNW5kR2dnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUMwZ01qdGNibHh1SUNCcFppQW9ZMmhwYkdSeVpXNU1aVzVuZEdnZ1BUMDlJREVwSUh0Y2JpQWdJQ0J3Y205d2N5NWphR2xzWkhKbGJpQTlJR05vYVd4a2NtVnVPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHTm9hV3hrY21WdVRHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lIWmhjaUJqYUdsc1pFRnljbUY1SUQwZ1FYSnlZWGtvWTJocGJHUnlaVzVNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYUdsc1pISmxia3hsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamFHbHNaRUZ5Y21GNVcybGRJRDBnWVhKbmRXMWxiblJ6VzJrZ0t5QXlYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndjbTl3Y3k1amFHbHNaSEpsYmlBOUlHTm9hV3hrUVhKeVlYazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdVbVZoWTNSRmJHVnRaVzUwS0dWc1pXMWxiblF1ZEhsd1pTd2dhMlY1TENCeVpXWXNJSE5sYkdZc0lITnZkWEpqWlN3Z2IzZHVaWElzSUhCeWIzQnpLVHRjYm4xY2JpOHFLbHh1SUNvZ1ZtVnlhV1pwWlhNZ2RHaGxJRzlpYW1WamRDQnBjeUJoSUZKbFlXTjBSV3hsYldWdWRDNWNiaUFxSUZObFpTQm9kSFJ3Y3pvdkwzSmxZV04wYW5NdWIzSm5MMlJ2WTNNdmNtVmhZM1F0WVhCcExtaDBiV3dqYVhOMllXeHBaR1ZzWlcxbGJuUmNiaUFxSUVCd1lYSmhiU0I3UDI5aWFtVmpkSDBnYjJKcVpXTjBYRzRnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlNCVWNuVmxJR2xtSUdCdlltcGxZM1JnSUdseklHRWdVbVZoWTNSRmJHVnRaVzUwTGx4dUlDb2dRR1pwYm1Gc1hHNGdLaTljYmx4dVpuVnVZM1JwYjI0Z2FYTldZV3hwWkVWc1pXMWxiblFvYjJKcVpXTjBLU0I3WEc0Z0lISmxkSFZ5YmlCMGVYQmxiMllnYjJKcVpXTjBJRDA5UFNBbmIySnFaV04wSnlBbUppQnZZbXBsWTNRZ0lUMDlJRzUxYkd3Z0ppWWdiMkpxWldOMExpUWtkSGx3Wlc5bUlEMDlQU0JTUlVGRFZGOUZURVZOUlU1VVgxUlpVRVU3WEc1OVhHNWNiblpoY2lCVFJWQkJVa0ZVVDFJZ1BTQW5MaWM3WEc1MllYSWdVMVZDVTBWUVFWSkJWRTlTSUQwZ0p6b25PMXh1THlvcVhHNGdLaUJGYzJOaGNHVWdZVzVrSUhkeVlYQWdhMlY1SUhOdklHbDBJR2x6SUhOaFptVWdkRzhnZFhObElHRnpJR0VnY21WaFkzUnBaRnh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnJaWGtnZEc4Z1ltVWdaWE5qWVhCbFpDNWNiaUFxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzBnZEdobElHVnpZMkZ3WldRZ2EyVjVMbHh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR1Z6WTJGd1pTaHJaWGtwSUh0Y2JpQWdkbUZ5SUdWelkyRndaVkpsWjJWNElEMGdMMXM5T2wwdlp6dGNiaUFnZG1GeUlHVnpZMkZ3WlhKTWIyOXJkWEFnUFNCN1hHNGdJQ0FnSnowbk9pQW5QVEFuTEZ4dUlDQWdJQ2M2SnpvZ0p6MHlKMXh1SUNCOU8xeHVJQ0IyWVhJZ1pYTmpZWEJsWkZOMGNtbHVaeUE5SUNnbkp5QXJJR3RsZVNrdWNtVndiR0ZqWlNobGMyTmhjR1ZTWldkbGVDd2dablZ1WTNScGIyNGdLRzFoZEdOb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdWelkyRndaWEpNYjI5cmRYQmJiV0YwWTJoZE8xeHVJQ0I5S1R0Y2JpQWdjbVYwZFhKdUlDY2tKeUFySUdWelkyRndaV1JUZEhKcGJtYzdYRzU5WEc0dktpcGNiaUFxSUZSUFJFODZJRlJsYzNRZ2RHaGhkQ0JoSUhOcGJtZHNaU0JqYUdsc1pDQmhibVFnWVc0Z1lYSnlZWGtnZDJsMGFDQnZibVVnYVhSbGJTQm9ZWFpsSUhSb1pTQnpZVzFsSUd0bGVWeHVJQ29nY0dGMGRHVnliaTVjYmlBcUwxeHVYRzVjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJOWVhCeklEMGdabUZzYzJVN1hHNTJZWElnZFhObGNsQnliM1pwWkdWa1MyVjVSWE5qWVhCbFVtVm5aWGdnUFNBdlhGd3ZLeTluTzF4dVhHNW1kVzVqZEdsdmJpQmxjMk5oY0dWVmMyVnlVSEp2ZG1sa1pXUkxaWGtvZEdWNGRDa2dlMXh1SUNCeVpYUjFjbTRnS0NjbklDc2dkR1Y0ZENrdWNtVndiR0ZqWlNoMWMyVnlVSEp2ZG1sa1pXUkxaWGxGYzJOaGNHVlNaV2RsZUN3Z0p5UW1MeWNwTzF4dWZWeHVYRzUyWVhJZ1VFOVBURjlUU1ZwRklEMGdNVEE3WEc1MllYSWdkSEpoZG1WeWMyVkRiMjUwWlhoMFVHOXZiQ0E5SUZ0ZE8xeHVYRzVtZFc1amRHbHZiaUJuWlhSUWIyOXNaV1JVY21GMlpYSnpaVU52Ym5SbGVIUW9iV0Z3VW1WemRXeDBMQ0JyWlhsUWNtVm1hWGdzSUcxaGNFWjFibU4wYVc5dUxDQnRZWEJEYjI1MFpYaDBLU0I3WEc0Z0lHbG1JQ2gwY21GMlpYSnpaVU52Ym5SbGVIUlFiMjlzTG14bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCMGNtRjJaWEp6WlVOdmJuUmxlSFFnUFNCMGNtRjJaWEp6WlVOdmJuUmxlSFJRYjI5c0xuQnZjQ2dwTzF4dUlDQWdJSFJ5WVhabGNuTmxRMjl1ZEdWNGRDNXlaWE4xYkhRZ1BTQnRZWEJTWlhOMWJIUTdYRzRnSUNBZ2RISmhkbVZ5YzJWRGIyNTBaWGgwTG10bGVWQnlaV1pwZUNBOUlHdGxlVkJ5WldacGVEdGNiaUFnSUNCMGNtRjJaWEp6WlVOdmJuUmxlSFF1Wm5WdVl5QTlJRzFoY0VaMWJtTjBhVzl1TzF4dUlDQWdJSFJ5WVhabGNuTmxRMjl1ZEdWNGRDNWpiMjUwWlhoMElEMGdiV0Z3UTI5dWRHVjRkRHRjYmlBZ0lDQjBjbUYyWlhKelpVTnZiblJsZUhRdVkyOTFiblFnUFNBd08xeHVJQ0FnSUhKbGRIVnliaUIwY21GMlpYSnpaVU52Ym5SbGVIUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lISmxjM1ZzZERvZ2JXRndVbVZ6ZFd4MExGeHVJQ0FnSUNBZ2EyVjVVSEpsWm1sNE9pQnJaWGxRY21WbWFYZ3NYRzRnSUNBZ0lDQm1kVzVqT2lCdFlYQkdkVzVqZEdsdmJpeGNiaUFnSUNBZ0lHTnZiblJsZUhRNklHMWhjRU52Ym5SbGVIUXNYRzRnSUNBZ0lDQmpiM1Z1ZERvZ01GeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdjbVZzWldGelpWUnlZWFpsY25ObFEyOXVkR1Y0ZENoMGNtRjJaWEp6WlVOdmJuUmxlSFFwSUh0Y2JpQWdkSEpoZG1WeWMyVkRiMjUwWlhoMExuSmxjM1ZzZENBOUlHNTFiR3c3WEc0Z0lIUnlZWFpsY25ObFEyOXVkR1Y0ZEM1clpYbFFjbVZtYVhnZ1BTQnVkV3hzTzF4dUlDQjBjbUYyWlhKelpVTnZiblJsZUhRdVpuVnVZeUE5SUc1MWJHdzdYRzRnSUhSeVlYWmxjbk5sUTI5dWRHVjRkQzVqYjI1MFpYaDBJRDBnYm5Wc2JEdGNiaUFnZEhKaGRtVnljMlZEYjI1MFpYaDBMbU52ZFc1MElEMGdNRHRjYmx4dUlDQnBaaUFvZEhKaGRtVnljMlZEYjI1MFpYaDBVRzl2YkM1c1pXNW5kR2dnUENCUVQwOU1YMU5KV2tVcElIdGNiaUFnSUNCMGNtRjJaWEp6WlVOdmJuUmxlSFJRYjI5c0xuQjFjMmdvZEhKaGRtVnljMlZEYjI1MFpYaDBLVHRjYmlBZ2ZWeHVmVnh1THlvcVhHNGdLaUJBY0dGeVlXMGdlejhxZlNCamFHbHNaSEpsYmlCRGFHbHNaSEpsYmlCMGNtVmxJR052Ym5SaGFXNWxjaTVjYmlBcUlFQndZWEpoYlNCN0lYTjBjbWx1WjMwZ2JtRnRaVk52Um1GeUlFNWhiV1VnYjJZZ2RHaGxJR3RsZVNCd1lYUm9JSE52SUdaaGNpNWNiaUFxSUVCd1lYSmhiU0I3SVdaMWJtTjBhVzl1ZlNCallXeHNZbUZqYXlCRFlXeHNZbUZqYXlCMGJ5QnBiblp2YTJVZ2QybDBhQ0JsWVdOb0lHTm9hV3hrSUdadmRXNWtMbHh1SUNvZ1FIQmhjbUZ0SUhzL0tuMGdkSEpoZG1WeWMyVkRiMjUwWlhoMElGVnpaV1FnZEc4Z2NHRnpjeUJwYm1admNtMWhkR2x2YmlCMGFISnZkV2RvYjNWMElIUm9aU0IwY21GMlpYSnpZV3hjYmlBcUlIQnliMk5sYzNNdVhHNGdLaUJBY21WMGRYSnVJSHNoYm5WdFltVnlmU0JVYUdVZ2JuVnRZbVZ5SUc5bUlHTm9hV3hrY21WdUlHbHVJSFJvYVhNZ2MzVmlkSEpsWlM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIUnlZWFpsY25ObFFXeHNRMmhwYkdSeVpXNUpiWEJzS0dOb2FXeGtjbVZ1TENCdVlXMWxVMjlHWVhJc0lHTmhiR3hpWVdOckxDQjBjbUYyWlhKelpVTnZiblJsZUhRcElIdGNiaUFnZG1GeUlIUjVjR1VnUFNCMGVYQmxiMllnWTJocGJHUnlaVzQ3WEc1Y2JpQWdhV1lnS0hSNWNHVWdQVDA5SUNkMWJtUmxabWx1WldRbklIeDhJSFI1Y0dVZ1BUMDlJQ2RpYjI5c1pXRnVKeWtnZTF4dUlDQWdJQzh2SUVGc2JDQnZaaUIwYUdVZ1lXSnZkbVVnWVhKbElIQmxjbU5sYVhabFpDQmhjeUJ1ZFd4c0xseHVJQ0FnSUdOb2FXeGtjbVZ1SUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnBiblp2YTJWRFlXeHNZbUZqYXlBOUlHWmhiSE5sTzF4dVhHNGdJR2xtSUNoamFHbHNaSEpsYmlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsdWRtOXJaVU5oYkd4aVlXTnJJRDBnZEhKMVpUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnpkMmwwWTJnZ0tIUjVjR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdKM04wY21sdVp5YzZYRzRnSUNBZ0lDQmpZWE5sSUNkdWRXMWlaWEluT2x4dUlDQWdJQ0FnSUNCcGJuWnZhMlZEWVd4c1ltRmpheUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUNkdlltcGxZM1FuT2x4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0dOb2FXeGtjbVZ1TGlRa2RIbHdaVzltS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlRVDFKVVFVeGZWRmxRUlRwY2JpQWdJQ0FnSUNBZ0lDQWdJR2x1ZG05clpVTmhiR3hpWVdOcklEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dsdWRtOXJaVU5oYkd4aVlXTnJLU0I3WEc0Z0lDQWdZMkZzYkdKaFkyc29kSEpoZG1WeWMyVkRiMjUwWlhoMExDQmphR2xzWkhKbGJpd2dMeThnU1dZZ2FYUW5jeUIwYUdVZ2IyNXNlU0JqYUdsc1pDd2dkSEpsWVhRZ2RHaGxJRzVoYldVZ1lYTWdhV1lnYVhRZ2QyRnpJSGR5WVhCd1pXUWdhVzRnWVc0Z1lYSnlZWGxjYmlBZ0lDQXZMeUJ6YnlCMGFHRjBJR2wwSjNNZ1kyOXVjMmx6ZEdWdWRDQnBaaUIwYUdVZ2JuVnRZbVZ5SUc5bUlHTm9hV3hrY21WdUlHZHliM2R6TGx4dUlDQWdJRzVoYldWVGIwWmhjaUE5UFQwZ0p5Y2dQeUJUUlZCQlVrRlVUMUlnS3lCblpYUkRiMjF3YjI1bGJuUkxaWGtvWTJocGJHUnlaVzRzSURBcElEb2dibUZ0WlZOdlJtRnlLVHRjYmlBZ0lDQnlaWFIxY200Z01UdGNiaUFnZlZ4dVhHNGdJSFpoY2lCamFHbHNaRHRjYmlBZ2RtRnlJRzVsZUhST1lXMWxPMXh1SUNCMllYSWdjM1ZpZEhKbFpVTnZkVzUwSUQwZ01Ec2dMeThnUTI5MWJuUWdiMllnWTJocGJHUnlaVzRnWm05MWJtUWdhVzRnZEdobElHTjFjbkpsYm5RZ2MzVmlkSEpsWlM1Y2JseHVJQ0IyWVhJZ2JtVjRkRTVoYldWUWNtVm1hWGdnUFNCdVlXMWxVMjlHWVhJZ1BUMDlJQ2NuSUQ4Z1UwVlFRVkpCVkU5U0lEb2dibUZ0WlZOdlJtRnlJQ3NnVTFWQ1UwVlFRVkpCVkU5U08xeHVYRzRnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0dOb2FXeGtjbVZ1S1NrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1kyaHBiR1J5Wlc0dWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR05vYVd4a0lEMGdZMmhwYkdSeVpXNWJhVjA3WEc0Z0lDQWdJQ0J1WlhoMFRtRnRaU0E5SUc1bGVIUk9ZVzFsVUhKbFptbDRJQ3NnWjJWMFEyOXRjRzl1Wlc1MFMyVjVLR05vYVd4a0xDQnBLVHRjYmlBZ0lDQWdJSE4xWW5SeVpXVkRiM1Z1ZENBclBTQjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVTVzF3YkNoamFHbHNaQ3dnYm1WNGRFNWhiV1VzSUdOaGJHeGlZV05yTENCMGNtRjJaWEp6WlVOdmJuUmxlSFFwTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IyWVhJZ2FYUmxjbUYwYjNKR2JpQTlJR2RsZEVsMFpYSmhkRzl5Um00b1kyaHBiR1J5Wlc0cE8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnBkR1Z5WVhSdmNrWnVJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzVjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1YyRnliaUJoWW05MWRDQjFjMmx1WnlCTllYQnpJR0Z6SUdOb2FXeGtjbVZ1WEc0Z0lDQWdJQ0FnSUdsbUlDaHBkR1Z5WVhSdmNrWnVJRDA5UFNCamFHbHNaSEpsYmk1bGJuUnlhV1Z6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NGa2FXUlhZWEp1UVdKdmRYUk5ZWEJ6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IzWVhKdUtDZFZjMmx1WnlCTllYQnpJR0Z6SUdOb2FXeGtjbVZ1SUdseklHUmxjSEpsWTJGMFpXUWdZVzVrSUhkcGJHd2dZbVVnY21WdGIzWmxaQ0JwYmlBbklDc2dKMkVnWm5WMGRYSmxJRzFoYW05eUlISmxiR1ZoYzJVdUlFTnZibk5wWkdWeUlHTnZiblpsY25ScGJtY2dZMmhwYkdSeVpXNGdkRzhnSnlBcklDZGhiaUJoY25KaGVTQnZaaUJyWlhsbFpDQlNaV0ZqZEVWc1pXMWxiblJ6SUdsdWMzUmxZV1F1SnlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBUV0Z3Y3lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJR2wwWlhKaGRHOXlJRDBnYVhSbGNtRjBiM0pHYmk1allXeHNLR05vYVd4a2NtVnVLVHRjYmlBZ0lDQWdJSFpoY2lCemRHVndPMXh1SUNBZ0lDQWdkbUZ5SUdscElEMGdNRHRjYmx4dUlDQWdJQ0FnZDJocGJHVWdLQ0VvYzNSbGNDQTlJR2wwWlhKaGRHOXlMbTVsZUhRb0tTa3VaRzl1WlNrZ2UxeHVJQ0FnSUNBZ0lDQmphR2xzWkNBOUlITjBaWEF1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJRzVsZUhST1lXMWxJRDBnYm1WNGRFNWhiV1ZRY21WbWFYZ2dLeUJuWlhSRGIyMXdiMjVsYm5STFpYa29ZMmhwYkdRc0lHbHBLeXNwTzF4dUlDQWdJQ0FnSUNCemRXSjBjbVZsUTI5MWJuUWdLejBnZEhKaGRtVnljMlZCYkd4RGFHbHNaSEpsYmtsdGNHd29ZMmhwYkdRc0lHNWxlSFJPWVcxbExDQmpZV3hzWW1GamF5d2dkSEpoZG1WeWMyVkRiMjUwWlhoMEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1VnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQjJZWElnWVdSa1pXNWtkVzBnUFNBbkp6dGNibHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JoWkdSbGJtUjFiU0E5SUNjZ1NXWWdlVzkxSUcxbFlXNTBJSFJ2SUhKbGJtUmxjaUJoSUdOdmJHeGxZM1JwYjI0Z2IyWWdZMmhwYkdSeVpXNHNJSFZ6WlNCaGJpQmhjbkpoZVNBbklDc2dKMmx1YzNSbFlXUXVKeUFySUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVXVaMlYwVTNSaFkydEJaR1JsYm1SMWJTZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IyWVhJZ1kyaHBiR1J5Wlc1VGRISnBibWNnUFNBbkp5QXJJR05vYVd4a2NtVnVPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKUFltcGxZM1J6SUdGeVpTQnViM1FnZG1Gc2FXUWdZWE1nWVNCU1pXRmpkQ0JqYUdsc1pDQW9abTkxYm1RNklGd2lJQ3NnS0dOb2FXeGtjbVZ1VTNSeWFXNW5JRDA5UFNBblcyOWlhbVZqZENCUFltcGxZM1JkSnlBL0lDZHZZbXBsWTNRZ2QybDBhQ0JyWlhseklIc25JQ3NnVDJKcVpXTjBMbXRsZVhNb1kyaHBiR1J5Wlc0cExtcHZhVzRvSnl3Z0p5a2dLeUFuZlNjZ09pQmphR2xzWkhKbGJsTjBjbWx1WnlrZ0t5QmNJaWt1WENJZ0t5QmhaR1JsYm1SMWJTQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSE4xWW5SeVpXVkRiM1Z1ZER0Y2JuMWNiaThxS2x4dUlDb2dWSEpoZG1WeWMyVnpJR05vYVd4a2NtVnVJSFJvWVhRZ1lYSmxJSFI1Y0dsallXeHNlU0J6Y0dWamFXWnBaV1FnWVhNZ1lIQnliM0J6TG1Ob2FXeGtjbVZ1WUN3Z1luVjBYRzRnS2lCdGFXZG9kQ0JoYkhOdklHSmxJSE53WldOcFptbGxaQ0IwYUhKdmRXZG9JR0YwZEhKcFluVjBaWE02WEc0Z0tseHVJQ29nTFNCZ2RISmhkbVZ5YzJWQmJHeERhR2xzWkhKbGJpaDBhR2x6TG5CeWIzQnpMbU5vYVd4a2NtVnVMQ0F1TGk0cFlGeHVJQ29nTFNCZ2RISmhkbVZ5YzJWQmJHeERhR2xzWkhKbGJpaDBhR2x6TG5CeWIzQnpMbXhsWm5SUVlXNWxiRU5vYVd4a2NtVnVMQ0F1TGk0cFlGeHVJQ3BjYmlBcUlGUm9aU0JnZEhKaGRtVnljMlZEYjI1MFpYaDBZQ0JwY3lCaGJpQnZjSFJwYjI1aGJDQmhjbWQxYldWdWRDQjBhR0YwSUdseklIQmhjM05sWkNCMGFISnZkV2RvSUhSb1pWeHVJQ29nWlc1MGFYSmxJSFJ5WVhabGNuTmhiQzRnU1hRZ1kyRnVJR0psSUhWelpXUWdkRzhnYzNSdmNtVWdZV05qZFcxMWJHRjBhVzl1Y3lCdmNpQmhibmwwYUdsdVp5QmxiSE5sSUhSb1lYUmNiaUFxSUhSb1pTQmpZV3hzWW1GamF5QnRhV2RvZENCbWFXNWtJSEpsYkdWMllXNTBMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdQeXA5SUdOb2FXeGtjbVZ1SUVOb2FXeGtjbVZ1SUhSeVpXVWdiMkpxWldOMExseHVJQ29nUUhCaGNtRnRJSHNoWm5WdVkzUnBiMjU5SUdOaGJHeGlZV05ySUZSdklHbHVkbTlyWlNCMWNHOXVJSFJ5WVhabGNuTnBibWNnWldGamFDQmphR2xzWkM1Y2JpQXFJRUJ3WVhKaGJTQjdQeXA5SUhSeVlYWmxjbk5sUTI5dWRHVjRkQ0JEYjI1MFpYaDBJR1p2Y2lCMGNtRjJaWEp6WVd3dVhHNGdLaUJBY21WMGRYSnVJSHNoYm5WdFltVnlmU0JVYUdVZ2JuVnRZbVZ5SUc5bUlHTm9hV3hrY21WdUlHbHVJSFJvYVhNZ2MzVmlkSEpsWlM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIUnlZWFpsY25ObFFXeHNRMmhwYkdSeVpXNG9ZMmhwYkdSeVpXNHNJR05oYkd4aVlXTnJMQ0IwY21GMlpYSnpaVU52Ym5SbGVIUXBJSHRjYmlBZ2FXWWdLR05vYVd4a2NtVnVJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVTVzF3YkNoamFHbHNaSEpsYml3Z0p5Y3NJR05oYkd4aVlXTnJMQ0IwY21GMlpYSnpaVU52Ym5SbGVIUXBPMXh1ZlZ4dUx5b3FYRzRnS2lCSFpXNWxjbUYwWlNCaElHdGxlU0J6ZEhKcGJtY2dkR2hoZENCcFpHVnVkR2xtYVdWeklHRWdZMjl0Y0c5dVpXNTBJSGRwZEdocGJpQmhJSE5sZEM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZXlwOUlHTnZiWEJ2Ym1WdWRDQkJJR052YlhCdmJtVnVkQ0IwYUdGMElHTnZkV3hrSUdOdmJuUmhhVzRnWVNCdFlXNTFZV3dnYTJWNUxseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR2x1WkdWNElFbHVaR1Y0SUhSb1lYUWdhWE1nZFhObFpDQnBaaUJoSUcxaGJuVmhiQ0JyWlhrZ2FYTWdibTkwSUhCeWIzWnBaR1ZrTGx4dUlDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZWeHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdaMlYwUTI5dGNHOXVaVzUwUzJWNUtHTnZiWEJ2Ym1WdWRDd2dhVzVrWlhncElIdGNiaUFnTHk4Z1JHOGdjMjl0WlNCMGVYQmxZMmhsWTJ0cGJtY2dhR1Z5WlNCemFXNWpaU0IzWlNCallXeHNJSFJvYVhNZ1lteHBibVJzZVM0Z1YyVWdkMkZ1ZENCMGJ5Qmxibk4xY21WY2JpQWdMeThnZEdoaGRDQjNaU0JrYjI0bmRDQmliRzlqYXlCd2IzUmxiblJwWVd3Z1puVjBkWEpsSUVWVElFRlFTWE11WEc0Z0lHbG1JQ2gwZVhCbGIyWWdZMjl0Y0c5dVpXNTBJRDA5UFNBbmIySnFaV04wSnlBbUppQmpiMjF3YjI1bGJuUWdJVDA5SUc1MWJHd2dKaVlnWTI5dGNHOXVaVzUwTG10bGVTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdSWGh3YkdsamFYUWdhMlY1WEc0Z0lDQWdjbVYwZFhKdUlHVnpZMkZ3WlNoamIyMXdiMjVsYm5RdWEyVjVLVHRjYmlBZ2ZTQXZMeUJKYlhCc2FXTnBkQ0JyWlhrZ1pHVjBaWEp0YVc1bFpDQmllU0IwYUdVZ2FXNWtaWGdnYVc0Z2RHaGxJSE5sZEZ4dVhHNWNiaUFnY21WMGRYSnVJR2x1WkdWNExuUnZVM1J5YVc1bktETTJLVHRjYm4xY2JseHVablZ1WTNScGIyNGdabTl5UldGamFGTnBibWRzWlVOb2FXeGtLR0p2YjJ0TFpXVndhVzVuTENCamFHbHNaQ3dnYm1GdFpTa2dlMXh1SUNCMllYSWdablZ1WXlBOUlHSnZiMnRMWldWd2FXNW5MbVoxYm1Nc1hHNGdJQ0FnSUNCamIyNTBaWGgwSUQwZ1ltOXZhMHRsWlhCcGJtY3VZMjl1ZEdWNGREdGNiaUFnWm5WdVl5NWpZV3hzS0dOdmJuUmxlSFFzSUdOb2FXeGtMQ0JpYjI5clMyVmxjR2x1Wnk1amIzVnVkQ3NyS1R0Y2JuMWNiaThxS2x4dUlDb2dTWFJsY21GMFpYTWdkR2h5YjNWbmFDQmphR2xzWkhKbGJpQjBhR0YwSUdGeVpTQjBlWEJwWTJGc2JIa2djM0JsWTJsbWFXVmtJR0Z6SUdCd2NtOXdjeTVqYUdsc1pISmxibUF1WEc0Z0tseHVJQ29nVTJWbElHaDBkSEJ6T2k4dmNtVmhZM1JxY3k1dmNtY3ZaRzlqY3k5eVpXRmpkQzFoY0drdWFIUnRiQ055WldGamRHTm9hV3hrY21WdVptOXlaV0ZqYUZ4dUlDcGNiaUFxSUZSb1pTQndjbTkyYVdSbFpDQm1iM0pGWVdOb1JuVnVZeWhqYUdsc1pDd2dhVzVrWlhncElIZHBiR3dnWW1VZ1kyRnNiR1ZrSUdadmNpQmxZV05vWEc0Z0tpQnNaV0ZtSUdOb2FXeGtMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdQeXA5SUdOb2FXeGtjbVZ1SUVOb2FXeGtjbVZ1SUhSeVpXVWdZMjl1ZEdGcGJtVnlMbHh1SUNvZ1FIQmhjbUZ0SUh0bWRXNWpkR2x2YmlncUxDQnBiblFwZlNCbWIzSkZZV05vUm5WdVkxeHVJQ29nUUhCaGNtRnRJSHNxZlNCbWIzSkZZV05vUTI5dWRHVjRkQ0JEYjI1MFpYaDBJR1p2Y2lCbWIzSkZZV05vUTI5dWRHVjRkQzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdadmNrVmhZMmhEYUdsc1pISmxiaWhqYUdsc1pISmxiaXdnWm05eVJXRmphRVoxYm1Nc0lHWnZja1ZoWTJoRGIyNTBaWGgwS1NCN1hHNGdJR2xtSUNoamFHbHNaSEpsYmlBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJR05vYVd4a2NtVnVPMXh1SUNCOVhHNWNiaUFnZG1GeUlIUnlZWFpsY25ObFEyOXVkR1Y0ZENBOUlHZGxkRkJ2YjJ4bFpGUnlZWFpsY25ObFEyOXVkR1Y0ZENodWRXeHNMQ0J1ZFd4c0xDQm1iM0pGWVdOb1JuVnVZeXdnWm05eVJXRmphRU52Ym5SbGVIUXBPMXh1SUNCMGNtRjJaWEp6WlVGc2JFTm9hV3hrY21WdUtHTm9hV3hrY21WdUxDQm1iM0pGWVdOb1UybHVaMnhsUTJocGJHUXNJSFJ5WVhabGNuTmxRMjl1ZEdWNGRDazdYRzRnSUhKbGJHVmhjMlZVY21GMlpYSnpaVU52Ym5SbGVIUW9kSEpoZG1WeWMyVkRiMjUwWlhoMEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRndVMmx1WjJ4bFEyaHBiR1JKYm5SdlEyOXVkR1Y0ZENoaWIyOXJTMlZsY0dsdVp5d2dZMmhwYkdRc0lHTm9hV3hrUzJWNUtTQjdYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQmliMjlyUzJWbGNHbHVaeTV5WlhOMWJIUXNYRzRnSUNBZ0lDQnJaWGxRY21WbWFYZ2dQU0JpYjI5clMyVmxjR2x1Wnk1clpYbFFjbVZtYVhnc1hHNGdJQ0FnSUNCbWRXNWpJRDBnWW05dmEwdGxaWEJwYm1jdVpuVnVZeXhjYmlBZ0lDQWdJR052Ym5SbGVIUWdQU0JpYjI5clMyVmxjR2x1Wnk1amIyNTBaWGgwTzF4dUlDQjJZWElnYldGd2NHVmtRMmhwYkdRZ1BTQm1kVzVqTG1OaGJHd29ZMjl1ZEdWNGRDd2dZMmhwYkdRc0lHSnZiMnRMWldWd2FXNW5MbU52ZFc1MEt5c3BPMXh1WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHMWhjSEJsWkVOb2FXeGtLU2tnZTF4dUlDQWdJRzFoY0VsdWRHOVhhWFJvUzJWNVVISmxabWw0U1c1MFpYSnVZV3dvYldGd2NHVmtRMmhwYkdRc0lISmxjM1ZzZEN3Z1kyaHBiR1JMWlhrc0lHWjFibU4wYVc5dUlDaGpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZenRjYmlBZ0lDQjlLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHRZWEJ3WldSRGFHbHNaQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0dselZtRnNhV1JGYkdWdFpXNTBLRzFoY0hCbFpFTm9hV3hrS1NrZ2UxeHVJQ0FnSUNBZ2JXRndjR1ZrUTJocGJHUWdQU0JqYkc5dVpVRnVaRkpsY0d4aFkyVkxaWGtvYldGd2NHVmtRMmhwYkdRc0lDOHZJRXRsWlhBZ1ltOTBhQ0IwYUdVZ0tHMWhjSEJsWkNrZ1lXNWtJRzlzWkNCclpYbHpJR2xtSUhSb1pYa2daR2xtWm1WeUxDQnFkWE4wSUdGelhHNGdJQ0FnSUNBdkx5QjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVJSFZ6WldRZ2RHOGdaRzhnWm05eUlHOWlhbVZqZEhNZ1lYTWdZMmhwYkdSeVpXNWNiaUFnSUNBZ0lHdGxlVkJ5WldacGVDQXJJQ2h0WVhCd1pXUkRhR2xzWkM1clpYa2dKaVlnS0NGamFHbHNaQ0I4ZkNCamFHbHNaQzVyWlhrZ0lUMDlJRzFoY0hCbFpFTm9hV3hrTG10bGVTa2dQeUJsYzJOaGNHVlZjMlZ5VUhKdmRtbGtaV1JMWlhrb2JXRndjR1ZrUTJocGJHUXVhMlY1S1NBcklDY3ZKeUE2SUNjbktTQXJJR05vYVd4a1MyVjVLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWE4xYkhRdWNIVnphQ2h0WVhCd1pXUkRhR2xzWkNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiV0Z3U1c1MGIxZHBkR2hMWlhsUWNtVm1hWGhKYm5SbGNtNWhiQ2hqYUdsc1pISmxiaXdnWVhKeVlYa3NJSEJ5WldacGVDd2dablZ1WXl3Z1kyOXVkR1Y0ZENrZ2UxeHVJQ0IyWVhJZ1pYTmpZWEJsWkZCeVpXWnBlQ0E5SUNjbk8xeHVYRzRnSUdsbUlDaHdjbVZtYVhnZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUdWelkyRndaV1JRY21WbWFYZ2dQU0JsYzJOaGNHVlZjMlZ5VUhKdmRtbGtaV1JMWlhrb2NISmxabWw0S1NBcklDY3ZKenRjYmlBZ2ZWeHVYRzRnSUhaaGNpQjBjbUYyWlhKelpVTnZiblJsZUhRZ1BTQm5aWFJRYjI5c1pXUlVjbUYyWlhKelpVTnZiblJsZUhRb1lYSnlZWGtzSUdWelkyRndaV1JRY21WbWFYZ3NJR1oxYm1Nc0lHTnZiblJsZUhRcE8xeHVJQ0IwY21GMlpYSnpaVUZzYkVOb2FXeGtjbVZ1S0dOb2FXeGtjbVZ1TENCdFlYQlRhVzVuYkdWRGFHbHNaRWx1ZEc5RGIyNTBaWGgwTENCMGNtRjJaWEp6WlVOdmJuUmxlSFFwTzF4dUlDQnlaV3hsWVhObFZISmhkbVZ5YzJWRGIyNTBaWGgwS0hSeVlYWmxjbk5sUTI5dWRHVjRkQ2s3WEc1OVhHNHZLaXBjYmlBcUlFMWhjSE1nWTJocGJHUnlaVzRnZEdoaGRDQmhjbVVnZEhsd2FXTmhiR3g1SUhOd1pXTnBabWxsWkNCaGN5QmdjSEp2Y0hNdVkyaHBiR1J5Wlc1Z0xseHVJQ3BjYmlBcUlGTmxaU0JvZEhSd2N6b3ZMM0psWVdOMGFuTXViM0puTDJSdlkzTXZjbVZoWTNRdFlYQnBMbWgwYld3amNtVmhZM1JqYUdsc1pISmxibTFoY0Z4dUlDcGNiaUFxSUZSb1pTQndjbTkyYVdSbFpDQnRZWEJHZFc1amRHbHZiaWhqYUdsc1pDd2dhMlY1TENCcGJtUmxlQ2tnZDJsc2JDQmlaU0JqWVd4c1pXUWdabTl5SUdWaFkyaGNiaUFxSUd4bFlXWWdZMmhwYkdRdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUhzL0tuMGdZMmhwYkdSeVpXNGdRMmhwYkdSeVpXNGdkSEpsWlNCamIyNTBZV2x1WlhJdVhHNGdLaUJBY0dGeVlXMGdlMloxYm1OMGFXOXVLQ29zSUdsdWRDbDlJR1oxYm1NZ1ZHaGxJRzFoY0NCbWRXNWpkR2x2Ymk1Y2JpQXFJRUJ3WVhKaGJTQjdLbjBnWTI5dWRHVjRkQ0JEYjI1MFpYaDBJR1p2Y2lCdFlYQkdkVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTI5aWFtVmpkSDBnVDJKcVpXTjBJR052Ym5SaGFXNXBibWNnZEdobElHOXlaR1Z5WldRZ2JXRndJRzltSUhKbGMzVnNkSE11WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCdFlYQkRhR2xzWkhKbGJpaGphR2xzWkhKbGJpd2dablZ1WXl3Z1kyOXVkR1Y0ZENrZ2UxeHVJQ0JwWmlBb1kyaHBiR1J5Wlc0Z1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJqYUdsc1pISmxianRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ2JXRndTVzUwYjFkcGRHaExaWGxRY21WbWFYaEpiblJsY201aGJDaGphR2xzWkhKbGJpd2djbVZ6ZFd4MExDQnVkV3hzTENCbWRXNWpMQ0JqYjI1MFpYaDBLVHRjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4xY2JpOHFLbHh1SUNvZ1EyOTFiblFnZEdobElHNTFiV0psY2lCdlppQmphR2xzWkhKbGJpQjBhR0YwSUdGeVpTQjBlWEJwWTJGc2JIa2djM0JsWTJsbWFXVmtJR0Z6WEc0Z0tpQmdjSEp2Y0hNdVkyaHBiR1J5Wlc1Z0xseHVJQ3BjYmlBcUlGTmxaU0JvZEhSd2N6b3ZMM0psWVdOMGFuTXViM0puTDJSdlkzTXZjbVZoWTNRdFlYQnBMbWgwYld3amNtVmhZM1JqYUdsc1pISmxibU52ZFc1MFhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUhzL0tuMGdZMmhwYkdSeVpXNGdRMmhwYkdSeVpXNGdkSEpsWlNCamIyNTBZV2x1WlhJdVhHNGdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlJRlJvWlNCdWRXMWlaWElnYjJZZ1kyaHBiR1J5Wlc0dVhHNGdLaTljYmx4dVhHNW1kVzVqZEdsdmJpQmpiM1Z1ZEVOb2FXeGtjbVZ1S0dOb2FXeGtjbVZ1S1NCN1hHNGdJSEpsZEhWeWJpQjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVLR05vYVd4a2NtVnVMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBzSUc1MWJHd3BPMXh1ZlZ4dUx5b3FYRzRnS2lCR2JHRjBkR1Z1SUdFZ1kyaHBiR1J5Wlc0Z2IySnFaV04wSUNoMGVYQnBZMkZzYkhrZ2MzQmxZMmxtYVdWa0lHRnpJR0J3Y205d2N5NWphR2xzWkhKbGJtQXBJR0Z1WkZ4dUlDb2djbVYwZFhKdUlHRnVJR0Z5Y21GNUlIZHBkR2dnWVhCd2NtOXdjbWxoZEdWc2VTQnlaUzFyWlhsbFpDQmphR2xzWkhKbGJpNWNiaUFxWEc0Z0tpQlRaV1VnYUhSMGNITTZMeTl5WldGamRHcHpMbTl5Wnk5a2IyTnpMM0psWVdOMExXRndhUzVvZEcxc0kzSmxZV04wWTJocGJHUnlaVzUwYjJGeWNtRjVYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUIwYjBGeWNtRjVLR05vYVd4a2NtVnVLU0I3WEc0Z0lIWmhjaUJ5WlhOMWJIUWdQU0JiWFR0Y2JpQWdiV0Z3U1c1MGIxZHBkR2hMWlhsUWNtVm1hWGhKYm5SbGNtNWhiQ2hqYUdsc1pISmxiaXdnY21WemRXeDBMQ0J1ZFd4c0xDQm1kVzVqZEdsdmJpQW9ZMmhwYkdRcElIdGNiaUFnSUNCeVpYUjFjbTRnWTJocGJHUTdYRzRnSUgwcE8xeHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1THlvcVhHNGdLaUJTWlhSMWNtNXpJSFJvWlNCbWFYSnpkQ0JqYUdsc1pDQnBiaUJoSUdOdmJHeGxZM1JwYjI0Z2IyWWdZMmhwYkdSeVpXNGdZVzVrSUhabGNtbG1hV1Z6SUhSb1lYUWdkR2hsY21WY2JpQXFJR2x6SUc5dWJIa2diMjVsSUdOb2FXeGtJR2x1SUhSb1pTQmpiMnhzWldOMGFXOXVMbHh1SUNwY2JpQXFJRk5sWlNCb2RIUndjem92TDNKbFlXTjBhbk11YjNKbkwyUnZZM012Y21WaFkzUXRZWEJwTG1oMGJXd2pjbVZoWTNSamFHbHNaSEpsYm05dWJIbGNiaUFxWEc0Z0tpQlVhR1VnWTNWeWNtVnVkQ0JwYlhCc1pXMWxiblJoZEdsdmJpQnZaaUIwYUdseklHWjFibU4wYVc5dUlHRnpjM1Z0WlhNZ2RHaGhkQ0JoSUhOcGJtZHNaU0JqYUdsc1pDQm5aWFJ6WEc0Z0tpQndZWE56WldRZ2QybDBhRzkxZENCaElIZHlZWEJ3WlhJc0lHSjFkQ0IwYUdVZ2NIVnljRzl6WlNCdlppQjBhR2x6SUdobGJIQmxjaUJtZFc1amRHbHZiaUJwY3lCMGIxeHVJQ29nWVdKemRISmhZM1FnWVhkaGVTQjBhR1VnY0dGeWRHbGpkV3hoY2lCemRISjFZM1IxY21VZ2IyWWdZMmhwYkdSeVpXNHVYRzRnS2x4dUlDb2dRSEJoY21GdElIcy9iMkpxWldOMGZTQmphR2xzWkhKbGJpQkRhR2xzWkNCamIyeHNaV04wYVc5dUlITjBjblZqZEhWeVpTNWNiaUFxSUVCeVpYUjFjbTRnZTFKbFlXTjBSV3hsYldWdWRIMGdWR2hsSUdacGNuTjBJR0Z1WkNCdmJteDVJR0JTWldGamRFVnNaVzFsYm5SZ0lHTnZiblJoYVc1bFpDQnBiaUIwYUdWY2JpQXFJSE4wY25WamRIVnlaUzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUc5dWJIbERhR2xzWkNoamFHbHNaSEpsYmlrZ2UxeHVJQ0JwWmlBb0lXbHpWbUZzYVdSRmJHVnRaVzUwS0dOb2FXeGtjbVZ1S1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbEpsWVdOMExrTm9hV3hrY21WdUxtOXViSGtnWlhod1pXTjBaV1FnZEc4Z2NtVmpaV2wyWlNCaElITnBibWRzWlNCU1pXRmpkQ0JsYkdWdFpXNTBJR05vYVd4a0xsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR05vYVd4a2NtVnVPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRGIyNTBaWGgwS0dSbFptRjFiSFJXWVd4MVpTd2dZMkZzWTNWc1lYUmxRMmhoYm1kbFpFSnBkSE1wSUh0Y2JpQWdhV1lnS0dOaGJHTjFiR0YwWlVOb1lXNW5aV1JDYVhSeklEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0JqWVd4amRXeGhkR1ZEYUdGdVoyVmtRbWwwY3lBOUlHNTFiR3c3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnYVdZZ0tHTmhiR04xYkdGMFpVTm9ZVzVuWldSQ2FYUnpJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUJqWVd4amRXeGhkR1ZEYUdGdVoyVmtRbWwwY3lBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduWTNKbFlYUmxRMjl1ZEdWNGREb2dSWGh3WldOMFpXUWdkR2hsSUc5d2RHbHZibUZzSUhObFkyOXVaQ0JoY21kMWJXVnVkQ0IwYnlCaVpTQmhJQ2NnS3lBblpuVnVZM1JwYjI0dUlFbHVjM1JsWVdRZ2NtVmpaV2wyWldRNklDVnpKeXdnWTJGc1kzVnNZWFJsUTJoaGJtZGxaRUpwZEhNcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJqYjI1MFpYaDBJRDBnZTF4dUlDQWdJQ1FrZEhsd1pXOW1PaUJTUlVGRFZGOURUMDVVUlZoVVgxUlpVRVVzWEc0Z0lDQWdYMk5oYkdOMWJHRjBaVU5vWVc1blpXUkNhWFJ6T2lCallXeGpkV3hoZEdWRGFHRnVaMlZrUW1sMGN5eGNiaUFnSUNBdkx5QkJjeUJoSUhkdmNtdGhjbTkxYm1RZ2RHOGdjM1Z3Y0c5eWRDQnRkV3gwYVhCc1pTQmpiMjVqZFhKeVpXNTBJSEpsYm1SbGNtVnljeXdnZDJVZ1kyRjBaV2R2Y21sNlpWeHVJQ0FnSUM4dklITnZiV1VnY21WdVpHVnlaWEp6SUdGeklIQnlhVzFoY25rZ1lXNWtJRzkwYUdWeWN5QmhjeUJ6WldOdmJtUmhjbmt1SUZkbElHOXViSGtnWlhod1pXTjBYRzRnSUNBZ0x5OGdkR2hsY21VZ2RHOGdZbVVnZEhkdklHTnZibU4xY25KbGJuUWdjbVZ1WkdWeVpYSnpJR0YwSUcxdmMzUTZJRkpsWVdOMElFNWhkR2wyWlNBb2NISnBiV0Z5ZVNrZ1lXNWtYRzRnSUNBZ0x5OGdSbUZpY21saklDaHpaV052Ym1SaGNua3BPeUJTWldGamRDQkVUMDBnS0hCeWFXMWhjbmtwSUdGdVpDQlNaV0ZqZENCQlVsUWdLSE5sWTI5dVpHRnllU2t1WEc0Z0lDQWdMeThnVTJWamIyNWtZWEo1SUhKbGJtUmxjbVZ5Y3lCemRHOXlaU0IwYUdWcGNpQmpiMjUwWlhoMElIWmhiSFZsY3lCdmJpQnpaWEJoY21GMFpTQm1hV1ZzWkhNdVhHNGdJQ0FnWDJOMWNuSmxiblJXWVd4MVpUb2daR1ZtWVhWc2RGWmhiSFZsTEZ4dUlDQWdJRjlqZFhKeVpXNTBWbUZzZFdVeU9pQmtaV1poZFd4MFZtRnNkV1VzWEc0Z0lDQWdMeThnVlhObFpDQjBieUIwY21GamF5Qm9iM2NnYldGdWVTQmpiMjVqZFhKeVpXNTBJSEpsYm1SbGNtVnljeUIwYUdseklHTnZiblJsZUhRZ1kzVnljbVZ1ZEd4NVhHNGdJQ0FnTHk4Z2MzVndjRzl5ZEhNZ2QybDBhR2x1SUdsdUlHRWdjMmx1WjJ4bElISmxibVJsY21WeUxpQlRkV05vSUdGeklIQmhjbUZzYkdWc0lITmxjblpsY2lCeVpXNWtaWEpwYm1jdVhHNGdJQ0FnWDNSb2NtVmhaRU52ZFc1ME9pQXdMRnh1SUNBZ0lDOHZJRlJvWlhObElHRnlaU0JqYVhKamRXeGhjbHh1SUNBZ0lGQnliM1pwWkdWeU9pQnVkV3hzTEZ4dUlDQWdJRU52Ym5OMWJXVnlPaUJ1ZFd4c1hHNGdJSDA3WEc0Z0lHTnZiblJsZUhRdVVISnZkbWxrWlhJZ1BTQjdYRzRnSUNBZ0pDUjBlWEJsYjJZNklGSkZRVU5VWDFCU1QxWkpSRVZTWDFSWlVFVXNYRzRnSUNBZ1gyTnZiblJsZUhRNklHTnZiblJsZUhSY2JpQWdmVHRjYmlBZ2RtRnlJR2hoYzFkaGNtNWxaRUZpYjNWMFZYTnBibWRPWlhOMFpXUkRiMjUwWlhoMFEyOXVjM1Z0WlhKeklEMGdabUZzYzJVN1hHNGdJSFpoY2lCb1lYTlhZWEp1WldSQlltOTFkRlZ6YVc1blEyOXVjM1Z0WlhKUWNtOTJhV1JsY2lBOUlHWmhiSE5sTzF4dVhHNGdJSHRjYmlBZ0lDQXZMeUJCSUhObGNHRnlZWFJsSUc5aWFtVmpkQ3dnWW5WMElIQnliM2hwWlhNZ1ltRmpheUIwYnlCMGFHVWdiM0pwWjJsdVlXd2dZMjl1ZEdWNGRDQnZZbXBsWTNRZ1ptOXlYRzRnSUNBZ0x5OGdZbUZqYTNkaGNtUnpJR052YlhCaGRHbGlhV3hwZEhrdUlFbDBJR2hoY3lCaElHUnBabVpsY21WdWRDQWtKSFI1Y0dWdlppd2djMjhnZDJVZ1kyRnVJSEJ5YjNCbGNteDVYRzRnSUNBZ0x5OGdkMkZ5YmlCbWIzSWdkR2hsSUdsdVkyOXljbVZqZENCMWMyRm5aU0J2WmlCRGIyNTBaWGgwSUdGeklHRWdRMjl1YzNWdFpYSXVYRzRnSUNBZ2RtRnlJRU52Ym5OMWJXVnlJRDBnZTF4dUlDQWdJQ0FnSkNSMGVYQmxiMlk2SUZKRlFVTlVYME5QVGxSRldGUmZWRmxRUlN4Y2JpQWdJQ0FnSUY5amIyNTBaWGgwT2lCamIyNTBaWGgwTEZ4dUlDQWdJQ0FnWDJOaGJHTjFiR0YwWlVOb1lXNW5aV1JDYVhSek9pQmpiMjUwWlhoMExsOWpZV3hqZFd4aGRHVkRhR0Z1WjJWa1FtbDBjMXh1SUNBZ0lIMDdJQzh2SUNSR2JHOTNSbWw0VFdVNklFWnNiM2NnWTI5dGNHeGhhVzV6SUdGaWIzVjBJRzV2ZENCelpYUjBhVzVuSUdFZ2RtRnNkV1VzSUhkb2FXTm9JR2x6SUdsdWRHVnVkR2x2Ym1Gc0lHaGxjbVZjYmx4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowYVdWektFTnZibk4xYldWeUxDQjdYRzRnSUNBZ0lDQlFjbTkyYVdSbGNqb2dlMXh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JV2hoYzFkaGNtNWxaRUZpYjNWMFZYTnBibWREYjI1emRXMWxjbEJ5YjNacFpHVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm9ZWE5YWVhKdVpXUkJZbTkxZEZWemFXNW5RMjl1YzNWdFpYSlFjbTkyYVdSbGNpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2RTWlc1a1pYSnBibWNnUEVOdmJuUmxlSFF1UTI5dWMzVnRaWEl1VUhKdmRtbGtaWEkrSUdseklHNXZkQ0J6ZFhCd2IzSjBaV1FnWVc1a0lIZHBiR3dnWW1VZ2NtVnRiM1psWkNCcGJpQW5JQ3NnSjJFZ1puVjBkWEpsSUcxaGFtOXlJSEpsYkdWaGMyVXVJRVJwWkNCNWIzVWdiV1ZoYmlCMGJ5QnlaVzVrWlhJZ1BFTnZiblJsZUhRdVVISnZkbWxrWlhJK0lHbHVjM1JsWVdRL0p5azdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHTnZiblJsZUhRdVVISnZkbWxrWlhJN1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tGOVFjbTkyYVdSbGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1VUhKdmRtbGtaWElnUFNCZlVISnZkbWxrWlhJN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQmZZM1Z5Y21WdWRGWmhiSFZsT2lCN1hHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpiMjUwWlhoMExsOWpkWEp5Wlc1MFZtRnNkV1U3WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0Y5amRYSnlaVzUwVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNTBaWGgwTGw5amRYSnlaVzUwVm1Gc2RXVWdQU0JmWTNWeWNtVnVkRlpoYkhWbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdYMk4xY25KbGJuUldZV3gxWlRJNklIdGNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR052Ym5SbGVIUXVYMk4xY25KbGJuUldZV3gxWlRJN1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tGOWpkWEp5Wlc1MFZtRnNkV1V5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdWNGRDNWZZM1Z5Y21WdWRGWmhiSFZsTWlBOUlGOWpkWEp5Wlc1MFZtRnNkV1V5TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ1gzUm9jbVZoWkVOdmRXNTBPaUI3WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIyNTBaWGgwTGw5MGFISmxZV1JEYjNWdWREdGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9YM1JvY21WaFpFTnZkVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdWNGRDNWZkR2h5WldGa1EyOTFiblFnUFNCZmRHaHlaV0ZrUTI5MWJuUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JEYjI1emRXMWxjam9nZTF4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVdoaGMxZGhjbTVsWkVGaWIzVjBWWE5wYm1kT1pYTjBaV1JEYjI1MFpYaDBRMjl1YzNWdFpYSnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm9ZWE5YWVhKdVpXUkJZbTkxZEZWemFXNW5UbVZ6ZEdWa1EyOXVkR1Y0ZEVOdmJuTjFiV1Z5Y3lBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZFNaVzVrWlhKcGJtY2dQRU52Ym5SbGVIUXVRMjl1YzNWdFpYSXVRMjl1YzNWdFpYSStJR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUWdZVzVrSUhkcGJHd2dZbVVnY21WdGIzWmxaQ0JwYmlBbklDc2dKMkVnWm5WMGRYSmxJRzFoYW05eUlISmxiR1ZoYzJVdUlFUnBaQ0I1YjNVZ2JXVmhiaUIwYnlCeVpXNWtaWElnUEVOdmJuUmxlSFF1UTI5dWMzVnRaWEkrSUdsdWMzUmxZV1EvSnlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOdmJuUmxlSFF1UTI5dWMzVnRaWEk3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1RzZ0x5OGdKRVpzYjNkR2FYaE5aVG9nUm14dmR5QmpiMjF3YkdGcGJuTWdZV0p2ZFhRZ2JXbHpjMmx1WnlCd2NtOXdaWEowYVdWeklHSmxZMkYxYzJVZ2FYUWdaRzlsYzI0bmRDQjFibVJsY25OMFlXNWtJR1JsWm1sdVpWQnliM0JsY25SNVhHNWNiaUFnSUNCamIyNTBaWGgwTGtOdmJuTjFiV1Z5SUQwZ1EyOXVjM1Z0WlhJN1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ1kyOXVkR1Y0ZEM1ZlkzVnljbVZ1ZEZKbGJtUmxjbVZ5SUQwZ2JuVnNiRHRjYmlBZ0lDQmpiMjUwWlhoMExsOWpkWEp5Wlc1MFVtVnVaR1Z5WlhJeUlEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCamIyNTBaWGgwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJzWVhwNUtHTjBiM0lwSUh0Y2JpQWdkbUZ5SUd4aGVubFVlWEJsSUQwZ2UxeHVJQ0FnSUNRa2RIbHdaVzltT2lCU1JVRkRWRjlNUVZwWlgxUlpVRVVzWEc0Z0lDQWdYMk4wYjNJNklHTjBiM0lzWEc0Z0lDQWdMeThnVW1WaFkzUWdkWE5sY3lCMGFHVnpaU0JtYVdWc1pITWdkRzhnYzNSdmNtVWdkR2hsSUhKbGMzVnNkQzVjYmlBZ0lDQmZjM1JoZEhWek9pQXRNU3hjYmlBZ0lDQmZjbVZ6ZFd4ME9pQnVkV3hzWEc0Z0lIMDdYRzVjYmlBZ2UxeHVJQ0FnSUM4dklFbHVJSEJ5YjJSMVkzUnBiMjRzSUhSb2FYTWdkMjkxYkdRZ2FuVnpkQ0J6WlhRZ2FYUWdiMjRnZEdobElHOWlhbVZqZEM1Y2JpQWdJQ0IyWVhJZ1pHVm1ZWFZzZEZCeWIzQnpPMXh1SUNBZ0lIWmhjaUJ3Y205d1ZIbHdaWE03WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblJwWlhNb2JHRjZlVlI1Y0dVc0lIdGNiaUFnSUNBZ0lHUmxabUYxYkhSUWNtOXdjem9nZTF4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaV1poZFd4MFVISnZjSE03WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0c1bGQwUmxabUYxYkhSUWNtOXdjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkU1pXRmpkQzVzWVhwNUtDNHVMaWs2SUVsMElHbHpJRzV2ZENCemRYQndiM0owWldRZ2RHOGdZWE56YVdkdUlHQmtaV1poZFd4MFVISnZjSE5nSUhSdklDY2dLeUFuWVNCc1lYcDVJR052YlhCdmJtVnVkQ0JwYlhCdmNuUXVJRVZwZEdobGNpQnpjR1ZqYVdaNUlIUm9aVzBnZDJobGNtVWdkR2hsSUdOdmJYQnZibVZ1ZENBbklDc2dKMmx6SUdSbFptbHVaV1FzSUc5eUlHTnlaV0YwWlNCaElIZHlZWEJ3YVc1bklHTnZiWEJ2Ym1WdWRDQmhjbTkxYm1RZ2FYUXVKeWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmtaV1poZFd4MFVISnZjSE1nUFNCdVpYZEVaV1poZFd4MFVISnZjSE03SUM4dklFMWhkR05vSUhCeWIyUjFZM1JwYjI0Z1ltVm9ZWFpwYjNJZ2JXOXlaU0JqYkc5elpXeDVPbHh1WEc0Z0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR3hoZW5sVWVYQmxMQ0FuWkdWbVlYVnNkRkJ5YjNCekp5d2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlZ4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnY0hKdmNGUjVjR1Z6T2lCN1hHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEJ5YjNCVWVYQmxjenRjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvYm1WM1VISnZjRlI1Y0dWektTQjdYRzRnSUNBZ0lDQWdJQ0FnWlhKeWIzSW9KMUpsWVdOMExteGhlbmtvTGk0dUtUb2dTWFFnYVhNZ2JtOTBJSE4xY0hCdmNuUmxaQ0IwYnlCaGMzTnBaMjRnWUhCeWIzQlVlWEJsYzJBZ2RHOGdKeUFySUNkaElHeGhlbmtnWTI5dGNHOXVaVzUwSUdsdGNHOXlkQzRnUldsMGFHVnlJSE53WldOcFpua2dkR2hsYlNCM2FHVnlaU0IwYUdVZ1kyOXRjRzl1Wlc1MElDY2dLeUFuYVhNZ1pHVm1hVzVsWkN3Z2IzSWdZM0psWVhSbElHRWdkM0poY0hCcGJtY2dZMjl0Y0c5dVpXNTBJR0Z5YjNWdVpDQnBkQzRuS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJSEJ5YjNCVWVYQmxjeUE5SUc1bGQxQnliM0JVZVhCbGN6c2dMeThnVFdGMFkyZ2djSEp2WkhWamRHbHZiaUJpWldoaGRtbHZjaUJ0YjNKbElHTnNiM05sYkhrNlhHNWNiaUFnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2JHRjZlVlI1Y0dVc0lDZHdjbTl3Vkhsd1pYTW5MQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbFhHNGdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCc1lYcDVWSGx3WlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWm05eWQyRnlaRkpsWmloeVpXNWtaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2h5Wlc1a1pYSWdJVDBnYm5Wc2JDQW1KaUJ5Wlc1a1pYSXVKQ1IwZVhCbGIyWWdQVDA5SUZKRlFVTlVYMDFGVFU5ZlZGbFFSU2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMlp2Y25kaGNtUlNaV1lnY21WeGRXbHlaWE1nWVNCeVpXNWtaWElnWm5WdVkzUnBiMjRnWW5WMElISmxZMlZwZG1Wa0lHRWdZRzFsYlc5Z0lDY2dLeUFuWTI5dGNHOXVaVzUwTGlCSmJuTjBaV0ZrSUc5bUlHWnZjbmRoY21SU1pXWW9iV1Z0YnlndUxpNHBLU3dnZFhObElDY2dLeUFuYldWdGJ5aG1iM0ozWVhKa1VtVm1LQzR1TGlrcExpY3BPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlISmxibVJsY2lBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMlp2Y25kaGNtUlNaV1lnY21WeGRXbHlaWE1nWVNCeVpXNWtaWElnWm5WdVkzUnBiMjRnWW5WMElIZGhjeUJuYVhabGJpQWxjeTRuTENCeVpXNWtaWElnUFQwOUlHNTFiR3dnUHlBbmJuVnNiQ2NnT2lCMGVYQmxiMllnY21WdVpHVnlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FXWWdLSEpsYm1SbGNpNXNaVzVuZEdnZ0lUMDlJREFnSmlZZ2NtVnVaR1Z5TG14bGJtZDBhQ0FoUFQwZ01pa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25abTl5ZDJGeVpGSmxaaUJ5Wlc1a1pYSWdablZ1WTNScGIyNXpJR0ZqWTJWd2RDQmxlR0ZqZEd4NUlIUjNieUJ3WVhKaGJXVjBaWEp6T2lCd2NtOXdjeUJoYm1RZ2NtVm1MaUFsY3ljc0lISmxibVJsY2k1c1pXNW5kR2dnUFQwOUlERWdQeUFuUkdsa0lIbHZkU0JtYjNKblpYUWdkRzhnZFhObElIUm9aU0J5WldZZ2NHRnlZVzFsZEdWeVB5Y2dPaUFuUVc1NUlHRmtaR2wwYVc5dVlXd2djR0Z5WVcxbGRHVnlJSGRwYkd3Z1ltVWdkVzVrWldacGJtVmtMaWNwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoeVpXNWtaWElnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tISmxibVJsY2k1a1pXWmhkV3gwVUhKdmNITWdJVDBnYm5Wc2JDQjhmQ0J5Wlc1a1pYSXVjSEp2Y0ZSNWNHVnpJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KMlp2Y25kaGNtUlNaV1lnY21WdVpHVnlJR1oxYm1OMGFXOXVjeUJrYnlCdWIzUWdjM1Z3Y0c5eWRDQndjbTl3Vkhsd1pYTWdiM0lnWkdWbVlYVnNkRkJ5YjNCekxpQW5JQ3NnSjBScFpDQjViM1VnWVdOamFXUmxiblJoYkd4NUlIQmhjM01nWVNCU1pXRmpkQ0JqYjIxd2IyNWxiblEvSnlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FrSkhSNWNHVnZaam9nVWtWQlExUmZSazlTVjBGU1JGOVNSVVpmVkZsUVJTeGNiaUFnSUNCeVpXNWtaWEk2SUhKbGJtUmxjbHh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMxWmhiR2xrUld4bGJXVnVkRlI1Y0dVb2RIbHdaU2tnZTF4dUlDQnlaWFIxY200Z2RIbHdaVzltSUhSNWNHVWdQVDA5SUNkemRISnBibWNuSUh4OElIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJQzh2SUU1dmRHVTZJR2wwY3lCMGVYQmxiMllnYldsbmFIUWdZbVVnYjNSb1pYSWdkR2hoYmlBbmMzbHRZbTlzSnlCdmNpQW5iblZ0WW1WeUp5QnBaaUJwZENkeklHRWdjRzlzZVdacGJHd3VYRzRnSUhSNWNHVWdQVDA5SUZKRlFVTlVYMFpTUVVkTlJVNVVYMVJaVUVVZ2ZId2dkSGx3WlNBOVBUMGdVa1ZCUTFSZlEwOU9RMVZTVWtWT1ZGOU5UMFJGWDFSWlVFVWdmSHdnZEhsd1pTQTlQVDBnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlNCOGZDQjBlWEJsSUQwOVBTQlNSVUZEVkY5VFZGSkpRMVJmVFU5RVJWOVVXVkJGSUh4OElIUjVjR1VnUFQwOUlGSkZRVU5VWDFOVlUxQkZUbE5GWDFSWlVFVWdmSHdnZEhsd1pTQTlQVDBnVWtWQlExUmZVMVZUVUVWT1UwVmZURWxUVkY5VVdWQkZJSHg4SUhSNWNHVnZaaUIwZVhCbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGVYQmxJQ0U5UFNCdWRXeHNJQ1ltSUNoMGVYQmxMaVFrZEhsd1pXOW1JRDA5UFNCU1JVRkRWRjlNUVZwWlgxUlpVRVVnZkh3Z2RIbHdaUzRrSkhSNWNHVnZaaUE5UFQwZ1VrVkJRMVJmVFVWTlQxOVVXVkJGSUh4OElIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDFCU1QxWkpSRVZTWDFSWlVFVWdmSHdnZEhsd1pTNGtKSFI1Y0dWdlppQTlQVDBnVWtWQlExUmZRMDlPVkVWWVZGOVVXVkJGSUh4OElIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVnZkh3Z2RIbHdaUzRrSkhSNWNHVnZaaUE5UFQwZ1VrVkJRMVJmUmxWT1JFRk5SVTVVUVV4ZlZGbFFSU0I4ZkNCMGVYQmxMaVFrZEhsd1pXOW1JRDA5UFNCU1JVRkRWRjlTUlZOUVQwNUVSVkpmVkZsUVJTQjhmQ0IwZVhCbExpUWtkSGx3Wlc5bUlEMDlQU0JTUlVGRFZGOVRRMDlRUlY5VVdWQkZJSHg4SUhSNWNHVXVKQ1IwZVhCbGIyWWdQVDA5SUZKRlFVTlVYMEpNVDBOTFgxUlpVRVVwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0WlcxdktIUjVjR1VzSUdOdmJYQmhjbVVwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYVhOV1lXeHBaRVZzWlcxbGJuUlVlWEJsS0hSNWNHVXBLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25iV1Z0YnpvZ1ZHaGxJR1pwY25OMElHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQmpiMjF3YjI1bGJuUXVJRWx1YzNSbFlXUWdKeUFySUNkeVpXTmxhWFpsWkRvZ0pYTW5MQ0IwZVhCbElEMDlQU0J1ZFd4c0lEOGdKMjUxYkd3bklEb2dkSGx3Wlc5bUlIUjVjR1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdKQ1IwZVhCbGIyWTZJRkpGUVVOVVgwMUZUVTlmVkZsUVJTeGNiaUFnSUNCMGVYQmxPaUIwZVhCbExGeHVJQ0FnSUdOdmJYQmhjbVU2SUdOdmJYQmhjbVVnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JRzUxYkd3Z09pQmpiMjF3WVhKbFhHNGdJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2tnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkRHRjYmx4dUlDQnBaaUFvSVNoa2FYTndZWFJqYUdWeUlDRTlQU0J1ZFd4c0tTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtsdWRtRnNhV1FnYUc5dmF5QmpZV3hzTGlCSWIyOXJjeUJqWVc0Z2IyNXNlU0JpWlNCallXeHNaV1FnYVc1emFXUmxJRzltSUhSb1pTQmliMlI1SUc5bUlHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBMaUJVYUdseklHTnZkV3hrSUdoaGNIQmxiaUJtYjNJZ2IyNWxJRzltSUhSb1pTQm1iMnhzYjNkcGJtY2djbVZoYzI5dWN6cGNYRzR4TGlCWmIzVWdiV2xuYUhRZ2FHRjJaU0J0YVhOdFlYUmphR2x1WnlCMlpYSnphVzl1Y3lCdlppQlNaV0ZqZENCaGJtUWdkR2hsSUhKbGJtUmxjbVZ5SUNoemRXTm9JR0Z6SUZKbFlXTjBJRVJQVFNsY1hHNHlMaUJaYjNVZ2JXbG5hSFFnWW1VZ1luSmxZV3RwYm1jZ2RHaGxJRkoxYkdWeklHOW1JRWh2YjJ0elhGeHVNeTRnV1c5MUlHMXBaMmgwSUdoaGRtVWdiVzl5WlNCMGFHRnVJRzl1WlNCamIzQjVJRzltSUZKbFlXTjBJR2x1SUhSb1pTQnpZVzFsSUdGd2NGeGNibE5sWlNCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExXbHVkbUZzYVdRdGFHOXZheTFqWVd4c0lHWnZjaUIwYVhCeklHRmliM1YwSUdodmR5QjBieUJrWldKMVp5QmhibVFnWm1sNElIUm9hWE1nY0hKdllteGxiUzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCa2FYTndZWFJqYUdWeU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWMyVkRiMjUwWlhoMEtFTnZiblJsZUhRc0lIVnVjM1JoWW14bFgyOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlISmxjMjlzZG1WRWFYTndZWFJqYUdWeUtDazdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDaDFibk4wWVdKc1pWOXZZbk5sY25abFpFSnBkSE1nSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0ozVnpaVU52Ym5SbGVIUW9LU0J6WldOdmJtUWdZWEpuZFcxbGJuUWdhWE1nY21WelpYSjJaV1FnWm05eUlHWjFkSFZ5WlNBbklDc2dKM1Z6WlNCcGJpQlNaV0ZqZEM0Z1VHRnpjMmx1WnlCcGRDQnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa0xpQW5JQ3NnSjFsdmRTQndZWE56WldRNklDVnpMaVZ6Snl3Z2RXNXpkR0ZpYkdWZmIySnpaWEoyWldSQ2FYUnpMQ0IwZVhCbGIyWWdkVzV6ZEdGaWJHVmZiMkp6WlhKMlpXUkNhWFJ6SUQwOVBTQW5iblZ0WW1WeUp5QW1KaUJCY25KaGVTNXBjMEZ5Y21GNUtHRnlaM1Z0Wlc1MGMxc3lYU2tnUHlBblhGeHVYRnh1Ukdsa0lIbHZkU0JqWVd4c0lHRnljbUY1TG0xaGNDaDFjMlZEYjI1MFpYaDBLVDhnSnlBcklDZERZV3hzYVc1bklFaHZiMnR6SUdsdWMybGtaU0JoSUd4dmIzQWdhWE1nYm05MElITjFjSEJ2Y25SbFpDNGdKeUFySUNkTVpXRnliaUJ0YjNKbElHRjBJR2gwZEhCek9pOHZabUl1YldVdmNuVnNaWE10YjJZdGFHOXZhM01uSURvZ0p5Y3BPMXh1SUNBZ0lIMGdMeThnVkU5RVR6b2dZV1JrSUdFZ2JXOXlaU0JuWlc1bGNtbGpJSGRoY201cGJtY2dabTl5SUdsdWRtRnNhV1FnZG1Gc2RXVnpMbHh1WEc1Y2JpQWdJQ0JwWmlBb1EyOXVkR1Y0ZEM1ZlkyOXVkR1Y0ZENBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NtVmhiRU52Ym5SbGVIUWdQU0JEYjI1MFpYaDBMbDlqYjI1MFpYaDBPeUF2THlCRWIyNG5kQ0JrWldSMWNHeHBZMkYwWlNCaVpXTmhkWE5sSUhSb2FYTWdiR1ZuYVhScGJXRjBaV3g1SUdOaGRYTmxjeUJpZFdkelhHNGdJQ0FnSUNBdkx5QmhibVFnYm05aWIyUjVJSE5vYjNWc1pDQmlaU0IxYzJsdVp5QjBhR2x6SUdsdUlHVjRhWE4wYVc1bklHTnZaR1V1WEc1Y2JpQWdJQ0FnSUdsbUlDaHlaV0ZzUTI5dWRHVjRkQzVEYjI1emRXMWxjaUE5UFQwZ1EyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnblEyRnNiR2x1WnlCMWMyVkRiMjUwWlhoMEtFTnZiblJsZUhRdVEyOXVjM1Z0WlhJcElHbHpJRzV2ZENCemRYQndiM0owWldRc0lHMWhlU0JqWVhWelpTQmlkV2R6TENCaGJtUWdkMmxzYkNCaVpTQW5JQ3NnSjNKbGJXOTJaV1FnYVc0Z1lTQm1kWFIxY21VZ2JXRnFiM0lnY21Wc1pXRnpaUzRnUkdsa0lIbHZkU0J0WldGdUlIUnZJR05oYkd3Z2RYTmxRMjl1ZEdWNGRDaERiMjUwWlhoMEtTQnBibk4wWldGa1B5Y3BPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h5WldGc1EyOXVkR1Y0ZEM1UWNtOTJhV1JsY2lBOVBUMGdRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25RMkZzYkdsdVp5QjFjMlZEYjI1MFpYaDBLRU52Ym5SbGVIUXVVSEp2ZG1sa1pYSXBJR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUXVJQ2NnS3lBblJHbGtJSGx2ZFNCdFpXRnVJSFJ2SUdOaGJHd2dkWE5sUTI5dWRHVjRkQ2hEYjI1MFpYaDBLU0JwYm5OMFpXRmtQeWNwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJrYVhOd1lYUmphR1Z5TG5WelpVTnZiblJsZUhRb1EyOXVkR1Y0ZEN3Z2RXNXpkR0ZpYkdWZmIySnpaWEoyWldSQ2FYUnpLVHRjYm4xY2JtWjFibU4wYVc5dUlIVnpaVk4wWVhSbEtHbHVhWFJwWVd4VGRHRjBaU2tnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlISmxjMjlzZG1WRWFYTndZWFJqYUdWeUtDazdYRzRnSUhKbGRIVnliaUJrYVhOd1lYUmphR1Z5TG5WelpWTjBZWFJsS0dsdWFYUnBZV3hUZEdGMFpTazdYRzU5WEc1bWRXNWpkR2x2YmlCMWMyVlNaV1IxWTJWeUtISmxaSFZqWlhJc0lHbHVhWFJwWVd4QmNtY3NJR2x1YVhRcElIdGNiaUFnZG1GeUlHUnBjM0JoZEdOb1pYSWdQU0J5WlhOdmJIWmxSR2x6Y0dGMFkyaGxjaWdwTzF4dUlDQnlaWFIxY200Z1pHbHpjR0YwWTJobGNpNTFjMlZTWldSMVkyVnlLSEpsWkhWalpYSXNJR2x1YVhScFlXeEJjbWNzSUdsdWFYUXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2RYTmxVbVZtS0dsdWFYUnBZV3hXWVd4MVpTa2dlMXh1SUNCMllYSWdaR2x6Y0dGMFkyaGxjaUE5SUhKbGMyOXNkbVZFYVhOd1lYUmphR1Z5S0NrN1hHNGdJSEpsZEhWeWJpQmthWE53WVhSamFHVnlMblZ6WlZKbFppaHBibWwwYVdGc1ZtRnNkV1VwTzF4dWZWeHVablZ1WTNScGIyNGdkWE5sUldabVpXTjBLR055WldGMFpTd2daR1Z3Y3lrZ2UxeHVJQ0IyWVhJZ1pHbHpjR0YwWTJobGNpQTlJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2s3WEc0Z0lISmxkSFZ5YmlCa2FYTndZWFJqYUdWeUxuVnpaVVZtWm1WamRDaGpjbVZoZEdVc0lHUmxjSE1wTzF4dWZWeHVablZ1WTNScGIyNGdkWE5sVEdGNWIzVjBSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlISmxjMjlzZG1WRWFYTndZWFJqYUdWeUtDazdYRzRnSUhKbGRIVnliaUJrYVhOd1lYUmphR1Z5TG5WelpVeGhlVzkxZEVWbVptVmpkQ2hqY21WaGRHVXNJR1JsY0hNcE8xeHVmVnh1Wm5WdVkzUnBiMjRnZFhObFEyRnNiR0poWTJzb1kyRnNiR0poWTJzc0lHUmxjSE1wSUh0Y2JpQWdkbUZ5SUdScGMzQmhkR05vWlhJZ1BTQnlaWE52YkhabFJHbHpjR0YwWTJobGNpZ3BPMXh1SUNCeVpYUjFjbTRnWkdsemNHRjBZMmhsY2k1MWMyVkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2daR1Z3Y3lrN1hHNTlYRzVtZFc1amRHbHZiaUIxYzJWTlpXMXZLR055WldGMFpTd2daR1Z3Y3lrZ2UxeHVJQ0IyWVhJZ1pHbHpjR0YwWTJobGNpQTlJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2s3WEc0Z0lISmxkSFZ5YmlCa2FYTndZWFJqYUdWeUxuVnpaVTFsYlc4b1kzSmxZWFJsTENCa1pYQnpLVHRjYm4xY2JtWjFibU4wYVc5dUlIVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW9jbVZtTENCamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ2RtRnlJR1JwYzNCaGRHTm9aWElnUFNCeVpYTnZiSFpsUkdsemNHRjBZMmhsY2lncE8xeHVJQ0J5WlhSMWNtNGdaR2x6Y0dGMFkyaGxjaTUxYzJWSmJYQmxjbUYwYVhabFNHRnVaR3hsS0hKbFppd2dZM0psWVhSbExDQmtaWEJ6S1R0Y2JuMWNibVoxYm1OMGFXOXVJSFZ6WlVSbFluVm5WbUZzZFdVb2RtRnNkV1VzSUdadmNtMWhkSFJsY2tadUtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ1pHbHpjR0YwWTJobGNpQTlJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHUnBjM0JoZEdOb1pYSXVkWE5sUkdWaWRXZFdZV3gxWlNoMllXeDFaU3dnWm05eWJXRjBkR1Z5Um00cE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCd2NtOXdWSGx3WlhOTmFYTnpjR1ZzYkZkaGNtNXBibWRUYUc5M2JqdGNibHh1ZTF4dUlDQndjbTl3Vkhsd1pYTk5hWE56Y0dWc2JGZGhjbTVwYm1kVGFHOTNiaUE5SUdaaGJITmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJFWldOc1lYSmhkR2x2YmtWeWNtOXlRV1JrWlc1a2RXMG9LU0I3WEc0Z0lHbG1JQ2hTWldGamRFTjFjbkpsYm5SUGQyNWxjaTVqZFhKeVpXNTBLU0I3WEc0Z0lDQWdkbUZ5SUc1aGJXVWdQU0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLRkpsWVdOMFEzVnljbVZ1ZEU5M2JtVnlMbU4xY25KbGJuUXVkSGx3WlNrN1hHNWNiaUFnSUNCcFppQW9ibUZ0WlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUNkY1hHNWNYRzVEYUdWamF5QjBhR1VnY21WdVpHVnlJRzFsZEdodlpDQnZaaUJnSnlBcklHNWhiV1VnS3lBbllDNG5PMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQW5KenRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwVTI5MWNtTmxTVzVtYjBWeWNtOXlRV1JrWlc1a2RXMG9jMjkxY21ObEtTQjdYRzRnSUdsbUlDaHpiM1Z5WTJVZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJSFpoY2lCbWFXeGxUbUZ0WlNBOUlITnZkWEpqWlM1bWFXeGxUbUZ0WlM1eVpYQnNZV05sS0M5ZUxpcGJYRnhjWEZ4Y0wxMHZMQ0FuSnlrN1hHNGdJQ0FnZG1GeUlHeHBibVZPZFcxaVpYSWdQU0J6YjNWeVkyVXViR2x1WlU1MWJXSmxjanRjYmlBZ0lDQnlaWFIxY200Z0oxeGNibHhjYmtOb1pXTnJJSGx2ZFhJZ1kyOWtaU0JoZENBbklDc2dabWxzWlU1aGJXVWdLeUFuT2ljZ0t5QnNhVzVsVG5WdFltVnlJQ3NnSnk0bk8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlDY25PMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJUYjNWeVkyVkpibVp2UlhKeWIzSkJaR1JsYm1SMWJVWnZjbEJ5YjNCektHVnNaVzFsYm5SUWNtOXdjeWtnZTF4dUlDQnBaaUFvWld4bGJXVnVkRkJ5YjNCeklDRTlQU0J1ZFd4c0lDWW1JR1ZzWlcxbGJuUlFjbTl3Y3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHZGxkRk52ZFhKalpVbHVabTlGY25KdmNrRmtaR1Z1WkhWdEtHVnNaVzFsYm5SUWNtOXdjeTVmWDNOdmRYSmpaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnSnljN1hHNTlYRzR2S2lwY2JpQXFJRmRoY200Z2FXWWdkR2hsY21VbmN5QnVieUJyWlhrZ1pYaHdiR2xqYVhSc2VTQnpaWFFnYjI0Z1pIbHVZVzFwWXlCaGNuSmhlWE1nYjJZZ1kyaHBiR1J5Wlc0Z2IzSmNiaUFxSUc5aWFtVmpkQ0JyWlhseklHRnlaU0J1YjNRZ2RtRnNhV1F1SUZSb2FYTWdZV3hzYjNkeklIVnpJSFJ2SUd0bFpYQWdkSEpoWTJzZ2IyWWdZMmhwYkdSeVpXNGdZbVYwZDJWbGJseHVJQ29nZFhCa1lYUmxjeTVjYmlBcUwxeHVYRzVjYm5aaGNpQnZkMjVsY2toaGMwdGxlVlZ6WlZkaGNtNXBibWNnUFNCN2ZUdGNibHh1Wm5WdVkzUnBiMjRnWjJWMFEzVnljbVZ1ZEVOdmJYQnZibVZ1ZEVWeWNtOXlTVzVtYnlod1lYSmxiblJVZVhCbEtTQjdYRzRnSUhaaGNpQnBibVp2SUQwZ1oyVjBSR1ZqYkdGeVlYUnBiMjVGY25KdmNrRmtaR1Z1WkhWdEtDazdYRzVjYmlBZ2FXWWdLQ0ZwYm1adktTQjdYRzRnSUNBZ2RtRnlJSEJoY21WdWRFNWhiV1VnUFNCMGVYQmxiMllnY0dGeVpXNTBWSGx3WlNBOVBUMGdKM04wY21sdVp5Y2dQeUJ3WVhKbGJuUlVlWEJsSURvZ2NHRnlaVzUwVkhsd1pTNWthWE53YkdGNVRtRnRaU0I4ZkNCd1lYSmxiblJVZVhCbExtNWhiV1U3WEc1Y2JpQWdJQ0JwWmlBb2NHRnlaVzUwVG1GdFpTa2dlMXh1SUNBZ0lDQWdhVzVtYnlBOUlGd2lYRnh1WEZ4dVEyaGxZMnNnZEdobElIUnZjQzFzWlhabGJDQnlaVzVrWlhJZ1kyRnNiQ0IxYzJsdVp5QThYQ0lnS3lCd1lYSmxiblJPWVcxbElDc2dYQ0krTGx3aU8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCcGJtWnZPMXh1ZlZ4dUx5b3FYRzRnS2lCWFlYSnVJR2xtSUhSb1pTQmxiR1Z0Wlc1MElHUnZaWE51SjNRZ2FHRjJaU0JoYmlCbGVIQnNhV05wZENCclpYa2dZWE56YVdkdVpXUWdkRzhnYVhRdVhHNGdLaUJVYUdseklHVnNaVzFsYm5RZ2FYTWdhVzRnWVc0Z1lYSnlZWGt1SUZSb1pTQmhjbkpoZVNCamIzVnNaQ0JuY205M0lHRnVaQ0J6YUhKcGJtc2diM0lnWW1WY2JpQXFJSEpsYjNKa1pYSmxaQzRnUVd4c0lHTm9hV3hrY21WdUlIUm9ZWFFnYUdGMlpXNG5kQ0JoYkhKbFlXUjVJR0psWlc0Z2RtRnNhV1JoZEdWa0lHRnlaU0J5WlhGMWFYSmxaQ0IwYjF4dUlDb2dhR0YyWlNCaElGd2lhMlY1WENJZ2NISnZjR1Z5ZEhrZ1lYTnphV2R1WldRZ2RHOGdhWFF1SUVWeWNtOXlJSE4wWVhSMWMyVnpJR0Z5WlNCallXTm9aV1FnYzI4Z1lTQjNZWEp1YVc1blhHNGdLaUIzYVd4c0lHOXViSGtnWW1VZ2MyaHZkMjRnYjI1alpTNWNiaUFxWEc0Z0tpQkFhVzUwWlhKdVlXeGNiaUFxSUVCd1lYSmhiU0I3VW1WaFkzUkZiR1Z0Wlc1MGZTQmxiR1Z0Wlc1MElFVnNaVzFsYm5RZ2RHaGhkQ0J5WlhGMWFYSmxjeUJoSUd0bGVTNWNiaUFxSUVCd1lYSmhiU0I3S24wZ2NHRnlaVzUwVkhsd1pTQmxiR1Z0Wlc1MEozTWdjR0Z5Wlc1MEozTWdkSGx3WlM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIWmhiR2xrWVhSbFJYaHdiR2xqYVhSTFpYa29aV3hsYldWdWRDd2djR0Z5Wlc1MFZIbHdaU2tnZTF4dUlDQnBaaUFvSVdWc1pXMWxiblF1WDNOMGIzSmxJSHg4SUdWc1pXMWxiblF1WDNOMGIzSmxMblpoYkdsa1lYUmxaQ0I4ZkNCbGJHVnRaVzUwTG10bGVTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ1pXeGxiV1Z1ZEM1ZmMzUnZjbVV1ZG1Gc2FXUmhkR1ZrSUQwZ2RISjFaVHRjYmlBZ2RtRnlJR04xY25KbGJuUkRiMjF3YjI1bGJuUkZjbkp2Y2tsdVptOGdQU0JuWlhSRGRYSnlaVzUwUTI5dGNHOXVaVzUwUlhKeWIzSkpibVp2S0hCaGNtVnVkRlI1Y0dVcE8xeHVYRzRnSUdsbUlDaHZkMjVsY2toaGMwdGxlVlZ6WlZkaGNtNXBibWRiWTNWeWNtVnVkRU52YlhCdmJtVnVkRVZ5Y205eVNXNW1iMTBwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0J2ZDI1bGNraGhjMHRsZVZWelpWZGhjbTVwYm1kYlkzVnljbVZ1ZEVOdmJYQnZibVZ1ZEVWeWNtOXlTVzVtYjEwZ1BTQjBjblZsT3lBdkx5QlZjM1ZoYkd4NUlIUm9aU0JqZFhKeVpXNTBJRzkzYm1WeUlHbHpJSFJvWlNCdlptWmxibVJsY2l3Z1luVjBJR2xtSUdsMElHRmpZMlZ3ZEhNZ1kyaHBiR1J5Wlc0Z1lYTWdZVnh1SUNBdkx5QndjbTl3WlhKMGVTd2dhWFFnYldGNUlHSmxJSFJvWlNCamNtVmhkRzl5SUc5bUlIUm9aU0JqYUdsc1pDQjBhR0YwSjNNZ2NtVnpjRzl1YzJsaWJHVWdabTl5WEc0Z0lDOHZJR0Z6YzJsbmJtbHVaeUJwZENCaElHdGxlUzVjYmx4dUlDQjJZWElnWTJocGJHUlBkMjVsY2lBOUlDY25PMXh1WEc0Z0lHbG1JQ2hsYkdWdFpXNTBJQ1ltSUdWc1pXMWxiblF1WDI5M2JtVnlJQ1ltSUdWc1pXMWxiblF1WDI5M2JtVnlJQ0U5UFNCU1pXRmpkRU4xY25KbGJuUlBkMjVsY2k1amRYSnlaVzUwS1NCN1hHNGdJQ0FnTHk4Z1IybDJaU0IwYUdVZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYjNKcFoybHVZV3hzZVNCamNtVmhkR1ZrSUhSb2FYTWdZMmhwYkdRdVhHNGdJQ0FnWTJocGJHUlBkMjVsY2lBOUlGd2lJRWwwSUhkaGN5QndZWE56WldRZ1lTQmphR2xzWkNCbWNtOXRJRndpSUNzZ1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNobGJHVnRaVzUwTGw5dmQyNWxjaTUwZVhCbEtTQXJJRndpTGx3aU8xeHVJQ0I5WEc1Y2JpQWdjMlYwUTNWeWNtVnVkR3g1Vm1Gc2FXUmhkR2x1WjBWc1pXMWxiblFvWld4bGJXVnVkQ2s3WEc1Y2JpQWdlMXh1SUNBZ0lHVnljbTl5S0NkRllXTm9JR05vYVd4a0lHbHVJR0VnYkdsemRDQnphRzkxYkdRZ2FHRjJaU0JoSUhWdWFYRjFaU0JjSW10bGVWd2lJSEJ5YjNBdUp5QXJJQ2NsY3lWeklGTmxaU0JvZEhSd2N6b3ZMMlppTG0xbEwzSmxZV04wTFhkaGNtNXBibWN0YTJWNWN5Qm1iM0lnYlc5eVpTQnBibVp2Y20xaGRHbHZiaTRuTENCamRYSnlaVzUwUTI5dGNHOXVaVzUwUlhKeWIzSkpibVp2TENCamFHbHNaRTkzYm1WeUtUdGNiaUFnZlZ4dVhHNGdJSE5sZEVOMWNuSmxiblJzZVZaaGJHbGtZWFJwYm1kRmJHVnRaVzUwS0c1MWJHd3BPMXh1ZlZ4dUx5b3FYRzRnS2lCRmJuTjFjbVVnZEdoaGRDQmxkbVZ5ZVNCbGJHVnRaVzUwSUdWcGRHaGxjaUJwY3lCd1lYTnpaV1FnYVc0Z1lTQnpkR0YwYVdNZ2JHOWpZWFJwYjI0c0lHbHVJR0Z1WEc0Z0tpQmhjbkpoZVNCM2FYUm9JR0Z1SUdWNGNHeHBZMmwwSUd0bGVYTWdjSEp2Y0dWeWRIa2daR1ZtYVc1bFpDd2diM0lnYVc0Z1lXNGdiMkpxWldOMElHeHBkR1Z5WVd4Y2JpQXFJSGRwZEdnZ2RtRnNhV1FnYTJWNUlIQnliM0JsY25SNUxseHVJQ3BjYmlBcUlFQnBiblJsY201aGJGeHVJQ29nUUhCaGNtRnRJSHRTWldGamRFNXZaR1Y5SUc1dlpHVWdVM1JoZEdsallXeHNlU0J3WVhOelpXUWdZMmhwYkdRZ2IyWWdZVzU1SUhSNWNHVXVYRzRnS2lCQWNHRnlZVzBnZXlwOUlIQmhjbVZ1ZEZSNWNHVWdibTlrWlNkeklIQmhjbVZ1ZENkeklIUjVjR1V1WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlVOb2FXeGtTMlY1Y3lodWIyUmxMQ0J3WVhKbGJuUlVlWEJsS1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYm05a1pTQWhQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2h1YjJSbEtTa2dlMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dibTlrWlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUdOb2FXeGtJRDBnYm05a1pWdHBYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHpWbUZzYVdSRmJHVnRaVzUwS0dOb2FXeGtLU2tnZTF4dUlDQWdJQ0FnSUNCMllXeHBaR0YwWlVWNGNHeHBZMmwwUzJWNUtHTm9hV3hrTENCd1lYSmxiblJVZVhCbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQnBaaUFvYVhOV1lXeHBaRVZzWlcxbGJuUW9ibTlrWlNrcElIdGNiaUFnSUNBdkx5QlVhR2x6SUdWc1pXMWxiblFnZDJGeklIQmhjM05sWkNCcGJpQmhJSFpoYkdsa0lHeHZZMkYwYVc5dUxseHVJQ0FnSUdsbUlDaHViMlJsTGw5emRHOXlaU2tnZTF4dUlDQWdJQ0FnYm05a1pTNWZjM1J2Y21VdWRtRnNhV1JoZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCcFppQW9ibTlrWlNrZ2UxeHVJQ0FnSUhaaGNpQnBkR1Z5WVhSdmNrWnVJRDBnWjJWMFNYUmxjbUYwYjNKR2JpaHViMlJsS1R0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FYUmxjbUYwYjNKR2JpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0x5OGdSVzUwY25rZ2FYUmxjbUYwYjNKeklIVnpaV1FnZEc4Z2NISnZkbWxrWlNCcGJYQnNhV05wZENCclpYbHpMRnh1SUNBZ0lDQWdMeThnWW5WMElHNXZkeUIzWlNCd2NtbHVkQ0JoSUhObGNHRnlZWFJsSUhkaGNtNXBibWNnWm05eUlIUm9aVzBnYkdGMFpYSXVYRzRnSUNBZ0lDQnBaaUFvYVhSbGNtRjBiM0pHYmlBaFBUMGdibTlrWlM1bGJuUnlhV1Z6S1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwZEdWeVlYUnZjaUE5SUdsMFpYSmhkRzl5Um00dVkyRnNiQ2h1YjJSbEtUdGNiaUFnSUNBZ0lDQWdkbUZ5SUhOMFpYQTdYRzVjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLQ0VvYzNSbGNDQTlJR2wwWlhKaGRHOXlMbTVsZUhRb0tTa3VaRzl1WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNocGMxWmhiR2xrUld4bGJXVnVkQ2h6ZEdWd0xuWmhiSFZsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2FXUmhkR1ZGZUhCc2FXTnBkRXRsZVNoemRHVndMblpoYkhWbExDQndZWEpsYm5SVWVYQmxLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpOHFLbHh1SUNvZ1IybDJaVzRnWVc0Z1pXeGxiV1Z1ZEN3Z2RtRnNhV1JoZEdVZ2RHaGhkQ0JwZEhNZ2NISnZjSE1nWm05c2JHOTNJSFJvWlNCd2NtOXdWSGx3WlhNZ1pHVm1hVzVwZEdsdmJpeGNiaUFxSUhCeWIzWnBaR1ZrSUdKNUlIUm9aU0IwZVhCbExseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1VtVmhZM1JGYkdWdFpXNTBmU0JsYkdWdFpXNTBYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUIyWVd4cFpHRjBaVkJ5YjNCVWVYQmxjeWhsYkdWdFpXNTBLU0I3WEc0Z0lIdGNiaUFnSUNCMllYSWdkSGx3WlNBOUlHVnNaVzFsYm5RdWRIbHdaVHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQjBlWEJsYjJZZ2RIbHdaU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2JtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEhsd1pTazdYRzRnSUNBZ2RtRnlJSEJ5YjNCVWVYQmxjenRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2NISnZjRlI1Y0dWeklEMGdkSGx3WlM1d2NtOXdWSGx3WlhNN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ0tIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVnZkh3Z0x5OGdUbTkwWlRvZ1RXVnRieUJ2Ym14NUlHTm9aV05yY3lCdmRYUmxjaUJ3Y205d2N5Qm9aWEpsTGx4dUlDQWdJQzh2SUVsdWJtVnlJSEJ5YjNCeklHRnlaU0JqYUdWamEyVmtJR2x1SUhSb1pTQnlaV052Ym1OcGJHVnlMbHh1SUNBZ0lIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDAxRlRVOWZWRmxRUlNrcElIdGNiaUFnSUNBZ0lIQnliM0JVZVhCbGN5QTlJSFI1Y0dVdWNISnZjRlI1Y0dWek8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSEJ5YjNCVWVYQmxjeWtnZTF4dUlDQWdJQ0FnYzJWMFEzVnljbVZ1ZEd4NVZtRnNhV1JoZEdsdVowVnNaVzFsYm5Rb1pXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNCamFHVmphMUJ5YjNCVWVYQmxjeWh3Y205d1ZIbHdaWE1zSUdWc1pXMWxiblF1Y0hKdmNITXNJQ2R3Y205d0p5d2dibUZ0WlN3Z1VtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaUzVuWlhSVGRHRmphMEZrWkdWdVpIVnRLVHRjYmlBZ0lDQWdJSE5sZEVOMWNuSmxiblJzZVZaaGJHbGtZWFJwYm1kRmJHVnRaVzUwS0c1MWJHd3BPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3WlM1UWNtOXdWSGx3WlhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlBaGNISnZjRlI1Y0dWelRXbHpjM0JsYkd4WFlYSnVhVzVuVTJodmQyNHBJSHRjYmlBZ0lDQWdJSEJ5YjNCVWVYQmxjMDFwYzNOd1pXeHNWMkZ5Ym1sdVoxTm9iM2R1SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnWlhKeWIzSW9KME52YlhCdmJtVnVkQ0FsY3lCa1pXTnNZWEpsWkNCZ1VISnZjRlI1Y0dWellDQnBibk4wWldGa0lHOW1JR0J3Y205d1ZIbHdaWE5nTGlCRWFXUWdlVzkxSUcxcGMzTndaV3hzSUhSb1pTQndjbTl3WlhKMGVTQmhjM05wWjI1dFpXNTBQeWNzSUc1aGJXVWdmSHdnSjFWdWEyNXZkMjRuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhSNWNHVXVaMlYwUkdWbVlYVnNkRkJ5YjNCeklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRjBlWEJsTG1kbGRFUmxabUYxYkhSUWNtOXdjeTVwYzFKbFlXTjBRMnhoYzNOQmNIQnliM1psWkNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjJkbGRFUmxabUYxYkhSUWNtOXdjeUJwY3lCdmJteDVJSFZ6WldRZ2IyNGdZMnhoYzNOcFl5QlNaV0ZqZEM1amNtVmhkR1ZEYkdGemN5QW5JQ3NnSjJSbFptbHVhWFJwYjI1ekxpQlZjMlVnWVNCemRHRjBhV01nY0hKdmNHVnlkSGtnYm1GdFpXUWdZR1JsWm1GMWJIUlFjbTl3YzJBZ2FXNXpkR1ZoWkM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpOHFLbHh1SUNvZ1IybDJaVzRnWVNCbWNtRm5iV1Z1ZEN3Z2RtRnNhV1JoZEdVZ2RHaGhkQ0JwZENCallXNGdiMjVzZVNCaVpTQndjbTkyYVdSbFpDQjNhWFJvSUdaeVlXZHRaVzUwSUhCeWIzQnpYRzRnS2lCQWNHRnlZVzBnZTFKbFlXTjBSV3hsYldWdWRIMGdabkpoWjIxbGJuUmNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJSFpoYkdsa1lYUmxSbkpoWjIxbGJuUlFjbTl3Y3lobWNtRm5iV1Z1ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdjMlYwUTNWeWNtVnVkR3g1Vm1Gc2FXUmhkR2x1WjBWc1pXMWxiblFvWm5KaFoyMWxiblFwTzF4dUlDQWdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb1puSmhaMjFsYm5RdWNISnZjSE1wTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCclpYbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhMlY1SUQwZ2EyVjVjMXRwWFR0Y2JseHVJQ0FnSUNBZ2FXWWdLR3RsZVNBaFBUMGdKMk5vYVd4a2NtVnVKeUFtSmlCclpYa2dJVDA5SUNkclpYa25LU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RKYm5aaGJHbGtJSEJ5YjNBZ1lDVnpZQ0J6ZFhCd2JHbGxaQ0IwYnlCZ1VtVmhZM1F1Um5KaFoyMWxiblJnTGlBbklDc2dKMUpsWVdOMExrWnlZV2R0Wlc1MElHTmhiaUJ2Ym14NUlHaGhkbVVnWUd0bGVXQWdZVzVrSUdCamFHbHNaSEpsYm1BZ2NISnZjSE11Snl3Z2EyVjVLVHRjYmx4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWm5KaFoyMWxiblF1Y21WbUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblNXNTJZV3hwWkNCaGRIUnlhV0oxZEdVZ1lISmxabUFnYzNWd2NHeHBaV1FnZEc4Z1lGSmxZV04wTGtaeVlXZHRaVzUwWUM0bktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCelpYUkRkWEp5Wlc1MGJIbFdZV3hwWkdGMGFXNW5SV3hsYldWdWRDaHVkV3hzS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUld4bGJXVnVkRmRwZEdoV1lXeHBaR0YwYVc5dUtIUjVjR1VzSUhCeWIzQnpMQ0JqYUdsc1pISmxiaWtnZTF4dUlDQjJZWElnZG1Gc2FXUlVlWEJsSUQwZ2FYTldZV3hwWkVWc1pXMWxiblJVZVhCbEtIUjVjR1VwT3lBdkx5QlhaU0IzWVhKdUlHbHVJSFJvYVhNZ1kyRnpaU0JpZFhRZ1pHOXVKM1FnZEdoeWIzY3VJRmRsSUdWNGNHVmpkQ0IwYUdVZ1pXeGxiV1Z1ZENCamNtVmhkR2x2YmlCMGIxeHVJQ0F2THlCemRXTmpaV1ZrSUdGdVpDQjBhR1Z5WlNCM2FXeHNJR3hwYTJWc2VTQmlaU0JsY25KdmNuTWdhVzRnY21WdVpHVnlMbHh1WEc0Z0lHbG1JQ2doZG1Gc2FXUlVlWEJsS1NCN1hHNGdJQ0FnZG1GeUlHbHVabThnUFNBbkp6dGNibHh1SUNBZ0lHbG1JQ2gwZVhCbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2RIbHdaVzltSUhSNWNHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlIUjVjR1VnSVQwOUlHNTFiR3dnSmlZZ1QySnFaV04wTG10bGVYTW9kSGx3WlNrdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0JwYm1adklDczlJQ2NnV1c5MUlHeHBhMlZzZVNCbWIzSm5iM1FnZEc4Z1pYaHdiM0owSUhsdmRYSWdZMjl0Y0c5dVpXNTBJR1p5YjIwZ2RHaGxJR1pwYkdVZ0p5QXJJRndpYVhRbmN5QmtaV1pwYm1Wa0lHbHVMQ0J2Y2lCNWIzVWdiV2xuYUhRZ2FHRjJaU0J0YVhobFpDQjFjQ0JrWldaaGRXeDBJR0Z1WkNCdVlXMWxaQ0JwYlhCdmNuUnpMbHdpTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCemIzVnlZMlZKYm1adklEMGdaMlYwVTI5MWNtTmxTVzVtYjBWeWNtOXlRV1JrWlc1a2RXMUdiM0pRY205d2N5aHdjbTl3Y3lrN1hHNWNiaUFnSUNCcFppQW9jMjkxY21ObFNXNW1ieWtnZTF4dUlDQWdJQ0FnYVc1bWJ5QXJQU0J6YjNWeVkyVkpibVp2TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBibVp2SUNzOUlHZGxkRVJsWTJ4aGNtRjBhVzl1UlhKeWIzSkJaR1JsYm1SMWJTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUIwZVhCbFUzUnlhVzVuTzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1VnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhSNWNHVlRkSEpwYm1jZ1BTQW5iblZzYkNjN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLSFI1Y0dVcEtTQjdYRzRnSUNBZ0lDQjBlWEJsVTNSeWFXNW5JRDBnSjJGeWNtRjVKenRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dVZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCMGVYQmxMaVFrZEhsd1pXOW1JRDA5UFNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVcElIdGNiaUFnSUNBZ0lIUjVjR1ZUZEhKcGJtY2dQU0JjSWp4Y0lpQXJJQ2huWlhSRGIyMXdiMjVsYm5ST1lXMWxLSFI1Y0dVdWRIbHdaU2tnZkh3Z0oxVnVhMjV2ZDI0bktTQXJJRndpSUM4K1hDSTdYRzRnSUNBZ0lDQnBibVp2SUQwZ0p5QkVhV1FnZVc5MUlHRmpZMmxrWlc1MFlXeHNlU0JsZUhCdmNuUWdZU0JLVTFnZ2JHbDBaWEpoYkNCcGJuTjBaV0ZrSUc5bUlHRWdZMjl0Y0c5dVpXNTBQeWM3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUjVjR1ZUZEhKcGJtY2dQU0IwZVhCbGIyWWdkSGx3WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25VbVZoWTNRdVkzSmxZWFJsUld4bGJXVnVkRG9nZEhsd1pTQnBjeUJwYm5aaGJHbGtJQzB0SUdWNGNHVmpkR1ZrSUdFZ2MzUnlhVzVuSUNobWIzSWdKeUFySUNkaWRXbHNkQzFwYmlCamIyMXdiMjVsYm5SektTQnZjaUJoSUdOc1lYTnpMMloxYm1OMGFXOXVJQ2htYjNJZ1kyOXRjRzl6YVhSbElDY2dLeUFuWTI5dGNHOXVaVzUwY3lrZ1luVjBJR2R2ZERvZ0pYTXVKWE1uTENCMGVYQmxVM1J5YVc1bkxDQnBibVp2S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdaV3hsYldWdWRDQTlJR055WldGMFpVVnNaVzFsYm5RdVlYQndiSGtvZEdocGN5d2dZWEpuZFcxbGJuUnpLVHNnTHk4Z1ZHaGxJSEpsYzNWc2RDQmpZVzRnWW1VZ2JuVnNiR2x6YUNCcFppQmhJRzF2WTJzZ2IzSWdZU0JqZFhOMGIyMGdablZ1WTNScGIyNGdhWE1nZFhObFpDNWNiaUFnTHk4Z1ZFOUVUem9nUkhKdmNDQjBhR2x6SUhkb1pXNGdkR2hsYzJVZ1lYSmxJRzV2SUd4dmJtZGxjaUJoYkd4dmQyVmtJR0Z6SUhSb1pTQjBlWEJsSUdGeVozVnRaVzUwTGx4dVhHNGdJR2xtSUNobGJHVnRaVzUwSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaV3hsYldWdWREdGNiaUFnZlNBdkx5QlRhMmx3SUd0bGVTQjNZWEp1YVc1bklHbG1JSFJvWlNCMGVYQmxJR2x6YmlkMElIWmhiR2xrSUhOcGJtTmxJRzkxY2lCclpYa2dkbUZzYVdSaGRHbHZiaUJzYjJkcFkxeHVJQ0F2THlCa2IyVnpiaWQwSUdWNGNHVmpkQ0JoSUc1dmJpMXpkSEpwYm1jdlpuVnVZM1JwYjI0Z2RIbHdaU0JoYm1RZ1kyRnVJSFJvY205M0lHTnZibVoxYzJsdVp5Qmxjbkp2Y25NdVhHNGdJQzh2SUZkbElHUnZiaWQwSUhkaGJuUWdaWGhqWlhCMGFXOXVJR0psYUdGMmFXOXlJSFJ2SUdScFptWmxjaUJpWlhSM1pXVnVJR1JsZGlCaGJtUWdjSEp2WkM1Y2JpQWdMeThnS0ZKbGJtUmxjbWx1WnlCM2FXeHNJSFJvY205M0lIZHBkR2dnWVNCb1pXeHdablZzSUcxbGMzTmhaMlVnWVc1a0lHRnpJSE52YjI0Z1lYTWdkR2hsSUhSNWNHVWdhWE5jYmlBZ0x5OGdabWw0WldRc0lIUm9aU0JyWlhrZ2QyRnlibWx1WjNNZ2QybHNiQ0JoY0hCbFlYSXVLVnh1WEc1Y2JpQWdhV1lnS0haaGJHbGtWSGx3WlNrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVU5vYVd4a1MyVjVjeWhoY21kMWJXVnVkSE5iYVYwc0lIUjVjR1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaDBlWEJsSUQwOVBTQlNSVUZEVkY5R1VrRkhUVVZPVkY5VVdWQkZLU0I3WEc0Z0lDQWdkbUZzYVdSaGRHVkdjbUZuYldWdWRGQnliM0J6S0dWc1pXMWxiblFwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGJHbGtZWFJsVUhKdmNGUjVjR1Z6S0dWc1pXMWxiblFwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdWc1pXMWxiblE3WEc1OVhHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFJHVndjbVZqWVhSbFpFTnlaV0YwWlVaaFkzUnZjbmtnUFNCbVlXeHpaVHRjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVVpoWTNSdmNubFhhWFJvVm1Gc2FXUmhkR2x2YmloMGVYQmxLU0I3WEc0Z0lIWmhjaUIyWVd4cFpHRjBaV1JHWVdOMGIzSjVJRDBnWTNKbFlYUmxSV3hsYldWdWRGZHBkR2hXWVd4cFpHRjBhVzl1TG1KcGJtUW9iblZzYkN3Z2RIbHdaU2s3WEc0Z0lIWmhiR2xrWVhSbFpFWmhZM1J2Y25rdWRIbHdaU0E5SUhSNWNHVTdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUkdWd2NtVmpZWFJsWkVOeVpXRjBaVVpoWTNSdmNua3BJSHRjYmlBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEVSbGNISmxZMkYwWldSRGNtVmhkR1ZHWVdOMGIzSjVJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdkMkZ5YmlnblVtVmhZM1F1WTNKbFlYUmxSbUZqZEc5eWVTZ3BJR2x6SUdSbGNISmxZMkYwWldRZ1lXNWtJSGRwYkd3Z1ltVWdjbVZ0YjNabFpDQnBiaUFuSUNzZ0oyRWdablYwZFhKbElHMWhhbTl5SUhKbGJHVmhjMlV1SUVOdmJuTnBaR1Z5SUhWemFXNW5JRXBUV0NBbklDc2dKMjl5SUhWelpTQlNaV0ZqZEM1amNtVmhkR1ZGYkdWdFpXNTBLQ2tnWkdseVpXTjBiSGtnYVc1emRHVmhaQzRuS1R0Y2JpQWdJQ0I5SUM4dklFeGxaMkZqZVNCb2IyOXJPaUJ5WlcxdmRtVWdhWFJjYmx4dVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmhiR2xrWVhSbFpFWmhZM1J2Y25rc0lDZDBlWEJsSnl3Z2UxeHVJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ2QyRnliaWduUm1GamRHOXllUzUwZVhCbElHbHpJR1JsY0hKbFkyRjBaV1F1SUVGalkyVnpjeUIwYUdVZ1kyeGhjM01nWkdseVpXTjBiSGtnSnlBcklDZGlaV1p2Y21VZ2NHRnpjMmx1WnlCcGRDQjBieUJqY21WaGRHVkdZV04wYjNKNUxpY3BPMXh1WEc0Z0lDQWdJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBhR2x6TENBbmRIbHdaU2NzSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZV3gxWlRvZ2RIbHdaVnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkbUZzYVdSaGRHVmtSbUZqZEc5eWVUdGNibjFjYm1aMWJtTjBhVzl1SUdOc2IyNWxSV3hsYldWdWRGZHBkR2hXWVd4cFpHRjBhVzl1S0dWc1pXMWxiblFzSUhCeWIzQnpMQ0JqYUdsc1pISmxiaWtnZTF4dUlDQjJZWElnYm1WM1JXeGxiV1Z1ZENBOUlHTnNiMjVsUld4bGJXVnVkQzVoY0hCc2VTaDBhR2x6TENCaGNtZDFiV1Z1ZEhNcE8xeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZzYVdSaGRHVkRhR2xzWkV0bGVYTW9ZWEpuZFcxbGJuUnpXMmxkTENCdVpYZEZiR1Z0Wlc1MExuUjVjR1VwTzF4dUlDQjlYRzVjYmlBZ2RtRnNhV1JoZEdWUWNtOXdWSGx3WlhNb2JtVjNSV3hsYldWdWRDazdYRzRnSUhKbGRIVnliaUJ1WlhkRmJHVnRaVzUwTzF4dWZWeHVYRzU3WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IyWVhJZ1puSnZlbVZ1VDJKcVpXTjBJRDBnVDJKcVpXTjBMbVp5WldWNlpTaDdmU2s3WEc0Z0lDQWdkbUZ5SUhSbGMzUk5ZWEFnUFNCdVpYY2dUV0Z3S0Z0YlpuSnZlbVZ1VDJKcVpXTjBMQ0J1ZFd4c1hWMHBPMXh1SUNBZ0lIWmhjaUIwWlhOMFUyVjBJRDBnYm1WM0lGTmxkQ2hiWm5KdmVtVnVUMkpxWldOMFhTazdJQzh2SUZSb2FYTWdhWE1nYm1WalpYTnpZWEo1SUdadmNpQlNiMnhzZFhBZ2RHOGdibTkwSUdOdmJuTnBaR1Z5SUhSb1pYTmxJSFZ1ZFhObFpDNWNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZjbTlzYkhWd0wzSnZiR3gxY0M5cGMzTjFaWE12TVRjM01WeHVJQ0FnSUM4dklGUlBSRTg2SUhkbElHTmhiaUJ5WlcxdmRtVWdkR2hsYzJVZ2FXWWdVbTlzYkhWd0lHWnBlR1Z6SUhSb1pTQmlkV2N1WEc1Y2JpQWdJQ0IwWlhOMFRXRndMbk5sZENnd0xDQXdLVHRjYmlBZ0lDQjBaWE4wVTJWMExtRmtaQ2d3S1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJqY21WaGRHVkZiR1Z0Wlc1MEpERWdQU0FnWTNKbFlYUmxSV3hsYldWdWRGZHBkR2hXWVd4cFpHRjBhVzl1SUR0Y2JuWmhjaUJqYkc5dVpVVnNaVzFsYm5Ra01TQTlJQ0JqYkc5dVpVVnNaVzFsYm5SWGFYUm9WbUZzYVdSaGRHbHZiaUE3WEc1MllYSWdZM0psWVhSbFJtRmpkRzl5ZVNBOUlDQmpjbVZoZEdWR1lXTjBiM0o1VjJsMGFGWmhiR2xrWVhScGIyNGdPMXh1ZG1GeUlFTm9hV3hrY21WdUlEMGdlMXh1SUNCdFlYQTZJRzFoY0VOb2FXeGtjbVZ1TEZ4dUlDQm1iM0pGWVdOb09pQm1iM0pGWVdOb1EyaHBiR1J5Wlc0c1hHNGdJR052ZFc1ME9pQmpiM1Z1ZEVOb2FXeGtjbVZ1TEZ4dUlDQjBiMEZ5Y21GNU9pQjBiMEZ5Y21GNUxGeHVJQ0J2Ym14NU9pQnZibXg1UTJocGJHUmNibjA3WEc1Y2JtVjRjRzl5ZEhNdVEyaHBiR1J5Wlc0Z1BTQkRhR2xzWkhKbGJqdGNibVY0Y0c5eWRITXVRMjl0Y0c5dVpXNTBJRDBnUTI5dGNHOXVaVzUwTzF4dVpYaHdiM0owY3k1R2NtRm5iV1Z1ZENBOUlGSkZRVU5VWDBaU1FVZE5SVTVVWDFSWlVFVTdYRzVsZUhCdmNuUnpMbEJ5YjJacGJHVnlJRDBnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlR0Y2JtVjRjRzl5ZEhNdVVIVnlaVU52YlhCdmJtVnVkQ0E5SUZCMWNtVkRiMjF3YjI1bGJuUTdYRzVsZUhCdmNuUnpMbE4wY21samRFMXZaR1VnUFNCU1JVRkRWRjlUVkZKSlExUmZUVTlFUlY5VVdWQkZPMXh1Wlhod2IzSjBjeTVUZFhOd1pXNXpaU0E5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVN1hHNWxlSEJ2Y25SekxsOWZVMFZEVWtWVVgwbE9WRVZTVGtGTVUxOUVUMTlPVDFSZlZWTkZYMDlTWDFsUFZWOVhTVXhNWDBKRlgwWkpVa1ZFSUQwZ1VtVmhZM1JUYUdGeVpXUkpiblJsY201aGJITTdYRzVsZUhCdmNuUnpMbU5zYjI1bFJXeGxiV1Z1ZENBOUlHTnNiMjVsUld4bGJXVnVkQ1F4TzF4dVpYaHdiM0owY3k1amNtVmhkR1ZEYjI1MFpYaDBJRDBnWTNKbFlYUmxRMjl1ZEdWNGREdGNibVY0Y0c5eWRITXVZM0psWVhSbFJXeGxiV1Z1ZENBOUlHTnlaV0YwWlVWc1pXMWxiblFrTVR0Y2JtVjRjRzl5ZEhNdVkzSmxZWFJsUm1GamRHOXllU0E5SUdOeVpXRjBaVVpoWTNSdmNuazdYRzVsZUhCdmNuUnpMbU55WldGMFpWSmxaaUE5SUdOeVpXRjBaVkpsWmp0Y2JtVjRjRzl5ZEhNdVptOXlkMkZ5WkZKbFppQTlJR1p2Y25kaGNtUlNaV1k3WEc1bGVIQnZjblJ6TG1selZtRnNhV1JGYkdWdFpXNTBJRDBnYVhOV1lXeHBaRVZzWlcxbGJuUTdYRzVsZUhCdmNuUnpMbXhoZW5rZ1BTQnNZWHA1TzF4dVpYaHdiM0owY3k1dFpXMXZJRDBnYldWdGJ6dGNibVY0Y0c5eWRITXVkWE5sUTJGc2JHSmhZMnNnUFNCMWMyVkRZV3hzWW1GamF6dGNibVY0Y0c5eWRITXVkWE5sUTI5dWRHVjRkQ0E5SUhWelpVTnZiblJsZUhRN1hHNWxlSEJ2Y25SekxuVnpaVVJsWW5WblZtRnNkV1VnUFNCMWMyVkVaV0oxWjFaaGJIVmxPMXh1Wlhod2IzSjBjeTUxYzJWRlptWmxZM1FnUFNCMWMyVkZabVpsWTNRN1hHNWxlSEJ2Y25SekxuVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVWdQU0IxYzJWSmJYQmxjbUYwYVhabFNHRnVaR3hsTzF4dVpYaHdiM0owY3k1MWMyVk1ZWGx2ZFhSRlptWmxZM1FnUFNCMWMyVk1ZWGx2ZFhSRlptWmxZM1E3WEc1bGVIQnZjblJ6TG5WelpVMWxiVzhnUFNCMWMyVk5aVzF2TzF4dVpYaHdiM0owY3k1MWMyVlNaV1IxWTJWeUlEMGdkWE5sVW1Wa2RXTmxjanRjYm1WNGNHOXlkSE11ZFhObFVtVm1JRDBnZFhObFVtVm1PMXh1Wlhod2IzSjBjeTUxYzJWVGRHRjBaU0E5SUhWelpWTjBZWFJsTzF4dVpYaHdiM0owY3k1MlpYSnphVzl1SUQwZ1VtVmhZM1JXWlhKemFXOXVPMXh1SUNCOUtTZ3BPMXh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5pZiAoZmFsc2UpIHt9IGVsc2Uge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzXFxcIik7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmpkQzlwYm1SbGVDNXFjejlpTkRsaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxFbEJRVWtzUzBGQmNVTXNSVUZCUlN4RlFVVXhRenRCUVVORUxHMUNRVUZ0UWl4dFFrRkJUeXhEUVVGRExHbEdRVUUwUWp0QlFVTjJSQ0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZqZEM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVhV1lnS0hCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lEMDlQU0FuY0hKdlpIVmpkR2x2YmljcElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJOcWN5OXlaV0ZqZEM1d2NtOWtkV04wYVc5dUxtMXBiaTVxY3ljcE8xeHVmU0JsYkhObElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJOcWN5OXlaV0ZqZEM1a1pYWmxiRzl3YldWdWRDNXFjeWNwTzF4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZHVwbGV4LWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9kdXBsZXgtYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdlpIVndiR1Y0TFdKeWIzZHpaWEl1YW5NL05UYzNOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl4eFJrRkJlVUlpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyUjFjR3hsZUMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWZjM1J5WldGdFgyUjFjR3hsZUM1cWN5Y3BPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZHVwbGV4LWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuXFxuLy8gYSBkdXBsZXggc3RyZWFtIGlzIGp1c3QgYSBzdHJlYW0gdGhhdCBpcyBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZS5cXG4vLyBTaW5jZSBKUyBkb2Vzbid0IGhhdmUgbXVsdGlwbGUgcHJvdG90eXBhbCBpbmhlcml0YW5jZSwgdGhpcyBjbGFzc1xcbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cXG4vLyBXcml0YWJsZS5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBwbmEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwcm9jZXNzLW5leHRpY2stYXJncyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvaW5kZXguanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciBvYmplY3RLZXlzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24gKG9iaikge1xcbiAgdmFyIGtleXMgPSBbXTtcXG4gIGZvciAodmFyIGtleSBpbiBvYmopIHtcXG4gICAga2V5cy5wdXNoKGtleSk7XFxuICB9cmV0dXJuIGtleXM7XFxufTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IER1cGxleDtcXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciB1dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29yZS11dGlsLWlzICovIFxcXCIuL25vZGVfbW9kdWxlcy9jb3JlLXV0aWwtaXMvbGliL3V0aWwuanNcXFwiKTtcXG51dGlsLmluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgUmVhZGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qc1xcXCIpO1xcbnZhciBXcml0YWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV93cml0YWJsZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXFxcIik7XFxuXFxudXRpbC5pbmhlcml0cyhEdXBsZXgsIFJlYWRhYmxlKTtcXG5cXG57XFxuICAvLyBhdm9pZCBzY29wZSBjcmVlcCwgdGhlIGtleXMgYXJyYXkgY2FuIHRoZW4gYmUgY29sbGVjdGVkXFxuICB2YXIga2V5cyA9IG9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKTtcXG4gIGZvciAodmFyIHYgPSAwOyB2IDwga2V5cy5sZW5ndGg7IHYrKykge1xcbiAgICB2YXIgbWV0aG9kID0ga2V5c1t2XTtcXG4gICAgaWYgKCFEdXBsZXgucHJvdG90eXBlW21ldGhvZF0pIER1cGxleC5wcm90b3R5cGVbbWV0aG9kXSA9IFdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBEdXBsZXgob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHJldHVybiBuZXcgRHVwbGV4KG9wdGlvbnMpO1xcblxcbiAgUmVhZGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gIFdyaXRhYmxlLmNhbGwodGhpcywgb3B0aW9ucyk7XFxuXFxuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnJlYWRhYmxlID09PSBmYWxzZSkgdGhpcy5yZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy53cml0YWJsZSA9PT0gZmFsc2UpIHRoaXMud3JpdGFibGUgPSBmYWxzZTtcXG5cXG4gIHRoaXMuYWxsb3dIYWxmT3BlbiA9IHRydWU7XFxuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB0aGlzLmFsbG93SGFsZk9wZW4gPSBmYWxzZTtcXG5cXG4gIHRoaXMub25jZSgnZW5kJywgb25lbmQpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ3dyaXRhYmxlSGlnaFdhdGVyTWFyaycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIH1cXG59KTtcXG5cXG4vLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXFxuZnVuY3Rpb24gb25lbmQoKSB7XFxuICAvLyBpZiB3ZSBhbGxvdyBoYWxmLW9wZW4gc3RhdGUsIG9yIGlmIHRoZSB3cml0YWJsZSBzaWRlIGVuZGVkLFxcbiAgLy8gdGhlbiB3ZSdyZSBvay5cXG4gIGlmICh0aGlzLmFsbG93SGFsZk9wZW4gfHwgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCkgcmV0dXJuO1xcblxcbiAgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxcbiAgLy8gQnV0IGFsbG93IG1vcmUgd3JpdGVzIHRvIGhhcHBlbiBpbiB0aGlzIHRpY2suXFxuICBwbmEubmV4dFRpY2sob25FbmROVCwgdGhpcyk7XFxufVxcblxcbmZ1bmN0aW9uIG9uRW5kTlQoc2VsZikge1xcbiAgc2VsZi5lbmQoKTtcXG59XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcXG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICB9XFxufSk7XFxuXFxuRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XFxuICB0aGlzLnB1c2gobnVsbCk7XFxuICB0aGlzLmVuZCgpO1xcblxcbiAgcG5hLm5leHRUaWNrKGNiLCBlcnIpO1xcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmWkhWd2JHVjRMbXB6UHpWbVpqTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRllUczdRVUZGWWpzN1FVRkZRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNNRVZCUVhOQ08wRkJRM2hET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUkVGQll6dEJRVU5xUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHRCUVVOc1F6czdRVUZGUVN4bFFVRmxMRzFDUVVGUExFTkJRVU1zYTBaQlFXOUNPMEZCUXpORExHVkJRV1VzYlVKQlFVOHNRMEZCUXl4clJrRkJiMEk3TzBGQlJUTkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOWtkWEJzWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1THk4Z1lTQmtkWEJzWlhnZ2MzUnlaV0Z0SUdseklHcDFjM1FnWVNCemRISmxZVzBnZEdoaGRDQnBjeUJpYjNSb0lISmxZV1JoWW14bElHRnVaQ0IzY21sMFlXSnNaUzVjYmk4dklGTnBibU5sSUVwVElHUnZaWE51SjNRZ2FHRjJaU0J0ZFd4MGFYQnNaU0J3Y205MGIzUjVjR0ZzSUdsdWFHVnlhWFJoYm1ObExDQjBhR2x6SUdOc1lYTnpYRzR2THlCd2NtOTBiM1I1Y0dGc2JIa2dhVzVvWlhKcGRITWdabkp2YlNCU1pXRmtZV0pzWlN3Z1lXNWtJSFJvWlc0Z2NHRnlZWE5wZEdsallXeHNlU0JtY205dFhHNHZMeUJYY21sMFlXSnNaUzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnY0c1aElEMGdjbVZ4ZFdseVpTZ25jSEp2WTJWemN5MXVaWGgwYVdOckxXRnlaM01uS1R0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlHOWlhbVZqZEV0bGVYTWdQU0JQWW1wbFkzUXVhMlY1Y3lCOGZDQm1kVzVqZEdsdmJpQW9iMkpxS1NCN1hHNGdJSFpoY2lCclpYbHpJRDBnVzEwN1hHNGdJR1p2Y2lBb2RtRnlJR3RsZVNCcGJpQnZZbW9wSUh0Y2JpQWdJQ0JyWlhsekxuQjFjMmdvYTJWNUtUdGNiaUFnZlhKbGRIVnliaUJyWlhsek8xeHVmVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFUjFjR3hsZUR0Y2JseHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNiblpoY2lCMWRHbHNJRDBnY21WeGRXbHlaU2duWTI5eVpTMTFkR2xzTFdsekp5azdYRzUxZEdsc0xtbHVhR1Z5YVhSeklEMGdjbVZ4ZFdseVpTZ25hVzVvWlhKcGRITW5LVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnVW1WaFpHRmliR1VnUFNCeVpYRjFhWEpsS0NjdUwxOXpkSEpsWVcxZmNtVmhaR0ZpYkdVbktUdGNiblpoY2lCWGNtbDBZV0pzWlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21WaGJWOTNjbWwwWVdKc1pTY3BPMXh1WEc1MWRHbHNMbWx1YUdWeWFYUnpLRVIxY0d4bGVDd2dVbVZoWkdGaWJHVXBPMXh1WEc1N1hHNGdJQzh2SUdGMmIybGtJSE5qYjNCbElHTnlaV1Z3TENCMGFHVWdhMlY1Y3lCaGNuSmhlU0JqWVc0Z2RHaGxiaUJpWlNCamIyeHNaV04wWldSY2JpQWdkbUZ5SUd0bGVYTWdQU0J2WW1wbFkzUkxaWGx6S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlNrN1hHNGdJR1p2Y2lBb2RtRnlJSFlnUFNBd095QjJJRHdnYTJWNWN5NXNaVzVuZEdnN0lIWXJLeWtnZTF4dUlDQWdJSFpoY2lCdFpYUm9iMlFnUFNCclpYbHpXM1pkTzF4dUlDQWdJR2xtSUNnaFJIVndiR1Y0TG5CeWIzUnZkSGx3WlZ0dFpYUm9iMlJkS1NCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsVzIxbGRHaHZaRjBnUFNCWGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dWYmJXVjBhRzlrWFR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkVkWEJzWlhnb2IzQjBhVzl1Y3lrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1JIVndiR1Y0S1NrZ2NtVjBkWEp1SUc1bGR5QkVkWEJzWlhnb2IzQjBhVzl1Y3lrN1hHNWNiaUFnVW1WaFpHRmliR1V1WTJGc2JDaDBhR2x6TENCdmNIUnBiMjV6S1R0Y2JpQWdWM0pwZEdGaWJHVXVZMkZzYkNoMGFHbHpMQ0J2Y0hScGIyNXpLVHRjYmx4dUlDQnBaaUFvYjNCMGFXOXVjeUFtSmlCdmNIUnBiMjV6TG5KbFlXUmhZbXhsSUQwOVBTQm1ZV3h6WlNrZ2RHaHBjeTV5WldGa1lXSnNaU0E5SUdaaGJITmxPMXh1WEc0Z0lHbG1JQ2h2Y0hScGIyNXpJQ1ltSUc5d2RHbHZibk11ZDNKcGRHRmliR1VnUFQwOUlHWmhiSE5sS1NCMGFHbHpMbmR5YVhSaFlteGxJRDBnWm1Gc2MyVTdYRzVjYmlBZ2RHaHBjeTVoYkd4dmQwaGhiR1pQY0dWdUlEMGdkSEoxWlR0Y2JpQWdhV1lnS0c5d2RHbHZibk1nSmlZZ2IzQjBhVzl1Y3k1aGJHeHZkMGhoYkdaUGNHVnVJRDA5UFNCbVlXeHpaU2tnZEdocGN5NWhiR3h2ZDBoaGJHWlBjR1Z1SUQwZ1ptRnNjMlU3WEc1Y2JpQWdkR2hwY3k1dmJtTmxLQ2RsYm1RbkxDQnZibVZ1WkNrN1hHNTlYRzVjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaEVkWEJzWlhndWNISnZkRzkwZVhCbExDQW5kM0pwZEdGaWJHVklhV2RvVjJGMFpYSk5ZWEpySnl3Z2UxeHVJQ0F2THlCdFlXdHBibWNnYVhRZ1pYaHdiR2xqYVhRZ2RHaHBjeUJ3Y205d1pYSjBlU0JwY3lCdWIzUWdaVzUxYldWeVlXSnNaVnh1SUNBdkx5QmlaV05oZFhObElHOTBhR1Z5ZDJselpTQnpiMjFsSUhCeWIzUnZkSGx3WlNCdFlXNXBjSFZzWVhScGIyNGdhVzVjYmlBZ0x5OGdkWE5sY214aGJtUWdkMmxzYkNCbVlXbHNYRzRnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCOVhHNTlLVHRjYmx4dUx5OGdkR2hsSUc1dkxXaGhiR1l0YjNCbGJpQmxibVp2Y21ObGNseHVablZ1WTNScGIyNGdiMjVsYm1Rb0tTQjdYRzRnSUM4dklHbG1JSGRsSUdGc2JHOTNJR2hoYkdZdGIzQmxiaUJ6ZEdGMFpTd2diM0lnYVdZZ2RHaGxJSGR5YVhSaFlteGxJSE5wWkdVZ1pXNWtaV1FzWEc0Z0lDOHZJSFJvWlc0Z2QyVW5jbVVnYjJzdVhHNGdJR2xtSUNoMGFHbHpMbUZzYkc5M1NHRnNaazl3Wlc0Z2ZId2dkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVsYm1SbFpDa2djbVYwZFhKdU8xeHVYRzRnSUM4dklHNXZJRzF2Y21VZ1pHRjBZU0JqWVc0Z1ltVWdkM0pwZEhSbGJpNWNiaUFnTHk4Z1FuVjBJR0ZzYkc5M0lHMXZjbVVnZDNKcGRHVnpJSFJ2SUdoaGNIQmxiaUJwYmlCMGFHbHpJSFJwWTJzdVhHNGdJSEJ1WVM1dVpYaDBWR2xqYXlodmJrVnVaRTVVTENCMGFHbHpLVHRjYm4xY2JseHVablZ1WTNScGIyNGdiMjVGYm1ST1ZDaHpaV3htS1NCN1hHNGdJSE5sYkdZdVpXNWtLQ2s3WEc1OVhHNWNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTENBblpHVnpkSEp2ZVdWa0p5d2dlMXh1SUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTQTlQVDBnZFc1a1pXWnBibVZrSUh4OElIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlM1a1pYTjBjbTk1WldRZ0ppWWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVrWlhOMGNtOTVaV1E3WEc0Z0lIMHNYRzRnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYRzRnSUNBZ0x5OGdkMlVnYVdkdWIzSmxJSFJvWlNCMllXeDFaU0JwWmlCMGFHVWdjM1J5WldGdFhHNGdJQ0FnTHk4Z2FHRnpJRzV2ZENCaVpXVnVJR2x1YVhScFlXeHBlbVZrSUhsbGRGeHVJQ0FnSUdsbUlDaDBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2dkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ltRmphM2RoY21RZ1kyOXRjR0YwYVdKcGJHbDBlU3dnZEdobElIVnpaWElnYVhNZ1pYaHdiR2xqYVhSc2VWeHVJQ0FnSUM4dklHMWhibUZuYVc1bklHUmxjM1J5YjNsbFpGeHVJQ0FnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1a1pYTjBjbTk1WldRZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1ZlNrN1hHNWNia1IxY0d4bGVDNXdjbTkwYjNSNWNHVXVYMlJsYzNSeWIza2dQU0JtZFc1amRHbHZiaUFvWlhKeUxDQmpZaWtnZTF4dUlDQjBhR2x6TG5CMWMyZ29iblZzYkNrN1hHNGdJSFJvYVhNdVpXNWtLQ2s3WEc1Y2JpQWdjRzVoTG01bGVIUlVhV05yS0dOaUxDQmxjbklwTzF4dWZUc2lYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcbi8vIGEgcGFzc3Rocm91Z2ggc3RyZWFtLlxcbi8vIGJhc2ljYWxseSBqdXN0IHRoZSBtb3N0IG1pbmltYWwgc29ydCBvZiBUcmFuc2Zvcm0gc3RyZWFtLlxcbi8vIEV2ZXJ5IHdyaXR0ZW4gY2h1bmsgZ2V0cyBvdXRwdXQgYXMtaXMuXFxuXFxuXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBQYXNzVGhyb3VnaDtcXG5cXG52YXIgVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX3RyYW5zZm9ybSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIHV0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb3JlLXV0aWwtaXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvcmUtdXRpbC1pcy9saWIvdXRpbC5qc1xcXCIpO1xcbnV0aWwuaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbnV0aWwuaW5oZXJpdHMoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XFxuXFxuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcXG5cXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbn1cXG5cXG5QYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihudWxsLCBjaHVuayk7XFxufTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMTl6ZEhKbFlXMWZjR0Z6YzNSb2NtOTFaMmd1YW5NL1l6UXpOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGWVRzN1FVRkZZanM3UVVGRlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSa0ZCY1VJN08wRkJSVGRETzBGQlEwRXNWMEZCVnl4dFFrRkJUeXhEUVVGRExEWkVRVUZqTzBGQlEycERMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnhET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlmYzNSeVpXRnRYM0JoYzNOMGFISnZkV2RvTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1EyOXdlWEpwWjJoMElFcHZlV1Z1ZEN3Z1NXNWpMaUJoYm1RZ2IzUm9aWElnVG05a1pTQmpiMjUwY21saWRYUnZjbk11WEc0dkwxeHVMeThnVUdWeWJXbHpjMmx2YmlCcGN5Qm9aWEpsWW5rZ1ozSmhiblJsWkN3Z1puSmxaU0J2WmlCamFHRnlaMlVzSUhSdklHRnVlU0J3WlhKemIyNGdiMkowWVdsdWFXNW5JR0ZjYmk4dklHTnZjSGtnYjJZZ2RHaHBjeUJ6YjJaMGQyRnlaU0JoYm1RZ1lYTnpiMk5wWVhSbFpDQmtiMk4xYldWdWRHRjBhVzl1SUdacGJHVnpJQ2gwYUdWY2JpOHZJRndpVTI5bWRIZGhjbVZjSWlrc0lIUnZJR1JsWVd3Z2FXNGdkR2hsSUZOdlpuUjNZWEpsSUhkcGRHaHZkWFFnY21WemRISnBZM1JwYjI0c0lHbHVZMngxWkdsdVoxeHVMeThnZDJsMGFHOTFkQ0JzYVcxcGRHRjBhVzl1SUhSb1pTQnlhV2RvZEhNZ2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJRzFsY21kbExDQndkV0pzYVhOb0xGeHVMeThnWkdsemRISnBZblYwWlN3Z2MzVmliR2xqWlc1elpTd2dZVzVrTDI5eUlITmxiR3dnWTI5d2FXVnpJRzltSUhSb1pTQlRiMlowZDJGeVpTd2dZVzVrSUhSdklIQmxjbTFwZEZ4dUx5OGdjR1Z5YzI5dWN5QjBieUIzYUc5dElIUm9aU0JUYjJaMGQyRnlaU0JwY3lCbWRYSnVhWE5vWldRZ2RHOGdaRzhnYzI4c0lITjFZbXBsWTNRZ2RHOGdkR2hsWEc0dkx5Qm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjenBjYmk4dlhHNHZMeUJVYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU0JoYm1RZ2RHaHBjeUJ3WlhKdGFYTnphVzl1SUc1dmRHbGpaU0J6YUdGc2JDQmlaU0JwYm1Oc2RXUmxaRnh1THk4Z2FXNGdZV3hzSUdOdmNHbGxjeUJ2Y2lCemRXSnpkR0Z1ZEdsaGJDQndiM0owYVc5dWN5QnZaaUIwYUdVZ1UyOW1kSGRoY21VdVhHNHZMMXh1THk4Z1ZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWl3Z1YwbFVTRTlWVkNCWFFWSlNRVTVVV1NCUFJpQkJUbGtnUzBsT1JDd2dSVmhRVWtWVFUxeHVMeThnVDFJZ1NVMVFURWxGUkN3Z1NVNURURlZFU1U1SElFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5QlVTRVVnVjBGU1VrRk9WRWxGVXlCUFJseHVMeThnVFVWU1EwaEJUbFJCUWtsTVNWUlpMQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJUa1FnVGs5T1NVNUdVa2xPUjBWTlJVNVVMaUJKVGx4dUx5OGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVsTWdUMUlnUTA5UVdWSkpSMGhVSUVoUFRFUkZVbE1nUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnUTB4QlNVMHNYRzR2THlCRVFVMUJSMFZUSUU5U0lFOVVTRVZTSUV4SlFVSkpURWxVV1N3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUZSUFVsUWdUMUpjYmk4dklFOVVTRVZTVjBsVFJTd2dRVkpKVTBsT1J5QkdVazlOTENCUFZWUWdUMFlnVDFJZ1NVNGdRMDlPVGtWRFZFbFBUaUJYU1ZSSUlGUklSU0JUVDBaVVYwRlNSU0JQVWlCVVNFVmNiaTh2SUZWVFJTQlBVaUJQVkVoRlVpQkVSVUZNU1U1SFV5QkpUaUJVU0VVZ1UwOUdWRmRCVWtVdVhHNWNiaTh2SUdFZ2NHRnpjM1JvY205MVoyZ2djM1J5WldGdExseHVMeThnWW1GemFXTmhiR3g1SUdwMWMzUWdkR2hsSUcxdmMzUWdiV2x1YVcxaGJDQnpiM0owSUc5bUlGUnlZVzV6Wm05eWJTQnpkSEpsWVcwdVhHNHZMeUJGZG1WeWVTQjNjbWwwZEdWdUlHTm9kVzVySUdkbGRITWdiM1YwY0hWMElHRnpMV2x6TGx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1VHRnpjMVJvY205MVoyZzdYRzVjYm5aaGNpQlVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmZEhKaGJuTm1iM0p0SnlrN1hHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ2RYUnBiQ0E5SUhKbGNYVnBjbVVvSjJOdmNtVXRkWFJwYkMxcGN5Y3BPMXh1ZFhScGJDNXBibWhsY21sMGN5QTlJSEpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWs3WEc0dktqd3ZjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVkWFJwYkM1cGJtaGxjbWwwY3loUVlYTnpWR2h5YjNWbmFDd2dWSEpoYm5ObWIzSnRLVHRjYmx4dVpuVnVZM1JwYjI0Z1VHRnpjMVJvY205MVoyZ29iM0IwYVc5dWN5a2dlMXh1SUNCcFppQW9JU2gwYUdseklHbHVjM1JoYm1ObGIyWWdVR0Z6YzFSb2NtOTFaMmdwS1NCeVpYUjFjbTRnYm1WM0lGQmhjM05VYUhKdmRXZG9LRzl3ZEdsdmJuTXBPMXh1WEc0Z0lGUnlZVzV6Wm05eWJTNWpZV3hzS0hSb2FYTXNJRzl3ZEdsdmJuTXBPMXh1ZlZ4dVhHNVFZWE56VkdoeWIzVm5hQzV3Y205MGIzUjVjR1V1WDNSeVlXNXpabTl5YlNBOUlHWjFibU4wYVc5dUlDaGphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLU0I3WEc0Z0lHTmlLRzUxYkd3c0lHTm9kVzVyS1R0Y2JuMDdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihnbG9iYWwsIHByb2Nlc3MpIHsvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBwbmEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwcm9jZXNzLW5leHRpY2stYXJncyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvaW5kZXguanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWRhYmxlO1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIGlzQXJyYXkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpc2FycmF5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgRHVwbGV4O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblJlYWRhYmxlLlJlYWRhYmxlU3RhdGUgPSBSZWFkYWJsZVN0YXRlO1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIEVFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZlbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxcIikuRXZlbnRFbWl0dGVyO1xcblxcbnZhciBFRWxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiAoZW1pdHRlciwgdHlwZSkge1xcbiAgcmV0dXJuIGVtaXR0ZXIubGlzdGVuZXJzKHR5cGUpLmxlbmd0aDtcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qc1xcXCIpO1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcjtcXG52YXIgT3VyVWludDhBcnJheSA9IGdsb2JhbC5VaW50OEFycmF5IHx8IGZ1bmN0aW9uICgpIHt9O1xcbmZ1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbShjaHVuayk7XFxufVxcbmZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkob2JqKSB7XFxuICByZXR1cm4gQnVmZmVyLmlzQnVmZmVyKG9iaikgfHwgb2JqIGluc3RhbmNlb2YgT3VyVWludDhBcnJheTtcXG59XFxuXFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtdXRpbC1pcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzXFxcIik7XFxudXRpbC5pbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgZGVidWdVdGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdXRpbCAqLyAyKTtcXG52YXIgZGVidWcgPSB2b2lkIDA7XFxuaWYgKGRlYnVnVXRpbCAmJiBkZWJ1Z1V0aWwuZGVidWdsb2cpIHtcXG4gIGRlYnVnID0gZGVidWdVdGlsLmRlYnVnbG9nKCdzdHJlYW0nKTtcXG59IGVsc2Uge1xcbiAgZGVidWcgPSBmdW5jdGlvbiAoKSB7fTtcXG59XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxudmFyIEJ1ZmZlckxpc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL0J1ZmZlckxpc3QuanNcXFwiKTtcXG52YXIgZGVzdHJveUltcGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcXFwiKTtcXG52YXIgU3RyaW5nRGVjb2RlcjtcXG5cXG51dGlsLmluaGVyaXRzKFJlYWRhYmxlLCBTdHJlYW0pO1xcblxcbnZhciBrUHJveHlFdmVudHMgPSBbJ2Vycm9yJywgJ2Nsb3NlJywgJ2Rlc3Ryb3knLCAncGF1c2UnLCAncmVzdW1lJ107XFxuXFxuZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGVtaXR0ZXIsIGV2ZW50LCBmbikge1xcbiAgLy8gU2FkbHkgdGhpcyBpcyBub3QgY2FjaGVhYmxlIGFzIHNvbWUgbGlicmFyaWVzIGJ1bmRsZSB0aGVpciBvd25cXG4gIC8vIGV2ZW50IGVtaXR0ZXIgaW1wbGVtZW50YXRpb24gd2l0aCB0aGVtLlxcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyKGV2ZW50LCBmbik7XFxuXFxuICAvLyBUaGlzIGlzIGEgaGFjayB0byBtYWtlIHN1cmUgdGhhdCBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgYW55XFxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcXG4gIC8vIHRvIGNvbnRpbnVlIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBOb2RlLmpzIHRoYXQgZG8gbm90IGluY2x1ZGVcXG4gIC8vIHRoZSBwcmVwZW5kTGlzdGVuZXIoKSBtZXRob2QuIFRoZSBnb2FsIGlzIHRvIGV2ZW50dWFsbHkgcmVtb3ZlIHRoaXMgaGFjay5cXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xcbn1cXG5cXG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSkge1xcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG5cXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xcblxcbiAgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXFxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cXG4gIHZhciBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcXG5cXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXFxuICAvLyBtYWtlIGFsbCB0aGUgYnVmZmVyIG1lcmdpbmcgYW5kIGxlbmd0aCBjaGVja3MgZ28gYXdheVxcbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XFxuXFxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlO1xcblxcbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIGl0IHN0b3BzIGNhbGxpbmcgX3JlYWQoKSB0byBmaWxsIHRoZSBidWZmZXJcXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgXFxcImRvbid0IGNhbGwgX3JlYWQgcHJlZW1wdGl2ZWx5IGV2ZXJcXFwiXFxuICB2YXIgaHdtID0gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrO1xcbiAgdmFyIHJlYWRhYmxlSHdtID0gb3B0aW9ucy5yZWFkYWJsZUhpZ2hXYXRlck1hcms7XFxuICB2YXIgZGVmYXVsdEh3bSA9IHRoaXMub2JqZWN0TW9kZSA/IDE2IDogMTYgKiAxMDI0O1xcblxcbiAgaWYgKGh3bSB8fCBod20gPT09IDApIHRoaXMuaGlnaFdhdGVyTWFyayA9IGh3bTtlbHNlIGlmIChpc0R1cGxleCAmJiAocmVhZGFibGVId20gfHwgcmVhZGFibGVId20gPT09IDApKSB0aGlzLmhpZ2hXYXRlck1hcmsgPSByZWFkYWJsZUh3bTtlbHNlIHRoaXMuaGlnaFdhdGVyTWFyayA9IGRlZmF1bHRId207XFxuXFxuICAvLyBjYXN0IHRvIGludHMuXFxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSBNYXRoLmZsb29yKHRoaXMuaGlnaFdhdGVyTWFyayk7XFxuXFxuICAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxcbiAgLy8gbGlua2VkIGxpc3QgY2FuIHJlbW92ZSBlbGVtZW50cyBmcm9tIHRoZSBiZWdpbm5pbmcgZmFzdGVyIHRoYW5cXG4gIC8vIGFycmF5LnNoaWZ0KClcXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcXG4gIHRoaXMubGVuZ3RoID0gMDtcXG4gIHRoaXMucGlwZXMgPSBudWxsO1xcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcXG4gIHRoaXMuZmxvd2luZyA9IG51bGw7XFxuICB0aGlzLmVuZGVkID0gZmFsc2U7XFxuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcXG4gIHRoaXMucmVhZGluZyA9IGZhbHNlO1xcblxcbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxcbiAgLy8gaW1tZWRpYXRlbHksIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2VcXG4gIC8vIGFueSBhY3Rpb25zIHRoYXQgc2hvdWxkbid0IGhhcHBlbiB1bnRpbCBcXFwibGF0ZXJcXFwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xcbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHJlYWQgY2FsbC5cXG4gIHRoaXMuc3luYyA9IHRydWU7XFxuXFxuICAvLyB3aGVuZXZlciB3ZSByZXR1cm4gbnVsbCwgdGhlbiB3ZSBzZXQgYSBmbGFnIHRvIHNheVxcbiAgLy8gdGhhdCB3ZSdyZSBhd2FpdGluZyBhICdyZWFkYWJsZScgZXZlbnQgZW1pc3Npb24uXFxuICB0aGlzLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgdGhpcy5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTtcXG4gIHRoaXMucmVhZGFibGVMaXN0ZW5pbmcgPSBmYWxzZTtcXG4gIHRoaXMucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XFxuXFxuICAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7XFxuXFxuICAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXFxuICAvLyBlbmNvZGluZyBpcyAnYmluYXJ5JyBzbyB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBjb25maWd1cmFibGUuXFxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaW4gdGhlIHVuaXZlcnNlIHVzZXMgJ3V0ZjgnLCB0aG91Z2guXFxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JztcXG5cXG4gIC8vIHRoZSBudW1iZXIgb2Ygd3JpdGVycyB0aGF0IGFyZSBhd2FpdGluZyBhIGRyYWluIGV2ZW50IGluIC5waXBlKClzXFxuICB0aGlzLmF3YWl0RHJhaW4gPSAwO1xcblxcbiAgLy8gaWYgdHJ1ZSwgYSBtYXliZVJlYWRNb3JlIGhhcyBiZWVuIHNjaGVkdWxlZFxcbiAgdGhpcy5yZWFkaW5nTW9yZSA9IGZhbHNlO1xcblxcbiAgdGhpcy5kZWNvZGVyID0gbnVsbDtcXG4gIHRoaXMuZW5jb2RpbmcgPSBudWxsO1xcbiAgaWYgKG9wdGlvbnMuZW5jb2RpbmcpIHtcXG4gICAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIvICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanNcXFwiKS5TdHJpbmdEZWNvZGVyO1xcbiAgICB0aGlzLmRlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihvcHRpb25zLmVuY29kaW5nKTtcXG4gICAgdGhpcy5lbmNvZGluZyA9IG9wdGlvbnMuZW5jb2Rpbmc7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIFJlYWRhYmxlKG9wdGlvbnMpIHtcXG4gIER1cGxleCA9IER1cGxleCB8fCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fZHVwbGV4ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuXFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKSByZXR1cm4gbmV3IFJlYWRhYmxlKG9wdGlvbnMpO1xcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZSA9IG5ldyBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMpO1xcblxcbiAgLy8gbGVnYWN5XFxuICB0aGlzLnJlYWRhYmxlID0gdHJ1ZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5yZWFkID09PSAnZnVuY3Rpb24nKSB0aGlzLl9yZWFkID0gb3B0aW9ucy5yZWFkO1xcblxcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZGVzdHJveSA9IG9wdGlvbnMuZGVzdHJveTtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICghdGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XFxuICAgIC8vIG1hbmFnaW5nIGRlc3Ryb3llZFxcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xcbiAgfVxcbn0pO1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLnVuZGVzdHJveTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgdGhpcy5wdXNoKG51bGwpO1xcbiAgY2IoZXJyKTtcXG59O1xcblxcbi8vIE1hbnVhbGx5IHNob3ZlIHNvbWV0aGluZyBpbnRvIHRoZSByZWFkKCkgYnVmZmVyLlxcbi8vIFRoaXMgcmV0dXJucyB0cnVlIGlmIHRoZSBoaWdoV2F0ZXJNYXJrIGhhcyBub3QgYmVlbiBoaXQgeWV0LFxcbi8vIHNpbWlsYXIgdG8gaG93IFdyaXRhYmxlLndyaXRlKCkgcmV0dXJucyB0cnVlIGlmIHlvdSBzaG91bGRcXG4vLyB3cml0ZSgpIHNvbWUgbW9yZS5cXG5SZWFkYWJsZS5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgc2tpcENodW5rQ2hlY2s7XFxuXFxuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUpIHtcXG4gICAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcXG4gICAgICBlbmNvZGluZyA9IGVuY29kaW5nIHx8IHN0YXRlLmRlZmF1bHRFbmNvZGluZztcXG4gICAgICBpZiAoZW5jb2RpbmcgIT09IHN0YXRlLmVuY29kaW5nKSB7XFxuICAgICAgICBjaHVuayA9IEJ1ZmZlci5mcm9tKGNodW5rLCBlbmNvZGluZyk7XFxuICAgICAgICBlbmNvZGluZyA9ICcnO1xcbiAgICAgIH1cXG4gICAgICBza2lwQ2h1bmtDaGVjayA9IHRydWU7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBlbmNvZGluZywgZmFsc2UsIHNraXBDaHVua0NoZWNrKTtcXG59O1xcblxcbi8vIFVuc2hpZnQgc2hvdWxkICphbHdheXMqIGJlIHNvbWV0aGluZyBkaXJlY3RseSBvdXQgb2YgcmVhZCgpXFxuUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoY2h1bmspIHtcXG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBudWxsLCB0cnVlLCBmYWxzZSk7XFxufTtcXG5cXG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgaWYgKGNodW5rID09PSBudWxsKSB7XFxuICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcXG4gICAgb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBlcjtcXG4gICAgaWYgKCFza2lwQ2h1bmtDaGVjaykgZXIgPSBjaHVua0ludmFsaWQoc3RhdGUsIGNodW5rKTtcXG4gICAgaWYgKGVyKSB7XFxuICAgICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgICB9IGVsc2UgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsgJiYgY2h1bmsubGVuZ3RoID4gMCkge1xcbiAgICAgIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmICFzdGF0ZS5vYmplY3RNb2RlICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihjaHVuaykgIT09IEJ1ZmZlci5wcm90b3R5cGUpIHtcXG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XFxuICAgICAgICBpZiAoc3RhdGUuZW5kRW1pdHRlZCkgc3RyZWFtLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCdzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCcpKTtlbHNlIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCB0cnVlKTtcXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmVuZGVkKSB7XFxuICAgICAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ3N0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GJykpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcXG4gICAgICAgICAgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTtcXG4gICAgICAgICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsubGVuZ3RoICE9PSAwKSBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgZmFsc2UpO2Vsc2UgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFhZGRUb0Zyb250KSB7XFxuICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbmVlZE1vcmVEYXRhKHN0YXRlKTtcXG59XFxuXFxuZnVuY3Rpb24gYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGFkZFRvRnJvbnQpIHtcXG4gIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiAhc3RhdGUuc3luYykge1xcbiAgICBzdHJlYW0uZW1pdCgnZGF0YScsIGNodW5rKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyB1cGRhdGUgdGhlIGJ1ZmZlciBpbmZvLlxcbiAgICBzdGF0ZS5sZW5ndGggKz0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XFxuICAgIGlmIChhZGRUb0Zyb250KSBzdGF0ZS5idWZmZXIudW5zaGlmdChjaHVuayk7ZWxzZSBzdGF0ZS5idWZmZXIucHVzaChjaHVuayk7XFxuXFxuICAgIGlmIChzdGF0ZS5uZWVkUmVhZGFibGUpIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xcbiAgfVxcbiAgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG59XFxuXFxuZnVuY3Rpb24gY2h1bmtJbnZhbGlkKHN0YXRlLCBjaHVuaykge1xcbiAgdmFyIGVyO1xcbiAgaWYgKCFfaXNVaW50OEFycmF5KGNodW5rKSAmJiB0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmIGNodW5rICE9PSB1bmRlZmluZWQgJiYgIXN0YXRlLm9iamVjdE1vZGUpIHtcXG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rJyk7XFxuICB9XFxuICByZXR1cm4gZXI7XFxufVxcblxcbi8vIGlmIGl0J3MgcGFzdCB0aGUgaGlnaCB3YXRlciBtYXJrLCB3ZSBjYW4gcHVzaCBpbiBzb21lIG1vcmUuXFxuLy8gQWxzbywgaWYgd2UgaGF2ZSBubyBkYXRhIHlldCwgd2UgY2FuIHN0YW5kIHNvbWVcXG4vLyBtb3JlIGJ5dGVzLiAgVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBjYXNlcyB3aGVyZSBod209MCxcXG4vLyBzdWNoIGFzIHRoZSByZXBsLiAgQWxzbywgaWYgdGhlIHB1c2goKSB0cmlnZ2VyZWQgYVxcbi8vIHJlYWRhYmxlIGV2ZW50LCBhbmQgdGhlIHVzZXIgY2FsbGVkIHJlYWQobGFyZ2VOdW1iZXIpIHN1Y2ggdGhhdFxcbi8vIG5lZWRSZWFkYWJsZSB3YXMgc2V0LCB0aGVuIHdlIG91Z2h0IHRvIHB1c2ggbW9yZSwgc28gdGhhdCBhbm90aGVyXFxuLy8gJ3JlYWRhYmxlJyBldmVudCB3aWxsIGJlIHRyaWdnZXJlZC5cXG5mdW5jdGlvbiBuZWVkTW9yZURhdGEoc3RhdGUpIHtcXG4gIHJldHVybiAhc3RhdGUuZW5kZWQgJiYgKHN0YXRlLm5lZWRSZWFkYWJsZSB8fCBzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCk7XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPT09IGZhbHNlO1xcbn07XFxuXFxuLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXFxuUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nID0gZnVuY3Rpb24gKGVuYykge1xcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIvICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanNcXFwiKS5TdHJpbmdEZWNvZGVyO1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2RpbmcgPSBlbmM7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbi8vIERvbid0IHJhaXNlIHRoZSBod20gPiA4TUJcXG52YXIgTUFYX0hXTSA9IDB4ODAwMDAwO1xcbmZ1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pIHtcXG4gIGlmIChuID49IE1BWF9IV00pIHtcXG4gICAgbiA9IE1BWF9IV007XFxuICB9IGVsc2Uge1xcbiAgICAvLyBHZXQgdGhlIG5leHQgaGlnaGVzdCBwb3dlciBvZiAyIHRvIHByZXZlbnQgaW5jcmVhc2luZyBod20gZXhjZXNzaXZlbHkgaW5cXG4gICAgLy8gdGlueSBhbW91bnRzXFxuICAgIG4tLTtcXG4gICAgbiB8PSBuID4+PiAxO1xcbiAgICBuIHw9IG4gPj4+IDI7XFxuICAgIG4gfD0gbiA+Pj4gNDtcXG4gICAgbiB8PSBuID4+PiA4O1xcbiAgICBuIHw9IG4gPj4+IDE2O1xcbiAgICBuKys7XFxuICB9XFxuICByZXR1cm4gbjtcXG59XFxuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcbmZ1bmN0aW9uIGhvd011Y2hUb1JlYWQobiwgc3RhdGUpIHtcXG4gIGlmIChuIDw9IDAgfHwgc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSByZXR1cm4gMDtcXG4gIGlmIChzdGF0ZS5vYmplY3RNb2RlKSByZXR1cm4gMTtcXG4gIGlmIChuICE9PSBuKSB7XFxuICAgIC8vIE9ubHkgZmxvdyBvbmUgYnVmZmVyIGF0IGEgdGltZVxcbiAgICBpZiAoc3RhdGUuZmxvd2luZyAmJiBzdGF0ZS5sZW5ndGgpIHJldHVybiBzdGF0ZS5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDtlbHNlIHJldHVybiBzdGF0ZS5sZW5ndGg7XFxuICB9XFxuICAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cXG4gIGlmIChuID4gc3RhdGUuaGlnaFdhdGVyTWFyaykgc3RhdGUuaGlnaFdhdGVyTWFyayA9IGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pO1xcbiAgaWYgKG4gPD0gc3RhdGUubGVuZ3RoKSByZXR1cm4gbjtcXG4gIC8vIERvbid0IGhhdmUgZW5vdWdoXFxuICBpZiAoIXN0YXRlLmVuZGVkKSB7XFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgIHJldHVybiAwO1xcbiAgfVxcbiAgcmV0dXJuIHN0YXRlLmxlbmd0aDtcXG59XFxuXFxuLy8geW91IGNhbiBvdmVycmlkZSBlaXRoZXIgdGhpcyBtZXRob2QsIG9yIHRoZSBhc3luYyBfcmVhZChuKSBiZWxvdy5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICBkZWJ1ZygncmVhZCcsIG4pO1xcbiAgbiA9IHBhcnNlSW50KG4sIDEwKTtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgbk9yaWcgPSBuO1xcblxcbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgLy8gaWYgd2UncmUgZG9pbmcgcmVhZCgwKSB0byB0cmlnZ2VyIGEgcmVhZGFibGUgZXZlbnQsIGJ1dCB3ZVxcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxcbiAgLy8gdGhlICdyZWFkYWJsZScgZXZlbnQgYW5kIG1vdmUgb24uXFxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5uZWVkUmVhZGFibGUgJiYgKHN0YXRlLmxlbmd0aCA+PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmVuZGVkKSkge1xcbiAgICBkZWJ1ZygncmVhZDogZW1pdFJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO2Vsc2UgZW1pdFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIG4gPSBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKTtcXG5cXG4gIC8vIGlmIHdlJ3ZlIGVuZGVkLCBhbmQgd2UncmUgbm93IGNsZWFyLCB0aGVuIGZpbmlzaCBpdCB1cC5cXG4gIGlmIChuID09PSAwICYmIHN0YXRlLmVuZGVkKSB7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIC8vIEFsbCB0aGUgYWN0dWFsIGNodW5rIGdlbmVyYXRpb24gbG9naWMgbmVlZHMgdG8gYmVcXG4gIC8vICpiZWxvdyogdGhlIGNhbGwgdG8gX3JlYWQuICBUaGUgcmVhc29uIGlzIHRoYXQgaW4gY2VydGFpblxcbiAgLy8gc3ludGhldGljIHN0cmVhbSBjYXNlcywgc3VjaCBhcyBwYXNzdGhyb3VnaCBzdHJlYW1zLCBfcmVhZFxcbiAgLy8gbWF5IGJlIGEgY29tcGxldGVseSBzeW5jaHJvbm91cyBvcGVyYXRpb24gd2hpY2ggbWF5IGNoYW5nZVxcbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSByZWFkIGJ1ZmZlciwgcHJvdmlkaW5nIGVub3VnaCBkYXRhIHdoZW5cXG4gIC8vIGJlZm9yZSB0aGVyZSB3YXMgKm5vdCogZW5vdWdoLlxcbiAgLy9cXG4gIC8vIFNvLCB0aGUgc3RlcHMgYXJlOlxcbiAgLy8gMS4gRmlndXJlIG91dCB3aGF0IHRoZSBzdGF0ZSBvZiB0aGluZ3Mgd2lsbCBiZSBhZnRlciB3ZSBkb1xcbiAgLy8gYSByZWFkIGZyb20gdGhlIGJ1ZmZlci5cXG4gIC8vXFxuICAvLyAyLiBJZiB0aGF0IHJlc3VsdGluZyBzdGF0ZSB3aWxsIHRyaWdnZXIgYSBfcmVhZCwgdGhlbiBjYWxsIF9yZWFkLlxcbiAgLy8gTm90ZSB0aGF0IHRoaXMgbWF5IGJlIGFzeW5jaHJvbm91cywgb3Igc3luY2hyb25vdXMuICBZZXMsIGl0IGlzXFxuICAvLyBkZWVwbHkgdWdseSB0byB3cml0ZSBBUElzIHRoaXMgd2F5LCBidXQgdGhhdCBzdGlsbCBkb2Vzbid0IG1lYW5cXG4gIC8vIHRoYXQgdGhlIFJlYWRhYmxlIGNsYXNzIHNob3VsZCBiZWhhdmUgaW1wcm9wZXJseSwgYXMgc3RyZWFtcyBhcmVcXG4gIC8vIGRlc2lnbmVkIHRvIGJlIHN5bmMvYXN5bmMgYWdub3N0aWMuXFxuICAvLyBUYWtlIG5vdGUgaWYgdGhlIF9yZWFkIGNhbGwgaXMgc3luYyBvciBhc3luYyAoaWUsIGlmIHRoZSByZWFkIGNhbGxcXG4gIC8vIGhhcyByZXR1cm5lZCB5ZXQpLCBzbyB0aGF0IHdlIGtub3cgd2hldGhlciBvciBub3QgaXQncyBzYWZlIHRvIGVtaXRcXG4gIC8vICdyZWFkYWJsZScgZXRjLlxcbiAgLy9cXG4gIC8vIDMuIEFjdHVhbGx5IHB1bGwgdGhlIHJlcXVlc3RlZCBjaHVua3Mgb3V0IG9mIHRoZSBidWZmZXIgYW5kIHJldHVybi5cXG5cXG4gIC8vIGlmIHdlIG5lZWQgYSByZWFkYWJsZSBldmVudCwgdGhlbiB3ZSBuZWVkIHRvIGRvIHNvbWUgcmVhZGluZy5cXG4gIHZhciBkb1JlYWQgPSBzdGF0ZS5uZWVkUmVhZGFibGU7XFxuICBkZWJ1ZygnbmVlZCByZWFkYWJsZScsIGRvUmVhZCk7XFxuXFxuICAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgfHwgc3RhdGUubGVuZ3RoIC0gbiA8IHN0YXRlLmhpZ2hXYXRlck1hcmspIHtcXG4gICAgZG9SZWFkID0gdHJ1ZTtcXG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcXG4gIH1cXG5cXG4gIC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XFxuICAvLyByZWFkaW5nLCB0aGVuIGl0J3MgdW5uZWNlc3NhcnkuXFxuICBpZiAoc3RhdGUuZW5kZWQgfHwgc3RhdGUucmVhZGluZykge1xcbiAgICBkb1JlYWQgPSBmYWxzZTtcXG4gICAgZGVidWcoJ3JlYWRpbmcgb3IgZW5kZWQnLCBkb1JlYWQpO1xcbiAgfSBlbHNlIGlmIChkb1JlYWQpIHtcXG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcXG4gICAgc3RhdGUucmVhZGluZyA9IHRydWU7XFxuICAgIHN0YXRlLnN5bmMgPSB0cnVlO1xcbiAgICAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICAvLyBjYWxsIGludGVybmFsIHJlYWQgbWV0aG9kXFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XFxuICAgIHN0YXRlLnN5bmMgPSBmYWxzZTtcXG4gICAgLy8gSWYgX3JlYWQgcHVzaGVkIGRhdGEgc3luY2hyb25vdXNseSwgdGhlbiBgcmVhZGluZ2Agd2lsbCBiZSBmYWxzZSxcXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxcbiAgICBpZiAoIXN0YXRlLnJlYWRpbmcpIG4gPSBob3dNdWNoVG9SZWFkKG5PcmlnLCBzdGF0ZSk7XFxuICB9XFxuXFxuICB2YXIgcmV0O1xcbiAgaWYgKG4gPiAwKSByZXQgPSBmcm9tTGlzdChuLCBzdGF0ZSk7ZWxzZSByZXQgPSBudWxsO1xcblxcbiAgaWYgKHJldCA9PT0gbnVsbCkge1xcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICBuID0gMDtcXG4gIH0gZWxzZSB7XFxuICAgIHN0YXRlLmxlbmd0aCAtPSBuO1xcbiAgfVxcblxcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkge1xcbiAgICAvLyBJZiB3ZSBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciwgdGhlbiB3ZSB3YW50IHRvIGtub3dcXG4gICAgLy8gYXMgc29vbiBhcyB3ZSAqZG8qIGdldCBzb21ldGhpbmcgaW50byB0aGUgYnVmZmVyLlxcbiAgICBpZiAoIXN0YXRlLmVuZGVkKSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcblxcbiAgICAvLyBJZiB3ZSB0cmllZCB0byByZWFkKCkgcGFzdCB0aGUgRU9GLCB0aGVuIGVtaXQgZW5kIG9uIHRoZSBuZXh0IHRpY2suXFxuICAgIGlmIChuT3JpZyAhPT0gbiAmJiBzdGF0ZS5lbmRlZCkgZW5kUmVhZGFibGUodGhpcyk7XFxuICB9XFxuXFxuICBpZiAocmV0ICE9PSBudWxsKSB0aGlzLmVtaXQoJ2RhdGEnLCByZXQpO1xcblxcbiAgcmV0dXJuIHJldDtcXG59O1xcblxcbmZ1bmN0aW9uIG9uRW9mQ2h1bmsoc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKHN0YXRlLmVuZGVkKSByZXR1cm47XFxuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xcbiAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xcbiAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSB7XFxuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xcbiAgICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgfVxcbiAgfVxcbiAgc3RhdGUuZW5kZWQgPSB0cnVlO1xcblxcbiAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXFxuICBlbWl0UmVhZGFibGUoc3RyZWFtKTtcXG59XFxuXFxuLy8gRG9uJ3QgZW1pdCByZWFkYWJsZSByaWdodCBhd2F5IGluIHN5bmMgbW9kZSwgYmVjYXVzZSB0aGlzIGNhbiB0cmlnZ2VyXFxuLy8gYW5vdGhlciByZWFkKCkgY2FsbCA9PiBzdGFjayBvdmVyZmxvdy4gIFRoaXMgd2F5LCBpdCBtaWdodCB0cmlnZ2VyXFxuLy8gYSBuZXh0VGljayByZWN1cnNpb24gd2FybmluZywgYnV0IHRoYXQncyBub3Qgc28gYmFkLlxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZShzdHJlYW0pIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcXG4gICAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLmZsb3dpbmcpO1xcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICBpZiAoc3RhdGUuc3luYykgcG5hLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sIHN0cmVhbSk7ZWxzZSBlbWl0UmVhZGFibGVfKHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oc3RyZWFtKSB7XFxuICBkZWJ1ZygnZW1pdCByZWFkYWJsZScpO1xcbiAgc3RyZWFtLmVtaXQoJ3JlYWRhYmxlJyk7XFxuICBmbG93KHN0cmVhbSk7XFxufVxcblxcbi8vIGF0IHRoaXMgcG9pbnQsIHRoZSB1c2VyIGhhcyBwcmVzdW1hYmx5IHNlZW4gdGhlICdyZWFkYWJsZScgZXZlbnQsXFxuLy8gYW5kIGNhbGxlZCByZWFkKCkgdG8gY29uc3VtZSBzb21lIGRhdGEuICB0aGF0IG1heSBoYXZlIHRyaWdnZXJlZFxcbi8vIGluIHR1cm4gYW5vdGhlciBfcmVhZChuKSBjYWxsLCBpbiB3aGljaCBjYXNlIHJlYWRpbmcgPSB0cnVlIGlmXFxuLy8gaXQncyBpbiBwcm9ncmVzcy5cXG4vLyBIb3dldmVyLCBpZiB3ZSdyZSBub3QgZW5kZWQsIG9yIHJlYWRpbmcsIGFuZCB0aGUgbGVuZ3RoIDwgaHdtLFxcbi8vIHRoZW4gZ28gYWhlYWQgYW5kIHRyeSB0byByZWFkIHNvbWUgbW9yZSBwcmVlbXB0aXZlbHkuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlYWRpbmdNb3JlKSB7XFxuICAgIHN0YXRlLnJlYWRpbmdNb3JlID0gdHJ1ZTtcXG4gICAgcG5hLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLCBzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xcbiAgdmFyIGxlbiA9IHN0YXRlLmxlbmd0aDtcXG4gIHdoaWxlICghc3RhdGUucmVhZGluZyAmJiAhc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUuZW5kZWQgJiYgc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykge1xcbiAgICBkZWJ1ZygnbWF5YmVSZWFkTW9yZSByZWFkIDAnKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICAgIGlmIChsZW4gPT09IHN0YXRlLmxlbmd0aClcXG4gICAgICAvLyBkaWRuJ3QgZ2V0IGFueSBkYXRhLCBzdG9wIHNwaW5uaW5nLlxcbiAgICAgIGJyZWFrO2Vsc2UgbGVuID0gc3RhdGUubGVuZ3RoO1xcbiAgfVxcbiAgc3RhdGUucmVhZGluZ01vcmUgPSBmYWxzZTtcXG59XFxuXFxuLy8gYWJzdHJhY3QgbWV0aG9kLiAgdG8gYmUgb3ZlcnJpZGRlbiBpbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxcbi8vIGNhbGwgY2IoZXIsIGRhdGEpIHdoZXJlIGRhdGEgaXMgPD0gbiBpbiBsZW5ndGguXFxuLy8gZm9yIHZpcnR1YWwgKG5vbi1zdHJpbmcsIG5vbi1idWZmZXIpIHN0cmVhbXMsIFxcXCJsZW5ndGhcXFwiIGlzIHNvbWV3aGF0XFxuLy8gYXJiaXRyYXJ5LCBhbmQgcGVyaGFwcyBub3QgdmVyeSBtZWFuaW5nZnVsLlxcblJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCdfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpKTtcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XFxuICB2YXIgc3JjID0gdGhpcztcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuXFxuICBzd2l0Y2ggKHN0YXRlLnBpcGVzQ291bnQpIHtcXG4gICAgY2FzZSAwOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gZGVzdDtcXG4gICAgICBicmVhaztcXG4gICAgY2FzZSAxOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gW3N0YXRlLnBpcGVzLCBkZXN0XTtcXG4gICAgICBicmVhaztcXG4gICAgZGVmYXVsdDpcXG4gICAgICBzdGF0ZS5waXBlcy5wdXNoKGRlc3QpO1xcbiAgICAgIGJyZWFrO1xcbiAgfVxcbiAgc3RhdGUucGlwZXNDb3VudCArPSAxO1xcbiAgZGVidWcoJ3BpcGUgY291bnQ9JWQgb3B0cz0laicsIHN0YXRlLnBpcGVzQ291bnQsIHBpcGVPcHRzKTtcXG5cXG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XFxuXFxuICB2YXIgZW5kRm4gPSBkb0VuZCA/IG9uZW5kIDogdW5waXBlO1xcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHBuYS5uZXh0VGljayhlbmRGbik7ZWxzZSBzcmMub25jZSgnZW5kJywgZW5kRm4pO1xcblxcbiAgZGVzdC5vbigndW5waXBlJywgb251bnBpcGUpO1xcbiAgZnVuY3Rpb24gb251bnBpcGUocmVhZGFibGUsIHVucGlwZUluZm8pIHtcXG4gICAgZGVidWcoJ29udW5waXBlJyk7XFxuICAgIGlmIChyZWFkYWJsZSA9PT0gc3JjKSB7XFxuICAgICAgaWYgKHVucGlwZUluZm8gJiYgdW5waXBlSW5mby5oYXNVbnBpcGVkID09PSBmYWxzZSkge1xcbiAgICAgICAgdW5waXBlSW5mby5oYXNVbnBpcGVkID0gdHJ1ZTtcXG4gICAgICAgIGNsZWFudXAoKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIG9uZW5kKCkge1xcbiAgICBkZWJ1Zygnb25lbmQnKTtcXG4gICAgZGVzdC5lbmQoKTtcXG4gIH1cXG5cXG4gIC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcXG4gIC8vIG9uIHRoZSBzb3VyY2UuICBUaGlzIHdvdWxkIGJlIG1vcmUgZWxlZ2FudCB3aXRoIGEgLm9uY2UoKVxcbiAgLy8gaGFuZGxlciBpbiBmbG93KCksIGJ1dCBhZGRpbmcgYW5kIHJlbW92aW5nIHJlcGVhdGVkbHkgaXNcXG4gIC8vIHRvbyBzbG93LlxcbiAgdmFyIG9uZHJhaW4gPSBwaXBlT25EcmFpbihzcmMpO1xcbiAgZGVzdC5vbignZHJhaW4nLCBvbmRyYWluKTtcXG5cXG4gIHZhciBjbGVhbmVkVXAgPSBmYWxzZTtcXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XFxuICAgIGRlYnVnKCdjbGVhbnVwJyk7XFxuICAgIC8vIGNsZWFudXAgZXZlbnQgaGFuZGxlcnMgb25jZSB0aGUgcGlwZSBpcyBicm9rZW5cXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdkcmFpbicsIG9uZHJhaW4pO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCd1bnBpcGUnLCBvbnVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIHVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XFxuXFxuICAgIGNsZWFuZWRVcCA9IHRydWU7XFxuXFxuICAgIC8vIGlmIHRoZSByZWFkZXIgaXMgd2FpdGluZyBmb3IgYSBkcmFpbiBldmVudCBmcm9tIHRoaXNcXG4gICAgLy8gc3BlY2lmaWMgd3JpdGVyLCB0aGVuIGl0IHdvdWxkIGNhdXNlIGl0IHRvIG5ldmVyIHN0YXJ0XFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXFxuICAgIC8vIFNvLCBpZiB0aGlzIGlzIGF3YWl0aW5nIGEgZHJhaW4sIHRoZW4gd2UganVzdCBjYWxsIGl0IG5vdy5cXG4gICAgLy8gSWYgd2UgZG9uJ3Qga25vdywgdGhlbiBhc3N1bWUgdGhhdCB3ZSBhcmUgd2FpdGluZyBmb3Igb25lLlxcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XFxuICB9XFxuXFxuICAvLyBJZiB0aGUgdXNlciBwdXNoZXMgbW9yZSBkYXRhIHdoaWxlIHdlJ3JlIHdyaXRpbmcgdG8gZGVzdCB0aGVuIHdlJ2xsIGVuZCB1cFxcbiAgLy8gaW4gb25kYXRhIGFnYWluLiBIb3dldmVyLCB3ZSBvbmx5IHdhbnQgdG8gaW5jcmVhc2UgYXdhaXREcmFpbiBvbmNlIGJlY2F1c2VcXG4gIC8vIGRlc3Qgd2lsbCBvbmx5IGVtaXQgb25lICdkcmFpbicgZXZlbnQgZm9yIHRoZSBtdWx0aXBsZSB3cml0ZXMuXFxuICAvLyA9PiBJbnRyb2R1Y2UgYSBndWFyZCBvbiBpbmNyZWFzaW5nIGF3YWl0RHJhaW4uXFxuICB2YXIgaW5jcmVhc2VkQXdhaXREcmFpbiA9IGZhbHNlO1xcbiAgc3JjLm9uKCdkYXRhJywgb25kYXRhKTtcXG4gIGZ1bmN0aW9uIG9uZGF0YShjaHVuaykge1xcbiAgICBkZWJ1Zygnb25kYXRhJyk7XFxuICAgIGluY3JlYXNlZEF3YWl0RHJhaW4gPSBmYWxzZTtcXG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xcbiAgICBpZiAoZmFsc2UgPT09IHJldCAmJiAhaW5jcmVhc2VkQXdhaXREcmFpbikge1xcbiAgICAgIC8vIElmIHRoZSB1c2VyIHVucGlwZWQgZHVyaW5nIGBkZXN0LndyaXRlKClgLCBpdCBpcyBwb3NzaWJsZVxcbiAgICAgIC8vIHRvIGdldCBzdHVjayBpbiBhIHBlcm1hbmVudGx5IHBhdXNlZCBzdGF0ZSBpZiB0aGF0IHdyaXRlXFxuICAgICAgLy8gYWxzbyByZXR1cm5lZCBmYWxzZS5cXG4gICAgICAvLyA9PiBDaGVjayB3aGV0aGVyIGBkZXN0YCBpcyBzdGlsbCBhIHBpcGluZyBkZXN0aW5hdGlvbi5cXG4gICAgICBpZiAoKHN0YXRlLnBpcGVzQ291bnQgPT09IDEgJiYgc3RhdGUucGlwZXMgPT09IGRlc3QgfHwgc3RhdGUucGlwZXNDb3VudCA+IDEgJiYgaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCkgIT09IC0xKSAmJiAhY2xlYW5lZFVwKSB7XFxuICAgICAgICBkZWJ1ZygnZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlJywgc3JjLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4pO1xcbiAgICAgICAgc3JjLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKztcXG4gICAgICAgIGluY3JlYXNlZEF3YWl0RHJhaW4gPSB0cnVlO1xcbiAgICAgIH1cXG4gICAgICBzcmMucGF1c2UoKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gaWYgdGhlIGRlc3QgaGFzIGFuIGVycm9yLCB0aGVuIHN0b3AgcGlwaW5nIGludG8gaXQuXFxuICAvLyBob3dldmVyLCBkb24ndCBzdXBwcmVzcyB0aGUgdGhyb3dpbmcgYmVoYXZpb3IgZm9yIHRoaXMuXFxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XFxuICAgIGRlYnVnKCdvbmVycm9yJywgZXIpO1xcbiAgICB1bnBpcGUoKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgaWYgKEVFbGlzdGVuZXJDb3VudChkZXN0LCAnZXJyb3InKSA9PT0gMCkgZGVzdC5lbWl0KCdlcnJvcicsIGVyKTtcXG4gIH1cXG5cXG4gIC8vIE1ha2Ugc3VyZSBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgdXNlcmxhbmQgb25lcy5cXG4gIHByZXBlbmRMaXN0ZW5lcihkZXN0LCAnZXJyb3InLCBvbmVycm9yKTtcXG5cXG4gIC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXFxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICAgIHVucGlwZSgpO1xcbiAgfVxcbiAgZGVzdC5vbmNlKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XFxuICAgIGRlYnVnKCdvbmZpbmlzaCcpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgICB1bnBpcGUoKTtcXG4gIH1cXG4gIGRlc3Qub25jZSgnZmluaXNoJywgb25maW5pc2gpO1xcblxcbiAgZnVuY3Rpb24gdW5waXBlKCkge1xcbiAgICBkZWJ1ZygndW5waXBlJyk7XFxuICAgIHNyYy51bnBpcGUoZGVzdCk7XFxuICB9XFxuXFxuICAvLyB0ZWxsIHRoZSBkZXN0IHRoYXQgaXQncyBiZWluZyBwaXBlZCB0b1xcbiAgZGVzdC5lbWl0KCdwaXBlJywgc3JjKTtcXG5cXG4gIC8vIHN0YXJ0IHRoZSBmbG93IGlmIGl0IGhhc24ndCBiZWVuIHN0YXJ0ZWQgYWxyZWFkeS5cXG4gIGlmICghc3RhdGUuZmxvd2luZykge1xcbiAgICBkZWJ1ZygncGlwZSByZXN1bWUnKTtcXG4gICAgc3JjLnJlc3VtZSgpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGRlc3Q7XFxufTtcXG5cXG5mdW5jdGlvbiBwaXBlT25EcmFpbihzcmMpIHtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIHZhciBzdGF0ZSA9IHNyYy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgZGVidWcoJ3BpcGVPbkRyYWluJywgc3RhdGUuYXdhaXREcmFpbik7XFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluKSBzdGF0ZS5hd2FpdERyYWluLS07XFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluID09PSAwICYmIEVFbGlzdGVuZXJDb3VudChzcmMsICdkYXRhJykpIHtcXG4gICAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcXG4gICAgICBmbG93KHNyYyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciB1bnBpcGVJbmZvID0geyBoYXNVbnBpcGVkOiBmYWxzZSB9O1xcblxcbiAgLy8gaWYgd2UncmUgbm90IHBpcGluZyBhbnl3aGVyZSwgdGhlbiBkbyBub3RoaW5nLlxcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDApIHJldHVybiB0aGlzO1xcblxcbiAgLy8ganVzdCBvbmUgZGVzdGluYXRpb24uICBtb3N0IGNvbW1vbiBjYXNlLlxcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHtcXG4gICAgLy8gcGFzc2VkIGluIG9uZSwgYnV0IGl0J3Mgbm90IHRoZSByaWdodCBvbmUuXFxuICAgIGlmIChkZXN0ICYmIGRlc3QgIT09IHN0YXRlLnBpcGVzKSByZXR1cm4gdGhpcztcXG5cXG4gICAgaWYgKCFkZXN0KSBkZXN0ID0gc3RhdGUucGlwZXM7XFxuXFxuICAgIC8vIGdvdCBhIG1hdGNoLlxcbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XFxuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuICAgIGlmIChkZXN0KSBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH1cXG5cXG4gIC8vIHNsb3cgY2FzZS4gbXVsdGlwbGUgcGlwZSBkZXN0aW5hdGlvbnMuXFxuXFxuICBpZiAoIWRlc3QpIHtcXG4gICAgLy8gcmVtb3ZlIGFsbC5cXG4gICAgdmFyIGRlc3RzID0gc3RhdGUucGlwZXM7XFxuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xcbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XFxuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcXG4gICAgfXJldHVybiB0aGlzO1xcbiAgfVxcblxcbiAgLy8gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IG9uZS5cXG4gIHZhciBpbmRleCA9IGluZGV4T2Yoc3RhdGUucGlwZXMsIGRlc3QpO1xcbiAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIHRoaXM7XFxuXFxuICBzdGF0ZS5waXBlcy5zcGxpY2UoaW5kZXgsIDEpO1xcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHN0YXRlLnBpcGVzID0gc3RhdGUucGlwZXNbMF07XFxuXFxuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG4vLyBzZXQgdXAgZGF0YSBldmVudHMgaWYgdGhleSBhcmUgYXNrZWQgZm9yXFxuLy8gRW5zdXJlIHJlYWRhYmxlIGxpc3RlbmVycyBldmVudHVhbGx5IGdldCBzb21ldGhpbmdcXG5SZWFkYWJsZS5wcm90b3R5cGUub24gPSBmdW5jdGlvbiAoZXYsIGZuKSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsIGV2LCBmbik7XFxuXFxuICBpZiAoZXYgPT09ICdkYXRhJykge1xcbiAgICAvLyBTdGFydCBmbG93aW5nIG9uIG5leHQgdGljayBpZiBzdHJlYW0gaXNuJ3QgZXhwbGljaXRseSBwYXVzZWRcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAhPT0gZmFsc2UpIHRoaXMucmVzdW1lKCk7XFxuICB9IGVsc2UgaWYgKGV2ID09PSAncmVhZGFibGUnKSB7XFxuICAgIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICAgIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcpIHtcXG4gICAgICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICAgICAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XFxuICAgICAgICBwbmEubmV4dFRpY2soblJlYWRpbmdOZXh0VGljaywgdGhpcyk7XFxuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5sZW5ndGgpIHtcXG4gICAgICAgIGVtaXRSZWFkYWJsZSh0aGlzKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIgPSBSZWFkYWJsZS5wcm90b3R5cGUub247XFxuXFxuZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhzZWxmKSB7XFxuICBkZWJ1ZygncmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwJyk7XFxuICBzZWxmLnJlYWQoMCk7XFxufVxcblxcbi8vIHBhdXNlKCkgYW5kIHJlc3VtZSgpIGFyZSByZW1uYW50cyBvZiB0aGUgbGVnYWN5IHJlYWRhYmxlIHN0cmVhbSBBUElcXG4vLyBJZiB0aGUgdXNlciB1c2VzIHRoZW0sIHRoZW4gc3dpdGNoIGludG8gb2xkIG1vZGUuXFxuUmVhZGFibGUucHJvdG90eXBlLnJlc3VtZSA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcXG4gICAgZGVidWcoJ3Jlc3VtZScpO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcXG4gICAgcmVzdW1lKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuZnVuY3Rpb24gcmVzdW1lKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XFxuICAgIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IHRydWU7XFxuICAgIHBuYS5uZXh0VGljayhyZXN1bWVfLCBzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVzdW1lXyhzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlYWRpbmcpIHtcXG4gICAgZGVidWcoJ3Jlc3VtZSByZWFkIDAnKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICB9XFxuXFxuICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcXG4gIHN0YXRlLmF3YWl0RHJhaW4gPSAwO1xcbiAgc3RyZWFtLmVtaXQoJ3Jlc3VtZScpO1xcbiAgZmxvdyhzdHJlYW0pO1xcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLnJlYWRpbmcpIHN0cmVhbS5yZWFkKDApO1xcbn1cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XFxuICBkZWJ1ZygnY2FsbCBwYXVzZSBmbG93aW5nPSVqJywgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKTtcXG4gIGlmIChmYWxzZSAhPT0gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSB7XFxuICAgIGRlYnVnKCdwYXVzZScpO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xcbiAgfVxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5mdW5jdGlvbiBmbG93KHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2Zsb3cnLCBzdGF0ZS5mbG93aW5nKTtcXG4gIHdoaWxlIChzdGF0ZS5mbG93aW5nICYmIHN0cmVhbS5yZWFkKCkgIT09IG51bGwpIHt9XFxufVxcblxcbi8vIHdyYXAgYW4gb2xkLXN0eWxlIHN0cmVhbSBhcyB0aGUgYXN5bmMgZGF0YSBzb3VyY2UuXFxuLy8gVGhpcyBpcyAqbm90KiBwYXJ0IG9mIHRoZSByZWFkYWJsZSBzdHJlYW0gaW50ZXJmYWNlLlxcbi8vIEl0IGlzIGFuIHVnbHkgdW5mb3J0dW5hdGUgbWVzcyBvZiBoaXN0b3J5LlxcblJlYWRhYmxlLnByb3RvdHlwZS53cmFwID0gZnVuY3Rpb24gKHN0cmVhbSkge1xcbiAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgcGF1c2VkID0gZmFsc2U7XFxuXFxuICBzdHJlYW0ub24oJ2VuZCcsIGZ1bmN0aW9uICgpIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgZW5kJyk7XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyICYmICFzdGF0ZS5lbmRlZCkge1xcbiAgICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XFxuICAgICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkgX3RoaXMucHVzaChjaHVuayk7XFxuICAgIH1cXG5cXG4gICAgX3RoaXMucHVzaChudWxsKTtcXG4gIH0pO1xcblxcbiAgc3RyZWFtLm9uKCdkYXRhJywgZnVuY3Rpb24gKGNodW5rKSB7XFxuICAgIGRlYnVnKCd3cmFwcGVkIGRhdGEnKTtcXG4gICAgaWYgKHN0YXRlLmRlY29kZXIpIGNodW5rID0gc3RhdGUuZGVjb2Rlci53cml0ZShjaHVuayk7XFxuXFxuICAgIC8vIGRvbid0IHNraXAgb3ZlciBmYWxzeSB2YWx1ZXMgaW4gb2JqZWN0TW9kZVxcbiAgICBpZiAoc3RhdGUub2JqZWN0TW9kZSAmJiAoY2h1bmsgPT09IG51bGwgfHwgY2h1bmsgPT09IHVuZGVmaW5lZCkpIHJldHVybjtlbHNlIGlmICghc3RhdGUub2JqZWN0TW9kZSAmJiAoIWNodW5rIHx8ICFjaHVuay5sZW5ndGgpKSByZXR1cm47XFxuXFxuICAgIHZhciByZXQgPSBfdGhpcy5wdXNoKGNodW5rKTtcXG4gICAgaWYgKCFyZXQpIHtcXG4gICAgICBwYXVzZWQgPSB0cnVlO1xcbiAgICAgIHN0cmVhbS5wYXVzZSgpO1xcbiAgICB9XFxuICB9KTtcXG5cXG4gIC8vIHByb3h5IGFsbCB0aGUgb3RoZXIgbWV0aG9kcy5cXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxcbiAgZm9yICh2YXIgaSBpbiBzdHJlYW0pIHtcXG4gICAgaWYgKHRoaXNbaV0gPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygc3RyZWFtW2ldID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIChtZXRob2QpIHtcXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIHJldHVybiBzdHJlYW1bbWV0aG9kXS5hcHBseShzdHJlYW0sIGFyZ3VtZW50cyk7XFxuICAgICAgICB9O1xcbiAgICAgIH0oaSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC8vIHByb3h5IGNlcnRhaW4gaW1wb3J0YW50IGV2ZW50cy5cXG4gIGZvciAodmFyIG4gPSAwOyBuIDwga1Byb3h5RXZlbnRzLmxlbmd0aDsgbisrKSB7XFxuICAgIHN0cmVhbS5vbihrUHJveHlFdmVudHNbbl0sIHRoaXMuZW1pdC5iaW5kKHRoaXMsIGtQcm94eUV2ZW50c1tuXSkpO1xcbiAgfVxcblxcbiAgLy8gd2hlbiB3ZSB0cnkgdG8gY29uc3VtZSBzb21lIG1vcmUgYnl0ZXMsIHNpbXBseSB1bnBhdXNlIHRoZVxcbiAgLy8gdW5kZXJseWluZyBzdHJlYW0uXFxuICB0aGlzLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgX3JlYWQnLCBuKTtcXG4gICAgaWYgKHBhdXNlZCkge1xcbiAgICAgIHBhdXNlZCA9IGZhbHNlO1xcbiAgICAgIHN0cmVhbS5yZXN1bWUoKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIH1cXG59KTtcXG5cXG4vLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXFxuUmVhZGFibGUuX2Zyb21MaXN0ID0gZnJvbUxpc3Q7XFxuXFxuLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxcbi8vIExlbmd0aCBpcyB0aGUgY29tYmluZWQgbGVuZ3RocyBvZiBhbGwgdGhlIGJ1ZmZlcnMgaW4gdGhlIGxpc3QuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcbmZ1bmN0aW9uIGZyb21MaXN0KG4sIHN0YXRlKSB7XFxuICAvLyBub3RoaW5nIGJ1ZmZlcmVkXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcXG5cXG4gIHZhciByZXQ7XFxuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0ID0gc3RhdGUuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZiAoIW4gfHwgbiA+PSBzdGF0ZS5sZW5ndGgpIHtcXG4gICAgLy8gcmVhZCBpdCBhbGwsIHRydW5jYXRlIHRoZSBsaXN0XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSByZXQgPSBzdGF0ZS5idWZmZXIuam9pbignJyk7ZWxzZSBpZiAoc3RhdGUuYnVmZmVyLmxlbmd0aCA9PT0gMSkgcmV0ID0gc3RhdGUuYnVmZmVyLmhlYWQuZGF0YTtlbHNlIHJldCA9IHN0YXRlLmJ1ZmZlci5jb25jYXQoc3RhdGUubGVuZ3RoKTtcXG4gICAgc3RhdGUuYnVmZmVyLmNsZWFyKCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyByZWFkIHBhcnQgb2YgbGlzdFxcbiAgICByZXQgPSBmcm9tTGlzdFBhcnRpYWwobiwgc3RhdGUuYnVmZmVyLCBzdGF0ZS5kZWNvZGVyKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXQ7XFxufVxcblxcbi8vIEV4dHJhY3RzIG9ubHkgZW5vdWdoIGJ1ZmZlcmVkIGRhdGEgdG8gc2F0aXNmeSB0aGUgYW1vdW50IHJlcXVlc3RlZC5cXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGlubGluYWJsZSwgc28gcGxlYXNlIHRha2UgY2FyZSB3aGVuIG1ha2luZ1xcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXFxuZnVuY3Rpb24gZnJvbUxpc3RQYXJ0aWFsKG4sIGxpc3QsIGhhc1N0cmluZ3MpIHtcXG4gIHZhciByZXQ7XFxuICBpZiAobiA8IGxpc3QuaGVhZC5kYXRhLmxlbmd0aCkge1xcbiAgICAvLyBzbGljZSBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5nc1xcbiAgICByZXQgPSBsaXN0LmhlYWQuZGF0YS5zbGljZSgwLCBuKTtcXG4gICAgbGlzdC5oZWFkLmRhdGEgPSBsaXN0LmhlYWQuZGF0YS5zbGljZShuKTtcXG4gIH0gZWxzZSBpZiAobiA9PT0gbGlzdC5oZWFkLmRhdGEubGVuZ3RoKSB7XFxuICAgIC8vIGZpcnN0IGNodW5rIGlzIGEgcGVyZmVjdCBtYXRjaFxcbiAgICByZXQgPSBsaXN0LnNoaWZ0KCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyByZXN1bHQgc3BhbnMgbW9yZSB0aGFuIG9uZSBidWZmZXJcXG4gICAgcmV0ID0gaGFzU3RyaW5ncyA/IGNvcHlGcm9tQnVmZmVyU3RyaW5nKG4sIGxpc3QpIDogY29weUZyb21CdWZmZXIobiwgbGlzdCk7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG4vLyBDb3BpZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGNoYXJhY3RlcnMgZnJvbSB0aGUgbGlzdCBvZiBidWZmZXJlZCBkYXRhXFxuLy8gY2h1bmtzLlxcbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXFxuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cXG5mdW5jdGlvbiBjb3B5RnJvbUJ1ZmZlclN0cmluZyhuLCBsaXN0KSB7XFxuICB2YXIgcCA9IGxpc3QuaGVhZDtcXG4gIHZhciBjID0gMTtcXG4gIHZhciByZXQgPSBwLmRhdGE7XFxuICBuIC09IHJldC5sZW5ndGg7XFxuICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICB2YXIgc3RyID0gcC5kYXRhO1xcbiAgICB2YXIgbmIgPSBuID4gc3RyLmxlbmd0aCA/IHN0ci5sZW5ndGggOiBuO1xcbiAgICBpZiAobmIgPT09IHN0ci5sZW5ndGgpIHJldCArPSBzdHI7ZWxzZSByZXQgKz0gc3RyLnNsaWNlKDAsIG4pO1xcbiAgICBuIC09IG5iO1xcbiAgICBpZiAobiA9PT0gMCkge1xcbiAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkge1xcbiAgICAgICAgKytjO1xcbiAgICAgICAgaWYgKHAubmV4dCkgbGlzdC5oZWFkID0gcC5uZXh0O2Vsc2UgbGlzdC5oZWFkID0gbGlzdC50YWlsID0gbnVsbDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgbGlzdC5oZWFkID0gcDtcXG4gICAgICAgIHAuZGF0YSA9IHN0ci5zbGljZShuYik7XFxuICAgICAgfVxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICAgICsrYztcXG4gIH1cXG4gIGxpc3QubGVuZ3RoIC09IGM7XFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG4vLyBDb3BpZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIGZyb20gdGhlIGxpc3Qgb2YgYnVmZmVyZWQgZGF0YSBjaHVua3MuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcbmZ1bmN0aW9uIGNvcHlGcm9tQnVmZmVyKG4sIGxpc3QpIHtcXG4gIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobik7XFxuICB2YXIgcCA9IGxpc3QuaGVhZDtcXG4gIHZhciBjID0gMTtcXG4gIHAuZGF0YS5jb3B5KHJldCk7XFxuICBuIC09IHAuZGF0YS5sZW5ndGg7XFxuICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICB2YXIgYnVmID0gcC5kYXRhO1xcbiAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xcbiAgICBidWYuY29weShyZXQsIHJldC5sZW5ndGggLSBuLCAwLCBuYik7XFxuICAgIG4gLT0gbmI7XFxuICAgIGlmIChuID09PSAwKSB7XFxuICAgICAgaWYgKG5iID09PSBidWYubGVuZ3RoKSB7XFxuICAgICAgICArK2M7XFxuICAgICAgICBpZiAocC5uZXh0KSBsaXN0LmhlYWQgPSBwLm5leHQ7ZWxzZSBsaXN0LmhlYWQgPSBsaXN0LnRhaWwgPSBudWxsO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBsaXN0LmhlYWQgPSBwO1xcbiAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgKytjO1xcbiAgfVxcbiAgbGlzdC5sZW5ndGggLT0gYztcXG4gIHJldHVybiByZXQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFJlYWRhYmxlKHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgLy8gSWYgd2UgZ2V0IGhlcmUgYmVmb3JlIGNvbnN1bWluZyBhbGwgdGhlIGJ5dGVzLCB0aGVuIHRoYXQgaXMgYVxcbiAgLy8gYnVnIGluIG5vZGUuICBTaG91bGQgbmV2ZXIgaGFwcGVuLlxcbiAgaWYgKHN0YXRlLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcignXFxcImVuZFJlYWRhYmxlKClcXFwiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7XFxuXFxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQpIHtcXG4gICAgc3RhdGUuZW5kZWQgPSB0cnVlO1xcbiAgICBwbmEubmV4dFRpY2soZW5kUmVhZGFibGVOVCwgc3RhdGUsIHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xcbiAgLy8gQ2hlY2sgdGhhdCB3ZSBkaWRuJ3QgZ2V0IG9uZSBsYXN0IHVuc2hpZnQuXFxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQgJiYgc3RhdGUubGVuZ3RoID09PSAwKSB7XFxuICAgIHN0YXRlLmVuZEVtaXR0ZWQgPSB0cnVlO1xcbiAgICBzdHJlYW0ucmVhZGFibGUgPSBmYWxzZTtcXG4gICAgc3RyZWFtLmVtaXQoJ2VuZCcpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbmRleE9mKHhzLCB4KSB7XFxuICBmb3IgKHZhciBpID0gMCwgbCA9IHhzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICBpZiAoeHNbaV0gPT09IHgpIHJldHVybiBpO1xcbiAgfVxcbiAgcmV0dXJuIC0xO1xcbn1cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmY21WaFpHRmliR1V1YW5NL05tTTNZU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWaE96dEJRVVZpT3p0QlFVVkJMRlZCUVZVc2JVSkJRVThzUTBGQlF5d3dSVUZCYzBJN1FVRkRlRU03TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3hqUVVGakxHMUNRVUZQTEVOQlFVTXNaMFJCUVZNN1FVRkRMMEk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNVMEZCVXl4dFFrRkJUeXhEUVVGRExDdERRVUZST3p0QlFVVjZRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSMEZCTWtJN1FVRkRhRVE3TzBGQlJVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRVFVRmhPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNWMEZCVnl4dFFrRkJUeXhEUVVGRExEWkVRVUZqTzBGQlEycERMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnhET3p0QlFVVkJPMEZCUTBFc1owSkJRV2RDTEcxQ1FVRlBMRU5CUVVNc1lVRkJUVHRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhkSFFVRXJRanRCUVVONFJDeHJRa0ZCYTBJc2JVSkJRVThzUTBGQlF5eHJSMEZCTkVJN1FVRkRkRVE3TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDVSVUZCZVVVc05rVkJRVFpGTzBGQlEzUktPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zT0VWQlFXdENPenRCUVVVdlF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYVVSQlFXbEVMREJHUVVFd1JqczdRVUZGTTBrN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eHRRa0ZCVHl4RFFVRkRMRFJGUVVGcFFqdEJRVU5xUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhGQ1FVRnhRaXh0UWtGQlR5eERRVUZETERoRlFVRnJRanM3UVVGRkwwTTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEd0SFFVRnJSenRCUVVOc1J5eFBRVUZQTzBGQlExQTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEVzTkVaQlFUUkdPMEZCUXpWR0xGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMR2RFUVVGblJEczdRVUZGYUVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4elEwRkJjME1zYlVKQlFVOHNRMEZCUXl3MFJVRkJhVUk3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzBSVUZCTkVVN1FVRkROVVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERaRVFVRTJSRHRCUVVNM1JEdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYzBOQlFYTkRPenRCUVVWMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBSQlFYZEVPMEZCUTNoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WlFVRlpPMEZCUTFvN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxEUkRRVUUwUXpzN1FVRkZOVU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2IwSkJRVzlDT3p0QlFVVndRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MFJVRkJORVU3TzBGQlJUVkZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsQ1FVRnBRaXg1UWtGQmVVSTdRVUZETVVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVUkJRVzFFTzBGQlEyNUVPMEZCUTBFc2JVUkJRVzFFTEdsRlFVRnBSVHRCUVVOd1NEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhORFFVRnpRenRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZEUVVGMVF6dEJRVU4yUXl4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXp0QlFVTjJReXhQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNaME5CUVdkRExFOUJRVTg3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1F5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmNtVmhaR0ZpYkdVdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1WEc1MllYSWdjRzVoSUQwZ2NtVnhkV2x5WlNnbmNISnZZMlZ6Y3kxdVpYaDBhV05yTFdGeVozTW5LVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGSmxZV1JoWW14bE8xeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlHbHpRWEp5WVhrZ1BTQnlaWEYxYVhKbEtDZHBjMkZ5Y21GNUp5azdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dUx5bzhjbVZ3YkdGalpXMWxiblErS2k5Y2JuWmhjaUJFZFhCc1pYZzdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dVVtVmhaR0ZpYkdVdVVtVmhaR0ZpYkdWVGRHRjBaU0E5SUZKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1MllYSWdSVVVnUFNCeVpYRjFhWEpsS0NkbGRtVnVkSE1uS1M1RmRtVnVkRVZ0YVhSMFpYSTdYRzVjYm5aaGNpQkZSV3hwYzNSbGJtVnlRMjkxYm5RZ1BTQm1kVzVqZEdsdmJpQW9aVzFwZEhSbGNpd2dkSGx3WlNrZ2UxeHVJQ0J5WlhSMWNtNGdaVzFwZEhSbGNpNXNhWE4wWlc1bGNuTW9kSGx3WlNrdWJHVnVaM1JvTzF4dWZUdGNiaThxUEM5eVpYQnNZV05sYldWdWRENHFMMXh1WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dWRtRnlJRk4wY21WaGJTQTlJSEpsY1hWcGNtVW9KeTR2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTl6ZEhKbFlXMG5LVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNHZLanh5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSTdYRzUyWVhJZ1QzVnlWV2x1ZERoQmNuSmhlU0E5SUdkc2IySmhiQzVWYVc1ME9FRnljbUY1SUh4OElHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dVpuVnVZM1JwYjI0Z1gzVnBiblE0UVhKeVlYbFViMEoxWm1abGNpaGphSFZ1YXlrZ2UxeHVJQ0J5WlhSMWNtNGdRblZtWm1WeUxtWnliMjBvWTJoMWJtc3BPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1gybHpWV2x1ZERoQmNuSmhlU2h2WW1vcElIdGNiaUFnY21WMGRYSnVJRUoxWm1abGNpNXBjMEoxWm1abGNpaHZZbW9wSUh4OElHOWlhaUJwYm5OMFlXNWpaVzltSUU5MWNsVnBiblE0UVhKeVlYazdYRzU5WEc1Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlIVjBhV3dnUFNCeVpYRjFhWEpsS0NkamIzSmxMWFYwYVd3dGFYTW5LVHRjYm5WMGFXd3VhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwTzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ1pHVmlkV2RWZEdsc0lEMGdjbVZ4ZFdseVpTZ25kWFJwYkNjcE8xeHVkbUZ5SUdSbFluVm5JRDBnZG05cFpDQXdPMXh1YVdZZ0tHUmxZblZuVlhScGJDQW1KaUJrWldKMVoxVjBhV3d1WkdWaWRXZHNiMmNwSUh0Y2JpQWdaR1ZpZFdjZ1BTQmtaV0oxWjFWMGFXd3VaR1ZpZFdkc2IyY29KM04wY21WaGJTY3BPMXh1ZlNCbGJITmxJSHRjYmlBZ1pHVmlkV2NnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVHRjYm4xY2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzUyWVhJZ1FuVm1abVZ5VEdsemRDQTlJSEpsY1hWcGNtVW9KeTR2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlDZFdabVpYSk1hWE4wSnlrN1hHNTJZWElnWkdWemRISnZlVWx0Y0d3Z1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZaR1Z6ZEhKdmVTY3BPMXh1ZG1GeUlGTjBjbWx1WjBSbFkyOWtaWEk3WEc1Y2JuVjBhV3d1YVc1b1pYSnBkSE1vVW1WaFpHRmliR1VzSUZOMGNtVmhiU2s3WEc1Y2JuWmhjaUJyVUhKdmVIbEZkbVZ1ZEhNZ1BTQmJKMlZ5Y205eUp5d2dKMk5zYjNObEp5d2dKMlJsYzNSeWIza25MQ0FuY0dGMWMyVW5MQ0FuY21WemRXMWxKMTA3WEc1Y2JtWjFibU4wYVc5dUlIQnlaWEJsYm1STWFYTjBaVzVsY2lobGJXbDBkR1Z5TENCbGRtVnVkQ3dnWm00cElIdGNiaUFnTHk4Z1UyRmtiSGtnZEdocGN5QnBjeUJ1YjNRZ1kyRmphR1ZoWW14bElHRnpJSE52YldVZ2JHbGljbUZ5YVdWeklHSjFibVJzWlNCMGFHVnBjaUJ2ZDI1Y2JpQWdMeThnWlhabGJuUWdaVzFwZEhSbGNpQnBiWEJzWlcxbGJuUmhkR2x2YmlCM2FYUm9JSFJvWlcwdVhHNGdJR2xtSUNoMGVYQmxiMllnWlcxcGRIUmxjaTV3Y21Wd1pXNWtUR2x6ZEdWdVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElISmxkSFZ5YmlCbGJXbDBkR1Z5TG5CeVpYQmxibVJNYVhOMFpXNWxjaWhsZG1WdWRDd2dabTRwTzF4dVhHNGdJQzh2SUZSb2FYTWdhWE1nWVNCb1lXTnJJSFJ2SUcxaGEyVWdjM1Z5WlNCMGFHRjBJRzkxY2lCbGNuSnZjaUJvWVc1a2JHVnlJR2x6SUdGMGRHRmphR1ZrSUdKbFptOXlaU0JoYm5sY2JpQWdMeThnZFhObGNteGhibVFnYjI1bGN5NGdJRTVGVmtWU0lFUlBJRlJJU1ZNdUlGUm9hWE1nYVhNZ2FHVnlaU0J2Ym14NUlHSmxZMkYxYzJVZ2RHaHBjeUJqYjJSbElHNWxaV1J6WEc0Z0lDOHZJSFJ2SUdOdmJuUnBiblZsSUhSdklIZHZjbXNnZDJsMGFDQnZiR1JsY2lCMlpYSnphVzl1Y3lCdlppQk9iMlJsTG1weklIUm9ZWFFnWkc4Z2JtOTBJR2x1WTJ4MVpHVmNiaUFnTHk4Z2RHaGxJSEJ5WlhCbGJtUk1hWE4wWlc1bGNpZ3BJRzFsZEdodlpDNGdWR2hsSUdkdllXd2dhWE1nZEc4Z1pYWmxiblIxWVd4c2VTQnlaVzF2ZG1VZ2RHaHBjeUJvWVdOckxseHVJQ0JwWmlBb0lXVnRhWFIwWlhJdVgyVjJaVzUwY3lCOGZDQWhaVzFwZEhSbGNpNWZaWFpsYm5SelcyVjJaVzUwWFNrZ1pXMXBkSFJsY2k1dmJpaGxkbVZ1ZEN3Z1ptNHBPMlZzYzJVZ2FXWWdLR2x6UVhKeVlYa29aVzFwZEhSbGNpNWZaWFpsYm5SelcyVjJaVzUwWFNrcElHVnRhWFIwWlhJdVgyVjJaVzUwYzF0bGRtVnVkRjB1ZFc1emFHbG1kQ2htYmlrN1pXeHpaU0JsYldsMGRHVnlMbDlsZG1WdWRITmJaWFpsYm5SZElEMGdXMlp1TENCbGJXbDBkR1Z5TGw5bGRtVnVkSE5iWlhabGJuUmRYVHRjYm4xY2JseHVablZ1WTNScGIyNGdVbVZoWkdGaWJHVlRkR0YwWlNodmNIUnBiMjV6TENCemRISmxZVzBwSUh0Y2JpQWdSSFZ3YkdWNElEMGdSSFZ3YkdWNElIeDhJSEpsY1hWcGNtVW9KeTR2WDNOMGNtVmhiVjlrZFhCc1pYZ25LVHRjYmx4dUlDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5QjhmQ0I3ZlR0Y2JseHVJQ0F2THlCRWRYQnNaWGdnYzNSeVpXRnRjeUJoY21VZ1ltOTBhQ0J5WldGa1lXSnNaU0JoYm1RZ2QzSnBkR0ZpYkdVc0lHSjFkQ0J6YUdGeVpWeHVJQ0F2THlCMGFHVWdjMkZ0WlNCdmNIUnBiMjV6SUc5aWFtVmpkQzVjYmlBZ0x5OGdTRzkzWlhabGNpd2djMjl0WlNCallYTmxjeUJ5WlhGMWFYSmxJSE5sZEhScGJtY2diM0IwYVc5dWN5QjBieUJrYVdabVpYSmxiblJjYmlBZ0x5OGdkbUZzZFdWeklHWnZjaUIwYUdVZ2NtVmhaR0ZpYkdVZ1lXNWtJSFJvWlNCM2NtbDBZV0pzWlNCemFXUmxjeUJ2WmlCMGFHVWdaSFZ3YkdWNElITjBjbVZoYlM1Y2JpQWdMeThnVkdobGMyVWdiM0IwYVc5dWN5QmpZVzRnWW1VZ2NISnZkbWxrWldRZ2MyVndZWEpoZEdWc2VTQmhjeUJ5WldGa1lXSnNaVmhZV0NCaGJtUWdkM0pwZEdGaWJHVllXRmd1WEc0Z0lIWmhjaUJwYzBSMWNHeGxlQ0E5SUhOMGNtVmhiU0JwYm5OMFlXNWpaVzltSUVSMWNHeGxlRHRjYmx4dUlDQXZMeUJ2WW1wbFkzUWdjM1J5WldGdElHWnNZV2N1SUZWelpXUWdkRzhnYldGclpTQnlaV0ZrS0c0cElHbG5ibTl5WlNCdUlHRnVaQ0IwYjF4dUlDQXZMeUJ0WVd0bElHRnNiQ0IwYUdVZ1luVm1abVZ5SUcxbGNtZHBibWNnWVc1a0lHeGxibWQwYUNCamFHVmphM01nWjI4Z1lYZGhlVnh1SUNCMGFHbHpMbTlpYW1WamRFMXZaR1VnUFNBaElXOXdkR2x2Ym5NdWIySnFaV04wVFc5a1pUdGNibHh1SUNCcFppQW9hWE5FZFhCc1pYZ3BJSFJvYVhNdWIySnFaV04wVFc5a1pTQTlJSFJvYVhNdWIySnFaV04wVFc5a1pTQjhmQ0FoSVc5d2RHbHZibk11Y21WaFpHRmliR1ZQWW1wbFkzUk5iMlJsTzF4dVhHNGdJQzh2SUhSb1pTQndiMmx1ZENCaGRDQjNhR2xqYUNCcGRDQnpkRzl3Y3lCallXeHNhVzVuSUY5eVpXRmtLQ2tnZEc4Z1ptbHNiQ0IwYUdVZ1luVm1abVZ5WEc0Z0lDOHZJRTV2ZEdVNklEQWdhWE1nWVNCMllXeHBaQ0IyWVd4MVpTd2diV1ZoYm5NZ1hDSmtiMjRuZENCallXeHNJRjl5WldGa0lIQnlaV1Z0Y0hScGRtVnNlU0JsZG1WeVhDSmNiaUFnZG1GeUlHaDNiU0E5SUc5d2RHbHZibk11YUdsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZG1GeUlISmxZV1JoWW14bFNIZHRJRDBnYjNCMGFXOXVjeTV5WldGa1lXSnNaVWhwWjJoWFlYUmxjazFoY21zN1hHNGdJSFpoY2lCa1pXWmhkV3gwU0hkdElEMGdkR2hwY3k1dlltcGxZM1JOYjJSbElEOGdNVFlnT2lBeE5pQXFJREV3TWpRN1hHNWNiaUFnYVdZZ0tHaDNiU0I4ZkNCb2QyMGdQVDA5SURBcElIUm9hWE11YUdsbmFGZGhkR1Z5VFdGeWF5QTlJR2gzYlR0bGJITmxJR2xtSUNocGMwUjFjR3hsZUNBbUppQW9jbVZoWkdGaWJHVklkMjBnZkh3Z2NtVmhaR0ZpYkdWSWQyMGdQVDA5SURBcEtTQjBhR2x6TG1ocFoyaFhZWFJsY2sxaGNtc2dQU0J5WldGa1lXSnNaVWgzYlR0bGJITmxJSFJvYVhNdWFHbG5hRmRoZEdWeVRXRnlheUE5SUdSbFptRjFiSFJJZDIwN1hHNWNiaUFnTHk4Z1kyRnpkQ0IwYnlCcGJuUnpMbHh1SUNCMGFHbHpMbWhwWjJoWFlYUmxjazFoY21zZ1BTQk5ZWFJvTG1ac2IyOXlLSFJvYVhNdWFHbG5hRmRoZEdWeVRXRnlheWs3WEc1Y2JpQWdMeThnUVNCc2FXNXJaV1FnYkdsemRDQnBjeUIxYzJWa0lIUnZJSE4wYjNKbElHUmhkR0VnWTJoMWJtdHpJR2x1YzNSbFlXUWdiMllnWVc0Z1lYSnlZWGtnWW1WallYVnpaU0IwYUdWY2JpQWdMeThnYkdsdWEyVmtJR3hwYzNRZ1kyRnVJSEpsYlc5MlpTQmxiR1Z0Wlc1MGN5Qm1jbTl0SUhSb1pTQmlaV2RwYm01cGJtY2dabUZ6ZEdWeUlIUm9ZVzVjYmlBZ0x5OGdZWEp5WVhrdWMyaHBablFvS1Z4dUlDQjBhR2x6TG1KMVptWmxjaUE5SUc1bGR5QkNkV1ptWlhKTWFYTjBLQ2s3WEc0Z0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JpQWdkR2hwY3k1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXVjR2x3WlhORGIzVnVkQ0E5SURBN1hHNGdJSFJvYVhNdVpteHZkMmx1WnlBOUlHNTFiR3c3WEc0Z0lIUm9hWE11Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxibVJGYldsMGRHVmtJRDBnWm1Gc2MyVTdYRzRnSUhSb2FYTXVjbVZoWkdsdVp5QTlJR1poYkhObE8xeHVYRzRnSUM4dklHRWdabXhoWnlCMGJ5QmlaU0JoWW14bElIUnZJSFJsYkd3Z2FXWWdkR2hsSUdWMlpXNTBJQ2R5WldGa1lXSnNaU2N2SjJSaGRHRW5JR2x6SUdWdGFYUjBaV1JjYmlBZ0x5OGdhVzF0WldScFlYUmxiSGtzSUc5eUlHOXVJR0VnYkdGMFpYSWdkR2xqYXk0Z0lGZGxJSE5sZENCMGFHbHpJSFJ2SUhSeWRXVWdZWFFnWm1seWMzUXNJR0psWTJGMWMyVmNiaUFnTHk4Z1lXNTVJR0ZqZEdsdmJuTWdkR2hoZENCemFHOTFiR1J1SjNRZ2FHRndjR1Z1SUhWdWRHbHNJRndpYkdGMFpYSmNJaUJ6YUc5MWJHUWdaMlZ1WlhKaGJHeDVJR0ZzYzI5Y2JpQWdMeThnYm05MElHaGhjSEJsYmlCaVpXWnZjbVVnZEdobElHWnBjbk4wSUhKbFlXUWdZMkZzYkM1Y2JpQWdkR2hwY3k1emVXNWpJRDBnZEhKMVpUdGNibHh1SUNBdkx5QjNhR1Z1WlhabGNpQjNaU0J5WlhSMWNtNGdiblZzYkN3Z2RHaGxiaUIzWlNCelpYUWdZU0JtYkdGbklIUnZJSE5oZVZ4dUlDQXZMeUIwYUdGMElIZGxKM0psSUdGM1lXbDBhVzVuSUdFZ0ozSmxZV1JoWW14bEp5QmxkbVZ1ZENCbGJXbHpjMmx2Ymk1Y2JpQWdkR2hwY3k1dVpXVmtVbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlHWmhiSE5sTzF4dUlDQjBhR2x6TG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0E5SUdaaGJITmxPMXh1WEc0Z0lDOHZJR2hoY3lCcGRDQmlaV1Z1SUdSbGMzUnliM2xsWkZ4dUlDQjBhR2x6TG1SbGMzUnliM2xsWkNBOUlHWmhiSE5sTzF4dVhHNGdJQzh2SUVOeWVYQjBieUJwY3lCcmFXNWtJRzltSUc5c1pDQmhibVFnWTNKMWMzUjVMaUFnU0dsemRHOXlhV05oYkd4NUxDQnBkSE1nWkdWbVlYVnNkQ0J6ZEhKcGJtZGNiaUFnTHk4Z1pXNWpiMlJwYm1jZ2FYTWdKMkpwYm1GeWVTY2djMjhnZDJVZ2FHRjJaU0IwYnlCdFlXdGxJSFJvYVhNZ1kyOXVabWxuZFhKaFlteGxMbHh1SUNBdkx5QkZkbVZ5ZVhSb2FXNW5JR1ZzYzJVZ2FXNGdkR2hsSUhWdWFYWmxjbk5sSUhWelpYTWdKM1YwWmpnbkxDQjBhRzkxWjJndVhHNGdJSFJvYVhNdVpHVm1ZWFZzZEVWdVkyOWthVzVuSUQwZ2IzQjBhVzl1Y3k1a1pXWmhkV3gwUlc1amIyUnBibWNnZkh3Z0ozVjBaamduTzF4dVhHNGdJQzh2SUhSb1pTQnVkVzFpWlhJZ2IyWWdkM0pwZEdWeWN5QjBhR0YwSUdGeVpTQmhkMkZwZEdsdVp5QmhJR1J5WVdsdUlHVjJaVzUwSUdsdUlDNXdhWEJsS0NselhHNGdJSFJvYVhNdVlYZGhhWFJFY21GcGJpQTlJREE3WEc1Y2JpQWdMeThnYVdZZ2RISjFaU3dnWVNCdFlYbGlaVkpsWVdSTmIzSmxJR2hoY3lCaVpXVnVJSE5qYUdWa2RXeGxaRnh1SUNCMGFHbHpMbkpsWVdScGJtZE5iM0psSUQwZ1ptRnNjMlU3WEc1Y2JpQWdkR2hwY3k1a1pXTnZaR1Z5SUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzRnSUdsbUlDaHZjSFJwYjI1ekxtVnVZMjlrYVc1bktTQjdYRzRnSUNBZ2FXWWdLQ0ZUZEhKcGJtZEVaV052WkdWeUtTQlRkSEpwYm1kRVpXTnZaR1Z5SUQwZ2NtVnhkV2x5WlNnbmMzUnlhVzVuWDJSbFkyOWtaWEl2SnlrdVUzUnlhVzVuUkdWamIyUmxjanRjYmlBZ0lDQjBhR2x6TG1SbFkyOWtaWElnUFNCdVpYY2dVM1J5YVc1blJHVmpiMlJsY2lodmNIUnBiMjV6TG1WdVkyOWthVzVuS1R0Y2JpQWdJQ0IwYUdsekxtVnVZMjlrYVc1bklEMGdiM0IwYVc5dWN5NWxibU52WkdsdVp6dGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJTWldGa1lXSnNaU2h2Y0hScGIyNXpLU0I3WEc0Z0lFUjFjR3hsZUNBOUlFUjFjR3hsZUNCOGZDQnlaWEYxYVhKbEtDY3VMMTl6ZEhKbFlXMWZaSFZ3YkdWNEp5azdYRzVjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRkpsWVdSaFlteGxLU2tnY21WMGRYSnVJRzVsZHlCU1pXRmtZV0pzWlNodmNIUnBiMjV6S1R0Y2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsSUQwZ2JtVjNJRkpsWVdSaFlteGxVM1JoZEdVb2IzQjBhVzl1Y3l3Z2RHaHBjeWs3WEc1Y2JpQWdMeThnYkdWbllXTjVYRzRnSUhSb2FYTXVjbVZoWkdGaWJHVWdQU0IwY25WbE8xeHVYRzRnSUdsbUlDaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZjSFJwYjI1ekxuSmxZV1FnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgzSmxZV1FnUFNCdmNIUnBiMjV6TG5KbFlXUTdYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVaR1Z6ZEhKdmVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2RHaHBjeTVmWkdWemRISnZlU0E5SUc5d2RHbHZibk11WkdWemRISnZlVHRjYmlBZ2ZWeHVYRzRnSUZOMGNtVmhiUzVqWVd4c0tIUm9hWE1wTzF4dWZWeHVYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1VtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5aR1Z6ZEhKdmVXVmtKeXdnZTF4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpEdGNiaUFnZlN4Y2JpQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2JpQWdJQ0F2THlCM1pTQnBaMjV2Y21VZ2RHaGxJSFpoYkhWbElHbG1JSFJvWlNCemRISmxZVzFjYmlBZ0lDQXZMeUJvWVhNZ2JtOTBJR0psWlc0Z2FXNXBkR2xoYkdsNlpXUWdlV1YwWEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ltRmphM2RoY21RZ1kyOXRjR0YwYVdKcGJHbDBlU3dnZEdobElIVnpaWElnYVhNZ1pYaHdiR2xqYVhSc2VWeHVJQ0FnSUM4dklHMWhibUZuYVc1bklHUmxjM1J5YjNsbFpGeHVJQ0FnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE8xeHVYRzVTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1WkdWemRISnZlU0E5SUdSbGMzUnliM2xKYlhCc0xtUmxjM1J5YjNrN1hHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVYM1Z1WkdWemRISnZlU0E5SUdSbGMzUnliM2xKYlhCc0xuVnVaR1Z6ZEhKdmVUdGNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVmWkdWemRISnZlU0E5SUdaMWJtTjBhVzl1SUNobGNuSXNJR05pS1NCN1hHNGdJSFJvYVhNdWNIVnphQ2h1ZFd4c0tUdGNiaUFnWTJJb1pYSnlLVHRjYm4wN1hHNWNiaTh2SUUxaGJuVmhiR3g1SUhOb2IzWmxJSE52YldWMGFHbHVaeUJwYm5SdklIUm9aU0J5WldGa0tDa2dZblZtWm1WeUxseHVMeThnVkdocGN5QnlaWFIxY201eklIUnlkV1VnYVdZZ2RHaGxJR2hwWjJoWFlYUmxjazFoY21zZ2FHRnpJRzV2ZENCaVpXVnVJR2hwZENCNVpYUXNYRzR2THlCemFXMXBiR0Z5SUhSdklHaHZkeUJYY21sMFlXSnNaUzUzY21sMFpTZ3BJSEpsZEhWeWJuTWdkSEoxWlNCcFppQjViM1VnYzJodmRXeGtYRzR2THlCM2NtbDBaU2dwSUhOdmJXVWdiVzl5WlM1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXdkWE5vSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVJQ0IyWVhJZ2MydHBjRU5vZFc1clEyaGxZMnM3WEc1Y2JpQWdhV1lnS0NGemRHRjBaUzV2WW1wbFkzUk5iMlJsS1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUE5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lHVnVZMjlrYVc1bklEMGdaVzVqYjJScGJtY2dmSHdnYzNSaGRHVXVaR1ZtWVhWc2RFVnVZMjlrYVc1bk8xeHVJQ0FnSUNBZ2FXWWdLR1Z1WTI5a2FXNW5JQ0U5UFNCemRHRjBaUzVsYm1OdlpHbHVaeWtnZTF4dUlDQWdJQ0FnSUNCamFIVnVheUE5SUVKMVptWmxjaTVtY205dEtHTm9kVzVyTENCbGJtTnZaR2x1WnlrN1hHNGdJQ0FnSUNBZ0lHVnVZMjlrYVc1bklEMGdKeWM3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6YTJsd1EyaDFibXREYUdWamF5QTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhOcmFYQkRhSFZ1YTBOb1pXTnJJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnlaV0ZrWVdKc1pVRmtaRU5vZFc1cktIUm9hWE1zSUdOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWm1Gc2MyVXNJSE5yYVhCRGFIVnVhME5vWldOcktUdGNibjA3WEc1Y2JpOHZJRlZ1YzJocFpuUWdjMmh2ZFd4a0lDcGhiSGRoZVhNcUlHSmxJSE52YldWMGFHbHVaeUJrYVhKbFkzUnNlU0J2ZFhRZ2IyWWdjbVZoWkNncFhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVkVzV6YUdsbWRDQTlJR1oxYm1OMGFXOXVJQ2hqYUhWdWF5a2dlMXh1SUNCeVpYUjFjbTRnY21WaFpHRmliR1ZCWkdSRGFIVnVheWgwYUdsekxDQmphSFZ1YXl3Z2JuVnNiQ3dnZEhKMVpTd2dabUZzYzJVcE8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2NtVmhaR0ZpYkdWQlpHUkRhSFZ1YXloemRISmxZVzBzSUdOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWVdSa1ZHOUdjbTl1ZEN3Z2MydHBjRU5vZFc1clEyaGxZMnNwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVJQ0JwWmlBb1kyaDFibXNnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J6ZEdGMFpTNXlaV0ZrYVc1bklEMGdabUZzYzJVN1hHNGdJQ0FnYjI1RmIyWkRhSFZ1YXloemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IyWVhJZ1pYSTdYRzRnSUNBZ2FXWWdLQ0Z6YTJsd1EyaDFibXREYUdWamF5a2daWElnUFNCamFIVnVhMGx1ZG1Gc2FXUW9jM1JoZEdVc0lHTm9kVzVyS1R0Y2JpQWdJQ0JwWmlBb1pYSXBJSHRjYmlBZ0lDQWdJSE4wY21WaGJTNWxiV2wwS0NkbGNuSnZjaWNzSUdWeUtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tITjBZWFJsTG05aWFtVmpkRTF2WkdVZ2ZId2dZMmgxYm1zZ0ppWWdZMmgxYm1zdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqYUhWdWF5QWhQVDBnSjNOMGNtbHVaeWNnSmlZZ0lYTjBZWFJsTG05aWFtVmpkRTF2WkdVZ0ppWWdUMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltS0dOb2RXNXJLU0FoUFQwZ1FuVm1abVZ5TG5CeWIzUnZkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQmphSFZ1YXlBOUlGOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSW9ZMmgxYm1zcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWVdSa1ZHOUdjbTl1ZENrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzNSaGRHVXVaVzVrUlcxcGRIUmxaQ2tnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z2JtVjNJRVZ5Y205eUtDZHpkSEpsWVcwdWRXNXphR2xtZENncElHRm1kR1Z5SUdWdVpDQmxkbVZ1ZENjcEtUdGxiSE5sSUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQjBjblZsS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQWdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z2JtVjNJRVZ5Y205eUtDZHpkSEpsWVcwdWNIVnphQ2dwSUdGbWRHVnlJRVZQUmljcEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lITjBZWFJsTG5KbFlXUnBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITjBZWFJsTG1SbFkyOWtaWElnSmlZZ0lXVnVZMjlrYVc1bktTQjdYRzRnSUNBZ0lDQWdJQ0FnWTJoMWJtc2dQU0J6ZEdGMFpTNWtaV052WkdWeUxuZHlhWFJsS0dOb2RXNXJLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9jM1JoZEdVdWIySnFaV04wVFc5a1pTQjhmQ0JqYUhWdWF5NXNaVzVuZEdnZ0lUMDlJREFwSUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQm1ZV3h6WlNrN1pXeHpaU0J0WVhsaVpWSmxZV1JOYjNKbEtITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHRmtaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZoWkdSVWIwWnliMjUwS1NCN1hHNGdJQ0FnSUNCemRHRjBaUzV5WldGa2FXNW5JRDBnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNWxaV1JOYjNKbFJHRjBZU2h6ZEdGMFpTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRmtaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JoWkdSVWIwWnliMjUwS1NCN1hHNGdJR2xtSUNoemRHRjBaUzVtYkc5M2FXNW5JQ1ltSUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNBbUppQWhjM1JoZEdVdWMzbHVZeWtnZTF4dUlDQWdJSE4wY21WaGJTNWxiV2wwS0Nka1lYUmhKeXdnWTJoMWJtc3BPMXh1SUNBZ0lITjBjbVZoYlM1eVpXRmtLREFwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklIVndaR0YwWlNCMGFHVWdZblZtWm1WeUlHbHVabTh1WEc0Z0lDQWdjM1JoZEdVdWJHVnVaM1JvSUNzOUlITjBZWFJsTG05aWFtVmpkRTF2WkdVZ1B5QXhJRG9nWTJoMWJtc3ViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGhaR1JVYjBaeWIyNTBLU0J6ZEdGMFpTNWlkV1ptWlhJdWRXNXphR2xtZENoamFIVnVheWs3Wld4elpTQnpkR0YwWlM1aWRXWm1aWEl1Y0hWemFDaGphSFZ1YXlrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxLU0JsYldsMFVtVmhaR0ZpYkdVb2MzUnlaV0Z0S1R0Y2JpQWdmVnh1SUNCdFlYbGlaVkpsWVdSTmIzSmxLSE4wY21WaGJTd2djM1JoZEdVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamFIVnVhMGx1ZG1Gc2FXUW9jM1JoZEdVc0lHTm9kVzVyS1NCN1hHNGdJSFpoY2lCbGNqdGNiaUFnYVdZZ0tDRmZhWE5WYVc1ME9FRnljbUY1S0dOb2RXNXJLU0FtSmlCMGVYQmxiMllnWTJoMWJtc2dJVDA5SUNkemRISnBibWNuSUNZbUlHTm9kVzVySUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VwSUh0Y2JpQWdJQ0JsY2lBOUlHNWxkeUJVZVhCbFJYSnliM0lvSjBsdWRtRnNhV1FnYm05dUxYTjBjbWx1Wnk5aWRXWm1aWElnWTJoMWJtc25LVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdaWEk3WEc1OVhHNWNiaTh2SUdsbUlHbDBKM01nY0dGemRDQjBhR1VnYUdsbmFDQjNZWFJsY2lCdFlYSnJMQ0IzWlNCallXNGdjSFZ6YUNCcGJpQnpiMjFsSUcxdmNtVXVYRzR2THlCQmJITnZMQ0JwWmlCM1pTQm9ZWFpsSUc1dklHUmhkR0VnZVdWMExDQjNaU0JqWVc0Z2MzUmhibVFnYzI5dFpWeHVMeThnYlc5eVpTQmllWFJsY3k0Z0lGUm9hWE1nYVhNZ2RHOGdkMjl5YXlCaGNtOTFibVFnWTJGelpYTWdkMmhsY21VZ2FIZHRQVEFzWEc0dkx5QnpkV05vSUdGeklIUm9aU0J5WlhCc0xpQWdRV3h6Ynl3Z2FXWWdkR2hsSUhCMWMyZ29LU0IwY21sbloyVnlaV1FnWVZ4dUx5OGdjbVZoWkdGaWJHVWdaWFpsYm5Rc0lHRnVaQ0IwYUdVZ2RYTmxjaUJqWVd4c1pXUWdjbVZoWkNoc1lYSm5aVTUxYldKbGNpa2djM1ZqYUNCMGFHRjBYRzR2THlCdVpXVmtVbVZoWkdGaWJHVWdkMkZ6SUhObGRDd2dkR2hsYmlCM1pTQnZkV2RvZENCMGJ5QndkWE5vSUcxdmNtVXNJSE52SUhSb1lYUWdZVzV2ZEdobGNseHVMeThnSjNKbFlXUmhZbXhsSnlCbGRtVnVkQ0IzYVd4c0lHSmxJSFJ5YVdkblpYSmxaQzVjYm1aMWJtTjBhVzl1SUc1bFpXUk5iM0psUkdGMFlTaHpkR0YwWlNrZ2UxeHVJQ0J5WlhSMWNtNGdJWE4wWVhSbExtVnVaR1ZrSUNZbUlDaHpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVWdmSHdnYzNSaGRHVXViR1Z1WjNSb0lEd2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUI4ZkNCemRHRjBaUzVzWlc1bmRHZ2dQVDA5SURBcE8xeHVmVnh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWFYTlFZWFZ6WldRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtWnNiM2RwYm1jZ1BUMDlJR1poYkhObE8xeHVmVHRjYmx4dUx5OGdZbUZqYTNkaGNtUnpJR052YlhCaGRHbGlhV3hwZEhrdVhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVjMlYwUlc1amIyUnBibWNnUFNCbWRXNWpkR2x2YmlBb1pXNWpLU0I3WEc0Z0lHbG1JQ2doVTNSeWFXNW5SR1ZqYjJSbGNpa2dVM1J5YVc1blJHVmpiMlJsY2lBOUlISmxjWFZwY21Vb0ozTjBjbWx1WjE5a1pXTnZaR1Z5THljcExsTjBjbWx1WjBSbFkyOWtaWEk3WEc0Z0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaR1ZqYjJSbGNpQTlJRzVsZHlCVGRISnBibWRFWldOdlpHVnlLR1Z1WXlrN1hHNGdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wlc1amIyUnBibWNnUFNCbGJtTTdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dUx5OGdSRzl1SjNRZ2NtRnBjMlVnZEdobElHaDNiU0ErSURoTlFseHVkbUZ5SUUxQldGOUlWMDBnUFNBd2VEZ3dNREF3TUR0Y2JtWjFibU4wYVc5dUlHTnZiWEIxZEdWT1pYZElhV2RvVjJGMFpYSk5ZWEpyS0c0cElIdGNiaUFnYVdZZ0tHNGdQajBnVFVGWVgwaFhUU2tnZTF4dUlDQWdJRzRnUFNCTlFWaGZTRmROTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFZGxkQ0IwYUdVZ2JtVjRkQ0JvYVdkb1pYTjBJSEJ2ZDJWeUlHOW1JRElnZEc4Z2NISmxkbVZ1ZENCcGJtTnlaV0Z6YVc1bklHaDNiU0JsZUdObGMzTnBkbVZzZVNCcGJseHVJQ0FnSUM4dklIUnBibmtnWVcxdmRXNTBjMXh1SUNBZ0lHNHRMVHRjYmlBZ0lDQnVJSHc5SUc0Z1BqNCtJREU3WEc0Z0lDQWdiaUI4UFNCdUlENCtQaUF5TzF4dUlDQWdJRzRnZkQwZ2JpQStQajRnTkR0Y2JpQWdJQ0J1SUh3OUlHNGdQajQrSURnN1hHNGdJQ0FnYmlCOFBTQnVJRDQrUGlBeE5qdGNiaUFnSUNCdUt5czdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHNDdYRzU5WEc1Y2JpOHZJRlJvYVhNZ1puVnVZM1JwYjI0Z2FYTWdaR1Z6YVdkdVpXUWdkRzhnWW1VZ2FXNXNhVzVoWW14bExDQnpieUJ3YkdWaGMyVWdkR0ZyWlNCallYSmxJSGRvWlc0Z2JXRnJhVzVuWEc0dkx5QmphR0Z1WjJWeklIUnZJSFJvWlNCbWRXNWpkR2x2YmlCaWIyUjVMbHh1Wm5WdVkzUnBiMjRnYUc5M1RYVmphRlJ2VW1WaFpDaHVMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9iaUE4UFNBd0lIeDhJSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ0FtSmlCemRHRjBaUzVsYm1SbFpDa2djbVYwZFhKdUlEQTdYRzRnSUdsbUlDaHpkR0YwWlM1dlltcGxZM1JOYjJSbEtTQnlaWFIxY200Z01UdGNiaUFnYVdZZ0tHNGdJVDA5SUc0cElIdGNiaUFnSUNBdkx5QlBibXg1SUdac2IzY2diMjVsSUdKMVptWmxjaUJoZENCaElIUnBiV1ZjYmlBZ0lDQnBaaUFvYzNSaGRHVXVabXh2ZDJsdVp5QW1KaUJ6ZEdGMFpTNXNaVzVuZEdncElISmxkSFZ5YmlCemRHRjBaUzVpZFdabVpYSXVhR1ZoWkM1a1lYUmhMbXhsYm1kMGFEdGxiSE5sSUhKbGRIVnliaUJ6ZEdGMFpTNXNaVzVuZEdnN1hHNGdJSDFjYmlBZ0x5OGdTV1lnZDJVbmNtVWdZWE5yYVc1bklHWnZjaUJ0YjNKbElIUm9ZVzRnZEdobElHTjFjbkpsYm5RZ2FIZHRMQ0IwYUdWdUlISmhhWE5sSUhSb1pTQm9kMjB1WEc0Z0lHbG1JQ2h1SUQ0Z2MzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF5a2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUE5SUdOdmJYQjFkR1ZPWlhkSWFXZG9WMkYwWlhKTllYSnJLRzRwTzF4dUlDQnBaaUFvYmlBOFBTQnpkR0YwWlM1c1pXNW5kR2dwSUhKbGRIVnliaUJ1TzF4dUlDQXZMeUJFYjI0bmRDQm9ZWFpsSUdWdWIzVm5hRnh1SUNCcFppQW9JWE4wWVhSbExtVnVaR1ZrS1NCN1hHNGdJQ0FnYzNSaGRHVXVibVZsWkZKbFlXUmhZbXhsSUQwZ2RISjFaVHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2MzUmhkR1V1YkdWdVozUm9PMXh1ZlZ4dVhHNHZMeUI1YjNVZ1kyRnVJRzkyWlhKeWFXUmxJR1ZwZEdobGNpQjBhR2x6SUcxbGRHaHZaQ3dnYjNJZ2RHaGxJR0Z6ZVc1aklGOXlaV0ZrS0c0cElHSmxiRzkzTGx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuSmxZV1FnUFNCbWRXNWpkR2x2YmlBb2Jpa2dlMXh1SUNCa1pXSjFaeWduY21WaFpDY3NJRzRwTzF4dUlDQnVJRDBnY0dGeWMyVkpiblFvYml3Z01UQXBPMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdiazl5YVdjZ1BTQnVPMXh1WEc0Z0lHbG1JQ2h1SUNFOVBTQXdLU0J6ZEdGMFpTNWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCcFppQjNaU2R5WlNCa2IybHVaeUJ5WldGa0tEQXBJSFJ2SUhSeWFXZG5aWElnWVNCeVpXRmtZV0pzWlNCbGRtVnVkQ3dnWW5WMElIZGxYRzRnSUM4dklHRnNjbVZoWkhrZ2FHRjJaU0JoSUdKMWJtTm9JRzltSUdSaGRHRWdhVzRnZEdobElHSjFabVpsY2l3Z2RHaGxiaUJxZFhOMElIUnlhV2RuWlhKY2JpQWdMeThnZEdobElDZHlaV0ZrWVdKc1pTY2daWFpsYm5RZ1lXNWtJRzF2ZG1VZ2IyNHVYRzRnSUdsbUlDaHVJRDA5UFNBd0lDWW1JSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0FtSmlBb2MzUmhkR1V1YkdWdVozUm9JRDQ5SUhOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zZ2ZId2djM1JoZEdVdVpXNWtaV1FwS1NCN1hHNGdJQ0FnWkdWaWRXY29KM0psWVdRNklHVnRhWFJTWldGa1lXSnNaU2NzSUhOMFlYUmxMbXhsYm1kMGFDd2djM1JoZEdVdVpXNWtaV1FwTzF4dUlDQWdJR2xtSUNoemRHRjBaUzVzWlc1bmRHZ2dQVDA5SURBZ0ppWWdjM1JoZEdVdVpXNWtaV1FwSUdWdVpGSmxZV1JoWW14bEtIUm9hWE1wTzJWc2MyVWdaVzFwZEZKbFlXUmhZbXhsS0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYmlBOUlHaHZkMDExWTJoVWIxSmxZV1FvYml3Z2MzUmhkR1VwTzF4dVhHNGdJQzh2SUdsbUlIZGxKM1psSUdWdVpHVmtMQ0JoYm1RZ2QyVW5jbVVnYm05M0lHTnNaV0Z5TENCMGFHVnVJR1pwYm1semFDQnBkQ0IxY0M1Y2JpQWdhV1lnS0c0Z1BUMDlJREFnSmlZZ2MzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCbGJtUlNaV0ZrWVdKc1pTaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHZJRUZzYkNCMGFHVWdZV04wZFdGc0lHTm9kVzVySUdkbGJtVnlZWFJwYjI0Z2JHOW5hV01nYm1WbFpITWdkRzhnWW1WY2JpQWdMeThnS21KbGJHOTNLaUIwYUdVZ1kyRnNiQ0IwYnlCZmNtVmhaQzRnSUZSb1pTQnlaV0Z6YjI0Z2FYTWdkR2hoZENCcGJpQmpaWEowWVdsdVhHNGdJQzh2SUhONWJuUm9aWFJwWXlCemRISmxZVzBnWTJGelpYTXNJSE4xWTJnZ1lYTWdjR0Z6YzNSb2NtOTFaMmdnYzNSeVpXRnRjeXdnWDNKbFlXUmNiaUFnTHk4Z2JXRjVJR0psSUdFZ1kyOXRjR3hsZEdWc2VTQnplVzVqYUhKdmJtOTFjeUJ2Y0dWeVlYUnBiMjRnZDJocFkyZ2diV0Y1SUdOb1lXNW5aVnh1SUNBdkx5QjBhR1VnYzNSaGRHVWdiMllnZEdobElISmxZV1FnWW5WbVptVnlMQ0J3Y205MmFXUnBibWNnWlc1dmRXZG9JR1JoZEdFZ2QyaGxibHh1SUNBdkx5QmlaV1p2Y21VZ2RHaGxjbVVnZDJGeklDcHViM1FxSUdWdWIzVm5hQzVjYmlBZ0x5OWNiaUFnTHk4Z1UyOHNJSFJvWlNCemRHVndjeUJoY21VNlhHNGdJQzh2SURFdUlFWnBaM1Z5WlNCdmRYUWdkMmhoZENCMGFHVWdjM1JoZEdVZ2IyWWdkR2hwYm1keklIZHBiR3dnWW1VZ1lXWjBaWElnZDJVZ1pHOWNiaUFnTHk4Z1lTQnlaV0ZrSUdaeWIyMGdkR2hsSUdKMVptWmxjaTVjYmlBZ0x5OWNiaUFnTHk4Z01pNGdTV1lnZEdoaGRDQnlaWE4xYkhScGJtY2djM1JoZEdVZ2QybHNiQ0IwY21sbloyVnlJR0VnWDNKbFlXUXNJSFJvWlc0Z1kyRnNiQ0JmY21WaFpDNWNiaUFnTHk4Z1RtOTBaU0IwYUdGMElIUm9hWE1nYldGNUlHSmxJR0Z6ZVc1amFISnZibTkxY3l3Z2IzSWdjM2x1WTJoeWIyNXZkWE11SUNCWlpYTXNJR2wwSUdselhHNGdJQzh2SUdSbFpYQnNlU0IxWjJ4NUlIUnZJSGR5YVhSbElFRlFTWE1nZEdocGN5QjNZWGtzSUdKMWRDQjBhR0YwSUhOMGFXeHNJR1J2WlhOdUozUWdiV1ZoYmx4dUlDQXZMeUIwYUdGMElIUm9aU0JTWldGa1lXSnNaU0JqYkdGemN5QnphRzkxYkdRZ1ltVm9ZWFpsSUdsdGNISnZjR1Z5Ykhrc0lHRnpJSE4wY21WaGJYTWdZWEpsWEc0Z0lDOHZJR1JsYzJsbmJtVmtJSFJ2SUdKbElITjVibU12WVhONWJtTWdZV2R1YjNOMGFXTXVYRzRnSUM4dklGUmhhMlVnYm05MFpTQnBaaUIwYUdVZ1gzSmxZV1FnWTJGc2JDQnBjeUJ6ZVc1aklHOXlJR0Z6ZVc1aklDaHBaU3dnYVdZZ2RHaGxJSEpsWVdRZ1kyRnNiRnh1SUNBdkx5Qm9ZWE1nY21WMGRYSnVaV1FnZVdWMEtTd2djMjhnZEdoaGRDQjNaU0JyYm05M0lIZG9aWFJvWlhJZ2IzSWdibTkwSUdsMEozTWdjMkZtWlNCMGJ5QmxiV2wwWEc0Z0lDOHZJQ2R5WldGa1lXSnNaU2NnWlhSakxseHVJQ0F2TDF4dUlDQXZMeUF6TGlCQlkzUjFZV3hzZVNCd2RXeHNJSFJvWlNCeVpYRjFaWE4wWldRZ1kyaDFibXR6SUc5MWRDQnZaaUIwYUdVZ1luVm1abVZ5SUdGdVpDQnlaWFIxY200dVhHNWNiaUFnTHk4Z2FXWWdkMlVnYm1WbFpDQmhJSEpsWVdSaFlteGxJR1YyWlc1MExDQjBhR1Z1SUhkbElHNWxaV1FnZEc4Z1pHOGdjMjl0WlNCeVpXRmthVzVuTGx4dUlDQjJZWElnWkc5U1pXRmtJRDBnYzNSaGRHVXVibVZsWkZKbFlXUmhZbXhsTzF4dUlDQmtaV0oxWnlnbmJtVmxaQ0J5WldGa1lXSnNaU2NzSUdSdlVtVmhaQ2s3WEc1Y2JpQWdMeThnYVdZZ2QyVWdZM1Z5Y21WdWRHeDVJR2hoZG1VZ2JHVnpjeUIwYUdGdUlIUm9aU0JvYVdkb1YyRjBaWEpOWVhKckxDQjBhR1Z1SUdGc2MyOGdjbVZoWkNCemIyMWxYRzRnSUdsbUlDaHpkR0YwWlM1c1pXNW5kR2dnUFQwOUlEQWdmSHdnYzNSaGRHVXViR1Z1WjNSb0lDMGdiaUE4SUhOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zcElIdGNiaUFnSUNCa2IxSmxZV1FnUFNCMGNuVmxPMXh1SUNBZ0lHUmxZblZuS0Nkc1pXNW5kR2dnYkdWemN5QjBhR0Z1SUhkaGRHVnliV0Z5YXljc0lHUnZVbVZoWkNrN1hHNGdJSDFjYmx4dUlDQXZMeUJvYjNkbGRtVnlMQ0JwWmlCM1pTZDJaU0JsYm1SbFpDd2dkR2hsYmlCMGFHVnlaU2R6SUc1dklIQnZhVzUwTENCaGJtUWdhV1lnZDJVbmNtVWdZV3h5WldGa2VWeHVJQ0F2THlCeVpXRmthVzVuTENCMGFHVnVJR2wwSjNNZ2RXNXVaV05sYzNOaGNua3VYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUmxaQ0I4ZkNCemRHRjBaUzV5WldGa2FXNW5LU0I3WEc0Z0lDQWdaRzlTWldGa0lEMGdabUZzYzJVN1hHNGdJQ0FnWkdWaWRXY29KM0psWVdScGJtY2diM0lnWlc1a1pXUW5MQ0JrYjFKbFlXUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHUnZVbVZoWkNrZ2UxeHVJQ0FnSUdSbFluVm5LQ2RrYnlCeVpXRmtKeWs3WEc0Z0lDQWdjM1JoZEdVdWNtVmhaR2x1WnlBOUlIUnlkV1U3WEc0Z0lDQWdjM1JoZEdVdWMzbHVZeUE5SUhSeWRXVTdYRzRnSUNBZ0x5OGdhV1lnZEdobElHeGxibWQwYUNCcGN5QmpkWEp5Wlc1MGJIa2dlbVZ5Ynl3Z2RHaGxiaUIzWlNBcWJtVmxaQ29nWVNCeVpXRmtZV0pzWlNCbGRtVnVkQzVjYmlBZ0lDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCemRHRjBaUzV1WldWa1VtVmhaR0ZpYkdVZ1BTQjBjblZsTzF4dUlDQWdJQzh2SUdOaGJHd2dhVzUwWlhKdVlXd2djbVZoWkNCdFpYUm9iMlJjYmlBZ0lDQjBhR2x6TGw5eVpXRmtLSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dUlDQWdJSE4wWVhSbExuTjVibU1nUFNCbVlXeHpaVHRjYmlBZ0lDQXZMeUJKWmlCZmNtVmhaQ0J3ZFhOb1pXUWdaR0YwWVNCemVXNWphSEp2Ym05MWMyeDVMQ0IwYUdWdUlHQnlaV0ZrYVc1bllDQjNhV3hzSUdKbElHWmhiSE5sTEZ4dUlDQWdJQzh2SUdGdVpDQjNaU0J1WldWa0lIUnZJSEpsTFdWMllXeDFZWFJsSUdodmR5QnRkV05vSUdSaGRHRWdkMlVnWTJGdUlISmxkSFZ5YmlCMGJ5QjBhR1VnZFhObGNpNWNiaUFnSUNCcFppQW9JWE4wWVhSbExuSmxZV1JwYm1jcElHNGdQU0JvYjNkTmRXTm9WRzlTWldGa0tHNVBjbWxuTENCemRHRjBaU2s3WEc0Z0lIMWNibHh1SUNCMllYSWdjbVYwTzF4dUlDQnBaaUFvYmlBK0lEQXBJSEpsZENBOUlHWnliMjFNYVhOMEtHNHNJSE4wWVhSbEtUdGxiSE5sSUhKbGRDQTlJRzUxYkd3N1hHNWNiaUFnYVdZZ0tISmxkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdYRzRnSUNBZ2JpQTlJREE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYzNSaGRHVXViR1Z1WjNSb0lDMDlJRzQ3WEc0Z0lIMWNibHh1SUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdMeThnU1dZZ2QyVWdhR0YyWlNCdWIzUm9hVzVuSUdsdUlIUm9aU0JpZFdabVpYSXNJSFJvWlc0Z2QyVWdkMkZ1ZENCMGJ5QnJibTkzWEc0Z0lDQWdMeThnWVhNZ2MyOXZiaUJoY3lCM1pTQXFaRzhxSUdkbGRDQnpiMjFsZEdocGJtY2dhVzUwYnlCMGFHVWdZblZtWm1WeUxseHVJQ0FnSUdsbUlDZ2hjM1JoZEdVdVpXNWtaV1FwSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0F2THlCSlppQjNaU0IwY21sbFpDQjBieUJ5WldGa0tDa2djR0Z6ZENCMGFHVWdSVTlHTENCMGFHVnVJR1Z0YVhRZ1pXNWtJRzl1SUhSb1pTQnVaWGgwSUhScFkyc3VYRzRnSUNBZ2FXWWdLRzVQY21sbklDRTlQU0J1SUNZbUlITjBZWFJsTG1WdVpHVmtLU0JsYm1SU1pXRmtZV0pzWlNoMGFHbHpLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHlaWFFnSVQwOUlHNTFiR3dwSUhSb2FYTXVaVzFwZENnblpHRjBZU2NzSUhKbGRDazdYRzVjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlHOXVSVzltUTJoMWJtc29jM1J5WldGdExDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb2MzUmhkR1V1Wlc1a1pXUXBJSEpsZEhWeWJqdGNiaUFnYVdZZ0tITjBZWFJsTG1SbFkyOWtaWElwSUh0Y2JpQWdJQ0IyWVhJZ1kyaDFibXNnUFNCemRHRjBaUzVrWldOdlpHVnlMbVZ1WkNncE8xeHVJQ0FnSUdsbUlDaGphSFZ1YXlBbUppQmphSFZ1YXk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbUoxWm1abGNpNXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQWdJSE4wWVhSbExteGxibWQwYUNBclBTQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNU0E2SUdOb2RXNXJMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2MzUmhkR1V1Wlc1a1pXUWdQU0IwY25WbE8xeHVYRzRnSUM4dklHVnRhWFFnSjNKbFlXUmhZbXhsSnlCdWIzY2dkRzhnYldGclpTQnpkWEpsSUdsMElHZGxkSE1nY0dsamEyVmtJSFZ3TGx4dUlDQmxiV2wwVW1WaFpHRmliR1VvYzNSeVpXRnRLVHRjYm4xY2JseHVMeThnUkc5dUozUWdaVzFwZENCeVpXRmtZV0pzWlNCeWFXZG9kQ0JoZDJGNUlHbHVJSE41Ym1NZ2JXOWtaU3dnWW1WallYVnpaU0IwYUdseklHTmhiaUIwY21sbloyVnlYRzR2THlCaGJtOTBhR1Z5SUhKbFlXUW9LU0JqWVd4c0lEMCtJSE4wWVdOcklHOTJaWEptYkc5M0xpQWdWR2hwY3lCM1lYa3NJR2wwSUcxcFoyaDBJSFJ5YVdkblpYSmNiaTh2SUdFZ2JtVjRkRlJwWTJzZ2NtVmpkWEp6YVc5dUlIZGhjbTVwYm1jc0lHSjFkQ0IwYUdGMEozTWdibTkwSUhOdklHSmhaQzVjYm1aMWJtTjBhVzl1SUdWdGFYUlNaV0ZrWVdKc1pTaHpkSEpsWVcwcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCemRHRjBaUzV1WldWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdhV1lnS0NGemRHRjBaUzVsYldsMGRHVmtVbVZoWkdGaWJHVXBJSHRjYmlBZ0lDQmtaV0oxWnlnblpXMXBkRkpsWVdSaFlteGxKeXdnYzNSaGRHVXVabXh2ZDJsdVp5azdYRzRnSUNBZ2MzUmhkR1V1WlcxcGRIUmxaRkpsWVdSaFlteGxJRDBnZEhKMVpUdGNiaUFnSUNCcFppQW9jM1JoZEdVdWMzbHVZeWtnY0c1aExtNWxlSFJVYVdOcktHVnRhWFJTWldGa1lXSnNaVjhzSUhOMGNtVmhiU2s3Wld4elpTQmxiV2wwVW1WaFpHRmliR1ZmS0hOMGNtVmhiU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRkpsWVdSaFlteGxYeWh6ZEhKbFlXMHBJSHRjYmlBZ1pHVmlkV2NvSjJWdGFYUWdjbVZoWkdGaWJHVW5LVHRjYmlBZ2MzUnlaV0Z0TG1WdGFYUW9KM0psWVdSaFlteGxKeWs3WEc0Z0lHWnNiM2NvYzNSeVpXRnRLVHRjYm4xY2JseHVMeThnWVhRZ2RHaHBjeUJ3YjJsdWRDd2dkR2hsSUhWelpYSWdhR0Z6SUhCeVpYTjFiV0ZpYkhrZ2MyVmxiaUIwYUdVZ0ozSmxZV1JoWW14bEp5QmxkbVZ1ZEN4Y2JpOHZJR0Z1WkNCallXeHNaV1FnY21WaFpDZ3BJSFJ2SUdOdmJuTjFiV1VnYzI5dFpTQmtZWFJoTGlBZ2RHaGhkQ0J0WVhrZ2FHRjJaU0IwY21sbloyVnlaV1JjYmk4dklHbHVJSFIxY200Z1lXNXZkR2hsY2lCZmNtVmhaQ2h1S1NCallXeHNMQ0JwYmlCM2FHbGphQ0JqWVhObElISmxZV1JwYm1jZ1BTQjBjblZsSUdsbVhHNHZMeUJwZENkeklHbHVJSEJ5YjJkeVpYTnpMbHh1THk4Z1NHOTNaWFpsY2l3Z2FXWWdkMlVuY21VZ2JtOTBJR1Z1WkdWa0xDQnZjaUJ5WldGa2FXNW5MQ0JoYm1RZ2RHaGxJR3hsYm1kMGFDQThJR2gzYlN4Y2JpOHZJSFJvWlc0Z1oyOGdZV2hsWVdRZ1lXNWtJSFJ5ZVNCMGJ5QnlaV0ZrSUhOdmJXVWdiVzl5WlNCd2NtVmxiWEIwYVhabGJIa3VYRzVtZFc1amRHbHZiaUJ0WVhsaVpWSmxZV1JOYjNKbEtITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdhV1lnS0NGemRHRjBaUzV5WldGa2FXNW5UVzl5WlNrZ2UxeHVJQ0FnSUhOMFlYUmxMbkpsWVdScGJtZE5iM0psSUQwZ2RISjFaVHRjYmlBZ0lDQndibUV1Ym1WNGRGUnBZMnNvYldGNVltVlNaV0ZrVFc5eVpWOHNJSE4wY21WaGJTd2djM1JoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFVtVmhaRTF2Y21WZktITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJSE4wWVhSbExteGxibWQwYUR0Y2JpQWdkMmhwYkdVZ0tDRnpkR0YwWlM1eVpXRmthVzVuSUNZbUlDRnpkR0YwWlM1bWJHOTNhVzVuSUNZbUlDRnpkR0YwWlM1bGJtUmxaQ0FtSmlCemRHRjBaUzVzWlc1bmRHZ2dQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyS1NCN1hHNGdJQ0FnWkdWaWRXY29KMjFoZVdKbFVtVmhaRTF2Y21VZ2NtVmhaQ0F3SnlrN1hHNGdJQ0FnYzNSeVpXRnRMbkpsWVdRb01DazdYRzRnSUNBZ2FXWWdLR3hsYmlBOVBUMGdjM1JoZEdVdWJHVnVaM1JvS1Z4dUlDQWdJQ0FnTHk4Z1pHbGtiaWQwSUdkbGRDQmhibmtnWkdGMFlTd2djM1J2Y0NCemNHbHVibWx1Wnk1Y2JpQWdJQ0FnSUdKeVpXRnJPMlZzYzJVZ2JHVnVJRDBnYzNSaGRHVXViR1Z1WjNSb08xeHVJQ0I5WEc0Z0lITjBZWFJsTG5KbFlXUnBibWROYjNKbElEMGdabUZzYzJVN1hHNTlYRzVjYmk4dklHRmljM1J5WVdOMElHMWxkR2h2WkM0Z0lIUnZJR0psSUc5MlpYSnlhV1JrWlc0Z2FXNGdjM0JsWTJsbWFXTWdhVzF3YkdWdFpXNTBZWFJwYjI0Z1kyeGhjM05sY3k1Y2JpOHZJR05oYkd3Z1kySW9aWElzSUdSaGRHRXBJSGRvWlhKbElHUmhkR0VnYVhNZ1BEMGdiaUJwYmlCc1pXNW5kR2d1WEc0dkx5Qm1iM0lnZG1seWRIVmhiQ0FvYm05dUxYTjBjbWx1Wnl3Z2JtOXVMV0oxWm1abGNpa2djM1J5WldGdGN5d2dYQ0pzWlc1bmRHaGNJaUJwY3lCemIyMWxkMmhoZEZ4dUx5OGdZWEppYVhSeVlYSjVMQ0JoYm1RZ2NHVnlhR0Z3Y3lCdWIzUWdkbVZ5ZVNCdFpXRnVhVzVuWm5Wc0xseHVVbVZoWkdGaWJHVXVjSEp2ZEc5MGVYQmxMbDl5WldGa0lEMGdablZ1WTNScGIyNGdLRzRwSUh0Y2JpQWdkR2hwY3k1bGJXbDBLQ2RsY25KdmNpY3NJRzVsZHlCRmNuSnZjaWduWDNKbFlXUW9LU0JwY3lCdWIzUWdhVzF3YkdWdFpXNTBaV1FuS1NrN1hHNTlPMXh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWNHbHdaU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBMQ0J3YVhCbFQzQjBjeWtnZTF4dUlDQjJZWElnYzNKaklEMGdkR2hwY3p0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlR0Y2JseHVJQ0J6ZDJsMFkyZ2dLSE4wWVhSbExuQnBjR1Z6UTI5MWJuUXBJSHRjYmlBZ0lDQmpZWE5sSURBNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5QTlJR1JsYzNRN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQmpZWE5sSURFNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5QTlJRnR6ZEdGMFpTNXdhWEJsY3l3Z1pHVnpkRjA3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnYzNSaGRHVXVjR2x3WlhNdWNIVnphQ2hrWlhOMEtUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQjlYRzRnSUhOMFlYUmxMbkJwY0dWelEyOTFiblFnS3owZ01UdGNiaUFnWkdWaWRXY29KM0JwY0dVZ1kyOTFiblE5SldRZ2IzQjBjejBsYWljc0lITjBZWFJsTG5CcGNHVnpRMjkxYm5Rc0lIQnBjR1ZQY0hSektUdGNibHh1SUNCMllYSWdaRzlGYm1RZ1BTQW9JWEJwY0dWUGNIUnpJSHg4SUhCcGNHVlBjSFJ6TG1WdVpDQWhQVDBnWm1Gc2MyVXBJQ1ltSUdSbGMzUWdJVDA5SUhCeWIyTmxjM011YzNSa2IzVjBJQ1ltSUdSbGMzUWdJVDA5SUhCeWIyTmxjM011YzNSa1pYSnlPMXh1WEc0Z0lIWmhjaUJsYm1SR2JpQTlJR1J2Ulc1a0lEOGdiMjVsYm1RZ09pQjFibkJwY0dVN1hHNGdJR2xtSUNoemRHRjBaUzVsYm1SRmJXbDBkR1ZrS1NCd2JtRXVibVY0ZEZScFkyc29aVzVrUm00cE8yVnNjMlVnYzNKakxtOXVZMlVvSjJWdVpDY3NJR1Z1WkVadUtUdGNibHh1SUNCa1pYTjBMbTl1S0NkMWJuQnBjR1VuTENCdmJuVnVjR2x3WlNrN1hHNGdJR1oxYm1OMGFXOXVJRzl1ZFc1d2FYQmxLSEpsWVdSaFlteGxMQ0IxYm5CcGNHVkpibVp2S1NCN1hHNGdJQ0FnWkdWaWRXY29KMjl1ZFc1d2FYQmxKeWs3WEc0Z0lDQWdhV1lnS0hKbFlXUmhZbXhsSUQwOVBTQnpjbU1wSUh0Y2JpQWdJQ0FnSUdsbUlDaDFibkJwY0dWSmJtWnZJQ1ltSUhWdWNHbHdaVWx1Wm04dWFHRnpWVzV3YVhCbFpDQTlQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQWdJQ0FnZFc1d2FYQmxTVzVtYnk1b1lYTlZibkJwY0dWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ1kyeGxZVzUxY0NncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHOXVaVzVrS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R2Ym1WdVpDY3BPMXh1SUNBZ0lHUmxjM1F1Wlc1a0tDazdYRzRnSUgxY2JseHVJQ0F2THlCM2FHVnVJSFJvWlNCa1pYTjBJR1J5WVdsdWN5d2dhWFFnY21Wa2RXTmxjeUIwYUdVZ1lYZGhhWFJFY21GcGJpQmpiM1Z1ZEdWeVhHNGdJQzh2SUc5dUlIUm9aU0J6YjNWeVkyVXVJQ0JVYUdseklIZHZkV3hrSUdKbElHMXZjbVVnWld4bFoyRnVkQ0IzYVhSb0lHRWdMbTl1WTJVb0tWeHVJQ0F2THlCb1lXNWtiR1Z5SUdsdUlHWnNiM2NvS1N3Z1luVjBJR0ZrWkdsdVp5QmhibVFnY21WdGIzWnBibWNnY21Wd1pXRjBaV1JzZVNCcGMxeHVJQ0F2THlCMGIyOGdjMnh2ZHk1Y2JpQWdkbUZ5SUc5dVpISmhhVzRnUFNCd2FYQmxUMjVFY21GcGJpaHpjbU1wTzF4dUlDQmtaWE4wTG05dUtDZGtjbUZwYmljc0lHOXVaSEpoYVc0cE8xeHVYRzRnSUhaaGNpQmpiR1ZoYm1Wa1ZYQWdQU0JtWVd4elpUdGNiaUFnWm5WdVkzUnBiMjRnWTJ4bFlXNTFjQ2dwSUh0Y2JpQWdJQ0JrWldKMVp5Z25ZMnhsWVc1MWNDY3BPMXh1SUNBZ0lDOHZJR05zWldGdWRYQWdaWFpsYm5RZ2FHRnVaR3hsY25NZ2IyNWpaU0IwYUdVZ2NHbHdaU0JwY3lCaWNtOXJaVzVjYmlBZ0lDQmtaWE4wTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RqYkc5elpTY3NJRzl1WTJ4dmMyVXBPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMlpwYm1semFDY3NJRzl1Wm1sdWFYTm9LVHRjYmlBZ0lDQmtaWE4wTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RrY21GcGJpY3NJRzl1WkhKaGFXNHBPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMlZ5Y205eUp5d2diMjVsY25KdmNpazdYRzRnSUNBZ1pHVnpkQzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25kVzV3YVhCbEp5d2diMjUxYm5CcGNHVXBPMXh1SUNBZ0lITnlZeTV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aVzVrSnl3Z2IyNWxibVFwTzF4dUlDQWdJSE55WXk1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlc1a0p5d2dkVzV3YVhCbEtUdGNiaUFnSUNCemNtTXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyUmhkR0VuTENCdmJtUmhkR0VwTzF4dVhHNGdJQ0FnWTJ4bFlXNWxaRlZ3SUQwZ2RISjFaVHRjYmx4dUlDQWdJQzh2SUdsbUlIUm9aU0J5WldGa1pYSWdhWE1nZDJGcGRHbHVaeUJtYjNJZ1lTQmtjbUZwYmlCbGRtVnVkQ0JtY205dElIUm9hWE5jYmlBZ0lDQXZMeUJ6Y0dWamFXWnBZeUIzY21sMFpYSXNJSFJvWlc0Z2FYUWdkMjkxYkdRZ1kyRjFjMlVnYVhRZ2RHOGdibVYyWlhJZ2MzUmhjblJjYmlBZ0lDQXZMeUJtYkc5M2FXNW5JR0ZuWVdsdUxseHVJQ0FnSUM4dklGTnZMQ0JwWmlCMGFHbHpJR2x6SUdGM1lXbDBhVzVuSUdFZ1pISmhhVzRzSUhSb1pXNGdkMlVnYW5WemRDQmpZV3hzSUdsMElHNXZkeTVjYmlBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCcmJtOTNMQ0IwYUdWdUlHRnpjM1Z0WlNCMGFHRjBJSGRsSUdGeVpTQjNZV2wwYVc1bklHWnZjaUJ2Ym1VdVhHNGdJQ0FnYVdZZ0tITjBZWFJsTG1GM1lXbDBSSEpoYVc0Z0ppWWdLQ0ZrWlhOMExsOTNjbWwwWVdKc1pWTjBZWFJsSUh4OElHUmxjM1F1WDNkeWFYUmhZbXhsVTNSaGRHVXVibVZsWkVSeVlXbHVLU2tnYjI1a2NtRnBiaWdwTzF4dUlDQjlYRzVjYmlBZ0x5OGdTV1lnZEdobElIVnpaWElnY0hWemFHVnpJRzF2Y21VZ1pHRjBZU0IzYUdsc1pTQjNaU2R5WlNCM2NtbDBhVzVuSUhSdklHUmxjM1FnZEdobGJpQjNaU2RzYkNCbGJtUWdkWEJjYmlBZ0x5OGdhVzRnYjI1a1lYUmhJR0ZuWVdsdUxpQkliM2RsZG1WeUxDQjNaU0J2Ym14NUlIZGhiblFnZEc4Z2FXNWpjbVZoYzJVZ1lYZGhhWFJFY21GcGJpQnZibU5sSUdKbFkyRjFjMlZjYmlBZ0x5OGdaR1Z6ZENCM2FXeHNJRzl1YkhrZ1pXMXBkQ0J2Ym1VZ0oyUnlZV2x1SnlCbGRtVnVkQ0JtYjNJZ2RHaGxJRzExYkhScGNHeGxJSGR5YVhSbGN5NWNiaUFnTHk4Z1BUNGdTVzUwY205a2RXTmxJR0VnWjNWaGNtUWdiMjRnYVc1amNtVmhjMmx1WnlCaGQyRnBkRVJ5WVdsdUxseHVJQ0IyWVhJZ2FXNWpjbVZoYzJWa1FYZGhhWFJFY21GcGJpQTlJR1poYkhObE8xeHVJQ0J6Y21NdWIyNG9KMlJoZEdFbkxDQnZibVJoZEdFcE8xeHVJQ0JtZFc1amRHbHZiaUJ2Ym1SaGRHRW9ZMmgxYm1zcElIdGNiaUFnSUNCa1pXSjFaeWduYjI1a1lYUmhKeWs3WEc0Z0lDQWdhVzVqY21WaGMyVmtRWGRoYVhSRWNtRnBiaUE5SUdaaGJITmxPMXh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQmtaWE4wTG5keWFYUmxLR05vZFc1cktUdGNiaUFnSUNCcFppQW9abUZzYzJVZ1BUMDlJSEpsZENBbUppQWhhVzVqY21WaGMyVmtRWGRoYVhSRWNtRnBiaWtnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdkR2hsSUhWelpYSWdkVzV3YVhCbFpDQmtkWEpwYm1jZ1lHUmxjM1F1ZDNKcGRHVW9LV0FzSUdsMElHbHpJSEJ2YzNOcFlteGxYRzRnSUNBZ0lDQXZMeUIwYnlCblpYUWdjM1IxWTJzZ2FXNGdZU0J3WlhKdFlXNWxiblJzZVNCd1lYVnpaV1FnYzNSaGRHVWdhV1lnZEdoaGRDQjNjbWwwWlZ4dUlDQWdJQ0FnTHk4Z1lXeHpieUJ5WlhSMWNtNWxaQ0JtWVd4elpTNWNiaUFnSUNBZ0lDOHZJRDArSUVOb1pXTnJJSGRvWlhSb1pYSWdZR1JsYzNSZ0lHbHpJSE4wYVd4c0lHRWdjR2x3YVc1bklHUmxjM1JwYm1GMGFXOXVMbHh1SUNBZ0lDQWdhV1lnS0NoemRHRjBaUzV3YVhCbGMwTnZkVzUwSUQwOVBTQXhJQ1ltSUhOMFlYUmxMbkJwY0dWeklEMDlQU0JrWlhOMElIeDhJSE4wWVhSbExuQnBjR1Z6UTI5MWJuUWdQaUF4SUNZbUlHbHVaR1Y0VDJZb2MzUmhkR1V1Y0dsd1pYTXNJR1JsYzNRcElDRTlQU0F0TVNrZ0ppWWdJV05zWldGdVpXUlZjQ2tnZTF4dUlDQWdJQ0FnSUNCa1pXSjFaeWduWm1Gc2MyVWdkM0pwZEdVZ2NtVnpjRzl1YzJVc0lIQmhkWE5sSnl3Z2MzSmpMbDl5WldGa1lXSnNaVk4wWVhSbExtRjNZV2wwUkhKaGFXNHBPMXh1SUNBZ0lDQWdJQ0J6Y21NdVgzSmxZV1JoWW14bFUzUmhkR1V1WVhkaGFYUkVjbUZwYmlzck8xeHVJQ0FnSUNBZ0lDQnBibU55WldGelpXUkJkMkZwZEVSeVlXbHVJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lITnlZeTV3WVhWelpTZ3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzh2SUdsbUlIUm9aU0JrWlhOMElHaGhjeUJoYmlCbGNuSnZjaXdnZEdobGJpQnpkRzl3SUhCcGNHbHVaeUJwYm5SdklHbDBMbHh1SUNBdkx5Qm9iM2RsZG1WeUxDQmtiMjRuZENCemRYQndjbVZ6Y3lCMGFHVWdkR2h5YjNkcGJtY2dZbVZvWVhacGIzSWdabTl5SUhSb2FYTXVYRzRnSUdaMWJtTjBhVzl1SUc5dVpYSnliM0lvWlhJcElIdGNiaUFnSUNCa1pXSjFaeWduYjI1bGNuSnZjaWNzSUdWeUtUdGNiaUFnSUNCMWJuQnBjR1VvS1R0Y2JpQWdJQ0JrWlhOMExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGNuSnZjaWNzSUc5dVpYSnliM0lwTzF4dUlDQWdJR2xtSUNoRlJXeHBjM1JsYm1WeVEyOTFiblFvWkdWemRDd2dKMlZ5Y205eUp5a2dQVDA5SURBcElHUmxjM1F1WlcxcGRDZ25aWEp5YjNJbkxDQmxjaWs3WEc0Z0lIMWNibHh1SUNBdkx5Qk5ZV3RsSUhOMWNtVWdiM1Z5SUdWeWNtOXlJR2hoYm1Sc1pYSWdhWE1nWVhSMFlXTm9aV1FnWW1WbWIzSmxJSFZ6WlhKc1lXNWtJRzl1WlhNdVhHNGdJSEJ5WlhCbGJtUk1hWE4wWlc1bGNpaGtaWE4wTENBblpYSnliM0luTENCdmJtVnljbTl5S1R0Y2JseHVJQ0F2THlCQ2IzUm9JR05zYjNObElHRnVaQ0JtYVc1cGMyZ2djMmh2ZFd4a0lIUnlhV2RuWlhJZ2RXNXdhWEJsTENCaWRYUWdiMjVzZVNCdmJtTmxMbHh1SUNCbWRXNWpkR2x2YmlCdmJtTnNiM05sS0NrZ2UxeHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyWnBibWx6YUNjc0lHOXVabWx1YVhOb0tUdGNiaUFnSUNCMWJuQnBjR1VvS1R0Y2JpQWdmVnh1SUNCa1pYTjBMbTl1WTJVb0oyTnNiM05sSnl3Z2IyNWpiRzl6WlNrN1hHNGdJR1oxYm1OMGFXOXVJRzl1Wm1sdWFYTm9LQ2tnZTF4dUlDQWdJR1JsWW5WbktDZHZibVpwYm1semFDY3BPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzRnSUNBZ2RXNXdhWEJsS0NrN1hHNGdJSDFjYmlBZ1pHVnpkQzV2Ym1ObEtDZG1hVzVwYzJnbkxDQnZibVpwYm1semFDazdYRzVjYmlBZ1puVnVZM1JwYjI0Z2RXNXdhWEJsS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QxYm5CcGNHVW5LVHRjYmlBZ0lDQnpjbU11ZFc1d2FYQmxLR1JsYzNRcE8xeHVJQ0I5WEc1Y2JpQWdMeThnZEdWc2JDQjBhR1VnWkdWemRDQjBhR0YwSUdsMEozTWdZbVZwYm1jZ2NHbHdaV1FnZEc5Y2JpQWdaR1Z6ZEM1bGJXbDBLQ2R3YVhCbEp5d2djM0pqS1R0Y2JseHVJQ0F2THlCemRHRnlkQ0IwYUdVZ1pteHZkeUJwWmlCcGRDQm9ZWE51SjNRZ1ltVmxiaUJ6ZEdGeWRHVmtJR0ZzY21WaFpIa3VYRzRnSUdsbUlDZ2hjM1JoZEdVdVpteHZkMmx1WnlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R3YVhCbElISmxjM1Z0WlNjcE8xeHVJQ0FnSUhOeVl5NXlaWE4xYldVb0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmtaWE4wTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnY0dsd1pVOXVSSEpoYVc0b2MzSmpLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RtRnlJSE4wWVhSbElEMGdjM0pqTGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNBZ0lHUmxZblZuS0Nkd2FYQmxUMjVFY21GcGJpY3NJSE4wWVhSbExtRjNZV2wwUkhKaGFXNHBPMXh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWhkMkZwZEVSeVlXbHVLU0J6ZEdGMFpTNWhkMkZwZEVSeVlXbHVMUzA3WEc0Z0lDQWdhV1lnS0hOMFlYUmxMbUYzWVdsMFJISmhhVzRnUFQwOUlEQWdKaVlnUlVWc2FYTjBaVzVsY2tOdmRXNTBLSE55WXl3Z0oyUmhkR0VuS1NrZ2UxeHVJQ0FnSUNBZ2MzUmhkR1V1Wm14dmQybHVaeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQm1iRzkzS0hOeVl5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dWZWeHVYRzVTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1ZFc1d2FYQmxJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2RtRnlJSFZ1Y0dsd1pVbHVabThnUFNCN0lHaGhjMVZ1Y0dsd1pXUTZJR1poYkhObElIMDdYRzVjYmlBZ0x5OGdhV1lnZDJVbmNtVWdibTkwSUhCcGNHbHVaeUJoYm5sM2FHVnlaU3dnZEdobGJpQmtieUJ1YjNSb2FXNW5MbHh1SUNCcFppQW9jM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlQVDBnTUNrZ2NtVjBkWEp1SUhSb2FYTTdYRzVjYmlBZ0x5OGdhblZ6ZENCdmJtVWdaR1Z6ZEdsdVlYUnBiMjR1SUNCdGIzTjBJR052YlcxdmJpQmpZWE5sTGx4dUlDQnBaaUFvYzNSaGRHVXVjR2x3WlhORGIzVnVkQ0E5UFQwZ01Ta2dlMXh1SUNBZ0lDOHZJSEJoYzNObFpDQnBiaUJ2Ym1Vc0lHSjFkQ0JwZENkeklHNXZkQ0IwYUdVZ2NtbG5hSFFnYjI1bExseHVJQ0FnSUdsbUlDaGtaWE4wSUNZbUlHUmxjM1FnSVQwOUlITjBZWFJsTG5CcGNHVnpLU0J5WlhSMWNtNGdkR2hwY3p0Y2JseHVJQ0FnSUdsbUlDZ2haR1Z6ZENrZ1pHVnpkQ0E5SUhOMFlYUmxMbkJwY0dWek8xeHVYRzRnSUNBZ0x5OGdaMjkwSUdFZ2JXRjBZMmd1WEc0Z0lDQWdjM1JoZEdVdWNHbHdaWE1nUFNCdWRXeHNPMXh1SUNBZ0lITjBZWFJsTG5CcGNHVnpRMjkxYm5RZ1BTQXdPMXh1SUNBZ0lITjBZWFJsTG1ac2IzZHBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQnBaaUFvWkdWemRDa2daR1Z6ZEM1bGJXbDBLQ2QxYm5CcGNHVW5MQ0IwYUdsekxDQjFibkJwY0dWSmJtWnZLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4dklITnNiM2NnWTJGelpTNGdiWFZzZEdsd2JHVWdjR2x3WlNCa1pYTjBhVzVoZEdsdmJuTXVYRzVjYmlBZ2FXWWdLQ0ZrWlhOMEtTQjdYRzRnSUNBZ0x5OGdjbVZ0YjNabElHRnNiQzVjYmlBZ0lDQjJZWElnWkdWemRITWdQU0J6ZEdGMFpTNXdhWEJsY3p0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYzNSaGRHVXVjR2x3WlhORGIzVnVkRHRjYmlBZ0lDQnpkR0YwWlM1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUNBZ2MzUmhkR1V1Y0dsd1pYTkRiM1Z1ZENBOUlEQTdYRzRnSUNBZ2MzUmhkR1V1Wm14dmQybHVaeUE5SUdaaGJITmxPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnWkdWemRITmJhVjB1WlcxcGRDZ25kVzV3YVhCbEp5d2dkR2hwY3l3Z2RXNXdhWEJsU1c1bWJ5azdYRzRnSUNBZ2ZYSmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnTHk4Z2RISjVJSFJ2SUdacGJtUWdkR2hsSUhKcFoyaDBJRzl1WlM1Y2JpQWdkbUZ5SUdsdVpHVjRJRDBnYVc1a1pYaFBaaWh6ZEdGMFpTNXdhWEJsY3l3Z1pHVnpkQ2s3WEc0Z0lHbG1JQ2hwYm1SbGVDQTlQVDBnTFRFcElISmxkSFZ5YmlCMGFHbHpPMXh1WEc0Z0lITjBZWFJsTG5CcGNHVnpMbk53YkdsalpTaHBibVJsZUN3Z01TazdYRzRnSUhOMFlYUmxMbkJwY0dWelEyOTFiblFnTFQwZ01UdGNiaUFnYVdZZ0tITjBZWFJsTG5CcGNHVnpRMjkxYm5RZ1BUMDlJREVwSUhOMFlYUmxMbkJwY0dWeklEMGdjM1JoZEdVdWNHbHdaWE5iTUYwN1hHNWNiaUFnWkdWemRDNWxiV2wwS0NkMWJuQnBjR1VuTENCMGFHbHpMQ0IxYm5CcGNHVkpibVp2S1R0Y2JseHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdYRzVjYmk4dklITmxkQ0IxY0NCa1lYUmhJR1YyWlc1MGN5QnBaaUIwYUdWNUlHRnlaU0JoYzJ0bFpDQm1iM0pjYmk4dklFVnVjM1Z5WlNCeVpXRmtZV0pzWlNCc2FYTjBaVzVsY25NZ1pYWmxiblIxWVd4c2VTQm5aWFFnYzI5dFpYUm9hVzVuWEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWIyNGdQU0JtZFc1amRHbHZiaUFvWlhZc0lHWnVLU0I3WEc0Z0lIWmhjaUJ5WlhNZ1BTQlRkSEpsWVcwdWNISnZkRzkwZVhCbExtOXVMbU5oYkd3b2RHaHBjeXdnWlhZc0lHWnVLVHRjYmx4dUlDQnBaaUFvWlhZZ1BUMDlJQ2RrWVhSaEp5a2dlMXh1SUNBZ0lDOHZJRk4wWVhKMElHWnNiM2RwYm1jZ2IyNGdibVY0ZENCMGFXTnJJR2xtSUhOMGNtVmhiU0JwYzI0bmRDQmxlSEJzYVdOcGRHeDVJSEJoZFhObFpGeHVJQ0FnSUdsbUlDaDBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVpzYjNkcGJtY2dJVDA5SUdaaGJITmxLU0IwYUdsekxuSmxjM1Z0WlNncE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dWMklEMDlQU0FuY21WaFpHRmliR1VuS1NCN1hHNGdJQ0FnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpUdGNiaUFnSUNCcFppQW9JWE4wWVhSbExtVnVaRVZ0YVhSMFpXUWdKaVlnSVhOMFlYUmxMbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5LU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNXlaV0ZrWVdKc1pVeHBjM1JsYm1sdVp5QTlJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnpkR0YwWlM1bGJXbDBkR1ZrVW1WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJR2xtSUNnaGMzUmhkR1V1Y21WaFpHbHVaeWtnZTF4dUlDQWdJQ0FnSUNCd2JtRXVibVY0ZEZScFkyc29ibEpsWVdScGJtZE9aWGgwVkdsamF5d2dkR2hwY3lrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tITjBZWFJsTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNCbGJXbDBVbVZoWkdGaWJHVW9kR2hwY3lrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdVlXUmtUR2x6ZEdWdVpYSWdQU0JTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1YjI0N1hHNWNibVoxYm1OMGFXOXVJRzVTWldGa2FXNW5UbVY0ZEZScFkyc29jMlZzWmlrZ2UxeHVJQ0JrWldKMVp5Z25jbVZoWkdGaWJHVWdibVY0ZEhScFkyc2djbVZoWkNBd0p5azdYRzRnSUhObGJHWXVjbVZoWkNnd0tUdGNibjFjYmx4dUx5OGdjR0YxYzJVb0tTQmhibVFnY21WemRXMWxLQ2tnWVhKbElISmxiVzVoYm5SeklHOW1JSFJvWlNCc1pXZGhZM2tnY21WaFpHRmliR1VnYzNSeVpXRnRJRUZRU1Z4dUx5OGdTV1lnZEdobElIVnpaWElnZFhObGN5QjBhR1Z0TENCMGFHVnVJSE4zYVhSamFDQnBiblJ2SUc5c1pDQnRiMlJsTGx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuSmxjM1Z0WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNW1iRzkzYVc1bktTQjdYRzRnSUNBZ1pHVmlkV2NvSjNKbGMzVnRaU2NwTzF4dUlDQWdJSE4wWVhSbExtWnNiM2RwYm1jZ1BTQjBjblZsTzF4dUlDQWdJSEpsYzNWdFpTaDBhR2x6TENCemRHRjBaU2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSFJvYVhNN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCeVpYTjFiV1VvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9JWE4wWVhSbExuSmxjM1Z0WlZOamFHVmtkV3hsWkNrZ2UxeHVJQ0FnSUhOMFlYUmxMbkpsYzNWdFpWTmphR1ZrZFd4bFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnY0c1aExtNWxlSFJVYVdOcktISmxjM1Z0WlY4c0lITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxjM1Z0WlY4b2MzUnlaV0Z0TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvSVhOMFlYUmxMbkpsWVdScGJtY3BJSHRjYmlBZ0lDQmtaV0oxWnlnbmNtVnpkVzFsSUhKbFlXUWdNQ2NwTzF4dUlDQWdJSE4wY21WaGJTNXlaV0ZrS0RBcE8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdWNtVnpkVzFsVTJOb1pXUjFiR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lITjBZWFJsTG1GM1lXbDBSSEpoYVc0Z1BTQXdPMXh1SUNCemRISmxZVzB1WlcxcGRDZ25jbVZ6ZFcxbEp5azdYRzRnSUdac2IzY29jM1J5WldGdEtUdGNiaUFnYVdZZ0tITjBZWFJsTG1ac2IzZHBibWNnSmlZZ0lYTjBZWFJsTG5KbFlXUnBibWNwSUhOMGNtVmhiUzV5WldGa0tEQXBPMXh1ZlZ4dVhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVjR0YxYzJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lHUmxZblZuS0NkallXeHNJSEJoZFhObElHWnNiM2RwYm1jOUpXb25MQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1ac2IzZHBibWNwTzF4dUlDQnBaaUFvWm1Gc2MyVWdJVDA5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpteHZkMmx1WnlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R3WVhWelpTY3BPMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVabXh2ZDJsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUhSb2FYTXVaVzFwZENnbmNHRjFjMlVuS1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JtWjFibU4wYVc5dUlHWnNiM2NvYzNSeVpXRnRLU0I3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSE4wY21WaGJTNWZjbVZoWkdGaWJHVlRkR0YwWlR0Y2JpQWdaR1ZpZFdjb0oyWnNiM2NuTENCemRHRjBaUzVtYkc5M2FXNW5LVHRjYmlBZ2QyaHBiR1VnS0hOMFlYUmxMbVpzYjNkcGJtY2dKaVlnYzNSeVpXRnRMbkpsWVdRb0tTQWhQVDBnYm5Wc2JDa2dlMzFjYm4xY2JseHVMeThnZDNKaGNDQmhiaUJ2YkdRdGMzUjViR1VnYzNSeVpXRnRJR0Z6SUhSb1pTQmhjM2x1WXlCa1lYUmhJSE52ZFhKalpTNWNiaTh2SUZSb2FYTWdhWE1nS201dmRDb2djR0Z5ZENCdlppQjBhR1VnY21WaFpHRmliR1VnYzNSeVpXRnRJR2x1ZEdWeVptRmpaUzVjYmk4dklFbDBJR2x6SUdGdUlIVm5iSGtnZFc1bWIzSjBkVzVoZEdVZ2JXVnpjeUJ2WmlCb2FYTjBiM0o1TGx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuZHlZWEFnUFNCbWRXNWpkR2x2YmlBb2MzUnlaV0Z0S1NCN1hHNGdJSFpoY2lCZmRHaHBjeUE5SUhSb2FYTTdYRzVjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2RtRnlJSEJoZFhObFpDQTlJR1poYkhObE8xeHVYRzRnSUhOMGNtVmhiUzV2YmlnblpXNWtKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QzY21Gd2NHVmtJR1Z1WkNjcE8xeHVJQ0FnSUdsbUlDaHpkR0YwWlM1a1pXTnZaR1Z5SUNZbUlDRnpkR0YwWlM1bGJtUmxaQ2tnZTF4dUlDQWdJQ0FnZG1GeUlHTm9kVzVySUQwZ2MzUmhkR1V1WkdWamIyUmxjaTVsYm1Rb0tUdGNiaUFnSUNBZ0lHbG1JQ2hqYUhWdWF5QW1KaUJqYUhWdWF5NXNaVzVuZEdncElGOTBhR2x6TG5CMWMyZ29ZMmgxYm1zcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUY5MGFHbHpMbkIxYzJnb2JuVnNiQ2s3WEc0Z0lIMHBPMXh1WEc0Z0lITjBjbVZoYlM1dmJpZ25aR0YwWVNjc0lHWjFibU4wYVc5dUlDaGphSFZ1YXlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QzY21Gd2NHVmtJR1JoZEdFbktUdGNiaUFnSUNCcFppQW9jM1JoZEdVdVpHVmpiMlJsY2lrZ1kyaDFibXNnUFNCemRHRjBaUzVrWldOdlpHVnlMbmR5YVhSbEtHTm9kVzVyS1R0Y2JseHVJQ0FnSUM4dklHUnZiaWQwSUhOcmFYQWdiM1psY2lCbVlXeHplU0IyWVd4MVpYTWdhVzRnYjJKcVpXTjBUVzlrWlZ4dUlDQWdJR2xtSUNoemRHRjBaUzV2WW1wbFkzUk5iMlJsSUNZbUlDaGphSFZ1YXlBOVBUMGdiblZzYkNCOGZDQmphSFZ1YXlBOVBUMGdkVzVrWldacGJtVmtLU2tnY21WMGRYSnVPMlZzYzJVZ2FXWWdLQ0Z6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJQ1ltSUNnaFkyaDFibXNnZkh3Z0lXTm9kVzVyTG14bGJtZDBhQ2twSUhKbGRIVnlianRjYmx4dUlDQWdJSFpoY2lCeVpYUWdQU0JmZEdocGN5NXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQnBaaUFvSVhKbGRDa2dlMXh1SUNBZ0lDQWdjR0YxYzJWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhOMGNtVmhiUzV3WVhWelpTZ3BPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNWNiaUFnTHk4Z2NISnZlSGtnWVd4c0lIUm9aU0J2ZEdobGNpQnRaWFJvYjJSekxseHVJQ0F2THlCcGJYQnZjblJoYm5RZ2QyaGxiaUIzY21Gd2NHbHVaeUJtYVd4MFpYSnpJR0Z1WkNCa2RYQnNaWGhsY3k1Y2JpQWdabTl5SUNoMllYSWdhU0JwYmlCemRISmxZVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjMXRwWFNBOVBUMGdkVzVrWldacGJtVmtJQ1ltSUhSNWNHVnZaaUJ6ZEhKbFlXMWJhVjBnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFJvYVhOYmFWMGdQU0JtZFc1amRHbHZiaUFvYldWMGFHOWtLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbVZoYlZ0dFpYUm9iMlJkTG1Gd2NHeDVLSE4wY21WaGJTd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUgwb2FTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeThnY0hKdmVIa2dZMlZ5ZEdGcGJpQnBiWEJ2Y25SaGJuUWdaWFpsYm5SekxseHVJQ0JtYjNJZ0tIWmhjaUJ1SUQwZ01Ec2diaUE4SUd0UWNtOTRlVVYyWlc1MGN5NXNaVzVuZEdnN0lHNHJLeWtnZTF4dUlDQWdJSE4wY21WaGJTNXZiaWhyVUhKdmVIbEZkbVZ1ZEhOYmJsMHNJSFJvYVhNdVpXMXBkQzVpYVc1a0tIUm9hWE1zSUd0UWNtOTRlVVYyWlc1MGMxdHVYU2twTzF4dUlDQjlYRzVjYmlBZ0x5OGdkMmhsYmlCM1pTQjBjbmtnZEc4Z1kyOXVjM1Z0WlNCemIyMWxJRzF2Y21VZ1lubDBaWE1zSUhOcGJYQnNlU0IxYm5CaGRYTmxJSFJvWlZ4dUlDQXZMeUIxYm1SbGNteDVhVzVuSUhOMGNtVmhiUzVjYmlBZ2RHaHBjeTVmY21WaFpDQTlJR1oxYm1OMGFXOXVJQ2h1S1NCN1hHNGdJQ0FnWkdWaWRXY29KM2R5WVhCd1pXUWdYM0psWVdRbkxDQnVLVHRjYmlBZ0lDQnBaaUFvY0dGMWMyVmtLU0I3WEc0Z0lDQWdJQ0J3WVhWelpXUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lITjBjbVZoYlM1eVpYTjFiV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmNtVmhaR0ZpYkdWSWFXZG9WMkYwWlhKTllYSnJKeXdnZTF4dUlDQXZMeUJ0WVd0cGJtY2dhWFFnWlhod2JHbGphWFFnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJ1YjNRZ1pXNTFiV1Z5WVdKc1pWeHVJQ0F2THlCaVpXTmhkWE5sSUc5MGFHVnlkMmx6WlNCemIyMWxJSEJ5YjNSdmRIbHdaU0J0WVc1cGNIVnNZWFJwYjI0Z2FXNWNiaUFnTHk4Z2RYTmxjbXhoYm1RZ2QybHNiQ0JtWVdsc1hHNGdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKck8xeHVJQ0I5WEc1OUtUdGNibHh1THk4Z1pYaHdiM05sWkNCbWIzSWdkR1Z6ZEdsdVp5QndkWEp3YjNObGN5QnZibXg1TGx4dVVtVmhaR0ZpYkdVdVgyWnliMjFNYVhOMElEMGdabkp2YlV4cGMzUTdYRzVjYmk4dklGQnNkV05ySUc5bVppQnVJR0o1ZEdWeklHWnliMjBnWVc0Z1lYSnlZWGtnYjJZZ1luVm1abVZ5Y3k1Y2JpOHZJRXhsYm1kMGFDQnBjeUIwYUdVZ1kyOXRZbWx1WldRZ2JHVnVaM1JvY3lCdlppQmhiR3dnZEdobElHSjFabVpsY25NZ2FXNGdkR2hsSUd4cGMzUXVYRzR2THlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdSbGMybG5ibVZrSUhSdklHSmxJR2x1YkdsdVlXSnNaU3dnYzI4Z2NHeGxZWE5sSUhSaGEyVWdZMkZ5WlNCM2FHVnVJRzFoYTJsdVoxeHVMeThnWTJoaGJtZGxjeUIwYnlCMGFHVWdablZ1WTNScGIyNGdZbTlrZVM1Y2JtWjFibU4wYVc5dUlHWnliMjFNYVhOMEtHNHNJSE4wWVhSbEtTQjdYRzRnSUM4dklHNXZkR2hwYm1jZ1luVm1abVZ5WldSY2JpQWdhV1lnS0hOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNrZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ2RtRnlJSEpsZER0Y2JpQWdhV1lnS0hOMFlYUmxMbTlpYW1WamRFMXZaR1VwSUhKbGRDQTlJSE4wWVhSbExtSjFabVpsY2k1emFHbG1kQ2dwTzJWc2MyVWdhV1lnS0NGdUlIeDhJRzRnUGowZ2MzUmhkR1V1YkdWdVozUm9LU0I3WEc0Z0lDQWdMeThnY21WaFpDQnBkQ0JoYkd3c0lIUnlkVzVqWVhSbElIUm9aU0JzYVhOMFhHNGdJQ0FnYVdZZ0tITjBZWFJsTG1SbFkyOWtaWElwSUhKbGRDQTlJSE4wWVhSbExtSjFabVpsY2k1cWIybHVLQ2NuS1R0bGJITmxJR2xtSUNoemRHRjBaUzVpZFdabVpYSXViR1Z1WjNSb0lEMDlQU0F4S1NCeVpYUWdQU0J6ZEdGMFpTNWlkV1ptWlhJdWFHVmhaQzVrWVhSaE8yVnNjMlVnY21WMElEMGdjM1JoZEdVdVluVm1abVZ5TG1OdmJtTmhkQ2h6ZEdGMFpTNXNaVzVuZEdncE8xeHVJQ0FnSUhOMFlYUmxMbUoxWm1abGNpNWpiR1ZoY2lncE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJSEpsWVdRZ2NHRnlkQ0J2WmlCc2FYTjBYRzRnSUNBZ2NtVjBJRDBnWm5KdmJVeHBjM1JRWVhKMGFXRnNLRzRzSUhOMFlYUmxMbUoxWm1abGNpd2djM1JoZEdVdVpHVmpiMlJsY2lrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2NtVjBPMXh1ZlZ4dVhHNHZMeUJGZUhSeVlXTjBjeUJ2Ym14NUlHVnViM1ZuYUNCaWRXWm1aWEpsWkNCa1lYUmhJSFJ2SUhOaGRHbHpabmtnZEdobElHRnRiM1Z1ZENCeVpYRjFaWE4wWldRdVhHNHZMeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR1JsYzJsbmJtVmtJSFJ2SUdKbElHbHViR2x1WVdKc1pTd2djMjhnY0d4bFlYTmxJSFJoYTJVZ1kyRnlaU0IzYUdWdUlHMWhhMmx1WjF4dUx5OGdZMmhoYm1kbGN5QjBieUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlUzVjYm1aMWJtTjBhVzl1SUdaeWIyMU1hWE4wVUdGeWRHbGhiQ2h1TENCc2FYTjBMQ0JvWVhOVGRISnBibWR6S1NCN1hHNGdJSFpoY2lCeVpYUTdYRzRnSUdsbUlDaHVJRHdnYkdsemRDNW9aV0ZrTG1SaGRHRXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0x5OGdjMnhwWTJVZ2FYTWdkR2hsSUhOaGJXVWdabTl5SUdKMVptWmxjbk1nWVc1a0lITjBjbWx1WjNOY2JpQWdJQ0J5WlhRZ1BTQnNhWE4wTG1obFlXUXVaR0YwWVM1emJHbGpaU2d3TENCdUtUdGNiaUFnSUNCc2FYTjBMbWhsWVdRdVpHRjBZU0E5SUd4cGMzUXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtHNHBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHNGdQVDA5SUd4cGMzUXVhR1ZoWkM1a1lYUmhMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDOHZJR1pwY25OMElHTm9kVzVySUdseklHRWdjR1Z5Wm1WamRDQnRZWFJqYUZ4dUlDQWdJSEpsZENBOUlHeHBjM1F1YzJocFpuUW9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCeVpYTjFiSFFnYzNCaGJuTWdiVzl5WlNCMGFHRnVJRzl1WlNCaWRXWm1aWEpjYmlBZ0lDQnlaWFFnUFNCb1lYTlRkSEpwYm1keklEOGdZMjl3ZVVaeWIyMUNkV1ptWlhKVGRISnBibWNvYml3Z2JHbHpkQ2tnT2lCamIzQjVSbkp2YlVKMVptWmxjaWh1TENCc2FYTjBLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZWeHVYRzR2THlCRGIzQnBaWE1nWVNCemNHVmphV1pwWldRZ1lXMXZkVzUwSUc5bUlHTm9ZWEpoWTNSbGNuTWdabkp2YlNCMGFHVWdiR2x6ZENCdlppQmlkV1ptWlhKbFpDQmtZWFJoWEc0dkx5QmphSFZ1YTNNdVhHNHZMeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR1JsYzJsbmJtVmtJSFJ2SUdKbElHbHViR2x1WVdKc1pTd2djMjhnY0d4bFlYTmxJSFJoYTJVZ1kyRnlaU0IzYUdWdUlHMWhhMmx1WjF4dUx5OGdZMmhoYm1kbGN5QjBieUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlUzVjYm1aMWJtTjBhVzl1SUdOdmNIbEdjbTl0UW5WbVptVnlVM1J5YVc1bktHNHNJR3hwYzNRcElIdGNiaUFnZG1GeUlIQWdQU0JzYVhOMExtaGxZV1E3WEc0Z0lIWmhjaUJqSUQwZ01UdGNiaUFnZG1GeUlISmxkQ0E5SUhBdVpHRjBZVHRjYmlBZ2JpQXRQU0J5WlhRdWJHVnVaM1JvTzF4dUlDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lIWmhjaUJ6ZEhJZ1BTQndMbVJoZEdFN1hHNGdJQ0FnZG1GeUlHNWlJRDBnYmlBK0lITjBjaTVzWlc1bmRHZ2dQeUJ6ZEhJdWJHVnVaM1JvSURvZ2JqdGNiaUFnSUNCcFppQW9ibUlnUFQwOUlITjBjaTVzWlc1bmRHZ3BJSEpsZENBclBTQnpkSEk3Wld4elpTQnlaWFFnS3owZ2MzUnlMbk5zYVdObEtEQXNJRzRwTzF4dUlDQWdJRzRnTFQwZ2JtSTdYRzRnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJR2xtSUNodVlpQTlQVDBnYzNSeUxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQXJLMk03WEc0Z0lDQWdJQ0FnSUdsbUlDaHdMbTVsZUhRcElHeHBjM1F1YUdWaFpDQTlJSEF1Ym1WNGREdGxiSE5sSUd4cGMzUXVhR1ZoWkNBOUlHeHBjM1F1ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCc2FYTjBMbWhsWVdRZ1BTQndPMXh1SUNBZ0lDQWdJQ0J3TG1SaGRHRWdQU0J6ZEhJdWMyeHBZMlVvYm1JcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lDc3JZenRjYmlBZ2ZWeHVJQ0JzYVhOMExteGxibWQwYUNBdFBTQmpPMXh1SUNCeVpYUjFjbTRnY21WME8xeHVmVnh1WEc0dkx5QkRiM0JwWlhNZ1lTQnpjR1ZqYVdacFpXUWdZVzF2ZFc1MElHOW1JR0o1ZEdWeklHWnliMjBnZEdobElHeHBjM1FnYjJZZ1luVm1abVZ5WldRZ1pHRjBZU0JqYUhWdWEzTXVYRzR2THlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdSbGMybG5ibVZrSUhSdklHSmxJR2x1YkdsdVlXSnNaU3dnYzI4Z2NHeGxZWE5sSUhSaGEyVWdZMkZ5WlNCM2FHVnVJRzFoYTJsdVoxeHVMeThnWTJoaGJtZGxjeUIwYnlCMGFHVWdablZ1WTNScGIyNGdZbTlrZVM1Y2JtWjFibU4wYVc5dUlHTnZjSGxHY205dFFuVm1abVZ5S0c0c0lHeHBjM1FwSUh0Y2JpQWdkbUZ5SUhKbGRDQTlJRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aU2h1S1R0Y2JpQWdkbUZ5SUhBZ1BTQnNhWE4wTG1obFlXUTdYRzRnSUhaaGNpQmpJRDBnTVR0Y2JpQWdjQzVrWVhSaExtTnZjSGtvY21WMEtUdGNiaUFnYmlBdFBTQndMbVJoZEdFdWJHVnVaM1JvTzF4dUlDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lIWmhjaUJpZFdZZ1BTQndMbVJoZEdFN1hHNGdJQ0FnZG1GeUlHNWlJRDBnYmlBK0lHSjFaaTVzWlc1bmRHZ2dQeUJpZFdZdWJHVnVaM1JvSURvZ2JqdGNiaUFnSUNCaWRXWXVZMjl3ZVNoeVpYUXNJSEpsZEM1c1pXNW5kR2dnTFNCdUxDQXdMQ0J1WWlrN1hHNGdJQ0FnYmlBdFBTQnVZanRjYmlBZ0lDQnBaaUFvYmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNWlJRDA5UFNCaWRXWXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJQ3NyWXp0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEF1Ym1WNGRDa2diR2x6ZEM1b1pXRmtJRDBnY0M1dVpYaDBPMlZzYzJVZ2JHbHpkQzVvWldGa0lEMGdiR2x6ZEM1MFlXbHNJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHeHBjM1F1YUdWaFpDQTlJSEE3WEc0Z0lDQWdJQ0FnSUhBdVpHRjBZU0E5SUdKMVppNXpiR2xqWlNodVlpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdLeXRqTzF4dUlDQjlYRzRnSUd4cGMzUXViR1Z1WjNSb0lDMDlJR003WEc0Z0lISmxkSFZ5YmlCeVpYUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVnVaRkpsWVdSaFlteGxLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdMeThnU1dZZ2QyVWdaMlYwSUdobGNtVWdZbVZtYjNKbElHTnZibk4xYldsdVp5QmhiR3dnZEdobElHSjVkR1Z6TENCMGFHVnVJSFJvWVhRZ2FYTWdZVnh1SUNBdkx5QmlkV2NnYVc0Z2JtOWtaUzRnSUZOb2IzVnNaQ0J1WlhabGNpQm9ZWEJ3Wlc0dVhHNGdJR2xtSUNoemRHRjBaUzVzWlc1bmRHZ2dQaUF3S1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjF3aVpXNWtVbVZoWkdGaWJHVW9LVndpSUdOaGJHeGxaQ0J2YmlCdWIyNHRaVzF3ZEhrZ2MzUnlaV0Z0SnlrN1hHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1bGJtUkZiV2wwZEdWa0tTQjdYRzRnSUNBZ2MzUmhkR1V1Wlc1a1pXUWdQU0IwY25WbE8xeHVJQ0FnSUhCdVlTNXVaWGgwVkdsamF5aGxibVJTWldGa1lXSnNaVTVVTENCemRHRjBaU3dnYzNSeVpXRnRLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGJtUlNaV0ZrWVdKc1pVNVVLSE4wWVhSbExDQnpkSEpsWVcwcElIdGNiaUFnTHk4Z1EyaGxZMnNnZEdoaGRDQjNaU0JrYVdSdUozUWdaMlYwSUc5dVpTQnNZWE4wSUhWdWMyaHBablF1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzVrUlcxcGRIUmxaQ0FtSmlCemRHRjBaUzVzWlc1bmRHZ2dQVDA5SURBcElIdGNiaUFnSUNCemRHRjBaUzVsYm1SRmJXbDBkR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQnpkSEpsWVcwdWNtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnblpXNWtKeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FXNWtaWGhQWmloNGN5d2dlQ2tnZTF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2JDQTlJSGh6TG14bGJtZDBhRHNnYVNBOElHdzdJR2tyS3lrZ2UxeHVJQ0FnSUdsbUlDaDRjMXRwWFNBOVBUMGdlQ2tnY21WMGRYSnVJR2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJQzB4TzF4dWZTSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcbi8vIGEgdHJhbnNmb3JtIHN0cmVhbSBpcyBhIHJlYWRhYmxlL3dyaXRhYmxlIHN0cmVhbSB3aGVyZSB5b3UgZG9cXG4vLyBzb21ldGhpbmcgd2l0aCB0aGUgZGF0YS4gIFNvbWV0aW1lcyBpdCdzIGNhbGxlZCBhIFxcXCJmaWx0ZXJcXFwiLFxcbi8vIGJ1dCB0aGF0J3Mgbm90IGEgZ3JlYXQgbmFtZSBmb3IgaXQsIHNpbmNlIHRoYXQgaW1wbGllcyBhIHRoaW5nIHdoZXJlXFxuLy8gc29tZSBiaXRzIHBhc3MgdGhyb3VnaCwgYW5kIG90aGVycyBhcmUgc2ltcGx5IGlnbm9yZWQuICAoVGhhdCB3b3VsZFxcbi8vIGJlIGEgdmFsaWQgZXhhbXBsZSBvZiBhIHRyYW5zZm9ybSwgb2YgY291cnNlLilcXG4vL1xcbi8vIFdoaWxlIHRoZSBvdXRwdXQgaXMgY2F1c2FsbHkgcmVsYXRlZCB0byB0aGUgaW5wdXQsIGl0J3Mgbm90IGFcXG4vLyBuZWNlc3NhcmlseSBzeW1tZXRyaWMgb3Igc3luY2hyb25vdXMgdHJhbnNmb3JtYXRpb24uICBGb3IgZXhhbXBsZSxcXG4vLyBhIHpsaWIgc3RyZWFtIG1pZ2h0IHRha2UgbXVsdGlwbGUgcGxhaW4tdGV4dCB3cml0ZXMoKSwgYW5kIHRoZW5cXG4vLyBlbWl0IGEgc2luZ2xlIGNvbXByZXNzZWQgY2h1bmsgc29tZSB0aW1lIGluIHRoZSBmdXR1cmUuXFxuLy9cXG4vLyBIZXJlJ3MgaG93IHRoaXMgd29ya3M6XFxuLy9cXG4vLyBUaGUgVHJhbnNmb3JtIHN0cmVhbSBoYXMgYWxsIHRoZSBhc3BlY3RzIG9mIHRoZSByZWFkYWJsZSBhbmQgd3JpdGFibGVcXG4vLyBzdHJlYW0gY2xhc3Nlcy4gIFdoZW4geW91IHdyaXRlKGNodW5rKSwgdGhhdCBjYWxscyBfd3JpdGUoY2h1bmssY2IpXFxuLy8gaW50ZXJuYWxseSwgYW5kIHJldHVybnMgZmFsc2UgaWYgdGhlcmUncyBhIGxvdCBvZiBwZW5kaW5nIHdyaXRlc1xcbi8vIGJ1ZmZlcmVkIHVwLiAgV2hlbiB5b3UgY2FsbCByZWFkKCksIHRoYXQgY2FsbHMgX3JlYWQobikgdW50aWxcXG4vLyB0aGVyZSdzIGVub3VnaCBwZW5kaW5nIHJlYWRhYmxlIGRhdGEgYnVmZmVyZWQgdXAuXFxuLy9cXG4vLyBJbiBhIHRyYW5zZm9ybSBzdHJlYW0sIHRoZSB3cml0dGVuIGRhdGEgaXMgcGxhY2VkIGluIGEgYnVmZmVyLiAgV2hlblxcbi8vIF9yZWFkKG4pIGlzIGNhbGxlZCwgaXQgdHJhbnNmb3JtcyB0aGUgcXVldWVkIHVwIGRhdGEsIGNhbGxpbmcgdGhlXFxuLy8gYnVmZmVyZWQgX3dyaXRlIGNiJ3MgYXMgaXQgY29uc3VtZXMgY2h1bmtzLiAgSWYgY29uc3VtaW5nIGEgc2luZ2xlXFxuLy8gd3JpdHRlbiBjaHVuayB3b3VsZCByZXN1bHQgaW4gbXVsdGlwbGUgb3V0cHV0IGNodW5rcywgdGhlbiB0aGUgZmlyc3RcXG4vLyBvdXRwdXR0ZWQgYml0IGNhbGxzIHRoZSByZWFkY2IsIGFuZCBzdWJzZXF1ZW50IGNodW5rcyBqdXN0IGdvIGludG9cXG4vLyB0aGUgcmVhZCBidWZmZXIsIGFuZCB3aWxsIGNhdXNlIGl0IHRvIGVtaXQgJ3JlYWRhYmxlJyBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyBUaGlzIHdheSwgYmFjay1wcmVzc3VyZSBpcyBhY3R1YWxseSBkZXRlcm1pbmVkIGJ5IHRoZSByZWFkaW5nIHNpZGUsXFxuLy8gc2luY2UgX3JlYWQgaGFzIHRvIGJlIGNhbGxlZCB0byBzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGNodW5rLiAgSG93ZXZlcixcXG4vLyBhIHBhdGhvbG9naWNhbCBpbmZsYXRlIHR5cGUgb2YgdHJhbnNmb3JtIGNhbiBjYXVzZSBleGNlc3NpdmUgYnVmZmVyaW5nXFxuLy8gaGVyZS4gIEZvciBleGFtcGxlLCBpbWFnaW5lIGEgc3RyZWFtIHdoZXJlIGV2ZXJ5IGJ5dGUgb2YgaW5wdXQgaXNcXG4vLyBpbnRlcnByZXRlZCBhcyBhbiBpbnRlZ2VyIGZyb20gMC0yNTUsIGFuZCB0aGVuIHJlc3VsdHMgaW4gdGhhdCBtYW55XFxuLy8gYnl0ZXMgb2Ygb3V0cHV0LiAgV3JpdGluZyB0aGUgNCBieXRlcyB7ZmYsZmYsZmYsZmZ9IHdvdWxkIHJlc3VsdCBpblxcbi8vIDFrYiBvZiBkYXRhIGJlaW5nIG91dHB1dC4gIEluIHRoaXMgY2FzZSwgeW91IGNvdWxkIHdyaXRlIGEgdmVyeSBzbWFsbFxcbi8vIGFtb3VudCBvZiBpbnB1dCwgYW5kIGVuZCB1cCB3aXRoIGEgdmVyeSBsYXJnZSBhbW91bnQgb2Ygb3V0cHV0LiAgSW5cXG4vLyBzdWNoIGEgcGF0aG9sb2dpY2FsIGluZmxhdGluZyBtZWNoYW5pc20sIHRoZXJlJ2QgYmUgbm8gd2F5IHRvIHRlbGxcXG4vLyB0aGUgc3lzdGVtIHRvIHN0b3AgZG9pbmcgdGhlIHRyYW5zZm9ybS4gIEEgc2luZ2xlIDRNQiB3cml0ZSBjb3VsZFxcbi8vIGNhdXNlIHRoZSBzeXN0ZW0gdG8gcnVuIG91dCBvZiBtZW1vcnkuXFxuLy9cXG4vLyBIb3dldmVyLCBldmVuIGluIHN1Y2ggYSBwYXRob2xvZ2ljYWwgY2FzZSwgb25seSBhIHNpbmdsZSB3cml0dGVuIGNodW5rXFxuLy8gd291bGQgYmUgY29uc3VtZWQsIGFuZCB0aGVuIHRoZSByZXN0IHdvdWxkIHdhaXQgKHVuLXRyYW5zZm9ybWVkKSB1bnRpbFxcbi8vIHRoZSByZXN1bHRzIG9mIHRoZSBwcmV2aW91cyB0cmFuc2Zvcm1lZCBjaHVuayB3ZXJlIGNvbnN1bWVkLlxcblxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gVHJhbnNmb3JtO1xcblxcbnZhciBEdXBsZXggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fZHVwbGV4ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtdXRpbC1pcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzXFxcIik7XFxudXRpbC5pbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxudXRpbC5pbmhlcml0cyhUcmFuc2Zvcm0sIER1cGxleCk7XFxuXFxuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMudHJhbnNmb3JtaW5nID0gZmFsc2U7XFxuXFxuICB2YXIgY2IgPSB0cy53cml0ZWNiO1xcblxcbiAgaWYgKCFjYikge1xcbiAgICByZXR1cm4gdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFcnJvcignd3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzJykpO1xcbiAgfVxcblxcbiAgdHMud3JpdGVjaHVuayA9IG51bGw7XFxuICB0cy53cml0ZWNiID0gbnVsbDtcXG5cXG4gIGlmIChkYXRhICE9IG51bGwpIC8vIHNpbmdsZSBlcXVhbHMgY2hlY2sgZm9yIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYFxcbiAgICB0aGlzLnB1c2goZGF0YSk7XFxuXFxuICBjYihlcik7XFxuXFxuICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgcnMucmVhZGluZyA9IGZhbHNlO1xcbiAgaWYgKHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB7XFxuICAgIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIFRyYW5zZm9ybShvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgVHJhbnNmb3JtKSkgcmV0dXJuIG5ldyBUcmFuc2Zvcm0ob3B0aW9ucyk7XFxuXFxuICBEdXBsZXguY2FsbCh0aGlzLCBvcHRpb25zKTtcXG5cXG4gIHRoaXMuX3RyYW5zZm9ybVN0YXRlID0ge1xcbiAgICBhZnRlclRyYW5zZm9ybTogYWZ0ZXJUcmFuc2Zvcm0uYmluZCh0aGlzKSxcXG4gICAgbmVlZFRyYW5zZm9ybTogZmFsc2UsXFxuICAgIHRyYW5zZm9ybWluZzogZmFsc2UsXFxuICAgIHdyaXRlY2I6IG51bGwsXFxuICAgIHdyaXRlY2h1bms6IG51bGwsXFxuICAgIHdyaXRlZW5jb2Rpbmc6IG51bGxcXG4gIH07XFxuXFxuICAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcXG5cXG4gIC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xcbiAgLy8gdGhhdCBSZWFkYWJsZSB3YW50cyBiZWZvcmUgdGhlIGZpcnN0IF9yZWFkIGNhbGwsIHNvIHVuc2V0IHRoZVxcbiAgLy8gc3luYyBndWFyZCBmbGFnLlxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcXG5cXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmZsdXNoID09PSAnZnVuY3Rpb24nKSB0aGlzLl9mbHVzaCA9IG9wdGlvbnMuZmx1c2g7XFxuICB9XFxuXFxuICAvLyBXaGVuIHRoZSB3cml0YWJsZSBzaWRlIGZpbmlzaGVzLCB0aGVuIGZsdXNoIG91dCBhbnl0aGluZyByZW1haW5pbmcuXFxuICB0aGlzLm9uKCdwcmVmaW5pc2gnLCBwcmVmaW5pc2gpO1xcbn1cXG5cXG5mdW5jdGlvbiBwcmVmaW5pc2goKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgaWYgKHR5cGVvZiB0aGlzLl9mbHVzaCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICB0aGlzLl9mbHVzaChmdW5jdGlvbiAoZXIsIGRhdGEpIHtcXG4gICAgICBkb25lKF90aGlzLCBlciwgZGF0YSk7XFxuICAgIH0pO1xcbiAgfSBlbHNlIHtcXG4gICAgZG9uZSh0aGlzLCBudWxsLCBudWxsKTtcXG4gIH1cXG59XFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybSA9IGZhbHNlO1xcbiAgcmV0dXJuIER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsIGNodW5rLCBlbmNvZGluZyk7XFxufTtcXG5cXG4vLyBUaGlzIGlzIHRoZSBwYXJ0IHdoZXJlIHlvdSBkbyBzdHVmZiFcXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXFxuLy8gJ2NodW5rJyBpcyBhbiBpbnB1dCBjaHVuay5cXG4vL1xcbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxcbi8vIHRvIHRoZSByZWFkYWJsZSBzaWRlLiAgWW91IG1heSBjYWxsICdwdXNoJyB6ZXJvIG9yIG1vcmUgdGltZXMuXFxuLy9cXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xcbi8vIGFuIGVycm9yLCB0aGVuIHRoYXQnbGwgcHV0IHRoZSBodXJ0IG9uIHRoZSB3aG9sZSBvcGVyYXRpb24uICBJZiB5b3VcXG4vLyBuZXZlciBjYWxsIGNiKCksIHRoZW4geW91J2xsIG5ldmVyIGdldCBhbm90aGVyIGNodW5rLlxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ190cmFuc2Zvcm0oKSBpcyBub3QgaW1wbGVtZW50ZWQnKTtcXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMud3JpdGVjYiA9IGNiO1xcbiAgdHMud3JpdGVjaHVuayA9IGNodW5rO1xcbiAgdHMud3JpdGVlbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcXG4gICAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgaWYgKHRzLm5lZWRUcmFuc2Zvcm0gfHwgcnMubmVlZFJlYWRhYmxlIHx8IHJzLmxlbmd0aCA8IHJzLmhpZ2hXYXRlck1hcmspIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XFxuICB9XFxufTtcXG5cXG4vLyBEb2Vzbid0IG1hdHRlciB3aGF0IHRoZSBhcmdzIGFyZSBoZXJlLlxcbi8vIF90cmFuc2Zvcm0gZG9lcyBhbGwgdGhlIHdvcmsuXFxuLy8gVGhhdCB3ZSBnb3QgaGVyZSBtZWFucyB0aGF0IHRoZSByZWFkYWJsZSBzaWRlIHdhbnRzIG1vcmUgZGF0YS5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcblxcbiAgaWYgKHRzLndyaXRlY2h1bmsgIT09IG51bGwgJiYgdHMud3JpdGVjYiAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XFxuICAgIHRzLnRyYW5zZm9ybWluZyA9IHRydWU7XFxuICAgIHRoaXMuX3RyYW5zZm9ybSh0cy53cml0ZWNodW5rLCB0cy53cml0ZWVuY29kaW5nLCB0cy5hZnRlclRyYW5zZm9ybSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBtYXJrIHRoYXQgd2UgbmVlZCBhIHRyYW5zZm9ybSwgc28gdGhhdCBhbnkgZGF0YSB0aGF0IGNvbWVzIGluXFxuICAgIC8vIHdpbGwgZ2V0IHByb2Nlc3NlZCwgbm93IHRoYXQgd2UndmUgYXNrZWQgZm9yIGl0LlxcbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcXG4gIH1cXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgdmFyIF90aGlzMiA9IHRoaXM7XFxuXFxuICBEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcywgZXJyLCBmdW5jdGlvbiAoZXJyMikge1xcbiAgICBjYihlcnIyKTtcXG4gICAgX3RoaXMyLmVtaXQoJ2Nsb3NlJyk7XFxuICB9KTtcXG59O1xcblxcbmZ1bmN0aW9uIGRvbmUoc3RyZWFtLCBlciwgZGF0YSkge1xcbiAgaWYgKGVyKSByZXR1cm4gc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcblxcbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXFxuICAgIHN0cmVhbS5wdXNoKGRhdGEpO1xcblxcbiAgLy8gaWYgdGhlcmUncyBub3RoaW5nIGluIHRoZSB3cml0ZSBidWZmZXIsIHRoZW4gdGhhdCBtZWFuc1xcbiAgLy8gdGhhdCBub3RoaW5nIG1vcmUgd2lsbCBldmVyIGJlIHByb3ZpZGVkXFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gd3MubGVuZ3RoICE9IDAnKTtcXG5cXG4gIGlmIChzdHJlYW0uX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZykgdGhyb3cgbmV3IEVycm9yKCdDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gc3RpbGwgdHJhbnNmb3JtaW5nJyk7XFxuXFxuICByZXR1cm4gc3RyZWFtLnB1c2gobnVsbCk7XFxufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmRISmhibk5tYjNKdExtcHpQek5tTkRBaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERCRFFVRXdReXhaUVVGWk8wRkJRM1JFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGWVRzN1FVRkZZanM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc09FVkJRV3RDT3p0QlFVVjJRenRCUVVOQkxGZEJRVmNzYlVKQlFVOHNRMEZCUXl3MlJFRkJZenRCUVVOcVF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnNRenM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjkwY21GdWMyWnZjbTB1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JseHVMeThnWVNCMGNtRnVjMlp2Y20wZ2MzUnlaV0Z0SUdseklHRWdjbVZoWkdGaWJHVXZkM0pwZEdGaWJHVWdjM1J5WldGdElIZG9aWEpsSUhsdmRTQmtiMXh1THk4Z2MyOXRaWFJvYVc1bklIZHBkR2dnZEdobElHUmhkR0V1SUNCVGIyMWxkR2x0WlhNZ2FYUW5jeUJqWVd4c1pXUWdZU0JjSW1acGJIUmxjbHdpTEZ4dUx5OGdZblYwSUhSb1lYUW5jeUJ1YjNRZ1lTQm5jbVZoZENCdVlXMWxJR1p2Y2lCcGRDd2djMmx1WTJVZ2RHaGhkQ0JwYlhCc2FXVnpJR0VnZEdocGJtY2dkMmhsY21WY2JpOHZJSE52YldVZ1ltbDBjeUJ3WVhOeklIUm9jbTkxWjJnc0lHRnVaQ0J2ZEdobGNuTWdZWEpsSUhOcGJYQnNlU0JwWjI1dmNtVmtMaUFnS0ZSb1lYUWdkMjkxYkdSY2JpOHZJR0psSUdFZ2RtRnNhV1FnWlhoaGJYQnNaU0J2WmlCaElIUnlZVzV6Wm05eWJTd2diMllnWTI5MWNuTmxMaWxjYmk4dlhHNHZMeUJYYUdsc1pTQjBhR1VnYjNWMGNIVjBJR2x6SUdOaGRYTmhiR3g1SUhKbGJHRjBaV1FnZEc4Z2RHaGxJR2x1Y0hWMExDQnBkQ2R6SUc1dmRDQmhYRzR2THlCdVpXTmxjM05oY21sc2VTQnplVzF0WlhSeWFXTWdiM0lnYzNsdVkyaHliMjV2ZFhNZ2RISmhibk5tYjNKdFlYUnBiMjR1SUNCR2IzSWdaWGhoYlhCc1pTeGNiaTh2SUdFZ2VteHBZaUJ6ZEhKbFlXMGdiV2xuYUhRZ2RHRnJaU0J0ZFd4MGFYQnNaU0J3YkdGcGJpMTBaWGgwSUhkeWFYUmxjeWdwTENCaGJtUWdkR2hsYmx4dUx5OGdaVzFwZENCaElITnBibWRzWlNCamIyMXdjbVZ6YzJWa0lHTm9kVzVySUhOdmJXVWdkR2x0WlNCcGJpQjBhR1VnWm5WMGRYSmxMbHh1THk5Y2JpOHZJRWhsY21VbmN5Qm9iM2NnZEdocGN5QjNiM0pyY3pwY2JpOHZYRzR2THlCVWFHVWdWSEpoYm5ObWIzSnRJSE4wY21WaGJTQm9ZWE1nWVd4c0lIUm9aU0JoYzNCbFkzUnpJRzltSUhSb1pTQnlaV0ZrWVdKc1pTQmhibVFnZDNKcGRHRmliR1ZjYmk4dklITjBjbVZoYlNCamJHRnpjMlZ6TGlBZ1YyaGxiaUI1YjNVZ2QzSnBkR1VvWTJoMWJtc3BMQ0IwYUdGMElHTmhiR3h6SUY5M2NtbDBaU2hqYUhWdWF5eGpZaWxjYmk4dklHbHVkR1Z5Ym1Gc2JIa3NJR0Z1WkNCeVpYUjFjbTV6SUdaaGJITmxJR2xtSUhSb1pYSmxKM01nWVNCc2IzUWdiMllnY0dWdVpHbHVaeUIzY21sMFpYTmNiaTh2SUdKMVptWmxjbVZrSUhWd0xpQWdWMmhsYmlCNWIzVWdZMkZzYkNCeVpXRmtLQ2tzSUhSb1lYUWdZMkZzYkhNZ1gzSmxZV1FvYmlrZ2RXNTBhV3hjYmk4dklIUm9aWEpsSjNNZ1pXNXZkV2RvSUhCbGJtUnBibWNnY21WaFpHRmliR1VnWkdGMFlTQmlkV1ptWlhKbFpDQjFjQzVjYmk4dlhHNHZMeUJKYmlCaElIUnlZVzV6Wm05eWJTQnpkSEpsWVcwc0lIUm9aU0IzY21sMGRHVnVJR1JoZEdFZ2FYTWdjR3hoWTJWa0lHbHVJR0VnWW5WbVptVnlMaUFnVjJobGJseHVMeThnWDNKbFlXUW9iaWtnYVhNZ1kyRnNiR1ZrTENCcGRDQjBjbUZ1YzJadmNtMXpJSFJvWlNCeGRXVjFaV1FnZFhBZ1pHRjBZU3dnWTJGc2JHbHVaeUIwYUdWY2JpOHZJR0oxWm1abGNtVmtJRjkzY21sMFpTQmpZaWR6SUdGeklHbDBJR052Ym5OMWJXVnpJR05vZFc1cmN5NGdJRWxtSUdOdmJuTjFiV2x1WnlCaElITnBibWRzWlZ4dUx5OGdkM0pwZEhSbGJpQmphSFZ1YXlCM2IzVnNaQ0J5WlhOMWJIUWdhVzRnYlhWc2RHbHdiR1VnYjNWMGNIVjBJR05vZFc1cmN5d2dkR2hsYmlCMGFHVWdabWx5YzNSY2JpOHZJRzkxZEhCMWRIUmxaQ0JpYVhRZ1kyRnNiSE1nZEdobElISmxZV1JqWWl3Z1lXNWtJSE4xWW5ObGNYVmxiblFnWTJoMWJtdHpJR3AxYzNRZ1oyOGdhVzUwYjF4dUx5OGdkR2hsSUhKbFlXUWdZblZtWm1WeUxDQmhibVFnZDJsc2JDQmpZWFZ6WlNCcGRDQjBieUJsYldsMElDZHlaV0ZrWVdKc1pTY2dhV1lnYm1WalpYTnpZWEo1TGx4dUx5OWNiaTh2SUZSb2FYTWdkMkY1TENCaVlXTnJMWEJ5WlhOemRYSmxJR2x6SUdGamRIVmhiR3g1SUdSbGRHVnliV2x1WldRZ1lua2dkR2hsSUhKbFlXUnBibWNnYzJsa1pTeGNiaTh2SUhOcGJtTmxJRjl5WldGa0lHaGhjeUIwYnlCaVpTQmpZV3hzWldRZ2RHOGdjM1JoY25RZ2NISnZZMlZ6YzJsdVp5QmhJRzVsZHlCamFIVnVheTRnSUVodmQyVjJaWElzWEc0dkx5QmhJSEJoZEdodmJHOW5hV05oYkNCcGJtWnNZWFJsSUhSNWNHVWdiMllnZEhKaGJuTm1iM0p0SUdOaGJpQmpZWFZ6WlNCbGVHTmxjM05wZG1VZ1luVm1abVZ5YVc1blhHNHZMeUJvWlhKbExpQWdSbTl5SUdWNFlXMXdiR1VzSUdsdFlXZHBibVVnWVNCemRISmxZVzBnZDJobGNtVWdaWFpsY25rZ1lubDBaU0J2WmlCcGJuQjFkQ0JwYzF4dUx5OGdhVzUwWlhKd2NtVjBaV1FnWVhNZ1lXNGdhVzUwWldkbGNpQm1jbTl0SURBdE1qVTFMQ0JoYm1RZ2RHaGxiaUJ5WlhOMWJIUnpJR2x1SUhSb1lYUWdiV0Z1ZVZ4dUx5OGdZbmwwWlhNZ2IyWWdiM1YwY0hWMExpQWdWM0pwZEdsdVp5QjBhR1VnTkNCaWVYUmxjeUI3Wm1Zc1ptWXNabVlzWm1aOUlIZHZkV3hrSUhKbGMzVnNkQ0JwYmx4dUx5OGdNV3RpSUc5bUlHUmhkR0VnWW1WcGJtY2diM1YwY0hWMExpQWdTVzRnZEdocGN5QmpZWE5sTENCNWIzVWdZMjkxYkdRZ2QzSnBkR1VnWVNCMlpYSjVJSE50WVd4c1hHNHZMeUJoYlc5MWJuUWdiMllnYVc1d2RYUXNJR0Z1WkNCbGJtUWdkWEFnZDJsMGFDQmhJSFpsY25rZ2JHRnlaMlVnWVcxdmRXNTBJRzltSUc5MWRIQjFkQzRnSUVsdVhHNHZMeUJ6ZFdOb0lHRWdjR0YwYUc5c2IyZHBZMkZzSUdsdVpteGhkR2x1WnlCdFpXTm9ZVzVwYzIwc0lIUm9aWEpsSjJRZ1ltVWdibThnZDJGNUlIUnZJSFJsYkd4Y2JpOHZJSFJvWlNCemVYTjBaVzBnZEc4Z2MzUnZjQ0JrYjJsdVp5QjBhR1VnZEhKaGJuTm1iM0p0TGlBZ1FTQnphVzVuYkdVZ05FMUNJSGR5YVhSbElHTnZkV3hrWEc0dkx5QmpZWFZ6WlNCMGFHVWdjM2x6ZEdWdElIUnZJSEoxYmlCdmRYUWdiMllnYldWdGIzSjVMbHh1THk5Y2JpOHZJRWh2ZDJWMlpYSXNJR1YyWlc0Z2FXNGdjM1ZqYUNCaElIQmhkR2h2Ykc5bmFXTmhiQ0JqWVhObExDQnZibXg1SUdFZ2MybHVaMnhsSUhkeWFYUjBaVzRnWTJoMWJtdGNiaTh2SUhkdmRXeGtJR0psSUdOdmJuTjFiV1ZrTENCaGJtUWdkR2hsYmlCMGFHVWdjbVZ6ZENCM2IzVnNaQ0IzWVdsMElDaDFiaTEwY21GdWMyWnZjbTFsWkNrZ2RXNTBhV3hjYmk4dklIUm9aU0J5WlhOMWJIUnpJRzltSUhSb1pTQndjbVYyYVc5MWN5QjBjbUZ1YzJadmNtMWxaQ0JqYUhWdWF5QjNaWEpsSUdOdmJuTjFiV1ZrTGx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1ZISmhibk5tYjNKdE8xeHVYRzUyWVhJZ1JIVndiR1Y0SUQwZ2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE8xeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlIVjBhV3dnUFNCeVpYRjFhWEpsS0NkamIzSmxMWFYwYVd3dGFYTW5LVHRjYm5WMGFXd3VhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwTzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiblYwYVd3dWFXNW9aWEpwZEhNb1ZISmhibk5tYjNKdExDQkVkWEJzWlhncE8xeHVYRzVtZFc1amRHbHZiaUJoWm5SbGNsUnlZVzV6Wm05eWJTaGxjaXdnWkdGMFlTa2dlMXh1SUNCMllYSWdkSE1nUFNCMGFHbHpMbDkwY21GdWMyWnZjbTFUZEdGMFpUdGNiaUFnZEhNdWRISmhibk5tYjNKdGFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ2RtRnlJR05pSUQwZ2RITXVkM0pwZEdWallqdGNibHh1SUNCcFppQW9JV05pS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpXMXBkQ2duWlhKeWIzSW5MQ0J1WlhjZ1JYSnliM0lvSjNkeWFYUmxJR05oYkd4aVlXTnJJR05oYkd4bFpDQnRkV3gwYVhCc1pTQjBhVzFsY3ljcEtUdGNiaUFnZlZ4dVhHNGdJSFJ6TG5keWFYUmxZMmgxYm1zZ1BTQnVkV3hzTzF4dUlDQjBjeTUzY21sMFpXTmlJRDBnYm5Wc2JEdGNibHh1SUNCcFppQW9aR0YwWVNBaFBTQnVkV3hzS1NBdkx5QnphVzVuYkdVZ1pYRjFZV3h6SUdOb1pXTnJJR1p2Y2lCaWIzUm9JR0J1ZFd4c1lDQmhibVFnWUhWdVpHVm1hVzVsWkdCY2JpQWdJQ0IwYUdsekxuQjFjMmdvWkdGMFlTazdYRzVjYmlBZ1kySW9aWElwTzF4dVhHNGdJSFpoY2lCeWN5QTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lISnpMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNiaUFnYVdZZ0tISnpMbTVsWldSU1pXRmtZV0pzWlNCOGZDQnljeTVzWlc1bmRHZ2dQQ0J5Y3k1b2FXZG9WMkYwWlhKTllYSnJLU0I3WEc0Z0lDQWdkR2hwY3k1ZmNtVmhaQ2h5Y3k1b2FXZG9WMkYwWlhKTllYSnJLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCVWNtRnVjMlp2Y20wb2IzQjBhVzl1Y3lrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1ZISmhibk5tYjNKdEtTa2djbVYwZFhKdUlHNWxkeUJVY21GdWMyWnZjbTBvYjNCMGFXOXVjeWs3WEc1Y2JpQWdSSFZ3YkdWNExtTmhiR3dvZEdocGN5d2diM0IwYVc5dWN5azdYRzVjYmlBZ2RHaHBjeTVmZEhKaGJuTm1iM0p0VTNSaGRHVWdQU0I3WEc0Z0lDQWdZV1owWlhKVWNtRnVjMlp2Y20wNklHRm1kR1Z5VkhKaGJuTm1iM0p0TG1KcGJtUW9kR2hwY3lrc1hHNGdJQ0FnYm1WbFpGUnlZVzV6Wm05eWJUb2dabUZzYzJVc1hHNGdJQ0FnZEhKaGJuTm1iM0p0YVc1bk9pQm1ZV3h6WlN4Y2JpQWdJQ0IzY21sMFpXTmlPaUJ1ZFd4c0xGeHVJQ0FnSUhkeWFYUmxZMmgxYm1zNklHNTFiR3dzWEc0Z0lDQWdkM0pwZEdWbGJtTnZaR2x1WnpvZ2JuVnNiRnh1SUNCOU8xeHVYRzRnSUM4dklITjBZWEowSUc5MWRDQmhjMnRwYm1jZ1ptOXlJR0VnY21WaFpHRmliR1VnWlhabGJuUWdiMjVqWlNCa1lYUmhJR2x6SUhSeVlXNXpabTl5YldWa0xseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN1hHNWNiaUFnTHk4Z2QyVWdhR0YyWlNCcGJYQnNaVzFsYm5SbFpDQjBhR1VnWDNKbFlXUWdiV1YwYUc5a0xDQmhibVFnWkc5dVpTQjBhR1VnYjNSb1pYSWdkR2hwYm1kelhHNGdJQzh2SUhSb1lYUWdVbVZoWkdGaWJHVWdkMkZ1ZEhNZ1ltVm1iM0psSUhSb1pTQm1hWEp6ZENCZmNtVmhaQ0JqWVd4c0xDQnpieUIxYm5ObGRDQjBhR1ZjYmlBZ0x5OGdjM2x1WXlCbmRXRnlaQ0JtYkdGbkxseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5ONWJtTWdQU0JtWVd4elpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NTBjbUZ1YzJadmNtMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNSeVlXNXpabTl5YlNBOUlHOXdkR2x2Ym5NdWRISmhibk5tYjNKdE8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZjSFJwYjI1ekxtWnNkWE5vSUQwOVBTQW5ablZ1WTNScGIyNG5LU0IwYUdsekxsOW1iSFZ6YUNBOUlHOXdkR2x2Ym5NdVpteDFjMmc3WEc0Z0lIMWNibHh1SUNBdkx5QlhhR1Z1SUhSb1pTQjNjbWwwWVdKc1pTQnphV1JsSUdacGJtbHphR1Z6TENCMGFHVnVJR1pzZFhOb0lHOTFkQ0JoYm5sMGFHbHVaeUJ5WlcxaGFXNXBibWN1WEc0Z0lIUm9hWE11YjI0b0ozQnlaV1pwYm1semFDY3NJSEJ5WldacGJtbHphQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEJ5WldacGJtbHphQ2dwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNCcFppQW9kSGx3Wlc5bUlIUm9hWE11WDJac2RYTm9JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ2RHaHBjeTVmWm14MWMyZ29ablZ1WTNScGIyNGdLR1Z5TENCa1lYUmhLU0I3WEc0Z0lDQWdJQ0JrYjI1bEtGOTBhR2x6TENCbGNpd2daR0YwWVNrN1hHNGdJQ0FnZlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pHOXVaU2gwYUdsekxDQnVkV3hzTENCdWRXeHNLVHRjYmlBZ2ZWeHVmVnh1WEc1VWNtRnVjMlp2Y20wdWNISnZkRzkwZVhCbExuQjFjMmdnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuS1NCN1hHNGdJSFJvYVhNdVgzUnlZVzV6Wm05eWJWTjBZWFJsTG01bFpXUlVjbUZ1YzJadmNtMGdQU0JtWVd4elpUdGNiaUFnY21WMGRYSnVJRVIxY0d4bGVDNXdjbTkwYjNSNWNHVXVjSFZ6YUM1allXeHNLSFJvYVhNc0lHTm9kVzVyTENCbGJtTnZaR2x1WnlrN1hHNTlPMXh1WEc0dkx5QlVhR2x6SUdseklIUm9aU0J3WVhKMElIZG9aWEpsSUhsdmRTQmtieUJ6ZEhWbVppRmNiaTh2SUc5MlpYSnlhV1JsSUhSb2FYTWdablZ1WTNScGIyNGdhVzRnYVcxd2JHVnRaVzUwWVhScGIyNGdZMnhoYzNObGN5NWNiaTh2SUNkamFIVnVheWNnYVhNZ1lXNGdhVzV3ZFhRZ1kyaDFibXN1WEc0dkwxeHVMeThnUTJGc2JDQmdjSFZ6YUNodVpYZERhSFZ1YXlsZ0lIUnZJSEJoYzNNZ1lXeHZibWNnZEhKaGJuTm1iM0p0WldRZ2IzVjBjSFYwWEc0dkx5QjBieUIwYUdVZ2NtVmhaR0ZpYkdVZ2MybGtaUzRnSUZsdmRTQnRZWGtnWTJGc2JDQW5jSFZ6YUNjZ2VtVnlieUJ2Y2lCdGIzSmxJSFJwYldWekxseHVMeTljYmk4dklFTmhiR3dnWUdOaUtHVnljaWxnSUhkb1pXNGdlVzkxSUdGeVpTQmtiMjVsSUhkcGRHZ2dkR2hwY3lCamFIVnVheTRnSUVsbUlIbHZkU0J3WVhOelhHNHZMeUJoYmlCbGNuSnZjaXdnZEdobGJpQjBhR0YwSjJ4c0lIQjFkQ0IwYUdVZ2FIVnlkQ0J2YmlCMGFHVWdkMmh2YkdVZ2IzQmxjbUYwYVc5dUxpQWdTV1lnZVc5MVhHNHZMeUJ1WlhabGNpQmpZV3hzSUdOaUtDa3NJSFJvWlc0Z2VXOTFKMnhzSUc1bGRtVnlJR2RsZENCaGJtOTBhR1Z5SUdOb2RXNXJMbHh1VkhKaGJuTm1iM0p0TG5CeWIzUnZkSGx3WlM1ZmRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwSUh0Y2JpQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGZkSEpoYm5ObWIzSnRLQ2tnYVhNZ2JtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlrN1hHNTlPMXh1WEc1VWNtRnVjMlp2Y20wdWNISnZkRzkwZVhCbExsOTNjbWwwWlNBOUlHWjFibU4wYVc5dUlDaGphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLU0I3WEc0Z0lIWmhjaUIwY3lBOUlIUm9hWE11WDNSeVlXNXpabTl5YlZOMFlYUmxPMXh1SUNCMGN5NTNjbWwwWldOaUlEMGdZMkk3WEc0Z0lIUnpMbmR5YVhSbFkyaDFibXNnUFNCamFIVnVhenRjYmlBZ2RITXVkM0pwZEdWbGJtTnZaR2x1WnlBOUlHVnVZMjlrYVc1bk8xeHVJQ0JwWmlBb0lYUnpMblJ5WVc1elptOXliV2x1WnlrZ2UxeHVJQ0FnSUhaaGNpQnljeUE5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJQ0FnYVdZZ0tIUnpMbTVsWldSVWNtRnVjMlp2Y20wZ2ZId2djbk11Ym1WbFpGSmxZV1JoWW14bElIeDhJSEp6TG14bGJtZDBhQ0E4SUhKekxtaHBaMmhYWVhSbGNrMWhjbXNwSUhSb2FYTXVYM0psWVdRb2NuTXVhR2xuYUZkaGRHVnlUV0Z5YXlrN1hHNGdJSDFjYm4wN1hHNWNiaTh2SUVSdlpYTnVKM1FnYldGMGRHVnlJSGRvWVhRZ2RHaGxJR0Z5WjNNZ1lYSmxJR2hsY21VdVhHNHZMeUJmZEhKaGJuTm1iM0p0SUdSdlpYTWdZV3hzSUhSb1pTQjNiM0pyTGx4dUx5OGdWR2hoZENCM1pTQm5iM1FnYUdWeVpTQnRaV0Z1Y3lCMGFHRjBJSFJvWlNCeVpXRmtZV0pzWlNCemFXUmxJSGRoYm5SeklHMXZjbVVnWkdGMFlTNWNibFJ5WVc1elptOXliUzV3Y205MGIzUjVjR1V1WDNKbFlXUWdQU0JtZFc1amRHbHZiaUFvYmlrZ2UxeHVJQ0IyWVhJZ2RITWdQU0IwYUdsekxsOTBjbUZ1YzJadmNtMVRkR0YwWlR0Y2JseHVJQ0JwWmlBb2RITXVkM0pwZEdWamFIVnVheUFoUFQwZ2JuVnNiQ0FtSmlCMGN5NTNjbWwwWldOaUlDWW1JQ0YwY3k1MGNtRnVjMlp2Y20xcGJtY3BJSHRjYmlBZ0lDQjBjeTUwY21GdWMyWnZjbTFwYm1jZ1BTQjBjblZsTzF4dUlDQWdJSFJvYVhNdVgzUnlZVzV6Wm05eWJTaDBjeTUzY21sMFpXTm9kVzVyTENCMGN5NTNjbWwwWldWdVkyOWthVzVuTENCMGN5NWhablJsY2xSeVlXNXpabTl5YlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdiV0Z5YXlCMGFHRjBJSGRsSUc1bFpXUWdZU0IwY21GdWMyWnZjbTBzSUhOdklIUm9ZWFFnWVc1NUlHUmhkR0VnZEdoaGRDQmpiMjFsY3lCcGJseHVJQ0FnSUM4dklIZHBiR3dnWjJWMElIQnliMk5sYzNObFpDd2dibTkzSUhSb1lYUWdkMlVuZG1VZ1lYTnJaV1FnWm05eUlHbDBMbHh1SUNBZ0lIUnpMbTVsWldSVWNtRnVjMlp2Y20wZ1BTQjBjblZsTzF4dUlDQjlYRzU5TzF4dVhHNVVjbUZ1YzJadmNtMHVjSEp2ZEc5MGVYQmxMbDlrWlhOMGNtOTVJRDBnWm5WdVkzUnBiMjRnS0dWeWNpd2dZMklwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpNaUE5SUhSb2FYTTdYRzVjYmlBZ1JIVndiR1Y0TG5CeWIzUnZkSGx3WlM1ZlpHVnpkSEp2ZVM1allXeHNLSFJvYVhNc0lHVnljaXdnWm5WdVkzUnBiMjRnS0dWeWNqSXBJSHRjYmlBZ0lDQmpZaWhsY25JeUtUdGNiaUFnSUNCZmRHaHBjekl1WlcxcGRDZ25ZMnh2YzJVbktUdGNiaUFnZlNrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCa2IyNWxLSE4wY21WaGJTd2daWElzSUdSaGRHRXBJSHRjYmlBZ2FXWWdLR1Z5S1NCeVpYUjFjbTRnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z1pYSXBPMXh1WEc0Z0lHbG1JQ2hrWVhSaElDRTlJRzUxYkd3cElDOHZJSE5wYm1kc1pTQmxjWFZoYkhNZ1kyaGxZMnNnWm05eUlHSnZkR2dnWUc1MWJHeGdJR0Z1WkNCZ2RXNWtaV1pwYm1Wa1lGeHVJQ0FnSUhOMGNtVmhiUzV3ZFhOb0tHUmhkR0VwTzF4dVhHNGdJQzh2SUdsbUlIUm9aWEpsSjNNZ2JtOTBhR2x1WnlCcGJpQjBhR1VnZDNKcGRHVWdZblZtWm1WeUxDQjBhR1Z1SUhSb1lYUWdiV1ZoYm5OY2JpQWdMeThnZEdoaGRDQnViM1JvYVc1bklHMXZjbVVnZDJsc2JDQmxkbVZ5SUdKbElIQnliM1pwWkdWa1hHNGdJR2xtSUNoemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXViR1Z1WjNSb0tTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owTmhiR3hwYm1jZ2RISmhibk5tYjNKdElHUnZibVVnZDJobGJpQjNjeTVzWlc1bmRHZ2dJVDBnTUNjcE8xeHVYRzRnSUdsbUlDaHpkSEpsWVcwdVgzUnlZVzV6Wm05eWJWTjBZWFJsTG5SeVlXNXpabTl5YldsdVp5a2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZERZV3hzYVc1bklIUnlZVzV6Wm05eWJTQmtiMjVsSUhkb1pXNGdjM1JwYkd3Z2RISmhibk5tYjNKdGFXNW5KeWs3WEc1Y2JpQWdjbVYwZFhKdUlITjBjbVZoYlM1d2RYTm9LRzUxYkd3cE8xeHVmU0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24ocHJvY2Vzcywgc2V0SW1tZWRpYXRlLCBnbG9iYWwpIHsvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG4vLyBBIGJpdCBzaW1wbGVyIHRoYW4gcmVhZGFibGUgc3RyZWFtcy5cXG4vLyBJbXBsZW1lbnQgYW4gYXN5bmMgLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKSwgYW5kIGl0J2xsIGhhbmRsZSBhbGxcXG4vLyB0aGUgZHJhaW4gZXZlbnQgZW1pc3Npb24gYW5kIGJ1ZmZlcmluZy5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBwbmEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwcm9jZXNzLW5leHRpY2stYXJncyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvaW5kZXguanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFdyaXRhYmxlO1xcblxcbi8qIDxyZXBsYWNlbWVudD4gKi9cXG5mdW5jdGlvbiBXcml0ZVJlcShjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB0aGlzLmNodW5rID0gY2h1bms7XFxuICB0aGlzLmVuY29kaW5nID0gZW5jb2Rpbmc7XFxuICB0aGlzLmNhbGxiYWNrID0gY2I7XFxuICB0aGlzLm5leHQgPSBudWxsO1xcbn1cXG5cXG4vLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3RcXG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cXG5mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KHN0YXRlKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdGhpcy5uZXh0ID0gbnVsbDtcXG4gIHRoaXMuZW50cnkgPSBudWxsO1xcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XFxuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XFxuICB9O1xcbn1cXG4vKiA8L3JlcGxhY2VtZW50PiAqL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIGFzeW5jV3JpdGUgPSAhcHJvY2Vzcy5icm93c2VyICYmIFsndjAuMTAnLCAndjAuOS4nXS5pbmRleE9mKHByb2Nlc3MudmVyc2lvbi5zbGljZSgwLCA1KSkgPiAtMSA/IHNldEltbWVkaWF0ZSA6IHBuYS5uZXh0VGljaztcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciBEdXBsZXg7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuV3JpdGFibGUuV3JpdGFibGVTdGF0ZSA9IFdyaXRhYmxlU3RhdGU7XFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtdXRpbC1pcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzXFxcIik7XFxudXRpbC5pbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgaW50ZXJuYWxVdGlsID0ge1xcbiAgZGVwcmVjYXRlOiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB1dGlsLWRlcHJlY2F0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qc1xcXCIpXFxufTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciBTdHJlYW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxudmFyIE91clVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcXG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XFxuICByZXR1cm4gQnVmZmVyLmZyb20oY2h1bmspO1xcbn1cXG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xcbiAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihvYmopIHx8IG9iaiBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXk7XFxufVxcblxcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbnZhciBkZXN0cm95SW1wbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qc1xcXCIpO1xcblxcbnV0aWwuaW5oZXJpdHMoV3JpdGFibGUsIFN0cmVhbSk7XFxuXFxuZnVuY3Rpb24gbm9wKCkge31cXG5cXG5mdW5jdGlvbiBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSkge1xcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG5cXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xcblxcbiAgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXFxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cXG4gIHZhciBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcXG5cXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIG9yIG5vdCB0aGlzIHN0cmVhbVxcbiAgLy8gY29udGFpbnMgYnVmZmVycyBvciBvYmplY3RzLlxcbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XFxuXFxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMud3JpdGFibGVPYmplY3RNb2RlO1xcblxcbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIHdyaXRlKCkgc3RhcnRzIHJldHVybmluZyBmYWxzZVxcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyB0aGF0IHdlIGFsd2F5cyByZXR1cm4gZmFsc2UgaWZcXG4gIC8vIHRoZSBlbnRpcmUgYnVmZmVyIGlzIG5vdCBmbHVzaGVkIGltbWVkaWF0ZWx5IG9uIHdyaXRlKClcXG4gIHZhciBod20gPSBvcHRpb25zLmhpZ2hXYXRlck1hcms7XFxuICB2YXIgd3JpdGFibGVId20gPSBvcHRpb25zLndyaXRhYmxlSGlnaFdhdGVyTWFyaztcXG4gIHZhciBkZWZhdWx0SHdtID0gdGhpcy5vYmplY3RNb2RlID8gMTYgOiAxNiAqIDEwMjQ7XFxuXFxuICBpZiAoaHdtIHx8IGh3bSA9PT0gMCkgdGhpcy5oaWdoV2F0ZXJNYXJrID0gaHdtO2Vsc2UgaWYgKGlzRHVwbGV4ICYmICh3cml0YWJsZUh3bSB8fCB3cml0YWJsZUh3bSA9PT0gMCkpIHRoaXMuaGlnaFdhdGVyTWFyayA9IHdyaXRhYmxlSHdtO2Vsc2UgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZGVmYXVsdEh3bTtcXG5cXG4gIC8vIGNhc3QgdG8gaW50cy5cXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IE1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKTtcXG5cXG4gIC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTtcXG5cXG4gIC8vIGRyYWluIGV2ZW50IGZsYWcuXFxuICB0aGlzLm5lZWREcmFpbiA9IGZhbHNlO1xcbiAgLy8gYXQgdGhlIHN0YXJ0IG9mIGNhbGxpbmcgZW5kKClcXG4gIHRoaXMuZW5kaW5nID0gZmFsc2U7XFxuICAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXFxuICB0aGlzLmVuZGVkID0gZmFsc2U7XFxuICAvLyB3aGVuICdmaW5pc2gnIGlzIGVtaXR0ZWRcXG4gIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcXG5cXG4gIC8vIGhhcyBpdCBiZWVuIGRlc3Ryb3llZFxcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcXG5cXG4gIC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xcbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXFxuICAvLyBoYW5kbGluZyBhdCBhIGxvd2VyIGxldmVsLlxcbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTtcXG5cXG4gIC8vIENyeXB0byBpcyBraW5kIG9mIG9sZCBhbmQgY3J1c3R5LiAgSGlzdG9yaWNhbGx5LCBpdHMgZGVmYXVsdCBzdHJpbmdcXG4gIC8vIGVuY29kaW5nIGlzICdiaW5hcnknIHNvIHdlIGhhdmUgdG8gbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZS5cXG4gIC8vIEV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGUgdW5pdmVyc2UgdXNlcyAndXRmOCcsIHRob3VnaC5cXG4gIHRoaXMuZGVmYXVsdEVuY29kaW5nID0gb3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcgfHwgJ3V0ZjgnO1xcblxcbiAgLy8gbm90IGFuIGFjdHVhbCBidWZmZXIgd2Uga2VlcCB0cmFjayBvZiwgYnV0IGEgbWVhc3VyZW1lbnRcXG4gIC8vIG9mIGhvdyBtdWNoIHdlJ3JlIHdhaXRpbmcgdG8gZ2V0IHB1c2hlZCB0byBzb21lIHVuZGVybHlpbmdcXG4gIC8vIHNvY2tldCBvciBmaWxlLlxcbiAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cXG4gIHRoaXMud3JpdGluZyA9IGZhbHNlO1xcblxcbiAgLy8gd2hlbiB0cnVlIGFsbCB3cml0ZXMgd2lsbCBiZSBidWZmZXJlZCB1bnRpbCAudW5jb3JrKCkgY2FsbFxcbiAgdGhpcy5jb3JrZWQgPSAwO1xcblxcbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgb253cml0ZSBjYiBpcyBjYWxsZWQgaW1tZWRpYXRlbHksXFxuICAvLyBvciBvbiBhIGxhdGVyIHRpY2suICBXZSBzZXQgdGhpcyB0byB0cnVlIGF0IGZpcnN0LCBiZWNhdXNlIGFueVxcbiAgLy8gYWN0aW9ucyB0aGF0IHNob3VsZG4ndCBoYXBwZW4gdW50aWwgXFxcImxhdGVyXFxcIiBzaG91bGQgZ2VuZXJhbGx5IGFsc29cXG4gIC8vIG5vdCBoYXBwZW4gYmVmb3JlIHRoZSBmaXJzdCB3cml0ZSBjYWxsLlxcbiAgdGhpcy5zeW5jID0gdHJ1ZTtcXG5cXG4gIC8vIGEgZmxhZyB0byBrbm93IGlmIHdlJ3JlIHByb2Nlc3NpbmcgcHJldmlvdXNseSBidWZmZXJlZCBpdGVtcywgd2hpY2hcXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cXG4gIHRoaXMuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xcblxcbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQncyBwYXNzZWQgdG8gX3dyaXRlKGNodW5rLGNiKVxcbiAgdGhpcy5vbndyaXRlID0gZnVuY3Rpb24gKGVyKSB7XFxuICAgIG9ud3JpdGUoc3RyZWFtLCBlcik7XFxuICB9O1xcblxcbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQgdGhlIHVzZXIgc3VwcGxpZXMgdG8gd3JpdGUoY2h1bmssZW5jb2RpbmcsY2IpXFxuICB0aGlzLndyaXRlY2IgPSBudWxsO1xcblxcbiAgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxcbiAgdGhpcy53cml0ZWxlbiA9IDA7XFxuXFxuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XFxuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xcblxcbiAgLy8gbnVtYmVyIG9mIHBlbmRpbmcgdXNlci1zdXBwbGllZCB3cml0ZSBjYWxsYmFja3NcXG4gIC8vIHRoaXMgbXVzdCBiZSAwIGJlZm9yZSAnZmluaXNoJyBjYW4gYmUgZW1pdHRlZFxcbiAgdGhpcy5wZW5kaW5nY2IgPSAwO1xcblxcbiAgLy8gZW1pdCBwcmVmaW5pc2ggaWYgdGhlIG9ubHkgdGhpbmcgd2UncmUgd2FpdGluZyBmb3IgaXMgX3dyaXRlIGNic1xcbiAgLy8gVGhpcyBpcyByZWxldmFudCBmb3Igc3luY2hyb25vdXMgVHJhbnNmb3JtIHN0cmVhbXNcXG4gIHRoaXMucHJlZmluaXNoZWQgPSBmYWxzZTtcXG5cXG4gIC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXFxuICB0aGlzLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcblxcbiAgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcXG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwO1xcblxcbiAgLy8gYWxsb2NhdGUgdGhlIGZpcnN0IENvcmtlZFJlcXVlc3QsIHRoZXJlIGlzIGFsd2F5c1xcbiAgLy8gb25lIGFsbG9jYXRlZCBhbmQgZnJlZSB0byB1c2UsIGFuZCB3ZSBtYWludGFpbiBhdCBtb3N0IHR3b1xcbiAgdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdCh0aGlzKTtcXG59XFxuXFxuV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyID0gZnVuY3Rpb24gZ2V0QnVmZmVyKCkge1xcbiAgdmFyIGN1cnJlbnQgPSB0aGlzLmJ1ZmZlcmVkUmVxdWVzdDtcXG4gIHZhciBvdXQgPSBbXTtcXG4gIHdoaWxlIChjdXJyZW50KSB7XFxuICAgIG91dC5wdXNoKGN1cnJlbnQpO1xcbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xcbiAgfVxcbiAgcmV0dXJuIG91dDtcXG59O1xcblxcbihmdW5jdGlvbiAoKSB7XFxuICB0cnkge1xcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsICdidWZmZXInLCB7XFxuICAgICAgZ2V0OiBpbnRlcm5hbFV0aWwuZGVwcmVjYXRlKGZ1bmN0aW9uICgpIHtcXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1ZmZlcigpO1xcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxcbiAgICB9KTtcXG4gIH0gY2F0Y2ggKF8pIHt9XFxufSkoKTtcXG5cXG4vLyBUZXN0IF93cml0YWJsZVN0YXRlIGZvciBpbmhlcml0YW5jZSB0byBhY2NvdW50IGZvciBEdXBsZXggc3RyZWFtcyxcXG4vLyB3aG9zZSBwcm90b3R5cGUgY2hhaW4gb25seSBwb2ludHMgdG8gUmVhZGFibGUuXFxudmFyIHJlYWxIYXNJbnN0YW5jZTtcXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaGFzSW5zdGFuY2UgJiYgdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdID09PSAnZnVuY3Rpb24nKSB7XFxuICByZWFsSGFzSW5zdGFuY2UgPSBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXTtcXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XFxuICAgIHZhbHVlOiBmdW5jdGlvbiAob2JqZWN0KSB7XFxuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xcbiAgICAgIGlmICh0aGlzICE9PSBXcml0YWJsZSkgcmV0dXJuIGZhbHNlO1xcblxcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcXG4gICAgfVxcbiAgfSk7XFxufSBlbHNlIHtcXG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIChvYmplY3QpIHtcXG4gICAgcmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIHRoaXM7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcblxcbiAgLy8gV3JpdGFibGUgY3RvciBpcyBhcHBsaWVkIHRvIER1cGxleGVzLCB0b28uXFxuICAvLyBgcmVhbEhhc0luc3RhbmNlYCBpcyBuZWNlc3NhcnkgYmVjYXVzZSB1c2luZyBwbGFpbiBgaW5zdGFuY2VvZmBcXG4gIC8vIHdvdWxkIHJldHVybiBmYWxzZSwgYXMgbm8gYF93cml0YWJsZVN0YXRlYCBwcm9wZXJ0eSBpcyBhdHRhY2hlZC5cXG5cXG4gIC8vIFRyeWluZyB0byB1c2UgdGhlIGN1c3RvbSBgaW5zdGFuY2VvZmAgZm9yIFdyaXRhYmxlIGhlcmUgd2lsbCBhbHNvIGJyZWFrIHRoZVxcbiAgLy8gTm9kZS5qcyBMYXp5VHJhbnNmb3JtIGltcGxlbWVudGF0aW9uLCB3aGljaCBoYXMgYSBub24tdHJpdmlhbCBnZXR0ZXIgZm9yXFxuICAvLyBgX3dyaXRhYmxlU3RhdGVgIHRoYXQgd291bGQgbGVhZCB0byBpbmZpbml0ZSByZWN1cnNpb24uXFxuICBpZiAoIXJlYWxIYXNJbnN0YW5jZS5jYWxsKFdyaXRhYmxlLCB0aGlzKSAmJiAhKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKSB7XFxuICAgIHJldHVybiBuZXcgV3JpdGFibGUob3B0aW9ucyk7XFxuICB9XFxuXFxuICB0aGlzLl93cml0YWJsZVN0YXRlID0gbmV3IFdyaXRhYmxlU3RhdGUob3B0aW9ucywgdGhpcyk7XFxuXFxuICAvLyBsZWdhY3kuXFxuICB0aGlzLndyaXRhYmxlID0gdHJ1ZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53cml0ZSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGUgPSBvcHRpb25zLndyaXRlO1xcblxcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGV2ID09PSAnZnVuY3Rpb24nKSB0aGlzLl93cml0ZXYgPSBvcHRpb25zLndyaXRldjtcXG5cXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIHRoaXMuX2Rlc3Ryb3kgPSBvcHRpb25zLmRlc3Ryb3k7XFxuXFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5maW5hbCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZmluYWwgPSBvcHRpb25zLmZpbmFsO1xcbiAgfVxcblxcbiAgU3RyZWFtLmNhbGwodGhpcyk7XFxufVxcblxcbi8vIE90aGVyd2lzZSBwZW9wbGUgY2FuIHBpcGUgV3JpdGFibGUgc3RyZWFtcywgd2hpY2ggaXMganVzdCB3cm9uZy5cXG5Xcml0YWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ0Nhbm5vdCBwaXBlLCBub3QgcmVhZGFibGUnKSk7XFxufTtcXG5cXG5mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKHN0cmVhbSwgY2IpIHtcXG4gIHZhciBlciA9IG5ldyBFcnJvcignd3JpdGUgYWZ0ZXIgZW5kJyk7XFxuICAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxcbiAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgcG5hLm5leHRUaWNrKGNiLCBlcik7XFxufVxcblxcbi8vIENoZWNrcyB0aGF0IGEgdXNlci1zdXBwbGllZCBjaHVuayBpcyB2YWxpZCwgZXNwZWNpYWxseSBmb3IgdGhlIHBhcnRpY3VsYXJcXG4vLyBtb2RlIHRoZSBzdHJlYW0gaXMgaW4uIEN1cnJlbnRseSB0aGlzIG1lYW5zIHRoYXQgYG51bGxgIGlzIG5ldmVyIGFjY2VwdGVkXFxuLy8gYW5kIHVuZGVmaW5lZC9ub24tc3RyaW5nIHZhbHVlcyBhcmUgb25seSBhbGxvd2VkIGluIG9iamVjdCBtb2RlLlxcbmZ1bmN0aW9uIHZhbGlkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGNiKSB7XFxuICB2YXIgdmFsaWQgPSB0cnVlO1xcbiAgdmFyIGVyID0gZmFsc2U7XFxuXFxuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcXG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbScpO1xcbiAgfSBlbHNlIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmIGNodW5rICE9PSB1bmRlZmluZWQgJiYgIXN0YXRlLm9iamVjdE1vZGUpIHtcXG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rJyk7XFxuICB9XFxuICBpZiAoZXIpIHtcXG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgICBwbmEubmV4dFRpY2soY2IsIGVyKTtcXG4gICAgdmFsaWQgPSBmYWxzZTtcXG4gIH1cXG4gIHJldHVybiB2YWxpZDtcXG59XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XFxuICB2YXIgcmV0ID0gZmFsc2U7XFxuICB2YXIgaXNCdWYgPSAhc3RhdGUub2JqZWN0TW9kZSAmJiBfaXNVaW50OEFycmF5KGNodW5rKTtcXG5cXG4gIGlmIChpc0J1ZiAmJiAhQnVmZmVyLmlzQnVmZmVyKGNodW5rKSkge1xcbiAgICBjaHVuayA9IF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGVuY29kaW5nO1xcbiAgICBlbmNvZGluZyA9IG51bGw7XFxuICB9XFxuXFxuICBpZiAoaXNCdWYpIGVuY29kaW5nID0gJ2J1ZmZlcic7ZWxzZSBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9IHN0YXRlLmRlZmF1bHRFbmNvZGluZztcXG5cXG4gIGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIGNiID0gbm9wO1xcblxcbiAgaWYgKHN0YXRlLmVuZGVkKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuXFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgc3RhdGUuY29ya2VkKys7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUudW5jb3JrID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcXG5cXG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcXG4gICAgc3RhdGUuY29ya2VkLS07XFxuXFxuICAgIGlmICghc3RhdGUud3JpdGluZyAmJiAhc3RhdGUuY29ya2VkICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG59O1xcblxcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcXG4gIC8vIG5vZGU6OlBhcnNlRW5jb2RpbmcoKSByZXF1aXJlcyBsb3dlciBjYXNlLlxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcXG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZyk7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5mdW5jdGlvbiBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKSB7XFxuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgc3RhdGUuZGVjb2RlU3RyaW5ncyAhPT0gZmFsc2UgJiYgdHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xcbiAgICBjaHVuayA9IEJ1ZmZlci5mcm9tKGNodW5rLCBlbmNvZGluZyk7XFxuICB9XFxuICByZXR1cm4gY2h1bms7XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XFxuICB9XFxufSk7XFxuXFxuLy8gaWYgd2UncmUgYWxyZWFkeSB3cml0aW5nIHNvbWV0aGluZywgdGhlbiBqdXN0IHB1dCB0aGlzXFxuLy8gaW4gdGhlIHF1ZXVlLCBhbmQgd2FpdCBvdXIgdHVybi4gIE90aGVyd2lzZSwgY2FsbCBfd3JpdGVcXG4vLyBJZiB3ZSByZXR1cm4gZmFsc2UsIHRoZW4gd2UgbmVlZCBhIGRyYWluIGV2ZW50LCBzbyBzZXQgdGhhdCBmbGFnLlxcbmZ1bmN0aW9uIHdyaXRlT3JCdWZmZXIoc3RyZWFtLCBzdGF0ZSwgaXNCdWYsIGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIGlmICghaXNCdWYpIHtcXG4gICAgdmFyIG5ld0NodW5rID0gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZyk7XFxuICAgIGlmIChjaHVuayAhPT0gbmV3Q2h1bmspIHtcXG4gICAgICBpc0J1ZiA9IHRydWU7XFxuICAgICAgZW5jb2RpbmcgPSAnYnVmZmVyJztcXG4gICAgICBjaHVuayA9IG5ld0NodW5rO1xcbiAgICB9XFxuICB9XFxuICB2YXIgbGVuID0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XFxuXFxuICBzdGF0ZS5sZW5ndGggKz0gbGVuO1xcblxcbiAgdmFyIHJldCA9IHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcms7XFxuICAvLyB3ZSBtdXN0IGVuc3VyZSB0aGF0IHByZXZpb3VzIG5lZWREcmFpbiB3aWxsIG5vdCBiZSByZXNldCB0byBmYWxzZS5cXG4gIGlmICghcmV0KSBzdGF0ZS5uZWVkRHJhaW4gPSB0cnVlO1xcblxcbiAgaWYgKHN0YXRlLndyaXRpbmcgfHwgc3RhdGUuY29ya2VkKSB7XFxuICAgIHZhciBsYXN0ID0gc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtcXG4gICAgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IHtcXG4gICAgICBjaHVuazogY2h1bmssXFxuICAgICAgZW5jb2Rpbmc6IGVuY29kaW5nLFxcbiAgICAgIGlzQnVmOiBpc0J1ZixcXG4gICAgICBjYWxsYmFjazogY2IsXFxuICAgICAgbmV4dDogbnVsbFxcbiAgICB9O1xcbiAgICBpZiAobGFzdCkge1xcbiAgICAgIGxhc3QubmV4dCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID0gc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtcXG4gICAgfVxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xcbiAgfSBlbHNlIHtcXG4gICAgZG9Xcml0ZShzdHJlYW0sIHN0YXRlLCBmYWxzZSwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXQ7XFxufVxcblxcbmZ1bmN0aW9uIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgd3JpdGV2LCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHN0YXRlLndyaXRlbGVuID0gbGVuO1xcbiAgc3RhdGUud3JpdGVjYiA9IGNiO1xcbiAgc3RhdGUud3JpdGluZyA9IHRydWU7XFxuICBzdGF0ZS5zeW5jID0gdHJ1ZTtcXG4gIGlmICh3cml0ZXYpIHN0cmVhbS5fd3JpdGV2KGNodW5rLCBzdGF0ZS5vbndyaXRlKTtlbHNlIHN0cmVhbS5fd3JpdGUoY2h1bmssIGVuY29kaW5nLCBzdGF0ZS5vbndyaXRlKTtcXG4gIHN0YXRlLnN5bmMgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYikge1xcbiAgLS1zdGF0ZS5wZW5kaW5nY2I7XFxuXFxuICBpZiAoc3luYykge1xcbiAgICAvLyBkZWZlciB0aGUgY2FsbGJhY2sgaWYgd2UgYXJlIGJlaW5nIGNhbGxlZCBzeW5jaHJvbm91c2x5XFxuICAgIC8vIHRvIGF2b2lkIHBpbGluZyB1cCB0aGluZ3Mgb24gdGhlIHN0YWNrXFxuICAgIHBuYS5uZXh0VGljayhjYiwgZXIpO1xcbiAgICAvLyB0aGlzIGNhbiBlbWl0IGZpbmlzaCwgYW5kIGl0IHdpbGwgYWx3YXlzIGhhcHBlblxcbiAgICAvLyBhZnRlciBlcnJvclxcbiAgICBwbmEubmV4dFRpY2soZmluaXNoTWF5YmUsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gdGhlIGNhbGxlciBleHBlY3QgdGhpcyB0byBoYXBwZW4gYmVmb3JlIGlmXFxuICAgIC8vIGl0IGlzIGFzeW5jXFxuICAgIGNiKGVyKTtcXG4gICAgc3RyZWFtLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XFxuICAgIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVyKTtcXG4gICAgLy8gdGhpcyBjYW4gZW1pdCBmaW5pc2gsIGJ1dCBmaW5pc2ggbXVzdFxcbiAgICAvLyBhbHdheXMgZm9sbG93IGVycm9yXFxuICAgIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoc3RhdGUpIHtcXG4gIHN0YXRlLndyaXRpbmcgPSBmYWxzZTtcXG4gIHN0YXRlLndyaXRlY2IgPSBudWxsO1xcbiAgc3RhdGUubGVuZ3RoIC09IHN0YXRlLndyaXRlbGVuO1xcbiAgc3RhdGUud3JpdGVsZW4gPSAwO1xcbn1cXG5cXG5mdW5jdGlvbiBvbndyaXRlKHN0cmVhbSwgZXIpIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG4gIHZhciBzeW5jID0gc3RhdGUuc3luYztcXG4gIHZhciBjYiA9IHN0YXRlLndyaXRlY2I7XFxuXFxuICBvbndyaXRlU3RhdGVVcGRhdGUoc3RhdGUpO1xcblxcbiAgaWYgKGVyKSBvbndyaXRlRXJyb3Ioc3RyZWFtLCBzdGF0ZSwgc3luYywgZXIsIGNiKTtlbHNlIHtcXG4gICAgLy8gQ2hlY2sgaWYgd2UncmUgYWN0dWFsbHkgcmVhZHkgdG8gZmluaXNoLCBidXQgZG9uJ3QgZW1pdCB5ZXRcXG4gICAgdmFyIGZpbmlzaGVkID0gbmVlZEZpbmlzaChzdGF0ZSk7XFxuXFxuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcXG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBpZiAoc3luYykge1xcbiAgICAgIC8qPHJlcGxhY2VtZW50PiovXFxuICAgICAgYXN5bmNXcml0ZShhZnRlcldyaXRlLCBzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpO1xcbiAgICAgIC8qPC9yZXBsYWNlbWVudD4qL1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFmdGVyV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYikge1xcbiAgaWYgKCFmaW5pc2hlZCkgb253cml0ZURyYWluKHN0cmVhbSwgc3RhdGUpO1xcbiAgc3RhdGUucGVuZGluZ2NiLS07XFxuICBjYigpO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxufVxcblxcbi8vIE11c3QgZm9yY2UgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIG9uIG5leHRUaWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuLy8gZW1pdCAnZHJhaW4nIGJlZm9yZSB0aGUgd3JpdGUoKSBjb25zdW1lciBnZXRzIHRoZSAnZmFsc2UnIHJldHVyblxcbi8vIHZhbHVlLCBhbmQgaGFzIGEgY2hhbmNlIHRvIGF0dGFjaCBhICdkcmFpbicgbGlzdGVuZXIuXFxuZnVuY3Rpb24gb253cml0ZURyYWluKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUubmVlZERyYWluKSB7XFxuICAgIHN0YXRlLm5lZWREcmFpbiA9IGZhbHNlO1xcbiAgICBzdHJlYW0uZW1pdCgnZHJhaW4nKTtcXG4gIH1cXG59XFxuXFxuLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcXG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gdHJ1ZTtcXG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcXG5cXG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XFxuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcXG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcXG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XFxuXFxuICAgIHZhciBjb3VudCA9IDA7XFxuICAgIHZhciBhbGxCdWZmZXJzID0gdHJ1ZTtcXG4gICAgd2hpbGUgKGVudHJ5KSB7XFxuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xcbiAgICAgIGlmICghZW50cnkuaXNCdWYpIGFsbEJ1ZmZlcnMgPSBmYWxzZTtcXG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICAgICAgY291bnQgKz0gMTtcXG4gICAgfVxcbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XFxuXFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTtcXG5cXG4gICAgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XFxuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gaG9sZGVyLm5leHQ7XFxuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHN0YXRlKTtcXG4gICAgfVxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXFxuICAgIHdoaWxlIChlbnRyeSkge1xcbiAgICAgIHZhciBjaHVuayA9IGVudHJ5LmNodW5rO1xcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICAgIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG5cXG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcXG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tO1xcbiAgICAgIC8vIGlmIHdlIGRpZG4ndCBjYWxsIHRoZSBvbndyaXRlIGltbWVkaWF0ZWx5LCB0aGVuXFxuICAgICAgLy8gaXQgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIHdhaXQgdW50aWwgaXQgZG9lcy5cXG4gICAgICAvLyBhbHNvLCB0aGF0IG1lYW5zIHRoYXQgdGhlIGNodW5rIGFuZCBjYiBhcmUgY3VycmVudGx5XFxuICAgICAgLy8gYmVpbmcgcHJvY2Vzc2VkLCBzbyBtb3ZlIHRoZSBidWZmZXIgY291bnRlciBwYXN0IHRoZW0uXFxuICAgICAgaWYgKHN0YXRlLndyaXRpbmcpIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoZW50cnkgPT09IG51bGwpIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xcbiAgfVxcblxcbiAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID0gZW50cnk7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gZmFsc2U7XFxufVxcblxcbldyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgY2IobmV3IEVycm9yKCdfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQnKSk7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGNodW5rO1xcbiAgICBjaHVuayA9IG51bGw7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7XFxuXFxuICAvLyAuZW5kKCkgZnVsbHkgdW5jb3Jrc1xcbiAgaWYgKHN0YXRlLmNvcmtlZCkge1xcbiAgICBzdGF0ZS5jb3JrZWQgPSAxO1xcbiAgICB0aGlzLnVuY29yaygpO1xcbiAgfVxcblxcbiAgLy8gaWdub3JlIHVubmVjZXNzYXJ5IGVuZCgpIGNhbGxzLlxcbiAgaWYgKCFzdGF0ZS5lbmRpbmcgJiYgIXN0YXRlLmZpbmlzaGVkKSBlbmRXcml0YWJsZSh0aGlzLCBzdGF0ZSwgY2IpO1xcbn07XFxuXFxuZnVuY3Rpb24gbmVlZEZpbmlzaChzdGF0ZSkge1xcbiAgcmV0dXJuIHN0YXRlLmVuZGluZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID09PSBudWxsICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUud3JpdGluZztcXG59XFxuZnVuY3Rpb24gY2FsbEZpbmFsKHN0cmVhbSwgc3RhdGUpIHtcXG4gIHN0cmVhbS5fZmluYWwoZnVuY3Rpb24gKGVycikge1xcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcXG4gICAgaWYgKGVycikge1xcbiAgICAgIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XFxuICAgIH1cXG4gICAgc3RhdGUucHJlZmluaXNoZWQgPSB0cnVlO1xcbiAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XFxuICAgIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbiAgfSk7XFxufVxcbmZ1bmN0aW9uIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnByZWZpbmlzaGVkICYmICFzdGF0ZS5maW5hbENhbGxlZCkge1xcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5fZmluYWwgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcXG4gICAgICBzdGF0ZS5maW5hbENhbGxlZCA9IHRydWU7XFxuICAgICAgcG5hLm5leHRUaWNrKGNhbGxGaW5hbCwgc3RyZWFtLCBzdGF0ZSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgc3RhdGUucHJlZmluaXNoZWQgPSB0cnVlO1xcbiAgICAgIHN0cmVhbS5lbWl0KCdwcmVmaW5pc2gnKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKSB7XFxuICB2YXIgbmVlZCA9IG5lZWRGaW5pc2goc3RhdGUpO1xcbiAgaWYgKG5lZWQpIHtcXG4gICAgcHJlZmluaXNoKHN0cmVhbSwgc3RhdGUpO1xcbiAgICBpZiAoc3RhdGUucGVuZGluZ2NiID09PSAwKSB7XFxuICAgICAgc3RhdGUuZmluaXNoZWQgPSB0cnVlO1xcbiAgICAgIHN0cmVhbS5lbWl0KCdmaW5pc2gnKTtcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIG5lZWQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFdyaXRhYmxlKHN0cmVhbSwgc3RhdGUsIGNiKSB7XFxuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxuICBpZiAoY2IpIHtcXG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwbmEubmV4dFRpY2soY2IpO2Vsc2Ugc3RyZWFtLm9uY2UoJ2ZpbmlzaCcsIGNiKTtcXG4gIH1cXG4gIHN0YXRlLmVuZGVkID0gdHJ1ZTtcXG4gIHN0cmVhbS53cml0YWJsZSA9IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChjb3JrUmVxLCBzdGF0ZSwgZXJyKSB7XFxuICB2YXIgZW50cnkgPSBjb3JrUmVxLmVudHJ5O1xcbiAgY29ya1JlcS5lbnRyeSA9IG51bGw7XFxuICB3aGlsZSAoZW50cnkpIHtcXG4gICAgdmFyIGNiID0gZW50cnkuY2FsbGJhY2s7XFxuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xcbiAgICBjYihlcnIpO1xcbiAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICB9XFxuICBpZiAoc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlKSB7XFxuICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0ID0gY29ya1JlcTtcXG4gIH0gZWxzZSB7XFxuICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGNvcmtSZXE7XFxuICB9XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XFxuICB9LFxcbiAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcXG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXFxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcXG4gICAgaWYgKCF0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcXG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICB9XFxufSk7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3kgPSBkZXN0cm95SW1wbC5kZXN0cm95O1xcbldyaXRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95ID0gZGVzdHJveUltcGwudW5kZXN0cm95O1xcbldyaXRhYmxlLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XFxuICB0aGlzLmVuZCgpO1xcbiAgY2IoZXJyKTtcXG59O1xcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qc1xcXCIpLnNldEltbWVkaWF0ZSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmQzSnBkR0ZpYkdVdWFuTS9ZVFU0TXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRllUczdRVUZGWWpzN1FVRkZRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNNRVZCUVhOQ08wRkJRM2hET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc05rUkJRV003UVVGRGFrTXNaMEpCUVdkQ0xHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRiRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eG5SVUZCWjBJN1FVRkRja003UVVGRFFUczdRVUZGUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSMEZCTWtJN1FVRkRhRVE3TzBGQlJVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRVFVRmhPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTEd0Q1FVRnJRaXh0UWtGQlR5eERRVUZETEd0SFFVRTBRanM3UVVGRmRFUTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTeHhRa0ZCY1VJc2JVSkJRVThzUTBGQlF5dzRSVUZCYTBJN08wRkJSUzlET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRVFVRnBSQ3d3UmtGQk1FWTdPMEZCUlROSk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUN4TFFVRkxPMEZCUTB3c1IwRkJSenRCUVVOSUxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGdzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zT0VWQlFXdENPenRCUVVVdlF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVU5CUVdsRE96dEJRVVZxUXpzN1FVRkZRU3d5UTBGQk1rTTdRVUZETTBNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRVFVRnRSRHRCUVVOdVJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVN4dlJFRkJiMFE3UVVGRGNFUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhsRFFVRjVRenRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZDNKcGRHRmliR1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JseHVMeThnUVNCaWFYUWdjMmx0Y0d4bGNpQjBhR0Z1SUhKbFlXUmhZbXhsSUhOMGNtVmhiWE11WEc0dkx5QkpiWEJzWlcxbGJuUWdZVzRnWVhONWJtTWdMbDkzY21sMFpTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLU3dnWVc1a0lHbDBKMnhzSUdoaGJtUnNaU0JoYkd4Y2JpOHZJSFJvWlNCa2NtRnBiaUJsZG1WdWRDQmxiV2x6YzJsdmJpQmhibVFnWW5WbVptVnlhVzVuTGx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNWNiblpoY2lCd2JtRWdQU0J5WlhGMWFYSmxLQ2R3Y205alpYTnpMVzVsZUhScFkyc3RZWEpuY3ljcE8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVjNKcGRHRmliR1U3WEc1Y2JpOHFJRHh5WlhCc1lXTmxiV1Z1ZEQ0Z0tpOWNibVoxYm1OMGFXOXVJRmR5YVhSbFVtVnhLR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwSUh0Y2JpQWdkR2hwY3k1amFIVnVheUE5SUdOb2RXNXJPMXh1SUNCMGFHbHpMbVZ1WTI5a2FXNW5JRDBnWlc1amIyUnBibWM3WEc0Z0lIUm9hWE11WTJGc2JHSmhZMnNnUFNCallqdGNiaUFnZEdocGN5NXVaWGgwSUQwZ2JuVnNiRHRjYm4xY2JseHVMeThnU1hRZ2MyVmxiWE1nWVNCc2FXNXJaV1FnYkdsemRDQmlkWFFnYVhRZ2FYTWdibTkwWEc0dkx5QjBhR1Z5WlNCM2FXeHNJR0psSUc5dWJIa2dNaUJ2WmlCMGFHVnpaU0JtYjNJZ1pXRmphQ0J6ZEhKbFlXMWNibVoxYm1OMGFXOXVJRU52Y210bFpGSmxjWFZsYzNRb2MzUmhkR1VwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNCMGFHbHpMbTVsZUhRZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG1WdWRISjVJRDBnYm5Wc2JEdGNiaUFnZEdocGN5NW1hVzVwYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdiMjVEYjNKclpXUkdhVzVwYzJnb1gzUm9hWE1zSUhOMFlYUmxLVHRjYmlBZ2ZUdGNibjFjYmk4cUlEd3ZjbVZ3YkdGalpXMWxiblErSUNvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ1lYTjVibU5YY21sMFpTQTlJQ0Z3Y205alpYTnpMbUp5YjNkelpYSWdKaVlnV3lkMk1DNHhNQ2NzSUNkMk1DNDVMaWRkTG1sdVpHVjRUMllvY0hKdlkyVnpjeTUyWlhKemFXOXVMbk5zYVdObEtEQXNJRFVwS1NBK0lDMHhJRDhnYzJWMFNXMXRaV1JwWVhSbElEb2djRzVoTG01bGVIUlVhV05yTzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ1JIVndiR1Y0TzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNibGR5YVhSaFlteGxMbGR5YVhSaFlteGxVM1JoZEdVZ1BTQlhjbWwwWVdKc1pWTjBZWFJsTzF4dVhHNHZLanh5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVkbUZ5SUhWMGFXd2dQU0J5WlhGMWFYSmxLQ2RqYjNKbExYVjBhV3d0YVhNbktUdGNiblYwYVd3dWFXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BPMXh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNTJZWElnYVc1MFpYSnVZV3hWZEdsc0lEMGdlMXh1SUNCa1pYQnlaV05oZEdVNklISmxjWFZwY21Vb0ozVjBhV3d0WkdWd2NtVmpZWFJsSnlsY2JuMDdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dUx5bzhjbVZ3YkdGalpXMWxiblErS2k5Y2JuWmhjaUJUZEhKbFlXMGdQU0J5WlhGMWFYSmxLQ2N1TDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSeVpXRnRKeWs3WEc0dktqd3ZjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlPMXh1ZG1GeUlFOTFjbFZwYm5RNFFYSnlZWGtnUFNCbmJHOWlZV3d1VldsdWREaEJjbkpoZVNCOGZDQm1kVzVqZEdsdmJpQW9LU0I3ZlR0Y2JtWjFibU4wYVc5dUlGOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSW9ZMmgxYm1zcElIdGNiaUFnY21WMGRYSnVJRUoxWm1abGNpNW1jbTl0S0dOb2RXNXJLVHRjYm4xY2JtWjFibU4wYVc5dUlGOXBjMVZwYm5RNFFYSnlZWGtvYjJKcUtTQjdYRzRnSUhKbGRIVnliaUJDZFdabVpYSXVhWE5DZFdabVpYSW9iMkpxS1NCOGZDQnZZbW9nYVc1emRHRnVZMlZ2WmlCUGRYSlZhVzUwT0VGeWNtRjVPMXh1ZlZ4dVhHNHZLand2Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlHUmxjM1J5YjNsSmJYQnNJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJSbGMzUnliM2tuS1R0Y2JseHVkWFJwYkM1cGJtaGxjbWwwY3loWGNtbDBZV0pzWlN3Z1UzUnlaV0Z0S1R0Y2JseHVablZ1WTNScGIyNGdibTl3S0NrZ2UzMWNibHh1Wm5WdVkzUnBiMjRnVjNKcGRHRmliR1ZUZEdGMFpTaHZjSFJwYjI1ekxDQnpkSEpsWVcwcElIdGNiaUFnUkhWd2JHVjRJRDBnUkhWd2JHVjRJSHg4SUhKbGNYVnBjbVVvSnk0dlgzTjBjbVZoYlY5a2RYQnNaWGduS1R0Y2JseHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUdGNibHh1SUNBdkx5QkVkWEJzWlhnZ2MzUnlaV0Z0Y3lCaGNtVWdZbTkwYUNCeVpXRmtZV0pzWlNCaGJtUWdkM0pwZEdGaWJHVXNJR0oxZENCemFHRnlaVnh1SUNBdkx5QjBhR1VnYzJGdFpTQnZjSFJwYjI1eklHOWlhbVZqZEM1Y2JpQWdMeThnU0c5M1pYWmxjaXdnYzI5dFpTQmpZWE5sY3lCeVpYRjFhWEpsSUhObGRIUnBibWNnYjNCMGFXOXVjeUIwYnlCa2FXWm1aWEpsYm5SY2JpQWdMeThnZG1Gc2RXVnpJR1p2Y2lCMGFHVWdjbVZoWkdGaWJHVWdZVzVrSUhSb1pTQjNjbWwwWVdKc1pTQnphV1JsY3lCdlppQjBhR1VnWkhWd2JHVjRJSE4wY21WaGJTNWNiaUFnTHk4Z1ZHaGxjMlVnYjNCMGFXOXVjeUJqWVc0Z1ltVWdjSEp2ZG1sa1pXUWdjMlZ3WVhKaGRHVnNlU0JoY3lCeVpXRmtZV0pzWlZoWVdDQmhibVFnZDNKcGRHRmliR1ZZV0ZndVhHNGdJSFpoY2lCcGMwUjFjR3hsZUNBOUlITjBjbVZoYlNCcGJuTjBZVzVqWlc5bUlFUjFjR3hsZUR0Y2JseHVJQ0F2THlCdlltcGxZM1FnYzNSeVpXRnRJR1pzWVdjZ2RHOGdhVzVrYVdOaGRHVWdkMmhsZEdobGNpQnZjaUJ1YjNRZ2RHaHBjeUJ6ZEhKbFlXMWNiaUFnTHk4Z1kyOXVkR0ZwYm5NZ1luVm1abVZ5Y3lCdmNpQnZZbXBsWTNSekxseHVJQ0IwYUdsekxtOWlhbVZqZEUxdlpHVWdQU0FoSVc5d2RHbHZibk11YjJKcVpXTjBUVzlrWlR0Y2JseHVJQ0JwWmlBb2FYTkVkWEJzWlhncElIUm9hWE11YjJKcVpXTjBUVzlrWlNBOUlIUm9hWE11YjJKcVpXTjBUVzlrWlNCOGZDQWhJVzl3ZEdsdmJuTXVkM0pwZEdGaWJHVlBZbXBsWTNSTmIyUmxPMXh1WEc0Z0lDOHZJSFJvWlNCd2IybHVkQ0JoZENCM2FHbGphQ0IzY21sMFpTZ3BJSE4wWVhKMGN5QnlaWFIxY201cGJtY2dabUZzYzJWY2JpQWdMeThnVG05MFpUb2dNQ0JwY3lCaElIWmhiR2xrSUhaaGJIVmxMQ0J0WldGdWN5QjBhR0YwSUhkbElHRnNkMkY1Y3lCeVpYUjFjbTRnWm1Gc2MyVWdhV1pjYmlBZ0x5OGdkR2hsSUdWdWRHbHlaU0JpZFdabVpYSWdhWE1nYm05MElHWnNkWE5vWldRZ2FXMXRaV1JwWVhSbGJIa2diMjRnZDNKcGRHVW9LVnh1SUNCMllYSWdhSGR0SUQwZ2IzQjBhVzl1Y3k1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCMllYSWdkM0pwZEdGaWJHVklkMjBnUFNCdmNIUnBiMjV6TG5keWFYUmhZbXhsU0dsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZG1GeUlHUmxabUYxYkhSSWQyMGdQU0IwYUdsekxtOWlhbVZqZEUxdlpHVWdQeUF4TmlBNklERTJJQ29nTVRBeU5EdGNibHh1SUNCcFppQW9hSGR0SUh4OElHaDNiU0E5UFQwZ01Da2dkR2hwY3k1b2FXZG9WMkYwWlhKTllYSnJJRDBnYUhkdE8yVnNjMlVnYVdZZ0tHbHpSSFZ3YkdWNElDWW1JQ2gzY21sMFlXSnNaVWgzYlNCOGZDQjNjbWwwWVdKc1pVaDNiU0E5UFQwZ01Da3BJSFJvYVhNdWFHbG5hRmRoZEdWeVRXRnlheUE5SUhkeWFYUmhZbXhsU0hkdE8yVnNjMlVnZEdocGN5NW9hV2RvVjJGMFpYSk5ZWEpySUQwZ1pHVm1ZWFZzZEVoM2JUdGNibHh1SUNBdkx5QmpZWE4wSUhSdklHbHVkSE11WEc0Z0lIUm9hWE11YUdsbmFGZGhkR1Z5VFdGeWF5QTlJRTFoZEdndVpteHZiM0lvZEdocGN5NW9hV2RvVjJGMFpYSk5ZWEpyS1R0Y2JseHVJQ0F2THlCcFppQmZabWx1WVd3Z2FHRnpJR0psWlc0Z1kyRnNiR1ZrWEc0Z0lIUm9hWE11Wm1sdVlXeERZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCa2NtRnBiaUJsZG1WdWRDQm1iR0ZuTGx4dUlDQjBhR2x6TG01bFpXUkVjbUZwYmlBOUlHWmhiSE5sTzF4dUlDQXZMeUJoZENCMGFHVWdjM1JoY25RZ2IyWWdZMkZzYkdsdVp5QmxibVFvS1Z4dUlDQjBhR2x6TG1WdVpHbHVaeUE5SUdaaGJITmxPMXh1SUNBdkx5QjNhR1Z1SUdWdVpDZ3BJR2hoY3lCaVpXVnVJR05oYkd4bFpDd2dZVzVrSUhKbGRIVnlibVZrWEc0Z0lIUm9hWE11Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnTHk4Z2QyaGxiaUFuWm1sdWFYTm9KeUJwY3lCbGJXbDBkR1ZrWEc0Z0lIUm9hWE11Wm1sdWFYTm9aV1FnUFNCbVlXeHpaVHRjYmx4dUlDQXZMeUJvWVhNZ2FYUWdZbVZsYmlCa1pYTjBjbTk1WldSY2JpQWdkR2hwY3k1a1pYTjBjbTk1WldRZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCemFHOTFiR1FnZDJVZ1pHVmpiMlJsSUhOMGNtbHVaM01nYVc1MGJ5QmlkV1ptWlhKeklHSmxabTl5WlNCd1lYTnphVzVuSUhSdklGOTNjbWwwWlQ5Y2JpQWdMeThnZEdocGN5QnBjeUJvWlhKbElITnZJSFJvWVhRZ2MyOXRaU0J1YjJSbExXTnZjbVVnYzNSeVpXRnRjeUJqWVc0Z2IzQjBhVzFwZW1VZ2MzUnlhVzVuWEc0Z0lDOHZJR2hoYm1Sc2FXNW5JR0YwSUdFZ2JHOTNaWElnYkdWMlpXd3VYRzRnSUhaaGNpQnViMFJsWTI5a1pTQTlJRzl3ZEdsdmJuTXVaR1ZqYjJSbFUzUnlhVzVuY3lBOVBUMGdabUZzYzJVN1hHNGdJSFJvYVhNdVpHVmpiMlJsVTNSeWFXNW5jeUE5SUNGdWIwUmxZMjlrWlR0Y2JseHVJQ0F2THlCRGNubHdkRzhnYVhNZ2EybHVaQ0J2WmlCdmJHUWdZVzVrSUdOeWRYTjBlUzRnSUVocGMzUnZjbWxqWVd4c2VTd2dhWFJ6SUdSbFptRjFiSFFnYzNSeWFXNW5YRzRnSUM4dklHVnVZMjlrYVc1bklHbHpJQ2RpYVc1aGNua25JSE52SUhkbElHaGhkbVVnZEc4Z2JXRnJaU0IwYUdseklHTnZibVpwWjNWeVlXSnNaUzVjYmlBZ0x5OGdSWFpsY25sMGFHbHVaeUJsYkhObElHbHVJSFJvWlNCMWJtbDJaWEp6WlNCMWMyVnpJQ2QxZEdZNEp5d2dkR2h2ZFdkb0xseHVJQ0IwYUdsekxtUmxabUYxYkhSRmJtTnZaR2x1WnlBOUlHOXdkR2x2Ym5NdVpHVm1ZWFZzZEVWdVkyOWthVzVuSUh4OElDZDFkR1k0Snp0Y2JseHVJQ0F2THlCdWIzUWdZVzRnWVdOMGRXRnNJR0oxWm1abGNpQjNaU0JyWldWd0lIUnlZV05ySUc5bUxDQmlkWFFnWVNCdFpXRnpkWEpsYldWdWRGeHVJQ0F2THlCdlppQm9iM2NnYlhWamFDQjNaU2R5WlNCM1lXbDBhVzVuSUhSdklHZGxkQ0J3ZFhOb1pXUWdkRzhnYzI5dFpTQjFibVJsY214NWFXNW5YRzRnSUM4dklITnZZMnRsZENCdmNpQm1hV3hsTGx4dUlDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNWNiaUFnTHk4Z1lTQm1iR0ZuSUhSdklITmxaU0IzYUdWdUlIZGxKM0psSUdsdUlIUm9aU0J0YVdSa2JHVWdiMllnWVNCM2NtbDBaUzVjYmlBZ2RHaHBjeTUzY21sMGFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdkMmhsYmlCMGNuVmxJR0ZzYkNCM2NtbDBaWE1nZDJsc2JDQmlaU0JpZFdabVpYSmxaQ0IxYm5ScGJDQXVkVzVqYjNKcktDa2dZMkZzYkZ4dUlDQjBhR2x6TG1OdmNtdGxaQ0E5SURBN1hHNWNiaUFnTHk4Z1lTQm1iR0ZuSUhSdklHSmxJR0ZpYkdVZ2RHOGdkR1ZzYkNCcFppQjBhR1VnYjI1M2NtbDBaU0JqWWlCcGN5QmpZV3hzWldRZ2FXMXRaV1JwWVhSbGJIa3NYRzRnSUM4dklHOXlJRzl1SUdFZ2JHRjBaWElnZEdsamF5NGdJRmRsSUhObGRDQjBhR2x6SUhSdklIUnlkV1VnWVhRZ1ptbHljM1FzSUdKbFkyRjFjMlVnWVc1NVhHNGdJQzh2SUdGamRHbHZibk1nZEdoaGRDQnphRzkxYkdSdUozUWdhR0Z3Y0dWdUlIVnVkR2xzSUZ3aWJHRjBaWEpjSWlCemFHOTFiR1FnWjJWdVpYSmhiR3g1SUdGc2MyOWNiaUFnTHk4Z2JtOTBJR2hoY0hCbGJpQmlaV1p2Y21VZ2RHaGxJR1pwY25OMElIZHlhWFJsSUdOaGJHd3VYRzRnSUhSb2FYTXVjM2x1WXlBOUlIUnlkV1U3WEc1Y2JpQWdMeThnWVNCbWJHRm5JSFJ2SUd0dWIzY2dhV1lnZDJVbmNtVWdjSEp2WTJWemMybHVaeUJ3Y21WMmFXOTFjMng1SUdKMVptWmxjbVZrSUdsMFpXMXpMQ0IzYUdsamFGeHVJQ0F2THlCdFlYa2dZMkZzYkNCMGFHVWdYM2R5YVhSbEtDa2dZMkZzYkdKaFkyc2dhVzRnZEdobElITmhiV1VnZEdsamF5d2djMjhnZEdoaGRDQjNaU0JrYjI0bmRGeHVJQ0F2THlCbGJtUWdkWEFnYVc0Z1lXNGdiM1psY214aGNIQmxaQ0J2Ym5keWFYUmxJSE5wZEhWaGRHbHZiaTVjYmlBZ2RHaHBjeTVpZFdabVpYSlFjbTlqWlhOemFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdkR2hsSUdOaGJHeGlZV05ySUhSb1lYUW5jeUJ3WVhOelpXUWdkRzhnWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1SUNCMGFHbHpMbTl1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaUFvWlhJcElIdGNiaUFnSUNCdmJuZHlhWFJsS0hOMGNtVmhiU3dnWlhJcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUhSb1pTQmpZV3hzWW1GamF5QjBhR0YwSUhSb1pTQjFjMlZ5SUhOMWNIQnNhV1Z6SUhSdklIZHlhWFJsS0dOb2RXNXJMR1Z1WTI5a2FXNW5MR05pS1Z4dUlDQjBhR2x6TG5keWFYUmxZMklnUFNCdWRXeHNPMXh1WEc0Z0lDOHZJSFJvWlNCaGJXOTFiblFnZEdoaGRDQnBjeUJpWldsdVp5QjNjbWwwZEdWdUlIZG9aVzRnWDNkeWFYUmxJR2x6SUdOaGJHeGxaQzVjYmlBZ2RHaHBjeTUzY21sMFpXeGxiaUE5SURBN1hHNWNiaUFnZEdocGN5NWlkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQnVkV3hzTzF4dVhHNGdJQzh2SUc1MWJXSmxjaUJ2WmlCd1pXNWthVzVuSUhWelpYSXRjM1Z3Y0d4cFpXUWdkM0pwZEdVZ1kyRnNiR0poWTJ0elhHNGdJQzh2SUhSb2FYTWdiWFZ6ZENCaVpTQXdJR0psWm05eVpTQW5abWx1YVhOb0p5QmpZVzRnWW1VZ1pXMXBkSFJsWkZ4dUlDQjBhR2x6TG5CbGJtUnBibWRqWWlBOUlEQTdYRzVjYmlBZ0x5OGdaVzFwZENCd2NtVm1hVzVwYzJnZ2FXWWdkR2hsSUc5dWJIa2dkR2hwYm1jZ2QyVW5jbVVnZDJGcGRHbHVaeUJtYjNJZ2FYTWdYM2R5YVhSbElHTmljMXh1SUNBdkx5QlVhR2x6SUdseklISmxiR1YyWVc1MElHWnZjaUJ6ZVc1amFISnZibTkxY3lCVWNtRnVjMlp2Y20wZ2MzUnlaV0Z0YzF4dUlDQjBhR2x6TG5CeVpXWnBibWx6YUdWa0lEMGdabUZzYzJVN1hHNWNiaUFnTHk4Z1ZISjFaU0JwWmlCMGFHVWdaWEp5YjNJZ2QyRnpJR0ZzY21WaFpIa2daVzFwZEhSbFpDQmhibVFnYzJodmRXeGtJRzV2ZENCaVpTQjBhSEp2ZDI0Z1lXZGhhVzVjYmlBZ2RHaHBjeTVsY25KdmNrVnRhWFIwWldRZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCamIzVnVkQ0JpZFdabVpYSmxaQ0J5WlhGMVpYTjBjMXh1SUNCMGFHbHpMbUoxWm1abGNtVmtVbVZ4ZFdWemRFTnZkVzUwSUQwZ01EdGNibHh1SUNBdkx5QmhiR3h2WTJGMFpTQjBhR1VnWm1seWMzUWdRMjl5YTJWa1VtVnhkV1Z6ZEN3Z2RHaGxjbVVnYVhNZ1lXeDNZWGx6WEc0Z0lDOHZJRzl1WlNCaGJHeHZZMkYwWldRZ1lXNWtJR1p5WldVZ2RHOGdkWE5sTENCaGJtUWdkMlVnYldGcGJuUmhhVzRnWVhRZ2JXOXpkQ0IwZDI5Y2JpQWdkR2hwY3k1amIzSnJaV1JTWlhGMVpYTjBjMFp5WldVZ1BTQnVaWGNnUTI5eWEyVmtVbVZ4ZFdWemRDaDBhR2x6S1R0Y2JuMWNibHh1VjNKcGRHRmliR1ZUZEdGMFpTNXdjbTkwYjNSNWNHVXVaMlYwUW5WbVptVnlJRDBnWm5WdVkzUnBiMjRnWjJWMFFuVm1abVZ5S0NrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZENBOUlIUm9hWE11WW5WbVptVnlaV1JTWlhGMVpYTjBPMXh1SUNCMllYSWdiM1YwSUQwZ1cxMDdYRzRnSUhkb2FXeGxJQ2hqZFhKeVpXNTBLU0I3WEc0Z0lDQWdiM1YwTG5CMWMyZ29ZM1Z5Y21WdWRDazdYRzRnSUNBZ1kzVnljbVZ1ZENBOUlHTjFjbkpsYm5RdWJtVjRkRHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiM1YwTzF4dWZUdGNibHh1S0daMWJtTjBhVzl1SUNncElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29WM0pwZEdGaWJHVlRkR0YwWlM1d2NtOTBiM1I1Y0dVc0lDZGlkV1ptWlhJbkxDQjdYRzRnSUNBZ0lDQm5aWFE2SUdsdWRHVnlibUZzVlhScGJDNWtaWEJ5WldOaGRHVW9ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NW5aWFJDZFdabVpYSW9LVHRjYmlBZ0lDQWdJSDBzSUNkZmQzSnBkR0ZpYkdWVGRHRjBaUzVpZFdabVpYSWdhWE1nWkdWd2NtVmpZWFJsWkM0Z1ZYTmxJRjkzY21sMFlXSnNaVk4wWVhSbExtZGxkRUoxWm1abGNpQW5JQ3NnSjJsdWMzUmxZV1F1Snl3Z0owUkZVREF3TURNbktWeHVJQ0FnSUgwcE8xeHVJQ0I5SUdOaGRHTm9JQ2hmS1NCN2ZWeHVmU2tvS1R0Y2JseHVMeThnVkdWemRDQmZkM0pwZEdGaWJHVlRkR0YwWlNCbWIzSWdhVzVvWlhKcGRHRnVZMlVnZEc4Z1lXTmpiM1Z1ZENCbWIzSWdSSFZ3YkdWNElITjBjbVZoYlhNc1hHNHZMeUIzYUc5elpTQndjbTkwYjNSNWNHVWdZMmhoYVc0Z2IyNXNlU0J3YjJsdWRITWdkRzhnVW1WaFpHRmliR1V1WEc1MllYSWdjbVZoYkVoaGMwbHVjM1JoYm1ObE8xeHVhV1lnS0hSNWNHVnZaaUJUZVcxaWIyd2dQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdVM2x0WW05c0xtaGhjMGx1YzNSaGJtTmxJQ1ltSUhSNWNHVnZaaUJHZFc1amRHbHZiaTV3Y205MGIzUjVjR1ZiVTNsdFltOXNMbWhoYzBsdWMzUmhibU5sWFNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQnlaV0ZzU0dGelNXNXpkR0Z1WTJVZ1BTQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVmJVM2x0WW05c0xtaGhjMGx1YzNSaGJtTmxYVHRjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRmR5YVhSaFlteGxMQ0JUZVcxaWIyd3VhR0Z6U1c1emRHRnVZMlVzSUh0Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdLRzlpYW1WamRDa2dlMXh1SUNBZ0lDQWdhV1lnS0hKbFlXeElZWE5KYm5OMFlXNWpaUzVqWVd4c0tIUm9hWE1zSUc5aWFtVmpkQ2twSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJRmR5YVhSaFlteGxLU0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdlltcGxZM1FnSmlZZ2IySnFaV04wTGw5M2NtbDBZV0pzWlZOMFlYUmxJR2x1YzNSaGJtTmxiMllnVjNKcGRHRmliR1ZUZEdGMFpUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dWZTQmxiSE5sSUh0Y2JpQWdjbVZoYkVoaGMwbHVjM1JoYm1ObElEMGdablZ1WTNScGIyNGdLRzlpYW1WamRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdlltcGxZM1FnYVc1emRHRnVZMlZ2WmlCMGFHbHpPMXh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCWGNtbDBZV0pzWlNodmNIUnBiMjV6S1NCN1hHNGdJRVIxY0d4bGVDQTlJRVIxY0d4bGVDQjhmQ0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmWkhWd2JHVjRKeWs3WEc1Y2JpQWdMeThnVjNKcGRHRmliR1VnWTNSdmNpQnBjeUJoY0hCc2FXVmtJSFJ2SUVSMWNHeGxlR1Z6TENCMGIyOHVYRzRnSUM4dklHQnlaV0ZzU0dGelNXNXpkR0Z1WTJWZ0lHbHpJRzVsWTJWemMyRnllU0JpWldOaGRYTmxJSFZ6YVc1bklIQnNZV2x1SUdCcGJuTjBZVzVqWlc5bVlGeHVJQ0F2THlCM2IzVnNaQ0J5WlhSMWNtNGdabUZzYzJVc0lHRnpJRzV2SUdCZmQzSnBkR0ZpYkdWVGRHRjBaV0FnY0hKdmNHVnlkSGtnYVhNZ1lYUjBZV05vWldRdVhHNWNiaUFnTHk4Z1ZISjVhVzVuSUhSdklIVnpaU0IwYUdVZ1kzVnpkRzl0SUdCcGJuTjBZVzVqWlc5bVlDQm1iM0lnVjNKcGRHRmliR1VnYUdWeVpTQjNhV3hzSUdGc2MyOGdZbkpsWVdzZ2RHaGxYRzRnSUM4dklFNXZaR1V1YW5NZ1RHRjZlVlJ5WVc1elptOXliU0JwYlhCc1pXMWxiblJoZEdsdmJpd2dkMmhwWTJnZ2FHRnpJR0VnYm05dUxYUnlhWFpwWVd3Z1oyVjBkR1Z5SUdadmNseHVJQ0F2THlCZ1gzZHlhWFJoWW14bFUzUmhkR1ZnSUhSb1lYUWdkMjkxYkdRZ2JHVmhaQ0IwYnlCcGJtWnBibWwwWlNCeVpXTjFjbk5wYjI0dVhHNGdJR2xtSUNnaGNtVmhiRWhoYzBsdWMzUmhibU5sTG1OaGJHd29WM0pwZEdGaWJHVXNJSFJvYVhNcElDWW1JQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVIxY0d4bGVDa3BJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRmR5YVhSaFlteGxLRzl3ZEdsdmJuTXBPMXh1SUNCOVhHNWNiaUFnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlNBOUlHNWxkeUJYY21sMFlXSnNaVk4wWVhSbEtHOXdkR2x2Ym5Nc0lIUm9hWE1wTzF4dVhHNGdJQzh2SUd4bFoyRmplUzVjYmlBZ2RHaHBjeTUzY21sMFlXSnNaU0E5SUhSeWRXVTdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVkM0pwZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUhSb2FYTXVYM2R5YVhSbElEMGdiM0IwYVc5dWN5NTNjbWwwWlR0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3k1M2NtbDBaWFlnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgzZHlhWFJsZGlBOUlHOXdkR2x2Ym5NdWQzSnBkR1YyTzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdmNIUnBiMjV6TG1SbGMzUnliM2tnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgyUmxjM1J5YjNrZ1BTQnZjSFJwYjI1ekxtUmxjM1J5YjNrN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NdVptbHVZV3dnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgyWnBibUZzSUQwZ2IzQjBhVzl1Y3k1bWFXNWhiRHRjYmlBZ2ZWeHVYRzRnSUZOMGNtVmhiUzVqWVd4c0tIUm9hWE1wTzF4dWZWeHVYRzR2THlCUGRHaGxjbmRwYzJVZ2NHVnZjR3hsSUdOaGJpQndhWEJsSUZkeWFYUmhZbXhsSUhOMGNtVmhiWE1zSUhkb2FXTm9JR2x6SUdwMWMzUWdkM0p2Ym1jdVhHNVhjbWwwWVdKc1pTNXdjbTkwYjNSNWNHVXVjR2x3WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTVsYldsMEtDZGxjbkp2Y2ljc0lHNWxkeUJGY25KdmNpZ25RMkZ1Ym05MElIQnBjR1VzSUc1dmRDQnlaV0ZrWVdKc1pTY3BLVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJSGR5YVhSbFFXWjBaWEpGYm1Rb2MzUnlaV0Z0TENCallpa2dlMXh1SUNCMllYSWdaWElnUFNCdVpYY2dSWEp5YjNJb0ozZHlhWFJsSUdGbWRHVnlJR1Z1WkNjcE8xeHVJQ0F2THlCVVQwUlBPaUJrWldabGNpQmxjbkp2Y2lCbGRtVnVkSE1nWTI5dWMybHpkR1Z1ZEd4NUlHVjJaWEo1ZDJobGNtVXNJRzV2ZENCcWRYTjBJSFJvWlNCallseHVJQ0J6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUhCdVlTNXVaWGgwVkdsamF5aGpZaXdnWlhJcE8xeHVmVnh1WEc0dkx5QkRhR1ZqYTNNZ2RHaGhkQ0JoSUhWelpYSXRjM1Z3Y0d4cFpXUWdZMmgxYm1zZ2FYTWdkbUZzYVdRc0lHVnpjR1ZqYVdGc2JIa2dabTl5SUhSb1pTQndZWEowYVdOMWJHRnlYRzR2THlCdGIyUmxJSFJvWlNCemRISmxZVzBnYVhNZ2FXNHVJRU4xY25KbGJuUnNlU0IwYUdseklHMWxZVzV6SUhSb1lYUWdZRzUxYkd4Z0lHbHpJRzVsZG1WeUlHRmpZMlZ3ZEdWa1hHNHZMeUJoYm1RZ2RXNWtaV1pwYm1Wa0wyNXZiaTF6ZEhKcGJtY2dkbUZzZFdWeklHRnlaU0J2Ym14NUlHRnNiRzkzWldRZ2FXNGdiMkpxWldOMElHMXZaR1V1WEc1bWRXNWpkR2x2YmlCMllXeHBaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2RtRnNhV1FnUFNCMGNuVmxPMXh1SUNCMllYSWdaWElnUFNCbVlXeHpaVHRjYmx4dUlDQnBaaUFvWTJoMWJtc2dQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQmxjaUE5SUc1bGR5QlVlWEJsUlhKeWIzSW9KMDFoZVNCdWIzUWdkM0pwZEdVZ2JuVnNiQ0IyWVd4MVpYTWdkRzhnYzNSeVpXRnRKeWs3WEc0Z0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlHTm9kVzVySUNFOVBTQW5jM1J5YVc1bkp5QW1KaUJqYUhWdWF5QWhQVDBnZFc1a1pXWnBibVZrSUNZbUlDRnpkR0YwWlM1dlltcGxZM1JOYjJSbEtTQjdYRzRnSUNBZ1pYSWdQU0J1WlhjZ1ZIbHdaVVZ5Y205eUtDZEpiblpoYkdsa0lHNXZiaTF6ZEhKcGJtY3ZZblZtWm1WeUlHTm9kVzVySnlrN1hHNGdJSDFjYmlBZ2FXWWdLR1Z5S1NCN1hHNGdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z1pYSXBPMXh1SUNBZ0lIQnVZUzV1WlhoMFZHbGpheWhqWWl3Z1pYSXBPMXh1SUNBZ0lIWmhiR2xrSUQwZ1ptRnNjMlU3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSFpoYkdsa08xeHVmVnh1WEc1WGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjbVYwSUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJwYzBKMVppQTlJQ0Z6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJQ1ltSUY5cGMxVnBiblE0UVhKeVlYa29ZMmgxYm1zcE8xeHVYRzRnSUdsbUlDaHBjMEoxWmlBbUppQWhRblZtWm1WeUxtbHpRblZtWm1WeUtHTm9kVzVyS1NrZ2UxeHVJQ0FnSUdOb2RXNXJJRDBnWDNWcGJuUTRRWEp5WVhsVWIwSjFabVpsY2loamFIVnVheWs3WEc0Z0lIMWNibHh1SUNCcFppQW9kSGx3Wlc5bUlHVnVZMjlrYVc1bklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnWTJJZ1BTQmxibU52WkdsdVp6dGNiaUFnSUNCbGJtTnZaR2x1WnlBOUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCcFppQW9hWE5DZFdZcElHVnVZMjlrYVc1bklEMGdKMkoxWm1abGNpYzdaV3h6WlNCcFppQW9JV1Z1WTI5a2FXNW5LU0JsYm1OdlpHbHVaeUE5SUhOMFlYUmxMbVJsWm1GMWJIUkZibU52WkdsdVp6dGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHTmlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQmpZaUE5SUc1dmNEdGNibHh1SUNCcFppQW9jM1JoZEdVdVpXNWtaV1FwSUhkeWFYUmxRV1owWlhKRmJtUW9kR2hwY3l3Z1kySXBPMlZzYzJVZ2FXWWdLR2x6UW5WbUlIeDhJSFpoYkdsa1EyaDFibXNvZEdocGN5d2djM1JoZEdVc0lHTm9kVzVyTENCallpa3BJSHRjYmlBZ0lDQnpkR0YwWlM1d1pXNWthVzVuWTJJckt6dGNiaUFnSUNCeVpYUWdQU0IzY21sMFpVOXlRblZtWm1WeUtIUm9hWE1zSUhOMFlYUmxMQ0JwYzBKMVppd2dZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmpZaWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnY21WME8xeHVmVHRjYmx4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExtTnZjbXNnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ2MzUmhkR1V1WTI5eWEyVmtLeXM3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1ZFc1amIzSnJJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRdExUdGNibHh1SUNBZ0lHbG1JQ2doYzNSaGRHVXVkM0pwZEdsdVp5QW1KaUFoYzNSaGRHVXVZMjl5YTJWa0lDWW1JQ0Z6ZEdGMFpTNW1hVzVwYzJobFpDQW1KaUFoYzNSaGRHVXVZblZtWm1WeVVISnZZMlZ6YzJsdVp5QW1KaUJ6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNRcElHTnNaV0Z5UW5WbVptVnlLSFJvYVhNc0lITjBZWFJsS1R0Y2JpQWdmVnh1ZlR0Y2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbk5sZEVSbFptRjFiSFJGYm1OdlpHbHVaeUE5SUdaMWJtTjBhVzl1SUhObGRFUmxabUYxYkhSRmJtTnZaR2x1WnlobGJtTnZaR2x1WnlrZ2UxeHVJQ0F2THlCdWIyUmxPanBRWVhKelpVVnVZMjlrYVc1bktDa2djbVZ4ZFdseVpYTWdiRzkzWlhJZ1kyRnpaUzVjYmlBZ2FXWWdLSFI1Y0dWdlppQmxibU52WkdsdVp5QTlQVDBnSjNOMGNtbHVaeWNwSUdWdVkyOWthVzVuSUQwZ1pXNWpiMlJwYm1jdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ2FXWWdLQ0VvV3lkb1pYZ25MQ0FuZFhSbU9DY3NJQ2QxZEdZdE9DY3NJQ2RoYzJOcGFTY3NJQ2RpYVc1aGNua25MQ0FuWW1GelpUWTBKeXdnSjNWamN6SW5MQ0FuZFdOekxUSW5MQ0FuZFhSbU1UWnNaU2NzSUNkMWRHWXRNVFpzWlNjc0lDZHlZWGNuWFM1cGJtUmxlRTltS0NobGJtTnZaR2x1WnlBcklDY25LUzUwYjB4dmQyVnlRMkZ6WlNncEtTQStJQzB4S1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25WVzVyYm05M2JpQmxibU52WkdsdVp6b2dKeUFySUdWdVkyOWthVzVuS1R0Y2JpQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVrWldaaGRXeDBSVzVqYjJScGJtY2dQU0JsYm1OdlpHbHVaenRjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQmtaV052WkdWRGFIVnVheWh6ZEdGMFpTd2dZMmgxYm1zc0lHVnVZMjlrYVc1bktTQjdYRzRnSUdsbUlDZ2hjM1JoZEdVdWIySnFaV04wVFc5a1pTQW1KaUJ6ZEdGMFpTNWtaV052WkdWVGRISnBibWR6SUNFOVBTQm1ZV3h6WlNBbUppQjBlWEJsYjJZZ1kyaDFibXNnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1kyaDFibXNnUFNCQ2RXWm1aWEl1Wm5KdmJTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCamFIVnVhenRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlN3Z0ozZHlhWFJoWW14bFNHbG5hRmRoZEdWeVRXRnlheWNzSUh0Y2JpQWdMeThnYldGcmFXNW5JR2wwSUdWNGNHeHBZMmwwSUhSb2FYTWdjSEp2Y0dWeWRIa2dhWE1nYm05MElHVnVkVzFsY21GaWJHVmNiaUFnTHk4Z1ltVmpZWFZ6WlNCdmRHaGxjbmRwYzJVZ2MyOXRaU0J3Y205MGIzUjVjR1VnYldGdWFYQjFiR0YwYVc5dUlHbHVYRzRnSUM4dklIVnpaWEpzWVc1a0lIZHBiR3dnWm1GcGJGeHVJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZlZ4dWZTazdYRzVjYmk4dklHbG1JSGRsSjNKbElHRnNjbVZoWkhrZ2QzSnBkR2x1WnlCemIyMWxkR2hwYm1jc0lIUm9aVzRnYW5WemRDQndkWFFnZEdocGMxeHVMeThnYVc0Z2RHaGxJSEYxWlhWbExDQmhibVFnZDJGcGRDQnZkWElnZEhWeWJpNGdJRTkwYUdWeWQybHpaU3dnWTJGc2JDQmZkM0pwZEdWY2JpOHZJRWxtSUhkbElISmxkSFZ5YmlCbVlXeHpaU3dnZEdobGJpQjNaU0J1WldWa0lHRWdaSEpoYVc0Z1pYWmxiblFzSUhOdklITmxkQ0IwYUdGMElHWnNZV2N1WEc1bWRXNWpkR2x2YmlCM2NtbDBaVTl5UW5WbVptVnlLSE4wY21WaGJTd2djM1JoZEdVc0lHbHpRblZtTENCamFIVnVheXdnWlc1amIyUnBibWNzSUdOaUtTQjdYRzRnSUdsbUlDZ2hhWE5DZFdZcElIdGNiaUFnSUNCMllYSWdibVYzUTJoMWJtc2dQU0JrWldOdlpHVkRhSFZ1YXloemRHRjBaU3dnWTJoMWJtc3NJR1Z1WTI5a2FXNW5LVHRjYmlBZ0lDQnBaaUFvWTJoMWJtc2dJVDA5SUc1bGQwTm9kVzVyS1NCN1hHNGdJQ0FnSUNCcGMwSjFaaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQmxibU52WkdsdVp5QTlJQ2RpZFdabVpYSW5PMXh1SUNBZ0lDQWdZMmgxYm1zZ1BTQnVaWGREYUhWdWF6dGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2RtRnlJR3hsYmlBOUlITjBZWFJsTG05aWFtVmpkRTF2WkdVZ1B5QXhJRG9nWTJoMWJtc3ViR1Z1WjNSb08xeHVYRzRnSUhOMFlYUmxMbXhsYm1kMGFDQXJQU0JzWlc0N1hHNWNiaUFnZG1GeUlISmxkQ0E5SUhOMFlYUmxMbXhsYm1kMGFDQThJSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXM3WEc0Z0lDOHZJSGRsSUcxMWMzUWdaVzV6ZFhKbElIUm9ZWFFnY0hKbGRtbHZkWE1nYm1WbFpFUnlZV2x1SUhkcGJHd2dibTkwSUdKbElISmxjMlYwSUhSdklHWmhiSE5sTGx4dUlDQnBaaUFvSVhKbGRDa2djM1JoZEdVdWJtVmxaRVJ5WVdsdUlEMGdkSEoxWlR0Y2JseHVJQ0JwWmlBb2MzUmhkR1V1ZDNKcGRHbHVaeUI4ZkNCemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQjJZWElnYkdGemRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2MzUmhkR1V1YkdGemRFSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlIdGNiaUFnSUNBZ0lHTm9kVzVyT2lCamFIVnVheXhjYmlBZ0lDQWdJR1Z1WTI5a2FXNW5PaUJsYm1OdlpHbHVaeXhjYmlBZ0lDQWdJR2x6UW5WbU9pQnBjMEoxWml4Y2JpQWdJQ0FnSUdOaGJHeGlZV05yT2lCallpeGNiaUFnSUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnSUNCOU8xeHVJQ0FnSUdsbUlDaHNZWE4wS1NCN1hHNGdJQ0FnSUNCc1lYTjBMbTVsZUhRZ1BTQnpkR0YwWlM1c1lYTjBRblZtWm1WeVpXUlNaWEYxWlhOME8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQnpkR0YwWlM1c1lYTjBRblZtWm1WeVpXUlNaWEYxWlhOME8xeHVJQ0FnSUgxY2JpQWdJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNSRGIzVnVkQ0FyUFNBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHUnZWM0pwZEdVb2MzUnlaV0Z0TENCemRHRjBaU3dnWm1Gc2MyVXNJR3hsYml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrYjFkeWFYUmxLSE4wY21WaGJTd2djM1JoZEdVc0lIZHlhWFJsZGl3Z2JHVnVMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3NJR05pS1NCN1hHNGdJSE4wWVhSbExuZHlhWFJsYkdWdUlEMGdiR1Z1TzF4dUlDQnpkR0YwWlM1M2NtbDBaV05pSUQwZ1kySTdYRzRnSUhOMFlYUmxMbmR5YVhScGJtY2dQU0IwY25WbE8xeHVJQ0J6ZEdGMFpTNXplVzVqSUQwZ2RISjFaVHRjYmlBZ2FXWWdLSGR5YVhSbGRpa2djM1J5WldGdExsOTNjbWwwWlhZb1kyaDFibXNzSUhOMFlYUmxMbTl1ZDNKcGRHVXBPMlZzYzJVZ2MzUnlaV0Z0TGw5M2NtbDBaU2hqYUhWdWF5d2daVzVqYjJScGJtY3NJSE4wWVhSbExtOXVkM0pwZEdVcE8xeHVJQ0J6ZEdGMFpTNXplVzVqSUQwZ1ptRnNjMlU3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzl1ZDNKcGRHVkZjbkp2Y2loemRISmxZVzBzSUhOMFlYUmxMQ0J6ZVc1akxDQmxjaXdnWTJJcElIdGNiaUFnTFMxemRHRjBaUzV3Wlc1a2FXNW5ZMkk3WEc1Y2JpQWdhV1lnS0hONWJtTXBJSHRjYmlBZ0lDQXZMeUJrWldabGNpQjBhR1VnWTJGc2JHSmhZMnNnYVdZZ2QyVWdZWEpsSUdKbGFXNW5JR05oYkd4bFpDQnplVzVqYUhKdmJtOTFjMng1WEc0Z0lDQWdMeThnZEc4Z1lYWnZhV1FnY0dsc2FXNW5JSFZ3SUhSb2FXNW5jeUJ2YmlCMGFHVWdjM1JoWTJ0Y2JpQWdJQ0J3Ym1FdWJtVjRkRlJwWTJzb1kySXNJR1Z5S1R0Y2JpQWdJQ0F2THlCMGFHbHpJR05oYmlCbGJXbDBJR1pwYm1semFDd2dZVzVrSUdsMElIZHBiR3dnWVd4M1lYbHpJR2hoY0hCbGJseHVJQ0FnSUM4dklHRm1kR1Z5SUdWeWNtOXlYRzRnSUNBZ2NHNWhMbTVsZUhSVWFXTnJLR1pwYm1semFFMWhlV0psTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ0lDQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnZEdobElHTmhiR3hsY2lCbGVIQmxZM1FnZEdocGN5QjBieUJvWVhCd1pXNGdZbVZtYjNKbElHbG1YRzRnSUNBZ0x5OGdhWFFnYVhNZ1lYTjVibU5jYmlBZ0lDQmpZaWhsY2lrN1hHNGdJQ0FnYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbExtVnljbTl5UlcxcGRIUmxaQ0E5SUhSeWRXVTdYRzRnSUNBZ2MzUnlaV0Z0TG1WdGFYUW9KMlZ5Y205eUp5d2daWElwTzF4dUlDQWdJQzh2SUhSb2FYTWdZMkZ1SUdWdGFYUWdabWx1YVhOb0xDQmlkWFFnWm1sdWFYTm9JRzExYzNSY2JpQWdJQ0F2THlCaGJIZGhlWE1nWm05c2JHOTNJR1Z5Y205eVhHNGdJQ0FnWm1sdWFYTm9UV0Y1WW1Vb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNTNjbWwwWlZOMFlYUmxWWEJrWVhSbEtITjBZWFJsS1NCN1hHNGdJSE4wWVhSbExuZHlhWFJwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdjM1JoZEdVdWQzSnBkR1ZqWWlBOUlHNTFiR3c3WEc0Z0lITjBZWFJsTG14bGJtZDBhQ0F0UFNCemRHRjBaUzUzY21sMFpXeGxianRjYmlBZ2MzUmhkR1V1ZDNKcGRHVnNaVzRnUFNBd08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJuZHlhWFJsS0hOMGNtVmhiU3dnWlhJcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjM2x1WXlBOUlITjBZWFJsTG5ONWJtTTdYRzRnSUhaaGNpQmpZaUE5SUhOMFlYUmxMbmR5YVhSbFkySTdYRzVjYmlBZ2IyNTNjbWwwWlZOMFlYUmxWWEJrWVhSbEtITjBZWFJsS1R0Y2JseHVJQ0JwWmlBb1pYSXBJRzl1ZDNKcGRHVkZjbkp2Y2loemRISmxZVzBzSUhOMFlYUmxMQ0J6ZVc1akxDQmxjaXdnWTJJcE8yVnNjMlVnZTF4dUlDQWdJQzh2SUVOb1pXTnJJR2xtSUhkbEozSmxJR0ZqZEhWaGJHeDVJSEpsWVdSNUlIUnZJR1pwYm1semFDd2dZblYwSUdSdmJpZDBJR1Z0YVhRZ2VXVjBYRzRnSUNBZ2RtRnlJR1pwYm1semFHVmtJRDBnYm1WbFpFWnBibWx6YUNoemRHRjBaU2s3WEc1Y2JpQWdJQ0JwWmlBb0lXWnBibWx6YUdWa0lDWW1JQ0Z6ZEdGMFpTNWpiM0pyWldRZ0ppWWdJWE4wWVhSbExtSjFabVpsY2xCeWIyTmxjM05wYm1jZ0ppWWdjM1JoZEdVdVluVm1abVZ5WldSU1pYRjFaWE4wS1NCN1hHNGdJQ0FnSUNCamJHVmhja0oxWm1abGNpaHpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2MzbHVZeWtnZTF4dUlDQWdJQ0FnTHlvOGNtVndiR0ZqWlcxbGJuUStLaTljYmlBZ0lDQWdJR0Z6ZVc1alYzSnBkR1VvWVdaMFpYSlhjbWwwWlN3Z2MzUnlaV0Z0TENCemRHRjBaU3dnWm1sdWFYTm9aV1FzSUdOaUtUdGNiaUFnSUNBZ0lDOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoWm5SbGNsZHlhWFJsS0hOMGNtVmhiU3dnYzNSaGRHVXNJR1pwYm1semFHVmtMQ0JqWWlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRm1kR1Z5VjNKcGRHVW9jM1J5WldGdExDQnpkR0YwWlN3Z1ptbHVhWE5vWldRc0lHTmlLU0I3WEc0Z0lHbG1JQ2doWm1sdWFYTm9aV1FwSUc5dWQzSnBkR1ZFY21GcGJpaHpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdjM1JoZEdVdWNHVnVaR2x1WjJOaUxTMDdYRzRnSUdOaUtDazdYRzRnSUdacGJtbHphRTFoZVdKbEtITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dWZWeHVYRzR2THlCTmRYTjBJR1p2Y21ObElHTmhiR3hpWVdOcklIUnZJR0psSUdOaGJHeGxaQ0J2YmlCdVpYaDBWR2xqYXl3Z2MyOGdkR2hoZENCM1pTQmtiMjRuZEZ4dUx5OGdaVzFwZENBblpISmhhVzRuSUdKbFptOXlaU0IwYUdVZ2QzSnBkR1VvS1NCamIyNXpkVzFsY2lCblpYUnpJSFJvWlNBblptRnNjMlVuSUhKbGRIVnlibHh1THk4Z2RtRnNkV1VzSUdGdVpDQm9ZWE1nWVNCamFHRnVZMlVnZEc4Z1lYUjBZV05vSUdFZ0oyUnlZV2x1SnlCc2FYTjBaVzVsY2k1Y2JtWjFibU4wYVc5dUlHOXVkM0pwZEdWRWNtRnBiaWh6ZEhKbFlXMHNJSE4wWVhSbEtTQjdYRzRnSUdsbUlDaHpkR0YwWlM1c1pXNW5kR2dnUFQwOUlEQWdKaVlnYzNSaGRHVXVibVZsWkVSeVlXbHVLU0I3WEc0Z0lDQWdjM1JoZEdVdWJtVmxaRVJ5WVdsdUlEMGdabUZzYzJVN1hHNGdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0oyUnlZV2x1SnlrN1hHNGdJSDFjYm4xY2JseHVMeThnYVdZZ2RHaGxjbVVuY3lCemIyMWxkR2hwYm1jZ2FXNGdkR2hsSUdKMVptWmxjaUIzWVdsMGFXNW5MQ0IwYUdWdUlIQnliMk5sYzNNZ2FYUmNibVoxYm1OMGFXOXVJR05zWldGeVFuVm1abVZ5S0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ2MzUmhkR1V1WW5WbVptVnlVSEp2WTJWemMybHVaeUE5SUhSeWRXVTdYRzRnSUhaaGNpQmxiblJ5ZVNBOUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkRHRjYmx4dUlDQnBaaUFvYzNSeVpXRnRMbDkzY21sMFpYWWdKaVlnWlc1MGNua2dKaVlnWlc1MGNua3VibVY0ZENrZ2UxeHVJQ0FnSUM4dklFWmhjM1FnWTJGelpTd2dkM0pwZEdVZ1pYWmxjbmwwYUdsdVp5QjFjMmx1WnlCZmQzSnBkR1YyS0NsY2JpQWdJQ0IyWVhJZ2JDQTlJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZEVOdmRXNTBPMXh1SUNBZ0lIWmhjaUJpZFdabVpYSWdQU0J1WlhjZ1FYSnlZWGtvYkNrN1hHNGdJQ0FnZG1GeUlHaHZiR1JsY2lBOUlITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlR0Y2JpQWdJQ0JvYjJ4a1pYSXVaVzUwY25rZ1BTQmxiblJ5ZVR0Y2JseHVJQ0FnSUhaaGNpQmpiM1Z1ZENBOUlEQTdYRzRnSUNBZ2RtRnlJR0ZzYkVKMVptWmxjbk1nUFNCMGNuVmxPMXh1SUNBZ0lIZG9hV3hsSUNobGJuUnllU2tnZTF4dUlDQWdJQ0FnWW5WbVptVnlXMk52ZFc1MFhTQTlJR1Z1ZEhKNU8xeHVJQ0FnSUNBZ2FXWWdLQ0ZsYm5SeWVTNXBjMEoxWmlrZ1lXeHNRblZtWm1WeWN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ1pXNTBjbmtnUFNCbGJuUnllUzV1WlhoME8xeHVJQ0FnSUNBZ1kyOTFiblFnS3owZ01UdGNiaUFnSUNCOVhHNGdJQ0FnWW5WbVptVnlMbUZzYkVKMVptWmxjbk1nUFNCaGJHeENkV1ptWlhKek8xeHVYRzRnSUNBZ1pHOVhjbWwwWlNoemRISmxZVzBzSUhOMFlYUmxMQ0IwY25WbExDQnpkR0YwWlM1c1pXNW5kR2dzSUdKMVptWmxjaXdnSnljc0lHaHZiR1JsY2k1bWFXNXBjMmdwTzF4dVhHNGdJQ0FnTHk4Z1pHOVhjbWwwWlNCcGN5QmhiRzF2YzNRZ1lXeDNZWGx6SUdGemVXNWpMQ0JrWldabGNpQjBhR1Z6WlNCMGJ5QnpZWFpsSUdFZ1ltbDBJRzltSUhScGJXVmNiaUFnSUNBdkx5QmhjeUIwYUdVZ2FHOTBJSEJoZEdnZ1pXNWtjeUIzYVhSb0lHUnZWM0pwZEdWY2JpQWdJQ0J6ZEdGMFpTNXdaVzVrYVc1blkySXJLenRjYmlBZ0lDQnpkR0YwWlM1c1lYTjBRblZtWm1WeVpXUlNaWEYxWlhOMElEMGdiblZzYkR0Y2JpQWdJQ0JwWmlBb2FHOXNaR1Z5TG01bGVIUXBJSHRjYmlBZ0lDQWdJSE4wWVhSbExtTnZjbXRsWkZKbGNYVmxjM1J6Um5KbFpTQTlJR2h2YkdSbGNpNXVaWGgwTzF4dUlDQWdJQ0FnYUc5c1pHVnlMbTVsZUhRZ1BTQnVkV3hzTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnpkR0YwWlM1amIzSnJaV1JTWlhGMVpYTjBjMFp5WldVZ1BTQnVaWGNnUTI5eWEyVmtVbVZ4ZFdWemRDaHpkR0YwWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZEVOdmRXNTBJRDBnTUR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QlRiRzkzSUdOaGMyVXNJSGR5YVhSbElHTm9kVzVyY3lCdmJtVXRZbmt0YjI1bFhHNGdJQ0FnZDJocGJHVWdLR1Z1ZEhKNUtTQjdYRzRnSUNBZ0lDQjJZWElnWTJoMWJtc2dQU0JsYm5SeWVTNWphSFZ1YXp0Y2JpQWdJQ0FnSUhaaGNpQmxibU52WkdsdVp5QTlJR1Z1ZEhKNUxtVnVZMjlrYVc1bk8xeHVJQ0FnSUNBZ2RtRnlJR05pSUQwZ1pXNTBjbmt1WTJGc2JHSmhZMnM3WEc0Z0lDQWdJQ0IyWVhJZ2JHVnVJRDBnYzNSaGRHVXViMkpxWldOMFRXOWtaU0EvSURFZ09pQmphSFZ1YXk1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUdSdlYzSnBkR1VvYzNSeVpXRnRMQ0J6ZEdGMFpTd2dabUZzYzJVc0lHeGxiaXdnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrN1hHNGdJQ0FnSUNCbGJuUnllU0E5SUdWdWRISjVMbTVsZUhRN1hHNGdJQ0FnSUNCemRHRjBaUzVpZFdabVpYSmxaRkpsY1hWbGMzUkRiM1Z1ZEMwdE8xeHVJQ0FnSUNBZ0x5OGdhV1lnZDJVZ1pHbGtiaWQwSUdOaGJHd2dkR2hsSUc5dWQzSnBkR1VnYVcxdFpXUnBZWFJsYkhrc0lIUm9aVzVjYmlBZ0lDQWdJQzh2SUdsMElHMWxZVzV6SUhSb1lYUWdkMlVnYm1WbFpDQjBieUIzWVdsMElIVnVkR2xzSUdsMElHUnZaWE11WEc0Z0lDQWdJQ0F2THlCaGJITnZMQ0IwYUdGMElHMWxZVzV6SUhSb1lYUWdkR2hsSUdOb2RXNXJJR0Z1WkNCallpQmhjbVVnWTNWeWNtVnVkR3g1WEc0Z0lDQWdJQ0F2THlCaVpXbHVaeUJ3Y205alpYTnpaV1FzSUhOdklHMXZkbVVnZEdobElHSjFabVpsY2lCamIzVnVkR1Z5SUhCaGMzUWdkR2hsYlM1Y2JpQWdJQ0FnSUdsbUlDaHpkR0YwWlM1M2NtbDBhVzVuS1NCN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJuUnllU0E5UFQwZ2JuVnNiQ2tnYzNSaGRHVXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQmxiblJ5ZVR0Y2JpQWdjM1JoZEdVdVluVm1abVZ5VUhKdlkyVnpjMmx1WnlBOUlHWmhiSE5sTzF4dWZWeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnWTJJb2JtVjNJRVZ5Y205eUtDZGZkM0pwZEdVb0tTQnBjeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUW5LU2s3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxkaUE5SUc1MWJHdzdYRzVjYmxkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlM1bGJtUWdQU0JtZFc1amRHbHZiaUFvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1kyaDFibXNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQmpZaUE5SUdOb2RXNXJPMXh1SUNBZ0lHTm9kVzVySUQwZ2JuVnNiRHRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR1Z1WTI5a2FXNW5JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ1kySWdQU0JsYm1OdlpHbHVaenRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnBaaUFvWTJoMWJtc2dJVDA5SUc1MWJHd2dKaVlnWTJoMWJtc2dJVDA5SUhWdVpHVm1hVzVsWkNrZ2RHaHBjeTUzY21sMFpTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jcE8xeHVYRzRnSUM4dklDNWxibVFvS1NCbWRXeHNlU0IxYm1OdmNtdHpYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRZ1BTQXhPMXh1SUNBZ0lIUm9hWE11ZFc1amIzSnJLQ2s3WEc0Z0lIMWNibHh1SUNBdkx5QnBaMjV2Y21VZ2RXNXVaV05sYzNOaGNua2daVzVrS0NrZ1kyRnNiSE11WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzVrYVc1bklDWW1JQ0Z6ZEdGMFpTNW1hVzVwYzJobFpDa2daVzVrVjNKcGRHRmliR1VvZEdocGN5d2djM1JoZEdVc0lHTmlLVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJRzVsWldSR2FXNXBjMmdvYzNSaGRHVXBJSHRjYmlBZ2NtVjBkWEp1SUhOMFlYUmxMbVZ1WkdsdVp5QW1KaUJ6ZEdGMFpTNXNaVzVuZEdnZ1BUMDlJREFnSmlZZ2MzUmhkR1V1WW5WbVptVnlaV1JTWlhGMVpYTjBJRDA5UFNCdWRXeHNJQ1ltSUNGemRHRjBaUzVtYVc1cGMyaGxaQ0FtSmlBaGMzUmhkR1V1ZDNKcGRHbHVaenRjYm4xY2JtWjFibU4wYVc5dUlHTmhiR3hHYVc1aGJDaHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJSE4wY21WaGJTNWZabWx1WVd3b1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJSE4wWVhSbExuQmxibVJwYm1kallpMHRPMXh1SUNBZ0lHbG1JQ2hsY25JcElIdGNiaUFnSUNBZ0lITjBjbVZoYlM1bGJXbDBLQ2RsY25KdmNpY3NJR1Z5Y2lrN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wWVhSbExuQnlaV1pwYm1semFHVmtJRDBnZEhKMVpUdGNiaUFnSUNCemRISmxZVzB1WlcxcGRDZ25jSEpsWm1sdWFYTm9KeWs3WEc0Z0lDQWdabWx1YVhOb1RXRjVZbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUgwcE8xeHVmVnh1Wm5WdVkzUnBiMjRnY0hKbFptbHVhWE5vS0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNXdjbVZtYVc1cGMyaGxaQ0FtSmlBaGMzUmhkR1V1Wm1sdVlXeERZV3hzWldRcElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlITjBjbVZoYlM1ZlptbHVZV3dnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExuQmxibVJwYm1kallpc3JPMXh1SUNBZ0lDQWdjM1JoZEdVdVptbHVZV3hEWVd4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NHNWhMbTVsZUhSVWFXTnJLR05oYkd4R2FXNWhiQ3dnYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbkJ5WldacGJtbHphR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSE4wY21WaGJTNWxiV2wwS0Nkd2NtVm1hVzVwYzJnbktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdabWx1YVhOb1RXRjVZbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCMllYSWdibVZsWkNBOUlHNWxaV1JHYVc1cGMyZ29jM1JoZEdVcE8xeHVJQ0JwWmlBb2JtVmxaQ2tnZTF4dUlDQWdJSEJ5WldacGJtbHphQ2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNiaUFnSUNCcFppQW9jM1JoZEdVdWNHVnVaR2x1WjJOaUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCemRHRjBaUzVtYVc1cGMyaGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWm1sdWFYTm9KeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnVaV1ZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsYm1SWGNtbDBZV0pzWlNoemRISmxZVzBzSUhOMFlYUmxMQ0JqWWlrZ2UxeHVJQ0J6ZEdGMFpTNWxibVJwYm1jZ1BTQjBjblZsTzF4dUlDQm1hVzVwYzJoTllYbGlaU2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNiaUFnYVdZZ0tHTmlLU0I3WEc0Z0lDQWdhV1lnS0hOMFlYUmxMbVpwYm1semFHVmtLU0J3Ym1FdWJtVjRkRlJwWTJzb1kySXBPMlZzYzJVZ2MzUnlaV0Z0TG05dVkyVW9KMlpwYm1semFDY3NJR05pS1R0Y2JpQWdmVnh1SUNCemRHRjBaUzVsYm1SbFpDQTlJSFJ5ZFdVN1hHNGdJSE4wY21WaGJTNTNjbWwwWVdKc1pTQTlJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJrTnZjbXRsWkVacGJtbHphQ2hqYjNKclVtVnhMQ0J6ZEdGMFpTd2daWEp5S1NCN1hHNGdJSFpoY2lCbGJuUnllU0E5SUdOdmNtdFNaWEV1Wlc1MGNuazdYRzRnSUdOdmNtdFNaWEV1Wlc1MGNua2dQU0J1ZFd4c08xeHVJQ0IzYUdsc1pTQW9aVzUwY25rcElIdGNiaUFnSUNCMllYSWdZMklnUFNCbGJuUnllUzVqWVd4c1ltRmphenRjYmlBZ0lDQnpkR0YwWlM1d1pXNWthVzVuWTJJdExUdGNiaUFnSUNCallpaGxjbklwTzF4dUlDQWdJR1Z1ZEhKNUlEMGdaVzUwY25rdWJtVjRkRHRjYmlBZ2ZWeHVJQ0JwWmlBb2MzUmhkR1V1WTI5eWEyVmtVbVZ4ZFdWemRITkdjbVZsS1NCN1hHNGdJQ0FnYzNSaGRHVXVZMjl5YTJWa1VtVnhkV1Z6ZEhOR2NtVmxMbTVsZUhRZ1BTQmpiM0pyVW1WeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlNBOUlHTnZjbXRTWlhFN1hHNGdJSDFjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlN3Z0oyUmxjM1J5YjNsbFpDY3NJSHRjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1a1pYTjBjbTk1WldRN1hHNGdJSDBzWEc0Z0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEc0Z0lDQWdMeThnZDJVZ2FXZHViM0psSUhSb1pTQjJZV3gxWlNCcFppQjBhR1VnYzNSeVpXRnRYRzRnSUNBZ0x5OGdhR0Z6SUc1dmRDQmlaV1Z1SUdsdWFYUnBZV3hwZW1Wa0lIbGxkRnh1SUNBZ0lHbG1JQ2doZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdKaFkydDNZWEprSUdOdmJYQmhkR2xpYVd4cGRIa3NJSFJvWlNCMWMyVnlJR2x6SUdWNGNHeHBZMmwwYkhsY2JpQWdJQ0F2THlCdFlXNWhaMmx1WnlCa1pYTjBjbTk1WldSY2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlIWmhiSFZsTzF4dUlDQjlYRzU5S1R0Y2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1a1pYTjBjbTk1TzF4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExsOTFibVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1MWJtUmxjM1J5YjNrN1hHNVhjbWwwWVdKc1pTNXdjbTkwYjNSNWNHVXVYMlJsYzNSeWIza2dQU0JtZFc1amRHbHZiaUFvWlhKeUxDQmpZaWtnZTF4dUlDQjBhR2x6TG1WdVpDZ3BPMXh1SUNCallpaGxjbklwTzF4dWZUc2lYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblxcXCIpOyB9IH1cXG5cXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcbnZhciB1dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdXRpbCAqLyAzKTtcXG5cXG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcXG4gIHNyYy5jb3B5KHRhcmdldCwgb2Zmc2V0KTtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XFxuICBmdW5jdGlvbiBCdWZmZXJMaXN0KCkge1xcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnVmZmVyTGlzdCk7XFxuXFxuICAgIHRoaXMuaGVhZCA9IG51bGw7XFxuICAgIHRoaXMudGFpbCA9IG51bGw7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG4gIH1cXG5cXG4gIEJ1ZmZlckxpc3QucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiBwdXNoKHYpIHtcXG4gICAgdmFyIGVudHJ5ID0geyBkYXRhOiB2LCBuZXh0OiBudWxsIH07XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgdGhpcy50YWlsID0gZW50cnk7XFxuICAgICsrdGhpcy5sZW5ndGg7XFxuICB9O1xcblxcbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uIHVuc2hpZnQodikge1xcbiAgICB2YXIgZW50cnkgPSB7IGRhdGE6IHYsIG5leHQ6IHRoaXMuaGVhZCB9O1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHRoaXMudGFpbCA9IGVudHJ5O1xcbiAgICB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgKyt0aGlzLmxlbmd0aDtcXG4gIH07XFxuXFxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5zaGlmdCA9IGZ1bmN0aW9uIHNoaWZ0KCkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybjtcXG4gICAgdmFyIHJldCA9IHRoaXMuaGVhZC5kYXRhO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcXG4gICAgLS10aGlzLmxlbmd0aDtcXG4gICAgcmV0dXJuIHJldDtcXG4gIH07XFxuXFxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyKCkge1xcbiAgICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuICB9O1xcblxcbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUuam9pbiA9IGZ1bmN0aW9uIGpvaW4ocykge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiAnJztcXG4gICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgIHZhciByZXQgPSAnJyArIHAuZGF0YTtcXG4gICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcXG4gICAgICByZXQgKz0gcyArIHAuZGF0YTtcXG4gICAgfXJldHVybiByZXQ7XFxuICB9O1xcblxcbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUuY29uY2F0ID0gZnVuY3Rpb24gY29uY2F0KG4pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gQnVmZmVyLmFsbG9jKDApO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHJldHVybiB0aGlzLmhlYWQuZGF0YTtcXG4gICAgdmFyIHJldCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuID4+PiAwKTtcXG4gICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgIHZhciBpID0gMDtcXG4gICAgd2hpbGUgKHApIHtcXG4gICAgICBjb3B5QnVmZmVyKHAuZGF0YSwgcmV0LCBpKTtcXG4gICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XFxuICAgICAgcCA9IHAubmV4dDtcXG4gICAgfVxcbiAgICByZXR1cm4gcmV0O1xcbiAgfTtcXG5cXG4gIHJldHVybiBCdWZmZXJMaXN0O1xcbn0oKTtcXG5cXG5pZiAodXRpbCAmJiB1dGlsLmluc3BlY3QgJiYgdXRpbC5pbnNwZWN0LmN1c3RvbSkge1xcbiAgbW9kdWxlLmV4cG9ydHMucHJvdG90eXBlW3V0aWwuaW5zcGVjdC5jdXN0b21dID0gZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgb2JqID0gdXRpbC5pbnNwZWN0KHsgbGVuZ3RoOiB0aGlzLmxlbmd0aCB9KTtcXG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZSArICcgJyArIG9iajtcXG4gIH07XFxufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlFuVm1abVZ5VEdsemRDNXFjejlqTkdSa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxHbEVRVUZwUkN3d1EwRkJNRU1zTUVSQlFUQkVMRVZCUVVVN08wRkJSWFpLTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXl4WFFVRlhMRzFDUVVGUExFTkJRVU1zWVVGQlRUczdRVUZGZWtJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xDUVVGcFFqdEJRVU5xUWl4blJFRkJaMFE3UVVGRGFFUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVKQlFXbENPMEZCUTJwQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIZEVRVUYzUkR0QlFVTjRSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFc05FSkJRVFJDTEhOQ1FVRnpRanRCUVVOc1JEdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwwSjFabVpsY2t4cGMzUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtWjFibU4wYVc5dUlGOWpiR0Z6YzBOaGJHeERhR1ZqYXlocGJuTjBZVzVqWlN3Z1EyOXVjM1J5ZFdOMGIzSXBJSHNnYVdZZ0tDRW9hVzV6ZEdGdVkyVWdhVzV6ZEdGdVkyVnZaaUJEYjI1emRISjFZM1J2Y2lrcElIc2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0JqWVd4c0lHRWdZMnhoYzNNZ1lYTWdZU0JtZFc1amRHbHZibHdpS1RzZ2ZTQjlYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjanRjYm5aaGNpQjFkR2xzSUQwZ2NtVnhkV2x5WlNnbmRYUnBiQ2NwTzF4dVhHNW1kVzVqZEdsdmJpQmpiM0I1UW5WbVptVnlLSE55WXl3Z2RHRnlaMlYwTENCdlptWnpaWFFwSUh0Y2JpQWdjM0pqTG1OdmNIa29kR0Z5WjJWMExDQnZabVp6WlhRcE8xeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnWm5WdVkzUnBiMjRnUW5WbVptVnlUR2x6ZENncElIdGNiaUFnSUNCZlkyeGhjM05EWVd4c1EyaGxZMnNvZEdocGN5d2dRblZtWm1WeVRHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtaGxZV1FnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1SUNCOVhHNWNiaUFnUW5WbVptVnlUR2x6ZEM1d2NtOTBiM1I1Y0dVdWNIVnphQ0E5SUdaMWJtTjBhVzl1SUhCMWMyZ29kaWtnZTF4dUlDQWdJSFpoY2lCbGJuUnllU0E5SUhzZ1pHRjBZVG9nZGl3Z2JtVjRkRG9nYm5Wc2JDQjlPMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lEQXBJSFJvYVhNdWRHRnBiQzV1WlhoMElEMGdaVzUwY25rN1pXeHpaU0IwYUdsekxtaGxZV1FnUFNCbGJuUnllVHRjYmlBZ0lDQjBhR2x6TG5SaGFXd2dQU0JsYm5SeWVUdGNiaUFnSUNBckszUm9hWE11YkdWdVozUm9PMXh1SUNCOU8xeHVYRzRnSUVKMVptWmxja3hwYzNRdWNISnZkRzkwZVhCbExuVnVjMmhwWm5RZ1BTQm1kVzVqZEdsdmJpQjFibk5vYVdaMEtIWXBJSHRjYmlBZ0lDQjJZWElnWlc1MGNua2dQU0I3SUdSaGRHRTZJSFlzSUc1bGVIUTZJSFJvYVhNdWFHVmhaQ0I5TzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTUNrZ2RHaHBjeTUwWVdsc0lEMGdaVzUwY25rN1hHNGdJQ0FnZEdocGN5NW9aV0ZrSUQwZ1pXNTBjbms3WEc0Z0lDQWdLeXQwYUdsekxteGxibWQwYUR0Y2JpQWdmVHRjYmx4dUlDQkNkV1ptWlhKTWFYTjBMbkJ5YjNSdmRIbHdaUzV6YUdsbWRDQTlJR1oxYm1OMGFXOXVJSE5vYVdaMEtDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNQ2tnY21WMGRYSnVPMXh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQjBhR2x6TG1obFlXUXVaR0YwWVR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURFcElIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdaV3h6WlNCMGFHbHpMbWhsWVdRZ1BTQjBhR2x6TG1obFlXUXVibVY0ZER0Y2JpQWdJQ0F0TFhSb2FYTXViR1Z1WjNSb08xeHVJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJSDA3WEc1Y2JpQWdRblZtWm1WeVRHbHpkQzV3Y205MGIzUjVjR1V1WTJ4bFlYSWdQU0JtZFc1amRHbHZiaUJqYkdWaGNpZ3BJSHRjYmlBZ0lDQjBhR2x6TG1obFlXUWdQU0IwYUdsekxuUmhhV3dnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNkV1ptWlhKTWFYTjBMbkJ5YjNSdmRIbHdaUzVxYjJsdUlEMGdablZ1WTNScGIyNGdhbTlwYmloektTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdKeWM3WEc0Z0lDQWdkbUZ5SUhBZ1BTQjBhR2x6TG1obFlXUTdYRzRnSUNBZ2RtRnlJSEpsZENBOUlDY25JQ3NnY0M1a1lYUmhPMXh1SUNBZ0lIZG9hV3hsSUNod0lEMGdjQzV1WlhoMEtTQjdYRzRnSUNBZ0lDQnlaWFFnS3owZ2N5QXJJSEF1WkdGMFlUdGNiaUFnSUNCOWNtVjBkWEp1SUhKbGREdGNiaUFnZlR0Y2JseHVJQ0JDZFdabVpYSk1hWE4wTG5CeWIzUnZkSGx3WlM1amIyNWpZWFFnUFNCbWRXNWpkR2x2YmlCamIyNWpZWFFvYmlrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlFSjFabVpsY2k1aGJHeHZZeWd3S1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURFcElISmxkSFZ5YmlCMGFHbHpMbWhsWVdRdVpHRjBZVHRjYmlBZ0lDQjJZWElnY21WMElEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLRzRnUGo0K0lEQXBPMXh1SUNBZ0lIWmhjaUJ3SUQwZ2RHaHBjeTVvWldGa08xeHVJQ0FnSUhaaGNpQnBJRDBnTUR0Y2JpQWdJQ0IzYUdsc1pTQW9jQ2tnZTF4dUlDQWdJQ0FnWTI5d2VVSjFabVpsY2lod0xtUmhkR0VzSUhKbGRDd2dhU2s3WEc0Z0lDQWdJQ0JwSUNzOUlIQXVaR0YwWVM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0J3SUQwZ2NDNXVaWGgwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVjBPMXh1SUNCOU8xeHVYRzRnSUhKbGRIVnliaUJDZFdabVpYSk1hWE4wTzF4dWZTZ3BPMXh1WEc1cFppQW9kWFJwYkNBbUppQjFkR2xzTG1sdWMzQmxZM1FnSmlZZ2RYUnBiQzVwYm5Od1pXTjBMbU4xYzNSdmJTa2dlMXh1SUNCdGIyUjFiR1V1Wlhod2IzSjBjeTV3Y205MGIzUjVjR1ZiZFhScGJDNXBibk53WldOMExtTjFjM1J2YlYwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdkbUZ5SUc5aWFpQTlJSFYwYVd3dWFXNXpjR1ZqZENoN0lHeGxibWQwYURvZ2RHaHBjeTVzWlc1bmRHZ2dmU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTI5dWMzUnlkV04wYjNJdWJtRnRaU0FySUNjZ0p5QXJJRzlpYWp0Y2JpQWdmVHRjYm4waVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgcG5hID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcHJvY2Vzcy1uZXh0aWNrLWFyZ3MgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLy8gdW5kb2N1bWVudGVkIGNiKCkgQVBJLCBuZWVkZWQgZm9yIGNvcmUsIG5vdCBmb3IgcHVibGljIEFQSVxcbmZ1bmN0aW9uIGRlc3Ryb3koZXJyLCBjYikge1xcbiAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gIHZhciByZWFkYWJsZURlc3Ryb3llZCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ7XFxuICB2YXIgd3JpdGFibGVEZXN0cm95ZWQgPSB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xcblxcbiAgaWYgKHJlYWRhYmxlRGVzdHJveWVkIHx8IHdyaXRhYmxlRGVzdHJveWVkKSB7XFxuICAgIGlmIChjYikge1xcbiAgICAgIGNiKGVycik7XFxuICAgIH0gZWxzZSBpZiAoZXJyICYmICghdGhpcy5fd3JpdGFibGVTdGF0ZSB8fCAhdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpKSB7XFxuICAgICAgcG5hLm5leHRUaWNrKGVtaXRFcnJvck5ULCB0aGlzLCBlcnIpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfVxcblxcbiAgLy8gd2Ugc2V0IGRlc3Ryb3llZCB0byB0cnVlIGJlZm9yZSBmaXJpbmcgZXJyb3IgY2FsbGJhY2tzIGluIG9yZGVyXFxuICAvLyB0byBtYWtlIGl0IHJlLWVudHJhbmNlIHNhZmUgaW4gY2FzZSBkZXN0cm95KCkgaXMgY2FsbGVkIHdpdGhpbiBjYWxsYmFja3NcXG5cXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKCFjYiAmJiBlcnIpIHtcXG4gICAgICBwbmEubmV4dFRpY2soZW1pdEVycm9yTlQsIF90aGlzLCBlcnIpO1xcbiAgICAgIGlmIChfdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoY2IpIHtcXG4gICAgICBjYihlcnIpO1xcbiAgICB9XFxuICB9KTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn1cXG5cXG5mdW5jdGlvbiB1bmRlc3Ryb3koKSB7XFxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQgPSBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcXG4gIHNlbGYuZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXFxuICB1bmRlc3Ryb3k6IHVuZGVzdHJveVxcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12WkdWemRISnZlUzVxY3o5aU5XTXpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlPenRCUVVWQkxGVkJRVlVzYlVKQlFVOHNRMEZCUXl3d1JVRkJjMEk3UVVGRGVFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1IwRkJSenM3UVVGRlNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OWtaWE4wY205NUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnY0c1aElEMGdjbVZ4ZFdseVpTZ25jSEp2WTJWemN5MXVaWGgwYVdOckxXRnlaM01uS1R0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzR2THlCMWJtUnZZM1Z0Wlc1MFpXUWdZMklvS1NCQlVFa3NJRzVsWldSbFpDQm1iM0lnWTI5eVpTd2dibTkwSUdadmNpQndkV0pzYVdNZ1FWQkpYRzVtZFc1amRHbHZiaUJrWlhOMGNtOTVLR1Z5Y2l3Z1kySXBJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0IyWVhJZ2NtVmhaR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVJQ0IyWVhJZ2QzSnBkR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVYRzRnSUdsbUlDaHlaV0ZrWVdKc1pVUmxjM1J5YjNsbFpDQjhmQ0IzY21sMFlXSnNaVVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJR2xtSUNoallpa2dlMXh1SUNBZ0lDQWdZMklvWlhKeUtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnljaUFtSmlBb0lYUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdmSHdnSVhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpYSnliM0pGYldsMGRHVmtLU2tnZTF4dUlDQWdJQ0FnY0c1aExtNWxlSFJVYVdOcktHVnRhWFJGY25KdmNrNVVMQ0IwYUdsekxDQmxjbklwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4dklIZGxJSE5sZENCa1pYTjBjbTk1WldRZ2RHOGdkSEoxWlNCaVpXWnZjbVVnWm1seWFXNW5JR1Z5Y205eUlHTmhiR3hpWVdOcmN5QnBiaUJ2Y21SbGNseHVJQ0F2THlCMGJ5QnRZV3RsSUdsMElISmxMV1Z1ZEhKaGJtTmxJSE5oWm1VZ2FXNGdZMkZ6WlNCa1pYTjBjbTk1S0NrZ2FYTWdZMkZzYkdWa0lIZHBkR2hwYmlCallXeHNZbUZqYTNOY2JseHVJQ0JwWmlBb2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTa2dlMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaR1Z6ZEhKdmVXVmtJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJQzh2SUdsbUlIUm9hWE1nYVhNZ1lTQmtkWEJzWlhnZ2MzUnlaV0Z0SUcxaGNtc2dkR2hsSUhkeWFYUmhZbXhsSUhCaGNuUWdZWE1nWkdWemRISnZlV1ZrSUdGeklIZGxiR3hjYmlBZ2FXWWdLSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCMGFHbHpMbDlrWlhOMGNtOTVLR1Z5Y2lCOGZDQnVkV3hzTENCbWRXNWpkR2x2YmlBb1pYSnlLU0I3WEc0Z0lDQWdhV1lnS0NGallpQW1KaUJsY25JcElIdGNiaUFnSUNBZ0lIQnVZUzV1WlhoMFZHbGpheWhsYldsMFJYSnliM0pPVkN3Z1gzUm9hWE1zSUdWeWNpazdYRzRnSUNBZ0lDQnBaaUFvWDNSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNBZ0lDQWdYM1JvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dOaUtTQjdYRzRnSUNBZ0lDQmpZaWhsY25JcE8xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ1WkdWemRISnZlU2dwSUh0Y2JpQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJR1poYkhObE8xeHVJQ0FnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdWNtVmhaR2x1WnlBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtVnVaRVZ0YVhSMFpXUWdQU0JtWVd4elpUdGNiaUFnZlZ4dVhHNGdJR2xtSUNoMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbEtTQjdYRzRnSUNBZ2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNWtaWE4wY205NVpXUWdQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtVnVaR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVsYm1ScGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtWnBibWx6YUdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1bGNuSnZja1Z0YVhSMFpXUWdQU0JtWVd4elpUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJsYldsMFJYSnliM0pPVkNoelpXeG1MQ0JsY25JcElIdGNiaUFnYzJWc1ppNWxiV2wwS0NkbGNuSnZjaWNzSUdWeWNpazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JrWlhOMGNtOTVPaUJrWlhOMGNtOTVMRnh1SUNCMWJtUmxjM1J5YjNrNklIVnVaR1Z6ZEhKdmVWeHVmVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZlbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxcIikuRXZlbnRFbWl0dGVyO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEl1YW5NL09EVTVOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl3clEwRkJVU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1J5WldGdExXSnliM2R6WlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSjJWMlpXNTBjeWNwTGtWMlpXNTBSVzFwZEhSbGNqdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxcIikuUGFzc1Rocm91Z2hcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmNHRnpjM1JvY205MVoyZ3Vhbk0vTkdJek1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXh6UlVGQldTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2Y0dGemMzUm9jbTkxWjJndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSnk0dmNtVmhaR0ZpYkdVbktTNVFZWE56VkdoeWIzVm5hRnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcXFwiKTtcXG5leHBvcnRzLlN0cmVhbSA9IGV4cG9ydHM7XFxuZXhwb3J0cy5SZWFkYWJsZSA9IGV4cG9ydHM7XFxuZXhwb3J0cy5Xcml0YWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbmV4cG9ydHMuRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG5leHBvcnRzLlRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXFxcIik7XFxuZXhwb3J0cy5QYXNzVGhyb3VnaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2Y21WaFpHRmliR1V0WW5KdmQzTmxjaTVxY3o4Mk9XTm1JbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTERKQ1FVRXlRaXh0UWtGQlR5eERRVUZETEhsR1FVRXlRanRCUVVNNVJEdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHMUNRVUZQTEVOQlFVTXNlVVpCUVRKQ08wRkJRM1JFTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhGR1FVRjVRanRCUVVOc1JDeHZRa0ZCYjBJc2JVSkJRVThzUTBGQlF5d3lSa0ZCTkVJN1FVRkRlRVFzYzBKQlFYTkNMRzFDUVVGUExFTkJRVU1zSzBaQlFUaENJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5eVpXRmtZV0pzWlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBjeUE5SUcxdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZYM04wY21WaGJWOXlaV0ZrWVdKc1pTNXFjeWNwTzF4dVpYaHdiM0owY3k1VGRISmxZVzBnUFNCbGVIQnZjblJ6TzF4dVpYaHdiM0owY3k1U1pXRmtZV0pzWlNBOUlHVjRjRzl5ZEhNN1hHNWxlSEJ2Y25SekxsZHlhWFJoWW14bElEMGdjbVZ4ZFdseVpTZ25MaTlzYVdJdlgzTjBjbVZoYlY5M2NtbDBZV0pzWlM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVFZFhCc1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWZjM1J5WldGdFgyUjFjR3hsZUM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVVY21GdWMyWnZjbTBnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlmYzNSeVpXRnRYM1J5WVc1elptOXliUzVxY3ljcE8xeHVaWGh3YjNKMGN5NVFZWE56VkdoeWIzVm5hQ0E5SUhKbGNYVnBjbVVvSnk0dmJHbGlMMTl6ZEhKbFlXMWZjR0Z6YzNSb2NtOTFaMmd1YW5NbktUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3RyYW5zZm9ybS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxcIikuVHJhbnNmb3JtXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZkSEpoYm5ObWIzSnRMbXB6UHpZeE9HSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zYzBWQlFWa2lMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDNSeVlXNXpabTl5YlM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5eVpXRmtZV0pzWlNjcExsUnlZVzV6Wm05eWJWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS90cmFuc2Zvcm0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS93cml0YWJsZS1icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS93cml0YWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2ZDNKcGRHRmliR1V0WW5KdmQzTmxjaTVxY3o5a01XSTJJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhsR1FVRXlRaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmQzSnBkR0ZpYkdVdFluSnZkM05sY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZYM04wY21WaGJWOTNjbWwwWVdKc1pTNXFjeWNwTzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmlwZW1kMTYwL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIEhhc2hCYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2UvaW5kZXguanNcXFwiKVxcblxcbnZhciBBUlJBWTE2ID0gbmV3IEFycmF5KDE2KVxcblxcbnZhciB6bCA9IFtcXG4gIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsXFxuICA3LCA0LCAxMywgMSwgMTAsIDYsIDE1LCAzLCAxMiwgMCwgOSwgNSwgMiwgMTQsIDExLCA4LFxcbiAgMywgMTAsIDE0LCA0LCA5LCAxNSwgOCwgMSwgMiwgNywgMCwgNiwgMTMsIDExLCA1LCAxMixcXG4gIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsXFxuICA0LCAwLCA1LCA5LCA3LCAxMiwgMiwgMTAsIDE0LCAxLCAzLCA4LCAxMSwgNiwgMTUsIDEzXFxuXVxcblxcbnZhciB6ciA9IFtcXG4gIDUsIDE0LCA3LCAwLCA5LCAyLCAxMSwgNCwgMTMsIDYsIDE1LCA4LCAxLCAxMCwgMywgMTIsXFxuICA2LCAxMSwgMywgNywgMCwgMTMsIDUsIDEwLCAxNCwgMTUsIDgsIDEyLCA0LCA5LCAxLCAyLFxcbiAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcXG4gIDgsIDYsIDQsIDEsIDMsIDExLCAxNSwgMCwgNSwgMTIsIDIsIDEzLCA5LCA3LCAxMCwgMTQsXFxuICAxMiwgMTUsIDEwLCA0LCAxLCA1LCA4LCA3LCA2LCAyLCAxMywgMTQsIDAsIDMsIDksIDExXFxuXVxcblxcbnZhciBzbCA9IFtcXG4gIDExLCAxNCwgMTUsIDEyLCA1LCA4LCA3LCA5LCAxMSwgMTMsIDE0LCAxNSwgNiwgNywgOSwgOCxcXG4gIDcsIDYsIDgsIDEzLCAxMSwgOSwgNywgMTUsIDcsIDEyLCAxNSwgOSwgMTEsIDcsIDEzLCAxMixcXG4gIDExLCAxMywgNiwgNywgMTQsIDksIDEzLCAxNSwgMTQsIDgsIDEzLCA2LCA1LCAxMiwgNywgNSxcXG4gIDExLCAxMiwgMTQsIDE1LCAxNCwgMTUsIDksIDgsIDksIDE0LCA1LCA2LCA4LCA2LCA1LCAxMixcXG4gIDksIDE1LCA1LCAxMSwgNiwgOCwgMTMsIDEyLCA1LCAxMiwgMTMsIDE0LCAxMSwgOCwgNSwgNlxcbl1cXG5cXG52YXIgc3IgPSBbXFxuICA4LCA5LCA5LCAxMSwgMTMsIDE1LCAxNSwgNSwgNywgNywgOCwgMTEsIDE0LCAxNCwgMTIsIDYsXFxuICA5LCAxMywgMTUsIDcsIDEyLCA4LCA5LCAxMSwgNywgNywgMTIsIDcsIDYsIDE1LCAxMywgMTEsXFxuICA5LCA3LCAxNSwgMTEsIDgsIDYsIDYsIDE0LCAxMiwgMTMsIDUsIDE0LCAxMywgMTMsIDcsIDUsXFxuICAxNSwgNSwgOCwgMTEsIDE0LCAxNCwgNiwgMTQsIDYsIDksIDEyLCA5LCAxMiwgNSwgMTUsIDgsXFxuICA4LCA1LCAxMiwgOSwgMTIsIDUsIDE0LCA2LCA4LCAxMywgNiwgNSwgMTUsIDEzLCAxMSwgMTFcXG5dXFxuXFxudmFyIGhsID0gWzB4MDAwMDAwMDAsIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMsIDB4YTk1M2ZkNGVdXFxudmFyIGhyID0gWzB4NTBhMjhiZTYsIDB4NWM0ZGQxMjQsIDB4NmQ3MDNlZjMsIDB4N2E2ZDc2ZTksIDB4MDAwMDAwMDBdXFxuXFxuZnVuY3Rpb24gUklQRU1EMTYwICgpIHtcXG4gIEhhc2hCYXNlLmNhbGwodGhpcywgNjQpXFxuXFxuICAvLyBzdGF0ZVxcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcXG4gIHRoaXMuX2IgPSAweGVmY2RhYjg5XFxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcXG4gIHRoaXMuX2UgPSAweGMzZDJlMWYwXFxufVxcblxcbmluaGVyaXRzKFJJUEVNRDE2MCwgSGFzaEJhc2UpXFxuXFxuUklQRU1EMTYwLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIHdvcmRzID0gQVJSQVkxNlxcbiAgZm9yICh2YXIgaiA9IDA7IGogPCAxNjsgKytqKSB3b3Jkc1tqXSA9IHRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKGogKiA0KVxcblxcbiAgdmFyIGFsID0gdGhpcy5fYSB8IDBcXG4gIHZhciBibCA9IHRoaXMuX2IgfCAwXFxuICB2YXIgY2wgPSB0aGlzLl9jIHwgMFxcbiAgdmFyIGRsID0gdGhpcy5fZCB8IDBcXG4gIHZhciBlbCA9IHRoaXMuX2UgfCAwXFxuXFxuICB2YXIgYXIgPSB0aGlzLl9hIHwgMFxcbiAgdmFyIGJyID0gdGhpcy5fYiB8IDBcXG4gIHZhciBjciA9IHRoaXMuX2MgfCAwXFxuICB2YXIgZHIgPSB0aGlzLl9kIHwgMFxcbiAgdmFyIGVyID0gdGhpcy5fZSB8IDBcXG5cXG4gIC8vIGNvbXB1dGF0aW9uXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDgwOyBpICs9IDEpIHtcXG4gICAgdmFyIHRsXFxuICAgIHZhciB0clxcbiAgICBpZiAoaSA8IDE2KSB7XFxuICAgICAgdGwgPSBmbjEoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzBdLCBzbFtpXSlcXG4gICAgICB0ciA9IGZuNShhciwgYnIsIGNyLCBkciwgZXIsIHdvcmRzW3pyW2ldXSwgaHJbMF0sIHNyW2ldKVxcbiAgICB9IGVsc2UgaWYgKGkgPCAzMikge1xcbiAgICAgIHRsID0gZm4yKGFsLCBibCwgY2wsIGRsLCBlbCwgd29yZHNbemxbaV1dLCBobFsxXSwgc2xbaV0pXFxuICAgICAgdHIgPSBmbjQoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzFdLCBzcltpXSlcXG4gICAgfSBlbHNlIGlmIChpIDwgNDgpIHtcXG4gICAgICB0bCA9IGZuMyhhbCwgYmwsIGNsLCBkbCwgZWwsIHdvcmRzW3psW2ldXSwgaGxbMl0sIHNsW2ldKVxcbiAgICAgIHRyID0gZm4zKGFyLCBiciwgY3IsIGRyLCBlciwgd29yZHNbenJbaV1dLCBoclsyXSwgc3JbaV0pXFxuICAgIH0gZWxzZSBpZiAoaSA8IDY0KSB7XFxuICAgICAgdGwgPSBmbjQoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzNdLCBzbFtpXSlcXG4gICAgICB0ciA9IGZuMihhciwgYnIsIGNyLCBkciwgZXIsIHdvcmRzW3pyW2ldXSwgaHJbM10sIHNyW2ldKVxcbiAgICB9IGVsc2UgeyAvLyBpZiAoaTw4MCkge1xcbiAgICAgIHRsID0gZm41KGFsLCBibCwgY2wsIGRsLCBlbCwgd29yZHNbemxbaV1dLCBobFs0XSwgc2xbaV0pXFxuICAgICAgdHIgPSBmbjEoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzRdLCBzcltpXSlcXG4gICAgfVxcblxcbiAgICBhbCA9IGVsXFxuICAgIGVsID0gZGxcXG4gICAgZGwgPSByb3RsKGNsLCAxMClcXG4gICAgY2wgPSBibFxcbiAgICBibCA9IHRsXFxuXFxuICAgIGFyID0gZXJcXG4gICAgZXIgPSBkclxcbiAgICBkciA9IHJvdGwoY3IsIDEwKVxcbiAgICBjciA9IGJyXFxuICAgIGJyID0gdHJcXG4gIH1cXG5cXG4gIC8vIHVwZGF0ZSBzdGF0ZVxcbiAgdmFyIHQgPSAodGhpcy5fYiArIGNsICsgZHIpIHwgMFxcbiAgdGhpcy5fYiA9ICh0aGlzLl9jICsgZGwgKyBlcikgfCAwXFxuICB0aGlzLl9jID0gKHRoaXMuX2QgKyBlbCArIGFyKSB8IDBcXG4gIHRoaXMuX2QgPSAodGhpcy5fZSArIGFsICsgYnIpIHwgMFxcbiAgdGhpcy5fZSA9ICh0aGlzLl9hICsgYmwgKyBjcikgfCAwXFxuICB0aGlzLl9hID0gdFxcbn1cXG5cXG5SSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XFxuICAvLyBjcmVhdGUgcGFkZGluZyBhbmQgaGFuZGxlIGJsb2Nrc1xcbiAgdGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSAweDgwXFxuICBpZiAodGhpcy5fYmxvY2tPZmZzZXQgPiA1Nikge1xcbiAgICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA2NClcXG4gICAgdGhpcy5fdXBkYXRlKClcXG4gICAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXFxuICB9XFxuXFxuICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLCA2MClcXG4gIHRoaXMuX3VwZGF0ZSgpXFxuXFxuICAvLyBwcm9kdWNlIHJlc3VsdFxcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyA/IEJ1ZmZlci5hbGxvYygyMCkgOiBuZXcgQnVmZmVyKDIwKVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9hLCAwKVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9iLCA0KVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9jLCA4KVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9kLCAxMilcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fZSwgMTYpXFxuICByZXR1cm4gYnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcXG4gIHJldHVybiAoeCA8PCBuKSB8ICh4ID4+PiAoMzIgLSBuKSlcXG59XFxuXFxuZnVuY3Rpb24gZm4xIChhLCBiLCBjLCBkLCBlLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoYiBeIGMgXiBkKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuMiAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgYykgfCAoKH5iKSAmIGQpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuMyAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChiIHwgKH5jKSkgXiBkKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuNCAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgZCkgfCAoYyAmICh+ZCkpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuNSAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKGIgXiAoYyB8ICh+ZCkpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gUklQRU1EMTYwXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5YVhCbGJXUXhOakF2YVc1a1pYZ3Vhbk0vWXpjek5DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJXVHRCUVVOYUxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNM1FpeGxRVUZsTEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3UVVGRGFrTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExHOUVRVUZYT3p0QlFVVnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeFJRVUZST3p0QlFVVjZRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFFrRkJhVUlzVVVGQlVUdEJRVU42UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNTMEZCU3l4UFFVRlBPMEZCUTFvN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtbHdaVzFrTVRZd0wybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlKeWt1UW5WbVptVnlYRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BYRzUyWVhJZ1NHRnphRUpoYzJVZ1BTQnlaWEYxYVhKbEtDZG9ZWE5vTFdKaGMyVW5LVnh1WEc1MllYSWdRVkpTUVZreE5pQTlJRzVsZHlCQmNuSmhlU2d4TmlsY2JseHVkbUZ5SUhwc0lEMGdXMXh1SUNBd0xDQXhMQ0F5TENBekxDQTBMQ0ExTENBMkxDQTNMQ0E0TENBNUxDQXhNQ3dnTVRFc0lERXlMQ0F4TXl3Z01UUXNJREUxTEZ4dUlDQTNMQ0EwTENBeE15d2dNU3dnTVRBc0lEWXNJREUxTENBekxDQXhNaXdnTUN3Z09Td2dOU3dnTWl3Z01UUXNJREV4TENBNExGeHVJQ0F6TENBeE1Dd2dNVFFzSURRc0lEa3NJREUxTENBNExDQXhMQ0F5TENBM0xDQXdMQ0EyTENBeE15d2dNVEVzSURVc0lERXlMRnh1SUNBeExDQTVMQ0F4TVN3Z01UQXNJREFzSURnc0lERXlMQ0EwTENBeE15d2dNeXdnTnl3Z01UVXNJREUwTENBMUxDQTJMQ0F5TEZ4dUlDQTBMQ0F3TENBMUxDQTVMQ0EzTENBeE1pd2dNaXdnTVRBc0lERTBMQ0F4TENBekxDQTRMQ0F4TVN3Z05pd2dNVFVzSURFelhHNWRYRzVjYm5aaGNpQjZjaUE5SUZ0Y2JpQWdOU3dnTVRRc0lEY3NJREFzSURrc0lESXNJREV4TENBMExDQXhNeXdnTml3Z01UVXNJRGdzSURFc0lERXdMQ0F6TENBeE1peGNiaUFnTml3Z01URXNJRE1zSURjc0lEQXNJREV6TENBMUxDQXhNQ3dnTVRRc0lERTFMQ0E0TENBeE1pd2dOQ3dnT1N3Z01Td2dNaXhjYmlBZ01UVXNJRFVzSURFc0lETXNJRGNzSURFMExDQTJMQ0E1TENBeE1Td2dPQ3dnTVRJc0lESXNJREV3TENBd0xDQTBMQ0F4TXl4Y2JpQWdPQ3dnTml3Z05Dd2dNU3dnTXl3Z01URXNJREUxTENBd0xDQTFMQ0F4TWl3Z01pd2dNVE1zSURrc0lEY3NJREV3TENBeE5DeGNiaUFnTVRJc0lERTFMQ0F4TUN3Z05Dd2dNU3dnTlN3Z09Dd2dOeXdnTml3Z01pd2dNVE1zSURFMExDQXdMQ0F6TENBNUxDQXhNVnh1WFZ4dVhHNTJZWElnYzJ3Z1BTQmJYRzRnSURFeExDQXhOQ3dnTVRVc0lERXlMQ0ExTENBNExDQTNMQ0E1TENBeE1Td2dNVE1zSURFMExDQXhOU3dnTml3Z055d2dPU3dnT0N4Y2JpQWdOeXdnTml3Z09Dd2dNVE1zSURFeExDQTVMQ0EzTENBeE5Td2dOeXdnTVRJc0lERTFMQ0E1TENBeE1Td2dOeXdnTVRNc0lERXlMRnh1SUNBeE1Td2dNVE1zSURZc0lEY3NJREUwTENBNUxDQXhNeXdnTVRVc0lERTBMQ0E0TENBeE15d2dOaXdnTlN3Z01USXNJRGNzSURVc1hHNGdJREV4TENBeE1pd2dNVFFzSURFMUxDQXhOQ3dnTVRVc0lEa3NJRGdzSURrc0lERTBMQ0ExTENBMkxDQTRMQ0EyTENBMUxDQXhNaXhjYmlBZ09Td2dNVFVzSURVc0lERXhMQ0EyTENBNExDQXhNeXdnTVRJc0lEVXNJREV5TENBeE15d2dNVFFzSURFeExDQTRMQ0ExTENBMlhHNWRYRzVjYm5aaGNpQnpjaUE5SUZ0Y2JpQWdPQ3dnT1N3Z09Td2dNVEVzSURFekxDQXhOU3dnTVRVc0lEVXNJRGNzSURjc0lEZ3NJREV4TENBeE5Dd2dNVFFzSURFeUxDQTJMRnh1SUNBNUxDQXhNeXdnTVRVc0lEY3NJREV5TENBNExDQTVMQ0F4TVN3Z055d2dOeXdnTVRJc0lEY3NJRFlzSURFMUxDQXhNeXdnTVRFc1hHNGdJRGtzSURjc0lERTFMQ0F4TVN3Z09Dd2dOaXdnTml3Z01UUXNJREV5TENBeE15d2dOU3dnTVRRc0lERXpMQ0F4TXl3Z055d2dOU3hjYmlBZ01UVXNJRFVzSURnc0lERXhMQ0F4TkN3Z01UUXNJRFlzSURFMExDQTJMQ0E1TENBeE1pd2dPU3dnTVRJc0lEVXNJREUxTENBNExGeHVJQ0E0TENBMUxDQXhNaXdnT1N3Z01USXNJRFVzSURFMExDQTJMQ0E0TENBeE15d2dOaXdnTlN3Z01UVXNJREV6TENBeE1Td2dNVEZjYmwxY2JseHVkbUZ5SUdoc0lEMGdXekI0TURBd01EQXdNREFzSURCNE5XRTRNamM1T1Rrc0lEQjRObVZrT1dWaVlURXNJREI0T0dZeFltSmpaR01zSURCNFlUazFNMlprTkdWZFhHNTJZWElnYUhJZ1BTQmJNSGcxTUdFeU9HSmxOaXdnTUhnMVl6UmtaREV5TkN3Z01IZzJaRGN3TTJWbU15d2dNSGczWVRaa056WmxPU3dnTUhnd01EQXdNREF3TUYxY2JseHVablZ1WTNScGIyNGdVa2xRUlUxRU1UWXdJQ2dwSUh0Y2JpQWdTR0Z6YUVKaGMyVXVZMkZzYkNoMGFHbHpMQ0EyTkNsY2JseHVJQ0F2THlCemRHRjBaVnh1SUNCMGFHbHpMbDloSUQwZ01IZzJOelExTWpNd01WeHVJQ0IwYUdsekxsOWlJRDBnTUhobFptTmtZV0k0T1Z4dUlDQjBhR2x6TGw5aklEMGdNSGc1T0dKaFpHTm1aVnh1SUNCMGFHbHpMbDlrSUQwZ01IZ3hNRE15TlRRM05seHVJQ0IwYUdsekxsOWxJRDBnTUhoak0yUXlaVEZtTUZ4dWZWeHVYRzVwYm1obGNtbDBjeWhTU1ZCRlRVUXhOakFzSUVoaGMyaENZWE5sS1Z4dVhHNVNTVkJGVFVReE5qQXVjSEp2ZEc5MGVYQmxMbDkxY0dSaGRHVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCM2IzSmtjeUE5SUVGU1VrRlpNVFpjYmlBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQXhOanNnS3l0cUtTQjNiM0prYzF0cVhTQTlJSFJvYVhNdVgySnNiMk5yTG5KbFlXUkpiblF6TWt4RktHb2dLaUEwS1Z4dVhHNGdJSFpoY2lCaGJDQTlJSFJvYVhNdVgyRWdmQ0F3WEc0Z0lIWmhjaUJpYkNBOUlIUm9hWE11WDJJZ2ZDQXdYRzRnSUhaaGNpQmpiQ0E5SUhSb2FYTXVYMk1nZkNBd1hHNGdJSFpoY2lCa2JDQTlJSFJvYVhNdVgyUWdmQ0F3WEc0Z0lIWmhjaUJsYkNBOUlIUm9hWE11WDJVZ2ZDQXdYRzVjYmlBZ2RtRnlJR0Z5SUQwZ2RHaHBjeTVmWVNCOElEQmNiaUFnZG1GeUlHSnlJRDBnZEdocGN5NWZZaUI4SURCY2JpQWdkbUZ5SUdOeUlEMGdkR2hwY3k1Zll5QjhJREJjYmlBZ2RtRnlJR1J5SUQwZ2RHaHBjeTVmWkNCOElEQmNiaUFnZG1GeUlHVnlJRDBnZEdocGN5NWZaU0I4SURCY2JseHVJQ0F2THlCamIyMXdkWFJoZEdsdmJseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURnd095QnBJQ3M5SURFcElIdGNiaUFnSUNCMllYSWdkR3hjYmlBZ0lDQjJZWElnZEhKY2JpQWdJQ0JwWmlBb2FTQThJREUyS1NCN1hHNGdJQ0FnSUNCMGJDQTlJR1p1TVNoaGJDd2dZbXdzSUdOc0xDQmtiQ3dnWld3c0lIZHZjbVJ6VzNwc1cybGRYU3dnYUd4Yk1GMHNJSE5zVzJsZEtWeHVJQ0FnSUNBZ2RISWdQU0JtYmpVb1lYSXNJR0p5TENCamNpd2daSElzSUdWeUxDQjNiM0prYzF0NmNsdHBYVjBzSUdoeVd6QmRMQ0J6Y2x0cFhTbGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHa2dQQ0F6TWlrZ2UxeHVJQ0FnSUNBZ2RHd2dQU0JtYmpJb1lXd3NJR0pzTENCamJDd2daR3dzSUdWc0xDQjNiM0prYzF0NmJGdHBYVjBzSUdoc1d6RmRMQ0J6YkZ0cFhTbGNiaUFnSUNBZ0lIUnlJRDBnWm00MEtHRnlMQ0JpY2l3Z1kzSXNJR1J5TENCbGNpd2dkMjl5WkhOYmVuSmJhVjFkTENCb2Nsc3hYU3dnYzNKYmFWMHBYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHBJRHdnTkRncElIdGNiaUFnSUNBZ0lIUnNJRDBnWm00ektHRnNMQ0JpYkN3Z1kyd3NJR1JzTENCbGJDd2dkMjl5WkhOYmVteGJhVjFkTENCb2JGc3lYU3dnYzJ4YmFWMHBYRzRnSUNBZ0lDQjBjaUE5SUdadU15aGhjaXdnWW5Jc0lHTnlMQ0JrY2l3Z1pYSXNJSGR2Y21SelczcHlXMmxkWFN3Z2FISmJNbDBzSUhOeVcybGRLVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hU0E4SURZMEtTQjdYRzRnSUNBZ0lDQjBiQ0E5SUdadU5DaGhiQ3dnWW13c0lHTnNMQ0JrYkN3Z1pXd3NJSGR2Y21SelczcHNXMmxkWFN3Z2FHeGJNMTBzSUhOc1cybGRLVnh1SUNBZ0lDQWdkSElnUFNCbWJqSW9ZWElzSUdKeUxDQmpjaXdnWkhJc0lHVnlMQ0IzYjNKa2MxdDZjbHRwWFYwc0lHaHlXek5kTENCemNsdHBYU2xjYmlBZ0lDQjlJR1ZzYzJVZ2V5QXZMeUJwWmlBb2FUdzRNQ2tnZTF4dUlDQWdJQ0FnZEd3Z1BTQm1ialVvWVd3c0lHSnNMQ0JqYkN3Z1pHd3NJR1ZzTENCM2IzSmtjMXQ2YkZ0cFhWMHNJR2hzV3pSZExDQnpiRnRwWFNsY2JpQWdJQ0FnSUhSeUlEMGdabTR4S0dGeUxDQmljaXdnWTNJc0lHUnlMQ0JsY2l3Z2QyOXlaSE5iZW5KYmFWMWRMQ0JvY2xzMFhTd2djM0piYVYwcFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVd3Z1BTQmxiRnh1SUNBZ0lHVnNJRDBnWkd4Y2JpQWdJQ0JrYkNBOUlISnZkR3dvWTJ3c0lERXdLVnh1SUNBZ0lHTnNJRDBnWW14Y2JpQWdJQ0JpYkNBOUlIUnNYRzVjYmlBZ0lDQmhjaUE5SUdWeVhHNGdJQ0FnWlhJZ1BTQmtjbHh1SUNBZ0lHUnlJRDBnY205MGJDaGpjaXdnTVRBcFhHNGdJQ0FnWTNJZ1BTQmljbHh1SUNBZ0lHSnlJRDBnZEhKY2JpQWdmVnh1WEc0Z0lDOHZJSFZ3WkdGMFpTQnpkR0YwWlZ4dUlDQjJZWElnZENBOUlDaDBhR2x6TGw5aUlDc2dZMndnS3lCa2Npa2dmQ0F3WEc0Z0lIUm9hWE11WDJJZ1BTQW9kR2hwY3k1Zll5QXJJR1JzSUNzZ1pYSXBJSHdnTUZ4dUlDQjBhR2x6TGw5aklEMGdLSFJvYVhNdVgyUWdLeUJsYkNBcklHRnlLU0I4SURCY2JpQWdkR2hwY3k1ZlpDQTlJQ2gwYUdsekxsOWxJQ3NnWVd3Z0t5QmljaWtnZkNBd1hHNGdJSFJvYVhNdVgyVWdQU0FvZEdocGN5NWZZU0FySUdKc0lDc2dZM0lwSUh3Z01GeHVJQ0IwYUdsekxsOWhJRDBnZEZ4dWZWeHVYRzVTU1ZCRlRVUXhOakF1Y0hKdmRHOTBlWEJsTGw5a2FXZGxjM1FnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUM4dklHTnlaV0YwWlNCd1lXUmthVzVuSUdGdVpDQm9ZVzVrYkdVZ1lteHZZMnR6WEc0Z0lIUm9hWE11WDJKc2IyTnJXM1JvYVhNdVgySnNiMk5yVDJabWMyVjBLeXRkSUQwZ01IZzRNRnh1SUNCcFppQW9kR2hwY3k1ZllteHZZMnRQWm1aelpYUWdQaUExTmlrZ2UxeHVJQ0FnSUhSb2FYTXVYMkpzYjJOckxtWnBiR3dvTUN3Z2RHaHBjeTVmWW14dlkydFBabVp6WlhRc0lEWTBLVnh1SUNBZ0lIUm9hWE11WDNWd1pHRjBaU2dwWEc0Z0lDQWdkR2hwY3k1ZllteHZZMnRQWm1aelpYUWdQU0F3WEc0Z0lIMWNibHh1SUNCMGFHbHpMbDlpYkc5amF5NW1hV3hzS0RBc0lIUm9hWE11WDJKc2IyTnJUMlptYzJWMExDQTFOaWxjYmlBZ2RHaHBjeTVmWW14dlkyc3VkM0pwZEdWVlNXNTBNekpNUlNoMGFHbHpMbDlzWlc1bmRHaGJNRjBzSURVMktWeHVJQ0IwYUdsekxsOWliRzlqYXk1M2NtbDBaVlZKYm5Rek1reEZLSFJvYVhNdVgyeGxibWQwYUZzeFhTd2dOakFwWEc0Z0lIUm9hWE11WDNWd1pHRjBaU2dwWEc1Y2JpQWdMeThnY0hKdlpIVmpaU0J5WlhOMWJIUmNiaUFnZG1GeUlHSjFabVpsY2lBOUlFSjFabVpsY2k1aGJHeHZZeUEvSUVKMVptWmxjaTVoYkd4dll5Z3lNQ2tnT2lCdVpYY2dRblZtWm1WeUtESXdLVnh1SUNCaWRXWm1aWEl1ZDNKcGRHVkpiblF6TWt4RktIUm9hWE11WDJFc0lEQXBYRzRnSUdKMVptWmxjaTUzY21sMFpVbHVkRE15VEVVb2RHaHBjeTVmWWl3Z05DbGNiaUFnWW5WbVptVnlMbmR5YVhSbFNXNTBNekpNUlNoMGFHbHpMbDlqTENBNEtWeHVJQ0JpZFdabVpYSXVkM0pwZEdWSmJuUXpNa3hGS0hSb2FYTXVYMlFzSURFeUtWeHVJQ0JpZFdabVpYSXVkM0pwZEdWSmJuUXpNa3hGS0hSb2FYTXVYMlVzSURFMktWeHVJQ0J5WlhSMWNtNGdZblZtWm1WeVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhKdmRHd2dLSGdzSUc0cElIdGNiaUFnY21WMGRYSnVJQ2g0SUR3OElHNHBJSHdnS0hnZ1BqNCtJQ2d6TWlBdElHNHBLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1iakVnS0dFc0lHSXNJR01zSUdRc0lHVXNJRzBzSUdzc0lITXBJSHRjYmlBZ2NtVjBkWEp1SUNoeWIzUnNLQ2hoSUNzZ0tHSWdYaUJqSUY0Z1pDa2dLeUJ0SUNzZ2F5a2dmQ0F3TENCektTQXJJR1VwSUh3Z01GeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWJqSWdLR0VzSUdJc0lHTXNJR1FzSUdVc0lHMHNJR3NzSUhNcElIdGNiaUFnY21WMGRYSnVJQ2h5YjNSc0tDaGhJQ3NnS0NoaUlDWWdZeWtnZkNBb0tINWlLU0FtSUdRcEtTQXJJRzBnS3lCcktTQjhJREFzSUhNcElDc2daU2tnZkNBd1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdadU15QW9ZU3dnWWl3Z1l5d2daQ3dnWlN3Z2JTd2dheXdnY3lrZ2UxeHVJQ0J5WlhSMWNtNGdLSEp2ZEd3b0tHRWdLeUFvS0dJZ2ZDQW9mbU1wS1NCZUlHUXBJQ3NnYlNBcklHc3BJSHdnTUN3Z2N5a2dLeUJsS1NCOElEQmNibjFjYmx4dVpuVnVZM1JwYjI0Z1ptNDBJQ2hoTENCaUxDQmpMQ0JrTENCbExDQnRMQ0JyTENCektTQjdYRzRnSUhKbGRIVnliaUFvY205MGJDZ29ZU0FySUNnb1lpQW1JR1FwSUh3Z0tHTWdKaUFvZm1RcEtTa2dLeUJ0SUNzZ2F5a2dmQ0F3TENCektTQXJJR1VwSUh3Z01GeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWJqVWdLR0VzSUdJc0lHTXNJR1FzSUdVc0lHMHNJR3NzSUhNcElIdGNiaUFnY21WMGRYSnVJQ2h5YjNSc0tDaGhJQ3NnS0dJZ1hpQW9ZeUI4SUNoK1pDa3BLU0FySUcwZ0t5QnJLU0I4SURBc0lITXBJQ3NnWlNrZ2ZDQXdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1VrbFFSVTFFTVRZd1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmlwZW1kMTYwL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xcbnZhciBidWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IGJ1ZmZlci5CdWZmZXJcXG5cXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXFxuZnVuY3Rpb24gY29weVByb3BzIChzcmMsIGRzdCkge1xcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXFxuICB9XFxufVxcbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcXG4gIG1vZHVsZS5leHBvcnRzID0gYnVmZmVyXFxufSBlbHNlIHtcXG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXFxuICBjb3B5UHJvcHMoYnVmZmVyLCBleHBvcnRzKVxcbiAgZXhwb3J0cy5CdWZmZXIgPSBTYWZlQnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIFNhZmVCdWZmZXIgKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG4vLyBDb3B5IHN0YXRpYyBtZXRob2RzIGZyb20gQnVmZmVyXFxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcXG5cXG5TYWZlQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXFxuICB9XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XFxuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxcbiAgfVxcbiAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxcbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGJ1Zi5maWxsKDApXFxuICB9XFxuICByZXR1cm4gYnVmXFxufVxcblxcblNhZmVCdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcXG59XFxuXFxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBidWZmZXIuU2xvd0J1ZmZlcihzaXplKVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXpZV1psTFdKMVptWmxjaTlwYm1SbGVDNXFjejlpTW1FNUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFc1lVRkJZU3h0UWtGQlR5eERRVUZETERoRFFVRlJPMEZCUXpkQ096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzTmhabVV0WW5WbVptVnlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b2daWE5zYVc1MExXUnBjMkZpYkdVZ2JtOWtaUzl1Ynkxa1pYQnlaV05oZEdWa0xXRndhU0FxTDF4dWRtRnlJR0oxWm1abGNpQTlJSEpsY1hWcGNtVW9KMkoxWm1abGNpY3BYRzUyWVhJZ1FuVm1abVZ5SUQwZ1luVm1abVZ5TGtKMVptWmxjbHh1WEc0dkx5QmhiSFJsY201aGRHbDJaU0IwYnlCMWMybHVaeUJQWW1wbFkzUXVhMlY1Y3lCbWIzSWdiMnhrSUdKeWIzZHpaWEp6WEc1bWRXNWpkR2x2YmlCamIzQjVVSEp2Y0hNZ0tITnlZeXdnWkhOMEtTQjdYRzRnSUdadmNpQW9kbUZ5SUd0bGVTQnBiaUJ6Y21NcElIdGNiaUFnSUNCa2MzUmJhMlY1WFNBOUlITnlZMXRyWlhsZFhHNGdJSDFjYm4xY2JtbG1JQ2hDZFdabVpYSXVabkp2YlNBbUppQkNkV1ptWlhJdVlXeHNiMk1nSmlZZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabElDWW1JRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aVk5zYjNjcElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JpZFdabVpYSmNibjBnWld4elpTQjdYRzRnSUM4dklFTnZjSGtnY0hKdmNHVnlkR2xsY3lCbWNtOXRJSEpsY1hWcGNtVW9KMkoxWm1abGNpY3BYRzRnSUdOdmNIbFFjbTl3Y3loaWRXWm1aWElzSUdWNGNHOXlkSE1wWEc0Z0lHVjRjRzl5ZEhNdVFuVm1abVZ5SUQwZ1UyRm1aVUoxWm1abGNseHVmVnh1WEc1bWRXNWpkR2x2YmlCVFlXWmxRblZtWm1WeUlDaGhjbWNzSUdWdVkyOWthVzVuVDNKUFptWnpaWFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnlaWFIxY200Z1FuVm1abVZ5S0dGeVp5d2daVzVqYjJScGJtZFBjazltWm5ObGRDd2diR1Z1WjNSb0tWeHVmVnh1WEc0dkx5QkRiM0I1SUhOMFlYUnBZeUJ0WlhSb2IyUnpJR1p5YjIwZ1FuVm1abVZ5WEc1amIzQjVVSEp2Y0hNb1FuVm1abVZ5TENCVFlXWmxRblZtWm1WeUtWeHVYRzVUWVdabFFuVm1abVZ5TG1aeWIyMGdQU0JtZFc1amRHbHZiaUFvWVhKbkxDQmxibU52WkdsdVowOXlUMlptYzJWMExDQnNaVzVuZEdncElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblFYSm5kVzFsYm5RZ2JYVnpkQ0J1YjNRZ1ltVWdZU0J1ZFcxaVpYSW5LVnh1SUNCOVhHNGdJSEpsZEhWeWJpQkNkV1ptWlhJb1lYSm5MQ0JsYm1OdlpHbHVaMDl5VDJabWMyVjBMQ0JzWlc1bmRHZ3BYRzU5WEc1Y2JsTmhabVZDZFdabVpYSXVZV3hzYjJNZ1BTQm1kVzVqZEdsdmJpQW9jMmw2WlN3Z1ptbHNiQ3dnWlc1amIyUnBibWNwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJ6YVhwbElDRTlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjBGeVozVnRaVzUwSUcxMWMzUWdZbVVnWVNCdWRXMWlaWEluS1Z4dUlDQjlYRzRnSUhaaGNpQmlkV1lnUFNCQ2RXWm1aWElvYzJsNlpTbGNiaUFnYVdZZ0tHWnBiR3dnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdaVzVqYjJScGJtY2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnSUNCaWRXWXVabWxzYkNobWFXeHNMQ0JsYm1OdlpHbHVaeWxjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1luVm1MbVpwYkd3b1ptbHNiQ2xjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdZblZtTG1acGJHd29NQ2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdZblZtWEc1OVhHNWNibE5oWm1WQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1VZ1BTQm1kVzVqZEdsdmJpQW9jMmw2WlNrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUhOcGVtVWdJVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblFYSm5kVzFsYm5RZ2JYVnpkQ0JpWlNCaElHNTFiV0psY2ljcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUVKMVptWmxjaWh6YVhwbEtWeHVmVnh1WEc1VFlXWmxRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxVMnh2ZHlBOUlHWjFibU4wYVc5dUlDaHphWHBsS1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYzJsNlpTQWhQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkQmNtZDFiV1Z1ZENCdGRYTjBJR0psSUdFZ2JuVnRZbVZ5SnlsY2JpQWdmVnh1SUNCeVpYUjFjbTRnWW5WbVptVnlMbE5zYjNkQ2RXWm1aWElvYzJsNlpTbGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXItdHJhY2luZy5kZXZlbG9wbWVudC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9janMvc2NoZWR1bGVyLXRyYWNpbmcuZGV2ZWxvcG1lbnQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiogQGxpY2Vuc2UgUmVhY3QgdjAuMTkuMVxcbiAqIHNjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzXFxuICpcXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cXG4gKlxcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cXG4gKi9cXG5cXG5cXG5cXG5cXG5cXG5pZiAodHJ1ZSkge1xcbiAgKGZ1bmN0aW9uKCkge1xcbid1c2Ugc3RyaWN0JztcXG5cXG52YXIgREVGQVVMVF9USFJFQURfSUQgPSAwOyAvLyBDb3VudGVycyB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMuXFxuXFxudmFyIGludGVyYWN0aW9uSURDb3VudGVyID0gMDtcXG52YXIgdGhyZWFkSURDb3VudGVyID0gMDsgLy8gU2V0IG9mIGN1cnJlbnRseSB0cmFjZWQgaW50ZXJhY3Rpb25zLlxcbi8vIEludGVyYWN0aW9ucyBcXFwic3RhY2tcXFwi4oCTXFxuLy8gTWVhbmluZyB0aGF0IG5ld2x5IHRyYWNlZCBpbnRlcmFjdGlvbnMgYXJlIGFwcGVuZGVkIHRvIHRoZSBwcmV2aW91c2x5IGFjdGl2ZSBzZXQuXFxuLy8gV2hlbiBhbiBpbnRlcmFjdGlvbiBnb2VzIG91dCBvZiBzY29wZSwgdGhlIHByZXZpb3VzIHNldCAoaWYgYW55KSBpcyByZXN0b3JlZC5cXG5cXG5leHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmID0gbnVsbDsgLy8gTGlzdGVuZXIocykgdG8gbm90aWZ5IHdoZW4gaW50ZXJhY3Rpb25zIGJlZ2luIGFuZCBlbmQuXFxuXFxuZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYgPSBudWxsO1xcblxcbntcXG4gIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYgPSB7XFxuICAgIGN1cnJlbnQ6IG5ldyBTZXQoKVxcbiAgfTtcXG4gIGV4cG9ydHMuX19zdWJzY3JpYmVyUmVmID0ge1xcbiAgICBjdXJyZW50OiBudWxsXFxuICB9O1xcbn1cXG5mdW5jdGlvbiB1bnN0YWJsZV9jbGVhcihjYWxsYmFjaykge1xcblxcbiAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQ7XFxuICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQgPSBuZXcgU2V0KCk7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gY2FsbGJhY2soKTtcXG4gIH0gZmluYWxseSB7XFxuICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldEN1cnJlbnQoKSB7XFxuICB7XFxuICAgIHJldHVybiBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQ7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldFRocmVhZElEKCkge1xcbiAgcmV0dXJuICsrdGhyZWFkSURDb3VudGVyO1xcbn1cXG5mdW5jdGlvbiB1bnN0YWJsZV90cmFjZShuYW1lLCB0aW1lc3RhbXAsIGNhbGxiYWNrKSB7XFxuICB2YXIgdGhyZWFkSUQgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IERFRkFVTFRfVEhSRUFEX0lEO1xcblxcbiAgdmFyIGludGVyYWN0aW9uID0ge1xcbiAgICBfX2NvdW50OiAxLFxcbiAgICBpZDogaW50ZXJhY3Rpb25JRENvdW50ZXIrKyxcXG4gICAgbmFtZTogbmFtZSxcXG4gICAgdGltZXN0YW1wOiB0aW1lc3RhbXBcXG4gIH07XFxuICB2YXIgcHJldkludGVyYWN0aW9ucyA9IGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDsgLy8gVHJhY2VkIGludGVyYWN0aW9ucyBzaG91bGQgc3RhY2svYWNjdW11bGF0ZS5cXG4gIC8vIFRvIGRvIHRoYXQsIGNsb25lIHRoZSBjdXJyZW50IGludGVyYWN0aW9ucy5cXG4gIC8vIFRoZSBwcmV2aW91cyBzZXQgd2lsbCBiZSByZXN0b3JlZCB1cG9uIGNvbXBsZXRpb24uXFxuXFxuICB2YXIgaW50ZXJhY3Rpb25zID0gbmV3IFNldChwcmV2SW50ZXJhY3Rpb25zKTtcXG4gIGludGVyYWN0aW9ucy5hZGQoaW50ZXJhY3Rpb24pO1xcbiAgZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gaW50ZXJhY3Rpb25zO1xcbiAgdmFyIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xcbiAgdmFyIHJldHVyblZhbHVlO1xcblxcbiAgdHJ5IHtcXG4gICAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcXG4gICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25UcmFjZWQoaW50ZXJhY3Rpb24pO1xcbiAgICB9XFxuICB9IGZpbmFsbHkge1xcbiAgICB0cnkge1xcbiAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgICAgfVxcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm5WYWx1ZSA9IGNhbGxiYWNrKCk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuXFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tOyAvLyBJZiBubyBhc3luYyB3b3JrIHdhcyBzY2hlZHVsZWQgZm9yIHRoaXMgaW50ZXJhY3Rpb24sXFxuICAgICAgICAgIC8vIE5vdGlmeSBzdWJzY3JpYmVycyB0aGF0IGl0J3MgY29tcGxldGVkLlxcblxcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCAmJiBpbnRlcmFjdGlvbi5fX2NvdW50ID09PSAwKSB7XFxuICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiByZXR1cm5WYWx1ZTtcXG59XFxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcChjYWxsYmFjaykge1xcbiAgdmFyIHRocmVhZElEID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBERUZBVUxUX1RIUkVBRF9JRDtcXG5cXG4gIHZhciB3cmFwcGVkSW50ZXJhY3Rpb25zID0gZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50O1xcbiAgdmFyIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xcblxcbiAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcXG4gICAgc3Vic2NyaWJlci5vbldvcmtTY2hlZHVsZWQod3JhcHBlZEludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgfSAvLyBVcGRhdGUgdGhlIHBlbmRpbmcgYXN5bmMgd29yayBjb3VudCBmb3IgdGhlIGN1cnJlbnQgaW50ZXJhY3Rpb25zLlxcbiAgLy8gVXBkYXRlIGFmdGVyIGNhbGxpbmcgc3Vic2NyaWJlcnMgaW4gY2FzZSBvZiBlcnJvci5cXG5cXG5cXG4gIHdyYXBwZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgaW50ZXJhY3Rpb24uX19jb3VudCsrO1xcbiAgfSk7XFxuICB2YXIgaGFzUnVuID0gZmFsc2U7XFxuXFxuICBmdW5jdGlvbiB3cmFwcGVkKCkge1xcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDtcXG4gICAgZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gd3JhcHBlZEludGVyYWN0aW9ucztcXG4gICAgc3Vic2NyaWJlciA9IGV4cG9ydHMuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgdmFyIHJldHVyblZhbHVlO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xcbiAgICAgICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQod3JhcHBlZEludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICByZXR1cm5WYWx1ZSA9IGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcXG4gICAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuXFxuICAgICAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgc3Vic2NyaWJlci5vbldvcmtTdG9wcGVkKHdyYXBwZWRJbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XFxuICAgIH0gZmluYWxseSB7XFxuICAgICAgaWYgKCFoYXNSdW4pIHtcXG4gICAgICAgIC8vIFdlIG9ubHkgZXhwZWN0IGEgd3JhcHBlZCBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBvbmNlLFxcbiAgICAgICAgLy8gQnV0IGluIHRoZSBldmVudCB0aGF0IGl0J3MgZXhlY3V0ZWQgbW9yZSB0aGFuIG9uY2XigJNcXG4gICAgICAgIC8vIE9ubHkgZGVjcmVtZW50IHRoZSBvdXRzdGFuZGluZyBpbnRlcmFjdGlvbiBjb3VudHMgb25jZS5cXG4gICAgICAgIGhhc1J1biA9IHRydWU7IC8vIFVwZGF0ZSBwZW5kaW5nIGFzeW5jIGNvdW50cyBmb3IgYWxsIHdyYXBwZWQgaW50ZXJhY3Rpb25zLlxcbiAgICAgICAgLy8gSWYgdGhpcyB3YXMgdGhlIGxhc3Qgc2NoZWR1bGVkIGFzeW5jIHdvcmsgZm9yIGFueSBvZiB0aGVtLFxcbiAgICAgICAgLy8gTWFyayB0aGVtIGFzIGNvbXBsZXRlZC5cXG5cXG4gICAgICAgIHdyYXBwZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tO1xcblxcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCAmJiBpbnRlcmFjdGlvbi5fX2NvdW50ID09PSAwKSB7XFxuICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgd3JhcHBlZC5jYW5jZWwgPSBmdW5jdGlvbiBjYW5jZWwoKSB7XFxuICAgIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xcblxcbiAgICB0cnkge1xcbiAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgICBzdWJzY3JpYmVyLm9uV29ya0NhbmNlbGVkKHdyYXBwZWRJbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgICB9XFxuICAgIH0gZmluYWxseSB7XFxuICAgICAgLy8gVXBkYXRlIHBlbmRpbmcgYXN5bmMgY291bnRzIGZvciBhbGwgd3JhcHBlZCBpbnRlcmFjdGlvbnMuXFxuICAgICAgLy8gSWYgdGhpcyB3YXMgdGhlIGxhc3Qgc2NoZWR1bGVkIGFzeW5jIHdvcmsgZm9yIGFueSBvZiB0aGVtLFxcbiAgICAgIC8vIE1hcmsgdGhlbSBhcyBjb21wbGV0ZWQuXFxuICAgICAgd3JhcHBlZEludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xcbiAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tO1xcblxcbiAgICAgICAgaWYgKHN1YnNjcmliZXIgJiYgaW50ZXJhY3Rpb24uX19jb3VudCA9PT0gMCkge1xcbiAgICAgICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25TY2hlZHVsZWRXb3JrQ29tcGxldGVkKGludGVyYWN0aW9uKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJldHVybiB3cmFwcGVkO1xcbn1cXG5cXG52YXIgc3Vic2NyaWJlcnMgPSBudWxsO1xcblxcbntcXG4gIHN1YnNjcmliZXJzID0gbmV3IFNldCgpO1xcbn1cXG5cXG5mdW5jdGlvbiB1bnN0YWJsZV9zdWJzY3JpYmUoc3Vic2NyaWJlcikge1xcbiAge1xcbiAgICBzdWJzY3JpYmVycy5hZGQoc3Vic2NyaWJlcik7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVycy5zaXplID09PSAxKSB7XFxuICAgICAgZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYuY3VycmVudCA9IHtcXG4gICAgICAgIG9uSW50ZXJhY3Rpb25TY2hlZHVsZWRXb3JrQ29tcGxldGVkOiBvbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZCxcXG4gICAgICAgIG9uSW50ZXJhY3Rpb25UcmFjZWQ6IG9uSW50ZXJhY3Rpb25UcmFjZWQsXFxuICAgICAgICBvbldvcmtDYW5jZWxlZDogb25Xb3JrQ2FuY2VsZWQsXFxuICAgICAgICBvbldvcmtTY2hlZHVsZWQ6IG9uV29ya1NjaGVkdWxlZCxcXG4gICAgICAgIG9uV29ya1N0YXJ0ZWQ6IG9uV29ya1N0YXJ0ZWQsXFxuICAgICAgICBvbldvcmtTdG9wcGVkOiBvbldvcmtTdG9wcGVkXFxuICAgICAgfTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiB1bnN0YWJsZV91bnN1YnNjcmliZShzdWJzY3JpYmVyKSB7XFxuICB7XFxuICAgIHN1YnNjcmliZXJzLmRlbGV0ZShzdWJzY3JpYmVyKTtcXG5cXG4gICAgaWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDApIHtcXG4gICAgICBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50ID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvbkludGVyYWN0aW9uVHJhY2VkKGludGVyYWN0aW9uKSB7XFxuICB2YXIgZGlkQ2F0Y2hFcnJvciA9IGZhbHNlO1xcbiAgdmFyIGNhdWdodEVycm9yID0gbnVsbDtcXG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcXG4gICAgdHJ5IHtcXG4gICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25UcmFjZWQoaW50ZXJhY3Rpb24pO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XFxuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSk7XFxuXFxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XFxuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSk7XFxuXFxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25Xb3JrU2NoZWR1bGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU2NoZWR1bGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XFxuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSk7XFxuXFxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25Xb3JrU3RhcnRlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKSB7XFxuICB2YXIgZGlkQ2F0Y2hFcnJvciA9IGZhbHNlO1xcbiAgdmFyIGNhdWdodEVycm9yID0gbnVsbDtcXG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcXG4gICAgdHJ5IHtcXG4gICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XFxuICAgICAgICBkaWRDYXRjaEVycm9yID0gdHJ1ZTtcXG4gICAgICAgIGNhdWdodEVycm9yID0gZXJyb3I7XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG5cXG4gIGlmIChkaWRDYXRjaEVycm9yKSB7XFxuICAgIHRocm93IGNhdWdodEVycm9yO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvbldvcmtTdG9wcGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgICBpZiAoIWRpZENhdGNoRXJyb3IpIHtcXG4gICAgICAgIGRpZENhdGNoRXJyb3IgPSB0cnVlO1xcbiAgICAgICAgY2F1Z2h0RXJyb3IgPSBlcnJvcjtcXG4gICAgICB9XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgaWYgKGRpZENhdGNoRXJyb3IpIHtcXG4gICAgdGhyb3cgY2F1Z2h0RXJyb3I7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG9uV29ya0NhbmNlbGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrQ2FuY2VsZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XFxuICAgICAgICBkaWRDYXRjaEVycm9yID0gdHJ1ZTtcXG4gICAgICAgIGNhdWdodEVycm9yID0gZXJyb3I7XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG5cXG4gIGlmIChkaWRDYXRjaEVycm9yKSB7XFxuICAgIHRocm93IGNhdWdodEVycm9yO1xcbiAgfVxcbn1cXG5cXG5leHBvcnRzLnVuc3RhYmxlX2NsZWFyID0gdW5zdGFibGVfY2xlYXI7XFxuZXhwb3J0cy51bnN0YWJsZV9nZXRDdXJyZW50ID0gdW5zdGFibGVfZ2V0Q3VycmVudDtcXG5leHBvcnRzLnVuc3RhYmxlX2dldFRocmVhZElEID0gdW5zdGFibGVfZ2V0VGhyZWFkSUQ7XFxuZXhwb3J0cy51bnN0YWJsZV9zdWJzY3JpYmUgPSB1bnN0YWJsZV9zdWJzY3JpYmU7XFxuZXhwb3J0cy51bnN0YWJsZV90cmFjZSA9IHVuc3RhYmxlX3RyYWNlO1xcbmV4cG9ydHMudW5zdGFibGVfdW5zdWJzY3JpYmUgPSB1bnN0YWJsZV91bnN1YnNjcmliZTtcXG5leHBvcnRzLnVuc3RhYmxlX3dyYXAgPSB1bnN0YWJsZV93cmFwO1xcbiAgfSkoKTtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpMTBjbUZqYVc1bkxtUmxkbVZzYjNCdFpXNTBMbXB6UDJVNE16UWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRllUczdPenRCUVVsaUxFbEJRVWtzU1VGQmNVTTdRVUZEZWtNN1FVRkRRVHM3UVVGRlFTd3dRa0ZCTUVJN08wRkJSVEZDTzBGQlEwRXNkMEpCUVhkQ08wRkJRM2hDTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUTBGQmFVTTdPMEZCUldwRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01rUkJRVEpFTzBGQlF6TkVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVMR2REUVVGblF6dEJRVU5vUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdPenRCUVVkQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UWtGQmMwSTdRVUZEZEVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3UVVGRlNEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0NJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpMTBjbUZqYVc1bkxtUmxkbVZzYjNCdFpXNTBMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xSUVCc2FXTmxibk5sSUZKbFlXTjBJSFl3TGpFNUxqRmNiaUFxSUhOamFHVmtkV3hsY2kxMGNtRmphVzVuTG1SbGRtVnNiM0J0Wlc1MExtcHpYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NCR1lXTmxZbTl2YXl3Z1NXNWpMaUJoYm1RZ2FYUnpJR0ZtWm1sc2FXRjBaWE11WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1RVbFVJR3hwWTJWdWMyVWdabTkxYm1RZ2FXNGdkR2hsWEc0Z0tpQk1TVU5GVGxORklHWnBiR1VnYVc0Z2RHaGxJSEp2YjNRZ1pHbHlaV04wYjNKNUlHOW1JSFJvYVhNZ2MyOTFjbU5sSUhSeVpXVXVYRzRnS2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWNibHh1YVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNCY0luQnliMlIxWTNScGIyNWNJaWtnZTF4dUlDQW9ablZ1WTNScGIyNG9LU0I3WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQkVSVVpCVlV4VVgxUklVa1ZCUkY5SlJDQTlJREE3SUM4dklFTnZkVzUwWlhKeklIVnpaV1FnZEc4Z1oyVnVaWEpoZEdVZ2RXNXBjWFZsSUVsRWN5NWNibHh1ZG1GeUlHbHVkR1Z5WVdOMGFXOXVTVVJEYjNWdWRHVnlJRDBnTUR0Y2JuWmhjaUIwYUhKbFlXUkpSRU52ZFc1MFpYSWdQU0F3T3lBdkx5QlRaWFFnYjJZZ1kzVnljbVZ1ZEd4NUlIUnlZV05sWkNCcGJuUmxjbUZqZEdsdmJuTXVYRzR2THlCSmJuUmxjbUZqZEdsdmJuTWdYQ0p6ZEdGamExd2k0b0NUWEc0dkx5Qk5aV0Z1YVc1bklIUm9ZWFFnYm1WM2JIa2dkSEpoWTJWa0lHbHVkR1Z5WVdOMGFXOXVjeUJoY21VZ1lYQndaVzVrWldRZ2RHOGdkR2hsSUhCeVpYWnBiM1Z6YkhrZ1lXTjBhWFpsSUhObGRDNWNiaTh2SUZkb1pXNGdZVzRnYVc1MFpYSmhZM1JwYjI0Z1oyOWxjeUJ2ZFhRZ2IyWWdjMk52Y0dVc0lIUm9aU0J3Y21WMmFXOTFjeUJ6WlhRZ0tHbG1JR0Z1ZVNrZ2FYTWdjbVZ6ZEc5eVpXUXVYRzVjYm1WNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1lnUFNCdWRXeHNPeUF2THlCTWFYTjBaVzVsY2loektTQjBieUJ1YjNScFpua2dkMmhsYmlCcGJuUmxjbUZqZEdsdmJuTWdZbVZuYVc0Z1lXNWtJR1Z1WkM1Y2JseHVaWGh3YjNKMGN5NWZYM04xWW5OamNtbGlaWEpTWldZZ1BTQnVkV3hzTzF4dVhHNTdYRzRnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1lnUFNCN1hHNGdJQ0FnWTNWeWNtVnVkRG9nYm1WM0lGTmxkQ2dwWEc0Z0lIMDdYRzRnSUdWNGNHOXlkSE11WDE5emRXSnpZM0pwWW1WeVVtVm1JRDBnZTF4dUlDQWdJR04xY25KbGJuUTZJRzUxYkd4Y2JpQWdmVHRjYm4xY2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgyTnNaV0Z5S0dOaGJHeGlZV05yS1NCN1hHNWNiaUFnZG1GeUlIQnlaWFpKYm5SbGNtRmpkR2x2Ym5NZ1BTQmxlSEJ2Y25SekxsOWZhVzUwWlhKaFkzUnBiMjV6VW1WbUxtTjFjbkpsYm5RN1hHNGdJR1Y0Y0c5eWRITXVYMTlwYm5SbGNtRmpkR2x2Ym5OU1pXWXVZM1Z5Y21WdWRDQTlJRzVsZHlCVFpYUW9LVHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQmpZV3hzWW1GamF5Z3BPMXh1SUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1l1WTNWeWNtVnVkQ0E5SUhCeVpYWkpiblJsY21GamRHbHZibk03WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhWdWMzUmhZbXhsWDJkbGRFTjFjbkpsYm5Rb0tTQjdYRzRnSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaWGh3YjNKMGN5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1ME8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQjFibk4wWVdKc1pWOW5aWFJVYUhKbFlXUkpSQ2dwSUh0Y2JpQWdjbVYwZFhKdUlDc3JkR2h5WldGa1NVUkRiM1Z1ZEdWeU8xeHVmVnh1Wm5WdVkzUnBiMjRnZFc1emRHRmliR1ZmZEhKaFkyVW9ibUZ0WlN3Z2RHbHRaWE4wWVcxd0xDQmpZV3hzWW1GamF5a2dlMXh1SUNCMllYSWdkR2h5WldGa1NVUWdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTXlBbUppQmhjbWQxYldWdWRITmJNMTBnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR0Z5WjNWdFpXNTBjMXN6WFNBNklFUkZSa0ZWVEZSZlZFaFNSVUZFWDBsRU8xeHVYRzRnSUhaaGNpQnBiblJsY21GamRHbHZiaUE5SUh0Y2JpQWdJQ0JmWDJOdmRXNTBPaUF4TEZ4dUlDQWdJR2xrT2lCcGJuUmxjbUZqZEdsdmJrbEVRMjkxYm5SbGNpc3JMRnh1SUNBZ0lHNWhiV1U2SUc1aGJXVXNYRzRnSUNBZ2RHbHRaWE4wWVcxd09pQjBhVzFsYzNSaGJYQmNiaUFnZlR0Y2JpQWdkbUZ5SUhCeVpYWkpiblJsY21GamRHbHZibk1nUFNCbGVIQnZjblJ6TGw5ZmFXNTBaWEpoWTNScGIyNXpVbVZtTG1OMWNuSmxiblE3SUM4dklGUnlZV05sWkNCcGJuUmxjbUZqZEdsdmJuTWdjMmh2ZFd4a0lITjBZV05yTDJGalkzVnRkV3hoZEdVdVhHNGdJQzh2SUZSdklHUnZJSFJvWVhRc0lHTnNiMjVsSUhSb1pTQmpkWEp5Wlc1MElHbHVkR1Z5WVdOMGFXOXVjeTVjYmlBZ0x5OGdWR2hsSUhCeVpYWnBiM1Z6SUhObGRDQjNhV3hzSUdKbElISmxjM1J2Y21Wa0lIVndiMjRnWTI5dGNHeGxkR2x2Ymk1Y2JseHVJQ0IyWVhJZ2FXNTBaWEpoWTNScGIyNXpJRDBnYm1WM0lGTmxkQ2h3Y21WMlNXNTBaWEpoWTNScGIyNXpLVHRjYmlBZ2FXNTBaWEpoWTNScGIyNXpMbUZrWkNocGJuUmxjbUZqZEdsdmJpazdYRzRnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1l1WTNWeWNtVnVkQ0E5SUdsdWRHVnlZV04wYVc5dWN6dGNiaUFnZG1GeUlITjFZbk5qY21saVpYSWdQU0JsZUhCdmNuUnpMbDlmYzNWaWMyTnlhV0psY2xKbFppNWpkWEp5Wlc1ME8xeHVJQ0IyWVhJZ2NtVjBkWEp1Vm1Gc2RXVTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2MzVmljMk55YVdKbGNpNXZia2x1ZEdWeVlXTjBhVzl1VkhKaFkyVmtLR2x1ZEdWeVlXTjBhVzl1S1R0Y2JpQWdJQ0I5WEc0Z0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR2xtSUNoemRXSnpZM0pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSE4xWW5OamNtbGlaWEl1YjI1WGIzSnJVM1JoY25SbFpDaHBiblJsY21GamRHbHZibk1zSUhSb2NtVmhaRWxFS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdVZtRnNkV1VnUFNCallXeHNZbUZqYXlncE8xeHVJQ0FnSUNBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBZ0lDQWdaWGh3YjNKMGN5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1MElEMGdjSEpsZGtsdWRHVnlZV04wYVc5dWN6dGNibHh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoemRXSnpZM0pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTFOMGIzQndaV1FvYVc1MFpYSmhZM1JwYjI1ekxDQjBhSEpsWVdSSlJDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2x1ZEdWeVlXTjBhVzl1TGw5ZlkyOTFiblF0TFRzZ0x5OGdTV1lnYm04Z1lYTjVibU1nZDI5eWF5QjNZWE1nYzJOb1pXUjFiR1ZrSUdadmNpQjBhR2x6SUdsdWRHVnlZV04wYVc5dUxGeHVJQ0FnSUNBZ0lDQWdJQzh2SUU1dmRHbG1lU0J6ZFdKelkzSnBZbVZ5Y3lCMGFHRjBJR2wwSjNNZ1kyOXRjR3hsZEdWa0xseHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tITjFZbk5qY21saVpYSWdJVDA5SUc1MWJHd2dKaVlnYVc1MFpYSmhZM1JwYjI0dVgxOWpiM1Z1ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmtsdWRHVnlZV04wYVc5dVUyTm9aV1IxYkdWa1YyOXlhME52YlhCc1pYUmxaQ2hwYm5SbGNtRmpkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsZEhWeWJsWmhiSFZsTzF4dWZWeHVablZ1WTNScGIyNGdkVzV6ZEdGaWJHVmZkM0poY0NoallXeHNZbUZqYXlrZ2UxeHVJQ0IyWVhJZ2RHaHlaV0ZrU1VRZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU0FtSmlCaGNtZDFiV1Z1ZEhOYk1WMGdJVDA5SUhWdVpHVm1hVzVsWkNBL0lHRnlaM1Z0Wlc1MGMxc3hYU0E2SUVSRlJrRlZURlJmVkVoU1JVRkVYMGxFTzF4dVhHNGdJSFpoY2lCM2NtRndjR1ZrU1c1MFpYSmhZM1JwYjI1eklEMGdaWGh3YjNKMGN5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1ME8xeHVJQ0IyWVhJZ2MzVmljMk55YVdKbGNpQTlJR1Y0Y0c5eWRITXVYMTl6ZFdKelkzSnBZbVZ5VW1WbUxtTjFjbkpsYm5RN1hHNWNiaUFnYVdZZ0tITjFZbk5qY21saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnpkV0p6WTNKcFltVnlMbTl1VjI5eWExTmphR1ZrZFd4bFpDaDNjbUZ3Y0dWa1NXNTBaWEpoWTNScGIyNXpMQ0IwYUhKbFlXUkpSQ2s3WEc0Z0lIMGdMeThnVlhCa1lYUmxJSFJvWlNCd1pXNWthVzVuSUdGemVXNWpJSGR2Y21zZ1kyOTFiblFnWm05eUlIUm9aU0JqZFhKeVpXNTBJR2x1ZEdWeVlXTjBhVzl1Y3k1Y2JpQWdMeThnVlhCa1lYUmxJR0ZtZEdWeUlHTmhiR3hwYm1jZ2MzVmljMk55YVdKbGNuTWdhVzRnWTJGelpTQnZaaUJsY25KdmNpNWNibHh1WEc0Z0lIZHlZWEJ3WldSSmJuUmxjbUZqZEdsdmJuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzUwWlhKaFkzUnBiMjRwSUh0Y2JpQWdJQ0JwYm5SbGNtRmpkR2x2Ymk1ZlgyTnZkVzUwS3lzN1hHNGdJSDBwTzF4dUlDQjJZWElnYUdGelVuVnVJRDBnWm1Gc2MyVTdYRzVjYmlBZ1puVnVZM1JwYjI0Z2QzSmhjSEJsWkNncElIdGNiaUFnSUNCMllYSWdjSEpsZGtsdWRHVnlZV04wYVc5dWN5QTlJR1Y0Y0c5eWRITXVYMTlwYm5SbGNtRmpkR2x2Ym5OU1pXWXVZM1Z5Y21WdWREdGNiaUFnSUNCbGVIQnZjblJ6TGw5ZmFXNTBaWEpoWTNScGIyNXpVbVZtTG1OMWNuSmxiblFnUFNCM2NtRndjR1ZrU1c1MFpYSmhZM1JwYjI1ek8xeHVJQ0FnSUhOMVluTmpjbWxpWlhJZ1BTQmxlSEJ2Y25SekxsOWZjM1ZpYzJOeWFXSmxjbEpsWmk1amRYSnlaVzUwTzF4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lIWmhjaUJ5WlhSMWNtNVdZV3gxWlR0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITjFZbk5qY21saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTFOMFlYSjBaV1FvZDNKaGNIQmxaRWx1ZEdWeVlXTjBhVzl1Y3l3Z2RHaHlaV0ZrU1VRcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJsWmhiSFZsSUQwZ1kyRnNiR0poWTJzdVlYQndiSGtvZFc1a1pXWnBibVZrTENCaGNtZDFiV1Z1ZEhNcE8xeHVJQ0FnSUNBZ0lDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lDQWdJQ0FnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1l1WTNWeWNtVnVkQ0E5SUhCeVpYWkpiblJsY21GamRHbHZibk03WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNWaWMyTnlhV0psY2k1dmJsZHZjbXRUZEc5d2NHVmtLSGR5WVhCd1pXUkpiblJsY21GamRHbHZibk1zSUhSb2NtVmhaRWxFS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsZEhWeWJsWmhiSFZsTzF4dUlDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0JwWmlBb0lXaGhjMUoxYmlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJYWlNCdmJteDVJR1Y0Y0dWamRDQmhJSGR5WVhCd1pXUWdablZ1WTNScGIyNGdkRzhnWW1VZ1pYaGxZM1YwWldRZ2IyNWpaU3hjYmlBZ0lDQWdJQ0FnTHk4Z1FuVjBJR2x1SUhSb1pTQmxkbVZ1ZENCMGFHRjBJR2wwSjNNZ1pYaGxZM1YwWldRZ2JXOXlaU0IwYUdGdUlHOXVZMlhpZ0pOY2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCa1pXTnlaVzFsYm5RZ2RHaGxJRzkxZEhOMFlXNWthVzVuSUdsdWRHVnlZV04wYVc5dUlHTnZkVzUwY3lCdmJtTmxMbHh1SUNBZ0lDQWdJQ0JvWVhOU2RXNGdQU0IwY25WbE95QXZMeUJWY0dSaGRHVWdjR1Z1WkdsdVp5QmhjM2x1WXlCamIzVnVkSE1nWm05eUlHRnNiQ0IzY21Gd2NHVmtJR2x1ZEdWeVlXTjBhVzl1Y3k1Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QjNZWE1nZEdobElHeGhjM1FnYzJOb1pXUjFiR1ZrSUdGemVXNWpJSGR2Y21zZ1ptOXlJR0Z1ZVNCdlppQjBhR1Z0TEZ4dUlDQWdJQ0FnSUNBdkx5Qk5ZWEpySUhSb1pXMGdZWE1nWTI5dGNHeGxkR1ZrTGx4dVhHNGdJQ0FnSUNBZ0lIZHlZWEJ3WldSSmJuUmxjbUZqZEdsdmJuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzUwWlhKaFkzUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBMUzA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBaFBUMGdiblZzYkNBbUppQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVTVzUwWlhKaFkzUnBiMjVUWTJobFpIVnNaV1JYYjNKclEyOXRjR3hsZEdWa0tHbHVkR1Z5WVdOMGFXOXVLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSGR5WVhCd1pXUXVZMkZ1WTJWc0lEMGdablZ1WTNScGIyNGdZMkZ1WTJWc0tDa2dlMXh1SUNBZ0lITjFZbk5qY21saVpYSWdQU0JsZUhCdmNuUnpMbDlmYzNWaWMyTnlhV0psY2xKbFppNWpkWEp5Wlc1ME8xeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR2xtSUNoemRXSnpZM0pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSE4xWW5OamNtbGlaWEl1YjI1WGIzSnJRMkZ1WTJWc1pXUW9kM0poY0hCbFpFbHVkR1Z5WVdOMGFXOXVjeXdnZEdoeVpXRmtTVVFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0F2THlCVmNHUmhkR1VnY0dWdVpHbHVaeUJoYzNsdVl5QmpiM1Z1ZEhNZ1ptOXlJR0ZzYkNCM2NtRndjR1ZrSUdsdWRHVnlZV04wYVc5dWN5NWNiaUFnSUNBZ0lDOHZJRWxtSUhSb2FYTWdkMkZ6SUhSb1pTQnNZWE4wSUhOamFHVmtkV3hsWkNCaGMzbHVZeUIzYjNKcklHWnZjaUJoYm5rZ2IyWWdkR2hsYlN4Y2JpQWdJQ0FnSUM4dklFMWhjbXNnZEdobGJTQmhjeUJqYjIxd2JHVjBaV1F1WEc0Z0lDQWdJQ0IzY21Gd2NHVmtTVzUwWlhKaFkzUnBiMjV6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0dsdWRHVnlZV04wYVc5dUtTQjdYRzRnSUNBZ0lDQWdJR2x1ZEdWeVlXTjBhVzl1TGw5ZlkyOTFiblF0TFR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBbUppQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYzNWaWMyTnlhV0psY2k1dmJrbHVkR1Z5WVdOMGFXOXVVMk5vWldSMWJHVmtWMjl5YTBOdmJYQnNaWFJsWkNocGJuUmxjbUZqZEdsdmJpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnZDNKaGNIQmxaRHRjYm4xY2JseHVkbUZ5SUhOMVluTmpjbWxpWlhKeklEMGdiblZzYkR0Y2JseHVlMXh1SUNCemRXSnpZM0pwWW1WeWN5QTlJRzVsZHlCVFpYUW9LVHRjYm4xY2JseHVablZ1WTNScGIyNGdkVzV6ZEdGaWJHVmZjM1ZpYzJOeWFXSmxLSE4xWW5OamNtbGlaWElwSUh0Y2JpQWdlMXh1SUNBZ0lITjFZbk5qY21saVpYSnpMbUZrWkNoemRXSnpZM0pwWW1WeUtUdGNibHh1SUNBZ0lHbG1JQ2h6ZFdKelkzSnBZbVZ5Y3k1emFYcGxJRDA5UFNBeEtTQjdYRzRnSUNBZ0lDQmxlSEJ2Y25SekxsOWZjM1ZpYzJOeWFXSmxjbEpsWmk1amRYSnlaVzUwSUQwZ2UxeHVJQ0FnSUNBZ0lDQnZia2x1ZEdWeVlXTjBhVzl1VTJOb1pXUjFiR1ZrVjI5eWEwTnZiWEJzWlhSbFpEb2diMjVKYm5SbGNtRmpkR2x2YmxOamFHVmtkV3hsWkZkdmNtdERiMjF3YkdWMFpXUXNYRzRnSUNBZ0lDQWdJRzl1U1c1MFpYSmhZM1JwYjI1VWNtRmpaV1E2SUc5dVNXNTBaWEpoWTNScGIyNVVjbUZqWldRc1hHNGdJQ0FnSUNBZ0lHOXVWMjl5YTBOaGJtTmxiR1ZrT2lCdmJsZHZjbXREWVc1alpXeGxaQ3hjYmlBZ0lDQWdJQ0FnYjI1WGIzSnJVMk5vWldSMWJHVmtPaUJ2YmxkdmNtdFRZMmhsWkhWc1pXUXNYRzRnSUNBZ0lDQWdJRzl1VjI5eWExTjBZWEowWldRNklHOXVWMjl5YTFOMFlYSjBaV1FzWEc0Z0lDQWdJQ0FnSUc5dVYyOXlhMU4wYjNCd1pXUTZJRzl1VjI5eWExTjBiM0J3WldSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCMWJuTjBZV0pzWlY5MWJuTjFZbk5qY21saVpTaHpkV0p6WTNKcFltVnlLU0I3WEc0Z0lIdGNiaUFnSUNCemRXSnpZM0pwWW1WeWN5NWtaV3hsZEdVb2MzVmljMk55YVdKbGNpazdYRzVjYmlBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY25NdWMybDZaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdaWGh3YjNKMGN5NWZYM04xWW5OamNtbGlaWEpTWldZdVkzVnljbVZ1ZENBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUc5dVNXNTBaWEpoWTNScGIyNVVjbUZqWldRb2FXNTBaWEpoWTNScGIyNHBJSHRjYmlBZ2RtRnlJR1JwWkVOaGRHTm9SWEp5YjNJZ1BTQm1ZV3h6WlR0Y2JpQWdkbUZ5SUdOaGRXZG9kRVZ5Y205eUlEMGdiblZzYkR0Y2JpQWdjM1ZpYzJOeWFXSmxjbk11Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYzNWaWMyTnlhV0psY2lrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpkV0p6WTNKcFltVnlMbTl1U1c1MFpYSmhZM1JwYjI1VWNtRmpaV1FvYVc1MFpYSmhZM1JwYjI0cE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRU5oZEdOb1JYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ1pHbGtRMkYwWTJoRmNuSnZjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR05oZFdkb2RFVnljbTl5SUQwZ1pYSnliM0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUtUdGNibHh1SUNCcFppQW9aR2xrUTJGMFkyaEZjbkp2Y2lrZ2UxeHVJQ0FnSUhSb2NtOTNJR05oZFdkb2RFVnljbTl5TzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOXVTVzUwWlhKaFkzUnBiMjVUWTJobFpIVnNaV1JYYjNKclEyOXRjR3hsZEdWa0tHbHVkR1Z5WVdOMGFXOXVLU0I3WEc0Z0lIWmhjaUJrYVdSRFlYUmphRVZ5Y205eUlEMGdabUZzYzJVN1hHNGdJSFpoY2lCallYVm5hSFJGY25KdmNpQTlJRzUxYkd3N1hHNGdJSE4xWW5OamNtbGlaWEp6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0hOMVluTmpjbWxpWlhJcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmtsdWRHVnlZV04wYVc5dVUyTm9aV1IxYkdWa1YyOXlhME52YlhCc1pYUmxaQ2hwYm5SbGNtRmpkR2x2YmlrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJR2xtSUNnaFpHbGtRMkYwWTJoRmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCa2FXUkRZWFJqYUVWeWNtOXlJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdZMkYxWjJoMFJYSnliM0lnUFNCbGNuSnZjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUdsbUlDaGthV1JEWVhSamFFVnljbTl5S1NCN1hHNGdJQ0FnZEdoeWIzY2dZMkYxWjJoMFJYSnliM0k3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNVhiM0pyVTJOb1pXUjFiR1ZrS0dsdWRHVnlZV04wYVc5dWN5d2dkR2h5WldGa1NVUXBJSHRjYmlBZ2RtRnlJR1JwWkVOaGRHTm9SWEp5YjNJZ1BTQm1ZV3h6WlR0Y2JpQWdkbUZ5SUdOaGRXZG9kRVZ5Y205eUlEMGdiblZzYkR0Y2JpQWdjM1ZpYzJOeWFXSmxjbk11Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYzNWaWMyTnlhV0psY2lrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpkV0p6WTNKcFltVnlMbTl1VjI5eWExTmphR1ZrZFd4bFpDaHBiblJsY21GamRHbHZibk1zSUhSb2NtVmhaRWxFS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdhV1lnS0NGa2FXUkRZWFJqYUVWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUdScFpFTmhkR05vUlhKeWIzSWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQmpZWFZuYUhSRmNuSnZjaUE5SUdWeWNtOXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlNrN1hHNWNiaUFnYVdZZ0tHUnBaRU5oZEdOb1JYSnliM0lwSUh0Y2JpQWdJQ0IwYUhKdmR5QmpZWFZuYUhSRmNuSnZjanRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJsZHZjbXRUZEdGeWRHVmtLR2x1ZEdWeVlXTjBhVzl1Y3l3Z2RHaHlaV0ZrU1VRcElIdGNiaUFnZG1GeUlHUnBaRU5oZEdOb1JYSnliM0lnUFNCbVlXeHpaVHRjYmlBZ2RtRnlJR05oZFdkb2RFVnljbTl5SUQwZ2JuVnNiRHRjYmlBZ2MzVmljMk55YVdKbGNuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9jM1ZpYzJOeWFXSmxjaWtnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTFOMFlYSjBaV1FvYVc1MFpYSmhZM1JwYjI1ekxDQjBhSEpsWVdSSlJDazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrUTJGMFkyaEZjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQmthV1JEWVhSamFFVnljbTl5SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnWTJGMVoyaDBSWEp5YjNJZ1BTQmxjbkp2Y2p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc0Z0lHbG1JQ2hrYVdSRFlYUmphRVZ5Y205eUtTQjdYRzRnSUNBZ2RHaHliM2NnWTJGMVoyaDBSWEp5YjNJN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiMjVYYjNKclUzUnZjSEJsWkNocGJuUmxjbUZqZEdsdmJuTXNJSFJvY21WaFpFbEVLU0I3WEc0Z0lIWmhjaUJrYVdSRFlYUmphRVZ5Y205eUlEMGdabUZzYzJVN1hHNGdJSFpoY2lCallYVm5hSFJGY25KdmNpQTlJRzUxYkd3N1hHNGdJSE4xWW5OamNtbGlaWEp6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0hOMVluTmpjbWxpWlhJcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmxkdmNtdFRkRzl3Y0dWa0tHbHVkR1Z5WVdOMGFXOXVjeXdnZEdoeVpXRmtTVVFwTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQnBaaUFvSVdScFpFTmhkR05vUlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnWkdsa1EyRjBZMmhGY25KdmNpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lHTmhkV2RvZEVWeWNtOXlJRDBnWlhKeWIzSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JseHVJQ0JwWmlBb1pHbGtRMkYwWTJoRmNuSnZjaWtnZTF4dUlDQWdJSFJvY205M0lHTmhkV2RvZEVWeWNtOXlPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUc5dVYyOXlhME5oYm1ObGJHVmtLR2x1ZEdWeVlXTjBhVzl1Y3l3Z2RHaHlaV0ZrU1VRcElIdGNiaUFnZG1GeUlHUnBaRU5oZEdOb1JYSnliM0lnUFNCbVlXeHpaVHRjYmlBZ2RtRnlJR05oZFdkb2RFVnljbTl5SUQwZ2JuVnNiRHRjYmlBZ2MzVmljMk55YVdKbGNuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9jM1ZpYzJOeWFXSmxjaWtnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTBOaGJtTmxiR1ZrS0dsdWRHVnlZV04wYVc5dWN5d2dkR2h5WldGa1NVUXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNCcFppQW9JV1JwWkVOaGRHTm9SWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdaR2xrUTJGMFkyaEZjbkp2Y2lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUdOaGRXZG9kRVZ5Y205eUlEMGdaWEp5YjNJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQnBaaUFvWkdsa1EyRjBZMmhGY25KdmNpa2dlMXh1SUNBZ0lIUm9jbTkzSUdOaGRXZG9kRVZ5Y205eU8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZZMnhsWVhJZ1BTQjFibk4wWVdKc1pWOWpiR1ZoY2p0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZloyVjBRM1Z5Y21WdWRDQTlJSFZ1YzNSaFlteGxYMmRsZEVOMWNuSmxiblE3WEc1bGVIQnZjblJ6TG5WdWMzUmhZbXhsWDJkbGRGUm9jbVZoWkVsRUlEMGdkVzV6ZEdGaWJHVmZaMlYwVkdoeVpXRmtTVVE3WEc1bGVIQnZjblJ6TG5WdWMzUmhZbXhsWDNOMVluTmpjbWxpWlNBOUlIVnVjM1JoWW14bFgzTjFZbk5qY21saVpUdGNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZkSEpoWTJVZ1BTQjFibk4wWVdKc1pWOTBjbUZqWlR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmRXNXpkV0p6WTNKcFltVWdQU0IxYm5OMFlXSnNaVjkxYm5OMVluTmpjbWxpWlR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmQzSmhjQ0E5SUhWdWMzUmhZbXhsWDNkeVlYQTdYRzRnSUgwcEtDazdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiogQGxpY2Vuc2UgUmVhY3QgdjAuMTkuMVxcbiAqIHNjaGVkdWxlci5kZXZlbG9wbWVudC5qc1xcbiAqXFxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXFxuICpcXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuICovXFxuXFxuXFxuXFxuXFxuXFxuaWYgKHRydWUpIHtcXG4gIChmdW5jdGlvbigpIHtcXG4ndXNlIHN0cmljdCc7XFxuXFxudmFyIGVuYWJsZVNjaGVkdWxlckRlYnVnZ2luZyA9IGZhbHNlO1xcbnZhciBlbmFibGVQcm9maWxpbmcgPSB0cnVlO1xcblxcbnZhciByZXF1ZXN0SG9zdENhbGxiYWNrO1xcbnZhciByZXF1ZXN0SG9zdFRpbWVvdXQ7XFxudmFyIGNhbmNlbEhvc3RUaW1lb3V0O1xcbnZhciBzaG91bGRZaWVsZFRvSG9zdDtcXG52YXIgcmVxdWVzdFBhaW50O1xcblxcbmlmICggLy8gSWYgU2NoZWR1bGVyIHJ1bnMgaW4gYSBub24tRE9NIGVudmlyb25tZW50LCBpdCBmYWxscyBiYWNrIHRvIGEgbmFpdmVcXG4vLyBpbXBsZW1lbnRhdGlvbiB1c2luZyBzZXRUaW1lb3V0LlxcbnR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IC8vIENoZWNrIGlmIE1lc3NhZ2VDaGFubmVsIGlzIHN1cHBvcnRlZCwgdG9vLlxcbnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgLy8gSWYgdGhpcyBhY2NpZGVudGFsbHkgZ2V0cyBpbXBvcnRlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50LCBlLmcuIEphdmFTY3JpcHRDb3JlLFxcbiAgLy8gZmFsbGJhY2sgdG8gYSBuYWl2ZSBpbXBsZW1lbnRhdGlvbi5cXG4gIHZhciBfY2FsbGJhY2sgPSBudWxsO1xcbiAgdmFyIF90aW1lb3V0SUQgPSBudWxsO1xcblxcbiAgdmFyIF9mbHVzaENhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xcbiAgICBpZiAoX2NhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICAgICAgICB2YXIgaGFzUmVtYWluaW5nVGltZSA9IHRydWU7XFxuXFxuICAgICAgICBfY2FsbGJhY2soaGFzUmVtYWluaW5nVGltZSwgY3VycmVudFRpbWUpO1xcblxcbiAgICAgICAgX2NhbGxiYWNrID0gbnVsbDtcXG4gICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICBzZXRUaW1lb3V0KF9mbHVzaENhbGxiYWNrLCAwKTtcXG4gICAgICAgIHRocm93IGU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgdmFyIGluaXRpYWxUaW1lID0gRGF0ZS5ub3coKTtcXG5cXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gRGF0ZS5ub3coKSAtIGluaXRpYWxUaW1lO1xcbiAgfTtcXG5cXG4gIHJlcXVlc3RIb3N0Q2FsbGJhY2sgPSBmdW5jdGlvbiAoY2IpIHtcXG4gICAgaWYgKF9jYWxsYmFjayAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFByb3RlY3QgYWdhaW5zdCByZS1lbnRyYW5jeS5cXG4gICAgICBzZXRUaW1lb3V0KHJlcXVlc3RIb3N0Q2FsbGJhY2ssIDAsIGNiKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBfY2FsbGJhY2sgPSBjYjtcXG4gICAgICBzZXRUaW1lb3V0KF9mbHVzaENhbGxiYWNrLCAwKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJlcXVlc3RIb3N0VGltZW91dCA9IGZ1bmN0aW9uIChjYiwgbXMpIHtcXG4gICAgX3RpbWVvdXRJRCA9IHNldFRpbWVvdXQoY2IsIG1zKTtcXG4gIH07XFxuXFxuICBjYW5jZWxIb3N0VGltZW91dCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgY2xlYXJUaW1lb3V0KF90aW1lb3V0SUQpO1xcbiAgfTtcXG5cXG4gIHNob3VsZFlpZWxkVG9Ib3N0ID0gZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9O1xcblxcbiAgcmVxdWVzdFBhaW50ID0gZXhwb3J0cy51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZSA9IGZ1bmN0aW9uICgpIHt9O1xcbn0gZWxzZSB7XFxuICAvLyBDYXB0dXJlIGxvY2FsIHJlZmVyZW5jZXMgdG8gbmF0aXZlIEFQSXMsIGluIGNhc2UgYSBwb2x5ZmlsbCBvdmVycmlkZXMgdGhlbS5cXG4gIHZhciBwZXJmb3JtYW5jZSA9IHdpbmRvdy5wZXJmb3JtYW5jZTtcXG4gIHZhciBfRGF0ZSA9IHdpbmRvdy5EYXRlO1xcbiAgdmFyIF9zZXRUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQ7XFxuICB2YXIgX2NsZWFyVGltZW91dCA9IHdpbmRvdy5jbGVhclRpbWVvdXQ7XFxuXFxuICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XFxuICAgIC8vIFRPRE86IFNjaGVkdWxlciBubyBsb25nZXIgcmVxdWlyZXMgdGhlc2UgbWV0aG9kcyB0byBiZSBwb2x5ZmlsbGVkLiBCdXRcXG4gICAgLy8gbWF5YmUgd2Ugd2FudCB0byBjb250aW51ZSB3YXJuaW5nIGlmIHRoZXkgZG9uJ3QgZXhpc3QsIHRvIHByZXNlcnZlIHRoZVxcbiAgICAvLyBvcHRpb24gdG8gcmVseSBvbiBpdCBpbiB0aGUgZnV0dXJlP1xcbiAgICB2YXIgcmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZTtcXG4gICAgdmFyIGNhbmNlbEFuaW1hdGlvbkZyYW1lID0gd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lOyAvLyBUT0RPOiBSZW1vdmUgZmIubWUgbGlua1xcblxcbiAgICBpZiAodHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ2Vycm9yJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxcbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oXFxcIlRoaXMgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLiBcXFwiICsgJ01ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9mYi5tZS9yZWFjdC1wb2x5ZmlsbHMnKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGNhbmNlbEFuaW1hdGlvbkZyYW1lICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XFxuICAgICAgY29uc29sZVsnZXJyb3InXShcXFwiVGhpcyBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBjYW5jZWxBbmltYXRpb25GcmFtZS4gXFxcIiArICdNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhICcgKyAncG9seWZpbGwgaW4gb2xkZXIgYnJvd3NlcnMuIGh0dHBzOi8vZmIubWUvcmVhY3QtcG9seWZpbGxzJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgZXhwb3J0cy51bnN0YWJsZV9ub3cgPSBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIF9pbml0aWFsVGltZSA9IF9EYXRlLm5vdygpO1xcblxcbiAgICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICByZXR1cm4gX0RhdGUubm93KCkgLSBfaW5pdGlhbFRpbWU7XFxuICAgIH07XFxuICB9XFxuXFxuICB2YXIgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcXG4gIHZhciBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBudWxsO1xcbiAgdmFyIHRhc2tUaW1lb3V0SUQgPSAtMTsgLy8gU2NoZWR1bGVyIHBlcmlvZGljYWxseSB5aWVsZHMgaW4gY2FzZSB0aGVyZSBpcyBvdGhlciB3b3JrIG9uIHRoZSBtYWluXFxuICAvLyB0aHJlYWQsIGxpa2UgdXNlciBldmVudHMuIEJ5IGRlZmF1bHQsIGl0IHlpZWxkcyBtdWx0aXBsZSB0aW1lcyBwZXIgZnJhbWUuXFxuICAvLyBJdCBkb2VzIG5vdCBhdHRlbXB0IHRvIGFsaWduIHdpdGggZnJhbWUgYm91bmRhcmllcywgc2luY2UgbW9zdCB0YXNrcyBkb24ndFxcbiAgLy8gbmVlZCB0byBiZSBmcmFtZSBhbGlnbmVkOyBmb3IgdGhvc2UgdGhhdCBkbywgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZS5cXG5cXG4gIHZhciB5aWVsZEludGVydmFsID0gNTtcXG4gIHZhciBkZWFkbGluZSA9IDA7IC8vIFRPRE86IE1ha2UgdGhpcyBjb25maWd1cmFibGVcXG5cXG4gIHtcXG4gICAgLy8gYGlzSW5wdXRQZW5kaW5nYCBpcyBub3QgYXZhaWxhYmxlLiBTaW5jZSB3ZSBoYXZlIG5vIHdheSBvZiBrbm93aW5nIGlmXFxuICAgIC8vIHRoZXJlJ3MgcGVuZGluZyBpbnB1dCwgYWx3YXlzIHlpZWxkIGF0IHRoZSBlbmQgb2YgdGhlIGZyYW1lLlxcbiAgICBzaG91bGRZaWVsZFRvSG9zdCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICByZXR1cm4gZXhwb3J0cy51bnN0YWJsZV9ub3coKSA+PSBkZWFkbGluZTtcXG4gICAgfTsgLy8gU2luY2Ugd2UgeWllbGQgZXZlcnkgZnJhbWUgcmVnYXJkbGVzcywgYHJlcXVlc3RQYWludGAgaGFzIG5vIGVmZmVjdC5cXG5cXG5cXG4gICAgcmVxdWVzdFBhaW50ID0gZnVuY3Rpb24gKCkge307XFxuICB9XFxuXFxuICBleHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZnVuY3Rpb24gKGZwcykge1xcbiAgICBpZiAoZnBzIDwgMCB8fCBmcHMgPiAxMjUpIHtcXG4gICAgICAvLyBVc2luZyBjb25zb2xlWydlcnJvciddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcXG4gICAgICBjb25zb2xlWydlcnJvciddKCdmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgJyArICdmb3JjaW5nIGZyYW1lcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3QgdW5zdXBwb3J0ZWQnKTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaWYgKGZwcyA+IDApIHtcXG4gICAgICB5aWVsZEludGVydmFsID0gTWF0aC5mbG9vcigxMDAwIC8gZnBzKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyByZXNldCB0aGUgZnJhbWVyYXRlXFxuICAgICAgeWllbGRJbnRlcnZhbCA9IDU7XFxuICAgIH1cXG4gIH07XFxuXFxuICB2YXIgcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xcbiAgICBpZiAoc2NoZWR1bGVkSG9zdENhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTsgLy8gWWllbGQgYWZ0ZXIgYHlpZWxkSW50ZXJ2YWxgIG1zLCByZWdhcmRsZXNzIG9mIHdoZXJlIHdlIGFyZSBpbiB0aGUgdnN5bmNcXG4gICAgICAvLyBjeWNsZS4gVGhpcyBtZWFucyB0aGVyZSdzIGFsd2F5cyB0aW1lIHJlbWFpbmluZyBhdCB0aGUgYmVnaW5uaW5nIG9mXFxuICAgICAgLy8gdGhlIG1lc3NhZ2UgZXZlbnQuXFxuXFxuICAgICAgZGVhZGxpbmUgPSBjdXJyZW50VGltZSArIHlpZWxkSW50ZXJ2YWw7XFxuICAgICAgdmFyIGhhc1RpbWVSZW1haW5pbmcgPSB0cnVlO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICB2YXIgaGFzTW9yZVdvcmsgPSBzY2hlZHVsZWRIb3N0Q2FsbGJhY2soaGFzVGltZVJlbWFpbmluZywgY3VycmVudFRpbWUpO1xcblxcbiAgICAgICAgaWYgKCFoYXNNb3JlV29yaykge1xcbiAgICAgICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IGZhbHNlO1xcbiAgICAgICAgICBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBudWxsO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgLy8gSWYgdGhlcmUncyBtb3JlIHdvcmssIHNjaGVkdWxlIHRoZSBuZXh0IG1lc3NhZ2UgZXZlbnQgYXQgdGhlIGVuZFxcbiAgICAgICAgICAvLyBvZiB0aGUgcHJlY2VkaW5nIG9uZS5cXG4gICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShudWxsKTtcXG4gICAgICAgIH1cXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgICAgLy8gSWYgYSBzY2hlZHVsZXIgdGFzayB0aHJvd3MsIGV4aXQgdGhlIGN1cnJlbnQgYnJvd3NlciB0YXNrIHNvIHRoZVxcbiAgICAgICAgLy8gZXJyb3IgY2FuIGJlIG9ic2VydmVkLlxcbiAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShudWxsKTtcXG4gICAgICAgIHRocm93IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IGZhbHNlO1xcbiAgICB9IC8vIFlpZWxkaW5nIHRvIHRoZSBicm93c2VyIHdpbGwgZ2l2ZSBpdCBhIGNoYW5jZSB0byBwYWludCwgc28gd2UgY2FuXFxuICB9O1xcblxcbiAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcXG4gIHZhciBwb3J0ID0gY2hhbm5lbC5wb3J0MjtcXG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xcblxcbiAgcmVxdWVzdEhvc3RDYWxsYmFjayA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xcbiAgICBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBjYWxsYmFjaztcXG5cXG4gICAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xcbiAgICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcXG4gICAgICBwb3J0LnBvc3RNZXNzYWdlKG51bGwpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgcmVxdWVzdEhvc3RUaW1lb3V0ID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBtcykge1xcbiAgICB0YXNrVGltZW91dElEID0gX3NldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xcbiAgICAgIGNhbGxiYWNrKGV4cG9ydHMudW5zdGFibGVfbm93KCkpO1xcbiAgICB9LCBtcyk7XFxuICB9O1xcblxcbiAgY2FuY2VsSG9zdFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XFxuICAgIF9jbGVhclRpbWVvdXQodGFza1RpbWVvdXRJRCk7XFxuXFxuICAgIHRhc2tUaW1lb3V0SUQgPSAtMTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIHB1c2goaGVhcCwgbm9kZSkge1xcbiAgdmFyIGluZGV4ID0gaGVhcC5sZW5ndGg7XFxuICBoZWFwLnB1c2gobm9kZSk7XFxuICBzaWZ0VXAoaGVhcCwgbm9kZSwgaW5kZXgpO1xcbn1cXG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XFxuICByZXR1cm4gZmlyc3QgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBmaXJzdDtcXG59XFxuZnVuY3Rpb24gcG9wKGhlYXApIHtcXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XFxuXFxuICBpZiAoZmlyc3QgIT09IHVuZGVmaW5lZCkge1xcbiAgICB2YXIgbGFzdCA9IGhlYXAucG9wKCk7XFxuXFxuICAgIGlmIChsYXN0ICE9PSBmaXJzdCkge1xcbiAgICAgIGhlYXBbMF0gPSBsYXN0O1xcbiAgICAgIHNpZnREb3duKGhlYXAsIGxhc3QsIDApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmaXJzdDtcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzaWZ0VXAoaGVhcCwgbm9kZSwgaSkge1xcbiAgdmFyIGluZGV4ID0gaTtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIHZhciBwYXJlbnRJbmRleCA9IGluZGV4IC0gMSA+Pj4gMTtcXG4gICAgdmFyIHBhcmVudCA9IGhlYXBbcGFyZW50SW5kZXhdO1xcblxcbiAgICBpZiAocGFyZW50ICE9PSB1bmRlZmluZWQgJiYgY29tcGFyZShwYXJlbnQsIG5vZGUpID4gMCkge1xcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgbGFyZ2VyLiBTd2FwIHBvc2l0aW9ucy5cXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XFxuICAgICAgaGVhcFtpbmRleF0gPSBwYXJlbnQ7XFxuICAgICAgaW5kZXggPSBwYXJlbnRJbmRleDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUaGUgcGFyZW50IGlzIHNtYWxsZXIuIEV4aXQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHNpZnREb3duKGhlYXAsIG5vZGUsIGkpIHtcXG4gIHZhciBpbmRleCA9IGk7XFxuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XFxuXFxuICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcXG4gICAgdmFyIGxlZnRJbmRleCA9IChpbmRleCArIDEpICogMiAtIDE7XFxuICAgIHZhciBsZWZ0ID0gaGVhcFtsZWZ0SW5kZXhdO1xcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XFxuICAgIHZhciByaWdodCA9IGhlYXBbcmlnaHRJbmRleF07IC8vIElmIHRoZSBsZWZ0IG9yIHJpZ2h0IG5vZGUgaXMgc21hbGxlciwgc3dhcCB3aXRoIHRoZSBzbWFsbGVyIG9mIHRob3NlLlxcblxcbiAgICBpZiAobGVmdCAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmUobGVmdCwgbm9kZSkgPCAwKSB7XFxuICAgICAgaWYgKHJpZ2h0ICE9PSB1bmRlZmluZWQgJiYgY29tcGFyZShyaWdodCwgbGVmdCkgPCAwKSB7XFxuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xcbiAgICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XFxuICAgICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGhlYXBbaW5kZXhdID0gbGVmdDtcXG4gICAgICAgIGhlYXBbbGVmdEluZGV4XSA9IG5vZGU7XFxuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAocmlnaHQgIT09IHVuZGVmaW5lZCAmJiBjb21wYXJlKHJpZ2h0LCBub2RlKSA8IDApIHtcXG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xcbiAgICAgIGhlYXBbcmlnaHRJbmRleF0gPSBub2RlO1xcbiAgICAgIGluZGV4ID0gcmlnaHRJbmRleDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBOZWl0aGVyIGNoaWxkIGlzIHNtYWxsZXIuIEV4aXQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbXBhcmUoYSwgYikge1xcbiAgLy8gQ29tcGFyZSBzb3J0IGluZGV4IGZpcnN0LCB0aGVuIHRhc2sgaWQuXFxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XFxuICByZXR1cm4gZGlmZiAhPT0gMCA/IGRpZmYgOiBhLmlkIC0gYi5pZDtcXG59XFxuXFxuLy8gVE9ETzogVXNlIHN5bWJvbHM/XFxudmFyIE5vUHJpb3JpdHkgPSAwO1xcbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XFxudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gMjtcXG52YXIgTm9ybWFsUHJpb3JpdHkgPSAzO1xcbnZhciBMb3dQcmlvcml0eSA9IDQ7XFxudmFyIElkbGVQcmlvcml0eSA9IDU7XFxuXFxudmFyIHJ1bklkQ291bnRlciA9IDA7XFxudmFyIG1haW5UaHJlYWRJZENvdW50ZXIgPSAwO1xcbnZhciBwcm9maWxpbmdTdGF0ZVNpemUgPSA0O1xcbnZhciBzaGFyZWRQcm9maWxpbmdCdWZmZXIgPSAgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCBTaGFyZWRBcnJheUJ1ZmZlclxcbnR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyA/IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihwcm9maWxpbmdTdGF0ZVNpemUgKiBJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSA6IC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgQXJyYXlCdWZmZXJcXG50eXBlb2YgQXJyYXlCdWZmZXIgPT09ICdmdW5jdGlvbicgPyBuZXcgQXJyYXlCdWZmZXIocHJvZmlsaW5nU3RhdGVTaXplICogSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkgOiBudWxsIC8vIERvbid0IGNyYXNoIHRoZSBpbml0IHBhdGggb24gSUU5XFxuO1xcbnZhciBwcm9maWxpbmdTdGF0ZSA9ICBzaGFyZWRQcm9maWxpbmdCdWZmZXIgIT09IG51bGwgPyBuZXcgSW50MzJBcnJheShzaGFyZWRQcm9maWxpbmdCdWZmZXIpIDogW107IC8vIFdlIGNhbid0IHJlYWQgdGhpcyBidXQgaXQgaGVscHMgc2F2ZSBieXRlcyBmb3IgbnVsbCBjaGVja3NcXG5cXG52YXIgUFJJT1JJVFkgPSAwO1xcbnZhciBDVVJSRU5UX1RBU0tfSUQgPSAxO1xcbnZhciBDVVJSRU5UX1JVTl9JRCA9IDI7XFxudmFyIFFVRVVFX1NJWkUgPSAzO1xcblxcbntcXG4gIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IE5vUHJpb3JpdHk7IC8vIFRoaXMgaXMgbWFpbnRhaW5lZCB3aXRoIGEgY291bnRlciwgYmVjYXVzZSB0aGUgc2l6ZSBvZiB0aGUgcHJpb3JpdHkgcXVldWVcXG4gIC8vIGFycmF5IG1pZ2h0IGluY2x1ZGUgY2FuY2VsZWQgdGFza3MuXFxuXFxuICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXSA9IDA7XFxuICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gMDtcXG59IC8vIEJ5dGVzIHBlciBlbGVtZW50IGlzIDRcXG5cXG5cXG52YXIgSU5JVElBTF9FVkVOVF9MT0dfU0laRSA9IDEzMTA3MjtcXG52YXIgTUFYX0VWRU5UX0xPR19TSVpFID0gNTI0Mjg4OyAvLyBFcXVpdmFsZW50IHRvIDIgbWVnYWJ5dGVzXFxuXFxudmFyIGV2ZW50TG9nU2l6ZSA9IDA7XFxudmFyIGV2ZW50TG9nQnVmZmVyID0gbnVsbDtcXG52YXIgZXZlbnRMb2cgPSBudWxsO1xcbnZhciBldmVudExvZ0luZGV4ID0gMDtcXG52YXIgVGFza1N0YXJ0RXZlbnQgPSAxO1xcbnZhciBUYXNrQ29tcGxldGVFdmVudCA9IDI7XFxudmFyIFRhc2tFcnJvckV2ZW50ID0gMztcXG52YXIgVGFza0NhbmNlbEV2ZW50ID0gNDtcXG52YXIgVGFza1J1bkV2ZW50ID0gNTtcXG52YXIgVGFza1lpZWxkRXZlbnQgPSA2O1xcbnZhciBTY2hlZHVsZXJTdXNwZW5kRXZlbnQgPSA3O1xcbnZhciBTY2hlZHVsZXJSZXN1bWVFdmVudCA9IDg7XFxuXFxuZnVuY3Rpb24gbG9nRXZlbnQoZW50cmllcykge1xcbiAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgIHZhciBvZmZzZXQgPSBldmVudExvZ0luZGV4O1xcbiAgICBldmVudExvZ0luZGV4ICs9IGVudHJpZXMubGVuZ3RoO1xcblxcbiAgICBpZiAoZXZlbnRMb2dJbmRleCArIDEgPiBldmVudExvZ1NpemUpIHtcXG4gICAgICBldmVudExvZ1NpemUgKj0gMjtcXG5cXG4gICAgICBpZiAoZXZlbnRMb2dTaXplID4gTUFYX0VWRU5UX0xPR19TSVpFKSB7XFxuICAgICAgICAvLyBVc2luZyBjb25zb2xlWydlcnJvciddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcXG4gICAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oXFxcIlNjaGVkdWxlciBQcm9maWxpbmc6IEV2ZW50IGxvZyBleGNlZWRlZCBtYXhpbXVtIHNpemUuIERvbid0IFxcXCIgKyAnZm9yZ2V0IHRvIGNhbGwgYHN0b3BMb2dnaW5nUHJvZmlsaW5nRXZlbnRzKClgLicpO1xcbiAgICAgICAgc3RvcExvZ2dpbmdQcm9maWxpbmdFdmVudHMoKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIG5ld0V2ZW50TG9nID0gbmV3IEludDMyQXJyYXkoZXZlbnRMb2dTaXplICogNCk7XFxuICAgICAgbmV3RXZlbnRMb2cuc2V0KGV2ZW50TG9nKTtcXG4gICAgICBldmVudExvZ0J1ZmZlciA9IG5ld0V2ZW50TG9nLmJ1ZmZlcjtcXG4gICAgICBldmVudExvZyA9IG5ld0V2ZW50TG9nO1xcbiAgICB9XFxuXFxuICAgIGV2ZW50TG9nLnNldChlbnRyaWVzLCBvZmZzZXQpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzdGFydExvZ2dpbmdQcm9maWxpbmdFdmVudHMoKSB7XFxuICBldmVudExvZ1NpemUgPSBJTklUSUFMX0VWRU5UX0xPR19TSVpFO1xcbiAgZXZlbnRMb2dCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoZXZlbnRMb2dTaXplICogNCk7XFxuICBldmVudExvZyA9IG5ldyBJbnQzMkFycmF5KGV2ZW50TG9nQnVmZmVyKTtcXG4gIGV2ZW50TG9nSW5kZXggPSAwO1xcbn1cXG5mdW5jdGlvbiBzdG9wTG9nZ2luZ1Byb2ZpbGluZ0V2ZW50cygpIHtcXG4gIHZhciBidWZmZXIgPSBldmVudExvZ0J1ZmZlcjtcXG4gIGV2ZW50TG9nU2l6ZSA9IDA7XFxuICBldmVudExvZ0J1ZmZlciA9IG51bGw7XFxuICBldmVudExvZyA9IG51bGw7XFxuICBldmVudExvZ0luZGV4ID0gMDtcXG4gIHJldHVybiBidWZmZXI7XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrU3RhcnQodGFzaywgbXMpIHtcXG4gIHtcXG4gICAgcHJvZmlsaW5nU3RhdGVbUVVFVUVfU0laRV0rKztcXG5cXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgLy8gcGVyZm9ybWFuY2Uubm93IHJldHVybnMgYSBmbG9hdCwgcmVwcmVzZW50aW5nIG1pbGxpc2Vjb25kcy4gV2hlbiB0aGVcXG4gICAgICAvLyBldmVudCBpcyBsb2dnZWQsIGl0J3MgY29lcmNlZCB0byBhbiBpbnQuIENvbnZlcnQgdG8gbWljcm9zZWNvbmRzIHRvXFxuICAgICAgLy8gbWFpbnRhaW4gZXh0cmEgZGVncmVlcyBvZiBwcmVjaXNpb24uXFxuICAgICAgbG9nRXZlbnQoW1Rhc2tTdGFydEV2ZW50LCBtcyAqIDEwMDAsIHRhc2suaWQsIHRhc2sucHJpb3JpdHlMZXZlbF0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrQ29tcGxldGVkKHRhc2ssIG1zKSB7XFxuICB7XFxuICAgIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IE5vUHJpb3JpdHk7XFxuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSAwO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXS0tO1xcblxcbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcXG4gICAgICBsb2dFdmVudChbVGFza0NvbXBsZXRlRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZF0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrQ2FuY2VsZWQodGFzaywgbXMpIHtcXG4gIHtcXG4gICAgcHJvZmlsaW5nU3RhdGVbUVVFVUVfU0laRV0tLTtcXG5cXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgbG9nRXZlbnQoW1Rhc2tDYW5jZWxFdmVudCwgbXMgKiAxMDAwLCB0YXNrLmlkXSk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XFxuICB7XFxuICAgIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IE5vUHJpb3JpdHk7XFxuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSAwO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXS0tO1xcblxcbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcXG4gICAgICBsb2dFdmVudChbVGFza0Vycm9yRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZF0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrUnVuKHRhc2ssIG1zKSB7XFxuICB7XFxuICAgIHJ1bklkQ291bnRlcisrO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSB0YXNrLnByaW9yaXR5TGV2ZWw7XFxuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSB0YXNrLmlkO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1JVTl9JRF0gPSBydW5JZENvdW50ZXI7XFxuXFxuICAgIGlmIChldmVudExvZyAhPT0gbnVsbCkge1xcbiAgICAgIGxvZ0V2ZW50KFtUYXNrUnVuRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZCwgcnVuSWRDb3VudGVyXSk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gbWFya1Rhc2tZaWVsZCh0YXNrLCBtcykge1xcbiAge1xcbiAgICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSBOb1ByaW9yaXR5O1xcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gMDtcXG4gICAgcHJvZmlsaW5nU3RhdGVbQ1VSUkVOVF9SVU5fSURdID0gMDtcXG5cXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgbG9nRXZlbnQoW1Rhc2tZaWVsZEV2ZW50LCBtcyAqIDEwMDAsIHRhc2suaWQsIHJ1bklkQ291bnRlcl0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtTY2hlZHVsZXJTdXNwZW5kZWQobXMpIHtcXG4gIHtcXG4gICAgbWFpblRocmVhZElkQ291bnRlcisrO1xcblxcbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcXG4gICAgICBsb2dFdmVudChbU2NoZWR1bGVyU3VzcGVuZEV2ZW50LCBtcyAqIDEwMDAsIG1haW5UaHJlYWRJZENvdW50ZXJdKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrU2NoZWR1bGVyVW5zdXNwZW5kZWQobXMpIHtcXG4gIHtcXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgbG9nRXZlbnQoW1NjaGVkdWxlclJlc3VtZUV2ZW50LCBtcyAqIDEwMDAsIG1haW5UaHJlYWRJZENvdW50ZXJdKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cXG4vLyBNYXRoLnBvdygyLCAzMCkgLSAxXFxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcXG5cXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcXG5cXG52YXIgSU1NRURJQVRFX1BSSU9SSVRZX1RJTUVPVVQgPSAtMTsgLy8gRXZlbnR1YWxseSB0aW1lcyBvdXRcXG5cXG52YXIgVVNFUl9CTE9DS0lOR19QUklPUklUWSA9IDI1MDtcXG52YXIgTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQgPSA1MDAwO1xcbnZhciBMT1dfUFJJT1JJVFlfVElNRU9VVCA9IDEwMDAwOyAvLyBOZXZlciB0aW1lcyBvdXRcXG5cXG52YXIgSURMRV9QUklPUklUWSA9IG1heFNpZ25lZDMxQml0SW50OyAvLyBUYXNrcyBhcmUgc3RvcmVkIG9uIGEgbWluIGhlYXBcXG5cXG52YXIgdGFza1F1ZXVlID0gW107XFxudmFyIHRpbWVyUXVldWUgPSBbXTsgLy8gSW5jcmVtZW50aW5nIGlkIGNvdW50ZXIuIFVzZWQgdG8gbWFpbnRhaW4gaW5zZXJ0aW9uIG9yZGVyLlxcblxcbnZhciB0YXNrSWRDb3VudGVyID0gMTsgLy8gUGF1c2luZyB0aGUgc2NoZWR1bGVyIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLlxcbnZhciBjdXJyZW50VGFzayA9IG51bGw7XFxudmFyIGN1cnJlbnRQcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7IC8vIFRoaXMgaXMgc2V0IHdoaWxlIHBlcmZvcm1pbmcgd29yaywgdG8gcHJldmVudCByZS1lbnRyYW5jeS5cXG5cXG52YXIgaXNQZXJmb3JtaW5nV29yayA9IGZhbHNlO1xcbnZhciBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IGZhbHNlO1xcbnZhciBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xcbiAgLy8gQ2hlY2sgZm9yIHRhc2tzIHRoYXQgYXJlIG5vIGxvbmdlciBkZWxheWVkIGFuZCBhZGQgdGhlbSB0byB0aGUgcXVldWUuXFxuICB2YXIgdGltZXIgPSBwZWVrKHRpbWVyUXVldWUpO1xcblxcbiAgd2hpbGUgKHRpbWVyICE9PSBudWxsKSB7XFxuICAgIGlmICh0aW1lci5jYWxsYmFjayA9PT0gbnVsbCkge1xcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXFxuICAgICAgcG9wKHRpbWVyUXVldWUpO1xcbiAgICB9IGVsc2UgaWYgKHRpbWVyLnN0YXJ0VGltZSA8PSBjdXJyZW50VGltZSkge1xcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XFxuICAgICAgdGltZXIuc29ydEluZGV4ID0gdGltZXIuZXhwaXJhdGlvblRpbWU7XFxuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcXG5cXG4gICAgICB7XFxuICAgICAgICBtYXJrVGFza1N0YXJ0KHRpbWVyLCBjdXJyZW50VGltZSk7XFxuICAgICAgICB0aW1lci5pc1F1ZXVlZCA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFJlbWFpbmluZyB0aW1lcnMgYXJlIHBlbmRpbmcuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xcbiAgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XFxuXFxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkKSB7XFxuICAgIGlmIChwZWVrKHRhc2tRdWV1ZSkgIT09IG51bGwpIHtcXG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XFxuICAgICAgcmVxdWVzdEhvc3RDYWxsYmFjayhmbHVzaFdvcmspO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcXG5cXG4gICAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcXG4gIHtcXG4gICAgbWFya1NjaGVkdWxlclVuc3VzcGVuZGVkKGluaXRpYWxUaW1lKTtcXG4gIH0gLy8gV2UnbGwgbmVlZCBhIGhvc3QgY2FsbGJhY2sgdGhlIG5leHQgdGltZSB3b3JrIGlzIHNjaGVkdWxlZC5cXG5cXG5cXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XFxuXFxuICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cXG4gICAgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgICBjYW5jZWxIb3N0VGltZW91dCgpO1xcbiAgfVxcblxcbiAgaXNQZXJmb3JtaW5nV29yayA9IHRydWU7XFxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XFxuXFxuICB0cnkge1xcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSk7XFxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgICAgIGlmIChjdXJyZW50VGFzayAhPT0gbnVsbCkge1xcbiAgICAgICAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcXG4gICAgICAgICAgY3VycmVudFRhc2suaXNRdWV1ZWQgPSBmYWxzZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRocm93IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBObyBjYXRjaCBpbiBwcm9kIGNvZGVwYXRoLlxcbiAgICAgIHJldHVybiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSk7XFxuICAgIH1cXG4gIH0gZmluYWxseSB7XFxuICAgIGN1cnJlbnRUYXNrID0gbnVsbDtcXG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XFxuICAgIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcXG5cXG4gICAge1xcbiAgICAgIHZhciBfY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xcblxcbiAgICAgIG1hcmtTY2hlZHVsZXJTdXNwZW5kZWQoX2N1cnJlbnRUaW1lKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSkge1xcbiAgdmFyIGN1cnJlbnRUaW1lID0gaW5pdGlhbFRpbWU7XFxuICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcXG4gIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xcblxcbiAgd2hpbGUgKGN1cnJlbnRUYXNrICE9PSBudWxsICYmICEoZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nICkpIHtcXG4gICAgaWYgKGN1cnJlbnRUYXNrLmV4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUgJiYgKCFoYXNUaW1lUmVtYWluaW5nIHx8IHNob3VsZFlpZWxkVG9Ib3N0KCkpKSB7XFxuICAgICAgLy8gVGhpcyBjdXJyZW50VGFzayBoYXNuJ3QgZXhwaXJlZCwgYW5kIHdlJ3ZlIHJlYWNoZWQgdGhlIGRlYWRsaW5lLlxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYWxsYmFjayA9IGN1cnJlbnRUYXNrLmNhbGxiYWNrO1xcblxcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcXG4gICAgICBjdXJyZW50VGFzay5jYWxsYmFjayA9IG51bGw7XFxuICAgICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBjdXJyZW50VGFzay5wcmlvcml0eUxldmVsO1xcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XFxuICAgICAgbWFya1Rhc2tSdW4oY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcXG4gICAgICB2YXIgY29udGludWF0aW9uQ2FsbGJhY2sgPSBjYWxsYmFjayhkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0KTtcXG4gICAgICBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBjb250aW51YXRpb25DYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgY3VycmVudFRhc2suY2FsbGJhY2sgPSBjb250aW51YXRpb25DYWxsYmFjaztcXG4gICAgICAgIG1hcmtUYXNrWWllbGQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAge1xcbiAgICAgICAgICBtYXJrVGFza0NvbXBsZXRlZChjdXJyZW50VGFzaywgY3VycmVudFRpbWUpO1xcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrID09PSBwZWVrKHRhc2tRdWV1ZSkpIHtcXG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xcbiAgICB9XFxuXFxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xcbiAgfSAvLyBSZXR1cm4gd2hldGhlciB0aGVyZSdzIGFkZGl0aW9uYWwgd29ya1xcblxcblxcbiAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGZpcnN0VGltZXIgPSBwZWVrKHRpbWVyUXVldWUpO1xcblxcbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xcbiAgICAgIHJlcXVlc3RIb3N0VGltZW91dChoYW5kbGVUaW1lb3V0LCBmaXJzdFRpbWVyLnN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eShwcmlvcml0eUxldmVsLCBldmVudEhhbmRsZXIpIHtcXG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxcbiAgICBjYXNlIExvd1ByaW9yaXR5OlxcbiAgICBjYXNlIElkbGVQcmlvcml0eTpcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XFxuICB9XFxuXFxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XFxuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdW5zdGFibGVfbmV4dChldmVudEhhbmRsZXIpIHtcXG4gIHZhciBwcmlvcml0eUxldmVsO1xcblxcbiAgc3dpdGNoIChjdXJyZW50UHJpb3JpdHlMZXZlbCkge1xcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxcbiAgICAgIC8vIFNoaWZ0IGRvd24gdG8gbm9ybWFsIHByaW9yaXR5XFxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIC8vIEFueXRoaW5nIGxvd2VyIHRoYW4gbm9ybWFsIHByaW9yaXR5IHNob3VsZCByZW1haW4gYXQgdGhlIGN1cnJlbnQgbGV2ZWwuXFxuICAgICAgcHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xcbiAgICAgIGJyZWFrO1xcbiAgfVxcblxcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xcbiAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmlvcml0eUxldmVsO1xcblxcbiAgdHJ5IHtcXG4gICAgcmV0dXJuIGV2ZW50SGFuZGxlcigpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3dyYXBDYWxsYmFjayhjYWxsYmFjaykge1xcbiAgdmFyIHBhcmVudFByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIC8vIFRoaXMgaXMgYSBmb3JrIG9mIHJ1bldpdGhQcmlvcml0eSwgaW5saW5lZCBmb3IgcGVyZm9ybWFuY2UuXFxuICAgIHZhciBwcmV2aW91c1ByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcXG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xcblxcbiAgICB0cnkge1xcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xcbiAgICB9XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiB0aW1lb3V0Rm9yUHJpb3JpdHlMZXZlbChwcmlvcml0eUxldmVsKSB7XFxuICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcXG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcXG4gICAgICByZXR1cm4gSU1NRURJQVRFX1BSSU9SSVRZX1RJTUVPVVQ7XFxuXFxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHk6XFxuICAgICAgcmV0dXJuIFVTRVJfQkxPQ0tJTkdfUFJJT1JJVFk7XFxuXFxuICAgIGNhc2UgSWRsZVByaW9yaXR5OlxcbiAgICAgIHJldHVybiBJRExFX1BSSU9SSVRZO1xcblxcbiAgICBjYXNlIExvd1ByaW9yaXR5OlxcbiAgICAgIHJldHVybiBMT1dfUFJJT1JJVFlfVElNRU9VVDtcXG5cXG4gICAgY2FzZSBOb3JtYWxQcmlvcml0eTpcXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcXG4gIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICB2YXIgc3RhcnRUaW1lO1xcbiAgdmFyIHRpbWVvdXQ7XFxuXFxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcXG4gICAgdmFyIGRlbGF5ID0gb3B0aW9ucy5kZWxheTtcXG5cXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicgJiYgZGVsYXkgPiAwKSB7XFxuICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWUgKyBkZWxheTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcXG4gICAgfVxcblxcbiAgICB0aW1lb3V0ID0gdHlwZW9mIG9wdGlvbnMudGltZW91dCA9PT0gJ251bWJlcicgPyBvcHRpb25zLnRpbWVvdXQgOiB0aW1lb3V0Rm9yUHJpb3JpdHlMZXZlbChwcmlvcml0eUxldmVsKTtcXG4gIH0gZWxzZSB7XFxuICAgIHRpbWVvdXQgPSB0aW1lb3V0Rm9yUHJpb3JpdHlMZXZlbChwcmlvcml0eUxldmVsKTtcXG4gICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XFxuICB9XFxuXFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBzdGFydFRpbWUgKyB0aW1lb3V0O1xcbiAgdmFyIG5ld1Rhc2sgPSB7XFxuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXFxuICAgIGNhbGxiYWNrOiBjYWxsYmFjayxcXG4gICAgcHJpb3JpdHlMZXZlbDogcHJpb3JpdHlMZXZlbCxcXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXFxuICAgIGV4cGlyYXRpb25UaW1lOiBleHBpcmF0aW9uVGltZSxcXG4gICAgc29ydEluZGV4OiAtMVxcbiAgfTtcXG5cXG4gIHtcXG4gICAgbmV3VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHN0YXJ0VGltZSA+IGN1cnJlbnRUaW1lKSB7XFxuICAgIC8vIFRoaXMgaXMgYSBkZWxheWVkIHRhc2suXFxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xcbiAgICBwdXNoKHRpbWVyUXVldWUsIG5ld1Rhc2spO1xcblxcbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcXG4gICAgICAvLyBBbGwgdGFza3MgYXJlIGRlbGF5ZWQsIGFuZCB0aGlzIGlzIHRoZSB0YXNrIHdpdGggdGhlIGVhcmxpZXN0IGRlbGF5LlxcbiAgICAgIGlmIChpc0hvc3RUaW1lb3V0U2NoZWR1bGVkKSB7XFxuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cXG4gICAgICAgIGNhbmNlbEhvc3RUaW1lb3V0KCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICAgIH0gLy8gU2NoZWR1bGUgYSB0aW1lb3V0LlxcblxcblxcbiAgICAgIHJlcXVlc3RIb3N0VGltZW91dChoYW5kbGVUaW1lb3V0LCBzdGFydFRpbWUgLSBjdXJyZW50VGltZSk7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gZXhwaXJhdGlvblRpbWU7XFxuICAgIHB1c2godGFza1F1ZXVlLCBuZXdUYXNrKTtcXG5cXG4gICAge1xcbiAgICAgIG1hcmtUYXNrU3RhcnQobmV3VGFzaywgY3VycmVudFRpbWUpO1xcbiAgICAgIG5ld1Rhc2suaXNRdWV1ZWQgPSB0cnVlO1xcbiAgICB9IC8vIFNjaGVkdWxlIGEgaG9zdCBjYWxsYmFjaywgaWYgbmVlZGVkLiBJZiB3ZSdyZSBhbHJlYWR5IHBlcmZvcm1pbmcgd29yayxcXG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxcblxcblxcbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XFxuICAgICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soZmx1c2hXb3JrKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG5ld1Rhc2s7XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xcbn1cXG5cXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcXG5cXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgJiYgIWlzUGVyZm9ybWluZ1dvcmspIHtcXG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlKCkge1xcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcXG59XFxuXFxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xcbiAge1xcbiAgICBpZiAodGFzay5pc1F1ZXVlZCkge1xcbiAgICAgIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICAgICAgbWFya1Rhc2tDYW5jZWxlZCh0YXNrLCBjdXJyZW50VGltZSk7XFxuICAgICAgdGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xcbiAgICB9XFxuICB9IC8vIE51bGwgb3V0IHRoZSBjYWxsYmFjayB0byBpbmRpY2F0ZSB0aGUgdGFzayBoYXMgYmVlbiBjYW5jZWxlZC4gKENhbid0XFxuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXFxuICAvLyBhcnJheSBiYXNlZCBoZWFwLCBvbmx5IHRoZSBmaXJzdCBvbmUuKVxcblxcblxcbiAgdGFzay5jYWxsYmFjayA9IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsKCkge1xcbiAgcmV0dXJuIGN1cnJlbnRQcmlvcml0eUxldmVsO1xcbn1cXG5cXG5mdW5jdGlvbiB1bnN0YWJsZV9zaG91bGRZaWVsZCgpIHtcXG4gIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcXG4gIHZhciBmaXJzdFRhc2sgPSBwZWVrKHRhc2tRdWV1ZSk7XFxuICByZXR1cm4gZmlyc3RUYXNrICE9PSBjdXJyZW50VGFzayAmJiBjdXJyZW50VGFzayAhPT0gbnVsbCAmJiBmaXJzdFRhc2sgIT09IG51bGwgJiYgZmlyc3RUYXNrLmNhbGxiYWNrICE9PSBudWxsICYmIGZpcnN0VGFzay5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUgJiYgZmlyc3RUYXNrLmV4cGlyYXRpb25UaW1lIDwgY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgfHwgc2hvdWxkWWllbGRUb0hvc3QoKTtcXG59XFxuXFxudmFyIHVuc3RhYmxlX3JlcXVlc3RQYWludCA9IHJlcXVlc3RQYWludDtcXG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gIHtcXG4gIHN0YXJ0TG9nZ2luZ1Byb2ZpbGluZ0V2ZW50czogc3RhcnRMb2dnaW5nUHJvZmlsaW5nRXZlbnRzLFxcbiAgc3RvcExvZ2dpbmdQcm9maWxpbmdFdmVudHM6IHN0b3BMb2dnaW5nUHJvZmlsaW5nRXZlbnRzLFxcbiAgc2hhcmVkUHJvZmlsaW5nQnVmZmVyOiBzaGFyZWRQcm9maWxpbmdCdWZmZXJcXG59IDtcXG5cXG5leHBvcnRzLnVuc3RhYmxlX0lkbGVQcmlvcml0eSA9IElkbGVQcmlvcml0eTtcXG5leHBvcnRzLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5ID0gSW1tZWRpYXRlUHJpb3JpdHk7XFxuZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eSA9IExvd1ByaW9yaXR5O1xcbmV4cG9ydHMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHkgPSBOb3JtYWxQcmlvcml0eTtcXG5leHBvcnRzLnVuc3RhYmxlX1Byb2ZpbGluZyA9IHVuc3RhYmxlX1Byb2ZpbGluZztcXG5leHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gVXNlckJsb2NraW5nUHJpb3JpdHk7XFxuZXhwb3J0cy51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayA9IHVuc3RhYmxlX2NhbmNlbENhbGxiYWNrO1xcbmV4cG9ydHMudW5zdGFibGVfY29udGludWVFeGVjdXRpb24gPSB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbjtcXG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsID0gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw7XFxuZXhwb3J0cy51bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSA9IHVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlO1xcbmV4cG9ydHMudW5zdGFibGVfbmV4dCA9IHVuc3RhYmxlX25leHQ7XFxuZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbiA9IHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uO1xcbmV4cG9ydHMudW5zdGFibGVfcmVxdWVzdFBhaW50ID0gdW5zdGFibGVfcmVxdWVzdFBhaW50O1xcbmV4cG9ydHMudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5ID0gdW5zdGFibGVfcnVuV2l0aFByaW9yaXR5O1xcbmV4cG9ydHMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayA9IHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XFxuZXhwb3J0cy51bnN0YWJsZV9zaG91bGRZaWVsZCA9IHVuc3RhYmxlX3Nob3VsZFlpZWxkO1xcbmV4cG9ydHMudW5zdGFibGVfd3JhcENhbGxiYWNrID0gdW5zdGFibGVfd3JhcENhbGxiYWNrO1xcbiAgfSkoKTtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpNWtaWFpsYkc5d2JXVnVkQzVxY3o5aFlUZzFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJXRTdPenM3UVVGSllpeEpRVUZKTEVsQlFYRkRPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3eVJFRkJNa1E3TzBGQlJUTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIbENRVUY1UWp0QlFVTjZRanRCUVVOQk8wRkJRMEVzT0VKQlFUaENPenRCUVVVNVFqdEJRVU5CTEcxQ1FVRnRRanM3UVVGRmJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFMUJRVTA3T3p0QlFVZE9PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEN0RFFVRXJRenRCUVVNdlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hwUTBGQmFVTTdPMEZCUldwRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEd0SFFVRnJSenM3UVVGRmJFYzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDNRMEZCZDBNN1FVRkRlRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRXNaME5CUVdkRE96dEJRVVZvUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFEUVVGdFF6czdRVUZGYmtNc2IwTkJRVzlET3p0QlFVVndRenRCUVVOQk8wRkJRMEVzYVVOQlFXbERPenRCUVVWcVF5eHpRMEZCYzBNN08wRkJSWFJETzBGQlEwRXNiMEpCUVc5Q096dEJRVVZ3UWl4elFrRkJjMEk3UVVGRGRFSTdRVUZEUVN3d1EwRkJNRU03TzBGQlJURkRPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hQUVVGUE96czdRVUZIVUR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0NJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpNWtaWFpsYkc5d2JXVnVkQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lCQWJHbGpaVzV6WlNCU1pXRmpkQ0IyTUM0eE9TNHhYRzRnS2lCelkyaGxaSFZzWlhJdVpHVjJaV3h2Y0cxbGJuUXVhbk5jYmlBcVhHNGdLaUJEYjNCNWNtbG5hSFFnS0dNcElFWmhZMlZpYjI5ckxDQkpibU11SUdGdVpDQnBkSE1nWVdabWFXeHBZWFJsY3k1Y2JpQXFYRzRnS2lCVWFHbHpJSE52ZFhKalpTQmpiMlJsSUdseklHeHBZMlZ1YzJWa0lIVnVaR1Z5SUhSb1pTQk5TVlFnYkdsalpXNXpaU0JtYjNWdVpDQnBiaUIwYUdWY2JpQXFJRXhKUTBWT1UwVWdabWxzWlNCcGJpQjBhR1VnY205dmRDQmthWEpsWTNSdmNua2diMllnZEdocGN5QnpiM1Z5WTJVZ2RISmxaUzVjYmlBcUwxeHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibHh1WEc1cFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlGd2ljSEp2WkhWamRHbHZibHdpS1NCN1hHNGdJQ2htZFc1amRHbHZiaWdwSUh0Y2JpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR1Z1WVdKc1pWTmphR1ZrZFd4bGNrUmxZblZuWjJsdVp5QTlJR1poYkhObE8xeHVkbUZ5SUdWdVlXSnNaVkJ5YjJacGJHbHVaeUE5SUhSeWRXVTdYRzVjYm5aaGNpQnlaWEYxWlhOMFNHOXpkRU5oYkd4aVlXTnJPMXh1ZG1GeUlISmxjWFZsYzNSSWIzTjBWR2x0Wlc5MWREdGNiblpoY2lCallXNWpaV3hJYjNOMFZHbHRaVzkxZER0Y2JuWmhjaUJ6YUc5MWJHUlphV1ZzWkZSdlNHOXpkRHRjYm5aaGNpQnlaWEYxWlhOMFVHRnBiblE3WEc1Y2JtbG1JQ2dnTHk4Z1NXWWdVMk5vWldSMWJHVnlJSEoxYm5NZ2FXNGdZU0J1YjI0dFJFOU5JR1Z1ZG1seWIyNXRaVzUwTENCcGRDQm1ZV3hzY3lCaVlXTnJJSFJ2SUdFZ2JtRnBkbVZjYmk4dklHbHRjR3hsYldWdWRHRjBhVzl1SUhWemFXNW5JSE5sZEZScGJXVnZkWFF1WEc1MGVYQmxiMllnZDJsdVpHOTNJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QjhmQ0F2THlCRGFHVmpheUJwWmlCTlpYTnpZV2RsUTJoaGJtNWxiQ0JwY3lCemRYQndiM0owWldRc0lIUnZieTVjYm5SNWNHVnZaaUJOWlhOellXZGxRMmhoYm01bGJDQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0F2THlCSlppQjBhR2x6SUdGalkybGtaVzUwWVd4c2VTQm5aWFJ6SUdsdGNHOXlkR1ZrSUdsdUlHRWdibTl1TFdKeWIzZHpaWElnWlc1MmFYSnZibTFsYm5Rc0lHVXVaeTRnU21GMllWTmpjbWx3ZEVOdmNtVXNYRzRnSUM4dklHWmhiR3hpWVdOcklIUnZJR0VnYm1GcGRtVWdhVzF3YkdWdFpXNTBZWFJwYjI0dVhHNGdJSFpoY2lCZlkyRnNiR0poWTJzZ1BTQnVkV3hzTzF4dUlDQjJZWElnWDNScGJXVnZkWFJKUkNBOUlHNTFiR3c3WEc1Y2JpQWdkbUZ5SUY5bWJIVnphRU5oYkd4aVlXTnJJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdsbUlDaGZZMkZzYkdKaFkyc2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqZFhKeVpXNTBWR2x0WlNBOUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmJtOTNLQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQm9ZWE5TWlcxaGFXNXBibWRVYVcxbElEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ0lDQmZZMkZzYkdKaFkyc29hR0Z6VW1WdFlXbHVhVzVuVkdsdFpTd2dZM1Z5Y21WdWRGUnBiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lGOWpZV3hzWW1GamF5QTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJSE5sZEZScGJXVnZkWFFvWDJac2RYTm9RMkZzYkdKaFkyc3NJREFwTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJsTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCMllYSWdhVzVwZEdsaGJGUnBiV1VnUFNCRVlYUmxMbTV2ZHlncE8xeHVYRzRnSUdWNGNHOXlkSE11ZFc1emRHRmliR1ZmYm05M0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkVZWFJsTG01dmR5Z3BJQzBnYVc1cGRHbGhiRlJwYldVN1hHNGdJSDA3WEc1Y2JpQWdjbVZ4ZFdWemRFaHZjM1JEWVd4c1ltRmpheUE5SUdaMWJtTjBhVzl1SUNoallpa2dlMXh1SUNBZ0lHbG1JQ2hmWTJGc2JHSmhZMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUM4dklGQnliM1JsWTNRZ1lXZGhhVzV6ZENCeVpTMWxiblJ5WVc1amVTNWNiaUFnSUNBZ0lITmxkRlJwYldWdmRYUW9jbVZ4ZFdWemRFaHZjM1JEWVd4c1ltRmpheXdnTUN3Z1kySXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCZlkyRnNiR0poWTJzZ1BTQmpZanRjYmlBZ0lDQWdJSE5sZEZScGJXVnZkWFFvWDJac2RYTm9RMkZzYkdKaFkyc3NJREFwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCeVpYRjFaWE4wU0c5emRGUnBiV1Z2ZFhRZ1BTQm1kVzVqZEdsdmJpQW9ZMklzSUcxektTQjdYRzRnSUNBZ1gzUnBiV1Z2ZFhSSlJDQTlJSE5sZEZScGJXVnZkWFFvWTJJc0lHMXpLVHRjYmlBZ2ZUdGNibHh1SUNCallXNWpaV3hJYjNOMFZHbHRaVzkxZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQmpiR1ZoY2xScGJXVnZkWFFvWDNScGJXVnZkWFJKUkNrN1hHNGdJSDA3WEc1Y2JpQWdjMmh2ZFd4a1dXbGxiR1JVYjBodmMzUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5TzF4dVhHNGdJSEpsY1hWbGMzUlFZV2x1ZENBOUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZlptOXlZMlZHY21GdFpWSmhkR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVHRjYm4wZ1pXeHpaU0I3WEc0Z0lDOHZJRU5oY0hSMWNtVWdiRzlqWVd3Z2NtVm1aWEpsYm1ObGN5QjBieUJ1WVhScGRtVWdRVkJKY3l3Z2FXNGdZMkZ6WlNCaElIQnZiSGxtYVd4c0lHOTJaWEp5YVdSbGN5QjBhR1Z0TGx4dUlDQjJZWElnY0dWeVptOXliV0Z1WTJVZ1BTQjNhVzVrYjNjdWNHVnlabTl5YldGdVkyVTdYRzRnSUhaaGNpQmZSR0YwWlNBOUlIZHBibVJ2ZHk1RVlYUmxPMXh1SUNCMllYSWdYM05sZEZScGJXVnZkWFFnUFNCM2FXNWtiM2N1YzJWMFZHbHRaVzkxZER0Y2JpQWdkbUZ5SUY5amJHVmhjbFJwYldWdmRYUWdQU0IzYVc1a2IzY3VZMnhsWVhKVWFXMWxiM1YwTzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnWTI5dWMyOXNaU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJSHRjYmlBZ0lDQXZMeUJVVDBSUE9pQlRZMmhsWkhWc1pYSWdibThnYkc5dVoyVnlJSEpsY1hWcGNtVnpJSFJvWlhObElHMWxkR2h2WkhNZ2RHOGdZbVVnY0c5c2VXWnBiR3hsWkM0Z1FuVjBYRzRnSUNBZ0x5OGdiV0Y1WW1VZ2QyVWdkMkZ1ZENCMGJ5QmpiMjUwYVc1MVpTQjNZWEp1YVc1bklHbG1JSFJvWlhrZ1pHOXVKM1FnWlhocGMzUXNJSFJ2SUhCeVpYTmxjblpsSUhSb1pWeHVJQ0FnSUM4dklHOXdkR2x2YmlCMGJ5QnlaV3g1SUc5dUlHbDBJR2x1SUhSb1pTQm1kWFIxY21VL1hHNGdJQ0FnZG1GeUlISmxjWFZsYzNSQmJtbHRZWFJwYjI1R2NtRnRaU0E5SUhkcGJtUnZkeTV5WlhGMVpYTjBRVzVwYldGMGFXOXVSbkpoYldVN1hHNGdJQ0FnZG1GeUlHTmhibU5sYkVGdWFXMWhkR2x2YmtaeVlXMWxJRDBnZDJsdVpHOTNMbU5oYm1ObGJFRnVhVzFoZEdsdmJrWnlZVzFsT3lBdkx5QlVUMFJQT2lCU1pXMXZkbVVnWm1JdWJXVWdiR2x1YTF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCeVpYRjFaWE4wUVc1cGJXRjBhVzl1Um5KaGJXVWdJVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDOHZJRlZ6YVc1bklHTnZibk52YkdWYkoyVnljbTl5SjEwZ2RHOGdaWFpoWkdVZ1FtRmlaV3dnWVc1a0lFVlRUR2x1ZEZ4dUlDQWdJQ0FnWTI5dWMyOXNaVnNuWlhKeWIzSW5YU2hjSWxSb2FYTWdZbkp2ZDNObGNpQmtiMlZ6YmlkMElITjFjSEJ2Y25RZ2NtVnhkV1Z6ZEVGdWFXMWhkR2x2YmtaeVlXMWxMaUJjSWlBcklDZE5ZV3RsSUhOMWNtVWdkR2hoZENCNWIzVWdiRzloWkNCaElDY2dLeUFuY0c5c2VXWnBiR3dnYVc0Z2IyeGtaWElnWW5KdmQzTmxjbk11SUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGNHOXNlV1pwYkd4ekp5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmpZVzVqWld4QmJtbHRZWFJwYjI1R2NtRnRaU0FoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdMeThnVlhOcGJtY2dZMjl1YzI5c1pWc25aWEp5YjNJblhTQjBieUJsZG1Ga1pTQkNZV0psYkNCaGJtUWdSVk5NYVc1MFhHNGdJQ0FnSUNCamIyNXpiMnhsV3lkbGNuSnZjaWRkS0Z3aVZHaHBjeUJpY205M2MyVnlJR1J2WlhOdUozUWdjM1Z3Y0c5eWRDQmpZVzVqWld4QmJtbHRZWFJwYjI1R2NtRnRaUzRnWENJZ0t5QW5UV0ZyWlNCemRYSmxJSFJvWVhRZ2VXOTFJR3h2WVdRZ1lTQW5JQ3NnSjNCdmJIbG1hV3hzSUdsdUlHOXNaR1Z5SUdKeWIzZHpaWEp6TGlCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExYQnZiSGxtYVd4c2N5Y3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR2xtSUNoMGVYQmxiMllnY0dWeVptOXliV0Z1WTJVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhSNWNHVnZaaUJ3WlhKbWIzSnRZVzVqWlM1dWIzY2dQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCbGVIQnZjblJ6TG5WdWMzUmhZbXhsWDI1dmR5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3WlhKbWIzSnRZVzVqWlM1dWIzY29LVHRjYmlBZ0lDQjlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCZmFXNXBkR2xoYkZScGJXVWdQU0JmUkdGMFpTNXViM2NvS1R0Y2JseHVJQ0FnSUdWNGNHOXlkSE11ZFc1emRHRmliR1ZmYm05M0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRjlFWVhSbExtNXZkeWdwSUMwZ1gybHVhWFJwWVd4VWFXMWxPMXh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0IyWVhJZ2FYTk5aWE56WVdkbFRHOXZjRkoxYm01cGJtY2dQU0JtWVd4elpUdGNiaUFnZG1GeUlITmphR1ZrZFd4bFpFaHZjM1JEWVd4c1ltRmpheUE5SUc1MWJHdzdYRzRnSUhaaGNpQjBZWE5yVkdsdFpXOTFkRWxFSUQwZ0xURTdJQzh2SUZOamFHVmtkV3hsY2lCd1pYSnBiMlJwWTJGc2JIa2dlV2xsYkdSeklHbHVJR05oYzJVZ2RHaGxjbVVnYVhNZ2IzUm9aWElnZDI5eWF5QnZiaUIwYUdVZ2JXRnBibHh1SUNBdkx5QjBhSEpsWVdRc0lHeHBhMlVnZFhObGNpQmxkbVZ1ZEhNdUlFSjVJR1JsWm1GMWJIUXNJR2wwSUhscFpXeGtjeUJ0ZFd4MGFYQnNaU0IwYVcxbGN5QndaWElnWm5KaGJXVXVYRzRnSUM4dklFbDBJR1J2WlhNZ2JtOTBJR0YwZEdWdGNIUWdkRzhnWVd4cFoyNGdkMmwwYUNCbWNtRnRaU0JpYjNWdVpHRnlhV1Z6TENCemFXNWpaU0J0YjNOMElIUmhjMnR6SUdSdmJpZDBYRzRnSUM4dklHNWxaV1FnZEc4Z1ltVWdabkpoYldVZ1lXeHBaMjVsWkRzZ1ptOXlJSFJvYjNObElIUm9ZWFFnWkc4c0lIVnpaU0J5WlhGMVpYTjBRVzVwYldGMGFXOXVSbkpoYldVdVhHNWNiaUFnZG1GeUlIbHBaV3hrU1c1MFpYSjJZV3dnUFNBMU8xeHVJQ0IyWVhJZ1pHVmhaR3hwYm1VZ1BTQXdPeUF2THlCVVQwUlBPaUJOWVd0bElIUm9hWE1nWTI5dVptbG5kWEpoWW14bFhHNWNiaUFnZTF4dUlDQWdJQzh2SUdCcGMwbHVjSFYwVUdWdVpHbHVaMkFnYVhNZ2JtOTBJR0YyWVdsc1lXSnNaUzRnVTJsdVkyVWdkMlVnYUdGMlpTQnVieUIzWVhrZ2IyWWdhMjV2ZDJsdVp5QnBabHh1SUNBZ0lDOHZJSFJvWlhKbEozTWdjR1Z1WkdsdVp5QnBibkIxZEN3Z1lXeDNZWGx6SUhscFpXeGtJR0YwSUhSb1pTQmxibVFnYjJZZ2RHaGxJR1p5WVcxbExseHVJQ0FnSUhOb2IzVnNaRmxwWld4a1ZHOUliM04wSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmJtOTNLQ2tnUGowZ1pHVmhaR3hwYm1VN1hHNGdJQ0FnZlRzZ0x5OGdVMmx1WTJVZ2QyVWdlV2xsYkdRZ1pYWmxjbmtnWm5KaGJXVWdjbVZuWVhKa2JHVnpjeXdnWUhKbGNYVmxjM1JRWVdsdWRHQWdhR0Z6SUc1dklHVm1abVZqZEM1Y2JseHVYRzRnSUNBZ2NtVnhkV1Z6ZEZCaGFXNTBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UzMDdYRzRnSUgxY2JseHVJQ0JsZUhCdmNuUnpMblZ1YzNSaFlteGxYMlp2Y21ObFJuSmhiV1ZTWVhSbElEMGdablZ1WTNScGIyNGdLR1p3Y3lrZ2UxeHVJQ0FnSUdsbUlDaG1jSE1nUENBd0lIeDhJR1p3Y3lBK0lERXlOU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZYTnBibWNnWTI5dWMyOXNaVnNuWlhKeWIzSW5YU0IwYnlCbGRtRmtaU0JDWVdKbGJDQmhibVFnUlZOTWFXNTBYRzRnSUNBZ0lDQmpiMjV6YjJ4bFd5ZGxjbkp2Y2lkZEtDZG1iM0pqWlVaeVlXMWxVbUYwWlNCMFlXdGxjeUJoSUhCdmMybDBhWFpsSUdsdWRDQmlaWFIzWldWdUlEQWdZVzVrSURFeU5Td2dKeUFySUNkbWIzSmphVzVuSUdaeVlXMWxjbUYwWlhNZ2FHbG5hR1Z5SUhSb1lXNGdNVEkxSUdad2N5QnBjeUJ1YjNRZ2RXNXpkWEJ3YjNKMFpXUW5LVHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9abkJ6SUQ0Z01Da2dlMXh1SUNBZ0lDQWdlV2xsYkdSSmJuUmxjblpoYkNBOUlFMWhkR2d1Wm14dmIzSW9NVEF3TUNBdklHWndjeWs3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJSEpsYzJWMElIUm9aU0JtY21GdFpYSmhkR1ZjYmlBZ0lDQWdJSGxwWld4a1NXNTBaWEoyWVd3Z1BTQTFPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2NHVnlabTl5YlZkdmNtdFZiblJwYkVSbFlXUnNhVzVsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lHbG1JQ2h6WTJobFpIVnNaV1JJYjNOMFEyRnNiR0poWTJzZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJqZFhKeVpXNTBWR2x0WlNBOUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmJtOTNLQ2s3SUM4dklGbHBaV3hrSUdGbWRHVnlJR0I1YVdWc1pFbHVkR1Z5ZG1Gc1lDQnRjeXdnY21WbllYSmtiR1Z6Y3lCdlppQjNhR1Z5WlNCM1pTQmhjbVVnYVc0Z2RHaGxJSFp6ZVc1alhHNGdJQ0FnSUNBdkx5QmplV05zWlM0Z1ZHaHBjeUJ0WldGdWN5QjBhR1Z5WlNkeklHRnNkMkY1Y3lCMGFXMWxJSEpsYldGcGJtbHVaeUJoZENCMGFHVWdZbVZuYVc1dWFXNW5JRzltWEc0Z0lDQWdJQ0F2THlCMGFHVWdiV1Z6YzJGblpTQmxkbVZ1ZEM1Y2JseHVJQ0FnSUNBZ1pHVmhaR3hwYm1VZ1BTQmpkWEp5Wlc1MFZHbHRaU0FySUhscFpXeGtTVzUwWlhKMllXdzdYRzRnSUNBZ0lDQjJZWElnYUdGelZHbHRaVkpsYldGcGJtbHVaeUE5SUhSeWRXVTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJvWVhOTmIzSmxWMjl5YXlBOUlITmphR1ZrZFd4bFpFaHZjM1JEWVd4c1ltRmpheWhvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JqZFhKeVpXNTBWR2x0WlNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGb1lYTk5iM0psVjI5eWF5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdselRXVnpjMkZuWlV4dmIzQlNkVzV1YVc1bklEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdjMk5vWldSMWJHVmtTRzl6ZEVOaGJHeGlZV05ySUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkpaaUIwYUdWeVpTZHpJRzF2Y21VZ2QyOXlheXdnYzJOb1pXUjFiR1VnZEdobElHNWxlSFFnYldWemMyRm5aU0JsZG1WdWRDQmhkQ0IwYUdVZ1pXNWtYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2IyWWdkR2hsSUhCeVpXTmxaR2x1WnlCdmJtVXVYRzRnSUNBZ0lDQWdJQ0FnY0c5eWRDNXdiM04wVFdWemMyRm5aU2h1ZFd4c0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdMeThnU1dZZ1lTQnpZMmhsWkhWc1pYSWdkR0Z6YXlCMGFISnZkM01zSUdWNGFYUWdkR2hsSUdOMWNuSmxiblFnWW5KdmQzTmxjaUIwWVhOcklITnZJSFJvWlZ4dUlDQWdJQ0FnSUNBdkx5Qmxjbkp2Y2lCallXNGdZbVVnYjJKelpYSjJaV1F1WEc0Z0lDQWdJQ0FnSUhCdmNuUXVjRzl6ZEUxbGMzTmhaMlVvYm5Wc2JDazdYRzRnSUNBZ0lDQWdJSFJvY205M0lHVnljbTl5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBjMDFsYzNOaFoyVk1iMjl3VW5WdWJtbHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lIMGdMeThnV1dsbGJHUnBibWNnZEc4Z2RHaGxJR0p5YjNkelpYSWdkMmxzYkNCbmFYWmxJR2wwSUdFZ1kyaGhibU5sSUhSdklIQmhhVzUwTENCemJ5QjNaU0JqWVc1Y2JpQWdmVHRjYmx4dUlDQjJZWElnWTJoaGJtNWxiQ0E5SUc1bGR5Qk5aWE56WVdkbFEyaGhibTVsYkNncE8xeHVJQ0IyWVhJZ2NHOXlkQ0E5SUdOb1lXNXVaV3d1Y0c5eWRESTdYRzRnSUdOb1lXNXVaV3d1Y0c5eWRERXViMjV0WlhOellXZGxJRDBnY0dWeVptOXliVmR2Y210VmJuUnBiRVJsWVdSc2FXNWxPMXh1WEc0Z0lISmxjWFZsYzNSSWIzTjBRMkZzYkdKaFkyc2dQU0JtZFc1amRHbHZiaUFvWTJGc2JHSmhZMnNwSUh0Y2JpQWdJQ0J6WTJobFpIVnNaV1JJYjNOMFEyRnNiR0poWTJzZ1BTQmpZV3hzWW1GamF6dGNibHh1SUNBZ0lHbG1JQ2doYVhOTlpYTnpZV2RsVEc5dmNGSjFibTVwYm1jcElIdGNiaUFnSUNBZ0lHbHpUV1Z6YzJGblpVeHZiM0JTZFc1dWFXNW5JRDBnZEhKMVpUdGNiaUFnSUNBZ0lIQnZjblF1Y0c5emRFMWxjM05oWjJVb2JuVnNiQ2s3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUhKbGNYVmxjM1JJYjNOMFZHbHRaVzkxZENBOUlHWjFibU4wYVc5dUlDaGpZV3hzWW1GamF5d2diWE1wSUh0Y2JpQWdJQ0IwWVhOclZHbHRaVzkxZEVsRUlEMGdYM05sZEZScGJXVnZkWFFvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1kyRnNiR0poWTJzb1pYaHdiM0owY3k1MWJuTjBZV0pzWlY5dWIzY29LU2s3WEc0Z0lDQWdmU3dnYlhNcE8xeHVJQ0I5TzF4dVhHNGdJR05oYm1ObGJFaHZjM1JVYVcxbGIzVjBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUY5amJHVmhjbFJwYldWdmRYUW9kR0Z6YTFScGJXVnZkWFJKUkNrN1hHNWNiaUFnSUNCMFlYTnJWR2x0Wlc5MWRFbEVJRDBnTFRFN1hHNGdJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEIxYzJnb2FHVmhjQ3dnYm05a1pTa2dlMXh1SUNCMllYSWdhVzVrWlhnZ1BTQm9aV0Z3TG14bGJtZDBhRHRjYmlBZ2FHVmhjQzV3ZFhOb0tHNXZaR1VwTzF4dUlDQnphV1owVlhBb2FHVmhjQ3dnYm05a1pTd2dhVzVrWlhncE8xeHVmVnh1Wm5WdVkzUnBiMjRnY0dWbGF5aG9aV0Z3S1NCN1hHNGdJSFpoY2lCbWFYSnpkQ0E5SUdobFlYQmJNRjA3WEc0Z0lISmxkSFZ5YmlCbWFYSnpkQ0E5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHWnBjbk4wTzF4dWZWeHVablZ1WTNScGIyNGdjRzl3S0dobFlYQXBJSHRjYmlBZ2RtRnlJR1pwY25OMElEMGdhR1ZoY0Zzd1hUdGNibHh1SUNCcFppQW9abWx5YzNRZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJSFpoY2lCc1lYTjBJRDBnYUdWaGNDNXdiM0FvS1R0Y2JseHVJQ0FnSUdsbUlDaHNZWE4wSUNFOVBTQm1hWEp6ZENrZ2UxeHVJQ0FnSUNBZ2FHVmhjRnN3WFNBOUlHeGhjM1E3WEc0Z0lDQWdJQ0J6YVdaMFJHOTNiaWhvWldGd0xDQnNZWE4wTENBd0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWm1seWMzUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2MybG1kRlZ3S0dobFlYQXNJRzV2WkdVc0lHa3BJSHRjYmlBZ2RtRnlJR2x1WkdWNElEMGdhVHRjYmx4dUlDQjNhR2xzWlNBb2RISjFaU2tnZTF4dUlDQWdJSFpoY2lCd1lYSmxiblJKYm1SbGVDQTlJR2x1WkdWNElDMGdNU0ErUGo0Z01UdGNiaUFnSUNCMllYSWdjR0Z5Wlc1MElEMGdhR1ZoY0Z0d1lYSmxiblJKYm1SbGVGMDdYRzVjYmlBZ0lDQnBaaUFvY0dGeVpXNTBJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdZMjl0Y0dGeVpTaHdZWEpsYm5Rc0lHNXZaR1VwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdMeThnVkdobElIQmhjbVZ1ZENCcGN5QnNZWEpuWlhJdUlGTjNZWEFnY0c5emFYUnBiMjV6TGx4dUlDQWdJQ0FnYUdWaGNGdHdZWEpsYm5SSmJtUmxlRjBnUFNCdWIyUmxPMXh1SUNBZ0lDQWdhR1ZoY0Z0cGJtUmxlRjBnUFNCd1lYSmxiblE3WEc0Z0lDQWdJQ0JwYm1SbGVDQTlJSEJoY21WdWRFbHVaR1Y0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVYUdVZ2NHRnlaVzUwSUdseklITnRZV3hzWlhJdUlFVjRhWFF1WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSE5wWm5SRWIzZHVLR2hsWVhBc0lHNXZaR1VzSUdrcElIdGNiaUFnZG1GeUlHbHVaR1Y0SUQwZ2FUdGNiaUFnZG1GeUlHeGxibWQwYUNBOUlHaGxZWEF1YkdWdVozUm9PMXh1WEc0Z0lIZG9hV3hsSUNocGJtUmxlQ0E4SUd4bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCc1pXWjBTVzVrWlhnZ1BTQW9hVzVrWlhnZ0t5QXhLU0FxSURJZ0xTQXhPMXh1SUNBZ0lIWmhjaUJzWldaMElEMGdhR1ZoY0Z0c1pXWjBTVzVrWlhoZE8xeHVJQ0FnSUhaaGNpQnlhV2RvZEVsdVpHVjRJRDBnYkdWbWRFbHVaR1Y0SUNzZ01UdGNiaUFnSUNCMllYSWdjbWxuYUhRZ1BTQm9aV0Z3VzNKcFoyaDBTVzVrWlhoZE95QXZMeUJKWmlCMGFHVWdiR1ZtZENCdmNpQnlhV2RvZENCdWIyUmxJR2x6SUhOdFlXeHNaWElzSUhOM1lYQWdkMmwwYUNCMGFHVWdjMjFoYkd4bGNpQnZaaUIwYUc5elpTNWNibHh1SUNBZ0lHbG1JQ2hzWldaMElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ1kyOXRjR0Z5WlNoc1pXWjBMQ0J1YjJSbEtTQThJREFwSUh0Y2JpQWdJQ0FnSUdsbUlDaHlhV2RvZENBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUdOdmJYQmhjbVVvY21sbmFIUXNJR3hsWm5RcElEd2dNQ2tnZTF4dUlDQWdJQ0FnSUNCb1pXRndXMmx1WkdWNFhTQTlJSEpwWjJoME8xeHVJQ0FnSUNBZ0lDQm9aV0Z3VzNKcFoyaDBTVzVrWlhoZElEMGdibTlrWlR0Y2JpQWdJQ0FnSUNBZ2FXNWtaWGdnUFNCeWFXZG9kRWx1WkdWNE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FHVmhjRnRwYm1SbGVGMGdQU0JzWldaME8xeHVJQ0FnSUNBZ0lDQm9aV0Z3VzJ4bFpuUkpibVJsZUYwZ1BTQnViMlJsTzF4dUlDQWdJQ0FnSUNCcGJtUmxlQ0E5SUd4bFpuUkpibVJsZUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hKcFoyaDBJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdZMjl0Y0dGeVpTaHlhV2RvZEN3Z2JtOWtaU2tnUENBd0tTQjdYRzRnSUNBZ0lDQm9aV0Z3VzJsdVpHVjRYU0E5SUhKcFoyaDBPMXh1SUNBZ0lDQWdhR1ZoY0Z0eWFXZG9kRWx1WkdWNFhTQTlJRzV2WkdVN1hHNGdJQ0FnSUNCcGJtUmxlQ0E5SUhKcFoyaDBTVzVrWlhnN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUU1bGFYUm9aWElnWTJocGJHUWdhWE1nYzIxaGJHeGxjaTRnUlhocGRDNWNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyOXRjR0Z5WlNoaExDQmlLU0I3WEc0Z0lDOHZJRU52YlhCaGNtVWdjMjl5ZENCcGJtUmxlQ0JtYVhKemRDd2dkR2hsYmlCMFlYTnJJR2xrTGx4dUlDQjJZWElnWkdsbVppQTlJR0V1YzI5eWRFbHVaR1Y0SUMwZ1lpNXpiM0owU1c1a1pYZzdYRzRnSUhKbGRIVnliaUJrYVdabUlDRTlQU0F3SUQ4Z1pHbG1aaUE2SUdFdWFXUWdMU0JpTG1sa08xeHVmVnh1WEc0dkx5QlVUMFJQT2lCVmMyVWdjM2x0WW05c2N6OWNiblpoY2lCT2IxQnlhVzl5YVhSNUlEMGdNRHRjYm5aaGNpQkpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTQTlJREU3WEc1MllYSWdWWE5sY2tKc2IyTnJhVzVuVUhKcGIzSnBkSGtnUFNBeU8xeHVkbUZ5SUU1dmNtMWhiRkJ5YVc5eWFYUjVJRDBnTXp0Y2JuWmhjaUJNYjNkUWNtbHZjbWwwZVNBOUlEUTdYRzUyWVhJZ1NXUnNaVkJ5YVc5eWFYUjVJRDBnTlR0Y2JseHVkbUZ5SUhKMWJrbGtRMjkxYm5SbGNpQTlJREE3WEc1MllYSWdiV0ZwYmxSb2NtVmhaRWxrUTI5MWJuUmxjaUE5SURBN1hHNTJZWElnY0hKdlptbHNhVzVuVTNSaGRHVlRhWHBsSUQwZ05EdGNiblpoY2lCemFHRnlaV1JRY205bWFXeHBibWRDZFdabVpYSWdQU0FnTHk4Z0pFWnNiM2RHYVhoTlpTQkdiRzkzSUdSdlpYTnVKM1FnYTI1dmR5QmhZbTkxZENCVGFHRnlaV1JCY25KaGVVSjFabVpsY2x4dWRIbHdaVzltSUZOb1lYSmxaRUZ5Y21GNVFuVm1abVZ5SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnYm1WM0lGTm9ZWEpsWkVGeWNtRjVRblZtWm1WeUtIQnliMlpwYkdsdVoxTjBZWFJsVTJsNlpTQXFJRWx1ZERNeVFYSnlZWGt1UWxsVVJWTmZVRVZTWDBWTVJVMUZUbFFwSURvZ0x5OGdKRVpzYjNkR2FYaE5aU0JHYkc5M0lHUnZaWE51SjNRZ2EyNXZkeUJoWW05MWRDQkJjbkpoZVVKMVptWmxjbHh1ZEhsd1pXOW1JRUZ5Y21GNVFuVm1abVZ5SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnYm1WM0lFRnljbUY1UW5WbVptVnlLSEJ5YjJacGJHbHVaMU4wWVhSbFUybDZaU0FxSUVsdWRETXlRWEp5WVhrdVFsbFVSVk5mVUVWU1gwVk1SVTFGVGxRcElEb2diblZzYkNBdkx5QkViMjRuZENCamNtRnphQ0IwYUdVZ2FXNXBkQ0J3WVhSb0lHOXVJRWxGT1Z4dU8xeHVkbUZ5SUhCeWIyWnBiR2x1WjFOMFlYUmxJRDBnSUhOb1lYSmxaRkJ5YjJacGJHbHVaMEoxWm1abGNpQWhQVDBnYm5Wc2JDQS9JRzVsZHlCSmJuUXpNa0Z5Y21GNUtITm9ZWEpsWkZCeWIyWnBiR2x1WjBKMVptWmxjaWtnT2lCYlhUc2dMeThnVjJVZ1kyRnVKM1FnY21WaFpDQjBhR2x6SUdKMWRDQnBkQ0JvWld4d2N5QnpZWFpsSUdKNWRHVnpJR1p2Y2lCdWRXeHNJR05vWldOcmMxeHVYRzUyWVhJZ1VGSkpUMUpKVkZrZ1BTQXdPMXh1ZG1GeUlFTlZVbEpGVGxSZlZFRlRTMTlKUkNBOUlERTdYRzUyWVhJZ1ExVlNVa1ZPVkY5U1ZVNWZTVVFnUFNBeU8xeHVkbUZ5SUZGVlJWVkZYMU5KV2tVZ1BTQXpPMXh1WEc1N1hHNGdJSEJ5YjJacGJHbHVaMU4wWVhSbFcxQlNTVTlTU1ZSWlhTQTlJRTV2VUhKcGIzSnBkSGs3SUM4dklGUm9hWE1nYVhNZ2JXRnBiblJoYVc1bFpDQjNhWFJvSUdFZ1kyOTFiblJsY2l3Z1ltVmpZWFZ6WlNCMGFHVWdjMmw2WlNCdlppQjBhR1VnY0hKcGIzSnBkSGtnY1hWbGRXVmNiaUFnTHk4Z1lYSnlZWGtnYldsbmFIUWdhVzVqYkhWa1pTQmpZVzVqWld4bFpDQjBZWE5yY3k1Y2JseHVJQ0J3Y205bWFXeHBibWRUZEdGMFpWdFJWVVZWUlY5VFNWcEZYU0E5SURBN1hHNGdJSEJ5YjJacGJHbHVaMU4wWVhSbFcwTlZVbEpGVGxSZlZFRlRTMTlKUkYwZ1BTQXdPMXh1ZlNBdkx5QkNlWFJsY3lCd1pYSWdaV3hsYldWdWRDQnBjeUEwWEc1Y2JseHVkbUZ5SUVsT1NWUkpRVXhmUlZaRlRsUmZURTlIWDFOSldrVWdQU0F4TXpFd056STdYRzUyWVhJZ1RVRllYMFZXUlU1VVgweFBSMTlUU1ZwRklEMGdOVEkwTWpnNE95QXZMeUJGY1hWcGRtRnNaVzUwSUhSdklESWdiV1ZuWVdKNWRHVnpYRzVjYm5aaGNpQmxkbVZ1ZEV4dloxTnBlbVVnUFNBd08xeHVkbUZ5SUdWMlpXNTBURzluUW5WbVptVnlJRDBnYm5Wc2JEdGNiblpoY2lCbGRtVnVkRXh2WnlBOUlHNTFiR3c3WEc1MllYSWdaWFpsYm5STWIyZEpibVJsZUNBOUlEQTdYRzUyWVhJZ1ZHRnphMU4wWVhKMFJYWmxiblFnUFNBeE8xeHVkbUZ5SUZSaGMydERiMjF3YkdWMFpVVjJaVzUwSUQwZ01qdGNiblpoY2lCVVlYTnJSWEp5YjNKRmRtVnVkQ0E5SURNN1hHNTJZWElnVkdGemEwTmhibU5sYkVWMlpXNTBJRDBnTkR0Y2JuWmhjaUJVWVhOclVuVnVSWFpsYm5RZ1BTQTFPMXh1ZG1GeUlGUmhjMnRaYVdWc1pFVjJaVzUwSUQwZ05qdGNiblpoY2lCVFkyaGxaSFZzWlhKVGRYTndaVzVrUlhabGJuUWdQU0EzTzF4dWRtRnlJRk5qYUdWa2RXeGxjbEpsYzNWdFpVVjJaVzUwSUQwZ09EdGNibHh1Wm5WdVkzUnBiMjRnYkc5blJYWmxiblFvWlc1MGNtbGxjeWtnZTF4dUlDQnBaaUFvWlhabGJuUk1iMmNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0IyWVhJZ2IyWm1jMlYwSUQwZ1pYWmxiblJNYjJkSmJtUmxlRHRjYmlBZ0lDQmxkbVZ1ZEV4dlowbHVaR1Y0SUNzOUlHVnVkSEpwWlhNdWJHVnVaM1JvTzF4dVhHNGdJQ0FnYVdZZ0tHVjJaVzUwVEc5blNXNWtaWGdnS3lBeElENGdaWFpsYm5STWIyZFRhWHBsS1NCN1hHNGdJQ0FnSUNCbGRtVnVkRXh2WjFOcGVtVWdLajBnTWp0Y2JseHVJQ0FnSUNBZ2FXWWdLR1YyWlc1MFRHOW5VMmw2WlNBK0lFMUJXRjlGVmtWT1ZGOU1UMGRmVTBsYVJTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVmMybHVaeUJqYjI1emIyeGxXeWRsY25KdmNpZGRJSFJ2SUdWMllXUmxJRUpoWW1Wc0lHRnVaQ0JGVTB4cGJuUmNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pWc25aWEp5YjNJblhTaGNJbE5qYUdWa2RXeGxjaUJRY205bWFXeHBibWM2SUVWMlpXNTBJR3h2WnlCbGVHTmxaV1JsWkNCdFlYaHBiWFZ0SUhOcGVtVXVJRVJ2YmlkMElGd2lJQ3NnSjJadmNtZGxkQ0IwYnlCallXeHNJR0J6ZEc5d1RHOW5aMmx1WjFCeWIyWnBiR2x1WjBWMlpXNTBjeWdwWUM0bktUdGNiaUFnSUNBZ0lDQWdjM1J2Y0V4dloyZHBibWRRY205bWFXeHBibWRGZG1WdWRITW9LVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IyWVhJZ2JtVjNSWFpsYm5STWIyY2dQU0J1WlhjZ1NXNTBNekpCY25KaGVTaGxkbVZ1ZEV4dloxTnBlbVVnS2lBMEtUdGNiaUFnSUNBZ0lHNWxkMFYyWlc1MFRHOW5Mbk5sZENobGRtVnVkRXh2WnlrN1hHNGdJQ0FnSUNCbGRtVnVkRXh2WjBKMVptWmxjaUE5SUc1bGQwVjJaVzUwVEc5bkxtSjFabVpsY2p0Y2JpQWdJQ0FnSUdWMlpXNTBURzluSUQwZ2JtVjNSWFpsYm5STWIyYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pYWmxiblJNYjJjdWMyVjBLR1Z1ZEhKcFpYTXNJRzltWm5ObGRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzNSaGNuUk1iMmRuYVc1blVISnZabWxzYVc1blJYWmxiblJ6S0NrZ2UxeHVJQ0JsZG1WdWRFeHZaMU5wZW1VZ1BTQkpUa2xVU1VGTVgwVldSVTVVWDB4UFIxOVRTVnBGTzF4dUlDQmxkbVZ1ZEV4dlowSjFabVpsY2lBOUlHNWxkeUJCY25KaGVVSjFabVpsY2lobGRtVnVkRXh2WjFOcGVtVWdLaUEwS1R0Y2JpQWdaWFpsYm5STWIyY2dQU0J1WlhjZ1NXNTBNekpCY25KaGVTaGxkbVZ1ZEV4dlowSjFabVpsY2lrN1hHNGdJR1YyWlc1MFRHOW5TVzVrWlhnZ1BTQXdPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2MzUnZjRXh2WjJkcGJtZFFjbTltYVd4cGJtZEZkbVZ1ZEhNb0tTQjdYRzRnSUhaaGNpQmlkV1ptWlhJZ1BTQmxkbVZ1ZEV4dlowSjFabVpsY2p0Y2JpQWdaWFpsYm5STWIyZFRhWHBsSUQwZ01EdGNiaUFnWlhabGJuUk1iMmRDZFdabVpYSWdQU0J1ZFd4c08xeHVJQ0JsZG1WdWRFeHZaeUE5SUc1MWJHdzdYRzRnSUdWMlpXNTBURzluU1c1a1pYZ2dQU0F3TzF4dUlDQnlaWFIxY200Z1luVm1abVZ5TzF4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTFSaGMydFRkR0Z5ZENoMFlYTnJMQ0J0Y3lrZ2UxeHVJQ0I3WEc0Z0lDQWdjSEp2Wm1sc2FXNW5VM1JoZEdWYlVWVkZWVVZmVTBsYVJWMHJLenRjYmx4dUlDQWdJR2xtSUNobGRtVnVkRXh2WnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdjR1Z5Wm05eWJXRnVZMlV1Ym05M0lISmxkSFZ5Ym5NZ1lTQm1iRzloZEN3Z2NtVndjbVZ6Wlc1MGFXNW5JRzFwYkd4cGMyVmpiMjVrY3k0Z1YyaGxiaUIwYUdWY2JpQWdJQ0FnSUM4dklHVjJaVzUwSUdseklHeHZaMmRsWkN3Z2FYUW5jeUJqYjJWeVkyVmtJSFJ2SUdGdUlHbHVkQzRnUTI5dWRtVnlkQ0IwYnlCdGFXTnliM05sWTI5dVpITWdkRzljYmlBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUdWNGRISmhJR1JsWjNKbFpYTWdiMllnY0hKbFkybHphVzl1TGx4dUlDQWdJQ0FnYkc5blJYWmxiblFvVzFSaGMydFRkR0Z5ZEVWMlpXNTBMQ0J0Y3lBcUlERXdNREFzSUhSaGMyc3VhV1FzSUhSaGMyc3VjSEpwYjNKcGRIbE1aWFpsYkYwcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2JXRnlhMVJoYzJ0RGIyMXdiR1YwWldRb2RHRnpheXdnYlhNcElIdGNiaUFnZTF4dUlDQWdJSEJ5YjJacGJHbHVaMU4wWVhSbFcxQlNTVTlTU1ZSWlhTQTlJRTV2VUhKcGIzSnBkSGs3WEc0Z0lDQWdjSEp2Wm1sc2FXNW5VM1JoZEdWYlExVlNVa1ZPVkY5VVFWTkxYMGxFWFNBOUlEQTdYRzRnSUNBZ2NISnZabWxzYVc1blUzUmhkR1ZiVVZWRlZVVmZVMGxhUlYwdExUdGNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRFeHZaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYkc5blJYWmxiblFvVzFSaGMydERiMjF3YkdWMFpVVjJaVzUwTENCdGN5QXFJREV3TURBc0lIUmhjMnN1YVdSZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRVWVhOclEyRnVZMlZzWldRb2RHRnpheXdnYlhNcElIdGNiaUFnZTF4dUlDQWdJSEJ5YjJacGJHbHVaMU4wWVhSbFcxRlZSVlZGWDFOSldrVmRMUzA3WEc1Y2JpQWdJQ0JwWmlBb1pYWmxiblJNYjJjZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHeHZaMFYyWlc1MEtGdFVZWE5yUTJGdVkyVnNSWFpsYm5Rc0lHMXpJQ29nTVRBd01Dd2dkR0Z6YXk1cFpGMHBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTFSaGMydEZjbkp2Y21Wa0tIUmhjMnNzSUcxektTQjdYRzRnSUh0Y2JpQWdJQ0J3Y205bWFXeHBibWRUZEdGMFpWdFFVa2xQVWtsVVdWMGdQU0JPYjFCeWFXOXlhWFI1TzF4dUlDQWdJSEJ5YjJacGJHbHVaMU4wWVhSbFcwTlZVbEpGVGxSZlZFRlRTMTlKUkYwZ1BTQXdPMXh1SUNBZ0lIQnliMlpwYkdsdVoxTjBZWFJsVzFGVlJWVkZYMU5KV2tWZExTMDdYRzVjYmlBZ0lDQnBaaUFvWlhabGJuUk1iMmNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUd4dlowVjJaVzUwS0Z0VVlYTnJSWEp5YjNKRmRtVnVkQ3dnYlhNZ0tpQXhNREF3TENCMFlYTnJMbWxrWFNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCdFlYSnJWR0Z6YTFKMWJpaDBZWE5yTENCdGN5a2dlMXh1SUNCN1hHNGdJQ0FnY25WdVNXUkRiM1Z1ZEdWeUt5czdYRzRnSUNBZ2NISnZabWxzYVc1blUzUmhkR1ZiVUZKSlQxSkpWRmxkSUQwZ2RHRnpheTV3Y21sdmNtbDBlVXhsZG1Wc08xeHVJQ0FnSUhCeWIyWnBiR2x1WjFOMFlYUmxXME5WVWxKRlRsUmZWRUZUUzE5SlJGMGdQU0IwWVhOckxtbGtPMXh1SUNBZ0lIQnliMlpwYkdsdVoxTjBZWFJsVzBOVlVsSkZUbFJmVWxWT1gwbEVYU0E5SUhKMWJrbGtRMjkxYm5SbGNqdGNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRFeHZaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYkc5blJYWmxiblFvVzFSaGMydFNkVzVGZG1WdWRDd2diWE1nS2lBeE1EQXdMQ0IwWVhOckxtbGtMQ0J5ZFc1SlpFTnZkVzUwWlhKZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRVWVhOcldXbGxiR1FvZEdGemF5d2diWE1wSUh0Y2JpQWdlMXh1SUNBZ0lIQnliMlpwYkdsdVoxTjBZWFJsVzFCU1NVOVNTVlJaWFNBOUlFNXZVSEpwYjNKcGRIazdYRzRnSUNBZ2NISnZabWxzYVc1blUzUmhkR1ZiUTFWU1VrVk9WRjlVUVZOTFgwbEVYU0E5SURBN1hHNGdJQ0FnY0hKdlptbHNhVzVuVTNSaGRHVmJRMVZTVWtWT1ZGOVNWVTVmU1VSZElEMGdNRHRjYmx4dUlDQWdJR2xtSUNobGRtVnVkRXh2WnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2JHOW5SWFpsYm5Rb1cxUmhjMnRaYVdWc1pFVjJaVzUwTENCdGN5QXFJREV3TURBc0lIUmhjMnN1YVdRc0lISjFia2xrUTI5MWJuUmxjbDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYldGeWExTmphR1ZrZFd4bGNsTjFjM0JsYm1SbFpDaHRjeWtnZTF4dUlDQjdYRzRnSUNBZ2JXRnBibFJvY21WaFpFbGtRMjkxYm5SbGNpc3JPMXh1WEc0Z0lDQWdhV1lnS0dWMlpXNTBURzluSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCc2IyZEZkbVZ1ZENoYlUyTm9aV1IxYkdWeVUzVnpjR1Z1WkVWMlpXNTBMQ0J0Y3lBcUlERXdNREFzSUcxaGFXNVVhSEpsWVdSSlpFTnZkVzUwWlhKZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRUWTJobFpIVnNaWEpWYm5OMWMzQmxibVJsWkNodGN5a2dlMXh1SUNCN1hHNGdJQ0FnYVdZZ0tHVjJaVzUwVEc5bklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnNiMmRGZG1WdWRDaGJVMk5vWldSMWJHVnlVbVZ6ZFcxbFJYWmxiblFzSUcxeklDb2dNVEF3TUN3Z2JXRnBibFJvY21WaFpFbGtRMjkxYm5SbGNsMHBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzR2S2lCbGMyeHBiblF0WkdsellXSnNaU0J1YnkxMllYSWdLaTljYmk4dklFMWhkR2d1Y0c5M0tESXNJRE13S1NBdElERmNiaTh2SURCaU1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhYRzVjYm5aaGNpQnRZWGhUYVdkdVpXUXpNVUpwZEVsdWRDQTlJREV3TnpNM05ERTRNak03SUM4dklGUnBiV1Z6SUc5MWRDQnBiVzFsWkdsaGRHVnNlVnh1WEc1MllYSWdTVTFOUlVSSlFWUkZYMUJTU1U5U1NWUlpYMVJKVFVWUFZWUWdQU0F0TVRzZ0x5OGdSWFpsYm5SMVlXeHNlU0IwYVcxbGN5QnZkWFJjYmx4dWRtRnlJRlZUUlZKZlFreFBRMHRKVGtkZlVGSkpUMUpKVkZrZ1BTQXlOVEE3WEc1MllYSWdUazlTVFVGTVgxQlNTVTlTU1ZSWlgxUkpUVVZQVlZRZ1BTQTFNREF3TzF4dWRtRnlJRXhQVjE5UVVrbFBVa2xVV1Y5VVNVMUZUMVZVSUQwZ01UQXdNREE3SUM4dklFNWxkbVZ5SUhScGJXVnpJRzkxZEZ4dVhHNTJZWElnU1VSTVJWOVFVa2xQVWtsVVdTQTlJRzFoZUZOcFoyNWxaRE14UW1sMFNXNTBPeUF2THlCVVlYTnJjeUJoY21VZ2MzUnZjbVZrSUc5dUlHRWdiV2x1SUdobFlYQmNibHh1ZG1GeUlIUmhjMnRSZFdWMVpTQTlJRnRkTzF4dWRtRnlJSFJwYldWeVVYVmxkV1VnUFNCYlhUc2dMeThnU1c1amNtVnRaVzUwYVc1bklHbGtJR052ZFc1MFpYSXVJRlZ6WldRZ2RHOGdiV0ZwYm5SaGFXNGdhVzV6WlhKMGFXOXVJRzl5WkdWeUxseHVYRzUyWVhJZ2RHRnphMGxrUTI5MWJuUmxjaUE5SURFN0lDOHZJRkJoZFhOcGJtY2dkR2hsSUhOamFHVmtkV3hsY2lCcGN5QjFjMlZtZFd3Z1ptOXlJR1JsWW5WbloybHVaeTVjYm5aaGNpQmpkWEp5Wlc1MFZHRnpheUE5SUc1MWJHdzdYRzUyWVhJZ1kzVnljbVZ1ZEZCeWFXOXlhWFI1VEdWMlpXd2dQU0JPYjNKdFlXeFFjbWx2Y21sMGVUc2dMeThnVkdocGN5QnBjeUJ6WlhRZ2QyaHBiR1VnY0dWeVptOXliV2x1WnlCM2IzSnJMQ0IwYnlCd2NtVjJaVzUwSUhKbExXVnVkSEpoYm1ONUxseHVYRzUyWVhJZ2FYTlFaWEptYjNKdGFXNW5WMjl5YXlBOUlHWmhiSE5sTzF4dWRtRnlJR2x6U0c5emRFTmhiR3hpWVdOclUyTm9aV1IxYkdWa0lEMGdabUZzYzJVN1hHNTJZWElnYVhOSWIzTjBWR2x0Wlc5MWRGTmphR1ZrZFd4bFpDQTlJR1poYkhObE8xeHVYRzVtZFc1amRHbHZiaUJoWkhaaGJtTmxWR2x0WlhKektHTjFjbkpsYm5SVWFXMWxLU0I3WEc0Z0lDOHZJRU5vWldOcklHWnZjaUIwWVhOcmN5QjBhR0YwSUdGeVpTQnVieUJzYjI1blpYSWdaR1ZzWVhsbFpDQmhibVFnWVdSa0lIUm9aVzBnZEc4Z2RHaGxJSEYxWlhWbExseHVJQ0IyWVhJZ2RHbHRaWElnUFNCd1pXVnJLSFJwYldWeVVYVmxkV1VwTzF4dVhHNGdJSGRvYVd4bElDaDBhVzFsY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDaDBhVzFsY2k1allXeHNZbUZqYXlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdWR2x0WlhJZ2QyRnpJR05oYm1ObGJHeGxaQzVjYmlBZ0lDQWdJSEJ2Y0NoMGFXMWxjbEYxWlhWbEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUnBiV1Z5TG5OMFlYSjBWR2x0WlNBOFBTQmpkWEp5Wlc1MFZHbHRaU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHbHRaWElnWm1seVpXUXVJRlJ5WVc1elptVnlJSFJ2SUhSb1pTQjBZWE5ySUhGMVpYVmxMbHh1SUNBZ0lDQWdjRzl3S0hScGJXVnlVWFZsZFdVcE8xeHVJQ0FnSUNBZ2RHbHRaWEl1YzI5eWRFbHVaR1Y0SUQwZ2RHbHRaWEl1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ0lDQndkWE5vS0hSaGMydFJkV1YxWlN3Z2RHbHRaWElwTzF4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHMWhjbXRVWVhOclUzUmhjblFvZEdsdFpYSXNJR04xY25KbGJuUlVhVzFsS1R0Y2JpQWdJQ0FnSUNBZ2RHbHRaWEl1YVhOUmRXVjFaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QlNaVzFoYVc1cGJtY2dkR2x0WlhKeklHRnlaU0J3Wlc1a2FXNW5MbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhScGJXVnlJRDBnY0dWbGF5aDBhVzFsY2xGMVpYVmxLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCb1lXNWtiR1ZVYVcxbGIzVjBLR04xY25KbGJuUlVhVzFsS1NCN1hHNGdJR2x6U0c5emRGUnBiV1Z2ZFhSVFkyaGxaSFZzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdZV1IyWVc1alpWUnBiV1Z5Y3loamRYSnlaVzUwVkdsdFpTazdYRzVjYmlBZ2FXWWdLQ0ZwYzBodmMzUkRZV3hzWW1GamExTmphR1ZrZFd4bFpDa2dlMXh1SUNBZ0lHbG1JQ2h3WldWcktIUmhjMnRSZFdWMVpTa2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2x6U0c5emRFTmhiR3hpWVdOclUyTm9aV1IxYkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhKbGNYVmxjM1JJYjNOMFEyRnNiR0poWTJzb1pteDFjMmhYYjNKcktUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZG1GeUlHWnBjbk4wVkdsdFpYSWdQU0J3WldWcktIUnBiV1Z5VVhWbGRXVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1ptbHljM1JVYVcxbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhGMVpYTjBTRzl6ZEZScGJXVnZkWFFvYUdGdVpHeGxWR2x0Wlc5MWRDd2dabWx5YzNSVWFXMWxjaTV6ZEdGeWRGUnBiV1VnTFNCamRYSnlaVzUwVkdsdFpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pzZFhOb1YyOXlheWhvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JwYm1sMGFXRnNWR2x0WlNrZ2UxeHVJQ0I3WEc0Z0lDQWdiV0Z5YTFOamFHVmtkV3hsY2xWdWMzVnpjR1Z1WkdWa0tHbHVhWFJwWVd4VWFXMWxLVHRjYmlBZ2ZTQXZMeUJYWlNkc2JDQnVaV1ZrSUdFZ2FHOXpkQ0JqWVd4c1ltRmpheUIwYUdVZ2JtVjRkQ0IwYVcxbElIZHZjbXNnYVhNZ2MyTm9aV1IxYkdWa0xseHVYRzVjYmlBZ2FYTkliM04wUTJGc2JHSmhZMnRUWTJobFpIVnNaV1FnUFNCbVlXeHpaVHRjYmx4dUlDQnBaaUFvYVhOSWIzTjBWR2x0Wlc5MWRGTmphR1ZrZFd4bFpDa2dlMXh1SUNBZ0lDOHZJRmRsSUhOamFHVmtkV3hsWkNCaElIUnBiV1Z2ZFhRZ1luVjBJR2wwSjNNZ2JtOGdiRzl1WjJWeUlHNWxaV1JsWkM0Z1EyRnVZMlZzSUdsMExseHVJQ0FnSUdselNHOXpkRlJwYldWdmRYUlRZMmhsWkhWc1pXUWdQU0JtWVd4elpUdGNiaUFnSUNCallXNWpaV3hJYjNOMFZHbHRaVzkxZENncE8xeHVJQ0I5WEc1Y2JpQWdhWE5RWlhKbWIzSnRhVzVuVjI5eWF5QTlJSFJ5ZFdVN1hHNGdJSFpoY2lCd2NtVjJhVzkxYzFCeWFXOXlhWFI1VEdWMlpXd2dQU0JqZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkR0Y2JseHVJQ0IwY25rZ2UxeHVJQ0FnSUdsbUlDaGxibUZpYkdWUWNtOW1hV3hwYm1jcElIdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIzYjNKclRHOXZjQ2hvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JwYm1sMGFXRnNWR2x0WlNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZM1Z5Y21WdWRGUmhjMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQmxlSEJ2Y25SekxuVnVjM1JoWW14bFgyNXZkeWdwTzF4dUlDQWdJQ0FnSUNBZ0lHMWhjbXRVWVhOclJYSnliM0psWkNoamRYSnlaVzUwVkdGemF5d2dZM1Z5Y21WdWRGUnBiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5SVVlYTnJMbWx6VVhWbGRXVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCMGFISnZkeUJsY25KdmNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnTHk4Z1RtOGdZMkYwWTJnZ2FXNGdjSEp2WkNCamIyUmxjR0YwYUM1Y2JpQWdJQ0FnSUhKbGRIVnliaUIzYjNKclRHOXZjQ2hvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JwYm1sMGFXRnNWR2x0WlNrN1hHNGdJQ0FnZlZ4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lHTjFjbkpsYm5SVVlYTnJJRDBnYm5Wc2JEdGNiaUFnSUNCamRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJDQTlJSEJ5WlhacGIzVnpVSEpwYjNKcGRIbE1aWFpsYkR0Y2JpQWdJQ0JwYzFCbGNtWnZjbTFwYm1kWGIzSnJJRDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQjJZWElnWDJOMWNuSmxiblJVYVcxbElEMGdaWGh3YjNKMGN5NTFibk4wWVdKc1pWOXViM2NvS1R0Y2JseHVJQ0FnSUNBZ2JXRnlhMU5qYUdWa2RXeGxjbE4xYzNCbGJtUmxaQ2hmWTNWeWNtVnVkRlJwYldVcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjNiM0pyVEc5dmNDaG9ZWE5VYVcxbFVtVnRZV2x1YVc1bkxDQnBibWwwYVdGc1ZHbHRaU2tnZTF4dUlDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQnBibWwwYVdGc1ZHbHRaVHRjYmlBZ1lXUjJZVzVqWlZScGJXVnljeWhqZFhKeVpXNTBWR2x0WlNrN1hHNGdJR04xY25KbGJuUlVZWE5ySUQwZ2NHVmxheWgwWVhOclVYVmxkV1VwTzF4dVhHNGdJSGRvYVd4bElDaGpkWEp5Wlc1MFZHRnpheUFoUFQwZ2JuVnNiQ0FtSmlBaEtHVnVZV0pzWlZOamFHVmtkV3hsY2tSbFluVm5aMmx1WnlBcEtTQjdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUlVZWE5yTG1WNGNHbHlZWFJwYjI1VWFXMWxJRDRnWTNWeWNtVnVkRlJwYldVZ0ppWWdLQ0ZvWVhOVWFXMWxVbVZ0WVdsdWFXNW5JSHg4SUhOb2IzVnNaRmxwWld4a1ZHOUliM04wS0NrcEtTQjdYRzRnSUNBZ0lDQXZMeUJVYUdseklHTjFjbkpsYm5SVVlYTnJJR2hoYzI0bmRDQmxlSEJwY21Wa0xDQmhibVFnZDJVbmRtVWdjbVZoWTJobFpDQjBhR1VnWkdWaFpHeHBibVV1WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZMkZzYkdKaFkyc2dQU0JqZFhKeVpXNTBWR0Z6YXk1allXeHNZbUZqYXp0Y2JseHVJQ0FnSUdsbUlDaGpZV3hzWW1GamF5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRGUmhjMnN1WTJGc2JHSmhZMnNnUFNCdWRXeHNPMXh1SUNBZ0lDQWdZM1Z5Y21WdWRGQnlhVzl5YVhSNVRHVjJaV3dnUFNCamRYSnlaVzUwVkdGemF5NXdjbWx2Y21sMGVVeGxkbVZzTzF4dUlDQWdJQ0FnZG1GeUlHUnBaRlZ6WlhKRFlXeHNZbUZqYTFScGJXVnZkWFFnUFNCamRYSnlaVzUwVkdGemF5NWxlSEJwY21GMGFXOXVWR2x0WlNBOFBTQmpkWEp5Wlc1MFZHbHRaVHRjYmlBZ0lDQWdJRzFoY210VVlYTnJVblZ1S0dOMWNuSmxiblJVWVhOckxDQmpkWEp5Wlc1MFZHbHRaU2s3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXVkR2x1ZFdGMGFXOXVRMkZzYkdKaFkyc2dQU0JqWVd4c1ltRmpheWhrYVdSVmMyVnlRMkZzYkdKaFkydFVhVzFsYjNWMEtUdGNiaUFnSUNBZ0lHTjFjbkpsYm5SVWFXMWxJRDBnWlhod2IzSjBjeTUxYm5OMFlXSnNaVjl1YjNjb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1MGFXNTFZWFJwYjI1RFlXeHNZbUZqYXlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwVkdGemF5NWpZV3hzWW1GamF5QTlJR052Ym5ScGJuVmhkR2x2YmtOaGJHeGlZV05yTzF4dUlDQWdJQ0FnSUNCdFlYSnJWR0Z6YTFscFpXeGtLR04xY25KbGJuUlVZWE5yTENCamRYSnlaVzUwVkdsdFpTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYldGeWExUmhjMnREYjIxd2JHVjBaV1FvWTNWeWNtVnVkRlJoYzJzc0lHTjFjbkpsYm5SVWFXMWxLVHRjYmlBZ0lDQWdJQ0FnSUNCamRYSnlaVzUwVkdGemF5NXBjMUYxWlhWbFpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5SVVlYTnJJRDA5UFNCd1pXVnJLSFJoYzJ0UmRXVjFaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiM0FvZEdGemExRjFaWFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhaSFpoYm1ObFZHbHRaWEp6S0dOMWNuSmxiblJVYVcxbEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY0c5d0tIUmhjMnRSZFdWMVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kzVnljbVZ1ZEZSaGMyc2dQU0J3WldWcktIUmhjMnRSZFdWMVpTazdYRzRnSUgwZ0x5OGdVbVYwZFhKdUlIZG9aWFJvWlhJZ2RHaGxjbVVuY3lCaFpHUnBkR2x2Ym1Gc0lIZHZjbXRjYmx4dVhHNGdJR2xtSUNoamRYSnlaVzUwVkdGemF5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCbWFYSnpkRlJwYldWeUlEMGdjR1ZsYXloMGFXMWxjbEYxWlhWbEtUdGNibHh1SUNBZ0lHbG1JQ2htYVhKemRGUnBiV1Z5SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYRjFaWE4wU0c5emRGUnBiV1Z2ZFhRb2FHRnVaR3hsVkdsdFpXOTFkQ3dnWm1seWMzUlVhVzFsY2k1emRHRnlkRlJwYldVZ0xTQmpkWEp5Wlc1MFZHbHRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgzSjFibGRwZEdoUWNtbHZjbWwwZVNod2NtbHZjbWwwZVV4bGRtVnNMQ0JsZG1WdWRFaGhibVJzWlhJcElIdGNiaUFnYzNkcGRHTm9JQ2h3Y21sdmNtbDBlVXhsZG1Wc0tTQjdYRzRnSUNBZ1kyRnpaU0JKYlcxbFpHbGhkR1ZRY21sdmNtbDBlVHBjYmlBZ0lDQmpZWE5sSUZWelpYSkNiRzlqYTJsdVoxQnlhVzl5YVhSNU9seHVJQ0FnSUdOaGMyVWdUbTl5YldGc1VISnBiM0pwZEhrNlhHNGdJQ0FnWTJGelpTQk1iM2RRY21sdmNtbDBlVHBjYmlBZ0lDQmpZWE5sSUVsa2JHVlFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEJ5YVc5eWFYUjVUR1YyWld3Z1BTQk9iM0p0WVd4UWNtbHZjbWwwZVR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21WMmFXOTFjMUJ5YVc5eWFYUjVUR1YyWld3Z1BTQmpkWEp5Wlc1MFVISnBiM0pwZEhsTVpYWmxiRHRjYmlBZ1kzVnljbVZ1ZEZCeWFXOXlhWFI1VEdWMlpXd2dQU0J3Y21sdmNtbDBlVXhsZG1Wc08xeHVYRzRnSUhSeWVTQjdYRzRnSUNBZ2NtVjBkWEp1SUdWMlpXNTBTR0Z1Wkd4bGNpZ3BPMXh1SUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUdOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0lEMGdjSEpsZG1sdmRYTlFjbWx2Y21sMGVVeGxkbVZzTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgyNWxlSFFvWlhabGJuUklZVzVrYkdWeUtTQjdYRzRnSUhaaGNpQndjbWx2Y21sMGVVeGxkbVZzTzF4dVhHNGdJSE4zYVhSamFDQW9ZM1Z5Y21WdWRGQnlhVzl5YVhSNVRHVjJaV3dwSUh0Y2JpQWdJQ0JqWVhObElFbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNU9seHVJQ0FnSUdOaGMyVWdWWE5sY2tKc2IyTnJhVzVuVUhKcGIzSnBkSGs2WEc0Z0lDQWdZMkZ6WlNCT2IzSnRZV3hRY21sdmNtbDBlVHBjYmlBZ0lDQWdJQzh2SUZOb2FXWjBJR1J2ZDI0Z2RHOGdibTl5YldGc0lIQnlhVzl5YVhSNVhHNGdJQ0FnSUNCd2NtbHZjbWwwZVV4bGRtVnNJRDBnVG05eWJXRnNVSEpwYjNKcGRIazdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0F2THlCQmJubDBhR2x1WnlCc2IzZGxjaUIwYUdGdUlHNXZjbTFoYkNCd2NtbHZjbWwwZVNCemFHOTFiR1FnY21WdFlXbHVJR0YwSUhSb1pTQmpkWEp5Wlc1MElHeGxkbVZzTGx4dUlDQWdJQ0FnY0hKcGIzSnBkSGxNWlhabGJDQTlJR04xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NISmxkbWx2ZFhOUWNtbHZjbWwwZVV4bGRtVnNJRDBnWTNWeWNtVnVkRkJ5YVc5eWFYUjVUR1YyWld3N1hHNGdJR04xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzSUQwZ2NISnBiM0pwZEhsTVpYWmxiRHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQmxkbVZ1ZEVoaGJtUnNaWElvS1R0Y2JpQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQmpkWEp5Wlc1MFVISnBiM0pwZEhsTVpYWmxiQ0E5SUhCeVpYWnBiM1Z6VUhKcGIzSnBkSGxNWlhabGJEdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUIxYm5OMFlXSnNaVjkzY21Gd1EyRnNiR0poWTJzb1kyRnNiR0poWTJzcElIdGNiaUFnZG1GeUlIQmhjbVZ1ZEZCeWFXOXlhWFI1VEdWMlpXd2dQU0JqZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkR0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQXZMeUJVYUdseklHbHpJR0VnWm05eWF5QnZaaUJ5ZFc1WGFYUm9VSEpwYjNKcGRIa3NJR2x1YkdsdVpXUWdabTl5SUhCbGNtWnZjbTFoYm1ObExseHVJQ0FnSUhaaGNpQndjbVYyYVc5MWMxQnlhVzl5YVhSNVRHVjJaV3dnUFNCamRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJEdGNiaUFnSUNCamRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJDQTlJSEJoY21WdWRGQnlhVzl5YVhSNVRHVjJaV3c3WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOaGJHeGlZV05yTG1Gd2NHeDVLSFJvYVhNc0lHRnlaM1Z0Wlc1MGN5azdYRzRnSUNBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SUWNtbHZjbWwwZVV4bGRtVnNJRDBnY0hKbGRtbHZkWE5RY21sdmNtbDBlVXhsZG1Wc08xeHVJQ0FnSUgxY2JpQWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdkR2x0Wlc5MWRFWnZjbEJ5YVc5eWFYUjVUR1YyWld3b2NISnBiM0pwZEhsTVpYWmxiQ2tnZTF4dUlDQnpkMmwwWTJnZ0tIQnlhVzl5YVhSNVRHVjJaV3dwSUh0Y2JpQWdJQ0JqWVhObElFbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNU9seHVJQ0FnSUNBZ2NtVjBkWEp1SUVsTlRVVkVTVUZVUlY5UVVrbFBVa2xVV1Y5VVNVMUZUMVZVTzF4dVhHNGdJQ0FnWTJGelpTQlZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQlZVMFZTWDBKTVQwTkxTVTVIWDFCU1NVOVNTVlJaTzF4dVhHNGdJQ0FnWTJGelpTQkpaR3hsVUhKcGIzSnBkSGs2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdTVVJNUlY5UVVrbFBVa2xVV1R0Y2JseHVJQ0FnSUdOaGMyVWdURzkzVUhKcGIzSnBkSGs2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdURTlYWDFCU1NVOVNTVlJaWDFSSlRVVlBWVlE3WEc1Y2JpQWdJQ0JqWVhObElFNXZjbTFoYkZCeWFXOXlhWFI1T2x4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQnlaWFIxY200Z1RrOVNUVUZNWDFCU1NVOVNTVlJaWDFSSlRVVlBWVlE3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNXpkR0ZpYkdWZmMyTm9aV1IxYkdWRFlXeHNZbUZqYXlod2NtbHZjbWwwZVV4bGRtVnNMQ0JqWVd4c1ltRmpheXdnYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQmxlSEJ2Y25SekxuVnVjM1JoWW14bFgyNXZkeWdwTzF4dUlDQjJZWElnYzNSaGNuUlVhVzFsTzF4dUlDQjJZWElnZEdsdFpXOTFkRHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHOXdkR2x2Ym5NZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCMllYSWdaR1ZzWVhrZ1BTQnZjSFJwYjI1ekxtUmxiR0Y1TzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCa1pXeGhlU0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdaR1ZzWVhrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0J6ZEdGeWRGUnBiV1VnUFNCamRYSnlaVzUwVkdsdFpTQXJJR1JsYkdGNU8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J6ZEdGeWRGUnBiV1VnUFNCamRYSnlaVzUwVkdsdFpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFXMWxiM1YwSUQwZ2RIbHdaVzltSUc5d2RHbHZibk11ZEdsdFpXOTFkQ0E5UFQwZ0oyNTFiV0psY2ljZ1B5QnZjSFJwYjI1ekxuUnBiV1Z2ZFhRZ09pQjBhVzFsYjNWMFJtOXlVSEpwYjNKcGRIbE1aWFpsYkNod2NtbHZjbWwwZVV4bGRtVnNLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYVcxbGIzVjBJRDBnZEdsdFpXOTFkRVp2Y2xCeWFXOXlhWFI1VEdWMlpXd29jSEpwYjNKcGRIbE1aWFpsYkNrN1hHNGdJQ0FnYzNSaGNuUlVhVzFsSUQwZ1kzVnljbVZ1ZEZScGJXVTdYRzRnSUgxY2JseHVJQ0IyWVhJZ1pYaHdhWEpoZEdsdmJsUnBiV1VnUFNCemRHRnlkRlJwYldVZ0t5QjBhVzFsYjNWME8xeHVJQ0IyWVhJZ2JtVjNWR0Z6YXlBOUlIdGNiaUFnSUNCcFpEb2dkR0Z6YTBsa1EyOTFiblJsY2lzckxGeHVJQ0FnSUdOaGJHeGlZV05yT2lCallXeHNZbUZqYXl4Y2JpQWdJQ0J3Y21sdmNtbDBlVXhsZG1Wc09pQndjbWx2Y21sMGVVeGxkbVZzTEZ4dUlDQWdJSE4wWVhKMFZHbHRaVG9nYzNSaGNuUlVhVzFsTEZ4dUlDQWdJR1Y0Y0dseVlYUnBiMjVVYVcxbE9pQmxlSEJwY21GMGFXOXVWR2x0WlN4Y2JpQWdJQ0J6YjNKMFNXNWtaWGc2SUMweFhHNGdJSDA3WEc1Y2JpQWdlMXh1SUNBZ0lHNWxkMVJoYzJzdWFYTlJkV1YxWldRZ1BTQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h6ZEdGeWRGUnBiV1VnUGlCamRYSnlaVzUwVkdsdFpTa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2FYTWdZU0JrWld4aGVXVmtJSFJoYzJzdVhHNGdJQ0FnYm1WM1ZHRnpheTV6YjNKMFNXNWtaWGdnUFNCemRHRnlkRlJwYldVN1hHNGdJQ0FnY0hWemFDaDBhVzFsY2xGMVpYVmxMQ0J1WlhkVVlYTnJLVHRjYmx4dUlDQWdJR2xtSUNod1pXVnJLSFJoYzJ0UmRXVjFaU2tnUFQwOUlHNTFiR3dnSmlZZ2JtVjNWR0Z6YXlBOVBUMGdjR1ZsYXloMGFXMWxjbEYxWlhWbEtTa2dlMXh1SUNBZ0lDQWdMeThnUVd4c0lIUmhjMnR6SUdGeVpTQmtaV3hoZVdWa0xDQmhibVFnZEdocGN5QnBjeUIwYUdVZ2RHRnpheUIzYVhSb0lIUm9aU0JsWVhKc2FXVnpkQ0JrWld4aGVTNWNiaUFnSUNBZ0lHbG1JQ2hwYzBodmMzUlVhVzFsYjNWMFUyTm9aV1IxYkdWa0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUVOaGJtTmxiQ0JoYmlCbGVHbHpkR2x1WnlCMGFXMWxiM1YwTGx4dUlDQWdJQ0FnSUNCallXNWpaV3hJYjNOMFZHbHRaVzkxZENncE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FYTkliM04wVkdsdFpXOTFkRk5qYUdWa2RXeGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQjlJQzh2SUZOamFHVmtkV3hsSUdFZ2RHbHRaVzkxZEM1Y2JseHVYRzRnSUNBZ0lDQnlaWEYxWlhOMFNHOXpkRlJwYldWdmRYUW9hR0Z1Wkd4bFZHbHRaVzkxZEN3Z2MzUmhjblJVYVcxbElDMGdZM1Z5Y21WdWRGUnBiV1VwTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J1WlhkVVlYTnJMbk52Y25SSmJtUmxlQ0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lIQjFjMmdvZEdGemExRjFaWFZsTENCdVpYZFVZWE5yS1R0Y2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUcxaGNtdFVZWE5yVTNSaGNuUW9ibVYzVkdGemF5d2dZM1Z5Y21WdWRGUnBiV1VwTzF4dUlDQWdJQ0FnYm1WM1ZHRnpheTVwYzFGMVpYVmxaQ0E5SUhSeWRXVTdYRzRnSUNBZ2ZTQXZMeUJUWTJobFpIVnNaU0JoSUdodmMzUWdZMkZzYkdKaFkyc3NJR2xtSUc1bFpXUmxaQzRnU1dZZ2QyVW5jbVVnWVd4eVpXRmtlU0J3WlhKbWIzSnRhVzVuSUhkdmNtc3NYRzRnSUNBZ0x5OGdkMkZwZENCMWJuUnBiQ0IwYUdVZ2JtVjRkQ0IwYVcxbElIZGxJSGxwWld4a0xseHVYRzVjYmlBZ0lDQnBaaUFvSVdselNHOXpkRU5oYkd4aVlXTnJVMk5vWldSMWJHVmtJQ1ltSUNGcGMxQmxjbVp2Y20xcGJtZFhiM0pyS1NCN1hHNGdJQ0FnSUNCcGMwaHZjM1JEWVd4c1ltRmphMU5qYUdWa2RXeGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnlaWEYxWlhOMFNHOXpkRU5oYkd4aVlXTnJLR1pzZFhOb1YyOXlheWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZDFSaGMyczdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgzQmhkWE5sUlhobFkzVjBhVzl1S0NrZ2UxeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWJuTjBZV0pzWlY5amIyNTBhVzUxWlVWNFpXTjFkR2x2YmlncElIdGNibHh1SUNCcFppQW9JV2x6U0c5emRFTmhiR3hpWVdOclUyTm9aV1IxYkdWa0lDWW1JQ0ZwYzFCbGNtWnZjbTFwYm1kWGIzSnJLU0I3WEc0Z0lDQWdhWE5JYjNOMFEyRnNiR0poWTJ0VFkyaGxaSFZzWldRZ1BTQjBjblZsTzF4dUlDQWdJSEpsY1hWbGMzUkliM04wUTJGc2JHSmhZMnNvWm14MWMyaFhiM0pyS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFibk4wWVdKc1pWOW5aWFJHYVhKemRFTmhiR3hpWVdOclRtOWtaU2dwSUh0Y2JpQWdjbVYwZFhKdUlIQmxaV3NvZEdGemExRjFaWFZsS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1emRHRmliR1ZmWTJGdVkyVnNRMkZzYkdKaFkyc29kR0Z6YXlrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0hSaGMyc3VhWE5SZFdWMVpXUXBJSHRjYmlBZ0lDQWdJSFpoY2lCamRYSnlaVzUwVkdsdFpTQTlJR1Y0Y0c5eWRITXVkVzV6ZEdGaWJHVmZibTkzS0NrN1hHNGdJQ0FnSUNCdFlYSnJWR0Z6YTBOaGJtTmxiR1ZrS0hSaGMyc3NJR04xY25KbGJuUlVhVzFsS1R0Y2JpQWdJQ0FnSUhSaGMyc3VhWE5SZFdWMVpXUWdQU0JtWVd4elpUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1RuVnNiQ0J2ZFhRZ2RHaGxJR05oYkd4aVlXTnJJSFJ2SUdsdVpHbGpZWFJsSUhSb1pTQjBZWE5ySUdoaGN5QmlaV1Z1SUdOaGJtTmxiR1ZrTGlBb1EyRnVKM1JjYmlBZ0x5OGdjbVZ0YjNabElHWnliMjBnZEdobElIRjFaWFZsSUdKbFkyRjFjMlVnZVc5MUlHTmhiaWQwSUhKbGJXOTJaU0JoY21KcGRISmhjbmtnYm05a1pYTWdabkp2YlNCaGJseHVJQ0F2THlCaGNuSmhlU0JpWVhObFpDQm9aV0Z3TENCdmJteDVJSFJvWlNCbWFYSnpkQ0J2Ym1VdUtWeHVYRzVjYmlBZ2RHRnpheTVqWVd4c1ltRmpheUE5SUc1MWJHdzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgyZGxkRU4xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzS0NrZ2UxeHVJQ0J5WlhSMWNtNGdZM1Z5Y21WdWRGQnlhVzl5YVhSNVRHVjJaV3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ1YzNSaFlteGxYM05vYjNWc1pGbHBaV3hrS0NrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZScGJXVWdQU0JsZUhCdmNuUnpMblZ1YzNSaFlteGxYMjV2ZHlncE8xeHVJQ0JoWkhaaGJtTmxWR2x0WlhKektHTjFjbkpsYm5SVWFXMWxLVHRjYmlBZ2RtRnlJR1pwY25OMFZHRnpheUE5SUhCbFpXc29kR0Z6YTFGMVpYVmxLVHRjYmlBZ2NtVjBkWEp1SUdacGNuTjBWR0Z6YXlBaFBUMGdZM1Z5Y21WdWRGUmhjMnNnSmlZZ1kzVnljbVZ1ZEZSaGMyc2dJVDA5SUc1MWJHd2dKaVlnWm1seWMzUlVZWE5ySUNFOVBTQnVkV3hzSUNZbUlHWnBjbk4wVkdGemF5NWpZV3hzWW1GamF5QWhQVDBnYm5Wc2JDQW1KaUJtYVhKemRGUmhjMnN1YzNSaGNuUlVhVzFsSUR3OUlHTjFjbkpsYm5SVWFXMWxJQ1ltSUdacGNuTjBWR0Z6YXk1bGVIQnBjbUYwYVc5dVZHbHRaU0E4SUdOMWNuSmxiblJVWVhOckxtVjRjR2x5WVhScGIyNVVhVzFsSUh4OElITm9iM1ZzWkZscFpXeGtWRzlJYjNOMEtDazdYRzU5WEc1Y2JuWmhjaUIxYm5OMFlXSnNaVjl5WlhGMVpYTjBVR0ZwYm5RZ1BTQnlaWEYxWlhOMFVHRnBiblE3WEc1MllYSWdkVzV6ZEdGaWJHVmZVSEp2Wm1sc2FXNW5JRDBnSUh0Y2JpQWdjM1JoY25STWIyZG5hVzVuVUhKdlptbHNhVzVuUlhabGJuUnpPaUJ6ZEdGeWRFeHZaMmRwYm1kUWNtOW1hV3hwYm1kRmRtVnVkSE1zWEc0Z0lITjBiM0JNYjJkbmFXNW5VSEp2Wm1sc2FXNW5SWFpsYm5Sek9pQnpkRzl3VEc5bloybHVaMUJ5YjJacGJHbHVaMFYyWlc1MGN5eGNiaUFnYzJoaGNtVmtVSEp2Wm1sc2FXNW5RblZtWm1WeU9pQnphR0Z5WldSUWNtOW1hV3hwYm1kQ2RXWm1aWEpjYm4wZ08xeHVYRzVsZUhCdmNuUnpMblZ1YzNSaFlteGxYMGxrYkdWUWNtbHZjbWwwZVNBOUlFbGtiR1ZRY21sdmNtbDBlVHRjYm1WNGNHOXlkSE11ZFc1emRHRmliR1ZmU1cxdFpXUnBZWFJsVUhKcGIzSnBkSGtnUFNCSmJXMWxaR2xoZEdWUWNtbHZjbWwwZVR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZlRHOTNVSEpwYjNKcGRIa2dQU0JNYjNkUWNtbHZjbWwwZVR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZlRtOXliV0ZzVUhKcGIzSnBkSGtnUFNCT2IzSnRZV3hRY21sdmNtbDBlVHRjYm1WNGNHOXlkSE11ZFc1emRHRmliR1ZmVUhKdlptbHNhVzVuSUQwZ2RXNXpkR0ZpYkdWZlVISnZabWxzYVc1bk8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOVZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlU0E5SUZWelpYSkNiRzlqYTJsdVoxQnlhVzl5YVhSNU8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOWpZVzVqWld4RFlXeHNZbUZqYXlBOUlIVnVjM1JoWW14bFgyTmhibU5sYkVOaGJHeGlZV05yTzF4dVpYaHdiM0owY3k1MWJuTjBZV0pzWlY5amIyNTBhVzUxWlVWNFpXTjFkR2x2YmlBOUlIVnVjM1JoWW14bFgyTnZiblJwYm5WbFJYaGxZM1YwYVc5dU8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOW5aWFJEZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkNBOUlIVnVjM1JoWW14bFgyZGxkRU4xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzTzF4dVpYaHdiM0owY3k1MWJuTjBZV0pzWlY5blpYUkdhWEp6ZEVOaGJHeGlZV05yVG05a1pTQTlJSFZ1YzNSaFlteGxYMmRsZEVacGNuTjBRMkZzYkdKaFkydE9iMlJsTzF4dVpYaHdiM0owY3k1MWJuTjBZV0pzWlY5dVpYaDBJRDBnZFc1emRHRmliR1ZmYm1WNGREdGNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZjR0YxYzJWRmVHVmpkWFJwYjI0Z1BTQjFibk4wWVdKc1pWOXdZWFZ6WlVWNFpXTjFkR2x2Ymp0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmNtVnhkV1Z6ZEZCaGFXNTBJRDBnZFc1emRHRmliR1ZmY21WeGRXVnpkRkJoYVc1ME8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOXlkVzVYYVhSb1VISnBiM0pwZEhrZ1BTQjFibk4wWVdKc1pWOXlkVzVYYVhSb1VISnBiM0pwZEhrN1hHNWxlSEJ2Y25SekxuVnVjM1JoWW14bFgzTmphR1ZrZFd4bFEyRnNiR0poWTJzZ1BTQjFibk4wWVdKc1pWOXpZMmhsWkhWc1pVTmhiR3hpWVdOck8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOXphRzkxYkdSWmFXVnNaQ0E5SUhWdWMzUmhZbXhsWDNOb2IzVnNaRmxwWld4a08xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOTNjbUZ3UTJGc2JHSmhZMnNnUFNCMWJuTjBZV0pzWlY5M2NtRndRMkZzYkdKaFkyczdYRzRnSUgwcEtDazdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmlmIChmYWxzZSkge30gZWxzZSB7XFxuICBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanNcXFwiKTtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2YVc1a1pYZ3Vhbk0vWlRObVlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeEpRVUZKTEV0QlFYRkRMRVZCUVVVc1JVRkZNVU03UVVGRFJDeHRRa0ZCYlVJc2JVSkJRVThzUTBGQlF5dzJSa0ZCWjBNN1FVRkRNMFFpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjMk5vWldSMWJHVnlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1cFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnUFQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHZZMnB6TDNOamFHVmtkV3hsY2k1d2NtOWtkV04wYVc5dUxtMXBiaTVxY3ljcE8xeHVmU0JsYkhObElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJOcWN5OXpZMmhsWkhWc1pYSXVaR1YyWld4dmNHMWxiblF1YW5NbktUdGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmlmIChmYWxzZSkge30gZWxzZSB7XFxuICBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2pzL3NjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzXFxcIik7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5elkyaGxaSFZzWlhJdmRISmhZMmx1Wnk1cWN6ODFaV0psSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEVsQlFVa3NTMEZCY1VNc1JVRkJSU3hGUVVVeFF6dEJRVU5FTEcxQ1FVRnRRaXh0UWtGQlR5eERRVUZETERaSFFVRjNRenRCUVVOdVJTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5elkyaGxaSFZzWlhJdmRISmhZMmx1Wnk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1YVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJRDA5UFNBbmNISnZaSFZqZEdsdmJpY3BJSHRjYmlBZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCeVpYRjFhWEpsS0NjdUwyTnFjeTl6WTJobFpIVnNaWEl0ZEhKaFkybHVaeTV3Y205a2RXTjBhVzl1TG0xcGJpNXFjeWNwTzF4dWZTQmxiSE5sSUh0Y2JpQWdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQnlaWEYxYVhKbEtDY3VMMk5xY3k5elkyaGxaSFZzWlhJdGRISmhZMmx1Wnk1a1pYWmxiRzl3YldWdWRDNXFjeWNwTzF4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zZXRpbW1lZGlhdGUvc2V0SW1tZWRpYXRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7KGZ1bmN0aW9uIChnbG9iYWwsIHVuZGVmaW5lZCkge1xcbiAgICBcXFwidXNlIHN0cmljdFxcXCI7XFxuXFxuICAgIGlmIChnbG9iYWwuc2V0SW1tZWRpYXRlKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIG5leHRIYW5kbGUgPSAxOyAvLyBTcGVjIHNheXMgZ3JlYXRlciB0aGFuIHplcm9cXG4gICAgdmFyIHRhc2tzQnlIYW5kbGUgPSB7fTtcXG4gICAgdmFyIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IGZhbHNlO1xcbiAgICB2YXIgZG9jID0gZ2xvYmFsLmRvY3VtZW50O1xcbiAgICB2YXIgcmVnaXN0ZXJJbW1lZGlhdGU7XFxuXFxuICAgIGZ1bmN0aW9uIHNldEltbWVkaWF0ZShjYWxsYmFjaykge1xcbiAgICAgIC8vIENhbGxiYWNrIGNhbiBlaXRoZXIgYmUgYSBmdW5jdGlvbiBvciBhIHN0cmluZ1xcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09IFxcXCJmdW5jdGlvblxcXCIpIHtcXG4gICAgICAgIGNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKFxcXCJcXFwiICsgY2FsbGJhY2spO1xcbiAgICAgIH1cXG4gICAgICAvLyBDb3B5IGZ1bmN0aW9uIGFyZ3VtZW50c1xcbiAgICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpICsgMV07XFxuICAgICAgfVxcbiAgICAgIC8vIFN0b3JlIGFuZCByZWdpc3RlciB0aGUgdGFza1xcbiAgICAgIHZhciB0YXNrID0geyBjYWxsYmFjazogY2FsbGJhY2ssIGFyZ3M6IGFyZ3MgfTtcXG4gICAgICB0YXNrc0J5SGFuZGxlW25leHRIYW5kbGVdID0gdGFzaztcXG4gICAgICByZWdpc3RlckltbWVkaWF0ZShuZXh0SGFuZGxlKTtcXG4gICAgICByZXR1cm4gbmV4dEhhbmRsZSsrO1xcbiAgICB9XFxuXFxuICAgIGZ1bmN0aW9uIGNsZWFySW1tZWRpYXRlKGhhbmRsZSkge1xcbiAgICAgICAgZGVsZXRlIHRhc2tzQnlIYW5kbGVbaGFuZGxlXTtcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBydW4odGFzaykge1xcbiAgICAgICAgdmFyIGNhbGxiYWNrID0gdGFzay5jYWxsYmFjaztcXG4gICAgICAgIHZhciBhcmdzID0gdGFzay5hcmdzO1xcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xcbiAgICAgICAgY2FzZSAwOlxcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBjYXNlIDE6XFxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBjYXNlIDI6XFxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBjYXNlIDM6XFxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgIGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gcnVuSWZQcmVzZW50KGhhbmRsZSkge1xcbiAgICAgICAgLy8gRnJvbSB0aGUgc3BlYzogXFxcIldhaXQgdW50aWwgYW55IGludm9jYXRpb25zIG9mIHRoaXMgYWxnb3JpdGhtIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgb25lIGhhdmUgY29tcGxldGVkLlxcXCJcXG4gICAgICAgIC8vIFNvIGlmIHdlJ3JlIGN1cnJlbnRseSBydW5uaW5nIGEgdGFzaywgd2UnbGwgbmVlZCB0byBkZWxheSB0aGlzIGludm9jYXRpb24uXFxuICAgICAgICBpZiAoY3VycmVudGx5UnVubmluZ0FUYXNrKSB7XFxuICAgICAgICAgICAgLy8gRGVsYXkgYnkgZG9pbmcgYSBzZXRUaW1lb3V0LiBzZXRJbW1lZGlhdGUgd2FzIHRyaWVkIGluc3RlYWQsIGJ1dCBpbiBGaXJlZm94IDcgaXQgZ2VuZXJhdGVkIGFcXG4gICAgICAgICAgICAvLyBcXFwidG9vIG11Y2ggcmVjdXJzaW9uXFxcIiBlcnJvci5cXG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHRhc2sgPSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XFxuICAgICAgICAgICAgaWYgKHRhc2spIHtcXG4gICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gdHJ1ZTtcXG4gICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgIHJ1bih0YXNrKTtcXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW1tZWRpYXRlKGhhbmRsZSk7XFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSBmYWxzZTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBpbnN0YWxsTmV4dFRpY2tJbXBsZW1lbnRhdGlvbigpIHtcXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XFxuICAgICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7IHJ1bklmUHJlc2VudChoYW5kbGUpOyB9KTtcXG4gICAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gY2FuVXNlUG9zdE1lc3NhZ2UoKSB7XFxuICAgICAgICAvLyBUaGUgdGVzdCBhZ2FpbnN0IGBpbXBvcnRTY3JpcHRzYCBwcmV2ZW50cyB0aGlzIGltcGxlbWVudGF0aW9uIGZyb20gYmVpbmcgaW5zdGFsbGVkIGluc2lkZSBhIHdlYiB3b3JrZXIsXFxuICAgICAgICAvLyB3aGVyZSBgZ2xvYmFsLnBvc3RNZXNzYWdlYCBtZWFucyBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgYW5kIGNhbid0IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZS5cXG4gICAgICAgIGlmIChnbG9iYWwucG9zdE1lc3NhZ2UgJiYgIWdsb2JhbC5pbXBvcnRTY3JpcHRzKSB7XFxuICAgICAgICAgICAgdmFyIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSB0cnVlO1xcbiAgICAgICAgICAgIHZhciBvbGRPbk1lc3NhZ2UgPSBnbG9iYWwub25tZXNzYWdlO1xcbiAgICAgICAgICAgIGdsb2JhbC5vbm1lc3NhZ2UgPSBmdW5jdGlvbigpIHtcXG4gICAgICAgICAgICAgICAgcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cyA9IGZhbHNlO1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKFxcXCJcXFwiLCBcXFwiKlxcXCIpO1xcbiAgICAgICAgICAgIGdsb2JhbC5vbm1lc3NhZ2UgPSBvbGRPbk1lc3NhZ2U7XFxuICAgICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXM7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKSB7XFxuICAgICAgICAvLyBJbnN0YWxscyBhbiBldmVudCBoYW5kbGVyIG9uIGBnbG9iYWxgIGZvciB0aGUgYG1lc3NhZ2VgIGV2ZW50OiBzZWVcXG4gICAgICAgIC8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vRE9NL3dpbmRvdy5wb3N0TWVzc2FnZVxcbiAgICAgICAgLy8gKiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tcy5odG1sI2Nyb3NzRG9jdW1lbnRNZXNzYWdlc1xcblxcbiAgICAgICAgdmFyIG1lc3NhZ2VQcmVmaXggPSBcXFwic2V0SW1tZWRpYXRlJFxcXCIgKyBNYXRoLnJhbmRvbSgpICsgXFxcIiRcXFwiO1xcbiAgICAgICAgdmFyIG9uR2xvYmFsTWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XFxuICAgICAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gZ2xvYmFsICYmXFxuICAgICAgICAgICAgICAgIHR5cGVvZiBldmVudC5kYXRhID09PSBcXFwic3RyaW5nXFxcIiAmJlxcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLmluZGV4T2YobWVzc2FnZVByZWZpeCkgPT09IDApIHtcXG4gICAgICAgICAgICAgICAgcnVuSWZQcmVzZW50KCtldmVudC5kYXRhLnNsaWNlKG1lc3NhZ2VQcmVmaXgubGVuZ3RoKSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfTtcXG5cXG4gICAgICAgIGlmIChnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcikge1xcbiAgICAgICAgICAgIGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKFxcXCJtZXNzYWdlXFxcIiwgb25HbG9iYWxNZXNzYWdlLCBmYWxzZSk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGdsb2JhbC5hdHRhY2hFdmVudChcXFwib25tZXNzYWdlXFxcIiwgb25HbG9iYWxNZXNzYWdlKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XFxuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKG1lc3NhZ2VQcmVmaXggKyBoYW5kbGUsIFxcXCIqXFxcIik7XFxuICAgICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGZ1bmN0aW9uIGluc3RhbGxNZXNzYWdlQ2hhbm5lbEltcGxlbWVudGF0aW9uKCkge1xcbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcXG4gICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHtcXG4gICAgICAgICAgICB2YXIgaGFuZGxlID0gZXZlbnQuZGF0YTtcXG4gICAgICAgICAgICBydW5JZlByZXNlbnQoaGFuZGxlKTtcXG4gICAgICAgIH07XFxuXFxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xcbiAgICAgICAgICAgIGNoYW5uZWwucG9ydDIucG9zdE1lc3NhZ2UoaGFuZGxlKTtcXG4gICAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gaW5zdGFsbFJlYWR5U3RhdGVDaGFuZ2VJbXBsZW1lbnRhdGlvbigpIHtcXG4gICAgICAgIHZhciBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XFxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgPHNjcmlwdD4gZWxlbWVudDsgaXRzIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBhc3luY2hyb25vdXNseSBvbmNlIGl0IGlzIGluc2VydGVkXFxuICAgICAgICAgICAgLy8gaW50byB0aGUgZG9jdW1lbnQuIERvIHNvLCB0aHVzIHF1ZXVpbmcgdXAgdGhlIHRhc2suIFJlbWVtYmVyIHRvIGNsZWFuIHVwIG9uY2UgaXQncyBiZWVuIGNhbGxlZC5cXG4gICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoXFxcInNjcmlwdFxcXCIpO1xcbiAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudChoYW5kbGUpO1xcbiAgICAgICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcXG4gICAgICAgICAgICAgICAgaHRtbC5yZW1vdmVDaGlsZChzY3JpcHQpO1xcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBudWxsO1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgaHRtbC5hcHBlbmRDaGlsZChzY3JpcHQpO1xcbiAgICAgICAgfTtcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCkge1xcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcXG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcXG4gICAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gSWYgc3VwcG9ydGVkLCB3ZSBzaG91bGQgYXR0YWNoIHRvIHRoZSBwcm90b3R5cGUgb2YgZ2xvYmFsLCBzaW5jZSB0aGF0IGlzIHdoZXJlIHNldFRpbWVvdXQgZXQgYWwuIGxpdmUuXFxuICAgIHZhciBhdHRhY2hUbyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZ2xvYmFsKTtcXG4gICAgYXR0YWNoVG8gPSBhdHRhY2hUbyAmJiBhdHRhY2hUby5zZXRUaW1lb3V0ID8gYXR0YWNoVG8gOiBnbG9iYWw7XFxuXFxuICAgIC8vIERvbid0IGdldCBmb29sZWQgYnkgZS5nLiBicm93c2VyaWZ5IGVudmlyb25tZW50cy5cXG4gICAgaWYgKHt9LnRvU3RyaW5nLmNhbGwoZ2xvYmFsLnByb2Nlc3MpID09PSBcXFwiW29iamVjdCBwcm9jZXNzXVxcXCIpIHtcXG4gICAgICAgIC8vIEZvciBOb2RlLmpzIGJlZm9yZSAwLjlcXG4gICAgICAgIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCk7XFxuXFxuICAgIH0gZWxzZSBpZiAoY2FuVXNlUG9zdE1lc3NhZ2UoKSkge1xcbiAgICAgICAgLy8gRm9yIG5vbi1JRTEwIG1vZGVybiBicm93c2Vyc1xcbiAgICAgICAgaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKTtcXG5cXG4gICAgfSBlbHNlIGlmIChnbG9iYWwuTWVzc2FnZUNoYW5uZWwpIHtcXG4gICAgICAgIC8vIEZvciB3ZWIgd29ya2Vycywgd2hlcmUgc3VwcG9ydGVkXFxuICAgICAgICBpbnN0YWxsTWVzc2FnZUNoYW5uZWxJbXBsZW1lbnRhdGlvbigpO1xcblxcbiAgICB9IGVsc2UgaWYgKGRvYyAmJiBcXFwib25yZWFkeXN0YXRlY2hhbmdlXFxcIiBpbiBkb2MuY3JlYXRlRWxlbWVudChcXFwic2NyaXB0XFxcIikpIHtcXG4gICAgICAgIC8vIEZvciBJRSA24oCTOFxcbiAgICAgICAgaW5zdGFsbFJlYWR5U3RhdGVDaGFuZ2VJbXBsZW1lbnRhdGlvbigpO1xcblxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gRm9yIG9sZGVyIGJyb3dzZXJzXFxuICAgICAgICBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCk7XFxuICAgIH1cXG5cXG4gICAgYXR0YWNoVG8uc2V0SW1tZWRpYXRlID0gc2V0SW1tZWRpYXRlO1xcbiAgICBhdHRhY2hUby5jbGVhckltbWVkaWF0ZSA9IGNsZWFySW1tZWRpYXRlO1xcbn0odHlwZW9mIHNlbGYgPT09IFxcXCJ1bmRlZmluZWRcXFwiID8gdHlwZW9mIGdsb2JhbCA9PT0gXFxcInVuZGVmaW5lZFxcXCIgPyB0aGlzIDogZ2xvYmFsIDogc2VsZikpO1xcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcXFwiKSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXpaWFJwYlcxbFpHbGhkR1V2YzJWMFNXMXRaV1JwWVhSbExtcHpQMk01WXpnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNkVUpCUVhWQ08wRkJRM1pDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVN4clFrRkJhMEk3UVVGRGJFSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTzBGQlEycENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc01FTkJRVEJETEhOQ1FVRnpRaXhGUVVGRk8wRkJRMnhGTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVTkJRWGxETzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VlFVRlZPMEZCUTFZN1FVRkRRVHM3UVVGRlFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeERRVUZESWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM05sZEdsdGJXVmthV0YwWlM5elpYUkpiVzFsWkdsaGRHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW9ablZ1WTNScGIyNGdLR2RzYjJKaGJDd2dkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdYQ0oxYzJVZ2MzUnlhV04wWENJN1hHNWNiaUFnSUNCcFppQW9aMnh2WW1Gc0xuTmxkRWx0YldWa2FXRjBaU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1bGVIUklZVzVrYkdVZ1BTQXhPeUF2THlCVGNHVmpJSE5oZVhNZ1ozSmxZWFJsY2lCMGFHRnVJSHBsY205Y2JpQWdJQ0IyWVhJZ2RHRnphM05DZVVoaGJtUnNaU0E5SUh0OU8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MGJIbFNkVzV1YVc1blFWUmhjMnNnUFNCbVlXeHpaVHRjYmlBZ0lDQjJZWElnWkc5aklEMGdaMnh2WW1Gc0xtUnZZM1Z0Wlc1ME8xeHVJQ0FnSUhaaGNpQnlaV2RwYzNSbGNrbHRiV1ZrYVdGMFpUdGNibHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkRWx0YldWa2FXRjBaU2hqWVd4c1ltRmpheWtnZTF4dUlDQWdJQ0FnTHk4Z1EyRnNiR0poWTJzZ1kyRnVJR1ZwZEdobGNpQmlaU0JoSUdaMWJtTjBhVzl1SUc5eUlHRWdjM1J5YVc1blhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHTmhiR3hpWVdOcklDRTlQU0JjSW1aMWJtTjBhVzl1WENJcElIdGNiaUFnSUNBZ0lDQWdZMkZzYkdKaFkyc2dQU0J1WlhjZ1JuVnVZM1JwYjI0b1hDSmNJaUFySUdOaGJHeGlZV05yS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUM4dklFTnZjSGtnWm5WdVkzUnBiMjRnWVhKbmRXMWxiblJ6WEc0Z0lDQWdJQ0IyWVhJZ1lYSm5jeUE5SUc1bGR5QkJjbkpoZVNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUMwZ01TazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z5WjNNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCaGNtZHpXMmxkSUQwZ1lYSm5kVzFsYm5Selcya2dLeUF4WFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUM4dklGTjBiM0psSUdGdVpDQnlaV2RwYzNSbGNpQjBhR1VnZEdGemExeHVJQ0FnSUNBZ2RtRnlJSFJoYzJzZ1BTQjdJR05oYkd4aVlXTnJPaUJqWVd4c1ltRmpheXdnWVhKbmN6b2dZWEpuY3lCOU8xeHVJQ0FnSUNBZ2RHRnphM05DZVVoaGJtUnNaVnR1WlhoMFNHRnVaR3hsWFNBOUlIUmhjMnM3WEc0Z0lDQWdJQ0J5WldkcGMzUmxja2x0YldWa2FXRjBaU2h1WlhoMFNHRnVaR3hsS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhoMFNHRnVaR3hsS3lzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm5WdVkzUnBiMjRnWTJ4bFlYSkpiVzFsWkdsaGRHVW9hR0Z1Wkd4bEtTQjdYRzRnSUNBZ0lDQWdJR1JsYkdWMFpTQjBZWE5yYzBKNVNHRnVaR3hsVzJoaGJtUnNaVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdablZ1WTNScGIyNGdjblZ1S0hSaGMyc3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHTmhiR3hpWVdOcklEMGdkR0Z6YXk1allXeHNZbUZqYXp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0Z5WjNNZ1BTQjBZWE5yTG1GeVozTTdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9ZWEpuY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0F3T2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZzYkdKaFkyc29LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCallYTmxJREU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZV3hzWW1GamF5aGhjbWR6V3pCZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0JqWVhObElESTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallXeHNZbUZqYXloaGNtZHpXekJkTENCaGNtZHpXekZkS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQmpZWE5sSURNNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVd4c1ltRmpheWhoY21keld6QmRMQ0JoY21keld6RmRMQ0JoY21keld6SmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZzYkdKaFkyc3VZWEJ3Ykhrb2RXNWtaV1pwYm1Wa0xDQmhjbWR6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1puVnVZM1JwYjI0Z2NuVnVTV1pRY21WelpXNTBLR2hoYm1Sc1pTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCR2NtOXRJSFJvWlNCemNHVmpPaUJjSWxkaGFYUWdkVzUwYVd3Z1lXNTVJR2x1ZG05allYUnBiMjV6SUc5bUlIUm9hWE1nWVd4bmIzSnBkR2h0SUhOMFlYSjBaV1FnWW1WbWIzSmxJSFJvYVhNZ2IyNWxJR2hoZG1VZ1kyOXRjR3hsZEdWa0xsd2lYRzRnSUNBZ0lDQWdJQzh2SUZOdklHbG1JSGRsSjNKbElHTjFjbkpsYm5Sc2VTQnlkVzV1YVc1bklHRWdkR0Z6YXl3Z2QyVW5iR3dnYm1WbFpDQjBieUJrWld4aGVTQjBhR2x6SUdsdWRtOWpZWFJwYjI0dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBiSGxTZFc1dWFXNW5RVlJoYzJzcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFUmxiR0Y1SUdKNUlHUnZhVzVuSUdFZ2MyVjBWR2x0Wlc5MWRDNGdjMlYwU1cxdFpXUnBZWFJsSUhkaGN5QjBjbWxsWkNCcGJuTjBaV0ZrTENCaWRYUWdhVzRnUm1seVpXWnZlQ0EzSUdsMElHZGxibVZ5WVhSbFpDQmhYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QmNJblJ2YnlCdGRXTm9JSEpsWTNWeWMybHZibHdpSUdWeWNtOXlMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyVjBWR2x0Wlc5MWRDaHlkVzVKWmxCeVpYTmxiblFzSURBc0lHaGhibVJzWlNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RHRnpheUE5SUhSaGMydHpRbmxJWVc1a2JHVmJhR0Z1Wkd4bFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBZWE5yS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEd4NVVuVnVibWx1WjBGVVlYTnJJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlkVzRvZEdGemF5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyeGxZWEpKYlcxbFpHbGhkR1VvYUdGdVpHeGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEd4NVVuVnVibWx1WjBGVVlYTnJJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1puVnVZM1JwYjI0Z2FXNXpkR0ZzYkU1bGVIUlVhV05yU1cxd2JHVnRaVzUwWVhScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUhKbFoybHpkR1Z5U1cxdFpXUnBZWFJsSUQwZ1puVnVZM1JwYjI0b2FHRnVaR3hsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1oxYm1OMGFXOXVJQ2dwSUhzZ2NuVnVTV1pRY21WelpXNTBLR2hoYm1Sc1pTazdJSDBwTzF4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdaMWJtTjBhVzl1SUdOaGJsVnpaVkJ2YzNSTlpYTnpZV2RsS0NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdVZ2RHVnpkQ0JoWjJGcGJuTjBJR0JwYlhCdmNuUlRZM0pwY0hSellDQndjbVYyWlc1MGN5QjBhR2x6SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p5YjIwZ1ltVnBibWNnYVc1emRHRnNiR1ZrSUdsdWMybGtaU0JoSUhkbFlpQjNiM0pyWlhJc1hHNGdJQ0FnSUNBZ0lDOHZJSGRvWlhKbElHQm5iRzlpWVd3dWNHOXpkRTFsYzNOaFoyVmdJRzFsWVc1eklITnZiV1YwYUdsdVp5QmpiMjF3YkdWMFpXeDVJR1JwWm1abGNtVnVkQ0JoYm1RZ1kyRnVKM1FnWW1VZ2RYTmxaQ0JtYjNJZ2RHaHBjeUJ3ZFhKd2IzTmxMbHh1SUNBZ0lDQWdJQ0JwWmlBb1oyeHZZbUZzTG5CdmMzUk5aWE56WVdkbElDWW1JQ0ZuYkc5aVlXd3VhVzF3YjNKMFUyTnlhWEIwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIQnZjM1JOWlhOellXZGxTWE5CYzNsdVkyaHliMjV2ZFhNZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5c1pFOXVUV1Z6YzJGblpTQTlJR2RzYjJKaGJDNXZibTFsYzNOaFoyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCbmJHOWlZV3d1YjI1dFpYTnpZV2RsSUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjRzl6ZEUxbGMzTmhaMlZKYzBGemVXNWphSEp2Ym05MWN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2RzYjJKaGJDNXdiM04wVFdWemMyRm5aU2hjSWx3aUxDQmNJaXBjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JuYkc5aVlXd3ViMjV0WlhOellXZGxJRDBnYjJ4a1QyNU5aWE56WVdkbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEJ2YzNSTlpYTnpZV2RsU1hOQmMzbHVZMmh5YjI1dmRYTTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1kVzVqZEdsdmJpQnBibk4wWVd4c1VHOXpkRTFsYzNOaFoyVkpiWEJzWlcxbGJuUmhkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdMeThnU1c1emRHRnNiSE1nWVc0Z1pYWmxiblFnYUdGdVpHeGxjaUJ2YmlCZ1oyeHZZbUZzWUNCbWIzSWdkR2hsSUdCdFpYTnpZV2RsWUNCbGRtVnVkRG9nYzJWbFhHNGdJQ0FnSUNBZ0lDOHZJQ29nYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHZSRTlOTDNkcGJtUnZkeTV3YjNOMFRXVnpjMkZuWlZ4dUlDQWdJQ0FnSUNBdkx5QXFJR2gwZEhBNkx5OTNkM2N1ZDJoaGRIZG5MbTl5Wnk5emNHVmpjeTkzWldJdFlYQndjeTlqZFhKeVpXNTBMWGR2Y21zdmJYVnNkR2x3WVdkbEwyTnZiVzF6TG1oMGJXd2pZM0p2YzNORWIyTjFiV1Z1ZEUxbGMzTmhaMlZ6WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRzFsYzNOaFoyVlFjbVZtYVhnZ1BTQmNJbk5sZEVsdGJXVmthV0YwWlNSY0lpQXJJRTFoZEdndWNtRnVaRzl0S0NrZ0t5QmNJaVJjSWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzl1UjJ4dlltRnNUV1Z6YzJGblpTQTlJR1oxYm1OMGFXOXVLR1YyWlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aWFpsYm5RdWMyOTFjbU5sSUQwOVBTQm5iRzlpWVd3Z0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1pYWmxiblF1WkdGMFlTQTlQVDBnWENKemRISnBibWRjSWlBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjJaVzUwTG1SaGRHRXVhVzVrWlhoUFppaHRaWE56WVdkbFVISmxabWw0S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKMWJrbG1VSEpsYzJWdWRDZ3JaWFpsYm5RdVpHRjBZUzV6YkdsalpTaHRaWE56WVdkbFVISmxabWw0TG14bGJtZDBhQ2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2huYkc5aVlXd3VZV1JrUlhabGJuUk1hWE4wWlc1bGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1oyeHZZbUZzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvWENKdFpYTnpZV2RsWENJc0lHOXVSMnh2WW1Gc1RXVnpjMkZuWlN3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaMnh2WW1Gc0xtRjBkR0ZqYUVWMlpXNTBLRndpYjI1dFpYTnpZV2RsWENJc0lHOXVSMnh2WW1Gc1RXVnpjMkZuWlNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WldkcGMzUmxja2x0YldWa2FXRjBaU0E5SUdaMWJtTjBhVzl1S0doaGJtUnNaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaMnh2WW1Gc0xuQnZjM1JOWlhOellXZGxLRzFsYzNOaFoyVlFjbVZtYVhnZ0t5Qm9ZVzVrYkdVc0lGd2lLbHdpS1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWRXNWpkR2x2YmlCcGJuTjBZV3hzVFdWemMyRm5aVU5vWVc1dVpXeEpiWEJzWlcxbGJuUmhkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdOb1lXNXVaV3dnUFNCdVpYY2dUV1Z6YzJGblpVTm9ZVzV1Wld3b0tUdGNiaUFnSUNBZ0lDQWdZMmhoYm01bGJDNXdiM0owTVM1dmJtMWxjM05oWjJVZ1BTQm1kVzVqZEdsdmJpaGxkbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHaGhibVJzWlNBOUlHVjJaVzUwTG1SaGRHRTdYRzRnSUNBZ0lDQWdJQ0FnSUNCeWRXNUpabEJ5WlhObGJuUW9hR0Z1Wkd4bEtUdGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCeVpXZHBjM1JsY2tsdGJXVmthV0YwWlNBOUlHWjFibU4wYVc5dUtHaGhibVJzWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJoaGJtNWxiQzV3YjNKME1pNXdiM04wVFdWemMyRm5aU2hvWVc1a2JHVXBPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1oxYm1OMGFXOXVJR2x1YzNSaGJHeFNaV0ZrZVZOMFlYUmxRMmhoYm1kbFNXMXdiR1Z0Wlc1MFlYUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJvZEcxc0lEMGdaRzlqTG1SdlkzVnRaVzUwUld4bGJXVnVkRHRjYmlBZ0lDQWdJQ0FnY21WbmFYTjBaWEpKYlcxbFpHbGhkR1VnUFNCbWRXNWpkR2x2Ymlob1lXNWtiR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVOeVpXRjBaU0JoSUR4elkzSnBjSFErSUdWc1pXMWxiblE3SUdsMGN5QnlaV0ZrZVhOMFlYUmxZMmhoYm1kbElHVjJaVzUwSUhkcGJHd2dZbVVnWm1seVpXUWdZWE41Ym1Ob2NtOXViM1Z6YkhrZ2IyNWpaU0JwZENCcGN5QnBibk5sY25SbFpGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2FXNTBieUIwYUdVZ1pHOWpkVzFsYm5RdUlFUnZJSE52TENCMGFIVnpJSEYxWlhWcGJtY2dkWEFnZEdobElIUmhjMnN1SUZKbGJXVnRZbVZ5SUhSdklHTnNaV0Z1SUhWd0lHOXVZMlVnYVhRbmN5QmlaV1Z1SUdOaGJHeGxaQzVjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6WTNKcGNIUWdQU0JrYjJNdVkzSmxZWFJsUld4bGJXVnVkQ2hjSW5OamNtbHdkRndpS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5qY21sd2RDNXZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NuVnVTV1pRY21WelpXNTBLR2hoYm1Sc1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMk55YVhCMExtOXVjbVZoWkhsemRHRjBaV05vWVc1blpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FIUnRiQzV5WlcxdmRtVkRhR2xzWkNoelkzSnBjSFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOamNtbHdkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYUhSdGJDNWhjSEJsYm1SRGFHbHNaQ2h6WTNKcGNIUXBPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1oxYm1OMGFXOXVJR2x1YzNSaGJHeFRaWFJVYVcxbGIzVjBTVzF3YkdWdFpXNTBZWFJwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJSEpsWjJsemRHVnlTVzF0WldScFlYUmxJRDBnWm5WdVkzUnBiMjRvYUdGdVpHeGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaWFJVYVcxbGIzVjBLSEoxYmtsbVVISmxjMlZ1ZEN3Z01Dd2dhR0Z1Wkd4bEtUdGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKWmlCemRYQndiM0owWldRc0lIZGxJSE5vYjNWc1pDQmhkSFJoWTJnZ2RHOGdkR2hsSUhCeWIzUnZkSGx3WlNCdlppQm5iRzlpWVd3c0lITnBibU5sSUhSb1lYUWdhWE1nZDJobGNtVWdjMlYwVkdsdFpXOTFkQ0JsZENCaGJDNGdiR2wyWlM1Y2JpQWdJQ0IyWVhJZ1lYUjBZV05vVkc4Z1BTQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMllnSmlZZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LR2RzYjJKaGJDazdYRzRnSUNBZ1lYUjBZV05vVkc4Z1BTQmhkSFJoWTJoVWJ5QW1KaUJoZEhSaFkyaFVieTV6WlhSVWFXMWxiM1YwSUQ4Z1lYUjBZV05vVkc4Z09pQm5iRzlpWVd3N1hHNWNiaUFnSUNBdkx5QkViMjRuZENCblpYUWdabTl2YkdWa0lHSjVJR1V1Wnk0Z1luSnZkM05sY21sbWVTQmxiblpwY205dWJXVnVkSE11WEc0Z0lDQWdhV1lnS0h0OUxuUnZVM1J5YVc1bkxtTmhiR3dvWjJ4dlltRnNMbkJ5YjJObGMzTXBJRDA5UFNCY0lsdHZZbXBsWTNRZ2NISnZZMlZ6YzExY0lpa2dlMXh1SUNBZ0lDQWdJQ0F2THlCR2IzSWdUbTlrWlM1cWN5QmlaV1p2Y21VZ01DNDVYRzRnSUNBZ0lDQWdJR2x1YzNSaGJHeE9aWGgwVkdsamEwbHRjR3hsYldWdWRHRjBhVzl1S0NrN1hHNWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTmhibFZ6WlZCdmMzUk5aWE56WVdkbEtDa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1JtOXlJRzV2YmkxSlJURXdJRzF2WkdWeWJpQmljbTkzYzJWeWMxeHVJQ0FnSUNBZ0lDQnBibk4wWVd4c1VHOXpkRTFsYzNOaFoyVkpiWEJzWlcxbGJuUmhkR2x2YmlncE8xeHVYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaG5iRzlpWVd3dVRXVnpjMkZuWlVOb1lXNXVaV3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbTl5SUhkbFlpQjNiM0pyWlhKekxDQjNhR1Z5WlNCemRYQndiM0owWldSY2JpQWdJQ0FnSUNBZ2FXNXpkR0ZzYkUxbGMzTmhaMlZEYUdGdWJtVnNTVzF3YkdWdFpXNTBZWFJwYjI0b0tUdGNibHh1SUNBZ0lIMGdaV3h6WlNCcFppQW9aRzlqSUNZbUlGd2liMjV5WldGa2VYTjBZWFJsWTJoaGJtZGxYQ0lnYVc0Z1pHOWpMbU55WldGMFpVVnNaVzFsYm5Rb1hDSnpZM0pwY0hSY0lpa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1JtOXlJRWxGSURiaWdKTTRYRzRnSUNBZ0lDQWdJR2x1YzNSaGJHeFNaV0ZrZVZOMFlYUmxRMmhoYm1kbFNXMXdiR1Z0Wlc1MFlYUnBiMjRvS1R0Y2JseHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUM4dklFWnZjaUJ2YkdSbGNpQmljbTkzYzJWeWMxeHVJQ0FnSUNBZ0lDQnBibk4wWVd4c1UyVjBWR2x0Wlc5MWRFbHRjR3hsYldWdWRHRjBhVzl1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhSMFlXTm9WRzh1YzJWMFNXMXRaV1JwWVhSbElEMGdjMlYwU1cxdFpXUnBZWFJsTzF4dUlDQWdJR0YwZEdGamFGUnZMbU5zWldGeVNXMXRaV1JwWVhSbElEMGdZMnhsWVhKSmJXMWxaR2xoZEdVN1hHNTlLSFI1Y0dWdlppQnpaV3htSUQwOVBTQmNJblZ1WkdWbWFXNWxaRndpSUQ4Z2RIbHdaVzltSUdkc2IySmhiQ0E5UFQwZ1hDSjFibVJsWm1sdVpXUmNJaUEvSUhSb2FYTWdPaUJuYkc5aVlXd2dPaUJ6Wld4bUtTazdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NldGltbWVkaWF0ZS9zZXRJbW1lZGlhdGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxuLy8gcHJvdG90eXBlIGNsYXNzIGZvciBoYXNoIGZ1bmN0aW9uc1xcbmZ1bmN0aW9uIEhhc2ggKGJsb2NrU2l6ZSwgZmluYWxTaXplKSB7XFxuICB0aGlzLl9ibG9jayA9IEJ1ZmZlci5hbGxvYyhibG9ja1NpemUpXFxuICB0aGlzLl9maW5hbFNpemUgPSBmaW5hbFNpemVcXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxcbiAgdGhpcy5fbGVuID0gMFxcbn1cXG5cXG5IYXNoLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSwgZW5jKSB7XFxuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XFxuICAgIGVuYyA9IGVuYyB8fCAndXRmOCdcXG4gICAgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGVuYylcXG4gIH1cXG5cXG4gIHZhciBibG9jayA9IHRoaXMuX2Jsb2NrXFxuICB2YXIgYmxvY2tTaXplID0gdGhpcy5fYmxvY2tTaXplXFxuICB2YXIgbGVuZ3RoID0gZGF0YS5sZW5ndGhcXG4gIHZhciBhY2N1bSA9IHRoaXMuX2xlblxcblxcbiAgZm9yICh2YXIgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgbGVuZ3RoOykge1xcbiAgICB2YXIgYXNzaWduZWQgPSBhY2N1bSAlIGJsb2NrU2l6ZVxcbiAgICB2YXIgcmVtYWluZGVyID0gTWF0aC5taW4obGVuZ3RoIC0gb2Zmc2V0LCBibG9ja1NpemUgLSBhc3NpZ25lZClcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZW1haW5kZXI7IGkrKykge1xcbiAgICAgIGJsb2NrW2Fzc2lnbmVkICsgaV0gPSBkYXRhW29mZnNldCArIGldXFxuICAgIH1cXG5cXG4gICAgYWNjdW0gKz0gcmVtYWluZGVyXFxuICAgIG9mZnNldCArPSByZW1haW5kZXJcXG5cXG4gICAgaWYgKChhY2N1bSAlIGJsb2NrU2l6ZSkgPT09IDApIHtcXG4gICAgICB0aGlzLl91cGRhdGUoYmxvY2spXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRoaXMuX2xlbiArPSBsZW5ndGhcXG4gIHJldHVybiB0aGlzXFxufVxcblxcbkhhc2gucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uIChlbmMpIHtcXG4gIHZhciByZW0gPSB0aGlzLl9sZW4gJSB0aGlzLl9ibG9ja1NpemVcXG5cXG4gIHRoaXMuX2Jsb2NrW3JlbV0gPSAweDgwXFxuXFxuICAvLyB6ZXJvIChyZW0gKyAxKSB0cmFpbGluZyBiaXRzLCB3aGVyZSAocmVtICsgMSkgaXMgdGhlIHNtYWxsZXN0XFxuICAvLyBub24tbmVnYXRpdmUgc29sdXRpb24gdG8gdGhlIGVxdWF0aW9uIChsZW5ndGggKyAxICsgKHJlbSArIDEpKSA9PT0gZmluYWxTaXplIG1vZCBibG9ja1NpemVcXG4gIHRoaXMuX2Jsb2NrLmZpbGwoMCwgcmVtICsgMSlcXG5cXG4gIGlmIChyZW0gPj0gdGhpcy5fZmluYWxTaXplKSB7XFxuICAgIHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jaylcXG4gICAgdGhpcy5fYmxvY2suZmlsbCgwKVxcbiAgfVxcblxcbiAgdmFyIGJpdHMgPSB0aGlzLl9sZW4gKiA4XFxuXFxuICAvLyB1aW50MzJcXG4gIGlmIChiaXRzIDw9IDB4ZmZmZmZmZmYpIHtcXG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShiaXRzLCB0aGlzLl9ibG9ja1NpemUgLSA0KVxcblxcbiAgLy8gdWludDY0XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgbG93Qml0cyA9IChiaXRzICYgMHhmZmZmZmZmZikgPj4+IDBcXG4gICAgdmFyIGhpZ2hCaXRzID0gKGJpdHMgLSBsb3dCaXRzKSAvIDB4MTAwMDAwMDAwXFxuXFxuICAgIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUoaGlnaEJpdHMsIHRoaXMuX2Jsb2NrU2l6ZSAtIDgpXFxuICAgIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUobG93Qml0cywgdGhpcy5fYmxvY2tTaXplIC0gNClcXG4gIH1cXG5cXG4gIHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jaylcXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaCgpXFxuXFxuICByZXR1cm4gZW5jID8gaGFzaC50b1N0cmluZyhlbmMpIDogaGFzaFxcbn1cXG5cXG5IYXNoLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MnKVxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IEhhc2hcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmFHRnphQzVxY3o4NVl6VXdJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUczdRVUZGYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHpRa0ZCYzBJc2FVSkJRV2xDTzBGQlEzWkRPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMR1ZCUVdVN1FVRkRiRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmFHRnphQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVYRzR2THlCd2NtOTBiM1I1Y0dVZ1kyeGhjM01nWm05eUlHaGhjMmdnWm5WdVkzUnBiMjV6WEc1bWRXNWpkR2x2YmlCSVlYTm9JQ2hpYkc5amExTnBlbVVzSUdacGJtRnNVMmw2WlNrZ2UxeHVJQ0IwYUdsekxsOWliRzlqYXlBOUlFSjFabVpsY2k1aGJHeHZZeWhpYkc5amExTnBlbVVwWEc0Z0lIUm9hWE11WDJacGJtRnNVMmw2WlNBOUlHWnBibUZzVTJsNlpWeHVJQ0IwYUdsekxsOWliRzlqYTFOcGVtVWdQU0JpYkc5amExTnBlbVZjYmlBZ2RHaHBjeTVmYkdWdUlEMGdNRnh1ZlZ4dVhHNUlZWE5vTG5CeWIzUnZkSGx3WlM1MWNHUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHRjBZU3dnWlc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCbGJtTWdQU0JsYm1NZ2ZId2dKM1YwWmpnblhHNGdJQ0FnWkdGMFlTQTlJRUoxWm1abGNpNW1jbTl0S0dSaGRHRXNJR1Z1WXlsY2JpQWdmVnh1WEc0Z0lIWmhjaUJpYkc5amF5QTlJSFJvYVhNdVgySnNiMk5yWEc0Z0lIWmhjaUJpYkc5amExTnBlbVVnUFNCMGFHbHpMbDlpYkc5amExTnBlbVZjYmlBZ2RtRnlJR3hsYm1kMGFDQTlJR1JoZEdFdWJHVnVaM1JvWEc0Z0lIWmhjaUJoWTJOMWJTQTlJSFJvYVhNdVgyeGxibHh1WEc0Z0lHWnZjaUFvZG1GeUlHOW1abk5sZENBOUlEQTdJRzltWm5ObGRDQThJR3hsYm1kMGFEc3BJSHRjYmlBZ0lDQjJZWElnWVhOemFXZHVaV1FnUFNCaFkyTjFiU0FsSUdKc2IyTnJVMmw2WlZ4dUlDQWdJSFpoY2lCeVpXMWhhVzVrWlhJZ1BTQk5ZWFJvTG0xcGJpaHNaVzVuZEdnZ0xTQnZabVp6WlhRc0lHSnNiMk5yVTJsNlpTQXRJR0Z6YzJsbmJtVmtLVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J5WlcxaGFXNWtaWEk3SUdrckt5a2dlMXh1SUNBZ0lDQWdZbXh2WTJ0YllYTnphV2R1WldRZ0t5QnBYU0E5SUdSaGRHRmJiMlptYzJWMElDc2dhVjFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhZMk4xYlNBclBTQnlaVzFoYVc1a1pYSmNiaUFnSUNCdlptWnpaWFFnS3owZ2NtVnRZV2x1WkdWeVhHNWNiaUFnSUNCcFppQW9LR0ZqWTNWdElDVWdZbXh2WTJ0VGFYcGxLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmRYQmtZWFJsS0dKc2IyTnJLVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgyeGxiaUFyUFNCc1pXNW5kR2hjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVNHRnphQzV3Y205MGIzUjVjR1V1WkdsblpYTjBJRDBnWm5WdVkzUnBiMjRnS0dWdVl5a2dlMXh1SUNCMllYSWdjbVZ0SUQwZ2RHaHBjeTVmYkdWdUlDVWdkR2hwY3k1ZllteHZZMnRUYVhwbFhHNWNiaUFnZEdocGN5NWZZbXh2WTJ0YmNtVnRYU0E5SURCNE9EQmNibHh1SUNBdkx5QjZaWEp2SUNoeVpXMGdLeUF4S1NCMGNtRnBiR2x1WnlCaWFYUnpMQ0IzYUdWeVpTQW9jbVZ0SUNzZ01Ta2dhWE1nZEdobElITnRZV3hzWlhOMFhHNGdJQzh2SUc1dmJpMXVaV2RoZEdsMlpTQnpiMngxZEdsdmJpQjBieUIwYUdVZ1pYRjFZWFJwYjI0Z0tHeGxibWQwYUNBcklERWdLeUFvY21WdElDc2dNU2twSUQwOVBTQm1hVzVoYkZOcGVtVWdiVzlrSUdKc2IyTnJVMmw2WlZ4dUlDQjBhR2x6TGw5aWJHOWpheTVtYVd4c0tEQXNJSEpsYlNBcklERXBYRzVjYmlBZ2FXWWdLSEpsYlNBK1BTQjBhR2x6TGw5bWFXNWhiRk5wZW1VcElIdGNiaUFnSUNCMGFHbHpMbDkxY0dSaGRHVW9kR2hwY3k1ZllteHZZMnNwWEc0Z0lDQWdkR2hwY3k1ZllteHZZMnN1Wm1sc2JDZ3dLVnh1SUNCOVhHNWNiaUFnZG1GeUlHSnBkSE1nUFNCMGFHbHpMbDlzWlc0Z0tpQTRYRzVjYmlBZ0x5OGdkV2x1ZERNeVhHNGdJR2xtSUNoaWFYUnpJRHc5SURCNFptWm1abVptWm1ZcElIdGNiaUFnSUNCMGFHbHpMbDlpYkc5amF5NTNjbWwwWlZWSmJuUXpNa0pGS0dKcGRITXNJSFJvYVhNdVgySnNiMk5yVTJsNlpTQXRJRFFwWEc1Y2JpQWdMeThnZFdsdWREWTBYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUd4dmQwSnBkSE1nUFNBb1ltbDBjeUFtSURCNFptWm1abVptWm1ZcElENCtQaUF3WEc0Z0lDQWdkbUZ5SUdocFoyaENhWFJ6SUQwZ0tHSnBkSE1nTFNCc2IzZENhWFJ6S1NBdklEQjRNVEF3TURBd01EQXdYRzVjYmlBZ0lDQjBhR2x6TGw5aWJHOWpheTUzY21sMFpWVkpiblF6TWtKRktHaHBaMmhDYVhSekxDQjBhR2x6TGw5aWJHOWphMU5wZW1VZ0xTQTRLVnh1SUNBZ0lIUm9hWE11WDJKc2IyTnJMbmR5YVhSbFZVbHVkRE15UWtVb2JHOTNRbWwwY3l3Z2RHaHBjeTVmWW14dlkydFRhWHBsSUMwZ05DbGNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgzVndaR0YwWlNoMGFHbHpMbDlpYkc5amF5bGNiaUFnZG1GeUlHaGhjMmdnUFNCMGFHbHpMbDlvWVhOb0tDbGNibHh1SUNCeVpYUjFjbTRnWlc1aklEOGdhR0Z6YUM1MGIxTjBjbWx1WnlobGJtTXBJRG9nYUdGemFGeHVmVnh1WEc1SVlYTm9MbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMTkxY0dSaGRHVWdiWFZ6ZENCaVpTQnBiWEJzWlcxbGJuUmxaQ0JpZVNCemRXSmpiR0Z6Y3ljcFhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnU0dGemFGeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBTSEEgKGFsZ29yaXRobSkge1xcbiAgYWxnb3JpdGhtID0gYWxnb3JpdGhtLnRvTG93ZXJDYXNlKClcXG5cXG4gIHZhciBBbGdvcml0aG0gPSBleHBvcnRzW2FsZ29yaXRobV1cXG4gIGlmICghQWxnb3JpdGhtKSB0aHJvdyBuZXcgRXJyb3IoYWxnb3JpdGhtICsgJyBpcyBub3Qgc3VwcG9ydGVkICh3ZSBhY2NlcHQgcHVsbCByZXF1ZXN0cyknKVxcblxcbiAgcmV0dXJuIG5ldyBBbGdvcml0aG0oKVxcbn1cXG5cXG5leHBvcnRzLnNoYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhLmpzXFxcIilcXG5leHBvcnRzLnNoYTEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoYTEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzXFxcIilcXG5leHBvcnRzLnNoYTIyNCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhMjI0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjI0LmpzXFxcIilcXG5leHBvcnRzLnNoYTI1NiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhMjU2ICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjU2LmpzXFxcIilcXG5leHBvcnRzLnNoYTM4NCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhMzg0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMzg0LmpzXFxcIilcXG5leHBvcnRzLnNoYTUxMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhNTEyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhNTEyLmpzXFxcIilcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmFXNWtaWGd1YW5NL01qZGtOeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3hqUVVGakxHMUNRVUZQTEVOQlFVTXNNa05CUVU4N1FVRkROMElzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpEUVVGUk8wRkJReTlDTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEdsRVFVRlZPMEZCUTI1RExHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExHbEVRVUZWTzBGQlEyNURMR2xDUVVGcFFpeHRRa0ZCVHl4RFFVRkRMR2xFUVVGVk8wRkJRMjVETEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEdsRVFVRlZJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzTm9ZUzVxY3k5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCbGVIQnZjblJ6SUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCVFNFRWdLR0ZzWjI5eWFYUm9iU2tnZTF4dUlDQmhiR2R2Y21sMGFHMGdQU0JoYkdkdmNtbDBhRzB1ZEc5TWIzZGxja05oYzJVb0tWeHVYRzRnSUhaaGNpQkJiR2R2Y21sMGFHMGdQU0JsZUhCdmNuUnpXMkZzWjI5eWFYUm9iVjFjYmlBZ2FXWWdLQ0ZCYkdkdmNtbDBhRzBwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhoYkdkdmNtbDBhRzBnS3lBbklHbHpJRzV2ZENCemRYQndiM0owWldRZ0tIZGxJR0ZqWTJWd2RDQndkV3hzSUhKbGNYVmxjM1J6S1NjcFhHNWNiaUFnY21WMGRYSnVJRzVsZHlCQmJHZHZjbWwwYUcwb0tWeHVmVnh1WEc1bGVIQnZjblJ6TG5Ob1lTQTlJSEpsY1hWcGNtVW9KeTR2YzJoaEp5bGNibVY0Y0c5eWRITXVjMmhoTVNBOUlISmxjWFZwY21Vb0p5NHZjMmhoTVNjcFhHNWxlSEJ2Y25SekxuTm9ZVEl5TkNBOUlISmxjWFZwY21Vb0p5NHZjMmhoTWpJMEp5bGNibVY0Y0c5eWRITXVjMmhoTWpVMklEMGdjbVZ4ZFdseVpTZ25MaTl6YUdFeU5UWW5LVnh1Wlhod2IzSjBjeTV6YUdFek9EUWdQU0J5WlhGMWFYSmxLQ2N1TDNOb1lUTTROQ2NwWEc1bGVIQnZjblJ6TG5Ob1lUVXhNaUE5SUhKbGNYVnBjbVVvSnk0dmMyaGhOVEV5SnlsY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMCwgYXMgZGVmaW5lZFxcbiAqIGluIEZJUFMgUFVCIDE4MC0xXFxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBkZXJpdmVkIGZyb20gc2hhMS5qcyBvZiB0aGUgc2FtZSByZXBvc2l0b3J5LlxcbiAqIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gU0hBLTAgYW5kIFNIQS0xIGlzIGp1c3QgYSBiaXR3aXNlIHJvdGF0ZSBsZWZ0XFxuICogb3BlcmF0aW9uIHdhcyBhZGRlZC5cXG4gKi9cXG5cXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIEhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIEsgPSBbXFxuICAweDVhODI3OTk5LCAweDZlZDllYmExLCAweDhmMWJiY2RjIHwgMCwgMHhjYTYyYzFkNiB8IDBcXG5dXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoODApXFxuXFxuZnVuY3Rpb24gU2hhICgpIHtcXG4gIHRoaXMuaW5pdCgpXFxuICB0aGlzLl93ID0gV1xcblxcbiAgSGFzaC5jYWxsKHRoaXMsIDY0LCA1NilcXG59XFxuXFxuaW5oZXJpdHMoU2hhLCBIYXNoKVxcblxcblNoYS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuX2EgPSAweDY3NDUyMzAxXFxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcXG4gIHRoaXMuX2QgPSAweDEwMzI1NDc2XFxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxcblxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuZnVuY3Rpb24gcm90bDUgKG51bSkge1xcbiAgcmV0dXJuIChudW0gPDwgNSkgfCAobnVtID4+PiAyNylcXG59XFxuXFxuZnVuY3Rpb24gcm90bDMwIChudW0pIHtcXG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXFxufVxcblxcbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XFxuICBpZiAocyA9PT0gMCkgcmV0dXJuIChiICYgYykgfCAoKH5iKSAmIGQpXFxuICBpZiAocyA9PT0gMikgcmV0dXJuIChiICYgYykgfCAoYiAmIGQpIHwgKGMgJiBkKVxcbiAgcmV0dXJuIGIgXiBjIF4gZFxcbn1cXG5cXG5TaGEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xcbiAgdmFyIFcgPSB0aGlzLl93XFxuXFxuICB2YXIgYSA9IHRoaXMuX2EgfCAwXFxuICB2YXIgYiA9IHRoaXMuX2IgfCAwXFxuICB2YXIgYyA9IHRoaXMuX2MgfCAwXFxuICB2YXIgZCA9IHRoaXMuX2QgfCAwXFxuICB2YXIgZSA9IHRoaXMuX2UgfCAwXFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpIFdbaV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0KVxcbiAgZm9yICg7IGkgPCA4MDsgKytpKSBXW2ldID0gV1tpIC0gM10gXiBXW2kgLSA4XSBeIFdbaSAtIDE0XSBeIFdbaSAtIDE2XVxcblxcbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XFxuICAgIHZhciBzID0gfn4oaiAvIDIwKVxcbiAgICB2YXIgdCA9IChyb3RsNShhKSArIGZ0KHMsIGIsIGMsIGQpICsgZSArIFdbal0gKyBLW3NdKSB8IDBcXG5cXG4gICAgZSA9IGRcXG4gICAgZCA9IGNcXG4gICAgYyA9IHJvdGwzMChiKVxcbiAgICBiID0gYVxcbiAgICBhID0gdFxcbiAgfVxcblxcbiAgdGhpcy5fYSA9IChhICsgdGhpcy5fYSkgfCAwXFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcXG4gIHRoaXMuX2MgPSAoYyArIHRoaXMuX2MpIHwgMFxcbiAgdGhpcy5fZCA9IChkICsgdGhpcy5fZCkgfCAwXFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcXG59XFxuXFxuU2hhLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIwKVxcblxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9iIHwgMCwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MgfCAwLCA4KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZSB8IDAsIDE2KVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGFcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhMbXB6UDJVNE5URWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUTBGQlVUdEJRVU16UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeFJRVUZSTzBGQlEzcENMRkZCUVZFc1VVRkJVVHM3UVVGRmFFSXNhVUpCUVdsQ0xGRkJRVkU3UVVGRGVrSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM05vWVM1cWN5OXphR0V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2x4dUlDb2dRU0JLWVhaaFUyTnlhWEIwSUdsdGNHeGxiV1Z1ZEdGMGFXOXVJRzltSUhSb1pTQlRaV04xY21VZ1NHRnphQ0JCYkdkdmNtbDBhRzBzSUZOSVFTMHdMQ0JoY3lCa1pXWnBibVZrWEc0Z0tpQnBiaUJHU1ZCVElGQlZRaUF4T0RBdE1WeHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCa1pYSnBkbVZrSUdaeWIyMGdjMmhoTVM1cWN5QnZaaUIwYUdVZ2MyRnRaU0J5WlhCdmMybDBiM0o1TGx4dUlDb2dWR2hsSUdScFptWmxjbVZ1WTJVZ1ltVjBkMlZsYmlCVFNFRXRNQ0JoYm1RZ1UwaEJMVEVnYVhNZ2FuVnpkQ0JoSUdKcGRIZHBjMlVnY205MFlYUmxJR3hsWm5SY2JpQXFJRzl3WlhKaGRHbHZiaUIzWVhNZ1lXUmtaV1F1WEc0Z0tpOWNibHh1ZG1GeUlHbHVhR1Z5YVhSeklEMGdjbVZ4ZFdseVpTZ25hVzVvWlhKcGRITW5LVnh1ZG1GeUlFaGhjMmdnUFNCeVpYRjFhWEpsS0NjdUwyaGhjMmduS1Z4dWRtRnlJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KM05oWm1VdFluVm1abVZ5SnlrdVFuVm1abVZ5WEc1Y2JuWmhjaUJMSUQwZ1cxeHVJQ0F3ZURWaE9ESTNPVGs1TENBd2VEWmxaRGxsWW1FeExDQXdlRGhtTVdKaVkyUmpJSHdnTUN3Z01IaGpZVFl5WXpGa05pQjhJREJjYmwxY2JseHVkbUZ5SUZjZ1BTQnVaWGNnUVhKeVlYa29PREFwWEc1Y2JtWjFibU4wYVc5dUlGTm9ZU0FvS1NCN1hHNGdJSFJvYVhNdWFXNXBkQ2dwWEc0Z0lIUm9hWE11WDNjZ1BTQlhYRzVjYmlBZ1NHRnphQzVqWVd4c0tIUm9hWE1zSURZMExDQTFOaWxjYm4xY2JseHVhVzVvWlhKcGRITW9VMmhoTENCSVlYTm9LVnh1WEc1VGFHRXVjSEp2ZEc5MGVYQmxMbWx1YVhRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WDJFZ1BTQXdlRFkzTkRVeU16QXhYRzRnSUhSb2FYTXVYMklnUFNBd2VHVm1ZMlJoWWpnNVhHNGdJSFJvYVhNdVgyTWdQU0F3ZURrNFltRmtZMlpsWEc0Z0lIUm9hWE11WDJRZ1BTQXdlREV3TXpJMU5EYzJYRzRnSUhSb2FYTXVYMlVnUFNBd2VHTXpaREpsTVdZd1hHNWNiaUFnY21WMGRYSnVJSFJvYVhOY2JuMWNibHh1Wm5WdVkzUnBiMjRnY205MGJEVWdLRzUxYlNrZ2UxeHVJQ0J5WlhSMWNtNGdLRzUxYlNBOFBDQTFLU0I4SUNodWRXMGdQajQrSURJM0tWeHVmVnh1WEc1bWRXNWpkR2x2YmlCeWIzUnNNekFnS0c1MWJTa2dlMXh1SUNCeVpYUjFjbTRnS0c1MWJTQThQQ0F6TUNrZ2ZDQW9iblZ0SUQ0K1BpQXlLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1kQ0FvY3l3Z1lpd2dZeXdnWkNrZ2UxeHVJQ0JwWmlBb2N5QTlQVDBnTUNrZ2NtVjBkWEp1SUNoaUlDWWdZeWtnZkNBb0tINWlLU0FtSUdRcFhHNGdJR2xtSUNoeklEMDlQU0F5S1NCeVpYUjFjbTRnS0dJZ0ppQmpLU0I4SUNoaUlDWWdaQ2tnZkNBb1l5QW1JR1FwWEc0Z0lISmxkSFZ5YmlCaUlGNGdZeUJlSUdSY2JuMWNibHh1VTJoaExuQnliM1J2ZEhsd1pTNWZkWEJrWVhSbElEMGdablZ1WTNScGIyNGdLRTBwSUh0Y2JpQWdkbUZ5SUZjZ1BTQjBhR2x6TGw5M1hHNWNiaUFnZG1GeUlHRWdQU0IwYUdsekxsOWhJSHdnTUZ4dUlDQjJZWElnWWlBOUlIUm9hWE11WDJJZ2ZDQXdYRzRnSUhaaGNpQmpJRDBnZEdocGN5NWZZeUI4SURCY2JpQWdkbUZ5SUdRZ1BTQjBhR2x6TGw5a0lId2dNRnh1SUNCMllYSWdaU0E5SUhSb2FYTXVYMlVnZkNBd1hHNWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dLeXRwS1NCWFcybGRJRDBnVFM1eVpXRmtTVzUwTXpKQ1JTaHBJQ29nTkNsY2JpQWdabTl5SUNnN0lHa2dQQ0E0TURzZ0t5dHBLU0JYVzJsZElEMGdWMXRwSUMwZ00xMGdYaUJYVzJrZ0xTQTRYU0JlSUZkYmFTQXRJREUwWFNCZUlGZGJhU0F0SURFMlhWeHVYRzRnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3Z09EQTdJQ3NyYWlrZ2UxeHVJQ0FnSUhaaGNpQnpJRDBnZm40b2FpQXZJREl3S1Z4dUlDQWdJSFpoY2lCMElEMGdLSEp2ZEd3MUtHRXBJQ3NnWm5Rb2N5d2dZaXdnWXl3Z1pDa2dLeUJsSUNzZ1YxdHFYU0FySUV0YmMxMHBJSHdnTUZ4dVhHNGdJQ0FnWlNBOUlHUmNiaUFnSUNCa0lEMGdZMXh1SUNBZ0lHTWdQU0J5YjNSc016QW9ZaWxjYmlBZ0lDQmlJRDBnWVZ4dUlDQWdJR0VnUFNCMFhHNGdJSDFjYmx4dUlDQjBhR2x6TGw5aElEMGdLR0VnS3lCMGFHbHpMbDloS1NCOElEQmNiaUFnZEdocGN5NWZZaUE5SUNoaUlDc2dkR2hwY3k1Zllpa2dmQ0F3WEc0Z0lIUm9hWE11WDJNZ1BTQW9ZeUFySUhSb2FYTXVYMk1wSUh3Z01GeHVJQ0IwYUdsekxsOWtJRDBnS0dRZ0t5QjBhR2x6TGw5a0tTQjhJREJjYmlBZ2RHaHBjeTVmWlNBOUlDaGxJQ3NnZEdocGN5NWZaU2tnZkNBd1hHNTlYRzVjYmxOb1lTNXdjbTkwYjNSNWNHVXVYMmhoYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJJSUQwZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabEtESXdLVnh1WEc0Z0lFZ3VkM0pwZEdWSmJuUXpNa0pGS0hSb2FYTXVYMkVnZkNBd0xDQXdLVnh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWlJSHdnTUN3Z05DbGNiaUFnU0M1M2NtbDBaVWx1ZERNeVFrVW9kR2hwY3k1Zll5QjhJREFzSURncFhHNGdJRWd1ZDNKcGRHVkpiblF6TWtKRktIUm9hWE11WDJRZ2ZDQXdMQ0F4TWlsY2JpQWdTQzUzY21sMFpVbHVkRE15UWtVb2RHaHBjeTVmWlNCOElEQXNJREUyS1Z4dVhHNGdJSEpsZEhWeWJpQklYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1UyaGhYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMSwgYXMgZGVmaW5lZFxcbiAqIGluIEZJUFMgUFVCIDE4MC0xXFxuICogVmVyc2lvbiAyLjFhIENvcHlyaWdodCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDAyLlxcbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcXG4gKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQlNEIExpY2Vuc2VcXG4gKiBTZWUgaHR0cDovL3BhamhvbWUub3JnLnVrL2NyeXB0L21kNSBmb3IgZGV0YWlscy5cXG4gKi9cXG5cXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIEhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIEsgPSBbXFxuICAweDVhODI3OTk5LCAweDZlZDllYmExLCAweDhmMWJiY2RjIHwgMCwgMHhjYTYyYzFkNiB8IDBcXG5dXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoODApXFxuXFxuZnVuY3Rpb24gU2hhMSAoKSB7XFxuICB0aGlzLmluaXQoKVxcbiAgdGhpcy5fdyA9IFdcXG5cXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXFxufVxcblxcbmluaGVyaXRzKFNoYTEsIEhhc2gpXFxuXFxuU2hhMS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuX2EgPSAweDY3NDUyMzAxXFxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcXG4gIHRoaXMuX2QgPSAweDEwMzI1NDc2XFxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxcblxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuZnVuY3Rpb24gcm90bDEgKG51bSkge1xcbiAgcmV0dXJuIChudW0gPDwgMSkgfCAobnVtID4+PiAzMSlcXG59XFxuXFxuZnVuY3Rpb24gcm90bDUgKG51bSkge1xcbiAgcmV0dXJuIChudW0gPDwgNSkgfCAobnVtID4+PiAyNylcXG59XFxuXFxuZnVuY3Rpb24gcm90bDMwIChudW0pIHtcXG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXFxufVxcblxcbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XFxuICBpZiAocyA9PT0gMCkgcmV0dXJuIChiICYgYykgfCAoKH5iKSAmIGQpXFxuICBpZiAocyA9PT0gMikgcmV0dXJuIChiICYgYykgfCAoYiAmIGQpIHwgKGMgJiBkKVxcbiAgcmV0dXJuIGIgXiBjIF4gZFxcbn1cXG5cXG5TaGExLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKE0pIHtcXG4gIHZhciBXID0gdGhpcy5fd1xcblxcbiAgdmFyIGEgPSB0aGlzLl9hIHwgMFxcbiAgdmFyIGIgPSB0aGlzLl9iIHwgMFxcbiAgdmFyIGMgPSB0aGlzLl9jIHwgMFxcbiAgdmFyIGQgPSB0aGlzLl9kIHwgMFxcbiAgdmFyIGUgPSB0aGlzLl9lIHwgMFxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcXG4gIGZvciAoOyBpIDwgODA7ICsraSkgV1tpXSA9IHJvdGwxKFdbaSAtIDNdIF4gV1tpIC0gOF0gXiBXW2kgLSAxNF0gXiBXW2kgLSAxNl0pXFxuXFxuICBmb3IgKHZhciBqID0gMDsgaiA8IDgwOyArK2opIHtcXG4gICAgdmFyIHMgPSB+fihqIC8gMjApXFxuICAgIHZhciB0ID0gKHJvdGw1KGEpICsgZnQocywgYiwgYywgZCkgKyBlICsgV1tqXSArIEtbc10pIHwgMFxcblxcbiAgICBlID0gZFxcbiAgICBkID0gY1xcbiAgICBjID0gcm90bDMwKGIpXFxuICAgIGIgPSBhXFxuICAgIGEgPSB0XFxuICB9XFxuXFxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcXG4gIHRoaXMuX2IgPSAoYiArIHRoaXMuX2IpIHwgMFxcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcXG4gIHRoaXMuX2UgPSAoZSArIHRoaXMuX2UpIHwgMFxcbn1cXG5cXG5TaGExLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIwKVxcblxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9iIHwgMCwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MgfCAwLCA4KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZSB8IDAsIDE2KVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGExXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6YUdFdWFuTXZjMmhoTVM1cWN6OWlZamhtSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUTBGQlVUdEJRVU16UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1VVRkJVVHRCUVVONlFpeFJRVUZSTEZGQlFWRTdPMEZCUldoQ0xHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhNUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxWEc0Z0tpQkJJRXBoZG1GVFkzSnBjSFFnYVcxd2JHVnRaVzUwWVhScGIyNGdiMllnZEdobElGTmxZM1Z5WlNCSVlYTm9JRUZzWjI5eWFYUm9iU3dnVTBoQkxURXNJR0Z6SUdSbFptbHVaV1JjYmlBcUlHbHVJRVpKVUZNZ1VGVkNJREU0TUMweFhHNGdLaUJXWlhKemFXOXVJREl1TVdFZ1EyOXdlWEpwWjJoMElGQmhkV3dnU205b2JuTjBiMjRnTWpBd01DQXRJREl3TURJdVhHNGdLaUJQZEdobGNpQmpiMjUwY21saWRYUnZjbk02SUVkeVpXY2dTRzlzZEN3Z1FXNWtjbVYzSUV0bGNHVnlkQ3dnV1dSdVlYSXNJRXh2YzNScGJtVjBYRzRnS2lCRWFYTjBjbWxpZFhSbFpDQjFibVJsY2lCMGFHVWdRbE5FSUV4cFkyVnVjMlZjYmlBcUlGTmxaU0JvZEhSd09pOHZjR0ZxYUc5dFpTNXZjbWN1ZFdzdlkzSjVjSFF2YldRMUlHWnZjaUJrWlhSaGFXeHpMbHh1SUNvdlhHNWNiblpoY2lCcGJtaGxjbWwwY3lBOUlISmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5bGNiblpoY2lCSVlYTm9JRDBnY21WeGRXbHlaU2duTGk5b1lYTm9KeWxjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1WEc1MllYSWdTeUE5SUZ0Y2JpQWdNSGcxWVRneU56azVPU3dnTUhnMlpXUTVaV0poTVN3Z01IZzRaakZpWW1Oa1l5QjhJREFzSURCNFkyRTJNbU14WkRZZ2ZDQXdYRzVkWEc1Y2JuWmhjaUJYSUQwZ2JtVjNJRUZ5Y21GNUtEZ3dLVnh1WEc1bWRXNWpkR2x2YmlCVGFHRXhJQ2dwSUh0Y2JpQWdkR2hwY3k1cGJtbDBLQ2xjYmlBZ2RHaHBjeTVmZHlBOUlGZGNibHh1SUNCSVlYTm9MbU5oYkd3b2RHaHBjeXdnTmpRc0lEVTJLVnh1ZlZ4dVhHNXBibWhsY21sMGN5aFRhR0V4TENCSVlYTm9LVnh1WEc1VGFHRXhMbkJ5YjNSdmRIbHdaUzVwYm1sMElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjBhR2x6TGw5aElEMGdNSGcyTnpRMU1qTXdNVnh1SUNCMGFHbHpMbDlpSUQwZ01IaGxabU5rWVdJNE9WeHVJQ0IwYUdsekxsOWpJRDBnTUhnNU9HSmhaR05tWlZ4dUlDQjBhR2x6TGw5a0lEMGdNSGd4TURNeU5UUTNObHh1SUNCMGFHbHpMbDlsSUQwZ01IaGpNMlF5WlRGbU1GeHVYRzRnSUhKbGRIVnliaUIwYUdselhHNTlYRzVjYm1aMWJtTjBhVzl1SUhKdmRHd3hJQ2h1ZFcwcElIdGNiaUFnY21WMGRYSnVJQ2h1ZFcwZ1BEd2dNU2tnZkNBb2JuVnRJRDQrUGlBek1TbGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NtOTBiRFVnS0c1MWJTa2dlMXh1SUNCeVpYUjFjbTRnS0c1MWJTQThQQ0ExS1NCOElDaHVkVzBnUGo0K0lESTNLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnliM1JzTXpBZ0tHNTFiU2tnZTF4dUlDQnlaWFIxY200Z0tHNTFiU0E4UENBek1Da2dmQ0FvYm5WdElENCtQaUF5S1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJtZENBb2N5d2dZaXdnWXl3Z1pDa2dlMXh1SUNCcFppQW9jeUE5UFQwZ01Da2djbVYwZFhKdUlDaGlJQ1lnWXlrZ2ZDQW9LSDVpS1NBbUlHUXBYRzRnSUdsbUlDaHpJRDA5UFNBeUtTQnlaWFIxY200Z0tHSWdKaUJqS1NCOElDaGlJQ1lnWkNrZ2ZDQW9ZeUFtSUdRcFhHNGdJSEpsZEhWeWJpQmlJRjRnWXlCZUlHUmNibjFjYmx4dVUyaGhNUzV3Y205MGIzUjVjR1V1WDNWd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUNoTktTQjdYRzRnSUhaaGNpQlhJRDBnZEdocGN5NWZkMXh1WEc0Z0lIWmhjaUJoSUQwZ2RHaHBjeTVmWVNCOElEQmNiaUFnZG1GeUlHSWdQU0IwYUdsekxsOWlJSHdnTUZ4dUlDQjJZWElnWXlBOUlIUm9hWE11WDJNZ2ZDQXdYRzRnSUhaaGNpQmtJRDBnZEdocGN5NWZaQ0I4SURCY2JpQWdkbUZ5SUdVZ1BTQjBhR2x6TGw5bElId2dNRnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUNzcmFTa2dWMXRwWFNBOUlFMHVjbVZoWkVsdWRETXlRa1VvYVNBcUlEUXBYRzRnSUdadmNpQW9PeUJwSUR3Z09EQTdJQ3NyYVNrZ1YxdHBYU0E5SUhKdmRHd3hLRmRiYVNBdElETmRJRjRnVjF0cElDMGdPRjBnWGlCWFcya2dMU0F4TkYwZ1hpQlhXMmtnTFNBeE5sMHBYRzVjYmlBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQTRNRHNnS3l0cUtTQjdYRzRnSUNBZ2RtRnlJSE1nUFNCK2ZpaHFJQzhnTWpBcFhHNGdJQ0FnZG1GeUlIUWdQU0FvY205MGJEVW9ZU2tnS3lCbWRDaHpMQ0JpTENCakxDQmtLU0FySUdVZ0t5QlhXMnBkSUNzZ1MxdHpYU2tnZkNBd1hHNWNiaUFnSUNCbElEMGdaRnh1SUNBZ0lHUWdQU0JqWEc0Z0lDQWdZeUE5SUhKdmRHd3pNQ2hpS1Z4dUlDQWdJR0lnUFNCaFhHNGdJQ0FnWVNBOUlIUmNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgyRWdQU0FvWVNBcklIUm9hWE11WDJFcElId2dNRnh1SUNCMGFHbHpMbDlpSUQwZ0tHSWdLeUIwYUdsekxsOWlLU0I4SURCY2JpQWdkR2hwY3k1Zll5QTlJQ2hqSUNzZ2RHaHBjeTVmWXlrZ2ZDQXdYRzRnSUhSb2FYTXVYMlFnUFNBb1pDQXJJSFJvYVhNdVgyUXBJSHdnTUZ4dUlDQjBhR2x6TGw5bElEMGdLR1VnS3lCMGFHbHpMbDlsS1NCOElEQmNibjFjYmx4dVUyaGhNUzV3Y205MGIzUjVjR1V1WDJoaGMyZ2dQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCSUlEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLREl3S1Z4dVhHNGdJRWd1ZDNKcGRHVkpiblF6TWtKRktIUm9hWE11WDJFZ2ZDQXdMQ0F3S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDlpSUh3Z01Dd2dOQ2xjYmlBZ1NDNTNjbWwwWlVsdWRETXlRa1VvZEdocGN5NWZZeUI4SURBc0lEZ3BYRzRnSUVndWQzSnBkR1ZKYm5Rek1rSkZLSFJvYVhNdVgyUWdmQ0F3TENBeE1pbGNiaUFnU0M1M2NtbDBaVWx1ZERNeVFrVW9kR2hwY3k1ZlpTQjhJREFzSURFMktWeHVYRzRnSUhKbGRIVnliaUJJWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdVMmhoTVZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyMjQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjI0LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMjU2LCBhcyBkZWZpbmVkXFxuICogaW4gRklQUyAxODAtMlxcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxcbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcXG4gKlxcbiAqL1xcblxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgU2hhMjU2ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEyNTYgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyNTYuanNcXFwiKVxcbnZhciBIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvaGFzaC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbnZhciBXID0gbmV3IEFycmF5KDY0KVxcblxcbmZ1bmN0aW9uIFNoYTIyNCAoKSB7XFxuICB0aGlzLmluaXQoKVxcblxcbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxcblxcbiAgSGFzaC5jYWxsKHRoaXMsIDY0LCA1NilcXG59XFxuXFxuaW5oZXJpdHMoU2hhMjI0LCBTaGEyNTYpXFxuXFxuU2hhMjI0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYSA9IDB4YzEwNTllZDhcXG4gIHRoaXMuX2IgPSAweDM2N2NkNTA3XFxuICB0aGlzLl9jID0gMHgzMDcwZGQxN1xcbiAgdGhpcy5fZCA9IDB4ZjcwZTU5MzlcXG4gIHRoaXMuX2UgPSAweGZmYzAwYjMxXFxuICB0aGlzLl9mID0gMHg2ODU4MTUxMVxcbiAgdGhpcy5fZyA9IDB4NjRmOThmYTdcXG4gIHRoaXMuX2ggPSAweGJlZmE0ZmE0XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5TaGEyMjQucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjgpXFxuXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9hLCAwKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYiwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9kLCAxMilcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2UsIDE2KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9nLCAyNClcXG5cXG4gIHJldHVybiBIXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gU2hhMjI0XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6YUdFdWFuTXZjMmhoTWpJMExtcHpQelZtWkRnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaVUZCWlN4dFFrRkJUeXhEUVVGRExEWkVRVUZWTzBGQlEycERMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eHBSRUZCVlR0QlFVTXZRaXhYUVVGWExHMUNRVUZQTEVOQlFVTXNOa05CUVZFN1FVRkRNMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXpzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNOb1lTNXFjeTl6YUdFeU1qUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFRWdTbUYyWVZOamNtbHdkQ0JwYlhCc1pXMWxiblJoZEdsdmJpQnZaaUIwYUdVZ1UyVmpkWEpsSUVoaGMyZ2dRV3huYjNKcGRHaHRMQ0JUU0VFdE1qVTJMQ0JoY3lCa1pXWnBibVZrWEc0Z0tpQnBiaUJHU1ZCVElERTRNQzB5WEc0Z0tpQldaWEp6YVc5dUlESXVNaTFpWlhSaElFTnZjSGx5YVdkb2RDQkJibWRsYkNCTllYSnBiaXdnVUdGMWJDQktiMmh1YzNSdmJpQXlNREF3SUMwZ01qQXdPUzVjYmlBcUlFOTBhR1Z5SUdOdmJuUnlhV0oxZEc5eWN6b2dSM0psWnlCSWIyeDBMQ0JCYm1SeVpYY2dTMlZ3WlhKMExDQlpaRzVoY2l3Z1RHOXpkR2x1WlhSY2JpQXFYRzRnS2k5Y2JseHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVkbUZ5SUZOb1lUSTFOaUE5SUhKbGNYVnBjbVVvSnk0dmMyaGhNalUySnlsY2JuWmhjaUJJWVhOb0lEMGdjbVZ4ZFdseVpTZ25MaTlvWVhOb0p5bGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVYRzUyWVhJZ1Z5QTlJRzVsZHlCQmNuSmhlU2cyTkNsY2JseHVablZ1WTNScGIyNGdVMmhoTWpJMElDZ3BJSHRjYmlBZ2RHaHBjeTVwYm1sMEtDbGNibHh1SUNCMGFHbHpMbDkzSUQwZ1Z5QXZMeUJ1WlhjZ1FYSnlZWGtvTmpRcFhHNWNiaUFnU0dGemFDNWpZV3hzS0hSb2FYTXNJRFkwTENBMU5pbGNibjFjYmx4dWFXNW9aWEpwZEhNb1UyaGhNakkwTENCVGFHRXlOVFlwWEc1Y2JsTm9ZVEl5TkM1d2NtOTBiM1I1Y0dVdWFXNXBkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NWZZU0E5SURCNFl6RXdOVGxsWkRoY2JpQWdkR2hwY3k1ZllpQTlJREI0TXpZM1kyUTFNRGRjYmlBZ2RHaHBjeTVmWXlBOUlEQjRNekEzTUdSa01UZGNiaUFnZEdocGN5NWZaQ0E5SURCNFpqY3daVFU1TXpsY2JpQWdkR2hwY3k1ZlpTQTlJREI0Wm1aak1EQmlNekZjYmlBZ2RHaHBjeTVmWmlBOUlEQjROamcxT0RFMU1URmNiaUFnZEdocGN5NWZaeUE5SURCNE5qUm1PVGhtWVRkY2JpQWdkR2hwY3k1ZmFDQTlJREI0WW1WbVlUUm1ZVFJjYmx4dUlDQnlaWFIxY200Z2RHaHBjMXh1ZlZ4dVhHNVRhR0V5TWpRdWNISnZkRzkwZVhCbExsOW9ZWE5vSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdTQ0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNneU9DbGNibHh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWhMQ0F3S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDlpTENBMEtWeHVJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaDBhR2x6TGw5akxDQTRLVnh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWtMQ0F4TWlsY2JpQWdTQzUzY21sMFpVbHVkRE15UWtVb2RHaHBjeTVmWlN3Z01UWXBYRzRnSUVndWQzSnBkR1ZKYm5Rek1rSkZLSFJvYVhNdVgyWXNJREl3S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDluTENBeU5DbGNibHh1SUNCeVpYUjFjbTRnU0Z4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRk5vWVRJeU5GeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyMjQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyNTYuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjU2LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMjU2LCBhcyBkZWZpbmVkXFxuICogaW4gRklQUyAxODAtMlxcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxcbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcXG4gKlxcbiAqL1xcblxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgSGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaGFzaCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2hhc2guanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG52YXIgSyA9IFtcXG4gIDB4NDI4QTJGOTgsIDB4NzEzNzQ0OTEsIDB4QjVDMEZCQ0YsIDB4RTlCNURCQTUsXFxuICAweDM5NTZDMjVCLCAweDU5RjExMUYxLCAweDkyM0Y4MkE0LCAweEFCMUM1RUQ1LFxcbiAgMHhEODA3QUE5OCwgMHgxMjgzNUIwMSwgMHgyNDMxODVCRSwgMHg1NTBDN0RDMyxcXG4gIDB4NzJCRTVENzQsIDB4ODBERUIxRkUsIDB4OUJEQzA2QTcsIDB4QzE5QkYxNzQsXFxuICAweEU0OUI2OUMxLCAweEVGQkU0Nzg2LCAweDBGQzE5REM2LCAweDI0MENBMUNDLFxcbiAgMHgyREU5MkM2RiwgMHg0QTc0ODRBQSwgMHg1Q0IwQTlEQywgMHg3NkY5ODhEQSxcXG4gIDB4OTgzRTUxNTIsIDB4QTgzMUM2NkQsIDB4QjAwMzI3QzgsIDB4QkY1OTdGQzcsXFxuICAweEM2RTAwQkYzLCAweEQ1QTc5MTQ3LCAweDA2Q0E2MzUxLCAweDE0MjkyOTY3LFxcbiAgMHgyN0I3MEE4NSwgMHgyRTFCMjEzOCwgMHg0RDJDNkRGQywgMHg1MzM4MEQxMyxcXG4gIDB4NjUwQTczNTQsIDB4NzY2QTBBQkIsIDB4ODFDMkM5MkUsIDB4OTI3MjJDODUsXFxuICAweEEyQkZFOEExLCAweEE4MUE2NjRCLCAweEMyNEI4QjcwLCAweEM3NkM1MUEzLFxcbiAgMHhEMTkyRTgxOSwgMHhENjk5MDYyNCwgMHhGNDBFMzU4NSwgMHgxMDZBQTA3MCxcXG4gIDB4MTlBNEMxMTYsIDB4MUUzNzZDMDgsIDB4Mjc0ODc3NEMsIDB4MzRCMEJDQjUsXFxuICAweDM5MUMwQ0IzLCAweDRFRDhBQTRBLCAweDVCOUNDQTRGLCAweDY4MkU2RkYzLFxcbiAgMHg3NDhGODJFRSwgMHg3OEE1NjM2RiwgMHg4NEM4NzgxNCwgMHg4Q0M3MDIwOCxcXG4gIDB4OTBCRUZGRkEsIDB4QTQ1MDZDRUIsIDB4QkVGOUEzRjcsIDB4QzY3MTc4RjJcXG5dXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXFxuXFxuZnVuY3Rpb24gU2hhMjU2ICgpIHtcXG4gIHRoaXMuaW5pdCgpXFxuXFxuICB0aGlzLl93ID0gVyAvLyBuZXcgQXJyYXkoNjQpXFxuXFxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxcbn1cXG5cXG5pbmhlcml0cyhTaGEyNTYsIEhhc2gpXFxuXFxuU2hhMjU2LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYSA9IDB4NmEwOWU2NjdcXG4gIHRoaXMuX2IgPSAweGJiNjdhZTg1XFxuICB0aGlzLl9jID0gMHgzYzZlZjM3MlxcbiAgdGhpcy5fZCA9IDB4YTU0ZmY1M2FcXG4gIHRoaXMuX2UgPSAweDUxMGU1MjdmXFxuICB0aGlzLl9mID0gMHg5YjA1Njg4Y1xcbiAgdGhpcy5fZyA9IDB4MWY4M2Q5YWJcXG4gIHRoaXMuX2ggPSAweDViZTBjZDE5XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBjaCAoeCwgeSwgeikge1xcbiAgcmV0dXJuIHogXiAoeCAmICh5IF4geikpXFxufVxcblxcbmZ1bmN0aW9uIG1haiAoeCwgeSwgeikge1xcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXFxufVxcblxcbmZ1bmN0aW9uIHNpZ21hMCAoeCkge1xcbiAgcmV0dXJuICh4ID4+PiAyIHwgeCA8PCAzMCkgXiAoeCA+Pj4gMTMgfCB4IDw8IDE5KSBeICh4ID4+PiAyMiB8IHggPDwgMTApXFxufVxcblxcbmZ1bmN0aW9uIHNpZ21hMSAoeCkge1xcbiAgcmV0dXJuICh4ID4+PiA2IHwgeCA8PCAyNikgXiAoeCA+Pj4gMTEgfCB4IDw8IDIxKSBeICh4ID4+PiAyNSB8IHggPDwgNylcXG59XFxuXFxuZnVuY3Rpb24gZ2FtbWEwICh4KSB7XFxuICByZXR1cm4gKHggPj4+IDcgfCB4IDw8IDI1KSBeICh4ID4+PiAxOCB8IHggPDwgMTQpIF4gKHggPj4+IDMpXFxufVxcblxcbmZ1bmN0aW9uIGdhbW1hMSAoeCkge1xcbiAgcmV0dXJuICh4ID4+PiAxNyB8IHggPDwgMTUpIF4gKHggPj4+IDE5IHwgeCA8PCAxMykgXiAoeCA+Pj4gMTApXFxufVxcblxcblNoYTI1Ni5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChNKSB7XFxuICB2YXIgVyA9IHRoaXMuX3dcXG5cXG4gIHZhciBhID0gdGhpcy5fYSB8IDBcXG4gIHZhciBiID0gdGhpcy5fYiB8IDBcXG4gIHZhciBjID0gdGhpcy5fYyB8IDBcXG4gIHZhciBkID0gdGhpcy5fZCB8IDBcXG4gIHZhciBlID0gdGhpcy5fZSB8IDBcXG4gIHZhciBmID0gdGhpcy5fZiB8IDBcXG4gIHZhciBnID0gdGhpcy5fZyB8IDBcXG4gIHZhciBoID0gdGhpcy5faCB8IDBcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgV1tpXSA9IE0ucmVhZEludDMyQkUoaSAqIDQpXFxuICBmb3IgKDsgaSA8IDY0OyArK2kpIFdbaV0gPSAoZ2FtbWExKFdbaSAtIDJdKSArIFdbaSAtIDddICsgZ2FtbWEwKFdbaSAtIDE1XSkgKyBXW2kgLSAxNl0pIHwgMFxcblxcbiAgZm9yICh2YXIgaiA9IDA7IGogPCA2NDsgKytqKSB7XFxuICAgIHZhciBUMSA9IChoICsgc2lnbWExKGUpICsgY2goZSwgZiwgZykgKyBLW2pdICsgV1tqXSkgfCAwXFxuICAgIHZhciBUMiA9IChzaWdtYTAoYSkgKyBtYWooYSwgYiwgYykpIHwgMFxcblxcbiAgICBoID0gZ1xcbiAgICBnID0gZlxcbiAgICBmID0gZVxcbiAgICBlID0gKGQgKyBUMSkgfCAwXFxuICAgIGQgPSBjXFxuICAgIGMgPSBiXFxuICAgIGIgPSBhXFxuICAgIGEgPSAoVDEgKyBUMikgfCAwXFxuICB9XFxuXFxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcXG4gIHRoaXMuX2IgPSAoYiArIHRoaXMuX2IpIHwgMFxcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcXG4gIHRoaXMuX2UgPSAoZSArIHRoaXMuX2UpIHwgMFxcbiAgdGhpcy5fZiA9IChmICsgdGhpcy5fZikgfCAwXFxuICB0aGlzLl9nID0gKGcgKyB0aGlzLl9nKSB8IDBcXG4gIHRoaXMuX2ggPSAoaCArIHRoaXMuX2gpIHwgMFxcbn1cXG5cXG5TaGEyNTYucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMzIpXFxuXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9hLCAwKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYiwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9kLCAxMilcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2UsIDE2KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9nLCAyNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2gsIDI4KVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGEyNTZcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhNalUyTG1welB6TXhOV0VpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1pVRkJaU3h0UWtGQlR5eERRVUZETERaRVFVRlZPMEZCUTJwRExGZEJRVmNzYlVKQlFVOHNRMEZCUXl3MlEwRkJVVHRCUVVNelFpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3TzBGQlJXeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhSUVVGUk8wRkJRM3BDTEZGQlFWRXNVVUZCVVRzN1FVRkZhRUlzYVVKQlFXbENMRkZCUVZFN1FVRkRla0k3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNOb1lTNXFjeTl6YUdFeU5UWXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFRWdTbUYyWVZOamNtbHdkQ0JwYlhCc1pXMWxiblJoZEdsdmJpQnZaaUIwYUdVZ1UyVmpkWEpsSUVoaGMyZ2dRV3huYjNKcGRHaHRMQ0JUU0VFdE1qVTJMQ0JoY3lCa1pXWnBibVZrWEc0Z0tpQnBiaUJHU1ZCVElERTRNQzB5WEc0Z0tpQldaWEp6YVc5dUlESXVNaTFpWlhSaElFTnZjSGx5YVdkb2RDQkJibWRsYkNCTllYSnBiaXdnVUdGMWJDQktiMmh1YzNSdmJpQXlNREF3SUMwZ01qQXdPUzVjYmlBcUlFOTBhR1Z5SUdOdmJuUnlhV0oxZEc5eWN6b2dSM0psWnlCSWIyeDBMQ0JCYm1SeVpYY2dTMlZ3WlhKMExDQlpaRzVoY2l3Z1RHOXpkR2x1WlhSY2JpQXFYRzRnS2k5Y2JseHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVkbUZ5SUVoaGMyZ2dQU0J5WlhGMWFYSmxLQ2N1TDJoaGMyZ25LVnh1ZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzVjYm5aaGNpQkxJRDBnVzF4dUlDQXdlRFF5T0VFeVJqazRMQ0F3ZURjeE16YzBORGt4TENBd2VFSTFRekJHUWtOR0xDQXdlRVU1UWpWRVFrRTFMRnh1SUNBd2VETTVOVFpETWpWQ0xDQXdlRFU1UmpFeE1VWXhMQ0F3ZURreU0wWTRNa0UwTENBd2VFRkNNVU0xUlVRMUxGeHVJQ0F3ZUVRNE1EZEJRVGs0TENBd2VERXlPRE0xUWpBeExDQXdlREkwTXpFNE5VSkZMQ0F3ZURVMU1FTTNSRU16TEZ4dUlDQXdlRGN5UWtVMVJEYzBMQ0F3ZURnd1JFVkNNVVpGTENBd2VEbENSRU13TmtFM0xDQXdlRU14T1VKR01UYzBMRnh1SUNBd2VFVTBPVUkyT1VNeExDQXdlRVZHUWtVME56ZzJMQ0F3ZURCR1F6RTVSRU0yTENBd2VESTBNRU5CTVVORExGeHVJQ0F3ZURKRVJUa3lRelpHTENBd2VEUkJOelE0TkVGQkxDQXdlRFZEUWpCQk9VUkRMQ0F3ZURjMlJqazRPRVJCTEZ4dUlDQXdlRGs0TTBVMU1UVXlMQ0F3ZUVFNE16RkROalpFTENBd2VFSXdNRE15TjBNNExDQXdlRUpHTlRrM1JrTTNMRnh1SUNBd2VFTTJSVEF3UWtZekxDQXdlRVExUVRjNU1UUTNMQ0F3ZURBMlEwRTJNelV4TENBd2VERTBNamt5T1RZM0xGeHVJQ0F3ZURJM1FqY3dRVGcxTENBd2VESkZNVUl5TVRNNExDQXdlRFJFTWtNMlJFWkRMQ0F3ZURVek16Z3dSREV6TEZ4dUlDQXdlRFkxTUVFM016VTBMQ0F3ZURjMk5rRXdRVUpDTENBd2VEZ3hRekpET1RKRkxDQXdlRGt5TnpJeVF6ZzFMRnh1SUNBd2VFRXlRa1pGT0VFeExDQXdlRUU0TVVFMk5qUkNMQ0F3ZUVNeU5FSTRRamN3TENBd2VFTTNOa00xTVVFekxGeHVJQ0F3ZUVReE9USkZPREU1TENBd2VFUTJPVGt3TmpJMExDQXdlRVkwTUVVek5UZzFMQ0F3ZURFd05rRkJNRGN3TEZ4dUlDQXdlREU1UVRSRE1URTJMQ0F3ZURGRk16YzJRekE0TENBd2VESTNORGczTnpSRExDQXdlRE0wUWpCQ1EwSTFMRnh1SUNBd2VETTVNVU13UTBJekxDQXdlRFJGUkRoQlFUUkJMQ0F3ZURWQ09VTkRRVFJHTENBd2VEWTRNa1UyUmtZekxGeHVJQ0F3ZURjME9FWTRNa1ZGTENBd2VEYzRRVFUyTXpaR0xDQXdlRGcwUXpnM09ERTBMQ0F3ZURoRFF6Y3dNakE0TEZ4dUlDQXdlRGt3UWtWR1JrWkJMQ0F3ZUVFME5UQTJRMFZDTENBd2VFSkZSamxCTTBZM0xDQXdlRU0yTnpFM09FWXlYRzVkWEc1Y2JuWmhjaUJYSUQwZ2JtVjNJRUZ5Y21GNUtEWTBLVnh1WEc1bWRXNWpkR2x2YmlCVGFHRXlOVFlnS0NrZ2UxeHVJQ0IwYUdsekxtbHVhWFFvS1Z4dVhHNGdJSFJvYVhNdVgzY2dQU0JYSUM4dklHNWxkeUJCY25KaGVTZzJOQ2xjYmx4dUlDQklZWE5vTG1OaGJHd29kR2hwY3l3Z05qUXNJRFUyS1Z4dWZWeHVYRzVwYm1obGNtbDBjeWhUYUdFeU5UWXNJRWhoYzJncFhHNWNibE5vWVRJMU5pNXdjbTkwYjNSNWNHVXVhVzVwZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTVmWVNBOUlEQjRObUV3T1dVMk5qZGNiaUFnZEdocGN5NWZZaUE5SURCNFltSTJOMkZsT0RWY2JpQWdkR2hwY3k1Zll5QTlJREI0TTJNMlpXWXpOekpjYmlBZ2RHaHBjeTVmWkNBOUlEQjRZVFUwWm1ZMU0yRmNiaUFnZEdocGN5NWZaU0E5SURCNE5URXdaVFV5TjJaY2JpQWdkR2hwY3k1ZlppQTlJREI0T1dJd05UWTRPR05jYmlBZ2RHaHBjeTVmWnlBOUlEQjRNV1k0TTJRNVlXSmNiaUFnZEdocGN5NWZhQ0E5SURCNE5XSmxNR05rTVRsY2JseHVJQ0J5WlhSMWNtNGdkR2hwYzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqYUNBb2VDd2dlU3dnZWlrZ2UxeHVJQ0J5WlhSMWNtNGdlaUJlSUNoNElDWWdLSGtnWGlCNktTbGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnFJQ2g0TENCNUxDQjZLU0I3WEc0Z0lISmxkSFZ5YmlBb2VDQW1JSGtwSUh3Z0tIb2dKaUFvZUNCOElIa3BLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnphV2R0WVRBZ0tIZ3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElENCtQaUF5SUh3Z2VDQThQQ0F6TUNrZ1hpQW9lQ0ErUGo0Z01UTWdmQ0I0SUR3OElERTVLU0JlSUNoNElENCtQaUF5TWlCOElIZ2dQRHdnTVRBcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhOcFoyMWhNU0FvZUNrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnUGo0K0lEWWdmQ0I0SUR3OElESTJLU0JlSUNoNElENCtQaUF4TVNCOElIZ2dQRHdnTWpFcElGNGdLSGdnUGo0K0lESTFJSHdnZUNBOFBDQTNLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5ZVzF0WVRBZ0tIZ3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElENCtQaUEzSUh3Z2VDQThQQ0F5TlNrZ1hpQW9lQ0ErUGo0Z01UZ2dmQ0I0SUR3OElERTBLU0JlSUNoNElENCtQaUF6S1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJuWVcxdFlURWdLSGdwSUh0Y2JpQWdjbVYwZFhKdUlDaDRJRDQrUGlBeE55QjhJSGdnUER3Z01UVXBJRjRnS0hnZ1BqNCtJREU1SUh3Z2VDQThQQ0F4TXlrZ1hpQW9lQ0ErUGo0Z01UQXBYRzU5WEc1Y2JsTm9ZVEkxTmk1d2NtOTBiM1I1Y0dVdVgzVndaR0YwWlNBOUlHWjFibU4wYVc5dUlDaE5LU0I3WEc0Z0lIWmhjaUJYSUQwZ2RHaHBjeTVmZDF4dVhHNGdJSFpoY2lCaElEMGdkR2hwY3k1ZllTQjhJREJjYmlBZ2RtRnlJR0lnUFNCMGFHbHpMbDlpSUh3Z01GeHVJQ0IyWVhJZ1l5QTlJSFJvYVhNdVgyTWdmQ0F3WEc0Z0lIWmhjaUJrSUQwZ2RHaHBjeTVmWkNCOElEQmNiaUFnZG1GeUlHVWdQU0IwYUdsekxsOWxJSHdnTUZ4dUlDQjJZWElnWmlBOUlIUm9hWE11WDJZZ2ZDQXdYRzRnSUhaaGNpQm5JRDBnZEdocGN5NWZaeUI4SURCY2JpQWdkbUZ5SUdnZ1BTQjBhR2x6TGw5b0lId2dNRnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUNzcmFTa2dWMXRwWFNBOUlFMHVjbVZoWkVsdWRETXlRa1VvYVNBcUlEUXBYRzRnSUdadmNpQW9PeUJwSUR3Z05qUTdJQ3NyYVNrZ1YxdHBYU0E5SUNobllXMXRZVEVvVjF0cElDMGdNbDBwSUNzZ1YxdHBJQzBnTjEwZ0t5Qm5ZVzF0WVRBb1YxdHBJQzBnTVRWZEtTQXJJRmRiYVNBdElERTJYU2tnZkNBd1hHNWNiaUFnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENBMk5Ec2dLeXRxS1NCN1hHNGdJQ0FnZG1GeUlGUXhJRDBnS0dnZ0t5QnphV2R0WVRFb1pTa2dLeUJqYUNobExDQm1MQ0JuS1NBcklFdGJhbDBnS3lCWFcycGRLU0I4SURCY2JpQWdJQ0IyWVhJZ1ZESWdQU0FvYzJsbmJXRXdLR0VwSUNzZ2JXRnFLR0VzSUdJc0lHTXBLU0I4SURCY2JseHVJQ0FnSUdnZ1BTQm5YRzRnSUNBZ1p5QTlJR1pjYmlBZ0lDQm1JRDBnWlZ4dUlDQWdJR1VnUFNBb1pDQXJJRlF4S1NCOElEQmNiaUFnSUNCa0lEMGdZMXh1SUNBZ0lHTWdQU0JpWEc0Z0lDQWdZaUE5SUdGY2JpQWdJQ0JoSUQwZ0tGUXhJQ3NnVkRJcElId2dNRnh1SUNCOVhHNWNiaUFnZEdocGN5NWZZU0E5SUNoaElDc2dkR2hwY3k1ZllTa2dmQ0F3WEc0Z0lIUm9hWE11WDJJZ1BTQW9ZaUFySUhSb2FYTXVYMklwSUh3Z01GeHVJQ0IwYUdsekxsOWpJRDBnS0dNZ0t5QjBhR2x6TGw5aktTQjhJREJjYmlBZ2RHaHBjeTVmWkNBOUlDaGtJQ3NnZEdocGN5NWZaQ2tnZkNBd1hHNGdJSFJvYVhNdVgyVWdQU0FvWlNBcklIUm9hWE11WDJVcElId2dNRnh1SUNCMGFHbHpMbDltSUQwZ0tHWWdLeUIwYUdsekxsOW1LU0I4SURCY2JpQWdkR2hwY3k1Zlp5QTlJQ2huSUNzZ2RHaHBjeTVmWnlrZ2ZDQXdYRzRnSUhSb2FYTXVYMmdnUFNBb2FDQXJJSFJvYVhNdVgyZ3BJSHdnTUZ4dWZWeHVYRzVUYUdFeU5UWXVjSEp2ZEc5MGVYQmxMbDlvWVhOb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnU0NBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTZ3pNaWxjYmx4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDloTENBd0tWeHVJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaDBhR2x6TGw5aUxDQTBLVnh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWpMQ0E0S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDlrTENBeE1pbGNiaUFnU0M1M2NtbDBaVWx1ZERNeVFrVW9kR2hwY3k1ZlpTd2dNVFlwWEc0Z0lFZ3VkM0pwZEdWSmJuUXpNa0pGS0hSb2FYTXVYMllzSURJd0tWeHVJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaDBhR2x6TGw5bkxDQXlOQ2xjYmlBZ1NDNTNjbWwwWlVsdWRETXlRa1VvZEdocGN5NWZhQ3dnTWpncFhHNWNiaUFnY21WMGRYSnVJRWhjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRhR0V5TlRaY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTI1Ni5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTM4NC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEzODQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBTSEE1MTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoYTUxMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTUxMi5qc1xcXCIpXFxudmFyIEhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoMTYwKVxcblxcbmZ1bmN0aW9uIFNoYTM4NCAoKSB7XFxuICB0aGlzLmluaXQoKVxcbiAgdGhpcy5fdyA9IFdcXG5cXG4gIEhhc2guY2FsbCh0aGlzLCAxMjgsIDExMilcXG59XFxuXFxuaW5oZXJpdHMoU2hhMzg0LCBTSEE1MTIpXFxuXFxuU2hhMzg0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYWggPSAweGNiYmI5ZDVkXFxuICB0aGlzLl9iaCA9IDB4NjI5YTI5MmFcXG4gIHRoaXMuX2NoID0gMHg5MTU5MDE1YVxcbiAgdGhpcy5fZGggPSAweDE1MmZlY2Q4XFxuICB0aGlzLl9laCA9IDB4NjczMzI2NjdcXG4gIHRoaXMuX2ZoID0gMHg4ZWI0NGE4N1xcbiAgdGhpcy5fZ2ggPSAweGRiMGMyZTBkXFxuICB0aGlzLl9oaCA9IDB4NDdiNTQ4MWRcXG5cXG4gIHRoaXMuX2FsID0gMHhjMTA1OWVkOFxcbiAgdGhpcy5fYmwgPSAweDM2N2NkNTA3XFxuICB0aGlzLl9jbCA9IDB4MzA3MGRkMTdcXG4gIHRoaXMuX2RsID0gMHhmNzBlNTkzOVxcbiAgdGhpcy5fZWwgPSAweGZmYzAwYjMxXFxuICB0aGlzLl9mbCA9IDB4Njg1ODE1MTFcXG4gIHRoaXMuX2dsID0gMHg2NGY5OGZhN1xcbiAgdGhpcy5faGwgPSAweGJlZmE0ZmE0XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5TaGEzODQucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoNDgpXFxuXFxuICBmdW5jdGlvbiB3cml0ZUludDY0QkUgKGgsIGwsIG9mZnNldCkge1xcbiAgICBILndyaXRlSW50MzJCRShoLCBvZmZzZXQpXFxuICAgIEgud3JpdGVJbnQzMkJFKGwsIG9mZnNldCArIDQpXFxuICB9XFxuXFxuICB3cml0ZUludDY0QkUodGhpcy5fYWgsIHRoaXMuX2FsLCAwKVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2JoLCB0aGlzLl9ibCwgOClcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9jaCwgdGhpcy5fY2wsIDE2KVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2RoLCB0aGlzLl9kbCwgMjQpXFxuICB3cml0ZUludDY0QkUodGhpcy5fZWgsIHRoaXMuX2VsLCAzMilcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9maCwgdGhpcy5fZmwsIDQwKVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGEzODRcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhNemcwTG1welB6Z3pObVlpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1pVRkJaU3h0UWtGQlR5eERRVUZETERaRVFVRlZPMEZCUTJwRExHRkJRV0VzYlVKQlFVOHNRMEZCUXl4cFJFRkJWVHRCUVVNdlFpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc05rTkJRVkU3UVVGRE0wSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoT3p0QlFVVnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzJoaExtcHpMM05vWVRNNE5DNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlsY2JuWmhjaUJUU0VFMU1USWdQU0J5WlhGMWFYSmxLQ2N1TDNOb1lUVXhNaWNwWEc1MllYSWdTR0Z6YUNBOUlISmxjWFZwY21Vb0p5NHZhR0Z6YUNjcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JseHVkbUZ5SUZjZ1BTQnVaWGNnUVhKeVlYa29NVFl3S1Z4dVhHNW1kVzVqZEdsdmJpQlRhR0V6T0RRZ0tDa2dlMXh1SUNCMGFHbHpMbWx1YVhRb0tWeHVJQ0IwYUdsekxsOTNJRDBnVjF4dVhHNGdJRWhoYzJndVkyRnNiQ2gwYUdsekxDQXhNamdzSURFeE1pbGNibjFjYmx4dWFXNW9aWEpwZEhNb1UyaGhNemcwTENCVFNFRTFNVElwWEc1Y2JsTm9ZVE00TkM1d2NtOTBiM1I1Y0dVdWFXNXBkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NWZZV2dnUFNBd2VHTmlZbUk1WkRWa1hHNGdJSFJvYVhNdVgySm9JRDBnTUhnMk1qbGhNamt5WVZ4dUlDQjBhR2x6TGw5amFDQTlJREI0T1RFMU9UQXhOV0ZjYmlBZ2RHaHBjeTVmWkdnZ1BTQXdlREUxTW1abFkyUTRYRzRnSUhSb2FYTXVYMlZvSUQwZ01IZzJOek16TWpZMk4xeHVJQ0IwYUdsekxsOW1hQ0E5SURCNE9HVmlORFJoT0RkY2JpQWdkR2hwY3k1ZloyZ2dQU0F3ZUdSaU1HTXlaVEJrWEc0Z0lIUm9hWE11WDJob0lEMGdNSGcwTjJJMU5EZ3haRnh1WEc0Z0lIUm9hWE11WDJGc0lEMGdNSGhqTVRBMU9XVmtPRnh1SUNCMGFHbHpMbDlpYkNBOUlEQjRNelkzWTJRMU1EZGNiaUFnZEdocGN5NWZZMndnUFNBd2VETXdOekJrWkRFM1hHNGdJSFJvYVhNdVgyUnNJRDBnTUhobU56QmxOVGt6T1Z4dUlDQjBhR2x6TGw5bGJDQTlJREI0Wm1aak1EQmlNekZjYmlBZ2RHaHBjeTVmWm13Z1BTQXdlRFk0TlRneE5URXhYRzRnSUhSb2FYTXVYMmRzSUQwZ01IZzJOR1k1T0daaE4xeHVJQ0IwYUdsekxsOW9iQ0E5SURCNFltVm1ZVFJtWVRSY2JseHVJQ0J5WlhSMWNtNGdkR2hwYzF4dWZWeHVYRzVUYUdFek9EUXVjSEp2ZEc5MGVYQmxMbDlvWVhOb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnU0NBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTZzBPQ2xjYmx4dUlDQm1kVzVqZEdsdmJpQjNjbWwwWlVsdWREWTBRa1VnS0dnc0lHd3NJRzltWm5ObGRDa2dlMXh1SUNBZ0lFZ3VkM0pwZEdWSmJuUXpNa0pGS0dnc0lHOW1abk5sZENsY2JpQWdJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaHNMQ0J2Wm1aelpYUWdLeUEwS1Z4dUlDQjlYRzVjYmlBZ2QzSnBkR1ZKYm5RMk5FSkZLSFJvYVhNdVgyRm9MQ0IwYUdsekxsOWhiQ3dnTUNsY2JpQWdkM0pwZEdWSmJuUTJORUpGS0hSb2FYTXVYMkpvTENCMGFHbHpMbDlpYkN3Z09DbGNiaUFnZDNKcGRHVkpiblEyTkVKRktIUm9hWE11WDJOb0xDQjBhR2x6TGw5amJDd2dNVFlwWEc0Z0lIZHlhWFJsU1c1ME5qUkNSU2gwYUdsekxsOWthQ3dnZEdocGN5NWZaR3dzSURJMEtWeHVJQ0IzY21sMFpVbHVkRFkwUWtVb2RHaHBjeTVmWldnc0lIUm9hWE11WDJWc0xDQXpNaWxjYmlBZ2QzSnBkR1ZKYm5RMk5FSkZLSFJvYVhNdVgyWm9MQ0IwYUdsekxsOW1iQ3dnTkRBcFhHNWNiaUFnY21WMGRYSnVJRWhjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRhR0V6T0RSY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTM4NC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTUxMi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGE1MTIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvaGFzaC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbnZhciBLID0gW1xcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcXG4gIDB4YjVjMGZiY2YsIDB4ZWM0ZDNiMmYsIDB4ZTliNWRiYTUsIDB4ODE4OWRiYmMsXFxuICAweDM5NTZjMjViLCAweGYzNDhiNTM4LCAweDU5ZjExMWYxLCAweGI2MDVkMDE5LFxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcXG4gIDB4ZDgwN2FhOTgsIDB4YTMwMzAyNDIsIDB4MTI4MzViMDEsIDB4NDU3MDZmYmUsXFxuICAweDI0MzE4NWJlLCAweDRlZTRiMjhjLCAweDU1MGM3ZGMzLCAweGQ1ZmZiNGUyLFxcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcXG4gIDB4OWJkYzA2YTcsIDB4MjVjNzEyMzUsIDB4YzE5YmYxNzQsIDB4Y2Y2OTI2OTQsXFxuICAweGU0OWI2OWMxLCAweDllZjE0YWQyLCAweGVmYmU0Nzg2LCAweDM4NGYyNWUzLFxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcXG4gIDB4MmRlOTJjNmYsIDB4NTkyYjAyNzUsIDB4NGE3NDg0YWEsIDB4NmVhNmU0ODMsXFxuICAweDVjYjBhOWRjLCAweGJkNDFmYmQ0LCAweDc2Zjk4OGRhLCAweDgzMTE1M2I1LFxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcXG4gIDB4YjAwMzI3YzgsIDB4OThmYjIxM2YsIDB4YmY1OTdmYzcsIDB4YmVlZjBlZTQsXFxuICAweGM2ZTAwYmYzLCAweDNkYTg4ZmMyLCAweGQ1YTc5MTQ3LCAweDkzMGFhNzI1LFxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcXG4gIDB4MjdiNzBhODUsIDB4NDZkMjJmZmMsIDB4MmUxYjIxMzgsIDB4NWMyNmM5MjYsXFxuICAweDRkMmM2ZGZjLCAweDVhYzQyYWVkLCAweDUzMzgwZDEzLCAweDlkOTViM2RmLFxcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcXG4gIDB4ODFjMmM5MmUsIDB4NDdlZGFlZTYsIDB4OTI3MjJjODUsIDB4MTQ4MjM1M2IsXFxuICAweGEyYmZlOGExLCAweDRjZjEwMzY0LCAweGE4MWE2NjRiLCAweGJjNDIzMDAxLFxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcXG4gIDB4ZDE5MmU4MTksIDB4ZDZlZjUyMTgsIDB4ZDY5OTA2MjQsIDB4NTU2NWE5MTAsXFxuICAweGY0MGUzNTg1LCAweDU3NzEyMDJhLCAweDEwNmFhMDcwLCAweDMyYmJkMWI4LFxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcXG4gIDB4Mjc0ODc3NGMsIDB4ZGY4ZWViOTksIDB4MzRiMGJjYjUsIDB4ZTE5YjQ4YTgsXFxuICAweDM5MWMwY2IzLCAweGM1Yzk1YTYzLCAweDRlZDhhYTRhLCAweGUzNDE4YWNiLFxcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcXG4gIDB4NzQ4ZjgyZWUsIDB4NWRlZmIyZmMsIDB4NzhhNTYzNmYsIDB4NDMxNzJmNjAsXFxuICAweDg0Yzg3ODE0LCAweGExZjBhYjcyLCAweDhjYzcwMjA4LCAweDFhNjQzOWVjLFxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcXG4gIDB4YmVmOWEzZjcsIDB4YjJjNjc5MTUsIDB4YzY3MTc4ZjIsIDB4ZTM3MjUzMmIsXFxuICAweGNhMjczZWNlLCAweGVhMjY2MTljLCAweGQxODZiOGM3LCAweDIxYzBjMjA3LFxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcXG4gIDB4MDZmMDY3YWEsIDB4NzIxNzZmYmEsIDB4MGE2MzdkYzUsIDB4YTJjODk4YTYsXFxuICAweDExM2Y5ODA0LCAweGJlZjkwZGFlLCAweDFiNzEwYjM1LCAweDEzMWM0NzFiLFxcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcXG4gIDB4M2M5ZWJlMGEsIDB4MTVjOWJlYmMsIDB4NDMxZDY3YzQsIDB4OWMxMDBkNGMsXFxuICAweDRjYzVkNGJlLCAweGNiM2U0MmI2LCAweDU5N2YyOTljLCAweGZjNjU3ZTJhLFxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xcbl1cXG5cXG52YXIgVyA9IG5ldyBBcnJheSgxNjApXFxuXFxuZnVuY3Rpb24gU2hhNTEyICgpIHtcXG4gIHRoaXMuaW5pdCgpXFxuICB0aGlzLl93ID0gV1xcblxcbiAgSGFzaC5jYWxsKHRoaXMsIDEyOCwgMTEyKVxcbn1cXG5cXG5pbmhlcml0cyhTaGE1MTIsIEhhc2gpXFxuXFxuU2hhNTEyLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYWggPSAweDZhMDllNjY3XFxuICB0aGlzLl9iaCA9IDB4YmI2N2FlODVcXG4gIHRoaXMuX2NoID0gMHgzYzZlZjM3MlxcbiAgdGhpcy5fZGggPSAweGE1NGZmNTNhXFxuICB0aGlzLl9laCA9IDB4NTEwZTUyN2ZcXG4gIHRoaXMuX2ZoID0gMHg5YjA1Njg4Y1xcbiAgdGhpcy5fZ2ggPSAweDFmODNkOWFiXFxuICB0aGlzLl9oaCA9IDB4NWJlMGNkMTlcXG5cXG4gIHRoaXMuX2FsID0gMHhmM2JjYzkwOFxcbiAgdGhpcy5fYmwgPSAweDg0Y2FhNzNiXFxuICB0aGlzLl9jbCA9IDB4ZmU5NGY4MmJcXG4gIHRoaXMuX2RsID0gMHg1ZjFkMzZmMVxcbiAgdGhpcy5fZWwgPSAweGFkZTY4MmQxXFxuICB0aGlzLl9mbCA9IDB4MmIzZTZjMWZcXG4gIHRoaXMuX2dsID0gMHhmYjQxYmQ2YlxcbiAgdGhpcy5faGwgPSAweDEzN2UyMTc5XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBDaCAoeCwgeSwgeikge1xcbiAgcmV0dXJuIHogXiAoeCAmICh5IF4geikpXFxufVxcblxcbmZ1bmN0aW9uIG1haiAoeCwgeSwgeikge1xcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXFxufVxcblxcbmZ1bmN0aW9uIHNpZ21hMCAoeCwgeGwpIHtcXG4gIHJldHVybiAoeCA+Pj4gMjggfCB4bCA8PCA0KSBeICh4bCA+Pj4gMiB8IHggPDwgMzApIF4gKHhsID4+PiA3IHwgeCA8PCAyNSlcXG59XFxuXFxuZnVuY3Rpb24gc2lnbWExICh4LCB4bCkge1xcbiAgcmV0dXJuICh4ID4+PiAxNCB8IHhsIDw8IDE4KSBeICh4ID4+PiAxOCB8IHhsIDw8IDE0KSBeICh4bCA+Pj4gOSB8IHggPDwgMjMpXFxufVxcblxcbmZ1bmN0aW9uIEdhbW1hMCAoeCwgeGwpIHtcXG4gIHJldHVybiAoeCA+Pj4gMSB8IHhsIDw8IDMxKSBeICh4ID4+PiA4IHwgeGwgPDwgMjQpIF4gKHggPj4+IDcpXFxufVxcblxcbmZ1bmN0aW9uIEdhbW1hMGwgKHgsIHhsKSB7XFxuICByZXR1cm4gKHggPj4+IDEgfCB4bCA8PCAzMSkgXiAoeCA+Pj4gOCB8IHhsIDw8IDI0KSBeICh4ID4+PiA3IHwgeGwgPDwgMjUpXFxufVxcblxcbmZ1bmN0aW9uIEdhbW1hMSAoeCwgeGwpIHtcXG4gIHJldHVybiAoeCA+Pj4gMTkgfCB4bCA8PCAxMykgXiAoeGwgPj4+IDI5IHwgeCA8PCAzKSBeICh4ID4+PiA2KVxcbn1cXG5cXG5mdW5jdGlvbiBHYW1tYTFsICh4LCB4bCkge1xcbiAgcmV0dXJuICh4ID4+PiAxOSB8IHhsIDw8IDEzKSBeICh4bCA+Pj4gMjkgfCB4IDw8IDMpIF4gKHggPj4+IDYgfCB4bCA8PCAyNilcXG59XFxuXFxuZnVuY3Rpb24gZ2V0Q2FycnkgKGEsIGIpIHtcXG4gIHJldHVybiAoYSA+Pj4gMCkgPCAoYiA+Pj4gMCkgPyAxIDogMFxcbn1cXG5cXG5TaGE1MTIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xcbiAgdmFyIFcgPSB0aGlzLl93XFxuXFxuICB2YXIgYWggPSB0aGlzLl9haCB8IDBcXG4gIHZhciBiaCA9IHRoaXMuX2JoIHwgMFxcbiAgdmFyIGNoID0gdGhpcy5fY2ggfCAwXFxuICB2YXIgZGggPSB0aGlzLl9kaCB8IDBcXG4gIHZhciBlaCA9IHRoaXMuX2VoIHwgMFxcbiAgdmFyIGZoID0gdGhpcy5fZmggfCAwXFxuICB2YXIgZ2ggPSB0aGlzLl9naCB8IDBcXG4gIHZhciBoaCA9IHRoaXMuX2hoIHwgMFxcblxcbiAgdmFyIGFsID0gdGhpcy5fYWwgfCAwXFxuICB2YXIgYmwgPSB0aGlzLl9ibCB8IDBcXG4gIHZhciBjbCA9IHRoaXMuX2NsIHwgMFxcbiAgdmFyIGRsID0gdGhpcy5fZGwgfCAwXFxuICB2YXIgZWwgPSB0aGlzLl9lbCB8IDBcXG4gIHZhciBmbCA9IHRoaXMuX2ZsIHwgMFxcbiAgdmFyIGdsID0gdGhpcy5fZ2wgfCAwXFxuICB2YXIgaGwgPSB0aGlzLl9obCB8IDBcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7IGkgKz0gMikge1xcbiAgICBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcXG4gICAgV1tpICsgMV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0ICsgNClcXG4gIH1cXG4gIGZvciAoOyBpIDwgMTYwOyBpICs9IDIpIHtcXG4gICAgdmFyIHhoID0gV1tpIC0gMTUgKiAyXVxcbiAgICB2YXIgeGwgPSBXW2kgLSAxNSAqIDIgKyAxXVxcbiAgICB2YXIgZ2FtbWEwID0gR2FtbWEwKHhoLCB4bClcXG4gICAgdmFyIGdhbW1hMGwgPSBHYW1tYTBsKHhsLCB4aClcXG5cXG4gICAgeGggPSBXW2kgLSAyICogMl1cXG4gICAgeGwgPSBXW2kgLSAyICogMiArIDFdXFxuICAgIHZhciBnYW1tYTEgPSBHYW1tYTEoeGgsIHhsKVxcbiAgICB2YXIgZ2FtbWExbCA9IEdhbW1hMWwoeGwsIHhoKVxcblxcbiAgICAvLyBXW2ldID0gZ2FtbWEwICsgV1tpIC0gN10gKyBnYW1tYTEgKyBXW2kgLSAxNl1cXG4gICAgdmFyIFdpN2ggPSBXW2kgLSA3ICogMl1cXG4gICAgdmFyIFdpN2wgPSBXW2kgLSA3ICogMiArIDFdXFxuXFxuICAgIHZhciBXaTE2aCA9IFdbaSAtIDE2ICogMl1cXG4gICAgdmFyIFdpMTZsID0gV1tpIC0gMTYgKiAyICsgMV1cXG5cXG4gICAgdmFyIFdpbCA9IChnYW1tYTBsICsgV2k3bCkgfCAwXFxuICAgIHZhciBXaWggPSAoZ2FtbWEwICsgV2k3aCArIGdldENhcnJ5KFdpbCwgZ2FtbWEwbCkpIHwgMFxcbiAgICBXaWwgPSAoV2lsICsgZ2FtbWExbCkgfCAwXFxuICAgIFdpaCA9IChXaWggKyBnYW1tYTEgKyBnZXRDYXJyeShXaWwsIGdhbW1hMWwpKSB8IDBcXG4gICAgV2lsID0gKFdpbCArIFdpMTZsKSB8IDBcXG4gICAgV2loID0gKFdpaCArIFdpMTZoICsgZ2V0Q2FycnkoV2lsLCBXaTE2bCkpIHwgMFxcblxcbiAgICBXW2ldID0gV2loXFxuICAgIFdbaSArIDFdID0gV2lsXFxuICB9XFxuXFxuICBmb3IgKHZhciBqID0gMDsgaiA8IDE2MDsgaiArPSAyKSB7XFxuICAgIFdpaCA9IFdbal1cXG4gICAgV2lsID0gV1tqICsgMV1cXG5cXG4gICAgdmFyIG1hamggPSBtYWooYWgsIGJoLCBjaClcXG4gICAgdmFyIG1hamwgPSBtYWooYWwsIGJsLCBjbClcXG5cXG4gICAgdmFyIHNpZ21hMGggPSBzaWdtYTAoYWgsIGFsKVxcbiAgICB2YXIgc2lnbWEwbCA9IHNpZ21hMChhbCwgYWgpXFxuICAgIHZhciBzaWdtYTFoID0gc2lnbWExKGVoLCBlbClcXG4gICAgdmFyIHNpZ21hMWwgPSBzaWdtYTEoZWwsIGVoKVxcblxcbiAgICAvLyB0MSA9IGggKyBzaWdtYTEgKyBjaCArIEtbal0gKyBXW2pdXFxuICAgIHZhciBLaWggPSBLW2pdXFxuICAgIHZhciBLaWwgPSBLW2ogKyAxXVxcblxcbiAgICB2YXIgY2hoID0gQ2goZWgsIGZoLCBnaClcXG4gICAgdmFyIGNobCA9IENoKGVsLCBmbCwgZ2wpXFxuXFxuICAgIHZhciB0MWwgPSAoaGwgKyBzaWdtYTFsKSB8IDBcXG4gICAgdmFyIHQxaCA9IChoaCArIHNpZ21hMWggKyBnZXRDYXJyeSh0MWwsIGhsKSkgfCAwXFxuICAgIHQxbCA9ICh0MWwgKyBjaGwpIHwgMFxcbiAgICB0MWggPSAodDFoICsgY2hoICsgZ2V0Q2FycnkodDFsLCBjaGwpKSB8IDBcXG4gICAgdDFsID0gKHQxbCArIEtpbCkgfCAwXFxuICAgIHQxaCA9ICh0MWggKyBLaWggKyBnZXRDYXJyeSh0MWwsIEtpbCkpIHwgMFxcbiAgICB0MWwgPSAodDFsICsgV2lsKSB8IDBcXG4gICAgdDFoID0gKHQxaCArIFdpaCArIGdldENhcnJ5KHQxbCwgV2lsKSkgfCAwXFxuXFxuICAgIC8vIHQyID0gc2lnbWEwICsgbWFqXFxuICAgIHZhciB0MmwgPSAoc2lnbWEwbCArIG1hamwpIHwgMFxcbiAgICB2YXIgdDJoID0gKHNpZ21hMGggKyBtYWpoICsgZ2V0Q2FycnkodDJsLCBzaWdtYTBsKSkgfCAwXFxuXFxuICAgIGhoID0gZ2hcXG4gICAgaGwgPSBnbFxcbiAgICBnaCA9IGZoXFxuICAgIGdsID0gZmxcXG4gICAgZmggPSBlaFxcbiAgICBmbCA9IGVsXFxuICAgIGVsID0gKGRsICsgdDFsKSB8IDBcXG4gICAgZWggPSAoZGggKyB0MWggKyBnZXRDYXJyeShlbCwgZGwpKSB8IDBcXG4gICAgZGggPSBjaFxcbiAgICBkbCA9IGNsXFxuICAgIGNoID0gYmhcXG4gICAgY2wgPSBibFxcbiAgICBiaCA9IGFoXFxuICAgIGJsID0gYWxcXG4gICAgYWwgPSAodDFsICsgdDJsKSB8IDBcXG4gICAgYWggPSAodDFoICsgdDJoICsgZ2V0Q2FycnkoYWwsIHQxbCkpIHwgMFxcbiAgfVxcblxcbiAgdGhpcy5fYWwgPSAodGhpcy5fYWwgKyBhbCkgfCAwXFxuICB0aGlzLl9ibCA9ICh0aGlzLl9ibCArIGJsKSB8IDBcXG4gIHRoaXMuX2NsID0gKHRoaXMuX2NsICsgY2wpIHwgMFxcbiAgdGhpcy5fZGwgPSAodGhpcy5fZGwgKyBkbCkgfCAwXFxuICB0aGlzLl9lbCA9ICh0aGlzLl9lbCArIGVsKSB8IDBcXG4gIHRoaXMuX2ZsID0gKHRoaXMuX2ZsICsgZmwpIHwgMFxcbiAgdGhpcy5fZ2wgPSAodGhpcy5fZ2wgKyBnbCkgfCAwXFxuICB0aGlzLl9obCA9ICh0aGlzLl9obCArIGhsKSB8IDBcXG5cXG4gIHRoaXMuX2FoID0gKHRoaXMuX2FoICsgYWggKyBnZXRDYXJyeSh0aGlzLl9hbCwgYWwpKSB8IDBcXG4gIHRoaXMuX2JoID0gKHRoaXMuX2JoICsgYmggKyBnZXRDYXJyeSh0aGlzLl9ibCwgYmwpKSB8IDBcXG4gIHRoaXMuX2NoID0gKHRoaXMuX2NoICsgY2ggKyBnZXRDYXJyeSh0aGlzLl9jbCwgY2wpKSB8IDBcXG4gIHRoaXMuX2RoID0gKHRoaXMuX2RoICsgZGggKyBnZXRDYXJyeSh0aGlzLl9kbCwgZGwpKSB8IDBcXG4gIHRoaXMuX2VoID0gKHRoaXMuX2VoICsgZWggKyBnZXRDYXJyeSh0aGlzLl9lbCwgZWwpKSB8IDBcXG4gIHRoaXMuX2ZoID0gKHRoaXMuX2ZoICsgZmggKyBnZXRDYXJyeSh0aGlzLl9mbCwgZmwpKSB8IDBcXG4gIHRoaXMuX2doID0gKHRoaXMuX2doICsgZ2ggKyBnZXRDYXJyeSh0aGlzLl9nbCwgZ2wpKSB8IDBcXG4gIHRoaXMuX2hoID0gKHRoaXMuX2hoICsgaGggKyBnZXRDYXJyeSh0aGlzLl9obCwgaGwpKSB8IDBcXG59XFxuXFxuU2hhNTEyLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDY0KVxcblxcbiAgZnVuY3Rpb24gd3JpdGVJbnQ2NEJFIChoLCBsLCBvZmZzZXQpIHtcXG4gICAgSC53cml0ZUludDMyQkUoaCwgb2Zmc2V0KVxcbiAgICBILndyaXRlSW50MzJCRShsLCBvZmZzZXQgKyA0KVxcbiAgfVxcblxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2FoLCB0aGlzLl9hbCwgMClcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9iaCwgdGhpcy5fYmwsIDgpXFxuICB3cml0ZUludDY0QkUodGhpcy5fY2gsIHRoaXMuX2NsLCAxNilcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9kaCwgdGhpcy5fZGwsIDI0KVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2VoLCB0aGlzLl9lbCwgMzIpXFxuICB3cml0ZUludDY0QkUodGhpcy5fZmgsIHRoaXMuX2ZsLCA0MClcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9naCwgdGhpcy5fZ2wsIDQ4KVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2hoLCB0aGlzLl9obCwgNTYpXFxuXFxuICByZXR1cm4gSFxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTUxMlxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5emFHRXVhbk12YzJoaE5URXlMbXB6UHpWbE5HSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUTBGQlVUdEJRVU16UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ08wRkJRMEU3UVVGRFFUdEJRVU5CTEZGQlFWRXNVMEZCVXp0QlFVTnFRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeFRRVUZUTzBGQlF6RkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNOb1lTNXFjeTl6YUdFMU1USXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNTJZWElnU0dGemFDQTlJSEpsY1hWcGNtVW9KeTR2YUdGemFDY3BYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSmNibHh1ZG1GeUlFc2dQU0JiWEc0Z0lEQjROREk0WVRKbU9UZ3NJREI0WkRjeU9HRmxNaklzSURCNE56RXpOelEwT1RFc0lEQjRNak5sWmpZMVkyUXNYRzRnSURCNFlqVmpNR1ppWTJZc0lEQjRaV00wWkROaU1tWXNJREI0WlRsaU5XUmlZVFVzSURCNE9ERTRPV1JpWW1Nc1hHNGdJREI0TXprMU5tTXlOV0lzSURCNFpqTTBPR0kxTXpnc0lEQjROVGxtTVRFeFpqRXNJREI0WWpZd05XUXdNVGtzWEc0Z0lEQjRPVEl6WmpneVlUUXNJREI0WVdZeE9UUm1PV0lzSURCNFlXSXhZelZsWkRVc0lEQjRaR0UyWkRneE1UZ3NYRzRnSURCNFpEZ3dOMkZoT1Rnc0lEQjRZVE13TXpBeU5ESXNJREI0TVRJNE16VmlNREVzSURCNE5EVTNNRFptWW1Vc1hHNGdJREI0TWpRek1UZzFZbVVzSURCNE5HVmxOR0l5T0dNc0lEQjROVFV3WXpka1l6TXNJREI0WkRWbVptSTBaVElzWEc0Z0lEQjROekppWlRWa056UXNJREI0WmpJM1lqZzVObVlzSURCNE9EQmtaV0l4Wm1Vc0lEQjRNMkl4TmprMllqRXNYRzRnSURCNE9XSmtZekEyWVRjc0lEQjRNalZqTnpFeU16VXNJREI0WXpFNVltWXhOelFzSURCNFkyWTJPVEkyT1RRc1hHNGdJREI0WlRRNVlqWTVZekVzSURCNE9XVm1NVFJoWkRJc0lEQjRaV1ppWlRRM09EWXNJREI0TXpnMFpqSTFaVE1zWEc0Z0lEQjRNR1pqTVRsa1l6WXNJREI0T0dJNFkyUTFZalVzSURCNE1qUXdZMkV4WTJNc0lEQjROemRoWXpsak5qVXNYRzRnSURCNE1tUmxPVEpqTm1Zc0lEQjROVGt5WWpBeU56VXNJREI0TkdFM05EZzBZV0VzSURCNE5tVmhObVUwT0RNc1hHNGdJREI0TldOaU1HRTVaR01zSURCNFltUTBNV1ppWkRRc0lEQjROelptT1RnNFpHRXNJREI0T0RNeE1UVXpZalVzWEc0Z0lEQjRPVGd6WlRVeE5USXNJREI0WldVMk5tUm1ZV0lzSURCNFlUZ3pNV00yTm1Rc0lEQjRNbVJpTkRNeU1UQXNYRzRnSURCNFlqQXdNekkzWXpnc0lEQjRPVGhtWWpJeE0yWXNJREI0WW1ZMU9UZG1ZemNzSURCNFltVmxaakJsWlRRc1hHNGdJREI0WXpabE1EQmlaak1zSURCNE0yUmhPRGhtWXpJc0lEQjRaRFZoTnpreE5EY3NJREI0T1RNd1lXRTNNalVzWEc0Z0lEQjRNRFpqWVRZek5URXNJREI0WlRBd016Z3lObVlzSURCNE1UUXlPVEk1Tmpjc0lEQjRNR0V3WlRabE56QXNYRzRnSURCNE1qZGlOekJoT0RVc0lEQjRORFprTWpKbVptTXNJREI0TW1VeFlqSXhNemdzSURCNE5XTXlObU01TWpZc1hHNGdJREI0TkdReVl6WmtabU1zSURCNE5XRmpOREpoWldRc0lEQjROVE16T0RCa01UTXNJREI0T1dRNU5XSXpaR1lzWEc0Z0lEQjROalV3WVRjek5UUXNJREI0T0dKaFpqWXpaR1VzSURCNE56WTJZVEJoWW1Jc0lEQjRNMk0zTjJJeVlUZ3NYRzRnSURCNE9ERmpNbU01TW1Vc0lEQjRORGRsWkdGbFpUWXNJREI0T1RJM01qSmpPRFVzSURCNE1UUTRNak0xTTJJc1hHNGdJREI0WVRKaVptVTRZVEVzSURCNE5HTm1NVEF6TmpRc0lEQjRZVGd4WVRZMk5HSXNJREI0WW1NME1qTXdNREVzWEc0Z0lEQjRZekkwWWpoaU56QXNJREI0WkRCbU9EazNPVEVzSURCNFl6YzJZelV4WVRNc0lEQjRNRFkxTkdKbE16QXNYRzRnSURCNFpERTVNbVU0TVRrc0lEQjRaRFpsWmpVeU1UZ3NJREI0WkRZNU9UQTJNalFzSURCNE5UVTJOV0U1TVRBc1hHNGdJREI0WmpRd1pUTTFPRFVzSURCNE5UYzNNVEl3TW1Fc0lEQjRNVEEyWVdFd056QXNJREI0TXpKaVltUXhZamdzWEc0Z0lEQjRNVGxoTkdNeE1UWXNJREI0WWpoa01tUXdZemdzSURCNE1XVXpOelpqTURnc0lEQjROVEUwTVdGaU5UTXNYRzRnSURCNE1qYzBPRGMzTkdNc0lEQjRaR1k0WldWaU9Ua3NJREI0TXpSaU1HSmpZalVzSURCNFpURTVZalE0WVRnc1hHNGdJREI0TXpreFl6QmpZak1zSURCNFl6VmpPVFZoTmpNc0lEQjROR1ZrT0dGaE5HRXNJREI0WlRNME1UaGhZMklzWEc0Z0lEQjROV0k1WTJOaE5HWXNJREI0TnpjMk0yVXpOek1zSURCNE5qZ3laVFptWmpNc0lEQjRaRFppTW1JNFlUTXNYRzRnSURCNE56UTRaamd5WldVc0lEQjROV1JsWm1JeVptTXNJREI0TnpoaE5UWXpObVlzSURCNE5ETXhOekptTmpBc1hHNGdJREI0T0RSak9EYzRNVFFzSURCNFlURm1NR0ZpTnpJc0lEQjRPR05qTnpBeU1EZ3NJREI0TVdFMk5ETTVaV01zWEc0Z0lEQjRPVEJpWldabVptRXNJREI0TWpNMk16RmxNamdzSURCNFlUUTFNRFpqWldJc0lEQjRaR1U0TW1Ka1pUa3NYRzRnSURCNFltVm1PV0V6Wmpjc0lEQjRZakpqTmpjNU1UVXNJREI0WXpZM01UYzRaaklzSURCNFpUTTNNalV6TW1Jc1hHNGdJREI0WTJFeU56TmxZMlVzSURCNFpXRXlOall4T1dNc0lEQjRaREU0Tm1JNFl6Y3NJREI0TWpGak1HTXlNRGNzWEc0Z0lEQjRaV0ZrWVRka1pEWXNJREI0WTJSbE1HVmlNV1VzSURCNFpqVTNaRFJtTjJZc0lEQjRaV1UyWldReE56Z3NYRzRnSURCNE1EWm1NRFkzWVdFc0lEQjROekl4TnpabVltRXNJREI0TUdFMk16ZGtZelVzSURCNFlUSmpPRGs0WVRZc1hHNGdJREI0TVRFelpqazRNRFFzSURCNFltVm1PVEJrWVdVc0lEQjRNV0kzTVRCaU16VXNJREI0TVRNeFl6UTNNV0lzWEc0Z0lEQjRNamhrWWpjM1pqVXNJREI0TWpNd05EZGtPRFFzSURCNE16SmpZV0ZpTjJJc0lEQjROREJqTnpJME9UTXNYRzRnSURCNE0yTTVaV0psTUdFc0lEQjRNVFZqT1dKbFltTXNJREI0TkRNeFpEWTNZelFzSURCNE9XTXhNREJrTkdNc1hHNGdJREI0TkdOak5XUTBZbVVzSURCNFkySXpaVFF5WWpZc0lEQjROVGszWmpJNU9XTXNJREI0Wm1NMk5UZGxNbUVzWEc0Z0lEQjROV1pqWWpabVlXSXNJREI0TTJGa05tWmhaV01zSURCNE5tTTBOREU1T0dNc0lEQjROR0UwTnpVNE1UZGNibDFjYmx4dWRtRnlJRmNnUFNCdVpYY2dRWEp5WVhrb01UWXdLVnh1WEc1bWRXNWpkR2x2YmlCVGFHRTFNVElnS0NrZ2UxeHVJQ0IwYUdsekxtbHVhWFFvS1Z4dUlDQjBhR2x6TGw5M0lEMGdWMXh1WEc0Z0lFaGhjMmd1WTJGc2JDaDBhR2x6TENBeE1qZ3NJREV4TWlsY2JuMWNibHh1YVc1b1pYSnBkSE1vVTJoaE5URXlMQ0JJWVhOb0tWeHVYRzVUYUdFMU1USXVjSEp2ZEc5MGVYQmxMbWx1YVhRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WDJGb0lEMGdNSGcyWVRBNVpUWTJOMXh1SUNCMGFHbHpMbDlpYUNBOUlEQjRZbUkyTjJGbE9EVmNiaUFnZEdocGN5NWZZMmdnUFNBd2VETmpObVZtTXpjeVhHNGdJSFJvYVhNdVgyUm9JRDBnTUhoaE5UUm1aalV6WVZ4dUlDQjBhR2x6TGw5bGFDQTlJREI0TlRFd1pUVXlOMlpjYmlBZ2RHaHBjeTVmWm1nZ1BTQXdlRGxpTURVMk9EaGpYRzRnSUhSb2FYTXVYMmRvSUQwZ01IZ3haamd6WkRsaFlseHVJQ0IwYUdsekxsOW9hQ0E5SURCNE5XSmxNR05rTVRsY2JseHVJQ0IwYUdsekxsOWhiQ0E5SURCNFpqTmlZMk01TURoY2JpQWdkR2hwY3k1Zlltd2dQU0F3ZURnMFkyRmhOek5pWEc0Z0lIUm9hWE11WDJOc0lEMGdNSGhtWlRrMFpqZ3lZbHh1SUNCMGFHbHpMbDlrYkNBOUlEQjROV1l4WkRNMlpqRmNiaUFnZEdocGN5NWZaV3dnUFNBd2VHRmtaVFk0TW1ReFhHNGdJSFJvYVhNdVgyWnNJRDBnTUhneVlqTmxObU14Wmx4dUlDQjBhR2x6TGw5bmJDQTlJREI0Wm1JME1XSmtObUpjYmlBZ2RHaHBjeTVmYUd3Z1BTQXdlREV6TjJVeU1UYzVYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVpuVnVZM1JwYjI0Z1EyZ2dLSGdzSUhrc0lIb3BJSHRjYmlBZ2NtVjBkWEp1SUhvZ1hpQW9lQ0FtSUNoNUlGNGdlaWtwWEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoYWlBb2VDd2dlU3dnZWlrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnSmlCNUtTQjhJQ2g2SUNZZ0tIZ2dmQ0I1S1NsY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJsbmJXRXdJQ2g0TENCNGJDa2dlMXh1SUNCeVpYUjFjbTRnS0hnZ1BqNCtJREk0SUh3Z2VHd2dQRHdnTkNrZ1hpQW9lR3dnUGo0K0lESWdmQ0I0SUR3OElETXdLU0JlSUNoNGJDQStQajRnTnlCOElIZ2dQRHdnTWpVcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhOcFoyMWhNU0FvZUN3Z2VHd3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElENCtQaUF4TkNCOElIaHNJRHc4SURFNEtTQmVJQ2g0SUQ0K1BpQXhPQ0I4SUhoc0lEdzhJREUwS1NCZUlDaDRiQ0ErUGo0Z09TQjhJSGdnUER3Z01qTXBYRzU5WEc1Y2JtWjFibU4wYVc5dUlFZGhiVzFoTUNBb2VDd2dlR3dwSUh0Y2JpQWdjbVYwZFhKdUlDaDRJRDQrUGlBeElId2dlR3dnUER3Z016RXBJRjRnS0hnZ1BqNCtJRGdnZkNCNGJDQThQQ0F5TkNrZ1hpQW9lQ0ErUGo0Z055bGNibjFjYmx4dVpuVnVZM1JwYjI0Z1IyRnRiV0V3YkNBb2VDd2dlR3dwSUh0Y2JpQWdjbVYwZFhKdUlDaDRJRDQrUGlBeElId2dlR3dnUER3Z016RXBJRjRnS0hnZ1BqNCtJRGdnZkNCNGJDQThQQ0F5TkNrZ1hpQW9lQ0ErUGo0Z055QjhJSGhzSUR3OElESTFLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkhZVzF0WVRFZ0tIZ3NJSGhzS1NCN1hHNGdJSEpsZEhWeWJpQW9lQ0ErUGo0Z01Ua2dmQ0I0YkNBOFBDQXhNeWtnWGlBb2VHd2dQajQrSURJNUlId2dlQ0E4UENBektTQmVJQ2g0SUQ0K1BpQTJLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkhZVzF0WVRGc0lDaDRMQ0I0YkNrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnUGo0K0lERTVJSHdnZUd3Z1BEd2dNVE1wSUY0Z0tIaHNJRDQrUGlBeU9TQjhJSGdnUER3Z015a2dYaUFvZUNBK1BqNGdOaUI4SUhoc0lEdzhJREkyS1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSRFlYSnllU0FvWVN3Z1lpa2dlMXh1SUNCeVpYUjFjbTRnS0dFZ1BqNCtJREFwSUR3Z0tHSWdQajQrSURBcElEOGdNU0E2SURCY2JuMWNibHh1VTJoaE5URXlMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0UwcElIdGNiaUFnZG1GeUlGY2dQU0IwYUdsekxsOTNYRzVjYmlBZ2RtRnlJR0ZvSUQwZ2RHaHBjeTVmWVdnZ2ZDQXdYRzRnSUhaaGNpQmlhQ0E5SUhSb2FYTXVYMkpvSUh3Z01GeHVJQ0IyWVhJZ1kyZ2dQU0IwYUdsekxsOWphQ0I4SURCY2JpQWdkbUZ5SUdSb0lEMGdkR2hwY3k1ZlpHZ2dmQ0F3WEc0Z0lIWmhjaUJsYUNBOUlIUm9hWE11WDJWb0lId2dNRnh1SUNCMllYSWdabWdnUFNCMGFHbHpMbDltYUNCOElEQmNiaUFnZG1GeUlHZG9JRDBnZEdocGN5NWZaMmdnZkNBd1hHNGdJSFpoY2lCb2FDQTlJSFJvYVhNdVgyaG9JSHdnTUZ4dVhHNGdJSFpoY2lCaGJDQTlJSFJvYVhNdVgyRnNJSHdnTUZ4dUlDQjJZWElnWW13Z1BTQjBhR2x6TGw5aWJDQjhJREJjYmlBZ2RtRnlJR05zSUQwZ2RHaHBjeTVmWTJ3Z2ZDQXdYRzRnSUhaaGNpQmtiQ0E5SUhSb2FYTXVYMlJzSUh3Z01GeHVJQ0IyWVhJZ1pXd2dQU0IwYUdsekxsOWxiQ0I4SURCY2JpQWdkbUZ5SUdac0lEMGdkR2hwY3k1Zlptd2dmQ0F3WEc0Z0lIWmhjaUJuYkNBOUlIUm9hWE11WDJkc0lId2dNRnh1SUNCMllYSWdhR3dnUFNCMGFHbHpMbDlvYkNCOElEQmNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElETXlPeUJwSUNzOUlESXBJSHRjYmlBZ0lDQlhXMmxkSUQwZ1RTNXlaV0ZrU1c1ME16SkNSU2hwSUNvZ05DbGNiaUFnSUNCWFcya2dLeUF4WFNBOUlFMHVjbVZoWkVsdWRETXlRa1VvYVNBcUlEUWdLeUEwS1Z4dUlDQjlYRzRnSUdadmNpQW9PeUJwSUR3Z01UWXdPeUJwSUNzOUlESXBJSHRjYmlBZ0lDQjJZWElnZUdnZ1BTQlhXMmtnTFNBeE5TQXFJREpkWEc0Z0lDQWdkbUZ5SUhoc0lEMGdWMXRwSUMwZ01UVWdLaUF5SUNzZ01WMWNiaUFnSUNCMllYSWdaMkZ0YldFd0lEMGdSMkZ0YldFd0tIaG9MQ0I0YkNsY2JpQWdJQ0IyWVhJZ1oyRnRiV0V3YkNBOUlFZGhiVzFoTUd3b2VHd3NJSGhvS1Z4dVhHNGdJQ0FnZUdnZ1BTQlhXMmtnTFNBeUlDb2dNbDFjYmlBZ0lDQjRiQ0E5SUZkYmFTQXRJRElnS2lBeUlDc2dNVjFjYmlBZ0lDQjJZWElnWjJGdGJXRXhJRDBnUjJGdGJXRXhLSGhvTENCNGJDbGNiaUFnSUNCMllYSWdaMkZ0YldFeGJDQTlJRWRoYlcxaE1Xd29lR3dzSUhob0tWeHVYRzRnSUNBZ0x5OGdWMXRwWFNBOUlHZGhiVzFoTUNBcklGZGJhU0F0SURkZElDc2daMkZ0YldFeElDc2dWMXRwSUMwZ01UWmRYRzRnSUNBZ2RtRnlJRmRwTjJnZ1BTQlhXMmtnTFNBM0lDb2dNbDFjYmlBZ0lDQjJZWElnVjJrM2JDQTlJRmRiYVNBdElEY2dLaUF5SUNzZ01WMWNibHh1SUNBZ0lIWmhjaUJYYVRFMmFDQTlJRmRiYVNBdElERTJJQ29nTWwxY2JpQWdJQ0IyWVhJZ1Yya3hObXdnUFNCWFcya2dMU0F4TmlBcUlESWdLeUF4WFZ4dVhHNGdJQ0FnZG1GeUlGZHBiQ0E5SUNobllXMXRZVEJzSUNzZ1YyazNiQ2tnZkNBd1hHNGdJQ0FnZG1GeUlGZHBhQ0E5SUNobllXMXRZVEFnS3lCWGFUZG9JQ3NnWjJWMFEyRnljbmtvVjJsc0xDQm5ZVzF0WVRCc0tTa2dmQ0F3WEc0Z0lDQWdWMmxzSUQwZ0tGZHBiQ0FySUdkaGJXMWhNV3dwSUh3Z01GeHVJQ0FnSUZkcGFDQTlJQ2hYYVdnZ0t5Qm5ZVzF0WVRFZ0t5Qm5aWFJEWVhKeWVTaFhhV3dzSUdkaGJXMWhNV3dwS1NCOElEQmNiaUFnSUNCWGFXd2dQU0FvVjJsc0lDc2dWMmt4Tm13cElId2dNRnh1SUNBZ0lGZHBhQ0E5SUNoWGFXZ2dLeUJYYVRFMmFDQXJJR2RsZEVOaGNuSjVLRmRwYkN3Z1Yya3hObXdwS1NCOElEQmNibHh1SUNBZ0lGZGJhVjBnUFNCWGFXaGNiaUFnSUNCWFcya2dLeUF4WFNBOUlGZHBiRnh1SUNCOVhHNWNiaUFnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENBeE5qQTdJR29nS3owZ01pa2dlMXh1SUNBZ0lGZHBhQ0E5SUZkYmFsMWNiaUFnSUNCWGFXd2dQU0JYVzJvZ0t5QXhYVnh1WEc0Z0lDQWdkbUZ5SUcxaGFtZ2dQU0J0WVdvb1lXZ3NJR0pvTENCamFDbGNiaUFnSUNCMllYSWdiV0ZxYkNBOUlHMWhhaWhoYkN3Z1ltd3NJR05zS1Z4dVhHNGdJQ0FnZG1GeUlITnBaMjFoTUdnZ1BTQnphV2R0WVRBb1lXZ3NJR0ZzS1Z4dUlDQWdJSFpoY2lCemFXZHRZVEJzSUQwZ2MybG5iV0V3S0dGc0xDQmhhQ2xjYmlBZ0lDQjJZWElnYzJsbmJXRXhhQ0E5SUhOcFoyMWhNU2hsYUN3Z1pXd3BYRzRnSUNBZ2RtRnlJSE5wWjIxaE1Xd2dQU0J6YVdkdFlURW9aV3dzSUdWb0tWeHVYRzRnSUNBZ0x5OGdkREVnUFNCb0lDc2djMmxuYldFeElDc2dZMmdnS3lCTFcycGRJQ3NnVjF0cVhWeHVJQ0FnSUhaaGNpQkxhV2dnUFNCTFcycGRYRzRnSUNBZ2RtRnlJRXRwYkNBOUlFdGJhaUFySURGZFhHNWNiaUFnSUNCMllYSWdZMmhvSUQwZ1EyZ29aV2dzSUdab0xDQm5hQ2xjYmlBZ0lDQjJZWElnWTJoc0lEMGdRMmdvWld3c0lHWnNMQ0JuYkNsY2JseHVJQ0FnSUhaaGNpQjBNV3dnUFNBb2FHd2dLeUJ6YVdkdFlURnNLU0I4SURCY2JpQWdJQ0IyWVhJZ2RERm9JRDBnS0dob0lDc2djMmxuYldFeGFDQXJJR2RsZEVOaGNuSjVLSFF4YkN3Z2FHd3BLU0I4SURCY2JpQWdJQ0IwTVd3Z1BTQW9kREZzSUNzZ1kyaHNLU0I4SURCY2JpQWdJQ0IwTVdnZ1BTQW9kREZvSUNzZ1kyaG9JQ3NnWjJWMFEyRnljbmtvZERGc0xDQmphR3dwS1NCOElEQmNiaUFnSUNCME1Xd2dQU0FvZERGc0lDc2dTMmxzS1NCOElEQmNiaUFnSUNCME1XZ2dQU0FvZERGb0lDc2dTMmxvSUNzZ1oyVjBRMkZ5Y25rb2RERnNMQ0JMYVd3cEtTQjhJREJjYmlBZ0lDQjBNV3dnUFNBb2RERnNJQ3NnVjJsc0tTQjhJREJjYmlBZ0lDQjBNV2dnUFNBb2RERm9JQ3NnVjJsb0lDc2daMlYwUTJGeWNua29kREZzTENCWGFXd3BLU0I4SURCY2JseHVJQ0FnSUM4dklIUXlJRDBnYzJsbmJXRXdJQ3NnYldGcVhHNGdJQ0FnZG1GeUlIUXliQ0E5SUNoemFXZHRZVEJzSUNzZ2JXRnFiQ2tnZkNBd1hHNGdJQ0FnZG1GeUlIUXlhQ0E5SUNoemFXZHRZVEJvSUNzZ2JXRnFhQ0FySUdkbGRFTmhjbko1S0hReWJDd2djMmxuYldFd2JDa3BJSHdnTUZ4dVhHNGdJQ0FnYUdnZ1BTQm5hRnh1SUNBZ0lHaHNJRDBnWjJ4Y2JpQWdJQ0JuYUNBOUlHWm9YRzRnSUNBZ1oyd2dQU0JtYkZ4dUlDQWdJR1pvSUQwZ1pXaGNiaUFnSUNCbWJDQTlJR1ZzWEc0Z0lDQWdaV3dnUFNBb1pHd2dLeUIwTVd3cElId2dNRnh1SUNBZ0lHVm9JRDBnS0dSb0lDc2dkREZvSUNzZ1oyVjBRMkZ5Y25rb1pXd3NJR1JzS1NrZ2ZDQXdYRzRnSUNBZ1pHZ2dQU0JqYUZ4dUlDQWdJR1JzSUQwZ1kyeGNiaUFnSUNCamFDQTlJR0pvWEc0Z0lDQWdZMndnUFNCaWJGeHVJQ0FnSUdKb0lEMGdZV2hjYmlBZ0lDQmliQ0E5SUdGc1hHNGdJQ0FnWVd3Z1BTQW9kREZzSUNzZ2RESnNLU0I4SURCY2JpQWdJQ0JoYUNBOUlDaDBNV2dnS3lCME1tZ2dLeUJuWlhSRFlYSnllU2hoYkN3Z2RERnNLU2tnZkNBd1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5aGJDQTlJQ2gwYUdsekxsOWhiQ0FySUdGc0tTQjhJREJjYmlBZ2RHaHBjeTVmWW13Z1BTQW9kR2hwY3k1Zlltd2dLeUJpYkNrZ2ZDQXdYRzRnSUhSb2FYTXVYMk5zSUQwZ0tIUm9hWE11WDJOc0lDc2dZMndwSUh3Z01GeHVJQ0IwYUdsekxsOWtiQ0E5SUNoMGFHbHpMbDlrYkNBcklHUnNLU0I4SURCY2JpQWdkR2hwY3k1ZlpXd2dQU0FvZEdocGN5NWZaV3dnS3lCbGJDa2dmQ0F3WEc0Z0lIUm9hWE11WDJac0lEMGdLSFJvYVhNdVgyWnNJQ3NnWm13cElId2dNRnh1SUNCMGFHbHpMbDluYkNBOUlDaDBhR2x6TGw5bmJDQXJJR2RzS1NCOElEQmNiaUFnZEdocGN5NWZhR3dnUFNBb2RHaHBjeTVmYUd3Z0t5Qm9iQ2tnZkNBd1hHNWNiaUFnZEdocGN5NWZZV2dnUFNBb2RHaHBjeTVmWVdnZ0t5QmhhQ0FySUdkbGRFTmhjbko1S0hSb2FYTXVYMkZzTENCaGJDa3BJSHdnTUZ4dUlDQjBhR2x6TGw5aWFDQTlJQ2gwYUdsekxsOWlhQ0FySUdKb0lDc2daMlYwUTJGeWNua29kR2hwY3k1Zlltd3NJR0pzS1NrZ2ZDQXdYRzRnSUhSb2FYTXVYMk5vSUQwZ0tIUm9hWE11WDJOb0lDc2dZMmdnS3lCblpYUkRZWEp5ZVNoMGFHbHpMbDlqYkN3Z1kyd3BLU0I4SURCY2JpQWdkR2hwY3k1ZlpHZ2dQU0FvZEdocGN5NWZaR2dnS3lCa2FDQXJJR2RsZEVOaGNuSjVLSFJvYVhNdVgyUnNMQ0JrYkNrcElId2dNRnh1SUNCMGFHbHpMbDlsYUNBOUlDaDBhR2x6TGw5bGFDQXJJR1ZvSUNzZ1oyVjBRMkZ5Y25rb2RHaHBjeTVmWld3c0lHVnNLU2tnZkNBd1hHNGdJSFJvYVhNdVgyWm9JRDBnS0hSb2FYTXVYMlpvSUNzZ1ptZ2dLeUJuWlhSRFlYSnllU2gwYUdsekxsOW1iQ3dnWm13cEtTQjhJREJjYmlBZ2RHaHBjeTVmWjJnZ1BTQW9kR2hwY3k1ZloyZ2dLeUJuYUNBcklHZGxkRU5oY25KNUtIUm9hWE11WDJkc0xDQm5iQ2twSUh3Z01GeHVJQ0IwYUdsekxsOW9hQ0E5SUNoMGFHbHpMbDlvYUNBcklHaG9JQ3NnWjJWMFEyRnljbmtvZEdocGN5NWZhR3dzSUdoc0tTa2dmQ0F3WEc1OVhHNWNibE5vWVRVeE1pNXdjbTkwYjNSNWNHVXVYMmhoYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJJSUQwZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabEtEWTBLVnh1WEc0Z0lHWjFibU4wYVc5dUlIZHlhWFJsU1c1ME5qUkNSU0FvYUN3Z2JDd2diMlptYzJWMEtTQjdYRzRnSUNBZ1NDNTNjbWwwWlVsdWRETXlRa1VvYUN3Z2IyWm1jMlYwS1Z4dUlDQWdJRWd1ZDNKcGRHVkpiblF6TWtKRktHd3NJRzltWm5ObGRDQXJJRFFwWEc0Z0lIMWNibHh1SUNCM2NtbDBaVWx1ZERZMFFrVW9kR2hwY3k1ZllXZ3NJSFJvYVhNdVgyRnNMQ0F3S1Z4dUlDQjNjbWwwWlVsdWREWTBRa1VvZEdocGN5NWZZbWdzSUhSb2FYTXVYMkpzTENBNEtWeHVJQ0IzY21sMFpVbHVkRFkwUWtVb2RHaHBjeTVmWTJnc0lIUm9hWE11WDJOc0xDQXhOaWxjYmlBZ2QzSnBkR1ZKYm5RMk5FSkZLSFJvYVhNdVgyUm9MQ0IwYUdsekxsOWtiQ3dnTWpRcFhHNGdJSGR5YVhSbFNXNTBOalJDUlNoMGFHbHpMbDlsYUN3Z2RHaHBjeTVmWld3c0lETXlLVnh1SUNCM2NtbDBaVWx1ZERZMFFrVW9kR2hwY3k1ZlptZ3NJSFJvYVhNdVgyWnNMQ0EwTUNsY2JpQWdkM0pwZEdWSmJuUTJORUpGS0hSb2FYTXVYMmRvTENCMGFHbHpMbDluYkN3Z05EZ3BYRzRnSUhkeWFYUmxTVzUwTmpSQ1JTaDBhR2x6TGw5b2FDd2dkR2hwY3k1ZmFHd3NJRFUyS1Z4dVhHNGdJSEpsZEhWeWJpQklYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1UyaGhOVEV5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhNTEyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgaXNBcnJheWlzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGlzLWFycmF5aXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9pcy1hcnJheWlzaC9pbmRleC5qc1xcXCIpO1xcblxcbnZhciBjb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0O1xcbnZhciBzbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTtcXG5cXG52YXIgc3dpenpsZSA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gc3dpenpsZShhcmdzKSB7XFxuXFx0dmFyIHJlc3VsdHMgPSBbXTtcXG5cXG5cXHRmb3IgKHZhciBpID0gMCwgbGVuID0gYXJncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xcblxcdFxcdHZhciBhcmcgPSBhcmdzW2ldO1xcblxcblxcdFxcdGlmIChpc0FycmF5aXNoKGFyZykpIHtcXG5cXHRcXHRcXHQvLyBodHRwOi8vanNwZXJmLmNvbS9qYXZhc2NyaXB0LWFycmF5LWNvbmNhdC12cy1wdXNoLzk4XFxuXFx0XFx0XFx0cmVzdWx0cyA9IGNvbmNhdC5jYWxsKHJlc3VsdHMsIHNsaWNlLmNhbGwoYXJnKSk7XFxuXFx0XFx0fSBlbHNlIHtcXG5cXHRcXHRcXHRyZXN1bHRzLnB1c2goYXJnKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdHJldHVybiByZXN1bHRzO1xcbn07XFxuXFxuc3dpenpsZS53cmFwID0gZnVuY3Rpb24gKGZuKSB7XFxuXFx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcXG5cXHRcXHRyZXR1cm4gZm4oc3dpenpsZShhcmd1bWVudHMpKTtcXG5cXHR9O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6YVcxd2JHVXRjM2RwZW5wc1pTOXBibVJsZUM1cWN6OW1OREUxSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhkRVFVRmhPenRCUVVWMFF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzYlVOQlFXMURMRk5CUVZNN1FVRkROVU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMybHRjR3hsTFhOM2FYcDZiR1V2YVc1a1pYZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJwYzBGeWNtRjVhWE5vSUQwZ2NtVnhkV2x5WlNnbmFYTXRZWEp5WVhscGMyZ25LVHRjYmx4dWRtRnlJR052Ym1OaGRDQTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNWpiMjVqWVhRN1hHNTJZWElnYzJ4cFkyVWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVN1hHNWNiblpoY2lCemQybDZlbXhsSUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCemQybDZlbXhsS0dGeVozTXBJSHRjYmx4MGRtRnlJSEpsYzNWc2RITWdQU0JiWFR0Y2JseHVYSFJtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diR1Z1SUQwZ1lYSm5jeTVzWlc1bmRHZzdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVYSFJjZEhaaGNpQmhjbWNnUFNCaGNtZHpXMmxkTzF4dVhHNWNkRngwYVdZZ0tHbHpRWEp5WVhscGMyZ29ZWEpuS1NrZ2UxeHVYSFJjZEZ4MEx5OGdhSFIwY0RvdkwycHpjR1Z5Wmk1amIyMHZhbUYyWVhOamNtbHdkQzFoY25KaGVTMWpiMjVqWVhRdGRuTXRjSFZ6YUM4NU9GeHVYSFJjZEZ4MGNtVnpkV3gwY3lBOUlHTnZibU5oZEM1allXeHNLSEpsYzNWc2RITXNJSE5zYVdObExtTmhiR3dvWVhKbktTazdYRzVjZEZ4MGZTQmxiSE5sSUh0Y2JseDBYSFJjZEhKbGMzVnNkSE11Y0hWemFDaGhjbWNwTzF4dVhIUmNkSDFjYmx4MGZWeHVYRzVjZEhKbGRIVnliaUJ5WlhOMWJIUnpPMXh1ZlR0Y2JseHVjM2RwZW5wc1pTNTNjbUZ3SUQwZ1puVnVZM1JwYjI0Z0tHWnVLU0I3WEc1Y2RISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUdadUtITjNhWHA2YkdVb1lYSm5kVzFsYm5SektTazdYRzVjZEgwN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtO1xcblxcbnZhciBFRSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2ZW50cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qc1xcXCIpLkV2ZW50RW1pdHRlcjtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcblxcbmluaGVyaXRzKFN0cmVhbSwgRUUpO1xcblN0cmVhbS5SZWFkYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcXFwiKTtcXG5TdHJlYW0uV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFkYWJsZS1zdHJlYW0vd3JpdGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS93cml0YWJsZS1icm93c2VyLmpzXFxcIik7XFxuU3RyZWFtLkR1cGxleCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWRhYmxlLXN0cmVhbS9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9kdXBsZXgtYnJvd3Nlci5qc1xcXCIpO1xcblN0cmVhbS5UcmFuc2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzXFxcIik7XFxuU3RyZWFtLlBhc3NUaHJvdWdoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanNcXFwiKTtcXG5cXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjQueFxcblN0cmVhbS5TdHJlYW0gPSBTdHJlYW07XFxuXFxuXFxuXFxuLy8gb2xkLXN0eWxlIHN0cmVhbXMuICBOb3RlIHRoYXQgdGhlIHBpcGUgbWV0aG9kICh0aGUgb25seSByZWxldmFudFxcbi8vIHBhcnQgb2YgdGhpcyBjbGFzcykgaXMgb3ZlcnJpZGRlbiBpbiB0aGUgUmVhZGFibGUgY2xhc3MuXFxuXFxuZnVuY3Rpb24gU3RyZWFtKCkge1xcbiAgRUUuY2FsbCh0aGlzKTtcXG59XFxuXFxuU3RyZWFtLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24oZGVzdCwgb3B0aW9ucykge1xcbiAgdmFyIHNvdXJjZSA9IHRoaXM7XFxuXFxuICBmdW5jdGlvbiBvbmRhdGEoY2h1bmspIHtcXG4gICAgaWYgKGRlc3Qud3JpdGFibGUpIHtcXG4gICAgICBpZiAoZmFsc2UgPT09IGRlc3Qud3JpdGUoY2h1bmspICYmIHNvdXJjZS5wYXVzZSkge1xcbiAgICAgICAgc291cmNlLnBhdXNlKCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICBzb3VyY2Uub24oJ2RhdGEnLCBvbmRhdGEpO1xcblxcbiAgZnVuY3Rpb24gb25kcmFpbigpIHtcXG4gICAgaWYgKHNvdXJjZS5yZWFkYWJsZSAmJiBzb3VyY2UucmVzdW1lKSB7XFxuICAgICAgc291cmNlLnJlc3VtZSgpO1xcbiAgICB9XFxuICB9XFxuXFxuICBkZXN0Lm9uKCdkcmFpbicsIG9uZHJhaW4pO1xcblxcbiAgLy8gSWYgdGhlICdlbmQnIG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIGRlc3QuZW5kKCkgd2lsbCBiZSBjYWxsZWQgd2hlblxcbiAgLy8gc291cmNlIGdldHMgdGhlICdlbmQnIG9yICdjbG9zZScgZXZlbnRzLiAgT25seSBkZXN0LmVuZCgpIG9uY2UuXFxuICBpZiAoIWRlc3QuX2lzU3RkaW8gJiYgKCFvcHRpb25zIHx8IG9wdGlvbnMuZW5kICE9PSBmYWxzZSkpIHtcXG4gICAgc291cmNlLm9uKCdlbmQnLCBvbmVuZCk7XFxuICAgIHNvdXJjZS5vbignY2xvc2UnLCBvbmNsb3NlKTtcXG4gIH1cXG5cXG4gIHZhciBkaWRPbkVuZCA9IGZhbHNlO1xcbiAgZnVuY3Rpb24gb25lbmQoKSB7XFxuICAgIGlmIChkaWRPbkVuZCkgcmV0dXJuO1xcbiAgICBkaWRPbkVuZCA9IHRydWU7XFxuXFxuICAgIGRlc3QuZW5kKCk7XFxuICB9XFxuXFxuXFxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICBpZiAoZGlkT25FbmQpIHJldHVybjtcXG4gICAgZGlkT25FbmQgPSB0cnVlO1xcblxcbiAgICBpZiAodHlwZW9mIGRlc3QuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgZGVzdC5kZXN0cm95KCk7XFxuICB9XFxuXFxuICAvLyBkb24ndCBsZWF2ZSBkYW5nbGluZyBwaXBlcyB3aGVuIHRoZXJlIGFyZSBlcnJvcnMuXFxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XFxuICAgIGNsZWFudXAoKTtcXG4gICAgaWYgKEVFLmxpc3RlbmVyQ291bnQodGhpcywgJ2Vycm9yJykgPT09IDApIHtcXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkIHN0cmVhbSBlcnJvciBpbiBwaXBlLlxcbiAgICB9XFxuICB9XFxuXFxuICBzb3VyY2Uub24oJ2Vycm9yJywgb25lcnJvcik7XFxuICBkZXN0Lm9uKCdlcnJvcicsIG9uZXJyb3IpO1xcblxcbiAgLy8gcmVtb3ZlIGFsbCB0aGUgZXZlbnQgbGlzdGVuZXJzIHRoYXQgd2VyZSBhZGRlZC5cXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XFxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2RyYWluJywgb25kcmFpbik7XFxuXFxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xcbiAgICBzb3VyY2UucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XFxuXFxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG5cXG4gICAgc291cmNlLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBjbGVhbnVwKTtcXG4gICAgc291cmNlLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIGNsZWFudXApO1xcblxcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIGNsZWFudXApO1xcbiAgfVxcblxcbiAgc291cmNlLm9uKCdlbmQnLCBjbGVhbnVwKTtcXG4gIHNvdXJjZS5vbignY2xvc2UnLCBjbGVhbnVwKTtcXG5cXG4gIGRlc3Qub24oJ2Nsb3NlJywgY2xlYW51cCk7XFxuXFxuICBkZXN0LmVtaXQoJ3BpcGUnLCBzb3VyY2UpO1xcblxcbiAgLy8gQWxsb3cgZm9yIHVuaXgtbGlrZSB1c2FnZTogQS5waXBlKEIpLnBpcGUoQylcXG4gIHJldHVybiBkZXN0O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzlwYm1SbGVDNXFjejgxWWpWaklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRXNVMEZCVXl4dFFrRkJUeXhEUVVGRExDdERRVUZSTzBGQlEzcENMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZha003UVVGRFFTeHJRa0ZCYTBJc2JVSkJRVThzUTBGQlF5eDFSa0ZCTmtJN1FVRkRka1FzYTBKQlFXdENMRzFDUVVGUExFTkJRVU1zZFVaQlFUWkNPMEZCUTNaRUxHZENRVUZuUWl4dFFrRkJUeXhEUVVGRExHMUdRVUV5UWp0QlFVTnVSQ3h0UWtGQmJVSXNiVUpCUVU4c1EwRkJReXhwUmtGQk9FSTdRVUZEZWtRc2NVSkJRWEZDTEcxQ1FVRlBMRU5CUVVNc2NVWkJRV2RET3p0QlFVVTNSRHRCUVVOQk96czdPMEZCU1VFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdWQlFXVTdRVUZEWmp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUVOdmNIbHlhV2RvZENCS2IzbGxiblFzSUVsdVl5NGdZVzVrSUc5MGFHVnlJRTV2WkdVZ1kyOXVkSEpwWW5WMGIzSnpMbHh1THk5Y2JpOHZJRkJsY20xcGMzTnBiMjRnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1FzSUdaeVpXVWdiMllnWTJoaGNtZGxMQ0IwYnlCaGJua2djR1Z5YzI5dUlHOWlkR0ZwYm1sdVp5QmhYRzR2THlCamIzQjVJRzltSUhSb2FYTWdjMjltZEhkaGNtVWdZVzVrSUdGemMyOWphV0YwWldRZ1pHOWpkVzFsYm5SaGRHbHZiaUJtYVd4bGN5QW9kR2hsWEc0dkx5QmNJbE52Wm5SM1lYSmxYQ0lwTENCMGJ5QmtaV0ZzSUdsdUlIUm9aU0JUYjJaMGQyRnlaU0IzYVhSb2IzVjBJSEpsYzNSeWFXTjBhVzl1TENCcGJtTnNkV1JwYm1kY2JpOHZJSGRwZEdodmRYUWdiR2x0YVhSaGRHbHZiaUIwYUdVZ2NtbG5hSFJ6SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQnRaWEpuWlN3Z2NIVmliR2x6YUN4Y2JpOHZJR1JwYzNSeWFXSjFkR1VzSUhOMVlteHBZMlZ1YzJVc0lHRnVaQzl2Y2lCelpXeHNJR052Y0dsbGN5QnZaaUIwYUdVZ1UyOW1kSGRoY21Vc0lHRnVaQ0IwYnlCd1pYSnRhWFJjYmk4dklIQmxjbk52Ym5NZ2RHOGdkMmh2YlNCMGFHVWdVMjltZEhkaGNtVWdhWE1nWm5WeWJtbHphR1ZrSUhSdklHUnZJSE52TENCemRXSnFaV04wSUhSdklIUm9aVnh1THk4Z1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTTZYRzR2TDF4dUx5OGdWR2hsSUdGaWIzWmxJR052Y0hseWFXZG9kQ0J1YjNScFkyVWdZVzVrSUhSb2FYTWdjR1Z5YldsemMybHZiaUJ1YjNScFkyVWdjMmhoYkd3Z1ltVWdhVzVqYkhWa1pXUmNiaTh2SUdsdUlHRnNiQ0JqYjNCcFpYTWdiM0lnYzNWaWMzUmhiblJwWVd3Z2NHOXlkR2x2Ym5NZ2IyWWdkR2hsSUZOdlpuUjNZWEpsTGx4dUx5OWNiaTh2SUZSSVJTQlRUMFpVVjBGU1JTQkpVeUJRVWs5V1NVUkZSQ0JjSWtGVElFbFRYQ0lzSUZkSlZFaFBWVlFnVjBGU1VrRk9WRmtnVDBZZ1FVNVpJRXRKVGtRc0lFVllVRkpGVTFOY2JpOHZJRTlTSUVsTlVFeEpSVVFzSUVsT1EweFZSRWxPUnlCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4Z1ZFaEZJRmRCVWxKQlRsUkpSVk1nVDBaY2JpOHZJRTFGVWtOSVFVNVVRVUpKVEVsVVdTd2dSa2xVVGtWVFV5QkdUMUlnUVNCUVFWSlVTVU5WVEVGU0lGQlZVbEJQVTBVZ1FVNUVJRTVQVGtsT1JsSkpUa2RGVFVWT1ZDNGdTVTVjYmk4dklFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkJWVlJJVDFKVElFOVNJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUpGSUV4SlFVSk1SU0JHVDFJZ1FVNVpJRU5NUVVsTkxGeHVMeThnUkVGTlFVZEZVeUJQVWlCUFZFaEZVaUJNU1VGQ1NVeEpWRmtzSUZkSVJWUklSVklnU1U0Z1FVNGdRVU5VU1U5T0lFOUdJRU5QVGxSU1FVTlVMQ0JVVDFKVUlFOVNYRzR2THlCUFZFaEZVbGRKVTBVc0lFRlNTVk5KVGtjZ1JsSlBUU3dnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdVMDlHVkZkQlVrVWdUMUlnVkVoRlhHNHZMeUJWVTBVZ1QxSWdUMVJJUlZJZ1JFVkJURWxPUjFNZ1NVNGdWRWhGSUZOUFJsUlhRVkpGTGx4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGTjBjbVZoYlR0Y2JseHVkbUZ5SUVWRklEMGdjbVZ4ZFdseVpTZ25aWFpsYm5Sekp5a3VSWFpsYm5SRmJXbDBkR1Z5TzF4dWRtRnlJR2x1YUdWeWFYUnpJRDBnY21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1R0Y2JseHVhVzVvWlhKcGRITW9VM1J5WldGdExDQkZSU2s3WEc1VGRISmxZVzB1VW1WaFpHRmliR1VnUFNCeVpYRjFhWEpsS0NkeVpXRmtZV0pzWlMxemRISmxZVzB2Y21WaFpHRmliR1V1YW5NbktUdGNibE4wY21WaGJTNVhjbWwwWVdKc1pTQTlJSEpsY1hWcGNtVW9KM0psWVdSaFlteGxMWE4wY21WaGJTOTNjbWwwWVdKc1pTNXFjeWNwTzF4dVUzUnlaV0Z0TGtSMWNHeGxlQ0E5SUhKbGNYVnBjbVVvSjNKbFlXUmhZbXhsTFhOMGNtVmhiUzlrZFhCc1pYZ3Vhbk1uS1R0Y2JsTjBjbVZoYlM1VWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDZHlaV0ZrWVdKc1pTMXpkSEpsWVcwdmRISmhibk5tYjNKdExtcHpKeWs3WEc1VGRISmxZVzB1VUdGemMxUm9jbTkxWjJnZ1BTQnlaWEYxYVhKbEtDZHlaV0ZrWVdKc1pTMXpkSEpsWVcwdmNHRnpjM1JvY205MVoyZ3Vhbk1uS1R0Y2JseHVMeThnUW1GamEzZGhjbVJ6TFdOdmJYQmhkQ0IzYVhSb0lHNXZaR1VnTUM0MExuaGNibE4wY21WaGJTNVRkSEpsWVcwZ1BTQlRkSEpsWVcwN1hHNWNibHh1WEc0dkx5QnZiR1F0YzNSNWJHVWdjM1J5WldGdGN5NGdJRTV2ZEdVZ2RHaGhkQ0IwYUdVZ2NHbHdaU0J0WlhSb2IyUWdLSFJvWlNCdmJteDVJSEpsYkdWMllXNTBYRzR2THlCd1lYSjBJRzltSUhSb2FYTWdZMnhoYzNNcElHbHpJRzkyWlhKeWFXUmtaVzRnYVc0Z2RHaGxJRkpsWVdSaFlteGxJR05zWVhOekxseHVYRzVtZFc1amRHbHZiaUJUZEhKbFlXMG9LU0I3WEc0Z0lFVkZMbU5oYkd3b2RHaHBjeWs3WEc1OVhHNWNibE4wY21WaGJTNXdjbTkwYjNSNWNHVXVjR2x3WlNBOUlHWjFibU4wYVc5dUtHUmxjM1FzSUc5d2RHbHZibk1wSUh0Y2JpQWdkbUZ5SUhOdmRYSmpaU0E5SUhSb2FYTTdYRzVjYmlBZ1puVnVZM1JwYjI0Z2IyNWtZWFJoS0dOb2RXNXJLU0I3WEc0Z0lDQWdhV1lnS0dSbGMzUXVkM0pwZEdGaWJHVXBJSHRjYmlBZ0lDQWdJR2xtSUNobVlXeHpaU0E5UFQwZ1pHVnpkQzUzY21sMFpTaGphSFZ1YXlrZ0ppWWdjMjkxY21ObExuQmhkWE5sS1NCN1hHNGdJQ0FnSUNBZ0lITnZkWEpqWlM1d1lYVnpaU2dwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhOdmRYSmpaUzV2YmlnblpHRjBZU2NzSUc5dVpHRjBZU2s3WEc1Y2JpQWdablZ1WTNScGIyNGdiMjVrY21GcGJpZ3BJSHRjYmlBZ0lDQnBaaUFvYzI5MWNtTmxMbkpsWVdSaFlteGxJQ1ltSUhOdmRYSmpaUzV5WlhOMWJXVXBJSHRjYmlBZ0lDQWdJSE52ZFhKalpTNXlaWE4xYldVb0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmtaWE4wTG05dUtDZGtjbUZwYmljc0lHOXVaSEpoYVc0cE8xeHVYRzRnSUM4dklFbG1JSFJvWlNBblpXNWtKeUJ2Y0hScGIyNGdhWE1nYm05MElITjFjSEJzYVdWa0xDQmtaWE4wTG1WdVpDZ3BJSGRwYkd3Z1ltVWdZMkZzYkdWa0lIZG9aVzVjYmlBZ0x5OGdjMjkxY21ObElHZGxkSE1nZEdobElDZGxibVFuSUc5eUlDZGpiRzl6WlNjZ1pYWmxiblJ6TGlBZ1QyNXNlU0JrWlhOMExtVnVaQ2dwSUc5dVkyVXVYRzRnSUdsbUlDZ2haR1Z6ZEM1ZmFYTlRkR1JwYnlBbUppQW9JVzl3ZEdsdmJuTWdmSHdnYjNCMGFXOXVjeTVsYm1RZ0lUMDlJR1poYkhObEtTa2dlMXh1SUNBZ0lITnZkWEpqWlM1dmJpZ25aVzVrSnl3Z2IyNWxibVFwTzF4dUlDQWdJSE52ZFhKalpTNXZiaWduWTJ4dmMyVW5MQ0J2Ym1Oc2IzTmxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQmthV1JQYmtWdVpDQTlJR1poYkhObE8xeHVJQ0JtZFc1amRHbHZiaUJ2Ym1WdVpDZ3BJSHRjYmlBZ0lDQnBaaUFvWkdsa1QyNUZibVFwSUhKbGRIVnlianRjYmlBZ0lDQmthV1JQYmtWdVpDQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCa1pYTjBMbVZ1WkNncE8xeHVJQ0I5WEc1Y2JseHVJQ0JtZFc1amRHbHZiaUJ2Ym1Oc2IzTmxLQ2tnZTF4dUlDQWdJR2xtSUNoa2FXUlBia1Z1WkNrZ2NtVjBkWEp1TzF4dUlDQWdJR1JwWkU5dVJXNWtJRDBnZEhKMVpUdGNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdaR1Z6ZEM1a1pYTjBjbTk1SUQwOVBTQW5ablZ1WTNScGIyNG5LU0JrWlhOMExtUmxjM1J5YjNrb0tUdGNiaUFnZlZ4dVhHNGdJQzh2SUdSdmJpZDBJR3hsWVhabElHUmhibWRzYVc1bklIQnBjR1Z6SUhkb1pXNGdkR2hsY21VZ1lYSmxJR1Z5Y205eWN5NWNiaUFnWm5WdVkzUnBiMjRnYjI1bGNuSnZjaWhsY2lrZ2UxeHVJQ0FnSUdOc1pXRnVkWEFvS1R0Y2JpQWdJQ0JwWmlBb1JVVXViR2x6ZEdWdVpYSkRiM1Z1ZENoMGFHbHpMQ0FuWlhKeWIzSW5LU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ1pYSTdJQzh2SUZWdWFHRnVaR3hsWkNCemRISmxZVzBnWlhKeWIzSWdhVzRnY0dsd1pTNWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnpiM1Z5WTJVdWIyNG9KMlZ5Y205eUp5d2diMjVsY25KdmNpazdYRzRnSUdSbGMzUXViMjRvSjJWeWNtOXlKeXdnYjI1bGNuSnZjaWs3WEc1Y2JpQWdMeThnY21WdGIzWmxJR0ZzYkNCMGFHVWdaWFpsYm5RZ2JHbHpkR1Z1WlhKeklIUm9ZWFFnZDJWeVpTQmhaR1JsWkM1Y2JpQWdablZ1WTNScGIyNGdZMnhsWVc1MWNDZ3BJSHRjYmlBZ0lDQnpiM1Z5WTJVdWNtVnRiM1psVEdsemRHVnVaWElvSjJSaGRHRW5MQ0J2Ym1SaGRHRXBPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMlJ5WVdsdUp5d2diMjVrY21GcGJpazdYRzVjYmlBZ0lDQnpiM1Z5WTJVdWNtVnRiM1psVEdsemRHVnVaWElvSjJWdVpDY3NJRzl1Wlc1a0tUdGNiaUFnSUNCemIzVnlZMlV1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzVjYmlBZ0lDQnpiM1Z5WTJVdWNtVnRiM1psVEdsemRHVnVaWElvSjJWeWNtOXlKeXdnYjI1bGNuSnZjaWs3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlhKeWIzSW5MQ0J2Ym1WeWNtOXlLVHRjYmx4dUlDQWdJSE52ZFhKalpTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblpXNWtKeXdnWTJ4bFlXNTFjQ2s3WEc0Z0lDQWdjMjkxY21ObExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkamJHOXpaU2NzSUdOc1pXRnVkWEFwTzF4dVhHNGdJQ0FnWkdWemRDNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblkyeHZjMlVuTENCamJHVmhiblZ3S1R0Y2JpQWdmVnh1WEc0Z0lITnZkWEpqWlM1dmJpZ25aVzVrSnl3Z1kyeGxZVzUxY0NrN1hHNGdJSE52ZFhKalpTNXZiaWduWTJ4dmMyVW5MQ0JqYkdWaGJuVndLVHRjYmx4dUlDQmtaWE4wTG05dUtDZGpiRzl6WlNjc0lHTnNaV0Z1ZFhBcE8xeHVYRzRnSUdSbGMzUXVaVzFwZENnbmNHbHdaU2NzSUhOdmRYSmpaU2s3WEc1Y2JpQWdMeThnUVd4c2IzY2dabTl5SUhWdWFYZ3RiR2xyWlNCMWMyRm5aVG9nUVM1d2FYQmxLRUlwTG5CcGNHVW9ReWxjYmlBZ2NtVjBkWEp1SUdSbGMzUTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxudmFyIGlzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZyB8fCBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcXG4gIGVuY29kaW5nID0gJycgKyBlbmNvZGluZztcXG4gIHN3aXRjaCAoZW5jb2RpbmcgJiYgZW5jb2RpbmcudG9Mb3dlckNhc2UoKSkge1xcbiAgICBjYXNlICdoZXgnOmNhc2UgJ3V0ZjgnOmNhc2UgJ3V0Zi04JzpjYXNlICdhc2NpaSc6Y2FzZSAnYmluYXJ5JzpjYXNlICdiYXNlNjQnOmNhc2UgJ3VjczInOmNhc2UgJ3Vjcy0yJzpjYXNlICd1dGYxNmxlJzpjYXNlICd1dGYtMTZsZSc6Y2FzZSAncmF3JzpcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiBfbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XFxuICBpZiAoIWVuYykgcmV0dXJuICd1dGY4JztcXG4gIHZhciByZXRyaWVkO1xcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgc3dpdGNoIChlbmMpIHtcXG4gICAgICBjYXNlICd1dGY4JzpcXG4gICAgICBjYXNlICd1dGYtOCc6XFxuICAgICAgICByZXR1cm4gJ3V0ZjgnO1xcbiAgICAgIGNhc2UgJ3VjczInOlxcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgICBjYXNlICd1dGYxNmxlJzpcXG4gICAgICBjYXNlICd1dGYtMTZsZSc6XFxuICAgICAgICByZXR1cm4gJ3V0ZjE2bGUnO1xcbiAgICAgIGNhc2UgJ2xhdGluMSc6XFxuICAgICAgY2FzZSAnYmluYXJ5JzpcXG4gICAgICAgIHJldHVybiAnbGF0aW4xJztcXG4gICAgICBjYXNlICdiYXNlNjQnOlxcbiAgICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgICBjYXNlICdoZXgnOlxcbiAgICAgICAgcmV0dXJuIGVuYztcXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAgaWYgKHJldHJpZWQpIHJldHVybjsgLy8gdW5kZWZpbmVkXFxuICAgICAgICBlbmMgPSAoJycgKyBlbmMpLnRvTG93ZXJDYXNlKCk7XFxuICAgICAgICByZXRyaWVkID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcbn07XFxuXFxuLy8gRG8gbm90IGNhY2hlIGBCdWZmZXIuaXNFbmNvZGluZ2Agd2hlbiBjaGVja2luZyBlbmNvZGluZyBuYW1lcyBhcyBzb21lXFxuLy8gbW9kdWxlcyBtb25rZXktcGF0Y2ggaXQgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGVuY29kaW5nc1xcbmZ1bmN0aW9uIG5vcm1hbGl6ZUVuY29kaW5nKGVuYykge1xcbiAgdmFyIG5lbmMgPSBfbm9ybWFsaXplRW5jb2RpbmcoZW5jKTtcXG4gIGlmICh0eXBlb2YgbmVuYyAhPT0gJ3N0cmluZycgJiYgKEJ1ZmZlci5pc0VuY29kaW5nID09PSBpc0VuY29kaW5nIHx8ICFpc0VuY29kaW5nKGVuYykpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmMpO1xcbiAgcmV0dXJuIG5lbmMgfHwgZW5jO1xcbn1cXG5cXG4vLyBTdHJpbmdEZWNvZGVyIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgZWZmaWNpZW50bHkgc3BsaXR0aW5nIGEgc2VyaWVzIG9mXFxuLy8gYnVmZmVycyBpbnRvIGEgc2VyaWVzIG9mIEpTIHN0cmluZ3Mgd2l0aG91dCBicmVha2luZyBhcGFydCBtdWx0aS1ieXRlXFxuLy8gY2hhcmFjdGVycy5cXG5leHBvcnRzLlN0cmluZ0RlY29kZXIgPSBTdHJpbmdEZWNvZGVyO1xcbmZ1bmN0aW9uIFN0cmluZ0RlY29kZXIoZW5jb2RpbmcpIHtcXG4gIHRoaXMuZW5jb2RpbmcgPSBub3JtYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XFxuICB2YXIgbmI7XFxuICBzd2l0Y2ggKHRoaXMuZW5jb2RpbmcpIHtcXG4gICAgY2FzZSAndXRmMTZsZSc6XFxuICAgICAgdGhpcy50ZXh0ID0gdXRmMTZUZXh0O1xcbiAgICAgIHRoaXMuZW5kID0gdXRmMTZFbmQ7XFxuICAgICAgbmIgPSA0O1xcbiAgICAgIGJyZWFrO1xcbiAgICBjYXNlICd1dGY4JzpcXG4gICAgICB0aGlzLmZpbGxMYXN0ID0gdXRmOEZpbGxMYXN0O1xcbiAgICAgIG5iID0gNDtcXG4gICAgICBicmVhaztcXG4gICAgY2FzZSAnYmFzZTY0JzpcXG4gICAgICB0aGlzLnRleHQgPSBiYXNlNjRUZXh0O1xcbiAgICAgIHRoaXMuZW5kID0gYmFzZTY0RW5kO1xcbiAgICAgIG5iID0gMztcXG4gICAgICBicmVhaztcXG4gICAgZGVmYXVsdDpcXG4gICAgICB0aGlzLndyaXRlID0gc2ltcGxlV3JpdGU7XFxuICAgICAgdGhpcy5lbmQgPSBzaW1wbGVFbmQ7XFxuICAgICAgcmV0dXJuO1xcbiAgfVxcbiAgdGhpcy5sYXN0TmVlZCA9IDA7XFxuICB0aGlzLmxhc3RUb3RhbCA9IDA7XFxuICB0aGlzLmxhc3RDaGFyID0gQnVmZmVyLmFsbG9jVW5zYWZlKG5iKTtcXG59XFxuXFxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYnVmKSB7XFxuICBpZiAoYnVmLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xcbiAgdmFyIHI7XFxuICB2YXIgaTtcXG4gIGlmICh0aGlzLmxhc3ROZWVkKSB7XFxuICAgIHIgPSB0aGlzLmZpbGxMYXN0KGJ1Zik7XFxuICAgIGlmIChyID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcXG4gICAgaSA9IHRoaXMubGFzdE5lZWQ7XFxuICAgIHRoaXMubGFzdE5lZWQgPSAwO1xcbiAgfSBlbHNlIHtcXG4gICAgaSA9IDA7XFxuICB9XFxuICBpZiAoaSA8IGJ1Zi5sZW5ndGgpIHJldHVybiByID8gciArIHRoaXMudGV4dChidWYsIGkpIDogdGhpcy50ZXh0KGJ1ZiwgaSk7XFxuICByZXR1cm4gciB8fCAnJztcXG59O1xcblxcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLmVuZCA9IHV0ZjhFbmQ7XFxuXFxuLy8gUmV0dXJucyBvbmx5IGNvbXBsZXRlIGNoYXJhY3RlcnMgaW4gYSBCdWZmZXJcXG5TdHJpbmdEZWNvZGVyLnByb3RvdHlwZS50ZXh0ID0gdXRmOFRleHQ7XFxuXFxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBwYXJ0aWFsIG5vbi1VVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlclxcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLmZpbGxMYXN0ID0gZnVuY3Rpb24gKGJ1Zikge1xcbiAgaWYgKHRoaXMubGFzdE5lZWQgPD0gYnVmLmxlbmd0aCkge1xcbiAgICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIHRoaXMubGFzdE5lZWQpO1xcbiAgICByZXR1cm4gdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLCAwLCB0aGlzLmxhc3RUb3RhbCk7XFxuICB9XFxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIGJ1Zi5sZW5ndGgpO1xcbiAgdGhpcy5sYXN0TmVlZCAtPSBidWYubGVuZ3RoO1xcbn07XFxuXFxuLy8gQ2hlY2tzIHRoZSB0eXBlIG9mIGEgVVRGLTggYnl0ZSwgd2hldGhlciBpdCdzIEFTQ0lJLCBhIGxlYWRpbmcgYnl0ZSwgb3IgYVxcbi8vIGNvbnRpbnVhdGlvbiBieXRlLiBJZiBhbiBpbnZhbGlkIGJ5dGUgaXMgZGV0ZWN0ZWQsIC0yIGlzIHJldHVybmVkLlxcbmZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUoYnl0ZSkge1xcbiAgaWYgKGJ5dGUgPD0gMHg3RikgcmV0dXJuIDA7ZWxzZSBpZiAoYnl0ZSA+PiA1ID09PSAweDA2KSByZXR1cm4gMjtlbHNlIGlmIChieXRlID4+IDQgPT09IDB4MEUpIHJldHVybiAzO2Vsc2UgaWYgKGJ5dGUgPj4gMyA9PT0gMHgxRSkgcmV0dXJuIDQ7XFxuICByZXR1cm4gYnl0ZSA+PiA2ID09PSAweDAyID8gLTEgOiAtMjtcXG59XFxuXFxuLy8gQ2hlY2tzIGF0IG1vc3QgMyBieXRlcyBhdCB0aGUgZW5kIG9mIGEgQnVmZmVyIGluIG9yZGVyIHRvIGRldGVjdCBhblxcbi8vIGluY29tcGxldGUgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIuIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKDIsIDMsIG9yIDQpXFxuLy8gbmVlZGVkIHRvIGNvbXBsZXRlIHRoZSBVVEYtOCBjaGFyYWN0ZXIgKGlmIGFwcGxpY2FibGUpIGFyZSByZXR1cm5lZC5cXG5mdW5jdGlvbiB1dGY4Q2hlY2tJbmNvbXBsZXRlKHNlbGYsIGJ1ZiwgaSkge1xcbiAgdmFyIGogPSBidWYubGVuZ3RoIC0gMTtcXG4gIGlmIChqIDwgaSkgcmV0dXJuIDA7XFxuICB2YXIgbmIgPSB1dGY4Q2hlY2tCeXRlKGJ1ZltqXSk7XFxuICBpZiAobmIgPj0gMCkge1xcbiAgICBpZiAobmIgPiAwKSBzZWxmLmxhc3ROZWVkID0gbmIgLSAxO1xcbiAgICByZXR1cm4gbmI7XFxuICB9XFxuICBpZiAoLS1qIDwgaSB8fCBuYiA9PT0gLTIpIHJldHVybiAwO1xcbiAgbmIgPSB1dGY4Q2hlY2tCeXRlKGJ1ZltqXSk7XFxuICBpZiAobmIgPj0gMCkge1xcbiAgICBpZiAobmIgPiAwKSBzZWxmLmxhc3ROZWVkID0gbmIgLSAyO1xcbiAgICByZXR1cm4gbmI7XFxuICB9XFxuICBpZiAoLS1qIDwgaSB8fCBuYiA9PT0gLTIpIHJldHVybiAwO1xcbiAgbmIgPSB1dGY4Q2hlY2tCeXRlKGJ1ZltqXSk7XFxuICBpZiAobmIgPj0gMCkge1xcbiAgICBpZiAobmIgPiAwKSB7XFxuICAgICAgaWYgKG5iID09PSAyKSBuYiA9IDA7ZWxzZSBzZWxmLmxhc3ROZWVkID0gbmIgLSAzO1xcbiAgICB9XFxuICAgIHJldHVybiBuYjtcXG4gIH1cXG4gIHJldHVybiAwO1xcbn1cXG5cXG4vLyBWYWxpZGF0ZXMgYXMgbWFueSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgYXNcXG4vLyBuZWVkZWQgb3IgYXJlIGF2YWlsYWJsZS4gSWYgd2Ugc2VlIGEgbm9uLWNvbnRpbnVhdGlvbiBieXRlIHdoZXJlIHdlIGV4cGVjdFxcbi8vIG9uZSwgd2UgXFxcInJlcGxhY2VcXFwiIHRoZSB2YWxpZGF0ZWQgY29udGludWF0aW9uIGJ5dGVzIHdlJ3ZlIHNlZW4gc28gZmFyIHdpdGhcXG4vLyBhIHNpbmdsZSBVVEYtOCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgKCdcXFxcdWZmZmQnKSwgdG8gbWF0Y2ggdjgncyBVVEYtOCBkZWNvZGluZ1xcbi8vIGJlaGF2aW9yLiBUaGUgY29udGludWF0aW9uIGJ5dGUgY2hlY2sgaXMgaW5jbHVkZWQgdGhyZWUgdGltZXMgaW4gdGhlIGNhc2VcXG4vLyB3aGVyZSBhbGwgb2YgdGhlIGNvbnRpbnVhdGlvbiBieXRlcyBmb3IgYSBjaGFyYWN0ZXIgZXhpc3QgaW4gdGhlIHNhbWUgYnVmZmVyLlxcbi8vIEl0IGlzIGFsc28gZG9uZSB0aGlzIHdheSBhcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBpbmNyZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGFcXG4vLyBsb29wLlxcbmZ1bmN0aW9uIHV0ZjhDaGVja0V4dHJhQnl0ZXMoc2VsZiwgYnVmLCBwKSB7XFxuICBpZiAoKGJ1ZlswXSAmIDB4QzApICE9PSAweDgwKSB7XFxuICAgIHNlbGYubGFzdE5lZWQgPSAwO1xcbiAgICByZXR1cm4gJ1xcXFx1ZmZmZCc7XFxuICB9XFxuICBpZiAoc2VsZi5sYXN0TmVlZCA+IDEgJiYgYnVmLmxlbmd0aCA+IDEpIHtcXG4gICAgaWYgKChidWZbMV0gJiAweEMwKSAhPT0gMHg4MCkge1xcbiAgICAgIHNlbGYubGFzdE5lZWQgPSAxO1xcbiAgICAgIHJldHVybiAnXFxcXHVmZmZkJztcXG4gICAgfVxcbiAgICBpZiAoc2VsZi5sYXN0TmVlZCA+IDIgJiYgYnVmLmxlbmd0aCA+IDIpIHtcXG4gICAgICBpZiAoKGJ1ZlsyXSAmIDB4QzApICE9PSAweDgwKSB7XFxuICAgICAgICBzZWxmLmxhc3ROZWVkID0gMjtcXG4gICAgICAgIHJldHVybiAnXFxcXHVmZmZkJztcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBtdWx0aS1ieXRlIFVURi04IGNoYXJhY3RlciB1c2luZyBieXRlcyBmcm9tIGEgQnVmZmVyLlxcbmZ1bmN0aW9uIHV0ZjhGaWxsTGFzdChidWYpIHtcXG4gIHZhciBwID0gdGhpcy5sYXN0VG90YWwgLSB0aGlzLmxhc3ROZWVkO1xcbiAgdmFyIHIgPSB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsIGJ1ZiwgcCk7XFxuICBpZiAociAhPT0gdW5kZWZpbmVkKSByZXR1cm4gcjtcXG4gIGlmICh0aGlzLmxhc3ROZWVkIDw9IGJ1Zi5sZW5ndGgpIHtcXG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgcCwgMCwgdGhpcy5sYXN0TmVlZCk7XFxuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcXG4gIH1cXG4gIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIGJ1Zi5sZW5ndGgpO1xcbiAgdGhpcy5sYXN0TmVlZCAtPSBidWYubGVuZ3RoO1xcbn1cXG5cXG4vLyBSZXR1cm5zIGFsbCBjb21wbGV0ZSBVVEYtOCBjaGFyYWN0ZXJzIGluIGEgQnVmZmVyLiBJZiB0aGUgQnVmZmVyIGVuZGVkIG9uIGFcXG4vLyBwYXJ0aWFsIGNoYXJhY3RlciwgdGhlIGNoYXJhY3RlcidzIGJ5dGVzIGFyZSBidWZmZXJlZCB1bnRpbCB0aGUgcmVxdWlyZWRcXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXJlIGF2YWlsYWJsZS5cXG5mdW5jdGlvbiB1dGY4VGV4dChidWYsIGkpIHtcXG4gIHZhciB0b3RhbCA9IHV0ZjhDaGVja0luY29tcGxldGUodGhpcywgYnVmLCBpKTtcXG4gIGlmICghdGhpcy5sYXN0TmVlZCkgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGkpO1xcbiAgdGhpcy5sYXN0VG90YWwgPSB0b3RhbDtcXG4gIHZhciBlbmQgPSBidWYubGVuZ3RoIC0gKHRvdGFsIC0gdGhpcy5sYXN0TmVlZCk7XFxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCAwLCBlbmQpO1xcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGksIGVuZCk7XFxufVxcblxcbi8vIEZvciBVVEYtOCwgYSByZXBsYWNlbWVudCBjaGFyYWN0ZXIgaXMgYWRkZWQgd2hlbiBlbmRpbmcgb24gYSBwYXJ0aWFsXFxuLy8gY2hhcmFjdGVyLlxcbmZ1bmN0aW9uIHV0ZjhFbmQoYnVmKSB7XFxuICB2YXIgciA9IGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XFxuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyAnXFxcXHVmZmZkJztcXG4gIHJldHVybiByO1xcbn1cXG5cXG4vLyBVVEYtMTZMRSB0eXBpY2FsbHkgbmVlZHMgdHdvIGJ5dGVzIHBlciBjaGFyYWN0ZXIsIGJ1dCBldmVuIGlmIHdlIGhhdmUgYW4gZXZlblxcbi8vIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgZW5kIG9uIGEgbGVhZGluZy9oaWdoXFxuLy8gc3Vycm9nYXRlLiBJbiB0aGF0IGNhc2UsIHdlIG5lZWQgdG8gd2FpdCBmb3IgdGhlIG5leHQgdHdvIGJ5dGVzIGluIG9yZGVyIHRvXFxuLy8gZGVjb2RlIHRoZSBsYXN0IGNoYXJhY3RlciBwcm9wZXJseS5cXG5mdW5jdGlvbiB1dGYxNlRleHQoYnVmLCBpKSB7XFxuICBpZiAoKGJ1Zi5sZW5ndGggLSBpKSAlIDIgPT09IDApIHtcXG4gICAgdmFyIHIgPSBidWYudG9TdHJpbmcoJ3V0ZjE2bGUnLCBpKTtcXG4gICAgaWYgKHIpIHtcXG4gICAgICB2YXIgYyA9IHIuY2hhckNvZGVBdChyLmxlbmd0aCAtIDEpO1xcbiAgICAgIGlmIChjID49IDB4RDgwMCAmJiBjIDw9IDB4REJGRikge1xcbiAgICAgICAgdGhpcy5sYXN0TmVlZCA9IDI7XFxuICAgICAgICB0aGlzLmxhc3RUb3RhbCA9IDQ7XFxuICAgICAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAyXTtcXG4gICAgICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xcbiAgICAgICAgcmV0dXJuIHIuc2xpY2UoMCwgLTEpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG4gIHRoaXMubGFzdE5lZWQgPSAxO1xcbiAgdGhpcy5sYXN0VG90YWwgPSAyO1xcbiAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMV07XFxuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSwgYnVmLmxlbmd0aCAtIDEpO1xcbn1cXG5cXG4vLyBGb3IgVVRGLTE2TEUgd2UgZG8gbm90IGV4cGxpY2l0bHkgYXBwZW5kIHNwZWNpYWwgcmVwbGFjZW1lbnQgY2hhcmFjdGVycyBpZiB3ZVxcbi8vIGVuZCBvbiBhIHBhcnRpYWwgY2hhcmFjdGVyLCB3ZSBzaW1wbHkgbGV0IHY4IGhhbmRsZSB0aGF0LlxcbmZ1bmN0aW9uIHV0ZjE2RW5kKGJ1Zikge1xcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcXG4gICAgdmFyIGVuZCA9IHRoaXMubGFzdFRvdGFsIC0gdGhpcy5sYXN0TmVlZDtcXG4gICAgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCd1dGYxNmxlJywgMCwgZW5kKTtcXG4gIH1cXG4gIHJldHVybiByO1xcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRUZXh0KGJ1ZiwgaSkge1xcbiAgdmFyIG4gPSAoYnVmLmxlbmd0aCAtIGkpICUgMztcXG4gIGlmIChuID09PSAwKSByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpKTtcXG4gIHRoaXMubGFzdE5lZWQgPSAzIC0gbjtcXG4gIHRoaXMubGFzdFRvdGFsID0gMztcXG4gIGlmIChuID09PSAxKSB7XFxuICAgIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XFxuICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xcbiAgfVxcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygnYmFzZTY0JywgaSwgYnVmLmxlbmd0aCAtIG4pO1xcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRFbmQoYnVmKSB7XFxuICB2YXIgciA9IGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XFxuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCdiYXNlNjQnLCAwLCAzIC0gdGhpcy5sYXN0TmVlZCk7XFxuICByZXR1cm4gcjtcXG59XFxuXFxuLy8gUGFzcyBieXRlcyBvbiB0aHJvdWdoIGZvciBzaW5nbGUtYnl0ZSBlbmNvZGluZ3MgKGUuZy4gYXNjaWksIGxhdGluMSwgaGV4KVxcbmZ1bmN0aW9uIHNpbXBsZVdyaXRlKGJ1Zikge1xcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcXG59XFxuXFxuZnVuY3Rpb24gc2ltcGxlRW5kKGJ1Zikge1xcbiAgcmV0dXJuIGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XFxufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5emRISnBibWRmWkdWamIyUmxjaTlzYVdJdmMzUnlhVzVuWDJSbFkyOWtaWEl1YW5NL1ptUTVZeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWaE96dEJRVVZpT3p0QlFVVkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05FSkJRVFJDTzBGQlF6VkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNOa0pCUVRaQ0xITkRRVUZ6UXl4elEwRkJjME03UVVGRGVrYzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3lRa0ZCTWtJN1FVRkRNMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzTjBjbWx1WjE5a1pXTnZaR1Z5TDJ4cFlpOXpkSEpwYm1kZlpHVmpiMlJsY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFTnZjSGx5YVdkb2RDQktiM2xsYm5Rc0lFbHVZeTRnWVc1a0lHOTBhR1Z5SUU1dlpHVWdZMjl1ZEhKcFluVjBiM0p6TGx4dUx5OWNiaTh2SUZCbGNtMXBjM05wYjI0Z2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRc0lHWnlaV1VnYjJZZ1kyaGhjbWRsTENCMGJ5QmhibmtnY0dWeWMyOXVJRzlpZEdGcGJtbHVaeUJoWEc0dkx5QmpiM0I1SUc5bUlIUm9hWE1nYzI5bWRIZGhjbVVnWVc1a0lHRnpjMjlqYVdGMFpXUWdaRzlqZFcxbGJuUmhkR2x2YmlCbWFXeGxjeUFvZEdobFhHNHZMeUJjSWxOdlpuUjNZWEpsWENJcExDQjBieUJrWldGc0lHbHVJSFJvWlNCVGIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhKbGMzUnlhV04wYVc5dUxDQnBibU5zZFdScGJtZGNiaTh2SUhkcGRHaHZkWFFnYkdsdGFYUmhkR2x2YmlCMGFHVWdjbWxuYUhSeklIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0J0WlhKblpTd2djSFZpYkdsemFDeGNiaTh2SUdScGMzUnlhV0oxZEdVc0lITjFZbXhwWTJWdWMyVXNJR0Z1WkM5dmNpQnpaV3hzSUdOdmNHbGxjeUJ2WmlCMGFHVWdVMjltZEhkaGNtVXNJR0Z1WkNCMGJ5QndaWEp0YVhSY2JpOHZJSEJsY25OdmJuTWdkRzhnZDJodmJTQjBhR1VnVTI5bWRIZGhjbVVnYVhNZ1puVnlibWx6YUdWa0lIUnZJR1J2SUhOdkxDQnpkV0pxWldOMElIUnZJSFJvWlZ4dUx5OGdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk02WEc0dkwxeHVMeThnVkdobElHRmliM1psSUdOdmNIbHlhV2RvZENCdWIzUnBZMlVnWVc1a0lIUm9hWE1nY0dWeWJXbHpjMmx2YmlCdWIzUnBZMlVnYzJoaGJHd2dZbVVnYVc1amJIVmtaV1JjYmk4dklHbHVJR0ZzYkNCamIzQnBaWE1nYjNJZ2MzVmljM1JoYm5ScFlXd2djRzl5ZEdsdmJuTWdiMllnZEdobElGTnZablIzWVhKbExseHVMeTljYmk4dklGUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJc0lGZEpWRWhQVlZRZ1YwRlNVa0ZPVkZrZ1QwWWdRVTVaSUV0SlRrUXNJRVZZVUZKRlUxTmNiaTh2SUU5U0lFbE5VRXhKUlVRc0lFbE9RMHhWUkVsT1J5QkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOGdWRWhGSUZkQlVsSkJUbFJKUlZNZ1QwWmNiaTh2SUUxRlVrTklRVTVVUVVKSlRFbFVXU3dnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVTVFSUU1UFRrbE9SbEpKVGtkRlRVVk9WQzRnU1U1Y2JpOHZJRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSlRJRTlTSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUVOTVFVbE5MRnh1THk4Z1JFRk5RVWRGVXlCUFVpQlBWRWhGVWlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCVVQxSlVJRTlTWEc0dkx5QlBWRWhGVWxkSlUwVXNJRUZTU1ZOSlRrY2dSbEpQVFN3Z1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVTA5R1ZGZEJVa1VnVDFJZ1ZFaEZYRzR2THlCVlUwVWdUMUlnVDFSSVJWSWdSRVZCVEVsT1IxTWdTVTRnVkVoRklGTlBSbFJYUVZKRkxseHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjanRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnYVhORmJtTnZaR2x1WnlBOUlFSjFabVpsY2k1cGMwVnVZMjlrYVc1bklIeDhJR1oxYm1OMGFXOXVJQ2hsYm1OdlpHbHVaeWtnZTF4dUlDQmxibU52WkdsdVp5QTlJQ2NuSUNzZ1pXNWpiMlJwYm1jN1hHNGdJSE4zYVhSamFDQW9aVzVqYjJScGJtY2dKaVlnWlc1amIyUnBibWN1ZEc5TWIzZGxja05oYzJVb0tTa2dlMXh1SUNBZ0lHTmhjMlVnSjJobGVDYzZZMkZ6WlNBbmRYUm1PQ2M2WTJGelpTQW5kWFJtTFRnbk9tTmhjMlVnSjJGelkybHBKenBqWVhObElDZGlhVzVoY25rbk9tTmhjMlVnSjJKaGMyVTJOQ2M2WTJGelpTQW5kV056TWljNlkyRnpaU0FuZFdOekxUSW5PbU5oYzJVZ0ozVjBaakUyYkdVbk9tTmhjMlVnSjNWMFppMHhObXhsSnpwallYTmxJQ2R5WVhjbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWDI1dmNtMWhiR2w2WlVWdVkyOWthVzVuS0dWdVl5a2dlMXh1SUNCcFppQW9JV1Z1WXlrZ2NtVjBkWEp1SUNkMWRHWTRKenRjYmlBZ2RtRnlJSEpsZEhKcFpXUTdYRzRnSUhkb2FXeGxJQ2gwY25WbEtTQjdYRzRnSUNBZ2MzZHBkR05vSUNobGJtTXBJSHRjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaamduT2x4dUlDQWdJQ0FnWTJGelpTQW5kWFJtTFRnbk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0ozVjBaamduTzF4dUlDQWdJQ0FnWTJGelpTQW5kV056TWljNlhHNGdJQ0FnSUNCallYTmxJQ2QxWTNNdE1pYzZYRzRnSUNBZ0lDQmpZWE5sSUNkMWRHWXhObXhsSnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1YwWmkweE5teGxKenBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJQ2QxZEdZeE5teGxKenRjYmlBZ0lDQWdJR05oYzJVZ0oyeGhkR2x1TVNjNlhHNGdJQ0FnSUNCallYTmxJQ2RpYVc1aGNua25PbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMnhoZEdsdU1TYzdYRzRnSUNBZ0lDQmpZWE5sSUNkaVlYTmxOalFuT2x4dUlDQWdJQ0FnWTJGelpTQW5ZWE5qYVdrbk9seHVJQ0FnSUNBZ1kyRnpaU0FuYUdWNEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHVnVZenRjYmlBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYUnlhV1ZrS1NCeVpYUjFjbTQ3SUM4dklIVnVaR1ZtYVc1bFpGeHVJQ0FnSUNBZ0lDQmxibU1nUFNBb0p5Y2dLeUJsYm1NcExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRISnBaV1FnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZUdGNibHh1THk4Z1JHOGdibTkwSUdOaFkyaGxJR0JDZFdabVpYSXVhWE5GYm1OdlpHbHVaMkFnZDJobGJpQmphR1ZqYTJsdVp5QmxibU52WkdsdVp5QnVZVzFsY3lCaGN5QnpiMjFsWEc0dkx5QnRiMlIxYkdWeklHMXZibXRsZVMxd1lYUmphQ0JwZENCMGJ5QnpkWEJ3YjNKMElHRmtaR2wwYVc5dVlXd2daVzVqYjJScGJtZHpYRzVtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVZGYm1OdlpHbHVaeWhsYm1NcElIdGNiaUFnZG1GeUlHNWxibU1nUFNCZmJtOXliV0ZzYVhwbFJXNWpiMlJwYm1jb1pXNWpLVHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnVaVzVqSUNFOVBTQW5jM1J5YVc1bkp5QW1KaUFvUW5WbVptVnlMbWx6Ulc1amIyUnBibWNnUFQwOUlHbHpSVzVqYjJScGJtY2dmSHdnSVdselJXNWpiMlJwYm1jb1pXNWpLU2twSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1cmJtOTNiaUJsYm1OdlpHbHVaem9nSnlBcklHVnVZeWs3WEc0Z0lISmxkSFZ5YmlCdVpXNWpJSHg4SUdWdVl6dGNibjFjYmx4dUx5OGdVM1J5YVc1blJHVmpiMlJsY2lCd2NtOTJhV1JsY3lCaGJpQnBiblJsY21aaFkyVWdabTl5SUdWbVptbGphV1Z1ZEd4NUlITndiR2wwZEdsdVp5QmhJSE5sY21sbGN5QnZabHh1THk4Z1luVm1abVZ5Y3lCcGJuUnZJR0VnYzJWeWFXVnpJRzltSUVwVElITjBjbWx1WjNNZ2QybDBhRzkxZENCaWNtVmhhMmx1WnlCaGNHRnlkQ0J0ZFd4MGFTMWllWFJsWEc0dkx5QmphR0Z5WVdOMFpYSnpMbHh1Wlhod2IzSjBjeTVUZEhKcGJtZEVaV052WkdWeUlEMGdVM1J5YVc1blJHVmpiMlJsY2p0Y2JtWjFibU4wYVc5dUlGTjBjbWx1WjBSbFkyOWtaWElvWlc1amIyUnBibWNwSUh0Y2JpQWdkR2hwY3k1bGJtTnZaR2x1WnlBOUlHNXZjbTFoYkdsNlpVVnVZMjlrYVc1bktHVnVZMjlrYVc1bktUdGNiaUFnZG1GeUlHNWlPMXh1SUNCemQybDBZMmdnS0hSb2FYTXVaVzVqYjJScGJtY3BJSHRjYmlBZ0lDQmpZWE5sSUNkMWRHWXhObXhsSnpwY2JpQWdJQ0FnSUhSb2FYTXVkR1Y0ZENBOUlIVjBaakUyVkdWNGREdGNiaUFnSUNBZ0lIUm9hWE11Wlc1a0lEMGdkWFJtTVRaRmJtUTdYRzRnSUNBZ0lDQnVZaUE5SURRN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQmpZWE5sSUNkMWRHWTRKenBjYmlBZ0lDQWdJSFJvYVhNdVptbHNiRXhoYzNRZ1BTQjFkR1k0Um1sc2JFeGhjM1E3WEc0Z0lDQWdJQ0J1WWlBOUlEUTdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0JqWVhObElDZGlZWE5sTmpRbk9seHVJQ0FnSUNBZ2RHaHBjeTUwWlhoMElEMGdZbUZ6WlRZMFZHVjRkRHRjYmlBZ0lDQWdJSFJvYVhNdVpXNWtJRDBnWW1GelpUWTBSVzVrTzF4dUlDQWdJQ0FnYm1JZ1BTQXpPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSFJvYVhNdWQzSnBkR1VnUFNCemFXMXdiR1ZYY21sMFpUdGNiaUFnSUNBZ0lIUm9hWE11Wlc1a0lEMGdjMmx0Y0d4bFJXNWtPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc0Z0lIUm9hWE11YkdGemRFNWxaV1FnUFNBd08xeHVJQ0IwYUdsekxteGhjM1JVYjNSaGJDQTlJREE3WEc0Z0lIUm9hWE11YkdGemRFTm9ZWElnUFNCQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1Vb2JtSXBPMXh1ZlZ4dVhHNVRkSEpwYm1kRVpXTnZaR1Z5TG5CeWIzUnZkSGx3WlM1M2NtbDBaU0E5SUdaMWJtTjBhVzl1SUNoaWRXWXBJSHRjYmlBZ2FXWWdLR0oxWmk1c1pXNW5kR2dnUFQwOUlEQXBJSEpsZEhWeWJpQW5KenRjYmlBZ2RtRnlJSEk3WEc0Z0lIWmhjaUJwTzF4dUlDQnBaaUFvZEdocGN5NXNZWE4wVG1WbFpDa2dlMXh1SUNBZ0lISWdQU0IwYUdsekxtWnBiR3hNWVhOMEtHSjFaaWs3WEc0Z0lDQWdhV1lnS0hJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJQ2NuTzF4dUlDQWdJR2tnUFNCMGFHbHpMbXhoYzNST1pXVmtPMXh1SUNBZ0lIUm9hWE11YkdGemRFNWxaV1FnUFNBd08xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHa2dQU0F3TzF4dUlDQjlYRzRnSUdsbUlDaHBJRHdnWW5WbUxteGxibWQwYUNrZ2NtVjBkWEp1SUhJZ1B5QnlJQ3NnZEdocGN5NTBaWGgwS0dKMVppd2dhU2tnT2lCMGFHbHpMblJsZUhRb1luVm1MQ0JwS1R0Y2JpQWdjbVYwZFhKdUlISWdmSHdnSnljN1hHNTlPMXh1WEc1VGRISnBibWRFWldOdlpHVnlMbkJ5YjNSdmRIbHdaUzVsYm1RZ1BTQjFkR1k0Ulc1a08xeHVYRzR2THlCU1pYUjFjbTV6SUc5dWJIa2dZMjl0Y0d4bGRHVWdZMmhoY21GamRHVnljeUJwYmlCaElFSjFabVpsY2x4dVUzUnlhVzVuUkdWamIyUmxjaTV3Y205MGIzUjVjR1V1ZEdWNGRDQTlJSFYwWmpoVVpYaDBPMXh1WEc0dkx5QkJkSFJsYlhCMGN5QjBieUJqYjIxd2JHVjBaU0JoSUhCaGNuUnBZV3dnYm05dUxWVlVSaTA0SUdOb1lYSmhZM1JsY2lCMWMybHVaeUJpZVhSbGN5Qm1jbTl0SUdFZ1FuVm1abVZ5WEc1VGRISnBibWRFWldOdlpHVnlMbkJ5YjNSdmRIbHdaUzVtYVd4c1RHRnpkQ0E5SUdaMWJtTjBhVzl1SUNoaWRXWXBJSHRjYmlBZ2FXWWdLSFJvYVhNdWJHRnpkRTVsWldRZ1BEMGdZblZtTG14bGJtZDBhQ2tnZTF4dUlDQWdJR0oxWmk1amIzQjVLSFJvYVhNdWJHRnpkRU5vWVhJc0lIUm9hWE11YkdGemRGUnZkR0ZzSUMwZ2RHaHBjeTVzWVhOMFRtVmxaQ3dnTUN3Z2RHaHBjeTVzWVhOMFRtVmxaQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YkdGemRFTm9ZWEl1ZEc5VGRISnBibWNvZEdocGN5NWxibU52WkdsdVp5d2dNQ3dnZEdocGN5NXNZWE4wVkc5MFlXd3BPMXh1SUNCOVhHNGdJR0oxWmk1amIzQjVLSFJvYVhNdWJHRnpkRU5vWVhJc0lIUm9hWE11YkdGemRGUnZkR0ZzSUMwZ2RHaHBjeTVzWVhOMFRtVmxaQ3dnTUN3Z1luVm1MbXhsYm1kMGFDazdYRzRnSUhSb2FYTXViR0Z6ZEU1bFpXUWdMVDBnWW5WbUxteGxibWQwYUR0Y2JuMDdYRzVjYmk4dklFTm9aV05yY3lCMGFHVWdkSGx3WlNCdlppQmhJRlZVUmkwNElHSjVkR1VzSUhkb1pYUm9aWElnYVhRbmN5QkJVME5KU1N3Z1lTQnNaV0ZrYVc1bklHSjVkR1VzSUc5eUlHRmNiaTh2SUdOdmJuUnBiblZoZEdsdmJpQmllWFJsTGlCSlppQmhiaUJwYm5aaGJHbGtJR0o1ZEdVZ2FYTWdaR1YwWldOMFpXUXNJQzB5SUdseklISmxkSFZ5Ym1Wa0xseHVablZ1WTNScGIyNGdkWFJtT0VOb1pXTnJRbmwwWlNoaWVYUmxLU0I3WEc0Z0lHbG1JQ2hpZVhSbElEdzlJREI0TjBZcElISmxkSFZ5YmlBd08yVnNjMlVnYVdZZ0tHSjVkR1VnUGo0Z05TQTlQVDBnTUhnd05pa2djbVYwZFhKdUlESTdaV3h6WlNCcFppQW9ZbmwwWlNBK1BpQTBJRDA5UFNBd2VEQkZLU0J5WlhSMWNtNGdNenRsYkhObElHbG1JQ2hpZVhSbElENCtJRE1nUFQwOUlEQjRNVVVwSUhKbGRIVnliaUEwTzF4dUlDQnlaWFIxY200Z1lubDBaU0ErUGlBMklEMDlQU0F3ZURBeUlEOGdMVEVnT2lBdE1qdGNibjFjYmx4dUx5OGdRMmhsWTJ0eklHRjBJRzF2YzNRZ015QmllWFJsY3lCaGRDQjBhR1VnWlc1a0lHOW1JR0VnUW5WbVptVnlJR2x1SUc5eVpHVnlJSFJ2SUdSbGRHVmpkQ0JoYmx4dUx5OGdhVzVqYjIxd2JHVjBaU0J0ZFd4MGFTMWllWFJsSUZWVVJpMDRJR05vWVhKaFkzUmxjaTRnVkdobElIUnZkR0ZzSUc1MWJXSmxjaUJ2WmlCaWVYUmxjeUFvTWl3Z015d2diM0lnTkNsY2JpOHZJRzVsWldSbFpDQjBieUJqYjIxd2JHVjBaU0IwYUdVZ1ZWUkdMVGdnWTJoaGNtRmpkR1Z5SUNocFppQmhjSEJzYVdOaFlteGxLU0JoY21VZ2NtVjBkWEp1WldRdVhHNW1kVzVqZEdsdmJpQjFkR1k0UTJobFkydEpibU52YlhCc1pYUmxLSE5sYkdZc0lHSjFaaXdnYVNrZ2UxeHVJQ0IyWVhJZ2FpQTlJR0oxWmk1c1pXNW5kR2dnTFNBeE8xeHVJQ0JwWmlBb2FpQThJR2twSUhKbGRIVnliaUF3TzF4dUlDQjJZWElnYm1JZ1BTQjFkR1k0UTJobFkydENlWFJsS0dKMVpsdHFYU2s3WEc0Z0lHbG1JQ2h1WWlBK1BTQXdLU0I3WEc0Z0lDQWdhV1lnS0c1aUlENGdNQ2tnYzJWc1ppNXNZWE4wVG1WbFpDQTlJRzVpSUMwZ01UdGNiaUFnSUNCeVpYUjFjbTRnYm1JN1hHNGdJSDFjYmlBZ2FXWWdLQzB0YWlBOElHa2dmSHdnYm1JZ1BUMDlJQzB5S1NCeVpYUjFjbTRnTUR0Y2JpQWdibUlnUFNCMWRHWTRRMmhsWTJ0Q2VYUmxLR0oxWmx0cVhTazdYRzRnSUdsbUlDaHVZaUErUFNBd0tTQjdYRzRnSUNBZ2FXWWdLRzVpSUQ0Z01Da2djMlZzWmk1c1lYTjBUbVZsWkNBOUlHNWlJQzBnTWp0Y2JpQWdJQ0J5WlhSMWNtNGdibUk3WEc0Z0lIMWNiaUFnYVdZZ0tDMHRhaUE4SUdrZ2ZId2dibUlnUFQwOUlDMHlLU0J5WlhSMWNtNGdNRHRjYmlBZ2JtSWdQU0IxZEdZNFEyaGxZMnRDZVhSbEtHSjFabHRxWFNrN1hHNGdJR2xtSUNodVlpQStQU0F3S1NCN1hHNGdJQ0FnYVdZZ0tHNWlJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzVpSUQwOVBTQXlLU0J1WWlBOUlEQTdaV3h6WlNCelpXeG1MbXhoYzNST1pXVmtJRDBnYm1JZ0xTQXpPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm1JN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SURBN1hHNTlYRzVjYmk4dklGWmhiR2xrWVhSbGN5QmhjeUJ0WVc1NUlHTnZiblJwYm5WaGRHbHZiaUJpZVhSbGN5Qm1iM0lnWVNCdGRXeDBhUzFpZVhSbElGVlVSaTA0SUdOb1lYSmhZM1JsY2lCaGMxeHVMeThnYm1WbFpHVmtJRzl5SUdGeVpTQmhkbUZwYkdGaWJHVXVJRWxtSUhkbElITmxaU0JoSUc1dmJpMWpiMjUwYVc1MVlYUnBiMjRnWW5sMFpTQjNhR1Z5WlNCM1pTQmxlSEJsWTNSY2JpOHZJRzl1WlN3Z2QyVWdYQ0p5WlhCc1lXTmxYQ0lnZEdobElIWmhiR2xrWVhSbFpDQmpiMjUwYVc1MVlYUnBiMjRnWW5sMFpYTWdkMlVuZG1VZ2MyVmxiaUJ6YnlCbVlYSWdkMmwwYUZ4dUx5OGdZU0J6YVc1bmJHVWdWVlJHTFRnZ2NtVndiR0ZqWlcxbGJuUWdZMmhoY21GamRHVnlJQ2duWEZ4MVptWm1aQ2NwTENCMGJ5QnRZWFJqYUNCMk9DZHpJRlZVUmkwNElHUmxZMjlrYVc1blhHNHZMeUJpWldoaGRtbHZjaTRnVkdobElHTnZiblJwYm5WaGRHbHZiaUJpZVhSbElHTm9aV05ySUdseklHbHVZMngxWkdWa0lIUm9jbVZsSUhScGJXVnpJR2x1SUhSb1pTQmpZWE5sWEc0dkx5QjNhR1Z5WlNCaGJHd2diMllnZEdobElHTnZiblJwYm5WaGRHbHZiaUJpZVhSbGN5Qm1iM0lnWVNCamFHRnlZV04wWlhJZ1pYaHBjM1FnYVc0Z2RHaGxJSE5oYldVZ1luVm1abVZ5TGx4dUx5OGdTWFFnYVhNZ1lXeHpieUJrYjI1bElIUm9hWE1nZDJGNUlHRnpJR0VnYzJ4cFoyaDBJSEJsY21admNtMWhibU5sSUdsdVkzSmxZWE5sSUdsdWMzUmxZV1FnYjJZZ2RYTnBibWNnWVZ4dUx5OGdiRzl2Y0M1Y2JtWjFibU4wYVc5dUlIVjBaamhEYUdWamEwVjRkSEpoUW5sMFpYTW9jMlZzWml3Z1luVm1MQ0J3S1NCN1hHNGdJR2xtSUNnb1luVm1XekJkSUNZZ01IaERNQ2tnSVQwOUlEQjRPREFwSUh0Y2JpQWdJQ0J6Wld4bUxteGhjM1JPWldWa0lEMGdNRHRjYmlBZ0lDQnlaWFIxY200Z0oxeGNkV1ptWm1Rbk8xeHVJQ0I5WEc0Z0lHbG1JQ2h6Wld4bUxteGhjM1JPWldWa0lENGdNU0FtSmlCaWRXWXViR1Z1WjNSb0lENGdNU2tnZTF4dUlDQWdJR2xtSUNnb1luVm1XekZkSUNZZ01IaERNQ2tnSVQwOUlEQjRPREFwSUh0Y2JpQWdJQ0FnSUhObGJHWXViR0Z6ZEU1bFpXUWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJQ2RjWEhWbVptWmtKenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSE5sYkdZdWJHRnpkRTVsWldRZ1BpQXlJQ1ltSUdKMVppNXNaVzVuZEdnZ1BpQXlLU0I3WEc0Z0lDQWdJQ0JwWmlBb0tHSjFabHN5WFNBbUlEQjRRekFwSUNFOVBTQXdlRGd3S1NCN1hHNGdJQ0FnSUNBZ0lITmxiR1l1YkdGemRFNWxaV1FnUFNBeU8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0oxeGNkV1ptWm1Rbk8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNHZMeUJCZEhSbGJYQjBjeUIwYnlCamIyMXdiR1YwWlNCaElHMTFiSFJwTFdKNWRHVWdWVlJHTFRnZ1kyaGhjbUZqZEdWeUlIVnphVzVuSUdKNWRHVnpJR1p5YjIwZ1lTQkNkV1ptWlhJdVhHNW1kVzVqZEdsdmJpQjFkR1k0Um1sc2JFeGhjM1FvWW5WbUtTQjdYRzRnSUhaaGNpQndJRDBnZEdocGN5NXNZWE4wVkc5MFlXd2dMU0IwYUdsekxteGhjM1JPWldWa08xeHVJQ0IyWVhJZ2NpQTlJSFYwWmpoRGFHVmphMFY0ZEhKaFFubDBaWE1vZEdocGN5d2dZblZtTENCd0tUdGNiaUFnYVdZZ0tISWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2NtVjBkWEp1SUhJN1hHNGdJR2xtSUNoMGFHbHpMbXhoYzNST1pXVmtJRHc5SUdKMVppNXNaVzVuZEdncElIdGNiaUFnSUNCaWRXWXVZMjl3ZVNoMGFHbHpMbXhoYzNSRGFHRnlMQ0J3TENBd0xDQjBhR2x6TG14aGMzUk9aV1ZrS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1lYTjBRMmhoY2k1MGIxTjBjbWx1WnloMGFHbHpMbVZ1WTI5a2FXNW5MQ0F3TENCMGFHbHpMbXhoYzNSVWIzUmhiQ2s3WEc0Z0lIMWNiaUFnWW5WbUxtTnZjSGtvZEdocGN5NXNZWE4wUTJoaGNpd2djQ3dnTUN3Z1luVm1MbXhsYm1kMGFDazdYRzRnSUhSb2FYTXViR0Z6ZEU1bFpXUWdMVDBnWW5WbUxteGxibWQwYUR0Y2JuMWNibHh1THk4Z1VtVjBkWEp1Y3lCaGJHd2dZMjl0Y0d4bGRHVWdWVlJHTFRnZ1kyaGhjbUZqZEdWeWN5QnBiaUJoSUVKMVptWmxjaTRnU1dZZ2RHaGxJRUoxWm1abGNpQmxibVJsWkNCdmJpQmhYRzR2THlCd1lYSjBhV0ZzSUdOb1lYSmhZM1JsY2l3Z2RHaGxJR05vWVhKaFkzUmxjaWR6SUdKNWRHVnpJR0Z5WlNCaWRXWm1aWEpsWkNCMWJuUnBiQ0IwYUdVZ2NtVnhkV2x5WldSY2JpOHZJRzUxYldKbGNpQnZaaUJpZVhSbGN5QmhjbVVnWVhaaGFXeGhZbXhsTGx4dVpuVnVZM1JwYjI0Z2RYUm1PRlJsZUhRb1luVm1MQ0JwS1NCN1hHNGdJSFpoY2lCMGIzUmhiQ0E5SUhWMFpqaERhR1ZqYTBsdVkyOXRjR3hsZEdVb2RHaHBjeXdnWW5WbUxDQnBLVHRjYmlBZ2FXWWdLQ0YwYUdsekxteGhjM1JPWldWa0tTQnlaWFIxY200Z1luVm1MblJ2VTNSeWFXNW5LQ2QxZEdZNEp5d2dhU2s3WEc0Z0lIUm9hWE11YkdGemRGUnZkR0ZzSUQwZ2RHOTBZV3c3WEc0Z0lIWmhjaUJsYm1RZ1BTQmlkV1l1YkdWdVozUm9JQzBnS0hSdmRHRnNJQzBnZEdocGN5NXNZWE4wVG1WbFpDazdYRzRnSUdKMVppNWpiM0I1S0hSb2FYTXViR0Z6ZEVOb1lYSXNJREFzSUdWdVpDazdYRzRnSUhKbGRIVnliaUJpZFdZdWRHOVRkSEpwYm1jb0ozVjBaamduTENCcExDQmxibVFwTzF4dWZWeHVYRzR2THlCR2IzSWdWVlJHTFRnc0lHRWdjbVZ3YkdGalpXMWxiblFnWTJoaGNtRmpkR1Z5SUdseklHRmtaR1ZrSUhkb1pXNGdaVzVrYVc1bklHOXVJR0VnY0dGeWRHbGhiRnh1THk4Z1kyaGhjbUZqZEdWeUxseHVablZ1WTNScGIyNGdkWFJtT0VWdVpDaGlkV1lwSUh0Y2JpQWdkbUZ5SUhJZ1BTQmlkV1lnSmlZZ1luVm1MbXhsYm1kMGFDQS9JSFJvYVhNdWQzSnBkR1VvWW5WbUtTQTZJQ2NuTzF4dUlDQnBaaUFvZEdocGN5NXNZWE4wVG1WbFpDa2djbVYwZFhKdUlISWdLeUFuWEZ4MVptWm1aQ2M3WEc0Z0lISmxkSFZ5YmlCeU8xeHVmVnh1WEc0dkx5QlZWRVl0TVRaTVJTQjBlWEJwWTJGc2JIa2dibVZsWkhNZ2RIZHZJR0o1ZEdWeklIQmxjaUJqYUdGeVlXTjBaWElzSUdKMWRDQmxkbVZ1SUdsbUlIZGxJR2hoZG1VZ1lXNGdaWFpsYmx4dUx5OGdiblZ0WW1WeUlHOW1JR0o1ZEdWeklHRjJZV2xzWVdKc1pTd2dkMlVnYm1WbFpDQjBieUJqYUdWamF5QnBaaUIzWlNCbGJtUWdiMjRnWVNCc1pXRmthVzVuTDJocFoyaGNiaTh2SUhOMWNuSnZaMkYwWlM0Z1NXNGdkR2hoZENCallYTmxMQ0IzWlNCdVpXVmtJSFJ2SUhkaGFYUWdabTl5SUhSb1pTQnVaWGgwSUhSM2J5QmllWFJsY3lCcGJpQnZjbVJsY2lCMGIxeHVMeThnWkdWamIyUmxJSFJvWlNCc1lYTjBJR05vWVhKaFkzUmxjaUJ3Y205d1pYSnNlUzVjYm1aMWJtTjBhVzl1SUhWMFpqRTJWR1Y0ZENoaWRXWXNJR2twSUh0Y2JpQWdhV1lnS0NoaWRXWXViR1Z1WjNSb0lDMGdhU2tnSlNBeUlEMDlQU0F3S1NCN1hHNGdJQ0FnZG1GeUlISWdQU0JpZFdZdWRHOVRkSEpwYm1jb0ozVjBaakUyYkdVbkxDQnBLVHRjYmlBZ0lDQnBaaUFvY2lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCeUxtTm9ZWEpEYjJSbFFYUW9jaTVzWlc1bmRHZ2dMU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURCNFJEZ3dNQ0FtSmlCaklEdzlJREI0UkVKR1Jpa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxteGhjM1JPWldWa0lEMGdNanRjYmlBZ0lDQWdJQ0FnZEdocGN5NXNZWE4wVkc5MFlXd2dQU0EwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbXhoYzNSRGFHRnlXekJkSUQwZ1luVm1XMkoxWmk1c1pXNW5kR2dnTFNBeVhUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1lYTjBRMmhoY2xzeFhTQTlJR0oxWmx0aWRXWXViR1Z1WjNSb0lDMGdNVjA3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5TG5Oc2FXTmxLREFzSUMweEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMWNiaUFnZEdocGN5NXNZWE4wVG1WbFpDQTlJREU3WEc0Z0lIUm9hWE11YkdGemRGUnZkR0ZzSUQwZ01qdGNiaUFnZEdocGN5NXNZWE4wUTJoaGNsc3dYU0E5SUdKMVpsdGlkV1l1YkdWdVozUm9JQzBnTVYwN1hHNGdJSEpsZEhWeWJpQmlkV1l1ZEc5VGRISnBibWNvSjNWMFpqRTJiR1VuTENCcExDQmlkV1l1YkdWdVozUm9JQzBnTVNrN1hHNTlYRzVjYmk4dklFWnZjaUJWVkVZdE1UWk1SU0IzWlNCa2J5QnViM1FnWlhod2JHbGphWFJzZVNCaGNIQmxibVFnYzNCbFkybGhiQ0J5WlhCc1lXTmxiV1Z1ZENCamFHRnlZV04wWlhKeklHbG1JSGRsWEc0dkx5QmxibVFnYjI0Z1lTQndZWEowYVdGc0lHTm9ZWEpoWTNSbGNpd2dkMlVnYzJsdGNHeDVJR3hsZENCMk9DQm9ZVzVrYkdVZ2RHaGhkQzVjYm1aMWJtTjBhVzl1SUhWMFpqRTJSVzVrS0dKMVppa2dlMXh1SUNCMllYSWdjaUE5SUdKMVppQW1KaUJpZFdZdWJHVnVaM1JvSUQ4Z2RHaHBjeTUzY21sMFpTaGlkV1lwSURvZ0p5YzdYRzRnSUdsbUlDaDBhR2x6TG14aGMzUk9aV1ZrS1NCN1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUhSb2FYTXViR0Z6ZEZSdmRHRnNJQzBnZEdocGN5NXNZWE4wVG1WbFpEdGNiaUFnSUNCeVpYUjFjbTRnY2lBcklIUm9hWE11YkdGemRFTm9ZWEl1ZEc5VGRISnBibWNvSjNWMFpqRTJiR1VuTENBd0xDQmxibVFwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJpWVhObE5qUlVaWGgwS0dKMVppd2dhU2tnZTF4dUlDQjJZWElnYmlBOUlDaGlkV1l1YkdWdVozUm9JQzBnYVNrZ0pTQXpPMXh1SUNCcFppQW9iaUE5UFQwZ01Da2djbVYwZFhKdUlHSjFaaTUwYjFOMGNtbHVaeWduWW1GelpUWTBKeXdnYVNrN1hHNGdJSFJvYVhNdWJHRnpkRTVsWldRZ1BTQXpJQzBnYmp0Y2JpQWdkR2hwY3k1c1lYTjBWRzkwWVd3Z1BTQXpPMXh1SUNCcFppQW9iaUE5UFQwZ01Ta2dlMXh1SUNBZ0lIUm9hWE11YkdGemRFTm9ZWEpiTUYwZ1BTQmlkV1piWW5WbUxteGxibWQwYUNBdElERmRPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJvYVhNdWJHRnpkRU5vWVhKYk1GMGdQU0JpZFdaYlluVm1MbXhsYm1kMGFDQXRJREpkTzF4dUlDQWdJSFJvYVhNdWJHRnpkRU5vWVhKYk1WMGdQU0JpZFdaYlluVm1MbXhsYm1kMGFDQXRJREZkTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJpZFdZdWRHOVRkSEpwYm1jb0oySmhjMlUyTkNjc0lHa3NJR0oxWmk1c1pXNW5kR2dnTFNCdUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRnpaVFkwUlc1a0tHSjFaaWtnZTF4dUlDQjJZWElnY2lBOUlHSjFaaUFtSmlCaWRXWXViR1Z1WjNSb0lEOGdkR2hwY3k1M2NtbDBaU2hpZFdZcElEb2dKeWM3WEc0Z0lHbG1JQ2gwYUdsekxteGhjM1JPWldWa0tTQnlaWFIxY200Z2NpQXJJSFJvYVhNdWJHRnpkRU5vWVhJdWRHOVRkSEpwYm1jb0oySmhjMlUyTkNjc0lEQXNJRE1nTFNCMGFHbHpMbXhoYzNST1pXVmtLVHRjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYmk4dklGQmhjM01nWW5sMFpYTWdiMjRnZEdoeWIzVm5hQ0JtYjNJZ2MybHVaMnhsTFdKNWRHVWdaVzVqYjJScGJtZHpJQ2hsTG1jdUlHRnpZMmxwTENCc1lYUnBiakVzSUdobGVDbGNibVoxYm1OMGFXOXVJSE5wYlhCc1pWZHlhWFJsS0dKMVppa2dlMXh1SUNCeVpYUjFjbTRnWW5WbUxuUnZVM1J5YVc1bktIUm9hWE11Wlc1amIyUnBibWNwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ6YVcxd2JHVkZibVFvWW5WbUtTQjdYRzRnSUhKbGRIVnliaUJpZFdZZ0ppWWdZblZtTG14bGJtZDBhQ0EvSUhSb2FYTXVkM0pwZEdVb1luVm1LU0E2SUNjbk8xeHVmU0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGlzT2xkSUUgPSBmdW5jdGlvbiBpc09sZElFKCkge1xcbiAgdmFyIG1lbW87XFxuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XFxuICAgIGlmICh0eXBlb2YgbWVtbyA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICAvLyBUZXN0IGZvciBJRSA8PSA5IGFzIHByb3Bvc2VkIGJ5IEJyb3dzZXJoYWNrc1xcbiAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcXG4gICAgICAvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXFxuICAgICAgLy8gdG8gb3BlcmF0ZSBjb3JyZWN0bHkgaW50byBub24tc3RhbmRhcmQgZW52aXJvbm1lbnRzXFxuICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XFxuICAgICAgbWVtbyA9IEJvb2xlYW4od2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2IpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBtZW1vO1xcbiAgfTtcXG59KCk7XFxuXFxudmFyIGdldFRhcmdldCA9IGZ1bmN0aW9uIGdldFRhcmdldCgpIHtcXG4gIHZhciBtZW1vID0ge307XFxuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUodGFyZ2V0KSB7XFxuICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSAndW5kZWZpbmVkJykge1xcbiAgICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcXG5cXG4gICAgICBpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxcbiAgICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBtZW1vW3RhcmdldF07XFxuICB9O1xcbn0oKTtcXG5cXG52YXIgc3R5bGVzSW5Eb20gPSBbXTtcXG5cXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XFxuICB2YXIgcmVzdWx0ID0gLTE7XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRG9tLmxlbmd0aDsgaSsrKSB7XFxuICAgIGlmIChzdHlsZXNJbkRvbVtpXS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XFxuICAgICAgcmVzdWx0ID0gaTtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHJlc3VsdDtcXG59XFxuXFxuZnVuY3Rpb24gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpIHtcXG4gIHZhciBpZENvdW50TWFwID0ge307XFxuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XFxuICAgIHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xcbiAgICB2YXIgaWRlbnRpZmllciA9IFxcXCJcXFwiLmNvbmNhdChpZCwgXFxcIiBcXFwiKS5jb25jYXQoY291bnQpO1xcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcXG4gICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XFxuICAgIHZhciBvYmogPSB7XFxuICAgICAgY3NzOiBpdGVtWzFdLFxcbiAgICAgIG1lZGlhOiBpdGVtWzJdLFxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxcbiAgICB9O1xcblxcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XFxuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMrKztcXG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0udXBkYXRlcihvYmopO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0eWxlc0luRG9tLnB1c2goe1xcbiAgICAgICAgaWRlbnRpZmllcjogaWRlbnRpZmllcixcXG4gICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXFxuICAgICAgICByZWZlcmVuY2VzOiAxXFxuICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudGlmaWVyKTtcXG4gIH1cXG5cXG4gIHJldHVybiBpZGVudGlmaWVycztcXG59XFxuXFxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcXG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XFxuICB2YXIgYXR0cmlidXRlcyA9IG9wdGlvbnMuYXR0cmlidXRlcyB8fCB7fTtcXG5cXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgdmFyIG5vbmNlID0gIHRydWUgPyBfX3dlYnBhY2tfcmVxdWlyZV9fLm5jIDogdW5kZWZpbmVkO1xcblxcbiAgICBpZiAobm9uY2UpIHtcXG4gICAgICBhdHRyaWJ1dGVzLm5vbmNlID0gbm9uY2U7XFxuICAgIH1cXG4gIH1cXG5cXG4gIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyaWJ1dGVzW2tleV0pO1xcbiAgfSk7XFxuXFxuICBpZiAodHlwZW9mIG9wdGlvbnMuaW5zZXJ0ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciB0YXJnZXQgPSBnZXRUYXJnZXQob3B0aW9ucy5pbnNlcnQgfHwgJ2hlYWQnKTtcXG5cXG4gICAgaWYgKCF0YXJnZXQpIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cXFwiKTtcXG4gICAgfVxcblxcbiAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHN0eWxlO1xcbn1cXG5cXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpIHtcXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxcbiAgaWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgc3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XFxufVxcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xcblxcblxcbnZhciByZXBsYWNlVGV4dCA9IGZ1bmN0aW9uIHJlcGxhY2VUZXh0KCkge1xcbiAgdmFyIHRleHRTdG9yZSA9IFtdO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlcGxhY2UoaW5kZXgsIHJlcGxhY2VtZW50KSB7XFxuICAgIHRleHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudDtcXG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxcXG4nKTtcXG4gIH07XFxufSgpO1xcblxcbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xcbiAgdmFyIGNzcyA9IHJlbW92ZSA/ICcnIDogb2JqLm1lZGlhID8gXFxcIkBtZWRpYSBcXFwiLmNvbmNhdChvYmoubWVkaWEsIFxcXCIge1xcXCIpLmNvbmNhdChvYmouY3NzLCBcXFwifVxcXCIpIDogb2JqLmNzczsgLy8gRm9yIG9sZCBJRVxcblxcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xcblxcbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcXG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XFxuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcXG5cXG4gICAgaWYgKGNoaWxkTm9kZXNbaW5kZXhdKSB7XFxuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xcbiAgICB9XFxuXFxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xcbiAgICAgIHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYXBwbHlUb1RhZyhzdHlsZSwgb3B0aW9ucywgb2JqKSB7XFxuICB2YXIgY3NzID0gb2JqLmNzcztcXG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYTtcXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xcblxcbiAgaWYgKG1lZGlhKSB7XFxuICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgnbWVkaWEnLCBtZWRpYSk7XFxuICB9IGVsc2Uge1xcbiAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ21lZGlhJyk7XFxuICB9XFxuXFxuICBpZiAoc291cmNlTWFwICYmIGJ0b2EpIHtcXG4gICAgY3NzICs9IFxcXCJcXFxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXFxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXFxcIiAqL1xcXCIpO1xcbiAgfSAvLyBGb3Igb2xkIElFXFxuXFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXFxuXFxuXFxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XFxuICB9IGVsc2Uge1xcbiAgICB3aGlsZSAoc3R5bGUuZmlyc3RDaGlsZCkge1xcbiAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xcbiAgICB9XFxuXFxuICAgIHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xcbiAgfVxcbn1cXG5cXG52YXIgc2luZ2xldG9uID0gbnVsbDtcXG52YXIgc2luZ2xldG9uQ291bnRlciA9IDA7XFxuXFxuZnVuY3Rpb24gYWRkU3R5bGUob2JqLCBvcHRpb25zKSB7XFxuICB2YXIgc3R5bGU7XFxuICB2YXIgdXBkYXRlO1xcbiAgdmFyIHJlbW92ZTtcXG5cXG4gIGlmIChvcHRpb25zLnNpbmdsZXRvbikge1xcbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcXG4gICAgc3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSk7XFxuICAgIHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xcbiAgICByZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xcbiAgfSBlbHNlIHtcXG4gICAgc3R5bGUgPSBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucyk7XFxuICAgIHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XFxuXFxuICAgIHJlbW92ZSA9IGZ1bmN0aW9uIHJlbW92ZSgpIHtcXG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xcbiAgICB9O1xcbiAgfVxcblxcbiAgdXBkYXRlKG9iaik7XFxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUobmV3T2JqKSB7XFxuICAgIGlmIChuZXdPYmopIHtcXG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIHVwZGF0ZShvYmogPSBuZXdPYmopO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlbW92ZSgpO1xcbiAgICB9XFxuICB9O1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XFxuICAvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXFxuXFxuICBpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gJ2Jvb2xlYW4nKSB7XFxuICAgIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xcbiAgfVxcblxcbiAgbGlzdCA9IGxpc3QgfHwgW107XFxuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XFxuICAgIG5ld0xpc3QgPSBuZXdMaXN0IHx8IFtdO1xcblxcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0xpc3QpICE9PSAnW29iamVjdCBBcnJheV0nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XFxuICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XFxuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMtLTtcXG4gICAgfVxcblxcbiAgICB2YXIgbmV3TGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKG5ld0xpc3QsIG9wdGlvbnMpO1xcblxcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xcbiAgICAgIHZhciBfaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tfaV07XFxuXFxuICAgICAgdmFyIF9pbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKF9pZGVudGlmaWVyKTtcXG5cXG4gICAgICBpZiAoc3R5bGVzSW5Eb21bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XFxuICAgICAgICBzdHlsZXNJbkRvbVtfaW5kZXhdLnVwZGF0ZXIoKTtcXG5cXG4gICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShfaW5kZXgsIDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBsYXN0SWRlbnRpZmllcnMgPSBuZXdMYXN0SWRlbnRpZmllcnM7XFxuICB9O1xcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhsc1pTMXNiMkZrWlhJdlpHbHpkQzl5ZFc1MGFXMWxMMmx1YW1WamRGTjBlV3hsYzBsdWRHOVRkSGxzWlZSaFp5NXFjejh4TWpOa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVJFRkJkVVE3TzBGQlJYWkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4M1FrRkJkMEk3UVVGRGVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeG5Ra0ZCWjBJc1MwRkJkME1zUjBGQlJ5eHpRa0ZCYVVJc1IwRkJSeXhUUVVGSk96dEJRVVZ1Ump0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRU3h4UlVGQmNVVXNjVUpCUVhGQ0xHRkJRV0U3TzBGQlJYWkhPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDVSRUZCZVVRN1FVRkRla1FzUjBGQlJ6czdRVUZGU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREJDUVVFd1FqdEJRVU14UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpdzBRa0ZCTkVJN1FVRkRMME03UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUVzYjBKQlFXOUNMRFpDUVVFMlFqdEJRVU5xUkRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUjViR1V0Ykc5aFpHVnlMMlJwYzNRdmNuVnVkR2x0WlM5cGJtcGxZM1JUZEhsc1pYTkpiblJ2VTNSNWJHVlVZV2N1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpjSW5WelpTQnpkSEpwWTNSY0lqdGNibHh1ZG1GeUlHbHpUMnhrU1VVZ1BTQm1kVzVqZEdsdmJpQnBjMDlzWkVsRktDa2dlMXh1SUNCMllYSWdiV1Z0Ynp0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHMWxiVzl5YVhwbEtDa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiV1Z0YnlBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0FnSUM4dklGUmxjM1FnWm05eUlFbEZJRHc5SURrZ1lYTWdjSEp2Y0c5elpXUWdZbmtnUW5KdmQzTmxjbWhoWTJ0elhHNGdJQ0FnSUNBdkx5QkFjMlZsSUdoMGRIQTZMeTlpY205M2MyVnlhR0ZqYTNNdVkyOXRMeU5vWVdOckxXVTNNV1E0TmpreVpqWTFNek0wTVRjelptVmxOekUxWXpJeU1tTmlPREExWEc0Z0lDQWdJQ0F2THlCVVpYTjBjeUJtYjNJZ1pYaHBjM1JsYm1ObElHOW1JSE4wWVc1a1lYSmtJR2RzYjJKaGJITWdhWE1nZEc4Z1lXeHNiM2NnYzNSNWJHVXRiRzloWkdWeVhHNGdJQ0FnSUNBdkx5QjBieUJ2Y0dWeVlYUmxJR052Y25KbFkzUnNlU0JwYm5SdklHNXZiaTF6ZEdGdVpHRnlaQ0JsYm5acGNtOXViV1Z1ZEhOY2JpQWdJQ0FnSUM4dklFQnpaV1VnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDNkbFluQmhZMnN0WTI5dWRISnBZaTl6ZEhsc1pTMXNiMkZrWlhJdmFYTnpkV1Z6THpFM04xeHVJQ0FnSUNBZ2JXVnRieUE5SUVKdmIyeGxZVzRvZDJsdVpHOTNJQ1ltSUdSdlkzVnRaVzUwSUNZbUlHUnZZM1Z0Wlc1MExtRnNiQ0FtSmlBaGQybHVaRzkzTG1GMGIySXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdFpXMXZPMXh1SUNCOU8xeHVmU2dwTzF4dVhHNTJZWElnWjJWMFZHRnlaMlYwSUQwZ1puVnVZM1JwYjI0Z1oyVjBWR0Z5WjJWMEtDa2dlMXh1SUNCMllYSWdiV1Z0YnlBOUlIdDlPMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYldWdGIzSnBlbVVvZEdGeVoyVjBLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ0WlcxdlczUmhjbWRsZEYwZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNCMllYSWdjM1I1YkdWVVlYSm5aWFFnUFNCa2IyTjFiV1Z1ZEM1eGRXVnllVk5sYkdWamRHOXlLSFJoY21kbGRDazdJQzh2SUZOd1pXTnBZV3dnWTJGelpTQjBieUJ5WlhSMWNtNGdhR1ZoWkNCdlppQnBabkpoYldVZ2FXNXpkR1ZoWkNCdlppQnBabkpoYldVZ2FYUnpaV3htWEc1Y2JpQWdJQ0FnSUdsbUlDaDNhVzVrYjNjdVNGUk5URWxHY21GdFpVVnNaVzFsYm5RZ0ppWWdjM1I1YkdWVVlYSm5aWFFnYVc1emRHRnVZMlZ2WmlCM2FXNWtiM2N1U0ZSTlRFbEdjbUZ0WlVWc1pXMWxiblFwSUh0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlVhR2x6SUhkcGJHd2dkR2h5YjNjZ1lXNGdaWGhqWlhCMGFXOXVJR2xtSUdGalkyVnpjeUIwYnlCcFpuSmhiV1VnYVhNZ1lteHZZMnRsWkZ4dUlDQWdJQ0FnSUNBZ0lDOHZJR1IxWlNCMGJ5QmpjbTl6Y3kxdmNtbG5hVzRnY21WemRISnBZM1JwYjI1elhHNGdJQ0FnSUNBZ0lDQWdjM1I1YkdWVVlYSm5aWFFnUFNCemRIbHNaVlJoY21kbGRDNWpiMjUwWlc1MFJHOWpkVzFsYm5RdWFHVmhaRHRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUdsemRHRnVZblZzSUdsbmJtOXlaU0J1WlhoMFhHNGdJQ0FnSUNBZ0lDQWdjM1I1YkdWVVlYSm5aWFFnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUcxbGJXOWJkR0Z5WjJWMFhTQTlJSE4wZVd4bFZHRnlaMlYwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnRaVzF2VzNSaGNtZGxkRjA3WEc0Z0lIMDdYRzU5S0NrN1hHNWNiblpoY2lCemRIbHNaWE5KYmtSdmJTQTlJRnRkTzF4dVhHNW1kVzVqZEdsdmJpQm5aWFJKYm1SbGVFSjVTV1JsYm5ScFptbGxjaWhwWkdWdWRHbG1hV1Z5S1NCN1hHNGdJSFpoY2lCeVpYTjFiSFFnUFNBdE1UdGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElITjBlV3hsYzBsdVJHOXRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnYVdZZ0tITjBlV3hsYzBsdVJHOXRXMmxkTG1sa1pXNTBhV1pwWlhJZ1BUMDlJR2xrWlc1MGFXWnBaWElwSUh0Y2JpQWdJQ0FnSUhKbGMzVnNkQ0E5SUdrN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdGIyUjFiR1Z6Vkc5RWIyMG9iR2x6ZEN3Z2IzQjBhVzl1Y3lrZ2UxeHVJQ0IyWVhJZ2FXUkRiM1Z1ZEUxaGNDQTlJSHQ5TzF4dUlDQjJZWElnYVdSbGJuUnBabWxsY25NZ1BTQmJYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hwYzNRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQjJZWElnYVhSbGJTQTlJR3hwYzNSYmFWMDdYRzRnSUNBZ2RtRnlJR2xrSUQwZ2IzQjBhVzl1Y3k1aVlYTmxJRDhnYVhSbGJWc3dYU0FySUc5d2RHbHZibk11WW1GelpTQTZJR2wwWlcxYk1GMDdYRzRnSUNBZ2RtRnlJR052ZFc1MElEMGdhV1JEYjNWdWRFMWhjRnRwWkYwZ2ZId2dNRHRjYmlBZ0lDQjJZWElnYVdSbGJuUnBabWxsY2lBOUlGd2lYQ0l1WTI5dVkyRjBLR2xrTENCY0lpQmNJaWt1WTI5dVkyRjBLR052ZFc1MEtUdGNiaUFnSUNCcFpFTnZkVzUwVFdGd1cybGtYU0E5SUdOdmRXNTBJQ3NnTVR0Y2JpQWdJQ0IyWVhJZ2FXNWtaWGdnUFNCblpYUkpibVJsZUVKNVNXUmxiblJwWm1sbGNpaHBaR1Z1ZEdsbWFXVnlLVHRjYmlBZ0lDQjJZWElnYjJKcUlEMGdlMXh1SUNBZ0lDQWdZM056T2lCcGRHVnRXekZkTEZ4dUlDQWdJQ0FnYldWa2FXRTZJR2wwWlcxYk1sMHNYRzRnSUNBZ0lDQnpiM1Z5WTJWTllYQTZJR2wwWlcxYk0xMWNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLR2x1WkdWNElDRTlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ2MzUjViR1Z6U1c1RWIyMWJhVzVrWlhoZExuSmxabVZ5Wlc1alpYTXJLenRjYmlBZ0lDQWdJSE4wZVd4bGMwbHVSRzl0VzJsdVpHVjRYUzUxY0dSaGRHVnlLRzlpYWlrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSE4wZVd4bGMwbHVSRzl0TG5CMWMyZ29lMXh1SUNBZ0lDQWdJQ0JwWkdWdWRHbG1hV1Z5T2lCcFpHVnVkR2xtYVdWeUxGeHVJQ0FnSUNBZ0lDQjFjR1JoZEdWeU9pQmhaR1JUZEhsc1pTaHZZbW9zSUc5d2RHbHZibk1wTEZ4dUlDQWdJQ0FnSUNCeVpXWmxjbVZ1WTJWek9pQXhYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaR1Z1ZEdsbWFXVnljeTV3ZFhOb0tHbGtaVzUwYVdacFpYSXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR2xrWlc1MGFXWnBaWEp6TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYm5ObGNuUlRkSGxzWlVWc1pXMWxiblFvYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnYzNSNWJHVWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDZHpkSGxzWlNjcE8xeHVJQ0IyWVhJZ1lYUjBjbWxpZFhSbGN5QTlJRzl3ZEdsdmJuTXVZWFIwY21saWRYUmxjeUI4ZkNCN2ZUdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHRjBkSEpwWW5WMFpYTXVibTl1WTJVZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnZG1GeUlHNXZibU5sSUQwZ2RIbHdaVzltSUY5ZmQyVmljR0ZqYTE5dWIyNWpaVjlmSUNFOVBTQW5kVzVrWldacGJtVmtKeUEvSUY5ZmQyVmljR0ZqYTE5dWIyNWpaVjlmSURvZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNodWIyNWpaU2tnZTF4dUlDQWdJQ0FnWVhSMGNtbGlkWFJsY3k1dWIyNWpaU0E5SUc1dmJtTmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJRTlpYW1WamRDNXJaWGx6S0dGMGRISnBZblYwWlhNcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQWdJSE4wZVd4bExuTmxkRUYwZEhKcFluVjBaU2hyWlhrc0lHRjBkSEpwWW5WMFpYTmJhMlY1WFNrN1hHNGdJSDBwTzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeTVwYm5ObGNuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCdmNIUnBiMjV6TG1sdWMyVnlkQ2h6ZEhsc1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUhSaGNtZGxkQ0E5SUdkbGRGUmhjbWRsZENodmNIUnBiMjV6TG1sdWMyVnlkQ0I4ZkNBbmFHVmhaQ2NwTzF4dVhHNGdJQ0FnYVdZZ0tDRjBZWEpuWlhRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0lrTnZkV3hrYmlkMElHWnBibVFnWVNCemRIbHNaU0IwWVhKblpYUXVJRlJvYVhNZ2NISnZZbUZpYkhrZ2JXVmhibk1nZEdoaGRDQjBhR1VnZG1Gc2RXVWdabTl5SUhSb1pTQW5hVzV6WlhKMEp5QndZWEpoYldWMFpYSWdhWE1nYVc1MllXeHBaQzVjSWlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdGeVoyVjBMbUZ3Y0dWdVpFTm9hV3hrS0hOMGVXeGxLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ6ZEhsc1pUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NtVnRiM1psVTNSNWJHVkZiR1Z0Wlc1MEtITjBlV3hsS1NCN1hHNGdJQzh2SUdsemRHRnVZblZzSUdsbmJtOXlaU0JwWmx4dUlDQnBaaUFvYzNSNWJHVXVjR0Z5Wlc1MFRtOWtaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lITjBlV3hsTG5CaGNtVnVkRTV2WkdVdWNtVnRiM1psUTJocGJHUW9jM1I1YkdVcE8xeHVmVnh1THlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUc1bGVIUWdJQ292WEc1Y2JseHVkbUZ5SUhKbGNHeGhZMlZVWlhoMElEMGdablZ1WTNScGIyNGdjbVZ3YkdGalpWUmxlSFFvS1NCN1hHNGdJSFpoY2lCMFpYaDBVM1J2Y21VZ1BTQmJYVHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUhKbGNHeGhZMlVvYVc1a1pYZ3NJSEpsY0d4aFkyVnRaVzUwS1NCN1hHNGdJQ0FnZEdWNGRGTjBiM0psVzJsdVpHVjRYU0E5SUhKbGNHeGhZMlZ0Wlc1ME8xeHVJQ0FnSUhKbGRIVnliaUIwWlhoMFUzUnZjbVV1Wm1sc2RHVnlLRUp2YjJ4bFlXNHBMbXB2YVc0b0oxeGNiaWNwTzF4dUlDQjlPMXh1ZlNncE8xeHVYRzVtZFc1amRHbHZiaUJoY0hCc2VWUnZVMmx1WjJ4bGRHOXVWR0ZuS0hOMGVXeGxMQ0JwYm1SbGVDd2djbVZ0YjNabExDQnZZbW9wSUh0Y2JpQWdkbUZ5SUdOemN5QTlJSEpsYlc5MlpTQS9JQ2NuSURvZ2IySnFMbTFsWkdsaElEOGdYQ0pBYldWa2FXRWdYQ0l1WTI5dVkyRjBLRzlpYWk1dFpXUnBZU3dnWENJZ2Uxd2lLUzVqYjI1allYUW9iMkpxTG1OemN5d2dYQ0o5WENJcElEb2diMkpxTG1OemN6c2dMeThnUm05eUlHOXNaQ0JKUlZ4dVhHNGdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0JwWmlBZ0tpOWNibHh1SUNCcFppQW9jM1I1YkdVdWMzUjViR1ZUYUdWbGRDa2dlMXh1SUNBZ0lITjBlV3hsTG5OMGVXeGxVMmhsWlhRdVkzTnpWR1Y0ZENBOUlISmxjR3hoWTJWVVpYaDBLR2x1WkdWNExDQmpjM01wTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmpjM05PYjJSbElEMGdaRzlqZFcxbGJuUXVZM0psWVhSbFZHVjRkRTV2WkdVb1kzTnpLVHRjYmlBZ0lDQjJZWElnWTJocGJHUk9iMlJsY3lBOUlITjBlV3hsTG1Ob2FXeGtUbTlrWlhNN1hHNWNiaUFnSUNCcFppQW9ZMmhwYkdST2IyUmxjMXRwYm1SbGVGMHBJSHRjYmlBZ0lDQWdJSE4wZVd4bExuSmxiVzkyWlVOb2FXeGtLR05vYVd4a1RtOWtaWE5iYVc1a1pYaGRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTJocGJHUk9iMlJsY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhOMGVXeGxMbWx1YzJWeWRFSmxabTl5WlNoamMzTk9iMlJsTENCamFHbHNaRTV2WkdWelcybHVaR1Y0WFNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSE4wZVd4bExtRndjR1Z1WkVOb2FXeGtLR056YzA1dlpHVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJoY0hCc2VWUnZWR0ZuS0hOMGVXeGxMQ0J2Y0hScGIyNXpMQ0J2WW1vcElIdGNiaUFnZG1GeUlHTnpjeUE5SUc5aWFpNWpjM003WEc0Z0lIWmhjaUJ0WldScFlTQTlJRzlpYWk1dFpXUnBZVHRjYmlBZ2RtRnlJSE52ZFhKalpVMWhjQ0E5SUc5aWFpNXpiM1Z5WTJWTllYQTdYRzVjYmlBZ2FXWWdLRzFsWkdsaEtTQjdYRzRnSUNBZ2MzUjViR1V1YzJWMFFYUjBjbWxpZFhSbEtDZHRaV1JwWVNjc0lHMWxaR2xoS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCemRIbHNaUzV5WlcxdmRtVkJkSFJ5YVdKMWRHVW9KMjFsWkdsaEp5azdYRzRnSUgxY2JseHVJQ0JwWmlBb2MyOTFjbU5sVFdGd0lDWW1JR0owYjJFcElIdGNiaUFnSUNCamMzTWdLejBnWENKY1hHNHZLaU1nYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDFrWVhSaE9tRndjR3hwWTJGMGFXOXVMMnB6YjI0N1ltRnpaVFkwTEZ3aUxtTnZibU5oZENoaWRHOWhLSFZ1WlhOallYQmxLR1Z1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ2hLVTA5T0xuTjBjbWx1WjJsbWVTaHpiM1Z5WTJWTllYQXBLU2twTENCY0lpQXFMMXdpS1R0Y2JpQWdmU0F2THlCR2IzSWdiMnhrSUVsRlhHNWNiaUFnTHlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUdsbUlDQXFMMXh1WEc1Y2JpQWdhV1lnS0hOMGVXeGxMbk4wZVd4bFUyaGxaWFFwSUh0Y2JpQWdJQ0J6ZEhsc1pTNXpkSGxzWlZOb1pXVjBMbU56YzFSbGVIUWdQU0JqYzNNN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2QyaHBiR1VnS0hOMGVXeGxMbVpwY25OMFEyaHBiR1FwSUh0Y2JpQWdJQ0FnSUhOMGVXeGxMbkpsYlc5MlpVTm9hV3hrS0hOMGVXeGxMbVpwY25OMFEyaHBiR1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSE4wZVd4bExtRndjR1Z1WkVOb2FXeGtLR1J2WTNWdFpXNTBMbU55WldGMFpWUmxlSFJPYjJSbEtHTnpjeWtwTzF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJ6YVc1bmJHVjBiMjRnUFNCdWRXeHNPMXh1ZG1GeUlITnBibWRzWlhSdmJrTnZkVzUwWlhJZ1BTQXdPMXh1WEc1bWRXNWpkR2x2YmlCaFpHUlRkSGxzWlNodlltb3NJRzl3ZEdsdmJuTXBJSHRjYmlBZ2RtRnlJSE4wZVd4bE8xeHVJQ0IyWVhJZ2RYQmtZWFJsTzF4dUlDQjJZWElnY21WdGIzWmxPMXh1WEc0Z0lHbG1JQ2h2Y0hScGIyNXpMbk5wYm1kc1pYUnZiaWtnZTF4dUlDQWdJSFpoY2lCemRIbHNaVWx1WkdWNElEMGdjMmx1WjJ4bGRHOXVRMjkxYm5SbGNpc3JPMXh1SUNBZ0lITjBlV3hsSUQwZ2MybHVaMnhsZEc5dUlIeDhJQ2h6YVc1bmJHVjBiMjRnUFNCcGJuTmxjblJUZEhsc1pVVnNaVzFsYm5Rb2IzQjBhVzl1Y3lrcE8xeHVJQ0FnSUhWd1pHRjBaU0E5SUdGd2NHeDVWRzlUYVc1bmJHVjBiMjVVWVdjdVltbHVaQ2h1ZFd4c0xDQnpkSGxzWlN3Z2MzUjViR1ZKYm1SbGVDd2dabUZzYzJVcE8xeHVJQ0FnSUhKbGJXOTJaU0E5SUdGd2NHeDVWRzlUYVc1bmJHVjBiMjVVWVdjdVltbHVaQ2h1ZFd4c0xDQnpkSGxzWlN3Z2MzUjViR1ZKYm1SbGVDd2dkSEoxWlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MzUjViR1VnUFNCcGJuTmxjblJUZEhsc1pVVnNaVzFsYm5Rb2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZFhCa1lYUmxJRDBnWVhCd2JIbFViMVJoWnk1aWFXNWtLRzUxYkd3c0lITjBlV3hsTENCdmNIUnBiMjV6S1R0Y2JseHVJQ0FnSUhKbGJXOTJaU0E5SUdaMWJtTjBhVzl1SUhKbGJXOTJaU2dwSUh0Y2JpQWdJQ0FnSUhKbGJXOTJaVk4wZVd4bFJXeGxiV1Z1ZENoemRIbHNaU2s3WEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUhWd1pHRjBaU2h2WW1vcE8xeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdkWEJrWVhSbFUzUjViR1VvYm1WM1QySnFLU0I3WEc0Z0lDQWdhV1lnS0c1bGQwOWlhaWtnZTF4dUlDQWdJQ0FnYVdZZ0tHNWxkMDlpYWk1amMzTWdQVDA5SUc5aWFpNWpjM01nSmlZZ2JtVjNUMkpxTG0xbFpHbGhJRDA5UFNCdlltb3ViV1ZrYVdFZ0ppWWdibVYzVDJKcUxuTnZkWEpqWlUxaGNDQTlQVDBnYjJKcUxuTnZkWEpqWlUxaGNDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFZ3WkdGMFpTaHZZbW9nUFNCdVpYZFBZbW9wTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaVzF2ZG1Vb0tUdGNiaUFnSUNCOVhHNGdJSDA3WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR3hwYzNRc0lHOXdkR2x2Ym5NcElIdGNiaUFnYjNCMGFXOXVjeUE5SUc5d2RHbHZibk1nZkh3Z2UzMDdJQzh2SUVadmNtTmxJSE5wYm1kc1pTMTBZV2NnYzI5c2RYUnBiMjRnYjI0Z1NVVTJMVGtzSUhkb2FXTm9JR2hoY3lCaElHaGhjbVFnYkdsdGFYUWdiMjRnZEdobElDTWdiMllnUEhOMGVXeGxQbHh1SUNBdkx5QjBZV2R6SUdsMElIZHBiR3dnWVd4c2IzY2diMjRnWVNCd1lXZGxYRzVjYmlBZ2FXWWdLQ0Z2Y0hScGIyNXpMbk5wYm1kc1pYUnZiaUFtSmlCMGVYQmxiMllnYjNCMGFXOXVjeTV6YVc1bmJHVjBiMjRnSVQwOUlDZGliMjlzWldGdUp5a2dlMXh1SUNBZ0lHOXdkR2x2Ym5NdWMybHVaMnhsZEc5dUlEMGdhWE5QYkdSSlJTZ3BPMXh1SUNCOVhHNWNiaUFnYkdsemRDQTlJR3hwYzNRZ2ZId2dXMTA3WEc0Z0lIWmhjaUJzWVhOMFNXUmxiblJwWm1sbGNuTWdQU0J0YjJSMWJHVnpWRzlFYjIwb2JHbHpkQ3dnYjNCMGFXOXVjeWs3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCMWNHUmhkR1VvYm1WM1RHbHpkQ2tnZTF4dUlDQWdJRzVsZDB4cGMzUWdQU0J1WlhkTWFYTjBJSHg4SUZ0ZE8xeHVYRzRnSUNBZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY3VZMkZzYkNodVpYZE1hWE4wS1NBaFBUMGdKMXR2WW1wbFkzUWdRWEp5WVhsZEp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHRnpkRWxrWlc1MGFXWnBaWEp6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnYVdSbGJuUnBabWxsY2lBOUlHeGhjM1JKWkdWdWRHbG1hV1Z5YzF0cFhUdGNiaUFnSUNBZ0lIWmhjaUJwYm1SbGVDQTlJR2RsZEVsdVpHVjRRbmxKWkdWdWRHbG1hV1Z5S0dsa1pXNTBhV1pwWlhJcE8xeHVJQ0FnSUNBZ2MzUjViR1Z6U1c1RWIyMWJhVzVrWlhoZExuSmxabVZ5Wlc1alpYTXRMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYm1WM1RHRnpkRWxrWlc1MGFXWnBaWEp6SUQwZ2JXOWtkV3hsYzFSdlJHOXRLRzVsZDB4cGMzUXNJRzl3ZEdsdmJuTXBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdYMmtnUFNBd095QmZhU0E4SUd4aGMzUkpaR1Z1ZEdsbWFXVnljeTVzWlc1bmRHZzdJRjlwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJmYVdSbGJuUnBabWxsY2lBOUlHeGhjM1JKWkdWdWRHbG1hV1Z5YzF0ZmFWMDdYRzVjYmlBZ0lDQWdJSFpoY2lCZmFXNWtaWGdnUFNCblpYUkpibVJsZUVKNVNXUmxiblJwWm1sbGNpaGZhV1JsYm5ScFptbGxjaWs3WEc1Y2JpQWdJQ0FnSUdsbUlDaHpkSGxzWlhOSmJrUnZiVnRmYVc1a1pYaGRMbkpsWm1WeVpXNWpaWE1nUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYzNSNWJHVnpTVzVFYjIxYlgybHVaR1Y0WFM1MWNHUmhkR1Z5S0NrN1hHNWNiaUFnSUNBZ0lDQWdjM1I1YkdWelNXNUViMjB1YzNCc2FXTmxLRjlwYm1SbGVDd2dNU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR0Z6ZEVsa1pXNTBhV1pwWlhKeklEMGdibVYzVEdGemRFbGtaVzUwYVdacFpYSnpPMXh1SUNCOU8xeHVmVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7dmFyIHNjb3BlID0gKHR5cGVvZiBnbG9iYWwgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIGdsb2JhbCkgfHxcXG4gICAgICAgICAgICAodHlwZW9mIHNlbGYgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIHNlbGYpIHx8XFxuICAgICAgICAgICAgd2luZG93O1xcbnZhciBhcHBseSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtcXG5cXG4vLyBET00gQVBJcywgZm9yIGNvbXBsZXRlbmVzc1xcblxcbmV4cG9ydHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKCkge1xcbiAgcmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0VGltZW91dCwgc2NvcGUsIGFyZ3VtZW50cyksIGNsZWFyVGltZW91dCk7XFxufTtcXG5leHBvcnRzLnNldEludGVydmFsID0gZnVuY3Rpb24oKSB7XFxuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCwgc2NvcGUsIGFyZ3VtZW50cyksIGNsZWFySW50ZXJ2YWwpO1xcbn07XFxuZXhwb3J0cy5jbGVhclRpbWVvdXQgPVxcbmV4cG9ydHMuY2xlYXJJbnRlcnZhbCA9IGZ1bmN0aW9uKHRpbWVvdXQpIHtcXG4gIGlmICh0aW1lb3V0KSB7XFxuICAgIHRpbWVvdXQuY2xvc2UoKTtcXG4gIH1cXG59O1xcblxcbmZ1bmN0aW9uIFRpbWVvdXQoaWQsIGNsZWFyRm4pIHtcXG4gIHRoaXMuX2lkID0gaWQ7XFxuICB0aGlzLl9jbGVhckZuID0gY2xlYXJGbjtcXG59XFxuVGltZW91dC5wcm90b3R5cGUudW5yZWYgPSBUaW1lb3V0LnByb3RvdHlwZS5yZWYgPSBmdW5jdGlvbigpIHt9O1xcblRpbWVvdXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7XFxuICB0aGlzLl9jbGVhckZuLmNhbGwoc2NvcGUsIHRoaXMuX2lkKTtcXG59O1xcblxcbi8vIERvZXMgbm90IHN0YXJ0IHRoZSB0aW1lLCBqdXN0IHNldHMgdXAgdGhlIG1lbWJlcnMgbmVlZGVkLlxcbmV4cG9ydHMuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSwgbXNlY3MpIHtcXG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcXG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gbXNlY3M7XFxufTtcXG5cXG5leHBvcnRzLnVuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSkge1xcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xcbiAgaXRlbS5faWRsZVRpbWVvdXQgPSAtMTtcXG59O1xcblxcbmV4cG9ydHMuX3VucmVmQWN0aXZlID0gZXhwb3J0cy5hY3RpdmUgPSBmdW5jdGlvbihpdGVtKSB7XFxuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XFxuXFxuICB2YXIgbXNlY3MgPSBpdGVtLl9pZGxlVGltZW91dDtcXG4gIGlmIChtc2VjcyA+PSAwKSB7XFxuICAgIGl0ZW0uX2lkbGVUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uIG9uVGltZW91dCgpIHtcXG4gICAgICBpZiAoaXRlbS5fb25UaW1lb3V0KVxcbiAgICAgICAgaXRlbS5fb25UaW1lb3V0KCk7XFxuICAgIH0sIG1zZWNzKTtcXG4gIH1cXG59O1xcblxcbi8vIHNldGltbWVkaWF0ZSBhdHRhY2hlcyBpdHNlbGYgdG8gdGhlIGdsb2JhbCBvYmplY3RcXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzZXRpbW1lZGlhdGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NldGltbWVkaWF0ZS9zZXRJbW1lZGlhdGUuanNcXFwiKTtcXG4vLyBPbiBzb21lIGV4b3RpYyBlbnZpcm9ubWVudHMsIGl0J3Mgbm90IGNsZWFyIHdoaWNoIG9iamVjdCBgc2V0aW1tZWRpYXRlYCB3YXNcXG4vLyBhYmxlIHRvIGluc3RhbGwgb250by4gIFNlYXJjaCBlYWNoIHBvc3NpYmlsaXR5IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZVxcbi8vIGBzZXRpbW1lZGlhdGVgIGxpYnJhcnkuXFxuZXhwb3J0cy5zZXRJbW1lZGlhdGUgPSAodHlwZW9mIHNlbGYgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIHNlbGYuc2V0SW1tZWRpYXRlKSB8fFxcbiAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIGdsb2JhbC5zZXRJbW1lZGlhdGUpIHx8XFxuICAgICAgICAgICAgICAgICAgICAgICAodGhpcyAmJiB0aGlzLnNldEltbWVkaWF0ZSk7XFxuZXhwb3J0cy5jbGVhckltbWVkaWF0ZSA9ICh0eXBlb2Ygc2VsZiAhPT0gXFxcInVuZGVmaW5lZFxcXCIgJiYgc2VsZi5jbGVhckltbWVkaWF0ZSkgfHxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIGdsb2JhbC5jbGVhckltbWVkaWF0ZSkgfHxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgJiYgdGhpcy5jbGVhckltbWVkaWF0ZSk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OTBhVzFsY25NdFluSnZkM05sY21sbWVTOXRZV2x1TG1welAyRTVZakVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGUExFTkJRVU1zYVVWQlFXTTdRVUZEZEVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzUnBiV1Z5Y3kxaWNtOTNjMlZ5YVdaNUwyMWhhVzR1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2MyTnZjR1VnUFNBb2RIbHdaVzltSUdkc2IySmhiQ0FoUFQwZ1hDSjFibVJsWm1sdVpXUmNJaUFtSmlCbmJHOWlZV3dwSUh4OFhHNGdJQ0FnSUNBZ0lDQWdJQ0FvZEhsd1pXOW1JSE5sYkdZZ0lUMDlJRndpZFc1a1pXWnBibVZrWENJZ0ppWWdjMlZzWmlrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUhkcGJtUnZkenRjYm5aaGNpQmhjSEJzZVNBOUlFWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTNWhjSEJzZVR0Y2JseHVMeThnUkU5TklFRlFTWE1zSUdadmNpQmpiMjF3YkdWMFpXNWxjM05jYmx4dVpYaHdiM0owY3k1elpYUlVhVzFsYjNWMElEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dWR2x0Wlc5MWRDaGhjSEJzZVM1allXeHNLSE5sZEZScGJXVnZkWFFzSUhOamIzQmxMQ0JoY21kMWJXVnVkSE1wTENCamJHVmhjbFJwYldWdmRYUXBPMXh1ZlR0Y2JtVjRjRzl5ZEhNdWMyVjBTVzUwWlhKMllXd2dQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJVYVcxbGIzVjBLR0Z3Y0d4NUxtTmhiR3dvYzJWMFNXNTBaWEoyWVd3c0lITmpiM0JsTENCaGNtZDFiV1Z1ZEhNcExDQmpiR1ZoY2tsdWRHVnlkbUZzS1R0Y2JuMDdYRzVsZUhCdmNuUnpMbU5zWldGeVZHbHRaVzkxZENBOVhHNWxlSEJ2Y25SekxtTnNaV0Z5U1c1MFpYSjJZV3dnUFNCbWRXNWpkR2x2YmloMGFXMWxiM1YwS1NCN1hHNGdJR2xtSUNoMGFXMWxiM1YwS1NCN1hHNGdJQ0FnZEdsdFpXOTFkQzVqYkc5elpTZ3BPMXh1SUNCOVhHNTlPMXh1WEc1bWRXNWpkR2x2YmlCVWFXMWxiM1YwS0dsa0xDQmpiR1ZoY2tadUtTQjdYRzRnSUhSb2FYTXVYMmxrSUQwZ2FXUTdYRzRnSUhSb2FYTXVYMk5zWldGeVJtNGdQU0JqYkdWaGNrWnVPMXh1ZlZ4dVZHbHRaVzkxZEM1d2NtOTBiM1I1Y0dVdWRXNXlaV1lnUFNCVWFXMWxiM1YwTG5CeWIzUnZkSGx3WlM1eVpXWWdQU0JtZFc1amRHbHZiaWdwSUh0OU8xeHVWR2x0Wlc5MWRDNXdjbTkwYjNSNWNHVXVZMnh2YzJVZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ2RHaHBjeTVmWTJ4bFlYSkdiaTVqWVd4c0tITmpiM0JsTENCMGFHbHpMbDlwWkNrN1hHNTlPMXh1WEc0dkx5QkViMlZ6SUc1dmRDQnpkR0Z5ZENCMGFHVWdkR2x0WlN3Z2FuVnpkQ0J6WlhSeklIVndJSFJvWlNCdFpXMWlaWEp6SUc1bFpXUmxaQzVjYm1WNGNHOXlkSE11Wlc1eWIyeHNJRDBnWm5WdVkzUnBiMjRvYVhSbGJTd2diWE5sWTNNcElIdGNiaUFnWTJ4bFlYSlVhVzFsYjNWMEtHbDBaVzB1WDJsa2JHVlVhVzFsYjNWMFNXUXBPMXh1SUNCcGRHVnRMbDlwWkd4bFZHbHRaVzkxZENBOUlHMXpaV056TzF4dWZUdGNibHh1Wlhod2IzSjBjeTUxYm1WdWNtOXNiQ0E5SUdaMWJtTjBhVzl1S0dsMFpXMHBJSHRjYmlBZ1kyeGxZWEpVYVcxbGIzVjBLR2wwWlcwdVgybGtiR1ZVYVcxbGIzVjBTV1FwTzF4dUlDQnBkR1Z0TGw5cFpHeGxWR2x0Wlc5MWRDQTlJQzB4TzF4dWZUdGNibHh1Wlhod2IzSjBjeTVmZFc1eVpXWkJZM1JwZG1VZ1BTQmxlSEJ2Y25SekxtRmpkR2wyWlNBOUlHWjFibU4wYVc5dUtHbDBaVzBwSUh0Y2JpQWdZMnhsWVhKVWFXMWxiM1YwS0dsMFpXMHVYMmxrYkdWVWFXMWxiM1YwU1dRcE8xeHVYRzRnSUhaaGNpQnRjMlZqY3lBOUlHbDBaVzB1WDJsa2JHVlVhVzFsYjNWME8xeHVJQ0JwWmlBb2JYTmxZM01nUGowZ01Da2dlMXh1SUNBZ0lHbDBaVzB1WDJsa2JHVlVhVzFsYjNWMFNXUWdQU0J6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1SUc5dVZHbHRaVzkxZENncElIdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWdExsOXZibFJwYldWdmRYUXBYRzRnSUNBZ0lDQWdJR2wwWlcwdVgyOXVWR2x0Wlc5MWRDZ3BPMXh1SUNBZ0lIMHNJRzF6WldOektUdGNiaUFnZlZ4dWZUdGNibHh1THk4Z2MyVjBhVzF0WldScFlYUmxJR0YwZEdGamFHVnpJR2wwYzJWc1ppQjBieUIwYUdVZ1oyeHZZbUZzSUc5aWFtVmpkRnh1Y21WeGRXbHlaU2hjSW5ObGRHbHRiV1ZrYVdGMFpWd2lLVHRjYmk4dklFOXVJSE52YldVZ1pYaHZkR2xqSUdWdWRtbHliMjV0Wlc1MGN5d2dhWFFuY3lCdWIzUWdZMnhsWVhJZ2QyaHBZMmdnYjJKcVpXTjBJR0J6WlhScGJXMWxaR2xoZEdWZ0lIZGhjMXh1THk4Z1lXSnNaU0IwYnlCcGJuTjBZV3hzSUc5dWRHOHVJQ0JUWldGeVkyZ2daV0ZqYUNCd2IzTnphV0pwYkdsMGVTQnBiaUIwYUdVZ2MyRnRaU0J2Y21SbGNpQmhjeUIwYUdWY2JpOHZJR0J6WlhScGJXMWxaR2xoZEdWZ0lHeHBZbkpoY25rdVhHNWxlSEJ2Y25SekxuTmxkRWx0YldWa2FXRjBaU0E5SUNoMGVYQmxiMllnYzJWc1ppQWhQVDBnWENKMWJtUmxabWx1WldSY0lpQW1KaUJ6Wld4bUxuTmxkRWx0YldWa2FXRjBaU2tnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0hSNWNHVnZaaUJuYkc5aVlXd2dJVDA5SUZ3aWRXNWtaV1pwYm1Wa1hDSWdKaVlnWjJ4dlltRnNMbk5sZEVsdGJXVmthV0YwWlNrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tIUm9hWE1nSmlZZ2RHaHBjeTV6WlhSSmJXMWxaR2xoZEdVcE8xeHVaWGh3YjNKMGN5NWpiR1ZoY2tsdGJXVmthV0YwWlNBOUlDaDBlWEJsYjJZZ2MyVnNaaUFoUFQwZ1hDSjFibVJsWm1sdVpXUmNJaUFtSmlCelpXeG1MbU5zWldGeVNXMXRaV1JwWVhSbEtTQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2gwZVhCbGIyWWdaMnh2WW1Gc0lDRTlQU0JjSW5WdVpHVm1hVzVsWkZ3aUlDWW1JR2RzYjJKaGJDNWpiR1ZoY2tsdGJXVmthV0YwWlNrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9kR2hwY3lBbUppQjBhR2x6TG1Oc1pXRnlTVzF0WldScFlYUmxLVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogX19leHRlbmRzLCBfX2Fzc2lnbiwgX19yZXN0LCBfX2RlY29yYXRlLCBfX3BhcmFtLCBfX21ldGFkYXRhLCBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yLCBfX2V4cG9ydFN0YXIsIF9fdmFsdWVzLCBfX3JlYWQsIF9fc3ByZWFkLCBfX3NwcmVhZEFycmF5cywgX19hd2FpdCwgX19hc3luY0dlbmVyYXRvciwgX19hc3luY0RlbGVnYXRvciwgX19hc3luY1ZhbHVlcywgX19tYWtlVGVtcGxhdGVPYmplY3QsIF9faW1wb3J0U3RhciwgX19pbXBvcnREZWZhdWx0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2V4dGVuZHNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fZXh0ZW5kczsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19hc3NpZ25cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fYXNzaWduOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX3Jlc3RcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fcmVzdDsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19kZWNvcmF0ZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19kZWNvcmF0ZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19wYXJhbVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19wYXJhbTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19tZXRhZGF0YVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19tZXRhZGF0YTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19hd2FpdGVyXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2F3YWl0ZXI7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9fZ2VuZXJhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2dlbmVyYXRvcjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19leHBvcnRTdGFyXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2V4cG9ydFN0YXI7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9fdmFsdWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX3ZhbHVlczsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19yZWFkXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX3JlYWQ7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9fc3ByZWFkXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX3NwcmVhZDsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19zcHJlYWRBcnJheXNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fc3ByZWFkQXJyYXlzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2F3YWl0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2F3YWl0OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2FzeW5jR2VuZXJhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2FzeW5jR2VuZXJhdG9yOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2FzeW5jRGVsZWdhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2FzeW5jRGVsZWdhdG9yOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2FzeW5jVmFsdWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2FzeW5jVmFsdWVzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX21ha2VUZW1wbGF0ZU9iamVjdFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19tYWtlVGVtcGxhdGVPYmplY3Q7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9faW1wb3J0U3RhclxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19pbXBvcnRTdGFyOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2ltcG9ydERlZmF1bHRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9faW1wb3J0RGVmYXVsdDsgfSk7XFxuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxyXFxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXFxyXFxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFxcXCJMaWNlbnNlXFxcIik7IHlvdSBtYXkgbm90IHVzZVxcclxcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXFxyXFxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcXHJcXG5cXHJcXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXFxyXFxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxcclxcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsXFxyXFxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cXHJcXG5cXHJcXG5TZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcXHJcXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXFxyXFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cXHJcXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xcclxcblxcclxcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xcclxcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XFxyXFxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XFxyXFxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcXHJcXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XFxyXFxufTtcXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xcclxcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xcclxcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cXHJcXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xcclxcbn1cXHJcXG5cXHJcXG52YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcXHJcXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xcclxcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XFxyXFxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0O1xcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX3Jlc3QocywgZSkge1xcclxcbiAgICB2YXIgdCA9IHt9O1xcclxcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcXHJcXG4gICAgICAgIHRbcF0gPSBzW3BdO1xcclxcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcXFwiZnVuY3Rpb25cXFwiKVxcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcXHJcXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgIHJldHVybiB0O1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XFxyXFxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XFxyXFxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXFxcIm9iamVjdFxcXCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFxcXCJmdW5jdGlvblxcXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcXHJcXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcXHJcXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcXHJcXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcXHJcXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcXFwib2JqZWN0XFxcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXFxcImZ1bmN0aW9uXFxcIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XFxyXFxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xcclxcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxcclxcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXFxcInRocm93XFxcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxcclxcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHJlc3VsdC52YWx1ZSk7IH0pLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cXHJcXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcXHJcXG4gICAgfSk7XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcXHJcXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcXHJcXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFxcXCJ0aHJvd1xcXCI6IHZlcmIoMSksIFxcXCJyZXR1cm5cXFwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFxcXCJmdW5jdGlvblxcXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XFxyXFxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxcclxcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XFxyXFxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlxcXCIpO1xcclxcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XFxyXFxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcXFwicmV0dXJuXFxcIl0gOiBvcFswXSA/IHlbXFxcInRocm93XFxcIl0gfHwgKCh0ID0geVtcXFwicmV0dXJuXFxcIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xcclxcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcXHJcXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XFxyXFxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XFxyXFxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xcclxcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcXHJcXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcXFwiZnVuY3Rpb25cXFwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXSwgaSA9IDA7XFxyXFxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xcclxcbiAgICByZXR1cm4ge1xcclxcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX3JlYWQobywgbikge1xcclxcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFxcXCJmdW5jdGlvblxcXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xcclxcbiAgICBpZiAoIW0pIHJldHVybiBvO1xcclxcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcXHJcXG4gICAgdHJ5IHtcXHJcXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xcclxcbiAgICB9XFxyXFxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxcclxcbiAgICBmaW5hbGx5IHtcXHJcXG4gICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXFxcInJldHVyblxcXCJdKSkgbS5jYWxsKGkpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XFxyXFxuICAgIH1cXHJcXG4gICAgcmV0dXJuIGFyO1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX3NwcmVhZCgpIHtcXHJcXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXFxyXFxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XFxyXFxuICAgIHJldHVybiBhcjtcXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XFxyXFxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xcclxcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXFxyXFxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcXHJcXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcXHJcXG4gICAgcmV0dXJuIHI7XFxyXFxufTtcXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2F3YWl0KHYpIHtcXHJcXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XFxyXFxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlxcXCIpO1xcclxcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xcclxcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFxcXCJuZXh0XFxcIiksIHZlcmIoXFxcInRocm93XFxcIiksIHZlcmIoXFxcInJldHVyblxcXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XFxyXFxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxcclxcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XFxyXFxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxcclxcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcXFwibmV4dFxcXCIsIHZhbHVlKTsgfVxcclxcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFxcXCJ0aHJvd1xcXCIsIHZhbHVlKTsgfVxcclxcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xcclxcbiAgICB2YXIgaSwgcDtcXHJcXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcXFwibmV4dFxcXCIpLCB2ZXJiKFxcXCJ0aHJvd1xcXCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFxcXCJyZXR1cm5cXFwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcXHJcXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXFxcInJldHVyblxcXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XFxyXFxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlxcXCIpO1xcclxcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xcclxcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcXFwiZnVuY3Rpb25cXFwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFxcXCJuZXh0XFxcIiksIHZlcmIoXFxcInRocm93XFxcIiksIHZlcmIoXFxcInJldHVyblxcXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xcclxcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XFxyXFxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcXHJcXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcXFwicmF3XFxcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XFxyXFxuICAgIHJldHVybiBjb29rZWQ7XFxyXFxufTtcXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XFxyXFxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XFxyXFxuICAgIHZhciByZXN1bHQgPSB7fTtcXHJcXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcXHJcXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XFxyXFxuICAgIHJldHVybiByZXN1bHQ7XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcXHJcXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTkwYzJ4cFlpOTBjMnhwWWk1bGN6WXVhbk0vWVRkbU5DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlEwRXNLMFJCUVN0RU8wRkJReTlFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZWQlFWVXNaMEpCUVdkQ0xITkRRVUZ6UXl4cFFrRkJhVUlzUlVGQlJUdEJRVU51Uml4NVFrRkJlVUlzZFVSQlFYVkVPMEZCUTJoR08wRkJRMEU3TzBGQlJVODdRVUZEVUR0QlFVTkJMRzFDUVVGdFFpeHpRa0ZCYzBJN1FVRkRla003UVVGRFFUczdRVUZGVHp0QlFVTlFPMEZCUTBFc1owUkJRV2RFTEU5QlFVODdRVUZEZGtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERSRVFVRTBSQ3hqUVVGak8wRkJRekZGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNORU5CUVRSRExGRkJRVkU3UVVGRGNFUTdRVUZEUVRzN1FVRkZUenRCUVVOUUxHMURRVUZ0UXl4dlEwRkJiME03UVVGRGRrVTdPMEZCUlU4N1FVRkRVRHRCUVVOQk96dEJRVVZQTzBGQlExQTdRVUZEUVN4dFEwRkJiVU1zVFVGQlRTdzJRa0ZCTmtJc1JVRkJSU3haUVVGWkxGZEJRVmNzUlVGQlJUdEJRVU5xUnl4clEwRkJhME1zVFVGQlRTeHBRMEZCYVVNc1JVRkJSU3haUVVGWkxGZEJRVmNzUlVGQlJUdEJRVU53Unl3clFrRkJLMElzYVVWQlFXbEZMSFZDUVVGMVFpeEZRVUZGTERSQ1FVRTBRanRCUVVOeVNqdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZUenRCUVVOUUxHRkJRV0VzTmtKQlFUWkNMREJDUVVFd1FpeGhRVUZoTEVWQlFVVXNjVUpCUVhGQ08wRkJRM2hITEdkQ1FVRm5RaXh4UkVGQmNVUXNiMFZCUVc5RkxHRkJRV0VzUlVGQlJUdEJRVU40U2l4elFrRkJjMElzYzBKQlFYTkNMSEZDUVVGeFFpeEhRVUZITzBGQlEzQkZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWRFFVRjFRenRCUVVOMlF5eHJRMEZCYTBNc1UwRkJVenRCUVVNelF5eHJRMEZCYTBNc1YwRkJWeXhWUVVGVk8wRkJRM1pFTEhsRFFVRjVReXhqUVVGak8wRkJRM1pFTzBGQlEwRXNOa2RCUVRaSExFOUJRVThzVlVGQlZUdEJRVU01U0N4blJrRkJaMFlzYVVKQlFXbENMRTlCUVU4N1FVRkRlRWNzZDBSQlFYZEVMR2RDUVVGblFpeFJRVUZSTEU5QlFVODdRVUZEZGtZc09FTkJRVGhETEdkQ1FVRm5RaXhuUWtGQlowSXNUMEZCVHp0QlFVTnlSanRCUVVOQkxHbERRVUZwUXp0QlFVTnFRenRCUVVOQk8wRkJRMEVzVTBGQlV5eFpRVUZaTEdGQlFXRXNUMEZCVHl4RlFVRkZMRlZCUVZVc1YwRkJWenRCUVVOb1JTeHRRMEZCYlVNc1UwRkJVenRCUVVNMVF6dEJRVU5CT3p0QlFVVlBPMEZCUTFBN1FVRkRRVHM3UVVGRlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h2UWtGQmIwSTdRVUZEY0VJN1FVRkRRVHRCUVVOQk96dEJRVVZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRTFCUVUwc1owSkJRV2RDTzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMSE5DUVVGelFqdEJRVU4yUXp0QlFVTkJPMEZCUTBFN08wRkJSVTg3UVVGRFVDdzBRa0ZCTkVJc2MwSkJRWE5DTzBGQlEyeEVPMEZCUTBFN1FVRkRRVHM3UVVGRlR6dEJRVU5RTEdsRVFVRnBSQ3hSUVVGUk8wRkJRM3BFTEhkRFFVRjNReXhSUVVGUk8wRkJRMmhFTEhkRVFVRjNSQ3hSUVVGUk8wRkJRMmhGTzBGQlEwRTdRVUZEUVRzN1FVRkZUenRCUVVOUU8wRkJRMEU3TzBGQlJVODdRVUZEVUR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEhOR1FVRnpSaXhoUVVGaExFVkJRVVU3UVVGRGRFZ3NjMEpCUVhOQ0xHZERRVUZuUXl4eFEwRkJjVU1zTUVOQlFUQkRMRVZCUVVVc1JVRkJSU3hIUVVGSE8wRkJRelZKTERKQ1FVRXlRaXhOUVVGTkxHVkJRV1VzUlVGQlJTeFpRVUZaTEc5Q1FVRnZRaXhGUVVGRk8wRkJRM0JHTEhOQ1FVRnpRaXh2UjBGQmIwYzdRVUZETVVnc05rSkJRVFpDTEhWQ1FVRjFRanRCUVVOd1JDdzBRa0ZCTkVJc2QwSkJRWGRDTzBGQlEzQkVMREpDUVVFeVFpeDVSRUZCZVVRN1FVRkRjRVk3TzBGQlJVODdRVUZEVUR0QlFVTkJMR2xDUVVGcFFpdzBRMEZCTkVNc1UwRkJVeXhGUVVGRkxIRkVRVUZ4UkN4aFFVRmhMRVZCUVVVN1FVRkROVWtzZVVKQlFYbENMRFpDUVVFMlFpeHZRa0ZCYjBJc1owUkJRV2RFTEdkQ1FVRm5RaXhGUVVGRkxFdEJRVXM3UVVGRGFrbzdPMEZCUlU4N1FVRkRVRHRCUVVOQk8wRkJRMEVzTWtkQlFUSkhMSE5HUVVGelJpeGhRVUZoTEVWQlFVVTdRVUZEYUU0c2MwSkJRWE5DTERoQ1FVRTRRaXhuUkVGQlowUXNkVVJCUVhWRUxFVkJRVVVzUlVGQlJTeEhRVUZITzBGQlEyeExMRFJEUVVFMFF5eHpRMEZCYzBNc1ZVRkJWU3h2UWtGQmIwSXNSVUZCUlN4RlFVRkZMRlZCUVZVN1FVRkRPVWc3TzBGQlJVODdRVUZEVUN4blEwRkJaME1zZFVOQlFYVkRMR0ZCUVdFc1JVRkJSU3hGUVVGRkxFOUJRVThzYTBKQlFXdENPMEZCUTJwSU8wRkJRMEU3TzBGQlJVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVODdRVUZEVUN3MFEwRkJORU03UVVGRE5VTWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmRITnNhV0l2ZEhOc2FXSXVaWE0yTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvaElDb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xWEhKY2JrTnZjSGx5YVdkb2RDQW9ZeWtnVFdsamNtOXpiMlowSUVOdmNuQnZjbUYwYVc5dUxpQkJiR3dnY21sbmFIUnpJSEpsYzJWeWRtVmtMbHh5WEc1TWFXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FYQmhZMmhsSUV4cFkyVnVjMlVzSUZabGNuTnBiMjRnTWk0d0lDaDBhR1VnWENKTWFXTmxibk5sWENJcE95QjViM1VnYldGNUlHNXZkQ0IxYzJWY2NseHVkR2hwY3lCbWFXeGxJR1Y0WTJWd2RDQnBiaUJqYjIxd2JHbGhibU5sSUhkcGRHZ2dkR2hsSUV4cFkyVnVjMlV1SUZsdmRTQnRZWGtnYjJKMFlXbHVJR0VnWTI5d2VTQnZaaUIwYUdWY2NseHVUR2xqWlc1elpTQmhkQ0JvZEhSd09pOHZkM2QzTG1Gd1lXTm9aUzV2Y21jdmJHbGpaVzV6WlhNdlRFbERSVTVUUlMweUxqQmNjbHh1WEhKY2JsUklTVk1nUTA5RVJTQkpVeUJRVWs5V1NVUkZSQ0JQVGlCQlRpQXFRVk1nU1ZNcUlFSkJVMGxUTENCWFNWUklUMVZVSUZkQlVsSkJUbFJKUlZNZ1QxSWdRMDlPUkVsVVNVOU9VeUJQUmlCQlRsbGNjbHh1UzBsT1JDd2dSVWxVU0VWU0lFVllVRkpGVTFNZ1QxSWdTVTFRVEVsRlJDd2dTVTVEVEZWRVNVNUhJRmRKVkVoUFZWUWdURWxOU1ZSQlZFbFBUaUJCVGxrZ1NVMVFURWxGUkZ4eVhHNVhRVkpTUVU1VVNVVlRJRTlTSUVOUFRrUkpWRWxQVGxNZ1QwWWdWRWxVVEVVc0lFWkpWRTVGVTFNZ1JrOVNJRUVnVUVGU1ZFbERWVXhCVWlCUVZWSlFUMU5GTEZ4eVhHNU5SVkpEU0VGT1ZFRkNURWxVV1NCUFVpQk9UMDR0U1U1R1VrbE9SMFZOUlU1VUxseHlYRzVjY2x4dVUyVmxJSFJvWlNCQmNHRmphR1VnVm1WeWMybHZiaUF5TGpBZ1RHbGpaVzV6WlNCbWIzSWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6WEhKY2JtRnVaQ0JzYVcxcGRHRjBhVzl1Y3lCMWJtUmxjaUIwYUdVZ1RHbGpaVzV6WlM1Y2NseHVLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvZ0tpOWNjbHh1THlvZ1oyeHZZbUZzSUZKbFpteGxZM1FzSUZCeWIyMXBjMlVnS2k5Y2NseHVYSEpjYm5aaGNpQmxlSFJsYm1SVGRHRjBhV056SUQwZ1puVnVZM1JwYjI0b1pDd2dZaWtnZTF4eVhHNGdJQ0FnWlhoMFpXNWtVM1JoZEdsamN5QTlJRTlpYW1WamRDNXpaWFJRY205MGIzUjVjR1ZQWmlCOGZGeHlYRzRnSUNBZ0lDQWdJQ2g3SUY5ZmNISnZkRzlmWHpvZ1cxMGdmU0JwYm5OMFlXNWpaVzltSUVGeWNtRjVJQ1ltSUdaMWJtTjBhVzl1SUNoa0xDQmlLU0I3SUdRdVgxOXdjbTkwYjE5ZklEMGdZanNnZlNrZ2ZIeGNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUFvWkN3Z1lpa2dleUJtYjNJZ0tIWmhjaUJ3SUdsdUlHSXBJR2xtSUNoaUxtaGhjMDkzYmxCeWIzQmxjblI1S0hBcEtTQmtXM0JkSUQwZ1lsdHdYVHNnZlR0Y2NseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGJtUlRkR0YwYVdOektHUXNJR0lwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGgwWlc1a2N5aGtMQ0JpS1NCN1hISmNiaUFnSUNCbGVIUmxibVJUZEdGMGFXTnpLR1FzSUdJcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1gxOG9LU0I3SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0lnUFNCa095QjlYSEpjYmlBZ0lDQmtMbkJ5YjNSdmRIbHdaU0E5SUdJZ1BUMDlJRzUxYkd3Z1B5QlBZbXBsWTNRdVkzSmxZWFJsS0dJcElEb2dLRjlmTG5CeWIzUnZkSGx3WlNBOUlHSXVjSEp2ZEc5MGVYQmxMQ0J1WlhjZ1gxOG9LU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCMllYSWdYMTloYzNOcFoyNGdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0FnSUY5ZllYTnphV2R1SUQwZ1QySnFaV04wTG1GemMybG5iaUI4ZkNCbWRXNWpkR2x2YmlCZlgyRnpjMmxuYmloMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY3l3Z2FTQTlJREVzSUc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBJRHdnYmpzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSE1nUFNCaGNtZDFiV1Z1ZEhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnY3lrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h6TENCd0tTa2dkRnR3WFNBOUlITmJjRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlGOWZZWE56YVdkdUxtRndjR3g1S0hSb2FYTXNJR0Z5WjNWdFpXNTBjeWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzSmxjM1FvY3l3Z1pTa2dlMXh5WEc0Z0lDQWdkbUZ5SUhRZ1BTQjdmVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2N5a2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoekxDQndLU0FtSmlCbExtbHVaR1Y0VDJZb2NDa2dQQ0F3S1Z4eVhHNGdJQ0FnSUNBZ0lIUmJjRjBnUFNCelczQmRPMXh5WEc0Z0lDQWdhV1lnS0hNZ0lUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5QTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQndJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzY3loektUc2dhU0E4SUhBdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dVdWFXNWtaWGhQWmlod1cybGRLU0E4SURBZ0ppWWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNXdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaUzVqWVd4c0tITXNJSEJiYVYwcEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRnR3VzJsZFhTQTlJSE5iY0Z0cFhWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFE3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyUmxZMjl5WVhSbEtHUmxZMjl5WVhSdmNuTXNJSFJoY21kbGRDd2dhMlY1TENCa1pYTmpLU0I3WEhKY2JpQWdJQ0IyWVhJZ1l5QTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3NJSElnUFNCaklEd2dNeUEvSUhSaGNtZGxkQ0E2SUdSbGMyTWdQVDA5SUc1MWJHd2dQeUJrWlhOaklEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2loMFlYSm5aWFFzSUd0bGVTa2dPaUJrWlhOakxDQmtPMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJTWldac1pXTjBJRDA5UFNCY0ltOWlhbVZqZEZ3aUlDWW1JSFI1Y0dWdlppQlNaV1pzWldOMExtUmxZMjl5WVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJcElISWdQU0JTWldac1pXTjBMbVJsWTI5eVlYUmxLR1JsWTI5eVlYUnZjbk1zSUhSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1R0Y2NseHVJQ0FnSUdWc2MyVWdabTl5SUNoMllYSWdhU0E5SUdSbFkyOXlZWFJ2Y25NdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUdsbUlDaGtJRDBnWkdWamIzSmhkRzl5YzF0cFhTa2djaUE5SUNoaklEd2dNeUEvSUdRb2Npa2dPaUJqSUQ0Z015QS9JR1FvZEdGeVoyVjBMQ0JyWlhrc0lISXBJRG9nWkNoMFlYSm5aWFFzSUd0bGVTa3BJSHg4SUhJN1hISmNiaUFnSUNCeVpYUjFjbTRnWXlBK0lETWdKaVlnY2lBbUppQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0JyWlhrc0lISXBMQ0J5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXdZWEpoYlNod1lYSmhiVWx1WkdWNExDQmtaV052Y21GMGIzSXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kR0Z5WjJWMExDQnJaWGtwSUhzZ1pHVmpiM0poZEc5eUtIUmhjbWRsZEN3Z2EyVjVMQ0J3WVhKaGJVbHVaR1Y0S1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl0WlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z2JXVjBZV1JoZEdGV1lXeDFaU2tnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJTWldac1pXTjBMbTFsZEdGa1lYUmhJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSEpsZEhWeWJpQlNaV1pzWldOMExtMWxkR0ZrWVhSaEtHMWxkR0ZrWVhSaFMyVjVMQ0J0WlhSaFpHRjBZVlpoYkhWbEtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhkaGFYUmxjaWgwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6TENCUUxDQm5aVzVsY21GMGIzSXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQnVaWGNnS0ZBZ2ZId2dLRkFnUFNCUWNtOXRhWE5sS1Nrb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHeGxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2k1dVpYaDBLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCeVpXcGxZM1JsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNsdGNJblJvY205M1hDSmRLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCemRHVndLSEpsYzNWc2RDa2dleUJ5WlhOMWJIUXVaRzl1WlNBL0lISmxjMjlzZG1Vb2NtVnpkV3gwTG5aaGJIVmxLU0E2SUc1bGR5QlFLR1oxYm1OMGFXOXVJQ2h5WlhOdmJIWmxLU0I3SUhKbGMyOXNkbVVvY21WemRXeDBMblpoYkhWbEtUc2dmU2t1ZEdobGJpaG1kV3htYVd4c1pXUXNJSEpsYW1WamRHVmtLVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lITjBaWEFvS0dkbGJtVnlZWFJ2Y2lBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1NrdWJtVjRkQ2dwS1R0Y2NseHVJQ0FnSUgwcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTluWlc1bGNtRjBiM0lvZEdocGMwRnlaeXdnWW05a2VTa2dlMXh5WEc0Z0lDQWdkbUZ5SUY4Z1BTQjdJR3hoWW1Wc09pQXdMQ0J6Wlc1ME9pQm1kVzVqZEdsdmJpZ3BJSHNnYVdZZ0tIUmJNRjBnSmlBeEtTQjBhSEp2ZHlCMFd6RmRPeUJ5WlhSMWNtNGdkRnN4WFRzZ2ZTd2dkSEo1Y3pvZ1cxMHNJRzl3Y3pvZ1cxMGdmU3dnWml3Z2VTd2dkQ3dnWnp0Y2NseHVJQ0FnSUhKbGRIVnliaUJuSUQwZ2V5QnVaWGgwT2lCMlpYSmlLREFwTENCY0luUm9jbTkzWENJNklIWmxjbUlvTVNrc0lGd2ljbVYwZFhKdVhDSTZJSFpsY21Jb01pa2dmU3dnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JQ2huVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlIUm9hWE03SUgwcExDQm5PMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYzNSbGNDaGJiaXdnZGwwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tHOXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkhaVzVsY21GMGIzSWdhWE1nWVd4eVpXRmtlU0JsZUdWamRYUnBibWN1WENJcE8xeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaGZLU0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE5SURFc0lIa2dKaVlnS0hRZ1BTQnZjRnN3WFNBbUlESWdQeUI1VzF3aWNtVjBkWEp1WENKZElEb2diM0JiTUYwZ1B5QjVXMXdpZEdoeWIzZGNJbDBnZkh3Z0tDaDBJRDBnZVZ0Y0luSmxkSFZ5Ymx3aVhTa2dKaVlnZEM1allXeHNLSGtwTENBd0tTQTZJSGt1Ym1WNGRDa2dKaVlnSVNoMElEMGdkQzVqWVd4c0tIa3NJRzl3V3pGZEtTa3VaRzl1WlNrZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDVJRDBnTUN3Z2RDa2diM0FnUFNCYmIzQmJNRjBnSmlBeUxDQjBMblpoYkhWbFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNodmNGc3dYU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F3T2lCallYTmxJREU2SUhRZ1BTQnZjRHNnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEUTZJRjh1YkdGaVpXd3JLenNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pGZExDQmtiMjVsT2lCbVlXeHpaU0I5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0ExT2lCZkxteGhZbVZzS3lzN0lIa2dQU0J2Y0ZzeFhUc2diM0FnUFNCYk1GMDdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTNPaUJ2Y0NBOUlGOHViM0J6TG5CdmNDZ3BPeUJmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JU2gwSUQwZ1h5NTBjbmx6TENCMElEMGdkQzVzWlc1bmRHZ2dQaUF3SUNZbUlIUmJkQzVzWlc1bmRHZ2dMU0F4WFNrZ0ppWWdLRzl3V3pCZElEMDlQU0EySUh4OElHOXdXekJkSUQwOVBTQXlLU2tnZXlCZklEMGdNRHNnWTI5dWRHbHVkV1U3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnUFQwOUlETWdKaVlnS0NGMElIeDhJQ2h2Y0ZzeFhTQStJSFJiTUYwZ0ppWWdiM0JiTVYwZ1BDQjBXek5kS1NrcElIc2dYeTVzWVdKbGJDQTlJRzl3V3pGZE95QmljbVZoYXpzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdOaUFtSmlCZkxteGhZbVZzSUR3Z2RGc3hYU2tnZXlCZkxteGhZbVZzSUQwZ2RGc3hYVHNnZENBOUlHOXdPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwSUNZbUlGOHViR0ZpWld3Z1BDQjBXekpkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekpkT3lCZkxtOXdjeTV3ZFhOb0tHOXdLVHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEZzeVhTa2dYeTV2Y0hNdWNHOXdLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYeTUwY25sekxuQnZjQ2dwT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J2Y0NBOUlHSnZaSGt1WTJGc2JDaDBhR2x6UVhKbkxDQmZLVHRjY2x4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJRzl3SUQwZ1d6WXNJR1ZkT3lCNUlEMGdNRHNnZlNCbWFXNWhiR3g1SUhzZ1ppQTlJSFFnUFNBd095QjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUNZZ05Ta2dkR2h5YjNjZ2IzQmJNVjA3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0Zzd1hTQS9JRzl3V3pGZElEb2dkbTlwWkNBd0xDQmtiMjVsT2lCMGNuVmxJSDA3WEhKY2JpQWdJQ0I5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRjRzl5ZEZOMFlYSW9iU3dnWlhod2IzSjBjeWtnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnRLU0JwWmlBb0lXVjRjRzl5ZEhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0NrcElHVjRjRzl5ZEhOYmNGMGdQU0J0VzNCZE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTkyWVd4MVpYTW9ieWtnZTF4eVhHNGdJQ0FnZG1GeUlHMGdQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdiMXRUZVcxaWIyd3VhWFJsY21GMGIzSmRMQ0JwSUQwZ01EdGNjbHh1SUNBZ0lHbG1JQ2h0S1NCeVpYUjFjbTRnYlM1allXeHNLRzhwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSHRjY2x4dUlDQWdJQ0FnSUNCdVpYaDBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZJQ1ltSUdrZ1BqMGdieTVzWlc1bmRHZ3BJRzhnUFNCMmIybGtJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJSFpoYkhWbE9pQnZJQ1ltSUc5YmFTc3JYU3dnWkc5dVpUb2dJVzhnZlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eVpXRmtLRzhzSUc0cElIdGNjbHh1SUNBZ0lIWmhjaUJ0SUQwZ2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUc5YlUzbHRZbTlzTG1sMFpYSmhkRzl5WFR0Y2NseHVJQ0FnSUdsbUlDZ2hiU2tnY21WMGRYSnVJRzg3WEhKY2JpQWdJQ0IyWVhJZ2FTQTlJRzB1WTJGc2JDaHZLU3dnY2l3Z1lYSWdQU0JiWFN3Z1pUdGNjbHh1SUNBZ0lIUnllU0I3WEhKY2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0NodUlEMDlQU0IyYjJsa0lEQWdmSHdnYmkwdElENGdNQ2tnSmlZZ0lTaHlJRDBnYVM1dVpYaDBLQ2twTG1SdmJtVXBJR0Z5TG5CMWMyZ29jaTUyWVd4MVpTazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQmpZWFJqYUNBb1pYSnliM0lwSUhzZ1pTQTlJSHNnWlhKeWIzSTZJR1Z5Y205eUlIMDdJSDFjY2x4dUlDQWdJR1pwYm1Gc2JIa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5SUNZbUlDRnlMbVJ2Ym1VZ0ppWWdLRzBnUFNCcFcxd2ljbVYwZFhKdVhDSmRLU2tnYlM1allXeHNLR2twTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYVc1aGJHeDVJSHNnYVdZZ0tHVXBJSFJvY205M0lHVXVaWEp5YjNJN0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCaGNqdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzNCeVpXRmtLQ2tnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnWVhJZ1BTQmJYU3dnYVNBOUlEQTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BYSEpjYmlBZ0lDQWdJQ0FnWVhJZ1BTQmhjaTVqYjI1allYUW9YMTl5WldGa0tHRnlaM1Z0Wlc1MGMxdHBYU2twTzF4eVhHNGdJQ0FnY21WMGRYSnVJR0Z5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXpjSEpsWVdSQmNuSmhlWE1vS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCeklEMGdNQ3dnYVNBOUlEQXNJR2xzSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTQThJR2xzT3lCcEt5c3BJSE1nS3owZ1lYSm5kVzFsYm5SelcybGRMbXhsYm1kMGFEdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlISWdQU0JCY25KaGVTaHpLU3dnYXlBOUlEQXNJR2tnUFNBd095QnBJRHdnYVd3N0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCaElEMGdZWEpuZFcxbGJuUnpXMmxkTENCcUlEMGdNQ3dnYW13Z1BTQmhMbXhsYm1kMGFEc2dhaUE4SUdwc095QnFLeXNzSUdzckt5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NsdHJYU0E5SUdGYmFsMDdYSEpjYmlBZ0lDQnlaWFIxY200Z2NqdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGM1lXbDBLSFlwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUIwYUdseklHbHVjM1JoYm1ObGIyWWdYMTloZDJGcGRDQS9JQ2gwYUdsekxuWWdQU0IyTENCMGFHbHpLU0E2SUc1bGR5QmZYMkYzWVdsMEtIWXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMGRsYm1WeVlYUnZjaWgwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6TENCblpXNWxjbUYwYjNJcElIdGNjbHh1SUNBZ0lHbG1JQ2doVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNiaUFnSUNCMllYSWdaeUE5SUdkbGJtVnlZWFJ2Y2k1aGNIQnNlU2gwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6SUh4OElGdGRLU3dnYVN3Z2NTQTlJRnRkTzF4eVhHNGdJQ0FnY21WMGRYSnVJR2tnUFNCN2ZTd2dkbVZ5WWloY0ltNWxlSFJjSWlrc0lIWmxjbUlvWENKMGFISnZkMXdpS1N3Z2RtVnlZaWhjSW5KbGRIVnlibHdpS1N3Z2FWdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJR2xtSUNoblcyNWRLU0JwVzI1ZElEMGdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaGhMQ0JpS1NCN0lIRXVjSFZ6YUNoYmJpd2dkaXdnWVN3Z1lsMHBJRDRnTVNCOGZDQnlaWE4xYldVb2Jpd2dkaWs3SUgwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ5WlhOMWJXVW9iaXdnZGlrZ2V5QjBjbmtnZXlCemRHVndLR2RiYmwwb2Rpa3BPeUI5SUdOaGRHTm9JQ2hsS1NCN0lITmxkSFJzWlNoeFd6QmRXek5kTENCbEtUc2dmU0I5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tISXBJSHNnY2k1MllXeDFaU0JwYm5OMFlXNWpaVzltSUY5ZllYZGhhWFFnUHlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvY2k1MllXeDFaUzUyS1M1MGFHVnVLR1oxYkdacGJHd3NJSEpsYW1WamRDa2dPaUJ6WlhSMGJHVW9jVnN3WFZzeVhTd2djaWs3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdaMWJHWnBiR3dvZG1Gc2RXVXBJSHNnY21WemRXMWxLRndpYm1WNGRGd2lMQ0IyWVd4MVpTazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSEpsYW1WamRDaDJZV3gxWlNrZ2V5QnlaWE4xYldVb1hDSjBhSEp2ZDF3aUxDQjJZV3gxWlNrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkSFJzWlNobUxDQjJLU0I3SUdsbUlDaG1LSFlwTENCeExuTm9hV1owS0Nrc0lIRXViR1Z1WjNSb0tTQnlaWE4xYldVb2NWc3dYVnN3WFN3Z2NWc3dYVnN4WFNrN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhONWJtTkVaV3hsWjJGMGIzSW9ieWtnZTF4eVhHNGdJQ0FnZG1GeUlHa3NJSEE3WEhKY2JpQWdJQ0J5WlhSMWNtNGdhU0E5SUh0OUxDQjJaWEppS0Z3aWJtVjRkRndpS1N3Z2RtVnlZaWhjSW5Sb2NtOTNYQ0lzSUdaMWJtTjBhVzl1SUNobEtTQjdJSFJvY205M0lHVTdJSDBwTENCMlpYSmlLRndpY21WMGRYSnVYQ0lwTENCcFcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVMQ0JtS1NCN0lHbGJibDBnUFNCdlcyNWRJRDhnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlDaHdJRDBnSVhBcElEOGdleUIyWVd4MVpUb2dYMTloZDJGcGRDaHZXMjVkS0hZcEtTd2daRzl1WlRvZ2JpQTlQVDBnWENKeVpYUjFjbTVjSWlCOUlEb2daaUEvSUdZb2Rpa2dPaUIyT3lCOUlEb2daanNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTFaaGJIVmxjeWh2S1NCN1hISmNiaUFnSUNCcFppQW9JVk41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5S1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lnYVhNZ2JtOTBJR1JsWm1sdVpXUXVYQ0lwTzF4eVhHNGdJQ0FnZG1GeUlHMGdQU0J2VzFONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eVhTd2dhVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnRJRDhnYlM1allXeHNLRzhwSURvZ0tHOGdQU0IwZVhCbGIyWWdYMTkyWVd4MVpYTWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JRjlmZG1Gc2RXVnpLRzhwSURvZ2IxdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZEtDa3NJR2tnUFNCN2ZTd2dkbVZ5WWloY0ltNWxlSFJjSWlrc0lIWmxjbUlvWENKMGFISnZkMXdpS1N3Z2RtVnlZaWhjSW5KbGRIVnlibHdpS1N3Z2FWdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBLVHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsY21Jb2Jpa2dleUJwVzI1ZElEMGdiMXR1WFNBbUppQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2V5QjJJRDBnYjF0dVhTaDJLU3dnYzJWMGRHeGxLSEpsYzI5c2RtVXNJSEpsYW1WamRDd2dkaTVrYjI1bExDQjJMblpoYkhWbEtUc2dmU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkSFJzWlNoeVpYTnZiSFpsTENCeVpXcGxZM1FzSUdRc0lIWXBJSHNnVUhKdmJXbHpaUzV5WlhOdmJIWmxLSFlwTG5Sb1pXNG9ablZ1WTNScGIyNG9kaWtnZXlCeVpYTnZiSFpsS0hzZ2RtRnNkV1U2SUhZc0lHUnZibVU2SUdRZ2ZTazdJSDBzSUhKbGFtVmpkQ2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZiV0ZyWlZSbGJYQnNZWFJsVDJKcVpXTjBLR052YjJ0bFpDd2djbUYzS1NCN1hISmNiaUFnSUNCcFppQW9UMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S1NCN0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqYjI5clpXUXNJRndpY21GM1hDSXNJSHNnZG1Gc2RXVTZJSEpoZHlCOUtUc2dmU0JsYkhObElIc2dZMjl2YTJWa0xuSmhkeUE5SUhKaGR6c2dmVnh5WEc0Z0lDQWdjbVYwZFhKdUlHTnZiMnRsWkR0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMmx0Y0c5eWRGTjBZWElvYlc5a0tTQjdYSEpjYmlBZ0lDQnBaaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQnlaWFIxY200Z2JXOWtPMXh5WEc0Z0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUh0OU8xeHlYRzRnSUNBZ2FXWWdLRzF2WkNBaFBTQnVkV3hzS1NCbWIzSWdLSFpoY2lCcklHbHVJRzF2WkNrZ2FXWWdLRTlpYW1WamRDNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzF2WkN3Z2F5a3BJSEpsYzNWc2RGdHJYU0E5SUcxdlpGdHJYVHRjY2x4dUlDQWdJSEpsYzNWc2RDNWtaV1poZFd4MElEMGdiVzlrTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBSR1ZtWVhWc2RDaHRiMlFwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQS9JRzF2WkNBNklIc2daR1ZtWVhWc2REb2diVzlrSUgwN1hISmNibjFjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7XFxuLyoqXFxuICogTW9kdWxlIGV4cG9ydHMuXFxuICovXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBkZXByZWNhdGU7XFxuXFxuLyoqXFxuICogTWFyayB0aGF0IGEgbWV0aG9kIHNob3VsZCBub3QgYmUgdXNlZC5cXG4gKiBSZXR1cm5zIGEgbW9kaWZpZWQgZnVuY3Rpb24gd2hpY2ggd2FybnMgb25jZSBieSBkZWZhdWx0LlxcbiAqXFxuICogSWYgYGxvY2FsU3RvcmFnZS5ub0RlcHJlY2F0aW9uID0gdHJ1ZWAgaXMgc2V0LCB0aGVuIGl0IGlzIGEgbm8tb3AuXFxuICpcXG4gKiBJZiBgbG9jYWxTdG9yYWdlLnRocm93RGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gZGVwcmVjYXRlZCBmdW5jdGlvbnNcXG4gKiB3aWxsIHRocm93IGFuIEVycm9yIHdoZW4gaW52b2tlZC5cXG4gKlxcbiAqIElmIGBsb2NhbFN0b3JhZ2UudHJhY2VEZXByZWNhdGlvbiA9IHRydWVgIGlzIHNldCwgdGhlbiBkZXByZWNhdGVkIGZ1bmN0aW9uc1xcbiAqIHdpbGwgaW52b2tlIGBjb25zb2xlLnRyYWNlKClgIGluc3RlYWQgb2YgYGNvbnNvbGUuZXJyb3IoKWAuXFxuICpcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiAtIHRoZSBmdW5jdGlvbiB0byBkZXByZWNhdGVcXG4gKiBAcGFyYW0ge1N0cmluZ30gbXNnIC0gdGhlIHN0cmluZyB0byBwcmludCB0byB0aGUgY29uc29sZSB3aGVuIGBmbmAgaXMgaW52b2tlZFxcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gYSBuZXcgXFxcImRlcHJlY2F0ZWRcXFwiIHZlcnNpb24gb2YgYGZuYFxcbiAqIEBhcGkgcHVibGljXFxuICovXFxuXFxuZnVuY3Rpb24gZGVwcmVjYXRlIChmbiwgbXNnKSB7XFxuICBpZiAoY29uZmlnKCdub0RlcHJlY2F0aW9uJykpIHtcXG4gICAgcmV0dXJuIGZuO1xcbiAgfVxcblxcbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xcbiAgZnVuY3Rpb24gZGVwcmVjYXRlZCgpIHtcXG4gICAgaWYgKCF3YXJuZWQpIHtcXG4gICAgICBpZiAoY29uZmlnKCd0aHJvd0RlcHJlY2F0aW9uJykpIHtcXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xcbiAgICAgIH0gZWxzZSBpZiAoY29uZmlnKCd0cmFjZURlcHJlY2F0aW9uJykpIHtcXG4gICAgICAgIGNvbnNvbGUudHJhY2UobXNnKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY29uc29sZS53YXJuKG1zZyk7XFxuICAgICAgfVxcbiAgICAgIHdhcm5lZCA9IHRydWU7XFxuICAgIH1cXG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XFxuICB9XFxuXFxuICByZXR1cm4gZGVwcmVjYXRlZDtcXG59XFxuXFxuLyoqXFxuICogQ2hlY2tzIGBsb2NhbFN0b3JhZ2VgIGZvciBib29sZWFuIHZhbHVlcyBmb3IgdGhlIGdpdmVuIGBuYW1lYC5cXG4gKlxcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXFxuICogQHJldHVybnMge0Jvb2xlYW59XFxuICogQGFwaSBwcml2YXRlXFxuICovXFxuXFxuZnVuY3Rpb24gY29uZmlnIChuYW1lKSB7XFxuICAvLyBhY2Nlc3NpbmcgZ2xvYmFsLmxvY2FsU3RvcmFnZSBjYW4gdHJpZ2dlciBhIERPTUV4Y2VwdGlvbiBpbiBzYW5kYm94ZWQgaWZyYW1lc1xcbiAgdHJ5IHtcXG4gICAgaWYgKCFnbG9iYWwubG9jYWxTdG9yYWdlKSByZXR1cm4gZmFsc2U7XFxuICB9IGNhdGNoIChfKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciB2YWwgPSBnbG9iYWwubG9jYWxTdG9yYWdlW25hbWVdO1xcbiAgaWYgKG51bGwgPT0gdmFsKSByZXR1cm4gZmFsc2U7XFxuICByZXR1cm4gU3RyaW5nKHZhbCkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5MWRHbHNMV1JsY0hKbFkyRjBaUzlpY205M2MyVnlMbXB6UHpjMk9XRWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRk5CUVZNN1FVRkRjRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1UwRkJVenRCUVVOMFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFN1FVRkRZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTkxZEdsc0xXUmxjSEpsWTJGMFpTOWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhHNHZLaXBjYmlBcUlFMXZaSFZzWlNCbGVIQnZjblJ6TGx4dUlDb3ZYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWkdWd2NtVmpZWFJsTzF4dVhHNHZLaXBjYmlBcUlFMWhjbXNnZEdoaGRDQmhJRzFsZEdodlpDQnphRzkxYkdRZ2JtOTBJR0psSUhWelpXUXVYRzRnS2lCU1pYUjFjbTV6SUdFZ2JXOWthV1pwWldRZ1puVnVZM1JwYjI0Z2QyaHBZMmdnZDJGeWJuTWdiMjVqWlNCaWVTQmtaV1poZFd4MExseHVJQ3BjYmlBcUlFbG1JR0JzYjJOaGJGTjBiM0poWjJVdWJtOUVaWEJ5WldOaGRHbHZiaUE5SUhSeWRXVmdJR2x6SUhObGRDd2dkR2hsYmlCcGRDQnBjeUJoSUc1dkxXOXdMbHh1SUNwY2JpQXFJRWxtSUdCc2IyTmhiRk4wYjNKaFoyVXVkR2h5YjNkRVpYQnlaV05oZEdsdmJpQTlJSFJ5ZFdWZ0lHbHpJSE5sZEN3Z2RHaGxiaUJrWlhCeVpXTmhkR1ZrSUdaMWJtTjBhVzl1YzF4dUlDb2dkMmxzYkNCMGFISnZkeUJoYmlCRmNuSnZjaUIzYUdWdUlHbHVkbTlyWldRdVhHNGdLbHh1SUNvZ1NXWWdZR3h2WTJGc1UzUnZjbUZuWlM1MGNtRmpaVVJsY0hKbFkyRjBhVzl1SUQwZ2RISjFaV0FnYVhNZ2MyVjBMQ0IwYUdWdUlHUmxjSEpsWTJGMFpXUWdablZ1WTNScGIyNXpYRzRnS2lCM2FXeHNJR2x1ZG05clpTQmdZMjl1YzI5c1pTNTBjbUZqWlNncFlDQnBibk4wWldGa0lHOW1JR0JqYjI1emIyeGxMbVZ5Y205eUtDbGdMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdSblZ1WTNScGIyNTlJR1p1SUMwZ2RHaGxJR1oxYm1OMGFXOXVJSFJ2SUdSbGNISmxZMkYwWlZ4dUlDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlHMXpaeUF0SUhSb1pTQnpkSEpwYm1jZ2RHOGdjSEpwYm5RZ2RHOGdkR2hsSUdOdmJuTnZiR1VnZDJobGJpQmdabTVnSUdseklHbHVkbTlyWldSY2JpQXFJRUJ5WlhSMWNtNXpJSHRHZFc1amRHbHZibjBnWVNCdVpYY2dYQ0prWlhCeVpXTmhkR1ZrWENJZ2RtVnljMmx2YmlCdlppQmdabTVnWEc0Z0tpQkFZWEJwSUhCMVlteHBZMXh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR1JsY0hKbFkyRjBaU0FvWm00c0lHMXpaeWtnZTF4dUlDQnBaaUFvWTI5dVptbG5LQ2R1YjBSbGNISmxZMkYwYVc5dUp5a3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptNDdYRzRnSUgxY2JseHVJQ0IyWVhJZ2QyRnlibVZrSUQwZ1ptRnNjMlU3WEc0Z0lHWjFibU4wYVc5dUlHUmxjSEpsWTJGMFpXUW9LU0I3WEc0Z0lDQWdhV1lnS0NGM1lYSnVaV1FwSUh0Y2JpQWdJQ0FnSUdsbUlDaGpiMjVtYVdjb0ozUm9jbTkzUkdWd2NtVmpZWFJwYjI0bktTa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9iWE5uS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1kyOXVabWxuS0NkMGNtRmpaVVJsY0hKbFkyRjBhVzl1SnlrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pTNTBjbUZqWlNodGMyY3BPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0cxelp5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNZWEp1WldRZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1ptNHVZWEJ3Ykhrb2RHaHBjeXdnWVhKbmRXMWxiblJ6S1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCa1pYQnlaV05oZEdWa08xeHVmVnh1WEc0dktpcGNiaUFxSUVOb1pXTnJjeUJnYkc5allXeFRkRzl5WVdkbFlDQm1iM0lnWW05dmJHVmhiaUIyWVd4MVpYTWdabTl5SUhSb1pTQm5hWFpsYmlCZ2JtRnRaV0F1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJRzVoYldWY2JpQXFJRUJ5WlhSMWNtNXpJSHRDYjI5c1pXRnVmVnh1SUNvZ1FHRndhU0J3Y21sMllYUmxYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdZMjl1Wm1sbklDaHVZVzFsS1NCN1hHNGdJQzh2SUdGalkyVnpjMmx1WnlCbmJHOWlZV3d1Ykc5allXeFRkRzl5WVdkbElHTmhiaUIwY21sbloyVnlJR0VnUkU5TlJYaGpaWEIwYVc5dUlHbHVJSE5oYm1SaWIzaGxaQ0JwWm5KaGJXVnpYRzRnSUhSeWVTQjdYRzRnSUNBZ2FXWWdLQ0ZuYkc5aVlXd3ViRzlqWVd4VGRHOXlZV2RsS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ1kyRjBZMmdnS0Y4cElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JpQWdkbUZ5SUhaaGJDQTlJR2RzYjJKaGJDNXNiMk5oYkZOMGIzSmhaMlZiYm1GdFpWMDdYRzRnSUdsbUlDaHVkV3hzSUQwOUlIWmhiQ2tnY21WMGRYSnVJR1poYkhObE8xeHVJQ0J5WlhSMWNtNGdVM1J5YVc1bktIWmhiQ2t1ZEc5TWIzZGxja05oYzJVb0tTQTlQVDBnSjNSeWRXVW5PMXh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvdm0tYnJvd3NlcmlmeS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3ZtLWJyb3dzZXJpZnkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwidmFyIGluZGV4T2YgPSBmdW5jdGlvbiAoeHMsIGl0ZW0pIHtcXG4gICAgaWYgKHhzLmluZGV4T2YpIHJldHVybiB4cy5pbmRleE9mKGl0ZW0pO1xcbiAgICBlbHNlIGZvciAodmFyIGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIGlmICh4c1tpXSA9PT0gaXRlbSkgcmV0dXJuIGk7XFxuICAgIH1cXG4gICAgcmV0dXJuIC0xO1xcbn07XFxudmFyIE9iamVjdF9rZXlzID0gZnVuY3Rpb24gKG9iaikge1xcbiAgICBpZiAoT2JqZWN0LmtleXMpIHJldHVybiBPYmplY3Qua2V5cyhvYmopXFxuICAgIGVsc2Uge1xcbiAgICAgICAgdmFyIHJlcyA9IFtdO1xcbiAgICAgICAgZm9yICh2YXIga2V5IGluIG9iaikgcmVzLnB1c2goa2V5KVxcbiAgICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcbn07XFxuXFxudmFyIGZvckVhY2ggPSBmdW5jdGlvbiAoeHMsIGZuKSB7XFxuICAgIGlmICh4cy5mb3JFYWNoKSByZXR1cm4geHMuZm9yRWFjaChmbilcXG4gICAgZWxzZSBmb3IgKHZhciBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICBmbih4c1tpXSwgaSwgeHMpO1xcbiAgICB9XFxufTtcXG5cXG52YXIgZGVmaW5lUHJvcCA9IChmdW5jdGlvbigpIHtcXG4gICAgdHJ5IHtcXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ18nLCB7fSk7XFxuICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqLCBuYW1lLCB2YWx1ZSkge1xcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG5hbWUsIHtcXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9O1xcbiAgICB9IGNhdGNoKGUpIHtcXG4gICAgICAgIHJldHVybiBmdW5jdGlvbihvYmosIG5hbWUsIHZhbHVlKSB7XFxuICAgICAgICAgICAgb2JqW25hbWVdID0gdmFsdWU7XFxuICAgICAgICB9O1xcbiAgICB9XFxufSgpKTtcXG5cXG52YXIgZ2xvYmFscyA9IFsnQXJyYXknLCAnQm9vbGVhbicsICdEYXRlJywgJ0Vycm9yJywgJ0V2YWxFcnJvcicsICdGdW5jdGlvbicsXFxuJ0luZmluaXR5JywgJ0pTT04nLCAnTWF0aCcsICdOYU4nLCAnTnVtYmVyJywgJ09iamVjdCcsICdSYW5nZUVycm9yJyxcXG4nUmVmZXJlbmNlRXJyb3InLCAnUmVnRXhwJywgJ1N0cmluZycsICdTeW50YXhFcnJvcicsICdUeXBlRXJyb3InLCAnVVJJRXJyb3InLFxcbidkZWNvZGVVUkknLCAnZGVjb2RlVVJJQ29tcG9uZW50JywgJ2VuY29kZVVSSScsICdlbmNvZGVVUklDb21wb25lbnQnLCAnZXNjYXBlJyxcXG4nZXZhbCcsICdpc0Zpbml0ZScsICdpc05hTicsICdwYXJzZUZsb2F0JywgJ3BhcnNlSW50JywgJ3VuZGVmaW5lZCcsICd1bmVzY2FwZSddO1xcblxcbmZ1bmN0aW9uIENvbnRleHQoKSB7fVxcbkNvbnRleHQucHJvdG90eXBlID0ge307XFxuXFxudmFyIFNjcmlwdCA9IGV4cG9ydHMuU2NyaXB0ID0gZnVuY3Rpb24gTm9kZVNjcmlwdCAoY29kZSkge1xcbiAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU2NyaXB0KSkgcmV0dXJuIG5ldyBTY3JpcHQoY29kZSk7XFxuICAgIHRoaXMuY29kZSA9IGNvZGU7XFxufTtcXG5cXG5TY3JpcHQucHJvdG90eXBlLnJ1bkluQ29udGV4dCA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XFxuICAgIGlmICghKGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0KSkge1xcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwibmVlZHMgYSAnY29udGV4dCcgYXJndW1lbnQuXFxcIik7XFxuICAgIH1cXG4gICAgXFxuICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcXG4gICAgaWYgKCFpZnJhbWUuc3R5bGUpIGlmcmFtZS5zdHlsZSA9IHt9O1xcbiAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcXG4gICAgXFxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcXG4gICAgXFxuICAgIHZhciB3aW4gPSBpZnJhbWUuY29udGVudFdpbmRvdztcXG4gICAgdmFyIHdFdmFsID0gd2luLmV2YWwsIHdFeGVjU2NyaXB0ID0gd2luLmV4ZWNTY3JpcHQ7XFxuXFxuICAgIGlmICghd0V2YWwgJiYgd0V4ZWNTY3JpcHQpIHtcXG4gICAgICAgIC8vIHdpbi5ldmFsKCkgbWFnaWNhbGx5IGFwcGVhcnMgd2hlbiB0aGlzIGlzIGNhbGxlZCBpbiBJRTpcXG4gICAgICAgIHdFeGVjU2NyaXB0LmNhbGwod2luLCAnbnVsbCcpO1xcbiAgICAgICAgd0V2YWwgPSB3aW4uZXZhbDtcXG4gICAgfVxcbiAgICBcXG4gICAgZm9yRWFjaChPYmplY3Rfa2V5cyhjb250ZXh0KSwgZnVuY3Rpb24gKGtleSkge1xcbiAgICAgICAgd2luW2tleV0gPSBjb250ZXh0W2tleV07XFxuICAgIH0pO1xcbiAgICBmb3JFYWNoKGdsb2JhbHMsIGZ1bmN0aW9uIChrZXkpIHtcXG4gICAgICAgIGlmIChjb250ZXh0W2tleV0pIHtcXG4gICAgICAgICAgICB3aW5ba2V5XSA9IGNvbnRleHRba2V5XTtcXG4gICAgICAgIH1cXG4gICAgfSk7XFxuICAgIFxcbiAgICB2YXIgd2luS2V5cyA9IE9iamVjdF9rZXlzKHdpbik7XFxuXFxuICAgIHZhciByZXMgPSB3RXZhbC5jYWxsKHdpbiwgdGhpcy5jb2RlKTtcXG4gICAgXFxuICAgIGZvckVhY2goT2JqZWN0X2tleXMod2luKSwgZnVuY3Rpb24gKGtleSkge1xcbiAgICAgICAgLy8gQXZvaWQgY29weWluZyBjaXJjdWxhciBvYmplY3RzIGxpa2UgYHRvcGAgYW5kIGB3aW5kb3dgIGJ5IG9ubHlcXG4gICAgICAgIC8vIHVwZGF0aW5nIGV4aXN0aW5nIGNvbnRleHQgcHJvcGVydGllcyBvciBuZXcgcHJvcGVydGllcyBpbiB0aGUgYHdpbmBcXG4gICAgICAgIC8vIHRoYXQgd2FzIG9ubHkgaW50cm9kdWNlZCBhZnRlciB0aGUgZXZhbC5cXG4gICAgICAgIGlmIChrZXkgaW4gY29udGV4dCB8fCBpbmRleE9mKHdpbktleXMsIGtleSkgPT09IC0xKSB7XFxuICAgICAgICAgICAgY29udGV4dFtrZXldID0gd2luW2tleV07XFxuICAgICAgICB9XFxuICAgIH0pO1xcblxcbiAgICBmb3JFYWNoKGdsb2JhbHMsIGZ1bmN0aW9uIChrZXkpIHtcXG4gICAgICAgIGlmICghKGtleSBpbiBjb250ZXh0KSkge1xcbiAgICAgICAgICAgIGRlZmluZVByb3AoY29udGV4dCwga2V5LCB3aW5ba2V5XSk7XFxuICAgICAgICB9XFxuICAgIH0pO1xcbiAgICBcXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpO1xcbiAgICBcXG4gICAgcmV0dXJuIHJlcztcXG59O1xcblxcblNjcmlwdC5wcm90b3R5cGUucnVuSW5UaGlzQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgcmV0dXJuIGV2YWwodGhpcy5jb2RlKTsgLy8gbWF5YmUuLi5cXG59O1xcblxcblNjcmlwdC5wcm90b3R5cGUucnVuSW5OZXdDb250ZXh0ID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcXG4gICAgdmFyIGN0eCA9IFNjcmlwdC5jcmVhdGVDb250ZXh0KGNvbnRleHQpO1xcbiAgICB2YXIgcmVzID0gdGhpcy5ydW5JbkNvbnRleHQoY3R4KTtcXG5cXG4gICAgaWYgKGNvbnRleHQpIHtcXG4gICAgICAgIGZvckVhY2goT2JqZWN0X2tleXMoY3R4KSwgZnVuY3Rpb24gKGtleSkge1xcbiAgICAgICAgICAgIGNvbnRleHRba2V5XSA9IGN0eFtrZXldO1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG59O1xcblxcbmZvckVhY2goT2JqZWN0X2tleXMoU2NyaXB0LnByb3RvdHlwZSksIGZ1bmN0aW9uIChuYW1lKSB7XFxuICAgIGV4cG9ydHNbbmFtZV0gPSBTY3JpcHRbbmFtZV0gPSBmdW5jdGlvbiAoY29kZSkge1xcbiAgICAgICAgdmFyIHMgPSBTY3JpcHQoY29kZSk7XFxuICAgICAgICByZXR1cm4gc1tuYW1lXS5hcHBseShzLCBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpO1xcbiAgICB9O1xcbn0pO1xcblxcbmV4cG9ydHMuaXNDb250ZXh0ID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcXG4gICAgcmV0dXJuIGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0O1xcbn07XFxuXFxuZXhwb3J0cy5jcmVhdGVTY3JpcHQgPSBmdW5jdGlvbiAoY29kZSkge1xcbiAgICByZXR1cm4gZXhwb3J0cy5TY3JpcHQoY29kZSk7XFxufTtcXG5cXG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBTY3JpcHQuY3JlYXRlQ29udGV4dCA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XFxuICAgIHZhciBjb3B5ID0gbmV3IENvbnRleHQoKTtcXG4gICAgaWYodHlwZW9mIGNvbnRleHQgPT09ICdvYmplY3QnKSB7XFxuICAgICAgICBmb3JFYWNoKE9iamVjdF9rZXlzKGNvbnRleHQpLCBmdW5jdGlvbiAoa2V5KSB7XFxuICAgICAgICAgICAgY29weVtrZXldID0gY29udGV4dFtrZXldO1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIGNvcHk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OTJiUzFpY205M2MyVnlhV1o1TDJsdVpHVjRMbXB6UHpSaE1HWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTEhkQ1FVRjNRaXhsUVVGbE8wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzZDBKQlFYZENMR1ZCUVdVN1FVRkRka003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3huUTBGQlowTXNVMEZCVXp0QlFVTjZRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREpDUVVFeVFqdEJRVU16UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OTJiUzFpY205M2MyVnlhV1o1TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsdVpHVjRUMllnUFNCbWRXNWpkR2x2YmlBb2VITXNJR2wwWlcwcElIdGNiaUFnSUNCcFppQW9lSE11YVc1a1pYaFBaaWtnY21WMGRYSnVJSGh6TG1sdVpHVjRUMllvYVhSbGJTazdYRzRnSUNBZ1pXeHpaU0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhoekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDRjMXRwWFNBOVBUMGdhWFJsYlNrZ2NtVjBkWEp1SUdrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQXRNVHRjYm4wN1hHNTJZWElnVDJKcVpXTjBYMnRsZVhNZ1BTQm1kVzVqZEdsdmJpQW9iMkpxS1NCN1hHNGdJQ0FnYVdZZ0tFOWlhbVZqZEM1clpYbHpLU0J5WlhSMWNtNGdUMkpxWldOMExtdGxlWE1vYjJKcUtWeHVJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpJRDBnVzEwN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHdGxlU0JwYmlCdlltb3BJSEpsY3k1d2RYTm9LR3RsZVNsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnSUNCOVhHNTlPMXh1WEc1MllYSWdabTl5UldGamFDQTlJR1oxYm1OMGFXOXVJQ2g0Y3l3Z1ptNHBJSHRjYmlBZ0lDQnBaaUFvZUhNdVptOXlSV0ZqYUNrZ2NtVjBkWEp1SUhoekxtWnZja1ZoWTJnb1ptNHBYRzRnSUNBZ1pXeHpaU0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhoekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadUtIaHpXMmxkTENCcExDQjRjeWs3WEc0Z0lDQWdmVnh1ZlR0Y2JseHVkbUZ5SUdSbFptbHVaVkJ5YjNBZ1BTQW9ablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSHQ5TENBblh5Y3NJSHQ5S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1S0c5aWFpd2dibUZ0WlN3Z2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodlltb3NJRzVoYldVc0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUhaaGJIVmxYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdZMkYwWTJnb1pTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNG9iMkpxTENCdVlXMWxMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IySnFXMjVoYldWZElEMGdkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVmU2dwS1R0Y2JseHVkbUZ5SUdkc2IySmhiSE1nUFNCYkowRnljbUY1Snl3Z0owSnZiMnhsWVc0bkxDQW5SR0YwWlNjc0lDZEZjbkp2Y2ljc0lDZEZkbUZzUlhKeWIzSW5MQ0FuUm5WdVkzUnBiMjRuTEZ4dUowbHVabWx1YVhSNUp5d2dKMHBUVDA0bkxDQW5UV0YwYUNjc0lDZE9ZVTRuTENBblRuVnRZbVZ5Snl3Z0owOWlhbVZqZENjc0lDZFNZVzVuWlVWeWNtOXlKeXhjYmlkU1pXWmxjbVZ1WTJWRmNuSnZjaWNzSUNkU1pXZEZlSEFuTENBblUzUnlhVzVuSnl3Z0oxTjViblJoZUVWeWNtOXlKeXdnSjFSNWNHVkZjbkp2Y2ljc0lDZFZVa2xGY25KdmNpY3NYRzRuWkdWamIyUmxWVkpKSnl3Z0oyUmxZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDY3NJQ2RsYm1OdlpHVlZVa2tuTENBblpXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEp5d2dKMlZ6WTJGd1pTY3NYRzRuWlhaaGJDY3NJQ2RwYzBacGJtbDBaU2NzSUNkcGMwNWhUaWNzSUNkd1lYSnpaVVpzYjJGMEp5d2dKM0JoY25ObFNXNTBKeXdnSjNWdVpHVm1hVzVsWkNjc0lDZDFibVZ6WTJGd1pTZGRPMXh1WEc1bWRXNWpkR2x2YmlCRGIyNTBaWGgwS0NrZ2UzMWNia052Ym5SbGVIUXVjSEp2ZEc5MGVYQmxJRDBnZTMwN1hHNWNiblpoY2lCVFkzSnBjSFFnUFNCbGVIQnZjblJ6TGxOamNtbHdkQ0E5SUdaMWJtTjBhVzl1SUU1dlpHVlRZM0pwY0hRZ0tHTnZaR1VwSUh0Y2JpQWdJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1UyTnlhWEIwS1NrZ2NtVjBkWEp1SUc1bGR5QlRZM0pwY0hRb1kyOWtaU2s3WEc0Z0lDQWdkR2hwY3k1amIyUmxJRDBnWTI5a1pUdGNibjA3WEc1Y2JsTmpjbWx3ZEM1d2NtOTBiM1I1Y0dVdWNuVnVTVzVEYjI1MFpYaDBJRDBnWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFwSUh0Y2JpQWdJQ0JwWmlBb0lTaGpiMjUwWlhoMElHbHVjM1JoYm1ObGIyWWdRMjl1ZEdWNGRDa3BJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0ltNWxaV1J6SUdFZ0oyTnZiblJsZUhRbklHRnlaM1Z0Wlc1MExsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ1hHNGdJQ0FnZG1GeUlHbG1jbUZ0WlNBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjJsbWNtRnRaU2NwTzF4dUlDQWdJR2xtSUNnaGFXWnlZVzFsTG5OMGVXeGxLU0JwWm5KaGJXVXVjM1I1YkdVZ1BTQjdmVHRjYmlBZ0lDQnBabkpoYldVdWMzUjViR1V1WkdsemNHeGhlU0E5SUNkdWIyNWxKenRjYmlBZ0lDQmNiaUFnSUNCa2IyTjFiV1Z1ZEM1aWIyUjVMbUZ3Y0dWdVpFTm9hV3hrS0dsbWNtRnRaU2s3WEc0Z0lDQWdYRzRnSUNBZ2RtRnlJSGRwYmlBOUlHbG1jbUZ0WlM1amIyNTBaVzUwVjJsdVpHOTNPMXh1SUNBZ0lIWmhjaUIzUlhaaGJDQTlJSGRwYmk1bGRtRnNMQ0IzUlhobFkxTmpjbWx3ZENBOUlIZHBiaTVsZUdWalUyTnlhWEIwTzF4dVhHNGdJQ0FnYVdZZ0tDRjNSWFpoYkNBbUppQjNSWGhsWTFOamNtbHdkQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QjNhVzR1WlhaaGJDZ3BJRzFoWjJsallXeHNlU0JoY0hCbFlYSnpJSGRvWlc0Z2RHaHBjeUJwY3lCallXeHNaV1FnYVc0Z1NVVTZYRzRnSUNBZ0lDQWdJSGRGZUdWalUyTnlhWEIwTG1OaGJHd29kMmx1TENBbmJuVnNiQ2NwTzF4dUlDQWdJQ0FnSUNCM1JYWmhiQ0E5SUhkcGJpNWxkbUZzTzF4dUlDQWdJSDFjYmlBZ0lDQmNiaUFnSUNCbWIzSkZZV05vS0U5aWFtVmpkRjlyWlhsektHTnZiblJsZUhRcExDQm1kVzVqZEdsdmJpQW9hMlY1S1NCN1hHNGdJQ0FnSUNBZ0lIZHBibHRyWlhsZElEMGdZMjl1ZEdWNGRGdHJaWGxkTzF4dUlDQWdJSDBwTzF4dUlDQWdJR1p2Y2tWaFkyZ29aMnh2WW1Gc2N5d2dablZ1WTNScGIyNGdLR3RsZVNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWTI5dWRHVjRkRnRyWlhsZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FXNWJhMlY1WFNBOUlHTnZiblJsZUhSYmEyVjVYVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dUlDQWdJRnh1SUNBZ0lIWmhjaUIzYVc1TFpYbHpJRDBnVDJKcVpXTjBYMnRsZVhNb2QybHVLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IzUlhaaGJDNWpZV3hzS0hkcGJpd2dkR2hwY3k1amIyUmxLVHRjYmlBZ0lDQmNiaUFnSUNCbWIzSkZZV05vS0U5aWFtVmpkRjlyWlhsektIZHBiaWtzSUdaMWJtTjBhVzl1SUNoclpYa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FYWnZhV1FnWTI5d2VXbHVaeUJqYVhKamRXeGhjaUJ2WW1wbFkzUnpJR3hwYTJVZ1lIUnZjR0FnWVc1a0lHQjNhVzVrYjNkZ0lHSjVJRzl1YkhsY2JpQWdJQ0FnSUNBZ0x5OGdkWEJrWVhScGJtY2daWGhwYzNScGJtY2dZMjl1ZEdWNGRDQndjbTl3WlhKMGFXVnpJRzl5SUc1bGR5QndjbTl3WlhKMGFXVnpJR2x1SUhSb1pTQmdkMmx1WUZ4dUlDQWdJQ0FnSUNBdkx5QjBhR0YwSUhkaGN5QnZibXg1SUdsdWRISnZaSFZqWldRZ1lXWjBaWElnZEdobElHVjJZV3d1WEc0Z0lDQWdJQ0FnSUdsbUlDaHJaWGtnYVc0Z1kyOXVkR1Y0ZENCOGZDQnBibVJsZUU5bUtIZHBia3RsZVhNc0lHdGxlU2tnUFQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjUwWlhoMFcydGxlVjBnUFNCM2FXNWJhMlY1WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ1ptOXlSV0ZqYUNobmJHOWlZV3h6TENCbWRXNWpkR2x2YmlBb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hLR3RsZVNCcGJpQmpiMjUwWlhoMEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1hVzVsVUhKdmNDaGpiMjUwWlhoMExDQnJaWGtzSUhkcGJsdHJaWGxkS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVJQ0FnSUZ4dUlDQWdJR1J2WTNWdFpXNTBMbUp2WkhrdWNtVnRiM1psUTJocGJHUW9hV1p5WVcxbEtUdGNiaUFnSUNCY2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dWZUdGNibHh1VTJOeWFYQjBMbkJ5YjNSdmRIbHdaUzV5ZFc1SmJsUm9hWE5EYjI1MFpYaDBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJsZG1Gc0tIUm9hWE11WTI5a1pTazdJQzh2SUcxaGVXSmxMaTR1WEc1OU8xeHVYRzVUWTNKcGNIUXVjSEp2ZEc5MGVYQmxMbkoxYmtsdVRtVjNRMjl1ZEdWNGRDQTlJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBLU0I3WEc0Z0lDQWdkbUZ5SUdOMGVDQTlJRk5qY21sd2RDNWpjbVZoZEdWRGIyNTBaWGgwS0dOdmJuUmxlSFFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuSjFia2x1UTI5dWRHVjRkQ2hqZEhncE8xeHVYRzRnSUNBZ2FXWWdLR052Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQ0FnWm05eVJXRmphQ2hQWW1wbFkzUmZhMlY1Y3loamRIZ3BMQ0JtZFc1amRHbHZiaUFvYTJWNUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNTBaWGgwVzJ0bGVWMGdQU0JqZEhoYmEyVjVYVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzVjYm1admNrVmhZMmdvVDJKcVpXTjBYMnRsZVhNb1UyTnlhWEIwTG5CeWIzUnZkSGx3WlNrc0lHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJQ0FnWlhod2IzSjBjMXR1WVcxbFhTQTlJRk5qY21sd2RGdHVZVzFsWFNBOUlHWjFibU4wYVc5dUlDaGpiMlJsS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6SUQwZ1UyTnlhWEIwS0dOdlpHVXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMXR1WVcxbFhTNWhjSEJzZVNoekxDQmJYUzV6YkdsalpTNWpZV3hzS0dGeVozVnRaVzUwY3l3Z01Ta3BPMXh1SUNBZ0lIMDdYRzU5S1R0Y2JseHVaWGh3YjNKMGN5NXBjME52Ym5SbGVIUWdQU0JtZFc1amRHbHZiaUFvWTI5dWRHVjRkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmpiMjUwWlhoMElHbHVjM1JoYm1ObGIyWWdRMjl1ZEdWNGREdGNibjA3WEc1Y2JtVjRjRzl5ZEhNdVkzSmxZWFJsVTJOeWFYQjBJRDBnWm5WdVkzUnBiMjRnS0dOdlpHVXBJSHRjYmlBZ0lDQnlaWFIxY200Z1pYaHdiM0owY3k1VFkzSnBjSFFvWTI5a1pTazdYRzU5TzF4dVhHNWxlSEJ2Y25SekxtTnlaV0YwWlVOdmJuUmxlSFFnUFNCVFkzSnBjSFF1WTNKbFlYUmxRMjl1ZEdWNGRDQTlJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBLU0I3WEc0Z0lDQWdkbUZ5SUdOdmNIa2dQU0J1WlhjZ1EyOXVkR1Y0ZENncE8xeHVJQ0FnSUdsbUtIUjVjR1Z2WmlCamIyNTBaWGgwSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNKRllXTm9LRTlpYW1WamRGOXJaWGx6S0dOdmJuUmxlSFFwTENCbWRXNWpkR2x2YmlBb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiM0I1VzJ0bGVWMGdQU0JqYjI1MFpYaDBXMnRsZVYwN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWTI5d2VUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy92bS1icm93c2VyaWZ5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAod2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCJ2YXIgZztcXG5cXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxcbmcgPSAoZnVuY3Rpb24oKSB7XFxuXFx0cmV0dXJuIHRoaXM7XFxufSkoKTtcXG5cXG50cnkge1xcblxcdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxcblxcdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcXFwicmV0dXJuIHRoaXNcXFwiKSgpO1xcbn0gY2F0Y2ggKGUpIHtcXG5cXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxcblxcdGlmICh0eXBlb2Ygd2luZG93ID09PSBcXFwib2JqZWN0XFxcIikgZyA9IHdpbmRvdztcXG59XFxuXFxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxcbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXFxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxcblxcbm1vZHVsZS5leHBvcnRzID0gZztcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzhvZDJWaWNHRmpheWt2WW5WcGJHUnBiaTluYkc5aVlXd3Vhbk0vT1RnMVl5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERSRFFVRTBRenM3UVVGRk5VTWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmQyVmljR0ZqYXk5aWRXbHNaR2x1TDJkc2IySmhiQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCbk8xeHVYRzR2THlCVWFHbHpJSGR2Y210eklHbHVJRzV2YmkxemRISnBZM1FnYlc5a1pWeHVaeUE5SUNobWRXNWpkR2x2YmlncElIdGNibHgwY21WMGRYSnVJSFJvYVhNN1hHNTlLU2dwTzF4dVhHNTBjbmtnZTF4dVhIUXZMeUJVYUdseklIZHZjbXR6SUdsbUlHVjJZV3dnYVhNZ1lXeHNiM2RsWkNBb2MyVmxJRU5UVUNsY2JseDBaeUE5SUdjZ2ZId2dibVYzSUVaMWJtTjBhVzl1S0Z3aWNtVjBkWEp1SUhSb2FYTmNJaWtvS1R0Y2JuMGdZMkYwWTJnZ0tHVXBJSHRjYmx4MEx5OGdWR2hwY3lCM2IzSnJjeUJwWmlCMGFHVWdkMmx1Wkc5M0lISmxabVZ5Wlc1alpTQnBjeUJoZG1GcGJHRmliR1ZjYmx4MGFXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMDlJRndpYjJKcVpXTjBYQ0lwSUdjZ1BTQjNhVzVrYjNjN1hHNTlYRzVjYmk4dklHY2dZMkZ1SUhOMGFXeHNJR0psSUhWdVpHVm1hVzVsWkN3Z1luVjBJRzV2ZEdocGJtY2dkRzhnWkc4Z1lXSnZkWFFnYVhRdUxpNWNiaTh2SUZkbElISmxkSFZ5YmlCMWJtUmxabWx1WldRc0lHbHVjM1JsWVdRZ2IyWWdibTkwYUdsdVp5Qm9aWEpsTENCemJ5QnBkQ2R6WEc0dkx5QmxZWE5wWlhJZ2RHOGdhR0Z1Wkd4bElIUm9hWE1nWTJGelpTNGdhV1lvSVdkc2IySmhiQ2tnZXlBdUxpNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWnp0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcXG5cXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcXG5cXHRcXHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcXG5cXHRcXHRtb2R1bGUucGF0aHMgPSBbXTtcXG5cXHRcXHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcXG5cXHRcXHRpZiAoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XFxuXFx0XFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXFxcImxvYWRlZFxcXCIsIHtcXG5cXHRcXHRcXHRlbnVtZXJhYmxlOiB0cnVlLFxcblxcdFxcdFxcdGdldDogZnVuY3Rpb24oKSB7XFxuXFx0XFx0XFx0XFx0cmV0dXJuIG1vZHVsZS5sO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9KTtcXG5cXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcXFwiaWRcXFwiLCB7XFxuXFx0XFx0XFx0ZW51bWVyYWJsZTogdHJ1ZSxcXG5cXHRcXHRcXHRnZXQ6IGZ1bmN0aW9uKCkge1xcblxcdFxcdFxcdFxcdHJldHVybiBtb2R1bGUuaTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fSk7XFxuXFx0XFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XFxuXFx0fVxcblxcdHJldHVybiBtb2R1bGU7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzhvZDJWaWNHRmpheWt2WW5WcGJHUnBiaTl0YjJSMWJHVXVhbk0vTVdSak5TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmQyVmljR0ZqYXk5aWRXbHNaR2x1TDIxdlpIVnNaUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNG9iVzlrZFd4bEtTQjdYRzVjZEdsbUlDZ2hiVzlrZFd4bExuZGxZbkJoWTJ0UWIyeDVabWxzYkNrZ2UxeHVYSFJjZEcxdlpIVnNaUzVrWlhCeVpXTmhkR1VnUFNCbWRXNWpkR2x2YmlncElIdDlPMXh1WEhSY2RHMXZaSFZzWlM1d1lYUm9jeUE5SUZ0ZE8xeHVYSFJjZEM4dklHMXZaSFZzWlM1d1lYSmxiblFnUFNCMWJtUmxabWx1WldRZ1lua2daR1ZtWVhWc2RGeHVYSFJjZEdsbUlDZ2hiVzlrZFd4bExtTm9hV3hrY21WdUtTQnRiMlIxYkdVdVkyaHBiR1J5Wlc0Z1BTQmJYVHRjYmx4MFhIUlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvYlc5a2RXeGxMQ0JjSW14dllXUmxaRndpTENCN1hHNWNkRngwWEhSbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4dVhIUmNkRngwWjJWME9pQm1kVzVqZEdsdmJpZ3BJSHRjYmx4MFhIUmNkRngwY21WMGRYSnVJRzF2WkhWc1pTNXNPMXh1WEhSY2RGeDBmVnh1WEhSY2RIMHBPMXh1WEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h0YjJSMWJHVXNJRndpYVdSY0lpd2dlMXh1WEhSY2RGeDBaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNibHgwWEhSY2RHZGxkRG9nWm5WdVkzUnBiMjRvS1NCN1hHNWNkRngwWEhSY2RISmxkSFZ5YmlCdGIyUjFiR1V1YVR0Y2JseDBYSFJjZEgxY2JseDBYSFI5S1R0Y2JseDBYSFJ0YjJSMWJHVXVkMlZpY0dGamExQnZiSGxtYVd4c0lEMGdNVHRjYmx4MGZWeHVYSFJ5WlhSMWNtNGdiVzlrZFd4bE8xeHVmVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9MYW5kaW5nLmNzc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9MYW5kaW5nLmNzcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGFwaSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcXFwiKTtcXG4gICAgICAgICAgICB2YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohICEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL0xhbmRpbmcuY3NzICovIFxcXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL0xhbmRpbmcuY3NzXFxcIik7XFxuXFxuICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuX19lc01vZHVsZSA/IGNvbnRlbnQuZGVmYXVsdCA6IGNvbnRlbnQ7XFxuXFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xcbiAgICAgICAgICAgICAgY29udGVudCA9IFtbbW9kdWxlLmksIGNvbnRlbnQsICcnXV07XFxuICAgICAgICAgICAgfVxcblxcbnZhciBvcHRpb25zID0ge307XFxuXFxub3B0aW9ucy5pbnNlcnQgPSBcXFwiaGVhZFxcXCI7XFxub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcXG5cXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xcblxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHMgfHwge307Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlNWVc1a2FXNW5MbU56Y3o4NU0yVXpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEZWQlFWVXNiVUpCUVU4c1EwRkJReXh0U2tGQmQwVTdRVUZETVVZc01FSkJRVEJDTEcxQ1FVRlBMRU5CUVVNc2MwaEJRWGRFT3p0QlFVVXhSanM3UVVGRlFUdEJRVU5CTERCQ1FVRXdRaXhSUVVGVE8wRkJRMjVET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPenM3UVVGSlFTSXNJbVpwYkdVaU9pSXVMM055WXk5TVlXNWthVzVuTG1OemN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQmhjR2tnUFNCeVpYRjFhWEpsS0Z3aUlTNHVMMjV2WkdWZmJXOWtkV3hsY3k5emRIbHNaUzFzYjJGa1pYSXZaR2x6ZEM5eWRXNTBhVzFsTDJsdWFtVmpkRk4wZVd4bGMwbHVkRzlUZEhsc1pWUmhaeTVxYzF3aUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmpiMjUwWlc1MElEMGdjbVZ4ZFdseVpTaGNJaUVoTGk0dmJtOWtaVjl0YjJSMWJHVnpMMk56Y3kxc2IyRmtaWEl2WkdsemRDOWphbk11YW5NaExpOU1ZVzVrYVc1bkxtTnpjMXdpS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHVnVkQ0E5SUdOdmJuUmxiblF1WDE5bGMwMXZaSFZzWlNBL0lHTnZiblJsYm5RdVpHVm1ZWFZzZENBNklHTnZiblJsYm5RN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kyOXVkR1Z1ZENBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdWdWRDQTlJRnRiYlc5a2RXeGxMbWxrTENCamIyNTBaVzUwTENBbkoxMWRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzUyWVhJZ2IzQjBhVzl1Y3lBOUlIdDlPMXh1WEc1dmNIUnBiMjV6TG1sdWMyVnlkQ0E5SUZ3aWFHVmhaRndpTzF4dWIzQjBhVzl1Y3k1emFXNW5iR1YwYjI0Z1BTQm1ZV3h6WlR0Y2JseHVkbUZ5SUhWd1pHRjBaU0E5SUdGd2FTaGpiMjUwWlc1MExDQnZjSFJwYjI1ektUdGNibHh1WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1kyOXVkR1Z1ZEM1c2IyTmhiSE1nZkh3Z2UzMDdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL0xhbmRpbmcuY3NzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2QmFzZU5vZGUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2QmFzZU5vZGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2QmFzZU5vZGU7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG4vKiogQmFzZSBjbGFzcyBhbmQgcHJvcHMgdGhhdCBvdGhlciBBYXJkdmFyayBjb21wb25lbnRzIGRlcml2ZSBmcm9tLlxcclxcbiAqXFxyXFxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXFxyXFxuICovXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuLyoqIEJhc2UgY2xhc3MgZm9yIGFsbCBBYXJkdmFyayBjb21wb25lbnRzLiAqL1xcclxcbmNsYXNzIEF2QmFzZU5vZGUgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLm1fZmlyc3RVcGRhdGUgPSB0cnVlO1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkucmVnaXN0ZXIodGhpcyk7XFxyXFxuICAgICAgICBpZiAodGhpcy5iYXNlUHJvcHMub25JZEFzc2lnbmVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5iYXNlUHJvcHMub25JZEFzc2lnbmVkKHRoaXMuZW5kcG9pbnRBZGRyKCkpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGdyYWJJblByb2dyZXNzKGdyYWJiZXIpIHtcXHJcXG4gICAgICAgIC8vIG5vdGhpbmcgdG8gZG8gaGVyZSwgYnV0IHNvbWUgbm9kZSB0eXBlcyB3aWxsIG5lZWQgdG8gZG8gd29ya1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGNyZWF0ZU5vZGVGb3JOb2RlKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9maXJzdFVwZGF0ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9maXJzdFVwZGF0ZSA9IGZhbHNlO1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLmJhc2VQcm9wcyAmJiB0aGlzLmJhc2VQcm9wcy5vbklkQXNzaWduZWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlUHJvcHMub25JZEFzc2lnbmVkKHRoaXMuZW5kcG9pbnRBZGRyKCkpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTm9kZSgpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBnbG9iYWxJZCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7IHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Ob2RlLCBlbmRwb2ludElkOiBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5nZXRFbmRwb2ludElkKCksIG5vZGVJZDogdGhpcy5tX25vZGVJZCB9O1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkudW5yZWdpc3Rlcih0aGlzKTtcXHJcXG4gICAgICAgIHRoaXMubV9maXJzdFVwZGF0ZSA9IHRydWU7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIEBoaWRkZW4gKi9cXHJcXG4gICAgY3JlYXRlTm9kZU9iamVjdCh0eXBlLCBub2RlSWQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIC8vY29uc29sZS5sb2coIGBjcmVhdGluZyAkeyBBdk5vZGVUeXBlWyB0eXBlXSB9ICR7IG5vZGVJZCB9YCApO1xcclxcbiAgICAgICAgbGV0IG9iaiA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiB0eXBlLFxcclxcbiAgICAgICAgICAgIGlkOiBub2RlSWQsXFxyXFxuICAgICAgICAgICAgZmxhZ3M6IHRoaXMuZ2V0Tm9kZUZsYWdzKCksXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgb2JqLnBlcnNpc3RlbnROYW1lID0gKF9hID0gdGhpcy5iYXNlUHJvcHMuZGVidWdOYW1lKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmJhc2VQcm9wcy5wZXJzaXN0ZW50TmFtZTtcXHJcXG4gICAgICAgIHJldHVybiBvYmo7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IGJhc2VQcm9wcygpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzO1xcclxcbiAgICB9XFxyXFxuICAgIGlzVmlzaWJsZSgpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5iYXNlUHJvcHMgfHwgdGhpcy5iYXNlUHJvcHMudmlzaWJsZSA9PSB1bmRlZmluZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlUHJvcHMudmlzaWJsZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXROb2RlRmxhZ3MoKSB7XFxyXFxuICAgICAgICBsZXQgZmxhZ3MgPSAwO1xcclxcbiAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKCkpIHtcXHJcXG4gICAgICAgICAgICBmbGFncyB8PSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiRU5vZGVGbGFnc1xcXCJdLlZpc2libGU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZmxhZ3M7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIEBoaWRkZW4gKi9cXHJcXG4gICAgYmFzZU5vZGVSZW5kZXIobm9kZSwgY2hpbGRyZW4pIHtcXHJcXG4gICAgICAgIHJldHVybiAocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJhdi1ub2RlXFxcIiwgeyBrZXk6IHRoaXMubV9ub2RlSWQsIG5vZGVJZDogdGhpcy5tX25vZGVJZCwgaWQ6IHRoaXMuYmFzZVByb3BzLmlkIH0sIGNoaWxkcmVuKSk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIEBoaWRkZW4gKi9cXHJcXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkubWFya0RpcnR5KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgZW5kcG9pbnRBZGRyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uTm9kZSxcXHJcXG4gICAgICAgICAgICBlbmRwb2ludElkOiBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5nZXRFbmRwb2ludElkKCksXFxyXFxuICAgICAgICAgICAgbm9kZUlkOiB0aGlzLm1fbm9kZUlkLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfVxcclxcbiAgICAvKiogQGhpZGRlbiAqL1xcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgcGVyc2lzdGVudE5hbWUgPSAoX2EgPSB0aGlzLmJhc2VQcm9wcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnBlcnNpc3RlbnROYW1lO1xcclxcbiAgICAgICAgaWYgKHBlcnNpc3RlbnROYW1lICYmIHBlcnNpc3RlbnROYW1lLnN0YXJ0c1dpdGgoXFxcIl9cXFwiKSkge1xcclxcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcXFwiUGVyc2lzdGVudCBuYW1lcyB0aGF0IHN0YXJ0IHdpdGggdW5kZXJzY29yZSBhcmUgcmVzZXJ2ZWRcXFwiKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VOb2RlUmVuZGVyKHRoaXMsIHRoaXMucHJvcHMuY2hpbGRyZW4pO1xcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5aVlYTmxYMjV2WkdVdWRITjRQelJoWm1FaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUczdPMGRCUjBjN1FVRkRjMGM3UVVGRE1VVTdRVUZEWXp0QlFYTkZOME1zT0VOQlFUaERPMEZCUTNaRExFMUJRV1VzVlVGQk1rSXNVMEZCVVN3clEwRkJLMEk3U1VGTmRrWXNXVUZCWVN4TFFVRlZPMUZCUlhSQ0xFdEJRVXNzUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0UlFVcFNMR3RDUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlRUVkNMSGxFUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xRkJSWEpETEVsQlFVa3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhaUVVGWkxFVkJReTlDTzFsQlEwTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhaUVVGWkxFTkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkZMRU5CUVVNN1UwRkRia1E3U1VGRFJpeERRVUZETzBsQlMwUXNZMEZCWXp0SlFVTlFMR05CUVdNc1EwRkJSU3hQUVVGeFFqdFJRVVV6UXl3clJFRkJLMFE3U1VGRGFFVXNRMEZCUXp0SlFVVkVMR05CUVdNN1NVRkRVQ3hwUWtGQmFVSTdVVUZGZGtJc1NVRkJTU3hKUVVGSkxFTkJRVU1zWVVGQllTeEZRVU4wUWp0WlFVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlJUTkNMRWxCUVVrc1NVRkJTU3hEUVVGRExGTkJRVk1zU1VGQlNTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRmxCUVZrc1JVRkRha1E3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhaUVVGWkxFTkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkZMRU5CUVVNN1lVRkRia1E3VTBGRlJEdFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRM3BDTEVOQlFVTTdTVUZGUkN4SlFVRlhMRkZCUVZFN1VVRkZiRUlzVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN4M1JVRkJXU3hEUVVGRExFbEJRVWtzUlVGQlJTeFZRVUZWTEVWQlFVVXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eGhRVUZoTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBsQlF6VkhMRU5CUVVNN1NVRkZSQ3hqUVVGak8wbEJRMUFzYjBKQlFXOUNPMUZCUlRGQ0xIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzFGQlEzWkRMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzBsQlF6TkNMRU5CUVVNN1NVRkZSQ3hqUVVGak8wbEJRMG9zWjBKQlFXZENMRU5CUVVVc1NVRkJaMElzUlVGQlJTeE5RVUZqT3p0UlFVVXpSQ3dyUkVGQkswUTdVVUZETDBRc1NVRkJTU3hIUVVGSExFZEJRMUE3V1VGRFF5eEpRVUZKTEVWQlFVVXNTVUZCU1R0WlFVTldMRVZCUVVVc1JVRkJSU3hOUVVGTk8xbEJRMVlzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVN1UwRkRNVUlzUTBGQlF6dFJRVVZHTEVkQlFVY3NRMEZCUXl4alFVRmpMRk5CUVVjc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFRRVUZUTEcxRFFVRkpMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zWTBGQll5eERRVUZETzFGQlJTOUZMRTlCUVU4c1IwRkJSeXhEUVVGRE8wbEJRMW9zUTBGQlF6dEpRVVZFTEVsQlFWa3NVMEZCVXp0UlFVVndRaXhQUVVGUExFbEJRVWtzUTBGQlF5eExRVUYzUWl4RFFVRkRPMGxCUTNSRExFTkJRVU03U1VGRlRTeFRRVUZUTzFGQlJXWXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFbEJRVWtzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRWxCUVVrc1UwRkJVenRaUVVONlJDeFBRVUZQTEVsQlFVa3NRMEZCUXp0UlFVVmlMRTlCUVU4c1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTTdTVUZETDBJc1EwRkJRenRKUVVWVExGbEJRVms3VVVGRmNrSXNTVUZCU1N4TFFVRkxMRWRCUVdNc1EwRkJReXhEUVVGRE8xRkJRM3BDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hGUVVOd1FqdFpRVU5ETEV0QlFVc3NTVUZCU1N4elJVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF6dFRRVU0xUWp0UlFVVkVMRTlCUVU4c1MwRkJTeXhEUVVGRE8wbEJRMlFzUTBGQlF6dEpRVWRFTEdOQlFXTTdTVUZEVUN4alFVRmpMRU5CUVVVc1NVRkJhVUlzUlVGQlJTeFJRVUY1UWp0UlFVVnNSU3hQUVVGUExFTkJRMDRzYVVWQlFWTXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzVFVGQlRTeEZRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVjc1JVRkJSU3hGUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZCUlN4SlFVTjZSU3hSUVVGUkxFTkJRMFFzUTBGRFZpeERRVUZGTzBsQlEwb3NRMEZCUXp0SlFVVkVMR05CUVdNN1NVRkRVQ3hyUWtGQmEwSTdVVUZGZUVJc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOcVF5eERRVUZETzBsQlJVMHNXVUZCV1R0UlFVVnNRaXhQUVVGUE8xbEJRMDRzU1VGQlNTeEZRVUZGTEhkRlFVRlpMRU5CUVVNc1NVRkJTVHRaUVVOMlFpeFZRVUZWTEVWQlFVVXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eGhRVUZoTEVWQlFVVTdXVUZETDBNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTzFOQlEzSkNPMGxCUTBZc1EwRkJRenRKUVVWRUxHTkJRV003U1VGRFVDeE5RVUZOT3p0UlFVVmFMRWxCUVVrc1kwRkJZeXhUUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTERCRFFVRkZMR05CUVdNc1EwRkJRenRSUVVOd1JDeEpRVUZKTEdOQlFXTXNTVUZCU1N4alFVRmpMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFZEJRVWNzUTBGQlJTeEZRVU4wUkR0WlFVTkRMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVVVzTUVSQlFUQkVMRU5CUVVVc1EwRkJRenRUUVVNNVJUdFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVVc1EwRkJRenRKUVVONlJDeERRVUZETzBOQlJVUWlMQ0ptYVd4bElqb2lMaTl6Y21NdllXRnlaSFpoY210ZlltRnpaVjl1YjJSbExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJDWVhObElHTnNZWE56SUdGdVpDQndjbTl3Y3lCMGFHRjBJRzkwYUdWeUlFRmhjbVIyWVhKcklHTnZiWEJ2Ym1WdWRITWdaR1Z5YVhabElHWnliMjB1WEhKY2JpQXFJRnh5WEc0Z0tpQkFjR0ZqYTJGblpVUnZZM1Z0Wlc1MFlYUnBiMjVjY2x4dUlDb3ZYSEpjYm1sdGNHOXlkQ0I3SUVGMlRtOWtaU3dnUVhaT2IyUmxWSGx3WlN3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JGYm1Sd2IybHVkRlI1Y0dVc0lFVk9iMlJsUm14aFozTWdmU0JtY205dElDZEFZV0Z5WkhaaGNtdDRjaTloWVhKa2RtRnlheTF6YUdGeVpXUW5PMXh5WEc1cGJYQnZjblFnS2lCaGN5QlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlIyRmtaMlYwSUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFFuTzF4eVhHNWNjbHh1WEhKY2JtUmxZMnhoY21VZ1oyeHZZbUZzSUZ4eVhHNTdYSEpjYmx4MGJtRnRaWE53WVdObElFcFRXRnh5WEc1Y2RIdGNjbHh1WEhSY2RHbHVkR1Z5Wm1GalpTQkpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUJoWkdRZ1lXNGdaV3hsYldWdWRDQjBlWEJsWEhKY2JseDBYSFJjZEZ3aVlYWXRibTlrWlZ3aU9pQmhibms3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVKaGMyVWdjSEp2Y0hNZ2RHaGhkQ0JoY21VZ2FXNW9aWEpwZEdWa0lHSjVJR0ZzYkNCQllYSmtkbUZ5YXlCelkyVnVaU0JuY21Gd2FDQmpiMjF3YjI1bGJuUnpMaUFxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRjJRbUZ6WlU1dlpHVlFjbTl3YzF4eVhHNTdYSEpjYmx4MEx5b3FJRlJvYVhNZ2FYTWdkR2hsSUVsRUlHOW1JSFJvWlNCRVQwMGdaV3hsYldWdWRDQjBhR0YwSUdseklHTnlaV0YwWldRZ1lYTWdkR2hsSUhCaGNtVnVkQ0J2WmlCMGFHVWdZMjl0Y0c5dVpXNTBMbHh5WEc1Y2RDQXFJRWwwSUdseklIVnpaV1FnZEc4Z2NtVm1aWEpsYm1ObElHOTBhR1Z5SUc1dlpHVnpJR2x1SUhSb1pTQm5ZV1JuWlhRdUlFbG1JR2wwSUdseklITndaV05wWm1sbFpDd2dhWFFnYlhWemRDQmNjbHh1WEhRZ0tpQmlaU0IxYm1seGRXVWdkMmwwYUdsdUlIUm9aU0JuWVdSblpYUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2xrUHpvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dRMjl1ZEhKdmJITWdkMmhsZEdobGNpQnZjaUJ1YjNRZ2RHaHBjeUJ1YjJSbElHRnVaQ0JwZEhNZ1kyaHBiR1J5Wlc0Z1lYSmxJSFpwYzJsaWJHVXVJRnh5WEc1Y2RDQXFJRWxtSUhKbGRHRnBibWx1WnlCMGFHVWdjM1JoZEdVZ2IyWWdZU0J1YjJSbElHbHpJR2x0Y0c5eWRHRnVkQ0JoY3lCcGRDQmpiMjFsY3lCaGJtUWdaMjlsY3l4Y2NseHVYSFFnS2lCMWMyVWdkR2hsSUhacGMybGliR1VnY0hKdmNDQnBibk4wWldGa0lHOW1JRzl0YVhSMGFXNW5JSFJvWlNCdWIyUmxJR1p5YjIwZ2RHaGxJSEpsYm1SbGNpQm1kVzVqZEdsdmJpNGdYSEpjYmx4MElDb2dWR2hwY3lCaGJHeHZkM01nZEdobElISmxibVJsY21WeUlIUnZJSEpsZEdGcGJpQjBhR1VnYm05a1pTZHpJSE4wWVhSbElHVjJaVzRnZDJobGJpQjViM1VnWkc5dUozUWdkMkZ1ZENCcGRGeHlYRzVjZENBcUlIUnZJR1J5WVhjdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2RISjFaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RIWnBjMmxpYkdVL09pQmliMjlzWldGdU8xeHlYRzVjY2x4dVhIUXZLaW9nUVc0Z1lXeHBZWE1nWm05eUlHUmxZblZuVG1GdFpTNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1Z3Y21WallYUmxaRnh5WEc1Y2RDQXFMMXh5WEc1Y2RIQmxjbk5wYzNSbGJuUk9ZVzFsUHpvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dRU0J1WVcxbElIUm9ZWFFuY3lCaGNIQnNhV1ZrSUhSdklIUm9aU0J1YjJSbElHbHVJSFJvWlNCdGIyNXBkRzl5SUdGdVpDQnZkR2hsY2lCMGIyOXNjeTRnVkdocGN5QnVZVzFsSUdoaGN5QnVieUJsWm1abFkzUmNjbHh1WEhRZ0tpQmhkQ0J5ZFc1MGFXMWxMbHh5WEc1Y2RDQXFMMXh5WEc1Y2RHUmxZblZuVG1GdFpUODZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZObGRDQjBhR2x6SUhCeWIzQWdkRzhnWW1VZ2JtOTBhV1pwWldRZ2QyaGxiaUIwYUdVZ2JtOWtaU0JwY3lCaGMzTnBaMjVsWkNCcGRITWdaVzVrY0c5cGJuUWdZV1JrY21WemN5NWNjbHh1WEhRZ0tpQlVhR2x6SUdseklHNXZkQ0J1WldObGMzTmhjbmtnWm05eUlHMXZjM1FnYm05a1pYTXVYSEpjYmx4MElDb3ZYSEpjYmx4MGIyNUpaRUZ6YzJsbmJtVmtQem9nS0NCaFpHUnlPaUJGYm1Sd2IybHVkRUZrWkhJZ0tTQTlQaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZLaW9nUUdsbmJtOXlaU0FxTDF4eVhHNWNkR1ZrYVhSaFlteGxQem9nWW05dmJHVmhianRjY2x4dWZWeHlYRzVjY2x4dVhISmNiaThxS2lCSmJuUmxjbVpoWTJVZ2RHaGhkQ0JoYkd3Z1FXRnlaSFpoY21zZ1kyOXRjRzl1Wlc1MGN5QnRkWE4wSUdsdGNHeGxiV1Z1ZENCemJ5QkJka2RoWkdkbGRDQmpZVzRnWjJWdVpYSmhkR1ZjY2x4dUlDb2dkR2hsSUhOalpXNWxJR2R5WVhCb0lIUnZJSEpsYm1SbGNpNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVUYyUW1GelpVNXZaR1ZjY2x4dWUxeHlYRzVjZEcxZmJtOWtaVWxrT2lCdWRXMWlaWEk3WEhKY2JseDBZblZwYkdST2IyUmxLQ2s2SUVGMlRtOWtaVHRjY2x4dVhIUmpjbVZoZEdWT2IyUmxSbTl5VG05a1pTZ3BPaUJCZGs1dlpHVTdYSEpjYmx4MFozSmhZa2x1VUhKdlozSmxjM01vSUdkeVlXSmlaWEk2SUVWdVpIQnZhVzUwUVdSa2NpQXBPaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVjY2x4dUx5b3FJRUpoYzJVZ1kyeGhjM01nWm05eUlHRnNiQ0JCWVhKa2RtRnlheUJqYjIxd2IyNWxiblJ6TGlBcUwxeHlYRzVsZUhCdmNuUWdZV0p6ZEhKaFkzUWdZMnhoYzNNZ1FYWkNZWE5sVG05a1pUeFVVSEp2Y0hNc0lGUlRkR0YwWlQ0Z1pYaDBaVzVrY3lCU1pXRmpkQzVEYjIxd2IyNWxiblE4VkZCeWIzQnpMQ0JVVTNSaGRHVStJRnh5WEc1Y2RHbHRjR3hsYldWdWRITWdTVUYyUW1GelpVNXZaR1ZjY2x4dWUxeHlYRzVjZEhCMVlteHBZeUJ0WDI1dlpHVkpaRG9nYm5WdFltVnlPMXh5WEc1Y2RIQnlhWFpoZEdVZ2JWOW1hWEp6ZEZWd1pHRjBaU0E5SUhSeWRXVTdYSEpjYmx4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCd2NtOXdjem9nWVc1NUlDbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhISmNibHgwWEhSQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExuSmxaMmx6ZEdWeUtDQjBhR2x6SUNrN1hISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVZbUZ6WlZCeWIzQnpMbTl1U1dSQmMzTnBaMjVsWkNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11WW1GelpWQnliM0J6TG05dVNXUkJjM05wWjI1bFpDZ2dkR2hwY3k1bGJtUndiMmx1ZEVGa1pISW9LU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwTHlvcUlFQm9hV1JrWlc0Z0tpOWNjbHh1WEhSd2RXSnNhV01nWVdKemRISmhZM1FnWW5WcGJHUk9iMlJsS0NBcE9pQkJkazV2WkdVN1hISmNibHh5WEc1Y2RDOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JseDBjSFZpYkdsaklHZHlZV0pKYmxCeWIyZHlaWE56S0NCbmNtRmlZbVZ5T2lCRmJtUndiMmx1ZEVGa1pISWdLVHAyYjJsa1hISmNibHgwZTF4eVhHNWNkRngwTHk4Z2JtOTBhR2x1WnlCMGJ5QmtieUJvWlhKbExDQmlkWFFnYzI5dFpTQnViMlJsSUhSNWNHVnpJSGRwYkd3Z2JtVmxaQ0IwYnlCa2J5QjNiM0pyWEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lvZ1FHaHBaR1JsYmlBcUwxeHlYRzVjZEhCMVlteHBZeUJqY21WaGRHVk9iMlJsUm05eVRtOWtaU2dwT2lCQmRrNXZaR1ZjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXRYMlpwY25OMFZYQmtZWFJsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDJacGNuTjBWWEJrWVhSbElEMGdabUZzYzJVN1hISmNibHh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTVpWVhObFVISnZjSE1nSmlZZ2RHaHBjeTVpWVhObFVISnZjSE11YjI1SlpFRnpjMmxuYm1Wa0lDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVZbUZ6WlZCeWIzQnpMbTl1U1dSQmMzTnBaMjVsWkNnZ2RHaHBjeTVsYm1Sd2IybHVkRUZrWkhJb0tTQXBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdVluVnBiR1JPYjJSbEtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2RzYjJKaGJFbGtLQ2s2SUVWdVpIQnZhVzUwUVdSa2NseHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUI3SUhSNWNHVTZJRVZ1WkhCdmFXNTBWSGx3WlM1T2IyUmxMQ0JsYm1Sd2IybHVkRWxrT2lCQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExtZGxkRVZ1WkhCdmFXNTBTV1FvS1N3Z2JtOWtaVWxrT2lCMGFHbHpMbTFmYm05a1pVbGtJSDA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lvZ1FHaHBaR1JsYmlBcUwxeHlYRzVjZEhCMVlteHBZeUJqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENncFhISmNibHgwZTF4eVhHNWNkRngwUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1MWJuSmxaMmx6ZEdWeUtDQjBhR2x6SUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWm1seWMzUlZjR1JoZEdVZ1BTQjBjblZsTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwTHlvcUlFQm9hV1JrWlc0Z0tpOWNjbHh1WEhSd2NtOTBaV04wWldRZ1kzSmxZWFJsVG05a1pVOWlhbVZqZENnZ2RIbHdaVG9nUVhaT2IyUmxWSGx3WlN3Z2JtOWtaVWxrT2lCdWRXMWlaWElnS1RvZ1FYWk9iMlJsWEhKY2JseDBlMXh5WEc1Y2RGeDBMeTlqYjI1emIyeGxMbXh2WnlnZ1lHTnlaV0YwYVc1bklDUjdJRUYyVG05a1pWUjVjR1ZiSUhSNWNHVmRJSDBnSkhzZ2JtOWtaVWxrSUgxZ0lDazdYSEpjYmx4MFhIUnNaWFFnYjJKcU9rRjJUbTlrWlNBOVhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUjVjR1U2SUhSNWNHVXNYSEpjYmx4MFhIUmNkR2xrT2lCdWIyUmxTV1FzWEhKY2JseDBYSFJjZEdac1lXZHpPaUIwYUdsekxtZGxkRTV2WkdWR2JHRm5jeWdwTEZ4eVhHNWNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUnZZbW91Y0dWeWMybHpkR1Z1ZEU1aGJXVWdQU0IwYUdsekxtSmhjMlZRY205d2N5NWtaV0oxWjA1aGJXVWdQejhnZEdocGN5NWlZWE5sVUhKdmNITXVjR1Z5YzJsemRHVnVkRTVoYldVN1hISmNibHh5WEc1Y2RGeDBjbVYwZFhKdUlHOWlhanRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdaMlYwSUdKaGMyVlFjbTl3Y3lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNISnZjSE1nWVhNZ1FYWkNZWE5sVG05a1pWQnliM0J6TzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2x6Vm1semFXSnNaU2dwT2lCaWIyOXNaV0Z1WEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbUpoYzJWUWNtOXdjeUI4ZkNCMGFHbHpMbUpoYzJWUWNtOXdjeTUyYVhOcFlteGxJRDA5SUhWdVpHVm1hVzVsWkNBcFhISmNibHgwWEhSY2RISmxkSFZ5YmlCMGNuVmxPMXh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUIwYUdsekxtSmhjMlZRY205d2N5NTJhWE5wWW14bE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNISnZkR1ZqZEdWa0lHZGxkRTV2WkdWR2JHRm5jeWdwT2lCRlRtOWtaVVpzWVdkelhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHWnNZV2R6T2tWT2IyUmxSbXhoWjNNZ1BTQXdPMXh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVhWE5XYVhOcFlteGxLQ2tnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSbWJHRm5jeUI4UFNCRlRtOWtaVVpzWVdkekxsWnBjMmxpYkdVN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBjbVYwZFhKdUlHWnNZV2R6TzF4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1Y2RDOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JseDBjSFZpYkdsaklHSmhjMlZPYjJSbFVtVnVaR1Z5S0NCdWIyUmxPaUJKUVhaQ1lYTmxUbTlrWlN3Z1kyaHBiR1J5Wlc0NklGSmxZV04wTGxKbFlXTjBUbTlrWlNBcFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJQ2hjY2x4dVhIUmNkRngwUEdGMkxXNXZaR1VnYTJWNVBYdDBhR2x6TG0xZmJtOWtaVWxrZlNCdWIyUmxTV1E5ZXlCMGFHbHpMbTFmYm05a1pVbGtJSDBnYVdROWV5QjBhR2x6TG1KaGMyVlFjbTl3Y3k1cFpDQjlQbHh5WEc1Y2RGeDBYSFJjZEhzZ1kyaHBiR1J5Wlc0Z2ZWeHlYRzVjZEZ4MFhIUThMMkYyTFc1dlpHVStYSEpjYmx4MFhIUXBJRHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCQWFHbGtaR1Z1SUNvdlhISmNibHgwY0hWaWJHbGpJR052YlhCdmJtVnVkRVJwWkZWd1pHRjBaU2dwWEhKY2JseDBlMXh5WEc1Y2RGeDBRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV0WVhKclJHbHlkSGtvS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJsYm1Sd2IybHVkRUZrWkhJb0tUb2dSVzVrY0c5cGJuUkJaR1J5WEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIdGNjbHh1WEhSY2RGeDBkSGx3WlRvZ1JXNWtjRzlwYm5SVWVYQmxMazV2WkdVc1hISmNibHgwWEhSY2RHVnVaSEJ2YVc1MFNXUTZJRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1WjJWMFJXNWtjRzlwYm5SSlpDZ3BMRnh5WEc1Y2RGeDBYSFJ1YjJSbFNXUTZJSFJvYVhNdWJWOXViMlJsU1dRc1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhRdktpb2dRR2hwWkdSbGJpQXFMMXh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCd1pYSnphWE4wWlc1MFRtRnRaU0E5SUhSb2FYTXVZbUZ6WlZCeWIzQnpQeTV3WlhKemFYTjBaVzUwVG1GdFpUdGNjbHh1WEhSY2RHbG1LQ0J3WlhKemFYTjBaVzUwVG1GdFpTQW1KaUJ3WlhKemFYTjBaVzUwVG1GdFpTNXpkR0Z5ZEhOWGFYUm9LQ0JjSWw5Y0lpQXBJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdoeWIzY2dibVYzSUVWeWNtOXlLQ0JjSWxCbGNuTnBjM1JsYm5RZ2JtRnRaWE1nZEdoaGRDQnpkR0Z5ZENCM2FYUm9JSFZ1WkdWeWMyTnZjbVVnWVhKbElISmxjMlZ5ZG1Wa1hDSWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWlZWE5sVG05a1pWSmxibVJsY2lnZ2RHaHBjeXdnZEdocGN5NXdjbTl3Y3k1amFHbHNaSEpsYmlBcE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dWZWeHlYRzVjY2x4dVhISmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19jb21wb3NlZF9lbnRpdHkudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZDb21wb3NlZEVudGl0eSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZDb21wb3NlZEVudGl0eVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZDb21wb3NlZEVudGl0eTsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5ICovIFxcXCIuL3NyYy9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5LnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBBbGxvd3MgZm9yIHRoZSBjb25zdHJ1Y3Rpb24gb2YgaW50ZXJmYWNlIGVudGl0aWVzIG91dCBvZiByZXVzYWJsZSBpbnRlcmZhY2UgY29tcG9uZW50cy5cXHJcXG4gKlxcclxcbiAqIEVhY2ggY29tcG9uZW50IHNwZWNpZmllcyB6ZXJvIG9yIG1vcmUgaW50ZXJmYWNlcyB0aGF0IGl0IGltcGxlbWVudHMgb24gdHJhbnNtaXQgb3IgcmVjZWl2ZSxcXHJcXG4gKiB0aGUgcGFyZW50IGl0IGRlc2lyZXMgZm9yIHRoZSBlbnRpdHksIGFuZCB3aGV0aGVyIG9yIG5vdCBpdCB3YW50cyB0cmFuc2Zvcm1zLiBJdCBhbHNvIHByb3ZpY2VzXFxyXFxuICogYSB3YXkgZm9yIHRoZSBjb21wb3NlZCBlbnRpdHkgdG8gYmUgY2FsbGVkIGJhY2sgd2hlbiBvbmUgb2YgdGhlIGNvbXBvbmVudHMgbmVlZHMgdG8gcmVmcmVzaCB0aGVcXHJcXG4gKiBlbnRpdHkgaXRzZWxmLlxcclxcbiAqL1xcclxcbmNsYXNzIEF2Q29tcG9zZWRFbnRpdHkgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUVwYSA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLnJlZnJlc2hVcGRhdGVMaXN0ZW5lcnMoKTtcXHJcXG4gICAgfVxcclxcbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XFxyXFxuICAgICAgICB0aGlzLnJlZnJlc2hVcGRhdGVMaXN0ZW5lcnMoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkVudGl0eVJlZihlbnRpdHkpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBsZXQgZXBhID0gKF9hID0gZW50aXR5ID09PSBudWxsIHx8IGVudGl0eSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZW50aXR5Lmdsb2JhbElkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsO1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlFcGEgPSBlcGE7XFxyXFxuICAgICAgICBmb3IgKGxldCBjb21wIG9mIHRoaXMucHJvcHMuY29tcG9uZW50cykge1xcclxcbiAgICAgICAgICAgIChfYiA9IGNvbXAuc2V0RW50aXR5RXBhKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChjb21wLCBlcGEpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHJlZnJlc2hVcGRhdGVMaXN0ZW5lcnMoKSB7XFxyXFxuICAgICAgICBmb3IgKGxldCBjb21wIG9mIHRoaXMucHJvcHMuY29tcG9uZW50cykge1xcclxcbiAgICAgICAgICAgIGNvbXAub25VcGRhdGUodGhpcy5vbkNvbXBvbmVudFVwZGF0ZSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IGdsb2JhbElkKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5RXBhO1xcclxcbiAgICB9XFxyXFxuICAgIG9uQ29tcG9uZW50VXBkYXRlKCkge1xcclxcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XFxyXFxuICAgICAgICBsZXQgdHJhbnNtaXRzID0gW107XFxyXFxuICAgICAgICBsZXQgcmVjZWl2ZXMgPSBbXTtcXHJcXG4gICAgICAgIGxldCB3YW50c1RyYW5zZm9ybXMgPSBmYWxzZTtcXHJcXG4gICAgICAgIGxldCBwYXJlbnQ7XFxyXFxuICAgICAgICBsZXQgaW50ZXJmYWNlTG9ja3MgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGNvbXAgb2YgdGhpcy5wcm9wcy5jb21wb25lbnRzKSB7XFxyXFxuICAgICAgICAgICAgdHJhbnNtaXRzID0gdHJhbnNtaXRzLmNvbmNhdCgoX2EgPSBjb21wLnRyYW5zbWl0cykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pO1xcclxcbiAgICAgICAgICAgIHJlY2VpdmVzID0gcmVjZWl2ZXMuY29uY2F0KChfYiA9IGNvbXAucmVjZWl2ZXMpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFtdKTtcXHJcXG4gICAgICAgICAgICB3YW50c1RyYW5zZm9ybXMgPSB3YW50c1RyYW5zZm9ybXMgfHwgKChfYyA9IGNvbXAud2FudHNUcmFuc2Zvcm1zKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBmYWxzZSk7XFxyXFxuICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcXHJcXG4gICAgICAgICAgICAgICAgcGFyZW50ID0gKF9kID0gY29tcC5wYXJlbnQpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IG51bGw7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGxldCBjb21wTG9ja3MgPSAoX2UgPSBjb21wLmludGVyZmFjZUxvY2tzKSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiBudWxsO1xcclxcbiAgICAgICAgICAgIGlmIChjb21wTG9ja3MpIHtcXHJcXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTG9ja3MgPSBpbnRlcmZhY2VMb2Nrcy5jb25jYXQoY29tcExvY2tzKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdHJhbnNtaXRzOiB0cmFuc21pdHMsIHJlY2VpdmVzOiByZWNlaXZlcywgd2FudHNUcmFuc2Zvcm1zOiB3YW50c1RyYW5zZm9ybXMsIHBhcmVudDogcGFyZW50LCB2b2x1bWU6IHRoaXMucHJvcHMudm9sdW1lLCByZWY6IHRoaXMub25FbnRpdHlSZWYsIHByaW9yaXR5OiB0aGlzLnByb3BzLnByaW9yaXR5LCBpbnRlcmZhY2VMb2NrczogaW50ZXJmYWNlTG9ja3MsIGNvbnN0cmFpbnQ6IHRoaXMucHJvcHMuY29uc3RyYWludCwgcGVyc2lzdGVudE5hbWU6IHRoaXMucHJvcHMuZGVidWdOYW1lIH0sXFxyXFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlbixcXHJcXG4gICAgICAgICAgICB0aGlzLnByb3BzLmNvbXBvbmVudHMubWFwKCh2YWx1ZSkgPT4gdmFsdWUucmVuZGVyKCkpKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZDb21wb3NlZEVudGl0eS5wcm90b3R5cGUsIFxcXCJvbkVudGl0eVJlZlxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkNvbXBvc2VkRW50aXR5LnByb3RvdHlwZSwgXFxcIm9uQ29tcG9uZW50VXBkYXRlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTlqYjIxd2IzTmxaRjlsYm5ScGRIa3VkSE40UHpJMFltUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJTMnRETzBGQlEwZzdRVUZEWjBRN1FVRnhSQzlGT3pzN096czdSMEZOUnp0QlFVTkpMRTFCUVUwc1owSkJRV2xDTEZOQlFWRXNLME5CUVRSRE8wbEJTV3BHTEZsQlFWa3NTMEZCVlR0UlFVVnlRaXhMUVVGTExFTkJRVVVzUzBGQlN5eERRVUZGTEVOQlFVTTdVVUZLVWl4alFVRlRMRWRCUVdsQ0xFbEJRVWtzUTBGQlF6dFJRVXQwUXl4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVWQlFVVXNRMEZCUXp0SlFVTXZRaXhEUVVGRE8wbEJSVVFzYTBKQlFXdENPMUZCUldwQ0xFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hEUVVGRE8wbEJReTlDTEVOQlFVTTdTVUZIVHl4WFFVRlhMRU5CUVVVc1RVRkJlVUk3TzFGQlJUZERMRWxCUVVrc1IwRkJSeXhUUVVGSExFMUJRVTBzWVVGQlRpeE5RVUZOTEhWQ1FVRk9MRTFCUVUwc1EwRkJSU3hSUVVGUkxHMURRVUZKTEVsQlFVa3NRMEZCUXp0UlFVVnVReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVkQlFVY3NRMEZCUXp0UlFVTnlRaXhMUVVGTExFbEJRVWtzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVOMFF6dFpRVU5ETEZWQlFVa3NRMEZCUXl4WlFVRlpMQ3REUVVGcVFpeEpRVUZKTEVWQlFXbENMRWRCUVVjc1JVRkJSenRUUVVNelFqdEpRVU5HTEVOQlFVTTdTVUZGVHl4elFrRkJjMEk3VVVGRk4wSXNTMEZCU3l4SlFVRkpMRWxCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNSVUZEZEVNN1dVRkRReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlJTeERRVUZETzFOQlEzaERPMGxCUTBZc1EwRkJRenRKUVVWRUxFbEJRVmNzVVVGQlVUdFJRVVZzUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03U1VGRGRrSXNRMEZCUXp0SlFVZFBMR2xDUVVGcFFqdFJRVVY0UWl4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03U1VGRGNFSXNRMEZCUXp0SlFVVkVMRTFCUVUwN08xRkJSVXdzU1VGQlNTeFRRVUZUTEVkQlFXOUNMRVZCUVVVc1EwRkJRenRSUVVOd1F5eEpRVUZKTEZGQlFWRXNSMEZCYjBJc1JVRkJSU3hEUVVGRE8xRkJRMjVETEVsQlFVa3NaVUZCWlN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVNMVFpeEpRVUZKTEUxQlFXOUNMRU5CUVVNN1VVRkRla0lzU1VGQlNTeGpRVUZqTEVkQlFUSkNMRVZCUVVVc1EwRkJRenRSUVVOb1JDeExRVUZMTEVsQlFVa3NTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEZRVU4wUXp0WlFVTkRMRk5CUVZNc1IwRkJSeXhUUVVGVExFTkJRVU1zVFVGQlRTeFBRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRzFEUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZETzFsQlEzSkVMRkZCUVZFc1IwRkJSeXhSUVVGUkxFTkJRVU1zVFVGQlRTeFBRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRzFEUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEycEVMR1ZCUVdVc1IwRkJSeXhsUVVGbExFbEJRVWtzVDBGQlJTeEpRVUZKTEVOQlFVTXNaVUZCWlN4dFEwRkJTU3hMUVVGTExFTkJRVVVzUTBGQlF6dFpRVU4yUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVOWU8yZENRVU5ETEUxQlFVMHNVMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3h0UTBGQlNTeEpRVUZKTEVOQlFVTTdZVUZETjBJN1dVRkZSQ3hKUVVGSkxGTkJRVk1zVTBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4dFEwRkJTU3hKUVVGSkxFTkJRVU03V1VGRE5VTXNTVUZCU1N4VFFVRlRMRVZCUTJJN1owSkJRME1zWTBGQll5eEhRVUZITEdOQlFXTXNRMEZCUXl4TlFVRk5MRU5CUVVVc1UwRkJVeXhEUVVGRkxFTkJRVU03WVVGRGNFUTdVMEZEUkR0UlFVVkVMRTlCUVU4c2IwUkJRVU1zTkVWQlFXbENMRWxCUVVNc1UwRkJVeXhGUVVGRkxGTkJRVk1zUlVGQlJTeFJRVUZSTEVWQlFVY3NVVUZCVVN4RlFVRkhMR1ZCUVdVc1JVRkJSeXhsUVVGbExFVkJRM0JITEUxQlFVMHNSVUZCUnl4TlFVRk5MRVZCUVVjc1RVRkJUU3hGUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkhMRWRCUVVjc1JVRkJSeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVU55UlN4UlFVRlJMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVY3NZMEZCWXl4RlFVRkhMR05CUVdNc1JVRkRhRVVzVlVGQlZTeEZRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVOc1F5eGpRVUZqTEVWQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVE8xbEJRMjVETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVVHRaUVVOdVFpeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVVVzUTBGQlJTeExRVUZ6UWl4RlFVRkhMRVZCUVVVc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVVXNRMEZEZUVRc1EwRkJRenRKUVVONFFpeERRVUZETzBOQlEwUTdRVUV2UkVFN1NVRkVReXh4UkVGQlNUdHRSRUZWU2p0QlFXZENSRHRKUVVSRExIRkVRVUZKTzNsRVFVbEtJaXdpWm1sc1pTSTZJaTR2YzNKakwyRmhjbVIyWVhKclgyTnZiWEJ2YzJWa1gyVnVkR2wwZVM1MGMzZ3Vhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpb2dRMjl0Y0c5dVpXNTBJSFJvWVhRZ1lXeHNiM2R6SUdsdWRHVnlabUZqWlNCbGJuUnBkR2xsY3lCMGJ5QmlaU0JpZFdsc2RDQnZkWFFnYjJZZ2IzUm9aWElnWTI5dGNHOXVaVzUwSUdOc1lYTnpaWE11WEhKY2JpQXFJRnh5WEc0Z0tpQkFjR0ZqYTJGblpVUnZZM1Z0Wlc1MFlYUnBiMjVjY2x4dUlDb3ZYSEpjYm1sdGNHOXlkQ0I3SUVGMlZtOXNkVzFsTENCRmJtUndiMmx1ZEVGa1pISXNJRVZ1WkhCdmFXNTBWSGx3WlN3Z1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkyc3NJRUYyUTI5dWMzUnlZV2x1ZENCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlU3dnU1c1MFpYSm1ZV05sVUhKdmNDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZhVzUwWlhKbVlXTmxYMlZ1ZEdsMGVTYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlIyRmtaMlYwSUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFFuTzF4eVhHNWNjbHh1THlvcUlFRnVlU0JqYkdGemN5QjBhR0YwSUhkaGJuUnpJSFJ2SUdaMWJtTjBhVzl1SUdGeklHRnVJR2x1ZEdWeVptRmpaU0JsYm5ScGRIa2dhR0Z1Wkd4bGNpQm1iM0lnWVc0Z1hISmNiaUFxSUhzZ1FHeHBibXNnUVhaRGIyMXdiM05sWkVWdWRHbDBlU0I5SUdOdmJYQnZibVZ1ZENCdGRYTjBJR2x0Y0d4bGJXVnVkQ0IwYUdseklHbHVkR1Z5Wm1GalpTNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSVzUwYVhSNVEyOXRjRzl1Wlc1MFhISmNibnRjY2x4dVhIUnlaV0ZrYjI1c2VTQjBjbUZ1YzIxcGRITS9PaUJKYm5SbGNtWmhZMlZRY205d1cxMDdYSEpjYmx4MGNtVmhaRzl1YkhrZ2NtVmpaV2wyWlhNL09pQkpiblJsY21aaFkyVlFjbTl3VzEwN1hISmNibHgwY21WaFpHOXViSGtnYVc1MFpYSm1ZV05sVEc5amEzTS9PaUJKYm1sMGFXRnNTVzUwWlhKbVlXTmxURzlqYTF0ZE8xeHlYRzVjZEhKbFlXUnZibXg1SUhCaGNtVnVkRDg2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSeVpXRmtiMjVzZVNCM1lXNTBjMVJ5WVc1elptOXliWE0vT2lCaWIyOXNaV0Z1TzF4eVhHNWNkSE5sZEVWdWRHbDBlVVZ3WVQ4NklDZ2daWEJoT2lCRmJtUndiMmx1ZEVGa1pISWdLU0E5UGlCMmIybGtPMXh5WEc1Y2RHOXVWWEJrWVhSbEtDQmpZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0FwT2lCMmIybGtPMXh5WEc1Y2RISmxibVJsY2lncElEb2dTbE5ZTGtWc1pXMWxiblE3WEhKY2JuMWNjbHh1WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRrTnZiWEJ2YzJWa1JXNTBhWFI1ZlNCamIyMXdiMjVsYm5RdUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaRGIyMXdiM05sWkVWdWRHbDBlVkJ5YjNCelhISmNibnRjY2x4dVhIUXZLaW9nVkdobElHeHBjM1FnYjJZZ1kyOXRjRzl1Wlc1MGN5QnZaaUIzYUdsamFDQjBhR2x6SUdWdWRHbDBlU0JwY3lCamIyMXdiM05sWkM0Z1ZHaGxJRzl5WkdWeUlHOW1JSFJvWlNCamIyMXdiMjVsYm5SelhISmNibHgwSUNvZ2FXNGdkR2hwY3lCaGNuSmhlU0JrWldacGJtVnpJSFJvWlNCdmNtUmxjaUJ2WmlCMGFHVWdjbVZuYVhOMGNtRjBhVzl1SUc5bUlIUnlZVzV6YldsMElHRnVaQ0J5WldObGFYWmxJR2x1ZEdWeVptRmpaWE1zWEhKY2JseDBJQ29nWVhNZ2QyVnNiQ0JoY3lCM2FHbGphQ0JqYjIxd2IyNWxiblFnWjJWMGN5QjBieUJrWlhSbGNtMXBibVVnZEdobElHTjFjbkpsYm5RZ2NHRnlaVzUwSUdsbUlIUm9aWEpsSUdGeVpTQnRkV3gwYVhCc1pTQmNjbHh1WEhRZ0tpQnViMjR0Ym5Wc2JDQndZWEpsYm5SekxseHlYRzVjZENBcUwxeHlYRzVjZEdOdmJYQnZibVZ1ZEhNNklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ0ZE8xeHlYRzVjY2x4dVhIUXZLaW9nVkdobElIWnZiSFZ0WlNCMGJ5QjFjMlVnZDJobGJpQnRZWFJqYUdsdVp5QjBhR2x6SUdWdWRHbDBlU0IzYVhSb0lHOTBhR1Z5SUdsdWRHVnlabUZqWlNCbGJuUnBkR2xsY3k0Z0tpOWNjbHh1WEhSMmIyeDFiV1U2SUVGMlZtOXNkVzFsSUh3Z1FYWldiMngxYldWYlhUdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQndjbWx2Y21sMGVTQjBieUIxYzJVZ1ptOXlJSFJvWlNCbGJuUnBkSGt1SUZ4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURCY2NseHVYSFFxTDF4eVhHNWNkSEJ5YVc5eWFYUjVQem9nYm5WdFltVnlPMXh5WEc1Y2RGeHlYRzVjZEM4cUtpQlRaWFJ6SUhSb1pTQmpiMjV6ZEhKaGFXNTBJSFJ2SUdGd2NHeDVJSFJ2SUhSb2FYTWdibTlrWlNkeklIUnlZVzV6Wm05eWJTQmlaV1p2Y21VZ1lYQndiSGxwYm1jZ2RHaGxYSEpjYmx4MElDb2djR0Z5Wlc1MElIUnlZVzV6Wm05eWJTNGdWWE5wYm1jZ1kyOXVjM1J5WVdsdWRITWdkMmwwYUc5MWRDQmhJSEJoY21WdWRDQnRZWGtnYUdGMlpTQjFibVY0Y0dWamRHVmtJSEpsYzNWc2RITXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR052Ym5OMGNtRnBiblEvT2lCQmRrTnZibk4wY21GcGJuUTdYSEpjYmx4eVhHNWNkQzhxS2lCVFpYUnpJSFJvWlNCa1pXSjFaeUJ1WVcxbElHOW1JSFJvWlNCbGJuUnBkSGt1SUZSb2FYTWdhWE51SjNRZ2RYTmxaQ0JtYjNJZ1lXNTVkR2hwYm1jZ1lYUWdjblZ1ZEdsdFpTd2dZblYwSUdOaGJseHlYRzVjZENBcUlHMWhhMlVnWkdWMlpXeHZjRzFsYm5RZ1pXRnphV1Z5SUdKNUlITm9iM2RwYm1jZ2JtRnRaWE1nYVc0Z2RHaGxJRzF2Ym1sMGIzSWdZVzVrSUc5MGFHVnlJSFJ2YjJ4ekxseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElHNXZibVZjY2x4dVhIUWdLaTljY2x4dVhIUmtaV0oxWjA1aGJXVS9PaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkJiR3h2ZDNNZ1ptOXlJSFJvWlNCamIyNXpkSEoxWTNScGIyNGdiMllnYVc1MFpYSm1ZV05sSUdWdWRHbDBhV1Z6SUc5MWRDQnZaaUJ5WlhWellXSnNaU0JwYm5SbGNtWmhZMlVnWTI5dGNHOXVaVzUwY3k1Y2NseHVJQ29nWEhKY2JpQXFJRVZoWTJnZ1kyOXRjRzl1Wlc1MElITndaV05wWm1sbGN5QjZaWEp2SUc5eUlHMXZjbVVnYVc1MFpYSm1ZV05sY3lCMGFHRjBJR2wwSUdsdGNHeGxiV1Z1ZEhNZ2IyNGdkSEpoYm5OdGFYUWdiM0lnY21WalpXbDJaU3dnWEhKY2JpQXFJSFJvWlNCd1lYSmxiblFnYVhRZ1pHVnphWEpsY3lCbWIzSWdkR2hsSUdWdWRHbDBlU3dnWVc1a0lIZG9aWFJvWlhJZ2IzSWdibTkwSUdsMElIZGhiblJ6SUhSeVlXNXpabTl5YlhNdUlFbDBJR0ZzYzI4Z2NISnZkbWxqWlhOY2NseHVJQ29nWVNCM1lYa2dabTl5SUhSb1pTQmpiMjF3YjNObFpDQmxiblJwZEhrZ2RHOGdZbVVnWTJGc2JHVmtJR0poWTJzZ2QyaGxiaUJ2Ym1VZ2IyWWdkR2hsSUdOdmJYQnZibVZ1ZEhNZ2JtVmxaSE1nZEc4Z2NtVm1jbVZ6YUNCMGFHVWdYSEpjYmlBcUlHVnVkR2wwZVNCcGRITmxiR1l1WEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWTJ4aGMzTWdRWFpEYjIxd2IzTmxaRVZ1ZEdsMGVTQmxlSFJsYm1SeklGSmxZV04wTGtOdmJYQnZibVZ1ZER3Z1FYWkRiMjF3YjNObFpFVnVkR2wwZVZCeWIzQnpMQ0I3ZlNBK1hISmNibnRjY2x4dVhIUndjbWwyWVhSbElHVnVkR2wwZVVWd1lUb2dSVzVrY0c5cGJuUkJaR1J5SUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwWTI5dWMzUnlkV04wYjNJb2NISnZjSE02SUdGdWVTbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhIUmNkSFJvYVhNdWNtVm1jbVZ6YUZWd1pHRjBaVXhwYzNSbGJtVnljeWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwWTI5dGNHOXVaVzUwUkdsa1ZYQmtZWFJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxuSmxabkpsYzJoVmNHUmhkR1ZNYVhOMFpXNWxjbk1vS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrVnVkR2wwZVZKbFppZ2daVzUwYVhSNU9pQkJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR1Z3WVNBOUlHVnVkR2wwZVQ4dVoyeHZZbUZzU1dRZ1B6OGdiblZzYkR0Y2NseHVYSEpjYmx4MFhIUjBhR2x6TG1WdWRHbDBlVVZ3WVNBOUlHVndZVHRjY2x4dVhIUmNkR1p2Y2lnZ2JHVjBJR052YlhBZ2IyWWdkR2hwY3k1d2NtOXdjeTVqYjIxd2IyNWxiblJ6SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFkyOXRjQzV6WlhSRmJuUnBkSGxGY0dFL0xpZ2daWEJoSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUhKbFpuSmxjMmhWY0dSaGRHVk1hWE4wWlc1bGNuTW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHWnZjaWdnYkdWMElHTnZiWEFnYjJZZ2RHaHBjeTV3Y205d2N5NWpiMjF3YjI1bGJuUnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dGNDNXZibFZ3WkdGMFpTZ2dkR2hwY3k1dmJrTnZiWEJ2Ym1WdWRGVndaR0YwWlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQm5iRzlpWVd4SlpDZ3BPaUJGYm1Sd2IybHVkRUZrWkhKY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1bGJuUnBkSGxGY0dFN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNURiMjF3YjI1bGJuUlZjR1JoZEdVb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVabTl5WTJWVmNHUmhkR1VvS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhKbGJtUmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhSeVlXNXpiV2wwY3pvZ1NXNTBaWEptWVdObFVISnZjRnRkSUQwZ1cxMDdYSEpjYmx4MFhIUnNaWFFnY21WalpXbDJaWE02SUVsdWRHVnlabUZqWlZCeWIzQmJYU0E5SUZ0ZE8xeHlYRzVjZEZ4MGJHVjBJSGRoYm5SelZISmhibk5tYjNKdGN5QTlJR1poYkhObE8xeHlYRzVjZEZ4MGJHVjBJSEJoY21WdWREb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkRngwYkdWMElHbHVkR1Z5Wm1GalpVeHZZMnR6T2lCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amExdGRJRDBnVzEwN1hISmNibHgwWEhSbWIzSW9JR3hsZENCamIyMXdJRzltSUhSb2FYTXVjSEp2Y0hNdVkyOXRjRzl1Wlc1MGN5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJ5WVc1emJXbDBjeUE5SUhSeVlXNXpiV2wwY3k1amIyNWpZWFFvSUdOdmJYQXVkSEpoYm5OdGFYUnpJRDgvSUZ0ZElDazdYSEpjYmx4MFhIUmNkSEpsWTJWcGRtVnpJRDBnY21WalpXbDJaWE11WTI5dVkyRjBLQ0JqYjIxd0xuSmxZMlZwZG1WeklEOC9JRnRkS1R0Y2NseHVYSFJjZEZ4MGQyRnVkSE5VY21GdWMyWnZjbTF6SUQwZ2QyRnVkSE5VY21GdWMyWnZjbTF6SUh4OElDZ2dZMjl0Y0M1M1lXNTBjMVJ5WVc1elptOXliWE1nUHo4Z1ptRnNjMlVnS1R0Y2NseHVYSFJjZEZ4MGFXWW9JQ0Z3WVhKbGJuUWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGNHRnlaVzUwSUQwZ1kyOXRjQzV3WVhKbGJuUWdQejhnYm5Wc2JEdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2NseHVYSFJjZEZ4MGJHVjBJR052YlhCTWIyTnJjeUE5SUdOdmJYQXVhVzUwWlhKbVlXTmxURzlqYTNNZ1B6OGdiblZzYkR0Y2NseHVYSFJjZEZ4MGFXWW9JR052YlhCTWIyTnJjeUFwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnBiblJsY21aaFkyVk1iMk5yY3lBOUlHbHVkR1Z5Wm1GalpVeHZZMnR6TG1OdmJtTmhkQ2dnWTI5dGNFeHZZMnR6SUNrN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdQRUYyU1c1MFpYSm1ZV05sUlc1MGFYUjVJSFJ5WVc1emJXbDBjejE3ZEhKaGJuTnRhWFJ6ZlNCeVpXTmxhWFpsY3oxN0lISmxZMlZwZG1WeklIMGdkMkZ1ZEhOVWNtRnVjMlp2Y20xelBYc2dkMkZ1ZEhOVWNtRnVjMlp2Y20xeklIMWNjbHh1WEhSY2RGeDBYSFJjZEhCaGNtVnVkRDE3SUhCaGNtVnVkQ0I5SUhadmJIVnRaVDE3SUhSb2FYTXVjSEp2Y0hNdWRtOXNkVzFsSUgwZ2NtVm1QWHNnZEdocGN5NXZia1Z1ZEdsMGVWSmxaaUI5SUZ4eVhHNWNkRngwWEhSY2RGeDBjSEpwYjNKcGRIazlleUIwYUdsekxuQnliM0J6TG5CeWFXOXlhWFI1SUgwZ2FXNTBaWEptWVdObFRHOWphM005ZXlCcGJuUmxjbVpoWTJWTWIyTnJjeUI5WEhKY2JseDBYSFJjZEZ4MFhIUmpiMjV6ZEhKaGFXNTBQWHNnZEdocGN5NXdjbTl3Y3k1amIyNXpkSEpoYVc1MElIMWNjbHh1WEhSY2RGeDBYSFJjZEhCbGNuTnBjM1JsYm5ST1lXMWxQWHNnZEdocGN5NXdjbTl3Y3k1a1pXSjFaMDVoYldVZ2ZTQStYSEpjYmx4MFhIUmNkRngwWEhSN0lIUm9hWE11Y0hKdmNITXVZMmhwYkdSeVpXNGdmVnh5WEc1Y2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbU52YlhCdmJtVnVkSE11YldGd0tDQW9JSFpoYkhWbE9pQkZiblJwZEhsRGIyMXdiMjVsYm5RZ0tTQTlQaUIyWVd4MVpTNXlaVzVrWlhJb0tTQXBJSDFjY2x4dVhIUmNkRngwWEhROEwwRjJTVzUwWlhKbVlXTmxSVzUwYVhSNVBqdGNjbHh1WEhSOVhISmNibjFjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5LnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfZHJvcF9pbmRpY2F0b3IudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19kcm9wX2luZGljYXRvci50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2RHJvcEluZGljYXRvciAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZEcm9wSW5kaWNhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdkRyb3BJbmRpY2F0b3I7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3BhcmVudF90cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybS50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogQSBob29rIGZvciBhdHRhY2hpbmcgZ3JhYmJhYmxlcyB0byB0aGF0IHVzZXMgYSBzdGFuZGFyZCBwbHVzLWluLWNpcmNsZSBpY29uIGFuZCBpcyBtYWRlIHZpc2libGVcXHJcXG4gKiB3aGVuZXZlciBpdHMgcGFyZW50IGhhbmQgaXMgaW4gZWRpdCBtb2RlLlxcclxcbiAqL1xcclxcbmNsYXNzIEF2RHJvcEluZGljYXRvciBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcXHJcXG4gICAgICAgIHN1cGVyKHByb3BzKTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBsZXQgc3RhdGVNb2RlbDtcXHJcXG4gICAgICAgIGxldCBkZXN0TW9kZWw7XFxyXFxuICAgICAgICBsZXQgZGVzdE1vZGVsQ29sb3I7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy5ob29rKSB7XFxyXFxuICAgICAgICAgICAgZGVzdE1vZGVsQ29sb3IgPSBcXFwiIzMzMzNGRlxcXCI7XFxyXFxuICAgICAgICAgICAgZGVzdE1vZGVsID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjb21wdXRlRW5kcG9pbnRGaWVsZFVyaVxcXCJdKSh0aGlzLnByb3BzLmhvb2ssIFxcXCJwcm9wTW9kZWxVcmlcXFwiKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmFsbG93U3RhZ2VEcm9wKSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlc3RNb2RlbCA9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJnX2J1aWx0aW5Nb2RlbFJvb21cXFwiXTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlc3RNb2RlbCA9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJnX2J1aWx0aW5Nb2RlbFRyYXNoY2FuXFxcIl07XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudGV0aGVyZWQpIHtcXHJcXG4gICAgICAgICAgICBzdGF0ZU1vZGVsID0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkXFxcIl07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBzdGF0ZU1vZGVsID0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImdfYnVpbHRpbk1vZGVsTWFnbmV0T3BlblxcXCJdO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIChyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3BhcmVudF90cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZQYXJlbnRUcmFuc2Zvcm1cXFwiXSwgeyBwYXJlbnRJZDogdGhpcy5wcm9wcy5ncmFiYmFibGUgfSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgc3RhdGVNb2RlbCAmJiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHJvdGF0ZVg6IDkwLCB0cmFuc2xhdGVZOiAtMC4xLCB0cmFuc2xhdGVYOiAtMC4wNSB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiBzdGF0ZU1vZGVsLCBzY2FsZVRvRml0OiB7IHg6IDAuMDUsIHk6IDAuMDUsIHo6IDAuMDUgfSB9KSksXFxyXFxuICAgICAgICAgICAgICAgIGRlc3RNb2RlbCAmJiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHJvdGF0ZVg6IDkwLCB0cmFuc2xhdGVZOiAtMC4xLCB0cmFuc2xhdGVYOiAwLjA1IH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2TW9kZWxcXFwiXSwgeyB1cmk6IGRlc3RNb2RlbCwgY29sb3I6IGRlc3RNb2RlbENvbG9yLCBzY2FsZVRvRml0OiB7IHg6IDAuMDUsIHk6IDAuMDUsIHo6IDAuMDUgfSB9KSkpKSk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTlrY205d1gybHVaR2xqWVhSdmNpNTBjM2cvWkRjNVpDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVFclFqdEJRVU52UWp0QlFVTlNPMEZCUlc5Rk8wRkJReTlETzBGQlExTTdRVUZ6UW5wRk96dEhRVVZITzBGQlEwa3NUVUZCVFN4bFFVRm5RaXhUUVVGUkxDdERRVUZ4UXp0SlFVVjZSU3haUVVGaExFdEJRVlU3VVVGRmRFSXNTMEZCU3l4RFFVRkZMRXRCUVVzc1EwRkJSU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGVFN4TlFVRk5PMUZCUlZvc1NVRkJTU3hWUVVGclFpeERRVUZETzFGQlEzWkNMRWxCUVVrc1UwRkJhVUlzUTBGQlF6dFJRVU4wUWl4SlFVRkpMR05CUVhOQ0xFTkJRVU03VVVGRE0wSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGRGJrSTdXVUZEUXl4alFVRmpMRWRCUVVjc1UwRkJVeXhEUVVGRE8xbEJRek5DTEZOQlFWTXNSMEZCUnl3eVJrRkJkVUlzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkJSU3hqUVVGakxFTkJRVVVzUTBGQlF6dFRRVU4yUlR0aFFVVkVPMWxCUTBNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdOQlFXTXNSVUZETjBJN1owSkJRME1zVTBGQlV5eEhRVUZITERoRlFVRnJRaXhEUVVGRE8yRkJReTlDTzJsQ1FVVkVPMmRDUVVORExGTkJRVk1zUjBGQlJ5eHJSa0ZCYzBJc1EwRkJRenRoUVVOdVF6dFRRVU5FTzFGQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGRGRrSTdXVUZEUXl4VlFVRlZMRWRCUVVjc2MwWkJRVEJDTEVOQlFVTTdVMEZEZUVNN1lVRkZSRHRaUVVORExGVkJRVlVzUjBGQlJ5eHZSa0ZCZDBJc1EwRkJRenRUUVVOMFF6dFJRVVZFTEU5QlFVOHNRMEZEVGl4dlJFRkJReXcwUlVGQmFVSXNTVUZCUXl4UlFVRlJMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTzFsQlEyeEVMRzlFUVVGRExIRkdRVUZ4UWp0blFrRkRia0lzVlVGQlZTeEpRVUZKTEc5RVFVRkRMQ3RFUVVGWExFbEJRVU1zVDBGQlR5eEZRVUZITEVWQlFVVXNSVUZCUnl4VlFVRlZMRVZCUVVjc1EwRkJReXhIUVVGSExFVkJRVWNzVlVGQlZTeEZRVUZITEVOQlFVTXNTVUZCU1R0dlFrRkRha1lzYjBSQlFVTXNkVVJCUVU4c1NVRkJReXhIUVVGSExFVkJRVWNzVlVGQlZTeEZRVU40UWl4VlFVRlZMRVZCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZKTEVOQlEycERPMmRDUVVOaUxGTkJRVk1zU1VGQlNTeHZSRUZCUXl3clJFRkJWeXhKUVVGRExFOUJRVThzUlVGQlJ5eEZRVUZGTEVWQlFVY3NWVUZCVlN4RlFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGSExGVkJRVlVzUlVGQlJ5eEpRVUZKTzI5Q1FVTXZSU3h2UkVGQlF5eDFSRUZCVHl4SlFVRkRMRWRCUVVjc1JVRkJSeXhUUVVGVExFVkJRM1pDTEV0QlFVc3NSVUZCUnl4alFVRmpMRVZCUTNSQ0xGVkJRVlVzUlVGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMRWRCUVVrc1EwRkRha01zUTBGRFVTeERRVU5NTEVOQlFVVXNRMEZCUXp0SlFVTjRRaXhEUVVGRE8wTkJRMFFpTENKbWFXeGxJam9pTGk5emNtTXZZV0Z5WkhaaGNtdGZaSEp2Y0Y5cGJtUnBZMkYwYjNJdWRITjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5iMlJsYkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmJXOWtaV3duTzF4eVhHNXBiWEJ2Y25RZ2V5QkZibVJ3YjJsdWRFRmtaSElzSUdOdmJYQjFkR1ZGYm1Sd2IybHVkRVpwWld4a1ZYSnBMQ0JuWDJKMWFXeDBhVzVOYjJSbGJGUnlZWE5vWTJGdUxDQmNjbHh1WEhSblgySjFhV3gwYVc1TmIyUmxiRTFoWjI1bGRFTnNiM05sWkN3Z1oxOWlkV2xzZEdsdVRXOWtaV3hOWVdkdVpYUlBjR1Z1TENCblgySjFhV3gwYVc1TmIyUmxiRkp2YjIwZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGxCaGNtVnVkRlJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0dGeVpXNTBYM1J5WVc1elptOXliU2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJTR1ZoWkVaaFkybHVaMVJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYUdWaFpGOW1ZV05wYm1kZmRISmhibk5tYjNKdEp6dGNjbHh1WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnUkhKdmNFbHVaR2xqWVhSdmNsQnliM0J6WEhKY2JudGNjbHh1WEhRdktpb2dWR2hsSUdWdVpIQnZhVzUwSUdGa1pISmxjM01nYjJZZ2RHaGxJR2R5WVdKaVlXSnNaU0JpWldsdVp5QmtjbTl3Y0dWa0xpQXFMMXh5WEc1Y2RHZHlZV0ppWVdKc1pUb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdWdVpIQnZhVzUwSUdGa1pISmxjM01nYjJZZ2RHaGxJR2h2YjJzZ2QyaGxjbVVnYVhRZ2QyOTFiR1FnWW1VZ1pISnZjSEJsWkN3Z2IzSWdjbVYwZFhKdVpXUWdkRzhzWEhKY2JseDBJQ29nSUdsbUlHRnVlUzRnS2k5Y2NseHVYSFJvYjI5clB6b2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNjbHh1WEhRdktpb2dVM0JsWTJsbWFXVnpJSGRvWlhSb1pYSWdkR2hsSUdkeVlXSmlZV0pzWlNCcGN5QmhiSEpsWVdSNUlIUmxkR2hsY21Wa0lIUnZJSFJvWlNCd2NtOTJhV1JsWkNCb2IyOXJMaUFxTDF4eVhHNWNkSFJsZEdobGNtVmtPaUJpYjI5c1pXRnVPMXh5WEc1Y2NseHVYSFF2S2lvZ1UzQmxZMmxtYVdWa0lIZG9aWFJvWlhJZ2RHaGxJR2R5WVdKaVlXSnNaU0IzYVd4c0lHRnNiRzkzSUdsMGMyVnNaaUIwYnlCaVpTQmtjbTl3Y0dWa0lHOXVkRzljY2x4dVhIUWdLaUIwYUdVZ2MzUmhaMlV1WEhKY2JseDBJQ292WEhKY2JseDBZV3hzYjNkVGRHRm5aVVJ5YjNBNklHSnZiMnhsWVc0N1hISmNibjFjY2x4dVhISmNibHh5WEc0dktpb2dRU0JvYjI5cklHWnZjaUJoZEhSaFkyaHBibWNnWjNKaFltSmhZbXhsY3lCMGJ5QjBhR0YwSUhWelpYTWdZU0J6ZEdGdVpHRnlaQ0J3YkhWekxXbHVMV05wY21Oc1pTQnBZMjl1SUdGdVpDQnBjeUJ0WVdSbElIWnBjMmxpYkdWY2NseHVJQ29nZDJobGJtVjJaWElnYVhSeklIQmhjbVZ1ZENCb1lXNWtJR2x6SUdsdUlHVmthWFFnYlc5a1pTNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrUnliM0JKYm1ScFkyRjBiM0lnWlhoMFpXNWtjeUJTWldGamRDNURiMjF3YjI1bGJuUThJRVJ5YjNCSmJtUnBZMkYwYjNKUWNtOXdjeUErWEhKY2JudGNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2djSEp2Y0hNNklHRnVlU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjM1Z3WlhJb0lIQnliM0J6SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nY21WdVpHVnlLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYzNSaGRHVk5iMlJsYkRvZ2MzUnlhVzVuTzF4eVhHNWNkRngwYkdWMElHUmxjM1JOYjJSbGJEb2djM1J5YVc1bk8xeHlYRzVjZEZ4MGJHVjBJR1JsYzNSTmIyUmxiRU52Ykc5eU9pQnpkSEpwYm1jN1hISmNibHgwWEhScFppZ2dkR2hwY3k1d2NtOXdjeTVvYjI5cklDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBaR1Z6ZEUxdlpHVnNRMjlzYjNJZ1BTQmNJaU16TXpNelJrWmNJanRjY2x4dVhIUmNkRngwWkdWemRFMXZaR1ZzSUQwZ1kyOXRjSFYwWlVWdVpIQnZhVzUwUm1sbGJHUlZjbWtvSUhSb2FYTXVjSEp2Y0hNdWFHOXZheXdnWENKd2NtOXdUVzlrWld4VmNtbGNJaUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnBaaWdnZEdocGN5NXdjbTl3Y3k1aGJHeHZkMU4wWVdkbFJISnZjQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmtaWE4wVFc5a1pXd2dQU0JuWDJKMWFXeDBhVzVOYjJSbGJGSnZiMjA3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFpHVnpkRTF2WkdWc0lEMGdaMTlpZFdsc2RHbHVUVzlrWld4VWNtRnphR05oYmp0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbkJ5YjNCekxuUmxkR2hsY21Wa0lDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBjM1JoZEdWTmIyUmxiQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNUV0ZuYm1WMFEyeHZjMlZrTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnpkR0YwWlUxdlpHVnNJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeE5ZV2R1WlhSUGNHVnVPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUFvWEhKY2JseDBYSFJjZER4QmRsQmhjbVZ1ZEZSeVlXNXpabTl5YlNCd1lYSmxiblJKWkQxN0lIUm9hWE11Y0hKdmNITXVaM0poWW1KaFlteGxJSDArWEhKY2JseDBYSFJjZER4QmRraGxZV1JHWVdOcGJtZFVjbUZ1YzJadmNtMCtYSEpjYmx4MFhIUmNkRngwZXlCemRHRjBaVTF2WkdWc0lDWW1JRHhCZGxSeVlXNXpabTl5YlNCeWIzUmhkR1ZZUFhzZ09UQWdmU0IwY21GdWMyeGhkR1ZaUFhzZ0xUQXVNU0I5SUhSeVlXNXpiR0YwWlZnOWV5QXRNQzR3TlNCOVBseHlYRzVjZEZ4MFhIUmNkRngwUEVGMlRXOWtaV3dnZFhKcFBYc2djM1JoZEdWTmIyUmxiQ0I5WEhKY2JseDBYSFJjZEZ4MFhIUmNkSE5qWVd4bFZHOUdhWFE5ZXlCN0lIZzZJREF1TURVc0lIazZJREF1TURVc0lIbzZJREF1TURVZ2ZTQjlMejRnWEhKY2JseDBYSFJjZEZ4MFhIUThMMEYyVkhKaGJuTm1iM0p0UGlCOVhISmNibHgwWEhSY2RGeDBleUJrWlhOMFRXOWtaV3dnSmlZZ1BFRjJWSEpoYm5ObWIzSnRJSEp2ZEdGMFpWZzlleUE1TUNCOUlIUnlZVzV6YkdGMFpWazlleUF0TUM0eElIMGdkSEpoYm5Oc1lYUmxXRDE3SURBdU1EVWdmVDVjY2x4dVhIUmNkRngwWEhSY2REeEJkazF2WkdWc0lIVnlhVDE3SUdSbGMzUk5iMlJsYkNCOVhISmNibHgwWEhSY2RGeDBYSFJjZEdOdmJHOXlQWHNnWkdWemRFMXZaR1ZzUTI5c2IzSWdmVnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnpZMkZzWlZSdlJtbDBQWHNnZXlCNE9pQXdMakExTENCNU9pQXdMakExTENCNk9pQXdMakExSUgwZ2ZTOCtJRnh5WEc1Y2RGeDBYSFJjZEZ4MFBDOUJkbFJ5WVc1elptOXliVDRnZlZ4eVhHNWNkRngwWEhROEwwRjJTR1ZoWkVaaFkybHVaMVJ5WVc1elptOXliVDVjY2x4dVhIUmNkRHd2UVhaUVlYSmxiblJVY21GdWMyWnZjbTArSUNrN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZHJvcF9pbmRpY2F0b3IudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19lbmRwb2ludC50c1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19lbmRwb2ludC50cyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBDQWFyZHZhcmtFbmRwb2ludCwgQ01vbml0b3JFbmRwb2ludCwgQ1V0aWxpdHlFbmRwb2ludCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ0FhcmR2YXJrRW5kcG9pbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIENBYXJkdmFya0VuZHBvaW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDTW9uaXRvckVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDTW9uaXRvckVuZHBvaW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDVXRpbGl0eUVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDVXRpbGl0eUVuZHBvaW50OyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuXFxyXFxuLyoqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxcclxcbiAqIEBoaWRkZW5cXHJcXG4gKi9cXHJcXG5cXHJcXG5cXHJcXG5jbGFzcyBDQWFyZHZhcmtFbmRwb2ludCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKG9wZW5IYW5kbGVyLCBoYW5kc2hha2VDb21wbGV0ZSwgZGVmYXVsdEhhbmRsZXIgPSBudWxsKSB7XFxyXFxuICAgICAgICB0aGlzLm1fd3MgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2hhbmRsZXJzID0ge307XFxyXFxuICAgICAgICB0aGlzLm1fYXN5bmNIYW5kbGVycyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2RlZmF1bHRIYW5kbGVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9yZWFsT3BlbkhhbmRsZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2hhbmRzaGFrZUNvbXBsZXRlID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludElkID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9xdWV1ZWRNZXNzYWdlcyA9IFtdO1xcclxcbiAgICAgICAgdGhpcy5tX2FsbG93UmVjb25uZWN0ID0gZmFsc2U7XFxyXFxuICAgICAgICB0aGlzLm1fbmV4dFNlcXVlbmNlTnVtYmVyID0gMTtcXHJcXG4gICAgICAgIHRoaXMubV9wZW5kaW5nUmVzcG9uc2VzID0ge307XFxyXFxuICAgICAgICB0aGlzLm1fbWVzc2FnZUluUHJvZ3Jlc3MgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMubV93YWl0aW5nSW5jb21pbmdNZXNzYWdlcyA9IFtdO1xcclxcbiAgICAgICAgdGhpcy5tX2RlZmF1bHRIYW5kbGVyID0gZGVmYXVsdEhhbmRsZXI7XFxyXFxuICAgICAgICB0aGlzLm1fcmVhbE9wZW5IYW5kbGVyID0gb3BlbkhhbmRsZXI7XFxyXFxuICAgICAgICB0aGlzLm1faGFuZHNoYWtlQ29tcGxldGUgPSBoYW5kc2hha2VDb21wbGV0ZTtcXHJcXG4gICAgICAgIHRoaXMuY29ubmVjdFRvU2VydmVyKCk7XFxyXFxuICAgICAgICB0aGlzLnJlZ2lzdGVySGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5TZXRFbmRwb2ludFR5cGVSZXNwb25zZSwgdGhpcy5vblNldEVuZHBvaW50VHlwZVJlc3BvbnNlKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZSh0eXBlLCBtc2csIHJlc3BvbnNlVHlwZSkge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcXHJcXG4gICAgICAgICAgICBsZXQgc2VxTnVtYmVyID0gdGhpcy5zZW5kTWVzc2FnZSh0eXBlLCBtc2cpO1xcclxcbiAgICAgICAgICAgIGlmICghdGhpcy5tX3BlbmRpbmdSZXNwb25zZXNbcmVzcG9uc2VUeXBlXSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1fcGVuZGluZ1Jlc3BvbnNlc1tyZXNwb25zZVR5cGVdID0ge307XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMubV9wZW5kaW5nUmVzcG9uc2VzW3Jlc3BvbnNlVHlwZV1bc2VxTnVtYmVyXSA9IHsgcmVzb2x2ZSwgcmVqZWN0IH07XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXRFbmRwb2ludElkKCkgeyByZXR1cm4gdGhpcy5tX2VuZHBvaW50SWQ7IH1cXHJcXG4gICAgYWxsb3dSZWNvbm5lY3QoKSB7IHRoaXMubV9hbGxvd1JlY29ubmVjdCA9IHRydWU7IH1cXHJcXG4gICAgY29ubmVjdFRvU2VydmVyKCkge1xcclxcbiAgICAgICAgdGhpcy5tX3dzID0gbmV3IFdlYlNvY2tldChcXFwid3M6Ly9sb2NhbGhvc3Q6XFxcIiArIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBYXJkdmFya1BvcnRcXFwiXSk7XFxyXFxuICAgICAgICB0aGlzLm1fd3Mub25vcGVuID0gdGhpcy5tX3JlYWxPcGVuSGFuZGxlcjtcXHJcXG4gICAgICAgIHRoaXMubV93cy5vbm1lc3NhZ2UgPSB0aGlzLm9uTWVzc2FnZTtcXHJcXG4gICAgICAgIHRoaXMubV93cy5vbmNsb3NlID0gdGhpcy5vbkNsb3NlO1xcclxcbiAgICB9XFxyXFxuICAgIHJlZ2lzdGVySGFuZGxlcih0eXBlLCBoYW5kbGVyKSB7XFxyXFxuICAgICAgICB0aGlzLm1faGFuZGxlcnNbdHlwZV0gPSBoYW5kbGVyO1xcclxcbiAgICB9XFxyXFxuICAgIHJlZ2lzdGVyQXN5bmNIYW5kbGVyKHR5cGUsIGhhbmRsZXIpIHtcXHJcXG4gICAgICAgIHRoaXMubV9hc3luY0hhbmRsZXJzW3R5cGVdID0gaGFuZGxlcjtcXHJcXG4gICAgfVxcclxcbiAgICBvbk1lc3NhZ2UobXNnRXZlbnQpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLm1fbWVzc2FnZUluUHJvZ3Jlc3MpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gcHJvY2VzcyB0aGlzIGV2ZW50IHdoZW4gd2hhdGV2ZXIgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCByZXR1cm5zXFxyXFxuICAgICAgICAgICAgICAgIC8vIGxldCBlbnYgPSBwYXJzZUVudmVsb3BlKCBtc2dFdmVudC5kYXRhICk7XFxyXFxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCBgUHVzaGluZyBtZXNzYWdlIG9mIHR5cGUgJHsgTWVzc2FnZVR5cGVbIGVudi50eXBlIF0gfWAgKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX3dhaXRpbmdJbmNvbWluZ01lc3NhZ2VzLnB1c2gobXNnRXZlbnQpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX21lc3NhZ2VJblByb2dyZXNzID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5wcm9jZXNzTWVzc2FnZUludGVybmFsKG1zZ0V2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgd2hpbGUgKHRoaXMubV93YWl0aW5nSW5jb21pbmdNZXNzYWdlcy5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV4dEV2ZW50ID0gdGhpcy5tX3dhaXRpbmdJbmNvbWluZ01lc3NhZ2VzLnNoaWZ0KCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB5aWVsZCB0aGlzLnByb2Nlc3NNZXNzYWdlSW50ZXJuYWwobmV4dEV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1fbWVzc2FnZUluUHJvZ3Jlc3MgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBwcm9jZXNzTWVzc2FnZUludGVybmFsKG1zZ0V2ZW50KSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgZW52ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJwYXJzZUVudmVsb3BlXFxcIl0pKG1zZ0V2ZW50LmRhdGEpO1xcclxcbiAgICAgICAgICAgIGlmICghZW52KVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgLy9jb25zb2xlLmxvZyggYFByb2Nlc3NpbmcgbWVzc2FnZSBvZiB0eXBlICR7IE1lc3NhZ2VUeXBlWyBlbnYudHlwZSBdIH1gICk7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMubV9oYW5kbGVyc1tlbnYudHlwZV0pIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX2hhbmRsZXJzW2Vudi50eXBlXShlbnYucGF5bG9hZFVucGFja2VkLCBlbnYpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1fYXN5bmNIYW5kbGVyc1tlbnYudHlwZV0pIHtcXHJcXG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5tX2FzeW5jSGFuZGxlcnNbZW52LnR5cGVdKGVudi5wYXlsb2FkVW5wYWNrZWQsIGVudik7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubV9wZW5kaW5nUmVzcG9uc2VzW2Vudi50eXBlXSkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcGVuZGluZ1Jlc3BvbnNlID0gdGhpcy5tX3BlbmRpbmdSZXNwb25zZXNbZW52LnR5cGVdW2Vudi5yZXBseVRvXTtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCFwZW5kaW5nUmVzcG9uc2UpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZWNlaXZlZCBtZXNzYWdlIG9mIHR5cGUgJHtfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXVtlbnYudHlwZV19IHRoYXQgZGlkbid0IGBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICArIGBoYXZlIGEgbWF0Y2hpbmcgc2VxdWVuY2UgbnVtYmVyICR7ZW52LnJlcGx5VG99YCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUmVzcG9uc2UucmVzb2x2ZShbZW52LnBheWxvYWRVbnBhY2tlZCwgZW52XSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5tX3BlbmRpbmdSZXNwb25zZXNbZW52LnR5cGVdW2Vudi5yZXBseVRvXTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1fZGVmYXVsdEhhbmRsZXIpIHtcXHJcXG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5tX2RlZmF1bHRIYW5kbGVyKGVudi5wYXlsb2FkVW5wYWNrZWQsIGVudik7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgVW5oYW5kbGVkICR7X2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl1bZW52LnR5cGVdfTogJHtlbnYucGF5bG9hZH1gKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvblNldEVuZHBvaW50VHlwZVJlc3BvbnNlKG0pIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9lbmRwb2ludElkID0gbS5lbmRwb2ludElkO1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLm1faGFuZHNoYWtlQ29tcGxldGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX2hhbmRzaGFrZUNvbXBsZXRlKG0uc2V0dGluZ3MpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAvLyBzZW5kIGFsbCB0aGUgbWVzc2FnZXMgdGhhdCB3ZXJlIHF1ZXVlZCB3aGlsZSB3ZSB3ZXJlIHdhaXRpbmcgdG8gY29ubmVjdFxcclxcbiAgICAgICAgICAgIGZvciAobGV0IGVudiBvZiB0aGlzLm1fcXVldWVkTWVzc2FnZXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX3dzLnNlbmQoSlNPTi5zdHJpbmdpZnkoZW52KSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMubV9xdWV1ZWRNZXNzYWdlcyA9IFtdO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZE1lc3NhZ2UodHlwZSwgbXNnLCBzZW5kaW5nTm9kZSkge1xcclxcbiAgICAgICAgbGV0IGVudiA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlLFxcclxcbiAgICAgICAgICAgIHNlcXVlbmNlTnVtYmVyOiB0aGlzLm1fbmV4dFNlcXVlbmNlTnVtYmVyKyssXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgaWYgKG1zZyAhPSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICBlbnYucGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KG1zZyk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoc2VuZGluZ05vZGUgIT0gdW5kZWZpbmVkKSB7XFxyXFxuICAgICAgICAgICAgZW52LnNlbmRlciA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Ob2RlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnRJZDogdGhpcy5tX2VuZHBvaW50SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHNlbmRpbmdOb2RlXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoIXRoaXMubV9lbmRwb2ludElkICYmIHR5cGUgIT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlKSB7XFxyXFxuICAgICAgICAgICAgLy9jb25zb2xlLmxvZyggYFF1ZXVlaW5nIG1lc3NhZ2Ugb2YgdHlwZSAkeyBNZXNzYWdlVHlwZVsgdHlwZSBdIH0gdG8gYmUgc2VudCB3aGVuIHdlIGNvbm5lY3RgICk7XFxyXFxuICAgICAgICAgICAgdGhpcy5tX3F1ZXVlZE1lc3NhZ2VzLnB1c2goZW52KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHRoaXMubV93cy5zZW5kKEpTT04uc3RyaW5naWZ5KGVudikpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIGVudi5zZXF1ZW5jZU51bWJlcjtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kUmVwbHkodHlwZSwgbXNnLCByZXBseVRvLCBzZW5kZXIgPSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgIGxldCBlbnYgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZSxcXHJcXG4gICAgICAgICAgICBzZXF1ZW5jZU51bWJlcjogdGhpcy5tX25leHRTZXF1ZW5jZU51bWJlcisrLFxcclxcbiAgICAgICAgICAgIHNlbmRlcjogc2VuZGVyID8gc2VuZGVyIDogeyB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uSHViLCBlbmRwb2ludElkOiAwIH0sXFxyXFxuICAgICAgICAgICAgdGFyZ2V0OiByZXBseVRvLnNlbmRlcixcXHJcXG4gICAgICAgICAgICByZXBseVRvOiByZXBseVRvLnNlcXVlbmNlTnVtYmVyLFxcclxcbiAgICAgICAgICAgIHBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KG1zZyksXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgdGhpcy5tX3dzLnNlbmQoSlNPTi5zdHJpbmdpZnkoZW52KSk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0R2FkZ2V0TWFuaWZlc3QoZ2FkZ2V0VXJpKSB7XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xcclxcbiAgICAgICAgICAgIGxldCBtc2dHZXRHYWRnZXRNYW5pZmVzdCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgZ2FkZ2V0VXJpLFxcclxcbiAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgbGV0IHByb20gPSB0aGlzLnNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdldEFhcmR2YXJrTWFuaWZlc3QsIG1zZ0dldEdhZGdldE1hbmlmZXN0LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5HZXRBYXJkdmFya01hbmlmZXN0UmVzcG9uc2UpO1xcclxcbiAgICAgICAgICAgIHByb20udGhlbigoW21zZywgZW52XSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBpZiAobXNnLm1hbmlmZXN0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG1zZy5tYW5pZmVzdCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZWplY3QobXNnLmVycm9yKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25DbG9zZShldikge1xcclxcbiAgICAgICAgaWYgKGV2LmNvZGUgPT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIldlYlNvY2tldENsb3NlQ29kZXNcXFwiXS5Vc2VyRGVzdHJveWVkR2FkZ2V0KSB7XFxyXFxuICAgICAgICAgICAgLy8gVGhlIHVzZXIgYXNrZWQgdG8gZGVzdHJveSB0aGlzIGdhZGdldC4gSnVzdCBjbG9zZSB3aXRoIGFzIGxpdHRsZSBhZGRpdGlvbmFsXFxyXFxuICAgICAgICAgICAgLy8gd29yayBhcyBwb3NzaWJsZVxcclxcbiAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGhpcy5tX2FsbG93UmVjb25uZWN0KSB7XFxyXFxuICAgICAgICAgICAgLy8gVGhlIHNvY2tldCBjbG9zZWQgZnJvbSB0aGUgb3RoZXIgZW5kLiBTY2hlZHVsZSBhIHJlY29ubmVjdCBmb3Igd2hlblxcclxcbiAgICAgICAgICAgIC8vIHRoZSBzZXJ2ZXIgY29tZXMgYmFjayB1cFxcclxcbiAgICAgICAgICAgIHNldFRpbWVvdXQodGhpcy5jb25uZWN0VG9TZXJ2ZXIsIDIwMDApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBDQWFyZHZhcmtFbmRwb2ludC5wcm90b3R5cGUsIFxcXCJjb25uZWN0VG9TZXJ2ZXJcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQ0FhcmR2YXJrRW5kcG9pbnQucHJvdG90eXBlLCBcXFwib25NZXNzYWdlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIENBYXJkdmFya0VuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uU2V0RW5kcG9pbnRUeXBlUmVzcG9uc2VcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQ0FhcmR2YXJrRW5kcG9pbnQucHJvdG90eXBlLCBcXFwib25DbG9zZVxcXCIsIG51bGwpO1xcclxcbmNsYXNzIENNb25pdG9yRW5kcG9pbnQgZXh0ZW5kcyBDQWFyZHZhcmtFbmRwb2ludCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGRlZmF1bHRIYW5kbGVyID0gbnVsbCkge1xcclxcbiAgICAgICAgc3VwZXIoKCkgPT4geyB0aGlzLm9uT3BlbigpOyB9LCBudWxsLCBkZWZhdWx0SGFuZGxlcik7XFxyXFxuICAgICAgICB0aGlzLmFsbG93UmVjb25uZWN0KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25PcGVuKCkge1xcclxcbiAgICAgICAgY29uc29sZS5sb2coXFxcIkNvbm5lY3RlZFxcXCIpO1xcclxcbiAgICAgICAgbGV0IG1zZ1NldEVuZHBvaW50VHlwZSA9IHtcXHJcXG4gICAgICAgICAgICBuZXdFbmRwb2ludFR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Nb25pdG9yLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlLCBtc2dTZXRFbmRwb2ludFR5cGUpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBDTW9uaXRvckVuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uT3BlblxcXCIsIG51bGwpO1xcclxcbmNsYXNzIENVdGlsaXR5RW5kcG9pbnQgZXh0ZW5kcyBDQWFyZHZhcmtFbmRwb2ludCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGRlZmF1bHRIYW5kbGVyID0gbnVsbCwgaGFuZHNoYWtlQ29tcGxldGUgPSBudWxsKSB7XFxyXFxuICAgICAgICBzdXBlcigoKSA9PiB7IHRoaXMub25PcGVuKCk7IH0sIGhhbmRzaGFrZUNvbXBsZXRlLCBkZWZhdWx0SGFuZGxlcik7XFxyXFxuICAgICAgICB0aGlzLmFsbG93UmVjb25uZWN0KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25PcGVuKCkge1xcclxcbiAgICAgICAgY29uc29sZS5sb2coXFxcIkNvbm5lY3RlZFxcXCIpO1xcclxcbiAgICAgICAgbGV0IG1zZ1NldEVuZHBvaW50VHlwZSA9IHtcXHJcXG4gICAgICAgICAgICBuZXdFbmRwb2ludFR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5VdGlsaXR5LFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlLCBtc2dTZXRFbmRwb2ludFR5cGUpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBDVXRpbGl0eUVuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uT3BlblxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5bGJtUndiMmx1ZEM1MGN6OWtOVFJpSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3UVVGQlFUczdSMEZGUnp0QlFVTjNVVHRCUVVONlR6dEJRWGxDTTBJc1RVRkJUU3hwUWtGQmFVSTdTVUZ6UWpkQ0xGbEJRV0VzVjBGQmQwSXNSVUZCUlN4cFFrRkJPRUlzUlVGQlJTeHBRa0ZCYzBNc1NVRkJTVHRSUVhCQ2VrY3NVMEZCU1N4SFFVRmhMRWxCUVVrc1EwRkJRenRSUVVOMFFpeGxRVUZWTEVkQlFUUkRMRVZCUVVVc1EwRkJRenRSUVVONlJDeHZRa0ZCWlN4SFFVRnBSQ3hGUVVGRkxFTkJRVU03VVVGRGJrVXNjVUpCUVdkQ0xFZEJRWGRDTEVsQlFVa3NRMEZCUXp0UlFVTTNReXh6UWtGQmFVSXNSMEZCWjBJc1NVRkJTU3hEUVVGRE8xRkJRM1JETEhkQ1FVRnRRaXhIUVVGblFpeEpRVUZKTEVOQlFVTTdVVUZEZUVNc2FVSkJRVmtzUjBGQlZ5eEpRVUZKTEVOQlFVTTdVVUZETlVJc2NVSkJRV2RDTEVkQlFXVXNSVUZCUlN4RFFVRkRPMUZCUTJ4RExIRkNRVUZuUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVONlFpeDVRa0ZCYjBJc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrSXNkVUpCUVd0Q0xFZEJVWFJDTEVWQlFVVXNRMEZCUXp0UlFXbEVReXgzUWtGQmJVSXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkROVUlzT0VKQlFYbENMRWRCUVcxQ0xFVkJRVVVzUTBGQlF6dFJRVGxEZEVRc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4SFFVRkhMR05CUVdNc1EwRkJRenRSUVVOMlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWNzVjBGQlZ5eERRVUZETzFGQlEzSkRMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4cFFrRkJhVUlzUTBGQlF6dFJRVU0zUXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJSU3gxUlVGQlZ5eERRVUZETEhWQ1FVRjFRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJSU3hEUVVGRE8wbEJRemRHTEVOQlFVTTdTVUZGVFN3MlFrRkJOa0lzUTBGQlN5eEpRVUZwUWl4RlFVRkZMRWRCUVZFc1JVRkJSU3haUVVGNVFqdFJRVWM1Uml4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRkxFTkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUnl4RlFVRkZPMWxCUlhwRExFbEJRVWtzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVVc1NVRkJTU3hGUVVGRkxFZEJRVWNzUTBGQlJTeERRVUZETzFsQlJUbERMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVVc1dVRkJXU3hEUVVGRkxFVkJRelZETzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4WlFVRlpMRU5CUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU03WVVGRE4wTTdXVUZGUkN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVVc1UwRkJVeXhEUVVGRkxFZEJRVWNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkROVVVzUTBGQlF5eERRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlUwc1lVRkJZU3hMUVVGTExFOUJRVThzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZOME1zWTBGQll5eExRVUZMTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRORExHVkJRV1U3VVVGRk5VSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxGTkJRVk1zUTBGQlJTeHBRa0ZCYVVJc1IwRkJSeXgzUlVGQldTeERRVUZGTEVOQlFVTTdVVUZET1VRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6RkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1VVRkRja01zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF6dEpRVU5zUXl4RFFVRkRPMGxCUlUwc1pVRkJaU3hEUVVGRkxFbEJRV2xDTEVWQlFVVXNUMEZCZFVJN1VVRkZha1VzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUlN4SlFVRkpMRU5CUVVVc1IwRkJSeXhQUVVGUExFTkJRVU03U1VGRGJrTXNRMEZCUXp0SlFVVk5MRzlDUVVGdlFpeERRVUZGTEVsQlFXbENMRVZCUVVVc1QwRkJORUk3VVVGRk0wVXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJSU3hKUVVGSkxFTkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTTdTVUZEZUVNc1EwRkJRenRKUVVsWExGTkJRVk1zUTBGQlJTeFJRVUZ6UWpzN1dVRkZOVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFVkJRelZDTzJkQ1FVTkRMSGRGUVVGM1JUdG5Ra0ZEZUVVc05FTkJRVFJETzJkQ1FVTTFReXg1UlVGQmVVVTdaMEpCUTNwRkxFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJReXhKUVVGSkxFTkJRVVVzVVVGQlVTeERRVUZGTEVOQlFVTTdZVUZEYUVRN2FVSkJSVVE3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRhRU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVVVzVVVGQlVTeERRVUZGTEVOQlFVTTdaMEpCUlRsRExFOUJRVThzU1VGQlNTeERRVUZETEhsQ1FVRjVRaXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlEyaEVPMjlDUVVORExFbEJRVWtzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4NVFrRkJlVUlzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0dlFrRkRka1FzVFVGQlRTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVVVzVTBGQlV5eERRVUZGTEVOQlFVTTdhVUpCUXk5RE8yZENRVU5FTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUjBGQlJ5eExRVUZMTEVOQlFVTTdZVUZEYWtNN1VVRkRSaXhEUVVGRE8wdEJRVUU3U1VGRllTeHpRa0ZCYzBJc1EwRkJSU3hSUVVGelFqczdXVUZGTTBRc1NVRkJTU3hIUVVGSExFZEJRVWNzYVVaQlFXRXNRMEZCUlN4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRkxFTkJRVU03V1VGRGVrTXNTVUZCU1N4RFFVRkRMRWRCUVVjN1owSkJRMUFzVDBGQlR6dFpRVVZTTERKRlFVRXlSVHRaUVVVelJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVVc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlJTeEZRVU12UWp0blFrRkRReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZGTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJSU3hIUVVGSExFTkJRVU1zWlVGQlpTeEZRVUZGTEVkQlFVY3NRMEZCUlN4RFFVRkRPMkZCUTNoRU8ybENRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZGTEVWQlEzcERPMmRDUVVORExFMUJRVTBzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRkxFTkJRVVVzUjBGQlJ5eERRVUZETEdWQlFXVXNSVUZCUlN4SFFVRkhMRU5CUVVVc1EwRkJRenRoUVVOdVJUdHBRa0ZEU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRkxFVkJRelZETzJkQ1FVTkRMRWxCUVVrc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVVXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8yZENRVU42UlN4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVOd1FqdHZRa0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxEUkNRVUUyUWl4MVJVRkJWeXhEUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVY3NaVUZCWlRzd1FrRkRPVVVzYlVOQlFXOURMRWRCUVVjc1EwRkJReXhQUVVGUkxFVkJRVVVzUTBGQlJTeERRVUZETzJsQ1FVTjRSRHR4UWtGRlJEdHZRa0ZEUXl4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRkxFTkJRVVVzUjBGQlJ5eERRVUZETEdWQlFXVXNSVUZCUlN4SFFVRkhMRU5CUVVVc1EwRkJSU3hEUVVGRE8yOUNRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRkxFTkJRVVVzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkRPMmxDUVVNeFJEdGhRVU5FTzJsQ1FVTkpMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTTVRanRuUWtGRFF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeEhRVUZITEVOQlFVTXNaVUZCWlN4RlFVRkZMRWRCUVVjc1EwRkJSU3hEUVVGRE8yRkJRM2hFTzJsQ1FVVkVPMmRDUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNZVUZCWXl4MVJVRkJWeXhEUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVY3NTMEZCVFN4SFFVRkhMRU5CUVVNc1QwRkJVU3hGUVVGRkxFTkJRVVVzUTBGQlF6dGhRVU14UlR0UlFVTkdMRU5CUVVNN1MwRkJRVHRKUVVWclFpeDVRa0ZCZVVJc1EwRkJSU3hEUVVFMlFqczdXVUZGTVVVc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRPMWxCUTJwRExFbEJRVWtzU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhGUVVNMVFqdG5Ra0ZEUXl4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVVXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJSU3hEUVVGRE8yRkJRM1pETzFsQlJVUXNNRVZCUVRCRk8xbEJRekZGTEV0QlFVc3NTVUZCU1N4SFFVRkhMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTnlRenRuUWtGRFF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZGTEVkQlFVY3NRMEZCUlN4RFFVRkZMRU5CUVVNN1lVRkRlRU03V1VGRFJDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzUlVGQlJTeERRVUZETzFGQlF6VkNMRU5CUVVNN1MwRkJRVHRKUVVWTkxGZEJRVmNzUTBGQlJTeEpRVUZwUWl4RlFVRkZMRWRCUVZFc1JVRkJSU3hYUVVGeFFqdFJRVVZ5UlN4SlFVRkpMRWRCUVVjc1IwRkRVRHRaUVVORExFbEJRVWs3V1VGRFNpeGpRVUZqTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTzFOQlF6TkRMRU5CUVVNN1VVRkRSaXhKUVVGSkxFZEJRVWNzU1VGQlNTeFRRVUZUTEVWQlEzQkNPMWxCUTBNc1IwRkJSeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkZMRWRCUVVjc1EwRkJSU3hEUVVGRE8xTkJRM0JETzFGQlEwUXNTVUZCU1N4WFFVRlhMRWxCUVVrc1UwRkJVeXhGUVVNMVFqdFpRVU5ETEVkQlFVY3NRMEZCUXl4TlFVRk5PMmRDUVVOV08yOUNRVU5ETEVsQlFVa3NSVUZCUlN4M1JVRkJXU3hEUVVGRExFbEJRVWs3YjBKQlEzWkNMRlZCUVZVc1JVRkJSU3hKUVVGSkxFTkJRVU1zV1VGQldUdHZRa0ZETjBJc1RVRkJUU3hGUVVGRkxGZEJRVmM3YVVKQlEyNUNMRU5CUVVNN1UwRkRSanRSUVVWRUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SlFVRkpMRWxCUVVrc1NVRkJTU3gxUlVGQlZ5eERRVUZETEdWQlFXVXNSVUZETjBRN1dVRkRReXhuUjBGQlowYzdXVUZEYUVjc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJSU3hIUVVGSExFTkJRVVVzUTBGQlF6dFRRVU5zUXp0aFFVVkVPMWxCUTBNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJSU3hIUVVGSExFTkJRVVVzUTBGQlJTeERRVUZETzFOQlEzaERPMUZCUTBRc1QwRkJUeXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETzBsQlF6TkNMRU5CUVVNN1NVRkZUU3hUUVVGVExFTkJRVVVzU1VGQmFVSXNSVUZCUlN4SFFVRlJMRVZCUVVVc1QwRkJhVUlzUlVGQlJTeFRRVUZ6UWl4VFFVRlRPMUZCUldoSExFbEJRVWtzUjBGQlJ5eEhRVU5RTzFsQlEwTXNTVUZCU1R0WlFVTktMR05CUVdNc1JVRkJSU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRVZCUVVVN1dVRkRNME1zVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4M1JVRkJXU3hEUVVGRExFZEJRVWNzUlVGQlJTeFZRVUZWTEVWQlFVVXNRMEZCUXl4RlFVRkZPMWxCUTI1RkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVOQlFVTXNUVUZCVFR0WlFVTjBRaXhQUVVGUExFVkJRVVVzVDBGQlR5eERRVUZETEdOQlFXTTdXVUZETDBJc1QwRkJUeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVVXNSMEZCUnl4RFFVRkZPMU5CUXpsQ08xRkJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlJTeEhRVUZITEVOQlFVVXNRMEZCUlN4RFFVRkRPMGxCUTNwRExFTkJRVU03U1VGRlRTeHBRa0ZCYVVJc1EwRkJSU3hUUVVGcFFqdFJRVVV4UXl4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGdlFpeERRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVjc1JVRkJSVHRaUVVVelJDeEpRVUZKTEc5Q1FVRnZRaXhIUVVONFFqdG5Ra0ZEUXl4VFFVRlRPMkZCUTFRN1dVRkRSQ3hKUVVGSkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVVVzZFVWQlFWY3NRMEZCUXl4dFFrRkJiVUlzUlVGRE4wVXNiMEpCUVc5Q0xFVkJRVVVzZFVWQlFWY3NRMEZCUXl3eVFrRkJNa0lzUTBGQlJTeERRVUZETzFsQlJXcEZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlJTeERRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVdkRUxFVkJRVWNzUlVGQlJUdG5Ra0ZGTTBVc1NVRkJTU3hIUVVGSExFTkJRVU1zVVVGQlVTeEZRVU5vUWp0dlFrRkRReXhQUVVGUExFTkJRVVVzUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUlN4RFFVRkRPMmxDUVVONFFqdHhRa0ZGUkR0dlFrRkRReXhOUVVGTkxFTkJRVVVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUlN4RFFVRkRPMmxDUVVOd1FqdFpRVU5HTEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUTB3c1EwRkJReXhEUVVGRkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVc3NUMEZCVHl4RFFVRkZMRVZCUVdNN1VVRkZOVUlzU1VGQlNTeEZRVUZGTEVOQlFVTXNTVUZCU1N4SlFVRkpMQ3RGUVVGdFFpeERRVUZETEcxQ1FVRnRRaXhGUVVOMFJEdFpRVU5ETERoRlFVRTRSVHRaUVVNNVJTeHRRa0ZCYlVJN1dVRkRia0lzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMU5CUTJZN1lVRkRTU3hKUVVGTExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1JVRkRMMEk3V1VGRFF5eHpSVUZCYzBVN1dVRkRkRVVzTWtKQlFUSkNPMWxCUXpOQ0xGVkJRVlVzUTBGQlJTeEpRVUZKTEVOQlFVTXNaVUZCWlN4RlFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xTkJRM3BETzBsQlEwWXNRMEZCUXp0RFFVTkVPMEZCTVV4Tk8wbEJRVXdzY1VSQlFVazdkMFJCVFVvN1FVRmpTenRKUVVGTUxIRkVRVUZKTzJ0RVFYRkNTanRCUVRCRFN6dEpRVUZNTEhGRVFVRkpPMnRGUVdOS08wRkJNRVZMTzBsQlFVd3NjVVJCUVVrN1owUkJZMG83UVVGSFN5eE5RVUZOTEdkQ1FVRnBRaXhUUVVGUkxHbENRVUZwUWp0SlFVVjBSQ3haUVVGaExHbENRVUZ6UXl4SlFVRkpPMUZCUlhSRUxFdEJRVXNzUTBGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVOMlJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1NVRkRka0lzUTBGQlF6dEpRVVZMTEUxQlFVMDdVVUZGV0N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxGZEJRVmNzUTBGQlJTeERRVUZETzFGQlF6TkNMRWxCUVVrc2EwSkJRV3RDTEVkQlEzUkNPMWxCUTBNc1pVRkJaU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNUMEZCVHp0VFFVTnlRenRSUVVWRUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVVXNkVVZCUVZjc1EwRkJReXhsUVVGbExFVkJRVVVzYTBKQlFXdENMRU5CUVVVc1EwRkJRenRKUVVOeVJTeERRVUZETzBOQlIwUTdRVUZhVFR0SlFVRk1MSEZFUVVGSk96aERRVk5LTzBGQlRVc3NUVUZCVFN4blFrRkJhVUlzVTBGQlVTeHBRa0ZCYVVJN1NVRkZkRVFzV1VGQllTeHBRa0ZCYzBNc1NVRkJTU3hGUVVGRkxHOUNRVUZwUXl4SlFVRkpPMUZCUlRkR0xFdEJRVXNzUTBGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVU1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxHTkJRV01zUTBGQlJTeERRVUZETzFGQlEzQkZMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF6dEpRVU4yUWl4RFFVRkRPMGxCUlVzc1RVRkJUVHRSUVVWWUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNWMEZCVnl4RFFVRkZMRU5CUVVNN1VVRkRNMElzU1VGQlNTeHJRa0ZCYTBJc1IwRkRkRUk3V1VGRFF5eGxRVUZsTEVWQlFVVXNkMFZCUVZrc1EwRkJReXhQUVVGUE8xTkJRM0pETzFGQlJVUXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJSU3gxUlVGQlZ5eERRVUZETEdWQlFXVXNSVUZCUlN4clFrRkJhMElzUTBGQlJTeERRVUZETzBsQlEzSkZMRU5CUVVNN1EwRkhSRHRCUVZwTk8wbEJRVXdzY1VSQlFVazdPRU5CVTBvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmWlc1a2NHOXBiblF1ZEhNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lvZ1FIQmhZMnRoWjJWRWIyTjFiV1Z1ZEdGMGFXOXVYSEpjYmlBcUlFQm9hV1JrWlc1Y2NseHVJQ292WEhKY2JtbHRjRzl5ZENCN0lFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lFRmhjbVIyWVhKclVHOXlkQ3dnUlc1a2NHOXBiblJCWkdSeUxDQkZibVJ3YjJsdWRGUjVjR1VzSUVWdWRtVnNiM0JsTENCTlpYTnpZV2RsVkhsd1pTd2dUWE5uUjJWQllYSmtkbUZ5YTAxaGJtbG1aWE4wVW1WemNHOXVjMlVzSUUxelowZGxkRUZoY21SMllYSnJUV0Z1YVdabGMzUXNJRTF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaU3dnVFhOblUyVjBSVzVrY0c5cGJuUlVlWEJsVW1WemNHOXVjMlVzSUhCaGNuTmxSVzUyWld4dmNHVXNJRmRsWWxOdlkydGxkRU5zYjNObFEyOWtaWE1nZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxbGMzTmhaMlZJWVc1a2JHVnlYSEpjYm50Y2NseHVYSFFvSUhCaGVXeHZZV1E2SUdGdWVTd2daVzUyT2lCRmJuWmxiRzl3WlNBcE9pQjJiMmxrTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRnplVzVqVFdWemMyRm5aVWhoYm1Sc1pYSmNjbHh1ZTF4eVhHNWNkQ2dnY0dGNWJHOWhaRG9nWVc1NUxDQmxiblk2SUVWdWRtVnNiM0JsSUNrNklGQnliMjFwYzJVOGRtOXBaRDQ3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1QzQmxia2hoYm1Sc1pYSmNjbHh1ZTF4eVhHNWNkQ2dnYzJWMGRHbHVaM002SUdGdWVTQXBPblp2YVdRN1hISmNibjFjY2x4dVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1VHVnVaR2x1WjFKbGMzQnZibk5sWEhKY2JudGNjbHh1WEhSeVpYTnZiSFpsS0NCeVpYTndPaUJiSUdGdWVTd2dSVzUyWld4dmNHVWdYU0FwT2lCMmIybGtPMXh5WEc1Y2RISmxhbVZqZENnZ2NtVmhjMjl1T2lCaGJua2dLVG9nZG05cFpEdGNjbHh1ZlZ4eVhHNWNjbHh1WEhKY2JtVjRjRzl5ZENCamJHRnpjeUJEUVdGeVpIWmhjbXRGYm1Sd2IybHVkRnh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0J0WDNkek9sZGxZbE52WTJ0bGRDQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J0WDJoaGJtUnNaWEp6T2lCN0lGc2diWE5uVkhsd1pUb2diblZ0WW1WeUlGMDZJRTFsYzNOaFoyVklZVzVrYkdWeUlIMGdQU0I3ZlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmWVhONWJtTklZVzVrYkdWeWN6b2dleUJiSUcxeloxUjVjR1U2SUc1MWJXSmxjaUJkT2lCQmMzbHVZMDFsYzNOaFoyVklZVzVrYkdWeUlIMGdQU0I3ZlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmWkdWbVlYVnNkRWhoYm1Sc1pYSTZJRUZ6ZVc1alRXVnpjMkZuWlVoaGJtUnNaWElnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ2JWOXlaV0ZzVDNCbGJraGhibVJzWlhJNklFOXdaVzVJWVc1a2JHVnlJRDBnYm5Wc2JEdGNjbHh1WEhSd2NtbDJZWFJsSUcxZmFHRnVaSE5vWVd0bFEyOXRjR3hsZEdVNklFOXdaVzVJWVc1a2JHVnlJRDBnYm5Wc2JEdGNjbHh1WEhSd2NtbDJZWFJsSUcxZlpXNWtjRzlwYm5SSlpEb2diblZ0WW1WeUlEMGdiblZzYkR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmY1hWbGRXVmtUV1Z6YzJGblpYTTZJRVZ1ZG1Wc2IzQmxXMTBnUFNCYlhUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZllXeHNiM2RTWldOdmJtNWxZM1FnUFNCbVlXeHpaVHRjY2x4dVhIUndjbWwyWVhSbElHMWZibVY0ZEZObGNYVmxibU5sVG5WdFltVnlJRDBnTVR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmY0dWdVpHbHVaMUpsYzNCdmJuTmxjem9nWEhKY2JseDBleUJjY2x4dVhIUmNkRnNnY21WemNHOXVjMlZVZVhCbE9pQnVkVzFpWlhJZ1hUb2dYSEpjYmx4MFhIUjdJRnh5WEc1Y2RGeDBYSFJiSUhObGNYVmxibU5sVG5WdFltVnlPaUJ1ZFcxaVpYSWdYVG9nWEhKY2JseDBYSFJjZEZCbGJtUnBibWRTWlhOd2IyNXpaU0JjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRnh5WEc1Y2RIMGdQU0I3ZlR0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JRzl3Wlc1SVlXNWtiR1Z5T2lCUGNHVnVTR0Z1Wkd4bGNpd2dhR0Z1WkhOb1lXdGxRMjl0Y0d4bGRHVTZJRTl3Wlc1SVlXNWtiR1Z5TENCa1pXWmhkV3gwU0dGdVpHeGxjam9nUVhONWJtTk5aWE56WVdkbFNHRnVaR3hsY2lBOUlHNTFiR3dnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWJWOWtaV1poZFd4MFNHRnVaR3hsY2lBOUlHUmxabUYxYkhSSVlXNWtiR1Z5TzF4eVhHNWNkRngwZEdocGN5NXRYM0psWVd4UGNHVnVTR0Z1Wkd4bGNpQTlJRzl3Wlc1SVlXNWtiR1Z5TzF4eVhHNWNkRngwZEdocGN5NXRYMmhoYm1SemFHRnJaVU52YlhCc1pYUmxJRDBnYUdGdVpITm9ZV3RsUTI5dGNHeGxkR1U3WEhKY2JseDBYSFIwYUdsekxtTnZibTVsWTNSVWIxTmxjblpsY2lncE8xeHlYRzVjZEZ4MGRHaHBjeTV5WldkcGMzUmxja2hoYm1Sc1pYSW9JRTFsYzNOaFoyVlVlWEJsTGxObGRFVnVaSEJ2YVc1MFZIbHdaVkpsYzNCdmJuTmxMQ0IwYUdsekxtOXVVMlYwUlc1a2NHOXBiblJVZVhCbFVtVnpjRzl1YzJVZ0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpXNWtUV1Z6YzJGblpVRnVaRmRoYVhSR2IzSlNaWE53YjI1elpUeFVQaWdnZEhsd1pUb2dUV1Z6YzJGblpWUjVjR1VzSUcxelp6b2dZVzU1TENCeVpYTndiMjV6WlZSNWNHVTZJRTFsYzNOaFoyVlVlWEJsSUNrNlhISmNibHgwWEhSUWNtOXRhWE5sUENCYklGUXNJRVZ1ZG1Wc2IzQmxJRjBnUGx4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2dnS0NCeVpYTnZiSFpsTENCeVpXcGxZM1FnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnYzJWeFRuVnRZbVZ5SUQwZ2RHaHBjeTV6Wlc1a1RXVnpjMkZuWlNnZ2RIbHdaU3dnYlhObklDazdYSEpjYmx4eVhHNWNkRngwWEhScFppZ2dJWFJvYVhNdWJWOXdaVzVrYVc1blVtVnpjRzl1YzJWeld5QnlaWE53YjI1elpWUjVjR1VnWFNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtMWZjR1Z1WkdsdVoxSmxjM0J2Ym5ObGMxc2djbVZ6Y0c5dWMyVlVlWEJsSUYwZ1BTQjdmVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBkR2hwY3k1dFgzQmxibVJwYm1kU1pYTndiMjV6WlhOYklISmxjM0J2Ym5ObFZIbHdaU0JkV3lCelpYRk9kVzFpWlhJZ1hTQTlJSHNnY21WemIyeDJaU3dnY21WcVpXTjBJSDA3WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMFJXNWtjRzlwYm5SSlpDZ3BJSHNnY21WMGRYSnVJSFJvYVhNdWJWOWxibVJ3YjJsdWRFbGtPeUI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJoYkd4dmQxSmxZMjl1Ym1WamRDZ3BJSHNnZEdocGN5NXRYMkZzYkc5M1VtVmpiMjV1WldOMElEMGdkSEoxWlRzZ2ZWeHlYRzVjY2x4dVhIUkFZbWx1WkNCd2NtbDJZWFJsSUdOdmJtNWxZM1JVYjFObGNuWmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dFgzZHpJRDBnYm1WM0lGZGxZbE52WTJ0bGRDZ2dYQ0ozY3pvdkwyeHZZMkZzYUc5emREcGNJaUFySUVGaGNtUjJZWEpyVUc5eWRDQXBPMXh5WEc1Y2RGeDBkR2hwY3k1dFgzZHpMbTl1YjNCbGJpQTlJSFJvYVhNdWJWOXlaV0ZzVDNCbGJraGhibVJzWlhJN1hISmNibHgwWEhSMGFHbHpMbTFmZDNNdWIyNXRaWE56WVdkbElEMGdkR2hwY3k1dmJrMWxjM05oWjJVN1hISmNibHgwWEhSMGFHbHpMbTFmZDNNdWIyNWpiRzl6WlNBOUlIUm9hWE11YjI1RGJHOXpaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnlaV2RwYzNSbGNraGhibVJzWlhJb0lIUjVjR1U2SUUxbGMzTmhaMlZVZVhCbExDQm9ZVzVrYkdWeU9pQk5aWE56WVdkbFNHRnVaR3hsY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMmhoYm1Sc1pYSnpXeUIwZVhCbElGMGdQU0JvWVc1a2JHVnlPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxaMmx6ZEdWeVFYTjVibU5JWVc1a2JHVnlLQ0IwZVhCbE9pQk5aWE56WVdkbFZIbHdaU3dnYUdGdVpHeGxjam9nUVhONWJtTk5aWE56WVdkbFNHRnVaR3hsY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMkZ6ZVc1alNHRnVaR3hsY25OYklIUjVjR1VnWFNBOUlHaGhibVJzWlhJN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUcxZmJXVnpjMkZuWlVsdVVISnZaM0psYzNNZ1BTQm1ZV3h6WlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmZDJGcGRHbHVaMGx1WTI5dGFXNW5UV1Z6YzJGblpYTTZJRTFsYzNOaFoyVkZkbVZ1ZEZ0ZElEMGdXMTA3WEhKY2JseDBRR0pwYm1RZ1lYTjVibU1nYjI1TlpYTnpZV2RsS0NCdGMyZEZkbVZ1ZERvZ1RXVnpjMkZuWlVWMlpXNTBJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXRYMjFsYzNOaFoyVkpibEJ5YjJkeVpYTnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwTHk4Z2NISnZZMlZ6Y3lCMGFHbHpJR1YyWlc1MElIZG9aVzRnZDJoaGRHVjJaWElnYVhNZ1kzVnljbVZ1ZEd4NUlHSmxhVzVuSUhCeWIyTmxjM05sWkNCeVpYUjFjbTV6WEhKY2JseDBYSFJjZEM4dklHeGxkQ0JsYm5ZZ1BTQndZWEp6WlVWdWRtVnNiM0JsS0NCdGMyZEZkbVZ1ZEM1a1lYUmhJQ2s3WEhKY2JseDBYSFJjZEM4dklHTnZibk52YkdVdWJHOW5LQ0JnVUhWemFHbHVaeUJ0WlhOellXZGxJRzltSUhSNWNHVWdKSHNnVFdWemMyRm5aVlI1Y0dWYklHVnVkaTUwZVhCbElGMGdmV0FnS1R0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDNkaGFYUnBibWRKYm1OdmJXbHVaMDFsYzNOaFoyVnpMbkIxYzJnb0lHMXpaMFYyWlc1MElDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViVjl0WlhOellXZGxTVzVRY205bmNtVnpjeUE5SUhSeWRXVTdYSEpjYmx4MFhIUmNkR0YzWVdsMElIUm9hWE11Y0hKdlkyVnpjMDFsYzNOaFoyVkpiblJsY201aGJDZ2diWE5uUlhabGJuUWdLVHRjY2x4dVhIUmNkRngwWEhKY2JseDBYSFJjZEhkb2FXeGxLQ0IwYUdsekxtMWZkMkZwZEdsdVowbHVZMjl0YVc1blRXVnpjMkZuWlhNdWJHVnVaM1JvSUQ0Z01DQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSc1pYUWdibVY0ZEVWMlpXNTBJRDBnZEdocGN5NXRYM2RoYVhScGJtZEpibU52YldsdVowMWxjM05oWjJWekxuTm9hV1owS0NrN1hISmNibHgwWEhSY2RGeDBZWGRoYVhRZ2RHaHBjeTV3Y205alpYTnpUV1Z6YzJGblpVbHVkR1Z5Ym1Gc0tDQnVaWGgwUlhabGJuUWdLVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwWEhSMGFHbHpMbTFmYldWemMyRm5aVWx1VUhKdlozSmxjM01nUFNCbVlXeHpaVHRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdZWE41Ym1NZ2NISnZZMlZ6YzAxbGMzTmhaMlZKYm5SbGNtNWhiQ2dnYlhOblJYWmxiblE2SUUxbGMzTmhaMlZGZG1WdWRDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR1Z1ZGlBOUlIQmhjbk5sUlc1MlpXeHZjR1VvSUcxelowVjJaVzUwTG1SaGRHRWdLVHRjY2x4dVhIUmNkR2xtS0NBaFpXNTJJQ2xjY2x4dVhIUmNkRngwY21WMGRYSnVPMXh5WEc1Y2NseHVYSFJjZEM4dlkyOXVjMjlzWlM1c2IyY29JR0JRY205alpYTnphVzVuSUcxbGMzTmhaMlVnYjJZZ2RIbHdaU0FrZXlCTlpYTnpZV2RsVkhsd1pWc2daVzUyTG5SNWNHVWdYU0I5WUNBcE8xeHlYRzVjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbTFmYUdGdVpHeGxjbk5iSUdWdWRpNTBlWEJsSUYwZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmFHRnVaR3hsY25OYklHVnVkaTUwZVhCbElGMG9JR1Z1ZGk1d1lYbHNiMkZrVlc1d1lXTnJaV1FzSUdWdWRpQXBPMXh5WEc1Y2RGeDBmU0JjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JSFJvYVhNdWJWOWhjM2x1WTBoaGJtUnNaWEp6V3lCbGJuWXVkSGx3WlNCZElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZWGRoYVhRZ2RHaHBjeTV0WDJGemVXNWpTR0Z1Wkd4bGNuTmJJR1Z1ZGk1MGVYQmxJRjBvSUdWdWRpNXdZWGxzYjJGa1ZXNXdZV05yWldRc0lHVnVkaUFwTzF4eVhHNWNkRngwZlNCY2NseHVYSFJjZEdWc2MyVWdhV1lvSUhSb2FYTXViVjl3Wlc1a2FXNW5VbVZ6Y0c5dWMyVnpXeUJsYm5ZdWRIbHdaU0JkSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSEJsYm1ScGJtZFNaWE53YjI1elpTQTlJSFJvYVhNdWJWOXdaVzVrYVc1blVtVnpjRzl1YzJWeld5Qmxibll1ZEhsd1pTQmRXeUJsYm5ZdWNtVndiSGxVYnlCZE8xeHlYRzVjZEZ4MFhIUnBaaWdnSVhCbGJtUnBibWRTWlhOd2IyNXpaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUcxbGMzTmhaMlVnYjJZZ2RIbHdaU0FrZXlCTlpYTnpZV2RsVkhsd1pWc2daVzUyTG5SNWNHVWdYU0I5SUhSb1lYUWdaR2xrYmlkMElHQmNjbHh1WEhSY2RGeDBYSFJjZENzZ1lHaGhkbVVnWVNCdFlYUmphR2x1WnlCelpYRjFaVzVqWlNCdWRXMWlaWElnSkhzZ1pXNTJMbkpsY0d4NVZHOGdmV0FnS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmxiSE5sWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUndaVzVrYVc1blVtVnpjRzl1YzJVdWNtVnpiMngyWlNnZ1d5Qmxibll1Y0dGNWJHOWhaRlZ1Y0dGamEyVmtMQ0JsYm5ZZ1hTQXBPMXh5WEc1Y2RGeDBYSFJjZEdSbGJHVjBaU0IwYUdsekxtMWZjR1Z1WkdsdVoxSmxjM0J2Ym5ObGMxc2daVzUyTG5SNWNHVWdYVnNnWlc1MkxuSmxjR3g1Vkc4Z1hUdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlNCcFppZ2dkR2hwY3k1dFgyUmxabUYxYkhSSVlXNWtiR1Z5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFlYZGhhWFFnZEdocGN5NXRYMlJsWm1GMWJIUklZVzVrYkdWeUtDQmxibll1Y0dGNWJHOWhaRlZ1Y0dGamEyVmtMQ0JsYm5ZZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlZjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lHQlZibWhoYm1Sc1pXUWdKSHNnVFdWemMyRm5aVlI1Y0dWYklHVnVkaTUwZVhCbElGMGdmVG9nSkhzZ1pXNTJMbkJoZVd4dllXUWdmV0FnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtJSEIxWW14cFl5QmhjM2x1WXlCdmJsTmxkRVZ1WkhCdmFXNTBWSGx3WlZKbGMzQnZibk5sS0NCdE9pQk5jMmRUWlhSRmJtUndiMmx1ZEZSNWNHVlNaWE53YjI1elpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTV0WDJWdVpIQnZhVzUwU1dRZ1BTQnRMbVZ1WkhCdmFXNTBTV1E3WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV0WDJoaGJtUnphR0ZyWlVOdmJYQnNaWFJsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDJoaGJtUnphR0ZyWlVOdmJYQnNaWFJsS0NCdExuTmxkSFJwYm1keklDazdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwTHk4Z2MyVnVaQ0JoYkd3Z2RHaGxJRzFsYzNOaFoyVnpJSFJvWVhRZ2QyVnlaU0J4ZFdWMVpXUWdkMmhwYkdVZ2QyVWdkMlZ5WlNCM1lXbDBhVzVuSUhSdklHTnZibTVsWTNSY2NseHVYSFJjZEdadmNpZ2diR1YwSUdWdWRpQnZaaUIwYUdsekxtMWZjWFZsZFdWa1RXVnpjMkZuWlhNZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmQzTXVjMlZ1WkNnZ1NsTlBUaTV6ZEhKcGJtZHBabmtvSUdWdWRpQXBJQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFIwYUdsekxtMWZjWFZsZFdWa1RXVnpjMkZuWlhNZ1BTQmJYVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnpaVzVrVFdWemMyRm5aU2dnZEhsd1pUb2dUV1Z6YzJGblpWUjVjR1VzSUcxelp6b2dZVzU1TENCelpXNWthVzVuVG05a1pTQS9PaUJ1ZFcxaVpYSWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JsYm5ZNklFVnVkbVZzYjNCbElEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkSGx3WlN4Y2NseHVYSFJjZEZ4MGMyVnhkV1Z1WTJWT2RXMWlaWEk2SUhSb2FYTXViVjl1WlhoMFUyVnhkV1Z1WTJWT2RXMWlaWElyS3l4Y2NseHVYSFJjZEgwN1hISmNibHgwWEhScFppZ2diWE5uSUNFOUlIVnVaR1ZtYVc1bFpDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR1Z1ZGk1d1lYbHNiMkZrSUQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvSUcxelp5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBhV1lvSUhObGJtUnBibWRPYjJSbElDRTlJSFZ1WkdWbWFXNWxaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdWdWRpNXpaVzVrWlhJZ1BTQmNjbHh1WEhSY2RGeDBleUJjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJGYm1Sd2IybHVkRlI1Y0dVdVRtOWtaU3dnWEhKY2JseDBYSFJjZEZ4MFpXNWtjRzlwYm5SSlpEb2dkR2hwY3k1dFgyVnVaSEJ2YVc1MFNXUXNJRnh5WEc1Y2RGeDBYSFJjZEc1dlpHVkpaRG9nYzJWdVpHbHVaMDV2WkdVZ1hISmNibHgwWEhSY2RIMDdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lDRjBhR2x6TG0xZlpXNWtjRzlwYm5SSlpDQW1KaUIwZVhCbElDRTlJRTFsYzNOaFoyVlVlWEJsTGxObGRFVnVaSEJ2YVc1MFZIbHdaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dlkyOXVjMjlzWlM1c2IyY29JR0JSZFdWMVpXbHVaeUJ0WlhOellXZGxJRzltSUhSNWNHVWdKSHNnVFdWemMyRm5aVlI1Y0dWYklIUjVjR1VnWFNCOUlIUnZJR0psSUhObGJuUWdkMmhsYmlCM1pTQmpiMjV1WldOMFlDQXBPMXh5WEc1Y2RGeDBYSFIwYUdsekxtMWZjWFZsZFdWa1RXVnpjMkZuWlhNdWNIVnphQ2dnWlc1MklDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViVjkzY3k1elpXNWtLQ0JLVTA5T0xuTjBjbWx1WjJsbWVTZ2daVzUySUNrZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RISmxkSFZ5YmlCbGJuWXVjMlZ4ZFdWdVkyVk9kVzFpWlhJN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYzJWdVpGSmxjR3g1S0NCMGVYQmxPaUJOWlhOellXZGxWSGx3WlN3Z2JYTm5PaUJoYm5rc0lISmxjR3g1Vkc4NklFVnVkbVZzYjNCbExDQnpaVzVrWlhJNlJXNWtjRzlwYm5SQlpHUnlJRDBnZFc1a1pXWnBibVZrSUNBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHVnVkam9nUlc1MlpXeHZjR1VnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxMRnh5WEc1Y2RGeDBYSFJ6WlhGMVpXNWpaVTUxYldKbGNqb2dkR2hwY3k1dFgyNWxlSFJUWlhGMVpXNWpaVTUxYldKbGNpc3JMRnh5WEc1Y2RGeDBYSFJ6Wlc1a1pYSTZJSE5sYm1SbGNpQS9JSE5sYm1SbGNpQTZJSHNnZEhsd1pUb2dSVzVrY0c5cGJuUlVlWEJsTGtoMVlpd2daVzVrY0c5cGJuUkpaRG9nTUNCOUxGeHlYRzVjZEZ4MFhIUjBZWEpuWlhRNklISmxjR3g1Vkc4dWMyVnVaR1Z5TEZ4eVhHNWNkRngwWEhSeVpYQnNlVlJ2T2lCeVpYQnNlVlJ2TG5ObGNYVmxibU5sVG5WdFltVnlMRnh5WEc1Y2RGeDBYSFJ3WVhsc2IyRmtPaUJLVTA5T0xuTjBjbWx1WjJsbWVTZ2diWE5uSUNrc1hISmNibHgwWEhSOVhISmNibHgwWEhSMGFHbHpMbTFmZDNNdWMyVnVaQ2dnU2xOUFRpNXpkSEpwYm1kcFpua29JR1Z1ZGlBcElDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBSMkZrWjJWMFRXRnVhV1psYzNRb0lHZGhaR2RsZEZWeWFUb2djM1J5YVc1bklDazZJRkJ5YjIxcGMyVThRV0Z5WkhaaGNtdE5ZVzVwWm1WemRENWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVOFFXRnlaSFpoY210TllXNXBabVZ6ZEQ0b0lDZ2djbVZ6YjJ4MlpTd2djbVZxWldOMElDa2dQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElHMXpaMGRsZEVkaFpHZGxkRTFoYm1sbVpYTjBPaUJOYzJkSFpYUkJZWEprZG1GeWEwMWhibWxtWlhOMElEMWNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdkaFpHZGxkRlZ5YVN4Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUnNaWFFnY0hKdmJTQTlJSFJvYVhNdWMyVnVaRTFsYzNOaFoyVkJibVJYWVdsMFJtOXlVbVZ6Y0c5dWMyVW9JRTFsYzNOaFoyVlVlWEJsTGtkbGRFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lGeHlYRzVjZEZ4MFhIUmNkRzF6WjBkbGRFZGhaR2RsZEUxaGJtbG1aWE4wTENCTlpYTnpZV2RsVkhsd1pTNUhaWFJCWVhKa2RtRnlhMDFoYm1sbVpYTjBVbVZ6Y0c5dWMyVWdLVHRjY2x4dVhISmNibHgwWEhSY2RIQnliMjB1ZEdobGJpZ2dLQ0JiSUcxelp5d2daVzUySUYwZ09pQmJJRTF6WjBkbFFXRnlaSFpoY210TllXNXBabVZ6ZEZKbGMzQnZibk5sTENCRmJuWmxiRzl3WlNCZElDa2dQVDVjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RHbG1LQ0J0YzJjdWJXRnVhV1psYzNRZ0tWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RISmxjMjlzZG1Vb0lHMXpaeTV0WVc1cFptVnpkQ0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGNtVnFaV04wS0NCdGMyY3VaWEp5YjNJZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEgwZ0tUdGNjbHh1WEhSY2RIMGdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lHOXVRMnh2YzJVb0lHVjJPaUJEYkc5elpVVjJaVzUwSUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ1pYWXVZMjlrWlNBOVBTQlhaV0pUYjJOclpYUkRiRzl6WlVOdlpHVnpMbFZ6WlhKRVpYTjBjbTk1WldSSFlXUm5aWFFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhRdkx5QlVhR1VnZFhObGNpQmhjMnRsWkNCMGJ5QmtaWE4wY205NUlIUm9hWE1nWjJGa1oyVjBMaUJLZFhOMElHTnNiM05sSUhkcGRHZ2dZWE1nYkdsMGRHeGxJR0ZrWkdsMGFXOXVZV3hjY2x4dVhIUmNkRngwTHk4Z2QyOXlheUJoY3lCd2IzTnphV0pzWlZ4eVhHNWNkRngwWEhSM2FXNWtiM2N1WTJ4dmMyVW9LVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWWdLQ0IwYUdsekxtMWZZV3hzYjNkU1pXTnZibTVsWTNRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUJVYUdVZ2MyOWphMlYwSUdOc2IzTmxaQ0JtY205dElIUm9aU0J2ZEdobGNpQmxibVF1SUZOamFHVmtkV3hsSUdFZ2NtVmpiMjV1WldOMElHWnZjaUIzYUdWdVhISmNibHgwWEhSY2RDOHZJSFJvWlNCelpYSjJaWElnWTI5dFpYTWdZbUZqYXlCMWNGeHlYRzVjZEZ4MFhIUnpaWFJVYVcxbGIzVjBLQ0IwYUdsekxtTnZibTVsWTNSVWIxTmxjblpsY2l3Z01qQXdNQ0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRU5OYjI1cGRHOXlSVzVrY0c5cGJuUWdaWGgwWlc1a2N5QkRRV0Z5WkhaaGNtdEZibVJ3YjJsdWRGeHlYRzU3WEhKY2JseDBZMjl1YzNSeWRXTjBiM0lvSUdSbFptRjFiSFJJWVc1a2JHVnlPaUJCYzNsdVkwMWxjM05oWjJWSVlXNWtiR1Z5SUQwZ2JuVnNiQ0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjM1Z3WlhJb0lDZ3BJRDArSUhzZ2RHaHBjeTV2Yms5d1pXNG9LU0I5TENCdWRXeHNMQ0JrWldaaGRXeDBTR0Z1Wkd4bGNpQXBPMXh5WEc1Y2RGeDBkR2hwY3k1aGJHeHZkMUpsWTI5dWJtVmpkQ2dwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUWdiMjVQY0dWdUtDbGNjbHh1WEhSN1hISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dYQ0pEYjI1dVpXTjBaV1JjSWlBcE8xeHlYRzVjZEZ4MGJHVjBJRzF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaVG9nVFhOblUyVjBSVzVrY0c5cGJuUlVlWEJsSUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtVjNSVzVrY0c5cGJuUlVlWEJsT2lCRmJtUndiMmx1ZEZSNWNHVXVUVzl1YVhSdmNpeGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFIwYUdsekxuTmxibVJOWlhOellXZGxLQ0JOWlhOellXZGxWSGx3WlM1VFpYUkZibVJ3YjJsdWRGUjVjR1VzSUcxeloxTmxkRVZ1WkhCdmFXNTBWSGx3WlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4eVhHNTlYSEpjYmx4eVhHNWNjbHh1Wlhod2IzSjBJR05zWVhOeklFTlZkR2xzYVhSNVJXNWtjRzlwYm5RZ1pYaDBaVzVrY3lCRFFXRnlaSFpoY210RmJtUndiMmx1ZEZ4eVhHNTdYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR1JsWm1GMWJIUklZVzVrYkdWeU9pQkJjM2x1WTAxbGMzTmhaMlZJWVc1a2JHVnlJRDBnYm5Wc2JDd2dhR0Z1WkhOb1lXdGxRMjl0Y0d4bGRHVTZJRTl3Wlc1SVlXNWtiR1Z5SUQwZ2JuVnNiQ0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjM1Z3WlhJb0lDZ3BJRDArSUhzZ2RHaHBjeTV2Yms5d1pXNG9LU0I5TENCb1lXNWtjMmhoYTJWRGIyMXdiR1YwWlN3Z1pHVm1ZWFZzZEVoaGJtUnNaWElnS1R0Y2NseHVYSFJjZEhSb2FYTXVZV3hzYjNkU1pXTnZibTVsWTNRb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrSUc5dVQzQmxiaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBZMjl1YzI5c1pTNXNiMmNvSUZ3aVEyOXVibVZqZEdWa1hDSWdLVHRjY2x4dVhIUmNkR3hsZENCdGMyZFRaWFJGYm1Sd2IybHVkRlI1Y0dVNklFMXpaMU5sZEVWdVpIQnZhVzUwVkhsd1pTQTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRzVsZDBWdVpIQnZhVzUwVkhsd1pUb2dSVzVrY0c5cGJuUlVlWEJsTGxWMGFXeHBkSGtzWEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTV6Wlc1a1RXVnpjMkZuWlNnZ1RXVnpjMkZuWlZSNWNHVXVVMlYwUlc1a2NHOXBiblJVZVhCbExDQnRjMmRUWlhSRmJtUndiMmx1ZEZSNWNHVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNjbHh1ZlZ4eVhHNWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZW5kcG9pbnQudHNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2VudGl0eV9jaGlsZC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZFbnRpdHlDaGlsZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZFbnRpdHlDaGlsZFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZFbnRpdHlDaGlsZDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKipcXHJcXG4gKiBDb250YWlucyB0aGUgbm9kZSB0aGF0IHtAbGluayBBdkludGVyZmFjZUVudGl0eX0gb2JqZWN0c1xcclxcbiAqIG11c3QgcHJvdmlkZSBmb3IgYWxsIHRoZWlyIGNoaWxkcmVuLlxcclxcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxcclxcbiAqXFxyXFxuICovXFxyXFxuXFxyXFxuXFxyXFxuLyoqIFByb3ZpZGVzIHRoZSB0cmFuc2Zvcm0gZm9yIGFuIGludGVyZmFjZSBlbnRpdHkgc29tZXdoZXJlIGVsc2UgaW4gdGhlIHNjZW5lIGdyYXBoIG9mIHRoaXNcXHJcXG4gKiBvciBzb21lIG90aGVyIGdhZGdldC4gVGhpcyBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwIG11c3QgYmUgZXN0YWJsaXNoZWQgdmlhIGludGVyZmFjZVxcclxcbiAqIGV2ZW50cywgYW5kIGJvdGggc2lkZXMgbmVlZCB0byBhZ3JlZSBvbiB3aGljaCBpbnRlcmZhY2UgZW50aXR5IGlzIHByb3ZpZGluZyB0aGUgcGFyZW50XFxyXFxuICogdHJhbnNmb3JtIG9mIHdoaWNoIG90aGVyIGludGVyZmFjZSBlbnRpdHkuXFxyXFxuICpcXHJcXG4gKiBUaGlzIG5vZGUgbXVzdCBiZSBhIGNoaWxkIG9mIGFuIEF2SW50ZXJmYWNlRW50aXR5IG5vZGUsIGFuZCB0aGUgbm9kZSBpdCByZXByZXNlbnRzIHRoZVxcclxcbiAqIHBvc2l0aW9uIGZvciBtdXN0IHNwZWNpZnkgdGhlIGdsb2JhbCBJRCBvZiB0aGF0IGludGVyZmFjZSBlbnRpdHkgYXMgaXRzIHBhcmVudC5cXHJcXG4gKi9cXHJcXG5jbGFzcyBBdkVudGl0eUNoaWxkIGV4dGVuZHMgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdkJhc2VOb2RlXFxcIl0ge1xcclxcbiAgICBidWlsZE5vZGUoKSB7XFxyXFxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZOb2RlVHlwZVxcXCJdLkNoaWxkLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIG5vZGUucHJvcENoaWxkQWRkciA9IHRoaXMucHJvcHMuY2hpbGQ7XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOWxiblJwZEhsZlkyaHBiR1F1ZEhONFB6RXlZbVVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCT3pzN096dEhRVXRITzBGQlEyZEZPMEZCUTBrN1FVRlhka1U3T3pzN096czdSMEZQUnp0QlFVTkpMRTFCUVUwc1lVRkJZeXhUUVVGUkxEaEVRVUZ2UXp0SlFVVXZSQ3hUUVVGVE8xRkJSV1lzU1VGQlNTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZGTEhORlFVRlZMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUXp0UlFVTndSU3hKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRM1JETEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJJc1EwRkJRenREUVVORUlpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDJWdWRHbDBlVjlqYUdsc1pDNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjY2x4dUlDb2dRMjl1ZEdGcGJuTWdkR2hsSUc1dlpHVWdkR2hoZENCN1FHeHBibXNnUVhaSmJuUmxjbVpoWTJWRmJuUnBkSGw5SUc5aWFtVmpkSE5jY2x4dUlDb2diWFZ6ZENCd2NtOTJhV1JsSUdadmNpQmhiR3dnZEdobGFYSWdZMmhwYkdSeVpXNHVYSEpjYmlBcUlFQndZV05yWVdkbFJHOWpkVzFsYm5SaGRHbHZibHh5WEc0Z0tpQmNjbHh1SUNvdlhISmNibWx0Y0c5eWRDQjdJRUYyUW1GelpVNXZaR1VzSUVGMlFtRnpaVTV2WkdWUWNtOXdjeUI5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWW1GelpWOXViMlJsSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpPYjJSbFZIbHdaU3dnUlc1a2NHOXBiblJCWkdSeUlIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1WEhKY2JpOHFLaUJRY205d2N5Qm1iM0lnZTBCc2FXNXJJRUYyUlc1MGFYUjVRMmhwYkdSOUxpQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGMlJXNTBhWFI1UTJocGJHUlFjbTl3Y3lCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdWUWNtOXdjMXh5WEc1N1hISmNibHgwTHlvcUlGUm9aU0JsYm1Sd2IybHVkQ0JoWkdSeVpYTnpJRzltSUhSb1pTQmphR2xzWkNCdWIyUmxJR1p2Y2lCM2FHbGphQ0IwYUdseklHbHpJSEJ5YjNacFpHbHVaMXh5WEc1Y2RDQXFJSFJvWlNCMGNtRnVjMlp2Y20wdVhISmNibHgwSUNvdlhISmNibHgwWTJocGJHUTZJRVZ1WkhCdmFXNTBRV1JrY2p0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUZCeWIzWnBaR1Z6SUhSb1pTQjBjbUZ1YzJadmNtMGdabTl5SUdGdUlHbHVkR1Z5Wm1GalpTQmxiblJwZEhrZ2MyOXRaWGRvWlhKbElHVnNjMlVnYVc0Z2RHaGxJSE5qWlc1bElHZHlZWEJvSUc5bUlIUm9hWE1nWEhKY2JpQXFJRzl5SUhOdmJXVWdiM1JvWlhJZ1oyRmtaMlYwTGlCVWFHbHpJSEJoY21WdWRDOWphR2xzWkNCeVpXeGhkR2x2Ym5Ob2FYQWdiWFZ6ZENCaVpTQmxjM1JoWW14cGMyaGxaQ0IyYVdFZ2FXNTBaWEptWVdObElGeHlYRzRnS2lCbGRtVnVkSE1zSUdGdVpDQmliM1JvSUhOcFpHVnpJRzVsWldRZ2RHOGdZV2R5WldVZ2IyNGdkMmhwWTJnZ2FXNTBaWEptWVdObElHVnVkR2wwZVNCcGN5QndjbTkyYVdScGJtY2dkR2hsSUhCaGNtVnVkRnh5WEc0Z0tpQjBjbUZ1YzJadmNtMGdiMllnZDJocFkyZ2diM1JvWlhJZ2FXNTBaWEptWVdObElHVnVkR2wwZVM1Y2NseHVJQ29nWEhKY2JpQXFJRlJvYVhNZ2JtOWtaU0J0ZFhOMElHSmxJR0VnWTJocGJHUWdiMllnWVc0Z1FYWkpiblJsY21aaFkyVkZiblJwZEhrZ2JtOWtaU3dnWVc1a0lIUm9aU0J1YjJSbElHbDBJSEpsY0hKbGMyVnVkSE1nZEdobFhISmNiaUFxSUhCdmMybDBhVzl1SUdadmNpQnRkWE4wSUhOd1pXTnBabmtnZEdobElHZHNiMkpoYkNCSlJDQnZaaUIwYUdGMElHbHVkR1Z5Wm1GalpTQmxiblJwZEhrZ1lYTWdhWFJ6SUhCaGNtVnVkQzVjY2x4dUlDb3ZYSEpjYm1WNGNHOXlkQ0JqYkdGemN5QkJka1Z1ZEdsMGVVTm9hV3hrSUdWNGRHVnVaSE1nUVhaQ1lYTmxUbTlrWlR3Z1FYWkZiblJwZEhsRGFHbHNaRkJ5YjNCekxDQjdmU0ErWEhKY2JudGNjbHh1WEhSd2RXSnNhV01nWW5WcGJHUk9iMlJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ2JtOWtaU0E5SUhSb2FYTXVZM0psWVhSbFRtOWtaVTlpYW1WamRDZ2dRWFpPYjJSbFZIbHdaUzVEYUdsc1pDd2dkR2hwY3k1dFgyNXZaR1ZKWkNBcE8xeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1EyaHBiR1JCWkdSeUlEMGdkR2hwY3k1d2NtOXdjeTVqYUdsc1pEdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWIyUmxPMXh5WEc1Y2RIMWNjbHh1ZlNKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEdldEdhZGdldFVybEZyb21XaW5kb3csIEF2R2FkZ2V0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHZXRHYWRnZXRVcmxGcm9tV2luZG93XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHZXRHYWRnZXRVcmxGcm9tV2luZG93OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZHYWRnZXQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0ICovIFxcXCIuL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2dhZGdldF9lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9nYWRnZXRfZW5kcG9pbnQgKi8gXFxcIi4vc3JjL2dhZGdldF9lbmRwb2ludC50c1xcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbmNvbnN0IGVxdWFsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZmFzdC1kZWVwLWVxdWFsICovIFxcXCIuL25vZGVfbW9kdWxlcy9mYXN0LWRlZXAtZXF1YWwvaW5kZXguanNcXFwiKTtcXHJcXG5mdW5jdGlvbiBwYXJzZVVSTCh1cmwpIHtcXHJcXG4gICAgdmFyIHBhcnNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKSwgc2VhcmNoT2JqZWN0ID0ge30sIHF1ZXJpZXMsIHNwbGl0LCBpO1xcclxcbiAgICAvLyBMZXQgdGhlIGJyb3dzZXIgZG8gdGhlIHdvcmtcXHJcXG4gICAgcGFyc2VyLmhyZWYgPSB1cmw7XFxyXFxuICAgIC8vIENvbnZlcnQgcXVlcnkgc3RyaW5nIHRvIG9iamVjdFxcclxcbiAgICBxdWVyaWVzID0gcGFyc2VyLnNlYXJjaC5yZXBsYWNlKC9eXFxcXD8vLCAnJykuc3BsaXQoJyYnKTtcXHJcXG4gICAgZm9yIChpID0gMDsgaSA8IHF1ZXJpZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgIHNwbGl0ID0gcXVlcmllc1tpXS5zcGxpdCgnPScpO1xcclxcbiAgICAgICAgc2VhcmNoT2JqZWN0W3NwbGl0WzBdXSA9IHNwbGl0WzFdO1xcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBzZWFyY2hPYmplY3Q7XFxyXFxufVxcclxcbmZ1bmN0aW9uIGdldEJvb2xlYW5BY3Rpb25Gcm9tU3RhdGUoYWN0aW9uLCBzdGF0ZSkge1xcclxcbiAgICBpZiAoIXN0YXRlKVxcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkE6IHJldHVybiBzdGF0ZS5hO1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkI6IHJldHVybiBzdGF0ZS5iO1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkdyYWI6IHJldHVybiBzdGF0ZS5ncmFiO1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkdyYWJTaG93UmF5OiByZXR1cm4gc3RhdGUuZ3JhYlNob3dSYXk7XFxyXFxuICAgICAgICBjYXNlIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uU3F1ZWV6ZTogcmV0dXJuIHN0YXRlLnNxdWVlemU7XFxyXFxuICAgICAgICBjYXNlIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uRGV0YWNoOiByZXR1cm4gc3RhdGUuZGV0YWNoO1xcclxcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxufVxcclxcbmZ1bmN0aW9uIEdldEdhZGdldFVybEZyb21XaW5kb3coKSB7XFxyXFxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXFxyXFxuICAgICAgICArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgwLCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUubGFzdEluZGV4T2YoXFxcIi9cXFwiKSk7XFxyXFxufVxcclxcbi8qKiBUaGUgc2luZ2xldG9uIGdhZGdldCBvYmplY3QgZm9yIHRoZSBicm93c2VyLiAqL1xcclxcbmNsYXNzIEF2R2FkZ2V0IHtcXHJcXG4gICAgY29uc3RydWN0b3IoKSB7XFxyXFxuICAgICAgICB0aGlzLm1fb25TZXR0aW5nc1JlY2VpdmVkID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9uZXh0Tm9kZUlkID0gMTtcXHJcXG4gICAgICAgIHRoaXMubV9yZWdpc3RlcmVkTm9kZXMgPSB7fTtcXHJcXG4gICAgICAgIHRoaXMubV9uZXh0RnJhbWVSZXF1ZXN0ID0gMDtcXHJcXG4gICAgICAgIHRoaXMubV90cmF2ZXJzZWROb2RlcyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2VuZHBvaW50ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9tYW5pZmVzdCA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0dWFsR2FkZ2V0VXJpID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9hY3Rpb25TdGF0ZSA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2VwVG9Ob3RpZnkgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2ZpcnN0U2NlbmVHcmFwaCA9IHRydWU7XFxyXFxuICAgICAgICB0aGlzLm1faW5pdGlhbEludGVyZmFjZXMgPSBbXTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludE9wZW5lZCA9IGZhbHNlO1xcclxcbiAgICAgICAgdGhpcy5tX2FjdGl2ZVdhaXRGb3JDb25uZWN0UmVqZWN0ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlc29sdmUgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2ludGVyZmFjZUV2ZW50UHJvY2Vzc29ycyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2ludGVyZmFjZUVudGl0eVByb2Nlc3NvcnMgPSBuZXcgTWFwKCk7XFxyXFxuICAgICAgICB0aGlzLm1fc3RhcnRHYWRnZXRQcm9taXNlcyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2FjdGlvblN0YXRlTGlzdGVuZXJzID0ge307XFxyXFxuICAgICAgICB0aGlzLm1fYWN0dWFsR2FkZ2V0VXJpID0gR2V0R2FkZ2V0VXJsRnJvbVdpbmRvdygpO1xcclxcbiAgICAgICAgbGV0IHBhcmFtcyA9IHBhcnNlVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcXHJcXG4gICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgaWYgKHBhcmFtc1tcXFwiaW5pdGlhbEludGVyZmFjZXNcXFwiXSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1faW5pdGlhbEludGVyZmFjZXMgPSBKU09OLnBhcnNlKGF0b2IocGFyYW1zW1xcXCJpbml0aWFsSW50ZXJmYWNlc1xcXCJdKSk7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJpbml0aWFsSW50ZXJmYWNlc1xcXCIsIHRoaXMubV9pbml0aWFsSW50ZXJmYWNlcyk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgZmFpbGVkIHRvIHBhcnNlIGluaXRpYWwgaW50ZXJmYWNlcyAke2V9YCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAocGFyYW1zW1xcXCJlcFRvTm90aWZ5XFxcIl0pIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fZXBUb05vdGlmeSA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwic3RyaW5nVG9FbmRwb2ludEFkZHJcXFwiXSkocGFyYW1zW1xcXCJlcFRvTm90aWZ5XFxcIl0pO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJUaGlzIGdhZGdldCB3YW50cyB0byBub3RpZnkgXFxcIiArIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkodGhpcy5tX2VwVG9Ob3RpZnkpKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludCA9IG5ldyBfZ2FkZ2V0X2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkNHYWRnZXRFbmRwb2ludFxcXCJdKHRoaXMubV9hY3R1YWxHYWRnZXRVcmksIHRoaXMub25FbmRwb2ludE9wZW4pO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGluaXRpYWwgZW5kcG9pbnQgaGFuZHNoYWtlIGlzIGNvbXBsZXRlXFxyXFxuICAgICAqXFxyXFxuICAgICAqIEBwdWJsaWNcXHJcXG4gICAgICovXFxyXFxuICAgIHdhaXRGb3JDb25uZWN0KCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlamVjdCkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlamVjdChcXFwiQW5vdGhlciBjYWxsZXIgcmVnaXN0ZXJlZCBhIHByb21pc2VcXFwiKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmNsZWFyV2FpdEZvckNvbm5lY3QoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMubV9lbmRwb2ludE9wZW5lZClcXHJcXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlamVjdCA9IHJlamVjdDtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fYWN0aXZlV2FpdEZvckNvbm5lY3RSZXNvbHZlID0gcmVzb2x2ZTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGNsZWFyV2FpdEZvckNvbm5lY3QoKSB7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aXZlV2FpdEZvckNvbm5lY3RSZWplY3QgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2FjdGl2ZVdhaXRGb3JDb25uZWN0UmVzb2x2ZSA9IG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgb25FbmRwb2ludE9wZW4oc2V0dGluZ3MpIHtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5nZXRHYWRnZXRNYW5pZmVzdCh0aGlzLm1fYWN0dWFsR2FkZ2V0VXJpKVxcclxcbiAgICAgICAgICAgIC50aGVuKChtYW5pZmVzdCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9tYW5pZmVzdCA9IG1hbmlmZXN0O1xcclxcbiAgICAgICAgICAgIHRoaXMubWFya0RpcnR5KCk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckhhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uR2FkZ2V0U3RhcnRlZCwgdGhpcy5vbkdhZGdldFN0YXJ0ZWQpO1xcclxcbiAgICAgICAgdGhpcy5tX2VuZHBvaW50LnJlZ2lzdGVySGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5VcGRhdGVBY3Rpb25TdGF0ZSwgdGhpcy5vblVwZGF0ZUFjdGlvblN0YXRlKTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckhhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uUmVzb3VyY2VMb2FkRmFpbGVkLCB0aGlzLm9uUmVzb3VyY2VMb2FkRmFpbGVkKTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckFzeW5jSGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VFdmVudCwgdGhpcy5vbkludGVyZmFjZUV2ZW50KTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckFzeW5jSGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VTdGFydGVkLCB0aGlzLm9uSW50ZXJmYWNlU3RhcnRlZCk7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJBc3luY0hhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlRW5kZWQsIHRoaXMub25JbnRlcmZhY2VFbmRlZCk7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJBc3luY0hhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlUmVjZWl2ZUV2ZW50LCB0aGlzLm9uSW50ZXJmYWNlUmVjZWl2ZWRFdmVudCk7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJBc3luY0hhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlVHJhbnNmb3JtVXBkYXRlZCwgdGhpcy5vbkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWQpO1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9vblNldHRpbmdzUmVjZWl2ZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fb25TZXR0aW5nc1JlY2VpdmVkKHNldHRpbmdzKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludE9wZW5lZCA9IHRydWU7XFxyXFxuICAgICAgICBpZiAodGhpcy5tX2FjdGl2ZVdhaXRGb3JDb25uZWN0UmVzb2x2ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlc29sdmUoKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmNsZWFyV2FpdEZvckNvbm5lY3QoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICAvKiogUmV0dXJucyB0aGUgQXZHYWRnZXQgc2luZ2xldG9uLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICAqL1xcclxcbiAgICBzdGF0aWMgaW5zdGFuY2UoKSB7XFxyXFxuICAgICAgICBpZiAoIUF2R2FkZ2V0LnNfaW5zdGFuY2UpIHtcXHJcXG4gICAgICAgICAgICBBdkdhZGdldC5zX2luc3RhbmNlID0gbmV3IEF2R2FkZ2V0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gQXZHYWRnZXQuc19pbnN0YW5jZTtcXHJcXG4gICAgfVxcclxcbiAgICAvKiogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZ2FkZ2V0LlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICovXFxyXFxuICAgIGdldE5hbWUoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5tX21hbmlmZXN0KSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubV9tYW5pZmVzdC5uYW1lO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubV9hY3R1YWxHYWRnZXRVcmk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgdGhlIGdhZGdldCdzIG1hbmlmZXN0ICovXFxyXFxuICAgIGdldCBtYW5pZmVzdCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLm1fbWFuaWZlc3Q7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgdGhlIFVSTCBvZiB0aGUgZ2FkZ2V0LiAqL1xcclxcbiAgICBnZXQgdXJsKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9hY3R1YWxHYWRnZXRVcmk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFRoZSBpbml0aWFsIHBhcmVudCByZXF1ZXN0ZWQgYnkgd2hvbWV2ZXIgc3RhcnRlZCB0aGlzIGdhZGdldC4gKi9cXHJcXG4gICAgZ2V0IGluaXRpYWxJbnRlcmZhY2VzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9pbml0aWFsSW50ZXJmYWNlcztcXHJcXG4gICAgfVxcclxcbiAgICAvKiogUmV0dXJucyBhIHNwZWNpZmljIGluaXRpYWwgaW50ZXJmYWNlIGxvY2sgaWYgaXQgZXhpc3RzLiAqL1xcclxcbiAgICBmaW5kSW5pdGlhbEludGVyZmFjZShpbnRlZmFjZU5hbWUpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLm1faW5pdGlhbEludGVyZmFjZXMuZmluZCgobG9jaykgPT4gbG9jay5pZmFjZSA9PSBpbnRlZmFjZU5hbWUpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBMb2FkcyBhIGdhZGdldCBtYW5pZmVzdCBieSBnYWRnZXQgVVJJLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIHJlc29sdmUgdG8gdGhlIHNwZWNpZmllZCBnYWRnZXQncyBtYW5pZmVzdFxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICAqL1xcclxcbiAgICBsb2FkTWFuaWZlc3QoZ2FkZ2V0VXJpKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5tX2VuZHBvaW50LmdldEdhZGdldE1hbmlmZXN0KGdhZGdldFVyaSk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgYSBsaXN0IG9mIGFsbCB0aGUgaW5zdGFsbGVkIGdhZGdldCdzIFVSSXMuXFxyXFxuICAgICAqXFxyXFxuICAgICAqIEBwdWJsaWNcXHJcXG4gICAgKi9cXHJcXG4gICAgZ2V0SW5zdGFsbGVkR2FkZ2V0cygpIHtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKFxcXCJSZXF1ZXN0aW5nIGluc3RhbGxlZCBnYWRnZXRzXFxcIik7XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xcclxcbiAgICAgICAgICAgIGxldCBtID0ge307XFxyXFxuICAgICAgICAgICAgdGhpcy5tX2VuZHBvaW50LnNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdldEluc3RhbGxlZEdhZGdldHMsIG0sIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdldEluc3RhbGxlZEdhZGdldHNSZXNwb25zZSlcXHJcXG4gICAgICAgICAgICAgICAgLnRoZW4oKFtyZXNwLCBlbnZdKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcC5pbnN0YWxsZWRHYWRnZXRzKTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHJlZ2lzdGVyKG5vZGUpIHtcXHJcXG4gICAgICAgIC8vY29uc29sZS5sb2coIFxcXCJhc3NpZ25pbmcgaWRcXFwiLCB0aGlzLm1fbmV4dE5vZGVJZCApO1xcclxcbiAgICAgICAgbm9kZS5tX25vZGVJZCA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICB0aGlzLm1fcmVnaXN0ZXJlZE5vZGVzW25vZGUubV9ub2RlSWRdID0gbm9kZTtcXHJcXG4gICAgICAgIHRoaXMubWFya0RpcnR5KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgdW5yZWdpc3Rlcihub2RlKSB7XFxyXFxuICAgICAgICBpZiAobm9kZS5tX25vZGVJZCkge1xcclxcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLm1fcmVnaXN0ZXJlZE5vZGVzW25vZGUubV9ub2RlSWRdO1xcclxcbiAgICAgICAgICAgIG5vZGUubV9ub2RlSWQgPSB1bmRlZmluZWQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB0aGlzLm1hcmtEaXJ0eSgpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldEVuZHBvaW50SWQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkdhZGdldFN0YXJ0ZWQobSwgZW52KSB7XFxyXFxuICAgICAgICBsZXQgcHJvY2Vzc29yID0gdGhpcy5tX3N0YXJ0R2FkZ2V0UHJvbWlzZXNbZW52LnRhcmdldC5ub2RlSWRdO1xcclxcbiAgICAgICAgaWYgKHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgIHByb2Nlc3NvclswXSh7XFxyXFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgIHN0YXJ0ZWRHYWRnZXRFbmRwb2ludElkOiBtLnN0YXJ0ZWRHYWRnZXRFbmRwb2ludElkLFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLm1fc3RhcnRHYWRnZXRQcm9taXNlc1tlbnYudGFyZ2V0Lm5vZGVJZF07XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgc2V0SW50ZXJmYWNlRW50aXR5UHJvY2Vzc29yKG5vZGVJZCwgcHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICB0aGlzLm1faW50ZXJmYWNlRW50aXR5UHJvY2Vzc29ycy5zZXQobm9kZUlkLCBwcm9jZXNzb3IpO1xcclxcbiAgICAgICAgdGhpcy5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBjbGVhckludGVyZmFjZUVudGl0eVByb2Nlc3Nvcihub2RlSWQpIHtcXHJcXG4gICAgICAgIHRoaXMubV9pbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3JzLmRlbGV0ZShub2RlSWQpO1xcclxcbiAgICAgICAgdGhpcy5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXRJbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3IoZXBhKSB7XFxyXFxuICAgICAgICBpZiAoZXBhLmVuZHBvaW50SWQgIT0gdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKSkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9pbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3JzLmdldChlcGEubm9kZUlkKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkludGVyZmFjZVN0YXJ0ZWQobSwgZW52KSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgaW50ZXJmYWNlIHN0YXJ0IGZvciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiaW50ZXJmYWNlU3RyaW5nRnJvbU1zZ1xcXCJdKShtKX1gKTtcXHJcXG4gICAgICAgICAgICBsZXQgcHJvY2Vzc29yID0gdGhpcy5nZXRJbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3IoZW52LnRhcmdldCk7XFxyXFxuICAgICAgICAgICAgaWYgKHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgICAgICBwcm9jZXNzb3Iuc3RhcnRlZChtKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKCFwcm9jZXNzb3IpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFJlY2VpdmVkIGludGVyZmFjZSBzdGFydCBmb3IgJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImludGVyZmFjZVN0cmluZ0Zyb21Nc2dcXFwiXSkobSl9LGBcXHJcXG4gICAgICAgICAgICAgICAgICAgICsgYCB3aGljaCBkb2Vzbid0IGhhdmUgYSBwcm9jZXNzb3JgKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkludGVyZmFjZUVuZGVkKG0sIGVudikge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgbGV0IHByb2Nlc3NvciA9IHRoaXMuZ2V0SW50ZXJmYWNlRW50aXR5UHJvY2Vzc29yKGVudi50YXJnZXQpO1xcclxcbiAgICAgICAgICAgIGlmIChwcm9jZXNzb3IpIHtcXHJcXG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yLmVuZGVkKG0udHJhbnNtaXR0ZXIsIG0ucmVjZWl2ZXIsIG0uaWZhY2UsIG0udHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIsIG0uaW50ZXJzZWN0aW9uUG9pbnQpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBpZiAoIXByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgaW50ZXJmYWNlIHN0YXJ0IGZvciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiaW50ZXJmYWNlU3RyaW5nRnJvbU1zZ1xcXCJdKShtKX0sYFxcclxcbiAgICAgICAgICAgICAgICAgICAgKyBgIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIHByb2Nlc3NvcmApO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW50ZXJmYWNlUmVjZWl2ZWRFdmVudChtLCBlbnYpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBwcm9jZXNzb3IgPSB0aGlzLmdldEludGVyZmFjZUVudGl0eVByb2Nlc3NvcihtLmRlc3RpbmF0aW9uKTtcXHJcXG4gICAgICAgICAgICBpZiAocHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci5ldmVudChtLmRlc3RpbmF0aW9uLCBtLnBlZXIsIG0uaWZhY2UsIG0uZXZlbnQsIG0uZGVzdGluYXRpb25Gcm9tUGVlciwgbS5pbnRlcnNlY3Rpb25Qb2ludCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmICghcHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZWNlaXZlZCBpbnRlcmZhY2UgZXZlbnQgZm9yICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShtLmRlc3RpbmF0aW9uKX0sYFxcclxcbiAgICAgICAgICAgICAgICAgICAgKyBgIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIHByb2Nlc3NvcmApO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW50ZXJmYWNlVHJhbnNmb3JtVXBkYXRlZChtLCBlbnYpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBwcm9jZXNzb3IgPSB0aGlzLmdldEludGVyZmFjZUVudGl0eVByb2Nlc3NvcihtLmRlc3RpbmF0aW9uKTtcXHJcXG4gICAgICAgICAgICBpZiAocHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci50cmFuc2Zvcm1VcGRhdGVkKG0uZGVzdGluYXRpb24sIG0ucGVlciwgbS5pZmFjZSwgbS5kZXN0aW5hdGlvbkZyb21QZWVyLCBtLmludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKCFwcm9jZXNzb3IpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFJlY2VpdmVkIGludGVyZmFjZSB0cmFuc2Zvcm1VcGRhdGVkIGZvciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkobS5kZXN0aW5hdGlvbil9LGBcXHJcXG4gICAgICAgICAgICAgICAgICAgICsgYCB3aGljaCBkb2Vzbid0IGhhdmUgYSBwcm9jZXNzb3JgKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBzZXRJbnRlcmZhY2VFdmVudFByb2Nlc3Nvcihub2RlSWQsIHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgdGhpcy5tX2ludGVyZmFjZUV2ZW50UHJvY2Vzc29yc1tub2RlSWRdID0gcHJvY2Vzc29yO1xcclxcbiAgICAgICAgdGhpcy5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kSW50ZXJmYWNlRXZlbnQobm9kZUlkLCBkZXN0aW5hdGlvbiwgaWZhY2UsIGRhdGEpIHtcXHJcXG4gICAgICAgIGxldCBtID0ge1xcclxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLFxcclxcbiAgICAgICAgICAgIGludGVyZmFjZTogaWZhY2UsXFxyXFxuICAgICAgICAgICAgZGF0YSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICBpZiAoZGVzdGluYXRpb24uZW5kcG9pbnRJZCA9PSB0aGlzLm1fZW5kcG9pbnQuZ2V0RW5kcG9pbnRJZCgpKSB7XFxyXFxuICAgICAgICAgICAgbGV0IGVudiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlRXZlbnQsXFxyXFxuICAgICAgICAgICAgICAgIHNlbmRlcjogeyB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uTm9kZSwgZW5kcG9pbnRJZDogdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKSwgbm9kZUlkIH0sXFxyXFxuICAgICAgICAgICAgICAgIHNlcXVlbmNlTnVtYmVyOiAtMSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaXMgYSBsb2NhbCBzZW5kLCBqdXN0IGJvdW5jZSBpdCBiYWNrIHRvIG91ciBvd24gbm9kZVxcclxcbiAgICAgICAgICAgIC8vIERvZXMgdGhpcyBuZWVkIHRvIGJlIGFzeW5jP1xcclxcbiAgICAgICAgICAgIHRoaXMub25JbnRlcmZhY2VFdmVudChtLCBlbnYpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VFdmVudCwgbSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VFdmVudChtLCBlbnYpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBwcm9jZXNzb3IgPSB0aGlzLm1faW50ZXJmYWNlRXZlbnRQcm9jZXNzb3JzW20uZGVzdGluYXRpb24ubm9kZUlkXTtcXHJcXG4gICAgICAgICAgICBpZiAoIXByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgaW50ZXJmYWNlIGV2ZW50IGZvciAke20uZGVzdGluYXRpb24ubm9kZUlkfSwgd2hpY2ggZG9lc24ndCBoYXZlIGEgcHJvY2Vzc29yYCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBwcm9jZXNzb3IobS5pbnRlcmZhY2UsIGVudi5zZW5kZXIsIG0uZGF0YSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25SZXNvdXJjZUxvYWRGYWlsZWQobSkge1xcclxcbiAgICAgICAgY29uc29sZS5lcnJvcihgUmVzb3VyY2UgbG9hZCBmYWlsZWQgZm9yICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShtLm5vZGVJZCl9LmBcXHJcXG4gICAgICAgICAgICArIGAgdXJpPSR7bS5yZXNvdXJjZVVyaX0gZXJyb3I9JHttLmVycm9yfWApO1xcclxcbiAgICB9XFxyXFxuICAgIGxpc3RlbkZvckFjdGlvblN0YXRlKGFjdGlvbiwgaGFuZCwgcmlzaW5nLCBmYWxsaW5nKSB7XFxyXFxuICAgICAgICBpZiAoYWN0aW9uID09IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uR3JhYk1vdmUpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGxpc3RlbkZvckFjdGlvblN0YXRlIGZvciAke19hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl1bYWN0aW9uXX0gd2hpY2ggaXMgdmVjdG9yMmApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGhhbmRsZSA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aW9uU3RhdGVMaXN0ZW5lcnNbaGFuZGxlXSA9XFxyXFxuICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICBoYW5kLFxcclxcbiAgICAgICAgICAgICAgICBhY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgIHJpc2luZyxcXHJcXG4gICAgICAgICAgICAgICAgZmFsbGluZyxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgcmV0dXJuIGhhbmRsZTtcXHJcXG4gICAgfVxcclxcbiAgICBsaXN0ZW5Gb3JWZWN0b3IyQWN0aW9uU3RhdGUoYWN0aW9uLCBoYW5kLCB1cGRhdGUpIHtcXHJcXG4gICAgICAgIGlmIChhY3Rpb24gIT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVBY3Rpb25cXFwiXS5HcmFiTW92ZSkge1xcclxcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbGlzdGVuRm9yVmVjdG9yMkFjdGlvblN0YXRlIGZvciAke19hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl1bYWN0aW9uXX0gd2hpY2ggaXMgYm9vbGVhbmApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGhhbmRsZSA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aW9uU3RhdGVMaXN0ZW5lcnNbaGFuZGxlXSA9XFxyXFxuICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICBoYW5kLFxcclxcbiAgICAgICAgICAgICAgICBhY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgIHVwZGF0ZSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgcmV0dXJuIGhhbmRsZTtcXHJcXG4gICAgfVxcclxcbiAgICBsaXN0ZW5Gb3JBY3Rpb25TdGF0ZVdpdGhDb21wb25lbnQoaGFuZCwgYWN0aW9uLCBjb21wKSB7XFxyXFxuICAgICAgICBsZXQgZm4gPSAoKSA9PiB7IGNvbXAuZm9yY2VVcGRhdGUoKTsgfTtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RlbkZvckFjdGlvblN0YXRlKGFjdGlvbiwgaGFuZCwgZm4sIGZuKTtcXHJcXG4gICAgfVxcclxcbiAgICB1bmxpc3RlbkZvckFjdGlvblN0YXRlKGhhbmRsZSkge1xcclxcbiAgICAgICAgZGVsZXRlIHRoaXMubV9hY3Rpb25TdGF0ZUxpc3RlbmVyc1toYW5kbGVdO1xcclxcbiAgICB9XFxyXFxuICAgIG9uVXBkYXRlQWN0aW9uU3RhdGUobSwgZW52KSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgb2xkU3RhdGUgPSB0aGlzLm1fYWN0aW9uU3RhdGVbbS5oYW5kXTtcXHJcXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IG0uYWN0aW9uU3RhdGU7XFxyXFxuICAgICAgICBpZiAoIWVxdWFsKG5ld1N0YXRlLCBvbGRTdGF0ZSkpIHtcXHJcXG4gICAgICAgICAgICAvLyBTZXQgdGhlIHN0YXRlIGZpcnN0IGluIGNhc2UgYW55IG9mIHRoZSBsaXN0ZW5lcnMgcmVhZCBpdFxcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3Rpb25TdGF0ZVttLmhhbmRdID0gbS5hY3Rpb25TdGF0ZTtcXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBoYW5kbGUgaW4gdGhpcy5tX2FjdGlvblN0YXRlTGlzdGVuZXJzKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBsaXN0ZW5lciA9IHRoaXMubV9hY3Rpb25TdGF0ZUxpc3RlbmVyc1toYW5kbGVdO1xcclxcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaGFuZCA9PSBtLmhhbmQgfHwgbGlzdGVuZXIuaGFuZCA9PSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUhhbmRcXFwiXS5JbnZhbGlkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuYWN0aW9uID09IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uR3JhYk1vdmUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBsaXN0ZW5lci51cGRhdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGxpc3RlbmVyLCBuZXdTdGF0ZS5ncmFiTW92ZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2xkQWN0aW9uID0gZ2V0Qm9vbGVhbkFjdGlvbkZyb21TdGF0ZShsaXN0ZW5lci5hY3Rpb24sIG9sZFN0YXRlKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3QWN0aW9uID0gZ2V0Qm9vbGVhbkFjdGlvbkZyb21TdGF0ZShsaXN0ZW5lci5hY3Rpb24sIG5ld1N0YXRlKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9sZEFjdGlvbiAmJiBuZXdBY3Rpb24gJiYgbGlzdGVuZXIucmlzaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLnJpc2luZygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvbGRBY3Rpb24gJiYgIW5ld0FjdGlvbiAmJiBsaXN0ZW5lci5mYWxsaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmZhbGxpbmcoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2FkZ2V0IGlzIGluIGVkaXQgbW9kZSBmb3IgdGhlXFxyXFxuICAgICAqIHNwZWNpZmllZCBoYW5kLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICAqL1xcclxcbiAgICBnZXRBY3Rpb25TdGF0ZUZvckhhbmQoaGFuZCwgYWN0aW9uKSB7XFxyXFxuICAgICAgICBpZiAoaGFuZCA9PSB1bmRlZmluZWQgfHwgaGFuZCA9PSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUhhbmRcXFwiXS5JbnZhbGlkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5BY3Rpb25Gcm9tU3RhdGUoYWN0aW9uLCB0aGlzLm1fYWN0aW9uU3RhdGVbX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVIYW5kXFxcIl0uTGVmdF0pXFxyXFxuICAgICAgICAgICAgICAgIHx8IGdldEJvb2xlYW5BY3Rpb25Gcm9tU3RhdGUoYWN0aW9uLCB0aGlzLm1fYWN0aW9uU3RhdGVbX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVIYW5kXFxcIl0uUmlnaHRdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBnZXRCb29sZWFuQWN0aW9uRnJvbVN0YXRlKGFjdGlvbiwgdGhpcy5tX2FjdGlvblN0YXRlW2hhbmRdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICB0cmF2ZXJzZU5vZGUoZG9tTm9kZSkge1xcclxcbiAgICAgICAgbGV0IGxvd2VyTmFtZSA9IGRvbU5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcXHJcXG4gICAgICAgIGxldCBub2RlID0gbnVsbDtcXHJcXG4gICAgICAgIHN3aXRjaCAobG93ZXJOYW1lKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBcXFwiYXYtbm9kZVxcXCI6XFxyXFxuICAgICAgICAgICAgICAgIGxldCBhdHRyID0gZG9tTm9kZS5nZXRBdHRyaWJ1dGUoXFxcIm5vZGVJZFxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICBpZiAoYXR0cikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGVJZCA9IHBhcnNlSW50KGF0dHIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlYWN0Tm9kZSA9IHRoaXMubV9yZWdpc3RlcmVkTm9kZXNbbm9kZUlkXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWFjdE5vZGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlID0gcmVhY3ROb2RlLmNyZWF0ZU5vZGVGb3JOb2RlKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tX3RyYXZlcnNlZE5vZGVzW25vZGVJZF0gPSByZWFjdE5vZGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IG4gPSAwOyBuIDwgZG9tTm9kZS5jaGlsZHJlbi5sZW5ndGg7IG4rKykge1xcclxcbiAgICAgICAgICAgIGxldCBjaGlsZERvbU5vZGUgPSBkb21Ob2RlLmNoaWxkcmVuLml0ZW0obik7XFxyXFxuICAgICAgICAgICAgaWYgKGNoaWxkRG9tTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBkZXNjZW5jZW50cyA9IHRoaXMudHJhdmVyc2VOb2RlKGNoaWxkRG9tTm9kZSk7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChkZXNjZW5jZW50cyAmJiBkZXNjZW5jZW50cy5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChkZXNjZW5jZW50cyk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAvLyBmaWd1cmUgb3V0IHdoYXQgdG8gcmV0dXJuXFxyXFxuICAgICAgICBpZiAobm9kZSkge1xcclxcbiAgICAgICAgICAgIC8vIGlmIHdlIGdvdCBhIG5vZGUgZnJvbSB0aGUgRE9NLCByZXR1cm4gdGhhdFxcclxcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4gPSBjaGlsZHJlbjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgcmV0dXJuIFtub2RlXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcXHJcXG4gICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGNoaWxkcmVuIGJ1dCBubyBub2RlLCBqdXN0IHJldHVyblxcclxcbiAgICAgICAgICAgIC8vIHRoZSBjaGlsZHJlbi4gVGhpcyBub2RlIGlzIGEgbm8tb3AuXFxyXFxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgLy8gb3RoZXJ3aXNlLCB3ZSd2ZSBnb3Qgbm90aGluZ1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZVNjZW5lR3JhcGgoKSB7XFxyXFxuICAgICAgICBpZiAoIXRoaXMubV9tYW5pZmVzdCkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJVcGRhdGluZyBzY2VuZSBncmFwaCBiZWZvcmUgbWFuaWZlc3Qgd2FzIGxvYWRlZFxcXCIpO1xcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV90cmF2ZXJzZWROb2RlcyA9IHt9O1xcclxcbiAgICAgICAgbGV0IHJvb3ROb2RlcyA9IHRoaXMudHJhdmVyc2VOb2RlKGRvY3VtZW50LmJvZHkpO1xcclxcbiAgICAgICAgbGV0IG1zZyA9IHt9O1xcclxcbiAgICAgICAgaWYgKHJvb3ROb2RlcyAmJiByb290Tm9kZXMubGVuZ3RoID4gMCkge1xcclxcbiAgICAgICAgICAgIGlmIChyb290Tm9kZXMubGVuZ3RoID4gMSkge1xcclxcbiAgICAgICAgICAgICAgICBtc2cucm9vdCA9XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5Db250YWluZXIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFTm9kZUZsYWdzXFxcIl0uVmlzaWJsZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogcm9vdE5vZGVzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIG1zZy5yb290ID0gcm9vdE5vZGVzWzBdO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5VcGRhdGVTY2VuZUdyYXBoLCBtc2cpO1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9maXJzdFNjZW5lR3JhcGgpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fZmlyc3RTY2VuZUdyYXBoID0gZmFsc2U7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMubV9lcFRvTm90aWZ5KSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBtc2dTdGFydGVkID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgZXBUb05vdGlmeTogdGhpcy5tX2VwVG9Ob3RpZnksXFxyXFxuICAgICAgICAgICAgICAgICAgICBzdGFydGVkR2FkZ2V0RW5kcG9pbnRJZDogdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX2VuZHBvaW50LnNlbmRNZXNzYWdlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdhZGdldFN0YXJ0ZWQsIG1zZ1N0YXJ0ZWQpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9uZXh0RnJhbWVSZXF1ZXN0ID0gMDtcXHJcXG4gICAgfVxcclxcbiAgICBtYXJrRGlydHkoKSB7XFxyXFxuICAgICAgICBpZiAoIXRoaXMubV9tYW5pZmVzdCkge1xcclxcbiAgICAgICAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgb3VyIG1hbmlmZXN0IHlldCwgd2UgY2FuJ3QgdXBkYXRlIHRoZSBzY2VuZSBncmFwaC5cXHJcXG4gICAgICAgICAgICAvLyBXZSdsbCB1cGRhdGUgYXV0b21hdGljYWxseSBvbmNlIHRoYXQgY29tZXMgaW4uXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMubV9uZXh0RnJhbWVSZXF1ZXN0ID09IDApIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fbmV4dEZyYW1lUmVxdWVzdCA9IHdpbmRvdy5zZXRUaW1lb3V0KHRoaXMudXBkYXRlU2NlbmVHcmFwaCwgMSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEhhcHRpY0V2ZW50KG5vZGVJZCwgYW1wbGl0dWRlLCBmcmVxdWVuY3ksIGR1cmF0aW9uKSB7XFxyXFxuICAgICAgICBsZXQgbXNnID0ge1xcclxcbiAgICAgICAgICAgIG5vZGVJZCxcXHJcXG4gICAgICAgICAgICBhbXBsaXR1ZGUsXFxyXFxuICAgICAgICAgICAgZnJlcXVlbmN5LFxcclxcbiAgICAgICAgICAgIGR1cmF0aW9uLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5Ob2RlSGFwdGljLCBtc2cpO1xcclxcbiAgICB9XFxyXFxuICAgIHN0YXJ0R2FkZ2V0KHVyaSwgaW5pdGlhbEludGVyZmFjZXMpIHtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgbGV0IG5vdGlmeU5vZGVJZCA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICAgICAgdGhpcy5tX3N0YXJ0R2FkZ2V0UHJvbWlzZXNbbm90aWZ5Tm9kZUlkXSA9IFtyZXNvbHZlLCByZWplY3RdO1xcclxcbiAgICAgICAgICAgIGxldCBpbml0aWFsSW50ZXJmYWNlc0VuY29kZWQgPSBidG9hKEpTT04uc3RyaW5naWZ5KGluaXRpYWxJbnRlcmZhY2VzKSk7XFxyXFxuICAgICAgICAgICAgbGV0IGVwVG9Ob3RpZnkgPSB7XFxyXFxuICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Ob2RlLFxcclxcbiAgICAgICAgICAgICAgICBlbmRwb2ludElkOiB0aGlzLm1fZW5kcG9pbnQuZ2V0RW5kcG9pbnRJZCgpLFxcclxcbiAgICAgICAgICAgICAgICBub2RlSWQ6IG5vdGlmeU5vZGVJZCxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZcXFwiXSkoKS5zdGFydEdhZGdldCh7XFxyXFxuICAgICAgICAgICAgICAgIHVyaSxcXHJcXG4gICAgICAgICAgICAgICAgaW5pdGlhbEludGVyZmFjZXM6IGluaXRpYWxJbnRlcmZhY2VzRW5jb2RlZCxcXHJcXG4gICAgICAgICAgICAgICAgZXBUb05vdGlmeSxcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpc1JlbW90ZSgpIHtcXHJcXG4gICAgICAgIHJldHVybiAhIXRoaXMuZmluZEluaXRpYWxJbnRlcmZhY2UoX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCJdLmludGVyZmFjZU5hbWUpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBQZXJzaXN0cyB0aGUgZ2FkZ2V0J3Mgc2V0dGluZ3MuIFRoZXNlIHdlaWxsIGJlIHBhc3NlZCB0byB0aGUgZ2FkZ2V0XFxyXFxuICAgICAqIHZpYSB0aGUgY2FsbGJhY2sgcmVnaXN0ZXJlZCB3aXRoIHJlZ2lzdGVyRm9yU2V0dGluZ3Mgd2hlbmV2ZXIgdGhlXFxyXFxuICAgICAqIGdhZGdldCBpcyByZWxvYWRlZC5cXHJcXG4gICAgICogQHB1YmxpY1xcclxcbiAgICAgKi9cXHJcXG4gICAgc2F2ZVNldHRpbmdzKHNldHRpbmdzKSB7XFxyXFxuICAgICAgICBsZXQgbXNnID0ge1xcclxcbiAgICAgICAgICAgIHNldHRpbmdzLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5TYXZlU2V0dGluZ3MsIG1zZyk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFRoZSBjYWxsYmFjayByZWdpc3RlcmVkIHdpdGggdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgd2hlblxcclxcbiAgICAgKiB0aGUgZ2FkZ2V0J3Mgc2V0dGluZ3MgYXJlIHJlbG9hZGVkIGZyb20gdGhlIHNlcnZlci5cXHJcXG4gICAgICogQHB1YmxpY1xcclxcbiAgICAgKi9cXHJcXG4gICAgcmVnaXN0ZXJGb3JTZXR0aW5ncyhjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5tX29uU2V0dGluZ3NSZWNlaXZlZCA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBSZXR1cm5zIHRoZSBlbmRwb2ludCBhZGRyZXNzIGZvciBhIERPTSBub2RlIElkLCBvciBudWxsIGlmIHRoZXJlXFxyXFxuICAgICAqIGlzbid0IGEgbWF0Y2hpbmcgQWFyZHZhcmsgbm9kZSB3aXRoIHRoYXQgSWQuXFxyXFxuICAgICAqL1xcclxcbiAgICBnZXRFbmRwb2ludEFkZHJlc3NGb3JJZChpZCkge1xcclxcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XFxyXFxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiZmFpbGVkIHRvIGZpbmQgaWQgXFxcIiArIGlkKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXFxcImF2LW5vZGVcXFwiKSB7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImVsZW1lbnQgd2FzIG5vdCBhbiBhdi1ub2RlIFxcXCIgKyBpZCk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgYXR0ciA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFxcXCJub2RlSWRcXFwiKTtcXHJcXG4gICAgICAgIGlmICghYXR0cikge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJlbGVtZW50IGRpZG4ndCBoYXZlIG5vZGVJZCBzZXQgXFxcIiArIGlkKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxldCBub2RlSWQgPSBwYXJzZUludChhdHRyKTtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVuZHBvaW50VHlwZVxcXCJdLk5vZGUsXFxyXFxuICAgICAgICAgICAgZW5kcG9pbnRJZDogdGhpcy5nZXRFbmRwb2ludElkKCksXFxyXFxuICAgICAgICAgICAgbm9kZUlkOiBub2RlSWQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBBZGRzIGEgaGFuZGxlciBmb3IgYSByYXcgQWFyZHZhcmsgbWVzc2FnZS4gWW91IHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcy4gKi9cXHJcXG4gICAgcmVnaXN0ZXJNZXNzYWdlSGFuZGxlcih0eXBlLCBoYW5kbGVyKSB7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJIYW5kbGVyKHR5cGUsIGhhbmRsZXIpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBBZGRzIGFuIGFzeW5jaHJvbm91cyBoYW5kbGVyIGZvciBhIHJhdyBBYXJkdmFyayBtZXNzYWdlLiBZb3UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0aGlzLiAqL1xcclxcbiAgICByZWdpc3RlckFzeW5jTWVzc2FnZUhhbmRsZXIodHlwZSwgaGFuZGxlcikge1xcclxcbiAgICAgICAgdGhpcy5tX2VuZHBvaW50LnJlZ2lzdGVyQXN5bmNIYW5kbGVyKHR5cGUsIGhhbmRsZXIpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIHNlcnZlci4gWW91IHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBlaXRoZXIuICovXFxyXFxuICAgIHNlbmRNZXNzYWdlKHR5cGUsIG1lc3NhZ2UsIHNlbmRpbmdOb2RlKSB7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQuc2VuZE1lc3NhZ2UodHlwZSwgbWVzc2FnZSwgc2VuZGluZ05vZGUpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBTZW5kcyBhIG1lc3NhZ2UgYW5kIHJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzcG9uc2UgdG8gdGhhdCBtZXNzYWdlXFxyXFxuICAgICAqIGFycml2ZXMuXFxyXFxuICAgICAqL1xcclxcbiAgICBzZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZSh0eXBlLCBtc2csIHJlc3BvbnNlVHlwZSkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZSh0eXBlLCBtc2csIHJlc3BvbnNlVHlwZSk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuQXZHYWRnZXQuc19pbnN0YW5jZSA9IG51bGw7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcIndhaXRGb3JDb25uZWN0XFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcImNsZWFyV2FpdEZvckNvbm5lY3RcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXQucHJvdG90eXBlLCBcXFwib25FbmRwb2ludE9wZW5cXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXQucHJvdG90eXBlLCBcXFwib25HYWRnZXRTdGFydGVkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcIm9uSW50ZXJmYWNlU3RhcnRlZFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvbkludGVyZmFjZUVuZGVkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcIm9uSW50ZXJmYWNlUmVjZWl2ZWRFdmVudFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvbkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWRcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXQucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VFdmVudFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvblJlc291cmNlTG9hZEZhaWxlZFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvblVwZGF0ZUFjdGlvblN0YXRlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcInVwZGF0ZVNjZW5lR3JhcGhcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOW5ZV1JuWlhRdWRITjRQelJpWWpZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN1FVRkJlVzVDTzBGQlEzWnNRanRCUVVsblF6dEJRVU5rTzBGQlJYQkVMRTFCUVUwc1MwRkJTeXhIUVVGSExHMUNRVUZQTEVOQlFVVXNaMFZCUVdsQ0xFTkJRVVVzUTBGQlF6dEJRV0V6UXl4VFFVRlRMRkZCUVZFc1EwRkJReXhIUVVGWE8wbEJSWHBDTEVsQlFVa3NUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlEzQkRMRmxCUVZrc1IwRkJLMElzUlVGQlJTeEZRVU0zUXl4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVVY2UWl3NFFrRkJPRUk3U1VGRE9VSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRlppeHBRMEZCYVVNN1NVRkRha01zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGRFUXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGSE8xRkJRMnhETEV0QlFVc3NSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUXpsQ0xGbEJRVmtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEZUVNN1NVRkZSQ3hQUVVGUExGbEJRVmtzUTBGQlF6dEJRVU55UWl4RFFVRkRPMEZCUlVRc1UwRkJVeXg1UWtGQmVVSXNRMEZCUlN4TlFVRmxMRVZCUVVVc1MwRkJiMEk3U1VGRmVFVXNTVUZCU1N4RFFVRkRMRXRCUVVzN1VVRkRWQ3hQUVVGUExFdEJRVXNzUTBGQlF6dEpRVVZrTEZGQlFWRXNUVUZCVFN4RlFVTmtPMUZCUTBNc1MwRkJTeXh0UlVGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU12UWl4TFFVRkxMRzFGUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJReTlDTEV0QlFVc3NiVVZCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eFBRVUZQTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkRja01zUzBGQlN5eHRSVUZCVHl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFOUJRVThzUzBGQlN5eERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTnVSQ3hMUVVGTExHMUZRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1QwRkJUeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlF6TkRMRXRCUVVzc2JVVkJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4UFFVRlBMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGVrTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1QwRkJUeXhMUVVGTExFTkJRVU03UzBGRGRFSTdRVUZEUml4RFFVRkRPMEZCV1Uwc1UwRkJVeXh6UWtGQmMwSTdTVUZGY2tNc1QwRkJUeXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMDdWVUZETVVJc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRU5CUVVVc1IwRkJSeXhEUVVGRkxFTkJRVVVzUTBGQlF6dEJRVU55Uml4RFFVRkRPMEZCUlVRc2JVUkJRVzFFTzBGQlF6VkRMRTFCUVUwc1VVRkJVVHRKUVRKQ2NFSTdVVUYyUWxFc2VVSkJRVzlDTEVkQlFUWkNMRWxCUVVrc1EwRkJRenRSUVVWMFJDeHBRa0ZCV1N4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOcVFpeHpRa0ZCYVVJc1IwRkJiVU1zUlVGQlJTeERRVUZETzFGQlEzWkVMSFZDUVVGclFpeEhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVTXZRaXh4UWtGQlowSXNSMEZCYlVNc1JVRkJSU3hEUVVGRE8xRkJRM1JFTEdWQlFWVXNSMEZCYjBJc1NVRkJTU3hEUVVGRE8xRkJRMjVETEdWQlFWVXNSMEZCY1VJc1NVRkJTU3hEUVVGRE8xRkJRM0JETEhOQ1FVRnBRaXhIUVVGWExFbEJRVWtzUTBGQlF6dFJRVU5xUXl4clFrRkJZU3hIUVVGeFF5eEZRVUZGTEVOQlFVTTdVVUZEY2tRc2FVSkJRVmtzUjBGQmFVSXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExITkNRVUZwUWl4SFFVRlpMRWxCUVVrc1EwRkJRenRSUVVOc1F5eDNRa0ZCYlVJc1IwRkJNa0lzUlVGQlJTeERRVUZETzFGQlEycEVMSEZDUVVGblFpeEhRVUZaTEV0QlFVc3NRMEZCUXp0UlFVTnNReXhwUTBGQk5FSXNSMEZCTUVJc1NVRkJTU3hEUVVGRE8xRkJRek5FTEd0RFFVRTJRaXhIUVVGbExFbEJRVWtzUTBGQlF6dFJRVVZxUkN3clFrRkJNRUlzUjBGQmJVUXNSVUZCUlR0UlFVTXZSU3huUTBGQk1rSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJjME1zUTBGQlF6dFJRVU0xUlN3d1FrRkJjVUlzUjBGRE1FTXNSVUZCUlN4RFFVRkRPMUZCUTJ4RkxESkNRVUZ6UWl4SFFVRnRSQ3hGUVVGRkxFTkJRVU03VVVGSmJrWXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEhOQ1FVRnpRaXhGUVVGRkxFTkJRVU03VVVGRGJFUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkZMRU5CUVVNN1VVRkZPVU1zU1VGRFFUdFpRVU5ETEVsQlFVa3NUVUZCVFN4RFFVRkZMRzFDUVVGdFFpeERRVUZGTEVWQlEycERPMmRDUVVORExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZGTEVsQlFVa3NRMEZCUlN4TlFVRk5MRU5CUVVVc2JVSkJRVzFDTEVOQlFVVXNRMEZCUlN4RFFVRkZMRU5CUVVNN1owSkJReTlGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2JVSkJRVzFDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZGTEVOQlFVTTdZVUZETjBRN1UwRkRSRHRSUVVORUxFOUJRVThzUTBGQlF5eEZRVU5TTzFsQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3h6UTBGQmRVTXNRMEZCUlN4RlFVRkZMRU5CUVVVc1EwRkJRenRUUVVNelJEdFJRVVZFTEVsQlFVa3NUVUZCVFN4RFFVRkZMRmxCUVZrc1EwRkJReXhGUVVONlFqdFpRVU5ETEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc2QwWkJRVzlDTEVOQlFVVXNUVUZCVFN4RFFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRkxFTkJRVU03V1VGRGJFVXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3c0UWtGQk9FSXNSMEZCUnl4M1JrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZMRU5CUVVVc1EwRkJRenRUUVVONlJqdFJRVVZFTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3huUlVGQlpTeERRVUZGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkZMRU5CUVVNN1NVRkRkRVlzUTBGQlF6dEpRVVZFT3pzN1QwRkhSenRKUVVOVkxHTkJRV003VVVGRk1VSXNTVUZCU1N4SlFVRkpMRU5CUVVNc05FSkJRVFJDTEVWQlFVYzdXVUZEZGtNc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4RFFVRkRMSEZEUVVGeFF5eERRVUZETEVOQlFVTTdXVUZEZWtVc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNN1UwRkRNMEk3VVVGRlJDeFBRVUZQTEVsQlFVa3NUMEZCVHl4RFFVRkZMRU5CUVVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTzFsQlJYWkRMRWxCUVVzc1NVRkJTU3hEUVVGRExHZENRVUZuUWp0blFrRkJSeXhQUVVGUExFVkJRVVVzUTBGQlF6dFpRVVYyUXl4SlFVRkpMRU5CUVVNc05FSkJRVFJDTEVkQlFVY3NUVUZCVFR0WlFVTXhReXhKUVVGSkxFTkJRVU1zTmtKQlFUWkNMRWRCUVVjc1QwRkJUenRSUVVNM1F5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZZU3h0UWtGQmJVSTdVVUZGYUVNc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVONlF5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFZEJRVWNzU1VGQlNTeERRVUZETzBsQlF6TkRMRU5CUVVNN1NVRkZXU3hqUVVGakxFTkJRVVVzVVVGQllUdFJRVVY2UXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlR0aFFVTXhSQ3hKUVVGSkxFTkJRVVVzUTBGQlJTeFJRVUV3UWl4RlFVRkhMRVZCUVVVN1dVRkZka01zU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4UlFVRlJMRU5CUVVNN1dVRkRNMElzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUTJ4Q0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhsUVVGbExFTkJRVVVzZFVWQlFWY3NRMEZCUXl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlJTeERRVUZETzFGQlEyNUdMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zWlVGQlpTeERRVUZGTEhWRlFVRlhMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZGTEVOQlFVTTdVVUZETTBZc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eGxRVUZsTEVOQlFVVXNkVVZCUVZjc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVVXNRMEZCUXp0UlFVTTNSaXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEc5Q1FVRnZRaXhEUVVGRkxIVkZRVUZYTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUlN4RFFVRkRPMUZCUXpGR0xFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVVVzZFVWQlFWY3NRMEZCUXl4blFrRkJaMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVVVzUTBGQlF6dFJRVU01Uml4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkZMSFZGUVVGWExFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeERRVUZETzFGQlF6RkdMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVVc2RVVkJRVmNzUTBGQlF5eHhRa0ZCY1VJc1JVRkRkRVVzU1VGQlNTeERRVUZETEhkQ1FVRjNRaXhEUVVGRkxFTkJRVU03VVVGRGFrTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXh2UWtGQmIwSXNRMEZCUlN4MVJVRkJWeXhEUVVGRExIbENRVUY1UWl4RlFVTXhSU3hKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVVc1EwRkJRenRSUVVWd1F5eEpRVUZKTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUlVGRE4wSTdXVUZEUXl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVVXNVVUZCVVN4RFFVRkZMRU5CUVVNN1UwRkRkRU03VVVGRlJDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6ZENMRWxCUVVzc1NVRkJTU3hEUVVGRExEWkNRVUUyUWl4RlFVTjJRenRaUVVORExFbEJRVWtzUTBGQlF5dzJRa0ZCTmtJc1JVRkJSU3hEUVVGRE8xbEJRM0pETEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeERRVUZETzFOQlF6TkNPMGxCUTBZc1EwRkJRenRKUVVWRU96czdUMEZIUnp0SlFVTkpMRTFCUVUwc1EwRkJReXhSUVVGUk8xRkJSWEpDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hGUVVONFFqdFpRVU5ETEZGQlFWRXNRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hSUVVGUkxFVkJRVVVzUTBGQlF6dFRRVU55UXp0UlFVTkVMRTlCUVU4c1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU0xUWl4RFFVRkRPMGxCUlVRN096dE5RVWRGTzBsQlEwc3NUMEZCVHp0UlFVVmlMRWxCUVVrc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGRGJrSTdXVUZEUXl4UFFVRlBMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETzFOQlF6VkNPMkZCUlVRN1dVRkRReXhQUVVGUExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRUUVVNNVFqdEpRVU5HTEVOQlFVTTdTVUZGUkN4dlEwRkJiME03U1VGRGNFTXNTVUZCVnl4UlFVRlJPMUZCUld4Q0xFOUJRVThzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXp0SlFVTjRRaXhEUVVGRE8wbEJSVVFzY1VOQlFYRkRPMGxCUTNKRExFbEJRVmNzUjBGQlJ6dFJRVVZpTEU5QlFVOHNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkZSQ3h2UlVGQmIwVTdTVUZEY0VVc1NVRkJWeXhwUWtGQmFVSTdVVUZGTTBJc1QwRkJUeXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNN1NVRkRha01zUTBGQlF6dEpRVVZFTERoRVFVRTRSRHRKUVVOMlJDeHZRa0ZCYjBJc1EwRkJSU3haUVVGdlFqdFJRVVZvUkN4UFFVRlBMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJSU3hKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVrc1dVRkJXU3hEUVVGRkxFTkJRVU03U1VGREwwVXNRMEZCUXp0SlFVZEVPenM3TzA5QlNVYzdTVUZEU1N4WlFVRlpMRU5CUVVVc1UwRkJhVUk3VVVGRmNrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRk5CUVZNc1EwRkJSU3hEUVVGRE8wbEJRM1pFTEVOQlFVTTdTVUZGUkRzN08wMUJSMFU3U1VGRFN5eHRRa0ZCYlVJN1VVRkZla0lzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN3NFFrRkJPRUlzUTBGQlJTeERRVUZETzFGQlJUbERMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVmtzUTBGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkhMRVZCUVVVN1dVRkZia1FzU1VGQlNTeERRVUZETEVkQlFUSkNMRVZCUVVVc1EwRkJRenRaUVVOdVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRFpDUVVFMlFpeERRVU0xUXl4MVJVRkJWeXhEUVVGRExHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNc1JVRkRiRU1zZFVWQlFWY3NRMEZCUXl3eVFrRkJNa0lzUTBGQlJUdHBRa0ZEZWtNc1NVRkJTU3hEUVVGRkxFTkJRVVVzUTBGQlJTeEpRVUZKTEVWQlFVVXNSMEZCUnl4RFFVRm5SQ3hGUVVGRkxFVkJRVVU3WjBKQlJYWkZMRTlCUVU4c1EwRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVVc1EwRkJRenRaUVVOc1F5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZOTEZGQlFWRXNRMEZCUlN4SlFVRnBRanRSUVVWcVF5eHRSRUZCYlVRN1VVRkRia1FzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03VVVGRGNFTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGREwwTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRMnhDTEVOQlFVTTdTVUZGVFN4VlFVRlZMRU5CUVVVc1NVRkJhVUk3VVVGRmJrTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVOcVFqdFpRVU5ETEU5QlFVOHNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1EwRkJRenRaUVVNdlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRk5CUVZNc1EwRkJRenRUUVVNeFFqdFJRVVZFTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOc1FpeERRVUZETzBsQlJVMHNZVUZCWVR0UlFVVnVRaXhQUVVGUExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNZVUZCWVN4RlFVRkZMRU5CUVVNN1NVRkRlRU1zUTBGQlF6dEpRVVZMTEdWQlFXVXNRMEZCUlN4RFFVRnRRaXhGUVVGRkxFZEJRV0U3VVVGRmVFUXNTVUZCU1N4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkZMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZGTEVOQlFVTTdVVUZEYUVVc1NVRkJTU3hUUVVGVExFVkJRMkk3V1VGRFF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUTFnN1owSkJRME1zVDBGQlR5eEZRVUZGTEVsQlFVazdaMEpCUTJJc2RVSkJRWFZDTEVWQlFVVXNRMEZCUXl4RFFVRkRMSFZDUVVGMVFqdGhRVU5zUkN4RFFVTkVMRU5CUVVNN1dVRkRSaXhQUVVGUExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUlN4RFFVRkRPMU5CUTNaRU8wbEJRMFlzUTBGQlF6dEpRVVZOTERKQ1FVRXlRaXhEUVVGRkxFMUJRV01zUlVGQlJTeFRRVUZ4UXp0UlFVVjRSaXhKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUlVGQlJTeFRRVUZUTEVOQlFVVXNRMEZCUXp0UlFVTXhSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWTkxEWkNRVUUyUWl4RFFVRkZMRTFCUVdNN1VVRkZia1FzU1VGQlNTeERRVUZETERKQ1FVRXlRaXhEUVVGRExFMUJRVTBzUTBGQlJTeE5RVUZOTEVOQlFVVXNRMEZCUXp0UlFVTnNSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWUExESkNRVUV5UWl4RFFVRkZMRWRCUVdsQ08xRkJSWEpFTEVsQlFVa3NSMEZCUnl4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEdGQlFXRXNSVUZCUlN4RlFVTnlSRHRaUVVORExFOUJRVThzU1VGQlNTeERRVUZETzFOQlExbzdVVUZGUkN4UFFVRlBMRWxCUVVrc1EwRkJReXd5UWtGQk1rSXNRMEZCUXl4SFFVRkhMRU5CUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzBsQlF6TkVMRU5CUVVNN1NVRkhZU3hyUWtGQmEwSXNRMEZCUlN4RFFVRnpRaXhGUVVGRkxFZEJRV0U3TzFsQlJYUkZMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzWjBOQlFXbERMREJHUVVGelFpeERRVUZGTEVOQlFVTXNRMEZCUnl4RlFVRkZMRU5CUVVVc1EwRkJRenRaUVVNdlJTeEpRVUZKTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRE8xbEJReTlFTEVsQlFVa3NVMEZCVXl4RlFVTmlPMmRDUVVORExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUXl4RFFVRkZMRU5CUVVNN1lVRkRka0k3V1VGRlJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVTmtPMmRDUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNaME5CUVdsRExEQkdRVUZ6UWl4RFFVRkZMRU5CUVVNc1EwRkJSeXhIUVVGSE8zTkNRVU14UlN4cFEwRkJhVU1zUTBGQlJTeERRVUZETzJGQlEzWkRPMUZCUTBZc1EwRkJRenRMUVVGQk8wbEJSMkVzWjBKQlFXZENMRU5CUVVVc1EwRkJiMElzUlVGQlJTeEhRVUZoT3p0WlFVVnNSU3hKUVVGSkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVVVzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUlN4RFFVRkRPMWxCUXk5RUxFbEJRVWtzVTBGQlV5eEZRVU5pTzJkQ1FVTkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RFFVRkRMSFZDUVVGMVFpeEZRVU0xUlN4RFFVRkRMRU5CUVVNc2FVSkJRV2xDTEVOQlFVVXNRMEZCUXp0aFFVTjJRanRaUVVWRUxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlEyUTdaMEpCUTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTeG5RMEZCYVVNc01FWkJRWE5DTEVOQlFVVXNRMEZCUXl4RFFVRkhMRWRCUVVjN2MwSkJRekZGTEdsRFFVRnBReXhEUVVGRkxFTkJRVU03WVVGRGRrTTdVVUZEUml4RFFVRkRPMHRCUVVFN1NVRkhZU3gzUWtGQmQwSXNRMEZCUlN4RFFVRXlRaXhGUVVGRkxFZEJRV0U3TzFsQlJXcEdMRWxCUVVrc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1EwRkJSU3hEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZGTEVOQlFVTTdXVUZEYkVVc1NVRkJTU3hUUVVGVExFVkJRMkk3WjBKQlEwTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJReXh0UWtGQmJVSXNSVUZETjBVc1EwRkJReXhEUVVGRExHbENRVUZwUWl4RFFVRkZMRU5CUVVNN1lVRkRka0k3V1VGRlJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVTmtPMmRDUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNaME5CUVdsRExIZEdRVUZ2UWl4RFFVRkZMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVWNzUjBGQlJ6dHpRa0ZEY0VZc2FVTkJRV2xETEVOQlFVVXNRMEZCUXp0aFFVTjJRenRSUVVOR0xFTkJRVU03UzBGQlFUdEpRVWRoTERKQ1FVRXlRaXhEUVVGRkxFTkJRU3RDTEVWQlFVVXNSMEZCWVRzN1dVRkZlRVlzU1VGQlNTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMREpDUVVFeVFpeERRVUZGTEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVVc1EwRkJRenRaUVVOc1JTeEpRVUZKTEZOQlFWTXNSVUZEWWp0blFrRkRReXhUUVVGVExFTkJRVU1zWjBKQlFXZENMRU5CUVVVc1EwRkJReXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETEcxQ1FVRnRRaXhGUVVOb1JpeERRVUZETEVOQlFVTXNhVUpCUVdsQ0xFTkJRVVVzUTBGQlF6dGhRVU4yUWp0WlFVVkVMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRMlE3WjBKQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3d5UTBGQk5FTXNkMFpCUVc5Q0xFTkJRVVVzUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUnl4SFFVRkhPM05DUVVNdlJpeHBRMEZCYVVNc1EwRkJSU3hEUVVGRE8yRkJRM1pETzFGQlEwWXNRMEZCUXp0TFFVRkJPMGxCUlUwc01FSkJRVEJDTEVOQlFVVXNUVUZCWXl4RlFVRkZMRk5CUVc5RE8xRkJSWFJHTEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUTBGQlJTeE5RVUZOTEVOQlFVVXNSMEZCUnl4VFFVRlRMRU5CUVVNN1VVRkRkRVFzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTJ4Q0xFTkJRVU03U1VGRlRTeHJRa0ZCYTBJc1EwRkJSU3hOUVVGakxFVkJRVVVzVjBGQmVVSXNSVUZCUlN4TFFVRmhMRVZCUVVVc1NVRkJXVHRSUVVWb1J5eEpRVUZKTEVOQlFVTXNSMEZEVER0WlFVTkRMRmRCUVZjN1dVRkRXQ3hUUVVGVExFVkJRVVVzUzBGQlN6dFpRVU5vUWl4SlFVRkpPMU5CUTBvc1EwRkJRenRSUVVWR0xFbEJRVWtzVjBGQlZ5eERRVUZETEZWQlFWVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUlVGQlJTeEZRVU0zUkR0WlFVTkRMRWxCUVVrc1IwRkJSeXhIUVVOUU8yZENRVU5ETEVsQlFVa3NSVUZCUlN4MVJVRkJWeXhEUVVGRExHTkJRV003WjBKQlEyaERMRTFCUVUwc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeDNSVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4aFFVRmhMRVZCUVVVc1JVRkJSU3hOUVVGTkxFVkJRVVU3WjBKQlEzaEdMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU03WVVGRGJFSTdXVUZGUkN3clJFRkJLMFE3V1VGREwwUXNPRUpCUVRoQ08xbEJRemxDTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkZMRU5CUVVNN1UwRkRhRU03WVVGRlJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVVc2RVVkJRVmNzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXl4RFFVRkZMRU5CUVVNN1UwRkRiRVE3U1VGRFJpeERRVUZETzBsQlIyRXNaMEpCUVdkQ0xFTkJRVVVzUTBGQmIwSXNSVUZCUlN4SFFVRmhPenRaUVVWc1JTeEpRVUZKTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVVXNRMEZCUXl4RFFVRkRMRmRCUVZjc1EwRkJReXhOUVVGTkxFTkJRVVVzUTBGQlF6dFpRVU40UlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVOa08yZENRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc1owTkJRV2xETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUeXhyUTBGQmEwTXNRMEZCUXp0aFFVTjBSenRwUWtGRlJEdG5Ra0ZEUXl4VFFVRlRMRU5CUVVVc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlF6dGhRVU0zUXp0UlFVTkdMRU5CUVVNN1MwRkJRVHRKUVVWaExHOUNRVUZ2UWl4RFFVRkZMRU5CUVhkQ08xRkJSVE5FTEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVVc05FSkJRVFpDTEhkR1FVRnZRaXhEUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVY3NSMEZCUnp0alFVTTNSU3hSUVVGVExFTkJRVU1zUTBGQlF5eFhRVUZaTEZWQlFWY3NRMEZCUXl4RFFVRkRMRXRCUVUwc1JVRkJSU3hEUVVGRkxFTkJRVU03U1VGRGJrUXNRMEZCUXp0SlFVVk5MRzlDUVVGdlFpeERRVUZGTEUxQlFXVXNSVUZCUlN4SlFVRlhMRVZCUTNoRUxFMUJRV3RDTEVWQlFVVXNUMEZCYTBJN1VVRkZkRU1zU1VGQlNTeE5RVUZOTEVsQlFVa3NiVVZCUVU4c1EwRkJReXhSUVVGUkxFVkJRemxDTzFsQlEwTXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJSU3cwUWtGQk5rSXNiVVZCUVU4c1EwRkJSU3hOUVVGTkxFTkJRVWNzYlVKQlFXMUNMRU5CUVVVc1EwRkJRenRUUVVOMFJqdFJRVVZFTEVsQlFVa3NUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF6dFJRVVZxUXl4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVOQlFVVXNUVUZCVFN4RFFVRkZPMWxCUTNKRE8yZENRVU5ETEVsQlFVazdaMEpCUTBvc1RVRkJUVHRuUWtGRFRpeE5RVUZOTzJkQ1FVTk9MRTlCUVU4N1lVRkRVQ3hEUVVGRE8xRkJSVVlzVDBGQlR5eE5RVUZOTEVOQlFVTTdTVUZEWml4RFFVRkRPMGxCUlUwc01rSkJRVEpDTEVOQlFVVXNUVUZCWlN4RlFVRkZMRWxCUVZjc1JVRkRMMFFzVFVGQk5rTTdVVUZGTjBNc1NVRkJTU3hOUVVGTkxFbEJRVWtzYlVWQlFVOHNRMEZCUXl4UlFVRlJMRVZCUXpsQ08xbEJRME1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUlN4dFEwRkJiME1zYlVWQlFVOHNRMEZCUlN4TlFVRk5MRU5CUVVjc2JVSkJRVzFDTEVOQlFVVXNRMEZCUXp0VFFVTTNSanRSUVVWRUxFbEJRVWtzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRSUVVWcVF5eEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVVVzVFVGQlRTeERRVUZGTzFsQlEzSkRPMmRDUVVORExFbEJRVWs3WjBKQlEwb3NUVUZCVFR0blFrRkRUaXhOUVVGTk8yRkJRMDRzUTBGQlF6dFJRVVZHTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJZc1EwRkJRenRKUVVkTkxHbERRVUZwUXl4RFFVRkZMRWxCUVZjc1JVRkJSU3hOUVVGbExFVkJRVVVzU1VGQmNVSTdVVUZGTlVZc1NVRkJTU3hGUVVGRkxFZEJRVWNzUjBGQlJ5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzWkRMRTlCUVU4c1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVWQlFVVXNRMEZCUlN4RFFVRkRPMGxCUXpGRUxFTkJRVU03U1VGRlRTeHpRa0ZCYzBJc1EwRkJSU3hOUVVGak8xRkJSVFZETEU5QlFVOHNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZGTEUxQlFVMHNRMEZCUlN4RFFVRkRPMGxCUXpsRExFTkJRVU03U1VGRllTeHRRa0ZCYlVJc1EwRkJSU3hEUVVGMVFpeEZRVUZGTEVkQlFXRTdPMUZCUlhoRkxFbEJRVWtzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlJTeERRVUZETzFGQlF6VkRMRWxCUVVrc1VVRkJVU3hIUVVGSExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZETjBJc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlJTeFJRVUZSTEVWQlFVVXNVVUZCVVN4RFFVRkZMRVZCUTJoRE8xbEJRME1zTWtSQlFUSkVPMWxCUXpORUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTTdXVUZGTTBNc1MwRkJTeXhKUVVGSkxFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFVkJRemxETzJkQ1FVTkRMRWxCUVVrc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1EwRkJSU3hOUVVGTkxFTkJRVVVzUTBGQlF6dG5Ra0ZEY2tRc1NVRkJTU3hSUVVGUkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1VVRkJVU3hEUVVGRExFbEJRVWtzU1VGQlNTeHBSVUZCU3l4RFFVRkRMRTlCUVU4c1JVRkROMFE3YjBKQlEwTXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hKUVVGSkxHMUZRVUZQTEVOQlFVTXNVVUZCVVN4RlFVTjJRenQzUWtGRFF5eGpRVUZSTEVOQlFVTXNUVUZCVFN3clEwRkJaaXhSUVVGUkxFVkJRVmNzVVVGQlVTeERRVUZETEZGQlFWRXNSVUZCUnp0eFFrRkRka003ZVVKQlJVUTdkMEpCUTBNc1NVRkJTU3hUUVVGVExFZEJRVWNzZVVKQlFYbENMRU5CUVVVc1VVRkJVU3hEUVVGRExFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0M1FrRkRka1VzU1VGQlNTeFRRVUZUTEVkQlFVY3NlVUpCUVhsQ0xFTkJRVVVzVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4UlFVRlJMRU5CUVVVc1EwRkJRenQzUWtGRGRrVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1NVRkJTU3hUUVVGVExFbEJRVWtzVVVGQlVTeERRVUZETEUxQlFVMHNSVUZET1VNN05FSkJRME1zVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPM2xDUVVOc1FqczJRa0ZEU1N4SlFVRkpMRk5CUVZNc1NVRkJTU3hEUVVGRExGTkJRVk1zU1VGQlNTeFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVTndSRHMwUWtGRFF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN2VVSkJRMjVDTzNGQ1FVTkVPMmxDUVVORU8yRkJRMFE3VTBGRFJEdEpRVU5HTEVOQlFVTTdTVUZGUkRzN096dFBRVWxITzBsQlEwa3NjVUpCUVhGQ0xFTkJRVVVzU1VGQlZ5eEZRVUZGTEUxQlFXVTdVVUZGZWtRc1NVRkJTU3hKUVVGSkxFbEJRVWtzVTBGQlV5eEpRVUZKTEVsQlFVa3NTVUZCU1N4cFJVRkJTeXhEUVVGRExFOUJRVThzUlVGRE9VTTdXVUZEUXl4UFFVRlBMSGxDUVVGNVFpeERRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRkxHbEZRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVVN2JVSkJRM1pGTEhsQ1FVRjVRaXhEUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkZMR2xGUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVVXNRMEZCUXp0VFFVTXhSVHRoUVVWRU8xbEJRME1zVDBGQlR5eDVRa0ZCZVVJc1EwRkJSU3hOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUlN4SlFVRkpMRU5CUVVVc1EwRkJSVHRUUVVOMFJUdEpRVU5HTEVOQlFVTTdTVUZGVHl4WlFVRlpMRU5CUVVVc1QwRkJiMEk3VVVGRmVrTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0UlFVTXZReXhKUVVGSkxFbEJRVWtzUjBGQlZTeEpRVUZKTEVOQlFVTTdVVUZEZGtJc1VVRkJVU3hUUVVGVExFVkJRMnBDTzFsQlEwTXNTMEZCU3l4VFFVRlRPMmRDUVVOaUxFbEJRVWtzU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVVc1VVRkJVU3hEUVVGRkxFTkJRVU03WjBKQlF6VkRMRWxCUVVrc1NVRkJTU3hGUVVOU08yOUNRVU5ETEVsQlFVa3NUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJSU3hKUVVGSkxFTkJRVVVzUTBGQlF6dHZRa0ZET1VJc1NVRkJTU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETzI5Q1FVTnFSQ3hKUVVGSkxGTkJRVk1zUlVGRFlqdDNRa0ZEUXl4SlFVRkpMRWRCUVVjc1UwRkJVeXhEUVVGRExHbENRVUZwUWl4RlFVRkZMRU5CUVVNN2QwSkJRM0pETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN2NVSkJRekZETzJsQ1FVTkVPMmRDUVVORUxFMUJRVTA3VTBGRFVEdFJRVVZFTEVsQlFVa3NVVUZCVVN4SFFVRmhMRVZCUVVVc1EwRkJRenRSUVVNMVFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRMmhFTzFsQlEwTXNTVUZCU1N4WlFVRlpMRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVVXNRMEZCUXl4RFFVRkZMRU5CUVVNN1dVRkRPVU1zU1VGQlNTeFpRVUZaTEZsQlFWa3NWMEZCVnl4RlFVTjJRenRuUWtGRFF5eEpRVUZKTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRkxGbEJRVEpDTEVOQlFVVXNRMEZCUXp0blFrRkRia1VzU1VGQlNTeFhRVUZYTEVsQlFVa3NWMEZCVnl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFVkJRM3BETzI5Q1FVTkRMRkZCUVZFc1IwRkJSeXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZGTEZkQlFWY3NRMEZCUlN4RFFVRkRPMmxDUVVNeFF6dGhRVU5FTzFOQlEwUTdVVUZGUkN3MFFrRkJORUk3VVVGRE5VSXNTVUZCU1N4SlFVRkpMRVZCUTFJN1dVRkRReXcyUTBGQk5rTTdXVUZETjBNc1NVRkJTU3hSUVVGUkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZEZGtJN1owSkJRME1zU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4UlFVRlJMRU5CUVVNN1lVRkRla0k3V1VGRlJDeFBRVUZQTEVOQlFVVXNTVUZCU1N4RFFVRkZMRU5CUVVNN1UwRkRhRUk3WVVGRFNTeEpRVUZKTEZGQlFWRXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVNMVFqdFpRVU5ETEN0RFFVRXJRenRaUVVNdlF5eHpRMEZCYzBNN1dVRkRkRU1zVDBGQlR5eFJRVUZSTEVOQlFVTTdVMEZEYUVJN1lVRkZSRHRaUVVORExDdENRVUVyUWp0WlFVTXZRaXhQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5hTzBsQlEwWXNRMEZCUXp0SlFVVlpMR2RDUVVGblFqdFJRVVUxUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGRGNFSTdXVUZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHbEVRVUZwUkN4RFFVRkZMRU5CUVVNN1dVRkRha1VzVDBGQlR6dFRRVU5RTzFGQlJVUXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTXpRaXhKUVVGSkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlF6dFJRVVZ1UkN4SlFVRkpMRWRCUVVjc1IwRkJkMElzUlVGQlJTeERRVUZETzFGQlEyeERMRWxCUVVrc1UwRkJVeXhKUVVGSkxGTkJRVk1zUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVTnlRenRaUVVORExFbEJRVWtzVTBGQlV5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRVZCUTNoQ08yZENRVU5ETEVkQlFVY3NRMEZCUXl4SlFVRkpPMjlDUVVOU08zZENRVU5ETEVsQlFVa3NSVUZCUlN4elJVRkJWU3hEUVVGRExGTkJRVk03ZDBKQlF6RkNMRVZCUVVVc1JVRkJSU3hEUVVGRE8zZENRVU5NTEV0QlFVc3NSVUZCUlN4elJVRkJWU3hEUVVGRExFOUJRVTg3ZDBKQlEzcENMRkZCUVZFc1JVRkJSU3hUUVVGVE8zRkNRVU51UWl4RFFVRkRPMkZCUTBZN2FVSkJSVVE3WjBKQlEwTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEZUVJN1UwRkRSRHRSUVVWRUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkZMSFZGUVVGWExFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1IwRkJSeXhEUVVGRkxFTkJRVU03VVVGRmFrVXNTVUZCU1N4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlF6RkNPMWxCUTBNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVNdlFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUTNKQ08yZENRVU5ETEVsQlFVa3NWVUZCVlN4SFFVTmtPMjlDUVVORExGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNXVUZCV1R0dlFrRkROMElzZFVKQlFYVkNMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eGhRVUZoTEVWQlFVVTdhVUpCUTNoRU8yZENRVVZFTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1YwRkJWeXhEUVVGRkxIVkZRVUZYTEVOQlFVTXNZVUZCWVN4RlFVRkZMRlZCUVZVc1EwRkJSU3hEUVVGRE8yRkJRM0pGTzFOQlEwUTdVVUZEUkN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXpkQ0xFTkJRVU03U1VGRlRTeFRRVUZUTzFGQlJXWXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRM0JDTzFsQlEwTXNjMFZCUVhORk8xbEJRM1JGTEdsRVFVRnBSRHRaUVVOcVJDeFBRVUZQTzFOQlExQTdVVUZGUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNTVUZCU1N4RFFVRkRMRVZCUTJoRE8xbEJRME1zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhIUVVGSExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVVXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEZRVUZGTEVOQlFVTXNRMEZCUlN4RFFVRkRPMU5CUTNoRk8wbEJRMFlzUTBGQlF6dEpRVVZOTEdWQlFXVXNRMEZCUlN4TlFVRnZRaXhGUVVGRkxGTkJRV2xDTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hSUVVGblFqdFJRVVZ1Unl4SlFVRkpMRWRCUVVjc1IwRkRVRHRaUVVORExFMUJRVTA3V1VGRFRpeFRRVUZUTzFsQlExUXNVMEZCVXp0WlFVTlVMRkZCUVZFN1UwRkRVanRSUVVORUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkZMSFZGUVVGWExFTkJRVU1zVlVGQlZTeEZRVUZGTEVkQlFVY3NRMEZCUlN4RFFVRkRPMGxCUXpWRUxFTkJRVU03U1VGRlRTeFhRVUZYTEVOQlFVVXNSMEZCVnl4RlFVRkZMR2xDUVVGNVF6dFJRVWQ2UlN4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRkxFTkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUnl4RlFVRkZPMWxCUlhwRExFbEJRVWtzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRaUVVOMlF5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVVVzV1VGQldTeERRVUZGTEVkQlFVY3NRMEZCUlN4UFFVRlBMRVZCUVVVc1RVRkJUU3hEUVVGRkxFTkJRVU03V1VGRmFrVXNTVUZCU1N4M1FrRkJkMElzUjBGQlJ5eEpRVUZKTEVOQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJSU3hwUWtGQmFVSXNRMEZCUlN4RFFVRkZMRU5CUVVNN1dVRkZNMFVzU1VGQlNTeFZRVUZWTEVkQlEyUTdaMEpCUTBNc1NVRkJTU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNTVUZCU1R0blFrRkRka0lzVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1lVRkJZU3hGUVVGRk8yZENRVU16UXl4TlFVRk5MRVZCUVVVc1dVRkJXVHRoUVVOd1FqdFpRVU5FTEhORlFVRkZMRVZCUVVVc1EwRkJReXhYUVVGWExFTkJRMlk3WjBKQlEwTXNSMEZCUnp0blFrRkRTQ3hwUWtGQmFVSXNSVUZCUlN4M1FrRkJkMEk3WjBKQlF6TkRMRlZCUVZVN1lVRkRWaXhEUVVGRkxFTkJRVU03VVVGRFRpeERRVUZETEVOQlFVVXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZSQ3hKUVVGWExGRkJRVkU3VVVGRmJFSXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkZMRGhGUVVGeFFpeERRVUZETEdGQlFXRXNRMEZCUlN4RFFVRkRPMGxCUXpORkxFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMGtzV1VGQldTeERRVUZGTEZGQlFXRTdVVUZGYWtNc1NVRkJTU3hIUVVGSExFZEJRMUE3V1VGRFF5eFJRVUZSTzFOQlExSTdVVUZGUkN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlJTeDFSVUZCVnl4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGSExFTkJRVVVzUTBGQlF6dEpRVU01UkN4RFFVRkRPMGxCUlVRN096dFBRVWRITzBsQlEwa3NiVUpCUVcxQ0xFTkJRVVVzVVVGQmJVTTdVVUZGT1VRc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4SFFVRkhMRkZCUVZFc1EwRkJRenRKUVVOMFF5eERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTU3gxUWtGQmRVSXNRMEZCUlN4RlFVRlZPMUZCUlhwRExFbEJRVWtzVDBGQlR5eEhRVUZITEZGQlFWRXNRMEZCUXl4alFVRmpMRU5CUVVVc1JVRkJSU3hEUVVGRkxFTkJRVU03VVVGRE5VTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkRXanRaUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNiMEpCUVc5Q0xFZEJRVWNzUlVGQlJTeERRVUZGTEVOQlFVTTdXVUZEZWtNc1QwRkJUeXhKUVVGSkxFTkJRVU03VTBGRFdqdFJRVVZFTEVsQlFVa3NUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFVkJRVVVzU1VGQlNTeFRRVUZUTEVWQlF5OURPMWxCUTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTdzJRa0ZCTmtJc1IwRkJSeXhGUVVGRkxFTkJRVVVzUTBGQlF6dFpRVU5zUkN4UFFVRlBMRWxCUVVrc1EwRkJRenRUUVVOYU8xRkJSVVFzU1VGQlNTeEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRmxCUVZrc1EwRkJSU3hSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVU0xUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVOVU8xbEJRME1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN4cFEwRkJhVU1zUjBGQlJ5eEZRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTjBSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5hTzFGQlJVUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzFGQlF6bENMRTlCUVU4N1dVRkRUaXhKUVVGSkxFVkJRVVVzZDBWQlFWa3NRMEZCUXl4SlFVRkpPMWxCUTNaQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RlFVRkZPMWxCUTJoRExFMUJRVTBzUlVGQlJTeE5RVUZOTzFOQlEyUTdTVUZEUml4RFFVRkRPMGxCUlVRc0swVkJRU3RGTzBsQlEzaEZMSE5DUVVGelFpeERRVUZGTEVsQlFXbENMRVZCUVVVc1QwRkJkVUk3VVVGRmVFVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhsUVVGbExFTkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUlN4RFFVRkRPMGxCUTJ4RUxFTkJRVU03U1VGRlJDdzJSa0ZCTmtZN1NVRkRkRVlzTWtKQlFUSkNMRU5CUVVVc1NVRkJhVUlzUlVGQlJTeFBRVUUwUWp0UlFVVnNSaXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEc5Q1FVRnZRaXhEUVVGRkxFbEJRVWtzUlVGQlJTeFBRVUZQTEVOQlFVVXNRMEZCUXp0SlFVTjJSQ3hEUVVGRE8wbEJSVVFzTUVWQlFUQkZPMGxCUTI1RkxGZEJRVmNzUTBGQlJTeEpRVUZwUWl4RlFVRkZMRTlCUVdVc1JVRkJSU3hYUVVGdlFqdFJRVVV6UlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRmRCUVZjc1EwRkJSU3hEUVVGRE8wbEJRek5FTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOSkxEWkNRVUUyUWl4RFFVRkxMRWxCUVdsQ0xFVkJRVVVzUjBGQlVTeEZRVUZGTEZsQlFYbENPMUZCUnpsR0xFOUJRVThzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl3MlFrRkJOa0lzUTBGQlN5eEpRVUZKTEVWQlFVVXNSMEZCUnl4RlFVRkZMRmxCUVZrc1EwRkJSU3hEUVVGRE8wbEJRM0JHTEVOQlFVTTdPMEZCTjNSQ1l5eHRRa0ZCVlN4SFFVRlpMRWxCUVVrc1EwRkJRenRCUVhkRWNFTTdTVUZCVEN4eFJFRkJTVHM0UTBGalNqdEJRVVZMTzBsQlFVd3NjVVJCUVVrN2JVUkJTVW83UVVGRlN6dEpRVUZNTEhGRVFVRkpPemhEUVN0Q1NqdEJRU3RIU3p0SlFVRk1MSEZFUVVGSk95dERRV0ZLTzBGQmVVSkVPMGxCUkVNc2NVUkJRVWs3YTBSQlpVbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk8yZEVRV1ZLTzBGQlIwUTdTVUZFUXl4eFJFRkJTVHQzUkVGbFNqdEJRVWRFTzBsQlJFTXNjVVJCUVVrN01rUkJaVW83UVVGeFEwUTdTVUZFUXl4eFJFRkJTVHRuUkVGWlNqdEJRVVZMTzBsQlFVd3NjVVJCUVVrN2IwUkJTVW83UVVGMVJFczdTVUZCVEN4eFJFRkJTVHR0UkVGclEwbzdRVUVyUlVzN1NVRkJUQ3h4UkVGQlNUdG5SRUVyUTBvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmWjJGa1oyVjBMblJ6ZUM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRUZoY21SMllYSnJUV0Z1YVdabGMzUXNJRUYyTENCQmRrRmpkR2x2YmxOMFlYUmxMQ0JCZGtsdWRHVnlabUZqWlVWMlpXNTBVSEp2WTJWemMyOXlMQ0JCZGs1dlpHVXNJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dRWFpPYjJSbFZIbHdaU3dnUVhaVGRHRnlkRWRoWkdkbGRGSmxjM1ZzZEN3Z1JVRmpkR2x2Yml3Z1JVaGhibVFzSUVWdVpIQnZhVzUwUVdSa2Npd2daVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNzSUVWdVpIQnZhVzUwVkhsd1pTd2dSVTV2WkdWR2JHRm5jeXdnUlc1MlpXeHZjR1VzSUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOckxDQnBiblJsY21aaFkyVlRkSEpwYm1kR2NtOXRUWE5uTENCTlpYTnpZV2RsVkhsd1pTd2dUWE5uUjJGa1oyVjBVM1JoY25SbFpDd2dUWE5uUjJWMFNXNXpkR0ZzYkdWa1IyRmtaMlYwY3l3Z1RYTm5SMlYwU1c1emRHRnNiR1ZrUjJGa1oyVjBjMUpsYzNCdmJuTmxMQ0JOYzJkSmJuUmxjbVpoWTJWRmJtUmxaQ3dnVFhOblNXNTBaWEptWVdObFJYWmxiblFzSUUxelowbHVkR1Z5Wm1GalpWSmxZMlZwZG1WRmRtVnVkQ3dnVFhOblNXNTBaWEptWVdObFUzUmhjblJsWkN3Z1RYTm5TVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDd2dUWE5uVG05a1pVaGhjSFJwWXl3Z1RYTm5VbVZ6YjNWeVkyVk1iMkZrUm1GcGJHVmtMQ0JOYzJkVFlYWmxVMlYwZEdsdVozTXNJRTF6WjFWd1pHRjBaVUZqZEdsdmJsTjBZWFJsTENCTmMyZFZjR1JoZEdWVFkyVnVaVWR5WVhCb0xDQnpkSEpwYm1kVWIwVnVaSEJ2YVc1MFFXUmtjaXdnUVhaV1pXTjBiM0lnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibWx0Y0c5eWRDQXFJR0Z6SUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2NseHVhVzF3YjNKMElIc2dTVUYyUW1GelpVNXZaR1VnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJKaGMyVmZibTlrWlNjN1hISmNibWx0Y0c5eWRDQjdJRUZ6ZVc1alRXVnpjMkZuWlVoaGJtUnNaWElzSUUxbGMzTmhaMlZJWVc1a2JHVnlJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlsYm1Sd2IybHVkQ2M3WEhKY2JtbHRjRzl5ZENCN0lGSmxiVzkwWlVkaFpHZGxkRU52YlhCdmJtVnVkQ0I5SUdaeWIyMGdKeTR2WTI5dGNHOXVaVzUwWDNKbGJXOTBaVjluWVdSblpYUW5PMXh5WEc1cGJYQnZjblFnZXlCRFIyRmtaMlYwUlc1a2NHOXBiblFnZlNCbWNtOXRJQ2N1TDJkaFpHZGxkRjlsYm1Sd2IybHVkQ2M3WEhKY2JseHlYRzVqYjI1emRDQmxjWFZoYkNBOUlISmxjWFZwY21Vb0lDZG1ZWE4wTFdSbFpYQXRaWEYxWVd3bklDazdYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaSmJuUmxjbVpoWTJWRmJuUnBkSGxRY205alpYTnpiM0pjY2x4dWUxeHlYRzVjZEhOMFlYSjBaV1FvSUhOMFlYSjBUWE5uT2lCTmMyZEpiblJsY21aaFkyVlRkR0Z5ZEdWa0lDazZJSFp2YVdRN1hISmNibHgwWlc1a1pXUW9JSFJ5WVc1emJXbDBkR1Z5T2lCRmJtUndiMmx1ZEVGa1pISXNJSEpsWTJWcGRtVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHbG1ZV05sT2lCemRISnBibWNzSUZ4eVhHNWNkRngwZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUS9PaUJCZGxabFkzUnZjaUFwT2lCMmIybGtPMXh5WEc1Y2RHVjJaVzUwS0NCa1pYTjBhVzVoZEdsdmJqb2dSVzVrY0c5cGJuUkJaR1J5TENCd1pXVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHbG1ZV05sT2lCemRISnBibWNzSUdSaGRHRTZJRzlpYW1WamRDd2dYSEpjYmx4MFhIUmtaWE4wYVc1aGRHbHZia1p5YjIxUVpXVnlPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMHNJR2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBQem9nUVhaV1pXTjBiM0lnS1RvZ2RtOXBaRHRjY2x4dVhIUjBjbUZ1YzJadmNtMVZjR1JoZEdWa0tDQmtaWE4wYVc1aGRHbHZiam9nUlc1a2NHOXBiblJCWkdSeUxDQndaV1Z5T2lCRmJtUndiMmx1ZEVGa1pISXNJR2xtWVdObE9pQnpkSEpwYm1jc0lGeHlYRzVjZEZ4MFpHVnpkR2x1WVhScGIyNUdjbTl0VUdWbGNqb2dRWFpPYjJSbFZISmhibk5tYjNKdExDQnBiblJsY25ObFkzUnBiMjVRYjJsdWREODZJRUYyVm1WamRHOXlJQ2s2SUhadmFXUTdYSEpjYm4xY2NseHVYSEpjYmx4eVhHNW1kVzVqZEdsdmJpQndZWEp6WlZWU1RDaDFjbXc2SUhOMGNtbHVaeWtnWEhKY2JudGNjbHh1SUNBZ0lIWmhjaUJ3WVhKelpYSWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDZGhKeWtzWEhKY2JpQWdJQ0FnSUNBZ2MyVmhjbU5vVDJKcVpXTjBPaUI3V3lCclpYazZJSE4wY21sdVp5QmRPaUJ6ZEhKcGJtY2dmU0E5SUh0OUxGeHlYRzRnSUNBZ0lDQWdJSEYxWlhKcFpYTXNJSE53YkdsMExDQnBPMXh5WEc1Y2NseHVYSFF2THlCTVpYUWdkR2hsSUdKeWIzZHpaWElnWkc4Z2RHaGxJSGR2Y210Y2NseHVYSFJ3WVhKelpYSXVhSEpsWmlBOUlIVnliRHRjY2x4dVhIUmNjbHh1SUNBZ0lDOHZJRU52Ym5abGNuUWdjWFZsY25rZ2MzUnlhVzVuSUhSdklHOWlhbVZqZEZ4eVhHNGdJQ0FnY1hWbGNtbGxjeUE5SUhCaGNuTmxjaTV6WldGeVkyZ3VjbVZ3YkdGalpTZ3ZYbHhjUHk4c0lDY25LUzV6Y0d4cGRDZ25KaWNwTzF4eVhHNGdJQ0FnWm05eUtDQnBJRDBnTURzZ2FTQThJSEYxWlhKcFpYTXViR1Z1WjNSb095QnBLeXNnS1NCN1hISmNiaUFnSUNBZ0lDQWdjM0JzYVhRZ1BTQnhkV1Z5YVdWelcybGRMbk53YkdsMEtDYzlKeWs3WEhKY2JpQWdJQ0FnSUNBZ2MyVmhjbU5vVDJKcVpXTjBXM053YkdsMFd6QmRYU0E5SUhOd2JHbDBXekZkTzF4eVhHNWNkSDFjY2x4dVhIUmNjbHh1WEhSeVpYUjFjbTRnYzJWaGNtTm9UMkpxWldOME8xeHlYRzU5WEhKY2JseHlYRzVtZFc1amRHbHZiaUJuWlhSQ2IyOXNaV0Z1UVdOMGFXOXVSbkp2YlZOMFlYUmxLQ0JoWTNScGIyNDZJRVZCWTNScGIyNHNJSE4wWVhSbE9pQkJka0ZqZEdsdmJsTjBZWFJsS1RvZ1ltOXZiR1ZoYmx4eVhHNTdYSEpjYmx4MGFXWW9JQ0Z6ZEdGMFpTQXBYSEpjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEhKY2JseHlYRzVjZEhOM2FYUmphQ2dnWVdOMGFXOXVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUmpZWE5sSUVWQlkzUnBiMjR1UVRvZ2NtVjBkWEp1SUhOMFlYUmxMbUU3WEhKY2JseDBYSFJqWVhObElFVkJZM1JwYjI0dVFqb2djbVYwZFhKdUlITjBZWFJsTG1JN1hISmNibHgwWEhSallYTmxJRVZCWTNScGIyNHVSM0poWWpvZ2NtVjBkWEp1SUhOMFlYUmxMbWR5WVdJN1hISmNibHgwWEhSallYTmxJRVZCWTNScGIyNHVSM0poWWxOb2IzZFNZWGs2SUhKbGRIVnliaUJ6ZEdGMFpTNW5jbUZpVTJodmQxSmhlVHRjY2x4dVhIUmNkR05oYzJVZ1JVRmpkR2x2Ymk1VGNYVmxaWHBsT2lCeVpYUjFjbTRnYzNSaGRHVXVjM0YxWldWNlpUdGNjbHh1WEhSY2RHTmhjMlVnUlVGamRHbHZiaTVFWlhSaFkyZzZJSEpsZEhWeWJpQnpkR0YwWlM1a1pYUmhZMmc3WEhKY2JseDBYSFJrWldaaGRXeDBPaUJ5WlhSMWNtNGdabUZzYzJVN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNWNjbHh1YVc1MFpYSm1ZV05sSUVGamRHbHZibE4wWVhSbFRHbHpkR1Z1WlhKY2NseHVlMXh5WEc1Y2RHaGhibVE2SUVWSVlXNWtPMXh5WEc1Y2RHRmpkR2x2YmpvZ1JVRmpkR2x2Ymp0Y2NseHVYSFJ5YVhOcGJtYy9PaUFvS1NBOVBpQjJiMmxrTzF4eVhHNWNkR1poYkd4cGJtYy9PaUFvS1NBOVBpQjJiMmxrTzF4eVhHNWNkSFZ3WkdGMFpUODZJQ2dnYm1WM1ZtRnNkV1U2SUZzZ2JuVnRZbVZ5TENCdWRXMWlaWElnWFNBcElEMCtJSFp2YVdRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQkhaWFJIWVdSblpYUlZjbXhHY205dFYybHVaRzkzS0NsY2NseHVlMXh5WEc1Y2RISmxkSFZ5YmlCM2FXNWtiM2N1Ykc5allYUnBiMjR1YjNKcFoybHVYSEpjYmx4MFhIUXJJSGRwYm1SdmR5NXNiMk5oZEdsdmJpNXdZWFJvYm1GdFpTNXpiR2xqWlNnZ01Dd2dkMmx1Wkc5M0xteHZZMkYwYVc5dUxuQmhkR2h1WVcxbExteGhjM1JKYm1SbGVFOW1LQ0JjSWk5Y0lpQXBJQ2s3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJVYUdVZ2MybHVaMnhsZEc5dUlHZGhaR2RsZENCdlltcGxZM1FnWm05eUlIUm9aU0JpY205M2MyVnlMaUFxTDF4eVhHNWxlSEJ2Y25RZ1kyeGhjM01nUVhaSFlXUm5aWFJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnYzNSaGRHbGpJSE5mYVc1emRHRnVZMlU2UVhaSFlXUm5aWFFnUFNCdWRXeHNPMXh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzFmYjI1VFpYUjBhVzVuYzFKbFkyVnBkbVZrT2lnZ2MyVjBkR2x1WjNNNklHRnVlU0FwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzFmYm1WNGRFNXZaR1ZKWkNBOUlERTdYSEpjYmx4MGNISnBkbUYwWlNCdFgzSmxaMmx6ZEdWeVpXUk9iMlJsY3pvZ2UxdHViMlJsU1dRNmJuVnRZbVZ5WFRwSlFYWkNZWE5sVG05a1pTQjlJRDBnZTMwN1hISmNibHgwY0hKcGRtRjBaU0J0WDI1bGVIUkdjbUZ0WlZKbGNYVmxjM1E2SUc1MWJXSmxjaUE5SURBN1hISmNibHgwY0hKcGRtRjBaU0J0WDNSeVlYWmxjbk5sWkU1dlpHVnpPaUI3VzI1dlpHVkpaRHB1ZFcxaVpYSmRPa2xCZGtKaGMyVk9iMlJsSUgwZ1BTQjdmVHRjY2x4dVhIUndjbWwyWVhSbElHMWZaVzVrY0c5cGJuUTZJRU5IWVdSblpYUkZibVJ3YjJsdWRDQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J0WDIxaGJtbG1aWE4wT2lCQllYSmtkbUZ5YTAxaGJtbG1aWE4wSUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHMWZZV04wZFdGc1IyRmtaMlYwVlhKcE9pQnpkSEpwYm1jZ1BTQnVkV3hzTzF4eVhHNWNkSEJ5YVhaaGRHVWdiVjloWTNScGIyNVRkR0YwWlRvZ2V5QmJhR0Z1WkRwdWRXMWlaWEpkT2lCQmRrRmpkR2x2YmxOMFlYUmxJSDBnUFNCN2ZUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZlpYQlViMDV2ZEdsbWVUb2dSVzVrY0c5cGJuUkJaR1J5SUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHMWZabWx5YzNSVFkyVnVaVWR5WVhCb09pQmliMjlzWldGdUlEMGdkSEoxWlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmYVc1cGRHbGhiRWx1ZEdWeVptRmpaWE02SUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOclcxMGdQU0JiWFR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmWlc1a2NHOXBiblJQY0dWdVpXUTZJR0p2YjJ4bFlXNGdQU0JtWVd4elpUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZllXTjBhWFpsVjJGcGRFWnZja052Ym01bFkzUlNaV3BsWTNRNklDaHlaV0Z6YjI0NklHRnVlU2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdFgyRmpkR2wyWlZkaGFYUkdiM0pEYjI1dVpXTjBVbVZ6YjJ4MlpUb2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdiVjlwYm5SbGNtWmhZMlZGZG1WdWRGQnliMk5sYzNOdmNuTTZJSHRiYm05a1pVbGtPaUJ1ZFcxaVpYSmRPaUJCZGtsdWRHVnlabUZqWlVWMlpXNTBVSEp2WTJWemMyOXlJSDBnUFNCN2ZWeHlYRzVjZEhCeWFYWmhkR1VnYlY5cGJuUmxjbVpoWTJWRmJuUnBkSGxRY205alpYTnpiM0p6SUQwZ2JtVjNJRTFoY0R4dWRXMWlaWElzSUVGMlNXNTBaWEptWVdObFJXNTBhWFI1VUhKdlkyVnpjMjl5UGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnYlY5emRHRnlkRWRoWkdkbGRGQnliMjFwYzJWek9pQjdXMjV2WkdWSlpEcHVkVzFpWlhKZE9pQmNjbHh1WEhSY2RGc2dLQ0J5WlhNNklFRjJVM1JoY25SSFlXUm5aWFJTWlhOMWJIUWdLU0E5UGlCMmIybGtMQ0FvSUhKbFlYTnZiam9nWVc1NUlDa2dQVDRnZG05cFpDQmRJSDBnUFNCN2ZUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZllXTjBhVzl1VTNSaGRHVk1hWE4wWlc1bGNuTTZJSHNnVzJ4cGMzUmxibVZ5U1dRNklHNTFiV0psY2wwZ09pQkJZM1JwYjI1VGRHRjBaVXhwYzNSbGJtVnlJSDBnUFNCN2ZUdGNjbHh1WEhKY2JseDBZMjl1YzNSeWRXTjBiM0lvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWJWOWhZM1IxWVd4SFlXUm5aWFJWY21rZ1BTQkhaWFJIWVdSblpYUlZjbXhHY205dFYybHVaRzkzS0NrN1hISmNibHgwWEhSc1pYUWdjR0Z5WVcxeklEMGdjR0Z5YzJWVlVrd29JSGRwYm1SdmR5NXNiMk5oZEdsdmJpNW9jbVZtSUNrN1hISmNibHh5WEc1Y2RGeDBkSEo1WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQndZWEpoYlhOYklGd2lhVzVwZEdsaGJFbHVkR1Z5Wm1GalpYTmNJaUJkSUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWJWOXBibWwwYVdGc1NXNTBaWEptWVdObGN5QTlJRXBUVDA0dWNHRnljMlVvSUdGMGIySW9JSEJoY21GdGMxc2dYQ0pwYm1sMGFXRnNTVzUwWlhKbVlXTmxjMXdpSUYwZ0tTQXBPMXh5WEc1Y2RGeDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJbWx1YVhScFlXeEpiblJsY21aaFkyVnpYQ0lzSUhSb2FYTXViVjlwYm1sMGFXRnNTVzUwWlhKbVlXTmxjeUFwTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSOVhISmNibHgwWEhSallYUmphQ2dnWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnWm1GcGJHVmtJSFJ2SUhCaGNuTmxJR2x1YVhScFlXd2dhVzUwWlhKbVlXTmxjeUFrZXlCbElIMWdJQ2s3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGFXWW9JSEJoY21GdGMxc2dYQ0psY0ZSdlRtOTBhV1o1WENKZElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1dFgyVndWRzlPYjNScFpua2dQU0J6ZEhKcGJtZFViMFZ1WkhCdmFXNTBRV1JrY2lnZ2NHRnlZVzF6V3lCY0ltVndWRzlPYjNScFpubGNJbDBnS1R0Y2NseHVYSFJjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpVkdocGN5Qm5ZV1JuWlhRZ2QyRnVkSE1nZEc4Z2JtOTBhV1o1SUZ3aUlDc2daVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvZEdocGN5NXRYMlZ3Vkc5T2IzUnBabmtnS1NBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkSFJvYVhNdWJWOWxibVJ3YjJsdWRDQTlJRzVsZHlCRFIyRmtaMlYwUlc1a2NHOXBiblFvSUhSb2FYTXViVjloWTNSMVlXeEhZV1JuWlhSVmNta3NJSFJvYVhNdWIyNUZibVJ3YjJsdWRFOXdaVzRnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEM4cUtpQlNaWFIxY201eklHRWdjSEp2YldselpTQjBhR0YwSUhKbGMyOXNkbVZ6SUhkb1pXNGdkR2hsSUdsdWFYUnBZV3dnWlc1a2NHOXBiblFnYUdGdVpITm9ZV3RsSUdseklHTnZiWEJzWlhSbFhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FIQjFZbXhwWTF4eVhHNWNkQ0FxTDF4eVhHNWNkRUJpYVc1a0lIQjFZbXhwWXlCM1lXbDBSbTl5UTI5dWJtVmpkQ2dwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUhSb2FYTXViVjloWTNScGRtVlhZV2wwUm05eVEyOXVibVZqZEZKbGFtVmpkQ0FwSUh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDJGamRHbDJaVmRoYVhSR2IzSkRiMjV1WldOMFVtVnFaV04wS0Z3aVFXNXZkR2hsY2lCallXeHNaWElnY21WbmFYTjBaWEpsWkNCaElIQnliMjFwYzJWY0lpazdYSEpjYmx4MFhIUmNkSFJvYVhNdVkyeGxZWEpYWVdsMFJtOXlRMjl1Ym1WamRDZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnZ0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ1BUNGdYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2xtSUNnZ2RHaHBjeTV0WDJWdVpIQnZhVzUwVDNCbGJtVmtJQ2tnY21WemIyeDJaU2dwTzF4eVhHNWNjbHh1WEhSY2RGeDBkR2hwY3k1dFgyRmpkR2wyWlZkaGFYUkdiM0pEYjI1dVpXTjBVbVZxWldOMElEMGdjbVZxWldOMFhISmNibHgwWEhSY2RIUm9hWE11YlY5aFkzUnBkbVZYWVdsMFJtOXlRMjl1Ym1WamRGSmxjMjlzZG1VZ1BTQnlaWE52YkhabFhISmNibHgwWEhSOUtUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrSUhCeWFYWmhkR1VnWTJ4bFlYSlhZV2wwUm05eVEyOXVibVZqZENncFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMkZqZEdsMlpWZGhhWFJHYjNKRGIyNXVaV04wVW1WcVpXTjBJRDBnYm5Wc2JEdGNjbHh1WEhSY2RIUm9hWE11YlY5aFkzUnBkbVZYWVdsMFJtOXlRMjl1Ym1WamRGSmxjMjlzZG1VZ1BTQnVkV3hzTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUWdjSFZpYkdsaklHOXVSVzVrY0c5cGJuUlBjR1Z1S0NCelpYUjBhVzVuY3pvZ1lXNTVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG0xZlpXNWtjRzlwYm5RdVoyVjBSMkZrWjJWMFRXRnVhV1psYzNRb0lIUm9hWE11YlY5aFkzUjFZV3hIWVdSblpYUlZjbWtnS1Z4eVhHNWNkRngwTG5Sb1pXNG9JQ2dnYldGdWFXWmxjM1E2SUVGaGNtUjJZWEpyVFdGdWFXWmxjM1FnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmJXRnVhV1psYzNRZ1BTQnRZVzVwWm1WemREdGNjbHh1WEhSY2RGeDBkR2hwY3k1dFlYSnJSR2x5ZEhrb0tUdGNjbHh1WEhSY2RIMHBPMXh5WEc1Y2NseHVYSFJjZEhSb2FYTXViVjlsYm1Sd2IybHVkQzV5WldkcGMzUmxja2hoYm1Sc1pYSW9JRTFsYzNOaFoyVlVlWEJsTGtkaFpHZGxkRk4wWVhKMFpXUXNJSFJvYVhNdWIyNUhZV1JuWlhSVGRHRnlkR1ZrSUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblF1Y21WbmFYTjBaWEpJWVc1a2JHVnlLQ0JOWlhOellXZGxWSGx3WlM1VmNHUmhkR1ZCWTNScGIyNVRkR0YwWlN3Z2RHaHBjeTV2YmxWd1pHRjBaVUZqZEdsdmJsTjBZWFJsSUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblF1Y21WbmFYTjBaWEpJWVc1a2JHVnlLQ0JOWlhOellXZGxWSGx3WlM1U1pYTnZkWEpqWlV4dllXUkdZV2xzWldRc0lIUm9hWE11YjI1U1pYTnZkWEpqWlV4dllXUkdZV2xzWldRZ0tUdGNjbHh1WEhSY2RIUm9hWE11YlY5bGJtUndiMmx1ZEM1eVpXZHBjM1JsY2tGemVXNWpTR0Z1Wkd4bGNpZ2dUV1Z6YzJGblpWUjVjR1V1U1c1MFpYSm1ZV05sUlhabGJuUXNJSFJvYVhNdWIyNUpiblJsY21aaFkyVkZkbVZ1ZENBcE8xeHlYRzVjZEZ4MGRHaHBjeTV0WDJWdVpIQnZhVzUwTG5KbFoybHpkR1Z5UVhONWJtTklZVzVrYkdWeUtDQk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZUZEdGeWRHVmtMQ0IwYUdsekxtOXVTVzUwWlhKbVlXTmxVM1JoY25SbFpDQXBPMXh5WEc1Y2RGeDBkR2hwY3k1dFgyVnVaSEJ2YVc1MExuSmxaMmx6ZEdWeVFYTjVibU5JWVc1a2JHVnlLQ0JOWlhOellXZGxWSGx3WlM1SmJuUmxjbVpoWTJWRmJtUmxaQ3dnZEdocGN5NXZia2x1ZEdWeVptRmpaVVZ1WkdWa0lDazdYSEpjYmx4MFhIUjBhR2x6TG0xZlpXNWtjRzlwYm5RdWNtVm5hWE4wWlhKQmMzbHVZMGhoYm1Sc1pYSW9JRTFsYzNOaFoyVlVlWEJsTGtsdWRHVnlabUZqWlZKbFkyVnBkbVZGZG1WdWRDd2dYSEpjYmx4MFhIUmNkSFJvYVhNdWIyNUpiblJsY21aaFkyVlNaV05sYVhabFpFVjJaVzUwSUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblF1Y21WbmFYTjBaWEpCYzNsdVkwaGhibVJzWlhJb0lFMWxjM05oWjJWVWVYQmxMa2x1ZEdWeVptRmpaVlJ5WVc1elptOXliVlZ3WkdGMFpXUXNJRnh5WEc1Y2RGeDBYSFIwYUdsekxtOXVTVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDQXBPMXh5WEc1Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG0xZmIyNVRaWFIwYVc1bmMxSmxZMlZwZG1Wa0lDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1dFgyOXVVMlYwZEdsdVozTlNaV05sYVhabFpDZ2djMlYwZEdsdVozTWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblJQY0dWdVpXUWdQU0IwY25WbE8xeHlYRzVjZEZ4MGFXWWdLQ0IwYUdsekxtMWZZV04wYVhabFYyRnBkRVp2Y2tOdmJtNWxZM1JTWlhOdmJIWmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdocGN5NXRYMkZqZEdsMlpWZGhhWFJHYjNKRGIyNXVaV04wVW1WemIyeDJaU2dwTzF4eVhHNWNkRngwWEhSMGFHbHpMbU5zWldGeVYyRnBkRVp2Y2tOdmJtNWxZM1FvS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEM4cUtpQlNaWFIxY201eklIUm9aU0JCZGtkaFpHZGxkQ0J6YVc1bmJHVjBiMjR1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUhCMVlteHBZMXh5WEc1Y2RDQXFMMXh5WEc1Y2RIQjFZbXhwWXlCemRHRjBhV01nYVc1emRHRnVZMlVvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaFFYWkhZV1JuWlhRdWMxOXBibk4wWVc1alpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRUYyUjJGa1oyVjBMbk5mYVc1emRHRnVZMlVnUFNCdVpYY2dRWFpIWVdSblpYUW9LVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkSEpsZEhWeWJpQkJka2RoWkdkbGRDNXpYMmx1YzNSaGJtTmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBMeW9xSUZKbGRIVnlibk1nZEdobElHNWhiV1VnYjJZZ2RHaGxJR2RoWkdkbGRDNGdYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRSEIxWW14cFkxeHlYRzVjZENvdlhISmNibHgwY0hWaWJHbGpJR2RsZEU1aGJXVW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxtMWZiV0Z1YVdabGMzUWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdkR2hwY3k1dFgyMWhibWxtWlhOMExtNWhiV1U3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RISmxkSFZ5YmlCMGFHbHpMbTFmWVdOMGRXRnNSMkZrWjJWMFZYSnBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RIMWNjbHh1WEhKY2JseDBMeW9xSUZKbGRIVnlibk1nZEdobElHZGhaR2RsZENkeklHMWhibWxtWlhOMElDb3ZYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnRZVzVwWm1WemRDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXViVjl0WVc1cFptVnpkRHRjY2x4dVhIUjlYSEpjYmx4MFhISmNibHgwTHlvcUlGSmxkSFZ5Ym5NZ2RHaGxJRlZTVENCdlppQjBhR1VnWjJGa1oyVjBMaUFxTDF4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZFhKc0tDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NXRYMkZqZEhWaGJFZGhaR2RsZEZWeWFUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2FXNXBkR2xoYkNCd1lYSmxiblFnY21WeGRXVnpkR1ZrSUdKNUlIZG9iMjFsZG1WeUlITjBZWEowWldRZ2RHaHBjeUJuWVdSblpYUXVJQ292WEhKY2JseDBjSFZpYkdsaklHZGxkQ0JwYm1sMGFXRnNTVzUwWlhKbVlXTmxjeWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11YlY5cGJtbDBhV0ZzU1c1MFpYSm1ZV05sY3p0Y2NseHVYSFI5WEhKY2JseDBYSEpjYmx4MEx5b3FJRkpsZEhWeWJuTWdZU0J6Y0dWamFXWnBZeUJwYm1sMGFXRnNJR2x1ZEdWeVptRmpaU0JzYjJOcklHbG1JR2wwSUdWNGFYTjBjeTRnS2k5Y2NseHVYSFJ3ZFdKc2FXTWdabWx1WkVsdWFYUnBZV3hKYm5SbGNtWmhZMlVvSUdsdWRHVm1ZV05sVG1GdFpUb2djM1J5YVc1bklDazZJRWx1YVhScFlXeEpiblJsY21aaFkyVk1iMk5yWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11YlY5cGJtbDBhV0ZzU1c1MFpYSm1ZV05sY3k1bWFXNWtLQ0FvSUd4dlkyc2dLVDArSUd4dlkyc3VhV1poWTJVZ1BUMGdhVzUwWldaaFkyVk9ZVzFsSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhKY2JseDBMeW9xSUV4dllXUnpJR0VnWjJGa1oyVjBJRzFoYm1sbVpYTjBJR0o1SUdkaFpHZGxkQ0JWVWtrdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FISmxkSFZ5Ym5NZ1lTQndjbTl0YVhObElIUm9ZWFFnZDJsc2JDQnlaWE52YkhabElIUnZJSFJvWlNCemNHVmphV1pwWldRZ1oyRmtaMlYwSjNNZ2JXRnVhV1psYzNSY2NseHVYSFFnS2lCQWNIVmliR2xqWEhKY2JseDBJQ292WEhKY2JseDBjSFZpYkdsaklHeHZZV1JOWVc1cFptVnpkQ2dnWjJGa1oyVjBWWEpwT2lCemRISnBibWNnS1NBNklGQnliMjFwYzJVOFFXRnlaSFpoY210TllXNXBabVZ6ZEQ1Y2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1dFgyVnVaSEJ2YVc1MExtZGxkRWRoWkdkbGRFMWhibWxtWlhOMEtDQm5ZV1JuWlhSVmNta2dLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCU1pYUjFjbTV6SUdFZ2JHbHpkQ0J2WmlCaGJHd2dkR2hsSUdsdWMzUmhiR3hsWkNCbllXUm5aWFFuY3lCVlVrbHpMaUJjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBY0hWaWJHbGpYSEpjYmx4MEtpOWNjbHh1WEhSd2RXSnNhV01nWjJWMFNXNXpkR0ZzYkdWa1IyRmtaMlYwY3lncE9pQlFjbTl0YVhObFBDQnpkSEpwYm1kYlhTQStYSEpjYmx4MGUxeHlYRzVjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpVW1WeGRXVnpkR2x1WnlCcGJuTjBZV3hzWldRZ1oyRmtaMlYwYzF3aUlDazdYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sUEhOMGNtbHVaMXRkUGlnZ0tDQnlaWE52YkhabExDQnlaV3BsWTNRZ0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2JUb2dUWE5uUjJWMFNXNXpkR0ZzYkdWa1IyRmtaMlYwY3lBOUlIdDlPMXh5WEc1Y2RGeDBYSFIwYUdsekxtMWZaVzVrY0c5cGJuUXVjMlZ1WkUxbGMzTmhaMlZCYm1SWFlXbDBSbTl5VW1WemNHOXVjMlU4VFhOblIyVjBTVzV6ZEdGc2JHVmtSMkZrWjJWMGMxSmxjM0J2Ym5ObFBpZ2dYSEpjYmx4MFhIUmNkRngwVFdWemMyRm5aVlI1Y0dVdVIyVjBTVzV6ZEdGc2JHVmtSMkZrWjJWMGN5d2diU3dnWEhKY2JseDBYSFJjZEZ4MFRXVnpjMkZuWlZSNWNHVXVSMlYwU1c1emRHRnNiR1ZrUjJGa1oyVjBjMUpsYzNCdmJuTmxJQ2xjY2x4dVhIUmNkRngwTG5Sb1pXNG9JQ2dnV3lCeVpYTndMQ0JsYm5ZZ1hUb2dXeUJOYzJkSFpYUkpibk4wWVd4c1pXUkhZV1JuWlhSelVtVnpjRzl1YzJVc0lFVnVkbVZzYjNCbElGMHBJRDArWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnlaWE52YkhabEtDQnlaWE53TG1sdWMzUmhiR3hsWkVkaFpHZGxkSE1nS1R0Y2NseHVYSFJjZEZ4MGZTazdYSEpjYmx4MFhIUjlLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnlaV2RwYzNSbGNpZ2dibTlrWlRvZ1NVRjJRbUZ6WlU1dlpHVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RDOHZZMjl1YzI5c1pTNXNiMmNvSUZ3aVlYTnphV2R1YVc1bklHbGtYQ0lzSUhSb2FYTXViVjl1WlhoMFRtOWtaVWxrSUNrN1hISmNibHgwWEhSdWIyUmxMbTFmYm05a1pVbGtJRDBnZEdocGN5NXRYMjVsZUhST2IyUmxTV1FyS3p0Y2NseHVYSFJjZEhSb2FYTXViVjl5WldkcGMzUmxjbVZrVG05a1pYTmJJRzV2WkdVdWJWOXViMlJsU1dRZ1hTQTlJRzV2WkdVN1hISmNibHgwWEhSMGFHbHpMbTFoY210RWFYSjBlU2dwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJSFZ1Y21WbmFYTjBaWElvSUc1dlpHVTZJRWxCZGtKaGMyVk9iMlJsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ2JtOWtaUzV0WDI1dlpHVkpaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdSbGJHVjBaU0IwYUdsekxtMWZjbVZuYVhOMFpYSmxaRTV2WkdWeld5QnViMlJsTG0xZmJtOWtaVWxrSUYwN1hISmNibHgwWEhSY2RHNXZaR1V1YlY5dWIyUmxTV1FnUFNCMWJtUmxabWx1WldRN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBkR2hwY3k1dFlYSnJSR2x5ZEhrb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCblpYUkZibVJ3YjJsdWRFbGtLQ2tnT2lCdWRXMWlaWEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV0WDJWdVpIQnZhVzUwTG1kbGRFVnVaSEJ2YVc1MFNXUW9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lHOXVSMkZrWjJWMFUzUmhjblJsWkNnZ2JUb2dUWE5uUjJGa1oyVjBVM1JoY25SbFpDd2daVzUyT2lCRmJuWmxiRzl3WlNBcE9uWnZhV1JjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnY0hKdlkyVnpjMjl5SUQwZ2RHaHBjeTV0WDNOMFlYSjBSMkZrWjJWMFVISnZiV2x6WlhOYklHVnVkaTUwWVhKblpYUXVibTlrWlVsa0lGMDdYSEpjYmx4MFhIUnBaaWdnY0hKdlkyVnpjMjl5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNISnZZMlZ6YzI5eVd6QmRLRnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSE4xWTJObGMzTTZJSFJ5ZFdVc1hISmNibHgwWEhSY2RGeDBYSFJ6ZEdGeWRHVmtSMkZrWjJWMFJXNWtjRzlwYm5SSlpEb2diUzV6ZEdGeWRHVmtSMkZrWjJWMFJXNWtjRzlwYm5SSlpDeGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZENrN1hISmNibHgwWEhSY2RHUmxiR1YwWlNCMGFHbHpMbTFmYzNSaGNuUkhZV1JuWlhSUWNtOXRhWE5sYzFzZ1pXNTJMblJoY21kbGRDNXViMlJsU1dRZ1hUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpYUkpiblJsY21aaFkyVkZiblJwZEhsUWNtOWpaWE56YjNJb0lHNXZaR1ZKWkRvZ2JuVnRZbVZ5TENCd2NtOWpaWE56YjNJNklFRjJTVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZZMlZ6YzI5eUlDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbTFmYVc1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXljeTV6WlhRb0lHNXZaR1ZKWkN3Z2NISnZZMlZ6YzI5eUlDazdYSEpjYmx4MFhIUjBhR2x6TG0xaGNtdEVhWEowZVNncE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdOc1pXRnlTVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZZMlZ6YzI5eUtDQnViMlJsU1dRNklHNTFiV0psY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMmx1ZEdWeVptRmpaVVZ1ZEdsMGVWQnliMk5sYzNOdmNuTXVaR1ZzWlhSbEtDQnViMlJsU1dRZ0tUdGNjbHh1WEhSY2RIUm9hWE11YldGeWEwUnBjblI1S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdkbGRFbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIyTmxjM052Y2lnZ1pYQmhPaUJGYm1Sd2IybHVkRUZrWkhJZ0tUb2dRWFpKYm5SbGNtWmhZMlZGYm5ScGRIbFFjbTlqWlhOemIzSmNjbHh1WEhSN1hISmNibHgwWEhScFppZ2daWEJoTG1WdVpIQnZhVzUwU1dRZ0lUMGdkR2hwY3k1dFgyVnVaSEJ2YVc1MExtZGxkRVZ1WkhCdmFXNTBTV1FvS1NBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUIwYUdsekxtMWZhVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZZMlZ6YzI5eWN5NW5aWFFvSUdWd1lTNXViMlJsU1dRZ0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQmhjM2x1WXlCdmJrbHVkR1Z5Wm1GalpWTjBZWEowWldRb0lHMDZJRTF6WjBsdWRHVnlabUZqWlZOMFlYSjBaV1FzSUdWdWRqb2dSVzUyWld4dmNHVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnVW1WalpXbDJaV1FnYVc1MFpYSm1ZV05sSUhOMFlYSjBJR1p2Y2lBa2V5QnBiblJsY21aaFkyVlRkSEpwYm1kR2NtOXRUWE5uS0NCdElDa2dmV0FnS1R0Y2NseHVYSFJjZEd4bGRDQndjbTlqWlhOemIzSWdQU0IwYUdsekxtZGxkRWx1ZEdWeVptRmpaVVZ1ZEdsMGVWQnliMk5sYzNOdmNpZ2daVzUyTG5SaGNtZGxkQ0FwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSEJ5YjJObGMzTnZjaTV6ZEdGeWRHVmtLQ0J0SUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGd2NtOWpaWE56YjNJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUdsdWRHVnlabUZqWlNCemRHRnlkQ0JtYjNJZ0pIc2dhVzUwWlhKbVlXTmxVM1J5YVc1blJuSnZiVTF6WnlnZ2JTQXBJSDBzWUZ4eVhHNWNkRngwWEhSY2RDc2dZQ0IzYUdsamFDQmtiMlZ6YmlkMElHaGhkbVVnWVNCd2NtOWpaWE56YjNKZ0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdZWE41Ym1NZ2IyNUpiblJsY21aaFkyVkZibVJsWkNnZ2JUb2dUWE5uU1c1MFpYSm1ZV05sUlc1a1pXUXNJR1Z1ZGpvZ1JXNTJaV3h2Y0dVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQndjbTlqWlhOemIzSWdQU0IwYUdsekxtZGxkRWx1ZEdWeVptRmpaVVZ1ZEdsMGVWQnliMk5sYzNOdmNpZ2daVzUyTG5SaGNtZGxkQ0FwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSEJ5YjJObGMzTnZjaTVsYm1SbFpDaHRMblJ5WVc1emJXbDBkR1Z5TENCdExuSmxZMlZwZG1WeUxDQnRMbWxtWVdObExDQnRMblJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeUxDQmNjbHh1WEhSY2RGeDBYSFJ0TG1sdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGd2NtOWpaWE56YjNJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUdsdWRHVnlabUZqWlNCemRHRnlkQ0JtYjNJZ0pIc2dhVzUwWlhKbVlXTmxVM1J5YVc1blJuSnZiVTF6WnlnZ2JTQXBJSDBzWUZ4eVhHNWNkRngwWEhSY2RDc2dZQ0IzYUdsamFDQmtiMlZ6YmlkMElHaGhkbVVnWVNCd2NtOWpaWE56YjNKZ0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdZWE41Ym1NZ2IyNUpiblJsY21aaFkyVlNaV05sYVhabFpFVjJaVzUwS0NCdE9pQk5jMmRKYm5SbGNtWmhZMlZTWldObGFYWmxSWFpsYm5Rc0lHVnVkam9nUlc1MlpXeHZjR1VnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCd2NtOWpaWE56YjNJZ1BTQjBhR2x6TG1kbGRFbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIyTmxjM052Y2lnZ2JTNWtaWE4wYVc1aGRHbHZiaUFwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSEJ5YjJObGMzTnZjaTVsZG1WdWRDaHRMbVJsYzNScGJtRjBhVzl1TENCdExuQmxaWElzSUcwdWFXWmhZMlVzSUcwdVpYWmxiblFzSUcwdVpHVnpkR2x1WVhScGIyNUdjbTl0VUdWbGNpeGNjbHh1WEhSY2RGeDBYSFJ0TG1sdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGd2NtOWpaWE56YjNJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUdsdWRHVnlabUZqWlNCbGRtVnVkQ0JtYjNJZ0pIc2daVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvSUcwdVpHVnpkR2x1WVhScGIyNGdLU0I5TEdCY2NseHVYSFJjZEZ4MFhIUXJJR0FnZDJocFkyZ2daRzlsYzI0bmRDQm9ZWFpsSUdFZ2NISnZZMlZ6YzI5eVlDQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RIMWNjbHh1WEhKY2JseDBRR0pwYm1SY2NseHVYSFJ3Y21sMllYUmxJR0Z6ZVc1aklHOXVTVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDZ2diVG9nVFhOblNXNTBaWEptWVdObFZISmhibk5tYjNKdFZYQmtZWFJsWkN3Z1pXNTJPaUJGYm5abGJHOXdaU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhCeWIyTmxjM052Y2lBOUlIUm9hWE11WjJWMFNXNTBaWEptWVdObFJXNTBhWFI1VUhKdlkyVnpjMjl5S0NCdExtUmxjM1JwYm1GMGFXOXVJQ2s3WEhKY2JseDBYSFJwWmlnZ2NISnZZMlZ6YzI5eUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBjSEp2WTJWemMyOXlMblJ5WVc1elptOXliVlZ3WkdGMFpXUW9JRzB1WkdWemRHbHVZWFJwYjI0c0lHMHVjR1ZsY2l3Z2JTNXBabUZqWlN3Z2JTNWtaWE4wYVc1aGRHbHZia1p5YjIxUVpXVnlMRnh5WEc1Y2RGeDBYSFJjZEcwdWFXNTBaWEp6WldOMGFXOXVVRzlwYm5RZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJwWmlnZ0lYQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1VtVmpaV2wyWldRZ2FXNTBaWEptWVdObElIUnlZVzV6Wm05eWJWVndaR0YwWldRZ1ptOXlJQ1I3SUdWdVpIQnZhVzUwUVdSa2NsUnZVM1J5YVc1bktDQnRMbVJsYzNScGJtRjBhVzl1SUNrZ2ZTeGdYSEpjYmx4MFhIUmNkRngwS3lCZ0lIZG9hV05vSUdSdlpYTnVKM1FnYUdGMlpTQmhJSEJ5YjJObGMzTnZjbUFnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ6WlhSSmJuUmxjbVpoWTJWRmRtVnVkRkJ5YjJObGMzTnZjaWdnYm05a1pVbGtPaUJ1ZFcxaVpYSXNJSEJ5YjJObGMzTnZjam9nUVhaSmJuUmxjbVpoWTJWRmRtVnVkRkJ5YjJObGMzTnZjaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dFgybHVkR1Z5Wm1GalpVVjJaVzUwVUhKdlkyVnpjMjl5YzFzZ2JtOWtaVWxrSUYwZ1BTQndjbTlqWlhOemIzSTdYSEpjYmx4MFhIUjBhR2x6TG0xaGNtdEVhWEowZVNncE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUhObGJtUkpiblJsY21aaFkyVkZkbVZ1ZENnZ2JtOWtaVWxrT2lCdWRXMWlaWElzSUdSbGMzUnBibUYwYVc5dU9pQkZibVJ3YjJsdWRFRmtaSElzSUdsbVlXTmxPaUJ6ZEhKcGJtY3NJR1JoZEdFNklHOWlhbVZqZENBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHMDZJRTF6WjBsdWRHVnlabUZqWlVWMlpXNTBJRDFjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWkdWemRHbHVZWFJwYjI0c1hISmNibHgwWEhSY2RHbHVkR1Z5Wm1GalpUb2dhV1poWTJVc1hISmNibHgwWEhSY2RHUmhkR0VzWEhKY2JseDBYSFI5TzF4eVhHNWNjbHh1WEhSY2RHbG1LQ0JrWlhOMGFXNWhkR2x2Ymk1bGJtUndiMmx1ZEVsa0lEMDlJSFJvYVhNdWJWOWxibVJ3YjJsdWRDNW5aWFJGYm1Sd2IybHVkRWxrS0NrZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnWlc1Mk9pQkZiblpsYkc5d1pTQTlYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJOWlhOellXZGxWSGx3WlM1SmJuUmxjbVpoWTJWRmRtVnVkQ3hjY2x4dVhIUmNkRngwWEhSelpXNWtaWEk2SUhzZ2RIbHdaVG9nUlc1a2NHOXBiblJVZVhCbExrNXZaR1VzSUdWdVpIQnZhVzUwU1dRNklIUm9hWE11YlY5bGJtUndiMmx1ZEM1blpYUkZibVJ3YjJsdWRFbGtLQ2tzSUc1dlpHVkpaQ0I5TEZ4eVhHNWNkRngwWEhSY2RITmxjWFZsYm1ObFRuVnRZbVZ5T2lBdE1TeGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2NseHVYSFJjZEZ4MEx5OGdhV1lnZEdocGN5QnBjeUJoSUd4dlkyRnNJSE5sYm1Rc0lHcDFjM1FnWW05MWJtTmxJR2wwSUdKaFkyc2dkRzhnYjNWeUlHOTNiaUJ1YjJSbFhISmNibHgwWEhSY2RDOHZJRVJ2WlhNZ2RHaHBjeUJ1WldWa0lIUnZJR0psSUdGemVXNWpQMXh5WEc1Y2RGeDBYSFIwYUdsekxtOXVTVzUwWlhKbVlXTmxSWFpsYm5Rb0lHMHNJR1Z1ZGlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxuTmxibVJOWlhOellXZGxLQ0JOWlhOellXZGxWSGx3WlM1SmJuUmxjbVpoWTJWRmRtVnVkQ3dnYlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUc5dVNXNTBaWEptWVdObFJYWmxiblFvSUcwNklFMXpaMGx1ZEdWeVptRmpaVVYyWlc1MExDQmxiblk2SUVWdWRtVnNiM0JsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ2NISnZZMlZ6YzI5eUlEMGdkR2hwY3k1dFgybHVkR1Z5Wm1GalpVVjJaVzUwVUhKdlkyVnpjMjl5YzFzZ2JTNWtaWE4wYVc1aGRHbHZiaTV1YjJSbFNXUWdYVHRjY2x4dVhIUmNkR2xtS0NBaGNISnZZMlZ6YzI5eUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUdCU1pXTmxhWFpsWkNCcGJuUmxjbVpoWTJVZ1pYWmxiblFnWm05eUlDUjdJRzB1WkdWemRHbHVZWFJwYjI0dWJtOWtaVWxrSUgwc0lIZG9hV05vSUdSdlpYTnVKM1FnYUdGMlpTQmhJSEJ5YjJObGMzTnZjbUFwWEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIQnliMk5sYzNOdmNpZ2diUzVwYm5SbGNtWmhZMlVzSUdWdWRpNXpaVzVrWlhJc0lHMHVaR0YwWVNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVFnY0hKcGRtRjBaU0J2YmxKbGMyOTFjbU5sVEc5aFpFWmhhV3hsWkNnZ2JUb2dUWE5uVW1WemIzVnlZMlZNYjJGa1JtRnBiR1ZrSUNsY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emIyeGxMbVZ5Y205eUtDQmdVbVZ6YjNWeVkyVWdiRzloWkNCbVlXbHNaV1FnWm05eUlDUjdJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCdExtNXZaR1ZKWkNBcElIMHVZRnh5WEc1Y2RGeDBYSFFySUdBZ2RYSnBQU1I3SUcwdWNtVnpiM1Z5WTJWVmNta2dmU0JsY25KdmNqMGtleUJ0TG1WeWNtOXlJSDFnSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYkdsemRHVnVSbTl5UVdOMGFXOXVVM1JoZEdVb0lHRmpkR2x2YmpvZ1JVRmpkR2x2Yml3Z2FHRnVaRG9nUlVoaGJtUXNJRnh5WEc1Y2RGeDBjbWx6YVc1bk9pQW9LU0E5UGlCMmIybGtMQ0JtWVd4c2FXNW5PaUFvS1NBOVBuWnZhV1FnS1RvZ2JuVnRZbVZ5WEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUdGamRHbHZiaUE5UFNCRlFXTjBhVzl1TGtkeVlXSk5iM1psSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHliM2NnYm1WM0lFVnljbTl5S0NCZ2JHbHpkR1Z1Um05eVFXTjBhVzl1VTNSaGRHVWdabTl5SUNSN0lFVkJZM1JwYjI1YklHRmpkR2x2YmlCZElIMGdkMmhwWTJnZ2FYTWdkbVZqZEc5eU1tQWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSc1pYUWdhR0Z1Wkd4bElEMGdkR2hwY3k1dFgyNWxlSFJPYjJSbFNXUXJLenRjY2x4dVhIUmNkRnh5WEc1Y2RGeDBkR2hwY3k1dFgyRmpkR2x2YmxOMFlYUmxUR2x6ZEdWdVpYSnpXeUJvWVc1a2JHVWdYU0E5SUZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSb1lXNWtMRnh5WEc1Y2RGeDBYSFJoWTNScGIyNHNYSEpjYmx4MFhIUmNkSEpwYzJsdVp5eGNjbHh1WEhSY2RGeDBabUZzYkdsdVp5eGNjbHh1WEhSY2RIMDdYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJR2hoYm1Sc1pUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCc2FYTjBaVzVHYjNKV1pXTjBiM0l5UVdOMGFXOXVVM1JoZEdVb0lHRmpkR2x2YmpvZ1JVRmpkR2x2Yml3Z2FHRnVaRG9nUlVoaGJtUXNJRnh5WEc1Y2RGeDBkWEJrWVhSbE9pQW9JSFpoYkhWbE9pQmJJRzUxYldKbGNpd2diblZ0WW1WeUlGMGdLU0E5UGlCMmIybGtJQ2s2SUc1MWJXSmxjbHh5WEc1Y2RIdGNjbHh1WEhSY2RHbG1LQ0JoWTNScGIyNGdJVDBnUlVGamRHbHZiaTVIY21GaVRXOTJaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWdnWUd4cGMzUmxia1p2Y2xabFkzUnZjakpCWTNScGIyNVRkR0YwWlNCbWIzSWdKSHNnUlVGamRHbHZibHNnWVdOMGFXOXVJRjBnZlNCM2FHbGphQ0JwY3lCaWIyOXNaV0Z1WUNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR3hsZENCb1lXNWtiR1VnUFNCMGFHbHpMbTFmYm1WNGRFNXZaR1ZKWkNzck8xeHlYRzVjZEZ4MFhISmNibHgwWEhSMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWTWFYTjBaVzVsY25OYklHaGhibVJzWlNCZElEMGdYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2hoYm1Rc1hISmNibHgwWEhSY2RHRmpkR2x2Yml4Y2NseHVYSFJjZEZ4MGRYQmtZWFJsTEZ4eVhHNWNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUnlaWFIxY200Z2FHRnVaR3hsTzF4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCc2FYTjBaVzVHYjNKQlkzUnBiMjVUZEdGMFpWZHBkR2hEYjIxd2IyNWxiblFvSUdoaGJtUTZJRVZJWVc1a0xDQmhZM1JwYjI0NklFVkJZM1JwYjI0c0lHTnZiWEE2SUZKbFlXTjBMa052YlhCdmJtVnVkQ0FwT2lCdWRXMWlaWEpjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWm00Z1BTQW9LU0E5UGlCN0lHTnZiWEF1Wm05eVkyVlZjR1JoZEdVb0tUc2dmVHRjY2x4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG14cGMzUmxia1p2Y2tGamRHbHZibE4wWVhSbEtDQmhZM1JwYjI0c0lHaGhibVFzSUdadUxDQm1iaUFwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJSFZ1YkdsemRHVnVSbTl5UVdOMGFXOXVVM1JoZEdVb0lHaGhibVJzWlRvZ2JuVnRZbVZ5SUNsY2NseHVYSFI3WEhKY2JseDBYSFJrWld4bGRHVWdkR2hwY3k1dFgyRmpkR2x2YmxOMFlYUmxUR2x6ZEdWdVpYSnpXeUJvWVc1a2JHVWdYVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lIQnlhWFpoZEdVZ2IyNVZjR1JoZEdWQlkzUnBiMjVUZEdGMFpTZ2diVG9nVFhOblZYQmtZWFJsUVdOMGFXOXVVM1JoZEdVc0lHVnVkam9nUlc1MlpXeHZjR1VnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCdmJHUlRkR0YwWlNBOUlIUm9hWE11YlY5aFkzUnBiMjVUZEdGMFpWc2diUzVvWVc1a0lGMDdYSEpjYmx4MFhIUnNaWFFnYm1WM1UzUmhkR1VnUFNCdExtRmpkR2x2YmxOMFlYUmxPMXh5WEc1Y2RGeDBhV1lvSUNGbGNYVmhiQ2dnYm1WM1UzUmhkR1VzSUc5c1pGTjBZWFJsSUNrZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUJUWlhRZ2RHaGxJSE4wWVhSbElHWnBjbk4wSUdsdUlHTmhjMlVnWVc1NUlHOW1JSFJvWlNCc2FYTjBaVzVsY25NZ2NtVmhaQ0JwZEZ4eVhHNWNkRngwWEhSMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWYmJTNW9ZVzVrWFNBOUlHMHVZV04wYVc5dVUzUmhkR1U3WEhKY2JseDBYSFJjZEZ4eVhHNWNkRngwWEhSbWIzSW9JR3hsZENCb1lXNWtiR1VnYVc0Z2RHaHBjeTV0WDJGamRHbHZibE4wWVhSbFRHbHpkR1Z1WlhKeklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEd4bGRDQnNhWE4wWlc1bGNpQTlJSFJvYVhNdWJWOWhZM1JwYjI1VGRHRjBaVXhwYzNSbGJtVnljMXNnYUdGdVpHeGxJRjA3WEhKY2JseDBYSFJjZEZ4MGFXWW9JR3hwYzNSbGJtVnlMbWhoYm1RZ1BUMGdiUzVvWVc1a0lIeDhJR3hwYzNSbGJtVnlMbWhoYm1RZ1BUMGdSVWhoYm1RdVNXNTJZV3hwWkNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGFXWW9JR3hwYzNSbGJtVnlMbUZqZEdsdmJpQTlQU0JGUVdOMGFXOXVMa2R5WVdKTmIzWmxJQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGJHbHpkR1Z1WlhJdWRYQmtZWFJsUHk0b0lHNWxkMU4wWVhSbExtZHlZV0pOYjNabElDazdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR3hsZENCdmJHUkJZM1JwYjI0Z1BTQm5aWFJDYjI5c1pXRnVRV04wYVc5dVJuSnZiVk4wWVhSbEtDQnNhWE4wWlc1bGNpNWhZM1JwYjI0c0lHOXNaRk4wWVhSbElDazdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeGxkQ0J1WlhkQlkzUnBiMjRnUFNCblpYUkNiMjlzWldGdVFXTjBhVzl1Um5KdmJWTjBZWFJsS0NCc2FYTjBaVzVsY2k1aFkzUnBiMjRzSUc1bGQxTjBZWFJsSUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEdsbUtDQWhiMnhrUVdOMGFXOXVJQ1ltSUc1bGQwRmpkR2x2YmlBbUppQnNhWE4wWlc1bGNpNXlhWE5wYm1jZ0tWeHlYRzVjZEZ4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGJHbHpkR1Z1WlhJdWNtbHphVzVuS0NrN1hISmNibHgwWEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkRngwWld4elpTQnBaaWdnYjJ4a1FXTjBhVzl1SUNZbUlDRnVaWGRCWTNScGIyNGdKaVlnYkdsemRHVnVaWEl1Wm1Gc2JHbHVaeUFwWEhKY2JseDBYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFJzYVhOMFpXNWxjaTVtWVd4c2FXNW5LQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSDFjZEZ4eVhHNWNkRngwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRkpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnWjJGa1oyVjBJR2x6SUdsdUlHVmthWFFnYlc5a1pTQm1iM0lnZEdobElGeHlYRzVjZENBcUlITndaV05wWm1sbFpDQm9ZVzVrTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCd2RXSnNhV05jY2x4dVhIUWdLaTljY2x4dVhIUndkV0pzYVdNZ1oyVjBRV04wYVc5dVUzUmhkR1ZHYjNKSVlXNWtLQ0JvWVc1a09pQkZTR0Z1WkN3Z1lXTjBhVzl1T2lCRlFXTjBhVzl1SUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ2FHRnVaQ0E5UFNCMWJtUmxabWx1WldRZ2ZId2dhR0Z1WkNBOVBTQkZTR0Z1WkM1SmJuWmhiR2xrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUdkbGRFSnZiMnhsWVc1QlkzUnBiMjVHY205dFUzUmhkR1VvSUdGamRHbHZiaXdnZEdocGN5NXRYMkZqZEdsdmJsTjBZWFJsV3lCRlNHRnVaQzVNWldaMFhTQXBYSEpjYmx4MFhIUmNkRngwZkh3Z1oyVjBRbTl2YkdWaGJrRmpkR2x2YmtaeWIyMVRkR0YwWlNnZ1lXTjBhVzl1TENCMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWYklFVklZVzVrTGxKcFoyaDBYU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnlaWFIxY200Z1oyVjBRbTl2YkdWaGJrRmpkR2x2YmtaeWIyMVRkR0YwWlNnZ1lXTjBhVzl1TENCMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWYklHaGhibVFnWFNBcFhISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQnlhWFpoZEdVZ2RISmhkbVZ5YzJWT2IyUmxLQ0JrYjIxT2IyUmxPaUJJVkUxTVJXeGxiV1Z1ZENBcE9pQkJkazV2WkdWYlhWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnNiM2RsY2s1aGJXVWdQU0JrYjIxT2IyUmxMbTV2WkdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0NrN1hISmNibHgwWEhSc1pYUWdibTlrWlRwQmRrNXZaR1VnUFNCdWRXeHNPMXh5WEc1Y2RGeDBjM2RwZEdOb0tDQnNiM2RsY2s1aGJXVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqWVhObElGd2lZWFl0Ym05a1pWd2lPbHh5WEc1Y2RGeDBYSFJjZEd4bGRDQmhkSFJ5SUQwZ1pHOXRUbTlrWlM1blpYUkJkSFJ5YVdKMWRHVW9JRndpYm05a1pVbGtYQ0lnS1R0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnWVhSMGNpQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBiR1YwSUc1dlpHVkpaQ0E5SUhCaGNuTmxTVzUwS0NCaGRIUnlJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUnNaWFFnY21WaFkzUk9iMlJsSUQwZ2RHaHBjeTV0WDNKbFoybHpkR1Z5WldST2IyUmxjMXNnYm05a1pVbGtJRjA3WEhKY2JseDBYSFJjZEZ4MFhIUnBaaWdnY21WaFkzUk9iMlJsSUNsY2NseHVYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBibTlrWlNBOUlISmxZV04wVG05a1pTNWpjbVZoZEdWT2IyUmxSbTl5VG05a1pTZ3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG0xZmRISmhkbVZ5YzJWa1RtOWtaWE5iYm05a1pVbGtYU0E5SUhKbFlXTjBUbTlrWlR0Y2NseHVYSFJjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBiR1YwSUdOb2FXeGtjbVZ1T2lCQmRrNXZaR1ZiWFNBOUlGdGRPMXh5WEc1Y2RGeDBabTl5S0NCc1pYUWdiaUE5SURBN0lHNGdQQ0JrYjIxT2IyUmxMbU5vYVd4a2NtVnVMbXhsYm1kMGFEc2diaXNySUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJR05vYVd4a1JHOXRUbTlrWlNBOUlHUnZiVTV2WkdVdVkyaHBiR1J5Wlc0dWFYUmxiU2dnYmlBcE8xeHlYRzVjZEZ4MFhIUnBaaWdnWTJocGJHUkViMjFPYjJSbElHbHVjM1JoYm1ObGIyWWdTRlJOVEVWc1pXMWxiblFnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiR1YwSUdSbGMyTmxibU5sYm5SeklEMGdkR2hwY3k1MGNtRjJaWEp6WlU1dlpHVW9JR05vYVd4a1JHOXRUbTlrWlNCaGN5QklWRTFNUld4bGJXVnVkQ0FwTzF4eVhHNWNkRngwWEhSY2RHbG1LQ0JrWlhOalpXNWpaVzUwY3lBbUppQmtaWE5qWlc1alpXNTBjeTVzWlc1bmRHZ2dQaUF3SUNsY2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSamFHbHNaSEpsYmlBOUlHTm9hV3hrY21WdUxtTnZibU5oZENnZ1pHVnpZMlZ1WTJWdWRITWdLVHRjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFF2THlCbWFXZDFjbVVnYjNWMElIZG9ZWFFnZEc4Z2NtVjBkWEp1WEhKY2JseDBYSFJwWmlnZ2JtOWtaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dklHbG1JSGRsSUdkdmRDQmhJRzV2WkdVZ1puSnZiU0IwYUdVZ1JFOU5MQ0J5WlhSMWNtNGdkR2hoZEZ4eVhHNWNkRngwWEhScFppZ2dZMmhwYkdSeVpXNHViR1Z1WjNSb0lENGdNQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnViMlJsTG1Ob2FXeGtjbVZ1SUQwZ1kyaHBiR1J5Wlc0N1hISmNibHgwWEhSY2RIMWNjbHh1WEhKY2JseDBYSFJjZEhKbGRIVnliaUJiSUc1dlpHVWdYVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JR05vYVd4a2NtVnVMbXhsYm1kMGFDQStJREFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhRdkx5QkpaaUIzWlNCb1lYWmxJR05vYVd4a2NtVnVJR0oxZENCdWJ5QnViMlJsTENCcWRYTjBJSEpsZEhWeWJseHlYRzVjZEZ4MFhIUXZMeUIwYUdVZ1kyaHBiR1J5Wlc0dUlGUm9hWE1nYm05a1pTQnBjeUJoSUc1dkxXOXdMbHh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdZMmhwYkdSeVpXNDdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dklHOTBhR1Z5ZDJselpTd2dkMlVuZG1VZ1oyOTBJRzV2ZEdocGJtZGNjbHh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpDQndkV0pzYVdNZ2RYQmtZWFJsVTJObGJtVkhjbUZ3YUNncFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lDRjBhR2x6TG0xZmJXRnVhV1psYzNRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKVmNHUmhkR2x1WnlCelkyVnVaU0JuY21Gd2FDQmlaV1p2Y21VZ2JXRnVhV1psYzNRZ2QyRnpJR3h2WVdSbFpGd2lJQ2s3WEhKY2JseDBYSFJjZEhKbGRIVnlianRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSMGFHbHpMbTFmZEhKaGRtVnljMlZrVG05a1pYTWdQU0I3ZlR0Y2NseHVYSFJjZEd4bGRDQnliMjkwVG05a1pYTWdQU0IwYUdsekxuUnlZWFpsY25ObFRtOWtaU2dnWkc5amRXMWxiblF1WW05a2VTQXBPMXh5WEc1Y2NseHVYSFJjZEd4bGRDQnRjMmM2SUUxeloxVndaR0YwWlZOalpXNWxSM0poY0dnZ1BTQjdmVHRjY2x4dVhIUmNkR2xtS0NCeWIyOTBUbTlrWlhNZ0ppWWdjbTl2ZEU1dlpHVnpMbXhsYm1kMGFDQStJREFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFppZ2djbTl2ZEU1dlpHVnpMbXhsYm1kMGFDQStJREVnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiWE5uTG5KdmIzUWdQVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSFI1Y0dVNklFRjJUbTlrWlZSNWNHVXVRMjl1ZEdGcGJtVnlMRnh5WEc1Y2RGeDBYSFJjZEZ4MGFXUTZJREFzWEhKY2JseDBYSFJjZEZ4MFhIUm1iR0ZuY3pvZ1JVNXZaR1ZHYkdGbmN5NVdhWE5wWW14bExGeHlYRzVjZEZ4MFhIUmNkRngwWTJocGJHUnlaVzQ2SUhKdmIzUk9iMlJsY3l4Y2NseHVYSFJjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEcxelp5NXliMjkwSUQwZ2NtOXZkRTV2WkdWeld6QmRPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTV0WDJWdVpIQnZhVzUwTG5ObGJtUk5aWE56WVdkbEtDQk5aWE56WVdkbFZIbHdaUzVWY0dSaGRHVlRZMlZ1WlVkeVlYQm9MQ0J0YzJjZ0tUdGNjbHh1WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV0WDJacGNuTjBVMk5sYm1WSGNtRndhQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViVjltYVhKemRGTmpaVzVsUjNKaGNHZ2dQU0JtWVd4elpUdGNjbHh1WEhSY2RGeDBhV1lvSUhSb2FYTXViVjlsY0ZSdlRtOTBhV1o1SUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR3hsZENCdGMyZFRkR0Z5ZEdWa09pQk5jMmRIWVdSblpYUlRkR0Z5ZEdWa0lEMGdYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBaWEJVYjA1dmRHbG1lVG9nZEdocGN5NXRYMlZ3Vkc5T2IzUnBabmtzWEhKY2JseDBYSFJjZEZ4MFhIUnpkR0Z5ZEdWa1IyRmtaMlYwUlc1a2NHOXBiblJKWkRvZ2RHaHBjeTV0WDJWdVpIQnZhVzUwTG1kbGRFVnVaSEJ2YVc1MFNXUW9LU3hjY2x4dVhIUmNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJjZEhSb2FYTXViVjlsYm1Sd2IybHVkQzV6Wlc1a1RXVnpjMkZuWlNnZ1RXVnpjMkZuWlZSNWNHVXVSMkZrWjJWMFUzUmhjblJsWkN3Z2JYTm5VM1JoY25SbFpDQXBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFIwYUdsekxtMWZibVY0ZEVaeVlXMWxVbVZ4ZFdWemRDQTlJREE3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdiV0Z5YTBScGNuUjVLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnSVhSb2FYTXViVjl0WVc1cFptVnpkQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dklFbG1JSGRsSUdSdmJpZDBJR2hoZG1VZ2IzVnlJRzFoYm1sbVpYTjBJSGxsZEN3Z2QyVWdZMkZ1SjNRZ2RYQmtZWFJsSUhSb1pTQnpZMlZ1WlNCbmNtRndhQzVjY2x4dVhIUmNkRngwTHk4Z1YyVW5iR3dnZFhCa1lYUmxJR0YxZEc5dFlYUnBZMkZzYkhrZ2IyNWpaU0IwYUdGMElHTnZiV1Z6SUdsdUxseHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXViVjl1WlhoMFJuSmhiV1ZTWlhGMVpYTjBJRDA5SURBZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmJtVjRkRVp5WVcxbFVtVnhkV1Z6ZENBOUlIZHBibVJ2ZHk1elpYUlVhVzFsYjNWMEtDQjBhR2x6TG5Wd1pHRjBaVk5qWlc1bFIzSmhjR2dzSURFZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpXNWtTR0Z3ZEdsalJYWmxiblFvSUc1dlpHVkpaRG9nUlc1a2NHOXBiblJCWkdSeUxDQmhiWEJzYVhSMVpHVTZJRzUxYldKbGNpd2dabkpsY1hWbGJtTjVPaUJ1ZFcxaVpYSXNJR1IxY21GMGFXOXVPaUJ1ZFcxaVpYSWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnRjMmM2SUUxelowNXZaR1ZJWVhCMGFXTWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1YjJSbFNXUXNYSEpjYmx4MFhIUmNkR0Z0Y0d4cGRIVmtaU3hjY2x4dVhIUmNkRngwWm5KbGNYVmxibU41TEZ4eVhHNWNkRngwWEhSa2RYSmhkR2x2Yml4Y2NseHVYSFJjZEgxY2NseHVYSFJjZEhSb2FYTXViVjlsYm1Sd2IybHVkQzV6Wlc1a1RXVnpjMkZuWlNnZ1RXVnpjMkZuWlZSNWNHVXVUbTlrWlVoaGNIUnBZeXdnYlhObklDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2MzUmhjblJIWVdSblpYUW9JSFZ5YVRvZ2MzUnlhVzVuTENCcGJtbDBhV0ZzU1c1MFpYSm1ZV05sY3pvZ1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydGJYU0FwSURvZ1hISmNibHgwWEhSUWNtOXRhWE5sUEVGMlUzUmhjblJIWVdSblpYUlNaWE4xYkhRK1hISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0NBb0lISmxjMjlzZG1Vc0lISmxhbVZqZENBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCdWIzUnBabmxPYjJSbFNXUWdQU0IwYUdsekxtMWZibVY0ZEU1dlpHVkpaQ3NyTzF4eVhHNWNkRngwWEhSMGFHbHpMbTFmYzNSaGNuUkhZV1JuWlhSUWNtOXRhWE5sYzFzZ2JtOTBhV1o1VG05a1pVbGtJRjBnUFNCYklISmxjMjlzZG1Vc0lISmxhbVZqZENCZE8xeHlYRzVjY2x4dVhIUmNkRngwYkdWMElHbHVhWFJwWVd4SmJuUmxjbVpoWTJWelJXNWpiMlJsWkNBOUlHSjBiMkVvSUVwVFQwNHVjM1J5YVc1bmFXWjVLQ0JwYm1sMGFXRnNTVzUwWlhKbVlXTmxjeUFwSUNrN1hISmNibHgwWEhSY2RGeHlYRzVjZEZ4MFhIUnNaWFFnWlhCVWIwNXZkR2xtZVRvZ1JXNWtjRzlwYm5SQlpHUnlJRDBnWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUjBlWEJsT2lCRmJtUndiMmx1ZEZSNWNHVXVUbTlrWlN4Y2NseHVYSFJjZEZ4MFhIUmxibVJ3YjJsdWRFbGtPaUIwYUdsekxtMWZaVzVrY0c5cGJuUXVaMlYwUlc1a2NHOXBiblJKWkNncExGeHlYRzVjZEZ4MFhIUmNkRzV2WkdWSlpEb2dibTkwYVdaNVRtOWtaVWxrTEZ4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RFRjJLQ2t1YzNSaGNuUkhZV1JuWlhRb0lGeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RIVnlhU3dnWEhKY2JseDBYSFJjZEZ4MFhIUnBibWwwYVdGc1NXNTBaWEptWVdObGN6b2dhVzVwZEdsaGJFbHVkR1Z5Wm1GalpYTkZibU52WkdWa0xDQmNjbHh1WEhSY2RGeDBYSFJjZEdWd1ZHOU9iM1JwWm5rc0lGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEgwZ0tUdGNjbHh1WEhSOUlGeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2x6VW1WdGIzUmxLQ2tnT2lCaWIyOXNaV0Z1WEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlDRWhkR2hwY3k1bWFXNWtTVzVwZEdsaGJFbHVkR1Z5Wm1GalpTZ2dVbVZ0YjNSbFIyRmtaMlYwUTI5dGNHOXVaVzUwTG1sdWRHVnlabUZqWlU1aGJXVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCUVpYSnphWE4wY3lCMGFHVWdaMkZrWjJWMEozTWdjMlYwZEdsdVozTXVJRlJvWlhObElIZGxhV3hzSUdKbElIQmhjM05sWkNCMGJ5QjBhR1VnWjJGa1oyVjBJRnh5WEc1Y2RDQXFJSFpwWVNCMGFHVWdZMkZzYkdKaFkyc2djbVZuYVhOMFpYSmxaQ0IzYVhSb0lISmxaMmx6ZEdWeVJtOXlVMlYwZEdsdVozTWdkMmhsYm1WMlpYSWdkR2hsSUZ4eVhHNWNkQ0FxSUdkaFpHZGxkQ0JwY3lCeVpXeHZZV1JsWkM1Y2NseHVYSFFnS2lCQWNIVmliR2xqWEhKY2JseDBJQ292WEhKY2JseDBjSFZpYkdsaklITmhkbVZUWlhSMGFXNW5jeWdnYzJWMGRHbHVaM002SUdGdWVTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzF6WnpvZ1RYTm5VMkYyWlZObGRIUnBibWR6SUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGMyVjBkR2x1WjNNc1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBkR2hwY3k1dFgyVnVaSEJ2YVc1MExuTmxibVJOWlhOellXZGxLQ0JOWlhOellXZGxWSGx3WlM1VFlYWmxVMlYwZEdsdVozTXNJRzF6WnlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCallXeHNZbUZqYXlCeVpXZHBjM1JsY21Wa0lIZHBkR2dnZEdocGN5Qm1kVzVqZEdsdmJpQjNhV3hzSUdKbElHbHVkbTlyWldRZ2QyaGxibHh5WEc1Y2RDQXFJSFJvWlNCbllXUm5aWFFuY3lCelpYUjBhVzVuY3lCaGNtVWdjbVZzYjJGa1pXUWdabkp2YlNCMGFHVWdjMlZ5ZG1WeUxseHlYRzVjZENBcUlFQndkV0pzYVdOY2NseHVYSFFnS2k5Y2NseHVYSFJ3ZFdKc2FXTWdjbVZuYVhOMFpYSkdiM0pUWlhSMGFXNW5jeWdnWTJGc2JHSmhZMnM2SUNnZ2MyVjBkR2x1WjNNNklHRnVlU0FwSUQwK0lIWnZhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWJWOXZibE5sZEhScGJtZHpVbVZqWldsMlpXUWdQU0JqWVd4c1ltRmphenRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCU1pYUjFjbTV6SUhSb1pTQmxibVJ3YjJsdWRDQmhaR1J5WlhOeklHWnZjaUJoSUVSUFRTQnViMlJsSUVsa0xDQnZjaUJ1ZFd4c0lHbG1JSFJvWlhKbFhISmNibHgwSUNvZ2FYTnVKM1FnWVNCdFlYUmphR2x1WnlCQllYSmtkbUZ5YXlCdWIyUmxJSGRwZEdnZ2RHaGhkQ0JKWkM1Y2NseHVYSFFnS2k5Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwUlc1a2NHOXBiblJCWkdSeVpYTnpSbTl5U1dRb0lHbGtPaUJ6ZEhKcGJtY2dLVG9nUlc1a2NHOXBiblJCWkdSeVhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHVnNaVzFsYm5RZ1BTQmtiMk4xYldWdWRDNW5aWFJGYkdWdFpXNTBRbmxKWkNnZ2FXUWdLVHRjY2x4dVhIUmNkR2xtS0NBaFpXeGxiV1Z1ZENBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW1aaGFXeGxaQ0IwYnlCbWFXNWtJR2xrSUZ3aUlDc2dhV1FnS1R0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lHVnNaVzFsYm5RdWJtOWtaVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LU0FoUFNCY0ltRjJMVzV2WkdWY0lpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0ltVnNaVzFsYm5RZ2QyRnpJRzV2ZENCaGJpQmhkaTF1YjJSbElGd2lJQ3NnYVdRZ0tUdGNjbHh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJR0YwZEhJZ1BTQmxiR1Z0Wlc1MExtZGxkRUYwZEhKcFluVjBaU2dnWENKdWIyUmxTV1JjSWlBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZoZEhSeUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUZ3aVpXeGxiV1Z1ZENCa2FXUnVKM1FnYUdGMlpTQnViMlJsU1dRZ2MyVjBJRndpSUNzZ2FXUWdLVHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRzUxYkd3N1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBiR1YwSUc1dlpHVkpaQ0E5SUhCaGNuTmxTVzUwS0NCaGRIUnlJQ2s3WEhKY2JseDBYSFJ5WlhSMWNtNGdlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQkZibVJ3YjJsdWRGUjVjR1V1VG05a1pTeGNjbHh1WEhSY2RGeDBaVzVrY0c5cGJuUkpaRG9nZEdocGN5NW5aWFJGYm1Sd2IybHVkRWxrS0Nrc1hISmNibHgwWEhSY2RHNXZaR1ZKWkRvZ2JtOWtaVWxrTEZ4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwTHlvcUlFRmtaSE1nWVNCb1lXNWtiR1Z5SUdadmNpQmhJSEpoZHlCQllYSmtkbUZ5YXlCdFpYTnpZV2RsTGlCWmIzVWdjSEp2WW1GaWJIa2daRzl1SjNRZ2JtVmxaQ0IwYUdsekxpQXFMMXh5WEc1Y2RIQjFZbXhwWXlCeVpXZHBjM1JsY2sxbGMzTmhaMlZJWVc1a2JHVnlLQ0IwZVhCbE9pQk5aWE56WVdkbFZIbHdaU3dnYUdGdVpHeGxjam9nVFdWemMyRm5aVWhoYm1Sc1pYSWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11YlY5bGJtUndiMmx1ZEM1eVpXZHBjM1JsY2toaGJtUnNaWElvSUhSNWNHVXNJR2hoYm1Sc1pYSWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCQlpHUnpJR0Z1SUdGemVXNWphSEp2Ym05MWN5Qm9ZVzVrYkdWeUlHWnZjaUJoSUhKaGR5QkJZWEprZG1GeWF5QnRaWE56WVdkbExpQlpiM1VnY0hKdlltRmliSGtnWkc5dUozUWdibVZsWkNCMGFHbHpMaUFxTDF4eVhHNWNkSEIxWW14cFl5QnlaV2RwYzNSbGNrRnplVzVqVFdWemMyRm5aVWhoYm1Sc1pYSW9JSFI1Y0dVNklFMWxjM05oWjJWVWVYQmxMQ0JvWVc1a2JHVnlPaUJCYzNsdVkwMWxjM05oWjJWSVlXNWtiR1Z5SUNsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtMWZaVzVrY0c5cGJuUXVjbVZuYVhOMFpYSkJjM2x1WTBoaGJtUnNaWElvSUhSNWNHVXNJR2hoYm1Sc1pYSWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCVFpXNWtjeUJoSUcxbGMzTmhaMlVnZEc4Z2RHaGxJSE5sY25abGNpNGdXVzkxSUhCeWIySmhZbXg1SUdSdmJpZDBJRzVsWldRZ2RHaHBjeUJsYVhSb1pYSXVJQ292WEhKY2JseDBjSFZpYkdsaklITmxibVJOWlhOellXZGxLQ0IwZVhCbE9pQk5aWE56WVdkbFZIbHdaU3dnYldWemMyRm5aVG9nYjJKcVpXTjBMQ0J6Wlc1a2FXNW5UbTlrWlQ4NklHNTFiV0psY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMlZ1WkhCdmFXNTBMbk5sYm1STlpYTnpZV2RsS0NCMGVYQmxMQ0J0WlhOellXZGxMQ0J6Wlc1a2FXNW5UbTlrWlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRk5sYm1SeklHRWdiV1Z6YzJGblpTQmhibVFnY21WMGRYSnVjeUJoSUhCeWIyMXBjMlVnZEdoaGRDQnlaWE52YkhabGN5QjNhR1Z1SUhSb1pTQnlaWE53YjI1elpTQjBieUIwYUdGMElHMWxjM05oWjJWY2NseHVYSFFnS2lCaGNuSnBkbVZ6TGx4eVhHNWNkQ0FxTDF4eVhHNWNkSEIxWW14cFl5QnpaVzVrVFdWemMyRm5aVUZ1WkZkaGFYUkdiM0pTWlhOd2IyNXpaVHhVUGlnZ2RIbHdaVG9nVFdWemMyRm5aVlI1Y0dVc0lHMXpaem9nWVc1NUxDQnlaWE53YjI1elpWUjVjR1U2SUUxbGMzTmhaMlZVZVhCbElDazZYSEpjYmx4MFhIUlFjbTl0YVhObFBDQmJJRlFzSUVWdWRtVnNiM0JsSUYwZ1BseHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUIwYUdsekxtMWZaVzVrY0c5cGJuUXVjMlZ1WkUxbGMzTmhaMlZCYm1SWFlXbDBSbTl5VW1WemNHOXVjMlU4VkQ0b0lIUjVjR1VzSUcxelp5d2djbVZ6Y0c5dWMyVlVlWEJsSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1ZlZ4eVhHNWNjbHh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19nYWRnZXRfaW5mby50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2dhZGdldF9pbmZvLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19HYWRnZXRJbmZvSW50ZXJmYWNlLCBBdkdhZGdldEluZm8gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcImtfR2FkZ2V0SW5mb0ludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19HYWRnZXRJbmZvSW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldEluZm9cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2R2FkZ2V0SW5mbzsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBUaGUgaW50ZXJmYWNlIG5hbWUgZm9yIHtAbGluayBBdkdhZGdldEluZm99ICovXFxyXFxuY29uc3Qga19HYWRnZXRJbmZvSW50ZXJmYWNlID0gXFxcImFhcmR2YXJrX2dhZGdldF9pbmZvQDFcXFwiO1xcclxcbi8qKiBUaGlzIGNvbXBvbmVudCBjcmVhdGVzIGFuIHtAbGluayBBdkludGVyZmFjZUVudGl0eX0gdGhhdCByZXByZXNlbnRzIHRoZSBnYWRnZXRcXHJcXG4gKiB0byBvdGhlciBVSSBlbGVtZW50cyBpbiBBYXJkdmFyay4gVGhpcyBlbnRpdHkgaXMgd2hhdCBhbGxvd3MgdXNlcnMgdG8gc3RhcnQsIHN0YXJ0LFxcclxcbiAqIHN0b3AsIGFuZCBmYXZvcml0ZSB0aGUgZ2FkZ2V0LCBhbW9uZyBvdGhlciB0aGluZ3MuXFxyXFxuICovXFxyXFxuZnVuY3Rpb24gQXZHYWRnZXRJbmZvKHByb3BzKSB7XFxyXFxuICAgIGxldCBvbkdhZGdldEluZm8gPSAoYWN0aXZlSW50ZXJmYWNlKSA9PiB7XFxyXFxuICAgICAgICBsZXQgZXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogXFxcImdhZGdldF9pbmZvXFxcIixcXHJcXG4gICAgICAgICAgICBnYWRnZXRVcmw6IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnVybCxcXHJcXG4gICAgICAgICAgICBnYWRnZXRNYW5pZmVzdDogX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkubWFuaWZlc3QsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgYWN0aXZlSW50ZXJmYWNlLnNlbmRFdmVudChldmVudCk7XFxyXFxuICAgIH07XFxyXFxuICAgIGxldCB2b2x1bWVzID0gW1xcclxcbiAgICAgICAgT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcm9wcy52b2x1bWUpLCB7IHNjYWxlOiAxLjUsIGNvbnRleHQ6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJFVm9sdW1lQ29udGV4dFxcXCJdLkFsd2F5cyB9KSxcXHJcXG4gICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMudm9sdW1lKSwgeyBzY2FsZTogNC4wLCBjb250ZXh0OiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiRVZvbHVtZUNvbnRleHRcXFwiXS5Db250aW51ZU9ubHkgfSksXFxyXFxuICAgIF07XFxyXFxuICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiXSwgeyB2b2x1bWU6IHZvbHVtZXMsIHRyYW5zbWl0czogW1xcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IGtfR2FkZ2V0SW5mb0ludGVyZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yOiBvbkdhZGdldEluZm8sXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgXSB9KTtcXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTluWVdSblpYUmZhVzVtYnk1MGMzZy9aVFppTVNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQkswSTdRVUZEWXp0QlFVTnZRenRCUVVOeFFqdEJRVVYwUnl4clJFRkJhMFE3UVVGRE0wTXNUVUZCVFN4eFFrRkJjVUlzUjBGQlJ5eDNRa0ZCZDBJc1EwRkJRenRCUVdsQ09VUTdPenRIUVVkSE8wRkJRMGtzVTBGQlV5eFpRVUZaTEVOQlFVVXNTMEZCZDBJN1NVRkZja1FzU1VGQlNTeFpRVUZaTEVkQlFVY3NRMEZCUlN4bFFVRm5ReXhGUVVGRkxFVkJRVVU3VVVGRmVFUXNTVUZCU1N4TFFVRkxMRWRCUTFRN1dVRkRReXhKUVVGSkxFVkJRVVVzWVVGQllUdFpRVU51UWl4VFFVRlRMRVZCUVVVc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4SFFVRkhPMWxCUTJ4RExHTkJRV01zUlVGQlJTeDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExGRkJRVkU3VTBGRE5VTXNRMEZCUXp0UlFVVkdMR1ZCUVdVc1EwRkJReXhUUVVGVExFTkJRVVVzUzBGQlN5eERRVUZGTEVOQlFVTTdTVUZEY0VNc1EwRkJRenRKUVVWRUxFbEJRVWtzVDBGQlR5eEhRVU5ZTzNkRFFVTk5MRXRCUVVzc1EwRkJReXhOUVVGTkxFdEJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlN4UFFVRlBMRVZCUVVVc01FVkJRV01zUTBGQlF5eE5RVUZOTzNkRFFVTjRSQ3hMUVVGTExFTkJRVU1zVFVGQlRTeExRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1QwRkJUeXhGUVVGRkxEQkZRVUZqTEVOQlFVTXNXVUZCV1R0TFFVTnVSU3hEUVVGRE8wbEJSVVlzVDBGQlR5eHZSRUZCUXl3MFJVRkJhVUlzU1VGQlF5eE5RVUZOTEVWQlFVY3NUMEZCVHl4RlFVTjZReXhUUVVGVExFVkJRMUk3V1VGRFF6dG5Ra0ZEUXl4TFFVRkxMRVZCUVVVc2NVSkJRWEZDTzJkQ1FVTTFRaXhUUVVGVExFVkJRVVVzV1VGQldUdGhRVU4yUWp0VFFVTkVMRWRCUTBNN1FVRkRUQ3hEUVVGRElpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDJkaFpHZGxkRjlwYm1adkxuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhRZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRUYyU1c1MFpYSm1ZV05sUlc1MGFYUjVMQ0JCWTNScGRtVkpiblJsY21aaFkyVWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMmx1ZEdWeVptRmpaVjlsYm5ScGRIa25PMXh5WEc1cGJYQnZjblFnZXlCQmRsWnZiSFZ0WlN3Z1FXRnlaSFpoY210TllXNXBabVZ6ZEN3Z1JWWnZiSFZ0WlZSNWNHVXNJRVZXYjJ4MWJXVkRiMjUwWlhoMElIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1WEhKY2JpOHFLaUJVYUdVZ2FXNTBaWEptWVdObElHNWhiV1VnWm05eUlIdEFiR2x1YXlCQmRrZGhaR2RsZEVsdVptOTlJQ292WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JyWDBkaFpHZGxkRWx1Wm05SmJuUmxjbVpoWTJVZ1BTQmNJbUZoY21SMllYSnJYMmRoWkdkbGRGOXBibVp2UURGY0lqdGNjbHh1WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRrZGhaR2RsZEVsdVptOTlJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FYWkhZV1JuWlhSSmJtWnZVSEp2Y0hOY2NseHVlMXh5WEc1Y2RIWnZiSFZ0WlRvZ1FYWldiMngxYldVN1hISmNibjFjY2x4dVhISmNiaThxS2lCVWFHVWdaWFpsYm5RZ1ptOXliV0YwSUdadmNpQjBhR1VnZTBCc2FXNXJJR3RmUjJGa1oyVjBTVzVtYjBsdWRHVnlabUZqWlgwZ2FXNTBaWEptWVdObExpQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkaFpHZGxkRWx1Wm05RmRtVnVkRnh5WEc1N1hISmNibHgwZEhsd1pUb2dYQ0puWVdSblpYUmZhVzVtYjF3aUxGeHlYRzVjZEdkaFpHZGxkRlZ5YkRvZ2MzUnlhVzVuTEZ4eVhHNWNkR2RoWkdkbGRFMWhibWxtWlhOME9pQkJZWEprZG1GeWEwMWhibWxtWlhOMExGeHlYRzU5WEhKY2JseHlYRzR2S2lvZ1ZHaHBjeUJqYjIxd2IyNWxiblFnWTNKbFlYUmxjeUJoYmlCN1FHeHBibXNnUVhaSmJuUmxjbVpoWTJWRmJuUnBkSGw5SUhSb1lYUWdjbVZ3Y21WelpXNTBjeUIwYUdVZ1oyRmtaMlYwSUZ4eVhHNGdLaUIwYnlCdmRHaGxjaUJWU1NCbGJHVnRaVzUwY3lCcGJpQkJZWEprZG1GeWF5NGdWR2hwY3lCbGJuUnBkSGtnYVhNZ2QyaGhkQ0JoYkd4dmQzTWdkWE5sY25NZ2RHOGdjM1JoY25Rc0lITjBZWEowTEZ4eVhHNGdLaUJ6ZEc5d0xDQmhibVFnWm1GMmIzSnBkR1VnZEdobElHZGhaR2RsZEN3Z1lXMXZibWNnYjNSb1pYSWdkR2hwYm1kekxseHlYRzRnS2k5Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlFRjJSMkZrWjJWMFNXNW1ieWdnY0hKdmNITTZJRUYyUjJGa1oyVjBTVzVtYjFCeWIzQnpJQ2xjY2x4dWUxeHlYRzVjZEd4bGRDQnZia2RoWkdkbGRFbHVabThnUFNBb0lHRmpkR2wyWlVsdWRHVnlabUZqWlRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUNrOVBseHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmxkbVZ1ZERvZ1IyRmtaMlYwU1c1bWIwVjJaVzUwSUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRIbHdaVG9nWENKbllXUm5aWFJmYVc1bWIxd2lMRnh5WEc1Y2RGeDBYSFJuWVdSblpYUlZjbXc2SUVGMlIyRmtaMlYwTG1sdWMzUmhibU5sS0NrdWRYSnNMRnh5WEc1Y2RGeDBYSFJuWVdSblpYUk5ZVzVwWm1WemREb2dRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV0WVc1cFptVnpkQ3hjY2x4dVhIUmNkSDA3WEhKY2JseHlYRzVjZEZ4MFlXTjBhWFpsU1c1MFpYSm1ZV05sTG5ObGJtUkZkbVZ1ZENnZ1pYWmxiblFnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEd4bGRDQjJiMngxYldWeklEMGdYSEpjYmx4MFd5QmNjbHh1WEhSY2RIc2dMaTR1Y0hKdmNITXVkbTlzZFcxbExDQnpZMkZzWlRvZ01TNDFMQ0JqYjI1MFpYaDBPaUJGVm05c2RXMWxRMjl1ZEdWNGRDNUJiSGRoZVhNZ2ZTeGNjbHh1WEhSY2RIc2dMaTR1Y0hKdmNITXVkbTlzZFcxbExDQnpZMkZzWlRvZ05DNHdMQ0JqYjI1MFpYaDBPaUJGVm05c2RXMWxRMjl1ZEdWNGRDNURiMjUwYVc1MVpVOXViSGtnZlN4Y2NseHVYSFJkTzF4eVhHNWNjbHh1WEhSeVpYUjFjbTRnUEVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUhadmJIVnRaVDE3SUhadmJIVnRaWE1nZlZ4eVhHNWNkRngwZEhKaGJuTnRhWFJ6UFhzZ1hISmNibHgwWEhSY2RGdGNjbHh1WEhSY2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RGeDBhV1poWTJVNklHdGZSMkZrWjJWMFNXNW1iMGx1ZEdWeVptRmpaU3hjY2x4dVhIUmNkRngwWEhSY2RIQnliMk5sYzNOdmNqb2diMjVIWVdSblpYUkpibVp2TEZ4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYVnh5WEc1Y2RGeDBmUzgrWEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0X2luZm8udHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19nYWRnZXRfc2VlZC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2dhZGdldF9zZWVkLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogR2FkZ2V0U2VlZEhpZ2hsaWdodCwgR2FkZ2V0U2VlZENvbnRhaW5lckNvbXBvbmVudCwgZmluZEdsdGZJY29uRnVsbFVybCwgcmVuZGVyR2FkZ2V0SWNvbiwgQXZHYWRnZXRTZWVkICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRTZWVkSGlnaGxpZ2h0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJmaW5kR2x0Zkljb25GdWxsVXJsXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBmaW5kR2x0Zkljb25GdWxsVXJsOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJyZW5kZXJHYWRnZXRJY29uXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiByZW5kZXJHYWRnZXRJY29uOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldFNlZWRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2R2FkZ2V0U2VlZDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQHRsYXVra2FuL3RzbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGlzX3VybF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaXMtdXJsICovIFxcXCIuL25vZGVfbW9kdWxlcy9pcy11cmwvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgaXNfdXJsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oaXNfdXJsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19jb21wb3NlZF9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5ICovIFxcXCIuL3NyYy9hYXJkdmFya19jb21wb3NlZF9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbnRpdHlfY2hpbGRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW50aXR5X2NoaWxkICovIFxcXCIuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfdHJhbnNmb3JtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbW92ZWFibGUgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9tb3ZlYWJsZS50c1xcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBSZXByZXNlbnRzIHRoZSBwb3NzaWJsZSBoaWdobGlnaHQgc3RhdGVzIG9mIGFuIHtAbGluayBBdkdhZGdldFNlZWR9ICovXFxyXFxudmFyIEdhZGdldFNlZWRIaWdobGlnaHQ7XFxyXFxuKGZ1bmN0aW9uIChHYWRnZXRTZWVkSGlnaGxpZ2h0KSB7XFxyXFxuICAgIEdhZGdldFNlZWRIaWdobGlnaHRbR2FkZ2V0U2VlZEhpZ2hsaWdodFtcXFwiSWRsZVxcXCJdID0gMF0gPSBcXFwiSWRsZVxcXCI7XFxyXFxuICAgIEdhZGdldFNlZWRIaWdobGlnaHRbR2FkZ2V0U2VlZEhpZ2hsaWdodFtcXFwiR3JhYmJlck5lYXJieVxcXCJdID0gMV0gPSBcXFwiR3JhYmJlck5lYXJieVxcXCI7XFxyXFxuICAgIEdhZGdldFNlZWRIaWdobGlnaHRbR2FkZ2V0U2VlZEhpZ2hsaWdodFtcXFwiR2FkZ2V0U3RhcnRpbmdcXFwiXSA9IDJdID0gXFxcIkdhZGdldFN0YXJ0aW5nXFxcIjtcXHJcXG4gICAgR2FkZ2V0U2VlZEhpZ2hsaWdodFtHYWRnZXRTZWVkSGlnaGxpZ2h0W1xcXCJNZW51XFxcIl0gPSAzXSA9IFxcXCJNZW51XFxcIjtcXHJcXG59KShHYWRnZXRTZWVkSGlnaGxpZ2h0IHx8IChHYWRnZXRTZWVkSGlnaGxpZ2h0ID0ge30pKTtcXHJcXG52YXIgR2FkZ2V0U2VlZFBoYXNlO1xcclxcbihmdW5jdGlvbiAoR2FkZ2V0U2VlZFBoYXNlKSB7XFxyXFxuICAgIEdhZGdldFNlZWRQaGFzZVtHYWRnZXRTZWVkUGhhc2VbXFxcIklkbGVcXFwiXSA9IDBdID0gXFxcIklkbGVcXFwiO1xcclxcbiAgICBHYWRnZXRTZWVkUGhhc2VbR2FkZ2V0U2VlZFBoYXNlW1xcXCJHcmFiYmVyTmVhcmJ5XFxcIl0gPSAxXSA9IFxcXCJHcmFiYmVyTmVhcmJ5XFxcIjtcXHJcXG4gICAgR2FkZ2V0U2VlZFBoYXNlW0dhZGdldFNlZWRQaGFzZVtcXFwiV2FpdGluZ0ZvckdhZGdldFN0YXJ0XFxcIl0gPSAyXSA9IFxcXCJXYWl0aW5nRm9yR2FkZ2V0U3RhcnRcXFwiO1xcclxcbiAgICBHYWRnZXRTZWVkUGhhc2VbR2FkZ2V0U2VlZFBoYXNlW1xcXCJXYWl0aW5nRm9yUmVncmFiXFxcIl0gPSAzXSA9IFxcXCJXYWl0aW5nRm9yUmVncmFiXFxcIjtcXHJcXG4gICAgR2FkZ2V0U2VlZFBoYXNlW0dhZGdldFNlZWRQaGFzZVtcXFwiV2FpdGluZ0ZvclJlZHJvcFRvRmluaXNoXFxcIl0gPSA0XSA9IFxcXCJXYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2hcXFwiO1xcclxcbiAgICBHYWRnZXRTZWVkUGhhc2VbR2FkZ2V0U2VlZFBoYXNlW1xcXCJNZW51XFxcIl0gPSA1XSA9IFxcXCJNZW51XFxcIjtcXHJcXG59KShHYWRnZXRTZWVkUGhhc2UgfHwgKEdhZGdldFNlZWRQaGFzZSA9IHt9KSk7XFxyXFxuY29uc3Qga19zZWVkRnJvbUdhZGdldFF1YXQgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcInF1YXRGcm9tQXhpc0FuZ2xlRGVncmVlc1xcXCJdKShfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcInZlYzNcXFwiXS5yaWdodCwgLTkwKTtcXHJcXG5jb25zdCBrX3NlZWRGcm9tR2FkZ2V0ID0geyByb3RhdGlvbjogeyB4OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC54LCB5OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC55LCB6OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC56LCB3OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC53IH0gfTtcXHJcXG4vKiogQGhpZGRlbiAqL1xcclxcbmNsYXNzIEdhZGdldFNlZWRDb250YWluZXJDb21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcihjaGlsZEFkZGVkQ2FsbGJhY2ssIGNoaWxkUmVtb3ZlZENhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmNvbnRlbnRzUmVzdGVkID0gZmFsc2U7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlQ29udGFpbmVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuY2hpbGRBZGRlZENhbGxiYWNrID0gY2hpbGRBZGRlZENhbGxiYWNrO1xcclxcbiAgICAgICAgdGhpcy5jaGlsZFJlbW92ZWRDYWxsYmFjayA9IGNoaWxkUmVtb3ZlZENhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUxpc3RlbmVyKCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5lbnRpdHlDYWxsYmFjaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25Db250YWluZXJTdGFydChhY3RpdmVDb250YWluZXIpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHRoaXMuY29udGVudHNFcGEgPSBhY3RpdmVDb250YWluZXIucGVlcjtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKGBTZWVkIGNvbnRhaW5lciBvbkNvbnRhaW5lclN0YXJ0IHdpdGggJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGFjdGl2ZUNvbnRhaW5lci5wZWVyKX1gKTtcXHJcXG4gICAgICAgIGFjdGl2ZUNvbnRhaW5lci5vbkV2ZW50KChldmVudCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuY29udGVudHNSZXN0ZWQgPSBldmVudC5zdGF0ZSA9PSBcXFwiUmVzdGluZ1xcXCI7XFxyXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVDb250YWluZXIub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTZWVkIGNvbnRhaW5lciBhY3RpdmUgY29udGFpbmVyIGVuZGVkIHdpdGggYFxcclxcbiAgICAgICAgICAgICAgICArIGAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoYWN0aXZlQ29udGFpbmVyLnBlZXIpfWApO1xcclxcbiAgICAgICAgICAgIHRoaXMuY29udGVudHNSZXN0ZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzRXBhID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbnRhaW5lciA9IG51bGw7XFxyXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgICAgIChfYSA9IHRoaXMuY2hpbGRSZW1vdmVkQ2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZUNvbnRhaW5lciA9IGFjdGl2ZUNvbnRhaW5lcjtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuY2hpbGRBZGRlZENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXRzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFtdO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbeyBpZmFjZTogX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRcXFwiXS5jb250YWluZXJJbnRlcmZhY2UsIHByb2Nlc3NvcjogdGhpcy5vbkNvbnRhaW5lclN0YXJ0IH1dO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBwYXJlbnQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHsgcmV0dXJuIFtdOyB9XFxyXFxuICAgIHJlZHJvcChuZXdDb250YWluZXIsIG1vdmVhYmxlVG9SZXBsYWNlKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5hY3RpdmVDb250YWluZXIpIHtcXHJcXG4gICAgICAgICAgICBsZXQgcmVxID0ge1xcclxcbiAgICAgICAgICAgICAgICB0eXBlOiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJDb250YWluZXJSZXF1ZXN0VHlwZVxcXCJdLlJlZHJvcCxcXHJcXG4gICAgICAgICAgICAgICAgbmV3Q29udGFpbmVyLFxcclxcbiAgICAgICAgICAgICAgICBtb3ZlYWJsZVRvUmVwbGFjZSxcXHJcXG4gICAgICAgICAgICAgICAgb2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGU6IGtfc2VlZEZyb21HYWRnZXQsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbnRhaW5lci5zZW5kRXZlbnQocmVxKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBjaGlsZCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnBlZXI7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMuY29udGVudHNFcGEgJiYgdGhpcy5jb250ZW50c1Jlc3RlZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyByb3RhdGVYOiAtOTAsIGtleTogXFxcInNlZWRcXFwiIH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogdGhpcy5jb250ZW50c0VwYSwga2V5OiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKHRoaXMuY29udGVudHNFcGEpIH0pKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uQ29udGFpbmVyU3RhcnRcXFwiLCBudWxsKTtcXHJcXG5mdW5jdGlvbiBmaW5kSWNvbk9mVHlwZShtYW5pZmVzdCwgbWltZVR5cGUpIHtcXHJcXG4gICAgaWYgKCFtYW5pZmVzdC5pY29ucylcXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICBmb3IgKGxldCBpY29uIG9mIG1hbmlmZXN0Lmljb25zKSB7XFxyXFxuICAgICAgICBpZiAoaWNvbi50eXBlLnRvTG93ZXJDYXNlKCkgPT0gbWltZVR5cGUudG9Mb3dlckNhc2UoKSkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBpY29uO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBudWxsO1xcclxcbn1cXHJcXG4vKiogRmluZHMgYSBnYWRnZXQgbWFuaWZlc3QncyBnbFRGIG1vZGVsIFVSTCBpZiB0aGVyZSBpcyBvbmUuICovXFxyXFxuZnVuY3Rpb24gZmluZEdsdGZJY29uRnVsbFVybChnYWRnZXRVcmwsIG1hbmlmZXN0KSB7XFxyXFxuICAgIGxldCBtb2RlbCA9IGZpbmRJY29uT2ZUeXBlKG1hbmlmZXN0LCBcXFwibW9kZWwvZ2x0Zi1iaW5hcnlcXFwiKTtcXHJcXG4gICAgaWYgKG1vZGVsKSB7XFxyXFxuICAgICAgICByZXR1cm4gW2lzX3VybF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fX2RlZmF1bHQoKShtb2RlbC5zcmMpID8gbW9kZWwuc3JjXFxyXFxuICAgICAgICAgICAgICAgIDogZ2FkZ2V0VXJsICsgXFxcIi9cXFwiICsgbW9kZWwuc3JjLCBtb2RlbC5yb3RhdGlvbl07XFxyXFxuICAgIH1cXHJcXG4gICAgZWxzZSB7XFxyXFxuICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vKiogUmVuZGVycyBBYXJkdmFyayBjb21wb25lbnRzIGZvciBhIGdhZGdldCdzIGdsVEYgbW9kZWwuICovXFxyXFxuZnVuY3Rpb24gcmVuZGVyR2FkZ2V0SWNvbihnYWRnZXRVcmwsIG1hbmlmZXN0LCByYWRpdXMpIHtcXHJcXG4gICAgbGV0IG1vZGVsSW5mbyA9IGZpbmRHbHRmSWNvbkZ1bGxVcmwoZ2FkZ2V0VXJsLCBtYW5pZmVzdCk7XFxyXFxuICAgIGlmIChtb2RlbEluZm8pIHtcXHJcXG4gICAgICAgIGNvbnN0IFttb2RlbFVybCwgcm90YXRpb25dID0gbW9kZWxJbmZvO1xcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHJvdGF0ZVg6IHJvdGF0aW9uID09PSBudWxsIHx8IHJvdGF0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3RhdGlvbi54LCByb3RhdGVZOiByb3RhdGlvbiA9PT0gbnVsbCB8fCByb3RhdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm90YXRpb24ueSwgcm90YXRlWjogcm90YXRpb24gPT09IG51bGwgfHwgcm90YXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvdGF0aW9uLnogfSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2TW9kZWxcXFwiXSwgeyB1cmk6IG1vZGVsVXJsLCBzY2FsZVRvRml0OiB7IHg6IHJhZGl1cywgeTogcmFkaXVzLCB6OiByYWRpdXMgfSB9KSk7XFxyXFxuICAgIH1cXHJcXG4gICAgZWxzZSB7XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZ19idWlsdGluTW9kZWxFcnJvclxcXCJdLCBzY2FsZVRvRml0OiB7IHg6IHJhZGl1cywgeTogcmFkaXVzLCB6OiByYWRpdXMgfSB9KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vKiogQSBncmFiYmFibGUgY29udHJvbCB0aGF0IGNhdXNlcyB0aGUgZ3JhYmJlciB0byBncmFiIGEgbmV3XFxyXFxuICogaW5zdGFuY2Ugb2YgYSBnYWRnZXQgaW5zdGVhZCBvZiB0aGUgY29udHJvbCBpdHNlbGYuXFxyXFxuICovXFxyXFxuY2xhc3MgQXZHYWRnZXRTZWVkIGV4dGVuZHMgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQ29tcG9uZW50XFxcIl0ge1xcclxcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xcclxcbiAgICAgICAgc3VwZXIocHJvcHMpO1xcclxcbiAgICAgICAgdGhpcy5tb3ZlYWJsZUNvbXBvbmVudCA9IG5ldyBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdKHRoaXMub25Nb3ZlYWJsZVVwZGF0ZSk7XFxyXFxuICAgICAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudCA9IG5ldyBHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50KHRoaXMub25OZXdDaGlsZCwgdGhpcy5vbkxvc3RDaGlsZCk7XFxyXFxuICAgICAgICB0aGlzLnJlZkNvbnRhaW5lciA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZVJlZlxcXCJdKCk7XFxyXFxuICAgICAgICB0aGlzLnJlZlNlZWQgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVSZWZcXFwiXSgpO1xcclxcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5JZGxlIH07XFxyXFxuICAgIH1cXHJcXG4gICAgc2VlZFBoYXNlVG9IaWdobGlnaHQocGhhc2UpIHtcXHJcXG4gICAgICAgIHN3aXRjaCAocGhhc2UpIHtcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLklkbGU6XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0LklkbGU7XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuR3JhYmJlck5lYXJieTpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIEdhZGdldFNlZWRIaWdobGlnaHQuR3JhYmJlck5lYXJieTtcXHJcXG4gICAgICAgICAgICBjYXNlIEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yR2FkZ2V0U3RhcnQ6XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvclJlZHJvcFRvRmluaXNoOlxcclxcbiAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLldhaXRpbmdGb3JSZWdyYWI6XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0LkdhZGdldFN0YXJ0aW5nO1xcclxcbiAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0Lk1lbnU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUucGhhc2UgIT0gcHJldlN0YXRlLnBoYXNlKSB7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coYFNlZWQgdHJhbnNpdGlvbmVkIHRvICR7R2FkZ2V0U2VlZFBoYXNlW3RoaXMuc3RhdGUucGhhc2VdfWApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IG9sZEhpZ2hsaWdodCA9IHRoaXMuc2VlZFBoYXNlVG9IaWdobGlnaHQocHJldlN0YXRlLnBoYXNlKTtcXHJcXG4gICAgICAgIGxldCBuZXdIaWdobGlnaHQgPSB0aGlzLnNlZWRQaGFzZVRvSGlnaGxpZ2h0KHRoaXMuc3RhdGUucGhhc2UpO1xcclxcbiAgICAgICAgaWYgKG9sZEhpZ2hsaWdodCAhPSBuZXdIaWdobGlnaHQpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2hhbmdpbmcgZnJvbSAke0dhZGdldFNlZWRIaWdobGlnaHRbb2xkSGlnaGxpZ2h0XX0gdG8gJHtHYWRnZXRTZWVkSGlnaGxpZ2h0W25ld0hpZ2hsaWdodF19YCk7XFxyXFxuICAgICAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykuaGlnaGxpZ2h0Q2FsbGJhY2spID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBuZXdIaWdobGlnaHQpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xcclxcbiAgICAgICAgdmFyIF9hLCBfYjtcXHJcXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnBoYXNlICE9IEdhZGdldFNlZWRQaGFzZS5JZGxlKSB7XFxyXFxuICAgICAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykuaGlnaGxpZ2h0Q2FsbGJhY2spID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBHYWRnZXRTZWVkSGlnaGxpZ2h0LklkbGUpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG9uTW92ZWFibGVVcGRhdGUoKSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgb25Nb3ZlYWJsZVVwZGF0ZSAke0dhZGdldFNlZWRQaGFzZVt0aGlzLnN0YXRlLnBoYXNlXX0gYFxcclxcbiAgICAgICAgICAgICAgICArIGAke19jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXVt0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnN0YXRlXX1gKTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGUucGhhc2UpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuSWRsZTpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb3ZlYWJsZUNvbXBvbmVudC5zdGF0ZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLkdyYWJiZXJOZWFyYnk6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogR2FkZ2V0U2VlZFBoYXNlLkdyYWJiZXJOZWFyYnkgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogR2FkZ2V0U2VlZFBoYXNlLk1lbnUgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLkdyYWJiZXJOZWFyYnk6XFxyXFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMubW92ZWFibGVDb21wb25lbnQuc3RhdGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVkOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yR2FkZ2V0U3RhcnQgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHYWRnZXQoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uSWRsZTpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuSWRsZSB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uR3JhYmJlck5lYXJieTpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuR3JhYmJlck5lYXJieSB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uSW5Db250YWluZXI6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgd2UgbWlzc2VkIHRoZSBncmFiIGFuZCB3ZXJlIGFscmVhZHkgZHJvcHBlZD9cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uTWVudTpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuTWVudSB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvckdhZGdldFN0YXJ0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gdGhpcyBzdGF0ZSB3ZSdyZSBtb3N0bHkgZ29pbmcgdG8gaWdub3JlIG1vdmVhYmxlIHN0YXRlIGNoYW5nZXMuXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyBPdXIgbmV4dCBpbnRlcm5hbCBzdGF0ZSBjaGFuZ2Ugd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGdhZGdldCBzdGFydGluZ1xcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25OZXdDaGlsZCgpIHtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKFxcXCJvbk5ld0NoaWxkXFxcIik7XFxyXFxuICAgICAgICBzd2l0Y2ggKHRoaXMubW92ZWFibGVDb21wb25lbnQuc3RhdGUpIHtcXHJcXG4gICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVkOlxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVncmFiYmluZyBuZXcgZ2FkZ2V0IG1vdmVhYmxlICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKSh0aGlzLmNvbnRhaW5lckNvbXBvbmVudC5jaGlsZCl9YCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclJlZ3JhYigpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVyTmVhcmJ5OlxcclxcbiAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLkluQ29udGFpbmVyOlxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVkcm9wcGluZyBuZXcgZ2FkZ2V0IG1vdmVhYmxlICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKSh0aGlzLmNvbnRhaW5lckNvbXBvbmVudC5jaGlsZCl9YCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50LnJlZHJvcCh0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnBhcmVudCwgdGhpcy5yZWZTZWVkLmN1cnJlbnQuZ2xvYmFsSWQpO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2ggfSk7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLklkbGU6XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJIb3cgZGlkIHdlIGdldCBhbGwgdGhlIHdheSBiYWNrIHRvIGlkbGU/XFxcIik7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG9uTG9zdENoaWxkKCkge1xcclxcbiAgICAgICAgY29uc29sZS5sb2coXFxcImxvc3QgY2hpbGQgaW4gY29udGFpbmVyXFxcIik7XFxyXFxuICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGUucGhhc2UpIHtcXHJcXG4gICAgICAgICAgICBjYXNlIEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2g6XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvclJlZ3JhYjpcXHJcXG4gICAgICAgICAgICAgICAgLy8gd2UndmUgYmVlbiBkcm9wcGVkXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogR2FkZ2V0U2VlZFBoYXNlLklkbGUgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubW92ZWFibGVDb21wb25lbnQucmVzZXQoKTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgc3RhcnRHYWRnZXQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgbG9ja3MgPSBbXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmYWNlOiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdLmNvbnRhaW5lckludGVyZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlY2VpdmVyOiB0aGlzLnJlZkNvbnRhaW5lci5jdXJyZW50Lmdsb2JhbElkLFxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5pbnRlcmZhY2VMb2Nrcykge1xcclxcbiAgICAgICAgICAgICAgICBsb2NrcyA9IGxvY2tzLmNvbmNhdCh0aGlzLnByb3BzLmludGVyZmFjZUxvY2tzKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbGV0IHJlcyA9IHlpZWxkIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnN0YXJ0R2FkZ2V0KHRoaXMucHJvcHMuZ2FkZ2V0VXJsLCBsb2Nrcyk7XFxyXFxuICAgICAgICAgICAgaWYgKCFyZXMuc3VjY2Vzcykge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5JZGxlIH0pO1xcclxcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcInN0YXJ0R2FkZ2V0IGZhaWxlZFxcXCIpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHRyaWdnZXJSZWdyYWIoKSB7XFxyXFxuICAgICAgICB0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnRyaWdnZXJSZWdyYWIodGhpcy5jb250YWluZXJDb21wb25lbnQuY2hpbGQsIGtfc2VlZEZyb21HYWRnZXQpO1xcclxcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvclJlZ3JhYiB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkdhZGdldFN0YXJ0ZWQoc3VjY2VzcywgbWFpbkdyYWJiYWJsZUlkKSB7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwibWFpbiBncmFiYmFibGUgaWQgd2FzIFxcXCIgKyBtYWluR3JhYmJhYmxlSWQpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCByYWRpdXMgPSB0aGlzLnByb3BzLnJhZGl1cyA/IHRoaXMucHJvcHMucmFkaXVzIDogMC4xO1xcclxcbiAgICAgICAgbGV0IHNjYWxlO1xcclxcbiAgICAgICAgc3dpdGNoICh0aGlzLnN0YXRlLnBoYXNlKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuSWRsZTpcXHJcXG4gICAgICAgICAgICAgICAgc2NhbGUgPSAxLjA7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgIHNjYWxlID0gMS4yNTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgdm9sdW1lO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUucGhhc2UgPT0gR2FkZ2V0U2VlZFBoYXNlLldhaXRpbmdGb3JSZWRyb3BUb0ZpbmlzaCkge1xcclxcbiAgICAgICAgICAgIC8vIHdlIHdhbnQgdG8gbm90IG1hdGNoIGFnYWluc3QgdGhlIGNvbnRhaW5lciB3ZSdyZSB0ZWxsaW5nIG91ciBjaGlsZCB0byByZWRyb3AgaW50b1xcclxcbiAgICAgICAgICAgIHZvbHVtZSA9IHsgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uRW1wdHkgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMuY3VzdG9tVm9sdW1lKSB7XFxyXFxuICAgICAgICAgICAgdm9sdW1lID0gdGhpcy5wcm9wcy5jdXN0b21Wb2x1bWU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICB2b2x1bWUgPSB7IHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLlNwaGVyZSwgcmFkaXVzOiByYWRpdXMgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxldCBkcmF3SWNvbiA9IHRoaXMuc3RhdGUucGhhc2UgIT0gR2FkZ2V0U2VlZFBoYXNlLldhaXRpbmdGb3JSZWdyYWJcXHJcXG4gICAgICAgICAgICAmJiB0aGlzLnN0YXRlLnBoYXNlICE9IEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2g7XFxyXFxuICAgICAgICByZXR1cm4gKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2Q29tcG9zZWRFbnRpdHlcXFwiXSwgeyBjb21wb25lbnRzOiBbdGhpcy5tb3ZlYWJsZUNvbXBvbmVudF0sIHJlZjogdGhpcy5yZWZTZWVkLCB2b2x1bWU6IHZvbHVtZSB9LFxcclxcbiAgICAgICAgICAgIGRyYXdJY29uICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHVuaWZvcm1TY2FsZTogc2NhbGUgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuY3VzdG9tQXBwZWFyYW5jZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLnByb3BzLmN1c3RvbUFwcGVhcmFuY2UgJiZcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJHYWRnZXRJY29uKHRoaXMucHJvcHMuZ2FkZ2V0VXJsLCB0aGlzLnByb3BzLm1hbmlmZXN0LCByYWRpdXMpKSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJBdkNvbXBvc2VkRW50aXR5XFxcIl0sIHsgY29tcG9uZW50czogW3RoaXMuY29udGFpbmVyQ29tcG9uZW50XSwgcmVmOiB0aGlzLnJlZkNvbnRhaW5lciwgdm9sdW1lOiB7IHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLkVtcHR5IH0gfSkpKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXRTZWVkLnByb3RvdHlwZSwgXFxcIm9uTW92ZWFibGVVcGRhdGVcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXRTZWVkLnByb3RvdHlwZSwgXFxcIm9uTmV3Q2hpbGRcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXRTZWVkLnByb3RvdHlwZSwgXFxcIm9uTG9zdENoaWxkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0U2VlZC5wcm90b3R5cGUsIFxcXCJvbkdhZGdldFN0YXJ0ZWRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOW5ZV1JuWlhSZmMyVmxaQzUwYzNnL05XTmpZaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN1FVRkJhMDg3UVVGRE4wdzdRVUZEU0R0QlFVTlFPMEZCUTBrN1FVRkZaMFE3UVVGRGRrSTdRVUZEV0R0QlFVVkdPMEZCUTFFN1FVRkRjMFU3UVVGRmVrZ3NNRVZCUVRCRk8wRkJRekZGTEVsQlFWa3NiVUpCVFZnN1FVRk9SQ3hYUVVGWkxHMUNRVUZ0UWp0SlFVVTVRaXcyUkVGQlNUdEpRVU5LTEN0RlFVRmhPMGxCUTJJc2FVWkJRV003U1VGRFpDdzJSRUZCU1R0QlFVTk1MRU5CUVVNc1JVRk9WeXh0UWtGQmJVSXNTMEZCYmtJc2JVSkJRVzFDTEZGQlRUbENPMEZCYlVSRUxFbEJRVXNzWlVGUlNqdEJRVkpFTEZkQlFVc3NaVUZCWlR0SlFVVnVRaXh4UkVGQlNUdEpRVU5LTEhWRlFVRmhPMGxCUTJJc2RVWkJRWEZDTzBsQlEzSkNMRFpGUVVGblFqdEpRVU5vUWl3MlJrRkJkMEk3U1VGRGVFSXNjVVJCUVVrN1FVRkRUQ3hEUVVGRExFVkJVa2tzWlVGQlpTeExRVUZtTEdWQlFXVXNVVUZSYmtJN1FVRlJSQ3hOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMRFJHUVVGM1FpeERRVUZGTEd0RVFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZGTEVOQlFVTTdRVUZEZWtVc1RVRkJUU3huUWtGQlowSXNSMEZCYjBJc1JVRkJSU3hSUVVGUkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4dlFrRkJiMElzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRCUVVWMlN5eGpRVUZqTzBGQlExQXNUVUZCVFN3MFFrRkJORUk3U1VGVGVFTXNXVUZCWVN4clFrRkJPRUlzUlVGQlJTeHZRa0ZCWjBNN1VVRk9ja1VzYlVKQlFXTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkRka0lzYlVKQlFXTXNSMEZCWlN4SlFVRkpMRU5CUVVNN1VVRkRiRU1zYjBKQlFXVXNSMEZCYjBJc1NVRkJTU3hEUVVGRE8xRkJUUzlETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFZEJRVWNzYjBKQlFXOUNMRU5CUVVNN1NVRkRiRVFzUTBGQlF6dEpRVVZQTEdOQlFXTTdPMUZCUlhKQ0xGVkJRVWtzUTBGQlF5eGpRVUZqTEN0RFFVRnVRaXhKUVVGSkxFVkJRVzlDTzBsQlEzcENMRU5CUVVNN1NVRkhUeXhuUWtGQlowSXNRMEZCUlN4bFFVRm5RenM3VVVGRmVrUXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlJYaERMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzZDBOQlFYbERMSGRHUVVGdlFpeERRVUZGTEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVjc1JVRkJSU3hEUVVGRkxFTkJRVU03VVVGRGVFY3NaVUZCWlN4RFFVRkRMRTlCUVU4c1EwRkRkRUlzUTBGQlJTeExRVUZWTEVWQlFVY3NSVUZCUlR0WlFVVm9RaXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1UwRkJVeXhEUVVGRE8xbEJReTlETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRSUVVOMlFpeERRVUZETEVOQlEwUTdVVUZGUkN4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVOMFFpeEhRVUZITEVWQlFVVTdPMWxCUlVvc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTdzJRMEZCTmtNN2EwSkJRM1pFTEVkQlFVa3NkMFpCUVc5Q0xFTkJRVVVzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUnl4RlFVRkZMRU5CUVVVc1EwRkJRenRaUVVONlJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVNMVFpeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRaUVVONFFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJRenRaUVVNMVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1dVRkRkRUlzVlVGQlNTeERRVUZETEc5Q1FVRnZRaXdyUTBGQmVrSXNTVUZCU1N4RlFVRXdRanRSUVVNdlFpeERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVk1MRWxCUVVrc1EwRkJReXhsUVVGbExFZEJRVWNzWlVGQlpTeERRVUZETzFGQlEzWkRMRlZCUVVrc1EwRkJReXhyUWtGQmEwSXNLME5CUVhaQ0xFbEJRVWtzUlVGQmQwSTdTVUZETjBJc1EwRkJRenRKUVVWRUxFbEJRVmNzVTBGQlV6dFJRVVZ1UWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOWUxFTkJRVU03U1VGRlJDeEpRVUZYTEZGQlFWRTdVVUZGYkVJc1QwRkJUeXhEUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEhORlFVRnBRaXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRemxHTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN1VVRkZhRUlzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlVRc1NVRkJWeXhsUVVGbE8xRkJSWHBDTEU5QlFVOHNTMEZCU3l4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxFbEJRVmNzWTBGQll5eExRVUUyUWl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRk0wUXNUVUZCVFN4RFFVRkZMRmxCUVRCQ0xFVkJRVVVzYVVKQlFTdENPMUZCUlhwRkxFbEJRVWtzU1VGQlNTeERRVUZETEdWQlFXVXNSVUZEZUVJN1dVRkRReXhKUVVGSkxFZEJRVWNzUjBGRFVEdG5Ra0ZEUXl4SlFVRkpMRVZCUVVVc2VVVkJRVzlDTEVOQlFVTXNUVUZCVFR0blFrRkRha01zV1VGQldUdG5Ra0ZEV2l4cFFrRkJhVUk3WjBKQlEycENMREJDUVVFd1FpeEZRVUZGTEdkQ1FVRm5RanRoUVVNMVF5eERRVUZETzFsQlJVWXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhUUVVGVExFTkJRVVVzUjBGQlJ5eERRVUZGTEVOQlFVTTdVMEZEZEVNN1NVRkRSaXhEUVVGRE8wbEJSVTBzVVVGQlVTeERRVUZGTEZGQlFXOUNPMUZCUlhCRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGSFJDeEpRVUZYTEV0QlFVczdPMUZCUldZc1lVRkJUeXhKUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4SlFVRkpMRU5CUVVNN1NVRkRia01zUTBGQlF6dEpRVVZOTEUxQlFVMDdVVUZGV2l4SlFVRkpMRWxCUVVrc1EwRkJReXhYUVVGWExFbEJRVWtzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZETTBNN1dVRkRReXhQUVVGUExHOUVRVUZETEdkRlFVRlhMRWxCUVVNc1QwRkJUeXhGUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZITEVkQlFVY3NSVUZCUXl4TlFVRk5PMmRDUVVNelF5eHZSRUZCUXl4dlJVRkJZU3hKUVVGRExFdEJRVXNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkhMRWRCUVVjc1JVRkJSeXgzUmtGQmIwSXNRMEZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRkxFZEJRVWtzUTBGRGFFWTdVMEZEWmp0aFFVVkVPMWxCUTBNc1QwRkJUeXhKUVVGSkxFTkJRVU03VTBGRFdqdEpRVU5HTEVOQlFVTTdRMEZEUkR0QlFUTkdRVHRKUVVSRExIRkVRVUZKTzI5RlFUUkNTanRCUVd0RlJpeFRRVUZUTEdOQlFXTXNRMEZCUlN4UlFVRXdRaXhGUVVGRkxGRkJRV2RDTzBsQlJYQkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN6dFJRVU5zUWl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVWaUxFdEJRVXNzU1VGQlNTeEpRVUZKTEVsQlFVa3NVVUZCVVN4RFFVRkRMRXRCUVVzc1JVRkRMMEk3VVVGRFF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFbEJRVWtzVVVGQlVTeERRVUZETEZkQlFWY3NSVUZCUlN4RlFVTnlSRHRaUVVORExFOUJRVThzU1VGQlNTeERRVUZETzFOQlExbzdTMEZEUkR0SlFVVkVMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzUTBGQlF6dEJRVVZFTEdkRlFVRm5SVHRCUVVONlJDeFRRVUZUTEcxQ1FVRnRRaXhEUVVGRkxGTkJRV2xDTEVWQlFVVXNVVUZCTUVJN1NVRkZha1lzU1VGQlNTeExRVUZMTEVkQlFVY3NZMEZCWXl4RFFVRkZMRkZCUVZFc1JVRkJSU3h0UWtGQmJVSXNRMEZCUlN4RFFVRkRPMGxCUXpWRUxFbEJRVWtzUzBGQlN5eEZRVU5VTzFGQlEwTXNUMEZCVHl4RFFVRkZMRFpEUVVGTExFTkJRVVVzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ6dG5Ra0ZEZEVNc1EwRkJReXhEUVVGRExGTkJRVk1zUjBGQlJ5eEhRVUZITEVkQlFVY3NTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdTMEZEYWtRN1UwRkZSRHRSUVVORExFOUJRVThzU1VGQlNTeERRVUZETzB0QlExbzdRVUZEUml4RFFVRkRPMEZCUjBRc05rUkJRVFpFTzBGQlEzUkVMRk5CUVZNc1owSkJRV2RDTEVOQlFVVXNVMEZCYVVJc1JVRkJSU3hSUVVFd1FpeEZRVUZGTEUxQlFXTTdTVUZGT1VZc1NVRkJTU3hUUVVGVExFZEJRVWNzYlVKQlFXMUNMRU5CUVVVc1UwRkJVeXhGUVVGRkxGRkJRVkVzUTBGQlJTeERRVUZETzBsQlF6TkVMRWxCUVVrc1UwRkJVeXhGUVVOaU8xRkJRME1zVFVGQlRTeERRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRU5CUVVVc1IwRkJSeXhUUVVGVExFTkJRVU03VVVGRGVrTXNUMEZCVHl4dlJFRkJReXhuUlVGQlZ5eEpRVUZETEU5QlFVOHNSVUZCUnl4UlFVRlJMR0ZCUVZJc1VVRkJVU3gxUWtGQlVpeFJRVUZSTEVOQlFVVXNRMEZCUXl4RlFVRkhMRTlCUVU4c1JVRkJSeXhSUVVGUkxHRkJRVklzVVVGQlVTeDFRa0ZCVWl4UlFVRlJMRU5CUVVVc1EwRkJReXhGUVVGSExFOUJRVThzUlVGQlJ5eFJRVUZSTEdGQlFWSXNVVUZCVVN4MVFrRkJVaXhSUVVGUkxFTkJRVVVzUTBGQlF6dFpRVU4yUml4dlJFRkJReXgxUkVGQlR5eEpRVUZETEVkQlFVY3NSVUZCU1N4UlFVRlJMRVZCUVVjc1ZVRkJWU3hGUVVGSExFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNSMEZCU1N4RFFVTnNSU3hEUVVGRE8wdEJRMmhDTzFOQlJVUTdVVUZEUXl4UFFVRlBMRzlFUVVGRExIVkVRVUZQTEVsQlFVTXNSMEZCUnl4RlFVRkpMQ3RGUVVGdFFpeEZRVUZITEZWQlFWVXNSVUZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWtzUTBGQlF6dExRVU5zUnp0QlFVTkdMRU5CUVVNN1FVRkhSRHM3UjBGRlJ6dEJRVU5KTEUxQlFVMHNXVUZCWVN4VFFVRlJMQ3REUVVGMVJEdEpRVTk0Uml4WlFVRmhMRXRCUVZNN1VVRkZja0lzUzBGQlN5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMUZCVUZJc2MwSkJRV2xDTEVkQlFVY3NTVUZCU1N4elJVRkJhVUlzUTBGQlJTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVVVzUTBGQlF6dFJRVU51UlN4MVFrRkJhMElzUjBGQlJ5eEpRVUZKTERSQ1FVRTBRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJSU3hEUVVGRE8xRkJRek5HTEdsQ1FVRlpMRWRCUVVjc0swTkJRV1VzUlVGQmIwSXNRMEZCUXp0UlFVTnVSQ3haUVVGUExFZEJRVWNzSzBOQlFXVXNSVUZCYjBJc1EwRkJRenRSUVUxeVJDeEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRVZCUVVVc1MwRkJTeXhGUVVGRkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRE8wbEJSVThzYjBKQlFXOUNMRU5CUVVVc1MwRkJjMEk3VVVGRmJrUXNVVUZCVVN4TFFVRkxMRVZCUTJJN1dVRkRReXhSUVVGUk8xbEJRMUlzUzBGQlN5eGxRVUZsTEVOQlFVTXNTVUZCU1R0blFrRkRlRUlzVDBGQlR5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU03V1VGRmFrTXNTMEZCU3l4bFFVRmxMRU5CUVVNc1lVRkJZVHRuUWtGRGFrTXNUMEZCVHl4dFFrRkJiVUlzUTBGQlF5eGhRVUZoTEVOQlFVTTdXVUZGTVVNc1MwRkJTeXhsUVVGbExFTkJRVU1zY1VKQlFYRkNMRU5CUVVNN1dVRkRNME1zUzBGQlN5eGxRVUZsTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU03V1VGRE9VTXNTMEZCU3l4bFFVRmxMRU5CUVVNc1owSkJRV2RDTzJkQ1FVTndReXhQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR05CUVdNc1EwRkJRenRaUVVVelF5eExRVUZMTEdWQlFXVXNRMEZCUXl4SlFVRkpPMmRDUVVONFFpeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExFbEJRVWtzUTBGQlF6dFRRVU5xUXp0SlFVTkdMRU5CUVVNN1NVRkhSQ3hyUWtGQmEwSXNRMEZCUlN4VFFVRTBRaXhGUVVGRkxGTkJRVFJDT3p0UlFVVTNSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4SlFVRkpMRk5CUVZNc1EwRkJReXhMUVVGTExFVkJRM1pETzFsQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3gzUWtGQmVVSXNaVUZCWlN4RFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZITEVWQlFVVXNRMEZCUlN4RFFVRkRPMU5CUXk5Rk8xRkJSVVFzU1VGQlNTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZGTEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVVc1EwRkJRenRSUVVOb1JTeEpRVUZKTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVVVzUTBGQlF6dFJRVU5xUlN4SlFVRkpMRmxCUVZrc1NVRkJTU3haUVVGWkxFVkJRMmhETzFsQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3hwUWtGQmEwSXNiVUpCUVcxQ0xFTkJRVVVzV1VGQldTeERRVUZITEU5QlFWRXNiVUpCUVcxQ0xFTkJRVVVzV1VGQldTeERRVUZITEVWQlFVVXNRMEZCUlN4RFFVRkRPMWxCUTNCSUxHZENRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkRMR2xDUVVGcFFpeHRSRUZCU1N4WlFVRlpMRVZCUVVjN1UwRkRMME03U1VGRFJpeERRVUZETzBsQlJVUXNiMEpCUVc5Q096dFJRVVZ1UWl4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUXpWRE8xbEJRME1zWjBKQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVNc2FVSkJRV2xDTEcxRVFVRkpMRzFDUVVGdFFpeERRVUZETEVsQlFVa3NSVUZCUnp0VFFVTXpSRHRKUVVOR0xFTkJRVU03U1VGSllTeG5Ra0ZCWjBJN08xbEJSVGRDTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2IwSkJRWEZDTEdWQlFXVXNRMEZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlJ5eEhRVUZITzJ0Q1FVTjJSU3hIUVVGSkxESkZRVUZ6UWl4RFFVRkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4TFFVRkxMRU5CUVVVc1JVRkJSU3hEUVVGRkxFTkJRVU03V1VGRGFrVXNVVUZCVVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGRGVFSTdaMEpCUTBNc1MwRkJTeXhsUVVGbExFTkJRVU1zU1VGQlNUdHZRa0ZEZUVJc1VVRkJVU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhGUVVOd1F6dDNRa0ZEUXl4TFFVRkxMREpGUVVGelFpeERRVUZETEdGQlFXRTdORUpCUTNoRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1pVRkJaU3hEUVVGRExHRkJRV0VzUlVGQlJTeERRVUZGTEVOQlFVTTdORUpCUXpGRUxFMUJRVTA3ZDBKQlExQXNTMEZCU3l3eVJVRkJjMElzUTBGQlF5eEpRVUZKT3pSQ1FVTXZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZET3pSQ1FVTnFSQ3hOUVVGTk8zRkNRVU5RTzI5Q1FVTkVMRTFCUVUwN1owSkJSVkFzUzBGQlN5eGxRVUZsTEVOQlFVTXNTVUZCU1N4RFFVRkRPMmRDUVVNeFFpeExRVUZMTEdWQlFXVXNRMEZCUXl4aFFVRmhPMjlDUVVOcVF5eFJRVUZSTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVWQlEzQkRPM2RDUVVORExFdEJRVXNzTWtWQlFYTkNMRU5CUVVNc1QwRkJUenMwUWtGRGJFTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGxRVUZsTEVOQlFVTXNjVUpCUVhGQ0xFVkJRVVVzUTBGQlJTeERRVUZET3pSQ1FVTnNSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdORUpCUTI1Q0xFMUJRVTA3ZDBKQlJWQXNTMEZCU3l3eVJVRkJjMElzUTBGQlF5eEpRVUZKT3pSQ1FVTXZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZET3pSQ1FVTnFSQ3hOUVVGTk8zZENRVVZRTEV0QlFVc3NNa1ZCUVhOQ0xFTkJRVU1zWVVGQllUczBRa0ZEZUVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4bFFVRmxMRU5CUVVNc1lVRkJZU3hGUVVGRkxFTkJRVVVzUTBGQlF6czBRa0ZETVVRc1RVRkJUVHQzUWtGRlVDeExRVUZMTERKRlFVRnpRaXhEUVVGRExGZEJRVmM3TkVKQlEzUkRMREJFUVVFd1JEczBRa0ZETVVRc1RVRkJUVHQzUWtGRlVDeExRVUZMTERKRlFVRnpRaXhEUVVGRExFbEJRVWs3TkVKQlF5OUNMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNaVUZCWlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRkxFTkJRVU03TkVKQlEycEVMRTFCUVUwN2NVSkJRMUE3YjBKQlEwUXNUVUZCVFR0blFrRkZVQ3hMUVVGTExHVkJRV1VzUTBGQlF5eHhRa0ZCY1VJN2IwSkJRM3BETEhGRlFVRnhSVHR2UWtGRGNrVXNkVVZCUVhWRk8yOUNRVU4yUlN4TlFVRk5PMkZCUlZBN1VVRkRSaXhEUVVGRE8wdEJRVUU3U1VGSFR5eFZRVUZWTzFGQlJXcENMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzV1VGQldTeERRVUZGTEVOQlFVTTdVVUZETlVJc1VVRkJVeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhGUVVOeVF6dFpRVU5ETEV0QlFVc3NNa1ZCUVhOQ0xFTkJRVU1zVDBGQlR6dG5Ra0ZEYkVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTeHJRMEZCYlVNc2QwWkJRVzlDTEVOQlFVVXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEV0QlFVc3NRMEZCUnl4RlFVRkZMRU5CUVVVc1EwRkJRenRuUWtGRE0wY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1JVRkJSU3hEUVVGRE8yZENRVU55UWl4TlFVRk5PMWxCUTFBc1MwRkJTeXd5UlVGQmMwSXNRMEZCUXl4aFFVRmhMRU5CUVVNN1dVRkRNVU1zUzBGQlN5d3lSVUZCYzBJc1EwRkJReXhYUVVGWE8yZENRVU4wUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHdERRVUZ0UXl4M1JrRkJiMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUzBGQlN5eERRVUZITEVWQlFVVXNRMEZCUlN4RFFVRkRPMmRDUVVNelJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdaMEpCUXk5R0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1pVRkJaU3hEUVVGRExIZENRVUYzUWl4RlFVRkZMRU5CUVVVc1EwRkJRenRuUWtGRGNrVXNUVUZCVFR0WlFVTlFMRXRCUVVzc01rVkJRWE5DTEVOQlFVTXNTVUZCU1R0blFrRkRMMElzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN3d1EwRkJNRU1zUTBGQlJTeERRVUZETzJkQ1FVTXhSQ3hOUVVGTk8xTkJRMUE3U1VGRFJpeERRVUZETzBsQlIwOHNWMEZCVnp0UlFVVnNRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEhsQ1FVRjVRaXhEUVVGRkxFTkJRVU03VVVGRGVrTXNVVUZCVVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGRGVFSTdXVUZEUXl4TFFVRkxMR1ZCUVdVc1EwRkJReXgzUWtGQmQwSXNRMEZCUXp0WlFVTTVReXhMUVVGTExHVkJRV1VzUTBGQlF5eG5Ra0ZCWjBJN1owSkJRM0JETEhGQ1FVRnhRanRuUWtGRGNrSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGxRVUZsTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVVc1EwRkJRenRuUWtGRGFrUXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeE5RVUZOTzFOQlExQTdTVUZEUml4RFFVRkRPMGxCUldFc1YwRkJWenM3V1VGRmVFSXNTVUZCU1N4TFFVRkxMRWRCUTFRN1owSkJRME03YjBKQlEwTXNTMEZCU3l4RlFVRkZMSE5GUVVGcFFpeERRVUZETEd0Q1FVRnJRanR2UWtGRE0wTXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRTdhVUpCUXpWRE8yRkJRMFFzUTBGQlF6dFpRVVZHTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhqUVVGakxFVkJRemRDTzJkQ1FVTkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1kwRkJZeXhEUVVGRkxFTkJRVU03WVVGRGJFUTdXVUZGUkN4SlFVRkpMRWRCUVVjc1IwRkJSeXhOUVVGTkxIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RlFVRkZMRXRCUVVzc1EwRkJSU3hEUVVGRE8xbEJSUzlGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhGUVVOb1FqdG5Ra0ZEUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJSU3hEUVVGRE8yZENRVU5xUkN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRkxHOUNRVUZ2UWl4RFFVRkZMRU5CUVVNN1lVRkRlRU03VVVGRFJpeERRVUZETzB0QlFVRTdTVUZGVHl4aFFVRmhPMUZCUlhCQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhoUVVGaExFTkJRVVVzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFdEJRVXNzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJSU3hEUVVGRE8xRkJRM2hHTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzWlVGQlpTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxFTkJRVVVzUTBGQlF6dEpRVU01UkN4RFFVRkRPMGxCUlZrc1pVRkJaU3hEUVVGRkxFOUJRV2RDTEVWQlFVVXNaVUZCZFVJN1VVRkZkRVVzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN4M1FrRkJkMElzUjBGQlJTeGxRVUZsTEVOQlFVVXNRMEZCUXp0SlFVTXhSQ3hEUVVGRE8wbEJSMDBzVFVGQlRUdFJRVVZhTEVsQlFVa3NUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRPMUZCUlhwRUxFbEJRVWtzUzBGQldTeERRVUZETzFGQlEycENMRkZCUVZFc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlEzaENPMWxCUTBNc1MwRkJTeXhsUVVGbExFTkJRVU1zU1VGQlNUdG5Ra0ZEZUVJc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dG5Ra0ZEV2l4TlFVRk5PMWxCUlZBN1owSkJRME1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRZaXhOUVVGTk8xTkJRMUE3VVVGRlJDeEpRVUZKTEUxQlFXZENMRU5CUVVNN1VVRkRja0lzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1NVRkJTU3hsUVVGbExFTkJRVU1zZDBKQlFYZENMRVZCUTJoRk8xbEJRME1zYjBaQlFXOUdPMWxCUTNCR0xFMUJRVTBzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4MVJVRkJWeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFOQlEzSkRPMkZCUTBrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZsQlFWa3NSVUZEYUVNN1dVRkRReXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNN1UwRkRha003WVVGRlJEdFpRVU5ETEUxQlFVMHNSMEZCUnl4RlFVRkZMRWxCUVVrc1JVRkJSU3gxUlVGQlZ5eERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03VTBGRGRFUTdVVUZGUkN4SlFVRkpMRkZCUVZFc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NTVUZCU1N4bFFVRmxMRU5CUVVNc1owSkJRV2RDTzJWQlF5OUVMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEdWQlFXVXNRMEZCUXl4M1FrRkJkMElzUTBGQlF6dFJRVU5xUlN4UFFVRlBMRU5CUTA0c2IwUkJRVU1zTUVWQlFXZENMRWxCUVVNc1ZVRkJWU3hGUVVGSExFTkJRVVVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFVkJRVWNzUjBGQlJ5eEZRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUXpkRkxFMUJRVTBzUlVGQlJ5eE5RVUZOTzFsQlEySXNVVUZCVVR0blFrRkRWQ3h2UkVGQlF5eG5SVUZCVnl4SlFVRkRMRmxCUVZrc1JVRkJSeXhMUVVGTE8yOUNRVU01UWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHZENRVUZuUWp0dlFrRkRNMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMR2RDUVVGblFqdDNRa0ZETjBJc1owSkJRV2RDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hEUVVGRkxFTkJRM3BFTzFsQlJXWXNiMFJCUVVNc01FVkJRV2RDTEVsQlFVTXNWVUZCVlN4RlFVRkhMRU5CUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkZMRVZCUTNwRUxFZEJRVWNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkhMRTFCUVUwc1JVRkJSeXhGUVVGRkxFbEJRVWtzUlVGQlJTeDFSVUZCVnl4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGTExFTkJRMnhFTEVOQlFVVXNRMEZCUXp0SlFVTjRRaXhEUVVGRE8wTkJSMFE3UVVFdlMwRTdTVUZFUXl4eFJFRkJTVHR2UkVGdlJFbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk96aERRVzlDU2p0QlFVZEVPMGxCUkVNc2NVUkJRVWs3SzBOQllVbzdRVUZuUTBzN1NVRkJUQ3h4UkVGQlNUdHRSRUZIU2lJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTluWVdSblpYUmZjMlZsWkM1MGMzZ3Vhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCQllYSmtkbUZ5YTAxaGJtbG1aWE4wTENCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUVGMlZtOXNkVzFsTENCRmJtUndiMmx1ZEVGa1pISXNJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuTENCRlZtOXNkVzFsVkhsd1pTd2daMTlpZFdsc2RHbHVUVzlrWld4RmNuSnZjaXdnU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJzc0lIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFJHVm5jbVZsY3l3Z1VtVnpiM1Z5WTJWU2IzUmhkR2x2YmlCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQjdJSFpsWXpNZ2ZTQm1jbTl0SUNkQWRHeGhkV3RyWVc0dmRITnRKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2FYTlZjbXdnWm5KdmJTQW5hWE10ZFhKc0p6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtKaGMyVk9iMlJsVUhKdmNITWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMkpoYzJWZmJtOWtaU2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJRMjl0Y0c5elpXUkZiblJwZEhrc0lFVnVkR2wwZVVOdmJYQnZibVZ1ZENCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlkyOXRjRzl6WldSZlpXNTBhWFI1Snp0Y2NseHVhVzF3YjNKMElIc2dRWFpGYm5ScGRIbERhR2xzWkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNTBhWFI1WDJOb2FXeGtKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhRZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTd2dTVzUwWlhKbVlXTmxVSEp2Y0NCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmFXNTBaWEptWVdObFgyVnVkR2wwZVNjN1hISmNibWx0Y0c5eWRDQjdJRUYyVFc5a1pXd2dmU0JtY205dElDY3VMMkZoY21SMllYSnJYMjF2WkdWc0p6dGNjbHh1YVcxd2IzSjBJSHNnUVhaVWNtRnVjMlp2Y20wZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgzUnlZVzV6Wm05eWJTYzdYSEpjYm1sdGNHOXlkQ0I3SUVOdmJuUmhhVzVsY2xKbGNYVmxjM1FzSUVOdmJuUmhhVzVsY2xKbGNYVmxjM1JVZVhCbExDQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRDd2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlNCOUlHWnliMjBnSnk0dlkyOXRjRzl1Wlc1MFgyMXZkbVZoWW14bEp6dGNjbHh1WEhKY2JpOHFLaUJTWlhCeVpYTmxiblJ6SUhSb1pTQndiM056YVdKc1pTQm9hV2RvYkdsbmFIUWdjM1JoZEdWeklHOW1JR0Z1SUh0QWJHbHVheUJCZGtkaFpHZGxkRk5sWldSOUlDb3ZYSEpjYm1WNGNHOXlkQ0JsYm5WdElFZGhaR2RsZEZObFpXUklhV2RvYkdsbmFIUmNjbHh1ZTF4eVhHNWNkRWxrYkdVc1hISmNibHgwUjNKaFltSmxjazVsWVhKaWVTeGNjbHh1WEhSSFlXUm5aWFJUZEdGeWRHbHVaeXhjY2x4dVhIUk5aVzUxTEZ4eVhHNTlYSEpjYmx4eVhHNWNjbHh1THlvcUlGQnliM0J6SUdadmNpQjdRR3hwYm1zZ1FYWkhZV1JuWlhSVFpXVmtmU0FxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRjJSMkZrWjJWMFUyVmxaRkJ5YjNCeklHVjRkR1Z1WkhNZ1FYWkNZWE5sVG05a1pWQnliM0J6WEhKY2JudGNjbHh1WEhRdktpb2dWR2hsSUcxaGJtbG1aWE4wSUc5aWFtVmpkQ0JtYjNJZ2RHaHBjeUJuWVdSblpYUXVJRlJvWlhObElHTmhiaUJpWlNCc2IyRmtaV1FnWm5KdmJWeHlYRzVjZENBcUlHZGhaR2RsZENCVlVreHpJSGRwZEdnZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNXNiMkZrVFdGdWFXWmxjM1FvTGk0dUtTNWNjbHh1WEhRcUwxeHlYRzVjZEcxaGJtbG1aWE4wT2lCQllYSmtkbUZ5YTAxaGJtbG1aWE4wTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdkaFpHZGxkQ0JWVWt3Z2RHaGhkQ0IwYUdVZ2JXRnVhV1psYzNRZ2QyRnpJR3h2WVdSbFpDQm1iM0p0TGlCVWFHVWdaMkZrWjJWMFhISmNibHgwSUNvZ2MyVmxaQ0J1WldWa2N5QjBieUIwYUdseklITnZJR2wwSUdOaGJpQnNiMkZrSUhSb1pTQm5ZV1JuWlhRbmN5QnBZMjl1TENCaGJtUWdZV3h6YjF4eVhHNWNkQ0FxSUhSdklITjBZWEowSUhSb1pTQm5ZV1JuWlhRdVhISmNibHgwSUNvdlhISmNibHgwWjJGa1oyVjBWWEpzT2lCemRISnBibWM3WEhKY2JseHlYRzVjZEM4cUtpQlRhWHBsSUdsdUlHMWxkR1Z5Y3lCdlppQjBhR1VnWjJGa1oyVjBJSE5sWldRdUlGUm9hWE1nZDJsc2JDQmpiMjUwY205c0lHSnZkR2hjY2x4dVhIUWdLaUIwYUdVZ1lXTjBhWFpsSUdGeVpXRWdZVzVrSUhSb1pTQnpZMkZzWlNCdlppQjBhR1VnWjJGa1oyVjBKM01nYlc5a1pXd3NJR0YwSUd4bFlYTjBYSEpjYmx4MElDb2dabTl5SUdkaFpHZGxkQ0J0YjJSbGJITWdkR2hoZENCaGNtVWdZMlZ1ZEdWeVpXUWdZWEp2ZFc1a0lIUm9aU0J2Y21sbmFXNHVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdNQzR4WEhKY2JseDBJQ292WEhKY2JseDBjbUZrYVhWelB6b2diblZ0WW1WeU8xeHlYRzVjY2x4dVhIUXZLaW9nUTJGc2JHVmtJSGRvWlc0Z2RHaGxJSE5sWldRZ2FYTWdhR2xuYUd4cFoyaDBaV1FnYjNJZ2RXNW9hV2RvYkdsbmFIUmxaQzRnS2k5Y2NseHVYSFJvYVdkb2JHbG5hSFJEWVd4c1ltRmphejg2SUNnZ2FHbG5hR3hwWjJoME9pQkhZV1JuWlhSVFpXVmtTR2xuYUd4cFoyaDBJQ2tnUFQ0Z2RtOXBaRHRjY2x4dVhISmNibHgwTHlvcUlGVnpaV1FnYVc1emRHVmhaQ0J2WmlCaGJubDBhR2x1WnlCeVpXeGhkR1ZrSUhSdklIUm9aU0J0WVc1cFptVnpkQ0IzYUdWdUlHUnlZWGRwYm1jZ1hISmNibHgwSUNvZ2RHaHBjeUJuWVdSblpYUWdjMlZsWkZ4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUc1dmJtVmNjbHh1WEhRZ0tpOWNjbHh1WEhSamRYTjBiMjFCY0hCbFlYSmhibU5sUHpvZ1NsTllMa1ZzWlcxbGJuUTdYSEpjYmx4eVhHNWNkQzhxS2lCSlppQndjbTkyYVdSbFpDd2dkR2hwY3lCamRYTjBiMjBnZG05c2RXMWxJSGRwYkd3Z1ltVWdkWE5sWkNCcGJuTjBaV0ZrSUc5bUlIUm9aU0J5WVdScGRYTWdYSEpjYmx4MElDb2djSEp2Y0dWeWRIa3VYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR04xYzNSdmJWWnZiSFZ0WlQ4NklFRjJWbTlzZFcxbE8xeHlYRzVjY2x4dVhIUXZLaW9nU1dZZ2NISnZkbWxrWldRc0lIUm9aWE5sSUdsdWFYUnBZV3dnYVc1MFpYSm1ZV05sSUd4dlkydHpJSGRwYkd3Z1ltVWdjR0Z6YzJWa0lHRnNiMjVuSUZ4eVhHNWNkQ0FxSUhSdklIUm9aU0JuWVdSblpYUWdkMmhsYmlCcGRDZHpJSE4wWVhKMFpXUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2x1ZEdWeVptRmpaVXh2WTJ0elB6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYm1WdWRXMGdSMkZrWjJWMFUyVmxaRkJvWVhObFhISmNibnRjY2x4dVhIUkpaR3hsTEZ4eVhHNWNkRWR5WVdKaVpYSk9aV0Z5WW5rc1hISmNibHgwVjJGcGRHbHVaMFp2Y2tkaFpHZGxkRk4wWVhKMExGeHlYRzVjZEZkaGFYUnBibWRHYjNKU1pXZHlZV0lzWEhKY2JseDBWMkZwZEdsdVowWnZjbEpsWkhKdmNGUnZSbWx1YVhOb0xGeHlYRzVjZEUxbGJuVXNYSEpjYm4xY2NseHVYSEpjYm1sdWRHVnlabUZqWlNCQmRrZGhaR2RsZEZObFpXUlRkR0YwWlZ4eVhHNTdYSEpjYmx4MGNHaGhjMlU2SUVkaFpHZGxkRk5sWldSUWFHRnpaVHRjY2x4dWZWeHlYRzVjY2x4dVhISmNibU52Ym5OMElHdGZjMlZsWkVaeWIyMUhZV1JuWlhSUmRXRjBJRDBnY1hWaGRFWnliMjFCZUdselFXNW5iR1ZFWldkeVpXVnpLQ0IyWldNekxuSnBaMmgwTENBdE9UQWdLVHRjY2x4dVkyOXVjM1FnYTE5elpXVmtSbkp2YlVkaFpHZGxkRG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJRDBnZXlCeWIzUmhkR2x2YmpvZ2V5QjRPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1NExDQjVPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1NUxDQjZPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1NkxDQjNPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1M0lIMGdmVHRjY2x4dVhISmNiaThxS2lCQWFHbGtaR1Z1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCSFlXUm5aWFJUWldWa1EyOXVkR0ZwYm1WeVEyOXRjRzl1Wlc1MElHbHRjR3hsYldWdWRITWdSVzUwYVhSNVEyOXRjRzl1Wlc1MFhISmNibnRjY2x4dVhIUndjbWwyWVhSbElHTnZiblJsYm5SelJYQmhPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0hKcGRtRjBaU0JqYjI1MFpXNTBjMUpsYzNSbFpDQTlJR1poYkhObE8xeHlYRzVjZEhCeWFYWmhkR1VnWlc1MGFYUjVRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ1lXTjBhWFpsUTI5dWRHRnBibVZ5T2lCQlkzUnBkbVZKYm5SbGNtWmhZMlVnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ1kyaHBiR1JCWkdSbFpFTmhiR3hpWVdOck9pQW9LU0E5UGlCMmIybGtPMXh5WEc1Y2RIQnlhWFpoZEdVZ1kyaHBiR1JTWlcxdmRtVmtRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JseHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQmphR2xzWkVGa1pHVmtRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FzSUdOb2FXeGtVbVZ0YjNabFpFTmhiR3hpWVdOck9pQW9LU0E5UGlCMmIybGtJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1Ob2FXeGtRV1JrWldSRFlXeHNZbUZqYXlBOUlHTm9hV3hrUVdSa1pXUkRZV3hzWW1GamF6dGNjbHh1WEhSY2RIUm9hWE11WTJocGJHUlNaVzF2ZG1Wa1EyRnNiR0poWTJzZ1BTQmphR2xzWkZKbGJXOTJaV1JEWVd4c1ltRmphenRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdkWEJrWVhSbFRHbHpkR1Z1WlhJb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBRR0pwYm1SY2NseHVYSFJ3Y21sMllYUmxJRzl1UTI5dWRHRnBibVZ5VTNSaGNuUW9JR0ZqZEdsMlpVTnZiblJoYVc1bGNqb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbU52Ym5SbGJuUnpSWEJoSUQwZ1lXTjBhWFpsUTI5dWRHRnBibVZ5TG5CbFpYSTdYSEpjYmx4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lHQlRaV1ZrSUdOdmJuUmhhVzVsY2lCdmJrTnZiblJoYVc1bGNsTjBZWEowSUhkcGRHZ2dKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lHRmpkR2wyWlVOdmJuUmhhVzVsY2k1d1pXVnlJQ2tnZldBZ0tUdGNjbHh1WEhSY2RHRmpkR2wyWlVOdmJuUmhhVzVsY2k1dmJrVjJaVzUwS0NCY2NseHVYSFJjZEZ4MEtDQmxkbVZ1ZERvZ1lXNTVJQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdVkyOXVkR1Z1ZEhOU1pYTjBaV1FnUFNCbGRtVnVkQzV6ZEdGMFpTQTlQU0JjSWxKbGMzUnBibWRjSWp0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG5Wd1pHRjBaVXhwYzNSbGJtVnlLQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZENsY2NseHVYSEpjYmx4MFhIUmhZM1JwZG1WRGIyNTBZV2x1WlhJdWIyNUZibVJsWkNnZ1hISmNibHgwWEhSY2RDZ3BJRDArWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZObFpXUWdZMjl1ZEdGcGJtVnlJR0ZqZEdsMlpTQmpiMjUwWVdsdVpYSWdaVzVrWldRZ2QybDBhQ0JnWEhKY2JseDBYSFJjZEZ4MFhIUXJJR0FrZXlCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5Z2dZV04wYVhabFEyOXVkR0ZwYm1WeUxuQmxaWElnS1NCOVlDQXBPMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVZMjl1ZEdWdWRITlNaWE4wWldRZ1BTQm1ZV3h6WlR0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG1OdmJuUmxiblJ6UlhCaElEMGdiblZzYkR0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVU52Ym5SaGFXNWxjaUE5SUc1MWJHdzdYSEpjYmx4MFhIUmNkRngwZEdocGN5NTFjR1JoZEdWTWFYTjBaVzVsY2lncE8xeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdVkyaHBiR1JTWlcxdmRtVmtRMkZzYkdKaFkycy9MaWdwTzF4eVhHNWNkRngwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwZEdocGN5NWhZM1JwZG1WRGIyNTBZV2x1WlhJZ1BTQmhZM1JwZG1WRGIyNTBZV2x1WlhJN1hISmNibHgwWEhSMGFHbHpMbU5vYVd4a1FXUmtaV1JEWVd4c1ltRmphejh1S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIUnlZVzV6YldsMGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElISmxZMlZwZG1WektDazZJRWx1ZEdWeVptRmpaVkJ5YjNCYlhWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJiSUhzZ2FXWmhZMlU2SUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwTG1OdmJuUmhhVzVsY2tsdWRHVnlabUZqWlN3Z2NISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVEyOXVkR0ZwYm1WeVUzUmhjblFnZlNCZE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQndZWEpsYm5Rb0tUb2dSVzVrY0c5cGJuUkJaR1J5WEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEhCMVlteHBZeUJuWlhRZ2QyRnVkSE5VY21GdWMyWnZjbTF6S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElHbHVkR1Z5Wm1GalpVeHZZMnR6S0NrNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBnZXlCeVpYUjFjbTRnVzEwN0lIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxaSEp2Y0NnZ2JtVjNRMjl1ZEdGcGJtVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHMXZkbVZoWW14bFZHOVNaWEJzWVdObE9pQkZibVJ3YjJsdWRFRmtaSElnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbUZqZEdsMlpVTnZiblJoYVc1bGNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCeVpYRTZJRU52Ym5SaGFXNWxjbEpsY1hWbGMzUWdQVnh5WEc1Y2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RIUjVjR1U2SUVOdmJuUmhhVzVsY2xKbGNYVmxjM1JVZVhCbExsSmxaSEp2Y0N3Z1hISmNibHgwWEhSY2RGeDBibVYzUTI5dWRHRnBibVZ5TENCY2NseHVYSFJjZEZ4MFhIUnRiM1psWVdKc1pWUnZVbVZ3YkdGalpTeGNjbHh1WEhSY2RGeDBYSFJ2YkdSTmIzWmxZV0pzWlVaeWIyMU9aWGROYjNabFlXSnNaVG9nYTE5elpXVmtSbkp2YlVkaFpHZGxkQ3hjY2x4dVhIUmNkRngwZlR0Y2NseHVYSFJjY2x4dVhIUmNkRngwZEdocGN5NWhZM1JwZG1WRGIyNTBZV2x1WlhJdWMyVnVaRVYyWlc1MEtDQnlaWEVnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ2YmxWd1pHRjBaU2dnWTJGc2JHSmhZMnM2SUNncElEMCtJSFp2YVdRZ0tUb2dkbTlwWkZ4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdVpXNTBhWFI1UTJGc2JHSmhZMnNnUFNCallXeHNZbUZqYXp0Y2NseHVYSFI5WEhKY2JseHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR05vYVd4a0tDazZJRVZ1WkhCdmFXNTBRV1JrY2x4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG1GamRHbDJaVU52Ym5SaGFXNWxjajh1Y0dWbGNqdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1RvZ1NsTllMa1ZzWlcxbGJuUmNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1amIyNTBaVzUwYzBWd1lTQW1KaUIwYUdsekxtTnZiblJsYm5SelVtVnpkR1ZrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUR4QmRsUnlZVzV6Wm05eWJTQnliM1JoZEdWWVBYc2dMVGt3SUgwZ2EyVjVQVndpYzJWbFpGd2lQbHh5WEc1Y2RGeDBYSFFnWEhSY2REeEJka1Z1ZEdsMGVVTm9hV3hrSUdOb2FXeGtQWHNnZEdocGN5NWpiMjUwWlc1MGMwVndZU0I5SUd0bGVUMTdJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCMGFHbHpMbU52Ym5SbGJuUnpSWEJoSUNrZ2ZTOCtYSEpjYmx4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNWNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlZjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRzUxYkd3N1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNW1kVzVqZEdsdmJpQm1hVzVrU1dOdmJrOW1WSGx3WlNnZ2JXRnVhV1psYzNRNklFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lHMXBiV1ZVZVhCbE9pQnpkSEpwYm1jZ0tWeHlYRzU3WEhKY2JseDBhV1lvSUNGdFlXNXBabVZ6ZEM1cFkyOXVjeUFwWEhKY2JseDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2NseHVYSEpjYmx4MFptOXlLQ0JzWlhRZ2FXTnZiaUJ2WmlCdFlXNXBabVZ6ZEM1cFkyOXVjeUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUdsamIyNHVkSGx3WlM1MGIweHZkMlZ5UTJGelpTZ3BJRDA5SUcxcGJXVlVlWEJsTG5SdlRHOTNaWEpEWVhObEtDa2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdhV052Ymp0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEhKbGRIVnliaUJ1ZFd4c08xeHlYRzU5WEhKY2JseHlYRzR2S2lvZ1JtbHVaSE1nWVNCbllXUm5aWFFnYldGdWFXWmxjM1FuY3lCbmJGUkdJRzF2WkdWc0lGVlNUQ0JwWmlCMGFHVnlaU0JwY3lCdmJtVXVJQ292WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbWFXNWtSMngwWmtsamIyNUdkV3hzVlhKc0tDQm5ZV1JuWlhSVmNtdzZJSE4wY21sdVp5d2diV0Z1YVdabGMzUTZJRUZoY21SMllYSnJUV0Z1YVdabGMzUXBJRG9nYm5Wc2JDQjhJRnNnYzNSeWFXNW5MQ0JTWlhOdmRYSmpaVkp2ZEdGMGFXOXVYVnh5WEc1N1hISmNibHgwYkdWMElHMXZaR1ZzSUQwZ1ptbHVaRWxqYjI1UFpsUjVjR1VvSUcxaGJtbG1aWE4wTENCY0ltMXZaR1ZzTDJkc2RHWXRZbWx1WVhKNVhDSWdLVHRjY2x4dVhIUnBaaWdnYlc5a1pXd2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCYklHbHpWWEpzS0NCdGIyUmxiQzV6Y21NZ0tTQS9JRzF2WkdWc0xuTnlZeUJjY2x4dVhIUmNkRngwT2lCbllXUm5aWFJWY213Z0t5QmNJaTljSWlBcklHMXZaR1ZzTG5OeVl5d2diVzlrWld3dWNtOTBZWFJwYjI0Z1hUdGNjbHh1WEhSOVhISmNibHgwWld4elpWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJ1ZFd4c08xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVYSEpjYmk4cUtpQlNaVzVrWlhKeklFRmhjbVIyWVhKcklHTnZiWEJ2Ym1WdWRITWdabTl5SUdFZ1oyRmtaMlYwSjNNZ1oyeFVSaUJ0YjJSbGJDNGdLaTljY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGJtUmxja2RoWkdkbGRFbGpiMjRvSUdkaFpHZGxkRlZ5YkRvZ2MzUnlhVzVuTENCdFlXNXBabVZ6ZERvZ1FXRnlaSFpoY210TllXNXBabVZ6ZEN3Z2NtRmthWFZ6T2lCdWRXMWlaWElnS1Z4eVhHNTdYSEpjYmx4MGJHVjBJRzF2WkdWc1NXNW1ieUE5SUdacGJtUkhiSFJtU1dOdmJrWjFiR3hWY213b0lHZGhaR2RsZEZWeWJDd2diV0Z1YVdabGMzUWdLVHRjY2x4dVhIUnBaaWdnYlc5a1pXeEpibVp2SUNsY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emRDQmJJRzF2WkdWc1ZYSnNMQ0J5YjNSaGRHbHZiaUJkSUQwZ2JXOWtaV3hKYm1adk8xeHlYRzVjZEZ4MGNtVjBkWEp1SUR4QmRsUnlZVzV6Wm05eWJTQnliM1JoZEdWWVBYc2djbTkwWVhScGIyNC9MbmdnZlNCeWIzUmhkR1ZaUFhzZ2NtOTBZWFJwYjI0L0xua2dmU0J5YjNSaGRHVmFQWHNnY205MFlYUnBiMjQvTG5vZ2ZUNWNjbHh1WEhSY2RGeDBYSFE4UVhaTmIyUmxiQ0IxY21rOUlIc2diVzlrWld4VmNtd2dmU0J6WTJGc1pWUnZSbWwwUFhzZ2V5QjRPaUJ5WVdScGRYTXNJSGs2SUhKaFpHbDFjeXdnZWpvZ2NtRmthWFZ6SUgwZ2ZTOCtYSEpjYmx4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK08xeHlYRzVjZEgxY2NseHVYSFJsYkhObFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRHhCZGsxdlpHVnNJSFZ5YVQwZ2V5Qm5YMkoxYVd4MGFXNU5iMlJsYkVWeWNtOXlJSDBnYzJOaGJHVlViMFpwZEQxN0lIc2dlRG9nY21Ga2FYVnpMQ0I1T2lCeVlXUnBkWE1zSUhvNklISmhaR2wxY3lCOUlIMHZQanRjY2x4dVhIUjlYSEpjYm4xY2NseHVYSEpjYmx4eVhHNHZLaW9nUVNCbmNtRmlZbUZpYkdVZ1kyOXVkSEp2YkNCMGFHRjBJR05oZFhObGN5QjBhR1VnWjNKaFltSmxjaUIwYnlCbmNtRmlJR0VnYm1WM1hISmNiaUFxSUdsdWMzUmhibU5sSUc5bUlHRWdaMkZrWjJWMElHbHVjM1JsWVdRZ2IyWWdkR2hsSUdOdmJuUnliMndnYVhSelpXeG1MaUJjY2x4dUlDb3ZYSEpjYm1WNGNHOXlkQ0JqYkdGemN5QkJka2RoWkdkbGRGTmxaV1FnWlhoMFpXNWtjeUJTWldGamRDNURiMjF3YjI1bGJuUThJRUYyUjJGa1oyVjBVMlZsWkZCeWIzQnpMQ0JCZGtkaFpHZGxkRk5sWldSVGRHRjBaU0ErWEhKY2JudGNjbHh1WEhSd2NtbDJZWFJsSUcxdmRtVmhZbXhsUTI5dGNHOXVaVzUwSUQwZ2JtVjNJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBLQ0IwYUdsekxtOXVUVzkyWldGaWJHVlZjR1JoZEdVZ0tUdGNjbHh1WEhSd2NtbDJZWFJsSUdOdmJuUmhhVzVsY2tOdmJYQnZibVZ1ZENBOUlHNWxkeUJIWVdSblpYUlRaV1ZrUTI5dWRHRnBibVZ5UTI5dGNHOXVaVzUwS0NCMGFHbHpMbTl1VG1WM1EyaHBiR1FzSUhSb2FYTXViMjVNYjNOMFEyaHBiR1FnS1R0Y2NseHVYSFJ3Y21sMllYUmxJSEpsWmtOdmJuUmhhVzVsY2lBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmp4QmRrTnZiWEJ2YzJWa1JXNTBhWFI1UGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WbVUyVmxaQ0E5SUZKbFlXTjBMbU55WldGMFpWSmxaanhCZGtOdmJYQnZjMlZrUlc1MGFYUjVQaWdwTzF4eVhHNWNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2djSEp2Y0hNNllXNTVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnpkWEJsY2lnZ2NISnZjSE1nS1R0Y2NseHVYSEpjYmx4MFhIUjBhR2x6TG5OMFlYUmxJRDBnZXlCd2FHRnpaVG9nUjJGa1oyVjBVMlZsWkZCb1lYTmxMa2xrYkdVZ2ZUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2MyVmxaRkJvWVhObFZHOUlhV2RvYkdsbmFIUW9JSEJvWVhObE9pQkhZV1JuWlhSVFpXVmtVR2hoYzJVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhOM2FYUmphQ2dnY0doaGMyVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJrWldaaGRXeDBPbHh5WEc1Y2RGeDBYSFJqWVhObElFZGhaR2RsZEZObFpXUlFhR0Z6WlM1SlpHeGxPbHh5WEc1Y2RGeDBYSFJjZEhKbGRIVnliaUJIWVdSblpYUlRaV1ZrU0dsbmFHeHBaMmgwTGtsa2JHVTdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRWRoWkdkbGRGTmxaV1JRYUdGelpTNUhjbUZpWW1WeVRtVmhjbUo1T2x4eVhHNWNkRngwWEhSY2RISmxkSFZ5YmlCSFlXUm5aWFJUWldWa1NHbG5hR3hwWjJoMExrZHlZV0ppWlhKT1pXRnlZbms3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUVkaFpHZGxkRk5sWldSUWFHRnpaUzVYWVdsMGFXNW5SbTl5UjJGa1oyVjBVM1JoY25RNlhISmNibHgwWEhSY2RHTmhjMlVnUjJGa1oyVjBVMlZsWkZCb1lYTmxMbGRoYVhScGJtZEdiM0pTWldSeWIzQlViMFpwYm1semFEcGNjbHh1WEhSY2RGeDBZMkZ6WlNCSFlXUm5aWFJUWldWa1VHaGhjMlV1VjJGcGRHbHVaMFp2Y2xKbFozSmhZanBjY2x4dVhIUmNkRngwWEhSeVpYUjFjbTRnUjJGa1oyVjBVMlZsWkVocFoyaHNhV2RvZEM1SFlXUm5aWFJUZEdGeWRHbHVaenRjY2x4dVhISmNibHgwWEhSY2RHTmhjMlVnUjJGa1oyVjBVMlZsWkZCb1lYTmxMazFsYm5VNlhISmNibHgwWEhSY2RGeDBjbVYwZFhKdUlFZGhaR2RsZEZObFpXUklhV2RvYkdsbmFIUXVUV1Z1ZFR0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjY2x4dVhIUmpiMjF3YjI1bGJuUkVhV1JWY0dSaGRHVW9JSEJ5WlhaUWNtOXdjem9nUVhaSFlXUm5aWFJUWldWa1VISnZjSE1zSUhCeVpYWlRkR0YwWlRvZ1FYWkhZV1JuWlhSVFpXVmtVM1JoZEdVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5OMFlYUmxMbkJvWVhObElDRTlJSEJ5WlhaVGRHRjBaUzV3YUdGelpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1UyVmxaQ0IwY21GdWMybDBhVzl1WldRZ2RHOGdKSHNnUjJGa1oyVjBVMlZsWkZCb1lYTmxXeUIwYUdsekxuTjBZWFJsTG5Cb1lYTmxJRjBnZldBZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2NseHVYSFJjZEd4bGRDQnZiR1JJYVdkb2JHbG5hSFFnUFNCMGFHbHpMbk5sWldSUWFHRnpaVlJ2U0dsbmFHeHBaMmgwS0NCd2NtVjJVM1JoZEdVdWNHaGhjMlVnS1R0Y2NseHVYSFJjZEd4bGRDQnVaWGRJYVdkb2JHbG5hSFFnUFNCMGFHbHpMbk5sWldSUWFHRnpaVlJ2U0dsbmFHeHBaMmgwS0NCMGFHbHpMbk4wWVhSbExuQm9ZWE5sSUNrN1hISmNibHgwWEhScFppZ2diMnhrU0dsbmFHeHBaMmgwSUNFOUlHNWxkMGhwWjJoc2FXZG9kQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmdRMmhoYm1kcGJtY2dabkp2YlNBa2V5QkhZV1JuWlhSVFpXVmtTR2xuYUd4cFoyaDBXeUJ2YkdSSWFXZG9iR2xuYUhRZ1hTQjlJSFJ2SUNSN0lFZGhaR2RsZEZObFpXUklhV2RvYkdsbmFIUmJJRzVsZDBocFoyaHNhV2RvZENCZElIMWdJQ2s3WEhKY2JseDBYSFJjZEhSb2FYTXVjSEp2Y0hNdWFHbG5hR3hwWjJoMFEyRnNiR0poWTJzL0xpZ2dibVYzU0dsbmFHeHBaMmgwSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSamIyMXdiMjVsYm5SWGFXeHNWVzV0YjNWdWRDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWMzUmhkR1V1Y0doaGMyVWdJVDBnUjJGa1oyVjBVMlZsWkZCb1lYTmxMa2xrYkdVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG5CeWIzQnpMbWhwWjJoc2FXZG9kRU5oYkd4aVlXTnJQeTRvSUVkaFpHZGxkRk5sWldSSWFXZG9iR2xuYUhRdVNXUnNaU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQmhjM2x1WXlCdmJrMXZkbVZoWW14bFZYQmtZWFJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emIyeGxMbXh2WnlnZ1lHOXVUVzkyWldGaWJHVlZjR1JoZEdVZ0pIc2dSMkZrWjJWMFUyVmxaRkJvWVhObFd5QjBhR2x6TG5OMFlYUmxMbkJvWVhObElGMGdmU0JnWEhKY2JseDBYSFJjZEN0Z0pIc2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlZzZ2RHaHBjeTV0YjNabFlXSnNaVU52YlhCdmJtVnVkQzV6ZEdGMFpTQmRmV0FnS1R0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEdocGN5NXpkR0YwWlM1d2FHRnpaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFUyVmxaRkJvWVhObExrbGtiR1U2WEhKY2JseDBYSFJjZEZ4MGMzZHBkR05vS0NCMGFHbHpMbTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbk4wWVhSbElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVSM0poWW1KbGNrNWxZWEppZVRwY2NseHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NXpaWFJUZEdGMFpTZ2dleUJ3YUdGelpUb2dSMkZrWjJWMFUyVmxaRkJvWVhObExrZHlZV0ppWlhKT1pXRnlZbmtnZlNBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhIUmNkRngwWEhSY2RHTmhjMlVnVFc5MlpXRmliR1ZEYjIxd2IyNWxiblJUZEdGMFpTNU5aVzUxT2x4eVhHNWNkRngwWEhSY2RGeDBYSFIwYUdsekxuTmxkRk4wWVhSbEtDQjdJSEJvWVhObE9pQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVRXVnVkU0I5SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSEpjYmx4MFhIUmNkR05oYzJVZ1IyRmtaMlYwVTJWbFpGQm9ZWE5sTGsxbGJuVTZYSEpjYmx4MFhIUmNkR05oYzJVZ1IyRmtaMlYwVTJWbFpGQm9ZWE5sTGtkeVlXSmlaWEpPWldGeVluazZYSEpjYmx4MFhIUmNkRngwYzNkcGRHTm9LQ0IwYUdsekxtMXZkbVZoWW14bFEyOXRjRzl1Wlc1MExuTjBZWFJsSUNsY2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSallYTmxJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBVM1JoZEdVdVIzSmhZbUpsWkRwY2NseHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NXpaWFJUZEdGMFpTZ2dleUJ3YUdGelpUb2dSMkZrWjJWMFUyVmxaRkJvWVhObExsZGhhWFJwYm1kR2IzSkhZV1JuWlhSVGRHRnlkQ0I5SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVjM1JoY25SSFlXUm5aWFFvS1R0Y2NseHVYSFJjZEZ4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSY2RGeDBZMkZ6WlNCTmIzWmxZV0pzWlVOdmJYQnZibVZ1ZEZOMFlYUmxMa2xrYkdVNlhISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnY0doaGMyVTZJRWRoWkdkbGRGTmxaV1JRYUdGelpTNUpaR3hsSUgwZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmNkRngwWTJGelpTQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRGTjBZWFJsTGtkeVlXSmlaWEpPWldGeVluazZYSEpjYmx4MFhIUmNkRngwWEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUhzZ2NHaGhjMlU2SUVkaFpHZGxkRk5sWldSUWFHRnpaUzVIY21GaVltVnlUbVZoY21KNUlIMGdLVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJjZEZ4MFkyRnpaU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrbHVRMjl1ZEdGcGJtVnlPaUJjY2x4dVhIUmNkRngwWEhSY2RGeDBMeThnVkdocGN5QnRaV0Z1Y3lCM1pTQnRhWE56WldRZ2RHaGxJR2R5WVdJZ1lXNWtJSGRsY21VZ1lXeHlaV0ZrZVNCa2NtOXdjR1ZrUDF4eVhHNWNkRngwWEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVUV1Z1ZFRvZ1hISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnY0doaGMyVTZJRWRoWkdkbGRGTmxaV1JRYUdGelpTNU5aVzUxSUgwZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWTJGelpTQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVYyRnBkR2x1WjBadmNrZGhaR2RsZEZOMFlYSjBPbHh5WEc1Y2RGeDBYSFJjZEM4dklHbHVJSFJvYVhNZ2MzUmhkR1VnZDJVbmNtVWdiVzl6ZEd4NUlHZHZhVzVuSUhSdklHbG5ibTl5WlNCdGIzWmxZV0pzWlNCemRHRjBaU0JqYUdGdVoyVnpMbHh5WEc1Y2RGeDBYSFJjZEM4dklFOTFjaUJ1WlhoMElHbHVkR1Z5Ym1Gc0lITjBZWFJsSUdOb1lXNW5aU0IzYVd4c0lHSmxJR1J5YVhabGJpQmllU0IwYUdVZ1oyRmtaMlYwSUhOMFlYSjBhVzVuWEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUbVYzUTJocGJHUW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW05dVRtVjNRMmhwYkdSY0lpQXBPMXh5WEc1Y2RGeDBjM2RwZEdOb0lDZ2dkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZEM1emRHRjBaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOaGMyVWdUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlM1SGNtRmlZbVZrT2x4eVhHNWNkRngwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnY21WbmNtRmlZbWx1WnlCdVpYY2daMkZrWjJWMElHMXZkbVZoWW14bElDUjdJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCMGFHbHpMbU52Ym5SaGFXNWxja052YlhCdmJtVnVkQzVqYUdsc1pDQXBJSDFnSUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1MGNtbG5aMlZ5VW1WbmNtRmlLQ2s3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEdOaGMyVWdUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlM1SGNtRmlZbVZ5VG1WaGNtSjVPbHh5WEc1Y2RGeDBYSFJqWVhObElFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MFUzUmhkR1V1U1c1RGIyNTBZV2x1WlhJNlhISmNibHgwWEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUdCeVpXUnliM0J3YVc1bklHNWxkeUJuWVdSblpYUWdiVzkyWldGaWJHVWdKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lIUm9hWE11WTI5dWRHRnBibVZ5UTI5dGNHOXVaVzUwTG1Ob2FXeGtJQ2tnZldBZ0tUdGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtTnZiblJoYVc1bGNrTnZiWEJ2Ym1WdWRDNXlaV1J5YjNBb0lIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblF1Y0dGeVpXNTBMQ0IwYUdsekxuSmxabE5sWldRdVkzVnljbVZ1ZEM1bmJHOWlZV3hKWkNBcE8xeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWMyVjBVM1JoZEdVb0lIc2djR2hoYzJVNklFZGhaR2RsZEZObFpXUlFhR0Z6WlM1WFlXbDBhVzVuUm05eVVtVmtjbTl3Vkc5R2FXNXBjMmdnZlNBcE8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVTV1JzWlRwY2NseHVYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKSWIzY2daR2xrSUhkbElHZGxkQ0JoYkd3Z2RHaGxJSGRoZVNCaVlXTnJJSFJ2SUdsa2JHVS9YQ0lnS1R0Y2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJreHZjM1JEYUdsc1pDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpYkc5emRDQmphR2xzWkNCcGJpQmpiMjUwWVdsdVpYSmNJaUFwTzF4eVhHNWNkRngwYzNkcGRHTm9LQ0IwYUdsekxuTjBZWFJsTG5Cb1lYTmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTJGelpTQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVYyRnBkR2x1WjBadmNsSmxaSEp2Y0ZSdlJtbHVhWE5vT2x4eVhHNWNkRngwWEhSallYTmxJRWRoWkdkbGRGTmxaV1JRYUdGelpTNVhZV2wwYVc1blJtOXlVbVZuY21GaU9seHlYRzVjZEZ4MFhIUmNkQzh2SUhkbEozWmxJR0psWlc0Z1pISnZjSEJsWkZ4eVhHNWNkRngwWEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUhzZ2NHaGhjMlU2SUVkaFpHZGxkRk5sWldSUWFHRnpaUzVKWkd4bElIMGdLVHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbkpsYzJWMEtDazdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUhOMFlYSjBSMkZrWjJWMEtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdiRzlqYTNNNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBnUFNCY2NseHVYSFJjZEZ0Y2RGeDBYSFJjZEZ4eVhHNWNkRngwWEhSN0lGeHlYRzVjZEZ4MFhIUmNkR2xtWVdObE9pQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRDNWpiMjUwWVdsdVpYSkpiblJsY21aaFkyVXNYSEpjYmx4MFhIUmNkRngwY21WalpXbDJaWEk2SUhSb2FYTXVjbVZtUTI5dWRHRnBibVZ5TG1OMWNuSmxiblF1WjJ4dlltRnNTV1FzWEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEYwN1hISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWFXNTBaWEptWVdObFRHOWphM01nS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc2IyTnJjeUE5SUd4dlkydHpMbU52Ym1OaGRDZ2dkR2hwY3k1d2NtOXdjeTVwYm5SbGNtWmhZMlZNYjJOcmN5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEd4bGRDQnlaWE1nUFNCaGQyRnBkQ0JCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG5OMFlYSjBSMkZrWjJWMEtDQjBhR2x6TG5CeWIzQnpMbWRoWkdkbGRGVnliQ3dnYkc5amEzTWdLVHRjY2x4dVhISmNibHgwWEhScFppZ2dJWEpsY3k1emRXTmpaWE56SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCd2FHRnpaVG9nUjJGa1oyVjBVMlZsWkZCb1lYTmxMa2xrYkdVZ2ZTQXBPMXh5WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9JRndpYzNSaGNuUkhZV1JuWlhRZ1ptRnBiR1ZrWENJZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2RISnBaMmRsY2xKbFozSmhZaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZEM1MGNtbG5aMlZ5VW1WbmNtRmlLQ0IwYUdsekxtTnZiblJoYVc1bGNrTnZiWEJ2Ym1WdWRDNWphR2xzWkN3Z2ExOXpaV1ZrUm5KdmJVZGhaR2RsZENBcE8xeHlYRzVjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCd2FHRnpaVG9nUjJGa1oyVjBVMlZsWkZCb1lYTmxMbGRoYVhScGJtZEdiM0pTWldkeVlXSWdmU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUWdjSFZpYkdsaklHOXVSMkZrWjJWMFUzUmhjblJsWkNnZ2MzVmpZMlZ6Y3pvZ1ltOXZiR1ZoYml3Z2JXRnBia2R5WVdKaVlXSnNaVWxrT2lCemRISnBibWNnS1NCY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSnRZV2x1SUdkeVlXSmlZV0pzWlNCcFpDQjNZWE1nWENJcklHMWhhVzVIY21GaVltRmliR1ZKWkNBcE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhISmNibHgwY0hWaWJHbGpJSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJSEpoWkdsMWN5QTlJSFJvYVhNdWNISnZjSE11Y21Ga2FYVnpJRDhnZEdocGN5NXdjbTl3Y3k1eVlXUnBkWE1nT2lBd0xqRTdYSEpjYmx4eVhHNWNkRngwYkdWMElITmpZV3hsT201MWJXSmxjanRjY2x4dVhIUmNkSE4zYVhSamFDZ2dkR2hwY3k1emRHRjBaUzV3YUdGelpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR05oYzJVZ1IyRmtaMlYwVTJWbFpGQm9ZWE5sTGtsa2JHVTZYSEpjYmx4MFhIUmNkRngwYzJOaGJHVWdQU0F4TGpBN1hISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJrWldaaGRXeDBPbHh5WEc1Y2RGeDBYSFJjZEhOallXeGxJRDBnTVM0eU5UdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJzWlhRZ2RtOXNkVzFsT2lCQmRsWnZiSFZ0WlR0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5OMFlYUmxMbkJvWVhObElEMDlJRWRoWkdkbGRGTmxaV1JRYUdGelpTNVhZV2wwYVc1blJtOXlVbVZrY205d1ZHOUdhVzVwYzJnZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUIzWlNCM1lXNTBJSFJ2SUc1dmRDQnRZWFJqYUNCaFoyRnBibk4wSUhSb1pTQmpiMjUwWVdsdVpYSWdkMlVuY21VZ2RHVnNiR2x1WnlCdmRYSWdZMmhwYkdRZ2RHOGdjbVZrY205d0lHbHVkRzljY2x4dVhIUmNkRngwZG05c2RXMWxJRDBnZXlCMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1RmJYQjBlU0I5TzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpTQnBaaWdnZEdocGN5NXdjbTl3Y3k1amRYTjBiMjFXYjJ4MWJXVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIyYjJ4MWJXVWdQU0IwYUdsekxuQnliM0J6TG1OMWMzUnZiVlp2YkhWdFpUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlZjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZG05c2RXMWxJRDBnZXlCMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1VGNHaGxjbVVzSUhKaFpHbDFjem9nY21Ga2FYVnpJSDA3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJR1J5WVhkSlkyOXVJRDBnZEdocGN5NXpkR0YwWlM1d2FHRnpaU0FoUFNCSFlXUm5aWFJUWldWa1VHaGhjMlV1VjJGcGRHbHVaMFp2Y2xKbFozSmhZaUJjY2x4dVhIUmNkRngwSmlZZ2RHaHBjeTV6ZEdGMFpTNXdhR0Z6WlNBaFBTQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVYyRnBkR2x1WjBadmNsSmxaSEp2Y0ZSdlJtbHVhWE5vTzF4eVhHNWNkRngwY21WMGRYSnVJQ2hjY2x4dVhIUmNkRngwUEVGMlEyOXRjRzl6WldSRmJuUnBkSGtnWTI5dGNHOXVaVzUwY3oxN0lGc2dkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZENCZElIMGdjbVZtUFhzZ2RHaHBjeTV5WldaVFpXVmtJSDFjY2x4dVhIUmNkRngwWEhSMmIyeDFiV1U5ZXlCMmIyeDFiV1VnZlNBK1hISmNibHgwWEhSY2RGeDBleUJrY21GM1NXTnZiaUFtSmx4eVhHNWNkRngwWEhSY2RGeDBQRUYyVkhKaGJuTm1iM0p0SUhWdWFXWnZjbTFUWTJGc1pUMTdJSE5qWVd4bElIMCtYSEpjYmx4MFhIUmNkRngwWEhSY2RIc2dkR2hwY3k1d2NtOXdjeTVqZFhOMGIyMUJjSEJsWVhKaGJtTmxJSDFjY2x4dVhIUmNkRngwWEhSY2RGeDBleUFoZEdocGN5NXdjbTl3Y3k1amRYTjBiMjFCY0hCbFlYSmhibU5sSUNZbUlGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RISmxibVJsY2tkaFpHZGxkRWxqYjI0b0lIUm9hWE11Y0hKdmNITXVaMkZrWjJWMFZYSnNMQ0IwYUdsekxuQnliM0J6TG0xaGJtbG1aWE4wTENCeVlXUnBkWE1nS1NCOVhISmNibHgwWEhSY2RGeDBYSFE4TDBGMlZISmhibk5tYjNKdFBseHlYRzVjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhROFFYWkRiMjF3YjNObFpFVnVkR2wwZVNCamIyMXdiMjVsYm5SelBYc2dXeUIwYUdsekxtTnZiblJoYVc1bGNrTnZiWEJ2Ym1WdWRDQmRJSDFjY2x4dVhIUmNkRngwWEhSY2RISmxaajE3SUhSb2FYTXVjbVZtUTI5dWRHRnBibVZ5SUgwZ2RtOXNkVzFsUFhzZ2V5QjBlWEJsT2lCRlZtOXNkVzFsVkhsd1pTNUZiWEIwZVNCOUlIMGdMejVjY2x4dVhIUmNkRngwUEM5QmRrTnZiWEJ2YzJWa1JXNTBhWFI1UGlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4eVhHNTlYSEpjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19nYWRnZXRfc2VlZC50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2dyYWJfYnV0dG9uLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfZ3JhYl9idXR0b24udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdkdyYWJCdXR0b24gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R3JhYkJ1dHRvblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZHcmFiQnV0dG9uOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX21vZGVsICovIFxcXCIuL3NyYy9hYXJkdmFya19tb2RlbC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogQSBjb21wb25lbnQgdGhhdCBzaWduYWxzIHdoZW4gaXQgaXMgZ3JhYmJlZC4gKi9cXHJcXG5jbGFzcyBBdkdyYWJCdXR0b24gZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLnN0YXRlID1cXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIGlubmVyQ291bnQ6IDAsXFxyXFxuICAgICAgICAgICAgICAgIG91dGVyQ291bnQ6IDAsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgfVxcclxcbiAgICBvbk91dGVyKGFjdGl2ZVBva2VyKSB7XFxyXFxuICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHsgcmV0dXJuIHsgb3V0ZXJDb3VudDogcHJldlN0YXRlLm91dGVyQ291bnQgKyAxIH07IH0pO1xcclxcbiAgICAgICAgYWN0aXZlUG9rZXIub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiB7IHJldHVybiB7IG91dGVyQ291bnQ6IHByZXZTdGF0ZS5vdXRlckNvdW50IC0gMSB9OyB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW5uZXIoYWN0aXZlUG9rZXIpIHtcXHJcXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAgICAgaWYgKHByZXZTdGF0ZS5pbm5lckNvdW50ID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZEhhcHRpY0V2ZW50KGFjdGl2ZVBva2VyLnBlZXIsIDAuNywgMSwgMCk7XFxyXFxuICAgICAgICAgICAgICAgIChfYiA9IChfYSA9IHRoaXMucHJvcHMpLm9uQ2xpY2spID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHsgaW5uZXJDb3VudDogcHJldlN0YXRlLmlubmVyQ291bnQgKyAxIH07XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIGFjdGl2ZVBva2VyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgICAgICAgICBpZiAocHJldlN0YXRlLmlubmVyQ291bnQgPT0gMSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZEhhcHRpY0V2ZW50KGFjdGl2ZVBva2VyLnBlZXIsIDAuMywgMSwgMCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAoX2IgPSAoX2EgPSB0aGlzLnByb3BzKS5vblJlbGVhc2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpbm5lckNvdW50OiBwcmV2U3RhdGUuaW5uZXJDb3VudCAtIDEgfTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCBzY2FsZSA9ICh0aGlzLnN0YXRlLm91dGVyQ291bnQgPiAwKSA/IDEuMSA6IDEuMDtcXHJcXG4gICAgICAgIGxldCBvdXRlclZvbHVtZTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJhZGl1cykge1xcclxcbiAgICAgICAgICAgIG91dGVyVm9sdW1lID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uU3BoZXJlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmFkaXVzOiB0aGlzLnByb3BzLnJhZGl1cyxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMubW9kZWxVcmkpIHtcXHJcXG4gICAgICAgICAgICBvdXRlclZvbHVtZSA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLk1vZGVsQm94LFxcclxcbiAgICAgICAgICAgICAgICAgICAgdXJpOiB0aGlzLnByb3BzLm1vZGVsVXJpLFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGlubmVyVm9sdW1lID0gb3V0ZXJWb2x1bWUgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG91dGVyVm9sdW1lKSwgeyBzY2FsZTogMC44IH0pIDogbnVsbDtcXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiRnJhZ21lbnRcXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHVuaWZvcm1TY2FsZTogc2NhbGUgfSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5tb2RlbFVyaSAmJiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2TW9kZWxcXFwiXSwgeyB1cmk6IHRoaXMucHJvcHMubW9kZWxVcmksIGNvbG9yOiB0aGlzLnByb3BzLmNvbG9yIH0pLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNoaWxkcmVuKSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiXSwgeyB2b2x1bWU6IG91dGVyVm9sdW1lLCBwcmlvcml0eTogMjAsIHJlY2VpdmVzOiBbeyBpZmFjZTogXFxcImFhcmR2YXJrLXBhbmVsQDJcXFwiLCBwcm9jZXNzb3I6IHRoaXMub25PdXRlciB9XSB9KSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiXSwgeyB2b2x1bWU6IGlubmVyVm9sdW1lLCBwcmlvcml0eTogMjEsIHJlY2VpdmVzOiBbeyBpZmFjZTogXFxcImFhcmR2YXJrLXBhbmVsQDJcXFwiLCBwcm9jZXNzb3I6IHRoaXMub25Jbm5lciB9XSB9KSk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R3JhYkJ1dHRvbi5wcm90b3R5cGUsIFxcXCJvbk91dGVyXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R3JhYkJ1dHRvbi5wcm90b3R5cGUsIFxcXCJvbklubmVyXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTluY21GaVgySjFkSFJ2Ymk1MGMzZy9ZbU5rT1NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3T3pzN096dEJRVUUyUlR0QlFVTXpRenRCUVVOSU8wRkJRMk03UVVGRGIwTTdRVUZEZEVNN1FVRkZVVHRCUVhGRGJrUXNiVVJCUVcxRU8wRkJRelZETEUxQlFVMHNXVUZCWVN4VFFVRlJMQ3REUVVGdFJEdEpRVVZ3Uml4WlFVRmhMRXRCUVZVN1VVRkZkRUlzUzBGQlN5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMUZCUldZc1NVRkJTU3hEUVVGRExFdEJRVXM3V1VGRFZqdG5Ra0ZEUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRFlpeFZRVUZWTEVWQlFVVXNRMEZCUXp0aFFVTmlMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSMDhzVDBGQlR5eERRVUZGTEZkQlFUUkNPMUZCUlRWRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUlN4VFFVRlRMRVZCUVVjc1JVRkJSU3hIUVVGSExFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNVMEZCVXl4RFFVRkRMRlZCUVZVc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUTNaR0xGZEJRVmNzUTBGQlF5eFBRVUZQTEVOQlFVVXNSMEZCUnl4RlFVRkZPMWxCUlhwQ0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUlN4VFFVRlRMRVZCUVVjc1JVRkJSU3hIUVVGSExFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNVMEZCVXl4RFFVRkRMRlZCUVZVc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUTNoR0xFTkJRVU1zUTBGQlJTeERRVUZETzBsQlEwd3NRMEZCUXp0SlFVZFBMRTlCUVU4c1EwRkJSU3hYUVVFMFFqdFJRVVUxUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRVVVzVTBGQlV5eEZRVUZITEVWQlFVVTdPMWxCUlRsQ0xFbEJRVWtzVTBGQlV5eERRVUZETEZWQlFWVXNTVUZCU1N4RFFVRkRMRVZCUXpkQ08yZENRVU5ETEhsRVFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zWlVGQlpTeERRVUZGTEZkQlFWY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVVXNRMEZCUXp0blFrRkZia1VzWjBKQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVNc1QwRkJUeXh0UkVGQlN6dGhRVU4yUWp0WlFVVkVMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzVTBGQlV5eERRVUZETEZWQlFWVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVOcVJDeERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVktMRmRCUVZjc1EwRkJReXhQUVVGUExFTkJRVVVzUjBGQlJ5eEZRVUZGTzFsQlJYcENMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlJTeFRRVUZUTEVWQlFVY3NSVUZCUlRzN1owSkJSVGxDTEVsQlFVa3NVMEZCVXl4RFFVRkRMRlZCUVZVc1NVRkJTU3hEUVVGRExFVkJRemRDTzI5Q1FVTkRMSGxFUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTXNaVUZCWlN4RFFVRkZMRmRCUVZjc1EwRkJReXhKUVVGSkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVVc1EwRkJRenR2UWtGRGJrVXNaMEpCUVVrc1EwRkJReXhMUVVGTExFVkJRVU1zVTBGQlV5eHRSRUZCU3p0cFFrRkRla0k3WjBKQlJVUXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3hUUVVGVExFTkJRVU1zVlVGQlZTeEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTJwRUxFTkJRVU1zUTBGQlJTeERRVUZETzFGQlEwd3NRMEZCUXl4RFFVRkZMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVTBzVFVGQlRUdFJRVVZhTEVsQlFVa3NTMEZCU3l4SFFVRkhMRU5CUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRPMUZCUTNSRUxFbEJRVWtzVjBGQmNVSXNRMEZCUXp0UlFVTXhRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVTnlRanRaUVVORExGZEJRVmM3WjBKQlExZzdiMEpCUTBNc1NVRkJTU3hGUVVGRkxIVkZRVUZYTEVOQlFVTXNUVUZCVFR0dlFrRkRlRUlzVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUVHRwUWtGRGVrSXNRMEZCUXp0VFFVTkdPMkZCUTBrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNSVUZETlVJN1dVRkRReXhYUVVGWE8yZENRVU5ZTzI5Q1FVTkRMRWxCUVVrc1JVRkJSU3gxUlVGQlZ5eERRVUZETEZGQlFWRTdiMEpCUXpGQ0xFZEJRVWNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFN2FVSkJRM2hDTEVOQlFVTTdVMEZEUmp0UlFVVkVMRWxCUVVrc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF5eERRVUZETEdsRFFVRk5MRmRCUVZjc1MwRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEpRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkZkRVVzVDBGQlR6dFpRVU5PTEc5RVFVRkRMQ3RFUVVGWExFbEJRVU1zV1VGQldTeEZRVUZITEV0QlFVczdaMEpCUXpsQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4SlFVRkpMRzlFUVVGRExIVkVRVUZQTEVsQlFVTXNSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU14UkN4TFFVRkxMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVkQlFVazdaMEpCUXpOQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTlNPMWxCUTJRc2IwUkJRVU1zTkVWQlFXbENMRWxCUVVNc1RVRkJUU3hGUVVGSExGZEJRVmNzUlVGQlJ5eFJRVUZSTEVWQlFVY3NSVUZCUlN4RlFVTjBSQ3hSUVVGUkxFVkJRVWNzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4clFrRkJhMElzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRkxFZEJRVWs3V1VGRE1VVXNiMFJCUVVNc05FVkJRV2xDTEVsQlFVTXNUVUZCVFN4RlFVRkhMRmRCUVZjc1JVRkJSeXhSUVVGUkxFVkJRVWNzUlVGQlJTeEZRVU4wUkN4UlFVRlJMRVZCUVVjc1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSU3hUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkZMRWRCUVVrc1EwRkRlRVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdRMEZEUkR0QlFURkZRVHRKUVVSRExIRkVRVUZKT3pKRFFWRktPMEZCUjBRN1NVRkVReXh4UkVGQlNUc3lRMEUwUWtvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmWjNKaFlsOWlkWFIwYjI0dWRITjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1FYWldiMngxYldVc0lFVldiMngxYldWVWVYQmxMQ0JCZGtOdmJHOXlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ0tpQmhjeUJTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJSMkZrWjJWMElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOW5ZV1JuWlhRbk8xeHlYRzVwYlhCdmNuUWdleUJCWTNScGRtVkpiblJsY21aaFkyVXNJRUYyU1c1MFpYSm1ZV05sUlc1MGFYUjVJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlwYm5SbGNtWmhZMlZmWlc1MGFYUjVKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5iMlJsYkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmJXOWtaV3duTzF4eVhHNXBiWEJ2Y25RZ2V5QlFZVzVsYkZKbGNYVmxjM1FzSUZCaGJtVnNVbVZ4ZFdWemRGUjVjR1VnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDNCaGJtVnNKenRjY2x4dWFXMXdiM0owSUhzZ1FYWlVjbUZ1YzJadmNtMGdmU0JtY205dElDY3VMMkZoY21SMllYSnJYM1J5WVc1elptOXliU2M3WEhKY2JseHlYRzVjY2x4dUx5b3FJRkJ5YjNCeklHWnZjaUI3UUd4cGJtc2dRWFpIY21GaVFuVjBkRzl1ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWR5WVdKQ2RYUjBiMjVRY205d2MxeHlYRzU3WEhKY2JseDBMeW9xSUZSb1pTQnZibFJ5YVdkblpYSWdZMkZzYkdKaFkyc2dhWE1nWTJGc2JHVmtJSGRvWlc0Z2RHaGxJR2R5WVdJZ1luVjBkRzl1SUdseklHZHlZV0ppWldRdUlDb3ZYSEpjYmx4MGIyNURiR2xqYXo4NklDZ3BJRDArSUhadmFXUTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdiMjVVY21sbloyVnlJR05oYkd4aVlXTnJJR2x6SUdOaGJHeGxaQ0IzYUdWdUlIUm9aU0JuY21GaUlHSjFkSFJ2YmlCcGN5Qm5jbUZpWW1Wa0xpQXFMMXh5WEc1Y2RHOXVVbVZzWldGelpUODZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JseHlYRzVjZEM4cUtpQlVhR1VnVlZKSklHOW1JSFJvWlNCSFRGUkdJRzF2WkdWc0lIUnZJSFZ6WlNCbWIzSWdkR2hwY3lCbmNtRmlJR0oxZEhSdmJpNGdSWGhoWTNSc2VTQnZibVZjY2x4dVhIUWdLaUJ2WmlCdGIyUmxiRlZ5YVNCaGJtUWdjbUZrYVhWeklHMTFjM1FnWW1VZ2MzQmxZMmxtYVdWa0xpQkpaaUJ0YjJSbGJGVnlhU0JwY3lCemNHVmphV1pwWldRc1hISmNibHgwSUNvZ2RHaGxJR0p2ZFc1a2FXNW5JR0p2ZUNCdlppQjBhR1VnYlc5a1pXd2dkMmxzYkNCaGJITnZJR0psSUhWelpXUWdZWE1nZEdobElHZHlZV0ppWVdKc1pWeHlYRzVjZENBcUlISmxaMmx2YmlCbWIzSWdkR2hsSUdKMWRIUnZiaTVjY2x4dVhIUWdLaTljY2x4dVhIUnRiMlJsYkZWeWFUODZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQmpiMnh2Y2lCMGJ5QmhjSEJzZVNCMGJ5QjBhR1VnYlc5a1pXd3VYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR052Ykc5eVB6b2djM1J5YVc1bklId2dRWFpEYjJ4dmNqdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQnlZV1JwZFhNZ2IyWWdkR2hsSUhOd2FHVnlaU0IwYUdGMElHUmxabWx1WlhNZ2RHaGxJR2R5WVdKaVlXSnNaU0JvWVc1a2JHVWdabTl5SUhSb2FYTWdYSEpjYmx4MElDb2daM0poWWlCaWRYUjBiMjR1SUVWNFlXTjBiSGtnYjI1bElHOW1JRzF2WkdWc1ZYSnBJR0Z1WkNCeVlXUnBkWE1nYlhWemRDQmlaU0J6Y0dWamFXWnBaV1F1WEhKY2JseDBJQ292WEhKY2JseDBjbUZrYVhWelB6b2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnUjNKaFlrSjFkSFJ2YmxOMFlYUmxYSEpjYm50Y2NseHVYSFJ2ZFhSbGNrTnZkVzUwT2lCdWRXMWlaWEk3WEhKY2JseDBhVzV1WlhKRGIzVnVkRG9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRU0JqYjIxd2IyNWxiblFnZEdoaGRDQnphV2R1WVd4eklIZG9aVzRnYVhRZ2FYTWdaM0poWW1KbFpDNGdLaTljY2x4dVpYaHdiM0owSUdOc1lYTnpJRUYyUjNKaFlrSjFkSFJ2YmlCbGVIUmxibVJ6SUZKbFlXTjBMa052YlhCdmJtVnVkRHdnUjNKaFlrSjFkSFJ2YmxCeWIzQnpMQ0JIY21GaVFuVjBkRzl1VTNSaGRHVWdQbHh5WEc1N1hISmNibHgwWTI5dWMzUnlkV04wYjNJb0lIQnliM0J6T2lCaGJua2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RITjFjR1Z5S0NCd2NtOXdjeUFwTzF4eVhHNWNjbHh1WEhSY2RIUm9hWE11YzNSaGRHVWdQU0JjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYVc1dVpYSkRiM1Z1ZERvZ01Dd2dYSEpjYmx4MFhIUmNkRzkxZEdWeVEyOTFiblE2SURBc1hISmNibHgwWEhSOU8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUM1YwWlhJb0lHRmpkR2wyWlZCdmEyVnlPaUJCWTNScGRtVkpiblJsY21aaFkyVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUNnZ2NISmxkbE4wWVhSbElDa2dQVDRnZXlCeVpYUjFjbTRnZXlCdmRYUmxja052ZFc1ME9pQndjbVYyVTNSaGRHVXViM1YwWlhKRGIzVnVkQ0FySURFZ2ZUc2dmU0FwTzF4eVhHNWNkRngwWVdOMGFYWmxVRzlyWlhJdWIyNUZibVJsWkNnZ0tDa2dQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdocGN5NXpaWFJUZEdGMFpTZ2dLQ0J3Y21WMlUzUmhkR1VnS1NBOVBpQjdJSEpsZEhWeWJpQjdJRzkxZEdWeVEyOTFiblE2SUhCeVpYWlRkR0YwWlM1dmRYUmxja052ZFc1MElDMGdNU0I5T3lCOUlDazdYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrbHVibVZ5S0NCaFkzUnBkbVZRYjJ0bGNqb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbk5sZEZOMFlYUmxLQ0FvSUhCeVpYWlRkR0YwWlNBcElEMCtJRnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ2NISmxkbE4wWVhSbExtbHVibVZ5UTI5MWJuUWdQVDBnTUNBcElGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1elpXNWtTR0Z3ZEdsalJYWmxiblFvSUdGamRHbDJaVkJ2YTJWeUxuQmxaWElzSURBdU55d2dNU3dnTUNBcE8xeHlYRzVjZEZ4MFhISmNibHgwWEhSY2RGeDBkR2hwY3k1d2NtOXdjeTV2YmtOc2FXTnJQeTRvS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRngwY21WMGRYSnVJSHNnYVc1dVpYSkRiM1Z1ZERvZ2NISmxkbE4wWVhSbExtbHVibVZ5UTI5MWJuUWdLeUF4SUgwN0lGeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2NseHVYSFJjZEdGamRHbDJaVkJ2YTJWeUxtOXVSVzVrWldRb0lDZ3BJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JQ2dnY0hKbGRsTjBZWFJsSUNrZ1BUNGdYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhScFppZ2djSEpsZGxOMFlYUmxMbWx1Ym1WeVEyOTFiblFnUFQwZ01TQXBJRnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1YzJWdVpFaGhjSFJwWTBWMlpXNTBLQ0JoWTNScGRtVlFiMnRsY2k1d1pXVnlMQ0F3TGpNc0lERXNJREFnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWNISnZjSE11YjI1U1pXeGxZWE5sUHk0b0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSEpjYmx4MFhIUmNkRngwY21WMGRYSnVJSHNnYVc1dVpYSkRiM1Z1ZERvZ2NISmxkbE4wWVhSbExtbHVibVZ5UTI5MWJuUWdMU0F4SUgwN0lGeHlYRzVjZEZ4MFhIUjlJQ2s3WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCelkyRnNaU0E5SUNnZ2RHaHBjeTV6ZEdGMFpTNXZkWFJsY2tOdmRXNTBJRDRnTUNBcElEOGdNUzR4SURvZ01TNHdPMXh5WEc1Y2RGeDBiR1YwSUc5MWRHVnlWbTlzZFcxbE9pQkJkbFp2YkhWdFpUdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG5KaFpHbDFjeUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEc5MWRHVnlWbTlzZFcxbElEMGdYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1VGNHaGxjbVVzWEhKY2JseDBYSFJjZEZ4MGNtRmthWFZ6T2lCMGFHbHpMbkJ5YjNCekxuSmhaR2wxY3l4Y2NseHVYSFJjZEZ4MGZUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlVnYVdZb0lIUm9hWE11Y0hKdmNITXViVzlrWld4VmNta2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ2ZFhSbGNsWnZiSFZ0WlNBOUlGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZEhsd1pUb2dSVlp2YkhWdFpWUjVjR1V1VFc5a1pXeENiM2dzWEhKY2JseDBYSFJjZEZ4MGRYSnBPaUIwYUdsekxuQnliM0J6TG0xdlpHVnNWWEpwTEZ4eVhHNWNkRngwWEhSOU8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR3hsZENCcGJtNWxjbFp2YkhWdFpTQTlJRzkxZEdWeVZtOXNkVzFsSUQ4Z2V5QXVMaTV2ZFhSbGNsWnZiSFZ0WlN3Z2MyTmhiR1U2SURBdU9DQjlJRG9nYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdQRDVjY2x4dVhIUmNkRngwUEVGMlZISmhibk5tYjNKdElIVnVhV1p2Y20xVFkyRnNaVDE3SUhOallXeGxJSDArWEhKY2JseDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbTF2WkdWc1ZYSnBJQ1ltSUR4QmRrMXZaR1ZzSUhWeWFUMTdJSFJvYVhNdWNISnZjSE11Ylc5a1pXeFZjbWtnZlNCY2NseHVYSFJjZEZ4MFhIUmNkR052Ykc5eVBYc2dkR2hwY3k1d2NtOXdjeTVqYjJ4dmNpQjlMejRnZlZ4eVhHNWNkRngwWEhSY2RIc2dkR2hwY3k1d2NtOXdjeTVqYUdsc1pISmxiaUI5WEhKY2JseDBYSFJjZER3dlFYWlVjbUZ1YzJadmNtMCtYSEpjYmx4MFhIUmNkRHhCZGtsdWRHVnlabUZqWlVWdWRHbDBlU0IyYjJ4MWJXVTlleUJ2ZFhSbGNsWnZiSFZ0WlNCOUlIQnlhVzl5YVhSNVBYc2dNakFnZlZ4eVhHNWNkRngwWEhSY2RISmxZMlZwZG1WelBYc2dXeUI3SUdsbVlXTmxPaUJjSW1GaGNtUjJZWEpyTFhCaGJtVnNRREpjSWl3Z2NISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVQzVjBaWElnZlNCZElIMHZQbHh5WEc1Y2RGeDBYSFE4UVhaSmJuUmxjbVpoWTJWRmJuUnBkSGtnZG05c2RXMWxQWHNnYVc1dVpYSldiMngxYldVZ2ZTQndjbWx2Y21sMGVUMTdJREl4SUgxY2NseHVYSFJjZEZ4MFhIUnlaV05sYVhabGN6MTdJRnNnZXlCcFptRmpaVG9nWENKaFlYSmtkbUZ5YXkxd1lXNWxiRUF5WENJc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrbHVibVZ5SUgwZ1hTQjlMejVjY2x4dVhIUmNkRHd2UGp0Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZ3JhYl9idXR0b24udHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm0udHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2SGVhZEZhY2luZ1RyYW5zZm9ybSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZIZWFkRmFjaW5nVHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdkhlYWRGYWNpbmdUcmFuc2Zvcm07IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Jhc2Vfbm9kZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuXFxyXFxuXFxyXFxuLyoqIFRoZSB0cmFuc2Zvcm0gb2YgdGhpcyBub2RlIGlzIHRoZSB0cmFuc2xhdGlvbiBvZiBpdHMgcGFyZW50LCBubyBzY2FsZSwgYW5kIGEgcm90YXRpb24gdGhhdCBjYXVzZXNcXHJcXG4gKiB0aGUgcG9zaXRpdmUgWiBheGlzIHRvIHBvaW50IGF0IC91c2VyL2hlYWQgYW5kIHRoZSBwb3NpdGl2ZSBZIGF4aXMgdG8gcG9pbnQgZ2VuZXJhbGx5IHVwLlxcclxcbiovXFxyXFxuY2xhc3MgQXZIZWFkRmFjaW5nVHJhbnNmb3JtIGV4dGVuZHMgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdkJhc2VOb2RlXFxcIl0ge1xcclxcbiAgICBidWlsZE5vZGUoKSB7XFxyXFxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZOb2RlVHlwZVxcXCJdLkhlYWRGYWNpbmdUcmFuc2Zvcm0sIHRoaXMubV9ub2RlSWQpO1xcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTlvWldGa1gyWmhZMmx1WjE5MGNtRnVjMlp2Y20wdWRITjRQemN5TUdNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGdFJUdEJRVU5oTzBGQlQyaEdPenRGUVVWRk8wRkJRMHNzVFVGQlRTeHhRa0ZCYzBJc1UwRkJVU3c0UkVGQk5FTTdTVUZGTDBVc1UwRkJVenRSUVVWbUxFbEJRVWtzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeHpSVUZCVlN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1EwRkJRenRSUVVOc1JpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmlMRU5CUVVNN1EwRkRSQ0lzSW1acGJHVWlPaUl1TDNOeVl5OWhZWEprZG1GeWExOW9aV0ZrWDJaaFkybHVaMTkwY21GdWMyWnZjbTB1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUVhaQ1lYTmxUbTlrWlN3Z1FYWkNZWE5sVG05a1pWQnliM0J6SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5aVlYTmxYMjV2WkdVbk8xeHlYRzVwYlhCdmNuUWdleUJCZGs1dlpHVlVlWEJsTENCQmRrTnZiRzl5TENCRmJtUndiMmx1ZEVGa1pISWdmU0JtY205dElDZEFZV0Z5WkhaaGNtdDRjaTloWVhKa2RtRnlheTF6YUdGeVpXUW5PMXh5WEc1Y2NseHVhVzUwWlhKbVlXTmxJRUYyU0dWaFpFWmhZMmx1WjFSeVlXNXpabTl5YlZCeWIzQnpJR1Y0ZEdWdVpITWdRWFpDWVhObFRtOWtaVkJ5YjNCelhISmNibnRjY2x4dWZWeHlYRzVjY2x4dVhISmNiaThxS2lCVWFHVWdkSEpoYm5ObWIzSnRJRzltSUhSb2FYTWdibTlrWlNCcGN5QjBhR1VnZEhKaGJuTnNZWFJwYjI0Z2IyWWdhWFJ6SUhCaGNtVnVkQ3dnYm04Z2MyTmhiR1VzSUdGdVpDQmhJSEp2ZEdGMGFXOXVJSFJvWVhRZ1kyRjFjMlZ6WEhKY2JpQXFJSFJvWlNCd2IzTnBkR2wyWlNCYUlHRjRhWE1nZEc4Z2NHOXBiblFnWVhRZ0wzVnpaWEl2YUdWaFpDQmhibVFnZEdobElIQnZjMmwwYVhabElGa2dZWGhwY3lCMGJ5QndiMmx1ZENCblpXNWxjbUZzYkhrZ2RYQXVYSEpjYmlvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRraGxZV1JHWVdOcGJtZFVjbUZ1YzJadmNtMGdaWGgwWlc1a2N5QkJka0poYzJWT2IyUmxQQ0JCZGtobFlXUkdZV05wYm1kVWNtRnVjMlp2Y20xUWNtOXdjeXdnZTMwZ1BseHlYRzU3WEhKY2JseDBjSFZpYkdsaklHSjFhV3hrVG05a1pTZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzV2WkdVZ1BTQjBhR2x6TG1OeVpXRjBaVTV2WkdWUFltcGxZM1FvSUVGMlRtOWtaVlI1Y0dVdVNHVmhaRVpoWTJsdVoxUnlZVzV6Wm05eWJTd2dkR2hwY3k1dFgyNXZaR1ZKWkNBcE8xeHlYRzVjZEZ4MGNtVjBkWEp1SUc1dlpHVTdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkhpZ2hsaWdodFRyYW5zbWl0dGVyc1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZIaWdobGlnaHRUcmFuc21pdHRlcnM7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfdHJhbnNmb3JtLnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgaXRzIHBhcmVudCB0byByZW5kZXIgYSBwYXJlbnQtc3BlY2lmaWVkIGJpdCBvZiBzY2VuZSBncmFwaCBhdFxcclxcbiAqIHRoZSBsb2NhdGlvbiBvZiBhbnkgc3BlY2lmaWVkIGludGVyZmFjZS4gSXQgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBnYWRnZXQgaW5kaWNhdG9ycyxcXHJcXG4gKiBidXQgY291bGQgYmUgYXBwcm9wcmlhdGUgd2hlbmV2ZXIgYSBnYWRnZXQganVzdCB3YW50cyB0byByZW5kZXIgc29tZSBjb250ZW50IGF0IGFuIGludGVyZmFjZS5cXHJcXG4gKi9cXHJcXG5jbGFzcyBBdkhpZ2hsaWdodFRyYW5zbWl0dGVycyBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IoKSB7XFxyXFxuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVUcmFuc21pdHRlcnMgPSBuZXcgTWFwKCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25UcmFuc21pdHRlcih4bWl0KSB7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZVRyYW5zbWl0dGVycy5zZXQoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKSh4bWl0LnBlZXIpLCB4bWl0KTtcXHJcXG4gICAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcXHJcXG4gICAgICAgIHhtaXQub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVUcmFuc21pdHRlcnMuZGVsZXRlKE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoeG1pdC5wZWVyKSk7XFxyXFxuICAgICAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgbGV0IGhpZ2hsaWdodHMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IHhtaXQgb2YgdGhpcy5hY3RpdmVUcmFuc21pdHRlcnMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICBoaWdobGlnaHRzLnB1c2gocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyBwYXJlbnQ6IHhtaXQucGVlciwga2V5OiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKHhtaXQucGVlcikgfSwgdGhpcy5wcm9wcy5oaWdobGlnaHRDb250ZW50Q2FsbGJhY2soKSkpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJGcmFnbWVudFxcXCJdLCBudWxsLFxcclxcbiAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJBdkludGVyZmFjZUVudGl0eVxcXCJdLCB7IHZvbHVtZTogT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJpbmZpbml0ZVZvbHVtZVxcXCJdKSgpLCByZWNlaXZlczogW3sgaWZhY2U6IHRoaXMucHJvcHMuaW50ZXJmYWNlTmFtZSwgcHJvY2Vzc29yOiB0aGlzLm9uVHJhbnNtaXR0ZXIgfV0gfSksXFxyXFxuICAgICAgICAgICAgaGlnaGxpZ2h0cyk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQuYVxcclxcbl0sIEF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzLnByb3RvdHlwZSwgXFxcIm9uVHJhbnNtaXR0ZXJcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOW9hV2RvYkdsbmFIUmZkSEpoYm5OdGFYUjBaWEp6TG5SemVEODNPVFEySWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3T3p0QlFVRnJRenRCUVVOSU8wRkJRMnRFTzBGQlF6aENPMEZCU1RWRU8wRkJaVzVFT3pzN1IwRkhSenRCUVVOSkxFMUJRVTBzZFVKQlFYZENMRk5CUVZFc0swTkJRVzFFTzBsQlFXaEhPenRSUVVWVExIVkNRVUZyUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVFMFFpeERRVUZETzBsQlowTnNSU3hEUVVGRE8wbEJOMEpSTEdGQlFXRXNRMEZCUlN4SlFVRnhRanRSUVVVelF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUjBGQlJ5eERRVUZGTEhkR1FVRnZRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1VVRkZia0lzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUlN4SFFVRkhMRVZCUVVVN1dVRkZiRUlzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUTBGQlJTeDNSa0ZCYjBJc1EwRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTndSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEY0VJc1EwRkJReXhEUVVGRkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVUXNUVUZCVFR0UlFVVk1MRWxCUVVrc1ZVRkJWU3hIUVVGclFpeEZRVUZGTEVOQlFVTTdVVUZEYmtNc1MwRkJTeXhKUVVGSkxFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlEycEVPMWxCUTBNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlJTeHZSRUZCUXl3clJFRkJWeXhKUVVGRExFMUJRVTBzUlVGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RlFVTXZReXhIUVVGSExFVkJRVWNzZDBaQlFXOUNMRU5CUVVVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlJTeEpRVU53UXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExIZENRVUYzUWl4RlFVRkZMRU5CUXpOQ0xFTkJRVVVzUTBGQlF6dFRRVU5xUWp0UlFVVkVMRTlCUVU4N1dVRkRUaXh2UkVGQlF5dzBSVUZCYVVJc1NVRkJReXhOUVVGTkxFVkJRVWNzYTBaQlFXTXNSVUZCUlN4RlFVRkhMRkZCUVZFc1JVRkRkRVFzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHRkJRV0VzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1JVRkJSU3hEUVVGRkxFZEJRVXM3V1VGRE1VVXNWVUZCVlN4RFFVTldMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wTkJRMFE3UVVFM1FrRTdTVUZFUXl4eFJFRkJTVHMwUkVGWFNpSXNJbVpwYkdVaU9pSXVMM055WXk5aFlYSmtkbUZ5YTE5b2FXZG9iR2xuYUhSZmRISmhibk50YVhSMFpYSnpMblJ6ZUM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlU3dnUVdOMGFYWmxTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlwYm5SbGNtWmhZMlZmWlc1MGFYUjVKenRjY2x4dWFXMXdiM0owSUhzZ1FYWldiMngxYldVc0lFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5MQ0JwYm1acGJtbDBaVlp2YkhWdFpTQjlJR1p5YjIwZ0owQmhZWEprZG1GeWEzaHlMMkZoY21SMllYSnJMWE5vWVhKbFpDYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlFtRnpaVTV2WkdVc0lFRjJRbUZ6WlU1dlpHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlltRnpaVjl1YjJSbEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaT2IyUmxWSGx3WlN3Z1FYWkRiMnh2Y2l3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhRZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRUYyVkhKaGJuTm1iM0p0SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5MGNtRnVjMlp2Y20wbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtobFlXUkdZV05wYm1kVWNtRnVjMlp2Y20wZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyaGxZV1JmWm1GamFXNW5YM1J5WVc1elptOXliU2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJUVzlrWld3Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyMXZaR1ZzSnp0Y2NseHVYSEpjYmk4cUtpQlFjbTl3Y3lCbWIzSWdlMEJzYVc1cklFRjJTR2xuYUd4cFoyaDBWSEpoYm5OdGFYUjBaWEp6ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyU0dsbmFHeHBaMmgwVkhKaGJuTnRhWFIwWlhKelVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR2x6SUdOaGJHeGlZV05ySUhkcGJHd2dZbVVnWTJGc2JHVmtJSFJ2SUhKbGJtUmxjaUIwYUdVZ2FHbG5hR3hwWjJoMElHNXZaR1Z6TGlBcUwxeHlYRzVjZEdocFoyaHNhV2RvZEVOdmJuUmxiblJEWVd4c1ltRmphem9nS0NrZ1BUNGdTbE5ZTGtWc1pXMWxiblE3WEhKY2JseHlYRzVjZEM4cUtpQlVhR1VnYVc1MFpYSm1ZV05sSUhSdklITmpZVzRnWm05eUxpQXFMMXh5WEc1Y2RHbHVkR1Z5Wm1GalpVNWhiV1U2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVhISmNiaThxS2lCVWFHbHpJR052YlhCdmJtVnVkQ0JoYkd4dmQzTWdhWFJ6SUhCaGNtVnVkQ0IwYnlCeVpXNWtaWElnWVNCd1lYSmxiblF0YzNCbFkybG1hV1ZrSUdKcGRDQnZaaUJ6WTJWdVpTQm5jbUZ3YUNCaGRGeHlYRzRnS2lCMGFHVWdiRzlqWVhScGIyNGdiMllnWVc1NUlITndaV05wWm1sbFpDQnBiblJsY21aaFkyVXVJRWwwSUdseklIVnpaV1FnYVc1MFpYSnVZV3hzZVNCbWIzSWdaMkZrWjJWMElHbHVaR2xqWVhSdmNuTXNYSEpjYmlBcUlHSjFkQ0JqYjNWc1pDQmlaU0JoY0hCeWIzQnlhV0YwWlNCM2FHVnVaWFpsY2lCaElHZGhaR2RsZENCcWRYTjBJSGRoYm5SeklIUnZJSEpsYm1SbGNpQnpiMjFsSUdOdmJuUmxiblFnWVhRZ1lXNGdhVzUwWlhKbVlXTmxMbHh5WEc0Z0tpOWNjbHh1Wlhod2IzSjBJR05zWVhOeklFRjJTR2xuYUd4cFoyaDBWSEpoYm5OdGFYUjBaWEp6SUdWNGRHVnVaSE1nVW1WaFkzUXVRMjl0Y0c5dVpXNTBQQ0JCZGtocFoyaHNhV2RvZEZSeVlXNXpiV2wwZEdWeWMxQnliM0J6TENCN2ZTQStYSEpjYm50Y2NseHVYSFJ3Y21sMllYUmxJR0ZqZEdsMlpWUnlZVzV6YldsMGRHVnljeUE5SUc1bGR5Qk5ZWEE4SUhOMGNtbHVaeXdnUVdOMGFYWmxTVzUwWlhKbVlXTmxQaWdwTzF4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNVVjbUZ1YzIxcGRIUmxjaWdnZUcxcGREb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbUZqZEdsMlpWUnlZVzV6YldsMGRHVnljeTV6WlhRb0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0I0YldsMExuQmxaWElnS1N3Z2VHMXBkQ0FwTzF4eVhHNWNkRngwZEdocGN5NW1iM0pqWlZWd1pHRjBaU2dwTzF4eVhHNWNjbHh1WEhSY2RIaHRhWFF1YjI1RmJtUmxaQ2dnS0NrZ1BUNWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1aFkzUnBkbVZVY21GdWMyMXBkSFJsY25NdVpHVnNaWFJsS0NCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5Z2dlRzFwZEM1d1pXVnlJQ2tnS1R0Y2NseHVYSFJjZEZ4MGRHaHBjeTVtYjNKalpWVndaR0YwWlNncE8xeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjbVZ1WkdWeUtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdhR2xuYUd4cFoyaDBjem9nU2xOWUxrVnNaVzFsYm5SYlhTQTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnZUcxcGRDQnZaaUIwYUdsekxtRmpkR2wyWlZSeVlXNXpiV2wwZEdWeWN5NTJZV3gxWlhNb0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2hwWjJoc2FXZG9kSE11Y0hWemFDZ2dQRUYyVkhKaGJuTm1iM0p0SUhCaGNtVnVkRDE3SUhodGFYUXVjR1ZsY2lCOUlGeHlYRzVjZEZ4MFhIUmNkR3RsZVQxN0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0I0YldsMExuQmxaWElnS1NCOUlENWNjbHh1WEhSY2RGeDBYSFJjZEhzZ2RHaHBjeTV3Y205d2N5NW9hV2RvYkdsbmFIUkRiMjUwWlc1MFEyRnNiR0poWTJzb0tTQjlYSEpjYmx4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRHcrWEhKY2JseDBYSFJjZER4QmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVNCMmIyeDFiV1U5ZXlCcGJtWnBibWwwWlZadmJIVnRaU2dwSUgwZ2NtVmpaV2wyWlhNOWV5QmNjbHh1WEhSY2RGeDBYSFJiSUhzZ2FXWmhZMlU2SUhSb2FYTXVjSEp2Y0hNdWFXNTBaWEptWVdObFRtRnRaU3dnY0hKdlkyVnpjMjl5T2lCMGFHbHpMbTl1VkhKaGJuTnRhWFIwWlhJZ2ZTQmRJSDBnTHo1Y2NseHVYSFJjZEZ4MGV5Qm9hV2RvYkdsbmFIUnpJSDFjY2x4dVhIUmNkRHd2UGp0Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfaGlnaGxpZ2h0X3RyYW5zbWl0dGVycy50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEludGVyZmFjZVJvbGUsIEF2SW50ZXJmYWNlRW50aXR5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJJbnRlcmZhY2VSb2xlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBJbnRlcmZhY2VSb2xlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkludGVyZmFjZUVudGl0eVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZJbnRlcmZhY2VFbnRpdHk7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogSW5kaWNhdGVzIHRoZSByb2xlIG9mIHRoaXMge0BsaW5rIEFjdGl2ZUludGVyZmFjZX0gKi9cXHJcXG52YXIgSW50ZXJmYWNlUm9sZTtcXHJcXG4oZnVuY3Rpb24gKEludGVyZmFjZVJvbGUpIHtcXHJcXG4gICAgSW50ZXJmYWNlUm9sZVtJbnRlcmZhY2VSb2xlW1xcXCJJbnZhbGlkXFxcIl0gPSAwXSA9IFxcXCJJbnZhbGlkXFxcIjtcXHJcXG4gICAgSW50ZXJmYWNlUm9sZVtJbnRlcmZhY2VSb2xlW1xcXCJUcmFuc21pdHRlclxcXCJdID0gMV0gPSBcXFwiVHJhbnNtaXR0ZXJcXFwiO1xcclxcbiAgICBJbnRlcmZhY2VSb2xlW0ludGVyZmFjZVJvbGVbXFxcIlJlY2VpdmVyXFxcIl0gPSAyXSA9IFxcXCJSZWNlaXZlclxcXCI7XFxyXFxufSkoSW50ZXJmYWNlUm9sZSB8fCAoSW50ZXJmYWNlUm9sZSA9IHt9KSk7XFxyXFxuO1xcclxcbmNsYXNzIENBY3RpdmVJbnRlcmZhY2Uge1xcclxcbiAgICBjb25zdHJ1Y3RvcihtLCByb2xlKSB7XFxyXFxuICAgICAgICB0aGlzLnRyYW5zbWl0dGVyID0gbS50cmFuc21pdHRlcjtcXHJcXG4gICAgICAgIHRoaXMucmVjZWl2ZXIgPSBtLnJlY2VpdmVyO1xcclxcbiAgICAgICAgdGhpcy5pZmFjZSA9IG0uaWZhY2U7XFxyXFxuICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IG0udHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXI7XFxyXFxuICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gbS5pbnRlcnNlY3Rpb25Qb2ludDtcXHJcXG4gICAgICAgIHRoaXMucm9sZSA9IHJvbGU7XFxyXFxuICAgICAgICB0aGlzLnBhcmFtcyA9IG0ucGFyYW1zO1xcclxcbiAgICAgICAgaWYgKHRoaXMucm9sZSA9PSBJbnRlcmZhY2VSb2xlLlRyYW5zbWl0dGVyKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5wZWVyT3JpZ2luID0gbS5yZWNlaXZlck9yaWdpbjtcXHJcXG4gICAgICAgICAgICB0aGlzLnBlZXJVc2VyQWdlbnQgPSBtLnJlY2VpdmVyVXNlckFnZW50O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5wZWVyT3JpZ2luID0gbS50cmFuc21pdHRlck9yaWdpbjtcXHJcXG4gICAgICAgICAgICB0aGlzLnBlZXJVc2VyQWdlbnQgPSBtLnRyYW5zbWl0dGVyVXNlckFnZW50O1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGxvY2soKSB7XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgW21zZ1Jlc3BvbnNlXSA9IHlpZWxkIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkludGVyZmFjZUxvY2ssIHtcXHJcXG4gICAgICAgICAgICAgICAgdHJhbnNtaXR0ZXI6IHRoaXMudHJhbnNtaXR0ZXIsXFxyXFxuICAgICAgICAgICAgICAgIHJlY2VpdmVyOiB0aGlzLnJlY2VpdmVyLFxcclxcbiAgICAgICAgICAgICAgICBpZmFjZTogdGhpcy5pZmFjZVxcclxcbiAgICAgICAgICAgIH0sIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkludGVyZmFjZUxvY2tSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZShtc2dSZXNwb25zZS5yZXN1bHQpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIHVubG9jaygpIHtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBbbXNnUmVzcG9uc2VdID0geWllbGQgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZE1lc3NhZ2VBbmRXYWl0Rm9yUmVzcG9uc2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlVW5sb2NrLCB7XFxyXFxuICAgICAgICAgICAgICAgIHRyYW5zbWl0dGVyOiB0aGlzLnRyYW5zbWl0dGVyLFxcclxcbiAgICAgICAgICAgICAgICByZWNlaXZlcjogdGhpcy5yZWNlaXZlcixcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IHRoaXMuaWZhY2VcXHJcXG4gICAgICAgICAgICB9LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VVbmxvY2tSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZShtc2dSZXNwb25zZS5yZXN1bHQpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbG9jayhuZXdSZWNlaXZlcikge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgbGV0IFttc2dSZXNwb25zZV0gPSB5aWVsZCBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VSZWxvY2ssIHtcXHJcXG4gICAgICAgICAgICAgICAgdHJhbnNtaXR0ZXI6IHRoaXMudHJhbnNtaXR0ZXIsXFxyXFxuICAgICAgICAgICAgICAgIG9sZFJlY2VpdmVyOiB0aGlzLnJlY2VpdmVyLFxcclxcbiAgICAgICAgICAgICAgICBuZXdSZWNlaXZlcixcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IHRoaXMuaWZhY2VcXHJcXG4gICAgICAgICAgICB9LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VSZWxvY2tSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZShtc2dSZXNwb25zZS5yZXN1bHQpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzZWxmKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMucm9sZSA9PSBJbnRlcmZhY2VSb2xlLlRyYW5zbWl0dGVyID8gdGhpcy50cmFuc21pdHRlciA6IHRoaXMucmVjZWl2ZXI7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHBlZXIoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5yb2xlID09IEludGVyZmFjZVJvbGUuUmVjZWl2ZXIgPyB0aGlzLnRyYW5zbWl0dGVyIDogdGhpcy5yZWNlaXZlcjtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuaWZhY2U7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzZWxmRnJvbVBlZXIoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5yb2xlID09IEludGVyZmFjZVJvbGUuVHJhbnNtaXR0ZXIpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJpbnZlcnROb2RlVHJhbnNmb3JtXFxcIl0pKHRoaXMubGFzdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXR0ZXJJbnRlcnNlY3Rpb25Qb2ludCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50O1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzZWxmSW50ZXJzZWN0aW9uUG9pbnQoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5yb2xlID09IEludGVyZmFjZVJvbGUuVHJhbnNtaXR0ZXIpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0VHJhbnNtaXR0ZXJJbnRlcnNlY3Rpb25Qb2ludDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMubGFzdFRyYW5zbWl0dGVySW50ZXJzZWN0aW9uUG9pbnQpIHtcXHJcXG4gICAgICAgICAgICBsZXQgbWF0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIm5vZGVUcmFuc2Zvcm1Ub01hdDRcXFwiXSkodGhpcy5zZWxmRnJvbVBlZXIpO1xcclxcbiAgICAgICAgICAgIGxldCByZWNlaXZlckludGVyc2VjdGlvblBvaW50ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtYXRNdWx0aXBseVBvaW50XFxcIl0pKG1hdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcInZlY0Zyb21BdlZlY3RvclxcXCJdKSh0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50KSk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwidmVjVG9BdlZlY3RvclxcXCJdKShyZWNlaXZlckludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGdldCBvcmlnaW4oKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5wZWVyT3JpZ2luO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB1c2VyQWdlbnQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5wZWVyVXNlckFnZW50O1xcclxcbiAgICB9XFxyXFxuICAgIHNlbmRFdmVudChldmVudCkge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgbGV0IFttc2dSZXNwb25zZV0gPSB5aWVsZCBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VTZW5kRXZlbnQsIHtcXHJcXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb246IHRoaXMucGVlcixcXHJcXG4gICAgICAgICAgICAgICAgcGVlcjogdGhpcy5zZWxmLFxcclxcbiAgICAgICAgICAgICAgICBpZmFjZTogdGhpcy5pZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgZXZlbnRcXHJcXG4gICAgICAgICAgICB9LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uRW5kZWQoZW5kZWRDYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbmRlZENhbGxiYWNrID0gZW5kZWRDYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICBlbmQodHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIsIGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBpZiAodHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IHRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgKF9hID0gdGhpcy5lbmRlZENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkV2ZW50KGV2ZW50Q2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZXZlbnRDYWxsYmFjayA9IGV2ZW50Q2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgZXZlbnQoZXZlbnQsIGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBpZiAoZGVzdGluYXRpb25Gcm9tUGVlcikge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnJvbGUgPT0gSW50ZXJmYWNlUm9sZS5UcmFuc21pdHRlcikge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IGRlc3RpbmF0aW9uRnJvbVBlZXI7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFRyYW5zbWl0dGVySW50ZXJzZWN0aW9uUG9pbnQgPSBpbnRlcnNlY3Rpb25Qb2ludDtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJpbnZlcnROb2RlVHJhbnNmb3JtXFxcIl0pKGRlc3RpbmF0aW9uRnJvbVBlZXIpO1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJzZWN0aW9uUG9pbnQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXRUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibm9kZVRyYW5zZm9ybVRvTWF0NFxcXCJdKSh0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlcik7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtYXRNdWx0aXBseVBvaW50XFxcIl0pKG1hdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcInZlY0Zyb21BdlZlY3RvclxcXCJdKShpbnRlcnNlY3Rpb25Qb2ludCkpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0VHJhbnNtaXR0ZXJJbnRlcnNlY3Rpb25Qb2ludCA9IG51bGw7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmV2ZW50Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIGV2ZW50KTtcXHJcXG4gICAgfVxcclxcbiAgICBvblRyYW5zZm9ybVVwZGF0ZWQodHJhbnNmb3JtQ2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMudHJhbnNmb3JtQ2FsbGJhY2sgPSB0cmFuc2Zvcm1DYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICB0cmFuc2Zvcm1VcGRhdGVkKGVudGl0eUZyb21QZWVyLCBpbnRlcnNlY3Rpb25Qb2ludCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgaWYgKHRoaXMucm9sZSA9PSBJbnRlcmZhY2VSb2xlLlRyYW5zbWl0dGVyKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5sYXN0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIgPSBlbnRpdHlGcm9tUGVlcjtcXHJcXG4gICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gaW50ZXJzZWN0aW9uUG9pbnQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiaW52ZXJ0Tm9kZVRyYW5zZm9ybVxcXCJdKShlbnRpdHlGcm9tUGVlcik7XFxyXFxuICAgICAgICAgICAgaWYgKGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBtYXRUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibm9kZVRyYW5zZm9ybVRvTWF0NFxcXCJdKSh0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlcik7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFRyYW5zbWl0dGVySW50ZXJzZWN0aW9uUG9pbnQgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIm1hdE11bHRpcGx5UG9pbnRcXFwiXSkobWF0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIsIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwidmVjRnJvbUF2VmVjdG9yXFxcIl0pKGludGVyc2VjdGlvblBvaW50KSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLnRyYW5zZm9ybUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCBlbnRpdHlGcm9tUGVlcik7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLyoqIERlZmluZXMgb25lIHBhcnRpY2lwYW50IGluIHRoZSBpbnRlcmZhY2Ugc3lzdGVtICovXFxyXFxuY2xhc3MgQXZJbnRlcmZhY2VFbnRpdHkgZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlSW50ZXJmYWNlcyA9IFtdO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uSW50ZXJmYWNlRW50aXR5LCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGxldCBuZWVkUHJvY2Vzc29yID0gZmFsc2U7XFxyXFxuICAgICAgICBub2RlLnByb3BUcmFuc21pdHMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVyZmFjZVByb3Agb2YgKF9hID0gdGhpcy5wcm9wcy50cmFuc21pdHMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdKSB7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNtaXRzLnB1c2goaW50ZXJmYWNlUHJvcC5pZmFjZSk7XFxyXFxuICAgICAgICAgICAgbmVlZFByb2Nlc3NvciA9IG5lZWRQcm9jZXNzb3IgfHwgKGludGVyZmFjZVByb3AucHJvY2Vzc29yICE9IG51bGwpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wUmVjZWl2ZXMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVyZmFjZVByb3Agb2YgKF9iID0gdGhpcy5wcm9wcy5yZWNlaXZlcykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogW10pIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BSZWNlaXZlcy5wdXNoKGludGVyZmFjZVByb3AuaWZhY2UpO1xcclxcbiAgICAgICAgICAgIG5lZWRQcm9jZXNzb3IgPSBuZWVkUHJvY2Vzc29yIHx8IChpbnRlcmZhY2VQcm9wLnByb2Nlc3NvciAhPSBudWxsKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvcHMudm9sdW1lKSkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFZvbHVtZXMgPSB0aGlzLnByb3BzLnZvbHVtZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFZvbHVtZXMgPSBbdGhpcy5wcm9wcy52b2x1bWVdO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wUGFyZW50QWRkciA9IHRoaXMucHJvcHMucGFyZW50O1xcclxcbiAgICAgICAgbm9kZS5wcm9wQ29uc3RyYWludCA9IHRoaXMucHJvcHMuY29uc3RyYWludDtcXHJcXG4gICAgICAgIG5vZGUucHJvcFByaW9yaXR5ID0gdGhpcy5wcm9wcy5wcmlvcml0eTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVyZmFjZUxvY2sgb2YgKChfYyA9IHRoaXMucHJvcHMuaW50ZXJmYWNlTG9ja3MpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IFtdKSkge1xcclxcbiAgICAgICAgICAgIGxldCBmb3VuZEl0ID0gZmFsc2U7XFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgdHJhbnNtaXR0ZXIgb2YgKF9kID0gdGhpcy5wcm9wcy50cmFuc21pdHMpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IFtdKSB7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChpbnRlcmZhY2VMb2NrLmlmYWNlID09IHRyYW5zbWl0dGVyLmlmYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3VuZEl0ID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmICghZm91bmRJdCkge1xcclxcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVudGl0eSBpbmNsdWRlZCBhbiBpbml0aWFsIGludGVyZmFjZSAke2ludGVyZmFjZUxvY2suaWZhY2V9IGJ1dCBkb2VzIG5vdCBgXFxyXFxuICAgICAgICAgICAgICAgICAgICArIGB0cmFuc21pdCB0aGF0IGludGVyZmFjZWApO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIG5vZGUucHJvcEludGVyZmFjZUxvY2tzID0gdGhpcy5wcm9wcy5pbnRlcmZhY2VMb2NrcztcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLndhbnRzVHJhbnNmb3Jtcykge1xcclxcbiAgICAgICAgICAgIG5vZGUuZmxhZ3MgfD0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVOb2RlRmxhZ3NcXFwiXS5Ob3RpZnlPblRyYW5zZm9ybUNoYW5nZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChuZWVkUHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2V0SW50ZXJmYWNlRW50aXR5UHJvY2Vzc29yKHRoaXMubV9ub2RlSWQsIHtcXHJcXG4gICAgICAgICAgICAgICAgc3RhcnRlZDogdGhpcy5vbkludGVyZmFjZVN0YXJ0ZWQsXFxyXFxuICAgICAgICAgICAgICAgIGVuZGVkOiB0aGlzLm9uSW50ZXJmYWNlRW5kZWQsXFxyXFxuICAgICAgICAgICAgICAgIGV2ZW50OiB0aGlzLm9uSW50ZXJmYWNlRXZlbnQsXFxyXFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybVVwZGF0ZWQ6IHRoaXMub25UcmFuc2Zvcm1VcGRhdGVkLFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0UHJvY2Vzc29yKHRyYW5zbWl0dGVyLCByZWNlaXZlciwgaWZhY2UpIHtcXHJcXG4gICAgICAgIGlmICh0cmFuc21pdHRlci5lbmRwb2ludElkID09IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLmdldEVuZHBvaW50SWQoKSAmJlxcclxcbiAgICAgICAgICAgIHRoaXMubV9ub2RlSWQgPT0gdHJhbnNtaXR0ZXIubm9kZUlkKSB7XFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgaW50ZXJmYWNlUHJvcCBvZiB0aGlzLnByb3BzLnRyYW5zbWl0cykge1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJmYWNlUHJvcC5pZmFjZSA9PSBpZmFjZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtpbnRlcmZhY2VQcm9wLnByb2Nlc3NvciwgSW50ZXJmYWNlUm9sZS5UcmFuc21pdHRlcl07XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAocmVjZWl2ZXIuZW5kcG9pbnRJZCA9PSBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5nZXRFbmRwb2ludElkKCkgJiZcXHJcXG4gICAgICAgICAgICB0aGlzLm1fbm9kZUlkID09IHJlY2VpdmVyLm5vZGVJZCkge1xcclxcbiAgICAgICAgICAgIGZvciAobGV0IGludGVyZmFjZVByb3Agb2YgdGhpcy5wcm9wcy5yZWNlaXZlcykge1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJmYWNlUHJvcC5pZmFjZSA9PSBpZmFjZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtpbnRlcmZhY2VQcm9wLnByb2Nlc3NvciwgSW50ZXJmYWNlUm9sZS5SZWNlaXZlcl07XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiZ2V0UHJvY2Vzc29yIGNhbGxlZCB3aGVuIHdlIHdlcmVuJ3QgdGhlIHRyYW5zbWl0dGVyIG9yIHJlY2VpdmVyXFxcIik7XFxyXFxuICAgICAgICByZXR1cm4gW251bGwsIEludGVyZmFjZVJvbGUuSW52YWxpZF07XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VTdGFydGVkKG0pIHtcXHJcXG4gICAgICAgIGxldCBbcHJvY2Vzc29yLCByb2xlXSA9IHRoaXMuZ2V0UHJvY2Vzc29yKG0udHJhbnNtaXR0ZXIsIG0ucmVjZWl2ZXIsIG0uaWZhY2UpO1xcclxcbiAgICAgICAgaWYgKHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgIGxldCBuZXdJbnRlcmZhY2UgPSBuZXcgQ0FjdGl2ZUludGVyZmFjZShtLCByb2xlKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUludGVyZmFjZXMucHVzaChuZXdJbnRlcmZhY2UpO1xcclxcbiAgICAgICAgICAgIHByb2Nlc3NvcihuZXdJbnRlcmZhY2UpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGZpbmRBY3RpdmVJbnRlcmZhY2UodHJhbnNtaXR0ZXIsIHJlY2VpdmVyLCBpZmFjZSkge1xcclxcbiAgICAgICAgZm9yIChsZXQgaSBvZiB0aGlzLmFjdGl2ZUludGVyZmFjZXMpIHtcXHJcXG4gICAgICAgICAgICBpZiAoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJzTWF0Y2hcXFwiXSkoaS50cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIpXFxyXFxuICAgICAgICAgICAgICAgICYmIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyc01hdGNoXFxcIl0pKGkucmVjZWl2ZXIsIHJlY2VpdmVyKVxcclxcbiAgICAgICAgICAgICAgICAmJiBpZmFjZSA9PSBpLmlmYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICB9XFxyXFxuICAgIGZpbmRBY3RpdmVJbnRlcmZhY2VCeURlc3QoZGVzdGluYXRpb24sIHBlZXIsIGlmYWNlKSB7XFxyXFxuICAgICAgICBmb3IgKGxldCBpIG9mIHRoaXMuYWN0aXZlSW50ZXJmYWNlcykge1xcclxcbiAgICAgICAgICAgIGlmIChPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkcnNNYXRjaFxcXCJdKShpLnNlbGYsIGRlc3RpbmF0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAmJiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkcnNNYXRjaFxcXCJdKShpLnBlZXIsIHBlZXIpXFxyXFxuICAgICAgICAgICAgICAgICYmIGlmYWNlID09IGkuaWZhY2UpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VFbmRlZCh0cmFuc21pdHRlciwgcmVjZWl2ZXIsIGlmYWNlLCB0cmFuc21pdHRlckZyb21SZWNlaXZlciwgaW50ZXJzZWN0aW9uUG9pbnQpIHtcXHJcXG4gICAgICAgIGxldCBhY3RpdmVJbnRlcmZhY2UgPSB0aGlzLmZpbmRBY3RpdmVJbnRlcmZhY2UodHJhbnNtaXR0ZXIsIHJlY2VpdmVyLCBpZmFjZSk7XFxyXFxuICAgICAgICBpZiAoYWN0aXZlSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgYWN0aXZlSW50ZXJmYWNlLmVuZCh0cmFuc21pdHRlckZyb21SZWNlaXZlciwgaW50ZXJzZWN0aW9uUG9pbnQpO1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSW50ZXJmYWNlcy5zcGxpY2UodGhpcy5hY3RpdmVJbnRlcmZhY2VzLmluZGV4T2YoYWN0aXZlSW50ZXJmYWNlKSwgMSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VFdmVudChkZXN0aW5hdGlvbiwgcGVlciwgaWZhY2UsIGRhdGEsIGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICBsZXQgYWN0aXZlSW50ZXJmYWNlID0gdGhpcy5maW5kQWN0aXZlSW50ZXJmYWNlQnlEZXN0KGRlc3RpbmF0aW9uLCBwZWVyLCBpZmFjZSk7XFxyXFxuICAgICAgICBpZiAoYWN0aXZlSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgYWN0aXZlSW50ZXJmYWNlLmV2ZW50KGRhdGEsIGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBvblRyYW5zZm9ybVVwZGF0ZWQoZGVzdGluYXRpb24sIHBlZXIsIGlmYWNlLCBkZXN0aW5hdGlvbkZyb21QZWVyLCBpbnRlcnNlY3Rpb25Qb2ludCkge1xcclxcbiAgICAgICAgbGV0IGFjdGl2ZUludGVyZmFjZSA9IHRoaXMuZmluZEFjdGl2ZUludGVyZmFjZUJ5RGVzdChkZXN0aW5hdGlvbiwgcGVlciwgaWZhY2UpO1xcclxcbiAgICAgICAgaWYgKGFjdGl2ZUludGVyZmFjZSkge1xcclxcbiAgICAgICAgICAgIGFjdGl2ZUludGVyZmFjZS50cmFuc2Zvcm1VcGRhdGVkKGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZJbnRlcmZhY2VFbnRpdHkucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VTdGFydGVkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2SW50ZXJmYWNlRW50aXR5LnByb3RvdHlwZSwgXFxcIm9uSW50ZXJmYWNlRW5kZWRcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZJbnRlcmZhY2VFbnRpdHkucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VFdmVudFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkludGVyZmFjZUVudGl0eS5wcm90b3R5cGUsIFxcXCJvblRyYW5zZm9ybVVwZGF0ZWRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXBiblJsY21aaFkyVmZaVzUwYVhSNUxuUnplRDgxTnpZeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3pzN08wRkJRWEZuUWp0QlFVTnVaVHRCUVVOcFF6dEJRVU4wUWp0QlFVVTNReXg1UkVGQmVVUTdRVUZEZWtRc1NVRkJXU3hoUVV0WU8wRkJURVFzVjBGQldTeGhRVUZoTzBsQlJYaENMSFZFUVVGUE8wbEJRMUFzSzBSQlFWYzdTVUZEV0N4NVJFRkJVVHRCUVVOVUxFTkJRVU1zUlVGTVZ5eGhRVUZoTEV0QlFXSXNZVUZCWVN4UlFVdDRRanRCUVVGQkxFTkJRVU03UVVFMFJVWXNUVUZCVFN4blFrRkJaMEk3U1VGbGNrSXNXVUZCWVN4RFFVRnpRaXhGUVVGRkxFbEJRVzFDTzFGQlJYWkVMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTnFReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkRNMElzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUjBGQlJ5eERRVUZETEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU03VVVGRE4wUXNTVUZCU1N4RFFVRkRMR2REUVVGblF5eEhRVUZITEVOQlFVTXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF6dFJRVU0xUkN4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU5xUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEZGtJc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEdGQlFXRXNRMEZCUXl4WFFVRlhMRVZCUXpGRE8xbEJRME1zU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRE8xbEJRMjVETEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1EwRkJReXhEUVVGRExHbENRVUZwUWl4RFFVRkRPMU5CUTNwRE8yRkJSVVE3V1VGRFF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRU5CUVVNc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0WlFVTjBReXhKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEVOQlFVTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF6dFRRVU0xUXp0SlFVTkdMRU5CUVVNN1NVRkZUU3hKUVVGSk8xRkJSVllzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCZFVJc1EwRkJUeXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZITEVWQlFVVTdXVUZGYmtVc1NVRkJTU3hEUVVGRkxGZEJRVmNzUTBGQlJTeEhRVUZITEUxQlFVMHNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5dzJRa0ZCTmtJc1EwRkROVVVzZFVWQlFWY3NRMEZCUXl4aFFVRmhMRVZCUTNwQ08yZENRVU5ETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenRuUWtGRE4wSXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUk8yZENRVU4yUWl4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXM3WVVGRFJ5eEZRVU55UWl4MVJVRkJWeXhEUVVGRExIRkNRVUZ4UWl4RFFVRkZMRU5CUVVNN1dVRkRja01zVDBGQlR5eERRVUZGTEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVVN1VVRkRPVUlzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlUwc1RVRkJUVHRSUVVWYUxFOUJRVThzU1VGQlNTeFBRVUZQTEVOQlFYVkNMRU5CUVU4c1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJ5eEZRVUZGTzFsQlJXNUZMRWxCUVVrc1EwRkJSU3hYUVVGWExFTkJRVVVzUjBGQlJ5eE5RVUZOTEhsRVFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zTmtKQlFUWkNMRU5CUXpWRkxIVkZRVUZYTEVOQlFVTXNaVUZCWlN4RlFVTXpRanRuUWtGRFF5eFhRVUZYTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmRCUVZjN1owSkJRemRDTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVVHRuUWtGRGRrSXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTE8yRkJRMHNzUlVGRGRrSXNkVVZCUVZjc1EwRkJReXgxUWtGQmRVSXNRMEZCUlN4RFFVRkRPMWxCUTNaRExFOUJRVThzUTBGQlJTeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkZPMUZCUXpsQ0xFTkJRVU1zUlVGQlJTeERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVk5MRTFCUVUwc1EwRkJSU3hYUVVGNVFqdFJRVVYyUXl4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGMVFpeERRVUZQTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVjc1JVRkJSVHRaUVVWdVJTeEpRVUZKTEVOQlFVVXNWMEZCVnl4RFFVRkZMRWRCUVVjc1RVRkJUU3g1UkVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMRFpDUVVFMlFpeERRVU0xUlN4MVJVRkJWeXhEUVVGRExHVkJRV1VzUlVGRE0wSTdaMEpCUTBNc1YwRkJWeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTzJkQ1FVTTNRaXhYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEZGQlFWRTdaMEpCUXpGQ0xGZEJRVmM3WjBKQlExZ3NTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTE8yRkJRMHNzUlVGRGRrSXNkVVZCUVZjc1EwRkJReXgxUWtGQmRVSXNRMEZCUlN4RFFVRkRPMWxCUTNaRExFOUJRVThzUTBGQlJTeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkZPMUZCUXpsQ0xFTkJRVU1zUlVGQlJTeERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVkVMRWxCUVZjc1NVRkJTVHRSUVVWa0xFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4aFFVRmhMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETzBsQlEyeEdMRU5CUVVNN1NVRkZSQ3hKUVVGWExFbEJRVWs3VVVGRlpDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1lVRkJZU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXp0SlFVTXZSU3hEUVVGRE8wbEJSVVFzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF6dEpRVU51UWl4RFFVRkRPMGxCUlVRc1NVRkJWeXgxUWtGQmRVSTdVVUZGYWtNc1QwRkJUeXhKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVNN1NVRkRla01zUTBGQlF6dEpRVVZFTEVsQlFWY3NXVUZCV1R0UlFVVjBRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NZVUZCWVN4RFFVRkRMRmRCUVZjc1JVRkRNVU03V1VGRFF5eFBRVUZQTEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUTBGQlF6dFRRVU40UXp0aFFVVkVPMWxCUTBNc1QwRkJUeXgxUmtGQmJVSXNRMEZCUlN4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlFVVXNRMEZCUXp0VFFVTXZSRHRKUVVOR0xFTkJRVU03U1VGRlJDeEpRVUZYTERSQ1FVRTBRanRSUVVWMFF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4blEwRkJaME1zUTBGQlF6dEpRVU01UXl4RFFVRkRPMGxCUlVRc1NVRkJWeXh4UWtGQmNVSTdVVUZGTDBJc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEdGQlFXRXNRMEZCUXl4WFFVRlhMRVZCUXpGRE8xbEJRME1zVDBGQlR5eEpRVUZKTEVOQlFVTXNaME5CUVdkRExFTkJRVU03VTBGRE4wTTdZVUZEU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhuUTBGQlowTXNSVUZET1VNN1dVRkRReXhKUVVGSkxEQkNRVUV3UWl4SFFVRkhMSFZHUVVGdFFpeERRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVVc1EwRkJRenRaUVVNeFJTeEpRVUZKTEhsQ1FVRjVRaXhIUVVGSExHOUdRVUZuUWl4RFFVRkZMREJDUVVFd1FpeEZRVU16UlN4dFJrRkJaU3hEUVVGRkxFbEJRVWtzUTBGQlF5eG5RMEZCWjBNc1EwRkJSU3hEUVVGRkxFTkJRVU03V1VGRE5VUXNUMEZCVHl4cFJrRkJZU3hEUVVGRkxIbENRVUY1UWl4RFFVRkZMRU5CUVVNN1UwRkRiRVE3WVVGRlJEdFpRVU5ETEU5QlFVOHNTVUZCU1N4RFFVRkRPMU5CUTFvN1NVRkRSaXhEUVVGRE8wbEJSVVFzU1VGQlZ5eE5RVUZOTzFGQlJXaENMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU40UWl4RFFVRkRPMGxCUlVRc1NVRkJWeXhUUVVGVE8xRkJSVzVDTEU5QlFVOHNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRKUVVNelFpeERRVUZETzBsQlIwUXNVMEZCVXl4RFFVRkZMRXRCUVdFN1VVRkZka0lzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCVVN4RFFVRlBMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVWNzUlVGQlJUdFpRVVZ3UkN4SlFVRkpMRU5CUVVVc1YwRkJWeXhEUVVGRkxFZEJRVWNzVFVGQlRTeDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExEWkNRVUUyUWl4RFFVTTFSU3gxUlVGQlZ5eERRVUZETEd0Q1FVRnJRaXhGUVVNNVFqdG5Ra0ZEUXl4WFFVRlhMRVZCUVVVc1NVRkJTU3hEUVVGRExFbEJRVWs3WjBKQlEzUkNMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNUdG5Ra0ZEWml4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXM3WjBKQlEycENMRXRCUVVzN1lVRkRiMElzUlVGRE1VSXNkVVZCUVZjc1EwRkJReXd3UWtGQk1FSXNRMEZCUlN4RFFVRkRPMWxCUXpGRExFOUJRVThzUlVGQlJTeERRVUZETzFGQlExZ3NRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVVFzVDBGQlR5eERRVUZGTEdGQlFYZENPMUZCUldoRExFbEJRVWtzUTBGQlF5eGhRVUZoTEVkQlFVY3NZVUZCWVN4RFFVRkRPMGxCUTNCRExFTkJRVU03U1VGRlJDeEhRVUZITEVOQlFVVXNkVUpCUVhsRExFVkJRVVVzYVVKQlFUSkNPenRSUVVVeFJTeEpRVUZKTEhWQ1FVRjFRaXhGUVVNelFqdFpRVU5ETEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUjBGQlJ5eDFRa0ZCZFVJc1EwRkJRenRUUVVNelJEdFJRVU5FTEZWQlFVa3NRMEZCUXl4aFFVRmhMQ3REUVVGc1FpeEpRVUZKTEVWQlFXMUNPMGxCUTNoQ0xFTkJRVU03U1VGRlJDeFBRVUZQTEVOQlFVVXNZVUZCZFVNN1VVRkZMME1zU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4aFFVRmhMRU5CUVVNN1NVRkRjRU1zUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUlN4TFFVRmhMRVZCUVVVc2JVSkJRVzlETEVWQlFVVXNhVUpCUVRKQ096dFJRVVYwUml4SlFVRkpMRzFDUVVGdFFpeEZRVU4yUWp0WlFVTkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeGhRVUZoTEVOQlFVTXNWMEZCVnl4RlFVTXhRenRuUWtGRFF5eEpRVUZKTEVOQlFVTXNNa0pCUVRKQ0xFZEJRVWNzYlVKQlFXMUNMRU5CUVVNN1owSkJRM1pFTEVsQlFVa3NRMEZCUXl4blEwRkJaME1zUjBGQlJ5eHBRa0ZCYVVJc1EwRkJRenRoUVVNeFJEdHBRa0ZGUkR0blFrRkRReXhKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRWRCUVVjc2RVWkJRVzFDTEVOQlFVVXNiVUpCUVcxQ0xFTkJRVVVzUTBGQlF6dG5Ra0ZGT1VVc1NVRkJTU3hwUWtGQmFVSXNSVUZEY2tJN2IwSkJRME1zU1VGQlNTd3dRa0ZCTUVJc1IwRkJSeXgxUmtGQmJVSXNRMEZCUlN4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlFVVXNRMEZCUXp0dlFrRkRla1lzU1VGQlNTeERRVUZETEdkRFFVRm5ReXhIUVVGSExHOUdRVUZuUWl4RFFVRkZMREJDUVVFd1FpeEZRVU51Uml4dFJrRkJaU3hEUVVGRkxHbENRVUZwUWl4RFFVRkZMRU5CUVVVc1EwRkJRenRwUWtGRGVFTTdjVUpCUlVRN2IwSkJRME1zU1VGQlNTeERRVUZETEdkRFFVRm5ReXhIUVVGSExFbEJRVWtzUTBGQlF6dHBRa0ZETjBNN1lVRkRSRHRUUVVORU8xRkJSVVFzVlVGQlNTeERRVUZETEdGQlFXRXNLME5CUVd4Q0xFbEJRVWtzUlVGQmEwSXNTMEZCU3l4RlFVRkhPMGxCUXk5Q0xFTkJRVU03U1VGRlJDeHJRa0ZCYTBJc1EwRkJSU3hwUWtGQk5rUTdVVUZGYUVZc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMR2xDUVVGcFFpeERRVUZETzBsQlF6VkRMRU5CUVVNN1NVRkZSQ3huUWtGQlowSXNRMEZCUlN4alFVRXJRaXhGUVVGRkxHbENRVUV5UWpzN1VVRkZOMFVzU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMR0ZCUVdFc1EwRkJReXhYUVVGWExFVkJRekZETzFsQlEwTXNTVUZCU1N4RFFVRkRMREpDUVVFeVFpeEhRVUZITEdOQlFXTXNRMEZCUXp0WlFVTnNSQ3hKUVVGSkxFTkJRVU1zWjBOQlFXZERMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTTdVMEZETVVRN1lVRkZSRHRaUVVORExFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1IwRkJSeXgxUmtGQmJVSXNRMEZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRaUVVWNlJTeEpRVUZKTEdsQ1FVRnBRaXhGUVVOeVFqdG5Ra0ZEUXl4SlFVRkpMREJDUVVFd1FpeEhRVUZITEhWR1FVRnRRaXhEUVVGRkxFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1EwRkJSU3hEUVVGRE8yZENRVU42Uml4SlFVRkpMRU5CUVVNc1owTkJRV2RETEVkQlFVY3NiMFpCUVdkQ0xFTkJRVVVzTUVKQlFUQkNMRVZCUTI1R0xHMUdRVUZsTEVOQlFVVXNhVUpCUVdsQ0xFTkJRVVVzUTBGQlJTeERRVUZETzJGQlEzaERPMmxDUVVWRU8yZENRVU5ETEVsQlFVa3NRMEZCUXl4blEwRkJaME1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdZVUZETjBNN1UwRkRSRHRSUVVORUxGVkJRVWtzUTBGQlF5eHBRa0ZCYVVJc0swTkJRWFJDTEVsQlFVa3NSVUZCYzBJc1kwRkJZeXhGUVVGSE8wbEJRelZETEVOQlFVTTdRMEZEUkR0QlFUaEdSQ3h6UkVGQmMwUTdRVUZETDBNc1RVRkJUU3hwUWtGQmEwSXNVMEZCVVN3NFJFRkJkME03U1VGQkwwVTdPMUZCUlZNc2NVSkJRV2RDTEVkQlFYVkNMRVZCUVVVc1EwRkJRenRKUVc5TWJrUXNRMEZCUXp0SlFXeE1RU3hqUVVGak8wbEJRMUFzVTBGQlV6czdVVUZGWml4SlFVRkpMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVVc2MwVkJRVlVzUTBGQlF5eGxRVUZsTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hEUVVGRE8xRkJSVGxGTEVsQlFVa3NZVUZCWVN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVVeFFpeEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVONFFpeExRVUZMTEVsQlFVa3NZVUZCWVN4VlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eHRRMEZCU1N4RlFVRkZMRVZCUTNCRU8xbEJRME1zU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVVc1lVRkJZU3hEUVVGRExFdEJRVXNzUTBGQlJTeERRVUZETzFsQlF5OURMR0ZCUVdFc1IwRkJSeXhoUVVGaExFbEJRVWtzUTBGQlJTeGhRVUZoTEVOQlFVTXNVMEZCVXl4SlFVRkpMRWxCUVVrc1EwRkJSU3hEUVVGRE8xTkJRM0pGTzFGQlJVUXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRGRrSXNTMEZCU3l4SlFVRkpMR0ZCUVdFc1ZVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNiVU5CUVVrc1JVRkJSU3hGUVVOdVJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRkxHRkJRV0VzUTBGQlF5eExRVUZMTEVOQlFVVXNRMEZCUXp0WlFVTTVReXhoUVVGaExFZEJRVWNzWVVGQllTeEpRVUZKTEVOQlFVVXNZVUZCWVN4RFFVRkRMRk5CUVZNc1NVRkJTU3hKUVVGSkxFTkJRVVVzUTBGQlF6dFRRVU55UlR0UlFVVkVMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJSU3hGUVVOMFF6dFpRVU5ETEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTTdVMEZEY2tNN1lVRkZSRHRaUVVORExFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NRMEZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzFOQlEzcERPMUZCUTBRc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVONFF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETzFGQlF6VkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkZlRU1zUzBGQlN5eEpRVUZKTEdGQlFXRXNTVUZCU1N4UFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zWTBGQll5eHRRMEZCU1N4RlFVRkZMRU5CUVVVc1JVRkROMFE3V1VGRFF5eEpRVUZKTEU5QlFVOHNSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRjRUlzUzBGQlN5eEpRVUZKTEZkQlFWY3NWVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zYlVOQlFVa3NSVUZCUlN4RlFVTnNSRHRuUWtGRFF5eEpRVUZKTEdGQlFXRXNRMEZCUXl4TFFVRkxMRWxCUVVrc1YwRkJWeXhEUVVGRExFdEJRVXNzUlVGRE5VTTdiMEpCUTBNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF6dHZRa0ZEWml4TlFVRk5PMmxDUVVOT08yRkJRMFE3V1VGRFJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVTmFPMmRDUVVORExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVVXNkME5CUVhsRExHRkJRV0VzUTBGQlF5eExRVUZOTEdkQ1FVRm5RanR6UWtGRE0wWXNlVUpCUVhsQ0xFTkJRVVVzUTBGQlF6dGhRVU12UWp0VFFVTkVPMUZCUTBRc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zWTBGQll5eERRVUZETzFGQlJYQkVMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGxRVUZsTEVWQlF6bENPMWxCUTBNc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeHpSVUZCVlN4RFFVRkRMSFZDUVVGMVFpeERRVUZETzFOQlEycEVPMUZCUlVRc1NVRkJTU3hoUVVGaExFVkJRMnBDTzFsQlEwTXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5d3lRa0ZCTWtJc1EwRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVU0zUkR0blFrRkRReXhQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEd0Q1FVRnJRanRuUWtGRGFFTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhuUWtGQlowSTdaMEpCUXpWQ0xFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ08yZENRVU0xUWl4blFrRkJaMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q08yRkJRM3BETEVOQlFVVXNRMEZCUXp0VFFVTk1PMUZCUlVRc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVOHNXVUZCV1N4RFFVRkZMRmRCUVhsQ0xFVkJRVVVzVVVGQmMwSXNSVUZCUlN4TFFVRmhPMUZCUjNKR0xFbEJRVWtzVjBGQlZ5eERRVUZETEZWQlFWVXNTVUZCU1N4NVJFRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEdGQlFXRXNSVUZCUlR0WlFVTm9SU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEpRVUZKTEZkQlFWY3NRMEZCUXl4TlFVRk5MRVZCUTNCRE8xbEJRME1zUzBGQlN5eEpRVUZKTEdGQlFXRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUlVGRE9VTTdaMEpCUTBNc1NVRkJTU3hoUVVGaExFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVc3NSVUZEYUVNN2IwSkJRME1zVDBGQlR5eERRVUZGTEdGQlFXRXNRMEZCUXl4VFFVRlRMRVZCUVVVc1lVRkJZU3hEUVVGRExGZEJRVmNzUTBGQlJTeERRVUZETzJsQ1FVTTVSRHRoUVVORU8xTkJRMFE3VVVGRlJDeEpRVUZKTEZGQlFWRXNRMEZCUXl4VlFVRlZMRWxCUVVrc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4aFFVRmhMRVZCUVVVN1dVRkROMFFzU1VGQlNTeERRVUZETEZGQlFWRXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hGUVVOcVF6dFpRVU5ETEV0QlFVc3NTVUZCU1N4aFFVRmhMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlF6ZERPMmRDUVVORExFbEJRVWtzWVVGQllTeERRVUZETEV0QlFVc3NTVUZCU1N4TFFVRkxMRVZCUTJoRE8yOUNRVU5ETEU5QlFVOHNRMEZCUlN4aFFVRmhMRU5CUVVNc1UwRkJVeXhGUVVGRkxHRkJRV0VzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUXp0cFFrRkRNMFE3WVVGRFJEdFRRVU5FTzFGQlJVUXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3hwUlVGQmFVVXNRMEZCUlN4RFFVRkRPMUZCUTJwR0xFOUJRVThzUTBGQlJTeEpRVUZKTEVWQlFVVXNZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8wbEJRM2hETEVOQlFVTTdTVUZIVHl4clFrRkJhMElzUTBGQlJTeERRVUZ6UWp0UlFVVnFSQ3hKUVVGSkxFTkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVVVzUTBGQlF5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVVXNRMEZCUXp0UlFVTnNSaXhKUVVGSkxGTkJRVk1zUlVGRFlqdFpRVU5ETEVsQlFVa3NXVUZCV1N4SFFVRkhMRWxCUVVrc1owSkJRV2RDTEVOQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xbEJRMjVFTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVNN1dVRkRNME1zVTBGQlV5eERRVUZGTEZsQlFWa3NRMEZCUlN4RFFVRkRPMU5CUXpGQ08wbEJRMFlzUTBGQlF6dEpRVVZQTEcxQ1FVRnRRaXhEUVVGRExGZEJRWGxDTEVWQlFVVXNVVUZCYzBJc1JVRkJSU3hMUVVGaE8xRkJSVE5HTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTnVRenRaUVVORExFbEJRVWtzYzBaQlFXdENMRU5CUVVVc1EwRkJReXhEUVVGRExGZEJRVmNzUlVGQlJTeFhRVUZYTEVOQlFVVTdiVUpCUTJoRUxITkdRVUZyUWl4RFFVRkZMRU5CUVVNc1EwRkJReXhSUVVGUkxFVkJRVVVzVVVGQlVTeERRVUZGTzIxQ1FVTXhReXhMUVVGTExFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZEY0VJN1owSkJRME1zVDBGQlR5eERRVUZETEVOQlFVTTdZVUZEVkR0VFFVTkVPMUZCUlVRc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVOHNlVUpCUVhsQ0xFTkJRVVVzVjBGQmVVSXNSVUZCUlN4SlFVRnJRaXhGUVVGRkxFdEJRV0U3VVVGRk9VWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUTI1RE8xbEJRME1zU1VGQlNTeHpSa0ZCYTBJc1EwRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEZkQlFWY3NRMEZCUlR0dFFrRkRla01zYzBaQlFXdENMRU5CUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVVTdiVUpCUTJ4RExFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4RlFVTndRanRuUWtGRFF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0aFFVTlVPMU5CUTBRN1VVRkZSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5pTEVOQlFVTTdTVUZIVHl4blFrRkJaMElzUTBGQlJTeFhRVUY1UWl4RlFVRkZMRkZCUVhOQ0xFVkJRVVVzUzBGQllTeEZRVU42Uml4MVFrRkJkME1zUlVGQlJTeHBRa0ZCTkVJN1VVRkZkRVVzU1VGQlNTeGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZETEZkQlFWY3NSVUZCUlN4UlFVRlJMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE4wVXNTVUZCU1N4bFFVRmxMRVZCUTI1Q08xbEJRME1zWlVGQlpTeERRVUZETEVkQlFVY3NRMEZCUlN4MVFrRkJkVUlzUlVGQlJTeHBRa0ZCYVVJc1EwRkJSU3hEUVVGRE8xbEJSV3hGTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVVXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEU5QlFVOHNRMEZCUlN4bFFVRmxMRU5CUVVVc1JVRkJSU3hEUVVGRExFTkJRVVVzUTBGQlF6dFRRVU53Ump0SlFVTkdMRU5CUVVNN1NVRkhUeXhuUWtGQlowSXNRMEZCUlN4WFFVRjVRaXhGUVVGRkxFbEJRV3RDTEVWQlFVVXNTMEZCWVN4RlFVRkZMRWxCUVZrc1JVRkRia2NzYlVKQlFXOURMRVZCUVVVc2FVSkJRVFJDTzFGQlJXeEZMRWxCUVVrc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJReXhYUVVGWExFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUXk5RkxFbEJRVWtzWlVGQlpTeEZRVU51UWp0WlFVTkRMR1ZCUVdVc1EwRkJReXhMUVVGTExFTkJRVVVzU1VGQlNTeEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxHbENRVUZwUWl4RFFVRkZMRU5CUVVNN1UwRkRkRVU3U1VGRFJpeERRVUZETzBsQlIwOHNhMEpCUVd0Q0xFTkJRVVVzVjBGQmVVSXNSVUZCUlN4SlFVRnJRaXhGUVVGRkxFdEJRV0VzUlVGRGRrWXNiVUpCUVc5RExFVkJRVVVzYVVKQlFUUkNPMUZCUld4RkxFbEJRVWtzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXl4NVFrRkJlVUlzUTBGQlF5eFhRVUZYTEVWQlFVVXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJReTlGTEVsQlFVa3NaVUZCWlN4RlFVTnVRanRaUVVORExHVkJRV1VzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJSU3h0UWtGQmJVSXNSVUZCUlN4cFFrRkJhVUlzUTBGQlJTeERRVUZETzFOQlF6TkZPMGxCUTBZc1EwRkJRenREUVVORU8wRkJNMFZCTzBsQlJFTXNjVVJCUVVrN01rUkJWVW83UVVGcFEwUTdTVUZFUXl4eFJFRkJTVHQ1UkVGWFNqdEJRVWRFTzBsQlJFTXNjVVJCUVVrN2VVUkJVMG83UVVGSFJEdEpRVVJETEhGRVFVRkpPekpFUVZOS0lpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDJsdWRHVnlabUZqWlY5bGJuUnBkSGt1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUVhaT2IyUmxWSEpoYm5ObWIzSnRMQ0JCZGs1dlpHVlVlWEJsTENCQmRsWnZiSFZ0WlN3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JsYm1Sd2IybHVkRUZrWkhKelRXRjBZMmdzSUVWT2IyUmxSbXhoWjNNc0lFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJMQ0JKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwTENCcGJuWmxjblJPYjJSbFZISmhibk5tYjNKdExDQk5aWE56WVdkbFZIbHdaU3dnVFhOblNXNTBaWEptWVdObFRHOWpheXdnVFhOblNXNTBaWEptWVdObFRHOWphMUpsYzNCdmJuTmxMQ0JOYzJkSmJuUmxjbVpoWTJWU1pXeHZZMnNzSUUxelowbHVkR1Z5Wm1GalpWSmxiRzlqYTFKbGMzQnZibk5sTENCTmMyZEpiblJsY21aaFkyVlRaVzVrUlhabGJuUXNJRTF6WjBsdWRHVnlabUZqWlZObGJtUkZkbVZ1ZEZKbGMzQnZibk5sTENCTmMyZEpiblJsY21aaFkyVlZibXh2WTJzc0lFMXpaMGx1ZEdWeVptRmpaVlZ1Ykc5amExSmxjM0J2Ym5ObExDQkJka052Ym5OMGNtRnBiblFzSUVGMlZtVmpkRzl5TENCdFlYUk5kV3gwYVhCc2VWQnZhVzUwTENCdWIyUmxWSEpoYm5ObWIzSnRWRzlOWVhRMExDQjJaV05HY205dFFYWldaV04wYjNJc0lIWmxZMVJ2UVhaV1pXTjBiM0lzSUUxelowbHVkR1Z5Wm1GalpWTjBZWEowWldRZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdZbWx1WkNCbWNtOXRJQ2RpYVc1a0xXUmxZMjl5WVhSdmNpYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlFtRnpaVTV2WkdVc0lFRjJRbUZ6WlU1dlpHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlltRnpaVjl1YjJSbEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JseHlYRzR2S2lvZ1NXNWthV05oZEdWeklIUm9aU0J5YjJ4bElHOW1JSFJvYVhNZ2UwQnNhVzVySUVGamRHbDJaVWx1ZEdWeVptRmpaWDBnS2k5Y2NseHVaWGh3YjNKMElHVnVkVzBnU1c1MFpYSm1ZV05sVW05c1pWeHlYRzU3WEhKY2JseDBTVzUyWVd4cFpDeGNjbHh1WEhSVWNtRnVjMjFwZEhSbGNpeGNjbHh1WEhSU1pXTmxhWFpsY2l4Y2NseHVmVHRjY2x4dVhISmNiaThxS2lCU1pYQnlaWE5sYm5SeklHRnVJR0ZqZEdsMlpTQnBiblJsY21aaFkyVWdkMmwwYUNCaGJtOTBhR1Z5SUc1dlpHVWdhVzRnZEdocGN5QmNjbHh1SUNvZ2IzSWdZVzV2ZEdobGNpQm5ZV1JuWlhSY2NseHVJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FXTjBhWFpsU1c1MFpYSm1ZV05sWEhKY2JudGNjbHh1WEhRdktpb2dWR2hsSUd4dlkyRnNJSHRBYkdsdWF5QkJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVYMGdibTlrWlNkeklHVnVaSEJ2YVc1MElHRmtaSEpsYzNNZ0tpOWNjbHh1WEhSeVpXRmtiMjVzZVNCelpXeG1PaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2NtVnRiM1JsSUh0QWJHbHVheUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlWDBnYm05a1pTZHpJR1Z1WkhCdmFXNTBJR0ZrWkhKbGMzTWdLaTljY2x4dVhIUnlaV0ZrYjI1c2VTQndaV1Z5T2lCRmJtUndiMmx1ZEVGa1pISTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdibUZ0WlNCdlppQjBhR1VnYVc1MFpYSm1ZV05sSUhSb1lYUWdkSEpwWjJkbGNtVmtJSFJvYVhNZ1lXTjBhWFpsSUdsdWRHVnlabUZqWlNBcUwxeHlYRzVjZEhKbFlXUnZibXg1SUdsdWRHVnlabUZqWlRvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dTVzVrYVdOaGRHVnpJSGRvWlhSb1pYSWdkR2hwY3lCcGN5QjBhR1VnZEhKaGJuTnRhWFFnYjNJZ2NtVmpaV2wyWlNCbGJtUWdiMllnZEdobElHbHVkR1Z5Wm1GalpTQXFMMXh5WEc1Y2RISmxZV1J2Ym14NUlISnZiR1U2SUVsdWRHVnlabUZqWlZKdmJHVTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkSEpoYm5ObWIzSnRJR1p5YjIwZ2RHaGxJSEpsWTJWcGRtVnlKM01nYzNCaFkyVWdkRzhnZEdobElIUnlZVzV6YldsMGRHVnlKM01nYzNCaFkyVWdLaTljY2x4dVhIUnlaV0ZrYjI1c2VTQjBjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2pvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhSeVlXNXpabTl5YlNCbWNtOXRJSFJvWlNCeVpXMXZkR1VnYm05a1pTZHpJSE53WVdObElIUnZJSFJvWlNCc2IyTmhiQ0J1YjJSbEozTWdjM0JoWTJVZ0tpOWNjbHh1WEhSeVpXRmtiMjVzZVNCelpXeG1Sbkp2YlZCbFpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQnBiblJsY25ObFkzUnBiMjRnY0c5cGJuUWdhVzRnZEdobElIUnlZVzV6YldsMGRHVnlKM01nYzNCaFkyVWdLaTljY2x4dVhIUnlaV0ZrYjI1c2VTQjBjbUZ1YzIxcGRIUmxja2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBPaUJCZGxabFkzUnZjanRjY2x4dVhISmNibHgwTHlvcUlGUm9aU0JwYm5SbGNuTmxZM1JwYjI0Z2NHOXBiblFnYVc0Z2RHaGxJR3h2WTJGc0lHNXZaR1VuY3lCemNHRmpaU0FxTDF4eVhHNWNkSEpsWVdSdmJteDVJSE5sYkdaSmJuUmxjbk5sWTNScGIyNVFiMmx1ZERvZ1FYWldaV04wYjNJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2NHRnlZVzF6SUc5aWFtVmpkQ3dnYVdZZ1lXNTVMQ0IwYUdGMElIZGhjeUJ3Y205MmFXUmxaQ0IzYUdWdUlIUm9hWE1nYVc1MFpYSm1ZV05sSUhkaGN5QnpkR0Z5ZEdWa0lDb3ZYSEpjYmx4MGNtVmhaRzl1YkhrZ2NHRnlZVzF6T2lCdlltcGxZM1E3WEhKY2JseHlYRzVjZEM4cUtpQk1iMk5yY3lCMGFHVWdhVzUwWlhKbVlXTmxJSE52SUcxdmRtbHVaeUIwYUdVZ2RIZHZJRzV2WkdWeklHRndZWEowSUhkcGJHd2dibTkwSUdOaGRYTmxJR2wwSUhSdklHVnVaQzRnS2k5Y2NseHVYSFJzYjJOcktDazZVSEp2YldselpUeEpiblJsY21aaFkyVk1iMk5yVW1WemRXeDBQanRjY2x4dVhISmNibHgwTHlvcUlGVnViRzlqYTNNZ2RHaGxJR2x1ZEdWeVptRmpaU0J6YnlCcGRDQmpZVzRnWW1VZ2RYQmtZWFJsWkNCMGJ5Qm9hV2RvWlhJZ2NISnBiM0pwZEhrZ1kyOXNiR2x6YVc5dWN5QnZjbHh5WEc1Y2RDQXFJR1Z1WkNCcFppQjBhR1VnYm05a1pYTWdiVzkyWlNCaGNHRnlkQzVjY2x4dVhIUWdLaTljY2x4dVhIUjFibXh2WTJzb0tUcFFjbTl0YVhObFBFbHVkR1Z5Wm1GalpVeHZZMnRTWlhOMWJIUStPMXh5WEc1Y2NseHVYSFF2S2lvZ1FYUnZiV2xqWVd4c2VTQjFibXh2WTJzZ2RHaGxJR2x1ZEdWeVptRmpaU0JtY205dElHOXVaU0J5WldObGFYWmxjaUJoYm1RZ2JHOWpheUJwZENCMGJ5QmhibTkwYUdWeUlDb3ZYSEpjYmx4MGNtVnNiMk5yS0NCdVpYZFNaV05sYVhabGNqb2dSVzVrY0c5cGJuUkJaR1J5SUNrNlVISnZiV2x6WlR4SmJuUmxjbVpoWTJWTWIyTnJVbVZ6ZFd4MFBqdGNjbHh1WEhKY2JseDBMeW9xSUZObGJtUWdZVzRnWlhabGJuUWdiMkpxWldOMElIUnZJSFJvWlNCeVpXMXZkR1VnWlc1a0xpQlVhR1VnYVc1MFpYSm1ZV05sSUc1aGJXVWdjMmh2ZFd4a0lHUmxabWx1WlZ4eVhHNWNkQ0FxSUhSb1pTQm1iM0p0WVhRZ2IyWWdkR2hsYzJVZ2IySnFaV04wY3k1Y2NseHVYSFFnS2k5Y2NseHVYSFJ6Wlc1a1JYWmxiblFvSUdWMlpXNTBPaUJ2WW1wbFkzUWdLVHBRY205dGFYTmxQSFp2YVdRK08xeHlYRzVjY2x4dVhIUXZLaW9nUVd4c2IzZHpJSFJvWlNCc2IyTmhiQ0J1YjJSbElIUnZJSEJ5YjNacFpHVWdZU0JqWVd4c1ltRmpheUIwYUdGMElIZHBiR3dnWW1VZ2FXNTJiMnRsWkNCM2FHVnVJSFJvWlNCY2NseHVYSFFnS2lCcGJuUmxjbVpoWTJVZ1pXNWtjeTRnUm05eUlHeHZZMnRsWkNCcGJuUmxjbVpoWTJWekxDQjBhR2x6SUhkcGJHd2dZbVVnWTJGc2JHVmtJR2xtSUhSb1pTQnlaVzF2ZEdVZ1pXNWtYSEpjYmx4MElDb2daMjlsY3lCaGQyRjVMbHh5WEc1Y2RDQXFMMXh5WEc1Y2RHOXVSVzVrWldRb0lHVnVaR1ZrUTJGc2JHSmhZMnM2S0NrZ1BUNGdkbTlwWkNBcE9pQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dRV3hzYjNkeklIUm9aU0JzYjJOaGJDQnViMlJsSUhSdklIQnliM1pwWkdVZ1lTQmpZV3hzWW1GamF5QjBhR0YwSUhkcGJHd2dZbVVnYVc1MmIydGxaQ0IzYUdWdUlIUm9aVnh5WEc1Y2RDQXFJSEpsYlc5MFpTQmxibVFnYzJWdVpITWdZVzRnWlhabGJuUXVJRlJvWlNCcGJuUmxjbVpoWTJVZ2JtRnRaU0J6YUc5MWJHUWdaR1ZtYVc1bElIUm9aU0JtYjNKdFlYUWdiMlpjY2x4dVhIUWdLaUIwYUdWelpTQnZZbXBsWTNSekxseHlYRzVjZENBcUwxeHlYRzVjZEc5dVJYWmxiblFvSUdWMlpXNTBRMkZzYkdKaFkyczZLQ0JsZG1WdWREb2diMkpxWldOMElDa2dQVDRnZG05cFpDQXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZLaW9nUVd4c2IzZHpJSFJvWlNCc2IyTmhiQ0J1YjJSbElIUnZJSEJ5YjNacFpHVWdZU0JqWVd4c1ltRmpheUIwYUdGMElIZHBiR3dnWW1VZ2FXNTJiMnRsWkNCM2FHVnVJSFJvWlZ4eVhHNWNkQ0FxSUhSeVlXNXpabTl5YlNCaVpYUjNaV1Z1SUhSb1pTQnNiMk5oYkNCaGJtUWdjbVZ0YjNSbElHNXZaR1VnYUdGeklHTm9ZVzVuWldRdUlGUm9hWE1nZDJsc2JDQnZibXg1WEhKY2JseDBJQ29nWW1VZ1kyRnNiR1ZrSUdadmNpQnBiblJsY21aaFkyVnpJSGRwZEdnZ2RHaGxJSGRoYm5SelZISmhibk5tYjNKdGN5Qm1hV1ZzWkNCelpYUWdkRzhnZEhKMVpTNWNjbHh1WEhRZ0tpOWNjbHh1WEhSdmJsUnlZVzV6Wm05eWJWVndaR0YwWldRb0lIUnlZVzV6Wm05eWJVTmhiR3hpWVdOck9pZ2daVzUwYVhSNVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlNBcElEMCtJSFp2YVdRZ0tUb2dkbTlwWkR0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCdmNtbG5hVzRnYjJZZ2RHaGxJR2RoWkdkbGRDQjBhR0YwSUhCeWIzWnBaR1ZrSUhSb1pTQndaV1Z5SUhSdklIUm9hWE1nWVdOMGFYWmxJR2x1ZEdWeVptRmpaUzRnS2k5Y2NseHVYSFJ5WldGa2IyNXNlU0J2Y21sbmFXNDZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQjFjMlZ5SUdGblpXNTBJRzltSUhSb1pTQm5ZV1JuWlhRZ2RHaGhkQ0J3Y205MmFXUmxaQ0IwYUdVZ2NHVmxjaUIwYnlCMGFHbHpJR0ZqZEdsMlpTQnBiblJsY21aaFkyVXVJQ292WEhKY2JseDBjbVZoWkc5dWJIa2dkWE5sY2tGblpXNTBPaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYmx4eVhHNWpiR0Z6Y3lCRFFXTjBhWFpsU1c1MFpYSm1ZV05sSUdsdGNHeGxiV1Z1ZEhNZ1FXTjBhWFpsU1c1MFpYSm1ZV05sWEhKY2JudGNjbHh1WEhSd2RXSnNhV01nZEhKaGJuTnRhWFIwWlhJNklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUndkV0pzYVdNZ2NtVmpaV2wyWlhJNklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUndkV0pzYVdNZ2FXWmhZMlU2SUhOMGNtbHVaenRjY2x4dVhIUndkV0pzYVdNZ2NtOXNaVG9nU1c1MFpYSm1ZV05sVW05c1pUdGNjbHh1WEhSd2NtbDJZWFJsSUdWdVpHVmtRMkZzYkdKaFkyczZLQ2tnUFQ0Z2RtOXBaRHRjY2x4dVhIUndjbWwyWVhSbElHVjJaVzUwUTJGc2JHSmhZMnM2S0NCbGRtVnVkRG9nYjJKcVpXTjBJQ2tnUFQ0Z2RtOXBaRHRjY2x4dVhIUndjbWwyWVhSbElIUnlZVzV6Wm05eWJVTmhiR3hpWVdOck9pZ2daVzUwYVhSNVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlNBcElEMCtJSFp2YVdRN1hISmNibHgwY0hKcGRtRjBaU0JzWVhOMFZISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWEk2SUVGMlRtOWtaVlJ5WVc1elptOXliVHRjY2x4dVhIUndjbWwyWVhSbElHeGhjM1JVY21GdWMyMXBkSFJsY2tsdWRHVnljMlZqZEdsdmJsQnZhVzUwT2lCQmRsWmxZM1J2Y2p0Y2NseHVYSFJ3ZFdKc2FXTWdjR0Z5WVcxek9pQnZZbXBsWTNRN1hISmNibHgwY0hKcGRtRjBaU0J3WldWeVQzSnBaMmx1T2lCemRISnBibWM3WEhKY2JseDBjSEpwZG1GMFpTQndaV1Z5VlhObGNrRm5aVzUwT2lCemRISnBibWM3WEhKY2JseHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQnRPaUJOYzJkSmJuUmxjbVpoWTJWVGRHRnlkR1ZrTENCeWIyeGxPaUJKYm5SbGNtWmhZMlZTYjJ4bElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMblJ5WVc1emJXbDBkR1Z5SUQwZ2JTNTBjbUZ1YzIxcGRIUmxjanRjY2x4dVhIUmNkSFJvYVhNdWNtVmpaV2wyWlhJZ1BTQnRMbkpsWTJWcGRtVnlPMXh5WEc1Y2RGeDBkR2hwY3k1cFptRmpaU0E5SUcwdWFXWmhZMlU3WEhKY2JseDBYSFIwYUdsekxteGhjM1JVY21GdWMyMXBkSFJsY2taeWIyMVNaV05sYVhabGNpQTlJRzB1ZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTdYSEpjYmx4MFhIUjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBJRDBnYlM1cGJuUmxjbk5sWTNScGIyNVFiMmx1ZER0Y2NseHVYSFJjZEhSb2FYTXVjbTlzWlNBOUlISnZiR1U3WEhKY2JseDBYSFIwYUdsekxuQmhjbUZ0Y3lBOUlHMHVjR0Z5WVcxek8xeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWNtOXNaU0E5UFNCSmJuUmxjbVpoWTJWU2IyeGxMbFJ5WVc1emJXbDBkR1Z5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV3WldWeVQzSnBaMmx1SUQwZ2JTNXlaV05sYVhabGNrOXlhV2RwYmp0Y2NseHVYSFJjZEZ4MGRHaHBjeTV3WldWeVZYTmxja0ZuWlc1MElEMGdiUzV5WldObGFYWmxjbFZ6WlhKQloyVnVkRHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV3WldWeVQzSnBaMmx1SUQwZ2JTNTBjbUZ1YzIxcGRIUmxjazl5YVdkcGJqdGNjbHh1WEhSY2RGeDBkR2hwY3k1d1pXVnlWWE5sY2tGblpXNTBJRDBnYlM1MGNtRnVjMjFwZEhSbGNsVnpaWEpCWjJWdWREdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCc2IyTnJLQ2s2SUZCeWIyMXBjMlU4U1c1MFpYSm1ZV05sVEc5amExSmxjM1ZzZEQ1Y2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlU4U1c1MFpYSm1ZV05sVEc5amExSmxjM1ZzZEQ0b0lHRnplVzVqSUNoeVpYTnZiSFpsTENCeVpXcGxZM1FnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnV3lCdGMyZFNaWE53YjI1elpTQmRJRDBnWVhkaGFYUWdRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV6Wlc1a1RXVnpjMkZuWlVGdVpGZGhhWFJHYjNKU1pYTndiMjV6WlR4TmMyZEpiblJsY21aaFkyVk1iMk5yVW1WemNHOXVjMlUrS0Z4eVhHNWNkRngwWEhSY2RFMWxjM05oWjJWVWVYQmxMa2x1ZEdWeVptRmpaVXh2WTJzc0lGeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RIUnlZVzV6YldsMGRHVnlPaUIwYUdsekxuUnlZVzV6YldsMGRHVnlMRnh5WEc1Y2RGeDBYSFJjZEZ4MGNtVmpaV2wyWlhJNklIUm9hWE11Y21WalpXbDJaWElzWEhKY2JseDBYSFJjZEZ4MFhIUnBabUZqWlRvZ2RHaHBjeTVwWm1GalpWeHlYRzVjZEZ4MFhIUmNkSDBnWVhNZ1RYTm5TVzUwWlhKbVlXTmxURzlqYXl4Y2NseHVYSFJjZEZ4MFhIUk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZNYjJOclVtVnpjRzl1YzJVZ0tUdGNjbHh1WEhSY2RGeDBjbVZ6YjJ4MlpTZ2diWE5uVW1WemNHOXVjMlV1Y21WemRXeDBJQ2xjY2x4dVhIUmNkSDBnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUIxYm14dlkyc29LVG9nVUhKdmJXbHpaVHhKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwUGx4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaVHhKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwUGlnZ1lYTjVibU1nS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RHeGxkQ0JiSUcxeloxSmxjM0J2Ym5ObElGMGdQU0JoZDJGcGRDQkJka2RoWkdkbGRDNXBibk4wWVc1alpTZ3BMbk5sYm1STlpYTnpZV2RsUVc1a1YyRnBkRVp2Y2xKbGMzQnZibk5sUEUxelowbHVkR1Z5Wm1GalpWVnViRzlqYTFKbGMzQnZibk5sUGloY2NseHVYSFJjZEZ4MFhIUk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZWYm14dlkyc3NJRnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSFJ5WVc1emJXbDBkR1Z5T2lCMGFHbHpMblJ5WVc1emJXbDBkR1Z5TEZ4eVhHNWNkRngwWEhSY2RGeDBjbVZqWldsMlpYSTZJSFJvYVhNdWNtVmpaV2wyWlhJc1hISmNibHgwWEhSY2RGeDBYSFJwWm1GalpUb2dkR2hwY3k1cFptRmpaVnh5WEc1Y2RGeDBYSFJjZEgwZ1lYTWdUWE5uU1c1MFpYSm1ZV05sVlc1c2IyTnJMRnh5WEc1Y2RGeDBYSFJjZEUxbGMzTmhaMlZVZVhCbExrbHVkR1Z5Wm1GalpWVnViRzlqYTFKbGMzQnZibk5sSUNrN1hISmNibHgwWEhSY2RISmxjMjlzZG1Vb0lHMXpaMUpsYzNCdmJuTmxMbkpsYzNWc2RDQXBYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdjbVZzYjJOcktDQnVaWGRTWldObGFYWmxjam9nUlc1a2NHOXBiblJCWkdSeUlDazZJRkJ5YjIxcGMyVThTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkRDVjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVThTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkRDRvSUdGemVXNWpJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc1pYUWdXeUJ0YzJkU1pYTndiMjV6WlNCZElEMGdZWGRoYVhRZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNXpaVzVrVFdWemMyRm5aVUZ1WkZkaGFYUkdiM0pTWlhOd2IyNXpaVHhOYzJkSmJuUmxjbVpoWTJWU1pXeHZZMnRTWlhOd2IyNXpaVDRvWEhKY2JseDBYSFJjZEZ4MFRXVnpjMkZuWlZSNWNHVXVTVzUwWlhKbVlXTmxVbVZzYjJOckxDQmNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUjBjbUZ1YzIxcGRIUmxjam9nZEdocGN5NTBjbUZ1YzIxcGRIUmxjaXhjY2x4dVhIUmNkRngwWEhSY2RHOXNaRkpsWTJWcGRtVnlPaUIwYUdsekxuSmxZMlZwZG1WeUxGeHlYRzVjZEZ4MFhIUmNkRngwYm1WM1VtVmpaV2wyWlhJc1hISmNibHgwWEhSY2RGeDBYSFJwWm1GalpUb2dkR2hwY3k1cFptRmpaVnh5WEc1Y2RGeDBYSFJjZEgwZ1lYTWdUWE5uU1c1MFpYSm1ZV05sVW1Wc2IyTnJMRnh5WEc1Y2RGeDBYSFJjZEUxbGMzTmhaMlZVZVhCbExrbHVkR1Z5Wm1GalpWSmxiRzlqYTFKbGMzQnZibk5sSUNrN1hISmNibHgwWEhSY2RISmxjMjlzZG1Vb0lHMXpaMUpsYzNCdmJuTmxMbkpsYzNWc2RDQXBYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhObGJHWW9LVG9nUlc1a2NHOXBiblJCWkdSeVhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNtOXNaU0E5UFNCSmJuUmxjbVpoWTJWU2IyeGxMbFJ5WVc1emJXbDBkR1Z5SUQ4Z2RHaHBjeTUwY21GdWMyMXBkSFJsY2lBNklIUm9hWE11Y21WalpXbDJaWEk3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhCbFpYSW9LVG9nUlc1a2NHOXBiblJCWkdSeVhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNtOXNaU0E5UFNCSmJuUmxjbVpoWTJWU2IyeGxMbEpsWTJWcGRtVnlJRDhnZEdocGN5NTBjbUZ1YzIxcGRIUmxjaUE2SUhSb2FYTXVjbVZqWldsMlpYSTdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYVc1MFpYSm1ZV05sS0NrZ09pQnpkSEpwYm1kY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1cFptRmpaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSW9LU0E2SUVGMlRtOWtaVlJ5WVc1elptOXliVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbXhoYzNSVWNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjanRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYzJWc1prWnliMjFRWldWeUtDa2dPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMWNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1eWIyeGxJRDA5SUVsdWRHVnlabUZqWlZKdmJHVXVWSEpoYm5OdGFYUjBaWElnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSeVpYUjFjbTRnZEdocGN5NXNZWE4wVkhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhKbGRIVnliaUJwYm5abGNuUk9iMlJsVkhKaGJuTm1iM0p0S0NCMGFHbHpMbXhoYzNSVWNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjaUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCMGNtRnVjMjFwZEhSbGNrbHVkR1Z5YzJWamRHbHZibEJ2YVc1MEtDa2dPaUJCZGxabFkzUnZjbHh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbXhoYzNSVWNtRnVjMjFwZEhSbGNrbHVkR1Z5YzJWamRHbHZibEJ2YVc1ME8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnpaV3htU1c1MFpYSnpaV04wYVc5dVVHOXBiblFvS1NBNklFRjJWbVZqZEc5eVhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lIUm9hWE11Y205c1pTQTlQU0JKYm5SbGNtWmhZMlZTYjJ4bExsUnlZVzV6YldsMGRHVnlJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJSFJvYVhNdWJHRnpkRlJ5WVc1emJXbDBkR1Z5U1c1MFpYSnpaV04wYVc5dVVHOXBiblE3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObElHbG1LQ0IwYUdsekxteGhjM1JVY21GdWMyMXBkSFJsY2tsdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJRzFoZEZSeVlXNXpiV2wwZEdWeVJuSnZiVkpsWTJWcGRtVnlJRDBnYm05a1pWUnlZVzV6Wm05eWJWUnZUV0YwTkNnZ2RHaHBjeTV6Wld4bVJuSnZiVkJsWlhJZ0tUdGNjbHh1WEhSY2RGeDBiR1YwSUhKbFkyVnBkbVZ5U1c1MFpYSnpaV04wYVc5dVVHOXBiblFnUFNCdFlYUk5kV3gwYVhCc2VWQnZhVzUwS0NCdFlYUlVjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2l3Z1hISmNibHgwWEhSY2RGeDBkbVZqUm5KdmJVRjJWbVZqZEc5eUtDQjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBJQ2tnS1R0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUhabFkxUnZRWFpXWldOMGIzSW9JSEpsWTJWcGRtVnlTVzUwWlhKelpXTjBhVzl1VUc5cGJuUWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJRzl5YVdkcGJpZ3BPaUJ6ZEhKcGJtZGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NXdaV1Z5VDNKcFoybHVPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0IxYzJWeVFXZGxiblFvS1RvZ2MzUnlhVzVuWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11Y0dWbGNsVnpaWEpCWjJWdWREdGNjbHh1WEhSOVhISmNibHh5WEc1Y2NseHVYSFJ6Wlc1a1JYWmxiblFvSUdWMlpXNTBPaUJ2WW1wbFkzUWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BseHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlR4MmIybGtQaWdnWVhONWJtTWdLSEpsYzI5c2RtVXNJSEpsYW1WamRDQXBJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQmJJRzF6WjFKbGMzQnZibk5sSUYwZ1BTQmhkMkZwZENCQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExuTmxibVJOWlhOellXZGxRVzVrVjJGcGRFWnZjbEpsYzNCdmJuTmxQRTF6WjBsdWRHVnlabUZqWlZObGJtUkZkbVZ1ZEZKbGMzQnZibk5sUGloY2NseHVYSFJjZEZ4MFhIUk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZUWlc1a1JYWmxiblFzSUZ4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEdSbGMzUnBibUYwYVc5dU9pQjBhR2x6TG5CbFpYSXNYSEpjYmx4MFhIUmNkRngwWEhSd1pXVnlPaUIwYUdsekxuTmxiR1lzWEhKY2JseDBYSFJjZEZ4MFhIUnBabUZqWlRvZ2RHaHBjeTVwWm1GalpTeGNjbHh1WEhSY2RGeDBYSFJjZEdWMlpXNTBYSEpjYmx4MFhIUmNkRngwZlNCaGN5Qk5jMmRKYm5SbGNtWmhZMlZUWlc1a1JYWmxiblFzWEhKY2JseDBYSFJjZEZ4MFRXVnpjMkZuWlZSNWNHVXVTVzUwWlhKbVlXTmxVMlZ1WkVWMlpXNTBVbVZ6Y0c5dWMyVWdLVHRjY2x4dVhIUmNkRngwY21WemIyeDJaU2dwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGIyNUZibVJsWkNnZ1pXNWtaV1JEWVd4c1ltRmphem9vS1NBOVBpQjJiMmxrSUNrNklIWnZhV1JjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1WdVpHVmtRMkZzYkdKaFkyc2dQU0JsYm1SbFpFTmhiR3hpWVdOck8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFpXNWtLQ0IwY21GdWMyMXBkSFJsY2taeWIyMVNaV05sYVhabGNpQTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUTZJRUYyVm1WamRHOXlJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxteGhjM1JVY21GdWMyMXBkSFJsY2taeWIyMVNaV05sYVhabGNpQTlJSFJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeU8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGRHaHBjeTVsYm1SbFpFTmhiR3hpWVdOclB5NG9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRzl1UlhabGJuUW9JR1YyWlc1MFEyRnNiR0poWTJzNktDQmxkbVZ1ZERvZ2IySnFaV04wSUNrZ1BUNGdkbTlwWkNBcE9pQjJiMmxrWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1bGRtVnVkRU5oYkd4aVlXTnJJRDBnWlhabGJuUkRZV3hzWW1GamF6dGNjbHh1WEhSOVhISmNibHh5WEc1Y2RHVjJaVzUwS0NCbGRtVnVkRG9nYjJKcVpXTjBMQ0JrWlhOMGFXNWhkR2x2YmtaeWIyMVFaV1Z5T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUdsdWRHVnljMlZqZEdsdmJsQnZhVzUwT2lCQmRsWmxZM1J2Y2lBcFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lHUmxjM1JwYm1GMGFXOXVSbkp2YlZCbFpYSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTV5YjJ4bElEMDlJRWx1ZEdWeVptRmpaVkp2YkdVdVZISmhibk50YVhSMFpYSWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTVzWVhOMFZISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWElnUFNCa1pYTjBhVzVoZEdsdmJrWnliMjFRWldWeU8xeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWJHRnpkRlJ5WVc1emJXbDBkR1Z5U1c1MFpYSnpaV04wYVc5dVVHOXBiblFnUFNCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZER0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmxiSE5sWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2lBOUlHbHVkbVZ5ZEU1dlpHVlVjbUZ1YzJadmNtMG9JR1JsYzNScGJtRjBhVzl1Um5KdmJWQmxaWElnS1R0Y2NseHVYSEpjYmx4MFhIUmNkRngwYVdZb0lHbHVkR1Z5YzJWamRHbHZibEJ2YVc1MElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnNaWFFnYldGMFZISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWElnUFNCdWIyUmxWSEpoYm5ObWIzSnRWRzlOWVhRMEtDQjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2lBcE8xeHlYRzVjZEZ4MFhIUmNkRngwZEdocGN5NXNZWE4wVkhKaGJuTnRhWFIwWlhKSmJuUmxjbk5sWTNScGIyNVFiMmx1ZENBOUlHMWhkRTExYkhScGNHeDVVRzlwYm5Rb0lHMWhkRlJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeUxDQmNjbHh1WEhSY2RGeDBYSFJjZEZ4MGRtVmpSbkp2YlVGMlZtVmpkRzl5S0NCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZENBcElDazdYSFJjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBaV3h6WlZ4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEhSb2FYTXViR0Z6ZEZSeVlXNXpiV2wwZEdWeVNXNTBaWEp6WldOMGFXOXVVRzlwYm5RZ1BTQnVkV3hzTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhSb2FYTXVaWFpsYm5SRFlXeHNZbUZqYXo4dUtDQmxkbVZ1ZENBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGIyNVVjbUZ1YzJadmNtMVZjR1JoZEdWa0tDQjBjbUZ1YzJadmNtMURZV3hzWW1GamF6b29JR1Z1ZEdsMGVVWnliMjFRWldWeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wZ0tTQTlQaUIyYjJsa0lDazZJSFp2YVdSY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxuUnlZVzV6Wm05eWJVTmhiR3hpWVdOcklEMGdkSEpoYm5ObWIzSnRRMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUjBjbUZ1YzJadmNtMVZjR1JoZEdWa0tDQmxiblJwZEhsR2NtOXRVR1ZsY2pvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZERvZ1FYWldaV04wYjNJZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5KdmJHVWdQVDBnU1c1MFpYSm1ZV05sVW05c1pTNVVjbUZ1YzIxcGRIUmxjaUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViR0Z6ZEZSeVlXNXpiV2wwZEdWeVJuSnZiVkpsWTJWcGRtVnlJRDBnWlc1MGFYUjVSbkp2YlZCbFpYSTdYSEpjYmx4MFhIUmNkSFJvYVhNdWJHRnpkRlJ5WVc1emJXbDBkR1Z5U1c1MFpYSnpaV04wYVc5dVVHOXBiblFnUFNCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZER0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdWc2MyVmNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1c1lYTjBWSEpoYm5OdGFYUjBaWEpHY205dFVtVmpaV2wyWlhJZ1BTQnBiblpsY25ST2IyUmxWSEpoYm5ObWIzSnRLQ0JsYm5ScGRIbEdjbTl0VUdWbGNpQXBPMXh5WEc1Y2NseHVYSFJjZEZ4MGFXWW9JR2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBJQ2xjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RHeGxkQ0J0WVhSVWNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjaUE5SUc1dlpHVlVjbUZ1YzJadmNtMVViMDFoZERRb0lIUm9hWE11YkdGemRGUnlZVzV6YldsMGRHVnlSbkp2YlZKbFkyVnBkbVZ5SUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1c1lYTjBWSEpoYm5OdGFYUjBaWEpKYm5SbGNuTmxZM1JwYjI1UWIybHVkQ0E5SUcxaGRFMTFiSFJwY0d4NVVHOXBiblFvSUcxaGRGUnlZVzV6YldsMGRHVnlSbkp2YlZKbFkyVnBkbVZ5TENCY2NseHVYSFJjZEZ4MFhIUmNkSFpsWTBaeWIyMUJkbFpsWTNSdmNpZ2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUWdLU0FwTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RIUm9hWE11YkdGemRGUnlZVzV6YldsMGRHVnlTVzUwWlhKelpXTjBhVzl1VUc5cGJuUWdQU0J1ZFd4c08xeHlYRzVjZEZ4MFhIUjlYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUjBhR2x6TG5SeVlXNXpabTl5YlVOaGJHeGlZV05yUHk0b0lHVnVkR2wwZVVaeWIyMVFaV1Z5SUNrN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNWNjbHh1THlvcUlFUmxabWx1WlhNZ2RHaGxJR1oxYm1OMGFXOXVJSE5wWjI1aGRIVnlaU0J2WmlCaGJpQnBiblJsY21aaFkyVWdhR0Z1Wkd4bGNpQm1iM0lnZTBCc2FXNXJJRWx1ZEdWeVptRmpaVkJ5YjNCOUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU1c1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXlYSEpjYm50Y2NseHVYSFFvSUdsbVlXTmxPaUJCWTNScGRtVkpiblJsY21aaFkyVWdLVG9nZG05cFpEdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlGSmxjSEpsYzJWdWRITWdZU0J6YVc1bmJHVWdhVzUwWlhKbVlXTmxJR2x1SUhSb1pTQjBjbUZ1YzIxcGRDQnZjaUJ5WldObGFYWmxJR3hwYzNRZ1ptOXlJR0Z1SUZ4eVhHNGdLaUI3UUd4cGJtc2dRWFpKYm5SbGNtWmhZMlZGYm5ScGRIbDlYSEpjYmlBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWx1ZEdWeVptRmpaVkJ5YjNCY2NseHVlMXh5WEc1Y2RHbG1ZV05sT2lCemRISnBibWM3WEhKY2JseDBjSEp2WTJWemMyOXlQem9nU1c1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXlPMXh5WEc1OVhISmNibHh5WEc0dktpb2dVSEp2Y0hNZ1ptOXlJSHRBYkdsdWF5QkJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVYMGdLaTljY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIzQnpJR1Y0ZEdWdVpITWdRWFpDWVhObFRtOWtaVkJ5YjNCelhISmNibnRjY2x4dVhIUXZLaW9nVkdobElHRmtaSEpsYzNNZ2IyWWdkR2hsSUhCaGNtVnVkQ0JsYm5ScGRIa2dkR2hoZENCM2FXeHNJSEJ5YjNacFpHVWdkR2hsSUhSeVlXNXpabTl5YlZ4eVhHNWNkQ0FxSUdadmNpQjBhR2x6SUc1dlpHVXVJRWxtSUhSb2FYTWdhWE1nYm05MElITndaV05wWm1sbFpDd2dkR2hwY3lCdWIyUmxJRzExYzNRZ1ltVWdkVzVrWlhJZ1lXNWNjbHh1WEhRZ0tpQkJkazl5YVdkcGJpQnViMlJsSUc5eUlHbDBJSGRwYkd3Z2JtOTBJR0psSUdScGMzQnNZWGxsWkM0Z1NXWWdkR2hsSUc1dlpHVWdjSEp2ZG1sa1pXUWdkbWxoWEhKY2JseDBJQ29nZEdocGN5QndjbTl3WlhKMGVTQmtiMlZ6SUc1dmRDQndjbTkyYVdSbElHRnVJRUYyUTJocGJHUWdibTlrWlNCMGFHRjBJSEpsWm1WeWN5QjBieUIwYUdseklHVnVkR2wwZVZ4eVhHNWNkQ0FxSUc5eUlHbG1JSFJvWVhRZ1kyaHBiR1FnYVhNZ2JtOTBJSFpwYzJsaWJHVXNJSFJvYVhNZ1pXNTBhWFI1SUhkcGJHd2dibTkwSUdKbElHUnBjM0JzWVhsbFpDNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBJQ292WEhKY2JseDBjR0Z5Wlc1MFB6b2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNjbHh1WEhRdktpb2dTVzV6ZEhKMVkzUnpJRUZoY21SMllYSnJJSFJ2SUhCeWIzWnBaR1VnZEdocGN5QmxiblJwZEhrZ2QybDBhQ0JoSUhOMGNtVmhiU0J2WmlCMWNHUmhkR1ZrSUZ4eVhHNWNkQ0FxSUhSeVlXNXpabTl5YlhNZ1ptOXlJR0Z1ZVNCaFkzUnBkbVVnYVc1MFpYSm1ZV05sY3lCMGFHRjBJR2x1ZG05c2RtVWdkR2hwY3lCbGJuUnBkSGt1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnWm1Gc2MyVmNjbHh1WEhRZ0tpOWNjbHh1WEhSM1lXNTBjMVJ5WVc1elptOXliWE0vT2lCaWIyOXNaV0Z1TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUd4cGMzUWdiMllnYVc1MFpYSm1ZV05sY3lCMGFHRjBJSFJvYVhNZ1pXNTBhWFI1SUhSeVlXNXpiV2wwY3k0Z1ZHaGxjMlVnWTJGdUlHSmxJR0Z1ZVNCemRISnBibWNnYjJZZ2RHaGxJR1p2Y20xY2NseHVYSFFnS2lBOGFXNTBaWEptWVdObGJtRnRaVDVBUEhabGNuTnBiMjQrTGlCWGFHVnVJSE5sYkdWamRHbHVaeUJoYmlCcGJuUmxjbVpoWTJVZ1ptOXlJR0VnZEhKaGJuTnRhWFIwWlhJZ2RHaGhkQ0JwY3lCcGJpQnlZVzVuWlNCY2NseHVYSFFnS2lCdlppQmhJSEpsWTJWcGRtVnlJSGRwYkd3Z2MyVnNaV04wSUhSb1pTQm1hWEp6ZENCdFlYUmphR2x1WnlCcGJuUmxjbVpoWTJVZ2FXNGdkR2hsSUd4cGMzUXNJSE52SUdWaFkyZ2daVzUwYVhSNUlGeHlYRzVjZENBcUlITm9iM1ZzWkNCdmNtUmxjaUJwZEhNZ2FXNTBaWEptWVdObGN5Qm1jbTl0SUdocFoyaGxjM1FnZEc4Z2JHOTNaWE4wSUhCeWFXOXlhWFI1SUdsbUlHMTFiSFJwY0d4bElHbHVkR1Z5Wm1GalpYTWdiMllnZEdobElGeHlYRzVjZENBcUlITmhiV1VnZEhsd1pTQmhjbVVnWVhaaGFXeGhZbXhsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVGMElHMXZjM1FnYjI1bElHOW1JSFJvWlhObElHbHVkR1Z5Wm1GalpYTWdkMmxzYkNCaVpTQmhZM1JwZG1VZ1lYUWdZU0IwYVcxbExseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElGdGRYSEpjYmx4MElDb3ZYSEpjYmx4MGRISmhibk50YVhSelB6b2dTVzUwWlhKbVlXTmxVSEp2Y0Z0ZE8xeHlYRzVjY2x4dVhIUXZLaW9nVkdobElHeHBjM1FnYjJZZ2FXNTBaWEptWVdObGN5QjBhR0YwSUhSb2FYTWdaVzUwYVhSNUlISmxZMlZwZG1WekxpQlVhR1Z6WlNCallXNGdZbVVnWVc1NUlITjBjbWx1WnlCdlppQjBhR1VnWm05eWJWeHlYRzVjZENBcUlEeHBiblJsY21aaFkyVnVZVzFsUGtBOGRtVnljMmx2Ymo0dUlGZG9aVzRnYzJWc1pXTjBhVzVuSUdGdUlHbHVkR1Z5Wm1GalpTQm1iM0lnWVNCMGNtRnVjMjFwZEhSbGNpQjBhR0YwSUdseklHbHVJSEpoYm1kbElGeHlYRzVjZENBcUlHOW1JR0VnY21WalpXbDJaWElnZDJsc2JDQnpaV3hsWTNRZ2RHaGxJR1pwY25OMElHMWhkR05vYVc1bklHbHVkR1Z5Wm1GalpTQnBiaUIwYUdVZ2JHbHpkQ3dnYzI4Z1pXRmphQ0JsYm5ScGRIa2dYSEpjYmx4MElDb2djMmh2ZFd4a0lHOXlaR1Z5SUdsMGN5QnBiblJsY21aaFkyVnpJR1p5YjIwZ2FHbG5hR1Z6ZENCMGJ5QnNiM2RsYzNRZ2NISnBiM0pwZEhrZ2FXWWdiWFZzZEdsd2JHVWdhVzUwWlhKbVlXTmxjeUJ2WmlCMGFHVWdYSEpjYmx4MElDb2djMkZ0WlNCMGVYQmxJR0Z5WlNCaGRtRnBiR0ZpYkdVdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FXNGdaVzUwYVhSNUlHTnZkV3hrSUdoaGRtVWdZVzU1SUc1MWJXSmxjaUJ2WmlCaFkzUnBkbVVnY21WalpXbDJaV1FnYVc1MFpYSm1ZV05sY3k1Y2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCYlhWeHlYRzVjZENBcUwxeHlYRzVjZEhKbFkyVnBkbVZ6UHpvZ1NXNTBaWEptWVdObFVISnZjRnRkTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhCeWFXOXlhWFI1SUhSdklIVnpaU0IzYUdWdUlHSnlaV0ZyYVc1bklIUnBaWE1nWVcxdmJtY2diWFZzZEdsd2JHVWdjMmx0ZFd4MFlXNWxiM1Z6SUdsdWRHVnljMlZqZEdsdmJuTWdabTl5SUhSb1pTQnpZVzFsSUdWdWRHbDBlUzVjY2x4dVhIUWdLaUJJYVdkb1pYSWdiblZ0WW1WeWN5QmhjbVVnWTJodmMyVnVJR0psWm05eVpTQnNiM2RsY2lCdWRXMWlaWEp6TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURCY2NseHVYSFFnS2k5Y2NseHVYSFJ3Y21sdmNtbDBlVDg2SUc1MWJXSmxjanRjY2x4dVhISmNibHgwTHlvcUlGUm9aU0IyYjJ4MWJXVWdkRzhnZFhObElIZG9aVzRnYldGMFkyaHBibWNnZEdocGN5QmxiblJwZEhrZ2QybDBhQ0J2ZEdobGNpQnBiblJsY21aaFkyVWdaVzUwYVhScFpYTXVJQ292WEhKY2JseDBkbTlzZFcxbE9pQkJkbFp2YkhWdFpTQjhJRUYyVm05c2RXMWxXMTA3WEhKY2JseHlYRzVjZEM4cUtpQkJJR3hwYzNRZ2IyWWdhVzUwWlhKbVlXTmxJRzVoYldWeklHRnVaQ0J5WldObGFYWmxjbk1nZEdoaGRDQkJZWEprZG1GeWF5QnphRzkxYkdRZ1ptOXlZMlVnZEdocGN5QmxiblJwZEhrZ2RHOGdYSEpjYmx4MElDb2dhR0YyWlNCaGJpQnBiblJsY21aaFkyVWdkMmwwYUNCM2FHVnVJR2wwSUdseklHTnlaV0YwWldRdUlFVmhZMmdnYjJZZ2RHaGxjMlVnYVc1cGRHbGhiQ0JwYm5SbGNtWmhZMlZ6SUcxMWMzUWdZbVZjY2x4dVhIUWdLaUJwYm1Oc2RXUmxaQ0JwYmlCMGFHbHpJR1Z1ZEdsMGVTZHpJSFJ5WVc1emJXbDBkR1Z5SUd4cGMzUXVJRUp2ZEdnZ2RHaGxJSEpsWTJWcGRtVnlJR0Z1WkNCaGJtUWdkSEpoYm5OdGFYUjBaWElnZDJsc2JGeHlYRzVjZENBcUlISmxZMlZwZG1VZ1NXNTBaWEptWVdObFUzUmhjblJsWkNCbGRtVnVkSE1nZDJsMGFDQjBhR1VnYm1WM0lHbHVkR1Z5Wm1GalpTNGdWR2hwY3lCdVpYY2dZV04wYVhabElHbHVkR1Z5Wm1GalpTQnpkR0Z5ZEhOY2NseHVYSFFnS2lCc2IyTnJaV1FzSUhOdklIUm9aU0IwY21GdWMyMXBkSFJsY2lCM2FXeHNJRzVsWldRZ2RHOGdkVzVzYjJOcklHbDBJR2xtSUdsMElIZGhiblJ6SUhSdklISmxkSFZ5YmlCcGRITWdkSEpoYm5OdGFYUjBaWElnZEc5Y2NseHVYSFFnS2lCaElHWnNiMkYwYVc1bklITjBZWFJsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVsbUlIUm9aU0JsYm1Sd2IybHVkQ0JoWkdSeVpYTnpJSE53WldOcFptbGxaQ0JoYmlCcGJtbDBhV0ZzSUd4dlkyc2daRzlsY3lCdWIzUWdaWGhwYzNRc0lIUm9aU0JoWTNScGRtVWdhVzUwWlhKbVlXTmxJSGRwYkd3Z2NtVmpaV2wyWlNCY2NseHVYSFFnS2lCaGJpQkpiblJsY21aaFkyVkZibVJsWkNCbGRtVnVkQzRnVkdocGN5QnViMjR0Wm5WdVkzUnBiMjVoYkNCcGJuUmxjbVpoWTJVZ2QybHNiQ0J6ZEdsc2JDQmlaU0JzYjJOclpXUXNJR0Z1WkNCMGFHVWdkSEpoYm5OdGFYUjBaWEpjY2x4dVhIUWdLaUJ2YmlCMGFHbHpJR0ZqZEdsMlpTQnBiblJsY21aaFkyVWdkMmxzYkNCdWIzUWdjM1JoY25RZ1lXNTVJRzVsZHlCcGJuUmxjbVpoWTJWeklIVnVkR2xzSUdsMElHTmhiR3h6SUhWdWJHOWpheTVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JiWFZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2x1ZEdWeVptRmpaVXh2WTJ0elB6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVYSEpjYmx4MEx5b3FJRk5sZEhNZ2RHaGxJR052Ym5OMGNtRnBiblFnZEc4Z1lYQndiSGtnZEc4Z2RHaHBjeUJ1YjJSbEozTWdkSEpoYm5ObWIzSnRJR0psWm05eVpTQmhjSEJzZVdsdVp5QjBhR1ZjY2x4dVhIUWdLaUJ3WVhKbGJuUWdkSEpoYm5ObWIzSnRMaUJWYzJsdVp5QmpiMjV6ZEhKaGFXNTBjeUIzYVhSb2IzVjBJR0VnY0dGeVpXNTBJRzFoZVNCb1lYWmxJSFZ1Wlhod1pXTjBaV1FnY21WemRXeDBjeTVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0J1YjI1bFhISmNibHgwSUNvdlhISmNibHgwWTI5dWMzUnlZV2x1ZEQ4NklFRjJRMjl1YzNSeVlXbHVkRHRjY2x4dWZWeHlYRzVjY2x4dUx5b3FJRVJsWm1sdVpYTWdiMjVsSUhCaGNuUnBZMmx3WVc1MElHbHVJSFJvWlNCcGJuUmxjbVpoWTJVZ2MzbHpkR1Z0SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVNCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJTVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZjSE1zSUh0OUlENWNjbHh1ZTF4eVhHNWNkSEJ5YVhaaGRHVWdZV04wYVhabFNXNTBaWEptWVdObGN6b2dRMEZqZEdsMlpVbHVkR1Z5Wm1GalpWdGRJRDBnVzEwN1hISmNibHh5WEc1Y2RDOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JseDBjSFZpYkdsaklHSjFhV3hrVG05a1pTZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzV2WkdVZ1BTQjBhR2x6TG1OeVpXRjBaVTV2WkdWUFltcGxZM1FvSUVGMlRtOWtaVlI1Y0dVdVNXNTBaWEptWVdObFJXNTBhWFI1TENCMGFHbHpMbTFmYm05a1pVbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGJHVjBJRzVsWldSUWNtOWpaWE56YjNJZ1BTQm1ZV3h6WlR0Y2NseHVYSEpjYmx4MFhIUnViMlJsTG5CeWIzQlVjbUZ1YzIxcGRITWdQU0JiWFR0Y2NseHVYSFJjZEdadmNpZ2diR1YwSUdsdWRHVnlabUZqWlZCeWIzQWdiMllnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMjFwZEhNZ1B6OGdXMTBnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCVWNtRnVjMjFwZEhNdWNIVnphQ2dnYVc1MFpYSm1ZV05sVUhKdmNDNXBabUZqWlNBcE8xeHlYRzVjZEZ4MFhIUnVaV1ZrVUhKdlkyVnpjMjl5SUQwZ2JtVmxaRkJ5YjJObGMzTnZjaUI4ZkNBb0lHbHVkR1Z5Wm1GalpWQnliM0F1Y0hKdlkyVnpjMjl5SUNFOUlHNTFiR3dnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnViMlJsTG5CeWIzQlNaV05sYVhabGN5QTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnYVc1MFpYSm1ZV05sVUhKdmNDQnZaaUIwYUdsekxuQnliM0J6TG5KbFkyVnBkbVZ6SUQ4L0lGdGRJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYm05a1pTNXdjbTl3VW1WalpXbDJaWE11Y0hWemFDZ2dhVzUwWlhKbVlXTmxVSEp2Y0M1cFptRmpaU0FwTzF4eVhHNWNkRngwWEhSdVpXVmtVSEp2WTJWemMyOXlJRDBnYm1WbFpGQnliMk5sYzNOdmNpQjhmQ0FvSUdsdWRHVnlabUZqWlZCeWIzQXVjSEp2WTJWemMyOXlJQ0U5SUc1MWJHd2dLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhScFppZ2dRWEp5WVhrdWFYTkJjbkpoZVNnZ2RHaHBjeTV3Y205d2N5NTJiMngxYldVZ0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRzV2WkdVdWNISnZjRlp2YkhWdFpYTWdQU0IwYUdsekxuQnliM0J6TG5admJIVnRaVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtOWtaUzV3Y205d1ZtOXNkVzFsY3lBOUlGc2dkR2hwY3k1d2NtOXdjeTUyYjJ4MWJXVWdYVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRzV2WkdVdWNISnZjRkJoY21WdWRFRmtaSElnUFNCMGFHbHpMbkJ5YjNCekxuQmhjbVZ1ZER0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VOdmJuTjBjbUZwYm5RZ1BTQjBhR2x6TG5CeWIzQnpMbU52Ym5OMGNtRnBiblE3WEhKY2JseDBYSFJ1YjJSbExuQnliM0JRY21sdmNtbDBlU0E5SUhSb2FYTXVjSEp2Y0hNdWNISnBiM0pwZEhrN1hISmNibHgwWEhSY2NseHVYSFJjZEdadmNpZ2diR1YwSUdsdWRHVnlabUZqWlV4dlkyc2diMllnS0NCMGFHbHpMbkJ5YjNCekxtbHVkR1Z5Wm1GalpVeHZZMnR6SUQ4L0lGdGRJQ2tnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc1pYUWdabTkxYm1SSmRDQTlJR1poYkhObE8xeHlYRzVjZEZ4MFhIUm1iM0lvSUd4bGRDQjBjbUZ1YzIxcGRIUmxjaUJ2WmlCMGFHbHpMbkJ5YjNCekxuUnlZVzV6YldsMGN5QS9QeUJiWFNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2FXNTBaWEptWVdObFRHOWpheTVwWm1GalpTQTlQU0IwY21GdWMyMXBkSFJsY2k1cFptRmpaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWm05MWJtUkpkQ0E5SUhSeWRXVTdYSEpjYmx4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhIUmNkRngwWEhSOVhIUmNkRngwWEhSY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUnBaaWdnSVdadmRXNWtTWFFnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDQmdSVzUwYVhSNUlHbHVZMngxWkdWa0lHRnVJR2x1YVhScFlXd2dhVzUwWlhKbVlXTmxJQ1I3SUdsdWRHVnlabUZqWlV4dlkyc3VhV1poWTJVZ2ZTQmlkWFFnWkc5bGN5QnViM1FnWUZ4eVhHNWNkRngwWEhSY2RGeDBLeUJnZEhKaGJuTnRhWFFnZEdoaGRDQnBiblJsY21aaFkyVmdJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VsdWRHVnlabUZqWlV4dlkydHpJRDBnZEdocGN5NXdjbTl3Y3k1cGJuUmxjbVpoWTJWTWIyTnJjenRjY2x4dVhISmNibHgwWEhScFppZ2dkR2hwY3k1d2NtOXdjeTUzWVc1MGMxUnlZVzV6Wm05eWJYTWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1YjJSbExtWnNZV2R6SUh3OUlFVk9iMlJsUm14aFozTXVUbTkwYVdaNVQyNVVjbUZ1YzJadmNtMURhR0Z1WjJVN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUc1bFpXUlFjbTlqWlhOemIzSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG5ObGRFbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIyTmxjM052Y2lnZ2RHaHBjeTV0WDI1dlpHVkpaQ3dnWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYzNSaGNuUmxaRG9nZEdocGN5NXZia2x1ZEdWeVptRmpaVk4wWVhKMFpXUXNYSEpjYmx4MFhIUmNkRngwWEhSbGJtUmxaRG9nZEdocGN5NXZia2x1ZEdWeVptRmpaVVZ1WkdWa0xGeHlYRzVjZEZ4MFhIUmNkRngwWlhabGJuUTZJSFJvYVhNdWIyNUpiblJsY21aaFkyVkZkbVZ1ZEN4Y2NseHVYSFJjZEZ4MFhIUmNkSFJ5WVc1elptOXliVlZ3WkdGMFpXUTZJSFJvYVhNdWIyNVVjbUZ1YzJadmNtMVZjR1JoZEdWa0xGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnlaWFIxY200Z2JtOWtaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdaMlYwVUhKdlkyVnpjMjl5S0NCMGNtRnVjMjFwZEhSbGNqb2dSVzVrY0c5cGJuUkJaR1J5TENCeVpXTmxhWFpsY2pvZ1JXNWtjRzlwYm5SQlpHUnlMQ0JwWm1GalpUb2djM1J5YVc1bklDa2dYSEpjYmx4MFhIUTZJRnNnU1c1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXlMQ0JKYm5SbGNtWmhZMlZTYjJ4bElGMWNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkSEpoYm5OdGFYUjBaWEl1Wlc1a2NHOXBiblJKWkNBOVBTQkJka2RoWkdkbGRDNXBibk4wWVc1alpTZ3BMbWRsZEVWdVpIQnZhVzUwU1dRb0tTQW1KaUJjY2x4dVhIUmNkRngwZEdocGN5NXRYMjV2WkdWSlpDQTlQU0IwY21GdWMyMXBkSFJsY2k1dWIyUmxTV1FnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSbWIzSW9JR3hsZENCcGJuUmxjbVpoWTJWUWNtOXdJRzltSUhSb2FYTXVjSEp2Y0hNdWRISmhibk50YVhSeklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQnBiblJsY21aaFkyVlFjbTl3TG1sbVlXTmxJRDA5SUdsbVlXTmxJQ2xjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJ5WlhSMWNtNGdXeUJwYm5SbGNtWmhZMlZRY205d0xuQnliMk5sYzNOdmNpd2dTVzUwWlhKbVlXTmxVbTlzWlM1VWNtRnVjMjFwZEhSbGNpQmRPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR2xtS0NCeVpXTmxhWFpsY2k1bGJtUndiMmx1ZEVsa0lEMDlJRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1WjJWMFJXNWtjRzlwYm5SSlpDZ3BJQ1ltSUZ4eVhHNWNkRngwWEhSMGFHbHpMbTFmYm05a1pVbGtJRDA5SUhKbFkyVnBkbVZ5TG01dlpHVkpaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdadmNpZ2diR1YwSUdsdWRHVnlabUZqWlZCeWIzQWdiMllnZEdocGN5NXdjbTl3Y3k1eVpXTmxhWFpsY3lBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2FXNTBaWEptWVdObFVISnZjQzVwWm1GalpTQTlQU0JwWm1GalpTQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBjbVYwZFhKdUlGc2dhVzUwWlhKbVlXTmxVSEp2Y0M1d2NtOWpaWE56YjNJc0lFbHVkR1Z5Wm1GalpWSnZiR1V1VW1WalpXbDJaWElnWFR0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dYQ0puWlhSUWNtOWpaWE56YjNJZ1kyRnNiR1ZrSUhkb1pXNGdkMlVnZDJWeVpXNG5kQ0IwYUdVZ2RISmhibk50YVhSMFpYSWdiM0lnY21WalpXbDJaWEpjSWlBcE8xeHlYRzVjZEZ4MGNtVjBkWEp1SUZzZ2JuVnNiQ3dnU1c1MFpYSm1ZV05sVW05c1pTNUpiblpoYkdsa0lGMDdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdiMjVKYm5SbGNtWmhZMlZUZEdGeWRHVmtLQ0J0T2lCTmMyZEpiblJsY21aaFkyVlRkR0Z5ZEdWa0lDQXBPaUIyYjJsa1hISmNibHgwZTF4eVhHNWNkRngwYkdWMElGc2djSEp2WTJWemMyOXlMQ0J5YjJ4bElGMGdQU0IwYUdsekxtZGxkRkJ5YjJObGMzTnZjaWdnYlM1MGNtRnVjMjFwZEhSbGNpd2diUzV5WldObGFYWmxjaXdnYlM1cFptRmpaU0FwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCdVpYZEpiblJsY21aaFkyVWdQU0J1WlhjZ1EwRmpkR2wyWlVsdWRHVnlabUZqWlNnZ2JTd2djbTlzWlNBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVWx1ZEdWeVptRmpaWE11Y0hWemFDZ2dibVYzU1c1MFpYSm1ZV05sSUNrN1hISmNibHgwWEhSY2RIQnliMk5sYzNOdmNpZ2dibVYzU1c1MFpYSm1ZV05sSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdacGJtUkJZM1JwZG1WSmJuUmxjbVpoWTJVb2RISmhibk50YVhSMFpYSTZJRVZ1WkhCdmFXNTBRV1JrY2l3Z2NtVmpaV2wyWlhJNklFVnVaSEJ2YVc1MFFXUmtjaXdnYVdaaFkyVTZJSE4wY21sdVp5QXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFptOXlLQ0JzWlhRZ2FTQnZaaUIwYUdsekxtRmpkR2wyWlVsdWRHVnlabUZqWlhNZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnBaaWdnWlc1a2NHOXBiblJCWkdSeWMwMWhkR05vS0NCcExuUnlZVzV6YldsMGRHVnlMQ0IwY21GdWMyMXBkSFJsY2lBcFhISmNibHgwWEhSY2RGeDBKaVlnWlc1a2NHOXBiblJCWkdSeWMwMWhkR05vS0NCcExuSmxZMlZwZG1WeUxDQnlaV05sYVhabGNpQXBYSEpjYmx4MFhIUmNkRngwSmlZZ2FXWmhZMlVnUFQwZ2FTNXBabUZqWlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdhVHRjZEZ4MFhIUmNkRnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElHWnBibVJCWTNScGRtVkpiblJsY21aaFkyVkNlVVJsYzNRb0lHUmxjM1JwYm1GMGFXOXVPaUJGYm1Sd2IybHVkRUZrWkhJc0lIQmxaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2dhV1poWTJVNklITjBjbWx1WnlBcFhISmNibHgwZTF4eVhHNWNkRngwWm05eUtDQnNaWFFnYVNCdlppQjBhR2x6TG1GamRHbDJaVWx1ZEdWeVptRmpaWE1nS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFppZ2daVzVrY0c5cGJuUkJaR1J5YzAxaGRHTm9LQ0JwTG5ObGJHWXNJR1JsYzNScGJtRjBhVzl1SUNsY2NseHVYSFJjZEZ4MFhIUW1KaUJsYm1Sd2IybHVkRUZrWkhKelRXRjBZMmdvSUdrdWNHVmxjaXdnY0dWbGNpQXBYSEpjYmx4MFhIUmNkRngwSmlZZ2FXWmhZMlVnUFQwZ2FTNXBabUZqWlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdhVHRjZEZ4MFhIUmNkRnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdiMjVKYm5SbGNtWmhZMlZGYm1SbFpDZ2dkSEpoYm5OdGFYUjBaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2djbVZqWldsMlpYSTZJRVZ1WkhCdmFXNTBRV1JrY2l3Z2FXWmhZMlU2SUhOMGNtbHVaeXhjY2x4dVhIUmNkSFJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wc0lHbHVkR1Z5YzJWamRHbHZibEJ2YVc1MFB6b2dRWFpXWldOMGIzSWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmhZM1JwZG1WSmJuUmxjbVpoWTJVZ1BTQjBhR2x6TG1acGJtUkJZM1JwZG1WSmJuUmxjbVpoWTJVb2RISmhibk50YVhSMFpYSXNJSEpsWTJWcGRtVnlMQ0JwWm1GalpTazdYSEpjYmx4MFhIUnBaaWdnWVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWVdOMGFYWmxTVzUwWlhKbVlXTmxMbVZ1WkNnZ2RISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWElzSUdsdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNrN1hISmNibHh5WEc1Y2RGeDBYSFIwYUdsekxtRmpkR2wyWlVsdWRHVnlabUZqWlhNdWMzQnNhV05sS0NCMGFHbHpMbUZqZEdsMlpVbHVkR1Z5Wm1GalpYTXVhVzVrWlhoUFppZ2dZV04wYVhabFNXNTBaWEptWVdObElDa3NJREVnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrbHVkR1Z5Wm1GalpVVjJaVzUwS0NCa1pYTjBhVzVoZEdsdmJqb2dSVzVrY0c5cGJuUkJaR1J5TENCd1pXVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHbG1ZV05sT2lCemRISnBibWNzSUdSaGRHRTZJRzlpYW1WamRDeGNjbHh1WEhSY2RHUmxjM1JwYm1GMGFXOXVSbkp2YlZCbFpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUS9PaUJCZGxabFkzUnZjaUFwT2lCMmIybGtYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR0ZqZEdsMlpVbHVkR1Z5Wm1GalpTQTlJSFJvYVhNdVptbHVaRUZqZEdsMlpVbHVkR1Z5Wm1GalpVSjVSR1Z6ZENoa1pYTjBhVzVoZEdsdmJpd2djR1ZsY2l3Z2FXWmhZMlVwTzF4eVhHNWNkRngwYVdZb0lHRmpkR2wyWlVsdWRHVnlabUZqWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHRmpkR2wyWlVsdWRHVnlabUZqWlM1bGRtVnVkQ2dnWkdGMFlTd2daR1Z6ZEdsdVlYUnBiMjVHY205dFVHVmxjaXdnYVc1MFpYSnpaV04wYVc5dVVHOXBiblFnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJsUnlZVzV6Wm05eWJWVndaR0YwWldRb0lHUmxjM1JwYm1GMGFXOXVPaUJGYm1Sd2IybHVkRUZrWkhJc0lIQmxaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2dhV1poWTJVNklITjBjbWx1Wnl3Z1hISmNibHgwWEhSa1pYTjBhVzVoZEdsdmJrWnliMjFRWldWeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wc0lHbHVkR1Z5YzJWamRHbHZibEJ2YVc1MFB6b2dRWFpXWldOMGIzSWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmhZM1JwZG1WSmJuUmxjbVpoWTJVZ1BTQjBhR2x6TG1acGJtUkJZM1JwZG1WSmJuUmxjbVpoWTJWQ2VVUmxjM1FvWkdWemRHbHVZWFJwYjI0c0lIQmxaWElzSUdsbVlXTmxLVHRjY2x4dVhIUmNkR2xtS0NCaFkzUnBkbVZKYm5SbGNtWmhZMlVnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSaFkzUnBkbVZKYm5SbGNtWmhZMlV1ZEhKaGJuTm1iM0p0VlhCa1lYUmxaQ2dnWkdWemRHbHVZWFJwYjI1R2NtOXRVR1ZsY2l3Z2FXNTBaWEp6WldOMGFXOXVVRzlwYm5RZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibjFjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2xpbmUudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2xpbmUudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2TGluZSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZMaW5lXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdkxpbmU7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBjb2xvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29sb3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGNvbG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oY29sb3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogQ2F1c2VzIGEgbGluZSB0byBhcHBlYXIgZnJvbSB0aGUgdHJhbnNmb3JtIG9mIHRoaXMgbm9kZSdzIHBhcmVudCB0byB0aGVcXHJcXG4gKiBzcGVjaWZpZWQgZW5kIHBvaW50LiAqL1xcclxcbmNsYXNzIEF2TGluZSBleHRlbmRzIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZCYXNlTm9kZVxcXCJdIHtcXHJcXG4gICAgYnVpbGROb2RlKCkge1xcclxcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGVPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5MaW5lLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGxldCBjb2xvcjtcXHJcXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5jb2xvciA9PT0gXFxcInN0cmluZ1xcXCIpIHtcXHJcXG4gICAgICAgICAgICBsZXQgdG1wQ29sb3IgPSBjb2xvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKHRoaXMucHJvcHMuY29sb3IpO1xcclxcbiAgICAgICAgICAgIGNvbG9yID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcjogdG1wQ29sb3IucmVkKCkgLyAyNTUsXFxyXFxuICAgICAgICAgICAgICAgICAgICBnOiB0bXBDb2xvci5ncmVlbigpIC8gMjU1LFxcclxcbiAgICAgICAgICAgICAgICAgICAgYjogdG1wQ29sb3IuYmx1ZSgpIC8gMjU1LFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgY29sb3IgPSB0aGlzLnByb3BzLmNvbG9yO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wQ29sb3IgPSBjb2xvcjtcXHJcXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5lbmRJZCA9PT0gXFxcInN0cmluZ1xcXCIpIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BFbmRBZGRyID0gX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuZ2V0RW5kcG9pbnRBZGRyZXNzRm9ySWQodGhpcy5wcm9wcy5lbmRJZCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BFbmRBZGRyID0gdGhpcy5wcm9wcy5lbmRJZDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIG5vZGUucHJvcFRoaWNrbmVzcyA9IHRoaXMucHJvcHMudGhpY2tuZXNzO1xcclxcbiAgICAgICAgbm9kZS5wcm9wU3RhcnRHYXAgPSB0aGlzLnByb3BzLnN0YXJ0R2FwO1xcclxcbiAgICAgICAgbm9kZS5wcm9wRW5kR2FwID0gdGhpcy5wcm9wcy5lbmRHYXA7XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXNhVzVsTG5SemVEOWxaR0ppSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJLMEk3UVVGRGIwTTdRVUZEWVR0QlFVTnVRenRCUVhORE4wTTdNRUpCUXpCQ08wRkJRMjVDTEUxQlFVMHNUVUZCVHl4VFFVRlJMRGhFUVVFMlFqdEpRVVZxUkN4VFFVRlRPMUZCUldZc1NVRkJTU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRkxITkZRVUZWTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVU51UlN4SlFVRkpMRXRCUVdNc1EwRkJRenRSUVVOdVFpeEpRVUZKTEU5QlFVOHNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFdEJRVXNzVVVGQlVTeEZRVU40UXp0WlFVTkRMRWxCUVVrc1VVRkJVU3hIUVVGSExHdERRVUZMTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVVVzUTBGQlF6dFpRVU42UXl4TFFVRkxPMmRDUVVOTU8yOUNRVU5ETEVOQlFVTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUjBGQlJ6dHZRa0ZEZGtJc1EwRkJReXhGUVVGRkxGRkJRVkVzUTBGQlF5eExRVUZMTEVWQlFVVXNSMEZCUnl4SFFVRkhPMjlDUVVONlFpeERRVUZETEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hIUVVGSExFZEJRVWM3YVVKQlEzaENMRU5CUVVNN1UwRkRSanRoUVVWRU8xbEJRME1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTenRUUVVONFFqdFJRVU5FTEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRE8xRkJRM1pDTEVsQlFVa3NUMEZCVHl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUzBGQlN5eFJRVUZSTEVWQlEzaERPMWxCUTBNc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExIVkNRVUYxUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZGTEVOQlFVTTdVMEZEYmtZN1lVRkZSRHRaUVVORExFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU03VTBGRGNFTTdVVUZEUkN4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRPMUZCUXpGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU03VVVGRGVFTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXp0UlFVVndReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5pTEVOQlFVTTdRMEZEUkNJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTlzYVc1bExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRU52Ykc5eUlHWnliMjBnSjJOdmJHOXlKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkNZWE5sVG05a1pTd2dRWFpDWVhObFRtOWtaVkJ5YjNCeklIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWlZWE5sWDI1dlpHVW5PMXh5WEc1cGJYQnZjblFnZXlCQmRrNXZaR1ZVZVhCbExDQkJka052Ykc5eUxDQkZibVJ3YjJsdWRFRmtaSElnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ2V5QkJka2RoWkdkbGRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZaMkZrWjJWMEp6dGNjbHh1WEhKY2JpOHFLaUJRY205d2N5Qm1iM0lnZTBCc2FXNXJJRUYyVEdsdVpYMGdLaTljY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQmRreHBibVZRY205d2N5QmxlSFJsYm1SeklFRjJRbUZ6WlU1dlpHVlFjbTl3YzF4eVhHNTdYSEpjYmx4MEx5b3FJRlJvWlNCamIyeHZjaUIwYVc1MElIUnZJR0Z3Y0d4NUlIUnZJSFJvYVhNZ2JXOWtaV3dnZDJobGJpQnBkQ0JwYzF4eVhHNWNkQ0FxSUdScGMzQnNZWGxsWkM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCM2FHbDBaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RHTnZiRzl5UHpvZ1FYWkRiMnh2Y2lCOElITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCMGFHbGphMjVsYzNNZ2IyWWdkR2hsSUd4cGJtVWdhVzRnYldWMFpYSnpMbHh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJREF1TURBelhISmNibHgwSUNvdlhISmNibHgwZEdocFkydHVaWE56UHpvZ2JuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dTVVFnYjNJZ1lXUmtjbVZ6Y3lCdlppQjBhR1VnWlc1a0lIQnZhVzUwSUc5bUlIUm9hWE1nYzJWbmJXVnVkQzRnWEhKY2JseDBLaTljY2x4dVhIUmxibVJKWkRvZ2MzUnlhVzVuSUh3Z1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2NseHVYSFF2S2lvZ1JHbHpkR0Z1WTJVZ2FXNGdiV1YwWlhKeklIUnZJR3hsWVhabElHRnpJR0VnWjJGd0lHSmxkSGRsWlc0Z2RHaGxYSEpjYmx4MElDb2djM1JoY25RZ2NHOXBiblFnWVc1a0lIUm9aU0J6ZEdGeWRDQnZaaUIwYUdVZ1lXTjBkV0ZzSUd4cGJtVXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RITjBZWEowUjJGd1B6b2diblZ0WW1WeU8xeHlYRzVjY2x4dVhIUXZLaW9nUkdsemRHRnVZMlVnYVc0Z2JXVjBaWEp6SUhSdklHeGxZWFpsSUdGeklHRWdaMkZ3SUdKbGRIZGxaVzRnZEdobFhISmNibHgwSUNvZ1pXNWtJSEJ2YVc1MElHRnVaQ0IwYUdVZ2MzUmhjblFnYjJZZ2RHaGxJR0ZqZEhWaGJDQnNhVzVsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURCY2NseHVYSFFnS2k5Y2NseHVYSFJsYm1SSFlYQS9PaUJ1ZFcxaVpYSTdYSEpjYm4xY2NseHVYSEpjYmx4eVhHNHZLaW9nUTJGMWMyVnpJR0VnYkdsdVpTQjBieUJoY0hCbFlYSWdabkp2YlNCMGFHVWdkSEpoYm5ObWIzSnRJRzltSUhSb2FYTWdibTlrWlNkeklIQmhjbVZ1ZENCMGJ5QjBhR1VnWEhKY2JpQXFJSE53WldOcFptbGxaQ0JsYm1RZ2NHOXBiblF1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRreHBibVVnWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsUENCQmRreHBibVZRY205d2N5d2dlMzBnUGx4eVhHNTdYSEpjYmx4MGNIVmliR2xqSUdKMWFXeGtUbTlrWlNncFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHNXZaR1VnUFNCMGFHbHpMbU55WldGMFpVNXZaR1ZQWW1wbFkzUW9JRUYyVG05a1pWUjVjR1V1VEdsdVpTd2dkR2hwY3k1dFgyNXZaR1ZKWkNBcE8xeHlYRzVjZEZ4MGJHVjBJR052Ykc5eU9pQkJka052Ykc5eU8xeHlYRzVjZEZ4MGFXWW9JSFI1Y0dWdlppQjBhR2x6TG5CeWIzQnpMbU52Ykc5eUlEMDlQU0JjSW5OMGNtbHVaMXdpSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSFJ0Y0VOdmJHOXlJRDBnUTI5c2IzSW9JSFJvYVhNdWNISnZjSE11WTI5c2IzSWdLVHRjY2x4dVhIUmNkRngwWTI5c2IzSWdQU0JjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RISTZJSFJ0Y0VOdmJHOXlMbkpsWkNncElDOGdNalUxTEZ4eVhHNWNkRngwWEhSY2RHYzZJSFJ0Y0VOdmJHOXlMbWR5WldWdUtDa2dMeUF5TlRVc1hISmNibHgwWEhSY2RGeDBZam9nZEcxd1EyOXNiM0l1WW14MVpTZ3BJQzhnTWpVMUxGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSamIyeHZjaUE5SUhSb2FYTXVjSEp2Y0hNdVkyOXNiM0pjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRzV2WkdVdWNISnZjRU52Ykc5eUlEMGdZMjlzYjNJN1hISmNibHgwWEhScFppZ2dkSGx3Wlc5bUlIUm9hWE11Y0hKdmNITXVaVzVrU1dRZ1BUMDlJRndpYzNSeWFXNW5YQ0lnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCRmJtUkJaR1J5SUQwZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNW5aWFJGYm1Sd2IybHVkRUZrWkhKbGMzTkdiM0pKWkNnZ2RHaHBjeTV3Y205d2N5NWxibVJKWkNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1YjJSbExuQnliM0JGYm1SQlpHUnlJRDBnZEdocGN5NXdjbTl3Y3k1bGJtUkpaRHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRzV2WkdVdWNISnZjRlJvYVdOcmJtVnpjeUE5SUhSb2FYTXVjSEp2Y0hNdWRHaHBZMnR1WlhOek8xeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1UzUmhjblJIWVhBZ1BTQjBhR2x6TG5CeWIzQnpMbk4wWVhKMFIyRndPMXh5WEc1Y2RGeDBibTlrWlM1d2NtOXdSVzVrUjJGd0lEMGdkR2hwY3k1d2NtOXdjeTVsYm1SSFlYQTdYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRzV2WkdVN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfbGluZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX21lbnVfaXRlbS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19tZW51X2l0ZW0udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19NZW51SW50ZXJmYWNlLCBNZW51RXZlbnRUeXBlLCBBdk1lbnVJdGVtICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX01lbnVJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIGtfTWVudUludGVyZmFjZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTWVudUV2ZW50VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTWVudUV2ZW50VHlwZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZNZW51SXRlbVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZNZW51SXRlbTsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY29uc3Qga19NZW51SW50ZXJmYWNlID0gXFxcImFhcmR2YXJrLW1lbnVAMVxcXCI7XFxyXFxudmFyIE1lbnVFdmVudFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChNZW51RXZlbnRUeXBlKSB7XFxyXFxuICAgIE1lbnVFdmVudFR5cGVbXFxcIkFjdGl2YXRlXFxcIl0gPSBcXFwiYWN0aXZhdGVcXFwiO1xcclxcbn0pKE1lbnVFdmVudFR5cGUgfHwgKE1lbnVFdmVudFR5cGUgPSB7fSkpO1xcclxcbi8qKiBBIGNvbXBvbmVudCB0aGF0IHNpZ25hbHMgd2hlbiBpdCBpcyBncmFiYmVkLiAqL1xcclxcbmNsYXNzIEF2TWVudUl0ZW0gZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLnN0YXRlID1cXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIG1lbnVDb3VudDogMCxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICB9XFxyXFxuICAgIG9uTWVudShhY3RpdmVNZW51KSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUubWVudUNvdW50ID09IDApIHtcXHJcXG4gICAgICAgICAgICAoX2IgPSAoX2EgPSB0aGlzLnByb3BzKS5vbkhpZ2hsaWdodCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiB7IHJldHVybiB7IG1lbnVDb3VudDogcHJldlN0YXRlLm1lbnVDb3VudCArIDEgfTsgfSk7XFxyXFxuICAgICAgICBhY3RpdmVNZW51Lm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hLCBfYjtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBNZW51RXZlbnRUeXBlLkFjdGl2YXRlOlxcclxcbiAgICAgICAgICAgICAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykub25TZWxlY3QpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlTWVudS5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHsgcmV0dXJuIHsgbWVudUNvdW50OiBwcmV2U3RhdGUubWVudUNvdW50IC0gMSB9OyB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCBzY2FsZSA9ICh0aGlzLnN0YXRlLm1lbnVDb3VudCA+IDApID8gMS4xIDogMS4wO1xcclxcbiAgICAgICAgbGV0IHZvbHVtZTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJhZGl1cykge1xcclxcbiAgICAgICAgICAgIHZvbHVtZSA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLlNwaGVyZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJhZGl1czogdGhpcy5wcm9wcy5yYWRpdXMsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGVsVXJpKSB7XFxyXFxuICAgICAgICAgICAgdm9sdW1lID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uTW9kZWxCb3gsXFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmk6IHRoaXMucHJvcHMubW9kZWxVcmksXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkZyYWdtZW50XFxcIl0sIG51bGwsXFxyXFxuICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB1bmlmb3JtU2NhbGU6IHNjYWxlIH0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubW9kZWxVcmkgJiYgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiB0aGlzLnByb3BzLm1vZGVsVXJpLCBjb2xvcjogdGhpcy5wcm9wcy5jb2xvciB9KSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlbiksXFxyXFxuICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdm9sdW1lOiB2b2x1bWUsIHByaW9yaXR5OiAyMCwgcmVjZWl2ZXM6IFt7IGlmYWNlOiBrX01lbnVJbnRlcmZhY2UsIHByb2Nlc3NvcjogdGhpcy5vbk1lbnUgfV0gfSkpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdk1lbnVJdGVtLnByb3RvdHlwZSwgXFxcIm9uTWVudVxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5dFpXNTFYMmwwWlcwdWRITjRQMkkzTkRraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN096czdPMEZCUVRaRk8wRkJRek5ETzBGQlEwZzdRVUZEYTBRN1FVRkRkRU03UVVGRlVUdEJRWEZETlVNc1RVRkJUU3hsUVVGbExFZEJRVWNzYVVKQlFXbENMRU5CUVVNN1FVRkZha1FzU1VGQldTeGhRVWRZTzBGQlNFUXNWMEZCV1N4aFFVRmhPMGxCUlhoQ0xITkRRVUZ4UWp0QlFVTjBRaXhEUVVGRExFVkJTRmNzWVVGQllTeExRVUZpTEdGQlFXRXNVVUZIZUVJN1FVRlJSQ3h0UkVGQmJVUTdRVUZETlVNc1RVRkJUU3hWUVVGWExGTkJRVkVzSzBOQlFTdERPMGxCUlRsRkxGbEJRV0VzUzBGQlZUdFJRVVYwUWl4TFFVRkxMRU5CUVVVc1MwRkJTeXhEUVVGRkxFTkJRVU03VVVGRlppeEpRVUZKTEVOQlFVTXNTMEZCU3p0WlFVTldPMmRDUVVORExGTkJRVk1zUlVGQlJTeERRVUZETzJGQlExb3NRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkhUeXhOUVVGTkxFTkJRVVVzVlVGQk1rSTdPMUZCUlRGRExFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRWxCUVVrc1EwRkJReXhGUVVNM1FqdFpRVU5ETEdkQ1FVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRExGZEJRVmNzYlVSQlFVczdVMEZETTBJN1VVRkZSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVVXNVMEZCVXl4RlFVRkhMRVZCUVVVc1IwRkJSeXhQUVVGUExFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNRMEZCUXl4VFFVRlRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVnlSaXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZGTEVOQlFVVXNTMEZCWjBJc1JVRkJSeXhGUVVGRk96dFpRVVV4UXl4UlFVRlJMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRMnhDTzJkQ1FVTkRMRXRCUVVzc1lVRkJZU3hEUVVGRExGRkJRVkU3YjBKQlF6RkNMR2RDUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZETEZGQlFWRXNiVVJCUVVzN2IwSkJRM2hDTEUxQlFVMDdZVUZEVUR0UlFVTkdMRU5CUVVNc1EwRkJSU3hEUVVGRE8xRkJSVW9zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUlN4SFFVRkhMRVZCUVVVN1dVRkZlRUlzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUlN4RFFVRkZMRk5CUVZNc1JVRkJSeXhGUVVGRkxFZEJRVWNzVDBGQlR5eEZRVUZGTEZOQlFWTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkZMRU5CUVVNN1VVRkRkRVlzUTBGQlF5eERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVk5MRTFCUVUwN1VVRkZXaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dFJRVU55UkN4SlFVRkpMRTFCUVdkQ0xFTkJRVU03VVVGRGNrSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUlVGRGNrSTdXVUZEUXl4TlFVRk5PMmRDUVVOT08yOUNRVU5ETEVsQlFVa3NSVUZCUlN4MVJVRkJWeXhEUVVGRExFMUJRVTA3YjBKQlEzaENMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMDdhVUpCUTNwQ0xFTkJRVU03VTBGRFJqdGhRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFVkJRelZDTzFsQlEwTXNUVUZCVFR0blFrRkRUanR2UWtGRFF5eEpRVUZKTEVWQlFVVXNkVVZCUVZjc1EwRkJReXhSUVVGUk8yOUNRVU14UWl4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTzJsQ1FVTjRRaXhEUVVGRE8xTkJRMFk3VVVGRlJDeFBRVUZQTzFsQlEwNHNiMFJCUVVNc0swUkJRVmNzU1VGQlF5eFpRVUZaTEVWQlFVY3NTMEZCU3p0blFrRkRPVUlzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRWxCUVVrc2IwUkJRVU1zZFVSQlFVOHNTVUZCUXl4SFFVRkhMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlF6RkVMRXRCUVVzc1JVRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NSMEZCU1R0blFrRkRNMElzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUTFJN1dVRkRaQ3h2UkVGQlF5dzBSVUZCYVVJc1NVRkJReXhOUVVGTkxFVkJRVWNzVFVGQlRTeEZRVUZITEZGQlFWRXNSVUZCUnl4RlFVRkZMRVZCUTJwRUxGRkJRVkVzUlVGQlJ5eERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1JVRkJSU3hUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkZMRWRCUVVrc1EwRkRjRVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdRMEZEUkR0QlFYaEVRVHRKUVVSRExIRkVRVUZKTzNkRFFYZENTaUlzSW1acGJHVWlPaUl1TDNOeVl5OWhZWEprZG1GeWExOXRaVzUxWDJsMFpXMHVkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRWFpXYjJ4MWJXVXNJRVZXYjJ4MWJXVlVlWEJsTENCQmRrTnZiRzl5SUgwZ1puSnZiU0FuUUdGaGNtUjJZWEpyZUhJdllXRnlaSFpoY21zdGMyaGhjbVZrSnp0Y2NseHVhVzF3YjNKMElHSnBibVFnWm5KdmJTQW5ZbWx1WkMxa1pXTnZjbUYwYjNJbk8xeHlYRzVwYlhCdmNuUWdLaUJoY3lCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTd2dRWFpKYm5SbGNtWmhZMlZGYm5ScGRIa2dmU0JtY205dElDY3VMMkZoY21SMllYSnJYMmx1ZEdWeVptRmpaVjlsYm5ScGRIa25PMXh5WEc1cGJYQnZjblFnZXlCQmRrMXZaR1ZzSUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5dGIyUmxiQ2M3WEhKY2JtbHRjRzl5ZENCN0lGQmhibVZzVW1WeGRXVnpkQ3dnVUdGdVpXeFNaWEYxWlhOMFZIbHdaU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0dGdVpXd25PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dVhISmNibHh5WEc0dktpb2dVSEp2Y0hNZ1ptOXlJSHRBYkdsdWF5QkJkazFsYm5WSmRHVnRmU0FxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMWxiblZKZEdWdFVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR1VnYjI1VFpXeGxZM1FnWTJGc2JHSmhZMnNnYVhNZ1kyRnNiR1ZrSUhkb1pXNGdkR2hsSUcxbGJuVWdZblYwZEc5dUlHbHpJSEpsYkdWaGMyVmtJSGRvYVd4bElHOXVJSFJvWlNCdFpXNTFJR2wwWlcwdUlDb3ZYSEpjYmx4MGIyNVRaV3hsWTNRL09pQW9LU0E5UGlCMmIybGtPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJRzl1U0dsbmFHeHBaMmgwSUdOaGJHeGlZV05ySUdseklHTmhiR3hsWkNCM2FHVnVJSFJvWlNCdFpXNTFJR2wwWlcwZ2FYTWdkRzkxWTJobFpDQmllU0IwYUdVZ1ozSmhZbUpsY2lBb1lXNWtJSGRwYkd3Z1hISmNibHgwSUNvZ1ltVWdjMlZzWldOMFpXUWdhV1lnZEdobElIVnpaWElnY21Wc1pXRnpaWE1nZEdobElHMWxiblVnWW5WMGRHOXVMaWtnS2k5Y2NseHVYSFJ2YmtocFoyaHNhV2RvZEQ4NklDZ3BJRDArSUhadmFXUTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdWVkpKSUc5bUlIUm9aU0JIVEZSR0lHMXZaR1ZzSUhSdklIVnpaU0JtYjNJZ2RHaHBjeUJuY21GaUlHSjFkSFJ2Ymk0Z1JYaGhZM1JzZVNCdmJtVmNjbHh1WEhRZ0tpQnZaaUJ0YjJSbGJGVnlhU0JoYm1RZ2NtRmthWFZ6SUcxMWMzUWdZbVVnYzNCbFkybG1hV1ZrTGlCSlppQnRiMlJsYkZWeWFTQnBjeUJ6Y0dWamFXWnBaV1FzWEhKY2JseDBJQ29nZEdobElHSnZkVzVrYVc1bklHSnZlQ0J2WmlCMGFHVWdiVzlrWld3Z2QybHNiQ0JoYkhOdklHSmxJSFZ6WldRZ1lYTWdkR2hsSUdkeVlXSmlZV0pzWlZ4eVhHNWNkQ0FxSUhKbFoybHZiaUJtYjNJZ2RHaGxJR0oxZEhSdmJpNWNjbHh1WEhRZ0tpOWNjbHh1WEhSdGIyUmxiRlZ5YVQ4NklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCamIyeHZjaUIwYnlCaGNIQnNlU0IwYnlCMGFHVWdiVzlrWld3dVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2JtOXVaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RHTnZiRzl5UHpvZ2MzUnlhVzVuSUh3Z1FYWkRiMnh2Y2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCeVlXUnBkWE1nYjJZZ2RHaGxJSE53YUdWeVpTQjBhR0YwSUdSbFptbHVaWE1nZEdobElHZHlZV0ppWVdKc1pTQm9ZVzVrYkdVZ1ptOXlJSFJvYVhNZ1hISmNibHgwSUNvZ1ozSmhZaUJpZFhSMGIyNHVJRVY0WVdOMGJIa2diMjVsSUc5bUlHMXZaR1ZzVlhKcElHRnVaQ0J5WVdScGRYTWdiWFZ6ZENCaVpTQnpjR1ZqYVdacFpXUXVYSEpjYmx4MElDb3ZYSEpjYmx4MGNtRmthWFZ6UHpvZ2JuVnRZbVZ5TzF4eVhHNTlYSEpjYmx4eVhHNXBiblJsY21aaFkyVWdUV1Z1ZFVsMFpXMVRkR0YwWlZ4eVhHNTdYSEpjYmx4MGJXVnVkVU52ZFc1ME9pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQmpiMjV6ZENCclgwMWxiblZKYm5SbGNtWmhZMlVnUFNCY0ltRmhjbVIyWVhKckxXMWxiblZBTVZ3aU8xeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdUV1Z1ZFVWMlpXNTBWSGx3WlZ4eVhHNTdYSEpjYmx4MFFXTjBhWFpoZEdVZ1BTQmNJbUZqZEdsMllYUmxYQ0lzWEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RXVnVkVVYyWlc1MFhISmNibnRjY2x4dVhIUjBlWEJsT2lCTlpXNTFSWFpsYm5SVWVYQmxPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVFZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYzJsbmJtRnNjeUIzYUdWdUlHbDBJR2x6SUdkeVlXSmlaV1F1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrMWxiblZKZEdWdElHVjRkR1Z1WkhNZ1VtVmhZM1F1UTI5dGNHOXVaVzUwUENCTlpXNTFTWFJsYlZCeWIzQnpMQ0JOWlc1MVNYUmxiVk4wWVhSbElENWNjbHh1ZTF4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCd2NtOXdjem9nWVc1NUlDbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhISmNibHgwWEhSMGFHbHpMbk4wWVhSbElEMGdYSEpjYmx4MFhIUjdJRnh5WEc1Y2RGeDBYSFJ0Wlc1MVEyOTFiblE2SURBc1hISmNibHgwWEhSOU8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUV1Z1ZFNnZ1lXTjBhWFpsVFdWdWRUb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1emRHRjBaUzV0Wlc1MVEyOTFiblFnUFQwZ01DQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWNISnZjSE11YjI1SWFXZG9iR2xuYUhRL0xpZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JQ2dnY0hKbGRsTjBZWFJsSUNrZ1BUNGdleUJ5WlhSMWNtNGdleUJ0Wlc1MVEyOTFiblE2SUhCeVpYWlRkR0YwWlM1dFpXNTFRMjkxYm5RZ0t5QXhJSDA3SUgwZ0tUdGNjbHh1WEhKY2JseDBYSFJoWTNScGRtVk5aVzUxTG05dVJYWmxiblFvSUNnZ1pYWmxiblE2SUUxbGJuVkZkbVZ1ZENBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSE4zYVhSamFDZ2daWFpsYm5RdWRIbHdaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmpZWE5sSUUxbGJuVkZkbVZ1ZEZSNWNHVXVRV04wYVhaaGRHVTZYSEpjYmx4MFhIUmNkRngwWEhSMGFHbHpMbkJ5YjNCekxtOXVVMlZzWldOMFB5NG9LVHRjY2x4dVhIUmNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxUV1Z1ZFM1dmJrVnVaR1ZrS0NBb0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxuTmxkRk4wWVhSbEtDQW9JSEJ5WlhaVGRHRjBaU0FwSUQwK0lIc2djbVYwZFhKdUlIc2diV1Z1ZFVOdmRXNTBPaUJ3Y21WMlUzUmhkR1V1YldWdWRVTnZkVzUwSUMwZ01TQjlPeUI5SUNrN1hISmNibHgwWEhSOUtWeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ2MyTmhiR1VnUFNBb0lIUm9hWE11YzNSaGRHVXViV1Z1ZFVOdmRXNTBJRDRnTUNBcElEOGdNUzR4SURvZ01TNHdPMXh5WEc1Y2RGeDBiR1YwSUhadmJIVnRaVG9nUVhaV2IyeDFiV1U3WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV3Y205d2N5NXlZV1JwZFhNZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjJiMngxYldVZ1BTQmNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSNWNHVTZJRVZXYjJ4MWJXVlVlWEJsTGxOd2FHVnlaU3hjY2x4dVhIUmNkRngwWEhSeVlXUnBkWE02SUhSb2FYTXVjSEp2Y0hNdWNtRmthWFZ6TEZ4eVhHNWNkRngwWEhSOU8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaU0JwWmlnZ2RHaHBjeTV3Y205d2N5NXRiMlJsYkZWeWFTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFp2YkhWdFpTQTlJRnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGRIbHdaVG9nUlZadmJIVnRaVlI1Y0dVdVRXOWtaV3hDYjNnc1hISmNibHgwWEhSY2RGeDBkWEpwT2lCMGFHbHpMbkJ5YjNCekxtMXZaR1ZzVlhKcExGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUE4UGx4eVhHNWNkRngwWEhROFFYWlVjbUZ1YzJadmNtMGdkVzVwWm05eWJWTmpZV3hsUFhzZ2MyTmhiR1VnZlQ1Y2NseHVYSFJjZEZ4MFhIUjdJSFJvYVhNdWNISnZjSE11Ylc5a1pXeFZjbWtnSmlZZ1BFRjJUVzlrWld3Z2RYSnBQWHNnZEdocGN5NXdjbTl3Y3k1dGIyUmxiRlZ5YVNCOUlGeHlYRzVjZEZ4MFhIUmNkRngwWTI5c2IzSTlleUIwYUdsekxuQnliM0J6TG1OdmJHOXlJSDB2UGlCOVhISmNibHgwWEhSY2RGeDBleUIwYUdsekxuQnliM0J6TG1Ob2FXeGtjbVZ1SUgxY2NseHVYSFJjZEZ4MFBDOUJkbFJ5WVc1elptOXliVDVjY2x4dVhIUmNkRngwUEVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUhadmJIVnRaVDE3SUhadmJIVnRaU0I5SUhCeWFXOXlhWFI1UFhzZ01qQWdmVnh5WEc1Y2RGeDBYSFJjZEhKbFkyVnBkbVZ6UFhzZ1d5QjdJR2xtWVdObE9pQnJYMDFsYm5WSmJuUmxjbVpoWTJVc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrMWxiblVnZlNCZElIMHZQbHh5WEc1Y2RGeDBQQzgrTzF4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfbWVudV9pdGVtLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19tb2RlbC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2TW9kZWwgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2TW9kZWxcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2TW9kZWw7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGNvbG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb2xvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29sb3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihjb2xvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBDYXVzZXMgYSBHTFRGIG1vZGVsIHRvIGJlIGRyYXduIGF0IHRoZSBzcGVjaWZpZWQgbG9jYXRpb24gaW4gdGhlIHRyYW5zZm9ybSBoaWVyYXJjaHkuICovXFxyXFxuY2xhc3MgQXZNb2RlbCBleHRlbmRzIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiQXZCYXNlTm9kZVxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcXHJcXG4gICAgICAgIHN1cGVyKHByb3BzKTtcXHJcXG4gICAgICAgIHRoaXMubV9zaGFyZWRUZXh0dXJlSW5mbyA9IG51bGw7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy51c2VCcm93c2VyVGV4dHVyZSkge1xcclxcbiAgICAgICAgICAgIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZcXFwiXSkoKS5zdWJzY3JpYmVUb0Jyb3dzZXJUZXh0dXJlKHRoaXMub25VcGRhdGVCcm93c2VyVGV4dHVyZSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25VcGRhdGVCcm93c2VyVGV4dHVyZShpbmZvKSB7XFxyXFxuICAgICAgICB0aGlzLm1fc2hhcmVkVGV4dHVyZUluZm8gPSBpbmZvO1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkubWFya0RpcnR5KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgYnVpbGROb2RlKCkge1xcclxcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGVPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5Nb2RlbCwgdGhpcy5tX25vZGVJZCk7XFxyXFxuICAgICAgICBub2RlLnByb3BNb2RlbFVyaSA9IHRoaXMucHJvcHMudXJpO1xcclxcbiAgICAgICAgbm9kZS5wcm9wU2NhbGVUb0ZpdCA9IHRoaXMucHJvcHMuc2NhbGVUb0ZpdDtcXHJcXG4gICAgICAgIG5vZGUucHJvcE92ZXJsYXlPbmx5ID0gdGhpcy5wcm9wcy5vdmVybGF5T25seTtcXHJcXG4gICAgICAgIG5vZGUucHJvcEFuaW1hdGlvblNvdXJjZSA9IHRoaXMucHJvcHMuYW5pbWF0aW9uU291cmNlO1xcclxcbiAgICAgICAgbGV0IGNvbG9yO1xcclxcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLmNvbG9yID09PSBcXFwic3RyaW5nXFxcIikge1xcclxcbiAgICAgICAgICAgIGxldCB0bXBDb2xvciA9IGNvbG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18odGhpcy5wcm9wcy5jb2xvcik7XFxyXFxuICAgICAgICAgICAgY29sb3IgPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByOiB0bXBDb2xvci5yZWQoKSAvIDI1NSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGc6IHRtcENvbG9yLmdyZWVuKCkgLyAyNTUsXFxyXFxuICAgICAgICAgICAgICAgICAgICBiOiB0bXBDb2xvci5ibHVlKCkgLyAyNTUsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBjb2xvciA9IHRoaXMucHJvcHMuY29sb3I7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBub2RlLnByb3BDb2xvciA9IGNvbG9yO1xcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudXNlQnJvd3NlclRleHR1cmUpIHtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5tX3NoYXJlZFRleHR1cmVJbmZvKSB7XFxyXFxuICAgICAgICAgICAgICAgIG5vZGUucHJvcFNoYXJlZFRleHR1cmUgPSB0aGlzLm1fc2hhcmVkVGV4dHVyZUluZm87XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAvLyB3ZSBkb24ndCBoYXZlIG91ciBzaGFyZWQgdGV4dHVyZSBpbmZvIHlldC4gRG9uJ3Qgc2hvdyB0aGUgbW9kZWwgdW50aWxcXHJcXG4gICAgICAgICAgICAgICAgLy8gaXQgYXJyaXZlc1xcclxcbiAgICAgICAgICAgICAgICBub2RlLmZsYWdzICY9IH5fYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiRU5vZGVGbGFnc1xcXCJdLlZpc2libGU7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGhpcy5wcm9wcy51c2VUZXh0dXJlRnJvbVVybCkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFNoYXJlZFRleHR1cmUgPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiRVRleHR1cmVUeXBlXFxcIl0uVGV4dHVyZVVybCwgZm9ybWF0OiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiRVRleHR1cmVGb3JtYXRcXFwiXS5SOEc4QjhBOCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5wcm9wcy51c2VUZXh0dXJlRnJvbVVybCxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMuc2hhcmVkVGV4dHVyZSkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFNoYXJlZFRleHR1cmUgPSB0aGlzLnByb3BzLnNoYXJlZFRleHR1cmU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZNb2RlbC5wcm90b3R5cGUsIFxcXCJvblVwZGF0ZUJyb3dzZXJUZXh0dXJlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl0YjJSbGJDNTBjM2cvWkdGak9DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN096czdRVUZCYTBNN1FVRkRTRHRCUVVOdlF6dEJRVU0wUlR0QlFVTnNSenRCUVN0RU4wTXNORVpCUVRSR08wRkJRM0pHTEUxQlFVMHNUMEZCVVN4VFFVRlJMRGhFUVVFNFFqdEpRVWt4UkN4WlFVRmhMRXRCUVZVN1VVRkZkRUlzUzBGQlN5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMUZCU2xJc2QwSkJRVzFDTEVkQlFYZENMRWxCUVVrc1EwRkJRenRSUVUxMlJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVWQlEyaERPMWxCUTBNc2MwVkJRVVVzUlVGQlJTeERRVUZETEhsQ1FVRjVRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1EwRkJSU3hEUVVGRE8xTkJRemxFTzBsQlEwWXNRMEZCUXp0SlFVZFBMSE5DUVVGelFpeERRVUZGTEVsQlFYbENPMUZCUlhoRUxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGFFTXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTnFReXhEUVVGRE8wbEJSVTBzVTBGQlV6dFJRVVZtTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUlN4elJVRkJWU3hEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVNN1VVRkZjRVVzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF6dFJRVU51UXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRPMUZCUXpWRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRE9VTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRE8xRkJSWFJFTEVsQlFVa3NTMEZCWXl4RFFVRkRPMUZCUTI1Q0xFbEJRVWtzVDBGQlR5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1MwRkJTeXhSUVVGUkxFVkJRM2hETzFsQlEwTXNTVUZCU1N4UlFVRlJMRWRCUVVjc2EwTkJRVXNzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJSU3hEUVVGRE8xbEJRM3BETEV0QlFVczdaMEpCUTB3N2IwSkJRME1zUTBGQlF5eEZRVUZGTEZGQlFWRXNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhIUVVGSE8yOUNRVU4yUWl4RFFVRkRMRVZCUVVVc1VVRkJVU3hEUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVkQlFVYzdiMEpCUTNwQ0xFTkJRVU1zUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWRCUVVjc1IwRkJSenRwUWtGRGVFSXNRMEZCUXp0VFFVTkdPMkZCUlVRN1dVRkRReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxPMU5CUTNoQ08xRkJRMFFzU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkZka0lzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeEZRVU5vUXp0WlFVTkRMRWxCUVVrc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RlFVTTFRanRuUWtGRFF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRE8yRkJRMnhFTzJsQ1FVVkVPMmRDUVVORExIZEZRVUYzUlR0blFrRkRlRVVzWVVGQllUdG5Ra0ZEWWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zYzBWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNN1lVRkRiRU03VTBGRFJEdGhRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNSVUZEY2tNN1dVRkRReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENPMmRDUVVOMFFqdHZRa0ZEUXl4SlFVRkpMRVZCUVVVc2QwVkJRVmtzUTBGQlF5eFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMREJGUVVGakxFTkJRVU1zVVVGQlVUdHZRa0ZET1VRc1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNhVUpCUVdsQ08ybENRVU5xUXl4RFFVRkRPMU5CUTBZN1lVRkRTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4RlFVTnFRenRaUVVORExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdGQlFXRXNRMEZCUXp0VFFVTnNSRHRSUVVWRUxFOUJRVThzU1VGQlNTeERRVUZETzBsQlEySXNRMEZCUXp0RFFVTkVPMEZCTlVSQk8wbEJSRU1zY1VSQlFVazdjVVJCUzBvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmYlc5a1pXd3VkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElHSnBibVFnWm5KdmJTQW5ZbWx1WkMxa1pXTnZjbUYwYjNJbk8xeHlYRzVwYlhCdmNuUWdLaUJoY3lCRGIyeHZjaUJtY205dElDZGpiMnh2Y2ljN1hISmNibWx0Y0c5eWRDQjdJRUYyUW1GelpVNXZaR1VzSUVGMlFtRnpaVTV2WkdWUWNtOXdjeUI5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWW1GelpWOXViMlJsSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpPYjJSbFZIbHdaU3dnUVhaRGIyeHZjaXdnUVhaV1pXTjBiM0lzSUVGMlUyaGhjbVZrVkdWNGRIVnlaVWx1Wm04c0lFRjJMQ0JGVG05a1pVWnNZV2R6TENCRlZHVjRkSFZ5WlZSNWNHVXNJRVZVWlhoMGRYSmxSbTl5YldGMElIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRrMXZaR1ZzZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVFc5a1pXeFFjbTl3Y3lCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdWUWNtOXdjMXh5WEc1N1hISmNibHgwTHlvcUlGUm9aU0JWVWtrZ2IyWWdkR2hsSUVkTVZFWWdiVzlrWld3Z2RHOGdkWE5sSUdadmNpQjBhR2x6SUcxdlpHVnNMaUFxTDF4eVhHNWNkSFZ5YVRvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdOdmJHOXlJSFJwYm5RZ2RHOGdZWEJ3YkhrZ2RHOGdkR2hwY3lCdGIyUmxiQ0IzYUdWdUlHbDBJR2x6WEhKY2JseDBJQ29nWkdsemNHeGhlV1ZrTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUc1dklIUnBiblJjY2x4dVhIUWdLaTljY2x4dVhIUmpiMnh2Y2o4NklFRjJRMjlzYjNJZ2ZDQnpkSEpwYm1jN1hISmNibHh5WEc1Y2RDOHFLaUJQYm14NUlIUm9aU0J3WVhKMGN5QnZaaUIwYUdVZ2JXOWtaV3dnZEdoaGRDQmhjbVVnWENKdmJpQjBiM0JjSWlCdlppQmhibTkwYUdWeVhISmNibHgwSUNvZ1FXRnlaSFpoY21zdGNtVnVaR1Z5WldRZ2NHbDRaV3dnYzJodmRXeGtJR0psSUdSeVlYZHVMaUJVYUdseklHTmhiaUJpWlNCMWMyVmtJRnh5WEc1Y2RDQXFJSFJ2SUdSeVlYY2dRV0Z5WkhaaGNtc2djbVZ3YkdGalpXMWxiblJ6SUdadmNpQjBhR2x1WjNNZ2RHaGhkQ0J2ZEdobGNpQmNjbHh1WEhRZ0tpQkJZWEprZG1GeWF5MWtjbUYzYmlCblpXOXRaWFJ5ZVNCdFlYa2dZbVVnYUdsa2FXNW5MQ0J6ZFdOb0lHRnpJR2hoYm1RZ2JXOWtaV3h6TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUdaaGJITmxYSEpjYmx4MElDb3ZYSEpjYmx4MGIzWmxjbXhoZVU5dWJIay9PaUJpYjI5c1pXRnVPMXh5WEc1Y2NseHVYSFF2S2lvZ1VHRjBhQ0J2WmlCMGFHVWdjbVZ6YjNWeVkyVWdkRzhnZFhObElHRnpJSFJvWlNCemIzVnlZMlVnWm05eUlHRnVhVzFoZEdsdmJuTWdhVzVjY2x4dVhIUWdLaUIwYUdseklHMXZaR1ZzTGlCQmRDQjBhR1VnYlc5dFpXNTBJRzl1YkhrZ0wzVnpaWEl2YUdGdVpDOXNaV1owSUdGdVpDQXZkWE5sY2k5b1lXNWtMM0pwWjJoMFhISmNibHgwSUNvZ1lYSmxJSE4xY0hCdmNuUmxaQ0JtYjNJZ2JHVm1kQ0JoYm1RZ2NtbG5hSFFnYUdGdVpDQnphMlZzWlhSdmJpQnBiWEIxZEhNdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2JtOXVaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RHRnVhVzFoZEdsdmJsTnZkWEpqWlQ4NklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRU5oZFhObGN5QjBhR1VnYlc5a1pXd2dkRzhnWW1VZ2RXNXBabTl5Yld4NUlITmpZV3hsWkNCMWNDQnZjaUJrYjNkdUlITnZYSEpjYmx4MElDb2dkR2hoZENCcGRITWdZbTkxYm1ScGJtY2dZbTk0SUhSdmRXTm9aWE1nWVhRZ2JHVmhjM1FnYjI1bElHOW1JSFJvWlNBdGVDd2dLM2dzWEhKY2JseDBJQ29nTFhrc0lDdDVMQ0F0ZWl3Z2IzSWdLM29nY0d4aGJtVnpMaUJCYm5rZ1lYaHBjeUIwYUdGMElHbHpJREFnYjNJZ2RXNXpjR1ZqYVdacFpXUmNjbHh1WEhRZ0tpQjNhV3hzSUc1dmRDQmlaU0JqYjI1emFXUmxjbVZrSUhkb1pXNGdZMjl0Y0hWMGFXNW5JSFJvWlNCelkyRnNaU0JtYjNJZ2RHaGxJRzF2WkdWc0xseHlYRzVjZENBcUlGeHlYRzVjZENBcUlGUm9hWE1nYzJOaGJHbHVaeUJvWVhCd1pXNXpJR2x1YzJsa1pTQmhibmtnZEhKaGJuTm1iM0p0Y3lCdmJpQndZWEpsYm5RZ2JtOWtaWE11WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnVG04Z2MyTmhiR2x1WjF4eVhHNWNkQ0FxTDF4eVhHNWNkSE5qWVd4bFZHOUdhWFEvT2lCQmRsWmxZM1J2Y2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJsYkd4eklFRmhjbVIyWVhKcklIUnZJSFZ6WlNCMGFHVWdkR1Y0ZEhWeVpTQnZaaUIwYUdseklHZGhaR2RsZENkeklHSnliM2R6WlhJZ2RHOGdYSEpjYmx4MElDb2djbVZ3YkdGalpTQjBhR1VnZEdWNGRIVnlaU0J6ZFhCd2JHbGxaQ0JpZVNCMGFHVWdiVzlrWld3Z2FYUnpaV3htTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUdaaGJITmxYSEpjYmx4MElDb3ZYSEpjYmx4MGRYTmxRbkp2ZDNObGNsUmxlSFIxY21VL09pQmliMjlzWldGdU8xeHlYRzVjY2x4dVhIUXZLaW9nVkdWc2JITWdRV0Z5WkhaaGNtc2dkRzhnZFhObElIUm9aU0IwWlhoMGRYSmxJR0YwSUhSb1pTQnpjR1ZqYVdacFpXUWdWVkpNSUhSdklHOTJaWEp5YVdSbElIUm9aVnh5WEc1Y2RDQXFJSFJsZUhSMWNtVWdZbUZyWldRZ2FXNTBieUIwYUdVZ2JXOWtaV3d1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENBcUwxeHlYRzVjZEhWelpWUmxlSFIxY21WR2NtOXRWWEpzUHpvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dWR1ZzYkhNZ1FXRnlaSFpoY21zZ2RHOGdkWE5sSUhSb2FYTWdkR1Y0ZEhWeVpTQjBieUJ5WlhCc1lXTmxJSFJvWlNCMFpYaDBkWEpsWEhKY2JseDBJQ29nYzNWd2NHeHBaV1FnWW5rZ2RHaGxJRzF2WkdWc0lHbDBjMlZzWmx4eVhHNWNkQ0FxTDF4eVhHNWNkSE5vWVhKbFpGUmxlSFIxY21VL09pQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRMkYxYzJWeklHRWdSMHhVUmlCdGIyUmxiQ0IwYnlCaVpTQmtjbUYzYmlCaGRDQjBhR1VnYzNCbFkybG1hV1ZrSUd4dlkyRjBhVzl1SUdsdUlIUm9aU0IwY21GdWMyWnZjbTBnYUdsbGNtRnlZMmg1TGlBcUwxeHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWk5iMlJsYkNCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJUVzlrWld4UWNtOXdjeXdnZTMwZ1BseHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRYM05vWVhKbFpGUmxlSFIxY21WSmJtWnZPaUJCZGxOb1lYSmxaRlJsZUhSMWNtVkpibVp2SUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwWTI5dWMzUnlkV04wYjNJb0lIQnliM0J6T2lCaGJua2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RITjFjR1Z5S0NCd2NtOXdjeUFwTzF4eVhHNWNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG5WelpVSnliM2R6WlhKVVpYaDBkWEpsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFFYWW9LUzV6ZFdKelkzSnBZbVZVYjBKeWIzZHpaWEpVWlhoMGRYSmxLQ0IwYUdsekxtOXVWWEJrWVhSbFFuSnZkM05sY2xSbGVIUjFjbVVnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtJRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNVZjR1JoZEdWQ2NtOTNjMlZ5VkdWNGRIVnlaU2dnYVc1bWJ6b2dRWFpUYUdGeVpXUlVaWGgwZFhKbFNXNW1ieUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dFgzTm9ZWEpsWkZSbGVIUjFjbVZKYm1adklEMGdhVzVtYnp0Y2NseHVYSFJjZEVGMlIyRmtaMlYwTG1sdWMzUmhibU5sS0NrdWJXRnlhMFJwY25SNUtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1luVnBiR1JPYjJSbEtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdibTlrWlNBOUlIUm9hWE11WTNKbFlYUmxUbTlrWlU5aWFtVmpkQ2dnUVhaT2IyUmxWSGx3WlM1TmIyUmxiQ3dnZEdocGN5NXRYMjV2WkdWSlpDQXBPMXh5WEc1Y2RGeDBYSEpjYmx4MFhIUnViMlJsTG5CeWIzQk5iMlJsYkZWeWFTQTlJSFJvYVhNdWNISnZjSE11ZFhKcE8xeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1UyTmhiR1ZVYjBacGRDQTlJSFJvYVhNdWNISnZjSE11YzJOaGJHVlViMFpwZER0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0U5MlpYSnNZWGxQYm14NUlEMGdkR2hwY3k1d2NtOXdjeTV2ZG1WeWJHRjVUMjVzZVR0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VGdWFXMWhkR2x2YmxOdmRYSmpaU0E5SUhSb2FYTXVjSEp2Y0hNdVlXNXBiV0YwYVc5dVUyOTFjbU5sTzF4eVhHNWNkRngwWEhKY2JseDBYSFJzWlhRZ1kyOXNiM0k2SUVGMlEyOXNiM0k3WEhKY2JseDBYSFJwWmlnZ2RIbHdaVzltSUhSb2FYTXVjSEp2Y0hNdVkyOXNiM0lnUFQwOUlGd2ljM1J5YVc1blhDSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2RHMXdRMjlzYjNJZ1BTQkRiMnh2Y2lnZ2RHaHBjeTV3Y205d2N5NWpiMnh2Y2lBcE8xeHlYRzVjZEZ4MFhIUmpiMnh2Y2lBOUlGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwY2pvZ2RHMXdRMjlzYjNJdWNtVmtLQ2tnTHlBeU5UVXNYSEpjYmx4MFhIUmNkRngwWnpvZ2RHMXdRMjlzYjNJdVozSmxaVzRvS1NBdklESTFOU3hjY2x4dVhIUmNkRngwWEhSaU9pQjBiWEJEYjJ4dmNpNWliSFZsS0NrZ0x5QXlOVFVzWEhKY2JseDBYSFJjZEgwN1hISmNibHgwWEhSOVhISmNibHgwWEhSbGJITmxYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ykc5eUlEMGdkR2hwY3k1d2NtOXdjeTVqYjJ4dmNseHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1EyOXNiM0lnUFNCamIyeHZjanRjY2x4dVhISmNibHgwWEhScFppZ2dkR2hwY3k1d2NtOXdjeTUxYzJWQ2NtOTNjMlZ5VkdWNGRIVnlaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQjBhR2x6TG0xZmMyaGhjbVZrVkdWNGRIVnlaVWx1Wm04Z0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwYm05a1pTNXdjbTl3VTJoaGNtVmtWR1Y0ZEhWeVpTQTlJSFJvYVhNdWJWOXphR0Z5WldSVVpYaDBkWEpsU1c1bWJ6dGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFF2THlCM1pTQmtiMjRuZENCb1lYWmxJRzkxY2lCemFHRnlaV1FnZEdWNGRIVnlaU0JwYm1adklIbGxkQzRnUkc5dUozUWdjMmh2ZHlCMGFHVWdiVzlrWld3Z2RXNTBhV3hjY2x4dVhIUmNkRngwWEhRdkx5QnBkQ0JoY25KcGRtVnpYSEpjYmx4MFhIUmNkRngwYm05a1pTNW1iR0ZuY3lBbVBTQitSVTV2WkdWR2JHRm5jeTVXYVhOcFlteGxPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObElHbG1LQ0IwYUdsekxuQnliM0J6TG5WelpWUmxlSFIxY21WR2NtOXRWWEpzSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtOWtaUzV3Y205d1UyaGhjbVZrVkdWNGRIVnlaU0E5WEhKY2JseDBYSFJjZEhzZ1hISmNibHgwWEhSY2RGeDBkSGx3WlRvZ1JWUmxlSFIxY21WVWVYQmxMbFJsZUhSMWNtVlZjbXdzSUdadmNtMWhkRG9nUlZSbGVIUjFjbVZHYjNKdFlYUXVVamhIT0VJNFFUZ3NYSEpjYmx4MFhIUmNkRngwZFhKc09pQjBhR2x6TG5CeWIzQnpMblZ6WlZSbGVIUjFjbVZHY205dFZYSnNMRnh5WEc1Y2RGeDBYSFI5TzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpTQnBaaWdnZEdocGN5NXdjbTl3Y3k1emFHRnlaV1JVWlhoMGRYSmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYm05a1pTNXdjbTl3VTJoaGNtVmtWR1Y0ZEhWeVpTQTlJSFJvYVhNdWNISnZjSE11YzJoaGNtVmtWR1Y0ZEhWeVpUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdibTlrWlR0Y2NseHVYSFI5WEhKY2JuMGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19tb2RlbF90cmFuc2Zvcm0udHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfbW9kZWxfdHJhbnNmb3JtLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2TW9kZWxUcmFuc2Zvcm0gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2TW9kZWxUcmFuc2Zvcm1cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2TW9kZWxUcmFuc2Zvcm07IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Jhc2Vfbm9kZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuXFxyXFxuXFxyXFxuLyoqIENhdXNlcyBhIGxpbmUgdG8gYXBwZWFyIGZyb20gdGhlIHRyYW5zZm9ybSBvZiB0aGlzIG5vZGUncyBwYXJlbnQgdG8gdGhlXFxyXFxuICogc3BlY2lmaWVkIGVuZCBwb2ludC4gKi9cXHJcXG5jbGFzcyBBdk1vZGVsVHJhbnNmb3JtIGV4dGVuZHMgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdkJhc2VOb2RlXFxcIl0ge1xcclxcbiAgICBidWlsZE5vZGUoKSB7XFxyXFxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZOb2RlVHlwZVxcXCJdLk1vZGVsVHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIG5vZGUucHJvcE1vZGVsVXJpID0gdGhpcy5wcm9wcy5tb2RlbFVyaTtcXHJcXG4gICAgICAgIG5vZGUucHJvcE1vZGVsTm9kZUlkID0gdGhpcy5wcm9wcy5tb2RlbE5vZGVJZDtcXHJcXG4gICAgICAgIHJldHVybiBub2RlO1xcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5dGIyUmxiRjkwY21GdWMyWnZjbTB1ZEhONFB6UTNNbVFpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZ0UlR0QlFVTldPMEZCWlhwRU96QkNRVU13UWp0QlFVTnVRaXhOUVVGTkxHZENRVUZwUWl4VFFVRlJMRGhFUVVGMVF6dEpRVVZ5UlN4VFFVRlRPMUZCUldZc1NVRkJTU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRkxITkZRVUZWTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVU0zUlN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRPMUZCUTNoRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRE9VTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRZaXhEUVVGRE8wTkJRMFFpTENKbWFXeGxJam9pTGk5emNtTXZZV0Z5WkhaaGNtdGZiVzlrWld4ZmRISmhibk5tYjNKdExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lFRjJRbUZ6WlU1dlpHVXNJRUYyUW1GelpVNXZaR1ZRY205d2N5QjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZbUZ6WlY5dWIyUmxKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk9iMlJsVkhsd1pTQjlJR1p5YjIwZ0owQmhZWEprZG1GeWEzaHlMMkZoY21SMllYSnJMWE5vWVhKbFpDYzdYSEpjYmx4eVhHNHZLaW9nVUhKdmNITWdabTl5SUh0QWJHbHVheUJCZGxCaGNtVnVkRlJ5WVc1elptOXliWDBnS2k5Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkazF2WkdWc1ZISmhibk5tYjNKdFVISnZjSE1nWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVWFHVWdWVkpNSUc5bUlIUm9aU0J0YjJSbGJDQjBieUJzYjJGa0lIUnZJR1pwWjNWeVpTQnZkWFFnWVNCMGNtRnVjMlp2Y20wZ1puSnZiUzRnS2k5Y2NseHVYSFJ0YjJSbGJGVnlhVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJRWxFSUc5bUlIUm9aU0J1YjJSbElHbHVJSFJvWlNCdGIyUmxiQ0IzYUc5elpTQjBjbUZ1YzJadmNtMGdjMmh2ZFd4a0lHSmxJR0Z3Y0d4cFpXUWdkRzhnWVd4c0lGeHlYRzVjZENBcUlHTm9hV3hrY21WdUlHOW1JSFJvYVhNZ2JtOWtaUzVjY2x4dVhIUWdLaTljY2x4dVhIUnRiMlJsYkU1dlpHVkpaRG9nYzNSeWFXNW5PMXh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVOaGRYTmxjeUJoSUd4cGJtVWdkRzhnWVhCd1pXRnlJR1p5YjIwZ2RHaGxJSFJ5WVc1elptOXliU0J2WmlCMGFHbHpJRzV2WkdVbmN5QndZWEpsYm5RZ2RHOGdkR2hsSUZ4eVhHNGdLaUJ6Y0dWamFXWnBaV1FnWlc1a0lIQnZhVzUwTGlBcUwxeHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWk5iMlJsYkZSeVlXNXpabTl5YlNCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJUVzlrWld4VWNtRnVjMlp2Y20xUWNtOXdjeXdnZTMwZ1BseHlYRzU3WEhKY2JseDBjSFZpYkdsaklHSjFhV3hrVG05a1pTZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzV2WkdVZ1BTQjBhR2x6TG1OeVpXRjBaVTV2WkdWUFltcGxZM1FvSUVGMlRtOWtaVlI1Y0dVdVRXOWtaV3hVY21GdWMyWnZjbTBzSUhSb2FYTXViVjl1YjJSbFNXUWdLVHRjY2x4dVhIUmNkRzV2WkdVdWNISnZjRTF2WkdWc1ZYSnBJRDBnZEdocGN5NXdjbTl3Y3k1dGIyUmxiRlZ5YVR0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0UxdlpHVnNUbTlrWlVsa0lEMGdkR2hwY3k1d2NtOXdjeTV0YjJSbGJFNXZaR1ZKWkR0Y2NseHVYSFJjZEhKbGRIVnliaUJ1YjJSbE8xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX21vZGVsX3RyYW5zZm9ybS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX29yaWdpbi50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19vcmlnaW4udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZPcmlnaW4gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2T3JpZ2luXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdk9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG5cXHJcXG5cXHJcXG4vKiogUmVwYXJlbnRzIHRoZSByb290IHRyYW5zZm9ybXMgb2YgaXRzIGNoaWxkcmVuIHRvIHRoZSBzcGVjaWZpZWQgcGF0aC4gKi9cXHJcXG5jbGFzcyBBdk9yaWdpbiBleHRlbmRzIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiQXZCYXNlTm9kZVxcXCJdIHtcXHJcXG4gICAgYnVpbGROb2RlKCkge1xcclxcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGVPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5PcmlnaW4sIHRoaXMubV9ub2RlSWQpO1xcclxcbiAgICAgICAgbm9kZS5wcm9wT3JpZ2luID0gdGhpcy5wcm9wcy5wYXRoO1xcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl2Y21sbmFXNHVkSE40UDJVM04ySWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRnRSVHRCUVVOV08wRkJaWHBFTERKRlFVRXlSVHRCUVVOd1JTeE5RVUZOTEZGQlFWTXNVMEZCVVN3NFJFRkJLMEk3U1VGRmNrUXNVMEZCVXp0UlFVVm1MRWxCUVVrc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJSU3h6UlVGQlZTeERRVUZETEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRVU03VVVGRGNrVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTnNReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5pTEVOQlFVTTdRMEZEUkNJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTl2Y21sbmFXNHVkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRWFpDWVhObFRtOWtaU3dnUVhaQ1lYTmxUbTlrWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlpWVhObFgyNXZaR1VuTzF4eVhHNXBiWEJ2Y25RZ2V5QkJkazV2WkdWVWVYQmxJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dVhISmNiaThxS2lCUWNtOXdjeUJtYjNJZ2UwQnNhVzVySUVGMlQzSnBaMmx1ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVDNKcFoybHVVSEp2Y0hNZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR1VnY0dGMGFDQjBieUJ5WlhCaGNtVnVkQ0JoYm5rZ1kyaHBiR1J5Wlc0Z2RHOHVJRnh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRkpsWVhOdmJtRmliR1VnZG1Gc2RXVnpJR0Z5WlRwY2NseHVYSFFnS2lBcUlDOTFjMlZ5TDJobFlXUmNjbHh1WEhRZ0tpQXFJQzkxYzJWeUwyaGhibVF2Y21sbmFIUmNjbHh1WEhRZ0tpQXFJQzkxYzJWeUwyaGhibVF2YkdWbWRGeHlYRzVjZENBcUwxeHlYRzVjZEhCaGRHZzZJSE4wY21sdVp6dGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlGSmxjR0Z5Wlc1MGN5QjBhR1VnY205dmRDQjBjbUZ1YzJadmNtMXpJRzltSUdsMGN5QmphR2xzWkhKbGJpQjBieUIwYUdVZ2MzQmxZMmxtYVdWa0lIQmhkR2d1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrOXlhV2RwYmlCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJUM0pwWjJsdVVISnZjSE1zSUh0OUlENWNjbHh1ZTF4eVhHNWNkSEIxWW14cFl5QmlkV2xzWkU1dlpHVW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0J1YjJSbElEMGdkR2hwY3k1amNtVmhkR1ZPYjJSbFQySnFaV04wS0NCQmRrNXZaR1ZVZVhCbExrOXlhV2RwYml3Z2RHaHBjeTV0WDI1dlpHVkpaQ0FwTzF4eVhHNWNkRngwYm05a1pTNXdjbTl3VDNKcFoybHVJRDBnZEdocGN5NXdjbTl3Y3k1d1lYUm9PMXh5WEc1Y2RGeDBjbVYwZFhKdUlHNXZaR1U3WEhKY2JseDBmVnh5WEc1OUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfb3JpZ2luLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfcGFuZWwudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19wYW5lbC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IFBhbmVsUmVxdWVzdFR5cGUsIEF2UGFuZWwgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlBhbmVsUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFBhbmVsUmVxdWVzdFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2UGFuZWxcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2UGFuZWw7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEB0bGF1a2thbi90c20gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19wcmltaXRpdmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcHJpbWl0aXZlICovIFxcXCIuL3NyYy9hYXJkdmFya19wcmltaXRpdmUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuO1xcclxcbi8qKiBAaGlkZGVuICovXFxyXFxudmFyIFBhbmVsUmVxdWVzdFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChQYW5lbFJlcXVlc3RUeXBlKSB7XFxyXFxuICAgIFBhbmVsUmVxdWVzdFR5cGVbXFxcIkRvd25cXFwiXSA9IFxcXCJkb3duXFxcIjtcXHJcXG4gICAgUGFuZWxSZXF1ZXN0VHlwZVtcXFwiVXBcXFwiXSA9IFxcXCJ1cFxcXCI7XFxyXFxufSkoUGFuZWxSZXF1ZXN0VHlwZSB8fCAoUGFuZWxSZXF1ZXN0VHlwZSA9IHt9KSk7XFxyXFxuO1xcclxcbi8qKlxcclxcbiAqIEF2UGFuZWwgb3V0cHV0cyBhIDFtIHggMW0gcXVhZCB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUgY29udGFpbmluZyBicm93c2VyIGFzIGl0cyB0ZXh0dXJlLlxcclxcbiAqIFRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgcmVzdWx0aW5nIHF1YWQsIHVzZSBbQXZUcmFuc2Zvcm1dKCNhYXJkdmFya3RyYW5zZm9ybSkuXFxyXFxuICpcXHJcXG4gKiBAc2VlIFNlZSBbQXZQb2tlcl0oI2FhcmR2YXJrcG9rZXIpXFxyXFxuICovXFxyXFxuY2xhc3MgQXZQYW5lbCBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcXHJcXG4gICAgICAgIHN1cGVyKHByb3BzKTtcXHJcXG4gICAgICAgIHRoaXMubV9zaGFyZWRUZXh0dXJlSW5mbyA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aXZlUG9rZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgbW91c2VQb3NpdGlvbjogbnVsbCwgbW91c2VEaXN0YW5jZTogOTk5OSwgbW91c2VQcmVzc2VkOiBmYWxzZSB9O1xcclxcbiAgICAgICAgT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlxcXCJdKSgpLnN1YnNjcmliZVRvQnJvd3NlclRleHR1cmUodGhpcy5vblVwZGF0ZUJyb3dzZXJUZXh0dXJlKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZUJyb3dzZXJUZXh0dXJlKGluZm8pIHtcXHJcXG4gICAgICAgIHRoaXMubV9zaGFyZWRUZXh0dXJlSW5mbyA9IGluZm87XFxyXFxuICAgICAgICBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblBhbmVsKGFjdGl2ZVBva2VyKSB7XFxyXFxuICAgICAgICB0aGlzLmRlbGl2ZXJNb3VzZUV2ZW50KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uRW50ZXIsIGFjdGl2ZVBva2VyLnNlbGZJbnRlcnNlY3Rpb25Qb2ludCwgYWN0aXZlUG9rZXIucGVlcik7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aXZlUG9rZXIgPSBhY3RpdmVQb2tlcjtcXHJcXG4gICAgICAgIGFjdGl2ZVBva2VyLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgUGFuZWxSZXF1ZXN0VHlwZS5Eb3duOlxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyTW91c2VFdmVudChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiUGFuZWxNb3VzZUV2ZW50VHlwZVxcXCJdLkRvd24sIGFjdGl2ZVBva2VyLnNlbGZJbnRlcnNlY3Rpb25Qb2ludCwgYWN0aXZlUG9rZXIucGVlcik7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBQYW5lbFJlcXVlc3RUeXBlLlVwOlxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyTW91c2VFdmVudChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiUGFuZWxNb3VzZUV2ZW50VHlwZVxcXCJdLlVwLCBhY3RpdmVQb2tlci5zZWxmSW50ZXJzZWN0aW9uUG9pbnQsIGFjdGl2ZVBva2VyLnBlZXIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVQb2tlci5vblRyYW5zZm9ybVVwZGF0ZWQoKGVudGl0eUZyb21QZWVyKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5kZWxpdmVyTW91c2VFdmVudChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiUGFuZWxNb3VzZUV2ZW50VHlwZVxcXCJdLk1vdmUsIGFjdGl2ZVBva2VyLnNlbGZJbnRlcnNlY3Rpb25Qb2ludCwgYWN0aXZlUG9rZXIucGVlcik7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIGFjdGl2ZVBva2VyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlck1vdXNlRXZlbnQoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5MZWF2ZSwgYWN0aXZlUG9rZXIuc2VsZkludGVyc2VjdGlvblBvaW50LCBhY3RpdmVQb2tlci5wZWVyKTtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fYWN0aXZlUG9rZXIgPSBudWxsO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iLCBfYztcXHJcXG4gICAgICAgIGNvbnN0IGtfY2xpY2tEaXN0ID0gMC4wMTtcXHJcXG4gICAgICAgIGNvbnN0IGtfcmVsZWFzZURpc3QgPSAwLjAyO1xcclxcbiAgICAgICAgbGV0IGRpc3QgPSAoX2EgPSB0aGlzLnN0YXRlLm1vdXNlRGlzdGFuY2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDk5OTk7XFxyXFxuICAgICAgICBpZiAoZGlzdCA8IGtfY2xpY2tEaXN0ICYmICF0aGlzLnN0YXRlLm1vdXNlUHJlc3NlZCkge1xcclxcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlck1vdXNlRXZlbnQoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5Eb3duLCBudWxsLCAoX2IgPSB0aGlzLm1fYWN0aXZlUG9rZXIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5wZWVyKTtcXHJcXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VQcmVzc2VkOiB0cnVlIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAoZGlzdCA+IGtfcmVsZWFzZURpc3QgJiYgdGhpcy5zdGF0ZS5tb3VzZVByZXNzZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJNb3VzZUV2ZW50KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uVXAsIG51bGwsIChfYyA9IHRoaXMubV9hY3RpdmVQb2tlcikgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLnBlZXIpO1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtb3VzZVByZXNzZWQ6IGZhbHNlIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGRlbGl2ZXJNb3VzZUV2ZW50KGV2ZW50VHlwZSwgcGFuZWxGcm9tUG9rZXIsIHBva2VyRXBhKSB7XFxyXFxuICAgICAgICBsZXQgbW91c2VQb3NpdGlvbiA9IHRoaXMuc3RhdGUubW91c2VQb3NpdGlvbjtcXHJcXG4gICAgICAgIGlmIChldmVudFR5cGUgPT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5MZWF2ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtb3VzZVBvc2l0aW9uOiBudWxsIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAocGFuZWxGcm9tUG9rZXIpIHtcXHJcXG4gICAgICAgICAgICBtb3VzZVBvc2l0aW9uID0gbmV3IF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwidmVjMlxcXCJdKFtwYW5lbEZyb21Qb2tlci54LCBwYW5lbEZyb21Qb2tlci55XSk7XFxyXFxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlUG9zaXRpb24sIG1vdXNlRGlzdGFuY2U6IHBhbmVsRnJvbVBva2VyLnogfSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgZXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogZXZlbnRUeXBlLFxcclxcbiAgICAgICAgICAgIHBva2VyRXBhLFxcclxcbiAgICAgICAgICAgIHg6IG1vdXNlUG9zaXRpb24ueCAvIHRoaXMud2lkdGggKyAwLjUsXFxyXFxuICAgICAgICAgICAgeTogMS4wIC0gKG1vdXNlUG9zaXRpb24ueSAvIHRoaXMuaGVpZ2h0ICsgMC41KSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICBpZiAoZXZlbnRUeXBlICE9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uTW92ZSkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwYW5lbCBtb3VzZSBldmVudCAke19hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl1bZXZlbnRUeXBlXX0gJHtldmVudC54fSwgJHtldmVudC55fWApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY3VzdG9tTW91c2VIYW5kbGVyKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jdXN0b21Nb3VzZUhhbmRsZXIoZXZlbnQpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5vbkRlZmF1bHRNb3VzZUV2ZW50KGV2ZW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBvbkRlZmF1bHRNb3VzZUV2ZW50KGV2ZW50KSB7XFxyXFxuICAgICAgICBsZXQgaGFwdGljQW1wbGl0dWRlID0gMDtcXHJcXG4gICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5FbnRlcjpcXHJcXG4gICAgICAgICAgICBjYXNlIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uTGVhdmU6XFxyXFxuICAgICAgICAgICAgICAgIGhhcHRpY0FtcGxpdHVkZSA9IDAuMDU7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5Eb3duOlxcclxcbiAgICAgICAgICAgICAgICBoYXB0aWNBbXBsaXR1ZGUgPSAxO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChoYXB0aWNBbXBsaXR1ZGUgPiAwKSB7XFxyXFxuICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZEhhcHRpY0V2ZW50KGV2ZW50LnBva2VyRXBhLCBoYXB0aWNBbXBsaXR1ZGUsIDEsIDApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlxcXCJdKSgpLnNwb29mTW91c2VFdmVudChldmVudC50eXBlLCBldmVudC54LCBldmVudC55KTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2lkdGgoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy53aWR0aEluTWV0ZXJzO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBoZWlnaHQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0ICogdGhpcy5wcm9wcy53aWR0aEluTWV0ZXJzIC8gd2luZG93LmlubmVyV2lkdGg7XFxyXFxuICAgIH1cXHJcXG4gICAgLyogQGhpZGRlbiAqL1xcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBsZXQgdm9sdW1lID0ge1xcclxcbiAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLkFBQkIsXFxyXFxuICAgICAgICAgICAgYWFiYjoge1xcclxcbiAgICAgICAgICAgICAgICB4TWluOiAtdGhpcy53aWR0aCAvIDIsIHhNYXg6IHRoaXMud2lkdGggLyAyLFxcclxcbiAgICAgICAgICAgICAgICB5TWluOiAtdGhpcy5oZWlnaHQgLyAyLCB5TWF4OiB0aGlzLmhlaWdodCAvIDIsXFxyXFxuICAgICAgICAgICAgICAgIHpNaW46IDAsIHpNYXg6IDAuMDAwMSxcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgLy8gV2UgdXNlIHR3byB2b2x1bWVzIGhlcmUsIHdpdGggdGhlIHRoaW4gb25lIGZpcnN0LCB0byBpbXByb3ZlIHRoZSBxdWFsaXR5IG9mIHRoZSBpbnRlcnNlY3Rpb24gcG9pbnQuXFxyXFxuICAgICAgICAvLyBSYXkgaW50ZXJzZWN0aW9ucyB3aWxsIGFsbW9zdCBhbHdheXMgaGl0IHRoZSB0aGluIHZvbHVtZSBpZiB0aGV5IHdvdWxkIGhhdmUgaGl0IHRoZSB0aGljayB2b2x1bWUsXFxyXFxuICAgICAgICAvLyBzbyB0aGV5IGdlbmVyYXRlIGFuIGludGVyc2VjdGlvbiBwb2ludCB0aGF0J3MgdmVyeSBjbG9zZSB0byB0aGUgc3VyZmFjZSBvZiB0aGUgcGFuZWwuIFNwaGVyZSBcXHJcXG4gICAgICAgIC8vIGludGVyc2VjdGlvbnMgKGxpa2UgdGhlIGdyYWJiZXJzIG9uIHRoZSBoYW5kcykgd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgdGhpY2tlciB2b2x1bWUgYSBmZXcgY20gYXdheVxcclxcbiAgICAgICAgLy8gZnJvbSB0aGUgcGFuZWwsIHdoaWNoIG1ha2VzIHRoZSBwYW5lbCBlYXNpZXIgdG8gdXNlLiBcXHJcXG4gICAgICAgIC8vIEluIGJvdGggY2FzZXMgdGhlIGludGVyc2VjdGlvbiBwb2ludCBpcyBwcm9qZWN0ZWQgZG93biB0byB0aGUgc3VyZmFjZSBvZiB0aGUgcGFuZWwuXFxyXFxuICAgICAgICBsZXQgdGhpY2tWb2x1bWUgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uQUFCQixcXHJcXG4gICAgICAgICAgICBhYWJiOiB7XFxyXFxuICAgICAgICAgICAgICAgIHhNaW46IC10aGlzLndpZHRoIC8gMiwgeE1heDogdGhpcy53aWR0aCAvIDIsXFxyXFxuICAgICAgICAgICAgICAgIHlNaW46IC10aGlzLmhlaWdodCAvIDIsIHlNYXg6IHRoaXMuaGVpZ2h0IC8gMixcXHJcXG4gICAgICAgICAgICAgICAgek1pbjogMCwgek1heDogMC4wMyxcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJGcmFnbWVudFxcXCJdLCBudWxsLFxcclxcbiAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgc2NhbGVYOiB0aGlzLndpZHRoLCBzY2FsZVk6IHRoaXMuaGVpZ2h0IH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgcm90YXRlWDogOTAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfbW9kZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiQXZNb2RlbFxcXCJdLCB7IHVyaTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImdfYnVpbHRpbk1vZGVsUGFuZWxcXFwiXSwgdXNlQnJvd3NlclRleHR1cmU6IHRydWUgfSkpLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNoaWxkcmVuKSxcXHJcXG4gICAgICAgICAgICB0aGlzLnN0YXRlLm1vdXNlUG9zaXRpb24gJiZcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2xhdGVYOiB0aGlzLnN0YXRlLm1vdXNlUG9zaXRpb24ueCwgdHJhbnNsYXRlWTogdGhpcy5zdGF0ZS5tb3VzZVBvc2l0aW9uLnkgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfcHJpbWl0aXZlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIkF2UHJpbWl0aXZlXFxcIl0sIHsgdHlwZTogX2FhcmR2YXJrX3ByaW1pdGl2ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJQcmltaXRpdmVUeXBlXFxcIl0uU3BoZXJlLCByYWRpdXM6IDAuMDAyLCBjb2xvcjogXFxcInllbGxvd1xcXCIgfSkpLFxcclxcbiAgICAgICAgICAgIHRoaXMucHJvcHMuaW50ZXJhY3RpdmUgJiZcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdm9sdW1lOiBbdm9sdW1lLCB0aGlja1ZvbHVtZV0sIHByaW9yaXR5OiAxMCwgd2FudHNUcmFuc2Zvcm1zOiB0cnVlLCByZWNlaXZlczogW3sgaWZhY2U6IFxcXCJhYXJkdmFyay1wYW5lbEAyXFxcIiwgcHJvY2Vzc29yOiB0aGlzLm9uUGFuZWwgfV0gfSkpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBBdlBhbmVsLnByb3RvdHlwZSwgXFxcIm9uVXBkYXRlQnJvd3NlclRleHR1cmVcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZQYW5lbC5wcm90b3R5cGUsIFxcXCJvblBhbmVsXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl3WVc1bGJDNTBjM2cvTURrd05pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN096czdPenM3T3pzN1FVRkJjVTA3UVVGRE1VbzdRVUZEVkR0QlFVTklPMEZCUldNN1FVRkRiME03UVVGRGRFTTdRVUZEZFVJN1FVRkRaanRCUVZWc1JDeERRVUZETzBGQk1rSkdMR05CUVdNN1FVRkRaQ3hKUVVGWkxHZENRVWxZTzBGQlNrUXNWMEZCV1N4blFrRkJaMEk3U1VGRk0wSXNhVU5CUVdFN1NVRkRZaXcyUWtGQlV6dEJRVU5XTEVOQlFVTXNSVUZLVnl4blFrRkJaMElzUzBGQmFFSXNaMEpCUVdkQ0xGRkJTVE5DTzBGQlFVRXNRMEZCUXp0QlFXZENSanM3T3pzN1IwRkxSenRCUVVOSkxFMUJRVTBzVDBGQlVTeFRRVUZSTEN0RFFVRTJRenRKUVV0NlJTeFpRVUZoTEV0QlFWVTdVVUZGZEVJc1MwRkJTeXhEUVVGRkxFdEJRVXNzUTBGQlJTeERRVUZETzFGQlRGSXNkMEpCUVcxQ0xFZEJRWGRDTEVsQlFVa3NRMEZCUXp0UlFVTm9SQ3hyUWtGQllTeEhRVUZ2UWl4SlFVRkpMRU5CUVVNN1VVRk5OME1zU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFVkJRVVVzWVVGQllTeEZRVUZGTEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU03VVVGRkwwVXNjMFZCUVVVc1JVRkJSU3hEUVVGRExIbENRVUY1UWl4RFFVRkZMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUlN4RFFVRkRPMGxCUXk5RUxFTkJRVU03U1VGSFR5eHpRa0ZCYzBJc1EwRkJSU3hKUVVGNVFqdFJRVVY0UkN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTJoRExIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRGFrTXNRMEZCUXp0SlFVZFBMRTlCUVU4c1EwRkJSU3hYUVVFMFFqdFJRVVUxUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVVXNLMFZCUVcxQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEZkQlFWY3NRMEZCUXl4eFFrRkJjVUlzUlVGQlJTeFhRVUZYTEVOQlFVTXNTVUZCU1N4RFFVRkZMRU5CUVVNN1VVRkRla2NzU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4WFFVRlhMRU5CUVVNN1VVRkZha01zVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkZMRXRCUVcxQ0xFVkJRVWNzUlVGQlJUdFpRVVU1UXl4UlFVRlJMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRMnhDTzJkQ1FVTkRMRXRCUVVzc1owSkJRV2RDTEVOQlFVTXNTVUZCU1R0dlFrRkRla0lzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxDdEZRVUZ0UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hYUVVGWExFTkJRVU1zY1VKQlFYRkNMRVZCUTJ4R0xGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVVXNRMEZCUXp0dlFrRkRjRUlzVFVGQlRUdG5Ra0ZGVUN4TFFVRkxMR2RDUVVGblFpeERRVUZETEVWQlFVVTdiMEpCUTNaQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJSU3dyUlVGQmJVSXNRMEZCUXl4RlFVRkZMRVZCUVVVc1YwRkJWeXhEUVVGRExIRkNRVUZ4UWl4RlFVTm9SaXhYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVTTdiMEpCUTNCQ0xFMUJRVTA3WVVGRFVEdFJRVU5HTEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUlVvc1YwRkJWeXhEUVVGRExHdENRVUZyUWl4RFFVRkZMRU5CUVVVc1kwRkJLMElzUlVGQlJ5eEZRVUZGTzFsQlJYSkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlN3clJVRkJiVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNWMEZCVnl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRSUVVONlJ5eERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVktMRmRCUVZjc1EwRkJReXhQUVVGUExFTkJRVVVzUjBGQlJ5eEZRVUZGTzFsQlJYcENMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlN3clJVRkJiVUlzUTBGQlF5eExRVUZMTEVWQlFVVXNWMEZCVnl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRaUVVONlJ5eEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVNelFpeERRVUZETEVOQlFVVXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZSQ3hyUWtGQmEwSXNRMEZCUlN4VFFVRjFRaXhGUVVGRkxGTkJRWFZDT3p0UlFVVnVSU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZWtJc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6TkNMRWxCUVVrc1NVRkJTU3hUUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4dFEwRkJTU3hKUVVGSkxFTkJRVU03VVVGRE5VTXNTVUZCU1N4SlFVRkpMRWRCUVVjc1YwRkJWeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpMRVZCUTJ4RU8xbEJRME1zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxDdEZRVUZ0UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxGRkJRVVVzU1VGQlNTeERRVUZETEdGQlFXRXNNRU5CUVVVc1NVRkJTU3hEUVVGRkxFTkJRVU03V1VGRGJrWXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUlN4RFFVRkRPMU5CUTNoRE8yRkJRMGtzU1VGQlNTeEpRVUZKTEVkQlFVY3NZVUZCWVN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeEZRVU40UkR0WlFVTkRMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlN3clJVRkJiVUlzUTBGQlF5eEZRVUZGTEVWQlFVVXNTVUZCU1N4UlFVRkZMRWxCUVVrc1EwRkJReXhoUVVGaExEQkRRVUZGTEVsQlFVa3NRMEZCUlN4RFFVRkRPMWxCUTJwR0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVVVzUTBGQlF6dFRRVU42UXp0SlFVTkdMRU5CUVVNN1NVRkZUeXhwUWtGQmFVSXNRMEZCUlN4VFFVRTRRaXhGUVVGRkxHTkJRWGRDTEVWQlFVVXNVVUZCYzBJN1VVRkZNVWNzU1VGQlNTeGhRVUZoTEVkQlFWTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhoUVVGaExFTkJRVU03VVVGRGJrUXNTVUZCU1N4VFFVRlRMRWxCUVVrc0swVkJRVzFDTEVOQlFVTXNTMEZCU3l4RlFVTXhRenRaUVVORExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4aFFVRmhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVVVzUTBGQlF6dFRRVU42UXp0aFFVTkpMRWxCUVVrc1kwRkJZeXhGUVVOMlFqdFpRVVZETEdGQlFXRXNSMEZCUnl4SlFVRkpMR3RFUVVGSkxFTkJRVVVzUTBGQlJTeGpRVUZqTEVOQlFVTXNRMEZCUXl4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVVVzUTBGQlJTeERRVUZETzFsQlEyNUZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeGhRVUZoTEVWQlFVVXNZVUZCWVN4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlJTeERRVUZETzFOQlEzQkZPMUZCUlVRc1NVRkJTU3hMUVVGTExFZEJRMVE3V1VGRFF5eEpRVUZKTEVWQlFVVXNVMEZCVXp0WlFVTm1MRkZCUVZFN1dVRkRVaXhEUVVGRExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFZEJRVWM3V1VGRGNrTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhEUVVGRkxHRkJRV0VzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVVU3VTBGRGFFUXNRMEZCUXp0UlFVVkdMRWxCUVVrc1UwRkJVeXhKUVVGSkxDdEZRVUZ0UWl4RFFVRkRMRWxCUVVrc1JVRkRla003V1VGRFF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkZMSEZDUVVGelFpd3JSVUZCYlVJc1EwRkJSU3hUUVVGVExFTkJRVWNzU1VGQlN5eExRVUZMTEVOQlFVTXNRMEZCUlN4TFFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRkxFVkJRVVVzUTBGQlJTeERRVUZETzFOQlEzQkhPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEd0Q1FVRnJRaXhGUVVOcVF6dFpRVU5ETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEVOQlFVVXNTMEZCU3l4RFFVRkZMRU5CUVVNN1UwRkRka003WVVGRlJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0VFFVTnNRenRKUVVOR0xFTkJRVU03U1VGRlR5eHRRa0ZCYlVJc1EwRkJSU3hMUVVGelFqdFJRVVZzUkN4SlFVRkpMR1ZCUVdVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVFSXNVVUZCVVN4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVOc1FqdFpRVU5ETEV0QlFVc3NLMFZCUVcxQ0xFTkJRVU1zUzBGQlN5eERRVUZETzFsQlF5OUNMRXRCUVVzc0swVkJRVzFDTEVOQlFVTXNTMEZCU3p0blFrRkROMElzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRka0lzVFVGQlRUdFpRVVZRTEV0QlFVc3NLMFZCUVcxQ0xFTkJRVU1zU1VGQlNUdG5Ra0ZETlVJc1pVRkJaU3hIUVVGSExFTkJRVU1zUTBGQlF6dG5Ra0ZEY0VJc1RVRkJUVHRUUVVOUU8xRkJSVVFzU1VGQlNTeGxRVUZsTEVkQlFVY3NRMEZCUXl4RlFVTjJRanRaUVVORExIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1pVRkJaU3hEUVVGRkxFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVVXNaVUZCWlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVVVzUTBGQlF6dFRRVU0zUlR0UlFVVkVMSE5GUVVGRkxFVkJRVVVzUTBGQlF5eGxRVUZsTEVOQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVVc1EwRkJRenRKUVVOMFJDeERRVUZETzBsQlJVUXNTVUZCV1N4TFFVRkxPMUZCUldoQ0xFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4aFFVRmhMRU5CUVVNN1NVRkRha01zUTBGQlF6dEpRVVZFTEVsQlFWa3NUVUZCVFR0UlFVVnFRaXhQUVVGUExFMUJRVTBzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhoUVVGaExFZEJRVWNzVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXp0SlFVTXhSU3hEUVVGRE8wbEJSVVFzWVVGQllUdEpRVU5pTEUxQlFVMDdVVUZGVEN4SlFVRkpMRTFCUVUwc1IwRkRWanRaUVVORExFbEJRVWtzUlVGQlJTeDFSVUZCVnl4RFFVRkRMRWxCUVVrN1dVRkRkRUlzU1VGQlNTeEZRVU5LTzJkQ1FVTkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZETEVOQlFVTTdaMEpCUTNaRExFbEJRVWtzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkRMRU5CUVVNN1owSkJRM3BETEVsQlFVa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTA3WVVGRGNrSTdVMEZEUkN4RFFVRkRPMUZCUTBZc2MwZEJRWE5ITzFGQlEzUkhMRzlIUVVGdlJ6dFJRVU53Unl4blIwRkJaMGM3VVVGRGFFY3NjMGRCUVhOSE8xRkJRM1JITEhkRVFVRjNSRHRSUVVONFJDeHpSa0ZCYzBZN1VVRkRkRVlzU1VGQlNTeFhRVUZYTEVkQlEyWTdXVUZEUXl4SlFVRkpMRVZCUVVVc2RVVkJRVmNzUTBGQlF5eEpRVUZKTzFsQlEzUkNMRWxCUVVrc1JVRkRTanRuUWtGRFF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJReXhEUVVGRE8yZENRVU4yUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlF5eERRVUZETzJkQ1FVTjZReXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpPMkZCUTI1Q08xTkJRMFFzUTBGQlF6dFJRVWRHTEU5QlFVODdXVUZEU2l4dlJFRkJReXdyUkVGQlZ5eEpRVUZETEUxQlFVMHNSVUZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGSExFMUJRVTBzUlVGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFR0blFrRkRkRVFzYjBSQlFVTXNLMFJCUVZjc1NVRkJReXhQUVVGUExFVkJRVWNzUlVGQlJUdHZRa0ZEZUVJc2IwUkJRVU1zZFVSQlFVOHNTVUZCUXl4SFFVRkhMRVZCUVVjc0swVkJRVzFDTEVWQlFVY3NhVUpCUVdsQ0xFVkJRVWNzU1VGQlNTeEhRVUZKTEVOQlEzQkVPMmRDUVVOYUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTlNPMWxCUTFvc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGhRVUZoTzJkQ1FVTjZRaXh2UkVGQlF5d3JSRUZCVnl4SlFVRkRMRlZCUVZVc1JVRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRMRVZCUVVjc1ZVRkJWU3hGUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN2IwSkJRemRHTEc5RVFVRkRMQ3RFUVVGWExFbEJRVU1zU1VGQlNTeEZRVUZITEdsRlFVRmhMRU5CUVVNc1RVRkJUU3hGUVVGSExFMUJRVTBzUlVGQlJ5eExRVUZMTEVWQlFVY3NTMEZCU3l4RlFVRkRMRkZCUVZFc1IwRkJSU3hEUVVNdlJEdFpRVU5pTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1YwRkJWenRuUWtGRGRrSXNiMFJCUVVNc05FVkJRV2xDTEVsQlFVTXNUVUZCVFN4RlFVRkhMRU5CUVVVc1RVRkJUU3hGUVVGRkxGZEJRVmNzUTBGQlJTeEZRVUZITEZGQlFWRXNSVUZCUnl4RlFVRkZMRVZCUVVjc1pVRkJaU3hGUVVGSExFbEJRVWtzUlVGRE0wWXNVVUZCVVN4RlFVRkhMRU5CUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzYTBKQlFXdENMRVZCUVVVc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUlN4SFFVRkpMRU5CUTNwRk8wbEJRMDRzUTBGQlF6dERRVU5FTzBGQk9VdEJPMGxCUkVNc2NVUkJRVWs3Y1VSQlMwbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk8zTkRRV2REU2lJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTl3WVc1bGJDNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJkaXdnUVhaT2IyUmxWSEpoYm5ObWIzSnRMQ0JCZGxOb1lYSmxaRlJsZUhSMWNtVkpibVp2TENCQmRsWnZiSFZ0WlN3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JGVm05c2RXMWxWSGx3WlN3Z1oxOWlkV2xzZEdsdVRXOWtaV3hRWVc1bGJDd2dibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ3dnVUdGdVpXeE5iM1Z6WlVWMlpXNTBWSGx3WlN3Z1FYWldaV04wYjNJZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdleUIyWldNeUxDQjJaV00wSUgwZ1puSnZiU0FuUUhSc1lYVnJhMkZ1TDNSemJTYzdYSEpjYm1sdGNHOXlkQ0JpYVc1a0lHWnliMjBnSjJKcGJtUXRaR1ZqYjNKaGRHOXlKenRjY2x4dWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh5WEc1cGJYQnZjblFnZXlCQmRrSmhjMlZPYjJSbFVISnZjSE1nZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJKaGMyVmZibTlrWlNjN1hISmNibWx0Y0c5eWRDQjdJRUYyUjJGa1oyVjBJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTluWVdSblpYUW5PMXh5WEc1cGJYQnZjblFnZXlCQlkzUnBkbVZKYm5SbGNtWmhZMlVzSUVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5cGJuUmxjbVpoWTJWZlpXNTBhWFI1Snp0Y2NseHVhVzF3YjNKMElIc2dRWFpOYjJSbGJDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiVzlrWld3bk8xeHlYRzVwYlhCdmNuUWdleUJCZGxCeWFXMXBkR2wyWlN3Z1VISnBiV2wwYVhabFZIbHdaU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0hKcGJXbDBhWFpsSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpVY21GdWMyWnZjbTBnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDNSeVlXNXpabTl5YlNjN1hISmNibHh5WEc1Y2NseHVMeW9xSUZ3aVRXOTFjMlZjSWlCbGRtVnVkQ0JtYjNJZ1kzVnpkRzl0SUhCaGJtVnNJR2hoYm1Sc1pYSnpJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VHRnVaV3hOYjNWelpVVjJaVzUwWEhKY2JudGNjbHh1WEhSMGVYQmxPaUJRWVc1bGJFMXZkWE5sUlhabGJuUlVlWEJsTzF4eVhHNWNkSGc2SUc1MWJXSmxjanRjY2x4dVhIUjVPaUJ1ZFcxaVpYSTdYSEpjYmx4MGNHOXJaWEpGY0dFNklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLaUJHZFc1amRHbHZiaUJ6YVdkdVlYUjFjbVVnWm05eUlIUm9aU0FnZTBCc2FXNXJJRUYyVUdGdVpXeFFjbTl3YzMwZ1kzVnpkRzl0VFc5MWMyVklZVzVrYkdWeUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVUdGdVpXeElZVzVrYkdWeVhISmNibnRjY2x4dVhIUW9JR1YyWlc1ME9pQlFZVzVsYkUxdmRYTmxSWFpsYm5RZ0tUb2dkbTlwWkR0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUZCeWIzQnpJR1p2Y2lCN1FHeHBibXNnUVhaUVlXNWxiSDBnS2k5Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkbEJoYm1Wc1VISnZjSE1nWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVFpYUWdkR2hwY3lCMGJ5QjBjblZsSUhSdklHTmhkWE5sSUhSb1pTQndZVzVsYkNCMGJ5QmlaU0JwYm5SbGNtRmpkR1ZrSUhkcGRHZ2dZbmtnY0c5clpYSnpMaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JtWVd4elpTQXFMMXh5WEc1Y2RHbHVkR1Z5WVdOMGFYWmxQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlFSjVJR1JsWm1GMWJIUWdjRzlyWlhJZ1pYWmxiblJ6SUhkcGJHd2dkSFZ5YmlCcGJuUnZJRzF2ZFhObElHVjJaVzUwY3lCMGJ5QjBhR1VnWW5KdmQzTmxjaUIwYUdGMElHTmhiaUJpWlNCd2NtOWpaWE56WldSY2NseHVYSFFnS2lCaWVTQjBhR1VnYm05eWJXRnNJRWhVVFV3dlNtRjJZV055YVhCMElHMXZkWE5sSUhCeWIyTmxjM05wYm1jdUlGTmxkQ0JoSUdOMWMzUnZiU0J0YjNWelpTQm9ZVzVrYkdWeUlHbG1JSGx2ZFNCdVpXVmtYSEpjYmx4MElDb2dkRzhnY0hKdlkyVnpjeUJwYm1OdmJXbHVaeUJ0YjNWelpTQmxkbVZ1ZEhNZ2FXNGdjMjl0WlNCdmRHaGxjaUIzWVhrdVhISmNibHgwS2k5Y2NseHVYSFJqZFhOMGIyMU5iM1Z6WlVoaGJtUnNaWEkvT2lCUVlXNWxiRWhoYm1Sc1pYSTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkMmxrZEdnZ2IyWWdkR2hsSUhCaGJtVnNJR2x1SUcxbGRHVnljeTRnVkdobElIQmhibVZzSjNNZ2FHVnBaMmgwSUhkcGJHd2dZbVVnYzJOaGJHVmtJR0o1SUhSb2FYTWdiblZ0WW1WeUlHRnVaQ0IwYUdWY2NseHVYSFFnS2lCaGMzQmxZM1FnY21GMGFXOGdiMllnZEdobElIZHBibVJ2ZHk1Y2NseHVYSFFnS2k5Y2NseHVYSFIzYVdSMGFFbHVUV1YwWlhKek9pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNiaThxS2lCQWFHbGtaR1Z1SUNvdlhISmNibVY0Y0c5eWRDQmxiblZ0SUZCaGJtVnNVbVZ4ZFdWemRGUjVjR1ZjY2x4dWUxeHlYRzVjZEVSdmQyNGdQU0JjSW1SdmQyNWNJaXhjY2x4dVhIUlZjQ0E5SUZ3aWRYQmNJaXhjY2x4dWZUdGNjbHh1WEhKY2JpOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VHRnVaV3hTWlhGMVpYTjBYSEpjYm50Y2NseHVYSFIwZVhCbE9pQlFZVzVsYkZKbGNYVmxjM1JVZVhCbE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dWFXNTBaWEptWVdObElFRjJVR0Z1Wld4VGRHRjBaVnh5WEc1N1hISmNibHgwYlc5MWMyVlFiM05wZEdsdmJqb2dkbVZqTWp0Y2NseHVYSFJ0YjNWelpVUnBjM1JoYm1ObE9pQnVkVzFpWlhJN1hISmNibHgwYlc5MWMyVlFjbVZ6YzJWa09pQmliMjlzWldGdU8xeHlYRzU5WEhKY2JseHlYRzR2S2lwY2NseHVJQ29nUVhaUVlXNWxiQ0J2ZFhSd2RYUnpJR0VnTVcwZ2VDQXhiU0J4ZFdGa0lIZHBkR2dnZEdobElHTnZiblJsYm5SeklHOW1JSFJvWlNCamIyNTBZV2x1YVc1bklHSnliM2R6WlhJZ1lYTWdhWFJ6SUhSbGVIUjFjbVV1WEhKY2JpQXFJRlJ2SUdOb1lXNW5aU0IwYUdVZ2MybDZaU0J2WmlCMGFHVWdjbVZ6ZFd4MGFXNW5JSEYxWVdRc0lIVnpaU0JiUVhaVWNtRnVjMlp2Y20xZEtDTmhZWEprZG1GeWEzUnlZVzV6Wm05eWJTa3VYSEpjYmlBcUlGeHlYRzRnS2lCQWMyVmxJRk5sWlNCYlFYWlFiMnRsY2wwb0kyRmhjbVIyWVhKcmNHOXJaWElwWEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWTJ4aGMzTWdRWFpRWVc1bGJDQmxlSFJsYm1SeklGSmxZV04wTGtOdmJYQnZibVZ1ZER3Z1FYWlFZVzVsYkZCeWIzQnpMQ0JCZGxCaGJtVnNVM1JoZEdVZ1BseHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRYM05vWVhKbFpGUmxlSFIxY21WSmJtWnZPaUJCZGxOb1lYSmxaRlJsZUhSMWNtVkpibVp2SUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHMWZZV04wYVhabFVHOXJaWEk2SUVGamRHbDJaVWx1ZEdWeVptRmpaU0E5SUc1MWJHdzdYSEpjYmx4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCd2NtOXdjem9nWVc1NUlDbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhISmNibHgwWEhSMGFHbHpMbk4wWVhSbElEMGdleUJ0YjNWelpWQnZjMmwwYVc5dU9pQnVkV3hzTENCdGIzVnpaVVJwYzNSaGJtTmxPaUE1T1RrNUxDQnRiM1Z6WlZCeVpYTnpaV1E2SUdaaGJITmxJSDA3WEhKY2JseHlYRzVjZEZ4MFFYWW9LUzV6ZFdKelkzSnBZbVZVYjBKeWIzZHpaWEpVWlhoMGRYSmxLQ0IwYUdsekxtOXVWWEJrWVhSbFFuSnZkM05sY2xSbGVIUjFjbVVnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJsVndaR0YwWlVKeWIzZHpaWEpVWlhoMGRYSmxLQ0JwYm1adk9pQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG0xZmMyaGhjbVZrVkdWNGRIVnlaVWx1Wm04Z1BTQnBibVp2TzF4eVhHNWNkRngwUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1dFlYSnJSR2x5ZEhrb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQnZibEJoYm1Wc0tDQmhZM1JwZG1WUWIydGxjam9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1SbGJHbDJaWEpOYjNWelpVVjJaVzUwS0NCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExrVnVkR1Z5TENCaFkzUnBkbVZRYjJ0bGNpNXpaV3htU1c1MFpYSnpaV04wYVc5dVVHOXBiblFzSUdGamRHbDJaVkJ2YTJWeUxuQmxaWElnS1R0Y2NseHVYSFJjZEhSb2FYTXViVjloWTNScGRtVlFiMnRsY2lBOUlHRmpkR2wyWlZCdmEyVnlPMXh5WEc1Y2NseHVYSFJjZEdGamRHbDJaVkJ2YTJWeUxtOXVSWFpsYm5Rb0lDZ2daWFpsYm5RNklGQmhibVZzVW1WeGRXVnpkQ0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RITjNhWFJqYUNnZ1pYWmxiblF1ZEhsd1pTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSallYTmxJRkJoYm1Wc1VtVnhkV1Z6ZEZSNWNHVXVSRzkzYmpwY2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdVpHVnNhWFpsY2sxdmRYTmxSWFpsYm5Rb0lGQmhibVZzVFc5MWMyVkZkbVZ1ZEZSNWNHVXVSRzkzYml3Z1lXTjBhWFpsVUc5clpYSXVjMlZzWmtsdWRHVnljMlZqZEdsdmJsQnZhVzUwTENCY2NseHVYSFJjZEZ4MFhIUmNkRngwWVdOMGFYWmxVRzlyWlhJdWNHVmxjaUFwTzF4eVhHNWNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJjZEdOaGMyVWdVR0Z1Wld4U1pYRjFaWE4wVkhsd1pTNVZjRHBjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11WkdWc2FYWmxjazF2ZFhObFJYWmxiblFvSUZCaGJtVnNUVzkxYzJWRmRtVnVkRlI1Y0dVdVZYQXNJR0ZqZEdsMlpWQnZhMlZ5TG5ObGJHWkpiblJsY25ObFkzUnBiMjVRYjJsdWRDd2dYSEpjYmx4MFhIUmNkRngwWEhSY2RHRmpkR2wyWlZCdmEyVnlMbkJsWlhJZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5SUNrN1hISmNibHh5WEc1Y2RGeDBZV04wYVhabFVHOXJaWEl1YjI1VWNtRnVjMlp2Y20xVmNHUmhkR1ZrS0NBb0lHVnVkR2wwZVVaeWIyMVFaV1Z5T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG1SbGJHbDJaWEpOYjNWelpVVjJaVzUwS0NCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExrMXZkbVVzSUdGamRHbDJaVkJ2YTJWeUxuTmxiR1pKYm5SbGNuTmxZM1JwYjI1UWIybHVkQ3dnWVdOMGFYWmxVRzlyWlhJdWNHVmxjaUFwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpWQnZhMlZ5TG05dVJXNWtaV1FvSUNncElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdVpHVnNhWFpsY2sxdmRYTmxSWFpsYm5Rb0lGQmhibVZzVFc5MWMyVkZkbVZ1ZEZSNWNHVXVUR1ZoZG1Vc0lHRmpkR2wyWlZCdmEyVnlMbk5sYkdaSmJuUmxjbk5sWTNScGIyNVFiMmx1ZEN3Z1lXTjBhWFpsVUc5clpYSXVjR1ZsY2lBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZllXTjBhWFpsVUc5clpYSWdQU0J1ZFd4c08xeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBZMjl0Y0c5dVpXNTBSR2xrVlhCa1lYUmxLQ0J3Y21WMlVISnZjSE02SUVGMlVHRnVaV3hRY205d2N5d2djSEpsZGxOMFlYUmxPaUJCZGxCaGJtVnNVM1JoZEdVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdOdmJuTjBJR3RmWTJ4cFkydEVhWE4wSUQwZ01DNHdNVHRjY2x4dVhIUmNkR052Ym5OMElHdGZjbVZzWldGelpVUnBjM1FnUFNBd0xqQXlPMXh5WEc1Y2RGeDBiR1YwSUdScGMzUWdQU0IwYUdsekxuTjBZWFJsTG0xdmRYTmxSR2x6ZEdGdVkyVWdQejhnT1RrNU9UdGNjbHh1WEhSY2RHbG1LQ0JrYVhOMElEd2dhMTlqYkdsamEwUnBjM1FnSmlZZ0lYUm9hWE11YzNSaGRHVXViVzkxYzJWUWNtVnpjMlZrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTVrWld4cGRtVnlUVzkxYzJWRmRtVnVkQ2dnVUdGdVpXeE5iM1Z6WlVWMlpXNTBWSGx3WlM1RWIzZHVMQ0J1ZFd4c0xDQjBhR2x6TG0xZllXTjBhWFpsVUc5clpYSS9MbkJsWlhJZ0tUdGNjbHh1WEhSY2RGeDBkR2hwY3k1elpYUlRkR0YwWlNnZ2V5QnRiM1Z6WlZCeVpYTnpaV1E2SUhSeWRXVWdmU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpTQnBaaWdnWkdsemRDQStJR3RmY21Wc1pXRnpaVVJwYzNRZ0ppWWdkR2hwY3k1emRHRjBaUzV0YjNWelpWQnlaWE56WldRcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11WkdWc2FYWmxjazF2ZFhObFJYWmxiblFvSUZCaGJtVnNUVzkxYzJWRmRtVnVkRlI1Y0dVdVZYQXNJRzUxYkd3c0lIUm9hWE11YlY5aFkzUnBkbVZRYjJ0bGNqOHVjR1ZsY2lBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHMXZkWE5sVUhKbGMzTmxaRG9nWm1Gc2MyVWdmU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JrWld4cGRtVnlUVzkxYzJWRmRtVnVkQ2dnWlhabGJuUlVlWEJsT2lCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExDQndZVzVsYkVaeWIyMVFiMnRsY2pvZ1FYWldaV04wYjNJc0lIQnZhMlZ5UlhCaE9pQkZibVJ3YjJsdWRFRmtaSElnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCdGIzVnpaVkJ2YzJsMGFXOXVPaUIyWldNeUlEMGdkR2hwY3k1emRHRjBaUzV0YjNWelpWQnZjMmwwYVc5dU8xeHlYRzVjZEZ4MGFXWW9JR1YyWlc1MFZIbHdaU0E5UFNCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExreGxZWFpsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCdGIzVnpaVkJ2YzJsMGFXOXVPaUJ1ZFd4c0lIMGdLVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JSEJoYm1Wc1JuSnZiVkJ2YTJWeUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhKY2JseDBYSFJjZEcxdmRYTmxVRzl6YVhScGIyNGdQU0J1WlhjZ2RtVmpNaWdnV3lCd1lXNWxiRVp5YjIxUWIydGxjaTU0TENCd1lXNWxiRVp5YjIxUWIydGxjaTU1SUYwZ0tUdGNjbHh1WEhSY2RGeDBkR2hwY3k1elpYUlRkR0YwWlNnZ2V5QnRiM1Z6WlZCdmMybDBhVzl1TENCdGIzVnpaVVJwYzNSaGJtTmxPaUJ3WVc1bGJFWnliMjFRYjJ0bGNpNTZJSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnWlhabGJuUTZJRkJoYm1Wc1RXOTFjMlZGZG1WdWRDQTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFI1Y0dVNklHVjJaVzUwVkhsd1pTeGNjbHh1WEhSY2RGeDBjRzlyWlhKRmNHRXNYSEpjYmx4MFhIUmNkSGc2SUcxdmRYTmxVRzl6YVhScGIyNHVlQ0F2SUhSb2FYTXVkMmxrZEdnZ0t5QXdMalVzWEhKY2JseDBYSFJjZEhrNklERXVNQ0F0SUNnZ2JXOTFjMlZRYjNOcGRHbHZiaTU1SUM4Z2RHaHBjeTVvWldsbmFIUWdLeUF3TGpVZ0tTeGNjbHh1WEhSY2RIMDdYSEpjYmx4eVhHNWNkRngwYVdZb0lHVjJaVzUwVkhsd1pTQWhQU0JRWVc1bGJFMXZkWE5sUlhabGJuUlVlWEJsTGsxdmRtVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1lIQmhibVZzSUcxdmRYTmxJR1YyWlc1MElDUjdJRkJoYm1Wc1RXOTFjMlZGZG1WdWRGUjVjR1ZiSUdWMlpXNTBWSGx3WlNCZElIMGdKSHNnWlhabGJuUXVlQ0I5TENBa2V5QmxkbVZ1ZEM1NUlIMWdJQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbkJ5YjNCekxtTjFjM1J2YlUxdmRYTmxTR0Z1Wkd4bGNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWNISnZjSE11WTNWemRHOXRUVzkxYzJWSVlXNWtiR1Z5S0NCbGRtVnVkQ0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG05dVJHVm1ZWFZzZEUxdmRYTmxSWFpsYm5Rb0lHVjJaVzUwSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUc5dVJHVm1ZWFZzZEUxdmRYTmxSWFpsYm5Rb0lHVjJaVzUwT2lCUVlXNWxiRTF2ZFhObFJYWmxiblFnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCb1lYQjBhV05CYlhCc2FYUjFaR1VnUFNBd08xeHlYRzVjZEZ4MGMzZHBkR05vS0NCbGRtVnVkQzUwZVhCbElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZMkZ6WlNCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExrVnVkR1Z5T2x4eVhHNWNkRngwWEhSallYTmxJRkJoYm1Wc1RXOTFjMlZGZG1WdWRGUjVjR1V1VEdWaGRtVTZYSEpjYmx4MFhIUmNkRngwYUdGd2RHbGpRVzF3YkdsMGRXUmxJRDBnTUM0d05UdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdVR0Z1Wld4TmIzVnpaVVYyWlc1MFZIbHdaUzVFYjNkdU9seHlYRzVjZEZ4MFhIUmNkR2hoY0hScFkwRnRjR3hwZEhWa1pTQTlJREU3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGFXWW9JR2hoY0hScFkwRnRjR3hwZEhWa1pTQStJREFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExuTmxibVJJWVhCMGFXTkZkbVZ1ZENnZ1pYWmxiblF1Y0c5clpYSkZjR0VzSUdoaGNIUnBZMEZ0Y0d4cGRIVmtaU3dnTVN3Z01DQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEVGMktDa3VjM0J2YjJaTmIzVnpaVVYyWlc1MEtDQmxkbVZ1ZEM1MGVYQmxMQ0JsZG1WdWRDNTRMQ0JsZG1WdWRDNTVJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJR2RsZENCM2FXUjBhQ2dwT2lCdWRXMWlaWEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV3Y205d2N5NTNhV1IwYUVsdVRXVjBaWEp6TzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JuWlhRZ2FHVnBaMmgwS0NrNklHNTFiV0psY2x4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQjNhVzVrYjNjdWFXNXVaWEpJWldsbmFIUWdLaUIwYUdsekxuQnliM0J6TG5kcFpIUm9TVzVOWlhSbGNuTWdMeUIzYVc1a2IzY3VhVzV1WlhKWGFXUjBhRHRjY2x4dVhIUjlYSEpjYmx4MFhISmNibHgwTHlvZ1FHaHBaR1JsYmlBcUwxeHlYRzVjZEhKbGJtUmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhadmJIVnRaVG9nUVhaV2IyeDFiV1VnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1QlFVSkNMRnh5WEc1Y2RGeDBYSFJoWVdKaU9seHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZUUxcGJqb2dMWFJvYVhNdWQybGtkR2d2TWl3Z2VFMWhlRG9nZEdocGN5NTNhV1IwYUM4eUxGeHlYRzVjZEZ4MFhIUmNkSGxOYVc0NklDMTBhR2x6TG1obGFXZG9kQzh5TENCNVRXRjRPaUIwYUdsekxtaGxhV2RvZEM4eUxGeHlYRzVjZEZ4MFhIUmNkSHBOYVc0NklEQXNJSHBOWVhnNklEQXVNREF3TVN4Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZUdGNjbHh1WEhSY2RDOHZJRmRsSUhWelpTQjBkMjhnZG05c2RXMWxjeUJvWlhKbExDQjNhWFJvSUhSb1pTQjBhR2x1SUc5dVpTQm1hWEp6ZEN3Z2RHOGdhVzF3Y205MlpTQjBhR1VnY1hWaGJHbDBlU0J2WmlCMGFHVWdhVzUwWlhKelpXTjBhVzl1SUhCdmFXNTBMbHh5WEc1Y2RGeDBMeThnVW1GNUlHbHVkR1Z5YzJWamRHbHZibk1nZDJsc2JDQmhiRzF2YzNRZ1lXeDNZWGx6SUdocGRDQjBhR1VnZEdocGJpQjJiMngxYldVZ2FXWWdkR2hsZVNCM2IzVnNaQ0JvWVhabElHaHBkQ0IwYUdVZ2RHaHBZMnNnZG05c2RXMWxMRnh5WEc1Y2RGeDBMeThnYzI4Z2RHaGxlU0JuWlc1bGNtRjBaU0JoYmlCcGJuUmxjbk5sWTNScGIyNGdjRzlwYm5RZ2RHaGhkQ2R6SUhabGNua2dZMnh2YzJVZ2RHOGdkR2hsSUhOMWNtWmhZMlVnYjJZZ2RHaGxJSEJoYm1Wc0xpQlRjR2hsY21VZ1hISmNibHgwWEhRdkx5QnBiblJsY25ObFkzUnBiMjV6SUNoc2FXdGxJSFJvWlNCbmNtRmlZbVZ5Y3lCdmJpQjBhR1VnYUdGdVpITXBJSGRwYkd3Z2FXNTBaWEp6WldOMElIZHBkR2dnZEdobElIUm9hV05yWlhJZ2RtOXNkVzFsSUdFZ1ptVjNJR050SUdGM1lYbGNjbHh1WEhSY2RDOHZJR1p5YjIwZ2RHaGxJSEJoYm1Wc0xDQjNhR2xqYUNCdFlXdGxjeUIwYUdVZ2NHRnVaV3dnWldGemFXVnlJSFJ2SUhWelpTNGdYSEpjYmx4MFhIUXZMeUJKYmlCaWIzUm9JR05oYzJWeklIUm9aU0JwYm5SbGNuTmxZM1JwYjI0Z2NHOXBiblFnYVhNZ2NISnZhbVZqZEdWa0lHUnZkMjRnZEc4Z2RHaGxJSE4xY21aaFkyVWdiMllnZEdobElIQmhibVZzTGx4eVhHNWNkRngwYkdWMElIUm9hV05yVm05c2RXMWxPaUJCZGxadmJIVnRaU0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSNWNHVTZJRVZXYjJ4MWJXVlVlWEJsTGtGQlFrSXNYSEpjYmx4MFhIUmNkR0ZoWW1JNlhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFI0VFdsdU9pQXRkR2hwY3k1M2FXUjBhQzh5TENCNFRXRjRPaUIwYUdsekxuZHBaSFJvTHpJc1hISmNibHgwWEhSY2RGeDBlVTFwYmpvZ0xYUm9hWE11YUdWcFoyaDBMeklzSUhsTllYZzZJSFJvYVhNdWFHVnBaMmgwTHpJc1hISmNibHgwWEhSY2RGeDBlazFwYmpvZ01Dd2dlazFoZURvZ01DNHdNeXhjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlR0Y2NseHVYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRHcrWEhKY2JseDBYSFJjZEZ4MFhIUThRWFpVY21GdWMyWnZjbTBnYzJOaGJHVllQWHNnZEdocGN5NTNhV1IwYUNCOUlITmpZV3hsV1QxN0lIUm9hWE11YUdWcFoyaDBJSDArWEhKY2JseDBYSFJjZEZ4MFhIUmNkRHhCZGxSeVlXNXpabTl5YlNCeWIzUmhkR1ZZUFhzZ09UQWdmU0ErWEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwUEVGMlRXOWtaV3dnZFhKcFBYc2daMTlpZFdsc2RHbHVUVzlrWld4UVlXNWxiQ0I5SUhWelpVSnliM2R6WlhKVVpYaDBkWEpsUFhzZ2RISjFaU0I5THo1Y2NseHVYSFJjZEZ4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNWNjbHh1WEhSY2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbU5vYVd4a2NtVnVJSDFjY2x4dVhIUmNkRngwWEhSY2REd3ZRWFpVY21GdWMyWnZjbTArWEhKY2JseDBYSFJjZEZ4MFhIUjdJSFJvYVhNdWMzUmhkR1V1Ylc5MWMyVlFiM05wZEdsdmJpQW1KaUJjY2x4dVhIUmNkRngwWEhSY2RGeDBQRUYyVkhKaGJuTm1iM0p0SUhSeVlXNXpiR0YwWlZnOWV5QjBhR2x6TG5OMFlYUmxMbTF2ZFhObFVHOXphWFJwYjI0dWVDQjlJSFJ5WVc1emJHRjBaVms5ZXlCMGFHbHpMbk4wWVhSbExtMXZkWE5sVUc5emFYUnBiMjR1ZVNCOUlENWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUThRWFpRY21sdGFYUnBkbVVnZEhsd1pUMTdJRkJ5YVcxcGRHbDJaVlI1Y0dVdVUzQm9aWEpsSUgwZ2NtRmthWFZ6UFhzZ01DNHdNRElnZlNCamIyeHZjajFjSW5sbGJHeHZkMXdpTHo1Y2NseHVYSFJjZEZ4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNGdmVnh5WEc1Y2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbWx1ZEdWeVlXTjBhWFpsSUNZbVhISmNibHgwWEhSY2RGeDBYSFJjZER4QmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVNCMmIyeDFiV1U5ZXlCYklIWnZiSFZ0WlN3Z2RHaHBZMnRXYjJ4MWJXVWdYU0I5SUhCeWFXOXlhWFI1UFhzZ01UQWdmU0IzWVc1MGMxUnlZVzV6Wm05eWJYTTlleUIwY25WbElIMWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnlaV05sYVhabGN6MTdJRnNnZXlCcFptRmpaVG9nWENKaFlYSmtkbUZ5YXkxd1lXNWxiRUF5WENJc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJsQmhibVZzSUgwZ1hTQjlMejRnZlZ4eVhHNWNkRngwWEhSY2REd3ZQbHh5WEc1Y2RIMWNjbHh1ZlNKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19wYW5lbC50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX3BhbmVsYW5jaG9yLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfcGFuZWxhbmNob3IudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdlBhbmVsQW5jaG9yICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdlBhbmVsQW5jaG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdlBhbmVsQW5jaG9yOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuLyoqIFNldHMgdGhlIHRyYW5zZm9ybSBvZiBpdHMgY2hpbGRyZW4gdG8gdGhlIGNlbnRlciBvZiB0aGUgcGFuZWwgYW5jaG9yJ3MgRE9NIG5vZGVcXHJcXG4gKiBpbiBpdHMgcGFyZW50IEF2UGFuZWwuIFRoaXMgaXMgdXNlZnVsIGZvciBkcmF3aW5nIG1vZGVscyBhbmQgb3RoZXIgbm9kZXMgaW4gYVxcclxcbiAqIHJlYXNvbmFibGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGV4dCBvbiBhIHBhbmVsLlxcclxcbiAqL1xcclxcbmNsYXNzIEF2UGFuZWxBbmNob3IgZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMubV9yZWYgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVSZWZcXFwiXSgpO1xcclxcbiAgICB9XFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uVHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGlmICh0aGlzLm1fcmVmLmN1cnJlbnQpIHtcXHJcXG4gICAgICAgICAgICBsZXQgZG9tUmVjdCA9IHRoaXMubV9yZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcXHJcXG4gICAgICAgICAgICBpZiAoZG9tUmVjdCkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgeCA9ICgoZG9tUmVjdC5sZWZ0ICsgZG9tUmVjdC5yaWdodCkgLyAoMiAqIHdpbmRvdy5pbm5lcldpZHRoKSkgLSAwLjU7XFxyXFxuICAgICAgICAgICAgICAgIGxldCB5ID0gLSgoKGRvbVJlY3QudG9wICsgZG9tUmVjdC5ib3R0b20pIC8gKDIgKiB3aW5kb3cuaW5uZXJIZWlnaHQpKSAtIDAuNSk7XFxyXFxuICAgICAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybSA9IHt9O1xcclxcbiAgICAgICAgICAgICAgICBub2RlLnByb3BUcmFuc2Zvcm0ucG9zaXRpb24gPVxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHgsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgeSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB6OiAwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJkaXZcXFwiLCB7IHJlZjogdGhpcy5tX3JlZiwgc3R5bGU6IHsgaGVpZ2h0OiBcXFwiMTAwJVxcXCIsIHdpZHRoOiBcXFwiMTAwJVxcXCIgfSB9LCB0aGlzLmJhc2VOb2RlUmVuZGVyKHRoaXMsIHRoaXMucHJvcHMuY2hpbGRyZW4pKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXdZVzVsYkdGdVkyaHZjaTUwYzNnL05qUXdOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUVyUWp0QlFVVXdRanRCUVVOVk8wRkJSVzVGT3pzN1IwRkhSenRCUVVOSkxFMUJRVTBzWVVGQll5eFRRVUZSTERoRVFVRnBRenRKUVVGd1JUczdVVUZGVXl4VlFVRkxMRWRCUVVjc0swTkJRV1VzUlVGQmEwSXNRMEZCUXp0SlFXbERia1FzUTBGQlF6dEpRUzlDVHl4VFFVRlRPMUZCUldZc1NVRkJTU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRkxITkZRVUZWTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVVY0UlN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVU4wUWp0WlFVTkRMRWxCUVVrc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEVOQlFVTTdXVUZEZWtRc1NVRkJTU3hQUVVGUExFVkJRMWc3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJSU3hEUVVGRkxFOUJRVThzUTBGQlF5eEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJSU3hIUVVGSExFTkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVVc1EwRkJSU3hIUVVGSExFZEJRVWNzUTBGQlF6dG5Ra0ZETDBVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlJTeERRVUZGTEVOQlFVVXNRMEZCUlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVVXNSMEZCUnl4RFFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZGTEVOQlFVVXNSMEZCUnl4SFFVRkhMRU5CUVVVc1EwRkJRenRuUWtGRmRFWXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1IwRkJSeXhGUVVGRkxFTkJRVU03WjBKQlEzaENMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVUdHZRa0ZETTBJN2QwSkJRME1zUTBGQlF6dDNRa0ZEUkN4RFFVRkRPM2RDUVVORUxFTkJRVU1zUlVGQlJTeERRVUZETzNGQ1FVTktMRU5CUVVNN1lVRkRSanRUUVVORU8xRkJSVVFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlUwc1RVRkJUVHRSUVVWYUxFOUJRVThzTmtSQlFVc3NSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFVkJRVWNzUzBGQlN5eEZRVUZITEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlEzSkZMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRemRETEVOQlFVTTdTVUZEVWl4RFFVRkRPME5CUTBRaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmY0dGdVpXeGhibU5vYjNJdWRITjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh5WEc1Y2NseHVhVzF3YjNKMElIc2dRWFpPYjJSbFZIbHdaU0I5SUdaeWIyMGdKMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJRbUZ6WlU1dlpHVXNJRUYyUW1GelpVNXZaR1ZRY205d2N5QjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZbUZ6WlY5dWIyUmxKenRjY2x4dVhISmNiaThxS2lCVFpYUnpJSFJvWlNCMGNtRnVjMlp2Y20wZ2IyWWdhWFJ6SUdOb2FXeGtjbVZ1SUhSdklIUm9aU0JqWlc1MFpYSWdiMllnZEdobElIQmhibVZzSUdGdVkyaHZjaWR6SUVSUFRTQnViMlJsWEhKY2JpQXFJR2x1SUdsMGN5QndZWEpsYm5RZ1FYWlFZVzVsYkM0Z1ZHaHBjeUJwY3lCMWMyVm1kV3dnWm05eUlHUnlZWGRwYm1jZ2JXOWtaV3h6SUdGdVpDQnZkR2hsY2lCdWIyUmxjeUJwYmlCaElGeHlYRzRnS2lCeVpXRnpiMjVoWW14bElIQnZjMmwwYVc5dUlISmxiR0YwYVhabElIUnZJSFJsZUhRZ2IyNGdZU0J3WVc1bGJDNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRsQmhibVZzUVc1amFHOXlJR1Y0ZEdWdVpITWdRWFpDWVhObFRtOWtaVHdnUVhaQ1lYTmxUbTlrWlZCeWIzQnpMQ0I3ZlNBK0lGeHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRYM0psWmlBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmp4SVZFMU1SR2wyUld4bGJXVnVkRDRvS1R0Y2NseHVYSEpjYmx4MGNIVmliR2xqSUdKMWFXeGtUbTlrWlNncFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHNXZaR1VnUFNCMGFHbHpMbU55WldGMFpVNXZaR1ZQWW1wbFkzUW9JRUYyVG05a1pWUjVjR1V1VkhKaGJuTm1iM0p0TENCMGFHbHpMbTFmYm05a1pVbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWJWOXlaV1l1WTNWeWNtVnVkQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQmtiMjFTWldOMElEMGdkR2hwY3k1dFgzSmxaaTVqZFhKeVpXNTBMbWRsZEVKdmRXNWthVzVuUTJ4cFpXNTBVbVZqZENncE8xeHlYRzVjZEZ4MFhIUnBaaWdnWkc5dFVtVmpkQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnNaWFFnZUNBOUlDZ2dLQ0JrYjIxU1pXTjBMbXhsWm5RZ0t5QmtiMjFTWldOMExuSnBaMmgwSUNrZ0x5QW9JRElnS2lCM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUNBcElDa2dMU0F3TGpVN1hISmNibHgwWEhSY2RGeDBiR1YwSUhrZ1BTQXRJQ2dnS0NBb0lHUnZiVkpsWTNRdWRHOXdJQ3NnWkc5dFVtVmpkQzVpYjNSMGIyMGdLU0F2SUNnZ01pQXFJSGRwYm1SdmR5NXBibTVsY2tobGFXZG9kQ0FwSUNrZ0xTQXdMalVnS1R0Y2NseHVYSEpjYmx4MFhIUmNkRngwYm05a1pTNXdjbTl3VkhKaGJuTm1iM0p0SUQwZ2UzMDdYSEpjYmx4MFhIUmNkRngwYm05a1pTNXdjbTl3VkhKaGJuTm1iM0p0TG5CdmMybDBhVzl1SUQxY2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSNExGeHlYRzVjZEZ4MFhIUmNkRngwZVN4Y2NseHVYSFJjZEZ4MFhIUmNkSG82SURBc1hISmNibHgwWEhSY2RGeDBmVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RISmxkSFZ5YmlCdWIyUmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxibVJsY2lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRHhrYVhZZ2NtVm1QWHNnZEdocGN5NXRYM0psWmlCOUlITjBlV3hsUFhzZ2V5Qm9aV2xuYUhRNklGd2lNVEF3SlZ3aUxDQjNhV1IwYURvZ1hDSXhNREFsWENJZ2ZYMCtYSEpjYmx4MFhIUmNkSHNnZEdocGN5NWlZWE5sVG05a1pWSmxibVJsY2lnZ2RHaHBjeXdnZEdocGN5NXdjbTl3Y3k1amFHbHNaSEpsYmlBcElIMWNjbHh1WEhSY2REd3ZaR2wyUGp0Y2NseHVYSFI5WEhKY2JuMGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfcGFuZWxhbmNob3IudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19wYXJlbnRfdHJhbnNmb3JtLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19wYXJlbnRfdHJhbnNmb3JtLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdlBhcmVudFRyYW5zZm9ybSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZQYXJlbnRUcmFuc2Zvcm1cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2UGFyZW50VHJhbnNmb3JtOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcblxcclxcblxcclxcbi8qKiBDYXVzZXMgYSBsaW5lIHRvIGFwcGVhciBmcm9tIHRoZSB0cmFuc2Zvcm0gb2YgdGhpcyBub2RlJ3MgcGFyZW50IHRvIHRoZVxcclxcbiAqIHNwZWNpZmllZCBlbmQgcG9pbnQuICovXFxyXFxuY2xhc3MgQXZQYXJlbnRUcmFuc2Zvcm0gZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uUGFyZW50VHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIG5vZGUucHJvcFBhcmVudEFkZHIgPSB0aGlzLnByb3BzLnBhcmVudElkO1xcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl3WVhKbGJuUmZkSEpoYm5ObWIzSnRMblJ6ZUQ4d1l6TTRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJiVVU3UVVGRFNUdEJRVmwyUlRzd1FrRkRNRUk3UVVGRGJrSXNUVUZCVFN4cFFrRkJhMElzVTBGQlVTdzRSRUZCZDBNN1NVRkZka1VzVTBGQlV6dFJRVVZtTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUlN4elJVRkJWU3hEUVVGRExHVkJRV1VzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVNN1VVRkRPVVVzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF6dFJRVU14UXl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOaUxFTkJRVU03UTBGRFJDSXNJbVpwYkdVaU9pSXVMM055WXk5aFlYSmtkbUZ5YTE5d1lYSmxiblJmZEhKaGJuTm1iM0p0TG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVGMlFtRnpaVTV2WkdVc0lFRjJRbUZ6WlU1dlpHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlltRnpaVjl1YjJSbEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaT2IyUmxWSGx3WlN3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dVhISmNiaThxS2lCUWNtOXdjeUJtYjNJZ2UwQnNhVzVySUVGMlVHRnlaVzUwVkhKaGJuTm1iM0p0ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVUdGeVpXNTBWSEpoYm5ObWIzSnRVSEp2Y0hNZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR1VnWlc1a2NHOXBiblFnWVdSa2NtVnpjeUJ2WmlCMGFHVWdibTlrWlNCMGFHRjBJSE5vYjNWc1pDQmlaU0IwYUdVZ2NHRnlaVzUwSUc5bUlIUm9hWE1nWEhKY2JseDBJQ29nYm05a1pTNWNjbHh1WEhRZ0tpOWNjbHh1WEhSd1lYSmxiblJKWkRvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVOaGRYTmxjeUJoSUd4cGJtVWdkRzhnWVhCd1pXRnlJR1p5YjIwZ2RHaGxJSFJ5WVc1elptOXliU0J2WmlCMGFHbHpJRzV2WkdVbmN5QndZWEpsYm5RZ2RHOGdkR2hsSUZ4eVhHNGdLaUJ6Y0dWamFXWnBaV1FnWlc1a0lIQnZhVzUwTGlBcUwxeHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWlFZWEpsYm5SVWNtRnVjMlp2Y20wZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFBDQkJkbEJoY21WdWRGUnlZVzV6Wm05eWJWQnliM0J6TENCN2ZTQStYSEpjYm50Y2NseHVYSFJ3ZFdKc2FXTWdZblZwYkdST2IyUmxLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYm05a1pTQTlJSFJvYVhNdVkzSmxZWFJsVG05a1pVOWlhbVZqZENnZ1FYWk9iMlJsVkhsd1pTNVFZWEpsYm5SVWNtRnVjMlp2Y20wc0lIUm9hWE11YlY5dWIyUmxTV1FnS1R0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0ZCaGNtVnVkRUZrWkhJZ1BTQjBhR2x6TG5CeWIzQnpMbkJoY21WdWRFbGtPMXh5WEc1Y2RGeDBjbVYwZFhKdUlHNXZaR1U3WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19wYXJlbnRfdHJhbnNmb3JtLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfcHJpbWl0aXZlLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX3ByaW1pdGl2ZS50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBQcmltaXRpdmVUeXBlLCBQcmltaXRpdmVZT3JpZ2luLCBQcmltaXRpdmVYT3JpZ2luLCBQcmltaXRpdmVaT3JpZ2luLCBBdlByaW1pdGl2ZSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlVHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlVHlwZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWU9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlWU9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWE9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlWE9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWk9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlWk9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZQcmltaXRpdmVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2UHJpbWl0aXZlOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIFByaW1pdGl2ZVR5cGU7XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVUeXBlKSB7XFxyXFxuICAgIFByaW1pdGl2ZVR5cGVbXFxcIkN1YmVcXFwiXSA9IFxcXCJjdWJlXFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlVHlwZVtcXFwiU3BoZXJlXFxcIl0gPSBcXFwic3BoZXJlXFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlVHlwZVtcXFwiQ3lsaW5kZXJcXFwiXSA9IFxcXCJjeWxpbmRlclxcXCI7XFxyXFxufSkoUHJpbWl0aXZlVHlwZSB8fCAoUHJpbWl0aXZlVHlwZSA9IHt9KSk7XFxyXFxudmFyIFByaW1pdGl2ZVlPcmlnaW47XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVZT3JpZ2luKSB7XFxyXFxuICAgIFByaW1pdGl2ZVlPcmlnaW5bXFxcIlRvcFxcXCJdID0gXFxcInRvcFxcXCI7XFxyXFxuICAgIFByaW1pdGl2ZVlPcmlnaW5bXFxcIkJvdHRvbVxcXCJdID0gXFxcImJvdHRvbVxcXCI7XFxyXFxuICAgIFByaW1pdGl2ZVlPcmlnaW5bXFxcIkNlbnRlclxcXCJdID0gXFxcImNlbnRlclxcXCI7XFxyXFxufSkoUHJpbWl0aXZlWU9yaWdpbiB8fCAoUHJpbWl0aXZlWU9yaWdpbiA9IHt9KSk7XFxyXFxudmFyIFByaW1pdGl2ZVhPcmlnaW47XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVYT3JpZ2luKSB7XFxyXFxuICAgIFByaW1pdGl2ZVhPcmlnaW5bXFxcIkxlZnRcXFwiXSA9IFxcXCJsZWZ0XFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlWE9yaWdpbltcXFwiUmlnaHRcXFwiXSA9IFxcXCJyaWdodFxcXCI7XFxyXFxuICAgIFByaW1pdGl2ZVhPcmlnaW5bXFxcIkNlbnRlclxcXCJdID0gXFxcImNlbnRlclxcXCI7XFxyXFxufSkoUHJpbWl0aXZlWE9yaWdpbiB8fCAoUHJpbWl0aXZlWE9yaWdpbiA9IHt9KSk7XFxyXFxudmFyIFByaW1pdGl2ZVpPcmlnaW47XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVaT3JpZ2luKSB7XFxyXFxuICAgIFByaW1pdGl2ZVpPcmlnaW5bXFxcIkZvcndhcmRcXFwiXSA9IFxcXCJmb3J3YXJkXFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlWk9yaWdpbltcXFwiQmFja1xcXCJdID0gXFxcImJhY2tcXFwiO1xcclxcbiAgICBQcmltaXRpdmVaT3JpZ2luW1xcXCJDZW50ZXJcXFwiXSA9IFxcXCJjZW50ZXJcXFwiO1xcclxcbn0pKFByaW1pdGl2ZVpPcmlnaW4gfHwgKFByaW1pdGl2ZVpPcmlnaW4gPSB7fSkpO1xcclxcbmZ1bmN0aW9uIEF2UHJpbWl0aXZlKHByb3BzKSB7XFxyXFxuICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9qO1xcclxcbiAgICBsZXQgeFNjYWxlID0gKF9hID0gcHJvcHMud2lkdGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICgoX2IgPSBwcm9wcy5yYWRpdXMpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDEuMCk7XFxyXFxuICAgIGxldCB5U2NhbGUgPSAoX2MgPSBwcm9wcy5oZWlnaHQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6ICgoX2QgPSBwcm9wcy5yYWRpdXMpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDEuMCk7XFxyXFxuICAgIGxldCB6U2NhbGUgPSAoX2UgPSBwcm9wcy5kZXB0aCkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogKChfZiA9IHByb3BzLnJhZGl1cykgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMS4wKTtcXHJcXG4gICAgbGV0IHhPZmZzZXQ7XFxyXFxuICAgIHN3aXRjaCAoKF9nID0gcHJvcHMub3JpZ2luWCkgIT09IG51bGwgJiYgX2cgIT09IHZvaWQgMCA/IF9nIDogUHJpbWl0aXZlWE9yaWdpbi5DZW50ZXIpIHtcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWE9yaWdpbi5DZW50ZXI6XFxyXFxuICAgICAgICAgICAgeE9mZnNldCA9IDA7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVhPcmlnaW4uTGVmdDpcXHJcXG4gICAgICAgICAgICB4T2Zmc2V0ID0geFNjYWxlIC8gMjtcXHJcXG4gICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWE9yaWdpbi5SaWdodDpcXHJcXG4gICAgICAgICAgICB4T2Zmc2V0ID0gLXhTY2FsZSAvIDI7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgIH1cXHJcXG4gICAgbGV0IHlPZmZzZXQ7XFxyXFxuICAgIHN3aXRjaCAoKF9oID0gcHJvcHMub3JpZ2luWSkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogUHJpbWl0aXZlWU9yaWdpbi5DZW50ZXIpIHtcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWU9yaWdpbi5DZW50ZXI6XFxyXFxuICAgICAgICAgICAgeU9mZnNldCA9IDA7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVlPcmlnaW4uQm90dG9tOlxcclxcbiAgICAgICAgICAgIHlPZmZzZXQgPSB5U2NhbGUgLyAyO1xcclxcbiAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgY2FzZSBQcmltaXRpdmVZT3JpZ2luLlRvcDpcXHJcXG4gICAgICAgICAgICB5T2Zmc2V0ID0gLXlTY2FsZSAvIDI7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgIH1cXHJcXG4gICAgbGV0IHpPZmZzZXQ7XFxyXFxuICAgIHN3aXRjaCAoKF9qID0gcHJvcHMub3JpZ2luWikgIT09IG51bGwgJiYgX2ogIT09IHZvaWQgMCA/IF9qIDogUHJpbWl0aXZlWk9yaWdpbi5DZW50ZXIpIHtcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWk9yaWdpbi5DZW50ZXI6XFxyXFxuICAgICAgICAgICAgek9mZnNldCA9IDA7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVpPcmlnaW4uRm9yd2FyZDpcXHJcXG4gICAgICAgICAgICB6T2Zmc2V0ID0gLXpTY2FsZSAvIDI7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVpPcmlnaW4uQmFjazpcXHJcXG4gICAgICAgICAgICB6T2Zmc2V0ID0gelNjYWxlIC8gMjtcXHJcXG4gICAgICAgICAgICBicmVhaztcXHJcXG4gICAgfVxcclxcbiAgICBsZXQgbW9kZWxVcmk7XFxyXFxuICAgIHN3aXRjaCAocHJvcHMudHlwZSkge1xcclxcbiAgICAgICAgY2FzZSBQcmltaXRpdmVUeXBlLkN1YmU6XFxyXFxuICAgICAgICAgICAgbW9kZWxVcmkgPSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiZ19idWlsdGluTW9kZWxCb3hcXFwiXTtcXHJcXG4gICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5DeWxpbmRlcjpcXHJcXG4gICAgICAgICAgICBtb2RlbFVyaSA9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJnX2J1aWx0aW5Nb2RlbEN5bGluZGVyXFxcIl07XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVR5cGUuU3BoZXJlOlxcclxcbiAgICAgICAgICAgIG1vZGVsVXJpID0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcImdfYnVpbHRpbk1vZGVsU3BoZXJlXFxcIl07XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgIH1cXHJcXG4gICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgc2NhbGVYOiB4U2NhbGUsIHNjYWxlWTogeVNjYWxlLCBzY2FsZVo6IHpTY2FsZSwgdHJhbnNsYXRlWDogeE9mZnNldCwgdHJhbnNsYXRlWTogeU9mZnNldCwgdHJhbnNsYXRlWjogek9mZnNldCB9LFxcclxcbiAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiBtb2RlbFVyaSwgY29sb3I6IHByb3BzLmNvbG9yLCBvdmVybGF5T25seTogcHJvcHMub3ZlcmxheU9ubHkgfSkpO1xcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXdjbWx0YVhScGRtVXVkSE40UHpFeE9XRWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFUaEhPMEZCUlM5Rk8wRkJRMWs3UVVGRFVUdEJRVVZ1UkN4SlFVRlpMR0ZCUzFnN1FVRk1SQ3hYUVVGWkxHRkJRV0U3U1VGRmVFSXNPRUpCUVdFN1NVRkRZaXhyUTBGQmFVSTdTVUZEYWtJc2MwTkJRWEZDTzBGQlEzUkNMRU5CUVVNc1JVRk1WeXhoUVVGaExFdEJRV0lzWVVGQllTeFJRVXQ0UWp0QlFVVkVMRWxCUVZrc1owSkJTMWc3UVVGTVJDeFhRVUZaTEdkQ1FVRm5RanRKUVVVelFpd3JRa0ZCVnp0SlFVTllMSEZEUVVGcFFqdEpRVU5xUWl4eFEwRkJhVUk3UVVGRGJFSXNRMEZCUXl4RlFVeFhMR2RDUVVGblFpeExRVUZvUWl4blFrRkJaMElzVVVGTE0wSTdRVUZGUkN4SlFVRlpMR2RDUVV0WU8wRkJURVFzVjBGQldTeG5Ra0ZCWjBJN1NVRkZNMElzYVVOQlFXRTdTVUZEWWl4dFEwRkJaVHRKUVVObUxIRkRRVUZwUWp0QlFVTnNRaXhEUVVGRExFVkJURmNzWjBKQlFXZENMRXRCUVdoQ0xHZENRVUZuUWl4UlFVc3pRanRCUVVWRUxFbEJRVmtzWjBKQlMxZzdRVUZNUkN4WFFVRlpMR2RDUVVGblFqdEpRVVV6UWl4MVEwRkJiVUk3U1VGRGJrSXNhVU5CUVdFN1NVRkRZaXh4UTBGQmFVSTdRVUZEYkVJc1EwRkJReXhGUVV4WExHZENRVUZuUWl4TFFVRm9RaXhuUWtGQlowSXNVVUZMTTBJN1FVRnhSVTBzVTBGQlV5eFhRVUZYTEVOQlFVVXNTMEZCZFVJN08wbEJSVzVFTEVsQlFVa3NUVUZCVFN4VFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExHMURRVUZKTEU5QlFVVXNTMEZCU3l4RFFVRkRMRTFCUVUwc2JVTkJRVWtzUjBGQlJ5eERRVUZGTEVOQlFVTTdTVUZEY0VRc1NVRkJTU3hOUVVGTkxGTkJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNiVU5CUVVrc1QwRkJSU3hMUVVGTExFTkJRVU1zVFVGQlRTeHRRMEZCU1N4SFFVRkhMRU5CUVVVc1EwRkJRenRKUVVOeVJDeEpRVUZKTEUxQlFVMHNVMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXh0UTBGQlNTeFBRVUZGTEV0QlFVc3NRMEZCUXl4TlFVRk5MRzFEUVVGSkxFZEJRVWNzUTBGQlJTeERRVUZETzBsQlJYQkVMRWxCUVVrc1QwRkJaU3hEUVVGRE8wbEJRM0JDTEdOQlFWRXNTMEZCU3l4RFFVRkRMRTlCUVU4c2JVTkJRVWtzWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hGUVVOb1JEdFJRVU5ETEV0QlFVc3NaMEpCUVdkQ0xFTkJRVU1zVFVGQlRUdFpRVU16UWl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMW9zVFVGQlRUdFJRVVZRTEV0QlFVc3NaMEpCUVdkQ0xFTkJRVU1zU1VGQlNUdFpRVU42UWl4UFFVRlBMRWRCUVVjc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU55UWl4TlFVRk5PMUZCUlZBc1MwRkJTeXhuUWtGQlowSXNRMEZCUXl4TFFVRkxPMWxCUXpGQ0xFOUJRVThzUjBGQlJ5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRkRUlzVFVGQlRUdExRVU5RTzBsQlJVUXNTVUZCU1N4UFFVRmxMRU5CUVVNN1NVRkRjRUlzWTBGQlVTeExRVUZMTEVOQlFVTXNUMEZCVHl4dFEwRkJTU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUTJoRU8xRkJRME1zUzBGQlN5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTk8xbEJRek5DTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRXaXhOUVVGTk8xRkJSVkFzUzBGQlN5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTk8xbEJRek5DTEU5QlFVOHNSMEZCUnl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0pDTEUxQlFVMDdVVUZGVUN4TFFVRkxMR2RDUVVGblFpeERRVUZETEVkQlFVYzdXVUZEZUVJc1QwRkJUeXhIUVVGSExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjBRaXhOUVVGTk8wdEJRMUE3U1VGRlJDeEpRVUZKTEU5QlFXVXNRMEZCUXp0SlFVTndRaXhqUVVGUkxFdEJRVXNzUTBGQlF5eFBRVUZQTEcxRFFVRkpMR2RDUVVGblFpeERRVUZETEUxQlFVMHNSVUZEYUVRN1VVRkRReXhMUVVGTExHZENRVUZuUWl4RFFVRkRMRTFCUVUwN1dVRkRNMElzVDBGQlR5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTmFMRTFCUVUwN1VVRkZVQ3hMUVVGTExHZENRVUZuUWl4RFFVRkRMRTlCUVU4N1dVRkROVUlzVDBGQlR5eEhRVUZITEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOMFFpeE5RVUZOTzFGQlJWQXNTMEZCU3l4blFrRkJaMElzUTBGQlF5eEpRVUZKTzFsQlEzcENMRTlCUVU4c1IwRkJSeXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzSkNMRTFCUVUwN1MwRkRVRHRKUVVWRUxFbEJRVWtzVVVGQlowSXNRMEZCUXp0SlFVTnlRaXhSUVVGUkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlEyeENPMUZCUTBNc1MwRkJTeXhoUVVGaExFTkJRVU1zU1VGQlNUdFpRVU4wUWl4UlFVRlJMRWRCUVVjc05rVkJRV2xDTEVOQlFVTTdXVUZETjBJc1RVRkJUVHRSUVVWUUxFdEJRVXNzWVVGQllTeERRVUZETEZGQlFWRTdXVUZETVVJc1VVRkJVU3hIUVVGSExHdEdRVUZ6UWl4RFFVRkRPMWxCUTJ4RExFMUJRVTA3VVVGRlVDeExRVUZMTEdGQlFXRXNRMEZCUXl4TlFVRk5PMWxCUTNoQ0xGRkJRVkVzUjBGQlJ5eG5Sa0ZCYjBJc1EwRkJRenRaUVVOb1F5eE5RVUZOTzB0QlExQTdTVUZGUkN4UFFVRlBMRzlFUVVGRExDdEVRVUZYTEVsQlFVTXNUVUZCVFN4RlFVRkhMRTFCUVUwc1JVRkJSeXhOUVVGTkxFVkJRVWNzVFVGQlRTeEZRVUZITEUxQlFVMHNSVUZCUnl4TlFVRk5MRVZCUTNSRkxGVkJRVlVzUlVGQlJ5eFBRVUZQTEVWQlFVY3NWVUZCVlN4RlFVRkhMRTlCUVU4c1JVRkJSeXhWUVVGVkxFVkJRVWNzVDBGQlR6dFJRVU5xUlN4dlJFRkJReXgxUkVGQlR5eEpRVUZETEVkQlFVY3NSVUZCUnl4UlFVRlJMRVZCUVVVc1MwRkJTeXhGUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVY3NWMEZCVnl4RlFVRkhMRXRCUVVzc1EwRkJReXhYUVVGWExFZEJRVWtzUTBGRGNrVXNRMEZCUXp0QlFVTnFRaXhEUVVGRElpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDNCeWFXMXBkR2wyWlM1MGMzZ3Vhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCblgySjFhV3gwYVc1TmIyUmxiRU41YkdsdVpHVnlMQ0JuWDJKMWFXeDBhVzVOYjJSbGJFSnZlQ3dnWjE5aWRXbHNkR2x1VFc5a1pXeFRjR2hsY21VZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdleUJRVDBsT1ZGOURUMDVXUlZKVFNVOU9YME5QVFZCU1JWTlRSVVFnZlNCbWNtOXRJQ2RqYjI1emRHRnVkSE1uTzF4eVhHNXBiWEJ2Y25RZ0tpQmhjeUJTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJUVzlrWld3Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyMXZaR1ZzSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpVY21GdWMyWnZjbTBnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDNSeVlXNXpabTl5YlNjN1hISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlFjbWx0YVhScGRtVlVlWEJsWEhKY2JudGNjbHh1WEhSRGRXSmxJRDBnWENKamRXSmxYQ0lzWEhKY2JseDBVM0JvWlhKbElEMGdYQ0p6Y0dobGNtVmNJaXhjY2x4dVhIUkRlV3hwYm1SbGNpQTlJRndpWTNsc2FXNWtaWEpjSWl4Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHVnVkVzBnVUhKcGJXbDBhWFpsV1U5eWFXZHBibHh5WEc1N1hISmNibHgwVkc5d0lEMGdYQ0owYjNCY0lpeGNjbHh1WEhSQ2IzUjBiMjBnUFNCY0ltSnZkSFJ2YlZ3aUxGeHlYRzVjZEVObGJuUmxjaUE5SUZ3aVkyVnVkR1Z5WENJc1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQmxiblZ0SUZCeWFXMXBkR2wyWlZoUGNtbG5hVzVjY2x4dWUxeHlYRzVjZEV4bFpuUWdQU0JjSW14bFpuUmNJaXhjY2x4dVhIUlNhV2RvZENBOUlGd2ljbWxuYUhSY0lpeGNjbHh1WEhSRFpXNTBaWElnUFNCY0ltTmxiblJsY2x3aUxGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCUWNtbHRhWFJwZG1WYVQzSnBaMmx1WEhKY2JudGNjbHh1WEhSR2IzSjNZWEprSUQwZ1hDSm1iM0ozWVhKa1hDSXNYSEpjYmx4MFFtRmpheUE5SUZ3aVltRmphMXdpTEZ4eVhHNWNkRU5sYm5SbGNpQTlJRndpWTJWdWRHVnlYQ0lzWEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJRY205d2N5Qm1iM0lnZTBCc2FXNXJJRUYyVUhKcGJXbDBhWFpsZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVUhKcGJXbDBhWFpsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCWGFHRjBJR3RwYm1RZ2IyWWdjSEpwYldsMGFYWmxJSFJ2SUdScGMzQnNZWGtnS2k5Y2NseHVYSFIwZVhCbE9pQlFjbWx0YVhScGRtVlVlWEJsTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdobGFXZG9kQ0J2WmlCMGFHVWdjSEpwYldsMGFYWmxMaUJjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0F4TGpBZ2JXVjBaWEpjY2x4dVhIUWdLaTljY2x4dVhIUm9aV2xuYUhRL09pQnVkVzFpWlhJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2QybGtkR2dnYjJZZ2RHaGxJSEJ5YVcxcGRHbDJaUzRnWEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnTVM0d0lHMWxkR1Z5WEhKY2JseDBJQ292WEhKY2JseDBkMmxrZEdnL09pQnVkVzFpWlhJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ1pHVndkR2dnYjJZZ2RHaGxJSEJ5YVcxcGRHbDJaUzRnWEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnTVM0d0lHMWxkR1Z5WEhKY2JseDBJQ292WEhKY2JseDBaR1Z3ZEdnL09pQnVkVzFpWlhJN1hISmNibHh5WEc1Y2RDOHFLaUJKWmlCeVlXUnBkWE1nYVhNZ2MyVjBMQ0IzYVdSMGFDd2dhR1ZwWjJoMExDQmhibVFnWkdWd2RHZ2dZV3hzWEhKY2JseDBJQ29nWkdWbVlYVnNkQ0IwYnlCMGFHbHpJSFpoYkhWbExpQlBkR2hsY25kcGMyVXNJR2wwSUdoaGN5QnVieUJsWm1abFkzUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkSEpoWkdsMWN6ODZJRzUxYldKbGNqdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQmpiMnh2Y2lCdlppQjBhR1VnY0hKcGJXbDBhWFpsWEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnZDJocGRHVmNjbHh1WEhRZ0tpOWNjbHh1WEhSamIyeHZjajg2SUhOMGNtbHVaenRjY2x4dVhISmNibHgwTHlvcUlGUm9aU0IyWlhKMGFXTmhiQ0JoYkdsbmJtMWxiblFnYjJZZ2RHaGxJSEJ5YVcxcGRHbDJaUzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JEWlc1MFpYSmNjbHh1WEhRZ0tpOWNjbHh1WEhSdmNtbG5hVzVaUHpvZ1VISnBiV2wwYVhabFdVOXlhV2RwYmp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCc1pXWjBMM0pwWjJoMElHRnNhV2R1YldWdWRDQnZaaUIwYUdVZ2NISnBiV2wwYVhabExseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElFTmxiblJsY2x4eVhHNWNkQ0FxTDF4eVhHNWNkRzl5YVdkcGJsZy9PaUJRY21sdGFYUnBkbVZZVDNKcFoybHVPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJR1p2Y25kaGNtUXZZbUZqYXlCaGJHbG5ibTFsYm5RZ2IyWWdkR2hsSUhCeWFXMXBkR2wyWlM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCRFpXNTBaWEpjY2x4dVhIUWdLaTljY2x4dVhIUnZjbWxuYVc1YVB6b2dVSEpwYldsMGFYWmxXazl5YVdkcGJqdGNjbHh1WEhKY2JseDBMeW9xSUU5dWJIa2dkR2hsSUhCaGNuUnpJRzltSUhSb1pTQnRiMlJsYkNCMGFHRjBJR0Z5WlNCY0ltOXVJSFJ2Y0Z3aUlHOW1JR0Z1YjNSb1pYSmNjbHh1WEhRZ0tpQkJZWEprZG1GeWF5MXlaVzVrWlhKbFpDQndhWGhsYkNCemFHOTFiR1FnWW1VZ1pISmhkMjR1SUZSb2FYTWdZMkZ1SUdKbElIVnpaV1FnWEhKY2JseDBJQ29nZEc4Z1pISmhkeUJCWVhKa2RtRnlheUJ5WlhCc1lXTmxiV1Z1ZEhNZ1ptOXlJSFJvYVc1bmN5QjBhR0YwSUc5MGFHVnlJRnh5WEc1Y2RDQXFJRUZoY21SMllYSnJMV1J5WVhkdUlHZGxiMjFsZEhKNUlHMWhlU0JpWlNCb2FXUnBibWNzSUhOMVkyZ2dZWE1nYUdGdVpDQnRiMlJsYkhNdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ1ptRnNjMlZjY2x4dVhIUWdLaTljY2x4dVhIUnZkbVZ5YkdGNVQyNXNlVDg2SUdKdmIyeGxZVzQ3WEhKY2JseHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUVGMlVISnBiV2wwYVhabEtDQndjbTl3Y3pvZ1FYWlFjbWx0YVhScGRtVlFjbTl3Y3lBcFhISmNibnRjY2x4dVhIUnNaWFFnZUZOallXeGxJRDBnY0hKdmNITXVkMmxrZEdnZ1B6OGdLQ0J3Y205d2N5NXlZV1JwZFhNZ1B6OGdNUzR3SUNrN1hISmNibHgwYkdWMElIbFRZMkZzWlNBOUlIQnliM0J6TG1obGFXZG9kQ0EvUHlBb0lIQnliM0J6TG5KaFpHbDFjeUEvUHlBeExqQWdLVHRjY2x4dVhIUnNaWFFnZWxOallXeGxJRDBnY0hKdmNITXVaR1Z3ZEdnZ1B6OGdLQ0J3Y205d2N5NXlZV1JwZFhNZ1B6OGdNUzR3SUNrN1hISmNibHh5WEc1Y2RHeGxkQ0I0VDJabWMyVjBPaUJ1ZFcxaVpYSTdYSEpjYmx4MGMzZHBkR05vS0NCd2NtOXdjeTV2Y21sbmFXNVlJRDgvSUZCeWFXMXBkR2wyWlZoUGNtbG5hVzR1UTJWdWRHVnlJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUmpZWE5sSUZCeWFXMXBkR2wyWlZoUGNtbG5hVzR1UTJWdWRHVnlPbHh5WEc1Y2RGeDBYSFI0VDJabWMyVjBJRDBnTUR0Y2NseHVYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFkyRnpaU0JRY21sdGFYUnBkbVZZVDNKcFoybHVMa3hsWm5RNlhISmNibHgwWEhSY2RIaFBabVp6WlhRZ1BTQjRVMk5oYkdVZ0x5QXlPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWaFBjbWxuYVc0dVVtbG5hSFE2WEhKY2JseDBYSFJjZEhoUFptWnpaWFFnUFNBdGVGTmpZV3hsSUM4Z01qdGNjbHh1WEhSY2RGeDBZbkpsWVdzN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSc1pYUWdlVTltWm5ObGREb2diblZ0WW1WeU8xeHlYRzVjZEhOM2FYUmphQ2dnY0hKdmNITXViM0pwWjJsdVdTQS9QeUJRY21sdGFYUnBkbVZaVDNKcFoybHVMa05sYm5SbGNpQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFkyRnpaU0JRY21sdGFYUnBkbVZaVDNKcFoybHVMa05sYm5SbGNqcGNjbHh1WEhSY2RGeDBlVTltWm5ObGRDQTlJREE3WEhKY2JseDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEdOaGMyVWdVSEpwYldsMGFYWmxXVTl5YVdkcGJpNUNiM1IwYjIwNlhISmNibHgwWEhSY2RIbFBabVp6WlhRZ1BTQjVVMk5oYkdVZ0x5QXlPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWbFBjbWxuYVc0dVZHOXdPbHh5WEc1Y2RGeDBYSFI1VDJabWMyVjBJRDBnTFhsVFkyRnNaU0F2SURJN1hISmNibHgwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwYkdWMElIcFBabVp6WlhRNklHNTFiV0psY2p0Y2NseHVYSFJ6ZDJsMFkyZ29JSEJ5YjNCekxtOXlhV2RwYmxvZ1B6OGdVSEpwYldsMGFYWmxXazl5YVdkcGJpNURaVzUwWlhJZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdOaGMyVWdVSEpwYldsMGFYWmxXazl5YVdkcGJpNURaVzUwWlhJNlhISmNibHgwWEhSY2RIcFBabVp6WlhRZ1BTQXdPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWcFBjbWxuYVc0dVJtOXlkMkZ5WkRwY2NseHVYSFJjZEZ4MGVrOW1abk5sZENBOUlDMTZVMk5oYkdVZ0x5QXlPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWcFBjbWxuYVc0dVFtRmphenBjY2x4dVhIUmNkRngwZWs5bVpuTmxkQ0E5SUhwVFkyRnNaU0F2SURJN1hISmNibHgwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwYkdWMElHMXZaR1ZzVlhKcE9pQnpkSEpwYm1jN1hISmNibHgwYzNkcGRHTm9LQ0J3Y205d2N5NTBlWEJsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWUjVjR1V1UTNWaVpUcGNjbHh1WEhSY2RGeDBiVzlrWld4VmNta2dQU0JuWDJKMWFXeDBhVzVOYjJSbGJFSnZlRHRjY2x4dVhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWTJGelpTQlFjbWx0YVhScGRtVlVlWEJsTGtONWJHbHVaR1Z5T2x4eVhHNWNkRngwWEhSdGIyUmxiRlZ5YVNBOUlHZGZZblZwYkhScGJrMXZaR1ZzUTNsc2FXNWtaWEk3WEhKY2JseDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEdOaGMyVWdVSEpwYldsMGFYWmxWSGx3WlM1VGNHaGxjbVU2WEhKY2JseDBYSFJjZEcxdlpHVnNWWEpwSUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hUY0dobGNtVTdYSEpjYmx4MFhIUmNkR0p5WldGck8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNtVjBkWEp1SUR4QmRsUnlZVzV6Wm05eWJTQnpZMkZzWlZnOWV5QjRVMk5oYkdVZ2ZTQnpZMkZzWlZrOWV5QjVVMk5oYkdVZ2ZTQnpZMkZzWlZvOWV5QjZVMk5oYkdVZ2ZWeHlYRzVjZEZ4MGRISmhibk5zWVhSbFdEMTdJSGhQWm1aelpYUWdmU0IwY21GdWMyeGhkR1ZaUFhzZ2VVOW1abk5sZENCOUlIUnlZVzV6YkdGMFpWbzlleUI2VDJabWMyVjBJSDArWEhKY2JseDBYSFJjZER4QmRrMXZaR1ZzSUhWeWFUMTdJRzF2WkdWc1ZYSnBmU0JqYjJ4dmNqMTdJSEJ5YjNCekxtTnZiRzl5SUgwZ2IzWmxjbXhoZVU5dWJIazlleUJ3Y205d2N5NXZkbVZ5YkdGNVQyNXNlU0I5THo1Y2NseHVYSFJjZER3dlFYWlVjbUZ1YzJadmNtMCtPMXh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19wcmltaXRpdmUudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19yZW5kZXIudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfcmVuZGVyLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IHJlbmRlckFhcmR2YXJrUm9vdCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwicmVuZGVyQWFyZHZhcmtSb290XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiByZW5kZXJBYXJkdmFya1Jvb3Q7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfZG9tX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdC1kb20gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9kb21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9kb21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9kZWZhdWx0X2xhbmRpbmdfcGFnZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZWZhdWx0X2xhbmRpbmdfcGFnZSAqLyBcXFwiLi9zcmMvZGVmYXVsdF9sYW5kaW5nX3BhZ2UudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuLyoqIFVzZXMgUmVhY3RET00gdG8gcmVuZGVyIHRoZSBhcHByb3ByaWF0ZSBtYWluIGNvbXBvbmVudC4gSWYgVGhlIGdhZGdldCBpcyBydW5uaW5nIGluIEFhcmR2YXJrLFxcclxcbiAqIHRoaXMgZnVuY3Rpb24gd2lsbCB3YWl0IGZvciBpdCB0byBjb25uZWN0IHRvIHRoZSBsb2NhbCBBYXJkdmFyayBzZXJ2ZXIgYW5kIHRoZW4gcmVuZGVyIGdhZGdldE1haW4uXFxyXFxuICogSWYgdGhlIGdhZGdldCBpcyBydW5uaW5nIGluIGFub3RoZXIgYnJvd3NlciB0aGlzIGZ1bmN0aW9uIHdpbGwgcmVuZGVyIGJyb3dzZXJNYWluLlxcclxcbiAqXFxyXFxuICogQHBhcmFtIGVsZW1lbnQgdGhlIGVsZW1lbnQgdG8gcmVuZGVyIG9uIG9yIHRoZSBJRCBvZiBhbiBlbGVtZW50XFxyXFxuICogQHBhcmFtIGdhZGdldE1haW4gVGhlIFJlYWN0IGNvbXBvbmVudCB0byByZW5kZXIgd2hlbiBydW5uaW5nIGluIEFhcmR2YXJrLlxcclxcbiAqIEBwYXJhbSBicm93c2VyTWFpbiBUaGUgUmVhY3QgY29tcG9uZW50IHRvIHJlbmRlciB3aGVuIHJ1bm5pbmcgaW4gYW5vdGhlciBicm93c2VyLiBJZiB0aGlzIGlzIHVuZGVmaW5lZFxcclxcbiAqIFxcdFxcdFxcdFxcdFxcdFxcdGFuIGluc3RhbmNlIG9mIERlZmF1bHRMYW5kaW5nIHdpbGwgYmUgcmVuZGVyZWQuXFxyXFxuICovXFxyXFxuZnVuY3Rpb24gcmVuZGVyQWFyZHZhcmtSb290KGVsZW1lbnQsIGdhZGdldE1haW4sIGJyb3dzZXJNYWluKSB7XFxyXFxuICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50ID09IFxcXCJzdHJpbmdcXFwiKSB7XFxyXFxuICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IG1haW47XFxyXFxuICAgICAgICBpZiAoIU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZcXFwiXSkoKSkge1xcclxcbiAgICAgICAgICAgIGlmICghYnJvd3Nlck1haW4pIHtcXHJcXG4gICAgICAgICAgICAgICAgYnJvd3Nlck1haW4gPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2RlZmF1bHRfbGFuZGluZ19wYWdlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkRlZmF1bHRMYW5kaW5nXFxcIl0sIG51bGwpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgYnJvd3Nlck1haW4gPT0gXFxcImZ1bmN0aW9uXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICBicm93c2VyTWFpbiA9IGJyb3dzZXJNYWluKCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIG1haW4gPSBicm93c2VyTWFpbjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHlpZWxkIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLndhaXRGb3JDb25uZWN0KCk7XFxyXFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBnYWRnZXRNYWluID09IFxcXCJmdW5jdGlvblxcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgZ2FkZ2V0TWFpbiA9IGdhZGdldE1haW4oKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbWFpbiA9IGdhZGdldE1haW47XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZWFjdF9kb21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwicmVuZGVyXFxcIl0obWFpbiwgZWxlbWVudCk7XFxyXFxuICAgIH0pO1xcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXlaVzVrWlhJdWRITjRQMlUxWlRraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN08wRkJRV2xFTzBGQlEyeENPMEZCUTA4N1FVRkRUenRCUVVOWE8wRkJSM2hFT3pzN096czdPenRIUVZGSE8wRkJRMGtzVTBGQlpTeHJRa0ZCYTBJc1EwRkJSU3hQUVVFMlFpeEZRVU4wUlN4VlFVRXJReXhGUVVGRkxGZEJRV2xFT3p0UlFVVnNSeXhKUVVGSkxFOUJRVThzVDBGQlR5eEpRVUZKTEZGQlFWRXNSVUZET1VJN1dVRkRReXhQUVVGUExFZEJRVWNzVVVGQlVTeERRVUZETEdOQlFXTXNRMEZCUlN4UFFVRlBMRU5CUVVVc1EwRkJRenRUUVVNM1F6dFJRVVZFTEVsQlFVa3NTVUZCYVVJc1EwRkJRenRSUVVOMFFpeEpRVUZKTEVOQlFVTXNjMFZCUVVVc1JVRkJSU3hGUVVOVU8xbEJRME1zU1VGQlNTeERRVUZETEZkQlFWY3NSVUZEYUVJN1owSkJRME1zVjBGQlZ5eEhRVUZITEc5RVFVRkRMRzlGUVVGakxFOUJRVVVzUTBGQlF6dGhRVU5vUXp0cFFrRkRTU3hKUVVGSkxFOUJRVThzVjBGQlZ5eEpRVUZKTEZWQlFWVXNSVUZEZWtNN1owSkJRME1zVjBGQlZ5eEhRVUZITEZkQlFWY3NSVUZCUlN4RFFVRkRPMkZCUXpWQ08xbEJSVVFzU1VGQlNTeEhRVUZITEZkQlFWY3NRMEZCUXp0VFFVTnVRanRoUVVWRU8xbEJRME1zVFVGQlRTeDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFsQlJUTkRMRWxCUVVrc1QwRkJUeXhWUVVGVkxFbEJRVWtzVlVGQlZTeEZRVU51UXp0blFrRkRReXhWUVVGVkxFZEJRVWNzVlVGQlZTeEZRVUZGTEVOQlFVTTdZVUZETVVJN1dVRkRSQ3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETzFOQlEyeENPMUZCUlVRc1owUkJRV1VzUTBGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkZMRU5CUVVNN1NVRkRiRU1zUTBGQlF6dERRVUZCSWl3aVptbHNaU0k2SWk0dmMzSmpMMkZoY21SMllYSnJYM0psYm1SbGNpNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJkaUI5SUdaeWIyMGdKMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQ2M3WEhKY2JtbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNSRVQwMGdabkp2YlNBbmNtVmhZM1F0Wkc5dEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFUmxabUYxYkhSTVlXNWthVzVuSUgwZ1puSnZiU0FuTGk5a1pXWmhkV3gwWDJ4aGJtUnBibWRmY0dGblpTYzdYSEpjYmx4eVhHNWNjbHh1THlvcUlGVnpaWE1nVW1WaFkzUkVUMDBnZEc4Z2NtVnVaR1Z5SUhSb1pTQmhjSEJ5YjNCeWFXRjBaU0J0WVdsdUlHTnZiWEJ2Ym1WdWRDNGdTV1lnVkdobElHZGhaR2RsZENCcGN5QnlkVzV1YVc1bklHbHVJRUZoY21SMllYSnJMRnh5WEc0Z0tpQjBhR2x6SUdaMWJtTjBhVzl1SUhkcGJHd2dkMkZwZENCbWIzSWdhWFFnZEc4Z1kyOXVibVZqZENCMGJ5QjBhR1VnYkc5allXd2dRV0Z5WkhaaGNtc2djMlZ5ZG1WeUlHRnVaQ0IwYUdWdUlISmxibVJsY2lCbllXUm5aWFJOWVdsdUxseHlYRzRnS2lCSlppQjBhR1VnWjJGa1oyVjBJR2x6SUhKMWJtNXBibWNnYVc0Z1lXNXZkR2hsY2lCaWNtOTNjMlZ5SUhSb2FYTWdablZ1WTNScGIyNGdkMmxzYkNCeVpXNWtaWElnWW5KdmQzTmxjazFoYVc0dVhISmNiaUFxSUZ4eVhHNGdLaUJBY0dGeVlXMGdaV3hsYldWdWRDQjBhR1VnWld4bGJXVnVkQ0IwYnlCeVpXNWtaWElnYjI0Z2IzSWdkR2hsSUVsRUlHOW1JR0Z1SUdWc1pXMWxiblJjY2x4dUlDb2dRSEJoY21GdElHZGhaR2RsZEUxaGFXNGdWR2hsSUZKbFlXTjBJR052YlhCdmJtVnVkQ0IwYnlCeVpXNWtaWElnZDJobGJpQnlkVzV1YVc1bklHbHVJRUZoY21SMllYSnJMbHh5WEc0Z0tpQkFjR0Z5WVcwZ1luSnZkM05sY2sxaGFXNGdWR2hsSUZKbFlXTjBJR052YlhCdmJtVnVkQ0IwYnlCeVpXNWtaWElnZDJobGJpQnlkVzV1YVc1bklHbHVJR0Z1YjNSb1pYSWdZbkp2ZDNObGNpNGdTV1lnZEdocGN5QnBjeUIxYm1SbFptbHVaV1JjY2x4dUlDb2dYSFJjZEZ4MFhIUmNkRngwWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdSR1ZtWVhWc2RFeGhibVJwYm1jZ2QybHNiQ0JpWlNCeVpXNWtaWEpsWkM1Y2NseHVJQ292WEhKY2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJ5Wlc1a1pYSkJZWEprZG1GeWExSnZiM1FvSUdWc1pXMWxiblE2SUVoVVRVeEZiR1Z0Wlc1MElId2djM1J5YVc1bkxDQmNjbHh1WEhSbllXUm5aWFJOWVdsdU9pQktVMWd1Uld4bGJXVnVkQ0I4SUNnZ0tDa2dQVDRnU2xOWUxrVnNaVzFsYm5RZ0tTd2dZbkp2ZDNObGNrMWhhVzQvT2lCS1UxZ3VSV3hsYldWdWRDQjhJQ2dnS0NrZ1BUNGdTbE5ZTGtWc1pXMWxiblFnS1NBcFhISmNibnRjY2x4dVhIUnBaaWdnZEhsd1pXOW1JR1ZzWlcxbGJuUWdQVDBnWENKemRISnBibWRjSWlBcFhISmNibHgwZTF4eVhHNWNkRngwWld4bGJXVnVkQ0E5SUdSdlkzVnRaVzUwTG1kbGRFVnNaVzFsYm5SQ2VVbGtLQ0JsYkdWdFpXNTBJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJzWlhRZ2JXRnBiam9nU2xOWUxrVnNaVzFsYm5RN1hISmNibHgwYVdZb0lDRkJkaWdwSUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ0lXSnliM2R6WlhKTllXbHVJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWW5KdmQzTmxjazFoYVc0Z1BTQThSR1ZtWVhWc2RFeGhibVJwYm1jdlBqdGNjbHh1WEhSY2RIMWNkRnh5WEc1Y2RGeDBaV3h6WlNCcFppZ2dkSGx3Wlc5bUlHSnliM2R6WlhKTllXbHVJRDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR0p5YjNkelpYSk5ZV2x1SUQwZ1luSnZkM05sY2sxaGFXNG9LVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSdFlXbHVJRDBnWW5KdmQzTmxjazFoYVc0N1hISmNibHgwZlZ4eVhHNWNkR1ZzYzJWY2NseHVYSFI3WEhKY2JseDBYSFJoZDJGcGRDQkJka2RoWkdkbGRDNXBibk4wWVc1alpTZ3BMbmRoYVhSR2IzSkRiMjV1WldOMEtDazdYSEpjYmx4eVhHNWNkRngwYVdZb0lIUjVjR1Z2WmlCbllXUm5aWFJOWVdsdUlEMDlJRndpWm5WdVkzUnBiMjVjSWlBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHZGhaR2RsZEUxaGFXNGdQU0JuWVdSblpYUk5ZV2x1S0NrN1hISmNibHgwWEhSOVhISmNibHgwWEhSdFlXbHVJRDBnWjJGa1oyVjBUV0ZwYmp0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEZKbFlXTjBSRTlOTG5KbGJtUmxjaWdnYldGcGJpd2daV3hsYldWdWRDQXBPMXh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19yZW5kZXIudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19zdGFuZGFyZF9ncmFiYmFibGUudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEhpZ2hsaWdodFR5cGUsIFNob3dHcmFiYmFibGVDaGlsZHJlbiwgSGlkZGVuQ2hpbGRyZW5CZWhhdmlvciwgR3JhYmJhYmxlU3R5bGUsIEF2U3RhbmRhcmRHcmFiYmFibGUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkhpZ2hsaWdodFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEhpZ2hsaWdodFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlNob3dHcmFiYmFibGVDaGlsZHJlblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gU2hvd0dyYWJiYWJsZUNoaWxkcmVuOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJIaWRkZW5DaGlsZHJlbkJlaGF2aW9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBIaWRkZW5DaGlsZHJlbkJlaGF2aW9yOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHcmFiYmFibGVTdHlsZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gR3JhYmJhYmxlU3R5bGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2U3RhbmRhcmRHcmFiYmFibGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2U3RhbmRhcmRHcmFiYmFibGU7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X2luZm9fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0X2luZm8gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldF9pbmZvLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfbWVudV9pdGVtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX21lbnVfaXRlbSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbWVudV9pdGVtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfbW9kZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfbW9kZWwgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX21vZGVsLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfZ2FkZ2V0bGlzdCAqLyBcXFwiLi9zcmMvYXBpX2dhZGdldGxpc3QudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbXBvbmVudF9tb3ZlYWJsZSAqLyBcXFwiLi9zcmMvY29tcG9uZW50X21vdmVhYmxlLnRzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0ICovIFxcXCIuL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY29uc3QgZXF1YWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBmYXN0LWRlZXAtZXF1YWwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Zhc3QtZGVlcC1lcXVhbC9pbmRleC5qc1xcXCIpO1xcclxcbi8qKiBUaGlzIGVudW0gZGVmaW5lcyB0aGUgcG9zc2libGUgaGlnaGxpZ2h0IHN0YXRlcyBvZiBhbiBBdkdyYWJiYWJsZS5cXHJcXG4qL1xcclxcbnZhciBIaWdobGlnaHRUeXBlO1xcclxcbihmdW5jdGlvbiAoSGlnaGxpZ2h0VHlwZSkge1xcclxcbiAgICAvKiogTm90aGluZyBpbnRlcmVzdGluZyBpcyBnb2luZyBvbiB3aXRoIHRoZSBncmFiYmFibGUuICovXFxyXFxuICAgIEhpZ2hsaWdodFR5cGVbSGlnaGxpZ2h0VHlwZVtcXFwiTm9uZVxcXCJdID0gMF0gPSBcXFwiTm9uZVxcXCI7XFxyXFxuICAgIC8qKiBUaGVyZSBpcyBhIGdyYWJiZXIgd2l0aGluIGdyYWJiaW5nIHJhbmdlIG9mIHRoZSBncmFiYmFibGUuICovXFxyXFxuICAgIEhpZ2hsaWdodFR5cGVbSGlnaGxpZ2h0VHlwZVtcXFwiSW5SYW5nZVxcXCJdID0gMV0gPSBcXFwiSW5SYW5nZVxcXCI7XFxyXFxuICAgIC8qKiBUaGVyZSBpcyBhIGdyYWJiZXIgYWN0aXZlbHkgZ3JhYmJpbmcgdGhlIGdyYWJiYWJsZSwgYW5kIGl0IGlzbid0IGF0dGFjaGVkIHRvIGFueXRoaW5nLiAqL1xcclxcbiAgICBIaWdobGlnaHRUeXBlW0hpZ2hsaWdodFR5cGVbXFxcIkdyYWJiZWRcXFwiXSA9IDJdID0gXFxcIkdyYWJiZWRcXFwiO1xcclxcbiAgICAvKiogVGhlIGdyYWJiZWQgZ3JhYmJhYmxlIGlzIHdpdGhpbiBkcm9wIHJhbmdlIG9mIGEgaG9vay4gKi9cXHJcXG4gICAgSGlnaGxpZ2h0VHlwZVtIaWdobGlnaHRUeXBlW1xcXCJJbkhvb2tSYW5nZVxcXCJdID0gM10gPSBcXFwiSW5Ib29rUmFuZ2VcXFwiO1xcclxcbiAgICAvKiogVGhlIGdyYWJiYWJsZSB3YXMgaW4gcmFuZ2UgYW5kIHRoZSB1c2VyIGlzIGhvbGRpbmcgdGhlIG1lbnUgYnV0dG9uLiAqL1xcclxcbiAgICBIaWdobGlnaHRUeXBlW0hpZ2hsaWdodFR5cGVbXFxcIk1lbnVcXFwiXSA9IDRdID0gXFxcIk1lbnVcXFwiO1xcclxcbiAgICAvKiogVGhlIGdyYWJiYWJsZSBpcyBiZWluZyBncmFiYmVkIGJ5IHRoZSBvbmUgb2YgaXRzIG5ldHdvcmtlZCBjb3BpZXMuIEl0J3MgYW5pbWF0ZWQsIGJ1dCBzaG91bGRcXHJcXG4gICAgICogbGVhdmUgaW50ZXJhY3Rpb25zIHRvIHRoZSByZW1vdGUgZW50aXR5IGl0c2VsZi5cXHJcXG4gICAgICpcXHJcXG4gICAgICogVGhpcyBoaWdobGlnaHQgdHlwZSB3aWxsIG9ubHkgYmUgcmVwb3J0ZWQgYnkgQXZOZXR3b3JrZWRHcmFiYmFibGUuXFxyXFxuICAgICAqL1xcclxcbiAgICBIaWdobGlnaHRUeXBlW0hpZ2hsaWdodFR5cGVbXFxcIkdyYWJiZWRCeVJlbW90ZVxcXCJdID0gNV0gPSBcXFwiR3JhYmJlZEJ5UmVtb3RlXFxcIjtcXHJcXG59KShIaWdobGlnaHRUeXBlIHx8IChIaWdobGlnaHRUeXBlID0ge30pKTtcXHJcXG52YXIgU2hvd0dyYWJiYWJsZUNoaWxkcmVuO1xcclxcbihmdW5jdGlvbiAoU2hvd0dyYWJiYWJsZUNoaWxkcmVuKSB7XFxyXFxuICAgIC8qKiBBbHdheXMgc2hvdyB0aGUgY2hpbGRyZW4gb2YgdGhlIEF2U3RhbmRhcmRHcmFiYmFibGUsIG5vIG1hdHRlclxcclxcbiAgICAgKiB3aGF0IHRoZSBoaWdobGlnaHQgc3RhdGUgaXMuXFxyXFxuICAgICAqL1xcclxcbiAgICBTaG93R3JhYmJhYmxlQ2hpbGRyZW5bU2hvd0dyYWJiYWJsZUNoaWxkcmVuW1xcXCJBbHdheXNcXFwiXSA9IDBdID0gXFxcIkFsd2F5c1xcXCI7XFxyXFxuICAgIC8qKiBPbmx5IHNob3cgdGhlIGNoaWxkcmVuIG9mIHRoZSBBdlN0YW5kYXJkR3JhYmJhYmxlIHdoZW4gaXQgaXNcXHJcXG4gICAgICogYmVpbmcgZ3JhYmJlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIFNob3dHcmFiYmFibGVDaGlsZHJlbltTaG93R3JhYmJhYmxlQ2hpbGRyZW5bXFxcIk9ubHlXaGVuR3JhYmJlZFxcXCJdID0gMV0gPSBcXFwiT25seVdoZW5HcmFiYmVkXFxcIjtcXHJcXG4gICAgLyoqIE9ubHkgc2hvdyB0aGUgY2hpbGRyZW4gb2YgdGhlIEF2U3RhbmRhcmRHcmFiYmFibGUgd2hlbiBpdCBpc1xcclxcbiAgICAgKiBub3QgYmVpbmcgZ3JhYmJlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIFNob3dHcmFiYmFibGVDaGlsZHJlbltTaG93R3JhYmJhYmxlQ2hpbGRyZW5bXFxcIk9ubHlXaGVuTm90R3JhYmJlZFxcXCJdID0gMl0gPSBcXFwiT25seVdoZW5Ob3RHcmFiYmVkXFxcIjtcXHJcXG59KShTaG93R3JhYmJhYmxlQ2hpbGRyZW4gfHwgKFNob3dHcmFiYmFibGVDaGlsZHJlbiA9IHt9KSk7XFxyXFxudmFyIEhpZGRlbkNoaWxkcmVuQmVoYXZpb3I7XFxyXFxuKGZ1bmN0aW9uIChIaWRkZW5DaGlsZHJlbkJlaGF2aW9yKSB7XFxyXFxuICAgIC8qKiBFbWl0IHRoZSBjaGlsZCBub2RlcywgYnV0IG1hcmsgdGhlbSBhcyBoaWRkZW4uICovXFxyXFxuICAgIEhpZGRlbkNoaWxkcmVuQmVoYXZpb3JbSGlkZGVuQ2hpbGRyZW5CZWhhdmlvcltcXFwiSGlkZGVuXFxcIl0gPSAwXSA9IFxcXCJIaWRkZW5cXFwiO1xcclxcbiAgICAvKiogRG8gbm90IGVtaXQgdGhlIGNoaWxkIG5vZGVzLiAqL1xcclxcbiAgICBIaWRkZW5DaGlsZHJlbkJlaGF2aW9yW0hpZGRlbkNoaWxkcmVuQmVoYXZpb3JbXFxcIk9taXRcXFwiXSA9IDFdID0gXFxcIk9taXRcXFwiO1xcclxcbn0pKEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IgfHwgKEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IgPSB7fSkpO1xcclxcbnZhciBHcmFiYmFibGVTdHlsZTtcXHJcXG4oZnVuY3Rpb24gKEdyYWJiYWJsZVN0eWxlKSB7XFxyXFxuICAgIC8qKiBUaGlzIGdyYWJiYWJsZSBpcyB0aGUgdG9wIGxldmVsIG9mIGEgZ2FkZ2V0LiBJdCB3aWxsXFxyXFxuICAgICAqIGFkdmVydGl6ZSBnYWRnZXQgaW5mbywgaGF2ZSBhbiBBIG1lbnUsIGV0Yy5cXHJcXG4gICAgICovXFxyXFxuICAgIEdyYWJiYWJsZVN0eWxlW0dyYWJiYWJsZVN0eWxlW1xcXCJHYWRnZXRcXFwiXSA9IDFdID0gXFxcIkdhZGdldFxcXCI7XFxyXFxuICAgIC8qKiBUaGlzIGdyYWJiYWJsZSBpcyBhIHN1YmNvbXBvbmVudCBvZiBhIGdhZGdldCB0aGF0IGlzIG5vdFxcclxcbiAgICAgKiBvbmx5IGdyYWJiYWJsZSBvbiB0aGUgcHJpbWFyeSBpbnN0YW5jZS4gSXQgd2lsbCBub3QgYWR2ZXJ0aXNlXFxyXFxuICAgICAqIGdhZGdldCBpbmZvIG9yIGhhdmUgYW4gQSBtZW51LlxcclxcbiAgICAgKi9cXHJcXG4gICAgR3JhYmJhYmxlU3R5bGVbR3JhYmJhYmxlU3R5bGVbXFxcIkxvY2FsSXRlbVxcXCJdID0gMl0gPSBcXFwiTG9jYWxJdGVtXFxcIjtcXHJcXG4gICAgLyoqIFRoaXMgZ3JhYmJhYmxlIGlzIGEgc3ViY29tcG9uZW50IG9mIGEgZ2FkZ2V0IHRoYXQgaXMgZ3JhYmJhYmxlXFxyXFxuICAgICAqIG9uIHRoZSBwcmltYXJ5IGluc3RhbmNlIGFuZCBvbiBuZXR3b3JrZWQgaW5zdGFuY2VzLiBJdCB3aWxsIG5vdFxcclxcbiAgICAgKiBhZHZlcnRpc2UgZ2FkZ2V0IGluZm8gb3IgaGF2ZSBhbiBBIG1lbnUuXFxyXFxuICAgICAqL1xcclxcbiAgICBHcmFiYmFibGVTdHlsZVtHcmFiYmFibGVTdHlsZVtcXFwiTmV0d29ya2VkSXRlbVxcXCJdID0gM10gPSBcXFwiTmV0d29ya2VkSXRlbVxcXCI7XFxyXFxufSkoR3JhYmJhYmxlU3R5bGUgfHwgKEdyYWJiYWJsZVN0eWxlID0ge30pKTtcXHJcXG4vKiogQSBncmFiYmFibGUgdGhhdCBzaG93cyBhIG1vZGVsIGZvciBpdHMgaGFuZGxlIGFuZCBoaWdobGlnaHRzIGF1dG9tYXRpY2FsbHkuICovXFxyXFxuY2xhc3MgQXZTdGFuZGFyZEdyYWJiYWJsZSBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLkNvbXBvbmVudCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLmdhZGdldExpc3RSZWYgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVSZWYoKTtcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlSXRlbUNvbXBvbmVudCA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm5ldHdvcmtlZEl0ZW1Db21wb25lbnQgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5ncmFiYmFibGVSZWYgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVSZWYoKTtcXHJcXG4gICAgICAgIGlmICghcHJvcHMubW9kZWxVcmkgJiYgIXByb3BzLmFwcGVhcmFuY2UpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIkVpdGhlciBtb2RlbFVyaSBvciBhcHBlYXJhbmNlIG11c3QgYmUgcHJvdmlkZWRcXFwiKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnN0eWxlID09IEdyYWJiYWJsZVN0eWxlLk5ldHdvcmtlZEl0ZW0gJiYgIXRoaXMucHJvcHMuaXRlbUlkKSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxcXCJpdGVtSWQgaXMgcmVxdWlyZWQgZm9yIG5ldHdvcmtlZCBpdGVtc1xcXCIpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5tb3ZlYWJsZUNvbXBvbmVudCA9IG5ldyBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMl9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdKHRoaXMub25Nb3ZlYWJsZVVwZGF0ZSwgdGhpcy5wcm9wcy5zdHlsZSA9PSBHcmFiYmFibGVTdHlsZS5HYWRnZXQsIHRoaXMucHJvcHMuY2FuRHJvcEludG9Db250YWluZXJzICYmICFfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5pc1JlbW90ZSwgKF9hID0gdGhpcy5wcm9wcy5ncmFiYmVyRnJvbUdyYWJiYWJsZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdGhpcy5wcm9wcy5ncmFiUG9zZSk7XFxyXFxuICAgICAgICBsZXQgcmVtb3RlTG9jayA9IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLmZpbmRJbml0aWFsSW50ZXJmYWNlKF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX1tcXFwiUmVtb3RlR2FkZ2V0Q29tcG9uZW50XFxcIl0uaW50ZXJmYWNlTmFtZSk7XFxyXFxuICAgICAgICBpZiAocmVtb3RlTG9jaykge1xcclxcbiAgICAgICAgICAgIC8vIHRoaXMgZ2FkZ2V0IGlzIHJlbW90ZVxcclxcbiAgICAgICAgICAgIHRoaXMucmVtb3RlQ29tcG9uZW50ID0gbmV3IF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX1tcXFwiUmVtb3RlR2FkZ2V0Q29tcG9uZW50XFxcIl0odGhpcy5wcm9wcy5yZW1vdGVHYWRnZXRDYWxsYmFjayk7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuc3R5bGUgPT0gR3JhYmJhYmxlU3R5bGUuTmV0d29ya2VkSXRlbSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZUl0ZW1Db21wb25lbnQgPSBuZXcgX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNF9fW1xcXCJSZW1vdGVJdGVtQ29tcG9uZW50XFxcIl0odGhpcy5wcm9wcy5pdGVtSWQsIG51bGwpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnJlbW90ZUludGVyZmFjZUxvY2tzKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRoaXMgZ2FkZ2V0IGlzIG1hc3Rlciwgb3Igd2lsbCBiZSBpZiB0aGUgdXNlciBlbnRlcnMgYSByb29tXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya2VkQ29tcG9uZW50ID0gbmV3IF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX1tcXFwiTmV0d29ya2VkR2FkZ2V0Q29tcG9uZW50XFxcIl0odGhpcy5wcm9wcy5yZW1vdGVJbnRlcmZhY2VMb2NrcywgdGhpcy5wcm9wcy5yZW1vdGVHYWRnZXRDYWxsYmFjayk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnN0eWxlID09IEdyYWJiYWJsZVN0eWxlLk5ldHdvcmtlZEl0ZW0pIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50ID0gbmV3IF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX1tcXFwiTmV0d29ya2VkSXRlbUNvbXBvbmVudFxcXCJdKHRoaXMucHJvcHMuaXRlbUlkLCBudWxsLCB0aGlzLm9uTmV0d29ya0l0ZW1Ecm9wKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB0aGlzLnN0YXRlID1cXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodDogSGlnaGxpZ2h0VHlwZS5Ob25lLFxcclxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PdmVycmlkZGVuOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICB9XFxyXFxuICAgIG9uTW92ZWFibGVVcGRhdGUoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgaGlnaGxpZ2h0O1xcclxcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb3ZlYWJsZUNvbXBvbmVudC5zdGF0ZSkge1xcclxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5JZGxlOlxcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5JbkNvbnRhaW5lcjpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodCA9IEhpZ2hsaWdodFR5cGUuTm9uZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVyTmVhcmJ5OlxcclxcbiAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ID0gSGlnaGxpZ2h0VHlwZS5JblJhbmdlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLkdyYWJiZWQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoKF9hID0gdGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudHJhbnNmb3JtT3ZlcnJpZGRlbikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodCA9IEhpZ2hsaWdodFR5cGUuR3JhYmJlZEJ5UmVtb3RlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ID0gSGlnaGxpZ2h0VHlwZS5HcmFiYmVkO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgICAgICBoaWdobGlnaHQgPSBIaWdobGlnaHRUeXBlLk1lbnU7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSgob2xkU3RhdGUpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xcclxcbiAgICAgICAgICAgICAgICBpZiAob2xkU3RhdGUuaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuSW5SYW5nZSB8fCBvbGRTdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5Ob25lKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuR3JhYmJlZCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJzdGFuZGFyZCBncmFiYmFibGUgd2FzIGdyYWJiZWRcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2IgPSAoX2EgPSB0aGlzLnByb3BzKS5vbkdyYWIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChvbGRTdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5HcmFiYmVkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuSW5SYW5nZSB8fCBoaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5Ob25lKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcInN0YW5kYXJkIGdyYWJiYWJsZSB3YXMgdW5ncmFiYmVkXFxcIik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9kID0gKF9jID0gdGhpcy5wcm9wcykub25FbmRHcmFiKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuY2FsbChfYyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb2xkU3RhdGUpLCB7IGhpZ2hsaWdodCB9KTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uTmV0d29ya0l0ZW1Ecm9wKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2FuRHJvcEludG9Db250YWluZXJzKSB7XFxyXFxuICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMubW92ZWFibGVDb21wb25lbnQuZHJvcEludG9DdXJyZW50Q29udGFpbmVyKCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IGlzR3JhYmJlZCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkdyYWJiZWRcXHJcXG4gICAgICAgICAgICB8fCB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkluSG9va1JhbmdlO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBTZW5kcyBhbiBldmVudCB0byBhbm90aGVyIGluc3RhbmNlIG9mIHRoaXMgZ2FkZ2V0LiBJZiB0aGlzIGdhZGdldCBpc1xcclxcbiAgICAgKiB0aGUgbWFzdGVyLCB0aGUgZXZlbnQgaXMgc2VudCB0byBhbGwgcmVtb3RlIGluc3RhbmNlcy4gSWYgdGhpcyBnYWRnZXRcXHJcXG4gICAgICogaXMgcmVtb3RlLCB0aGUgZXZlbnQgaXMgc2VudCB0byB0aGUgbWFzdGVyLiBJZiB0aGlzIGdhZGdldCBpcyBub3QgbmV0d29ya2VkLFxcclxcbiAgICAgKiBvciBpZiBpdCBpcyBuZXR3b3JrZWQsIGJ1dCB0aGUgdXNlciBpcyBub3QgY3VycmVudGx5IGluIGEgcm9vbSwgdGhlXFxyXFxuICAgICAqIGV2ZW50IGlzIGRpc2NhcmRlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIHNlbmRSZW1vdGVFdmVudChldmVudCwgcmVsaWFibGUpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtlZENvbXBvbmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudFRvQWxsUmVtb3RlcyhldmVudCwgcmVsaWFibGUpO1xcclxcbiAgICAgICAgKF9iID0gdGhpcy5yZW1vdGVDb21wb25lbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5zZW5kRXZlbnRUb01hc3RlcihldmVudCwgcmVsaWFibGUpO1xcclxcbiAgICB9XFxyXFxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBpZiAoIWVxdWFsKHRoaXMucHJvcHMucmVtb3RlSW50ZXJmYWNlTG9ja3MsIHByZXZQcm9wcy5yZW1vdGVJbnRlcmZhY2VMb2NrcykpIHtcXHJcXG4gICAgICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtlZENvbXBvbmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNldEluaXRpYWxJbnRlcmZhY2VMb2Nrcyh0aGlzLnByb3BzLnJlbW90ZUludGVyZmFjZUxvY2tzKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIChfYiA9IHRoaXMucmVtb3RlSXRlbUNvbXBvbmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNldElzR3JhYmJlZCh0aGlzLmlzR3JhYmJlZCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25GYXZvcml0ZVRoaXNHYWRnZXQoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiU2VuZGluZyByZXF1ZXN0IHRvIGFkZCB0aGlzIGdhZGdldCB0byBmYXZvcml0ZXNcXFwiKTtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuZ2FkZ2V0TGlzdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWRkRmF2b3JpdGUoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkudXJsKTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgc2hvd0RlbGV0ZSgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLnNob3dEZWxldGUgPyB0cnVlIDogKHRoaXMucHJvcHMuc3R5bGUgPT0gR3JhYmJhYmxlU3R5bGUuR2FkZ2V0KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkRlbGV0ZSgpIHtcXHJcXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5zaG93RGVsZXRlID09PSBcXFwiZnVuY3Rpb25cXFwiKSB7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImNhbGxpbmcgZGVsZXRlIGNhbGxiYWNrIGF0IHRoZSB1c2VyJ3MgcmVxdWVzdCBmcm9tIHRoZSBBIG1lbnVcXFwiKTtcXHJcXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNob3dEZWxldGUoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJjbG9zaW5nIHRoZSBnYWRnZXQgYXQgdGhlIHVzZXIncyByZXF1ZXN0IGZyb20gdGhlIEEgbWVudVxcXCIpO1xcclxcbiAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIC8qKiBSZXR1cm5zIHRoZSBnbG9iYWwgSUQgaWYgdGhlIGdyYWJiYWJsZSB3aXRoaW4gdGhlIEF2U3RhbmRhcmRHcmFiYmFibGUuICovXFxyXFxuICAgIGdldCBnbG9iYWxJZCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmdyYWJiYWJsZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2xvYmFsSWQ7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xcclxcbiAgICAgICAgbGV0IHNob3dDaGlsZHJlbjtcXHJcXG4gICAgICAgIHN3aXRjaCAoKF9hID0gdGhpcy5wcm9wcy5zaG93Q2hpbGRyZW4pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFNob3dHcmFiYmFibGVDaGlsZHJlbi5BbHdheXMpIHtcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIGNhc2UgU2hvd0dyYWJiYWJsZUNoaWxkcmVuLkFsd2F5czpcXHJcXG4gICAgICAgICAgICAgICAgc2hvd0NoaWxkcmVuID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBTaG93R3JhYmJhYmxlQ2hpbGRyZW4uT25seVdoZW5HcmFiYmVkOlxcclxcbiAgICAgICAgICAgICAgICBzaG93Q2hpbGRyZW4gPSB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkdyYWJiZWRcXHJcXG4gICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuc3RhdGUuaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuSW5Ib29rUmFuZ2U7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgU2hvd0dyYWJiYWJsZUNoaWxkcmVuLk9ubHlXaGVuTm90R3JhYmJlZDpcXHJcXG4gICAgICAgICAgICAgICAgc2hvd0NoaWxkcmVuID0gdGhpcy5zdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5Ob25lXFxyXFxuICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkluUmFuZ2U7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGhpZ2hsaWdodFNjYWxlID0gdGhpcy5zdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5JblJhbmdlID8gMS4xIDogMS4wO1xcclxcbiAgICAgICAgbGV0IGFwcGVhcmFuY2U7XFxyXFxuICAgICAgICBsZXQgaW5mb1ZvbHVtZTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm1vZGVsVXJpKSB7XFxyXFxuICAgICAgICAgICAgbGV0IHNjYWxlID0gaGlnaGxpZ2h0U2NhbGUgKiAoKF9iID0gdGhpcy5wcm9wcy5tb2RlbFNjYWxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAxLjApO1xcclxcbiAgICAgICAgICAgIGFwcGVhcmFuY2UgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgdW5pZm9ybVNjYWxlOiBzY2FsZSB9LFxcclxcbiAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiB0aGlzLnByb3BzLm1vZGVsVXJpLCBjb2xvcjogdGhpcy5wcm9wcy5tb2RlbENvbG9yIH0pKTtcXHJcXG4gICAgICAgICAgICBpbmZvVm9sdW1lID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uTW9kZWxCb3gsXFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmk6IHRoaXMucHJvcHMubW9kZWxVcmksXFxyXFxuICAgICAgICAgICAgICAgICAgICBub2RlRnJvbVZvbHVtZToge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiB7IHg6IHNjYWxlLCB5OiBzY2FsZSwgejogc2NhbGUgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGFwcGVhcmFuY2UgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgdW5pZm9ybVNjYWxlOiBoaWdobGlnaHRTY2FsZSB9LCB0aGlzLnByb3BzLmFwcGVhcmFuY2UpO1xcclxcbiAgICAgICAgICAgIGluZm9Wb2x1bWUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BzLnZvbHVtZSk7XFxyXFxuICAgICAgICAgICAgaWYgKCFpbmZvVm9sdW1lLm5vZGVGcm9tVm9sdW1lKSB7XFxyXFxuICAgICAgICAgICAgICAgIGluZm9Wb2x1bWUubm9kZUZyb21Wb2x1bWUgPSB7fTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKCFpbmZvVm9sdW1lLm5vZGVGcm9tVm9sdW1lLnNjYWxlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGluZm9Wb2x1bWUubm9kZUZyb21Wb2x1bWUuc2NhbGUgPSB7IHg6IDEuMCwgeTogMS4wLCB6OiAxLjAgfTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaW5mb1ZvbHVtZS5ub2RlRnJvbVZvbHVtZS5zY2FsZS54ICo9IGhpZ2hsaWdodFNjYWxlO1xcclxcbiAgICAgICAgICAgIGluZm9Wb2x1bWUubm9kZUZyb21Wb2x1bWUuc2NhbGUueSAqPSBoaWdobGlnaHRTY2FsZTtcXHJcXG4gICAgICAgICAgICBpbmZvVm9sdW1lLm5vZGVGcm9tVm9sdW1lLnNjYWxlLnogKj0gaGlnaGxpZ2h0U2NhbGU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgY29uc3RyYWludCA9IG51bGw7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy5ncmF2aXR5QWxpZ25lZCkge1xcclxcbiAgICAgICAgICAgIGNvbnN0cmFpbnQgPSB7IGdyYXZpdHlBbGlnbmVkOiB0aGlzLnByb3BzLmdyYXZpdHlBbGlnbmVkIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgbG9jYXRvckVudGl0eTtcXHJcXG4gICAgICAgIGxldCBlbnRpdHlWb2x1bWU7XFxyXFxuICAgICAgICBsZXQgZGVidWdOYW1lID0gYCR7X2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuZ2V0TmFtZSgpfS8keyhfYyA9IHRoaXMucHJvcHMuaXRlbUlkKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBcXFwiXFxcIn1gO1xcclxcbiAgICAgICAgbGV0IGNvbXBvbmVudHMgPSBbXTtcXHJcXG4gICAgICAgIHN3aXRjaCAodGhpcy5wcm9wcy5zdHlsZSkge1xcclxcbiAgICAgICAgICAgIGNhc2UgR3JhYmJhYmxlU3R5bGUuR2FkZ2V0OlxcclxcbiAgICAgICAgICAgICAgICBpZiAoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuaXNSZW1vdGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCh0aGlzLnJlbW90ZUNvbXBvbmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbnRpdHlWb2x1bWUgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVtcHR5Vm9sdW1lXFxcIl0pKCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2godGhpcy5tb3ZlYWJsZUNvbXBvbmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbnRpdHlWb2x1bWUgPSBpbmZvVm9sdW1lO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubmV0d29ya2VkQ29tcG9uZW50KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRvckVudGl0eSA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkNvbXBvc2VkRW50aXR5XFxcIl0sIHsgY29tcG9uZW50czogW3RoaXMubmV0d29ya2VkQ29tcG9uZW50XSwgdm9sdW1lOiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImluZmluaXRlVm9sdW1lXFxcIl0pKCksIGRlYnVnTmFtZTogZGVidWdOYW1lICsgXFxcIi9uZXR3b3JrX2dhZGdldFxcXCIgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBHcmFiYmFibGVTdHlsZS5Mb2NhbEl0ZW06XFxyXFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCh0aGlzLm1vdmVhYmxlQ29tcG9uZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgZW50aXR5Vm9sdW1lID0gaW5mb1ZvbHVtZTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBHcmFiYmFibGVTdHlsZS5OZXR3b3JrZWRJdGVtOlxcclxcbiAgICAgICAgICAgICAgICBpZiAoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuaXNSZW1vdGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCh0aGlzLnJlbW90ZUl0ZW1Db21wb25lbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKHRoaXMubW92ZWFibGVDb21wb25lbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5Vm9sdW1lID0gaW5mb1ZvbHVtZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnN0YXRlID09IF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxvY2sgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnJlbW90ZUl0ZW1Db21wb25lbnQuaW50ZXJmYWNlTG9ja3NbMF0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2suaWZhY2UgPSBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X19bXFxcImtfcmVtb3RlR3JhYmJhYmxlSW50ZXJmYWNlXFxcIl07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRvckVudGl0eSA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdm9sdW1lOiBpbmZvVm9sdW1lLCB0cmFuc21pdHM6IFt7IGlmYWNlOiBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X19bXFxcImtfcmVtb3RlR3JhYmJhYmxlSW50ZXJmYWNlXFxcIl0gfV0sIGludGVyZmFjZUxvY2tzOiBbbG9ja10sIGRlYnVnTmFtZTogZGVidWdOYW1lICsgXFxcIi9yZW1vdGVfaXRlbVxcXCIgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50LnRyYW5zZm9ybU92ZXJyaWRkZW4pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0cmFuc2Zvcm1zIGFyZSBvdmVycmlkZGVuLCB3ZSB3YW50IHRoZSBuZXR3b3JrZWQgaXRlbSBmaXJzdCBzbyBpdHMgcGFyZW50XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lsbCBiZSB1c2VkIGluc3RlYWQgb2Ygd2hhdGV2ZXIgY29udGFpbmVyIHdlIHdlcmUgaW4uXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKHRoaXMubmV0d29ya2VkSXRlbUNvbXBvbmVudCwgdGhpcy5tb3ZlYWJsZUNvbXBvbmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2godGhpcy5tb3ZlYWJsZUNvbXBvbmVudCwgdGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eVZvbHVtZSA9IGluZm9Wb2x1bWU7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuaXNSZW1vdGUpIHtcXHJcXG4gICAgICAgICAgICBkZWJ1Z05hbWUgKz0gXFxcIi9yZW1vdGVcXFwiO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcXHJcXG4gICAgICAgIGlmICghc2hvd0NoaWxkcmVuKSB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoICgoX2QgPSB0aGlzLnByb3BzLmhpZGRlbkNoaWxkcmVuQmVoYXZpb3IpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IuSGlkZGVuKSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgSGlkZGVuQ2hpbGRyZW5CZWhhdmlvci5IaWRkZW46XFxyXFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB2aXNpYmxlOiBzaG93Q2hpbGRyZW4gfSwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBIaWRkZW5DaGlsZHJlbkJlaGF2aW9yLk9taXQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IG51bGw7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgY29uc3QgYWR2ZXJ0aXplR2FkZ2V0SW5mbyA9IHRoaXMucHJvcHMuc3R5bGUgPT0gR3JhYmJhYmxlU3R5bGUuR2FkZ2V0O1xcclxcbiAgICAgICAgbGV0IG1lbnUgPSBudWxsO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuTWVudVxcclxcbiAgICAgICAgICAgICYmICh0aGlzLnNob3dEZWxldGUgfHwgYWR2ZXJ0aXplR2FkZ2V0SW5mbykpIHtcXHJcXG4gICAgICAgICAgICBsZXQgZ3JhYmJhYmxlRnJvbU1lbnUgPSB0aGlzLm1vdmVhYmxlQ29tcG9uZW50Lm1lbnVTZWxmRnJvbUdyYWJiZXI7XFxyXFxuICAgICAgICAgICAgbWVudSA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2Zvcm06IGdyYWJiYWJsZUZyb21NZW51IH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJBdkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGFkdmVydGl6ZUdhZGdldEluZm8gJiZcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgdHJhbnNsYXRlWDogLTAuMDUsIHRyYW5zbGF0ZVo6IDAuMDMsIHVuaWZvcm1TY2FsZTogMS41IH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX21lbnVfaXRlbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJBdk1lbnVJdGVtXFxcIl0sIHsgbW9kZWxVcmk6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJnX2J1aWx0aW5Nb2RlbFN0YXJcXFwiXSwgb25TZWxlY3Q6IHRoaXMub25GYXZvcml0ZVRoaXNHYWRnZXQgfSkpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RGVsZXRlICYmXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmEuY3JlYXRlRWxlbWVudChfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHRyYW5zbGF0ZVg6IDAuMDUsIHRyYW5zbGF0ZVo6IDAuMDMsIHJvdGF0ZVg6IC05MCwgdW5pZm9ybVNjYWxlOiAwLjIgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmEuY3JlYXRlRWxlbWVudChfYWFyZHZhcmtfbWVudV9pdGVtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIkF2TWVudUl0ZW1cXFwiXSwgeyBtb2RlbFVyaTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImdfYnVpbHRpbk1vZGVsVHJhc2hjYW5cXFwiXSwgb25TZWxlY3Q6IHRoaXMub25EZWxldGUgfSkpKSxcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmEuY3JlYXRlRWxlbWVudChfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIkF2R2FkZ2V0TGlzdFxcXCJdLCB7IHJlZjogdGhpcy5nYWRnZXRMaXN0UmVmIH0pKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya19jb21wb3NlZF9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZDb21wb3NlZEVudGl0eVxcXCJdLCB7IGNvbXBvbmVudHM6IGNvbXBvbmVudHMsIHZvbHVtZTogZW50aXR5Vm9sdW1lLCBjb25zdHJhaW50OiBjb25zdHJhaW50LCBkZWJ1Z05hbWU6IGRlYnVnTmFtZSwgcmVmOiB0aGlzLmdyYWJiYWJsZVJlZiB9LFxcclxcbiAgICAgICAgICAgIGxvY2F0b3JFbnRpdHksXFxyXFxuICAgICAgICAgICAgYXBwZWFyYW5jZSxcXHJcXG4gICAgICAgICAgICBjaGlsZHJlbixcXHJcXG4gICAgICAgICAgICBhZHZlcnRpemVHYWRnZXRJbmZvICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2dhZGdldF9pbmZvX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2R2FkZ2V0SW5mb1xcXCJdLCB7IHZvbHVtZTogaW5mb1ZvbHVtZSB9KSxcXHJcXG4gICAgICAgICAgICBtZW51KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZTdGFuZGFyZEdyYWJiYWJsZS5wcm90b3R5cGUsIFxcXCJvbk1vdmVhYmxlVXBkYXRlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2U3RhbmRhcmRHcmFiYmFibGUucHJvdG90eXBlLCBcXFwib25OZXR3b3JrSXRlbURyb3BcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZTdGFuZGFyZEdyYWJiYWJsZS5wcm90b3R5cGUsIFxcXCJvbkZhdm9yaXRlVGhpc0dhZGdldFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdlN0YW5kYXJkR3JhYmJhYmxlLnByb3RvdHlwZSwgXFxcIm9uRGVsZXRlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl6ZEdGdVpHRnlaRjluY21GaVltRmliR1V1ZEhONFB6QXhaVFlpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdRVUZCTms0N1FVRkRNMHc3UVVGRFVqdEJRVU54UkR0QlFVTnNRenRCUVVOVE8wRkJRMjFDTzBGQlEzWkNPMEZCUTFBN1FVRkRVVHRCUVVOSU8wRkJRekpETzBGQlEwczdRVUZEYlVJN1FVRkRia1E3UVVGRGFFVXNUVUZCVFN4TFFVRkxMRWRCUVVjc2JVSkJRVThzUTBGQlJTeG5SVUZCYVVJc1EwRkJSU3hEUVVGRE8wRkJSVE5ETzBWQlEwVTdRVUZEUml4SlFVRlpMR0ZCZFVKWU8wRkJka0pFTEZkQlFWa3NZVUZCWVR0SlFVVjRRaXd3UkVGQk1FUTdTVUZETVVRc2FVUkJRVkU3U1VGRlVpeHBSVUZCYVVVN1NVRkRha1VzZFVSQlFWYzdTVUZGV0N3MlJrRkJOa1k3U1VGRE4wWXNkVVJCUVZjN1NVRkZXQ3cwUkVGQk5FUTdTVUZETlVRc0swUkJRV1U3U1VGRlppd3dSVUZCTUVVN1NVRkRNVVVzYVVSQlFWRTdTVUZGVWpzN096dFBRVWxITzBsQlEwZ3NkVVZCUVcxQ08wRkJRM0JDTEVOQlFVTXNSVUYyUWxjc1lVRkJZU3hMUVVGaUxHRkJRV0VzVVVGMVFuaENPMEZCUlVRc1NVRkJXU3h4UWtGblFsZzdRVUZvUWtRc1YwRkJXU3h4UWtGQmNVSTdTVUZGYUVNN08wOUJSVWM3U1VGRFNDeHhSVUZCVlR0SlFVVldPenRQUVVWSE8wbEJRMGdzZFVaQlFXMUNPMGxCUlc1Q096dFBRVVZITzBsQlEwZ3NOa1pCUVhOQ08wRkJRM1pDTEVOQlFVTXNSVUZvUWxjc2NVSkJRWEZDTEV0QlFYSkNMSEZDUVVGeFFpeFJRV2RDYUVNN1FVRkZSQ3hKUVVGWkxITkNRVTlZTzBGQlVFUXNWMEZCV1N4elFrRkJjMEk3U1VGRmFrTXNjVVJCUVhGRU8wbEJRM0pFTEhWRlFVRlZPMGxCUlZZc2JVTkJRVzFETzBsQlEyNURMRzFGUVVGUk8wRkJRMVFzUTBGQlF5eEZRVkJYTEhOQ1FVRnpRaXhMUVVGMFFpeHpRa0ZCYzBJc1VVRlBha003UVVGUFJDeEpRVUZaTEdOQmEwSllPMEZCYkVKRUxGZEJRVmtzWTBGQll6dEpRVVY2UWpzN1QwRkZSenRKUVVOSUxIVkVRVUZWTzBsQlJWWTdPenRQUVVkSE8wbEJRMGdzTmtSQlFXRTdTVUZGWWpzN08wOUJSMGM3U1VGRFNDeHhSVUZCYVVJN1FVRkRiRUlzUTBGQlF5eEZRV3hDVnl4alFVRmpMRXRCUVdRc1kwRkJZeXhSUVd0Q2VrSTdRVUV5U1VRc2EwWkJRV3RHTzBGQlF6TkZMRTFCUVUwc2JVSkJRVzlDTEZOQlFWRXNORU5CUVVzc1EwRkJReXhUUVVFeVJEdEpRVlY2Unl4WlFVRmhMRXRCUVZVN08xRkJSWFJDTEV0QlFVc3NRMEZCUlN4TFFVRkxMRU5CUVVVc1EwRkJRenRSUVZCU0xHdENRVUZoTEVkQlFXdERMRFJEUVVGTExFTkJRVU1zVTBGQlV5eEZRVUZuUWl4RFFVRkRPMUZCUXk5RkxIZENRVUZ0UWl4SFFVRjNRaXhKUVVGSkxFTkJRVU03VVVGRGFFUXNNa0pCUVhOQ0xFZEJRVEpDTEVsQlFVazdVVUZEY2tRc2FVSkJRVmtzUjBGQlJ5dzBRMEZCU3l4RFFVRkRMRk5CUVZNc1JVRkJjMElzUTBGQlF6dFJRVTAxUkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUTNoRE8xbEJRME1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUlN4blJFRkJaMFFzUTBGQlJTeERRVUZETzFOQlEzQkZPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NTVUZCU1N4alFVRmpMRU5CUVVNc1lVRkJZU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUXpGRk8xbEJRME1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUlN4M1EwRkJkME1zUTBGQlJTeERRVUZETzFOQlF6VkVPMUZCUlVRc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRWxCUVVrc2MwVkJRV2xDTEVOQlFVVXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEZRVU53UlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzU1VGQlNTeGpRVUZqTEVOQlFVTXNUVUZCVFN4RlFVTjZReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEhGQ1FVRnhRaXhKUVVGSkxFTkJRVU1zZVVSQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhSUVVGUkxGRkJRMnBGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2IwSkJRVzlDTEcxRFFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdVVUZGTVVRc1NVRkJTU3hWUVVGVkxFZEJRVWNzZVVSQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXh2UWtGQmIwSXNRMEZCUlN3clJVRkJjVUlzUTBGQlF5eGhRVUZoTEVOQlFVVXNRMEZCUXp0UlFVTnFSeXhKUVVGSkxGVkJRVlVzUlVGRFpEdFpRVU5ETEhkQ1FVRjNRanRaUVVONFFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc0swVkJRWEZDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXh2UWtGQmIwSXNRMEZCUlN4RFFVRkRPMWxCUlhCR0xFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1kwRkJZeXhEUVVGRExHRkJRV0VzUlVGRGNFUTdaMEpCUTBNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4SFFVRkhMRWxCUVVrc05rVkJRVzFDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZGTEVOQlFVTTdZVUZET1VVN1UwRkRSRHRoUVVWRU8xbEJSVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRzlDUVVGdlFpeEZRVU51UXp0blFrRkRReXc0UkVGQk9FUTdaMEpCUXpsRUxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1IwRkJSeXhKUVVGSkxIRkdRVUYzUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zYjBKQlFXOUNMRVZCUTNSR0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVVVzUTBGQlF6dGhRVU51UXp0WlFVVkVMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVsQlFVa3NZMEZCWXl4RFFVRkRMR0ZCUVdFc1JVRkRjRVE3WjBKQlEwTXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeEhRVUZITEVsQlFVa3NiVVpCUVhOQ0xFTkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1NVRkJTU3hGUVVOb1JpeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVVVzUTBGQlF6dGhRVU14UWp0VFFVTkVPMUZCUlVRc1NVRkJTU3hEUVVGRExFdEJRVXM3V1VGRFZqdG5Ra0ZEUXl4VFFVRlRMRVZCUVVVc1lVRkJZU3hEUVVGRExFbEJRVWs3WjBKQlF6ZENMRzFDUVVGdFFpeEZRVUZGTEV0QlFVczdZVUZETVVJc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGSFlTeG5Ra0ZCWjBJN096dFpRVVUzUWl4SlFVRkpMRk5CUVhkQ0xFTkJRVU03V1VGRE4wSXNVVUZCVVN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTMEZCU3l4RlFVTndRenRuUWtGRFF5eFJRVUZSTzJkQ1FVTlNMRXRCUVVzc01rVkJRWE5DTEVOQlFVTXNTVUZCU1N4RFFVRkRPMmRDUVVOcVF5eExRVUZMTERKRlFVRnpRaXhEUVVGRExGZEJRVmM3YjBKQlEzUkRMRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETzI5Q1FVTXZRaXhOUVVGTk8yZENRVVZRTEV0QlFVc3NNa1ZCUVhOQ0xFTkJRVU1zWVVGQllUdHZRa0ZEZUVNc1UwRkJVeXhIUVVGSExHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTTdiMEpCUTJ4RExFMUJRVTA3WjBKQlJWQXNTMEZCU3l3eVJVRkJjMElzUTBGQlF5eFBRVUZQTzI5Q1FVTnNReXhWUVVGSkxFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc01FTkJRVVVzYlVKQlFXMUNMRVZCUTNCRU8zZENRVU5ETEZOQlFWTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1pVRkJaU3hEUVVGRE8zRkNRVU14UXp0NVFrRkZSRHQzUWtGRFF5eFRRVUZUTEVkQlFVY3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJRenR4UWtGRGJFTTdiMEpCUTBRc1RVRkJUVHRuUWtGRlVDeExRVUZMTERKRlFVRnpRaXhEUVVGRExFbEJRVWs3YjBKQlF5OUNMRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETzI5Q1FVTXZRaXhOUVVGTk8yRkJRMUE3V1VGRlJDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVVc1VVRkJaME1zUlVGQlJ5eEZRVUZGT3p0blFrRkZja1FzU1VGQlNTeFJRVUZSTEVOQlFVTXNVMEZCVXl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUExFbEJRVWtzVVVGQlVTeERRVUZETEZOQlFWTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1NVRkJTU3hGUVVNelJqdHZRa0ZEUXl4SlFVRkpMRk5CUVZNc1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eEZRVU4wUXp0M1FrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEdkRFFVRm5ReXhEUVVGRkxFTkJRVU03ZDBKQlEyaEVMR2RDUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZETEUxQlFVMHNiVVJCUVVzN2NVSkJRM1JDTzJsQ1FVTkVPM0ZDUVVOSkxFbEJRVWtzVVVGQlVTeERRVUZETEZOQlFWTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1QwRkJUeXhGUVVOd1JEdHZRa0ZEUXl4SlFVRkpMRk5CUVZNc1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eEpRVUZKTEZOQlFWTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1NVRkJTU3hGUVVONlJUdDNRa0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHdERRVUZyUXl4RFFVRkZMRU5CUVVNN2QwSkJRMnhFTEdkQ1FVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRExGTkJRVk1zYlVSQlFVczdjVUpCUTNwQ08ybENRVU5FTzJkQ1FVTkVMSFZEUVVGWkxGRkJRVkVzUzBGQlJTeFRRVUZUTEVsQlFVYzdXVUZEYmtNc1EwRkJReXhEUVVGRkxFTkJRVU03TzB0QlEwbzdTVUZIWVN4cFFrRkJhVUk3TzFsQlJUbENMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHhRa0ZCY1VJc1JVRkRjRU03WjBKQlEwTXNUVUZCVFN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNkMEpCUVhkQ0xFVkJRVVVzUTBGQlF6dGhRVU40UkR0UlFVTkdMRU5CUVVNN1MwRkJRVHRKUVVWRUxFbEJRVmNzVTBGQlV6dFJRVVZ1UWl4UFFVRlBMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eEpRVUZKTEdGQlFXRXNRMEZCUXl4UFFVRlBPMlZCUTJoRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4SlFVRkpMR0ZCUVdFc1EwRkJReXhYUVVGWExFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBrc1pVRkJaU3hEUVVGRkxFdEJRV0VzUlVGQlJTeFJRVUZwUWpzN1VVRkZka1FzVlVGQlNTeERRVUZETEd0Q1FVRnJRaXd3UTBGQlJTeHhRa0ZCY1VJc1EwRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZITzFGQlEyeEZMRlZCUVVrc1EwRkJReXhsUVVGbExEQkRRVUZGTEdsQ1FVRnBRaXhEUVVGRkxFdEJRVXNzUlVGQlJTeFJRVUZSTEVWQlFVYzdTVUZETlVRc1EwRkJRenRKUVVWRUxHdENRVUZyUWl4RFFVRkZMRk5CUVdsRE96dFJRVVZ3UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzVTBGQlV5eERRVUZETEc5Q1FVRnZRaXhEUVVGRkxFVkJRemRGTzFsQlEwTXNWVUZCU1N4RFFVRkRMR3RDUVVGclFpd3dRMEZCUlN4M1FrRkJkMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRzlDUVVGdlFpeEZRVUZITzFOQlEzSkdPMUZCUlVRc1ZVRkJTU3hEUVVGRExHMUNRVUZ0UWl3d1EwRkJSU3haUVVGWkxFTkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUnp0SlFVTXhSQ3hEUVVGRE8wbEJSMDhzYjBKQlFXOUNPenRSUVVVelFpeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkZMR2xFUVVGcFJDeERRVUZGTEVOQlFVTTdVVUZEYWtVc1ZVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eFBRVUZQTERCRFFVRkZMRmRCUVZjc1EwRkJSU3g1UkVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSenRKUVVOd1JTeERRVUZETzBsQlJVUXNTVUZCV1N4VlFVRlZPMUZCUlhKQ0xFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzU1VGQlNTeGpRVUZqTEVOQlFVTXNUVUZCVFN4RFFVRkZMRU5CUVVNN1NVRkRja1lzUTBGQlF6dEpRVWRQTEZGQlFWRTdVVUZGWml4SlFVRkpMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEV0QlFVc3NWVUZCVlN4RlFVTXZRenRaUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNLMFJCUVN0RUxFTkJRVVVzUTBGQlF6dFpRVU12UlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFOQlEzaENPMkZCUlVRN1dVRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTERCRVFVRXdSQ3hEUVVGRkxFTkJRVU03V1VGRE1VVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8xTkJRMlk3U1VGRFJpeERRVUZETzBsQlJVUXNOa1ZCUVRaRk8wbEJRemRGTEVsQlFWY3NVVUZCVVRzN1VVRkZiRUlzWVVGQlR5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c01FTkJRVVVzVVVGQlVTeERRVUZETzBsQlF6VkRMRU5CUVVNN1NVRkZUU3hOUVVGTk96dFJRVVZhTEVsQlFVa3NXVUZCY1VJc1EwRkJRenRSUVVNeFFpeGpRVUZSTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3h0UTBGQlNTeHhRa0ZCY1VJc1EwRkJReXhOUVVGTkxFVkJReTlFTzFsQlEwTXNVVUZCVVR0WlFVTlNMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0blFrRkRhRU1zV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRjRUlzVFVGQlRUdFpRVVZRTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zWlVGQlpUdG5Ra0ZEZWtNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUE8zVkNRVU40UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zU1VGQlNTeGhRVUZoTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmRDUVVOMFJDeE5RVUZOTzFsQlJWQXNTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eHJRa0ZCYTBJN1owSkJRelZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zU1VGQlNTeGhRVUZoTEVOQlFVTXNTVUZCU1R0MVFrRkRja1FzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRWxCUVVrc1lVRkJZU3hEUVVGRExFOUJRVThzUTBGQlF6dG5Ra0ZEYkVRc1RVRkJUVHRUUVVOUU8xRkJSVVFzU1VGQlNTeGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFbEJRVWtzWVVGQllTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTTdVVUZGTDBVc1NVRkJTU3hWUVVGelFpeERRVUZETzFGQlF6TkNMRWxCUVVrc1ZVRkJiMElzUTBGQlF6dFJRVU42UWl4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU4yUWp0WlFVTkRMRWxCUVVrc1MwRkJTeXhIUVVGSExHTkJRV01zUjBGQlJ5eFBRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3h0UTBGQlNTeEhRVUZITEVOQlFVVXNRMEZCUXp0WlFVTTVSQ3hWUVVGVkxFZEJRVWNzTWtSQlFVTXNaMFZCUVZjc1NVRkJReXhaUVVGWkxFVkJRVWNzUzBGQlN6dG5Ra0ZETlVNc01rUkJRVU1zZFVSQlFVOHNTVUZCUXl4SFFVRkhMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVVXNTMEZCU3l4RlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEhRVUZKTEVOQlEzaEVMRU5CUVVNN1dVRkZhRUlzVlVGQlZUdG5Ra0ZEVmp0dlFrRkRReXhKUVVGSkxFVkJRVVVzZFVWQlFWY3NRMEZCUXl4UlFVRlJPMjlDUVVNeFFpeEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUk8yOUNRVU40UWl4alFVRmpMRVZCUTJRN2QwSkJRME1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVVzUzBGQlN5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUVVVN2NVSkJRM1pETzJsQ1FVTkVMRU5CUVVNN1UwRkRSanRoUVVWRU8xbEJRME1zVlVGQlZTeEhRVUZITERKRVFVRkRMR2RGUVVGWExFbEJRVU1zV1VGQldTeEZRVUZITEdOQlFXTXNTVUZEYmtRc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlExWXNRMEZCUXp0WlFVVm9RaXhWUVVGVkxIRkNRVUZSTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRkxFTkJRVU03V1VGRmRFTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhqUVVGakxFVkJRemxDTzJkQ1FVTkRMRlZCUVZVc1EwRkJReXhqUVVGakxFZEJRVWNzUlVGQlJTeERRVUZETzJGQlF5OUNPMWxCUTBRc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eGpRVUZqTEVOQlFVTXNTMEZCU3l4RlFVTndRenRuUWtGRFF5eFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTTdZVUZETjBRN1dVRkZSQ3hWUVVGVkxFTkJRVU1zWTBGQll5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1kwRkJZeXhEUVVGRE8xbEJRM0JFTEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zU1VGQlNTeGpRVUZqTEVOQlFVTTdXVUZEY0VRc1ZVRkJWU3hEUVVGRExHTkJRV01zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SlFVRkpMR05CUVdNc1EwRkJRenRUUVVOd1JEdFJRVVZFTEVsQlFVa3NWVUZCVlN4SFFVRnBRaXhKUVVGSkxFTkJRVU03VVVGRGNFTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHTkJRV01zUlVGRE4wSTdXVUZEUXl4VlFVRlZMRWRCUVVjc1JVRkJSU3hqUVVGakxFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRUUVVNelJEdFJRVVZFTEVsQlFVa3NZVUZCTUVJc1EwRkJRenRSUVVVdlFpeEpRVUZKTEZsQlFYTkNMRU5CUVVNN1VVRkZNMElzU1VGQlNTeFRRVUZUTEVkQlFVY3NSMEZCU1N4NVJFRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEU5QlFVOHNSVUZCUnl4SlFVRkxMRlZCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeHRRMEZCU1N4RlFVRkhMRVZCUVVVc1EwRkJRenRSUVVWc1JpeEpRVUZKTEZWQlFWVXNSMEZCYzBJc1JVRkJSU3hEUVVGRE8xRkJRM1pETEZGQlFWRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFVkJRM2hDTzFsQlEwTXNTMEZCU3l4alFVRmpMRU5CUVVNc1RVRkJUVHRuUWtGRGVrSXNTVUZCU1N4NVJFRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEZGQlFWRXNSVUZEYUVNN2IwSkJRME1zVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUlN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRkxFTkJRVU03YjBKQlEzaERMRmxCUVZrc1IwRkJSeXdyUlVGQlZ5eEZRVUZGTEVOQlFVTTdhVUpCUXpkQ08zRkNRVVZFTzI5Q1FVTkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVVVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFTkJRVU03YjBKQlF6RkRMRmxCUVZrc1IwRkJSeXhWUVVGVkxFTkJRVU03YjBKQlJURkNMRWxCUVVrc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVTXpRanQzUWtGRFF5eGhRVUZoTEVkQlFVY3NNa1JCUVVNc01FVkJRV2RDTEVsQlFVTXNWVUZCVlN4RlFVRkhMRU5CUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkZMRVZCUTNwRkxFMUJRVTBzUlVGQlJ5eHJSa0ZCWXl4RlFVRkZMRVZCUVVjc1UwRkJVeXhGUVVGSExGTkJRVk1zUjBGQlJ5eHBRa0ZCYVVJc1IwRkJTU3hEUVVGRE8zRkNRVU16UlR0cFFrRkRSRHRuUWtGRFJDeE5RVUZOTzFsQlJWQXNTMEZCU3l4alFVRmpMRU5CUVVNc1UwRkJVenRuUWtGRE5VSXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1EwRkJRenRuUWtGRE1VTXNXVUZCV1N4SFFVRkhMRlZCUVZVc1EwRkJRenRuUWtGRE0wSXNUVUZCVFR0WlFVVk9MRXRCUVVzc1kwRkJZeXhEUVVGRExHRkJRV0U3WjBKQlEyaERMRWxCUVVrc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4UlFVRlJMRVZCUTJoRE8yOUNRVU5ETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVVc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkZMRU5CUVVNN2IwSkJRelZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVVc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRU5CUVVNN2IwSkJRekZETEZsQlFWa3NSMEZCUnl4VlFVRlZMRU5CUVVNN2IwSkJSVEZDTEVsQlFVa3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NTVUZCU1N3eVJVRkJjMElzUTBGQlF5eFBRVUZQTEVWQlEyeEZPM2RDUVVORExFbEJRVWtzU1VGQlNTeHhRa0ZCVVN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRkxFTkJRVU03ZDBKQlF6ZEVMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzYjBaQlFUQkNMRU5CUVVNN2QwSkJRM2hETEdGQlFXRXNSMEZCUnl3eVJFRkJReXcyUlVGQmFVSXNTVUZCUXl4TlFVRk5MRVZCUVVjc1ZVRkJWU3hGUVVOeVJDeFRRVUZUTEVWQlFVY3NRMEZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3h2UmtGQk1FSXNSVUZCUlN4RFFVRkZMRVZCUTNCRUxHTkJRV01zUlVGQlJ5eERRVUZGTEVsQlFVa3NRMEZCUlN4RlFVTXhRaXhUUVVGVExFVkJRVWNzVTBGQlV5eEhRVUZITEdOQlFXTXNSMEZCU1R0eFFrRkRNME03YVVKQlEwUTdjVUpCUlVRN2IwSkJRME1zU1VGQlNTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zYlVKQlFXMUNMRVZCUTI1RU8zZENRVU5ETEN0RlFVRXJSVHQzUWtGREwwVXNlVVJCUVhsRU8zZENRVU42UkN4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRkxFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1EwRkJRenR4UWtGRGRrVTdlVUpCUlVRN2QwSkJRME1zVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUlN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZGTEVOQlFVTTdjVUpCUTNaRk8yOUNRVU5FTEZsQlFWa3NSMEZCUnl4VlFVRlZMRU5CUVVNN2FVSkJRekZDTzJkQ1FVTkVMRTFCUVUwN1UwRkRVRHRSUVVWRUxFbEJRVWtzZVVSQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhSUVVGUkxFVkJRMmhETzFsQlEwTXNVMEZCVXl4SlFVRkpMRk5CUVZNc1EwRkJRenRUUVVOMlFqdFJRVVZFTEVsQlFVa3NVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETzFGQlEyNURMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRMnBDTzFsQlEwTXNZMEZCVVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExITkNRVUZ6UWl4dFEwRkJTU3h6UWtGQmMwSXNRMEZCUXl4TlFVRk5MRVZCUXpGRk8yZENRVU5ETEZGQlFWRTdaMEpCUTFJc1MwRkJTeXh6UWtGQmMwSXNRMEZCUXl4TlFVRk5PMjlDUVVOcVF5eFJRVUZSTEVkQlFVY3NNa1JCUVVNc1owVkJRVmNzU1VGQlF5eFBRVUZQTEVWQlFVY3NXVUZCV1N4SlFVRkxMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZuUWl4RFFVRkRPMjlDUVVOMlJpeE5RVUZOTzJkQ1FVVlFMRXRCUVVzc2MwSkJRWE5DTEVOQlFVTXNTVUZCU1R0dlFrRkRMMElzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXp0aFFVTnFRanRUUVVORU8xRkJSVVFzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NTVUZCU1N4alFVRmpMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJSWFJGTEVsQlFVa3NTVUZCU1N4SFFVRm5RaXhKUVVGSkxFTkJRVU03VVVGRE4wSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zU1VGQlNTeGhRVUZoTEVOQlFVTXNTVUZCU1R0bFFVTXhReXhEUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NiVUpCUVcxQ0xFTkJRVVVzUlVGRE9VTTdXVUZEUXl4SlFVRkpMR2xDUVVGcFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenRaUVVOdVJTeEpRVUZKTEVkQlFVY3NNa1JCUVVNc1owVkJRVmNzU1VGQlF5eFRRVUZUTEVWQlFVY3NhVUpCUVdsQ08yZENRVU5vUkN3eVJFRkJReXh4UmtGQmNVSTdiMEpCUlhKQ0xHMUNRVUZ0UWp0M1FrRkRia0lzTWtSQlFVTXNaMFZCUVZjc1NVRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVWQlFVY3NWVUZCVlN4RlFVRkhMRWxCUVVrc1JVRkRha1FzV1VGQldTeEZRVUZITEVkQlFVYzdORUpCUTJ4Q0xESkVRVUZETERoRVFVRlZMRWxCUVVNc1VVRkJVU3hGUVVGSExEaEZRVUZyUWl4RlFVTjRReXhSUVVGUkxFVkJRVWNzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhIUVVGSkxFTkJRelZDTzI5Q1FVZGtMRWxCUVVrc1EwRkJReXhWUVVGVk8zZENRVU5tTERKRVFVRkRMR2RGUVVGWExFbEJRVU1zVlVGQlZTeEZRVUZITEVsQlFVa3NSVUZCU1N4VlFVRlZMRVZCUVVjc1NVRkJTU3hGUVVOc1JDeFBRVUZQTEVWQlFVY3NRMEZCUXl4RlFVRkZMRVZCUVVjc1dVRkJXU3hGUVVGSExFZEJRVWM3TkVKQlEyeERMREpFUVVGRExEaEVRVUZWTEVsQlFVTXNVVUZCVVN4RlFVRkhMR3RHUVVGelFpeEZRVU0xUXl4UlFVRlJMRVZCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlNTeERRVU5vUWl4RFFVVlRPMmRDUVVWNFFpd3lSRUZCUXl3MlJFRkJXU3hKUVVGRExFZEJRVWNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkxMRU5CUXpsQ0xFTkJRVU03VTBGRFpqdFJRVVZFTEU5QlFVOHNNa1JCUVVNc01FVkJRV2RDTEVsQlFVTXNWVUZCVlN4RlFVRkhMRlZCUVZVc1JVRkJSeXhOUVVGTkxFVkJRVWNzV1VGQldTeEZRVU4yUlN4VlFVRlZMRVZCUVVjc1ZVRkJWU3hGUVVGSExGTkJRVk1zUlVGQlJ5eFRRVUZUTEVWQlFVY3NSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWk8xbEJRM1pGTEdGQlFXRTdXVUZEWWl4VlFVRlZPMWxCUTFZc1VVRkJVVHRaUVVOU0xHMUNRVUZ0UWp0blFrRkRjRUlzTWtSQlFVTXNhMFZCUVZrc1NVRkJReXhOUVVGTkxFVkJRVWNzVlVGQlZTeEhRVUZMTzFsQlEzSkRMRWxCUVVrc1EwRkRXU3hEUVVGRE8wbEJRM0pDTEVOQlFVTTdRMEZEUkR0QlFXcFZRVHRKUVVSRExIRkVRVUZKT3pKRVFXOUVTanRCUVVkRU8wbEJSRU1zY1VSQlFVazdORVJCVDBvN1FVRXJRa1E3U1VGRVF5eHhSRUZCU1RzclJFRkxTanRCUVZGRU8wbEJSRU1zY1VSQlFVazdiVVJCWVVvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmYzNSaGJtUmhjbVJmWjNKaFltSmhZbXhsTG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVGMlEyOXVjM1J5WVdsdWRDd2dRWFpPYjJSbFZISmhibk5tYjNKdExDQkJkbFp2YkhWdFpTd2daVzF3ZEhsV2IyeDFiV1VzSUVWdVpIQnZhVzUwUVdSa2Npd2dSVlp2YkhWdFpWUjVjR1VzSUdkZlluVnBiSFJwYmsxdlpHVnNVM1JoY2l3Z1oxOWlkV2xzZEdsdVRXOWtaV3hVY21GemFHTmhiaXdnYVc1bWFXNXBkR1ZXYjJ4MWJXVXNJRWx1YVhScFlXeEpiblJsY21aaFkyVk1iMk5yTENCTmFXNXBiV0ZzVUc5elpTQjlJR1p5YjIwZ0owQmhZWEprZG1GeWEzaHlMMkZoY21SMllYSnJMWE5vWVhKbFpDYzdYSEpjYm1sdGNHOXlkQ0JpYVc1a0lHWnliMjBnSjJKcGJtUXRaR1ZqYjNKaGRHOXlKenRjY2x4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpEYjIxd2IzTmxaRVZ1ZEdsMGVTd2dSVzUwYVhSNVEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWpiMjF3YjNObFpGOWxiblJwZEhrbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtkaFpHZGxkQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWjJGa1oyVjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhSSmJtWnZJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTluWVdSblpYUmZhVzVtYnljN1hISmNibWx0Y0c5eWRDQjdJRUYyU0dWaFpFWmhZMmx1WjFSeVlXNXpabTl5YlNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmFHVmhaRjltWVdOcGJtZGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5aVzUxU1hSbGJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiV1Z1ZFY5cGRHVnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5iMlJsYkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmJXOWtaV3duTzF4eVhHNXBiWEJ2Y25RZ2V5QkJkbFJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmZEhKaGJuTm1iM0p0Snp0Y2NseHVhVzF3YjNKMElIc2dRWFpIWVdSblpYUk1hWE4wSUgwZ1puSnZiU0FuTGk5aGNHbGZaMkZrWjJWMGJHbHpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFZHlZV0pRYjNObExDQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRDd2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlNCOUlHWnliMjBnSnk0dlkyOXRjRzl1Wlc1MFgyMXZkbVZoWW14bEp6dGNjbHh1YVcxd2IzSjBJSHNnVG1WMGQyOXlhMlZrUjJGa1oyVjBRMjl0Y0c5dVpXNTBMQ0JPWlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZibVYwZDI5eWEyVmtYMmRoWkdkbGRDYzdYSEpjYm1sdGNHOXlkQ0I3SUZKbGJXOTBaVWRoWkdkbGRFTnZiWEJ2Ym1WdWRDd2dVbVZ0YjNSbFNYUmxiVU52YlhCdmJtVnVkQ3dnYTE5eVpXMXZkR1ZIY21GaVltRmliR1ZKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TDJOdmJYQnZibVZ1ZEY5eVpXMXZkR1ZmWjJGa1oyVjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkpiblJsY21aaFkyVkZiblJwZEhrZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgybHVkR1Z5Wm1GalpWOWxiblJwZEhrbk8xeHlYRzVqYjI1emRDQmxjWFZoYkNBOUlISmxjWFZwY21Vb0lDZG1ZWE4wTFdSbFpYQXRaWEYxWVd3bklDazdYSEpjYmx4eVhHNHZLaW9nVkdocGN5QmxiblZ0SUdSbFptbHVaWE1nZEdobElIQnZjM05wWW14bElHaHBaMmhzYVdkb2RDQnpkR0YwWlhNZ2IyWWdZVzRnUVhaSGNtRmlZbUZpYkdVdUlGeHlYRzRxTDF4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JJYVdkb2JHbG5hSFJVZVhCbFhISmNibnRjY2x4dVhIUXZLaW9nVG05MGFHbHVaeUJwYm5SbGNtVnpkR2x1WnlCcGN5Qm5iMmx1WnlCdmJpQjNhWFJvSUhSb1pTQm5jbUZpWW1GaWJHVXVJQ292WEhKY2JseDBUbTl1WlNBOUlEQXNYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVnlaU0JwY3lCaElHZHlZV0ppWlhJZ2QybDBhR2x1SUdkeVlXSmlhVzVuSUhKaGJtZGxJRzltSUhSb1pTQm5jbUZpWW1GaWJHVXVJQ292WEhKY2JseDBTVzVTWVc1blpTQTlJREVzWEhKY2JseHlYRzVjZEM4cUtpQlVhR1Z5WlNCcGN5QmhJR2R5WVdKaVpYSWdZV04wYVhabGJIa2daM0poWW1KcGJtY2dkR2hsSUdkeVlXSmlZV0pzWlN3Z1lXNWtJR2wwSUdsemJpZDBJR0YwZEdGamFHVmtJSFJ2SUdGdWVYUm9hVzVuTGlBcUwxeHlYRzVjZEVkeVlXSmlaV1FnUFNBeUxGeHlYRzVjY2x4dVhIUXZLaW9nVkdobElHZHlZV0ppWldRZ1ozSmhZbUpoWW14bElHbHpJSGRwZEdocGJpQmtjbTl3SUhKaGJtZGxJRzltSUdFZ2FHOXZheTRnS2k5Y2NseHVYSFJKYmtodmIydFNZVzVuWlNBOUlETXNYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdaM0poWW1KaFlteGxJSGRoY3lCcGJpQnlZVzVuWlNCaGJtUWdkR2hsSUhWelpYSWdhWE1nYUc5c1pHbHVaeUIwYUdVZ2JXVnVkU0JpZFhSMGIyNHVJQ292WEhKY2JseDBUV1Z1ZFNBOUlEUXNYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdaM0poWW1KaFlteGxJR2x6SUdKbGFXNW5JR2R5WVdKaVpXUWdZbmtnZEdobElHOXVaU0J2WmlCcGRITWdibVYwZDI5eWEyVmtJR052Y0dsbGN5NGdTWFFuY3lCaGJtbHRZWFJsWkN3Z1luVjBJSE5vYjNWc1pGeHlYRzVjZENBcUlHeGxZWFpsSUdsdWRHVnlZV04wYVc5dWN5QjBieUIwYUdVZ2NtVnRiM1JsSUdWdWRHbDBlU0JwZEhObGJHWXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dWR2hwY3lCb2FXZG9iR2xuYUhRZ2RIbHdaU0IzYVd4c0lHOXViSGtnWW1VZ2NtVndiM0owWldRZ1lua2dRWFpPWlhSM2IzSnJaV1JIY21GaVltRmliR1V1WEhKY2JseDBJQ292WEhKY2JseDBSM0poWW1KbFpFSjVVbVZ0YjNSbElEMGdOU3hjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdVMmh2ZDBkeVlXSmlZV0pzWlVOb2FXeGtjbVZ1WEhKY2JudGNjbHh1WEhRdktpb2dRV3gzWVhseklITm9iM2NnZEdobElHTm9hV3hrY21WdUlHOW1JSFJvWlNCQmRsTjBZVzVrWVhKa1IzSmhZbUpoWW14bExDQnVieUJ0WVhSMFpYSmNjbHh1WEhRZ0tpQjNhR0YwSUhSb1pTQm9hV2RvYkdsbmFIUWdjM1JoZEdVZ2FYTXVYSEpjYmx4MElDb3ZYSEpjYmx4MFFXeDNZWGx6SUQwZ01DeGNjbHh1WEhKY2JseDBMeW9xSUU5dWJIa2djMmh2ZHlCMGFHVWdZMmhwYkdSeVpXNGdiMllnZEdobElFRjJVM1JoYm1SaGNtUkhjbUZpWW1GaWJHVWdkMmhsYmlCcGRDQnBjeUJjY2x4dVhIUWdLaUJpWldsdVp5Qm5jbUZpWW1Wa0xseHlYRzVjZENBcUwxeHlYRzVjZEU5dWJIbFhhR1Z1UjNKaFltSmxaQ0E5SURFc1hISmNibHh5WEc1Y2RDOHFLaUJQYm14NUlITm9iM2NnZEdobElHTm9hV3hrY21WdUlHOW1JSFJvWlNCQmRsTjBZVzVrWVhKa1IzSmhZbUpoWW14bElIZG9aVzRnYVhRZ2FYTWdYSEpjYmx4MElDb2dibTkwSUdKbGFXNW5JR2R5WVdKaVpXUXVYSEpjYmx4MElDb3ZYSEpjYmx4MFQyNXNlVmRvWlc1T2IzUkhjbUZpWW1Wa0lEMGdNaXhjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdTR2xrWkdWdVEyaHBiR1J5Wlc1Q1pXaGhkbWx2Y2x4eVhHNTdYSEpjYmx4MEx5b3FJRVZ0YVhRZ2RHaGxJR05vYVd4a0lHNXZaR1Z6TENCaWRYUWdiV0Z5YXlCMGFHVnRJR0Z6SUdocFpHUmxiaTRnS2k5Y2NseHVYSFJJYVdSa1pXNGdQU0F3TEZ4eVhHNWNjbHh1WEhRdktpb2dSRzhnYm05MElHVnRhWFFnZEdobElHTm9hV3hrSUc1dlpHVnpMaUFxTDF4eVhHNWNkRTl0YVhRZ1BTQXhMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOMFlXNWtZWEprUjNKaFltSmhZbXhsUkdWc1pYUmxRMkZzYkdKaFkydGNjbHh1ZTF4eVhHNWNkQ2dwT2lCMmIybGtPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkhjbUZpWW1GaWJHVlRkSGxzWlZ4eVhHNTdYSEpjYmx4MEx5b3FJRlJvYVhNZ1ozSmhZbUpoWW14bElHbHpJSFJvWlNCMGIzQWdiR1YyWld3Z2IyWWdZU0JuWVdSblpYUXVJRWwwSUhkcGJHeGNjbHh1WEhRZ0tpQmhaSFpsY25ScGVtVWdaMkZrWjJWMElHbHVabThzSUdoaGRtVWdZVzRnUVNCdFpXNTFMQ0JsZEdNdVhISmNibHgwSUNvdlhISmNibHgwUjJGa1oyVjBJRDBnTVN4Y2NseHVYSEpjYmx4MEx5b3FJRlJvYVhNZ1ozSmhZbUpoWW14bElHbHpJR0VnYzNWaVkyOXRjRzl1Wlc1MElHOW1JR0VnWjJGa1oyVjBJSFJvWVhRZ2FYTWdibTkwWEhKY2JseDBJQ29nYjI1c2VTQm5jbUZpWW1GaWJHVWdiMjRnZEdobElIQnlhVzFoY25rZ2FXNXpkR0Z1WTJVdUlFbDBJSGRwYkd3Z2JtOTBJR0ZrZG1WeWRHbHpaVnh5WEc1Y2RDQXFJR2RoWkdkbGRDQnBibVp2SUc5eUlHaGhkbVVnWVc0Z1FTQnRaVzUxTGx4eVhHNWNkQ0FxTDF4eVhHNWNkRXh2WTJGc1NYUmxiU0E5SURJc1hISmNibHh5WEc1Y2RDOHFLaUJVYUdseklHZHlZV0ppWVdKc1pTQnBjeUJoSUhOMVltTnZiWEJ2Ym1WdWRDQnZaaUJoSUdkaFpHZGxkQ0IwYUdGMElHbHpJR2R5WVdKaVlXSnNaVnh5WEc1Y2RDQXFJRzl1SUhSb1pTQndjbWx0WVhKNUlHbHVjM1JoYm1ObElHRnVaQ0J2YmlCdVpYUjNiM0pyWldRZ2FXNXpkR0Z1WTJWekxpQkpkQ0IzYVd4c0lHNXZkQ0JjY2x4dVhIUWdLaUJoWkhabGNuUnBjMlVnWjJGa1oyVjBJR2x1Wm04Z2IzSWdhR0YyWlNCaGJpQkJJRzFsYm5VdVhISmNibHgwSUNvdlhISmNibHgwVG1WMGQyOXlhMlZrU1hSbGJTQTlJRE1zWEhKY2JuMWNjbHh1WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRsTjBZVzVrWVhKa1IzSmhZbUpoWW14bGZTQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOMFlXNWtZWEprUjNKaFltSmhZbXhsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVWFHVWdiVzlrWld3Z2RHOGdkWE5sSUdadmNpQjBhR1VnWjNKaFlpQm9ZVzVrYkdVZ2IyWWdkR2hwY3lCbmNtRmlZbUZpYkdVdUlFVnBkR2hsY2x4eVhHNWNkQ0FxSUhSb2FYTWdjSEp2Y0NCdmNpQmhjSEJsWVhKaGJtTmxJR0Z1WkNCMmIyeDFiV1VnYlhWemRDQmlaU0J6Y0dWamFXWnBaV1F1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENvdlhISmNibHgwYlc5a1pXeFZjbWsvT2lCemRISnBibWM3WEhKY2JseHlYRzVjZEM4cUtpQlVhR1VnYzJObGJtVWdaM0poY0dnZ2JtOWtaWE1nZEc4Z2RYTmxJR1p2Y2lCMGFHbHpJR2R5WVdKaVlXSnNaU2R6SUdGd2NHVmhjbUZ1WTJVdUlFVnBkR2hsY2lCMGFHbHpJR0Z1WkNCMmIyeDFiV1VnWEhKY2JseDBJQ29nYjNJZ2JXOWtaV3hWY21rZ2JYVnpkQ0JpWlNCemNHVmphV1pwWldSY2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCdWIyNWxYSEpjYmx4MElDb3ZYSEpjYmx4MFlYQndaV0Z5WVc1alpUODZJRXBUV0M1RmJHVnRaVzUwTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdsdWRHVnljMlZqZEdsdmJpQjJiMngxYldVZ2RHOGdkWE5sSUdsdUlHTnZibXAxYm1OMGFXOXVJSGRwZEdnZ1lYQndaV0Z5WVc1alpTQjBieUJrWlhSbGNtMXBibVVnZDJobGJpQjBhR1VnWEhKY2JseDBJQ29nZFhObGNpQnBjeUJwYm5SbGNuTmxZM1JwYm1jZ2RHaGxJR2R5WVdKaVlXSnNaUzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0J1YjI1bFhISmNibHgwSUNvdlhISmNibHgwZG05c2RXMWxQem9nUVhaV2IyeDFiV1U3WEhKY2JseHlYRzVjZEM4cUtpQlVaV3hzY3lCMGFHVWdjM1JoYm1SaGNtUWdaM0poWW1KaFlteGxJSGRvWlc0Z2RHOGdjMmh2ZHlCcGRITWdZMmhwYkdSeVpXNHVJRnh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJRk5vYjNkSGNtRmlZbUZpYkdWRGFHbHNaSEpsYmk1QmJIZGhlWE5jY2x4dVhIUXFMMXh5WEc1Y2RITm9iM2REYUdsc1pISmxiajg2SUZOb2IzZEhjbUZpWW1GaWJHVkRhR2xzWkhKbGJqdGNjbHh1WEhKY2JseDBMeW9xSUVOdmJuUnliMnh6SUdodmR5QmphR2xzWkNCdWIyUmxjeUJoY21VZ2FHbGtaR1Z1TGlCSlppQnphRzkzUTJocGJHUnlaVzRnYVhNZ2MyVjBJSFJ2SUZ4eVhHNWNkQ0FxSUZOb2IzZEhjbUZpWW1GaWJHVkRhR2xzWkhKbGJpNUJiSGRoZVhNZ2IzSWdhV1lnZEdobElHZHlZV0ppWVdKc1pTQm9ZWE1nYm04Z1kyaHBiR1J5Wlc0c1hISmNibHgwSUNvZ2RHaHBjeUJ3Y205d0lHbHpJR2xuYm05eVpXUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdTR2xrWkdWdVEyaHBiR1J5Wlc1Q1pXaGhkbWx2Y2k1SWFXUmtaVzVjY2x4dVhIUWdLaTljY2x4dVhIUm9hV1JrWlc1RGFHbHNaSEpsYmtKbGFHRjJhVzl5UHpvZ1NHbGtaR1Z1UTJocGJHUnlaVzVDWldoaGRtbHZjanRjY2x4dVhISmNibHgwTHlvcUlGVnVhV1p2Y20wZ2MyTmhiR1VnZEc4Z1lYQndiSGtnZEc4Z2RHaGxJR2R5WVdJZ2FHRnVaR3hsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURFdU1GeHlYRzVjZENvdlhISmNibHgwYlc5a1pXeFRZMkZzWlQ4NklHNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRU52Ykc5eUlIUnZJR0Z3Y0d4NUlIUnZJSFJvWlNCbmNtRmlJR2hoYm1Sc1pTNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBLaTljY2x4dVhIUnRiMlJsYkVOdmJHOXlQem9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1EyRnNiR1ZrSUhkb1pXNGdkR2hsSUdkeVlXSmlZV0pzWlNCcGN5Qm5jbUZpWW1Wa0xpQmNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBLaTljY2x4dVhIUnZia2R5WVdJL09pQW9LU0E5UGlCMmIybGtPMXh5WEc1Y2NseHVYSFF2S2lvZ1EyRnNiR1ZrSUhkb1pXNGdkR2hsSUdkeVlXSmlZV0pzWlNCcGN5QmtjbTl3Y0dWa0xpQmNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBLaTljY2x4dVhIUnZia1Z1WkVkeVlXSS9PaUFvS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dTV1lnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJrWldacGJtVmtMQ0IwYUdVZ1oyRmtaMlYwSUhkcGJHd2dZbVVnYzJoaGNtVmtJSGRwZEdnZ2NtVnRiM1JsSUhWelpYSnpJSFJvWVhRZ1lYSmxJR2x1SUhSb1pTQmNjbHh1WEhRZ0tpQnpZVzFsSUhKdmIyMGdZWE1nZEdobElHOTNibVZ5TGlCQmJua2djbVZ0YjNSbElHbHVjM1JoYm1ObElHOW1JSFJvYVhNZ1oyRmtaMlYwSUhkcGJHd2dZbVVnYzNSaGNuUmxaQ0IzYVhSb0lIQnliM1pwWkdWa1hISmNibHgwSUNvZ2FXNXBkR2xoYkNCcGJuUmxjbVpoWTJVZ2JHOWphM011WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENBcUwxeHlYRzVjZEhKbGJXOTBaVWx1ZEdWeVptRmpaVXh2WTJ0elB6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVYSEpjYmx4MEx5b3FJRWxtSUhKbGJXOTBaVWx1ZEdWeVptRmpaVXh2WTJ0eklHbHpJSEJ5YjNacFpHVmtMQ0IwYUdVZ1kyRnNiR0poWTJzZ2NISnZkbWxrWldRZ2QybDBhQ0IwYUdseklIQnliM0JsY25SNUlHbHpJR05oYkd4bFpGeHlYRzVjZENBcUlIZG9aVzVsZG1WeUlHRWdiV1Z6YzJGblpTQmpiMjFsY3lCcGJpQm1jbTl0SUdFZ2NtVnRiM1JsSUdsdWMzUmhibU5sSUc5bUlIUm9hWE1nWjJGa1oyVjBMaUJKWmlCMGFHbHpJR2RoWkdkbGRDQnBjMXh5WEc1Y2RDQXFJSFJvWlNCdFlYTjBaWElzSUdGdWVTQmxkbVZ1ZEhNZ2NtVmpaV2wyWldRZ1puSnZiU0IwYUdseklHTmhiR3hpWVdOcklIZHBiR3dnWW1VZ1puSnZiU0JoSUhKbGJXOTBaU0JuWVdSblpYUXVJRWxtSUhSb2FYTmNjbHh1WEhRZ0tpQm5ZV1JuWlhRZ2FYTWdjbVZ0YjNSbExDQmhibmtnWlhabGJuUnpJSEpsWTJWcGRtVmtJR1p5YjIwZ2RHaHBjeUJqWVd4c1ltRmpheUIzYVd4c0lHSmxJR1p5YjIwZ2RHaGxJRzFoYzNSbGNpNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBJQ292WEhKY2JseDBjbVZ0YjNSbFIyRmtaMlYwUTJGc2JHSmhZMnMvT2lBb0lHVjJaVzUwT2lCdlltcGxZM1FnS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dTV1lnZEdocGN5QmpZVzVFY205d1NXNTBiME52Ym5SaGFXNWxjbk1nYVhNZ2RISjFaU3dnZEdobElHZHlZV0ppWVdKc1pTQjNhV3hzSUdSeWIzQWdhWFJ6Wld4bUlHbHVkRzhnWTI5dWRHRnBibVZ5YzF4eVhHNWNkQ0FxSUhkb1pXNGdZWEJ3Y205d2NtbGhkR1V1SUU5MGFHVnlkMmx6WlNCcGRDQjNhV3hzSUhKbGRIVnliaUIwYnlCcGRITWdjMk5sYm1VZ1ozSmhjR2d0YzNCbFkybG1hV1ZrSUhSeVlXNXpabTl5YlNCM2FHVnVYSEpjYmx4MElDb2dhWFFnYVhNZ1pISnZjSEJsWkM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCMGNuVmxYSEpjYmx4MElDb3ZYSEpjYmx4MFkyRnVSSEp2Y0VsdWRHOURiMjUwWVdsdVpYSnpQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlGVnpaU0IwYUdseklIUnlZVzV6Wm05eWJTQjNhR1Z1SUhSb2FYTWdaM0poWW1KaFlteGxJR2x6SUdKbGFXNW5JR2R5WVdKaVpXUXVJRnh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJSFZ6WlNCMGFHVWdkSEpoYm5ObWIzSnRJR0YwSUhSb1pTQnRiMjFsYm5RZ2RHaGxJR2R5WVdJZ2MzUmhjblJsWkZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2R5WVdKaVpYSkdjbTl0UjNKaFltSmhZbXhsUHpvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TzF4eVhHNWNjbHh1WEhRdktpb2dWWE5sSUhSb2FYTWdjRzl6WlNCbWIzSWdkR2hsSUdkeVlXSmlhVzVuSUdoaGJtUXNJR0Z1WkNCd2IzTnBkR2x2YmlCMGFHVWdaM0poWW1KaFlteGxJR0YwSUhSb1pTQmNJbWR5WVdJZ2NHOXBiblJjSWlCdlppQjBhR0YwWEhKY2JseDBJQ29nY0c5elpTNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQjFjMlVnZEdobElIUnlZVzV6Wm05eWJTQmhkQ0IwYUdVZ2JXOXRaVzUwSUhSb1pTQm5jbUZpSUhOMFlYSjBaV1JjY2x4dVhIUWdLaTljY2x4dVhIUm5jbUZpVUc5elpUODZJRWR5WVdKUWIzTmxPMXh5WEc1Y2NseHVYSFF2S2lvZ1JHVm1hVzVsY3lCM2FHVnVJSFJvWlNCbmNtRmlZbUZpYkdVZ1kyRnVJR0psSUdkeVlXSmlaV1FzSUdGdVpDQjNhR1YwYUdWeUlHOXlJRzV2ZEZ4eVhHNWNkQ0FxSUdsMElHTnZkVzUwY3lCaGN5QjBhR1VnZEc5d2JXOXpkQ0JuY21GaVltRmliR1VnYVc0Z2RHaGxJR2RoWkdkbGRDNWNjbHh1WEhRZ0tpOWNjbHh1WEhSemRIbHNaVG9nUjNKaFltSmhZbXhsVTNSNWJHVTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkVzVwY1hWbExYUnZMWFJvWlMxbllXUm5aWFFnYVdRZ2RHOGdkWE5sSUhSdklHeHBibXNnZFhBZ2RHaHBjeUJwZEdWdElIZHBkR2dnYVhSeklHTnZkVzUwWlhKd1lYSjBjeUJwYmlCeVpXMXZkR1ZjY2x4dVhIUWdLaUJuWVdSblpYUnpMaUJVYUdseklHMTFjM1FnWW1VZ2MzQmxZMmxtYVdWa0lHbG1JSFJvWlNCbmNtRmlZbUZpYkdVZ2FYTWdkWE5wYm1jZ2RHaGxJRTVsZEhkdmNtdGxaRWwwWlcwZ2MzUjViR1V1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENBcUwxeHlYRzVjZEdsMFpXMUpaRDg2SUhOMGNtbHVaenRjY2x4dVhISmNibHgwTHlvcUlFbG1JSFJvYVhNZ2NISnZjQ0JwY3lCemNHVmphV1pwWldRc0lIUm9aU0IxYzJWeUlIZHBiR3dnWW1VZ2NISmxjMlZ1ZEdWa0lIZHBkR2dnWVNCa1pXeGxkR1VnYjNCMGFXOXVJSGRvWlc0Z2RHaGxlVnh5WEc1Y2RDQXFJR0ZqZEdsMllYUmxJSFJvWlNCQklHMWxiblVnZDJocGJHVWdkR2hwY3lCbllXUm5aWFFnYVhNZ2FHbG5hR3hwWjJoMFpXUXVJRWxtSUdFZ1kyRnNiR0poWTJzZ2FYTWdjSEp2ZG1sa1pXUXNYSEpjYmx4MElDb2dkR2hsSUdOaGJHeGlZV05ySUhkcGJHd2dZbVVnWTJGc2JHVmtJSGRvWlc0Z2RHaGxJSFZ6WlhJZ2MyVnNaV04wY3lCa1pXeGxkR1V1SUVsbUlIUnlkV1VnYVhNZ2NISnZkbWxrWldRc0lIUm9aVnh5WEc1Y2RDQXFJR2RoWkdkbGRDQjNhV3hzSUdKbElHTnNiM05sWkNCM2FHVnVJSFJvWlNCMWMyVnlJSE5sYkdWamRITWdaR1ZzWlhSbExseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4ME9pQnViMjVsWEhKY2JseDBJQ292WEhKY2JseDBjMmh2ZDBSbGJHVjBaVDg2SUhSeWRXVWdmQ0JUZEdGdVpHRnlaRWR5WVdKaVlXSnNaVVJsYkdWMFpVTmhiR3hpWVdOck8xeHlYRzVjY2x4dVhIUXZLaW9nU1dZZ2RHaHBjeUJ3Y205d0lHbHpJSFJ5ZFdVZ2RHaGxJR2R5WVdKaVlXSnNaU0IzYVd4c0lHbG5ibTl5WlNCaGJHd2djbTkwWVhScGIyNGdiM1JvWlhJZ2RHaGhiaUI1WVhkY2NseHVYSFFnS2lCbWNtOXRJR2wwY3lCd1lYSmxiblFnYzI4Z2RHaGhkQ0JwZENCcGN5QmhiSGRoZVhNZ2RYQnlhV2RvZEM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZERvZ1ptRnNjMlZjY2x4dVhIUWdLaTljY2x4dVhIUm5jbUYyYVhSNVFXeHBaMjVsWkQ4NklHSnZiMnhsWVc0N1hISmNibjFjY2x4dVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1UzUmhibVJoY21SSGNtRmlZbUZpYkdWVGRHRjBaVnh5WEc1N1hISmNibHgwYUdsbmFHeHBaMmgwT2lCSWFXZG9iR2xuYUhSVWVYQmxPMXh5WEc1Y2RIUnlZVzV6Wm05eWJVOTJaWEp5YVdSa1pXNDZJR0p2YjJ4bFlXNDdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkJJR2R5WVdKaVlXSnNaU0IwYUdGMElITm9iM2R6SUdFZ2JXOWtaV3dnWm05eUlHbDBjeUJvWVc1a2JHVWdZVzVrSUdocFoyaHNhV2RvZEhNZ1lYVjBiMjFoZEdsallXeHNlUzRnS2k5Y2NseHVaWGh3YjNKMElHTnNZWE56SUVGMlUzUmhibVJoY21SSGNtRmlZbUZpYkdVZ1pYaDBaVzVrY3lCU1pXRmpkQzVEYjIxd2IyNWxiblE4SUZOMFlXNWtZWEprUjNKaFltSmhZbXhsVUhKdmNITXNJRk4wWVc1a1lYSmtSM0poWW1KaFlteGxVM1JoZEdVZ1BseHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRiM1psWVdKc1pVTnZiWEJ2Ym1WdWREb2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUTdYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyWldSRGIyMXdiMjVsYm5RNklFNWxkSGR2Y210bFpFZGhaR2RsZEVOdmJYQnZibVZ1ZER0Y2NseHVYSFJ3Y21sMllYUmxJSEpsYlc5MFpVTnZiWEJ2Ym1WdWREb2dVbVZ0YjNSbFIyRmtaMlYwUTI5dGNHOXVaVzUwTzF4eVhHNWNkSEJ5YVhaaGRHVWdaMkZrWjJWMFRHbHpkRkpsWmpvZ1VtVmhZM1F1VW1WbVQySnFaV04wUEVGMlIyRmtaMlYwVEdsemRENGdQU0JTWldGamRDNWpjbVZoZEdWU1pXWThRWFpIWVdSblpYUk1hWE4wUGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WdGIzUmxTWFJsYlVOdmJYQnZibVZ1ZERvZ1VtVnRiM1JsU1hSbGJVTnZiWEJ2Ym1WdWRDQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J1WlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1ME9pQk9aWFIzYjNKclpXUkpkR1Z0UTI5dGNHOXVaVzUwSUQwZ2JuVnNiRnh5WEc1Y2RIQnlhWFpoZEdVZ1ozSmhZbUpoWW14bFVtVm1JRDBnVW1WaFkzUXVZM0psWVhSbFVtVm1QQ0JCZGtOdmJYQnZjMlZrUlc1MGFYUjVJRDRvS1R0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JSEJ5YjNCek9pQmhibmtnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSE4xY0dWeUtDQndjbTl3Y3lBcE8xeHlYRzVjY2x4dVhIUmNkR2xtS0NBaGNISnZjSE11Ylc5a1pXeFZjbWtnSmlZZ0lYQnliM0J6TG1Gd2NHVmhjbUZ1WTJVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0lGd2lSV2wwYUdWeUlHMXZaR1ZzVlhKcElHOXlJR0Z3Y0dWaGNtRnVZMlVnYlhWemRDQmlaU0J3Y205MmFXUmxaRndpSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWMzUjViR1VnUFQwZ1IzSmhZbUpoWW14bFUzUjViR1V1VG1WMGQyOXlhMlZrU1hSbGJTQW1KaUFoZEdocGN5NXdjbTl3Y3k1cGRHVnRTV1FnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFISnZkeUJ1WlhjZ1JYSnliM0lvSUZ3aWFYUmxiVWxrSUdseklISmxjWFZwY21Wa0lHWnZjaUJ1WlhSM2IzSnJaV1FnYVhSbGJYTmNJaUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblFnUFNCdVpYY2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUW9JSFJvYVhNdWIyNU5iM1psWVdKc1pWVndaR0YwWlN3Z1hISmNibHgwWEhSY2RIUm9hWE11Y0hKdmNITXVjM1I1YkdVZ1BUMGdSM0poWW1KaFlteGxVM1I1YkdVdVIyRmtaMlYwTENCY2NseHVYSFJjZEZ4MGRHaHBjeTV3Y205d2N5NWpZVzVFY205d1NXNTBiME52Ym5SaGFXNWxjbk1nSmlZZ0lVRjJSMkZrWjJWMExtbHVjM1JoYm1ObEtDa3VhWE5TWlcxdmRHVXNYSEpjYmx4MFhIUmNkSFJvYVhNdWNISnZjSE11WjNKaFltSmxja1p5YjIxSGNtRmlZbUZpYkdVZ1B6OGdkR2hwY3k1d2NtOXdjeTVuY21GaVVHOXpaU0FwTzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0J5WlcxdmRHVk1iMk5ySUQwZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNW1hVzVrU1c1cGRHbGhiRWx1ZEdWeVptRmpaU2dnVW1WdGIzUmxSMkZrWjJWMFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVNWhiV1VnS1R0Y2NseHVYSFJjZEdsbUtDQnlaVzF2ZEdWTWIyTnJJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwTHk4Z2RHaHBjeUJuWVdSblpYUWdhWE1nY21WdGIzUmxYSEpjYmx4MFhIUmNkSFJvYVhNdWNtVnRiM1JsUTI5dGNHOXVaVzUwSUQwZ2JtVjNJRkpsYlc5MFpVZGhaR2RsZEVOdmJYQnZibVZ1ZENnZ2RHaHBjeTV3Y205d2N5NXlaVzF2ZEdWSFlXUm5aWFJEWVd4c1ltRmpheUFwTzF4eVhHNWNjbHh1WEhSY2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWMzUjViR1VnUFQwZ1IzSmhZbUpoWW14bFUzUjViR1V1VG1WMGQyOXlhMlZrU1hSbGJTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbkpsYlc5MFpVbDBaVzFEYjIxd2IyNWxiblFnUFNCdVpYY2dVbVZ0YjNSbFNYUmxiVU52YlhCdmJtVnVkQ2dnZEdocGN5NXdjbTl3Y3k1cGRHVnRTV1FzSUc1MWJHd2dLVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjY2x4dVhIUmNkRngwYVdZb0lIUm9hWE11Y0hKdmNITXVjbVZ0YjNSbFNXNTBaWEptWVdObFRHOWphM01nS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBMeThnZEdocGN5Qm5ZV1JuWlhRZ2FYTWdiV0Z6ZEdWeUxDQnZjaUIzYVd4c0lHSmxJR2xtSUhSb1pTQjFjMlZ5SUdWdWRHVnljeUJoSUhKdmIyMWNjbHh1WEhSY2RGeDBYSFIwYUdsekxtNWxkSGR2Y210bFpFTnZiWEJ2Ym1WdWRDQTlJRzVsZHlCT1pYUjNiM0pyWldSSFlXUm5aWFJEYjIxd2IyNWxiblFvSUhSb2FYTXVjSEp2Y0hNdWNtVnRiM1JsU1c1MFpYSm1ZV05sVEc5amEzTXNJRnh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTV3Y205d2N5NXlaVzF2ZEdWSFlXUm5aWFJEWVd4c1ltRmpheUFwTzF4eVhHNWNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTV3Y205d2N5NXpkSGxzWlNBOVBTQkhjbUZpWW1GaWJHVlRkSGxzWlM1T1pYUjNiM0pyWldSSmRHVnRJQ2xjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RIUm9hWE11Ym1WMGQyOXlhMlZrU1hSbGJVTnZiWEJ2Ym1WdWRDQTlJRzVsZHlCT1pYUjNiM0pyWldSSmRHVnRRMjl0Y0c5dVpXNTBLQ0IwYUdsekxuQnliM0J6TG1sMFpXMUpaQ3dnYm5Wc2JDd2dYSEpjYmx4MFhIUmNkRngwWEhSMGFHbHpMbTl1VG1WMGQyOXlhMGwwWlcxRWNtOXdJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgwZ1hISmNibHh5WEc1Y2RGeDBkR2hwY3k1emRHRjBaU0E5SUZ4eVhHNWNkRngwZXlCY2NseHVYSFJjZEZ4MGFHbG5hR3hwWjJoME9pQklhV2RvYkdsbmFIUlVlWEJsTGs1dmJtVXNYSEpjYmx4MFhIUmNkSFJ5WVc1elptOXliVTkyWlhKeWFXUmtaVzQ2SUdaaGJITmxMRnh5WEc1Y2RGeDBmVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0JoYzNsdVl5QnZiazF2ZG1WaFlteGxWWEJrWVhSbEtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdhR2xuYUd4cFoyaDBPaUJJYVdkb2JHbG5hSFJVZVhCbE8xeHlYRzVjZEZ4MGMzZHBkR05vS0NCMGFHbHpMbTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbk4wWVhSbElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBaR1ZtWVhWc2REcGNjbHh1WEhSY2RGeDBZMkZ6WlNCTmIzWmxZV0pzWlVOdmJYQnZibVZ1ZEZOMFlYUmxMa2xrYkdVNlhISmNibHgwWEhSY2RHTmhjMlVnVFc5MlpXRmliR1ZEYjIxd2IyNWxiblJUZEdGMFpTNUpia052Ym5SaGFXNWxjanBjY2x4dVhIUmNkRngwWEhSb2FXZG9iR2xuYUhRZ1BTQklhV2RvYkdsbmFIUlVlWEJsTGs1dmJtVTdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBVM1JoZEdVdVIzSmhZbUpsY2s1bFlYSmllVHBjY2x4dVhIUmNkRngwWEhSb2FXZG9iR2xuYUhRZ1BTQklhV2RvYkdsbmFIUlVlWEJsTGtsdVVtRnVaMlU3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVSM0poWW1KbFpEcGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTV1WlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1MFB5NTBjbUZ1YzJadmNtMVBkbVZ5Y21sa1pHVnVJQ2xjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJvYVdkb2JHbG5hSFFnUFNCSWFXZG9iR2xuYUhSVWVYQmxMa2R5WVdKaVpXUkNlVkpsYlc5MFpUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2hwWjJoc2FXZG9kQ0E5SUVocFoyaHNhV2RvZEZSNWNHVXVSM0poWW1KbFpEdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVUV1Z1ZFRwY2NseHVYSFJjZEZ4MFhIUm9hV2RvYkdsbmFIUWdQU0JJYVdkb2JHbG5hSFJVZVhCbExrMWxiblU3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnS0NCdmJHUlRkR0YwWlRvZ1UzUmhibVJoY21SSGNtRmlZbUZpYkdWVGRHRjBaU0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RHbG1LQ0J2YkdSVGRHRjBaUzVvYVdkb2JHbG5hSFFnUFQwZ1NHbG5hR3hwWjJoMFZIbHdaUzVKYmxKaGJtZGxJSHg4SUc5c1pGTjBZWFJsTG1ocFoyaHNhV2RvZENBOVBTQklhV2RvYkdsbmFIUlVlWEJsTGs1dmJtVWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGFXWW9JR2hwWjJoc2FXZG9kQ0E5UFNCSWFXZG9iR2xuYUhSVWVYQmxMa2R5WVdKaVpXUWdLVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0luTjBZVzVrWVhKa0lHZHlZV0ppWVdKc1pTQjNZWE1nWjNKaFltSmxaRndpSUNrN1hISmNibHgwWEhSY2RGeDBYSFIwYUdsekxuQnliM0J6TG05dVIzSmhZajh1S0NrN1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEdWc2MyVWdhV1lvSUc5c1pGTjBZWFJsTG1ocFoyaHNhV2RvZENBOVBTQklhV2RvYkdsbmFIUlVlWEJsTGtkeVlXSmlaV1FnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBhV1lvSUdocFoyaHNhV2RvZENBOVBTQklhV2RvYkdsbmFIUlVlWEJsTGtsdVVtRnVaMlVnZkh3Z2FHbG5hR3hwWjJoMElEMDlJRWhwWjJoc2FXZG9kRlI1Y0dVdVRtOXVaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2ljM1JoYm1SaGNtUWdaM0poWW1KaFlteGxJSGRoY3lCMWJtZHlZV0ppWldSY0lpQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTV3Y205d2N5NXZia1Z1WkVkeVlXSS9MaWdwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdleUF1TGk1dmJHUlRkR0YwWlN3Z2FHbG5hR3hwWjJoMElIMDdYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnWVhONWJtTWdiMjVPWlhSM2IzSnJTWFJsYlVSeWIzQW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG1OaGJrUnliM0JKYm5SdlEyOXVkR0ZwYm1WeWN5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR0YzWVdsMElIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblF1WkhKdmNFbHVkRzlEZFhKeVpXNTBRMjl1ZEdGcGJtVnlLQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUdselIzSmhZbUpsWkNncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWMzUmhkR1V1YUdsbmFHeHBaMmgwSUQwOUlFaHBaMmhzYVdkb2RGUjVjR1V1UjNKaFltSmxaQ0JjY2x4dVhIUmNkRngwZkh3Z2RHaHBjeTV6ZEdGMFpTNW9hV2RvYkdsbmFIUWdQVDBnU0dsbmFHeHBaMmgwVkhsd1pTNUpia2h2YjJ0U1lXNW5aVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCVFpXNWtjeUJoYmlCbGRtVnVkQ0IwYnlCaGJtOTBhR1Z5SUdsdWMzUmhibU5sSUc5bUlIUm9hWE1nWjJGa1oyVjBMaUJKWmlCMGFHbHpJR2RoWkdkbGRDQnBjMXh5WEc1Y2RDQXFJSFJvWlNCdFlYTjBaWElzSUhSb1pTQmxkbVZ1ZENCcGN5QnpaVzUwSUhSdklHRnNiQ0J5WlcxdmRHVWdhVzV6ZEdGdVkyVnpMaUJKWmlCMGFHbHpJR2RoWkdkbGRDQmNjbHh1WEhRZ0tpQnBjeUJ5WlcxdmRHVXNJSFJvWlNCbGRtVnVkQ0JwY3lCelpXNTBJSFJ2SUhSb1pTQnRZWE4wWlhJdUlFbG1JSFJvYVhNZ1oyRmtaMlYwSUdseklHNXZkQ0J1WlhSM2IzSnJaV1FzWEhKY2JseDBJQ29nYjNJZ2FXWWdhWFFnYVhNZ2JtVjBkMjl5YTJWa0xDQmlkWFFnZEdobElIVnpaWElnYVhNZ2JtOTBJR04xY25KbGJuUnNlU0JwYmlCaElISnZiMjBzSUhSb1pTQmNjbHh1WEhRZ0tpQmxkbVZ1ZENCcGN5QmthWE5qWVhKa1pXUXVYSEpjYmx4MElDb3ZYSEpjYmx4MGNIVmliR2xqSUhObGJtUlNaVzF2ZEdWRmRtVnVkQ2dnWlhabGJuUTZJRzlpYW1WamRDd2djbVZzYVdGaWJHVTZJR0p2YjJ4bFlXNGdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11Ym1WMGQyOXlhMlZrUTI5dGNHOXVaVzUwUHk1elpXNWtSWFpsYm5SVWIwRnNiRkpsYlc5MFpYTW9JR1YyWlc1MExDQnlaV3hwWVdKc1pTQXBPMXh5WEc1Y2RGeDBkR2hwY3k1eVpXMXZkR1ZEYjIxd2IyNWxiblEvTG5ObGJtUkZkbVZ1ZEZSdlRXRnpkR1Z5S0NCbGRtVnVkQ3dnY21Wc2FXRmliR1VnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlNnZ2NISmxkbEJ5YjNCek9pQlRkR0Z1WkdGeVpFZHlZV0ppWVdKc1pWQnliM0J6SUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ0lXVnhkV0ZzS0NCMGFHbHpMbkJ5YjNCekxuSmxiVzkwWlVsdWRHVnlabUZqWlV4dlkydHpMQ0J3Y21WMlVISnZjSE11Y21WdGIzUmxTVzUwWlhKbVlXTmxURzlqYTNNZ0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWJtVjBkMjl5YTJWa1EyOXRjRzl1Wlc1MFB5NXpaWFJKYm1sMGFXRnNTVzUwWlhKbVlXTmxURzlqYTNNb0lIUm9hWE11Y0hKdmNITXVjbVZ0YjNSbFNXNTBaWEptWVdObFRHOWphM01nS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUjBhR2x6TG5KbGJXOTBaVWwwWlcxRGIyMXdiMjVsYm5RL0xuTmxkRWx6UjNKaFltSmxaQ2dnZEdocGN5NXBjMGR5WVdKaVpXUWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmtaaGRtOXlhWFJsVkdocGMwZGhaR2RsZENncFhISmNibHgwZTF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lVMlZ1WkdsdVp5QnlaWEYxWlhOMElIUnZJR0ZrWkNCMGFHbHpJR2RoWkdkbGRDQjBieUJtWVhadmNtbDBaWE5jSWlBcE8xeHlYRzVjZEZ4MGRHaHBjeTVuWVdSblpYUk1hWE4wVW1WbUxtTjFjbkpsYm5RL0xtRmtaRVpoZG05eWFYUmxLQ0JCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG5WeWJDQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQm5aWFFnYzJodmQwUmxiR1YwWlNncE9pQmliMjlzWldGdVhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNISnZjSE11YzJodmQwUmxiR1YwWlNBL0lIUnlkV1VnT2lBb0lIUm9hWE11Y0hKdmNITXVjM1I1YkdVZ1BUMGdSM0poWW1KaFlteGxVM1I1YkdVdVIyRmtaMlYwSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNUVaV3hsZEdVb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQjBlWEJsYjJZZ2RHaHBjeTV3Y205d2N5NXphRzkzUkdWc1pYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSmpZV3hzYVc1bklHUmxiR1YwWlNCallXeHNZbUZqYXlCaGRDQjBhR1VnZFhObGNpZHpJSEpsY1hWbGMzUWdabkp2YlNCMGFHVWdRU0J0Wlc1MVhDSWdLVHRjY2x4dVhIUmNkRngwZEdocGN5NXdjbTl3Y3k1emFHOTNSR1ZzWlhSbEtDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJbU5zYjNOcGJtY2dkR2hsSUdkaFpHZGxkQ0JoZENCMGFHVWdkWE5sY2lkeklISmxjWFZsYzNRZ1puSnZiU0IwYUdVZ1FTQnRaVzUxWENJZ0tUdGNjbHh1WEhSY2RGeDBkMmx1Wkc5M0xtTnNiM05sS0NrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RDOHFLaUJTWlhSMWNtNXpJSFJvWlNCbmJHOWlZV3dnU1VRZ2FXWWdkR2hsSUdkeVlXSmlZV0pzWlNCM2FYUm9hVzRnZEdobElFRjJVM1JoYm1SaGNtUkhjbUZpWW1GaWJHVXVJQ292WEhKY2JseDBjSFZpYkdsaklHZGxkQ0JuYkc5aVlXeEpaQ2dwSURvZ1JXNWtjRzlwYm5SQlpHUnlYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVaM0poWW1KaFlteGxVbVZtTG1OMWNuSmxiblEvTG1kc2IySmhiRWxrTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJSE5vYjNkRGFHbHNaSEpsYmpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEdocGN5NXdjbTl3Y3k1emFHOTNRMmhwYkdSeVpXNGdQejhnVTJodmQwZHlZV0ppWVdKc1pVTm9hV3hrY21WdUxrRnNkMkY1Y3lBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHUmxabUYxYkhRNlhISmNibHgwWEhSY2RHTmhjMlVnVTJodmQwZHlZV0ppWVdKc1pVTm9hV3hrY21WdUxrRnNkMkY1Y3pwY2NseHVYSFJjZEZ4MFhIUnphRzkzUTJocGJHUnlaVzRnUFNCMGNuVmxPMXh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEZ4MFkyRnpaU0JUYUc5M1IzSmhZbUpoWW14bFEyaHBiR1J5Wlc0dVQyNXNlVmRvWlc1SGNtRmlZbVZrT2x4eVhHNWNkRngwWEhSY2RITm9iM2REYUdsc1pISmxiaUE5SUhSb2FYTXVjM1JoZEdVdWFHbG5hR3hwWjJoMElEMDlJRWhwWjJoc2FXZG9kRlI1Y0dVdVIzSmhZbUpsWkNCY2NseHVYSFJjZEZ4MFhIUmNkSHg4SUhSb2FYTXVjM1JoZEdVdWFHbG5hR3hwWjJoMElEMDlJRWhwWjJoc2FXZG9kRlI1Y0dVdVNXNUliMjlyVW1GdVoyVTdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRk5vYjNkSGNtRmlZbUZpYkdWRGFHbHNaSEpsYmk1UGJteDVWMmhsYms1dmRFZHlZV0ppWldRNlhISmNibHgwWEhSY2RGeDBjMmh2ZDBOb2FXeGtjbVZ1SUQwZ2RHaHBjeTV6ZEdGMFpTNW9hV2RvYkdsbmFIUWdQVDBnU0dsbmFHeHBaMmgwVkhsd1pTNU9iMjVsSUZ4eVhHNWNkRngwWEhSY2RGeDBmSHdnZEdocGN5NXpkR0YwWlM1b2FXZG9iR2xuYUhRZ1BUMGdTR2xuYUd4cFoyaDBWSGx3WlM1SmJsSmhibWRsTzF4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RHeGxkQ0JvYVdkb2JHbG5hSFJUWTJGc1pTQTlJSFJvYVhNdWMzUmhkR1V1YUdsbmFHeHBaMmgwSUQwOUlFaHBaMmhzYVdkb2RGUjVjR1V1U1c1U1lXNW5aU0EvSURFdU1TQTZJREV1TUR0Y2NseHVYSEpjYmx4MFhIUnNaWFFnWVhCd1pXRnlZVzVqWlRwS1UxZ3VSV3hsYldWdWREdGNjbHh1WEhSY2RHeGxkQ0JwYm1adlZtOXNkVzFsT2lCQmRsWnZiSFZ0WlR0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5CeWIzQnpMbTF2WkdWc1ZYSnBJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElITmpZV3hsSUQwZ2FHbG5hR3hwWjJoMFUyTmhiR1VnS2lBb0lIUm9hWE11Y0hKdmNITXViVzlrWld4VFkyRnNaU0EvUHlBeExqQWdLVHRjY2x4dVhIUmNkRngwWVhCd1pXRnlZVzVqWlNBOUlEeEJkbFJ5WVc1elptOXliU0IxYm1sbWIzSnRVMk5oYkdVOWV5QnpZMkZzWlNCOVBseHlYRzVjZEZ4MFhIUmNkRngwUEVGMlRXOWtaV3dnZFhKcFBYc2dkR2hwY3k1d2NtOXdjeTV0YjJSbGJGVnlhWDBnWTI5c2IzSTlleUIwYUdsekxuQnliM0J6TG0xdlpHVnNRMjlzYjNJZ2ZTOCtYSEpjYmx4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNDdYSEpjYmx4eVhHNWNkRngwWEhScGJtWnZWbTlzZFcxbElEMGdYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1TmIyUmxiRUp2ZUN3Z1hISmNibHgwWEhSY2RGeDBkWEpwT2lCMGFHbHpMbkJ5YjNCekxtMXZaR1ZzVlhKcExDQmNjbHh1WEhSY2RGeDBYSFJ1YjJSbFJuSnZiVlp2YkhWdFpUcGNjbHh1WEhSY2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RGeDBjMk5oYkdVNklIc2dlRG9nYzJOaGJHVXNJSGs2SUhOallXeGxMQ0I2T2lCelkyRnNaU0I5WEhKY2JseDBYSFJjZEZ4MGZTeGNjbHh1WEhSY2RGeDBmVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFlYQndaV0Z5WVc1alpTQTlJRHhCZGxSeVlXNXpabTl5YlNCMWJtbG1iM0p0VTJOaGJHVTlleUJvYVdkb2JHbG5hSFJUWTJGc1pTQjlQbHh5WEc1Y2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbUZ3Y0dWaGNtRnVZMlVnZlZ4eVhHNWNkRngwWEhSY2REd3ZRWFpVY21GdWMyWnZjbTArTzF4eVhHNWNjbHh1WEhSY2RGeDBhVzVtYjFadmJIVnRaU0E5SUhzZ0xpNHVkR2hwY3k1d2NtOXdjeTUyYjJ4MWJXVWdmVHRjY2x4dVhISmNibHgwWEhSY2RHbG1LQ0FoYVc1bWIxWnZiSFZ0WlM1dWIyUmxSbkp2YlZadmJIVnRaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnBibVp2Vm05c2RXMWxMbTV2WkdWR2NtOXRWbTlzZFcxbElEMGdlMzA3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEZ4MGFXWW9JQ0ZwYm1adlZtOXNkVzFsTG01dlpHVkdjbTl0Vm05c2RXMWxMbk5qWVd4bElDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdsdVptOVdiMngxYldVdWJtOWtaVVp5YjIxV2IyeDFiV1V1YzJOaGJHVWdQU0I3SUhnNklERXVNQ3dnZVRvZ01TNHdMQ0I2T2lBeExqQWdmVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBhVzVtYjFadmJIVnRaUzV1YjJSbFJuSnZiVlp2YkhWdFpTNXpZMkZzWlM1NElDbzlJR2hwWjJoc2FXZG9kRk5qWVd4bE8xeHlYRzVjZEZ4MFhIUnBibVp2Vm05c2RXMWxMbTV2WkdWR2NtOXRWbTlzZFcxbExuTmpZV3hsTG5rZ0tqMGdhR2xuYUd4cFoyaDBVMk5oYkdVN1hISmNibHgwWEhSY2RHbHVabTlXYjJ4MWJXVXVibTlrWlVaeWIyMVdiMngxYldVdWMyTmhiR1V1ZWlBcVBTQm9hV2RvYkdsbmFIUlRZMkZzWlR0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnWTI5dWMzUnlZV2x1ZERvZ1FYWkRiMjV6ZEhKaGFXNTBJRDBnYm5Wc2JEdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG1keVlYWnBkSGxCYkdsbmJtVmtJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dWMzUnlZV2x1ZENBOUlIc2daM0poZG1sMGVVRnNhV2R1WldRNklIUm9hWE11Y0hKdmNITXVaM0poZG1sMGVVRnNhV2R1WldRZ2ZUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJzWlhRZ2JHOWpZWFJ2Y2tWdWRHbDBlVG9nU2xOWUxrVnNaVzFsYm5RN1hISmNibHh5WEc1Y2RGeDBiR1YwSUdWdWRHbDBlVlp2YkhWdFpUb2dRWFpXYjJ4MWJXVTdYSEpjYmx4eVhHNWNkRngwYkdWMElHUmxZblZuVG1GdFpTQTlJR0FrZXlCQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExtZGxkRTVoYldVb0tTQjlMeVI3SUhSb2FYTXVjSEp2Y0hNdWFYUmxiVWxrSUQ4L0lGd2lYQ0lnZldBN1hISmNibHh5WEc1Y2RGeDBiR1YwSUdOdmJYQnZibVZ1ZEhNNklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ0ZElEMGdXMTA3WEhKY2JseDBYSFJ6ZDJsMFkyZ29JSFJvYVhNdWNISnZjSE11YzNSNWJHVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqWVhObElFZHlZV0ppWVdKc1pWTjBlV3hsTGtkaFpHZGxkRHBjY2x4dVhIUmNkRngwWEhScFppZ2dRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzVwYzFKbGJXOTBaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWTI5dGNHOXVaVzUwY3k1d2RYTm9LQ0IwYUdsekxuSmxiVzkwWlVOdmJYQnZibVZ1ZENBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWlc1MGFYUjVWbTlzZFcxbElEMGdaVzF3ZEhsV2IyeDFiV1VvS1R0Y2NseHVYSFJjZEZ4MFhIUjlYSFJjY2x4dVhIUmNkRngwWEhSbGJITmxYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBZMjl0Y0c5dVpXNTBjeTV3ZFhOb0tDQjBhR2x6TG0xdmRtVmhZbXhsUTI5dGNHOXVaVzUwSUNrN1hISmNibHgwWEhSY2RGeDBYSFJsYm5ScGRIbFdiMngxYldVZ1BTQnBibVp2Vm05c2RXMWxPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NCMGFHbHpMbTVsZEhkdmNtdGxaRU52YlhCdmJtVnVkQ0FwWEhKY2JseDBYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeHZZMkYwYjNKRmJuUnBkSGtnUFNBOFFYWkRiMjF3YjNObFpFVnVkR2wwZVNCamIyMXdiMjVsYm5SelBYc2dXeUIwYUdsekxtNWxkSGR2Y210bFpFTnZiWEJ2Ym1WdWRDQmRJSDBnWEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwZG05c2RXMWxQWHNnYVc1bWFXNXBkR1ZXYjJ4MWJXVW9LU0I5SUdSbFluVm5UbUZ0WlQxN0lHUmxZblZuVG1GdFpTQXJJRndpTDI1bGRIZHZjbXRmWjJGa1oyVjBYQ0lnZlM4K08xeHlYRzVjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RIMWNkRngwWEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUVkeVlXSmlZV0pzWlZOMGVXeGxMa3h2WTJGc1NYUmxiVHBjY2x4dVhIUmNkRngwWEhSamIyMXdiMjVsYm5SekxuQjFjMmdvSUhSb2FYTXViVzkyWldGaWJHVkRiMjF3YjI1bGJuUWdLVHRjY2x4dVhIUmNkRngwWEhSbGJuUnBkSGxXYjJ4MWJXVWdQU0JwYm1adlZtOXNkVzFsTzF4eVhHNWNkRngwWEhSaWNtVmhhenRjY2x4dVhISmNibHgwWEhSY2RHTmhjMlVnUjNKaFltSmhZbXhsVTNSNWJHVXVUbVYwZDI5eWEyVmtTWFJsYlRwY2NseHVYSFJjZEZ4MFhIUnBaaWdnUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1cGMxSmxiVzkwWlNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFkyOXRjRzl1Wlc1MGN5NXdkWE5vS0NCMGFHbHpMbkpsYlc5MFpVbDBaVzFEYjIxd2IyNWxiblFnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkR052YlhCdmJtVnVkSE11Y0hWemFDZ2dkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZENBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWlc1MGFYUjVWbTlzZFcxbElEMGdhVzVtYjFadmJIVnRaVHRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTV0YjNabFlXSnNaVU52YlhCdmJtVnVkQzV6ZEdGMFpTQTlQU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrZHlZV0ppWldRZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJzWlhRZ2JHOWpheUE5SUhzZ0xpNHVkR2hwY3k1eVpXMXZkR1ZKZEdWdFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVeHZZMnR6V3pCZElIMDdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeHZZMnN1YVdaaFkyVWdQU0JyWDNKbGJXOTBaVWR5WVdKaVlXSnNaVWx1ZEdWeVptRmpaVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBiRzlqWVhSdmNrVnVkR2wwZVNBOUlEeEJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVTQjJiMngxYldVOWV5QnBibVp2Vm05c2RXMWxJSDFjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFIwY21GdWMyMXBkSE05ZXlCYklIc2dhV1poWTJVNklHdGZjbVZ0YjNSbFIzSmhZbUpoWW14bFNXNTBaWEptWVdObElIMGdYU0I5WEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwWEhScGJuUmxjbVpoWTJWTWIyTnJjejE3SUZzZ2JHOWpheUJkSUgxY2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSa1pXSjFaMDVoYldVOWV5QmtaV0oxWjA1aGJXVWdLeUJjSWk5eVpXMXZkR1ZmYVhSbGJWd2lJSDB2UGx4eVhHNWNkRngwWEhSY2RGeDBmVngwWEhSY2RGeHlYRzVjZEZ4MFhIUmNkSDFjZEZ4eVhHNWNkRngwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTV1WlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1MExuUnlZVzV6Wm05eWJVOTJaWEp5YVdSa1pXNGdLVnh5WEc1Y2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhRdkx5QnBaaUIwY21GdWMyWnZjbTF6SUdGeVpTQnZkbVZ5Y21sa1pHVnVMQ0IzWlNCM1lXNTBJSFJvWlNCdVpYUjNiM0pyWldRZ2FYUmxiU0JtYVhKemRDQnpieUJwZEhNZ2NHRnlaVzUwWEhKY2JseDBYSFJjZEZ4MFhIUmNkQzh2SUhkcGJHd2dZbVVnZFhObFpDQnBibk4wWldGa0lHOW1JSGRvWVhSbGRtVnlJR052Ym5SaGFXNWxjaUIzWlNCM1pYSmxJR2x1TGx4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjIxd2IyNWxiblJ6TG5CMWMyZ29JSFJvYVhNdWJtVjBkMjl5YTJWa1NYUmxiVU52YlhCdmJtVnVkQ3dnZEdocGN5NXRiM1psWVdKc1pVTnZiWEJ2Ym1WdWRDQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkRngwWld4elpWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjIxd2IyNWxiblJ6TG5CMWMyZ29JSFJvYVhNdWJXOTJaV0ZpYkdWRGIyMXdiMjVsYm5Rc0lIUm9hWE11Ym1WMGQyOXlhMlZrU1hSbGJVTnZiWEJ2Ym1WdWRDQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkRngwWlc1MGFYUjVWbTlzZFcxbElEMGdhVzVtYjFadmJIVnRaVHRjY2x4dVhIUmNkRngwWEhSOVhIUmNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNkRngwWEhKY2JseHlYRzVjZEZ4MGFXWW9JRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1YVhOU1pXMXZkR1VnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSa1pXSjFaMDVoYldVZ0t6MGdYQ0l2Y21WdGIzUmxYQ0k3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJR05vYVd4a2NtVnVJRDBnZEdocGN5NXdjbTl3Y3k1amFHbHNaSEpsYmp0Y2NseHVYSFJjZEdsbUtDQWhjMmh2ZDBOb2FXeGtjbVZ1SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGMzZHBkR05vS0NCMGFHbHpMbkJ5YjNCekxtaHBaR1JsYmtOb2FXeGtjbVZ1UW1Wb1lYWnBiM0lnUHo4Z1NHbGtaR1Z1UTJocGJHUnlaVzVDWldoaGRtbHZjaTVJYVdSa1pXNGdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFpHVm1ZWFZzZERwY2NseHVYSFJjZEZ4MFhIUmpZWE5sSUVocFpHUmxia05vYVd4a2NtVnVRbVZvWVhacGIzSXVTR2xrWkdWdU9seHlYRzVjZEZ4MFhIUmNkRngwWTJocGJHUnlaVzRnUFNBOFFYWlVjbUZ1YzJadmNtMGdkbWx6YVdKc1pUMTdJSE5vYjNkRGFHbHNaSEpsYmlCOVBuc2dkR2hwY3k1d2NtOXdjeTVqYUdsc1pISmxiaUI5UEM5QmRsUnlZVzV6Wm05eWJUNDdYSEpjYmx4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhISmNibHgwWEhSY2RGeDBZMkZ6WlNCSWFXUmtaVzVEYUdsc1pISmxia0psYUdGMmFXOXlMazl0YVhRNlhISmNibHgwWEhSY2RGeDBYSFJqYUdsc1pISmxiaUE5SUc1MWJHdzdYSEpjYmx4MFhIUmNkSDFjZEZ4MFhISmNibHgwWEhSOVhIUmNjbHh1WEhKY2JseDBYSFJqYjI1emRDQmhaSFpsY25ScGVtVkhZV1JuWlhSSmJtWnZJRDBnZEdocGN5NXdjbTl3Y3k1emRIbHNaU0E5UFNCSGNtRmlZbUZpYkdWVGRIbHNaUzVIWVdSblpYUTdYSEpjYmx4eVhHNWNkRngwYkdWMElHMWxiblU2SUVwVFdDNUZiR1Z0Wlc1MElEMGdiblZzYkR0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5OMFlYUmxMbWhwWjJoc2FXZG9kQ0E5UFNCSWFXZG9iR2xuYUhSVWVYQmxMazFsYm5VZ1hISmNibHgwWEhSY2RDWW1JQ2dnZEdocGN5NXphRzkzUkdWc1pYUmxJSHg4SUdGa2RtVnlkR2w2WlVkaFpHZGxkRWx1Wm04Z0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCbmNtRmlZbUZpYkdWR2NtOXRUV1Z1ZFNBOUlIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblF1YldWdWRWTmxiR1pHY205dFIzSmhZbUpsY2p0Y2NseHVYSFJjZEZ4MGJXVnVkU0E5SUR4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJadmNtMDlleUJuY21GaVltRmliR1ZHY205dFRXVnVkU0I5UGx4eVhHNWNkRngwWEhSY2REeEJka2hsWVdSR1lXTnBibWRVY21GdWMyWnZjbTArWEhKY2JseDBYSFJjZEZ4MGV5QmNjbHh1WEhSY2RGeDBYSFJjZEdGa2RtVnlkR2w2WlVkaFpHZGxkRWx1Wm04Z0ppWmNjbHh1WEhSY2RGeDBYSFJjZER4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJ4aGRHVllQWHN0TUM0d05TQjlJSFJ5WVc1emJHRjBaVm85ZXlBd0xqQXpJSDFjY2x4dVhIUmNkRngwWEhSY2RGeDBkVzVwWm05eWJWTmpZV3hsUFhzZ01TNDFJSDArWEhKY2JseDBYSFJjZEZ4MFhIUmNkRHhCZGsxbGJuVkpkR1Z0SUcxdlpHVnNWWEpwUFhzZ1oxOWlkV2xzZEdsdVRXOWtaV3hUZEdGeUlIMWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnZibE5sYkdWamREMTdJSFJvYVhNdWIyNUdZWFp2Y21sMFpWUm9hWE5IWVdSblpYUWdmUzgrWEhKY2JseDBYSFJjZEZ4MFhIUThMMEYyVkhKaGJuTm1iM0p0UGx4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1emFHOTNSR1ZzWlhSbElDWW1YSEpjYmx4MFhIUmNkRngwWEhROFFYWlVjbUZ1YzJadmNtMGdkSEpoYm5Oc1lYUmxXRDE3SURBdU1EVWdmU0FnZEhKaGJuTnNZWFJsV2oxN0lEQXVNRE1nZlZ4eVhHNWNkRngwWEhSY2RGeDBYSFJ5YjNSaGRHVllQWHNnTFRrd0lIMWNkSFZ1YVdadmNtMVRZMkZzWlQxN0lEQXVNaUI5UGx4eVhHNWNkRngwWEhSY2RGeDBYSFE4UVhaTlpXNTFTWFJsYlNCdGIyUmxiRlZ5YVQxN0lHZGZZblZwYkhScGJrMXZaR1ZzVkhKaGMyaGpZVzRnZlZ4eVhHNWNkRngwWEhSY2RGeDBYSFJjZEc5dVUyVnNaV04wUFhzZ2RHaHBjeTV2YmtSbGJHVjBaU0I5THo1Y2NseHVYSFJjZEZ4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZER3dlFYWklaV0ZrUm1GamFXNW5WSEpoYm5ObWIzSnRQbHh5WEc1Y2NseHVYSFJjZEZ4MFhIUThRWFpIWVdSblpYUk1hWE4wSUhKbFpqMTdJSFJvYVhNdVoyRmtaMlYwVEdsemRGSmxaaUI5SUM4K1hISmNibHgwWEhSY2REd3ZRWFpVY21GdWMyWnZjbTArTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RISmxkSFZ5YmlBOFFYWkRiMjF3YjNObFpFVnVkR2wwZVNCamIyMXdiMjVsYm5SelBYc2dZMjl0Y0c5dVpXNTBjeUI5SUhadmJIVnRaVDE3SUdWdWRHbDBlVlp2YkhWdFpTQjlJRnh5WEc1Y2RGeDBYSFJqYjI1emRISmhhVzUwUFhzZ1kyOXVjM1J5WVdsdWRDQjlJR1JsWW5WblRtRnRaVDE3SUdSbFluVm5UbUZ0WlNCOUlISmxaajE3SUhSb2FYTXVaM0poWW1KaFlteGxVbVZtSUgwK1hISmNibHgwWEhSY2RIc2diRzlqWVhSdmNrVnVkR2wwZVNCOVhISmNibHgwWEhSY2RIc2dZWEJ3WldGeVlXNWpaU0I5WEhKY2JseDBYSFJjZEhzZ1kyaHBiR1J5Wlc0Z2ZWeHlYRzVjZEZ4MFhIUjdJR0ZrZG1WeWRHbDZaVWRoWkdkbGRFbHVabThnSmlaY2NseHVYSFJjZEZ4MFhIUThRWFpIWVdSblpYUkpibVp2SUhadmJIVnRaVDE3SUdsdVptOVdiMngxYldVZ2ZTQXZQaUI5WEhKY2JseDBYSFJjZEhzZ2JXVnVkU0I5WEhKY2JseDBYSFE4TDBGMlEyOXRjRzl6WldSRmJuUnBkSGsrTzF4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dVhISmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX3N0YW5kYXJkX2dyYWJiYWJsZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZUcmFuc2Zvcm0gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2VHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdlRyYW5zZm9ybTsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQHRsYXVra2FuL3RzbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Jhc2Vfbm9kZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcbi8qKiBBcHBsaWVzIGEgc3RhdGljIHRyYW5zZm9ybSB0byBhbGwgY2hpbGRyZW4uICovXFxyXFxuY2xhc3MgQXZUcmFuc2Zvcm0gZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uVHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvcHMudHJhbnNmb3JtKSkge1xcclxcbiAgICAgICAgICAgIGxldCBzZWVkVHJhbnNmb3JtID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJub2RlVHJhbnNmb3JtRnJvbU1hdDRcXFwiXSkoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJtaW5pbWFsVG9NYXQ0VHJhbnNmb3JtXFxcIl0pKHRoaXMucHJvcHMudHJhbnNmb3JtKSk7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNmb3JtID0gT2JqZWN0LmFzc2lnbih7fSwgc2VlZFRyYW5zZm9ybSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3BzLnRyYW5zZm9ybSkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucHJvcHMudHJhbnNmb3JtKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybSA9IHt9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudW5pZm9ybVNjYWxlICE9IG51bGwpIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BUcmFuc2Zvcm0uc2NhbGUgPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLnByb3BzLnVuaWZvcm1TY2FsZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHk6IHRoaXMucHJvcHMudW5pZm9ybVNjYWxlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgejogdGhpcy5wcm9wcy51bmlmb3JtU2NhbGUsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3BzLnNjYWxlWCAhPSBudWxsIHx8IHRoaXMucHJvcHMuc2NhbGVZICE9IG51bGwgfHwgdGhpcy5wcm9wcy5zY2FsZVogIT0gbnVsbCkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybS5zY2FsZSA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHg6IHRoaXMucHJvcHMuc2NhbGVYICE9IG51bGwgPyB0aGlzLnByb3BzLnNjYWxlWCA6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICB5OiB0aGlzLnByb3BzLnNjYWxlWSAhPSBudWxsID8gdGhpcy5wcm9wcy5zY2FsZVkgOiAxLFxcclxcbiAgICAgICAgICAgICAgICAgICAgejogdGhpcy5wcm9wcy5zY2FsZVogIT0gbnVsbCA/IHRoaXMucHJvcHMuc2NhbGVaIDogMSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnRyYW5zbGF0ZVggIT0gbnVsbCB8fCB0aGlzLnByb3BzLnRyYW5zbGF0ZVkgIT0gbnVsbCB8fCB0aGlzLnByb3BzLnRyYW5zbGF0ZVogIT0gbnVsbCkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybS5wb3NpdGlvbiA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHg6IHRoaXMucHJvcHMudHJhbnNsYXRlWCAhPSBudWxsID8gdGhpcy5wcm9wcy50cmFuc2xhdGVYIDogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHk6IHRoaXMucHJvcHMudHJhbnNsYXRlWSAhPSBudWxsID8gdGhpcy5wcm9wcy50cmFuc2xhdGVZIDogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHo6IHRoaXMucHJvcHMudHJhbnNsYXRlWiAhPSBudWxsID8gdGhpcy5wcm9wcy50cmFuc2xhdGVaIDogMCxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJvdGF0aW9uKSB7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNmb3JtLnJvdGF0aW9uID0gdGhpcy5wcm9wcy5yb3RhdGlvbjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMucm90YXRlWCAhPSBudWxsIHx8IHRoaXMucHJvcHMucm90YXRlWSAhPSBudWxsIHx8IHRoaXMucHJvcHMucm90YXRlWiAhPSBudWxsKSB7XFxyXFxuICAgICAgICAgICAgbGV0IHF4ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXNcXFwiXSkoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJ2ZWMzXFxcIl0ucmlnaHQsIHRoaXMucHJvcHMucm90YXRlWCk7XFxyXFxuICAgICAgICAgICAgbGV0IHF5ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXNcXFwiXSkoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJ2ZWMzXFxcIl0udXAsIHRoaXMucHJvcHMucm90YXRlWSk7XFxyXFxuICAgICAgICAgICAgbGV0IHF6ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXNcXFwiXSkoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJ2ZWMzXFxcIl0uZm9yd2FyZCwgdGhpcy5wcm9wcy5yb3RhdGVaKTtcXHJcXG4gICAgICAgICAgICBsZXQgcSA9IHF4Lm11bHRpcGx5KHF5KS5tdWx0aXBseShxeik7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNmb3JtLnJvdGF0aW9uID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdzogcS53LFxcclxcbiAgICAgICAgICAgICAgICAgICAgeDogcS54LFxcclxcbiAgICAgICAgICAgICAgICAgICAgeTogcS55LFxcclxcbiAgICAgICAgICAgICAgICAgICAgejogcS56LFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wUGFyZW50QWRkciA9IHRoaXMucHJvcHMucGFyZW50O1xcclxcbiAgICAgICAgbm9kZS5wcm9wQ29uc3RyYWludCA9IHRoaXMucHJvcHMuY29uc3RyYWludDtcXHJcXG4gICAgICAgIHJldHVybiBub2RlO1xcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5MGNtRnVjMlp2Y20wdWRITjRQMlptWWpnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQk1FMDdRVUZEY2tzN1FVRkRPRUk3UVVFd1IyNUZMR3RFUVVGclJEdEJRVU16UXl4TlFVRk5MRmRCUVZrc1UwRkJVU3c0UkVGQmEwTTdTVUZGTTBRc1UwRkJVenRSUVVWbUxFbEJRVWtzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeHpSVUZCVlN4RFFVRkRMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdVVUZGZUVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRkxFVkJRM3BETzFsQlEwTXNTVUZCU1N4aFFVRmhMRWRCUVVjc2VVWkJRWEZDTEVOQlEzaERMREJHUVVGelFpeERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJkMElzUTBGQlJTeERRVUZGTEVOQlFVTTdXVUZEYWtVc1NVRkJTU3hEUVVGRExHRkJRV0VzY1VKQlFWRXNZVUZCWVN4RFFVRkZMRU5CUVVNN1UwRkRNVU03WVVGRFNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhGUVVNM1FqdFpRVU5ETEVsQlFVa3NRMEZCUXl4aFFVRmhMSEZDUVVGUkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkZMRU5CUVVNN1UwRkRha1E3WVVGRlJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1JVRkJSU3hEUVVGRE8xTkJRM2hDTzFGQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzU1VGQlNTeEpRVUZKTEVWQlEyNURPMWxCUTBNc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eExRVUZMTzJkQ1FVTjRRanR2UWtGRFF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhaUVVGWk8yOUNRVU14UWl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTzI5Q1FVTXhRaXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpPMmxDUVVNeFFpeERRVUZETzFOQlEwWTdZVUZEU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEpRVUZKTEVsQlFVa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFbEJRVWtzU1VGQlNTeEZRVU0xUmp0WlFVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUzBGQlN6dG5Ra0ZEZUVJN2IwSkJRME1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUTNCRUxFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTndSQ3hEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZEY0VRc1EwRkJRenRUUVVOR08xRkJSVVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4SlFVRkpMRWxCUVVrc1JVRkRia2M3V1VGRFF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRkZCUVZFN1owSkJRek5DTzI5Q1FVTkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU0xUkN4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRE5VUXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2FVSkJRelZFTzFOQlEwUTdVVUZEUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU4yUWp0WlFVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRE8xTkJRMnhFTzJGQlEwa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFbEJRVWtzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhKUVVGSkxFbEJRVWtzUlVGREwwWTdXVUZEUXl4SlFVRkpMRVZCUVVVc1IwRkJSeXcwUmtGQmQwSXNRMEZCUlN4clJFRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8xbEJRM0JGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRFJHUVVGM1FpeERRVUZGTEd0RVFVRkpMRU5CUVVNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkZMRU5CUVVNN1dVRkRha1VzU1VGQlNTeEZRVUZGTEVkQlFVY3NORVpCUVhkQ0xFTkJRVVVzYTBSQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUXp0WlFVVjBSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkZMRVZCUVVVc1EwRkJSU3hEUVVGRExGRkJRVkVzUTBGQlJTeEZRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTjZReXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZGQlFWRTdaMEpCUXpOQ08yOUNRVU5ETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRFRpeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRMDRzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVOT0xFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0cFFrRkRUanRUUVVORU8xRkJSVVFzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU40UXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRPMUZCUlRWRExFOUJRVThzU1VGQlNTeERRVUZETzBsQlEySXNRMEZCUXp0RFFVTkVJaXdpWm1sc1pTSTZJaTR2YzNKakwyRmhjbVIyWVhKclgzUnlZVzV6Wm05eWJTNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJkazV2WkdWVWNtRnVjMlp2Y20wc0lFRjJUbTlrWlZSNWNHVXNJRUYyVVhWaGRHVnlibWx2Yml3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JOYVc1cGJXRnNVRzl6WlN3Z2JXbHVhVzFoYkZSdlRXRjBORlJ5WVc1elptOXliU3dnYm05a1pWUnlZVzV6Wm05eWJVWnliMjFOWVhRMExDQnhkV0YwUm5KdmJVRjRhWE5CYm1kc1pVUmxaM0psWlhNc0lFRjJRMjl1YzNSeVlXbHVkQ0I5SUdaeWIyMGdKMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQ2M3WEhKY2JtbHRjRzl5ZENCN0lIWmxZek1nZlNCbWNtOXRJQ2RBZEd4aGRXdHJZVzR2ZEhOdEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaQ1lYTmxUbTlrWlN3Z1FYWkNZWE5sVG05a1pWQnliM0J6SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5aVlYTmxYMjV2WkdVbk8xeHlYRzVjY2x4dVhISmNiaThxS2lCUWNtOXdjeUJtYjNJZ2UwQnNhVzVySUVGMlZISmhibk5tYjNKdGZTQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGMlZISmhibk5tYjNKdFVISnZjSE1nWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVWFHVWdkVzVwWm05eWJTQnpZMkZzWlNCMGJ5QmhjSEJzZVNCMGJ5QmhiR3dnWTJocGJHUnlaVzR1SUVsbUlIVnVhV1p2Y20xVFkyRnNaU0JwY3lCemNHVmphV1pwWldRc0lGeHlYRzVjZENBcUlITmpZV3hsV0N3Z2MyTmhiR1ZaTENCaGJtUWdjMk5oYkdWYUlHMTFjM1FnWW1VZ2RXNWtaV1pwYm1Wa0xseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElERXVNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RIVnVhV1p2Y20xVFkyRnNaVDg2Ym5WdFltVnlPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJSE5qWVd4bElHOXVJSFJvWlNCWUlHRjRhWE1nZEc4Z1lYQndiSGtnZEc4Z1lXeHNJR05vYVd4a2NtVnVMaUJOZFhOMElHSmxJR3hsWm5RZ2RXNWtaV1pwYm1Wa1hISmNibHgwSUNvZ2FXWWdkVzVwWm05eWJWTmpZV3hsSUdseklITndaV05wWm1sbFpDNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQXhMakJjY2x4dVhIUWdLaTljY2x4dVhIUnpZMkZzWlZnL09tNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCelkyRnNaU0J2YmlCMGFHVWdXU0JoZUdseklIUnZJR0Z3Y0d4NUlIUnZJR0ZzYkNCamFHbHNaSEpsYmk0Z1RYVnpkQ0JpWlNCc1pXWjBJSFZ1WkdWbWFXNWxaRnh5WEc1Y2RDQXFJR2xtSUhWdWFXWnZjbTFUWTJGc1pTQnBjeUJ6Y0dWamFXWnBaV1F1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnTVM0d1hISmNibHgwSUNvdlhISmNibHgwYzJOaGJHVlpQenB1ZFcxaVpYSTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdjMk5oYkdVZ2IyNGdkR2hsSUZvZ1lYaHBjeUIwYnlCaGNIQnNlU0IwYnlCaGJHd2dZMmhwYkdSeVpXNHVJRTExYzNRZ1ltVWdiR1ZtZENCMWJtUmxabWx1WldSY2NseHVYSFFnS2lCcFppQjFibWxtYjNKdFUyTmhiR1VnYVhNZ2MzQmxZMmxtYVdWa0xseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElERXVNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RITmpZV3hsV2o4NmJuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhSeVlXNXpiR0YwYVc5dUlHOXVJSFJvWlNCWUlHRjRhWE1nZEc4Z1lYQndiSGtnZEc4Z1lXeHNJR05vYVd4a2NtVnVMbHh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJREJjY2x4dVhIUWdLaTljY2x4dVhIUjBjbUZ1YzJ4aGRHVllQenB1ZFcxaVpYSTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkSEpoYm5Oc1lYUnBiMjRnYjI0Z2RHaGxJRmtnWVhocGN5QjBieUJoY0hCc2VTQjBieUJoYkd3Z1kyaHBiR1J5Wlc0dVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ01GeHlYRzVjZENBcUwxeHlYRzVjZEhSeVlXNXpiR0YwWlZrL09tNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCMGNtRnVjMnhoZEdsdmJpQnZiaUIwYUdVZ1dpQmhlR2x6SUhSdklHRndjR3g1SUhSdklHRnNiQ0JqYUdsc1pISmxiaTVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0F3WEhKY2JseDBJQ292WEhKY2JseDBkSEpoYm5Oc1lYUmxXajg2Ym5WdFltVnlPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJSEp2ZEdGMGFXOXVJR0Z5YjNWdVpDQjBhR1VnV0NCaGVHbHpJQ2h3YVhSamFDa2dkRzhnWVhCd2JIa2dkRzhnWVd4c0lHTm9hV3hrY21WdUxseHlYRzVjZENBcUlFbG1JSEp2ZEdGMGFXOXVJR2x6SUhOd1pXTnBabWxsWkNCaGN5QmhJSEYxWVhSbGNtNXBieXdnZEdocGN5QnRkWE4wSUdKbElIVnVaR1ZtYVc1bFpDNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQXdYSEpjYmx4MElDb3ZYSEpjYmx4MGNtOTBZWFJsV0Q4NmJuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhKdmRHRjBhVzl1SUdGeWIzVnVaQ0IwYUdVZ1dTQmhlR2x6SUNoNVlYY3BJSFJ2SUdGd2NHeDVJSFJ2SUdGc2JDQmphR2xzWkhKbGJpNWNjbHh1WEhRZ0tpQkpaaUJ5YjNSaGRHbHZiaUJwY3lCemNHVmphV1pwWldRZ1lYTWdZU0J4ZFdGMFpYSnVhVzhzSUhSb2FYTWdiWFZ6ZENCaVpTQjFibVJsWm1sdVpXUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RISnZkR0YwWlZrL09tNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCeWIzUmhkR2x2YmlCaGNtOTFibVFnZEdobElGb2dZWGhwY3lBb2NtOXNiQ2tnZEc4Z1lYQndiSGtnZEc4Z1lXeHNJR05vYVd4a2NtVnVMbHh5WEc1Y2RDQXFJRWxtSUhKdmRHRjBhVzl1SUdseklITndaV05wWm1sbFpDQmhjeUJoSUhGMVlYUmxjbTVwYnl3Z2RHaHBjeUJ0ZFhOMElHSmxJSFZ1WkdWbWFXNWxaQzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0F3WEhKY2JseDBJQ292WEhKY2JseDBjbTkwWVhSbFdqODZiblZ0WW1WeU8xeHlYRzVjY2x4dVhIUXZLaW9nVkdobElISnZkR0YwYVc5dUlIUnZJR0Z3Y0d4NUlIUnZJR0ZzYkNCamFHbHNaSEpsYml3Z2MzQmxZMmxtYVdWa0lHRnpJR0VnWEhKY2JseDBJQ29nY1hWaGRHVnlibWx2Ymk1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCdWIyNWxYSEpjYmx4MElDb3ZYSEpjYmx4MGNtOTBZWFJwYjI0L09pQkJkbEYxWVhSbGNtNXBiMjQ3WEhKY2JseHlYRzVjZEM4cUtpQkJjSEJzYVdWeklHRnVJR0ZzY21WaFpIa3RZMjl1YzNSeWRXTjBaV1FnUVhaT2IyUmxWSEpoYm5ObWIzSnRJSFJ2SUhSb1pTQjBjbUZ1YzJadmNtMHVYSEpjYmx4MElDb2dTV1lnZEdocGN5QndjbTl3SUdseklITmxkQ3dnWVd4c0lHOTBhR1Z5SUhCeWIzQmxjblJwWlhNZ2QybHNiQ0J5WlhCc1lXTmxJSFJvWlNCdFlYUmphR2x1WjF4eVhHNWNkQ0FxSUdOdmJYQnZibVZ1ZEhNZ2IyWWdkR2hwY3lCMGNtRnVjMlp2Y20wdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2JtOXVaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RIUnlZVzV6Wm05eWJUODZJRUYyVG05a1pWUnlZVzV6Wm05eWJTQjhJRTFwYm1sdFlXeFFiM05sTzF4eVhHNWNjbHh1WEhRdktpb2dVMlYwY3lCMGFHVWdjM0JsWTJsbWFXVmtJRzV2WkdVZ1lYTWdkR2hsSUhCaGNtVnVkQ0J2WmlCMGFHbHpJSFJ5WVc1elptOXliUzRnVkdobElHVnVaSEJ2YVc1MFhISmNibHgwSUNvZ1lXUmtjbVZ6Y3lCbWIzSWdkR2hsSUhCaGNtVnVkQ0J1YjJSbElHTmhiaUJpWlNCcGJpQmhibmtnWjJGa1oyVjBMbHh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRWxtSUhSb1pTQndZWEpsYm5RZ2JtOWtaU0JwY3lCdWIzUWdkbUZzYVdRc0lIUm9hWE1nYm05a1pTQmhibVFnYVhSeklHTm9hV3hrY21WdUlIZHBiR3dnYm05MElGeHlYRzVjZENBcUlHSmxJSFJ5WVhabGNuTmxaQzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0J1YjI1bFhISmNibHgwSUNvdlhISmNibHgwY0dGeVpXNTBQem9nUlc1a2NHOXBiblJCWkdSeU8xeHlYRzVjY2x4dVhIUXZLaW9nVTJWMGN5QjBhR1VnWTI5dWMzUnlZV2x1ZENCMGJ5QmhjSEJzZVNCMGJ5QjBhR2x6SUc1dlpHVW5jeUIwY21GdWMyWnZjbTBnWW1WbWIzSmxJR0Z3Y0d4NWFXNW5JSFJvWlZ4eVhHNWNkQ0FxSUhCaGNtVnVkQ0IwY21GdWMyWnZjbTB1SUZWemFXNW5JR052Ym5OMGNtRnBiblJ6SUhkcGRHaHZkWFFnWVNCd1lYSmxiblFnYldGNUlHaGhkbVVnZFc1bGVIQmxZM1JsWkNCeVpYTjFiSFJ6TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUc1dmJtVmNjbHh1WEhRZ0tpOWNjbHh1WEhSamIyNXpkSEpoYVc1MFB6b2dRWFpEYjI1emRISmhhVzUwTzF4eVhHNTlYSEpjYmx4eVhHNHZLaW9nUVhCd2JHbGxjeUJoSUhOMFlYUnBZeUIwY21GdWMyWnZjbTBnZEc4Z1lXeHNJR05vYVd4a2NtVnVMaUFxTDF4eVhHNWxlSEJ2Y25RZ1kyeGhjM01nUVhaVWNtRnVjMlp2Y20wZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFBDQkJkbFJ5WVc1elptOXliVkJ5YjNCekxDQjdmU0ErSUZ4eVhHNTdYSEpjYmx4MGNIVmliR2xqSUdKMWFXeGtUbTlrWlNncFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHNXZaR1VnUFNCMGFHbHpMbU55WldGMFpVNXZaR1ZQWW1wbFkzUW9JRUYyVG05a1pWUjVjR1V1VkhKaGJuTm1iM0p0TENCMGFHbHpMbTFmYm05a1pVbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGFXWW9JRUZ5Y21GNUxtbHpRWEp5WVhrb0lIUm9hWE11Y0hKdmNITXVkSEpoYm5ObWIzSnRJQ2tnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc1pYUWdjMlZsWkZSeVlXNXpabTl5YlNBOUlHNXZaR1ZVY21GdWMyWnZjbTFHY205dFRXRjBOQ2dnWEhKY2JseDBYSFJjZEZ4MGJXbHVhVzFoYkZSdlRXRjBORlJ5WVc1elptOXliU2dnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMlp2Y20wZ1lYTWdUV2x1YVcxaGJGQnZjMlVnS1NBcE8xeHlYRzVjZEZ4MFhIUnViMlJsTG5CeWIzQlVjbUZ1YzJadmNtMGdQU0I3SUM0dUxuTmxaV1JVY21GdWMyWnZjbTBnZlR0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdWc2MyVWdhV1lvSUhSb2FYTXVjSEp2Y0hNdWRISmhibk5tYjNKdElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBibTlrWlM1d2NtOXdWSEpoYm5ObWIzSnRJRDBnZXlBdUxpNTBhR2x6TG5CeWIzQnpMblJ5WVc1elptOXliU0I5TzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnViMlJsTG5CeWIzQlVjbUZ1YzJadmNtMGdQU0I3ZlR0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXdjbTl3Y3k1MWJtbG1iM0p0VTJOaGJHVWdJVDBnYm5Wc2JDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRzV2WkdVdWNISnZjRlJ5WVc1elptOXliUzV6WTJGc1pTQTlJRnh5WEc1Y2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RIZzZJSFJvYVhNdWNISnZjSE11ZFc1cFptOXliVk5qWVd4bExDQmNjbHh1WEhSY2RGeDBYSFI1T2lCMGFHbHpMbkJ5YjNCekxuVnVhV1p2Y20xVFkyRnNaU3dnWEhKY2JseDBYSFJjZEZ4MGVqb2dkR2hwY3k1d2NtOXdjeTUxYm1sbWIzSnRVMk5oYkdVc0lGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlNCcFppZ2dkR2hwY3k1d2NtOXdjeTV6WTJGc1pWZ2dJVDBnYm5Wc2JDQjhmQ0IwYUdsekxuQnliM0J6TG5OallXeGxXU0FoUFNCdWRXeHNJSHg4SUhSb2FYTXVjSEp2Y0hNdWMyTmhiR1ZhSUNFOUlHNTFiR3dnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCVWNtRnVjMlp2Y20wdWMyTmhiR1VnUFNCY2NseHVYSFJjZEZ4MGV5QmNjbHh1WEhSY2RGeDBYSFI0T2lCMGFHbHpMbkJ5YjNCekxuTmpZV3hsV0NBaFBTQnVkV3hzSUQ4Z2RHaHBjeTV3Y205d2N5NXpZMkZzWlZnZ09pQXhMRnh5WEc1Y2RGeDBYSFJjZEhrNklIUm9hWE11Y0hKdmNITXVjMk5oYkdWWklDRTlJRzUxYkd3Z1B5QjBhR2x6TG5CeWIzQnpMbk5qWVd4bFdTQTZJREVzWEhKY2JseDBYSFJjZEZ4MGVqb2dkR2hwY3k1d2NtOXdjeTV6WTJGc1pWb2dJVDBnYm5Wc2JDQS9JSFJvYVhNdWNISnZjSE11YzJOaGJHVmFJRG9nTVN4Y2NseHVYSFJjZEZ4MGZUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV3Y205d2N5NTBjbUZ1YzJ4aGRHVllJQ0U5SUc1MWJHd2dmSHdnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMnhoZEdWWklDRTlJRzUxYkd3Z2ZId2dkR2hwY3k1d2NtOXdjeTUwY21GdWMyeGhkR1ZhSUNFOUlHNTFiR3dnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCVWNtRnVjMlp2Y20wdWNHOXphWFJwYjI0Z1BWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZURvZ2RHaHBjeTV3Y205d2N5NTBjbUZ1YzJ4aGRHVllJQ0U5SUc1MWJHd2dQeUIwYUdsekxuQnliM0J6TG5SeVlXNXpiR0YwWlZnZ09pQXdMRnh5WEc1Y2RGeDBYSFJjZEhrNklIUm9hWE11Y0hKdmNITXVkSEpoYm5Oc1lYUmxXU0FoUFNCdWRXeHNJRDhnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMnhoZEdWWklEb2dNQ3hjY2x4dVhIUmNkRngwWEhSNk9pQjBhR2x6TG5CeWIzQnpMblJ5WVc1emJHRjBaVm9nSVQwZ2JuVnNiQ0EvSUhSb2FYTXVjSEp2Y0hNdWRISmhibk5zWVhSbFdpQTZJREFzWEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSFJjZEdsbUtDQjBhR2x6TG5CeWIzQnpMbkp2ZEdGMGFXOXVJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYm05a1pTNXdjbTl3VkhKaGJuTm1iM0p0TG5KdmRHRjBhVzl1SUQwZ2RHaHBjeTV3Y205d2N5NXliM1JoZEdsdmJqdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlVnYVdZb0lIUm9hWE11Y0hKdmNITXVjbTkwWVhSbFdDQWhQU0J1ZFd4c0lIeDhJSFJvYVhNdWNISnZjSE11Y205MFlYUmxXU0FoUFNCdWRXeHNJSHg4SUhSb2FYTXVjSEp2Y0hNdWNtOTBZWFJsV2lBaFBTQnVkV3hzSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSEY0SUQwZ2NYVmhkRVp5YjIxQmVHbHpRVzVuYkdWRVpXZHlaV1Z6S0NCMlpXTXpMbkpwWjJoMExDQjBhR2x6TG5CeWIzQnpMbkp2ZEdGMFpWZ2dLVHRjY2x4dVhIUmNkRngwYkdWMElIRjVJRDBnY1hWaGRFWnliMjFCZUdselFXNW5iR1ZFWldkeVpXVnpLQ0IyWldNekxuVndMQ0IwYUdsekxuQnliM0J6TG5KdmRHRjBaVmtnS1R0Y2NseHVYSFJjZEZ4MGJHVjBJSEY2SUQwZ2NYVmhkRVp5YjIxQmVHbHpRVzVuYkdWRVpXZHlaV1Z6S0NCMlpXTXpMbVp2Y25kaGNtUXNJSFJvYVhNdWNISnZjSE11Y205MFlYUmxXaUFwTzF4eVhHNWNjbHh1WEhSY2RGeDBiR1YwSUhFZ1BTQnhlQzV0ZFd4MGFYQnNlU2dnY1hrZ0tTNXRkV3gwYVhCc2VTZ2djWG9nS1R0Y2NseHVYSFJjZEZ4MGJtOWtaUzV3Y205d1ZISmhibk5tYjNKdExuSnZkR0YwYVc5dUlEMWNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhjNklIRXVkeXhjY2x4dVhIUmNkRngwWEhSNE9pQnhMbmdzWEhKY2JseDBYSFJjZEZ4MGVUb2djUzU1TEZ4eVhHNWNkRngwWEhSY2RIbzZJSEV1ZWl4Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRzV2WkdVdWNISnZjRkJoY21WdWRFRmtaSElnUFNCMGFHbHpMbkJ5YjNCekxuQmhjbVZ1ZER0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VOdmJuTjBjbUZwYm5RZ1BTQjBhR2x6TG5CeWIzQnpMbU52Ym5OMGNtRnBiblE3WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUc1dlpHVTdYSEpjYmx4MGZWeHlYRzU5SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya191dGlscy50c1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya191dGlscy50cyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBhc3NlcnQsIFF1YXRlcm5pb25Ub0V1bGVyQW5nbGVzLCBxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnMsIEV1bGVyQW5nbGVzVG9RdWF0ZXJuaW9uLCBSYWRpYW5zVG9EZWdyZWVzLCBEZWdyZWVzVG9SYWRpYW5zICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJhc3NlcnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIGFzc2VydDsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUXVhdGVybmlvblRvRXVsZXJBbmdsZXNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFF1YXRlcm5pb25Ub0V1bGVyQW5nbGVzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIHF1YXRGcm9tQXhpc0FuZ2xlUmFkaWFuczsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiRXVsZXJBbmdsZXNUb1F1YXRlcm5pb25cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEV1bGVyQW5nbGVzVG9RdWF0ZXJuaW9uOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJSYWRpYW5zVG9EZWdyZWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSYWRpYW5zVG9EZWdyZWVzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWdyZWVzVG9SYWRpYW5zXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBEZWdyZWVzVG9SYWRpYW5zOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQHRsYXVra2FuL3RzbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xcblxcclxcbmZ1bmN0aW9uIGFzc2VydChleHByLCBtc2cpIHtcXHJcXG4gICAgaWYgKCFleHByKSB7XFxyXFxuICAgICAgICBpZiAobXNnKSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgbXNnO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgXFxcImFzc2VydGlvbiBmYWlsZWRcXFwiO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIFRoaXMgY29kZSBjYW1lIGZyb206IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbnZlcnNpb25fYmV0d2Vlbl9xdWF0ZXJuaW9uc19hbmRfRXVsZXJfYW5nbGVzI1F1YXRlcm5pb25fdG9fRXVsZXJfQW5nbGVzX0NvbnZlcnNpb25cXHJcXG5mdW5jdGlvbiBRdWF0ZXJuaW9uVG9FdWxlckFuZ2xlcyhxKSB7XFxyXFxuICAgIGlmICghcSkge1xcclxcbiAgICAgICAgcmV0dXJuICh7IHlhdzogMCwgcGl0Y2g6IDAsIHJvbGw6IDAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgbGV0IHIgPSB7IHlhdzogMCwgcGl0Y2g6IDAsIHJvbGw6IDAgfTtcXHJcXG4gICAgLy8gcGl0Y2ggKHgtYXhpcyByb3RhdGlvbilcXHJcXG4gICAgbGV0IHNpbnJfY29zcCA9ICsyLjAgKiAocS53ICogcS54ICsgcS55ICogcS56KTtcXHJcXG4gICAgbGV0IGNvc3JfY29zcCA9ICsxLjAgLSAyLjAgKiAocS54ICogcS54ICsgcS55ICogcS55KTtcXHJcXG4gICAgci5waXRjaCA9IE1hdGguYXRhbjIoc2lucl9jb3NwLCBjb3NyX2Nvc3ApO1xcclxcbiAgICAvLyB5YXcgKHktYXhpcyByb3RhdGlvbilcXHJcXG4gICAgbGV0IHNpbnAgPSArMi4wICogKHEudyAqIHEueSAtIHEueiAqIHEueCk7XFxyXFxuICAgIGlmIChNYXRoLmFicyhzaW5wKSA+PSAxKVxcclxcbiAgICAgICAgci55YXcgPSBNYXRoLnNpZ24oc2lucCkgKiBNYXRoLlBJIC8gMjsgLy8gdXNlIDkwIGRlZ3JlZXMgaWYgb3V0IG9mIHJhbmdlXFxyXFxuICAgIGVsc2VcXHJcXG4gICAgICAgIHIueWF3ID0gTWF0aC5hc2luKHNpbnApO1xcclxcbiAgICAvLyByb2xsICh6LWF4aXMgcm90YXRpb24pXFxyXFxuICAgIGxldCBzaW55X2Nvc3AgPSArMi4wICogKHEudyAqIHEueiArIHEueCAqIHEueSk7XFxyXFxuICAgIGxldCBjb3N5X2Nvc3AgPSArMS4wIC0gMi4wICogKHEueSAqIHEueSArIHEueiAqIHEueik7XFxyXFxuICAgIHIucm9sbCA9IE1hdGguYXRhbjIoc2lueV9jb3NwLCBjb3N5X2Nvc3ApO1xcclxcbiAgICByZXR1cm4gcjtcXHJcXG59XFxyXFxuZnVuY3Rpb24gcXVhdEZyb21BeGlzQW5nbGVSYWRpYW5zKGF4aXMsIHJhZCkge1xcclxcbiAgICBpZiAoIXJhZClcXHJcXG4gICAgICAgIHJldHVybiBuZXcgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0XFxcIl0oX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0XFxcIl0uaWRlbnRpdHkueHl6dyk7XFxyXFxuICAgIHJldHVybiBfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInF1YXRcXFwiXS5mcm9tQXhpc0FuZ2xlKGF4aXMsIHJhZCk7XFxyXFxufVxcclxcbmZ1bmN0aW9uIEV1bGVyQW5nbGVzVG9RdWF0ZXJuaW9uKGFuZ2xlcykge1xcclxcbiAgICBsZXQgcXggPSBxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnMoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJ2ZWMzXFxcIl0ucmlnaHQsIGFuZ2xlcy5waXRjaCk7XFxyXFxuICAgIGxldCBxeSA9IHF1YXRGcm9tQXhpc0FuZ2xlUmFkaWFucyhfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInZlYzNcXFwiXS51cCwgYW5nbGVzLnlhdyk7XFxyXFxuICAgIGxldCBxeiA9IHF1YXRGcm9tQXhpc0FuZ2xlUmFkaWFucyhfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInZlYzNcXFwiXS5mb3J3YXJkLCBhbmdsZXMucm9sbCk7XFxyXFxuICAgIGxldCBxID0gX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0XFxcIl0ucHJvZHVjdChfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInF1YXRcXFwiXS5wcm9kdWN0KHF4LCBxeSksIHF6KTtcXHJcXG4gICAgcmV0dXJuICh7XFxyXFxuICAgICAgICB3OiBxLncsXFxyXFxuICAgICAgICB4OiBxLngsXFxyXFxuICAgICAgICB5OiBxLnksXFxyXFxuICAgICAgICB6OiBxLnosXFxyXFxuICAgIH0pO1xcclxcbn1cXHJcXG5mdW5jdGlvbiBSYWRpYW5zVG9EZWdyZWVzKHJhZCkge1xcclxcbiAgICByZXR1cm4gcmFkICogMTgwIC8gTWF0aC5QSTtcXHJcXG59XFxyXFxuZnVuY3Rpb24gRGVncmVlc1RvUmFkaWFucyhkZWcpIHtcXHJcXG4gICAgcmV0dXJuIGRlZyAqIE1hdGguUEkgLyAxODA7XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5MWRHbHNjeTUwY3o5ak1XWTVJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVU5CTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUV5UXp0QlFVVndReXhUUVVGVExFMUJRVTBzUTBGQlJTeEpRVUZoTEVWQlFVVXNSMEZCV1R0SlFVVnNSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVU5VTzFGQlEwTXNTVUZCU1N4SFFVRkhMRVZCUTFBN1dVRkRReXhOUVVGTkxFZEJRVWNzUTBGQlF6dFRRVU5XTzJGQlJVUTdXVUZEUXl4TlFVRk5MR3RDUVVGclFpeERRVUZETzFOQlEzcENPMHRCUTBRN1FVRkRSaXhEUVVGRE8wRkJVMFFzTWtsQlFUSkpPMEZCUTNCSkxGTkJRVk1zZFVKQlFYVkNMRU5CUVVVc1EwRkJaVHRKUVVWMlJDeEpRVUZKTEVOQlFVTXNRMEZCUXl4RlFVTk9PMUZCUTBNc1QwRkJUeXhEUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUlN4RFFVRkRPMHRCUTNwRE8wbEJSVVFzU1VGQlNTeERRVUZETEVkQlFXZENMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVVZvUkN3d1FrRkJNRUk3U1VGRE1VSXNTVUZCU1N4VFFVRlRMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGREwwTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzSkVMRU5CUVVNc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRk0wTXNkMEpCUVhkQ08wbEJRM2hDTEVsQlFVa3NTVUZCU1N4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRekZETEVsQlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJSU3hKUVVGSkxFTkJRVVVzU1VGQlNTeERRVUZETzFGQlEzUkNMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMR2xEUVVGcFF6czdVVUZGZWtVc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJSVFZDTEhsQ1FVRjVRanRKUVVONlFpeEpRVUZKTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNdlF5eEpRVUZKTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNrUXNRMEZCUXl4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJRenRKUVVVM1F5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVTldMRU5CUVVNN1FVRkZUU3hUUVVGVExIZENRVUYzUWl4RFFVRkZMRWxCUVZVc1JVRkJSU3hIUVVGWk8wbEJSV3BGTEVsQlFVa3NRMEZCUXl4SFFVRkhPMUZCUTFBc1QwRkJUeXhKUVVGSkxHdEVRVUZKTEVOQlFVVXNhMFJCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVTTdTVUZGZGtNc1QwRkJUeXhyUkVGQlNTeERRVUZETEdGQlFXRXNRMEZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhEUVVGRkxFTkJRVU03UVVGRGVFTXNRMEZCUXp0QlFVZE5MRk5CUVZNc2RVSkJRWFZDTEVOQlFVVXNUVUZCYlVJN1NVRkZNMFFzU1VGQlNTeEZRVUZGTEVkQlFVY3NkMEpCUVhkQ0xFTkJRVVVzYTBSQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlJTeERRVUZETzBsQlF6bEVMRWxCUVVrc1JVRkJSU3hIUVVGSExIZENRVUYzUWl4RFFVRkZMR3RFUVVGSkxFTkJRVU1zUlVGQlJTeEZRVUZGTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVVc1EwRkJRenRKUVVONlJDeEpRVUZKTEVWQlFVVXNSMEZCUnl4M1FrRkJkMElzUTBGQlJTeHJSRUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVTTdTVUZGTDBRc1NVRkJTU3hEUVVGRExFZEJRVWNzYTBSQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVVc2EwUkJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1EwRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlJTeERRVUZETzBsQlEyNUVMRTlCUVU4c1EwRkRVRHRSUVVORExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTk9MRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5PTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOT0xFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0TFFVTk9MRU5CUVVVc1EwRkJRenRCUVVOTUxFTkJRVU03UVVGRlRTeFRRVUZUTEdkQ1FVRm5RaXhEUVVGRkxFZEJRVmM3U1VGRk5VTXNUMEZCVHl4SFFVRkhMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTTdRVUZETlVJc1EwRkJRenRCUVVWTkxGTkJRVk1zWjBKQlFXZENMRU5CUVVVc1IwRkJWenRKUVVVMVF5eFBRVUZQTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1JVRkJSU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU0xUWl4RFFVRkRJaXdpWm1sc1pTSTZJaTR2YzNKakwyRmhjbVIyWVhKclgzVjBhV3h6TG5SekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUVhaUmRXRjBaWEp1YVc5dUlIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1YVcxd2IzSjBJSHNnY1hWaGRDd2dkbVZqTXlCOUlHWnliMjBnSjBCMGJHRjFhMnRoYmk5MGMyMG5PMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRnpjMlZ5ZENnZ1pYaHdjam9nWW05dmJHVmhiaXdnYlhOblB6b2djM1J5YVc1bklDbGNjbHh1ZTF4eVhHNWNkR2xtS0NBaFpYaHdjaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUcxelp5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvY205M0lHMXpaenRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHliM2NnWENKaGMzTmxjblJwYjI0Z1ptRnBiR1ZrWENJN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFVjFiR1Z5UVc1bmJHVnpYSEpjYm50Y2NseHVYSFI1WVhjNklHNTFiV0psY2p0Y2NseHVYSFJ3YVhSamFEb2diblZ0WW1WeU8xeHlYRzVjZEhKdmJHdzZJRzUxYldKbGNqdGNjbHh1ZlZ4eVhHNWNjbHh1THk4Z1ZHaHBjeUJqYjJSbElHTmhiV1VnWm5KdmJUb2dhSFIwY0hNNkx5OWxiaTUzYVd0cGNHVmthV0V1YjNKbkwzZHBhMmt2UTI5dWRtVnljMmx2Ymw5aVpYUjNaV1Z1WDNGMVlYUmxjbTVwYjI1elgyRnVaRjlGZFd4bGNsOWhibWRzWlhNalVYVmhkR1Z5Ym1sdmJsOTBiMTlGZFd4bGNsOUJibWRzWlhOZlEyOXVkbVZ5YzJsdmJseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdVWFZoZEdWeWJtbHZibFJ2UlhWc1pYSkJibWRzWlhNb0lIRTZJRUYyVVhWaGRHVnlibWx2YmlrNklFVjFiR1Z5UVc1bmJHVnpYSEpjYm50Y2NseHVYSFJwWmlnZ0lYRWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlBb0lIc2dlV0YzT2lBd0xDQndhWFJqYURvZ01Dd2djbTlzYkRvZ01DQjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEd4bGRDQnlPaUJGZFd4bGNrRnVaMnhsY3lBOUlIc2dlV0YzT2lBd0xDQndhWFJqYURvZ01Dd2djbTlzYkRvZ01DQjlPMXh5WEc1Y2NseHVJQ0FnSUM4dklIQnBkR05vSUNoNExXRjRhWE1nY205MFlYUnBiMjRwWEhKY2JpQWdJQ0JzWlhRZ2MybHVjbDlqYjNOd0lEMGdLekl1TUNBcUlDaHhMbmNnS2lCeExuZ2dLeUJ4TG5rZ0tpQnhMbm9wTzF4eVhHNGdJQ0FnYkdWMElHTnZjM0pmWTI5emNDQTlJQ3N4TGpBZ0xTQXlMakFnS2lBb2NTNTRJQ29nY1M1NElDc2djUzU1SUNvZ2NTNTVLVHRjY2x4dUlDQWdJSEl1Y0dsMFkyZ2dQU0JOWVhSb0xtRjBZVzR5S0hOcGJuSmZZMjl6Y0N3Z1kyOXpjbDlqYjNOd0tUdGNjbHh1WEhKY2JpQWdJQ0F2THlCNVlYY2dLSGt0WVhocGN5QnliM1JoZEdsdmJpbGNjbHh1SUNBZ0lHeGxkQ0J6YVc1d0lEMGdLekl1TUNBcUlDaHhMbmNnS2lCeExua2dMU0J4TG5vZ0tpQnhMbmdwTzF4eVhHNGdJQ0FnYVdZZ0tDQk5ZWFJvTG1GaWN5Z2djMmx1Y0NBcElENDlJREVnS1Z4eVhHNGdJQ0FnSUNBZ0lISXVlV0YzSUQwZ1RXRjBhQzV6YVdkdUtDQnphVzV3S1NBcUlFMWhkR2d1VUVrZ0x5QXlPeUF2THlCMWMyVWdPVEFnWkdWbmNtVmxjeUJwWmlCdmRYUWdiMllnY21GdVoyVmNjbHh1SUNBZ0lHVnNjMlZjY2x4dUlDQWdJQ0FnSUNCeUxubGhkeUE5SUUxaGRHZ3VZWE5wYmloemFXNXdLVHRjY2x4dVhISmNiaUFnSUNBdkx5QnliMnhzSUNoNkxXRjRhWE1nY205MFlYUnBiMjRwWEhKY2JpQWdJQ0JzWlhRZ2MybHVlVjlqYjNOd0lEMGdLekl1TUNBcUlDaHhMbmNnS2lCeExub2dLeUJ4TG5nZ0tpQnhMbmtwTzF4eVhHNGdJQ0FnYkdWMElHTnZjM2xmWTI5emNDQTlJQ3N4TGpBZ0xTQXlMakFnS2lBb2NTNTVJQ29nY1M1NUlDc2djUzU2SUNvZ2NTNTZLVHNnSUZ4eVhHNGdJQ0FnY2k1eWIyeHNJRDBnVFdGMGFDNWhkR0Z1TWloemFXNTVYMk52YzNBc0lHTnZjM2xmWTI5emNDazdYSEpjYmx4eVhHNWNkSEpsZEhWeWJpQnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY1hWaGRFWnliMjFCZUdselFXNW5iR1ZTWVdScFlXNXpLQ0JoZUdsek9pQjJaV016TENCeVlXUS9PaUJ1ZFcxaVpYSWdLVG9nY1hWaGRGeHlYRzU3WEhKY2JseDBhV1lvSUNGeVlXUWdLVnh5WEc1Y2RGeDBjbVYwZFhKdUlHNWxkeUJ4ZFdGMEtDQnhkV0YwTG1sa1pXNTBhWFI1TG5oNWVuY2dLVHRjY2x4dVhISmNibHgwY21WMGRYSnVJSEYxWVhRdVpuSnZiVUY0YVhOQmJtZHNaU2dnWVhocGN5d2djbUZrSUNrN1hISmNibjFjY2x4dVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnUlhWc1pYSkJibWRzWlhOVWIxRjFZWFJsY201cGIyNG9JR0Z1WjJ4bGN6b2dSWFZzWlhKQmJtZHNaWE1nS1RvZ1FYWlJkV0YwWlhKdWFXOXVYSEpjYm50Y2NseHVYSFJzWlhRZ2NYZ2dQU0J4ZFdGMFJuSnZiVUY0YVhOQmJtZHNaVkpoWkdsaGJuTW9JSFpsWXpNdWNtbG5hSFFzSUdGdVoyeGxjeTV3YVhSamFDQXBPMXh5WEc1Y2RHeGxkQ0J4ZVNBOUlIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFVtRmthV0Z1Y3lnZ2RtVmpNeTUxY0N3Z1lXNW5iR1Z6TG5saGR5QXBPMXh5WEc1Y2RHeGxkQ0J4ZWlBOUlIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFVtRmthV0Z1Y3lnZ2RtVmpNeTVtYjNKM1lYSmtMQ0JoYm1kc1pYTXVjbTlzYkNBcE8xeHlYRzVjY2x4dVhIUnNaWFFnY1NBOUlIRjFZWFF1Y0hKdlpIVmpkQ2dnY1hWaGRDNXdjbTlrZFdOMEtDQnhlQ3dnY1hrZ0tTd2djWG9nS1R0Y2NseHVYSFJ5WlhSMWNtNGdLRnh5WEc1Y2RIdGNjbHh1WEhSY2RIYzZJSEV1ZHl4Y2NseHVYSFJjZEhnNklIRXVlQ3hjY2x4dVhIUmNkSGs2SUhFdWVTeGNjbHh1WEhSY2RIbzZJSEV1ZWl4Y2NseHVYSFI5SUNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQlNZV1JwWVc1elZHOUVaV2R5WldWektDQnlZV1E2SUc1MWJXSmxjaUFwT2lCdWRXMWlaWEpjY2x4dWUxeHlYRzVjZEhKbGRIVnliaUJ5WVdRZ0tpQXhPREFnTHlCTllYUm9MbEJKTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1JHVm5jbVZsYzFSdlVtRmthV0Z1Y3lnZ1pHVm5PaUJ1ZFcxaVpYSWdLVG9nYm5WdFltVnlYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdaR1ZuSUNvZ1RXRjBhQzVRU1NBdklERTRNRHRjY2x4dWZWeHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX3V0aWxzLnRzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hcGlfZ2FkZ2V0bGlzdC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FwaV9nYWRnZXRsaXN0LnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19HYWRnZXRMaXN0SW50ZXJmYWNlLCBHYWRnZXRMaXN0RXZlbnRUeXBlLCBHYWRnZXRMaXN0UmVzdWx0LCBBdkdhZGdldExpc3QgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcImtfR2FkZ2V0TGlzdEludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19HYWRnZXRMaXN0SW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRMaXN0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRMaXN0RXZlbnRUeXBlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRMaXN0UmVzdWx0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRMaXN0UmVzdWx0OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldExpc3RcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2R2FkZ2V0TGlzdDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9pbnRlcmZhY2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXBpX2ludGVyZmFjZSAqLyBcXFwiLi9zcmMvYXBpX2ludGVyZmFjZS50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5jb25zdCBrX0dhZGdldExpc3RJbnRlcmZhY2UgPSBcXFwiYXBpLWdhZGdldGxpc3RAMVxcXCI7XFxyXFxudmFyIEdhZGdldExpc3RFdmVudFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChHYWRnZXRMaXN0RXZlbnRUeXBlKSB7XFxyXFxuICAgIEdhZGdldExpc3RFdmVudFR5cGVbXFxcIkFkZEZhdm9yaXRlXFxcIl0gPSBcXFwiYWRkX2Zhdm9yaXRlXFxcIjtcXHJcXG4gICAgR2FkZ2V0TGlzdEV2ZW50VHlwZVtcXFwiUmVtb3ZlRmF2b3JpdGVcXFwiXSA9IFxcXCJyZW1vdmVfZmF2b3JpdGVcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJTZXRBdXRvTGF1bmNoXFxcIl0gPSBcXFwic2V0X2F1dG9sYXVuY2hcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJSZW1vdmVBdXRvTGF1bmNoXFxcIl0gPSBcXFwicmVtb3ZlX2F1dG9sYXVuY2hcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJHZXRTZXR0aW5nc0ZvckdhZGdldFxcXCJdID0gXFxcImdldF9nYWRnZXRfc2V0dGluZ3NcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJTdGFydEdhZGdldFxcXCJdID0gXFxcInN0YXJ0X2dhZGdldFxcXCI7XFxyXFxufSkoR2FkZ2V0TGlzdEV2ZW50VHlwZSB8fCAoR2FkZ2V0TGlzdEV2ZW50VHlwZSA9IHt9KSk7XFxyXFxudmFyIEdhZGdldExpc3RSZXN1bHQ7XFxyXFxuKGZ1bmN0aW9uIChHYWRnZXRMaXN0UmVzdWx0KSB7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiU3VjY2Vzc1xcXCJdID0gMF0gPSBcXFwiU3VjY2Vzc1xcXCI7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiQWxyZWFkeUFkZGVkXFxcIl0gPSAxXSA9IFxcXCJBbHJlYWR5QWRkZWRcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0UmVzdWx0W0dhZGdldExpc3RSZXN1bHRbXFxcIlVzZXJEZW5pZWRSZXF1ZXN0XFxcIl0gPSAyXSA9IFxcXCJVc2VyRGVuaWVkUmVxdWVzdFxcXCI7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiTm90Q29ubmVjdGVkXFxcIl0gPSAzXSA9IFxcXCJOb3RDb25uZWN0ZWRcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0UmVzdWx0W0dhZGdldExpc3RSZXN1bHRbXFxcIkdhZGdldFN0YXJ0RmFpbGVkXFxcIl0gPSA0XSA9IFxcXCJHYWRnZXRTdGFydEZhaWxlZFxcXCI7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiTm9TdWNoRmF2b3JpdGVcXFwiXSA9IDVdID0gXFxcIk5vU3VjaEZhdm9yaXRlXFxcIjtcXHJcXG4gICAgR2FkZ2V0TGlzdFJlc3VsdFtHYWRnZXRMaXN0UmVzdWx0W1xcXCJOb1N1Y2hBdXRvTGF1bmNoXFxcIl0gPSA2XSA9IFxcXCJOb1N1Y2hBdXRvTGF1bmNoXFxcIjtcXHJcXG4gICAgR2FkZ2V0TGlzdFJlc3VsdFtHYWRnZXRMaXN0UmVzdWx0W1xcXCJBbHJlYWR5U3RhcnRlZFxcXCJdID0gN10gPSBcXFwiQWxyZWFkeVN0YXJ0ZWRcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0UmVzdWx0W0dhZGdldExpc3RSZXN1bHRbXFxcIk5vdEltcGxlbWVudGVkXFxcIl0gPSA4XSA9IFxcXCJOb3RJbXBsZW1lbnRlZFxcXCI7XFxyXFxufSkoR2FkZ2V0TGlzdFJlc3VsdCB8fCAoR2FkZ2V0TGlzdFJlc3VsdCA9IHt9KSk7XFxyXFxuLyoqIENhdXNlcyBhIGxpbmUgdG8gYXBwZWFyIGZyb20gdGhlIHRyYW5zZm9ybSBvZiB0aGlzIG5vZGUncyBwYXJlbnQgdG8gdGhlXFxyXFxuICogc3BlY2lmaWVkIGVuZCBwb2ludC4gKi9cXHJcXG5jbGFzcyBBdkdhZGdldExpc3QgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMuYXBpSW50ZXJmYWNlID0gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiY3JlYXRlUmVmXFxcIl0oKTtcXHJcXG4gICAgfVxcclxcbiAgICBhZGRGYXZvcml0ZShnYWRnZXRVcmwpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudCB8fCAhdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5jb25uZWN0ZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIEdhZGdldExpc3RSZXN1bHQuTm90Q29ubmVjdGVkO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuc2VuZFJlcXVlc3RBbmRXYWl0Rm9yUmVzcG9uc2UoR2FkZ2V0TGlzdEV2ZW50VHlwZS5BZGRGYXZvcml0ZSwgdHJ1ZSwgZ2FkZ2V0VXJsKTtcXHJcXG4gICAgfVxcclxcbiAgICByZW1vdmVGYXZvcml0ZShnYWRnZXRVcmwpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudCB8fCAhdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5jb25uZWN0ZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIEdhZGdldExpc3RSZXN1bHQuTm90Q29ubmVjdGVkO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuc2VuZFJlcXVlc3RBbmRXYWl0Rm9yUmVzcG9uc2UoR2FkZ2V0TGlzdEV2ZW50VHlwZS5SZW1vdmVGYXZvcml0ZSwgdHJ1ZSwgZ2FkZ2V0VXJsKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZXRBdXRvTGF1bmNoKGdhZGdldFVybCkge1xcclxcbiAgICAgICAgaWYgKCF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50IHx8ICF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LmNvbm5lY3RlZClcXHJcXG4gICAgICAgICAgICByZXR1cm4gR2FkZ2V0TGlzdFJlc3VsdC5Ob3RDb25uZWN0ZWQ7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5zZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShHYWRnZXRMaXN0RXZlbnRUeXBlLlNldEF1dG9MYXVuY2gsIHRydWUsIGdhZGdldFVybCk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVtb3ZlQXV0b0xhdW5jaChnYWRnZXRVcmwpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudCB8fCAhdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5jb25uZWN0ZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIEdhZGdldExpc3RSZXN1bHQuTm90Q29ubmVjdGVkO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuc2VuZFJlcXVlc3RBbmRXYWl0Rm9yUmVzcG9uc2UoR2FkZ2V0TGlzdEV2ZW50VHlwZS5SZW1vdmVBdXRvTGF1bmNoLCB0cnVlLCBnYWRnZXRVcmwpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldFNldHRpbmdzRm9yR2FkZ2V0KGdhZGdldFVybCkge1xcclxcbiAgICAgICAgaWYgKCF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50IHx8ICF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LmNvbm5lY3RlZClcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LnNlbmRSZXF1ZXN0QW5kV2FpdEZvclJlc3BvbnNlKEdhZGdldExpc3RFdmVudFR5cGUuR2V0U2V0dGluZ3NGb3JHYWRnZXQsIHRydWUsIGdhZGdldFVybCk7XFxyXFxuICAgIH1cXHJcXG4gICAgc3RhcnRHYWRnZXQoZ2FkZ2V0VXJsKSB7XFxyXFxuICAgICAgICBpZiAoIXRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQgfHwgIXRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuY29ubmVjdGVkKVxcclxcbiAgICAgICAgICAgIHJldHVybiBHYWRnZXRMaXN0UmVzdWx0Lk5vdENvbm5lY3RlZDtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LnNlbmRSZXF1ZXN0QW5kV2FpdEZvclJlc3BvbnNlKEdhZGdldExpc3RFdmVudFR5cGUuU3RhcnRHYWRnZXQsIHRydWUsIGdhZGdldFVybCk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYXBpX2ludGVyZmFjZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdkFwaUludGVyZmFjZVxcXCJdLCB7IHJlZjogdGhpcy5hcGlJbnRlcmZhY2UsIGFwaU5hbWU6IGtfR2FkZ2V0TGlzdEludGVyZmFjZSB9KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhjR2xmWjJGa1oyVjBiR2x6ZEM1MGMzZy9PR0ZsWkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRU3RDTzBGQlEydENPMEZCU1RGRExFMUJRVTBzY1VKQlFYRkNMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTTdRVUZGZUVRc1NVRkJXU3h0UWtGUldEdEJRVkpFTEZkQlFWa3NiVUpCUVcxQ08wbEJSVGxDTEcxRVFVRTBRanRKUVVNMVFpeDVSRUZCYTBNN1NVRkRiRU1zZFVSQlFXZERPMGxCUTJoRExEWkVRVUZ6UXp0SlFVTjBReXh0UlVGQk5FTTdTVUZETlVNc2JVUkJRVFJDTzBGQlF6ZENMRU5CUVVNc1JVRlNWeXh0UWtGQmJVSXNTMEZCYmtJc2JVSkJRVzFDTEZGQlVUbENPMEZCUlVRc1NVRkJXU3huUWtGWFdEdEJRVmhFTEZkQlFWa3NaMEpCUVdkQ08wbEJSVE5DTERaRVFVRlhPMGxCUTFnc2RVVkJRV2RDTzBsQlEyaENMR2xHUVVGeFFqdEpRVU55UWl4MVJVRkJaMEk3U1VGRGFFSXNhVVpCUVhGQ08wbEJRM0pDTERKRlFVRnJRanRKUVVOc1Fpd3JSVUZCYjBJN1NVRkRjRUlzTWtWQlFXdENPMGxCUTJ4Q0xESkZRVUZyUWp0QlFVTnVRaXhEUVVGRExFVkJXRmNzWjBKQlFXZENMRXRCUVdoQ0xHZENRVUZuUWl4UlFWY3pRanRCUVVWRU96QkNRVU13UWp0QlFVTnVRaXhOUVVGTkxGbEJRV0VzVTBGQlVTd3JRMEZCWlR0SlFVRnFSRHM3VVVGRlV5eHBRa0ZCV1N4SFFVRkhMQ3REUVVGbExFVkJRV3RDTEVOQlFVTTdTVUUwUkRGRUxFTkJRVU03U1VFeFJFOHNWMEZCVnl4RFFVRkZMRk5CUVdsQ08xRkJSWEJETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk03V1VGRGNrVXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZGZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUTBGRE4wUXNiVUpCUVcxQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVVc1EwRkJRenRKUVVOeVJDeERRVUZETzBsQlJVMHNZMEZCWXl4RFFVRkZMRk5CUVdsQ08xRkJSWFpETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk03V1VGRGNrVXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZGZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUTBGRE4wUXNiVUpCUVcxQ0xFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVVc1EwRkJRenRKUVVONFJDeERRVUZETzBsQlJVMHNZVUZCWVN4RFFVRkZMRk5CUVdsQ08xRkJSWFJETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk03V1VGRGNrVXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZGZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUTBGRE4wUXNiVUpCUVcxQ0xFTkJRVU1zWVVGQllTeEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVVc1EwRkJRenRKUVVOMlJDeERRVUZETzBsQlJVMHNaMEpCUVdkQ0xFTkJRVVVzVTBGQmFVSTdVVUZGZWtNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXp0WlFVTnlSU3hQUVVGUExHZENRVUZuUWl4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVWMFF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVTTNSQ3h0UWtGQmJVSXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1NVRkRNVVFzUTBGQlF6dEpRVVZOTEc5Q1FVRnZRaXhEUVVGRkxGTkJRV2xDTzFGQlJUZERMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTTdXVUZEY2tVc1QwRkJUeXhKUVVGSkxFTkJRVU03VVVGRllpeFBRVUZQTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVTTNSQ3h0UWtGQmJVSXNRMEZCUXl4dlFrRkJiMElzUlVGQlJTeEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1NVRkRPVVFzUTBGQlF6dEpRVVZOTEZkQlFWY3NRMEZCUlN4VFFVRnBRanRSUVVWd1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVE8xbEJRM0pGTEU5QlFVOHNaMEpCUVdkQ0xFTkJRVU1zV1VGQldTeERRVUZETzFGQlJYUkRMRTlCUVU4c1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNOa0pCUVRaQ0xFTkJRemRFTEcxQ1FVRnRRaXhEUVVGRExGZEJRVmNzUlVGQlJTeEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1NVRkRja1FzUTBGQlF6dEpRVVZOTEUxQlFVMDdVVUZGV2l4UFFVRlBMRzlFUVVGRExEWkVRVUZqTEVsQlFVTXNSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVWNzVDBGQlR5eEZRVUZITEhGQ1FVRnhRaXhIUVVGSk8wbEJRM0pHTEVOQlFVTTdRMEZEUkNJc0ltWnBiR1VpT2lJdUwzTnlZeTloY0dsZloyRmtaMlYwYkdsemRDNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ0tpQmhjeUJTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJRWEJwU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk5aGNHbGZhVzUwWlhKbVlXTmxKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhSVFpYUjBhVzVuY3lCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHTnZibk4wSUd0ZlIyRmtaMlYwVEdsemRFbHVkR1Z5Wm1GalpTQTlJRndpWVhCcExXZGhaR2RsZEd4cGMzUkFNVndpTzF4eVhHNWNjbHh1Wlhod2IzSjBJR1Z1ZFcwZ1IyRmtaMlYwVEdsemRFVjJaVzUwVkhsd1pWeHlYRzU3WEhKY2JseDBRV1JrUm1GMmIzSnBkR1VnUFNCY0ltRmtaRjltWVhadmNtbDBaVndpTEZ4eVhHNWNkRkpsYlc5MlpVWmhkbTl5YVhSbElEMGdYQ0p5WlcxdmRtVmZabUYyYjNKcGRHVmNJaXhjY2x4dVhIUlRaWFJCZFhSdlRHRjFibU5vSUQwZ1hDSnpaWFJmWVhWMGIyeGhkVzVqYUZ3aUxGeHlYRzVjZEZKbGJXOTJaVUYxZEc5TVlYVnVZMmdnUFNCY0luSmxiVzkyWlY5aGRYUnZiR0YxYm1Ob1hDSXNYSEpjYmx4MFIyVjBVMlYwZEdsdVozTkdiM0pIWVdSblpYUWdQU0JjSW1kbGRGOW5ZV1JuWlhSZmMyVjBkR2x1WjNOY0lpeGNjbHh1WEhSVGRHRnlkRWRoWkdkbGRDQTlJRndpYzNSaGNuUmZaMkZrWjJWMFhDSXNYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JsYm5WdElFZGhaR2RsZEV4cGMzUlNaWE4xYkhSY2NseHVlMXh5WEc1Y2RGTjFZMk5sYzNNZ1BTQXdMRnh5WEc1Y2RFRnNjbVZoWkhsQlpHUmxaQ0E5SURFc1hISmNibHgwVlhObGNrUmxibWxsWkZKbGNYVmxjM1FnUFNBeUxGeHlYRzVjZEU1dmRFTnZibTVsWTNSbFpDQTlJRE1zWEhKY2JseDBSMkZrWjJWMFUzUmhjblJHWVdsc1pXUWdQU0EwTEZ4eVhHNWNkRTV2VTNWamFFWmhkbTl5YVhSbElEMGdOU3hjY2x4dVhIUk9iMU4xWTJoQmRYUnZUR0YxYm1Ob0lEMGdOaXhjY2x4dVhIUkJiSEpsWVdSNVUzUmhjblJsWkNBOUlEY3NYSEpjYmx4MFRtOTBTVzF3YkdWdFpXNTBaV1FnUFNBNFhISmNibjFjY2x4dVhISmNiaThxS2lCRFlYVnpaWE1nWVNCc2FXNWxJSFJ2SUdGd2NHVmhjaUJtY205dElIUm9aU0IwY21GdWMyWnZjbTBnYjJZZ2RHaHBjeUJ1YjJSbEozTWdjR0Z5Wlc1MElIUnZJSFJvWlNCY2NseHVJQ29nYzNCbFkybG1hV1ZrSUdWdVpDQndiMmx1ZEM0Z0tpOWNjbHh1Wlhod2IzSjBJR05zWVhOeklFRjJSMkZrWjJWMFRHbHpkQ0JsZUhSbGJtUnpJRkpsWVdOMExrTnZiWEJ2Ym1WdWRGeHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQmhjR2xKYm5SbGNtWmhZMlVnUFNCU1pXRmpkQzVqY21WaGRHVlNaV1k4UVhaQmNHbEpiblJsY21aaFkyVStLQ2s3WEhKY2JseHlYRzVjZEhCMVlteHBZeUJoWkdSR1lYWnZjbWwwWlNnZ1oyRmtaMlYwVlhKc09pQnpkSEpwYm1jZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQWhkR2hwY3k1aGNHbEpiblJsY21aaFkyVXVZM1Z5Y21WdWRDQjhmQ0FoZEdocGN5NWhjR2xKYm5SbGNtWmhZMlV1WTNWeWNtVnVkQzVqYjI1dVpXTjBaV1FnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTRnUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQzVPYjNSRGIyNXVaV04wWldRN1hISmNibHh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11WVhCcFNXNTBaWEptWVdObExtTjFjbkpsYm5RdWMyVnVaRkpsY1hWbGMzUkJibVJYWVdsMFJtOXlVbVZ6Y0c5dWMyVThSMkZrWjJWMFRHbHpkRkpsYzNWc2RENG9JRnh5WEc1Y2RGeDBYSFJIWVdSblpYUk1hWE4wUlhabGJuUlVlWEJsTGtGa1pFWmhkbTl5YVhSbExDQjBjblZsTENCbllXUm5aWFJWY213Z0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCeVpXMXZkbVZHWVhadmNtbDBaU2dnWjJGa1oyVjBWWEpzT2lCemRISnBibWNnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaGRHaHBjeTVoY0dsSmJuUmxjbVpoWTJVdVkzVnljbVZ1ZENCOGZDQWhkR2hwY3k1aGNHbEpiblJsY21aaFkyVXVZM1Z5Y21WdWRDNWpiMjV1WldOMFpXUWdLVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iM1JEYjI1dVpXTjBaV1E3WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sTG1OMWNuSmxiblF1YzJWdVpGSmxjWFZsYzNSQmJtUlhZV2wwUm05eVVtVnpjRzl1YzJVOFIyRmtaMlYwVEdsemRGSmxjM1ZzZEQ0b0lGeHlYRzVjZEZ4MFhIUkhZV1JuWlhSTWFYTjBSWFpsYm5SVWVYQmxMbEpsYlc5MlpVWmhkbTl5YVhSbExDQjBjblZsTENCbllXUm5aWFJWY213Z0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpYUkJkWFJ2VEdGMWJtTm9LQ0JuWVdSblpYUlZjbXc2SUhOMGNtbHVaeUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbUZ3YVVsdWRHVnlabUZqWlM1amRYSnlaVzUwSUh4OElDRjBhR2x6TG1Gd2FVbHVkR1Z5Wm1GalpTNWpkWEp5Wlc1MExtTnZibTVsWTNSbFpDQXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQkhZV1JuWlhSTWFYTjBVbVZ6ZFd4MExrNXZkRU52Ym01bFkzUmxaRHRjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWhjR2xKYm5SbGNtWmhZMlV1WTNWeWNtVnVkQzV6Wlc1a1VtVnhkV1Z6ZEVGdVpGZGhhWFJHYjNKU1pYTndiMjV6WlR4SFlXUm5aWFJNYVhOMFVtVnpkV3gwUGlnZ1hISmNibHgwWEhSY2RFZGhaR2RsZEV4cGMzUkZkbVZ1ZEZSNWNHVXVVMlYwUVhWMGIweGhkVzVqYUN3Z2RISjFaU3dnWjJGa1oyVjBWWEpzSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nY21WdGIzWmxRWFYwYjB4aGRXNWphQ2dnWjJGa1oyVjBWWEpzT2lCemRISnBibWNnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaGRHaHBjeTVoY0dsSmJuUmxjbVpoWTJVdVkzVnljbVZ1ZENCOGZDQWhkR2hwY3k1aGNHbEpiblJsY21aaFkyVXVZM1Z5Y21WdWRDNWpiMjV1WldOMFpXUWdLVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iM1JEYjI1dVpXTjBaV1E3WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sTG1OMWNuSmxiblF1YzJWdVpGSmxjWFZsYzNSQmJtUlhZV2wwUm05eVVtVnpjRzl1YzJVOFIyRmtaMlYwVEdsemRGSmxjM1ZzZEQ0b0lGeHlYRzVjZEZ4MFhIUkhZV1JuWlhSTWFYTjBSWFpsYm5SVWVYQmxMbEpsYlc5MlpVRjFkRzlNWVhWdVkyZ3NJSFJ5ZFdVc0lHZGhaR2RsZEZWeWJDQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkRk5sZEhScGJtZHpSbTl5UjJGa1oyVjBLQ0JuWVdSblpYUlZjbXc2SUhOMGNtbHVaeUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbUZ3YVVsdWRHVnlabUZqWlM1amRYSnlaVzUwSUh4OElDRjBhR2x6TG1Gd2FVbHVkR1Z5Wm1GalpTNWpkWEp5Wlc1MExtTnZibTVsWTNSbFpDQXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQnVkV3hzTzF4eVhHNWNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbUZ3YVVsdWRHVnlabUZqWlM1amRYSnlaVzUwTG5ObGJtUlNaWEYxWlhOMFFXNWtWMkZwZEVadmNsSmxjM0J2Ym5ObFBFRjJSMkZrWjJWMFUyVjBkR2x1WjNNK0tDQmNjbHh1WEhSY2RGeDBSMkZrWjJWMFRHbHpkRVYyWlc1MFZIbHdaUzVIWlhSVFpYUjBhVzVuYzBadmNrZGhaR2RsZEN3Z2RISjFaU3dnWjJGa1oyVjBWWEpzSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYzNSaGNuUkhZV1JuWlhRb0lHZGhaR2RsZEZWeWJEb2djM1J5YVc1bklDbGNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dJWFJvYVhNdVlYQnBTVzUwWlhKbVlXTmxMbU4xY25KbGJuUWdmSHdnSVhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sTG1OMWNuSmxiblF1WTI5dWJtVmpkR1ZrSUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1SUVkaFpHZGxkRXhwYzNSU1pYTjFiSFF1VG05MFEyOXVibVZqZEdWa08xeHlYRzVjY2x4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG1Gd2FVbHVkR1Z5Wm1GalpTNWpkWEp5Wlc1MExuTmxibVJTWlhGMVpYTjBRVzVrVjJGcGRFWnZjbEpsYzNCdmJuTmxQRWRoWkdkbGRFeHBjM1JTWlhOMWJIUStLQ0JjY2x4dVhIUmNkRngwUjJGa1oyVjBUR2x6ZEVWMlpXNTBWSGx3WlM1VGRHRnlkRWRoWkdkbGRDd2dkSEoxWlN3Z1oyRmtaMlYwVlhKc0lDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdQRUYyUVhCcFNXNTBaWEptWVdObElISmxaajE3SUhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sSUgwZ1lYQnBUbUZ0WlQxN0lHdGZSMkZrWjJWMFRHbHpkRWx1ZEdWeVptRmpaU0I5THo1Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYXBpX2dhZGdldGxpc3QudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hcGlfaW50ZXJmYWNlLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hcGlfaW50ZXJmYWNlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdkFwaUludGVyZmFjZSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZBcGlJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2QXBpSW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5ICovIFxcXCIuL3NyYy9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5jbGFzcyBBdkFwaUludGVyZmFjZSBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IoKSB7XFxyXFxuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVJbnRlcmZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5uZXh0UmVxdWVzdElkID0gMTtcXHJcXG4gICAgICAgIHRoaXMucmVxdWVzdFByb21pc2VzID0gbmV3IE1hcCgpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBjb25uZWN0ZWQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJbnRlcmZhY2UgIT0gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShtc2dUeXBlLCBleHBlY3RSZXNwb25zZSwgLi4uYXJncykge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcXHJcXG4gICAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJlamVjdChcXFwiTm8gY29ubmVjdGlvblxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGxldCBldmVudCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogbXNnVHlwZSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgIGlmIChleHBlY3RSZXNwb25zZSkge1xcclxcbiAgICAgICAgICAgICAgICBldmVudC5yZXF1ZXN0SWQgPSB0aGlzLm5leHRSZXF1ZXN0SWQrKztcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UHJvbWlzZXMuc2V0KGV2ZW50LnJlcXVlc3RJZCwge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZTogKHJlc3ApID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgoX2EgPSByZXNwLnBhcmFtZXRlcnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVswXSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0XFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBpZiAoYXJncyAmJiBhcmdzLmxlbmd0aCkge1xcclxcbiAgICAgICAgICAgICAgICBldmVudC5wYXJhbWV0ZXJzID0gYXJncztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbnRlcmZhY2Uuc2VuZEV2ZW50KGV2ZW50KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW50ZXJmYWNlKGFjdGl2ZUludGVyZmFjZSkge1xcclxcbiAgICAgICAgdmFyIF9hLCBfYjtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlSW50ZXJmYWNlID0gYWN0aXZlSW50ZXJmYWNlO1xcclxcbiAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykub25Db25uZWN0KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgYWN0aXZlSW50ZXJmYWNlLnBlZXIpO1xcclxcbiAgICAgICAgYWN0aXZlSW50ZXJmYWNlLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbnRlcmZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgICAgIC8vIHJlamVjdCBhbGwgdGhlIG91dHN0YW5kaW5nIHJlcXVlc3RzXFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgdiBvZiB0aGlzLnJlcXVlc3RQcm9taXNlcy5lbnRyaWVzKCkpIHtcXHJcXG4gICAgICAgICAgICAgICAgdlsxXS5yZWplY3QoXFxcIkxvc3QgY29ubmVjdGlvblxcXCIpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RQcm9taXNlcy5jbGVhcigpO1xcclxcbiAgICAgICAgICAgIChfYiA9IChfYSA9IHRoaXMucHJvcHMpLm9uRGlzY29ubmVjdCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGFjdGl2ZUludGVyZmFjZS5wZWVyKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlSW50ZXJmYWNlLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgICAgIGxldCBwID0gdGhpcy5yZXF1ZXN0UHJvbWlzZXMuZ2V0KGV2ZW50LnJlcXVlc3RJZCk7XFxyXFxuICAgICAgICAgICAgaWYgKHApIHtcXHJcXG4gICAgICAgICAgICAgICAgcC5yZXNvbHZlKGV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UHJvbWlzZXMuZGVsZXRlKGV2ZW50LnJlcXVlc3RJZCk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbGV0IGggPSB0aGlzLnByb3BzLmhhbmRsZXJzW2V2ZW50LnR5cGVdO1xcclxcbiAgICAgICAgICAgIGlmIChoKSB7XFxyXFxuICAgICAgICAgICAgICAgIGgoeyBlbmRwb2ludEFkZHI6IGFjdGl2ZUludGVyZmFjZS5wZWVyIH0sIChfYSA9IGV2ZW50LnBhcmFtZXRlcnMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdLCBhY3RpdmVJbnRlcmZhY2Uub3JpZ2luLCBhY3RpdmVJbnRlcmZhY2UudXNlckFnZW50KVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5yZXF1ZXN0SWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BFdmVudCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGV2ZW50LnR5cGUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6IGV2ZW50LnJlcXVlc3RJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHJlc3VsdCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW50ZXJmYWNlLnNlbmRFdmVudChyZXNwRXZlbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHJldHVybiB2YWx1ZSBwcm92aWRlZCBmb3IgJHtldmVudC50eXBlfSBldmVudCwgd2hpY2ggZGlkIG5vdCBleHBlY3Qgb25lYCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChyZWFzb24pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBNZXNzYWdlIGhhbmRsZXIgJHtldmVudC50eXBlfSBmYWlsZWQgd2l0aCAke3JlYXNvbn1gKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5yZXF1ZXN0SWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcEV2ZW50ID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBldmVudC50eXBlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6IGV2ZW50LnJlcXVlc3RJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUludGVyZmFjZS5zZW5kRXZlbnQocmVzcEV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coYG5vIGhhbmRsZXIgZm9yIEFQSSBldmVudCB0eXBlPSR7ZXZlbnQudHlwZX0gcmVxSWQ9JHtldmVudC5yZXF1ZXN0SWR9YCk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy5pbXBsZW1lbnRhdGlvbilcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgcmVjZWl2ZXM6IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZmFjZTogdGhpcy5wcm9wcy5hcGlOYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NvcjogdGhpcy5vbkludGVyZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXSwgdm9sdW1lOiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImluZmluaXRlVm9sdW1lXFxcIl0pKCkgfSk7XFxyXFxuICAgICAgICBlbHNlXFxyXFxuICAgICAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkludGVyZmFjZUVudGl0eVxcXCJdLCB7IHRyYW5zbWl0czogW1xcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmYWNlOiB0aGlzLnByb3BzLmFwaU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc29yOiB0aGlzLm9uSW50ZXJmYWNlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBdLCB2b2x1bWU6IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiaW5maW5pdGVWb2x1bWVcXFwiXSkoKSB9KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZBcGlJbnRlcmZhY2UucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhjR2xmYVc1MFpYSm1ZV05sTG5SemVEODVOekUxSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3TzBGQlFTdENPMEZCUTJ0RU8wRkJReTlETzBGQlEzbERPMEZCZVVSd1JTeE5RVUZOTEdOQlFXVXNVMEZCVVN3clEwRkJkME03U1VGQk5VVTdPMUZCUlZNc2IwSkJRV1VzUjBGQmIwSXNTVUZCU1N4RFFVRkRPMUZCUTNoRExHdENRVUZoTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJ4Q0xHOUNRVUZsTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVRSQ0xFTkJRVU03U1VGblNpOUVMRU5CUVVNN1NVRTVTVUVzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1NVRkJTU3hEUVVGRExHVkJRV1VzU1VGQlNTeEpRVUZKTEVOQlFVTTdTVUZEY2tNc1EwRkJRenRKUVVWRUxEWkNRVUUyUWl4RFFVRlRMRTlCUVdVc1JVRkJSU3hqUVVGMVFpeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVVTNSaXhQUVVGUExFbEJRVWtzVDBGQlR5eERRVUZUTEVOQlFVVXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSeXhGUVVGRk8xbEJSV2hFTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVONlFqdG5Ra0ZEUXl4TlFVRk5MRU5CUVVVc1pVRkJaU3hEUVVGRkxFTkJRVU03WjBKQlF6RkNMRTlCUVU4N1lVRkRVRHRaUVVWRUxFbEJRVWtzUzBGQlN5eEhRVU5VTzJkQ1FVTkRMRWxCUVVrc1JVRkJSU3hQUVVGUE8yRkJRMklzUTBGQlF6dFpRVVZHTEVsQlFVa3NZMEZCWXl4RlFVTnNRanRuUWtGRFF5eExRVUZMTEVOQlFVTXNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhoUVVGaExFVkJRVVVzUTBGQlF6dG5Ra0ZEZGtNc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZITEVOQlFVVXNTMEZCU3l4RFFVRkRMRk5CUVZNc1JVRkRlRU03YjBKQlEwTXNUMEZCVHl4RlFVRkZMRU5CUVVVc1NVRkJZeXhGUVVGSExFVkJRVVU3TzNkQ1FVVTNRaXhQUVVGUExFTkJRVVVzVlVGQlNTeERRVUZETEZWQlFWVXNNRU5CUVVjc1EwRkJReXhEUVVGVkxFTkJRVVVzUTBGQlF6dHZRa0ZETVVNc1EwRkJRenR2UWtGRFJDeE5RVUZOTzJsQ1FVTk9MRU5CUVVVc1EwRkJRenRoUVVOTU8xbEJSVVFzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkRka0k3WjBKQlEwTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU03WVVGRGVFSTdXVUZGUkN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExGTkJRVk1zUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0UlFVTjZReXhEUVVGRExFTkJRVVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZIVHl4WFFVRlhMRU5CUVVVc1pVRkJaME03TzFGQlJYQkVMRWxCUVVrc1EwRkJReXhsUVVGbExFZEJRVWNzWlVGQlpTeERRVUZETzFGQlEzWkRMR2RDUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZETEZOQlFWTXNiVVJCUVVrc1pVRkJaU3hEUVVGRExFbEJRVWtzUlVGQlJ6dFJRVVV2UXl4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRkxFZEJRVWNzUlVGQlJUczdXVUZGTjBJc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZGTlVJc2MwTkJRWE5ETzFsQlEzUkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkROVU03WjBKQlEwTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlJTeHBRa0ZCYVVJc1EwRkJSU3hEUVVGRE8yRkJRMnBETzFsQlJVUXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVVUzUWl4blFrRkJTU3hEUVVGRExFdEJRVXNzUlVGQlF5eFpRVUZaTEcxRVFVRkpMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVWM3VVVGRGJrUXNRMEZCUXl4RFFVRkZMRU5CUVVNN1VVRkZTaXhsUVVGbExFTkJRVU1zVDBGQlR5eERRVUZGTEVOQlFVVXNTMEZCWlN4RlFVRkZMRVZCUVVVN08xbEJSVGRETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eERRVUZGTEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVVc1EwRkJRenRaUVVOd1JDeEpRVUZKTEVOQlFVTXNSVUZEVER0blFrRkRReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMmRDUVVOdVFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJSU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZGTEVOQlFVTTdaMEpCUXk5RExFOUJRVTg3WVVGRFVEdFpRVVZFTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZGTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRaUVVNeFF5eEpRVUZKTEVOQlFVTXNSVUZEVER0blFrRkRReXhEUVVGRExFTkJRVVVzUlVGQlJTeFpRVUZaTEVWQlFVVXNaVUZCWlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGRkxFdEJRVXNzUTBGQlF5eFZRVUZWTEcxRFFVRkpMRVZCUVVVc1JVRkJSU3hsUVVGbExFTkJRVU1zVFVGQlRTeEZRVU40Uml4bFFVRmxMRU5CUVVNc1UwRkJVeXhEUVVGRk8zRkNRVU16UWl4SlFVRkpMRU5CUVVVc1EwRkJSU3hOUVVGdlFpeEZRVUZITEVWQlFVVTdiMEpCUldwRExFbEJRVWtzVFVGQlRTeEZRVU5XTzNkQ1FVTkRMRWxCUVVrc1MwRkJTeXhEUVVGRExGTkJRVk1zUlVGRGJrSTdORUpCUTBNc1NVRkJTU3hUUVVGVExFZEJRMkk3WjBOQlEwTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSk8yZERRVU5vUWl4VFFVRlRMRVZCUVVVc1MwRkJTeXhEUVVGRExGTkJRVk03WjBOQlF6RkNMRlZCUVZVc1JVRkJSU3hOUVVGbE96WkNRVU16UWpzMFFrRkRSQ3hsUVVGbExFTkJRVU1zVTBGQlV5eERRVUZGTEZOQlFWTXNRMEZCUlN4RFFVRkRPM2xDUVVOMlF6czJRa0ZGUkRzMFFrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTERaQ1FVRTRRaXhMUVVGTExFTkJRVU1zU1VGQlN5eHJRMEZCYTBNc1EwRkJSU3hEUVVGRE8zbENRVU16Ump0eFFrRkRSRHRuUWtGRFJpeERRVUZETEVOQlFVVTdjVUpCUTBZc1MwRkJTeXhEUVVGRkxFTkJRVU1zVFVGQlZ5eEZRVUZETEVWQlFVVTdiMEpCUlhSQ0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNiVUpCUVc5Q0xFdEJRVXNzUTBGQlF5eEpRVUZMTEdkQ1FVRnBRaXhOUVVGUExFVkJRVVVzUTBGQlJTeERRVUZETzI5Q1FVTjZSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFRRVUZUTEVWQlEyNUNPM2RDUVVORExFbEJRVWtzVTBGQlV5eEhRVU5pT3pSQ1FVTkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zU1VGQlNUczBRa0ZEYUVJc1UwRkJVeXhGUVVGRkxFdEJRVXNzUTBGQlF5eFRRVUZUTzNsQ1FVTXhRanQzUWtGRFJDeGxRVUZsTEVOQlFVTXNVMEZCVXl4RFFVRkZMRk5CUVZNc1EwRkJSU3hEUVVGRE8zRkNRVU4yUXp0blFrRkRSaXhEUVVGRExFTkJRVVVzUTBGQlF6dG5Ra0ZEU2l4UFFVRlBPMkZCUTFBN1dVRkZSQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEdsRFFVRnJReXhMUVVGTExFTkJRVU1zU1VGQlN5eFZRVUZYTEV0QlFVc3NRMEZCUXl4VFFVRlZMRVZCUVVVc1EwRkJSU3hEUVVGRE8xRkJRek5HTEVOQlFVTXNRMEZCUlN4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWTkxFMUJRVTA3VVVGRldpeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1kwRkJZenRaUVVNMVFpeFBRVUZQTEc5RVFVRkRMRFJGUVVGcFFpeEpRVUZETEZGQlFWRXNSVUZEYWtNN2IwSkJRME03ZDBKQlEwTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR6dDNRa0ZEZWtJc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTzNGQ1FVTXpRanRwUWtGRFJDeEZRVU5FTEUxQlFVMHNSVUZCUnl4clJrRkJZeXhGUVVGRkxFZEJRM1pDTEVOQlFVTTdPMWxCUlVvc1QwRkJUeXh2UkVGQlF5dzBSVUZCYVVJc1NVRkJReXhUUVVGVExFVkJRMnhETzI5Q1FVTkRPM2RDUVVORExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4N2QwSkJRM3BDTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenR4UWtGRE0wSTdhVUpCUTBRc1JVRkRSQ3hOUVVGTkxFVkJRVWNzYTBaQlFXTXNSVUZCUlN4SFFVTjJRaXhEUVVGRE8wbEJSVTRzUTBGQlF6dERRVU5FTzBGQmJrZEJPMGxCUkVNc2NVUkJRVWs3YVVSQk1FVktJaXdpWm1sc1pTSTZJaTR2YzNKakwyRndhVjlwYm5SbGNtWmhZMlV1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlU3dnUVdOMGFYWmxTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlwYm5SbGNtWmhZMlZmWlc1MGFYUjVKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QnBibVpwYm1sMFpWWnZiSFZ0WlN3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1FYQnBSWFpsYm5SY2NseHVlMXh5WEc1Y2RIUjVjR1U2SUhOMGNtbHVaenRjY2x4dVhIUnlaWEYxWlhOMFNXUS9PaUJ1ZFcxaVpYSTdYSEpjYmx4MGNHRnlZVzFsZEdWeWN6ODZJR0Z1ZVZ0ZE8xeHlYRzU5WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnVUhKdmJXbHpaVVoxYm1OMGFXOXVjMXh5WEc1N1hISmNibHgwY21WemIyeDJaVG9nS0NCeVpYTjFiSFE2SUVGd2FVVjJaVzUwSUNrZ1BUNGdkbTlwWkR0Y2NseHVYSFJ5WldwbFkzUTZJQ2dnY21WaGMyOXVPaUJoYm5rZ0tTQTlQaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZ3YVVsdWRHVnlabUZqWlZObGJtUmxjbHh5WEc1N1hISmNibHgwY21WaFpHOXViSGtnWlc1a2NHOXBiblJCWkdSeU9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FYQnBTVzUwWlhKbVlXTmxTR0Z1Wkd4bGNseHlYRzU3WEhKY2JseDBLQ0J6Wlc1a1pYSTZJRUZ3YVVsdWRHVnlabUZqWlZObGJtUmxjaXdnY0dGeVlXMWxkR1Z5Y3pvZ1lXNTVXMTBzSUc5eWFXZHBiam9nYzNSeWFXNW5MQ0IxYzJWeVFXZGxiblE2SUhOMGNtbHVaeUFwT2lCUWNtOXRhWE5sUENCaGJubGJYU0I4SUc1MWJHd2dQanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQmNHbEpiblJsY21aaFkyVlFjbTl3YzF4eVhHNTdYSEpjYmx4MEx5b3FJRTVoYldVZ2IyWWdkR2hsSUVGUVNTQnBiWEJzWlcxbGJuUmxaQ0JpZVNCMGFHbHpJRzlpYW1WamRDNGdWR2hwY3lCY2NseHVYSFFnS2lCdGRYTjBJR0psSUdsdUlIUm9aU0JtYjNKdElEeGhjR2x1WVcxbFBrQThkbVZ5YzJsdmJtNTFiV0psY2o0dVhISmNibHgwSUNvdlhISmNibHgwWVhCcFRtRnRaVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1NXWWdkR2hwY3lCcGN5QjBjblZsTENCMGFHbHpJRzlpYW1WamRDQnBjeUIwYUdVZ2MybHVaMnhsZEc5dUlHbHRjR3hsYldWdWRHRjBhVzl1WEhKY2JseDBJQ29nYjJZZ2RHaGxJR2x1ZEdWeVptRmpaUzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JtWVd4elpWeHlYRzVjZENBcUwxeHlYRzVjZEdsdGNHeGxiV1Z1ZEdGMGFXOXVQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlFMWxjM05oWjJVZ2RIbHdaU0JvWVc1a2JHVnljeUJtYjNJZ2FXNWpiMjFwYm1jZ2JXVnpjMkZuWlhNdUlFbG1JR0Z1SUdsdVkyOXRhVzVuWEhKY2JseDBJQ29nYldWemMyRm5aU0JwY3lCeVpXTmxhWFpsWkNCdlppQmhJSFI1Y0dVZ2RHaGhkQ0JwY3lCdWIzUWdjSEpsYzJWdWRDQnBiaUIwYUdseklHeHBjM1FzWEhKY2JseDBJQ29nYVhRZ2QybHNiQ0JpWlNCa2FYTmpZWEprWldRdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1ZHaGxJR2hoYm1Sc1pYSWdabTl5SUdWaFkyZ2diV1Z6YzJGblpTQjBlWEJsSUcxMWMzUWdjbVYwZFhKdUlIUm9aU0J3WVhKaGJXVjBaWEp6SUhSb1lYUmNjbHh1WEhRZ0tpQnBkQ0IzWVc1MGN5QjBieUJ5WlhCc2VTQjBieUIwYUdVZ2MyVnVaR1Z5SUhkcGRHZ3VJRWxtSUZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2hoYm1Sc1pYSnpQem9nZXlCYklHMXpaMVI1Y0dVNmMzUnlhVzVuSUYwZ09pQkJjR2xKYm5SbGNtWmhZMlZJWVc1a2JHVnlJSDA3WEhKY2JseHlYRzVjZEM4cUtpQkRZV3hzWldRZ2QyaGxiaUIwYUdVZ1FWQkpJR2x1ZEdWeVptRmpaU0JqYjI1dVpXTjBjeTRnS2k5Y2NseHVYSFJ2YmtOdmJtNWxZM1EvT2lBb0lIQmxaWEk2SUVWdVpIQnZhVzUwUVdSa2NpQXBJRDArSUhadmFXUTdYSEpjYmx4eVhHNWNkQzhxS2lCRFlXeHNaV1FnZDJobGJpQjBhR1VnUVZCSklHbHVkR1Z5Wm1GalpTQmthWE5qYjI1dVpXTjBjeTRnS2k5Y2NseHVYSFJ2YmtScGMyTnZibTVsWTNRL09pQW9JSEJsWlhJNklFVnVaSEJ2YVc1MFFXUmtjaUFwSUQwK0lIWnZhV1E3WEhKY2JuMWNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWkJjR2xKYm5SbGNtWmhZMlVnWlhoMFpXNWtjeUJTWldGamRDNURiMjF3YjI1bGJuUThJRUZ3YVVsdWRHVnlabUZqWlZCeWIzQnpMQ0I3ZlNBK1hISmNibnRjY2x4dVhIUndjbWwyWVhSbElHRmpkR2wyWlVsdWRHVnlabUZqWlRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHNWxlSFJTWlhGMVpYTjBTV1FnUFNBeE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WeGRXVnpkRkJ5YjIxcGMyVnpJRDBnYm1WM0lFMWhjRHh1ZFcxaVpYSXNJRkJ5YjIxcGMyVkdkVzVqZEdsdmJuTStLQ2s3WEhKY2JseHlYRzVjZEhCMVlteHBZeUJuWlhRZ1kyOXVibVZqZEdWa0tDazZJR0p2YjJ4bFlXNWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWhZM1JwZG1WSmJuUmxjbVpoWTJVZ0lUMGdiblZzYkR0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhObGJtUlNaWEYxWlhOMFFXNWtWMkZwZEVadmNsSmxjM0J2Ym5ObFBGUlNaWE53UGlnZ2JYTm5WSGx3WlRvZ2MzUnlhVzVuTENCbGVIQmxZM1JTWlhOd2IyNXpaVG9nWW05dmJHVmhiaXdnTGk0dVlYSm5jem9nWVc1NVcxMGdLU0E2SUZCeWIyMXBjMlU4VkZKbGMzQStYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1bGR5QlFjbTl0YVhObFBGUlNaWE53UGlnZ0tDQnlaWE52YkhabExDQnlaV3BsWTNRZ0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ0lYUm9hWE11WVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RISmxhbVZqZENnZ1hDSk9ieUJqYjI1dVpXTjBhVzl1WENJZ0tUdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNDdYSEpjYmx4MFhIUmNkSDFjY2x4dVhISmNibHgwWEhSY2RHeGxkQ0JsZG1WdWREb2dRWEJwUlhabGJuUWdQVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGRIbHdaVG9nYlhOblZIbHdaU3hjY2x4dVhIUmNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUmNkR2xtS0NCbGVIQmxZM1JTWlhOd2IyNXpaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmxkbVZ1ZEM1eVpYRjFaWE4wU1dRZ1BTQjBhR2x6TG01bGVIUlNaWEYxWlhOMFNXUXJLenRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbkpsY1hWbGMzUlFjbTl0YVhObGN5NXpaWFFvSUdWMlpXNTBMbkpsY1hWbGMzUkpaQ3dnWEhKY2JseDBYSFJjZEZ4MFhIUjdJRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnlaWE52YkhabE9pQW9JSEpsYzNBNklFRndhVVYyWlc1MElDa2dQVDVjY2x4dVhIUmNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkSEpsYzI5c2RtVW9JSEpsYzNBdWNHRnlZVzFsZEdWeWN6OHVXekJkSUdGeklGUlNaWE53SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEgwc0lGeHlYRzVjZEZ4MFhIUmNkRngwWEhSeVpXcGxZM1FnWEhKY2JseDBYSFJjZEZ4MFhIUjlJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSEpjYmx4MFhIUmNkR2xtS0NCaGNtZHpJQ1ltSUdGeVozTXViR1Z1WjNSb0lDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdWMlpXNTBMbkJoY21GdFpYUmxjbk1nUFNCaGNtZHpPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseHlYRzVjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVWx1ZEdWeVptRmpaUzV6Wlc1a1JYWmxiblFvSUdWMlpXNTBJQ2s3WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNUpiblJsY21aaFkyVW9JR0ZqZEdsMlpVbHVkR1Z5Wm1GalpUb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbUZqZEdsMlpVbHVkR1Z5Wm1GalpTQTlJR0ZqZEdsMlpVbHVkR1Z5Wm1GalpUdGNjbHh1WEhSY2RIUm9hWE11Y0hKdmNITXViMjVEYjI1dVpXTjBQeTRvSUdGamRHbDJaVWx1ZEdWeVptRmpaUzV3WldWeUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxTVzUwWlhKbVlXTmxMbTl1Ulc1a1pXUW9JQ2dwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11WVdOMGFYWmxTVzUwWlhKbVlXTmxJRDBnYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFJjZEM4dklISmxhbVZqZENCaGJHd2dkR2hsSUc5MWRITjBZVzVrYVc1bklISmxjWFZsYzNSelhISmNibHgwWEhSY2RHWnZjaWdnYkdWMElIWWdiMllnZEdocGN5NXlaWEYxWlhOMFVISnZiV2x6WlhNdVpXNTBjbWxsY3lncElDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhaYk1WMHVjbVZxWldOMEtDQmNJa3h2YzNRZ1kyOXVibVZqZEdsdmJsd2lJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSEpjYmx4MFhIUmNkSFJvYVhNdWNtVnhkV1Z6ZEZCeWIyMXBjMlZ6TG1Oc1pXRnlLQ2s3WEhKY2JseHlYRzVjZEZ4MFhIUjBhR2x6TG5CeWIzQnpMbTl1UkdselkyOXVibVZqZEQ4dUtDQmhZM1JwZG1WSmJuUmxjbVpoWTJVdWNHVmxjaUFwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpVbHVkR1Z5Wm1GalpTNXZia1YyWlc1MEtDQW9JR1YyWlc1ME9pQkJjR2xGZG1WdWRDQXBQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElIQWdQU0IwYUdsekxuSmxjWFZsYzNSUWNtOXRhWE5sY3k1blpYUW9JR1YyWlc1MExuSmxjWFZsYzNSSlpDQXBPMXh5WEc1Y2RGeDBYSFJwWmlnZ2NDQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSd0xuSmxjMjlzZG1Vb0lHVjJaVzUwSUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1eVpYRjFaWE4wVUhKdmJXbHpaWE11WkdWc1pYUmxLQ0JsZG1WdWRDNXlaWEYxWlhOMFNXUWdLVHRjY2x4dVhIUmNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseDBYSFJjZEgxY2NseHVYSEpjYmx4MFhIUmNkR3hsZENCb0lEMGdkR2hwY3k1d2NtOXdjeTVvWVc1a2JHVnljMXNnWlhabGJuUXVkSGx3WlNCZE8xeHlYRzVjZEZ4MFhIUnBaaWdnYUNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJvS0NCN0lHVnVaSEJ2YVc1MFFXUmtjam9nWVdOMGFYWmxTVzUwWlhKbVlXTmxMbkJsWlhJZ2ZTd2daWFpsYm5RdWNHRnlZVzFsZEdWeWN5QS9QeUJiWFN3Z1lXTjBhWFpsU1c1MFpYSm1ZV05sTG05eWFXZHBiaXhjY2x4dVhIUmNkRngwWEhSY2RHRmpkR2wyWlVsdWRHVnlabUZqWlM1MWMyVnlRV2RsYm5RZ0tWeHlYRzVjZEZ4MFhIUmNkQzUwYUdWdUtDQW9JSEpsYzNWc2REb2dZVzU1VzEwZ2ZDQnVkV3hzSUNrZ1BUNWNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnBaaWdnY21WemRXeDBJQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGFXWW9JR1YyWlc1MExuSmxjWFZsYzNSSlpDQXBYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnNaWFFnY21WemNFVjJaVzUwT2lCQmNHbEZkbVZ1ZENBOVhISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RGeDBkSGx3WlRvZ1pYWmxiblF1ZEhsd1pTeGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUmNkSEpsY1hWbGMzUkpaRG9nWlhabGJuUXVjbVZ4ZFdWemRFbGtMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkRngwY0dGeVlXMWxkR1Z5Y3pvZ2NtVnpkV3gwSUdGeklHRnVlVnRkTEZ4eVhHNWNkRngwWEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSaFkzUnBkbVZKYm5SbGNtWmhZMlV1YzJWdVpFVjJaVzUwS0NCeVpYTndSWFpsYm5RZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkRngwWEhSbGJITmxYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUhKbGRIVnliaUIyWVd4MVpTQndjbTkyYVdSbFpDQm1iM0lnSkhzZ1pYWmxiblF1ZEhsd1pTQjlJR1YyWlc1MExDQjNhR2xqYUNCa2FXUWdibTkwSUdWNGNHVmpkQ0J2Ym1WZ0lDazdYSEpjYmx4MFhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUjlJQ2xjY2x4dVhIUmNkRngwWEhRdVkyRjBZMmdvSUNoeVpXRnpiMjQ2SUdGdWVTazlQbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1RXVnpjMkZuWlNCb1lXNWtiR1Z5SUNSN0lHVjJaVzUwTG5SNWNHVWdmU0JtWVdsc1pXUWdkMmwwYUNBa2V5QnlaV0Z6YjI0Z2ZXQWdLVHRjY2x4dVhIUmNkRngwWEhSY2RHbG1LQ0JsZG1WdWRDNXlaWEYxWlhOMFNXUWdLVnh5WEc1Y2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhSc1pYUWdjbVZ6Y0VWMlpXNTBPaUJCY0dsRmRtVnVkQ0E5WEhKY2JseDBYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFIwZVhCbE9pQmxkbVZ1ZEM1MGVYQmxMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkSEpsY1hWbGMzUkpaRG9nWlhabGJuUXVjbVZ4ZFdWemRFbGtMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWEhSY2RHRmpkR2wyWlVsdWRHVnlabUZqWlM1elpXNWtSWFpsYm5Rb0lISmxjM0JGZG1WdWRDQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEZ4MFhIUnlaWFIxY200N1hISmNibHgwWEhSY2RIMWNjbHh1WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmdibThnYUdGdVpHeGxjaUJtYjNJZ1FWQkpJR1YyWlc1MElIUjVjR1U5SkhzZ1pYWmxiblF1ZEhsd1pTQjlJSEpsY1Vsa1BTUjdJR1YyWlc1MExuSmxjWFZsYzNSSlpDQjlZQ0FwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUhKbGJtUmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWFXMXdiR1Z0Wlc1MFlYUnBiMjRnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTRnUEVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUhKbFkyVnBkbVZ6UFh0Y2NseHVYSFJjZEZ4MFhIUmJYSEpjYmx4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEdsbVlXTmxPaUIwYUdsekxuQnliM0J6TG1Gd2FVNWhiV1VzWEhKY2JseDBYSFJjZEZ4MFhIUmNkSEJ5YjJObGMzTnZjam9nZEdocGN5NXZia2x1ZEdWeVptRmpaU3hjY2x4dVhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJkSUgxY2NseHVYSFJjZEZ4MFhIUjJiMngxYldVOWV5QnBibVpwYm1sMFpWWnZiSFZ0WlNncElIMWNjbHh1WEhSY2RGeDBYSFF2UGp0Y2NseHVYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBjbVYwZFhKdUlEeEJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVTQjBjbUZ1YzIxcGRITTllMXh5WEc1Y2RGeDBYSFJjZEZ0Y2NseHVYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBhV1poWTJVNklIUm9hWE11Y0hKdmNITXVZWEJwVG1GdFpTeGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGNISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVNXNTBaWEptWVdObExGeHlYRzVjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RGMGdmVnh5WEc1Y2RGeDBYSFJjZEhadmJIVnRaVDE3SUdsdVptbHVhWFJsVm05c2RXMWxLQ2tnZlZ4eVhHNWNkRngwWEhSY2RDOCtPMXh5WEc1Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JseHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FwaV9pbnRlcmZhY2UudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hcGlfbWVzc2FnZWJveC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FwaV9tZXNzYWdlYm94LnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19NZXNzYWdlYm94SW50ZXJmYWNlLCBNZXNzYWdlYm94RXZlbnRUeXBlLCBBdk1lc3NhZ2Vib3ggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcImtfTWVzc2FnZWJveEludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19NZXNzYWdlYm94SW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJNZXNzYWdlYm94RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBNZXNzYWdlYm94RXZlbnRUeXBlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdk1lc3NhZ2Vib3hcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2TWVzc2FnZWJveDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9pbnRlcmZhY2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXBpX2ludGVyZmFjZSAqLyBcXFwiLi9zcmMvYXBpX2ludGVyZmFjZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcblxcclxcblxcclxcblxcclxcblxcclxcbmNvbnN0IGtfTWVzc2FnZWJveEludGVyZmFjZSA9IFxcXCJtZXNzYWdlYm94QDFcXFwiO1xcclxcbnZhciBNZXNzYWdlYm94RXZlbnRUeXBlO1xcclxcbihmdW5jdGlvbiAoTWVzc2FnZWJveEV2ZW50VHlwZSkge1xcclxcbiAgICBNZXNzYWdlYm94RXZlbnRUeXBlW1xcXCJTaG93UHJvbXB0XFxcIl0gPSBcXFwic2hvd19wcm9tcHRcXFwiO1xcclxcbiAgICBNZXNzYWdlYm94RXZlbnRUeXBlW1xcXCJVc2VyUmVzcG9uc2VcXFwiXSA9IFxcXCJ1c2VyX3Jlc3BvbnNlXFxcIjtcXHJcXG4gICAgTWVzc2FnZWJveEV2ZW50VHlwZVtcXFwiQ2FuY2VsUHJvbXB0XFxcIl0gPSBcXFwiY2FuY2VsX3Byb21wdFxcXCI7XFxyXFxufSkoTWVzc2FnZWJveEV2ZW50VHlwZSB8fCAoTWVzc2FnZWJveEV2ZW50VHlwZSA9IHt9KSk7XFxyXFxuLyoqIENhdXNlcyBhIGxpbmUgdG8gYXBwZWFyIGZyb20gdGhlIHRyYW5zZm9ybSBvZiB0aGlzIG5vZGUncyBwYXJlbnQgdG8gdGhlXFxyXFxuICogc3BlY2lmaWVkIGVuZCBwb2ludC4gKi9cXHJcXG5jbGFzcyBBdk1lc3NhZ2Vib3ggZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMuYXBpID0gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlUmVmXFxcIl0oKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0UmVqZWN0ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0UmVzb2x2ZSA9IG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2hvd1Byb21wdChjYXB0aW9uLCBvcHRpb25zKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5hY3RpdmVQcm9tcHQpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIk9ubHkgb25lIHByb21wdCBhbGxvd2VkIGF0IGEgdGltZSBwZXIgQXZNZXNzYWdlYm94XFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0ID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbixcXHJcXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZWplY3QgPSByZWplY3Q7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZXNvbHZlID0gcmVzb2x2ZTtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5hcGkuY3VycmVudCAmJiB0aGlzLmFwaS5jdXJyZW50LmNvbm5lY3RlZCkge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiU2VuZGluZyBtYm94IHJlcXVlc3RcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5hcGkuY3VycmVudC5zZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShNZXNzYWdlYm94RXZlbnRUeXBlLlNob3dQcm9tcHQsIHRydWUsIHRoaXMuYWN0aXZlUHJvbXB0KVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQWN0aXZlUHJvbXB0KCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcXHJcXG4gICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgocmVhc29uKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyBKdXN0IGRyb3AgZXJyb3JzIG9uIHRoZSBmbG9vci4gV2UnbGwgdHJ5IGFnYWluIG9uIHJlY29ubmVjdFxcclxcbiAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkNvbm5lY3QoKSB7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiY29ubmVjdGVkIHRvIG1ib3hcXFwiKTtcXHJcXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVByb21wdCkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJzZW5kaW5nIHBvc3Rwb25lZCBtYm94IHJlcXVlc3RcXFwiKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmFwaS5jdXJyZW50LnNlbmRSZXF1ZXN0QW5kV2FpdEZvclJlc3BvbnNlKE1lc3NhZ2Vib3hFdmVudFR5cGUuU2hvd1Byb21wdCwgdHJ1ZSwgdGhpcy5hY3RpdmVQcm9tcHQpXFxyXFxuICAgICAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcmVzb2x2ZSA9IHRoaXMuYWN0aXZlUHJvbXB0UmVzb2x2ZTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckFjdGl2ZVByb21wdCgpO1xcclxcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyBKdXN0IGRyb3AgZXJyb3JzIG9uIHRoZSBmbG9vci4gV2UnbGwgdHJ5IGFnYWluIG9uIHJlY29ubmVjdFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGNhbmNlbFByb21wdCgpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hY3RpdmVQcm9tcHQpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIkF0dGVtcHQgdG8gY2FuY2VsIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIHByb21wdFxcXCIpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZWplY3QoXFxcIkNhbmNlbGxlZCBieSBjYWxsZXJcXFwiKTtcXHJcXG4gICAgICAgIHRoaXMuY2xlYXJBY3RpdmVQcm9tcHQoKTtcXHJcXG4gICAgICAgIC8vIGlmIHRoZXJlJ3Mgbm8gYWN0aXZlIGludGVyZmFjZSB0aGVyZSdzIG5vIG90aGVyIGVuZCB0byBjYW5jZWxcXHJcXG4gICAgICAgIGlmICh0aGlzLmFwaS5jdXJyZW50ICYmIHRoaXMuYXBpLmN1cnJlbnQuY29ubmVjdGVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hcGkuY3VycmVudC5zZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShNZXNzYWdlYm94RXZlbnRUeXBlLkNhbmNlbFByb21wdCwgZmFsc2UpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGNsZWFyQWN0aXZlUHJvbXB0KCkge1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHQgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZWplY3QgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZXNvbHZlID0gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hcGlfaW50ZXJmYWNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2QXBpSW50ZXJmYWNlXFxcIl0sIHsgYXBpTmFtZToga19NZXNzYWdlYm94SW50ZXJmYWNlLCByZWY6IHRoaXMuYXBpLCBvbkNvbm5lY3Q6IHRoaXMub25Db25uZWN0IH0pO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiYmluZFxcXCJdXFxyXFxuXSwgQXZNZXNzYWdlYm94LnByb3RvdHlwZSwgXFxcIm9uQ29ubmVjdFxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aGNHbGZiV1Z6YzJGblpXSnZlQzUwYzNnL05HWmxaU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenRCUVVFclFqdEJRVU5yUWp0QlFVTllPMEZCUlM5Q0xFMUJRVTBzY1VKQlFYRkNMRWRCUVVjc1kwRkJZeXhEUVVGRE8wRkJSWEJFTEVsQlFWa3NiVUpCUzFnN1FVRk1SQ3hYUVVGWkxHMUNRVUZ0UWp0SlFVVTVRaXhwUkVGQk1FSTdTVUZETVVJc2NVUkJRVGhDTzBsQlF6bENMSEZFUVVFNFFqdEJRVU12UWl4RFFVRkRMRVZCVEZjc2JVSkJRVzFDTEV0QlFXNUNMRzFDUVVGdFFpeFJRVXM1UWp0QlFXVkVPekJDUVVNd1FqdEJRVU51UWl4TlFVRk5MRmxCUVdFc1UwRkJVU3dyUTBGQmVVSTdTVUZCTTBRN08xRkJSVk1zVVVGQlJ5eEhRVUZITEN0RFFVRmxMRVZCUVd0Q0xFTkJRVU03VVVGRmVFTXNhVUpCUVZrc1IwRkJWeXhKUVVGSkxFTkJRVU03VVVGRE5VSXNkVUpCUVd0Q0xFZEJRWGRDTEVsQlFVa3NRMEZCUXp0UlFVTXZReXgzUWtGQmJVSXNSMEZCSzBJc1NVRkJTU3hEUVVGRE8wbEJNa1pvUlN4RFFVRkRPMGxCZWtaUExGVkJRVlVzUTBGQlJTeFBRVUZsTEVWQlFVVXNUMEZCTWtJN1VVRkZPVVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVTnlRanRaUVVORExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVVXNiMFJCUVc5RUxFTkJRVVVzUTBGQlF6dFRRVU40UlR0UlFVVkVMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVlVzUTBGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkhMRVZCUVVVN1dVRkZha1FzU1VGQlNTeERRVUZETEZsQlFWazdaMEpCUTJwQ08yOUNRVU5ETEU5QlFVODdiMEpCUTFBc1QwRkJUenRwUWtGRFVDeERRVUZETzFsQlEwWXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEhRVUZITEUxQlFVMHNRMEZCUXp0WlFVTnFReXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc1QwRkJUeXhEUVVGRE8xbEJSVzVETEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1UwRkJVeXhGUVVOc1JEdG5Ra0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxITkNRVUZ6UWl4RFFVRkZMRU5CUVVNN1owSkJRM1JETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVRlZMRzFDUVVGdFFpeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRVZCUXpOR0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVVTdjVUpCUTI1Q0xFbEJRVWtzUTBGQlJTeERRVUZGTEZGQlFXZENMRVZCUVVjc1JVRkJSVHR2UWtGRk4wSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdiMEpCUTNwQ0xFOUJRVThzUTBGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0blFrRkRja0lzUTBGQlF5eERRVUZGTzNGQ1FVTkdMRXRCUVVzc1EwRkJSU3hEUVVGRExFMUJRVmNzUlVGQlJ5eEZRVUZGTzI5Q1FVVjRRaXc0UkVGQk9FUTdaMEpCUXk5RUxFTkJRVU1zUTBGQlJTeERRVUZETzJGQlEwbzdVVUZEUml4RFFVRkRMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSMDhzVTBGQlV6dFJRVVZvUWl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHMUNRVUZ0UWl4RFFVRkZMRU5CUVVNN1VVRkRia01zU1VGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVTnlRanRaUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNaME5CUVdkRExFTkJRVVVzUTBGQlF6dFpRVU5vUkN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5dzJRa0ZCTmtJc1EwRkJWU3h0UWtGQmJVSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hGUVVNelJpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZPMmxDUVVOdVFpeEpRVUZKTEVOQlFVVXNRMEZCUlN4UlFVRm5RaXhGUVVGSExFVkJRVVU3WjBKQlJUZENMRWxCUVVrc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenRuUWtGRGRrTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdaMEpCUTNwQ0xFOUJRVThzUTBGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0WlFVTnlRaXhEUVVGRExFTkJRVVU3YVVKQlEwWXNTMEZCU3l4RFFVRkZMRU5CUVVNc1RVRkJWeXhGUVVGSExFVkJRVVU3WjBKQlJYaENMRGhFUVVFNFJEdFpRVU12UkN4RFFVRkRMRU5CUVVVc1EwRkJRenRUUVVWS08wbEJRMFlzUTBGQlF6dEpRVWROTEZsQlFWazdVVUZGYkVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlEzUkNPMWxCUTBNc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlJTeHJSRUZCYTBRc1EwRkJSU3hEUVVGRE8xTkJRM1JGTzFGQlJVUXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZGTEhGQ1FVRnhRaXhEUVVGRkxFTkJRVU03VVVGRmFrUXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdVVUZGZWtJc1owVkJRV2RGTzFGQlEyaEZMRWxCUVVrc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eEZRVU5zUkR0WlFVTkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETERaQ1FVRTJRaXhEUVVGUkxHMUNRVUZ0UWl4RFFVRkRMRmxCUVZrc1JVRkJSU3hMUVVGTExFTkJRVVVzUTBGQlF6dFRRVU5vUnp0SlFVTkdMRU5CUVVNN1NVRkZUeXhwUWtGQmFVSTdVVUZGZUVJc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZWtJc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVNdlFpeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNTeERRVUZETzBsQlEycERMRU5CUVVNN1NVRkZUU3hOUVVGTk8xRkJSVm9zVDBGQlR5eHZSRUZCUXl3MlJFRkJZeXhKUVVGRExFOUJRVThzUlVGQlJ5eHhRa0ZCY1VJc1JVRkJSeXhIUVVGSExFVkJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZEZEVVc1UwRkJVeXhGUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVkQlFVazdTVUZEYUVNc1EwRkJRenREUVVORU8wRkJja1JCTzBsQlJFTXNiVVJCUVVrN05rTkJjVUpLSWl3aVptbHNaU0k2SWk0dmMzSmpMMkZ3YVY5dFpYTnpZV2RsWW05NExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkJjR2xKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TDJGd2FWOXBiblJsY21aaFkyVW5PMXh5WEc1cGJYQnZjblFnZXlCaWFXNWtJSDBnWm5KdmJTQW5ZbWx1WkMxa1pXTnZjbUYwYjNJbk8xeHlYRzVjY2x4dVpYaHdiM0owSUdOdmJuTjBJR3RmVFdWemMyRm5aV0p2ZUVsdWRHVnlabUZqWlNBOUlGd2liV1Z6YzJGblpXSnZlRUF4WENJN1hISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQk5aWE56WVdkbFltOTRSWFpsYm5SVWVYQmxYSEpjYm50Y2NseHVYSFJUYUc5M1VISnZiWEIwSUQwZ1hDSnphRzkzWDNCeWIyMXdkRndpTEZ4eVhHNWNkRlZ6WlhKU1pYTndiMjV6WlNBOUlGd2lkWE5sY2w5eVpYTndiMjV6WlZ3aUxGeHlYRzVjZEVOaGJtTmxiRkJ5YjIxd2RDQTlJRndpWTJGdVkyVnNYM0J5YjIxd2RGd2lMRnh5WEc1OVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5aWE56WVdkbFltOTRUM0IwYVc5dVhISmNibnRjY2x4dVhIUnVZVzFsT2lCemRISnBibWM3SUM4dklIVnpaV1FnYVc1MFpYSnVZV3hzZVM0Z1RtOTBJR3h2WTJGc2FYcGxaRnh5WEc1Y2RIUmxlSFE2SUhOMGNtbHVaenNnTHk4Z1RHOWpZV3hwZW1Wa0lHRnVaQ0JrYVhOd2JHRjVaV1FnZEc4Z2RYTmxjbHh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCeWIyMXdkRnh5WEc1N1hISmNibHgwWTJGd2RHbHZiam9nYzNSeWFXNW5PMXh5WEc1Y2RHOXdkR2x2Ym5NNklFMWxjM05oWjJWaWIzaFBjSFJwYjI1YlhUdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFTmhkWE5sY3lCaElHeHBibVVnZEc4Z1lYQndaV0Z5SUdaeWIyMGdkR2hsSUhSeVlXNXpabTl5YlNCdlppQjBhR2x6SUc1dlpHVW5jeUJ3WVhKbGJuUWdkRzhnZEdobElGeHlYRzRnS2lCemNHVmphV1pwWldRZ1pXNWtJSEJ2YVc1MExpQXFMMXh5WEc1bGVIQnZjblFnWTJ4aGMzTWdRWFpOWlhOellXZGxZbTk0SUdWNGRHVnVaSE1nVW1WaFkzUXVRMjl0Y0c5dVpXNTBQQ0I3ZlN3Z2UzMGdQbHh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JoY0drZ1BTQlNaV0ZqZEM1amNtVmhkR1ZTWldZOFFYWkJjR2xKYm5SbGNtWmhZMlUrS0NrN1hISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ1lXTjBhWFpsVUhKdmJYQjBPaUJRY205dGNIUWdQU0J1ZFd4c08xeHlYRzVjZEhCeWFYWmhkR1VnWVdOMGFYWmxVSEp2YlhCMFVtVnFaV04wT2lBb2NtVmhjMjl1T2lCaGJua3BQVDUyYjJsa0lEMGdiblZzYkR0Y2NseHVYSFJ3Y21sMllYUmxJR0ZqZEdsMlpWQnliMjF3ZEZKbGMyOXNkbVU2SUNnZ2NtVnpjRzl1YzJVNklITjBjbWx1WnlBcFBUNTJiMmxrSUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwY0hWaWJHbGpJSE5vYjNkUWNtOXRjSFFvSUdOaGNIUnBiMjQ2SUhOMGNtbHVaeXdnYjNCMGFXOXVjem9nVFdWemMyRm5aV0p2ZUU5d2RHbHZibHRkSUNrZ1hISmNibHgwZTF4eVhHNWNkRngwYVdZb0lIUm9hWE11WVdOMGFYWmxVSEp2YlhCMElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDQmNJazl1YkhrZ2IyNWxJSEJ5YjIxd2RDQmhiR3h2ZDJWa0lHRjBJR0VnZEdsdFpTQndaWElnUVhaTlpYTnpZV2RsWW05NFhDSWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVOGMzUnlhVzVuUGlnZ0tDQnlaWE52YkhabExDQnlaV3BsWTNRZ0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxtRmpkR2wyWlZCeWIyMXdkQ0E5SUZ4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBZMkZ3ZEdsdmJpeGNjbHh1WEhSY2RGeDBYSFJ2Y0hScGIyNXpMRnh5WEc1Y2RGeDBYSFI5TzF4eVhHNWNkRngwWEhSMGFHbHpMbUZqZEdsMlpWQnliMjF3ZEZKbGFtVmpkQ0E5SUhKbGFtVmpkRHRjY2x4dVhIUmNkRngwZEdocGN5NWhZM1JwZG1WUWNtOXRjSFJTWlhOdmJIWmxJRDBnY21WemIyeDJaVHRjY2x4dVhISmNibHgwWEhSY2RHbG1LQ0IwYUdsekxtRndhUzVqZFhKeVpXNTBJQ1ltSUhSb2FYTXVZWEJwTG1OMWNuSmxiblF1WTI5dWJtVmpkR1ZrSUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lsTmxibVJwYm1jZ2JXSnZlQ0J5WlhGMVpYTjBYQ0lnS1R0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG1Gd2FTNWpkWEp5Wlc1MExuTmxibVJTWlhGMVpYTjBRVzVrVjJGcGRFWnZjbEpsYzNCdmJuTmxQSE4wY21sdVp6NG9JRTFsYzNOaFoyVmliM2hGZG1WdWRGUjVjR1V1VTJodmQxQnliMjF3ZEN3Z2RISjFaU3hjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11WVdOMGFYWmxVSEp2YlhCMElDbGNjbHh1WEhSY2RGeDBYSFF1ZEdobGJpZ2dLQ0J5WlhOd2IyNXpaVG9nYzNSeWFXNW5JQ2tnUFQ1Y2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSMGFHbHpMbU5zWldGeVFXTjBhWFpsVUhKdmJYQjBLQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUnlaWE52YkhabEtDQnlaWE53YjI1elpTQXBPMXh5WEc1Y2RGeDBYSFJjZEgwZ0tWeHlYRzVjZEZ4MFhIUmNkQzVqWVhSamFDZ2dLSEpsWVhOdmJqb2dZVzU1SUNrZ1BUNWNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUXZMeUJLZFhOMElHUnliM0FnWlhKeWIzSnpJRzl1SUhSb1pTQm1iRzl2Y2k0Z1YyVW5iR3dnZEhKNUlHRm5ZV2x1SUc5dUlISmxZMjl1Ym1WamRGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZTbGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQnZia052Ym01bFkzUW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW1OdmJtNWxZM1JsWkNCMGJ5QnRZbTk0WENJZ0tUdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxtRmpkR2wyWlZCeWIyMXdkQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJbk5sYm1ScGJtY2djRzl6ZEhCdmJtVmtJRzFpYjNnZ2NtVnhkV1Z6ZEZ3aUlDazdYSEpjYmx4MFhIUmNkSFJvYVhNdVlYQnBMbU4xY25KbGJuUXVjMlZ1WkZKbGNYVmxjM1JCYm1SWFlXbDBSbTl5VW1WemNHOXVjMlU4YzNSeWFXNW5QaWdnVFdWemMyRm5aV0p2ZUVWMlpXNTBWSGx3WlM1VGFHOTNVSEp2YlhCMExDQjBjblZsTEZ4eVhHNWNkRngwWEhSY2RIUm9hWE11WVdOMGFYWmxVSEp2YlhCMElDbGNjbHh1WEhSY2RGeDBMblJvWlc0b0lDZ2djbVZ6Y0c5dWMyVTZJSE4wY21sdVp5QXBJRDArWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnNaWFFnY21WemIyeDJaU0E5SUhSb2FYTXVZV04wYVhabFVISnZiWEIwVW1WemIyeDJaVHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbU5zWldGeVFXTjBhWFpsVUhKdmJYQjBLQ2s3WEhKY2JseDBYSFJjZEZ4MGNtVnpiMngyWlNnZ2NtVnpjRzl1YzJVZ0tUdGNjbHh1WEhSY2RGeDBmU0FwWEhKY2JseDBYSFJjZEM1allYUmphQ2dnS0hKbFlYTnZiam9nWVc1NUlDa2dQVDVjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RDOHZJRXAxYzNRZ1pISnZjQ0JsY25KdmNuTWdiMjRnZEdobElHWnNiMjl5TGlCWFpTZHNiQ0IwY25rZ1lXZGhhVzRnYjI0Z2NtVmpiMjV1WldOMFhISmNibHgwWEhSY2RIMGdLVHRjY2x4dVhISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhKY2JseDBjSFZpYkdsaklHTmhibU5sYkZCeWIyMXdkQ2dwSUZ4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaGRHaHBjeTVoWTNScGRtVlFjbTl0Y0hRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0lGd2lRWFIwWlcxd2RDQjBieUJqWVc1alpXd2dkMmhsYmlCMGFHVnlaU0JwY3lCdWJ5QmhZM1JwZG1VZ2NISnZiWEIwWENJZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFIwYUdsekxtRmpkR2wyWlZCeWIyMXdkRkpsYW1WamRDZ2dYQ0pEWVc1alpXeHNaV1FnWW5rZ1kyRnNiR1Z5WENJZ0tUdGNjbHh1WEhKY2JseDBYSFIwYUdsekxtTnNaV0Z5UVdOMGFYWmxVSEp2YlhCMEtDazdYSEpjYmx4eVhHNWNkRngwTHk4Z2FXWWdkR2hsY21VbmN5QnVieUJoWTNScGRtVWdhVzUwWlhKbVlXTmxJSFJvWlhKbEozTWdibThnYjNSb1pYSWdaVzVrSUhSdklHTmhibU5sYkZ4eVhHNWNkRngwYVdZb0lIUm9hWE11WVhCcExtTjFjbkpsYm5RZ0ppWWdkR2hwY3k1aGNHa3VZM1Z5Y21WdWRDNWpiMjV1WldOMFpXUWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxtRndhUzVqZFhKeVpXNTBMbk5sYm1SU1pYRjFaWE4wUVc1a1YyRnBkRVp2Y2xKbGMzQnZibk5sUEhadmFXUStLQ0JOWlhOellXZGxZbTk0UlhabGJuUlVlWEJsTGtOaGJtTmxiRkJ5YjIxd2RDd2dabUZzYzJVZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ1kyeGxZWEpCWTNScGRtVlFjbTl0Y0hRb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVZV04wYVhabFVISnZiWEIwSUQwZ2JuVnNiRHRjY2x4dVhIUmNkSFJvYVhNdVlXTjBhWFpsVUhKdmJYQjBVbVZxWldOMElEMGdiblZzYkR0Y2NseHVYSFJjZEhSb2FYTXVZV04wYVhabFVISnZiWEIwVW1WemIyeDJaU0E5SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdQRUYyUVhCcFNXNTBaWEptWVdObElHRndhVTVoYldVOWV5QnJYMDFsYzNOaFoyVmliM2hKYm5SbGNtWmhZMlVnZlNCeVpXWTlleUIwYUdsekxtRndhU0I5WEhKY2JseDBYSFJjZEc5dVEyOXVibVZqZEQxN0lIUm9hWE11YjI1RGIyNXVaV04wSUgwdlBseHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FwaV9tZXNzYWdlYm94LnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvY29tcG9uZW50X21vdmVhYmxlLnRzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9jb21wb25lbnRfbW92ZWFibGUudHMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IE1vdmVhYmxlQ29tcG9uZW50U3RhdGUsIENvbnRhaW5lclJlcXVlc3RUeXBlLCBHcmFiUmVxdWVzdFR5cGUsIEdyYWJQb3NlLCBNb3ZlYWJsZUNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ29udGFpbmVyUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIENvbnRhaW5lclJlcXVlc3RUeXBlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHcmFiUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEdyYWJSZXF1ZXN0VHlwZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiR3JhYlBvc2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEdyYWJQb3NlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTW92ZWFibGVDb21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG52YXIgTW92ZWFibGVDb21wb25lbnRTdGF0ZTtcXHJcXG4oZnVuY3Rpb24gKE1vdmVhYmxlQ29tcG9uZW50U3RhdGUpIHtcXHJcXG4gICAgTW92ZWFibGVDb21wb25lbnRTdGF0ZVtNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW1xcXCJJZGxlXFxcIl0gPSAwXSA9IFxcXCJJZGxlXFxcIjtcXHJcXG4gICAgTW92ZWFibGVDb21wb25lbnRTdGF0ZVtNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW1xcXCJJbkNvbnRhaW5lclxcXCJdID0gMV0gPSBcXFwiSW5Db250YWluZXJcXFwiO1xcclxcbiAgICBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW01vdmVhYmxlQ29tcG9uZW50U3RhdGVbXFxcIkdyYWJiZXJOZWFyYnlcXFwiXSA9IDJdID0gXFxcIkdyYWJiZXJOZWFyYnlcXFwiO1xcclxcbiAgICBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW01vdmVhYmxlQ29tcG9uZW50U3RhdGVbXFxcIkdyYWJiZWRcXFwiXSA9IDNdID0gXFxcIkdyYWJiZWRcXFwiO1xcclxcbiAgICBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW01vdmVhYmxlQ29tcG9uZW50U3RhdGVbXFxcIk1lbnVcXFwiXSA9IDRdID0gXFxcIk1lbnVcXFwiO1xcclxcbn0pKE1vdmVhYmxlQ29tcG9uZW50U3RhdGUgfHwgKE1vdmVhYmxlQ29tcG9uZW50U3RhdGUgPSB7fSkpO1xcclxcbnZhciBDb250YWluZXJSZXF1ZXN0VHlwZTtcXHJcXG4oZnVuY3Rpb24gKENvbnRhaW5lclJlcXVlc3RUeXBlKSB7XFxyXFxuICAgIENvbnRhaW5lclJlcXVlc3RUeXBlW1xcXCJSZWRyb3BcXFwiXSA9IFxcXCJyZWRyb3BcXFwiO1xcclxcbiAgICBDb250YWluZXJSZXF1ZXN0VHlwZVtcXFwiUmVkcm9wQ29tcGxldGVcXFwiXSA9IFxcXCJyZWRyb3BfY29tcGxldGVcXFwiO1xcclxcbn0pKENvbnRhaW5lclJlcXVlc3RUeXBlIHx8IChDb250YWluZXJSZXF1ZXN0VHlwZSA9IHt9KSk7XFxyXFxudmFyIEdyYWJSZXF1ZXN0VHlwZTtcXHJcXG4oZnVuY3Rpb24gKEdyYWJSZXF1ZXN0VHlwZSkge1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIkRyb3BZb3Vyc2VsZlxcXCJdID0gXFxcImRyb3BfeW91cnNlbGZcXFwiO1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIkRyb3BDb21wbGV0ZVxcXCJdID0gXFxcImRyb3BfY29tcGxldGVcXFwiO1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIlNldEdyYWJiZXJcXFwiXSA9IFxcXCJzZXRfZ3JhYmJlclxcXCI7XFxyXFxuICAgIEdyYWJSZXF1ZXN0VHlwZVtcXFwiUmVsZWFzZU1lXFxcIl0gPSBcXFwicmVsZWFzZV9tZVxcXCI7XFxyXFxuICAgIEdyYWJSZXF1ZXN0VHlwZVtcXFwiUmVxdWVzdFJlZ3JhYlxcXCJdID0gXFxcInJlcXVlc3RfcmVncmFiXFxcIjtcXHJcXG4gICAgR3JhYlJlcXVlc3RUeXBlW1xcXCJPdmVycmlkZVRyYW5zZm9ybVxcXCJdID0gXFxcIm92ZXJyaWRlX3RyYW5zZm9ybVxcXCI7XFxyXFxuICAgIEdyYWJSZXF1ZXN0VHlwZVtcXFwiU2hvd01lbnVcXFwiXSA9IFxcXCJzaG93X21lbnVcXFwiO1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIkhpZGVNZW51XFxcIl0gPSBcXFwiaGlkZV9tZW51XFxcIjtcXHJcXG59KShHcmFiUmVxdWVzdFR5cGUgfHwgKEdyYWJSZXF1ZXN0VHlwZSA9IHt9KSk7XFxyXFxuLyoqIERlZmluZXMgdGhlIHBvc2UgZnJvbSB0aGUgZ3JhYmJlciB0byB0aGUgZ3JhYmJhYmxlLCBhcyB3ZWxsIGFzIHRoZSBwb3NlIG9mIHRoZSBoYW5kIHdoZW4gdGhlIGdyYWJcXHJcXG4gKiBvY2N1cnMuXFxyXFxuICovXFxyXFxudmFyIEdyYWJQb3NlO1xcclxcbihmdW5jdGlvbiAoR3JhYlBvc2UpIHtcXHJcXG4gICAgLyoqIFVzZSB0aGUgbm9ybWFsIGFuaW1hdGVkIGhhbmQgd2hpbGUgZ3JhYmJpbmcgVXNlIHRoZSByZWxhdGl2ZSBwb3NlIGJldHdlZW4gdGhlIGdyYWJiZXIgYW5kIHRoZVxcclxcbiAgICAgKiBncmFiYmFibGUgd2hlbiB0aGUgZ3JhYiBzdGFydGVkIHdoZW4gcG9zaXRpb25pbmcgdGhlIGdyYWJiYWJsZS5cXHJcXG4gICAgICovXFxyXFxuICAgIEdyYWJQb3NlW1xcXCJOb25lXFxcIl0gPSBcXFwibm9uZVxcXCI7XFxyXFxuICAgIC8qKiBHcmFiIHdpdGggYSBwZW4gZ3JpcC4gVGhlIGdyYWIgcG9pbnQgaXMgdGhlIHRpcCBvZiB0aGUgcGVuLiAqL1xcclxcbiAgICBHcmFiUG9zZVtcXFwiUGVuXFxcIl0gPSBcXFwicGVuXFxcIjtcXHJcXG59KShHcmFiUG9zZSB8fCAoR3JhYlBvc2UgPSB7fSkpO1xcclxcbjtcXHJcXG5jbGFzcyBNb3ZlYWJsZUNvbXBvbmVudCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGNhbGxiYWNrLCB1c2VJbml0aWFsUGFyZW50LCBjYW5Ecm9wSW50b0NvbnRhaW5lcnMsIGZvcmNlZEdyYWJiZXJGcm9tR3JhYmJhYmxlKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMub3duZXJDYWxsYmFjayA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZUdyYWJzID0gbmV3IFNldCgpO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVDb250YWluZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5ncmFiYmVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMud2FzRXZlckRyb3BwZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMuZHJvcHBlZEludG9Jbml0aWFsUGFyZW50ID0gZmFsc2U7XFxyXFxuICAgICAgICB0aGlzLmluaXRpYWxJbnRlcmZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMud2FpdGluZ0ZvclJlZHJvcFRyYW5zZm9ybSA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLmNhbkRyb3BJbnRvQ29udGFpbmVycyA9IHRydWU7XFxyXFxuICAgICAgICB0aGlzLmZvcmNlZEdyYWJiZXJGcm9tR3JhYmJhYmxlID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuc2hvdWxkU2hvd01lbnUgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMuY2FuRHJvcEludG9Db250YWluZXJzID0gY2FuRHJvcEludG9Db250YWluZXJzICE9PSBudWxsICYmIGNhbkRyb3BJbnRvQ29udGFpbmVycyAhPT0gdm9pZCAwID8gY2FuRHJvcEludG9Db250YWluZXJzIDogdHJ1ZTtcXHJcXG4gICAgICAgIHRoaXMuZm9yY2VkR3JhYmJlckZyb21HcmFiYmFibGUgPSBmb3JjZWRHcmFiYmVyRnJvbUdyYWJiYWJsZTtcXHJcXG4gICAgICAgIHRoaXMub3duZXJDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICAgICAgaWYgKHVzZUluaXRpYWxQYXJlbnQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxJbnRlcmZhY2UgPSBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5pbml0aWFsSW50ZXJmYWNlcy5maW5kKChpaSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gaWkuaWZhY2UgPT0gTW92ZWFibGVDb21wb25lbnQuY29udGFpbmVySW50ZXJmYWNlO1xcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHN0YXRpYyBnZXQgY29udGFpbmVySW50ZXJmYWNlKCkgeyByZXR1cm4gXFxcImFhcmR2YXJrLWNvbnRhaW5lckAxXFxcIjsgfVxcclxcbiAgICBzdGF0aWMgZ2V0IGdyYWJJbnRlcmZhY2UoKSB7IHJldHVybiBcXFwiYWFyZHZhcmstZ3JhYkAxXFxcIjsgfVxcclxcbiAgICB1cGRhdGVMaXN0ZW5lcigpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm93bmVyQ2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICAgICAgKF9iID0gdGhpcy5lbnRpdHlDYWxsYmFjaykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IG1lbnVHcmFiYmVySW50ZXJmYWNlKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT0gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5NZW51KVxcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgLy8gVE9ETzogdHJhY2sgbWVudSBwZXIgZ3JhYmJlclxcclxcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlR3JhYnMuc2l6ZSA9PSAwKVxcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgbGV0IG1lbnUgPSB0aGlzLmFjdGl2ZUdyYWJzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcXHJcXG4gICAgICAgIHJldHVybiBtZW51O1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBtZW51R3JhYmJlcigpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLm1lbnVHcmFiYmVySW50ZXJmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgbWVudVNlbGZGcm9tR3JhYmJlcigpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLm1lbnVHcmFiYmVySW50ZXJmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VsZkZyb21QZWVyO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzdGF0ZSgpIHtcXHJcXG4gICAgICAgIGlmICh0aGlzLmdyYWJiZXIpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5HcmFiYmVkO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGhpcy5hY3RpdmVHcmFicy5zaXplID4gMCkge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZFNob3dNZW51KSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlLk1lbnU7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5HcmFiYmVyTmVhcmJ5O1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlQ29udGFpbmVyICYmIHRoaXMud2FzRXZlckRyb3BwZWQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5JbkNvbnRhaW5lcjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlLklkbGU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25HcmFiU3RhcnQoYWN0aXZlR3JhYikge1xcclxcbiAgICAgICAgYWN0aXZlR3JhYi5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiQUNUSVZFIEdSQUIgRU5ERUQgZnJvbSBcXFwiLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGFjdGl2ZUdyYWIucGVlcikpO1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR3JhYnMuZGVsZXRlKGFjdGl2ZUdyYWIpO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5ncmFiYmVyID09IGFjdGl2ZUdyYWIpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcIlRoaXMgc2hvdWxkbid0IGhhdmUgaGFwcGVuZWQuIFNvbWVob3cgd2UgbG9zdCBvdXIgYWN0aXZlIGdyYWJiZXJcXFwiLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKHRoaXMuZ3JhYmJlci5wZWVyKSk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuZHJvcEludG9Db250YWluZXIodHJ1ZSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVHcmFiLm9uRXZlbnQoKGV2ZW50KSA9PiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJFdmVudCByZWNlaXZlZFxcXCIsIGV2ZW50LnR5cGUsIGV2ZW50KTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHcmFiUmVxdWVzdFR5cGUuU2V0R3JhYmJlcjpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmdyYWJiZXIgPT0gYWN0aXZlR3JhYikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTZXRHcmFiYmVyIGZyb20gJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGFjdGl2ZUdyYWIucGVlcil9LCB3aGljaCB3YXMgYWxyZWFkeSBvdXIgZ3JhYmJlcmApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlbGVhc2UgPSB7IHR5cGU6IEdyYWJSZXF1ZXN0VHlwZS5SZWxlYXNlTWUgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmdyYWJiZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQocmVsZWFzZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmFiYmVyID0gYWN0aXZlR3JhYjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JjZWRHcmFiYmVyRnJvbUdyYWJiYWJsZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb3ZlcnJpZGVUcmFuc2Zvcm0gPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBHcmFiUmVxdWVzdFR5cGUuT3ZlcnJpZGVUcmFuc2Zvcm0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmFiYmVyRnJvbUdyYWJiYWJsZTogdGhpcy5mb3JjZWRHcmFiYmVyRnJvbUdyYWJiYWJsZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmFiYmVyLnNlbmRFdmVudChvdmVycmlkZVRyYW5zZm9ybSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYiA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Iuc2VuZEV2ZW50KHsgc3RhdGU6IFxcXCJNb3ZpbmdcXFwiIH0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYyA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MudW5sb2NrKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImFjdGl2ZUNvbnRhaW5lci51bmxvY2soKVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAodGhpcy5hY3RpdmVDb250YWluZXIgPyBcXFwiXFxcIiA6IFxcXCJOTyBDT05UQUlORVJcXFwiKSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgR3JhYlJlcXVlc3RUeXBlLkRyb3BZb3Vyc2VsZjpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMuZHJvcEludG9Db250YWluZXIodHJ1ZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVHcmFiLnNlbmRFdmVudCh7IHR5cGU6IEdyYWJSZXF1ZXN0VHlwZS5Ecm9wQ29tcGxldGUgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHcmFiUmVxdWVzdFR5cGUuU2hvd01lbnU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3VsZFNob3dNZW51ID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIEdyYWJSZXF1ZXN0VHlwZS5IaWRlTWVudTpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd01lbnUgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlR3JhYnMuYWRkKGFjdGl2ZUdyYWIpO1xcclxcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICB9XFxyXFxuICAgIGRyb3BJbnRvQ3VycmVudENvbnRhaW5lcigpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHlpZWxkIHRoaXMuZHJvcEludG9Db250YWluZXIodHJ1ZSk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBkcm9wSW50b0NvbnRhaW5lcihyZXF1ZXN0TG9jaywgbW92ZWFibGVUb1JlcGxhY2UsIG9sZE1vdmVhYmxlRnJvbU5ld01vdmVhYmxlKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgaWYgKHJlcXVlc3RMb2NrKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJiZWZvcmUgbG9ja1xcXCIpO1xcclxcbiAgICAgICAgICAgICAgICB5aWVsZCAoKF9hID0gdGhpcy5hY3RpdmVDb250YWluZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2NrKCkpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiYmVmb3JlIHNlbmRFdmVudFxcXCIpO1xcclxcbiAgICAgICAgICAgIHlpZWxkICgoX2IgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNlbmRFdmVudCh7IHN0YXRlOiBcXFwiUmVzdGluZ1xcXCIsIG1vdmVhYmxlVG9SZXBsYWNlLCBvbGRNb3ZlYWJsZUZyb21OZXdNb3ZlYWJsZSB9KSk7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImFmdGVyIHNlbmRFdmVudFxcXCIpO1xcclxcbiAgICAgICAgICAgIHRoaXMud2FzRXZlckRyb3BwZWQgPSB0cnVlO1xcclxcbiAgICAgICAgICAgIHRoaXMuZ3JhYmJlciA9IG51bGw7XFxyXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgdHJpZ2dlclJlZ3JhYihyZXBsYWNlbWVudE1vdmVhYmxlLCBvbGRNb3ZlYWJsZUZyb21OZXdNb3ZlYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGUgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogR3JhYlJlcXVlc3RUeXBlLlJlcXVlc3RSZWdyYWIsXFxyXFxuICAgICAgICAgICAgbmV3TW92ZWFibGU6IHJlcGxhY2VtZW50TW92ZWFibGUsXFxyXFxuICAgICAgICAgICAgb2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGUsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5ncmFiYmVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KGUpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uQ29udGFpbmVyU3RhcnQoYWN0aXZlQ29udGFpbmVyKSB7XFxyXFxuICAgICAgICBhY3RpdmVDb250YWluZXIub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVDb250YWluZXIgPSBudWxsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgQ29udGFpbmVyUmVxdWVzdFR5cGUuUmVkcm9wOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZWRyb3AgcmVxdWVzdCB0byByZXBsYWNlICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShldmVudC5tb3ZlYWJsZVRvUmVwbGFjZSl9YCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wID0gZXZlbnQubW92ZWFibGVUb1JlcGxhY2U7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wVHJhbnNmb3JtID0gZXZlbnQub2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ29udGFpbmVyLnJlbG9jayhldmVudC5uZXdDb250YWluZXIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgQ29udGFpbmVyUmVxdWVzdFR5cGUuUmVkcm9wQ29tcGxldGU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ29udGFpbmVyLnVubG9jaygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2FzRXZlckRyb3BwZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RlbmVyKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlQ29udGFpbmVyID0gYWN0aXZlQ29udGFpbmVyO1xcclxcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbEludGVyZmFjZSAmJiAhdGhpcy5kcm9wcGVkSW50b0luaXRpYWxQYXJlbnRcXHJcXG4gICAgICAgICAgICAmJiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkcnNNYXRjaFxcXCJdKSh0aGlzLmluaXRpYWxJbnRlcmZhY2UucmVjZWl2ZXIsIGFjdGl2ZUNvbnRhaW5lci5wZWVyKSkge1xcclxcbiAgICAgICAgICAgIC8vIGRvbid0IG5lZWQgdG8gbG9jayBiZWNhdXNlIHRoZSBpbml0aWFsIGxvY2sgdG9vayBjYXJlIG9mIHRoYXQgZm9yIHVzXFxyXFxuICAgICAgICAgICAgdGhpcy5kcm9wSW50b0NvbnRhaW5lcihmYWxzZSk7XFxyXFxuICAgICAgICAgICAgdGhpcy5kcm9wcGVkSW50b0luaXRpYWxQYXJlbnQgPSB0cnVlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMud2FpdGluZ0ZvclJlZHJvcCkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBnb3QgbmV3IGNvbnRhaW5lciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoYWN0aXZlQ29udGFpbmVyLnBlZXIpfSB3aGlsZSB3YWl0aW5nIGZvciByZWRyb3BgKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmRyb3BJbnRvQ29udGFpbmVyKGZhbHNlLCB0aGlzLndhaXRpbmdGb3JSZWRyb3AsIHRoaXMud2FpdGluZ0ZvclJlZHJvcFRyYW5zZm9ybSk7XFxyXFxuICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wID0gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXRzKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMuY2FuRHJvcEludG9Db250YWluZXJzKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIFtcXHJcXG4gICAgICAgICAgICAgICAgeyBpZmFjZTogTW92ZWFibGVDb21wb25lbnQuY29udGFpbmVySW50ZXJmYWNlLCBwcm9jZXNzb3I6IHRoaXMub25Db250YWluZXJTdGFydCB9XFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcmVjZWl2ZXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW3sgaWZhY2U6IFxcXCJhYXJkdmFyay1ncmFiQDFcXFwiLCBwcm9jZXNzb3I6IHRoaXMub25HcmFiU3RhcnQgfV07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHBhcmVudCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGlmICh0aGlzLmdyYWJiZXIpIHtcXHJcXG4gICAgICAgICAgICAvLyBpZiB3ZSdyZSBjdXJyZW50bHkgZ3JhYmJlZCwgdGhhdCdzIG91ciBwYXJlbnRcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ncmFiYmVyLnBlZXI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLndhc0V2ZXJEcm9wcGVkKSB7XFxyXFxuICAgICAgICAgICAgLy8gaWYgd2UndmUgZXZlciBiZWVuIGRyb3BwZWQgaW50byBhIGNvbnRhaW5lcixcXHJcXG4gICAgICAgICAgICAvLyB0aGF0IGNhbiBiZSBvdXIgcGFyZW50XFxyXFxuICAgICAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSwgd2UgaGF2ZSBubyBwYXJlbnQgYW5kIHNob3VsZCBvYmV5IHdoYXRldmVyXFxyXFxuICAgICAgICAgICAgLy8gdGhlIHNjZW5lIGdyYXBoIHByb3ZpZGVzIGFzIG91ciB0cmFuc2Zvcm1cXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlTG9ja3MoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5pbml0aWFsSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIChbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbEludGVyZmFjZVxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGdldCB3YW50c1RyYW5zZm9ybXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVzZXQoKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5hY3RpdmVDb250YWluZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS51bmxvY2soKTtcXHJcXG4gICAgICAgIChfYiA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Iuc2VuZEV2ZW50KHsgc3RhdGU6IFxcXCJNb3ZpbmdcXFwiIH0pO1xcclxcbiAgICAgICAgdGhpcy53YXNFdmVyRHJvcHBlZCA9IGZhbHNlO1xcclxcbiAgICAgICAgdGhpcy5ncmFiYmVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBNb3ZlYWJsZUNvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbkdyYWJTdGFydFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBNb3ZlYWJsZUNvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbkNvbnRhaW5lclN0YXJ0XFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlqYjIxd2IyNWxiblJmYlc5MlpXRmliR1V1ZEhNL1pUZGtOeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenM3TzBGQlFUWkRPMEZCUTI5SU8wRkJReTlJTzBGQlNXeERMRWxCUVZrc2MwSkJUMWc3UVVGUVJDeFhRVUZaTEhOQ1FVRnpRanRKUVVWcVF5eHRSVUZCU1R0SlFVTktMR2xHUVVGWE8wbEJRMWdzY1VaQlFXRTdTVUZEWWl4NVJVRkJUenRKUVVOUUxHMUZRVUZKTzBGQlEwd3NRMEZCUXl4RlFWQlhMSE5DUVVGelFpeExRVUYwUWl4elFrRkJjMElzVVVGUGFrTTdRVUZGUkN4SlFVRlpMRzlDUVVsWU8wRkJTa1FzVjBGQldTeHZRa0ZCYjBJN1NVRkZMMElzZVVOQlFXbENPMGxCUTJwQ0xEQkVRVUZyUXp0QlFVTnVReXhEUVVGRExFVkJTbGNzYjBKQlFXOUNMRXRCUVhCQ0xHOUNRVUZ2UWl4UlFVa3ZRanRCUVZWRUxFbEJRVmtzWlVGVldEdEJRVlpFTEZkQlFWa3NaVUZCWlR0SlFVVXhRaXhwUkVGQk9FSTdTVUZET1VJc2FVUkJRVGhDTzBsQlF6bENMRFpEUVVFd1FqdEpRVU14UWl3eVEwRkJkMEk3U1VGRGVFSXNiVVJCUVdkRE8wbEJRMmhETERKRVFVRjNRenRKUVVONFF5eDVRMEZCYzBJN1NVRkRkRUlzZVVOQlFYTkNPMEZCUTNaQ0xFTkJRVU1zUlVGV1Z5eGxRVUZsTEV0QlFXWXNaVUZCWlN4UlFWVXhRanRCUVVkRU96dEhRVVZITzBGQlEwZ3NTVUZCV1N4UlFWTllPMEZCVkVRc1YwRkJXU3hSUVVGUk8wbEJSVzVDT3p0UFFVVkhPMGxCUTBnc2VVSkJRV0U3U1VGRllpeHJSVUZCYTBVN1NVRkRiRVVzZFVKQlFWYzdRVUZEV2l4RFFVRkRMRVZCVkZjc1VVRkJVU3hMUVVGU0xGRkJRVkVzVVVGVGJrSTdRVUZCUVN4RFFVRkRPMEZCVjBzc1RVRkJUU3hwUWtGQmFVSTdTVUZ2UWpkQ0xGbEJRV0VzVVVGQmIwSXNSVUZCUlN4blFrRkJNRUlzUlVGQlJTeHhRa0ZCSzBJc1JVRkROMFlzTUVKQlFYVkVPMUZCYUVKb1JDeHRRa0ZCWXl4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVOc1F5eHJRa0ZCWVN4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVWcVF5eG5Ra0ZCVnl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGdFFpeERRVUZETzFGQlEzcERMRzlDUVVGbExFZEJRVzlDTEVsQlFVa3NRMEZCUXp0UlFVTjRReXhaUVVGUExFZEJRVzlDTEVsQlFVa3NRMEZCUXp0UlFVTm9ReXh0UWtGQll5eEhRVUZaTEV0QlFVc3NRMEZCUXp0UlFVTm9ReXcyUWtGQmQwSXNSMEZCV1N4TFFVRkxMRU5CUVVNN1VVRkRNVU1zY1VKQlFXZENMRWRCUVhkQ0xFbEJRVWtzUTBGQlF6dFJRVU0zUXl4eFFrRkJaMElzUjBGQlowSXNTVUZCU1N4RFFVRkRPMUZCUTNKRExEaENRVUY1UWl4SFFVRnZRaXhKUVVGSkxFTkJRVU03VVVGRGJFUXNNRUpCUVhGQ0xFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6ZENMQ3RDUVVFd1FpeEhRVUVyUWl4SlFVRkpMRU5CUVVNN1VVRkRPVVFzYlVKQlFXTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkxPVUlzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhIUVVGSExIRkNRVUZ4UWl4aFFVRnlRaXh4UWtGQmNVSXNZMEZCY2tJc2NVSkJRWEZDTEVkQlFVa3NTVUZCU1N4RFFVRkRPMUZCUXpORUxFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1IwRkJSeXd3UWtGQk1FSXNRMEZCUXp0UlFVTTNSQ3hKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEZGQlFWRXNRMEZCUXp0UlFVTTVRaXhKUVVGSkxHZENRVUZuUWl4RlFVTndRanRaUVVORExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1IwRkJSeXg1UkVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVsQlFVa3NRMEZCUlN4RFFVRkZMRVZCUVhkQ0xFVkJRVWNzUlVGQlJUdG5Ra0ZGYkVjc1QwRkJUeXhGUVVGRkxFTkJRVU1zUzBGQlN5eEpRVUZKTEdsQ1FVRnBRaXhEUVVGRExHdENRVUZyUWl4RFFVRkRPMWxCUTNwRUxFTkJRVU1zUTBGQlJTeERRVUZETzFOQlEwbzdTVUZEUml4RFFVRkRPMGxCTDBKTkxFMUJRVTBzUzBGQlN5eHJRa0ZCYTBJc1MwRkJTeXhQUVVGUExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1JTeE5RVUZOTEV0QlFVc3NZVUZCWVN4TFFVRkxMRTlCUVU4c2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCWjBOMlJDeGpRVUZqT3p0UlFVVnlRaXhWUVVGSkxFTkJRVU1zWVVGQllTd3JRMEZCYkVJc1NVRkJTU3hGUVVGdFFqdFJRVU4yUWl4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRKUVVONlFpeERRVUZETzBsQlJVUXNTVUZCV1N4dlFrRkJiMEk3VVVGRkwwSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxITkNRVUZ6UWl4RFFVRkRMRWxCUVVrN1dVRkROVU1zVDBGQlR5eEpRVUZKTEVOQlFVTTdVVUZGWWl3clFrRkJLMEk3VVVGREwwSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETzFsQlF6ZENMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJSV0lzU1VGQlNTeEpRVUZKTEVkQlFXOUNMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRMjVGTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJJc1EwRkJRenRKUVVWRUxFbEJRVmNzVjBGQlZ6czdVVUZGY2tJc1lVRkJUeXhKUVVGSkxFTkJRVU1zYjBKQlFXOUNMREJEUVVGRkxFbEJRVWtzUTBGQlF6dEpRVU40UXl4RFFVRkRPMGxCUlVRc1NVRkJWeXh0UWtGQmJVSTdPMUZCUlRkQ0xHRkJRVThzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXd3UTBGQlJTeFpRVUZaTEVOQlFVTTdTVUZEYUVRc1EwRkJRenRKUVVWRUxFbEJRVmNzUzBGQlN6dFJRVVZtTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkRhRUk3V1VGRFF5eFBRVUZQTEhOQ1FVRnpRaXhEUVVGRExFOUJRVThzUTBGQlF6dFRRVU4wUXp0aFFVTkpMRWxCUVVrc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4RlFVTnNRenRaUVVORExFbEJRVWtzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZEZGtJN1owSkJRME1zVDBGQlR5eHpRa0ZCYzBJc1EwRkJReXhKUVVGSkxFTkJRVU03WVVGRGJrTTdhVUpCUlVRN1owSkJRME1zVDBGQlR5eHpRa0ZCYzBJc1EwRkJReXhoUVVGaExFTkJRVU03WVVGRE5VTTdVMEZEUkR0aFFVTkpMRWxCUVVrc1NVRkJTU3hEUVVGRExHVkJRV1VzU1VGQlNTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVTndSRHRaUVVORExFOUJRVThzYzBKQlFYTkNMRU5CUVVNc1YwRkJWeXhEUVVGRE8xTkJRekZETzJGQlJVUTdXVUZEUXl4UFFVRlBMSE5DUVVGelFpeERRVUZETEVsQlFVa3NRMEZCUXp0VFFVTnVRenRKUVVOR0xFTkJRVU03U1VGSFR5eFhRVUZYTEVOQlFVVXNWVUZCTWtJN1VVRkZMME1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVN1dVRkZka0lzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN4NVFrRkJlVUlzUlVGQlJTeDNSa0ZCYjBJc1EwRkJSU3hWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTnNSaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUlN4VlFVRlZMRU5CUVVVc1EwRkJRenRaUVVOMFF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1dVRkZkRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4SlFVRkpMRlZCUVZVc1JVRkRPVUk3WjBKQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3hyUlVGQmEwVXNSVUZET1VVc2QwWkJRVzlDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlJTeERRVUZETzJkQ1FVTTNReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1NVRkJTU3hEUVVGRkxFTkJRVU03WVVGREwwSTdVVUZEUml4RFFVRkRMRU5CUVVVc1EwRkJRenRSUVVWS0xGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCVVN4TFFVRnJRaXhGUVVGSExFVkJRVVU3TzFsQlJXeEVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzWjBKQlFXZENMRVZCUVVVc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0WlFVTnVSQ3hSUVVGUkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlEyeENPMmRDUVVORExFdEJRVXNzWlVGQlpTeERRVUZETEZWQlFWVTdiMEpCUXpsQ0xFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNTVUZCU1N4VlFVRlZMRVZCUXpsQ08zZENRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2JVSkJRVzFDTEhkR1FVRnZRaXhEUVVGRkxGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVY3NhVU5CUVdsRExFTkJRVVVzUTBGQlF6dHhRa0ZETlVjN2VVSkJSVVE3ZDBKQlEwTXNTVUZCU1N4UFFVRlBMRWRCUVdkQ0xFVkJRVVVzU1VGQlNTeEZRVUZGTEdWQlFXVXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenQzUWtGREwwUXNWVUZCU1N4RFFVRkRMRTlCUVU4c01FTkJRVVVzVTBGQlV5eERRVUZGTEU5QlFVOHNSVUZCUnp0M1FrRkZia01zU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4VlFVRlZMRU5CUVVNN2QwSkJSVEZDTEVsQlFVa3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeEZRVU51UXpzMFFrRkRReXhKUVVGSkxHbENRVUZwUWl4SFFVTnlRanRuUTBGRFF5eEpRVUZKTEVWQlFVVXNaVUZCWlN4RFFVRkRMR2xDUVVGcFFqdG5RMEZEZGtNc2IwSkJRVzlDTEVWQlFVVXNTVUZCU1N4RFFVRkRMREJDUVVFd1FqczJRa0ZEY2tRN05FSkJRMFFzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVVc2FVSkJRV2xDTEVOQlFVVXNRMEZCUXp0NVFrRkROVU03ZDBKQlJVUXNWVUZCU1N4RFFVRkRMR1ZCUVdVc01FTkJRVVVzVTBGQlV5eERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hGUVVGSE8zZENRVU4yUkN4VlFVRkpMRU5CUVVNc1pVRkJaU3d3UTBGQlJTeE5RVUZOTEVkQlFVYzdkMEpCUXk5Q0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNNRUpCUVRCQ096aENRVU53UXl4RFFVRkZMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRkxFTkJRVVVzUTBGQlF6dDNRa0ZGY0VRc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzNGQ1FVTjBRanR2UWtGRFJDeE5RVUZOTzJkQ1FVVlFMRXRCUVVzc1pVRkJaU3hEUVVGRExGbEJRVms3YjBKQlEyaERMRTFCUVUwc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8yOUNRVU55UXl4VlFVRlZMRU5CUVVNc1UwRkJVeXhEUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEdWQlFXVXNRMEZCUXl4WlFVRlpMRVZCUVdsQ0xFTkJRVVVzUTBGQlF6dHZRa0ZET1VVc1RVRkJUVHRuUWtGRlVDeExRVUZMTEdWQlFXVXNRMEZCUXl4UlFVRlJPMjlDUVVNMVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRE0wSXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8yOUNRVU4wUWl4TlFVRk5PMmRDUVVWUUxFdEJRVXNzWlVGQlpTeERRVUZETEZGQlFWRTdiMEpCUXpWQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NTMEZCU3l4RFFVRkRPMjlDUVVNMVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN2IwSkJRM1JDTEUxQlFVMDdZVUZEVUR0UlFVTkdMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJSVW9zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVVc1ZVRkJWU3hEUVVGRkxFTkJRVU03VVVGRGJrTXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8wbEJRM1pDTEVOQlFVTTdTVUZGV1N4M1FrRkJkMEk3TzFsQlJYQkRMRTFCUVUwc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xRkJRM1JETEVOQlFVTTdTMEZCUVR0SlFVVmhMR2xDUVVGcFFpeERRVUZGTEZkQlFXOUNMRVZCUVVVc2FVSkJRV2RETEVWQlEzUkdMREJDUVVFMFF6czdPMWxCUlRWRExFbEJRVWtzVjBGQlZ5eEZRVU5tTzJkQ1FVTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzWVVGQllTeERRVUZGTEVOQlFVTTdaMEpCUXpkQ0xHRkJRVTBzU1VGQlNTeERRVUZETEdWQlFXVXNNRU5CUVVVc1NVRkJTU3hIUVVGRkxFTkJRVU03WVVGRGJrTTdXVUZEUkN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHdENRVUZyUWl4RFFVRkZMRU5CUVVNN1dVRkRiRU1zWVVGQlRTeEpRVUZKTEVOQlFVTXNaVUZCWlN3d1EwRkJSU3hUUVVGVExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTERCQ1FVRXdRaXhGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU0zUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHbENRVUZwUWl4RFFVRkZMRU5CUVVNN1dVRkZha01zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRNMElzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRjRUlzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPenRMUVVOMFFqdEpRVVZOTEdGQlFXRXNRMEZCUlN4dFFrRkJhVU1zUlVGQlJTd3dRa0ZCTWtNN08xRkJSVzVITEVsQlFVa3NRMEZCUXl4SFFVTk1PMWxCUTBNc1NVRkJTU3hGUVVGRkxHVkJRV1VzUTBGQlF5eGhRVUZoTzFsQlEyNURMRmRCUVZjc1JVRkJSU3h0UWtGQmJVSTdXVUZEYUVNc01FSkJRVEJDTzFOQlF6RkNPMUZCUTBRc1ZVRkJTU3hEUVVGRExFOUJRVThzTUVOQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNc1JVRkJSenRKUVVNNVFpeERRVUZETzBsQlIwOHNaMEpCUVdkQ0xFTkJRVVVzWlVGQlowTTdVVUZGZWtRc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVTdXVUZGTlVJc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFGQlEzWkNMRU5CUVVNc1EwRkJSU3hEUVVGRE8xRkJSVW9zWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkZMRXRCUVhWQ0xFVkJRVWNzUlVGQlJUdFpRVVYwUkN4UlFVRlJMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRMnhDTzJkQ1FVTkRMRXRCUVVzc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0dlFrRkRhRU03ZDBKQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3cyUWtGQk9FSXNkMFpCUVc5Q0xFTkJRVVVzUzBGQlN5eERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFVkJRVVVzUTBGQlJTeERRVUZETzNkQ1FVTXZSaXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1MwRkJTeXhEUVVGRExHbENRVUZwUWl4RFFVRkRPM2RDUVVOb1JDeEpRVUZKTEVOQlFVTXNlVUpCUVhsQ0xFZEJRVWNzUzBGQlN5eERRVUZETERCQ1FVRXdRaXhEUVVGRE8zZENRVU5zUlN4bFFVRmxMRU5CUVVNc1RVRkJUU3hEUVVGRkxFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVVXNRMEZCUXp0eFFrRkROME03YjBKQlEwUXNUVUZCVFR0blFrRkZUaXhMUVVGTExHOUNRVUZ2UWl4RFFVRkRMR05CUVdNN2IwSkJRM2hETzNkQ1FVTkRMR1ZCUVdVc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dDNRa0ZEZWtJc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eExRVUZMTEVOQlFVTTdkMEpCUXpWQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0eFFrRkRkRUk3YjBKQlEwUXNUVUZCVFR0aFFVTk9PMUZCUTBZc1EwRkJReXhEUVVGRkxFTkJRVU03VVVGRlNpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMR1ZCUVdVc1EwRkJRenRSUVVOMlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1VVRkZkRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNkMEpCUVhkQ08yVkJRM1pFTEhOR1FVRnJRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhSUVVGUkxFVkJRVVVzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUlN4RlFVTTVSVHRaUVVORExIVkZRVUYxUlR0WlFVTjJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1MwRkJTeXhEUVVGRkxFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMSGRDUVVGM1FpeEhRVUZITEVsQlFVa3NRMEZCUXp0VFFVTnlRenRSUVVWRUxFbEJRVWtzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhGUVVONlFqdFpRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2NVSkJRWE5DTEhkR1FVRnZRaXhEUVVGRkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVY3NNa0pCUVRKQ0xFTkJRVVVzUTBGQlF6dFpRVU01Unl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSVUZCUlN4SlFVRkpMRU5CUVVNc2VVSkJRWGxDTEVOQlFVVXNRMEZCUXp0WlFVTjJSaXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1NVRkJTU3hEUVVGRE8xTkJRemRDTzBsQlEwWXNRMEZCUXp0SlFVVkVMRWxCUVZjc1UwRkJVenRSUVVWdVFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUlVGRE9VSTdXVUZEUXl4UFFVRlBPMmRDUVVOT0xFVkJRVVVzUzBGQlN5eEZRVUZGTEdsQ1FVRnBRaXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVN1lVRkRha1lzUTBGQlF6dFRRVU5HTzJGQlJVUTdXVUZEUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRUUVVOV08wbEJRMFlzUTBGQlF6dEpRVVZFTEVsQlFWY3NVVUZCVVR0UlFVVnNRaXhQUVVGUExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN08xRkJSV2hDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkRhRUk3V1VGRFF5eG5SRUZCWjBRN1dVRkRhRVFzVDBGQlR5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJRenRUUVVONlFqdGhRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkROVUk3V1VGRFF5d3JRMEZCSzBNN1dVRkRMME1zZVVKQlFYbENPMWxCUTNwQ0xHRkJRVThzU1VGQlNTeERRVUZETEdWQlFXVXNNRU5CUVVVc1NVRkJTU3hEUVVGRE8xTkJRMnhETzJGQlJVUTdXVUZEUXl4M1JFRkJkMFE3V1VGRGVFUXNORU5CUVRSRE8xbEJRelZETEU5QlFVOHNTVUZCU1N4RFFVRkRPMU5CUTFvN1NVRkRSaXhEUVVGRE8wbEJSVVFzU1VGQlZ5eGpRVUZqTzFGQlJYaENMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTjZRanRaUVVORExFOUJRVThzUTBGRFRqdG5Ra0ZEUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTzJGQlEzSkNMRU5CUVVVc1EwRkJRenRUUVVOTU8wbEJRMFlzUTBGQlF6dEpRVVZFTEVsQlFWY3NaVUZCWlR0UlFVVjZRaXhQUVVGUExFdEJRVXNzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZIVFN4TFFVRkxPenRSUVVWWUxGVkJRVWtzUTBGQlF5eGxRVUZsTERCRFFVRkZMRTFCUVUwc1IwRkJSenRSUVVNdlFpeFZRVUZKTEVOQlFVTXNaVUZCWlN3d1EwRkJSU3hUUVVGVExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVVUZCVVN4RlFVRkZMRVZCUVVjN1VVRkRka1FzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkROVUlzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRjRUlzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMGxCUTNaQ0xFTkJRVU03U1VGRlRTeFJRVUZSTEVOQlFVVXNVVUZCYjBJN1VVRkZjRU1zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRhRU1zUTBGQlF6dEpRVVZOTEUxQlFVMDdVVUZGV2l4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOaUxFTkJRVU03UTBGRFJEdEJRWGhQUVR0SlFVUkRMSEZFUVVGSk8yOUVRWGRGU2p0QlFXOURSRHRKUVVSRExIRkVRVUZKTzNsRVFXbEVTaUlzSW1acGJHVWlPaUl1TDNOeVl5OWpiMjF3YjI1bGJuUmZiVzkyWldGaWJHVXVkSE11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJka2RoWkdkbGRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZaMkZrWjJWMEp6dGNjbHh1YVcxd2IzSjBJSHNnU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJzc0lFVnVaSEJ2YVc1MFFXUmtjaXdnWlc1a2NHOXBiblJCWkdSeWMwMWhkR05vTENCSmJuUmxjbVpoWTJWTWIyTnJVbVZ6ZFd4MExDQmxibVJ3YjJsdWRFRmtaSEpVYjFOMGNtbHVaeXdnUVhaT2IyUmxWSEpoYm5ObWIzSnRJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QkZiblJwZEhsRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyTnZiWEJ2YzJWa1gyVnVkR2wwZVNjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTd2dTVzUwWlhKbVlXTmxVSEp2Y0NCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmFXNTBaWEptWVdObFgyVnVkR2wwZVNjN1hISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRGTjBZWFJsWEhKY2JudGNjbHh1WEhSSlpHeGxMRnh5WEc1Y2RFbHVRMjl1ZEdGcGJtVnlMRnh5WEc1Y2RFZHlZV0ppWlhKT1pXRnlZbmtzWEhKY2JseDBSM0poWW1KbFpDeGNjbHh1WEhSTlpXNTFMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkRiMjUwWVdsdVpYSlNaWEYxWlhOMFZIbHdaVnh5WEc1N1hISmNibHgwVW1Wa2NtOXdJRDBnWENKeVpXUnliM0JjSWl4Y2NseHVYSFJTWldSeWIzQkRiMjF3YkdWMFpTQTlJRndpY21Wa2NtOXdYMk52YlhCc1pYUmxYQ0lzWEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1EyOXVkR0ZwYm1WeVVtVnhkV1Z6ZEZ4eVhHNTdYSEpjYmx4MGRIbHdaVG9nUTI5dWRHRnBibVZ5VW1WeGRXVnpkRlI1Y0dVN1hISmNibHgwYm1WM1EyOXVkR0ZwYm1WeVB6b2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkRzF2ZG1WaFlteGxWRzlTWlhCc1lXTmxQem9nUlc1a2NHOXBiblJCWkdSeU8xeHlYRzVjZEc5c1pFMXZkbVZoWW14bFJuSnZiVTVsZDAxdmRtVmhZbXhsUHpvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JIY21GaVVtVnhkV1Z6ZEZSNWNHVmNjbHh1ZTF4eVhHNWNkRVJ5YjNCWmIzVnljMlZzWmlBOUlGd2laSEp2Y0Y5NWIzVnljMlZzWmx3aUxGeHlYRzVjZEVSeWIzQkRiMjF3YkdWMFpTQTlJRndpWkhKdmNGOWpiMjF3YkdWMFpWd2lMRnh5WEc1Y2RGTmxkRWR5WVdKaVpYSWdQU0JjSW5ObGRGOW5jbUZpWW1WeVhDSXNYSEpjYmx4MFVtVnNaV0Z6WlUxbElEMGdYQ0p5Wld4bFlYTmxYMjFsWENJc1hISmNibHgwVW1WeGRXVnpkRkpsWjNKaFlpQTlJRndpY21WeGRXVnpkRjl5WldkeVlXSmNJaXhjY2x4dVhIUlBkbVZ5Y21sa1pWUnlZVzV6Wm05eWJTQTlJRndpYjNabGNuSnBaR1ZmZEhKaGJuTm1iM0p0WENJc1hISmNibHgwVTJodmQwMWxiblVnUFNCY0luTm9iM2RmYldWdWRWd2lMRnh5WEc1Y2RFaHBaR1ZOWlc1MUlEMGdYQ0pvYVdSbFgyMWxiblZjSWl4Y2NseHVmVnh5WEc1Y2NseHVYSEpjYmk4cUtpQkVaV1pwYm1WeklIUm9aU0J3YjNObElHWnliMjBnZEdobElHZHlZV0ppWlhJZ2RHOGdkR2hsSUdkeVlXSmlZV0pzWlN3Z1lYTWdkMlZzYkNCaGN5QjBhR1VnY0c5elpTQnZaaUIwYUdVZ2FHRnVaQ0IzYUdWdUlIUm9aU0JuY21GaVhISmNiaUFxSUc5alkzVnljeTRnWEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWlc1MWJTQkhjbUZpVUc5elpWeHlYRzU3WEhKY2JseDBMeW9xSUZWelpTQjBhR1VnYm05eWJXRnNJR0Z1YVcxaGRHVmtJR2hoYm1RZ2QyaHBiR1VnWjNKaFltSnBibWNnVlhObElIUm9aU0J5Wld4aGRHbDJaU0J3YjNObElHSmxkSGRsWlc0Z2RHaGxJR2R5WVdKaVpYSWdZVzVrSUhSb1pWeHlYRzVjZENBcUlHZHlZV0ppWVdKc1pTQjNhR1Z1SUhSb1pTQm5jbUZpSUhOMFlYSjBaV1FnZDJobGJpQndiM05wZEdsdmJtbHVaeUIwYUdVZ1ozSmhZbUpoWW14bExseHlYRzVjZENBcUwxeHlYRzVjZEU1dmJtVWdQU0JjSW01dmJtVmNJaXhjY2x4dVhISmNibHgwTHlvcUlFZHlZV0lnZDJsMGFDQmhJSEJsYmlCbmNtbHdMaUJVYUdVZ1ozSmhZaUJ3YjJsdWRDQnBjeUIwYUdVZ2RHbHdJRzltSUhSb1pTQndaVzR1SUNvdlhISmNibHgwVUdWdUlEMGdYQ0p3Wlc1Y0lpeGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUjNKaFlsSmxjWFZsYzNSY2NseHVlMXh5WEc1Y2RIUjVjR1U2SUVkeVlXSlNaWEYxWlhOMFZIbHdaVHRjY2x4dVhIUnVaWGROYjNabFlXSnNaVDg2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSdmJHUk5iM1psWVdKc1pVWnliMjFPWlhkTmIzWmxZV0pzWlQ4NklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJuY21GaVltVnlSbkp2YlVkeVlXSmlZV0pzWlQ4NklFRjJUbTlrWlZSeVlXNXpabTl5YlNCOElFZHlZV0pRYjNObE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBJR2x0Y0d4bGJXVnVkSE1nUlc1MGFYUjVRMjl0Y0c5dVpXNTBYSEpjYm50Y2NseHVYSFJ3ZFdKc2FXTWdjM1JoZEdsaklHZGxkQ0JqYjI1MFlXbHVaWEpKYm5SbGNtWmhZMlVvS1NCN0lISmxkSFZ5YmlCY0ltRmhjbVIyWVhKckxXTnZiblJoYVc1bGNrQXhYQ0k3SUgxY2NseHVYSFJ3ZFdKc2FXTWdjM1JoZEdsaklHZGxkQ0JuY21GaVNXNTBaWEptWVdObEtDa2dleUJ5WlhSMWNtNGdYQ0poWVhKa2RtRnlheTFuY21GaVFERmNJanNnZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdWdWRHbDBlVU5oYkd4aVlXTnJPaUFvS1NBOVBpQjJiMmxrSUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHOTNibVZ5UTJGc2JHSmhZMnM2SUNncElEMCtJSFp2YVdRZ1BTQnVkV3hzTzF4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdGamRHbDJaVWR5WVdKeklEMGdibVYzSUZObGREeEJZM1JwZG1WSmJuUmxjbVpoWTJVK0tDazdYSEpjYmx4MGNISnBkbUYwWlNCaFkzUnBkbVZEYjI1MFlXbHVaWEk2SUVGamRHbDJaVWx1ZEdWeVptRmpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCbmNtRmlZbVZ5T2lCQlkzUnBkbVZKYm5SbGNtWmhZMlVnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ2QyRnpSWFpsY2tSeWIzQndaV1E2SUdKdmIyeGxZVzRnUFNCbVlXeHpaVHRjY2x4dVhIUndjbWwyWVhSbElHUnliM0J3WldSSmJuUnZTVzVwZEdsaGJGQmhjbVZ1ZERvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTzF4eVhHNWNkSEJ5YVhaaGRHVWdhVzVwZEdsaGJFbHVkR1Z5Wm1GalpUcEpibWwwYVdGc1NXNTBaWEptWVdObFRHOWpheUE5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCM1lXbDBhVzVuUm05eVVtVmtjbTl3T2tWdVpIQnZhVzUwUVdSa2NpQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0IzWVdsMGFXNW5SbTl5VW1Wa2NtOXdWSEpoYm5ObWIzSnRPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMGdQU0J1ZFd4c08xeHlYRzVjZEhCeWFYWmhkR1VnWTJGdVJISnZjRWx1ZEc5RGIyNTBZV2x1WlhKeklEMGdkSEoxWlR0Y2NseHVYSFJ3Y21sMllYUmxJR1p2Y21ObFpFZHlZV0ppWlhKR2NtOXRSM0poWW1KaFlteGxPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMGdmQ0JIY21GaVVHOXpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCemFHOTFiR1JUYUc5M1RXVnVkU0E5SUdaaGJITmxPMXh5WEc1Y2NseHVYSFJqYjI1emRISjFZM1J2Y2lnZ1kyRnNiR0poWTJzNklDZ3BJRDArSUhadmFXUXNJSFZ6WlVsdWFYUnBZV3hRWVhKbGJuUS9PaUJpYjI5c1pXRnVMQ0JqWVc1RWNtOXdTVzUwYjBOdmJuUmhhVzVsY25NL09pQmliMjlzWldGdUxGeHlYRzVjZEZ4MFptOXlZMlZrUjNKaFltSmxja1p5YjIxSGNtRmlZbUZpYkdVL09pQkJkazV2WkdWVWNtRnVjMlp2Y20wZ2ZDQkhjbUZpVUc5elpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTVqWVc1RWNtOXdTVzUwYjBOdmJuUmhhVzVsY25NZ1BTQmpZVzVFY205d1NXNTBiME52Ym5SaGFXNWxjbk1nUHo4Z2RISjFaVHRjY2x4dVhIUmNkSFJvYVhNdVptOXlZMlZrUjNKaFltSmxja1p5YjIxSGNtRmlZbUZpYkdVZ1BTQm1iM0pqWldSSGNtRmlZbVZ5Um5KdmJVZHlZV0ppWVdKc1pUdGNjbHh1WEhSY2RIUm9hWE11YjNkdVpYSkRZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh5WEc1Y2RGeDBhV1lvSUhWelpVbHVhWFJwWVd4UVlYSmxiblFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFHbHpMbWx1YVhScFlXeEpiblJsY21aaFkyVWdQU0JCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG1sdWFYUnBZV3hKYm5SbGNtWmhZMlZ6TG1acGJtUW9JQ2dnYVdrNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJJQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSEpsZEhWeWJpQnBhUzVwWm1GalpTQTlQU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkQzVqYjI1MFlXbHVaWEpKYm5SbGNtWmhZMlU3WEhKY2JseDBYSFJjZEgwZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2RYQmtZWFJsVEdsemRHVnVaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWIzZHVaWEpEWVd4c1ltRmphejh1S0NrN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOclB5NG9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdaMlYwSUcxbGJuVkhjbUZpWW1WeVNXNTBaWEptWVdObEtDazZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQjhJRzUxYkd4Y2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV6ZEdGMFpTQWhQU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrMWxiblVnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFF2THlCVVQwUlBPaUIwY21GamF5QnRaVzUxSUhCbGNpQm5jbUZpWW1WeVhISmNibHgwWEhScFppZ2dkR2hwY3k1aFkzUnBkbVZIY21GaWN5NXphWHBsSUQwOUlEQWdLVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2NseHVYSFJjZEZ4MFhISmNibHgwWEhSc1pYUWdiV1Z1ZFRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUQwZ2RHaHBjeTVoWTNScGRtVkhjbUZpY3k1MllXeDFaWE1vS1M1dVpYaDBLQ2t1ZG1Gc2RXVTdYSEpjYmx4MFhIUnlaWFIxY200Z2JXVnVkVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYldWdWRVZHlZV0ppWlhJb0tUb2dSVzVrY0c5cGJuUkJaR1J5SUh3Z2JuVnNiRnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbTFsYm5WSGNtRmlZbVZ5U1c1MFpYSm1ZV05sUHk1d1pXVnlPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0J0Wlc1MVUyVnNaa1p5YjIxSGNtRmlZbVZ5S0NrNklFRjJUbTlrWlZSeVlXNXpabTl5YlNCOElHNTFiR3hjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV0Wlc1MVIzSmhZbUpsY2tsdWRHVnlabUZqWlQ4dWMyVnNaa1p5YjIxUVpXVnlPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0J6ZEdGMFpTZ3BPaUJOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lIUm9hWE11WjNKaFltSmxjaUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhKbGRIVnliaUJOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrZHlZV0ppWldRN1hISmNibHgwWEhSOVhISmNibHgwWEhSbGJITmxJR2xtS0NCMGFHbHpMbUZqZEdsMlpVZHlZV0p6TG5OcGVtVWdQaUF3SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFXWW9JSFJvYVhNdWMyaHZkV3hrVTJodmQwMWxiblVnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBjbVYwZFhKdUlFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MFUzUmhkR1V1VFdWdWRUdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlM1SGNtRmlZbVZ5VG1WaGNtSjVPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObElHbG1LQ0IwYUdsekxtRmpkR2wyWlVOdmJuUmhhVzVsY2lBbUppQjBhR2x6TG5kaGMwVjJaWEpFY205d2NHVmtJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBVM1JoZEdVdVNXNURiMjUwWVdsdVpYSTdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhKbGRIVnliaUJOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrbGtiR1U3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnYjI1SGNtRmlVM1JoY25Rb0lHRmpkR2wyWlVkeVlXSTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFlXTjBhWFpsUjNKaFlpNXZia1Z1WkdWa0tDZ3BJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJa0ZEVkVsV1JTQkhVa0ZDSUVWT1JFVkVJR1p5YjIwZ1hDSXNJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCaFkzUnBkbVZIY21GaUxuQmxaWElnS1NBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVWR5WVdKekxtUmxiR1YwWlNnZ1lXTjBhWFpsUjNKaFlpQXBPMXh5WEc1Y2RGeDBYSFIwYUdsekxuVndaR0YwWlV4cGMzUmxibVZ5S0NrN1hISmNibHh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTVuY21GaVltVnlJRDA5SUdGamRHbDJaVWR5WVdJZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lWR2hwY3lCemFHOTFiR1J1SjNRZ2FHRjJaU0JvWVhCd1pXNWxaQzRnVTI5dFpXaHZkeUIzWlNCc2IzTjBJRzkxY2lCaFkzUnBkbVVnWjNKaFltSmxjbHdpTEZ4eVhHNWNkRngwWEhSY2RGeDBaVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvSUhSb2FYTXVaM0poWW1KbGNpNXdaV1Z5SUNrZ0tUdGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtUnliM0JKYm5SdlEyOXVkR0ZwYm1WeUtDQjBjblZsSUNrN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMGdLVHRjY2x4dVhISmNibHgwWEhSaFkzUnBkbVZIY21GaUxtOXVSWFpsYm5Rb0lHRnplVzVqSUNnZ1pYWmxiblE2SUVkeVlXSlNaWEYxWlhOMElDa2dQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lSWFpsYm5RZ2NtVmpaV2wyWldSY0lpd2daWFpsYm5RdWRIbHdaU3dnWlhabGJuUWdLVHRjY2x4dVhIUmNkRngwYzNkcGRHTm9LQ0JsZG1WdWRDNTBlWEJsSUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR05oYzJVZ1IzSmhZbEpsY1hWbGMzUlVlWEJsTGxObGRFZHlZV0ppWlhJNlhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTVuY21GaVltVnlJRDA5SUdGamRHbDJaVWR5WVdJZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1lGTmxkRWR5WVdKaVpYSWdabkp2YlNBa2UyVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0JoWTNScGRtVkhjbUZpTG5CbFpYSWdLU0I5TENCM2FHbGphQ0IzWVhNZ1lXeHlaV0ZrZVNCdmRYSWdaM0poWW1KbGNtQWdLVHRjY2x4dVhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYkdWMElISmxiR1ZoYzJVNklFZHlZV0pTWlhGMVpYTjBJRDBnZXlCMGVYQmxPaUJIY21GaVVtVnhkV1Z6ZEZSNWNHVXVVbVZzWldGelpVMWxJSDA3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdVozSmhZbUpsY2o4dWMyVnVaRVYyWlc1MEtDQnlaV3hsWVhObElDazdYSEpjYmx4MFhISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVaM0poWW1KbGNpQTlJR0ZqZEdsMlpVZHlZV0k3WEhKY2JseDBYSEpjYmx4MFhIUmNkRngwWEhSY2RHbG1LQ0IwYUdsekxtWnZjbU5sWkVkeVlXSmlaWEpHY205dFIzSmhZbUpoWW14bElDbGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RHeGxkQ0J2ZG1WeWNtbGtaVlJ5WVc1elptOXliVG9nUjNKaFlsSmxjWFZsYzNRZ1BWeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUmNkSFI1Y0dVNklFZHlZV0pTWlhGMVpYTjBWSGx3WlM1UGRtVnljbWxrWlZSeVlXNXpabTl5YlN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSY2RHZHlZV0ppWlhKR2NtOXRSM0poWW1KaFlteGxPaUIwYUdsekxtWnZjbU5sWkVkeVlXSmlaWEpHY205dFIzSmhZbUpoWW14bExGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG1keVlXSmlaWEl1YzJWdVpFVjJaVzUwS0NCdmRtVnljbWxrWlZSeVlXNXpabTl5YlNBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVU52Ym5SaGFXNWxjajh1YzJWdVpFVjJaVzUwS0NCN0lITjBZWFJsT2lCY0lrMXZkbWx1WjF3aUlIMGdLVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBkR2hwY3k1aFkzUnBkbVZEYjI1MFlXbHVaWEkvTG5WdWJHOWpheWdwTzF4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSmhZM1JwZG1WRGIyNTBZV2x1WlhJdWRXNXNiMk5yS0NsY0lpQmNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUXJJQ2dnZEdocGN5NWhZM1JwZG1WRGIyNTBZV2x1WlhJZ1B5QmNJbHdpSURvZ1hDSk9UeUJEVDA1VVFVbE9SVkpjSWlBcElDazdYSEpjYmx4MFhISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVkWEJrWVhSbFRHbHpkR1Z1WlhJb0tUdGNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWEhSallYTmxJRWR5WVdKU1pYRjFaWE4wVkhsd1pTNUVjbTl3V1c5MWNuTmxiR1k2WEhKY2JseDBYSFJjZEZ4MFhIUmhkMkZwZENCMGFHbHpMbVJ5YjNCSmJuUnZRMjl1ZEdGcGJtVnlLQ0IwY25WbElDazdYSEpjYmx4MFhIUmNkRngwWEhSaFkzUnBkbVZIY21GaUxuTmxibVJGZG1WdWRDZ2dleUIwZVhCbE9pQkhjbUZpVW1WeGRXVnpkRlI1Y0dVdVJISnZjRU52YlhCc1pYUmxJSDBnWVhNZ1IzSmhZbEpsY1hWbGMzUWdLVHRjY2x4dVhIUmNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBYSFJqWVhObElFZHlZV0pTWlhGMVpYTjBWSGx3WlM1VGFHOTNUV1Z1ZFRwY2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWMyaHZkV3hrVTJodmQwMWxiblVnUFNCMGNuVmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmNkR05oYzJVZ1IzSmhZbEpsY1hWbGMzUlVlWEJsTGtocFpHVk5aVzUxT2x4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1emFHOTFiR1JUYUc5M1RXVnVkU0E5SUdaaGJITmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgwZ0tUdGNjbHh1WEhKY2JseDBYSFIwYUdsekxtRmpkR2wyWlVkeVlXSnpMbUZrWkNnZ1lXTjBhWFpsUjNKaFlpQXBPMXh5WEc1Y2RGeDBkR2hwY3k1MWNHUmhkR1ZNYVhOMFpXNWxjaWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR0Z6ZVc1aklHUnliM0JKYm5SdlEzVnljbVZ1ZEVOdmJuUmhhVzVsY2lncFhISmNibHgwZTF4eVhHNWNkRngwWVhkaGFYUWdkR2hwY3k1a2NtOXdTVzUwYjBOdmJuUmhhVzVsY2lnZ2RISjFaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JoYzNsdVl5QmtjbTl3U1c1MGIwTnZiblJoYVc1bGNpZ2djbVZ4ZFdWemRFeHZZMnM2SUdKdmIyeGxZVzRzSUcxdmRtVmhZbXhsVkc5U1pYQnNZV05sUHpvZ1JXNWtjRzlwYm5SQlpHUnlMQ0JjY2x4dVhIUmNkRzlzWkUxdmRtVmhZbXhsUm5KdmJVNWxkMDF2ZG1WaFlteGxQem9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnY21WeGRXVnpkRXh2WTJzZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKaVpXWnZjbVVnYkc5amExd2lJQ2s3WEhKY2JseDBYSFJjZEdGM1lXbDBJSFJvYVhNdVlXTjBhWFpsUTI5dWRHRnBibVZ5UHk1c2IyTnJLQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSmlaV1p2Y21VZ2MyVnVaRVYyWlc1MFhDSWdLVHRjY2x4dVhIUmNkR0YzWVdsMElIUm9hWE11WVdOMGFYWmxRMjl1ZEdGcGJtVnlQeTV6Wlc1a1JYWmxiblFvSUhzZ2MzUmhkR1U2SUZ3aVVtVnpkR2x1WjF3aUxDQnRiM1psWVdKc1pWUnZVbVZ3YkdGalpTd2diMnhrVFc5MlpXRmliR1ZHY205dFRtVjNUVzkyWldGaWJHVWdmU0FwTzF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lZV1owWlhJZ2MyVnVaRVYyWlc1MFhDSWdLVHRjY2x4dVhISmNibHgwWEhSMGFHbHpMbmRoYzBWMlpYSkVjbTl3Y0dWa0lEMGdkSEoxWlR0Y2NseHVYSFJjZEhSb2FYTXVaM0poWW1KbGNpQTlJRzUxYkd3N1hISmNibHgwWEhSMGFHbHpMblZ3WkdGMFpVeHBjM1JsYm1WeUtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2RISnBaMmRsY2xKbFozSmhZaWdnY21Wd2JHRmpaVzFsYm5STmIzWmxZV0pzWlRvZ1JXNWtjRzlwYm5SQlpHUnlMQ0J2YkdSTmIzWmxZV0pzWlVaeWIyMU9aWGROYjNabFlXSnNaVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWlRvZ1IzSmhZbEpsY1hWbGMzUWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQkhjbUZpVW1WeGRXVnpkRlI1Y0dVdVVtVnhkV1Z6ZEZKbFozSmhZaXhjY2x4dVhIUmNkRngwYm1WM1RXOTJaV0ZpYkdVNklISmxjR3hoWTJWdFpXNTBUVzkyWldGaWJHVXNYSEpjYmx4MFhIUmNkRzlzWkUxdmRtVmhZbXhsUm5KdmJVNWxkMDF2ZG1WaFlteGxMRnh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBkR2hwY3k1bmNtRmlZbVZ5UHk1elpXNWtSWFpsYm5Rb0lHVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmtOdmJuUmhhVzVsY2xOMFlYSjBLQ0JoWTNScGRtVkRiMjUwWVdsdVpYSTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFlXTjBhWFpsUTI5dWRHRnBibVZ5TG05dVJXNWtaV1FvS0NrZ1BUNWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1aFkzUnBkbVZEYjI1MFlXbHVaWElnUFNCdWRXeHNPMXh5WEc1Y2RGeDBYSFIwYUdsekxuVndaR0YwWlV4cGMzUmxibVZ5S0NrN1hISmNibHgwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxRMjl1ZEdGcGJtVnlMbTl1UlhabGJuUW9JQ2dnWlhabGJuUTZJRU52Ym5SaGFXNWxjbEpsY1hWbGMzUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSemQybDBZMmdvSUdWMlpXNTBMblI1Y0dVZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTJGelpTQkRiMjUwWVdsdVpYSlNaWEYxWlhOMFZIbHdaUzVTWldSeWIzQTZYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUdCU1pXUnliM0FnY21WeGRXVnpkQ0IwYnlCeVpYQnNZV05sSUNSN0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0JsZG1WdWRDNXRiM1psWVdKc1pWUnZVbVZ3YkdGalpTQXBmV0FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWQyRnBkR2x1WjBadmNsSmxaSEp2Y0NBOUlHVjJaVzUwTG0xdmRtVmhZbXhsVkc5U1pYQnNZV05sTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1M1lXbDBhVzVuUm05eVVtVmtjbTl3VkhKaGJuTm1iM0p0SUQwZ1pYWmxiblF1YjJ4a1RXOTJaV0ZpYkdWR2NtOXRUbVYzVFc5MlpXRmliR1U3WEhKY2JseDBYSFJjZEZ4MFhIUmhZM1JwZG1WRGIyNTBZV2x1WlhJdWNtVnNiMk5yS0NCbGRtVnVkQzV1WlhkRGIyNTBZV2x1WlhJZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmNkR05oYzJVZ1EyOXVkR0ZwYm1WeVVtVnhkV1Z6ZEZSNWNHVXVVbVZrY205d1EyOXRjR3hsZEdVNlhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFlXTjBhWFpsUTI5dWRHRnBibVZ5TG5WdWJHOWpheWdwTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1M1lYTkZkbVZ5UkhKdmNIQmxaQ0E5SUdaaGJITmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2NseHVYSFJjZEhSb2FYTXVZV04wYVhabFEyOXVkR0ZwYm1WeUlEMGdZV04wYVhabFEyOXVkR0ZwYm1WeU8xeHlYRzVjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG1sdWFYUnBZV3hKYm5SbGNtWmhZMlVnSmlZZ0lYUm9hWE11WkhKdmNIQmxaRWx1ZEc5SmJtbDBhV0ZzVUdGeVpXNTBJRnh5WEc1Y2RGeDBYSFFtSmlCbGJtUndiMmx1ZEVGa1pISnpUV0YwWTJnb0lIUm9hWE11YVc1cGRHbGhiRWx1ZEdWeVptRmpaUzV5WldObGFYWmxjaXdnWVdOMGFYWmxRMjl1ZEdGcGJtVnlMbkJsWlhJZ0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkQzh2SUdSdmJpZDBJRzVsWldRZ2RHOGdiRzlqYXlCaVpXTmhkWE5sSUhSb1pTQnBibWwwYVdGc0lHeHZZMnNnZEc5dmF5QmpZWEpsSUc5bUlIUm9ZWFFnWm05eUlIVnpYSEpjYmx4MFhIUmNkSFJvYVhNdVpISnZjRWx1ZEc5RGIyNTBZV2x1WlhJb0lHWmhiSE5sSUNrN0lGeHlYRzVjZEZ4MFhIUjBhR2x6TG1SeWIzQndaV1JKYm5SdlNXNXBkR2xoYkZCaGNtVnVkQ0E5SUhSeWRXVTdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lIUm9hWE11ZDJGcGRHbHVaMFp2Y2xKbFpISnZjQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmdaMjkwSUc1bGR5QmpiMjUwWVdsdVpYSWdKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lHRmpkR2wyWlVOdmJuUmhhVzVsY2k1d1pXVnlJQ2tnZlNCM2FHbHNaU0IzWVdsMGFXNW5JR1p2Y2lCeVpXUnliM0JnSUNrN1hISmNibHgwWEhSY2RIUm9hWE11WkhKdmNFbHVkRzlEYjI1MFlXbHVaWElvSUdaaGJITmxMQ0IwYUdsekxuZGhhWFJwYm1kR2IzSlNaV1J5YjNBc0lIUm9hWE11ZDJGcGRHbHVaMFp2Y2xKbFpISnZjRlJ5WVc1elptOXliU0FwTzF4eVhHNWNkRngwWEhSMGFHbHpMbmRoYVhScGJtZEdiM0pTWldSeWIzQWdQU0J1ZFd4c08xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQjBjbUZ1YzIxcGRITW9LVG9nU1c1MFpYSm1ZV05sVUhKdmNGdGRYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdVkyRnVSSEp2Y0VsdWRHOURiMjUwWVdsdVpYSnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRnNnWEhKY2JseDBYSFJjZEZ4MGV5QnBabUZqWlRvZ1RXOTJaV0ZpYkdWRGIyMXdiMjVsYm5RdVkyOXVkR0ZwYm1WeVNXNTBaWEptWVdObExDQndjbTlqWlhOemIzSTZJSFJvYVhNdWIyNURiMjUwWVdsdVpYSlRkR0Z5ZENCOUlGeHlYRzVjZEZ4MFhIUmRPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElISmxZMlZwZG1WektDazZJRWx1ZEdWeVptRmpaVkJ5YjNCYlhWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJiSUhzZ2FXWmhZMlU2SUZ3aVlXRnlaSFpoY21zdFozSmhZa0F4WENJc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrZHlZV0pUZEdGeWRDQjlJRjA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhCaGNtVnVkQ2dwT2lCRmJtUndiMmx1ZEVGa1pISmNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1bmNtRmlZbVZ5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MEx5OGdhV1lnZDJVbmNtVWdZM1Z5Y21WdWRHeDVJR2R5WVdKaVpXUXNJSFJvWVhRbmN5QnZkWElnY0dGeVpXNTBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQjBhR2x6TG1keVlXSmlaWEl1Y0dWbGNqdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlVnYVdZb0lIUm9hWE11ZDJGelJYWmxja1J5YjNCd1pXUWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFF2THlCcFppQjNaU2QyWlNCbGRtVnlJR0psWlc0Z1pISnZjSEJsWkNCcGJuUnZJR0VnWTI5dWRHRnBibVZ5TEZ4eVhHNWNkRngwWEhRdkx5QjBhR0YwSUdOaGJpQmlaU0J2ZFhJZ2NHRnlaVzUwWEhKY2JseDBYSFJjZEhKbGRIVnliaUIwYUdsekxtRmpkR2wyWlVOdmJuUmhhVzVsY2o4dWNHVmxjanRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MEx5OGdiM1JvWlhKM2FYTmxMQ0IzWlNCb1lYWmxJRzV2SUhCaGNtVnVkQ0JoYm1RZ2MyaHZkV3hrSUc5aVpYa2dkMmhoZEdWMlpYSmNjbHh1WEhSY2RGeDBMeThnZEdobElITmpaVzVsSUdkeVlYQm9JSEJ5YjNacFpHVnpJR0Z6SUc5MWNpQjBjbUZ1YzJadmNtMWNjbHh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUdsdWRHVnlabUZqWlV4dlkydHpLQ2s2SUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOclcxMWNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1cGJtbDBhV0ZzU1c1MFpYSm1ZV05sSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUNnZ1hISmNibHgwWEhSY2RGeDBXeUJjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11YVc1cGRHbGhiRWx1ZEdWeVptRmpaVnh5WEc1Y2RGeDBYSFJjZEYwZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHgwWEhKY2JseDBjSFZpYkdsaklHZGxkQ0IzWVc1MGMxUnlZVzV6Wm05eWJYTW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNjbHh1WEhSd2RXSnNhV01nY21WelpYUW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11WVdOMGFYWmxRMjl1ZEdGcGJtVnlQeTUxYm14dlkyc29LVHRjY2x4dVhIUmNkSFJvYVhNdVlXTjBhWFpsUTI5dWRHRnBibVZ5UHk1elpXNWtSWFpsYm5Rb0lIc2djM1JoZEdVNklGd2lUVzkyYVc1blhDSWdmU0FwTzF4eVhHNWNkRngwZEdocGN5NTNZWE5GZG1WeVJISnZjSEJsWkNBOUlHWmhiSE5sTzF4eVhHNWNkRngwZEdocGN5NW5jbUZpWW1WeUlEMGdiblZzYkR0Y2NseHVYSFJjZEhSb2FYTXVkWEJrWVhSbFRHbHpkR1Z1WlhJb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCdmJsVndaR0YwWlNnZ1kyRnNiR0poWTJzNklDZ3BJRDArSUhadmFXUWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzZ1BTQmpZV3hzWW1GamF6dGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1RvZ1NsTllMa1ZzWlcxbGJuUmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhSOVhISmNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2NvbXBvbmVudF9tb3ZlYWJsZS50c1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IE5ldHdvcmtHYWRnZXRFdmVudFR5cGUsIE5ldHdvcmtJdGVtVHJhbnNmb3JtLCBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQsIE5ldHdvcmtlZEl0ZW1Db21wb25lbnQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIE5ldHdvcmtHYWRnZXRFdmVudFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtJdGVtVHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBOZXR3b3JrSXRlbVRyYW5zZm9ybTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTmV0d29ya2VkR2FkZ2V0Q29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtlZEl0ZW1Db21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIE5ldHdvcmtlZEl0ZW1Db21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIE5ldHdvcmtHYWRnZXRFdmVudFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlKSB7XFxyXFxuICAgIE5ldHdvcmtHYWRnZXRFdmVudFR5cGVbXFxcIlNldEdhZGdldEluZm9cXFwiXSA9IFxcXCJzZXRfZ2FkZ2V0X2luZm9cXFwiO1xcclxcbiAgICBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlW1xcXCJTZXRJdGVtSW5mb1xcXCJdID0gXFxcInNldF9pdGVtX2luZm9cXFwiO1xcclxcbiAgICBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlW1xcXCJTZW5kRXZlbnRUb0FsbFJlbW90ZXNcXFwiXSA9IFxcXCJzZW5kX2V2ZW50X3RvX3JlbW90ZXNcXFwiO1xcclxcbiAgICBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlW1xcXCJSZWNlaXZlRXZlbnRGcm9tUmVtb3RlXFxcIl0gPSBcXFwicmVjZWl2ZV9ldmVudF9mcm9tX3JlbW90ZVxcXCI7XFxyXFxuICAgIE5ldHdvcmtHYWRnZXRFdmVudFR5cGVbXFxcIlNldFRyYW5zZm9ybVN0YXRlXFxcIl0gPSBcXFwic2V0X3RyYW5zZm9ybV9zdGF0ZVxcXCI7XFxyXFxuICAgIE5ldHdvcmtHYWRnZXRFdmVudFR5cGVbXFxcIkRyb3BDb21wbGV0ZVxcXCJdID0gXFxcImRyb3BfY29tcGxldGVcXFwiO1xcclxcbn0pKE5ldHdvcmtHYWRnZXRFdmVudFR5cGUgfHwgKE5ldHdvcmtHYWRnZXRFdmVudFR5cGUgPSB7fSkpO1xcclxcbnZhciBOZXR3b3JrSXRlbVRyYW5zZm9ybTtcXHJcXG4oZnVuY3Rpb24gKE5ldHdvcmtJdGVtVHJhbnNmb3JtKSB7XFxyXFxuICAgIE5ldHdvcmtJdGVtVHJhbnNmb3JtW05ldHdvcmtJdGVtVHJhbnNmb3JtW1xcXCJOb3JtYWxcXFwiXSA9IDBdID0gXFxcIk5vcm1hbFxcXCI7XFxyXFxuICAgIE5ldHdvcmtJdGVtVHJhbnNmb3JtW05ldHdvcmtJdGVtVHJhbnNmb3JtW1xcXCJPdmVycmlkZVxcXCJdID0gMV0gPSBcXFwiT3ZlcnJpZGVcXFwiO1xcclxcbiAgICBOZXR3b3JrSXRlbVRyYW5zZm9ybVtOZXR3b3JrSXRlbVRyYW5zZm9ybVtcXFwiRHJvcHBpbmdcXFwiXSA9IDJdID0gXFxcIkRyb3BwaW5nXFxcIjtcXHJcXG59KShOZXR3b3JrSXRlbVRyYW5zZm9ybSB8fCAoTmV0d29ya0l0ZW1UcmFuc2Zvcm0gPSB7fSkpO1xcclxcbjtcXHJcXG5jbGFzcyBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcihyZW1vdGVHYWRnZXRJbml0YWxMb2NrcywgcmVtb3RlRXZlbnRDYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm5ldHdvcmtQcm92aWRlciA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLnJlbW90ZUdhZGdldEluaXRhbExvY2tzID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlR2FkZ2V0SW5pdGFsTG9ja3MgPSByZW1vdGVHYWRnZXRJbml0YWxMb2NrcztcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlRXZlbnRDYWxsYmFjayA9IHJlbW90ZUV2ZW50Q2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgdXBkYXRlTGlzdGVuZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZXRJbml0aWFsSW50ZXJmYWNlTG9ja3MocmVtb3RlSW50ZXJmYWNlTG9ja3MpIHtcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlR2FkZ2V0SW5pdGFsTG9ja3MgPSByZW1vdGVJbnRlcmZhY2VMb2NrcztcXHJcXG4gICAgICAgIHRoaXMuc2VuZFNldEdhZGdldEluZm8oKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kU2V0R2FkZ2V0SW5mbygpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIC8vIHRlbGwgdGhlIG90aGVyIGVuZCBob3cgd2Ugd2FudCB0byBiZSBzdGFydGVkIG9uIHRoZSByZW1vdGUgZW5kXFxyXFxuICAgICAgICBsZXQgcmVxID0ge1xcclxcbiAgICAgICAgICAgIHR5cGU6IE5ldHdvcmtHYWRnZXRFdmVudFR5cGUuU2V0R2FkZ2V0SW5mbyxcXHJcXG4gICAgICAgICAgICBsb2NrczogdGhpcy5yZW1vdGVHYWRnZXRJbml0YWxMb2NrcyxcXHJcXG4gICAgICAgICAgICB1cmw6IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnVybCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtQcm92aWRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChyZXEpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uTmV0d29ya2VkR2FkZ2V0U3RhcnQobmV0d29ya1Byb3ZpZGVyKSB7XFxyXFxuICAgICAgICB0aGlzLm5ldHdvcmtQcm92aWRlciA9IG5ldHdvcmtQcm92aWRlcjtcXHJcXG4gICAgICAgIHRoaXMuc2VuZFNldEdhZGdldEluZm8oKTtcXHJcXG4gICAgICAgIG5ldHdvcmtQcm92aWRlci5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLm5ldHdvcmtQcm92aWRlciA9IG51bGw7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIG5ldHdvcmtQcm92aWRlci5vbkV2ZW50KChldmVudCkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlJlY2VpdmVFdmVudEZyb21SZW1vdGU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlbW90ZUV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5yZW1vdGVFdmVudENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCByZW1vdGVFdmVudC5ldmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXRzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFt7IGlmYWNlOiBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQuaW50ZXJmYWNlTmFtZSwgcHJvY2Vzc29yOiB0aGlzLm9uTmV0d29ya2VkR2FkZ2V0U3RhcnQgfV07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHJlY2VpdmVzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFtdO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBwYXJlbnQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHsgcmV0dXJuIFtdOyB9XFxyXFxuICAgIG9uVXBkYXRlKGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEV2ZW50VG9BbGxSZW1vdGVzKGV2ZW50LCByZWxpYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGV2dCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNlbmRFdmVudFRvQWxsUmVtb3RlcyxcXHJcXG4gICAgICAgICAgICBldmVudCxcXHJcXG4gICAgICAgICAgICByZWxpYWJsZSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtQcm92aWRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChldnQpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk5ldHdvcmtlZEdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lID0gXFxcImFhcmR2YXJrLW5ldHdvcmtlZC1nYWRnZXRAMVxcXCI7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQuYVxcclxcbl0sIE5ldHdvcmtlZEdhZGdldENvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbk5ldHdvcmtlZEdhZGdldFN0YXJ0XFxcIiwgbnVsbCk7XFxyXFxuY2xhc3MgTmV0d29ya2VkSXRlbUNvbXBvbmVudCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGl0ZW1JZCwgcmVtb3RlRXZlbnRDYWxsYmFjaywgbmV0d29ya0l0ZW1Ecm9wQ2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrUHJvdmlkZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy50cmFuc2Zvcm1TdGF0ZSA9IE5ldHdvcmtJdGVtVHJhbnNmb3JtLk5vcm1hbDtcXHJcXG4gICAgICAgIHRoaXMubGFzdFVuaXZlcnNlRnJvbUl0ZW0gPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5pdGVtSWQgPSBpdGVtSWQ7XFxyXFxuICAgICAgICB0aGlzLnJlbW90ZUV2ZW50Q2FsbGJhY2sgPSByZW1vdGVFdmVudENhbGxiYWNrO1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrSXRlbURyb3BDYWxsYmFjayA9IG5ldHdvcmtJdGVtRHJvcENhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB1bml2ZXJzZUZyb21JdGVtKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFVuaXZlcnNlRnJvbUl0ZW07XFxyXFxuICAgIH1cXHJcXG4gICAgdXBkYXRlTGlzdGVuZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kU2V0SXRlbUluZm8oKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAvLyB0ZWxsIHRoZSBvdGhlciBlbmQgaG93IHdlIHdhbnQgdG8gYmUgc3RhcnRlZCBvbiB0aGUgcmVtb3RlIGVuZFxcclxcbiAgICAgICAgbGV0IHJlcSA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNldEl0ZW1JbmZvLFxcclxcbiAgICAgICAgICAgIGl0ZW1JZDogdGhpcy5pdGVtSWQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5uZXR3b3JrUHJvdmlkZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQocmVxKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbk5ldHdvcmtlZEdhZGdldFN0YXJ0KG5ldHdvcmtQcm92aWRlcikge1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrUHJvdmlkZXIgPSBuZXR3b3JrUHJvdmlkZXI7XFxyXFxuICAgICAgICB0aGlzLnNlbmRTZXRJdGVtSW5mbygpO1xcclxcbiAgICAgICAgbmV0d29ya1Byb3ZpZGVyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMubmV0d29ya1Byb3ZpZGVyID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB0aGlzLnRyYW5zZm9ybVN0YXRlID0gTmV0d29ya0l0ZW1UcmFuc2Zvcm0uTm9ybWFsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgbmV0d29ya1Byb3ZpZGVyLm9uRXZlbnQoKGV2ZW50KSA9PiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlJlY2VpdmVFdmVudEZyb21SZW1vdGU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlbW90ZUV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5yZW1vdGVFdmVudENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCByZW1vdGVFdmVudC5ldmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNldFRyYW5zZm9ybVN0YXRlOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZXRUcmFuc2Zvcm1TdGF0ZSA9IGV2ZW50O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXRUcmFuc2Zvcm1TdGF0ZS5uZXdTdGF0ZSA9PSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5PdmVycmlkZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBuZXR3b3JrUHJvdmlkZXIubG9jaygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zZm9ybVN0YXRlID0gc2V0VHJhbnNmb3JtU3RhdGUubmV3U3RhdGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNldFRyYW5zZm9ybVN0YXRlLnVuaXZlcnNlRnJvbUl0ZW0pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0VW5pdmVyc2VGcm9tSXRlbSA9IHNldFRyYW5zZm9ybVN0YXRlLnVuaXZlcnNlRnJvbUl0ZW07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zZm9ybVN0YXRlID09IE5ldHdvcmtJdGVtVHJhbnNmb3JtLkRyb3BwaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMubmV0d29ya0l0ZW1Ecm9wQ2FsbGJhY2soKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgbmV0d29ya1Byb3ZpZGVyLnVubG9jaygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IE5ldHdvcmtHYWRnZXRFdmVudFR5cGUuRHJvcENvbXBsZXRlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya1Byb3ZpZGVyLnNlbmRFdmVudChyZXNwKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB0cmFuc21pdHMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW3sgaWZhY2U6IE5ldHdvcmtlZEdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lLCBwcm9jZXNzb3I6IHRoaXMub25OZXR3b3JrZWRHYWRnZXRTdGFydCB9XTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcmVjZWl2ZXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW107XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHRyYW5zZm9ybU92ZXJyaWRkZW4oKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1TdGF0ZSA9PSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5PdmVycmlkZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcGFyZW50KCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgc3dpdGNoICh0aGlzLnRyYW5zZm9ybVN0YXRlKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5Ecm9wcGluZzpcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtJdGVtVHJhbnNmb3JtLk5vcm1hbDpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICAgICAgY2FzZSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5PdmVycmlkZTpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMubmV0d29ya1Byb3ZpZGVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHsgcmV0dXJuIFtdOyB9XFxyXFxuICAgIG9uVXBkYXRlKGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEV2ZW50VG9BbGxSZW1vdGVzKGV2ZW50LCByZWxpYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGV2dCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNlbmRFdmVudFRvQWxsUmVtb3RlcyxcXHJcXG4gICAgICAgICAgICBldmVudCxcXHJcXG4gICAgICAgICAgICByZWxpYWJsZSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtQcm92aWRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChldnQpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk5ldHdvcmtlZEl0ZW1Db21wb25lbnQuaW50ZXJmYWNlTmFtZSA9IFxcXCJhYXJkdmFyay1uZXR3b3JrZWQtZ2FkZ2V0QDFcXFwiO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0LmFcXHJcXG5dLCBOZXR3b3JrZWRJdGVtQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uTmV0d29ya2VkR2FkZ2V0U3RhcnRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWpiMjF3YjI1bGJuUmZibVYwZDI5eWEyVmtYMmRoWkdkbGRDNTBjM2cvTmpSak5pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN08wRkJTV3RETzBGQlNWYzdRVUZITjBNc1NVRkJXU3h6UWtGUldEdEJRVkpFTEZkQlFWa3NjMEpCUVhOQ08wbEJSV3BETERKRVFVRnBRenRKUVVOcVF5eDFSRUZCTmtJN1NVRkROMElzZVVWQlFTdERPMGxCUXk5RExEaEZRVUZ2UkR0SlFVTndSQ3h0UlVGQmVVTTdTVUZEZWtNc2QwUkJRVGhDTzBGQlF5OUNMRU5CUVVNc1JVRlNWeXh6UWtGQmMwSXNTMEZCZEVJc2MwSkJRWE5DTEZGQlVXcERPMEZCYTBKRUxFbEJRVmtzYjBKQlMxZzdRVUZNUkN4WFFVRlpMRzlDUVVGdlFqdEpRVVV2UWl4dFJVRkJWVHRKUVVOV0xIVkZRVUZaTzBsQlExb3NkVVZCUVZrN1FVRkRZaXhEUVVGRExFVkJURmNzYjBKQlFXOUNMRXRCUVhCQ0xHOUNRVUZ2UWl4UlFVc3ZRanRCUVVGQkxFTkJRVU03UVVGalN5eE5RVUZOTEhkQ1FVRjNRanRKUVU5d1F5eFpRVUZoTEhWQ1FVRXJReXhGUVVGRkxHMUNRVUU0UXp0UlFVeHdSeXh0UWtGQll5eEhRVUZsTEVsQlFVa3NRMEZCUXp0UlFVTnNReXh2UWtGQlpTeEhRVUZ2UWl4SlFVRkpMRU5CUVVNN1VVRkRlRU1zTkVKQlFYVkNMRWRCUVRKQ0xFbEJRVWtzUTBGQlF6dFJRVXM1UkN4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVkQlFVY3NkVUpCUVhWQ0xFTkJRVU03VVVGRGRrUXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEcxQ1FVRnRRaXhEUVVGRE8wbEJRMmhFTEVOQlFVTTdTVUZKVHl4alFVRmpPenRSUVVWeVFpeFZRVUZKTEVOQlFVTXNZMEZCWXl3clEwRkJia0lzU1VGQlNTeEZRVUZ2UWp0SlFVTjZRaXhEUVVGRE8wbEJSVTBzZDBKQlFYZENMRU5CUVVVc2IwSkJRVFJETzFGQlJUVkZMRWxCUVVrc1EwRkJReXgxUWtGQmRVSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dFJRVU53UkN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhEUVVGRE8wbEJSVThzYVVKQlFXbENPenRSUVVWNFFpeHBSVUZCYVVVN1VVRkRha1VzU1VGQlNTeEhRVUZITEVkQlExQTdXVUZEUXl4SlFVRkpMRVZCUVVVc2MwSkJRWE5DTEVOQlFVTXNZVUZCWVR0WlFVTXhReXhMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEhWQ1FVRjFRanRaUVVOdVF5eEhRVUZITEVWQlFVVXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eEhRVUZITzFOQlF6VkNMRU5CUVVNN1VVRkRSaXhWUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4VFFVRlRMRU5CUVVVc1IwRkJSeXhGUVVGSE8wbEJRM2hETEVOQlFVTTdTVUZIVHl4elFrRkJjMElzUTBGQlJTeGxRVUZuUXp0UlFVVXZSQ3hKUVVGSkxFTkJRVU1zWlVGQlpTeEhRVUZITEdWQlFXVXNRMEZCUXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVc1EwRkJRenRSUVVWNlFpeGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVRkZMRWRCUVVVc1JVRkJSVHRaUVVVelFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVNM1FpeERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVk1MR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRVVVzUTBGQlJTeExRVUY1UWl4RlFVRkhMRVZCUVVVN08xbEJSWGhFTEZGQlFWRXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkRiRUk3WjBKQlEwTXNTMEZCU3l4elFrRkJjMElzUTBGQlF5eHpRa0ZCYzBJN2IwSkJRMnhFTzNkQ1FVTkRMRWxCUVVrc1YwRkJWeXhIUVVGSExFdEJRWEZDTEVOQlFVTTdkMEpCUTNoRExGVkJRVWtzUTBGQlF5eHRRa0ZCYlVJc0swTkJRWGhDTEVsQlFVa3NSVUZCZDBJc1YwRkJWeXhEUVVGRExFdEJRVXNzUlVGQlJ6dHhRa0ZEYUVRN2IwSkJRMFFzVFVGQlRUdGhRVU5PTzFGQlEwWXNRMEZCUXl4RFFVRkZMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVVFzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeDNRa0ZCZDBJc1EwRkJReXhoUVVGaExFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUlVGQlJTeERRVUZGTEVOQlFVTTdTVUZEZEVjc1EwRkJRenRKUVVWRUxFbEJRVmNzVVVGQlVUdFJRVVZzUWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOWUxFTkJRVU03U1VGRlJDeEpRVUZYTEUxQlFVMDdVVUZGYUVJc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVUXNTVUZCVnl4bFFVRmxPMUZCUlhwQ0xFOUJRVThzUzBGQlN5eERRVUZETzBsQlEyUXNRMEZCUXp0SlFVZEVMRWxCUVZjc1kwRkJZeXhMUVVFMlFpeFBRVUZQTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZNMFFzVVVGQlVTeERRVUZGTEZGQlFXOUNPMUZCUlhCRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGSFRTeE5RVUZOTzFGQlJWb3NUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRZaXhEUVVGRE8wbEJSVTBzY1VKQlFYRkNMRU5CUVVVc1MwRkJZU3hGUVVGRkxGRkJRV2xDT3p0UlFVVTNSQ3hKUVVGSkxFZEJRVWNzUjBGRFVEdFpRVU5ETEVsQlFVa3NSVUZCUlN4elFrRkJjMElzUTBGQlF5eHhRa0ZCY1VJN1dVRkRiRVFzUzBGQlN6dFpRVU5NTEZGQlFWRTdVMEZEVWl4RFFVRkRPMUZCUTBZc1ZVRkJTU3hEUVVGRExHVkJRV1VzTUVOQlFVVXNVMEZCVXl4RFFVRkZMRWRCUVVjc1JVRkJSenRKUVVONFF5eERRVUZET3p0QlFUZEdaU3h6UTBGQllTeEhRVUZGTERaQ1FVRTJRaXhEUVVGRE8wRkJNRUkzUkR0SlFVUkRMSEZFUVVGSk8zTkZRWFZDU2p0QlFXZEVTeXhOUVVGTkxITkNRVUZ6UWp0SlFWVnNReXhaUVVGaExFMUJRV01zUlVGQlJTeHRRa0ZCT0VNc1JVRkRNMFVzZFVKQlFXMURPMUZCVkROQ0xHMUNRVUZqTEVkQlFXVXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExHOUNRVUZsTEVkQlFXOUNMRWxCUVVrc1EwRkJRenRSUVVkNFF5eHRRa0ZCWXl4SFFVRkhMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTTNReXg1UWtGQmIwSXNSMEZCWjBJc1NVRkJTU3hEUVVGRE8xRkJUV2hFTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJRenRSUVVNdlF5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFZEJRVWNzZFVKQlFYVkNMRU5CUVVNN1NVRkRlRVFzUTBGQlF6dEpRVWxFTEVsQlFWY3NaMEpCUVdkQ08xRkJSVEZDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETzBsQlEyeERMRU5CUVVNN1NVRkZUeXhqUVVGak96dFJRVVZ5UWl4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRKUVVONlFpeERRVUZETzBsQlJVOHNaVUZCWlRzN1VVRkZkRUlzYVVWQlFXbEZPMUZCUTJwRkxFbEJRVWtzUjBGQlJ5eEhRVU5RTzFsQlEwTXNTVUZCU1N4RlFVRkZMSE5DUVVGelFpeERRVUZETEZkQlFWYzdXVUZEZUVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFOQlEyNUNMRU5CUVVNN1VVRkRSaXhWUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4VFFVRlRMRU5CUVVVc1IwRkJSeXhGUVVGSE8wbEJRM2hETEVOQlFVTTdTVUZIVHl4elFrRkJjMElzUTBGQlJTeGxRVUZuUXp0UlFVVXZSQ3hKUVVGSkxFTkJRVU1zWlVGQlpTeEhRVUZITEdWQlFXVXNRMEZCUXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zWlVGQlpTeEZRVUZGTEVOQlFVTTdVVUZGZGtJc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlJTeEhRVUZGTEVWQlFVVTdXVUZGTTBJc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU03V1VGRGJFUXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUlV3c1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlJTeERRVUZSTEV0QlFYbENMRVZCUVVjc1JVRkJSVHM3V1VGRk9VUXNVVUZCVVN4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVOc1FqdG5Ra0ZEUXl4TFFVRkxMSE5DUVVGelFpeERRVUZETEhOQ1FVRnpRanR2UWtGRGJFUTdkMEpCUTBNc1NVRkJTU3hYUVVGWExFZEJRVWNzUzBGQmNVSXNRMEZCUXp0M1FrRkRlRU1zVlVGQlNTeERRVUZETEcxQ1FVRnRRaXdyUTBGQmVFSXNTVUZCU1N4RlFVRjNRaXhYUVVGWExFTkJRVU1zUzBGQlN5eEZRVUZITzNGQ1FVTm9SRHR2UWtGRFJDeE5RVUZOTzJkQ1FVVk9MRXRCUVVzc2MwSkJRWE5DTEVOQlFVTXNhVUpCUVdsQ08yOUNRVU0zUXp0M1FrRkRReXhKUVVGSkxHbENRVUZwUWl4SFFVRkhMRXRCUVRaQ0xFTkJRVU03ZDBKQlEzUkVMRWxCUVVrc2FVSkJRV2xDTEVOQlFVTXNVVUZCVVN4SlFVRkpMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNSVUZETDBRN05FSkJRME1zVFVGQlRTeGxRVUZsTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN2VVSkJRemRDTzNkQ1FVVkVMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzYVVKQlFXbENMRU5CUVVNc1VVRkJVU3hEUVVGRE8zZENRVVZxUkN4SlFVRkpMR2xDUVVGcFFpeERRVUZETEdkQ1FVRm5RaXhGUVVOMFF6czBRa0ZEUXl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVkQlFVY3NhVUpCUVdsQ0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNN2VVSkJReTlFTzNkQ1FVVkVMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV01zU1VGQlNTeHZRa0ZCYjBJc1EwRkJReXhSUVVGUkxFVkJRM2hFT3pSQ1FVTkRMRTFCUVUwc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RlFVRkZMRU5CUVVNN05FSkJRM0pETEUxQlFVMHNaVUZCWlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE96UkNRVU12UWl4SlFVRkpMRWxCUVVrc1IwRkRVanRuUTBGRFF5eEpRVUZKTEVWQlFVVXNjMEpCUVhOQ0xFTkJRVU1zV1VGQldUczJRa0ZEZWtNN05FSkJRMFFzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4VFFVRlRMRU5CUVVVc1NVRkJTU3hEUVVGRkxFTkJRVU03ZVVKQlEzWkRPM2RDUVVORUxFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0eFFrRkRkRUk3YjBKQlEwUXNUVUZCVFR0aFFVTk9PMUZCUTBZc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVUXNTVUZCVnl4VFFVRlRPMUZCUlc1Q0xFOUJRVThzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4M1FrRkJkMElzUTBGQlF5eGhRVUZoTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNSVUZCUlN4RFFVRkZMRU5CUVVNN1NVRkRkRWNzUTBGQlF6dEpRVVZFTEVsQlFWY3NVVUZCVVR0UlFVVnNRaXhQUVVGUExFVkJRVVVzUTBGQlF6dEpRVU5ZTEVOQlFVTTdTVUZGUkN4SlFVRlhMRzFDUVVGdFFqdFJRVVUzUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhqUVVGakxFbEJRVWtzYjBKQlFXOUNMRU5CUVVNc1VVRkJVU3hEUVVGRE8wbEJRemRFTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN08xRkJSV2hDTEZGQlFWRXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkRNMEk3V1VGRFF5eExRVUZMTEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF6dFpRVU51UXl4TFFVRkxMRzlDUVVGdlFpeERRVUZETEUxQlFVMDdaMEpCUXk5Q0xFOUJRVThzU1VGQlNTeERRVUZETzFsQlJXSXNTMEZCU3l4dlFrRkJiMElzUTBGQlF5eFJRVUZSTzJkQ1FVTnFReXhoUVVGUExFbEJRVWtzUTBGQlF5eGxRVUZsTERCRFFVRkZMRWxCUVVrc1EwRkJRenRUUVVOdVF6dEpRVU5HTEVOQlFVTTdTVUZGUkN4SlFVRlhMR1ZCUVdVN1VVRkZla0lzVDBGQlR5eExRVUZMTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUjBRc1NVRkJWeXhqUVVGakxFdEJRVFpDTEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVVelJDeFJRVUZSTEVOQlFVVXNVVUZCYjBJN1VVRkZjRU1zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRhRU1zUTBGQlF6dEpRVWROTEUxQlFVMDdVVUZGV2l4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOaUxFTkJRVU03U1VGRlRTeHhRa0ZCY1VJc1EwRkJSU3hMUVVGaExFVkJRVVVzVVVGQmFVSTdPMUZCUlRkRUxFbEJRVWtzUjBGQlJ5eEhRVU5RTzFsQlEwTXNTVUZCU1N4RlFVRkZMSE5DUVVGelFpeERRVUZETEhGQ1FVRnhRanRaUVVOc1JDeExRVUZMTzFsQlEwd3NVVUZCVVR0VFFVTlNMRU5CUVVNN1VVRkRSaXhWUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4VFFVRlRMRU5CUVVVc1IwRkJSeXhGUVVGSE8wbEJRM2hETEVOQlFVTTdPMEZCZGtsbExHOURRVUZoTEVkQlFVVXNOa0pCUVRaQ0xFTkJRVU03UVVGM1FqZEVPMGxCUkVNc2NVUkJRVWs3YjBWQmMwUktJaXdpWm1sc1pTSTZJaTR2YzNKakwyTnZiWEJ2Ym1WdWRGOXVaWFIzYjNKclpXUmZaMkZrWjJWMExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUhzZ1JXNWtjRzlwYm5SQlpHUnlMQ0JCZGs1dlpHVlVjbUZ1YzJadmNtMHNJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuTENCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amF5d2daVzVrY0c5cGJuUkJaR1J5YzAxaGRHTm9MQ0JOYVc1cGJXRnNVRzl6WlNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQjdJRVZ1ZEdsMGVVTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZMjl0Y0c5elpXUmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJSHNnU1c1MFpYSm1ZV05sVUhKdmNDd2dRV04wYVhabFNXNTBaWEptWVdObElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOXBiblJsY21aaFkyVmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJR0pwYm1RZ1puSnZiU0FuWW1sdVpDMWtaV052Y21GMGIzSW5PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkZiblJwZEhsRGFHbHNaQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWlc1MGFYUjVYMk5vYVd4a0p6dGNjbHh1YVcxd2IzSjBJSHNnUTI5dWRHRnBibVZ5VW1WeGRXVnpkRlI1Y0dVc0lFTnZiblJoYVc1bGNsSmxjWFZsYzNRc0lFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZiVzkyWldGaWJHVW5PMXh5WEc1cGJYQnZjblFnZXlCQmRrZGhaR2RsZENCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZloyRmtaMlYwSnp0Y2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbFhISmNibnRjY2x4dVhIUlRaWFJIWVdSblpYUkpibVp2SUQwZ1hDSnpaWFJmWjJGa1oyVjBYMmx1Wm05Y0lpeGNjbHh1WEhSVFpYUkpkR1Z0U1c1bWJ5QTlJRndpYzJWMFgybDBaVzFmYVc1bWIxd2lMRnh5WEc1Y2RGTmxibVJGZG1WdWRGUnZRV3hzVW1WdGIzUmxjeUE5SUZ3aWMyVnVaRjlsZG1WdWRGOTBiMTl5WlcxdmRHVnpYQ0lzWEhKY2JseDBVbVZqWldsMlpVVjJaVzUwUm5KdmJWSmxiVzkwWlNBOUlGd2ljbVZqWldsMlpWOWxkbVZ1ZEY5bWNtOXRYM0psYlc5MFpWd2lMRnh5WEc1Y2RGTmxkRlJ5WVc1elptOXliVk4wWVhSbElEMGdYQ0p6WlhSZmRISmhibk5tYjNKdFgzTjBZWFJsWENJc1hISmNibHgwUkhKdmNFTnZiWEJzWlhSbElEMGdYQ0prY205d1gyTnZiWEJzWlhSbFhDSXNYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwWEhKY2JudGNjbHh1WEhSMGVYQmxPaUJPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTVIUlZObGRFZGhaR2RsZEVsdVptOGdaWGgwWlc1a2N5Qk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUmNjbHh1ZTF4eVhHNWNkR3h2WTJ0ek9pQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWphMXRkTzF4eVhHNWNkSFZ5YkRvZ2MzUnlhVzVuTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFNUhSVk5sZEVsMFpXMUpibVp2SUdWNGRHVnVaSE1nVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwWEhKY2JudGNjbHh1WEhScGRHVnRTV1E2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdUbVYwZDI5eWEwbDBaVzFVY21GdWMyWnZjbTFjY2x4dWUxeHlYRzVjZEU1dmNtMWhiQ0E5SURBc1hISmNibHgwVDNabGNuSnBaR1VnUFNBeExGeHlYRzVjZEVSeWIzQndhVzVuSUQwZ01peGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVGtkRlUyVjBWSEpoYm5ObWIzSnRVM1JoZEdVZ1pYaDBaVzVrY3lCT1pYUjNiM0pyUjJGa1oyVjBSWFpsYm5SY2NseHVlMXh5WEc1Y2RHNWxkMU4wWVhSbE9pQk9aWFIzYjNKclNYUmxiVlJ5WVc1elptOXliVHRjY2x4dVhIUjFibWwyWlhKelpVWnliMjFKZEdWdFB6b2dUV2x1YVcxaGJGQnZjMlU3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RrZEZVMlZ1WkVWMlpXNTBJR1Y0ZEdWdVpITWdUbVYwZDI5eWEwZGhaR2RsZEVWMlpXNTBYSEpjYm50Y2NseHVYSFJsZG1WdWREb2diMkpxWldOME8xeHlYRzVjZEhKbGJHbGhZbXhsUHpvZ1ltOXZiR1ZoYmp0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHTnNZWE56SUU1bGRIZHZjbXRsWkVkaFpHZGxkRU52YlhCdmJtVnVkQ0JwYlhCc1pXMWxiblJ6SUVWdWRHbDBlVU52YlhCdmJtVnVkRnh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JsYm5ScGRIbERZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyVUhKdmRtbGtaWEk2SUVGamRHbDJaVWx1ZEdWeVptRmpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCeVpXMXZkR1ZIWVdSblpYUkpibWwwWVd4TWIyTnJjem9nU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJ0YlhTQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J5WlcxdmRHVkZkbVZ1ZEVOaGJHeGlZV05yT2lBb0lHVjJaVzUwT2lCdlltcGxZM1FnS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2djbVZ0YjNSbFIyRmtaMlYwU1c1cGRHRnNURzlqYTNNNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBzSUhKbGJXOTBaVVYyWlc1MFEyRnNiR0poWTJzNklDZ2daWFpsYm5RNklHOWlhbVZqZENBcElEMCtJSFp2YVdRZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVjbVZ0YjNSbFIyRmtaMlYwU1c1cGRHRnNURzlqYTNNZ1BTQnlaVzF2ZEdWSFlXUm5aWFJKYm1sMFlXeE1iMk5yY3p0Y2NseHVYSFJjZEhSb2FYTXVjbVZ0YjNSbFJYWmxiblJEWVd4c1ltRmpheUE5SUhKbGJXOTBaVVYyWlc1MFEyRnNiR0poWTJzN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSemRHRjBhV01nY21WaFpHOXViSGtnYVc1MFpYSm1ZV05sVG1GdFpUMGdYQ0poWVhKa2RtRnlheTF1WlhSM2IzSnJaV1F0WjJGa1oyVjBRREZjSWp0Y2NseHVYSEpjYmx4MGNISnBkbUYwWlNCMWNHUmhkR1ZNYVhOMFpXNWxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGxEWVd4c1ltRmphejh1S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYzJWMFNXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydHpLQ0J5WlcxdmRHVkpiblJsY21aaFkyVk1iMk5yY3pvZ1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydGJYU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1eVpXMXZkR1ZIWVdSblpYUkpibWwwWVd4TWIyTnJjeUE5SUhKbGJXOTBaVWx1ZEdWeVptRmpaVXh2WTJ0ek8xeHlYRzVjZEZ4MGRHaHBjeTV6Wlc1a1UyVjBSMkZrWjJWMFNXNW1ieWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0J6Wlc1a1UyVjBSMkZrWjJWMFNXNW1ieWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBMeThnZEdWc2JDQjBhR1VnYjNSb1pYSWdaVzVrSUdodmR5QjNaU0IzWVc1MElIUnZJR0psSUhOMFlYSjBaV1FnYjI0Z2RHaGxJSEpsYlc5MFpTQmxibVJjY2x4dVhIUmNkR3hsZENCeVpYRTZJRTVIUlZObGRFZGhaR2RsZEVsdVptOGdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUlVlWEJsTGxObGRFZGhaR2RsZEVsdVptOHNYSEpjYmx4MFhIUmNkR3h2WTJ0ek9pQjBhR2x6TG5KbGJXOTBaVWRoWkdkbGRFbHVhWFJoYkV4dlkydHpMRnh5WEc1Y2RGeDBYSFIxY213NklFRjJSMkZrWjJWMExtbHVjM1JoYm1ObEtDa3VkWEpzTEZ4eVhHNWNkRngwZlR0Y2NseHVYSFJjZEhSb2FYTXVibVYwZDI5eWExQnliM1pwWkdWeVB5NXpaVzVrUlhabGJuUW9JSEpsY1NBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUbVYwZDI5eWEyVmtSMkZrWjJWMFUzUmhjblFvSUc1bGRIZHZjbXRRY205MmFXUmxjam9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG01bGRIZHZjbXRRY205MmFXUmxjaUE5SUc1bGRIZHZjbXRRY205MmFXUmxjanRjY2x4dVhIUmNkSFJvYVhNdWMyVnVaRk5sZEVkaFpHZGxkRWx1Wm04b0tUdGNjbHh1WEhKY2JseDBYSFJ1WlhSM2IzSnJVSEp2ZG1sa1pYSXViMjVGYm1SbFpDZ2dLQ2s5UGx4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1dVpYUjNiM0pyVUhKdmRtbGtaWElnUFNCdWRXeHNPMXh5WEc1Y2RGeDBYSFI5SUNrN1hISmNibHgwWEhSY2NseHVYSFJjZEc1bGRIZHZjbXRRY205MmFXUmxjaTV2YmtWMlpXNTBLQ0FvSUdWMlpXNTBPaUJPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblFnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnpkMmwwWTJnb0lHVjJaVzUwTG5SNWNHVWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbExsSmxZMlZwZG1WRmRtVnVkRVp5YjIxU1pXMXZkR1U2WEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYkdWMElISmxiVzkwWlVWMlpXNTBJRDBnWlhabGJuUWdZWE1nVGtkRlUyVnVaRVYyWlc1ME8xeHlYRzVjZEZ4MFhIUmNkRngwZEdocGN5NXlaVzF2ZEdWRmRtVnVkRU5oYkd4aVlXTnJQeTRvSUhKbGJXOTBaVVYyWlc1MExtVjJaVzUwSUNrN1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIUnlZVzV6YldsMGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnV3lCN0lHbG1ZV05sT2lCT1pYUjNiM0pyWldSSFlXUm5aWFJEYjIxd2IyNWxiblF1YVc1MFpYSm1ZV05sVG1GdFpTd2djSEp2WTJWemMyOXlPaUIwYUdsekxtOXVUbVYwZDI5eWEyVmtSMkZrWjJWMFUzUmhjblFnZlNCZE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnlaV05sYVhabGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIQmhjbVZ1ZENncE9pQkZibVJ3YjJsdWRFRmtaSEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2JuVnNiRHRjY2x4dVhIUjlYSEpjYmx4MFhISmNibHgwY0hWaWJHbGpJR2RsZENCM1lXNTBjMVJ5WVc1elptOXliWE1vS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVYSFI5WEhKY2JseHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2x1ZEdWeVptRmpaVXh2WTJ0ektDazZJRWx1YVhScFlXeEpiblJsY21aaFkyVk1iMk5yVzEwZ2V5QnlaWFIxY200Z1cxMDdJSDFjY2x4dVhIUmNjbHh1WEhSd2RXSnNhV01nYjI1VmNHUmhkR1VvSUdOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDazZJSFp2YVdSY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtVnVkR2wwZVVOaGJHeGlZV05ySUQwZ1kyRnNiR0poWTJzN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxibVJsY2lncE9pQktVMWd1Uld4bGJXVnVkRnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklITmxibVJGZG1WdWRGUnZRV3hzVW1WdGIzUmxjeWdnWlhabGJuUTZJRzlpYW1WamRDd2djbVZzYVdGaWJHVTZJR0p2YjJ4bFlXNGdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JsZG5RNklFNUhSVk5sYm1SRmRtVnVkQ0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSNWNHVTZJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVnVaRVYyWlc1MFZHOUJiR3hTWlcxdmRHVnpMRnh5WEc1Y2RGeDBYSFJsZG1WdWRDeGNjbHh1WEhSY2RGeDBjbVZzYVdGaWJHVXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBkR2hwY3k1dVpYUjNiM0pyVUhKdmRtbGtaWEkvTG5ObGJtUkZkbVZ1ZENnZ1pYWjBJQ2s3WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWTJ4aGMzTWdUbVYwZDI5eWEyVmtTWFJsYlVOdmJYQnZibVZ1ZENCcGJYQnNaVzFsYm5SeklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ4eVhHNTdYSEpjYmx4MGNISnBkbUYwWlNCbGJuUnBkSGxEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQnVaWFIzYjNKclVISnZkbWxrWlhJNklFRmpkR2wyWlVsdWRHVnlabUZqWlNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQnBkR1Z0U1dRNklITjBjbWx1Wnp0Y2NseHVYSFJ3Y21sMllYUmxJSEpsYlc5MFpVVjJaVzUwUTJGc2JHSmhZMnM2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ0FwSUQwK0lIWnZhV1E3WEhKY2JseDBjSEpwZG1GMFpTQjBjbUZ1YzJadmNtMVRkR0YwWlNBOUlFNWxkSGR2Y210SmRHVnRWSEpoYm5ObWIzSnRMazV2Y20xaGJEdGNjbHh1WEhSd2NtbDJZWFJsSUd4aGMzUlZibWwyWlhKelpVWnliMjFKZEdWdE9pQk5hVzVwYldGc1VHOXpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyU1hSbGJVUnliM0JEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkR0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR2wwWlcxSlpEb2djM1J5YVc1bkxDQnlaVzF2ZEdWRmRtVnVkRU5oYkd4aVlXTnJPaUFvSUdWMlpXNTBPaUJ2WW1wbFkzUWdLU0E5UGlCMmIybGtMRnh5WEc1Y2RHNWxkSGR2Y210SmRHVnRSSEp2Y0VOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbWwwWlcxSlpDQTlJR2wwWlcxSlpEdGNjbHh1WEhSY2RIUm9hWE11Y21WdGIzUmxSWFpsYm5SRFlXeHNZbUZqYXlBOUlISmxiVzkwWlVWMlpXNTBRMkZzYkdKaFkyczdYSEpjYmx4MFhIUjBhR2x6TG01bGRIZHZjbXRKZEdWdFJISnZjRU5oYkd4aVlXTnJJRDBnYm1WMGQyOXlhMGwwWlcxRWNtOXdRMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnpkR0YwYVdNZ2NtVmhaRzl1YkhrZ2FXNTBaWEptWVdObFRtRnRaVDBnWENKaFlYSmtkbUZ5YXkxdVpYUjNiM0pyWldRdFoyRmtaMlYwUURGY0lqdGNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0IxYm1sMlpYSnpaVVp5YjIxSmRHVnRLQ2tnWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11YkdGemRGVnVhWFpsY25ObFJuSnZiVWwwWlcwN1hISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQnlhWFpoZEdVZ2RYQmtZWFJsVEdsemRHVnVaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdVpXNTBhWFI1UTJGc2JHSmhZMnMvTGlncE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNISnBkbUYwWlNCelpXNWtVMlYwU1hSbGJVbHVabThvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkQzh2SUhSbGJHd2dkR2hsSUc5MGFHVnlJR1Z1WkNCb2IzY2dkMlVnZDJGdWRDQjBieUJpWlNCemRHRnlkR1ZrSUc5dUlIUm9aU0J5WlcxdmRHVWdaVzVrWEhKY2JseDBYSFJzWlhRZ2NtVnhPaUJPUjBWVFpYUkpkR1Z0U1c1bWJ5QTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFI1Y0dVNklFNWxkSGR2Y210SFlXUm5aWFJGZG1WdWRGUjVjR1V1VTJWMFNYUmxiVWx1Wm04c1hISmNibHgwWEhSY2RHbDBaVzFKWkRvZ2RHaHBjeTVwZEdWdFNXUXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBkR2hwY3k1dVpYUjNiM0pyVUhKdmRtbGtaWEkvTG5ObGJtUkZkbVZ1ZENnZ2NtVnhJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnYjI1T1pYUjNiM0pyWldSSFlXUm5aWFJUZEdGeWRDZ2dibVYwZDI5eWExQnliM1pwWkdWeU9pQkJZM1JwZG1WSmJuUmxjbVpoWTJVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVibVYwZDI5eWExQnliM1pwWkdWeUlEMGdibVYwZDI5eWExQnliM1pwWkdWeU8xeHlYRzVjZEZ4MGRHaHBjeTV6Wlc1a1UyVjBTWFJsYlVsdVptOG9LVHRjY2x4dVhISmNibHgwWEhSdVpYUjNiM0pyVUhKdmRtbGtaWEl1YjI1RmJtUmxaQ2dnS0NrOVBseHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZEdocGN5NXVaWFIzYjNKclVISnZkbWxrWlhJZ1BTQnVkV3hzTzF4eVhHNWNkRngwWEhSY2RIUm9hWE11ZEhKaGJuTm1iM0p0VTNSaGRHVWdQU0JPWlhSM2IzSnJTWFJsYlZSeVlXNXpabTl5YlM1T2IzSnRZV3c3WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFI5SUNrN1hISmNibHgwWEhSY2NseHVYSFJjZEc1bGRIZHZjbXRRY205MmFXUmxjaTV2YmtWMlpXNTBLQ0JoYzNsdVl5QW9JR1YyWlc1ME9pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSemQybDBZMmdvSUdWMlpXNTBMblI1Y0dVZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTJGelpTQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUlVlWEJsTGxKbFkyVnBkbVZGZG1WdWRFWnliMjFTWlcxdmRHVTZYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBiR1YwSUhKbGJXOTBaVVYyWlc1MElEMGdaWFpsYm5RZ1lYTWdUa2RGVTJWdVpFVjJaVzUwTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1eVpXMXZkR1ZGZG1WdWRFTmhiR3hpWVdOclB5NG9JSEpsYlc5MFpVVjJaVzUwTG1WMlpXNTBJQ2s3WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWEhSallYTmxJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVjBWSEpoYm5ObWIzSnRVM1JoZEdVNlhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGJHVjBJSE5sZEZSeVlXNXpabTl5YlZOMFlYUmxJRDBnWlhabGJuUWdZWE1nVGtkRlUyVjBWSEpoYm5ObWIzSnRVM1JoZEdVN1hISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2MyVjBWSEpoYm5ObWIzSnRVM1JoZEdVdWJtVjNVM1JoZEdVZ1BUMGdUbVYwZDI5eWEwbDBaVzFVY21GdWMyWnZjbTB1VDNabGNuSnBaR1VnS1Z4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmhkMkZwZENCdVpYUjNiM0pyVUhKdmRtbGtaWEl1Ykc5amF5Z3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11ZEhKaGJuTm1iM0p0VTNSaGRHVWdQU0J6WlhSVWNtRnVjMlp2Y20xVGRHRjBaUzV1WlhkVGRHRjBaVHRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2MyVjBWSEpoYm5ObWIzSnRVM1JoZEdVdWRXNXBkbVZ5YzJWR2NtOXRTWFJsYlNBcFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdWJHRnpkRlZ1YVhabGNuTmxSbkp2YlVsMFpXMGdQU0J6WlhSVWNtRnVjMlp2Y20xVGRHRjBaUzUxYm1sMlpYSnpaVVp5YjIxSmRHVnRPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRngwWEhSY2RHbG1LQ0IwYUdsekxuUnlZVzV6Wm05eWJWTjBZWFJsSUQwOUlFNWxkSGR2Y210SmRHVnRWSEpoYm5ObWIzSnRMa1J5YjNCd2FXNW5JQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFlYZGhhWFFnZEdocGN5NXVaWFIzYjNKclNYUmxiVVJ5YjNCRFlXeHNZbUZqYXlncE8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSaGQyRnBkQ0J1WlhSM2IzSnJVSEp2ZG1sa1pYSXVkVzVzYjJOcktDazdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeGxkQ0J5WlhOd09pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUWdQVnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTBkaFpHZGxkRVYyWlc1MFZIbHdaUzVFY205d1EyOXRjR3hsZEdWY2NseHVYSFJjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RGeDBYSFIwYUdsekxtNWxkSGR2Y210UWNtOTJhV1JsY2k1elpXNWtSWFpsYm5Rb0lISmxjM0FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11ZFhCa1lYUmxUR2x6ZEdWdVpYSW9LVHRjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMGdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZEhKaGJuTnRhWFJ6S0NrNklFbHVkR1Z5Wm1GalpWQnliM0JiWFZ4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQmJJSHNnYVdaaFkyVTZJRTVsZEhkdmNtdGxaRWRoWkdkbGRFTnZiWEJ2Ym1WdWRDNXBiblJsY21aaFkyVk9ZVzFsTENCd2NtOWpaWE56YjNJNklIUm9hWE11YjI1T1pYUjNiM0pyWldSSFlXUm5aWFJUZEdGeWRDQjlJRjA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhKbFkyVnBkbVZ6S0NrNklFbHVkR1Z5Wm1GalpWQnliM0JiWFZ4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQmJYVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZEhKaGJuTm1iM0p0VDNabGNuSnBaR1JsYmlncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWRISmhibk5tYjNKdFUzUmhkR1VnUFQwZ1RtVjBkMjl5YTBsMFpXMVVjbUZ1YzJadmNtMHVUM1psY25KcFpHVTdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5Qm5aWFFnY0dGeVpXNTBLQ2s2SUVWdVpIQnZhVzUwUVdSa2NseHlYRzVjZEh0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEdocGN5NTBjbUZ1YzJadmNtMVRkR0YwWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTmhjMlVnVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wdVJISnZjSEJwYm1jNlhISmNibHgwWEhSY2RHTmhjMlVnVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wdVRtOXliV0ZzT2x4eVhHNWNkRngwWEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2NseHVYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJTWFJsYlZSeVlXNXpabTl5YlM1UGRtVnljbWxrWlRwY2NseHVYSFJjZEZ4MFhIUnlaWFIxY200Z2RHaHBjeTV1WlhSM2IzSnJVSEp2ZG1sa1pYSS9MbkJsWlhJN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQjFZbXhwWXlCblpYUWdkMkZ1ZEhOVWNtRnVjMlp2Y20xektDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmx4MGZWeHlYRzVjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCcGJuUmxjbVpoWTJWTWIyTnJjeWdwT2lCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amExdGRJSHNnY21WMGRYSnVJRnRkT3lCOVhISmNibHgwWEhKY2JseDBjSFZpYkdsaklHOXVWWEJrWVhSbEtDQmpZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0FwT2lCMmIybGtYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTVsYm5ScGRIbERZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ5Wlc1a1pYSW9LVG9nU2xOWUxrVnNaVzFsYm5SY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ6Wlc1a1JYWmxiblJVYjBGc2JGSmxiVzkwWlhNb0lHVjJaVzUwT2lCdlltcGxZM1FzSUhKbGJHbGhZbXhsT2lCaWIyOXNaV0Z1SUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1pYWjBPaUJPUjBWVFpXNWtSWFpsYm5RZ1BWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBlWEJsT2lCT1pYUjNiM0pyUjJGa1oyVjBSWFpsYm5SVWVYQmxMbE5sYm1SRmRtVnVkRlJ2UVd4c1VtVnRiM1JsY3l4Y2NseHVYSFJjZEZ4MFpYWmxiblFzWEhKY2JseDBYSFJjZEhKbGJHbGhZbXhsTEZ4eVhHNWNkRngwZlR0Y2NseHVYSFJjZEhSb2FYTXVibVYwZDI5eWExQnliM1pwWkdWeVB5NXpaVzVrUlhabGJuUW9JR1YyZENBcE8xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0LnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvY29tcG9uZW50X3JlbW90ZV9nYWRnZXQudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IFJlbW90ZUdhZGdldEV2ZW50VHlwZSwgUmVtb3RlR2FkZ2V0Q29tcG9uZW50LCBrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZSwgUmVtb3RlSXRlbUNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW1vdGVHYWRnZXRFdmVudFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUmVtb3RlR2FkZ2V0Q29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19yZW1vdGVHcmFiYmFibGVJbnRlcmZhY2U7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUl0ZW1Db21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFJlbW90ZUl0ZW1Db21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIFJlbW90ZUdhZGdldEV2ZW50VHlwZTtcXHJcXG4oZnVuY3Rpb24gKFJlbW90ZUdhZGdldEV2ZW50VHlwZSkge1xcclxcbiAgICBSZW1vdGVHYWRnZXRFdmVudFR5cGVbXFxcIlJlY2VpdmVFdmVudEZyb21NYXN0ZXJcXFwiXSA9IFxcXCJyZWNlaXZlX2V2ZW50X2Zyb21fbWFzdGVyXFxcIjtcXHJcXG4gICAgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlW1xcXCJTZW5kRXZlbnRUb01hc3RlclxcXCJdID0gXFxcInNlbmRfZXZlbnRfdG9fbWFzdGVyXFxcIjtcXHJcXG4gICAgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlW1xcXCJEZXN0cm95R2FkZ2V0XFxcIl0gPSBcXFwiZGVzdHJveV9nYWRnZXRcXFwiO1xcclxcbiAgICBSZW1vdGVHYWRnZXRFdmVudFR5cGVbXFxcIlNldEl0ZW1JbmZvXFxcIl0gPSBcXFwic2V0X2l0ZW1faW5mb1xcXCI7XFxyXFxuICAgIFJlbW90ZUdhZGdldEV2ZW50VHlwZVtcXFwiU3RhcnRHcmFiXFxcIl0gPSBcXFwic3RhcnRfZ3JhYlxcXCI7XFxyXFxuICAgIFJlbW90ZUdhZGdldEV2ZW50VHlwZVtcXFwiRW5kR3JhYlxcXCJdID0gXFxcImVuZF9ncmFiXFxcIjtcXHJcXG59KShSZW1vdGVHYWRnZXRFdmVudFR5cGUgfHwgKFJlbW90ZUdhZGdldEV2ZW50VHlwZSA9IHt9KSk7XFxyXFxuY2xhc3MgUmVtb3RlR2FkZ2V0Q29tcG9uZW50IHtcXHJcXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tYXN0ZXJDYWxsYmFjayA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZVJlbW90ZSA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm1hc3RlckNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgdXBkYXRlTGlzdGVuZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW90ZVN0YXJ0KGFjdGl2ZUNvbnRhaW5lcikge1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIFJlbW90ZUdhZGdldEV2ZW50VHlwZS5SZWNlaXZlRXZlbnRGcm9tTWFzdGVyOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtYXN0ZXJFdmVudCA9IGV2ZW50O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IHRoaXMubWFzdGVyQ2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIG1hc3RlckV2ZW50LmV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIFJlbW90ZUdhZGdldEV2ZW50VHlwZS5EZXN0cm95R2FkZ2V0OlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUmVtb3RlID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RlbmVyKCk7XFxyXFxuICAgICAgICAgICAgLy8gdGhpcyByZW1vdGUgZ2FkZ2V0IGlzIG5vIGxvbmdlciBpbiBhIHJvb20uIEl0IHNob3VsZCBkZXN0cm95IGl0c2VsZi5cXHJcXG4gICAgICAgICAgICB3aW5kb3cuY2xvc2UoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVSZW1vdGUgPSBhY3RpdmVDb250YWluZXI7XFxyXFxuICAgICAgICB0aGlzLnVwZGF0ZUxpc3RlbmVyKCk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHRyYW5zbWl0cygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbeyBpZmFjZTogUmVtb3RlR2FkZ2V0Q29tcG9uZW50LmludGVyZmFjZU5hbWUsIHByb2Nlc3NvcjogdGhpcy5vblJlbW90ZVN0YXJ0IH1dO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcGFyZW50KCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuYWN0aXZlUmVtb3RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5pbml0aWFsSW50ZXJmYWNlcy5maWx0ZXIoKGxvY2spID0+IGxvY2suaWZhY2UgPT0gUmVtb3RlR2FkZ2V0Q29tcG9uZW50LmludGVyZmFjZU5hbWUpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uVXBkYXRlKGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEV2ZW50VG9NYXN0ZXIoZXZlbnQsIHJlbGlhYmxlKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgZXZlbnRFdmVudCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBSZW1vdGVHYWRnZXRFdmVudFR5cGUuU2VuZEV2ZW50VG9NYXN0ZXIsXFxyXFxuICAgICAgICAgICAgZXZlbnQsXFxyXFxuICAgICAgICAgICAgcmVsaWFibGUsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5hY3RpdmVSZW1vdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQoZXZlbnRFdmVudCk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuUmVtb3RlR2FkZ2V0Q29tcG9uZW50LmludGVyZmFjZU5hbWUgPSBcXFwiYWFyZHZhcmstcmVtb3RlLWdhZGdldEAxXFxcIjtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hXFxyXFxuXSwgUmVtb3RlR2FkZ2V0Q29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlU3RhcnRcXFwiLCBudWxsKTtcXHJcXG5jb25zdCBrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZSA9IFxcXCJhYXJkdmFyay1yZW1vdGUtZ3JhYmJhYmxlQDFcXFwiO1xcclxcbmNsYXNzIFJlbW90ZUl0ZW1Db21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcihpdGVtSWQsIGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubWFzdGVyQ2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVSZW1vdGUgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5pc0dyYWJiZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMubWFzdGVyQ2FsbGJhY2sgPSBjYWxsYmFjaztcXHJcXG4gICAgICAgIHRoaXMuaXRlbUlkID0gaXRlbUlkO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUxpc3RlbmVyKCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5lbnRpdHlDYWxsYmFjaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgc2V0SXNHcmFiYmVkKGlzR3JhYmJlZCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgaWYgKGlzR3JhYmJlZCAhPSB0aGlzLmlzR3JhYmJlZCkge1xcclxcbiAgICAgICAgICAgIC8vIHRlbGwgdGhlIG90aGVyIGVuZCBob3cgd2Ugd2FudCB0byBiZSBzdGFydGVkIG9uIHRoZSByZW1vdGUgZW5kXFxyXFxuICAgICAgICAgICAgbGV0IHJlcSA9IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogaXNHcmFiYmVkID8gUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLlN0YXJ0R3JhYiA6IFJlbW90ZUdhZGdldEV2ZW50VHlwZS5FbmRHcmFiLFxcclxcbiAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgKF9hID0gdGhpcy5hY3RpdmVSZW1vdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQocmVxKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmlzR3JhYmJlZCA9IGlzR3JhYmJlZDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBzZW5kU2V0SXRlbUluZm8oKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAvLyB0ZWxsIHRoZSBvdGhlciBlbmQgaG93IHdlIHdhbnQgdG8gYmUgc3RhcnRlZCBvbiB0aGUgcmVtb3RlIGVuZFxcclxcbiAgICAgICAgbGV0IHJlcSA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBSZW1vdGVHYWRnZXRFdmVudFR5cGUuU2V0SXRlbUluZm8sXFxyXFxuICAgICAgICAgICAgaXRlbUlkOiB0aGlzLml0ZW1JZCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmFjdGl2ZVJlbW90ZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChyZXEpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uUmVtb3RlU3RhcnQoYWN0aXZlUmVtb3RlKSB7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGUub25FdmVudCgoZXZlbnQpID0+IHtcXHJcXG4gICAgICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLlJlY2VpdmVFdmVudEZyb21NYXN0ZXI6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1hc3RlckV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5tYXN0ZXJDYWxsYmFjaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcywgbWFzdGVyRXZlbnQuZXZlbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLkRlc3Ryb3lHYWRnZXQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGUub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZW1vdGUgPSBudWxsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgdGhpcy5zZW5kU2V0SXRlbUluZm8oKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUmVtb3RlID0gYWN0aXZlUmVtb3RlO1xcclxcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB0cmFuc21pdHMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW3sgaWZhY2U6IFJlbW90ZUdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lLCBwcm9jZXNzb3I6IHRoaXMub25SZW1vdGVTdGFydCB9XTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcmVjZWl2ZXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW107XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHBhcmVudCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAhdGhpcy5pc0dyYWJiZWQgJiYgKChfYSA9IHRoaXMuYWN0aXZlUmVtb3RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcik7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlTG9ja3MoKSB7XFxyXFxuICAgICAgICBsZXQgbG9jayA9IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLmZpbmRJbml0aWFsSW50ZXJmYWNlKFJlbW90ZUdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lKTtcXHJcXG4gICAgICAgIGlmICghbG9jaylcXHJcXG4gICAgICAgICAgICByZXR1cm4gW107XFxyXFxuICAgICAgICBsZXQgaXRlbUxvY2sgPSBPYmplY3QuYXNzaWduKHt9LCBsb2NrKTtcXHJcXG4gICAgICAgIGl0ZW1Mb2NrLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgbG9jay5wYXJhbXMpLCB7IGl0ZW1JZDogdGhpcy5pdGVtSWQgfSk7XFxyXFxuICAgICAgICByZXR1cm4gW2l0ZW1Mb2NrXTtcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICB9XFxyXFxuICAgIHNlbmRFdmVudFRvTWFzdGVyKGV2ZW50LCByZWxpYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGV2ZW50RXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLlNlbmRFdmVudFRvTWFzdGVyLFxcclxcbiAgICAgICAgICAgIGV2ZW50LFxcclxcbiAgICAgICAgICAgIHJlbGlhYmxlLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuYWN0aXZlUmVtb3RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KGV2ZW50RXZlbnQpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0LmFcXHJcXG5dLCBSZW1vdGVJdGVtQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlU3RhcnRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWpiMjF3YjI1bGJuUmZjbVZ0YjNSbFgyZGhaR2RsZEM1MGMzZy9PV1UxTkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3TzBGQlEydERPMEZCUlZjN1FVRkhOME1zU1VGQldTeHhRa0ZSV0R0QlFWSkVMRmRCUVZrc2NVSkJRWEZDTzBsQlJXaERMRFpGUVVGdlJEdEpRVU53UkN4dFJVRkJNRU03U1VGRE1VTXNlVVJCUVdkRE8wbEJRMmhETEhORVFVRTJRanRKUVVNM1FpeHBSRUZCZDBJN1NVRkRlRUlzTmtOQlFXOUNPMEZCUTNKQ0xFTkJRVU1zUlVGU1Z5eHhRa0ZCY1VJc1MwRkJja0lzY1VKQlFYRkNMRkZCVVdoRE8wRkJhMEpOTEUxQlFVMHNjVUpCUVhGQ08wbEJVV3BETEZsQlFXRXNVVUZCYlVNN1VVRk9lRU1zYlVKQlFXTXNSMEZCWlN4SlFVRkpMRU5CUVVNN1VVRkRiRU1zYlVKQlFXTXNSMEZCT0VJc1NVRkJTU3hEUVVGRE8xRkJRMnBFTEdsQ1FVRlpMRWRCUVc5Q0xFbEJRVWtzUTBGQlF6dFJRVTAxUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExGRkJRVkVzUTBGQlF6dEpRVU5vUXl4RFFVRkRPMGxCUlU4c1kwRkJZenM3VVVGRmNrSXNWVUZCU1N4RFFVRkRMR05CUVdNc0swTkJRVzVDTEVsQlFVa3NSVUZCYjBJN1NVRkRla0lzUTBGQlF6dEpRVWRQTEdGQlFXRXNRMEZCUlN4bFFVRm5RenRSUVVWMFJDeGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVTjBRaXhEUVVGRkxFdEJRWGRDTEVWQlFVY3NSVUZCUlRzN1dVRkZPVUlzVVVGQlVTeExRVUZMTEVOQlFVTXNTVUZCU1N4RlFVTnNRanRuUWtGRFF5eExRVUZMTEhGQ1FVRnhRaXhEUVVGRExITkNRVUZ6UWp0dlFrRkRha1E3ZDBKQlEwTXNTVUZCU1N4WFFVRlhMRWRCUVVjc1MwRkJjVUlzUTBGQlF6dDNRa0ZEZUVNc1ZVRkJTU3hEUVVGRExHTkJRV01zSzBOQlFXNUNMRWxCUVVrc1JVRkJiVUlzVjBGQlZ5eERRVUZETEV0QlFVc3NSVUZCUnp0eFFrRkRNME03YjBKQlEwUXNUVUZCVFR0blFrRkZUaXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMR0ZCUVdFN2IwSkJRM2hETzNkQ1FVTkRMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dHhRa0ZEWmp0aFFVTkVPMUZCUTBZc1EwRkJReXhEUVVORU8xRkJSVVFzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZEZEVJc1IwRkJSeXhGUVVGRk8xbEJSVW9zU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRla0lzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMWxCUlhSQ0xIVkZRVUYxUlR0WlFVTjJSU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTTdVVUZEYUVJc1EwRkJReXhEUVVGRkxFTkJRVU03VVVGRlRDeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMR1ZCUVdVc1EwRkJRenRSUVVOd1F5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1NVRkRka0lzUTBGQlF6dEpRVVZFTEVsQlFWY3NVMEZCVXp0UlFVVnVRaXhQUVVGUExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zWVVGQllTeEZRVUZGTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1lVRkJZU3hGUVVGRkxFTkJRVVVzUTBGQlF6dEpRVU14Uml4RFFVRkRPMGxCUlVRc1NVRkJWeXhSUVVGUk8xRkJSV3hDTEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTFnc1EwRkJRenRKUVVWRUxFbEJRVmNzVFVGQlRUczdVVUZGYUVJc1lVRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTd3dRMEZCUlN4SlFVRkpMRU5CUVVNN1NVRkRhRU1zUTBGQlF6dEpRVVZFTEVsQlFWY3NaVUZCWlR0UlFVVjZRaXhQUVVGUExFdEJRVXNzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4SlFVRlhMR05CUVdNN1VVRkZlRUlzVDBGQlR5eDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRkxFbEJRVEJDTEVWQlFVY3NSVUZCUlN4RFFVTnlSaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEhGQ1FVRnhRaXhEUVVGRExHRkJRV0VzUTBGQlJTeERRVUZETzBsQlEzUkVMRU5CUVVNN1NVRkZUU3hSUVVGUkxFTkJRVVVzVVVGQmIwSTdVVUZGY0VNc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eFJRVUZSTEVOQlFVTTdTVUZEYUVNc1EwRkJRenRKUVVWTkxFMUJRVTA3VVVGRldpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmlMRU5CUVVNN1NVRkZUU3hwUWtGQmFVSXNRMEZCUlN4TFFVRmhMRVZCUVVVc1VVRkJhVUk3TzFGQlJYcEVMRWxCUVVrc1ZVRkJWU3hIUVVOa08xbEJRME1zU1VGQlNTeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExHbENRVUZwUWp0WlFVTTNReXhMUVVGTE8xbEJRMHdzVVVGQlVUdFRRVU5TTEVOQlFVTTdVVUZEUml4VlFVRkpMRU5CUVVNc1dVRkJXU3d3UTBGQlJTeFRRVUZUTEVOQlFVVXNWVUZCVlN4RlFVRkhPMGxCUXpWRExFTkJRVU03TzBGQk9VWmxMRzFEUVVGaExFZEJRVVVzTUVKQlFUQkNMRU5CUVVNN1FVRmhNVVE3U1VGRVF5eHhSRUZCU1Rzd1JFRnRRMG83UVVGclJFc3NUVUZCVFN3d1FrRkJNRUlzUjBGQlJTdzJRa0ZCTmtJc1EwRkJRenRCUVVWb1JTeE5RVUZOTEcxQ1FVRnRRanRKUVZFdlFpeFpRVUZoTEUxQlFXTXNSVUZCUlN4UlFVRnRRenRSUVU1NFJDeHRRa0ZCWXl4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVOc1F5eHRRa0ZCWXl4SFFVRTRRaXhKUVVGSkxFTkJRVU03VVVGRGFrUXNhVUpCUVZrc1IwRkJiMElzU1VGQlNTeERRVUZETzFGQlJYSkRMR05CUVZNc1IwRkJXU3hMUVVGTExFTkJRVU03VVVGSmJFTXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhSUVVGUkxFTkJRVU03VVVGREwwSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03U1VGRGRFSXNRMEZCUXp0SlFVVlBMR05CUVdNN08xRkJSWEpDTEZWQlFVa3NRMEZCUXl4alFVRmpMQ3REUVVGdVFpeEpRVUZKTEVWQlFXOUNPMGxCUTNwQ0xFTkJRVU03U1VGRlRTeFpRVUZaTEVOQlFVVXNVMEZCYTBJN08xRkJSWFJETEVsQlFVa3NVMEZCVXl4SlFVRkpMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJReTlDTzFsQlEwTXNhVVZCUVdsRk8xbEJRMnBGTEVsQlFVa3NSMEZCUnl4SFFVTlFPMmRDUVVORExFbEJRVWtzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNUMEZCVHp0aFFVTnFSaXhEUVVGRE8xbEJRMFlzVlVGQlNTeERRVUZETEZsQlFWa3NNRU5CUVVVc1UwRkJVeXhEUVVGRkxFZEJRVWNzUlVGQlJ6dFpRVVZ3UXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExGTkJRVk1zUTBGQlF6dFRRVU16UWp0SlFVTkdMRU5CUVVNN1NVRkZUeXhsUVVGbE96dFJRVVYwUWl4cFJVRkJhVVU3VVVGRGFrVXNTVUZCU1N4SFFVRkhMRWRCUTFBN1dVRkRReXhKUVVGSkxFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1YwRkJWenRaUVVOMlF5eE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTFCUVUwN1UwRkRia0lzUTBGQlF6dFJRVU5HTEZWQlFVa3NRMEZCUXl4WlFVRlpMREJEUVVGRkxGTkJRVk1zUTBGQlJTeEhRVUZITEVWQlFVYzdTVUZEY2tNc1EwRkJRenRKUVVkUExHRkJRV0VzUTBGQlJTeFpRVUUyUWp0UlFVVnVSQ3haUVVGWkxFTkJRVU1zVDBGQlR5eERRVU51UWl4RFFVRkZMRXRCUVhkQ0xFVkJRVWNzUlVGQlJUczdXVUZGT1VJc1VVRkJVU3hMUVVGTExFTkJRVU1zU1VGQlNTeEZRVU5zUWp0blFrRkRReXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMSE5DUVVGelFqdHZRa0ZEYWtRN2QwSkJRME1zU1VGQlNTeFhRVUZYTEVkQlFVY3NTMEZCY1VJc1EwRkJRenQzUWtGRGVFTXNWVUZCU1N4RFFVRkRMR05CUVdNc0swTkJRVzVDTEVsQlFVa3NSVUZCYlVJc1YwRkJWeXhEUVVGRExFdEJRVXNzUlVGQlJ6dHhRa0ZETTBNN2IwSkJRMFFzVFVGQlRUdG5Ra0ZGVGl4TFFVRkxMSEZDUVVGeFFpeERRVUZETEdGQlFXRTdiMEpCUTNoRE8zZENRVU5ETEUxQlFVMHNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenR4UWtGRFpqdGhRVU5FTzFGQlEwWXNRMEZCUXl4RFFVTkVPMUZCUlVRc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGRGJrSXNSMEZCUnl4RlFVRkZPMWxCUlVvc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZEZWtJc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFGQlEzWkNMRU5CUVVNc1EwRkJSU3hEUVVGRE8xRkJSVXdzU1VGQlNTeERRVUZETEdWQlFXVXNSVUZCUlN4RFFVRkRPMUZCUTNaQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NXVUZCV1N4RFFVRkRPMUZCUTJwRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0SlFVTjJRaXhEUVVGRE8wbEJSVVFzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeHhRa0ZCY1VJc1EwRkJReXhoUVVGaExFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4aFFVRmhMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRekZHTEVOQlFVTTdTVUZGUkN4SlFVRlhMRkZCUVZFN1VVRkZiRUlzVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEV0N4RFFVRkRPMGxCUlVRc1NVRkJWeXhOUVVGTk96dFJRVVZvUWl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zVjBGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N3d1EwRkJSU3hKUVVGSkxFVkJRVU03U1VGRGJrUXNRMEZCUXp0SlFVVkVMRWxCUVZjc1pVRkJaVHRSUVVWNlFpeFBRVUZQTEV0QlFVc3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3hKUVVGWExHTkJRV003VVVGRmVFSXNTVUZCU1N4SlFVRkpMRWRCUVVjc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4dlFrRkJiMElzUTBGQlJTeHhRa0ZCY1VJc1EwRkJReXhoUVVGaExFTkJRVVVzUTBGQlF6dFJRVU16Uml4SlFVRkpMRU5CUVVNc1NVRkJTVHRaUVVOU0xFOUJRVThzUlVGQlJTeERRVUZETzFGQlJWZ3NTVUZCU1N4UlFVRlJMSEZDUVVGUExFbEJRVWtzUTBGQlJTeERRVUZETzFGQlF6RkNMRkZCUVZFc1EwRkJReXhOUVVGTkxHMURRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRXRCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVVXNRMEZCUXp0UlFVTjZSQ3hQUVVGUExFTkJRVVVzVVVGQlVTeERRVUZGTEVOQlFVTTdTVUZEY2tJc1EwRkJRenRKUVVkTkxGRkJRVkVzUTBGQlJTeFJRVUZ2UWp0UlFVVndReXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEZGQlFWRXNRMEZCUXp0SlFVTm9ReXhEUVVGRE8wbEJSVTBzVFVGQlRUdFJRVVZhTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJJc1EwRkJRenRKUVVWTkxHbENRVUZwUWl4RFFVRkZMRXRCUVdFc1JVRkJSU3hSUVVGcFFqczdVVUZGZWtRc1NVRkJTU3hWUVVGVkxFZEJRMlE3V1VGRFF5eEpRVUZKTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zYVVKQlFXbENPMWxCUXpkRExFdEJRVXM3V1VGRFRDeFJRVUZSTzFOQlExSXNRMEZCUXp0UlFVTkdMRlZCUVVrc1EwRkJReXhaUVVGWkxEQkRRVUZGTEZOQlFWTXNRMEZCUlN4VlFVRlZMRVZCUVVjN1NVRkROVU1zUTBGQlF6dERRVU5FTzBGQmRFWkJPMGxCUkVNc2NVUkJRVWs3ZDBSQmFVTktJaXdpWm1sc1pTSTZJaTR2YzNKakwyTnZiWEJ2Ym1WdWRGOXlaVzF2ZEdWZloyRmtaMlYwTG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVWdVpIQnZhVzUwUVdSa2Npd2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnNnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibWx0Y0c5eWRDQjdJRVZ1ZEdsMGVVTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZMjl0Y0c5elpXUmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRmpkR2wyWlVsdWRHVnlabUZqWlN3Z1NXNTBaWEptWVdObFVISnZjQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYVc1MFpYSm1ZV05sWDJWdWRHbDBlU2M3WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCU1pXMXZkR1ZIWVdSblpYUkZkbVZ1ZEZSNWNHVmNjbHh1ZTF4eVhHNWNkRkpsWTJWcGRtVkZkbVZ1ZEVaeWIyMU5ZWE4wWlhJZ1BTQmNJbkpsWTJWcGRtVmZaWFpsYm5SZlpuSnZiVjl0WVhOMFpYSmNJaXhjY2x4dVhIUlRaVzVrUlhabGJuUlViMDFoYzNSbGNpQTlJRndpYzJWdVpGOWxkbVZ1ZEY5MGIxOXRZWE4wWlhKY0lpeGNjbHh1WEhSRVpYTjBjbTk1UjJGa1oyVjBJRDBnWENKa1pYTjBjbTk1WDJkaFpHZGxkRndpTEZ4eVhHNWNkRk5sZEVsMFpXMUpibVp2SUQwZ1hDSnpaWFJmYVhSbGJWOXBibVp2WENJc1hISmNibHgwVTNSaGNuUkhjbUZpSUQwZ1hDSnpkR0Z5ZEY5bmNtRmlYQ0lzWEhKY2JseDBSVzVrUjNKaFlpQTlJRndpWlc1a1gyZHlZV0pjSWl4Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGeHlYRzU3WEhKY2JseDBkSGx3WlRvZ1VtVnRiM1JsUjJGa1oyVjBSWFpsYm5SVWVYQmxPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZKSFJWTmxibVJGZG1WdWRDQmxlSFJsYm1SeklGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFhISmNibnRjY2x4dVhIUmxkbVZ1ZERvZ2IySnFaV04wTzF4eVhHNWNkSEpsYkdsaFlteGxQem9nWW05dmJHVmhianRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCU1IwVlRaWFJKZEdWdFNXNW1ieUJsZUhSbGJtUnpJRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBYSEpjYm50Y2NseHVYSFJwZEdWdFNXUTZJSE4wY21sdVp6dGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR05zWVhOeklGSmxiVzkwWlVkaFpHZGxkRU52YlhCdmJtVnVkQ0JwYlhCc1pXMWxiblJ6SUVWdWRHbDBlVU52YlhCdmJtVnVkRnh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JsYm5ScGRIbERZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdFlYTjBaWEpEWVd4c1ltRmphem9nS0NCbGRtVnVkRG9nYjJKcVpXTjBJQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCaFkzUnBkbVZTWlcxdmRHVTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQTlJRzUxYkd3N1hISmNibHh5WEc1Y2RITjBZWFJwWXlCeVpXRmtiMjVzZVNCcGJuUmxjbVpoWTJWT1lXMWxQU0JjSW1GaGNtUjJZWEpyTFhKbGJXOTBaUzFuWVdSblpYUkFNVndpTzF4eVhHNWNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2dZMkZzYkdKaFkyczZJQ2dnWlhabGJuUTZJRzlpYW1WamRDQXBJRDArSUhadmFXUWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11YldGemRHVnlRMkZzYkdKaFkyc2dQU0JqWVd4c1ltRmphenRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdkWEJrWVhSbFRHbHpkR1Z1WlhJb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBRR0pwYm1SY2NseHVYSFJ3Y21sMllYUmxJRzl1VW1WdGIzUmxVM1JoY25Rb0lHRmpkR2wyWlVOdmJuUmhhVzVsY2pvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUNsY2NseHVYSFI3WEhKY2JseDBYSFJoWTNScGRtVkRiMjUwWVdsdVpYSXViMjVGZG1WdWRDZ2dYSEpjYmx4MFhIUmNkQ2dnWlhabGJuUTZJRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBJQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSE4zYVhSamFDZ2daWFpsYm5RdWRIbHdaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWTJGelpTQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGUjVjR1V1VW1WalpXbDJaVVYyWlc1MFJuSnZiVTFoYzNSbGNqcGNjbHh1WEhSY2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYkdWMElHMWhjM1JsY2tWMlpXNTBJRDBnWlhabGJuUWdZWE1nVWtkRlUyVnVaRVYyWlc1ME8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSMGFHbHpMbTFoYzNSbGNrTmhiR3hpWVdOclB5NG9JRzFoYzNSbGNrVjJaVzUwTG1WMlpXNTBJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJqWVhObElGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaUzVFWlhOMGNtOTVSMkZrWjJWME9seHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFIzYVc1a2IzY3VZMnh2YzJVb0tUdGNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkQ2xjY2x4dVhISmNibHgwWEhSaFkzUnBkbVZEYjI1MFlXbHVaWEl1YjI1RmJtUmxaQ2dnWEhKY2JseDBYSFJjZENncElEMCtYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbUZqZEdsMlpWSmxiVzkwWlNBOUlHNTFiR3c3WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUXZMeUIwYUdseklISmxiVzkwWlNCbllXUm5aWFFnYVhNZ2JtOGdiRzl1WjJWeUlHbHVJR0VnY205dmJTNGdTWFFnYzJodmRXeGtJR1JsYzNSeWIza2dhWFJ6Wld4bUxseHlYRzVjZEZ4MFhIUmNkSGRwYm1SdmR5NWpiRzl6WlNncE8xeHlYRzVjZEZ4MFhIUjlJQ2s3WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVZ1BTQmhZM1JwZG1WRGIyNTBZV2x1WlhJN1hISmNibHgwWEhSMGFHbHpMblZ3WkdGMFpVeHBjM1JsYm1WeUtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJSFJ5WVc1emJXbDBjeWdwT2lCSmJuUmxjbVpoWTJWUWNtOXdXMTFjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1d5QjdJR2xtWVdObE9pQlNaVzF2ZEdWSFlXUm5aWFJEYjIxd2IyNWxiblF1YVc1MFpYSm1ZV05sVG1GdFpTd2djSEp2WTJWemMyOXlPaUIwYUdsekxtOXVVbVZ0YjNSbFUzUmhjblFnZlNCZE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnlaV05sYVhabGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIQmhjbVZ1ZENncE9pQkZibVJ3YjJsdWRFRmtaSEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTVoWTNScGRtVlNaVzF2ZEdVL0xuQmxaWEk3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEhCMVlteHBZeUJuWlhRZ2QyRnVkSE5VY21GdWMyWnZjbTF6S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElHbHVkR1Z5Wm1GalpVeHZZMnR6S0NrNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBnWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlFRjJSMkZrWjJWMExtbHVjM1JoYm1ObEtDa3VhVzVwZEdsaGJFbHVkR1Z5Wm1GalpYTXVabWxzZEdWeUtDQW9JR3h2WTJzNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJJQ2tnUFQ0Z1hISmNibHgwWEhSY2RHeHZZMnN1YVdaaFkyVWdQVDBnVW1WdGIzUmxSMkZrWjJWMFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVNWhiV1VnS1R0Y2NseHVYSFI5WEhKY2JseDBYSEpjYmx4MGNIVmliR2xqSUc5dVZYQmtZWFJsS0NCallXeHNZbUZqYXpvZ0tDa2dQVDRnZG05cFpDQXBPaUIyYjJsa1hISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NWxiblJwZEhsRFlXeHNZbUZqYXlBOUlHTmhiR3hpWVdOck8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NrNklFcFRXQzVGYkdWdFpXNTBYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2MyVnVaRVYyWlc1MFZHOU5ZWE4wWlhJb0lHVjJaVzUwT2lCdlltcGxZM1FzSUhKbGJHbGhZbXhsT2lCaWIyOXNaV0Z1SUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1pYWmxiblJGZG1WdWREb2dVa2RGVTJWdVpFVjJaVzUwSUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRIbHdaVG9nVW1WdGIzUmxSMkZrWjJWMFJYWmxiblJVZVhCbExsTmxibVJGZG1WdWRGUnZUV0Z6ZEdWeUxGeHlYRzVjZEZ4MFhIUmxkbVZ1ZEN4Y2NseHVYSFJjZEZ4MGNtVnNhV0ZpYkdVc1hISmNibHgwWEhSOU8xeHlYRzVjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVL0xuTmxibVJGZG1WdWRDZ2daWFpsYm5SRmRtVnVkQ0FwTzF4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOdmJuTjBJR3RmY21WdGIzUmxSM0poWW1KaFlteGxTVzUwWlhKbVlXTmxJRDFjSW1GaGNtUjJZWEpyTFhKbGJXOTBaUzFuY21GaVltRmliR1ZBTVZ3aU8xeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRkpsYlc5MFpVbDBaVzFEYjIxd2IyNWxiblFnYVcxd2JHVnRaVzUwY3lCRmJuUnBkSGxEYjIxd2IyNWxiblJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnWlc1MGFYUjVRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ2JXRnpkR1Z5UTJGc2JHSmhZMnM2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ0FwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ1lXTjBhWFpsVW1WdGIzUmxPaUJCWTNScGRtVkpiblJsY21aaFkyVWdQU0J1ZFd4c08xeHlYRzVjZEhCeWFYWmhkR1VnYVhSbGJVbGtPaUJ6ZEhKcGJtYzdYSEpjYmx4MGNISnBkbUYwWlNCcGMwZHlZV0ppWldRNklHSnZiMnhsWVc0Z1BTQm1ZV3h6WlR0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR2wwWlcxSlpEb2djM1J5YVc1bkxDQmpZV3hzWW1GamF6b2dLQ0JsZG1WdWREb2diMkpxWldOMElDa2dQVDRnZG05cFpDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTV0WVhOMFpYSkRZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh5WEc1Y2RGeDBkR2hwY3k1cGRHVnRTV1FnUFNCcGRHVnRTV1E3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSFZ3WkdGMFpVeHBjM1JsYm1WeUtDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOclB5NG9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnpaWFJKYzBkeVlXSmlaV1FvSUdselIzSmhZbUpsWkRvZ1ltOXZiR1ZoYmlBcFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lHbHpSM0poWW1KbFpDQWhQU0IwYUdsekxtbHpSM0poWW1KbFpDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkQzh2SUhSbGJHd2dkR2hsSUc5MGFHVnlJR1Z1WkNCb2IzY2dkMlVnZDJGdWRDQjBieUJpWlNCemRHRnlkR1ZrSUc5dUlIUm9aU0J5WlcxdmRHVWdaVzVrWEhKY2JseDBYSFJjZEd4bGRDQnlaWEU2SUZKbGJXOTBaVWRoWkdkbGRFVjJaVzUwSUQxY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSFI1Y0dVNklHbHpSM0poWW1KbFpDQS9JRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBWSGx3WlM1VGRHRnlkRWR5WVdJZ09pQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGUjVjR1V1Ulc1a1IzSmhZaXhjY2x4dVhIUmNkRngwZlR0Y2NseHVYSFJjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVL0xuTmxibVJGZG1WdWRDZ2djbVZ4SUNrN1hISmNibHh5WEc1Y2RGeDBYSFIwYUdsekxtbHpSM0poWW1KbFpDQTlJR2x6UjNKaFltSmxaRHRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdjMlZ1WkZObGRFbDBaVzFKYm1adktDbGNjbHh1WEhSN1hISmNibHgwWEhRdkx5QjBaV3hzSUhSb1pTQnZkR2hsY2lCbGJtUWdhRzkzSUhkbElIZGhiblFnZEc4Z1ltVWdjM1JoY25SbFpDQnZiaUIwYUdVZ2NtVnRiM1JsSUdWdVpGeHlYRzVjZEZ4MGJHVjBJSEpsY1RvZ1VrZEZVMlYwU1hSbGJVbHVabThnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJTWlcxdmRHVkhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVjBTWFJsYlVsdVptOHNYSEpjYmx4MFhIUmNkR2wwWlcxSlpEb2dkR2hwY3k1cGRHVnRTV1FzWEhKY2JseDBYSFI5TzF4eVhHNWNkRngwZEdocGN5NWhZM1JwZG1WU1pXMXZkR1UvTG5ObGJtUkZkbVZ1ZENnZ2NtVnhJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnYjI1U1pXMXZkR1ZUZEdGeWRDZ2dZV04wYVhabFVtVnRiM1JsT2lCQlkzUnBkbVZKYm5SbGNtWmhZMlVnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR0ZqZEdsMlpWSmxiVzkwWlM1dmJrVjJaVzUwS0NCY2NseHVYSFJjZEZ4MEtDQmxkbVZ1ZERvZ1VtVnRiM1JsUjJGa1oyVjBSWFpsYm5RZ0tTQTlQbHh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGMzZHBkR05vS0NCbGRtVnVkQzUwZVhCbElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmpZWE5sSUZKbGJXOTBaVWRoWkdkbGRFVjJaVzUwVkhsd1pTNVNaV05sYVhabFJYWmxiblJHY205dFRXRnpkR1Z5T2x4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnNaWFFnYldGemRHVnlSWFpsYm5RZ1BTQmxkbVZ1ZENCaGN5QlNSMFZUWlc1a1JYWmxiblE3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdWJXRnpkR1Z5UTJGc2JHSmhZMnMvTGlnZ2JXRnpkR1Z5UlhabGJuUXVaWFpsYm5RZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWEhSY2RHTmhjMlVnVW1WdGIzUmxSMkZrWjJWMFJYWmxiblJVZVhCbExrUmxjM1J5YjNsSFlXUm5aWFE2WEhKY2JseDBYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSY2RIZHBibVJ2ZHk1amJHOXpaU2dwTzF4eVhHNWNkRngwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MEtWeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpWSmxiVzkwWlM1dmJrVnVaR1ZrS0NCY2NseHVYSFJjZEZ4MEtDa2dQVDVjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RIUm9hWE11WVdOMGFYWmxVbVZ0YjNSbElEMGdiblZzYkR0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG5Wd1pHRjBaVXhwYzNSbGJtVnlLQ2s3WEhKY2JseDBYSFJjZEgwZ0tUdGNjbHh1WEhKY2JseDBYSFIwYUdsekxuTmxibVJUWlhSSmRHVnRTVzVtYnlncE8xeHlYRzVjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVZ1BTQmhZM1JwZG1WU1pXMXZkR1U3WEhKY2JseDBYSFIwYUdsekxuVndaR0YwWlV4cGMzUmxibVZ5S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIUnlZVzV6YldsMGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnV3lCN0lHbG1ZV05sT2lCU1pXMXZkR1ZIWVdSblpYUkRiMjF3YjI1bGJuUXVhVzUwWlhKbVlXTmxUbUZ0WlN3Z2NISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVVtVnRiM1JsVTNSaGNuUWdmU0JkTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCeVpXTmxhWFpsY3lncE9pQkpiblJsY21aaFkyVlFjbTl3VzExY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdXMTA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhCaGNtVnVkQ2dwT2lCRmJtUndiMmx1ZEVGa1pISmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnSVhSb2FYTXVhWE5IY21GaVltVmtJQ1ltSUhSb2FYTXVZV04wYVhabFVtVnRiM1JsUHk1d1pXVnlPMXh5WEc1Y2RIMWNjbHh1WEhSY2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhkaGJuUnpWSEpoYm5ObWIzSnRjeWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCcGJuUmxjbVpoWTJWTWIyTnJjeWdwT2lCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amExdGRJRnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JzYjJOcklEMGdRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzVtYVc1a1NXNXBkR2xoYkVsdWRHVnlabUZqWlNnZ1VtVnRiM1JsUjJGa1oyVjBRMjl0Y0c5dVpXNTBMbWx1ZEdWeVptRmpaVTVoYldVZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYkc5amF5QXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQmJYVHRjY2x4dVhISmNibHgwWEhSc1pYUWdhWFJsYlV4dlkyc2dQU0I3TGk0dWJHOWpheUI5TzF4eVhHNWNkRngwYVhSbGJVeHZZMnN1Y0dGeVlXMXpJRDBnZXk0dUxteHZZMnN1Y0dGeVlXMXpMQ0JwZEdWdFNXUTZJSFJvYVhNdWFYUmxiVWxrSUgwN1hISmNibHgwWEhSeVpYUjFjbTRnV3lCcGRHVnRURzlqYXlCZE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUmNjbHh1WEhSd2RXSnNhV01nYjI1VmNHUmhkR1VvSUdOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDazZJSFp2YVdSY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtVnVkR2wwZVVOaGJHeGlZV05ySUQwZ1kyRnNiR0poWTJzN1hISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1RvZ1NsTllMa1ZzWlcxbGJuUmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpXNWtSWFpsYm5SVWIwMWhjM1JsY2lnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCbGRtVnVkRVYyWlc1ME9pQlNSMFZUWlc1a1JYWmxiblFnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJTWlcxdmRHVkhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVnVaRVYyWlc1MFZHOU5ZWE4wWlhJc1hISmNibHgwWEhSY2RHVjJaVzUwTEZ4eVhHNWNkRngwWEhSeVpXeHBZV0pzWlN4Y2NseHVYSFJjZEgwN1hISmNibHgwWEhSMGFHbHpMbUZqZEdsMlpWSmxiVzkwWlQ4dWMyVnVaRVYyWlc1MEtDQmxkbVZ1ZEVWMlpXNTBJQ2s3WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2NvbXBvbmVudF9zaW1wbGVfY29udGFpbmVyLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvY29tcG9uZW50X3NpbXBsZV9jb250YWluZXIudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBDb250YWluZXJJdGVtU3RhdGUsIFNpbXBsZUNvbnRhaW5lckNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ29udGFpbmVySXRlbVN0YXRlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDb250YWluZXJJdGVtU3RhdGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlNpbXBsZUNvbnRhaW5lckNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gU2ltcGxlQ29udGFpbmVyQ29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2VudGl0eV9jaGlsZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19lbnRpdHlfY2hpbGQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2VudGl0eV9jaGlsZC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbW92ZWFibGUgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9tb3ZlYWJsZS50c1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAdGxhdWtrYW4vdHNtICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyk7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIENvbnRhaW5lckl0ZW1TdGF0ZTtcXHJcXG4oZnVuY3Rpb24gKENvbnRhaW5lckl0ZW1TdGF0ZSkge1xcclxcbiAgICBDb250YWluZXJJdGVtU3RhdGVbXFxcIk1vdmluZ1xcXCJdID0gXFxcIk1vdmluZ1xcXCI7XFxyXFxuICAgIENvbnRhaW5lckl0ZW1TdGF0ZVtcXFwiUmVzdGluZ1xcXCJdID0gXFxcIlJlc3RpbmdcXFwiO1xcclxcbn0pKENvbnRhaW5lckl0ZW1TdGF0ZSB8fCAoQ29udGFpbmVySXRlbVN0YXRlID0ge30pKTtcXHJcXG5jbGFzcyBTaW1wbGVDb250YWluZXJDb21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcigpIHtcXHJcXG4gICAgICAgIHRoaXMuY29udGVudHMgPSBbXTtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVDb250YWluZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5pdGVtQ2hhbmdlZENhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICB1cGRhdGVMaXN0ZW5lcigpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgICAgIChfYiA9IHRoaXMuaXRlbUNoYW5nZWRDYWxsYmFjaykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25JdGVtQ2hhbmdlZChpdGVtQ2hhbmdlZENhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLml0ZW1DaGFuZ2VkQ2FsbGJhY2sgPSBpdGVtQ2hhbmdlZENhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIG9uQ29udGFpbmVyU3RhcnQoYWN0aXZlQ29udGFpbmVyKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgbXlJdGVtID0ge1xcclxcbiAgICAgICAgICAgIGVwYTogYWN0aXZlQ29udGFpbmVyLnBlZXIsXFxyXFxuICAgICAgICAgICAgY29udGFpbmVyRnJvbUVudGl0eTogYWN0aXZlQ29udGFpbmVyLnNlbGZGcm9tUGVlcixcXHJcXG4gICAgICAgICAgICBzdGF0ZTogQ29udGFpbmVySXRlbVN0YXRlLk1vdmluZyxcXHJcXG4gICAgICAgICAgICBpZmFjZTogYWN0aXZlQ29udGFpbmVyLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuY29udGVudHMucHVzaChteUl0ZW0pO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5pdGVtQ2hhbmdlZENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgICAgIGFjdGl2ZUNvbnRhaW5lci5vbkV2ZW50KChldmVudCkgPT4ge1xcclxcbiAgICAgICAgICAgIG15SXRlbS5zdGF0ZSA9IGV2ZW50LnN0YXRlO1xcclxcbiAgICAgICAgICAgIGlmIChldmVudC5zdGF0ZSA9PSBDb250YWluZXJJdGVtU3RhdGUuUmVzdGluZyAmJiBhY3RpdmVDb250YWluZXIucGFyYW1zKSB7XFxyXFxuICAgICAgICAgICAgICAgIG15SXRlbS5jb250YWluZXJGcm9tRW50aXR5ID0gYWN0aXZlQ29udGFpbmVyLnBhcmFtcztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIG15SXRlbS5jb250YWluZXJGcm9tRW50aXR5ID0gYWN0aXZlQ29udGFpbmVyLnNlbGZGcm9tUGVlcjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKGV2ZW50Lm1vdmVhYmxlVG9SZXBsYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGB0cnlpbmcgdG8gc2VuZCByZWRyb3AgY29tcGxldGUgdG8gJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGV2ZW50Lm1vdmVhYmxlVG9SZXBsYWNlKX1gKTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLmNvbnRlbnRzLmZpbmQoKGl0ZW0pID0+IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiZW5kcG9pbnRBZGRyc01hdGNoXFxcIl0pKGl0ZW0uZXBhLCBldmVudC5tb3ZlYWJsZVRvUmVwbGFjZSkpO1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGZvdW5kIGl0ZW0gZm9yICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShldmVudC5tb3ZlYWJsZVRvUmVwbGFjZSl9YCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udGFpbmVyRnJvbU9sZE1vdmVhYmxlID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJub2RlVHJhbnNmb3JtVG9NYXQ0XFxcIl0pKGl0ZW0uY29udGFpbmVyRnJvbUVudGl0eSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgb2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGUgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIm5vZGVUcmFuc2Zvcm1Ub01hdDRcXFwiXSkoZXZlbnQub2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lckZyb21OZXdNb3ZlYWJsZSA9IF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwibWF0NFxcXCJdLnByb2R1Y3QoY29udGFpbmVyRnJvbU9sZE1vdmVhYmxlLCBvbGRNb3ZlYWJsZUZyb21OZXdNb3ZlYWJsZSwgbmV3IF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwibWF0NFxcXCJdKCkpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbXlJdGVtLmNvbnRhaW5lckZyb21FbnRpdHkgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIm5vZGVUcmFuc2Zvcm1Gcm9tTWF0NFxcXCJdKShjb250YWluZXJGcm9tTmV3TW92ZWFibGUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pZmFjZS5zZW5kRXZlbnQoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQ29udGFpbmVyUmVxdWVzdFR5cGVcXFwiXS5SZWRyb3BDb21wbGV0ZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudDogbXlJdGVtLmVwYVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiZGlkbid0IGZpbmQgbWF0Y2hpbmcgaXRlbVxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy5jb250ZW50cy5pbmRleE9mKG15SXRlbSk7XFxyXFxuICAgICAgICAgICAgaWYgKGkgIT0gLTEpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zcGxpY2UoaSwgMSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB0cmFuc21pdHMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW107XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHJlY2VpdmVzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFt7IGlmYWNlOiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIk1vdmVhYmxlQ29tcG9uZW50XFxcIl0uY29udGFpbmVySW50ZXJmYWNlLCBwcm9jZXNzb3I6IHRoaXMub25Db250YWluZXJTdGFydCB9XTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcGFyZW50KCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlTG9ja3MoKSB7IHJldHVybiBbXTsgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBoYXNQb3RlbnRpYWxEcm9wKCkge1xcclxcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmNvbnRlbnRzKSB7XFxyXFxuICAgICAgICAgICAgaWYgKGl0ZW0uc3RhdGUgPT0gQ29udGFpbmVySXRlbVN0YXRlLk1vdmluZykge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgbGV0IGNvbnRlbnRzID0gW107XFxyXFxuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuY29udGVudHMpIHtcXHJcXG4gICAgICAgICAgICBpZiAoaXRlbS5zdGF0ZSA9PSBcXFwiUmVzdGluZ1xcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29udGVudHMucHVzaChyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHRyYW5zZm9ybTogaXRlbS5jb250YWluZXJGcm9tRW50aXR5LCBrZXk6IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoaXRlbS5lcGEpIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2VudGl0eV9jaGlsZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkVudGl0eUNoaWxkXFxcIl0sIHsgY2hpbGQ6IGl0ZW0uZXBhIH0pKSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBrZXk6IFxcXCJjb250YWluZXJfY29udGVudHNcXFwiIH0sXFxyXFxuICAgICAgICAgICAgXFxcIiBcXFwiLFxcclxcbiAgICAgICAgICAgIGNvbnRlbnRzLFxcclxcbiAgICAgICAgICAgIFxcXCIgXFxcIik7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYVxcclxcbl0sIFNpbXBsZUNvbnRhaW5lckNvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbkNvbnRhaW5lclN0YXJ0XFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlqYjIxd2IyNWxiblJmYzJsdGNHeGxYMk52Ym5SaGFXNWxjaTUwYzNnL09EVTFPU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenM3T3pzN08wRkJRU3RDTzBGQlEzbEtPMEZCUjNSS08wRkJRMmxDTzBGQlEwczdRVUZEZVVNN1FVRkRjRU03UVVGRk4wUXNTVUZCV1N4clFrRkpXRHRCUVVwRUxGZEJRVmtzYTBKQlFXdENPMGxCUlRkQ0xIVkRRVUZwUWp0SlFVTnFRaXg1UTBGQmJVSTdRVUZEY0VJc1EwRkJReXhGUVVwWExHdENRVUZyUWl4TFFVRnNRaXhyUWtGQmEwSXNVVUZKTjBJN1FVRnBRazBzVFVGQlRTeDNRa0ZCZDBJN1NVRlBjRU03VVVGTVVTeGhRVUZSTEVkQlFXOUNMRVZCUVVVc1EwRkJRenRSUVVNdlFpeHRRa0ZCWXl4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVOc1F5eHZRa0ZCWlN4SFFVRnZRaXhKUVVGSkxFTkJRVU03VVVGRGVFTXNkMEpCUVcxQ0xFZEJRV1VzU1VGQlNTeERRVUZETzBsQlNTOURMRU5CUVVNN1NVRkZUeXhqUVVGak96dFJRVVZ5UWl4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRSUVVONFFpeFZRVUZKTEVOQlFVTXNiVUpCUVcxQ0xDdERRVUY0UWl4SlFVRkpMRVZCUVhsQ08wbEJRemxDTEVOQlFVTTdTVUZGVFN4aFFVRmhMRU5CUVVVc2JVSkJRU3RDTzFGQlJYQkVMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF6dEpRVU5vUkN4RFFVRkRPMGxCUjA4c1owSkJRV2RDTEVOQlFVVXNaVUZCWjBNN08xRkJSWHBFTEVsQlFVa3NUVUZCVFN4SFFVTldPMWxCUTBNc1IwRkJSeXhGUVVGRkxHVkJRV1VzUTBGQlF5eEpRVUZKTzFsQlEzcENMRzFDUVVGdFFpeEZRVUZGTEdWQlFXVXNRMEZCUXl4WlFVRlpPMWxCUTJwRUxFdEJRVXNzUlVGQlJTeHJRa0ZCYTBJc1EwRkJReXhOUVVGTk8xbEJRMmhETEV0QlFVc3NSVUZCUlN4bFFVRmxPMU5CUTNSQ0xFTkJRVU03VVVGRFJpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJSU3hOUVVGTkxFTkJRVVVzUTBGQlF6dFJRVU0zUWl4VlFVRkpMRU5CUVVNc2JVSkJRVzFDTEN0RFFVRjRRaXhKUVVGSkxFVkJRWGxDTzFGQlJUZENMR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRM1JDTEVOQlFVVXNTMEZCT0VJc1JVRkJSeXhGUVVGRk8xbEJSWEJETEUxQlFVMHNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFpRVU16UWl4SlFVRkpMRXRCUVVzc1EwRkJReXhMUVVGTExFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1QwRkJUeXhKUVVGSkxHVkJRV1VzUTBGQlF5eE5RVUZOTEVWQlEzWkZPMmRDUVVORExFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhsUVVGbExFTkJRVU1zVFVGQmVVSXNRMEZCUXp0aFFVTjJSVHRwUWtGRlJEdG5Ra0ZEUXl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NaVUZCWlN4RFFVRkRMRmxCUVZrc1EwRkJRenRoUVVNeFJEdFpRVVZFTEVsQlFVa3NTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeEZRVU16UWp0blFrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEhGRFFVRnpReXgzUmtGQmIwSXNRMEZCUlN4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlFVY3NSVUZCUlN4RFFVRkZMRU5CUVVNN1owSkJRM2hITEVsQlFVa3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVVXNTVUZCU1N4RlFVRkhMRVZCUVVVc1EwRkJReXh6UmtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJSU3hEUVVGRkxFTkJRVU03WjBKQlEyNUhMRWxCUVVrc1NVRkJTU3hGUVVOU08yOUNRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2EwSkJRVzFDTEhkR1FVRnZRaXhEUVVGRkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJSeXhGUVVGRkxFTkJRVVVzUTBGQlF6dHZRa0ZGY2tZc1NVRkJTU3gzUWtGQmQwSXNSMEZCUnl4MVJrRkJiVUlzUTBGQlJTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVVVzUTBGQlF6dHZRa0ZETDBVc1NVRkJTU3d3UWtGQk1FSXNSMEZCUnl4MVJrRkJiVUlzUTBGQlJTeExRVUZMTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVVVzUTBGQlF6dHZRa0ZEZWtZc1NVRkJTU3gzUWtGQmQwSXNSMEZCUnl4clJFRkJTU3hEUVVGRExFOUJRVThzUTBGQlJTeDNRa0ZCZDBJc1JVRkJSU3d3UWtGQk1FSXNSVUZCUlN4SlFVRkpMR3RFUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZETzI5Q1FVTm9TQ3hOUVVGTkxFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc2VVWkJRWEZDTEVOQlFVVXNkMEpCUVhkQ0xFTkJRVVVzUTBGQlF6dHZRa0ZGTDBVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlEyNUNPM2RDUVVORExFbEJRVWtzUlVGQlJTeDNSVUZCYjBJc1EwRkJReXhqUVVGak8zZENRVU42UXl4WFFVRlhMRVZCUVVVc1RVRkJUU3hEUVVGRExFZEJRVWM3Y1VKQlEwZ3NRMEZCUlN4RFFVRkRPMmxDUVVONlFqdHhRa0ZGUkR0dlFrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTERKQ1FVRXlRaXhEUVVGRkxFTkJRVU03YVVKQlF6TkRPMkZCUTBRN1dVRkRSQ3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdVVUZEZGtJc1EwRkJReXhEUVVORU8xRkJSVVFzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZEZEVJc1IwRkJSeXhGUVVGRk8xbEJSVW9zU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVVVzVFVGQlRTeERRVUZGTEVOQlFVTTdXVUZEZUVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVWQlExZzdaMEpCUTBNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJSU3hEUVVGRE8yRkJRemRDTzFsQlEwUXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEVOQlFVTXNRMEZCUlN4RFFVRkRPMGxCUTA0c1EwRkJRenRKUVVWRUxFbEJRVmNzVTBGQlV6dFJRVVZ1UWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOWUxFTkJRVU03U1VGRlJDeEpRVUZYTEZGQlFWRTdVVUZGYkVJc1QwRkJUeXhEUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEhGRlFVRnBRaXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRemxHTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN1VVRkZhRUlzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlVRc1NVRkJWeXhsUVVGbE8xRkJSWHBDTEU5QlFVOHNTMEZCU3l4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxFbEJRVmNzWTBGQll5eExRVUUyUWl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRk0wUXNVVUZCVVN4RFFVRkZMRkZCUVc5Q08xRkJSWEJETEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZGUkN4SlFVRlhMR2RDUVVGblFqdFJRVVV4UWl4TFFVRkxMRWxCUVVrc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVWQlF6bENPMWxCUTBNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGRE0wTTdaMEpCUTBNc1QwRkJUeXhKUVVGSkxFTkJRVU03WVVGRFdqdFRRVU5FTzFGQlJVUXNUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVTBzVFVGQlRUdFJRVVZhTEVsQlFVa3NVVUZCVVN4SFFVRnJRaXhGUVVGRkxFTkJRVU03VVVGRGFrTXNTMEZCU3l4SlFVRkpMRWxCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVU01UWp0WlFVTkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeFRRVUZUTEVWQlF6TkNPMmRDUVVORExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlExb3NiMFJCUVVNc0swUkJRVmNzU1VGQlF5eFRRVUZUTEVWQlFVY3NTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEZRVUZITEVkQlFVY3NSVUZCUnl4M1JrRkJiMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkZPMjlDUVVONlJpeHZSRUZCUXl4dlJVRkJZU3hKUVVGRExFdEJRVXNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SFFVRkxMRU5CUTNaQ0xFTkJRVVVzUTBGQlF6dGhRVU5zUWp0VFFVTkVPMUZCUlVRc1QwRkJUeXcyUkVGQlN5eEhRVUZITEVWQlFVY3NiMEpCUVc5Q096dFpRVUZOTEZGQlFWRTdaMEpCUVZNc1EwRkJRenRKUVVNdlJDeERRVUZETzBOQlEwUTdRVUY2U0VFN1NVRkVReXh4UkVGQlNUdG5SVUZuUlVvaUxDSm1hV3hsSWpvaUxpOXpjbU12WTI5dGNHOXVaVzUwWDNOcGJYQnNaVjlqYjI1MFlXbHVaWEl1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJ1YjJSbFZISmhibk5tYjNKdFZHOU5ZWFEwTENCdWIyUmxWSEpoYm5ObWIzSnRSbkp2YlUxaGREUXNJRVZ1WkhCdmFXNTBRV1JrY2l3Z1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5d2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnNzSUdWdVpIQnZhVzUwUVdSa2NuTk5ZWFJqYUNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQjdJRVZ1ZEdsMGVVTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZMjl0Y0c5elpXUmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJSHNnU1c1MFpYSm1ZV05sVUhKdmNDd2dRV04wYVhabFNXNTBaWEptWVdObElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOXBiblJsY21aaFkyVmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJR0pwYm1RZ1puSnZiU0FuWW1sdVpDMWtaV052Y21GMGIzSW5PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkZiblJwZEhsRGFHbHNaQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWlc1MGFYUjVYMk5vYVd4a0p6dGNjbHh1YVcxd2IzSjBJSHNnUTI5dWRHRnBibVZ5VW1WeGRXVnpkRlI1Y0dVc0lFTnZiblJoYVc1bGNsSmxjWFZsYzNRc0lFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZiVzkyWldGaWJHVW5PMXh5WEc1cGJYQnZjblFnZXlCMlpXTXpMQ0J0WVhRMExDQjJaV00wTENCdFlYUXpMQ0J4ZFdGMElIMGdabkp2YlNBblFIUnNZWFZyYTJGdUwzUnpiU2M3WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCRGIyNTBZV2x1WlhKSmRHVnRVM1JoZEdWY2NseHVlMXh5WEc1Y2RFMXZkbWx1WnlBOUlGd2lUVzkyYVc1blhDSXNYSEpjYmx4MFVtVnpkR2x1WnlBOUlGd2lVbVZ6ZEdsdVoxd2lMRnh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1EyOXVkR0ZwYm1WeVNYUmxiVnh5WEc1N1hISmNibHgwWlhCaE9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JseDBZMjl1ZEdGcGJtVnlSbkp2YlVWdWRHbDBlVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRPMXh5WEc1Y2RITjBZWFJsT2lCRGIyNTBZV2x1WlhKSmRHVnRVM1JoZEdVN1hISmNibHgwYVdaaFkyVTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JEYjI1MFlXbHVaWEpKZEdWdFUzUmhkR1ZGZG1WdWRGeHlYRzU3WEhKY2JseDBjM1JoZEdVNklFTnZiblJoYVc1bGNrbDBaVzFUZEdGMFpUdGNjbHh1WEhSdGIzWmxZV0pzWlZSdlVtVndiR0ZqWlQ4NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUnZiR1JOYjNabFlXSnNaVVp5YjIxT1pYZE5iM1psWVdKc1pUODZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR05zWVhOeklGTnBiWEJzWlVOdmJuUmhhVzVsY2tOdmJYQnZibVZ1ZENCcGJYQnNaVzFsYm5SeklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ4eVhHNTdYSEpjYmx4MGNISnBkbUYwWlNCamIyNTBaVzUwY3pvZ1EyOXVkR0ZwYm1WeVNYUmxiVnRkSUQwZ1cxMDdYSEpjYmx4MGNISnBkbUYwWlNCbGJuUnBkSGxEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQmhZM1JwZG1WRGIyNTBZV2x1WlhJNklFRmpkR2wyWlVsdWRHVnlabUZqWlNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQnBkR1Z0UTJoaGJtZGxaRU5oYkd4aVlXTnJPaUFvS1NBOVBpQjJiMmxrSUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwWTI5dWMzUnlkV04wYjNJb0tWeHlYRzVjZEh0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCeWFYWmhkR1VnZFhCa1lYUmxUR2x6ZEdWdVpYSW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11Wlc1MGFYUjVRMkZzYkdKaFkycy9MaWdwTzF4eVhHNWNkRngwZEdocGN5NXBkR1Z0UTJoaGJtZGxaRU5oYkd4aVlXTnJQeTRvS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ2YmtsMFpXMURhR0Z1WjJWa0tDQnBkR1Z0UTJoaGJtZGxaRU5oYkd4aVlXTnJPaUFvS1NBOVBpQjJiMmxrSUNsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtbDBaVzFEYUdGdVoyVmtRMkZzYkdKaFkyc2dQU0JwZEdWdFEyaGhibWRsWkVOaGJHeGlZV05yTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUmNjbHh1WEhSd2NtbDJZWFJsSUc5dVEyOXVkR0ZwYm1WeVUzUmhjblFvSUdGamRHbDJaVU52Ym5SaGFXNWxjam9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYlhsSmRHVnRPaUJEYjI1MFlXbHVaWEpKZEdWdElEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBaWEJoT2lCaFkzUnBkbVZEYjI1MFlXbHVaWEl1Y0dWbGNpeGNjbHh1WEhSY2RGeDBZMjl1ZEdGcGJtVnlSbkp2YlVWdWRHbDBlVG9nWVdOMGFYWmxRMjl1ZEdGcGJtVnlMbk5sYkdaR2NtOXRVR1ZsY2l4Y2NseHVYSFJjZEZ4MGMzUmhkR1U2SUVOdmJuUmhhVzVsY2tsMFpXMVRkR0YwWlM1TmIzWnBibWNzWEhKY2JseDBYSFJjZEdsbVlXTmxPaUJoWTNScGRtVkRiMjUwWVdsdVpYSXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBkR2hwY3k1amIyNTBaVzUwY3k1d2RYTm9LQ0J0ZVVsMFpXMGdLVHRjY2x4dVhIUmNkSFJvYVhNdWFYUmxiVU5vWVc1blpXUkRZV3hzWW1GamF6OHVLQ2s3WEhKY2JseHlYRzVjZEZ4MFlXTjBhWFpsUTI5dWRHRnBibVZ5TG05dVJYWmxiblFvSUZ4eVhHNWNkRngwWEhRb0lHVjJaVzUwT2lCRGIyNTBZV2x1WlhKSmRHVnRVM1JoZEdWRmRtVnVkQ0FwSUQwK1hISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ0ZVVsMFpXMHVjM1JoZEdVZ1BTQmxkbVZ1ZEM1emRHRjBaVHRjY2x4dVhIUmNkRngwWEhScFppZ2daWFpsYm5RdWMzUmhkR1VnUFQwZ1EyOXVkR0ZwYm1WeVNYUmxiVk4wWVhSbExsSmxjM1JwYm1jZ0ppWWdZV04wYVhabFEyOXVkR0ZwYm1WeUxuQmhjbUZ0Y3lBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGJYbEpkR1Z0TG1OdmJuUmhhVzVsY2taeWIyMUZiblJwZEhrZ1BTQmhZM1JwZG1WRGIyNTBZV2x1WlhJdWNHRnlZVzF6SUdGeklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWld4elpWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RHMTVTWFJsYlM1amIyNTBZV2x1WlhKR2NtOXRSVzUwYVhSNUlEMGdZV04wYVhabFEyOXVkR0ZwYm1WeUxuTmxiR1pHY205dFVHVmxjanRjY2x4dVhIUmNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJjZEdsbUtDQmxkbVZ1ZEM1dGIzWmxZV0pzWlZSdlVtVndiR0ZqWlNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFkyOXVjMjlzWlM1c2IyY29JR0IwY25scGJtY2dkRzhnYzJWdVpDQnlaV1J5YjNBZ1kyOXRjR3hsZEdVZ2RHOGdKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lHVjJaVzUwTG0xdmRtVmhZbXhsVkc5U1pYQnNZV05sSUNrZ2ZXQWdLVHRjY2x4dVhIUmNkRngwWEhSY2RHeGxkQ0JwZEdWdElEMGdkR2hwY3k1amIyNTBaVzUwY3k1bWFXNWtLQ2dnYVhSbGJTQXBJRDArSUdWdVpIQnZhVzUwUVdSa2NuTk5ZWFJqYUNocGRHVnRMbVZ3WVN3Z1pYWmxiblF1Ylc5MlpXRmliR1ZVYjFKbGNHeGhZMlVnS1NBcE8xeHlYRzVjZEZ4MFhIUmNkRngwYVdZb0lHbDBaVzBnS1Z4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUdadmRXNWtJR2wwWlcwZ1ptOXlJQ1I3SUdWdVpIQnZhVzUwUVdSa2NsUnZVM1J5YVc1bktDQmxkbVZ1ZEM1dGIzWmxZV0pzWlZSdlVtVndiR0ZqWlNBcElIMWdJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUmNkRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnNaWFFnWTI5dWRHRnBibVZ5Um5KdmJVOXNaRTF2ZG1WaFlteGxJRDBnYm05a1pWUnlZVzV6Wm05eWJWUnZUV0YwTkNnZ2FYUmxiUzVqYjI1MFlXbHVaWEpHY205dFJXNTBhWFI1SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEd4bGRDQnZiR1JOYjNabFlXSnNaVVp5YjIxT1pYZE5iM1psWVdKc1pTQTlJRzV2WkdWVWNtRnVjMlp2Y20xVWIwMWhkRFFvSUdWMlpXNTBMbTlzWkUxdmRtVmhZbXhsUm5KdmJVNWxkMDF2ZG1WaFlteGxJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR3hsZENCamIyNTBZV2x1WlhKR2NtOXRUbVYzVFc5MlpXRmliR1VnUFNCdFlYUTBMbkJ5YjJSMVkzUW9JR052Ym5SaGFXNWxja1p5YjIxUGJHUk5iM1psWVdKc1pTd2diMnhrVFc5MlpXRmliR1ZHY205dFRtVjNUVzkyWldGaWJHVXNJRzVsZHlCdFlYUTBLQ2tnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYlhsSmRHVnRMbU52Ym5SaGFXNWxja1p5YjIxRmJuUnBkSGtnUFNCdWIyUmxWSEpoYm5ObWIzSnRSbkp2YlUxaGREUW9JR052Ym5SaGFXNWxja1p5YjIxT1pYZE5iM1psWVdKc1pTQXBPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUmNkRngwYVhSbGJTNXBabUZqWlM1elpXNWtSWFpsYm5Rb0lGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RIc2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBYSFIwZVhCbE9pQkRiMjUwWVdsdVpYSlNaWEYxWlhOMFZIbHdaUzVTWldSeWIzQkRiMjF3YkdWMFpTd2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBYSFJ5WlhCc1lXTmxiV1Z1ZERvZ2JYbEpkR1Z0TG1Wd1lTQmNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUjlJR0Z6SUVOdmJuUmhhVzVsY2xKbGNYVmxjM1FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpWkdsa2JpZDBJR1pwYm1RZ2JXRjBZMmhwYm1jZ2FYUmxiVndpSUNrN1hISmNibHgwWEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWRYQmtZWFJsVEdsemRHVnVaWElvS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MEtWeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpVTnZiblJoYVc1bGNpNXZia1Z1WkdWa0tDQmNjbHh1WEhSY2RGeDBLQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR3hsZENCcElEMGdkR2hwY3k1amIyNTBaVzUwY3k1cGJtUmxlRTltS0NCdGVVbDBaVzBnS1R0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnYVNBaFBTQXRNU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwZEdocGN5NWpiMjUwWlc1MGN5NXpjR3hwWTJVb0lHa3NJREVnS1R0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwZEdocGN5NTFjR1JoZEdWTWFYTjBaVzVsY2lncE8xeHlYRzVjZEZ4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhSeVlXNXpiV2wwY3lncE9pQkpiblJsY21aaFkyVlFjbTl3VzExY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdXMTA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhKbFkyVnBkbVZ6S0NrNklFbHVkR1Z5Wm1GalpWQnliM0JiWFZ4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQmJJSHNnYVdaaFkyVTZJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbU52Ym5SaGFXNWxja2x1ZEdWeVptRmpaU3dnY0hKdlkyVnpjMjl5T2lCMGFHbHpMbTl1UTI5dWRHRnBibVZ5VTNSaGNuUWdmU0JkTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCd1lYSmxiblFvS1RvZ1JXNWtjRzlwYm5SQlpHUnlYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZDJGdWRITlVjbUZ1YzJadmNtMXpLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUdsdWRHVnlabUZqWlV4dlkydHpLQ2s2SUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOclcxMGdleUJ5WlhSMWNtNGdXMTA3SUgxY2NseHVYSFJjY2x4dVhIUndkV0pzYVdNZ2IyNVZjR1JoZEdVb0lHTmhiR3hpWVdOck9pQW9LU0E5UGlCMmIybGtJQ2s2SUhadmFXUmNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOcklEMGdZMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2hoYzFCdmRHVnVkR2xoYkVSeWIzQW9LVG9nWW05dmJHVmhibHh5WEc1Y2RIdGNjbHh1WEhSY2RHWnZjaWdnYkdWMElHbDBaVzBnYjJZZ2RHaHBjeTVqYjI1MFpXNTBjeUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQnBkR1Z0TG5OMFlYUmxJRDA5SUVOdmJuUmhhVzVsY2tsMFpXMVRkR0YwWlM1TmIzWnBibWNnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBjbVYwZFhKdUlIUnlkV1U3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdjbVZ1WkdWeUtDazZJRXBUV0M1RmJHVnRaVzUwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdOdmJuUmxiblJ6T2lCS1UxZ3VSV3hsYldWdWRGdGRJRDBnVzEwN1hISmNibHgwWEhSbWIzSW9JR3hsZENCcGRHVnRJRzltSUhSb2FYTXVZMjl1ZEdWdWRITWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ2FYUmxiUzV6ZEdGMFpTQTlQU0JjSWxKbGMzUnBibWRjSWlBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJqYjI1MFpXNTBjeTV3ZFhOb0tDQmNjbHh1WEhSY2RGeDBYSFJjZER4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJadmNtMDlleUJwZEdWdExtTnZiblJoYVc1bGNrWnliMjFGYm5ScGRIa2dmU0JyWlhrOWV5QmxibVJ3YjJsdWRFRmtaSEpVYjFOMGNtbHVaeWdnYVhSbGJTNWxjR0VnS1NCOVBseHlYRzVjZEZ4MFhIUmNkRngwWEhROFFYWkZiblJwZEhsRGFHbHNaQ0JqYUdsc1pEMTdJR2wwWlcwdVpYQmhJSDBnTHo1Y2NseHVYSFJjZEZ4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK0lDazdYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnUEdScGRpQnJaWGs5ZXlCY0ltTnZiblJoYVc1bGNsOWpiMjUwWlc1MGMxd2lJSDArSUhzZ1kyOXVkR1Z1ZEhNZ2ZTQThMMlJwZGo0N1hISmNibHgwZlZ4eVhHNTlJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2NvbXBvbmVudF9zaW1wbGVfY29udGFpbmVyLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvZGVmYXVsdF9sYW5kaW5nX3BhZ2UudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9kZWZhdWx0X2xhbmRpbmdfcGFnZS50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IERlZmF1bHRMYW5kaW5nICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWZhdWx0TGFuZGluZ1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRGVmYXVsdExhbmRpbmc7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGF4aW9zX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBheGlvcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYXhpb3NfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihheGlvc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfTGFuZGluZ19jc3NfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vTGFuZGluZy5jc3MgKi8gXFxcIi4vc3JjL0xhbmRpbmcuY3NzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9MYW5kaW5nX2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9MYW5kaW5nX2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2VuZHBvaW50ICovIFxcXCIuL3NyYy9hYXJkdmFya19lbmRwb2ludC50c1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0X3NlZWQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldF9zZWVkLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfZ2FkZ2V0bGlzdCAqLyBcXFwiLi9zcmMvYXBpX2dhZGdldGxpc3QudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY2xhc3MgRGVmYXVsdExhbmRpbmcgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLmdhZGdldExpc3QgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVSZWZcXFwiXSgpO1xcclxcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgY29ubmVjdGVkOiBmYWxzZSB9O1xcclxcbiAgICAgICAgdGhpcy5lbmRwb2ludCA9IG5ldyBfYWFyZHZhcmtfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQ1V0aWxpdHlFbmRwb2ludFxcXCJdKG51bGwsIHRoaXMub25Db25uZWN0VG9TZXJ2ZXIpO1xcclxcbiAgICAgICAgdGhpcy5nYWRnZXRVcmwgPSBPYmplY3QoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJHZXRHYWRnZXRVcmxGcm9tV2luZG93XFxcIl0pKCk7XFxyXFxuICAgICAgICBheGlvc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYS5nZXQoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtYW5pZmVzdFVyaUZyb21HYWRnZXRVcmlcXFwiXSkodGhpcy5nYWRnZXRVcmwpKVxcclxcbiAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtYW5pZmVzdDogcmVzcG9uc2UuZGF0YSB9KTtcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgLmNhdGNoKChyZWFzb24pID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXJyb3I6IFxcXCJGYWlsZWQgdG8gbG9hZCBtYW5pZmVzdFxcXCIgfSk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkNvbm5lY3RUb1NlcnZlcigpIHtcXHJcXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb25uZWN0ZWQ6IHRydWUgfSk7XFxyXFxuICAgICAgICB0aGlzLmdldFNldHRpbmdzRm9yR2FkZ2V0KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25TdGFydEFhcmR2YXJrKCkge1xcclxcbiAgICAgICAgd2luZG93Lm9wZW4oXFxcImFhcmR2YXJrOi8vc3RhcnRcXFwiKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkFkZEZhdm9yaXRlKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHByb21SZXN1bHQgPSB0aGlzLmdhZGdldExpc3QuY3VycmVudC5hZGRGYXZvcml0ZSh0aGlzLmdhZGdldFVybCk7XFxyXFxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB5aWVsZCBwcm9tUmVzdWx0O1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldEdhZGdldExpc3RSZXN1bHQocmVzdWx0LCBcXFwiQWRkZWRcXFwiKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHNldEdhZGdldExpc3RSZXN1bHQocmVzdWx0LCBzdWNjZXNzTWVzc2FnZSkge1xcclxcbiAgICAgICAgbGV0IHRleHQ7XFxyXFxuICAgICAgICBzd2l0Y2ggKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5TdWNjZXNzOlxcclxcbiAgICAgICAgICAgICAgICB0ZXh0ID0gc3VjY2Vzc01lc3NhZ2U7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5Ob3RDb25uZWN0ZWQ6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiTm90IGNvbm5lY3RlZFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5BbHJlYWR5QWRkZWQ6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiR2FkZ2V0IHNldHRpbmcgd2FzIGFscmVhZHkgYWN0aXZlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiR2FkZ2V0TGlzdFJlc3VsdFxcXCJdLk5vU3VjaEF1dG9MYXVuY2g6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiR2FkZ2V0IHdhcyBub3Qgc2V0IHRvIGF1dG8gbGF1bmNoXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiR2FkZ2V0TGlzdFJlc3VsdFxcXCJdLk5vU3VjaEZhdm9yaXRlOlxcclxcbiAgICAgICAgICAgICAgICB0ZXh0ID0gXFxcIkdhZGdldCB3YXMgbm90IGEgZmF2b3JpdGVcXFwiO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fW1xcXCJHYWRnZXRMaXN0UmVzdWx0XFxcIl0uVXNlckRlbmllZFJlcXVlc3Q6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiVXNlciBkZW5pZWQgcmVxdWVzdFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5Ob3RJbXBsZW1lbnRlZDpcXHJcXG4gICAgICAgICAgICAgICAgdGV4dCA9IFxcXCJub3QgaW1wbGVtZW50ZWRcXFwiO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICB0ZXh0ID0gXFxcIlVua25vd24gcmVzdWx0IFxcXCIgKyByZXN1bHQ7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuY29ubmVjdGVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5nZXRTZXR0aW5nc0ZvckdhZGdldCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogdGV4dCB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW92ZUZhdm9yaXRlKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHByb21SZXN1bHQgPSB0aGlzLmdhZGdldExpc3QuY3VycmVudC5yZW1vdmVGYXZvcml0ZSh0aGlzLmdhZGdldFVybCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0R2FkZ2V0TGlzdFJlc3VsdCh5aWVsZCBwcm9tUmVzdWx0LCBcXFwiUmVtb3ZlZCBmcm9tIEZhdm9yaXRlc1xcXCIpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBjYXRjaCAoZSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgYWRkUmVzdWx0OiBTdHJpbmcoZSkgfSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25SZW1vdmVBdXRvTGF1bmNoKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHByb21SZXN1bHQgPSB0aGlzLmdhZGdldExpc3QuY3VycmVudC5yZW1vdmVBdXRvTGF1bmNoKHRoaXMuZ2FkZ2V0VXJsKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHYWRnZXRMaXN0UmVzdWx0KHlpZWxkIHByb21SZXN1bHQsIFxcXCJSZW1vdmVkIGZyb20gQXV0byBMYXVuY2hcXFwiKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uU2V0QXV0b0xhdW5jaCgpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBwcm9tUmVzdWx0ID0gdGhpcy5nYWRnZXRMaXN0LmN1cnJlbnQuc2V0QXV0b0xhdW5jaCh0aGlzLmdhZGdldFVybCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0R2FkZ2V0TGlzdFJlc3VsdCh5aWVsZCBwcm9tUmVzdWx0LCBcXFwiQWRkZWQgdG8gQXV0byBMYXVuY2hcXFwiKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldFNldHRpbmdzRm9yR2FkZ2V0KCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGhvc3RTZXR0aW5ncyA9IHlpZWxkIHRoaXMuZ2FkZ2V0TGlzdC5jdXJyZW50LmdldFNldHRpbmdzRm9yR2FkZ2V0KHRoaXMuZ2FkZ2V0VXJsKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhvc3RTZXR0aW5ncyB9KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uU3RhcnRHYWRnZXQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICB0cnkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcHJvbVJlc3VsdCA9IHRoaXMuZ2FkZ2V0TGlzdC5jdXJyZW50LnN0YXJ0R2FkZ2V0KHRoaXMuZ2FkZ2V0VXJsKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHYWRnZXRMaXN0UmVzdWx0KHlpZWxkIHByb21SZXN1bHQsIFxcXCJTdGFydGVkXFxcIik7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGNhdGNoIChlKSB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBhZGRSZXN1bHQ6IFN0cmluZyhlKSB9KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXJGYXZvcml0ZSgpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBpZiAoIXRoaXMuc3RhdGUuY29ubmVjdGVkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBjbGFzc05hbWU6IFxcXCJMYW5kaW5nQnV0dG9uXFxcIiwgb25DbGljazogdGhpcy5vblN0YXJ0QWFyZHZhcmsgfSwgXFxcIlN0YXJ0IEFhcmR2YXJrXFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkZyYWdtZW50XFxcIl0sIG51bGwsXFxyXFxuICAgICAgICAgICAgdGhpcy5yZW5kZXJNdXRhbGx5RXhjbHVzaXZlQnV0dG9ucyh0aGlzLm9uQWRkRmF2b3JpdGUsIHRoaXMub25SZW1vdmVGYXZvcml0ZSwgXFxcIkZhdm9yaXRlc1xcXCIsIChfYSA9IHRoaXMuc3RhdGUuaG9zdFNldHRpbmdzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZmF2b3JpdGVkKSxcXHJcXG4gICAgICAgICAgICB0aGlzLnJlbmRlck11dGFsbHlFeGNsdXNpdmVCdXR0b25zKHRoaXMub25TZXRBdXRvTGF1bmNoLCB0aGlzLm9uUmVtb3ZlQXV0b0xhdW5jaCwgXFxcIkF1dG8gTGF1bmNoXFxcIiwgKF9iID0gdGhpcy5zdGF0ZS5ob3N0U2V0dGluZ3MpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5hdXRvTGF1bmNoRW5hYmxlZCksXFxyXFxuICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJkaXZcXFwiLCB7IGNsYXNzTmFtZTogXFxcIkxhbmRpbmdCdXR0b25cXFwiLCBvbkNsaWNrOiB0aGlzLm9uU3RhcnRHYWRnZXQgfSwgXFxcIlN0YXJ0IEdhZGdldFxcXCIpLFxcclxcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuYWRkUmVzdWx0ICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBzdHlsZTogeyBmb250U2l6ZTogXFxcIm1lZGl1bVxcXCIgfSB9LCB0aGlzLnN0YXRlLmFkZFJlc3VsdCkpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlck11dGFsbHlFeGNsdXNpdmVCdXR0b25zKGVuYWJsZUNhbGxiYWNrLCBkaXNhYmxlQ2FsbGJhY2ssIGRlc2NyaXB0aW9uLCB0ZXN0VmFsdWUpIHtcXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiRnJhZ21lbnRcXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICAhdGVzdFZhbHVlICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBjbGFzc05hbWU6IFxcXCJMYW5kaW5nQnV0dG9uXFxcIiwgb25DbGljazogZW5hYmxlQ2FsbGJhY2sgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJBZGQgdG8gXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKSxcXHJcXG4gICAgICAgICAgICB0ZXN0VmFsdWUgJiZcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJkaXZcXFwiLCB7IGNsYXNzTmFtZTogXFxcIkxhbmRpbmdCdXR0b25cXFwiLCBvbkNsaWNrOiBkaXNhYmxlQ2FsbGJhY2sgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJSZW1vdmUgZnJvbSBcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24pKTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5lcnJvcikge1xcclxcbiAgICAgICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oXFxcImRpdlxcXCIsIG51bGwsXFxyXFxuICAgICAgICAgICAgICAgIFxcXCJFcnJvcjogXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5lcnJvcik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICghdGhpcy5zdGF0ZS5tYW5pZmVzdCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oXFxcImRpdlxcXCIsIG51bGwsIFxcXCJMb2FkaW5nLi4uXFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBsZXQgaWNvbiA9IG51bGw7XFxyXFxuICAgICAgICAgICAgbGV0IG1vZGVsSW5mbyA9IE9iamVjdChfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiZmluZEdsdGZJY29uRnVsbFVybFxcXCJdKSh0aGlzLmdhZGdldFVybCwgdGhpcy5zdGF0ZS5tYW5pZmVzdCk7XFxyXFxuICAgICAgICAgICAgbGV0IFtpY29uVXJsLCByb3RhdGlvbl0gPSBtb2RlbEluZm87XFxyXFxuICAgICAgICAgICAgaWYgKGljb25VcmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWNvbiA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiaWZyYW1lXFxcIiwgeyBzcmM6IFxcXCJodHRwczovL2FhcmR2YXJreHIuZ2l0aHViLmlvL2ljb25fbW9kZWxfdmlld2VyL2luZGV4Lmh0bWwjXFxcIiArIGljb25VcmwsIGZyYW1lQm9yZGVyOiAwLCBzdHlsZTogeyBcXFwiYm9yZGVyXFxcIjogXFxcIm5vbmVcXFwiLCBtYXJnaW46IDAsIG92ZXJmbG93OiBcXFwiaGlkZGVuXFxcIiB9IH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkZyYWdtZW50XFxcIl0sIG51bGwsXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiQXZHYWRnZXRMaXN0XFxcIl0sIHsgcmVmOiB0aGlzLmdhZGdldExpc3QgfSksXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBzdHlsZTogeyBkaXNwbGF5OiBcXFwiZmxleFxcXCIsIGZsZXhEaXJlY3Rpb246IFxcXCJjb2x1bW5cXFwiIH0gfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBzdHlsZTogeyBmb250U2l6ZTogXFxcImxhcmdlXFxcIiwgZm9udFN0eWxlOiBcXFwiYm9sZFxcXCIgfSB9LCB0aGlzLnN0YXRlLm1hbmlmZXN0Lm5hbWUpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5tYW5pZmVzdC5kZXNjcmlwdGlvbiAmJlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgbnVsbCwgdGhpcy5zdGF0ZS5tYW5pZmVzdC5kZXNjcmlwdGlvbiksXFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckZhdm9yaXRlKCksXFxyXFxuICAgICAgICAgICAgICAgICAgICBpY29uKSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uQ29ubmVjdFRvU2VydmVyXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uU3RhcnRBYXJkdmFya1xcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX19kZWZhdWx0LmFcXHJcXG5dLCBEZWZhdWx0TGFuZGluZy5wcm90b3R5cGUsIFxcXCJvbkFkZEZhdm9yaXRlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uUmVtb3ZlRmF2b3JpdGVcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19fZGVmYXVsdC5hXFxyXFxuXSwgRGVmYXVsdExhbmRpbmcucHJvdG90eXBlLCBcXFwib25SZW1vdmVBdXRvTGF1bmNoXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uU2V0QXV0b0xhdW5jaFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX19kZWZhdWx0LmFcXHJcXG5dLCBEZWZhdWx0TGFuZGluZy5wcm90b3R5cGUsIFxcXCJnZXRTZXR0aW5nc0ZvckdhZGdldFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX19kZWZhdWx0LmFcXHJcXG5dLCBEZWZhdWx0TGFuZGluZy5wcm90b3R5cGUsIFxcXCJvblN0YXJ0R2FkZ2V0XFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlrWldaaGRXeDBYMnhoYm1ScGJtZGZjR0ZuWlM1MGMzZy9aVGRqTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3T3pzN096czdPenM3UVVGQk1FazdRVUZEYUVnN1FVRkRTenRCUVVOU08wRkJRMmRETzBGQlEwazdRVUZEUlR0QlFVTXpRanRCUVVOblF6dEJRV2RDTTBRc1RVRkJUU3hqUVVGbExGTkJRVkVzSzBOQlFUQkVPMGxCVFRkR0xGbEJRV0VzUzBGQlZUdFJRVVYwUWl4TFFVRkxMRU5CUVVVc1MwRkJTeXhEUVVGRkxFTkJRVU03VVVGS1VpeGxRVUZWTEVkQlFVY3NLME5CUVdVc1JVRkJaMElzUTBGQlF6dFJRVTF3UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFVkJRVVVzVTBGQlV5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCUld4RExFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4dFJVRkJaMElzUTBGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZGTEVOQlFVTTdVVUZEY2tVc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5d3JSVUZCYzBJc1JVRkJSU3hEUVVGRE8xRkJSVEZETERSRFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxEUkdRVUYzUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVVVzUTBGQlJUdGhRVU4wUkN4SlFVRkpMRU5CUVVVc1EwRkJSU3hSUVVGUkxFVkJRVWNzUlVGQlJUdFpRVVZ5UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFVkJRVVVzVVVGQlVTeEZRVUZGTEZGQlFWRXNRMEZCUXl4SlFVRjNRaXhGUVVGRkxFTkJRVVVzUTBGQlF6dFJRVU5zUlN4RFFVRkRMRU5CUVVVN1lVRkRSaXhMUVVGTExFTkJRVVVzUTBGQlJTeE5RVUZYTEVWQlFVY3NSVUZCUlR0WlFVVjZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMSGxDUVVGNVFpeEZRVUZGTEVOQlFVVXNRMEZCUXp0UlFVTjJSQ3hEUVVGRExFTkJRVVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZIVHl4cFFrRkJhVUk3VVVGRmVFSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUlN4RFFVRkRPMUZCUTNKRExFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3hEUVVGRE8wbEJRemRDTEVOQlFVTTdTVUZIVHl4bFFVRmxPMUZCUlhSQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVVXNhMEpCUVd0Q0xFTkJRVVVzUTBGQlF6dEpRVU51UXl4RFFVRkRPMGxCUjJFc1lVRkJZVHM3V1VGRk1VSXNTVUZEUVR0blFrRkRReXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJReXhYUVVGWExFTkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUlN4RFFVRkRPMmRDUVVOMlJTeEpRVUZKTEUxQlFVMHNSMEZCUnl4TlFVRk5MRlZCUVZVc1EwRkJRenRuUWtGRE9VSXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVVc1EwRkJRenRoUVVNMVF6dFpRVU5FTEU5QlFVOHNRMEZCUXl4RlFVTlNPMmRDUVVORExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4VFFVRlRMRVZCUVVVc1RVRkJUU3hEUVVGRkxFTkJRVU1zUTBGQlJTeEZRVUZGTEVOQlFVVXNRMEZCUXp0aFFVTTFRenRSUVVWR0xFTkJRVU03UzBGQlFUdEpRVVZQTEcxQ1FVRnRRaXhEUVVGRkxFMUJRWGRDTEVWQlFVVXNZMEZCYzBJN1VVRkZOVVVzU1VGQlNTeEpRVUZaTEVOQlFVTTdVVUZGYWtJc1VVRkJVeXhOUVVGTkxFVkJRMlk3V1VGRFF5eExRVUZMTEdkRlFVRm5RaXhEUVVGRExFOUJRVTg3WjBKQlF6VkNMRWxCUVVrc1IwRkJSeXhqUVVGakxFTkJRVU03WjBKQlEzUkNMRTFCUVUwN1dVRkZVQ3hMUVVGTExHZEZRVUZuUWl4RFFVRkRMRmxCUVZrN1owSkJRMnBETEVsQlFVa3NSMEZCUnl4bFFVRmxMRU5CUVVNN1owSkJRM1pDTEUxQlFVMDdXVUZIVUN4TFFVRkxMR2RGUVVGblFpeERRVUZETEZsQlFWazdaMEpCUTJwRExFbEJRVWtzUjBGQlJ5eHRRMEZCYlVNc1EwRkJRenRuUWtGRE0wTXNUVUZCVFR0WlFVVlFMRXRCUVVzc1owVkJRV2RDTEVOQlFVTXNaMEpCUVdkQ08yZENRVU55UXl4SlFVRkpMRWRCUVVjc2JVTkJRVzFETEVOQlFVTTdaMEpCUXpORExFMUJRVTA3V1VGRlVDeExRVUZMTEdkRlFVRm5RaXhEUVVGRExHTkJRV003WjBKQlEyNURMRWxCUVVrc1IwRkJSeXd5UWtGQk1rSXNRMEZCUXp0blFrRkRia01zVFVGQlRUdFpRVVZRTEV0QlFVc3NaMFZCUVdkQ0xFTkJRVU1zYVVKQlFXbENPMmRDUVVOMFF5eEpRVUZKTEVkQlFVY3NjVUpCUVhGQ0xFTkJRVU03WjBKQlF6ZENMRTFCUVUwN1dVRkZVQ3hMUVVGTExHZEZRVUZuUWl4RFFVRkRMR05CUVdNN1owSkJRMjVETEVsQlFVa3NSMEZCUnl4cFFrRkJhVUlzUTBGQlF6dG5Ra0ZEZWtJc1RVRkJUVHRaUVVWUU8yZENRVU5ETEVsQlFVa3NSMEZCUnl4cFFrRkJhVUlzUjBGQlJ5eE5RVUZOTEVOQlFVTTdaMEpCUTJ4RExFMUJRVTA3VTBGRFVEdFJRVVZFTEVsQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFVkJRVVU3V1VGRGRrSXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEVOQlFVTTdVMEZETjBJN1VVRkZSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRkxFTkJRVU03U1VGRGRFTXNRMEZCUXp0SlFVZGhMR2RDUVVGblFqczdXVUZGTjBJc1NVRkRRVHRuUWtGRFF5eEpRVUZKTEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eGpRVUZqTEVOQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJSU3hEUVVGRE8yZENRVU14UlN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVVXNUVUZCVFN4VlFVRlZMRVZCUVVVc2QwSkJRWGRDTEVOQlFVVXNRMEZCUXp0aFFVTjJSVHRaUVVORUxFOUJRVThzUTBGQlF5eEZRVU5TTzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNUVUZCVFN4RFFVRkZMRU5CUVVNc1EwRkJSU3hGUVVGRkxFTkJRVVVzUTBGQlF6dGhRVU0xUXp0UlFVVkdMRU5CUVVNN1MwRkJRVHRKUVVkaExHdENRVUZyUWpzN1dVRkZMMElzU1VGRFFUdG5Ra0ZEUXl4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4blFrRkJaMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkZMRU5CUVVNN1owSkJRelZGTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlJTeE5RVUZOTEZWQlFWVXNSVUZCUlN3d1FrRkJNRUlzUTBGQlJTeERRVUZETzJGQlEzcEZPMWxCUTBRc1QwRkJUeXhEUVVGRExFVkJRMUk3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeE5RVUZOTEVOQlFVVXNRMEZCUXl4RFFVRkZMRVZCUVVVc1EwRkJSU3hEUVVGRE8yRkJRelZETzFGQlJVWXNRMEZCUXp0TFFVRkJPMGxCUjJFc1pVRkJaVHM3V1VGRk5VSXNTVUZEUVR0blFrRkRReXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJReXhoUVVGaExFTkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUlN4RFFVRkRPMmRDUVVONlJTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVVVzVFVGQlRTeFZRVUZWTEVWQlFVVXNjMEpCUVhOQ0xFTkJRVVVzUTBGQlF6dGhRVU55UlR0WlFVTkVMRTlCUVU4c1EwRkJReXhGUVVOU08yZENRVU5ETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1JVRkJSU3hUUVVGVExFVkJRVVVzVFVGQlRTeERRVUZGTEVOQlFVTXNRMEZCUlN4RlFVRkZMRU5CUVVVc1EwRkJRenRoUVVNMVF6dFJRVVZHTEVOQlFVTTdTMEZCUVR0SlFVZGhMRzlDUVVGdlFqczdXVUZGYWtNc1NVRkRRVHRuUWtGRFF5eEpRVUZKTEZsQlFWa3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEc5Q1FVRnZRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVVXNRMEZCUXp0blFrRkRlRVlzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUlN4RlFVRkZMRmxCUVZrc1JVRkJSU3hEUVVGRkxFTkJRVU03WVVGRGJFTTdXVUZEUkN4UFFVRlBMRU5CUVVNc1JVRkRVanRuUWtGRFF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRVZCUVVVc1UwRkJVeXhGUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETEVOQlFVVXNSVUZCUlN4RFFVRkZMRU5CUVVNN1lVRkROVU03VVVGRFJpeERRVUZETzB0QlFVRTdTVUZIWVN4aFFVRmhPenRaUVVVeFFpeEpRVU5CTzJkQ1FVTkRMRWxCUVVrc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmRCUVZjc1EwRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZGTEVOQlFVTTdaMEpCUTNaRkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJSU3hOUVVGTkxGVkJRVlVzUlVGQlJTeFRRVUZUTEVOQlFVVXNRMEZCUXp0aFFVTjRSRHRaUVVORUxFOUJRVThzUTBGQlF5eEZRVU5TTzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNUVUZCVFN4RFFVRkZMRU5CUVVNc1EwRkJSU3hGUVVGRkxFTkJRVVVzUTBGQlF6dGhRVU0xUXp0UlFVVkdMRU5CUVVNN1MwRkJRVHRKUVVWUExHTkJRV003TzFGQlJYSkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZEZWtJN1dVRkRReXhQUVVGUExEWkVRVUZMTEZOQlFWTXNSVUZCUXl4bFFVRmxMRVZCUTNCRExFOUJRVThzUlVGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4eFFrRkJkVUlzUTBGQlF6dFRRVU4yUkR0UlFVVkVMRTlCUVU4N1dVRkRTaXhKUVVGSkxFTkJRVU1zTmtKQlFUWkNMRU5CUTI1RExFbEJRVWtzUTBGQlF5eGhRVUZoTEVWQlEyeENMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSVUZEY2tJc1YwRkJWeXhSUVVOWUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N3d1EwRkJSU3hUUVVGVExFTkJRVVU3V1VGRmJrTXNTVUZCU1N4RFFVRkRMRFpDUVVFMlFpeERRVU51UXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVOd1FpeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFVkJRM1pDTEdGQlFXRXNVVUZEWWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzTUVOQlFVVXNhVUpCUVdsQ0xFTkJRVVU3V1VGRk4wTXNOa1JCUVVzc1UwRkJVeXhGUVVGRExHVkJRV1VzUlVGQlF5eFBRVUZQTEVWQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc2JVSkJRWEZDTzFsQlF6bEZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV6dG5Ra0ZEY2tJc05rUkJRVXNzUzBGQlN5eEZRVUZITEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1JVRkJSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRlJMRU5CUTJ4RkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVOHNOa0pCUVRaQ0xFTkJRVVVzWTBGQk1FSXNSVUZCUlN4bFFVRXlRaXhGUVVGRkxGZEJRVzFDTEVWQlFVVXNVMEZCYlVJN1VVRkZka2tzVDBGQlR6dFpRVU5LTEVOQlFVTXNVMEZCVXp0blFrRkRXQ3cyUkVGQlN5eFRRVUZUTEVWQlFVTXNaVUZCWlN4RlFVRkRMRTlCUVU4c1JVRkJSeXhqUVVGak96dHZRa0ZCV1N4WFFVRlhMRU5CUVZFN1dVRkRja1lzVTBGQlV6dG5Ra0ZEVml3MlJFRkJTeXhUUVVGVExFVkJRVU1zWlVGQlpTeEZRVUZETEU5QlFVOHNSVUZCUnl4bFFVRmxPenR2UWtGQmFVSXNWMEZCVnl4RFFVRlJMRU5CUXpOR08wbEJRMG9zUTBGQlF6dEpRVVZFTEUxQlFVMDdVVUZGVEN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVU53UWp0WlFVTkRMRTlCUVU4N08yZENRVUZqTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGUk8xTkJRemRETzJGQlEwa3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU0zUWp0WlFVTkRMRTlCUVU4c09FVkJRWEZDTzFOQlF6VkNPMkZCUlVRN1dVRkRReXhKUVVGSkxFbEJRVWtzUjBGQlowSXNTVUZCU1N4RFFVRkRPMWxCUXpkQ0xFbEJRVWtzVTBGQlV5eEhRVUZITEdsR1FVRnRRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFpRVU16UlN4SlFVRkpMRU5CUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUTBGQlJTeEhRVUZITEZOQlFWTXNRMEZCUXp0WlFVVjBReXhKUVVGSkxFOUJRVThzUlVGRFdEdG5Ra0ZEUXl4SlFVRkpMRWRCUVVjc1owVkJRVkVzUjBGQlJ5eEZRVUZITERSRVFVRTBSQ3hIUVVGSExFOUJRVThzUlVGRE1VWXNWMEZCVnl4RlFVRkhMRU5CUVVNc1JVRkJSeXhMUVVGTExFVkJRVWNzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4SFFVRlpPMkZCUXpGR08xbEJSVVFzVDBGQlR6dG5Ra0ZEVGl4dlJFRkJReXcwUkVGQldTeEpRVUZETEVkQlFVY3NSVUZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSk8yZENRVU4yUXl3MlJFRkJTeXhMUVVGTExFVkJRVWNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMR0ZCUVdFc1JVRkJSU3hSUVVGUkxFVkJRVVU3YjBKQlEzaEVMRFpFUVVGTExFdEJRVXNzUlVGQlJ5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1UwRkJVeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlVUdHZRa0ZEZGtZc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnp0M1FrRkRhRU1zYVVWQlFWRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZSTzI5Q1FVTTVReXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTzI5Q1FVTnlRaXhKUVVGSkxFTkJRMFFzUTBGRFNqdFRRVU5JTzBsQlEwWXNRMEZCUXp0RFFVTkVPMEZCTlU1Qk8wbEJSRU1zY1VSQlFVazdkVVJCUzBvN1FVRkhSRHRKUVVSRExIRkVRVUZKTzNGRVFVbEtPMEZCUjBRN1NVRkVReXh4UkVGQlNUdHRSRUZqU2p0QlFXdEVSRHRKUVVSRExIRkVRVUZKTzNORVFXRktPMEZCUjBRN1NVRkVReXh4UkVGQlNUdDNSRUZoU2p0QlFVZEVPMGxCUkVNc2NVUkJRVWs3Y1VSQllVbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk96QkVRVmxLTzBGQlIwUTdTVUZFUXl4eFJFRkJTVHR0UkVGaFNpSXNJbVpwYkdVaU9pSXVMM055WXk5a1pXWmhkV3gwWDJ4aGJtUnBibWRmY0dGblpTNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJZWEprZG1GeWEwMWhibWxtWlhOMExDQnRZVzVwWm1WemRGVnlhVVp5YjIxSFlXUm5aWFJWY21rc0lFMWxjM05oWjJWVWVYQmxMQ0JOYzJkSmJuTjBZV3hzUjJGa1oyVjBMQ0JCZGtkaFpHZGxkRk5sZEhScGJtZHpJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdGNGFXOXpJR1p5YjIwZ0oyRjRhVzl6Snp0Y2NseHVhVzF3YjNKMElDb2dZWE1nVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4eVhHNXBiWEJ2Y25RZ0p5NHZUR0Z1WkdsdVp5NWpjM01uTzF4eVhHNXBiWEJ2Y25RZ2V5QkRWWFJwYkdsMGVVVnVaSEJ2YVc1MElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWxibVJ3YjJsdWRDYzdYSEpjYm1sdGNHOXlkQ0I3SUVkbGRFZGhaR2RsZEZWeWJFWnliMjFYYVc1a2IzY2dmU0JtY205dElDY3VMMkZoY21SMllYSnJYMmRoWkdkbGRDYzdYSEpjYm1sdGNHOXlkQ0I3SUdacGJtUkhiSFJtU1dOdmJrWjFiR3hWY213Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZEY5elpXVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QkJka2RoWkdkbGRFeHBjM1FzSUVkaFpHZGxkRXhwYzNSU1pYTjFiSFFnZlNCbWNtOXRJQ2N1TDJGd2FWOW5ZV1JuWlhSc2FYTjBKenRjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSR1ZtWVhWc2RFeGhibVJwYm1kUWNtOXdjMXh5WEc1N1hISmNibHh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1JHVm1ZWFZzZEV4aGJtUnBibWRUZEdGMFpWeHlYRzU3WEhKY2JseDBiV0Z1YVdabGMzUS9PaUJCWVhKa2RtRnlhMDFoYm1sbVpYTjBPMXh5WEc1Y2RHVnljbTl5UHpvZ2MzUnlhVzVuTzF4eVhHNWNkR0ZrWkZKbGMzVnNkRDg2SUhOMGNtbHVaenRjY2x4dVhIUmpiMjV1WldOMFpXUTZJR0p2YjJ4bFlXNDdYSEpjYmx4MGFHOXpkRk5sZEhScGJtZHpQem9nUVhaSFlXUm5aWFJUWlhSMGFXNW5jenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRVJsWm1GMWJIUk1ZVzVrYVc1bklHVjRkR1Z1WkhNZ1VtVmhZM1F1UTI5dGNHOXVaVzUwUEVSbFptRjFiSFJNWVc1a2FXNW5VSEp2Y0hNc0lFUmxabUYxYkhSTVlXNWthVzVuVTNSaGRHVWdQbHh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JsYm1Sd2IybHVkRG9nUTFWMGFXeHBkSGxGYm1Sd2IybHVkRHRjY2x4dVhIUndjbWwyWVhSbElHZGhaR2RsZEZWeWJEb2djM1J5YVc1bk8xeHlYRzVjZEhCeWFYWmhkR1VnWjJGa1oyVjBUR2x6ZENBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmp4QmRrZGhaR2RsZEV4cGMzUStLQ2s3WEhKY2JseHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQndjbTl3Y3pvZ1lXNTVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnpkWEJsY2lnZ2NISnZjSE1nS1R0Y2NseHVYSEpjYmx4MFhIUjBhR2x6TG5OMFlYUmxJRDBnZXlCamIyNXVaV04wWldRNklHWmhiSE5sSUgwN1hISmNibHh5WEc1Y2RGeDBkR2hwY3k1bGJtUndiMmx1ZENBOUlHNWxkeUJEVlhScGJHbDBlVVZ1WkhCdmFXNTBLQ0J1ZFd4c0xDQjBhR2x6TG05dVEyOXVibVZqZEZSdlUyVnlkbVZ5SUNrN1hISmNibHgwWEhSMGFHbHpMbWRoWkdkbGRGVnliQ0E5SUVkbGRFZGhaR2RsZEZWeWJFWnliMjFYYVc1a2IzY29LVHRjY2x4dVhISmNibHgwWEhSaGVHbHZjeTVuWlhRb0lHMWhibWxtWlhOMFZYSnBSbkp2YlVkaFpHZGxkRlZ5YVNnZ2RHaHBjeTVuWVdSblpYUlZjbXdnS1NBcFhISmNibHgwWEhRdWRHaGxiaWdnS0NCeVpYTndiMjV6WlNBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWMyVjBVM1JoZEdVb0lIc2diV0Z1YVdabGMzUTZJSEpsYzNCdmJuTmxMbVJoZEdFZ1lYTWdRV0Z5WkhaaGNtdE5ZVzVwWm1WemRDQjlJQ2s3WEhKY2JseDBYSFI5SUNsY2NseHVYSFJjZEM1allYUmphQ2dnS0NCeVpXRnpiMjQ2SUdGdWVTQXBJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnWlhKeWIzSTZJRndpUm1GcGJHVmtJSFJ2SUd4dllXUWdiV0Z1YVdabGMzUmNJaUI5SUNrN1hISmNibHgwWEhSOUlDazdYSFJjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmtOdmJtNWxZM1JVYjFObGNuWmxjaWdwSUZ4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWMyVjBVM1JoZEdVb0lIc2dZMjl1Ym1WamRHVmtPaUIwY25WbElIMGdLVHRjY2x4dVhIUmNkSFJvYVhNdVoyVjBVMlYwZEdsdVozTkdiM0pIWVdSblpYUW9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmxOMFlYSjBRV0Z5WkhaaGNtc29LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIZHBibVJ2ZHk1dmNHVnVLQ0JjSW1GaGNtUjJZWEpyT2k4dmMzUmhjblJjSWlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUc5dVFXUmtSbUYyYjNKcGRHVW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnllVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2NISnZiVkpsYzNWc2RDQTlJSFJvYVhNdVoyRmtaMlYwVEdsemRDNWpkWEp5Wlc1MExtRmtaRVpoZG05eWFYUmxLQ0IwYUdsekxtZGhaR2RsZEZWeWJDQXBPMXh5WEc1Y2RGeDBYSFJzWlhRZ2NtVnpkV3gwSUQwZ1lYZGhhWFFnY0hKdmJWSmxjM1ZzZER0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSSFlXUm5aWFJNYVhOMFVtVnpkV3gwS0NCeVpYTjFiSFFzSUZ3aVFXUmtaV1JjSWlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFkyRjBZMmdvSUdVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHRmtaRkpsYzNWc2REb2dVM1J5YVc1bktDQmxJQ2tnZlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdjMlYwUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQ2dnY21WemRXeDBPaUJIWVdSblpYUk1hWE4wVW1WemRXeDBMQ0J6ZFdOalpYTnpUV1Z6YzJGblpUb2djM1J5YVc1bklDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdkR1Y0ZERvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhSY2RITjNhWFJqYUNBb0lISmxjM1ZzZENBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTmhjMlVnUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQzVUZFdOalpYTnpPbHh5WEc1Y2RGeDBYSFJjZEhSbGVIUWdQU0J6ZFdOalpYTnpUV1Z6YzJGblpUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iM1JEYjI1dVpXTjBaV1E2WEhKY2JseDBYSFJjZEZ4MGRHVjRkQ0E5SUZ3aVRtOTBJR052Ym01bFkzUmxaRndpTzF4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNUJiSEpsWVdSNVFXUmtaV1E2WEhKY2JseDBYSFJjZEZ4MGRHVjRkQ0E5SUZ3aVIyRmtaMlYwSUhObGRIUnBibWNnZDJGeklHRnNjbVZoWkhrZ1lXTjBhWFpsWENJN1hISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJqWVhObElFZGhaR2RsZEV4cGMzUlNaWE4xYkhRdVRtOVRkV05vUVhWMGIweGhkVzVqYURwY2NseHVYSFJjZEZ4MFhIUjBaWGgwSUQwZ1hDSkhZV1JuWlhRZ2QyRnpJRzV2ZENCelpYUWdkRzhnWVhWMGJ5QnNZWFZ1WTJoY0lqdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iMU4xWTJoR1lYWnZjbWwwWlRwY2NseHVYSFJjZEZ4MFhIUjBaWGgwSUQwZ1hDSkhZV1JuWlhRZ2QyRnpJRzV2ZENCaElHWmhkbTl5YVhSbFhDSTdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRWRoWkdkbGRFeHBjM1JTWlhOMWJIUXVWWE5sY2tSbGJtbGxaRkpsY1hWbGMzUTZYSEpjYmx4MFhIUmNkRngwZEdWNGRDQTlJRndpVlhObGNpQmtaVzVwWldRZ2NtVnhkV1Z6ZEZ3aU8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWTJGelpTQkhZV1JuWlhSTWFYTjBVbVZ6ZFd4MExrNXZkRWx0Y0d4bGJXVnVkR1ZrT2x4eVhHNWNkRngwWEhSY2RIUmxlSFFnUFNCY0ltNXZkQ0JwYlhCc1pXMWxiblJsWkZ3aU8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWkdWbVlYVnNkRHBjY2x4dVhIUmNkRngwWEhSMFpYaDBJRDBnWENKVmJtdHViM2R1SUhKbGMzVnNkQ0JjSWlBcklISmxjM1ZzZER0Y2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnBaaWgwYUdsekxuTjBZWFJsTG1OdmJtNWxZM1JsWkNrZ2UxeHlYRzVjZEZ4MFhIUWdkR2hwY3k1blpYUlRaWFIwYVc1bmMwWnZja2RoWkdkbGRDZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnWVdSa1VtVnpkV3gwT2lCMFpYaDBJSDBnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCaGMzbHVZeUJ2YmxKbGJXOTJaVVpoZG05eWFYUmxLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBjbmxjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElIQnliMjFTWlhOMWJIUWdQU0IwYUdsekxtZGhaR2RsZEV4cGMzUXVZM1Z5Y21WdWRDNXlaVzF2ZG1WR1lYWnZjbWwwWlNnZ2RHaHBjeTVuWVdSblpYUlZjbXdnS1R0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSSFlXUm5aWFJNYVhOMFVtVnpkV3gwS0NCaGQyRnBkQ0J3Y205dFVtVnpkV3gwTENCY0lsSmxiVzkyWldRZ1puSnZiU0JHWVhadmNtbDBaWE5jSWlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFkyRjBZMmdvSUdVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHRmtaRkpsYzNWc2REb2dVM1J5YVc1bktDQmxJQ2tnZlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0JoYzNsdVl5QnZibEpsYlc5MlpVRjFkRzlNWVhWdVkyZ29LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnllVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2NISnZiVkpsYzNWc2RDQTlJSFJvYVhNdVoyRmtaMlYwVEdsemRDNWpkWEp5Wlc1MExuSmxiVzkyWlVGMWRHOU1ZWFZ1WTJnb0lIUm9hWE11WjJGa1oyVjBWWEpzSUNrN1hISmNibHgwWEhSY2RIUm9hWE11YzJWMFIyRmtaMlYwVEdsemRGSmxjM1ZzZENnZ1lYZGhhWFFnY0hKdmJWSmxjM1ZzZEN3Z1hDSlNaVzF2ZG1Wa0lHWnliMjBnUVhWMGJ5Qk1ZWFZ1WTJoY0lpQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBZMkYwWTJnb0lHVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxuTmxkRk4wWVhSbEtDQjdJR0ZrWkZKbGMzVnNkRG9nVTNSeWFXNW5LQ0JsSUNrZ2ZTQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCaGMzbHVZeUJ2YmxObGRFRjFkRzlNWVhWdVkyZ29LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnllVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2NISnZiVkpsYzNWc2RDQTlJSFJvYVhNdVoyRmtaMlYwVEdsemRDNWpkWEp5Wlc1MExuTmxkRUYxZEc5TVlYVnVZMmdvSUhSb2FYTXVaMkZrWjJWMFZYSnNJQ2s3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQ2dnWVhkaGFYUWdjSEp2YlZKbGMzVnNkQ3dnWENKQlpHUmxaQ0IwYnlCQmRYUnZJRXhoZFc1amFGd2lJQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJqWVhSamFDZ2daU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnWVdSa1VtVnpkV3gwT2lCVGRISnBibWNvSUdVZ0tTQjlJQ2s3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUdkbGRGTmxkSFJwYm1kelJtOXlSMkZrWjJWMEtDbGNjbHh1WEhSN1hISmNibHgwWEhSMGNubGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBiR1YwSUdodmMzUlRaWFIwYVc1bmN5QTlJR0YzWVdsMElIUm9hWE11WjJGa1oyVjBUR2x6ZEM1amRYSnlaVzUwTG1kbGRGTmxkSFJwYm1kelJtOXlSMkZrWjJWMEtDQjBhR2x6TG1kaFpHZGxkRlZ5YkNBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHaHZjM1JUWlhSMGFXNW5jeUI5SUNrN1hISmNibHgwWEhSOVhISmNibHgwWEhSallYUmphQ2dnWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUhzZ1lXUmtVbVZ6ZFd4ME9pQlRkSEpwYm1jb0lHVWdLU0I5SUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ1lYTjVibU1nYjI1VGRHRnlkRWRoWkdkbGRDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGRISjVYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCd2NtOXRVbVZ6ZFd4MElEMGdkR2hwY3k1bllXUm5aWFJNYVhOMExtTjFjbkpsYm5RdWMzUmhjblJIWVdSblpYUW9JSFJvYVhNdVoyRmtaMlYwVlhKc0lDazdYSEpjYmx4MFhIUmNkSFJvYVhNdWMyVjBSMkZrWjJWMFRHbHpkRkpsYzNWc2RDZ2dZWGRoYVhRZ2NISnZiVkpsYzNWc2RDd2dYQ0pUZEdGeWRHVmtYQ0lnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdOaGRHTm9LQ0JsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCaFpHUlNaWE4xYkhRNklGTjBjbWx1WnlnZ1pTQXBJSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElISmxibVJsY2taaGRtOXlhWFJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ0lYUm9hWE11YzNSaGRHVXVZMjl1Ym1WamRHVmtJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRHhrYVhZZ1kyeGhjM05PWVcxbFBWd2lUR0Z1WkdsdVowSjFkSFJ2Ymx3aVhISmNibHgwWEhSY2RGeDBiMjVEYkdsamF6MTdJSFJvYVhNdWIyNVRkR0Z5ZEVGaGNtUjJZWEpySUgwK1UzUmhjblFnUVdGeVpIWmhjbXM4TDJScGRqNDdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRHcrWEhKY2JseDBYSFJjZEhzZ2RHaHBjeTV5Wlc1a1pYSk5kWFJoYkd4NVJYaGpiSFZ6YVhabFFuVjBkRzl1Y3lnZ1hISmNibHgwWEhSY2RGeDBkR2hwY3k1dmJrRmtaRVpoZG05eWFYUmxMQ0JjY2x4dVhIUmNkRngwWEhSMGFHbHpMbTl1VW1WdGIzWmxSbUYyYjNKcGRHVXNJRnh5WEc1Y2RGeDBYSFJjZEZ3aVJtRjJiM0pwZEdWelhDSXNJRnh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVjM1JoZEdVdWFHOXpkRk5sZEhScGJtZHpQeTVtWVhadmNtbDBaV1FnS1NCOVhISmNibHh5WEc1Y2RGeDBYSFI3SUhSb2FYTXVjbVZ1WkdWeVRYVjBZV3hzZVVWNFkyeDFjMmwyWlVKMWRIUnZibk1vSUZ4eVhHNWNkRngwWEhSY2RIUm9hWE11YjI1VFpYUkJkWFJ2VEdGMWJtTm9MQ0JjY2x4dVhIUmNkRngwWEhSMGFHbHpMbTl1VW1WdGIzWmxRWFYwYjB4aGRXNWphQ3dnWEhKY2JseDBYSFJjZEZ4MFhDSkJkWFJ2SUV4aGRXNWphRndpTENCY2NseHVYSFJjZEZ4MFhIUjBhR2x6TG5OMFlYUmxMbWh2YzNSVFpYUjBhVzVuY3o4dVlYVjBiMHhoZFc1amFFVnVZV0pzWldRZ0tTQjlYSEpjYmx4eVhHNWNkRngwWEhROFpHbDJJR05zWVhOelRtRnRaVDFjSWt4aGJtUnBibWRDZFhSMGIyNWNJaUJ2YmtOc2FXTnJQWHNnZEdocGN5NXZibE4wWVhKMFIyRmtaMlYwSUgwK1UzUmhjblFnUjJGa1oyVjBQQzlrYVhZK1hISmNibHgwWEhSY2RIc2dkR2hwY3k1emRHRjBaUzVoWkdSU1pYTjFiSFFnSmlaY2NseHVYSFJjZEZ4MFhIUThaR2wySUhOMGVXeGxQWHNnZXlCbWIyNTBVMmw2WlRvZ1hDSnRaV1JwZFcxY0lpQjlmVDU3SUhSb2FYTXVjM1JoZEdVdVlXUmtVbVZ6ZFd4MElIMDhMMlJwZGo0Z2ZWeHlYRzVjZEZ4MFBDOCtPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQnlaVzVrWlhKTmRYUmhiR3g1UlhoamJIVnphWFpsUW5WMGRHOXVjeWdnWlc1aFlteGxRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FzSUdScGMyRmliR1ZEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkN3Z1pHVnpZM0pwY0hScGIyNDZJSE4wY21sdVp5d2dkR1Z6ZEZaaGJIVmxQem9nWW05dmJHVmhiaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlEdytYSEpjYmx4MFhIUmNkSHNnSVhSbGMzUldZV3gxWlNBbUppQmNjbHh1WEhSY2RGeDBYSFE4WkdsMklHTnNZWE56VG1GdFpUMWNJa3hoYm1ScGJtZENkWFIwYjI1Y0lpQnZia05zYVdOclBYc2daVzVoWW14bFEyRnNiR0poWTJzZ2ZUNUJaR1FnZEc4Z2V5QmtaWE5qY21sd2RHbHZiaUI5UEM5a2FYWStJSDFjY2x4dVhIUmNkRngwZXlCMFpYTjBWbUZzZFdVZ0ppWWdYSEpjYmx4MFhIUmNkRngwUEdScGRpQmpiR0Z6YzA1aGJXVTlYQ0pNWVc1a2FXNW5RblYwZEc5dVhDSWdiMjVEYkdsamF6MTdJR1JwYzJGaWJHVkRZV3hzWW1GamF5QjlQbEpsYlc5MlpTQm1jbTl0SUhzZ1pHVnpZM0pwY0hScGIyNGdmVHd2WkdsMlBpQjlYSEpjYmx4MFhIUThMejVjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWMzUmhkR1V1WlhKeWIzSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdQR1JwZGo1RmNuSnZjam9nZXlCMGFHbHpMbk4wWVhSbExtVnljbTl5SUgwOEwyUnBkajVjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JQ0YwYUdsekxuTjBZWFJsTG0xaGJtbG1aWE4wSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUR4a2FYWStURzloWkdsdVp5NHVMand2WkdsMlBseHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2FXTnZiam9nU2xOWUxrVnNaVzFsYm5RZ1BTQnVkV3hzTzF4eVhHNWNkRngwWEhSc1pYUWdiVzlrWld4SmJtWnZJRDBnWm1sdVpFZHNkR1pKWTI5dVJuVnNiRlZ5YkNnZ2RHaHBjeTVuWVdSblpYUlZjbXdzSUhSb2FYTXVjM1JoZEdVdWJXRnVhV1psYzNRZ0tUdGNjbHh1WEhSY2RGeDBiR1YwSUZzZ2FXTnZibFZ5YkN3Z2NtOTBZWFJwYjI0Z1hTQTlJRzF2WkdWc1NXNW1ienRjY2x4dVhIUmNjbHh1WEhSY2RGeDBhV1lvSUdsamIyNVZjbXdnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBhV052YmlBOUlEeHBabkpoYldVZ2MzSmpQWHNnWENKb2RIUndjem92TDJGaGNtUjJZWEpyZUhJdVoybDBhSFZpTG1sdkwybGpiMjVmYlc5a1pXeGZkbWxsZDJWeUwybHVaR1Y0TG1oMGJXd2pYQ0lnS3lCcFkyOXVWWEpzSUgxY2NseHVYSFJjZEZ4MFhIUmNkR1p5WVcxbFFtOXlaR1Z5UFhzZ01DQjlJSE4wZVd4bFBYc2dleUJjSW1KdmNtUmxjbHdpT2lCY0ltNXZibVZjSWl3Z2JXRnlaMmx1T2lBd0xDQnZkbVZ5Wm14dmR6b2dYQ0pvYVdSa1pXNWNJaUI5SUgwK1BDOXBabkpoYldVK1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2NseHVYSFJjZEZ4MGNtVjBkWEp1SUR3K1hISmNibHgwWEhSY2RGeDBQRUYyUjJGa1oyVjBUR2x6ZENCeVpXWTlleUIwYUdsekxtZGhaR2RsZEV4cGMzUWdmUzgrWEhKY2JseDBYSFJjZEZ4MFBHUnBkaUJ6ZEhsc1pUMTdJSHNnWkdsemNHeGhlVG9nWENKbWJHVjRYQ0lzSUdac1pYaEVhWEpsWTNScGIyNDZJRndpWTI5c2RXMXVYQ0lnZlgwK1hISmNibHgwWEhSY2RGeDBYSFE4WkdsMklITjBlV3hsUFhzZ2V5Qm1iMjUwVTJsNlpUb2dYQ0pzWVhKblpWd2lMQ0JtYjI1MFUzUjViR1U2SUZ3aVltOXNaRndpSUgxOVBuc2dkR2hwY3k1emRHRjBaUzV0WVc1cFptVnpkQzV1WVcxbElIMDhMMlJwZGo1Y2NseHVYSFJjZEZ4MFhIUmNkSHNnZEdocGN5NXpkR0YwWlM1dFlXNXBabVZ6ZEM1a1pYTmpjbWx3ZEdsdmJpQW1KaUJjY2x4dVhIUmNkRngwWEhSY2RGeDBQR1JwZGlBK2V5QjBhR2x6TG5OMFlYUmxMbTFoYm1sbVpYTjBMbVJsYzJOeWFYQjBhVzl1SUgwOEwyUnBkajRnZlZ4eVhHNWNkRngwWEhSY2RGeDBleUIwYUdsekxuSmxibVJsY2taaGRtOXlhWFJsS0NrZ2ZWeHlYRzVjZEZ4MFhIUmNkRngwZXlCcFkyOXVJSDFjY2x4dVhIUmNkRngwWEhROEwyUnBkajVjY2x4dVhIUmNkRngwUEM4K1hISmNibHgwWEhSOVhIUmNjbHh1WEhSOVhISmNibjFjY2x4dVhISmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2RlZmF1bHRfbGFuZGluZ19wYWdlLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvZ2FkZ2V0X2VuZHBvaW50LnRzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9nYWRnZXRfZW5kcG9pbnQudHMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IENHYWRnZXRFbmRwb2ludCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ0dhZGdldEVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDR2FkZ2V0RW5kcG9pbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW5kcG9pbnQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2VuZHBvaW50LnRzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcblxcclxcblxcclxcblxcclxcblxcclxcbmNsYXNzIENHYWRnZXRFbmRwb2ludCBleHRlbmRzIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJDQWFyZHZhcmtFbmRwb2ludFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IoZ2FkZ2V0VXJpLCBvcGVuSGFuZGxlciwgZGVmYXVsdEhhbmRsZXIgPSBudWxsKSB7XFxyXFxuICAgICAgICBzdXBlcigoKSA9PiB7IHRoaXMub25PcGVuKCk7IH0sIG9wZW5IYW5kbGVyLCBkZWZhdWx0SGFuZGxlcik7XFxyXFxuICAgICAgICB0aGlzLmFsbG93UmVjb25uZWN0KCk7XFxyXFxuICAgICAgICB0aGlzLm1fZ2FkZ2V0VXJpID0gZ2FkZ2V0VXJpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uT3BlbigpIHtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKFxcXCJDb25uZWN0ZWRcXFwiKTtcXHJcXG4gICAgICAgIGxldCBtc2dTZXRFbmRwb2ludFR5cGUgPSB7XFxyXFxuICAgICAgICAgICAgbmV3RW5kcG9pbnRUeXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uR2FkZ2V0LFxcclxcbiAgICAgICAgICAgIGdhZGdldFVyaTogdGhpcy5tX2dhZGdldFVyaSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLlNldEVuZHBvaW50VHlwZSwgbXNnU2V0RW5kcG9pbnRUeXBlKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQ0dhZGdldEVuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uT3BlblxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5bllXUm5aWFJmWlc1a2NHOXBiblF1ZEhNL01EQTJOQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdRVUZCTUVjN1FVRkRaRHRCUVVNeFJEdEJRVWN6UWl4TlFVRk5MR1ZCUVdkQ0xGTkJRVkVzYjBWQlFXbENPMGxCU1hKRUxGbEJRV0VzVTBGQmFVSXNSVUZCUlN4WFFVRjNRaXhGUVVGRkxHbENRVUZ6UXl4SlFVRkpPMUZCUlc1SExFdEJRVXNzUTBGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVU1zUTBGQlF5eEZRVUZGTEZkQlFWY3NSVUZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVNNVJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1VVRkRkRUlzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNN1NVRkRPVUlzUTBGQlF6dEpRVVZMTEUxQlFVMDdVVUZGV0N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxGZEJRVmNzUTBGQlJTeERRVUZETzFGQlF6TkNMRWxCUVVrc2EwSkJRV3RDTEVkQlEzUkNPMWxCUTBNc1pVRkJaU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNUVUZCVFR0WlFVTndReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEZkQlFWYzdVMEZETTBJN1VVRkZSQ3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZGTEhWRlFVRlhMRU5CUVVNc1pVRkJaU3hGUVVGRkxHdENRVUZyUWl4RFFVRkZMRU5CUVVNN1NVRkRja1VzUTBGQlF6dERRVWRFTzBGQllrMDdTVUZCVEN4eFJFRkJTVHMyUTBGVlNpSXNJbVpwYkdVaU9pSXVMM055WXk5bllXUm5aWFJmWlc1a2NHOXBiblF1ZEhNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdleUJEUVdGeVpIWmhjbXRGYm1Sd2IybHVkQ3dnVFdWemMyRm5aVWhoYm1Sc1pYSXNJRTl3Wlc1SVlXNWtiR1Z5TENCQmMzbHVZMDFsYzNOaFoyVklZVzVrYkdWeUlIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWxibVJ3YjJsdWRDYzdYSEpjYm1sdGNHOXlkQ0I3SUUxeloxTmxkRVZ1WkhCdmFXNTBWSGx3WlN3Z1RXVnpjMkZuWlZSNWNHVXNJRVZ1WkhCdmFXNTBWSGx3WlNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1EwZGhaR2RsZEVWdVpIQnZhVzUwSUdWNGRHVnVaSE1nUTBGaGNtUjJZWEpyUlc1a2NHOXBiblJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnYlY5bllXUm5aWFJWY21rNklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR2RoWkdkbGRGVnlhVG9nYzNSeWFXNW5MQ0J2Y0dWdVNHRnVaR3hsY2pvZ1QzQmxia2hoYm1Sc1pYSXNJR1JsWm1GMWJIUklZVzVrYkdWeU9pQkJjM2x1WTAxbGMzTmhaMlZJWVc1a2JHVnlJRDBnYm5Wc2JDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGMzVndaWElvSUNncElEMCtJSHNnZEdocGN5NXZiazl3Wlc0b0tTQjlMQ0J2Y0dWdVNHRnVaR3hsY2l3Z1pHVm1ZWFZzZEVoaGJtUnNaWElnS1R0Y2NseHVYSFJjZEhSb2FYTXVZV3hzYjNkU1pXTnZibTVsWTNRb0tUdGNjbHh1WEhSY2RIUm9hWE11YlY5bllXUm5aWFJWY21rZ1BTQm5ZV1JuWlhSVmNtazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkNCdmJrOXdaVzRvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lrTnZibTVsWTNSbFpGd2lJQ2s3WEhKY2JseDBYSFJzWlhRZ2JYTm5VMlYwUlc1a2NHOXBiblJVZVhCbE9pQk5jMmRUWlhSRmJtUndiMmx1ZEZSNWNHVWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1WlhkRmJtUndiMmx1ZEZSNWNHVTZJRVZ1WkhCdmFXNTBWSGx3WlM1SFlXUm5aWFFzWEhKY2JseDBYSFJjZEdkaFpHZGxkRlZ5YVRvZ2RHaHBjeTV0WDJkaFpHZGxkRlZ5YVN4Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUjBhR2x6TG5ObGJtUk5aWE56WVdkbEtDQk5aWE56WVdkbFZIbHdaUzVUWlhSRmJtUndiMmx1ZEZSNWNHVXNJRzF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9nYWRnZXRfZW5kcG9pbnQudHNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2luZGV4LnRzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2luZGV4LnRzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2QmFzZU5vZGUsIEF2Q29tcG9zZWRFbnRpdHksIEF2RHJvcEluZGljYXRvciwgQ0FhcmR2YXJrRW5kcG9pbnQsIENNb25pdG9yRW5kcG9pbnQsIENVdGlsaXR5RW5kcG9pbnQsIEludGVyZmFjZVJvbGUsIEF2SW50ZXJmYWNlRW50aXR5LCBBdkVudGl0eUNoaWxkLCBHZXRHYWRnZXRVcmxGcm9tV2luZG93LCBBdkdhZGdldCwga19HYWRnZXRJbmZvSW50ZXJmYWNlLCBBdkdhZGdldEluZm8sIEdhZGdldFNlZWRIaWdobGlnaHQsIEdhZGdldFNlZWRDb250YWluZXJDb21wb25lbnQsIGZpbmRHbHRmSWNvbkZ1bGxVcmwsIHJlbmRlckdhZGdldEljb24sIEF2R2FkZ2V0U2VlZCwgQXZHcmFiQnV0dG9uLCBBdkhlYWRGYWNpbmdUcmFuc2Zvcm0sIEF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzLCBBdkxpbmUsIEF2TW9kZWwsIEF2TW9kZWxUcmFuc2Zvcm0sIGtfTWVudUludGVyZmFjZSwgTWVudUV2ZW50VHlwZSwgQXZNZW51SXRlbSwgQXZPcmlnaW4sIFBhbmVsUmVxdWVzdFR5cGUsIEF2UGFuZWwsIEF2UGFuZWxBbmNob3IsIEF2UGFyZW50VHJhbnNmb3JtLCBQcmltaXRpdmVUeXBlLCBQcmltaXRpdmVZT3JpZ2luLCBQcmltaXRpdmVYT3JpZ2luLCBQcmltaXRpdmVaT3JpZ2luLCBBdlByaW1pdGl2ZSwgcmVuZGVyQWFyZHZhcmtSb290LCBIaWdobGlnaHRUeXBlLCBTaG93R3JhYmJhYmxlQ2hpbGRyZW4sIEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IsIEdyYWJiYWJsZVN0eWxlLCBBdlN0YW5kYXJkR3JhYmJhYmxlLCBBdlRyYW5zZm9ybSwgYXNzZXJ0LCBRdWF0ZXJuaW9uVG9FdWxlckFuZ2xlcywgcXVhdEZyb21BeGlzQW5nbGVSYWRpYW5zLCBFdWxlckFuZ2xlc1RvUXVhdGVybmlvbiwgUmFkaWFuc1RvRGVncmVlcywgRGVncmVlc1RvUmFkaWFucywga19HYWRnZXRMaXN0SW50ZXJmYWNlLCBHYWRnZXRMaXN0RXZlbnRUeXBlLCBHYWRnZXRMaXN0UmVzdWx0LCBBdkdhZGdldExpc3QsIEF2QXBpSW50ZXJmYWNlLCBrX01lc3NhZ2Vib3hJbnRlcmZhY2UsIE1lc3NhZ2Vib3hFdmVudFR5cGUsIEF2TWVzc2FnZWJveCwgTW92ZWFibGVDb21wb25lbnRTdGF0ZSwgQ29udGFpbmVyUmVxdWVzdFR5cGUsIEdyYWJSZXF1ZXN0VHlwZSwgR3JhYlBvc2UsIE1vdmVhYmxlQ29tcG9uZW50LCBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLCBOZXR3b3JrSXRlbVRyYW5zZm9ybSwgTmV0d29ya2VkR2FkZ2V0Q29tcG9uZW50LCBOZXR3b3JrZWRJdGVtQ29tcG9uZW50LCBSZW1vdGVHYWRnZXRFdmVudFR5cGUsIFJlbW90ZUdhZGdldENvbXBvbmVudCwga19yZW1vdGVHcmFiYmFibGVJbnRlcmZhY2UsIFJlbW90ZUl0ZW1Db21wb25lbnQsIENvbnRhaW5lckl0ZW1TdGF0ZSwgU2ltcGxlQ29udGFpbmVyQ29tcG9uZW50LCBEZWZhdWx0TGFuZGluZywgQ0dhZGdldEVuZHBvaW50LCBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUsIE5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudCwgQ1JlbmRlcmVyRW5kcG9pbnQsIFJlbW90ZVVuaXZlcnNlQ29tcG9uZW50ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2QmFzZU5vZGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiQXZCYXNlTm9kZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19jb21wb3NlZF9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2Q29tcG9zZWRFbnRpdHlcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19jb21wb3NlZF9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZDb21wb3NlZEVudGl0eVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Ryb3BfaW5kaWNhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Ryb3BfaW5kaWNhdG9yICovIFxcXCIuL3NyYy9hYXJkdmFya19kcm9wX2luZGljYXRvci50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2RHJvcEluZGljYXRvclxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2Ryb3BfaW5kaWNhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2RHJvcEluZGljYXRvclxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2VuZHBvaW50ICovIFxcXCIuL3NyYy9hYXJkdmFya19lbmRwb2ludC50c1xcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ0FhcmR2YXJrRW5kcG9pbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDQWFyZHZhcmtFbmRwb2ludFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNNb25pdG9yRW5kcG9pbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDTW9uaXRvckVuZHBvaW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ1V0aWxpdHlFbmRwb2ludFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkNVdGlsaXR5RW5kcG9pbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJJbnRlcmZhY2VSb2xlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJJbnRlcmZhY2VSb2xlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2VudGl0eV9jaGlsZCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZW50aXR5X2NoaWxkLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZFbnRpdHlDaGlsZFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2VudGl0eV9jaGlsZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkVudGl0eUNoaWxkXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiR2V0R2FkZ2V0VXJsRnJvbVdpbmRvd1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJHZXRHYWRnZXRVcmxGcm9tV2luZG93XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZHYWRnZXRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZHYWRnZXRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfaW5mb19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXRfaW5mbyAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0X2luZm8udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX0dhZGdldEluZm9JbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfaW5mb19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJrX0dhZGdldEluZm9JbnRlcmZhY2VcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldEluZm9cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfaW5mb19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJBdkdhZGdldEluZm9cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfc2VlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXRfc2VlZCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0X3NlZWQudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRTZWVkSGlnaGxpZ2h0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiR2FkZ2V0U2VlZEhpZ2hsaWdodFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdhZGdldFNlZWRDb250YWluZXJDb21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfc2VlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiZmluZEdsdGZJY29uRnVsbFVybFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dhZGdldF9zZWVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcImZpbmRHbHRmSWNvbkZ1bGxVcmxcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJyZW5kZXJHYWRnZXRJY29uXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwicmVuZGVyR2FkZ2V0SWNvblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R2FkZ2V0U2VlZFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dhZGdldF9zZWVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIkF2R2FkZ2V0U2VlZFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dyYWJfYnV0dG9uX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dyYWJfYnV0dG9uICovIFxcXCIuL3NyYy9hYXJkdmFya19ncmFiX2J1dHRvbi50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R3JhYkJ1dHRvblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dyYWJfYnV0dG9uX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2R3JhYkJ1dHRvblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2SGVhZEZhY2luZ1RyYW5zZm9ybVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkhpZ2hsaWdodFRyYW5zbWl0dGVyc1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIkF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfbGluZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfbGluZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbGluZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2TGluZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2xpbmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIkF2TGluZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdk1vZGVsXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfbW9kZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19bXFxcIkF2TW9kZWxcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF90cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX21vZGVsX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWxfdHJhbnNmb3JtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZNb2RlbFRyYW5zZm9ybVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX21vZGVsX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX1tcXFwiQXZNb2RlbFRyYW5zZm9ybVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX21lbnVfaXRlbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfbWVudV9pdGVtICovIFxcXCIuL3NyYy9hYXJkdmFya19tZW51X2l0ZW0udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX01lbnVJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19tZW51X2l0ZW1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19bXFxcImtfTWVudUludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk1lbnVFdmVudFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19tZW51X2l0ZW1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19bXFxcIk1lbnVFdmVudFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdk1lbnVJdGVtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfbWVudV9pdGVtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNV9fW1xcXCJBdk1lbnVJdGVtXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfb3JpZ2luX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19vcmlnaW4gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX29yaWdpbi50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2T3JpZ2luXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfb3JpZ2luX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNl9fW1xcXCJBdk9yaWdpblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3BhbmVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19wYW5lbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcGFuZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJQYW5lbFJlcXVlc3RUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcGFuZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE3X19bXFxcIlBhbmVsUmVxdWVzdFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdlBhbmVsXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcGFuZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE3X19bXFxcIkF2UGFuZWxcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19wYW5lbGFuY2hvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMThfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcGFuZWxhbmNob3IgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3BhbmVsYW5jaG9yLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZQYW5lbEFuY2hvclxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3BhbmVsYW5jaG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xOF9fW1xcXCJBdlBhbmVsQW5jaG9yXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2UGFyZW50VHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTlfX1tcXFwiQXZQYXJlbnRUcmFuc2Zvcm1cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19wcmltaXRpdmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIwX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX3ByaW1pdGl2ZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcHJpbWl0aXZlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlVHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3ByaW1pdGl2ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjBfX1tcXFwiUHJpbWl0aXZlVHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlByaW1pdGl2ZVlPcmlnaW5cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19wcmltaXRpdmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIwX19bXFxcIlByaW1pdGl2ZVlPcmlnaW5cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJQcmltaXRpdmVYT3JpZ2luXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcHJpbWl0aXZlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMF9fW1xcXCJQcmltaXRpdmVYT3JpZ2luXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWk9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3ByaW1pdGl2ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjBfX1tcXFwiUHJpbWl0aXZlWk9yaWdpblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2UHJpbWl0aXZlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcHJpbWl0aXZlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMF9fW1xcXCJBdlByaW1pdGl2ZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3JlbmRlcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcmVuZGVyICovIFxcXCIuL3NyYy9hYXJkdmFya19yZW5kZXIudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJyZW5kZXJBYXJkdmFya1Jvb3RcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19yZW5kZXJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIxX19bXFxcInJlbmRlckFhcmR2YXJrUm9vdFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3N0YW5kYXJkX2dyYWJiYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlICovIFxcXCIuL3NyYy9hYXJkdmFya19zdGFuZGFyZF9ncmFiYmFibGUudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJIaWdobGlnaHRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMl9fW1xcXCJIaWdobGlnaHRUeXBlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiU2hvd0dyYWJiYWJsZUNoaWxkcmVuXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMl9fW1xcXCJTaG93R3JhYmJhYmxlQ2hpbGRyZW5cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJIaWRkZW5DaGlsZHJlbkJlaGF2aW9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMl9fW1xcXCJIaWRkZW5DaGlsZHJlbkJlaGF2aW9yXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiR3JhYmJhYmxlU3R5bGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19zdGFuZGFyZF9ncmFiYmFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIyX19bXFxcIkdyYWJiYWJsZVN0eWxlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZTdGFuZGFyZEdyYWJiYWJsZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3N0YW5kYXJkX2dyYWJiYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjJfX1tcXFwiQXZTdGFuZGFyZEdyYWJiYWJsZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdlRyYW5zZm9ybVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjNfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdXRpbHMgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3V0aWxzLnRzXFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJhc3NlcnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwiYXNzZXJ0XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUXVhdGVybmlvblRvRXVsZXJBbmdsZXNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwiUXVhdGVybmlvblRvRXVsZXJBbmdsZXNcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwicXVhdEZyb21BeGlzQW5nbGVSYWRpYW5zXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiRXVsZXJBbmdsZXNUb1F1YXRlcm5pb25cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwiRXVsZXJBbmdsZXNUb1F1YXRlcm5pb25cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJSYWRpYW5zVG9EZWdyZWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfdXRpbHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI0X19bXFxcIlJhZGlhbnNUb0RlZ3JlZXNcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWdyZWVzVG9SYWRpYW5zXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfdXRpbHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI0X19bXFxcIkRlZ3JlZXNUb1JhZGlhbnNcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXBpX2dhZGdldGxpc3QgKi8gXFxcIi4vc3JjL2FwaV9nYWRnZXRsaXN0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwia19HYWRnZXRMaXN0SW50ZXJmYWNlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI1X19bXFxcImtfR2FkZ2V0TGlzdEludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdhZGdldExpc3RFdmVudFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjVfX1tcXFwiR2FkZ2V0TGlzdEV2ZW50VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjVfX1tcXFwiR2FkZ2V0TGlzdFJlc3VsdFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R2FkZ2V0TGlzdFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yNV9fW1xcXCJBdkdhZGdldExpc3RcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hcGlfaW50ZXJmYWNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfaW50ZXJmYWNlICovIFxcXCIuL3NyYy9hcGlfaW50ZXJmYWNlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZBcGlJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfaW50ZXJmYWNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yNl9fW1xcXCJBdkFwaUludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9tZXNzYWdlYm94X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfbWVzc2FnZWJveCAqLyBcXFwiLi9zcmMvYXBpX21lc3NhZ2Vib3gudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX01lc3NhZ2Vib3hJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfbWVzc2FnZWJveF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjdfX1tcXFwia19NZXNzYWdlYm94SW50ZXJmYWNlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTWVzc2FnZWJveEV2ZW50VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FwaV9tZXNzYWdlYm94X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yN19fW1xcXCJNZXNzYWdlYm94RXZlbnRUeXBlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZNZXNzYWdlYm94XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYXBpX21lc3NhZ2Vib3hfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI3X19bXFxcIkF2TWVzc2FnZWJveFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjhfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tcG9uZW50X21vdmVhYmxlICovIFxcXCIuL3NyYy9jb21wb25lbnRfbW92ZWFibGUudHNcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI4X19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDb250YWluZXJSZXF1ZXN0VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjhfX1tcXFwiQ29udGFpbmVyUmVxdWVzdFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHcmFiUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI4X19bXFxcIkdyYWJSZXF1ZXN0VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdyYWJQb3NlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOF9fW1xcXCJHcmFiUG9zZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk1vdmVhYmxlQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOF9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldCAqLyBcXFwiLi9zcmMvY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI5X19bXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOV9fW1xcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtlZEdhZGdldENvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOV9fW1xcXCJOZXR3b3JrZWRHYWRnZXRDb21wb25lbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJOZXR3b3JrZWRJdGVtQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI5X19bXFxcIk5ldHdvcmtlZEl0ZW1Db21wb25lbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tcG9uZW50X3JlbW90ZV9nYWRnZXQgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzMwX19bXFxcIlJlbW90ZUdhZGdldEV2ZW50VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMF9fW1xcXCJSZW1vdGVHYWRnZXRDb21wb25lbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMF9fW1xcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUl0ZW1Db21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzBfX1tcXFwiUmVtb3RlSXRlbUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9zaW1wbGVfY29udGFpbmVyX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfc2ltcGxlX2NvbnRhaW5lciAqLyBcXFwiLi9zcmMvY29tcG9uZW50X3NpbXBsZV9jb250YWluZXIudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDb250YWluZXJJdGVtU3RhdGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfc2ltcGxlX2NvbnRhaW5lcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzFfX1tcXFwiQ29udGFpbmVySXRlbVN0YXRlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiU2ltcGxlQ29udGFpbmVyQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X3NpbXBsZV9jb250YWluZXJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzMxX19bXFxcIlNpbXBsZUNvbnRhaW5lckNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2RlZmF1bHRfbGFuZGluZ19wYWdlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZWZhdWx0X2xhbmRpbmdfcGFnZSAqLyBcXFwiLi9zcmMvZGVmYXVsdF9sYW5kaW5nX3BhZ2UudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWZhdWx0TGFuZGluZ1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2RlZmF1bHRfbGFuZGluZ19wYWdlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMl9fW1xcXCJEZWZhdWx0TGFuZGluZ1xcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2dhZGdldF9lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZ2FkZ2V0X2VuZHBvaW50ICovIFxcXCIuL3NyYy9nYWRnZXRfZW5kcG9pbnQudHNcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNHYWRnZXRFbmRwb2ludFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2dhZGdldF9lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzNfX1tcXFwiQ0dhZGdldEVuZHBvaW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbmV0d29ya191bml2ZXJzZSAqLyBcXFwiLi9zcmMvbmV0d29ya191bml2ZXJzZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzM0X19bXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzM0X19bXFxcIk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3JlbmRlcmVyX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9yZW5kZXJlcl9lbmRwb2ludCAqLyBcXFwiLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHNcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNSZW5kZXJlckVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfcmVuZGVyZXJfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzM1X19bXFxcIkNSZW5kZXJlckVuZHBvaW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfcmVtb3RlX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9yZW1vdGVfdW5pdmVyc2UgKi8gXFxcIi4vc3JjL3JlbW90ZV91bml2ZXJzZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZVVuaXZlcnNlQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfcmVtb3RlX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zNl9fW1xcXCJSZW1vdGVVbml2ZXJzZUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OXBibVJsZUM1MGN6OW1abUkwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVhGRE8wRkJRMDA3UVVGRFJEdEJRVU5PTzBGQlExRTdRVUZEU2p0QlFVTk9PMEZCUTBzN1FVRkRRVHRCUVVOQk8wRkJRMVU3UVVGRFF6dEJRVU5zUWp0QlFVTkRPMEZCUTFVN1FVRkRUanRCUVVOSU8wRkJRMFE3UVVGRFRUdEJRVU5MTzBGQlExQTdRVUZEU0R0QlFVTlpPMEZCUTFRN1FVRkRTanRCUVVOQk8wRkJRMFE3UVVGRFF6dEJRVU5KTzBGQlExRTdRVUZEU0R0QlFVTkhPMEZCUTA0N1FVRkRURHRCUVVORE8wRkJRME03UVVGRFJpSXNJbVpwYkdVaU9pSXVMM055WXk5cGJtUmxlQzUwY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZbUZ6WlY5dWIyUmxKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5amIyMXdiM05sWkY5bGJuUnBkSGtuTzF4eVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyUnliM0JmYVc1a2FXTmhkRzl5Snp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOWxibVJ3YjJsdWRDYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYVc1MFpYSm1ZV05sWDJWdWRHbDBlU2M3WEhKY2JtVjRjRzl5ZENBcUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNTBhWFI1WDJOb2FXeGtKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFFuTzF4eVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZEY5cGJtWnZKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFJmYzJWbFpDYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWjNKaFlsOWlkWFIwYjI0bk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYMmhsWVdSZlptRmphVzVuWDNSeVlXNXpabTl5YlNjN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZhR2xuYUd4cFoyaDBYM1J5WVc1emJXbDBkR1Z5Y3ljN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiR2x1WlNjN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiVzlrWld3bk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYMjF2WkdWc1gzUnlZVzV6Wm05eWJTYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYldWdWRWOXBkR1Z0Snp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOXZjbWxuYVc0bk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYM0JoYm1Wc0p6dGNjbHh1Wlhod2IzSjBJQ29nWm5KdmJTQW5MaTloWVhKa2RtRnlhMTl3WVc1bGJHRnVZMmh2Y2ljN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZjR0Z5Wlc1MFgzUnlZVzV6Wm05eWJTYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0hKcGJXbDBhWFpsSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOXlaVzVrWlhJbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYM04wWVc1a1lYSmtYMmR5WVdKaVlXSnNaU2M3WEhKY2JtVjRjRzl5ZENBcUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmRISmhibk5tYjNKdEp6dGNjbHh1Wlhod2IzSjBJQ29nWm5KdmJTQW5MaTloWVhKa2RtRnlhMTkxZEdsc2N5YzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVhCcFgyZGhaR2RsZEd4cGMzUW5PMXh5WEc1bGVIQnZjblFnS2lCbWNtOXRJQ2N1TDJGd2FWOXBiblJsY21aaFkyVW5PMXh5WEc1bGVIQnZjblFnS2lCbWNtOXRJQ2N1TDJGd2FWOXRaWE56WVdkbFltOTRKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5amIyMXdiMjVsYm5SZmJXOTJaV0ZpYkdVbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMk52YlhCdmJtVnVkRjl1WlhSM2IzSnJaV1JmWjJGa1oyVjBKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5amIyMXdiMjVsYm5SZmNtVnRiM1JsWDJkaFpHZGxkQ2M3WEhKY2JtVjRjRzl5ZENBcUlHWnliMjBnSnk0dlkyOXRjRzl1Wlc1MFgzTnBiWEJzWlY5amIyNTBZV2x1WlhJbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMlJsWm1GMWJIUmZiR0Z1WkdsdVoxOXdZV2RsSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOW5ZV1JuWlhSZlpXNWtjRzlwYm5Rbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMjVsZEhkdmNtdGZkVzVwZG1WeWMyVW5PMXh5WEc1bGVIQnZjblFnS2lCbWNtOXRJQ2N1TDNKbGJtUmxjbVZ5WDJWdVpIQnZhVzUwSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOXlaVzF2ZEdWZmRXNXBkbVZ5YzJVbk8xeHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2luZGV4LnRzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9uZXR3b3JrX3VuaXZlcnNlLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9uZXR3b3JrX3VuaXZlcnNlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUsIE5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTmV0d29ya1VuaXZlcnNlQ29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldCAqLyBcXFwiLi9zcmMvY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbnRpdHlfY2hpbGRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW50aXR5X2NoaWxkICovIFxcXCIuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG52YXIgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlO1xcclxcbihmdW5jdGlvbiAoTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlKSB7XFxyXFxuICAgIC8qKiBTZW50IHdoZW4gdGhlIHJlbW90ZSB1bml2ZXJzZSBzaG91bGQgc3RhcnQgYSBnYWRnZXQgb24gYmVoYWxmIG9mIHRoZSB0aGUgbmV0d29yayB1bml2ZXJzZS4gKi9cXHJcXG4gICAgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlW1xcXCJDcmVhdGVSZW1vdGVHYWRnZXRcXFwiXSA9IFxcXCJjcmVhdGVfcmVtb3RlX2dhZGdldFxcXCI7XFxyXFxuICAgIC8qKiBTZW50IHdoZW4gdGhlIHJlbW90ZSB1bml2ZXJzZSBzaG91bGQgZGVzdHJveSBhIGdhZGdldCBvbiBiZWhhbGYgb2YgdGhlIG5ldHdvcmsgdW5pdmVyc2UuICovXFxyXFxuICAgIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVtcXFwiRGVzdHJveVJlbW90ZUdhZGdldFxcXCJdID0gXFxcImRlc3RveV9yZW1vdGVfZ2FkZ2V0XFxcIjtcXHJcXG4gICAgLyoqIFNlbnQgd2hlbiB0aGUgcmVtb3RlIHVuaXZlcnNlIHNob3VsZCB1cGRhdGUgYSByZW1vdGUgZ2FkZ2V0J3MgdHJhbnNmb3JtIHJlbGF0aXZlIHRvIHRoZSB1bml2ZXJzZS4gKi9cXHJcXG4gICAgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlW1xcXCJVcGRhdGVSZW1vdGVHYWRnZXRUcmFuc2Zvcm1cXFwiXSA9IFxcXCJ1cGRhdGVfcmVtb3RlX2dhZGdldF90cmFuc2Zvcm1cXFwiO1xcclxcbiAgICAvKiogU2VudCB3aGVuIHRoZSBuZXR3b3JrIHVuaXZlcnNlIGlzIGNvbnZleWluZyBhbiBldmVudCBmcm9tIGEgbmV0d29ya2VkIGdhZGdldCB0byBhIHJlbW90ZSBnYWRnZXQuICovXFxyXFxuICAgIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVtcXFwiQnJvYWRjYXN0UmVtb3RlR2FkZ2V0RXZlbnRcXFwiXSA9IFxcXCJicm9hZGNhc3RfcmVtb3RlX2dhZGdldF9ldmVudFxcXCI7XFxyXFxuICAgIC8qKiBTZW50IHdoZW4gYSByZW1vdGUgdW5pdmVyc2UgaXMgaXMgY29udmV5aW5nIGFuIGV2ZW4gZnJvbSBhIHJlbW90ZSBnYWRnZXQgdG8gdGhlIG5ldHdvcmtlZCBnYWRnZXQuICovXFxyXFxuICAgIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVtcXFwiU2VuZE1hc3RlckdhZGdldEV2ZW50XFxcIl0gPSBcXFwic2VuZF9tYXN0ZXJfZ2FkZ2V0X2V2ZW50XFxcIjtcXHJcXG4gICAgLyoqIFNlbnQgd2hlbiBhbiBpdGVtIGluIGEgcmVtb3RlIGdhZGdldCBpcyBiZWluZyBtb3ZlZCBhcm91bmQgYW5kIHdhbnRzIHRvIG92ZXJyaWRlIHRoZSB0cmFuc2Zvcm1cXHJcXG4gICAgICogb2YgdGhlIHNvdXJjZSBnYWRnZXQncyBpdGVtLlxcclxcbiAgICAqL1xcclxcbiAgICBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVbXFxcIlVwZGF0ZU5ldHdvcmtJdGVtVHJhbnNmb3JtXFxcIl0gPSBcXFwidXBkYXRlX25ldHdvcmtfaXRlbV90cmFuc2Zvcm1cXFwiO1xcclxcbiAgICAvKiogU3RhcnRzIGEgZ3JhYiBmcm9tIHRoZSByZW1vdGUgc2lkZS4gTG9jYWwgc2lkZSBzaG91bGQgc3RvcCBiZWluZyBncmFiYmFibGUgYW5kIHN0YXJ0IG9iZXlpbmdcXHJcXG4gICAgICogcmVtb3RlIHRyYW5zZm9ybSB1cGRhdGVzLlxcclxcbiAgICAgKi9cXHJcXG4gICAgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlW1xcXCJTdGFydEl0ZW1HcmFiXFxcIl0gPSBcXFwic3RhcnRfaXRlbV9ncmFiXFxcIjtcXHJcXG4gICAgLyoqIEVuZHMgYSBncmFiIGZyb20gdGhlIHJlbW90ZSBzaWRlLiBMb2NhbCBzaWRlIHNob3VsZCBzdGFydCBiZWluZyBncmFiYmFibGUgYW5kIHN0b3Agb2JleWluZ1xcclxcbiAgICAgKiByZW1vdGUgdHJhbnNmb3JtIHVwZGF0ZXMuXFxyXFxuICAgICAqL1xcclxcbiAgICBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVbXFxcIkVuZEl0ZW1HcmFiXFxcIl0gPSBcXFwiZW5kX2l0ZW1fZ3JhYlxcXCI7XFxyXFxufSkoTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlIHx8IChOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUgPSB7fSkpO1xcclxcbnZhciBOZXR3b3JrZWRHcmFiU3RhdGU7XFxyXFxuKGZ1bmN0aW9uIChOZXR3b3JrZWRHcmFiU3RhdGUpIHtcXHJcXG4gICAgTmV0d29ya2VkR3JhYlN0YXRlW05ldHdvcmtlZEdyYWJTdGF0ZVtcXFwiTm9uZVxcXCJdID0gMF0gPSBcXFwiTm9uZVxcXCI7XFxyXFxuICAgIE5ldHdvcmtlZEdyYWJTdGF0ZVtOZXR3b3JrZWRHcmFiU3RhdGVbXFxcIlJlbW90ZVxcXCJdID0gMV0gPSBcXFwiUmVtb3RlXFxcIjtcXHJcXG4gICAgTmV0d29ya2VkR3JhYlN0YXRlW05ldHdvcmtlZEdyYWJTdGF0ZVtcXFwiUmVtb3RlRHJvcHBpbmdcXFwiXSA9IDJdID0gXFxcIlJlbW90ZURyb3BwaW5nXFxcIjtcXHJcXG4gICAgTmV0d29ya2VkR3JhYlN0YXRlW05ldHdvcmtlZEdyYWJTdGF0ZVtcXFwiTG9jYWxcXFwiXSA9IDNdID0gXFxcIkxvY2FsXFxcIjtcXHJcXG59KShOZXR3b3JrZWRHcmFiU3RhdGUgfHwgKE5ldHdvcmtlZEdyYWJTdGF0ZSA9IHt9KSk7XFxyXFxuLyoqIEEgbmV0d29yayB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQXZDb21wb3NlZENvbXBvbmVudC4gVGhlIGFyZ3VtZW50cyBiZWxvdyBhcmUgZm9yIHRoZVxcclxcbiAqIHByb3ZpZGVkIGNhbGxiYWNrIGZ1bmN0aW9uLlxcclxcbiAqXFxyXFxuICogQHBhcmFtIGV2ZW50XFx0XFx0QW4gb2JqZWN0LCBvcGFxdWUgdG8gdGhlIHJvb20gaXRzZWxmLCB0aGF0IGFsbG93cyB0aGUgbmV0d29yayB1bml2ZXJzZSB0b1xcclxcbiAqIFxcdFxcdFxcdFxcdFxcdGNvbW11bmljYXRlIHdpdGggaXRzIHJlbW90ZSBwZWVycy5cXHJcXG4gKiBAcGFyYW0gcmVsaWFibGVcXHRJZiB0aGlzIGFyZ3VtZW50IGlzIHRydWUsIHRoZSByb29tIG11c3QgZGVsaXZlciB0aGUgbWVzc2FnZSB0byBldmVyeSByZW1vdGVcXHJcXG4gKiBcXHRcXHRcXHRcXHRcXHR1bml2ZXJzZSBvciB0aGF0IHVuaXZlcnNlIHdpbGwgYmUgb3V0IG9mIHN5bmNoIHdpdGggdGhlIG5ldHdvcmsgdW5pdmVyc2UuXFxyXFxuICovXFxyXFxuY2xhc3MgTmV0d29ya1VuaXZlcnNlQ29tcG9uZW50IHtcXHJcXG4gICAgY29uc3RydWN0b3IobmV0d29ya0V2ZW50Q2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5RW5kcG9pbnRJZCA9IG5ldyBNYXAoKTtcXHJcXG4gICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQgPSBuZXcgTWFwKCk7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubmV0d29ya0V2ZW50Q2FsbGJhY2sgPSBuZXR3b3JrRXZlbnRDYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIG9uTmV0d29ya0ludGVyZmFjZShhY3RpdmVOZXR3b3JrZWRHYWRnZXQpIHtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlFbmRwb2ludElkLmdldChhY3RpdmVOZXR3b3JrZWRHYWRnZXQucGVlci5lbmRwb2ludElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgIGdhZGdldEluZm8gPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZmFjZTogYWN0aXZlTmV0d29ya2VkR2FkZ2V0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IG5ldyBNYXAoKSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB0aGlzLm5ldHdvcmtlZEdhZGdldHNCeUVuZHBvaW50SWQuc2V0KGFjdGl2ZU5ldHdvcmtlZEdhZGdldC5wZWVyLmVuZHBvaW50SWQsIGdhZGdldEluZm8pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGl0ZW1JbmZvO1xcclxcbiAgICAgICAgYWN0aXZlTmV0d29ya2VkR2FkZ2V0Lm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiXS5TZXRHYWRnZXRJbmZvOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZXRJbmZvID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVuaXZlcnNlRnJvbUdhZGdldCA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibWluaW1hbFBvc2VGcm9tVHJhbnNmb3JtXFxcIl0pKGFjdGl2ZU5ldHdvcmtlZEdhZGdldC5zZWxmRnJvbVBlZXIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvbWUgc3R1ZmYgd2UganVzdCBhbHdheXMgdXBkYXRlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZ2V0SW5mby5yZW1vdGVMb2NrcyA9IHNldEluZm8ubG9ja3M7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZ2V0SW5mby51cmwgPSBzZXRJbmZvLnVybDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSBoYXZlbid0IHNlZW4gYSBnYWRnZXQgaW5mbyBmb3IgdGhpcyBnYWRnZXQgeWV0LCBhc3NpZ24gaXQgYW4gSUQgYW5kIHRlbGxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdGUgdW5pdmVyc2VzIHRvIHNwYXduIGl0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQgPSBOZXR3b3JrVW5pdmVyc2VDb21wb25lbnQubmV4dFJlbW90ZUdhZGdldElkKys7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuc2V0KGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsIGdhZGdldEluZm8pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3JlYXRlRXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUuQ3JlYXRlUmVtb3RlR2FkZ2V0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWRnZXRJbmZvOiB0aGlzLm5ldHdvcmtlZEdhZGdldEluZm9Gcm9tSW50ZXJuYWwoZ2FkZ2V0SW5mbyksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya0V2ZW50Q2FsbGJhY2soY3JlYXRlRXZlbnQsIHRydWUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlXFxcIl0uU2V0SXRlbUluZm86XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNldEluZm8gPSBldmVudDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNldEluZm8uaXRlbUlkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJJZ25vcmluZyBmYWxzeSBpdGVtIElEXFxcIiwgc2V0SW5mby5pdGVtSWQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpdGVtSW5mbykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSW5mbyA9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZhY2U6IGFjdGl2ZU5ldHdvcmtlZEdhZGdldCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWQ6IHNldEluZm8uaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYWJTdGF0ZTogTmV0d29ya2VkR3JhYlN0YXRlLk5vbmUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLnNldChzZXRJbmZvLml0ZW1JZCwgaXRlbUluZm8pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlbW90ZVRyYW5zZm9ybShhY3RpdmVOZXR3b3JrZWRHYWRnZXQuc2VsZkZyb21QZWVyLCBnYWRnZXRJbmZvLCBpdGVtSW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiTmV0d29ya0dhZGdldEV2ZW50VHlwZVxcXCJdLlNlbmRFdmVudFRvQWxsUmVtb3RlczpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2VuZEV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdhZGdldEluZm8pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ldEV2ZW50ID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlLkJyb2FkY2FzdFJlbW90ZUdhZGdldEV2ZW50LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JbmZvID09PSBudWxsIHx8IGl0ZW1JbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpdGVtSW5mby5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogc2VuZEV2ZW50LmV2ZW50LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5ldHdvcmtFdmVudENhbGxiYWNrKG5ldEV2ZW50LCBzZW5kRXZlbnQucmVsaWFibGUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlXFxcIl0uRHJvcENvbXBsZXRlOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbURyb3BDb21wbGV0ZShnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkLCBpdGVtSW5mby5pdGVtSWQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVOZXR3b3JrZWRHYWRnZXQub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgaWYgKGl0ZW1JbmZvKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMganVzdCBhbiBpdGVtIGluIHRoZSBnYWRnZXRcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSBpZiAoZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIHRoZSBnYWRnZXQgaXRzZWxmXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5RW5kcG9pbnRJZC5kZWxldGUoYWN0aXZlTmV0d29ya2VkR2FkZ2V0LnBlZXIuZW5kcG9pbnRJZCk7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ldHdvcmtlZEdhZGdldHNCeVJlbW90ZUlkLmRlbGV0ZShnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya0V2ZW50Q2FsbGJhY2soe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5EZXN0cm95UmVtb3RlR2FkZ2V0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZUdhZGdldElkOiBnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSwgdHJ1ZSk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRoaXMgaW50ZXJmYWNlIG5ldmVyIGlkZW50aWZpZWQgaXRzZWxmIGFzIGVpdGhlciBhbiBpdGVtIG9yIGEgZ2FkZ2V0XFxyXFxuICAgICAgICAgICAgICAgIC8vIGlmIGl0J3MgdGhlIG9ubHkgcmVmZXJlbmNlIHdlIGhhdmUgdG8gdGhlIGVuZHBvaW50IElkLCBjbGVhbiB0aGF0IHVwXFxyXFxuICAgICAgICAgICAgICAgIGlmIChnYWRnZXRJbmZvLml0ZW1zLnNpemUgPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlFbmRwb2ludElkLmRlbGV0ZShhY3RpdmVOZXR3b3JrZWRHYWRnZXQucGVlci5lbmRwb2ludElkKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlTmV0d29ya2VkR2FkZ2V0Lm9uVHJhbnNmb3JtVXBkYXRlZCgoZW50aXR5RnJvbVBlZXIpID0+IHtcXHJcXG4gICAgICAgICAgICBpZiAoZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlbW90ZVRyYW5zZm9ybShlbnRpdHlGcm9tUGVlciwgZ2FkZ2V0SW5mbywgaXRlbUluZm8pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZVJlbW90ZVRyYW5zZm9ybShlbnRpdHlGcm9tUGVlciwgZ2FkZ2V0SW5mbywgaXRlbUluZm8pIHtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZClcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBsZXQgdW5pdmVyc2VGcm9tR2FkZ2V0ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtaW5pbWFsUG9zZUZyb21UcmFuc2Zvcm1cXFwiXSkoZW50aXR5RnJvbVBlZXIpO1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrRXZlbnRDYWxsYmFjayh7XFxyXFxuICAgICAgICAgICAgdHlwZTogTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlLlVwZGF0ZVJlbW90ZUdhZGdldFRyYW5zZm9ybSxcXHJcXG4gICAgICAgICAgICByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JbmZvID09PSBudWxsIHx8IGl0ZW1JbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpdGVtSW5mby5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgdW5pdmVyc2VGcm9tR2FkZ2V0LFxcclxcbiAgICAgICAgfSwgZmFsc2UpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbeyBpZmFjZTogX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIk5ldHdvcmtlZEdhZGdldENvbXBvbmVudFxcXCJdLmludGVyZmFjZU5hbWUsIHByb2Nlc3NvcjogdGhpcy5vbk5ldHdvcmtJbnRlcmZhY2UgfV07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbW90ZUV2ZW50KGV2ZW50KSB7XFxyXFxuICAgICAgICBsZXQgZSA9IGV2ZW50O1xcclxcbiAgICAgICAgc3dpdGNoIChlLnR5cGUpIHtcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5TZW5kTWFzdGVyR2FkZ2V0RXZlbnQ6XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubWFzdGVyRXZlbnQoZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUuZXZlbnQpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5VcGRhdGVOZXR3b3JrSXRlbVRyYW5zZm9ybTpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZXR3b3JrSXRlbVRyYW5zZm9ybShlLnJlbW90ZUdhZGdldElkLCBlLml0ZW1JZCwgZS51bml2ZXJzZUZyb21HYWRnZXQpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5TdGFydEl0ZW1HcmFiOlxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0SXRlbUdyYWIoZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUudW5pdmVyc2VGcm9tR2FkZ2V0KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUuRW5kSXRlbUdyYWI6XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuZW5kSXRlbUdyYWIoZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUudW5pdmVyc2VGcm9tR2FkZ2V0KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgbWFzdGVyRXZlbnQocmVtb3RlR2FkZ2V0SWQsIGl0ZW1JZCwgZXZlbnQpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJSZWNlaXZlZCBtYXN0ZXIgZXZlbnQgZm9yIHVua25vd24gcmVtb3RlIGdhZGdldCBcXFwiLCByZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IHNlbmRFdmVudCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiTmV0d29ya0dhZGdldEV2ZW50VHlwZVxcXCJdLlJlY2VpdmVFdmVudEZyb21SZW1vdGUsXFxyXFxuICAgICAgICAgICAgZXZlbnQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgaWYgKGl0ZW1JZCkge1xcclxcbiAgICAgICAgICAgIGxldCBpdGVtSW5mbyA9IGdhZGdldEluZm8uaXRlbXMuZ2V0KGl0ZW1JZCk7XFxyXFxuICAgICAgICAgICAgKF9hID0gaXRlbUluZm8gPT09IG51bGwgfHwgaXRlbUluZm8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGl0ZW1JbmZvLmlmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KHNlbmRFdmVudCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAoX2IgPSBnYWRnZXRJbmZvID09PSBudWxsIHx8IGdhZGdldEluZm8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdhZGdldEluZm8uaWZhY2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5zZW5kRXZlbnQoc2VuZEV2ZW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICB1cGRhdGVOZXR3b3JrSXRlbVRyYW5zZm9ybShyZW1vdGVHYWRnZXRJZCwgaXRlbUlkLCB1bml2ZXJzZUZyb21JdGVtKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm8gPSBnYWRnZXRJbmZvLml0ZW1zLmdldChpdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBpdGVtSW5mby5yZW1vdGVVbml2ZXJzZUZyb21JdGVtID0gdW5pdmVyc2VGcm9tSXRlbTtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuZW50aXR5Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICB9XFxyXFxuICAgIHN0YXJ0SXRlbUdyYWIocmVtb3RlR2FkZ2V0SWQsIGl0ZW1JZCwgdW5pdmVyc2VGcm9tSXRlbSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLm5ldHdvcmtlZEdhZGdldHNCeVJlbW90ZUlkLmdldChyZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBpZiAoIWdhZGdldEluZm8pXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgbGV0IGl0ZW1JbmZvID0gZ2FkZ2V0SW5mby5pdGVtcy5nZXQoaXRlbUlkKTtcXHJcXG4gICAgICAgIGlmICghaXRlbUluZm8pXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgaXRlbUluZm8ucmVtb3RlVW5pdmVyc2VGcm9tSXRlbSA9IHVuaXZlcnNlRnJvbUl0ZW07XFxyXFxuICAgICAgICBpdGVtSW5mby5ncmFiU3RhdGUgPSBOZXR3b3JrZWRHcmFiU3RhdGUuUmVtb3RlO1xcclxcbiAgICAgICAgdGhpcy5zZW5kSXRlbVRyYW5zZm9ybVN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvLCBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiTmV0d29ya0l0ZW1UcmFuc2Zvcm1cXFwiXS5PdmVycmlkZSk7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBlbmRJdGVtR3JhYihyZW1vdGVHYWRnZXRJZCwgaXRlbUlkLCB1bml2ZXJzZUZyb21JdGVtKSB7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm8gPSBnYWRnZXRJbmZvLml0ZW1zLmdldChpdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBpdGVtSW5mby5ncmFiU3RhdGUgPSBOZXR3b3JrZWRHcmFiU3RhdGUuUmVtb3RlRHJvcHBpbmc7XFxyXFxuICAgICAgICB0aGlzLnNlbmRJdGVtVHJhbnNmb3JtU3RhdGUoZ2FkZ2V0SW5mbywgaXRlbUluZm8sIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCJdLkRyb3BwaW5nLCB1bml2ZXJzZUZyb21JdGVtKTtcXHJcXG4gICAgfVxcclxcbiAgICBpdGVtRHJvcENvbXBsZXRlKHJlbW90ZUdhZGdldElkLCBpdGVtSWQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlSZW1vdGVJZC5nZXQocmVtb3RlR2FkZ2V0SWQpO1xcclxcbiAgICAgICAgaWYgKCFnYWRnZXRJbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIGxldCBpdGVtSW5mbyA9IGdhZGdldEluZm8uaXRlbXMuZ2V0KGl0ZW1JZCk7XFxyXFxuICAgICAgICBpZiAoIWl0ZW1JbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIGl0ZW1JbmZvLnJlbW90ZVVuaXZlcnNlRnJvbUl0ZW0gPSBudWxsO1xcclxcbiAgICAgICAgaXRlbUluZm8uZ3JhYlN0YXRlID0gTmV0d29ya2VkR3JhYlN0YXRlLk5vbmU7XFxyXFxuICAgICAgICB0aGlzLnNlbmRJdGVtVHJhbnNmb3JtU3RhdGUoZ2FkZ2V0SW5mbywgaXRlbUluZm8sIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCJdLk5vcm1hbCk7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kSXRlbVRyYW5zZm9ybVN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvLCBuZXdTdGF0ZSwgdW5pdmVyc2VGcm9tSXRlbSkge1xcclxcbiAgICAgICAgbGV0IG0gPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiXS5TZXRUcmFuc2Zvcm1TdGF0ZSxcXHJcXG4gICAgICAgICAgICBuZXdTdGF0ZSxcXHJcXG4gICAgICAgICAgICB1bml2ZXJzZUZyb21JdGVtLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIGl0ZW1JbmZvLmlmYWNlLnNlbmRFdmVudChtKTtcXHJcXG4gICAgfVxcclxcbiAgICAvKiogVGhlIGluaXRpYWxpemF0aW9uIGluZm8gcGFja2V0IHRoYXQgdGhlIHJvb20gbmVlZHMgdG8gY29tbXVuaWNhdGUgdG9cXHJcXG4gICAgICogYW55IHJlbW90ZSB1bml2ZXJzZSBpdCBpcyBzdGFydGluZyB1cC5cXHJcXG4gICAgICovXFxyXFxuICAgIGdldCBpbml0SW5mbygpIHtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRzID0gW107XFxyXFxuICAgICAgICBmb3IgKGxldCBpbnRlcm5hbEluZm8gb2YgdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlSZW1vdGVJZC52YWx1ZXMoKSkge1xcclxcbiAgICAgICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5uZXR3b3JrZWRHYWRnZXRJbmZvRnJvbUludGVybmFsKGludGVybmFsSW5mbyk7XFxyXFxuICAgICAgICAgICAgZ2FkZ2V0cy5wdXNoKGdhZGdldEluZm8pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHsgZ2FkZ2V0cyB9O1xcclxcbiAgICB9XFxyXFxuICAgIG5ldHdvcmtlZEdhZGdldEluZm9Gcm9tSW50ZXJuYWwoaW50ZXJuYWxJbmZvKSB7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHtcXHJcXG4gICAgICAgICAgICB1cmw6IGludGVybmFsSW5mby51cmwsXFxyXFxuICAgICAgICAgICAgcmVtb3RlTG9ja3M6IGludGVybmFsSW5mby5yZW1vdGVMb2NrcyxcXHJcXG4gICAgICAgICAgICB1bml2ZXJzZUZyb21HYWRnZXQ6IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibWluaW1hbFBvc2VGcm9tVHJhbnNmb3JtXFxcIl0pKGludGVybmFsSW5mby5pZmFjZS5zZWxmRnJvbVBlZXIpLFxcclxcbiAgICAgICAgICAgIHJlbW90ZUdhZGdldElkOiBpbnRlcm5hbEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgaXRlbXM6IFtdLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVybmFsSXRlbSBvZiBpbnRlcm5hbEluZm8uaXRlbXMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICBpZiAoaW50ZXJuYWxJdGVtLml0ZW1JZCAmJiBpbnRlcm5hbEl0ZW0ucmVtb3RlVW5pdmVyc2VGcm9tSXRlbSkge1xcclxcbiAgICAgICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbUlkOiBpbnRlcm5hbEl0ZW0uaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlVW5pdmVyc2VGcm9tSXRlbTogaW50ZXJuYWxJdGVtLnJlbW90ZVVuaXZlcnNlRnJvbUl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBnYWRnZXRJbmZvO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCBjaGlsZFRyYW5zZm9ybXMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGdhZGdldEluZm8gb2YgdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlSZW1vdGVJZC52YWx1ZXMoKSkge1xcclxcbiAgICAgICAgICAgIGZvciAobGV0IGl0ZW1JbmZvIG9mIGdhZGdldEluZm8uaXRlbXMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1JbmZvLnJlbW90ZVVuaXZlcnNlRnJvbUl0ZW0gJiYgaXRlbUluZm8uaWZhY2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICYmIGl0ZW1JbmZvLmdyYWJTdGF0ZSA9PSBOZXR3b3JrZWRHcmFiU3RhdGUuUmVtb3RlKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQga2V5ID0gYCR7Z2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZH0vJHtpdGVtSW5mby5pdGVtSWR9YDtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNmb3Jtcy5wdXNoKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsga2V5OiBrZXksIHRyYW5zZm9ybTogaXRlbUluZm8ucmVtb3RlVW5pdmVyc2VGcm9tSXRlbSB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogaXRlbUluZm8uaWZhY2UucGVlciB9KSkpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJGcmFnbWVudFxcXCJdLCBudWxsLCBjaGlsZFRyYW5zZm9ybXMpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudC5uZXh0UmVtb3RlR2FkZ2V0SWQgPSAxO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBOZXR3b3JrVW5pdmVyc2VDb21wb25lbnQucHJvdG90eXBlLCBcXFwib25OZXR3b3JrSW50ZXJmYWNlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTl1WlhSM2IzSnJYM1Z1YVhabGNuTmxMblJ6ZUQ4Mk16ZzJJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096czdPenM3TzBGQlFYbEpPMEZCUTNaSE8wRkJSemhMTzBGQlEzaEtPMEZCUTB3N1FVRkRjRUk3UVVGSEwwSXNTVUZCV1N4M1FrRXJRbGc3UVVFdlFrUXNWMEZCV1N4M1FrRkJkMEk3U1VGRmJrTXNhVWRCUVdsSE8wbEJRMnBITEhWRlFVRXlRenRKUVVVelF5d3JSa0ZCSzBZN1NVRkRMMFlzZDBWQlFUUkRPMGxCUlRWRExIZEhRVUYzUnp0SlFVTjRSeXd3UmtGQk9FUTdTVUZGT1VRc2RVZEJRWFZITzBsQlEzWkhMSGRHUVVFMFJEdEpRVVUxUkN4M1IwRkJkMGM3U1VGRGVFY3NPRVZCUVd0RU8wbEJSV3hFT3p0TlFVVkZPMGxCUTBZc2QwWkJRVFJFTzBsQlJUVkVPenRQUVVWSE8wbEJRMGdzTmtSQlFXbERPMGxCUldwRE96dFBRVVZITzBsQlEwZ3NlVVJCUVRaQ08wRkJRemxDTEVOQlFVTXNSVUV2UWxjc2QwSkJRWGRDTEV0QlFYaENMSGRDUVVGM1FpeFJRU3RDYmtNN1FVRTJRa1FzU1VGQlN5eHJRa0ZOU2p0QlFVNUVMRmRCUVVzc2EwSkJRV3RDTzBsQlJYUkNMREpFUVVGSk8wbEJRMG9zSzBSQlFVMDdTVUZEVGl3clJVRkJZenRKUVVOa0xEWkVRVUZMTzBGQlEwNHNRMEZCUXl4RlFVNUpMR3RDUVVGclFpeExRVUZzUWl4clFrRkJhMElzVVVGTmRFSTdRVUY1UWtRN096czdPenM3UjBGUFJ6dEJRVU5KTEUxQlFVMHNkMEpCUVhkQ08wbEJVWEJETEZsQlFXRXNiMEpCUVd0Rk8xRkJUblpGTEdsRFFVRTBRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUY1UXl4RFFVRkRPMUZCUTJoR0xDdENRVUV3UWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGNVF5eERRVUZETzFGQlJ6bEZMRzFDUVVGakxFZEJRV1VzU1VGQlNTeERRVUZETzFGQlNYcERMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dEpRVU5zUkN4RFFVRkRPMGxCUlUwc1VVRkJVU3hEUVVGRkxGRkJRVzlDTzFGQlJYQkRMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzVVVGQlVTeERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkhUeXhyUWtGQmEwSXNRMEZCUlN4eFFrRkJjME03VVVGRmFrVXNTVUZCU1N4VlFVRlZMRWRCUTJJc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4RFFVRkRMRWRCUVVjc1EwRkJSU3h4UWtGQmNVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFTkJRVU03VVVGRGFFWXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkRaanRaUVVORExGVkJRVlU3WjBKQlExWTdiMEpCUTBNc1MwRkJTeXhGUVVGRkxIRkNRVUZ4UWp0dlFrRkROVUlzUzBGQlN5eEZRVUZGTEVsQlFVa3NSMEZCUnl4RlFVRnhRenRwUWtGRGJrUXNRMEZCUXp0WlFVTkdMRWxCUVVrc1EwRkJReXcwUWtGQk5FSXNRMEZCUXl4SFFVRkhMRU5CUVVVc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hWUVVGVkxFTkJRVVVzUTBGQlF6dFRRVU16Ump0UlFVVkVMRWxCUVVrc1VVRkJiVU1zUTBGQlF6dFJRVVY0UXl4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUlN4TFFVRjVRaXhGUVVGSExFVkJRVVU3V1VGRk9VUXNVVUZCVVN4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVOc1FqdG5Ra0ZEUXl4TFFVRkxMR3RHUVVGelFpeERRVUZETEdGQlFXRTdiMEpCUTNwRE8zZENRVU5ETEVsQlFVa3NUMEZCVHl4SFFVRkhMRXRCUVhsQ0xFTkJRVU03ZDBKQlEzaERMRWxCUVVrc2EwSkJRV3RDTEVkQlFVY3NORVpCUVhkQ0xFTkJRVVVzY1VKQlFYRkNMRU5CUVVNc1dVRkJXU3hEUVVGRkxFTkJRVU03ZDBKQlJYaEdMRzFEUVVGdFF6dDNRa0ZEYmtNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRPM2RDUVVOMlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU03ZDBKQlJUZENMR2xHUVVGcFJqdDNRa0ZEYWtZc0swSkJRU3RDTzNkQ1FVTXZRaXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNSVUZET1VJN05FSkJRME1zVlVGQlZTeERRVUZETEdOQlFXTXNSMEZCUnl4M1FrRkJkMElzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE96UkNRVU14UlN4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNSMEZCUnl4RFFVRkZMRlZCUVZVc1EwRkJReXhqUVVGakxFVkJRVVVzVlVGQlZTeERRVUZGTEVOQlFVTTdORUpCUlRkRkxFbEJRVWtzVjBGQlZ5eEhRVU5tTzJkRFFVTkRMRWxCUVVrc1JVRkJSU3gzUWtGQmQwSXNRMEZCUXl4clFrRkJhMEk3WjBOQlEycEVMR05CUVdNc1JVRkJSU3hWUVVGVkxFTkJRVU1zWTBGQll6dG5RMEZEZWtNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5d3JRa0ZCSzBJc1EwRkJSU3hWUVVGVkxFTkJRVVU3TmtKQlF6bEVMRU5CUVVNN05FSkJRMFlzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRkxGZEJRVmNzUlVGQlJTeEpRVUZKTEVOQlFVVXNRMEZCUXp0NVFrRkRMME03Y1VKQlEwUTdiMEpCUTBRc1RVRkJUVHRuUWtGRlRpeExRVUZMTEd0R1FVRnpRaXhEUVVGRExGZEJRVmM3YjBKQlEzWkRPM2RDUVVORExFbEJRVWtzVDBGQlR5eEhRVUZITEV0QlFYVkNMRU5CUVVNN2QwSkJSWFJETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVOdVFqczBRa0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxIZENRVUYzUWl4RlFVRkZMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVVVzUTBGQlF6czBRa0ZEZUVRc1RVRkJUVHQ1UWtGRFRqdDNRa0ZGUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVOaU96UkNRVU5ETEZGQlFWRTdaME5CUTFJN2IwTkJRME1zUzBGQlN5eEZRVUZGTEhGQ1FVRnhRanR2UTBGRE5VSXNUVUZCVFN4RlFVRkZMRTlCUVU4c1EwRkJReXhOUVVGTk8yOURRVU4wUWl4VFFVRlRMRVZCUVVVc2EwSkJRV3RDTEVOQlFVTXNTVUZCU1R0cFEwRkRiRU1zUTBGQlF6czBRa0ZGUml4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlJTeFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1EwRkJSU3hEUVVGRE8zbENRVU5xUkR0M1FrRkZSQ3hKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVVc2NVSkJRWEZDTEVOQlFVTXNXVUZCV1N4RlFVRkZMRlZCUVZVc1JVRkJSU3hSUVVGUkxFTkJRVVVzUTBGQlF6dHhRa0ZEZGtZN2IwSkJRMFFzVFVGQlRUdG5Ra0ZGVGl4TFFVRkxMR3RHUVVGelFpeERRVUZETEhGQ1FVRnhRanR2UWtGRGFrUTdkMEpCUTBNc1NVRkJTU3hUUVVGVExFZEJRVWNzUzBGQmNVSXNRMEZCUXp0M1FrRkRkRU1zU1VGQlNTeFZRVUZWTEVWQlEyUTdORUpCUTBNc1NVRkJTU3hSUVVGUkxFZEJRMW83WjBOQlEwTXNTVUZCU1N4RlFVRkZMSGRDUVVGM1FpeERRVUZETERCQ1FVRXdRanRuUTBGRGVrUXNZMEZCWXl4RlFVRkZMRlZCUVZVc1EwRkJReXhqUVVGak8yZERRVU42UXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hoUVVGU0xGRkJRVkVzZFVKQlFWSXNVVUZCVVN4RFFVRkZMRTFCUVUwN1owTkJRM2hDTEV0QlFVc3NSVUZCUlN4VFFVRlRMRU5CUVVNc1MwRkJTenMyUWtGRGRFSXNRMEZCUXpzMFFrRkRSaXhKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVVc1VVRkJVU3hGUVVGRkxGTkJRVk1zUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUXp0NVFrRkRNVVE3Y1VKQlEwUTdiMEpCUTBRc1RVRkJUVHRuUWtGRlRpeExRVUZMTEd0R1FVRnpRaXhEUVVGRExGbEJRVms3YjBKQlEzaERPM2RDUVVORExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJSU3hWUVVGVkxFTkJRVU1zWTBGQll5eEZRVUZGTEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVVc1EwRkJRenR4UWtGRGNFVTdiMEpCUTBRc1RVRkJUVHRoUVVOT08xRkJRMFlzUTBGQlF5eERRVUZGTEVOQlFVTTdVVUZGU2l4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTEVOQlFVVXNSMEZCUnl4RlFVRkZPMWxCUlc1RExFbEJRVWtzVVVGQlVTeEZRVU5hTzJkQ1FVTkRMSEZEUVVGeFF6dGhRVU55UXp0cFFrRkRTU3hKUVVGSkxGVkJRVlVzUTBGQlF5eGpRVUZqTEVWQlEyeERPMmRDUVVORExEUkNRVUUwUWp0blFrRkROVUlzU1VGQlNTeERRVUZETERSQ1FVRTBRaXhEUVVGRExFMUJRVTBzUTBGQlJTeHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZGTEVOQlFVTTdaMEpCUTJ4R0xFbEJRVWtzVlVGQlZTeERRVUZETEdOQlFXTXNSVUZETjBJN2IwSkJRME1zU1VGQlNTeERRVUZETERCQ1FVRXdRaXhEUVVGRExFMUJRVTBzUTBGQlJTeFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkZMRU5CUVVNN2IwSkJRM0JGTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGRGVFSTdkMEpCUTBNc1NVRkJTU3hGUVVGRkxIZENRVUYzUWl4RFFVRkRMRzFDUVVGdFFqdDNRa0ZEYkVRc1kwRkJZeXhGUVVGRkxGVkJRVlVzUTBGQlF5eGpRVUZqTzNGQ1FVTnFRaXhGUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzJsQ1FVTnVRenRoUVVORU8ybENRVVZFTzJkQ1FVTkRMSFZGUVVGMVJUdG5Ra0ZEZGtVc2RVVkJRWFZGTzJkQ1FVTjJSU3hKUVVGSkxGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1JVRkRPVUk3YjBKQlEwTXNTVUZCU1N4RFFVRkRMRFJDUVVFMFFpeERRVUZETEUxQlFVMHNRMEZCUlN4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkZMRU5CUVVNN2FVSkJRMnhHTzJGQlEwUTdVVUZEUml4RFFVRkRMRU5CUVVVc1EwRkJRenRSUVVWS0xIRkNRVUZ4UWl4RFFVRkRMR3RDUVVGclFpeERRVUZGTEVOQlFVVXNZMEZCSzBJc1JVRkJSeXhGUVVGRk8xbEJSUzlGTEVsQlFVa3NWVUZCVlN4RlFVTmtPMmRDUVVORExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJSU3hqUVVGakxFVkJRVVVzVlVGQlZTeEZRVUZGTEZGQlFWRXNRMEZCUlN4RFFVRkRPMkZCUTI1Rk8xRkJRMFlzUTBGQlF5eERRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlU4c2NVSkJRWEZDTEVOQlFVVXNZMEZCSzBJc1JVRkJSU3hWUVVGMVF5eEZRVU4wUnl4UlFVRnRRenRSUVVWdVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMR05CUVdNN1dVRkROMElzVDBGQlR6dFJRVVZTTEVsQlFVa3NhMEpCUVd0Q0xFZEJRVWNzTkVaQlFYZENMRU5CUVVVc1kwRkJZeXhEUVVGRkxFTkJRVU03VVVGRGNFVXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVU40UWp0WlFVTkRMRWxCUVVrc1JVRkJSU3gzUWtGQmQwSXNRMEZCUXl3eVFrRkJNa0k3V1VGRE1VUXNZMEZCWXl4RlFVRkZMRlZCUVZVc1EwRkJReXhqUVVGak8xbEJRM3BETEUxQlFVMHNSVUZCUlN4UlFVRlJMR0ZCUVZJc1VVRkJVU3gxUWtGQlVpeFJRVUZSTEVOQlFVVXNUVUZCVFR0WlFVTjRRaXhyUWtGQmEwSTdVMEZEVFN4RlFVRkZMRXRCUVVzc1EwRkJSU3hEUVVGRE8wbEJRM0pETEVOQlFVTTdTVUZGUkN4SlFVRlhMRkZCUVZFN1VVRkZiRUlzVDBGQlR5eERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRzlHUVVGM1FpeERRVUZETEdGQlFXRXNSVUZCUlN4VFFVRlRMRVZCUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMRU5CUVVVc1EwRkJRenRKUVVOc1J5eERRVUZETzBsQlJVUXNTVUZCVnl4bFFVRmxPMUZCUlhwQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEySXNRMEZCUXp0SlFVVk5MRmRCUVZjc1EwRkJSU3hMUVVGaE8xRkJSV2hETEVsQlFVa3NRMEZCUXl4SFFVRkhMRXRCUVRaQ0xFTkJRVU03VVVGRGRFTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVOa08xbEJRME1zUzBGQlN5eDNRa0ZCZDBJc1EwRkJReXh4UWtGQmNVSTdaMEpCUTJ4RUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVVXNRMEZCUXl4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVVc1EwRkJRenRuUWtGRGVFUXNUVUZCVFR0WlFVVlFMRXRCUVVzc2QwSkJRWGRDTEVOQlFVTXNNRUpCUVRCQ08yZENRVU4yUkN4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVVXNRMEZCUXl4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4clFrRkJhMElzUTBGQlJTeERRVUZETzJkQ1FVTndSaXhOUVVGTk8xbEJSVkFzUzBGQlN5eDNRa0ZCZDBJc1EwRkJReXhoUVVGaE8yZENRVU14UXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRkxFTkJRVU1zUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU1zYTBKQlFXdENMRU5CUVVVc1EwRkJRenRuUWtGRGRrVXNUVUZCVFR0WlFVVlFMRXRCUVVzc2QwSkJRWGRDTEVOQlFVTXNWMEZCVnp0blFrRkRlRU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUlN4RFFVRkRMRU5CUVVNc1kwRkJZeXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMR3RDUVVGclFpeERRVUZGTEVOQlFVTTdaMEpCUTNKRkxFMUJRVTA3VTBGRFVEdEpRVU5HTEVOQlFVTTdTVUZGVHl4WFFVRlhMRU5CUVVVc1kwRkJjMElzUlVGQlJTeE5RVUZqTEVWQlFVVXNTMEZCWVRzN1VVRkZla1VzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEVkQlFVY3NRMEZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVTm1PMWxCUTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTeHJSRUZCYTBRc1JVRkJSU3hqUVVGakxFTkJRVVVzUTBGQlF6dFpRVU5zUml4UFFVRlBPMU5CUTFBN1VVRkZSQ3hKUVVGSkxGTkJRVk1zUjBGRFlqdFpRVU5ETEVsQlFVa3NSVUZCUlN4clJrRkJjMElzUTBGQlF5eHpRa0ZCYzBJN1dVRkRia1FzUzBGQlN6dFRRVU5NTEVOQlFVTTdVVUZGUml4SlFVRkpMRTFCUVUwc1JVRkRWanRaUVVORExFbEJRVWtzVVVGQlVTeEhRVUZITEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETzFsQlF6bERMR05CUVZFc1lVRkJVaXhSUVVGUkxIVkNRVUZTTEZGQlFWRXNRMEZCUlN4TFFVRkxMREJEUVVGRkxGTkJRVk1zUTBGQlJTeFRRVUZUTEVWQlFVYzdVMEZEZUVNN1lVRkZSRHRaUVVORExHZENRVUZWTEdGQlFWWXNWVUZCVlN4MVFrRkJWaXhWUVVGVkxFTkJRVVVzUzBGQlN5d3dRMEZCUlN4VFFVRlRMRU5CUVVVc1UwRkJVeXhGUVVGSE8xTkJRekZETzBsQlEwWXNRMEZCUXp0SlFVVlBMREJDUVVFd1FpeERRVUZGTEdOQlFYTkNMRVZCUVVVc1RVRkJZeXhGUVVGRkxHZENRVUUyUWpzN1VVRkZlRWNzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEVkQlFVY3NRMEZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNWVUZCVlR0WlFVTmtMRTlCUVU4N1VVRkZVaXhKUVVGSkxGRkJRVkVzUjBGQlJ5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJSU3hOUVVGTkxFTkJRVVVzUTBGQlF6dFJRVU01UXl4SlFVRkpMRU5CUVVNc1VVRkJVVHRaUVVOYUxFOUJRVTg3VVVGRlVpeFJRVUZSTEVOQlFVTXNjMEpCUVhOQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNN1VVRkRia1FzVlVGQlNTeERRVUZETEdOQlFXTXNLME5CUVc1Q0xFbEJRVWtzUlVGQmIwSTdTVUZEZWtJc1EwRkJRenRKUVVWUExHRkJRV0VzUTBGQlJTeGpRVUZ6UWl4RlFVRkZMRTFCUVdNc1JVRkJSU3huUWtGQk5rSTdPMUZCUlROR0xFbEJRVWtzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUTBGQlF5eEhRVUZITEVOQlFVVXNZMEZCWXl4RFFVRkZMRU5CUVVNN1VVRkRka1VzU1VGQlNTeERRVUZETEZWQlFWVTdXVUZEWkN4UFFVRlBPMUZCUlZJc1NVRkJTU3hSUVVGUkxFZEJRVWNzVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVVc1RVRkJUU3hEUVVGRkxFTkJRVU03VVVGRE9VTXNTVUZCU1N4RFFVRkRMRkZCUVZFN1dVRkRXaXhQUVVGUE8xRkJSVklzVVVGQlVTeERRVUZETEhOQ1FVRnpRaXhIUVVGSExHZENRVUZuUWl4RFFVRkRPMUZCUTI1RUxGRkJRVkVzUTBGQlF5eFRRVUZUTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF5OURMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1VVRkJVU3hGUVVGRkxHZEdRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJSenRSUVVOc1JpeFZRVUZKTEVOQlFVTXNZMEZCWXl3clEwRkJia0lzU1VGQlNTeEZRVUZ2UWp0SlFVTjZRaXhEUVVGRE8wbEJSVThzVjBGQlZ5eERRVUZGTEdOQlFYTkNMRVZCUVVVc1RVRkJZeXhGUVVGRkxHZENRVUUyUWp0UlFVVjZSaXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUjBGQlJ5eERRVUZGTEdOQlFXTXNRMEZCUlN4RFFVRkRPMUZCUTNaRkxFbEJRVWtzUTBGQlF5eFZRVUZWTzFsQlEyUXNUMEZCVHp0UlFVVlNMRWxCUVVrc1VVRkJVU3hIUVVGSExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkZMRTFCUVUwc1EwRkJSU3hEUVVGRE8xRkJRemxETEVsQlFVa3NRMEZCUXl4UlFVRlJPMWxCUTFvc1QwRkJUenRSUVVWU0xGRkJRVkVzUTBGQlF5eFRRVUZUTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zWTBGQll5eERRVUZETzFGQlEzWkVMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1VVRkJVU3hGUVVGRkxHZEdRVUZ2UWl4RFFVRkRMRkZCUVZFc1JVRkJSU3huUWtGQlowSXNRMEZCUlR0SlFVTndSeXhEUVVGRE8wbEJSVThzWjBKQlFXZENMRU5CUVVVc1kwRkJjMElzUlVGQlJTeE5RVUZqT3p0UlFVVXZSQ3hKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUjBGQlJ5eERRVUZGTEdOQlFXTXNRMEZCUlN4RFFVRkRPMUZCUTNaRkxFbEJRVWtzUTBGQlF5eFZRVUZWTzFsQlEyUXNUMEZCVHp0UlFVVlNMRWxCUVVrc1VVRkJVU3hIUVVGSExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkZMRTFCUVUwc1EwRkJSU3hEUVVGRE8xRkJRemxETEVsQlFVa3NRMEZCUXl4UlFVRlJPMWxCUTFvc1QwRkJUenRSUVVWU0xGRkJRVkVzUTBGQlF5eHpRa0ZCYzBJc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGRrTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkROME1zU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExGVkJRVlVzUlVGQlJTeFJRVUZSTEVWQlFVVXNaMFpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZGTzFGQlF5OUZMRlZCUVVrc1EwRkJReXhqUVVGakxDdERRVUZ1UWl4SlFVRkpMRVZCUVc5Q08wbEJRM3BDTEVOQlFVTTdTVUZGVHl4elFrRkJjMElzUTBGQlJTeFZRVUYxUXl4RlFVTjBSU3hSUVVGdFF5eEZRVUZGTEZGQlFUaENMRVZCUTI1RkxHZENRVUU0UWp0UlFVVTVRaXhKUVVGSkxFTkJRVU1zUjBGRFREdFpRVU5ETEVsQlFVa3NSVUZCUlN4clJrRkJjMElzUTBGQlF5eHBRa0ZCYVVJN1dVRkRPVU1zVVVGQlVUdFpRVU5TTEdkQ1FVRm5RanRUUVVOb1FqdFJRVU5FTEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRkxFTkJRVU1zUTBGQlJTeERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkhSRHM3VDBGRlJ6dEpRVU5JTEVsQlFWY3NVVUZCVVR0UlFVVnNRaXhKUVVGSkxFOUJRVThzUjBGQk1FSXNSVUZCUlN4RFFVRkRPMUZCUTNoRExFdEJRVXNzU1VGQlNTeFpRVUZaTEVsQlFVa3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEUxQlFVMHNSVUZCUlN4RlFVTnFSVHRaUVVORExFbEJRVWtzVlVGQlZTeEhRVUYzUWl4SlFVRkpMRU5CUVVNc0swSkJRU3RDTEVOQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVNN1dVRkRNMFlzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUlN4VlFVRlZMRU5CUVVVc1EwRkJRenRUUVVNelFqdFJRVVZFTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVhOQ0xFTkJRVU03U1VGRGVFTXNRMEZCUXp0SlFVVlBMQ3RDUVVFclFpeERRVUZGTEZsQlFYbERPMUZCUldwR0xFbEJRVWtzVlVGQlZTeEhRVUYzUWp0WlFVTnlReXhIUVVGSExFVkJRVVVzV1VGQldTeERRVUZETEVkQlFVYzdXVUZEY2tJc1YwRkJWeXhGUVVGRkxGbEJRVmtzUTBGQlF5eFhRVUZYTzFsQlEzSkRMR3RDUVVGclFpeEZRVUZGTERSR1FVRjNRaXhEUVVGRkxGbEJRVmtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVRkZPMWxCUXk5RkxHTkJRV01zUlVGQlJTeFpRVUZaTEVOQlFVTXNZMEZCWXp0WlFVTXpReXhMUVVGTExFVkJRVVVzUlVGQlJUdFRRVU5VTEVOQlFVTTdVVUZGUml4TFFVRk5MRWxCUVVrc1dVRkJXU3hKUVVGSkxGbEJRVmtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUTNKRU8xbEJRME1zU1VGQlN5eFpRVUZaTEVOQlFVTXNUVUZCVFN4SlFVRkpMRmxCUVZrc1EwRkJReXh6UWtGQmMwSXNSVUZETDBRN1owSkJRME1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUTNCQ08yOUNRVU5ETEUxQlFVMHNSVUZCUlN4WlFVRlpMRU5CUVVNc1RVRkJUVHR2UWtGRE0wSXNjMEpCUVhOQ0xFVkJRVVVzV1VGQldTeERRVUZETEhOQ1FVRnpRanRwUWtGRE0wUXNRMEZEUkN4RFFVRkRPMkZCUTBZN1UwRkRSRHRSUVVORUxFOUJRVThzVlVGQlZTeERRVUZETzBsQlEyNUNMRU5CUVVNN1NVRkZUU3hOUVVGTk8xRkJSVm9zU1VGQlNTeGxRVUZsTEVkQlFXdENMRVZCUVVVc1EwRkJRenRSUVVONFF5eExRVUZMTEVsQlFVa3NWVUZCVlN4SlFVRkpMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkRMMFE3V1VGRFF5eExRVUZMTEVsQlFVa3NVVUZCVVN4SlFVRkpMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlF6bERPMmRDUVVORExFbEJRVWtzVVVGQlVTeERRVUZETEhOQ1FVRnpRaXhKUVVGSkxGRkJRVkVzUTBGQlF5eExRVUZMTzNWQ1FVTnFSQ3hSUVVGUkxFTkJRVU1zVTBGQlV5eEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGRGJrUTdiMEpCUTBNc1NVRkJTU3hIUVVGSExFZEJRVU1zUjBGQlNTeFZRVUZWTEVOQlFVTXNZMEZCWlN4SlFVRkxMRkZCUVZFc1EwRkJReXhOUVVGUExFVkJRVVVzUTBGQlF6dHZRa0ZET1VRc1pVRkJaU3hEUVVGRExFbEJRVWtzUTBGRGJrSXNiMFJCUVVNc0swUkJRVmNzU1VGQlF5eEhRVUZITEVWQlFVY3NSMEZCUnl4RlFVRkhMRk5CUVZNc1JVRkJSeXhSUVVGUkxFTkJRVU1zYzBKQlFYTkNPM2RDUVVOdVJTeHZSRUZCUXl4dlJVRkJZU3hKUVVGRExFdEJRVXNzUlVGQlJ5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1IwRkJTU3hEUVVOcVF5eERRVUZGTEVOQlFVTTdhVUpCUTJ4Q08yRkJRMFE3VTBGRFJEdFJRVVZFTEU5QlFVOHNNRWRCUVVrc1pVRkJaU3hEUVVGTExFTkJRVU03U1VGRGFrTXNRMEZCUXpzN1FVRXhWMDBzTWtOQlFXdENMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJaVGxDTzBsQlJFTXNjVVJCUVVrN2EwVkJlVWxLSWl3aVptbHNaU0k2SWk0dmMzSmpMMjVsZEhkdmNtdGZkVzVwZG1WeWMyVXVkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRWFpPYjJSbFZISmhibk5tYjNKdExDQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWpheXdnVFdsdWFXMWhiRkJ2YzJVc0lHMXBibWx0WVd4UWIzTmxSbkp2YlZSeVlXNXpabTl5YlN3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QkZiblJwZEhsRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyTnZiWEJ2YzJWa1gyVnVkR2wwZVNjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZhVzUwWlhKbVlXTmxYMlZ1ZEdsMGVTYzdYSEpjYm1sdGNHOXlkQ0I3SUU1bGRIZHZjbXRsWkVkaFpHZGxkRU52YlhCdmJtVnVkQ3dnVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwTENCT1pYUjNiM0pyUjJGa1oyVjBSWFpsYm5SVWVYQmxMQ0JPUjBWVFpXNWtSWFpsYm5Rc0lFNUhSVk5sZEVkaFpHZGxkRWx1Wm04c0lFNUhSVk5sZEVsMFpXMUpibVp2TENCT1IwVlRaWFJVY21GdWMyWnZjbTFUZEdGMFpTd2dUbVYwZDI5eWEwbDBaVzFVY21GdWMyWnZjbTBnZlNCbWNtOXRJQ2N1TDJOdmJYQnZibVZ1ZEY5dVpYUjNiM0pyWldSZloyRmtaMlYwSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpGYm5ScGRIbERhR2xzWkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNTBhWFI1WDJOb2FXeGtKenRjY2x4dWFXMXdiM0owSUhzZ1FYWlVjbUZ1YzJadmNtMGdmU0JtY205dElDY3VMMkZoY21SMllYSnJYM1J5WVc1elptOXliU2M3WEhKY2JtbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dWY2NseHVlMXh5WEc1Y2RDOHFLaUJUWlc1MElIZG9aVzRnZEdobElISmxiVzkwWlNCMWJtbDJaWEp6WlNCemFHOTFiR1FnYzNSaGNuUWdZU0JuWVdSblpYUWdiMjRnWW1Wb1lXeG1JRzltSUhSb1pTQjBhR1VnYm1WMGQyOXlheUIxYm1sMlpYSnpaUzRnS2k5Y2NseHVYSFJEY21WaGRHVlNaVzF2ZEdWSFlXUm5aWFFnUFNCY0ltTnlaV0YwWlY5eVpXMXZkR1ZmWjJGa1oyVjBYQ0lzWEhKY2JseHlYRzVjZEM4cUtpQlRaVzUwSUhkb1pXNGdkR2hsSUhKbGJXOTBaU0IxYm1sMlpYSnpaU0J6YUc5MWJHUWdaR1Z6ZEhKdmVTQmhJR2RoWkdkbGRDQnZiaUJpWldoaGJHWWdiMllnZEdobElHNWxkSGR2Y21zZ2RXNXBkbVZ5YzJVdUlDb3ZYSEpjYmx4MFJHVnpkSEp2ZVZKbGJXOTBaVWRoWkdkbGRDQTlJRndpWkdWemRHOTVYM0psYlc5MFpWOW5ZV1JuWlhSY0lpeGNjbHh1WEhKY2JseDBMeW9xSUZObGJuUWdkMmhsYmlCMGFHVWdjbVZ0YjNSbElIVnVhWFpsY25ObElITm9iM1ZzWkNCMWNHUmhkR1VnWVNCeVpXMXZkR1VnWjJGa1oyVjBKM01nZEhKaGJuTm1iM0p0SUhKbGJHRjBhWFpsSUhSdklIUm9aU0IxYm1sMlpYSnpaUzRnS2k5Y2NseHVYSFJWY0dSaGRHVlNaVzF2ZEdWSFlXUm5aWFJVY21GdWMyWnZjbTBnUFNCY0luVndaR0YwWlY5eVpXMXZkR1ZmWjJGa1oyVjBYM1J5WVc1elptOXliVndpTEZ4eVhHNWNjbHh1WEhRdktpb2dVMlZ1ZENCM2FHVnVJSFJvWlNCdVpYUjNiM0pySUhWdWFYWmxjbk5sSUdseklHTnZiblpsZVdsdVp5QmhiaUJsZG1WdWRDQm1jbTl0SUdFZ2JtVjBkMjl5YTJWa0lHZGhaR2RsZENCMGJ5QmhJSEpsYlc5MFpTQm5ZV1JuWlhRdUlDb3ZYSEpjYmx4MFFuSnZZV1JqWVhOMFVtVnRiM1JsUjJGa1oyVjBSWFpsYm5RZ1BTQmNJbUp5YjJGa1kyRnpkRjl5WlcxdmRHVmZaMkZrWjJWMFgyVjJaVzUwWENJc1hISmNibHh5WEc1Y2RDOHFLaUJUWlc1MElIZG9aVzRnWVNCeVpXMXZkR1VnZFc1cGRtVnljMlVnYVhNZ2FYTWdZMjl1ZG1WNWFXNW5JR0Z1SUdWMlpXNGdabkp2YlNCaElISmxiVzkwWlNCbllXUm5aWFFnZEc4Z2RHaGxJRzVsZEhkdmNtdGxaQ0JuWVdSblpYUXVJQ292WEhKY2JseDBVMlZ1WkUxaGMzUmxja2RoWkdkbGRFVjJaVzUwSUQwZ1hDSnpaVzVrWDIxaGMzUmxjbDluWVdSblpYUmZaWFpsYm5SY0lpeGNjbHh1WEhKY2JseDBMeW9xSUZObGJuUWdkMmhsYmlCaGJpQnBkR1Z0SUdsdUlHRWdjbVZ0YjNSbElHZGhaR2RsZENCcGN5QmlaV2x1WnlCdGIzWmxaQ0JoY205MWJtUWdZVzVrSUhkaGJuUnpJSFJ2SUc5MlpYSnlhV1JsSUhSb1pTQjBjbUZ1YzJadmNtMGdYSEpjYmx4MElDb2diMllnZEdobElITnZkWEpqWlNCbllXUm5aWFFuY3lCcGRHVnRMbHh5WEc1Y2RDb3ZYSEpjYmx4MFZYQmtZWFJsVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wZ1BTQmNJblZ3WkdGMFpWOXVaWFIzYjNKclgybDBaVzFmZEhKaGJuTm1iM0p0WENJc1hISmNibHh5WEc1Y2RDOHFLaUJUZEdGeWRITWdZU0JuY21GaUlHWnliMjBnZEdobElISmxiVzkwWlNCemFXUmxMaUJNYjJOaGJDQnphV1JsSUhOb2IzVnNaQ0J6ZEc5d0lHSmxhVzVuSUdkeVlXSmlZV0pzWlNCaGJtUWdjM1JoY25RZ2IySmxlV2x1WjF4eVhHNWNkQ0FxSUhKbGJXOTBaU0IwY21GdWMyWnZjbTBnZFhCa1lYUmxjeTVjY2x4dVhIUWdLaTljY2x4dVhIUlRkR0Z5ZEVsMFpXMUhjbUZpSUQwZ1hDSnpkR0Z5ZEY5cGRHVnRYMmR5WVdKY0lpeGNjbHh1WEhKY2JseDBMeW9xSUVWdVpITWdZU0JuY21GaUlHWnliMjBnZEdobElISmxiVzkwWlNCemFXUmxMaUJNYjJOaGJDQnphV1JsSUhOb2IzVnNaQ0J6ZEdGeWRDQmlaV2x1WnlCbmNtRmlZbUZpYkdVZ1lXNWtJSE4wYjNBZ2IySmxlV2x1WjF4eVhHNWNkQ0FxSUhKbGJXOTBaU0IwY21GdWMyWnZjbTBnZFhCa1lYUmxjeTVjY2x4dVhIUWdLaTljY2x4dVhIUkZibVJKZEdWdFIzSmhZaUE5SUZ3aVpXNWtYMmwwWlcxZlozSmhZbHdpTEZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFNWxkSGR2Y210VmJtbDJaWEp6WlVWMlpXNTBYSEpjYm50Y2NseHVYSFIwZVhCbE9pQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dVN1hISmNibHgwY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNqdGNjbHh1WEhScGRHVnRTV1EvT2lCemRISnBibWM3WEhKY2JseDBaMkZrWjJWMFZYSnNQem9nYzNSeWFXNW5PMXh5WEc1Y2RISmxiVzkwWlVsdWRHVnlabUZqWlV4dlkydHpQem9nU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJ0YlhUdGNjbHh1WEhSMWJtbDJaWEp6WlVaeWIyMUhZV1JuWlhRL09pQk5hVzVwYldGc1VHOXpaVHRjY2x4dVhIUmxkbVZ1ZEQ4NklHOWlhbVZqZER0Y2NseHVYSFJuWVdSblpYUkpibVp2UHpvZ1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWJ6dGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JPWlhSM2IzSnJaV1JKZEdWdFNXNW1iMXh5WEc1N1hISmNibHgwYVhSbGJVbGtPaUJ6ZEhKcGJtYzdYSEpjYmx4MGNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiVG9nVFdsdWFXMWhiRkJ2YzJVN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUbVYwZDI5eWEyVmtSMkZrWjJWMFNXNW1iMXh5WEc1N1hISmNibHgwY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNqdGNjbHh1WEhSMWNtdzZJSE4wY21sdVp6dGNjbHh1WEhSeVpXMXZkR1ZNYjJOcmN6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVYSFIxYm1sMlpYSnpaVVp5YjIxSFlXUm5aWFE2SUUxcGJtbHRZV3hRYjNObE8xeHlYRzVjZEdsMFpXMXpPaUJPWlhSM2IzSnJaV1JKZEdWdFNXNW1iMXRkTzF4eVhHNTlYSEpjYmx4eVhHNWxiblZ0SUU1bGRIZHZjbXRsWkVkeVlXSlRkR0YwWlZ4eVhHNTdYSEpjYmx4MFRtOXVaU3hjY2x4dVhIUlNaVzF2ZEdVc1hISmNibHgwVW1WdGIzUmxSSEp2Y0hCcGJtY3NYSEpjYmx4MFRHOWpZV3dzWEhKY2JuMWNjbHh1WEhKY2JtbHVkR1Z5Wm1GalpTQk9aWFIzYjNKclpXUkpkR1Z0U1c1bWIwbHVkR1Z5Ym1Gc1hISmNibnRjY2x4dVhIUnBkR1Z0U1dRNklITjBjbWx1Wnp0Y2NseHVYSFJwWm1GalpUb2dRV04wYVhabFNXNTBaWEptWVdObE8xeHlYRzVjY2x4dVhIUnlaVzF2ZEdWVmJtbDJaWEp6WlVaeWIyMUpkR1Z0UHpvZ1RXbHVhVzFoYkZCdmMyVTdYSEpjYmx4MFozSmhZbE4wWVhSbE9pQk9aWFIzYjNKclpXUkhjbUZpVTNSaGRHVTdYSEpjYm4xY2NseHVYSEpjYm1sdWRHVnlabUZqWlNCT1pYUjNiM0pyWldSSFlXUm5aWFJKYm1adlNXNTBaWEp1WVd4Y2NseHVlMXh5WEc1Y2RISmxiVzkwWlVkaFpHZGxkRWxrUHpvZ2JuVnRZbVZ5TzF4eVhHNWNkSFZ5YkQ4NklITjBjbWx1Wnp0Y2NseHVYSFJ5WlcxdmRHVk1iMk5yY3o4NklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTA3WEhKY2JseDBhV1poWTJVNklFRmpkR2wyWlVsdWRHVnlabUZqWlR0Y2NseHVYSFJwZEdWdGN6b2dUV0Z3UENCemRISnBibWNzSUU1bGRIZHZjbXRsWkVsMFpXMUpibVp2U1c1MFpYSnVZV3dnUGp0Y2NseHVmVngwWEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRlZ1YVhabGNuTmxTVzVwZEVsdVptOWNjbHh1ZTF4eVhHNWNkR2RoWkdkbGRITTZJRTVsZEhkdmNtdGxaRWRoWkdkbGRFbHVabTliWFR0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVFZ2JtVjBkMjl5YXlCMGFHRjBJR05oYmlCaVpTQjFjMlZrSUhkcGRHZ2dRWFpEYjIxd2IzTmxaRU52YlhCdmJtVnVkQzRnVkdobElHRnlaM1Z0Wlc1MGN5QmlaV3h2ZHlCaGNtVWdabTl5SUhSb1pTQmNjbHh1SUNvZ2NISnZkbWxrWldRZ1kyRnNiR0poWTJzZ1puVnVZM1JwYjI0dVhISmNiaUFxSUZ4eVhHNGdLaUJBY0dGeVlXMGdaWFpsYm5SY2RGeDBRVzRnYjJKcVpXTjBMQ0J2Y0dGeGRXVWdkRzhnZEdobElISnZiMjBnYVhSelpXeG1MQ0IwYUdGMElHRnNiRzkzY3lCMGFHVWdibVYwZDI5eWF5QjFibWwyWlhKelpTQjBiMXh5WEc0Z0tpQmNkRngwWEhSY2RGeDBZMjl0YlhWdWFXTmhkR1VnZDJsMGFDQnBkSE1nY21WdGIzUmxJSEJsWlhKekxseHlYRzRnS2lCQWNHRnlZVzBnY21Wc2FXRmliR1ZjZEVsbUlIUm9hWE1nWVhKbmRXMWxiblFnYVhNZ2RISjFaU3dnZEdobElISnZiMjBnYlhWemRDQmtaV3hwZG1WeUlIUm9aU0J0WlhOellXZGxJSFJ2SUdWMlpYSjVJSEpsYlc5MFpWeHlYRzRnS2lCY2RGeDBYSFJjZEZ4MGRXNXBkbVZ5YzJVZ2IzSWdkR2hoZENCMWJtbDJaWEp6WlNCM2FXeHNJR0psSUc5MWRDQnZaaUJ6ZVc1amFDQjNhWFJvSUhSb1pTQnVaWFIzYjNKcklIVnVhWFpsY25ObExpQmNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCT1pYUjNiM0pyVlc1cGRtVnljMlZEYjIxd2IyNWxiblFnYVcxd2JHVnRaVzUwY3lCRmJuUnBkSGxEYjIxd2IyNWxiblJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnYm1WMGQyOXlhMlZrUjJGa1oyVjBjMEo1Ulc1a2NHOXBiblJKWkNBOUlHNWxkeUJOWVhBOElHNTFiV0psY2l3Z1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWIwbHVkR1Z5Ym1Gc0lENG9LVHRjY2x4dVhIUndjbWwyWVhSbElHNWxkSGR2Y210bFpFZGhaR2RsZEhOQ2VWSmxiVzkwWlVsa0lEMGdibVYzSUUxaGNEd2diblZ0WW1WeUxDQk9aWFIzYjNKclpXUkhZV1JuWlhSSmJtWnZTVzUwWlhKdVlXd2dQaWdwTzF4eVhHNWNkSE4wWVhScFl5QnVaWGgwVW1WdGIzUmxSMkZrWjJWMFNXUWdQU0F4TzF4eVhHNWNkSEJ5YVhaaGRHVWdibVYwZDI5eWEwVjJaVzUwUTJGc2JHSmhZMnM2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1NBOVBpQjJiMmxrTzF4eVhHNWNkSEJ5YVhaaGRHVWdaVzUwYVhSNVEyRnNiR0poWTJzNklDZ3BJRDArSUhadmFXUWdQU0J1ZFd4c08xeHlYRzVjY2x4dVhIUmpiMjV6ZEhKMVkzUnZjaWdnYm1WMGQyOXlhMFYyWlc1MFEyRnNiR0poWTJzNklDZ2daWFpsYm5RNklHOWlhbVZqZEN3Z2NtVnNhV0ZpYkdVNklHSnZiMnhsWVc0Z0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbTVsZEhkdmNtdEZkbVZ1ZEVOaGJHeGlZV05ySUQwZ2JtVjBkMjl5YTBWMlpXNTBRMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5QnZibFZ3WkdGMFpTZ2dZMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdVpXNTBhWFI1UTJGc2JHSmhZMnNnUFNCallXeHNZbUZqYXp0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrNWxkSGR2Y210SmJuUmxjbVpoWTJVb0lHRmpkR2wyWlU1bGRIZHZjbXRsWkVkaFpHZGxkRG9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnpvZ1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWIwbHVkR1Z5Ym1Gc0lEMGdYSEpjYmx4MFhIUmNkSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVJXNWtjRzlwYm5SSlpDNW5aWFFvSUdGamRHbDJaVTVsZEhkdmNtdGxaRWRoWkdkbGRDNXdaV1Z5TG1WdVpIQnZhVzUwU1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoWjJGa1oyVjBTVzVtYnlBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHZGhaR2RsZEVsdVptOGdQVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGFXWmhZMlU2SUdGamRHbDJaVTVsZEhkdmNtdGxaRWRoWkdkbGRDeGNjbHh1WEhSY2RGeDBYSFJwZEdWdGN6b2dibVYzSUUxaGNEeHpkSEpwYm1jc0lFNWxkSGR2Y210bFpFbDBaVzFKYm1adlNXNTBaWEp1WVd3K0tDa3NYSEpjYmx4MFhIUmNkSDA3WEhKY2JseDBYSFJjZEhSb2FYTXVibVYwZDI5eWEyVmtSMkZrWjJWMGMwSjVSVzVrY0c5cGJuUkpaQzV6WlhRb0lHRmpkR2wyWlU1bGRIZHZjbXRsWkVkaFpHZGxkQzV3WldWeUxtVnVaSEJ2YVc1MFNXUXNJR2RoWkdkbGRFbHVabThnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnYVhSbGJVbHVabTg2SUU1bGRIZHZjbXRsWkVsMFpXMUpibVp2U1c1MFpYSnVZV3c3WEhKY2JseHlYRzVjZEZ4MFlXTjBhWFpsVG1WMGQyOXlhMlZrUjJGa1oyVjBMbTl1UlhabGJuUW9JQ2dnWlhabGJuUTZJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkQ0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RITjNhWFJqYUNnZ1pYWmxiblF1ZEhsd1pTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSallYTmxJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVjBSMkZrWjJWMFNXNW1ienBjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJzWlhRZ2MyVjBTVzVtYnlBOUlHVjJaVzUwSUdGeklFNUhSVk5sZEVkaFpHZGxkRWx1Wm04N1hISmNibHgwWEhSY2RGeDBYSFJzWlhRZ2RXNXBkbVZ5YzJWR2NtOXRSMkZrWjJWMElEMGdiV2x1YVcxaGJGQnZjMlZHY205dFZISmhibk5tYjNKdEtDQmhZM1JwZG1WT1pYUjNiM0pyWldSSFlXUm5aWFF1YzJWc1prWnliMjFRWldWeUlDazdYSEpjYmx4eVhHNWNkRngwWEhSY2RGeDBMeThnYzI5dFpTQnpkSFZtWmlCM1pTQnFkWE4wSUdGc2QyRjVjeUIxY0dSaGRHVmNjbHh1WEhSY2RGeDBYSFJjZEdkaFpHZGxkRWx1Wm04dWNtVnRiM1JsVEc5amEzTWdQU0J6WlhSSmJtWnZMbXh2WTJ0ek8xeHlYRzVjZEZ4MFhIUmNkRngwWjJGa1oyVjBTVzVtYnk1MWNtd2dQU0J6WlhSSmJtWnZMblZ5YkR0Y2NseHVYSEpjYmx4MFhIUmNkRngwWEhRdkx5QnBaaUIzWlNCb1lYWmxiaWQwSUhObFpXNGdZU0JuWVdSblpYUWdhVzVtYnlCbWIzSWdkR2hwY3lCbllXUm5aWFFnZVdWMExDQmhjM05wWjI0Z2FYUWdZVzRnU1VRZ1lXNWtJSFJsYkd4Y2NseHVYSFJjZEZ4MFhIUmNkQzh2SUhKbGJXOTBaU0IxYm1sMlpYSnpaWE1nZEc4Z2MzQmhkMjRnYVhSY2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NBaFoyRmtaMlYwU1c1bWJ5NXlaVzF2ZEdWSFlXUm5aWFJKWkNBcFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR2RoWkdkbGRFbHVabTh1Y21WdGIzUmxSMkZrWjJWMFNXUWdQU0JPWlhSM2IzSnJWVzVwZG1WeWMyVkRiMjF3YjI1bGJuUXVibVY0ZEZKbGJXOTBaVWRoWkdkbGRFbGtLeXM3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVVtVnRiM1JsU1dRdWMyVjBLQ0JuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtMQ0JuWVdSblpYUkpibVp2SUNrN1hISmNibHgwWEhKY2JseDBYSFJjZEZ4MFhIUmNkR3hsZENCamNtVmhkR1ZGZG1WdWREb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblFnUFZ4eVhHNWNkRngwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwZEhsd1pUb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExrTnlaV0YwWlZKbGJXOTBaVWRoWkdkbGRDeGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnlaVzF2ZEdWSFlXUm5aWFJKWkRvZ1oyRmtaMlYwU1c1bWJ5NXlaVzF2ZEdWSFlXUm5aWFJKWkN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSbllXUm5aWFJKYm1adk9pQjBhR2x6TG01bGRIZHZjbXRsWkVkaFpHZGxkRWx1Wm05R2NtOXRTVzUwWlhKdVlXd29JR2RoWkdkbGRFbHVabThnS1N4Y2NseHVYSFJjZEZ4MFhIUmNkRngwZlR0Y2NseHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NXVaWFIzYjNKclJYWmxiblJEWVd4c1ltRmpheWdnWTNKbFlYUmxSWFpsYm5Rc0lIUnlkV1VnS1R0Y2RGeHlYRzVjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbExsTmxkRWwwWlcxSmJtWnZPbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR3hsZENCelpYUkpibVp2SUQwZ1pYWmxiblFnWVhNZ1RrZEZVMlYwU1hSbGJVbHVabTg3WEhKY2JseHlYRzVjZEZ4MFhIUmNkRngwYVdZb0lDRnpaWFJKYm1adkxtbDBaVzFKWkNBcFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lrbG5ibTl5YVc1bklHWmhiSE41SUdsMFpXMGdTVVJjSWl3Z2MyVjBTVzVtYnk1cGRHVnRTV1FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBYSFJjY2x4dVhIUmNkRngwWEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnBkR1Z0U1c1bWJ5QTlYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnBabUZqWlRvZ1lXTjBhWFpsVG1WMGQyOXlhMlZrUjJGa1oyVjBMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkR2wwWlcxSlpEb2djMlYwU1c1bWJ5NXBkR1Z0U1dRc1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MFozSmhZbE4wWVhSbE9pQk9aWFIzYjNKclpXUkhjbUZpVTNSaGRHVXVUbTl1WlN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUmNkRngwWEhSY2RHZGhaR2RsZEVsdVptOHVhWFJsYlhNdWMyVjBLQ0J6WlhSSmJtWnZMbWwwWlcxSlpDd2dhWFJsYlVsdVptOGdLVHRjY2x4dVhIUmNkRngwWEhSY2RIMWNjbHh1WEhKY2JseDBYSFJjZEZ4MFhIUjBhR2x6TG5Wd1pHRjBaVkpsYlc5MFpWUnlZVzV6Wm05eWJTZ2dZV04wYVhabFRtVjBkMjl5YTJWa1IyRmtaMlYwTG5ObGJHWkdjbTl0VUdWbGNpd2daMkZrWjJWMFNXNW1ieXdnYVhSbGJVbHVabThnS1R0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSY2RHTmhjMlVnVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwVkhsd1pTNVRaVzVrUlhabGJuUlViMEZzYkZKbGJXOTBaWE02WEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYkdWMElITmxibVJGZG1WdWRDQTlJR1YyWlc1MElHRnpJRTVIUlZObGJtUkZkbVZ1ZER0Y2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NCbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYkdWMElHNWxkRVYyWlc1ME9pQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkQ0E5WEhKY2JseDBYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFIwZVhCbE9pQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dVdVFuSnZZV1JqWVhOMFVtVnRiM1JsUjJGa1oyVjBSWFpsYm5Rc1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGNtVnRiM1JsUjJGa1oyVjBTV1E2SUdkaFpHZGxkRWx1Wm04dWNtVnRiM1JsUjJGa1oyVjBTV1FzSUZ4eVhHNWNkRngwWEhSY2RGeDBYSFJjZEdsMFpXMUpaRG9nYVhSbGJVbHVabTgvTG1sMFpXMUpaQ3hjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFJsZG1WdWREb2djMlZ1WkVWMlpXNTBMbVYyWlc1MExGeHlYRzVjZEZ4MFhIUmNkRngwWEhSOU8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSMGFHbHpMbTVsZEhkdmNtdEZkbVZ1ZEVOaGJHeGlZV05yS0NCdVpYUkZkbVZ1ZEN3Z2MyVnVaRVYyWlc1MExuSmxiR2xoWW14bElDazdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUmpZWE5sSUU1bGRIZHZjbXRIWVdSblpYUkZkbVZ1ZEZSNWNHVXVSSEp2Y0VOdmJYQnNaWFJsT2x4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEhSb2FYTXVhWFJsYlVSeWIzQkRiMjF3YkdWMFpTZ2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDd2dhWFJsYlVsdVptOHVhWFJsYlVsa0lDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxUbVYwZDI5eWEyVmtSMkZrWjJWMExtOXVSVzVrWldRb0lDZ3BJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQnBkR1Z0U1c1bWJ5QXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhRdkx5QjBhR2x6SUdseklHcDFjM1FnWVc0Z2FYUmxiU0JwYmlCMGFHVWdaMkZrWjJWMFhISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RGeDBaV3h6WlNCcFppZ2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhRdkx5QjBhR2x6SUdseklIUm9aU0JuWVdSblpYUWdhWFJ6Wld4bVhISmNibHgwWEhSY2RGeDBkR2hwY3k1dVpYUjNiM0pyWldSSFlXUm5aWFJ6UW5sRmJtUndiMmx1ZEVsa0xtUmxiR1YwWlNnZ1lXTjBhWFpsVG1WMGQyOXlhMlZrUjJGa1oyVjBMbkJsWlhJdVpXNWtjRzlwYm5SSlpDQXBPMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQm5ZV1JuWlhSSmJtWnZMbkpsYlc5MFpVZGhaR2RsZEVsa0lDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUjBhR2x6TG01bGRIZHZjbXRsWkVkaFpHZGxkSE5DZVZKbGJXOTBaVWxrTG1SbGJHVjBaU2dnWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZIWVdSblpYUkpaQ0FwTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1dVpYUjNiM0pyUlhabGJuUkRZV3hzWW1GamF5Z2dYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUjBlWEJsT2lCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRGUjVjR1V1UkdWemRISnZlVkpsYlc5MFpVZGhaR2RsZEN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSeVpXMXZkR1ZIWVdSblpYUkpaRG9nWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZIWVdSblpYUkpaQ3dnWEhKY2JseDBYSFJjZEZ4MFhIUmNkSDBnWVhNZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUXNJSFJ5ZFdVZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MEx5OGdkR2hwY3lCcGJuUmxjbVpoWTJVZ2JtVjJaWElnYVdSbGJuUnBabWxsWkNCcGRITmxiR1lnWVhNZ1pXbDBhR1Z5SUdGdUlHbDBaVzBnYjNJZ1lTQm5ZV1JuWlhSY2NseHVYSFJjZEZ4MFhIUXZMeUJwWmlCcGRDZHpJSFJvWlNCdmJteDVJSEpsWm1WeVpXNWpaU0IzWlNCb1lYWmxJSFJ2SUhSb1pTQmxibVJ3YjJsdWRDQkpaQ3dnWTJ4bFlXNGdkR2hoZENCMWNGeHlYRzVjZEZ4MFhIUmNkR2xtS0NCbllXUm5aWFJKYm1adkxtbDBaVzF6TG5OcGVtVWdQVDBnTUNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTV1WlhSM2IzSnJaV1JIWVdSblpYUnpRbmxGYm1Sd2IybHVkRWxrTG1SbGJHVjBaU2dnWVdOMGFYWmxUbVYwZDI5eWEyVmtSMkZrWjJWMExuQmxaWEl1Wlc1a2NHOXBiblJKWkNBcE8xeHlYRzVjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlNBcE8xeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpVNWxkSGR2Y210bFpFZGhaR2RsZEM1dmJsUnlZVzV6Wm05eWJWVndaR0YwWldRb0lDZ2daVzUwYVhSNVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlNBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2xtS0NCbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVkWEJrWVhSbFVtVnRiM1JsVkhKaGJuTm1iM0p0S0NCbGJuUnBkSGxHY205dFVHVmxjaXdnWjJGa1oyVjBTVzVtYnl3Z2FYUmxiVWx1Wm04Z0tUdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0IxY0dSaGRHVlNaVzF2ZEdWVWNtRnVjMlp2Y20wb0lHVnVkR2wwZVVaeWIyMVFaV1Z5T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUdkaFpHZGxkRWx1Wm04NklFNWxkSGR2Y210bFpFZGhaR2RsZEVsdVptOUpiblJsY201aGJDd2dYSEpjYmx4MFhIUnBkR1Z0U1c1bWJ6b2dUbVYwZDI5eWEyVmtTWFJsYlVsdVptOUpiblJsY201aGJDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtJQ2xjY2x4dVhIUmNkRngwY21WMGRYSnVPMXh5WEc1Y2NseHVYSFJjZEd4bGRDQjFibWwyWlhKelpVWnliMjFIWVdSblpYUWdQU0J0YVc1cGJXRnNVRzl6WlVaeWIyMVVjbUZ1YzJadmNtMG9JR1Z1ZEdsMGVVWnliMjFRWldWeUlDazdYSEpjYmx4MFhIUjBhR2x6TG01bGRIZHZjbXRGZG1WdWRFTmhiR3hpWVdOcktGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZEhsd1pUb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExsVndaR0YwWlZKbGJXOTBaVWRoWkdkbGRGUnlZVzV6Wm05eWJTeGNjbHh1WEhSY2RGeDBYSFJ5WlcxdmRHVkhZV1JuWlhSSlpEb2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDeGNjbHh1WEhSY2RGeDBYSFJwZEdWdFNXUTZJR2wwWlcxSmJtWnZQeTVwZEdWdFNXUXNYSEpjYmx4MFhIUmNkRngwZFc1cGRtVnljMlZHY205dFIyRmtaMlYwTEZ4eVhHNWNkRngwWEhSOUlHRnpJRTVsZEhkdmNtdFZibWwyWlhKelpVVjJaVzUwTENCbVlXeHpaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCeVpXTmxhWFpsY3lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRnNnZXlCcFptRmpaVG9nVG1WMGQyOXlhMlZrUjJGa1oyVjBRMjl0Y0c5dVpXNTBMbWx1ZEdWeVptRmpaVTVoYldVc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrNWxkSGR2Y210SmJuUmxjbVpoWTJVZ2ZTQmRPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0IzWVc1MGMxUnlZVzV6Wm05eWJYTW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGNuVmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxiVzkwWlVWMlpXNTBLQ0JsZG1WdWREb2diMkpxWldOMElDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdaU0E5SUdWMlpXNTBJR0Z6SUU1bGRIZHZjbXRWYm1sMlpYSnpaVVYyWlc1ME8xeHlYRzVjZEZ4MGMzZHBkR05vS0NCbExuUjVjR1VnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSallYTmxJRTVsZEhkdmNtdFZibWwyWlhKelpVVjJaVzUwVkhsd1pTNVRaVzVrVFdGemRHVnlSMkZrWjJWMFJYWmxiblE2WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTV0WVhOMFpYSkZkbVZ1ZENnZ1pTNXlaVzF2ZEdWSFlXUm5aWFJKWkN3Z1pTNXBkR1Z0U1dRc0lHVXVaWFpsYm5RZ0tUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExsVndaR0YwWlU1bGRIZHZjbXRKZEdWdFZISmhibk5tYjNKdE9seHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWRYQmtZWFJsVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wb0lHVXVjbVZ0YjNSbFIyRmtaMlYwU1dRc0lHVXVhWFJsYlVsa0xDQmxMblZ1YVhabGNuTmxSbkp2YlVkaFpHZGxkQ0FwTzF4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBZMkZ6WlNCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRGUjVjR1V1VTNSaGNuUkpkR1Z0UjNKaFlqcGNjbHh1WEhSY2RGeDBYSFIwYUdsekxuTjBZWEowU1hSbGJVZHlZV0lvSUdVdWNtVnRiM1JsUjJGa1oyVjBTV1FzSUdVdWFYUmxiVWxrTENCbExuVnVhWFpsY25ObFJuSnZiVWRoWkdkbGRDQXBPMXh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJWVzVwZG1WeWMyVkZkbVZ1ZEZSNWNHVXVSVzVrU1hSbGJVZHlZV0k2WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTVsYm1SSmRHVnRSM0poWWlnZ1pTNXlaVzF2ZEdWSFlXUm5aWFJKWkN3Z1pTNXBkR1Z0U1dRc0lHVXVkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBJQ2s3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzFoYzNSbGNrVjJaVzUwS0NCeVpXMXZkR1ZIWVdSblpYUkpaRG9nYm5WdFltVnlMQ0JwZEdWdFNXUTZJSE4wY21sdVp5d2daWFpsYm5RNklHOWlhbVZqZENBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHZGhaR2RsZEVsdVptOGdQU0IwYUdsekxtNWxkSGR2Y210bFpFZGhaR2RsZEhOQ2VWSmxiVzkwWlVsa0xtZGxkQ2dnY21WdGIzUmxSMkZrWjJWMFNXUWdLVHRjY2x4dVhIUmNkR2xtS0NBaFoyRmtaMlYwU1c1bWJ5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lsSmxZMlZwZG1Wa0lHMWhjM1JsY2lCbGRtVnVkQ0JtYjNJZ2RXNXJibTkzYmlCeVpXMXZkR1VnWjJGa1oyVjBJRndpTENCeVpXMXZkR1ZIWVdSblpYUkpaQ0FwTzF4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJSE5sYm1SRmRtVnVkRG9nVGtkRlUyVnVaRVYyWlc1MElEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTBkaFpHZGxkRVYyWlc1MFZIbHdaUzVTWldObGFYWmxSWFpsYm5SR2NtOXRVbVZ0YjNSbExGeHlYRzVjZEZ4MFhIUmxkbVZ1ZEN4Y2NseHVYSFJjZEgwN1hISmNibHh5WEc1Y2RGeDBhV1lvSUdsMFpXMUpaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQnBkR1Z0U1c1bWJ5QTlJR2RoWkdkbGRFbHVabTh1YVhSbGJYTXVaMlYwS0NCcGRHVnRTV1FnS1R0Y2NseHVYSFJjZEZ4MGFYUmxiVWx1Wm04L0xtbG1ZV05sUHk1elpXNWtSWFpsYm5Rb0lITmxibVJGZG1WdWRDQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSbllXUm5aWFJKYm1adlB5NXBabUZqWlQ4dWMyVnVaRVYyWlc1MEtDQnpaVzVrUlhabGJuUWdLVHRjY2x4dVhIUmNkSDFjZEZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0IxY0dSaGRHVk9aWFIzYjNKclNYUmxiVlJ5WVc1elptOXliU2dnY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNpd2dhWFJsYlVsa09pQnpkSEpwYm1jc0lIVnVhWFpsY25ObFJuSnZiVWwwWlcwNklFMXBibWx0WVd4UWIzTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Ym1WMGQyOXlhMlZrUjJGa1oyVjBjMEo1VW1WdGIzUmxTV1F1WjJWMEtDQnlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2SUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1TzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0JwZEdWdFNXNW1ieUE5SUdkaFpHZGxkRWx1Wm04dWFYUmxiWE11WjJWMEtDQnBkR1Z0U1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseHlYRzVjZEZ4MGFYUmxiVWx1Wm04dWNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiU0E5SUhWdWFYWmxjbk5sUm5KdmJVbDBaVzA3WEhSY2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQnpkR0Z5ZEVsMFpXMUhjbUZpS0NCeVpXMXZkR1ZIWVdSblpYUkpaRG9nYm5WdFltVnlMQ0JwZEdWdFNXUTZJSE4wY21sdVp5d2dkVzVwZG1WeWMyVkdjbTl0U1hSbGJUb2dUV2x1YVcxaGJGQnZjMlVnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCbllXUm5aWFJKYm1adklEMGdkR2hwY3k1dVpYUjNiM0pyWldSSFlXUm5aWFJ6UW5sU1pXMXZkR1ZKWkM1blpYUW9JSEpsYlc5MFpVZGhaR2RsZEVsa0lDazdYSEpjYmx4MFhIUnBaaWdnSVdkaFpHZGxkRWx1Wm04Z0tWeHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHh5WEc1Y2RGeDBiR1YwSUdsMFpXMUpibVp2SUQwZ1oyRmtaMlYwU1c1bWJ5NXBkR1Z0Y3k1blpYUW9JR2wwWlcxSlpDQXBPMXh5WEc1Y2RGeDBhV1lvSUNGcGRHVnRTVzVtYnlBcFhISmNibHgwWEhSY2RISmxkSFZ5Ymp0Y2NseHVYSEpjYmx4MFhIUnBkR1Z0U1c1bWJ5NXlaVzF2ZEdWVmJtbDJaWEp6WlVaeWIyMUpkR1Z0SUQwZ2RXNXBkbVZ5YzJWR2NtOXRTWFJsYlR0Y2RGeHlYRzVjZEZ4MGFYUmxiVWx1Wm04dVozSmhZbE4wWVhSbElEMGdUbVYwZDI5eWEyVmtSM0poWWxOMFlYUmxMbEpsYlc5MFpUdGNjbHh1WEhSY2RIUm9hWE11YzJWdVpFbDBaVzFVY21GdWMyWnZjbTFUZEdGMFpTaG5ZV1JuWlhSSmJtWnZMQ0JwZEdWdFNXNW1ieXdnVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wdVQzWmxjbkpwWkdVZ0lDbGNjbHh1WEhSY2RIUm9hWE11Wlc1MGFYUjVRMkZzYkdKaFkycy9MaWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JsYm1SSmRHVnRSM0poWWlnZ2NtVnRiM1JsUjJGa1oyVjBTV1E2SUc1MWJXSmxjaXdnYVhSbGJVbGtPaUJ6ZEhKcGJtY3NJSFZ1YVhabGNuTmxSbkp2YlVsMFpXMDZJRTFwYm1sdFlXeFFiM05sSUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1oyRmtaMlYwU1c1bWJ5QTlJSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVVtVnRiM1JsU1dRdVoyVjBLQ0J5WlcxdmRHVkhZV1JuWlhSSlpDQXBPMXh5WEc1Y2RGeDBhV1lvSUNGbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RGeDBjbVYwZFhKdU8xeHlYRzVjY2x4dVhIUmNkR3hsZENCcGRHVnRTVzVtYnlBOUlHZGhaR2RsZEVsdVptOHVhWFJsYlhNdVoyVjBLQ0JwZEdWdFNXUWdLVHRjY2x4dVhIUmNkR2xtS0NBaGFYUmxiVWx1Wm04Z0tWeHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHh5WEc1Y2RGeDBhWFJsYlVsdVptOHVaM0poWWxOMFlYUmxJRDBnVG1WMGQyOXlhMlZrUjNKaFlsTjBZWFJsTGxKbGJXOTBaVVJ5YjNCd2FXNW5PMXh5WEc1Y2RGeDBkR2hwY3k1elpXNWtTWFJsYlZSeVlXNXpabTl5YlZOMFlYUmxLR2RoWkdkbGRFbHVabThzSUdsMFpXMUpibVp2TENCT1pYUjNiM0pyU1hSbGJWUnlZVzV6Wm05eWJTNUVjbTl3Y0dsdVp5d2dkVzVwZG1WeWMyVkdjbTl0U1hSbGJTQXBYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElHbDBaVzFFY205d1EyOXRjR3hsZEdVb0lISmxiVzkwWlVkaFpHZGxkRWxrT2lCdWRXMWlaWElzSUdsMFpXMUpaRG9nYzNSeWFXNW5JQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Ym1WMGQyOXlhMlZrUjJGa1oyVjBjMEo1VW1WdGIzUmxTV1F1WjJWMEtDQnlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2SUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1TzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0JwZEdWdFNXNW1ieUE5SUdkaFpHZGxkRWx1Wm04dWFYUmxiWE11WjJWMEtDQnBkR1Z0U1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseHlYRzVjZEZ4MGFYUmxiVWx1Wm04dWNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiU0E5SUc1MWJHdzdYSFJjY2x4dVhIUmNkR2wwWlcxSmJtWnZMbWR5WVdKVGRHRjBaU0E5SUU1bGRIZHZjbXRsWkVkeVlXSlRkR0YwWlM1T2IyNWxPMXh5WEc1Y2RGeDBkR2hwY3k1elpXNWtTWFJsYlZSeVlXNXpabTl5YlZOMFlYUmxLR2RoWkdkbGRFbHVabThzSUdsMFpXMUpibVp2TENCT1pYUjNiM0pyU1hSbGJWUnlZVzV6Wm05eWJTNU9iM0p0WVd3Z0tWeHlYRzVjZEZ4MGRHaHBjeTVsYm5ScGRIbERZV3hzWW1GamF6OHVLQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSE5sYm1SSmRHVnRWSEpoYm5ObWIzSnRVM1JoZEdVb0lHZGhaR2RsZEVsdVptODZJRTVsZEhkdmNtdGxaRWRoWkdkbGRFbHVabTlKYm5SbGNtNWhiQ3dnWEhKY2JseDBYSFJwZEdWdFNXNW1iem9nVG1WMGQyOXlhMlZrU1hSbGJVbHVabTlKYm5SbGNtNWhiQ3dnYm1WM1UzUmhkR1U2SUU1bGRIZHZjbXRKZEdWdFZISmhibk5tYjNKdExGeHlYRzVjZEZ4MGRXNXBkbVZ5YzJWR2NtOXRTWFJsYlQ4NklFMXBibWx0WVd4UWIzTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYlRvZ1RrZEZVMlYwVkhKaGJuTm1iM0p0VTNSaGRHVWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUlVlWEJsTGxObGRGUnlZVzV6Wm05eWJWTjBZWFJsTEZ4eVhHNWNkRngwWEhSdVpYZFRkR0YwWlN4Y2NseHVYSFJjZEZ4MGRXNXBkbVZ5YzJWR2NtOXRTWFJsYlN4Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdsMFpXMUpibVp2TG1sbVlXTmxMbk5sYm1SRmRtVnVkQ2dnYlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdhVzVwZEdsaGJHbDZZWFJwYjI0Z2FXNW1ieUJ3WVdOclpYUWdkR2hoZENCMGFHVWdjbTl2YlNCdVpXVmtjeUIwYnlCamIyMXRkVzVwWTJGMFpTQjBiMXh5WEc1Y2RDQXFJR0Z1ZVNCeVpXMXZkR1VnZFc1cGRtVnljMlVnYVhRZ2FYTWdjM1JoY25ScGJtY2dkWEF1SUZ4eVhHNWNkQ0FxTDF4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYVc1cGRFbHVabThvS1RvZ2IySnFaV04wWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdkaFpHZGxkSE02SUU1bGRIZHZjbXRsWkVkaFpHZGxkRWx1Wm05YlhTQTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnYVc1MFpYSnVZV3hKYm1adklHOW1JSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVVtVnRiM1JsU1dRdWRtRnNkV1Z6S0NrZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnpvZ1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWJ5QTlJSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWIwWnliMjFKYm5SbGNtNWhiQ2dnYVc1MFpYSnVZV3hKYm1adklDazdYSEpjYmx4MFhIUmNkR2RoWkdkbGRITXVjSFZ6YUNnZ1oyRmtaMlYwU1c1bWJ5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUI3SUdkaFpHZGxkSE1nZlNCaGN5QlZibWwyWlhKelpVbHVhWFJKYm1adk8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyWldSSFlXUm5aWFJKYm1adlJuSnZiVWx1ZEdWeWJtRnNLQ0JwYm5SbGNtNWhiRWx1Wm04NklFNWxkSGR2Y210bFpFZGhaR2RsZEVsdVptOUpiblJsY201aGJDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR2RoWkdkbGRFbHVabTg2SUU1bGRIZHZjbXRsWkVkaFpHZGxkRWx1Wm04Z1BTQjdYSEpjYmx4MFhIUmNkSFZ5YkRvZ2FXNTBaWEp1WVd4SmJtWnZMblZ5YkN4Y2NseHVYSFJjZEZ4MGNtVnRiM1JsVEc5amEzTTZJR2x1ZEdWeWJtRnNTVzVtYnk1eVpXMXZkR1ZNYjJOcmN5eGNjbHh1WEhSY2RGeDBkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPaUJ0YVc1cGJXRnNVRzl6WlVaeWIyMVVjbUZ1YzJadmNtMG9JR2x1ZEdWeWJtRnNTVzVtYnk1cFptRmpaUzV6Wld4bVJuSnZiVkJsWlhJZ0tTeGNjbHh1WEhSY2RGeDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHbHVkR1Z5Ym1Gc1NXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDeGNjbHh1WEhSY2RGeDBhWFJsYlhNNklGdGRMRnh5WEc1Y2RGeDBmVHRjY2x4dVhISmNibHgwWEhSbWIzSWdLQ0JzWlhRZ2FXNTBaWEp1WVd4SmRHVnRJRzltSUdsdWRHVnlibUZzU1c1bWJ5NXBkR1Z0Y3k1MllXeDFaWE1vS1NBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHbG1JQ2dnYVc1MFpYSnVZV3hKZEdWdExtbDBaVzFKWkNBbUppQnBiblJsY201aGJFbDBaVzB1Y21WdGIzUmxWVzVwZG1WeWMyVkdjbTl0U1hSbGJTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSbllXUm5aWFJKYm1adkxtbDBaVzF6TG5CMWMyZ29YSEpjYmx4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEdsMFpXMUpaRG9nYVc1MFpYSnVZV3hKZEdWdExtbDBaVzFKWkN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwY21WdGIzUmxWVzVwZG1WeWMyVkdjbTl0U1hSbGJUb2dhVzUwWlhKdVlXeEpkR1Z0TG5KbGJXOTBaVlZ1YVhabGNuTmxSbkp2YlVsMFpXMHNYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBLVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlZ4eVhHNWNkRngwY21WMGRYSnVJR2RoWkdkbGRFbHVabTg3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdjbVZ1WkdWeUtDazZJRXBUV0M1RmJHVnRaVzUwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdOb2FXeGtWSEpoYm5ObWIzSnRjem9nU2xOWUxrVnNaVzFsYm5SYlhTQTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnWjJGa1oyVjBTVzVtYnlCdlppQjBhR2x6TG01bGRIZHZjbXRsWkVkaFpHZGxkSE5DZVZKbGJXOTBaVWxrTG5aaGJIVmxjeWdwSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFptOXlLQ0JzWlhRZ2FYUmxiVWx1Wm04Z2IyWWdaMkZrWjJWMFNXNW1ieTVwZEdWdGN5NTJZV3gxWlhNb0tTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhScFppZ2dhWFJsYlVsdVptOHVjbVZ0YjNSbFZXNXBkbVZ5YzJWR2NtOXRTWFJsYlNBbUppQnBkR1Z0U1c1bWJ5NXBabUZqWlNCY2NseHVYSFJjZEZ4MFhIUmNkQ1ltSUdsMFpXMUpibVp2TG1keVlXSlRkR0YwWlNBOVBTQk9aWFIzYjNKclpXUkhjbUZpVTNSaGRHVXVVbVZ0YjNSbElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnNaWFFnYTJWNVBXQWtleUJuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtJSDB2SkhzZ2FYUmxiVWx1Wm04dWFYUmxiVWxrSUgxZ08xeHlYRzVjZEZ4MFhIUmNkRngwWTJocGJHUlVjbUZ1YzJadmNtMXpMbkIxYzJnb1hISmNibHgwWEhSY2RGeDBYSFJjZER4QmRsUnlZVzV6Wm05eWJTQnJaWGs5ZXlCclpYa2dmU0IwY21GdWMyWnZjbTA5ZXlCcGRHVnRTVzVtYnk1eVpXMXZkR1ZWYm1sMlpYSnpaVVp5YjIxSmRHVnRJSDArWEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwUEVGMlJXNTBhWFI1UTJocGJHUWdZMmhwYkdROWV5QnBkR1Z0U1c1bWJ5NXBabUZqWlM1d1pXVnlJSDB2UGx4eVhHNWNkRngwWEhSY2RGeDBYSFE4TDBGMlZISmhibk5tYjNKdFBpQXBPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkSEpsZEhWeWJpQThQbnNnWTJocGJHUlVjbUZ1YzJadmNtMXpJSDA4THo0N1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvbmV0d29ya191bml2ZXJzZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL3JlbW90ZV91bml2ZXJzZS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9yZW1vdGVfdW5pdmVyc2UudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogUmVtb3RlVW5pdmVyc2VDb21wb25lbnQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZVVuaXZlcnNlQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW1vdGVVbml2ZXJzZUNvbXBvbmVudDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbnRpdHlfY2hpbGRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW50aXR5X2NoaWxkICovIFxcXCIuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfcmVtb3RlX2dhZGdldCAqLyBcXFwiLi9zcmMvY29tcG9uZW50X3JlbW90ZV9nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9uZXR3b3JrX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL25ldHdvcmtfdW5pdmVyc2UgKi8gXFxcIi4vc3JjL25ldHdvcmtfdW5pdmVyc2UudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY2xhc3MgUmVtb3RlVW5pdmVyc2VDb21wb25lbnQge1xcclxcbiAgICAvKiogQHBhcmFtIGluaXRJbmZvIFRoZSBpbml0aWFsaXphdGlvbiBpbmZvIHBhY2tldCBwcm92aWRlZCBieSB0aGUgTmV0d29ya1VuaXZlcnNlIHRoYXQgdGhpcyByZW1vdGVcXHJcXG4gICAgICogdW5pdmVyc2UgaXMgY29ubmVjdGVkIHRvLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcGFyYW0gb25SZW1vdGVFdmVudCBUaGlzIGNhbGxiYWNrIGlzIGNhbGxlZCB3aGVuIHRoZSByb29tIHNob3VsZCBjb252ZXkgdGhlIHN1cHBsaWVkIGV2ZW50IHRvIHRoZSBuZXR3b3JrXFxyXFxuICAgICAqIHVuaXZlcnNlIGFuZCBjYWxsIHJlbW90ZUV2ZW50KCkgb24gdGhhdCBvYmplY3QuXFxyXFxuICAgICAqXFxyXFxuICAgICAqIGV2ZW50XFx0XFx0VGhlIG9wYXF1ZSBldmVudCBvYmplY3QgdG8gc2VuZFxcclxcbiAgICAgKiByZWxpYWJsZVxcdElmIHRoaXMgaXMgdHJ1ZSwgdGhlIGV2ZW50IG11c3QgYmUgZGVsaXZlcmVkIG9yIHRoZSBnYWRnZXRzIG1heVxcclxcbiAgICAgKiBcXHRcXHRcXHRcXHRcXHRnZXQgb3V0IG9mIHN5bmNoIHdpdGggZWFjaCBvdGhlci4gSWYgdGhpcyBpcyBmYWxzZSwgdGhlIHJvb20gc2hvdWxkXFxyXFxuICAgICAqIFxcdFxcdFxcdFxcdFxcdG1ha2UgaXRzIGJlc3QgZWZmb3J0IHRvIGRlbGl2ZXIgdGhlIGV2ZW50LCBidXQgdGhlIHN5c3RlbSB3aWxsIHJlY292ZXJcXHJcXG4gICAgICogXFx0XFx0XFx0XFx0XFx0aWYgdGhlIGV2ZW50IGlzIGRpc2NhcmRlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIGNvbnN0cnVjdG9yKGluaXRJbmZvLCBvblJlbW90ZUV2ZW50KSB7XFxyXFxuICAgICAgICB0aGlzLnJlbW90ZUdhZGdldHMgPSBuZXcgTWFwKCk7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5RXBhID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuaW5pdEluZm8gPSBpbml0SW5mbztcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlRXZlbnRDYWxsYmFjayA9IG9uUmVtb3RlRXZlbnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgb25VcGRhdGUoY2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBjYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICBzZXRFbnRpdHlFcGEoZXBhKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUVwYSA9IGVwYTtcXHJcXG4gICAgICAgIGlmIChlcGEpIHtcXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBnYWRnZXRJbmZvIG9mIHRoaXMuaW5pdEluZm8uZ2FkZ2V0cykge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdhZGdldChnYWRnZXRJbmZvKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiRGlzY2FyZGluZyBlbnRpdHkgZm9yIHJlbW90ZSB1bml2ZXJzZS4gUmVtb3RlIGdhZGdldHMgd2lsbCBiZSBkZXN0cm95ZWQuXFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgZmluZE9yQWRkSXRlbUluZm8oZ2FkZ2V0SW5mbywgaXRlbUlkKSB7XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm8gPSBnYWRnZXRJbmZvLml0ZW1zLmdldChpdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbykge1xcclxcbiAgICAgICAgICAgIGl0ZW1JbmZvID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgaWZhY2U6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVHcmFiYmFibGVJZmFjZTogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVuaXZlcnNlRnJvbUl0ZW06IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICBncmFiYmVkOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGdyYWJTZW50OiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLnNldChpdGVtSWQsIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBpdGVtSW5mbztcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW90ZUludGVyZmFjZShhY3RpdmVSZW1vdGVHYWRnZXQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCByZW1vdGVQYXJhbXMgPSBhY3RpdmVSZW1vdGVHYWRnZXQucGFyYW1zO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZVBhcmFtcy5yZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm87XFxyXFxuICAgICAgICBpZiAocmVtb3RlUGFyYW1zLml0ZW1JZCkge1xcclxcbiAgICAgICAgICAgIGl0ZW1JbmZvID0gdGhpcy5maW5kT3JBZGRJdGVtSW5mbyhnYWRnZXRJbmZvLCByZW1vdGVQYXJhbXMuaXRlbUlkKTtcXHJcXG4gICAgICAgICAgICBpdGVtSW5mby5pZmFjZSA9IGFjdGl2ZVJlbW90ZUdhZGdldDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGdhZGdldEluZm8uaWZhY2UgPSBhY3RpdmVSZW1vdGVHYWRnZXQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKGBDb25uZWN0aW9uIGZyb20gcmVtb3RlIGdhZGdldCBpZCAke2dhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWR9YCk7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGVHYWRnZXQub25FdmVudCgoZXZlbnQpID0+IHtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIl0uU2VuZEV2ZW50VG9NYXN0ZXI6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbmRFdmVudCA9IGV2ZW50O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlRXZlbnRDYWxsYmFjayh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9uZXR3b3JrX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCJdLlNlbmRNYXN0ZXJHYWRnZXRFdmVudCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JZDogcmVtb3RlUGFyYW1zLml0ZW1JZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHNlbmRFdmVudC5ldmVudFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHNlbmRFdmVudC5yZWxpYWJsZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIl0uU3RhcnRHcmFiOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JbmZvLmdyYWJiZWQgPSB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JhYlN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJSZW1vdGVHYWRnZXRFdmVudFR5cGVcXFwiXS5FbmRHcmFiOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JbmZvLmdyYWJiZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyYWJTdGF0ZShnYWRnZXRJbmZvLCBpdGVtSW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIGFjdGl2ZVJlbW90ZUdhZGdldC5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICBpZiAoZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgICAgICBpZiAoIXJlbW90ZVBhcmFtcy5pdGVtSWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlR2FkZ2V0cy5kZWxldGUoZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLmRlbGV0ZShyZW1vdGVQYXJhbXMuaXRlbUlkKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUdyYWJTdGF0ZShnYWRnZXRJbmZvLCBpdGVtSW5mbykge1xcclxcbiAgICAgICAgbGV0IHNob3VsZEJlR3JhYmJpbmcgPSBpdGVtSW5mby5ncmFiYmVkICYmIGl0ZW1JbmZvLnJlbW90ZUdyYWJiYWJsZUlmYWNlICE9IG51bGw7XFxyXFxuICAgICAgICBpZiAoc2hvdWxkQmVHcmFiYmluZyAhPSBpdGVtSW5mby5ncmFiU2VudCkge1xcclxcbiAgICAgICAgICAgIGlmIChzaG91bGRCZUdyYWJiaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBldnQgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVcXFwiXS5TdGFydEl0ZW1HcmFiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JbmZvLml0ZW1JZCxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGVFdmVudENhbGxiYWNrKGV2dCwgdHJ1ZSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgZXZ0ID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIl0uRW5kSXRlbUdyYWIsXFxyXFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1JZDogaXRlbUluZm8uaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZUV2ZW50Q2FsbGJhY2soZXZ0LCB0cnVlKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaXRlbUluZm8uZ3JhYlNlbnQgPSBzaG91bGRCZUdyYWJiaW5nO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZVJlbW90ZUdyYWJiYWJsZShwYXJhbXMsIHVuaXZlcnNlRnJvbUl0ZW0pIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5yZW1vdGVHYWRnZXRzLmdldChwYXJhbXMucmVtb3RlR2FkZ2V0SWQpO1xcclxcbiAgICAgICAgaWYgKCFnYWRnZXRJbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIGxldCBpdGVtSW5mbyA9IGdhZGdldEluZm8uaXRlbXMuZ2V0KHBhcmFtcy5pdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBpZiAoIWl0ZW1JbmZvLmdyYWJiZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgbGV0IG0gPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIl0uVXBkYXRlTmV0d29ya0l0ZW1UcmFuc2Zvcm0sXFxyXFxuICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IHBhcmFtcy5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICBpdGVtSWQ6IHBhcmFtcy5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgdW5pdmVyc2VGcm9tR2FkZ2V0OiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIm1pbmltYWxQb3NlRnJvbVRyYW5zZm9ybVxcXCJdKSh1bml2ZXJzZUZyb21JdGVtKSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLnJlbW90ZUV2ZW50Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIG0sIGZhbHNlKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW90ZUdyYWJiYWJsZShhY3RpdmVSZW1vdGVHcmFiYmFibGUpIHtcXHJcXG4gICAgICAgIGxldCByZW1vdGVQYXJhbXMgPSBhY3RpdmVSZW1vdGVHcmFiYmFibGUucGFyYW1zO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZVBhcmFtcy5yZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBpZiAoIWdhZGdldEluZm8pXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgbGV0IGl0ZW1JbmZvID0gZ2FkZ2V0SW5mby5pdGVtcy5nZXQocmVtb3RlUGFyYW1zLml0ZW1JZCk7XFxyXFxuICAgICAgICBpZiAoIWl0ZW1JbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIHRoaXMudXBkYXRlUmVtb3RlR3JhYmJhYmxlKHJlbW90ZVBhcmFtcywgYWN0aXZlUmVtb3RlR3JhYmJhYmxlLnNlbGZGcm9tUGVlcik7XFxyXFxuICAgICAgICBpdGVtSW5mby5yZW1vdGVHcmFiYmFibGVJZmFjZSA9IGFjdGl2ZVJlbW90ZUdyYWJiYWJsZTtcXHJcXG4gICAgICAgIHRoaXMudXBkYXRlR3JhYlN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgIGFjdGl2ZVJlbW90ZUdyYWJiYWJsZS5vblRyYW5zZm9ybVVwZGF0ZWQoKHVuaXZlcnNlRnJvbUl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVJlbW90ZUdyYWJiYWJsZShyZW1vdGVQYXJhbXMsIHVuaXZlcnNlRnJvbUl0ZW0pO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGVHcmFiYmFibGUub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgaXRlbUluZm8ucmVtb3RlR3JhYmJhYmxlSWZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR3JhYlN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgeyBpZmFjZTogX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCJdLmludGVyZmFjZU5hbWUsIHByb2Nlc3NvcjogdGhpcy5vblJlbW90ZUludGVyZmFjZSB9LFxcclxcbiAgICAgICAgICAgIHsgaWZhY2U6IF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCJdLCBwcm9jZXNzb3I6IHRoaXMub25SZW1vdGVHcmFiYmFibGUgfSxcXHJcXG4gICAgICAgIF07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9XFxyXFxuICAgIG5ldHdvcmtFdmVudChldmVudCkge1xcclxcbiAgICAgICAgbGV0IGUgPSBldmVudDtcXHJcXG4gICAgICAgIHN3aXRjaCAoZS50eXBlKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVcXFwiXS5DcmVhdGVSZW1vdGVHYWRnZXQ6XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR2FkZ2V0KGUuZ2FkZ2V0SW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIl0uRGVzdHJveVJlbW90ZUdhZGdldDpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95R2FkZ2V0KGUucmVtb3RlR2FkZ2V0SWQpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIF9uZXR3b3JrX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCJdLlVwZGF0ZVJlbW90ZUdhZGdldFRyYW5zZm9ybTpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHYWRnZXRUcmFuc2Zvcm0oZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUudW5pdmVyc2VGcm9tR2FkZ2V0KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVcXFwiXS5Ccm9hZGNhc3RSZW1vdGVHYWRnZXRFdmVudDpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tYXN0ZXJFdmVudChlLnJlbW90ZUdhZGdldElkLCBlLmV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgY3JlYXRlR2FkZ2V0KGdhZGdldEluZm8pIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnJlbW90ZUdhZGdldHMuaGFzKGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQpKSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGUgY3JlYXRlR2FkZ2V0IGZvciByZW1vdGUgZ2FkZ2V0IGlkICR7Z2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZH0gd2l0aCAke2dhZGdldEluZm8udXJsfWApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKCF0aGlzLmVudGl0eUVwYSkge1xcclxcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY3JlYXRlR2FkZ2V0IGJlZm9yZSB0aGUgZW50aXR5IGdhdmUgdXMgdGhlaXIgRW5kcG9pbnQgQWRkcmVzc2ApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IG5ld0dhZGdldCA9IHtcXHJcXG4gICAgICAgICAgICByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICB1cmw6IGdhZGdldEluZm8udXJsLFxcclxcbiAgICAgICAgICAgIHJlbW90ZUxvY2tzOiBnYWRnZXRJbmZvLnJlbW90ZUxvY2tzLFxcclxcbiAgICAgICAgICAgIGlmYWNlOiBudWxsLFxcclxcbiAgICAgICAgICAgIHVuaXZlcnNlRnJvbUdhZGdldDogZ2FkZ2V0SW5mby51bml2ZXJzZUZyb21HYWRnZXQsXFxyXFxuICAgICAgICAgICAgaXRlbXM6IG5ldyBNYXAoKSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICBmb3IgKGxldCBpdGVtIG9mICgoX2EgPSBnYWRnZXRJbmZvLml0ZW1zKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBbXSkpIHtcXHJcXG4gICAgICAgICAgICBuZXdHYWRnZXQuaXRlbXMuc2V0KGl0ZW0uaXRlbUlkLCB7XFxyXFxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXRlbS5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgICAgIGlmYWNlOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICByZW1vdGVHcmFiYmFibGVJZmFjZTogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgdW5pdmVyc2VGcm9tSXRlbTogaXRlbS5yZW1vdGVVbml2ZXJzZUZyb21JdGVtLFxcclxcbiAgICAgICAgICAgICAgICBncmFiYmVkOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgZ3JhYlNlbnQ6IGZhbHNlLFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5yZW1vdGVHYWRnZXRzLnNldChnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkLCBuZXdHYWRnZXQpO1xcclxcbiAgICAgICAgbGV0IGZ1bGxMb2NrTGlzdCA9IFsuLi5nYWRnZXRJbmZvLnJlbW90ZUxvY2tzLFxcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJSZW1vdGVHYWRnZXRDb21wb25lbnRcXFwiXS5pbnRlcmZhY2VOYW1lLFxcclxcbiAgICAgICAgICAgICAgICByZWNlaXZlcjogdGhpcy5lbnRpdHlFcGEsXFxyXFxuICAgICAgICAgICAgICAgIHBhcmFtczogeyByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCB9LFxcclxcbiAgICAgICAgICAgIH1dO1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc3RhcnRHYWRnZXQoZ2FkZ2V0SW5mby51cmwsIGZ1bGxMb2NrTGlzdCk7XFxyXFxuICAgIH1cXHJcXG4gICAgZGVzdHJveUdhZGdldChyZW1vdGVHYWRnZXRJZCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGxldCBldmVudCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIl0uRGVzdHJveUdhZGdldCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSBnYWRnZXRJbmZvID09PSBudWxsIHx8IGdhZGdldEluZm8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdhZGdldEluZm8uaWZhY2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQoZXZlbnQpO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUdhZGdldFRyYW5zZm9ybShyZW1vdGVHYWRnZXRJZCwgaXRlbUlkLCB1bml2ZXJzZUZyb21HYWRnZXQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5yZW1vdGVHYWRnZXRzLmdldChyZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBpZiAoZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgIGlmIChpdGVtSWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmZvID0gdGhpcy5maW5kT3JBZGRJdGVtSW5mbyhnYWRnZXRJbmZvLCBpdGVtSWQpO1xcclxcbiAgICAgICAgICAgICAgICBpdGVtSW5mby51bml2ZXJzZUZyb21JdGVtID0gdW5pdmVyc2VGcm9tR2FkZ2V0O1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgZ2FkZ2V0SW5mby51bml2ZXJzZUZyb21HYWRnZXQgPSB1bml2ZXJzZUZyb21HYWRnZXQ7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIChfYSA9IHRoaXMuZW50aXR5Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG1hc3RlckV2ZW50KHJlbW90ZUdhZGdldElkLCBldmVudCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGxldCBzZW5kRXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXFxcIlJlbW90ZUdhZGdldEV2ZW50VHlwZVxcXCJdLlJlY2VpdmVFdmVudEZyb21NYXN0ZXIsXFxyXFxuICAgICAgICAgICAgZXZlbnQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gZ2FkZ2V0SW5mbyA9PT0gbnVsbCB8fCBnYWRnZXRJbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBnYWRnZXRJbmZvLmlmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KHNlbmRFdmVudCk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gW107XFxyXFxuICAgICAgICBmb3IgKGxldCBnYWRnZXQgb2YgdGhpcy5yZW1vdGVHYWRnZXRzLnZhbHVlcygpKSB7XFxyXFxuICAgICAgICAgICAgaWYgKCFnYWRnZXQuaWZhY2UgfHwgIWdhZGdldC51bml2ZXJzZUZyb21HYWRnZXQpXFxyXFxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xcclxcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2Zvcm06IGdhZGdldC51bml2ZXJzZUZyb21HYWRnZXQsIGtleTogZ2FkZ2V0LnJlbW90ZUdhZGdldElkIH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogZ2FkZ2V0LmlmYWNlLnBlZXIsIGtleTogZ2FkZ2V0LnJlbW90ZUdhZGdldElkIH0pKSk7XFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBnYWRnZXQuaXRlbXMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCFpdGVtLmlmYWNlIHx8ICFpdGVtLnVuaXZlcnNlRnJvbUl0ZW0gfHwgaXRlbS5ncmFiYmVkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBsZXQga2V5ID0gYCR7Z2FkZ2V0LnJlbW90ZUdhZGdldElkfS8ke2l0ZW0uaXRlbUlkfWA7XFxyXFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2Zvcm06IGl0ZW0udW5pdmVyc2VGcm9tSXRlbSwga2V5OiBrZXkgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogaXRlbS5pZmFjZS5wZWVyLCBrZXk6IGtleSB9KSkpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oXFxcImRpdlxcXCIsIHsga2V5OiBcXFwicmVtb3RlX3VuaXZlcnNlXFxcIiB9LCBjaGlsZHJlbik7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIFJlbW90ZVVuaXZlcnNlQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlSW50ZXJmYWNlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIFJlbW90ZVVuaXZlcnNlQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlR3JhYmJhYmxlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTl5WlcxdmRHVmZkVzVwZG1WeWMyVXVkSE40UHpaa05HVWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN096czdPenM3TzBGQlFYbEpPMEZCUTNaSE8wRkJRMGc3UVVGRmVVSTdRVUZEV0R0QlFVVk5PMEZCUTIxSE8wRkJRMUk3UVVFclEzWkpMRTFCUVUwc2RVSkJRWFZDTzBsQlVXNURPenM3T3pzN096czdPenRQUVZkSE8wbEJRMGdzV1VGQllTeFJRVUZuUWl4RlFVRkZMR0ZCUVRKRU8xRkJiRUpzUml4clFrRkJZU3hIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUU0UWl4RFFVRkRPMUZCUlhSRUxHMUNRVUZqTEVkQlFXVXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExHTkJRVk1zUjBGQmFVSXNTVUZCU1N4RFFVRkRPMUZCYVVKMFF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRkZCUVRSQ0xFTkJRVU03VVVGRE4wTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEdGQlFXRXNRMEZCUXp0SlFVTXhReXhEUVVGRE8wbEJSVTBzVVVGQlVTeERRVUZGTEZGQlFXOUNPMUZCUlhCRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGRlRTeFpRVUZaTEVOQlFVVXNSMEZCYVVJN1VVRkZja01zU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1VVRkZja0lzU1VGQlNTeEhRVUZITEVWQlExQTdXVUZEUXl4TFFVRkxMRWxCUVVrc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVTTFRenRuUWtGRFF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZMRlZCUVZVc1EwRkJSU3hEUVVGRE8yRkJRMmhETzFOQlEwUTdZVUZGUkR0WlFVTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzTUVWQlFUQkZMRU5CUVVNN1UwRkRlRVk3U1VGRFJpeERRVUZETzBsQlJVMHNhVUpCUVdsQ0xFTkJRVVVzVlVGQk5FSXNSVUZCUlN4TlFVRmpPMUZCUlhKRkxFbEJRVWtzVVVGQlVTeEhRVUZITEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETzFGQlF6bERMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRMkk3V1VGRFF5eFJRVUZSTzJkQ1FVTlNPMjlDUVVORExFMUJRVTA3YjBKQlEwNHNTMEZCU3l4RlFVRkZMRWxCUVVrN2IwSkJRMWdzYjBKQlFXOUNMRVZCUVVVc1NVRkJTVHR2UWtGRE1VSXNaMEpCUVdkQ0xFVkJRVVVzU1VGQlNUdHZRa0ZEZEVJc1QwRkJUeXhGUVVGRkxFdEJRVXM3YjBKQlEyUXNVVUZCVVN4RlFVRkZMRXRCUVVzN2FVSkJRMllzUTBGQlF6dFpRVU5HTEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0VFFVTjZRenRSUVVORUxFOUJRVThzVVVGQlVTeERRVUZETzBsQlEycENMRU5CUVVNN1NVRkhUeXhwUWtGQmFVSXNRMEZCUlN4clFrRkJiVU03TzFGQlJUZEVMRWxCUVVrc1dVRkJXU3hIUVVGSExHdENRVUZyUWl4RFFVRkRMRTFCUVRoQ0xFTkJRVU03VVVGRGNrVXNTVUZCU1N4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEVOQlFVVXNXVUZCV1N4RFFVRkRMR05CUVdNc1EwRkJSU3hEUVVGRE8xRkJRM1pGTEVsQlFVa3NVVUZCZDBJc1EwRkJRenRSUVVNM1FpeEpRVUZKTEZsQlFWa3NRMEZCUXl4TlFVRk5MRVZCUTNaQ08xbEJRME1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlJTeFZRVUZWTEVWQlFVVXNXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRE8xbEJRM0pGTEZGQlFWRXNRMEZCUXl4TFFVRkxMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTTdVMEZEY0VNN1lVRkZSRHRaUVVORExGVkJRVlVzUTBGQlF5eExRVUZMTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU03VTBGRGRFTTdVVUZEUkN4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRSUVVONFFpeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkZMRzlEUVVGeFF5eFZRVUZWTEVOQlFVTXNZMEZCWlN4RlFVRkZMRU5CUVVVc1EwRkJRenRSUVVWcVJpeHJRa0ZCYTBJc1EwRkJReXhQUVVGUExFTkJRVVVzUTBGQlJTeExRVUYzUWl4RlFVRkhMRVZCUVVVN1dVRkZNVVFzVVVGQlVTeExRVUZMTEVOQlFVTXNTVUZCU1N4RlFVTnNRanRuUWtGRFF5eExRVUZMTERoRlFVRnhRaXhEUVVGRExHbENRVUZwUWp0dlFrRkROVU03ZDBKQlEwTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1MwRkJjVUlzUTBGQlF6dDNRa0ZEZEVNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVTjJRanMwUWtGRFF5eEpRVUZKTEVWQlFVVXNNRVZCUVhkQ0xFTkJRVU1zY1VKQlFYRkNPelJDUVVOd1JDeGpRVUZqTEVWQlFVVXNWVUZCVlN4RFFVRkRMR05CUVdNN05FSkJRM3BETEUxQlFVMHNSVUZCUlN4WlFVRlpMRU5CUVVNc1RVRkJUVHMwUWtGRE0wSXNTMEZCU3l4RlFVRkZMRk5CUVZNc1EwRkJReXhMUVVGTE8zbENRVU5GTEVWQlFVVXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJSU3hEUVVGRE8zRkNRVU5xUkR0dlFrRkRSQ3hOUVVGTk8yZENRVVZPTEV0QlFVc3NPRVZCUVhGQ0xFTkJRVU1zVTBGQlV6dHZRa0ZEY0VNN2QwSkJRME1zVVVGQlVTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN2QwSkJRM2hDTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVVc1ZVRkJWU3hGUVVGRkxGRkJRVkVzUTBGQlJTeERRVUZETzNGQ1FVTTNRenR2UWtGRFJDeE5RVUZOTzJkQ1FVVk9MRXRCUVVzc09FVkJRWEZDTEVOQlFVTXNUMEZCVHp0dlFrRkRiRU03ZDBKQlEwTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU03ZDBKQlEzcENMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVVVzVlVGQlZTeEZRVUZGTEZGQlFWRXNRMEZCUlN4RFFVRkRPM0ZDUVVNM1F6dHZRa0ZEUkN4TlFVRk5PMkZCUTA0N1VVRkRSaXhEUVVGRExFTkJRVVVzUTBGQlF6dFJRVVZLTEd0Q1FVRnJRaXhEUVVGRExFOUJRVThzUTBGQlJTeEhRVUZITEVWQlFVVTdXVUZGYUVNc1NVRkJTU3hWUVVGVkxFVkJRMlE3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhOUVVGTkxFVkJRM2hDTzI5Q1FVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zVFVGQlRTeERRVUZGTEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVVc1EwRkJRenRwUWtGRGRrUTdjVUpCUlVRN2IwSkJRME1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVVc1dVRkJXU3hEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzJsQ1FVTXZRenRoUVVORU8xRkJRMFlzUTBGQlF5eERRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlU4c1pVRkJaU3hEUVVGRkxGVkJRVFJDTEVWQlFVVXNVVUZCZDBJN1VVRkZPVVVzU1VGQlNTeG5Ra0ZCWjBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVDBGQlR5eEpRVUZKTEZGQlFWRXNRMEZCUXl4dlFrRkJiMElzU1VGQlNTeEpRVUZKTEVOQlFVTTdVVUZGYWtZc1NVRkJTU3huUWtGQlowSXNTVUZCU1N4UlFVRlJMRU5CUVVNc1VVRkJVU3hGUVVONlF6dFpRVVZETEVsQlFVa3NaMEpCUVdkQ0xFVkJRM0JDTzJkQ1FVTkRMRWxCUVVrc1IwRkJSeXhIUVVOUU8yOUNRVU5ETEVsQlFVa3NSVUZCUlN3d1JVRkJkMElzUTBGQlF5eGhRVUZoTzI5Q1FVTTFReXhqUVVGakxFVkJRVVVzVlVGQlZTeERRVUZETEdOQlFXTTdiMEpCUTNwRExFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVTXNUVUZCVFR0cFFrRkRka0lzUTBGQlF6dG5Ra0ZGUml4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVVXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8yRkJRM1JETzJsQ1FVVkVPMmRDUVVWRExFbEJRVWtzUjBGQlJ5eEhRVU5RTzI5Q1FVTkRMRWxCUVVrc1JVRkJSU3d3UlVGQmQwSXNRMEZCUXl4WFFVRlhPMjlDUVVNeFF5eGpRVUZqTEVWQlFVVXNWVUZCVlN4RFFVRkRMR05CUVdNN2IwSkJRM3BETEUxQlFVMHNSVUZCUlN4UlFVRlJMRU5CUVVNc1RVRkJUVHRwUWtGRGRrSXNRMEZCUXp0blFrRkZSaXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVVc1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzJGQlEzUkRPMWxCUlVRc1VVRkJVU3hEUVVGRExGRkJRVkVzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJRenRUUVVOeVF6dEpRVU5HTEVOQlFVTTdTVUZGVHl4eFFrRkJjVUlzUTBGQlJTeE5RVUUwUWl4RlFVRkZMR2RDUVVGcFF6czdVVUZGTjBZc1NVRkJTU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVVc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlJTeERRVUZETzFGQlEycEZMRWxCUVVrc1EwRkJReXhWUVVGVk8xbEJRMlFzVDBGQlR6dFJRVVZTTEVsQlFVa3NVVUZCVVN4SFFVRkhMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVVc1EwRkJRenRSUVVOeVJDeEpRVUZKTEVOQlFVTXNVVUZCVVR0WlFVTmFMRTlCUVU4N1VVRkZVaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVODdXVUZEY0VJc1QwRkJUenRSUVVWU0xFbEJRVWtzUTBGQlF5eEhRVU5NTzFsQlEwTXNTVUZCU1N4RlFVRkZMREJGUVVGM1FpeERRVUZETERCQ1FVRXdRanRaUVVONlJDeGpRVUZqTEVWQlFVVXNUVUZCVFN4RFFVRkRMR05CUVdNN1dVRkRja01zVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5PMWxCUTNKQ0xHdENRVUZyUWl4RlFVRkZMRFJHUVVGM1FpeERRVUZGTEdkQ1FVRm5RaXhEUVVGRk8xTkJRMmhGTzFGQlEwUXNWVUZCU1N4RFFVRkRMRzFDUVVGdFFpd3JRMEZCZUVJc1NVRkJTU3hGUVVGM1FpeERRVUZETEVWQlFVVXNTMEZCU3l4RlFVRkhPMGxCUTNoRExFTkJRVU03U1VGSFR5eHBRa0ZCYVVJc1EwRkJSU3h4UWtGQmMwTTdVVUZGYUVVc1NVRkJTU3haUVVGWkxFZEJRVWNzY1VKQlFYRkNMRU5CUVVNc1RVRkJPRUlzUTBGQlF6dFJRVVY0UlN4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVkQlFVY3NRMEZCUlN4WlFVRlpMRU5CUVVNc1kwRkJZeXhEUVVGRkxFTkJRVU03VVVGRGRrVXNTVUZCU1N4RFFVRkRMRlZCUVZVN1dVRkRaQ3hQUVVGUE8xRkJSVklzU1VGQlNTeFJRVUZSTEVkQlFVY3NWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVVVzV1VGQldTeERRVUZETEUxQlFVMHNRMEZCUlN4RFFVRkRPMUZCUXpORUxFbEJRVWtzUTBGQlF5eFJRVUZSTzFsQlExb3NUMEZCVHp0UlFVVlNMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUlN4WlFVRlpMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNXVUZCV1N4RFFVRkZMRU5CUVVNN1VVRkRMMFVzVVVGQlVTeERRVUZETEc5Q1FVRnZRaXhIUVVGSExIRkNRVUZ4UWl4RFFVRkRPMUZCUTNSRUxFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVVXNWVUZCVlN4RlFVRkZMRkZCUVZFc1EwRkJSU3hEUVVGRE8xRkJTVGRETEhGQ1FVRnhRaXhEUVVGRExHdENRVUZyUWl4RFFVRkZMRU5CUVVVc1owSkJRV2xETEVWQlFVY3NSVUZCUlR0WlFVVnFSaXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVVc1dVRkJXU3hGUVVGRkxHZENRVUZuUWl4RFFVRkRPMUZCUXpWRUxFTkJRVU1zUTBGQlJTeERRVUZETzFGQlJVb3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR5eERRVUZGTEVkQlFVY3NSVUZCUlR0WlFVVnVReXhSUVVGUkxFTkJRVU1zYjBKQlFXOUNMRWRCUVVjc1NVRkJTU3hEUVVGRE8xbEJRM0pETEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVVc1ZVRkJWU3hGUVVGRkxGRkJRVkVzUTBGQlJTeERRVUZETzFGQlF6bERMRU5CUVVNc1EwRkJSVHRKUVVOS0xFTkJRVU03U1VGRlJDeEpRVUZYTEZGQlFWRTdVVUZGYkVJc1QwRkJUenRaUVVOT0xFVkJRVVVzUzBGQlN5eEZRVUZGTERoRlFVRnhRaXhEUVVGRExHRkJRV0VzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTzFsQlEycEdMRVZCUVVVc1MwRkJTeXhGUVVGRkxHMUdRVUV3UWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVN1UwRkRlRVVzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkN4SlFVRlhMR1ZCUVdVN1VVRkZla0lzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlUwc1dVRkJXU3hEUVVGRkxFdEJRV0U3VVVGRmFrTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1MwRkJOa0lzUTBGQlF6dFJRVU4wUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRMlE3V1VGRFF5eExRVUZMTERCRlFVRjNRaXhEUVVGRExHdENRVUZyUWp0blFrRkRMME1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUlN4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFTkJRVU03WjBKQlEyeERMRTFCUVUwN1dVRkZVQ3hMUVVGTExEQkZRVUYzUWl4RFFVRkRMRzFDUVVGdFFqdG5Ra0ZEYUVRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlJTeERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkZMRU5CUVVNN1owSkJRM1pETEUxQlFVMDdXVUZGVUN4TFFVRkxMREJGUVVGM1FpeERRVUZETERKQ1FVRXlRanRuUWtGRGVFUXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZGTEVOQlFVTXNRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVVVzUTBGQlF6dG5Ra0ZETDBVc1RVRkJUVHRaUVVWUUxFdEJRVXNzTUVWQlFYZENMRU5CUVVNc01FSkJRVEJDTzJkQ1FVTjJSQ3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZGTEVOQlFVTXNRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlJTeERRVUZETzJkQ1FVTTVReXhOUVVGTk8xTkJRMUE3U1VGRFJpeERRVUZETzBsQlJVOHNXVUZCV1N4RFFVRkZMRlZCUVN0Q096dFJRVVZ3UkN4SlFVRkpMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZGTEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVVc1JVRkRka1E3V1VGRFF5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVTmtMQ3REUVVGblJDeFZRVUZWTEVOQlFVTXNZMEZCWlN4VFFVRlZMRlZCUVZVc1EwRkJReXhIUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZETzFOQlEzcEhPMUZCUTBRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlEyNUNPMWxCUTBNc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlJTd3JSRUZCSzBRc1EwRkJSU3hEUVVGRE8xTkJRMjVHTzFGQlJVUXNTVUZCU1N4VFFVRlRMRWRCUTJJN1dVRkRReXhqUVVGakxFVkJRVVVzVlVGQlZTeERRVUZETEdOQlFXTTdXVUZEZWtNc1IwRkJSeXhGUVVGRkxGVkJRVlVzUTBGQlF5eEhRVUZITzFsQlEyNUNMRmRCUVZjc1JVRkJSU3hWUVVGVkxFTkJRVU1zVjBGQlZ6dFpRVU51UXl4TFFVRkxMRVZCUVVVc1NVRkJTVHRaUVVOWUxHdENRVUZyUWl4RlFVRkZMRlZCUVZVc1EwRkJReXhyUWtGQmEwSTdXVUZEYWtRc1MwRkJTeXhGUVVGRkxFbEJRVWtzUjBGQlJ5eEZRVUV3UWp0VFFVTjRReXhEUVVGRE8xRkJSVVlzUzBGQlN5eEpRVUZKTEVsQlFVa3NTVUZCU1N4UFFVRkZMRlZCUVZVc1EwRkJReXhMUVVGTExHMURRVUZKTEVWQlFVVXNRMEZCUlN4RlFVTXpRenRaUVVORExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJReTlDTzJkQ1FVTkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zVFVGQlRUdG5Ra0ZEYmtJc1MwRkJTeXhGUVVGRkxFbEJRVWs3WjBKQlExZ3NiMEpCUVc5Q0xFVkJRVVVzU1VGQlNUdG5Ra0ZETVVJc1owSkJRV2RDTEVWQlFVVXNTVUZCU1N4RFFVRkRMSE5DUVVGelFqdG5Ra0ZETjBNc1QwRkJUeXhGUVVGRkxFdEJRVXM3WjBKQlEyUXNVVUZCVVN4RlFVRkZMRXRCUVVzN1lVRkRaaXhEUVVGRkxFTkJRVU03VTBGRFREdFJRVVZFTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRkxGVkJRVlVzUTBGQlF5eGpRVUZqTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1VVRkZMMFFzU1VGQlNTeFpRVUZaTEVkQlFVY3NRMEZCUlN4SFFVRkhMRlZCUVZVc1EwRkJReXhYUVVGWE8xbEJRemxETzJkQ1FVTkRMRXRCUVVzc1JVRkJSU3c0UlVGQmNVSXNRMEZCUXl4aFFVRmhPMmRDUVVNeFF5eFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNN1owSkJRM2hDTEUxQlFVMHNSVUZCUlN4RlFVRkZMR05CUVdNc1JVRkJSU3hWUVVGVkxFTkJRVU1zWTBGQll5eEZRVUZGTzJGQlEzSkVMRU5CUVVVc1EwRkJRenRSUVVWS0xIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVGRkxGVkJRVlVzUTBGQlF5eEhRVUZITEVWQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVNN1NVRkRha1VzUTBGQlF6dEpRVVZQTEdGQlFXRXNRMEZCUlN4alFVRnpRanM3VVVGRk5VTXNTVUZCU1N4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEVOQlFVVXNZMEZCWXl4RFFVRkZMRU5CUVVNN1VVRkZNVVFzU1VGQlNTeExRVUZMTEVkQlExUTdXVUZEUXl4SlFVRkpMRVZCUVVVc09FVkJRWEZDTEVOQlFVTXNZVUZCWVR0VFFVTjZReXhEUVVGRE8xRkJSVVlzWjBKQlFWVXNZVUZCVml4VlFVRlZMSFZDUVVGV0xGVkJRVlVzUTBGQlJTeExRVUZMTERCRFFVRkZMRk5CUVZNc1EwRkJSU3hMUVVGTExFVkJRVWM3U1VGRGRrTXNRMEZCUXp0SlFVVlBMSEZDUVVGeFFpeERRVUZGTEdOQlFYTkNMRVZCUVVVc1RVRkJZeXhGUVVGRkxHdENRVUVyUWpzN1VVRkZja2NzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVVVzWTBGQll5eERRVUZGTEVOQlFVTTdVVUZETVVRc1NVRkJTU3hWUVVGVkxFVkJRMlE3V1VGRFF5eEpRVUZKTEUxQlFVMHNSVUZEVmp0blFrRkRReXhKUVVGSkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVVVzVlVGQlZTeEZRVUZGTEUxQlFVMHNRMEZCUlN4RFFVRkRPMmRDUVVNMVJDeFJRVUZSTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzYTBKQlFXdENMRU5CUVVNN1lVRkRMME03YVVKQlJVUTdaMEpCUTBNc1ZVRkJWU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMR3RDUVVGclFpeERRVUZETzJGQlEyNUVPMWxCUTBRc1ZVRkJTU3hEUVVGRExHTkJRV01zSzBOQlFXNUNMRWxCUVVrc1JVRkJiMEk3VTBGRGVFSTdTVUZEUml4RFFVRkRPMGxCUlU4c1YwRkJWeXhEUVVGRkxHTkJRWE5DTEVWQlFVVXNTMEZCWVRzN1VVRkZla1FzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVVVzWTBGQll5eERRVUZGTEVOQlFVTTdVVUZGTVVRc1NVRkJTU3hUUVVGVExFZEJRMkk3V1VGRFF5eEpRVUZKTEVWQlFVVXNPRVZCUVhGQ0xFTkJRVU1zYzBKQlFYTkNPMWxCUTJ4RUxFdEJRVXM3VTBGRFRDeERRVUZETzFGQlJVWXNaMEpCUVZVc1lVRkJWaXhWUVVGVkxIVkNRVUZXTEZWQlFWVXNRMEZCUlN4TFFVRkxMREJEUVVGRkxGTkJRVk1zUTBGQlJTeFRRVUZUTEVWQlFVYzdTVUZETTBNc1EwRkJRenRKUVVWRUxFMUJRVTA3VVVGRlRDeEpRVUZKTEZGQlFWRXNSMEZCYTBJc1JVRkJSU3hEUVVGRE8xRkJRMnBETEV0QlFVc3NTVUZCU1N4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZET1VNN1dVRkRReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhyUWtGQmEwSTdaMEpCUXpsRExGTkJRVk03V1VGRlZpeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkZMRzlFUVVGRExDdEVRVUZYTEVsQlFVTXNVMEZCVXl4RlFVRkhMRTFCUVUwc1EwRkJReXhyUWtGQmEwSXNSVUZCUnl4SFFVRkhMRVZCUVVjc1RVRkJUU3hEUVVGRExHTkJRV003WjBKQlF6ZEdMRzlFUVVGRExHOUZRVUZoTEVsQlFVTXNTMEZCU3l4RlFVRkhMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeEZRVUZITEVkQlFVY3NSVUZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhIUVVGSkxFTkJRemRFTEVOQlFVVXNRMEZCUXp0WlFVVnNRaXhMUVVGTExFbEJRVWtzU1VGQlNTeEpRVUZKTEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRM1JETzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUTNwRU8yOUNRVU5ETEZOQlFWTTdhVUpCUTFRN1owSkJSVVFzU1VGQlNTeEhRVUZITEVkQlFVY3NSMEZCU1N4TlFVRk5MRU5CUVVNc1kwRkJaU3hKUVVGTExFbEJRVWtzUTBGQlF5eE5RVUZQTEVWQlFVVXNRMEZCUXp0blFrRkRlRVFzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUlN4dlJFRkJReXdyUkVGQlZ5eEpRVUZETEZOQlFWTXNSVUZCUnl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVWQlFVY3NSMEZCUnl4RlFVRkhMRWRCUVVjN2IwSkJRM2hGTEc5RVFVRkRMRzlGUVVGaExFbEJRVU1zUzBGQlN5eEZRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVGSExFZEJRVWNzUlVGQlJ5eEhRVUZITEVkQlFVa3NRMEZEZWtNc1EwRkJSU3hEUVVGRE8yRkJRMnBDTzFOQlEwUTdVVUZGUkN4UFFVRlBMRFpFUVVGTExFZEJRVWNzUlVGQlF5eHBRa0ZCYVVJc1NVRkROMElzVVVGQlVTeERRVU5NTEVOQlFVTTdTVUZEVkN4RFFVRkRPME5CUTBRN1FVRjJWRUU3U1VGRVF5eHhSRUZCU1R0blJVRnBSVW83UVVFMlJFUTdTVUZFUXl4eFJFRkJTVHRuUlVFMlFrb2lMQ0ptYVd4bElqb2lMaTl6Y21NdmNtVnRiM1JsWDNWdWFYWmxjbk5sTG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVGMlRtOWtaVlJ5WVc1elptOXliU3dnUlc1a2NHOXBiblJCWkdSeUxDQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWpheXdnVFdsdWFXMWhiRkJ2YzJVc0lHMXBibWx0WVd4UWIzTmxSbkp2YlZSeVlXNXpabTl5YlNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJGYm5ScGRIbERiMjF3YjI1bGJuUWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMk52YlhCdmMyVmtYMlZ1ZEdsMGVTYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlJXNTBhWFI1UTJocGJHUWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMlZ1ZEdsMGVWOWphR2xzWkNjN1hISmNibWx0Y0c5eWRDQjdJRUYyUjJGa1oyVjBJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTluWVdSblpYUW5PMXh5WEc1cGJYQnZjblFnZXlCQlkzUnBkbVZKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJsdWRHVnlabUZqWlY5bGJuUnBkSGtuTzF4eVhHNXBiWEJ2Y25RZ2V5QkJkbFJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmZEhKaGJuTm1iM0p0Snp0Y2NseHVhVzF3YjNKMElIc2dhMTl5WlcxdmRHVkhjbUZpWW1GaWJHVkpiblJsY21aaFkyVXNJRkpsYlc5MFpVZGhaR2RsZEVOdmJYQnZibVZ1ZEN3Z1VtVnRiM1JsUjJGa1oyVjBSWFpsYm5Rc0lGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaU3dnVWtkRlUyVnVaRVYyWlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZjbVZ0YjNSbFgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRTVsZEhkdmNtdGxaRWRoWkdkbGRFbHVabThzSUU1bGRIZHZjbXRsWkVsMFpXMUpibVp2TENCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRDd2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExDQlZibWwyWlhKelpVbHVhWFJKYm1adklIMGdabkp2YlNBbkxpOXVaWFIzYjNKclgzVnVhWFpsY25ObEp6dGNjbHh1WEhKY2JtbHVkR1Z5Wm1GalpTQlNaVzF2ZEdWVmJtbDJaWEp6WlZCeWIzQnpYSEpjYm50Y2NseHVYSFF2S2lvZ1ZHaHBjeUJqWVd4c1ltRmpheUJwY3lCallXeHNaV1FnZDJobGJpQjBhR1VnY205dmJTQnphRzkxYkdRZ1kyOXVkbVY1SUhSb1pTQnpkWEJ3YkdsbFpDQmxkbVZ1ZENCMGJ5QjBhR1VnYm1WMGQyOXlhMXh5WEc1Y2RDQXFJSFZ1YVhabGNuTmxJR0Z1WkNCallXeHNJSEpsYlc5MFpVVjJaVzUwS0NrZ2IyNGdkR2hoZENCdlltcGxZM1F1SUZ4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCd1lYSmhiU0JsZG1WdWRGeDBYSFJVYUdVZ2IzQmhjWFZsSUdWMlpXNTBJRzlpYW1WamRDQjBieUJ6Wlc1a1hISmNibHgwSUNvZ1FIQmhjbUZ0SUhKbGJHbGhZbXhsWEhSSlppQjBhR2x6SUdseklIUnlkV1VzSUhSb1pTQmxkbVZ1ZENCdGRYTjBJR0psSUdSbGJHbDJaWEpsWkNCdmNpQjBhR1VnWjJGa1oyVjBjeUJ0WVhrZ1hISmNibHgwSUNvZ1hIUmNkRngwWEhSY2RHZGxkQ0J2ZFhRZ2IyWWdjM2x1WTJnZ2QybDBhQ0JsWVdOb0lHOTBhR1Z5TGlCSlppQjBhR2x6SUdseklHWmhiSE5sTENCMGFHVWdjbTl2YlNCemFHOTFiR1JjY2x4dVhIUWdLaUJjZEZ4MFhIUmNkRngwYldGclpTQnBkSE1nWW1WemRDQmxabVp2Y25RZ2RHOGdaR1ZzYVhabGNpQjBhR1VnWlhabGJuUXNJR0oxZENCMGFHVWdjM2x6ZEdWdElIZHBiR3dnY21WamIzWmxjbHh5WEc1Y2RDQXFJRngwWEhSY2RGeDBYSFJwWmlCMGFHVWdaWFpsYm5RZ2FYTWdaR2x6WTJGeVpHVmtMbHh5WEc1Y2RDQXFMMXh5WEc1Y2RHOXVVbVZ0YjNSbFJYWmxiblE2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdsdWFYUnBZV3hwZW1GMGFXOXVJR2x1Wm04Z2NHRmphMlYwSUhCeWIzWnBaR1ZrSUdKNUlIUm9aU0JPWlhSM2IzSnJWVzVwZG1WeWMyVWdkR2hoZENCMGFHbHpJSEpsYlc5MFpWeHlYRzVjZENBcUlIVnVhWFpsY25ObElHbHpJR052Ym01bFkzUmxaQ0IwYnk1Y2NseHVYSFFnS2k5Y2NseHVYSFJwYm1sMFNXNW1iem9nYjJKcVpXTjBPMXh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1VtVnRiM1JsU1hSbGJVbHVabTljY2x4dWUxeHlYRzVjZEdsMFpXMUpaRG9nYzNSeWFXNW5PMXh5WEc1Y2RHbG1ZV05sT2lCQlkzUnBkbVZKYm5SbGNtWmhZMlU3WEhKY2JseDBjbVZ0YjNSbFIzSmhZbUpoWW14bFNXWmhZMlU2SUVGamRHbDJaVWx1ZEdWeVptRmpaVHRjY2x4dVhIUjFibWwyWlhKelpVWnliMjFKZEdWdE9pQk5hVzVwYldGc1VHOXpaVHRjY2x4dVhIUm5jbUZpWW1Wa09pQmliMjlzWldGdU8xeHlYRzVjZEdkeVlXSlRaVzUwT2lCaWIyOXNaV0Z1TzF4eVhHNTlYSEpjYmx4eVhHNXBiblJsY21aaFkyVWdVbVZ0YjNSbFIyRmtaMlYwU1c1bWIxeHlYRzU3WEhKY2JseDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHNTFiV0psY2p0Y2NseHVYSFIxY213NklITjBjbWx1Wnp0Y2NseHVYSFJ5WlcxdmRHVk1iMk5yY3pvZ1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydGJYVHRjY2x4dVhIUnBabUZqWlRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sTzF4eVhHNWNkSFZ1YVhabGNuTmxSbkp2YlVkaFpHZGxkRG9nVFdsdWFXMWhiRkJ2YzJVN1hISmNibHgwYVhSbGJYTTZJRTFoY0R4emRISnBibWNzSUZKbGJXOTBaVWwwWlcxSmJtWnZQanRjY2x4dWZWeHlYRzVjY2x4dWFXNTBaWEptWVdObElGSmxiVzkwWlZWdWFYWmxjbk5sVUdGeVlXMXpYSEpjYm50Y2NseHVYSFJ5WlcxdmRHVkhZV1JuWlhSSlpEb2diblZ0WW1WeU8xeHlYRzVjZEdsMFpXMUpaRDg2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRkpsYlc5MFpWVnVhWFpsY25ObFEyOXRjRzl1Wlc1MElHbHRjR3hsYldWdWRITWdSVzUwYVhSNVEyOXRjRzl1Wlc1MFhISmNibnRjY2x4dVhIUndjbWwyWVhSbElISmxiVzkwWlVkaFpHZGxkSE1nUFNCdVpYY2dUV0Z3UENCdWRXMWlaWElzSUZKbGJXOTBaVWRoWkdkbGRFbHVabThnUGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WdGIzUmxSWFpsYm5SRFlXeHNZbUZqYXpvZ0tDQmxkbVZ1ZERvZ2IySnFaV04wTENCeVpXeHBZV0pzWlRvZ1ltOXZiR1ZoYmlBcElEMCtJSFp2YVdRN1hISmNibHgwY0hKcGRtRjBaU0JsYm5ScGRIbERZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCbGJuUnBkSGxGY0dFNklFVnVaSEJ2YVc1MFFXUmtjaUE5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCcGJtbDBTVzVtYnpvZ1ZXNXBkbVZ5YzJWSmJtbDBTVzVtYnp0Y2NseHVYSEpjYmx4MEx5b3FJRUJ3WVhKaGJTQnBibWwwU1c1bWJ5QlVhR1VnYVc1cGRHbGhiR2w2WVhScGIyNGdhVzVtYnlCd1lXTnJaWFFnY0hKdmRtbGtaV1FnWW5rZ2RHaGxJRTVsZEhkdmNtdFZibWwyWlhKelpTQjBhR0YwSUhSb2FYTWdjbVZ0YjNSbFhISmNibHgwSUNvZ2RXNXBkbVZ5YzJVZ2FYTWdZMjl1Ym1WamRHVmtJSFJ2TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCd1lYSmhiU0J2YmxKbGJXOTBaVVYyWlc1MElGUm9hWE1nWTJGc2JHSmhZMnNnYVhNZ1kyRnNiR1ZrSUhkb1pXNGdkR2hsSUhKdmIyMGdjMmh2ZFd4a0lHTnZiblpsZVNCMGFHVWdjM1Z3Y0d4cFpXUWdaWFpsYm5RZ2RHOGdkR2hsSUc1bGRIZHZjbXRjY2x4dVhIUWdLaUIxYm1sMlpYSnpaU0JoYm1RZ1kyRnNiQ0J5WlcxdmRHVkZkbVZ1ZENncElHOXVJSFJvWVhRZ2IySnFaV04wTGlCY2NseHVYSFFnS2lCY2NseHVYSFFnS2lCbGRtVnVkRngwWEhSVWFHVWdiM0JoY1hWbElHVjJaVzUwSUc5aWFtVmpkQ0IwYnlCelpXNWtYSEpjYmx4MElDb2djbVZzYVdGaWJHVmNkRWxtSUhSb2FYTWdhWE1nZEhKMVpTd2dkR2hsSUdWMlpXNTBJRzExYzNRZ1ltVWdaR1ZzYVhabGNtVmtJRzl5SUhSb1pTQm5ZV1JuWlhSeklHMWhlU0JjY2x4dVhIUWdLaUJjZEZ4MFhIUmNkRngwWjJWMElHOTFkQ0J2WmlCemVXNWphQ0IzYVhSb0lHVmhZMmdnYjNSb1pYSXVJRWxtSUhSb2FYTWdhWE1nWm1Gc2MyVXNJSFJvWlNCeWIyOXRJSE5vYjNWc1pGeHlYRzVjZENBcUlGeDBYSFJjZEZ4MFhIUnRZV3RsSUdsMGN5QmlaWE4wSUdWbVptOXlkQ0IwYnlCa1pXeHBkbVZ5SUhSb1pTQmxkbVZ1ZEN3Z1luVjBJSFJvWlNCemVYTjBaVzBnZDJsc2JDQnlaV052ZG1WeVhISmNibHgwSUNvZ1hIUmNkRngwWEhSY2RHbG1JSFJvWlNCbGRtVnVkQ0JwY3lCa2FYTmpZWEprWldRdVhISmNibHgwSUNvdlhISmNibHgwWTI5dWMzUnlkV04wYjNJb0lHbHVhWFJKYm1adk9pQnZZbXBsWTNRc0lHOXVVbVZ0YjNSbFJYWmxiblE2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1NBOVBpQjJiMmxrSUNsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtbHVhWFJKYm1adklEMGdhVzVwZEVsdVptOGdZWE1nVlc1cGRtVnljMlZKYm1sMFNXNW1ienRjY2x4dVhIUmNkSFJvYVhNdWNtVnRiM1JsUlhabGJuUkRZV3hzWW1GamF5QTlJRzl1VW1WdGIzUmxSWFpsYm5RN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYjI1VmNHUmhkR1VvSUdOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOcklEMGdZMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2MyVjBSVzUwYVhSNVJYQmhLQ0JsY0dFNklFVnVaSEJ2YVc1MFFXUmtjaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGxGY0dFZ1BTQmxjR0U3WEhKY2JseHlYRzVjZEZ4MGFXWW9JR1Z3WVNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHWnZjaWdnYkdWMElHZGhaR2RsZEVsdVptOGdiMllnZEdocGN5NXBibWwwU1c1bWJ5NW5ZV1JuWlhSeklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVZM0psWVhSbFIyRmtaMlYwS0NCbllXUm5aWFJKYm1adklDazdYSEpjYmx4MFhIUmNkSDFjZEZ4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKRWFYTmpZWEprYVc1bklHVnVkR2wwZVNCbWIzSWdjbVZ0YjNSbElIVnVhWFpsY25ObExpQlNaVzF2ZEdVZ1oyRmtaMlYwY3lCM2FXeHNJR0psSUdSbGMzUnliM2xsWkM1Y0lpbGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCbWFXNWtUM0pCWkdSSmRHVnRTVzVtYnlnZ1oyRmtaMlYwU1c1bWJ6b2dVbVZ0YjNSbFIyRmtaMlYwU1c1bWJ5d2dhWFJsYlVsa09pQnpkSEpwYm1jZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnBkR1Z0U1c1bWJ5QTlJR2RoWkdkbGRFbHVabTh1YVhSbGJYTXVaMlYwS0NCcGRHVnRTV1FnS1R0Y2NseHVYSFJjZEdsbUtDQWhhWFJsYlVsdVptOGdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwZEdWdFNXNW1ieUE5SUZ4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBhWFJsYlVsa0xGeHlYRzVjZEZ4MFhIUmNkR2xtWVdObE9pQnVkV3hzTEZ4eVhHNWNkRngwWEhSY2RISmxiVzkwWlVkeVlXSmlZV0pzWlVsbVlXTmxPaUJ1ZFd4c0xGeHlYRzVjZEZ4MFhIUmNkSFZ1YVhabGNuTmxSbkp2YlVsMFpXMDZJRzUxYkd3c1hISmNibHgwWEhSY2RGeDBaM0poWW1KbFpEb2dabUZzYzJVc1hISmNibHgwWEhSY2RGeDBaM0poWWxObGJuUTZJR1poYkhObExGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBYSFJuWVdSblpYUkpibVp2TG1sMFpXMXpMbk5sZENnZ2FYUmxiVWxrTENCcGRHVnRTVzVtYnlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGNtVjBkWEp1SUdsMFpXMUpibVp2TzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUmNjbHh1WEhSd2NtbDJZWFJsSUc5dVVtVnRiM1JsU1c1MFpYSm1ZV05sS0NCaFkzUnBkbVZTWlcxdmRHVkhZV1JuWlhRNklFRmpkR2wyWlVsdWRHVnlabUZqWlNBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElISmxiVzkwWlZCaGNtRnRjeUE5SUdGamRHbDJaVkpsYlc5MFpVZGhaR2RsZEM1d1lYSmhiWE1nWVhNZ1VtVnRiM1JsVlc1cGRtVnljMlZRWVhKaGJYTTdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Y21WdGIzUmxSMkZrWjJWMGN5NW5aWFFvSUhKbGJXOTBaVkJoY21GdGN5NXlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGJHVjBJR2wwWlcxSmJtWnZPaUJTWlcxdmRHVkpkR1Z0U1c1bWJ6dGNjbHh1WEhSY2RHbG1LQ0J5WlcxdmRHVlFZWEpoYlhNdWFYUmxiVWxrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFYUmxiVWx1Wm04Z1BTQjBhR2x6TG1acGJtUlBja0ZrWkVsMFpXMUpibVp2S0NCbllXUm5aWFJKYm1adkxDQnlaVzF2ZEdWUVlYSmhiWE11YVhSbGJVbGtJQ2s3WEhKY2JseDBYSFJjZEdsMFpXMUpibVp2TG1sbVlXTmxJRDBnWVdOMGFYWmxVbVZ0YjNSbFIyRmtaMlYwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUm5ZV1JuWlhSSmJtWnZMbWxtWVdObElEMGdZV04wYVhabFVtVnRiM1JsUjJGa1oyVjBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGxEWVd4c1ltRmphejh1S0NrN1hISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dZRU52Ym01bFkzUnBiMjRnWm5KdmJTQnlaVzF2ZEdVZ1oyRmtaMlYwSUdsa0lDUjdJR2RoWkdkbGRFbHVabTh1Y21WdGIzUmxSMkZrWjJWMFNXUWdmV0FnS1R0Y2NseHVYSEpjYmx4MFhIUmhZM1JwZG1WU1pXMXZkR1ZIWVdSblpYUXViMjVGZG1WdWRDZ2dLQ0JsZG1WdWREb2dVbVZ0YjNSbFIyRmtaMlYwUlhabGJuUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSemQybDBZMmdvSUdWMlpXNTBMblI1Y0dVZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTJGelpTQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGUjVjR1V1VTJWdVpFVjJaVzUwVkc5TllYTjBaWEk2WEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYkdWMElITmxibVJGZG1WdWRDQTlJR1YyWlc1MElHRnpJRkpIUlZObGJtUkZkbVZ1ZER0Y2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWNtVnRiM1JsUlhabGJuUkRZV3hzWW1GamF5Z2dYSEpjYmx4MFhIUmNkRngwWEhSY2RIc2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUlVlWEJsTGxObGJtUk5ZWE4wWlhKSFlXUm5aWFJGZG1WdWRDd2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHZGhaR2RsZEVsdVptOHVjbVZ0YjNSbFIyRmtaMlYwU1dRc1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGFYUmxiVWxrT2lCeVpXMXZkR1ZRWVhKaGJYTXVhWFJsYlVsa0xGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RHVjJaVzUwT2lCelpXNWtSWFpsYm5RdVpYWmxiblFnWEhKY2JseDBYSFJjZEZ4MFhIUmNkSDBnWVhNZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUXNJSE5sYm1SRmRtVnVkQzV5Wld4cFlXSnNaU0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEZ4MFkyRnpaU0JTWlcxdmRHVkhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUzUmhjblJIY21GaU9seHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RHbDBaVzFKYm1adkxtZHlZV0ppWldRZ1BTQjBjblZsTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1MWNHUmhkR1ZIY21GaVUzUmhkR1VvSUdkaFpHZGxkRWx1Wm04c0lHbDBaVzFKYm1adklDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBYSFJqWVhObElGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaUzVGYm1SSGNtRmlPbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2wwWlcxSmJtWnZMbWR5WVdKaVpXUWdQU0JtWVd4elpUdGNjbHh1WEhSY2RGeDBYSFJjZEhSb2FYTXVkWEJrWVhSbFIzSmhZbE4wWVhSbEtDQm5ZV1JuWlhSSmJtWnZMQ0JwZEdWdFNXNW1ieUFwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmU0FwTzF4eVhHNWNjbHh1WEhSY2RHRmpkR2wyWlZKbGJXOTBaVWRoWkdkbGRDNXZia1Z1WkdWa0tDQW9LU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFppZ2daMkZrWjJWMFNXNW1ieUFwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnSVhKbGJXOTBaVkJoY21GdGN5NXBkR1Z0U1dRZ0tWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11Y21WdGIzUmxSMkZrWjJWMGN5NWtaV3hsZEdVb0lHZGhaR2RsZEVsdVptOHVjbVZ0YjNSbFIyRmtaMlYwU1dRZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2RoWkdkbGRFbHVabTh1YVhSbGJYTXVaR1ZzWlhSbEtDQnlaVzF2ZEdWUVlYSmhiWE11YVhSbGJVbGtJQ2s3WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUjlYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSFZ3WkdGMFpVZHlZV0pUZEdGMFpTZ2daMkZrWjJWMFNXNW1iem9nVW1WdGIzUmxSMkZrWjJWMFNXNW1ieXdnYVhSbGJVbHVabTg2SUZKbGJXOTBaVWwwWlcxSmJtWnZJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYzJodmRXeGtRbVZIY21GaVltbHVaeUE5SUdsMFpXMUpibVp2TG1keVlXSmlaV1FnSmlZZ2FYUmxiVWx1Wm04dWNtVnRiM1JsUjNKaFltSmhZbXhsU1daaFkyVWdJVDBnYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFJwWmlnZ2MyaHZkV3hrUW1WSGNtRmlZbWx1WnlBaFBTQnBkR1Z0U1c1bWJ5NW5jbUZpVTJWdWRDQXBYSEpjYmx4MFhIUjdYSEpjYmx4eVhHNWNkRngwWEhScFppZ2djMmh2ZFd4a1FtVkhjbUZpWW1sdVp5QXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSc1pYUWdaWFowT2lCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRDQTlYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUlVlWEJsTGxOMFlYSjBTWFJsYlVkeVlXSXNYSEpjYmx4MFhIUmNkRngwWEhSeVpXMXZkR1ZIWVdSblpYUkpaRG9nWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZIWVdSblpYUkpaQ3hjY2x4dVhIUmNkRngwWEhSY2RHbDBaVzFKWkRvZ2FYUmxiVWx1Wm04dWFYUmxiVWxrTEZ4eVhHNWNkRngwWEhSY2RIMDdYSEpjYmx4MFhIUmNjbHh1WEhSY2RGeDBYSFIwYUdsekxuSmxiVzkwWlVWMlpXNTBRMkZzYkdKaFkyc29JR1YyZEN3Z2RISjFaU0FwTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwZTF4eVhHNWNjbHh1WEhSY2RGeDBYSFJzWlhRZ1pYWjBPaUJPWlhSM2IzSnJWVzVwZG1WeWMyVkZkbVZ1ZENBOVhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGRIbHdaVG9nVG1WMGQyOXlhMVZ1YVhabGNuTmxSWFpsYm5SVWVYQmxMa1Z1WkVsMFpXMUhjbUZpTEZ4eVhHNWNkRngwWEhSY2RGeDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHZGhaR2RsZEVsdVptOHVjbVZ0YjNSbFIyRmtaMlYwU1dRc1hISmNibHgwWEhSY2RGeDBYSFJwZEdWdFNXUTZJR2wwWlcxSmJtWnZMbWwwWlcxSlpDeGNjbHh1WEhSY2RGeDBYSFI5TzF4eVhHNWNjbHh1WEhSY2RGeDBYSFIwYUdsekxuSmxiVzkwWlVWMlpXNTBRMkZzYkdKaFkyc29JR1YyZEN3Z2RISjFaU0FwTzF4eVhHNWNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJwZEdWdFNXNW1ieTVuY21GaVUyVnVkQ0E5SUhOb2IzVnNaRUpsUjNKaFltSnBibWM3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSFZ3WkdGMFpWSmxiVzkwWlVkeVlXSmlZV0pzWlNnZ2NHRnlZVzF6T2lCU1pXMXZkR1ZWYm1sMlpYSnpaVkJoY21GdGN5d2dkVzVwZG1WeWMyVkdjbTl0U1hSbGJUb2dRWFpPYjJSbFZISmhibk5tYjNKdElDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdaMkZrWjJWMFNXNW1ieUE5SUhSb2FYTXVjbVZ0YjNSbFIyRmtaMlYwY3k1blpYUW9JSEJoY21GdGN5NXlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2SUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1TzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0JwZEdWdFNXNW1ieUE5SUdkaFpHZGxkRWx1Wm04dWFYUmxiWE11WjJWMEtDQndZWEpoYlhNdWFYUmxiVWxrSUNrN1hISmNibHgwWEhScFppZ2dJV2wwWlcxSmJtWnZJQ2xjY2x4dVhIUmNkRngwY21WMGRYSnVPMXh5WEc1Y2NseHVYSFJjZEdsbUtDQWhhWFJsYlVsdVptOHVaM0poWW1KbFpDQXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJqdGNjbHh1WEhKY2JseDBYSFJzWlhRZ2JUb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblFnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJPWlhSM2IzSnJWVzVwZG1WeWMyVkZkbVZ1ZEZSNWNHVXVWWEJrWVhSbFRtVjBkMjl5YTBsMFpXMVVjbUZ1YzJadmNtMHNYSEpjYmx4MFhIUmNkSEpsYlc5MFpVZGhaR2RsZEVsa09pQndZWEpoYlhNdWNtVnRiM1JsUjJGa1oyVjBTV1FzWEhKY2JseDBYSFJjZEdsMFpXMUpaRG9nY0dGeVlXMXpMbWwwWlcxSlpDeGNjbHh1WEhSY2RGeDBkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPaUJ0YVc1cGJXRnNVRzl6WlVaeWIyMVVjbUZ1YzJadmNtMG9JSFZ1YVhabGNuTmxSbkp2YlVsMFpXMGdLU3hjY2x4dVhIUmNkSDFjY2x4dVhIUmNkSFJvYVhNdWNtVnRiM1JsUlhabGJuUkRZV3hzWW1GamF6OHVLQ0J0TENCbVlXeHpaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUmNjbHh1WEhSd2NtbDJZWFJsSUc5dVVtVnRiM1JsUjNKaFltSmhZbXhsS0NCaFkzUnBkbVZTWlcxdmRHVkhjbUZpWW1GaWJHVTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJSEpsYlc5MFpWQmhjbUZ0Y3lBOUlHRmpkR2wyWlZKbGJXOTBaVWR5WVdKaVlXSnNaUzV3WVhKaGJYTWdZWE1nVW1WdGIzUmxWVzVwZG1WeWMyVlFZWEpoYlhNN1hISmNibHh5WEc1Y2RGeDBiR1YwSUdkaFpHZGxkRWx1Wm04Z1BTQjBhR2x6TG5KbGJXOTBaVWRoWkdkbGRITXVaMlYwS0NCeVpXMXZkR1ZRWVhKaGJYTXVjbVZ0YjNSbFIyRmtaMlYwU1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoWjJGa1oyVjBTVzVtYnlBcFhISmNibHgwWEhSY2RISmxkSFZ5Ymp0Y2NseHVYSFJjZEZ4eVhHNWNkRngwYkdWMElHbDBaVzFKYm1adklEMGdaMkZrWjJWMFNXNW1ieTVwZEdWdGN5NW5aWFFvSUhKbGJXOTBaVkJoY21GdGN5NXBkR1Z0U1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTUxY0dSaGRHVlNaVzF2ZEdWSGNtRmlZbUZpYkdVb0lISmxiVzkwWlZCaGNtRnRjeXdnWVdOMGFYWmxVbVZ0YjNSbFIzSmhZbUpoWW14bExuTmxiR1pHY205dFVHVmxjaUFwTzF4eVhHNWNkRngwYVhSbGJVbHVabTh1Y21WdGIzUmxSM0poWW1KaFlteGxTV1poWTJVZ1BTQmhZM1JwZG1WU1pXMXZkR1ZIY21GaVltRmliR1U3WEhKY2JseDBYSFIwYUdsekxuVndaR0YwWlVkeVlXSlRkR0YwWlNnZ1oyRmtaMlYwU1c1bWJ5d2dhWFJsYlVsdVptOGdLVHRjY2x4dVhISmNibHh5WEc1Y2NseHVYSFJjZEdGamRHbDJaVkpsYlc5MFpVZHlZV0ppWVdKc1pTNXZibFJ5WVc1elptOXliVlZ3WkdGMFpXUW9JQ2dnZFc1cGRtVnljMlZHY205dFNYUmxiVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2tnUFQ1Y2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVlNaVzF2ZEdWSGNtRmlZbUZpYkdVb0lISmxiVzkwWlZCaGNtRnRjeXdnZFc1cGRtVnljMlZHY205dFNYUmxiU2xjY2x4dVhIUmNkSDBnS1R0Y2NseHVYSEpjYmx4MFhIUmhZM1JwZG1WU1pXMXZkR1ZIY21GaVltRmliR1V1YjI1RmJtUmxaQ2dnS0NrZ1BUNWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBhWFJsYlVsdVptOHVjbVZ0YjNSbFIzSmhZbUpoWW14bFNXWmhZMlVnUFNCdWRXeHNPMXh5WEc1Y2RGeDBYSFIwYUdsekxuVndaR0YwWlVkeVlXSlRkR0YwWlNnZ1oyRmtaMlYwU1c1bWJ5d2dhWFJsYlVsdVptOGdLVHRjY2x4dVhIUmNkSDBnS1Z4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCeVpXTmxhWFpsY3lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRnNnWEhKY2JseDBYSFJjZEhzZ2FXWmhZMlU2SUZKbGJXOTBaVWRoWkdkbGRFTnZiWEJ2Ym1WdWRDNXBiblJsY21aaFkyVk9ZVzFsTENCd2NtOWpaWE56YjNJNklIUm9hWE11YjI1U1pXMXZkR1ZKYm5SbGNtWmhZMlVnZlN4Y2NseHVYSFJjZEZ4MGV5QnBabUZqWlRvZ2ExOXlaVzF2ZEdWSGNtRmlZbUZpYkdWSmJuUmxjbVpoWTJVc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJsSmxiVzkwWlVkeVlXSmlZV0pzWlNCOUxGeHlYRzVjZEZ4MFhUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCblpYUWdkMkZ1ZEhOVWNtRnVjMlp2Y20xektDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEhKMVpUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCdVpYUjNiM0pyUlhabGJuUW9JR1YyWlc1ME9pQnZZbXBsWTNRZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmxJRDBnWlhabGJuUWdZWE1nVG1WMGQyOXlhMVZ1YVhabGNuTmxSWFpsYm5RN1hISmNibHgwWEhSemQybDBZMmdvSUdVdWRIbHdaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOaGMyVWdUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExrTnlaV0YwWlZKbGJXOTBaVWRoWkdkbGREcGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtTnlaV0YwWlVkaFpHZGxkQ2dnWlM1bllXUm5aWFJKYm1adklDazdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRTVsZEhkdmNtdFZibWwyWlhKelpVVjJaVzUwVkhsd1pTNUVaWE4wY205NVVtVnRiM1JsUjJGa1oyVjBPbHh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVaR1Z6ZEhKdmVVZGhaR2RsZENnZ1pTNXlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWTJGelpTQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dVdVZYQmtZWFJsVW1WdGIzUmxSMkZrWjJWMFZISmhibk5tYjNKdE9seHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWRYQmtZWFJsUjJGa1oyVjBWSEpoYm5ObWIzSnRLQ0JsTG5KbGJXOTBaVWRoWkdkbGRFbGtMQ0JsTG1sMFpXMUpaQ3dnWlM1MWJtbDJaWEp6WlVaeWIyMUhZV1JuWlhRZ0tUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExrSnliMkZrWTJGemRGSmxiVzkwWlVkaFpHZGxkRVYyWlc1ME9seHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWJXRnpkR1Z5UlhabGJuUW9JR1V1Y21WdGIzUmxSMkZrWjJWMFNXUXNJR1V1WlhabGJuUWdLVHRjY2x4dVhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdZM0psWVhSbFIyRmtaMlYwS0NCbllXUm5aWFJKYm1adk9pQk9aWFIzYjNKclpXUkhZV1JuWlhSSmJtWnZJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXlaVzF2ZEdWSFlXUm5aWFJ6TG1oaGN5Z2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDQXBJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdoeWIzY2dibVYzSUVWeWNtOXlLQ0JjY2x4dVhIUmNkRngwWEhSZ1pIVndiR2xqWVhSbElHTnlaV0YwWlVkaFpHZGxkQ0JtYjNJZ2NtVnRiM1JsSUdkaFpHZGxkQ0JwWkNBa2V5Qm5ZV1JuWlhSSmJtWnZMbkpsYlc5MFpVZGhaR2RsZEVsa0lIMGdkMmwwYUNBa2V5Qm5ZV1JuWlhSSmJtWnZMblZ5YkNCOVlDQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbVZ1ZEdsMGVVVndZU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWdnWUdOeVpXRjBaVWRoWkdkbGRDQmlaV1p2Y21VZ2RHaGxJR1Z1ZEdsMGVTQm5ZWFpsSUhWeklIUm9aV2x5SUVWdVpIQnZhVzUwSUVGa1pISmxjM05nSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBiR1YwSUc1bGQwZGhaR2RsZERvZ1VtVnRiM1JsUjJGa1oyVjBTVzVtYnlBOVhISmNibHgwWEhSN1hISmNibHgwWEhSY2RISmxiVzkwWlVkaFpHZGxkRWxrT2lCbllXUm5aWFJKYm1adkxuSmxiVzkwWlVkaFpHZGxkRWxrTEZ4eVhHNWNkRngwWEhSMWNtdzZJR2RoWkdkbGRFbHVabTh1ZFhKc0xGeHlYRzVjZEZ4MFhIUnlaVzF2ZEdWTWIyTnJjem9nWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZNYjJOcmN5eGNjbHh1WEhSY2RGeDBhV1poWTJVNklHNTFiR3dzWEhKY2JseDBYSFJjZEhWdWFYWmxjbk5sUm5KdmJVZGhaR2RsZERvZ1oyRmtaMlYwU1c1bWJ5NTFibWwyWlhKelpVWnliMjFIWVdSblpYUXNYSEpjYmx4MFhIUmNkR2wwWlcxek9pQnVaWGNnVFdGd1BITjBjbWx1Wnl3Z1VtVnRiM1JsU1hSbGJVbHVabTgrS0Nrc1hISmNibHgwWEhSOU8xeHlYRzVjY2x4dVhIUmNkR1p2Y2lnZ2JHVjBJR2wwWlcwZ2IyWWdLQ0JuWVdSblpYUkpibVp2TG1sMFpXMXpJRDgvSUZ0ZElDa2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1WlhkSFlXUm5aWFF1YVhSbGJYTXVjMlYwS0NCcGRHVnRMbWwwWlcxSlpDeGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnBkR1Z0U1dRNklHbDBaVzB1YVhSbGJVbGtMRnh5WEc1Y2RGeDBYSFJjZEZ4MGFXWmhZMlU2SUc1MWJHd3NYSEpjYmx4MFhIUmNkRngwWEhSeVpXMXZkR1ZIY21GaVltRmliR1ZKWm1GalpUb2diblZzYkN4Y2NseHVYSFJjZEZ4MFhIUmNkSFZ1YVhabGNuTmxSbkp2YlVsMFpXMDZJR2wwWlcwdWNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiU3hjY2x4dVhIUmNkRngwWEhSY2RHZHlZV0ppWldRNklHWmhiSE5sTEZ4eVhHNWNkRngwWEhSY2RGeDBaM0poWWxObGJuUTZJR1poYkhObExGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUjBhR2x6TG5KbGJXOTBaVWRoWkdkbGRITXVjMlYwS0NCbllXUm5aWFJKYm1adkxuSmxiVzkwWlVkaFpHZGxkRWxrTENCdVpYZEhZV1JuWlhRZ0tUdGNjbHh1WEhKY2JseDBYSFJzWlhRZ1puVnNiRXh2WTJ0TWFYTjBJRDBnV3lBdUxpNW5ZV1JuWlhSSmJtWnZMbkpsYlc5MFpVeHZZMnR6TEZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFptRmpaVG9nVW1WdGIzUmxSMkZrWjJWMFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVNWhiV1VzWEhKY2JseDBYSFJjZEhKbFkyVnBkbVZ5T2lCMGFHbHpMbVZ1ZEdsMGVVVndZU3hjY2x4dVhIUmNkRngwY0dGeVlXMXpPaUI3SUhKbGJXOTBaVWRoWkdkbGRFbGtPaUJuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtJSDBzWEhKY2JseDBYSFI5SUYwN1hISmNibHh5WEc1Y2RGeDBRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV6ZEdGeWRFZGhaR2RsZENnZ1oyRmtaMlYwU1c1bWJ5NTFjbXdzSUdaMWJHeE1iMk5yVEdsemRDQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQmtaWE4wY205NVIyRmtaMlYwS0NCeVpXMXZkR1ZIWVdSblpYUkpaRG9nYm5WdFltVnlJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Y21WdGIzUmxSMkZrWjJWMGN5NW5aWFFvSUhKbGJXOTBaVWRoWkdkbGRFbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGJHVjBJR1YyWlc1ME9pQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRDQTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFI1Y0dVNklGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaUzVFWlhOMGNtOTVSMkZrWjJWMExGeHlYRzVjZEZ4MGZUdGNjbHh1WEhSY2NseHVYSFJjZEdkaFpHZGxkRWx1Wm04L0xtbG1ZV05sUHk1elpXNWtSWFpsYm5Rb0lHVjJaVzUwSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUhWd1pHRjBaVWRoWkdkbGRGUnlZVzV6Wm05eWJTZ2djbVZ0YjNSbFIyRmtaMlYwU1dRNklHNTFiV0psY2l3Z2FYUmxiVWxrT2lCemRISnBibWNzSUhWdWFYWmxjbk5sUm5KdmJVZGhaR2RsZERvZ1RXbHVhVzFoYkZCdmMyVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JuWVdSblpYUkpibVp2SUQwZ2RHaHBjeTV5WlcxdmRHVkhZV1JuWlhSekxtZGxkQ2dnY21WdGIzUmxSMkZrWjJWMFNXUWdLVHRjY2x4dVhIUmNkR2xtS0NCbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBhV1lvSUdsMFpXMUpaQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnNaWFFnYVhSbGJVbHVabThnUFNCMGFHbHpMbVpwYm1SUGNrRmtaRWwwWlcxSmJtWnZLQ0JuWVdSblpYUkpibVp2TENCcGRHVnRTV1FnS1R0Y2NseHVYSFJjZEZ4MFhIUnBkR1Z0U1c1bWJ5NTFibWwyWlhKelpVWnliMjFKZEdWdElEMGdkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdkaFpHZGxkRWx1Wm04dWRXNXBkbVZ5YzJWR2NtOXRSMkZrWjJWMElEMGdkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQnRZWE4wWlhKRmRtVnVkQ2dnY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNpd2daWFpsYm5RNklHOWlhbVZqZENBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHZGhaR2RsZEVsdVptOGdQU0IwYUdsekxuSmxiVzkwWlVkaFpHZGxkSE11WjJWMEtDQnlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjY2x4dVhIUmNkR3hsZENCelpXNWtSWFpsYm5RNklGSkhSVk5sYm1SRmRtVnVkQ0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSNWNHVTZJRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBWSGx3WlM1U1pXTmxhWFpsUlhabGJuUkdjbTl0VFdGemRHVnlMRnh5WEc1Y2RGeDBYSFJsZG1WdWRDeGNjbHh1WEhSY2RIMDdYSEpjYmx4MFhISmNibHgwWEhSbllXUm5aWFJKYm1adlB5NXBabUZqWlQ4dWMyVnVaRVYyWlc1MEtDQnpaVzVrUlhabGJuUWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR05vYVd4a2NtVnVPaUJLVTFndVJXeGxiV1Z1ZEZ0ZElEMGdXMTA3WEhKY2JseDBYSFJtYjNJb0lHeGxkQ0JuWVdSblpYUWdiMllnZEdocGN5NXlaVzF2ZEdWSFlXUm5aWFJ6TG5aaGJIVmxjeWdwSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFXWW9JQ0ZuWVdSblpYUXVhV1poWTJVZ2ZId2dJV2RoWkdkbGRDNTFibWwyWlhKelpVWnliMjFIWVdSblpYUWdLVnh5WEc1Y2RGeDBYSFJjZEdOdmJuUnBiblZsTzF4eVhHNWNjbHh1WEhSY2RGeDBZMmhwYkdSeVpXNHVjSFZ6YUNnZ1BFRjJWSEpoYm5ObWIzSnRJSFJ5WVc1elptOXliVDE3SUdkaFpHZGxkQzUxYm1sMlpYSnpaVVp5YjIxSFlXUm5aWFFnZlNCclpYazlleUJuWVdSblpYUXVjbVZ0YjNSbFIyRmtaMlYwU1dRZ2ZUNWNjbHh1WEhSY2RGeDBYSFJjZER4QmRrVnVkR2wwZVVOb2FXeGtJR05vYVd4a1BYc2daMkZrWjJWMExtbG1ZV05sTG5CbFpYSWdmU0JyWlhrOWV5Qm5ZV1JuWlhRdWNtVnRiM1JsUjJGa1oyVjBTV1FnZlM4K1hISmNibHgwWEhSY2RGeDBQQzlCZGxSeVlXNXpabTl5YlQ0Z0tUdGNjbHh1WEhKY2JseDBYSFJjZEdadmNpZ2diR1YwSUdsMFpXMGdiMllnWjJGa1oyVjBMbWwwWlcxekxuWmhiSFZsY3lncElDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQWhhWFJsYlM1cFptRmpaU0I4ZkNBaGFYUmxiUzUxYm1sMlpYSnpaVVp5YjIxSmRHVnRJSHg4SUdsMFpXMHVaM0poWW1KbFpDQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBZMjl1ZEdsdWRXVTdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBYSFJzWlhRZ2EyVjVJRDBnWUNSN0lHZGhaR2RsZEM1eVpXMXZkR1ZIWVdSblpYUkpaQ0I5THlSN0lHbDBaVzB1YVhSbGJVbGtJSDFnTzF4eVhHNWNkRngwWEhSY2RHTm9hV3hrY21WdUxuQjFjMmdvSUR4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJadmNtMDlleUJwZEdWdExuVnVhWFpsY25ObFJuSnZiVWwwWlcwZ2ZTQnJaWGs5ZXlCclpYa2dmVDVjY2x4dVhIUmNkRngwWEhSY2REeEJka1Z1ZEdsMGVVTm9hV3hrSUdOb2FXeGtQWHNnYVhSbGJTNXBabUZqWlM1d1pXVnlJSDBnYTJWNVBYc2dhMlY1SUgwdlBseHlYRzVjZEZ4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK0lDazdYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnUEdScGRpQnJaWGs5WENKeVpXMXZkR1ZmZFc1cGRtVnljMlZjSWo1Y2NseHVYSFJjZEZ4MFhIUjdJR05vYVd4a2NtVnVJSDFjY2x4dVhIUmNkRngwUEM5a2FYWStPMXh5WEc1Y2RIMWNjbHh1ZlZ4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvcmVtb3RlX3VuaXZlcnNlLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQ1JlbmRlcmVyRW5kcG9pbnQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNSZW5kZXJlckVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDUmVuZGVyZXJFbmRwb2ludDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19lbmRwb2ludCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZW5kcG9pbnQudHNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY2xhc3MgQ1JlbmRlcmVyRW5kcG9pbnQgZXh0ZW5kcyBfYWFyZHZhcmtfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQ0FhcmR2YXJrRW5kcG9pbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKG9wZW5IYW5kbGVyLCBkZWZhdWx0SGFuZGxlciA9IG51bGwpIHtcXHJcXG4gICAgICAgIHN1cGVyKCgpID0+IHsgdGhpcy5vbk9wZW4oKTsgfSwgb3BlbkhhbmRsZXIsIGRlZmF1bHRIYW5kbGVyKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbk9wZW4oKSB7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiQ29ubmVjdGVkXFxcIik7XFxyXFxuICAgICAgICBsZXQgbXNnU2V0RW5kcG9pbnRUeXBlID0ge1xcclxcbiAgICAgICAgICAgIG5ld0VuZHBvaW50VHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkVuZHBvaW50VHlwZVxcXCJdLlJlbmRlcmVyLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlLCBtc2dTZXRFbmRwb2ludFR5cGUpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBDUmVuZGVyZXJFbmRwb2ludC5wcm90b3R5cGUsIFxcXCJvbk9wZW5cXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OXlaVzVrWlhKbGNsOWxibVJ3YjJsdWRDNTBjejloTXpoa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3p0QlFVRXdSenRCUVVOa08wRkJRekZFTzBGQlJ6TkNMRTFCUVUwc2FVSkJRV3RDTEZOQlFWRXNiMFZCUVdsQ08wbEJSWFpFTEZsQlFXRXNWMEZCZDBJc1JVRkJSU3hwUWtGQmMwTXNTVUZCU1R0UlFVVm9SaXhMUVVGTExFTkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRExFTkJRVU1zUlVGQlJTeFhRVUZYTEVWQlFVVXNZMEZCWXl4RFFVRkZMRU5CUVVNN1NVRkRMMFFzUTBGQlF6dEpRVVZMTEUxQlFVMDdVVUZGV0N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxGZEJRVmNzUTBGQlJTeERRVUZETzFGQlF6TkNMRWxCUVVrc2EwSkJRV3RDTEVkQlEzUkNPMWxCUTBNc1pVRkJaU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNVVUZCVVR0VFFVTjBRenRSUVVWRUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVVXNkVVZCUVZjc1EwRkJReXhsUVVGbExFVkJRVVVzYTBKQlFXdENMRU5CUVVVc1EwRkJRenRKUVVOeVJTeERRVUZETzBOQlEwUTdRVUZXVFR0SlFVRk1MSEZFUVVGSk95dERRVk5LSWl3aVptbHNaU0k2SWk0dmMzSmpMM0psYm1SbGNtVnlYMlZ1WkhCdmFXNTBMblJ6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRMEZoY21SMllYSnJSVzVrY0c5cGJuUXNJRTFsYzNOaFoyVklZVzVrYkdWeUxDQlBjR1Z1U0dGdVpHeGxjaXdnUVhONWJtTk5aWE56WVdkbFNHRnVaR3hsY2lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNWtjRzlwYm5Rbk8xeHlYRzVwYlhCdmNuUWdleUJOYzJkVFpYUkZibVJ3YjJsdWRGUjVjR1VzSUUxbGMzTmhaMlZVZVhCbExDQkZibVJ3YjJsdWRGUjVjR1VnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHTnNZWE56SUVOU1pXNWtaWEpsY2tWdVpIQnZhVzUwSUdWNGRHVnVaSE1nUTBGaGNtUjJZWEpyUlc1a2NHOXBiblJjY2x4dWUxeHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQnZjR1Z1U0dGdVpHeGxjam9nVDNCbGJraGhibVJzWlhJc0lHUmxabUYxYkhSSVlXNWtiR1Z5T2lCQmMzbHVZMDFsYzNOaFoyVklZVzVrYkdWeUlEMGdiblZzYkNBcFhISmNibHgwZTF4eVhHNWNkRngwYzNWd1pYSW9JQ2dwSUQwK0lIc2dkR2hwY3k1dmJrOXdaVzRvS1NCOUxDQnZjR1Z1U0dGdVpHeGxjaXdnWkdWbVlYVnNkRWhoYm1Sc1pYSWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lHOXVUM0JsYmlncFhISmNibHgwZTF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lRMjl1Ym1WamRHVmtYQ0lnS1R0Y2NseHVYSFJjZEd4bGRDQnRjMmRUWlhSRmJtUndiMmx1ZEZSNWNHVTZJRTF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaU0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEc1bGQwVnVaSEJ2YVc1MFZIbHdaVG9nUlc1a2NHOXBiblJVZVhCbExsSmxibVJsY21WeUxGeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkSFJvYVhNdWMyVnVaRTFsYzNOaFoyVW9JRTFsYzNOaFoyVlVlWEJsTGxObGRFVnVaSEJ2YVc1MFZIbHdaU3dnYlhOblUyVjBSVzVrY0c5cGJuUlVlWEJsSUNrN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyAwOlxuLyohKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiB1dGlsIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5MWRHbHNJQ2hwWjI1dmNtVmtLVDlsTTJJMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJJaXdpWm1sc1pTSTZJakF1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaUFvYVdkdWIzSmxaQ2tnS2k4aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8wXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gMTpcbi8qISoqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogdXRpbCAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOTFkR2xzSUNocFoyNXZjbVZrS1Q5a05XSTFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCSWl3aVptbHNaU0k2SWpFdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMVxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDEwOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIGJ1ZmZlciAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aWRXWm1aWElnS0dsbmJtOXlaV1FwUHpWbFkyUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVpTENKbWFXeGxJam9pTVRBdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMTBcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyAxMTpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiBidWZmZXIgKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWlkV1ptWlhJZ0tHbG5ibTl5WldRcFAyUXhNVGdpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFaUxDSm1hV3hsSWpvaU1URXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpQW9hV2R1YjNKbFpDa2dLaThpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzExXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gMTI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogYnVmZmVyIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzlpZFdabVpYSWdLR2xuYm05eVpXUXBQemxqT1RNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRWlMQ0ptYVd4bElqb2lNVEl1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaUFvYVdkdWIzSmxaQ2tnS2k4aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8xMlxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDEzOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIGJ1ZmZlciAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aWRXWm1aWElnS0dsbmJtOXlaV1FwUDJJMVl6RWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVpTENKbWFXeGxJam9pTVRNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMTNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyAxNDpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiBidWZmZXIgKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWlkV1ptWlhJZ0tHbG5ibTl5WldRcFAyUTFNVElpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFaUxDSm1hV3hsSWpvaU1UUXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpQW9hV2R1YjNKbFpDa2dLaThpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzE0XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gMjpcbi8qISoqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogdXRpbCAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOTFkR2xzSUNocFoyNXZjbVZrS1Q4ek1UazVJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCSWl3aVptbHNaU0k2SWpJdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMlxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDM6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIHV0aWwgKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzkxZEdsc0lDaHBaMjV2Y21Wa0tUODBZbUprSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQklpd2labWxzWlNJNklqTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpQW9hV2R1YjNKbFpDa2dLaThpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyA0OlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIGJ1ZmZlciAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aWRXWm1aWElnS0dsbmJtOXlaV1FwUDJVeFlUSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVpTENKbWFXeGxJam9pTkM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxSUNocFoyNXZjbVZrS1NBcUx5SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vNFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDU6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogYnVmZmVyIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzlpZFdabVpYSWdLR2xuYm05eVpXUXBQMlprTURNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRWlMQ0ptYVd4bElqb2lOUzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFJQ2hwWjI1dmNtVmtLU0FxTHlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy81XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gNjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiBjcnlwdG8gKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWpjbmx3ZEc4Z0tHbG5ibTl5WldRcFB6VXlaak1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFaUxDSm1hV3hsSWpvaU5pNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUlDaHBaMjV2Y21Wa0tTQXFMeUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzZcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyA3OlxuLyohKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiB1dGlsIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5MWRHbHNJQ2hwWjI1dmNtVmtLVDh4TVRabElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJJaXdpWm1sc1pTSTZJamN1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaUFvYVdkdWIzSmxaQ2tnS2k4aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy83XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gODpcbi8qISoqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogdXRpbCAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOTFkR2xzSUNocFoyNXZjbVZrS1Q4eE1tUmpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCSWl3aVptbHNaU0k2SWpndWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vOFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDk6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogYnVmZmVyIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzlpZFdabVpYSWdLR2xuYm05eVpXUXBQemd6T0dVaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRWlMQ0ptYVd4bElqb2lPUzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFJQ2hwWjI1dmNtVmtLU0FxTHlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy85XFxuXCIpO1xuXG4vKioqLyB9KVxuXG4vKioqKioqLyB9KTtcbn0pOyIsIiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFwiYWFyZHZhcmstc2hhcmVkXCIsW10sZSk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0c1tcImFhcmR2YXJrLXNoYXJlZFwiXT1lKCk6dFtcImFhcmR2YXJrLXNoYXJlZFwiXT1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIG4oaSl7aWYoZVtpXSlyZXR1cm4gZVtpXS5leHBvcnRzO3ZhciByPWVbaV09e2k6aSxsOiExLGV4cG9ydHM6e319O3JldHVybiB0W2ldLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLG4pLHIubD0hMCxyLmV4cG9ydHN9cmV0dXJuIG4ubT10LG4uYz1lLG4uZD1mdW5jdGlvbih0LGUsaSl7bi5vKHQsZSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsZ2V0Oml9KX0sbi5yPWZ1bmN0aW9uKHQpe1widW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIk1vZHVsZVwifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSl9LG4udD1mdW5jdGlvbih0LGUpe2lmKDEmZSYmKHQ9bih0KSksOCZlKXJldHVybiB0O2lmKDQmZSYmXCJvYmplY3RcIj09dHlwZW9mIHQmJnQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKG4ucihpKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaSxcImRlZmF1bHRcIix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiZcInN0cmluZ1wiIT10eXBlb2YgdClmb3IodmFyIHIgaW4gdCluLmQoaSxyLGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfS5iaW5kKG51bGwscikpO3JldHVybiBpfSxuLm49ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gdH07cmV0dXJuIG4uZChlLFwiYVwiLGUpLGV9LG4ubz1mdW5jdGlvbih0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX0sbi5wPVwiXCIsbihuLnM9MTIpfShbZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUuZXBzaWxvbj0xZS01fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1yZXF1aXJlKFwiY3J5cHRvXCIpfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9big0KSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgzKSx2b2lkIDAhPT10JiYodGhpcy54eXo9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ5XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1sxXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzFdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwielwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInh5XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieHl6XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy56PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZS56PXRoaXMueixlfSx0LnByb3RvdHlwZS5uZWdhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR8fCh0PXRoaXMpLHQueD0tdGhpcy54LHQueT0tdGhpcy55LHQuej0tdGhpcy56LHR9LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1yLmVwc2lsb24pLCEoTWF0aC5hYnModGhpcy54LXQueCk+ZSkmJighKE1hdGguYWJzKHRoaXMueS10LnkpPmUpJiYhKE1hdGguYWJzKHRoaXMuei10LnopPmUpKX0sdC5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWRMZW5ndGgoKSl9LHQucHJvdG90eXBlLnNxdWFyZWRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLno7cmV0dXJuIHQqdCtlKmUrbipufSx0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXMueis9dC56LHRoaXN9LHQucHJvdG90eXBlLnN1YnRyYWN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzLnotPXQueix0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpcy56Kj10LnosdGhpc30sdC5wcm90b3R5cGUuZGl2aWRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQueCx0aGlzLnkvPXQueSx0aGlzLnovPXQueix0aGlzfSx0LnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSxlLngqPXQsZS55Kj10LGUueio9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54PTAsdC55PTAsdC56PTAsdCk6KGU9MS9lLHQueCo9ZSx0LnkqPWUsdC56Kj1lLHQpfSx0LnByb3RvdHlwZS5tdWx0aXBseUJ5TWF0Mz1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMyh0aGlzLGUpfSx0LnByb3RvdHlwZS5tdWx0aXBseUJ5UXVhdD1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMyh0aGlzLGUpfSx0LnByb3RvdHlwZS50b1F1YXQ9ZnVuY3Rpb24oZSl7ZXx8KGU9bmV3IGkuZGVmYXVsdCk7dmFyIG49bmV3IHQscj1uZXcgdDtyZXR1cm4gbi54PU1hdGguY29zKC41KnRoaXMueCksci54PU1hdGguc2luKC41KnRoaXMueCksbi55PU1hdGguY29zKC41KnRoaXMueSksci55PU1hdGguc2luKC41KnRoaXMueSksbi56PU1hdGguY29zKC41KnRoaXMueiksci56PU1hdGguc2luKC41KnRoaXMueiksZS54PXIueCpuLnkqbi56LW4ueCpyLnkqci56LGUueT1uLngqci55Km4ueityLngqbi55KnIueixlLno9bi54Km4ueSpyLnotci54KnIueSpuLnosZS53PW4ueCpuLnkqbi56K3IueCpyLnkqci56LGV9LHQuY3Jvc3M9ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KTt2YXIgcj1lLngscz1lLnksYT1lLnosbz1uLngsdT1uLnksbD1uLno7cmV0dXJuIGkueD1zKmwtYSp1LGkueT1hKm8tcipsLGkuej1yKnUtcypvLGl9LHQuZG90PWZ1bmN0aW9uKHQsZSl7dmFyIG49dC54LGk9dC55LHI9dC56O3JldHVybiBuKmUueCtpKmUueStyKmUuen0sdC5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe2UueCx0LngsZS55LHQueSxlLnosdC56O3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkRGlzdGFuY2UodCxlKSl9LHQuc3F1YXJlZERpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZS54LXQueCxpPWUueS10Lnkscj1lLnotdC56O3JldHVybiBuKm4raSppK3Iqcn0sdC5kaXJlY3Rpb249ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KTt2YXIgcj1lLngtbi54LHM9ZS55LW4ueSxhPWUuei1uLnosbz1NYXRoLnNxcnQocipyK3MqcythKmEpO3JldHVybiAwPT09bz8oaS54PTAsaS55PTAsaS56PTAsaSk6KG89MS9vLGkueD1yKm8saS55PXMqbyxpLno9YSpvLGkpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyZXR1cm4gcnx8KHI9bmV3IHQpLHIueD1lLngraSoobi54LWUueCksci55PWUueStpKihuLnktZS55KSxyLno9ZS56K2kqKG4uei1lLnopLHJ9LHQuc3VtPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngrbi54LGkueT1lLnkrbi55LGkuej1lLnorbi56LGl9LHQuZGlmZmVyZW5jZT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54LW4ueCxpLnk9ZS55LW4ueSxpLno9ZS56LW4ueixpfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCpuLngsaS55PWUueSpuLnksaS56PWUueipuLnosaX0sdC5xdW90aWVudD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54L24ueCxpLnk9ZS55L24ueSxpLno9ZS56L24ueixpfSx0Lnplcm89bmV3IHQoWzAsMCwwXSksdC5vbmU9bmV3IHQoWzEsMSwxXSksdC51cD1uZXcgdChbMCwxLDBdKSx0LnJpZ2h0PW5ldyB0KFsxLDAsMF0pLHQuZm9yd2FyZD1uZXcgdChbMCwwLDFdKSx0fSgpO2UuZGVmYXVsdD1zfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigyKSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgyKSx2b2lkIDAhPT10JiYodGhpcy54eT10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInlcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ4eVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLng9MCx0aGlzLnk9MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9bmV3IHQpLGUueD10aGlzLngsZS55PXRoaXMueSxlfSx0LnByb3RvdHlwZS5uZWdhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR8fCh0PXRoaXMpLHQueD0tdGhpcy54LHQueT0tdGhpcy55LHR9LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1yLmVwc2lsb24pLCEoTWF0aC5hYnModGhpcy54LXQueCk+ZSkmJiEoTWF0aC5hYnModGhpcy55LXQueSk+ZSl9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkTGVuZ3RoKCkpfSx0LnByb3RvdHlwZS5zcXVhcmVkTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55O3JldHVybiB0KnQrZSplfSx0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXN9LHQucHJvdG90eXBlLnN1YnRyYWN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpc30sdC5wcm90b3R5cGUuZGl2aWRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQueCx0aGlzLnkvPXQueSx0aGlzfSx0LnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSxlLngqPXQsZS55Kj10LGV9LHQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXt0fHwodD10aGlzKTt2YXIgZT10aGlzLmxlbmd0aCgpO3JldHVybiAxPT09ZT90aGlzOjA9PT1lPyh0Lng9MCx0Lnk9MCx0KTooZT0xL2UsdC54Kj1lLHQueSo9ZSx0KX0sdC5wcm90b3R5cGUubXVsdGlwbHlNYXQyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLHQubXVsdGlwbHlWZWMyKHRoaXMsZSl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0Mz1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMih0aGlzLGUpfSx0LmNyb3NzPWZ1bmN0aW9uKHQsZSxuKXtufHwobj1uZXcgaS5kZWZhdWx0KTt2YXIgcj10Lngscz10LnksYT1lLngsbz1yKmUueS1zKmE7cmV0dXJuIG4ueD0wLG4ueT0wLG4uej1vLG59LHQuZG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueCplLngrdC55KmUueX0sdC5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkRGlzdGFuY2UodCxlKSl9LHQuc3F1YXJlZERpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZS54LXQueCxpPWUueS10Lnk7cmV0dXJuIG4qbitpKml9LHQuZGlyZWN0aW9uPWZ1bmN0aW9uKGUsbixpKXtpfHwoaT1uZXcgdCk7dmFyIHI9ZS54LW4ueCxzPWUueS1uLnksYT1NYXRoLnNxcnQocipyK3Mqcyk7cmV0dXJuIDA9PT1hPyhpLng9MCxpLnk9MCxpKTooYT0xL2EsaS54PXIqYSxpLnk9cyphLGkpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyfHwocj1uZXcgdCk7dmFyIHM9ZS54LGE9ZS55LG89bi54LHU9bi55O3JldHVybiByLng9cytpKihvLXMpLHIueT1hK2kqKHUtYSkscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGl9LHQuemVybz1uZXcgdChbMCwwXSksdC5vbmU9bmV3IHQoWzEsMV0pLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDUpLHI9big2KSxzPW4oMiksYT1uKDApLG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoNCksdm9pZCAwIT09dCYmKHRoaXMueHl6dz10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInlcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ6XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwid1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbM119LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1szXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInh5XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieHl6XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ4eXp3XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1szXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXSx0aGlzLnZhbHVlc1szXT10WzNdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDQ7dCsrKXRoaXMudmFsdWVzW3RdPTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7ZXx8KGU9bmV3IHQpO2Zvcih2YXIgbj0wO248NDtuKyspZS52YWx1ZXNbbl09dGhpcy52YWx1ZXNbbl07cmV0dXJuIGV9LHQucHJvdG90eXBlLnJvbGw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLnosaT10aGlzLnc7cmV0dXJuIE1hdGguYXRhbjIoMioodCplK2kqbiksaSppK3QqdC1lKmUtbipuKX0sdC5wcm90b3R5cGUucGl0Y2g9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLnosaT10aGlzLnc7cmV0dXJuIE1hdGguYXRhbjIoMiooZSpuK2kqdCksaSppLXQqdC1lKmUrbipuKX0sdC5wcm90b3R5cGUueWF3PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYXNpbigyKih0aGlzLngqdGhpcy56LXRoaXMudyp0aGlzLnkpKX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9YS5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDQ7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLnNldElkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueD0wLHRoaXMueT0wLHRoaXMuej0wLHRoaXMudz0xLHRoaXN9LHQucHJvdG90eXBlLmNhbGN1bGF0ZVc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLno7cmV0dXJuIHRoaXMudz0tTWF0aC5zcXJ0KE1hdGguYWJzKDEtdCp0LWUqZS1uKm4pKSx0aGlzfSx0LnByb3RvdHlwZS5pbnZlcnNlPWZ1bmN0aW9uKCl7dmFyIGU9dC5kb3QodGhpcyx0aGlzKTtpZighZSlyZXR1cm4gdGhpcy54eXp3PVswLDAsMCwwXSx0aGlzO3ZhciBuPWU/MS9lOjA7cmV0dXJuIHRoaXMueCo9LW4sdGhpcy55Kj0tbix0aGlzLnoqPS1uLHRoaXMudyo9bix0aGlzfSx0LnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF0qPS0xLHRoaXMudmFsdWVzWzFdKj0tMSx0aGlzLnZhbHVlc1syXSo9LTEsdGhpc30sdC5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiBNYXRoLnNxcnQodCp0K2UqZStuKm4raSppKX0sdC5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKHQpe3R8fCh0PXRoaXMpO3ZhciBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXRoaXMudyxzPU1hdGguc3FydChlKmUrbipuK2kqaStyKnIpO3JldHVybiBzPyhzPTEvcyx0Lng9ZSpzLHQueT1uKnMsdC56PWkqcyx0Lnc9cipzLHQpOih0Lng9MCx0Lnk9MCx0Lno9MCx0Lnc9MCx0KX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8NDtlKyspdGhpcy52YWx1ZXNbZV0rPXQuYXQoZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdLHM9dC54LGE9dC55LG89dC56LHU9dC53O3JldHVybiB0aGlzLng9ZSp1K3IqcytuKm8taSphLHRoaXMueT1uKnUrciphK2kqcy1lKm8sdGhpcy56PWkqdStyKm8rZSphLW4qcyx0aGlzLnc9cip1LWUqcy1uKmEtaSpvLHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjMz1mdW5jdGlvbih0LGUpe2V8fChlPW5ldyBzLmRlZmF1bHQpO3ZhciBuPXQueCxpPXQueSxyPXQueixhPXRoaXMueCxvPXRoaXMueSx1PXRoaXMueixsPXRoaXMudyxoPWwqbitvKnItdSppLGM9bCppK3Uqbi1hKnIsdj1sKnIrYSppLW8qbixmPS1hKm4tbyppLXUqcjtyZXR1cm4gZS54PWgqbCtmKi1hK2MqLXUtdiotbyxlLnk9YypsK2YqLW8rdiotYS1oKi11LGUuej12KmwrZiotdStoKi1vLWMqLWEsZX0sdC5wcm90b3R5cGUudG9NYXQzPWZ1bmN0aW9uKHQpe3R8fCh0PW5ldyBpLmRlZmF1bHQpO3ZhciBlPXRoaXMueCxuPXRoaXMueSxyPXRoaXMueixzPXRoaXMudyxhPWUrZSxvPW4rbix1PXIrcixsPWUqYSxoPWUqbyxjPWUqdSx2PW4qbyxmPW4qdSxwPXIqdSxkPXMqYSx5PXMqbyxnPXMqdTtyZXR1cm4gdC5pbml0KFsxLSh2K3ApLGgrZyxjLXksaC1nLDEtKGwrcCksZitkLGMreSxmLWQsMS0obCt2KV0pLHR9LHQucHJvdG90eXBlLnRvTWF0ND1mdW5jdGlvbih0KXt0fHwodD1uZXcgci5kZWZhdWx0KTt2YXIgZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscz10aGlzLncsYT1lK2Usbz1uK24sdT1pK2ksbD1lKmEsaD1lKm8sYz1lKnUsdj1uKm8sZj1uKnUscD1pKnUsZD1zKmEseT1zKm8sZz1zKnU7cmV0dXJuIHQuaW5pdChbMS0oditwKSxoK2csYy15LDAsaC1nLDEtKGwrcCksZitkLDAsYyt5LGYtZCwxLShsK3YpLDAsMCwwLDAsMV0pLHR9LHQuZG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueCplLngrdC55KmUueSt0LnoqZS56K3QudyplLnd9LHQuc3VtPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngrbi54LGkueT1lLnkrbi55LGkuej1lLnorbi56LGkudz1lLncrbi53LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueCxzPWUueSxhPWUueixvPWUudyx1PW4ueCxsPW4ueSxoPW4ueixjPW4udztyZXR1cm4gaS54PXIqYytvKnUrcypoLWEqbCxpLnk9cypjK28qbCthKnUtcipoLGkuej1hKmMrbypoK3IqbC1zKnUsaS53PW8qYy1yKnUtcypsLWEqaCxpfSx0LmNyb3NzPWZ1bmN0aW9uKGUsbixpKXtpfHwoaT1uZXcgdCk7dmFyIHI9ZS54LHM9ZS55LGE9ZS56LG89ZS53LHU9bi54LGw9bi55LGg9bi56LGM9bi53O3JldHVybiBpLng9bypoK2EqYytyKmwtcyp1LGkueT1vKmMtcip1LXMqbC1hKmgsaS56PW8qdStyKmMrcypoLWEqbCxpLnc9bypsK3MqYythKnUtcipoLGl9LHQuc2hvcnRNaXg9ZnVuY3Rpb24oZSxuLGkscil7aWYocnx8KHI9bmV3IHQpLGk8PTApcmV0dXJuIHIueHl6dz1lLnh5encscjtpZihpPj0xKXJldHVybiByLnh5enc9bi54eXp3LHI7dmFyIHMsYSxvPXQuZG90KGUsbiksdT1uLmNvcHkoKTtpZihvPDAmJih1LmludmVyc2UoKSxvPS1vKSxvPi45OTk5KXM9MS1pLGE9MCtpO2Vsc2V7dmFyIGw9TWF0aC5zcXJ0KDEtbypvKSxoPU1hdGguYXRhbjIobCxvKSxjPTEvbDtzPU1hdGguc2luKCgxLWkpKmgpKmMsYT1NYXRoLnNpbigoMCtpKSpoKSpjfXJldHVybiByLng9cyplLngrYSp1Lngsci55PXMqZS55K2EqdS55LHIuej1zKmUueithKnUueixyLnc9cyplLncrYSp1Lncscn0sdC5taXg9ZnVuY3Rpb24oZSxuLGkscil7cnx8KHI9bmV3IHQpO3ZhciBzPWUueCpuLngrZS55Km4ueStlLnoqbi56K2UudypuLnc7aWYoTWF0aC5hYnMocyk+PTEpcmV0dXJuIHIueHl6dz1lLnh5encscjt2YXIgYT1NYXRoLmFjb3Mocyksbz1NYXRoLnNxcnQoMS1zKnMpO2lmKE1hdGguYWJzKG8pPC4wMDEpcmV0dXJuIHIueD0uNSplLngrLjUqbi54LHIueT0uNSplLnkrLjUqbi55LHIuej0uNSplLnorLjUqbi56LHIudz0uNSplLncrLjUqbi53LHI7dmFyIHU9TWF0aC5zaW4oKDEtaSkqYSkvbyxsPU1hdGguc2luKGkqYSkvbztyZXR1cm4gci54PWUueCp1K24ueCpsLHIueT1lLnkqdStuLnkqbCxyLno9ZS56KnUrbi56Kmwsci53PWUudyp1K24udypsLHJ9LHQuZnJvbUF4aXNBbmdsZT1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpLG4qPS41O3ZhciByPU1hdGguc2luKG4pO3JldHVybiBpLng9ZS54KnIsaS55PWUueSpyLGkuej1lLnoqcixpLnc9TWF0aC5jb3MobiksaX0sdC5pZGVudGl0eT0obmV3IHQpLnNldElkZW50aXR5KCksdH0oKTtlLmRlZmF1bHQ9b30sZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pO3ZhciBpPW4oNikscj1uKDQpLHM9bigzKSxhPW4oMiksbz1uKDApLHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoOSksdm9pZCAwIT09dCYmdGhpcy5pbml0KHQpfXJldHVybiB0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw5O2UrKyl0aGlzLnZhbHVlc1tlXT10W2VdO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8OTt0KyspdGhpcy52YWx1ZXNbdF09MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlfHwoZT1uZXcgdCk7Zm9yKHZhciBuPTA7bjw5O24rKyllLnZhbHVlc1tuXT10aGlzLnZhbHVlc1tuXTtyZXR1cm4gZX0sdC5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPDk7ZSsrKXRbZV09dGhpcy52YWx1ZXNbZV07cmV0dXJuIHR9LHQucHJvdG90eXBlLnJvdz1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbMyp0KzBdLHRoaXMudmFsdWVzWzMqdCsxXSx0aGlzLnZhbHVlc1szKnQrMl1dfSx0LnByb3RvdHlwZS5jb2w9ZnVuY3Rpb24odCl7cmV0dXJuW3RoaXMudmFsdWVzW3RdLHRoaXMudmFsdWVzW3QrM10sdGhpcy52YWx1ZXNbdCs2XV19LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPW8uZXBzaWxvbik7Zm9yKHZhciBuPTA7bjw5O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5kZXRlcm1pbmFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzBdLGU9dGhpcy52YWx1ZXNbMV0sbj10aGlzLnZhbHVlc1syXSxpPXRoaXMudmFsdWVzWzNdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbN10sdT10aGlzLnZhbHVlc1s4XTtyZXR1cm4gdCoodSpyLXMqbykrZSooLXUqaStzKmEpK24qKG8qaS1yKmEpfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0wLHRoaXMudmFsdWVzWzRdPTEsdGhpcy52YWx1ZXNbNV09MCx0aGlzLnZhbHVlc1s2XT0wLHRoaXMudmFsdWVzWzddPTAsdGhpcy52YWx1ZXNbOF09MSx0aGlzfSx0LnByb3RvdHlwZS50cmFuc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1sxXSxlPXRoaXMudmFsdWVzWzJdLG49dGhpcy52YWx1ZXNbNV07cmV0dXJuIHRoaXMudmFsdWVzWzFdPXRoaXMudmFsdWVzWzNdLHRoaXMudmFsdWVzWzJdPXRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzNdPXQsdGhpcy52YWx1ZXNbNV09dGhpcy52YWx1ZXNbN10sdGhpcy52YWx1ZXNbNl09ZSx0aGlzLnZhbHVlc1s3XT1uLHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0saT10aGlzLnZhbHVlc1szXSxyPXRoaXMudmFsdWVzWzRdLHM9dGhpcy52YWx1ZXNbNV0sYT10aGlzLnZhbHVlc1s2XSxvPXRoaXMudmFsdWVzWzddLHU9dGhpcy52YWx1ZXNbOF0sbD11KnItcypvLGg9LXUqaStzKmEsYz1vKmktciphLHY9dCpsK2UqaCtuKmM7cmV0dXJuIHY/KHY9MS92LHRoaXMudmFsdWVzWzBdPWwqdix0aGlzLnZhbHVlc1sxXT0oLXUqZStuKm8pKnYsdGhpcy52YWx1ZXNbMl09KHMqZS1uKnIpKnYsdGhpcy52YWx1ZXNbM109aCp2LHRoaXMudmFsdWVzWzRdPSh1KnQtbiphKSp2LHRoaXMudmFsdWVzWzVdPSgtcyp0K24qaSkqdix0aGlzLnZhbHVlc1s2XT1jKnYsdGhpcy52YWx1ZXNbN109KC1vKnQrZSphKSp2LHRoaXMudmFsdWVzWzhdPShyKnQtZSppKSp2LHRoaXMpOm51bGx9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdLHM9dGhpcy52YWx1ZXNbNF0sYT10aGlzLnZhbHVlc1s1XSxvPXRoaXMudmFsdWVzWzZdLHU9dGhpcy52YWx1ZXNbN10sbD10aGlzLnZhbHVlc1s4XSxoPXQuYXQoMCksYz10LmF0KDEpLHY9dC5hdCgyKSxmPXQuYXQoMykscD10LmF0KDQpLGQ9dC5hdCg1KSx5PXQuYXQoNiksZz10LmF0KDcpLHg9dC5hdCg4KTtyZXR1cm4gdGhpcy52YWx1ZXNbMF09aCplK2Mqcit2Km8sdGhpcy52YWx1ZXNbMV09aCpuK2Mqcyt2KnUsdGhpcy52YWx1ZXNbMl09aCppK2MqYSt2KmwsdGhpcy52YWx1ZXNbM109ZiplK3AqcitkKm8sdGhpcy52YWx1ZXNbNF09ZipuK3AqcytkKnUsdGhpcy52YWx1ZXNbNV09ZippK3AqYStkKmwsdGhpcy52YWx1ZXNbNl09eSplK2cqcit4Km8sdGhpcy52YWx1ZXNbN109eSpuK2cqcyt4KnUsdGhpcy52YWx1ZXNbOF09eSppK2cqYSt4KmwsdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHlWZWMyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC54LGk9dC55O3JldHVybiBlPyhlLnh5PVtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSxlKTpuZXcgcy5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSl9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjMz1mdW5jdGlvbih0LGUpe3ZhciBuPXQueCxpPXQueSxyPXQuejtyZXR1cm4gZT8oZS54eXo9W24qdGhpcy52YWx1ZXNbMF0raSp0aGlzLnZhbHVlc1szXStyKnRoaXMudmFsdWVzWzZdLG4qdGhpcy52YWx1ZXNbMV0raSp0aGlzLnZhbHVlc1s0XStyKnRoaXMudmFsdWVzWzddLG4qdGhpcy52YWx1ZXNbMl0raSp0aGlzLnZhbHVlc1s1XStyKnRoaXMudmFsdWVzWzhdXSxlKTpuZXcgYS5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rcip0aGlzLnZhbHVlc1s2XSxuKnRoaXMudmFsdWVzWzFdK2kqdGhpcy52YWx1ZXNbNF0rcip0aGlzLnZhbHVlc1s3XSxuKnRoaXMudmFsdWVzWzJdK2kqdGhpcy52YWx1ZXNbNV0rcip0aGlzLnZhbHVlc1s4XV0pfSx0LnByb3RvdHlwZS50b01hdDQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuaW5pdChbdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sMCx0aGlzLnZhbHVlc1szXSx0aGlzLnZhbHVlc1s0XSx0aGlzLnZhbHVlc1s1XSwwLHRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzddLHRoaXMudmFsdWVzWzhdLDAsMCwwLDAsMV0pLHQpOm5ldyBpLmRlZmF1bHQoW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLDAsdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbNV0sMCx0aGlzLnZhbHVlc1s2XSx0aGlzLnZhbHVlc1s3XSx0aGlzLnZhbHVlc1s4XSwwLDAsMCwwLDFdKX0sdC5wcm90b3R5cGUudG9RdWF0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scz10aGlzLnZhbHVlc1s0XSxhPXRoaXMudmFsdWVzWzVdLG89dGhpcy52YWx1ZXNbNl0sdT10aGlzLnZhbHVlc1s3XSxsPXRoaXMudmFsdWVzWzhdLGg9dC1zLWwsYz1zLXQtbCx2PWwtdC1zLGY9MCxwPXQrcytsO2g+cCYmKHA9aCxmPTEpLGM+cCYmKHA9YyxmPTIpLHY+cCYmKHA9dixmPTMpO3ZhciBkPS41Kk1hdGguc3FydChwKzEpLHk9LjI1L2QsZz1uZXcgci5kZWZhdWx0O3N3aXRjaChmKXtjYXNlIDA6Zy53PWQsZy54PShhLXUpKnksZy55PShvLW4pKnksZy56PShlLWkpKnk7YnJlYWs7Y2FzZSAxOmcudz0oYS11KSp5LGcueD1kLGcueT0oZStpKSp5LGcuej0obytuKSp5O2JyZWFrO2Nhc2UgMjpnLnc9KG8tbikqeSxnLng9KGUraSkqeSxnLnk9ZCxnLno9KGErdSkqeTticmVhaztjYXNlIDM6Zy53PShlLWkpKnksZy54PShvK24pKnksZy55PShhK3UpKnksZy56PWR9cmV0dXJuIGd9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxyPWUueixzPU1hdGguc3FydChuKm4raSppK3Iqcik7aWYoIXMpcmV0dXJuIG51bGw7MSE9PXMmJihuKj1zPTEvcyxpKj1zLHIqPXMpO3ZhciBhPU1hdGguc2luKHQpLG89TWF0aC5jb3ModCksdT0xLW8sbD10aGlzLnZhbHVlc1swXSxoPXRoaXMudmFsdWVzWzFdLGM9dGhpcy52YWx1ZXNbMl0sdj10aGlzLnZhbHVlc1s0XSxmPXRoaXMudmFsdWVzWzVdLHA9dGhpcy52YWx1ZXNbNl0sZD10aGlzLnZhbHVlc1s4XSx5PXRoaXMudmFsdWVzWzldLGc9dGhpcy52YWx1ZXNbMTBdLHg9bipuKnUrbyxiPWkqbip1K3IqYSx3PXIqbip1LWkqYSxtPW4qaSp1LXIqYSxNPWkqaSp1K28sej1yKmkqdStuKmEsXz1uKnIqdStpKmEsUD1pKnIqdS1uKmEsaz1yKnIqdStvO3JldHVybiB0aGlzLnZhbHVlc1swXT1sKngrdipiK2Qqdyx0aGlzLnZhbHVlc1sxXT1oKngrZipiK3kqdyx0aGlzLnZhbHVlc1syXT1jKngrcCpiK2cqdyx0aGlzLnZhbHVlc1szXT1sKm0rdipNK2Qqeix0aGlzLnZhbHVlc1s0XT1oKm0rZipNK3kqeix0aGlzLnZhbHVlc1s1XT1jKm0rcCpNK2cqeix0aGlzLnZhbHVlc1s2XT1sKl8rdipQK2Qqayx0aGlzLnZhbHVlc1s3XT1oKl8rZipQK3kqayx0aGlzLnZhbHVlc1s4XT1jKl8rcCpQK2cqayx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyksdT1lLmF0KDQpLGw9ZS5hdCg1KSxoPWUuYXQoNiksYz1lLmF0KDcpLHY9ZS5hdCg4KSxmPW4uYXQoMCkscD1uLmF0KDEpLGQ9bi5hdCgyKSx5PW4uYXQoMyksZz1uLmF0KDQpLHg9bi5hdCg1KSxiPW4uYXQoNiksdz1uLmF0KDcpLG09bi5hdCg4KTtyZXR1cm4gaT8oaS5pbml0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pLGkpOm5ldyB0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pfSx0LmlkZW50aXR5PShuZXcgdCkuc2V0SWRlbnRpdHkoKSx0fSgpO2UuZGVmYXVsdD11fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9big1KSxyPW4oMikscz1uKDEwKSxhPW4oMCksbz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgxNiksdm9pZCAwIT09dCYmdGhpcy5pbml0KHQpfXJldHVybiB0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTwxNjtlKyspdGhpcy52YWx1ZXNbZV09dFtlXTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDE2O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDE2O24rKyllLnZhbHVlc1tuXT10aGlzLnZhbHVlc1tuXTtyZXR1cm4gZX0sdC5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPDE2O2UrKyl0W2VdPXRoaXMudmFsdWVzW2VdO3JldHVybiB0fSx0LnByb3RvdHlwZS5yb3c9ZnVuY3Rpb24odCl7cmV0dXJuW3RoaXMudmFsdWVzWzQqdCswXSx0aGlzLnZhbHVlc1s0KnQrMV0sdGhpcy52YWx1ZXNbNCp0KzJdLHRoaXMudmFsdWVzWzQqdCszXV19LHQucHJvdG90eXBlLmNvbD1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbdF0sdGhpcy52YWx1ZXNbdCs0XSx0aGlzLnZhbHVlc1t0KzhdLHRoaXMudmFsdWVzW3QrMTJdXX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9YS5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDE2O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5kZXRlcm1pbmFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzBdLGU9dGhpcy52YWx1ZXNbMV0sbj10aGlzLnZhbHVlc1syXSxpPXRoaXMudmFsdWVzWzNdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbN10sdT10aGlzLnZhbHVlc1s4XSxsPXRoaXMudmFsdWVzWzldLGg9dGhpcy52YWx1ZXNbMTBdLGM9dGhpcy52YWx1ZXNbMTFdLHY9dGhpcy52YWx1ZXNbMTJdLGY9dGhpcy52YWx1ZXNbMTNdLHA9dGhpcy52YWx1ZXNbMTRdLGQ9dGhpcy52YWx1ZXNbMTVdO3JldHVybih0KnMtZSpyKSooaCpkLWMqcCktKHQqYS1uKnIpKihsKmQtYypmKSsodCpvLWkqcikqKGwqcC1oKmYpKyhlKmEtbipzKSoodSpkLWMqdiktKGUqby1pKnMpKih1KnAtaCp2KSsobipvLWkqYSkqKHUqZi1sKnYpfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0wLHRoaXMudmFsdWVzWzRdPTAsdGhpcy52YWx1ZXNbNV09MSx0aGlzLnZhbHVlc1s2XT0wLHRoaXMudmFsdWVzWzddPTAsdGhpcy52YWx1ZXNbOF09MCx0aGlzLnZhbHVlc1s5XT0wLHRoaXMudmFsdWVzWzEwXT0xLHRoaXMudmFsdWVzWzExXT0wLHRoaXMudmFsdWVzWzEyXT0wLHRoaXMudmFsdWVzWzEzXT0wLHRoaXMudmFsdWVzWzE0XT0wLHRoaXMudmFsdWVzWzE1XT0xLHRoaXN9LHQucHJvdG90eXBlLnRyYW5zcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzFdLGU9dGhpcy52YWx1ZXNbMl0sbj10aGlzLnZhbHVlc1szXSxpPXRoaXMudmFsdWVzWzZdLHI9dGhpcy52YWx1ZXNbN10scz10aGlzLnZhbHVlc1sxMV07cmV0dXJuIHRoaXMudmFsdWVzWzFdPXRoaXMudmFsdWVzWzRdLHRoaXMudmFsdWVzWzJdPXRoaXMudmFsdWVzWzhdLHRoaXMudmFsdWVzWzNdPXRoaXMudmFsdWVzWzEyXSx0aGlzLnZhbHVlc1s0XT10LHRoaXMudmFsdWVzWzZdPXRoaXMudmFsdWVzWzldLHRoaXMudmFsdWVzWzddPXRoaXMudmFsdWVzWzEzXSx0aGlzLnZhbHVlc1s4XT1lLHRoaXMudmFsdWVzWzldPWksdGhpcy52YWx1ZXNbMTFdPXRoaXMudmFsdWVzWzE0XSx0aGlzLnZhbHVlc1sxMl09bix0aGlzLnZhbHVlc1sxM109cix0aGlzLnZhbHVlc1sxNF09cyx0aGlzfSx0LnByb3RvdHlwZS5pbnZlcnNlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scj10aGlzLnZhbHVlc1s0XSxzPXRoaXMudmFsdWVzWzVdLGE9dGhpcy52YWx1ZXNbNl0sbz10aGlzLnZhbHVlc1s3XSx1PXRoaXMudmFsdWVzWzhdLGw9dGhpcy52YWx1ZXNbOV0saD10aGlzLnZhbHVlc1sxMF0sYz10aGlzLnZhbHVlc1sxMV0sdj10aGlzLnZhbHVlc1sxMl0sZj10aGlzLnZhbHVlc1sxM10scD10aGlzLnZhbHVlc1sxNF0sZD10aGlzLnZhbHVlc1sxNV0seT10KnMtZSpyLGc9dCphLW4qcix4PXQqby1pKnIsYj1lKmEtbipzLHc9ZSpvLWkqcyxtPW4qby1pKmEsTT11KmYtbCp2LHo9dSpwLWgqdixfPXUqZC1jKnYsUD1sKnAtaCpmLGs9bCpkLWMqZixBPWgqZC1jKnAsUz15KkEtZyprK3gqUCtiKl8tdyp6K20qTTtyZXR1cm4gUz8oUz0xL1MsdGhpcy52YWx1ZXNbMF09KHMqQS1hKmsrbypQKSpTLHRoaXMudmFsdWVzWzFdPSgtZSpBK24qay1pKlApKlMsdGhpcy52YWx1ZXNbMl09KGYqbS1wKncrZCpiKSpTLHRoaXMudmFsdWVzWzNdPSgtbCptK2gqdy1jKmIpKlMsdGhpcy52YWx1ZXNbNF09KC1yKkErYSpfLW8qeikqUyx0aGlzLnZhbHVlc1s1XT0odCpBLW4qXytpKnopKlMsdGhpcy52YWx1ZXNbNl09KC12Km0rcCp4LWQqZykqUyx0aGlzLnZhbHVlc1s3XT0odSptLWgqeCtjKmcpKlMsdGhpcy52YWx1ZXNbOF09KHIqay1zKl8rbypNKSpTLHRoaXMudmFsdWVzWzldPSgtdCprK2UqXy1pKk0pKlMsdGhpcy52YWx1ZXNbMTBdPSh2KnctZip4K2QqeSkqUyx0aGlzLnZhbHVlc1sxMV09KC11KncrbCp4LWMqeSkqUyx0aGlzLnZhbHVlc1sxMl09KC1yKlArcyp6LWEqTSkqUyx0aGlzLnZhbHVlc1sxM109KHQqUC1lKnorbipNKSpTLHRoaXMudmFsdWVzWzE0XT0oLXYqYitmKmctcCp5KSpTLHRoaXMudmFsdWVzWzE1XT0odSpiLWwqZytoKnkpKlMsdGhpcyk6bnVsbH0sdC5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52YWx1ZXNbMF0sbj10aGlzLnZhbHVlc1sxXSxpPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbM10scz10aGlzLnZhbHVlc1s0XSxhPXRoaXMudmFsdWVzWzVdLG89dGhpcy52YWx1ZXNbNl0sdT10aGlzLnZhbHVlc1s3XSxsPXRoaXMudmFsdWVzWzhdLGg9dGhpcy52YWx1ZXNbOV0sYz10aGlzLnZhbHVlc1sxMF0sdj10aGlzLnZhbHVlc1sxMV0sZj10aGlzLnZhbHVlc1sxMl0scD10aGlzLnZhbHVlc1sxM10sZD10aGlzLnZhbHVlc1sxNF0seT10aGlzLnZhbHVlc1sxNV0sZz10LmF0KDApLHg9dC5hdCgxKSxiPXQuYXQoMiksdz10LmF0KDMpO3JldHVybiB0aGlzLnZhbHVlc1swXT1nKmUreCpzK2IqbCt3KmYsdGhpcy52YWx1ZXNbMV09ZypuK3gqYStiKmgrdypwLHRoaXMudmFsdWVzWzJdPWcqaSt4Km8rYipjK3cqZCx0aGlzLnZhbHVlc1szXT1nKnIreCp1K2Iqdit3KnksZz10LmF0KDQpLHg9dC5hdCg1KSxiPXQuYXQoNiksdz10LmF0KDcpLHRoaXMudmFsdWVzWzRdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1s1XT1nKm4reCphK2IqaCt3KnAsdGhpcy52YWx1ZXNbNl09ZyppK3gqbytiKmMrdypkLHRoaXMudmFsdWVzWzddPWcqcit4KnUrYip2K3cqeSxnPXQuYXQoOCkseD10LmF0KDkpLGI9dC5hdCgxMCksdz10LmF0KDExKSx0aGlzLnZhbHVlc1s4XT1nKmUreCpzK2IqbCt3KmYsdGhpcy52YWx1ZXNbOV09ZypuK3gqYStiKmgrdypwLHRoaXMudmFsdWVzWzEwXT1nKmkreCpvK2IqYyt3KmQsdGhpcy52YWx1ZXNbMTFdPWcqcit4KnUrYip2K3cqeSxnPXQuYXQoMTIpLHg9dC5hdCgxMyksYj10LmF0KDE0KSx3PXQuYXQoMTUpLHRoaXMudmFsdWVzWzEyXT1nKmUreCpzK2IqbCt3KmYsdGhpcy52YWx1ZXNbMTNdPWcqbit4KmErYipoK3cqcCx0aGlzLnZhbHVlc1sxNF09ZyppK3gqbytiKmMrdypkLHRoaXMudmFsdWVzWzE1XT1nKnIreCp1K2Iqdit3KnksdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHlWZWMzPWZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueSxpPXQuejtyZXR1cm4gbmV3IHIuZGVmYXVsdChbdGhpcy52YWx1ZXNbMF0qZSt0aGlzLnZhbHVlc1s0XSpuK3RoaXMudmFsdWVzWzhdKmkrdGhpcy52YWx1ZXNbMTJdLHRoaXMudmFsdWVzWzFdKmUrdGhpcy52YWx1ZXNbNV0qbit0aGlzLnZhbHVlc1s5XSppK3RoaXMudmFsdWVzWzEzXSx0aGlzLnZhbHVlc1syXSplK3RoaXMudmFsdWVzWzZdKm4rdGhpcy52YWx1ZXNbMTBdKmkrdGhpcy52YWx1ZXNbMTRdXSl9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjND1mdW5jdGlvbih0LGUpe2V8fChlPW5ldyBzLmRlZmF1bHQpO3ZhciBuPXQueCxpPXQueSxyPXQueixhPXQudztyZXR1cm4gZS54PXRoaXMudmFsdWVzWzBdKm4rdGhpcy52YWx1ZXNbNF0qaSt0aGlzLnZhbHVlc1s4XSpyK3RoaXMudmFsdWVzWzEyXSphLGUueT10aGlzLnZhbHVlc1sxXSpuK3RoaXMudmFsdWVzWzVdKmkrdGhpcy52YWx1ZXNbOV0qcit0aGlzLnZhbHVlc1sxM10qYSxlLno9dGhpcy52YWx1ZXNbMl0qbit0aGlzLnZhbHVlc1s2XSppK3RoaXMudmFsdWVzWzEwXSpyK3RoaXMudmFsdWVzWzE0XSphLGUudz10aGlzLnZhbHVlc1szXSpuK3RoaXMudmFsdWVzWzddKmkrdGhpcy52YWx1ZXNbMTFdKnIrdGhpcy52YWx1ZXNbMTVdKmEsZX0sdC5wcm90b3R5cGUudG9NYXQzPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpLmRlZmF1bHQoW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLHRoaXMudmFsdWVzWzRdLHRoaXMudmFsdWVzWzVdLHRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzhdLHRoaXMudmFsdWVzWzldLHRoaXMudmFsdWVzWzEwXV0pfSx0LnByb3RvdHlwZS50b0ludmVyc2VNYXQzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbOF0sdT10aGlzLnZhbHVlc1s5XSxsPXRoaXMudmFsdWVzWzEwXSxoPWwqcy1hKnUsYz0tbCpyK2Eqbyx2PXUqci1zKm8sZj10KmgrZSpjK24qdjtyZXR1cm4gZj8oZj0xL2YsbmV3IGkuZGVmYXVsdChbaCpmLCgtbCplK24qdSkqZiwoYSplLW4qcykqZixjKmYsKGwqdC1uKm8pKmYsKC1hKnQrbipyKSpmLHYqZiwoLXUqdCtlKm8pKmYsKHMqdC1lKnIpKmZdKSk6bnVsbH0sdC5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueSxpPXQuejtyZXR1cm4gdGhpcy52YWx1ZXNbMTJdKz10aGlzLnZhbHVlc1swXSplK3RoaXMudmFsdWVzWzRdKm4rdGhpcy52YWx1ZXNbOF0qaSx0aGlzLnZhbHVlc1sxM10rPXRoaXMudmFsdWVzWzFdKmUrdGhpcy52YWx1ZXNbNV0qbit0aGlzLnZhbHVlc1s5XSppLHRoaXMudmFsdWVzWzE0XSs9dGhpcy52YWx1ZXNbMl0qZSt0aGlzLnZhbHVlc1s2XSpuK3RoaXMudmFsdWVzWzEwXSppLHRoaXMudmFsdWVzWzE1XSs9dGhpcy52YWx1ZXNbM10qZSt0aGlzLnZhbHVlc1s3XSpuK3RoaXMudmFsdWVzWzExXSppLHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueSxpPXQuejtyZXR1cm4gdGhpcy52YWx1ZXNbMF0qPWUsdGhpcy52YWx1ZXNbMV0qPWUsdGhpcy52YWx1ZXNbMl0qPWUsdGhpcy52YWx1ZXNbM10qPWUsdGhpcy52YWx1ZXNbNF0qPW4sdGhpcy52YWx1ZXNbNV0qPW4sdGhpcy52YWx1ZXNbNl0qPW4sdGhpcy52YWx1ZXNbN10qPW4sdGhpcy52YWx1ZXNbOF0qPWksdGhpcy52YWx1ZXNbOV0qPWksdGhpcy52YWx1ZXNbMTBdKj1pLHRoaXMudmFsdWVzWzExXSo9aSx0aGlzfSx0LnByb3RvdHlwZS5yb3RhdGU9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLngsaT1lLnkscj1lLnoscz1NYXRoLnNxcnQobipuK2kqaStyKnIpO2lmKCFzKXJldHVybiBudWxsOzEhPT1zJiYobio9cz0xL3MsaSo9cyxyKj1zKTt2YXIgYT1NYXRoLnNpbih0KSxvPU1hdGguY29zKHQpLHU9MS1vLGw9dGhpcy52YWx1ZXNbMF0saD10aGlzLnZhbHVlc1sxXSxjPXRoaXMudmFsdWVzWzJdLHY9dGhpcy52YWx1ZXNbM10sZj10aGlzLnZhbHVlc1s0XSxwPXRoaXMudmFsdWVzWzVdLGQ9dGhpcy52YWx1ZXNbNl0seT10aGlzLnZhbHVlc1s3XSxnPXRoaXMudmFsdWVzWzhdLHg9dGhpcy52YWx1ZXNbOV0sYj10aGlzLnZhbHVlc1sxMF0sdz10aGlzLnZhbHVlc1sxMV0sbT1uKm4qdStvLE09aSpuKnUrciphLHo9cipuKnUtaSphLF89bippKnUtciphLFA9aSppKnUrbyxrPXIqaSp1K24qYSxBPW4qcip1K2kqYSxTPWkqcip1LW4qYSxUPXIqcip1K287cmV0dXJuIHRoaXMudmFsdWVzWzBdPWwqbStmKk0rZyp6LHRoaXMudmFsdWVzWzFdPWgqbStwKk0reCp6LHRoaXMudmFsdWVzWzJdPWMqbStkKk0rYip6LHRoaXMudmFsdWVzWzNdPXYqbSt5Kk0rdyp6LHRoaXMudmFsdWVzWzRdPWwqXytmKlArZyprLHRoaXMudmFsdWVzWzVdPWgqXytwKlAreCprLHRoaXMudmFsdWVzWzZdPWMqXytkKlArYiprLHRoaXMudmFsdWVzWzddPXYqXyt5KlArdyprLHRoaXMudmFsdWVzWzhdPWwqQStmKlMrZypULHRoaXMudmFsdWVzWzldPWgqQStwKlMreCpULHRoaXMudmFsdWVzWzEwXT1jKkErZCpTK2IqVCx0aGlzLnZhbHVlc1sxMV09dipBK3kqUyt3KlQsdGhpc30sdC5mcnVzdHVtPWZ1bmN0aW9uKGUsbixpLHIscyxhKXt2YXIgbz1uLWUsdT1yLWksbD1hLXM7cmV0dXJuIG5ldyB0KFsyKnMvbywwLDAsMCwwLDIqcy91LDAsMCwobitlKS9vLChyK2kpL3UsLShhK3MpL2wsLTEsMCwwLC1hKnMqMi9sLDBdKX0sdC5wZXJzcGVjdGl2ZT1mdW5jdGlvbihlLG4saSxyKXt2YXIgcz1pKk1hdGgudGFuKGUqTWF0aC5QSS8zNjApLGE9cypuO3JldHVybiB0LmZydXN0dW0oLWEsYSwtcyxzLGkscil9LHQub3J0aG9ncmFwaGljPWZ1bmN0aW9uKGUsbixpLHIscyxhKXt2YXIgbz1uLWUsdT1yLWksbD1hLXM7cmV0dXJuIG5ldyB0KFsyL28sMCwwLDAsMCwyL3UsMCwwLDAsMCwtMi9sLDAsLShlK24pL28sLShyK2kpL3UsLShhK3MpL2wsMV0pfSx0Lmxvb2tBdD1mdW5jdGlvbihlLG4saSl7aWYodm9pZCAwPT09aSYmKGk9ci5kZWZhdWx0LnVwKSxlLmVxdWFscyhuKSlyZXR1cm4gdGhpcy5pZGVudGl0eTt2YXIgcz1yLmRlZmF1bHQuZGlmZmVyZW5jZShlLG4pLm5vcm1hbGl6ZSgpLGE9ci5kZWZhdWx0LmNyb3NzKGkscykubm9ybWFsaXplKCksbz1yLmRlZmF1bHQuY3Jvc3MocyxhKS5ub3JtYWxpemUoKTtyZXR1cm4gbmV3IHQoW2EueCxvLngscy54LDAsYS55LG8ueSxzLnksMCxhLnosby56LHMueiwwLC1yLmRlZmF1bHQuZG90KGEsZSksLXIuZGVmYXVsdC5kb3QobyxlKSwtci5kZWZhdWx0LmRvdChzLGUpLDFdKX0sdC5wcm9kdWN0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj1lLmF0KDApLHM9ZS5hdCgxKSxhPWUuYXQoMiksbz1lLmF0KDMpLHU9ZS5hdCg0KSxsPWUuYXQoNSksaD1lLmF0KDYpLGM9ZS5hdCg3KSx2PWUuYXQoOCksZj1lLmF0KDkpLHA9ZS5hdCgxMCksZD1lLmF0KDExKSx5PWUuYXQoMTIpLGc9ZS5hdCgxMykseD1lLmF0KDE0KSxiPWUuYXQoMTUpLHc9bi5hdCgwKSxtPW4uYXQoMSksTT1uLmF0KDIpLHo9bi5hdCgzKSxfPW4uYXQoNCksUD1uLmF0KDUpLGs9bi5hdCg2KSxBPW4uYXQoNyksUz1uLmF0KDgpLFQ9bi5hdCg5KSxJPW4uYXQoMTApLE89bi5hdCgxMSksUj1uLmF0KDEyKSxFPW4uYXQoMTMpLE49bi5hdCgxNCksaj1uLmF0KDE1KTtyZXR1cm4gaT8oaS5pbml0KFt3KnIrbSp1K00qdit6KnksdypzK20qbCtNKmYreipnLHcqYSttKmgrTSpwK3oqeCx3Km8rbSpjK00qZCt6KmIsXypyK1AqdStrKnYrQSp5LF8qcytQKmwraypmK0EqZyxfKmErUCpoK2sqcCtBKngsXypvK1AqYytrKmQrQSpiLFMqcitUKnUrSSp2K08qeSxTKnMrVCpsK0kqZitPKmcsUyphK1QqaCtJKnArTyp4LFMqbytUKmMrSSpkK08qYixSKnIrRSp1K04qditqKnksUipzK0UqbCtOKmYraipnLFIqYStFKmgrTipwK2oqeCxSKm8rRSpjK04qZCtqKmJdKSxpKTpuZXcgdChbdypyK20qdStNKnYreip5LHcqcyttKmwrTSpmK3oqZyx3KmErbSpoK00qcCt6KngsdypvK20qYytNKmQreipiLF8qcitQKnUrayp2K0EqeSxfKnMrUCpsK2sqZitBKmcsXyphK1AqaCtrKnArQSp4LF8qbytQKmMraypkK0EqYixTKnIrVCp1K0kqditPKnksUypzK1QqbCtJKmYrTypnLFMqYStUKmgrSSpwK08qeCxTKm8rVCpjK0kqZCtPKmIsUipyK0UqdStOKnYraip5LFIqcytFKmwrTipmK2oqZyxSKmErRSpoK04qcCtqKngsUipvK0UqYytOKmQraipiXSl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PW99LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSxlLkF2PWUuQWN0aW9uVHlwZT1lLmhhbmRUb0RldmljZT1lLkRldmljZT1lLklucHV0PWUuSW50ZXJhY3Rpb25Qcm9maWxlPWUuUGFuZWxNb3VzZUV2ZW50VHlwZT12b2lkIDA7Y29uc3QgaT1uKDgpO3ZhciByOyFmdW5jdGlvbih0KXt0W3QuVW5rbm93bj0wXT1cIlVua25vd25cIix0W3QuRG93bj0xXT1cIkRvd25cIix0W3QuVXA9Ml09XCJVcFwiLHRbdC5FbnRlcj0zXT1cIkVudGVyXCIsdFt0LkxlYXZlPTRdPVwiTGVhdmVcIix0W3QuTW92ZT01XT1cIk1vdmVcIn0oZS5QYW5lbE1vdXNlRXZlbnRUeXBlfHwoZS5QYW5lbE1vdXNlRXZlbnRUeXBlPXt9KSksZnVuY3Rpb24odCl7dC5WaXZlQ29udHJvbGxlcj1cIi9pbnRlcmFjdGlvbl9wcm9maWxlcy9odGMvdml2ZV9jb250cm9sbGVyXCIsdC5Db3Ntb3NDb250cm9sbGVyPVwiL2ludGVyYWN0aW9uX3Byb2ZpbGVzL2h0Yy9jb3Ntb3NfY29udHJvbGxlclwiLHQuUmV2ZXJiRzJDb250cm9sbGVyPVwiL2ludGVyYWN0aW9uX3Byb2ZpbGVzL21pY3Jvc29mdC9ocG1vdGlvbmNvbnRyb2xsZXJcIix0Lk1peGVkUmVhbGl0eUNvbnRyb2xsZXI9XCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvbWljcm9zb2Z0L21vdGlvbl9jb250cm9sbGVyXCIsdC5Ub3VjaENvbnRyb2xsZXI9XCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvb2N1bHVzL3RvdWNoXCIsdC5JbmRleENvbnRyb2xsZXI9XCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvdmFsdmUvaW5kZXhfY29udHJvbGxlclwifShlLkludGVyYWN0aW9uUHJvZmlsZXx8KGUuSW50ZXJhY3Rpb25Qcm9maWxlPXt9KSksZnVuY3Rpb24odCl7dC5UcmlnZ2VyPVwiL2lucHV0L3RyaWdnZXJcIix0LlRyaWdnZXJUb3VjaD1cIi9pbnB1dC90cmlnZ2VyL3RvdWNoXCIsdC5UcmlnZ2VyQ2xpY2s9XCIvaW5wdXQvdHJpZ2dlci9jbGlja1wiLHQuVHJpZ2dlclZhbHVlPVwiL2lucHV0L3RyaWdnZXIvdmFsdWVcIix0LlNxdWVlemU9XCIvaW5wdXQvc3F1ZWV6ZVwiLHQuU3F1ZWV6ZVRvdWNoPVwiL2lucHV0L3NxdWVlemUvdG91Y2hcIix0LlNxdWVlemVDbGljaz1cIi9pbnB1dC9zcXVlZXplL2NsaWNrXCIsdC5TcXVlZXplVmFsdWU9XCIvaW5wdXQvc3F1ZWV6ZS92YWx1ZVwiLHQuU3F1ZWV6ZUZvcmNlPVwiL2lucHV0L3NxdWVlemUvZm9yY2VcIix0LkE9XCIvaW5wdXQvYVwiLHQuQVRvdWNoPVwiL2lucHV0L2EvdG91Y2hcIix0LkFDbGljaz1cIi9pbnB1dC9hL2NsaWNrXCIsdC5CPVwiL2lucHV0L2JcIix0LkJUb3VjaD1cIi9pbnB1dC9iL3RvdWNoXCIsdC5CQ2xpY2s9XCIvaW5wdXQvYi9jbGlja1wiLHQuWD1cIi9pbnB1dC94XCIsdC5YVG91Y2g9XCIvaW5wdXQveC90b3VjaFwiLHQuWENsaWNrPVwiL2lucHV0L3gvY2xpY2tcIix0Llk9XCIvaW5wdXQveVwiLHQuWVRvdWNoPVwiL2lucHV0L3kvdG91Y2hcIix0LllDbGljaz1cIi9pbnB1dC95L2NsaWNrXCIsdC5NZW51PVwiL2lucHV0L21lbnVcIix0Lk1lbnVUb3VjaD1cIi9pbnB1dC9tZW51L3RvdWNoXCIsdC5NZW51Q2xpY2s9XCIvaW5wdXQvbWVudS9jbGlja1wiLHQuVHJhY2twYWQ9XCIvaW5wdXQvdHJhY2twYWRcIix0LlRyYWNrcGFkVG91Y2g9XCIvaW5wdXQvdHJhY2twYWQvdG91Y2hcIix0LlRyYWNrcGFkQ2xpY2s9XCIvaW5wdXQvdHJhY2twYWQvY2xpY2tcIix0LlRyYWNrcGFkRm9yY2U9XCIvaW5wdXQvdHJhY2twYWQvZm9yY2VcIix0LlRyYWNrcGFkWD1cIi9pbnB1dC90cmFja3BhZC94XCIsdC5UcmFja3BhZFk9XCIvaW5wdXQvdHJhY2twYWQveVwiLHQuVGh1bWJzdGljaz1cIi9pbnB1dC90aHVtYnN0aWNrXCIsdC5UaHVtYnN0aWNrVG91Y2g9XCIvaW5wdXQvdGh1bWJzdGljay90b3VjaFwiLHQuVGh1bWJzdGlja0NsaWNrPVwiL2lucHV0L3RodW1ic3RpY2svY2xpY2tcIix0LlRodW1ic3RpY2tGb3JjZT1cIi9pbnB1dC90aHVtYnN0aWNrL2ZvcmNlXCIsdC5UaHVtYnN0aWNrWD1cIi9pbnB1dC90aHVtYnN0aWNrL3hcIix0LlRodW1ic3RpY2tZPVwiL2lucHV0L3RodW1ic3RpY2sveVwifShlLklucHV0fHwoZS5JbnB1dD17fSkpLGZ1bmN0aW9uKHQpe3QuTGVmdD1cIi91c2VyL2hhbmQvbGVmdFwiLHQuUmlnaHQ9XCIvdXNlci9oYW5kL3JpZ2h0XCJ9KHI9ZS5EZXZpY2V8fChlLkRldmljZT17fSkpLGUuaGFuZFRvRGV2aWNlPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIGkuRUhhbmQuTGVmdDpyZXR1cm4gci5MZWZ0O2Nhc2UgaS5FSGFuZC5SaWdodDpyZXR1cm4gci5SaWdodH19LGZ1bmN0aW9uKHQpe3RbdC5Vbmtub3duPS0xXT1cIlVua25vd25cIix0W3QuQm9vbGVhbj0wXT1cIkJvb2xlYW5cIix0W3QuRmxvYXQ9MV09XCJGbG9hdFwiLHRbdC5WZWN0b3IyPTJdPVwiVmVjdG9yMlwifShlLkFjdGlvblR5cGV8fChlLkFjdGlvblR5cGU9e30pKSxlLkF2PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PT13aW5kb3d8fHZvaWQgMD09PXdpbmRvdz92b2lkIDA6d2luZG93LmFhcmR2YXJrfX0sZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWUuZ2FkZ2V0RGV0YWlsc1RvSWQ9ZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWUuZW1wdHlBY3Rpb25TdGF0ZT1lLkVBY3Rpb249ZS5QZXJtaXNzaW9uPWUuRVRleHR1cmVGb3JtYXQ9ZS5FVGV4dHVyZVR5cGU9ZS5FSGFuZD1lLkVOb2RlRmxhZ3M9ZS5yYXlWb2x1bWU9ZS5zcGhlcmVWb2x1bWU9ZS5tb2RlbEJveFZvbHVtZT1lLmluZmluaXRlVm9sdW1lPWUuZW1wdHlWb2x1bWU9ZS5FVm9sdW1lQ29udGV4dD1lLkVWb2x1bWVUeXBlPWUuaW50ZXJmYWNlU3RyaW5nRnJvbU1zZz1lLmludGVyZmFjZVRvU3RyaW5nPWUuQXZOb2RlVHlwZT1lLkludGVyZmFjZUxvY2tSZXN1bHQ9ZS5wYXJzZUVudmVsb3BlPWUuaXNVc2VyQWdlbnRBYXJkdmFyaz1lLmNvbXB1dGVFbmRwb2ludEZpZWxkVXJpPWUuaW5kZXhPZkVuZHBvaW50QWRkcnM9ZS5lbmRwb2ludEFkZHJzTWF0Y2g9ZS5lbmRwb2ludEFkZHJJc0VtcHR5PWUuc3RyaW5nVG9FbmRwb2ludEFkZHI9ZS5lbmRwb2ludEFkZHJUb1N0cmluZz1lLkVuZHBvaW50VHlwZT1lLldlYlNvY2tldENsb3NlQ29kZXM9ZS5NZXNzYWdlVHlwZT1lLkFhcmR2YXJrUG9ydD12b2lkIDA7Y29uc3QgaT1uKDkpLHI9bigxMSk7dmFyIHMsYTtmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlXCJIXCI6cmV0dXJuIHMuSHViO2Nhc2VcIkdcIjpyZXR1cm4gcy5HYWRnZXQ7Y2FzZVwiTlwiOnJldHVybiBzLk5vZGU7Y2FzZVwiTVwiOnJldHVybiBzLk1vbml0b3I7Y2FzZVwiUlwiOnJldHVybiBzLlJlbmRlcmVyO2RlZmF1bHQ6cmV0dXJuIHMuVW5rbm93bn19ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdD9mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSBzLkh1YjpyZXR1cm5cIkhcIjtjYXNlIHMuR2FkZ2V0OnJldHVyblwiR1wiO2Nhc2Ugcy5Ob2RlOnJldHVyblwiTlwiO2Nhc2Ugcy5Nb25pdG9yOnJldHVyblwiTVwiO2Nhc2Ugcy5SZW5kZXJlcjpyZXR1cm5cIlJcIjtjYXNlIHMuVW5rbm93bjpyZXR1cm5cIlVcIjtkZWZhdWx0OnJldHVyblwiP1wifX0odC50eXBlKStcIjpcIisodC5lbmRwb2ludElkP3QuZW5kcG9pbnRJZDowKStcIjpcIisodC5ub2RlSWQ/dC5ub2RlSWQ6MCk6bnVsbH1mdW5jdGlvbiBsKHQpe3JldHVybiBudWxsPT10fHxudWxsPT10LnR5cGV8fHQudHlwZT09cy5Vbmtub3dufWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gbCh0KT9sKGUpOiFsKGUpJiYodC50eXBlPT1lLnR5cGUmJnQubm9kZUlkPT1lLm5vZGVJZCYmdC5lbmRwb2ludElkPT1lLmVuZHBvaW50SWQpfWZ1bmN0aW9uIGModCxlLG4pe3JldHVybiB1KHQpK1wiLT5cIit1KGUpK1wiKFwiK24rXCIpXCJ9ZS5BYXJkdmFya1BvcnQ9MjM4NDIsZnVuY3Rpb24odCl7dFt0LlNldEVuZHBvaW50VHlwZT0xMDBdPVwiU2V0RW5kcG9pbnRUeXBlXCIsdFt0LlNldEVuZHBvaW50VHlwZVJlc3BvbnNlPTEwMV09XCJTZXRFbmRwb2ludFR5cGVSZXNwb25zZVwiLHRbdC5FcnJvcj0xMDJdPVwiRXJyb3JcIix0W3QuR2V0QWFyZHZhcmtNYW5pZmVzdD0xMDNdPVwiR2V0QWFyZHZhcmtNYW5pZmVzdFwiLHRbdC5HZXRBYXJkdmFya01hbmlmZXN0UmVzcG9uc2U9MTA0XT1cIkdldEFhcmR2YXJrTWFuaWZlc3RSZXNwb25zZVwiLHRbdC5OZXdFbmRwb2ludD0yMDBdPVwiTmV3RW5kcG9pbnRcIix0W3QuTG9zdEVuZHBvaW50PTIwMV09XCJMb3N0RW5kcG9pbnRcIix0W3QuT3ZlcnJpZGVUcmFuc2Zvcm09MjAyXT1cIk92ZXJyaWRlVHJhbnNmb3JtXCIsdFt0LlVwZGF0ZVNjZW5lR3JhcGg9MzAwXT1cIlVwZGF0ZVNjZW5lR3JhcGhcIix0W3QuR2FkZ2V0U3RhcnRlZD0zMDNdPVwiR2FkZ2V0U3RhcnRlZFwiLHRbdC5Ob2RlSGFwdGljPTMwNl09XCJOb2RlSGFwdGljXCIsdFt0LlNhdmVTZXR0aW5ncz0zMTBdPVwiU2F2ZVNldHRpbmdzXCIsdFt0LlVwZGF0ZUFjdGlvblN0YXRlPTMxMV09XCJVcGRhdGVBY3Rpb25TdGF0ZVwiLHRbdC5EZXN0cm95R2FkZ2V0PTMxMl09XCJEZXN0cm95R2FkZ2V0XCIsdFt0LlJlc291cmNlTG9hZEZhaWxlZD0zMTNdPVwiUmVzb3VyY2VMb2FkRmFpbGVkXCIsdFt0LkludGVyZmFjZUV2ZW50PTMxNl09XCJJbnRlcmZhY2VFdmVudFwiLHRbdC5HZXRJbnN0YWxsZWRHYWRnZXRzPTQwMF09XCJHZXRJbnN0YWxsZWRHYWRnZXRzXCIsdFt0LkdldEluc3RhbGxlZEdhZGdldHNSZXNwb25zZT00MDFdPVwiR2V0SW5zdGFsbGVkR2FkZ2V0c1Jlc3BvbnNlXCIsdFt0Lkluc3RhbGxHYWRnZXQ9NDAyXT1cIkluc3RhbGxHYWRnZXRcIix0W3QuU2V0R2FkZ2V0VG9BdXRvTGF1bmNoPTQwM109XCJTZXRHYWRnZXRUb0F1dG9MYXVuY2hcIix0W3QuUmVtb3ZlR2FkZ2V0RnJvbUF1dG9MYXVuY2g9NDA0XT1cIlJlbW92ZUdhZGdldEZyb21BdXRvTGF1bmNoXCIsdFt0LkludGVyZmFjZVN0YXJ0ZWQ9NzAwXT1cIkludGVyZmFjZVN0YXJ0ZWRcIix0W3QuSW50ZXJmYWNlRW5kZWQ9NzAxXT1cIkludGVyZmFjZUVuZGVkXCIsdFt0LkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWQ9NzAyXT1cIkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWRcIix0W3QuSW50ZXJmYWNlU2VuZEV2ZW50PTcwM109XCJJbnRlcmZhY2VTZW5kRXZlbnRcIix0W3QuSW50ZXJmYWNlUmVjZWl2ZUV2ZW50PTcwNF09XCJJbnRlcmZhY2VSZWNlaXZlRXZlbnRcIix0W3QuSW50ZXJmYWNlTG9jaz03MDVdPVwiSW50ZXJmYWNlTG9ja1wiLHRbdC5JbnRlcmZhY2VMb2NrUmVzcG9uc2U9NzA2XT1cIkludGVyZmFjZUxvY2tSZXNwb25zZVwiLHRbdC5JbnRlcmZhY2VVbmxvY2s9NzA3XT1cIkludGVyZmFjZVVubG9ja1wiLHRbdC5JbnRlcmZhY2VVbmxvY2tSZXNwb25zZT03MDhdPVwiSW50ZXJmYWNlVW5sb2NrUmVzcG9uc2VcIix0W3QuSW50ZXJmYWNlUmVsb2NrPTcwOV09XCJJbnRlcmZhY2VSZWxvY2tcIix0W3QuSW50ZXJmYWNlUmVsb2NrUmVzcG9uc2U9NzEwXT1cIkludGVyZmFjZVJlbG9ja1Jlc3BvbnNlXCIsdFt0LkludGVyZmFjZVNlbmRFdmVudFJlc3BvbnNlPTcxMV09XCJJbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZVwifShlLk1lc3NhZ2VUeXBlfHwoZS5NZXNzYWdlVHlwZT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5Vc2VyRGVzdHJveWVkR2FkZ2V0PTQ3MDFdPVwiVXNlckRlc3Ryb3llZEdhZGdldFwifShlLldlYlNvY2tldENsb3NlQ29kZXN8fChlLldlYlNvY2tldENsb3NlQ29kZXM9e30pKSxmdW5jdGlvbih0KXt0W3QuVW5rbm93bj0tMV09XCJVbmtub3duXCIsdFt0Lkh1Yj0wXT1cIkh1YlwiLHRbdC5HYWRnZXQ9MV09XCJHYWRnZXRcIix0W3QuTm9kZT0yXT1cIk5vZGVcIix0W3QuUmVuZGVyZXI9M109XCJSZW5kZXJlclwiLHRbdC5Nb25pdG9yPTRdPVwiTW9uaXRvclwiLHRbdC5VdGlsaXR5PTVdPVwiVXRpbGl0eVwifShzPWUuRW5kcG9pbnRUeXBlfHwoZS5FbmRwb2ludFR5cGU9e30pKSxlLmVuZHBvaW50QWRkclRvU3RyaW5nPXUsZS5zdHJpbmdUb0VuZHBvaW50QWRkcj1mdW5jdGlvbih0KXtsZXQgZT1uZXcgUmVnRXhwKFwiXiguKTooWzAtOV0rKTooWzAtOV0rKSRcIikuZXhlYyh0KTtyZXR1cm4gZT97dHlwZTpvKGVbMV0pLGVuZHBvaW50SWQ6cGFyc2VJbnQoZVsyXSksbm9kZUlkOnBhcnNlSW50KGVbM10pfTooY29uc29sZS5sb2coYGVuZHBvaW50IHN0cmluZyAke3R9IGZhaWxlZCB0byBwYXJzZWApLG51bGwpfSxlLmVuZHBvaW50QWRkcklzRW1wdHk9bCxlLmVuZHBvaW50QWRkcnNNYXRjaD1oLGUuaW5kZXhPZkVuZHBvaW50QWRkcnM9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4tMTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylpZihoKHRbbl0sZSkpcmV0dXJuIG47cmV0dXJuLTF9LGUuY29tcHV0ZUVuZHBvaW50RmllbGRVcmk9ZnVuY3Rpb24odCxlKXtyZXR1cm5gbm9kZWZpZWxkOi8vJHt1KHQpfS8ke2V9YH0sZS5pc1VzZXJBZ2VudEFhcmR2YXJrPWZ1bmN0aW9uKHQpe3JldHVybiB0LmluY2x1ZGVzKFwiQWFyZHZhcmtcIil9LGUucGFyc2VFbnZlbG9wZT1mdW5jdGlvbih0LGU9ITApe3RyeXtsZXQgbj1KU09OLnBhcnNlKHQpO3JldHVybiBuLnBheWxvYWQmJmUmJihuLnBheWxvYWRVbnBhY2tlZD1KU09OLnBhcnNlKG4ucGF5bG9hZCkpLG59Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUubG9nKFwiZmFpbGVkIHRvIHBhcnNlIGVudmVsb3BlXCIsdCxlKSxudWxsfX0sZnVuY3Rpb24odCl7dFt0LlN1Y2Nlc3M9MF09XCJTdWNjZXNzXCIsdFt0LkFscmVhZHlMb2NrZWQ9MV09XCJBbHJlYWR5TG9ja2VkXCIsdFt0Lk5vdExvY2tlZD0yXT1cIk5vdExvY2tlZFwiLHRbdC5JbnRlcmZhY2VOb3RGb3VuZD0zXT1cIkludGVyZmFjZU5vdEZvdW5kXCIsdFt0LkludGVyZmFjZU5hbWVNaXNtYXRjaD00XT1cIkludGVyZmFjZU5hbWVNaXNtYXRjaFwiLHRbdC5JbnRlcmZhY2VSZWNlaXZlck1pc21hdGNoPTVdPVwiSW50ZXJmYWNlUmVjZWl2ZXJNaXNtYXRjaFwiLHRbdC5OZXdSZWNlaXZlck5vdEZvdW5kPTZdPVwiTmV3UmVjZWl2ZXJOb3RGb3VuZFwifShlLkludGVyZmFjZUxvY2tSZXN1bHR8fChlLkludGVyZmFjZUxvY2tSZXN1bHQ9e30pKSxmdW5jdGlvbih0KXt0W3QuSW52YWxpZD0tMV09XCJJbnZhbGlkXCIsdFt0LkNvbnRhaW5lcj0wXT1cIkNvbnRhaW5lclwiLHRbdC5PcmlnaW49MV09XCJPcmlnaW5cIix0W3QuVHJhbnNmb3JtPTJdPVwiVHJhbnNmb3JtXCIsdFt0Lk1vZGVsPTNdPVwiTW9kZWxcIix0W3QuTGluZT0xMF09XCJMaW5lXCIsdFt0LlBhcmVudFRyYW5zZm9ybT0xMl09XCJQYXJlbnRUcmFuc2Zvcm1cIix0W3QuSGVhZEZhY2luZ1RyYW5zZm9ybT0xM109XCJIZWFkRmFjaW5nVHJhbnNmb3JtXCIsdFt0LkludGVyZmFjZUVudGl0eT0xN109XCJJbnRlcmZhY2VFbnRpdHlcIix0W3QuQ2hpbGQ9MThdPVwiQ2hpbGRcIix0W3QuTW9kZWxUcmFuc2Zvcm09MTldPVwiTW9kZWxUcmFuc2Zvcm1cIn0oZS5Bdk5vZGVUeXBlfHwoZS5Bdk5vZGVUeXBlPXt9KSksZS5pbnRlcmZhY2VUb1N0cmluZz1jLGUuaW50ZXJmYWNlU3RyaW5nRnJvbU1zZz1mdW5jdGlvbih0KXtyZXR1cm4gYyh0LnRyYW5zbWl0dGVyLHQucmVjZWl2ZXIsdC5pZmFjZSl9LGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPS0xXT1cIkludmFsaWRcIix0W3QuU3BoZXJlPTBdPVwiU3BoZXJlXCIsdFt0Lk1vZGVsQm94PTFdPVwiTW9kZWxCb3hcIix0W3QuQUFCQj0xXT1cIkFBQkJcIix0W3QuSW5maW5pdGU9M109XCJJbmZpbml0ZVwiLHRbdC5FbXB0eT00XT1cIkVtcHR5XCIsdFt0LlJheT01XT1cIlJheVwiLHRbdC5Ta2VsZXRvbj02XT1cIlNrZWxldG9uXCJ9KGE9ZS5FVm9sdW1lVHlwZXx8KGUuRVZvbHVtZVR5cGU9e30pKSxmdW5jdGlvbih0KXt0W3QuQWx3YXlzPTBdPVwiQWx3YXlzXCIsdFt0LlN0YXJ0T25seT0xXT1cIlN0YXJ0T25seVwiLHRbdC5Db250aW51ZU9ubHk9Ml09XCJDb250aW51ZU9ubHlcIn0oZS5FVm9sdW1lQ29udGV4dHx8KGUuRVZvbHVtZUNvbnRleHQ9e30pKSxlLmVtcHR5Vm9sdW1lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6YS5FbXB0eX19LGUuaW5maW5pdGVWb2x1bWU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTphLkluZmluaXRlfX0sZS5tb2RlbEJveFZvbHVtZT1mdW5jdGlvbih0LGUpe3JldHVybnt0eXBlOmEuTW9kZWxCb3gsdXJpOnQsc2NhbGU6ZX19LGUuc3BoZXJlVm9sdW1lPWZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOmEuU3BoZXJlLHJhZGl1czp0fX0sZS5yYXlWb2x1bWU9ZnVuY3Rpb24odCxlKXtsZXQgbixzO3M9aS52ZWMzLmRvdChpLnZlYzMudXAsZSk+Ljk5OT9pLnZlYzMuZm9yd2FyZDppLnZlYzMuY3Jvc3MoZSxpLnZlYzMudXApO2xldCBvPWkudmVjMy5jcm9zcyhzLGUpO3JldHVybiBuPW5ldyBpLm1hdDQoW2UueCxlLnksZS56LDAsby54LG8ueSxvLnosMCxzLngscy55LHMueiwwLHQueCx0LnksdC56LDFdKSx7dHlwZTphLlJheSxub2RlRnJvbVZvbHVtZTpyLm5vZGVUcmFuc2Zvcm1Gcm9tTWF0NChuKX19LGZ1bmN0aW9uKHQpe3RbdC5WaXNpYmxlPTFdPVwiVmlzaWJsZVwiLHRbdC5QcmVzZXJ2ZUdyYWJUcmFuc2Zvcm09Ml09XCJQcmVzZXJ2ZUdyYWJUcmFuc2Zvcm1cIix0W3QuTm90aWZ5T25UcmFuc2Zvcm1DaGFuZ2U9NF09XCJOb3RpZnlPblRyYW5zZm9ybUNoYW5nZVwiLHRbdC5Ob3RpZnlQcm94aW1pdHlXaXRob3V0R3JhYj04XT1cIk5vdGlmeVByb3hpbWl0eVdpdGhvdXRHcmFiXCIsdFt0LkFsbG93RHJvcE9uSG9va3M9MTZdPVwiQWxsb3dEcm9wT25Ib29rc1wiLHRbdC5BbGxvd011bHRpcGxlRHJvcHM9MzJdPVwiQWxsb3dNdWx0aXBsZURyb3BzXCIsdFt0LlRldGhlcmVkPTY0XT1cIlRldGhlcmVkXCIsdFt0LlNob3dHcmFiSW5kaWNhdG9yPTEyOF09XCJTaG93R3JhYkluZGljYXRvclwiLHRbdC5SZW1vdGU9MjU2XT1cIlJlbW90ZVwiLHRbdC5IaWdobGlnaHRIb29rcz01MTJdPVwiSGlnaGxpZ2h0SG9va3NcIn0oZS5FTm9kZUZsYWdzfHwoZS5FTm9kZUZsYWdzPXt9KSksZnVuY3Rpb24odCl7dFt0LkludmFsaWQ9LTFdPVwiSW52YWxpZFwiLHRbdC5MZWZ0PTBdPVwiTGVmdFwiLHRbdC5SaWdodD0xXT1cIlJpZ2h0XCJ9KGUuRUhhbmR8fChlLkVIYW5kPXt9KSksZnVuY3Rpb24odCl7dFt0LkludmFsaWQ9MF09XCJJbnZhbGlkXCIsdFt0LkQzRDExVGV4dHVyZTJEPTFdPVwiRDNEMTFUZXh0dXJlMkRcIix0W3QuVGV4dHVyZVVybD0yXT1cIlRleHR1cmVVcmxcIn0oZS5FVGV4dHVyZVR5cGV8fChlLkVUZXh0dXJlVHlwZT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5SOEc4QjhBOD0xXT1cIlI4RzhCOEE4XCIsdFt0LkI4RzhSOEE4PTJdPVwiQjhHOFI4QThcIn0oZS5FVGV4dHVyZUZvcm1hdHx8KGUuRVRleHR1cmVGb3JtYXQ9e30pKSxmdW5jdGlvbih0KXt0Lk1hc3Rlcj1cIm1hc3RlclwiLHQuU2NlbmVHcmFwaD1cInNjZW5lZ3JhcGhcIix0LkZhdm9yaXRlcz1cImZhdm9yaXRlc1wiLHQuU3RhcnRVcmw9XCJzdGFydHVybFwiLHQuSW5wdXQ9XCJpbnB1dFwiLHQuU2V0dGluZ3M9XCJzZXR0aW5nc1wiLHQuQXBwbGljYXRpb249XCJhcHBsaWNhdGlvblwifShlLlBlcm1pc3Npb258fChlLlBlcm1pc3Npb249e30pKSxmdW5jdGlvbih0KXt0W3QuQT0wXT1cIkFcIix0W3QuQj0xXT1cIkJcIix0W3QuU3F1ZWV6ZT0yXT1cIlNxdWVlemVcIix0W3QuR3JhYj0zXT1cIkdyYWJcIix0W3QuRGV0YWNoPTRdPVwiRGV0YWNoXCIsdFt0LkdyYWJTaG93UmF5PTVdPVwiR3JhYlNob3dSYXlcIix0W3QuR3JhYk1vdmU9Nl09XCJHcmFiTW92ZVwiLHRbdC5NYXg9N109XCJNYXhcIn0oZS5FQWN0aW9ufHwoZS5FQWN0aW9uPXt9KSksZS5lbXB0eUFjdGlvblN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJue2E6ITEsYjohMSxzcXVlZXplOiExLGdyYWI6ITEsZ3JhYlNob3dSYXk6ITEsZGV0YWNoOiExLGdyYWJNb3ZlOlswLDBdfX0sZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LHQpfSxlLmdhZGdldERldGFpbHNUb0lkPWZ1bmN0aW9uKHQsZSxuKXtsZXQgaT0odCtlKS5yZXBsYWNlKC9cXFcvZyxcIl9cIikudG9Mb3dlckNhc2UoKTtpZihpLmxlbmd0aD4yNCYmKGk9aS5zdWJzdHIoMCwyNCkpLG4pe2xldCB0PWUrbixyPTA7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe3I9KHI8PDUpLXIrdC5jaGFyQ29kZUF0KGUpLHImPXJ9aSs9ci50b1N0cmluZygxNil9cmV0dXJuIGl9LGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWZ1bmN0aW9uKHQpe3JldHVybiB0LmVuZHNXaXRoKFwiL1wiKT90K1wibWFuaWZlc3Qud2VibWFuaWZlc3RcIjp0K1wiL21hbmlmZXN0LndlYm1hbmlmZXN0XCJ9fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigxNSk7ZS5tYXQyPWkuZGVmYXVsdDt2YXIgcj1uKDUpO2UubWF0Mz1yLmRlZmF1bHQ7dmFyIHM9big2KTtlLm1hdDQ9cy5kZWZhdWx0O3ZhciBhPW4oNCk7ZS5xdWF0PWEuZGVmYXVsdDt2YXIgbz1uKDMpO2UudmVjMj1vLmRlZmF1bHQ7dmFyIHU9bigyKTtlLnZlYzM9dS5kZWZhdWx0O3ZhciBsPW4oMTApO2UudmVjND1sLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApLHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoNCksdm9pZCAwIT09dCYmKHRoaXMueHl6dz10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInlcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ6XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwid1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbM119LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1szXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInh5XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieHl6XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ4eXp3XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1szXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXSx0aGlzLnZhbHVlc1szXT10WzNdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInJcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJnXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1sxXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzFdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwiYlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcImFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzNdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbM109dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJyZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInJnYlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwicmdiYVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM11dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl0sdGhpcy52YWx1ZXNbM109dFszXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy56PTAsdGhpcy53PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZS56PXRoaXMueixlLnc9dGhpcy53LGV9LHQucHJvdG90eXBlLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9dGhpcyksdC54PS10aGlzLngsdC55PS10aGlzLnksdC56PS10aGlzLnosdC53PS10aGlzLncsdH0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuZXBzaWxvbiksIShNYXRoLmFicyh0aGlzLngtdC54KT5lKSYmKCEoTWF0aC5hYnModGhpcy55LXQueSk+ZSkmJighKE1hdGguYWJzKHRoaXMuei10LnopPmUpJiYhKE1hdGguYWJzKHRoaXMudy10LncpPmUpKSl9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkTGVuZ3RoKCkpfSx0LnByb3RvdHlwZS5zcXVhcmVkTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiB0KnQrZSplK24qbitpKml9LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpc30sdC5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXMudy09dC53LHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzLncqPXQudyx0aGlzfSx0LnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXMudy89dC53LHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLGUueCo9dCxlLnkqPXQsZS56Kj10LGUudyo9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54Kj0wLHQueSo9MCx0LnoqPTAsdC53Kj0wLHQpOihlPTEvZSx0LngqPWUsdC55Kj1lLHQueio9ZSx0LncqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0ND1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjNCh0aGlzLGUpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyZXR1cm4gcnx8KHI9bmV3IHQpLHIueD1lLngraSoobi54LWUueCksci55PWUueStpKihuLnktZS55KSxyLno9ZS56K2kqKG4uei1lLnopLHIudz1lLncraSoobi53LWUudykscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaS56PWUueituLnosaS53PWUudytuLncsaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGkuej1lLnotbi56LGkudz1lLnctbi53LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpLno9ZS56Km4ueixpLnc9ZS53Km4udyxpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGkuej1lLnovbi56LGkudz1lLncvbi53LGl9LHQuemVybz1uZXcgdChbMCwwLDAsMV0pLHQub25lPW5ldyB0KFsxLDEsMSwxXSksdH0oKTtlLmRlZmF1bHQ9cn0sZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUudmVjVG9BdlZlY3Rvcj1lLnZlY0Zyb21BdlZlY3Rvcj1lLm1hdE11bHRpcGx5UG9pbnQ9ZS5tdWx0aXBseVRyYW5zZm9ybXM9ZS5taW5pbWFsVG9NYXQ0VHJhbnNmb3JtPWUubWluaW1hbFBvc2VGcm9tVHJhbnNmb3JtPWUuaW52ZXJ0Tm9kZVRyYW5zZm9ybT1lLmxlcnBBdlRyYW5zZm9ybXM9ZS5taW5JZ25vcmluZ051bGxzPWUuc2NhbGVBeGlzVG9GaXQ9ZS52ZWMzTXVsdGlwbHlBbmRBZGQ9ZS5jb21wdXRlVW5pdmVyc2VGcm9tTGluZT1lLm5vZGVUcmFuc2Zvcm1Ub01hdDQ9ZS5ub2RlVHJhbnNmb3JtRnJvbU1hdDQ9ZS5nZXRSb3dGcm9tTWF0PWUucm90YXRpb25NYXRGcm9tRXVsZXJEZWdyZWVzPWUucXVhdEZyb21BeGlzQW5nbGVEZWdyZWVzPWUuc2NhbGVNYXQ9ZS50cmFuc2xhdGVNYXQ9dm9pZCAwO2NvbnN0IGk9big5KSxyPW4oMTYpO2Z1bmN0aW9uIHModCl7bGV0IGU9bmV3IGkubWF0NDtyZXR1cm4gZS5zZXRJZGVudGl0eSgpLGUudHJhbnNsYXRlKHQpLGV9ZnVuY3Rpb24gYSh0KXtsZXQgZT1uZXcgaS5tYXQ0O3JldHVybiBlLnNldElkZW50aXR5KCksZS5zY2FsZSh0KSxlfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZT9pLnF1YXQuZnJvbUF4aXNBbmdsZSh0LGUqTWF0aC5QSS8xODApOm5ldyBpLnF1YXQoaS5xdWF0LmlkZW50aXR5Lnh5encpfWZ1bmN0aW9uIHUodCxlKXtsZXQgbj10LnJvdyhlKTtyZXR1cm4gbmV3IGkudmVjMyhbblswXSxuWzFdLG5bMl1dKX1mdW5jdGlvbiBsKHQpe2lmKCF0KXJldHVybjtsZXQgZT17fSxuPXQubXVsdGlwbHlWZWM0KG5ldyBpLnZlYzQoWzAsMCwwLDFdKSk7MD09bi54JiYwPT1uLnkmJjA9PW4uenx8KGUucG9zaXRpb249e3g6bi54LHk6bi55LHo6bi56fSk7bGV0IHI9dSh0LDApLmxlbmd0aCgpLHM9dSh0LDEpLmxlbmd0aCgpLGE9dSh0LDIpLmxlbmd0aCgpOzE9PXImJjE9PXMmJjE9PWF8fChlLnNjYWxlPXt4OnIseTpzLHo6YX0pO2xldCBvPW5ldyBpLm1hdDMoW3QuYXQoMCkvcix0LmF0KDEpL3IsdC5hdCgyKS9yLHQuYXQoNCkvcyx0LmF0KDUpL3MsdC5hdCg2KS9zLHQuYXQoOCkvYSx0LmF0KDkpL2EsdC5hdCgxMCkvYV0pLnRvUXVhdCgpO3JldHVybiAwPT1vLngmJjA9PW8ueSYmMD09by56fHwoZS5yb3RhdGlvbj17eDpvLngseTpvLnksejpvLnosdzpvLnd9KSxlfWZ1bmN0aW9uIGgodCl7aWYoIXQpcmV0dXJuIGkubWF0NC5pZGVudGl0eTtsZXQgZSxuLHI7ZT10LnBvc2l0aW9uP25ldyBpLnZlYzMoW3QucG9zaXRpb24ueCx0LnBvc2l0aW9uLnksdC5wb3NpdGlvbi56XSk6bmV3IGkudmVjMyhbMCwwLDBdKSxuPXQuc2NhbGU/bmV3IGkudmVjMyhbdC5zY2FsZS54LHQuc2NhbGUueSx0LnNjYWxlLnpdKTpuZXcgaS52ZWMzKFsxLDEsMV0pLHI9dC5yb3RhdGlvbj9uZXcgaS5xdWF0KFt0LnJvdGF0aW9uLngsdC5yb3RhdGlvbi55LHQucm90YXRpb24ueix0LnJvdGF0aW9uLnddKTpuZXcgaS5xdWF0KFswLDAsMCwxXSk7bGV0IG89cyhlKS5tdWx0aXBseShyLnRvTWF0NCgpKTtpZihvPW8ubXVsdGlwbHkoYShuKSksTnVtYmVyLmlzTmFOKG8uYXQoMCkpKXRocm93IG5ldyBFcnJvcihcIkdhcmJhZ2UgcGFzc2VkIGludG8gbm9kZVRyYW5zZm9ybVRvTWF0NCByZXN1bHRlZCBpbiBOYU4gaW4gb3V0cHV0XCIpO3JldHVybiBvfWUudHJhbnNsYXRlTWF0PXMsZS5zY2FsZU1hdD1hLGUucXVhdEZyb21BeGlzQW5nbGVEZWdyZWVzPW8sZS5yb3RhdGlvbk1hdEZyb21FdWxlckRlZ3JlZXM9ZnVuY3Rpb24odCl7bGV0IGU9byhpLnZlYzMucmlnaHQsdC54KSxuPW8oaS52ZWMzLnVwLHQueSkscj1vKGkudmVjMy5mb3J3YXJkLHQueik7cmV0dXJuIGUubXVsdGlwbHkobikubXVsdGlwbHkocikudG9NYXQ0KCl9LGUuZ2V0Um93RnJvbU1hdD11LGUubm9kZVRyYW5zZm9ybUZyb21NYXQ0PWwsZS5ub2RlVHJhbnNmb3JtVG9NYXQ0PWgsZS5jb21wdXRlVW5pdmVyc2VGcm9tTGluZT1mdW5jdGlvbih0LGUsbil7bGV0IHI9bmV3IGkudmVjMyhlLnh5eik7ci5zdWJ0cmFjdCh0KTtsZXQgbz1yLmxlbmd0aCgpO3Iubm9ybWFsaXplKCk7bGV0IHUsbD1uZXcgaS52ZWMzKHQueHl6KS5hZGQobmV3IGkudmVjMyhyLnh5eikuc2NhbGUoby8yKSksaD1yO3U9aC54Pi45OT9uZXcgaS52ZWMzKFswLDEsMF0pOm5ldyBpLnZlYzMoWzEsMCwwXSk7bGV0IGM9aS52ZWMzLmNyb3NzKGgsdSxuZXcgaS52ZWMzKTtjLm5vcm1hbGl6ZSgpLHU9aS52ZWMzLmNyb3NzKGMsaCx1KTtsZXQgdj1uZXcgaS5tYXQ0KFt1LngsdS55LHUueiwwLGgueCxoLnksaC56LDAsYy54LGMueSxjLnosMCwwLDAsMCwxXSksZj1hKG5ldyBpLnZlYzMoW24sbyxuXSkpO3JldHVybiBzKGwpLm11bHRpcGx5KHYubXVsdGlwbHkoZikpfSxlLnZlYzNNdWx0aXBseUFuZEFkZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG5ldyBpLnZlYzMoW3QueCtlLngqbix0LnkrZS55Km4sdC56K2UueipuXSl9LGUuc2NhbGVBeGlzVG9GaXQ9ZnVuY3Rpb24odCxlLG4pe2xldCBpPU1hdGgubWF4KC1lLG4pO3JldHVybiBpPD0wP251bGw6dC9pfSxlLm1pbklnbm9yaW5nTnVsbHM9ZnVuY3Rpb24oLi4udCl7bGV0IGU9dC5maWx0ZXIodD0+bnVsbCE9dCk7cmV0dXJuIGU/TWF0aC5taW4oLi4uZSk6bnVsbH0sZS5sZXJwQXZUcmFuc2Zvcm1zPWZ1bmN0aW9uKHQsZSxuKXtsZXQgcz1PYmplY3QuYXNzaWduKHt9LGUpO2lmKHQmJnQucG9zaXRpb24mJmUucG9zaXRpb24pe2xldCByPW5ldyBpLnZlYzMoW3QucG9zaXRpb24ueCx0LnBvc2l0aW9uLnksdC5wb3NpdGlvbi56XSksYT1uZXcgaS52ZWMzKFtlLnBvc2l0aW9uLngsZS5wb3NpdGlvbi55LGUucG9zaXRpb24uel0pLG89aS52ZWMzLm1peChyLGEsbixuZXcgaS52ZWMzKTtzLnBvc2l0aW9uPXt4Om8ueCx5Om8ueSx6Om8uen19aWYodCYmdC5zY2FsZSYmZS5zY2FsZSl7bGV0IHI9bmV3IGkudmVjMyhbdC5zY2FsZS54LHQuc2NhbGUueSx0LnNjYWxlLnpdKSxhPW5ldyBpLnZlYzMoW2Uuc2NhbGUueCxlLnNjYWxlLnksZS5zY2FsZS56XSksbz1pLnZlYzMubWl4KHIsYSxuLG5ldyBpLnZlYzMpO3Muc2NhbGU9e3g6by54LHk6by55LHo6by56fX1pZih0JiZ0LnJvdGF0aW9uJiZlLnJvdGF0aW9uKXtsZXQgaT1uZXcgcih0LnJvdGF0aW9uKSxhPW5ldyByKGUucm90YXRpb24pLG89aS5zbGVycChhKShuKTtzLnJvdGF0aW9uPXt3Om8udyx4Om8ueCx5Om8ueSx6Om8uen19cmV0dXJuIHN9LGUuaW52ZXJ0Tm9kZVRyYW5zZm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gdD9sKGgodCkuY29weSgpLmludmVyc2UoKSk6dH0sZS5taW5pbWFsUG9zZUZyb21UcmFuc2Zvcm09ZnVuY3Rpb24odCl7bGV0IGU9aCh0KSxuPWUudG9NYXQzKCkudG9RdWF0KCkscj1lLm11bHRpcGx5VmVjNChuZXcgaS52ZWM0KFswLDAsMCwxXSkpO3JldHVybltyLngsci55LHIueixuLncsbi54LG4ueSxuLnpdfSxlLm1pbmltYWxUb01hdDRUcmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJuIGgoe3Bvc2l0aW9uOnt4OnRbMF0seTp0WzFdLHo6dFsyXX0scm90YXRpb246e3c6dFszXSx4OnRbNF0seTp0WzVdLHo6dFs2XX19KX0sZS5tdWx0aXBseVRyYW5zZm9ybXM9ZnVuY3Rpb24odCxlKXtsZXQgbj1oKHQpLHI9aChlKTtyZXR1cm4gbChpLm1hdDQucHJvZHVjdChuLHIsbmV3IGkubWF0NCkpfSxlLm1hdE11bHRpcGx5UG9pbnQ9ZnVuY3Rpb24odCxlKXtsZXQgbj1uZXcgaS52ZWM0KFtlLngsZS55LGUueiwxXSk7cmV0dXJuIG5ldyBpLnZlYzModC5tdWx0aXBseVZlYzQobixuZXcgaS52ZWM0KS54eXopfSxlLnZlY0Zyb21BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9uZXcgaS52ZWMzKFt0LngsdC55LHQuel0pOm51bGx9LGUudmVjVG9BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD97eDp0LngseTp0Lnksejp0Lnp9Om51bGx9fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7Y29uc3QgaT1uKDEzKTtpLl9fZXhwb3J0U3RhcihuKDE0KSxlKSxpLl9fZXhwb3J0U3RhcihuKDcpLGUpLGkuX19leHBvcnRTdGFyKG4oMTcpLGUpLGkuX19leHBvcnRTdGFyKG4oOCksZSksaS5fX2V4cG9ydFN0YXIobigxOCksZSksaS5fX2V4cG9ydFN0YXIobigxOSksZSksaS5fX2V4cG9ydFN0YXIobigxMSksZSl9LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtuLnIoZSksbi5kKGUsXCJfX2V4dGVuZHNcIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxuLmQoZSxcIl9fYXNzaWduXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsXCJfX3Jlc3RcIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSxcIl9fZGVjb3JhdGVcIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSxcIl9fcGFyYW1cIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSxcIl9fbWV0YWRhdGFcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSxcIl9fYXdhaXRlclwiLChmdW5jdGlvbigpe3JldHVybiBofSkpLG4uZChlLFwiX19nZW5lcmF0b3JcIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSxcIl9fY3JlYXRlQmluZGluZ1wiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZChlLFwiX19leHBvcnRTdGFyXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKGUsXCJfX3ZhbHVlc1wiLChmdW5jdGlvbigpe3JldHVybiBwfSkpLG4uZChlLFwiX19yZWFkXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsXCJfX3NwcmVhZFwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLFwiX19zcHJlYWRBcnJheXNcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKSxuLmQoZSxcIl9fYXdhaXRcIiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxuLmQoZSxcIl9fYXN5bmNHZW5lcmF0b3JcIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKSxuLmQoZSxcIl9fYXN5bmNEZWxlZ2F0b3JcIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxuLmQoZSxcIl9fYXN5bmNWYWx1ZXNcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxuLmQoZSxcIl9fbWFrZVRlbXBsYXRlT2JqZWN0XCIsKGZ1bmN0aW9uKCl7cmV0dXJuIE19KSksbi5kKGUsXCJfX2ltcG9ydFN0YXJcIiwoZnVuY3Rpb24oKXtyZXR1cm4gen0pKSxuLmQoZSxcIl9faW1wb3J0RGVmYXVsdFwiLChmdW5jdGlvbigpe3JldHVybiBffSkpLG4uZChlLFwiX19jbGFzc1ByaXZhdGVGaWVsZEdldFwiLChmdW5jdGlvbigpe3JldHVybiBQfSkpLG4uZChlLFwiX19jbGFzc1ByaXZhdGVGaWVsZFNldFwiLChmdW5jdGlvbigpe3JldHVybiBrfSkpO1xuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cblxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG52YXIgaT1mdW5jdGlvbih0LGUpe3JldHVybihpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pfSkodCxlKX07ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX12YXIgcz1mdW5jdGlvbigpe3JldHVybihzPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspZm9yKHZhciByIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXt9O2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiZlLmluZGV4T2YoaSk8MCYmKG5baV09dFtpXSk7aWYobnVsbCE9dCYmXCJmdW5jdGlvblwiPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9MDtmb3IoaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO3I8aS5sZW5ndGg7cisrKWUuaW5kZXhPZihpW3JdKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodCxpW3JdKSYmKG5baVtyXV09dFtpW3JdXSl9cmV0dXJuIG59ZnVuY3Rpb24gbyh0LGUsbixpKXt2YXIgcixzPWFyZ3VtZW50cy5sZW5ndGgsYT1zPDM/ZTpudWxsPT09aT9pPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxuKTppO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgbz10Lmxlbmd0aC0xO28+PTA7by0tKShyPXRbb10pJiYoYT0oczwzP3IoYSk6cz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBzPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7ZShuLGksdCl9fWZ1bmN0aW9uIGwodCxlKXtpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIGgodCxlLG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIscyl7ZnVuY3Rpb24gYSh0KXt0cnl7dShpLm5leHQodCkpfWNhdGNoKHQpe3ModCl9fWZ1bmN0aW9uIG8odCl7dHJ5e3UoaS50aHJvdyh0KSl9Y2F0Y2godCl7cyh0KX19ZnVuY3Rpb24gdSh0KXt2YXIgZTt0LmRvbmU/cih0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oKGZ1bmN0aW9uKHQpe3QoZSl9KSkpLnRoZW4oYSxvKX11KChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9ZnVuY3Rpb24gYyh0LGUpe3ZhciBuLGkscixzLGE9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmclswXSl0aHJvdyByWzFdO3JldHVybiByWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIHM9e25leHQ6bygwKSx0aHJvdzpvKDEpLHJldHVybjpvKDIpfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHM7ZnVuY3Rpb24gbyhzKXtyZXR1cm4gZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7Zm9yKDthOyl0cnl7aWYobj0xLGkmJihyPTImc1swXT9pLnJldHVybjpzWzBdP2kudGhyb3d8fCgocj1pLnJldHVybikmJnIuY2FsbChpKSwwKTppLm5leHQpJiYhKHI9ci5jYWxsKGksc1sxXSkpLmRvbmUpcmV0dXJuIHI7c3dpdGNoKGk9MCxyJiYocz1bMiZzWzBdLHIudmFsdWVdKSxzWzBdKXtjYXNlIDA6Y2FzZSAxOnI9czticmVhaztjYXNlIDQ6cmV0dXJuIGEubGFiZWwrKyx7dmFsdWU6c1sxXSxkb25lOiExfTtjYXNlIDU6YS5sYWJlbCsrLGk9c1sxXSxzPVswXTtjb250aW51ZTtjYXNlIDc6cz1hLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHI9YS50cnlzLChyPXIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0pfHw2IT09c1swXSYmMiE9PXNbMF0pKXthPTA7Y29udGludWV9aWYoMz09PXNbMF0mJighcnx8c1sxXT5yWzBdJiZzWzFdPHJbM10pKXthLmxhYmVsPXNbMV07YnJlYWt9aWYoNj09PXNbMF0mJmEubGFiZWw8clsxXSl7YS5sYWJlbD1yWzFdLHI9czticmVha31pZihyJiZhLmxhYmVsPHJbMl0pe2EubGFiZWw9clsyXSxhLm9wcy5wdXNoKHMpO2JyZWFrfXJbMl0mJmEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZX1zPWUuY2FsbCh0LGEpfWNhdGNoKHQpe3M9WzYsdF0saT0wfWZpbmFsbHl7bj1yPTB9aWYoNSZzWzBdKXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19KFtzLG9dKX19fWZ1bmN0aW9uIHYodCxlLG4saSl7dm9pZCAwPT09aSYmKGk9biksdFtpXT1lW25dfWZ1bmN0aW9uIGYodCxlKXtmb3IodmFyIG4gaW4gdClcImRlZmF1bHRcIj09PW58fGUuaGFzT3duUHJvcGVydHkobil8fChlW25dPXRbbl0pfWZ1bmN0aW9uIHAodCl7dmFyIGU9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj1lJiZ0W2VdLGk9MDtpZihuKXJldHVybiBuLmNhbGwodCk7aWYodCYmXCJudW1iZXJcIj09dHlwZW9mIHQubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJmk+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W2krK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/XCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiOlwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKX1mdW5jdGlvbiBkKHQsZSl7dmFyIG49XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIGkscixzPW4uY2FsbCh0KSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKGk9cy5uZXh0KCkpLmRvbmU7KWEucHVzaChpLnZhbHVlKX1jYXRjaCh0KXtyPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYobj1zLnJldHVybikmJm4uY2FsbChzKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19cmV0dXJuIGF9ZnVuY3Rpb24geSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0PXQuY29uY2F0KGQoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZygpe2Zvcih2YXIgdD0wLGU9MCxuPWFyZ3VtZW50cy5sZW5ndGg7ZTxuO2UrKyl0Kz1hcmd1bWVudHNbZV0ubGVuZ3RoO3ZhciBpPUFycmF5KHQpLHI9MDtmb3IoZT0wO2U8bjtlKyspZm9yKHZhciBzPWFyZ3VtZW50c1tlXSxhPTAsbz1zLmxlbmd0aDthPG87YSsrLHIrKylpW3JdPXNbYV07cmV0dXJuIGl9ZnVuY3Rpb24geCh0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHg/KHRoaXMudj10LHRoaXMpOm5ldyB4KHQpfWZ1bmN0aW9uIGIodCxlLG4pe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO3ZhciBpLHI9bi5hcHBseSh0LGV8fFtdKSxzPVtdO3JldHVybiBpPXt9LGEoXCJuZXh0XCIpLGEoXCJ0aHJvd1wiKSxhKFwicmV0dXJuXCIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gYSh0KXtyW3RdJiYoaVt0XT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7cy5wdXNoKFt0LGUsbixpXSk+MXx8byh0LGUpfSkpfSl9ZnVuY3Rpb24gbyh0LGUpe3RyeXsobj1yW3RdKGUpKS52YWx1ZSBpbnN0YW5jZW9mIHg/UHJvbWlzZS5yZXNvbHZlKG4udmFsdWUudikudGhlbih1LGwpOmgoc1swXVsyXSxuKX1jYXRjaCh0KXtoKHNbMF1bM10sdCl9dmFyIG59ZnVuY3Rpb24gdSh0KXtvKFwibmV4dFwiLHQpfWZ1bmN0aW9uIGwodCl7byhcInRocm93XCIsdCl9ZnVuY3Rpb24gaCh0LGUpe3QoZSkscy5zaGlmdCgpLHMubGVuZ3RoJiZvKHNbMF1bMF0sc1swXVsxXSl9fWZ1bmN0aW9uIHcodCl7dmFyIGUsbjtyZXR1cm4gZT17fSxpKFwibmV4dFwiKSxpKFwidGhyb3dcIiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxpKFwicmV0dXJuXCIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIGkoaSxyKXtlW2ldPXRbaV0/ZnVuY3Rpb24oZSl7cmV0dXJuKG49IW4pP3t2YWx1ZTp4KHRbaV0oZSkpLGRvbmU6XCJyZXR1cm5cIj09PWl9OnI/cihlKTplfTpyfX1mdW5jdGlvbiBtKHQpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO3ZhciBlLG49dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKHQpOih0PXAodCksZT17fSxpKFwibmV4dFwiKSxpKFwidGhyb3dcIiksaShcInJldHVyblwiKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBpKG4pe2Vbbl09dFtuXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihpLHIpeyhmdW5jdGlvbih0LGUsbixpKXtQcm9taXNlLnJlc29sdmUoaSkudGhlbigoZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOm59KX0pLGUpfSkoaSxyLChlPXRbbl0oZSkpLmRvbmUsZS52YWx1ZSl9KSl9fX1mdW5jdGlvbiBNKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxcInJhd1wiLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fWZ1bmN0aW9uIHoodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKG51bGwhPXQpZm9yKHZhciBuIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gXyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gUCh0LGUpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtyZXR1cm4gZS5nZXQodCl9ZnVuY3Rpb24gayh0LGUsbil7aWYoIWUuaGFzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO3JldHVybiBlLnNldCh0LG4pLG59fSxmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cyxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSxleHBvcnRzLndyaXRlUGVyc2lzdGVudFN0YXRlPWV4cG9ydHMucmVhZFBlcnNpc3RlbnRTdGF0ZT1leHBvcnRzLnYxVG9WMj1leHBvcnRzLmdldFN0YW5kYXJkUGVyc2lzdGVuY2VQYXRoPWV4cG9ydHMuZ2V0U3RhbmRhcmRBYXJkdmFya1BhdGg9dm9pZCAwO2NvbnN0IHV1aWRfMT1fX3dlYnBhY2tfcmVxdWlyZV9fKDIwKSxBYXJkdmFya1N0YXRlRm9ybWF0PTM7ZnVuY3Rpb24gZ2V0U3RhbmRhcmRBYXJkdmFya1BhdGgoKXtsZXQgb3M9ZXZhbChcInJlcXVpcmUoICdvcycgKVwiKSxwYXRoPWV2YWwoXCJyZXF1aXJlKCAncGF0aCcgKSBcIik7cmV0dXJuIHBhdGguam9pbihvcy5ob21lZGlyKCksXCJhYXJkdmFya1wiKX1mdW5jdGlvbiBnZXRTdGFuZGFyZFBlcnNpc3RlbmNlUGF0aCgpe2xldCBwYXRoPWV2YWwoXCJyZXF1aXJlKCAncGF0aCcgKVwiKTtyZXR1cm4gcGF0aC5qb2luKGdldFN0YW5kYXJkQWFyZHZhcmtQYXRoKCksXCJzdGF0ZS5qc29uXCIpfWV4cG9ydHMuZ2V0U3RhbmRhcmRBYXJkdmFya1BhdGg9Z2V0U3RhbmRhcmRBYXJkdmFya1BhdGgsZXhwb3J0cy5nZXRTdGFuZGFyZFBlcnNpc3RlbmNlUGF0aD1nZXRTdGFuZGFyZFBlcnNpc3RlbmNlUGF0aDtjb25zdCBmaXJzdE5hbWVzPVtcIkdyZWVuXCIsXCJCbHVlXCIsXCJSZWRcIixcIk9yYW5nZVwiLFwiVGVhbFwiLFwiUHVycGxlXCIsXCJQaW5rXCIsXCJZZWxsb3dcIixcIkJsYWNrXCIsXCJXaGl0ZVwiLFwiQnJvd25cIixcIkJlaWdlXCJdLGxhc3ROYW1lcz1bXCJBcHBsZVwiLFwiQmFuYW5hXCIsXCJMZW1vblwiLFwiUGluZWFwcGxlXCIsXCJDb2NvbnV0XCIsXCJMaW1lXCIsXCJLaXdpXCIsXCJQZWFyXCIsXCJDaGVycnlcIixcIlN0cmF3YmVycnlcIixcIkdyYXBlXCIsXCJNYW5nb1wiXTtmdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbU5hbWUoKXtsZXQgdD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZmlyc3ROYW1lcy5sZW5ndGgpLGU9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmxhc3ROYW1lcy5sZW5ndGgpO3JldHVybmAke2ZpcnN0TmFtZXNbdF19ICR7bGFzdE5hbWVzW2VdfWB9ZnVuY3Rpb24gdjFUb1YyKHQpe2xldCBlPXtmb3JtYXQ6MixhY3RpdmVHYWRnZXRzOnQuYWN0aXZlR2FkZ2V0cyxpbnN0YWxsZWRHYWRnZXRzOltdLHJlbmRlcmVyQ29uZmlnOntlbmFibGVNaXhlZFJlYWxpdHk6ITEsbWl4ZWRSZWFsaXR5Rm92OjUwLjMsY2xlYXJDb2xvcjpbMCwxLDBdfSxsb2NhbFVzZXJVdWlkOnV1aWRfMS52NCgpLGxvY2FsVXNlckRpc3BsYXlOYW1lOmdlbmVyYXRlUmFuZG9tTmFtZSgpfTtmb3IobGV0IG4gb2YgdC5pbnN0YWxsZWRHYWRnZXRzKWUuaW5zdGFsbGVkR2FkZ2V0cy5wdXNoKG4ucmVwbGFjZShcImFhcmR2YXJrLmluc3RhbGxcIixcImxvY2FsaG9zdDoyMzg0MlwiKSk7cmV0dXJuIGV9ZnVuY3Rpb24gcmVhZFBlcnNpc3RlbnRTdGF0ZShwYXRoKXt0cnl7bGV0IGZzPWV2YWwoXCJyZXF1aXJlKCAnZnMnIClcIikscHJldmlvdXNTdGF0ZT1mcy5yZWFkRmlsZVN5bmMocGF0aCxcInV0ZjhcIiksc3RhdGU9SlNPTi5wYXJzZShwcmV2aW91c1N0YXRlKTtpZigxPT1zdGF0ZS5mb3JtYXR8fDI9PXN0YXRlLmZvcm1hdCl0aHJvd2BTdG9yZWQgc3RhdGUgJHtzdGF0ZS5mb3JtYXR9IGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuYDtpZihzdGF0ZS5mb3JtYXQhPUFhcmR2YXJrU3RhdGVGb3JtYXQpdGhyb3dcIkluYXBwcm9wcmlhdGUgc3RhdGUgZm9ybWF0IFwiK3N0YXRlLmZvcm1hdDtyZXR1cm4gc3RhdGUucmVuZGVyZXJDb25maWd8fChzdGF0ZS5yZW5kZXJlckNvbmZpZz17ZW5hYmxlTWl4ZWRSZWFsaXR5OiExLG1peGVkUmVhbGl0eUZvdjo1MC4zLGNsZWFyQ29sb3I6WzAsMSwwXX0pLHN0YXRlLmFjdGl2ZUdhZGdldHMuZ2FkZ2V0X21lbnV8fChjb25zb2xlLmxvZyhcIkdhZGdldCBtZW51IHdhcyBtaXNzaW5nLiBGb3JjaW5nIHRoYXQgdG8gZXhpc3QuXCIpLHN0YXRlLmFjdGl2ZUdhZGdldHMuZ2FkZ2V0X21lbnU9e3VyaTpcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVwiLGhvb2tQYXRoOlwiL2dhZGdldC9oYW5kcy9sZWZ0X2hhbmRcIn0pLHN0YXRlLmxvY2FsVXNlckRpc3BsYXlOYW1lfHwoc3RhdGUubG9jYWxVc2VyRGlzcGxheU5hbWU9Z2VuZXJhdGVSYW5kb21OYW1lKCkpLGNvbnNvbGUubG9nKGBSZWFkIHN0YXRlIGZyb20gJHtwYXRofSBmb3IgYCtPYmplY3Qua2V5cyhzdGF0ZS5hY3RpdmVHYWRnZXRzKS5sZW5ndGgrXCIgYWN0aXZlIGdhZGdldHNcIiksc3RhdGV9Y2F0Y2godCl7Y29uc29sZS5sb2coYEZhaWxlZCB0byByZWFkIHN0YXRlIGZpbGUgYmVjYXVzZSAke3R9IFVzaW5nIGRlZmF1bHQgc3RhcnRgKTtsZXQgZT17Zm9ybWF0OkFhcmR2YXJrU3RhdGVGb3JtYXQsYWN0aXZlR2FkZ2V0czp7Z2FkZ2V0X21lbnU6e3VyaTpcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVwiLGhvb2tQYXRoOlwiL2dhZGdldC9oYW5kcy9sZWZ0X2hhbmRcIn19LGluc3RhbGxlZEdhZGdldHM6W10scmVuZGVyZXJDb25maWc6e21peGVkUmVhbGl0eUZvdjo1MC4zLGVuYWJsZU1peGVkUmVhbGl0eTohMSxjbGVhckNvbG9yOlswLDEsMF19LGxvY2FsVXNlclV1aWQ6dXVpZF8xLnY0KCksbG9jYWxVc2VyRGlzcGxheU5hbWU6Z2VuZXJhdGVSYW5kb21OYW1lKCl9O3JldHVybiBlfX1mdW5jdGlvbiB3cml0ZVBlcnNpc3RlbnRTdGF0ZShzdGF0ZSxwYXRoKXtsZXQgZnM9ZXZhbChcInJlcXVpcmUoICdmcycgKVwiKTtyZXR1cm4gc3RhdGUuZm9ybWF0PUFhcmR2YXJrU3RhdGVGb3JtYXQsZnMud3JpdGVGaWxlU3luYyhwYXRoLEpTT04uc3RyaW5naWZ5KHN0YXRlLG51bGwsMikpLCEwfWV4cG9ydHMudjFUb1YyPXYxVG9WMixleHBvcnRzLnJlYWRQZXJzaXN0ZW50U3RhdGU9cmVhZFBlcnNpc3RlbnRTdGF0ZSxleHBvcnRzLndyaXRlUGVyc2lzdGVudFN0YXRlPXdyaXRlUGVyc2lzdGVudFN0YXRlfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigzKSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSg0KSx2b2lkIDAhPT10JiZ0aGlzLmluaXQodCl9cmV0dXJuIHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDQ7ZSsrKXRoaXMudmFsdWVzW2VdPXRbZV07cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDw0O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDQ7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8NDtlKyspdFtlXT10aGlzLnZhbHVlc1tlXTtyZXR1cm4gdH0sdC5wcm90b3R5cGUucm93PWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1syKnQrMF0sdGhpcy52YWx1ZXNbMip0KzFdXX0sdC5wcm90b3R5cGUuY29sPWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1t0XSx0aGlzLnZhbHVlc1t0KzJdXX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9ci5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDQ7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLmRldGVybWluYW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdKnRoaXMudmFsdWVzWzNdLXRoaXMudmFsdWVzWzJdKnRoaXMudmFsdWVzWzFdfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0xLHRoaXN9LHQucHJvdG90eXBlLnRyYW5zcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzFdO3JldHVybiB0aGlzLnZhbHVlc1sxXT10aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1syXT10LHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRldGVybWluYW50KCk7aWYoIXQpcmV0dXJuIG51bGw7dD0xL3Q7dmFyIGU9dGhpcy52YWx1ZXNbMF07cmV0dXJuIHRoaXMudmFsdWVzWzBdPXQqdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbMV09dCotdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl09dCotdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM109dCplLHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdO3JldHVybiB0aGlzLnZhbHVlc1swXT1lKnQuYXQoMCkrbip0LmF0KDIpLHRoaXMudmFsdWVzWzFdPWUqdC5hdCgxKStuKnQuYXQoMyksdGhpcy52YWx1ZXNbMl09aSp0LmF0KDApK3IqdC5hdCgyKSx0aGlzLnZhbHVlc1szXT1pKnQuYXQoMSkrcip0LmF0KDMpLHRoaXN9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPU1hdGguc2luKHQpLGE9TWF0aC5jb3ModCk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqYStuKnMsdGhpcy52YWx1ZXNbMV09ZSotcytuKmEsdGhpcy52YWx1ZXNbMl09aSphK3Iqcyx0aGlzLnZhbHVlc1szXT1pKi1zK3IqYSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzI9ZnVuY3Rpb24odCxlKXt2YXIgbj10Lngscj10Lnk7cmV0dXJuIGU/KGUueHk9W24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dLGUpOm5ldyBpLmRlZmF1bHQoW24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dKX0sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52YWx1ZXNbMF0sbj10aGlzLnZhbHVlc1sxXSxpPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbM10scz10LngsYT10Lnk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqcyx0aGlzLnZhbHVlc1sxXT1uKmEsdGhpcy52YWx1ZXNbMl09aSpzLHRoaXMudmFsdWVzWzNdPXIqYSx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyk7cmV0dXJuIGk/KGkuaW5pdChbcipuLmF0KDApK3Mqbi5hdCgyKSxyKm4uYXQoMSkrcypuLmF0KDMpLGEqbi5hdCgwKStvKm4uYXQoMiksYSpuLmF0KDEpK28qbi5hdCgzKV0pLGkpOm5ldyB0KFtyKm4uYXQoMCkrcypuLmF0KDIpLHIqbi5hdCgxKStzKm4uYXQoMyksYSpuLmF0KDApK28qbi5hdCgyKSxhKm4uYXQoMSkrbypuLmF0KDMpXSl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtcbi8qKlxuICogQGxpY2Vuc2UgUXVhdGVybmlvbi5qcyB2MS4xLjAgMjIvMDIvMjAxNlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNiwgUm9iZXJ0IEVpc2VsZSAocm9iZXJ0QHhhcmcub3JnKVxuICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuXG4gKiovIWZ1bmN0aW9uKG4pe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1NYXRoLmFicyh0KSxpPU1hdGguYWJzKGUpO3JldHVybiAwPT09dD9NYXRoLmxvZyhpKTowPT09ZT9NYXRoLmxvZyhuKTpuPDNlMyYmaTwzZTM/LjUqTWF0aC5sb2codCp0K2UqZSk6TWF0aC5sb2codC9NYXRoLmNvcyhNYXRoLmF0YW4yKGUsdCkpKX12YXIgcz17dzoxLHg6MCx5OjAsejowfTtmdW5jdGlvbiBhKHQsZSxuLGkscil7aWYodm9pZCAwIT09cilyZXR1cm4gdC53PWUsdC54PW4sdC55PWksdm9pZCh0Lno9cik7aWYoXCJvYmplY3RcIj09dHlwZW9mIGUmJnZvaWQgMD09PWkpe2lmKFwid1wiaW4gZXx8XCJ4XCJpbiBlfHxcInlcImluIGV8fFwielwiaW4gZSlyZXR1cm4gdC53PWUud3x8MCx0Lng9ZS54fHwwLHQueT1lLnl8fDAsdm9pZCh0Lno9ZS56fHwwKTtpZihcInJlXCJpbiBlJiZcImltXCJpbiBlKXJldHVybiB0Lnc9ZS5yZSx0Lng9ZS5pbSx0Lnk9MCx2b2lkKHQuej0wKTtpZig0PT09ZS5sZW5ndGgpcmV0dXJuIHQudz1lWzBdLHQueD1lWzFdLHQueT1lWzJdLHZvaWQodC56PWVbM10pO2lmKDM9PT1lLmxlbmd0aClyZXR1cm4gdC53PTAsdC54PWVbMF0sdC55PWVbMV0sdm9pZCh0Lno9ZVsyXSk7dGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBvYmplY3RcIil9aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGV8fHZvaWQgMCE9PWkpdm9pZCAwPT09ZSYmdCE9PXM/KHQudz0xLHQueD10Lnk9dC56PTApOih0Lnc9ZXx8MCxuJiYzPT09bi5sZW5ndGg/KHQueD1uWzBdLHQueT1uWzFdLHQuej1uWzJdKToodC54PW58fDAsdC55PWl8fDAsdC56PXJ8fDApKTtlbHNle3ZhciBhPWUubWF0Y2goL1xcZCtcXC4/XFxkKmVbKy1dP1xcZCt8XFxkK1xcLj9cXGQqfFxcLlxcZCt8Li9nKSxvPTEsdT0wLGw9e2k6XCJ4XCIsajpcInlcIixrOlwielwifTtpZihudWxsPT09YSl0aHJvdyBuZXcgRXJyb3IoXCJQYXJzZSBlcnJvclwiKTt0Lnc9dC54PXQueT10Lno9MDtmb3IodmFyIGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGM9YVtoXSx2PWFbaCsxXTtpZihcIiBcIj09PWN8fFwiXFx0XCI9PT1jfHxcIlxcblwiPT09Yyk7ZWxzZSBpZihcIitcIj09PWMpbysrO2Vsc2UgaWYoXCItXCI9PT1jKXUrKztlbHNle2lmKG8rdT09PTApdGhyb3cgbmV3IEVycm9yKFwiUGFyc2UgZXJyb3JcIitjKTt2YXIgZj1sW2NdO2lmKHZvaWQgMCE9PWYpXCIgXCI9PT12fHxpc05hTih2KT9jPVwiMVwiOihjPXYsaCsrKTtlbHNle2lmKGlzTmFOKGMpKXRocm93IG5ldyBFcnJvcihcIlBhcnNlciBlcnJvclwiKTt2b2lkIDAhPT0oZj1sW3ZdKSYmaCsrfXRbZnx8XCJ3XCJdKz1wYXJzZUZsb2F0KCh1JTI/XCItXCI6XCJcIikrYyksbz11PTB9fWlmKG8rdT4wKXRocm93IG5ldyBFcnJvcihcIlBhcnNlciBlcnJvclwiKX19ZnVuY3Rpb24gbyh0LGUsbil7dmFyIGk9XCJcIjtyZXR1cm4gMCE9PXQmJihcIlwiIT09bj9pKz10PDA/XCIgLSBcIjpcIiArIFwiOnQ8MCYmKGkrPVwiLVwiKSwxPT09KHQ9TWF0aC5hYnModCkpJiZcIlwiIT09ZXx8KGkrPXQpLGkrPWUpLGl9ZnVuY3Rpb24gdSh0LGUsbixpKXtpZighKHRoaXMgaW5zdGFuY2VvZiB1KSlyZXR1cm4gbmV3IHUodCxlLG4saSk7YSh0aGlzLHQsZSxuLGkpfXUucHJvdG90eXBlPXt3OjEseDowLHk6MCx6OjAsYWRkOmZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiBhKHMsdCxlLG4saSksbmV3IHUodGhpcy53K3Mudyx0aGlzLngrcy54LHRoaXMueStzLnksdGhpcy56K3Mueil9LHN1YjpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gYShzLHQsZSxuLGkpLG5ldyB1KHRoaXMudy1zLncsdGhpcy54LXMueCx0aGlzLnktcy55LHRoaXMuei1zLnopfSxuZWc6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHUoLXRoaXMudywtdGhpcy54LC10aGlzLnksLXRoaXMueil9LG5vcm06ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLno7cmV0dXJuIE1hdGguc3FydCh0KnQrZSplK24qbitpKmkpfSxub3JtU3E6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLno7cmV0dXJuIHQqdCtlKmUrbipuK2kqaX0sbm9ybWFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHI9TWF0aC5zcXJ0KHQqdCtlKmUrbipuK2kqaSk7cmV0dXJuIHI8dS5FUFNJTE9OP3UuWkVSTzpuZXcgdSh0KihyPTEvciksZSpyLG4qcixpKnIpfSxtdWw6ZnVuY3Rpb24odCxlLG4saSl7YShzLHQsZSxuLGkpO3ZhciByPXRoaXMudyxvPXRoaXMueCxsPXRoaXMueSxoPXRoaXMueixjPXMudyx2PXMueCxmPXMueSxwPXMuejtyZXR1cm4gbmV3IHUocipjLW8qdi1sKmYtaCpwLHIqditvKmMrbCpwLWgqZixyKmYrbCpjK2gqdi1vKnAscipwK2gqYytvKmYtbCp2KX0sc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHRoaXMudyp0LHRoaXMueCp0LHRoaXMueSp0LHRoaXMueip0KX0sZG90OmZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiBhKHMsdCxlLG4saSksdGhpcy53KnMudyt0aGlzLngqcy54K3RoaXMueSpzLnkrdGhpcy56KnMuen0saW52ZXJzZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMudyxlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQqdCtlKmUrbipuK2kqaTtyZXR1cm4gMD09PXI/dS5aRVJPOm5ldyB1KHQqKHI9MS9yKSwtZSpyLC1uKnIsLWkqcil9LGRpdjpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dGhpcy53LG89dGhpcy54LGw9dGhpcy55LGg9dGhpcy56LGM9cy53LHY9cy54LGY9cy55LHA9cy56LGQ9YypjK3YqditmKmYrcCpwO3JldHVybiAwPT09ZD91LlpFUk86bmV3IHUoKHIqYytvKnYrbCpmK2gqcCkqKGQ9MS9kKSwobypjLXIqdi1sKnAraCpmKSpkLChsKmMtcipmLWgqditvKnApKmQsKGgqYy1yKnAtbypmK2wqdikqZCl9LGNvbmp1Z2F0ZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdSh0aGlzLncsLXRoaXMueCwtdGhpcy55LC10aGlzLnopfSxleHA6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj1NYXRoLnNxcnQoZSplK24qbitpKmkpLHM9TWF0aC5leHAodCksYT1zL3IqTWF0aC5zaW4ocik7cmV0dXJuIDA9PT1yP25ldyB1KHMsMCwwLDApOm5ldyB1KHMqTWF0aC5jb3MociksZSphLG4qYSxpKmEpfSxsb2c6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLno7aWYoMD09PW4mJjA9PT1pKXJldHVybiBuZXcgdShyKHQsZSksTWF0aC5hdGFuMihlLHQpLDAsMCk7dmFyIHM9ZSplK24qbitpKmkrdCp0LGE9TWF0aC5zcXJ0KGUqZStuKm4raSppKSxvPU1hdGguYXRhbjIoYSx0KS9hO3JldHVybiBuZXcgdSguNSpNYXRoLmxvZyhzKSxlKm8sbipvLGkqbyl9LHBvdzpmdW5jdGlvbih0LGUsbixpKXtpZihhKHMsdCxlLG4saSksMD09PXMueSYmMD09PXMueil7aWYoMT09PXMudyYmMD09PXMueClyZXR1cm4gdGhpcztpZigwPT09cy53JiYwPT09cy54KXJldHVybiB1Lk9ORTtpZigwPT09dGhpcy55JiYwPT09dGhpcy56KXt2YXIgbz10aGlzLncsbD10aGlzLng7aWYoMD09PW8mJjA9PT1sKXJldHVybiB1LlpFUk87dmFyIGg9TWF0aC5hdGFuMihsLG8pLGM9cihvLGwpO2lmKDA9PT1zLngpe2lmKDA9PT1sJiZvPj0wKXJldHVybiBuZXcgdShNYXRoLnBvdyhvLHMudyksMCwwLDApO2lmKDA9PT1vKXN3aXRjaChzLnclNCl7Y2FzZSAwOnJldHVybiBuZXcgdShNYXRoLnBvdyhsLHMudyksMCwwLDApO2Nhc2UgMTpyZXR1cm4gbmV3IHUoMCxNYXRoLnBvdyhsLHMudyksMCwwKTtjYXNlIDI6cmV0dXJuIG5ldyB1KC1NYXRoLnBvdyhsLHMudyksMCwwLDApO2Nhc2UgMzpyZXR1cm4gbmV3IHUoMCwtTWF0aC5wb3cobCxzLncpLDAsMCl9fXJldHVybiBvPU1hdGguZXhwKHMudypjLXMueCpoKSxsPXMueCpjK3MudypoLG5ldyB1KG8qTWF0aC5jb3MobCksbypNYXRoLnNpbihsKSwwLDApfX1yZXR1cm4gdGhpcy5sb2coKS5tdWwocykuZXhwKCl9LGVxdWFsczpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dS5FUFNJTE9OO3JldHVybiBNYXRoLmFicyhzLnctdGhpcy53KTxyJiZNYXRoLmFicyhzLngtdGhpcy54KTxyJiZNYXRoLmFicyhzLnktdGhpcy55KTxyJiZNYXRoLmFicyhzLnotdGhpcy56KTxyfSxpc0Zpbml0ZTpmdW5jdGlvbigpe3JldHVybiBpc0Zpbml0ZSh0aGlzLncpJiZpc0Zpbml0ZSh0aGlzLngpJiZpc0Zpbml0ZSh0aGlzLnkpJiZpc0Zpbml0ZSh0aGlzLnopfSxpc05hTjpmdW5jdGlvbigpe3JldHVybiBpc05hTih0aGlzLncpfHxpc05hTih0aGlzLngpfHxpc05hTih0aGlzLnkpfHxpc05hTih0aGlzLnopfSx0b1N0cmluZzpmdW5jdGlvbigpe3ZhciB0PXRoaXMudyxlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPVwiXCI7cmV0dXJuIGlzTmFOKHQpfHxpc05hTihlKXx8aXNOYU4obil8fGlzTmFOKGkpP1wiTmFOXCI6KHI9byh0LFwiXCIscikscis9byhlLFwiaVwiLHIpLHIrPW8obixcImpcIixyKSxcIlwiPT09KHIrPW8oaSxcImtcIixyKSk/XCIwXCI6cil9LHJlYWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53fSxpbWFnOmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMueCx0aGlzLnksdGhpcy56XX0sdG9WZWN0b3I6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy53LHRoaXMueCx0aGlzLnksdGhpcy56XX0sdG9NYXRyaXg6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3VdLFtjK2wsMS0oaCtkKSxwLW9dLFt2LXUscCtvLDEtKGgrZildXTpbMS0oZitkKSxjLWwsdit1LGMrbCwxLShoK2QpLHAtbyx2LXUscCtvLDEtKGgrZildfSx0b01hdHJpeDQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3UsMF0sW2MrbCwxLShoK2QpLHAtbywwXSxbdi11LHArbywxLShoK2YpLDBdLFswLDAsMCwxXV06WzEtKGYrZCksYy1sLHYrdSwwLGMrbCwxLShoK2QpLHAtbywwLHYtdSxwK28sMS0oaCtmKSwwLDAsMCwwLDFdfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdSh0aGlzKX0scm90YXRlVmVjdG9yOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudyxuPXRoaXMueCxpPXRoaXMueSxyPXRoaXMueixzPXRbMF0sYT10WzFdLG89dFsyXSx1PS1uKnMtaSphLXIqbyxsPWUqcytpKm8tciphLGg9ZSphK3Iqcy1uKm8sYz1lKm8rbiphLWkqcztyZXR1cm5bbCplLXUqbi1oKnIrYyppLGgqZS11KmktYypuK2wqcixjKmUtdSpyLWwqaStoKm5dfSxzbGVycDpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dGhpcy53LG89dGhpcy54LGw9dGhpcy55LGg9dGhpcy56LGM9cy53LHY9cy54LGY9cy55LHA9cy56LGQ9cipjK28qditsKmYraCpwO2lmKGQ8MCYmKHI9LXIsbz0tbyxsPS1sLGg9LWgsZD0tZCksZD4uOTk5NSlyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHIrdCooYy1yKSxvK3QqKHYtbyksbCt0KihmLWwpLGgrdCoocC1oKSkubm9ybWFsaXplKCl9O3ZhciB5PU1hdGguYWNvcyhkKSxnPU1hdGguc2luKHkpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT15KnQsbj1NYXRoLnNpbihlKSxpPU1hdGguY29zKGUpLWQqbi9nLHM9bi9nO3JldHVybiBuZXcgdShpKnIrcypjLGkqbytzKnYsaSpsK3MqZixpKmgrcypwKX19fSx1LlpFUk89bmV3IHUoMCwwLDAsMCksdS5PTkU9bmV3IHUoMSwwLDAsMCksdS5JPW5ldyB1KDAsMSwwLDApLHUuSj1uZXcgdSgwLDAsMSwwKSx1Lks9bmV3IHUoMCwwLDAsMSksdS5FUFNJTE9OPTFlLTE2LHUuZnJvbUF4aXNBbmdsZT1mdW5jdGlvbih0LGUpe3ZhciBuPS41KmUsaT10WzBdLHI9dFsxXSxzPXRbMl0sYT1NYXRoLnNpbihuKSxvPU1hdGguY29zKG4pLGw9YS9NYXRoLnNxcnQoaSppK3IqcitzKnMpO3JldHVybiBuZXcgdShvLGkqbCxyKmwscypsKX0sdS5mcm9tQmV0d2VlblZlY3RvcnM9ZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdLGk9dFsxXSxyPXRbMl0scz1lWzBdLGE9ZVsxXSxvPWVbMl0sbD1uKnMraSphK3IqbyxoPWkqby1yKmEsYz1yKnMtbipvLHY9biphLWkqcztyZXR1cm4gbmV3IHUobCtNYXRoLnNxcnQobCpsK2gqaCtjKmMrdip2KSxoLGMsdikubm9ybWFsaXplKCl9LHUuZnJvbUV1bGVyPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPS41KmUscz0uNSpuLGE9LjUqdCxvPU1hdGguY29zKHIpLGw9TWF0aC5jb3MocyksaD1NYXRoLmNvcyhhKSxjPU1hdGguc2luKHIpLHY9TWF0aC5zaW4ocyksZj1NYXRoLnNpbihhKTtyZXR1cm4gdm9pZCAwPT09aXx8XCJaWFlcIj09PWk/bmV3IHUobypsKmgtYyp2KmYsYypsKmgtbyp2KmYsbyp2KmgrYypsKmYsbypsKmYrYyp2KmgpOlwiWFlaXCI9PT1pP25ldyB1KG8qbCpoLWMqdipmLGMqbCpoK28qdipmLG8qdipoLWMqbCpmLG8qbCpmK2MqdipoKTpcIllYWlwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaCtvKnYqZixvKnYqaC1jKmwqZixvKmwqZi1jKnYqaCk6XCJaWVhcIj09PWk/bmV3IHUobypsKmgrYyp2KmYsYypsKmgtbyp2KmYsbyp2KmgrYypsKmYsbypsKmYtYyp2KmgpOlwiWVpYXCI9PT1pP25ldyB1KG8qbCpoLWMqdipmLGMqbCpoK28qdipmLG8qdipoK2MqbCpmLG8qbCpmLWMqdipoKTpcIlhaWVwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaC1vKnYqZixvKnYqaC1jKmwqZixvKmwqZitjKnYqaCk6bnVsbH0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gdX0uYXBwbHkoZSxbXSkpfHwodC5leHBvcnRzPWkpfSgpfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS50d29IYW5kQmluZGluZz1lLm11bHRpRGV2aWNlQmluZGluZz1lLklucHV0UHJvY2Vzc29yPXZvaWQgMDtjb25zdCBpPW4oNyk7ZnVuY3Rpb24gcih0LGUsbil7cmV0dXJuIGUubWFwKGU9Pih7aW50ZXJhY3Rpb25Qcm9maWxlOnQsaW5wdXRQYXRoOmUrbn0pKX1lLklucHV0UHJvY2Vzc29yPWNsYXNze2NvbnN0cnVjdG9yKHQsZSxuKXt2YXIgcjt0aGlzLmlucHV0SW5mbz17YWN0aXZlQWN0aW9uU2V0czpbXX0sdGhpcy5uZXh0Q2FsbGJhY2tJZD0xLHRoaXMuYWN0aW9uU2V0cz10LHRoaXMuc3luY0lucHV0T3ZlcnJpZGU9bix0aGlzLmlucHV0SW50ZXJ2YWxNcz1udWxsIT1lP2U6MzAsbnVsbD09PShyPWkuQXYoKSl8fHZvaWQgMD09PXJ8fHIucmVnaXN0ZXJJbnB1dCh0KX1URVNUX1VwZGF0ZVN0YXRlKHQpe3RoaXMuYXBwbHlOZXdTdGF0ZShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKSl9YWN0aXZhdGVBY3Rpb25TZXQodCxlKXtsZXQgbjtmb3IobGV0IGUgb2YgdGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cylpZihlLmFjdGlvblNldE5hbWU9PXQpe249ZTticmVha31sZXQgcixzPSExO258fChuPXthY3Rpb25TZXROYW1lOnQsdG9wTGV2ZWxQYXRoczpbXX0sdGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5wdXNoKG4pKSxyPVwic3RyaW5nXCI9PXR5cGVvZiBlP1tlXTpcIm9iamVjdFwiPT10eXBlb2YgZT9lOltpLkRldmljZS5MZWZ0LGkuRGV2aWNlLlJpZ2h0XTtmb3IobGV0IGUgb2YgciluLnRvcExldmVsUGF0aHMuaW5jbHVkZXMoZSl8fChuLnRvcExldmVsUGF0aHMucHVzaChlKSx0aGlzLnN1cHByZXNzSW5pdGlhbFByZXNzRm9yQWN0aW9uU2V0KHQsZSkscz0hMCk7IXRoaXMuaW5wdXRUaW1lciYmdGhpcy5pbnB1dEludGVydmFsTXMmJnMmJih0aGlzLmlucHV0VGltZXI9d2luZG93LnNldFRpbWVvdXQoKCk9PnRoaXMub25JbnB1dFRpY2soKSx0aGlzLmlucHV0SW50ZXJ2YWxNcykpfXN1cHByZXNzSW5pdGlhbFByZXNzRm9yQWN0aW9uU2V0KHQsZSl7dmFyIG47bGV0IHI7Zm9yKGxldCBlIG9mIHRoaXMuYWN0aW9uU2V0cylpZihlLm5hbWU9PXQpe3I9ZTticmVha31pZihyKWZvcihsZXQgdCBvZiBudWxsIT09KG49ci5hY3Rpb25zKSYmdm9pZCAwIT09bj9uOltdKXtsZXQgbj10O2lmKG4udHlwZT09aS5BY3Rpb25UeXBlLkJvb2xlYW4pc3dpdGNoKGUpe2Nhc2UgaS5EZXZpY2UuTGVmdDpuLnN1cHByZXNzTGVmdD0hMDticmVhaztjYXNlIGkuRGV2aWNlLlJpZ2h0Om4uc3VwcHJlc3NSaWdodD0hMH19fWRlYWN0aXZhdGVBY3Rpb25TZXQodCxlKXtmb3IobGV0IG49MDtuPHRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMubGVuZ3RoO24rKyl7bGV0IGk9dGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0c1tuXTtpZihpLmFjdGlvblNldE5hbWU9PXQpcmV0dXJuIHZvaWQoZT8oaS50b3BMZXZlbFBhdGhzPWkudG9wTGV2ZWxQYXRocy5maWx0ZXIodD0+dCE9ZSksMD09aS50b3BMZXZlbFBhdGhzLmxlbmd0aCYmdGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5zcGxpY2UobiwxKSk6dGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5zcGxpY2UobiwxKSl9fXJlZ2lzdGVyQm9vbGVhbkNhbGxiYWNrcyh0LGUsbixpLHIpe2xldCBzPXtpZDp0aGlzLm5leHRDYWxsYmFja0lkKysscmlzaW5nOmksZmFsbGluZzpyfTtyZXR1cm4gdGhpcy5yZWdpc3RlckNhbGxiYWNrKHQsZSxuLHMpfXJlZ2lzdGVyRmxvYXRDYWxsYmFjayh0LGUsbixpKXtsZXQgcj17aWQ6dGhpcy5uZXh0Q2FsbGJhY2tJZCsrLGNoYW5nZTppfTtyZXR1cm4gdGhpcy5yZWdpc3RlckNhbGxiYWNrKHQsZSxuLHIpfXJlZ2lzdGVyVmVjdG9yMkNhbGxiYWNrKHQsZSxuLGkpe2xldCByPXtpZDp0aGlzLm5leHRDYWxsYmFja0lkKyssY2hhbmdlOml9O3JldHVybiB0aGlzLnJlZ2lzdGVyQ2FsbGJhY2sodCxlLG4scil9cmVnaXN0ZXJDYWxsYmFjayh0LGUsbixyKXt2YXIgcyxhO2xldCBvPXRoaXMuZ2V0QWN0aW9uKHQsZSk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbiAke2V9IGluIGFjdGlvbiBzZXQgJHt0fWApO3N3aXRjaChuKXtjYXNlIGkuRGV2aWNlLkxlZnQ6by5sZWZ0Q2FsbGJhY2tzPVsuLi5udWxsIT09KHM9by5sZWZ0Q2FsbGJhY2tzKSYmdm9pZCAwIT09cz9zOltdLHJdO2JyZWFrO2Nhc2UgaS5EZXZpY2UuUmlnaHQ6by5yaWdodENhbGxiYWNrcz1bLi4ubnVsbCE9PShhPW8ucmlnaHRDYWxsYmFja3MpJiZ2b2lkIDAhPT1hP2E6W10scl19cmV0dXJuIHIuaWR9dW5yZWdpc3RlckNhbGxiYWNrKHQpe3ZhciBlLG4saTtmb3IobGV0IHIgb2YgdGhpcy5hY3Rpb25TZXRzKWZvcihsZXQgcyBvZiBudWxsIT09KGU9ci5hY3Rpb25zKSYmdm9pZCAwIT09ZT9lOltdKXtsZXQgZT1zO2UubGVmdENhbGxiYWNrcz1udWxsPT09KG49ZS5sZWZ0Q2FsbGJhY2tzKXx8dm9pZCAwPT09bj92b2lkIDA6bi5maWx0ZXIoZT0+ZS5pZCE9dCksZS5yaWdodENhbGxiYWNrcz1udWxsPT09KGk9ZS5yaWdodENhbGxiYWNrcyl8fHZvaWQgMD09PWk/dm9pZCAwOmkuZmlsdGVyKGU9PmUuaWQhPXQpfX1vbklucHV0VGljaygpe3RyeXtsZXQgdD10aGlzLnN5bmNJbnB1dE92ZXJyaWRlP3RoaXMuc3luY0lucHV0T3ZlcnJpZGUodGhpcy5pbnB1dEluZm8pOmkuQXYoKS5zeW5jSW5wdXQodGhpcy5pbnB1dEluZm8pO3RoaXMuYXBwbHlOZXdTdGF0ZSh0KX1jYXRjaCh0KXtjb25zb2xlLmxvZyhcImZhaWxlZCB0byBzeW5jIGlucHV0XCIpfXRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMubGVuZ3RoPjAmJnRoaXMuaW5wdXRJbnRlcnZhbE1zP3RoaXMuaW5wdXRUaW1lcj13aW5kb3cuc2V0VGltZW91dCgoKT0+dGhpcy5vbklucHV0VGljaygpLHRoaXMuaW5wdXRJbnRlcnZhbE1zKTp0aGlzLmlucHV0VGltZXI9dm9pZCAwfWdldEFjdGlvbih0LGUpe3ZhciBuO2ZvcihsZXQgaSBvZiB0aGlzLmFjdGlvblNldHMpaWYoaS5uYW1lPT10KWZvcihsZXQgdCBvZiBudWxsIT09KG49aS5hY3Rpb25zKSYmdm9pZCAwIT09bj9uOltdKWlmKHQubmFtZT09ZSlyZXR1cm4gdH1hcHBseU5ld1N0YXRlKHQpe3RoaXMucHJvY2Vzc0RpZmZzKHRoaXMuc3RhdGUsdCksdGhpcy5zdGF0ZT10fWNhbGxDYWxsYmFjayh0LGUsbixyKXt2YXIgcyxhLG8sdTtzd2l0Y2gocil7Y2FzZSBpLkFjdGlvblR5cGUuQm9vbGVhbjp7bGV0IGk9dDtlJiYhbj9udWxsPT09KHM9aS5mYWxsaW5nKXx8dm9pZCAwPT09c3x8cy5jYWxsKGkpOiFlJiZuJiYobnVsbD09PShhPWkucmlzaW5nKXx8dm9pZCAwPT09YXx8YS5jYWxsKGkpKX1icmVhaztjYXNlIGkuQWN0aW9uVHlwZS5GbG9hdDp7bGV0IGk9dCxyPVwibnVtYmVyXCI9PXR5cGVvZiBlP2U6MCxzPVwibnVtYmVyXCI9PXR5cGVvZiBuP246MDtyIT1zJiZpLmNoYW5nZShyLHMpfWJyZWFrO2Nhc2UgaS5BY3Rpb25UeXBlLlZlY3RvcjI6e2NvbnN0W2kscl09bnVsbCE9PShvPWUpJiZ2b2lkIDAhPT1vP286WzAsMF0sW3MsYV09bnVsbCE9PSh1PW4pJiZ2b2lkIDAhPT11P3U6WzAsMF07bGV0IGw9dDtpPT1zJiZyPT1hfHxsLmNoYW5nZShbaSxyXSxbcyxhXSl9fX1wcm9jZXNzRGlmZnModCxlKXt2YXIgbixpLHIscyxhLG8sdSxsLGg7Zm9yKGxldCBjIG9mIHRoaXMuYWN0aW9uU2V0cylmb3IobGV0IHYgb2YgbnVsbCE9PShuPWMuYWN0aW9ucykmJnZvaWQgMCE9PW4/bjpbXSl7bGV0IG49dixmPW51bGw9PT0oaT1udWxsPT10P3ZvaWQgMDp0LnJlc3VsdHNbYy5uYW1lXSl8fHZvaWQgMD09PWk/dm9pZCAwOmlbbi5uYW1lXSxwPW51bGw9PT0ocj1lLnJlc3VsdHNbYy5uYW1lXSl8fHZvaWQgMD09PXI/dm9pZCAwOnJbbi5uYW1lXSxkPW51bGw9PT0ocz1udWxsPT1mP3ZvaWQgMDpmLmxlZnQpfHx2b2lkIDA9PT1zP3ZvaWQgMDpzLnZhbHVlLHk9bnVsbD09PShhPW51bGw9PWY/dm9pZCAwOmYucmlnaHQpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLnZhbHVlLGc9bnVsbD09PShvPW51bGw9PXA/dm9pZCAwOnAubGVmdCl8fHZvaWQgMD09PW8/dm9pZCAwOm8udmFsdWUseD1udWxsPT09KHU9bnVsbD09cD92b2lkIDA6cC5yaWdodCl8fHZvaWQgMD09PXU/dm9pZCAwOnUudmFsdWU7aWYobi5zdXBwcmVzc0xlZnQpZ3x8KG4uc3VwcHJlc3NMZWZ0PSExKTtlbHNlIGZvcihsZXQgdCBvZiBudWxsIT09KGw9bi5sZWZ0Q2FsbGJhY2tzKSYmdm9pZCAwIT09bD9sOltdKXRoaXMuY2FsbENhbGxiYWNrKHQsZCxnLG4udHlwZSk7aWYobi5zdXBwcmVzc1JpZ2h0KXh8fChuLnN1cHByZXNzUmlnaHQ9ITEpO2Vsc2UgZm9yKGxldCB0IG9mIG51bGwhPT0oaD1uLnJpZ2h0Q2FsbGJhY2tzKSYmdm9pZCAwIT09aD9oOltdKXRoaXMuY2FsbENhbGxiYWNrKHQseSx4LG4udHlwZSl9fX0sZS5tdWx0aURldmljZUJpbmRpbmc9cixlLnR3b0hhbmRCaW5kaW5nPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodCxbaS5EZXZpY2UuTGVmdCxpLkRldmljZS5SaWdodF0sZSl9fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS5nX2FuaW1fTGVmdF9UaHVtYnNVcD1lLmdfYnVpbHRpbkFuaW1zPWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZFJpZ2h0PWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZExlZnQ9ZS5nX2J1aWx0aW5Nb2RlbFJvY2tldHNoaXA9ZS5nX2J1aWx0aW5Nb2RlbFdpbmRvd0ljb249ZS5nX2J1aWx0aW5Nb2RlbFRyYXNoY2FuPWUuZ19idWlsdGluTW9kZWxTdGFyPWUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFJvb209ZS5nX2J1aWx0aW5Nb2RlbFBsdXM9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsPWUuZ19idWlsdGluTW9kZWxOZXR3b3JrPWUuZ19idWlsdGluTW9kZWxNaW51cz1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0T3Blbj1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkPWUuZ19idWlsdGluTW9kZWxIb29rPWUuZ19idWlsdGluTW9kZWxIZWFkPWUuZ19idWlsdGluTW9kZWxIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRNaXJyb3I9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRMZWZ0PWUuZ19idWlsdGluTW9kZWxIYW1tZXJBbmRXcmVuY2g9ZS5nX2J1aWx0aW5Nb2RlbEdlYXI9ZS5nX2J1aWx0aW5Nb2RlbEZsYXNrPWUuZ19idWlsdGluTW9kZWxFcnJvcj1lLmdfYnVpbHRpbk1vZGVsRHJvcEF0dHJhY3Q9ZS5nX2J1aWx0aW5Nb2RlbEN5bGluZGVyPWUuZ19idWlsdGluTW9kZWxCcmFjZWxldD1lLmdfYnVpbHRpbk1vZGVsQm94PWUuZ19idWlsdGluTW9kZWxCb3VuZGluZ0JveD1lLmdfYnVpbHRpbk1vZGVsQmFyY29kZVNjYW5uZXI9ZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsQXJyb3c9ZS5nX2J1aWx0aW5Nb2RlbEFhcmR2YXJrPWUuZ19idWlsdGluTW9kZWxQcmVmaXg9dm9pZCAwLGUuZ19idWlsdGluTW9kZWxQcmVmaXg9XCJodHRwOi8vbG9jYWxob3N0OjIzODQyL21vZGVscy9cIixlLmdfYnVpbHRpbk1vZGVsQWFyZHZhcms9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImFhcmR2YXJrLmdsYlwiLGUuZ19idWlsdGluTW9kZWxBcnJvdz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiYXJyb3cuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiYXJyb3dfZmxhdC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsQmFyY29kZVNjYW5uZXI9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImJhcmNvZGVfcmVhZGVyLmdsYlwiLGUuZ19idWlsdGluTW9kZWxCb3VuZGluZ0JveD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiYm91bmRpbmdfYm94LmdsYlwiLGUuZ19idWlsdGluTW9kZWxCb3g9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImJveC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsQnJhY2VsZXQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImJyYWNlbGV0LmdsYlwiLGUuZ19idWlsdGluTW9kZWxDeWxpbmRlcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiY3lsaW5kZXIuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbERyb3BBdHRyYWN0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJkcm9wX2F0dHJhY3QuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbEVycm9yPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJlcnJvci5nbGJcIixlLmdfYnVpbHRpbk1vZGVsRmxhc2s9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImZsYXNrLmdsYlwiLGUuZ19idWlsdGluTW9kZWxHZWFyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJnZWFyLmdsYlwiLGUuZ19idWlsdGluTW9kZWxIYW1tZXJBbmRXcmVuY2g9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImhhbW1lcndyZW5jaC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSGFuZExlZnQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImhhbmRfbGVmdC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSGFuZE1pcnJvcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaGFuZF9taXJyb3IuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbEhhbmRSaWdodD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaGFuZF9yaWdodC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSGVhZD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaGVhZC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSG9vaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaG9vay5nbGJcIixlLmdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJtYWduZXRfY2xvc2VkLmdsYlwiLGUuZ19idWlsdGluTW9kZWxNYWduZXRPcGVuPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJtYWduZXRfb3Blbi5nbGJcIixlLmdfYnVpbHRpbk1vZGVsTWludXM9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcIm1pbnVzLmdsYlwiLGUuZ19idWlsdGluTW9kZWxOZXR3b3JrPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJuZXR3b3JrLmdsYlwiLGUuZ19idWlsdGluTW9kZWxQYW5lbD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wicGFuZWwvcGFuZWwuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInBhbmVsL3BhbmVsX2ludmVydGVkLmdsYlwiLGUuZ19idWlsdGluTW9kZWxQbHVzPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJwbHVzLmdsYlwiLGUuZ19idWlsdGluTW9kZWxSb29tPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJyb29tLmdsYlwiLGUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInNwaGVyZS9zcGhlcmUuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFN0YXI9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInN0YXIuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFRyYXNoY2FuPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJ0cmFzaGNhbi5nbGJcIixlLmdfYnVpbHRpbk1vZGVsV2luZG93SWNvbj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wid2luZG93X2ljb24uZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFJvY2tldHNoaXA9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInJvY2tldHNoaXAuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFNraW5uZWRIYW5kTGVmdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wic2tpbm5lZF9oYW5kX2xlZnQuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFNraW5uZWRIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInNraW5uZWRfaGFuZF9yaWdodC5nbGJcIixlLmdfYnVpbHRpbkFuaW1zPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJhbmltYXRpb25zL1wiLGUuZ19hbmltX0xlZnRfVGh1bWJzVXA9ZS5nX2J1aWx0aW5BbmltcytcImxlZnRfdGh1bWJzX3VwLmdsYlwifSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS5XZWJBcHBNYW5pZmVzdE9yaWVudGF0aW9uPWUuV2ViQXBwTWFuaWZlc3REaXNwbGF5PWUuV2ViQXBwTWFuaWZlc3RUZXh0RGlyPWUuV2ViQXBwTWFuaWZlc3RSZXNvdXJjZVB1cnBvc2U9dm9pZCAwLGZ1bmN0aW9uKHQpe3QuQmFkZ2U9XCJiYWRnZVwiLHQuTWFza2FibGU9XCJtYXNrYWJsZVwiLHQuQW55PVwiYW55XCJ9KGUuV2ViQXBwTWFuaWZlc3RSZXNvdXJjZVB1cnBvc2V8fChlLldlYkFwcE1hbmlmZXN0UmVzb3VyY2VQdXJwb3NlPXt9KSksZnVuY3Rpb24odCl7dC5BdXRvPVwiYXV0b1wiLHQuTGVmdFRvUmlnaHQ9XCJsdHJcIix0LlJpZ2h0VG9MZWZ0PVwicnRsXCJ9KGUuV2ViQXBwTWFuaWZlc3RUZXh0RGlyfHwoZS5XZWJBcHBNYW5pZmVzdFRleHREaXI9e30pKSxmdW5jdGlvbih0KXt0LkZ1bGxzY3JlZW49XCJmdWxsc2NyZWVuXCIsdC5TdGFuZGFsb25lPVwic3RhbmRhbG9uZVwiLHQuTWluaW1hbFVJPVwibWluaW1hbC11aVwiLHQuQnJvd3Nlcj1cImJyb3dzZXJcIn0oZS5XZWJBcHBNYW5pZmVzdERpc3BsYXl8fChlLldlYkFwcE1hbmlmZXN0RGlzcGxheT17fSkpLGZ1bmN0aW9uKHQpe3QuQW55PVwiYW55XCIsdC5OYXR1cmFsPVwibmF0dXJhbFwiLHQuTGFuZHNjYXBlPVwibGFuZHNjYXBlXCIsdC5MYW5kc2NhcGVQcmltYXJ5PVwibGFuZHNjYXBlLXByaW1hcnlcIix0LkxhbmRzY2FwZVNlY29uZGFyeT1cImxhbmRzY2FwZS1zZWNvbmRhcnlcIix0LlBvcnRyYWl0PVwicG9ydHJhaXRcIix0LlBvcnRyYWl0UHJpbWFyeT1cInBvcnRyYWl0LXByaW1hcnlcIix0LlBvcnRyYWl0U2Vjb25kYXJ5PVwicG9ydHJhaXQtc2Vjb25kYXJ5XCJ9KGUuV2ViQXBwTWFuaWZlc3RPcmllbnRhdGlvbnx8KGUuV2ViQXBwTWFuaWZlc3RPcmllbnRhdGlvbj17fSkpfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7bi5yKGUpLG4uZChlLFwidjFcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSxcInYzXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsXCJ2NFwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLFwidjVcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKTt2YXIgaT1uKDEpLHI9bi5uKGkpO2Z1bmN0aW9uIHMoKXtyZXR1cm4gci5hLnJhbmRvbUJ5dGVzKDE2KX1mb3IodmFyIGE9W10sbz0wO288MjU2OysrbylhW29dPShvKzI1NikudG9TdHJpbmcoMTYpLnN1YnN0cigxKTt2YXIgdSxsLGg9ZnVuY3Rpb24odCxlKXt2YXIgbj1lfHwwLGk9YTtyZXR1cm5baVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLFwiLVwiLGlbdFtuKytdXSxpW3RbbisrXV0sXCItXCIsaVt0W24rK11dLGlbdFtuKytdXSxcIi1cIixpW3RbbisrXV0saVt0W24rK11dLFwiLVwiLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dXS5qb2luKFwiXCIpfSxjPTAsdj0wO3ZhciBmPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lJiZufHwwLHI9ZXx8W10sYT0odD10fHx7fSkubm9kZXx8dSxvPXZvaWQgMCE9PXQuY2xvY2tzZXE/dC5jbG9ja3NlcTpsO2lmKG51bGw9PWF8fG51bGw9PW8pe3ZhciBmPXQucmFuZG9tfHwodC5ybmd8fHMpKCk7bnVsbD09YSYmKGE9dT1bMXxmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XV0pLG51bGw9PW8mJihvPWw9MTYzODMmKGZbNl08PDh8Zls3XSkpfXZhciBwPXZvaWQgMCE9PXQubXNlY3M/dC5tc2VjczoobmV3IERhdGUpLmdldFRpbWUoKSxkPXZvaWQgMCE9PXQubnNlY3M/dC5uc2Vjczp2KzEseT1wLWMrKGQtdikvMWU0O2lmKHk8MCYmdm9pZCAwPT09dC5jbG9ja3NlcSYmKG89bysxJjE2MzgzKSwoeTwwfHxwPmMpJiZ2b2lkIDA9PT10Lm5zZWNzJiYoZD0wKSxkPj0xZTQpdGhyb3cgbmV3IEVycm9yKFwidXVpZC52MSgpOiBDYW4ndCBjcmVhdGUgbW9yZSB0aGFuIDEwTSB1dWlkcy9zZWNcIik7Yz1wLHY9ZCxsPW87dmFyIGc9KDFlNCooMjY4NDM1NDU1JihwKz0xMjIxOTI5MjhlNSkpK2QpJTQyOTQ5NjcyOTY7cltpKytdPWc+Pj4yNCYyNTUscltpKytdPWc+Pj4xNiYyNTUscltpKytdPWc+Pj44JjI1NSxyW2krK109MjU1Jmc7dmFyIHg9cC80Mjk0OTY3Mjk2KjFlNCYyNjg0MzU0NTU7cltpKytdPXg+Pj44JjI1NSxyW2krK109MjU1JngscltpKytdPXg+Pj4yNCYxNXwxNixyW2krK109eD4+PjE2JjI1NSxyW2krK109bz4+Pjh8MTI4LHJbaSsrXT0yNTUmbztmb3IodmFyIGI9MDtiPDY7KytiKXJbaStiXT1hW2JdO3JldHVybiBlfHxoKHIpfTt2YXIgcD1mdW5jdGlvbih0LGUsbil7dmFyIGk9ZnVuY3Rpb24odCxpLHIscyl7dmFyIGE9ciYmc3x8MDtpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmKHQ9ZnVuY3Rpb24odCl7dD11bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodCkpO2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLG49MDtuPHQubGVuZ3RoO24rKyllW25dPXQuY2hhckNvZGVBdChuKTtyZXR1cm4gZX0odCkpLFwic3RyaW5nXCI9PXR5cGVvZiBpJiYoaT1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdC5yZXBsYWNlKC9bYS1mQS1GMC05XXsyfS9nLChmdW5jdGlvbih0KXtlLnB1c2gocGFyc2VJbnQodCwxNikpfSkpLGV9KGkpKSwhQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBUeXBlRXJyb3IoXCJ2YWx1ZSBtdXN0IGJlIGFuIGFycmF5IG9mIGJ5dGVzXCIpO2lmKCFBcnJheS5pc0FycmF5KGkpfHwxNiE9PWkubGVuZ3RoKXRocm93IFR5cGVFcnJvcihcIm5hbWVzcGFjZSBtdXN0IGJlIHV1aWQgc3RyaW5nIG9yIGFuIEFycmF5IG9mIDE2IGJ5dGUgdmFsdWVzXCIpO3ZhciBvPW4oaS5jb25jYXQodCkpO2lmKG9bNl09MTUmb1s2XXxlLG9bOF09NjMmb1s4XXwxMjgscilmb3IodmFyIHU9MDt1PDE2OysrdSlyW2ErdV09b1t1XTtyZXR1cm4gcnx8aChvKX07dHJ5e2kubmFtZT10fWNhdGNoKHQpe31yZXR1cm4gaS5ETlM9XCI2YmE3YjgxMC05ZGFkLTExZDEtODBiNC0wMGMwNGZkNDMwYzhcIixpLlVSTD1cIjZiYTdiODExLTlkYWQtMTFkMS04MGI0LTAwYzA0ZmQ0MzBjOFwiLGl9O3ZhciBkPXAoXCJ2M1wiLDQ4LChmdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90PUJ1ZmZlci5mcm9tKHQpOlwic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LFwidXRmOFwiKSksci5hLmNyZWF0ZUhhc2goXCJtZDVcIikudXBkYXRlKHQpLmRpZ2VzdCgpfSkpO3ZhciB5PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lJiZufHwwO1wic3RyaW5nXCI9PXR5cGVvZiB0JiYoZT1cImJpbmFyeVwiPT09dD9uZXcgQXJyYXkoMTYpOm51bGwsdD1udWxsKTt2YXIgcj0odD10fHx7fSkucmFuZG9tfHwodC5ybmd8fHMpKCk7aWYocls2XT0xNSZyWzZdfDY0LHJbOF09NjMmcls4XXwxMjgsZSlmb3IodmFyIGE9MDthPDE2OysrYSllW2krYV09clthXTtyZXR1cm4gZXx8aChyKX07dmFyIGc9cChcInY1XCIsODAsKGZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q9QnVmZmVyLmZyb20odCk6XCJzdHJpbmdcIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsXCJ1dGY4XCIpKSxyLmEuY3JlYXRlSGFzaChcInNoYTFcIikudXBkYXRlKHQpLmRpZ2VzdCgpfSkpfV0pfSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBhc24xID0gZXhwb3J0cztcblxuYXNuMS5iaWdudW0gPSByZXF1aXJlKCdibi5qcycpO1xuXG5hc24xLmRlZmluZSA9IHJlcXVpcmUoJy4vYXNuMS9hcGknKS5kZWZpbmU7XG5hc24xLmJhc2UgPSByZXF1aXJlKCcuL2FzbjEvYmFzZScpO1xuYXNuMS5jb25zdGFudHMgPSByZXF1aXJlKCcuL2FzbjEvY29uc3RhbnRzJyk7XG5hc24xLmRlY29kZXJzID0gcmVxdWlyZSgnLi9hc24xL2RlY29kZXJzJyk7XG5hc24xLmVuY29kZXJzID0gcmVxdWlyZSgnLi9hc24xL2VuY29kZXJzJyk7XG4iLCIndXNlIHN0cmljdCc7XG5cbmNvbnN0IGVuY29kZXJzID0gcmVxdWlyZSgnLi9lbmNvZGVycycpO1xuY29uc3QgZGVjb2RlcnMgPSByZXF1aXJlKCcuL2RlY29kZXJzJyk7XG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmNvbnN0IGFwaSA9IGV4cG9ydHM7XG5cbmFwaS5kZWZpbmUgPSBmdW5jdGlvbiBkZWZpbmUobmFtZSwgYm9keSkge1xuICByZXR1cm4gbmV3IEVudGl0eShuYW1lLCBib2R5KTtcbn07XG5cbmZ1bmN0aW9uIEVudGl0eShuYW1lLCBib2R5KSB7XG4gIHRoaXMubmFtZSA9IG5hbWU7XG4gIHRoaXMuYm9keSA9IGJvZHk7XG5cbiAgdGhpcy5kZWNvZGVycyA9IHt9O1xuICB0aGlzLmVuY29kZXJzID0ge307XG59XG5cbkVudGl0eS5wcm90b3R5cGUuX2NyZWF0ZU5hbWVkID0gZnVuY3Rpb24gY3JlYXRlTmFtZWQoQmFzZSkge1xuICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuXG4gIGZ1bmN0aW9uIEdlbmVyYXRlZChlbnRpdHkpIHtcbiAgICB0aGlzLl9pbml0TmFtZWQoZW50aXR5LCBuYW1lKTtcbiAgfVxuICBpbmhlcml0cyhHZW5lcmF0ZWQsIEJhc2UpO1xuICBHZW5lcmF0ZWQucHJvdG90eXBlLl9pbml0TmFtZWQgPSBmdW5jdGlvbiBfaW5pdE5hbWVkKGVudGl0eSwgbmFtZSkge1xuICAgIEJhc2UuY2FsbCh0aGlzLCBlbnRpdHksIG5hbWUpO1xuICB9O1xuXG4gIHJldHVybiBuZXcgR2VuZXJhdGVkKHRoaXMpO1xufTtcblxuRW50aXR5LnByb3RvdHlwZS5fZ2V0RGVjb2RlciA9IGZ1bmN0aW9uIF9nZXREZWNvZGVyKGVuYykge1xuICBlbmMgPSBlbmMgfHwgJ2Rlcic7XG4gIC8vIExhemlseSBjcmVhdGUgZGVjb2RlclxuICBpZiAoIXRoaXMuZGVjb2RlcnMuaGFzT3duUHJvcGVydHkoZW5jKSlcbiAgICB0aGlzLmRlY29kZXJzW2VuY10gPSB0aGlzLl9jcmVhdGVOYW1lZChkZWNvZGVyc1tlbmNdKTtcbiAgcmV0dXJuIHRoaXMuZGVjb2RlcnNbZW5jXTtcbn07XG5cbkVudGl0eS5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGRhdGEsIGVuYywgb3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5fZ2V0RGVjb2RlcihlbmMpLmRlY29kZShkYXRhLCBvcHRpb25zKTtcbn07XG5cbkVudGl0eS5wcm90b3R5cGUuX2dldEVuY29kZXIgPSBmdW5jdGlvbiBfZ2V0RW5jb2RlcihlbmMpIHtcbiAgZW5jID0gZW5jIHx8ICdkZXInO1xuICAvLyBMYXppbHkgY3JlYXRlIGVuY29kZXJcbiAgaWYgKCF0aGlzLmVuY29kZXJzLmhhc093blByb3BlcnR5KGVuYykpXG4gICAgdGhpcy5lbmNvZGVyc1tlbmNdID0gdGhpcy5fY3JlYXRlTmFtZWQoZW5jb2RlcnNbZW5jXSk7XG4gIHJldHVybiB0aGlzLmVuY29kZXJzW2VuY107XG59O1xuXG5FbnRpdHkucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCBlbmMsIC8qIGludGVybmFsICovIHJlcG9ydGVyKSB7XG4gIHJldHVybiB0aGlzLl9nZXRFbmNvZGVyKGVuYykuZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbmNvbnN0IGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKTtcbmNvbnN0IFJlcG9ydGVyID0gcmVxdWlyZSgnLi4vYmFzZS9yZXBvcnRlcicpLlJlcG9ydGVyO1xuY29uc3QgQnVmZmVyID0gcmVxdWlyZSgnc2FmZXItYnVmZmVyJykuQnVmZmVyO1xuXG5mdW5jdGlvbiBEZWNvZGVyQnVmZmVyKGJhc2UsIG9wdGlvbnMpIHtcbiAgUmVwb3J0ZXIuY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYmFzZSkpIHtcbiAgICB0aGlzLmVycm9yKCdJbnB1dCBub3QgQnVmZmVyJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdGhpcy5iYXNlID0gYmFzZTtcbiAgdGhpcy5vZmZzZXQgPSAwO1xuICB0aGlzLmxlbmd0aCA9IGJhc2UubGVuZ3RoO1xufVxuaW5oZXJpdHMoRGVjb2RlckJ1ZmZlciwgUmVwb3J0ZXIpO1xuZXhwb3J0cy5EZWNvZGVyQnVmZmVyID0gRGVjb2RlckJ1ZmZlcjtcblxuRGVjb2RlckJ1ZmZlci5pc0RlY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBpc0RlY29kZXJCdWZmZXIoZGF0YSkge1xuICBpZiAoZGF0YSBpbnN0YW5jZW9mIERlY29kZXJCdWZmZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIE9yIGFjY2VwdCBjb21wYXRpYmxlIEFQSVxuICBjb25zdCBpc0NvbXBhdGlibGUgPSB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICBCdWZmZXIuaXNCdWZmZXIoZGF0YS5iYXNlKSAmJlxuICAgIGRhdGEuY29uc3RydWN0b3IubmFtZSA9PT0gJ0RlY29kZXJCdWZmZXInICYmXG4gICAgdHlwZW9mIGRhdGEub2Zmc2V0ID09PSAnbnVtYmVyJyAmJlxuICAgIHR5cGVvZiBkYXRhLmxlbmd0aCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2YgZGF0YS5zYXZlID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIGRhdGEucmVzdG9yZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIHR5cGVvZiBkYXRhLmlzRW1wdHkgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgZGF0YS5yZWFkVUludDggPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgZGF0YS5za2lwID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIGRhdGEucmF3ID09PSAnZnVuY3Rpb24nO1xuXG4gIHJldHVybiBpc0NvbXBhdGlibGU7XG59O1xuXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5zYXZlID0gZnVuY3Rpb24gc2F2ZSgpIHtcbiAgcmV0dXJuIHsgb2Zmc2V0OiB0aGlzLm9mZnNldCwgcmVwb3J0ZXI6IFJlcG9ydGVyLnByb3RvdHlwZS5zYXZlLmNhbGwodGhpcykgfTtcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnJlc3RvcmUgPSBmdW5jdGlvbiByZXN0b3JlKHNhdmUpIHtcbiAgLy8gUmV0dXJuIHNraXBwZWQgZGF0YVxuICBjb25zdCByZXMgPSBuZXcgRGVjb2RlckJ1ZmZlcih0aGlzLmJhc2UpO1xuICByZXMub2Zmc2V0ID0gc2F2ZS5vZmZzZXQ7XG4gIHJlcy5sZW5ndGggPSB0aGlzLm9mZnNldDtcblxuICB0aGlzLm9mZnNldCA9IHNhdmUub2Zmc2V0O1xuICBSZXBvcnRlci5wcm90b3R5cGUucmVzdG9yZS5jYWxsKHRoaXMsIHNhdmUucmVwb3J0ZXIpO1xuXG4gIHJldHVybiByZXM7XG59O1xuXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24gaXNFbXB0eSgpIHtcbiAgcmV0dXJuIHRoaXMub2Zmc2V0ID09PSB0aGlzLmxlbmd0aDtcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OCA9IGZ1bmN0aW9uIHJlYWRVSW50OChmYWlsKSB7XG4gIGlmICh0aGlzLm9mZnNldCArIDEgPD0gdGhpcy5sZW5ndGgpXG4gICAgcmV0dXJuIHRoaXMuYmFzZS5yZWFkVUludDgodGhpcy5vZmZzZXQrKywgdHJ1ZSk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5lcnJvcihmYWlsIHx8ICdEZWNvZGVyQnVmZmVyIG92ZXJydW4nKTtcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbiBza2lwKGJ5dGVzLCBmYWlsKSB7XG4gIGlmICghKHRoaXMub2Zmc2V0ICsgYnl0ZXMgPD0gdGhpcy5sZW5ndGgpKVxuICAgIHJldHVybiB0aGlzLmVycm9yKGZhaWwgfHwgJ0RlY29kZXJCdWZmZXIgb3ZlcnJ1bicpO1xuXG4gIGNvbnN0IHJlcyA9IG5ldyBEZWNvZGVyQnVmZmVyKHRoaXMuYmFzZSk7XG5cbiAgLy8gU2hhcmUgcmVwb3J0ZXIgc3RhdGVcbiAgcmVzLl9yZXBvcnRlclN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICByZXMub2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XG4gIHJlcy5sZW5ndGggPSB0aGlzLm9mZnNldCArIGJ5dGVzO1xuICB0aGlzLm9mZnNldCArPSBieXRlcztcbiAgcmV0dXJuIHJlcztcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnJhdyA9IGZ1bmN0aW9uIHJhdyhzYXZlKSB7XG4gIHJldHVybiB0aGlzLmJhc2Uuc2xpY2Uoc2F2ZSA/IHNhdmUub2Zmc2V0IDogdGhpcy5vZmZzZXQsIHRoaXMubGVuZ3RoKTtcbn07XG5cbmZ1bmN0aW9uIEVuY29kZXJCdWZmZXIodmFsdWUsIHJlcG9ydGVyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgIGlmICghRW5jb2RlckJ1ZmZlci5pc0VuY29kZXJCdWZmZXIoaXRlbSkpXG4gICAgICAgIGl0ZW0gPSBuZXcgRW5jb2RlckJ1ZmZlcihpdGVtLCByZXBvcnRlcik7XG4gICAgICB0aGlzLmxlbmd0aCArPSBpdGVtLmxlbmd0aDtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0sIHRoaXMpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAoISgwIDw9IHZhbHVlICYmIHZhbHVlIDw9IDB4ZmYpKVxuICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdub24tYnl0ZSBFbmNvZGVyQnVmZmVyIHZhbHVlJyk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUpO1xuICB9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5sZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbnN1cHBvcnRlZCB0eXBlOiAnICsgdHlwZW9mIHZhbHVlKTtcbiAgfVxufVxuZXhwb3J0cy5FbmNvZGVyQnVmZmVyID0gRW5jb2RlckJ1ZmZlcjtcblxuRW5jb2RlckJ1ZmZlci5pc0VuY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBpc0VuY29kZXJCdWZmZXIoZGF0YSkge1xuICBpZiAoZGF0YSBpbnN0YW5jZW9mIEVuY29kZXJCdWZmZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIE9yIGFjY2VwdCBjb21wYXRpYmxlIEFQSVxuICBjb25zdCBpc0NvbXBhdGlibGUgPSB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICBkYXRhLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdFbmNvZGVyQnVmZmVyJyAmJlxuICAgIHR5cGVvZiBkYXRhLmxlbmd0aCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2YgZGF0YS5qb2luID09PSAnZnVuY3Rpb24nO1xuXG4gIHJldHVybiBpc0NvbXBhdGlibGU7XG59O1xuXG5FbmNvZGVyQnVmZmVyLnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gam9pbihvdXQsIG9mZnNldCkge1xuICBpZiAoIW91dClcbiAgICBvdXQgPSBCdWZmZXIuYWxsb2ModGhpcy5sZW5ndGgpO1xuICBpZiAoIW9mZnNldClcbiAgICBvZmZzZXQgPSAwO1xuXG4gIGlmICh0aGlzLmxlbmd0aCA9PT0gMClcbiAgICByZXR1cm4gb3V0O1xuXG4gIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgdGhpcy52YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgIGl0ZW0uam9pbihvdXQsIG9mZnNldCk7XG4gICAgICBvZmZzZXQgKz0gaXRlbS5sZW5ndGg7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnbnVtYmVyJylcbiAgICAgIG91dFtvZmZzZXRdID0gdGhpcy52YWx1ZTtcbiAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycpXG4gICAgICBvdXQud3JpdGUodGhpcy52YWx1ZSwgb2Zmc2V0KTtcbiAgICBlbHNlIGlmIChCdWZmZXIuaXNCdWZmZXIodGhpcy52YWx1ZSkpXG4gICAgICB0aGlzLnZhbHVlLmNvcHkob3V0LCBvZmZzZXQpO1xuICAgIG9mZnNldCArPSB0aGlzLmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBiYXNlID0gZXhwb3J0cztcblxuYmFzZS5SZXBvcnRlciA9IHJlcXVpcmUoJy4vcmVwb3J0ZXInKS5SZXBvcnRlcjtcbmJhc2UuRGVjb2RlckJ1ZmZlciA9IHJlcXVpcmUoJy4vYnVmZmVyJykuRGVjb2RlckJ1ZmZlcjtcbmJhc2UuRW5jb2RlckJ1ZmZlciA9IHJlcXVpcmUoJy4vYnVmZmVyJykuRW5jb2RlckJ1ZmZlcjtcbmJhc2UuTm9kZSA9IHJlcXVpcmUoJy4vbm9kZScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBSZXBvcnRlciA9IHJlcXVpcmUoJy4uL2Jhc2UvcmVwb3J0ZXInKS5SZXBvcnRlcjtcbmNvbnN0IEVuY29kZXJCdWZmZXIgPSByZXF1aXJlKCcuLi9iYXNlL2J1ZmZlcicpLkVuY29kZXJCdWZmZXI7XG5jb25zdCBEZWNvZGVyQnVmZmVyID0gcmVxdWlyZSgnLi4vYmFzZS9idWZmZXInKS5EZWNvZGVyQnVmZmVyO1xuY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xuXG4vLyBTdXBwb3J0ZWQgdGFnc1xuY29uc3QgdGFncyA9IFtcbiAgJ3NlcScsICdzZXFvZicsICdzZXQnLCAnc2V0b2YnLCAnb2JqaWQnLCAnYm9vbCcsXG4gICdnZW50aW1lJywgJ3V0Y3RpbWUnLCAnbnVsbF8nLCAnZW51bScsICdpbnQnLCAnb2JqRGVzYycsXG4gICdiaXRzdHInLCAnYm1wc3RyJywgJ2NoYXJzdHInLCAnZ2Vuc3RyJywgJ2dyYXBoc3RyJywgJ2lhNXN0cicsICdpc282NDZzdHInLFxuICAnbnVtc3RyJywgJ29jdHN0cicsICdwcmludHN0cicsICd0NjFzdHInLCAndW5pc3RyJywgJ3V0ZjhzdHInLCAndmlkZW9zdHInXG5dO1xuXG4vLyBQdWJsaWMgbWV0aG9kcyBsaXN0XG5jb25zdCBtZXRob2RzID0gW1xuICAna2V5JywgJ29iaicsICd1c2UnLCAnb3B0aW9uYWwnLCAnZXhwbGljaXQnLCAnaW1wbGljaXQnLCAnZGVmJywgJ2Nob2ljZScsXG4gICdhbnknLCAnY29udGFpbnMnXG5dLmNvbmNhdCh0YWdzKTtcblxuLy8gT3ZlcnJpZGVkIG1ldGhvZHMgbGlzdFxuY29uc3Qgb3ZlcnJpZGVkID0gW1xuICAnX3BlZWtUYWcnLCAnX2RlY29kZVRhZycsICdfdXNlJyxcbiAgJ19kZWNvZGVTdHInLCAnX2RlY29kZU9iamlkJywgJ19kZWNvZGVUaW1lJyxcbiAgJ19kZWNvZGVOdWxsJywgJ19kZWNvZGVJbnQnLCAnX2RlY29kZUJvb2wnLCAnX2RlY29kZUxpc3QnLFxuXG4gICdfZW5jb2RlQ29tcG9zaXRlJywgJ19lbmNvZGVTdHInLCAnX2VuY29kZU9iamlkJywgJ19lbmNvZGVUaW1lJyxcbiAgJ19lbmNvZGVOdWxsJywgJ19lbmNvZGVJbnQnLCAnX2VuY29kZUJvb2wnXG5dO1xuXG5mdW5jdGlvbiBOb2RlKGVuYywgcGFyZW50LCBuYW1lKSB7XG4gIGNvbnN0IHN0YXRlID0ge307XG4gIHRoaXMuX2Jhc2VTdGF0ZSA9IHN0YXRlO1xuXG4gIHN0YXRlLm5hbWUgPSBuYW1lO1xuICBzdGF0ZS5lbmMgPSBlbmM7XG5cbiAgc3RhdGUucGFyZW50ID0gcGFyZW50IHx8IG51bGw7XG4gIHN0YXRlLmNoaWxkcmVuID0gbnVsbDtcblxuICAvLyBTdGF0ZVxuICBzdGF0ZS50YWcgPSBudWxsO1xuICBzdGF0ZS5hcmdzID0gbnVsbDtcbiAgc3RhdGUucmV2ZXJzZUFyZ3MgPSBudWxsO1xuICBzdGF0ZS5jaG9pY2UgPSBudWxsO1xuICBzdGF0ZS5vcHRpb25hbCA9IGZhbHNlO1xuICBzdGF0ZS5hbnkgPSBmYWxzZTtcbiAgc3RhdGUub2JqID0gZmFsc2U7XG4gIHN0YXRlLnVzZSA9IG51bGw7XG4gIHN0YXRlLnVzZURlY29kZXIgPSBudWxsO1xuICBzdGF0ZS5rZXkgPSBudWxsO1xuICBzdGF0ZVsnZGVmYXVsdCddID0gbnVsbDtcbiAgc3RhdGUuZXhwbGljaXQgPSBudWxsO1xuICBzdGF0ZS5pbXBsaWNpdCA9IG51bGw7XG4gIHN0YXRlLmNvbnRhaW5zID0gbnVsbDtcblxuICAvLyBTaG91bGQgY3JlYXRlIG5ldyBpbnN0YW5jZSBvbiBlYWNoIG1ldGhvZFxuICBpZiAoIXN0YXRlLnBhcmVudCkge1xuICAgIHN0YXRlLmNoaWxkcmVuID0gW107XG4gICAgdGhpcy5fd3JhcCgpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IE5vZGU7XG5cbmNvbnN0IHN0YXRlUHJvcHMgPSBbXG4gICdlbmMnLCAncGFyZW50JywgJ2NoaWxkcmVuJywgJ3RhZycsICdhcmdzJywgJ3JldmVyc2VBcmdzJywgJ2Nob2ljZScsXG4gICdvcHRpb25hbCcsICdhbnknLCAnb2JqJywgJ3VzZScsICdhbHRlcmVkVXNlJywgJ2tleScsICdkZWZhdWx0JywgJ2V4cGxpY2l0JyxcbiAgJ2ltcGxpY2l0JywgJ2NvbnRhaW5zJ1xuXTtcblxuTm9kZS5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gIGNvbnN0IGNzdGF0ZSA9IHt9O1xuICBzdGF0ZVByb3BzLmZvckVhY2goZnVuY3Rpb24ocHJvcCkge1xuICAgIGNzdGF0ZVtwcm9wXSA9IHN0YXRlW3Byb3BdO1xuICB9KTtcbiAgY29uc3QgcmVzID0gbmV3IHRoaXMuY29uc3RydWN0b3IoY3N0YXRlLnBhcmVudCk7XG4gIHJlcy5fYmFzZVN0YXRlID0gY3N0YXRlO1xuICByZXR1cm4gcmVzO1xufTtcblxuTm9kZS5wcm90b3R5cGUuX3dyYXAgPSBmdW5jdGlvbiB3cmFwKCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcbiAgbWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgIHRoaXNbbWV0aG9kXSA9IGZ1bmN0aW9uIF93cmFwcGVkTWV0aG9kKCkge1xuICAgICAgY29uc3QgY2xvbmUgPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtcbiAgICAgIHN0YXRlLmNoaWxkcmVuLnB1c2goY2xvbmUpO1xuICAgICAgcmV0dXJuIGNsb25lW21ldGhvZF0uYXBwbHkoY2xvbmUsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgfSwgdGhpcyk7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQoYm9keSkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUucGFyZW50ID09PSBudWxsKTtcbiAgYm9keS5jYWxsKHRoaXMpO1xuXG4gIC8vIEZpbHRlciBjaGlsZHJlblxuICBzdGF0ZS5jaGlsZHJlbiA9IHN0YXRlLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjaGlsZCkge1xuICAgIHJldHVybiBjaGlsZC5fYmFzZVN0YXRlLnBhcmVudCA9PT0gdGhpcztcbiAgfSwgdGhpcyk7XG4gIGFzc2VydC5lcXVhbChzdGF0ZS5jaGlsZHJlbi5sZW5ndGgsIDEsICdSb290IG5vZGUgY2FuIGhhdmUgb25seSBvbmUgY2hpbGQnKTtcbn07XG5cbk5vZGUucHJvdG90eXBlLl91c2VBcmdzID0gZnVuY3Rpb24gdXNlQXJncyhhcmdzKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIC8vIEZpbHRlciBjaGlsZHJlbiBhbmQgYXJnc1xuICBjb25zdCBjaGlsZHJlbiA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiBhcmcgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yO1xuICB9LCB0aGlzKTtcbiAgYXJncyA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiAhKGFyZyBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3IpO1xuICB9LCB0aGlzKTtcblxuICBpZiAoY2hpbGRyZW4ubGVuZ3RoICE9PSAwKSB7XG4gICAgYXNzZXJ0KHN0YXRlLmNoaWxkcmVuID09PSBudWxsKTtcbiAgICBzdGF0ZS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuXG4gICAgLy8gUmVwbGFjZSBwYXJlbnQgdG8gbWFpbnRhaW4gYmFja3dhcmQgbGlua1xuICAgIGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oY2hpbGQpIHtcbiAgICAgIGNoaWxkLl9iYXNlU3RhdGUucGFyZW50ID0gdGhpcztcbiAgICB9LCB0aGlzKTtcbiAgfVxuICBpZiAoYXJncy5sZW5ndGggIT09IDApIHtcbiAgICBhc3NlcnQoc3RhdGUuYXJncyA9PT0gbnVsbCk7XG4gICAgc3RhdGUuYXJncyA9IGFyZ3M7XG4gICAgc3RhdGUucmV2ZXJzZUFyZ3MgPSBhcmdzLm1hcChmdW5jdGlvbihhcmcpIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnICE9PSAnb2JqZWN0JyB8fCBhcmcuY29uc3RydWN0b3IgIT09IE9iamVjdClcbiAgICAgICAgcmV0dXJuIGFyZztcblxuICAgICAgY29uc3QgcmVzID0ge307XG4gICAgICBPYmplY3Qua2V5cyhhcmcpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT0gKGtleSB8IDApKVxuICAgICAgICAgIGtleSB8PSAwO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFyZ1trZXldO1xuICAgICAgICByZXNbdmFsdWVdID0ga2V5O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0pO1xuICB9XG59O1xuXG4vL1xuLy8gT3ZlcnJpZGVkIG1ldGhvZHNcbi8vXG5cbm92ZXJyaWRlZC5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICBOb2RlLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24gX292ZXJyaWRlZCgpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWV0aG9kICsgJyBub3QgaW1wbGVtZW50ZWQgZm9yIGVuY29kaW5nOiAnICsgc3RhdGUuZW5jKTtcbiAgfTtcbn0pO1xuXG4vL1xuLy8gUHVibGljIG1ldGhvZHNcbi8vXG5cbnRhZ3MuZm9yRWFjaChmdW5jdGlvbih0YWcpIHtcbiAgTm9kZS5wcm90b3R5cGVbdGFnXSA9IGZ1bmN0aW9uIF90YWdNZXRob2QoKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gICAgY29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cbiAgICBhc3NlcnQoc3RhdGUudGFnID09PSBudWxsKTtcbiAgICBzdGF0ZS50YWcgPSB0YWc7XG5cbiAgICB0aGlzLl91c2VBcmdzKGFyZ3MpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG59KTtcblxuTm9kZS5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGl0ZW0pIHtcbiAgYXNzZXJ0KGl0ZW0pO1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUudXNlID09PSBudWxsKTtcbiAgc3RhdGUudXNlID0gaXRlbTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLm9wdGlvbmFsID0gZnVuY3Rpb24gb3B0aW9uYWwoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIHN0YXRlLm9wdGlvbmFsID0gdHJ1ZTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmRlZiA9IGZ1bmN0aW9uIGRlZih2YWwpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgYXNzZXJ0KHN0YXRlWydkZWZhdWx0J10gPT09IG51bGwpO1xuICBzdGF0ZVsnZGVmYXVsdCddID0gdmFsO1xuICBzdGF0ZS5vcHRpb25hbCA9IHRydWU7XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5leHBsaWNpdCA9IGZ1bmN0aW9uIGV4cGxpY2l0KG51bSkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUuZXhwbGljaXQgPT09IG51bGwgJiYgc3RhdGUuaW1wbGljaXQgPT09IG51bGwpO1xuICBzdGF0ZS5leHBsaWNpdCA9IG51bTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmltcGxpY2l0ID0gZnVuY3Rpb24gaW1wbGljaXQobnVtKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGFzc2VydChzdGF0ZS5leHBsaWNpdCA9PT0gbnVsbCAmJiBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCk7XG4gIHN0YXRlLmltcGxpY2l0ID0gbnVtO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuTm9kZS5wcm90b3R5cGUub2JqID0gZnVuY3Rpb24gb2JqKCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcbiAgY29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cbiAgc3RhdGUub2JqID0gdHJ1ZTtcblxuICBpZiAoYXJncy5sZW5ndGggIT09IDApXG4gICAgdGhpcy5fdXNlQXJncyhhcmdzKTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmtleSA9IGZ1bmN0aW9uIGtleShuZXdLZXkpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgYXNzZXJ0KHN0YXRlLmtleSA9PT0gbnVsbCk7XG4gIHN0YXRlLmtleSA9IG5ld0tleTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmFueSA9IGZ1bmN0aW9uIGFueSgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgc3RhdGUuYW55ID0gdHJ1ZTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmNob2ljZSA9IGZ1bmN0aW9uIGNob2ljZShvYmopIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgYXNzZXJ0KHN0YXRlLmNob2ljZSA9PT0gbnVsbCk7XG4gIHN0YXRlLmNob2ljZSA9IG9iajtcbiAgdGhpcy5fdXNlQXJncyhPYmplY3Qua2V5cyhvYmopLm1hcChmdW5jdGlvbihrZXkpIHtcbiAgICByZXR1cm4gb2JqW2tleV07XG4gIH0pKTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmNvbnRhaW5zID0gZnVuY3Rpb24gY29udGFpbnMoaXRlbSkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUudXNlID09PSBudWxsKTtcbiAgc3RhdGUuY29udGFpbnMgPSBpdGVtO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLy9cbi8vIERlY29kaW5nXG4vL1xuXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGlucHV0LCBvcHRpb25zKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIC8vIERlY29kZSByb290IG5vZGVcbiAgaWYgKHN0YXRlLnBhcmVudCA9PT0gbnVsbClcbiAgICByZXR1cm4gaW5wdXQud3JhcFJlc3VsdChzdGF0ZS5jaGlsZHJlblswXS5fZGVjb2RlKGlucHV0LCBvcHRpb25zKSk7XG5cbiAgbGV0IHJlc3VsdCA9IHN0YXRlWydkZWZhdWx0J107XG4gIGxldCBwcmVzZW50ID0gdHJ1ZTtcblxuICBsZXQgcHJldktleSA9IG51bGw7XG4gIGlmIChzdGF0ZS5rZXkgIT09IG51bGwpXG4gICAgcHJldktleSA9IGlucHV0LmVudGVyS2V5KHN0YXRlLmtleSk7XG5cbiAgLy8gQ2hlY2sgaWYgdGFnIGlzIHRoZXJlXG4gIGlmIChzdGF0ZS5vcHRpb25hbCkge1xuICAgIGxldCB0YWcgPSBudWxsO1xuICAgIGlmIChzdGF0ZS5leHBsaWNpdCAhPT0gbnVsbClcbiAgICAgIHRhZyA9IHN0YXRlLmV4cGxpY2l0O1xuICAgIGVsc2UgaWYgKHN0YXRlLmltcGxpY2l0ICE9PSBudWxsKVxuICAgICAgdGFnID0gc3RhdGUuaW1wbGljaXQ7XG4gICAgZWxzZSBpZiAoc3RhdGUudGFnICE9PSBudWxsKVxuICAgICAgdGFnID0gc3RhdGUudGFnO1xuXG4gICAgaWYgKHRhZyA9PT0gbnVsbCAmJiAhc3RhdGUuYW55KSB7XG4gICAgICAvLyBUcmlhbCBhbmQgRXJyb3JcbiAgICAgIGNvbnN0IHNhdmUgPSBpbnB1dC5zYXZlKCk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoc3RhdGUuY2hvaWNlID09PSBudWxsKVxuICAgICAgICAgIHRoaXMuX2RlY29kZUdlbmVyaWMoc3RhdGUudGFnLCBpbnB1dCwgb3B0aW9ucyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLl9kZWNvZGVDaG9pY2UoaW5wdXQsIG9wdGlvbnMpO1xuICAgICAgICBwcmVzZW50ID0gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcHJlc2VudCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaW5wdXQucmVzdG9yZShzYXZlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlc2VudCA9IHRoaXMuX3BlZWtUYWcoaW5wdXQsIHRhZywgc3RhdGUuYW55KTtcblxuICAgICAgaWYgKGlucHV0LmlzRXJyb3IocHJlc2VudCkpXG4gICAgICAgIHJldHVybiBwcmVzZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2ggb2JqZWN0IG9uIHN0YWNrXG4gIGxldCBwcmV2T2JqO1xuICBpZiAoc3RhdGUub2JqICYmIHByZXNlbnQpXG4gICAgcHJldk9iaiA9IGlucHV0LmVudGVyT2JqZWN0KCk7XG5cbiAgaWYgKHByZXNlbnQpIHtcbiAgICAvLyBVbndyYXAgZXhwbGljaXQgdmFsdWVzXG4gICAgaWYgKHN0YXRlLmV4cGxpY2l0ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBleHBsaWNpdCA9IHRoaXMuX2RlY29kZVRhZyhpbnB1dCwgc3RhdGUuZXhwbGljaXQpO1xuICAgICAgaWYgKGlucHV0LmlzRXJyb3IoZXhwbGljaXQpKVxuICAgICAgICByZXR1cm4gZXhwbGljaXQ7XG4gICAgICBpbnB1dCA9IGV4cGxpY2l0O1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gaW5wdXQub2Zmc2V0O1xuXG4gICAgLy8gVW53cmFwIGltcGxpY2l0IGFuZCBub3JtYWwgdmFsdWVzXG4gICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbCAmJiBzdGF0ZS5jaG9pY2UgPT09IG51bGwpIHtcbiAgICAgIGxldCBzYXZlO1xuICAgICAgaWYgKHN0YXRlLmFueSlcbiAgICAgICAgc2F2ZSA9IGlucHV0LnNhdmUoKTtcbiAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLl9kZWNvZGVUYWcoXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzdGF0ZS5pbXBsaWNpdCAhPT0gbnVsbCA/IHN0YXRlLmltcGxpY2l0IDogc3RhdGUudGFnLFxuICAgICAgICBzdGF0ZS5hbnlcbiAgICAgICk7XG4gICAgICBpZiAoaW5wdXQuaXNFcnJvcihib2R5KSlcbiAgICAgICAgcmV0dXJuIGJvZHk7XG5cbiAgICAgIGlmIChzdGF0ZS5hbnkpXG4gICAgICAgIHJlc3VsdCA9IGlucHV0LnJhdyhzYXZlKTtcbiAgICAgIGVsc2VcbiAgICAgICAgaW5wdXQgPSBib2R5O1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudHJhY2sgJiYgc3RhdGUudGFnICE9PSBudWxsKVxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIHN0YXJ0LCBpbnB1dC5sZW5ndGgsICd0YWdnZWQnKTtcblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudHJhY2sgJiYgc3RhdGUudGFnICE9PSBudWxsKVxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIGlucHV0Lm9mZnNldCwgaW5wdXQubGVuZ3RoLCAnY29udGVudCcpO1xuXG4gICAgLy8gU2VsZWN0IHByb3BlciBtZXRob2QgZm9yIHRhZ1xuICAgIGlmIChzdGF0ZS5hbnkpIHtcbiAgICAgIC8vIG5vLW9wXG4gICAgfSBlbHNlIGlmIChzdGF0ZS5jaG9pY2UgPT09IG51bGwpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RlY29kZUdlbmVyaWMoc3RhdGUudGFnLCBpbnB1dCwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RlY29kZUNob2ljZShpbnB1dCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0LmlzRXJyb3IocmVzdWx0KSlcbiAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICAvLyBEZWNvZGUgY2hpbGRyZW5cbiAgICBpZiAoIXN0YXRlLmFueSAmJiBzdGF0ZS5jaG9pY2UgPT09IG51bGwgJiYgc3RhdGUuY2hpbGRyZW4gIT09IG51bGwpIHtcbiAgICAgIHN0YXRlLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gZGVjb2RlQ2hpbGRyZW4oY2hpbGQpIHtcbiAgICAgICAgLy8gTk9URTogV2UgYXJlIGlnbm9yaW5nIGVycm9ycyBoZXJlLCB0byBsZXQgcGFyc2VyIGNvbnRpbnVlIHdpdGggb3RoZXJcbiAgICAgICAgLy8gcGFydHMgb2YgZW5jb2RlZCBkYXRhXG4gICAgICAgIGNoaWxkLl9kZWNvZGUoaW5wdXQsIG9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gRGVjb2RlIGNvbnRhaW5lZC9lbmNvZGVkIGJ5IHNjaGVtYSwgb25seSBpbiBiaXQgb3Igb2N0ZXQgc3RyaW5nc1xuICAgIGlmIChzdGF0ZS5jb250YWlucyAmJiAoc3RhdGUudGFnID09PSAnb2N0c3RyJyB8fCBzdGF0ZS50YWcgPT09ICdiaXRzdHInKSkge1xuICAgICAgY29uc3QgZGF0YSA9IG5ldyBEZWNvZGVyQnVmZmVyKHJlc3VsdCk7XG4gICAgICByZXN1bHQgPSB0aGlzLl9nZXRVc2Uoc3RhdGUuY29udGFpbnMsIGlucHV0Ll9yZXBvcnRlclN0YXRlLm9iailcbiAgICAgICAgLl9kZWNvZGUoZGF0YSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9wIG9iamVjdFxuICBpZiAoc3RhdGUub2JqICYmIHByZXNlbnQpXG4gICAgcmVzdWx0ID0gaW5wdXQubGVhdmVPYmplY3QocHJldk9iaik7XG5cbiAgLy8gU2V0IGtleVxuICBpZiAoc3RhdGUua2V5ICE9PSBudWxsICYmIChyZXN1bHQgIT09IG51bGwgfHwgcHJlc2VudCA9PT0gdHJ1ZSkpXG4gICAgaW5wdXQubGVhdmVLZXkocHJldktleSwgc3RhdGUua2V5LCByZXN1bHQpO1xuICBlbHNlIGlmIChwcmV2S2V5ICE9PSBudWxsKVxuICAgIGlucHV0LmV4aXRLZXkocHJldktleSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9kZWNvZGVHZW5lcmljID0gZnVuY3Rpb24gZGVjb2RlR2VuZXJpYyh0YWcsIGlucHV0LCBvcHRpb25zKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGlmICh0YWcgPT09ICdzZXEnIHx8IHRhZyA9PT0gJ3NldCcpXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmICh0YWcgPT09ICdzZXFvZicgfHwgdGFnID09PSAnc2V0b2YnKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVMaXN0KGlucHV0LCB0YWcsIHN0YXRlLmFyZ3NbMF0sIG9wdGlvbnMpO1xuICBlbHNlIGlmICgvc3RyJC8udGVzdCh0YWcpKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVTdHIoaW5wdXQsIHRhZywgb3B0aW9ucyk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iamlkJyAmJiBzdGF0ZS5hcmdzKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVPYmppZChpbnB1dCwgc3RhdGUuYXJnc1swXSwgc3RhdGUuYXJnc1sxXSwgb3B0aW9ucyk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iamlkJylcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlT2JqaWQoaW5wdXQsIG51bGwsIG51bGwsIG9wdGlvbnMpO1xuICBlbHNlIGlmICh0YWcgPT09ICdnZW50aW1lJyB8fCB0YWcgPT09ICd1dGN0aW1lJylcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlVGltZShpbnB1dCwgdGFnLCBvcHRpb25zKTtcbiAgZWxzZSBpZiAodGFnID09PSAnbnVsbF8nKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVOdWxsKGlucHV0LCBvcHRpb25zKTtcbiAgZWxzZSBpZiAodGFnID09PSAnYm9vbCcpXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZUJvb2woaW5wdXQsIG9wdGlvbnMpO1xuICBlbHNlIGlmICh0YWcgPT09ICdvYmpEZXNjJylcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlU3RyKGlucHV0LCB0YWcsIG9wdGlvbnMpO1xuICBlbHNlIGlmICh0YWcgPT09ICdpbnQnIHx8IHRhZyA9PT0gJ2VudW0nKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVJbnQoaW5wdXQsIHN0YXRlLmFyZ3MgJiYgc3RhdGUuYXJnc1swXSwgb3B0aW9ucyk7XG5cbiAgaWYgKHN0YXRlLnVzZSAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRVc2Uoc3RhdGUudXNlLCBpbnB1dC5fcmVwb3J0ZXJTdGF0ZS5vYmopXG4gICAgICAuX2RlY29kZShpbnB1dCwgb3B0aW9ucyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGlucHV0LmVycm9yKCd1bmtub3duIHRhZzogJyArIHRhZyk7XG4gIH1cbn07XG5cbk5vZGUucHJvdG90eXBlLl9nZXRVc2UgPSBmdW5jdGlvbiBfZ2V0VXNlKGVudGl0eSwgb2JqKSB7XG5cbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gIC8vIENyZWF0ZSBhbHRlcmVkIHVzZSBkZWNvZGVyIGlmIGltcGxpY2l0IGlzIHNldFxuICBzdGF0ZS51c2VEZWNvZGVyID0gdGhpcy5fdXNlKGVudGl0eSwgb2JqKTtcbiAgYXNzZXJ0KHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5wYXJlbnQgPT09IG51bGwpO1xuICBzdGF0ZS51c2VEZWNvZGVyID0gc3RhdGUudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmNoaWxkcmVuWzBdO1xuICBpZiAoc3RhdGUuaW1wbGljaXQgIT09IHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5pbXBsaWNpdCkge1xuICAgIHN0YXRlLnVzZURlY29kZXIgPSBzdGF0ZS51c2VEZWNvZGVyLmNsb25lKCk7XG4gICAgc3RhdGUudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0ID0gc3RhdGUuaW1wbGljaXQ7XG4gIH1cbiAgcmV0dXJuIHN0YXRlLnVzZURlY29kZXI7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlQ2hvaWNlID0gZnVuY3Rpb24gZGVjb2RlQ2hvaWNlKGlucHV0LCBvcHRpb25zKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgbGV0IG1hdGNoID0gZmFsc2U7XG5cbiAgT2JqZWN0LmtleXMoc3RhdGUuY2hvaWNlKS5zb21lKGZ1bmN0aW9uKGtleSkge1xuICAgIGNvbnN0IHNhdmUgPSBpbnB1dC5zYXZlKCk7XG4gICAgY29uc3Qgbm9kZSA9IHN0YXRlLmNob2ljZVtrZXldO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG5vZGUuX2RlY29kZShpbnB1dCwgb3B0aW9ucyk7XG4gICAgICBpZiAoaW5wdXQuaXNFcnJvcih2YWx1ZSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgcmVzdWx0ID0geyB0eXBlOiBrZXksIHZhbHVlOiB2YWx1ZSB9O1xuICAgICAgbWF0Y2ggPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlucHV0LnJlc3RvcmUoc2F2ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9LCB0aGlzKTtcblxuICBpZiAoIW1hdGNoKVxuICAgIHJldHVybiBpbnB1dC5lcnJvcignQ2hvaWNlIG5vdCBtYXRjaGVkJyk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vXG4vLyBFbmNvZGluZ1xuLy9cblxuTm9kZS5wcm90b3R5cGUuX2NyZWF0ZUVuY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBjcmVhdGVFbmNvZGVyQnVmZmVyKGRhdGEpIHtcbiAgcmV0dXJuIG5ldyBFbmNvZGVyQnVmZmVyKGRhdGEsIHRoaXMucmVwb3J0ZXIpO1xufTtcblxuTm9kZS5wcm90b3R5cGUuX2VuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlciwgcGFyZW50KSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuICBpZiAoc3RhdGVbJ2RlZmF1bHQnXSAhPT0gbnVsbCAmJiBzdGF0ZVsnZGVmYXVsdCddID09PSBkYXRhKVxuICAgIHJldHVybjtcblxuICBjb25zdCByZXN1bHQgPSB0aGlzLl9lbmNvZGVWYWx1ZShkYXRhLCByZXBvcnRlciwgcGFyZW50KTtcbiAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybjtcblxuICBpZiAodGhpcy5fc2tpcERlZmF1bHQocmVzdWx0LCByZXBvcnRlciwgcGFyZW50KSlcbiAgICByZXR1cm47XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9lbmNvZGVWYWx1ZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlciwgcGFyZW50KSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIC8vIERlY29kZSByb290IG5vZGVcbiAgaWYgKHN0YXRlLnBhcmVudCA9PT0gbnVsbClcbiAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW5bMF0uX2VuY29kZShkYXRhLCByZXBvcnRlciB8fCBuZXcgUmVwb3J0ZXIoKSk7XG5cbiAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgLy8gU2V0IHJlcG9ydGVyIHRvIHNoYXJlIGl0IHdpdGggYSBjaGlsZCBjbGFzc1xuICB0aGlzLnJlcG9ydGVyID0gcmVwb3J0ZXI7XG5cbiAgLy8gQ2hlY2sgaWYgZGF0YSBpcyB0aGVyZVxuICBpZiAoc3RhdGUub3B0aW9uYWwgJiYgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHN0YXRlWydkZWZhdWx0J10gIT09IG51bGwpXG4gICAgICBkYXRhID0gc3RhdGVbJ2RlZmF1bHQnXTtcbiAgICBlbHNlXG4gICAgICByZXR1cm47XG4gIH1cblxuICAvLyBFbmNvZGUgY2hpbGRyZW4gZmlyc3RcbiAgbGV0IGNvbnRlbnQgPSBudWxsO1xuICBsZXQgcHJpbWl0aXZlID0gZmFsc2U7XG4gIGlmIChzdGF0ZS5hbnkpIHtcbiAgICAvLyBBbnl0aGluZyB0aGF0IHdhcyBnaXZlbiBpcyB0cmFuc2xhdGVkIHRvIGJ1ZmZlclxuICAgIHJlc3VsdCA9IHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZGF0YSk7XG4gIH0gZWxzZSBpZiAoc3RhdGUuY2hvaWNlKSB7XG4gICAgcmVzdWx0ID0gdGhpcy5fZW5jb2RlQ2hvaWNlKGRhdGEsIHJlcG9ydGVyKTtcbiAgfSBlbHNlIGlmIChzdGF0ZS5jb250YWlucykge1xuICAgIGNvbnRlbnQgPSB0aGlzLl9nZXRVc2Uoc3RhdGUuY29udGFpbnMsIHBhcmVudCkuX2VuY29kZShkYXRhLCByZXBvcnRlcik7XG4gICAgcHJpbWl0aXZlID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChzdGF0ZS5jaGlsZHJlbikge1xuICAgIGNvbnRlbnQgPSBzdGF0ZS5jaGlsZHJlbi5tYXAoZnVuY3Rpb24oY2hpbGQpIHtcbiAgICAgIGlmIChjaGlsZC5fYmFzZVN0YXRlLnRhZyA9PT0gJ251bGxfJylcbiAgICAgICAgcmV0dXJuIGNoaWxkLl9lbmNvZGUobnVsbCwgcmVwb3J0ZXIsIGRhdGEpO1xuXG4gICAgICBpZiAoY2hpbGQuX2Jhc2VTdGF0ZS5rZXkgPT09IG51bGwpXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignQ2hpbGQgc2hvdWxkIGhhdmUgYSBrZXknKTtcbiAgICAgIGNvbnN0IHByZXZLZXkgPSByZXBvcnRlci5lbnRlcktleShjaGlsZC5fYmFzZVN0YXRlLmtleSk7XG5cbiAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignQ2hpbGQgZXhwZWN0ZWQsIGJ1dCBpbnB1dCBpcyBub3Qgb2JqZWN0Jyk7XG5cbiAgICAgIGNvbnN0IHJlcyA9IGNoaWxkLl9lbmNvZGUoZGF0YVtjaGlsZC5fYmFzZVN0YXRlLmtleV0sIHJlcG9ydGVyLCBkYXRhKTtcbiAgICAgIHJlcG9ydGVyLmxlYXZlS2V5KHByZXZLZXkpO1xuXG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHRoaXMpLmZpbHRlcihmdW5jdGlvbihjaGlsZCkge1xuICAgICAgcmV0dXJuIGNoaWxkO1xuICAgIH0pO1xuICAgIGNvbnRlbnQgPSB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGNvbnRlbnQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChzdGF0ZS50YWcgPT09ICdzZXFvZicgfHwgc3RhdGUudGFnID09PSAnc2V0b2YnKSB7XG4gICAgICAvLyBUT0RPKGluZHV0bnkpOiB0aGlzIHNob3VsZCBiZSB0aHJvd24gb24gRFNMIGxldmVsXG4gICAgICBpZiAoIShzdGF0ZS5hcmdzICYmIHN0YXRlLmFyZ3MubGVuZ3RoID09PSAxKSlcbiAgICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdUb28gbWFueSBhcmdzIGZvciA6ICcgKyBzdGF0ZS50YWcpO1xuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignc2Vxb2Yvc2V0b2YsIGJ1dCBkYXRhIGlzIG5vdCBBcnJheScpO1xuXG4gICAgICBjb25zdCBjaGlsZCA9IHRoaXMuY2xvbmUoKTtcbiAgICAgIGNoaWxkLl9iYXNlU3RhdGUuaW1wbGljaXQgPSBudWxsO1xuICAgICAgY29udGVudCA9IHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZGF0YS5tYXAoZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VXNlKHN0YXRlLmFyZ3NbMF0sIGRhdGEpLl9lbmNvZGUoaXRlbSwgcmVwb3J0ZXIpO1xuICAgICAgfSwgY2hpbGQpKTtcbiAgICB9IGVsc2UgaWYgKHN0YXRlLnVzZSAhPT0gbnVsbCkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fZ2V0VXNlKHN0YXRlLnVzZSwgcGFyZW50KS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudCA9IHRoaXMuX2VuY29kZVByaW1pdGl2ZShzdGF0ZS50YWcsIGRhdGEpO1xuICAgICAgcHJpbWl0aXZlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbmNvZGUgZGF0YSBpdHNlbGZcbiAgaWYgKCFzdGF0ZS5hbnkgJiYgc3RhdGUuY2hvaWNlID09PSBudWxsKSB7XG4gICAgY29uc3QgdGFnID0gc3RhdGUuaW1wbGljaXQgIT09IG51bGwgPyBzdGF0ZS5pbXBsaWNpdCA6IHN0YXRlLnRhZztcbiAgICBjb25zdCBjbHMgPSBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCA/ICd1bml2ZXJzYWwnIDogJ2NvbnRleHQnO1xuXG4gICAgaWYgKHRhZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbClcbiAgICAgICAgcmVwb3J0ZXIuZXJyb3IoJ1RhZyBjb3VsZCBiZSBvbWl0dGVkIG9ubHkgZm9yIC51c2UoKScpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc3RhdGUudXNlID09PSBudWxsKVxuICAgICAgICByZXN1bHQgPSB0aGlzLl9lbmNvZGVDb21wb3NpdGUodGFnLCBwcmltaXRpdmUsIGNscywgY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcCBpbiBleHBsaWNpdFxuICBpZiAoc3RhdGUuZXhwbGljaXQgIT09IG51bGwpXG4gICAgcmVzdWx0ID0gdGhpcy5fZW5jb2RlQ29tcG9zaXRlKHN0YXRlLmV4cGxpY2l0LCBmYWxzZSwgJ2NvbnRleHQnLCByZXN1bHQpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5fZW5jb2RlQ2hvaWNlID0gZnVuY3Rpb24gZW5jb2RlQ2hvaWNlKGRhdGEsIHJlcG9ydGVyKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGNvbnN0IG5vZGUgPSBzdGF0ZS5jaG9pY2VbZGF0YS50eXBlXTtcbiAgaWYgKCFub2RlKSB7XG4gICAgYXNzZXJ0KFxuICAgICAgZmFsc2UsXG4gICAgICBkYXRhLnR5cGUgKyAnIG5vdCBmb3VuZCBpbiAnICtcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHN0YXRlLmNob2ljZSkpKTtcbiAgfVxuICByZXR1cm4gbm9kZS5fZW5jb2RlKGRhdGEudmFsdWUsIHJlcG9ydGVyKTtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9lbmNvZGVQcmltaXRpdmUgPSBmdW5jdGlvbiBlbmNvZGVQcmltaXRpdmUodGFnLCBkYXRhKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGlmICgvc3RyJC8udGVzdCh0YWcpKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVTdHIoZGF0YSwgdGFnKTtcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqaWQnICYmIHN0YXRlLmFyZ3MpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGRhdGEsIHN0YXRlLnJldmVyc2VBcmdzWzBdLCBzdGF0ZS5hcmdzWzFdKTtcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqaWQnKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVPYmppZChkYXRhLCBudWxsLCBudWxsKTtcbiAgZWxzZSBpZiAodGFnID09PSAnZ2VudGltZScgfHwgdGFnID09PSAndXRjdGltZScpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZVRpbWUoZGF0YSwgdGFnKTtcbiAgZWxzZSBpZiAodGFnID09PSAnbnVsbF8nKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVOdWxsKCk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ2ludCcgfHwgdGFnID09PSAnZW51bScpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZUludChkYXRhLCBzdGF0ZS5hcmdzICYmIHN0YXRlLnJldmVyc2VBcmdzWzBdKTtcbiAgZWxzZSBpZiAodGFnID09PSAnYm9vbCcpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZUJvb2woZGF0YSk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iakRlc2MnKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVTdHIoZGF0YSwgdGFnKTtcbiAgZWxzZVxuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdGFnOiAnICsgdGFnKTtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9pc051bXN0ciA9IGZ1bmN0aW9uIGlzTnVtc3RyKHN0cikge1xuICByZXR1cm4gL15bMC05IF0qJC8udGVzdChzdHIpO1xufTtcblxuTm9kZS5wcm90b3R5cGUuX2lzUHJpbnRzdHIgPSBmdW5jdGlvbiBpc1ByaW50c3RyKHN0cikge1xuICByZXR1cm4gL15bQS1aYS16MC05ICcoKSssLS4vOj0/XSokLy50ZXN0KHN0cik7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmZ1bmN0aW9uIFJlcG9ydGVyKG9wdGlvbnMpIHtcbiAgdGhpcy5fcmVwb3J0ZXJTdGF0ZSA9IHtcbiAgICBvYmo6IG51bGwsXG4gICAgcGF0aDogW10sXG4gICAgb3B0aW9uczogb3B0aW9ucyB8fCB7fSxcbiAgICBlcnJvcnM6IFtdXG4gIH07XG59XG5leHBvcnRzLlJlcG9ydGVyID0gUmVwb3J0ZXI7XG5cblJlcG9ydGVyLnByb3RvdHlwZS5pc0Vycm9yID0gZnVuY3Rpb24gaXNFcnJvcihvYmopIHtcbiAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlcG9ydGVyRXJyb3I7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUuc2F2ZSA9IGZ1bmN0aW9uIHNhdmUoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICByZXR1cm4geyBvYmo6IHN0YXRlLm9iaiwgcGF0aExlbjogc3RhdGUucGF0aC5sZW5ndGggfTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5yZXN0b3JlID0gZnVuY3Rpb24gcmVzdG9yZShkYXRhKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICBzdGF0ZS5vYmogPSBkYXRhLm9iajtcbiAgc3RhdGUucGF0aCA9IHN0YXRlLnBhdGguc2xpY2UoMCwgZGF0YS5wYXRoTGVuKTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5lbnRlcktleSA9IGZ1bmN0aW9uIGVudGVyS2V5KGtleSkge1xuICByZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLnB1c2goa2V5KTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5leGl0S2V5ID0gZnVuY3Rpb24gZXhpdEtleShpbmRleCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XG5cbiAgc3RhdGUucGF0aCA9IHN0YXRlLnBhdGguc2xpY2UoMCwgaW5kZXggLSAxKTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZUtleSA9IGZ1bmN0aW9uIGxlYXZlS2V5KGluZGV4LCBrZXksIHZhbHVlKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICB0aGlzLmV4aXRLZXkoaW5kZXgpO1xuICBpZiAoc3RhdGUub2JqICE9PSBudWxsKVxuICAgIHN0YXRlLm9ialtrZXldID0gdmFsdWU7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUucGF0aCA9IGZ1bmN0aW9uIHBhdGgoKSB7XG4gIHJldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGguam9pbignLycpO1xufTtcblxuUmVwb3J0ZXIucHJvdG90eXBlLmVudGVyT2JqZWN0ID0gZnVuY3Rpb24gZW50ZXJPYmplY3QoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICBjb25zdCBwcmV2ID0gc3RhdGUub2JqO1xuICBzdGF0ZS5vYmogPSB7fTtcbiAgcmV0dXJuIHByZXY7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUubGVhdmVPYmplY3QgPSBmdW5jdGlvbiBsZWF2ZU9iamVjdChwcmV2KSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICBjb25zdCBub3cgPSBzdGF0ZS5vYmo7XG4gIHN0YXRlLm9iaiA9IHByZXY7XG4gIHJldHVybiBub3c7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiBlcnJvcihtc2cpIHtcbiAgbGV0IGVycjtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xuXG4gIGNvbnN0IGluaGVyaXRlZCA9IG1zZyBpbnN0YW5jZW9mIFJlcG9ydGVyRXJyb3I7XG4gIGlmIChpbmhlcml0ZWQpIHtcbiAgICBlcnIgPSBtc2c7XG4gIH0gZWxzZSB7XG4gICAgZXJyID0gbmV3IFJlcG9ydGVyRXJyb3Ioc3RhdGUucGF0aC5tYXAoZnVuY3Rpb24oZWxlbSkge1xuICAgICAgcmV0dXJuICdbJyArIEpTT04uc3RyaW5naWZ5KGVsZW0pICsgJ10nO1xuICAgIH0pLmpvaW4oJycpLCBtc2cubWVzc2FnZSB8fCBtc2csIG1zZy5zdGFjayk7XG4gIH1cblxuICBpZiAoIXN0YXRlLm9wdGlvbnMucGFydGlhbClcbiAgICB0aHJvdyBlcnI7XG5cbiAgaWYgKCFpbmhlcml0ZWQpXG4gICAgc3RhdGUuZXJyb3JzLnB1c2goZXJyKTtcblxuICByZXR1cm4gZXJyO1xufTtcblxuUmVwb3J0ZXIucHJvdG90eXBlLndyYXBSZXN1bHQgPSBmdW5jdGlvbiB3cmFwUmVzdWx0KHJlc3VsdCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XG4gIGlmICghc3RhdGUub3B0aW9ucy5wYXJ0aWFsKVxuICAgIHJldHVybiByZXN1bHQ7XG5cbiAgcmV0dXJuIHtcbiAgICByZXN1bHQ6IHRoaXMuaXNFcnJvcihyZXN1bHQpID8gbnVsbCA6IHJlc3VsdCxcbiAgICBlcnJvcnM6IHN0YXRlLmVycm9yc1xuICB9O1xufTtcblxuZnVuY3Rpb24gUmVwb3J0ZXJFcnJvcihwYXRoLCBtc2cpIHtcbiAgdGhpcy5wYXRoID0gcGF0aDtcbiAgdGhpcy5yZXRocm93KG1zZyk7XG59XG5pbmhlcml0cyhSZXBvcnRlckVycm9yLCBFcnJvcik7XG5cblJlcG9ydGVyRXJyb3IucHJvdG90eXBlLnJldGhyb3cgPSBmdW5jdGlvbiByZXRocm93KG1zZykge1xuICB0aGlzLm1lc3NhZ2UgPSBtc2cgKyAnIGF0OiAnICsgKHRoaXMucGF0aCB8fCAnKHNoYWxsb3cpJyk7XG4gIGlmIChFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCBSZXBvcnRlckVycm9yKTtcblxuICBpZiAoIXRoaXMuc3RhY2spIHtcbiAgICB0cnkge1xuICAgICAgLy8gSUUgb25seSBhZGRzIHN0YWNrIHdoZW4gdGhyb3duXG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5tZXNzYWdlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLnN0YWNrID0gZS5zdGFjaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG4vLyBIZWxwZXJcbmZ1bmN0aW9uIHJldmVyc2UobWFwKSB7XG4gIGNvbnN0IHJlcyA9IHt9O1xuXG4gIE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAvLyBDb252ZXJ0IGtleSB0byBpbnRlZ2VyIGlmIGl0IGlzIHN0cmluZ2lmaWVkXG4gICAgaWYgKChrZXkgfCAwKSA9PSBrZXkpXG4gICAgICBrZXkgPSBrZXkgfCAwO1xuXG4gICAgY29uc3QgdmFsdWUgPSBtYXBba2V5XTtcbiAgICByZXNbdmFsdWVdID0ga2V5O1xuICB9KTtcblxuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnRzLnRhZ0NsYXNzID0ge1xuICAwOiAndW5pdmVyc2FsJyxcbiAgMTogJ2FwcGxpY2F0aW9uJyxcbiAgMjogJ2NvbnRleHQnLFxuICAzOiAncHJpdmF0ZSdcbn07XG5leHBvcnRzLnRhZ0NsYXNzQnlOYW1lID0gcmV2ZXJzZShleHBvcnRzLnRhZ0NsYXNzKTtcblxuZXhwb3J0cy50YWcgPSB7XG4gIDB4MDA6ICdlbmQnLFxuICAweDAxOiAnYm9vbCcsXG4gIDB4MDI6ICdpbnQnLFxuICAweDAzOiAnYml0c3RyJyxcbiAgMHgwNDogJ29jdHN0cicsXG4gIDB4MDU6ICdudWxsXycsXG4gIDB4MDY6ICdvYmppZCcsXG4gIDB4MDc6ICdvYmpEZXNjJyxcbiAgMHgwODogJ2V4dGVybmFsJyxcbiAgMHgwOTogJ3JlYWwnLFxuICAweDBhOiAnZW51bScsXG4gIDB4MGI6ICdlbWJlZCcsXG4gIDB4MGM6ICd1dGY4c3RyJyxcbiAgMHgwZDogJ3JlbGF0aXZlT2lkJyxcbiAgMHgxMDogJ3NlcScsXG4gIDB4MTE6ICdzZXQnLFxuICAweDEyOiAnbnVtc3RyJyxcbiAgMHgxMzogJ3ByaW50c3RyJyxcbiAgMHgxNDogJ3Q2MXN0cicsXG4gIDB4MTU6ICd2aWRlb3N0cicsXG4gIDB4MTY6ICdpYTVzdHInLFxuICAweDE3OiAndXRjdGltZScsXG4gIDB4MTg6ICdnZW50aW1lJyxcbiAgMHgxOTogJ2dyYXBoc3RyJyxcbiAgMHgxYTogJ2lzbzY0NnN0cicsXG4gIDB4MWI6ICdnZW5zdHInLFxuICAweDFjOiAndW5pc3RyJyxcbiAgMHgxZDogJ2NoYXJzdHInLFxuICAweDFlOiAnYm1wc3RyJ1xufTtcbmV4cG9ydHMudGFnQnlOYW1lID0gcmV2ZXJzZShleHBvcnRzLnRhZyk7XG4iLCIndXNlIHN0cmljdCc7XG5cbmNvbnN0IGNvbnN0YW50cyA9IGV4cG9ydHM7XG5cbi8vIEhlbHBlclxuY29uc3RhbnRzLl9yZXZlcnNlID0gZnVuY3Rpb24gcmV2ZXJzZShtYXApIHtcbiAgY29uc3QgcmVzID0ge307XG5cbiAgT2JqZWN0LmtleXMobWFwKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgIC8vIENvbnZlcnQga2V5IHRvIGludGVnZXIgaWYgaXQgaXMgc3RyaW5naWZpZWRcbiAgICBpZiAoKGtleSB8IDApID09IGtleSlcbiAgICAgIGtleSA9IGtleSB8IDA7XG5cbiAgICBjb25zdCB2YWx1ZSA9IG1hcFtrZXldO1xuICAgIHJlc1t2YWx1ZV0gPSBrZXk7XG4gIH0pO1xuXG4gIHJldHVybiByZXM7XG59O1xuXG5jb25zdGFudHMuZGVyID0gcmVxdWlyZSgnLi9kZXInKTtcbiIsIid1c2Ugc3RyaWN0JztcblxuY29uc3QgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuXG5jb25zdCBiaWdudW0gPSByZXF1aXJlKCdibi5qcycpO1xuY29uc3QgRGVjb2RlckJ1ZmZlciA9IHJlcXVpcmUoJy4uL2Jhc2UvYnVmZmVyJykuRGVjb2RlckJ1ZmZlcjtcbmNvbnN0IE5vZGUgPSByZXF1aXJlKCcuLi9iYXNlL25vZGUnKTtcblxuLy8gSW1wb3J0IERFUiBjb25zdGFudHNcbmNvbnN0IGRlciA9IHJlcXVpcmUoJy4uL2NvbnN0YW50cy9kZXInKTtcblxuZnVuY3Rpb24gREVSRGVjb2RlcihlbnRpdHkpIHtcbiAgdGhpcy5lbmMgPSAnZGVyJztcbiAgdGhpcy5uYW1lID0gZW50aXR5Lm5hbWU7XG4gIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuXG4gIC8vIENvbnN0cnVjdCBiYXNlIHRyZWVcbiAgdGhpcy50cmVlID0gbmV3IERFUk5vZGUoKTtcbiAgdGhpcy50cmVlLl9pbml0KGVudGl0eS5ib2R5KTtcbn1cbm1vZHVsZS5leHBvcnRzID0gREVSRGVjb2RlcjtcblxuREVSRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGRhdGEsIG9wdGlvbnMpIHtcbiAgaWYgKCFEZWNvZGVyQnVmZmVyLmlzRGVjb2RlckJ1ZmZlcihkYXRhKSkge1xuICAgIGRhdGEgPSBuZXcgRGVjb2RlckJ1ZmZlcihkYXRhLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLnRyZWUuX2RlY29kZShkYXRhLCBvcHRpb25zKTtcbn07XG5cbi8vIFRyZWUgbWV0aG9kc1xuXG5mdW5jdGlvbiBERVJOb2RlKHBhcmVudCkge1xuICBOb2RlLmNhbGwodGhpcywgJ2RlcicsIHBhcmVudCk7XG59XG5pbmhlcml0cyhERVJOb2RlLCBOb2RlKTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3BlZWtUYWcgPSBmdW5jdGlvbiBwZWVrVGFnKGJ1ZmZlciwgdGFnLCBhbnkpIHtcbiAgaWYgKGJ1ZmZlci5pc0VtcHR5KCkpXG4gICAgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IHN0YXRlID0gYnVmZmVyLnNhdmUoKTtcbiAgY29uc3QgZGVjb2RlZFRhZyA9IGRlckRlY29kZVRhZyhidWZmZXIsICdGYWlsZWQgdG8gcGVlayB0YWc6IFwiJyArIHRhZyArICdcIicpO1xuICBpZiAoYnVmZmVyLmlzRXJyb3IoZGVjb2RlZFRhZykpXG4gICAgcmV0dXJuIGRlY29kZWRUYWc7XG5cbiAgYnVmZmVyLnJlc3RvcmUoc3RhdGUpO1xuXG4gIHJldHVybiBkZWNvZGVkVGFnLnRhZyA9PT0gdGFnIHx8IGRlY29kZWRUYWcudGFnU3RyID09PSB0YWcgfHxcbiAgICAoZGVjb2RlZFRhZy50YWdTdHIgKyAnb2YnKSA9PT0gdGFnIHx8IGFueTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVUYWcgPSBmdW5jdGlvbiBkZWNvZGVUYWcoYnVmZmVyLCB0YWcsIGFueSkge1xuICBjb25zdCBkZWNvZGVkVGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlcixcbiAgICAnRmFpbGVkIHRvIGRlY29kZSB0YWcgb2YgXCInICsgdGFnICsgJ1wiJyk7XG4gIGlmIChidWZmZXIuaXNFcnJvcihkZWNvZGVkVGFnKSlcbiAgICByZXR1cm4gZGVjb2RlZFRhZztcblxuICBsZXQgbGVuID0gZGVyRGVjb2RlTGVuKGJ1ZmZlcixcbiAgICBkZWNvZGVkVGFnLnByaW1pdGl2ZSxcbiAgICAnRmFpbGVkIHRvIGdldCBsZW5ndGggb2YgXCInICsgdGFnICsgJ1wiJyk7XG5cbiAgLy8gRmFpbHVyZVxuICBpZiAoYnVmZmVyLmlzRXJyb3IobGVuKSlcbiAgICByZXR1cm4gbGVuO1xuXG4gIGlmICghYW55ICYmXG4gICAgICBkZWNvZGVkVGFnLnRhZyAhPT0gdGFnICYmXG4gICAgICBkZWNvZGVkVGFnLnRhZ1N0ciAhPT0gdGFnICYmXG4gICAgICBkZWNvZGVkVGFnLnRhZ1N0ciArICdvZicgIT09IHRhZykge1xuICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0ZhaWxlZCB0byBtYXRjaCB0YWc6IFwiJyArIHRhZyArICdcIicpO1xuICB9XG5cbiAgaWYgKGRlY29kZWRUYWcucHJpbWl0aXZlIHx8IGxlbiAhPT0gbnVsbClcbiAgICByZXR1cm4gYnVmZmVyLnNraXAobGVuLCAnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6IFwiJyArIHRhZyArICdcIicpO1xuXG4gIC8vIEluZGVmaW5pdGUgbGVuZ3RoLi4uIGZpbmQgRU5EIHRhZ1xuICBjb25zdCBzdGF0ZSA9IGJ1ZmZlci5zYXZlKCk7XG4gIGNvbnN0IHJlcyA9IHRoaXMuX3NraXBVbnRpbEVuZChcbiAgICBidWZmZXIsXG4gICAgJ0ZhaWxlZCB0byBza2lwIGluZGVmaW5pdGUgbGVuZ3RoIGJvZHk6IFwiJyArIHRoaXMudGFnICsgJ1wiJyk7XG4gIGlmIChidWZmZXIuaXNFcnJvcihyZXMpKVxuICAgIHJldHVybiByZXM7XG5cbiAgbGVuID0gYnVmZmVyLm9mZnNldCAtIHN0YXRlLm9mZnNldDtcbiAgYnVmZmVyLnJlc3RvcmUoc3RhdGUpO1xuICByZXR1cm4gYnVmZmVyLnNraXAobGVuLCAnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6IFwiJyArIHRhZyArICdcIicpO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3NraXBVbnRpbEVuZCA9IGZ1bmN0aW9uIHNraXBVbnRpbEVuZChidWZmZXIsIGZhaWwpIHtcbiAgZm9yICg7Oykge1xuICAgIGNvbnN0IHRhZyA9IGRlckRlY29kZVRhZyhidWZmZXIsIGZhaWwpO1xuICAgIGlmIChidWZmZXIuaXNFcnJvcih0YWcpKVxuICAgICAgcmV0dXJuIHRhZztcbiAgICBjb25zdCBsZW4gPSBkZXJEZWNvZGVMZW4oYnVmZmVyLCB0YWcucHJpbWl0aXZlLCBmYWlsKTtcbiAgICBpZiAoYnVmZmVyLmlzRXJyb3IobGVuKSlcbiAgICAgIHJldHVybiBsZW47XG5cbiAgICBsZXQgcmVzO1xuICAgIGlmICh0YWcucHJpbWl0aXZlIHx8IGxlbiAhPT0gbnVsbClcbiAgICAgIHJlcyA9IGJ1ZmZlci5za2lwKGxlbik7XG4gICAgZWxzZVxuICAgICAgcmVzID0gdGhpcy5fc2tpcFVudGlsRW5kKGJ1ZmZlciwgZmFpbCk7XG5cbiAgICAvLyBGYWlsdXJlXG4gICAgaWYgKGJ1ZmZlci5pc0Vycm9yKHJlcykpXG4gICAgICByZXR1cm4gcmVzO1xuXG4gICAgaWYgKHRhZy50YWdTdHIgPT09ICdlbmQnKVxuICAgICAgYnJlYWs7XG4gIH1cbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVMaXN0ID0gZnVuY3Rpb24gZGVjb2RlTGlzdChidWZmZXIsIHRhZywgZGVjb2RlcixcbiAgb3B0aW9ucykge1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgd2hpbGUgKCFidWZmZXIuaXNFbXB0eSgpKSB7XG4gICAgY29uc3QgcG9zc2libGVFbmQgPSB0aGlzLl9wZWVrVGFnKGJ1ZmZlciwgJ2VuZCcpO1xuICAgIGlmIChidWZmZXIuaXNFcnJvcihwb3NzaWJsZUVuZCkpXG4gICAgICByZXR1cm4gcG9zc2libGVFbmQ7XG5cbiAgICBjb25zdCByZXMgPSBkZWNvZGVyLmRlY29kZShidWZmZXIsICdkZXInLCBvcHRpb25zKTtcbiAgICBpZiAoYnVmZmVyLmlzRXJyb3IocmVzKSAmJiBwb3NzaWJsZUVuZClcbiAgICAgIGJyZWFrO1xuICAgIHJlc3VsdC5wdXNoKHJlcyk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVTdHIgPSBmdW5jdGlvbiBkZWNvZGVTdHIoYnVmZmVyLCB0YWcpIHtcbiAgaWYgKHRhZyA9PT0gJ2JpdHN0cicpIHtcbiAgICBjb25zdCB1bnVzZWQgPSBidWZmZXIucmVhZFVJbnQ4KCk7XG4gICAgaWYgKGJ1ZmZlci5pc0Vycm9yKHVudXNlZCkpXG4gICAgICByZXR1cm4gdW51c2VkO1xuICAgIHJldHVybiB7IHVudXNlZDogdW51c2VkLCBkYXRhOiBidWZmZXIucmF3KCkgfTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdibXBzdHInKSB7XG4gICAgY29uc3QgcmF3ID0gYnVmZmVyLnJhdygpO1xuICAgIGlmIChyYXcubGVuZ3RoICUgMiA9PT0gMSlcbiAgICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBibXBzdHIgbGVuZ3RoIG1pc21hdGNoJyk7XG5cbiAgICBsZXQgc3RyID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXcubGVuZ3RoIC8gMjsgaSsrKSB7XG4gICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShyYXcucmVhZFVJbnQxNkJFKGkgKiAyKSk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnbnVtc3RyJykge1xuICAgIGNvbnN0IG51bXN0ciA9IGJ1ZmZlci5yYXcoKS50b1N0cmluZygnYXNjaWknKTtcbiAgICBpZiAoIXRoaXMuX2lzTnVtc3RyKG51bXN0cikpIHtcbiAgICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nIG9mIHN0cmluZyB0eXBlOiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ251bXN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzJyk7XG4gICAgfVxuICAgIHJldHVybiBudW1zdHI7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnb2N0c3RyJykge1xuICAgIHJldHVybiBidWZmZXIucmF3KCk7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnb2JqRGVzYycpIHtcbiAgICByZXR1cm4gYnVmZmVyLnJhdygpO1xuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3ByaW50c3RyJykge1xuICAgIGNvbnN0IHByaW50c3RyID0gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCdhc2NpaScpO1xuICAgIGlmICghdGhpcy5faXNQcmludHN0cihwcmludHN0cikpIHtcbiAgICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nIG9mIHN0cmluZyB0eXBlOiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW50c3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHByaW50c3RyO1xuICB9IGVsc2UgaWYgKC9zdHIkLy50ZXN0KHRhZykpIHtcbiAgICByZXR1cm4gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGJ1ZmZlci5lcnJvcignRGVjb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICcgKyB0YWcgKyAnIHVuc3VwcG9ydGVkJyk7XG4gIH1cbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVPYmppZCA9IGZ1bmN0aW9uIGRlY29kZU9iamlkKGJ1ZmZlciwgdmFsdWVzLCByZWxhdGl2ZSkge1xuICBsZXQgcmVzdWx0O1xuICBjb25zdCBpZGVudGlmaWVycyA9IFtdO1xuICBsZXQgaWRlbnQgPSAwO1xuICBsZXQgc3ViaWRlbnQgPSAwO1xuICB3aGlsZSAoIWJ1ZmZlci5pc0VtcHR5KCkpIHtcbiAgICBzdWJpZGVudCA9IGJ1ZmZlci5yZWFkVUludDgoKTtcbiAgICBpZGVudCA8PD0gNztcbiAgICBpZGVudCB8PSBzdWJpZGVudCAmIDB4N2Y7XG4gICAgaWYgKChzdWJpZGVudCAmIDB4ODApID09PSAwKSB7XG4gICAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50KTtcbiAgICAgIGlkZW50ID0gMDtcbiAgICB9XG4gIH1cbiAgaWYgKHN1YmlkZW50ICYgMHg4MClcbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50KTtcblxuICBjb25zdCBmaXJzdCA9IChpZGVudGlmaWVyc1swXSAvIDQwKSB8IDA7XG4gIGNvbnN0IHNlY29uZCA9IGlkZW50aWZpZXJzWzBdICUgNDA7XG5cbiAgaWYgKHJlbGF0aXZlKVxuICAgIHJlc3VsdCA9IGlkZW50aWZpZXJzO1xuICBlbHNlXG4gICAgcmVzdWx0ID0gW2ZpcnN0LCBzZWNvbmRdLmNvbmNhdChpZGVudGlmaWVycy5zbGljZSgxKSk7XG5cbiAgaWYgKHZhbHVlcykge1xuICAgIGxldCB0bXAgPSB2YWx1ZXNbcmVzdWx0LmpvaW4oJyAnKV07XG4gICAgaWYgKHRtcCA9PT0gdW5kZWZpbmVkKVxuICAgICAgdG1wID0gdmFsdWVzW3Jlc3VsdC5qb2luKCcuJyldO1xuICAgIGlmICh0bXAgIT09IHVuZGVmaW5lZClcbiAgICAgIHJlc3VsdCA9IHRtcDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlVGltZSA9IGZ1bmN0aW9uIGRlY29kZVRpbWUoYnVmZmVyLCB0YWcpIHtcbiAgY29uc3Qgc3RyID0gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCk7XG5cbiAgbGV0IHllYXI7XG4gIGxldCBtb247XG4gIGxldCBkYXk7XG4gIGxldCBob3VyO1xuICBsZXQgbWluO1xuICBsZXQgc2VjO1xuICBpZiAodGFnID09PSAnZ2VudGltZScpIHtcbiAgICB5ZWFyID0gc3RyLnNsaWNlKDAsIDQpIHwgMDtcbiAgICBtb24gPSBzdHIuc2xpY2UoNCwgNikgfCAwO1xuICAgIGRheSA9IHN0ci5zbGljZSg2LCA4KSB8IDA7XG4gICAgaG91ciA9IHN0ci5zbGljZSg4LCAxMCkgfCAwO1xuICAgIG1pbiA9IHN0ci5zbGljZSgxMCwgMTIpIHwgMDtcbiAgICBzZWMgPSBzdHIuc2xpY2UoMTIsIDE0KSB8IDA7XG4gIH0gZWxzZSBpZiAodGFnID09PSAndXRjdGltZScpIHtcbiAgICB5ZWFyID0gc3RyLnNsaWNlKDAsIDIpIHwgMDtcbiAgICBtb24gPSBzdHIuc2xpY2UoMiwgNCkgfCAwO1xuICAgIGRheSA9IHN0ci5zbGljZSg0LCA2KSB8IDA7XG4gICAgaG91ciA9IHN0ci5zbGljZSg2LCA4KSB8IDA7XG4gICAgbWluID0gc3RyLnNsaWNlKDgsIDEwKSB8IDA7XG4gICAgc2VjID0gc3RyLnNsaWNlKDEwLCAxMikgfCAwO1xuICAgIGlmICh5ZWFyIDwgNzApXG4gICAgICB5ZWFyID0gMjAwMCArIHllYXI7XG4gICAgZWxzZVxuICAgICAgeWVhciA9IDE5MDAgKyB5ZWFyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nICcgKyB0YWcgKyAnIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQnKTtcbiAgfVxuXG4gIHJldHVybiBEYXRlLlVUQyh5ZWFyLCBtb24gLSAxLCBkYXksIGhvdXIsIG1pbiwgc2VjLCAwKTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVOdWxsID0gZnVuY3Rpb24gZGVjb2RlTnVsbCgpIHtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlQm9vbCA9IGZ1bmN0aW9uIGRlY29kZUJvb2woYnVmZmVyKSB7XG4gIGNvbnN0IHJlcyA9IGJ1ZmZlci5yZWFkVUludDgoKTtcbiAgaWYgKGJ1ZmZlci5pc0Vycm9yKHJlcykpXG4gICAgcmV0dXJuIHJlcztcbiAgZWxzZVxuICAgIHJldHVybiByZXMgIT09IDA7XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlSW50ID0gZnVuY3Rpb24gZGVjb2RlSW50KGJ1ZmZlciwgdmFsdWVzKSB7XG4gIC8vIEJpZ2ludCwgcmV0dXJuIGFzIGl0IGlzIChhc3N1bWUgYmlnIGVuZGlhbilcbiAgY29uc3QgcmF3ID0gYnVmZmVyLnJhdygpO1xuICBsZXQgcmVzID0gbmV3IGJpZ251bShyYXcpO1xuXG4gIGlmICh2YWx1ZXMpXG4gICAgcmVzID0gdmFsdWVzW3Jlcy50b1N0cmluZygxMCldIHx8IHJlcztcblxuICByZXR1cm4gcmVzO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3VzZSA9IGZ1bmN0aW9uIHVzZShlbnRpdHksIG9iaikge1xuICBpZiAodHlwZW9mIGVudGl0eSA9PT0gJ2Z1bmN0aW9uJylcbiAgICBlbnRpdHkgPSBlbnRpdHkob2JqKTtcbiAgcmV0dXJuIGVudGl0eS5fZ2V0RGVjb2RlcignZGVyJykudHJlZTtcbn07XG5cbi8vIFV0aWxpdHkgbWV0aG9kc1xuXG5mdW5jdGlvbiBkZXJEZWNvZGVUYWcoYnVmLCBmYWlsKSB7XG4gIGxldCB0YWcgPSBidWYucmVhZFVJbnQ4KGZhaWwpO1xuICBpZiAoYnVmLmlzRXJyb3IodGFnKSlcbiAgICByZXR1cm4gdGFnO1xuXG4gIGNvbnN0IGNscyA9IGRlci50YWdDbGFzc1t0YWcgPj4gNl07XG4gIGNvbnN0IHByaW1pdGl2ZSA9ICh0YWcgJiAweDIwKSA9PT0gMDtcblxuICAvLyBNdWx0aS1vY3RldCB0YWcgLSBsb2FkXG4gIGlmICgodGFnICYgMHgxZikgPT09IDB4MWYpIHtcbiAgICBsZXQgb2N0ID0gdGFnO1xuICAgIHRhZyA9IDA7XG4gICAgd2hpbGUgKChvY3QgJiAweDgwKSA9PT0gMHg4MCkge1xuICAgICAgb2N0ID0gYnVmLnJlYWRVSW50OChmYWlsKTtcbiAgICAgIGlmIChidWYuaXNFcnJvcihvY3QpKVxuICAgICAgICByZXR1cm4gb2N0O1xuXG4gICAgICB0YWcgPDw9IDc7XG4gICAgICB0YWcgfD0gb2N0ICYgMHg3ZjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGFnICY9IDB4MWY7XG4gIH1cbiAgY29uc3QgdGFnU3RyID0gZGVyLnRhZ1t0YWddO1xuXG4gIHJldHVybiB7XG4gICAgY2xzOiBjbHMsXG4gICAgcHJpbWl0aXZlOiBwcmltaXRpdmUsXG4gICAgdGFnOiB0YWcsXG4gICAgdGFnU3RyOiB0YWdTdHJcbiAgfTtcbn1cblxuZnVuY3Rpb24gZGVyRGVjb2RlTGVuKGJ1ZiwgcHJpbWl0aXZlLCBmYWlsKSB7XG4gIGxldCBsZW4gPSBidWYucmVhZFVJbnQ4KGZhaWwpO1xuICBpZiAoYnVmLmlzRXJyb3IobGVuKSlcbiAgICByZXR1cm4gbGVuO1xuXG4gIC8vIEluZGVmaW5pdGUgZm9ybVxuICBpZiAoIXByaW1pdGl2ZSAmJiBsZW4gPT09IDB4ODApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgLy8gRGVmaW5pdGUgZm9ybVxuICBpZiAoKGxlbiAmIDB4ODApID09PSAwKSB7XG4gICAgLy8gU2hvcnQgZm9ybVxuICAgIHJldHVybiBsZW47XG4gIH1cblxuICAvLyBMb25nIGZvcm1cbiAgY29uc3QgbnVtID0gbGVuICYgMHg3ZjtcbiAgaWYgKG51bSA+IDQpXG4gICAgcmV0dXJuIGJ1Zi5lcnJvcignbGVuZ3RoIG9jdGVjdCBpcyB0b28gbG9uZycpO1xuXG4gIGxlbiA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtOyBpKyspIHtcbiAgICBsZW4gPDw9IDg7XG4gICAgY29uc3QgaiA9IGJ1Zi5yZWFkVUludDgoZmFpbCk7XG4gICAgaWYgKGJ1Zi5pc0Vycm9yKGopKVxuICAgICAgcmV0dXJuIGo7XG4gICAgbGVuIHw9IGo7XG4gIH1cblxuICByZXR1cm4gbGVuO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBkZWNvZGVycyA9IGV4cG9ydHM7XG5cbmRlY29kZXJzLmRlciA9IHJlcXVpcmUoJy4vZGVyJyk7XG5kZWNvZGVycy5wZW0gPSByZXF1aXJlKCcuL3BlbScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5jb25zdCBCdWZmZXIgPSByZXF1aXJlKCdzYWZlci1idWZmZXInKS5CdWZmZXI7XG5cbmNvbnN0IERFUkRlY29kZXIgPSByZXF1aXJlKCcuL2RlcicpO1xuXG5mdW5jdGlvbiBQRU1EZWNvZGVyKGVudGl0eSkge1xuICBERVJEZWNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcbiAgdGhpcy5lbmMgPSAncGVtJztcbn1cbmluaGVyaXRzKFBFTURlY29kZXIsIERFUkRlY29kZXIpO1xubW9kdWxlLmV4cG9ydHMgPSBQRU1EZWNvZGVyO1xuXG5QRU1EZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoZGF0YSwgb3B0aW9ucykge1xuICBjb25zdCBsaW5lcyA9IGRhdGEudG9TdHJpbmcoKS5zcGxpdCgvW1xcclxcbl0rL2cpO1xuXG4gIGNvbnN0IGxhYmVsID0gb3B0aW9ucy5sYWJlbC50b1VwcGVyQ2FzZSgpO1xuXG4gIGNvbnN0IHJlID0gL14tLS0tLShCRUdJTnxFTkQpIChbXi1dKyktLS0tLSQvO1xuICBsZXQgc3RhcnQgPSAtMTtcbiAgbGV0IGVuZCA9IC0xO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBsaW5lc1tpXS5tYXRjaChyZSk7XG4gICAgaWYgKG1hdGNoID09PSBudWxsKVxuICAgICAgY29udGludWU7XG5cbiAgICBpZiAobWF0Y2hbMl0gIT09IGxhYmVsKVxuICAgICAgY29udGludWU7XG5cbiAgICBpZiAoc3RhcnQgPT09IC0xKSB7XG4gICAgICBpZiAobWF0Y2hbMV0gIT09ICdCRUdJTicpXG4gICAgICAgIGJyZWFrO1xuICAgICAgc3RhcnQgPSBpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobWF0Y2hbMV0gIT09ICdFTkQnKVxuICAgICAgICBicmVhaztcbiAgICAgIGVuZCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKVxuICAgIHRocm93IG5ldyBFcnJvcignUEVNIHNlY3Rpb24gbm90IGZvdW5kIGZvcjogJyArIGxhYmVsKTtcblxuICBjb25zdCBiYXNlNjQgPSBsaW5lcy5zbGljZShzdGFydCArIDEsIGVuZCkuam9pbignJyk7XG4gIC8vIFJlbW92ZSBleGNlc3NpdmUgc3ltYm9sc1xuICBiYXNlNjQucmVwbGFjZSgvW15hLXowLTkrLz1dKy9naSwgJycpO1xuXG4gIGNvbnN0IGlucHV0ID0gQnVmZmVyLmZyb20oYmFzZTY0LCAnYmFzZTY0Jyk7XG4gIHJldHVybiBERVJEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUuY2FsbCh0aGlzLCBpbnB1dCwgb3B0aW9ucyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5jb25zdCBCdWZmZXIgPSByZXF1aXJlKCdzYWZlci1idWZmZXInKS5CdWZmZXI7XG5jb25zdCBOb2RlID0gcmVxdWlyZSgnLi4vYmFzZS9ub2RlJyk7XG5cbi8vIEltcG9ydCBERVIgY29uc3RhbnRzXG5jb25zdCBkZXIgPSByZXF1aXJlKCcuLi9jb25zdGFudHMvZGVyJyk7XG5cbmZ1bmN0aW9uIERFUkVuY29kZXIoZW50aXR5KSB7XG4gIHRoaXMuZW5jID0gJ2Rlcic7XG4gIHRoaXMubmFtZSA9IGVudGl0eS5uYW1lO1xuICB0aGlzLmVudGl0eSA9IGVudGl0eTtcblxuICAvLyBDb25zdHJ1Y3QgYmFzZSB0cmVlXG4gIHRoaXMudHJlZSA9IG5ldyBERVJOb2RlKCk7XG4gIHRoaXMudHJlZS5faW5pdChlbnRpdHkuYm9keSk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IERFUkVuY29kZXI7XG5cbkRFUkVuY29kZXIucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlcikge1xuICByZXR1cm4gdGhpcy50cmVlLl9lbmNvZGUoZGF0YSwgcmVwb3J0ZXIpLmpvaW4oKTtcbn07XG5cbi8vIFRyZWUgbWV0aG9kc1xuXG5mdW5jdGlvbiBERVJOb2RlKHBhcmVudCkge1xuICBOb2RlLmNhbGwodGhpcywgJ2RlcicsIHBhcmVudCk7XG59XG5pbmhlcml0cyhERVJOb2RlLCBOb2RlKTtcblxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUNvbXBvc2l0ZSA9IGZ1bmN0aW9uIGVuY29kZUNvbXBvc2l0ZSh0YWcsXG4gIHByaW1pdGl2ZSxcbiAgY2xzLFxuICBjb250ZW50KSB7XG4gIGNvbnN0IGVuY29kZWRUYWcgPSBlbmNvZGVUYWcodGFnLCBwcmltaXRpdmUsIGNscywgdGhpcy5yZXBvcnRlcik7XG5cbiAgLy8gU2hvcnQgZm9ybVxuICBpZiAoY29udGVudC5sZW5ndGggPCAweDgwKSB7XG4gICAgY29uc3QgaGVhZGVyID0gQnVmZmVyLmFsbG9jKDIpO1xuICAgIGhlYWRlclswXSA9IGVuY29kZWRUYWc7XG4gICAgaGVhZGVyWzFdID0gY29udGVudC5sZW5ndGg7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoWyBoZWFkZXIsIGNvbnRlbnQgXSk7XG4gIH1cblxuICAvLyBMb25nIGZvcm1cbiAgLy8gQ291bnQgb2N0ZXRzIHJlcXVpcmVkIHRvIHN0b3JlIGxlbmd0aFxuICBsZXQgbGVuT2N0ZXRzID0gMTtcbiAgZm9yIChsZXQgaSA9IGNvbnRlbnQubGVuZ3RoOyBpID49IDB4MTAwOyBpID4+PSA4KVxuICAgIGxlbk9jdGV0cysrO1xuXG4gIGNvbnN0IGhlYWRlciA9IEJ1ZmZlci5hbGxvYygxICsgMSArIGxlbk9jdGV0cyk7XG4gIGhlYWRlclswXSA9IGVuY29kZWRUYWc7XG4gIGhlYWRlclsxXSA9IDB4ODAgfCBsZW5PY3RldHM7XG5cbiAgZm9yIChsZXQgaSA9IDEgKyBsZW5PY3RldHMsIGogPSBjb250ZW50Lmxlbmd0aDsgaiA+IDA7IGktLSwgaiA+Pj0gOClcbiAgICBoZWFkZXJbaV0gPSBqICYgMHhmZjtcblxuICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbIGhlYWRlciwgY29udGVudCBdKTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVTdHIgPSBmdW5jdGlvbiBlbmNvZGVTdHIoc3RyLCB0YWcpIHtcbiAgaWYgKHRhZyA9PT0gJ2JpdHN0cicpIHtcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbIHN0ci51bnVzZWQgfCAwLCBzdHIuZGF0YSBdKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdibXBzdHInKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKHN0ci5sZW5ndGggKiAyKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgYnVmLndyaXRlVUludDE2QkUoc3RyLmNoYXJDb2RlQXQoaSksIGkgKiAyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoYnVmKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdudW1zdHInKSB7XG4gICAgaWYgKCF0aGlzLl9pc051bXN0cihzdHIpKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6IG51bXN0ciBzdXBwb3J0cyAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvbmx5IGRpZ2l0cyBhbmQgc3BhY2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoc3RyKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdwcmludHN0cicpIHtcbiAgICBpZiAoIXRoaXMuX2lzUHJpbnRzdHIoc3RyKSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ0VuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciBzdXBwb3J0cyAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvbmx5IGxhdGluIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMsICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RpZ2l0cywgc3BhY2UsIGFwb3N0cm9waGUsIGxlZnQgYW5kIHJpZ3RoICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudGhlc2lzLCBwbHVzIHNpZ24sIGNvbW1hLCBoeXBoZW4sICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RvdCwgc2xhc2gsIGNvbG9uLCBlcXVhbCBzaWduLCAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWVzdGlvbiBtYXJrJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XG4gIH0gZWxzZSBpZiAoL3N0ciQvLnRlc3QodGFnKSkge1xuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnb2JqRGVzYycpIHtcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihzdHIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdFbmNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArIHRhZyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyB1bnN1cHBvcnRlZCcpO1xuICB9XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlT2JqaWQgPSBmdW5jdGlvbiBlbmNvZGVPYmppZChpZCwgdmFsdWVzLCByZWxhdGl2ZSkge1xuICBpZiAodHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xuICAgIGlmICghdmFsdWVzKVxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ3N0cmluZyBvYmppZCBnaXZlbiwgYnV0IG5vIHZhbHVlcyBtYXAgZm91bmQnKTtcbiAgICBpZiAoIXZhbHVlcy5oYXNPd25Qcm9wZXJ0eShpZCkpXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignb2JqaWQgbm90IGZvdW5kIGluIHZhbHVlcyBtYXAnKTtcbiAgICBpZCA9IHZhbHVlc1tpZF0uc3BsaXQoL1tcXHMuXSsvZyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKylcbiAgICAgIGlkW2ldIHw9IDA7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShpZCkpIHtcbiAgICBpZCA9IGlkLnNsaWNlKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKylcbiAgICAgIGlkW2ldIHw9IDA7XG4gIH1cblxuICBpZiAoIUFycmF5LmlzQXJyYXkoaWQpKSB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ29iamlkKCkgc2hvdWxkIGJlIGVpdGhlciBhcnJheSBvciBzdHJpbmcsICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnb3Q6ICcgKyBKU09OLnN0cmluZ2lmeShpZCkpO1xuICB9XG5cbiAgaWYgKCFyZWxhdGl2ZSkge1xuICAgIGlmIChpZFsxXSA+PSA0MClcbiAgICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdTZWNvbmQgb2JqaWQgaWRlbnRpZmllciBPT0InKTtcbiAgICBpZC5zcGxpY2UoMCwgMiwgaWRbMF0gKiA0MCArIGlkWzFdKTtcbiAgfVxuXG4gIC8vIENvdW50IG51bWJlciBvZiBvY3RldHNcbiAgbGV0IHNpemUgPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGlkLmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IGlkZW50ID0gaWRbaV07XG4gICAgZm9yIChzaXplKys7IGlkZW50ID49IDB4ODA7IGlkZW50ID4+PSA3KVxuICAgICAgc2l6ZSsrO1xuICB9XG5cbiAgY29uc3Qgb2JqaWQgPSBCdWZmZXIuYWxsb2Moc2l6ZSk7XG4gIGxldCBvZmZzZXQgPSBvYmppZC5sZW5ndGggLSAxO1xuICBmb3IgKGxldCBpID0gaWQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBsZXQgaWRlbnQgPSBpZFtpXTtcbiAgICBvYmppZFtvZmZzZXQtLV0gPSBpZGVudCAmIDB4N2Y7XG4gICAgd2hpbGUgKChpZGVudCA+Pj0gNykgPiAwKVxuICAgICAgb2JqaWRbb2Zmc2V0LS1dID0gMHg4MCB8IChpZGVudCAmIDB4N2YpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob2JqaWQpO1xufTtcblxuZnVuY3Rpb24gdHdvKG51bSkge1xuICBpZiAobnVtIDwgMTApXG4gICAgcmV0dXJuICcwJyArIG51bTtcbiAgZWxzZVxuICAgIHJldHVybiBudW07XG59XG5cbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVUaW1lID0gZnVuY3Rpb24gZW5jb2RlVGltZSh0aW1lLCB0YWcpIHtcbiAgbGV0IHN0cjtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWUpO1xuXG4gIGlmICh0YWcgPT09ICdnZW50aW1lJykge1xuICAgIHN0ciA9IFtcbiAgICAgIHR3byhkYXRlLmdldFVUQ0Z1bGxZZWFyKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDRGF0ZSgpKSxcbiAgICAgIHR3byhkYXRlLmdldFVUQ0hvdXJzKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTWludXRlcygpKSxcbiAgICAgIHR3byhkYXRlLmdldFVUQ1NlY29uZHMoKSksXG4gICAgICAnWidcbiAgICBdLmpvaW4oJycpO1xuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3V0Y3RpbWUnKSB7XG4gICAgc3RyID0gW1xuICAgICAgdHdvKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSAlIDEwMCksXG4gICAgICB0d28oZGF0ZS5nZXRVVENNb250aCgpICsgMSksXG4gICAgICB0d28oZGF0ZS5nZXRVVENEYXRlKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDSG91cnMoKSksXG4gICAgICB0d28oZGF0ZS5nZXRVVENNaW51dGVzKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDU2Vjb25kcygpKSxcbiAgICAgICdaJ1xuICAgIF0uam9pbignJyk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2RpbmcgJyArIHRhZyArICcgdGltZSBpcyBub3Qgc3VwcG9ydGVkIHlldCcpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXMuX2VuY29kZVN0cihzdHIsICdvY3RzdHInKTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVOdWxsID0gZnVuY3Rpb24gZW5jb2RlTnVsbCgpIHtcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoJycpO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUludCA9IGZ1bmN0aW9uIGVuY29kZUludChudW0sIHZhbHVlcykge1xuICBpZiAodHlwZW9mIG51bSA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoIXZhbHVlcylcbiAgICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdTdHJpbmcgaW50IG9yIGVudW0gZ2l2ZW4sIGJ1dCBubyB2YWx1ZXMgbWFwJyk7XG4gICAgaWYgKCF2YWx1ZXMuaGFzT3duUHJvcGVydHkobnVtKSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ1ZhbHVlcyBtYXAgZG9lc25cXCd0IGNvbnRhaW46ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkobnVtKSk7XG4gICAgfVxuICAgIG51bSA9IHZhbHVlc1tudW1dO1xuICB9XG5cbiAgLy8gQmlnbnVtLCBhc3N1bWUgYmlnIGVuZGlhblxuICBpZiAodHlwZW9mIG51bSAhPT0gJ251bWJlcicgJiYgIUJ1ZmZlci5pc0J1ZmZlcihudW0pKSB7XG4gICAgY29uc3QgbnVtQXJyYXkgPSBudW0udG9BcnJheSgpO1xuICAgIGlmICghbnVtLnNpZ24gJiYgbnVtQXJyYXlbMF0gJiAweDgwKSB7XG4gICAgICBudW1BcnJheS51bnNoaWZ0KDApO1xuICAgIH1cbiAgICBudW0gPSBCdWZmZXIuZnJvbShudW1BcnJheSk7XG4gIH1cblxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKG51bSkpIHtcbiAgICBsZXQgc2l6ZSA9IG51bS5sZW5ndGg7XG4gICAgaWYgKG51bS5sZW5ndGggPT09IDApXG4gICAgICBzaXplKys7XG5cbiAgICBjb25zdCBvdXQgPSBCdWZmZXIuYWxsb2Moc2l6ZSk7XG4gICAgbnVtLmNvcHkob3V0KTtcbiAgICBpZiAobnVtLmxlbmd0aCA9PT0gMClcbiAgICAgIG91dFswXSA9IDA7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob3V0KTtcbiAgfVxuXG4gIGlmIChudW0gPCAweDgwKVxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKG51bSk7XG5cbiAgaWYgKG51bSA8IDB4MTAwKVxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFswLCBudW1dKTtcblxuICBsZXQgc2l6ZSA9IDE7XG4gIGZvciAobGV0IGkgPSBudW07IGkgPj0gMHgxMDA7IGkgPj49IDgpXG4gICAgc2l6ZSsrO1xuXG4gIGNvbnN0IG91dCA9IG5ldyBBcnJheShzaXplKTtcbiAgZm9yIChsZXQgaSA9IG91dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIG91dFtpXSA9IG51bSAmIDB4ZmY7XG4gICAgbnVtID4+PSA4O1xuICB9XG4gIGlmKG91dFswXSAmIDB4ODApIHtcbiAgICBvdXQudW5zaGlmdCgwKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKEJ1ZmZlci5mcm9tKG91dCkpO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUJvb2wgPSBmdW5jdGlvbiBlbmNvZGVCb29sKHZhbHVlKSB7XG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHZhbHVlID8gMHhmZiA6IDApO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3VzZSA9IGZ1bmN0aW9uIHVzZShlbnRpdHksIG9iaikge1xuICBpZiAodHlwZW9mIGVudGl0eSA9PT0gJ2Z1bmN0aW9uJylcbiAgICBlbnRpdHkgPSBlbnRpdHkob2JqKTtcbiAgcmV0dXJuIGVudGl0eS5fZ2V0RW5jb2RlcignZGVyJykudHJlZTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9za2lwRGVmYXVsdCA9IGZ1bmN0aW9uIHNraXBEZWZhdWx0KGRhdGFCdWZmZXIsIHJlcG9ydGVyLCBwYXJlbnQpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gIGxldCBpO1xuICBpZiAoc3RhdGVbJ2RlZmF1bHQnXSA9PT0gbnVsbClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgZGF0YSA9IGRhdGFCdWZmZXIuam9pbigpO1xuICBpZiAoc3RhdGUuZGVmYXVsdEJ1ZmZlciA9PT0gdW5kZWZpbmVkKVxuICAgIHN0YXRlLmRlZmF1bHRCdWZmZXIgPSB0aGlzLl9lbmNvZGVWYWx1ZShzdGF0ZVsnZGVmYXVsdCddLCByZXBvcnRlciwgcGFyZW50KS5qb2luKCk7XG5cbiAgaWYgKGRhdGEubGVuZ3RoICE9PSBzdGF0ZS5kZWZhdWx0QnVmZmVyLmxlbmd0aClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgZm9yIChpPTA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKVxuICAgIGlmIChkYXRhW2ldICE9PSBzdGF0ZS5kZWZhdWx0QnVmZmVyW2ldKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gVXRpbGl0eSBtZXRob2RzXG5cbmZ1bmN0aW9uIGVuY29kZVRhZyh0YWcsIHByaW1pdGl2ZSwgY2xzLCByZXBvcnRlcikge1xuICBsZXQgcmVzO1xuXG4gIGlmICh0YWcgPT09ICdzZXFvZicpXG4gICAgdGFnID0gJ3NlcSc7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ3NldG9mJylcbiAgICB0YWcgPSAnc2V0JztcblxuICBpZiAoZGVyLnRhZ0J5TmFtZS5oYXNPd25Qcm9wZXJ0eSh0YWcpKVxuICAgIHJlcyA9IGRlci50YWdCeU5hbWVbdGFnXTtcbiAgZWxzZSBpZiAodHlwZW9mIHRhZyA9PT0gJ251bWJlcicgJiYgKHRhZyB8IDApID09PSB0YWcpXG4gICAgcmVzID0gdGFnO1xuICBlbHNlXG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbmtub3duIHRhZzogJyArIHRhZyk7XG5cbiAgaWYgKHJlcyA+PSAweDFmKVxuICAgIHJldHVybiByZXBvcnRlci5lcnJvcignTXVsdGktb2N0ZXQgdGFnIGVuY29kaW5nIHVuc3VwcG9ydGVkJyk7XG5cbiAgaWYgKCFwcmltaXRpdmUpXG4gICAgcmVzIHw9IDB4MjA7XG5cbiAgcmVzIHw9IChkZXIudGFnQ2xhc3NCeU5hbWVbY2xzIHx8ICd1bml2ZXJzYWwnXSA8PCA2KTtcblxuICByZXR1cm4gcmVzO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBlbmNvZGVycyA9IGV4cG9ydHM7XG5cbmVuY29kZXJzLmRlciA9IHJlcXVpcmUoJy4vZGVyJyk7XG5lbmNvZGVycy5wZW0gPSByZXF1aXJlKCcuL3BlbScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmNvbnN0IERFUkVuY29kZXIgPSByZXF1aXJlKCcuL2RlcicpO1xuXG5mdW5jdGlvbiBQRU1FbmNvZGVyKGVudGl0eSkge1xuICBERVJFbmNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcbiAgdGhpcy5lbmMgPSAncGVtJztcbn1cbmluaGVyaXRzKFBFTUVuY29kZXIsIERFUkVuY29kZXIpO1xubW9kdWxlLmV4cG9ydHMgPSBQRU1FbmNvZGVyO1xuXG5QRU1FbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZGF0YSwgb3B0aW9ucykge1xuICBjb25zdCBidWYgPSBERVJFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUuY2FsbCh0aGlzLCBkYXRhKTtcblxuICBjb25zdCBwID0gYnVmLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgY29uc3Qgb3V0ID0gWyAnLS0tLS1CRUdJTiAnICsgb3B0aW9ucy5sYWJlbCArICctLS0tLScgXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmxlbmd0aDsgaSArPSA2NClcbiAgICBvdXQucHVzaChwLnNsaWNlKGksIGkgKyA2NCkpO1xuICBvdXQucHVzaCgnLS0tLS1FTkQgJyArIG9wdGlvbnMubGFiZWwgKyAnLS0tLS0nKTtcbiAgcmV0dXJuIG91dC5qb2luKCdcXG4nKTtcbn07XG4iLCIndXNlIHN0cmljdCdcblxuZXhwb3J0cy5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxuZXhwb3J0cy50b0J5dGVBcnJheSA9IHRvQnl0ZUFycmF5XG5leHBvcnRzLmZyb21CeXRlQXJyYXkgPSBmcm9tQnl0ZUFycmF5XG5cbnZhciBsb29rdXAgPSBbXVxudmFyIHJldkxvb2t1cCA9IFtdXG52YXIgQXJyID0gdHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnID8gVWludDhBcnJheSA6IEFycmF5XG5cbnZhciBjb2RlID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nXG5mb3IgKHZhciBpID0gMCwgbGVuID0gY29kZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICBsb29rdXBbaV0gPSBjb2RlW2ldXG4gIHJldkxvb2t1cFtjb2RlLmNoYXJDb2RlQXQoaSldID0gaVxufVxuXG4vLyBTdXBwb3J0IGRlY29kaW5nIFVSTC1zYWZlIGJhc2U2NCBzdHJpbmdzLCBhcyBOb2RlLmpzIGRvZXMuXG4vLyBTZWU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jhc2U2NCNVUkxfYXBwbGljYXRpb25zXG5yZXZMb29rdXBbJy0nLmNoYXJDb2RlQXQoMCldID0gNjJcbnJldkxvb2t1cFsnXycuY2hhckNvZGVBdCgwKV0gPSA2M1xuXG5mdW5jdGlvbiBnZXRMZW5zIChiNjQpIHtcbiAgdmFyIGxlbiA9IGI2NC5sZW5ndGhcblxuICBpZiAobGVuICUgNCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc3RyaW5nLiBMZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQnKVxuICB9XG5cbiAgLy8gVHJpbSBvZmYgZXh0cmEgYnl0ZXMgYWZ0ZXIgcGxhY2Vob2xkZXIgYnl0ZXMgYXJlIGZvdW5kXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JlYXRnYW1taXQvYmFzZTY0LWpzL2lzc3Vlcy80MlxuICB2YXIgdmFsaWRMZW4gPSBiNjQuaW5kZXhPZignPScpXG4gIGlmICh2YWxpZExlbiA9PT0gLTEpIHZhbGlkTGVuID0gbGVuXG5cbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IHZhbGlkTGVuID09PSBsZW5cbiAgICA/IDBcbiAgICA6IDQgLSAodmFsaWRMZW4gJSA0KVxuXG4gIHJldHVybiBbdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbl1cbn1cblxuLy8gYmFzZTY0IGlzIDQvMyArIHVwIHRvIHR3byBjaGFyYWN0ZXJzIG9mIHRoZSBvcmlnaW5hbCBkYXRhXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChiNjQpIHtcbiAgdmFyIGxlbnMgPSBnZXRMZW5zKGI2NClcbiAgdmFyIHZhbGlkTGVuID0gbGVuc1swXVxuICB2YXIgcGxhY2VIb2xkZXJzTGVuID0gbGVuc1sxXVxuICByZXR1cm4gKCh2YWxpZExlbiArIHBsYWNlSG9sZGVyc0xlbikgKiAzIC8gNCkgLSBwbGFjZUhvbGRlcnNMZW5cbn1cblxuZnVuY3Rpb24gX2J5dGVMZW5ndGggKGI2NCwgdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbikge1xuICByZXR1cm4gKCh2YWxpZExlbiArIHBsYWNlSG9sZGVyc0xlbikgKiAzIC8gNCkgLSBwbGFjZUhvbGRlcnNMZW5cbn1cblxuZnVuY3Rpb24gdG9CeXRlQXJyYXkgKGI2NCkge1xuICB2YXIgdG1wXG4gIHZhciBsZW5zID0gZ2V0TGVucyhiNjQpXG4gIHZhciB2YWxpZExlbiA9IGxlbnNbMF1cbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IGxlbnNbMV1cblxuICB2YXIgYXJyID0gbmV3IEFycihfYnl0ZUxlbmd0aChiNjQsIHZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW4pKVxuXG4gIHZhciBjdXJCeXRlID0gMFxuXG4gIC8vIGlmIHRoZXJlIGFyZSBwbGFjZWhvbGRlcnMsIG9ubHkgZ2V0IHVwIHRvIHRoZSBsYXN0IGNvbXBsZXRlIDQgY2hhcnNcbiAgdmFyIGxlbiA9IHBsYWNlSG9sZGVyc0xlbiA+IDBcbiAgICA/IHZhbGlkTGVuIC0gNFxuICAgIDogdmFsaWRMZW5cblxuICB2YXIgaVxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDQpIHtcbiAgICB0bXAgPVxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpKV0gPDwgMTgpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCAxMikgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMildIDw8IDYpIHxcbiAgICAgIHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMyldXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDE2KSAmIDB4RkZcbiAgICBhcnJbY3VyQnl0ZSsrXSA9ICh0bXAgPj4gOCkgJiAweEZGXG4gICAgYXJyW2N1ckJ5dGUrK10gPSB0bXAgJiAweEZGXG4gIH1cblxuICBpZiAocGxhY2VIb2xkZXJzTGVuID09PSAyKSB7XG4gICAgdG1wID1cbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDIpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA+PiA0KVxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxuICB9XG5cbiAgaWYgKHBsYWNlSG9sZGVyc0xlbiA9PT0gMSkge1xuICAgIHRtcCA9XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAxMCkgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldIDw8IDQpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDIpXSA+PiAyKVxuICAgIGFycltjdXJCeXRlKytdID0gKHRtcCA+PiA4KSAmIDB4RkZcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcbiAgfVxuXG4gIHJldHVybiBhcnJcbn1cblxuZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0IChudW0pIHtcbiAgcmV0dXJuIGxvb2t1cFtudW0gPj4gMTggJiAweDNGXSArXG4gICAgbG9va3VwW251bSA+PiAxMiAmIDB4M0ZdICtcbiAgICBsb29rdXBbbnVtID4+IDYgJiAweDNGXSArXG4gICAgbG9va3VwW251bSAmIDB4M0ZdXG59XG5cbmZ1bmN0aW9uIGVuY29kZUNodW5rICh1aW50OCwgc3RhcnQsIGVuZCkge1xuICB2YXIgdG1wXG4gIHZhciBvdXRwdXQgPSBbXVxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gMykge1xuICAgIHRtcCA9XG4gICAgICAoKHVpbnQ4W2ldIDw8IDE2KSAmIDB4RkYwMDAwKSArXG4gICAgICAoKHVpbnQ4W2kgKyAxXSA8PCA4KSAmIDB4RkYwMCkgK1xuICAgICAgKHVpbnQ4W2kgKyAyXSAmIDB4RkYpXG4gICAgb3V0cHV0LnB1c2godHJpcGxldFRvQmFzZTY0KHRtcCkpXG4gIH1cbiAgcmV0dXJuIG91dHB1dC5qb2luKCcnKVxufVxuXG5mdW5jdGlvbiBmcm9tQnl0ZUFycmF5ICh1aW50OCkge1xuICB2YXIgdG1wXG4gIHZhciBsZW4gPSB1aW50OC5sZW5ndGhcbiAgdmFyIGV4dHJhQnl0ZXMgPSBsZW4gJSAzIC8vIGlmIHdlIGhhdmUgMSBieXRlIGxlZnQsIHBhZCAyIGJ5dGVzXG4gIHZhciBwYXJ0cyA9IFtdXG4gIHZhciBtYXhDaHVua0xlbmd0aCA9IDE2MzgzIC8vIG11c3QgYmUgbXVsdGlwbGUgb2YgM1xuXG4gIC8vIGdvIHRocm91Z2ggdGhlIGFycmF5IGV2ZXJ5IHRocmVlIGJ5dGVzLCB3ZSdsbCBkZWFsIHdpdGggdHJhaWxpbmcgc3R1ZmYgbGF0ZXJcbiAgZm9yICh2YXIgaSA9IDAsIGxlbjIgPSBsZW4gLSBleHRyYUJ5dGVzOyBpIDwgbGVuMjsgaSArPSBtYXhDaHVua0xlbmd0aCkge1xuICAgIHBhcnRzLnB1c2goZW5jb2RlQ2h1bmsodWludDgsIGksIChpICsgbWF4Q2h1bmtMZW5ndGgpID4gbGVuMiA/IGxlbjIgOiAoaSArIG1heENodW5rTGVuZ3RoKSkpXG4gIH1cblxuICAvLyBwYWQgdGhlIGVuZCB3aXRoIHplcm9zLCBidXQgbWFrZSBzdXJlIHRvIG5vdCBmb3JnZXQgdGhlIGV4dHJhIGJ5dGVzXG4gIGlmIChleHRyYUJ5dGVzID09PSAxKSB7XG4gICAgdG1wID0gdWludDhbbGVuIC0gMV1cbiAgICBwYXJ0cy5wdXNoKFxuICAgICAgbG9va3VwW3RtcCA+PiAyXSArXG4gICAgICBsb29rdXBbKHRtcCA8PCA0KSAmIDB4M0ZdICtcbiAgICAgICc9PSdcbiAgICApXG4gIH0gZWxzZSBpZiAoZXh0cmFCeXRlcyA9PT0gMikge1xuICAgIHRtcCA9ICh1aW50OFtsZW4gLSAyXSA8PCA4KSArIHVpbnQ4W2xlbiAtIDFdXG4gICAgcGFydHMucHVzaChcbiAgICAgIGxvb2t1cFt0bXAgPj4gMTBdICtcbiAgICAgIGxvb2t1cFsodG1wID4+IDQpICYgMHgzRl0gK1xuICAgICAgbG9va3VwWyh0bXAgPDwgMikgJiAweDNGXSArXG4gICAgICAnPSdcbiAgICApXG4gIH1cblxuICByZXR1cm4gcGFydHMuam9pbignJylcbn1cbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNvbnN0YW50cztcbihmdW5jdGlvbiAoY29uc3RhbnRzKSB7XG4gICAgY29uc3RhbnRzLnR5cGVPZkZ1bmN0aW9uID0gJ2Z1bmN0aW9uJztcbiAgICBjb25zdGFudHMuYm9vbFRydWUgPSB0cnVlO1xufSkoY29uc3RhbnRzIHx8IChjb25zdGFudHMgPSB7fSkpO1xuZnVuY3Rpb24gYmluZCh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSB7XG4gICAgaWYgKCFkZXNjcmlwdG9yIHx8ICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gY29uc3RhbnRzLnR5cGVPZkZ1bmN0aW9uKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPFwiICsgcHJvcGVydHlLZXkgKyBcIj4gaXMgbm90IGEgbWV0aG9kIVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGJvdW5kID0gZGVzY3JpcHRvci52YWx1ZS5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogYm91bmQsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IGNvbnN0YW50cy5ib29sVHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYm91bmQ7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZXhwb3J0cy5iaW5kID0gYmluZDtcbmV4cG9ydHMuZGVmYXVsdCA9IGJpbmQ7XG4iLCIoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xuICAndXNlIHN0cmljdCc7XG5cbiAgLy8gVXRpbHNcbiAgZnVuY3Rpb24gYXNzZXJ0ICh2YWwsIG1zZykge1xuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XG4gIH1cblxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxuICBmdW5jdGlvbiBpbmhlcml0cyAoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XG4gICAgVGVtcEN0b3IucHJvdG90eXBlID0gc3VwZXJDdG9yLnByb3RvdHlwZTtcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcbiAgfVxuXG4gIC8vIEJOXG5cbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG5cbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcbiAgICB0aGlzLmxlbmd0aCA9IDA7XG5cbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxuICAgIHRoaXMucmVkID0gbnVsbDtcblxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcbiAgICAgICAgZW5kaWFuID0gYmFzZTtcbiAgICAgICAgYmFzZSA9IDEwO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XG4gICAgfVxuICB9XG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XG4gIH0gZWxzZSB7XG4gICAgZXhwb3J0cy5CTiA9IEJOO1xuICB9XG5cbiAgQk4uQk4gPSBCTjtcbiAgQk4ud29yZFNpemUgPSAyNjtcblxuICB2YXIgQnVmZmVyO1xuICB0cnkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LkJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIEJ1ZmZlciA9IHdpbmRvdy5CdWZmZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIEJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpLkJ1ZmZlcjtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxuXG4gIEJOLmlzQk4gPSBmdW5jdGlvbiBpc0JOIChudW0pIHtcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIG51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZSA9PT0gQk4ud29yZFNpemUgJiYgQXJyYXkuaXNBcnJheShudW0ud29yZHMpO1xuICB9O1xuXG4gIEJOLm1heCA9IGZ1bmN0aW9uIG1heCAobGVmdCwgcmlnaHQpIHtcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XG4gICAgcmV0dXJuIHJpZ2h0O1xuICB9O1xuXG4gIEJOLm1pbiA9IGZ1bmN0aW9uIG1pbiAobGVmdCwgcmlnaHQpIHtcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpIDwgMCkgcmV0dXJuIGxlZnQ7XG4gICAgcmV0dXJuIHJpZ2h0O1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5pdE51bWJlcihudW1iZXIsIGJhc2UsIGVuZGlhbik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcbiAgICB9XG5cbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcbiAgICAgIGJhc2UgPSAxNjtcbiAgICB9XG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xuXG4gICAgbnVtYmVyID0gbnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxzKy9nLCAnJyk7XG4gICAgdmFyIHN0YXJ0ID0gMDtcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcbiAgICAgIHN0YXJ0Kys7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICB9XG5cbiAgICBpZiAoc3RhcnQgPCBudW1iZXIubGVuZ3RoKSB7XG4gICAgICBpZiAoYmFzZSA9PT0gMTYpIHtcbiAgICAgICAgdGhpcy5fcGFyc2VIZXgobnVtYmVyLCBzdGFydCwgZW5kaWFuKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcbiAgICAgICAgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xuICAgICAgICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2luaXROdW1iZXIgPSBmdW5jdGlvbiBfaW5pdE51bWJlciAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcbiAgICBpZiAobnVtYmVyIDwgMCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMHg0MDAwMDAwKSB7XG4gICAgICB0aGlzLndvcmRzID0gW251bWJlciAmIDB4M2ZmZmZmZl07XG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XG4gICAgICB0aGlzLndvcmRzID0gW1xuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXG4gICAgICBdO1xuICAgICAgdGhpcy5sZW5ndGggPSAyO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQobnVtYmVyIDwgMHgyMDAwMDAwMDAwMDAwMCk7IC8vIDIgXiA1MyAodW5zYWZlKVxuICAgICAgdGhpcy53b3JkcyA9IFtcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZixcbiAgICAgICAgMVxuICAgICAgXTtcbiAgICAgIHRoaXMubGVuZ3RoID0gMztcbiAgICB9XG5cbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XG5cbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2luaXRBcnJheSA9IGZ1bmN0aW9uIF9pbml0QXJyYXkgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcbiAgICBpZiAobnVtYmVyLmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLndvcmRzID0gWzBdO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XG4gICAgfVxuXG4gICAgdmFyIGosIHc7XG4gICAgdmFyIG9mZiA9IDA7XG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpIC0gMV0gPDwgOCkgfCAobnVtYmVyW2kgLSAyXSA8PCAxNik7XG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XG4gICAgICAgIG9mZiArPSAyNDtcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xuICAgICAgICAgIG9mZiAtPSAyNjtcbiAgICAgICAgICBqKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xuICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBudW1iZXIubGVuZ3RoOyBpICs9IDMpIHtcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xuICAgICAgICBvZmYgKz0gMjQ7XG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcbiAgICAgICAgICBvZmYgLT0gMjY7XG4gICAgICAgICAgaisrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHBhcnNlSGV4NEJpdHMgKHN0cmluZywgaW5kZXgpIHtcbiAgICB2YXIgYyA9IHN0cmluZy5jaGFyQ29kZUF0KGluZGV4KTtcbiAgICAvLyAnMCcgLSAnOSdcbiAgICBpZiAoYyA+PSA0OCAmJiBjIDw9IDU3KSB7XG4gICAgICByZXR1cm4gYyAtIDQ4O1xuICAgIC8vICdBJyAtICdGJ1xuICAgIH0gZWxzZSBpZiAoYyA+PSA2NSAmJiBjIDw9IDcwKSB7XG4gICAgICByZXR1cm4gYyAtIDU1O1xuICAgIC8vICdhJyAtICdmJ1xuICAgIH0gZWxzZSBpZiAoYyA+PSA5NyAmJiBjIDw9IDEwMikge1xuICAgICAgcmV0dXJuIGMgLSA4NztcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0KGZhbHNlLCAnSW52YWxpZCBjaGFyYWN0ZXIgaW4gJyArIHN0cmluZyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VIZXhCeXRlIChzdHJpbmcsIGxvd2VyQm91bmQsIGluZGV4KSB7XG4gICAgdmFyIHIgPSBwYXJzZUhleDRCaXRzKHN0cmluZywgaW5kZXgpO1xuICAgIGlmIChpbmRleCAtIDEgPj0gbG93ZXJCb3VuZCkge1xuICAgICAgciB8PSBwYXJzZUhleDRCaXRzKHN0cmluZywgaW5kZXggLSAxKSA8PCA0O1xuICAgIH1cbiAgICByZXR1cm4gcjtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VIZXggPSBmdW5jdGlvbiBfcGFyc2VIZXggKG51bWJlciwgc3RhcnQsIGVuZGlhbikge1xuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwoKG51bWJlci5sZW5ndGggLSBzdGFydCkgLyA2KTtcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xuICAgIH1cblxuICAgIC8vIDI0LWJpdHMgY2h1bmtzXG4gICAgdmFyIG9mZiA9IDA7XG4gICAgdmFyIGogPSAwO1xuXG4gICAgdmFyIHc7XG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDE7IGkgPj0gc3RhcnQ7IGkgLT0gMikge1xuICAgICAgICB3ID0gcGFyc2VIZXhCeXRlKG51bWJlciwgc3RhcnQsIGkpIDw8IG9mZjtcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSB3ICYgMHgzZmZmZmZmO1xuICAgICAgICBpZiAob2ZmID49IDE4KSB7XG4gICAgICAgICAgb2ZmIC09IDE4O1xuICAgICAgICAgIGogKz0gMTtcbiAgICAgICAgICB0aGlzLndvcmRzW2pdIHw9IHcgPj4+IDI2O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9mZiArPSA4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBwYXJzZUxlbmd0aCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcbiAgICAgIGZvciAoaSA9IHBhcnNlTGVuZ3RoICUgMiA9PT0gMCA/IHN0YXJ0ICsgMSA6IHN0YXJ0OyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHcgPSBwYXJzZUhleEJ5dGUobnVtYmVyLCBzdGFydCwgaSkgPDwgb2ZmO1xuICAgICAgICB0aGlzLndvcmRzW2pdIHw9IHcgJiAweDNmZmZmZmY7XG4gICAgICAgIGlmIChvZmYgPj0gMTgpIHtcbiAgICAgICAgICBvZmYgLT0gMTg7XG4gICAgICAgICAgaiArPSAxO1xuICAgICAgICAgIHRoaXMud29yZHNbal0gfD0gdyA+Pj4gMjY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2ZmICs9IDg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHBhcnNlQmFzZSAoc3RyLCBzdGFydCwgZW5kLCBtdWwpIHtcbiAgICB2YXIgciA9IDA7XG4gICAgdmFyIGIgPSAwO1xuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XG5cbiAgICAgIHIgKj0gbXVsO1xuXG4gICAgICAvLyAnYSdcbiAgICAgIGlmIChjID49IDQ5KSB7XG4gICAgICAgIGIgPSBjIC0gNDkgKyAweGE7XG5cbiAgICAgIC8vICdBJ1xuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XG4gICAgICAgIGIgPSBjIC0gMTcgKyAweGE7XG5cbiAgICAgIC8vICcwJyAtICc5J1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYiA9IGM7XG4gICAgICB9XG4gICAgICBhc3NlcnQoYyA+PSAwICYmIGIgPCBtdWwsICdJbnZhbGlkIGNoYXJhY3RlcicpO1xuICAgICAgciArPSBiO1xuICAgIH1cbiAgICByZXR1cm4gcjtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xuICAgIC8vIEluaXRpYWxpemUgYXMgemVyb1xuICAgIHRoaXMud29yZHMgPSBbMF07XG4gICAgdGhpcy5sZW5ndGggPSAxO1xuXG4gICAgLy8gRmluZCBsZW5ndGggb2YgbGltYiBpbiBiYXNlXG4gICAgZm9yICh2YXIgbGltYkxlbiA9IDAsIGxpbWJQb3cgPSAxOyBsaW1iUG93IDw9IDB4M2ZmZmZmZjsgbGltYlBvdyAqPSBiYXNlKSB7XG4gICAgICBsaW1iTGVuKys7XG4gICAgfVxuICAgIGxpbWJMZW4tLTtcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XG5cbiAgICB2YXIgdG90YWwgPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcbiAgICB2YXIgZW5kID0gTWF0aC5taW4odG90YWwsIHRvdGFsIC0gbW9kKSArIHN0YXJ0O1xuXG4gICAgdmFyIHdvcmQgPSAwO1xuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSBsaW1iTGVuKSB7XG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgaSArIGxpbWJMZW4sIGJhc2UpO1xuXG4gICAgICB0aGlzLmltdWxuKGxpbWJQb3cpO1xuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb2QgIT09IDApIHtcbiAgICAgIHZhciBwb3cgPSAxO1xuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIG51bWJlci5sZW5ndGgsIGJhc2UpO1xuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgbW9kOyBpKyspIHtcbiAgICAgICAgcG93ICo9IGJhc2U7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW11bG4ocG93KTtcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAoZGVzdCkge1xuICAgIGRlc3Qud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgZGVzdC53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XG4gICAgfVxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgZGVzdC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgZGVzdC5yZWQgPSB0aGlzLnJlZDtcbiAgfTtcblxuICBmdW5jdGlvbiBtb3ZlIChkZXN0LCBzcmMpIHtcbiAgICBkZXN0LndvcmRzID0gc3JjLndvcmRzO1xuICAgIGRlc3QubGVuZ3RoID0gc3JjLmxlbmd0aDtcbiAgICBkZXN0Lm5lZ2F0aXZlID0gc3JjLm5lZ2F0aXZlO1xuICAgIGRlc3QucmVkID0gc3JjLnJlZDtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5fbW92ZSA9IGZ1bmN0aW9uIF9tb3ZlIChkZXN0KSB7XG4gICAgbW92ZShkZXN0LCB0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSAoKSB7XG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XG4gICAgdGhpcy5jb3B5KHIpO1xuICAgIHJldHVybiByO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5fZXhwYW5kID0gZnVuY3Rpb24gX2V4cGFuZCAoc2l6ZSkge1xuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLl9zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPiAxICYmIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSA9PT0gMCkge1xuICAgICAgdGhpcy5sZW5ndGgtLTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl9ub3JtU2lnbiA9IGZ1bmN0aW9uIF9ub3JtU2lnbiAoKSB7XG4gICAgLy8gLTAgPSAwXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBDaGVjayBTeW1ib2wuZm9yIGJlY2F1c2Ugbm90IGV2ZXJ5d2hlcmUgd2hlcmUgU3ltYm9sIGRlZmluZWRcbiAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N5bWJvbCNCcm93c2VyX2NvbXBhdGliaWxpdHlcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBTeW1ib2wuZm9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIEJOLnByb3RvdHlwZVtTeW1ib2wuZm9yKCdub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbScpXSA9IGluc3BlY3Q7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBpbnNwZWN0O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGluc3BlY3Q7XG4gIH1cblxuICBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcbiAgfVxuXG4gIC8qXG5cbiAgdmFyIHplcm9zID0gW107XG4gIHZhciBncm91cFNpemVzID0gW107XG4gIHZhciBncm91cEJhc2VzID0gW107XG5cbiAgdmFyIHMgPSAnJztcbiAgdmFyIGkgPSAtMTtcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XG4gICAgemVyb3NbaV0gPSBzO1xuICAgIHMgKz0gJzAnO1xuICB9XG4gIGdyb3VwU2l6ZXNbMF0gPSAwO1xuICBncm91cFNpemVzWzFdID0gMDtcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XG4gIGdyb3VwQmFzZXNbMV0gPSAwO1xuICB2YXIgYmFzZSA9IDIgLSAxO1xuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XG4gICAgdmFyIGdyb3VwU2l6ZSA9IDA7XG4gICAgdmFyIGdyb3VwQmFzZSA9IDE7XG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcbiAgICAgIGdyb3VwQmFzZSAqPSBiYXNlO1xuICAgICAgZ3JvdXBTaXplICs9IDE7XG4gICAgfVxuICAgIGdyb3VwU2l6ZXNbYmFzZV0gPSBncm91cFNpemU7XG4gICAgZ3JvdXBCYXNlc1tiYXNlXSA9IGdyb3VwQmFzZTtcbiAgfVxuXG4gICovXG5cbiAgdmFyIHplcm9zID0gW1xuICAgICcnLFxuICAgICcwJyxcbiAgICAnMDAnLFxuICAgICcwMDAnLFxuICAgICcwMDAwJyxcbiAgICAnMDAwMDAnLFxuICAgICcwMDAwMDAnLFxuICAgICcwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xuICBdO1xuXG4gIHZhciBncm91cFNpemVzID0gW1xuICAgIDAsIDAsXG4gICAgMjUsIDE2LCAxMiwgMTEsIDEwLCA5LCA4LFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXG4gICAgNiwgNiwgNiwgNiwgNiwgNSwgNSxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcbiAgXTtcblxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcbiAgICAwLCAwLFxuICAgIDMzNTU0NDMyLCA0MzA0NjcyMSwgMTY3NzcyMTYsIDQ4ODI4MTI1LCA2MDQ2NjE3NiwgNDAzNTM2MDcsIDE2Nzc3MjE2LFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXG4gICAgMTY3NzcyMTYsIDI0MTM3NTY5LCAzNDAxMjIyNCwgNDcwNDU4ODEsIDY0MDAwMDAwLCA0MDg0MTAxLCA1MTUzNjMyLFxuICAgIDY0MzYzNDMsIDc5NjI2MjQsIDk3NjU2MjUsIDExODgxMzc2LCAxNDM0ODkwNywgMTcyMTAzNjgsIDIwNTExMTQ5LFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XG4gIF07XG5cbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcbiAgICBiYXNlID0gYmFzZSB8fCAxMDtcbiAgICBwYWRkaW5nID0gcGFkZGluZyB8IDAgfHwgMTtcblxuICAgIHZhciBvdXQ7XG4gICAgaWYgKGJhc2UgPT09IDE2IHx8IGJhc2UgPT09ICdoZXgnKSB7XG4gICAgICBvdXQgPSAnJztcbiAgICAgIHZhciBvZmYgPSAwO1xuICAgICAgdmFyIGNhcnJ5ID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV07XG4gICAgICAgIHZhciB3b3JkID0gKCgodyA8PCBvZmYpIHwgY2FycnkpICYgMHhmZmZmZmYpLnRvU3RyaW5nKDE2KTtcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcbiAgICAgICAgaWYgKGNhcnJ5ICE9PSAwIHx8IGkgIT09IHRoaXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIG91dCA9IHplcm9zWzYgLSB3b3JkLmxlbmd0aF0gKyB3b3JkICsgb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dCA9IHdvcmQgKyBvdXQ7XG4gICAgICAgIH1cbiAgICAgICAgb2ZmICs9IDI7XG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcbiAgICAgICAgICBvZmYgLT0gMjY7XG4gICAgICAgICAgaS0tO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgICAgb3V0ID0gY2FycnkudG9TdHJpbmcoMTYpICsgb3V0O1xuICAgICAgfVxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgIG91dCA9ICctJyArIG91dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcbiAgICAgIC8vIHZhciBncm91cFNpemUgPSBNYXRoLmZsb29yKEJOLndvcmRTaXplICogTWF0aC5MTjIgLyBNYXRoLmxvZyhiYXNlKSk7XG4gICAgICB2YXIgZ3JvdXBTaXplID0gZ3JvdXBTaXplc1tiYXNlXTtcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xuICAgICAgdmFyIGdyb3VwQmFzZSA9IGdyb3VwQmFzZXNbYmFzZV07XG4gICAgICBvdXQgPSAnJztcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xuICAgICAgYy5uZWdhdGl2ZSA9IDA7XG4gICAgICB3aGlsZSAoIWMuaXNaZXJvKCkpIHtcbiAgICAgICAgdmFyIHIgPSBjLm1vZHJuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7XG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XG5cbiAgICAgICAgaWYgKCFjLmlzWmVybygpKSB7XG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgPSByICsgb3V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc1plcm8oKSkge1xuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XG4gICAgICB9XG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG91dDtcbiAgICB9XG5cbiAgICBhc3NlcnQoZmFsc2UsICdCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Jyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnRvTnVtYmVyID0gZnVuY3Rpb24gdG9OdW1iZXIgKCkge1xuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0ICs9IHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XG4gICAgICAvLyBOT1RFOiBhdCB0aGlzIHN0YWdlIGl0IGlzIGtub3duIHRoYXQgdGhlIHRvcCBiaXQgaXMgc2V0XG4gICAgICByZXQgKz0gMHgxMDAwMDAwMDAwMDAwMCArICh0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xuICAgICAgYXNzZXJ0KGZhbHNlLCAnTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzJyk7XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKDE2LCAyKTtcbiAgfTtcblxuICBpZiAoQnVmZmVyKSB7XG4gICAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcbiAgICB9O1xuICB9XG5cbiAgQk4ucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiB0b0FycmF5IChlbmRpYW4sIGxlbmd0aCkge1xuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LCBlbmRpYW4sIGxlbmd0aCk7XG4gIH07XG5cbiAgdmFyIGFsbG9jYXRlID0gZnVuY3Rpb24gYWxsb2NhdGUgKEFycmF5VHlwZSwgc2l6ZSkge1xuICAgIGlmIChBcnJheVR5cGUuYWxsb2NVbnNhZmUpIHtcbiAgICAgIHJldHVybiBBcnJheVR5cGUuYWxsb2NVbnNhZmUoc2l6ZSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQXJyYXlUeXBlKHNpemUpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b0FycmF5TGlrZSA9IGZ1bmN0aW9uIHRvQXJyYXlMaWtlIChBcnJheVR5cGUsIGVuZGlhbiwgbGVuZ3RoKSB7XG4gICAgdGhpcy5fc3RyaXAoKTtcblxuICAgIHZhciBieXRlTGVuZ3RoID0gdGhpcy5ieXRlTGVuZ3RoKCk7XG4gICAgdmFyIHJlcUxlbmd0aCA9IGxlbmd0aCB8fCBNYXRoLm1heCgxLCBieXRlTGVuZ3RoKTtcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XG4gICAgYXNzZXJ0KHJlcUxlbmd0aCA+IDAsICdSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAnKTtcblxuICAgIHZhciByZXMgPSBhbGxvY2F0ZShBcnJheVR5cGUsIHJlcUxlbmd0aCk7XG4gICAgdmFyIHBvc3RmaXggPSBlbmRpYW4gPT09ICdsZScgPyAnTEUnIDogJ0JFJztcbiAgICB0aGlzWydfdG9BcnJheUxpa2UnICsgcG9zdGZpeF0ocmVzLCBieXRlTGVuZ3RoKTtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5fdG9BcnJheUxpa2VMRSA9IGZ1bmN0aW9uIF90b0FycmF5TGlrZUxFIChyZXMsIGJ5dGVMZW5ndGgpIHtcbiAgICB2YXIgcG9zaXRpb24gPSAwO1xuICAgIHZhciBjYXJyeSA9IDA7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgc2hpZnQgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHdvcmQgPSAodGhpcy53b3Jkc1tpXSA8PCBzaGlmdCkgfCBjYXJyeTtcblxuICAgICAgcmVzW3Bvc2l0aW9uKytdID0gd29yZCAmIDB4ZmY7XG4gICAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbisrXSA9ICh3b3JkID4+IDgpICYgMHhmZjtcbiAgICAgIH1cbiAgICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gMTYpICYgMHhmZjtcbiAgICAgIH1cblxuICAgICAgaWYgKHNoaWZ0ID09PSA2KSB7XG4gICAgICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcbiAgICAgICAgICByZXNbcG9zaXRpb24rK10gPSAod29yZCA+PiAyNCkgJiAweGZmO1xuICAgICAgICB9XG4gICAgICAgIGNhcnJ5ID0gMDtcbiAgICAgICAgc2hpZnQgPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FycnkgPSB3b3JkID4+PiAyNDtcbiAgICAgICAgc2hpZnQgKz0gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XG4gICAgICByZXNbcG9zaXRpb24rK10gPSBjYXJyeTtcblxuICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgcmVzLmxlbmd0aCkge1xuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX3RvQXJyYXlMaWtlQkUgPSBmdW5jdGlvbiBfdG9BcnJheUxpa2VCRSAocmVzLCBieXRlTGVuZ3RoKSB7XG4gICAgdmFyIHBvc2l0aW9uID0gcmVzLmxlbmd0aCAtIDE7XG4gICAgdmFyIGNhcnJ5ID0gMDtcblxuICAgIGZvciAodmFyIGkgPSAwLCBzaGlmdCA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgd29yZCA9ICh0aGlzLndvcmRzW2ldIDw8IHNoaWZ0KSB8IGNhcnJ5O1xuXG4gICAgICByZXNbcG9zaXRpb24tLV0gPSB3b3JkICYgMHhmZjtcbiAgICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbi0tXSA9ICh3b3JkID4+IDgpICYgMHhmZjtcbiAgICAgIH1cbiAgICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbi0tXSA9ICh3b3JkID4+IDE2KSAmIDB4ZmY7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaGlmdCA9PT0gNikge1xuICAgICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgICAgIHJlc1twb3NpdGlvbi0tXSA9ICh3b3JkID4+IDI0KSAmIDB4ZmY7XG4gICAgICAgIH1cbiAgICAgICAgY2FycnkgPSAwO1xuICAgICAgICBzaGlmdCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYXJyeSA9IHdvcmQgPj4+IDI0O1xuICAgICAgICBzaGlmdCArPSAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICByZXNbcG9zaXRpb24tLV0gPSBjYXJyeTtcblxuICAgICAgd2hpbGUgKHBvc2l0aW9uID49IDApIHtcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgaWYgKE1hdGguY2x6MzIpIHtcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcbiAgICAgIHJldHVybiAzMiAtIE1hdGguY2x6MzIodyk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcbiAgICAgIHZhciB0ID0gdztcbiAgICAgIHZhciByID0gMDtcbiAgICAgIGlmICh0ID49IDB4MTAwMCkge1xuICAgICAgICByICs9IDEzO1xuICAgICAgICB0ID4+Pj0gMTM7XG4gICAgICB9XG4gICAgICBpZiAodCA+PSAweDQwKSB7XG4gICAgICAgIHIgKz0gNztcbiAgICAgICAgdCA+Pj49IDc7XG4gICAgICB9XG4gICAgICBpZiAodCA+PSAweDgpIHtcbiAgICAgICAgciArPSA0O1xuICAgICAgICB0ID4+Pj0gNDtcbiAgICAgIH1cbiAgICAgIGlmICh0ID49IDB4MDIpIHtcbiAgICAgICAgciArPSAyO1xuICAgICAgICB0ID4+Pj0gMjtcbiAgICAgIH1cbiAgICAgIHJldHVybiByICsgdDtcbiAgICB9O1xuICB9XG5cbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xuICAgIC8vIFNob3J0LWN1dFxuICAgIGlmICh3ID09PSAwKSByZXR1cm4gMjY7XG5cbiAgICB2YXIgdCA9IHc7XG4gICAgdmFyIHIgPSAwO1xuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcbiAgICAgIHIgKz0gMTM7XG4gICAgICB0ID4+Pj0gMTM7XG4gICAgfVxuICAgIGlmICgodCAmIDB4N2YpID09PSAwKSB7XG4gICAgICByICs9IDc7XG4gICAgICB0ID4+Pj0gNztcbiAgICB9XG4gICAgaWYgKCh0ICYgMHhmKSA9PT0gMCkge1xuICAgICAgciArPSA0O1xuICAgICAgdCA+Pj49IDQ7XG4gICAgfVxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcbiAgICAgIHIgKz0gMjtcbiAgICAgIHQgPj4+PSAyO1xuICAgIH1cbiAgICBpZiAoKHQgJiAweDEpID09PSAwKSB7XG4gICAgICByKys7XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9O1xuXG4gIC8vIFJldHVybiBudW1iZXIgb2YgdXNlZCBiaXRzIGluIGEgQk5cbiAgQk4ucHJvdG90eXBlLmJpdExlbmd0aCA9IGZ1bmN0aW9uIGJpdExlbmd0aCAoKSB7XG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XG4gICAgdmFyIGhpID0gdGhpcy5fY291bnRCaXRzKHcpO1xuICAgIHJldHVybiAodGhpcy5sZW5ndGggLSAxKSAqIDI2ICsgaGk7XG4gIH07XG5cbiAgZnVuY3Rpb24gdG9CaXRBcnJheSAobnVtKSB7XG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcblxuICAgIGZvciAodmFyIGJpdCA9IDA7IGJpdCA8IHcubGVuZ3RoOyBiaXQrKykge1xuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xuICAgICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcblxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdID4+PiB3Yml0KSAmIDB4MDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHc7XG4gIH1cblxuICAvLyBOdW1iZXIgb2YgdHJhaWxpbmcgemVybyBiaXRzXG4gIEJOLnByb3RvdHlwZS56ZXJvQml0cyA9IGZ1bmN0aW9uIHplcm9CaXRzICgpIHtcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XG5cbiAgICB2YXIgciA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgYiA9IHRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbaV0pO1xuICAgICAgciArPSBiO1xuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHI7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmJ5dGVMZW5ndGggPSBmdW5jdGlvbiBieXRlTGVuZ3RoICgpIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5hYnMoKS5pbm90bih3aWR0aCkuaWFkZG4oMSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmZyb21Ud29zID0gZnVuY3Rpb24gZnJvbVR3b3MgKHdpZHRoKSB7XG4gICAgaWYgKHRoaXMudGVzdG4od2lkdGggLSAxKSkge1xuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc05lZyA9IGZ1bmN0aW9uIGlzTmVnICgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcbiAgfTtcblxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKCkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5lZygpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pbmVnID0gZnVuY3Rpb24gaW5lZyAoKSB7XG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcbiAgQk4ucHJvdG90eXBlLml1b3IgPSBmdW5jdGlvbiBpdW9yIChudW0pIHtcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gfCBudW0ud29yZHNbaV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlvciA9IGZ1bmN0aW9uIGlvciAobnVtKSB7XG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xuICB9O1xuXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5vciA9IGZ1bmN0aW9uIG9yIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO1xuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdW9yKG51bSk7XG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyk7XG4gIH07XG5cbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcbiAgICAvLyBiID0gbWluLWxlbmd0aChudW0sIHRoaXMpXG4gICAgdmFyIGI7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xuICAgICAgYiA9IG51bTtcbiAgICB9IGVsc2Uge1xuICAgICAgYiA9IHRoaXM7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSAmIG51bS53b3Jkc1tpXTtcbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IGIubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcbiAgICByZXR1cm4gdGhpcy5pdWFuZChudW0pO1xuICB9O1xuXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFuZCh0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudWFuZCA9IGZ1bmN0aW9uIHVhbmQgKG51bSkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XG4gIH07XG5cbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pdXhvciA9IGZ1bmN0aW9uIGl1eG9yIChudW0pIHtcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXG4gICAgdmFyIGE7XG4gICAgdmFyIGI7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xuICAgICAgYSA9IHRoaXM7XG4gICAgICBiID0gbnVtO1xuICAgIH0gZWxzZSB7XG4gICAgICBhID0gbnVtO1xuICAgICAgYiA9IHRoaXM7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcbiAgICByZXR1cm4gdGhpcy5pdXhvcihudW0pO1xuICB9O1xuXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudXhvciA9IGZ1bmN0aW9uIHV4b3IgKG51bSkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXV4b3IodGhpcyk7XG4gIH07XG5cbiAgLy8gTm90IGBgdGhpc2BgIHdpdGggYGB3aWR0aGBgIGJpdHdpZHRoXG4gIEJOLnByb3RvdHlwZS5pbm90biA9IGZ1bmN0aW9uIGlub3RuICh3aWR0aCkge1xuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xuXG4gICAgdmFyIGJ5dGVzTmVlZGVkID0gTWF0aC5jZWlsKHdpZHRoIC8gMjYpIHwgMDtcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xuXG4gICAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgd2l0aCBsZWFkaW5nIHplcm9lc1xuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XG5cbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XG4gICAgICBieXRlc05lZWRlZC0tO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXNOZWVkZWQ7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgMHgzZmZmZmZmO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSB0aGUgcmVzaWR1ZVxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmICgweDNmZmZmZmYgPj4gKDI2IC0gYml0c0xlZnQpKTtcbiAgICB9XG5cbiAgICAvLyBBbmQgcmVtb3ZlIGxlYWRpbmcgemVyb2VzXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLm5vdG4gPSBmdW5jdGlvbiBub3RuICh3aWR0aCkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpO1xuICB9O1xuXG4gIC8vIFNldCBgYml0YCBvZiBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XG5cbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XG4gICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcblxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcblxuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gJiB+KDEgPDwgd2JpdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xuICAgIHZhciByO1xuXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcblxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xuICAgIH1cblxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcbiAgICB2YXIgYSwgYjtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XG4gICAgICBhID0gdGhpcztcbiAgICAgIGIgPSBudW07XG4gICAgfSBlbHNlIHtcbiAgICAgIGEgPSBudW07XG4gICAgICBiID0gdGhpcztcbiAgICB9XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XG4gICAgfVxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xuICAgICAgY2FycnkgPSByID4+PiAyNjtcbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xuICAgIGlmIChjYXJyeSAhPT0gMCkge1xuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgLy8gQ29weSB0aGUgcmVzdCBvZiB0aGUgd29yZHNcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xuICAgIHZhciByZXM7XG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xuICAgICAgcmVzID0gdGhpcy5zdWIobnVtKTtcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9IGVsc2UgaWYgKG51bS5uZWdhdGl2ZSA9PT0gMCAmJiB0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XG5cbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFkZCh0aGlzKTtcbiAgfTtcblxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XG5cbiAgICAvLyAtdGhpcyAtIG51bSA9IC0odGhpcyArIG51bSlcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5pYWRkKG51bSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xuICAgIH1cblxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxuICAgIHZhciBjbXAgPSB0aGlzLmNtcChudW0pO1xuXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxuICAgIGlmIChjbXAgPT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBhID4gYlxuICAgIHZhciBhLCBiO1xuICAgIGlmIChjbXAgPiAwKSB7XG4gICAgICBhID0gdGhpcztcbiAgICAgIGIgPSBudW07XG4gICAgfSBlbHNlIHtcbiAgICAgIGEgPSBudW07XG4gICAgICBiID0gdGhpcztcbiAgICB9XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcbiAgICB9XG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xuICAgICAgY2FycnkgPSByID4+IDI2O1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XG4gICAgfVxuXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xuICAgIGlmIChjYXJyeSA9PT0gMCAmJiBpIDwgYS5sZW5ndGggJiYgYSAhPT0gdGhpcykge1xuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5sZW5ndGgsIGkpO1xuXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHNtYWxsTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcbiAgICB2YXIgbGVuID0gKHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aCkgfCAwO1xuICAgIG91dC5sZW5ndGggPSBsZW47XG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcblxuICAgIC8vIFBlZWwgb25lIGl0ZXJhdGlvbiAoY29tcGlsZXIgY2FuJ3QgZG8gaXQsIGJlY2F1c2Ugb2YgY29kZSBjb21wbGV4aXR5KVxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XG4gICAgdmFyIGIgPSBudW0ud29yZHNbMF0gfCAwO1xuICAgIHZhciByID0gYSAqIGI7XG5cbiAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xuICAgIHZhciBjYXJyeSA9IChyIC8gMHg0MDAwMDAwKSB8IDA7XG4gICAgb3V0LndvcmRzWzBdID0gbG87XG5cbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGxlbjsgaysrKSB7XG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxuICAgICAgdmFyIG5jYXJyeSA9IGNhcnJ5ID4+PiAyNjtcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XG4gICAgICAgIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcbiAgICAgICAgYiA9IG51bS53b3Jkc1tqXSB8IDA7XG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xuICAgICAgICBuY2FycnkgKz0gKHIgLyAweDQwMDAwMDApIHwgMDtcbiAgICAgICAgcndvcmQgPSByICYgMHgzZmZmZmZmO1xuICAgICAgfVxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQgfCAwO1xuICAgICAgY2FycnkgPSBuY2FycnkgfCAwO1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5IHwgMDtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0Lmxlbmd0aC0tO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XG4gIH1cblxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxuICAvLyB0byB3b3JrIHdpdGggMjU2LWJpdCBudW1iZXJzLCBvdGhlcndpc2UgaXQgZ2l2ZXMgMjAlIGltcHJvdmVtZW50IGZvciAyNTYtYml0XG4gIC8vIG11bHRpcGxpY2F0aW9uIChsaWtlIGVsbGlwdGljIHNlY3AyNTZrMSkuXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xuICAgIHZhciBhID0gc2VsZi53b3JkcztcbiAgICB2YXIgYiA9IG51bS53b3JkcztcbiAgICB2YXIgbyA9IG91dC53b3JkcztcbiAgICB2YXIgYyA9IDA7XG4gICAgdmFyIGxvO1xuICAgIHZhciBtaWQ7XG4gICAgdmFyIGhpO1xuICAgIHZhciBhMCA9IGFbMF0gfCAwO1xuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcbiAgICB2YXIgYWgwID0gYTAgPj4+IDEzO1xuICAgIHZhciBhMSA9IGFbMV0gfCAwO1xuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcbiAgICB2YXIgYWgxID0gYTEgPj4+IDEzO1xuICAgIHZhciBhMiA9IGFbMl0gfCAwO1xuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcbiAgICB2YXIgYWgyID0gYTIgPj4+IDEzO1xuICAgIHZhciBhMyA9IGFbM10gfCAwO1xuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcbiAgICB2YXIgYWgzID0gYTMgPj4+IDEzO1xuICAgIHZhciBhNCA9IGFbNF0gfCAwO1xuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcbiAgICB2YXIgYWg0ID0gYTQgPj4+IDEzO1xuICAgIHZhciBhNSA9IGFbNV0gfCAwO1xuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcbiAgICB2YXIgYWg1ID0gYTUgPj4+IDEzO1xuICAgIHZhciBhNiA9IGFbNl0gfCAwO1xuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcbiAgICB2YXIgYWg2ID0gYTYgPj4+IDEzO1xuICAgIHZhciBhNyA9IGFbN10gfCAwO1xuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcbiAgICB2YXIgYWg3ID0gYTcgPj4+IDEzO1xuICAgIHZhciBhOCA9IGFbOF0gfCAwO1xuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcbiAgICB2YXIgYWg4ID0gYTggPj4+IDEzO1xuICAgIHZhciBhOSA9IGFbOV0gfCAwO1xuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcbiAgICB2YXIgYWg5ID0gYTkgPj4+IDEzO1xuICAgIHZhciBiMCA9IGJbMF0gfCAwO1xuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcbiAgICB2YXIgYmgwID0gYjAgPj4+IDEzO1xuICAgIHZhciBiMSA9IGJbMV0gfCAwO1xuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcbiAgICB2YXIgYmgxID0gYjEgPj4+IDEzO1xuICAgIHZhciBiMiA9IGJbMl0gfCAwO1xuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcbiAgICB2YXIgYmgyID0gYjIgPj4+IDEzO1xuICAgIHZhciBiMyA9IGJbM10gfCAwO1xuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcbiAgICB2YXIgYmgzID0gYjMgPj4+IDEzO1xuICAgIHZhciBiNCA9IGJbNF0gfCAwO1xuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcbiAgICB2YXIgYmg0ID0gYjQgPj4+IDEzO1xuICAgIHZhciBiNSA9IGJbNV0gfCAwO1xuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcbiAgICB2YXIgYmg1ID0gYjUgPj4+IDEzO1xuICAgIHZhciBiNiA9IGJbNl0gfCAwO1xuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcbiAgICB2YXIgYmg2ID0gYjYgPj4+IDEzO1xuICAgIHZhciBiNyA9IGJbN10gfCAwO1xuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcbiAgICB2YXIgYmg3ID0gYjcgPj4+IDEzO1xuICAgIHZhciBiOCA9IGJbOF0gfCAwO1xuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcbiAgICB2YXIgYmg4ID0gYjggPj4+IDEzO1xuICAgIHZhciBiOSA9IGJbOV0gfCAwO1xuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcbiAgICB2YXIgYmg5ID0gYjkgPj4+IDEzO1xuXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcbiAgICBvdXQubGVuZ3RoID0gMTk7XG4gICAgLyogayA9IDAgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMCwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcbiAgICB2YXIgdzAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcwID4+PiAyNikpIHwgMDtcbiAgICB3MCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDEsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoMSwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XG4gICAgdmFyIHcxID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MSA+Pj4gMjYpKSB8IDA7XG4gICAgdzEgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAyICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWwyLCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDIsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMikpIHwgMDtcbiAgICB2YXIgdzIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcbiAgICB3MiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDMgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMywgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcbiAgICB2YXIgdzMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHczID4+PiAyNikpIHwgMDtcbiAgICB3MyAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDQgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDQsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoNCwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XG4gICAgdmFyIHc0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NCA+Pj4gMjYpKSB8IDA7XG4gICAgdzQgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA1ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw1LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDUsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNSkpIHwgMDtcbiAgICB2YXIgdzUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcbiAgICB3NSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDYgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNiwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcbiAgICB2YXIgdzYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc2ID4+PiAyNikpIHwgMDtcbiAgICB3NiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDcgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDcsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoNywgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XG4gICAgdmFyIHc3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NyA+Pj4gMjYpKSB8IDA7XG4gICAgdzcgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA4ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw4LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDgsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOCkpIHwgMDtcbiAgICB2YXIgdzggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcbiAgICB3OCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDkgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzkgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc5ID4+PiAyNikpIHwgMDtcbiAgICB3OSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEwICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDEpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMSkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMSk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzEwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xuICAgIHcxMCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDExICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMik7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMikpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgzKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDUpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg2KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDgpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg5KSkgfCAwO1xuICAgIHZhciB3MTEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XG4gICAgdzExICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMTIgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgzKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwzKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzEyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTIgPj4+IDI2KSkgfCAwO1xuICAgIHcxMiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEzICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDQpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzEzID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xuICAgIHcxMyAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE0ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNSk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNSkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg2KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDgpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg5KSkgfCAwO1xuICAgIHZhciB3MTQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XG4gICAgdzE0ICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMTUgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg2KTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw2KSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzE1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTUgPj4+IDI2KSkgfCAwO1xuICAgIHcxNSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE2ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDcpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNykpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNyk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzE2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xuICAgIHcxNiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE3ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg5KSkgfCAwO1xuICAgIHZhciB3MTcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XG4gICAgdzE3ICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMTggKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg5KTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw5KSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcbiAgICB2YXIgdzE4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTggPj4+IDI2KSkgfCAwO1xuICAgIHcxOCAmPSAweDNmZmZmZmY7XG4gICAgb1swXSA9IHcwO1xuICAgIG9bMV0gPSB3MTtcbiAgICBvWzJdID0gdzI7XG4gICAgb1szXSA9IHczO1xuICAgIG9bNF0gPSB3NDtcbiAgICBvWzVdID0gdzU7XG4gICAgb1s2XSA9IHc2O1xuICAgIG9bN10gPSB3NztcbiAgICBvWzhdID0gdzg7XG4gICAgb1s5XSA9IHc5O1xuICAgIG9bMTBdID0gdzEwO1xuICAgIG9bMTFdID0gdzExO1xuICAgIG9bMTJdID0gdzEyO1xuICAgIG9bMTNdID0gdzEzO1xuICAgIG9bMTRdID0gdzE0O1xuICAgIG9bMTVdID0gdzE1O1xuICAgIG9bMTZdID0gdzE2O1xuICAgIG9bMTddID0gdzE3O1xuICAgIG9bMThdID0gdzE4O1xuICAgIGlmIChjICE9PSAwKSB7XG4gICAgICBvWzE5XSA9IGM7XG4gICAgICBvdXQubGVuZ3RoKys7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gIH07XG5cbiAgLy8gUG9seWZpbGwgY29tYlxuICBpZiAoIU1hdGguaW11bCkge1xuICAgIGNvbWIxME11bFRvID0gc21hbGxNdWxUbztcbiAgfVxuXG4gIGZ1bmN0aW9uIGJpZ011bFRvIChzZWxmLCBudW0sIG91dCkge1xuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XG4gICAgb3V0Lmxlbmd0aCA9IHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aDtcblxuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgdmFyIGhuY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb3V0Lmxlbmd0aCAtIDE7IGsrKykge1xuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcbiAgICAgIHZhciBuY2FycnkgPSBobmNhcnJ5O1xuICAgICAgaG5jYXJyeSA9IDA7XG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xuICAgICAgICB2YXIgaSA9IGsgLSBqO1xuICAgICAgICB2YXIgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XG4gICAgICAgIHZhciByID0gYSAqIGI7XG5cbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArICgociAvIDB4NDAwMDAwMCkgfCAwKSkgfCAwO1xuICAgICAgICBsbyA9IChsbyArIHJ3b3JkKSB8IDA7XG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAobG8gPj4+IDI2KSkgfCAwO1xuXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcbiAgICAgICAgbmNhcnJ5ICY9IDB4M2ZmZmZmZjtcbiAgICAgIH1cbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xuICAgICAgY2FycnkgPSBuY2Fycnk7XG4gICAgICBuY2FycnkgPSBobmNhcnJ5O1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQubGVuZ3RoLS07XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dC5fc3RyaXAoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XG4gICAgLy8gVGVtcG9yYXJ5IGRpc2FibGUsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vaW5kdXRueS9ibi5qcy9pc3N1ZXMvMjExXG4gICAgLy8gdmFyIGZmdG0gPSBuZXcgRkZUTSgpO1xuICAgIC8vIHJldHVybiBmZnRtLm11bHAoc2VsZiwgbnVtLCBvdXQpO1xuICAgIHJldHVybiBiaWdNdWxUbyhzZWxmLCBudW0sIG91dCk7XG4gIH1cblxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcbiAgICB2YXIgcmVzO1xuICAgIHZhciBsZW4gPSB0aGlzLmxlbmd0aCArIG51bS5sZW5ndGg7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xuICAgICAgcmVzID0gY29tYjEwTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICAgIH0gZWxzZSBpZiAobGVuIDwgNjMpIHtcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICAgIH0gZWxzZSBpZiAobGVuIDwgMTAyNCkge1xuICAgICAgcmVzID0gYmlnTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXMgPSBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIC8vIENvb2xleS1UdWtleSBhbGdvcml0aG0gZm9yIEZGVFxuICAvLyBzbGlnaHRseSByZXZpc2l0ZWQgdG8gcmVseSBvbiBsb29waW5nIGluc3RlYWQgb2YgcmVjdXJzaW9uXG5cbiAgZnVuY3Rpb24gRkZUTSAoeCwgeSkge1xuICAgIHRoaXMueCA9IHg7XG4gICAgdGhpcy55ID0geTtcbiAgfVxuXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XG4gICAgdmFyIHQgPSBuZXcgQXJyYXkoTik7XG4gICAgdmFyIGwgPSBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKSAtIDE7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgIHRbaV0gPSB0aGlzLnJldkJpbihpLCBsLCBOKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdDtcbiAgfTtcblxuICAvLyBSZXR1cm5zIGJpbmFyeS1yZXZlcnNlZCByZXByZXNlbnRhdGlvbiBvZiBgeGBcbiAgRkZUTS5wcm90b3R5cGUucmV2QmluID0gZnVuY3Rpb24gcmV2QmluICh4LCBsLCBOKSB7XG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xuXG4gICAgdmFyIHJiID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgcmIgfD0gKHggJiAxKSA8PCAobCAtIGkgLSAxKTtcbiAgICAgIHggPj49IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJiO1xuICB9O1xuXG4gIC8vIFBlcmZvcm1zIFwidHdlZWRsaW5nXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xuICAvLyBiZWhhdmlvdXIgb2YgdGhlIHJlY3Vyc2l2ZSBhbGdvcml0aG1cbiAgRkZUTS5wcm90b3R5cGUucGVybXV0ZSA9IGZ1bmN0aW9uIHBlcm11dGUgKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgcnR3c1tpXSA9IHJ3c1tyYnRbaV1dO1xuICAgICAgaXR3c1tpXSA9IGl3c1tyYnRbaV1dO1xuICAgIH1cbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcbiAgICB0aGlzLnBlcm11dGUocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTik7XG5cbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcbiAgICAgIHZhciBsID0gcyA8PCAxO1xuXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xuICAgICAgdmFyIGl0d2RmID0gTWF0aC5zaW4oMiAqIE1hdGguUEkgLyBsKTtcblxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcbiAgICAgICAgdmFyIHJ0d2RmXyA9IHJ0d2RmO1xuICAgICAgICB2YXIgaXR3ZGZfID0gaXR3ZGY7XG5cbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzOyBqKyspIHtcbiAgICAgICAgICB2YXIgcmUgPSBydHdzW3AgKyBqXTtcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcblxuICAgICAgICAgIHZhciBybyA9IHJ0d3NbcCArIGogKyBzXTtcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XG5cbiAgICAgICAgICB2YXIgcnggPSBydHdkZl8gKiBybyAtIGl0d2RmXyAqIGlvO1xuXG4gICAgICAgICAgaW8gPSBydHdkZl8gKiBpbyArIGl0d2RmXyAqIHJvO1xuICAgICAgICAgIHJvID0gcng7XG5cbiAgICAgICAgICBydHdzW3AgKyBqXSA9IHJlICsgcm87XG4gICAgICAgICAgaXR3c1twICsgal0gPSBpZSArIGlvO1xuXG4gICAgICAgICAgcnR3c1twICsgaiArIHNdID0gcmUgLSBybztcbiAgICAgICAgICBpdHdzW3AgKyBqICsgc10gPSBpZSAtIGlvO1xuXG4gICAgICAgICAgLyoganNoaW50IG1heGRlcHRoIDogZmFsc2UgKi9cbiAgICAgICAgICBpZiAoaiAhPT0gbCkge1xuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xuXG4gICAgICAgICAgICBpdHdkZl8gPSBydHdkZiAqIGl0d2RmXyArIGl0d2RmICogcnR3ZGZfO1xuICAgICAgICAgICAgcnR3ZGZfID0gcng7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIEZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiID0gZnVuY3Rpb24gZ3Vlc3NMZW4xM2IgKG4sIG0pIHtcbiAgICB2YXIgTiA9IE1hdGgubWF4KG0sIG4pIHwgMTtcbiAgICB2YXIgb2RkID0gTiAmIDE7XG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoTiA9IE4gLyAyIHwgMDsgTjsgTiA9IE4gPj4+IDEpIHtcbiAgICAgIGkrKztcbiAgICB9XG5cbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XG4gICAgaWYgKE4gPD0gMSkgcmV0dXJuO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XG4gICAgICB2YXIgdCA9IHJ3c1tpXTtcblxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XG4gICAgICByd3NbTiAtIGkgLSAxXSA9IHQ7XG5cbiAgICAgIHQgPSBpd3NbaV07XG5cbiAgICAgIGl3c1tpXSA9IC1pd3NbTiAtIGkgLSAxXTtcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XG4gICAgfVxuICB9O1xuXG4gIEZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYiA9IGZ1bmN0aW9uIG5vcm1hbGl6ZTEzYiAod3MsIE4pIHtcbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xuICAgICAgdmFyIHcgPSBNYXRoLnJvdW5kKHdzWzIgKiBpICsgMV0gLyBOKSAqIDB4MjAwMCArXG4gICAgICAgIE1hdGgucm91bmQod3NbMiAqIGldIC8gTikgK1xuICAgICAgICBjYXJyeTtcblxuICAgICAgd3NbaV0gPSB3ICYgMHgzZmZmZmZmO1xuXG4gICAgICBpZiAodyA8IDB4NDAwMDAwMCkge1xuICAgICAgICBjYXJyeSA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYXJyeSA9IHcgLyAweDQwMDAwMDAgfCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB3cztcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiID0gZnVuY3Rpb24gY29udmVydDEzYiAod3MsIGxlbiwgcndzLCBOKSB7XG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjYXJyeSA9IGNhcnJ5ICsgKHdzW2ldIHwgMCk7XG5cbiAgICAgIHJ3c1syICogaV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XG4gICAgICByd3NbMiAqIGkgKyAxXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcbiAgICB9XG5cbiAgICAvLyBQYWQgd2l0aCB6ZXJvZXNcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XG4gICAgICByd3NbaV0gPSAwO1xuICAgIH1cblxuICAgIGFzc2VydChjYXJyeSA9PT0gMCk7XG4gICAgYXNzZXJ0KChjYXJyeSAmIH4weDFmZmYpID09PSAwKTtcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5zdHViID0gZnVuY3Rpb24gc3R1YiAoTikge1xuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgcGhbaV0gPSAwO1xuICAgIH1cblxuICAgIHJldHVybiBwaDtcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5tdWxwID0gZnVuY3Rpb24gbXVscCAoeCwgeSwgb3V0KSB7XG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xuXG4gICAgdmFyIHJidCA9IHRoaXMubWFrZVJCVChOKTtcblxuICAgIHZhciBfID0gdGhpcy5zdHViKE4pO1xuXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgcndzdCA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgaXdzdCA9IG5ldyBBcnJheShOKTtcblxuICAgIHZhciBucndzID0gbmV3IEFycmF5KE4pO1xuICAgIHZhciBucndzdCA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XG5cbiAgICB2YXIgcm13cyA9IG91dC53b3JkcztcbiAgICBybXdzLmxlbmd0aCA9IE47XG5cbiAgICB0aGlzLmNvbnZlcnQxM2IoeC53b3JkcywgeC5sZW5ndGgsIHJ3cywgTik7XG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcblxuICAgIHRoaXMudHJhbnNmb3JtKHJ3cywgXywgcndzdCwgaXdzdCwgTiwgcmJ0KTtcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xuICAgICAgaXdzdFtpXSA9IHJ3c3RbaV0gKiBuaXdzdFtpXSArIGl3c3RbaV0gKiBucndzdFtpXTtcbiAgICAgIHJ3c3RbaV0gPSByeDtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmp1Z2F0ZShyd3N0LCBpd3N0LCBOKTtcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xuICAgIHRoaXMuY29uanVnYXRlKHJtd3MsIF8sIE4pO1xuICAgIHRoaXMubm9ybWFsaXplMTNiKHJtd3MsIE4pO1xuXG4gICAgb3V0Lm5lZ2F0aXZlID0geC5uZWdhdGl2ZSBeIHkubmVnYXRpdmU7XG4gICAgb3V0Lmxlbmd0aCA9IHgubGVuZ3RoICsgeS5sZW5ndGg7XG4gICAgcmV0dXJuIG91dC5fc3RyaXAoKTtcbiAgfTtcblxuICAvLyBNdWx0aXBseSBgdGhpc2AgYnkgYG51bWBcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XG4gIH07XG5cbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxuICBCTi5wcm90b3R5cGUubXVsZiA9IGZ1bmN0aW9uIG11bGYgKG51bSkge1xuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XG4gICAgcmV0dXJuIGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICB9O1xuXG4gIC8vIEluLXBsYWNlIE11bHRpcGxpY2F0aW9uXG4gIEJOLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcbiAgICB2YXIgaXNOZWdOdW0gPSBudW0gPCAwO1xuICAgIGlmIChpc05lZ051bSkgbnVtID0gLW51bTtcblxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XG5cbiAgICAvLyBDYXJyeVxuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKiBudW07XG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xuICAgICAgY2FycnkgPj49IDI2O1xuICAgICAgY2FycnkgKz0gKHcgLyAweDQwMDAwMDApIHwgMDtcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cbiAgICAgIGNhcnJ5ICs9IGxvID4+PiAyNjtcbiAgICAgIHRoaXMud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcbiAgICB9XG5cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzTmVnTnVtID8gdGhpcy5pbmVnKCkgOiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihudW0pO1xuICB9O1xuXG4gIC8vIGB0aGlzYCAqIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyICgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XG4gIH07XG5cbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pc3FyID0gZnVuY3Rpb24gaXNxciAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpO1xuICB9O1xuXG4gIC8vIE1hdGgucG93KGB0aGlzYCwgYG51bWApXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xuICAgIHZhciB3ID0gdG9CaXRBcnJheShudW0pO1xuICAgIGlmICh3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBCTigxKTtcblxuICAgIC8vIFNraXAgbGVhZGluZyB6ZXJvZXNcbiAgICB2YXIgcmVzID0gdGhpcztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xuICAgICAgaWYgKHdbaV0gIT09IDApIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICgrK2kgPCB3Lmxlbmd0aCkge1xuICAgICAgZm9yICh2YXIgcSA9IHJlcy5zcXIoKTsgaSA8IHcubGVuZ3RoOyBpKyssIHEgPSBxLnNxcigpKSB7XG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcblxuICAgICAgICByZXMgPSByZXMubXVsKHEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXVzaGxuID0gZnVuY3Rpb24gaXVzaGxuIChiaXRzKSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xuICAgIHZhciByID0gYml0cyAlIDI2O1xuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xuICAgIHZhciBjYXJyeU1hc2sgPSAoMHgzZmZmZmZmID4+PiAoMjYgLSByKSkgPDwgKDI2IC0gcik7XG4gICAgdmFyIGk7XG5cbiAgICBpZiAociAhPT0gMCkge1xuICAgICAgdmFyIGNhcnJ5ID0gMDtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcbiAgICAgICAgdmFyIGMgPSAoKHRoaXMud29yZHNbaV0gfCAwKSAtIG5ld0NhcnJ5KSA8PCByO1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYyB8IGNhcnJ5O1xuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNhcnJ5KSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcbiAgICAgICAgdGhpcy5sZW5ndGgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocyAhPT0gMCkge1xuICAgICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICB0aGlzLndvcmRzW2kgKyBzXSA9IHRoaXMud29yZHNbaV07XG4gICAgICB9XG5cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xuICB9O1xuXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xuICAvLyBOT1RFOiBpZiBgZXh0ZW5kZWRgIGlzIHByZXNlbnQgLSBpdCB3aWxsIGJlIGZpbGxlZCB3aXRoIGRlc3Ryb3llZCBiaXRzXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xuICAgIHZhciBoO1xuICAgIGlmIChoaW50KSB7XG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcbiAgICB9IGVsc2Uge1xuICAgICAgaCA9IDA7XG4gICAgfVxuXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcblxuICAgIGggLT0gcztcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XG5cbiAgICAvLyBFeHRlbmRlZCBtb2RlLCBjb3B5IG1hc2tlZCBwYXJ0XG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xuICAgICAgICBtYXNrZWRXb3Jkcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XG4gICAgICB9XG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xuICAgIH1cblxuICAgIGlmIChzID09PSAwKSB7XG4gICAgICAvLyBOby1vcCwgd2Ugc2hvdWxkIG5vdCBtb3ZlIGFueXRoaW5nIGF0IGFsbFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgICB9XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwICYmIChjYXJyeSAhPT0gMCB8fCBpID49IGgpOyBpLS0pIHtcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcbiAgICAgIGNhcnJ5ID0gd29yZCAmIG1hc2s7XG4gICAgfVxuXG4gICAgLy8gUHVzaCBjYXJyaWVkIGJpdHMgYXMgYSBtYXNrXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc2hybiA9IGZ1bmN0aW9uIGlzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcbiAgICByZXR1cm4gdGhpcy5pdXNocm4oYml0cywgaGludCwgZXh0ZW5kZWQpO1xuICB9O1xuXG4gIC8vIFNoaWZ0LWxlZnRcbiAgQk4ucHJvdG90eXBlLnNobG4gPSBmdW5jdGlvbiBzaGxuIChiaXRzKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpO1xuICB9O1xuXG4gIC8vIFNoaWZ0LXJpZ2h0XG4gIEJOLnByb3RvdHlwZS5zaHJuID0gZnVuY3Rpb24gc2hybiAoYml0cykge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKTtcbiAgfTtcblxuICAvLyBUZXN0IGlmIG4gYml0IGlzIHNldFxuICBCTi5wcm90b3R5cGUudGVzdG4gPSBmdW5jdGlvbiB0ZXN0biAoYml0KSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XG4gICAgdmFyIHEgPSAxIDw8IHI7XG5cbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBDaGVjayBiaXQgYW5kIHJldHVyblxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcblxuICAgIHJldHVybiAhISh3ICYgcSk7XG4gIH07XG5cbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyIChpbi1wbGFjZSlcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcblxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAnaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzJyk7XG5cbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKHIgIT09IDApIHtcbiAgICAgIHMrKztcbiAgICB9XG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1pbihzLCB0aGlzLmxlbmd0aCk7XG5cbiAgICBpZiAociAhPT0gMCkge1xuICAgICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXJcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihiaXRzKTtcbiAgfTtcblxuICAvLyBBZGQgcGxhaW4gbnVtYmVyIGBudW1gIHRvIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuaWFkZG4gPSBmdW5jdGlvbiBpYWRkbiAobnVtKSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaXN1Ym4oLW51bSk7XG5cbiAgICAvLyBQb3NzaWJsZSBzaWduIGNoYW5nZVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8PSBudW0pIHtcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XG4gICAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cblxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG4gICAgICB0aGlzLmlzdWJuKG51bSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xuICAgIHRoaXMud29yZHNbMF0gKz0gbnVtO1xuXG4gICAgLy8gQ2FycnlcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPj0gMHg0MDAwMDAwOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xuXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5pYWRkbihudW0pO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcblxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENhcnJ5XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPCAwOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnN1Ym4gPSBmdW5jdGlvbiBzdWJuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlhYnMgPSBmdW5jdGlvbiBpYWJzICgpIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5hYnMgPSBmdW5jdGlvbiBhYnMgKCkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xuICAgIHZhciBsZW4gPSBudW0ubGVuZ3RoICsgc2hpZnQ7XG4gICAgdmFyIGk7XG5cbiAgICB0aGlzLl9leHBhbmQobGVuKTtcblxuICAgIHZhciB3O1xuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yIChpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xuICAgICAgdmFyIHJpZ2h0ID0gKG51bS53b3Jkc1tpXSB8IDApICogbXVsO1xuICAgICAgdyAtPSByaWdodCAmIDB4M2ZmZmZmZjtcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XG4gICAgfVxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xuICAgIH1cblxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG5cbiAgICAvLyBTdWJ0cmFjdGlvbiBvdmVyZmxvd1xuICAgIGFzc2VydChjYXJyeSA9PT0gLTEpO1xuICAgIGNhcnJ5ID0gMDtcbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdyA9IC0odGhpcy53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2ldID0gdyAmIDB4M2ZmZmZmZjtcbiAgICB9XG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG5cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX3dvcmREaXYgPSBmdW5jdGlvbiBfd29yZERpdiAobnVtLCBtb2RlKSB7XG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xuXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XG4gICAgdmFyIGIgPSBudW07XG5cbiAgICAvLyBOb3JtYWxpemVcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xuICAgIHNoaWZ0ID0gMjYgLSBiaGlCaXRzO1xuICAgIGlmIChzaGlmdCAhPT0gMCkge1xuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xuICAgICAgYS5pdXNobG4oc2hpZnQpO1xuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcbiAgICB9XG5cbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xuICAgIHZhciBxO1xuXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XG4gICAgICBxID0gbmV3IEJOKG51bGwpO1xuICAgICAgcS5sZW5ndGggPSBtICsgMTtcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcbiAgICBpZiAoZGlmZi5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgYSA9IGRpZmY7XG4gICAgICBpZiAocSkge1xuICAgICAgICBxLndvcmRzW21dID0gMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xuICAgICAgICAoYS53b3Jkc1tiLmxlbmd0aCArIGogLSAxXSB8IDApO1xuXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxuICAgICAgLy8gKDB4N2ZmZmZmZilcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XG5cbiAgICAgIGEuX2lzaGxuc3VibXVsKGIsIHFqLCBqKTtcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgIHFqLS07XG4gICAgICAgIGEubmVnYXRpdmUgPSAwO1xuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XG4gICAgICAgICAgYS5uZWdhdGl2ZSBePSAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocSkge1xuICAgICAgICBxLndvcmRzW2pdID0gcWo7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChxKSB7XG4gICAgICBxLl9zdHJpcCgpO1xuICAgIH1cbiAgICBhLl9zdHJpcCgpO1xuXG4gICAgLy8gRGVub3JtYWxpemVcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcbiAgICAgIGEuaXVzaHJuKHNoaWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGl2OiBxIHx8IG51bGwsXG4gICAgICBtb2Q6IGFcbiAgICB9O1xuICB9O1xuXG4gIC8vIE5PVEU6IDEpIGBtb2RlYCBjYW4gYmUgc2V0IHRvIGBtb2RgIHRvIHJlcXVlc3QgbW9kIG9ubHksXG4gIC8vICAgICAgIHRvIGBkaXZgIHRvIHJlcXVlc3QgZGl2IG9ubHksIG9yIGJlIGFic2VudCB0b1xuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXG4gIC8vICAgICAgIDIpIGBwb3NpdGl2ZWAgaXMgdHJ1ZSBpZiB1bnNpZ25lZCBtb2QgaXMgcmVxdWVzdGVkXG4gIEJOLnByb3RvdHlwZS5kaXZtb2QgPSBmdW5jdGlvbiBkaXZtb2QgKG51bSwgbW9kZSwgcG9zaXRpdmUpIHtcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XG5cbiAgICBpZiAodGhpcy5pc1plcm8oKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXG4gICAgICAgIG1vZDogbmV3IEJOKDApXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLCBtb2RlKTtcblxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xuICAgICAgICBpZiAocG9zaXRpdmUgJiYgbW9kLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgICAgbW9kLmlhZGQobnVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBkaXY6IGRpdixcbiAgICAgICAgbW9kOiBtb2RcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICByZXMgPSB0aGlzLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xuXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBkaXYsXG4gICAgICAgIG1vZDogcmVzLm1vZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoKHRoaXMubmVnYXRpdmUgJiBudW0ubmVnYXRpdmUpICE9PSAwKSB7XG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xuXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgICAgIG1vZC5pc3ViKG51bSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiByZXMuZGl2LFxuICAgICAgICBtb2Q6IG1vZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBCb3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlIGF0IHRoaXMgcG9pbnRcblxuICAgIC8vIFN0cmlwIGJvdGggbnVtYmVycyB0byBhcHByb3hpbWF0ZSBzaGlmdCB2YWx1ZVxuICAgIGlmIChudW0ubGVuZ3RoID4gdGhpcy5sZW5ndGggfHwgdGhpcy5jbXAobnVtKSA8IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxuICAgICAgICBtb2Q6IHRoaXNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cbiAgICBpZiAobnVtLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKG1vZGUgPT09ICdkaXYnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcbiAgICAgICAgICBtb2Q6IG51bGxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGl2OiBudWxsLFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kcm4obnVtLndvcmRzWzBdKSlcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RybihudW0ud29yZHNbMF0pKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fd29yZERpdihudW0sIG1vZGUpO1xuICB9O1xuXG4gIC8vIEZpbmQgYHRoaXNgIC8gYG51bWBcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ2RpdicsIGZhbHNlKS5kaXY7XG4gIH07XG5cbiAgLy8gRmluZCBgdGhpc2AgJSBgbnVtYFxuICBCTi5wcm90b3R5cGUubW9kID0gZnVuY3Rpb24gbW9kIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCB0cnVlKS5tb2Q7XG4gIH07XG5cbiAgLy8gRmluZCBSb3VuZChgdGhpc2AgLyBgbnVtYClcbiAgQk4ucHJvdG90eXBlLmRpdlJvdW5kID0gZnVuY3Rpb24gZGl2Um91bmQgKG51bSkge1xuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XG5cbiAgICAvLyBGYXN0IGNhc2UgLSBleGFjdCBkaXZpc2lvblxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XG5cbiAgICB2YXIgbW9kID0gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0ubW9kLmlzdWIobnVtKSA6IGRtLm1vZDtcblxuICAgIHZhciBoYWxmID0gbnVtLnVzaHJuKDEpO1xuICAgIHZhciByMiA9IG51bS5hbmRsbigxKTtcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcblxuICAgIC8vIFJvdW5kIGRvd25cbiAgICBpZiAoY21wIDwgMCB8fCAocjIgPT09IDEgJiYgY21wID09PSAwKSkgcmV0dXJuIGRtLmRpdjtcblxuICAgIC8vIFJvdW5kIHVwXG4gICAgcmV0dXJuIGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLmRpdi5pc3VibigxKSA6IGRtLmRpdi5pYWRkbigxKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubW9kcm4gPSBmdW5jdGlvbiBtb2RybiAobnVtKSB7XG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcbiAgICBpZiAoaXNOZWdOdW0pIG51bSA9IC1udW07XG5cbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XG4gICAgdmFyIHAgPSAoMSA8PCAyNikgJSBudW07XG5cbiAgICB2YXIgYWNjID0gMDtcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNOZWdOdW0gPyAtYWNjIDogYWNjO1xuICB9O1xuXG4gIC8vIFdBUk5JTkc6IERFUFJFQ0FURURcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5tb2RybihudW0pO1xuICB9O1xuXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxuICBCTi5wcm90b3R5cGUuaWRpdm4gPSBmdW5jdGlvbiBpZGl2biAobnVtKSB7XG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcbiAgICBpZiAoaXNOZWdOdW0pIG51bSA9IC1udW07XG5cbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeSAqIDB4NDAwMDAwMDtcbiAgICAgIHRoaXMud29yZHNbaV0gPSAodyAvIG51bSkgfCAwO1xuICAgICAgY2FycnkgPSB3ICUgbnVtO1xuICAgIH1cblxuICAgIHRoaXMuX3N0cmlwKCk7XG4gICAgcmV0dXJuIGlzTmVnTnVtID8gdGhpcy5pbmVnKCkgOiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5kaXZuID0gZnVuY3Rpb24gZGl2biAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xuXG4gICAgdmFyIHggPSB0aGlzO1xuICAgIHZhciB5ID0gcC5jbG9uZSgpO1xuXG4gICAgaWYgKHgubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIHggPSB4LnVtb2QocCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHggPSB4LmNsb25lKCk7XG4gICAgfVxuXG4gICAgLy8gQSAqIHggKyBCICogeSA9IHhcbiAgICB2YXIgQSA9IG5ldyBCTigxKTtcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcblxuICAgIC8vIEMgKiB4ICsgRCAqIHkgPSB5XG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XG4gICAgdmFyIEQgPSBuZXcgQk4oMSk7XG5cbiAgICB2YXIgZyA9IDA7XG5cbiAgICB3aGlsZSAoeC5pc0V2ZW4oKSAmJiB5LmlzRXZlbigpKSB7XG4gICAgICB4Lml1c2hybigxKTtcbiAgICAgIHkuaXVzaHJuKDEpO1xuICAgICAgKytnO1xuICAgIH1cblxuICAgIHZhciB5cCA9IHkuY2xvbmUoKTtcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XG5cbiAgICB3aGlsZSAoIXguaXNaZXJvKCkpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XG4gICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgeC5pdXNocm4oaSk7XG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XG4gICAgICAgICAgaWYgKEEuaXNPZGQoKSB8fCBCLmlzT2RkKCkpIHtcbiAgICAgICAgICAgIEEuaWFkZCh5cCk7XG4gICAgICAgICAgICBCLmlzdWIoeHApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xuICAgICAgICAgIEIuaXVzaHJuKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7ICh5LndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XG4gICAgICBpZiAoaiA+IDApIHtcbiAgICAgICAgeS5pdXNocm4oaik7XG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcbiAgICAgICAgICAgIEMuaWFkZCh5cCk7XG4gICAgICAgICAgICBELmlzdWIoeHApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEMuaXVzaHJuKDEpO1xuICAgICAgICAgIEQuaXVzaHJuKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh4LmNtcCh5KSA+PSAwKSB7XG4gICAgICAgIHguaXN1Yih5KTtcbiAgICAgICAgQS5pc3ViKEMpO1xuICAgICAgICBCLmlzdWIoRCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB5LmlzdWIoeCk7XG4gICAgICAgIEMuaXN1YihBKTtcbiAgICAgICAgRC5pc3ViKEIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhOiBDLFxuICAgICAgYjogRCxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcbiAgICB9O1xuICB9O1xuXG4gIC8vIFRoaXMgaXMgcmVkdWNlZCBpbmNhcm5hdGlvbiBvZiB0aGUgYmluYXJ5IEVFQVxuICAvLyBhYm92ZSwgZGVzaWduYXRlZCB0byBpbnZlcnQgbWVtYmVycyBvZiB0aGVcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcbiAgQk4ucHJvdG90eXBlLl9pbnZtcCA9IGZ1bmN0aW9uIF9pbnZtcCAocCkge1xuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xuXG4gICAgdmFyIGEgPSB0aGlzO1xuICAgIHZhciBiID0gcC5jbG9uZSgpO1xuXG4gICAgaWYgKGEubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIGEgPSBhLnVtb2QocCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGEgPSBhLmNsb25lKCk7XG4gICAgfVxuXG4gICAgdmFyIHgxID0gbmV3IEJOKDEpO1xuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcblxuICAgIHZhciBkZWx0YSA9IGIuY2xvbmUoKTtcblxuICAgIHdoaWxlIChhLmNtcG4oMSkgPiAwICYmIGIuY21wbigxKSA+IDApIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7IChhLndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XG4gICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgYS5pdXNocm4oaSk7XG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcbiAgICAgICAgICAgIHgxLmlhZGQoZGVsdGEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHgxLml1c2hybigxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoYi53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xuICAgICAgaWYgKGogPiAwKSB7XG4gICAgICAgIGIuaXVzaHJuKGopO1xuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XG4gICAgICAgICAgICB4Mi5pYWRkKGRlbHRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB4Mi5pdXNocm4oMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGEuY21wKGIpID49IDApIHtcbiAgICAgICAgYS5pc3ViKGIpO1xuICAgICAgICB4MS5pc3ViKHgyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGIuaXN1YihhKTtcbiAgICAgICAgeDIuaXN1Yih4MSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHJlcztcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XG4gICAgICByZXMgPSB4MTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzID0geDI7XG4gICAgfVxuXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzLmlhZGQocCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ2NkID0gZnVuY3Rpb24gZ2NkIChudW0pIHtcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIG51bS5hYnMoKTtcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcblxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XG4gICAgYS5uZWdhdGl2ZSA9IDA7XG4gICAgYi5uZWdhdGl2ZSA9IDA7XG5cbiAgICAvLyBSZW1vdmUgY29tbW9uIGZhY3RvciBvZiB0d29cbiAgICBmb3IgKHZhciBzaGlmdCA9IDA7IGEuaXNFdmVuKCkgJiYgYi5pc0V2ZW4oKTsgc2hpZnQrKykge1xuICAgICAgYS5pdXNocm4oMSk7XG4gICAgICBiLml1c2hybigxKTtcbiAgICB9XG5cbiAgICBkbyB7XG4gICAgICB3aGlsZSAoYS5pc0V2ZW4oKSkge1xuICAgICAgICBhLml1c2hybigxKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChiLmlzRXZlbigpKSB7XG4gICAgICAgIGIuaXVzaHJuKDEpO1xuICAgICAgfVxuXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xuICAgICAgaWYgKHIgPCAwKSB7XG4gICAgICAgIC8vIFN3YXAgYGFgIGFuZCBgYmAgdG8gbWFrZSBgYWAgYWx3YXlzIGJpZ2dlciB0aGFuIGBiYFxuICAgICAgICB2YXIgdCA9IGE7XG4gICAgICAgIGEgPSBiO1xuICAgICAgICBiID0gdDtcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGEuaXN1YihiKTtcbiAgICB9IHdoaWxlICh0cnVlKTtcblxuICAgIHJldHVybiBiLml1c2hsbihzaGlmdCk7XG4gIH07XG5cbiAgLy8gSW52ZXJ0IG51bWJlciBpbiB0aGUgZmllbGQgRihudW0pXG4gIEJOLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc09kZCA9IGZ1bmN0aW9uIGlzT2RkICgpIHtcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMTtcbiAgfTtcblxuICAvLyBBbmQgZmlyc3Qgd29yZCBhbmQgbnVtXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy53b3Jkc1swXSAmIG51bTtcbiAgfTtcblxuICAvLyBJbmNyZW1lbnQgYXQgdGhlIGJpdCBwb3NpdGlvbiBpbi1saW5lXG4gIEJOLnByb3RvdHlwZS5iaW5jbiA9IGZ1bmN0aW9uIGJpbmNuIChiaXQpIHtcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xuICAgIHZhciByID0gYml0ICUgMjY7XG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcbiAgICB2YXIgcSA9IDEgPDwgcjtcblxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcbiAgICAgIHRoaXMuX2V4cGFuZChzICsgMSk7XG4gICAgICB0aGlzLndvcmRzW3NdIHw9IHE7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxuICAgIHZhciBjYXJyeSA9IHE7XG4gICAgZm9yICh2YXIgaSA9IHM7IGNhcnJ5ICE9PSAwICYmIGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xuICAgICAgdyArPSBjYXJyeTtcbiAgICAgIGNhcnJ5ID0gdyA+Pj4gMjY7XG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3O1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc1plcm8gPSBmdW5jdGlvbiBpc1plcm8gKCkge1xuICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5jbXBuID0gZnVuY3Rpb24gY21wbiAobnVtKSB7XG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcblxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmICFuZWdhdGl2ZSkgcmV0dXJuIC0xO1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcblxuICAgIHRoaXMuX3N0cmlwKCk7XG5cbiAgICB2YXIgcmVzO1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJlcyA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChuZWdhdGl2ZSkge1xuICAgICAgICBudW0gPSAtbnVtO1xuICAgICAgfVxuXG4gICAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZiwgJ051bWJlciBpcyB0b28gYmlnJyk7XG5cbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1swXSB8IDA7XG4gICAgICByZXMgPSB3ID09PSBudW0gPyAwIDogdyA8IG51bSA/IC0xIDogMTtcbiAgICB9XG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIC8vIENvbXBhcmUgdHdvIG51bWJlcnMgYW5kIHJldHVybjpcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXG4gIC8vIDAgLSBpZiBgdGhpc2AgPT0gYG51bWBcbiAgLy8gLTEgLSBpZiBgdGhpc2AgPCBgbnVtYFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHJldHVybiAtMTtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHJldHVybiAxO1xuXG4gICAgdmFyIHJlcyA9IHRoaXMudWNtcChudW0pO1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXG4gIEJOLnByb3RvdHlwZS51Y21wID0gZnVuY3Rpb24gdWNtcCAobnVtKSB7XG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgaGF2ZSB0aGUgc2FtZSBzaWduXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XG4gICAgaWYgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkgcmV0dXJuIC0xO1xuXG4gICAgdmFyIHJlcyA9IDA7XG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciBhID0gdGhpcy53b3Jkc1tpXSB8IDA7XG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XG5cbiAgICAgIGlmIChhID09PSBiKSBjb250aW51ZTtcbiAgICAgIGlmIChhIDwgYikge1xuICAgICAgICByZXMgPSAtMTtcbiAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcbiAgICAgICAgcmVzID0gMTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5ndG4gPSBmdW5jdGlvbiBndG4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ3QgPSBmdW5jdGlvbiBndCAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPj0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ3RlID0gZnVuY3Rpb24gZ3RlIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA+PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5sdG4gPSBmdW5jdGlvbiBsdG4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAtMTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubHRlbiA9IGZ1bmN0aW9uIGx0ZW4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA8PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5sdGUgPSBmdW5jdGlvbiBsdGUgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMDtcbiAgfTtcblxuICAvL1xuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xuICAvLyBvbiB0aGUgYG1gIGl0c2VsZi5cbiAgLy9cbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcbiAgICByZXR1cm4gbmV3IFJlZChudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b1JlZCA9IGZ1bmN0aW9uIHRvUmVkIChjdHgpIHtcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcbiAgICByZXR1cm4gY3R4LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoY3R4KTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZnJvbVJlZCA9IGZ1bmN0aW9uIGZyb21SZWQgKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ2Zyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XG4gICAgdGhpcy5yZWQgPSBjdHg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmZvcmNlUmVkID0gZnVuY3Rpb24gZm9yY2VSZWQgKGN0eCkge1xuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlUmVkKGN0eCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZEFkZCA9IGZ1bmN0aW9uIHJlZEFkZCAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkU3ViID0gZnVuY3Rpb24gcmVkU3ViIChudW0pIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLnN1Yih0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRJU3ViID0gZnVuY3Rpb24gcmVkSVN1YiAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsIG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZE11bCA9IGZ1bmN0aW9uIHJlZE11bCAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XG4gICAgcmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRJTXVsID0gZnVuY3Rpb24gcmVkSU11bCAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmltdWwodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkU3FyID0gZnVuY3Rpb24gcmVkU3FyICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcih0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSVNxciA9IGZ1bmN0aW9uIHJlZElTcXIgKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyk7XG4gIH07XG5cbiAgLy8gU3F1YXJlIHJvb3Qgb3ZlciBwXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XG4gIH07XG5cbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxuICBCTi5wcm90b3R5cGUucmVkTmVnID0gZnVuY3Rpb24gcmVkTmVnICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkUG93ID0gZnVuY3Rpb24gcmVkUG93IChudW0pIHtcbiAgICBhc3NlcnQodGhpcy5yZWQgJiYgIW51bS5yZWQsICdyZWRQb3cobm9ybWFsTnVtKScpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLnJlZC5wb3codGhpcywgbnVtKTtcbiAgfTtcblxuICAvLyBQcmltZSBudW1iZXJzIHdpdGggZWZmaWNpZW50IHJlZHVjdGlvblxuICB2YXIgcHJpbWVzID0ge1xuICAgIGsyNTY6IG51bGwsXG4gICAgcDIyNDogbnVsbCxcbiAgICBwMTkyOiBudWxsLFxuICAgIHAyNTUxOTogbnVsbFxuICB9O1xuXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxuICBmdW5jdGlvbiBNUHJpbWUgKG5hbWUsIHApIHtcbiAgICAvLyBQID0gMiBeIE4gLSBLXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnAgPSBuZXcgQk4ocCwgMTYpO1xuICAgIHRoaXMubiA9IHRoaXMucC5iaXRMZW5ndGgoKTtcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xuXG4gICAgdGhpcy50bXAgPSB0aGlzLl90bXAoKTtcbiAgfVxuXG4gIE1QcmltZS5wcm90b3R5cGUuX3RtcCA9IGZ1bmN0aW9uIF90bXAgKCkge1xuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XG4gICAgdG1wLndvcmRzID0gbmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4gLyAxMykpO1xuICAgIHJldHVybiB0bXA7XG4gIH07XG5cbiAgTVByaW1lLnByb3RvdHlwZS5pcmVkdWNlID0gZnVuY3Rpb24gaXJlZHVjZSAobnVtKSB7XG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxuICAgIC8vIG51bSA9IEhJICogKDIgXiBOIC0gSykgKyBISSAqIEsgKyBMTyA9IEhJICogSyArIExPIChtb2QgUClcbiAgICB2YXIgciA9IG51bTtcbiAgICB2YXIgcmxlbjtcblxuICAgIGRvIHtcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xuICAgICAgciA9IHRoaXMuaW11bEsocik7XG4gICAgICByID0gci5pYWRkKHRoaXMudG1wKTtcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xuICAgIH0gd2hpbGUgKHJsZW4gPiB0aGlzLm4pO1xuXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xuICAgIGlmIChjbXAgPT09IDApIHtcbiAgICAgIHIud29yZHNbMF0gPSAwO1xuICAgICAgci5sZW5ndGggPSAxO1xuICAgIH0gZWxzZSBpZiAoY21wID4gMCkge1xuICAgICAgci5pc3ViKHRoaXMucCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyLnN0cmlwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gciBpcyBhIEJOIHY0IGluc3RhbmNlXG4gICAgICAgIHIuc3RyaXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHIgaXMgYSBCTiB2NSBpbnN0YW5jZVxuICAgICAgICByLl9zdHJpcCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByO1xuICB9O1xuXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XG4gIH07XG5cbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcbiAgICByZXR1cm4gbnVtLmltdWwodGhpcy5rKTtcbiAgfTtcblxuICBmdW5jdGlvbiBLMjU2ICgpIHtcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAnazI1NicsXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcbiAgfVxuICBpbmhlcml0cyhLMjU2LCBNUHJpbWUpO1xuXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcbiAgICAvLyAyNTYgPSA5ICogMjYgKyAyMlxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XG5cbiAgICB2YXIgb3V0TGVuID0gTWF0aC5taW4oaW5wdXQubGVuZ3RoLCA5KTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcbiAgICB9XG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcblxuICAgIGlmIChpbnB1dC5sZW5ndGggPD0gOSkge1xuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTaGlmdCBieSA5IGxpbWJzXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xuXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XG4gICAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gKChuZXh0ICYgbWFzaykgPDwgNCkgfCAocHJldiA+Pj4gMjIpO1xuICAgICAgcHJldiA9IG5leHQ7XG4gICAgfVxuICAgIHByZXYgPj4+PSAyMjtcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xuICAgICAgaW5wdXQubGVuZ3RoIC09IDEwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcbiAgICB9XG4gIH07XG5cbiAgSzI1Ni5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcbiAgICBudW0ud29yZHNbbnVtLmxlbmd0aCArIDFdID0gMDtcbiAgICBudW0ubGVuZ3RoICs9IDI7XG5cbiAgICAvLyBib3VuZGVkIGF0OiAweDQwICogMHgzZmZmZmZmICsgMHgzZDAgPSAweDEwMDAwMDM5MFxuICAgIHZhciBsbyA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciB3ID0gbnVtLndvcmRzW2ldIHwgMDtcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xuICAgICAgbG8gPSB3ICogMHg0MCArICgobG8gLyAweDQwMDAwMDApIHwgMCk7XG4gICAgfVxuXG4gICAgLy8gRmFzdCBsZW5ndGggcmVkdWN0aW9uXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcbiAgICAgIG51bS5sZW5ndGgtLTtcbiAgICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XG4gICAgICAgIG51bS5sZW5ndGgtLTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bTtcbiAgfTtcblxuICBmdW5jdGlvbiBQMjI0ICgpIHtcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAncDIyNCcsXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcbiAgfVxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xuXG4gIGZ1bmN0aW9uIFAxOTIgKCkge1xuICAgIE1QcmltZS5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgICdwMTkyJyxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xuICB9XG4gIGluaGVyaXRzKFAxOTIsIE1QcmltZSk7XG5cbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcbiAgICAvLyAyIF4gMjU1IC0gMTlcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAnMjU1MTknLFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcbiAgfVxuICBpbmhlcml0cyhQMjU1MTksIE1QcmltZSk7XG5cbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcbiAgICAvLyBLID0gMHgxM1xuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBoaSA9IChudW0ud29yZHNbaV0gfCAwKSAqIDB4MTMgKyBjYXJyeTtcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xuICAgICAgaGkgPj4+PSAyNjtcblxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XG4gICAgICBjYXJyeSA9IGhpO1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XG4gICAgfVxuICAgIHJldHVybiBudW07XG4gIH07XG5cbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XG4gICAgLy8gQ2FjaGVkIHZlcnNpb24gb2YgcHJpbWVcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xuXG4gICAgdmFyIHByaW1lO1xuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjI0Jykge1xuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XG4gICAgICBwcmltZSA9IG5ldyBQMTkyKCk7XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XG4gICAgfVxuICAgIHByaW1lc1tuYW1lXSA9IHByaW1lO1xuXG4gICAgcmV0dXJuIHByaW1lO1xuICB9O1xuXG4gIC8vXG4gIC8vIEJhc2UgcmVkdWN0aW9uIGVuZ2luZVxuICAvL1xuICBmdW5jdGlvbiBSZWQgKG0pIHtcbiAgICBpZiAodHlwZW9mIG0gPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xuICAgICAgdGhpcy5wcmltZSA9IHByaW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcbiAgICAgIHRoaXMubSA9IG07XG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcbiAgICBhc3NlcnQoYS5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcbiAgICBhc3NlcnQoYS5yZWQgJiYgYS5yZWQgPT09IGIucmVkLFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xuXG4gICAgbW92ZShhLCBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcykpO1xuICAgIHJldHVybiBhO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XG4gICAgaWYgKGEuaXNaZXJvKCkpIHtcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcblxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XG4gICAgfVxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuXG4gICAgdmFyIHJlcyA9IGEuc3ViKGIpO1xuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XG4gICAgfVxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcbiAgICB0aGlzLl92ZXJpZnkxKGEpO1xuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEuaW11bChiKSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcbiAgICByZXR1cm4gdGhpcy5pbXVsKGEsIGEuY2xvbmUoKSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKGEpIHtcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xuXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcblxuICAgIC8vIEZhc3QgY2FzZVxuICAgIGlmIChtb2QzID09PSAzKSB7XG4gICAgICB2YXIgcG93ID0gdGhpcy5tLmFkZChuZXcgQk4oMSkpLml1c2hybigyKTtcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xuICAgIH1cblxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcbiAgICAvL1xuICAgIC8vIEZpbmQgUSBhbmQgUywgdGhhdCBRICogMiBeIFMgPSAoUCAtIDEpXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcbiAgICB2YXIgcyA9IDA7XG4gICAgd2hpbGUgKCFxLmlzWmVybygpICYmIHEuYW5kbG4oMSkgPT09IDApIHtcbiAgICAgIHMrKztcbiAgICAgIHEuaXVzaHJuKDEpO1xuICAgIH1cbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xuXG4gICAgdmFyIG9uZSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcblxuICAgIC8vIEZpbmQgcXVhZHJhdGljIG5vbi1yZXNpZHVlXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XG4gICAgdmFyIHogPSB0aGlzLm0uYml0TGVuZ3RoKCk7XG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xuXG4gICAgd2hpbGUgKHRoaXMucG93KHosIGxwb3cpLmNtcChuT25lKSAhPT0gMCkge1xuICAgICAgei5yZWRJQWRkKG5PbmUpO1xuICAgIH1cblxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcbiAgICB2YXIgdCA9IHRoaXMucG93KGEsIHEpO1xuICAgIHZhciBtID0gcztcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xuICAgICAgdmFyIHRtcCA9IHQ7XG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xuICAgICAgfVxuICAgICAgYXNzZXJ0KGkgPCBtKTtcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcblxuICAgICAgciA9IHIucmVkTXVsKGIpO1xuICAgICAgYyA9IGIucmVkU3FyKCk7XG4gICAgICB0ID0gdC5yZWRNdWwoYyk7XG4gICAgICBtID0gaTtcbiAgICB9XG5cbiAgICByZXR1cm4gcjtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XG4gICAgaWYgKGludi5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xuICAgIH1cbiAgfTtcblxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigxKS50b1JlZCh0aGlzKTtcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XG5cbiAgICB2YXIgd2luZG93U2l6ZSA9IDQ7XG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcbiAgICB3bmRbMV0gPSBhO1xuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcbiAgICB9XG5cbiAgICB2YXIgcmVzID0gd25kWzBdO1xuICAgIHZhciBjdXJyZW50ID0gMDtcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XG4gICAgaWYgKHN0YXJ0ID09PSAwKSB7XG4gICAgICBzdGFydCA9IDI2O1xuICAgIH1cblxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XG4gICAgICBmb3IgKHZhciBqID0gc3RhcnQgLSAxOyBqID49IDA7IGotLSkge1xuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcbiAgICAgICAgICByZXMgPSB0aGlzLnNxcihyZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJpdCA9PT0gMCAmJiBjdXJyZW50ID09PSAwKSB7XG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50IDw8PSAxO1xuICAgICAgICBjdXJyZW50IHw9IGJpdDtcbiAgICAgICAgY3VycmVudExlbisrO1xuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XG5cbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xuICAgICAgICBjdXJyZW50TGVuID0gMDtcbiAgICAgICAgY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBzdGFydCA9IDI2O1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xuICAgIHZhciByID0gbnVtLnVtb2QodGhpcy5tKTtcblxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XG4gICAgdmFyIHJlcyA9IG51bS5jbG9uZSgpO1xuICAgIHJlcy5yZWQgPSBudWxsO1xuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgLy9cbiAgLy8gTW9udGdvbWVyeSBtZXRob2QgZW5naW5lXG4gIC8vXG5cbiAgQk4ubW9udCA9IGZ1bmN0aW9uIG1vbnQgKG51bSkge1xuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcblxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xuICAgICAgdGhpcy5zaGlmdCArPSAyNiAtICh0aGlzLnNoaWZ0ICUgMjYpO1xuICAgIH1cblxuICAgIHRoaXMuciA9IG5ldyBCTigxKS5pdXNobG4odGhpcy5zaGlmdCk7XG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcblxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xuICAgIHRoaXMubWludiA9IHRoaXMuci5zdWIodGhpcy5taW52KTtcbiAgfVxuICBpbmhlcml0cyhNb250LCBSZWQpO1xuXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xuICB9O1xuXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xuICAgIHZhciByID0gdGhpcy5pbW9kKG51bS5tdWwodGhpcy5yaW52KSk7XG4gICAgci5yZWQgPSBudWxsO1xuICAgIHJldHVybiByO1xuICB9O1xuXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkge1xuICAgICAgYS53b3Jkc1swXSA9IDA7XG4gICAgICBhLmxlbmd0aCA9IDE7XG4gICAgICByZXR1cm4gYTtcbiAgICB9XG5cbiAgICB2YXIgdCA9IGEuaW11bChiKTtcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcbiAgICB2YXIgcmVzID0gdTtcblxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XG4gIH07XG5cbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigwKS5fZm9yY2VSZWQodGhpcyk7XG5cbiAgICB2YXIgdCA9IGEubXVsKGIpO1xuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xuICAgIHZhciByZXMgPSB1O1xuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XG4gIH07XG5cbiAgTW9udC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XG4gIH07XG59KSh0eXBlb2YgbW9kdWxlID09PSAndW5kZWZpbmVkJyB8fCBtb2R1bGUsIHRoaXMpO1xuIiwidmFyIHI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmFuZChsZW4pIHtcbiAgaWYgKCFyKVxuICAgIHIgPSBuZXcgUmFuZChudWxsKTtcblxuICByZXR1cm4gci5nZW5lcmF0ZShsZW4pO1xufTtcblxuZnVuY3Rpb24gUmFuZChyYW5kKSB7XG4gIHRoaXMucmFuZCA9IHJhbmQ7XG59XG5tb2R1bGUuZXhwb3J0cy5SYW5kID0gUmFuZDtcblxuUmFuZC5wcm90b3R5cGUuZ2VuZXJhdGUgPSBmdW5jdGlvbiBnZW5lcmF0ZShsZW4pIHtcbiAgcmV0dXJuIHRoaXMuX3JhbmQobGVuKTtcbn07XG5cbi8vIEVtdWxhdGUgY3J5cHRvIEFQSSB1c2luZyByYW5keVxuUmFuZC5wcm90b3R5cGUuX3JhbmQgPSBmdW5jdGlvbiBfcmFuZChuKSB7XG4gIGlmICh0aGlzLnJhbmQuZ2V0Qnl0ZXMpXG4gICAgcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhuKTtcblxuICB2YXIgcmVzID0gbmV3IFVpbnQ4QXJyYXkobik7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmxlbmd0aDsgaSsrKVxuICAgIHJlc1tpXSA9IHRoaXMucmFuZC5nZXRCeXRlKCk7XG4gIHJldHVybiByZXM7XG59O1xuXG5pZiAodHlwZW9mIHNlbGYgPT09ICdvYmplY3QnKSB7XG4gIGlmIChzZWxmLmNyeXB0byAmJiBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcbiAgICAvLyBNb2Rlcm4gYnJvd3NlcnNcbiAgICBSYW5kLnByb3RvdHlwZS5fcmFuZCA9IGZ1bmN0aW9uIF9yYW5kKG4pIHtcbiAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShuKTtcbiAgICAgIHNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnIpO1xuICAgICAgcmV0dXJuIGFycjtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHNlbGYubXNDcnlwdG8gJiYgc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcbiAgICAvLyBJRVxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xuICAgICAgdmFyIGFyciA9IG5ldyBVaW50OEFycmF5KG4pO1xuICAgICAgc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMoYXJyKTtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfTtcblxuICAvLyBTYWZhcmkncyBXZWJXb3JrZXJzIGRvIG5vdCBoYXZlIGBjcnlwdG9gXG4gIH0gZWxzZSBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHtcbiAgICAvLyBPbGQganVua1xuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCB5ZXQnKTtcbiAgICB9O1xuICB9XG59IGVsc2Uge1xuICAvLyBOb2RlLmpzIG9yIFdlYiB3b3JrZXIgd2l0aCBubyBjcnlwdG8gc3VwcG9ydFxuICB0cnkge1xuICAgIHZhciBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbiAgICBpZiAodHlwZW9mIGNyeXB0by5yYW5kb21CeXRlcyAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCcpO1xuXG4gICAgUmFuZC5wcm90b3R5cGUuX3JhbmQgPSBmdW5jdGlvbiBfcmFuZChuKSB7XG4gICAgICByZXR1cm4gY3J5cHRvLnJhbmRvbUJ5dGVzKG4pO1xuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxufVxuIiwiLy8gYmFzZWQgb24gdGhlIGFlcyBpbXBsaW1lbnRhdGlvbiBpbiB0cmlwbGUgc2VjXG4vLyBodHRwczovL2dpdGh1Yi5jb20va2V5YmFzZS90cmlwbGVzZWNcbi8vIHdoaWNoIGlzIGluIHR1cm4gYmFzZWQgb24gdGhlIG9uZSBmcm9tIGNyeXB0by1qc1xuLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jcnlwdG8tanMvXG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG5mdW5jdGlvbiBhc1VJbnQzMkFycmF5IChidWYpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkgYnVmID0gQnVmZmVyLmZyb20oYnVmKVxuXG4gIHZhciBsZW4gPSAoYnVmLmxlbmd0aCAvIDQpIHwgMFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KGxlbilcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgb3V0W2ldID0gYnVmLnJlYWRVSW50MzJCRShpICogNClcbiAgfVxuXG4gIHJldHVybiBvdXRcbn1cblxuZnVuY3Rpb24gc2NydWJWZWMgKHYpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgdisrKSB7XG4gICAgdltpXSA9IDBcbiAgfVxufVxuXG5mdW5jdGlvbiBjcnlwdEJsb2NrIChNLCBrZXlTY2hlZHVsZSwgU1VCX01JWCwgU0JPWCwgblJvdW5kcykge1xuICB2YXIgU1VCX01JWDAgPSBTVUJfTUlYWzBdXG4gIHZhciBTVUJfTUlYMSA9IFNVQl9NSVhbMV1cbiAgdmFyIFNVQl9NSVgyID0gU1VCX01JWFsyXVxuICB2YXIgU1VCX01JWDMgPSBTVUJfTUlYWzNdXG5cbiAgdmFyIHMwID0gTVswXSBeIGtleVNjaGVkdWxlWzBdXG4gIHZhciBzMSA9IE1bMV0gXiBrZXlTY2hlZHVsZVsxXVxuICB2YXIgczIgPSBNWzJdIF4ga2V5U2NoZWR1bGVbMl1cbiAgdmFyIHMzID0gTVszXSBeIGtleVNjaGVkdWxlWzNdXG4gIHZhciB0MCwgdDEsIHQyLCB0M1xuICB2YXIga3NSb3cgPSA0XG5cbiAgZm9yICh2YXIgcm91bmQgPSAxOyByb3VuZCA8IG5Sb3VuZHM7IHJvdW5kKyspIHtcbiAgICB0MCA9IFNVQl9NSVgwW3MwID4+PiAyNF0gXiBTVUJfTUlYMVsoczEgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWDJbKHMyID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWDNbczMgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdXG4gICAgdDEgPSBTVUJfTUlYMFtzMSA+Pj4gMjRdIF4gU1VCX01JWDFbKHMyID4+PiAxNikgJiAweGZmXSBeIFNVQl9NSVgyWyhzMyA+Pj4gOCkgJiAweGZmXSBeIFNVQl9NSVgzW3MwICYgMHhmZl0gXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxuICAgIHQyID0gU1VCX01JWDBbczIgPj4+IDI0XSBeIFNVQl9NSVgxWyhzMyA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYMlsoczAgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYM1tzMSAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK11cbiAgICB0MyA9IFNVQl9NSVgwW3MzID4+PiAyNF0gXiBTVUJfTUlYMVsoczAgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWDJbKHMxID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWDNbczIgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdXG4gICAgczAgPSB0MFxuICAgIHMxID0gdDFcbiAgICBzMiA9IHQyXG4gICAgczMgPSB0M1xuICB9XG5cbiAgdDAgPSAoKFNCT1hbczAgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczEgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMiA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczMgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxuICB0MSA9ICgoU0JPWFtzMSA+Pj4gMjRdIDw8IDI0KSB8IChTQk9YWyhzMiA+Pj4gMTYpICYgMHhmZl0gPDwgMTYpIHwgKFNCT1hbKHMzID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHwgU0JPWFtzMCAmIDB4ZmZdKSBeIGtleVNjaGVkdWxlW2tzUm93KytdXG4gIHQyID0gKChTQk9YW3MyID4+PiAyNF0gPDwgMjQpIHwgKFNCT1hbKHMzID4+PiAxNikgJiAweGZmXSA8PCAxNikgfCAoU0JPWFsoczAgPj4+IDgpICYgMHhmZl0gPDwgOCkgfCBTQk9YW3MxICYgMHhmZl0pIF4ga2V5U2NoZWR1bGVba3NSb3crK11cbiAgdDMgPSAoKFNCT1hbczMgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczAgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMSA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczIgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxuICB0MCA9IHQwID4+PiAwXG4gIHQxID0gdDEgPj4+IDBcbiAgdDIgPSB0MiA+Pj4gMFxuICB0MyA9IHQzID4+PiAwXG5cbiAgcmV0dXJuIFt0MCwgdDEsIHQyLCB0M11cbn1cblxuLy8gQUVTIGNvbnN0YW50c1xudmFyIFJDT04gPSBbMHgwMCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNl1cbnZhciBHID0gKGZ1bmN0aW9uICgpIHtcbiAgLy8gQ29tcHV0ZSBkb3VibGUgdGFibGVcbiAgdmFyIGQgPSBuZXcgQXJyYXkoMjU2KVxuICBmb3IgKHZhciBqID0gMDsgaiA8IDI1NjsgaisrKSB7XG4gICAgaWYgKGogPCAxMjgpIHtcbiAgICAgIGRbal0gPSBqIDw8IDFcbiAgICB9IGVsc2Uge1xuICAgICAgZFtqXSA9IChqIDw8IDEpIF4gMHgxMWJcbiAgICB9XG4gIH1cblxuICB2YXIgU0JPWCA9IFtdXG4gIHZhciBJTlZfU0JPWCA9IFtdXG4gIHZhciBTVUJfTUlYID0gW1tdLCBbXSwgW10sIFtdXVxuICB2YXIgSU5WX1NVQl9NSVggPSBbW10sIFtdLCBbXSwgW11dXG5cbiAgLy8gV2FsayBHRigyXjgpXG4gIHZhciB4ID0gMFxuICB2YXIgeGkgPSAwXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcbiAgICAvLyBDb21wdXRlIHNib3hcbiAgICB2YXIgc3ggPSB4aSBeICh4aSA8PCAxKSBeICh4aSA8PCAyKSBeICh4aSA8PCAzKSBeICh4aSA8PCA0KVxuICAgIHN4ID0gKHN4ID4+PiA4KSBeIChzeCAmIDB4ZmYpIF4gMHg2M1xuICAgIFNCT1hbeF0gPSBzeFxuICAgIElOVl9TQk9YW3N4XSA9IHhcblxuICAgIC8vIENvbXB1dGUgbXVsdGlwbGljYXRpb25cbiAgICB2YXIgeDIgPSBkW3hdXG4gICAgdmFyIHg0ID0gZFt4Ml1cbiAgICB2YXIgeDggPSBkW3g0XVxuXG4gICAgLy8gQ29tcHV0ZSBzdWIgYnl0ZXMsIG1peCBjb2x1bW5zIHRhYmxlc1xuICAgIHZhciB0ID0gKGRbc3hdICogMHgxMDEpIF4gKHN4ICogMHgxMDEwMTAwKVxuICAgIFNVQl9NSVhbMF1beF0gPSAodCA8PCAyNCkgfCAodCA+Pj4gOClcbiAgICBTVUJfTUlYWzFdW3hdID0gKHQgPDwgMTYpIHwgKHQgPj4+IDE2KVxuICAgIFNVQl9NSVhbMl1beF0gPSAodCA8PCA4KSB8ICh0ID4+PiAyNClcbiAgICBTVUJfTUlYWzNdW3hdID0gdFxuXG4gICAgLy8gQ29tcHV0ZSBpbnYgc3ViIGJ5dGVzLCBpbnYgbWl4IGNvbHVtbnMgdGFibGVzXG4gICAgdCA9ICh4OCAqIDB4MTAxMDEwMSkgXiAoeDQgKiAweDEwMDAxKSBeICh4MiAqIDB4MTAxKSBeICh4ICogMHgxMDEwMTAwKVxuICAgIElOVl9TVUJfTUlYWzBdW3N4XSA9ICh0IDw8IDI0KSB8ICh0ID4+PiA4KVxuICAgIElOVl9TVUJfTUlYWzFdW3N4XSA9ICh0IDw8IDE2KSB8ICh0ID4+PiAxNilcbiAgICBJTlZfU1VCX01JWFsyXVtzeF0gPSAodCA8PCA4KSB8ICh0ID4+PiAyNClcbiAgICBJTlZfU1VCX01JWFszXVtzeF0gPSB0XG5cbiAgICBpZiAoeCA9PT0gMCkge1xuICAgICAgeCA9IHhpID0gMVxuICAgIH0gZWxzZSB7XG4gICAgICB4ID0geDIgXiBkW2RbZFt4OCBeIHgyXV1dXG4gICAgICB4aSBePSBkW2RbeGldXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgU0JPWDogU0JPWCxcbiAgICBJTlZfU0JPWDogSU5WX1NCT1gsXG4gICAgU1VCX01JWDogU1VCX01JWCxcbiAgICBJTlZfU1VCX01JWDogSU5WX1NVQl9NSVhcbiAgfVxufSkoKVxuXG5mdW5jdGlvbiBBRVMgKGtleSkge1xuICB0aGlzLl9rZXkgPSBhc1VJbnQzMkFycmF5KGtleSlcbiAgdGhpcy5fcmVzZXQoKVxufVxuXG5BRVMuYmxvY2tTaXplID0gNCAqIDRcbkFFUy5rZXlTaXplID0gMjU2IC8gOFxuQUVTLnByb3RvdHlwZS5ibG9ja1NpemUgPSBBRVMuYmxvY2tTaXplXG5BRVMucHJvdG90eXBlLmtleVNpemUgPSBBRVMua2V5U2l6ZVxuQUVTLnByb3RvdHlwZS5fcmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBrZXlXb3JkcyA9IHRoaXMuX2tleVxuICB2YXIga2V5U2l6ZSA9IGtleVdvcmRzLmxlbmd0aFxuICB2YXIgblJvdW5kcyA9IGtleVNpemUgKyA2XG4gIHZhciBrc1Jvd3MgPSAoblJvdW5kcyArIDEpICogNFxuXG4gIHZhciBrZXlTY2hlZHVsZSA9IFtdXG4gIGZvciAodmFyIGsgPSAwOyBrIDwga2V5U2l6ZTsgaysrKSB7XG4gICAga2V5U2NoZWR1bGVba10gPSBrZXlXb3Jkc1trXVxuICB9XG5cbiAgZm9yIChrID0ga2V5U2l6ZTsgayA8IGtzUm93czsgaysrKSB7XG4gICAgdmFyIHQgPSBrZXlTY2hlZHVsZVtrIC0gMV1cblxuICAgIGlmIChrICUga2V5U2l6ZSA9PT0gMCkge1xuICAgICAgdCA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KVxuICAgICAgdCA9XG4gICAgICAgIChHLlNCT1hbdCA+Pj4gMjRdIDw8IDI0KSB8XG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8XG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDgpICYgMHhmZl0gPDwgOCkgfFxuICAgICAgICAoRy5TQk9YW3QgJiAweGZmXSlcblxuICAgICAgdCBePSBSQ09OWyhrIC8ga2V5U2l6ZSkgfCAwXSA8PCAyNFxuICAgIH0gZWxzZSBpZiAoa2V5U2l6ZSA+IDYgJiYgayAlIGtleVNpemUgPT09IDQpIHtcbiAgICAgIHQgPVxuICAgICAgICAoRy5TQk9YW3QgPj4+IDI0XSA8PCAyNCkgfFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiAxNikgJiAweGZmXSA8PCAxNikgfFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHxcbiAgICAgICAgKEcuU0JPWFt0ICYgMHhmZl0pXG4gICAgfVxuXG4gICAga2V5U2NoZWR1bGVba10gPSBrZXlTY2hlZHVsZVtrIC0ga2V5U2l6ZV0gXiB0XG4gIH1cblxuICB2YXIgaW52S2V5U2NoZWR1bGUgPSBbXVxuICBmb3IgKHZhciBpayA9IDA7IGlrIDwga3NSb3dzOyBpaysrKSB7XG4gICAgdmFyIGtzUiA9IGtzUm93cyAtIGlrXG4gICAgdmFyIHR0ID0ga2V5U2NoZWR1bGVba3NSIC0gKGlrICUgNCA/IDAgOiA0KV1cblxuICAgIGlmIChpayA8IDQgfHwga3NSIDw9IDQpIHtcbiAgICAgIGludktleVNjaGVkdWxlW2lrXSA9IHR0XG4gICAgfSBlbHNlIHtcbiAgICAgIGludktleVNjaGVkdWxlW2lrXSA9XG4gICAgICAgIEcuSU5WX1NVQl9NSVhbMF1bRy5TQk9YW3R0ID4+PiAyNF1dIF5cbiAgICAgICAgRy5JTlZfU1VCX01JWFsxXVtHLlNCT1hbKHR0ID4+PiAxNikgJiAweGZmXV0gXlxuICAgICAgICBHLklOVl9TVUJfTUlYWzJdW0cuU0JPWFsodHQgPj4+IDgpICYgMHhmZl1dIF5cbiAgICAgICAgRy5JTlZfU1VCX01JWFszXVtHLlNCT1hbdHQgJiAweGZmXV1cbiAgICB9XG4gIH1cblxuICB0aGlzLl9uUm91bmRzID0gblJvdW5kc1xuICB0aGlzLl9rZXlTY2hlZHVsZSA9IGtleVNjaGVkdWxlXG4gIHRoaXMuX2ludktleVNjaGVkdWxlID0gaW52S2V5U2NoZWR1bGVcbn1cblxuQUVTLnByb3RvdHlwZS5lbmNyeXB0QmxvY2tSYXcgPSBmdW5jdGlvbiAoTSkge1xuICBNID0gYXNVSW50MzJBcnJheShNKVxuICByZXR1cm4gY3J5cHRCbG9jayhNLCB0aGlzLl9rZXlTY2hlZHVsZSwgRy5TVUJfTUlYLCBHLlNCT1gsIHRoaXMuX25Sb3VuZHMpXG59XG5cbkFFUy5wcm90b3R5cGUuZW5jcnlwdEJsb2NrID0gZnVuY3Rpb24gKE0pIHtcbiAgdmFyIG91dCA9IHRoaXMuZW5jcnlwdEJsb2NrUmF3KE0pXG4gIHZhciBidWYgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMTYpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFswXSwgMClcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzFdLCA0KVxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMl0sIDgpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFszXSwgMTIpXG4gIHJldHVybiBidWZcbn1cblxuQUVTLnByb3RvdHlwZS5kZWNyeXB0QmxvY2sgPSBmdW5jdGlvbiAoTSkge1xuICBNID0gYXNVSW50MzJBcnJheShNKVxuXG4gIC8vIHN3YXBcbiAgdmFyIG0xID0gTVsxXVxuICBNWzFdID0gTVszXVxuICBNWzNdID0gbTFcblxuICB2YXIgb3V0ID0gY3J5cHRCbG9jayhNLCB0aGlzLl9pbnZLZXlTY2hlZHVsZSwgRy5JTlZfU1VCX01JWCwgRy5JTlZfU0JPWCwgdGhpcy5fblJvdW5kcylcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzBdLCAwKVxuICBidWYud3JpdGVVSW50MzJCRShvdXRbM10sIDQpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSwgOClcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzFdLCAxMilcbiAgcmV0dXJuIGJ1ZlxufVxuXG5BRVMucHJvdG90eXBlLnNjcnViID0gZnVuY3Rpb24gKCkge1xuICBzY3J1YlZlYyh0aGlzLl9rZXlTY2hlZHVsZSlcbiAgc2NydWJWZWModGhpcy5faW52S2V5U2NoZWR1bGUpXG4gIHNjcnViVmVjKHRoaXMuX2tleSlcbn1cblxubW9kdWxlLmV4cG9ydHMuQUVTID0gQUVTXG4iLCJ2YXIgYWVzID0gcmVxdWlyZSgnLi9hZXMnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnY2lwaGVyLWJhc2UnKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEdIQVNIID0gcmVxdWlyZSgnLi9naGFzaCcpXG52YXIgeG9yID0gcmVxdWlyZSgnYnVmZmVyLXhvcicpXG52YXIgaW5jcjMyID0gcmVxdWlyZSgnLi9pbmNyMzInKVxuXG5mdW5jdGlvbiB4b3JUZXN0IChhLCBiKSB7XG4gIHZhciBvdXQgPSAwXG4gIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIG91dCsrXG5cbiAgdmFyIGxlbiA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgIG91dCArPSAoYVtpXSBeIGJbaV0pXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIGNhbGNJdiAoc2VsZiwgaXYsIGNrKSB7XG4gIGlmIChpdi5sZW5ndGggPT09IDEyKSB7XG4gICAgc2VsZi5fZmluSUQgPSBCdWZmZXIuY29uY2F0KFtpdiwgQnVmZmVyLmZyb20oWzAsIDAsIDAsIDFdKV0pXG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2l2LCBCdWZmZXIuZnJvbShbMCwgMCwgMCwgMl0pXSlcbiAgfVxuICB2YXIgZ2hhc2ggPSBuZXcgR0hBU0goY2spXG4gIHZhciBsZW4gPSBpdi5sZW5ndGhcbiAgdmFyIHRvUGFkID0gbGVuICUgMTZcbiAgZ2hhc2gudXBkYXRlKGl2KVxuICBpZiAodG9QYWQpIHtcbiAgICB0b1BhZCA9IDE2IC0gdG9QYWRcbiAgICBnaGFzaC51cGRhdGUoQnVmZmVyLmFsbG9jKHRvUGFkLCAwKSlcbiAgfVxuICBnaGFzaC51cGRhdGUoQnVmZmVyLmFsbG9jKDgsIDApKVxuICB2YXIgaXZCaXRzID0gbGVuICogOFxuICB2YXIgdGFpbCA9IEJ1ZmZlci5hbGxvYyg4KVxuICB0YWlsLndyaXRlVUludEJFKGl2Qml0cywgMCwgOClcbiAgZ2hhc2gudXBkYXRlKHRhaWwpXG4gIHNlbGYuX2ZpbklEID0gZ2hhc2guc3RhdGVcbiAgdmFyIG91dCA9IEJ1ZmZlci5mcm9tKHNlbGYuX2ZpbklEKVxuICBpbmNyMzIob3V0KVxuICByZXR1cm4gb3V0XG59XG5mdW5jdGlvbiBTdHJlYW1DaXBoZXIgKG1vZGUsIGtleSwgaXYsIGRlY3J5cHQpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcblxuICB2YXIgaCA9IEJ1ZmZlci5hbGxvYyg0LCAwKVxuXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcbiAgdmFyIGNrID0gdGhpcy5fY2lwaGVyLmVuY3J5cHRCbG9jayhoKVxuICB0aGlzLl9naGFzaCA9IG5ldyBHSEFTSChjaylcbiAgaXYgPSBjYWxjSXYodGhpcywgaXYsIGNrKVxuXG4gIHRoaXMuX3ByZXYgPSBCdWZmZXIuZnJvbShpdilcbiAgdGhpcy5fY2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcbiAgdGhpcy5fc2VjQ2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcbiAgdGhpcy5fZGVjcnlwdCA9IGRlY3J5cHRcbiAgdGhpcy5fYWxlbiA9IDBcbiAgdGhpcy5fbGVuID0gMFxuICB0aGlzLl9tb2RlID0gbW9kZVxuXG4gIHRoaXMuX2F1dGhUYWcgPSBudWxsXG4gIHRoaXMuX2NhbGxlZCA9IGZhbHNlXG59XG5cbmluaGVyaXRzKFN0cmVhbUNpcGhlciwgVHJhbnNmb3JtKVxuXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoY2h1bmspIHtcbiAgaWYgKCF0aGlzLl9jYWxsZWQgJiYgdGhpcy5fYWxlbikge1xuICAgIHZhciBydW1wID0gMTYgLSAodGhpcy5fYWxlbiAlIDE2KVxuICAgIGlmIChydW1wIDwgMTYpIHtcbiAgICAgIHJ1bXAgPSBCdWZmZXIuYWxsb2MocnVtcCwgMClcbiAgICAgIHRoaXMuX2doYXNoLnVwZGF0ZShydW1wKVxuICAgIH1cbiAgfVxuXG4gIHRoaXMuX2NhbGxlZCA9IHRydWVcbiAgdmFyIG91dCA9IHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaylcbiAgaWYgKHRoaXMuX2RlY3J5cHQpIHtcbiAgICB0aGlzLl9naGFzaC51cGRhdGUoY2h1bmspXG4gIH0gZWxzZSB7XG4gICAgdGhpcy5fZ2hhc2gudXBkYXRlKG91dClcbiAgfVxuICB0aGlzLl9sZW4gKz0gY2h1bmsubGVuZ3RoXG4gIHJldHVybiBvdXRcbn1cblxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICh0aGlzLl9kZWNyeXB0ICYmICF0aGlzLl9hdXRoVGFnKSB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHN0YXRlIG9yIHVuYWJsZSB0byBhdXRoZW50aWNhdGUgZGF0YScpXG5cbiAgdmFyIHRhZyA9IHhvcih0aGlzLl9naGFzaC5maW5hbCh0aGlzLl9hbGVuICogOCwgdGhpcy5fbGVuICogOCksIHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodGhpcy5fZmluSUQpKVxuICBpZiAodGhpcy5fZGVjcnlwdCAmJiB4b3JUZXN0KHRhZywgdGhpcy5fYXV0aFRhZykpIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgc3RhdGUgb3IgdW5hYmxlIHRvIGF1dGhlbnRpY2F0ZSBkYXRhJylcblxuICB0aGlzLl9hdXRoVGFnID0gdGFnXG4gIHRoaXMuX2NpcGhlci5zY3J1YigpXG59XG5cblN0cmVhbUNpcGhlci5wcm90b3R5cGUuZ2V0QXV0aFRhZyA9IGZ1bmN0aW9uIGdldEF1dGhUYWcgKCkge1xuICBpZiAodGhpcy5fZGVjcnlwdCB8fCAhQnVmZmVyLmlzQnVmZmVyKHRoaXMuX2F1dGhUYWcpKSB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gZ2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlJylcblxuICByZXR1cm4gdGhpcy5fYXV0aFRhZ1xufVxuXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLnNldEF1dGhUYWcgPSBmdW5jdGlvbiBzZXRBdXRoVGFnICh0YWcpIHtcbiAgaWYgKCF0aGlzLl9kZWNyeXB0KSB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gc2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlJylcblxuICB0aGlzLl9hdXRoVGFnID0gdGFnXG59XG5cblN0cmVhbUNpcGhlci5wcm90b3R5cGUuc2V0QUFEID0gZnVuY3Rpb24gc2V0QUFEIChidWYpIHtcbiAgaWYgKHRoaXMuX2NhbGxlZCkgdGhyb3cgbmV3IEVycm9yKCdBdHRlbXB0aW5nIHRvIHNldCBBQUQgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxuXG4gIHRoaXMuX2doYXNoLnVwZGF0ZShidWYpXG4gIHRoaXMuX2FsZW4gKz0gYnVmLmxlbmd0aFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFN0cmVhbUNpcGhlclxuIiwidmFyIGNpcGhlcnMgPSByZXF1aXJlKCcuL2VuY3J5cHRlcicpXG52YXIgZGVjaXBoZXJzID0gcmVxdWlyZSgnLi9kZWNyeXB0ZXInKVxudmFyIG1vZGVzID0gcmVxdWlyZSgnLi9tb2Rlcy9saXN0Lmpzb24nKVxuXG5mdW5jdGlvbiBnZXRDaXBoZXJzICgpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1vZGVzKVxufVxuXG5leHBvcnRzLmNyZWF0ZUNpcGhlciA9IGV4cG9ydHMuQ2lwaGVyID0gY2lwaGVycy5jcmVhdGVDaXBoZXJcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBleHBvcnRzLkNpcGhlcml2ID0gY2lwaGVycy5jcmVhdGVDaXBoZXJpdlxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlciA9IGV4cG9ydHMuRGVjaXBoZXIgPSBkZWNpcGhlcnMuY3JlYXRlRGVjaXBoZXJcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGV4cG9ydHMuRGVjaXBoZXJpdiA9IGRlY2lwaGVycy5jcmVhdGVEZWNpcGhlcml2XG5leHBvcnRzLmxpc3RDaXBoZXJzID0gZXhwb3J0cy5nZXRDaXBoZXJzID0gZ2V0Q2lwaGVyc1xuIiwidmFyIEF1dGhDaXBoZXIgPSByZXF1aXJlKCcuL2F1dGhDaXBoZXInKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG52YXIgTU9ERVMgPSByZXF1aXJlKCcuL21vZGVzJylcbnZhciBTdHJlYW1DaXBoZXIgPSByZXF1aXJlKCcuL3N0cmVhbUNpcGhlcicpXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnY2lwaGVyLWJhc2UnKVxudmFyIGFlcyA9IHJlcXVpcmUoJy4vYWVzJylcbnZhciBlYnRrID0gcmVxdWlyZSgnZXZwX2J5dGVzdG9rZXknKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxuXG5mdW5jdGlvbiBEZWNpcGhlciAobW9kZSwga2V5LCBpdikge1xuICBUcmFuc2Zvcm0uY2FsbCh0aGlzKVxuXG4gIHRoaXMuX2NhY2hlID0gbmV3IFNwbGl0dGVyKClcbiAgdGhpcy5fbGFzdCA9IHZvaWQgMFxuICB0aGlzLl9jaXBoZXIgPSBuZXcgYWVzLkFFUyhrZXkpXG4gIHRoaXMuX3ByZXYgPSBCdWZmZXIuZnJvbShpdilcbiAgdGhpcy5fbW9kZSA9IG1vZGVcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSB0cnVlXG59XG5cbmluaGVyaXRzKERlY2lwaGVyLCBUcmFuc2Zvcm0pXG5cbkRlY2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5fY2FjaGUuYWRkKGRhdGEpXG4gIHZhciBjaHVua1xuICB2YXIgdGhpbmdcbiAgdmFyIG91dCA9IFtdXG4gIHdoaWxlICgoY2h1bmsgPSB0aGlzLl9jYWNoZS5nZXQodGhpcy5fYXV0b3BhZGRpbmcpKSkge1xuICAgIHRoaW5nID0gdGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsIGNodW5rKVxuICAgIG91dC5wdXNoKHRoaW5nKVxuICB9XG4gIHJldHVybiBCdWZmZXIuY29uY2F0KG91dClcbn1cblxuRGVjaXBoZXIucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGNodW5rID0gdGhpcy5fY2FjaGUuZmx1c2goKVxuICBpZiAodGhpcy5fYXV0b3BhZGRpbmcpIHtcbiAgICByZXR1cm4gdW5wYWQodGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsIGNodW5rKSlcbiAgfSBlbHNlIGlmIChjaHVuaykge1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YSBub3QgbXVsdGlwbGUgb2YgYmxvY2sgbGVuZ3RoJylcbiAgfVxufVxuXG5EZWNpcGhlci5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmcgPSBmdW5jdGlvbiAoc2V0VG8pIHtcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIFNwbGl0dGVyICgpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGF1dG9QYWRkaW5nKSB7XG4gIHZhciBvdXRcbiAgaWYgKGF1dG9QYWRkaW5nKSB7XG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID4gMTYpIHtcbiAgICAgIG91dCA9IHRoaXMuY2FjaGUuc2xpY2UoMCwgMTYpXG4gICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5zbGljZSgxNilcbiAgICAgIHJldHVybiBvdXRcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID49IDE2KSB7XG4gICAgICBvdXQgPSB0aGlzLmNhY2hlLnNsaWNlKDAsIDE2KVxuICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuc2xpY2UoMTYpXG4gICAgICByZXR1cm4gb3V0XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuU3BsaXR0ZXIucHJvdG90eXBlLmZsdXNoID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5jYWNoZS5sZW5ndGgpIHJldHVybiB0aGlzLmNhY2hlXG59XG5cbmZ1bmN0aW9uIHVucGFkIChsYXN0KSB7XG4gIHZhciBwYWRkZWQgPSBsYXN0WzE1XVxuICBpZiAocGFkZGVkIDwgMSB8fCBwYWRkZWQgPiAxNikge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5hYmxlIHRvIGRlY3J5cHQgZGF0YScpXG4gIH1cbiAgdmFyIGkgPSAtMVxuICB3aGlsZSAoKytpIDwgcGFkZGVkKSB7XG4gICAgaWYgKGxhc3RbKGkgKyAoMTYgLSBwYWRkZWQpKV0gIT09IHBhZGRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZGVjcnlwdCBkYXRhJylcbiAgICB9XG4gIH1cbiAgaWYgKHBhZGRlZCA9PT0gMTYpIHJldHVyblxuXG4gIHJldHVybiBsYXN0LnNsaWNlKDAsIDE2IC0gcGFkZGVkKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcml2IChzdWl0ZSwgcGFzc3dvcmQsIGl2KSB7XG4gIHZhciBjb25maWcgPSBNT0RFU1tzdWl0ZS50b0xvd2VyQ2FzZSgpXVxuICBpZiAoIWNvbmZpZykgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcblxuICBpZiAodHlwZW9mIGl2ID09PSAnc3RyaW5nJykgaXYgPSBCdWZmZXIuZnJvbShpdilcbiAgaWYgKGNvbmZpZy5tb2RlICE9PSAnR0NNJyAmJiBpdi5sZW5ndGggIT09IGNvbmZpZy5pdikgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBpdiBsZW5ndGggJyArIGl2Lmxlbmd0aClcblxuICBpZiAodHlwZW9mIHBhc3N3b3JkID09PSAnc3RyaW5nJykgcGFzc3dvcmQgPSBCdWZmZXIuZnJvbShwYXNzd29yZClcbiAgaWYgKHBhc3N3b3JkLmxlbmd0aCAhPT0gY29uZmlnLmtleSAvIDgpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQga2V5IGxlbmd0aCAnICsgcGFzc3dvcmQubGVuZ3RoKVxuXG4gIGlmIChjb25maWcudHlwZSA9PT0gJ3N0cmVhbScpIHtcbiAgICByZXR1cm4gbmV3IFN0cmVhbUNpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYsIHRydWUpXG4gIH0gZWxzZSBpZiAoY29uZmlnLnR5cGUgPT09ICdhdXRoJykge1xuICAgIHJldHVybiBuZXcgQXV0aENpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYsIHRydWUpXG4gIH1cblxuICByZXR1cm4gbmV3IERlY2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdilcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVjaXBoZXIgKHN1aXRlLCBwYXNzd29yZCkge1xuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXG5cbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwgY29uZmlnLmtleSwgY29uZmlnLml2KVxuICByZXR1cm4gY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXG59XG5cbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBjcmVhdGVEZWNpcGhlclxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlcml2ID0gY3JlYXRlRGVjaXBoZXJpdlxuIiwidmFyIE1PREVTID0gcmVxdWlyZSgnLi9tb2RlcycpXG52YXIgQXV0aENpcGhlciA9IHJlcXVpcmUoJy4vYXV0aENpcGhlcicpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBTdHJlYW1DaXBoZXIgPSByZXF1aXJlKCcuL3N0cmVhbUNpcGhlcicpXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnY2lwaGVyLWJhc2UnKVxudmFyIGFlcyA9IHJlcXVpcmUoJy4vYWVzJylcbnZhciBlYnRrID0gcmVxdWlyZSgnZXZwX2J5dGVzdG9rZXknKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxuXG5mdW5jdGlvbiBDaXBoZXIgKG1vZGUsIGtleSwgaXYpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcblxuICB0aGlzLl9jYWNoZSA9IG5ldyBTcGxpdHRlcigpXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcbiAgdGhpcy5fcHJldiA9IEJ1ZmZlci5mcm9tKGl2KVxuICB0aGlzLl9tb2RlID0gbW9kZVxuICB0aGlzLl9hdXRvcGFkZGluZyA9IHRydWVcbn1cblxuaW5oZXJpdHMoQ2lwaGVyLCBUcmFuc2Zvcm0pXG5cbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuX2NhY2hlLmFkZChkYXRhKVxuICB2YXIgY2h1bmtcbiAgdmFyIHRoaW5nXG4gIHZhciBvdXQgPSBbXVxuXG4gIHdoaWxlICgoY2h1bmsgPSB0aGlzLl9jYWNoZS5nZXQoKSkpIHtcbiAgICB0aGluZyA9IHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaylcbiAgICBvdXQucHVzaCh0aGluZylcbiAgfVxuXG4gIHJldHVybiBCdWZmZXIuY29uY2F0KG91dClcbn1cblxudmFyIFBBRERJTkcgPSBCdWZmZXIuYWxsb2MoMTYsIDB4MTApXG5cbkNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xuICB2YXIgY2h1bmsgPSB0aGlzLl9jYWNoZS5mbHVzaCgpXG4gIGlmICh0aGlzLl9hdXRvcGFkZGluZykge1xuICAgIGNodW5rID0gdGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsIGNodW5rKVxuICAgIHRoaXMuX2NpcGhlci5zY3J1YigpXG4gICAgcmV0dXJuIGNodW5rXG4gIH1cblxuICBpZiAoIWNodW5rLmVxdWFscyhQQURESU5HKSkge1xuICAgIHRoaXMuX2NpcGhlci5zY3J1YigpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGgnKVxuICB9XG59XG5cbkNpcGhlci5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmcgPSBmdW5jdGlvbiAoc2V0VG8pIHtcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIFNwbGl0dGVyICgpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5jYWNoZS5sZW5ndGggPiAxNSkge1xuICAgIHZhciBvdXQgPSB0aGlzLmNhY2hlLnNsaWNlKDAsIDE2KVxuICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnNsaWNlKDE2KVxuICAgIHJldHVybiBvdXRcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuZmx1c2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBsZW4gPSAxNiAtIHRoaXMuY2FjaGUubGVuZ3RoXG4gIHZhciBwYWRCdWZmID0gQnVmZmVyLmFsbG9jVW5zYWZlKGxlbilcblxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICBwYWRCdWZmLndyaXRlVUludDgobGVuLCBpKVxuICB9XG5cbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIHBhZEJ1ZmZdKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIHBhc3N3b3JkLCBpdikge1xuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXG5cbiAgaWYgKHR5cGVvZiBwYXNzd29yZCA9PT0gJ3N0cmluZycpIHBhc3N3b3JkID0gQnVmZmVyLmZyb20ocGFzc3dvcmQpXG4gIGlmIChwYXNzd29yZC5sZW5ndGggIT09IGNvbmZpZy5rZXkgLyA4KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIGtleSBsZW5ndGggJyArIHBhc3N3b3JkLmxlbmd0aClcblxuICBpZiAodHlwZW9mIGl2ID09PSAnc3RyaW5nJykgaXYgPSBCdWZmZXIuZnJvbShpdilcbiAgaWYgKGNvbmZpZy5tb2RlICE9PSAnR0NNJyAmJiBpdi5sZW5ndGggIT09IGNvbmZpZy5pdikgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBpdiBsZW5ndGggJyArIGl2Lmxlbmd0aClcblxuICBpZiAoY29uZmlnLnR5cGUgPT09ICdzdHJlYW0nKSB7XG4gICAgcmV0dXJuIG5ldyBTdHJlYW1DaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2KVxuICB9IGVsc2UgaWYgKGNvbmZpZy50eXBlID09PSAnYXV0aCcpIHtcbiAgICByZXR1cm4gbmV3IEF1dGhDaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2KVxuICB9XG5cbiAgcmV0dXJuIG5ldyBDaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXIgKHN1aXRlLCBwYXNzd29yZCkge1xuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXG5cbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwgY29uZmlnLmtleSwgY29uZmlnLml2KVxuICByZXR1cm4gY3JlYXRlQ2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxufVxuXG5leHBvcnRzLmNyZWF0ZUNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyID0gY3JlYXRlQ2lwaGVyXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBaRVJPRVMgPSBCdWZmZXIuYWxsb2MoMTYsIDApXG5cbmZ1bmN0aW9uIHRvQXJyYXkgKGJ1Zikge1xuICByZXR1cm4gW1xuICAgIGJ1Zi5yZWFkVUludDMyQkUoMCksXG4gICAgYnVmLnJlYWRVSW50MzJCRSg0KSxcbiAgICBidWYucmVhZFVJbnQzMkJFKDgpLFxuICAgIGJ1Zi5yZWFkVUludDMyQkUoMTIpXG4gIF1cbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5IChvdXQpIHtcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzBdID4+PiAwLCAwKVxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMV0gPj4+IDAsIDQpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSA+Pj4gMCwgOClcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzNdID4+PiAwLCAxMilcbiAgcmV0dXJuIGJ1ZlxufVxuXG5mdW5jdGlvbiBHSEFTSCAoa2V5KSB7XG4gIHRoaXMuaCA9IGtleVxuICB0aGlzLnN0YXRlID0gQnVmZmVyLmFsbG9jKDE2LCAwKVxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXG59XG5cbi8vIGZyb20gaHR0cDovL2JpdHdpc2VzaGlmdGxlZnQuZ2l0aHViLmlvL3NqY2wvZG9jL3N5bWJvbHMvc3JjL2NvcmVfZ2NtLmpzLmh0bWxcbi8vIGJ5IEp1aG8gVsOkaMOkLUhlcnR0dWFcbkdIQVNILnByb3RvdHlwZS5naGFzaCA9IGZ1bmN0aW9uIChibG9jaykge1xuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBibG9jay5sZW5ndGgpIHtcbiAgICB0aGlzLnN0YXRlW2ldIF49IGJsb2NrW2ldXG4gIH1cbiAgdGhpcy5fbXVsdGlwbHkoKVxufVxuXG5HSEFTSC5wcm90b3R5cGUuX211bHRpcGx5ID0gZnVuY3Rpb24gKCkge1xuICB2YXIgVmkgPSB0b0FycmF5KHRoaXMuaClcbiAgdmFyIFppID0gWzAsIDAsIDAsIDBdXG4gIHZhciBqLCB4aSwgbHNiVmlcbiAgdmFyIGkgPSAtMVxuICB3aGlsZSAoKytpIDwgMTI4KSB7XG4gICAgeGkgPSAodGhpcy5zdGF0ZVt+fihpIC8gOCldICYgKDEgPDwgKDcgLSAoaSAlIDgpKSkpICE9PSAwXG4gICAgaWYgKHhpKSB7XG4gICAgICAvLyBaX2krMSA9IFpfaSBeIFZfaVxuICAgICAgWmlbMF0gXj0gVmlbMF1cbiAgICAgIFppWzFdIF49IFZpWzFdXG4gICAgICBaaVsyXSBePSBWaVsyXVxuICAgICAgWmlbM10gXj0gVmlbM11cbiAgICB9XG5cbiAgICAvLyBTdG9yZSB0aGUgdmFsdWUgb2YgTFNCKFZfaSlcbiAgICBsc2JWaSA9IChWaVszXSAmIDEpICE9PSAwXG5cbiAgICAvLyBWX2krMSA9IFZfaSA+PiAxXG4gICAgZm9yIChqID0gMzsgaiA+IDA7IGotLSkge1xuICAgICAgVmlbal0gPSAoVmlbal0gPj4+IDEpIHwgKChWaVtqIC0gMV0gJiAxKSA8PCAzMSlcbiAgICB9XG4gICAgVmlbMF0gPSBWaVswXSA+Pj4gMVxuXG4gICAgLy8gSWYgTFNCKFZfaSkgaXMgMSwgVl9pKzEgPSAoVl9pID4+IDEpIF4gUlxuICAgIGlmIChsc2JWaSkge1xuICAgICAgVmlbMF0gPSBWaVswXSBeICgweGUxIDw8IDI0KVxuICAgIH1cbiAgfVxuICB0aGlzLnN0YXRlID0gZnJvbUFycmF5KFppKVxufVxuXG5HSEFTSC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGJ1Zikge1xuICB0aGlzLmNhY2hlID0gQnVmZmVyLmNvbmNhdChbdGhpcy5jYWNoZSwgYnVmXSlcbiAgdmFyIGNodW5rXG4gIHdoaWxlICh0aGlzLmNhY2hlLmxlbmd0aCA+PSAxNikge1xuICAgIGNodW5rID0gdGhpcy5jYWNoZS5zbGljZSgwLCAxNilcbiAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5zbGljZSgxNilcbiAgICB0aGlzLmdoYXNoKGNodW5rKVxuICB9XG59XG5cbkdIQVNILnByb3RvdHlwZS5maW5hbCA9IGZ1bmN0aW9uIChhYmwsIGJsKSB7XG4gIGlmICh0aGlzLmNhY2hlLmxlbmd0aCkge1xuICAgIHRoaXMuZ2hhc2goQnVmZmVyLmNvbmNhdChbdGhpcy5jYWNoZSwgWkVST0VTXSwgMTYpKVxuICB9XG5cbiAgdGhpcy5naGFzaChmcm9tQXJyYXkoWzAsIGFibCwgMCwgYmxdKSlcbiAgcmV0dXJuIHRoaXMuc3RhdGVcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBHSEFTSFxuIiwiZnVuY3Rpb24gaW5jcjMyIChpdikge1xuICB2YXIgbGVuID0gaXYubGVuZ3RoXG4gIHZhciBpdGVtXG4gIHdoaWxlIChsZW4tLSkge1xuICAgIGl0ZW0gPSBpdi5yZWFkVUludDgobGVuKVxuICAgIGlmIChpdGVtID09PSAyNTUpIHtcbiAgICAgIGl2LndyaXRlVUludDgoMCwgbGVuKVxuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtKytcbiAgICAgIGl2LndyaXRlVUludDgoaXRlbSwgbGVuKVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gaW5jcjMyXG4iLCJ2YXIgeG9yID0gcmVxdWlyZSgnYnVmZmVyLXhvcicpXG5cbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBibG9jaykge1xuICB2YXIgZGF0YSA9IHhvcihibG9jaywgc2VsZi5fcHJldilcblxuICBzZWxmLl9wcmV2ID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhkYXRhKVxuICByZXR1cm4gc2VsZi5fcHJldlxufVxuXG5leHBvcnRzLmRlY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgYmxvY2spIHtcbiAgdmFyIHBhZCA9IHNlbGYuX3ByZXZcblxuICBzZWxmLl9wcmV2ID0gYmxvY2tcbiAgdmFyIG91dCA9IHNlbGYuX2NpcGhlci5kZWNyeXB0QmxvY2soYmxvY2spXG5cbiAgcmV0dXJuIHhvcihvdXQsIHBhZClcbn1cbiIsInZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxudmFyIHhvciA9IHJlcXVpcmUoJ2J1ZmZlci14b3InKVxuXG5mdW5jdGlvbiBlbmNyeXB0U3RhcnQgKHNlbGYsIGRhdGEsIGRlY3J5cHQpIHtcbiAgdmFyIGxlbiA9IGRhdGEubGVuZ3RoXG4gIHZhciBvdXQgPSB4b3IoZGF0YSwgc2VsZi5fY2FjaGUpXG4gIHNlbGYuX2NhY2hlID0gc2VsZi5fY2FjaGUuc2xpY2UobGVuKVxuICBzZWxmLl9wcmV2ID0gQnVmZmVyLmNvbmNhdChbc2VsZi5fcHJldiwgZGVjcnlwdCA/IGRhdGEgOiBvdXRdKVxuICByZXR1cm4gb3V0XG59XG5cbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBkYXRhLCBkZWNyeXB0KSB7XG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcbiAgdmFyIGxlblxuXG4gIHdoaWxlIChkYXRhLmxlbmd0aCkge1xuICAgIGlmIChzZWxmLl9jYWNoZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHNlbGYuX2NhY2hlID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhzZWxmLl9wcmV2KVxuICAgICAgc2VsZi5fcHJldiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxuICAgIH1cblxuICAgIGlmIChzZWxmLl9jYWNoZS5sZW5ndGggPD0gZGF0YS5sZW5ndGgpIHtcbiAgICAgIGxlbiA9IHNlbGYuX2NhY2hlLmxlbmd0aFxuICAgICAgb3V0ID0gQnVmZmVyLmNvbmNhdChbb3V0LCBlbmNyeXB0U3RhcnQoc2VsZiwgZGF0YS5zbGljZSgwLCBsZW4pLCBkZWNyeXB0KV0pXG4gICAgICBkYXRhID0gZGF0YS5zbGljZShsZW4pXG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW291dCwgZW5jcnlwdFN0YXJ0KHNlbGYsIGRhdGEsIGRlY3J5cHQpXSlcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dFxufVxuIiwidmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbmZ1bmN0aW9uIGVuY3J5cHRCeXRlIChzZWxmLCBieXRlUGFyYW0sIGRlY3J5cHQpIHtcbiAgdmFyIHBhZFxuICB2YXIgaSA9IC0xXG4gIHZhciBsZW4gPSA4XG4gIHZhciBvdXQgPSAwXG4gIHZhciBiaXQsIHZhbHVlXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICBwYWQgPSBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHNlbGYuX3ByZXYpXG4gICAgYml0ID0gKGJ5dGVQYXJhbSAmICgxIDw8ICg3IC0gaSkpKSA/IDB4ODAgOiAwXG4gICAgdmFsdWUgPSBwYWRbMF0gXiBiaXRcbiAgICBvdXQgKz0gKCh2YWx1ZSAmIDB4ODApID4+IChpICUgOCkpXG4gICAgc2VsZi5fcHJldiA9IHNoaWZ0SW4oc2VsZi5fcHJldiwgZGVjcnlwdCA/IGJpdCA6IHZhbHVlKVxuICB9XG4gIHJldHVybiBvdXRcbn1cblxuZnVuY3Rpb24gc2hpZnRJbiAoYnVmZmVyLCB2YWx1ZSkge1xuICB2YXIgbGVuID0gYnVmZmVyLmxlbmd0aFxuICB2YXIgaSA9IC0xXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYnVmZmVyLmxlbmd0aClcbiAgYnVmZmVyID0gQnVmZmVyLmNvbmNhdChbYnVmZmVyLCBCdWZmZXIuZnJvbShbdmFsdWVdKV0pXG5cbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIG91dFtpXSA9IGJ1ZmZlcltpXSA8PCAxIHwgYnVmZmVyW2kgKyAxXSA+PiAoNylcbiAgfVxuXG4gIHJldHVybiBvdXRcbn1cblxuZXhwb3J0cy5lbmNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGNodW5rLCBkZWNyeXB0KSB7XG4gIHZhciBsZW4gPSBjaHVuay5sZW5ndGhcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXG4gIHZhciBpID0gLTFcblxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgb3V0W2ldID0gZW5jcnlwdEJ5dGUoc2VsZiwgY2h1bmtbaV0sIGRlY3J5cHQpXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxuZnVuY3Rpb24gZW5jcnlwdEJ5dGUgKHNlbGYsIGJ5dGVQYXJhbSwgZGVjcnlwdCkge1xuICB2YXIgcGFkID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhzZWxmLl9wcmV2KVxuICB2YXIgb3V0ID0gcGFkWzBdIF4gYnl0ZVBhcmFtXG5cbiAgc2VsZi5fcHJldiA9IEJ1ZmZlci5jb25jYXQoW1xuICAgIHNlbGYuX3ByZXYuc2xpY2UoMSksXG4gICAgQnVmZmVyLmZyb20oW2RlY3J5cHQgPyBieXRlUGFyYW0gOiBvdXRdKVxuICBdKVxuXG4gIHJldHVybiBvdXRcbn1cblxuZXhwb3J0cy5lbmNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGNodW5rLCBkZWNyeXB0KSB7XG4gIHZhciBsZW4gPSBjaHVuay5sZW5ndGhcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXG4gIHZhciBpID0gLTFcblxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgb3V0W2ldID0gZW5jcnlwdEJ5dGUoc2VsZiwgY2h1bmtbaV0sIGRlY3J5cHQpXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgeG9yID0gcmVxdWlyZSgnYnVmZmVyLXhvcicpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBpbmNyMzIgPSByZXF1aXJlKCcuLi9pbmNyMzInKVxuXG5mdW5jdGlvbiBnZXRCbG9jayAoc2VsZikge1xuICB2YXIgb3V0ID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9ja1JhdyhzZWxmLl9wcmV2KVxuICBpbmNyMzIoc2VsZi5fcHJldilcbiAgcmV0dXJuIG91dFxufVxuXG52YXIgYmxvY2tTaXplID0gMTZcbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBjaHVuaykge1xuICB2YXIgY2h1bmtOdW0gPSBNYXRoLmNlaWwoY2h1bmsubGVuZ3RoIC8gYmxvY2tTaXplKVxuICB2YXIgc3RhcnQgPSBzZWxmLl9jYWNoZS5sZW5ndGhcbiAgc2VsZi5fY2FjaGUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICBzZWxmLl9jYWNoZSxcbiAgICBCdWZmZXIuYWxsb2NVbnNhZmUoY2h1bmtOdW0gKiBibG9ja1NpemUpXG4gIF0pXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2h1bmtOdW07IGkrKykge1xuICAgIHZhciBvdXQgPSBnZXRCbG9jayhzZWxmKVxuICAgIHZhciBvZmZzZXQgPSBzdGFydCArIGkgKiBibG9ja1NpemVcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFswXSwgb2Zmc2V0ICsgMClcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFsxXSwgb2Zmc2V0ICsgNClcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFsyXSwgb2Zmc2V0ICsgOClcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFszXSwgb2Zmc2V0ICsgMTIpXG4gIH1cbiAgdmFyIHBhZCA9IHNlbGYuX2NhY2hlLnNsaWNlKDAsIGNodW5rLmxlbmd0aClcbiAgc2VsZi5fY2FjaGUgPSBzZWxmLl9jYWNoZS5zbGljZShjaHVuay5sZW5ndGgpXG4gIHJldHVybiB4b3IoY2h1bmssIHBhZClcbn1cbiIsImV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBibG9jaykge1xuICByZXR1cm4gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhibG9jaylcbn1cblxuZXhwb3J0cy5kZWNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGJsb2NrKSB7XG4gIHJldHVybiBzZWxmLl9jaXBoZXIuZGVjcnlwdEJsb2NrKGJsb2NrKVxufVxuIiwidmFyIG1vZGVNb2R1bGVzID0ge1xuICBFQ0I6IHJlcXVpcmUoJy4vZWNiJyksXG4gIENCQzogcmVxdWlyZSgnLi9jYmMnKSxcbiAgQ0ZCOiByZXF1aXJlKCcuL2NmYicpLFxuICBDRkI4OiByZXF1aXJlKCcuL2NmYjgnKSxcbiAgQ0ZCMTogcmVxdWlyZSgnLi9jZmIxJyksXG4gIE9GQjogcmVxdWlyZSgnLi9vZmInKSxcbiAgQ1RSOiByZXF1aXJlKCcuL2N0cicpLFxuICBHQ006IHJlcXVpcmUoJy4vY3RyJylcbn1cblxudmFyIG1vZGVzID0gcmVxdWlyZSgnLi9saXN0Lmpzb24nKVxuXG5mb3IgKHZhciBrZXkgaW4gbW9kZXMpIHtcbiAgbW9kZXNba2V5XS5tb2R1bGUgPSBtb2RlTW9kdWxlc1ttb2Rlc1trZXldLm1vZGVdXG59XG5cbm1vZHVsZS5leHBvcnRzID0gbW9kZXNcbiIsInZhciB4b3IgPSByZXF1aXJlKCdidWZmZXIteG9yJylcblxuZnVuY3Rpb24gZ2V0QmxvY2sgKHNlbGYpIHtcbiAgc2VsZi5fcHJldiA9IHNlbGYuX2NpcGhlci5lbmNyeXB0QmxvY2soc2VsZi5fcHJldilcbiAgcmV0dXJuIHNlbGYuX3ByZXZcbn1cblxuZXhwb3J0cy5lbmNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGNodW5rKSB7XG4gIHdoaWxlIChzZWxmLl9jYWNoZS5sZW5ndGggPCBjaHVuay5sZW5ndGgpIHtcbiAgICBzZWxmLl9jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3NlbGYuX2NhY2hlLCBnZXRCbG9jayhzZWxmKV0pXG4gIH1cblxuICB2YXIgcGFkID0gc2VsZi5fY2FjaGUuc2xpY2UoMCwgY2h1bmsubGVuZ3RoKVxuICBzZWxmLl9jYWNoZSA9IHNlbGYuX2NhY2hlLnNsaWNlKGNodW5rLmxlbmd0aClcbiAgcmV0dXJuIHhvcihjaHVuaywgcGFkKVxufVxuIiwidmFyIGFlcyA9IHJlcXVpcmUoJy4vYWVzJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxudmFyIFRyYW5zZm9ybSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcblxuZnVuY3Rpb24gU3RyZWFtQ2lwaGVyIChtb2RlLCBrZXksIGl2LCBkZWNyeXB0KSB7XG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXG5cbiAgdGhpcy5fY2lwaGVyID0gbmV3IGFlcy5BRVMoa2V5KVxuICB0aGlzLl9wcmV2ID0gQnVmZmVyLmZyb20oaXYpXG4gIHRoaXMuX2NhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXG4gIHRoaXMuX3NlY0NhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXG4gIHRoaXMuX2RlY3J5cHQgPSBkZWNyeXB0XG4gIHRoaXMuX21vZGUgPSBtb2RlXG59XG5cbmluaGVyaXRzKFN0cmVhbUNpcGhlciwgVHJhbnNmb3JtKVxuXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoY2h1bmspIHtcbiAgcmV0dXJuIHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaywgdGhpcy5fZGVjcnlwdClcbn1cblxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuX2NpcGhlci5zY3J1YigpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtQ2lwaGVyXG4iLCJ2YXIgREVTID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1kZXMnKVxudmFyIGFlcyA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktYWVzL2Jyb3dzZXInKVxudmFyIGFlc01vZGVzID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1hZXMvbW9kZXMnKVxudmFyIGRlc01vZGVzID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1kZXMvbW9kZXMnKVxudmFyIGVidGsgPSByZXF1aXJlKCdldnBfYnl0ZXN0b2tleScpXG5cbmZ1bmN0aW9uIGNyZWF0ZUNpcGhlciAoc3VpdGUsIHBhc3N3b3JkKSB7XG4gIHN1aXRlID0gc3VpdGUudG9Mb3dlckNhc2UoKVxuXG4gIHZhciBrZXlMZW4sIGl2TGVuXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHtcbiAgICBrZXlMZW4gPSBhZXNNb2Rlc1tzdWl0ZV0ua2V5XG4gICAgaXZMZW4gPSBhZXNNb2Rlc1tzdWl0ZV0uaXZcbiAgfSBlbHNlIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHtcbiAgICBrZXlMZW4gPSBkZXNNb2Rlc1tzdWl0ZV0ua2V5ICogOFxuICAgIGl2TGVuID0gZGVzTW9kZXNbc3VpdGVdLml2XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcbiAgfVxuXG4gIHZhciBrZXlzID0gZWJ0ayhwYXNzd29yZCwgZmFsc2UsIGtleUxlbiwgaXZMZW4pXG4gIHJldHVybiBjcmVhdGVDaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcbiAgc3VpdGUgPSBzdWl0ZS50b0xvd2VyQ2FzZSgpXG5cbiAgdmFyIGtleUxlbiwgaXZMZW5cbiAgaWYgKGFlc01vZGVzW3N1aXRlXSkge1xuICAgIGtleUxlbiA9IGFlc01vZGVzW3N1aXRlXS5rZXlcbiAgICBpdkxlbiA9IGFlc01vZGVzW3N1aXRlXS5pdlxuICB9IGVsc2UgaWYgKGRlc01vZGVzW3N1aXRlXSkge1xuICAgIGtleUxlbiA9IGRlc01vZGVzW3N1aXRlXS5rZXkgKiA4XG4gICAgaXZMZW4gPSBkZXNNb2Rlc1tzdWl0ZV0uaXZcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxuICB9XG5cbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwga2V5TGVuLCBpdkxlbilcbiAgcmV0dXJuIGNyZWF0ZURlY2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIGtleSwgaXYpIHtcbiAgc3VpdGUgPSBzdWl0ZS50b0xvd2VyQ2FzZSgpXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBhZXMuY3JlYXRlQ2lwaGVyaXYoc3VpdGUsIGtleSwgaXYpXG4gIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBuZXcgREVTKHsga2V5OiBrZXksIGl2OiBpdiwgbW9kZTogc3VpdGUgfSlcblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcml2IChzdWl0ZSwga2V5LCBpdikge1xuICBzdWl0ZSA9IHN1aXRlLnRvTG93ZXJDYXNlKClcbiAgaWYgKGFlc01vZGVzW3N1aXRlXSkgcmV0dXJuIGFlcy5jcmVhdGVEZWNpcGhlcml2KHN1aXRlLCBrZXksIGl2KVxuICBpZiAoZGVzTW9kZXNbc3VpdGVdKSByZXR1cm4gbmV3IERFUyh7IGtleToga2V5LCBpdjogaXYsIG1vZGU6IHN1aXRlLCBkZWNyeXB0OiB0cnVlIH0pXG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcbn1cblxuZnVuY3Rpb24gZ2V0Q2lwaGVycyAoKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhkZXNNb2RlcykuY29uY2F0KGFlcy5nZXRDaXBoZXJzKCkpXG59XG5cbmV4cG9ydHMuY3JlYXRlQ2lwaGVyID0gZXhwb3J0cy5DaXBoZXIgPSBjcmVhdGVDaXBoZXJcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBleHBvcnRzLkNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBleHBvcnRzLkRlY2lwaGVyID0gY3JlYXRlRGVjaXBoZXJcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGV4cG9ydHMuRGVjaXBoZXJpdiA9IGNyZWF0ZURlY2lwaGVyaXZcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBleHBvcnRzLmdldENpcGhlcnMgPSBnZXRDaXBoZXJzXG4iLCJ2YXIgQ2lwaGVyQmFzZSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcbnZhciBkZXMgPSByZXF1aXJlKCdkZXMuanMnKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbnZhciBtb2RlcyA9IHtcbiAgJ2Rlcy1lZGUzLWNiYyc6IGRlcy5DQkMuaW5zdGFudGlhdGUoZGVzLkVERSksXG4gICdkZXMtZWRlMyc6IGRlcy5FREUsXG4gICdkZXMtZWRlLWNiYyc6IGRlcy5DQkMuaW5zdGFudGlhdGUoZGVzLkVERSksXG4gICdkZXMtZWRlJzogZGVzLkVERSxcbiAgJ2Rlcy1jYmMnOiBkZXMuQ0JDLmluc3RhbnRpYXRlKGRlcy5ERVMpLFxuICAnZGVzLWVjYic6IGRlcy5ERVNcbn1cbm1vZGVzLmRlcyA9IG1vZGVzWydkZXMtY2JjJ11cbm1vZGVzLmRlczMgPSBtb2Rlc1snZGVzLWVkZTMtY2JjJ11cbm1vZHVsZS5leHBvcnRzID0gREVTXG5pbmhlcml0cyhERVMsIENpcGhlckJhc2UpXG5mdW5jdGlvbiBERVMgKG9wdHMpIHtcbiAgQ2lwaGVyQmFzZS5jYWxsKHRoaXMpXG4gIHZhciBtb2RlTmFtZSA9IG9wdHMubW9kZS50b0xvd2VyQ2FzZSgpXG4gIHZhciBtb2RlID0gbW9kZXNbbW9kZU5hbWVdXG4gIHZhciB0eXBlXG4gIGlmIChvcHRzLmRlY3J5cHQpIHtcbiAgICB0eXBlID0gJ2RlY3J5cHQnXG4gIH0gZWxzZSB7XG4gICAgdHlwZSA9ICdlbmNyeXB0J1xuICB9XG4gIHZhciBrZXkgPSBvcHRzLmtleVxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihrZXkpKSB7XG4gICAga2V5ID0gQnVmZmVyLmZyb20oa2V5KVxuICB9XG4gIGlmIChtb2RlTmFtZSA9PT0gJ2Rlcy1lZGUnIHx8IG1vZGVOYW1lID09PSAnZGVzLWVkZS1jYmMnKSB7XG4gICAga2V5ID0gQnVmZmVyLmNvbmNhdChba2V5LCBrZXkuc2xpY2UoMCwgOCldKVxuICB9XG4gIHZhciBpdiA9IG9wdHMuaXZcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoaXYpKSB7XG4gICAgaXYgPSBCdWZmZXIuZnJvbShpdilcbiAgfVxuICB0aGlzLl9kZXMgPSBtb2RlLmNyZWF0ZSh7XG4gICAga2V5OiBrZXksXG4gICAgaXY6IGl2LFxuICAgIHR5cGU6IHR5cGVcbiAgfSlcbn1cbkRFUy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMudXBkYXRlKGRhdGEpKVxufVxuREVTLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMuZmluYWwoKSlcbn1cbiIsImV4cG9ydHNbJ2Rlcy1lY2InXSA9IHtcbiAga2V5OiA4LFxuICBpdjogMFxufVxuZXhwb3J0c1snZGVzLWNiYyddID0gZXhwb3J0cy5kZXMgPSB7XG4gIGtleTogOCxcbiAgaXY6IDhcbn1cbmV4cG9ydHNbJ2Rlcy1lZGUzLWNiYyddID0gZXhwb3J0cy5kZXMzID0ge1xuICBrZXk6IDI0LFxuICBpdjogOFxufVxuZXhwb3J0c1snZGVzLWVkZTMnXSA9IHtcbiAga2V5OiAyNCxcbiAgaXY6IDBcbn1cbmV4cG9ydHNbJ2Rlcy1lZGUtY2JjJ10gPSB7XG4gIGtleTogMTYsXG4gIGl2OiA4XG59XG5leHBvcnRzWydkZXMtZWRlJ10gPSB7XG4gIGtleTogMTYsXG4gIGl2OiAwXG59XG4iLCJ2YXIgQk4gPSByZXF1aXJlKCdibi5qcycpXG52YXIgcmFuZG9tQnl0ZXMgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpXG5cbmZ1bmN0aW9uIGJsaW5kIChwcml2KSB7XG4gIHZhciByID0gZ2V0cihwcml2KVxuICB2YXIgYmxpbmRlciA9IHIudG9SZWQoQk4ubW9udChwcml2Lm1vZHVsdXMpKS5yZWRQb3cobmV3IEJOKHByaXYucHVibGljRXhwb25lbnQpKS5mcm9tUmVkKClcbiAgcmV0dXJuIHsgYmxpbmRlcjogYmxpbmRlciwgdW5ibGluZGVyOiByLmludm0ocHJpdi5tb2R1bHVzKSB9XG59XG5cbmZ1bmN0aW9uIGdldHIgKHByaXYpIHtcbiAgdmFyIGxlbiA9IHByaXYubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIHJcbiAgZG8ge1xuICAgIHIgPSBuZXcgQk4ocmFuZG9tQnl0ZXMobGVuKSlcbiAgfSB3aGlsZSAoci5jbXAocHJpdi5tb2R1bHVzKSA+PSAwIHx8ICFyLnVtb2QocHJpdi5wcmltZTEpIHx8ICFyLnVtb2QocHJpdi5wcmltZTIpKVxuICByZXR1cm4gclxufVxuXG5mdW5jdGlvbiBjcnQgKG1zZywgcHJpdikge1xuICB2YXIgYmxpbmRzID0gYmxpbmQocHJpdilcbiAgdmFyIGxlbiA9IHByaXYubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIGJsaW5kZWQgPSBuZXcgQk4obXNnKS5tdWwoYmxpbmRzLmJsaW5kZXIpLnVtb2QocHJpdi5tb2R1bHVzKVxuICB2YXIgYzEgPSBibGluZGVkLnRvUmVkKEJOLm1vbnQocHJpdi5wcmltZTEpKVxuICB2YXIgYzIgPSBibGluZGVkLnRvUmVkKEJOLm1vbnQocHJpdi5wcmltZTIpKVxuICB2YXIgcWludiA9IHByaXYuY29lZmZpY2llbnRcbiAgdmFyIHAgPSBwcml2LnByaW1lMVxuICB2YXIgcSA9IHByaXYucHJpbWUyXG4gIHZhciBtMSA9IGMxLnJlZFBvdyhwcml2LmV4cG9uZW50MSkuZnJvbVJlZCgpXG4gIHZhciBtMiA9IGMyLnJlZFBvdyhwcml2LmV4cG9uZW50MikuZnJvbVJlZCgpXG4gIHZhciBoID0gbTEuaXN1YihtMikuaW11bChxaW52KS51bW9kKHApLmltdWwocSlcbiAgcmV0dXJuIG0yLmlhZGQoaCkuaW11bChibGluZHMudW5ibGluZGVyKS51bW9kKHByaXYubW9kdWx1cykudG9BcnJheUxpa2UoQnVmZmVyLCAnYmUnLCBsZW4pXG59XG5jcnQuZ2V0ciA9IGdldHJcblxubW9kdWxlLmV4cG9ydHMgPSBjcnRcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9icm93c2VyL2FsZ29yaXRobXMuanNvbicpXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBjcmVhdGVIYXNoID0gcmVxdWlyZSgnY3JlYXRlLWhhc2gnKVxudmFyIHN0cmVhbSA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbScpXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgc2lnbiA9IHJlcXVpcmUoJy4vc2lnbicpXG52YXIgdmVyaWZ5ID0gcmVxdWlyZSgnLi92ZXJpZnknKVxuXG52YXIgYWxnb3JpdGhtcyA9IHJlcXVpcmUoJy4vYWxnb3JpdGhtcy5qc29uJylcbk9iamVjdC5rZXlzKGFsZ29yaXRobXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICBhbGdvcml0aG1zW2tleV0uaWQgPSBCdWZmZXIuZnJvbShhbGdvcml0aG1zW2tleV0uaWQsICdoZXgnKVxuICBhbGdvcml0aG1zW2tleS50b0xvd2VyQ2FzZSgpXSA9IGFsZ29yaXRobXNba2V5XVxufSlcblxuZnVuY3Rpb24gU2lnbiAoYWxnb3JpdGhtKSB7XG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXG5cbiAgdmFyIGRhdGEgPSBhbGdvcml0aG1zW2FsZ29yaXRobV1cbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxuXG4gIHRoaXMuX2hhc2hUeXBlID0gZGF0YS5oYXNoXG4gIHRoaXMuX2hhc2ggPSBjcmVhdGVIYXNoKGRhdGEuaGFzaClcbiAgdGhpcy5fdGFnID0gZGF0YS5pZFxuICB0aGlzLl9zaWduVHlwZSA9IGRhdGEuc2lnblxufVxuaW5oZXJpdHMoU2lnbiwgc3RyZWFtLldyaXRhYmxlKVxuXG5TaWduLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiBfd3JpdGUgKGRhdGEsIF8sIGRvbmUpIHtcbiAgdGhpcy5faGFzaC51cGRhdGUoZGF0YSlcbiAgZG9uZSgpXG59XG5cblNpZ24ucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZSAoZGF0YSwgZW5jKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXG5cbiAgdGhpcy5faGFzaC51cGRhdGUoZGF0YSlcbiAgcmV0dXJuIHRoaXNcbn1cblxuU2lnbi5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ25NZXRob2QgKGtleSwgZW5jKSB7XG4gIHRoaXMuZW5kKClcbiAgdmFyIGhhc2ggPSB0aGlzLl9oYXNoLmRpZ2VzdCgpXG4gIHZhciBzaWcgPSBzaWduKGhhc2gsIGtleSwgdGhpcy5faGFzaFR5cGUsIHRoaXMuX3NpZ25UeXBlLCB0aGlzLl90YWcpXG5cbiAgcmV0dXJuIGVuYyA/IHNpZy50b1N0cmluZyhlbmMpIDogc2lnXG59XG5cbmZ1bmN0aW9uIFZlcmlmeSAoYWxnb3JpdGhtKSB7XG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXG5cbiAgdmFyIGRhdGEgPSBhbGdvcml0aG1zW2FsZ29yaXRobV1cbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxuXG4gIHRoaXMuX2hhc2ggPSBjcmVhdGVIYXNoKGRhdGEuaGFzaClcbiAgdGhpcy5fdGFnID0gZGF0YS5pZFxuICB0aGlzLl9zaWduVHlwZSA9IGRhdGEuc2lnblxufVxuaW5oZXJpdHMoVmVyaWZ5LCBzdHJlYW0uV3JpdGFibGUpXG5cblZlcmlmeS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gX3dyaXRlIChkYXRhLCBfLCBkb25lKSB7XG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXG4gIGRvbmUoKVxufVxuXG5WZXJpZnkucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZSAoZGF0YSwgZW5jKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXG5cbiAgdGhpcy5faGFzaC51cGRhdGUoZGF0YSlcbiAgcmV0dXJuIHRoaXNcbn1cblxuVmVyaWZ5LnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnlNZXRob2QgKGtleSwgc2lnLCBlbmMpIHtcbiAgaWYgKHR5cGVvZiBzaWcgPT09ICdzdHJpbmcnKSBzaWcgPSBCdWZmZXIuZnJvbShzaWcsIGVuYylcblxuICB0aGlzLmVuZCgpXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaC5kaWdlc3QoKVxuICByZXR1cm4gdmVyaWZ5KHNpZywgaGFzaCwga2V5LCB0aGlzLl9zaWduVHlwZSwgdGhpcy5fdGFnKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTaWduIChhbGdvcml0aG0pIHtcbiAgcmV0dXJuIG5ldyBTaWduKGFsZ29yaXRobSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlVmVyaWZ5IChhbGdvcml0aG0pIHtcbiAgcmV0dXJuIG5ldyBWZXJpZnkoYWxnb3JpdGhtKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgU2lnbjogY3JlYXRlU2lnbixcbiAgVmVyaWZ5OiBjcmVhdGVWZXJpZnksXG4gIGNyZWF0ZVNpZ246IGNyZWF0ZVNpZ24sXG4gIGNyZWF0ZVZlcmlmeTogY3JlYXRlVmVyaWZ5XG59XG4iLCIvLyBtdWNoIG9mIHRoaXMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvcnNhLmpzXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBjcmVhdGVIbWFjID0gcmVxdWlyZSgnY3JlYXRlLWhtYWMnKVxudmFyIGNydCA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktcnNhJylcbnZhciBFQyA9IHJlcXVpcmUoJ2VsbGlwdGljJykuZWNcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcbnZhciBwYXJzZUtleXMgPSByZXF1aXJlKCdwYXJzZS1hc24xJylcbnZhciBjdXJ2ZXMgPSByZXF1aXJlKCcuL2N1cnZlcy5qc29uJylcblxuZnVuY3Rpb24gc2lnbiAoaGFzaCwga2V5LCBoYXNoVHlwZSwgc2lnblR5cGUsIHRhZykge1xuICB2YXIgcHJpdiA9IHBhcnNlS2V5cyhrZXkpXG4gIGlmIChwcml2LmN1cnZlKSB7XG4gICAgLy8gcnNhIGtleXMgY2FuIGJlIGludGVycHJldGVkIGFzIGVjZHNhIG9uZXMgaW4gb3BlbnNzbFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ2VjZHNhJyAmJiBzaWduVHlwZSAhPT0gJ2VjZHNhL3JzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHJpdmF0ZSBrZXkgdHlwZScpXG4gICAgcmV0dXJuIGVjU2lnbihoYXNoLCBwcml2KVxuICB9IGVsc2UgaWYgKHByaXYudHlwZSA9PT0gJ2RzYScpIHtcbiAgICBpZiAoc2lnblR5cGUgIT09ICdkc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHByaXZhdGUga2V5IHR5cGUnKVxuICAgIHJldHVybiBkc2FTaWduKGhhc2gsIHByaXYsIGhhc2hUeXBlKVxuICB9IGVsc2Uge1xuICAgIGlmIChzaWduVHlwZSAhPT0gJ3JzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHByaXZhdGUga2V5IHR5cGUnKVxuICB9XG4gIGhhc2ggPSBCdWZmZXIuY29uY2F0KFt0YWcsIGhhc2hdKVxuICB2YXIgbGVuID0gcHJpdi5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxuICB2YXIgcGFkID0gWzAsIDFdXG4gIHdoaWxlIChoYXNoLmxlbmd0aCArIHBhZC5sZW5ndGggKyAxIDwgbGVuKSBwYWQucHVzaCgweGZmKVxuICBwYWQucHVzaCgweDAwKVxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBoYXNoLmxlbmd0aCkgcGFkLnB1c2goaGFzaFtpXSlcblxuICB2YXIgb3V0ID0gY3J0KHBhZCwgcHJpdilcbiAgcmV0dXJuIG91dFxufVxuXG5mdW5jdGlvbiBlY1NpZ24gKGhhc2gsIHByaXYpIHtcbiAgdmFyIGN1cnZlSWQgPSBjdXJ2ZXNbcHJpdi5jdXJ2ZS5qb2luKCcuJyldXG4gIGlmICghY3VydmVJZCkgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGN1cnZlICcgKyBwcml2LmN1cnZlLmpvaW4oJy4nKSlcblxuICB2YXIgY3VydmUgPSBuZXcgRUMoY3VydmVJZClcbiAgdmFyIGtleSA9IGN1cnZlLmtleUZyb21Qcml2YXRlKHByaXYucHJpdmF0ZUtleSlcbiAgdmFyIG91dCA9IGtleS5zaWduKGhhc2gpXG5cbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG91dC50b0RFUigpKVxufVxuXG5mdW5jdGlvbiBkc2FTaWduIChoYXNoLCBwcml2LCBhbGdvKSB7XG4gIHZhciB4ID0gcHJpdi5wYXJhbXMucHJpdl9rZXlcbiAgdmFyIHAgPSBwcml2LnBhcmFtcy5wXG4gIHZhciBxID0gcHJpdi5wYXJhbXMucVxuICB2YXIgZyA9IHByaXYucGFyYW1zLmdcbiAgdmFyIHIgPSBuZXcgQk4oMClcbiAgdmFyIGtcbiAgdmFyIEggPSBiaXRzMmludChoYXNoLCBxKS5tb2QocSlcbiAgdmFyIHMgPSBmYWxzZVxuICB2YXIga3YgPSBnZXRLZXkoeCwgcSwgaGFzaCwgYWxnbylcbiAgd2hpbGUgKHMgPT09IGZhbHNlKSB7XG4gICAgayA9IG1ha2VLZXkocSwga3YsIGFsZ28pXG4gICAgciA9IG1ha2VSKGcsIGssIHAsIHEpXG4gICAgcyA9IGsuaW52bShxKS5pbXVsKEguYWRkKHgubXVsKHIpKSkubW9kKHEpXG4gICAgaWYgKHMuY21wbigwKSA9PT0gMCkge1xuICAgICAgcyA9IGZhbHNlXG4gICAgICByID0gbmV3IEJOKDApXG4gICAgfVxuICB9XG4gIHJldHVybiB0b0RFUihyLCBzKVxufVxuXG5mdW5jdGlvbiB0b0RFUiAociwgcykge1xuICByID0gci50b0FycmF5KClcbiAgcyA9IHMudG9BcnJheSgpXG5cbiAgLy8gUGFkIHZhbHVlc1xuICBpZiAoclswXSAmIDB4ODApIHIgPSBbMF0uY29uY2F0KHIpXG4gIGlmIChzWzBdICYgMHg4MCkgcyA9IFswXS5jb25jYXQocylcblxuICB2YXIgdG90YWwgPSByLmxlbmd0aCArIHMubGVuZ3RoICsgNFxuICB2YXIgcmVzID0gWzB4MzAsIHRvdGFsLCAweDAyLCByLmxlbmd0aF1cbiAgcmVzID0gcmVzLmNvbmNhdChyLCBbMHgwMiwgcy5sZW5ndGhdLCBzKVxuICByZXR1cm4gQnVmZmVyLmZyb20ocmVzKVxufVxuXG5mdW5jdGlvbiBnZXRLZXkgKHgsIHEsIGhhc2gsIGFsZ28pIHtcbiAgeCA9IEJ1ZmZlci5mcm9tKHgudG9BcnJheSgpKVxuICBpZiAoeC5sZW5ndGggPCBxLmJ5dGVMZW5ndGgoKSkge1xuICAgIHZhciB6ZXJvcyA9IEJ1ZmZlci5hbGxvYyhxLmJ5dGVMZW5ndGgoKSAtIHgubGVuZ3RoKVxuICAgIHggPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgeF0pXG4gIH1cbiAgdmFyIGhsZW4gPSBoYXNoLmxlbmd0aFxuICB2YXIgaGJpdHMgPSBiaXRzMm9jdGV0cyhoYXNoLCBxKVxuICB2YXIgdiA9IEJ1ZmZlci5hbGxvYyhobGVuKVxuICB2LmZpbGwoMSlcbiAgdmFyIGsgPSBCdWZmZXIuYWxsb2MoaGxlbilcbiAgayA9IGNyZWF0ZUhtYWMoYWxnbywgaykudXBkYXRlKHYpLnVwZGF0ZShCdWZmZXIuZnJvbShbMF0pKS51cGRhdGUoeCkudXBkYXRlKGhiaXRzKS5kaWdlc3QoKVxuICB2ID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikuZGlnZXN0KClcbiAgayA9IGNyZWF0ZUhtYWMoYWxnbywgaykudXBkYXRlKHYpLnVwZGF0ZShCdWZmZXIuZnJvbShbMV0pKS51cGRhdGUoeCkudXBkYXRlKGhiaXRzKS5kaWdlc3QoKVxuICB2ID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikuZGlnZXN0KClcbiAgcmV0dXJuIHsgazogaywgdjogdiB9XG59XG5cbmZ1bmN0aW9uIGJpdHMyaW50IChvYml0cywgcSkge1xuICB2YXIgYml0cyA9IG5ldyBCTihvYml0cylcbiAgdmFyIHNoaWZ0ID0gKG9iaXRzLmxlbmd0aCA8PCAzKSAtIHEuYml0TGVuZ3RoKClcbiAgaWYgKHNoaWZ0ID4gMCkgYml0cy5pc2hybihzaGlmdClcbiAgcmV0dXJuIGJpdHNcbn1cblxuZnVuY3Rpb24gYml0czJvY3RldHMgKGJpdHMsIHEpIHtcbiAgYml0cyA9IGJpdHMyaW50KGJpdHMsIHEpXG4gIGJpdHMgPSBiaXRzLm1vZChxKVxuICB2YXIgb3V0ID0gQnVmZmVyLmZyb20oYml0cy50b0FycmF5KCkpXG4gIGlmIChvdXQubGVuZ3RoIDwgcS5ieXRlTGVuZ3RoKCkpIHtcbiAgICB2YXIgemVyb3MgPSBCdWZmZXIuYWxsb2MocS5ieXRlTGVuZ3RoKCkgLSBvdXQubGVuZ3RoKVxuICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW3plcm9zLCBvdXRdKVxuICB9XG4gIHJldHVybiBvdXRcbn1cblxuZnVuY3Rpb24gbWFrZUtleSAocSwga3YsIGFsZ28pIHtcbiAgdmFyIHRcbiAgdmFyIGtcblxuICBkbyB7XG4gICAgdCA9IEJ1ZmZlci5hbGxvYygwKVxuXG4gICAgd2hpbGUgKHQubGVuZ3RoICogOCA8IHEuYml0TGVuZ3RoKCkpIHtcbiAgICAgIGt2LnYgPSBjcmVhdGVIbWFjKGFsZ28sIGt2LmspLnVwZGF0ZShrdi52KS5kaWdlc3QoKVxuICAgICAgdCA9IEJ1ZmZlci5jb25jYXQoW3QsIGt2LnZdKVxuICAgIH1cblxuICAgIGsgPSBiaXRzMmludCh0LCBxKVxuICAgIGt2LmsgPSBjcmVhdGVIbWFjKGFsZ28sIGt2LmspLnVwZGF0ZShrdi52KS51cGRhdGUoQnVmZmVyLmZyb20oWzBdKSkuZGlnZXN0KClcbiAgICBrdi52ID0gY3JlYXRlSG1hYyhhbGdvLCBrdi5rKS51cGRhdGUoa3YudikuZGlnZXN0KClcbiAgfSB3aGlsZSAoay5jbXAocSkgIT09IC0xKVxuXG4gIHJldHVybiBrXG59XG5cbmZ1bmN0aW9uIG1ha2VSIChnLCBrLCBwLCBxKSB7XG4gIHJldHVybiBnLnRvUmVkKEJOLm1vbnQocCkpLnJlZFBvdyhrKS5mcm9tUmVkKCkubW9kKHEpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2lnblxubW9kdWxlLmV4cG9ydHMuZ2V0S2V5ID0gZ2V0S2V5XG5tb2R1bGUuZXhwb3J0cy5tYWtlS2V5ID0gbWFrZUtleVxuIiwiLy8gbXVjaCBvZiB0aGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L3NlbGYtc2lnbmVkL2Jsb2IvZ2gtcGFnZXMvbGliL3JzYS5qc1xudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpXG52YXIgRUMgPSByZXF1aXJlKCdlbGxpcHRpYycpLmVjXG52YXIgcGFyc2VLZXlzID0gcmVxdWlyZSgncGFyc2UtYXNuMScpXG52YXIgY3VydmVzID0gcmVxdWlyZSgnLi9jdXJ2ZXMuanNvbicpXG5cbmZ1bmN0aW9uIHZlcmlmeSAoc2lnLCBoYXNoLCBrZXksIHNpZ25UeXBlLCB0YWcpIHtcbiAgdmFyIHB1YiA9IHBhcnNlS2V5cyhrZXkpXG4gIGlmIChwdWIudHlwZSA9PT0gJ2VjJykge1xuICAgIC8vIHJzYSBrZXlzIGNhbiBiZSBpbnRlcnByZXRlZCBhcyBlY2RzYSBvbmVzIGluIG9wZW5zc2xcbiAgICBpZiAoc2lnblR5cGUgIT09ICdlY2RzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXG4gICAgcmV0dXJuIGVjVmVyaWZ5KHNpZywgaGFzaCwgcHViKVxuICB9IGVsc2UgaWYgKHB1Yi50eXBlID09PSAnZHNhJykge1xuICAgIGlmIChzaWduVHlwZSAhPT0gJ2RzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHVibGljIGtleSB0eXBlJylcbiAgICByZXR1cm4gZHNhVmVyaWZ5KHNpZywgaGFzaCwgcHViKVxuICB9IGVsc2Uge1xuICAgIGlmIChzaWduVHlwZSAhPT0gJ3JzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXG4gIH1cbiAgaGFzaCA9IEJ1ZmZlci5jb25jYXQoW3RhZywgaGFzaF0pXG4gIHZhciBsZW4gPSBwdWIubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIHBhZCA9IFsxXVxuICB2YXIgcGFkTnVtID0gMFxuICB3aGlsZSAoaGFzaC5sZW5ndGggKyBwYWQubGVuZ3RoICsgMiA8IGxlbikge1xuICAgIHBhZC5wdXNoKDB4ZmYpXG4gICAgcGFkTnVtKytcbiAgfVxuICBwYWQucHVzaCgweDAwKVxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBoYXNoLmxlbmd0aCkge1xuICAgIHBhZC5wdXNoKGhhc2hbaV0pXG4gIH1cbiAgcGFkID0gQnVmZmVyLmZyb20ocGFkKVxuICB2YXIgcmVkID0gQk4ubW9udChwdWIubW9kdWx1cylcbiAgc2lnID0gbmV3IEJOKHNpZykudG9SZWQocmVkKVxuXG4gIHNpZyA9IHNpZy5yZWRQb3cobmV3IEJOKHB1Yi5wdWJsaWNFeHBvbmVudCkpXG4gIHNpZyA9IEJ1ZmZlci5mcm9tKHNpZy5mcm9tUmVkKCkudG9BcnJheSgpKVxuICB2YXIgb3V0ID0gcGFkTnVtIDwgOCA/IDEgOiAwXG4gIGxlbiA9IE1hdGgubWluKHNpZy5sZW5ndGgsIHBhZC5sZW5ndGgpXG4gIGlmIChzaWcubGVuZ3RoICE9PSBwYWQubGVuZ3RoKSBvdXQgPSAxXG5cbiAgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBsZW4pIG91dCB8PSBzaWdbaV0gXiBwYWRbaV1cbiAgcmV0dXJuIG91dCA9PT0gMFxufVxuXG5mdW5jdGlvbiBlY1ZlcmlmeSAoc2lnLCBoYXNoLCBwdWIpIHtcbiAgdmFyIGN1cnZlSWQgPSBjdXJ2ZXNbcHViLmRhdGEuYWxnb3JpdGhtLmN1cnZlLmpvaW4oJy4nKV1cbiAgaWYgKCFjdXJ2ZUlkKSB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gY3VydmUgJyArIHB1Yi5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCcuJykpXG5cbiAgdmFyIGN1cnZlID0gbmV3IEVDKGN1cnZlSWQpXG4gIHZhciBwdWJrZXkgPSBwdWIuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleS5kYXRhXG5cbiAgcmV0dXJuIGN1cnZlLnZlcmlmeShoYXNoLCBzaWcsIHB1YmtleSlcbn1cblxuZnVuY3Rpb24gZHNhVmVyaWZ5IChzaWcsIGhhc2gsIHB1Yikge1xuICB2YXIgcCA9IHB1Yi5kYXRhLnBcbiAgdmFyIHEgPSBwdWIuZGF0YS5xXG4gIHZhciBnID0gcHViLmRhdGEuZ1xuICB2YXIgeSA9IHB1Yi5kYXRhLnB1Yl9rZXlcbiAgdmFyIHVucGFja2VkID0gcGFyc2VLZXlzLnNpZ25hdHVyZS5kZWNvZGUoc2lnLCAnZGVyJylcbiAgdmFyIHMgPSB1bnBhY2tlZC5zXG4gIHZhciByID0gdW5wYWNrZWQuclxuICBjaGVja1ZhbHVlKHMsIHEpXG4gIGNoZWNrVmFsdWUociwgcSlcbiAgdmFyIG1vbnRwID0gQk4ubW9udChwKVxuICB2YXIgdyA9IHMuaW52bShxKVxuICB2YXIgdiA9IGcudG9SZWQobW9udHApXG4gICAgLnJlZFBvdyhuZXcgQk4oaGFzaCkubXVsKHcpLm1vZChxKSlcbiAgICAuZnJvbVJlZCgpXG4gICAgLm11bCh5LnRvUmVkKG1vbnRwKS5yZWRQb3coci5tdWwodykubW9kKHEpKS5mcm9tUmVkKCkpXG4gICAgLm1vZChwKVxuICAgIC5tb2QocSlcbiAgcmV0dXJuIHYuY21wKHIpID09PSAwXG59XG5cbmZ1bmN0aW9uIGNoZWNrVmFsdWUgKGIsIHEpIHtcbiAgaWYgKGIuY21wbigwKSA8PSAwKSB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2lnJylcbiAgaWYgKGIuY21wKHEpID49IHEpIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWcnKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHZlcmlmeVxuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB4b3IgKGEsIGIpIHtcbiAgdmFyIGxlbmd0aCA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcbiAgdmFyIGJ1ZmZlciA9IG5ldyBCdWZmZXIobGVuZ3RoKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBidWZmZXJbaV0gPSBhW2ldIF4gYltpXVxuICB9XG5cbiAgcmV0dXJuIGJ1ZmZlclxufVxuIiwiLyohXG4gKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci5cbiAqXG4gKiBAYXV0aG9yICAgRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cDovL2Zlcm9zcy5vcmc+XG4gKiBAbGljZW5zZSAgTUlUXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG5cbid1c2Ugc3RyaWN0J1xuXG52YXIgYmFzZTY0ID0gcmVxdWlyZSgnYmFzZTY0LWpzJylcbnZhciBpZWVlNzU0ID0gcmVxdWlyZSgnaWVlZTc1NCcpXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKVxuXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxuZXhwb3J0cy5TbG93QnVmZmVyID0gU2xvd0J1ZmZlclxuZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUyA9IDUwXG5cbi8qKlxuICogSWYgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYDpcbiAqICAgPT09IHRydWUgICAgVXNlIFVpbnQ4QXJyYXkgaW1wbGVtZW50YXRpb24gKGZhc3Rlc3QpXG4gKiAgID09PSBmYWxzZSAgIFVzZSBPYmplY3QgaW1wbGVtZW50YXRpb24gKG1vc3QgY29tcGF0aWJsZSwgZXZlbiBJRTYpXG4gKlxuICogQnJvd3NlcnMgdGhhdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBhcmUgSUUgMTArLCBGaXJlZm94IDQrLCBDaHJvbWUgNyssIFNhZmFyaSA1LjErLFxuICogT3BlcmEgMTEuNissIGlPUyA0LjIrLlxuICpcbiAqIER1ZSB0byB2YXJpb3VzIGJyb3dzZXIgYnVncywgc29tZXRpbWVzIHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24gd2lsbCBiZSB1c2VkIGV2ZW5cbiAqIHdoZW4gdGhlIGJyb3dzZXIgc3VwcG9ydHMgdHlwZWQgYXJyYXlzLlxuICpcbiAqIE5vdGU6XG4gKlxuICogICAtIEZpcmVmb3ggNC0yOSBsYWNrcyBzdXBwb3J0IGZvciBhZGRpbmcgbmV3IHByb3BlcnRpZXMgdG8gYFVpbnQ4QXJyYXlgIGluc3RhbmNlcyxcbiAqICAgICBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOC5cbiAqXG4gKiAgIC0gQ2hyb21lIDktMTAgaXMgbWlzc2luZyB0aGUgYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbi5cbiAqXG4gKiAgIC0gSUUxMCBoYXMgYSBicm9rZW4gYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFycmF5cyBvZlxuICogICAgIGluY29ycmVjdCBsZW5ndGggaW4gc29tZSBzaXR1YXRpb25zLlxuXG4gKiBXZSBkZXRlY3QgdGhlc2UgYnVnZ3kgYnJvd3NlcnMgYW5kIHNldCBgQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRgIHRvIGBmYWxzZWAgc28gdGhleVxuICogZ2V0IHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHNsb3dlciBidXQgYmVoYXZlcyBjb3JyZWN0bHkuXG4gKi9cbkJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUID0gZ2xvYmFsLlRZUEVEX0FSUkFZX1NVUFBPUlQgIT09IHVuZGVmaW5lZFxuICA/IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gIDogdHlwZWRBcnJheVN1cHBvcnQoKVxuXG4vKlxuICogRXhwb3J0IGtNYXhMZW5ndGggYWZ0ZXIgdHlwZWQgYXJyYXkgc3VwcG9ydCBpcyBkZXRlcm1pbmVkLlxuICovXG5leHBvcnRzLmtNYXhMZW5ndGggPSBrTWF4TGVuZ3RoKClcblxuZnVuY3Rpb24gdHlwZWRBcnJheVN1cHBvcnQgKCkge1xuICB0cnkge1xuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheSgxKVxuICAgIGFyci5fX3Byb3RvX18gPSB7X19wcm90b19fOiBVaW50OEFycmF5LnByb3RvdHlwZSwgZm9vOiBmdW5jdGlvbiAoKSB7IHJldHVybiA0MiB9fVxuICAgIHJldHVybiBhcnIuZm9vKCkgPT09IDQyICYmIC8vIHR5cGVkIGFycmF5IGluc3RhbmNlcyBjYW4gYmUgYXVnbWVudGVkXG4gICAgICAgIHR5cGVvZiBhcnIuc3ViYXJyYXkgPT09ICdmdW5jdGlvbicgJiYgLy8gY2hyb21lIDktMTAgbGFjayBgc3ViYXJyYXlgXG4gICAgICAgIGFyci5zdWJhcnJheSgxLCAxKS5ieXRlTGVuZ3RoID09PSAwIC8vIGllMTAgaGFzIGJyb2tlbiBgc3ViYXJyYXlgXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5mdW5jdGlvbiBrTWF4TGVuZ3RoICgpIHtcbiAgcmV0dXJuIEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gICAgPyAweDdmZmZmZmZmXG4gICAgOiAweDNmZmZmZmZmXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJ1ZmZlciAodGhhdCwgbGVuZ3RoKSB7XG4gIGlmIChrTWF4TGVuZ3RoKCkgPCBsZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgnKVxuICB9XG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpXG4gICAgdGhhdC5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xuICAgIGlmICh0aGF0ID09PSBudWxsKSB7XG4gICAgICB0aGF0ID0gbmV3IEJ1ZmZlcihsZW5ndGgpXG4gICAgfVxuICAgIHRoYXQubGVuZ3RoID0gbGVuZ3RoXG4gIH1cblxuICByZXR1cm4gdGhhdFxufVxuXG4vKipcbiAqIFRoZSBCdWZmZXIgY29uc3RydWN0b3IgcmV0dXJucyBpbnN0YW5jZXMgb2YgYFVpbnQ4QXJyYXlgIHRoYXQgaGF2ZSB0aGVpclxuICogcHJvdG90eXBlIGNoYW5nZWQgdG8gYEJ1ZmZlci5wcm90b3R5cGVgLiBGdXJ0aGVybW9yZSwgYEJ1ZmZlcmAgaXMgYSBzdWJjbGFzcyBvZlxuICogYFVpbnQ4QXJyYXlgLCBzbyB0aGUgcmV0dXJuZWQgaW5zdGFuY2VzIHdpbGwgaGF2ZSBhbGwgdGhlIG5vZGUgYEJ1ZmZlcmAgbWV0aG9kc1xuICogYW5kIHRoZSBgVWludDhBcnJheWAgbWV0aG9kcy4gU3F1YXJlIGJyYWNrZXQgbm90YXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgLS0gaXRcbiAqIHJldHVybnMgYSBzaW5nbGUgb2N0ZXQuXG4gKlxuICogVGhlIGBVaW50OEFycmF5YCBwcm90b3R5cGUgcmVtYWlucyB1bm1vZGlmaWVkLlxuICovXG5cbmZ1bmN0aW9uIEJ1ZmZlciAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgaWYgKCFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCAmJiAhKHRoaXMgaW5zdGFuY2VvZiBCdWZmZXIpKSB7XG4gICAgcmV0dXJuIG5ldyBCdWZmZXIoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICAvLyBDb21tb24gY2FzZS5cbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZ09yT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhbGxvY1Vuc2FmZSh0aGlzLCBhcmcpXG4gIH1cbiAgcmV0dXJuIGZyb20odGhpcywgYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG59XG5cbkJ1ZmZlci5wb29sU2l6ZSA9IDgxOTIgLy8gbm90IHVzZWQgYnkgdGhpcyBpbXBsZW1lbnRhdGlvblxuXG4vLyBUT0RPOiBMZWdhY3ksIG5vdCBuZWVkZWQgYW55bW9yZS4gUmVtb3ZlIGluIG5leHQgbWFqb3IgdmVyc2lvbi5cbkJ1ZmZlci5fYXVnbWVudCA9IGZ1bmN0aW9uIChhcnIpIHtcbiAgYXJyLl9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcbiAgcmV0dXJuIGFyclxufVxuXG5mdW5jdGlvbiBmcm9tICh0aGF0LCB2YWx1ZSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJ2YWx1ZVwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5QnVmZmVyKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxuICB9XG5cbiAgcmV0dXJuIGZyb21PYmplY3QodGhhdCwgdmFsdWUpXG59XG5cbi8qKlxuICogRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gQnVmZmVyKGFyZywgZW5jb2RpbmcpIGJ1dCB0aHJvd3MgYSBUeXBlRXJyb3JcbiAqIGlmIHZhbHVlIGlzIGEgbnVtYmVyLlxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxuICogQnVmZmVyLmZyb20oYXJyYXkpXG4gKiBCdWZmZXIuZnJvbShidWZmZXIpXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcbiAqKi9cbkJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGZyb20obnVsbCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fID0gVWludDhBcnJheS5wcm90b3R5cGVcbiAgQnVmZmVyLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXlcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5zcGVjaWVzICYmXG4gICAgICBCdWZmZXJbU3ltYm9sLnNwZWNpZXNdID09PSBCdWZmZXIpIHtcbiAgICAvLyBGaXggc3ViYXJyYXkoKSBpbiBFUzIwMTYuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvcHVsbC85N1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIsIFN5bWJvbC5zcGVjaWVzLCB7XG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0U2l6ZSAoc2l6ZSkge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH0gZWxzZSBpZiAoc2l6ZSA8IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFsbG9jICh0aGF0LCBzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICBhc3NlcnRTaXplKHNpemUpXG4gIGlmIChzaXplIDw9IDApIHtcbiAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG4gIH1cbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIE9ubHkgcGF5IGF0dGVudGlvbiB0byBlbmNvZGluZyBpZiBpdCdzIGEgc3RyaW5nLiBUaGlzXG4gICAgLy8gcHJldmVudHMgYWNjaWRlbnRhbGx5IHNlbmRpbmcgaW4gYSBudW1iZXIgdGhhdCB3b3VsZFxuICAgIC8vIGJlIGludGVycHJldHRlZCBhcyBhIHN0YXJ0IG9mZnNldC5cbiAgICByZXR1cm4gdHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJ1xuICAgICAgPyBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSkuZmlsbChmaWxsLCBlbmNvZGluZylcbiAgICAgIDogY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpLmZpbGwoZmlsbClcbiAgfVxuICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBmaWxsZWQgQnVmZmVyIGluc3RhbmNlLlxuICogYWxsb2Moc2l6ZVssIGZpbGxbLCBlbmNvZGluZ11dKVxuICoqL1xuQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIHJldHVybiBhbGxvYyhudWxsLCBzaXplLCBmaWxsLCBlbmNvZGluZylcbn1cblxuZnVuY3Rpb24gYWxsb2NVbnNhZmUgKHRoYXQsIHNpemUpIHtcbiAgYXNzZXJ0U2l6ZShzaXplKVxuICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUgPCAwID8gMCA6IGNoZWNrZWQoc2l6ZSkgfCAwKVxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHtcbiAgICAgIHRoYXRbaV0gPSAwXG4gICAgfVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbi8qKlxuICogRXF1aXZhbGVudCB0byBCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqICovXG5CdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICByZXR1cm4gYWxsb2NVbnNhZmUobnVsbCwgc2l6ZSlcbn1cbi8qKlxuICogRXF1aXZhbGVudCB0byBTbG93QnVmZmVyKG51bSksIGJ5IGRlZmF1bHQgY3JlYXRlcyBhIG5vbi16ZXJvLWZpbGxlZCBCdWZmZXIgaW5zdGFuY2UuXG4gKi9cbkJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICByZXR1cm4gYWxsb2NVbnNhZmUobnVsbCwgc2l6ZSlcbn1cblxuZnVuY3Rpb24gZnJvbVN0cmluZyAodGhhdCwgc3RyaW5nLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJyB8fCBlbmNvZGluZyA9PT0gJycpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4J1xuICB9XG5cbiAgaWYgKCFCdWZmZXIuaXNFbmNvZGluZyhlbmNvZGluZykpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImVuY29kaW5nXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpXG4gIH1cblxuICB2YXIgbGVuZ3RoID0gYnl0ZUxlbmd0aChzdHJpbmcsIGVuY29kaW5nKSB8IDBcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpXG5cbiAgdmFyIGFjdHVhbCA9IHRoYXQud3JpdGUoc3RyaW5nLCBlbmNvZGluZylcblxuICBpZiAoYWN0dWFsICE9PSBsZW5ndGgpIHtcbiAgICAvLyBXcml0aW5nIGEgaGV4IHN0cmluZywgZm9yIGV4YW1wbGUsIHRoYXQgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzIHdpbGxcbiAgICAvLyBjYXVzZSBldmVyeXRoaW5nIGFmdGVyIHRoZSBmaXJzdCBpbnZhbGlkIGNoYXJhY3RlciB0byBiZSBpZ25vcmVkLiAoZS5nLlxuICAgIC8vICdhYnh4Y2QnIHdpbGwgYmUgdHJlYXRlZCBhcyAnYWInKVxuICAgIHRoYXQgPSB0aGF0LnNsaWNlKDAsIGFjdHVhbClcbiAgfVxuXG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheUxpa2UgKHRoYXQsIGFycmF5KSB7XG4gIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGggPCAwID8gMCA6IGNoZWNrZWQoYXJyYXkubGVuZ3RoKSB8IDBcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICB0aGF0W2ldID0gYXJyYXlbaV0gJiAyNTVcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIgKHRoYXQsIGFycmF5LCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgYXJyYXkuYnl0ZUxlbmd0aCAvLyB0aGlzIHRocm93cyBpZiBgYXJyYXlgIGlzIG5vdCBhIHZhbGlkIEFycmF5QnVmZmVyXG5cbiAgaWYgKGJ5dGVPZmZzZXQgPCAwIHx8IGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0KSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1xcJ29mZnNldFxcJyBpcyBvdXQgb2YgYm91bmRzJylcbiAgfVxuXG4gIGlmIChhcnJheS5ieXRlTGVuZ3RoIDwgYnl0ZU9mZnNldCArIChsZW5ndGggfHwgMCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFwnbGVuZ3RoXFwnIGlzIG91dCBvZiBib3VuZHMnKVxuICB9XG5cbiAgaWYgKGJ5dGVPZmZzZXQgPT09IHVuZGVmaW5lZCAmJiBsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXkpXG4gIH0gZWxzZSBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBhcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5LCBieXRlT2Zmc2V0KVxuICB9IGVsc2Uge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBhcnJheVxuICAgIHRoYXQuX19wcm90b19fID0gQnVmZmVyLnByb3RvdHlwZVxuICB9IGVsc2Uge1xuICAgIC8vIEZhbGxiYWNrOiBSZXR1cm4gYW4gb2JqZWN0IGluc3RhbmNlIG9mIHRoZSBCdWZmZXIgY2xhc3NcbiAgICB0aGF0ID0gZnJvbUFycmF5TGlrZSh0aGF0LCBhcnJheSlcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0ICh0aGF0LCBvYmopIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XG4gICAgdmFyIGxlbiA9IGNoZWNrZWQob2JqLmxlbmd0aCkgfCAwXG4gICAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW4pXG5cbiAgICBpZiAodGhhdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGF0XG4gICAgfVxuXG4gICAgb2JqLmNvcHkodGhhdCwgMCwgMCwgbGVuKVxuICAgIHJldHVybiB0aGF0XG4gIH1cblxuICBpZiAob2JqKSB7XG4gICAgaWYgKCh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIG9iai5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgfHwgJ2xlbmd0aCcgaW4gb2JqKSB7XG4gICAgICBpZiAodHlwZW9mIG9iai5sZW5ndGggIT09ICdudW1iZXInIHx8IGlzbmFuKG9iai5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVCdWZmZXIodGhhdCwgMClcbiAgICAgIH1cbiAgICAgIHJldHVybiBmcm9tQXJyYXlMaWtlKHRoYXQsIG9iailcbiAgICB9XG5cbiAgICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIGlzQXJyYXkob2JqLmRhdGEpKSB7XG4gICAgICByZXR1cm4gZnJvbUFycmF5TGlrZSh0aGF0LCBvYmouZGF0YSlcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCdGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgYXJyYXktbGlrZSBvYmplY3QuJylcbn1cblxuZnVuY3Rpb24gY2hlY2tlZCAobGVuZ3RoKSB7XG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IGtNYXhMZW5ndGgoKWAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxuICAvLyBsZW5ndGggaXMgTmFOICh3aGljaCBpcyBvdGhlcndpc2UgY29lcmNlZCB0byB6ZXJvLilcbiAgaWYgKGxlbmd0aCA+PSBrTWF4TGVuZ3RoKCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAnc2l6ZTogMHgnICsga01heExlbmd0aCgpLnRvU3RyaW5nKDE2KSArICcgYnl0ZXMnKVxuICB9XG4gIHJldHVybiBsZW5ndGggfCAwXG59XG5cbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xuICBpZiAoK2xlbmd0aCAhPSBsZW5ndGgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBlcWVxZXFcbiAgICBsZW5ndGggPSAwXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5hbGxvYygrbGVuZ3RoKVxufVxuXG5CdWZmZXIuaXNCdWZmZXIgPSBmdW5jdGlvbiBpc0J1ZmZlciAoYikge1xuICByZXR1cm4gISEoYiAhPSBudWxsICYmIGIuX2lzQnVmZmVyKVxufVxuXG5CdWZmZXIuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYSkgfHwgIUJ1ZmZlci5pc0J1ZmZlcihiKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyBtdXN0IGJlIEJ1ZmZlcnMnKVxuICB9XG5cbiAgaWYgKGEgPT09IGIpIHJldHVybiAwXG5cbiAgdmFyIHggPSBhLmxlbmd0aFxuICB2YXIgeSA9IGIubGVuZ3RoXG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkge1xuICAgICAgeCA9IGFbaV1cbiAgICAgIHkgPSBiW2ldXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcbiAgcmV0dXJuIDBcbn1cblxuQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiBpc0VuY29kaW5nIChlbmNvZGluZykge1xuICBzd2l0Y2ggKFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ2hleCc6XG4gICAgY2FzZSAndXRmOCc6XG4gICAgY2FzZSAndXRmLTgnOlxuICAgIGNhc2UgJ2FzY2lpJzpcbiAgICBjYXNlICdsYXRpbjEnOlxuICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICBjYXNlICd1Y3MyJzpcbiAgICBjYXNlICd1Y3MtMic6XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgcmV0dXJuIHRydWVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghaXNBcnJheShsaXN0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gIH1cblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICB2YXIgaVxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBsZW5ndGggPSAwXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIGxlbmd0aCArPSBsaXN0W2ldLmxlbmd0aFxuICAgIH1cbiAgfVxuXG4gIHZhciBidWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuZ3RoKVxuICB2YXIgcG9zID0gMFxuICBmb3IgKGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7ICsraSkge1xuICAgIHZhciBidWYgPSBsaXN0W2ldXG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcbiAgICB9XG4gICAgYnVmLmNvcHkoYnVmZmVyLCBwb3MpXG4gICAgcG9zICs9IGJ1Zi5sZW5ndGhcbiAgfVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIGJ5dGVMZW5ndGggKHN0cmluZywgZW5jb2RpbmcpIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihzdHJpbmcpKSB7XG4gICAgcmV0dXJuIHN0cmluZy5sZW5ndGhcbiAgfVxuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3ID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAoQXJyYXlCdWZmZXIuaXNWaWV3KHN0cmluZykgfHwgc3RyaW5nIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XG4gICAgcmV0dXJuIHN0cmluZy5ieXRlTGVuZ3RoXG4gIH1cbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmdcbiAgfVxuXG4gIHZhciBsZW4gPSBzdHJpbmcubGVuZ3RoXG4gIGlmIChsZW4gPT09IDApIHJldHVybiAwXG5cbiAgLy8gVXNlIGEgZm9yIGxvb3AgdG8gYXZvaWQgcmVjdXJzaW9uXG4gIHZhciBsb3dlcmVkQ2FzZSA9IGZhbHNlXG4gIGZvciAoOzspIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxlblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoXG4gICAgICBjYXNlICd1Y3MyJzpcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgICByZXR1cm4gbGVuICogMlxuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGxlbiA+Pj4gMVxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgcmV0dXJuIGJhc2U2NFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoIC8vIGFzc3VtZSB1dGY4XG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5CdWZmZXIuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcblxuZnVuY3Rpb24gc2xvd1RvU3RyaW5nIChlbmNvZGluZywgc3RhcnQsIGVuZCkge1xuICB2YXIgbG93ZXJlZENhc2UgPSBmYWxzZVxuXG4gIC8vIE5vIG5lZWQgdG8gdmVyaWZ5IHRoYXQgXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXCIgc2luY2UgaXQncyBhIHJlYWQtb25seVxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxuXG4gIC8vIFRoaXMgYmVoYXZlcyBuZWl0aGVyIGxpa2UgU3RyaW5nIG5vciBVaW50OEFycmF5IGluIHRoYXQgd2Ugc2V0IHN0YXJ0L2VuZFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXG4gIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNwZWNpYWxseSBhcyBwZXIgRUNNQS0yNjIgNnRoIEVkaXRpb24sXG4gIC8vIFNlY3Rpb24gMTMuMy4zLjcgUnVudGltZSBTZW1hbnRpY3M6IEtleWVkQmluZGluZ0luaXRpYWxpemF0aW9uLlxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxuICAvLyBjb2VyY2lvbiBmYWlsIGJlbG93LlxuICBpZiAoc3RhcnQgPiB0aGlzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgZW5kID0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIGlmIChlbmQgPD0gMCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgLy8gRm9yY2UgY29lcnNpb24gdG8gdWludDMyLiBUaGlzIHdpbGwgYWxzbyBjb2VyY2UgZmFsc2V5L05hTiB2YWx1ZXMgdG8gMC5cbiAgZW5kID4+Pj0gMFxuICBzdGFydCA+Pj49IDBcblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgc3dpdGNoIChlbmNvZGluZykge1xuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgY2FzZSAndXRmLTgnOlxuICAgICAgICByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgICAgcmV0dXJuIGFzY2lpU2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnbGF0aW4xJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAgIHJldHVybiBsYXRpbjFTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIHByb3BlcnR5IGlzIHVzZWQgYnkgYEJ1ZmZlci5pc0J1ZmZlcmAgYW5kIGBpcy1idWZmZXJgIChpbiBTYWZhcmkgNS03KSB0byBkZXRlY3Rcbi8vIEJ1ZmZlciBpbnN0YW5jZXMuXG5CdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlciA9IHRydWVcblxuZnVuY3Rpb24gc3dhcCAoYiwgbiwgbSkge1xuICB2YXIgaSA9IGJbbl1cbiAgYltuXSA9IGJbbV1cbiAgYlttXSA9IGlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5zd2FwMTYgPSBmdW5jdGlvbiBzd2FwMTYgKCkge1xuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcbiAgaWYgKGxlbiAlIDIgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHMnKVxuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHtcbiAgICBzd2FwKHRoaXMsIGksIGkgKyAxKVxuICB9XG4gIHJldHVybiB0aGlzXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyID0gZnVuY3Rpb24gc3dhcDMyICgpIHtcbiAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA0ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgMilcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxuICBpZiAobGVuICUgOCAhPT0gMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cycpXG4gIH1cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkgKz0gOCkge1xuICAgIHN3YXAodGhpcywgaSwgaSArIDcpXG4gICAgc3dhcCh0aGlzLCBpICsgMSwgaSArIDYpXG4gICAgc3dhcCh0aGlzLCBpICsgMiwgaSArIDUpXG4gICAgc3dhcCh0aGlzLCBpICsgMywgaSArIDQpXG4gIH1cbiAgcmV0dXJuIHRoaXNcbn1cblxuQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nICgpIHtcbiAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoIHwgMFxuICBpZiAobGVuZ3RoID09PSAwKSByZXR1cm4gJydcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHJldHVybiB1dGY4U2xpY2UodGhpcywgMCwgbGVuZ3RoKVxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICBpZiAodGhpcyA9PT0gYikgcmV0dXJuIHRydWVcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xuICB2YXIgc3RyID0gJydcbiAgdmFyIG1heCA9IGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVNcbiAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xuICAgIHN0ciA9IHRoaXMudG9TdHJpbmcoJ2hleCcsIDAsIG1heCkubWF0Y2goLy57Mn0vZykuam9pbignICcpXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbWF4KSBzdHIgKz0gJyAuLi4gJ1xuICB9XG4gIHJldHVybiAnPEJ1ZmZlciAnICsgc3RyICsgJz4nXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKHRhcmdldCwgc3RhcnQsIGVuZCwgdGhpc1N0YXJ0LCB0aGlzRW5kKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHRhcmdldCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcbiAgfVxuXG4gIGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RhcnQgPSAwXG4gIH1cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZW5kID0gdGFyZ2V0ID8gdGFyZ2V0Lmxlbmd0aCA6IDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aGlzU3RhcnQgPSAwXG4gIH1cbiAgaWYgKHRoaXNFbmQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRoaXNFbmQgPSB0aGlzLmxlbmd0aFxuICB9XG5cbiAgaWYgKHN0YXJ0IDwgMCB8fCBlbmQgPiB0YXJnZXQubGVuZ3RoIHx8IHRoaXNTdGFydCA8IDAgfHwgdGhpc0VuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ291dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQgJiYgc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQpIHtcbiAgICByZXR1cm4gLTFcbiAgfVxuICBpZiAoc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDFcbiAgfVxuXG4gIHN0YXJ0ID4+Pj0gMFxuICBlbmQgPj4+PSAwXG4gIHRoaXNTdGFydCA+Pj49IDBcbiAgdGhpc0VuZCA+Pj49IDBcblxuICBpZiAodGhpcyA9PT0gdGFyZ2V0KSByZXR1cm4gMFxuXG4gIHZhciB4ID0gdGhpc0VuZCAtIHRoaXNTdGFydFxuICB2YXIgeSA9IGVuZCAtIHN0YXJ0XG4gIHZhciBsZW4gPSBNYXRoLm1pbih4LCB5KVxuXG4gIHZhciB0aGlzQ29weSA9IHRoaXMuc2xpY2UodGhpc1N0YXJ0LCB0aGlzRW5kKVxuICB2YXIgdGFyZ2V0Q29weSA9IHRhcmdldC5zbGljZShzdGFydCwgZW5kKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAodGhpc0NvcHlbaV0gIT09IHRhcmdldENvcHlbaV0pIHtcbiAgICAgIHggPSB0aGlzQ29weVtpXVxuICAgICAgeSA9IHRhcmdldENvcHlbaV1cbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaWYgKHggPCB5KSByZXR1cm4gLTFcbiAgaWYgKHkgPCB4KSByZXR1cm4gMVxuICByZXR1cm4gMFxufVxuXG4vLyBGaW5kcyBlaXRoZXIgdGhlIGZpcnN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA+PSBgYnl0ZU9mZnNldGAsXG4vLyBPUiB0aGUgbGFzdCBpbmRleCBvZiBgdmFsYCBpbiBgYnVmZmVyYCBhdCBvZmZzZXQgPD0gYGJ5dGVPZmZzZXRgLlxuLy9cbi8vIEFyZ3VtZW50czpcbi8vIC0gYnVmZmVyIC0gYSBCdWZmZXIgdG8gc2VhcmNoXG4vLyAtIHZhbCAtIGEgc3RyaW5nLCBCdWZmZXIsIG9yIG51bWJlclxuLy8gLSBieXRlT2Zmc2V0IC0gYW4gaW5kZXggaW50byBgYnVmZmVyYDsgd2lsbCBiZSBjbGFtcGVkIHRvIGFuIGludDMyXG4vLyAtIGVuY29kaW5nIC0gYW4gb3B0aW9uYWwgZW5jb2RpbmcsIHJlbGV2YW50IGlzIHZhbCBpcyBhIHN0cmluZ1xuLy8gLSBkaXIgLSB0cnVlIGZvciBpbmRleE9mLCBmYWxzZSBmb3IgbGFzdEluZGV4T2ZcbmZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mIChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xuICAvLyBFbXB0eSBidWZmZXIgbWVhbnMgbm8gbWF0Y2hcbiAgaWYgKGJ1ZmZlci5sZW5ndGggPT09IDApIHJldHVybiAtMVxuXG4gIC8vIE5vcm1hbGl6ZSBieXRlT2Zmc2V0XG4gIGlmICh0eXBlb2YgYnl0ZU9mZnNldCA9PT0gJ3N0cmluZycpIHtcbiAgICBlbmNvZGluZyA9IGJ5dGVPZmZzZXRcbiAgICBieXRlT2Zmc2V0ID0gMFxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPiAweDdmZmZmZmZmKSB7XG4gICAgYnl0ZU9mZnNldCA9IDB4N2ZmZmZmZmZcbiAgfSBlbHNlIGlmIChieXRlT2Zmc2V0IDwgLTB4ODAwMDAwMDApIHtcbiAgICBieXRlT2Zmc2V0ID0gLTB4ODAwMDAwMDBcbiAgfVxuICBieXRlT2Zmc2V0ID0gK2J5dGVPZmZzZXQgIC8vIENvZXJjZSB0byBOdW1iZXIuXG4gIGlmIChpc05hTihieXRlT2Zmc2V0KSkge1xuICAgIC8vIGJ5dGVPZmZzZXQ6IGl0IGl0J3MgdW5kZWZpbmVkLCBudWxsLCBOYU4sIFwiZm9vXCIsIGV0Yywgc2VhcmNoIHdob2xlIGJ1ZmZlclxuICAgIGJ5dGVPZmZzZXQgPSBkaXIgPyAwIDogKGJ1ZmZlci5sZW5ndGggLSAxKVxuICB9XG5cbiAgLy8gTm9ybWFsaXplIGJ5dGVPZmZzZXQ6IG5lZ2F0aXZlIG9mZnNldHMgc3RhcnQgZnJvbSB0aGUgZW5kIG9mIHRoZSBidWZmZXJcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gYnVmZmVyLmxlbmd0aCArIGJ5dGVPZmZzZXRcbiAgaWYgKGJ5dGVPZmZzZXQgPj0gYnVmZmVyLmxlbmd0aCkge1xuICAgIGlmIChkaXIpIHJldHVybiAtMVxuICAgIGVsc2UgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggLSAxXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA8IDApIHtcbiAgICBpZiAoZGlyKSBieXRlT2Zmc2V0ID0gMFxuICAgIGVsc2UgcmV0dXJuIC0xXG4gIH1cblxuICAvLyBOb3JtYWxpemUgdmFsXG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHZhbCA9IEJ1ZmZlci5mcm9tKHZhbCwgZW5jb2RpbmcpXG4gIH1cblxuICAvLyBGaW5hbGx5LCBzZWFyY2ggZWl0aGVyIGluZGV4T2YgKGlmIGRpciBpcyB0cnVlKSBvciBsYXN0SW5kZXhPZlxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbCkpIHtcbiAgICAvLyBTcGVjaWFsIGNhc2U6IGxvb2tpbmcgZm9yIGVtcHR5IHN0cmluZy9idWZmZXIgYWx3YXlzIGZhaWxzXG4gICAgaWYgKHZhbC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlJbmRleE9mKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKVxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgdmFsID0gdmFsICYgMHhGRiAvLyBTZWFyY2ggZm9yIGEgYnl0ZSB2YWx1ZSBbMC0yNTVdXG4gICAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUICYmXG4gICAgICAgIHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoZGlyKSB7XG4gICAgICAgIHJldHVybiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5SW5kZXhPZihidWZmZXIsIFsgdmFsIF0sIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCd2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXInKVxufVxuXG5mdW5jdGlvbiBhcnJheUluZGV4T2YgKGFyciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKSB7XG4gIHZhciBpbmRleFNpemUgPSAxXG4gIHZhciBhcnJMZW5ndGggPSBhcnIubGVuZ3RoXG4gIHZhciB2YWxMZW5ndGggPSB2YWwubGVuZ3RoXG5cbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9IFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKVxuICAgIGlmIChlbmNvZGluZyA9PT0gJ3VjczInIHx8IGVuY29kaW5nID09PSAndWNzLTInIHx8XG4gICAgICAgIGVuY29kaW5nID09PSAndXRmMTZsZScgfHwgZW5jb2RpbmcgPT09ICd1dGYtMTZsZScpIHtcbiAgICAgIGlmIChhcnIubGVuZ3RoIDwgMiB8fCB2YWwubGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gLTFcbiAgICAgIH1cbiAgICAgIGluZGV4U2l6ZSA9IDJcbiAgICAgIGFyckxlbmd0aCAvPSAyXG4gICAgICB2YWxMZW5ndGggLz0gMlxuICAgICAgYnl0ZU9mZnNldCAvPSAyXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVhZCAoYnVmLCBpKSB7XG4gICAgaWYgKGluZGV4U2l6ZSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGJ1ZltpXVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYnVmLnJlYWRVSW50MTZCRShpICogaW5kZXhTaXplKVxuICAgIH1cbiAgfVxuXG4gIHZhciBpXG4gIGlmIChkaXIpIHtcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xXG4gICAgZm9yIChpID0gYnl0ZU9mZnNldDsgaSA8IGFyckxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAocmVhZChhcnIsIGkpID09PSByZWFkKHZhbCwgZm91bmRJbmRleCA9PT0gLTEgPyAwIDogaSAtIGZvdW5kSW5kZXgpKSB7XG4gICAgICAgIGlmIChmb3VuZEluZGV4ID09PSAtMSkgZm91bmRJbmRleCA9IGlcbiAgICAgICAgaWYgKGkgLSBmb3VuZEluZGV4ICsgMSA9PT0gdmFsTGVuZ3RoKSByZXR1cm4gZm91bmRJbmRleCAqIGluZGV4U2l6ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSBpIC09IGkgLSBmb3VuZEluZGV4XG4gICAgICAgIGZvdW5kSW5kZXggPSAtMVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoYnl0ZU9mZnNldCArIHZhbExlbmd0aCA+IGFyckxlbmd0aCkgYnl0ZU9mZnNldCA9IGFyckxlbmd0aCAtIHZhbExlbmd0aFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgZm91bmQgPSB0cnVlXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHZhbExlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmIChyZWFkKGFyciwgaSArIGopICE9PSByZWFkKHZhbCwgaikpIHtcbiAgICAgICAgICBmb3VuZCA9IGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGZvdW5kKSByZXR1cm4gaVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluY2x1ZGVzID0gZnVuY3Rpb24gaW5jbHVkZXMgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcbiAgcmV0dXJuIHRoaXMuaW5kZXhPZih2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSAhPT0gLTFcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24gaW5kZXhPZiAodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykge1xuICByZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcywgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgdHJ1ZSlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZiA9IGZ1bmN0aW9uIGxhc3RJbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBmYWxzZSlcbn1cblxuZnVuY3Rpb24gaGV4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICBvZmZzZXQgPSBOdW1iZXIob2Zmc2V0KSB8fCAwXG4gIHZhciByZW1haW5pbmcgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmICghbGVuZ3RoKSB7XG4gICAgbGVuZ3RoID0gcmVtYWluaW5nXG4gIH0gZWxzZSB7XG4gICAgbGVuZ3RoID0gTnVtYmVyKGxlbmd0aClcbiAgICBpZiAobGVuZ3RoID4gcmVtYWluaW5nKSB7XG4gICAgICBsZW5ndGggPSByZW1haW5pbmdcbiAgICB9XG4gIH1cblxuICAvLyBtdXN0IGJlIGFuIGV2ZW4gbnVtYmVyIG9mIGRpZ2l0c1xuICB2YXIgc3RyTGVuID0gc3RyaW5nLmxlbmd0aFxuICBpZiAoc3RyTGVuICUgMiAhPT0gMCkgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBoZXggc3RyaW5nJylcblxuICBpZiAobGVuZ3RoID4gc3RyTGVuIC8gMikge1xuICAgIGxlbmd0aCA9IHN0ckxlbiAvIDJcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgdmFyIHBhcnNlZCA9IHBhcnNlSW50KHN0cmluZy5zdWJzdHIoaSAqIDIsIDIpLCAxNilcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSBwYXJzZWRcbiAgfVxuICByZXR1cm4gaVxufVxuXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBhc2NpaVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYXNjaWlUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGxhdGluMVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGFzY2lpV3JpdGUoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBiYXNlNjRXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBibGl0QnVmZmVyKGJhc2U2NFRvQnl0ZXMoc3RyaW5nKSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuZnVuY3Rpb24gdWNzMldyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIodXRmMTZsZVRvQnl0ZXMoc3RyaW5nLCBidWYubGVuZ3RoIC0gb2Zmc2V0KSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIHdyaXRlIChzdHJpbmcsIG9mZnNldCwgbGVuZ3RoLCBlbmNvZGluZykge1xuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nKVxuICBpZiAob2Zmc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4J1xuICAgIGxlbmd0aCA9IHRoaXMubGVuZ3RoXG4gICAgb2Zmc2V0ID0gMFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nLCBlbmNvZGluZylcbiAgfSBlbHNlIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgIGVuY29kaW5nID0gb2Zmc2V0XG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGhcbiAgICBvZmZzZXQgPSAwXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIG9mZnNldFssIGxlbmd0aF1bLCBlbmNvZGluZ10pXG4gIH0gZWxzZSBpZiAoaXNGaW5pdGUob2Zmc2V0KSkge1xuICAgIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgICBpZiAoaXNGaW5pdGUobGVuZ3RoKSkge1xuICAgICAgbGVuZ3RoID0gbGVuZ3RoIHwgMFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgfSBlbHNlIHtcbiAgICAgIGVuY29kaW5nID0gbGVuZ3RoXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcbiAgICB9XG4gIC8vIGxlZ2FjeSB3cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXQsIGxlbmd0aCkgLSByZW1vdmUgaW4gdjAuMTNcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQnXG4gICAgKVxuICB9XG5cbiAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCB8fCBsZW5ndGggPiByZW1haW5pbmcpIGxlbmd0aCA9IHJlbWFpbmluZ1xuXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0F0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gJ3V0ZjgnXG5cbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBoZXhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuIHV0ZjhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICAgIHJldHVybiBhc2NpaVdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ2xhdGluMSc6XG4gICAgICBjYXNlICdiaW5hcnknOlxuICAgICAgICByZXR1cm4gbGF0aW4xV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcbiAgICAgICAgcmV0dXJuIGJhc2U2NFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiB1Y3MyV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jb2RpbmcpXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQnVmZmVyJyxcbiAgICBkYXRhOiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnIgfHwgdGhpcywgMClcbiAgfVxufVxuXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGlmIChzdGFydCA9PT0gMCAmJiBlbmQgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYuc2xpY2Uoc3RhcnQsIGVuZCkpXG4gIH1cbn1cblxuZnVuY3Rpb24gdXRmOFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuICB2YXIgcmVzID0gW11cblxuICB2YXIgaSA9IHN0YXJ0XG4gIHdoaWxlIChpIDwgZW5kKSB7XG4gICAgdmFyIGZpcnN0Qnl0ZSA9IGJ1ZltpXVxuICAgIHZhciBjb2RlUG9pbnQgPSBudWxsXG4gICAgdmFyIGJ5dGVzUGVyU2VxdWVuY2UgPSAoZmlyc3RCeXRlID4gMHhFRikgPyA0XG4gICAgICA6IChmaXJzdEJ5dGUgPiAweERGKSA/IDNcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4QkYpID8gMlxuICAgICAgOiAxXG5cbiAgICBpZiAoaSArIGJ5dGVzUGVyU2VxdWVuY2UgPD0gZW5kKSB7XG4gICAgICB2YXIgc2Vjb25kQnl0ZSwgdGhpcmRCeXRlLCBmb3VydGhCeXRlLCB0ZW1wQ29kZVBvaW50XG5cbiAgICAgIHN3aXRjaCAoYnl0ZXNQZXJTZXF1ZW5jZSkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKGZpcnN0Qnl0ZSA8IDB4ODApIHtcbiAgICAgICAgICAgIGNvZGVQb2ludCA9IGZpcnN0Qnl0ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweDFGKSA8PCAweDYgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4N0YpIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XG4gICAgICAgICAgICB0ZW1wQ29kZVBvaW50ID0gKGZpcnN0Qnl0ZSAmIDB4RikgPDwgMHhDIHwgKHNlY29uZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAodGhpcmRCeXRlICYgMHgzRilcbiAgICAgICAgICAgIGlmICh0ZW1wQ29kZVBvaW50ID4gMHg3RkYgJiYgKHRlbXBDb2RlUG9pbnQgPCAweEQ4MDAgfHwgdGVtcENvZGVQb2ludCA+IDB4REZGRikpIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXG4gICAgICAgICAgZm91cnRoQnl0ZSA9IGJ1ZltpICsgM11cbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCAmJiAodGhpcmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKGZvdXJ0aEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4MTIgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpIDw8IDB4QyB8ICh0aGlyZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAoZm91cnRoQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4RkZGRiAmJiB0ZW1wQ29kZVBvaW50IDwgMHgxMTAwMDApIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29kZVBvaW50ID09PSBudWxsKSB7XG4gICAgICAvLyB3ZSBkaWQgbm90IGdlbmVyYXRlIGEgdmFsaWQgY29kZVBvaW50IHNvIGluc2VydCBhXG4gICAgICAvLyByZXBsYWNlbWVudCBjaGFyIChVK0ZGRkQpIGFuZCBhZHZhbmNlIG9ubHkgMSBieXRlXG4gICAgICBjb2RlUG9pbnQgPSAweEZGRkRcbiAgICAgIGJ5dGVzUGVyU2VxdWVuY2UgPSAxXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPiAweEZGRkYpIHtcbiAgICAgIC8vIGVuY29kZSB0byB1dGYxNiAoc3Vycm9nYXRlIHBhaXIgZGFuY2UpXG4gICAgICBjb2RlUG9pbnQgLT0gMHgxMDAwMFxuICAgICAgcmVzLnB1c2goY29kZVBvaW50ID4+PiAxMCAmIDB4M0ZGIHwgMHhEODAwKVxuICAgICAgY29kZVBvaW50ID0gMHhEQzAwIHwgY29kZVBvaW50ICYgMHgzRkZcbiAgICB9XG5cbiAgICByZXMucHVzaChjb2RlUG9pbnQpXG4gICAgaSArPSBieXRlc1BlclNlcXVlbmNlXG4gIH1cblxuICByZXR1cm4gZGVjb2RlQ29kZVBvaW50c0FycmF5KHJlcylcbn1cblxuLy8gQmFzZWQgb24gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjI3NDcyNzIvNjgwNzQyLCB0aGUgYnJvd3NlciB3aXRoXG4vLyB0aGUgbG93ZXN0IGxpbWl0IGlzIENocm9tZSwgd2l0aCAweDEwMDAwIGFyZ3MuXG4vLyBXZSBnbyAxIG1hZ25pdHVkZSBsZXNzLCBmb3Igc2FmZXR5XG52YXIgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcblxuZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5IChjb2RlUG9pbnRzKSB7XG4gIHZhciBsZW4gPSBjb2RlUG9pbnRzLmxlbmd0aFxuICBpZiAobGVuIDw9IE1BWF9BUkdVTUVOVFNfTEVOR1RIKSB7XG4gICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBjb2RlUG9pbnRzKSAvLyBhdm9pZCBleHRyYSBzbGljZSgpXG4gIH1cblxuICAvLyBEZWNvZGUgaW4gY2h1bmtzIHRvIGF2b2lkIFwiY2FsbCBzdGFjayBzaXplIGV4Y2VlZGVkXCIuXG4gIHZhciByZXMgPSAnJ1xuICB2YXIgaSA9IDBcbiAgd2hpbGUgKGkgPCBsZW4pIHtcbiAgICByZXMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShcbiAgICAgIFN0cmluZyxcbiAgICAgIGNvZGVQb2ludHMuc2xpY2UoaSwgaSArPSBNQVhfQVJHVU1FTlRTX0xFTkdUSClcbiAgICApXG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHJldCA9ICcnXG4gIGVuZCA9IE1hdGgubWluKGJ1Zi5sZW5ndGgsIGVuZClcblxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIHJldCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSAmIDB4N0YpXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5mdW5jdGlvbiBsYXRpbjFTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciByZXQgPSAnJ1xuICBlbmQgPSBNYXRoLm1pbihidWYubGVuZ3RoLCBlbmQpXG5cbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICByZXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5mdW5jdGlvbiBoZXhTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciBsZW4gPSBidWYubGVuZ3RoXG5cbiAgaWYgKCFzdGFydCB8fCBzdGFydCA8IDApIHN0YXJ0ID0gMFxuICBpZiAoIWVuZCB8fCBlbmQgPCAwIHx8IGVuZCA+IGxlbikgZW5kID0gbGVuXG5cbiAgdmFyIG91dCA9ICcnXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgb3V0ICs9IHRvSGV4KGJ1ZltpXSlcbiAgfVxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciBieXRlcyA9IGJ1Zi5zbGljZShzdGFydCwgZW5kKVxuICB2YXIgcmVzID0gJydcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldICsgYnl0ZXNbaSArIDFdICogMjU2KVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIHNsaWNlIChzdGFydCwgZW5kKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxuICBzdGFydCA9IH5+c3RhcnRcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxuXG4gIGlmIChzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSBsZW5cbiAgICBpZiAoc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgfSBlbHNlIGlmIChzdGFydCA+IGxlbikge1xuICAgIHN0YXJ0ID0gbGVuXG4gIH1cblxuICBpZiAoZW5kIDwgMCkge1xuICAgIGVuZCArPSBsZW5cbiAgICBpZiAoZW5kIDwgMCkgZW5kID0gMFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xuICAgIGVuZCA9IGxlblxuICB9XG5cbiAgaWYgKGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxuXG4gIHZhciBuZXdCdWZcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgbmV3QnVmID0gdGhpcy5zdWJhcnJheShzdGFydCwgZW5kKVxuICAgIG5ld0J1Zi5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgdmFyIHNsaWNlTGVuID0gZW5kIC0gc3RhcnRcbiAgICBuZXdCdWYgPSBuZXcgQnVmZmVyKHNsaWNlTGVuLCB1bmRlZmluZWQpXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzbGljZUxlbjsgKytpKSB7XG4gICAgICBuZXdCdWZbaV0gPSB0aGlzW2kgKyBzdGFydF1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3QnVmXG59XG5cbi8qXG4gKiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpc24ndCB0cnlpbmcgdG8gd3JpdGUgb3V0IG9mIGJvdW5kcy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcbiAgaWYgKChvZmZzZXQgJSAxKSAhPT0gMCB8fCBvZmZzZXQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb2Zmc2V0IGlzIG5vdCB1aW50JylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEUgPSBmdW5jdGlvbiByZWFkVUludExFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgYnl0ZUxlbmd0aCwgdGhpcy5sZW5ndGgpXG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XVxuICB2YXIgbXVsID0gMVxuICB2YXIgaSA9IDBcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyBpXSAqIG11bFxuICB9XG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50QkUgPSBmdW5jdGlvbiByZWFkVUludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuICB9XG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXVxuICB2YXIgbXVsID0gMVxuICB3aGlsZSAoYnl0ZUxlbmd0aCA+IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyAtLWJ5dGVMZW5ndGhdICogbXVsXG4gIH1cblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gcmVhZFVJbnQ4IChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiB0aGlzW29mZnNldF1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2TEUgPSBmdW5jdGlvbiByZWFkVUludDE2TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFID0gZnVuY3Rpb24gcmVhZFVJbnQxNkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiAodGhpc1tvZmZzZXRdIDw8IDgpIHwgdGhpc1tvZmZzZXQgKyAxXVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKVxuXG4gIHJldHVybiAoKHRoaXNbb2Zmc2V0XSkgfFxuICAgICAgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOCkgfFxuICAgICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgMTYpKSArXG4gICAgICAodGhpc1tvZmZzZXQgKyAzXSAqIDB4MTAwMDAwMClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyQkUgPSBmdW5jdGlvbiByZWFkVUludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xuICAgICgodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDgpIHxcbiAgICB0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRSA9IGZ1bmN0aW9uIHJlYWRJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF1cbiAgdmFyIG11bCA9IDFcbiAgdmFyIGkgPSAwXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgaV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRCRSA9IGZ1bmN0aW9uIHJlYWRJbnRCRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIHZhciBpID0gYnl0ZUxlbmd0aFxuICB2YXIgbXVsID0gMVxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAtLWldXG4gIHdoaWxlIChpID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAxLCB0aGlzLmxlbmd0aClcbiAgaWYgKCEodGhpc1tvZmZzZXRdICYgMHg4MCkpIHJldHVybiAodGhpc1tvZmZzZXRdKVxuICByZXR1cm4gKCgweGZmIC0gdGhpc1tvZmZzZXRdICsgMSkgKiAtMSlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRJbnQxNkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF0gfCAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KVxuICByZXR1cm4gKHZhbCAmIDB4ODAwMCkgPyB2YWwgfCAweEZGRkYwMDAwIDogdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2QkUgPSBmdW5jdGlvbiByZWFkSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAxXSB8ICh0aGlzW29mZnNldF0gPDwgOClcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFID0gZnVuY3Rpb24gcmVhZEludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDNdIDw8IDI0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFID0gZnVuY3Rpb24gcmVhZEludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gcmVhZEZsb2F0TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDIzLCA0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFID0gZnVuY3Rpb24gcmVhZEZsb2F0QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIGZhbHNlLCAyMywgNClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkRG91YmxlTEUgPSBmdW5jdGlvbiByZWFkRG91YmxlTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA4LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDUyLCA4KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRSA9IGZ1bmN0aW9uIHJlYWREb3VibGVCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgZmFsc2UsIDUyLCA4KVxufVxuXG5mdW5jdGlvbiBjaGVja0ludCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpXG4gIGlmICh2YWx1ZSA+IG1heCB8fCB2YWx1ZSA8IG1pbikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludExFID0gZnVuY3Rpb24gd3JpdGVVSW50TEUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApXG4gIH1cblxuICB2YXIgbXVsID0gMVxuICB2YXIgaSA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXG4gIH1cblxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludEJFID0gZnVuY3Rpb24gd3JpdGVVSW50QkUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApXG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIHZhciBtdWwgPSAxXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXG4gIH1cblxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiB3cml0ZVVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDEsIDB4ZmYsIDApXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSlcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDFcbn1cblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MTYgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmICsgdmFsdWUgKyAxXG4gIGZvciAodmFyIGkgPSAwLCBqID0gTWF0aC5taW4oYnVmLmxlbmd0aCAtIG9mZnNldCwgMik7IGkgPCBqOyArK2kpIHtcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSAodmFsdWUgJiAoMHhmZiA8PCAoOCAqIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpKSkpID4+PlxuICAgICAgKGxpdHRsZUVuZGlhbiA/IGkgOiAxIC0gaSkgKiA4XG4gIH1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweGZmZmYsIDApXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyAyXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHhmZmZmLCAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MzIgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmZmZmZiArIHZhbHVlICsgMVxuICBmb3IgKHZhciBpID0gMCwgaiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSBvZmZzZXQsIDQpOyBpIDwgajsgKytpKSB7XG4gICAgYnVmW29mZnNldCArIGldID0gKHZhbHVlID4+PiAobGl0dGxlRW5kaWFuID8gaSA6IDMgLSBpKSAqIDgpICYgMHhmZlxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRSA9IGZ1bmN0aW9uIHdyaXRlVUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHhmZmZmZmZmZiwgMClcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpXG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweGZmZmZmZmZmLCAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDI0KVxuICAgIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgPj4+IDE2KVxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gd3JpdGVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICB2YXIgaSA9IDBcbiAgdmFyIG11bCA9IDFcbiAgdmFyIHN1YiA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpIC0gMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gd3JpdGVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIHZhciBtdWwgPSAxXG4gIHZhciBzdWIgPSAwXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHg3ZiwgLTB4ODApXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSlcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmICsgdmFsdWUgKyAxXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAxXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4N2ZmZiwgLTB4ODAwMClcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkUgPSBmdW5jdGlvbiB3cml0ZUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHg3ZmZmLCAtMHg4MDAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHg3ZmZmZmZmZiwgLTB4ODAwMDAwMDApXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiAxNilcbiAgICB0aGlzW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNClcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQzMih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZmZmZmYgKyB2YWx1ZSArIDFcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiAxNilcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiA4KVxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59XG5cbmZ1bmN0aW9uIGNoZWNrSUVFRTc1NCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmIChvZmZzZXQgKyBleHQgPiBidWYubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlJylcbiAgaWYgKG9mZnNldCA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5mdW5jdGlvbiB3cml0ZUZsb2F0IChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDQsIDMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgsIC0zLjQwMjgyMzQ2NjM4NTI4ODZlKzM4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDIzLCA0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRMRSA9IGZ1bmN0aW9uIHdyaXRlRmxvYXRMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVGbG9hdCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRG91YmxlIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDgsIDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4LCAtMS43OTc2OTMxMzQ4NjIzMTU3RSszMDgpXG4gIH1cbiAgaWVlZTc1NC53cml0ZShidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgNTIsIDgpXG4gIHJldHVybiBvZmZzZXQgKyA4XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlLCBub0Fzc2VydClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFID0gZnVuY3Rpb24gd3JpdGVEb3VibGVCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRG91YmxlKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlLCBub0Fzc2VydClcbn1cblxuLy8gY29weSh0YXJnZXRCdWZmZXIsIHRhcmdldFN0YXJ0PTAsIHNvdXJjZVN0YXJ0PTAsIHNvdXJjZUVuZD1idWZmZXIubGVuZ3RoKVxuQnVmZmVyLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAodGFyZ2V0LCB0YXJnZXRTdGFydCwgc3RhcnQsIGVuZCkge1xuICBpZiAoIXN0YXJ0KSBzdGFydCA9IDBcbiAgaWYgKCFlbmQgJiYgZW5kICE9PSAwKSBlbmQgPSB0aGlzLmxlbmd0aFxuICBpZiAodGFyZ2V0U3RhcnQgPj0gdGFyZ2V0Lmxlbmd0aCkgdGFyZ2V0U3RhcnQgPSB0YXJnZXQubGVuZ3RoXG4gIGlmICghdGFyZ2V0U3RhcnQpIHRhcmdldFN0YXJ0ID0gMFxuICBpZiAoZW5kID4gMCAmJiBlbmQgPCBzdGFydCkgZW5kID0gc3RhcnRcblxuICAvLyBDb3B5IDAgYnl0ZXM7IHdlJ3JlIGRvbmVcbiAgaWYgKGVuZCA9PT0gc3RhcnQpIHJldHVybiAwXG4gIGlmICh0YXJnZXQubGVuZ3RoID09PSAwIHx8IHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gMFxuXG4gIC8vIEZhdGFsIGVycm9yIGNvbmRpdGlvbnNcbiAgaWYgKHRhcmdldFN0YXJ0IDwgMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCd0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzJylcbiAgfVxuICBpZiAoc3RhcnQgPCAwIHx8IHN0YXJ0ID49IHRoaXMubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlU3RhcnQgb3V0IG9mIGJvdW5kcycpXG4gIGlmIChlbmQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlRW5kIG91dCBvZiBib3VuZHMnKVxuXG4gIC8vIEFyZSB3ZSBvb2I/XG4gIGlmIChlbmQgPiB0aGlzLmxlbmd0aCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldC5sZW5ndGggLSB0YXJnZXRTdGFydCA8IGVuZCAtIHN0YXJ0KSB7XG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcbiAgfVxuXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydFxuICB2YXIgaVxuXG4gIGlmICh0aGlzID09PSB0YXJnZXQgJiYgc3RhcnQgPCB0YXJnZXRTdGFydCAmJiB0YXJnZXRTdGFydCA8IGVuZCkge1xuICAgIC8vIGRlc2NlbmRpbmcgY29weSBmcm9tIGVuZFxuICAgIGZvciAoaSA9IGxlbiAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICB0YXJnZXRbaSArIHRhcmdldFN0YXJ0XSA9IHRoaXNbaSArIHN0YXJ0XVxuICAgIH1cbiAgfSBlbHNlIGlmIChsZW4gPCAxMDAwIHx8ICFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIGFzY2VuZGluZyBjb3B5IGZyb20gc3RhcnRcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIHRhcmdldFtpICsgdGFyZ2V0U3RhcnRdID0gdGhpc1tpICsgc3RhcnRdXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKFxuICAgICAgdGFyZ2V0LFxuICAgICAgdGhpcy5zdWJhcnJheShzdGFydCwgc3RhcnQgKyBsZW4pLFxuICAgICAgdGFyZ2V0U3RhcnRcbiAgICApXG4gIH1cblxuICByZXR1cm4gbGVuXG59XG5cbi8vIFVzYWdlOlxuLy8gICAgYnVmZmVyLmZpbGwobnVtYmVyWywgb2Zmc2V0WywgZW5kXV0pXG4vLyAgICBidWZmZXIuZmlsbChidWZmZXJbLCBvZmZzZXRbLCBlbmRdXSlcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxuQnVmZmVyLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gZmlsbCAodmFsLCBzdGFydCwgZW5kLCBlbmNvZGluZykge1xuICAvLyBIYW5kbGUgc3RyaW5nIGNhc2VzOlxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBzdGFydFxuICAgICAgc3RhcnQgPSAwXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5kXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH1cbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdmFyIGNvZGUgPSB2YWwuY2hhckNvZGVBdCgwKVxuICAgICAgaWYgKGNvZGUgPCAyNTYpIHtcbiAgICAgICAgdmFsID0gY29kZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDI1NVxuICB9XG5cbiAgLy8gSW52YWxpZCByYW5nZXMgYXJlIG5vdCBzZXQgdG8gYSBkZWZhdWx0LCBzbyBjYW4gcmFuZ2UgY2hlY2sgZWFybHkuXG4gIGlmIChzdGFydCA8IDAgfHwgdGhpcy5sZW5ndGggPCBzdGFydCB8fCB0aGlzLmxlbmd0aCA8IGVuZCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdPdXQgb2YgcmFuZ2UgaW5kZXgnKVxuICB9XG5cbiAgaWYgKGVuZCA8PSBzdGFydCkge1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBzdGFydCA9IHN0YXJ0ID4+PiAwXG4gIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5sZW5ndGggOiBlbmQgPj4+IDBcblxuICBpZiAoIXZhbCkgdmFsID0gMFxuXG4gIHZhciBpXG4gIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICAgIHRoaXNbaV0gPSB2YWxcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGJ5dGVzID0gQnVmZmVyLmlzQnVmZmVyKHZhbClcbiAgICAgID8gdmFsXG4gICAgICA6IHV0ZjhUb0J5dGVzKG5ldyBCdWZmZXIodmFsLCBlbmNvZGluZykudG9TdHJpbmcoKSlcbiAgICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoXG4gICAgZm9yIChpID0gMDsgaSA8IGVuZCAtIHN0YXJ0OyArK2kpIHtcbiAgICAgIHRoaXNbaSArIHN0YXJ0XSA9IGJ5dGVzW2kgJSBsZW5dXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuLy8gSEVMUEVSIEZVTkNUSU9OU1xuLy8gPT09PT09PT09PT09PT09PVxuXG52YXIgSU5WQUxJRF9CQVNFNjRfUkUgPSAvW14rXFwvMC05QS1aYS16LV9dL2dcblxuZnVuY3Rpb24gYmFzZTY0Y2xlYW4gKHN0cikge1xuICAvLyBOb2RlIHN0cmlwcyBvdXQgaW52YWxpZCBjaGFyYWN0ZXJzIGxpa2UgXFxuIGFuZCBcXHQgZnJvbSB0aGUgc3RyaW5nLCBiYXNlNjQtanMgZG9lcyBub3RcbiAgc3RyID0gc3RyaW5ndHJpbShzdHIpLnJlcGxhY2UoSU5WQUxJRF9CQVNFNjRfUkUsICcnKVxuICAvLyBOb2RlIGNvbnZlcnRzIHN0cmluZ3Mgd2l0aCBsZW5ndGggPCAyIHRvICcnXG4gIGlmIChzdHIubGVuZ3RoIDwgMikgcmV0dXJuICcnXG4gIC8vIE5vZGUgYWxsb3dzIGZvciBub24tcGFkZGVkIGJhc2U2NCBzdHJpbmdzIChtaXNzaW5nIHRyYWlsaW5nID09PSksIGJhc2U2NC1qcyBkb2VzIG5vdFxuICB3aGlsZSAoc3RyLmxlbmd0aCAlIDQgIT09IDApIHtcbiAgICBzdHIgPSBzdHIgKyAnPSdcbiAgfVxuICByZXR1cm4gc3RyXG59XG5cbmZ1bmN0aW9uIHN0cmluZ3RyaW0gKHN0cikge1xuICBpZiAoc3RyLnRyaW0pIHJldHVybiBzdHIudHJpbSgpXG4gIHJldHVybiBzdHIucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgJycpXG59XG5cbmZ1bmN0aW9uIHRvSGV4IChuKSB7XG4gIGlmIChuIDwgMTYpIHJldHVybiAnMCcgKyBuLnRvU3RyaW5nKDE2KVxuICByZXR1cm4gbi50b1N0cmluZygxNilcbn1cblxuZnVuY3Rpb24gdXRmOFRvQnl0ZXMgKHN0cmluZywgdW5pdHMpIHtcbiAgdW5pdHMgPSB1bml0cyB8fCBJbmZpbml0eVxuICB2YXIgY29kZVBvaW50XG4gIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoXG4gIHZhciBsZWFkU3Vycm9nYXRlID0gbnVsbFxuICB2YXIgYnl0ZXMgPSBbXVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBjb2RlUG9pbnQgPSBzdHJpbmcuY2hhckNvZGVBdChpKVxuXG4gICAgLy8gaXMgc3Vycm9nYXRlIGNvbXBvbmVudFxuICAgIGlmIChjb2RlUG9pbnQgPiAweEQ3RkYgJiYgY29kZVBvaW50IDwgMHhFMDAwKSB7XG4gICAgICAvLyBsYXN0IGNoYXIgd2FzIGEgbGVhZFxuICAgICAgaWYgKCFsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAgIC8vIG5vIGxlYWQgeWV0XG4gICAgICAgIGlmIChjb2RlUG9pbnQgPiAweERCRkYpIHtcbiAgICAgICAgICAvLyB1bmV4cGVjdGVkIHRyYWlsXG4gICAgICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfSBlbHNlIGlmIChpICsgMSA9PT0gbGVuZ3RoKSB7XG4gICAgICAgICAgLy8gdW5wYWlyZWQgbGVhZFxuICAgICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2YWxpZCBsZWFkXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcblxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyAyIGxlYWRzIGluIGEgcm93XG4gICAgICBpZiAoY29kZVBvaW50IDwgMHhEQzAwKSB7XG4gICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICBsZWFkU3Vycm9nYXRlID0gY29kZVBvaW50XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkIHN1cnJvZ2F0ZSBwYWlyXG4gICAgICBjb2RlUG9pbnQgPSAobGVhZFN1cnJvZ2F0ZSAtIDB4RDgwMCA8PCAxMCB8IGNvZGVQb2ludCAtIDB4REMwMCkgKyAweDEwMDAwXG4gICAgfSBlbHNlIGlmIChsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAvLyB2YWxpZCBibXAgY2hhciwgYnV0IGxhc3QgY2hhciB3YXMgYSBsZWFkXG4gICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICB9XG5cbiAgICBsZWFkU3Vycm9nYXRlID0gbnVsbFxuXG4gICAgLy8gZW5jb2RlIHV0ZjhcbiAgICBpZiAoY29kZVBvaW50IDwgMHg4MCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAxKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKGNvZGVQb2ludClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4ODAwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgfCAweEMwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50IDwgMHgxMDAwMCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAzKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDIHwgMHhFMCxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4NiAmIDB4M0YgfCAweDgwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50IDwgMHgxMTAwMDApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gNCkgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgY29kZVBvaW50ID4+IDB4MTIgfCAweEYwLFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDICYgMHgzRiB8IDB4ODAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvZGUgcG9pbnQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBieXRlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVRvQnl0ZXMgKHN0cikge1xuICB2YXIgYnl0ZUFycmF5ID0gW11cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpIHtcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cbiAgICBieXRlQXJyYXkucHVzaChzdHIuY2hhckNvZGVBdChpKSAmIDB4RkYpXG4gIH1cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xuICB2YXIgYywgaGksIGxvXG4gIHZhciBieXRlQXJyYXkgPSBbXVxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xuICAgIGlmICgodW5pdHMgLT0gMikgPCAwKSBicmVha1xuXG4gICAgYyA9IHN0ci5jaGFyQ29kZUF0KGkpXG4gICAgaGkgPSBjID4+IDhcbiAgICBsbyA9IGMgJSAyNTZcbiAgICBieXRlQXJyYXkucHVzaChsbylcbiAgICBieXRlQXJyYXkucHVzaChoaSlcbiAgfVxuXG4gIHJldHVybiBieXRlQXJyYXlcbn1cblxuZnVuY3Rpb24gYmFzZTY0VG9CeXRlcyAoc3RyKSB7XG4gIHJldHVybiBiYXNlNjQudG9CeXRlQXJyYXkoYmFzZTY0Y2xlYW4oc3RyKSlcbn1cblxuZnVuY3Rpb24gYmxpdEJ1ZmZlciAoc3JjLCBkc3QsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoKGkgKyBvZmZzZXQgPj0gZHN0Lmxlbmd0aCkgfHwgKGkgPj0gc3JjLmxlbmd0aCkpIGJyZWFrXG4gICAgZHN0W2kgKyBvZmZzZXRdID0gc3JjW2ldXG4gIH1cbiAgcmV0dXJuIGlcbn1cblxuZnVuY3Rpb24gaXNuYW4gKHZhbCkge1xuICByZXR1cm4gdmFsICE9PSB2YWwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbn1cbiIsInZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxudmFyIFRyYW5zZm9ybSA9IHJlcXVpcmUoJ3N0cmVhbScpLlRyYW5zZm9ybVxudmFyIFN0cmluZ0RlY29kZXIgPSByZXF1aXJlKCdzdHJpbmdfZGVjb2RlcicpLlN0cmluZ0RlY29kZXJcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcblxuZnVuY3Rpb24gQ2lwaGVyQmFzZSAoaGFzaE1vZGUpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcbiAgdGhpcy5oYXNoTW9kZSA9IHR5cGVvZiBoYXNoTW9kZSA9PT0gJ3N0cmluZydcbiAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcbiAgICB0aGlzW2hhc2hNb2RlXSA9IHRoaXMuX2ZpbmFsT3JEaWdlc3RcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmZpbmFsID0gdGhpcy5fZmluYWxPckRpZ2VzdFxuICB9XG4gIGlmICh0aGlzLl9maW5hbCkge1xuICAgIHRoaXMuX19maW5hbCA9IHRoaXMuX2ZpbmFsXG4gICAgdGhpcy5fZmluYWwgPSBudWxsXG4gIH1cbiAgdGhpcy5fZGVjb2RlciA9IG51bGxcbiAgdGhpcy5fZW5jb2RpbmcgPSBudWxsXG59XG5pbmhlcml0cyhDaXBoZXJCYXNlLCBUcmFuc2Zvcm0pXG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhLCBpbnB1dEVuYywgb3V0cHV0RW5jKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSwgaW5wdXRFbmMpXG4gIH1cblxuICB2YXIgb3V0RGF0YSA9IHRoaXMuX3VwZGF0ZShkYXRhKVxuICBpZiAodGhpcy5oYXNoTW9kZSkgcmV0dXJuIHRoaXNcblxuICBpZiAob3V0cHV0RW5jKSB7XG4gICAgb3V0RGF0YSA9IHRoaXMuX3RvU3RyaW5nKG91dERhdGEsIG91dHB1dEVuYylcbiAgfVxuXG4gIHJldHVybiBvdXREYXRhXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dG9QYWRkaW5nID0gZnVuY3Rpb24gKCkge31cbkNpcGhlckJhc2UucHJvdG90eXBlLmdldEF1dGhUYWcgPSBmdW5jdGlvbiAoKSB7XG4gIHRocm93IG5ldyBFcnJvcigndHJ5aW5nIHRvIGdldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dGhUYWcgPSBmdW5jdGlvbiAoKSB7XG4gIHRocm93IG5ldyBFcnJvcigndHJ5aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnNldEFBRCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCd0cnlpbmcgdG8gc2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZGF0YSwgXywgbmV4dCkge1xuICB2YXIgZXJyXG4gIHRyeSB7XG4gICAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZShkYXRhKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2godGhpcy5fdXBkYXRlKGRhdGEpKVxuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIGVyciA9IGVcbiAgfSBmaW5hbGx5IHtcbiAgICBuZXh0KGVycilcbiAgfVxufVxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZsdXNoID0gZnVuY3Rpb24gKGRvbmUpIHtcbiAgdmFyIGVyclxuICB0cnkge1xuICAgIHRoaXMucHVzaCh0aGlzLl9fZmluYWwoKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGVyciA9IGVcbiAgfVxuXG4gIGRvbmUoZXJyKVxufVxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZpbmFsT3JEaWdlc3QgPSBmdW5jdGlvbiAob3V0cHV0RW5jKSB7XG4gIHZhciBvdXREYXRhID0gdGhpcy5fX2ZpbmFsKCkgfHwgQnVmZmVyLmFsbG9jKDApXG4gIGlmIChvdXRwdXRFbmMpIHtcbiAgICBvdXREYXRhID0gdGhpcy5fdG9TdHJpbmcob3V0RGF0YSwgb3V0cHV0RW5jLCB0cnVlKVxuICB9XG4gIHJldHVybiBvdXREYXRhXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLl90b1N0cmluZyA9IGZ1bmN0aW9uICh2YWx1ZSwgZW5jLCBmaW4pIHtcbiAgaWYgKCF0aGlzLl9kZWNvZGVyKSB7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKGVuYylcbiAgICB0aGlzLl9lbmNvZGluZyA9IGVuY1xuICB9XG5cbiAgaWYgKHRoaXMuX2VuY29kaW5nICE9PSBlbmMpIHRocm93IG5ldyBFcnJvcignY2FuXFwndCBzd2l0Y2ggZW5jb2RpbmdzJylcblxuICB2YXIgb3V0ID0gdGhpcy5fZGVjb2Rlci53cml0ZSh2YWx1ZSlcbiAgaWYgKGZpbikge1xuICAgIG91dCArPSB0aGlzLl9kZWNvZGVyLmVuZCgpXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ2lwaGVyQmFzZVxuIiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbi8vIE5PVEU6IFRoZXNlIHR5cGUgY2hlY2tpbmcgZnVuY3Rpb25zIGludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGBpbnN0YW5jZW9mYFxuLy8gYmVjYXVzZSBpdCBpcyBmcmFnaWxlIGFuZCBjYW4gYmUgZWFzaWx5IGZha2VkIHdpdGggYE9iamVjdC5jcmVhdGUoKWAuXG5cbmZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJnKTtcbiAgfVxuICByZXR1cm4gb2JqZWN0VG9TdHJpbmcoYXJnKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cbmV4cG9ydHMuaXNBcnJheSA9IGlzQXJyYXk7XG5cbmZ1bmN0aW9uIGlzQm9vbGVhbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdib29sZWFuJztcbn1cbmV4cG9ydHMuaXNCb29sZWFuID0gaXNCb29sZWFuO1xuXG5mdW5jdGlvbiBpc051bGwoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IG51bGw7XG59XG5leHBvcnRzLmlzTnVsbCA9IGlzTnVsbDtcblxuZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQoYXJnKSB7XG4gIHJldHVybiBhcmcgPT0gbnVsbDtcbn1cbmV4cG9ydHMuaXNOdWxsT3JVbmRlZmluZWQgPSBpc051bGxPclVuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNOdW1iZXIoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnbnVtYmVyJztcbn1cbmV4cG9ydHMuaXNOdW1iZXIgPSBpc051bWJlcjtcblxuZnVuY3Rpb24gaXNTdHJpbmcoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJztcbn1cbmV4cG9ydHMuaXNTdHJpbmcgPSBpc1N0cmluZztcblxuZnVuY3Rpb24gaXNTeW1ib2woYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3ltYm9sJztcbn1cbmV4cG9ydHMuaXNTeW1ib2wgPSBpc1N5bWJvbDtcblxuZnVuY3Rpb24gaXNVbmRlZmluZWQoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IHZvaWQgMDtcbn1cbmV4cG9ydHMuaXNVbmRlZmluZWQgPSBpc1VuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNSZWdFeHAocmUpIHtcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKHJlKSA9PT0gJ1tvYmplY3QgUmVnRXhwXSc7XG59XG5leHBvcnRzLmlzUmVnRXhwID0gaXNSZWdFeHA7XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgYXJnICE9PSBudWxsO1xufVxuZXhwb3J0cy5pc09iamVjdCA9IGlzT2JqZWN0O1xuXG5mdW5jdGlvbiBpc0RhdGUoZCkge1xuICByZXR1cm4gb2JqZWN0VG9TdHJpbmcoZCkgPT09ICdbb2JqZWN0IERhdGVdJztcbn1cbmV4cG9ydHMuaXNEYXRlID0gaXNEYXRlO1xuXG5mdW5jdGlvbiBpc0Vycm9yKGUpIHtcbiAgcmV0dXJuIChvYmplY3RUb1N0cmluZyhlKSA9PT0gJ1tvYmplY3QgRXJyb3JdJyB8fCBlIGluc3RhbmNlb2YgRXJyb3IpO1xufVxuZXhwb3J0cy5pc0Vycm9yID0gaXNFcnJvcjtcblxuZnVuY3Rpb24gaXNGdW5jdGlvbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbic7XG59XG5leHBvcnRzLmlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuXG5mdW5jdGlvbiBpc1ByaW1pdGl2ZShhcmcpIHtcbiAgcmV0dXJuIGFyZyA9PT0gbnVsbCB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ2Jvb2xlYW4nIHx8XG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnbnVtYmVyJyB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdzeW1ib2wnIHx8ICAvLyBFUzYgc3ltYm9sXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAndW5kZWZpbmVkJztcbn1cbmV4cG9ydHMuaXNQcmltaXRpdmUgPSBpc1ByaW1pdGl2ZTtcblxuZXhwb3J0cy5pc0J1ZmZlciA9IEJ1ZmZlci5pc0J1ZmZlcjtcblxuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcobykge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pO1xufVxuIiwidmFyIGVsbGlwdGljID0gcmVxdWlyZSgnZWxsaXB0aWMnKVxudmFyIEJOID0gcmVxdWlyZSgnYm4uanMnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNyZWF0ZUVDREggKGN1cnZlKSB7XG4gIHJldHVybiBuZXcgRUNESChjdXJ2ZSlcbn1cblxudmFyIGFsaWFzZXMgPSB7XG4gIHNlY3AyNTZrMToge1xuICAgIG5hbWU6ICdzZWNwMjU2azEnLFxuICAgIGJ5dGVMZW5ndGg6IDMyXG4gIH0sXG4gIHNlY3AyMjRyMToge1xuICAgIG5hbWU6ICdwMjI0JyxcbiAgICBieXRlTGVuZ3RoOiAyOFxuICB9LFxuICBwcmltZTI1NnYxOiB7XG4gICAgbmFtZTogJ3AyNTYnLFxuICAgIGJ5dGVMZW5ndGg6IDMyXG4gIH0sXG4gIHByaW1lMTkydjE6IHtcbiAgICBuYW1lOiAncDE5MicsXG4gICAgYnl0ZUxlbmd0aDogMjRcbiAgfSxcbiAgZWQyNTUxOToge1xuICAgIG5hbWU6ICdlZDI1NTE5JyxcbiAgICBieXRlTGVuZ3RoOiAzMlxuICB9LFxuICBzZWNwMzg0cjE6IHtcbiAgICBuYW1lOiAncDM4NCcsXG4gICAgYnl0ZUxlbmd0aDogNDhcbiAgfSxcbiAgc2VjcDUyMXIxOiB7XG4gICAgbmFtZTogJ3A1MjEnLFxuICAgIGJ5dGVMZW5ndGg6IDY2XG4gIH1cbn1cblxuYWxpYXNlcy5wMjI0ID0gYWxpYXNlcy5zZWNwMjI0cjFcbmFsaWFzZXMucDI1NiA9IGFsaWFzZXMuc2VjcDI1NnIxID0gYWxpYXNlcy5wcmltZTI1NnYxXG5hbGlhc2VzLnAxOTIgPSBhbGlhc2VzLnNlY3AxOTJyMSA9IGFsaWFzZXMucHJpbWUxOTJ2MVxuYWxpYXNlcy5wMzg0ID0gYWxpYXNlcy5zZWNwMzg0cjFcbmFsaWFzZXMucDUyMSA9IGFsaWFzZXMuc2VjcDUyMXIxXG5cbmZ1bmN0aW9uIEVDREggKGN1cnZlKSB7XG4gIHRoaXMuY3VydmVUeXBlID0gYWxpYXNlc1tjdXJ2ZV1cbiAgaWYgKCF0aGlzLmN1cnZlVHlwZSkge1xuICAgIHRoaXMuY3VydmVUeXBlID0ge1xuICAgICAgbmFtZTogY3VydmVcbiAgICB9XG4gIH1cbiAgdGhpcy5jdXJ2ZSA9IG5ldyBlbGxpcHRpYy5lYyh0aGlzLmN1cnZlVHlwZS5uYW1lKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbiAgdGhpcy5rZXlzID0gdm9pZCAwXG59XG5cbkVDREgucHJvdG90eXBlLmdlbmVyYXRlS2V5cyA9IGZ1bmN0aW9uIChlbmMsIGZvcm1hdCkge1xuICB0aGlzLmtleXMgPSB0aGlzLmN1cnZlLmdlbktleVBhaXIoKVxuICByZXR1cm4gdGhpcy5nZXRQdWJsaWNLZXkoZW5jLCBmb3JtYXQpXG59XG5cbkVDREgucHJvdG90eXBlLmNvbXB1dGVTZWNyZXQgPSBmdW5jdGlvbiAob3RoZXIsIGluZW5jLCBlbmMpIHtcbiAgaW5lbmMgPSBpbmVuYyB8fCAndXRmOCdcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIob3RoZXIpKSB7XG4gICAgb3RoZXIgPSBuZXcgQnVmZmVyKG90aGVyLCBpbmVuYylcbiAgfVxuICB2YXIgb3RoZXJQdWIgPSB0aGlzLmN1cnZlLmtleUZyb21QdWJsaWMob3RoZXIpLmdldFB1YmxpYygpXG4gIHZhciBvdXQgPSBvdGhlclB1Yi5tdWwodGhpcy5rZXlzLmdldFByaXZhdGUoKSkuZ2V0WCgpXG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZShvdXQsIGVuYywgdGhpcy5jdXJ2ZVR5cGUuYnl0ZUxlbmd0aClcbn1cblxuRUNESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5ID0gZnVuY3Rpb24gKGVuYywgZm9ybWF0KSB7XG4gIHZhciBrZXkgPSB0aGlzLmtleXMuZ2V0UHVibGljKGZvcm1hdCA9PT0gJ2NvbXByZXNzZWQnLCB0cnVlKVxuICBpZiAoZm9ybWF0ID09PSAnaHlicmlkJykge1xuICAgIGlmIChrZXlba2V5Lmxlbmd0aCAtIDFdICUgMikge1xuICAgICAga2V5WzBdID0gN1xuICAgIH0gZWxzZSB7XG4gICAgICBrZXlbMF0gPSA2XG4gICAgfVxuICB9XG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZShrZXksIGVuYylcbn1cblxuRUNESC5wcm90b3R5cGUuZ2V0UHJpdmF0ZUtleSA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMua2V5cy5nZXRQcml2YXRlKCksIGVuYylcbn1cblxuRUNESC5wcm90b3R5cGUuc2V0UHVibGljS2V5ID0gZnVuY3Rpb24gKHB1YiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCdcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHViKSkge1xuICAgIHB1YiA9IG5ldyBCdWZmZXIocHViLCBlbmMpXG4gIH1cbiAgdGhpcy5rZXlzLl9pbXBvcnRQdWJsaWMocHViKVxuICByZXR1cm4gdGhpc1xufVxuXG5FQ0RILnByb3RvdHlwZS5zZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gKHByaXYsIGVuYykge1xuICBlbmMgPSBlbmMgfHwgJ3V0ZjgnXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHByaXYpKSB7XG4gICAgcHJpdiA9IG5ldyBCdWZmZXIocHJpdiwgZW5jKVxuICB9XG5cbiAgdmFyIF9wcml2ID0gbmV3IEJOKHByaXYpXG4gIF9wcml2ID0gX3ByaXYudG9TdHJpbmcoMTYpXG4gIHRoaXMua2V5cyA9IHRoaXMuY3VydmUuZ2VuS2V5UGFpcigpXG4gIHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShfcHJpdilcbiAgcmV0dXJuIHRoaXNcbn1cblxuZnVuY3Rpb24gZm9ybWF0UmV0dXJuVmFsdWUgKGJuLCBlbmMsIGxlbikge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYm4pKSB7XG4gICAgYm4gPSBibi50b0FycmF5KClcbiAgfVxuICB2YXIgYnVmID0gbmV3IEJ1ZmZlcihibilcbiAgaWYgKGxlbiAmJiBidWYubGVuZ3RoIDwgbGVuKSB7XG4gICAgdmFyIHplcm9zID0gbmV3IEJ1ZmZlcihsZW4gLSBidWYubGVuZ3RoKVxuICAgIHplcm9zLmZpbGwoMClcbiAgICBidWYgPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgYnVmXSlcbiAgfVxuICBpZiAoIWVuYykge1xuICAgIHJldHVybiBidWZcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYnVmLnRvU3RyaW5nKGVuYylcbiAgfVxufVxuIiwiJ3VzZSBzdHJpY3QnXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgTUQ1ID0gcmVxdWlyZSgnbWQ1LmpzJylcbnZhciBSSVBFTUQxNjAgPSByZXF1aXJlKCdyaXBlbWQxNjAnKVxudmFyIHNoYSA9IHJlcXVpcmUoJ3NoYS5qcycpXG52YXIgQmFzZSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcblxuZnVuY3Rpb24gSGFzaCAoaGFzaCkge1xuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXG5cbiAgdGhpcy5faGFzaCA9IGhhc2hcbn1cblxuaW5oZXJpdHMoSGFzaCwgQmFzZSlcblxuSGFzaC5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXG59XG5cbkhhc2gucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuX2hhc2guZGlnZXN0KClcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVIYXNoIChhbGcpIHtcbiAgYWxnID0gYWxnLnRvTG93ZXJDYXNlKClcbiAgaWYgKGFsZyA9PT0gJ21kNScpIHJldHVybiBuZXcgTUQ1KClcbiAgaWYgKGFsZyA9PT0gJ3JtZDE2MCcgfHwgYWxnID09PSAncmlwZW1kMTYwJykgcmV0dXJuIG5ldyBSSVBFTUQxNjAoKVxuXG4gIHJldHVybiBuZXcgSGFzaChzaGEoYWxnKSlcbn1cbiIsInZhciBNRDUgPSByZXF1aXJlKCdtZDUuanMnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChidWZmZXIpIHtcbiAgcmV0dXJuIG5ldyBNRDUoKS51cGRhdGUoYnVmZmVyKS5kaWdlc3QoKVxufVxuIiwiJ3VzZSBzdHJpY3QnXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgTGVnYWN5ID0gcmVxdWlyZSgnLi9sZWdhY3knKVxudmFyIEJhc2UgPSByZXF1aXJlKCdjaXBoZXItYmFzZScpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBtZDUgPSByZXF1aXJlKCdjcmVhdGUtaGFzaC9tZDUnKVxudmFyIFJJUEVNRDE2MCA9IHJlcXVpcmUoJ3JpcGVtZDE2MCcpXG5cbnZhciBzaGEgPSByZXF1aXJlKCdzaGEuanMnKVxuXG52YXIgWkVST1MgPSBCdWZmZXIuYWxsb2MoMTI4KVxuXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSkge1xuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXG4gIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgIGtleSA9IEJ1ZmZlci5mcm9tKGtleSlcbiAgfVxuXG4gIHZhciBibG9ja3NpemUgPSAoYWxnID09PSAnc2hhNTEyJyB8fCBhbGcgPT09ICdzaGEzODQnKSA/IDEyOCA6IDY0XG5cbiAgdGhpcy5fYWxnID0gYWxnXG4gIHRoaXMuX2tleSA9IGtleVxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xuICAgIHZhciBoYXNoID0gYWxnID09PSAncm1kMTYwJyA/IG5ldyBSSVBFTUQxNjAoKSA6IHNoYShhbGcpXG4gICAga2V5ID0gaGFzaC51cGRhdGUoa2V5KS5kaWdlc3QoKVxuICB9IGVsc2UgaWYgKGtleS5sZW5ndGggPCBibG9ja3NpemUpIHtcbiAgICBrZXkgPSBCdWZmZXIuY29uY2F0KFtrZXksIFpFUk9TXSwgYmxvY2tzaXplKVxuICB9XG5cbiAgdmFyIGlwYWQgPSB0aGlzLl9pcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSlcbiAgdmFyIG9wYWQgPSB0aGlzLl9vcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSlcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGJsb2Nrc2l6ZTsgaSsrKSB7XG4gICAgaXBhZFtpXSA9IGtleVtpXSBeIDB4MzZcbiAgICBvcGFkW2ldID0ga2V5W2ldIF4gMHg1Q1xuICB9XG4gIHRoaXMuX2hhc2ggPSBhbGcgPT09ICdybWQxNjAnID8gbmV3IFJJUEVNRDE2MCgpIDogc2hhKGFsZylcbiAgdGhpcy5faGFzaC51cGRhdGUoaXBhZClcbn1cblxuaW5oZXJpdHMoSG1hYywgQmFzZSlcblxuSG1hYy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXG59XG5cbkhtYWMucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGggPSB0aGlzLl9oYXNoLmRpZ2VzdCgpXG4gIHZhciBoYXNoID0gdGhpcy5fYWxnID09PSAncm1kMTYwJyA/IG5ldyBSSVBFTUQxNjAoKSA6IHNoYSh0aGlzLl9hbGcpXG4gIHJldHVybiBoYXNoLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoaCkuZGlnZXN0KClcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVIbWFjIChhbGcsIGtleSkge1xuICBhbGcgPSBhbGcudG9Mb3dlckNhc2UoKVxuICBpZiAoYWxnID09PSAncm1kMTYwJyB8fCBhbGcgPT09ICdyaXBlbWQxNjAnKSB7XG4gICAgcmV0dXJuIG5ldyBIbWFjKCdybWQxNjAnLCBrZXkpXG4gIH1cbiAgaWYgKGFsZyA9PT0gJ21kNScpIHtcbiAgICByZXR1cm4gbmV3IExlZ2FjeShtZDUsIGtleSlcbiAgfVxuICByZXR1cm4gbmV3IEhtYWMoYWxnLCBrZXkpXG59XG4iLCIndXNlIHN0cmljdCdcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgQmFzZSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcblxudmFyIFpFUk9TID0gQnVmZmVyLmFsbG9jKDEyOClcbnZhciBibG9ja3NpemUgPSA2NFxuXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSkge1xuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXG4gIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgIGtleSA9IEJ1ZmZlci5mcm9tKGtleSlcbiAgfVxuXG4gIHRoaXMuX2FsZyA9IGFsZ1xuICB0aGlzLl9rZXkgPSBrZXlcblxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xuICAgIGtleSA9IGFsZyhrZXkpXG4gIH0gZWxzZSBpZiAoa2V5Lmxlbmd0aCA8IGJsb2Nrc2l6ZSkge1xuICAgIGtleSA9IEJ1ZmZlci5jb25jYXQoW2tleSwgWkVST1NdLCBibG9ja3NpemUpXG4gIH1cblxuICB2YXIgaXBhZCA9IHRoaXMuX2lwYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxuICB2YXIgb3BhZCA9IHRoaXMuX29wYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tzaXplOyBpKyspIHtcbiAgICBpcGFkW2ldID0ga2V5W2ldIF4gMHgzNlxuICAgIG9wYWRbaV0gPSBrZXlbaV0gXiAweDVDXG4gIH1cblxuICB0aGlzLl9oYXNoID0gW2lwYWRdXG59XG5cbmluaGVyaXRzKEhtYWMsIEJhc2UpXG5cbkhtYWMucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSkge1xuICB0aGlzLl9oYXNoLnB1c2goZGF0YSlcbn1cblxuSG1hYy5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xuICB2YXIgaCA9IHRoaXMuX2FsZyhCdWZmZXIuY29uY2F0KHRoaXMuX2hhc2gpKVxuICByZXR1cm4gdGhpcy5fYWxnKEJ1ZmZlci5jb25jYXQoW3RoaXMuX29wYWQsIGhdKSlcbn1cbm1vZHVsZS5leHBvcnRzID0gSG1hY1xuIiwiJ3VzZSBzdHJpY3QnXG5cbmV4cG9ydHMucmFuZG9tQnl0ZXMgPSBleHBvcnRzLnJuZyA9IGV4cG9ydHMucHNldWRvUmFuZG9tQnl0ZXMgPSBleHBvcnRzLnBybmcgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpXG5leHBvcnRzLmNyZWF0ZUhhc2ggPSBleHBvcnRzLkhhc2ggPSByZXF1aXJlKCdjcmVhdGUtaGFzaCcpXG5leHBvcnRzLmNyZWF0ZUhtYWMgPSBleHBvcnRzLkhtYWMgPSByZXF1aXJlKCdjcmVhdGUtaG1hYycpXG5cbnZhciBhbGdvcyA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktc2lnbi9hbGdvcycpXG52YXIgYWxnb0tleXMgPSBPYmplY3Qua2V5cyhhbGdvcylcbnZhciBoYXNoZXMgPSBbJ3NoYTEnLCAnc2hhMjI0JywgJ3NoYTI1NicsICdzaGEzODQnLCAnc2hhNTEyJywgJ21kNScsICdybWQxNjAnXS5jb25jYXQoYWxnb0tleXMpXG5leHBvcnRzLmdldEhhc2hlcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGhhc2hlc1xufVxuXG52YXIgcCA9IHJlcXVpcmUoJ3Bia2RmMicpXG5leHBvcnRzLnBia2RmMiA9IHAucGJrZGYyXG5leHBvcnRzLnBia2RmMlN5bmMgPSBwLnBia2RmMlN5bmNcblxudmFyIGFlcyA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktY2lwaGVyJylcblxuZXhwb3J0cy5DaXBoZXIgPSBhZXMuQ2lwaGVyXG5leHBvcnRzLmNyZWF0ZUNpcGhlciA9IGFlcy5jcmVhdGVDaXBoZXJcbmV4cG9ydHMuQ2lwaGVyaXYgPSBhZXMuQ2lwaGVyaXZcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBhZXMuY3JlYXRlQ2lwaGVyaXZcbmV4cG9ydHMuRGVjaXBoZXIgPSBhZXMuRGVjaXBoZXJcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBhZXMuY3JlYXRlRGVjaXBoZXJcbmV4cG9ydHMuRGVjaXBoZXJpdiA9IGFlcy5EZWNpcGhlcml2XG5leHBvcnRzLmNyZWF0ZURlY2lwaGVyaXYgPSBhZXMuY3JlYXRlRGVjaXBoZXJpdlxuZXhwb3J0cy5nZXRDaXBoZXJzID0gYWVzLmdldENpcGhlcnNcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBhZXMubGlzdENpcGhlcnNcblxudmFyIGRoID0gcmVxdWlyZSgnZGlmZmllLWhlbGxtYW4nKVxuXG5leHBvcnRzLkRpZmZpZUhlbGxtYW5Hcm91cCA9IGRoLkRpZmZpZUhlbGxtYW5Hcm91cFxuZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXAgPSBkaC5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXBcbmV4cG9ydHMuZ2V0RGlmZmllSGVsbG1hbiA9IGRoLmdldERpZmZpZUhlbGxtYW5cbmV4cG9ydHMuY3JlYXRlRGlmZmllSGVsbG1hbiA9IGRoLmNyZWF0ZURpZmZpZUhlbGxtYW5cbmV4cG9ydHMuRGlmZmllSGVsbG1hbiA9IGRoLkRpZmZpZUhlbGxtYW5cblxudmFyIHNpZ24gPSByZXF1aXJlKCdicm93c2VyaWZ5LXNpZ24nKVxuXG5leHBvcnRzLmNyZWF0ZVNpZ24gPSBzaWduLmNyZWF0ZVNpZ25cbmV4cG9ydHMuU2lnbiA9IHNpZ24uU2lnblxuZXhwb3J0cy5jcmVhdGVWZXJpZnkgPSBzaWduLmNyZWF0ZVZlcmlmeVxuZXhwb3J0cy5WZXJpZnkgPSBzaWduLlZlcmlmeVxuXG5leHBvcnRzLmNyZWF0ZUVDREggPSByZXF1aXJlKCdjcmVhdGUtZWNkaCcpXG5cbnZhciBwdWJsaWNFbmNyeXB0ID0gcmVxdWlyZSgncHVibGljLWVuY3J5cHQnKVxuXG5leHBvcnRzLnB1YmxpY0VuY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnB1YmxpY0VuY3J5cHRcbmV4cG9ydHMucHJpdmF0ZUVuY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnByaXZhdGVFbmNyeXB0XG5leHBvcnRzLnB1YmxpY0RlY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnB1YmxpY0RlY3J5cHRcbmV4cG9ydHMucHJpdmF0ZURlY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnByaXZhdGVEZWNyeXB0XG5cbi8vIHRoZSBsZWFzdCBJIGNhbiBkbyBpcyBtYWtlIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgcmVzdCBvZiB0aGUgbm9kZS5qcy9jcnlwdG8gYXBpLlxuLy8gO1tcbi8vICAgJ2NyZWF0ZUNyZWRlbnRpYWxzJ1xuLy8gXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4vLyAgIGV4cG9ydHNbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4vLyAgICAgdGhyb3cgbmV3IEVycm9yKFtcbi8vICAgICAgICdzb3JyeSwgJyArIG5hbWUgKyAnIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQnLFxuLy8gICAgICAgJ3dlIGFjY2VwdCBwdWxsIHJlcXVlc3RzJyxcbi8vICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvLWJyb3dzZXJpZnkvY3J5cHRvLWJyb3dzZXJpZnknXG4vLyAgICAgXS5qb2luKCdcXG4nKSlcbi8vICAgfVxuLy8gfSlcblxudmFyIHJmID0gcmVxdWlyZSgncmFuZG9tZmlsbCcpXG5cbmV4cG9ydHMucmFuZG9tRmlsbCA9IHJmLnJhbmRvbUZpbGxcbmV4cG9ydHMucmFuZG9tRmlsbFN5bmMgPSByZi5yYW5kb21GaWxsU3luY1xuXG5leHBvcnRzLmNyZWF0ZUNyZWRlbnRpYWxzID0gZnVuY3Rpb24gKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoW1xuICAgICdzb3JyeSwgY3JlYXRlQ3JlZGVudGlhbHMgaXMgbm90IGltcGxlbWVudGVkIHlldCcsXG4gICAgJ3dlIGFjY2VwdCBwdWxsIHJlcXVlc3RzJyxcbiAgICAnaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0by1icm93c2VyaWZ5L2NyeXB0by1icm93c2VyaWZ5J1xuICBdLmpvaW4oJ1xcbicpKVxufVxuXG5leHBvcnRzLmNvbnN0YW50cyA9IHtcbiAgJ0RIX0NIRUNLX1BfTk9UX1NBRkVfUFJJTUUnOiAyLFxuICAnREhfQ0hFQ0tfUF9OT1RfUFJJTUUnOiAxLFxuICAnREhfVU5BQkxFX1RPX0NIRUNLX0dFTkVSQVRPUic6IDQsXG4gICdESF9OT1RfU1VJVEFCTEVfR0VORVJBVE9SJzogOCxcbiAgJ05QTl9FTkFCTEVEJzogMSxcbiAgJ0FMUE5fRU5BQkxFRCc6IDEsXG4gICdSU0FfUEtDUzFfUEFERElORyc6IDEsXG4gICdSU0FfU1NMVjIzX1BBRERJTkcnOiAyLFxuICAnUlNBX05PX1BBRERJTkcnOiAzLFxuICAnUlNBX1BLQ1MxX09BRVBfUEFERElORyc6IDQsXG4gICdSU0FfWDkzMV9QQURESU5HJzogNSxcbiAgJ1JTQV9QS0NTMV9QU1NfUEFERElORyc6IDYsXG4gICdQT0lOVF9DT05WRVJTSU9OX0NPTVBSRVNTRUQnOiAyLFxuICAnUE9JTlRfQ09OVkVSU0lPTl9VTkNPTVBSRVNTRUQnOiA0LFxuICAnUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQnOiA2XG59XG4iLCIndXNlIHN0cmljdCc7XG5cbmV4cG9ydHMudXRpbHMgPSByZXF1aXJlKCcuL2Rlcy91dGlscycpO1xuZXhwb3J0cy5DaXBoZXIgPSByZXF1aXJlKCcuL2Rlcy9jaXBoZXInKTtcbmV4cG9ydHMuREVTID0gcmVxdWlyZSgnLi9kZXMvZGVzJyk7XG5leHBvcnRzLkNCQyA9IHJlcXVpcmUoJy4vZGVzL2NiYycpO1xuZXhwb3J0cy5FREUgPSByZXF1aXJlKCcuL2Rlcy9lZGUnKTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbnZhciBwcm90byA9IHt9O1xuXG5mdW5jdGlvbiBDQkNTdGF0ZShpdikge1xuICBhc3NlcnQuZXF1YWwoaXYubGVuZ3RoLCA4LCAnSW52YWxpZCBJViBsZW5ndGgnKTtcblxuICB0aGlzLml2ID0gbmV3IEFycmF5KDgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuaXYubGVuZ3RoOyBpKyspXG4gICAgdGhpcy5pdltpXSA9IGl2W2ldO1xufVxuXG5mdW5jdGlvbiBpbnN0YW50aWF0ZShCYXNlKSB7XG4gIGZ1bmN0aW9uIENCQyhvcHRpb25zKSB7XG4gICAgQmFzZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuICAgIHRoaXMuX2NiY0luaXQoKTtcbiAgfVxuICBpbmhlcml0cyhDQkMsIEJhc2UpO1xuXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMocHJvdG8pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICBDQkMucHJvdG90eXBlW2tleV0gPSBwcm90b1trZXldO1xuICB9XG5cbiAgQ0JDLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBDQkMob3B0aW9ucyk7XG4gIH07XG5cbiAgcmV0dXJuIENCQztcbn1cblxuZXhwb3J0cy5pbnN0YW50aWF0ZSA9IGluc3RhbnRpYXRlO1xuXG5wcm90by5fY2JjSW5pdCA9IGZ1bmN0aW9uIF9jYmNJbml0KCkge1xuICB2YXIgc3RhdGUgPSBuZXcgQ0JDU3RhdGUodGhpcy5vcHRpb25zLml2KTtcbiAgdGhpcy5fY2JjU3RhdGUgPSBzdGF0ZTtcbn07XG5cbnByb3RvLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX2NiY1N0YXRlO1xuICB2YXIgc3VwZXJQcm90byA9IHRoaXMuY29uc3RydWN0b3Iuc3VwZXJfLnByb3RvdHlwZTtcblxuICB2YXIgaXYgPSBzdGF0ZS5pdjtcbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2VuY3J5cHQnKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgaXZbaV0gXj0gaW5wW2luT2ZmICsgaV07XG5cbiAgICBzdXBlclByb3RvLl91cGRhdGUuY2FsbCh0aGlzLCBpdiwgMCwgb3V0LCBvdXRPZmYpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgaXZbaV0gPSBvdXRbb3V0T2ZmICsgaV07XG4gIH0gZWxzZSB7XG4gICAgc3VwZXJQcm90by5fdXBkYXRlLmNhbGwodGhpcywgaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgb3V0W291dE9mZiArIGldIF49IGl2W2ldO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgaXZbaV0gPSBpbnBbaW5PZmYgKyBpXTtcbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcblxuZnVuY3Rpb24gQ2lwaGVyKG9wdGlvbnMpIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICB0aGlzLnR5cGUgPSB0aGlzLm9wdGlvbnMudHlwZTtcbiAgdGhpcy5ibG9ja1NpemUgPSA4O1xuICB0aGlzLl9pbml0KCk7XG5cbiAgdGhpcy5idWZmZXIgPSBuZXcgQXJyYXkodGhpcy5ibG9ja1NpemUpO1xuICB0aGlzLmJ1ZmZlck9mZiA9IDA7XG59XG5tb2R1bGUuZXhwb3J0cyA9IENpcGhlcjtcblxuQ2lwaGVyLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIF9pbml0KCkge1xuICAvLyBNaWdodCBiZSBvdmVycmlkZWRcbn07XG5cbkNpcGhlci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKGRhdGEpIHtcbiAgaWYgKGRhdGEubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBbXTtcblxuICBpZiAodGhpcy50eXBlID09PSAnZGVjcnlwdCcpXG4gICAgcmV0dXJuIHRoaXMuX3VwZGF0ZURlY3J5cHQoZGF0YSk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlRW5jcnlwdChkYXRhKTtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX2J1ZmZlciA9IGZ1bmN0aW9uIF9idWZmZXIoZGF0YSwgb2ZmKSB7XG4gIC8vIEFwcGVuZCBkYXRhIHRvIGJ1ZmZlclxuICB2YXIgbWluID0gTWF0aC5taW4odGhpcy5idWZmZXIubGVuZ3RoIC0gdGhpcy5idWZmZXJPZmYsIGRhdGEubGVuZ3RoIC0gb2ZmKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtaW47IGkrKylcbiAgICB0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZiArIGldID0gZGF0YVtvZmYgKyBpXTtcbiAgdGhpcy5idWZmZXJPZmYgKz0gbWluO1xuXG4gIC8vIFNoaWZ0IG5leHRcbiAgcmV0dXJuIG1pbjtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX2ZsdXNoQnVmZmVyID0gZnVuY3Rpb24gX2ZsdXNoQnVmZmVyKG91dCwgb2ZmKSB7XG4gIHRoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwgMCwgb3V0LCBvZmYpO1xuICB0aGlzLmJ1ZmZlck9mZiA9IDA7XG4gIHJldHVybiB0aGlzLmJsb2NrU2l6ZTtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZUVuY3J5cHQgPSBmdW5jdGlvbiBfdXBkYXRlRW5jcnlwdChkYXRhKSB7XG4gIHZhciBpbnB1dE9mZiA9IDA7XG4gIHZhciBvdXRwdXRPZmYgPSAwO1xuXG4gIHZhciBjb3VudCA9ICgodGhpcy5idWZmZXJPZmYgKyBkYXRhLmxlbmd0aCkgLyB0aGlzLmJsb2NrU2l6ZSkgfCAwO1xuICB2YXIgb3V0ID0gbmV3IEFycmF5KGNvdW50ICogdGhpcy5ibG9ja1NpemUpO1xuXG4gIGlmICh0aGlzLmJ1ZmZlck9mZiAhPT0gMCkge1xuICAgIGlucHV0T2ZmICs9IHRoaXMuX2J1ZmZlcihkYXRhLCBpbnB1dE9mZik7XG5cbiAgICBpZiAodGhpcy5idWZmZXJPZmYgPT09IHRoaXMuYnVmZmVyLmxlbmd0aClcbiAgICAgIG91dHB1dE9mZiArPSB0aGlzLl9mbHVzaEJ1ZmZlcihvdXQsIG91dHB1dE9mZik7XG4gIH1cblxuICAvLyBXcml0ZSBibG9ja3NcbiAgdmFyIG1heCA9IGRhdGEubGVuZ3RoIC0gKChkYXRhLmxlbmd0aCAtIGlucHV0T2ZmKSAlIHRoaXMuYmxvY2tTaXplKTtcbiAgZm9yICg7IGlucHV0T2ZmIDwgbWF4OyBpbnB1dE9mZiArPSB0aGlzLmJsb2NrU2l6ZSkge1xuICAgIHRoaXMuX3VwZGF0ZShkYXRhLCBpbnB1dE9mZiwgb3V0LCBvdXRwdXRPZmYpO1xuICAgIG91dHB1dE9mZiArPSB0aGlzLmJsb2NrU2l6ZTtcbiAgfVxuXG4gIC8vIFF1ZXVlIHJlc3RcbiAgZm9yICg7IGlucHV0T2ZmIDwgZGF0YS5sZW5ndGg7IGlucHV0T2ZmKyssIHRoaXMuYnVmZmVyT2ZmKyspXG4gICAgdGhpcy5idWZmZXJbdGhpcy5idWZmZXJPZmZdID0gZGF0YVtpbnB1dE9mZl07XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZURlY3J5cHQgPSBmdW5jdGlvbiBfdXBkYXRlRGVjcnlwdChkYXRhKSB7XG4gIHZhciBpbnB1dE9mZiA9IDA7XG4gIHZhciBvdXRwdXRPZmYgPSAwO1xuXG4gIHZhciBjb3VudCA9IE1hdGguY2VpbCgodGhpcy5idWZmZXJPZmYgKyBkYXRhLmxlbmd0aCkgLyB0aGlzLmJsb2NrU2l6ZSkgLSAxO1xuICB2YXIgb3V0ID0gbmV3IEFycmF5KGNvdW50ICogdGhpcy5ibG9ja1NpemUpO1xuXG4gIC8vIFRPRE8oaW5kdXRueSk6IG9wdGltaXplIGl0LCB0aGlzIGlzIGZhciBmcm9tIG9wdGltYWxcbiAgZm9yICg7IGNvdW50ID4gMDsgY291bnQtLSkge1xuICAgIGlucHV0T2ZmICs9IHRoaXMuX2J1ZmZlcihkYXRhLCBpbnB1dE9mZik7XG4gICAgb3V0cHV0T2ZmICs9IHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgb3V0cHV0T2ZmKTtcbiAgfVxuXG4gIC8vIEJ1ZmZlciByZXN0IG9mIHRoZSBpbnB1dFxuICBpbnB1dE9mZiArPSB0aGlzLl9idWZmZXIoZGF0YSwgaW5wdXRPZmYpO1xuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5DaXBoZXIucHJvdG90eXBlLmZpbmFsID0gZnVuY3Rpb24gZmluYWwoYnVmZmVyKSB7XG4gIHZhciBmaXJzdDtcbiAgaWYgKGJ1ZmZlcilcbiAgICBmaXJzdCA9IHRoaXMudXBkYXRlKGJ1ZmZlcik7XG5cbiAgdmFyIGxhc3Q7XG4gIGlmICh0aGlzLnR5cGUgPT09ICdlbmNyeXB0JylcbiAgICBsYXN0ID0gdGhpcy5fZmluYWxFbmNyeXB0KCk7XG4gIGVsc2VcbiAgICBsYXN0ID0gdGhpcy5fZmluYWxEZWNyeXB0KCk7XG5cbiAgaWYgKGZpcnN0KVxuICAgIHJldHVybiBmaXJzdC5jb25jYXQobGFzdCk7XG4gIGVsc2VcbiAgICByZXR1cm4gbGFzdDtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX3BhZCA9IGZ1bmN0aW9uIF9wYWQoYnVmZmVyLCBvZmYpIHtcbiAgaWYgKG9mZiA9PT0gMClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgd2hpbGUgKG9mZiA8IGJ1ZmZlci5sZW5ndGgpXG4gICAgYnVmZmVyW29mZisrXSA9IDA7XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5DaXBoZXIucHJvdG90eXBlLl9maW5hbEVuY3J5cHQgPSBmdW5jdGlvbiBfZmluYWxFbmNyeXB0KCkge1xuICBpZiAoIXRoaXMuX3BhZCh0aGlzLmJ1ZmZlciwgdGhpcy5idWZmZXJPZmYpKVxuICAgIHJldHVybiBbXTtcblxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtcbiAgdGhpcy5fdXBkYXRlKHRoaXMuYnVmZmVyLCAwLCBvdXQsIDApO1xuICByZXR1cm4gb3V0O1xufTtcblxuQ2lwaGVyLnByb3RvdHlwZS5fdW5wYWQgPSBmdW5jdGlvbiBfdW5wYWQoYnVmZmVyKSB7XG4gIHJldHVybiBidWZmZXI7XG59O1xuXG5DaXBoZXIucHJvdG90eXBlLl9maW5hbERlY3J5cHQgPSBmdW5jdGlvbiBfZmluYWxEZWNyeXB0KCkge1xuICBhc3NlcnQuZXF1YWwodGhpcy5idWZmZXJPZmYsIHRoaXMuYmxvY2tTaXplLCAnTm90IGVub3VnaCBkYXRhIHRvIGRlY3J5cHQnKTtcbiAgdmFyIG91dCA9IG5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSk7XG4gIHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgMCk7XG5cbiAgcmV0dXJuIHRoaXMuX3VucGFkKG91dCk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKTtcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIENpcGhlciA9IHJlcXVpcmUoJy4vY2lwaGVyJyk7XG5cbmZ1bmN0aW9uIERFU1N0YXRlKCkge1xuICB0aGlzLnRtcCA9IG5ldyBBcnJheSgyKTtcbiAgdGhpcy5rZXlzID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gREVTKG9wdGlvbnMpIHtcbiAgQ2lwaGVyLmNhbGwodGhpcywgb3B0aW9ucyk7XG5cbiAgdmFyIHN0YXRlID0gbmV3IERFU1N0YXRlKCk7XG4gIHRoaXMuX2Rlc1N0YXRlID0gc3RhdGU7XG5cbiAgdGhpcy5kZXJpdmVLZXlzKHN0YXRlLCBvcHRpb25zLmtleSk7XG59XG5pbmhlcml0cyhERVMsIENpcGhlcik7XG5tb2R1bGUuZXhwb3J0cyA9IERFUztcblxuREVTLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XG4gIHJldHVybiBuZXcgREVTKG9wdGlvbnMpO1xufTtcblxudmFyIHNoaWZ0VGFibGUgPSBbXG4gIDEsIDEsIDIsIDIsIDIsIDIsIDIsIDIsXG4gIDEsIDIsIDIsIDIsIDIsIDIsIDIsIDFcbl07XG5cbkRFUy5wcm90b3R5cGUuZGVyaXZlS2V5cyA9IGZ1bmN0aW9uIGRlcml2ZUtleXMoc3RhdGUsIGtleSkge1xuICBzdGF0ZS5rZXlzID0gbmV3IEFycmF5KDE2ICogMik7XG5cbiAgYXNzZXJ0LmVxdWFsKGtleS5sZW5ndGgsIHRoaXMuYmxvY2tTaXplLCAnSW52YWxpZCBrZXkgbGVuZ3RoJyk7XG5cbiAgdmFyIGtMID0gdXRpbHMucmVhZFVJbnQzMkJFKGtleSwgMCk7XG4gIHZhciBrUiA9IHV0aWxzLnJlYWRVSW50MzJCRShrZXksIDQpO1xuXG4gIHV0aWxzLnBjMShrTCwga1IsIHN0YXRlLnRtcCwgMCk7XG4gIGtMID0gc3RhdGUudG1wWzBdO1xuICBrUiA9IHN0YXRlLnRtcFsxXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS5rZXlzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIHNoaWZ0ID0gc2hpZnRUYWJsZVtpID4+PiAxXTtcbiAgICBrTCA9IHV0aWxzLnIyOHNobChrTCwgc2hpZnQpO1xuICAgIGtSID0gdXRpbHMucjI4c2hsKGtSLCBzaGlmdCk7XG4gICAgdXRpbHMucGMyKGtMLCBrUiwgc3RhdGUua2V5cywgaSk7XG4gIH1cbn07XG5cbkRFUy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcbiAgdmFyIHN0YXRlID0gdGhpcy5fZGVzU3RhdGU7XG5cbiAgdmFyIGwgPSB1dGlscy5yZWFkVUludDMyQkUoaW5wLCBpbk9mZik7XG4gIHZhciByID0gdXRpbHMucmVhZFVJbnQzMkJFKGlucCwgaW5PZmYgKyA0KTtcblxuICAvLyBJbml0aWFsIFBlcm11dGF0aW9uXG4gIHV0aWxzLmlwKGwsIHIsIHN0YXRlLnRtcCwgMCk7XG4gIGwgPSBzdGF0ZS50bXBbMF07XG4gIHIgPSBzdGF0ZS50bXBbMV07XG5cbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2VuY3J5cHQnKVxuICAgIHRoaXMuX2VuY3J5cHQoc3RhdGUsIGwsIHIsIHN0YXRlLnRtcCwgMCk7XG4gIGVsc2VcbiAgICB0aGlzLl9kZWNyeXB0KHN0YXRlLCBsLCByLCBzdGF0ZS50bXAsIDApO1xuXG4gIGwgPSBzdGF0ZS50bXBbMF07XG4gIHIgPSBzdGF0ZS50bXBbMV07XG5cbiAgdXRpbHMud3JpdGVVSW50MzJCRShvdXQsIGwsIG91dE9mZik7XG4gIHV0aWxzLndyaXRlVUludDMyQkUob3V0LCByLCBvdXRPZmYgKyA0KTtcbn07XG5cbkRFUy5wcm90b3R5cGUuX3BhZCA9IGZ1bmN0aW9uIF9wYWQoYnVmZmVyLCBvZmYpIHtcbiAgdmFyIHZhbHVlID0gYnVmZmVyLmxlbmd0aCAtIG9mZjtcbiAgZm9yICh2YXIgaSA9IG9mZjsgaSA8IGJ1ZmZlci5sZW5ndGg7IGkrKylcbiAgICBidWZmZXJbaV0gPSB2YWx1ZTtcblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbkRFUy5wcm90b3R5cGUuX3VucGFkID0gZnVuY3Rpb24gX3VucGFkKGJ1ZmZlcikge1xuICB2YXIgcGFkID0gYnVmZmVyW2J1ZmZlci5sZW5ndGggLSAxXTtcbiAgZm9yICh2YXIgaSA9IGJ1ZmZlci5sZW5ndGggLSBwYWQ7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspXG4gICAgYXNzZXJ0LmVxdWFsKGJ1ZmZlcltpXSwgcGFkKTtcblxuICByZXR1cm4gYnVmZmVyLnNsaWNlKDAsIGJ1ZmZlci5sZW5ndGggLSBwYWQpO1xufTtcblxuREVTLnByb3RvdHlwZS5fZW5jcnlwdCA9IGZ1bmN0aW9uIF9lbmNyeXB0KHN0YXRlLCBsU3RhcnQsIHJTdGFydCwgb3V0LCBvZmYpIHtcbiAgdmFyIGwgPSBsU3RhcnQ7XG4gIHZhciByID0gclN0YXJ0O1xuXG4gIC8vIEFwcGx5IGYoKSB4MTYgdGltZXNcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS5rZXlzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIGtleUwgPSBzdGF0ZS5rZXlzW2ldO1xuICAgIHZhciBrZXlSID0gc3RhdGUua2V5c1tpICsgMV07XG5cbiAgICAvLyBmKHIsIGspXG4gICAgdXRpbHMuZXhwYW5kKHIsIHN0YXRlLnRtcCwgMCk7XG5cbiAgICBrZXlMIF49IHN0YXRlLnRtcFswXTtcbiAgICBrZXlSIF49IHN0YXRlLnRtcFsxXTtcbiAgICB2YXIgcyA9IHV0aWxzLnN1YnN0aXR1dGUoa2V5TCwga2V5Uik7XG4gICAgdmFyIGYgPSB1dGlscy5wZXJtdXRlKHMpO1xuXG4gICAgdmFyIHQgPSByO1xuICAgIHIgPSAobCBeIGYpID4+PiAwO1xuICAgIGwgPSB0O1xuICB9XG5cbiAgLy8gUmV2ZXJzZSBJbml0aWFsIFBlcm11dGF0aW9uXG4gIHV0aWxzLnJpcChyLCBsLCBvdXQsIG9mZik7XG59O1xuXG5ERVMucHJvdG90eXBlLl9kZWNyeXB0ID0gZnVuY3Rpb24gX2RlY3J5cHQoc3RhdGUsIGxTdGFydCwgclN0YXJ0LCBvdXQsIG9mZikge1xuICB2YXIgbCA9IHJTdGFydDtcbiAgdmFyIHIgPSBsU3RhcnQ7XG5cbiAgLy8gQXBwbHkgZigpIHgxNiB0aW1lc1xuICBmb3IgKHZhciBpID0gc3RhdGUua2V5cy5sZW5ndGggLSAyOyBpID49IDA7IGkgLT0gMikge1xuICAgIHZhciBrZXlMID0gc3RhdGUua2V5c1tpXTtcbiAgICB2YXIga2V5UiA9IHN0YXRlLmtleXNbaSArIDFdO1xuXG4gICAgLy8gZihyLCBrKVxuICAgIHV0aWxzLmV4cGFuZChsLCBzdGF0ZS50bXAsIDApO1xuXG4gICAga2V5TCBePSBzdGF0ZS50bXBbMF07XG4gICAga2V5UiBePSBzdGF0ZS50bXBbMV07XG4gICAgdmFyIHMgPSB1dGlscy5zdWJzdGl0dXRlKGtleUwsIGtleVIpO1xuICAgIHZhciBmID0gdXRpbHMucGVybXV0ZShzKTtcblxuICAgIHZhciB0ID0gbDtcbiAgICBsID0gKHIgXiBmKSA+Pj4gMDtcbiAgICByID0gdDtcbiAgfVxuXG4gIC8vIFJldmVyc2UgSW5pdGlhbCBQZXJtdXRhdGlvblxuICB1dGlscy5yaXAobCwgciwgb3V0LCBvZmYpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbnZhciBDaXBoZXIgPSByZXF1aXJlKCcuL2NpcGhlcicpO1xudmFyIERFUyA9IHJlcXVpcmUoJy4vZGVzJyk7XG5cbmZ1bmN0aW9uIEVERVN0YXRlKHR5cGUsIGtleSkge1xuICBhc3NlcnQuZXF1YWwoa2V5Lmxlbmd0aCwgMjQsICdJbnZhbGlkIGtleSBsZW5ndGgnKTtcblxuICB2YXIgazEgPSBrZXkuc2xpY2UoMCwgOCk7XG4gIHZhciBrMiA9IGtleS5zbGljZSg4LCAxNik7XG4gIHZhciBrMyA9IGtleS5zbGljZSgxNiwgMjQpO1xuXG4gIGlmICh0eXBlID09PSAnZW5jcnlwdCcpIHtcbiAgICB0aGlzLmNpcGhlcnMgPSBbXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGsxIH0pLFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMiB9KSxcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZW5jcnlwdCcsIGtleTogazMgfSlcbiAgICBdO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuY2lwaGVycyA9IFtcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZGVjcnlwdCcsIGtleTogazMgfSksXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGsyIH0pLFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMSB9KVxuICAgIF07XG4gIH1cbn1cblxuZnVuY3Rpb24gRURFKG9wdGlvbnMpIHtcbiAgQ2lwaGVyLmNhbGwodGhpcywgb3B0aW9ucyk7XG5cbiAgdmFyIHN0YXRlID0gbmV3IEVERVN0YXRlKHRoaXMudHlwZSwgdGhpcy5vcHRpb25zLmtleSk7XG4gIHRoaXMuX2VkZVN0YXRlID0gc3RhdGU7XG59XG5pbmhlcml0cyhFREUsIENpcGhlcik7XG5cbm1vZHVsZS5leHBvcnRzID0gRURFO1xuXG5FREUuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKG9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBFREUob3B0aW9ucyk7XG59O1xuXG5FREUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX2VkZVN0YXRlO1xuXG4gIHN0YXRlLmNpcGhlcnNbMF0uX3VwZGF0ZShpbnAsIGluT2ZmLCBvdXQsIG91dE9mZik7XG4gIHN0YXRlLmNpcGhlcnNbMV0uX3VwZGF0ZShvdXQsIG91dE9mZiwgb3V0LCBvdXRPZmYpO1xuICBzdGF0ZS5jaXBoZXJzWzJdLl91cGRhdGUob3V0LCBvdXRPZmYsIG91dCwgb3V0T2ZmKTtcbn07XG5cbkVERS5wcm90b3R5cGUuX3BhZCA9IERFUy5wcm90b3R5cGUuX3BhZDtcbkVERS5wcm90b3R5cGUuX3VucGFkID0gREVTLnByb3RvdHlwZS5fdW5wYWQ7XG4iLCIndXNlIHN0cmljdCc7XG5cbmV4cG9ydHMucmVhZFVJbnQzMkJFID0gZnVuY3Rpb24gcmVhZFVJbnQzMkJFKGJ5dGVzLCBvZmYpIHtcbiAgdmFyIHJlcyA9ICAoYnl0ZXNbMCArIG9mZl0gPDwgMjQpIHxcbiAgICAgICAgICAgICAoYnl0ZXNbMSArIG9mZl0gPDwgMTYpIHxcbiAgICAgICAgICAgICAoYnl0ZXNbMiArIG9mZl0gPDwgOCkgfFxuICAgICAgICAgICAgIGJ5dGVzWzMgKyBvZmZdO1xuICByZXR1cm4gcmVzID4+PiAwO1xufTtcblxuZXhwb3J0cy53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRShieXRlcywgdmFsdWUsIG9mZikge1xuICBieXRlc1swICsgb2ZmXSA9IHZhbHVlID4+PiAyNDtcbiAgYnl0ZXNbMSArIG9mZl0gPSAodmFsdWUgPj4+IDE2KSAmIDB4ZmY7XG4gIGJ5dGVzWzIgKyBvZmZdID0gKHZhbHVlID4+PiA4KSAmIDB4ZmY7XG4gIGJ5dGVzWzMgKyBvZmZdID0gdmFsdWUgJiAweGZmO1xufTtcblxuZXhwb3J0cy5pcCA9IGZ1bmN0aW9uIGlwKGluTCwgaW5SLCBvdXQsIG9mZikge1xuICB2YXIgb3V0TCA9IDA7XG4gIHZhciBvdXRSID0gMDtcblxuICBmb3IgKHZhciBpID0gNjsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XG4gICAgICBvdXRMIDw8PSAxO1xuICAgICAgb3V0TCB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcbiAgICAgIG91dEwgPDw9IDE7XG4gICAgICBvdXRMIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gIH1cblxuICBmb3IgKHZhciBpID0gNjsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICBmb3IgKHZhciBqID0gMTsgaiA8PSAyNTsgaiArPSA4KSB7XG4gICAgICBvdXRSIDw8PSAxO1xuICAgICAgb3V0UiB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICAgIGZvciAodmFyIGogPSAxOyBqIDw9IDI1OyBqICs9IDgpIHtcbiAgICAgIG91dFIgPDw9IDE7XG4gICAgICBvdXRSIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gIH1cblxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xufTtcblxuZXhwb3J0cy5yaXAgPSBmdW5jdGlvbiByaXAoaW5MLCBpblIsIG91dCwgb2ZmKSB7XG4gIHZhciBvdXRMID0gMDtcbiAgdmFyIG91dFIgPSAwO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgZm9yICh2YXIgaiA9IDI0OyBqID49IDA7IGogLT0gOCkge1xuICAgICAgb3V0TCA8PD0gMTtcbiAgICAgIG91dEwgfD0gKGluUiA+Pj4gKGogKyBpKSkgJiAxO1xuICAgICAgb3V0TCA8PD0gMTtcbiAgICAgIG91dEwgfD0gKGluTCA+Pj4gKGogKyBpKSkgJiAxO1xuICAgIH1cbiAgfVxuICBmb3IgKHZhciBpID0gNDsgaSA8IDg7IGkrKykge1xuICAgIGZvciAodmFyIGogPSAyNDsgaiA+PSAwOyBqIC09IDgpIHtcbiAgICAgIG91dFIgPDw9IDE7XG4gICAgICBvdXRSIHw9IChpblIgPj4+IChqICsgaSkpICYgMTtcbiAgICAgIG91dFIgPDw9IDE7XG4gICAgICBvdXRSIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gIH1cblxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xufTtcblxuZXhwb3J0cy5wYzEgPSBmdW5jdGlvbiBwYzEoaW5MLCBpblIsIG91dCwgb2ZmKSB7XG4gIHZhciBvdXRMID0gMDtcbiAgdmFyIG91dFIgPSAwO1xuXG4gIC8vIDcsIDE1LCAyMywgMzEsIDM5LCA0NywgNTUsIDYzXG4gIC8vIDYsIDE0LCAyMiwgMzAsIDM5LCA0NywgNTUsIDYzXG4gIC8vIDUsIDEzLCAyMSwgMjksIDM5LCA0NywgNTUsIDYzXG4gIC8vIDQsIDEyLCAyMCwgMjhcbiAgZm9yICh2YXIgaSA9IDc7IGkgPj0gNTsgaS0tKSB7XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMjQ7IGogKz0gOCkge1xuICAgICAgb3V0TCA8PD0gMTtcbiAgICAgIG91dEwgfD0gKGluUiA+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcbiAgICAgIG91dEwgPDw9IDE7XG4gICAgICBvdXRMIHw9IChpbkwgPj4gKGogKyBpKSkgJiAxO1xuICAgIH1cbiAgfVxuICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XG4gICAgb3V0TCA8PD0gMTtcbiAgICBvdXRMIHw9IChpblIgPj4gKGogKyBpKSkgJiAxO1xuICB9XG5cbiAgLy8gMSwgOSwgMTcsIDI1LCAzMywgNDEsIDQ5LCA1N1xuICAvLyAyLCAxMCwgMTgsIDI2LCAzNCwgNDIsIDUwLCA1OFxuICAvLyAzLCAxMSwgMTksIDI3LCAzNSwgNDMsIDUxLCA1OVxuICAvLyAzNiwgNDQsIDUyLCA2MFxuICBmb3IgKHZhciBpID0gMTsgaSA8PSAzOyBpKyspIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XG4gICAgICBvdXRSIDw8PSAxO1xuICAgICAgb3V0UiB8PSAoaW5SID4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMjQ7IGogKz0gOCkge1xuICAgICAgb3V0UiA8PD0gMTtcbiAgICAgIG91dFIgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICB9XG4gIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcbiAgICBvdXRSIDw8PSAxO1xuICAgIG91dFIgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XG4gIH1cblxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xufTtcblxuZXhwb3J0cy5yMjhzaGwgPSBmdW5jdGlvbiByMjhzaGwobnVtLCBzaGlmdCkge1xuICByZXR1cm4gKChudW0gPDwgc2hpZnQpICYgMHhmZmZmZmZmKSB8IChudW0gPj4+ICgyOCAtIHNoaWZ0KSk7XG59O1xuXG52YXIgcGMydGFibGUgPSBbXG4gIC8vIGluTCA9PiBvdXRMXG4gIDE0LCAxMSwgMTcsIDQsIDI3LCAyMywgMjUsIDAsXG4gIDEzLCAyMiwgNywgMTgsIDUsIDksIDE2LCAyNCxcbiAgMiwgMjAsIDEyLCAyMSwgMSwgOCwgMTUsIDI2LFxuXG4gIC8vIGluUiA9PiBvdXRSXG4gIDE1LCA0LCAyNSwgMTksIDksIDEsIDI2LCAxNixcbiAgNSwgMTEsIDIzLCA4LCAxMiwgNywgMTcsIDAsXG4gIDIyLCAzLCAxMCwgMTQsIDYsIDIwLCAyNywgMjRcbl07XG5cbmV4cG9ydHMucGMyID0gZnVuY3Rpb24gcGMyKGluTCwgaW5SLCBvdXQsIG9mZikge1xuICB2YXIgb3V0TCA9IDA7XG4gIHZhciBvdXRSID0gMDtcblxuICB2YXIgbGVuID0gcGMydGFibGUubGVuZ3RoID4+PiAxO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgb3V0TCA8PD0gMTtcbiAgICBvdXRMIHw9IChpbkwgPj4+IHBjMnRhYmxlW2ldKSAmIDB4MTtcbiAgfVxuICBmb3IgKHZhciBpID0gbGVuOyBpIDwgcGMydGFibGUubGVuZ3RoOyBpKyspIHtcbiAgICBvdXRSIDw8PSAxO1xuICAgIG91dFIgfD0gKGluUiA+Pj4gcGMydGFibGVbaV0pICYgMHgxO1xuICB9XG5cbiAgb3V0W29mZiArIDBdID0gb3V0TCA+Pj4gMDtcbiAgb3V0W29mZiArIDFdID0gb3V0UiA+Pj4gMDtcbn07XG5cbmV4cG9ydHMuZXhwYW5kID0gZnVuY3Rpb24gZXhwYW5kKHIsIG91dCwgb2ZmKSB7XG4gIHZhciBvdXRMID0gMDtcbiAgdmFyIG91dFIgPSAwO1xuXG4gIG91dEwgPSAoKHIgJiAxKSA8PCA1KSB8IChyID4+PiAyNyk7XG4gIGZvciAodmFyIGkgPSAyMzsgaSA+PSAxNTsgaSAtPSA0KSB7XG4gICAgb3V0TCA8PD0gNjtcbiAgICBvdXRMIHw9IChyID4+PiBpKSAmIDB4M2Y7XG4gIH1cbiAgZm9yICh2YXIgaSA9IDExOyBpID49IDM7IGkgLT0gNCkge1xuICAgIG91dFIgfD0gKHIgPj4+IGkpICYgMHgzZjtcbiAgICBvdXRSIDw8PSA2O1xuICB9XG4gIG91dFIgfD0gKChyICYgMHgxZikgPDwgMSkgfCAociA+Pj4gMzEpO1xuXG4gIG91dFtvZmYgKyAwXSA9IG91dEwgPj4+IDA7XG4gIG91dFtvZmYgKyAxXSA9IG91dFIgPj4+IDA7XG59O1xuXG52YXIgc1RhYmxlID0gW1xuICAxNCwgMCwgNCwgMTUsIDEzLCA3LCAxLCA0LCAyLCAxNCwgMTUsIDIsIDExLCAxMywgOCwgMSxcbiAgMywgMTAsIDEwLCA2LCA2LCAxMiwgMTIsIDExLCA1LCA5LCA5LCA1LCAwLCAzLCA3LCA4LFxuICA0LCAxNSwgMSwgMTIsIDE0LCA4LCA4LCAyLCAxMywgNCwgNiwgOSwgMiwgMSwgMTEsIDcsXG4gIDE1LCA1LCAxMiwgMTEsIDksIDMsIDcsIDE0LCAzLCAxMCwgMTAsIDAsIDUsIDYsIDAsIDEzLFxuXG4gIDE1LCAzLCAxLCAxMywgOCwgNCwgMTQsIDcsIDYsIDE1LCAxMSwgMiwgMywgOCwgNCwgMTQsXG4gIDksIDEyLCA3LCAwLCAyLCAxLCAxMywgMTAsIDEyLCA2LCAwLCA5LCA1LCAxMSwgMTAsIDUsXG4gIDAsIDEzLCAxNCwgOCwgNywgMTAsIDExLCAxLCAxMCwgMywgNCwgMTUsIDEzLCA0LCAxLCAyLFxuICA1LCAxMSwgOCwgNiwgMTIsIDcsIDYsIDEyLCA5LCAwLCAzLCA1LCAyLCAxNCwgMTUsIDksXG5cbiAgMTAsIDEzLCAwLCA3LCA5LCAwLCAxNCwgOSwgNiwgMywgMywgNCwgMTUsIDYsIDUsIDEwLFxuICAxLCAyLCAxMywgOCwgMTIsIDUsIDcsIDE0LCAxMSwgMTIsIDQsIDExLCAyLCAxNSwgOCwgMSxcbiAgMTMsIDEsIDYsIDEwLCA0LCAxMywgOSwgMCwgOCwgNiwgMTUsIDksIDMsIDgsIDAsIDcsXG4gIDExLCA0LCAxLCAxNSwgMiwgMTQsIDEyLCAzLCA1LCAxMSwgMTAsIDUsIDE0LCAyLCA3LCAxMixcblxuICA3LCAxMywgMTMsIDgsIDE0LCAxMSwgMywgNSwgMCwgNiwgNiwgMTUsIDksIDAsIDEwLCAzLFxuICAxLCA0LCAyLCA3LCA4LCAyLCA1LCAxMiwgMTEsIDEsIDEyLCAxMCwgNCwgMTQsIDE1LCA5LFxuICAxMCwgMywgNiwgMTUsIDksIDAsIDAsIDYsIDEyLCAxMCwgMTEsIDEsIDcsIDEzLCAxMywgOCxcbiAgMTUsIDksIDEsIDQsIDMsIDUsIDE0LCAxMSwgNSwgMTIsIDIsIDcsIDgsIDIsIDQsIDE0LFxuXG4gIDIsIDE0LCAxMiwgMTEsIDQsIDIsIDEsIDEyLCA3LCA0LCAxMCwgNywgMTEsIDEzLCA2LCAxLFxuICA4LCA1LCA1LCAwLCAzLCAxNSwgMTUsIDEwLCAxMywgMywgMCwgOSwgMTQsIDgsIDksIDYsXG4gIDQsIDExLCAyLCA4LCAxLCAxMiwgMTEsIDcsIDEwLCAxLCAxMywgMTQsIDcsIDIsIDgsIDEzLFxuICAxNSwgNiwgOSwgMTUsIDEyLCAwLCA1LCA5LCA2LCAxMCwgMywgNCwgMCwgNSwgMTQsIDMsXG5cbiAgMTIsIDEwLCAxLCAxNSwgMTAsIDQsIDE1LCAyLCA5LCA3LCAyLCAxMiwgNiwgOSwgOCwgNSxcbiAgMCwgNiwgMTMsIDEsIDMsIDEzLCA0LCAxNCwgMTQsIDAsIDcsIDExLCA1LCAzLCAxMSwgOCxcbiAgOSwgNCwgMTQsIDMsIDE1LCAyLCA1LCAxMiwgMiwgOSwgOCwgNSwgMTIsIDE1LCAzLCAxMCxcbiAgNywgMTEsIDAsIDE0LCA0LCAxLCAxMCwgNywgMSwgNiwgMTMsIDAsIDExLCA4LCA2LCAxMyxcblxuICA0LCAxMywgMTEsIDAsIDIsIDExLCAxNCwgNywgMTUsIDQsIDAsIDksIDgsIDEsIDEzLCAxMCxcbiAgMywgMTQsIDEyLCAzLCA5LCA1LCA3LCAxMiwgNSwgMiwgMTAsIDE1LCA2LCA4LCAxLCA2LFxuICAxLCA2LCA0LCAxMSwgMTEsIDEzLCAxMywgOCwgMTIsIDEsIDMsIDQsIDcsIDEwLCAxNCwgNyxcbiAgMTAsIDksIDE1LCA1LCA2LCAwLCA4LCAxNSwgMCwgMTQsIDUsIDIsIDksIDMsIDIsIDEyLFxuXG4gIDEzLCAxLCAyLCAxNSwgOCwgMTMsIDQsIDgsIDYsIDEwLCAxNSwgMywgMTEsIDcsIDEsIDQsXG4gIDEwLCAxMiwgOSwgNSwgMywgNiwgMTQsIDExLCA1LCAwLCAwLCAxNCwgMTIsIDksIDcsIDIsXG4gIDcsIDIsIDExLCAxLCA0LCAxNCwgMSwgNywgOSwgNCwgMTIsIDEwLCAxNCwgOCwgMiwgMTMsXG4gIDAsIDE1LCA2LCAxMiwgMTAsIDksIDEzLCAwLCAxNSwgMywgMywgNSwgNSwgNiwgOCwgMTFcbl07XG5cbmV4cG9ydHMuc3Vic3RpdHV0ZSA9IGZ1bmN0aW9uIHN1YnN0aXR1dGUoaW5MLCBpblIpIHtcbiAgdmFyIG91dCA9IDA7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgdmFyIGIgPSAoaW5MID4+PiAoMTggLSBpICogNikpICYgMHgzZjtcbiAgICB2YXIgc2IgPSBzVGFibGVbaSAqIDB4NDAgKyBiXTtcblxuICAgIG91dCA8PD0gNDtcbiAgICBvdXQgfD0gc2I7XG4gIH1cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICB2YXIgYiA9IChpblIgPj4+ICgxOCAtIGkgKiA2KSkgJiAweDNmO1xuICAgIHZhciBzYiA9IHNUYWJsZVs0ICogMHg0MCArIGkgKiAweDQwICsgYl07XG5cbiAgICBvdXQgPDw9IDQ7XG4gICAgb3V0IHw9IHNiO1xuICB9XG4gIHJldHVybiBvdXQgPj4+IDA7XG59O1xuXG52YXIgcGVybXV0ZVRhYmxlID0gW1xuICAxNiwgMjUsIDEyLCAxMSwgMywgMjAsIDQsIDE1LCAzMSwgMTcsIDksIDYsIDI3LCAxNCwgMSwgMjIsXG4gIDMwLCAyNCwgOCwgMTgsIDAsIDUsIDI5LCAyMywgMTMsIDE5LCAyLCAyNiwgMTAsIDIxLCAyOCwgN1xuXTtcblxuZXhwb3J0cy5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZShudW0pIHtcbiAgdmFyIG91dCA9IDA7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcGVybXV0ZVRhYmxlLmxlbmd0aDsgaSsrKSB7XG4gICAgb3V0IDw8PSAxO1xuICAgIG91dCB8PSAobnVtID4+PiBwZXJtdXRlVGFibGVbaV0pICYgMHgxO1xuICB9XG4gIHJldHVybiBvdXQgPj4+IDA7XG59O1xuXG5leHBvcnRzLnBhZFNwbGl0ID0gZnVuY3Rpb24gcGFkU3BsaXQobnVtLCBzaXplLCBncm91cCkge1xuICB2YXIgc3RyID0gbnVtLnRvU3RyaW5nKDIpO1xuICB3aGlsZSAoc3RyLmxlbmd0aCA8IHNpemUpXG4gICAgc3RyID0gJzAnICsgc3RyO1xuXG4gIHZhciBvdXQgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyBpICs9IGdyb3VwKVxuICAgIG91dC5wdXNoKHN0ci5zbGljZShpLCBpICsgZ3JvdXApKTtcbiAgcmV0dXJuIG91dC5qb2luKCcgJyk7XG59O1xuIiwidmFyIGdlbmVyYXRlUHJpbWUgPSByZXF1aXJlKCcuL2xpYi9nZW5lcmF0ZVByaW1lJylcbnZhciBwcmltZXMgPSByZXF1aXJlKCcuL2xpYi9wcmltZXMuanNvbicpXG5cbnZhciBESCA9IHJlcXVpcmUoJy4vbGliL2RoJylcblxuZnVuY3Rpb24gZ2V0RGlmZmllSGVsbG1hbiAobW9kKSB7XG4gIHZhciBwcmltZSA9IG5ldyBCdWZmZXIocHJpbWVzW21vZF0ucHJpbWUsICdoZXgnKVxuICB2YXIgZ2VuID0gbmV3IEJ1ZmZlcihwcmltZXNbbW9kXS5nZW4sICdoZXgnKVxuXG4gIHJldHVybiBuZXcgREgocHJpbWUsIGdlbilcbn1cblxudmFyIEVOQ09ESU5HUyA9IHtcbiAgJ2JpbmFyeSc6IHRydWUsICdoZXgnOiB0cnVlLCAnYmFzZTY0JzogdHJ1ZVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEaWZmaWVIZWxsbWFuIChwcmltZSwgZW5jLCBnZW5lcmF0b3IsIGdlbmMpIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihlbmMpIHx8IEVOQ09ESU5HU1tlbmNdID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY3JlYXRlRGlmZmllSGVsbG1hbihwcmltZSwgJ2JpbmFyeScsIGVuYywgZ2VuZXJhdG9yKVxuICB9XG5cbiAgZW5jID0gZW5jIHx8ICdiaW5hcnknXG4gIGdlbmMgPSBnZW5jIHx8ICdiaW5hcnknXG4gIGdlbmVyYXRvciA9IGdlbmVyYXRvciB8fCBuZXcgQnVmZmVyKFsyXSlcblxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihnZW5lcmF0b3IpKSB7XG4gICAgZ2VuZXJhdG9yID0gbmV3IEJ1ZmZlcihnZW5lcmF0b3IsIGdlbmMpXG4gIH1cblxuICBpZiAodHlwZW9mIHByaW1lID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBuZXcgREgoZ2VuZXJhdGVQcmltZShwcmltZSwgZ2VuZXJhdG9yKSwgZ2VuZXJhdG9yLCB0cnVlKVxuICB9XG5cbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpbWUpKSB7XG4gICAgcHJpbWUgPSBuZXcgQnVmZmVyKHByaW1lLCBlbmMpXG4gIH1cblxuICByZXR1cm4gbmV3IERIKHByaW1lLCBnZW5lcmF0b3IsIHRydWUpXG59XG5cbmV4cG9ydHMuRGlmZmllSGVsbG1hbkdyb3VwID0gZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXAgPSBleHBvcnRzLmdldERpZmZpZUhlbGxtYW4gPSBnZXREaWZmaWVIZWxsbWFuXG5leHBvcnRzLmNyZWF0ZURpZmZpZUhlbGxtYW4gPSBleHBvcnRzLkRpZmZpZUhlbGxtYW4gPSBjcmVhdGVEaWZmaWVIZWxsbWFuXG4iLCJ2YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIE1pbGxlclJhYmluID0gcmVxdWlyZSgnbWlsbGVyLXJhYmluJyk7XG52YXIgbWlsbGVyUmFiaW4gPSBuZXcgTWlsbGVyUmFiaW4oKTtcbnZhciBUV0VOVFlGT1VSID0gbmV3IEJOKDI0KTtcbnZhciBFTEVWRU4gPSBuZXcgQk4oMTEpO1xudmFyIFRFTiA9IG5ldyBCTigxMCk7XG52YXIgVEhSRUUgPSBuZXcgQk4oMyk7XG52YXIgU0VWRU4gPSBuZXcgQk4oNyk7XG52YXIgcHJpbWVzID0gcmVxdWlyZSgnLi9nZW5lcmF0ZVByaW1lJyk7XG52YXIgcmFuZG9tQnl0ZXMgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpO1xubW9kdWxlLmV4cG9ydHMgPSBESDtcblxuZnVuY3Rpb24gc2V0UHVibGljS2V5KHB1YiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHB1YikpIHtcbiAgICBwdWIgPSBuZXcgQnVmZmVyKHB1YiwgZW5jKTtcbiAgfVxuICB0aGlzLl9wdWIgPSBuZXcgQk4ocHViKTtcbiAgcmV0dXJuIHRoaXM7XG59XG5cbmZ1bmN0aW9uIHNldFByaXZhdGVLZXkocHJpdiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHByaXYpKSB7XG4gICAgcHJpdiA9IG5ldyBCdWZmZXIocHJpdiwgZW5jKTtcbiAgfVxuICB0aGlzLl9wcml2ID0gbmV3IEJOKHByaXYpO1xuICByZXR1cm4gdGhpcztcbn1cblxudmFyIHByaW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGNoZWNrUHJpbWUocHJpbWUsIGdlbmVyYXRvcikge1xuICB2YXIgZ2VuID0gZ2VuZXJhdG9yLnRvU3RyaW5nKCdoZXgnKTtcbiAgdmFyIGhleCA9IFtnZW4sIHByaW1lLnRvU3RyaW5nKDE2KV0uam9pbignXycpO1xuICBpZiAoaGV4IGluIHByaW1lQ2FjaGUpIHtcbiAgICByZXR1cm4gcHJpbWVDYWNoZVtoZXhdO1xuICB9XG4gIHZhciBlcnJvciA9IDA7XG5cbiAgaWYgKHByaW1lLmlzRXZlbigpIHx8XG4gICAgIXByaW1lcy5zaW1wbGVTaWV2ZSB8fFxuICAgICFwcmltZXMuZmVybWF0VGVzdChwcmltZSkgfHxcbiAgICAhbWlsbGVyUmFiaW4udGVzdChwcmltZSkpIHtcbiAgICAvL25vdCBhIHByaW1lIHNvICsxXG4gICAgZXJyb3IgKz0gMTtcblxuICAgIGlmIChnZW4gPT09ICcwMicgfHwgZ2VuID09PSAnMDUnKSB7XG4gICAgICAvLyB3ZSdkIGJlIGFibGUgdG8gY2hlY2sgdGhlIGdlbmVyYXRvclxuICAgICAgLy8gaXQgd291bGQgZmFpbCBzbyArOFxuICAgICAgZXJyb3IgKz0gODtcbiAgICB9IGVsc2Uge1xuICAgICAgLy93ZSB3b3VsZG4ndCBiZSBhYmxlIHRvIHRlc3QgdGhlIGdlbmVyYXRvclxuICAgICAgLy8gc28gKzRcbiAgICAgIGVycm9yICs9IDQ7XG4gICAgfVxuICAgIHByaW1lQ2FjaGVbaGV4XSA9IGVycm9yO1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxuICBpZiAoIW1pbGxlclJhYmluLnRlc3QocHJpbWUuc2hybigxKSkpIHtcbiAgICAvL25vdCBhIHNhZmUgcHJpbWVcbiAgICBlcnJvciArPSAyO1xuICB9XG4gIHZhciByZW07XG4gIHN3aXRjaCAoZ2VuKSB7XG4gICAgY2FzZSAnMDInOlxuICAgICAgaWYgKHByaW1lLm1vZChUV0VOVFlGT1VSKS5jbXAoRUxFVkVOKSkge1xuICAgICAgICAvLyB1bnN1aWRhYmxlIGdlbmVyYXRvclxuICAgICAgICBlcnJvciArPSA4O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnMDUnOlxuICAgICAgcmVtID0gcHJpbWUubW9kKFRFTik7XG4gICAgICBpZiAocmVtLmNtcChUSFJFRSkgJiYgcmVtLmNtcChTRVZFTikpIHtcbiAgICAgICAgLy8gcHJpbWUgbW9kIDEwIG5lZWRzIHRvIGVxdWFsIDMgb3IgN1xuICAgICAgICBlcnJvciArPSA4O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGVycm9yICs9IDQ7XG4gIH1cbiAgcHJpbWVDYWNoZVtoZXhdID0gZXJyb3I7XG4gIHJldHVybiBlcnJvcjtcbn1cblxuZnVuY3Rpb24gREgocHJpbWUsIGdlbmVyYXRvciwgbWFsbGVhYmxlKSB7XG4gIHRoaXMuc2V0R2VuZXJhdG9yKGdlbmVyYXRvcik7XG4gIHRoaXMuX19wcmltZSA9IG5ldyBCTihwcmltZSk7XG4gIHRoaXMuX3ByaW1lID0gQk4ubW9udCh0aGlzLl9fcHJpbWUpO1xuICB0aGlzLl9wcmltZUxlbiA9IHByaW1lLmxlbmd0aDtcbiAgdGhpcy5fcHViID0gdW5kZWZpbmVkO1xuICB0aGlzLl9wcml2ID0gdW5kZWZpbmVkO1xuICB0aGlzLl9wcmltZUNvZGUgPSB1bmRlZmluZWQ7XG4gIGlmIChtYWxsZWFibGUpIHtcbiAgICB0aGlzLnNldFB1YmxpY0tleSA9IHNldFB1YmxpY0tleTtcbiAgICB0aGlzLnNldFByaXZhdGVLZXkgPSBzZXRQcml2YXRlS2V5O1xuICB9IGVsc2Uge1xuICAgIHRoaXMuX3ByaW1lQ29kZSA9IDg7XG4gIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShESC5wcm90b3R5cGUsICd2ZXJpZnlFcnJvcicsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9wcmltZUNvZGUgIT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLl9wcmltZUNvZGUgPSBjaGVja1ByaW1lKHRoaXMuX19wcmltZSwgdGhpcy5fX2dlbik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9wcmltZUNvZGU7XG4gIH1cbn0pO1xuREgucHJvdG90eXBlLmdlbmVyYXRlS2V5cyA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCF0aGlzLl9wcml2KSB7XG4gICAgdGhpcy5fcHJpdiA9IG5ldyBCTihyYW5kb21CeXRlcyh0aGlzLl9wcmltZUxlbikpO1xuICB9XG4gIHRoaXMuX3B1YiA9IHRoaXMuX2dlbi50b1JlZCh0aGlzLl9wcmltZSkucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKTtcbiAgcmV0dXJuIHRoaXMuZ2V0UHVibGljS2V5KCk7XG59O1xuXG5ESC5wcm90b3R5cGUuY29tcHV0ZVNlY3JldCA9IGZ1bmN0aW9uIChvdGhlcikge1xuICBvdGhlciA9IG5ldyBCTihvdGhlcik7XG4gIG90aGVyID0gb3RoZXIudG9SZWQodGhpcy5fcHJpbWUpO1xuICB2YXIgc2VjcmV0ID0gb3RoZXIucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKTtcbiAgdmFyIG91dCA9IG5ldyBCdWZmZXIoc2VjcmV0LnRvQXJyYXkoKSk7XG4gIHZhciBwcmltZSA9IHRoaXMuZ2V0UHJpbWUoKTtcbiAgaWYgKG91dC5sZW5ndGggPCBwcmltZS5sZW5ndGgpIHtcbiAgICB2YXIgZnJvbnQgPSBuZXcgQnVmZmVyKHByaW1lLmxlbmd0aCAtIG91dC5sZW5ndGgpO1xuICAgIGZyb250LmZpbGwoMCk7XG4gICAgb3V0ID0gQnVmZmVyLmNvbmNhdChbZnJvbnQsIG91dF0pO1xuICB9XG4gIHJldHVybiBvdXQ7XG59O1xuXG5ESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5ID0gZnVuY3Rpb24gZ2V0UHVibGljS2V5KGVuYykge1xuICByZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fcHViLCBlbmMpO1xufTtcblxuREgucHJvdG90eXBlLmdldFByaXZhdGVLZXkgPSBmdW5jdGlvbiBnZXRQcml2YXRlS2V5KGVuYykge1xuICByZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fcHJpdiwgZW5jKTtcbn07XG5cbkRILnByb3RvdHlwZS5nZXRQcmltZSA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX19wcmltZSwgZW5jKTtcbn07XG5cbkRILnByb3RvdHlwZS5nZXRHZW5lcmF0b3IgPSBmdW5jdGlvbiAoZW5jKSB7XG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZSh0aGlzLl9nZW4sIGVuYyk7XG59O1xuXG5ESC5wcm90b3R5cGUuc2V0R2VuZXJhdG9yID0gZnVuY3Rpb24gKGdlbiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGdlbikpIHtcbiAgICBnZW4gPSBuZXcgQnVmZmVyKGdlbiwgZW5jKTtcbiAgfVxuICB0aGlzLl9fZ2VuID0gZ2VuO1xuICB0aGlzLl9nZW4gPSBuZXcgQk4oZ2VuKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5mdW5jdGlvbiBmb3JtYXRSZXR1cm5WYWx1ZShibiwgZW5jKSB7XG4gIHZhciBidWYgPSBuZXcgQnVmZmVyKGJuLnRvQXJyYXkoKSk7XG4gIGlmICghZW5jKSB7XG4gICAgcmV0dXJuIGJ1ZjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYnVmLnRvU3RyaW5nKGVuYyk7XG4gIH1cbn1cbiIsInZhciByYW5kb21CeXRlcyA9IHJlcXVpcmUoJ3JhbmRvbWJ5dGVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZpbmRQcmltZTtcbmZpbmRQcmltZS5zaW1wbGVTaWV2ZSA9IHNpbXBsZVNpZXZlO1xuZmluZFByaW1lLmZlcm1hdFRlc3QgPSBmZXJtYXRUZXN0O1xudmFyIEJOID0gcmVxdWlyZSgnYm4uanMnKTtcbnZhciBUV0VOVFlGT1VSID0gbmV3IEJOKDI0KTtcbnZhciBNaWxsZXJSYWJpbiA9IHJlcXVpcmUoJ21pbGxlci1yYWJpbicpO1xudmFyIG1pbGxlclJhYmluID0gbmV3IE1pbGxlclJhYmluKCk7XG52YXIgT05FID0gbmV3IEJOKDEpO1xudmFyIFRXTyA9IG5ldyBCTigyKTtcbnZhciBGSVZFID0gbmV3IEJOKDUpO1xudmFyIFNJWFRFRU4gPSBuZXcgQk4oMTYpO1xudmFyIEVJR0hUID0gbmV3IEJOKDgpO1xudmFyIFRFTiA9IG5ldyBCTigxMCk7XG52YXIgVEhSRUUgPSBuZXcgQk4oMyk7XG52YXIgU0VWRU4gPSBuZXcgQk4oNyk7XG52YXIgRUxFVkVOID0gbmV3IEJOKDExKTtcbnZhciBGT1VSID0gbmV3IEJOKDQpO1xudmFyIFRXRUxWRSA9IG5ldyBCTigxMik7XG52YXIgcHJpbWVzID0gbnVsbDtcblxuZnVuY3Rpb24gX2dldFByaW1lcygpIHtcbiAgaWYgKHByaW1lcyAhPT0gbnVsbClcbiAgICByZXR1cm4gcHJpbWVzO1xuXG4gIHZhciBsaW1pdCA9IDB4MTAwMDAwO1xuICB2YXIgcmVzID0gW107XG4gIHJlc1swXSA9IDI7XG4gIGZvciAodmFyIGkgPSAxLCBrID0gMzsgayA8IGxpbWl0OyBrICs9IDIpIHtcbiAgICB2YXIgc3FydCA9IE1hdGguY2VpbChNYXRoLnNxcnQoaykpO1xuICAgIGZvciAodmFyIGogPSAwOyBqIDwgaSAmJiByZXNbal0gPD0gc3FydDsgaisrKVxuICAgICAgaWYgKGsgJSByZXNbal0gPT09IDApXG4gICAgICAgIGJyZWFrO1xuXG4gICAgaWYgKGkgIT09IGogJiYgcmVzW2pdIDw9IHNxcnQpXG4gICAgICBjb250aW51ZTtcblxuICAgIHJlc1tpKytdID0gaztcbiAgfVxuICBwcmltZXMgPSByZXM7XG4gIHJldHVybiByZXM7XG59XG5cbmZ1bmN0aW9uIHNpbXBsZVNpZXZlKHApIHtcbiAgdmFyIHByaW1lcyA9IF9nZXRQcmltZXMoKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHByaW1lcy5sZW5ndGg7IGkrKylcbiAgICBpZiAocC5tb2RuKHByaW1lc1tpXSkgPT09IDApIHtcbiAgICAgIGlmIChwLmNtcG4ocHJpbWVzW2ldKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGZlcm1hdFRlc3QocCkge1xuICB2YXIgcmVkID0gQk4ubW9udChwKTtcbiAgcmV0dXJuIFRXTy50b1JlZChyZWQpLnJlZFBvdyhwLnN1Ym4oMSkpLmZyb21SZWQoKS5jbXBuKDEpID09PSAwO1xufVxuXG5mdW5jdGlvbiBmaW5kUHJpbWUoYml0cywgZ2VuKSB7XG4gIGlmIChiaXRzIDwgMTYpIHtcbiAgICAvLyB0aGlzIGlzIHdoYXQgb3BlbnNzbCBkb2VzXG4gICAgaWYgKGdlbiA9PT0gMiB8fCBnZW4gPT09IDUpIHtcbiAgICAgIHJldHVybiBuZXcgQk4oWzB4OGMsIDB4N2JdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBCTihbMHg4YywgMHgyN10pO1xuICAgIH1cbiAgfVxuICBnZW4gPSBuZXcgQk4oZ2VuKTtcblxuICB2YXIgbnVtLCBuMjtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIG51bSA9IG5ldyBCTihyYW5kb21CeXRlcyhNYXRoLmNlaWwoYml0cyAvIDgpKSk7XG4gICAgd2hpbGUgKG51bS5iaXRMZW5ndGgoKSA+IGJpdHMpIHtcbiAgICAgIG51bS5pc2hybigxKTtcbiAgICB9XG4gICAgaWYgKG51bS5pc0V2ZW4oKSkge1xuICAgICAgbnVtLmlhZGQoT05FKTtcbiAgICB9XG4gICAgaWYgKCFudW0udGVzdG4oMSkpIHtcbiAgICAgIG51bS5pYWRkKFRXTyk7XG4gICAgfVxuICAgIGlmICghZ2VuLmNtcChUV08pKSB7XG4gICAgICB3aGlsZSAobnVtLm1vZChUV0VOVFlGT1VSKS5jbXAoRUxFVkVOKSkge1xuICAgICAgICBudW0uaWFkZChGT1VSKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFnZW4uY21wKEZJVkUpKSB7XG4gICAgICB3aGlsZSAobnVtLm1vZChURU4pLmNtcChUSFJFRSkpIHtcbiAgICAgICAgbnVtLmlhZGQoRk9VUik7XG4gICAgICB9XG4gICAgfVxuICAgIG4yID0gbnVtLnNocm4oMSk7XG4gICAgaWYgKHNpbXBsZVNpZXZlKG4yKSAmJiBzaW1wbGVTaWV2ZShudW0pICYmXG4gICAgICBmZXJtYXRUZXN0KG4yKSAmJiBmZXJtYXRUZXN0KG51bSkgJiZcbiAgICAgIG1pbGxlclJhYmluLnRlc3QobjIpICYmIG1pbGxlclJhYmluLnRlc3QobnVtKSkge1xuICAgICAgcmV0dXJuIG51bTtcbiAgICB9XG4gIH1cblxufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgZWxsaXB0aWMgPSBleHBvcnRzO1xuXG5lbGxpcHRpYy52ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcbmVsbGlwdGljLnV0aWxzID0gcmVxdWlyZSgnLi9lbGxpcHRpYy91dGlscycpO1xuZWxsaXB0aWMucmFuZCA9IHJlcXVpcmUoJ2Jyb3JhbmQnKTtcbmVsbGlwdGljLmN1cnZlID0gcmVxdWlyZSgnLi9lbGxpcHRpYy9jdXJ2ZScpO1xuZWxsaXB0aWMuY3VydmVzID0gcmVxdWlyZSgnLi9lbGxpcHRpYy9jdXJ2ZXMnKTtcblxuLy8gUHJvdG9jb2xzXG5lbGxpcHRpYy5lYyA9IHJlcXVpcmUoJy4vZWxsaXB0aWMvZWMnKTtcbmVsbGlwdGljLmVkZHNhID0gcmVxdWlyZSgnLi9lbGxpcHRpYy9lZGRzYScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBnZXROQUYgPSB1dGlscy5nZXROQUY7XG52YXIgZ2V0SlNGID0gdXRpbHMuZ2V0SlNGO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gQmFzZUN1cnZlKHR5cGUsIGNvbmYpIHtcbiAgdGhpcy50eXBlID0gdHlwZTtcbiAgdGhpcy5wID0gbmV3IEJOKGNvbmYucCwgMTYpO1xuXG4gIC8vIFVzZSBNb250Z29tZXJ5LCB3aGVuIHRoZXJlIGlzIG5vIGZhc3QgcmVkdWN0aW9uIGZvciB0aGUgcHJpbWVcbiAgdGhpcy5yZWQgPSBjb25mLnByaW1lID8gQk4ucmVkKGNvbmYucHJpbWUpIDogQk4ubW9udCh0aGlzLnApO1xuXG4gIC8vIFVzZWZ1bCBmb3IgbWFueSBjdXJ2ZXNcbiAgdGhpcy56ZXJvID0gbmV3IEJOKDApLnRvUmVkKHRoaXMucmVkKTtcbiAgdGhpcy5vbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcy5yZWQpO1xuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XG5cbiAgLy8gQ3VydmUgY29uZmlndXJhdGlvbiwgb3B0aW9uYWxcbiAgdGhpcy5uID0gY29uZi5uICYmIG5ldyBCTihjb25mLm4sIDE2KTtcbiAgdGhpcy5nID0gY29uZi5nICYmIHRoaXMucG9pbnRGcm9tSlNPTihjb25mLmcsIGNvbmYuZ1JlZCk7XG5cbiAgLy8gVGVtcG9yYXJ5IGFycmF5c1xuICB0aGlzLl93bmFmVDEgPSBuZXcgQXJyYXkoNCk7XG4gIHRoaXMuX3duYWZUMiA9IG5ldyBBcnJheSg0KTtcbiAgdGhpcy5fd25hZlQzID0gbmV3IEFycmF5KDQpO1xuICB0aGlzLl93bmFmVDQgPSBuZXcgQXJyYXkoNCk7XG5cbiAgdGhpcy5fYml0TGVuZ3RoID0gdGhpcy5uID8gdGhpcy5uLmJpdExlbmd0aCgpIDogMDtcblxuICAvLyBHZW5lcmFsaXplZCBHcmVnIE1heHdlbGwncyB0cmlja1xuICB2YXIgYWRqdXN0Q291bnQgPSB0aGlzLm4gJiYgdGhpcy5wLmRpdih0aGlzLm4pO1xuICBpZiAoIWFkanVzdENvdW50IHx8IGFkanVzdENvdW50LmNtcG4oMTAwKSA+IDApIHtcbiAgICB0aGlzLnJlZE4gPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuX21heHdlbGxUcmljayA9IHRydWU7XG4gICAgdGhpcy5yZWROID0gdGhpcy5uLnRvUmVkKHRoaXMucmVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBCYXNlQ3VydmU7XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUucG9pbnQgPSBmdW5jdGlvbiBwb2ludCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbn07XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZSgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbn07XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsID0gZnVuY3Rpb24gX2ZpeGVkTmFmTXVsKHAsIGspIHtcbiAgYXNzZXJ0KHAucHJlY29tcHV0ZWQpO1xuICB2YXIgZG91YmxlcyA9IHAuX2dldERvdWJsZXMoKTtcblxuICB2YXIgbmFmID0gZ2V0TkFGKGssIDEsIHRoaXMuX2JpdExlbmd0aCk7XG4gIHZhciBJID0gKDEgPDwgKGRvdWJsZXMuc3RlcCArIDEpKSAtIChkb3VibGVzLnN0ZXAgJSAyID09PSAwID8gMiA6IDEpO1xuICBJIC89IDM7XG5cbiAgLy8gVHJhbnNsYXRlIGludG8gbW9yZSB3aW5kb3dlZCBmb3JtXG4gIHZhciByZXByID0gW107XG4gIHZhciBqO1xuICB2YXIgbmFmVztcbiAgZm9yIChqID0gMDsgaiA8IG5hZi5sZW5ndGg7IGogKz0gZG91Ymxlcy5zdGVwKSB7XG4gICAgbmFmVyA9IDA7XG4gICAgZm9yICh2YXIgbCA9IGogKyBkb3VibGVzLnN0ZXAgLSAxOyBsID49IGo7IGwtLSlcbiAgICAgIG5hZlcgPSAobmFmVyA8PCAxKSArIG5hZltsXTtcbiAgICByZXByLnB1c2gobmFmVyk7XG4gIH1cblxuICB2YXIgYSA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICB2YXIgYiA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICBmb3IgKHZhciBpID0gSTsgaSA+IDA7IGktLSkge1xuICAgIGZvciAoaiA9IDA7IGogPCByZXByLmxlbmd0aDsgaisrKSB7XG4gICAgICBuYWZXID0gcmVwcltqXTtcbiAgICAgIGlmIChuYWZXID09PSBpKVxuICAgICAgICBiID0gYi5taXhlZEFkZChkb3VibGVzLnBvaW50c1tqXSk7XG4gICAgICBlbHNlIGlmIChuYWZXID09PSAtaSlcbiAgICAgICAgYiA9IGIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0ubmVnKCkpO1xuICAgIH1cbiAgICBhID0gYS5hZGQoYik7XG4gIH1cbiAgcmV0dXJuIGEudG9QKCk7XG59O1xuXG5CYXNlQ3VydmUucHJvdG90eXBlLl93bmFmTXVsID0gZnVuY3Rpb24gX3duYWZNdWwocCwgaykge1xuICB2YXIgdyA9IDQ7XG5cbiAgLy8gUHJlY29tcHV0ZSB3aW5kb3dcbiAgdmFyIG5hZlBvaW50cyA9IHAuX2dldE5BRlBvaW50cyh3KTtcbiAgdyA9IG5hZlBvaW50cy53bmQ7XG4gIHZhciB3bmQgPSBuYWZQb2ludHMucG9pbnRzO1xuXG4gIC8vIEdldCBOQUYgZm9ybVxuICB2YXIgbmFmID0gZ2V0TkFGKGssIHcsIHRoaXMuX2JpdExlbmd0aCk7XG5cbiAgLy8gQWRkIGB0aGlzYCooTisxKSBmb3IgZXZlcnkgdy1OQUYgaW5kZXhcbiAgdmFyIGFjYyA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICBmb3IgKHZhciBpID0gbmFmLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgLy8gQ291bnQgemVyb2VzXG4gICAgZm9yICh2YXIgbCA9IDA7IGkgPj0gMCAmJiBuYWZbaV0gPT09IDA7IGktLSlcbiAgICAgIGwrKztcbiAgICBpZiAoaSA+PSAwKVxuICAgICAgbCsrO1xuICAgIGFjYyA9IGFjYy5kYmxwKGwpO1xuXG4gICAgaWYgKGkgPCAwKVxuICAgICAgYnJlYWs7XG4gICAgdmFyIHogPSBuYWZbaV07XG4gICAgYXNzZXJ0KHogIT09IDApO1xuICAgIGlmIChwLnR5cGUgPT09ICdhZmZpbmUnKSB7XG4gICAgICAvLyBKICstIFBcbiAgICAgIGlmICh6ID4gMClcbiAgICAgICAgYWNjID0gYWNjLm1peGVkQWRkKHduZFsoeiAtIDEpID4+IDFdKTtcbiAgICAgIGVsc2VcbiAgICAgICAgYWNjID0gYWNjLm1peGVkQWRkKHduZFsoLXogLSAxKSA+PiAxXS5uZWcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEogKy0gSlxuICAgICAgaWYgKHogPiAwKVxuICAgICAgICBhY2MgPSBhY2MuYWRkKHduZFsoeiAtIDEpID4+IDFdKTtcbiAgICAgIGVsc2VcbiAgICAgICAgYWNjID0gYWNjLmFkZCh3bmRbKC16IC0gMSkgPj4gMV0ubmVnKCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcC50eXBlID09PSAnYWZmaW5lJyA/IGFjYy50b1AoKSA6IGFjYztcbn07XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUuX3duYWZNdWxBZGQgPSBmdW5jdGlvbiBfd25hZk11bEFkZChkZWZXLFxuICBwb2ludHMsXG4gIGNvZWZmcyxcbiAgbGVuLFxuICBqYWNvYmlhblJlc3VsdCkge1xuICB2YXIgd25kV2lkdGggPSB0aGlzLl93bmFmVDE7XG4gIHZhciB3bmQgPSB0aGlzLl93bmFmVDI7XG4gIHZhciBuYWYgPSB0aGlzLl93bmFmVDM7XG5cbiAgLy8gRmlsbCBhbGwgYXJyYXlzXG4gIHZhciBtYXggPSAwO1xuICB2YXIgaTtcbiAgdmFyIGo7XG4gIHZhciBwO1xuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBwID0gcG9pbnRzW2ldO1xuICAgIHZhciBuYWZQb2ludHMgPSBwLl9nZXROQUZQb2ludHMoZGVmVyk7XG4gICAgd25kV2lkdGhbaV0gPSBuYWZQb2ludHMud25kO1xuICAgIHduZFtpXSA9IG5hZlBvaW50cy5wb2ludHM7XG4gIH1cblxuICAvLyBDb21iIHNtYWxsIHdpbmRvdyBOQUZzXG4gIGZvciAoaSA9IGxlbiAtIDE7IGkgPj0gMTsgaSAtPSAyKSB7XG4gICAgdmFyIGEgPSBpIC0gMTtcbiAgICB2YXIgYiA9IGk7XG4gICAgaWYgKHduZFdpZHRoW2FdICE9PSAxIHx8IHduZFdpZHRoW2JdICE9PSAxKSB7XG4gICAgICBuYWZbYV0gPSBnZXROQUYoY29lZmZzW2FdLCB3bmRXaWR0aFthXSwgdGhpcy5fYml0TGVuZ3RoKTtcbiAgICAgIG5hZltiXSA9IGdldE5BRihjb2VmZnNbYl0sIHduZFdpZHRoW2JdLCB0aGlzLl9iaXRMZW5ndGgpO1xuICAgICAgbWF4ID0gTWF0aC5tYXgobmFmW2FdLmxlbmd0aCwgbWF4KTtcbiAgICAgIG1heCA9IE1hdGgubWF4KG5hZltiXS5sZW5ndGgsIG1heCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgY29tYiA9IFtcbiAgICAgIHBvaW50c1thXSwgLyogMSAqL1xuICAgICAgbnVsbCwgLyogMyAqL1xuICAgICAgbnVsbCwgLyogNSAqL1xuICAgICAgcG9pbnRzW2JdLCAvKiA3ICovXG4gICAgXTtcblxuICAgIC8vIFRyeSB0byBhdm9pZCBQcm9qZWN0aXZlIHBvaW50cywgaWYgcG9zc2libGVcbiAgICBpZiAocG9pbnRzW2FdLnkuY21wKHBvaW50c1tiXS55KSA9PT0gMCkge1xuICAgICAgY29tYlsxXSA9IHBvaW50c1thXS5hZGQocG9pbnRzW2JdKTtcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcbiAgICB9IGVsc2UgaWYgKHBvaW50c1thXS55LmNtcChwb2ludHNbYl0ueS5yZWROZWcoKSkgPT09IDApIHtcbiAgICAgIGNvbWJbMV0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdKTtcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0uYWRkKHBvaW50c1tiXS5uZWcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbWJbMV0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdKTtcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcbiAgICB9XG5cbiAgICB2YXIgaW5kZXggPSBbXG4gICAgICAtMywgLyogLTEgLTEgKi9cbiAgICAgIC0xLCAvKiAtMSAwICovXG4gICAgICAtNSwgLyogLTEgMSAqL1xuICAgICAgLTcsIC8qIDAgLTEgKi9cbiAgICAgIDAsIC8qIDAgMCAqL1xuICAgICAgNywgLyogMCAxICovXG4gICAgICA1LCAvKiAxIC0xICovXG4gICAgICAxLCAvKiAxIDAgKi9cbiAgICAgIDMsICAvKiAxIDEgKi9cbiAgICBdO1xuXG4gICAgdmFyIGpzZiA9IGdldEpTRihjb2VmZnNbYV0sIGNvZWZmc1tiXSk7XG4gICAgbWF4ID0gTWF0aC5tYXgoanNmWzBdLmxlbmd0aCwgbWF4KTtcbiAgICBuYWZbYV0gPSBuZXcgQXJyYXkobWF4KTtcbiAgICBuYWZbYl0gPSBuZXcgQXJyYXkobWF4KTtcbiAgICBmb3IgKGogPSAwOyBqIDwgbWF4OyBqKyspIHtcbiAgICAgIHZhciBqYSA9IGpzZlswXVtqXSB8IDA7XG4gICAgICB2YXIgamIgPSBqc2ZbMV1bal0gfCAwO1xuXG4gICAgICBuYWZbYV1bal0gPSBpbmRleFsoamEgKyAxKSAqIDMgKyAoamIgKyAxKV07XG4gICAgICBuYWZbYl1bal0gPSAwO1xuICAgICAgd25kW2FdID0gY29tYjtcbiAgICB9XG4gIH1cblxuICB2YXIgYWNjID0gdGhpcy5qcG9pbnQobnVsbCwgbnVsbCwgbnVsbCk7XG4gIHZhciB0bXAgPSB0aGlzLl93bmFmVDQ7XG4gIGZvciAoaSA9IG1heDsgaSA+PSAwOyBpLS0pIHtcbiAgICB2YXIgayA9IDA7XG5cbiAgICB3aGlsZSAoaSA+PSAwKSB7XG4gICAgICB2YXIgemVybyA9IHRydWU7XG4gICAgICBmb3IgKGogPSAwOyBqIDwgbGVuOyBqKyspIHtcbiAgICAgICAgdG1wW2pdID0gbmFmW2pdW2ldIHwgMDtcbiAgICAgICAgaWYgKHRtcFtqXSAhPT0gMClcbiAgICAgICAgICB6ZXJvID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoIXplcm8pXG4gICAgICAgIGJyZWFrO1xuICAgICAgaysrO1xuICAgICAgaS0tO1xuICAgIH1cbiAgICBpZiAoaSA+PSAwKVxuICAgICAgaysrO1xuICAgIGFjYyA9IGFjYy5kYmxwKGspO1xuICAgIGlmIChpIDwgMClcbiAgICAgIGJyZWFrO1xuXG4gICAgZm9yIChqID0gMDsgaiA8IGxlbjsgaisrKSB7XG4gICAgICB2YXIgeiA9IHRtcFtqXTtcbiAgICAgIHA7XG4gICAgICBpZiAoeiA9PT0gMClcbiAgICAgICAgY29udGludWU7XG4gICAgICBlbHNlIGlmICh6ID4gMClcbiAgICAgICAgcCA9IHduZFtqXVsoeiAtIDEpID4+IDFdO1xuICAgICAgZWxzZSBpZiAoeiA8IDApXG4gICAgICAgIHAgPSB3bmRbal1bKC16IC0gMSkgPj4gMV0ubmVnKCk7XG5cbiAgICAgIGlmIChwLnR5cGUgPT09ICdhZmZpbmUnKVxuICAgICAgICBhY2MgPSBhY2MubWl4ZWRBZGQocCk7XG4gICAgICBlbHNlXG4gICAgICAgIGFjYyA9IGFjYy5hZGQocCk7XG4gICAgfVxuICB9XG4gIC8vIFplcm9pZnkgcmVmZXJlbmNlc1xuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspXG4gICAgd25kW2ldID0gbnVsbDtcblxuICBpZiAoamFjb2JpYW5SZXN1bHQpXG4gICAgcmV0dXJuIGFjYztcbiAgZWxzZVxuICAgIHJldHVybiBhY2MudG9QKCk7XG59O1xuXG5mdW5jdGlvbiBCYXNlUG9pbnQoY3VydmUsIHR5cGUpIHtcbiAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLnByZWNvbXB1dGVkID0gbnVsbDtcbn1cbkJhc2VDdXJ2ZS5CYXNlUG9pbnQgPSBCYXNlUG9pbnQ7XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSgvKm90aGVyKi8pIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZSgpIHtcbiAgcmV0dXJuIHRoaXMuY3VydmUudmFsaWRhdGUodGhpcyk7XG59O1xuXG5CYXNlQ3VydmUucHJvdG90eXBlLmRlY29kZVBvaW50ID0gZnVuY3Rpb24gZGVjb2RlUG9pbnQoYnl0ZXMsIGVuYykge1xuICBieXRlcyA9IHV0aWxzLnRvQXJyYXkoYnl0ZXMsIGVuYyk7XG5cbiAgdmFyIGxlbiA9IHRoaXMucC5ieXRlTGVuZ3RoKCk7XG5cbiAgLy8gdW5jb21wcmVzc2VkLCBoeWJyaWQtb2RkLCBoeWJyaWQtZXZlblxuICBpZiAoKGJ5dGVzWzBdID09PSAweDA0IHx8IGJ5dGVzWzBdID09PSAweDA2IHx8IGJ5dGVzWzBdID09PSAweDA3KSAmJlxuICAgICAgYnl0ZXMubGVuZ3RoIC0gMSA9PT0gMiAqIGxlbikge1xuICAgIGlmIChieXRlc1swXSA9PT0gMHgwNilcbiAgICAgIGFzc2VydChieXRlc1tieXRlcy5sZW5ndGggLSAxXSAlIDIgPT09IDApO1xuICAgIGVsc2UgaWYgKGJ5dGVzWzBdID09PSAweDA3KVxuICAgICAgYXNzZXJ0KGJ5dGVzW2J5dGVzLmxlbmd0aCAtIDFdICUgMiA9PT0gMSk7XG5cbiAgICB2YXIgcmVzID0gIHRoaXMucG9pbnQoYnl0ZXMuc2xpY2UoMSwgMSArIGxlbiksXG4gICAgICBieXRlcy5zbGljZSgxICsgbGVuLCAxICsgMiAqIGxlbikpO1xuXG4gICAgcmV0dXJuIHJlcztcbiAgfSBlbHNlIGlmICgoYnl0ZXNbMF0gPT09IDB4MDIgfHwgYnl0ZXNbMF0gPT09IDB4MDMpICYmXG4gICAgICAgICAgICAgIGJ5dGVzLmxlbmd0aCAtIDEgPT09IGxlbikge1xuICAgIHJldHVybiB0aGlzLnBvaW50RnJvbVgoYnl0ZXMuc2xpY2UoMSwgMSArIGxlbiksIGJ5dGVzWzBdID09PSAweDAzKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcG9pbnQgZm9ybWF0Jyk7XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLmVuY29kZUNvbXByZXNzZWQgPSBmdW5jdGlvbiBlbmNvZGVDb21wcmVzc2VkKGVuYykge1xuICByZXR1cm4gdGhpcy5lbmNvZGUoZW5jLCB0cnVlKTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuX2VuY29kZSA9IGZ1bmN0aW9uIF9lbmNvZGUoY29tcGFjdCkge1xuICB2YXIgbGVuID0gdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKTtcbiAgdmFyIHggPSB0aGlzLmdldFgoKS50b0FycmF5KCdiZScsIGxlbik7XG5cbiAgaWYgKGNvbXBhY3QpXG4gICAgcmV0dXJuIFsgdGhpcy5nZXRZKCkuaXNFdmVuKCkgPyAweDAyIDogMHgwMyBdLmNvbmNhdCh4KTtcblxuICByZXR1cm4gWyAweDA0IF0uY29uY2F0KHgsIHRoaXMuZ2V0WSgpLnRvQXJyYXkoJ2JlJywgbGVuKSk7XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShlbmMsIGNvbXBhY3QpIHtcbiAgcmV0dXJuIHV0aWxzLmVuY29kZSh0aGlzLl9lbmNvZGUoY29tcGFjdCksIGVuYyk7XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLnByZWNvbXB1dGUgPSBmdW5jdGlvbiBwcmVjb21wdXRlKHBvd2VyKSB7XG4gIGlmICh0aGlzLnByZWNvbXB1dGVkKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIHZhciBwcmVjb21wdXRlZCA9IHtcbiAgICBkb3VibGVzOiBudWxsLFxuICAgIG5hZjogbnVsbCxcbiAgICBiZXRhOiBudWxsLFxuICB9O1xuICBwcmVjb21wdXRlZC5uYWYgPSB0aGlzLl9nZXROQUZQb2ludHMoOCk7XG4gIHByZWNvbXB1dGVkLmRvdWJsZXMgPSB0aGlzLl9nZXREb3VibGVzKDQsIHBvd2VyKTtcbiAgcHJlY29tcHV0ZWQuYmV0YSA9IHRoaXMuX2dldEJldGEoKTtcbiAgdGhpcy5wcmVjb21wdXRlZCA9IHByZWNvbXB1dGVkO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuQmFzZVBvaW50LnByb3RvdHlwZS5faGFzRG91YmxlcyA9IGZ1bmN0aW9uIF9oYXNEb3VibGVzKGspIHtcbiAgaWYgKCF0aGlzLnByZWNvbXB1dGVkKVxuICAgIHJldHVybiBmYWxzZTtcblxuICB2YXIgZG91YmxlcyA9IHRoaXMucHJlY29tcHV0ZWQuZG91YmxlcztcbiAgaWYgKCFkb3VibGVzKVxuICAgIHJldHVybiBmYWxzZTtcblxuICByZXR1cm4gZG91Ymxlcy5wb2ludHMubGVuZ3RoID49IE1hdGguY2VpbCgoay5iaXRMZW5ndGgoKSArIDEpIC8gZG91Ymxlcy5zdGVwKTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldERvdWJsZXMgPSBmdW5jdGlvbiBfZ2V0RG91YmxlcyhzdGVwLCBwb3dlcikge1xuICBpZiAodGhpcy5wcmVjb21wdXRlZCAmJiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMpXG4gICAgcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQuZG91YmxlcztcblxuICB2YXIgZG91YmxlcyA9IFsgdGhpcyBdO1xuICB2YXIgYWNjID0gdGhpcztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb3dlcjsgaSArPSBzdGVwKSB7XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdGVwOyBqKyspXG4gICAgICBhY2MgPSBhY2MuZGJsKCk7XG4gICAgZG91Ymxlcy5wdXNoKGFjYyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBzdGVwOiBzdGVwLFxuICAgIHBvaW50czogZG91YmxlcyxcbiAgfTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldE5BRlBvaW50cyA9IGZ1bmN0aW9uIF9nZXROQUZQb2ludHMod25kKSB7XG4gIGlmICh0aGlzLnByZWNvbXB1dGVkICYmIHRoaXMucHJlY29tcHV0ZWQubmFmKVxuICAgIHJldHVybiB0aGlzLnByZWNvbXB1dGVkLm5hZjtcblxuICB2YXIgcmVzID0gWyB0aGlzIF07XG4gIHZhciBtYXggPSAoMSA8PCB3bmQpIC0gMTtcbiAgdmFyIGRibCA9IG1heCA9PT0gMSA/IG51bGwgOiB0aGlzLmRibCgpO1xuICBmb3IgKHZhciBpID0gMTsgaSA8IG1heDsgaSsrKVxuICAgIHJlc1tpXSA9IHJlc1tpIC0gMV0uYWRkKGRibCk7XG4gIHJldHVybiB7XG4gICAgd25kOiB3bmQsXG4gICAgcG9pbnRzOiByZXMsXG4gIH07XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhID0gZnVuY3Rpb24gX2dldEJldGEoKSB7XG4gIHJldHVybiBudWxsO1xufTtcblxuQmFzZVBvaW50LnByb3RvdHlwZS5kYmxwID0gZnVuY3Rpb24gZGJscChrKSB7XG4gIHZhciByID0gdGhpcztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrOyBpKyspXG4gICAgciA9IHIuZGJsKCk7XG4gIHJldHVybiByO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xudmFyIEJhc2UgPSByZXF1aXJlKCcuL2Jhc2UnKTtcblxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gRWR3YXJkc0N1cnZlKGNvbmYpIHtcbiAgLy8gTk9URTogSW1wb3J0YW50IGFzIHdlIGFyZSBjcmVhdGluZyBwb2ludCBpbiBCYXNlLmNhbGwoKVxuICB0aGlzLnR3aXN0ZWQgPSAoY29uZi5hIHwgMCkgIT09IDE7XG4gIHRoaXMubU9uZUEgPSB0aGlzLnR3aXN0ZWQgJiYgKGNvbmYuYSB8IDApID09PSAtMTtcbiAgdGhpcy5leHRlbmRlZCA9IHRoaXMubU9uZUE7XG5cbiAgQmFzZS5jYWxsKHRoaXMsICdlZHdhcmRzJywgY29uZik7XG5cbiAgdGhpcy5hID0gbmV3IEJOKGNvbmYuYSwgMTYpLnVtb2QodGhpcy5yZWQubSk7XG4gIHRoaXMuYSA9IHRoaXMuYS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYyA9IG5ldyBCTihjb25mLmMsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYzIgPSB0aGlzLmMucmVkU3FyKCk7XG4gIHRoaXMuZCA9IG5ldyBCTihjb25mLmQsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuZGQgPSB0aGlzLmQucmVkQWRkKHRoaXMuZCk7XG5cbiAgYXNzZXJ0KCF0aGlzLnR3aXN0ZWQgfHwgdGhpcy5jLmZyb21SZWQoKS5jbXBuKDEpID09PSAwKTtcbiAgdGhpcy5vbmVDID0gKGNvbmYuYyB8IDApID09PSAxO1xufVxuaW5oZXJpdHMoRWR3YXJkc0N1cnZlLCBCYXNlKTtcbm1vZHVsZS5leHBvcnRzID0gRWR3YXJkc0N1cnZlO1xuXG5FZHdhcmRzQ3VydmUucHJvdG90eXBlLl9tdWxBID0gZnVuY3Rpb24gX211bEEobnVtKSB7XG4gIGlmICh0aGlzLm1PbmVBKVxuICAgIHJldHVybiBudW0ucmVkTmVnKCk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5hLnJlZE11bChudW0pO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5fbXVsQyA9IGZ1bmN0aW9uIF9tdWxDKG51bSkge1xuICBpZiAodGhpcy5vbmVDKVxuICAgIHJldHVybiBudW07XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5jLnJlZE11bChudW0pO1xufTtcblxuLy8gSnVzdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFNob3J0IGN1cnZlXG5FZHdhcmRzQ3VydmUucHJvdG90eXBlLmpwb2ludCA9IGZ1bmN0aW9uIGpwb2ludCh4LCB5LCB6LCB0KSB7XG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHksIHosIHQpO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YID0gZnVuY3Rpb24gcG9pbnRGcm9tWCh4LCBvZGQpIHtcbiAgeCA9IG5ldyBCTih4LCAxNik7XG4gIGlmICgheC5yZWQpXG4gICAgeCA9IHgudG9SZWQodGhpcy5yZWQpO1xuXG4gIHZhciB4MiA9IHgucmVkU3FyKCk7XG4gIHZhciByaHMgPSB0aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKHgyKSk7XG4gIHZhciBsaHMgPSB0aGlzLm9uZS5yZWRTdWIodGhpcy5jMi5yZWRNdWwodGhpcy5kKS5yZWRNdWwoeDIpKTtcblxuICB2YXIgeTIgPSByaHMucmVkTXVsKGxocy5yZWRJbnZtKCkpO1xuICB2YXIgeSA9IHkyLnJlZFNxcnQoKTtcbiAgaWYgKHkucmVkU3FyKCkucmVkU3ViKHkyKS5jbXAodGhpcy56ZXJvKSAhPT0gMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcblxuICB2YXIgaXNPZGQgPSB5LmZyb21SZWQoKS5pc09kZCgpO1xuICBpZiAob2RkICYmICFpc09kZCB8fCAhb2RkICYmIGlzT2RkKVxuICAgIHkgPSB5LnJlZE5lZygpO1xuXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21ZID0gZnVuY3Rpb24gcG9pbnRGcm9tWSh5LCBvZGQpIHtcbiAgeSA9IG5ldyBCTih5LCAxNik7XG4gIGlmICgheS5yZWQpXG4gICAgeSA9IHkudG9SZWQodGhpcy5yZWQpO1xuXG4gIC8vIHheMiA9ICh5XjIgLSBjXjIpIC8gKGNeMiBkIHleMiAtIGEpXG4gIHZhciB5MiA9IHkucmVkU3FyKCk7XG4gIHZhciBsaHMgPSB5Mi5yZWRTdWIodGhpcy5jMik7XG4gIHZhciByaHMgPSB5Mi5yZWRNdWwodGhpcy5kKS5yZWRNdWwodGhpcy5jMikucmVkU3ViKHRoaXMuYSk7XG4gIHZhciB4MiA9IGxocy5yZWRNdWwocmhzLnJlZEludm0oKSk7XG5cbiAgaWYgKHgyLmNtcCh0aGlzLnplcm8pID09PSAwKSB7XG4gICAgaWYgKG9kZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLnBvaW50KHRoaXMuemVybywgeSk7XG4gIH1cblxuICB2YXIgeCA9IHgyLnJlZFNxcnQoKTtcbiAgaWYgKHgucmVkU3FyKCkucmVkU3ViKHgyKS5jbXAodGhpcy56ZXJvKSAhPT0gMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcblxuICBpZiAoeC5mcm9tUmVkKCkuaXNPZGQoKSAhPT0gb2RkKVxuICAgIHggPSB4LnJlZE5lZygpO1xuXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKHBvaW50KSB7XG4gIGlmIChwb2ludC5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgLy8gQ3VydmU6IEEgKiBYXjIgKyBZXjIgPSBDXjIgKiAoMSArIEQgKiBYXjIgKiBZXjIpXG4gIHBvaW50Lm5vcm1hbGl6ZSgpO1xuXG4gIHZhciB4MiA9IHBvaW50LngucmVkU3FyKCk7XG4gIHZhciB5MiA9IHBvaW50LnkucmVkU3FyKCk7XG4gIHZhciBsaHMgPSB4Mi5yZWRNdWwodGhpcy5hKS5yZWRBZGQoeTIpO1xuICB2YXIgcmhzID0gdGhpcy5jMi5yZWRNdWwodGhpcy5vbmUucmVkQWRkKHRoaXMuZC5yZWRNdWwoeDIpLnJlZE11bCh5MikpKTtcblxuICByZXR1cm4gbGhzLmNtcChyaHMpID09PSAwO1xufTtcblxuZnVuY3Rpb24gUG9pbnQoY3VydmUsIHgsIHksIHosIHQpIHtcbiAgQmFzZS5CYXNlUG9pbnQuY2FsbCh0aGlzLCBjdXJ2ZSwgJ3Byb2plY3RpdmUnKTtcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS56ZXJvO1xuICAgIHRoaXMueSA9IHRoaXMuY3VydmUub25lO1xuICAgIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xuICAgIHRoaXMudCA9IHRoaXMuY3VydmUuemVybztcbiAgICB0aGlzLnpPbmUgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcbiAgICB0aGlzLnogPSB6ID8gbmV3IEJOKHosIDE2KSA6IHRoaXMuY3VydmUub25lO1xuICAgIHRoaXMudCA9IHQgJiYgbmV3IEJOKHQsIDE2KTtcbiAgICBpZiAoIXRoaXMueC5yZWQpXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgIGlmICghdGhpcy55LnJlZClcbiAgICAgIHRoaXMueSA9IHRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XG4gICAgaWYgKCF0aGlzLnoucmVkKVxuICAgICAgdGhpcy56ID0gdGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICBpZiAodGhpcy50ICYmICF0aGlzLnQucmVkKVxuICAgICAgdGhpcy50ID0gdGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICB0aGlzLnpPbmUgPSB0aGlzLnogPT09IHRoaXMuY3VydmUub25lO1xuXG4gICAgLy8gVXNlIGV4dGVuZGVkIGNvb3JkaW5hdGVzXG4gICAgaWYgKHRoaXMuY3VydmUuZXh0ZW5kZWQgJiYgIXRoaXMudCkge1xuICAgICAgdGhpcy50ID0gdGhpcy54LnJlZE11bCh0aGlzLnkpO1xuICAgICAgaWYgKCF0aGlzLnpPbmUpXG4gICAgICAgIHRoaXMudCA9IHRoaXMudC5yZWRNdWwodGhpcy56LnJlZEludm0oKSk7XG4gICAgfVxuICB9XG59XG5pbmhlcml0cyhQb2ludCwgQmFzZS5CYXNlUG9pbnQpO1xuXG5FZHdhcmRzQ3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT04gPSBmdW5jdGlvbiBwb2ludEZyb21KU09OKG9iaikge1xuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqKTtcbn07XG5cbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUucG9pbnQgPSBmdW5jdGlvbiBwb2ludCh4LCB5LCB6LCB0KSB7XG4gIHJldHVybiBuZXcgUG9pbnQodGhpcywgeCwgeSwgeiwgdCk7XG59O1xuXG5Qb2ludC5mcm9tSlNPTiA9IGZ1bmN0aW9uIGZyb21KU09OKGN1cnZlLCBvYmopIHtcbiAgcmV0dXJuIG5ldyBQb2ludChjdXJ2ZSwgb2JqWzBdLCBvYmpbMV0sIG9ialsyXSk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QoKSB7XG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gJzxFQyBQb2ludCBJbmZpbml0eT4nO1xuICByZXR1cm4gJzxFQyBQb2ludCB4OiAnICsgdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgK1xuICAgICAgJyB5OiAnICsgdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgK1xuICAgICAgJyB6OiAnICsgdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgKyAnPic7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XG4gIC8vIFhYWCBUaGlzIGNvZGUgYXNzdW1lcyB0aGF0IHplcm8gaXMgYWx3YXlzIHplcm8gaW4gcmVkXG4gIHJldHVybiB0aGlzLnguY21wbigwKSA9PT0gMCAmJlxuICAgICh0aGlzLnkuY21wKHRoaXMueikgPT09IDAgfHxcbiAgICAodGhpcy56T25lICYmIHRoaXMueS5jbXAodGhpcy5jdXJ2ZS5jKSA9PT0gMCkpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLl9leHREYmwgPSBmdW5jdGlvbiBfZXh0RGJsKCkge1xuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1leHRlbmRlZC0xLmh0bWxcbiAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOC1od2NkXG4gIC8vIDRNICsgNFNcblxuICAvLyBBID0gWDFeMlxuICB2YXIgYSA9IHRoaXMueC5yZWRTcXIoKTtcbiAgLy8gQiA9IFkxXjJcbiAgdmFyIGIgPSB0aGlzLnkucmVkU3FyKCk7XG4gIC8vIEMgPSAyICogWjFeMlxuICB2YXIgYyA9IHRoaXMuei5yZWRTcXIoKTtcbiAgYyA9IGMucmVkSUFkZChjKTtcbiAgLy8gRCA9IGEgKiBBXG4gIHZhciBkID0gdGhpcy5jdXJ2ZS5fbXVsQShhKTtcbiAgLy8gRSA9IChYMSArIFkxKV4yIC0gQSAtIEJcbiAgdmFyIGUgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGIpO1xuICAvLyBHID0gRCArIEJcbiAgdmFyIGcgPSBkLnJlZEFkZChiKTtcbiAgLy8gRiA9IEcgLSBDXG4gIHZhciBmID0gZy5yZWRTdWIoYyk7XG4gIC8vIEggPSBEIC0gQlxuICB2YXIgaCA9IGQucmVkU3ViKGIpO1xuICAvLyBYMyA9IEUgKiBGXG4gIHZhciBueCA9IGUucmVkTXVsKGYpO1xuICAvLyBZMyA9IEcgKiBIXG4gIHZhciBueSA9IGcucmVkTXVsKGgpO1xuICAvLyBUMyA9IEUgKiBIXG4gIHZhciBudCA9IGUucmVkTXVsKGgpO1xuICAvLyBaMyA9IEYgKiBHXG4gIHZhciBueiA9IGYucmVkTXVsKGcpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56LCBudCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuX3Byb2pEYmwgPSBmdW5jdGlvbiBfcHJvakRibCgpIHtcbiAgLy8gaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXR3aXN0ZWQtcHJvamVjdGl2ZS5odG1sXG4gIC8vICAgICAjZG91YmxpbmctZGJsLTIwMDgtYmJqbHBcbiAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwNy1ibFxuICAvLyBhbmQgb3RoZXJzXG4gIC8vIEdlbmVyYWxseSAzTSArIDRTIG9yIDJNICsgNFNcblxuICAvLyBCID0gKFgxICsgWTEpXjJcbiAgdmFyIGIgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCk7XG4gIC8vIEMgPSBYMV4yXG4gIHZhciBjID0gdGhpcy54LnJlZFNxcigpO1xuICAvLyBEID0gWTFeMlxuICB2YXIgZCA9IHRoaXMueS5yZWRTcXIoKTtcblxuICB2YXIgbng7XG4gIHZhciBueTtcbiAgdmFyIG56O1xuICB2YXIgZTtcbiAgdmFyIGg7XG4gIHZhciBqO1xuICBpZiAodGhpcy5jdXJ2ZS50d2lzdGVkKSB7XG4gICAgLy8gRSA9IGEgKiBDXG4gICAgZSA9IHRoaXMuY3VydmUuX211bEEoYyk7XG4gICAgLy8gRiA9IEUgKyBEXG4gICAgdmFyIGYgPSBlLnJlZEFkZChkKTtcbiAgICBpZiAodGhpcy56T25lKSB7XG4gICAgICAvLyBYMyA9IChCIC0gQyAtIEQpICogKEYgLSAyKVxuICAgICAgbnggPSBiLnJlZFN1YihjKS5yZWRTdWIoZCkucmVkTXVsKGYucmVkU3ViKHRoaXMuY3VydmUudHdvKSk7XG4gICAgICAvLyBZMyA9IEYgKiAoRSAtIEQpXG4gICAgICBueSA9IGYucmVkTXVsKGUucmVkU3ViKGQpKTtcbiAgICAgIC8vIFozID0gRl4yIC0gMiAqIEZcbiAgICAgIG56ID0gZi5yZWRTcXIoKS5yZWRTdWIoZikucmVkU3ViKGYpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBIID0gWjFeMlxuICAgICAgaCA9IHRoaXMuei5yZWRTcXIoKTtcbiAgICAgIC8vIEogPSBGIC0gMiAqIEhcbiAgICAgIGogPSBmLnJlZFN1YihoKS5yZWRJU3ViKGgpO1xuICAgICAgLy8gWDMgPSAoQi1DLUQpKkpcbiAgICAgIG54ID0gYi5yZWRTdWIoYykucmVkSVN1YihkKS5yZWRNdWwoaik7XG4gICAgICAvLyBZMyA9IEYgKiAoRSAtIEQpXG4gICAgICBueSA9IGYucmVkTXVsKGUucmVkU3ViKGQpKTtcbiAgICAgIC8vIFozID0gRiAqIEpcbiAgICAgIG56ID0gZi5yZWRNdWwoaik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIEUgPSBDICsgRFxuICAgIGUgPSBjLnJlZEFkZChkKTtcbiAgICAvLyBIID0gKGMgKiBaMSleMlxuICAgIGggPSB0aGlzLmN1cnZlLl9tdWxDKHRoaXMueikucmVkU3FyKCk7XG4gICAgLy8gSiA9IEUgLSAyICogSFxuICAgIGogPSBlLnJlZFN1YihoKS5yZWRTdWIoaCk7XG4gICAgLy8gWDMgPSBjICogKEIgLSBFKSAqIEpcbiAgICBueCA9IHRoaXMuY3VydmUuX211bEMoYi5yZWRJU3ViKGUpKS5yZWRNdWwoaik7XG4gICAgLy8gWTMgPSBjICogRSAqIChDIC0gRClcbiAgICBueSA9IHRoaXMuY3VydmUuX211bEMoZSkucmVkTXVsKGMucmVkSVN1YihkKSk7XG4gICAgLy8gWjMgPSBFICogSlxuICAgIG56ID0gZS5yZWRNdWwoaik7XG4gIH1cbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG55LCBueik7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuZGJsID0gZnVuY3Rpb24gZGJsKCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgLy8gRG91YmxlIGluIGV4dGVuZGVkIGNvb3JkaW5hdGVzXG4gIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkKVxuICAgIHJldHVybiB0aGlzLl9leHREYmwoKTtcbiAgZWxzZVxuICAgIHJldHVybiB0aGlzLl9wcm9qRGJsKCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuX2V4dEFkZCA9IGZ1bmN0aW9uIF9leHRBZGQocCkge1xuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1leHRlbmRlZC0xLmh0bWxcbiAgLy8gICAgICNhZGRpdGlvbi1hZGQtMjAwOC1od2NkLTNcbiAgLy8gOE1cblxuICAvLyBBID0gKFkxIC0gWDEpICogKFkyIC0gWDIpXG4gIHZhciBhID0gdGhpcy55LnJlZFN1Yih0aGlzLngpLnJlZE11bChwLnkucmVkU3ViKHAueCkpO1xuICAvLyBCID0gKFkxICsgWDEpICogKFkyICsgWDIpXG4gIHZhciBiID0gdGhpcy55LnJlZEFkZCh0aGlzLngpLnJlZE11bChwLnkucmVkQWRkKHAueCkpO1xuICAvLyBDID0gVDEgKiBrICogVDJcbiAgdmFyIGMgPSB0aGlzLnQucmVkTXVsKHRoaXMuY3VydmUuZGQpLnJlZE11bChwLnQpO1xuICAvLyBEID0gWjEgKiAyICogWjJcbiAgdmFyIGQgPSB0aGlzLnoucmVkTXVsKHAuei5yZWRBZGQocC56KSk7XG4gIC8vIEUgPSBCIC0gQVxuICB2YXIgZSA9IGIucmVkU3ViKGEpO1xuICAvLyBGID0gRCAtIENcbiAgdmFyIGYgPSBkLnJlZFN1YihjKTtcbiAgLy8gRyA9IEQgKyBDXG4gIHZhciBnID0gZC5yZWRBZGQoYyk7XG4gIC8vIEggPSBCICsgQVxuICB2YXIgaCA9IGIucmVkQWRkKGEpO1xuICAvLyBYMyA9IEUgKiBGXG4gIHZhciBueCA9IGUucmVkTXVsKGYpO1xuICAvLyBZMyA9IEcgKiBIXG4gIHZhciBueSA9IGcucmVkTXVsKGgpO1xuICAvLyBUMyA9IEUgKiBIXG4gIHZhciBudCA9IGUucmVkTXVsKGgpO1xuICAvLyBaMyA9IEYgKiBHXG4gIHZhciBueiA9IGYucmVkTXVsKGcpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56LCBudCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuX3Byb2pBZGQgPSBmdW5jdGlvbiBfcHJvakFkZChwKSB7XG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by10d2lzdGVkLXByb2plY3RpdmUuaHRtbFxuICAvLyAgICAgI2FkZGl0aW9uLWFkZC0yMDA4LWJiamxwXG4gIC8vICAgICAjYWRkaXRpb24tYWRkLTIwMDctYmxcbiAgLy8gMTBNICsgMVNcblxuICAvLyBBID0gWjEgKiBaMlxuICB2YXIgYSA9IHRoaXMuei5yZWRNdWwocC56KTtcbiAgLy8gQiA9IEFeMlxuICB2YXIgYiA9IGEucmVkU3FyKCk7XG4gIC8vIEMgPSBYMSAqIFgyXG4gIHZhciBjID0gdGhpcy54LnJlZE11bChwLngpO1xuICAvLyBEID0gWTEgKiBZMlxuICB2YXIgZCA9IHRoaXMueS5yZWRNdWwocC55KTtcbiAgLy8gRSA9IGQgKiBDICogRFxuICB2YXIgZSA9IHRoaXMuY3VydmUuZC5yZWRNdWwoYykucmVkTXVsKGQpO1xuICAvLyBGID0gQiAtIEVcbiAgdmFyIGYgPSBiLnJlZFN1YihlKTtcbiAgLy8gRyA9IEIgKyBFXG4gIHZhciBnID0gYi5yZWRBZGQoZSk7XG4gIC8vIFgzID0gQSAqIEYgKiAoKFgxICsgWTEpICogKFgyICsgWTIpIC0gQyAtIEQpXG4gIHZhciB0bXAgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkTXVsKHAueC5yZWRBZGQocC55KSkucmVkSVN1YihjKS5yZWRJU3ViKGQpO1xuICB2YXIgbnggPSBhLnJlZE11bChmKS5yZWRNdWwodG1wKTtcbiAgdmFyIG55O1xuICB2YXIgbno7XG4gIGlmICh0aGlzLmN1cnZlLnR3aXN0ZWQpIHtcbiAgICAvLyBZMyA9IEEgKiBHICogKEQgLSBhICogQylcbiAgICBueSA9IGEucmVkTXVsKGcpLnJlZE11bChkLnJlZFN1Yih0aGlzLmN1cnZlLl9tdWxBKGMpKSk7XG4gICAgLy8gWjMgPSBGICogR1xuICAgIG56ID0gZi5yZWRNdWwoZyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gWTMgPSBBICogRyAqIChEIC0gQylcbiAgICBueSA9IGEucmVkTXVsKGcpLnJlZE11bChkLnJlZFN1YihjKSk7XG4gICAgLy8gWjMgPSBjICogRiAqIEdcbiAgICBueiA9IHRoaXMuY3VydmUuX211bEMoZikucmVkTXVsKGcpO1xuICB9XG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG54LCBueSwgbnopO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZChwKSB7XG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gcDtcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkKVxuICAgIHJldHVybiB0aGlzLl9leHRBZGQocCk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5fcHJvakFkZChwKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xuICBpZiAodGhpcy5faGFzRG91YmxlcyhrKSlcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcywgayk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLCBrKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5tdWxBZGQgPSBmdW5jdGlvbiBtdWxBZGQoazEsIHAsIGsyKSB7XG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIFsgdGhpcywgcCBdLCBbIGsxLCBrMiBdLCAyLCBmYWxzZSk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuam11bEFkZCA9IGZ1bmN0aW9uIGptdWxBZGQoazEsIHAsIGsyKSB7XG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIFsgdGhpcywgcCBdLCBbIGsxLCBrMiBdLCAyLCB0cnVlKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiBub3JtYWxpemUoKSB7XG4gIGlmICh0aGlzLnpPbmUpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgLy8gTm9ybWFsaXplIGNvb3JkaW5hdGVzXG4gIHZhciB6aSA9IHRoaXMuei5yZWRJbnZtKCk7XG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwoemkpO1xuICB0aGlzLnkgPSB0aGlzLnkucmVkTXVsKHppKTtcbiAgaWYgKHRoaXMudClcbiAgICB0aGlzLnQgPSB0aGlzLnQucmVkTXVsKHppKTtcbiAgdGhpcy56ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gIHRoaXMuek9uZSA9IHRydWU7XG4gIHJldHVybiB0aGlzO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE5lZygpLFxuICAgIHRoaXMueSxcbiAgICB0aGlzLnosXG4gICAgdGhpcy50ICYmIHRoaXMudC5yZWROZWcoKSk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuZ2V0WCA9IGZ1bmN0aW9uIGdldFgoKSB7XG4gIHRoaXMubm9ybWFsaXplKCk7XG4gIHJldHVybiB0aGlzLnguZnJvbVJlZCgpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmdldFkgPSBmdW5jdGlvbiBnZXRZKCkge1xuICB0aGlzLm5vcm1hbGl6ZSgpO1xuICByZXR1cm4gdGhpcy55LmZyb21SZWQoKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxKG90aGVyKSB7XG4gIHJldHVybiB0aGlzID09PSBvdGhlciB8fFxuICAgICAgICAgdGhpcy5nZXRYKCkuY21wKG90aGVyLmdldFgoKSkgPT09IDAgJiZcbiAgICAgICAgIHRoaXMuZ2V0WSgpLmNtcChvdGhlci5nZXRZKCkpID09PSAwO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmVxWFRvUCA9IGZ1bmN0aW9uIGVxWFRvUCh4KSB7XG4gIHZhciByeCA9IHgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO1xuICBpZiAodGhpcy54LmNtcChyeCkgPT09IDApXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgdmFyIHhjID0geC5jbG9uZSgpO1xuICB2YXIgdCA9IHRoaXMuY3VydmUucmVkTi5yZWRNdWwodGhpcy56KTtcbiAgZm9yICg7Oykge1xuICAgIHhjLmlhZGQodGhpcy5jdXJ2ZS5uKTtcbiAgICBpZiAoeGMuY21wKHRoaXMuY3VydmUucCkgPj0gMClcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIHJ4LnJlZElBZGQodCk7XG4gICAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxuICAgICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG5cbi8vIENvbXBhdGliaWxpdHkgd2l0aCBCYXNlQ3VydmVcblBvaW50LnByb3RvdHlwZS50b1AgPSBQb2ludC5wcm90b3R5cGUubm9ybWFsaXplO1xuUG9pbnQucHJvdG90eXBlLm1peGVkQWRkID0gUG9pbnQucHJvdG90eXBlLmFkZDtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGN1cnZlID0gZXhwb3J0cztcblxuY3VydmUuYmFzZSA9IHJlcXVpcmUoJy4vYmFzZScpO1xuY3VydmUuc2hvcnQgPSByZXF1aXJlKCcuL3Nob3J0Jyk7XG5jdXJ2ZS5tb250ID0gcmVxdWlyZSgnLi9tb250Jyk7XG5jdXJ2ZS5lZHdhcmRzID0gcmVxdWlyZSgnLi9lZHdhcmRzJyk7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xudmFyIEJhc2UgPSByZXF1aXJlKCcuL2Jhc2UnKTtcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcblxuZnVuY3Rpb24gTW9udEN1cnZlKGNvbmYpIHtcbiAgQmFzZS5jYWxsKHRoaXMsICdtb250JywgY29uZik7XG5cbiAgdGhpcy5hID0gbmV3IEJOKGNvbmYuYSwgMTYpLnRvUmVkKHRoaXMucmVkKTtcbiAgdGhpcy5iID0gbmV3IEJOKGNvbmYuYiwgMTYpLnRvUmVkKHRoaXMucmVkKTtcbiAgdGhpcy5pNCA9IG5ldyBCTig0KS50b1JlZCh0aGlzLnJlZCkucmVkSW52bSgpO1xuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYTI0ID0gdGhpcy5pNC5yZWRNdWwodGhpcy5hLnJlZEFkZCh0aGlzLnR3bykpO1xufVxuaW5oZXJpdHMoTW9udEN1cnZlLCBCYXNlKTtcbm1vZHVsZS5leHBvcnRzID0gTW9udEN1cnZlO1xuXG5Nb250Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUocG9pbnQpIHtcbiAgdmFyIHggPSBwb2ludC5ub3JtYWxpemUoKS54O1xuICB2YXIgeDIgPSB4LnJlZFNxcigpO1xuICB2YXIgcmhzID0geDIucmVkTXVsKHgpLnJlZEFkZCh4Mi5yZWRNdWwodGhpcy5hKSkucmVkQWRkKHgpO1xuICB2YXIgeSA9IHJocy5yZWRTcXJ0KCk7XG5cbiAgcmV0dXJuIHkucmVkU3FyKCkuY21wKHJocykgPT09IDA7XG59O1xuXG5mdW5jdGlvbiBQb2ludChjdXJ2ZSwgeCwgeikge1xuICBCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsIGN1cnZlLCAncHJvamVjdGl2ZScpO1xuICBpZiAoeCA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gICAgdGhpcy56ID0gdGhpcy5jdXJ2ZS56ZXJvO1xuICB9IGVsc2Uge1xuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XG4gICAgdGhpcy56ID0gbmV3IEJOKHosIDE2KTtcbiAgICBpZiAoIXRoaXMueC5yZWQpXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgIGlmICghdGhpcy56LnJlZClcbiAgICAgIHRoaXMueiA9IHRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XG4gIH1cbn1cbmluaGVyaXRzKFBvaW50LCBCYXNlLkJhc2VQb2ludCk7XG5cbk1vbnRDdXJ2ZS5wcm90b3R5cGUuZGVjb2RlUG9pbnQgPSBmdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcywgZW5jKSB7XG4gIHJldHVybiB0aGlzLnBvaW50KHV0aWxzLnRvQXJyYXkoYnl0ZXMsIGVuYyksIDEpO1xufTtcblxuTW9udEN1cnZlLnByb3RvdHlwZS5wb2ludCA9IGZ1bmN0aW9uIHBvaW50KHgsIHopIHtcbiAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLCB4LCB6KTtcbn07XG5cbk1vbnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTiA9IGZ1bmN0aW9uIHBvaW50RnJvbUpTT04ob2JqKSB7XG4gIHJldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLCBvYmopO1xufTtcblxuUG9pbnQucHJvdG90eXBlLnByZWNvbXB1dGUgPSBmdW5jdGlvbiBwcmVjb21wdXRlKCkge1xuICAvLyBOby1vcFxufTtcblxuUG9pbnQucHJvdG90eXBlLl9lbmNvZGUgPSBmdW5jdGlvbiBfZW5jb2RlKCkge1xuICByZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgnYmUnLCB0aGlzLmN1cnZlLnAuYnl0ZUxlbmd0aCgpKTtcbn07XG5cblBvaW50LmZyb21KU09OID0gZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsIG9iaikge1xuICByZXR1cm4gbmV3IFBvaW50KGN1cnZlLCBvYmpbMF0sIG9ialsxXSB8fCBjdXJ2ZS5vbmUpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuICc8RUMgUG9pbnQgSW5maW5pdHk+JztcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcbiAgICAgICcgejogJyArIHRoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICsgJz4nO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHkgPSBmdW5jdGlvbiBpc0luZmluaXR5KCkge1xuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxuICByZXR1cm4gdGhpcy56LmNtcG4oMCkgPT09IDA7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuZGJsID0gZnVuY3Rpb24gZGJsKCkge1xuICAvLyBodHRwOi8vaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLW1vbnRnb20teHouaHRtbCNkb3VibGluZy1kYmwtMTk4Ny1tLTNcbiAgLy8gMk0gKyAyUyArIDRBXG5cbiAgLy8gQSA9IFgxICsgWjFcbiAgdmFyIGEgPSB0aGlzLngucmVkQWRkKHRoaXMueik7XG4gIC8vIEFBID0gQV4yXG4gIHZhciBhYSA9IGEucmVkU3FyKCk7XG4gIC8vIEIgPSBYMSAtIFoxXG4gIHZhciBiID0gdGhpcy54LnJlZFN1Yih0aGlzLnopO1xuICAvLyBCQiA9IEJeMlxuICB2YXIgYmIgPSBiLnJlZFNxcigpO1xuICAvLyBDID0gQUEgLSBCQlxuICB2YXIgYyA9IGFhLnJlZFN1YihiYik7XG4gIC8vIFgzID0gQUEgKiBCQlxuICB2YXIgbnggPSBhYS5yZWRNdWwoYmIpO1xuICAvLyBaMyA9IEMgKiAoQkIgKyBBMjQgKiBDKVxuICB2YXIgbnogPSBjLnJlZE11bChiYi5yZWRBZGQodGhpcy5jdXJ2ZS5hMjQucmVkTXVsKGMpKSk7XG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG54LCBueik7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZScpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmRpZmZBZGQgPSBmdW5jdGlvbiBkaWZmQWRkKHAsIGRpZmYpIHtcbiAgLy8gaHR0cDovL2h5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1tb250Z29tLXh6Lmh0bWwjZGlmZmFkZC1kYWRkLTE5ODctbS0zXG4gIC8vIDRNICsgMlMgKyA2QVxuXG4gIC8vIEEgPSBYMiArIFoyXG4gIHZhciBhID0gdGhpcy54LnJlZEFkZCh0aGlzLnopO1xuICAvLyBCID0gWDIgLSBaMlxuICB2YXIgYiA9IHRoaXMueC5yZWRTdWIodGhpcy56KTtcbiAgLy8gQyA9IFgzICsgWjNcbiAgdmFyIGMgPSBwLngucmVkQWRkKHAueik7XG4gIC8vIEQgPSBYMyAtIFozXG4gIHZhciBkID0gcC54LnJlZFN1YihwLnopO1xuICAvLyBEQSA9IEQgKiBBXG4gIHZhciBkYSA9IGQucmVkTXVsKGEpO1xuICAvLyBDQiA9IEMgKiBCXG4gIHZhciBjYiA9IGMucmVkTXVsKGIpO1xuICAvLyBYNSA9IFoxICogKERBICsgQ0IpXjJcbiAgdmFyIG54ID0gZGlmZi56LnJlZE11bChkYS5yZWRBZGQoY2IpLnJlZFNxcigpKTtcbiAgLy8gWjUgPSBYMSAqIChEQSAtIENCKV4yXG4gIHZhciBueiA9IGRpZmYueC5yZWRNdWwoZGEucmVkSVN1YihjYikucmVkU3FyKCkpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnopO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bChrKSB7XG4gIHZhciB0ID0gay5jbG9uZSgpO1xuICB2YXIgYSA9IHRoaXM7IC8vIChOIC8gMikgKiBRICsgUVxuICB2YXIgYiA9IHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7IC8vIChOIC8gMikgKiBRXG4gIHZhciBjID0gdGhpczsgLy8gUVxuXG4gIGZvciAodmFyIGJpdHMgPSBbXTsgdC5jbXBuKDApICE9PSAwOyB0Lml1c2hybigxKSlcbiAgICBiaXRzLnB1c2godC5hbmRsbigxKSk7XG5cbiAgZm9yICh2YXIgaSA9IGJpdHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBpZiAoYml0c1tpXSA9PT0gMCkge1xuICAgICAgLy8gTiAqIFEgKyBRID0gKChOIC8gMikgKiBRICsgUSkpICsgKE4gLyAyKSAqIFFcbiAgICAgIGEgPSBhLmRpZmZBZGQoYiwgYyk7XG4gICAgICAvLyBOICogUSA9IDIgKiAoKE4gLyAyKSAqIFEgKyBRKSlcbiAgICAgIGIgPSBiLmRibCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOICogUSA9ICgoTiAvIDIpICogUSArIFEpICsgKChOIC8gMikgKiBRKVxuICAgICAgYiA9IGEuZGlmZkFkZChiLCBjKTtcbiAgICAgIC8vIE4gKiBRICsgUSA9IDIgKiAoKE4gLyAyKSAqIFEgKyBRKVxuICAgICAgYSA9IGEuZGJsKCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBiO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm11bEFkZCA9IGZ1bmN0aW9uIG11bEFkZCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUnKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5qdW1sQWRkID0gZnVuY3Rpb24ganVtbEFkZCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUnKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxKG90aGVyKSB7XG4gIHJldHVybiB0aGlzLmdldFgoKS5jbXAob3RoZXIuZ2V0WCgpKSA9PT0gMDtcbn07XG5cblBvaW50LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiBub3JtYWxpemUoKSB7XG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwodGhpcy56LnJlZEludm0oKSk7XG4gIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xuICByZXR1cm4gdGhpcztcbn07XG5cblBvaW50LnByb3RvdHlwZS5nZXRYID0gZnVuY3Rpb24gZ2V0WCgpIHtcbiAgLy8gTm9ybWFsaXplIGNvb3JkaW5hdGVzXG4gIHRoaXMubm9ybWFsaXplKCk7XG5cbiAgcmV0dXJuIHRoaXMueC5mcm9tUmVkKCk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIEJOID0gcmVxdWlyZSgnYm4uanMnKTtcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG52YXIgQmFzZSA9IHJlcXVpcmUoJy4vYmFzZScpO1xuXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xuXG5mdW5jdGlvbiBTaG9ydEN1cnZlKGNvbmYpIHtcbiAgQmFzZS5jYWxsKHRoaXMsICdzaG9ydCcsIGNvbmYpO1xuXG4gIHRoaXMuYSA9IG5ldyBCTihjb25mLmEsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYiA9IG5ldyBCTihjb25mLmIsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMudGludiA9IHRoaXMudHdvLnJlZEludm0oKTtcblxuICB0aGlzLnplcm9BID0gdGhpcy5hLmZyb21SZWQoKS5jbXBuKDApID09PSAwO1xuICB0aGlzLnRocmVlQSA9IHRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMykgPT09IDA7XG5cbiAgLy8gSWYgdGhlIGN1cnZlIGlzIGVuZG9tb3JwaGljLCBwcmVjYWxjdWxhdGUgYmV0YSBhbmQgbGFtYmRhXG4gIHRoaXMuZW5kbyA9IHRoaXMuX2dldEVuZG9tb3JwaGlzbShjb25mKTtcbiAgdGhpcy5fZW5kb1duYWZUMSA9IG5ldyBBcnJheSg0KTtcbiAgdGhpcy5fZW5kb1duYWZUMiA9IG5ldyBBcnJheSg0KTtcbn1cbmluaGVyaXRzKFNob3J0Q3VydmUsIEJhc2UpO1xubW9kdWxlLmV4cG9ydHMgPSBTaG9ydEN1cnZlO1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtID0gZnVuY3Rpb24gX2dldEVuZG9tb3JwaGlzbShjb25mKSB7XG4gIC8vIE5vIGVmZmljaWVudCBlbmRvbW9ycGhpc21cbiAgaWYgKCF0aGlzLnplcm9BIHx8ICF0aGlzLmcgfHwgIXRoaXMubiB8fCB0aGlzLnAubW9kbigzKSAhPT0gMSlcbiAgICByZXR1cm47XG5cbiAgLy8gQ29tcHV0ZSBiZXRhIGFuZCBsYW1iZGEsIHRoYXQgbGFtYmRhICogUCA9IChiZXRhICogUHg7IFB5KVxuICB2YXIgYmV0YTtcbiAgdmFyIGxhbWJkYTtcbiAgaWYgKGNvbmYuYmV0YSkge1xuICAgIGJldGEgPSBuZXcgQk4oY29uZi5iZXRhLCAxNikudG9SZWQodGhpcy5yZWQpO1xuICB9IGVsc2Uge1xuICAgIHZhciBiZXRhcyA9IHRoaXMuX2dldEVuZG9Sb290cyh0aGlzLnApO1xuICAgIC8vIENob29zZSB0aGUgc21hbGxlc3QgYmV0YVxuICAgIGJldGEgPSBiZXRhc1swXS5jbXAoYmV0YXNbMV0pIDwgMCA/IGJldGFzWzBdIDogYmV0YXNbMV07XG4gICAgYmV0YSA9IGJldGEudG9SZWQodGhpcy5yZWQpO1xuICB9XG4gIGlmIChjb25mLmxhbWJkYSkge1xuICAgIGxhbWJkYSA9IG5ldyBCTihjb25mLmxhbWJkYSwgMTYpO1xuICB9IGVsc2Uge1xuICAgIC8vIENob29zZSB0aGUgbGFtYmRhIHRoYXQgaXMgbWF0Y2hpbmcgc2VsZWN0ZWQgYmV0YVxuICAgIHZhciBsYW1iZGFzID0gdGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMubik7XG4gICAgaWYgKHRoaXMuZy5tdWwobGFtYmRhc1swXSkueC5jbXAodGhpcy5nLngucmVkTXVsKGJldGEpKSA9PT0gMCkge1xuICAgICAgbGFtYmRhID0gbGFtYmRhc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFtYmRhID0gbGFtYmRhc1sxXTtcbiAgICAgIGFzc2VydCh0aGlzLmcubXVsKGxhbWJkYSkueC5jbXAodGhpcy5nLngucmVkTXVsKGJldGEpKSA9PT0gMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IGJhc2lzIHZlY3RvcnMsIHVzZWQgZm9yIGJhbGFuY2VkIGxlbmd0aC10d28gcmVwcmVzZW50YXRpb25cbiAgdmFyIGJhc2lzO1xuICBpZiAoY29uZi5iYXNpcykge1xuICAgIGJhc2lzID0gY29uZi5iYXNpcy5tYXAoZnVuY3Rpb24odmVjKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhOiBuZXcgQk4odmVjLmEsIDE2KSxcbiAgICAgICAgYjogbmV3IEJOKHZlYy5iLCAxNiksXG4gICAgICB9O1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGJhc2lzID0gdGhpcy5fZ2V0RW5kb0Jhc2lzKGxhbWJkYSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJldGE6IGJldGEsXG4gICAgbGFtYmRhOiBsYW1iZGEsXG4gICAgYmFzaXM6IGJhc2lzLFxuICB9O1xufTtcblxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9Sb290cyA9IGZ1bmN0aW9uIF9nZXRFbmRvUm9vdHMobnVtKSB7XG4gIC8vIEZpbmQgcm9vdHMgb2YgZm9yIHheMiArIHggKyAxIGluIEZcbiAgLy8gUm9vdCA9ICgtMSArLSBTcXJ0KC0zKSkgLyAyXG4gIC8vXG4gIHZhciByZWQgPSBudW0gPT09IHRoaXMucCA/IHRoaXMucmVkIDogQk4ubW9udChudW0pO1xuICB2YXIgdGludiA9IG5ldyBCTigyKS50b1JlZChyZWQpLnJlZEludm0oKTtcbiAgdmFyIG50aW52ID0gdGludi5yZWROZWcoKTtcblxuICB2YXIgcyA9IG5ldyBCTigzKS50b1JlZChyZWQpLnJlZE5lZygpLnJlZFNxcnQoKS5yZWRNdWwodGludik7XG5cbiAgdmFyIGwxID0gbnRpbnYucmVkQWRkKHMpLmZyb21SZWQoKTtcbiAgdmFyIGwyID0gbnRpbnYucmVkU3ViKHMpLmZyb21SZWQoKTtcbiAgcmV0dXJuIFsgbDEsIGwyIF07XG59O1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzID0gZnVuY3Rpb24gX2dldEVuZG9CYXNpcyhsYW1iZGEpIHtcbiAgLy8gYXByeFNxcnQgPj0gc3FydCh0aGlzLm4pXG4gIHZhciBhcHJ4U3FydCA9IHRoaXMubi51c2hybihNYXRoLmZsb29yKHRoaXMubi5iaXRMZW5ndGgoKSAvIDIpKTtcblxuICAvLyAzLjc0XG4gIC8vIFJ1biBFR0NELCB1bnRpbCByKEwgKyAxKSA8IGFwcnhTcXJ0XG4gIHZhciB1ID0gbGFtYmRhO1xuICB2YXIgdiA9IHRoaXMubi5jbG9uZSgpO1xuICB2YXIgeDEgPSBuZXcgQk4oMSk7XG4gIHZhciB5MSA9IG5ldyBCTigwKTtcbiAgdmFyIHgyID0gbmV3IEJOKDApO1xuICB2YXIgeTIgPSBuZXcgQk4oMSk7XG5cbiAgLy8gTk9URTogYWxsIHZlY3RvcnMgYXJlIHJvb3RzIG9mOiBhICsgYiAqIGxhbWJkYSA9IDAgKG1vZCBuKVxuICB2YXIgYTA7XG4gIHZhciBiMDtcbiAgLy8gRmlyc3QgdmVjdG9yXG4gIHZhciBhMTtcbiAgdmFyIGIxO1xuICAvLyBTZWNvbmQgdmVjdG9yXG4gIHZhciBhMjtcbiAgdmFyIGIyO1xuXG4gIHZhciBwcmV2UjtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcjtcbiAgdmFyIHg7XG4gIHdoaWxlICh1LmNtcG4oMCkgIT09IDApIHtcbiAgICB2YXIgcSA9IHYuZGl2KHUpO1xuICAgIHIgPSB2LnN1YihxLm11bCh1KSk7XG4gICAgeCA9IHgyLnN1YihxLm11bCh4MSkpO1xuICAgIHZhciB5ID0geTIuc3ViKHEubXVsKHkxKSk7XG5cbiAgICBpZiAoIWExICYmIHIuY21wKGFwcnhTcXJ0KSA8IDApIHtcbiAgICAgIGEwID0gcHJldlIubmVnKCk7XG4gICAgICBiMCA9IHgxO1xuICAgICAgYTEgPSByLm5lZygpO1xuICAgICAgYjEgPSB4O1xuICAgIH0gZWxzZSBpZiAoYTEgJiYgKytpID09PSAyKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgcHJldlIgPSByO1xuXG4gICAgdiA9IHU7XG4gICAgdSA9IHI7XG4gICAgeDIgPSB4MTtcbiAgICB4MSA9IHg7XG4gICAgeTIgPSB5MTtcbiAgICB5MSA9IHk7XG4gIH1cbiAgYTIgPSByLm5lZygpO1xuICBiMiA9IHg7XG5cbiAgdmFyIGxlbjEgPSBhMS5zcXIoKS5hZGQoYjEuc3FyKCkpO1xuICB2YXIgbGVuMiA9IGEyLnNxcigpLmFkZChiMi5zcXIoKSk7XG4gIGlmIChsZW4yLmNtcChsZW4xKSA+PSAwKSB7XG4gICAgYTIgPSBhMDtcbiAgICBiMiA9IGIwO1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIHNpZ25zXG4gIGlmIChhMS5uZWdhdGl2ZSkge1xuICAgIGExID0gYTEubmVnKCk7XG4gICAgYjEgPSBiMS5uZWcoKTtcbiAgfVxuICBpZiAoYTIubmVnYXRpdmUpIHtcbiAgICBhMiA9IGEyLm5lZygpO1xuICAgIGIyID0gYjIubmVnKCk7XG4gIH1cblxuICByZXR1cm4gW1xuICAgIHsgYTogYTEsIGI6IGIxIH0sXG4gICAgeyBhOiBhMiwgYjogYjIgfSxcbiAgXTtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvU3BsaXQgPSBmdW5jdGlvbiBfZW5kb1NwbGl0KGspIHtcbiAgdmFyIGJhc2lzID0gdGhpcy5lbmRvLmJhc2lzO1xuICB2YXIgdjEgPSBiYXNpc1swXTtcbiAgdmFyIHYyID0gYmFzaXNbMV07XG5cbiAgdmFyIGMxID0gdjIuYi5tdWwoaykuZGl2Um91bmQodGhpcy5uKTtcbiAgdmFyIGMyID0gdjEuYi5uZWcoKS5tdWwoaykuZGl2Um91bmQodGhpcy5uKTtcblxuICB2YXIgcDEgPSBjMS5tdWwodjEuYSk7XG4gIHZhciBwMiA9IGMyLm11bCh2Mi5hKTtcbiAgdmFyIHExID0gYzEubXVsKHYxLmIpO1xuICB2YXIgcTIgPSBjMi5tdWwodjIuYik7XG5cbiAgLy8gQ2FsY3VsYXRlIGFuc3dlclxuICB2YXIgazEgPSBrLnN1YihwMSkuc3ViKHAyKTtcbiAgdmFyIGsyID0gcTEuYWRkKHEyKS5uZWcoKTtcbiAgcmV0dXJuIHsgazE6IGsxLCBrMjogazIgfTtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50RnJvbVggPSBmdW5jdGlvbiBwb2ludEZyb21YKHgsIG9kZCkge1xuICB4ID0gbmV3IEJOKHgsIDE2KTtcbiAgaWYgKCF4LnJlZClcbiAgICB4ID0geC50b1JlZCh0aGlzLnJlZCk7XG5cbiAgdmFyIHkyID0geC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZCh4LnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYik7XG4gIHZhciB5ID0geTIucmVkU3FydCgpO1xuICBpZiAoeS5yZWRTcXIoKS5yZWRTdWIoeTIpLmNtcCh0aGlzLnplcm8pICE9PSAwKVxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xuXG4gIC8vIFhYWCBJcyB0aGVyZSBhbnkgd2F5IHRvIHRlbGwgaWYgdGhlIG51bWJlciBpcyBvZGQgd2l0aG91dCBjb252ZXJ0aW5nIGl0XG4gIC8vIHRvIG5vbi1yZWQgZm9ybT9cbiAgdmFyIGlzT2RkID0geS5mcm9tUmVkKCkuaXNPZGQoKTtcbiAgaWYgKG9kZCAmJiAhaXNPZGQgfHwgIW9kZCAmJiBpc09kZClcbiAgICB5ID0geS5yZWROZWcoKTtcblxuICByZXR1cm4gdGhpcy5wb2ludCh4LCB5KTtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUocG9pbnQpIHtcbiAgaWYgKHBvaW50LmluZilcbiAgICByZXR1cm4gdHJ1ZTtcblxuICB2YXIgeCA9IHBvaW50Lng7XG4gIHZhciB5ID0gcG9pbnQueTtcblxuICB2YXIgYXggPSB0aGlzLmEucmVkTXVsKHgpO1xuICB2YXIgcmhzID0geC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZChheCkucmVkSUFkZCh0aGlzLmIpO1xuICByZXR1cm4geS5yZWRTcXIoKS5yZWRJU3ViKHJocykuY21wbigwKSA9PT0gMDtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvV25hZk11bEFkZCA9XG4gICAgZnVuY3Rpb24gX2VuZG9XbmFmTXVsQWRkKHBvaW50cywgY29lZmZzLCBqYWNvYmlhblJlc3VsdCkge1xuICAgICAgdmFyIG5wb2ludHMgPSB0aGlzLl9lbmRvV25hZlQxO1xuICAgICAgdmFyIG5jb2VmZnMgPSB0aGlzLl9lbmRvV25hZlQyO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHNwbGl0ID0gdGhpcy5fZW5kb1NwbGl0KGNvZWZmc1tpXSk7XG4gICAgICAgIHZhciBwID0gcG9pbnRzW2ldO1xuICAgICAgICB2YXIgYmV0YSA9IHAuX2dldEJldGEoKTtcblxuICAgICAgICBpZiAoc3BsaXQuazEubmVnYXRpdmUpIHtcbiAgICAgICAgICBzcGxpdC5rMS5pbmVnKCk7XG4gICAgICAgICAgcCA9IHAubmVnKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzcGxpdC5rMi5uZWdhdGl2ZSkge1xuICAgICAgICAgIHNwbGl0LmsyLmluZWcoKTtcbiAgICAgICAgICBiZXRhID0gYmV0YS5uZWcodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBucG9pbnRzW2kgKiAyXSA9IHA7XG4gICAgICAgIG5wb2ludHNbaSAqIDIgKyAxXSA9IGJldGE7XG4gICAgICAgIG5jb2VmZnNbaSAqIDJdID0gc3BsaXQuazE7XG4gICAgICAgIG5jb2VmZnNbaSAqIDIgKyAxXSA9IHNwbGl0LmsyO1xuICAgICAgfVxuICAgICAgdmFyIHJlcyA9IHRoaXMuX3duYWZNdWxBZGQoMSwgbnBvaW50cywgbmNvZWZmcywgaSAqIDIsIGphY29iaWFuUmVzdWx0KTtcblxuICAgICAgLy8gQ2xlYW4tdXAgcmVmZXJlbmNlcyB0byBwb2ludHMgYW5kIGNvZWZmaWNpZW50c1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBpICogMjsgaisrKSB7XG4gICAgICAgIG5wb2ludHNbal0gPSBudWxsO1xuICAgICAgICBuY29lZmZzW2pdID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcblxuZnVuY3Rpb24gUG9pbnQoY3VydmUsIHgsIHksIGlzUmVkKSB7XG4gIEJhc2UuQmFzZVBvaW50LmNhbGwodGhpcywgY3VydmUsICdhZmZpbmUnKTtcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCkge1xuICAgIHRoaXMueCA9IG51bGw7XG4gICAgdGhpcy55ID0gbnVsbDtcbiAgICB0aGlzLmluZiA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy54ID0gbmV3IEJOKHgsIDE2KTtcbiAgICB0aGlzLnkgPSBuZXcgQk4oeSwgMTYpO1xuICAgIC8vIEZvcmNlIHJlZGdvbWVyeSByZXByZXNlbnRhdGlvbiB3aGVuIGxvYWRpbmcgZnJvbSBKU09OXG4gICAgaWYgKGlzUmVkKSB7XG4gICAgICB0aGlzLnguZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgICAgdGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLngucmVkKVxuICAgICAgdGhpcy54ID0gdGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICBpZiAoIXRoaXMueS5yZWQpXG4gICAgICB0aGlzLnkgPSB0aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgIHRoaXMuaW5mID0gZmFsc2U7XG4gIH1cbn1cbmluaGVyaXRzKFBvaW50LCBCYXNlLkJhc2VQb2ludCk7XG5cblNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24gcG9pbnQoeCwgeSwgaXNSZWQpIHtcbiAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLCB4LCB5LCBpc1JlZCk7XG59O1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludEZyb21KU09OID0gZnVuY3Rpb24gcG9pbnRGcm9tSlNPTihvYmosIHJlZCkge1xuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqLCByZWQpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhID0gZnVuY3Rpb24gX2dldEJldGEoKSB7XG4gIGlmICghdGhpcy5jdXJ2ZS5lbmRvKVxuICAgIHJldHVybjtcblxuICB2YXIgcHJlID0gdGhpcy5wcmVjb21wdXRlZDtcbiAgaWYgKHByZSAmJiBwcmUuYmV0YSlcbiAgICByZXR1cm4gcHJlLmJldGE7XG5cbiAgdmFyIGJldGEgPSB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWRNdWwodGhpcy5jdXJ2ZS5lbmRvLmJldGEpLCB0aGlzLnkpO1xuICBpZiAocHJlKSB7XG4gICAgdmFyIGN1cnZlID0gdGhpcy5jdXJ2ZTtcbiAgICB2YXIgZW5kb011bCA9IGZ1bmN0aW9uKHApIHtcbiAgICAgIHJldHVybiBjdXJ2ZS5wb2ludChwLngucmVkTXVsKGN1cnZlLmVuZG8uYmV0YSksIHAueSk7XG4gICAgfTtcbiAgICBwcmUuYmV0YSA9IGJldGE7XG4gICAgYmV0YS5wcmVjb21wdXRlZCA9IHtcbiAgICAgIGJldGE6IG51bGwsXG4gICAgICBuYWY6IHByZS5uYWYgJiYge1xuICAgICAgICB3bmQ6IHByZS5uYWYud25kLFxuICAgICAgICBwb2ludHM6IHByZS5uYWYucG9pbnRzLm1hcChlbmRvTXVsKSxcbiAgICAgIH0sXG4gICAgICBkb3VibGVzOiBwcmUuZG91YmxlcyAmJiB7XG4gICAgICAgIHN0ZXA6IHByZS5kb3VibGVzLnN0ZXAsXG4gICAgICAgIHBvaW50czogcHJlLmRvdWJsZXMucG9pbnRzLm1hcChlbmRvTXVsKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICByZXR1cm4gYmV0YTtcbn07XG5cblBvaW50LnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04oKSB7XG4gIGlmICghdGhpcy5wcmVjb21wdXRlZClcbiAgICByZXR1cm4gWyB0aGlzLngsIHRoaXMueSBdO1xuXG4gIHJldHVybiBbIHRoaXMueCwgdGhpcy55LCB0aGlzLnByZWNvbXB1dGVkICYmIHtcbiAgICBkb3VibGVzOiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMgJiYge1xuICAgICAgc3RlcDogdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAsXG4gICAgICBwb2ludHM6IHRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5wb2ludHMuc2xpY2UoMSksXG4gICAgfSxcbiAgICBuYWY6IHRoaXMucHJlY29tcHV0ZWQubmFmICYmIHtcbiAgICAgIHduZDogdGhpcy5wcmVjb21wdXRlZC5uYWYud25kLFxuICAgICAgcG9pbnRzOiB0aGlzLnByZWNvbXB1dGVkLm5hZi5wb2ludHMuc2xpY2UoMSksXG4gICAgfSxcbiAgfSBdO1xufTtcblxuUG9pbnQuZnJvbUpTT04gPSBmdW5jdGlvbiBmcm9tSlNPTihjdXJ2ZSwgb2JqLCByZWQpIHtcbiAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKVxuICAgIG9iaiA9IEpTT04ucGFyc2Uob2JqKTtcbiAgdmFyIHJlcyA9IGN1cnZlLnBvaW50KG9ialswXSwgb2JqWzFdLCByZWQpO1xuICBpZiAoIW9ialsyXSlcbiAgICByZXR1cm4gcmVzO1xuXG4gIGZ1bmN0aW9uIG9iajJwb2ludChvYmopIHtcbiAgICByZXR1cm4gY3VydmUucG9pbnQob2JqWzBdLCBvYmpbMV0sIHJlZCk7XG4gIH1cblxuICB2YXIgcHJlID0gb2JqWzJdO1xuICByZXMucHJlY29tcHV0ZWQgPSB7XG4gICAgYmV0YTogbnVsbCxcbiAgICBkb3VibGVzOiBwcmUuZG91YmxlcyAmJiB7XG4gICAgICBzdGVwOiBwcmUuZG91Ymxlcy5zdGVwLFxuICAgICAgcG9pbnRzOiBbIHJlcyBdLmNvbmNhdChwcmUuZG91Ymxlcy5wb2ludHMubWFwKG9iajJwb2ludCkpLFxuICAgIH0sXG4gICAgbmFmOiBwcmUubmFmICYmIHtcbiAgICAgIHduZDogcHJlLm5hZi53bmQsXG4gICAgICBwb2ludHM6IFsgcmVzIF0uY29uY2F0KHByZS5uYWYucG9pbnRzLm1hcChvYmoycG9pbnQpKSxcbiAgICB9LFxuICB9O1xuICByZXR1cm4gcmVzO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuICc8RUMgUG9pbnQgSW5maW5pdHk+JztcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcbiAgICAgICcgeTogJyArIHRoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICsgJz4nO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHkgPSBmdW5jdGlvbiBpc0luZmluaXR5KCkge1xuICByZXR1cm4gdGhpcy5pbmY7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkKHApIHtcbiAgLy8gTyArIFAgPSBQXG4gIGlmICh0aGlzLmluZilcbiAgICByZXR1cm4gcDtcblxuICAvLyBQICsgTyA9IFBcbiAgaWYgKHAuaW5mKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIC8vIFAgKyBQID0gMlBcbiAgaWYgKHRoaXMuZXEocCkpXG4gICAgcmV0dXJuIHRoaXMuZGJsKCk7XG5cbiAgLy8gUCArICgtUCkgPSBPXG4gIGlmICh0aGlzLm5lZygpLmVxKHApKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpO1xuXG4gIC8vIFAgKyBRID0gT1xuICBpZiAodGhpcy54LmNtcChwLngpID09PSAwKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpO1xuXG4gIHZhciBjID0gdGhpcy55LnJlZFN1YihwLnkpO1xuICBpZiAoYy5jbXBuKDApICE9PSAwKVxuICAgIGMgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKHAueCkucmVkSW52bSgpKTtcbiAgdmFyIG54ID0gYy5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueCkucmVkSVN1YihwLngpO1xuICB2YXIgbnkgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKG54KSkucmVkSVN1Yih0aGlzLnkpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnkpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmRibCA9IGZ1bmN0aW9uIGRibCgpIHtcbiAgaWYgKHRoaXMuaW5mKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIC8vIDJQID0gT1xuICB2YXIgeXMxID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xuICBpZiAoeXMxLmNtcG4oMCkgPT09IDApXG4gICAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7XG5cbiAgdmFyIGEgPSB0aGlzLmN1cnZlLmE7XG5cbiAgdmFyIHgyID0gdGhpcy54LnJlZFNxcigpO1xuICB2YXIgZHlpbnYgPSB5czEucmVkSW52bSgpO1xuICB2YXIgYyA9IHgyLnJlZEFkZCh4MikucmVkSUFkZCh4MikucmVkSUFkZChhKS5yZWRNdWwoZHlpbnYpO1xuXG4gIHZhciBueCA9IGMucmVkU3FyKCkucmVkSVN1Yih0aGlzLngucmVkQWRkKHRoaXMueCkpO1xuICB2YXIgbnkgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKG54KSkucmVkSVN1Yih0aGlzLnkpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnkpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xuICByZXR1cm4gdGhpcy54LmZyb21SZWQoKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5nZXRZID0gZnVuY3Rpb24gZ2V0WSgpIHtcbiAgcmV0dXJuIHRoaXMueS5mcm9tUmVkKCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsKGspIHtcbiAgayA9IG5ldyBCTihrLCAxNik7XG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gdGhpcztcbiAgZWxzZSBpZiAodGhpcy5faGFzRG91YmxlcyhrKSlcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcywgayk7XG4gIGVsc2UgaWYgKHRoaXMuY3VydmUuZW5kbylcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoWyB0aGlzIF0sIFsgayBdKTtcbiAgZWxzZVxuICAgIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsIGspO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm11bEFkZCA9IGZ1bmN0aW9uIG11bEFkZChrMSwgcDIsIGsyKSB7XG4gIHZhciBwb2ludHMgPSBbIHRoaXMsIHAyIF07XG4gIHZhciBjb2VmZnMgPSBbIGsxLCBrMiBdO1xuICBpZiAodGhpcy5jdXJ2ZS5lbmRvKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChwb2ludHMsIGNvZWZmcyk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLCBwb2ludHMsIGNvZWZmcywgMik7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuam11bEFkZCA9IGZ1bmN0aW9uIGptdWxBZGQoazEsIHAyLCBrMikge1xuICB2YXIgcG9pbnRzID0gWyB0aGlzLCBwMiBdO1xuICB2YXIgY29lZmZzID0gWyBrMSwgazIgXTtcbiAgaWYgKHRoaXMuY3VydmUuZW5kbylcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQocG9pbnRzLCBjb2VmZnMsIHRydWUpO1xuICBlbHNlXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSwgcG9pbnRzLCBjb2VmZnMsIDIsIHRydWUpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEocCkge1xuICByZXR1cm4gdGhpcyA9PT0gcCB8fFxuICAgICAgICAgdGhpcy5pbmYgPT09IHAuaW5mICYmXG4gICAgICAgICAgICAgKHRoaXMuaW5mIHx8IHRoaXMueC5jbXAocC54KSA9PT0gMCAmJiB0aGlzLnkuY21wKHAueSkgPT09IDApO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyhfcHJlY29tcHV0ZSkge1xuICBpZiAodGhpcy5pbmYpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgdmFyIHJlcyA9IHRoaXMuY3VydmUucG9pbnQodGhpcy54LCB0aGlzLnkucmVkTmVnKCkpO1xuICBpZiAoX3ByZWNvbXB1dGUgJiYgdGhpcy5wcmVjb21wdXRlZCkge1xuICAgIHZhciBwcmUgPSB0aGlzLnByZWNvbXB1dGVkO1xuICAgIHZhciBuZWdhdGUgPSBmdW5jdGlvbihwKSB7XG4gICAgICByZXR1cm4gcC5uZWcoKTtcbiAgICB9O1xuICAgIHJlcy5wcmVjb21wdXRlZCA9IHtcbiAgICAgIG5hZjogcHJlLm5hZiAmJiB7XG4gICAgICAgIHduZDogcHJlLm5hZi53bmQsXG4gICAgICAgIHBvaW50czogcHJlLm5hZi5wb2ludHMubWFwKG5lZ2F0ZSksXG4gICAgICB9LFxuICAgICAgZG91YmxlczogcHJlLmRvdWJsZXMgJiYge1xuICAgICAgICBzdGVwOiBwcmUuZG91Ymxlcy5zdGVwLFxuICAgICAgICBwb2ludHM6IHByZS5kb3VibGVzLnBvaW50cy5tYXAobmVnYXRlKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICByZXR1cm4gcmVzO1xufTtcblxuUG9pbnQucHJvdG90eXBlLnRvSiA9IGZ1bmN0aW9uIHRvSigpIHtcbiAgaWYgKHRoaXMuaW5mKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcblxuICB2YXIgcmVzID0gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LCB0aGlzLnksIHRoaXMuY3VydmUub25lKTtcbiAgcmV0dXJuIHJlcztcbn07XG5cbmZ1bmN0aW9uIEpQb2ludChjdXJ2ZSwgeCwgeSwgeikge1xuICBCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsIGN1cnZlLCAnamFjb2JpYW4nKTtcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gICAgdGhpcy55ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gICAgdGhpcy56ID0gbmV3IEJOKDApO1xuICB9IGVsc2Uge1xuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcbiAgICB0aGlzLnogPSBuZXcgQk4oeiwgMTYpO1xuICB9XG4gIGlmICghdGhpcy54LnJlZClcbiAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICBpZiAoIXRoaXMueS5yZWQpXG4gICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgaWYgKCF0aGlzLnoucmVkKVxuICAgIHRoaXMueiA9IHRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XG5cbiAgdGhpcy56T25lID0gdGhpcy56ID09PSB0aGlzLmN1cnZlLm9uZTtcbn1cbmluaGVyaXRzKEpQb2ludCwgQmFzZS5CYXNlUG9pbnQpO1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5qcG9pbnQgPSBmdW5jdGlvbiBqcG9pbnQoeCwgeSwgeikge1xuICByZXR1cm4gbmV3IEpQb2ludCh0aGlzLCB4LCB5LCB6KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUudG9QID0gZnVuY3Rpb24gdG9QKCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7XG5cbiAgdmFyIHppbnYgPSB0aGlzLnoucmVkSW52bSgpO1xuICB2YXIgemludjIgPSB6aW52LnJlZFNxcigpO1xuICB2YXIgYXggPSB0aGlzLngucmVkTXVsKHppbnYyKTtcbiAgdmFyIGF5ID0gdGhpcy55LnJlZE11bCh6aW52MikucmVkTXVsKHppbnYpO1xuXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KGF4LCBheSk7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KHRoaXMueCwgdGhpcy55LnJlZE5lZygpLCB0aGlzLnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQocCkge1xuICAvLyBPICsgUCA9IFBcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiBwO1xuXG4gIC8vIFAgKyBPID0gUFxuICBpZiAocC5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgLy8gMTJNICsgNFMgKyA3QVxuICB2YXIgcHoyID0gcC56LnJlZFNxcigpO1xuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciB1MSA9IHRoaXMueC5yZWRNdWwocHoyKTtcbiAgdmFyIHUyID0gcC54LnJlZE11bCh6Mik7XG4gIHZhciBzMSA9IHRoaXMueS5yZWRNdWwocHoyLnJlZE11bChwLnopKTtcbiAgdmFyIHMyID0gcC55LnJlZE11bCh6Mi5yZWRNdWwodGhpcy56KSk7XG5cbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xuICB2YXIgciA9IHMxLnJlZFN1YihzMik7XG4gIGlmIChoLmNtcG4oMCkgPT09IDApIHtcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxuICAgICAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xuICB9XG5cbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcbiAgdmFyIGgzID0gaDIucmVkTXVsKGgpO1xuICB2YXIgdiA9IHUxLnJlZE11bChoMik7XG5cbiAgdmFyIG54ID0gci5yZWRTcXIoKS5yZWRJQWRkKGgzKS5yZWRJU3ViKHYpLnJlZElTdWIodik7XG4gIHZhciBueSA9IHIucmVkTXVsKHYucmVkSVN1YihueCkpLnJlZElTdWIoczEucmVkTXVsKGgzKSk7XG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwocC56KS5yZWRNdWwoaCk7XG5cbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5taXhlZEFkZCA9IGZ1bmN0aW9uIG1peGVkQWRkKHApIHtcbiAgLy8gTyArIFAgPSBQXG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gcC50b0ooKTtcblxuICAvLyBQICsgTyA9IFBcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIC8vIDhNICsgM1MgKyA3QVxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciB1MSA9IHRoaXMueDtcbiAgdmFyIHUyID0gcC54LnJlZE11bCh6Mik7XG4gIHZhciBzMSA9IHRoaXMueTtcbiAgdmFyIHMyID0gcC55LnJlZE11bCh6MikucmVkTXVsKHRoaXMueik7XG5cbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xuICB2YXIgciA9IHMxLnJlZFN1YihzMik7XG4gIGlmIChoLmNtcG4oMCkgPT09IDApIHtcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxuICAgICAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xuICB9XG5cbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcbiAgdmFyIGgzID0gaDIucmVkTXVsKGgpO1xuICB2YXIgdiA9IHUxLnJlZE11bChoMik7XG5cbiAgdmFyIG54ID0gci5yZWRTcXIoKS5yZWRJQWRkKGgzKS5yZWRJU3ViKHYpLnJlZElTdWIodik7XG4gIHZhciBueSA9IHIucmVkTXVsKHYucmVkSVN1YihueCkpLnJlZElTdWIoczEucmVkTXVsKGgzKSk7XG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwoaCk7XG5cbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5kYmxwID0gZnVuY3Rpb24gZGJscChwb3cpIHtcbiAgaWYgKHBvdyA9PT0gMClcbiAgICByZXR1cm4gdGhpcztcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB0aGlzO1xuICBpZiAoIXBvdylcbiAgICByZXR1cm4gdGhpcy5kYmwoKTtcblxuICB2YXIgaTtcbiAgaWYgKHRoaXMuY3VydmUuemVyb0EgfHwgdGhpcy5jdXJ2ZS50aHJlZUEpIHtcbiAgICB2YXIgciA9IHRoaXM7XG4gICAgZm9yIChpID0gMDsgaSA8IHBvdzsgaSsrKVxuICAgICAgciA9IHIuZGJsKCk7XG4gICAgcmV0dXJuIHI7XG4gIH1cblxuICAvLyAxTSArIDJTICsgMUEgKyBOICogKDRTICsgNU0gKyA4QSlcbiAgLy8gTiA9IDEgPT4gNk0gKyA2UyArIDlBXG4gIHZhciBhID0gdGhpcy5jdXJ2ZS5hO1xuICB2YXIgdGludiA9IHRoaXMuY3VydmUudGludjtcblxuICB2YXIganggPSB0aGlzLng7XG4gIHZhciBqeSA9IHRoaXMueTtcbiAgdmFyIGp6ID0gdGhpcy56O1xuICB2YXIgano0ID0ganoucmVkU3FyKCkucmVkU3FyKCk7XG5cbiAgLy8gUmV1c2UgcmVzdWx0c1xuICB2YXIganlkID0gankucmVkQWRkKGp5KTtcbiAgZm9yIChpID0gMDsgaSA8IHBvdzsgaSsrKSB7XG4gICAgdmFyIGp4MiA9IGp4LnJlZFNxcigpO1xuICAgIHZhciBqeWQyID0ganlkLnJlZFNxcigpO1xuICAgIHZhciBqeWQ0ID0ganlkMi5yZWRTcXIoKTtcbiAgICB2YXIgYyA9IGp4Mi5yZWRBZGQoangyKS5yZWRJQWRkKGp4MikucmVkSUFkZChhLnJlZE11bChqejQpKTtcblxuICAgIHZhciB0MSA9IGp4LnJlZE11bChqeWQyKTtcbiAgICB2YXIgbnggPSBjLnJlZFNxcigpLnJlZElTdWIodDEucmVkQWRkKHQxKSk7XG4gICAgdmFyIHQyID0gdDEucmVkSVN1YihueCk7XG4gICAgdmFyIGRueSA9IGMucmVkTXVsKHQyKTtcbiAgICBkbnkgPSBkbnkucmVkSUFkZChkbnkpLnJlZElTdWIoanlkNCk7XG4gICAgdmFyIG56ID0ganlkLnJlZE11bChqeik7XG4gICAgaWYgKGkgKyAxIDwgcG93KVxuICAgICAgano0ID0gano0LnJlZE11bChqeWQ0KTtcblxuICAgIGp4ID0gbng7XG4gICAganogPSBuejtcbiAgICBqeWQgPSBkbnk7XG4gIH1cblxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoangsIGp5ZC5yZWRNdWwodGludiksIGp6KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUuZGJsID0gZnVuY3Rpb24gZGJsKCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgaWYgKHRoaXMuY3VydmUuemVyb0EpXG4gICAgcmV0dXJuIHRoaXMuX3plcm9EYmwoKTtcbiAgZWxzZSBpZiAodGhpcy5jdXJ2ZS50aHJlZUEpXG4gICAgcmV0dXJuIHRoaXMuX3RocmVlRGJsKCk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5fZGJsKCk7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLl96ZXJvRGJsID0gZnVuY3Rpb24gX3plcm9EYmwoKSB7XG4gIHZhciBueDtcbiAgdmFyIG55O1xuICB2YXIgbno7XG4gIC8vIFogPSAxXG4gIGlmICh0aGlzLnpPbmUpIHtcbiAgICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTAuaHRtbFxuICAgIC8vICAgICAjZG91YmxpbmctbWRibC0yMDA3LWJsXG4gICAgLy8gMU0gKyA1UyArIDE0QVxuXG4gICAgLy8gWFggPSBYMV4yXG4gICAgdmFyIHh4ID0gdGhpcy54LnJlZFNxcigpO1xuICAgIC8vIFlZID0gWTFeMlxuICAgIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcbiAgICAvLyBZWVlZID0gWVleMlxuICAgIHZhciB5eXl5ID0geXkucmVkU3FyKCk7XG4gICAgLy8gUyA9IDIgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpXG4gICAgdmFyIHMgPSB0aGlzLngucmVkQWRkKHl5KS5yZWRTcXIoKS5yZWRJU3ViKHh4KS5yZWRJU3ViKHl5eXkpO1xuICAgIHMgPSBzLnJlZElBZGQocyk7XG4gICAgLy8gTSA9IDMgKiBYWCArIGE7IGEgPSAwXG4gICAgdmFyIG0gPSB4eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpO1xuICAgIC8vIFQgPSBNIF4gMiAtIDIqU1xuICAgIHZhciB0ID0gbS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7XG5cbiAgICAvLyA4ICogWVlZWVxuICAgIHZhciB5eXl5OCA9IHl5eXkucmVkSUFkZCh5eXl5KTtcbiAgICB5eXl5OCA9IHl5eXk4LnJlZElBZGQoeXl5eTgpO1xuICAgIHl5eXk4ID0geXl5eTgucmVkSUFkZCh5eXl5OCk7XG5cbiAgICAvLyBYMyA9IFRcbiAgICBueCA9IHQ7XG4gICAgLy8gWTMgPSBNICogKFMgLSBUKSAtIDggKiBZWVlZXG4gICAgbnkgPSBtLnJlZE11bChzLnJlZElTdWIodCkpLnJlZElTdWIoeXl5eTgpO1xuICAgIC8vIFozID0gMipZMVxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xuICB9IGVsc2Uge1xuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMC5odG1sXG4gICAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOS1sXG4gICAgLy8gMk0gKyA1UyArIDEzQVxuXG4gICAgLy8gQSA9IFgxXjJcbiAgICB2YXIgYSA9IHRoaXMueC5yZWRTcXIoKTtcbiAgICAvLyBCID0gWTFeMlxuICAgIHZhciBiID0gdGhpcy55LnJlZFNxcigpO1xuICAgIC8vIEMgPSBCXjJcbiAgICB2YXIgYyA9IGIucmVkU3FyKCk7XG4gICAgLy8gRCA9IDIgKiAoKFgxICsgQileMiAtIEEgLSBDKVxuICAgIHZhciBkID0gdGhpcy54LnJlZEFkZChiKS5yZWRTcXIoKS5yZWRJU3ViKGEpLnJlZElTdWIoYyk7XG4gICAgZCA9IGQucmVkSUFkZChkKTtcbiAgICAvLyBFID0gMyAqIEFcbiAgICB2YXIgZSA9IGEucmVkQWRkKGEpLnJlZElBZGQoYSk7XG4gICAgLy8gRiA9IEVeMlxuICAgIHZhciBmID0gZS5yZWRTcXIoKTtcblxuICAgIC8vIDggKiBDXG4gICAgdmFyIGM4ID0gYy5yZWRJQWRkKGMpO1xuICAgIGM4ID0gYzgucmVkSUFkZChjOCk7XG4gICAgYzggPSBjOC5yZWRJQWRkKGM4KTtcblxuICAgIC8vIFgzID0gRiAtIDIgKiBEXG4gICAgbnggPSBmLnJlZElTdWIoZCkucmVkSVN1YihkKTtcbiAgICAvLyBZMyA9IEUgKiAoRCAtIFgzKSAtIDggKiBDXG4gICAgbnkgPSBlLnJlZE11bChkLnJlZElTdWIobngpKS5yZWRJU3ViKGM4KTtcbiAgICAvLyBaMyA9IDIgKiBZMSAqIFoxXG4gICAgbnogPSB0aGlzLnkucmVkTXVsKHRoaXMueik7XG4gICAgbnogPSBuei5yZWRJQWRkKG56KTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCwgbnksIG56KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUuX3RocmVlRGJsID0gZnVuY3Rpb24gX3RocmVlRGJsKCkge1xuICB2YXIgbng7XG4gIHZhciBueTtcbiAgdmFyIG56O1xuICAvLyBaID0gMVxuICBpZiAodGhpcy56T25lKSB7XG4gICAgLy8gaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy1qYWNvYmlhbi0zLmh0bWxcbiAgICAvLyAgICAgI2RvdWJsaW5nLW1kYmwtMjAwNy1ibFxuICAgIC8vIDFNICsgNVMgKyAxNUFcblxuICAgIC8vIFhYID0gWDFeMlxuICAgIHZhciB4eCA9IHRoaXMueC5yZWRTcXIoKTtcbiAgICAvLyBZWSA9IFkxXjJcbiAgICB2YXIgeXkgPSB0aGlzLnkucmVkU3FyKCk7XG4gICAgLy8gWVlZWSA9IFlZXjJcbiAgICB2YXIgeXl5eSA9IHl5LnJlZFNxcigpO1xuICAgIC8vIFMgPSAyICogKChYMSArIFlZKV4yIC0gWFggLSBZWVlZKVxuICAgIHZhciBzID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcbiAgICBzID0gcy5yZWRJQWRkKHMpO1xuICAgIC8vIE0gPSAzICogWFggKyBhXG4gICAgdmFyIG0gPSB4eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpLnJlZElBZGQodGhpcy5jdXJ2ZS5hKTtcbiAgICAvLyBUID0gTV4yIC0gMiAqIFNcbiAgICB2YXIgdCA9IG0ucmVkU3FyKCkucmVkSVN1YihzKS5yZWRJU3ViKHMpO1xuICAgIC8vIFgzID0gVFxuICAgIG54ID0gdDtcbiAgICAvLyBZMyA9IE0gKiAoUyAtIFQpIC0gOCAqIFlZWVlcbiAgICB2YXIgeXl5eTggPSB5eXl5LnJlZElBZGQoeXl5eSk7XG4gICAgeXl5eTggPSB5eXl5OC5yZWRJQWRkKHl5eXk4KTtcbiAgICB5eXl5OCA9IHl5eXk4LnJlZElBZGQoeXl5eTgpO1xuICAgIG55ID0gbS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtcbiAgICAvLyBaMyA9IDIgKiBZMVxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xuICB9IGVsc2Uge1xuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMy5odG1sI2RvdWJsaW5nLWRibC0yMDAxLWJcbiAgICAvLyAzTSArIDVTXG5cbiAgICAvLyBkZWx0YSA9IFoxXjJcbiAgICB2YXIgZGVsdGEgPSB0aGlzLnoucmVkU3FyKCk7XG4gICAgLy8gZ2FtbWEgPSBZMV4yXG4gICAgdmFyIGdhbW1hID0gdGhpcy55LnJlZFNxcigpO1xuICAgIC8vIGJldGEgPSBYMSAqIGdhbW1hXG4gICAgdmFyIGJldGEgPSB0aGlzLngucmVkTXVsKGdhbW1hKTtcbiAgICAvLyBhbHBoYSA9IDMgKiAoWDEgLSBkZWx0YSkgKiAoWDEgKyBkZWx0YSlcbiAgICB2YXIgYWxwaGEgPSB0aGlzLngucmVkU3ViKGRlbHRhKS5yZWRNdWwodGhpcy54LnJlZEFkZChkZWx0YSkpO1xuICAgIGFscGhhID0gYWxwaGEucmVkQWRkKGFscGhhKS5yZWRJQWRkKGFscGhhKTtcbiAgICAvLyBYMyA9IGFscGhhXjIgLSA4ICogYmV0YVxuICAgIHZhciBiZXRhNCA9IGJldGEucmVkSUFkZChiZXRhKTtcbiAgICBiZXRhNCA9IGJldGE0LnJlZElBZGQoYmV0YTQpO1xuICAgIHZhciBiZXRhOCA9IGJldGE0LnJlZEFkZChiZXRhNCk7XG4gICAgbnggPSBhbHBoYS5yZWRTcXIoKS5yZWRJU3ViKGJldGE4KTtcbiAgICAvLyBaMyA9IChZMSArIFoxKV4yIC0gZ2FtbWEgLSBkZWx0YVxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoZ2FtbWEpLnJlZElTdWIoZGVsdGEpO1xuICAgIC8vIFkzID0gYWxwaGEgKiAoNCAqIGJldGEgLSBYMykgLSA4ICogZ2FtbWFeMlxuICAgIHZhciBnZ2FtbWE4ID0gZ2FtbWEucmVkU3FyKCk7XG4gICAgZ2dhbW1hOCA9IGdnYW1tYTgucmVkSUFkZChnZ2FtbWE4KTtcbiAgICBnZ2FtbWE4ID0gZ2dhbW1hOC5yZWRJQWRkKGdnYW1tYTgpO1xuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XG4gICAgbnkgPSBhbHBoYS5yZWRNdWwoYmV0YTQucmVkSVN1YihueCkpLnJlZElTdWIoZ2dhbW1hOCk7XG4gIH1cblxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLl9kYmwgPSBmdW5jdGlvbiBfZGJsKCkge1xuICB2YXIgYSA9IHRoaXMuY3VydmUuYTtcblxuICAvLyA0TSArIDZTICsgMTBBXG4gIHZhciBqeCA9IHRoaXMueDtcbiAgdmFyIGp5ID0gdGhpcy55O1xuICB2YXIganogPSB0aGlzLno7XG4gIHZhciBqejQgPSBqei5yZWRTcXIoKS5yZWRTcXIoKTtcblxuICB2YXIgangyID0gangucmVkU3FyKCk7XG4gIHZhciBqeTIgPSBqeS5yZWRTcXIoKTtcblxuICB2YXIgYyA9IGp4Mi5yZWRBZGQoangyKS5yZWRJQWRkKGp4MikucmVkSUFkZChhLnJlZE11bChqejQpKTtcblxuICB2YXIganhkNCA9IGp4LnJlZEFkZChqeCk7XG4gIGp4ZDQgPSBqeGQ0LnJlZElBZGQoanhkNCk7XG4gIHZhciB0MSA9IGp4ZDQucmVkTXVsKGp5Mik7XG4gIHZhciBueCA9IGMucmVkU3FyKCkucmVkSVN1Yih0MS5yZWRBZGQodDEpKTtcbiAgdmFyIHQyID0gdDEucmVkSVN1YihueCk7XG5cbiAgdmFyIGp5ZDggPSBqeTIucmVkU3FyKCk7XG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XG4gIHZhciBueSA9IGMucmVkTXVsKHQyKS5yZWRJU3ViKGp5ZDgpO1xuICB2YXIgbnogPSBqeS5yZWRBZGQoankpLnJlZE11bChqeik7XG5cbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS50cnBsID0gZnVuY3Rpb24gdHJwbCgpIHtcbiAgaWYgKCF0aGlzLmN1cnZlLnplcm9BKVxuICAgIHJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTtcblxuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTAuaHRtbCN0cmlwbGluZy10cGwtMjAwNy1ibFxuICAvLyA1TSArIDEwUyArIC4uLlxuXG4gIC8vIFhYID0gWDFeMlxuICB2YXIgeHggPSB0aGlzLngucmVkU3FyKCk7XG4gIC8vIFlZID0gWTFeMlxuICB2YXIgeXkgPSB0aGlzLnkucmVkU3FyKCk7XG4gIC8vIFpaID0gWjFeMlxuICB2YXIgenogPSB0aGlzLnoucmVkU3FyKCk7XG4gIC8vIFlZWVkgPSBZWV4yXG4gIHZhciB5eXl5ID0geXkucmVkU3FyKCk7XG4gIC8vIE0gPSAzICogWFggKyBhICogWloyOyBhID0gMFxuICB2YXIgbSA9IHh4LnJlZEFkZCh4eCkucmVkSUFkZCh4eCk7XG4gIC8vIE1NID0gTV4yXG4gIHZhciBtbSA9IG0ucmVkU3FyKCk7XG4gIC8vIEUgPSA2ICogKChYMSArIFlZKV4yIC0gWFggLSBZWVlZKSAtIE1NXG4gIHZhciBlID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcbiAgZSA9IGUucmVkSUFkZChlKTtcbiAgZSA9IGUucmVkQWRkKGUpLnJlZElBZGQoZSk7XG4gIGUgPSBlLnJlZElTdWIobW0pO1xuICAvLyBFRSA9IEVeMlxuICB2YXIgZWUgPSBlLnJlZFNxcigpO1xuICAvLyBUID0gMTYqWVlZWVxuICB2YXIgdCA9IHl5eXkucmVkSUFkZCh5eXl5KTtcbiAgdCA9IHQucmVkSUFkZCh0KTtcbiAgdCA9IHQucmVkSUFkZCh0KTtcbiAgdCA9IHQucmVkSUFkZCh0KTtcbiAgLy8gVSA9IChNICsgRSleMiAtIE1NIC0gRUUgLSBUXG4gIHZhciB1ID0gbS5yZWRJQWRkKGUpLnJlZFNxcigpLnJlZElTdWIobW0pLnJlZElTdWIoZWUpLnJlZElTdWIodCk7XG4gIC8vIFgzID0gNCAqIChYMSAqIEVFIC0gNCAqIFlZICogVSlcbiAgdmFyIHl5dTQgPSB5eS5yZWRNdWwodSk7XG4gIHl5dTQgPSB5eXU0LnJlZElBZGQoeXl1NCk7XG4gIHl5dTQgPSB5eXU0LnJlZElBZGQoeXl1NCk7XG4gIHZhciBueCA9IHRoaXMueC5yZWRNdWwoZWUpLnJlZElTdWIoeXl1NCk7XG4gIG54ID0gbngucmVkSUFkZChueCk7XG4gIG54ID0gbngucmVkSUFkZChueCk7XG4gIC8vIFkzID0gOCAqIFkxICogKFUgKiAoVCAtIFUpIC0gRSAqIEVFKVxuICB2YXIgbnkgPSB0aGlzLnkucmVkTXVsKHUucmVkTXVsKHQucmVkSVN1Yih1KSkucmVkSVN1YihlLnJlZE11bChlZSkpKTtcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcbiAgLy8gWjMgPSAoWjEgKyBFKV4yIC0gWlogLSBFRVxuICB2YXIgbnogPSB0aGlzLnoucmVkQWRkKGUpLnJlZFNxcigpLnJlZElTdWIoenopLnJlZElTdWIoZWUpO1xuXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCwgbnksIG56KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsKGssIGtiYXNlKSB7XG4gIGsgPSBuZXcgQk4oaywga2Jhc2UpO1xuXG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsIGspO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxKHApIHtcbiAgaWYgKHAudHlwZSA9PT0gJ2FmZmluZScpXG4gICAgcmV0dXJuIHRoaXMuZXEocC50b0ooKSk7XG5cbiAgaWYgKHRoaXMgPT09IHApXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgLy8geDEgKiB6Ml4yID09IHgyICogejFeMlxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciBwejIgPSBwLnoucmVkU3FyKCk7XG4gIGlmICh0aGlzLngucmVkTXVsKHB6MikucmVkSVN1YihwLngucmVkTXVsKHoyKSkuY21wbigwKSAhPT0gMClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8geTEgKiB6Ml4zID09IHkyICogejFeM1xuICB2YXIgejMgPSB6Mi5yZWRNdWwodGhpcy56KTtcbiAgdmFyIHB6MyA9IHB6Mi5yZWRNdWwocC56KTtcbiAgcmV0dXJuIHRoaXMueS5yZWRNdWwocHozKS5yZWRJU3ViKHAueS5yZWRNdWwoejMpKS5jbXBuKDApID09PSAwO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5lcVhUb1AgPSBmdW5jdGlvbiBlcVhUb1AoeCkge1xuICB2YXIgenMgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciByeCA9IHgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh6cyk7XG4gIGlmICh0aGlzLnguY21wKHJ4KSA9PT0gMClcbiAgICByZXR1cm4gdHJ1ZTtcblxuICB2YXIgeGMgPSB4LmNsb25lKCk7XG4gIHZhciB0ID0gdGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh6cyk7XG4gIGZvciAoOzspIHtcbiAgICB4Yy5pYWRkKHRoaXMuY3VydmUubik7XG4gICAgaWYgKHhjLmNtcCh0aGlzLmN1cnZlLnApID49IDApXG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICByeC5yZWRJQWRkKHQpO1xuICAgIGlmICh0aGlzLnguY21wKHJ4KSA9PT0gMClcbiAgICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuICc8RUMgSlBvaW50IEluZmluaXR5Pic7XG4gIHJldHVybiAnPEVDIEpQb2ludCB4OiAnICsgdGhpcy54LnRvU3RyaW5nKDE2LCAyKSArXG4gICAgICAnIHk6ICcgKyB0aGlzLnkudG9TdHJpbmcoMTYsIDIpICtcbiAgICAgICcgejogJyArIHRoaXMuei50b1N0cmluZygxNiwgMikgKyAnPic7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHkgPSBmdW5jdGlvbiBpc0luZmluaXR5KCkge1xuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxuICByZXR1cm4gdGhpcy56LmNtcG4oMCkgPT09IDA7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY3VydmVzID0gZXhwb3J0cztcblxudmFyIGhhc2ggPSByZXF1aXJlKCdoYXNoLmpzJyk7XG52YXIgY3VydmUgPSByZXF1aXJlKCcuL2N1cnZlJyk7XG52YXIgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7XG5cbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG5cbmZ1bmN0aW9uIFByZXNldEN1cnZlKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMudHlwZSA9PT0gJ3Nob3J0JylcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLnNob3J0KG9wdGlvbnMpO1xuICBlbHNlIGlmIChvcHRpb25zLnR5cGUgPT09ICdlZHdhcmRzJylcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLmVkd2FyZHMob3B0aW9ucyk7XG4gIGVsc2VcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLm1vbnQob3B0aW9ucyk7XG4gIHRoaXMuZyA9IHRoaXMuY3VydmUuZztcbiAgdGhpcy5uID0gdGhpcy5jdXJ2ZS5uO1xuICB0aGlzLmhhc2ggPSBvcHRpb25zLmhhc2g7XG5cbiAgYXNzZXJ0KHRoaXMuZy52YWxpZGF0ZSgpLCAnSW52YWxpZCBjdXJ2ZScpO1xuICBhc3NlcnQodGhpcy5nLm11bCh0aGlzLm4pLmlzSW5maW5pdHkoKSwgJ0ludmFsaWQgY3VydmUsIEcqTiAhPSBPJyk7XG59XG5jdXJ2ZXMuUHJlc2V0Q3VydmUgPSBQcmVzZXRDdXJ2ZTtcblxuZnVuY3Rpb24gZGVmaW5lQ3VydmUobmFtZSwgb3B0aW9ucykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3VydmVzLCBuYW1lLCB7XG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBjdXJ2ZSA9IG5ldyBQcmVzZXRDdXJ2ZShvcHRpb25zKTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJ2ZXMsIG5hbWUsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogY3VydmUsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjdXJ2ZTtcbiAgICB9LFxuICB9KTtcbn1cblxuZGVmaW5lQ3VydmUoJ3AxOTInLCB7XG4gIHR5cGU6ICdzaG9ydCcsXG4gIHByaW1lOiAncDE5MicsXG4gIHA6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicsXG4gIGE6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmYycsXG4gIGI6ICc2NDIxMDUxOSBlNTljODBlNyAwZmE3ZTlhYiA3MjI0MzA0OSBmZWI4ZGVlYyBjMTQ2YjliMScsXG4gIG46ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiA5OWRlZjgzNiAxNDZiYzliMSBiNGQyMjgzMScsXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxuICBnUmVkOiBmYWxzZSxcbiAgZzogW1xuICAgICcxODhkYTgwZSBiMDMwOTBmNiA3Y2JmMjBlYiA0M2ExODgwMCBmNGZmMGFmZCA4MmZmMTAxMicsXG4gICAgJzA3MTkyYjk1IGZmYzhkYTc4IDYzMTAxMWVkIDZiMjRjZGQ1IDczZjk3N2ExIDFlNzk0ODExJyxcbiAgXSxcbn0pO1xuXG5kZWZpbmVDdXJ2ZSgncDIyNCcsIHtcbiAgdHlwZTogJ3Nob3J0JyxcbiAgcHJpbWU6ICdwMjI0JyxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyxcbiAgYTogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlJyxcbiAgYjogJ2I0MDUwYTg1IDBjMDRiM2FiIGY1NDEzMjU2IDUwNDRiMGI3IGQ3YmZkOGJhIDI3MGIzOTQzIDIzNTVmZmI0JyxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkJyxcbiAgaGFzaDogaGFzaC5zaGEyNTYsXG4gIGdSZWQ6IGZhbHNlLFxuICBnOiBbXG4gICAgJ2I3MGUwY2JkIDZiYjRiZjdmIDMyMTM5MGI5IDRhMDNjMWQzIDU2YzIxMTIyIDM0MzI4MGQ2IDExNWMxZDIxJyxcbiAgICAnYmQzNzYzODggYjVmNzIzZmIgNGMyMmRmZTYgY2Q0Mzc1YTAgNWEwNzQ3NjQgNDRkNTgxOTkgODUwMDdlMzQnLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdwMjU2Jywge1xuICB0eXBlOiAnc2hvcnQnLFxuICBwcmltZTogbnVsbCxcbiAgcDogJ2ZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmJyxcbiAgYTogJ2ZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjJyxcbiAgYjogJzVhYzYzNWQ4IGFhM2E5M2U3IGIzZWJiZDU1IDc2OTg4NmJjIDY1MWQwNmIwIGNjNTNiMGY2IDNiY2UzYzNlIDI3ZDI2MDRiJyxcbiAgbjogJ2ZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxJyxcbiAgaGFzaDogaGFzaC5zaGEyNTYsXG4gIGdSZWQ6IGZhbHNlLFxuICBnOiBbXG4gICAgJzZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2JyxcbiAgICAnNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUnLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdwMzg0Jywge1xuICB0eXBlOiAnc2hvcnQnLFxuICBwcmltZTogbnVsbCxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICcgK1xuICAgICAnZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYnLFxuICBhOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXG4gICAgICdmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmYycsXG4gIGI6ICdiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiAnICtcbiAgICAgJzUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmJyxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGM3NjM0ZDgxICcgK1xuICAgICAnZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzMnLFxuICBoYXNoOiBoYXNoLnNoYTM4NCxcbiAgZ1JlZDogZmFsc2UsXG4gIGc6IFtcbiAgICAnYWE4N2NhMjIgYmU4YjA1MzcgOGViMWM3MWUgZjMyMGFkNzQgNmUxZDNiNjIgOGJhNzliOTggNTlmNzQxZTAgODI1NDJhMzggJyArXG4gICAgJzU1MDJmMjVkIGJmNTUyOTZjIDNhNTQ1ZTM4IDcyNzYwYWI3JyxcbiAgICAnMzYxN2RlNGEgOTYyNjJjNmYgNWQ5ZTk4YmYgOTI5MmRjMjkgZjhmNDFkYmQgMjg5YTE0N2MgZTlkYTMxMTMgYjVmMGI4YzAgJyArXG4gICAgJzBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmJyxcbiAgXSxcbn0pO1xuXG5kZWZpbmVDdXJ2ZSgncDUyMScsIHtcbiAgdHlwZTogJ3Nob3J0JyxcbiAgcHJpbWU6IG51bGwsXG4gIHA6ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcbiAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICcgK1xuICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYnLFxuICBhOiAnMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcbiAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjJyxcbiAgYjogJzAwMDAwMDUxIDk1M2ViOTYxIDhlMWM5YTFmIDkyOWEyMWEwIGI2ODU0MGVlIGEyZGE3MjViICcgK1xuICAgICAnOTliMzE1ZjMgYjhiNDg5OTEgOGVmMTA5ZTEgNTYxOTM5NTEgZWM3ZTkzN2IgMTY1MmMwYmQgJyArXG4gICAgICczYmIxYmYwNyAzNTczZGY4OCAzZDJjMzRmMSBlZjQ1MWZkNCA2YjUwM2YwMCcsXG4gIG46ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcbiAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZhIDUxODY4NzgzIGJmMmY5NjZiIDdmY2MwMTQ4ICcgK1xuICAgICAnZjcwOWE1ZDAgM2JiNWM5YjggODk5YzQ3YWUgYmI2ZmI3MWUgOTEzODY0MDknLFxuICBoYXNoOiBoYXNoLnNoYTUxMixcbiAgZ1JlZDogZmFsc2UsXG4gIGc6IFtcbiAgICAnMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgJyArXG4gICAgJzA1M2ZiNTIxIGY4MjhhZjYwIDZiNGQzZGJhIGExNGI1ZTc3IGVmZTc1OTI4IGZlMWRjMTI3ICcgK1xuICAgICdhMmZmYThkZSAzMzQ4YjNjMSA4NTZhNDI5YiBmOTdlN2UzMSBjMmU1YmQ2NicsXG4gICAgJzAwMDAwMTE4IDM5Mjk2YTc4IDlhM2JjMDA0IDVjOGE1ZmI0IDJjN2QxYmQ5IDk4ZjU0NDQ5ICcgK1xuICAgICc1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAnICtcbiAgICAnM2ZhZDA3NjEgMzUzYzcwODYgYTI3MmMyNDAgODhiZTk0NzYgOWZkMTY2NTAnLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdjdXJ2ZTI1NTE5Jywge1xuICB0eXBlOiAnbW9udCcsXG4gIHByaW1lOiAncDI1NTE5JyxcbiAgcDogJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnLFxuICBhOiAnNzZkMDYnLFxuICBiOiAnMScsXG4gIG46ICcxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkJyxcbiAgaGFzaDogaGFzaC5zaGEyNTYsXG4gIGdSZWQ6IGZhbHNlLFxuICBnOiBbXG4gICAgJzknLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdlZDI1NTE5Jywge1xuICB0eXBlOiAnZWR3YXJkcycsXG4gIHByaW1lOiAncDI1NTE5JyxcbiAgcDogJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnLFxuICBhOiAnLTEnLFxuICBjOiAnMScsXG4gIC8vIC0xMjE2NjUgKiAoMTIxNjY2XigtMSkpIChtb2QgUClcbiAgZDogJzUyMDM2Y2VlMmI2ZmZlNzMgOGNjNzQwNzk3Nzc5ZTg5OCAwMDcwMGE0ZDQxNDFkOGFiIDc1ZWI0ZGNhMTM1OTc4YTMnLFxuICBuOiAnMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCcsXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxuICBnUmVkOiBmYWxzZSxcbiAgZzogW1xuICAgICcyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhJyxcblxuICAgIC8vIDQvNVxuICAgICc2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjU4JyxcbiAgXSxcbn0pO1xuXG52YXIgcHJlO1xudHJ5IHtcbiAgcHJlID0gcmVxdWlyZSgnLi9wcmVjb21wdXRlZC9zZWNwMjU2azEnKTtcbn0gY2F0Y2ggKGUpIHtcbiAgcHJlID0gdW5kZWZpbmVkO1xufVxuXG5kZWZpbmVDdXJ2ZSgnc2VjcDI1NmsxJywge1xuICB0eXBlOiAnc2hvcnQnLFxuICBwcmltZTogJ2syNTYnLFxuICBwOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnLFxuICBhOiAnMCcsXG4gIGI6ICc3JyxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGJhYWVkY2U2IGFmNDhhMDNiIGJmZDI1ZThjIGQwMzY0MTQxJyxcbiAgaDogJzEnLFxuICBoYXNoOiBoYXNoLnNoYTI1NixcblxuICAvLyBQcmVjb21wdXRlZCBlbmRvbW9ycGhpc21cbiAgYmV0YTogJzdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUnLFxuICBsYW1iZGE6ICc1MzYzYWQ0Y2MwNWMzMGUwYTUyNjFjMDI4ODEyNjQ1YTEyMmUyMmVhMjA4MTY2NzhkZjAyOTY3YzFiMjNiZDcyJyxcbiAgYmFzaXM6IFtcbiAgICB7XG4gICAgICBhOiAnMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUnLFxuICAgICAgYjogJy1lNDQzN2VkNjAxMGU4ODI4NmY1NDdmYTkwYWJmZTRjMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhOiAnMTE0Y2E1MGY3YThlMmYzZjY1N2MxMTA4ZDlkNDRjZmQ4JyxcbiAgICAgIGI6ICczMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNScsXG4gICAgfSxcbiAgXSxcblxuICBnUmVkOiBmYWxzZSxcbiAgZzogW1xuICAgICc3OWJlNjY3ZWY5ZGNiYmFjNTVhMDYyOTVjZTg3MGIwNzAyOWJmY2RiMmRjZTI4ZDk1OWYyODE1YjE2ZjgxNzk4JyxcbiAgICAnNDgzYWRhNzcyNmEzYzQ2NTVkYTRmYmZjMGUxMTA4YThmZDE3YjQ0OGE2ODU1NDE5OWM0N2QwOGZmYjEwZDRiOCcsXG4gICAgcHJlLFxuICBdLFxufSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgSG1hY0RSQkcgPSByZXF1aXJlKCdobWFjLWRyYmcnKTtcbnZhciB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG52YXIgY3VydmVzID0gcmVxdWlyZSgnLi4vY3VydmVzJyk7XG52YXIgcmFuZCA9IHJlcXVpcmUoJ2Jyb3JhbmQnKTtcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG5cbnZhciBLZXlQYWlyID0gcmVxdWlyZSgnLi9rZXknKTtcbnZhciBTaWduYXR1cmUgPSByZXF1aXJlKCcuL3NpZ25hdHVyZScpO1xuXG5mdW5jdGlvbiBFQyhvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBFQykpXG4gICAgcmV0dXJuIG5ldyBFQyhvcHRpb25zKTtcblxuICAvLyBTaG9ydGN1dCBgZWxsaXB0aWMuZWMoY3VydmUtbmFtZSlgXG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICBhc3NlcnQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGN1cnZlcywgb3B0aW9ucyksXG4gICAgICAnVW5rbm93biBjdXJ2ZSAnICsgb3B0aW9ucyk7XG5cbiAgICBvcHRpb25zID0gY3VydmVzW29wdGlvbnNdO1xuICB9XG5cbiAgLy8gU2hvcnRjdXQgZm9yIGBlbGxpcHRpYy5lYyhlbGxpcHRpYy5jdXJ2ZXMuY3VydmVOYW1lKWBcbiAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBjdXJ2ZXMuUHJlc2V0Q3VydmUpXG4gICAgb3B0aW9ucyA9IHsgY3VydmU6IG9wdGlvbnMgfTtcblxuICB0aGlzLmN1cnZlID0gb3B0aW9ucy5jdXJ2ZS5jdXJ2ZTtcbiAgdGhpcy5uID0gdGhpcy5jdXJ2ZS5uO1xuICB0aGlzLm5oID0gdGhpcy5uLnVzaHJuKDEpO1xuICB0aGlzLmcgPSB0aGlzLmN1cnZlLmc7XG5cbiAgLy8gUG9pbnQgb24gY3VydmVcbiAgdGhpcy5nID0gb3B0aW9ucy5jdXJ2ZS5nO1xuICB0aGlzLmcucHJlY29tcHV0ZShvcHRpb25zLmN1cnZlLm4uYml0TGVuZ3RoKCkgKyAxKTtcblxuICAvLyBIYXNoIGZvciBmdW5jdGlvbiBmb3IgRFJCR1xuICB0aGlzLmhhc2ggPSBvcHRpb25zLmhhc2ggfHwgb3B0aW9ucy5jdXJ2ZS5oYXNoO1xufVxubW9kdWxlLmV4cG9ydHMgPSBFQztcblxuRUMucHJvdG90eXBlLmtleVBhaXIgPSBmdW5jdGlvbiBrZXlQYWlyKG9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKHRoaXMsIG9wdGlvbnMpO1xufTtcblxuRUMucHJvdG90eXBlLmtleUZyb21Qcml2YXRlID0gZnVuY3Rpb24ga2V5RnJvbVByaXZhdGUocHJpdiwgZW5jKSB7XG4gIHJldHVybiBLZXlQYWlyLmZyb21Qcml2YXRlKHRoaXMsIHByaXYsIGVuYyk7XG59O1xuXG5FQy5wcm90b3R5cGUua2V5RnJvbVB1YmxpYyA9IGZ1bmN0aW9uIGtleUZyb21QdWJsaWMocHViLCBlbmMpIHtcbiAgcmV0dXJuIEtleVBhaXIuZnJvbVB1YmxpYyh0aGlzLCBwdWIsIGVuYyk7XG59O1xuXG5FQy5wcm90b3R5cGUuZ2VuS2V5UGFpciA9IGZ1bmN0aW9uIGdlbktleVBhaXIob3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpXG4gICAgb3B0aW9ucyA9IHt9O1xuXG4gIC8vIEluc3RhbnRpYXRlIEhtYWNfRFJCR1xuICB2YXIgZHJiZyA9IG5ldyBIbWFjRFJCRyh7XG4gICAgaGFzaDogdGhpcy5oYXNoLFxuICAgIHBlcnM6IG9wdGlvbnMucGVycyxcbiAgICBwZXJzRW5jOiBvcHRpb25zLnBlcnNFbmMgfHwgJ3V0ZjgnLFxuICAgIGVudHJvcHk6IG9wdGlvbnMuZW50cm9weSB8fCByYW5kKHRoaXMuaGFzaC5obWFjU3RyZW5ndGgpLFxuICAgIGVudHJvcHlFbmM6IG9wdGlvbnMuZW50cm9weSAmJiBvcHRpb25zLmVudHJvcHlFbmMgfHwgJ3V0ZjgnLFxuICAgIG5vbmNlOiB0aGlzLm4udG9BcnJheSgpLFxuICB9KTtcblxuICB2YXIgYnl0ZXMgPSB0aGlzLm4uYnl0ZUxlbmd0aCgpO1xuICB2YXIgbnMyID0gdGhpcy5uLnN1YihuZXcgQk4oMikpO1xuICBmb3IgKDs7KSB7XG4gICAgdmFyIHByaXYgPSBuZXcgQk4oZHJiZy5nZW5lcmF0ZShieXRlcykpO1xuICAgIGlmIChwcml2LmNtcChuczIpID4gMClcbiAgICAgIGNvbnRpbnVlO1xuXG4gICAgcHJpdi5pYWRkbigxKTtcbiAgICByZXR1cm4gdGhpcy5rZXlGcm9tUHJpdmF0ZShwcml2KTtcbiAgfVxufTtcblxuRUMucHJvdG90eXBlLl90cnVuY2F0ZVRvTiA9IGZ1bmN0aW9uIF90cnVuY2F0ZVRvTihtc2csIHRydW5jT25seSkge1xuICB2YXIgZGVsdGEgPSBtc2cuYnl0ZUxlbmd0aCgpICogOCAtIHRoaXMubi5iaXRMZW5ndGgoKTtcbiAgaWYgKGRlbHRhID4gMClcbiAgICBtc2cgPSBtc2cudXNocm4oZGVsdGEpO1xuICBpZiAoIXRydW5jT25seSAmJiBtc2cuY21wKHRoaXMubikgPj0gMClcbiAgICByZXR1cm4gbXNnLnN1Yih0aGlzLm4pO1xuICBlbHNlXG4gICAgcmV0dXJuIG1zZztcbn07XG5cbkVDLnByb3RvdHlwZS5zaWduID0gZnVuY3Rpb24gc2lnbihtc2csIGtleSwgZW5jLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgZW5jID09PSAnb2JqZWN0Jykge1xuICAgIG9wdGlvbnMgPSBlbmM7XG4gICAgZW5jID0gbnVsbDtcbiAgfVxuICBpZiAoIW9wdGlvbnMpXG4gICAgb3B0aW9ucyA9IHt9O1xuXG4gIGtleSA9IHRoaXMua2V5RnJvbVByaXZhdGUoa2V5LCBlbmMpO1xuICBtc2cgPSB0aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4obXNnLCAxNikpO1xuXG4gIC8vIFplcm8tZXh0ZW5kIGtleSB0byBwcm92aWRlIGVub3VnaCBlbnRyb3B5XG4gIHZhciBieXRlcyA9IHRoaXMubi5ieXRlTGVuZ3RoKCk7XG4gIHZhciBia2V5ID0ga2V5LmdldFByaXZhdGUoKS50b0FycmF5KCdiZScsIGJ5dGVzKTtcblxuICAvLyBaZXJvLWV4dGVuZCBub25jZSB0byBoYXZlIHRoZSBzYW1lIGJ5dGUgc2l6ZSBhcyBOXG4gIHZhciBub25jZSA9IG1zZy50b0FycmF5KCdiZScsIGJ5dGVzKTtcblxuICAvLyBJbnN0YW50aWF0ZSBIbWFjX0RSQkdcbiAgdmFyIGRyYmcgPSBuZXcgSG1hY0RSQkcoe1xuICAgIGhhc2g6IHRoaXMuaGFzaCxcbiAgICBlbnRyb3B5OiBia2V5LFxuICAgIG5vbmNlOiBub25jZSxcbiAgICBwZXJzOiBvcHRpb25zLnBlcnMsXG4gICAgcGVyc0VuYzogb3B0aW9ucy5wZXJzRW5jIHx8ICd1dGY4JyxcbiAgfSk7XG5cbiAgLy8gTnVtYmVyIG9mIGJ5dGVzIHRvIGdlbmVyYXRlXG4gIHZhciBuczEgPSB0aGlzLm4uc3ViKG5ldyBCTigxKSk7XG5cbiAgZm9yICh2YXIgaXRlciA9IDA7IDsgaXRlcisrKSB7XG4gICAgdmFyIGsgPSBvcHRpb25zLmsgP1xuICAgICAgb3B0aW9ucy5rKGl0ZXIpIDpcbiAgICAgIG5ldyBCTihkcmJnLmdlbmVyYXRlKHRoaXMubi5ieXRlTGVuZ3RoKCkpKTtcbiAgICBrID0gdGhpcy5fdHJ1bmNhdGVUb04oaywgdHJ1ZSk7XG4gICAgaWYgKGsuY21wbigxKSA8PSAwIHx8IGsuY21wKG5zMSkgPj0gMClcbiAgICAgIGNvbnRpbnVlO1xuXG4gICAgdmFyIGtwID0gdGhpcy5nLm11bChrKTtcbiAgICBpZiAoa3AuaXNJbmZpbml0eSgpKVxuICAgICAgY29udGludWU7XG5cbiAgICB2YXIga3BYID0ga3AuZ2V0WCgpO1xuICAgIHZhciByID0ga3BYLnVtb2QodGhpcy5uKTtcbiAgICBpZiAoci5jbXBuKDApID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICB2YXIgcyA9IGsuaW52bSh0aGlzLm4pLm11bChyLm11bChrZXkuZ2V0UHJpdmF0ZSgpKS5pYWRkKG1zZykpO1xuICAgIHMgPSBzLnVtb2QodGhpcy5uKTtcbiAgICBpZiAocy5jbXBuKDApID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICB2YXIgcmVjb3ZlcnlQYXJhbSA9IChrcC5nZXRZKCkuaXNPZGQoKSA/IDEgOiAwKSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAoa3BYLmNtcChyKSAhPT0gMCA/IDIgOiAwKTtcblxuICAgIC8vIFVzZSBjb21wbGVtZW50IG9mIGBzYCwgaWYgaXQgaXMgPiBgbiAvIDJgXG4gICAgaWYgKG9wdGlvbnMuY2Fub25pY2FsICYmIHMuY21wKHRoaXMubmgpID4gMCkge1xuICAgICAgcyA9IHRoaXMubi5zdWIocyk7XG4gICAgICByZWNvdmVyeVBhcmFtIF49IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTaWduYXR1cmUoeyByOiByLCBzOiBzLCByZWNvdmVyeVBhcmFtOiByZWNvdmVyeVBhcmFtIH0pO1xuICB9XG59O1xuXG5FQy5wcm90b3R5cGUudmVyaWZ5ID0gZnVuY3Rpb24gdmVyaWZ5KG1zZywgc2lnbmF0dXJlLCBrZXksIGVuYykge1xuICBtc2cgPSB0aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4obXNnLCAxNikpO1xuICBrZXkgPSB0aGlzLmtleUZyb21QdWJsaWMoa2V5LCBlbmMpO1xuICBzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlKHNpZ25hdHVyZSwgJ2hleCcpO1xuXG4gIC8vIFBlcmZvcm0gcHJpbWl0aXZlIHZhbHVlcyB2YWxpZGF0aW9uXG4gIHZhciByID0gc2lnbmF0dXJlLnI7XG4gIHZhciBzID0gc2lnbmF0dXJlLnM7XG4gIGlmIChyLmNtcG4oMSkgPCAwIHx8IHIuY21wKHRoaXMubikgPj0gMClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChzLmNtcG4oMSkgPCAwIHx8IHMuY21wKHRoaXMubikgPj0gMClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gVmFsaWRhdGUgc2lnbmF0dXJlXG4gIHZhciBzaW52ID0gcy5pbnZtKHRoaXMubik7XG4gIHZhciB1MSA9IHNpbnYubXVsKG1zZykudW1vZCh0aGlzLm4pO1xuICB2YXIgdTIgPSBzaW52Lm11bChyKS51bW9kKHRoaXMubik7XG4gIHZhciBwO1xuXG4gIGlmICghdGhpcy5jdXJ2ZS5fbWF4d2VsbFRyaWNrKSB7XG4gICAgcCA9IHRoaXMuZy5tdWxBZGQodTEsIGtleS5nZXRQdWJsaWMoKSwgdTIpO1xuICAgIGlmIChwLmlzSW5maW5pdHkoKSlcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiBwLmdldFgoKS51bW9kKHRoaXMubikuY21wKHIpID09PSAwO1xuICB9XG5cbiAgLy8gTk9URTogR3JlZyBNYXh3ZWxsJ3MgdHJpY2ssIGluc3BpcmVkIGJ5OlxuICAvLyBodHRwczovL2dpdC5pby92YWQzS1xuXG4gIHAgPSB0aGlzLmcuam11bEFkZCh1MSwga2V5LmdldFB1YmxpYygpLCB1Mik7XG4gIGlmIChwLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gQ29tcGFyZSBgcC54YCBvZiBKYWNvYmlhbiBwb2ludCB3aXRoIGByYCxcbiAgLy8gdGhpcyB3aWxsIGRvIGBwLnggPT0gciAqIHAuel4yYCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5nIGBwLnhgIGJ5IHRoZVxuICAvLyBpbnZlcnNlIG9mIGBwLnpeMmBcbiAgcmV0dXJuIHAuZXFYVG9QKHIpO1xufTtcblxuRUMucHJvdG90eXBlLnJlY292ZXJQdWJLZXkgPSBmdW5jdGlvbihtc2csIHNpZ25hdHVyZSwgaiwgZW5jKSB7XG4gIGFzc2VydCgoMyAmIGopID09PSBqLCAnVGhlIHJlY292ZXJ5IHBhcmFtIGlzIG1vcmUgdGhhbiB0d28gYml0cycpO1xuICBzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlKHNpZ25hdHVyZSwgZW5jKTtcblxuICB2YXIgbiA9IHRoaXMubjtcbiAgdmFyIGUgPSBuZXcgQk4obXNnKTtcbiAgdmFyIHIgPSBzaWduYXR1cmUucjtcbiAgdmFyIHMgPSBzaWduYXR1cmUucztcblxuICAvLyBBIHNldCBMU0Igc2lnbmlmaWVzIHRoYXQgdGhlIHktY29vcmRpbmF0ZSBpcyBvZGRcbiAgdmFyIGlzWU9kZCA9IGogJiAxO1xuICB2YXIgaXNTZWNvbmRLZXkgPSBqID4+IDE7XG4gIGlmIChyLmNtcCh0aGlzLmN1cnZlLnAudW1vZCh0aGlzLmN1cnZlLm4pKSA+PSAwICYmIGlzU2Vjb25kS2V5KVxuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlJyk7XG5cbiAgLy8gMS4xLiBMZXQgeCA9IHIgKyBqbi5cbiAgaWYgKGlzU2Vjb25kS2V5KVxuICAgIHIgPSB0aGlzLmN1cnZlLnBvaW50RnJvbVgoci5hZGQodGhpcy5jdXJ2ZS5uKSwgaXNZT2RkKTtcbiAgZWxzZVxuICAgIHIgPSB0aGlzLmN1cnZlLnBvaW50RnJvbVgociwgaXNZT2RkKTtcblxuICB2YXIgckludiA9IHNpZ25hdHVyZS5yLmludm0obik7XG4gIHZhciBzMSA9IG4uc3ViKGUpLm11bChySW52KS51bW9kKG4pO1xuICB2YXIgczIgPSBzLm11bChySW52KS51bW9kKG4pO1xuXG4gIC8vIDEuNi4xIENvbXB1dGUgUSA9IHJeLTEgKHNSIC0gIGVHKVxuICAvLyAgICAgICAgICAgICAgIFEgPSByXi0xIChzUiArIC1lRylcbiAgcmV0dXJuIHRoaXMuZy5tdWxBZGQoczEsIHIsIHMyKTtcbn07XG5cbkVDLnByb3RvdHlwZS5nZXRLZXlSZWNvdmVyeVBhcmFtID0gZnVuY3Rpb24oZSwgc2lnbmF0dXJlLCBRLCBlbmMpIHtcbiAgc2lnbmF0dXJlID0gbmV3IFNpZ25hdHVyZShzaWduYXR1cmUsIGVuYyk7XG4gIGlmIChzaWduYXR1cmUucmVjb3ZlcnlQYXJhbSAhPT0gbnVsbClcbiAgICByZXR1cm4gc2lnbmF0dXJlLnJlY292ZXJ5UGFyYW07XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICB2YXIgUXByaW1lO1xuICAgIHRyeSB7XG4gICAgICBRcHJpbWUgPSB0aGlzLnJlY292ZXJQdWJLZXkoZSwgc2lnbmF0dXJlLCBpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoUXByaW1lLmVxKFEpKVxuICAgICAgcmV0dXJuIGk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCB2YWxpZCByZWNvdmVyeSBmYWN0b3InKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gS2V5UGFpcihlYywgb3B0aW9ucykge1xuICB0aGlzLmVjID0gZWM7XG4gIHRoaXMucHJpdiA9IG51bGw7XG4gIHRoaXMucHViID0gbnVsbDtcblxuICAvLyBLZXlQYWlyKGVjLCB7IHByaXY6IC4uLiwgcHViOiAuLi4gfSlcbiAgaWYgKG9wdGlvbnMucHJpdilcbiAgICB0aGlzLl9pbXBvcnRQcml2YXRlKG9wdGlvbnMucHJpdiwgb3B0aW9ucy5wcml2RW5jKTtcbiAgaWYgKG9wdGlvbnMucHViKVxuICAgIHRoaXMuX2ltcG9ydFB1YmxpYyhvcHRpb25zLnB1Yiwgb3B0aW9ucy5wdWJFbmMpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBLZXlQYWlyO1xuXG5LZXlQYWlyLmZyb21QdWJsaWMgPSBmdW5jdGlvbiBmcm9tUHVibGljKGVjLCBwdWIsIGVuYykge1xuICBpZiAocHViIGluc3RhbmNlb2YgS2V5UGFpcilcbiAgICByZXR1cm4gcHViO1xuXG4gIHJldHVybiBuZXcgS2V5UGFpcihlYywge1xuICAgIHB1YjogcHViLFxuICAgIHB1YkVuYzogZW5jLFxuICB9KTtcbn07XG5cbktleVBhaXIuZnJvbVByaXZhdGUgPSBmdW5jdGlvbiBmcm9tUHJpdmF0ZShlYywgcHJpdiwgZW5jKSB7XG4gIGlmIChwcml2IGluc3RhbmNlb2YgS2V5UGFpcilcbiAgICByZXR1cm4gcHJpdjtcblxuICByZXR1cm4gbmV3IEtleVBhaXIoZWMsIHtcbiAgICBwcml2OiBwcml2LFxuICAgIHByaXZFbmM6IGVuYyxcbiAgfSk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKCkge1xuICB2YXIgcHViID0gdGhpcy5nZXRQdWJsaWMoKTtcblxuICBpZiAocHViLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4geyByZXN1bHQ6IGZhbHNlLCByZWFzb246ICdJbnZhbGlkIHB1YmxpYyBrZXknIH07XG4gIGlmICghcHViLnZhbGlkYXRlKCkpXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnUHVibGljIGtleSBpcyBub3QgYSBwb2ludCcgfTtcbiAgaWYgKCFwdWIubXVsKHRoaXMuZWMuY3VydmUubikuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB7IHJlc3VsdDogZmFsc2UsIHJlYXNvbjogJ1B1YmxpYyBrZXkgKiBOICE9IE8nIH07XG5cbiAgcmV0dXJuIHsgcmVzdWx0OiB0cnVlLCByZWFzb246IG51bGwgfTtcbn07XG5cbktleVBhaXIucHJvdG90eXBlLmdldFB1YmxpYyA9IGZ1bmN0aW9uIGdldFB1YmxpYyhjb21wYWN0LCBlbmMpIHtcbiAgLy8gY29tcGFjdCBpcyBvcHRpb25hbCBhcmd1bWVudFxuICBpZiAodHlwZW9mIGNvbXBhY3QgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jID0gY29tcGFjdDtcbiAgICBjb21wYWN0ID0gbnVsbDtcbiAgfVxuXG4gIGlmICghdGhpcy5wdWIpXG4gICAgdGhpcy5wdWIgPSB0aGlzLmVjLmcubXVsKHRoaXMucHJpdik7XG5cbiAgaWYgKCFlbmMpXG4gICAgcmV0dXJuIHRoaXMucHViO1xuXG4gIHJldHVybiB0aGlzLnB1Yi5lbmNvZGUoZW5jLCBjb21wYWN0KTtcbn07XG5cbktleVBhaXIucHJvdG90eXBlLmdldFByaXZhdGUgPSBmdW5jdGlvbiBnZXRQcml2YXRlKGVuYykge1xuICBpZiAoZW5jID09PSAnaGV4JylcbiAgICByZXR1cm4gdGhpcy5wcml2LnRvU3RyaW5nKDE2LCAyKTtcbiAgZWxzZVxuICAgIHJldHVybiB0aGlzLnByaXY7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHJpdmF0ZSA9IGZ1bmN0aW9uIF9pbXBvcnRQcml2YXRlKGtleSwgZW5jKSB7XG4gIHRoaXMucHJpdiA9IG5ldyBCTihrZXksIGVuYyB8fCAxNik7XG5cbiAgLy8gRW5zdXJlIHRoYXQgdGhlIHByaXYgd29uJ3QgYmUgYmlnZ2VyIHRoYW4gbiwgb3RoZXJ3aXNlIHdlIG1heSBmYWlsXG4gIC8vIGluIGZpeGVkIG11bHRpcGxpY2F0aW9uIG1ldGhvZFxuICB0aGlzLnByaXYgPSB0aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pO1xufTtcblxuS2V5UGFpci5wcm90b3R5cGUuX2ltcG9ydFB1YmxpYyA9IGZ1bmN0aW9uIF9pbXBvcnRQdWJsaWMoa2V5LCBlbmMpIHtcbiAgaWYgKGtleS54IHx8IGtleS55KSB7XG4gICAgLy8gTW9udGdvbWVyeSBwb2ludHMgb25seSBoYXZlIGFuIGB4YCBjb29yZGluYXRlLlxuICAgIC8vIFdlaWVyc3RyYXNzL0Vkd2FyZHMgcG9pbnRzIG9uIHRoZSBvdGhlciBoYW5kIGhhdmUgYm90aCBgeGAgYW5kXG4gICAgLy8gYHlgIGNvb3JkaW5hdGVzLlxuICAgIGlmICh0aGlzLmVjLmN1cnZlLnR5cGUgPT09ICdtb250Jykge1xuICAgICAgYXNzZXJ0KGtleS54LCAnTmVlZCB4IGNvb3JkaW5hdGUnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWMuY3VydmUudHlwZSA9PT0gJ3Nob3J0JyB8fFxuICAgICAgICAgICAgICAgdGhpcy5lYy5jdXJ2ZS50eXBlID09PSAnZWR3YXJkcycpIHtcbiAgICAgIGFzc2VydChrZXkueCAmJiBrZXkueSwgJ05lZWQgYm90aCB4IGFuZCB5IGNvb3JkaW5hdGUnKTtcbiAgICB9XG4gICAgdGhpcy5wdWIgPSB0aGlzLmVjLmN1cnZlLnBvaW50KGtleS54LCBrZXkueSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIHRoaXMucHViID0gdGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludChrZXksIGVuYyk7XG59O1xuXG4vLyBFQ0RIXG5LZXlQYWlyLnByb3RvdHlwZS5kZXJpdmUgPSBmdW5jdGlvbiBkZXJpdmUocHViKSB7XG4gIGlmKCFwdWIudmFsaWRhdGUoKSkge1xuICAgIGFzc2VydChwdWIudmFsaWRhdGUoKSwgJ3B1YmxpYyBwb2ludCBub3QgdmFsaWRhdGVkJyk7XG4gIH1cbiAgcmV0dXJuIHB1Yi5tdWwodGhpcy5wcml2KS5nZXRYKCk7XG59O1xuXG4vLyBFQ0RTQVxuS2V5UGFpci5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ24obXNnLCBlbmMsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMuZWMuc2lnbihtc2csIHRoaXMsIGVuYywgb3B0aW9ucyk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobXNnLCBzaWduYXR1cmUpIHtcbiAgcmV0dXJuIHRoaXMuZWMudmVyaWZ5KG1zZywgc2lnbmF0dXJlLCB0aGlzKTtcbn07XG5cbktleVBhaXIucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICByZXR1cm4gJzxLZXkgcHJpdjogJyArICh0aGlzLnByaXYgJiYgdGhpcy5wcml2LnRvU3RyaW5nKDE2LCAyKSkgK1xuICAgICAgICAgJyBwdWI6ICcgKyAodGhpcy5wdWIgJiYgdGhpcy5wdWIuaW5zcGVjdCgpKSArICcgPic7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gU2lnbmF0dXJlKG9wdGlvbnMsIGVuYykge1xuICBpZiAob3B0aW9ucyBpbnN0YW5jZW9mIFNpZ25hdHVyZSlcbiAgICByZXR1cm4gb3B0aW9ucztcblxuICBpZiAodGhpcy5faW1wb3J0REVSKG9wdGlvbnMsIGVuYykpXG4gICAgcmV0dXJuO1xuXG4gIGFzc2VydChvcHRpb25zLnIgJiYgb3B0aW9ucy5zLCAnU2lnbmF0dXJlIHdpdGhvdXQgciBvciBzJyk7XG4gIHRoaXMuciA9IG5ldyBCTihvcHRpb25zLnIsIDE2KTtcbiAgdGhpcy5zID0gbmV3IEJOKG9wdGlvbnMucywgMTYpO1xuICBpZiAob3B0aW9ucy5yZWNvdmVyeVBhcmFtID09PSB1bmRlZmluZWQpXG4gICAgdGhpcy5yZWNvdmVyeVBhcmFtID0gbnVsbDtcbiAgZWxzZVxuICAgIHRoaXMucmVjb3ZlcnlQYXJhbSA9IG9wdGlvbnMucmVjb3ZlcnlQYXJhbTtcbn1cbm1vZHVsZS5leHBvcnRzID0gU2lnbmF0dXJlO1xuXG5mdW5jdGlvbiBQb3NpdGlvbigpIHtcbiAgdGhpcy5wbGFjZSA9IDA7XG59XG5cbmZ1bmN0aW9uIGdldExlbmd0aChidWYsIHApIHtcbiAgdmFyIGluaXRpYWwgPSBidWZbcC5wbGFjZSsrXTtcbiAgaWYgKCEoaW5pdGlhbCAmIDB4ODApKSB7XG4gICAgcmV0dXJuIGluaXRpYWw7XG4gIH1cbiAgdmFyIG9jdGV0TGVuID0gaW5pdGlhbCAmIDB4ZjtcblxuICAvLyBJbmRlZmluaXRlIGxlbmd0aCBvciBvdmVyZmxvd1xuICBpZiAob2N0ZXRMZW4gPT09IDAgfHwgb2N0ZXRMZW4gPiA0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHZhbCA9IDA7XG4gIGZvciAodmFyIGkgPSAwLCBvZmYgPSBwLnBsYWNlOyBpIDwgb2N0ZXRMZW47IGkrKywgb2ZmKyspIHtcbiAgICB2YWwgPDw9IDg7XG4gICAgdmFsIHw9IGJ1ZltvZmZdO1xuICAgIHZhbCA+Pj49IDA7XG4gIH1cblxuICAvLyBMZWFkaW5nIHplcm9lc1xuICBpZiAodmFsIDw9IDB4N2YpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwLnBsYWNlID0gb2ZmO1xuICByZXR1cm4gdmFsO1xufVxuXG5mdW5jdGlvbiBybVBhZGRpbmcoYnVmKSB7XG4gIHZhciBpID0gMDtcbiAgdmFyIGxlbiA9IGJ1Zi5sZW5ndGggLSAxO1xuICB3aGlsZSAoIWJ1ZltpXSAmJiAhKGJ1ZltpICsgMV0gJiAweDgwKSAmJiBpIDwgbGVuKSB7XG4gICAgaSsrO1xuICB9XG4gIGlmIChpID09PSAwKSB7XG4gICAgcmV0dXJuIGJ1ZjtcbiAgfVxuICByZXR1cm4gYnVmLnNsaWNlKGkpO1xufVxuXG5TaWduYXR1cmUucHJvdG90eXBlLl9pbXBvcnRERVIgPSBmdW5jdGlvbiBfaW1wb3J0REVSKGRhdGEsIGVuYykge1xuICBkYXRhID0gdXRpbHMudG9BcnJheShkYXRhLCBlbmMpO1xuICB2YXIgcCA9IG5ldyBQb3NpdGlvbigpO1xuICBpZiAoZGF0YVtwLnBsYWNlKytdICE9PSAweDMwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XG4gIGlmIChsZW4gPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgobGVuICsgcC5wbGFjZSkgIT09IGRhdGEubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChkYXRhW3AucGxhY2UrK10gIT09IDB4MDIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHJsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XG4gIGlmIChybGVuID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgciA9IGRhdGEuc2xpY2UocC5wbGFjZSwgcmxlbiArIHAucGxhY2UpO1xuICBwLnBsYWNlICs9IHJsZW47XG4gIGlmIChkYXRhW3AucGxhY2UrK10gIT09IDB4MDIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHNsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XG4gIGlmIChzbGVuID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZGF0YS5sZW5ndGggIT09IHNsZW4gKyBwLnBsYWNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBzID0gZGF0YS5zbGljZShwLnBsYWNlLCBzbGVuICsgcC5wbGFjZSk7XG4gIGlmIChyWzBdID09PSAwKSB7XG4gICAgaWYgKHJbMV0gJiAweDgwKSB7XG4gICAgICByID0gci5zbGljZSgxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTGVhZGluZyB6ZXJvZXNcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKHNbMF0gPT09IDApIHtcbiAgICBpZiAoc1sxXSAmIDB4ODApIHtcbiAgICAgIHMgPSBzLnNsaWNlKDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMZWFkaW5nIHplcm9lc1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRoaXMuciA9IG5ldyBCTihyKTtcbiAgdGhpcy5zID0gbmV3IEJOKHMpO1xuICB0aGlzLnJlY292ZXJ5UGFyYW0gPSBudWxsO1xuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZnVuY3Rpb24gY29uc3RydWN0TGVuZ3RoKGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPCAweDgwKSB7XG4gICAgYXJyLnB1c2gobGVuKTtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG9jdGV0cyA9IDEgKyAoTWF0aC5sb2cobGVuKSAvIE1hdGguTE4yID4+PiAzKTtcbiAgYXJyLnB1c2gob2N0ZXRzIHwgMHg4MCk7XG4gIHdoaWxlICgtLW9jdGV0cykge1xuICAgIGFyci5wdXNoKChsZW4gPj4+IChvY3RldHMgPDwgMykpICYgMHhmZik7XG4gIH1cbiAgYXJyLnB1c2gobGVuKTtcbn1cblxuU2lnbmF0dXJlLnByb3RvdHlwZS50b0RFUiA9IGZ1bmN0aW9uIHRvREVSKGVuYykge1xuICB2YXIgciA9IHRoaXMuci50b0FycmF5KCk7XG4gIHZhciBzID0gdGhpcy5zLnRvQXJyYXkoKTtcblxuICAvLyBQYWQgdmFsdWVzXG4gIGlmIChyWzBdICYgMHg4MClcbiAgICByID0gWyAwIF0uY29uY2F0KHIpO1xuICAvLyBQYWQgdmFsdWVzXG4gIGlmIChzWzBdICYgMHg4MClcbiAgICBzID0gWyAwIF0uY29uY2F0KHMpO1xuXG4gIHIgPSBybVBhZGRpbmcocik7XG4gIHMgPSBybVBhZGRpbmcocyk7XG5cbiAgd2hpbGUgKCFzWzBdICYmICEoc1sxXSAmIDB4ODApKSB7XG4gICAgcyA9IHMuc2xpY2UoMSk7XG4gIH1cbiAgdmFyIGFyciA9IFsgMHgwMiBdO1xuICBjb25zdHJ1Y3RMZW5ndGgoYXJyLCByLmxlbmd0aCk7XG4gIGFyciA9IGFyci5jb25jYXQocik7XG4gIGFyci5wdXNoKDB4MDIpO1xuICBjb25zdHJ1Y3RMZW5ndGgoYXJyLCBzLmxlbmd0aCk7XG4gIHZhciBiYWNrSGFsZiA9IGFyci5jb25jYXQocyk7XG4gIHZhciByZXMgPSBbIDB4MzAgXTtcbiAgY29uc3RydWN0TGVuZ3RoKHJlcywgYmFja0hhbGYubGVuZ3RoKTtcbiAgcmVzID0gcmVzLmNvbmNhdChiYWNrSGFsZik7XG4gIHJldHVybiB1dGlscy5lbmNvZGUocmVzLCBlbmMpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGhhc2ggPSByZXF1aXJlKCdoYXNoLmpzJyk7XG52YXIgY3VydmVzID0gcmVxdWlyZSgnLi4vY3VydmVzJyk7XG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcbnZhciBwYXJzZUJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcztcbnZhciBLZXlQYWlyID0gcmVxdWlyZSgnLi9rZXknKTtcbnZhciBTaWduYXR1cmUgPSByZXF1aXJlKCcuL3NpZ25hdHVyZScpO1xuXG5mdW5jdGlvbiBFRERTQShjdXJ2ZSkge1xuICBhc3NlcnQoY3VydmUgPT09ICdlZDI1NTE5JywgJ29ubHkgdGVzdGVkIHdpdGggZWQyNTUxOSBzbyBmYXInKTtcblxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgRUREU0EpKVxuICAgIHJldHVybiBuZXcgRUREU0EoY3VydmUpO1xuXG4gIGN1cnZlID0gY3VydmVzW2N1cnZlXS5jdXJ2ZTtcbiAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xuICB0aGlzLmcgPSBjdXJ2ZS5nO1xuICB0aGlzLmcucHJlY29tcHV0ZShjdXJ2ZS5uLmJpdExlbmd0aCgpICsgMSk7XG5cbiAgdGhpcy5wb2ludENsYXNzID0gY3VydmUucG9pbnQoKS5jb25zdHJ1Y3RvcjtcbiAgdGhpcy5lbmNvZGluZ0xlbmd0aCA9IE1hdGguY2VpbChjdXJ2ZS5uLmJpdExlbmd0aCgpIC8gOCk7XG4gIHRoaXMuaGFzaCA9IGhhc2guc2hhNTEyO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEVERFNBO1xuXG4vKipcbiogQHBhcmFtIHtBcnJheXxTdHJpbmd9IG1lc3NhZ2UgLSBtZXNzYWdlIGJ5dGVzXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfEtleVBhaXJ9IHNlY3JldCAtIHNlY3JldCBieXRlcyBvciBhIGtleXBhaXJcbiogQHJldHVybnMge1NpZ25hdHVyZX0gLSBzaWduYXR1cmVcbiovXG5FRERTQS5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ24obWVzc2FnZSwgc2VjcmV0KSB7XG4gIG1lc3NhZ2UgPSBwYXJzZUJ5dGVzKG1lc3NhZ2UpO1xuICB2YXIga2V5ID0gdGhpcy5rZXlGcm9tU2VjcmV0KHNlY3JldCk7XG4gIHZhciByID0gdGhpcy5oYXNoSW50KGtleS5tZXNzYWdlUHJlZml4KCksIG1lc3NhZ2UpO1xuICB2YXIgUiA9IHRoaXMuZy5tdWwocik7XG4gIHZhciBSZW5jb2RlZCA9IHRoaXMuZW5jb2RlUG9pbnQoUik7XG4gIHZhciBzXyA9IHRoaXMuaGFzaEludChSZW5jb2RlZCwga2V5LnB1YkJ5dGVzKCksIG1lc3NhZ2UpXG4gICAgLm11bChrZXkucHJpdigpKTtcbiAgdmFyIFMgPSByLmFkZChzXykudW1vZCh0aGlzLmN1cnZlLm4pO1xuICByZXR1cm4gdGhpcy5tYWtlU2lnbmF0dXJlKHsgUjogUiwgUzogUywgUmVuY29kZWQ6IFJlbmNvZGVkIH0pO1xufTtcblxuLyoqXG4qIEBwYXJhbSB7QXJyYXl9IG1lc3NhZ2UgLSBtZXNzYWdlIGJ5dGVzXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfFNpZ25hdHVyZX0gc2lnIC0gc2lnIGJ5dGVzXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfFBvaW50fEtleVBhaXJ9IHB1YiAtIHB1YmxpYyBrZXlcbiogQHJldHVybnMge0Jvb2xlYW59IC0gdHJ1ZSBpZiBwdWJsaWMga2V5IG1hdGNoZXMgc2lnIG9mIG1lc3NhZ2VcbiovXG5FRERTQS5wcm90b3R5cGUudmVyaWZ5ID0gZnVuY3Rpb24gdmVyaWZ5KG1lc3NhZ2UsIHNpZywgcHViKSB7XG4gIG1lc3NhZ2UgPSBwYXJzZUJ5dGVzKG1lc3NhZ2UpO1xuICBzaWcgPSB0aGlzLm1ha2VTaWduYXR1cmUoc2lnKTtcbiAgdmFyIGtleSA9IHRoaXMua2V5RnJvbVB1YmxpYyhwdWIpO1xuICB2YXIgaCA9IHRoaXMuaGFzaEludChzaWcuUmVuY29kZWQoKSwga2V5LnB1YkJ5dGVzKCksIG1lc3NhZ2UpO1xuICB2YXIgU0cgPSB0aGlzLmcubXVsKHNpZy5TKCkpO1xuICB2YXIgUnBsdXNBaCA9IHNpZy5SKCkuYWRkKGtleS5wdWIoKS5tdWwoaCkpO1xuICByZXR1cm4gUnBsdXNBaC5lcShTRyk7XG59O1xuXG5FRERTQS5wcm90b3R5cGUuaGFzaEludCA9IGZ1bmN0aW9uIGhhc2hJbnQoKSB7XG4gIHZhciBoYXNoID0gdGhpcy5oYXNoKCk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgIGhhc2gudXBkYXRlKGFyZ3VtZW50c1tpXSk7XG4gIHJldHVybiB1dGlscy5pbnRGcm9tTEUoaGFzaC5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pO1xufTtcblxuRUREU0EucHJvdG90eXBlLmtleUZyb21QdWJsaWMgPSBmdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1Yikge1xuICByZXR1cm4gS2V5UGFpci5mcm9tUHVibGljKHRoaXMsIHB1Yik7XG59O1xuXG5FRERTQS5wcm90b3R5cGUua2V5RnJvbVNlY3JldCA9IGZ1bmN0aW9uIGtleUZyb21TZWNyZXQoc2VjcmV0KSB7XG4gIHJldHVybiBLZXlQYWlyLmZyb21TZWNyZXQodGhpcywgc2VjcmV0KTtcbn07XG5cbkVERFNBLnByb3RvdHlwZS5tYWtlU2lnbmF0dXJlID0gZnVuY3Rpb24gbWFrZVNpZ25hdHVyZShzaWcpIHtcbiAgaWYgKHNpZyBpbnN0YW5jZW9mIFNpZ25hdHVyZSlcbiAgICByZXR1cm4gc2lnO1xuICByZXR1cm4gbmV3IFNpZ25hdHVyZSh0aGlzLCBzaWcpO1xufTtcblxuLyoqXG4qICogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWpvc2Vmc3Nvbi1lZGRzYS1lZDI1NTE5LTAzI3NlY3Rpb24tNS4yXG4qXG4qIEVERFNBIGRlZmluZXMgbWV0aG9kcyBmb3IgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHBvaW50cyBhbmQgaW50ZWdlcnMuIFRoZXNlIGFyZVxuKiBoZWxwZXIgY29udmVuaWVuY2UgbWV0aG9kcywgdGhhdCBwYXNzIGFsb25nIHRvIHV0aWxpdHkgZnVuY3Rpb25zIGltcGxpZWRcbiogcGFyYW1ldGVycy5cbipcbiovXG5FRERTQS5wcm90b3R5cGUuZW5jb2RlUG9pbnQgPSBmdW5jdGlvbiBlbmNvZGVQb2ludChwb2ludCkge1xuICB2YXIgZW5jID0gcG9pbnQuZ2V0WSgpLnRvQXJyYXkoJ2xlJywgdGhpcy5lbmNvZGluZ0xlbmd0aCk7XG4gIGVuY1t0aGlzLmVuY29kaW5nTGVuZ3RoIC0gMV0gfD0gcG9pbnQuZ2V0WCgpLmlzT2RkKCkgPyAweDgwIDogMDtcbiAgcmV0dXJuIGVuYztcbn07XG5cbkVERFNBLnByb3RvdHlwZS5kZWNvZGVQb2ludCA9IGZ1bmN0aW9uIGRlY29kZVBvaW50KGJ5dGVzKSB7XG4gIGJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcyhieXRlcyk7XG5cbiAgdmFyIGxhc3RJeCA9IGJ5dGVzLmxlbmd0aCAtIDE7XG4gIHZhciBub3JtZWQgPSBieXRlcy5zbGljZSgwLCBsYXN0SXgpLmNvbmNhdChieXRlc1tsYXN0SXhdICYgfjB4ODApO1xuICB2YXIgeElzT2RkID0gKGJ5dGVzW2xhc3RJeF0gJiAweDgwKSAhPT0gMDtcblxuICB2YXIgeSA9IHV0aWxzLmludEZyb21MRShub3JtZWQpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKHksIHhJc09kZCk7XG59O1xuXG5FRERTQS5wcm90b3R5cGUuZW5jb2RlSW50ID0gZnVuY3Rpb24gZW5jb2RlSW50KG51bSkge1xuICByZXR1cm4gbnVtLnRvQXJyYXkoJ2xlJywgdGhpcy5lbmNvZGluZ0xlbmd0aCk7XG59O1xuXG5FRERTQS5wcm90b3R5cGUuZGVjb2RlSW50ID0gZnVuY3Rpb24gZGVjb2RlSW50KGJ5dGVzKSB7XG4gIHJldHVybiB1dGlscy5pbnRGcm9tTEUoYnl0ZXMpO1xufTtcblxuRUREU0EucHJvdG90eXBlLmlzUG9pbnQgPSBmdW5jdGlvbiBpc1BvaW50KHZhbCkge1xuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgdGhpcy5wb2ludENsYXNzO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG52YXIgcGFyc2VCeXRlcyA9IHV0aWxzLnBhcnNlQnl0ZXM7XG52YXIgY2FjaGVkUHJvcGVydHkgPSB1dGlscy5jYWNoZWRQcm9wZXJ0eTtcblxuLyoqXG4qIEBwYXJhbSB7RUREU0F9IGVkZHNhIC0gaW5zdGFuY2VcbiogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIHB1YmxpYy9wcml2YXRlIGtleSBwYXJhbWV0ZXJzXG4qXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZT59IFtwYXJhbXMuc2VjcmV0XSAtIHNlY3JldCBzZWVkIGJ5dGVzXG4qIEBwYXJhbSB7UG9pbnR9IFtwYXJhbXMucHViXSAtIHB1YmxpYyBrZXkgcG9pbnQgKGFrYSBgQWAgaW4gZWRkc2EgdGVybXMpXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZT59IFtwYXJhbXMucHViXSAtIHB1YmxpYyBrZXkgcG9pbnQgZW5jb2RlZCBhcyBieXRlc1xuKlxuKi9cbmZ1bmN0aW9uIEtleVBhaXIoZWRkc2EsIHBhcmFtcykge1xuICB0aGlzLmVkZHNhID0gZWRkc2E7XG4gIHRoaXMuX3NlY3JldCA9IHBhcnNlQnl0ZXMocGFyYW1zLnNlY3JldCk7XG4gIGlmIChlZGRzYS5pc1BvaW50KHBhcmFtcy5wdWIpKVxuICAgIHRoaXMuX3B1YiA9IHBhcmFtcy5wdWI7XG4gIGVsc2VcbiAgICB0aGlzLl9wdWJCeXRlcyA9IHBhcnNlQnl0ZXMocGFyYW1zLnB1Yik7XG59XG5cbktleVBhaXIuZnJvbVB1YmxpYyA9IGZ1bmN0aW9uIGZyb21QdWJsaWMoZWRkc2EsIHB1Yikge1xuICBpZiAocHViIGluc3RhbmNlb2YgS2V5UGFpcilcbiAgICByZXR1cm4gcHViO1xuICByZXR1cm4gbmV3IEtleVBhaXIoZWRkc2EsIHsgcHViOiBwdWIgfSk7XG59O1xuXG5LZXlQYWlyLmZyb21TZWNyZXQgPSBmdW5jdGlvbiBmcm9tU2VjcmV0KGVkZHNhLCBzZWNyZXQpIHtcbiAgaWYgKHNlY3JldCBpbnN0YW5jZW9mIEtleVBhaXIpXG4gICAgcmV0dXJuIHNlY3JldDtcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKGVkZHNhLCB7IHNlY3JldDogc2VjcmV0IH0pO1xufTtcblxuS2V5UGFpci5wcm90b3R5cGUuc2VjcmV0ID0gZnVuY3Rpb24gc2VjcmV0KCkge1xuICByZXR1cm4gdGhpcy5fc2VjcmV0O1xufTtcblxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3B1YkJ5dGVzJywgZnVuY3Rpb24gcHViQnl0ZXMoKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLmVuY29kZVBvaW50KHRoaXMucHViKCkpO1xufSk7XG5cbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdwdWInLCBmdW5jdGlvbiBwdWIoKSB7XG4gIGlmICh0aGlzLl9wdWJCeXRlcylcbiAgICByZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVQb2ludCh0aGlzLl9wdWJCeXRlcyk7XG4gIHJldHVybiB0aGlzLmVkZHNhLmcubXVsKHRoaXMucHJpdigpKTtcbn0pO1xuXG5jYWNoZWRQcm9wZXJ0eShLZXlQYWlyLCAncHJpdkJ5dGVzJywgZnVuY3Rpb24gcHJpdkJ5dGVzKCkge1xuICB2YXIgZWRkc2EgPSB0aGlzLmVkZHNhO1xuICB2YXIgaGFzaCA9IHRoaXMuaGFzaCgpO1xuICB2YXIgbGFzdEl4ID0gZWRkc2EuZW5jb2RpbmdMZW5ndGggLSAxO1xuXG4gIHZhciBhID0gaGFzaC5zbGljZSgwLCBlZGRzYS5lbmNvZGluZ0xlbmd0aCk7XG4gIGFbMF0gJj0gMjQ4O1xuICBhW2xhc3RJeF0gJj0gMTI3O1xuICBhW2xhc3RJeF0gfD0gNjQ7XG5cbiAgcmV0dXJuIGE7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3ByaXYnLCBmdW5jdGlvbiBwcml2KCkge1xuICByZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5wcml2Qnl0ZXMoKSk7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ2hhc2gnLCBmdW5jdGlvbiBoYXNoKCkge1xuICByZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpO1xufSk7XG5cbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdtZXNzYWdlUHJlZml4JywgZnVuY3Rpb24gbWVzc2FnZVByZWZpeCgpIHtcbiAgcmV0dXJuIHRoaXMuaGFzaCgpLnNsaWNlKHRoaXMuZWRkc2EuZW5jb2RpbmdMZW5ndGgpO1xufSk7XG5cbktleVBhaXIucHJvdG90eXBlLnNpZ24gPSBmdW5jdGlvbiBzaWduKG1lc3NhZ2UpIHtcbiAgYXNzZXJ0KHRoaXMuX3NlY3JldCwgJ0tleVBhaXIgY2FuIG9ubHkgdmVyaWZ5Jyk7XG4gIHJldHVybiB0aGlzLmVkZHNhLnNpZ24obWVzc2FnZSwgdGhpcyk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobWVzc2FnZSwgc2lnKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLnZlcmlmeShtZXNzYWdlLCBzaWcsIHRoaXMpO1xufTtcblxuS2V5UGFpci5wcm90b3R5cGUuZ2V0U2VjcmV0ID0gZnVuY3Rpb24gZ2V0U2VjcmV0KGVuYykge1xuICBhc3NlcnQodGhpcy5fc2VjcmV0LCAnS2V5UGFpciBpcyBwdWJsaWMgb25seScpO1xuICByZXR1cm4gdXRpbHMuZW5jb2RlKHRoaXMuc2VjcmV0KCksIGVuYyk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS5nZXRQdWJsaWMgPSBmdW5jdGlvbiBnZXRQdWJsaWMoZW5jKSB7XG4gIHJldHVybiB1dGlscy5lbmNvZGUodGhpcy5wdWJCeXRlcygpLCBlbmMpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBLZXlQYWlyO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG52YXIgY2FjaGVkUHJvcGVydHkgPSB1dGlscy5jYWNoZWRQcm9wZXJ0eTtcbnZhciBwYXJzZUJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcztcblxuLyoqXG4qIEBwYXJhbSB7RUREU0F9IGVkZHNhIC0gZWRkc2EgaW5zdGFuY2VcbiogQHBhcmFtIHtBcnJheTxCeXRlcz58T2JqZWN0fSBzaWcgLVxuKiBAcGFyYW0ge0FycmF5PEJ5dGVzPnxQb2ludH0gW3NpZy5SXSAtIFIgcG9pbnQgYXMgUG9pbnQgb3IgYnl0ZXNcbiogQHBhcmFtIHtBcnJheTxCeXRlcz58Ym59IFtzaWcuU10gLSBTIHNjYWxhciBhcyBibiBvciBieXRlc1xuKiBAcGFyYW0ge0FycmF5PEJ5dGVzPn0gW3NpZy5SZW5jb2RlZF0gLSBSIHBvaW50IGVuY29kZWRcbiogQHBhcmFtIHtBcnJheTxCeXRlcz59IFtzaWcuU2VuY29kZWRdIC0gUyBzY2FsYXIgZW5jb2RlZFxuKi9cbmZ1bmN0aW9uIFNpZ25hdHVyZShlZGRzYSwgc2lnKSB7XG4gIHRoaXMuZWRkc2EgPSBlZGRzYTtcblxuICBpZiAodHlwZW9mIHNpZyAhPT0gJ29iamVjdCcpXG4gICAgc2lnID0gcGFyc2VCeXRlcyhzaWcpO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KHNpZykpIHtcbiAgICBzaWcgPSB7XG4gICAgICBSOiBzaWcuc2xpY2UoMCwgZWRkc2EuZW5jb2RpbmdMZW5ndGgpLFxuICAgICAgUzogc2lnLnNsaWNlKGVkZHNhLmVuY29kaW5nTGVuZ3RoKSxcbiAgICB9O1xuICB9XG5cbiAgYXNzZXJ0KHNpZy5SICYmIHNpZy5TLCAnU2lnbmF0dXJlIHdpdGhvdXQgUiBvciBTJyk7XG5cbiAgaWYgKGVkZHNhLmlzUG9pbnQoc2lnLlIpKVxuICAgIHRoaXMuX1IgPSBzaWcuUjtcbiAgaWYgKHNpZy5TIGluc3RhbmNlb2YgQk4pXG4gICAgdGhpcy5fUyA9IHNpZy5TO1xuXG4gIHRoaXMuX1JlbmNvZGVkID0gQXJyYXkuaXNBcnJheShzaWcuUikgPyBzaWcuUiA6IHNpZy5SZW5jb2RlZDtcbiAgdGhpcy5fU2VuY29kZWQgPSBBcnJheS5pc0FycmF5KHNpZy5TKSA/IHNpZy5TIDogc2lnLlNlbmNvZGVkO1xufVxuXG5jYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsICdTJywgZnVuY3Rpb24gUygpIHtcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlSW50KHRoaXMuU2VuY29kZWQoKSk7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoU2lnbmF0dXJlLCAnUicsIGZ1bmN0aW9uIFIoKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSk7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoU2lnbmF0dXJlLCAnUmVuY29kZWQnLCBmdW5jdGlvbiBSZW5jb2RlZCgpIHtcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpO1xufSk7XG5cbmNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwgJ1NlbmNvZGVkJywgZnVuY3Rpb24gU2VuY29kZWQoKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLmVuY29kZUludCh0aGlzLlMoKSk7XG59KTtcblxuU2lnbmF0dXJlLnByb3RvdHlwZS50b0J5dGVzID0gZnVuY3Rpb24gdG9CeXRlcygpIHtcbiAgcmV0dXJuIHRoaXMuUmVuY29kZWQoKS5jb25jYXQodGhpcy5TZW5jb2RlZCgpKTtcbn07XG5cblNpZ25hdHVyZS5wcm90b3R5cGUudG9IZXggPSBmdW5jdGlvbiB0b0hleCgpIHtcbiAgcmV0dXJuIHV0aWxzLmVuY29kZSh0aGlzLnRvQnl0ZXMoKSwgJ2hleCcpLnRvVXBwZXJDYXNlKCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hdHVyZTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge1xuICBkb3VibGVzOiB7XG4gICAgc3RlcDogNCxcbiAgICBwb2ludHM6IFtcbiAgICAgIFtcbiAgICAgICAgJ2U2MGZjZTkzYjU5ZTllYzUzMDExYWFiYzIxYzIzZTk3YjJhMzEzNjliODdhNWFlOWM0NGVlODllMmE2ZGVjMGEnLFxuICAgICAgICAnZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnODI4MjI2MzIxMmM2MDlkOWVhMmE2ZTNlMTcyZGUyMzhkOGMzOWNhYmQ1YWMxY2ExMDY0NmUyM2ZkNWY1MTUwOCcsXG4gICAgICAgICcxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNzVlMTU5ZjcyOGI4NjVhNzJmOTljYzZjNmZjODQ2ZGUwYjkzODMzZmQyMjIyZWQ3M2ZjZTViNTUxZTViNzM5JyxcbiAgICAgICAgJ2QzNTA2ZTBkOWUzYzc5ZWJhNGVmOTdhNTFmZjcxZjVlYWNiNTk1NWFkZDI0MzQ1YzZlZmE2ZmZlZTlmZWQ2OTUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM2M2Q5MGQ0NDdiMDBjOWM5OWNlYWMwNWI2MjYyZWUwNTM0NDFjN2U1NTU1MmZmZTUyNmJhZDhmODNmZjQ2NDAnLFxuICAgICAgICAnNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4YjRiNWYxNjVkZjNjMmJlOGM2MjQ0YjViNzQ1NjM4ODQzZTRhNzgxYTE1YmNkMWI2OWY3OWE1NWRmZmRmODBjJyxcbiAgICAgICAgJzRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzcyM2NiYWE2ZTVkYjk5NmQ2YmY3NzFjMDBiZDU0OGM3YjcwMGRiZmZhNmMwZTc3YmNiNjExNTkyNTIzMmZjZGEnLFxuICAgICAgICAnOTZlODY3YjU1OTVjYzQ5OGE5MjExMzc0ODg4MjRkNmUyNjYwYTA2NTM3Nzk0OTQ4MDFkYzA2OWQ5ZWIzOWY1ZicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZWViZmE0ZDQ5M2JlYmY5OGJhNWZlZWM4MTJjMmQzYjUwOTQ3OTYxMjM3YTkxOTgzOWE1MzNlY2EwZTdkZDdmYScsXG4gICAgICAgICc1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxMDBmNDRkYTY5NmU3MTY3Mjc5MWQwYTA5YjdiZGU0NTlmMTIxNWEyOWIzYzAzYmZlZmQ3ODM1YjM5YTQ4ZGIwJyxcbiAgICAgICAgJ2NkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UxMDMxYmUyNjJjN2VkMWIxZGM5MjI3YTRhMDRjMDE3YTc3ZjhkNDQ2NGYzYjM4NTJjOGFjZGU2ZTUzNGZkMmQnLFxuICAgICAgICAnOWQ3MDYxOTI4OTQwNDA1ZTZiYjZhNDE3NjU5NzUzNWFmMjkyZGQ0MTllMWNlZDc5YTQ0ZjE4ZjI5NDU2YTAwZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZmVlYTZjYWU0NmQ1NWI1MzBhYzI4MzlmMTQzYmQ3ZWM1Y2Y4YjI2NmE0MWQ2YWY1MmQ1ZTY4OGQ5MDk0Njk2ZCcsXG4gICAgICAgICdlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkYTY3YTkxZDkxMDQ5Y2RjYjM2N2JlNGJlNmZmY2EzY2ZlZWQ2NTdkODA4NTgzZGUzM2ZhOTc4YmMxZWM2Y2IxJyxcbiAgICAgICAgJzliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzUzOTA0ZmFhMGIzMzRjZGRhNmUwMDA5MzVlZjIyMTUxZWMwOGQwZjdiYjExMDY5ZjU3NTQ1Y2NjMWEzN2I3YzAnLFxuICAgICAgICAnNWJjMDg3ZDBiYzgwMTA2ZDg4YzllY2NhYzIwZDNjMWMxMzk5OTk4MWUxNDQzNDY5OWRjYjA5NmIwMjI3NzFjOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOGU3YmNkMGJkMzU5ODNhNzcxOWNjYTc3NjRjYTkwNjc3OWI1M2EwNDNhOWI4YmNhZWZmOTU5ZjQzYWQ4NjA0NycsXG4gICAgICAgICcxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczODVlZWQzNGMxY2RmZjIxZTZkMDgxODY4OWI4MWJkZTcxYTdmNGYxODM5N2U2NjkwYTg0MWUxNTk5YzQzODYyJyxcbiAgICAgICAgJzI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzZmOWQ5YjgwM2VjZjE5MTYzN2M3M2E0NDEzZGZhMTgwZmRkZjg0YTU5NDdmYmM5YzYwNmVkODZjM2ZhYzNhNycsXG4gICAgICAgICc3YzgwYzY4ZTYwMzA1OWJhNjliOGUyYTMwZTQ1YzRkNDdlYTRkZDJmNWMyODEwMDJkODY4OTA2MDNhODQyMTYwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMzIyZDQwMTI0M2M0ZTI1ODJhMjE0N2MxMDRkNmVjYmY3NzRkMTYzZGIwZjVlNTMxM2I3ZTBlNzQyZDBlNmJkJyxcbiAgICAgICAgJzU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg1NjcyYzdkMmRlMGI3ZGEyYmQxNzcwZDg5NjY1ODY4NzQxYjNmOWFmNzY0MzM5NzcyMWQ3NGQyODEzNGFiODMnLFxuICAgICAgICAnN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOTQ4YmY4MDliMTk4OGE0NmIwNmM5ZjE5MTk0MTNiMTBmOTIyNmM2MGY2Njg4MzJmZmQ5NTlhZjYwYzgyYTBhJyxcbiAgICAgICAgJzUzYTU2Mjg1NmRjYjY2NDZkYzZiNzRjNWQxYzM0MThjNmQ0ZGZmMDhjOTdjZDJiZWQ0Y2I3Zjg4ZDhjOGU1ODknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzYyNjBjZTdmNDYxODAxYzM0ZjA2N2NlMGYwMjg3M2E4ZjFiMGU0NGRmYzY5NzUyYWNjZWNkODE5ZjM4ZmQ4ZTgnLFxuICAgICAgICAnYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZTUwMzdkZTBhZmMxZDhkNDNkODM0ODQxNGJiZjQxMDMwNDNlYzhmNTc1YmZkYzQzMjk1M2NjOGQyMDM3ZmEyZCcsXG4gICAgICAgICc0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlMDYzNzJiMGY0YTIwN2FkZjVlYTkwNWU4ZjE3NzFiNGU3ZThkYmQxYzZhNmM1YjcyNTg2NmEwYWU0ZmNlNzI1JyxcbiAgICAgICAgJzdhOTA4OTc0YmNlMThjZmUxMmEyN2JiMmFkNWE0ODhjZDc0ODRhNzc4NzEwNDg3MGIyNzAzNGY5NGVlZTMxZGQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzIxM2M3YTcxNWNkNWQ0NTM1OGQwYmJmOWRjMGNlMDIyMDRiMTBiZGRlMmEzZjU4NTQwYWQ2OTA4ZDA1NTk3NTQnLFxuICAgICAgICAnNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNGU3YzI3MmE3YWY0YjM0ZThkYmI5MzUyYTU0MTlhODdlMjgzOGM3MGFkYzYyY2RkZjBjYzNhM2IwOGZiZDUzYycsXG4gICAgICAgICcxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmZWE3NGUzZGJlNzc4YjFiMTBmMjM4YWQ2MTY4NmFhNWM3NmUzZGIyYmU0MzA1NzYzMjQyN2UyODQwZmIyN2I2JyxcbiAgICAgICAgJzZlMDU2OGRiOWIwYjEzMjk3Y2Y2NzRkZWNjYjZhZjkzMTI2YjU5NmI5NzNmN2I3NzcwMWQzZGI3ZjIzY2I5NmYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc2ZTY0MTEzZjY3N2NmMGUxMGEyNTcwZDU5OTk2OGQzMTU0NGUxNzliNzYwNDMyOTUyYzAyYTQ0MTdiZGRlMzknLFxuICAgICAgICAnYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYzczOGM1NmIwM2IyYWJlMWU4MjgxYmFhNzQzZjhmOWE4ZjdjYzY0M2RmMjZjYmVlM2FiMTUwMjQyYmNiYjg5MScsXG4gICAgICAgICc4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkODk1NjI2NTQ4YjY1YjgxZTI2NGM3NjM3Yzk3Mjg3N2QxZDcyZTVmM2E5MjUwMTQzNzJlOWY2NTg4ZjZjMTRiJyxcbiAgICAgICAgJ2ZlYmZhYTM4ZjJiYzdlYWU3MjhlYzYwODE4YzM0MGViMDM0MjhkNjMyYmIwNjdlMTc5MzYzZWQ3NWQ3ZDk5MWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2I4ZGE5NDAzMmE5NTc1MThlYjBmNjQzMzU3MWU4NzYxY2VmZmM3MzY5M2U4NGVkZDQ5MTUwYTU2NGY2NzZlMDMnLFxuICAgICAgICAnMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZTgwZmVhMTQ0NDFmYjMzYTdkOGFkYWI5NDc1ZDdmYWIyMDE5ZWZmYjUxNTZhNzkyZjFhMTE3NzhlM2MwZGY1ZCcsXG4gICAgICAgICdlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhMzAxNjk3YmRmY2Q3MDQzMTNiYTQ4ZTUxZDU2NzU0M2YyYTE4MjAzMWVmZDY5MTVkZGMwN2JiY2M0ZTE2MDcwJyxcbiAgICAgICAgJzczNzBmOTFjZmI2N2U0ZjUwODE4MDlmYTI1ZDQwZjliMTczNWRiZjdjMGExMWExMzBjMGQxYTA0MWUxNzdlYTEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzkwYWQ4NWIzODlkNmI5MzY0NjNmOWQwNTEyNjc4ZGUyMDhjYzMzMGIxMTMwN2ZmZmFiN2FjNjNlM2ZiMDRlZDQnLFxuICAgICAgICAnZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4ZjY4YjlkMmY2M2I1ZjMzOTIzOWMxYWQ5ODFmMTYyZWU4OGM1Njc4NzIzZWEzMzUxYjdiNDQ0YzllYzRjMGRhJyxcbiAgICAgICAgJzY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2U0ZjNmYjAxNzZhZjg1ZDY1ZmY5OWZmOTE5OGMzNjA5MWY0OGU4NjUwMzY4MWUzZTY2ODZmZDUwNTMyMzFlMTEnLFxuICAgICAgICAnMWU2MzYzM2FkMGVmNGYxYzE2NjFhNmQwZWEwMmI3Mjg2Y2M3ZTc0ZWM5NTFkMWM5ODIyYzM4NTc2ZmViNzNiYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOGMwMGZhOWIxOGViZjMzMWViOTYxNTM3YTQ1YTQyNjZjNzAzNGYyZjBkNGUxZDA3MTZmYjZlYWUyMGVhZTI5ZScsXG4gICAgICAgICdlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlN2EyNmNlNjlkZDQ4MjlmM2UxMGNlYzBhOWU5OGVkMzE0M2QwODRmMzA4YjkyYzA5OTdmZGRmYzYwY2IzZTQxJyxcbiAgICAgICAgJzJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2I2NDU5ZTBlZTM2NjJlYzhkMjM1NDBjMjIzYmNiZGM1NzFjYmNiOTY3ZDc5NDI0ZjNjZjI5ZWIzZGU2YjgwZWYnLFxuICAgICAgICAnNjdjODc2ZDA2ZjNlMDZkZTFkYWRmMTZlNTY2MWRiM2M0YjNhZTZkNDhlMzViMmZmMzBiZjBiNjFhNzFiYTQ1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkNjhhODBjODI4MGJiODQwNzkzMjM0YWExMThmMDYyMzFkNmYxZmM2N2U3M2M1YTVkZWRhMGY1YjQ5Njk0M2U4JyxcbiAgICAgICAgJ2RiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzMyNGFlZDdkZjY1YzgwNDI1MmRjMDI3MDkwN2EzMGIwOTYxMmFlYjk3MzQ0OWNlYTQwOTU5ODBmYzI4ZDNkNWQnLFxuICAgICAgICAnNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNGRmOWMxNDkxOWNkZTYxZjZkNTFkZmRiZTVmZWU1ZGNlZWM0MTQzYmE4ZDFjYTg4OGU4YmQzNzNmZDA1NGM5NicsXG4gICAgICAgICczNWVjNTEwOTJkODcyODA1MDk3NGMyM2ExZDg1ZDRiNWQ1MDZjZGMyODg0OTAxOTJlYmFjMDZjYWQxMGQ1ZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOWMzOTE5YTg0YTQ3NDg3MGZhZWQ4YTljMWNjNjYwMjE1MjM0ODkwNTRkN2YwMzA4Y2JmYzk5YzhhYzFmOThjZCcsXG4gICAgICAgICdkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc2MDU3MTcwYjFkZDEyZmRmOGRlMDVmMjgxZDhlMDZiYjkxZTE0OTNhOGI5MWQ0Y2M1YTIxMzgyMTIwYTk1OWU1JyxcbiAgICAgICAgJzlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYTgnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2E1NzZkZjhlMjNhMDg0MTE0MjE0MzlhNDUxOGRhMzE4ODBjZWYwZmJhN2Q0ZGYxMmIxYTY5NzNlZWNiOTQyNjYnLFxuICAgICAgICAnNDBhNmJmMjBlNzY2NDBiMmM5MmI5N2FmZTU4Y2Q4MmM0MzJlMTBhN2Y1MTRkOWYzZWU4YmUxMWFlMWIyOGVjOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNzc3OGE3OGMyOGRlYzNlMzBhMDVmZTk2MjlkZThjMzhiYjMwZDFmNWNmOWEzYTIwOGY3NjM4ODliZTU4YWQ3MScsXG4gICAgICAgICczNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc5Mjg5NTVlZTYzN2E4NDQ2MzcyOWZkMzBlN2FmZDJlZDVmOTYyNzRlNWFkN2U1Y2IwOWVkYTljMDZkOTAzYWMnLFxuICAgICAgICAnYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnODVkMGZlZjNlYzZkYjEwOTM5OTA2NGYzYTBlM2IyODU1NjQ1YjRhOTA3YWQzNTQ1MjdhYWU3NTE2M2Q4Mjc1MScsXG4gICAgICAgICcxZjAzNjQ4NDEzYTM4YzBiZTI5ZDQ5NmU1ODJjZjU2NjNlODc1MWU5Njg3NzMzMTU4MmMyMzdhMjRlYjFmOTYyJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmZjJiMGRjZTk3ZWVjZTk3YzFjOWI2MDQxNzk4Yjg1ZGZkZmI2ZDg4ODJkYTIwMzA4ZjU0MDQ4MjQ1MjYwODdlJyxcbiAgICAgICAgJzQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzgyN2ZiYmU0YjFlODgwZWE5ZWQyYjJlNjMwMWIyMTJiNTdmMWVlMTQ4Y2Q2ZGQyODc4MGU1ZTJjZjg1NmUyNDEnLFxuICAgICAgICAnYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZWFhNjQ5ZjIxZjUxYmRiYWU3YmU0YWUzNGNlNmU1MjE3YTU4ZmRjZTdmNDdmOWFhN2YzYjU4ZmEyMTIwZTJiMycsXG4gICAgICAgICdiZTMyNzllZDViYmJiMDNhYzY5YTgwZjg5ODc5YWE1YTAxYTZiOTY1ZjEzZjdlNTlkNDdhNTMwNWJhNWFkOTNkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlNGE0MmQ0M2M1Y2YxNjlkOTM5MWRmNmRlY2Y0MmVlNTQxYjZkOGYwYzlhMTM3NDAxZTIzNjMyZGRhMzRkMjRmJyxcbiAgICAgICAgJzRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzFlYzgwZmVmMzYwY2JkZDk1NDE2MGZhZGFiMzUyYjZiOTJiNTM1NzZhODhmZWE0OTQ3MTczYjlkNDMwMGJmMTknLFxuICAgICAgICAnYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTQ2YTc3OGMwNDY3MGMyZjkxYjAwYWY0NjgwZGZhOGJjZTM0OTA3MTdkNThiYTg4OWRkYjU5MjgzNjY2NDJiZScsXG4gICAgICAgICdiMzE4ZTBlYzMzNTQwMjhhZGQ2Njk4MjdmOWQ0YjI4NzBhYWE5NzFkMmY3ZTVlZDFkMGIyOTc0ODNkODNlZmQwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmYTUwYzBmNjFkMjJlNWYwN2UzYWNlYmIxYWEwN2IxMjhkMDAxMjIwOWEyOGI5Nzc2ZDc2YTg3OTMxODBlZWY5JyxcbiAgICAgICAgJzZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2RhMWQ2MWQwY2E3MjFhMTFiMWE1YmY2YjdkODhlODQyMWEyODhhYjVkNWJiYTUyMjBlNTNkMzJiNWYwNjdlYzInLFxuICAgICAgICAnODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYThlMjgyZmYwYzk3MDY5MDcyMTVmZjk4ZThmZDQxNjYxNTMxMWRlMDQ0NmYxZTA2MmE3M2IwNjEwZDA2NGUxMycsXG4gICAgICAgICc3Zjk3MzU1YjhkYjgxYzA5YWJmYjdmM2M1YjI1MTU4ODhiNjc5YTNlNTBkZDZiZDZjZWY3YzczMTExZjRjYzBjJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNzRhNTNiOWM5YTI4NTg3MmQzOWU1NmU2OTEzY2FiMTVkNTliMWZhNTEyNTA4YzAyMmYzODJkZTgzMTk0OTdjJyxcbiAgICAgICAgJ2NjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzk1OTM5Njk4MTk0Mzc4NWMzZDNlNTdlZGY1MDE4Y2RiZTAzOWU3MzBlNDkxOGIzZDg4NGZkZmYwOTQ3NWI3YmEnLFxuICAgICAgICAnMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDJhNjNhNTBhZTQwMWU1NmQ2NDVhMTE1M2IxMDlhOGZjY2EwYTQzZDU2MWZiYTJkYmI1MTM0MGM5ZDgyYjE1MScsXG4gICAgICAgICdlODJkODZmYjY0NDNmY2I3NTY1YWVlNThiMjk0ODIyMGE3MGY3NTBhZjQ4NGNhNTJkNDE0MjE3NGRjZjg5NDA1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc2NDU4N2UyMzM1NDcxZWI4OTBlZTc4OTZkN2NmZGM4NjZiYWNiZGJkMzgzOTMxN2IzNDM2ZjliNDU2MTdlMDczJyxcbiAgICAgICAgJ2Q5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg0ODFiZGUwZTRlNGQ4ODViM2E1NDZkM2U1NDlkZTA0MmYwYWE2Y2VhMjUwZTdmZDM1OGQ2Yzg2ZGQ0NWU0NTgnLFxuICAgICAgICAnMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTM0NjRhNTdhNzgxMDJhYTYyYjY5NzlhZTgxN2Y0NjM3ZmZjZmVkM2M0YjFjZTMwYmNkNjMwM2Y2Y2FmNjY2YicsXG4gICAgICAgICc2OWJlMTU5MDA0NjE0NTgwZWY3ZTQzMzQ1M2NjYjBjYTQ4ZjMwMGE4MWQwOTQyZTEzZjQ5NWE5MDdmNmVjYzI3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdiYzRhOWRmNWI3MTNmZTJlOWFlZjQzMGJjYzFkYzk3YTBjZDljY2VkZTJmMjg1ODhjYWRhM2EwZDJkODNmMzY2JyxcbiAgICAgICAgJ2QzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOGMyOGE5N2JmODI5OGJjMGQyM2Q4Yzc0OTQ1MmEzMmU2OTRiNjVlMzBhOTQ3MmEzOTU0YWIzMGZlNTMyNGNhYScsXG4gICAgICAgICc0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4ZWE5NjY2MTM5NTI3YThjMWRkOTRjZTRmMDcxZmQyM2M4YjM1MGM1YTRiYjMzNzQ4YzRiYTExMWZhY2NhZTAnLFxuICAgICAgICAnNjIwZWZhYmJjOGVlMjc4MmUyNGU3YzBjZmI5NWM1ZDczNWI3ODNiZTljZjBmOGU5NTVhZjM0YTMwZTYyYjk0NScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGQzNjI1ZmFlZjViYTA2MDc0NjY5NzE2YmJkMzc4OGQ4OWJkZGU4MTU5NTk5NjgwOTJmNzZjYzRlYjlhOTc4NycsXG4gICAgICAgICc3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmNzEwZDc5ZDllYjk2MjI5N2U0ZjYyMzJiNDBlOGY3ZmViMmJjNjM4MTQ2MTRkNjkyYzEyZGU3NTI0MDgyMjFlJyxcbiAgICAgICAgJ2VhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODInLFxuICAgICAgXSxcbiAgICBdLFxuICB9LFxuICBuYWY6IHtcbiAgICB3bmQ6IDcsXG4gICAgcG9pbnRzOiBbXG4gICAgICBbXG4gICAgICAgICdmOTMwOGEwMTkyNThjMzEwNDkzNDRmODVmODlkNTIyOWI1MzFjODQ1ODM2Zjk5YjA4NjAxZjExM2JjZTAzNmY5JyxcbiAgICAgICAgJzM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzJmOGJkZTRkMWEwNzIwOTM1NWI0YTcyNTBhNWM1MTI4ZTg4Yjg0YmRkYzYxOWFiN2NiYThkNTY5YjI0MGVmZTQnLFxuICAgICAgICAnZDhhYzIyMjYzNmU1ZTNkNmQ0ZGJhOWRkYTZjOWM0MjZmNzg4MjcxYmFiMGQ2ODQwZGNhODdkM2FhNmFjNjJkNicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNWNiZGYwNjQ2ZTVkYjRlYWEzOThmMzY1ZjJlYTdhMGUzZDQxOWI3ZTAzMzBlMzljZTkyYmRkZWRjYWM0ZjliYycsXG4gICAgICAgICc2YWViY2E0MGJhMjU1OTYwYTMxNzhkNmQ4NjFhNTRkYmE4MTNkMGI4MTNmZGU3YjVhNTA4MjYyODA4NzI2NGRhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhY2Q0ODRlMmYwYzdmNjUzMDlhZDE3OGE5ZjU1OWFiZGUwOTc5Njk3NGM1N2U3MTRjMzVmMTEwZGZjMjdjY2JlJyxcbiAgICAgICAgJ2NjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc3NGFlN2Y4NThhOTQxMWU1ZWY0MjQ2YjcwYzY1YWFjNTY0OTk4MGJlNWMxNzg5MWJiZWMxNzg5NWRhMDA4Y2InLFxuICAgICAgICAnZDk4NGEwMzJlYjZiNWUxOTAyNDNkZDU2ZDdiN2IzNjUzNzJkYjFlMmRmZjlkNmE4MzAxZDc0YzljOTUzYzYxYicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZjI4NzczYzJkOTc1Mjg4YmM3ZDFkMjA1YzM3NDg2NTFiMDc1ZmJjNjYxMGU1OGNkZGVlZGRmOGYxOTQwNWFhOCcsXG4gICAgICAgICdhYjA5MDJlOGQ4ODBhODk3NTgyMTJlYjY1Y2RhZjQ3M2ExYTA2ZGE1MjFmYTkxZjI5YjVjYjUyZGIwM2VkODEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2Q3OTI0ZDRmN2Q0M2VhOTY1YTQ2NWFlMzA5NWZmNDExMzFlNTk0NmYzYzg1Zjc5ZTQ0YWRiY2Y4ZTI3ZTA4MGUnLFxuICAgICAgICAnNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGVmZGVhNGNkYjY3Nzc1MGE0MjBmZWU4MDdlYWNmMjFlYjk4OThhZTc5Yjk3Njg3NjZlNGZhYTA0YTJkNGEzNCcsXG4gICAgICAgICc0MjExYWIwNjk0NjM1MTY4ZTk5N2IwZWFkMmE5M2RhZWNlZDFmNGEwNGE5NWMwZjZjZmIxOTlmNjllNTZlYjc3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcyYjRlYTBhNzk3YTQ0M2QyOTNlZjVjZmY0NDRmNDk3OWYwNmFjZmViZDdlODZkMjc3NDc1NjU2MTM4Mzg1YjZjJyxcbiAgICAgICAgJzg1ZTg5YmMwMzc5NDVkOTNiMzQzMDgzYjVhMWM4NjEzMWEwMWY2MGM1MDI2OTc2M2I1NzBjODU0ZTVjMDliN2EnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM1MmJiZjRhNGNkZDEyNTY0ZjkzZmEzMzJjZTMzMzMwMWQ5YWQ0MDI3MWY4MTA3MTgxMzQwYWVmMjViZTU5ZDUnLFxuICAgICAgICAnMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMmZhMjEwNGQ2YjM4ZDExYjAyMzAwMTA1NTk4NzkxMjRlNDJhYjhkZmVmZjVmZjI5ZGM5Y2RhZGQ0ZWNhY2MzZicsXG4gICAgICAgICcyZGUxMDY4Mjk1ZGQ4NjViNjQ1NjkzMzViZDVkZDgwMTgxZDcwZWNmYzg4MjY0ODQyM2JhNzZiNTMyYjdkNjcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzkyNDgyNzliMDliNGQ2OGRhYjIxYTliMDY2ZWRkYTgzMjYzYzNkODRlMDk1NzJlMjY5Y2EwY2Q3ZjU0NTM3MTQnLFxuICAgICAgICAnNzMwMTZmN2JmMjM0YWFkZTVkMWFhNzFiZGVhMmIxZmYzZmMwZGUyYTg4NzkxMmZmZTU0YTMyY2U5N2NiMzQwMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGFlZDRmMmJlM2E4YmYyNzhlNzAxMzJmYjBiZWI3NTIyZjU3MGUxNDRiZjYxNWMwN2U5OTZkNDQzZGVlODcyOScsXG4gICAgICAgICdhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQwZTUyMjkwYmUxYzU1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjNDRkMTJjNzA2NWQ4MTJlOGFjZjI4ZDdjYmIxOWY5MDExZWNkOWU5ZmRmMjgxYjBlNmEzYjVlODdkMjJlN2RiJyxcbiAgICAgICAgJzIxMTlhNDYwY2UzMjZjZGM3NmM0NTkyNmM5ODJmZGFjMGUxMDZlODYxZWRmNjFjNWEwMzkwNjNmMGUwZTY0ODInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzZhMjQ1YmY2ZGM2OTg1MDRjODlhMjBjZmRlZDYwODUzMTUyYjY5NTMzNmMyODA2M2I2MWM2NWNiZDI2OWU2YjQnLFxuICAgICAgICAnZTAyMmNmNDJjMmJkNGE3MDhiM2Y1MTI2ZjE2YTI0YWQ4YjMzYmE0OGQwNDIzYjZlZmQ1ZTYzNDgxMDBkOGE4MicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTY5N2ZmYTZmZDlkZTYyN2MwNzdlM2QyZmU1NDEwODRjZTEzMzAwYjBiZWMxMTQ2Zjk1YWU1N2YwZDBiZDZhNScsXG4gICAgICAgICdiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc2MDViZGIwMTk5ODE3MThiOTg2ZDBmMDdlODM0Y2IwZDlkZWI4MzYwZmZiN2Y2MWRmOTgyMzQ1ZWYyN2E3NDc5JyxcbiAgICAgICAgJzI5NzJkMmRlNGY4ZDIwNjgxYTc4ZDkzZWM5NmZlMjNjMjZiZmFlODRmYjE0ZGI0M2IwMWUxZTkwNTZiOGM0OScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNjJkMTRkYWI0MTUwYmY0OTc0MDJmZGM0NWEyMTVlMTBkY2IwMWMzNTQ5NTliMTBjZmUzMWM3ZTlkODdmZjMzZCcsXG4gICAgICAgICc4MGZjMDZiZDhjYzViMDEwOTgwODhhMTk1MGVlZDBkYjAxYWExMzI5NjdhYjQ3MjIzNWY1NjQyNDgzYjI1ZWFmJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4MGM2MGFkMDA0MGYyN2RhZGU1YjRiMDZjNDA4ZTU2YjJjNTBlOWY1NmI5YjhiNDI1ZTU1NWMyZjg2MzA4YjZmJyxcbiAgICAgICAgJzFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1N2EnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzdhOTM3NWFkNjE2N2FkNTRhYTc0YzYzNDhjYzU0ZDM0NGNjNWRjOTQ4N2Q4NDcwNDlkNWVhYmIwZmEwM2M4ZmInLFxuICAgICAgICAnZDBlM2ZhOWVjYTg3MjY5MDk1NTllMGQ3OTI2OTA0NmJkYzU5ZWExMGM3MGNlMmIwMmQ0OTllYzIyNGRjN2Y3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkNTI4ZWNkOWI2OTZiNTRjOTA3YTllZDA0NTQ0N2E3OWJiNDA4ZWMzOWI2OGRmNTA0YmI1MWY0NTliYzNmZmM5JyxcbiAgICAgICAgJ2VlY2Y0MTI1MzEzNmU1Zjk5OTY2ZjIxODgxZmQ2NTZlYmM0MzQ1NDA1YzUyMGRiYzA2MzQ2NWI1MjE0MDk5MzMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzQ5MzcwYTRiNWY0MzQxMmVhMjVmNTE0ZThlY2RhZDA1MjY2MTE1ZTRhN2VjYjEzODcyMzE4MDhmOGI0NTk2MycsXG4gICAgICAgICc3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3N2YyMzA5MzZlZTg4Y2JiZDczZGY5MzBkNjQ3MDJlZjg4MWQ4MTFlMGUxNDk4ZTJmMWMxM2ViMWZjMzQ1ZDc0JyxcbiAgICAgICAgJzk1OGVmNDJhNzg4NmI2NDAwYTA4MjY2ZTliYTFiMzc4OTZjOTUzMzBkOTcwNzdjYmJlOGViM2M3NjcxYzYwZDYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2YyZGFjOTkxY2M0Y2U0YjllYTQ0ODg3ZTVjN2MwYmNlNThjODAwNzRhYjlkNGRiYWViMjg1MzFiNzczOWY1MzAnLFxuICAgICAgICAnZTBkZWRjOWIzYjJmOGRhZDRkYTFmMzJkZWMyNTMxZGY5ZWI1ZmJlYjA1OThlNGZkMWExMTdkYmE3MDNhM2MzNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNDYzYjNkOWY2NjI2MjFmYjFiNGJlOGZiYmUyNTIwMTI1YTIxNmNkZmM5ZGFlM2RlYmNiYTQ4NTBjNjkwZDQ1YicsXG4gICAgICAgICc1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmMTZmODA0MjQ0ZTQ2ZTJhMDkyMzJkNGFmZjNiNTk5NzZiOThmYWMxNDMyOGEyZDFhMzI0OTZiNDk5OThmMjQ3JyxcbiAgICAgICAgJ2NlZGFiZDliODIyMDNmN2UxM2QyMDZmY2RmNGUzM2Q5MmE2YzUzYzI2ZTVjY2UyNmQ2NTc5OTYyYzRlMzFkZjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2NhZjc1NDI3MmRjODQ1NjNiMDM1MmI3YTE0MzExYWY1NWQyNDUzMTVhY2UyN2M2NTM2OWUxNWY3MTUxZDQxZDEnLFxuICAgICAgICAnY2I0NzQ2NjBlZjM1ZjVmMmE0MWI2NDNmYTVlNDYwNTc1ZjRmYTliNzk2MjIzMmE1YzMyZjkwODMxOGEwNDQ3NicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMjYwMGNhNGIyODJjYjk4NmY4NWQwZjE3MDk5NzlkOGI0NGEwOWMwN2NiODZkN2MxMjQ0OTdiYzg2ZjA4MjEyMCcsXG4gICAgICAgICc0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3NjM1Y2E3MmQ3ZTg0MzJjMzM4ZWM1M2NkMTIyMjBiYzAxYzQ4Njg1ZTI0ZjdkYzhjNjAyYTc3NDY5OThlNDM1JyxcbiAgICAgICAgJzkxYjY0OTYwOTQ4OWQ2MTNkMWQ1ZTU5MGY3OGU2ZDc0ZWNmYzA2MWQ1NzA0OGJhZDllNzZmMzAyYzViOWM2MScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNzU0ZTMyMzlmMzI1NTcwY2RiYmY0YTg3ZGVlZThhNjZiN2YyYjMzNDc5ZDQ2OGZiYzFhNTA3NDNiZjU2Y2MxOCcsXG4gICAgICAgICc2NzNmYjg2ZTViZGEzMGZiM2NkMGVkMzA0ZWE0OWEwMjNlZTMzZDAxOTdhNjk1ZDBjNWQ5ODA5M2M1MzY2ODMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UzZTZiZDEwNzFhMWU5NmFmZjU3ODU5YzgyZDU3MGYwMzMwODAwNjYxZDFjOTUyZjlmZTI2OTQ2OTFkOWI5ZTgnLFxuICAgICAgICAnNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTg2YjQ4M2QwNTZhMDMzODI2YWU3M2Q4OGY3MzI5ODVjNGNjYjFmMzJiYTM1ZjRiNGNjNDdmZGNmMDRhYTZlYicsXG4gICAgICAgICczYjk1MmQzMmM2N2NmNzdlMmUxNzQ0NmUyMDQxODBhYjIxZmI4MDkwODk1MTM4YjRhNGE3OTdmODZlODA4ODhiJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkZjlkNzBhNmI5ODc2Y2U1NDRjOTg1NjFmNGJlNGY3MjU0NDJlNmQyYjczN2Q5YzkxYTgzMjE3MjRjZTA5NjNmJyxcbiAgICAgICAgJzU1ZWIyZGFmZDg0ZDZjY2Q1Zjg2MmI3ODVkYzM5ZDRhYjE1NzIyMjcyMGVmOWRhMjE3YjhjNDVjZjJiYTI0MTcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzVlZGQ1Y2MyM2M1MWU4N2E0OTdjYTgxNWQ1ZGNlMGY4YWI1MjU1NGY4NDllZDg5OTVkZTY0YzVmMzRjZTcxNDMnLFxuICAgICAgICAnZWZhZTljOGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMjkwNzk4YzJiNjQ3NjgzMGRhMTJmZTAyMjg3ZTllNzc3YWEzZmJhMWMzNTViMTdhNzIyZDM2MmY4NDYxNGZiYScsXG4gICAgICAgICdlMzhkYTc2ZGNkNDQwNjIxOTg4ZDAwYmNmNzlhZjI1ZDViMjljMDk0ZGIyYTIzMTQ2ZDAwM2FmZDQxOTQzZTdhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhZjNjNDIzYTk1ZDlmNWIzMDU0NzU0ZWZhMTUwYWMzOWNkMjk1NTJmZTM2MDI1NzM2MmRmZGVjZWY0MDUzYjQ1JyxcbiAgICAgICAgJ2Y5OGEzZmQ4MzFlYjJiNzQ5YTkzYjBlNmYzNWNmYjQwYzhjZDVhYTY2N2ExNTU4MWJjMmZlZGVkNDk4ZmQ5YzYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc2NmRiYjI0ZDEzNGU3NDVjY2NhYTI4Yzk5YmYyNzQ5MDZiYjY2YjI2ZGNmOThkZjhkMmZlZDUwZDg4NDI0OWEnLFxuICAgICAgICAnNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNTlkYmY0NmY4Yzk0NzU5YmEyMTI3N2MzMzc4NGY0MTY0NWY3YjQ0ZjZjNTk2YTU4Y2U5MmU2NjYxOTFhYmUzZScsXG4gICAgICAgICdjNTM0YWQ0NDE3NWZiYzMwMGY0ZWE2Y2U2NDgzMDlhMDQyY2U3MzlhNzkxOTc5OGNkODVlMjE2YzRhMzA3ZjZlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmMTNhZGE5NTEwM2M0NTM3MzA1ZTY5MWU3NGU5YTRhOGRkNjQ3ZTcxMWE5NWU3M2NiNjJkYzYwMThjZmQ4N2I4JyxcbiAgICAgICAgJ2UxMzgxN2I0NGVlMTRkZTY2M2JmNGJjODA4MzQxZjMyNjk0OWUyMWE2YTc1YzI1NzA3Nzg0MTliZGFmNTczM2QnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc3NTRiNGZhMGU4YWNlZDA2ZDQxNjdhMmM1OWNjYTRjZGExODY5YzA2ZWJhZGZiNjQ4ODU1MDAxNWE4ODUyMmMnLFxuICAgICAgICAnMzBlOTNlODY0ZTY2OWQ4MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOTQ4ZGNhZGY1OTkwZTA0OGFhMzg3NGQ0NmFiZWY5ZDcwMTg1OGY5NWRlODA0MWQyYTY4MjhjOTllMjI2MjUxOScsXG4gICAgICAgICdlNDkxYTQyNTM3ZjZlNTk3ZDVkMjhhMzIyNGIxYmMyNWRmOTE1NGVmYmQyZWYxZDJjYmJhMmNhZTUzNDdkNTdlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3OTYyNDE0NDUwYzc2YzE2ODljN2I0OGY4MjAyZWMzN2ZiMjI0Y2Y1YWMwYmZhMTU3MDMyOGE4YTNkN2M3N2FiJyxcbiAgICAgICAgJzEwMGI2MTBlYzRmZmI0NzYwZDVjMWZjMTMzZWY2ZjZiMTI1MDdhMDUxZjA0YWM1NzYwYWZhNWIyOWRiODM0MzcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM1MTQwODc4MzQ5NjRiNTRiMTViMTYwNjQ0ZDkxNTQ4NWExNjk3NzIyNWI4ODQ3YmIwZGQwODUxMzdlYzQ3Y2EnLFxuICAgICAgICAnZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDNjYzMwYWQ2YjQ4M2U0YmM3OWNlMmM5ZGQ4YmM1NDk5M2U5NDdlYjhkZjc4N2I0NDI5NDNkM2Y3YjUyN2VhZicsXG4gICAgICAgICc4YjM3OGEyMmQ4MjcyNzhkODljNWU5YmU4Zjk1MDhhZTNjMmFkNDYyOTAzNTg2MzBhZmIzNGRiMDRlZWRlMGE0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNjI0ZDg0NzgwNzMyODYwY2UxYzc4ZmNiZmVmZTA4YjJiMjk4MjNkYjkxM2Y2NDkzOTc1YmEwZmY0ODQ3NjEwJyxcbiAgICAgICAgJzY4NjUxY2Y5YjZkYTkwM2UwOTE0NDQ4YzZjZDlkNGNhODk2ODc4ZjUyODJiZTRjOGNjMDZlMmE0MDQwNzg1NzUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzczM2NlODBkYTk1NWE4YTI2OTAyYzk1NjMzZTYyYTk4NTE5MjQ3NGI1YWYyMDdkYTZkZjdiNGZkNWZjNjFjZDQnLFxuICAgICAgICAnZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhiOGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTVkOTQ0MTI1NDk0NTA2NGNmMWExYzMzYmJkM2I0OWY4OTY2YzUwOTIxNzFlNjk5ZWYyNThkZmFiODFjMDQ1YycsXG4gICAgICAgICdkNTZlYjMwYjY5NDYzZTcyMzRmNTEzN2I3M2I4NDE3NzQzNDgwMGJhY2ViZmM2ODVmYzM3YmJlOWVmZTQwNzBkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhMWQwZmNmMmVjOWRlNjc1YjYxMjEzNmU1Y2U3MGQyNzFjMjE0MTdjOWQyYjhhYWFhYzEzODU5OWQwNzE3OTQwJyxcbiAgICAgICAgJ2VkZDc3ZjUwYmNiNWEzY2FiMmU5MDczNzMwOTY2N2YyNjQxNDYyYTU0MDcwZjNkNTE5MjEyZDM5YzE5N2E2MjknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UyMmZiZTE1YzBhZjhjY2M1NzgwYzA3MzVmODRkYmU5YTc5MGJhZGVlODI0NWMwNmM3Y2EzNzMzMWNiMzY5ODAnLFxuICAgICAgICAnYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMTEwOTFkZDk4NjBlOGUyMGVlMTM0NzNjMTE1NWY1ZjY5NjM1ZTM5NDcwNGVhYTc0MDA5NDUyMjQ2Y2ZhOWIzJyxcbiAgICAgICAgJzY2ZGI2NTZmODdkMWYwNGZmZmQxZjA0Nzg4YzA2ODMwODcxZWM1YTY0ZmVlZTY4NWJkODBmMGIxMjg2ZDgzNzQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM0YzFmZDA0ZDMwMWJlODliMzFjMDQ0MmQzZTZhYzI0ODgzOTI4YjQ1YTkzNDA3ODE4NjdkNDIzMmVjMmRiZGYnLFxuICAgICAgICAnOTQxNDY4NWU5N2IxYjU5NTRiZDQ2ZjczMDE3NDEzNmQ1N2YxY2VlYjQ4NzQ0M2RjNTMyMTg1N2JhNzNhYmVlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmMjE5ZWE1ZDZiNTQ3MDFjMWMxNGRlNWI1NTdlYjQyYThkMTNmM2FiYmNkMDhhZmZjYzJhNWU2YjA0OWI4ZDYzJyxcbiAgICAgICAgJzRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRiMDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2Q3Yjg3NDBmNzRhOGZiYWFiMWY2ODNkYjhmNDVkZTI2NTQzYTU0OTBiY2E2MjcwODcyMzY5MTI0NjlhMGI0NDgnLFxuICAgICAgICAnZmE3Nzk2ODEyOGQ5YzkyZWUxMDEwZjMzN2FkNDcxN2VmZjE1ZGI1ZWQzYzA0OWIzNDExZTAzMTVlYWE0NTkzYicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMzJkMzFjMjIyZjhmNmYwZWY4NmY3Yzk4ZDNhMzMzNWVhZDViY2QzMmFiZGQ5NDI4OWZlNGQzMDkxYWE4MjRiZicsXG4gICAgICAgICc1ZjMwMzJmNTg5MjE1NmUzOWNjZDNkNzkxNWI5ZTFkYTJlNmRhYzllNmYyNmU5NjExMThkMTRiODQ2MmUxNjYxJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3NDYxZjM3MTkxNGFiMzI2NzEwNDVhMTU1ZDk4MzFlYTg3OTNkNzdjZDU5NTkyYzQzNDBmODZjYmMxODM0N2I1JyxcbiAgICAgICAgJzhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2VlMDc5YWRiMWRmMTg2MDA3NDM1NmEyNWFhMzgyMDZhNmQ3MTZiMmMzZTY3NDUzZDI4NzY5OGJhZDdiMmIyZDYnLFxuICAgICAgICAnOGRjMjQxMmFhZmUzYmU1YzRjNWYzN2UwZWNjNWY5ZjZhNDQ2OTg5YWYwNGM0ZTI1ZWJhYWM0NzllYzFjOGMxZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTZlYzkzZTQ0N2VjODNmMDQ2N2IxODMwMmVlNjIwZjdlNjVkZTMzMTg3NGM5ZGM3MmJmZDg2MTZiYTlkYTZiNScsXG4gICAgICAgICc1ZTQ2MzExNTBlNjJmYjQwZDBlOGMyYTdjYTU4MDRhMzlkNTgxODZhNTBlNDk3MTM5NjI2Nzc4ZTI1YjA2NzRkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlYWE1Zjk4MGMyNDVmNmYwMzg5NzgyOTBhZmE3MGI2YmQ4ODU1ODk3Zjk4YjZhYTQ4NWI5NjA2NWQ1MzdiZDk5JyxcbiAgICAgICAgJ2Y2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZlYTY3ZmIxODA0MTAyNGVkYzA3ZGMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc4Yzk0MDc1NDRhYzEzMjY5MmVlMTkxMGEwMjQzOTk1OGFlMDQ4NzcxNTEzNDJlYTk2YzRiNmIzNWE0OWY1MScsXG4gICAgICAgICdmM2UwMzE5MTY5ZWI5Yjg1ZDU0MDQ3OTU1MzlhNWU2OGZhMWZiZDU4M2MwNjRkMjQ2MmI2NzVmMTk0YTNkZGI0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc0OTRmNGJlMjE5YTFhNzcwMTZkY2Q4Mzg0MzFhZWEwMDAxY2RjOGFlN2E2ZmM2ODg3MjY1NzhkOTcwMjg1N2E1JyxcbiAgICAgICAgJzQyMjQyYTk2OTI4M2E1ZjMzOWJhN2YwNzVlMzZiYTJhZjkyNWNlMzBkNzY3ZWQ2ZTU1ZjRiMDMxODgwZDU2MmMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2E1OThhODAzMGRhNmQ4NmM2YmM3ZjJmNTE0NGVhNTQ5ZDI4MjExZWE1OGZhYTcwZWJmNGMxZTY2NWMxZmU5YjUnLFxuICAgICAgICAnMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYzQxOTE2MzY1YWJiMmI1ZDA5MTkyZjVmMmRiZWFmZWMyMDhmMDIwZjEyNTcwYTE4NGRiYWRjM2U1ODU5NTk5NycsXG4gICAgICAgICc0ZjE0MzUxZDAwODdlZmE0OWQyNDViMzI4OTg0OTg5ZDVjYWY5NDUwZjM0YmZjMGVkMTZlOTZiNThmYTk5MTMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg0MWQ2MDYzYTU4NmZhNDc1YTcyNDYwNGRhMDNiYzViOTJhMmUwZDJlMGEzNmFjZmU0YzczYTU1MTQ3NDI4ODEnLFxuICAgICAgICAnNzM4NjdmNTljMDY1OWU4MTkwNGY5YTFjNzU0MzY5OGU2MjU2MmQ2NzQ0YzE2OWNlN2EzNmRlMDFhOGQ2MTU0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc1ZTk1YmIzOTlhNjk3MWQzNzYwMjY5NDdmODliZGUyZjI4MmIzMzgxMDkyOGJlNGRlZDExMmFjNGQ3MGUyMGQ1JyxcbiAgICAgICAgJzM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3NDYwMTI4NjUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM2ZTQ2NDFhNTM5NDhmZDQ3NmMzOWY4YTk5ZmQ5NzRlNWVjMDc1NjRiNTMxNWQ4YmY5OTQ3MWJjYTBlZjJmNjYnLFxuICAgICAgICAnZDI0MjRiMWIxYWJlNGViODE2NDIyN2IwODVjOWFhOTQ1NmVhMTM0OTNmZDU2M2UwNmZkNTFjZjU2OTRjNzhmYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMzM2NTgxZWE3YmZiYmIyOTBjMTkxYTJmNTA3YTQxY2Y1NjQzODQyMTcwZTkxNGZhZWFiMjdjMmM1NzlmNzI2JyxcbiAgICAgICAgJ2VhZDEyMTY4NTk1ZmUxYmU5OTI1MjEyOWI2ZTU2YjMzOTFmN2FiMTQxMGNkMWUwZWYzZGNkY2FiZDJmZGEyMjQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzhhYjg5ODE2ZGFkZmQ2YjZhMWYyNjM0ZmNmMDBlYzg0MDM3ODEwMjVlZDY4OTBjNDg0OTc0MjcwNmJkNDNlZGUnLFxuICAgICAgICAnNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMWUzM2YxYTc0NmM5YzU3NzgxMzMzNDRkOTI5OWZjYWEyMGIwOTM4ZThhY2ZmMjU0NGJiNDAyODRiOGM1ZmI5NCcsXG4gICAgICAgICc2MDY2MDI1N2RkMTFiM2FhOWM4ZWQ2MThkMjRlZGZmMjMwNmQzMjBmMWQwMzAxMGUzM2E3ZDIwNTdmM2IzYjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg1YjdjMWRjYjNjZWMxYjdlZTdmMzBkZWQ3OWRkMjBhMGVkMWY0Y2MxOGNiY2ZjZmE0MTAzNjFmZDhmMDhmMzEnLFxuICAgICAgICAnM2Q5OGE5Y2RkMDI2ZGQ0M2YzOTA0OGYyNWE4ODQ3ZjRmY2FmYWQxODk1ZDdhNjMzYzZmZWQzYzM1ZTk5OTUxMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMjlkZjlmYmQ4ZDllNDY1MDkyNzVmNGIxMjVkNmQ0NWQ3ZmJlOWEzYjg3OGE3YWY4NzJhMjgwMDY2MWFjNWY1MScsXG4gICAgICAgICdiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2EwYjFjYWUwNmIwYTg0N2EzZmVhNmU2NzFhYWY4YWRmZGZlNThjYTJmNzY4MTA1YzgwODJiMmU0NDlmY2UyNTInLFxuICAgICAgICAnYWU0MzQxMDJlZGRlMDk1OGVjNGIxOWQ5MTdhNmEyOGU2YjcyZGExODM0YWZmMGU2NTBmMDQ5NTAzYTI5NmNmMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNGU4Y2VhZmI5YjNlOWExMzZkYzdmZjY3ZTg0MDI5NWI0OTlkZmIzYjIxMzNlNGJhMTEzZjJlNGMwZTEyMWU1JyxcbiAgICAgICAgJ2NmMjE3NDExOGM4YjZkN2E0YjQ4ZjZkNTM0Y2U1Yzc5NDIyYzA4NmE2MzQ2MDUwMmI4MjdjZTYyYTMyNjY4M2MnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2QyNGE0NGUwNDdlMTliNmY1YWZiODFjN2NhMmY2OTA4MGE1MDc2Njg5YTAxMDkxOWY0MjcyNWMyYjc4OWEzM2InLFxuICAgICAgICAnNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZWEwMTYwNmE3YTZjOWNkZDI0OWZkZmNmYWNiOTk1ODQwMDFlZGQyOGFiYmFiNzdiNTEwNGU5OGU4ZTNiMzVkNCcsXG4gICAgICAgICczMjJhZjQ5MDhjNzMxMmIwY2ZiZmUzNjlmN2E3YjNjZGI3ZDQ0OTRiYzI4MjM3MDBjZmQ2NTIxODhhM2VhOThkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhZjhhZGRiZjJiNjYxYzhhNmM2MzI4NjU1ZWI5NjY1MTI1MjAwN2Q4YzVlYTMxYmU0YWQxOTZkZThjZTIxMzFmJyxcbiAgICAgICAgJzY3NDllNjdjMDI5Yjg1ZjUyYTAzNGVhZmQwOTY4MzZiMjUyMDgxODY4MGUyNmFjOGYzZGZiY2RiNzE3NDk3MDAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UzYWUxOTc0NTY2Y2EwNmNjNTE2ZDQ3ZTBmYjE2NWE2NzRhM2RhYmNmY2ExNWU3MjJmMGUzNDUwZjQ1ODg5JyxcbiAgICAgICAgJzJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzU5MWVlMzU1MzEzZDk5NzIxY2Y2OTkzZmZlZDFlM2UzMDE5OTNmZjNlZDI1ODgwMjA3NWVhOGNlZDM5N2UyNDYnLFxuICAgICAgICAnYjBlYTU1OGExMTNjMzBiZWE2MGZjNDc3NTQ2MGM3OTAxZmYwYjA1M2QyNWNhMmJkZWVlOThmMWE0YmU1ZDE5NicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTEzOTZkNTVmZGE1NGM0OWYxOWFhOTczMThkOGRhNjFmYTg1ODRlNDdiMDg0OTQ1MDc3Y2YwMzI1NWI1Mjk4NCcsXG4gICAgICAgICc5OThjNzRhOGNkNDVhYzAxMjg5ZDU4MzNhN2JlYjQ3NDRmZjUzNmIwMWIyNTdiZTRjNTc2N2JlYTkzZWE1N2E0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczYzVkMmExYmEzOWM1YTE3OTAwMDA3MzhjOWUwYzQwYjhkY2RmZDU0Njg3NTRiNjQwNTU0MDE1N2UwMTdhYTdhJyxcbiAgICAgICAgJ2IyMjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2NjODcwNGI4YTYwYTBkZWZhM2E5OWE3Mjk5ZjJlOWMzZmJjMzk1YWZiMDRhYzA3ODQyNWVmOGExNzkzY2MwMzAnLFxuICAgICAgICAnYmRkNDYwMzlmZWVkMTc4ODFkMWUwODYyZGIzNDdmOGNmMzk1Yjc0ZmM0YmNkYzRlOTQwYjc0ZTNhYzFmMWIxMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYzUzM2U0ZjdlYTg1NTVhYWNkOTc3N2FjNWNhZDI5Yjk3ZGQ0ZGVmY2NjNTNlZTdlYTIwNDExOWIyODg5YjE5NycsXG4gICAgICAgICc2ZjBhMjU2YmM1ZWZkZjQyOWEyZmI2MjQyZjFhNDNhMmQ5YjkyNWJiNGE0YjNhMjZiYjhlMGY0NWViNTk2MDk2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjMTRmOGYyY2NiMjdkNmYxMDlmNmQwOGQwM2NjOTZhNjliYThjMzRlZWMwN2JiY2Y1NjZkNDhlMzNkYTY1OTMnLFxuICAgICAgICAnYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYTZjYmMzMDQ2YmM2YTQ1MGJhYzI0Nzg5ZmExNzExNWE0Yzk3MzllZDc1ZjhmMjFjZTQ0MWY3MmUwYjkwZTZlZicsXG4gICAgICAgICcyMWFlN2Y0NjgwZTg4OWJiMTMwNjE5ZTJjMGY5NWEzNjBjZWI1NzNjNzA2MDMxMzk4NjJhZmQ2MTdmYTliOWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM0N2Q2ZDlhMDJjNDg5MjdlYmZiODZjMTM1OWIxY2FmMTMwYTNjMDI2N2QxMWNlNjM0NGIzOWY5OWQ0M2NjMzgnLFxuICAgICAgICAnNjBlYTdmNjFhMzUzNTI0ZDFjOTg3ZjZlY2VjOTJmMDg2ZDU2NWFiNjg3ODcwY2IxMjY4OWZmMWUzMWM3NDQ0OCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGE2NTQ1ZDIxODFkYjhkOTgzZjdkY2IzNzVlZjU4NjZkNDdjNjdiMWJmMzFjOGNmODU1ZWY3NDM3YjcyNjU2YScsXG4gICAgICAgICc0OWI5NjcxNWFiNjg3OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjNDA3NDdjYzlkMDEyY2IxYTEzYjgxNDgzMDljNmRlN2VjMjVkNjk0NWQ2NTcxNDZiOWQ1OTk0YjhmZWIxMTExJyxcbiAgICAgICAgJzVjYTU2MDc1M2JlMmExMmZjNmRlNmNhZjJjYjQ4OTU2NWRiOTM2MTU2Yjk1MTRlMWJiNWU4MzAzN2UwZmEyZDQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzRlNDJjOGVjODJjOTk3OThjY2YzYTYxMGJlODcwZTc4MzM4YzdmNzEzMzQ4YmQzNGM4MjAzZWY0MDM3ZjM1MDInLFxuICAgICAgICAnNzU3MWQ3NGVlNWUwZmI5MmE3YThiMzNhMDc3ODMzNDFhNTQ5MjE0NGNjNTRiY2M0MGE5NDQ3MzY5MzYwNjQzNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMzc3NWFiNzA4OWJjNmFmODIzYWJhMmUxYWY3MGIyMzZkMjUxY2FkYjBjODY3NDMyODc1MjJhMWIzYjBkZWRlYScsXG4gICAgICAgICdiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjZWUzMWNiZjdlMzRlYzM3OWQ5NGZiODE0ZDNkNzc1YWQ5NTQ1OTVkMTMxNGJhODg0Njk1OWUzZTgyZjc0ZTI2JyxcbiAgICAgICAgJzhmZDY0YTE0YzA2YjU4OWMyNmI5NDdhZTJiY2Y2YmZhMDE0OWVmMGJlMTRlZDRkODBmNDQ4YTAxYzQzYjFjNmQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2I0ZjllYWVhMDliNjkxNzYxOWY2ZWE2YTRlYjU0NjRlZmRkYjU4ZmQ0NWIxZWJlZmNkYzFhMDFkMDhiNDc5ODYnLFxuICAgICAgICAnMzllNWM5OTI1YjVhNTRiMDc0MzNhNGYxOGM2MTcyNmY4YmIxMzFjMDEyY2E1NDJlYjI0YThhYzA3MjAwNjgyYScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDQyNjNkZmMzZDJkZjkyM2EwMTc5YTQ4OTY2ZDMwY2U4NGUyNTE1YWZjM2RjY2MxYjc3OTA3NzkyZWJjYzYwZScsXG4gICAgICAgICc2MmRmYWYwN2EwZjc4ZmViMzBlMzBkNjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc0ODQ1NzUyNDgyMGZhNjVhNGY4ZDM1ZWI2OTMwODU3YzAwMzJhY2MwYTRhMmRlNDIyMjMzZWVkYTg5NzYxMmM0JyxcbiAgICAgICAgJzI1YTc0OGFiMzY3OTc5ZDk4NzMzYzM4YTFmYTFjMmU3ZGM2Y2MwN2RiMmQ2MGE5YWU3YTc2YWFhNDliZDBmNzcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2RmZWVlZjE4ODExMDFmMmNiMTE2NDRmM2EyYWZkZmMyMDQ1ZTE5OTE5MTUyOTIzZjM2N2ExNzY3YzExY2NlZGEnLFxuICAgICAgICAnZWNmYjcwNTZjZjFkZTA0MmY5NDIwYmFiMzk2NzkzYzBjMzkwYmRlNzRiNGJiZGZmMTZhODNhZTA5YTlhNzUxNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNmQ3ZWY2YjE3NTQzZjgzNzNjNTczZjQ0ZTFmMzg5ODM1ZDg5YmNiYzYwNjJjZWQzNmM4MmRmODNiOGZhZTg1OScsXG4gICAgICAgICdjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlNzU2MDVkNTkxMDJhNWEyNjg0NTAwZDNiOTkxZjJlM2YzYzg4YjkzMjI1NTQ3MDM1YWYyNWFmNjZlMDQ1NDFmJyxcbiAgICAgICAgJ2Y1YzU0NzU0YThmNzFlZTU0MGI5YjQ4NzI4NDczZTMxNGY3MjlhYzUzMDhiMDY5MzgzNjA5OTBlMmJmYWQxMjUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2ViOTg2NjBmNGM0ZGZhYTA2YTJiZTQ1M2Q1MDIwYmM5OWEwYzJlNjBhYmUzODg0NTdkZDQzZmVmYjFlZDYyMGMnLFxuICAgICAgICAnNmNiOWE4ODc2ZDljYjg1MjA2MDlhZjNhZGQyNmNkMjBhMGE3Y2Q4YTk0MTExMzFjZTg1ZjQ0MTAwMDk5MjIzZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTNlODdiMDI3ZDg1MTRkMzU5MzlmMmU2ODkyYjE5OTIyMTU0NTk2OTQxODg4MzM2ZGMzNTYzZTNiOGRiYTk0MicsXG4gICAgICAgICdmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkxYWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlZTE2MzAyNmU5ZmQ2ZmUwMTdjMzhmMDZhNWJlNmZjMTI1NDI0YjM3MWNlMjcwOGU3YmY0NDkxNjkxZTU3NjRhJyxcbiAgICAgICAgJzFhY2IyNTBmMjU1ZGQ2MWM0M2Q5NGNjYzY3MGQwZjU4ZjQ5YWUzZmExNWI5NjYyM2U1NDMwZGEwYWQ2YzYyYjInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2IyNjhmNWVmOWFkNTFlNGQ3OGRlM2E3NTBjMmRjODliMWU2MjZkNDM1MDU4Njc5OTk5MzJlNWRiMzNhZjNkODAnLFxuICAgICAgICAnNWYzMTBkNGIzYzk5YjllYmIxOWY3N2Q0MWMxZGVlMDE4Y2YwZDM0ZmQ0MTkxNjE0MDAzZTk0NWExMjE2ZTQyMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZmYwN2YzMTE4YTlkZjAzNWU5ZmFkODVlYjZjN2JmZTQyYjAyZjAxY2E5OWNlZWEzYmY3ZmZkYmE5M2M0NzUwZCcsXG4gICAgICAgICc0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4ZDhiOTg1NWM3YzA1MmEzNDE0NmZkMjBmZmI2NThiZWE0YjlmNjllMGQ4MjVlYmVjMTZlOGMzY2UyYjUyNmExJyxcbiAgICAgICAgJ2NkYjU1OWVlZGMyZDc5ZjkyNmJhZjQ0ZmI4NGVhNGQ0NGJjZjUwZmVlNTFkN2NlYjMwZTJlN2Y0NjMwMzY3NTgnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzUyZGIwYjUzODRkZmJmMDViZmE5ZDQ3MmQ3YWUyNmRmZTRiODUxY2VjYTkxYjFlYmE1NDI2MzE4MGRhMzJiNjMnLFxuICAgICAgICAnYzNiOTk3ZDA1MGVlNWQ0MjNlYmFmNjZhNmRiOWY1N2IzMTgwYzkwMjg3NTY3OWRlOTI0YjY5ZDg0YTdiMzc1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlNjJmOTQ5MGQzZDUxZGE2Mzk1ZWZkMjRlODA5MTljYzdkMGYyOWMzZjNmYTQ4YzZmZmY1NDNiZWNiZDQzMzUyJyxcbiAgICAgICAgJzZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkxZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzdmMzBlYTI0NzZiMzk5YjQ5NTc1MDljODhmNzdkMDE5MWFmYTJmZjVjYjdiMTRmZDZkOGU3ZDY1YWFhYjExOTMnLFxuICAgICAgICAnY2E1ZWY3ZDRiMjMxYzk0YzNiMTUzODlhNWY2MzExZTlkYWZmN2JiNjdiMTAzZTk4ODBlZjRiZmY2MzdhY2FlYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNTA5OGZmMWUxZDlmMTRmYjQ2YTIxMGZhZGE2YzkwM2ZlZjBmYjdiNGExZGQxZDlhYzYwYTAzNjE4MDBiN2EwMCcsXG4gICAgICAgICc5NzMxMTQxZDgxZmM4ZjgwODRkMzdjNmU3NTQyMDA2YjNlZTFiNDBkNjBkZmU1MzYyYTViMTMyZmQxN2RkYzAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzMyYjc4YzdkZTllZTUxMmE3Mjg5NWJlNmI5Y2JlZmE2ZTJmM2M0Y2NjZTQ0NWM5NmI5ZjJjODFlMjc3OGFkNTgnLFxuICAgICAgICAnZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZTJjYjc0ZmRkYzhlOWZiY2QwNzZlZWYyYTdjNzJiMGNlMzdkNTBmMDgyNjlkZmMwNzRiNTgxNTUwNTQ3YTRmNycsXG4gICAgICAgICdkM2FhMmVkNzFjOWRkMjI0N2E2MmRmMDYyNzM2ZWIwYmFkZGVhOWUzNjEyMmQyYmU4NjQxYWJjYjAwNWNjNGE0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4NDM4NDQ3NTY2ZDRkN2JlZGFkYzI5OTQ5NmFiMzU3NDI2MDA5YTM1ZjIzNWNiMTQxYmUwZDk5Y2QxMGFlM2E4JyxcbiAgICAgICAgJ2M0ZTEwMjA5MTY5ODBhNGRhNWQwMWFjNWU2YWQzMzA3MzRlZjBkNzkwNjYzMWM0ZjIzOTA0MjZiMmVkZDc5MWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzQxNjJkNDg4Yjg5NDAyMDM5YjU4NGM2ZmM2YzMwODg3MDU4N2Q5YzQ2ZjY2MGI4NzhhYjY1YzgyYzcxMWQ2N2UnLFxuICAgICAgICAnNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRhNDdhZTVhMDg1MjY0OScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnM2ZhZDNmYTg0Y2FmMGYzNGYwZjg5YmZkMmRjZjU0ZmMxNzVkNzY3YWVjM2U1MDY4NGYzYmE0YTRiZjVmNjgzZCcsXG4gICAgICAgICdjZDFiYzdjYjZjYzQwN2JiMmYwY2E2NDdjNzE4YTczMGNmNzE4NzJlN2QwZDJhNTNmYTIwZWZjZGZlNjE4MjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzY3NGYyNjAwYTMwMDdhMDA1NjhjMWE3Y2UwNWQwODE2YzFmYjg0YmYxMzcwNzk4ZjFjNjk1MzJmYWViMWE4NmInLFxuICAgICAgICAnMjk5ZDIxZjk0MTNmMzNiM2VkZjQzYjI1NzAwNDU4MGI3MGRiNTdkYTBiMTgyMjU5ZTA5ZWVjYzY5ZTBkMzhhNScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDMyZjRkYTU0YWRlNzRhYmI4MWI4MTVhZDFmYjNiMjYzZDgyZDZjNjkyNzE0YmNmZjg3ZDI5YmQ1ZWU5ZjA4ZicsXG4gICAgICAgICdmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMGU0ZTY3MDQzNTM4NTU1NmU1OTM2NTcxMzU4NDVkMzZmYmI2OTMxZjcyYjA4Y2IxZWQ5NTRmMWUzY2UzZmY2JyxcbiAgICAgICAgJzQ2MmY5YmNlNjE5ODk4NjM4NDk5MzUwMTEzYmJjOWIxMGE4NzhkMzVkYTcwNzQwZGM2OTVhNTU5ZWI4OGRiN2InLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2JlMjA2MjAwM2M1MWNjMzAwNDY4MjkwNDMzMGU0ZGVlN2YzZGNkMTBiMDFlNTgwYmYxOTcxYjA0ZDRjYWQyOTcnLFxuICAgICAgICAnNjIxODhiYzQ5ZDYxZTU0Mjg1NzNkNDhhNzRlMWM2NTViMWM2MTA5MDkwNTY4MmEwZDU1NThlZDcyZGNjYjliYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOTMxNDQ0MjNhY2UzNDUxZWQyOWUwZmI5YWMyYWYyMTFjYjZlODRhNjAxZGY1OTkzYzQxOTg1OWZmZjVkZjA0YScsXG4gICAgICAgICc3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdiNDdjJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdiMDE1ZjgwNDRmNWZjYmRjZjIxY2EyNmQ2YzM0ZmI4MTk3ODI5MjA1YzdiN2QyYTdjYjY2NDE4YzE1N2IxMTJjJyxcbiAgICAgICAgJ2FiOGMxZTA4NmQwNGU4MTM3NDRhNjU1YjJkZjhkNWY4M2IzY2RjNmZhYTMwODhjMWQzYWVhMTQ1NGUzYTFkNWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2Q1ZTllMWRhNjQ5ZDk3ZDg5ZTQ4NjgxMTdhNDY1YTNhNGY4YTE4ZGU1N2ExNDBkMzZiM2YyYWYzNDFhMjFiNTInLFxuICAgICAgICAnNGNiMDQ0MzdmMzkxZWQ3MzExMWExM2NjMWQ0ZGQwZGIxNjkzNDY1YzIyNDA0ODBkODk1NWU4NTkyZjI3NDQ3YScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDNhZTQxMDQ3ZGQ3Y2EwNjVkYmY4ZWQ3N2I5OTI0Mzk5ODMwMDVjZDcyZTE2ZDZmOTk2YTUzMTZkMzY5NjZiYicsXG4gICAgICAgICdiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc0NjNlMjc2M2Q4ODVmOTU4ZmM2NmNkZDIyODAwZjBhNDg3MTk3ZDBhODJlMzc3YjQ5ZjgwYWY4N2M4OTdiMDY1JyxcbiAgICAgICAgJ2JmZWZhY2RiMGU1ZDBmZDdkZjNhMzExYTk0ZGUwNjJiMjZiODBjNjFmYmM5NzUwOGI3OTk5MjY3MWVmN2NhN2YnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc5ODVmZGZkMTI3YzA1NjdjNmY1M2VjMWJiNjNlYzMxNThlNTk3YzQwYmZlNzQ3YzgzY2RkZmM5MTA2NDE5MTcnLFxuICAgICAgICAnNjAzYzEyZGFmM2Q5ODYyZWYyYjI1ZmUxZGUyODlhZWQyNGVkMjkxZTBlYzY3MDg3MDNhNWJkNTY3ZjMyZWQwMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNzRhMWFkNmI1Zjc2ZTM5ZGIyZGQyNDk0MTBlYWM3Zjk5ZTc0YzU5Y2I4M2QyZDBlZDVmZjE1NDNkYTc3MDNlOScsXG4gICAgICAgICdjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMDY4MmE1MDcwMzM3NWY2MDJkNDE2NjY0YmExOWI3ZmM5YmFiNDJjNzI3NDc0NjNhNzFkMDg5NmIyMmY2ZGEzJyxcbiAgICAgICAgJzU1M2UwNGY2YjAxOGI0ZmE2YzhmMzllN2YzMTFkMzE3NjI5MGQwZTBmMTljYTczZjE3NzE0ZDk5NzdhMjJmZjgnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzllMjE1OGYwZDdjMGQ1ZjI2YzM3OTFlZmVmYTc5NTk3NjU0ZTdhMmIyNDY0ZjUyYjFlZTZjMTM0Nzc2OWVmNTcnLFxuICAgICAgICAnNzEyZmNkZDFiOTA1M2YwOTAwM2EzNDgxZmE3NzYyZTlmZmQ3YzhlZjM1YTM4NTA5ZTJmYmYyNjI5MDA4MzczJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNzZlMjY5ODlhNDNjOWNmZWJhNDAyOWMyMDI1MzhjMjgxNzJlNTY2ZTNjNGZjZTczMjI4NTdmM2JlMzI3ZDY2JyxcbiAgICAgICAgJ2VkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc1ZDQ2ZWZlYTM3NzFlNmU2OGFiYjg5YTEzYWQ3NDdlY2YxODkyMzkzZGZjNGYxYjcwMDQ3ODhjNTAzNzRkYTgnLFxuICAgICAgICAnOTg1MjM5MGE5OTUwNzY3OWZkMGI4NmZkMmIzOWE4NjhkN2VmYzIyMTUxMzQ2ZTFhM2NhNDcyNjU4NmE2YmVkOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnODA5YTIwYzY3ZDY0OTAwZmZiNjk4YzRjODI1ZjZkNWYyMzEwZmIwNDUxYzg2OTM0NWI3MzE5ZjY0NTYwNTcyMScsXG4gICAgICAgICc5ZTk5NDk4MGQ5OTE3ZTIyYjc2YjA2MTkyN2ZhMDQxNDNkMDk2Y2NjNTQ5NjNlNmE1ZWJmYTVmM2Y4ZTI4NmMxJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxYjM4OTAzYTQzZjdmMTE0ZWQ0NTAwYjRlYWM3MDgzZmRlZmVjZTFjZjI5YzYzNTI4ZDU2MzQ0NmY5NzJjMTgwJyxcbiAgICAgICAgJzQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjknLFxuICAgICAgXSxcbiAgICBdLFxuICB9LFxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gZXhwb3J0cztcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgbWluQXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xudmFyIG1pblV0aWxzID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWNyeXB0by11dGlscycpO1xuXG51dGlscy5hc3NlcnQgPSBtaW5Bc3NlcnQ7XG51dGlscy50b0FycmF5ID0gbWluVXRpbHMudG9BcnJheTtcbnV0aWxzLnplcm8yID0gbWluVXRpbHMuemVybzI7XG51dGlscy50b0hleCA9IG1pblV0aWxzLnRvSGV4O1xudXRpbHMuZW5jb2RlID0gbWluVXRpbHMuZW5jb2RlO1xuXG4vLyBSZXByZXNlbnQgbnVtIGluIGEgdy1OQUYgZm9ybVxuZnVuY3Rpb24gZ2V0TkFGKG51bSwgdywgYml0cykge1xuICB2YXIgbmFmID0gbmV3IEFycmF5KE1hdGgubWF4KG51bS5iaXRMZW5ndGgoKSwgYml0cykgKyAxKTtcbiAgbmFmLmZpbGwoMCk7XG5cbiAgdmFyIHdzID0gMSA8PCAodyArIDEpO1xuICB2YXIgayA9IG51bS5jbG9uZSgpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbmFmLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHo7XG4gICAgdmFyIG1vZCA9IGsuYW5kbG4od3MgLSAxKTtcbiAgICBpZiAoay5pc09kZCgpKSB7XG4gICAgICBpZiAobW9kID4gKHdzID4+IDEpIC0gMSlcbiAgICAgICAgeiA9ICh3cyA+PiAxKSAtIG1vZDtcbiAgICAgIGVsc2VcbiAgICAgICAgeiA9IG1vZDtcbiAgICAgIGsuaXN1Ym4oeik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHogPSAwO1xuICAgIH1cblxuICAgIG5hZltpXSA9IHo7XG4gICAgay5pdXNocm4oMSk7XG4gIH1cblxuICByZXR1cm4gbmFmO1xufVxudXRpbHMuZ2V0TkFGID0gZ2V0TkFGO1xuXG4vLyBSZXByZXNlbnQgazEsIGsyIGluIGEgSm9pbnQgU3BhcnNlIEZvcm1cbmZ1bmN0aW9uIGdldEpTRihrMSwgazIpIHtcbiAgdmFyIGpzZiA9IFtcbiAgICBbXSxcbiAgICBbXSxcbiAgXTtcblxuICBrMSA9IGsxLmNsb25lKCk7XG4gIGsyID0gazIuY2xvbmUoKTtcbiAgdmFyIGQxID0gMDtcbiAgdmFyIGQyID0gMDtcbiAgdmFyIG04O1xuICB3aGlsZSAoazEuY21wbigtZDEpID4gMCB8fCBrMi5jbXBuKC1kMikgPiAwKSB7XG4gICAgLy8gRmlyc3QgcGhhc2VcbiAgICB2YXIgbTE0ID0gKGsxLmFuZGxuKDMpICsgZDEpICYgMztcbiAgICB2YXIgbTI0ID0gKGsyLmFuZGxuKDMpICsgZDIpICYgMztcbiAgICBpZiAobTE0ID09PSAzKVxuICAgICAgbTE0ID0gLTE7XG4gICAgaWYgKG0yNCA9PT0gMylcbiAgICAgIG0yNCA9IC0xO1xuICAgIHZhciB1MTtcbiAgICBpZiAoKG0xNCAmIDEpID09PSAwKSB7XG4gICAgICB1MSA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG04ID0gKGsxLmFuZGxuKDcpICsgZDEpICYgNztcbiAgICAgIGlmICgobTggPT09IDMgfHwgbTggPT09IDUpICYmIG0yNCA9PT0gMilcbiAgICAgICAgdTEgPSAtbTE0O1xuICAgICAgZWxzZVxuICAgICAgICB1MSA9IG0xNDtcbiAgICB9XG4gICAganNmWzBdLnB1c2godTEpO1xuXG4gICAgdmFyIHUyO1xuICAgIGlmICgobTI0ICYgMSkgPT09IDApIHtcbiAgICAgIHUyID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgbTggPSAoazIuYW5kbG4oNykgKyBkMikgJiA3O1xuICAgICAgaWYgKChtOCA9PT0gMyB8fCBtOCA9PT0gNSkgJiYgbTE0ID09PSAyKVxuICAgICAgICB1MiA9IC1tMjQ7XG4gICAgICBlbHNlXG4gICAgICAgIHUyID0gbTI0O1xuICAgIH1cbiAgICBqc2ZbMV0ucHVzaCh1Mik7XG5cbiAgICAvLyBTZWNvbmQgcGhhc2VcbiAgICBpZiAoMiAqIGQxID09PSB1MSArIDEpXG4gICAgICBkMSA9IDEgLSBkMTtcbiAgICBpZiAoMiAqIGQyID09PSB1MiArIDEpXG4gICAgICBkMiA9IDEgLSBkMjtcbiAgICBrMS5pdXNocm4oMSk7XG4gICAgazIuaXVzaHJuKDEpO1xuICB9XG5cbiAgcmV0dXJuIGpzZjtcbn1cbnV0aWxzLmdldEpTRiA9IGdldEpTRjtcblxuZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkob2JqLCBuYW1lLCBjb21wdXRlcikge1xuICB2YXIga2V5ID0gJ18nICsgbmFtZTtcbiAgb2JqLnByb3RvdHlwZVtuYW1lXSA9IGZ1bmN0aW9uIGNhY2hlZFByb3BlcnR5KCkge1xuICAgIHJldHVybiB0aGlzW2tleV0gIT09IHVuZGVmaW5lZCA/IHRoaXNba2V5XSA6XG4gICAgICB0aGlzW2tleV0gPSBjb21wdXRlci5jYWxsKHRoaXMpO1xuICB9O1xufVxudXRpbHMuY2FjaGVkUHJvcGVydHkgPSBjYWNoZWRQcm9wZXJ0eTtcblxuZnVuY3Rpb24gcGFyc2VCeXRlcyhieXRlcykge1xuICByZXR1cm4gdHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJyA/IHV0aWxzLnRvQXJyYXkoYnl0ZXMsICdoZXgnKSA6XG4gICAgYnl0ZXM7XG59XG51dGlscy5wYXJzZUJ5dGVzID0gcGFyc2VCeXRlcztcblxuZnVuY3Rpb24gaW50RnJvbUxFKGJ5dGVzKSB7XG4gIHJldHVybiBuZXcgQk4oYnl0ZXMsICdoZXgnLCAnbGUnKTtcbn1cbnV0aWxzLmludEZyb21MRSA9IGludEZyb21MRTtcblxuIiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFIgPSB0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgPyBSZWZsZWN0IDogbnVsbFxudmFyIFJlZmxlY3RBcHBseSA9IFIgJiYgdHlwZW9mIFIuYXBwbHkgPT09ICdmdW5jdGlvbidcbiAgPyBSLmFwcGx5XG4gIDogZnVuY3Rpb24gUmVmbGVjdEFwcGx5KHRhcmdldCwgcmVjZWl2ZXIsIGFyZ3MpIHtcbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodGFyZ2V0LCByZWNlaXZlciwgYXJncyk7XG4gIH1cblxudmFyIFJlZmxlY3RPd25LZXlzXG5pZiAoUiAmJiB0eXBlb2YgUi5vd25LZXlzID09PSAnZnVuY3Rpb24nKSB7XG4gIFJlZmxlY3RPd25LZXlzID0gUi5vd25LZXlzXG59IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KVxuICAgICAgLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkpO1xuICB9O1xufSBlbHNlIHtcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKHdhcm5pbmcpIHtcbiAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS53YXJuKSBjb25zb2xlLndhcm4od2FybmluZyk7XG59XG5cbnZhciBOdW1iZXJJc05hTiA9IE51bWJlci5pc05hTiB8fCBmdW5jdGlvbiBOdW1iZXJJc05hTih2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBFdmVudEVtaXR0ZXIoKSB7XG4gIEV2ZW50RW1pdHRlci5pbml0LmNhbGwodGhpcyk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IEV2ZW50RW1pdHRlcjtcbm1vZHVsZS5leHBvcnRzLm9uY2UgPSBvbmNlO1xuXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjEwLnhcbkV2ZW50RW1pdHRlci5FdmVudEVtaXR0ZXIgPSBFdmVudEVtaXR0ZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50cyA9IHVuZGVmaW5lZDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50c0NvdW50ID0gMDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHVuZGVmaW5lZDtcblxuLy8gQnkgZGVmYXVsdCBFdmVudEVtaXR0ZXJzIHdpbGwgcHJpbnQgYSB3YXJuaW5nIGlmIG1vcmUgdGhhbiAxMCBsaXN0ZW5lcnMgYXJlXG4vLyBhZGRlZCB0byBpdC4gVGhpcyBpcyBhIHVzZWZ1bCBkZWZhdWx0IHdoaWNoIGhlbHBzIGZpbmRpbmcgbWVtb3J5IGxlYWtzLlxudmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnMgPSAxMDtcblxuZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcikge1xuICBpZiAodHlwZW9mIGxpc3RlbmVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBsaXN0ZW5lcik7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEV2ZW50RW1pdHRlciwgJ2RlZmF1bHRNYXhMaXN0ZW5lcnMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24oYXJnKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcgIT09ICdudW1iZXInIHx8IGFyZyA8IDAgfHwgTnVtYmVySXNOYU4oYXJnKSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnICsgYXJnICsgJy4nKTtcbiAgICB9XG4gICAgZGVmYXVsdE1heExpc3RlbmVycyA9IGFyZztcbiAgfVxufSk7XG5cbkV2ZW50RW1pdHRlci5pbml0ID0gZnVuY3Rpb24oKSB7XG5cbiAgaWYgKHRoaXMuX2V2ZW50cyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB0aGlzLl9ldmVudHMgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSB7XG4gICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB0aGlzLl9ldmVudHNDb3VudCA9IDA7XG4gIH1cblxuICB0aGlzLl9tYXhMaXN0ZW5lcnMgPSB0aGlzLl9tYXhMaXN0ZW5lcnMgfHwgdW5kZWZpbmVkO1xufTtcblxuLy8gT2J2aW91c2x5IG5vdCBhbGwgRW1pdHRlcnMgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gMTAuIFRoaXMgZnVuY3Rpb24gYWxsb3dzXG4vLyB0aGF0IHRvIGJlIGluY3JlYXNlZC4gU2V0IHRvIHplcm8gZm9yIHVubGltaXRlZC5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gc2V0TWF4TGlzdGVuZXJzKG4pIHtcbiAgaWYgKHR5cGVvZiBuICE9PSAnbnVtYmVyJyB8fCBuIDwgMCB8fCBOdW1iZXJJc05hTihuKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJyArIG4gKyAnLicpO1xuICB9XG4gIHRoaXMuX21heExpc3RlbmVycyA9IG47XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gX2dldE1heExpc3RlbmVycyh0aGF0KSB7XG4gIGlmICh0aGF0Ll9tYXhMaXN0ZW5lcnMgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gRXZlbnRFbWl0dGVyLmRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIHJldHVybiB0aGF0Ll9tYXhMaXN0ZW5lcnM7XG59XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gZ2V0TWF4TGlzdGVuZXJzKCkge1xuICByZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIGVtaXQodHlwZSkge1xuICB2YXIgYXJncyA9IFtdO1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgYXJncy5wdXNoKGFyZ3VtZW50c1tpXSk7XG4gIHZhciBkb0Vycm9yID0gKHR5cGUgPT09ICdlcnJvcicpO1xuXG4gIHZhciBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gIGlmIChldmVudHMgIT09IHVuZGVmaW5lZClcbiAgICBkb0Vycm9yID0gKGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQpO1xuICBlbHNlIGlmICghZG9FcnJvcilcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gSWYgdGhlcmUgaXMgbm8gJ2Vycm9yJyBldmVudCBsaXN0ZW5lciB0aGVuIHRocm93LlxuICBpZiAoZG9FcnJvcikge1xuICAgIHZhciBlcjtcbiAgICBpZiAoYXJncy5sZW5ndGggPiAwKVxuICAgICAgZXIgPSBhcmdzWzBdO1xuICAgIGlmIChlciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAvLyBOb3RlOiBUaGUgY29tbWVudHMgb24gdGhlIGB0aHJvd2AgbGluZXMgYXJlIGludGVudGlvbmFsLCB0aGV5IHNob3dcbiAgICAgIC8vIHVwIGluIE5vZGUncyBvdXRwdXQgaWYgdGhpcyByZXN1bHRzIGluIGFuIHVuaGFuZGxlZCBleGNlcHRpb24uXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkICdlcnJvcicgZXZlbnRcbiAgICB9XG4gICAgLy8gQXQgbGVhc3QgZ2l2ZSBzb21lIGtpbmQgb2YgY29udGV4dCB0byB0aGUgdXNlclxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1VuaGFuZGxlZCBlcnJvci4nICsgKGVyID8gJyAoJyArIGVyLm1lc3NhZ2UgKyAnKScgOiAnJykpO1xuICAgIGVyci5jb250ZXh0ID0gZXI7XG4gICAgdGhyb3cgZXJyOyAvLyBVbmhhbmRsZWQgJ2Vycm9yJyBldmVudFxuICB9XG5cbiAgdmFyIGhhbmRsZXIgPSBldmVudHNbdHlwZV07XG5cbiAgaWYgKGhhbmRsZXIgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgUmVmbGVjdEFwcGx5KGhhbmRsZXIsIHRoaXMsIGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBsZW4gPSBoYW5kbGVyLmxlbmd0aDtcbiAgICB2YXIgbGlzdGVuZXJzID0gYXJyYXlDbG9uZShoYW5kbGVyLCBsZW4pO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICBSZWZsZWN0QXBwbHkobGlzdGVuZXJzW2ldLCB0aGlzLCBhcmdzKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKHRhcmdldCwgdHlwZSwgbGlzdGVuZXIsIHByZXBlbmQpIHtcbiAgdmFyIG07XG4gIHZhciBldmVudHM7XG4gIHZhciBleGlzdGluZztcblxuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcbiAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHRhcmdldC5fZXZlbnRzQ291bnQgPSAwO1xuICB9IGVsc2Uge1xuICAgIC8vIFRvIGF2b2lkIHJlY3Vyc2lvbiBpbiB0aGUgY2FzZSB0aGF0IHR5cGUgPT09IFwibmV3TGlzdGVuZXJcIiEgQmVmb3JlXG4gICAgLy8gYWRkaW5nIGl0IHRvIHRoZSBsaXN0ZW5lcnMsIGZpcnN0IGVtaXQgXCJuZXdMaXN0ZW5lclwiLlxuICAgIGlmIChldmVudHMubmV3TGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFyZ2V0LmVtaXQoJ25ld0xpc3RlbmVyJywgdHlwZSxcbiAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyID8gbGlzdGVuZXIubGlzdGVuZXIgOiBsaXN0ZW5lcik7XG5cbiAgICAgIC8vIFJlLWFzc2lnbiBgZXZlbnRzYCBiZWNhdXNlIGEgbmV3TGlzdGVuZXIgaGFuZGxlciBjb3VsZCBoYXZlIGNhdXNlZCB0aGVcbiAgICAgIC8vIHRoaXMuX2V2ZW50cyB0byBiZSBhc3NpZ25lZCB0byBhIG5ldyBvYmplY3RcbiAgICAgIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzO1xuICAgIH1cbiAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXTtcbiAgfVxuXG4gIGlmIChleGlzdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gT3B0aW1pemUgdGhlIGNhc2Ugb2Ygb25lIGxpc3RlbmVyLiBEb24ndCBuZWVkIHRoZSBleHRyYSBhcnJheSBvYmplY3QuXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV0gPSBsaXN0ZW5lcjtcbiAgICArK3RhcmdldC5fZXZlbnRzQ291bnQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gQWRkaW5nIHRoZSBzZWNvbmQgZWxlbWVudCwgbmVlZCB0byBjaGFuZ2UgdG8gYXJyYXkuXG4gICAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXSA9XG4gICAgICAgIHByZXBlbmQgPyBbbGlzdGVuZXIsIGV4aXN0aW5nXSA6IFtleGlzdGluZywgbGlzdGVuZXJdO1xuICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBnb3QgYW4gYXJyYXksIGp1c3QgYXBwZW5kLlxuICAgIH0gZWxzZSBpZiAocHJlcGVuZCkge1xuICAgICAgZXhpc3RpbmcudW5zaGlmdChsaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4aXN0aW5nLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBsaXN0ZW5lciBsZWFrXG4gICAgbSA9IF9nZXRNYXhMaXN0ZW5lcnModGFyZ2V0KTtcbiAgICBpZiAobSA+IDAgJiYgZXhpc3RpbmcubGVuZ3RoID4gbSAmJiAhZXhpc3Rpbmcud2FybmVkKSB7XG4gICAgICBleGlzdGluZy53YXJuZWQgPSB0cnVlO1xuICAgICAgLy8gTm8gZXJyb3IgY29kZSBmb3IgdGhpcyBzaW5jZSBpdCBpcyBhIFdhcm5pbmdcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgdmFyIHcgPSBuZXcgRXJyb3IoJ1Bvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLmxlbmd0aCArICcgJyArIFN0cmluZyh0eXBlKSArICcgbGlzdGVuZXJzICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jcmVhc2UgbGltaXQnKTtcbiAgICAgIHcubmFtZSA9ICdNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmcnO1xuICAgICAgdy5lbWl0dGVyID0gdGFyZ2V0O1xuICAgICAgdy50eXBlID0gdHlwZTtcbiAgICAgIHcuY291bnQgPSBleGlzdGluZy5sZW5ndGg7XG4gICAgICBQcm9jZXNzRW1pdFdhcm5pbmcodyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IGZ1bmN0aW9uIGFkZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gIHJldHVybiBfYWRkTGlzdGVuZXIodGhpcywgdHlwZSwgbGlzdGVuZXIsIGZhbHNlKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyO1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gICAgICByZXR1cm4gX2FkZExpc3RlbmVyKHRoaXMsIHR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcbiAgICB9O1xuXG5mdW5jdGlvbiBvbmNlV3JhcHBlcigpIHtcbiAgaWYgKCF0aGlzLmZpcmVkKSB7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLCB0aGlzLndyYXBGbik7XG4gICAgdGhpcy5maXJlZCA9IHRydWU7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCwgYXJndW1lbnRzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfb25jZVdyYXAodGFyZ2V0LCB0eXBlLCBsaXN0ZW5lcikge1xuICB2YXIgc3RhdGUgPSB7IGZpcmVkOiBmYWxzZSwgd3JhcEZuOiB1bmRlZmluZWQsIHRhcmdldDogdGFyZ2V0LCB0eXBlOiB0eXBlLCBsaXN0ZW5lcjogbGlzdGVuZXIgfTtcbiAgdmFyIHdyYXBwZWQgPSBvbmNlV3JhcHBlci5iaW5kKHN0YXRlKTtcbiAgd3JhcHBlZC5saXN0ZW5lciA9IGxpc3RlbmVyO1xuICBzdGF0ZS53cmFwRm4gPSB3cmFwcGVkO1xuICByZXR1cm4gd3JhcHBlZDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24gb25jZSh0eXBlLCBsaXN0ZW5lcikge1xuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcbiAgdGhpcy5vbih0eXBlLCBfb25jZVdyYXAodGhpcywgdHlwZSwgbGlzdGVuZXIpKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXIgPVxuICAgIGZ1bmN0aW9uIHByZXBlbmRPbmNlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xuICAgICAgdGhpcy5wcmVwZW5kTGlzdGVuZXIodHlwZSwgX29uY2VXcmFwKHRoaXMsIHR5cGUsIGxpc3RlbmVyKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG4vLyBFbWl0cyBhICdyZW1vdmVMaXN0ZW5lcicgZXZlbnQgaWYgYW5kIG9ubHkgaWYgdGhlIGxpc3RlbmVyIHdhcyByZW1vdmVkLlxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIHZhciBsaXN0LCBldmVudHMsIHBvc2l0aW9uLCBpLCBvcmlnaW5hbExpc3RlbmVyO1xuXG4gICAgICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xuICAgICAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gdGhpcztcblxuICAgICAgbGlzdCA9IGV2ZW50c1t0eXBlXTtcbiAgICAgIGlmIChsaXN0ID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICBpZiAobGlzdCA9PT0gbGlzdGVuZXIgfHwgbGlzdC5saXN0ZW5lciA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXG4gICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIGV2ZW50c1t0eXBlXTtcbiAgICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyKVxuICAgICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIGxpc3QubGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBsaXN0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHBvc2l0aW9uID0gLTE7XG5cbiAgICAgICAgZm9yIChpID0gbGlzdC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIGlmIChsaXN0W2ldID09PSBsaXN0ZW5lciB8fCBsaXN0W2ldLmxpc3RlbmVyID09PSBsaXN0ZW5lcikge1xuICAgICAgICAgICAgb3JpZ2luYWxMaXN0ZW5lciA9IGxpc3RbaV0ubGlzdGVuZXI7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocG9zaXRpb24gPCAwKVxuICAgICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMClcbiAgICAgICAgICBsaXN0LnNoaWZ0KCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHNwbGljZU9uZShsaXN0LCBwb3NpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPT09IDEpXG4gICAgICAgICAgZXZlbnRzW3R5cGVdID0gbGlzdFswXTtcblxuICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIG9yaWdpbmFsTGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLm9mZiA9IEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cbiAgICBmdW5jdGlvbiByZW1vdmVBbGxMaXN0ZW5lcnModHlwZSkge1xuICAgICAgdmFyIGxpc3RlbmVycywgZXZlbnRzLCBpO1xuXG4gICAgICBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gICAgICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAvLyBub3QgbGlzdGVuaW5nIGZvciByZW1vdmVMaXN0ZW5lciwgbm8gbmVlZCB0byBlbWl0XG4gICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNbdHlwZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmICgtLXRoaXMuX2V2ZW50c0NvdW50ID09PSAwKVxuICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBkZWxldGUgZXZlbnRzW3R5cGVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICAvLyBlbWl0IHJlbW92ZUxpc3RlbmVyIGZvciBhbGwgbGlzdGVuZXJzIG9uIGFsbCBldmVudHNcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcbiAgICAgICAgdmFyIGtleTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgIGlmIChrZXkgPT09ICdyZW1vdmVMaXN0ZW5lcicpIGNvbnRpbnVlO1xuICAgICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ3JlbW92ZUxpc3RlbmVyJyk7XG4gICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIGxpc3RlbmVycyA9IGV2ZW50c1t0eXBlXTtcblxuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lcnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnMpO1xuICAgICAgfSBlbHNlIGlmIChsaXN0ZW5lcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBMSUZPIG9yZGVyXG4gICAgICAgIGZvciAoaSA9IGxpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXJzW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5mdW5jdGlvbiBfbGlzdGVuZXJzKHRhcmdldCwgdHlwZSwgdW53cmFwKSB7XG4gIHZhciBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgcmV0dXJuIFtdO1xuXG4gIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xuICBpZiAoZXZsaXN0ZW5lciA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybiBbXTtcblxuICBpZiAodHlwZW9mIGV2bGlzdGVuZXIgPT09ICdmdW5jdGlvbicpXG4gICAgcmV0dXJuIHVud3JhcCA/IFtldmxpc3RlbmVyLmxpc3RlbmVyIHx8IGV2bGlzdGVuZXJdIDogW2V2bGlzdGVuZXJdO1xuXG4gIHJldHVybiB1bndyYXAgP1xuICAgIHVud3JhcExpc3RlbmVycyhldmxpc3RlbmVyKSA6IGFycmF5Q2xvbmUoZXZsaXN0ZW5lciwgZXZsaXN0ZW5lci5sZW5ndGgpO1xufVxuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIGxpc3RlbmVycyh0eXBlKSB7XG4gIHJldHVybiBfbGlzdGVuZXJzKHRoaXMsIHR5cGUsIHRydWUpO1xufTtcblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnMgPSBmdW5jdGlvbiByYXdMaXN0ZW5lcnModHlwZSkge1xuICByZXR1cm4gX2xpc3RlbmVycyh0aGlzLCB0eXBlLCBmYWxzZSk7XG59O1xuXG5FdmVudEVtaXR0ZXIubGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUpIHtcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLmxpc3RlbmVyQ291bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsaXN0ZW5lckNvdW50LmNhbGwoZW1pdHRlciwgdHlwZSk7XG4gIH1cbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IGxpc3RlbmVyQ291bnQ7XG5mdW5jdGlvbiBsaXN0ZW5lckNvdW50KHR5cGUpIHtcbiAgdmFyIGV2ZW50cyA9IHRoaXMuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgZXZsaXN0ZW5lciA9IGV2ZW50c1t0eXBlXTtcblxuICAgIGlmICh0eXBlb2YgZXZsaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmIChldmxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBldmxpc3RlbmVyLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzID0gZnVuY3Rpb24gZXZlbnROYW1lcygpIHtcbiAgcmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50ID4gMCA/IFJlZmxlY3RPd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcbn07XG5cbmZ1bmN0aW9uIGFycmF5Q2xvbmUoYXJyLCBuKSB7XG4gIHZhciBjb3B5ID0gbmV3IEFycmF5KG4pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSlcbiAgICBjb3B5W2ldID0gYXJyW2ldO1xuICByZXR1cm4gY29weTtcbn1cblxuZnVuY3Rpb24gc3BsaWNlT25lKGxpc3QsIGluZGV4KSB7XG4gIGZvciAoOyBpbmRleCArIDEgPCBsaXN0Lmxlbmd0aDsgaW5kZXgrKylcbiAgICBsaXN0W2luZGV4XSA9IGxpc3RbaW5kZXggKyAxXTtcbiAgbGlzdC5wb3AoKTtcbn1cblxuZnVuY3Rpb24gdW53cmFwTGlzdGVuZXJzKGFycikge1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGFyci5sZW5ndGgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHJldC5sZW5ndGg7ICsraSkge1xuICAgIHJldFtpXSA9IGFycltpXS5saXN0ZW5lciB8fCBhcnJbaV07XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb25jZShlbWl0dGVyLCBuYW1lKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgZnVuY3Rpb24gZXZlbnRMaXN0ZW5lcigpIHtcbiAgICAgIGlmIChlcnJvckxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZW1pdHRlci5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBlcnJvckxpc3RlbmVyKTtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgICB9O1xuICAgIHZhciBlcnJvckxpc3RlbmVyO1xuXG4gICAgLy8gQWRkaW5nIGFuIGVycm9yIGxpc3RlbmVyIGlzIG5vdCBvcHRpb25hbCBiZWNhdXNlXG4gICAgLy8gaWYgYW4gZXJyb3IgaXMgdGhyb3duIG9uIGFuIGV2ZW50IGVtaXR0ZXIgd2UgY2Fubm90XG4gICAgLy8gZ3VhcmFudGVlIHRoYXQgdGhlIGFjdHVhbCBldmVudCB3ZSBhcmUgd2FpdGluZyB3aWxsXG4gICAgLy8gYmUgZmlyZWQuIFRoZSByZXN1bHQgY291bGQgYmUgYSBzaWxlbnQgd2F5IHRvIGNyZWF0ZVxuICAgIC8vIG1lbW9yeSBvciBmaWxlIGRlc2NyaXB0b3IgbGVha3MsIHdoaWNoIGlzIHNvbWV0aGluZ1xuICAgIC8vIHdlIHNob3VsZCBhdm9pZC5cbiAgICBpZiAobmFtZSAhPT0gJ2Vycm9yJykge1xuICAgICAgZXJyb3JMaXN0ZW5lciA9IGZ1bmN0aW9uIGVycm9yTGlzdGVuZXIoZXJyKSB7XG4gICAgICAgIGVtaXR0ZXIucmVtb3ZlTGlzdGVuZXIobmFtZSwgZXZlbnRMaXN0ZW5lcik7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfTtcblxuICAgICAgZW1pdHRlci5vbmNlKCdlcnJvcicsIGVycm9yTGlzdGVuZXIpO1xuICAgIH1cblxuICAgIGVtaXR0ZXIub25jZShuYW1lLCBldmVudExpc3RlbmVyKTtcbiAgfSk7XG59XG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBNRDUgPSByZXF1aXJlKCdtZDUuanMnKVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbmZ1bmN0aW9uIEVWUF9CeXRlc1RvS2V5IChwYXNzd29yZCwgc2FsdCwga2V5Qml0cywgaXZMZW4pIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocGFzc3dvcmQpKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkLCAnYmluYXJ5JylcbiAgaWYgKHNhbHQpIHtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihzYWx0KSkgc2FsdCA9IEJ1ZmZlci5mcm9tKHNhbHQsICdiaW5hcnknKVxuICAgIGlmIChzYWx0Lmxlbmd0aCAhPT0gOCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NhbHQgc2hvdWxkIGJlIEJ1ZmZlciB3aXRoIDggYnl0ZSBsZW5ndGgnKVxuICB9XG5cbiAgdmFyIGtleUxlbiA9IGtleUJpdHMgLyA4XG4gIHZhciBrZXkgPSBCdWZmZXIuYWxsb2Moa2V5TGVuKVxuICB2YXIgaXYgPSBCdWZmZXIuYWxsb2MoaXZMZW4gfHwgMClcbiAgdmFyIHRtcCA9IEJ1ZmZlci5hbGxvYygwKVxuXG4gIHdoaWxlIChrZXlMZW4gPiAwIHx8IGl2TGVuID4gMCkge1xuICAgIHZhciBoYXNoID0gbmV3IE1ENSgpXG4gICAgaGFzaC51cGRhdGUodG1wKVxuICAgIGhhc2gudXBkYXRlKHBhc3N3b3JkKVxuICAgIGlmIChzYWx0KSBoYXNoLnVwZGF0ZShzYWx0KVxuICAgIHRtcCA9IGhhc2guZGlnZXN0KClcblxuICAgIHZhciB1c2VkID0gMFxuXG4gICAgaWYgKGtleUxlbiA+IDApIHtcbiAgICAgIHZhciBrZXlTdGFydCA9IGtleS5sZW5ndGggLSBrZXlMZW5cbiAgICAgIHVzZWQgPSBNYXRoLm1pbihrZXlMZW4sIHRtcC5sZW5ndGgpXG4gICAgICB0bXAuY29weShrZXksIGtleVN0YXJ0LCAwLCB1c2VkKVxuICAgICAga2V5TGVuIC09IHVzZWRcbiAgICB9XG5cbiAgICBpZiAodXNlZCA8IHRtcC5sZW5ndGggJiYgaXZMZW4gPiAwKSB7XG4gICAgICB2YXIgaXZTdGFydCA9IGl2Lmxlbmd0aCAtIGl2TGVuXG4gICAgICB2YXIgbGVuZ3RoID0gTWF0aC5taW4oaXZMZW4sIHRtcC5sZW5ndGggLSB1c2VkKVxuICAgICAgdG1wLmNvcHkoaXYsIGl2U3RhcnQsIHVzZWQsIHVzZWQgKyBsZW5ndGgpXG4gICAgICBpdkxlbiAtPSBsZW5ndGhcbiAgICB9XG4gIH1cblxuICB0bXAuZmlsbCgwKVxuICByZXR1cm4geyBrZXk6IGtleSwgaXY6IGl2IH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBFVlBfQnl0ZXNUb0tleVxuIiwiJ3VzZSBzdHJpY3QnXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBUcmFuc2Zvcm0gPSByZXF1aXJlKCdyZWFkYWJsZS1zdHJlYW0nKS5UcmFuc2Zvcm1cbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcblxuZnVuY3Rpb24gdGhyb3dJZk5vdFN0cmluZ09yQnVmZmVyICh2YWwsIHByZWZpeCkge1xuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWwpICYmIHR5cGVvZiB2YWwgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihwcmVmaXggKyAnIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXInKVxuICB9XG59XG5cbmZ1bmN0aW9uIEhhc2hCYXNlIChibG9ja1NpemUpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcblxuICB0aGlzLl9ibG9jayA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShibG9ja1NpemUpXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxuICB0aGlzLl9ibG9ja09mZnNldCA9IDBcbiAgdGhpcy5fbGVuZ3RoID0gWzAsIDAsIDAsIDBdXG5cbiAgdGhpcy5fZmluYWxpemVkID0gZmFsc2Vcbn1cblxuaW5oZXJpdHMoSGFzaEJhc2UsIFRyYW5zZm9ybSlcblxuSGFzaEJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICB2YXIgZXJyb3IgPSBudWxsXG4gIHRyeSB7XG4gICAgdGhpcy51cGRhdGUoY2h1bmssIGVuY29kaW5nKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvciA9IGVyclxuICB9XG5cbiAgY2FsbGJhY2soZXJyb3IpXG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS5fZmx1c2ggPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdmFyIGVycm9yID0gbnVsbFxuICB0cnkge1xuICAgIHRoaXMucHVzaCh0aGlzLmRpZ2VzdCgpKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvciA9IGVyclxuICB9XG5cbiAgY2FsbGJhY2soZXJyb3IpXG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSwgZW5jb2RpbmcpIHtcbiAgdGhyb3dJZk5vdFN0cmluZ09yQnVmZmVyKGRhdGEsICdEYXRhJylcbiAgaWYgKHRoaXMuX2ZpbmFsaXplZCkgdGhyb3cgbmV3IEVycm9yKCdEaWdlc3QgYWxyZWFkeSBjYWxsZWQnKVxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihkYXRhKSkgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGVuY29kaW5nKVxuXG4gIC8vIGNvbnN1bWUgZGF0YVxuICB2YXIgYmxvY2sgPSB0aGlzLl9ibG9ja1xuICB2YXIgb2Zmc2V0ID0gMFxuICB3aGlsZSAodGhpcy5fYmxvY2tPZmZzZXQgKyBkYXRhLmxlbmd0aCAtIG9mZnNldCA+PSB0aGlzLl9ibG9ja1NpemUpIHtcbiAgICBmb3IgKHZhciBpID0gdGhpcy5fYmxvY2tPZmZzZXQ7IGkgPCB0aGlzLl9ibG9ja1NpemU7KSBibG9ja1tpKytdID0gZGF0YVtvZmZzZXQrK11cbiAgICB0aGlzLl91cGRhdGUoKVxuICAgIHRoaXMuX2Jsb2NrT2Zmc2V0ID0gMFxuICB9XG4gIHdoaWxlIChvZmZzZXQgPCBkYXRhLmxlbmd0aCkgYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSBkYXRhW29mZnNldCsrXVxuXG4gIC8vIHVwZGF0ZSBsZW5ndGhcbiAgZm9yICh2YXIgaiA9IDAsIGNhcnJ5ID0gZGF0YS5sZW5ndGggKiA4OyBjYXJyeSA+IDA7ICsraikge1xuICAgIHRoaXMuX2xlbmd0aFtqXSArPSBjYXJyeVxuICAgIGNhcnJ5ID0gKHRoaXMuX2xlbmd0aFtqXSAvIDB4MDEwMDAwMDAwMCkgfCAwXG4gICAgaWYgKGNhcnJ5ID4gMCkgdGhpcy5fbGVuZ3RoW2pdIC09IDB4MDEwMDAwMDAwMCAqIGNhcnJ5XG4gIH1cblxuICByZXR1cm4gdGhpc1xufVxuXG5IYXNoQmFzZS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCcpXG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcbiAgaWYgKHRoaXMuX2ZpbmFsaXplZCkgdGhyb3cgbmV3IEVycm9yKCdEaWdlc3QgYWxyZWFkeSBjYWxsZWQnKVxuICB0aGlzLl9maW5hbGl6ZWQgPSB0cnVlXG5cbiAgdmFyIGRpZ2VzdCA9IHRoaXMuX2RpZ2VzdCgpXG4gIGlmIChlbmNvZGluZyAhPT0gdW5kZWZpbmVkKSBkaWdlc3QgPSBkaWdlc3QudG9TdHJpbmcoZW5jb2RpbmcpXG5cbiAgLy8gcmVzZXQgc3RhdGVcbiAgdGhpcy5fYmxvY2suZmlsbCgwKVxuICB0aGlzLl9ibG9ja09mZnNldCA9IDBcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyArK2kpIHRoaXMuX2xlbmd0aFtpXSA9IDBcblxuICByZXR1cm4gZGlnZXN0XG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ19kaWdlc3QgaXMgbm90IGltcGxlbWVudGVkJylcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBIYXNoQmFzZVxuIiwidmFyIGhhc2ggPSBleHBvcnRzO1xuXG5oYXNoLnV0aWxzID0gcmVxdWlyZSgnLi9oYXNoL3V0aWxzJyk7XG5oYXNoLmNvbW1vbiA9IHJlcXVpcmUoJy4vaGFzaC9jb21tb24nKTtcbmhhc2guc2hhID0gcmVxdWlyZSgnLi9oYXNoL3NoYScpO1xuaGFzaC5yaXBlbWQgPSByZXF1aXJlKCcuL2hhc2gvcmlwZW1kJyk7XG5oYXNoLmhtYWMgPSByZXF1aXJlKCcuL2hhc2gvaG1hYycpO1xuXG4vLyBQcm94eSBoYXNoIGZ1bmN0aW9ucyB0byB0aGUgbWFpbiBvYmplY3Rcbmhhc2guc2hhMSA9IGhhc2guc2hhLnNoYTE7XG5oYXNoLnNoYTI1NiA9IGhhc2guc2hhLnNoYTI1Njtcbmhhc2guc2hhMjI0ID0gaGFzaC5zaGEuc2hhMjI0O1xuaGFzaC5zaGEzODQgPSBoYXNoLnNoYS5zaGEzODQ7XG5oYXNoLnNoYTUxMiA9IGhhc2guc2hhLnNoYTUxMjtcbmhhc2gucmlwZW1kMTYwID0gaGFzaC5yaXBlbWQucmlwZW1kMTYwO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7XG52YXIgYXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xuXG5mdW5jdGlvbiBCbG9ja0hhc2goKSB7XG4gIHRoaXMucGVuZGluZyA9IG51bGw7XG4gIHRoaXMucGVuZGluZ1RvdGFsID0gMDtcbiAgdGhpcy5ibG9ja1NpemUgPSB0aGlzLmNvbnN0cnVjdG9yLmJsb2NrU2l6ZTtcbiAgdGhpcy5vdXRTaXplID0gdGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplO1xuICB0aGlzLmhtYWNTdHJlbmd0aCA9IHRoaXMuY29uc3RydWN0b3IuaG1hY1N0cmVuZ3RoO1xuICB0aGlzLnBhZExlbmd0aCA9IHRoaXMuY29uc3RydWN0b3IucGFkTGVuZ3RoIC8gODtcbiAgdGhpcy5lbmRpYW4gPSAnYmlnJztcblxuICB0aGlzLl9kZWx0YTggPSB0aGlzLmJsb2NrU2l6ZSAvIDg7XG4gIHRoaXMuX2RlbHRhMzIgPSB0aGlzLmJsb2NrU2l6ZSAvIDMyO1xufVxuZXhwb3J0cy5CbG9ja0hhc2ggPSBCbG9ja0hhc2g7XG5cbkJsb2NrSGFzaC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKG1zZywgZW5jKSB7XG4gIC8vIENvbnZlcnQgbWVzc2FnZSB0byBhcnJheSwgcGFkIGl0LCBhbmQgam9pbiBpbnRvIDMyYml0IGJsb2Nrc1xuICBtc2cgPSB1dGlscy50b0FycmF5KG1zZywgZW5jKTtcbiAgaWYgKCF0aGlzLnBlbmRpbmcpXG4gICAgdGhpcy5wZW5kaW5nID0gbXNnO1xuICBlbHNlXG4gICAgdGhpcy5wZW5kaW5nID0gdGhpcy5wZW5kaW5nLmNvbmNhdChtc2cpO1xuICB0aGlzLnBlbmRpbmdUb3RhbCArPSBtc2cubGVuZ3RoO1xuXG4gIC8vIEVub3VnaCBkYXRhLCB0cnkgdXBkYXRpbmdcbiAgaWYgKHRoaXMucGVuZGluZy5sZW5ndGggPj0gdGhpcy5fZGVsdGE4KSB7XG4gICAgbXNnID0gdGhpcy5wZW5kaW5nO1xuXG4gICAgLy8gUHJvY2VzcyBwZW5kaW5nIGRhdGEgaW4gYmxvY2tzXG4gICAgdmFyIHIgPSBtc2cubGVuZ3RoICUgdGhpcy5fZGVsdGE4O1xuICAgIHRoaXMucGVuZGluZyA9IG1zZy5zbGljZShtc2cubGVuZ3RoIC0gciwgbXNnLmxlbmd0aCk7XG4gICAgaWYgKHRoaXMucGVuZGluZy5sZW5ndGggPT09IDApXG4gICAgICB0aGlzLnBlbmRpbmcgPSBudWxsO1xuXG4gICAgbXNnID0gdXRpbHMuam9pbjMyKG1zZywgMCwgbXNnLmxlbmd0aCAtIHIsIHRoaXMuZW5kaWFuKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkgKz0gdGhpcy5fZGVsdGEzMilcbiAgICAgIHRoaXMuX3VwZGF0ZShtc2csIGksIGkgKyB0aGlzLl9kZWx0YTMyKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuQmxvY2tIYXNoLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIHRoaXMudXBkYXRlKHRoaXMuX3BhZCgpKTtcbiAgYXNzZXJ0KHRoaXMucGVuZGluZyA9PT0gbnVsbCk7XG5cbiAgcmV0dXJuIHRoaXMuX2RpZ2VzdChlbmMpO1xufTtcblxuQmxvY2tIYXNoLnByb3RvdHlwZS5fcGFkID0gZnVuY3Rpb24gcGFkKCkge1xuICB2YXIgbGVuID0gdGhpcy5wZW5kaW5nVG90YWw7XG4gIHZhciBieXRlcyA9IHRoaXMuX2RlbHRhODtcbiAgdmFyIGsgPSBieXRlcyAtICgobGVuICsgdGhpcy5wYWRMZW5ndGgpICUgYnl0ZXMpO1xuICB2YXIgcmVzID0gbmV3IEFycmF5KGsgKyB0aGlzLnBhZExlbmd0aCk7XG4gIHJlc1swXSA9IDB4ODA7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgazsgaSsrKVxuICAgIHJlc1tpXSA9IDA7XG5cbiAgLy8gQXBwZW5kIGxlbmd0aFxuICBsZW4gPDw9IDM7XG4gIGlmICh0aGlzLmVuZGlhbiA9PT0gJ2JpZycpIHtcbiAgICBmb3IgKHZhciB0ID0gODsgdCA8IHRoaXMucGFkTGVuZ3RoOyB0KyspXG4gICAgICByZXNbaSsrXSA9IDA7XG5cbiAgICByZXNbaSsrXSA9IDA7XG4gICAgcmVzW2krK10gPSAwO1xuICAgIHJlc1tpKytdID0gMDtcbiAgICByZXNbaSsrXSA9IDA7XG4gICAgcmVzW2krK10gPSAobGVuID4+PiAyNCkgJiAweGZmO1xuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gMTYpICYgMHhmZjtcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDgpICYgMHhmZjtcbiAgICByZXNbaSsrXSA9IGxlbiAmIDB4ZmY7XG4gIH0gZWxzZSB7XG4gICAgcmVzW2krK10gPSBsZW4gJiAweGZmO1xuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gOCkgJiAweGZmO1xuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gMTYpICYgMHhmZjtcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDI0KSAmIDB4ZmY7XG4gICAgcmVzW2krK10gPSAwO1xuICAgIHJlc1tpKytdID0gMDtcbiAgICByZXNbaSsrXSA9IDA7XG4gICAgcmVzW2krK10gPSAwO1xuXG4gICAgZm9yICh0ID0gODsgdCA8IHRoaXMucGFkTGVuZ3RoOyB0KyspXG4gICAgICByZXNbaSsrXSA9IDA7XG4gIH1cblxuICByZXR1cm4gcmVzO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcblxuZnVuY3Rpb24gSG1hYyhoYXNoLCBrZXksIGVuYykge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgSG1hYykpXG4gICAgcmV0dXJuIG5ldyBIbWFjKGhhc2gsIGtleSwgZW5jKTtcbiAgdGhpcy5IYXNoID0gaGFzaDtcbiAgdGhpcy5ibG9ja1NpemUgPSBoYXNoLmJsb2NrU2l6ZSAvIDg7XG4gIHRoaXMub3V0U2l6ZSA9IGhhc2gub3V0U2l6ZSAvIDg7XG4gIHRoaXMuaW5uZXIgPSBudWxsO1xuICB0aGlzLm91dGVyID0gbnVsbDtcblxuICB0aGlzLl9pbml0KHV0aWxzLnRvQXJyYXkoa2V5LCBlbmMpKTtcbn1cbm1vZHVsZS5leHBvcnRzID0gSG1hYztcblxuSG1hYy5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0KGtleSkge1xuICAvLyBTaG9ydGVuIGtleSwgaWYgbmVlZGVkXG4gIGlmIChrZXkubGVuZ3RoID4gdGhpcy5ibG9ja1NpemUpXG4gICAga2V5ID0gbmV3IHRoaXMuSGFzaCgpLnVwZGF0ZShrZXkpLmRpZ2VzdCgpO1xuICBhc3NlcnQoa2V5Lmxlbmd0aCA8PSB0aGlzLmJsb2NrU2l6ZSk7XG5cbiAgLy8gQWRkIHBhZGRpbmcgdG8ga2V5XG4gIGZvciAodmFyIGkgPSBrZXkubGVuZ3RoOyBpIDwgdGhpcy5ibG9ja1NpemU7IGkrKylcbiAgICBrZXkucHVzaCgwKTtcblxuICBmb3IgKGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKVxuICAgIGtleVtpXSBePSAweDM2O1xuICB0aGlzLmlubmVyID0gbmV3IHRoaXMuSGFzaCgpLnVwZGF0ZShrZXkpO1xuXG4gIC8vIDB4MzYgXiAweDVjID0gMHg2YVxuICBmb3IgKGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKVxuICAgIGtleVtpXSBePSAweDZhO1xuICB0aGlzLm91dGVyID0gbmV3IHRoaXMuSGFzaCgpLnVwZGF0ZShrZXkpO1xufTtcblxuSG1hYy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKG1zZywgZW5jKSB7XG4gIHRoaXMuaW5uZXIudXBkYXRlKG1zZywgZW5jKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5IbWFjLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIHRoaXMub3V0ZXIudXBkYXRlKHRoaXMuaW5uZXIuZGlnZXN0KCkpO1xuICByZXR1cm4gdGhpcy5vdXRlci5kaWdlc3QoZW5jKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcbnZhciBjb21tb24gPSByZXF1aXJlKCcuL2NvbW1vbicpO1xuXG52YXIgcm90bDMyID0gdXRpbHMucm90bDMyO1xudmFyIHN1bTMyID0gdXRpbHMuc3VtMzI7XG52YXIgc3VtMzJfMyA9IHV0aWxzLnN1bTMyXzM7XG52YXIgc3VtMzJfNCA9IHV0aWxzLnN1bTMyXzQ7XG52YXIgQmxvY2tIYXNoID0gY29tbW9uLkJsb2NrSGFzaDtcblxuZnVuY3Rpb24gUklQRU1EMTYwKCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUklQRU1EMTYwKSlcbiAgICByZXR1cm4gbmV3IFJJUEVNRDE2MCgpO1xuXG4gIEJsb2NrSGFzaC5jYWxsKHRoaXMpO1xuXG4gIHRoaXMuaCA9IFsgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSwgMHgxMDMyNTQ3NiwgMHhjM2QyZTFmMCBdO1xuICB0aGlzLmVuZGlhbiA9ICdsaXR0bGUnO1xufVxudXRpbHMuaW5oZXJpdHMoUklQRU1EMTYwLCBCbG9ja0hhc2gpO1xuZXhwb3J0cy5yaXBlbWQxNjAgPSBSSVBFTUQxNjA7XG5cblJJUEVNRDE2MC5ibG9ja1NpemUgPSA1MTI7XG5SSVBFTUQxNjAub3V0U2l6ZSA9IDE2MDtcblJJUEVNRDE2MC5obWFjU3RyZW5ndGggPSAxOTI7XG5SSVBFTUQxNjAucGFkTGVuZ3RoID0gNjQ7XG5cblJJUEVNRDE2MC5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShtc2csIHN0YXJ0KSB7XG4gIHZhciBBID0gdGhpcy5oWzBdO1xuICB2YXIgQiA9IHRoaXMuaFsxXTtcbiAgdmFyIEMgPSB0aGlzLmhbMl07XG4gIHZhciBEID0gdGhpcy5oWzNdO1xuICB2YXIgRSA9IHRoaXMuaFs0XTtcbiAgdmFyIEFoID0gQTtcbiAgdmFyIEJoID0gQjtcbiAgdmFyIENoID0gQztcbiAgdmFyIERoID0gRDtcbiAgdmFyIEVoID0gRTtcbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgaisrKSB7XG4gICAgdmFyIFQgPSBzdW0zMihcbiAgICAgIHJvdGwzMihcbiAgICAgICAgc3VtMzJfNChBLCBmKGosIEIsIEMsIEQpLCBtc2dbcltqXSArIHN0YXJ0XSwgSyhqKSksXG4gICAgICAgIHNbal0pLFxuICAgICAgRSk7XG4gICAgQSA9IEU7XG4gICAgRSA9IEQ7XG4gICAgRCA9IHJvdGwzMihDLCAxMCk7XG4gICAgQyA9IEI7XG4gICAgQiA9IFQ7XG4gICAgVCA9IHN1bTMyKFxuICAgICAgcm90bDMyKFxuICAgICAgICBzdW0zMl80KEFoLCBmKDc5IC0gaiwgQmgsIENoLCBEaCksIG1zZ1tyaFtqXSArIHN0YXJ0XSwgS2goaikpLFxuICAgICAgICBzaFtqXSksXG4gICAgICBFaCk7XG4gICAgQWggPSBFaDtcbiAgICBFaCA9IERoO1xuICAgIERoID0gcm90bDMyKENoLCAxMCk7XG4gICAgQ2ggPSBCaDtcbiAgICBCaCA9IFQ7XG4gIH1cbiAgVCA9IHN1bTMyXzModGhpcy5oWzFdLCBDLCBEaCk7XG4gIHRoaXMuaFsxXSA9IHN1bTMyXzModGhpcy5oWzJdLCBELCBFaCk7XG4gIHRoaXMuaFsyXSA9IHN1bTMyXzModGhpcy5oWzNdLCBFLCBBaCk7XG4gIHRoaXMuaFszXSA9IHN1bTMyXzModGhpcy5oWzRdLCBBLCBCaCk7XG4gIHRoaXMuaFs0XSA9IHN1bTMyXzModGhpcy5oWzBdLCBCLCBDaCk7XG4gIHRoaXMuaFswXSA9IFQ7XG59O1xuXG5SSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIGlmIChlbmMgPT09ICdoZXgnKVxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaCwgJ2xpdHRsZScpO1xuICBlbHNlXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnbGl0dGxlJyk7XG59O1xuXG5mdW5jdGlvbiBmKGosIHgsIHksIHopIHtcbiAgaWYgKGogPD0gMTUpXG4gICAgcmV0dXJuIHggXiB5IF4gejtcbiAgZWxzZSBpZiAoaiA8PSAzMSlcbiAgICByZXR1cm4gKHggJiB5KSB8ICgofngpICYgeik7XG4gIGVsc2UgaWYgKGogPD0gNDcpXG4gICAgcmV0dXJuICh4IHwgKH55KSkgXiB6O1xuICBlbHNlIGlmIChqIDw9IDYzKVxuICAgIHJldHVybiAoeCAmIHopIHwgKHkgJiAofnopKTtcbiAgZWxzZVxuICAgIHJldHVybiB4IF4gKHkgfCAofnopKTtcbn1cblxuZnVuY3Rpb24gSyhqKSB7XG4gIGlmIChqIDw9IDE1KVxuICAgIHJldHVybiAweDAwMDAwMDAwO1xuICBlbHNlIGlmIChqIDw9IDMxKVxuICAgIHJldHVybiAweDVhODI3OTk5O1xuICBlbHNlIGlmIChqIDw9IDQ3KVxuICAgIHJldHVybiAweDZlZDllYmExO1xuICBlbHNlIGlmIChqIDw9IDYzKVxuICAgIHJldHVybiAweDhmMWJiY2RjO1xuICBlbHNlXG4gICAgcmV0dXJuIDB4YTk1M2ZkNGU7XG59XG5cbmZ1bmN0aW9uIEtoKGopIHtcbiAgaWYgKGogPD0gMTUpXG4gICAgcmV0dXJuIDB4NTBhMjhiZTY7XG4gIGVsc2UgaWYgKGogPD0gMzEpXG4gICAgcmV0dXJuIDB4NWM0ZGQxMjQ7XG4gIGVsc2UgaWYgKGogPD0gNDcpXG4gICAgcmV0dXJuIDB4NmQ3MDNlZjM7XG4gIGVsc2UgaWYgKGogPD0gNjMpXG4gICAgcmV0dXJuIDB4N2E2ZDc2ZTk7XG4gIGVsc2VcbiAgICByZXR1cm4gMHgwMDAwMDAwMDtcbn1cblxudmFyIHIgPSBbXG4gIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsXG4gIDcsIDQsIDEzLCAxLCAxMCwgNiwgMTUsIDMsIDEyLCAwLCA5LCA1LCAyLCAxNCwgMTEsIDgsXG4gIDMsIDEwLCAxNCwgNCwgOSwgMTUsIDgsIDEsIDIsIDcsIDAsIDYsIDEzLCAxMSwgNSwgMTIsXG4gIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsXG4gIDQsIDAsIDUsIDksIDcsIDEyLCAyLCAxMCwgMTQsIDEsIDMsIDgsIDExLCA2LCAxNSwgMTNcbl07XG5cbnZhciByaCA9IFtcbiAgNSwgMTQsIDcsIDAsIDksIDIsIDExLCA0LCAxMywgNiwgMTUsIDgsIDEsIDEwLCAzLCAxMixcbiAgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMixcbiAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcbiAgOCwgNiwgNCwgMSwgMywgMTEsIDE1LCAwLCA1LCAxMiwgMiwgMTMsIDksIDcsIDEwLCAxNCxcbiAgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMVxuXTtcblxudmFyIHMgPSBbXG4gIDExLCAxNCwgMTUsIDEyLCA1LCA4LCA3LCA5LCAxMSwgMTMsIDE0LCAxNSwgNiwgNywgOSwgOCxcbiAgNywgNiwgOCwgMTMsIDExLCA5LCA3LCAxNSwgNywgMTIsIDE1LCA5LCAxMSwgNywgMTMsIDEyLFxuICAxMSwgMTMsIDYsIDcsIDE0LCA5LCAxMywgMTUsIDE0LCA4LCAxMywgNiwgNSwgMTIsIDcsIDUsXG4gIDExLCAxMiwgMTQsIDE1LCAxNCwgMTUsIDksIDgsIDksIDE0LCA1LCA2LCA4LCA2LCA1LCAxMixcbiAgOSwgMTUsIDUsIDExLCA2LCA4LCAxMywgMTIsIDUsIDEyLCAxMywgMTQsIDExLCA4LCA1LCA2XG5dO1xuXG52YXIgc2ggPSBbXG4gIDgsIDksIDksIDExLCAxMywgMTUsIDE1LCA1LCA3LCA3LCA4LCAxMSwgMTQsIDE0LCAxMiwgNixcbiAgOSwgMTMsIDE1LCA3LCAxMiwgOCwgOSwgMTEsIDcsIDcsIDEyLCA3LCA2LCAxNSwgMTMsIDExLFxuICA5LCA3LCAxNSwgMTEsIDgsIDYsIDYsIDE0LCAxMiwgMTMsIDUsIDE0LCAxMywgMTMsIDcsIDUsXG4gIDE1LCA1LCA4LCAxMSwgMTQsIDE0LCA2LCAxNCwgNiwgOSwgMTIsIDksIDEyLCA1LCAxNSwgOCxcbiAgOCwgNSwgMTIsIDksIDEyLCA1LCAxNCwgNiwgOCwgMTMsIDYsIDUsIDE1LCAxMywgMTEsIDExXG5dO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnRzLnNoYTEgPSByZXF1aXJlKCcuL3NoYS8xJyk7XG5leHBvcnRzLnNoYTIyNCA9IHJlcXVpcmUoJy4vc2hhLzIyNCcpO1xuZXhwb3J0cy5zaGEyNTYgPSByZXF1aXJlKCcuL3NoYS8yNTYnKTtcbmV4cG9ydHMuc2hhMzg0ID0gcmVxdWlyZSgnLi9zaGEvMzg0Jyk7XG5leHBvcnRzLnNoYTUxMiA9IHJlcXVpcmUoJy4vc2hhLzUxMicpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGNvbW1vbiA9IHJlcXVpcmUoJy4uL2NvbW1vbicpO1xudmFyIHNoYUNvbW1vbiA9IHJlcXVpcmUoJy4vY29tbW9uJyk7XG5cbnZhciByb3RsMzIgPSB1dGlscy5yb3RsMzI7XG52YXIgc3VtMzIgPSB1dGlscy5zdW0zMjtcbnZhciBzdW0zMl81ID0gdXRpbHMuc3VtMzJfNTtcbnZhciBmdF8xID0gc2hhQ29tbW9uLmZ0XzE7XG52YXIgQmxvY2tIYXNoID0gY29tbW9uLkJsb2NrSGFzaDtcblxudmFyIHNoYTFfSyA9IFtcbiAgMHg1QTgyNzk5OSwgMHg2RUQ5RUJBMSxcbiAgMHg4RjFCQkNEQywgMHhDQTYyQzFENlxuXTtcblxuZnVuY3Rpb24gU0hBMSgpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTEpKVxuICAgIHJldHVybiBuZXcgU0hBMSgpO1xuXG4gIEJsb2NrSGFzaC5jYWxsKHRoaXMpO1xuICB0aGlzLmggPSBbXG4gICAgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSxcbiAgICAweDEwMzI1NDc2LCAweGMzZDJlMWYwIF07XG4gIHRoaXMuVyA9IG5ldyBBcnJheSg4MCk7XG59XG5cbnV0aWxzLmluaGVyaXRzKFNIQTEsIEJsb2NrSGFzaCk7XG5tb2R1bGUuZXhwb3J0cyA9IFNIQTE7XG5cblNIQTEuYmxvY2tTaXplID0gNTEyO1xuU0hBMS5vdXRTaXplID0gMTYwO1xuU0hBMS5obWFjU3RyZW5ndGggPSA4MDtcblNIQTEucGFkTGVuZ3RoID0gNjQ7XG5cblNIQTEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKG1zZywgc3RhcnQpIHtcbiAgdmFyIFcgPSB0aGlzLlc7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKVxuICAgIFdbaV0gPSBtc2dbc3RhcnQgKyBpXTtcblxuICBmb3IoOyBpIDwgVy5sZW5ndGg7IGkrKylcbiAgICBXW2ldID0gcm90bDMyKFdbaSAtIDNdIF4gV1tpIC0gOF0gXiBXW2kgLSAxNF0gXiBXW2kgLSAxNl0sIDEpO1xuXG4gIHZhciBhID0gdGhpcy5oWzBdO1xuICB2YXIgYiA9IHRoaXMuaFsxXTtcbiAgdmFyIGMgPSB0aGlzLmhbMl07XG4gIHZhciBkID0gdGhpcy5oWzNdO1xuICB2YXIgZSA9IHRoaXMuaFs0XTtcblxuICBmb3IgKGkgPSAwOyBpIDwgVy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzID0gfn4oaSAvIDIwKTtcbiAgICB2YXIgdCA9IHN1bTMyXzUocm90bDMyKGEsIDUpLCBmdF8xKHMsIGIsIGMsIGQpLCBlLCBXW2ldLCBzaGExX0tbc10pO1xuICAgIGUgPSBkO1xuICAgIGQgPSBjO1xuICAgIGMgPSByb3RsMzIoYiwgMzApO1xuICAgIGIgPSBhO1xuICAgIGEgPSB0O1xuICB9XG5cbiAgdGhpcy5oWzBdID0gc3VtMzIodGhpcy5oWzBdLCBhKTtcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcbiAgdGhpcy5oWzJdID0gc3VtMzIodGhpcy5oWzJdLCBjKTtcbiAgdGhpcy5oWzNdID0gc3VtMzIodGhpcy5oWzNdLCBkKTtcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcbn07XG5cblNIQTEucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIGlmIChlbmMgPT09ICdoZXgnKVxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaCwgJ2JpZycpO1xuICBlbHNlXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnYmlnJyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIFNIQTI1NiA9IHJlcXVpcmUoJy4vMjU2Jyk7XG5cbmZ1bmN0aW9uIFNIQTIyNCgpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTIyNCkpXG4gICAgcmV0dXJuIG5ldyBTSEEyMjQoKTtcblxuICBTSEEyNTYuY2FsbCh0aGlzKTtcbiAgdGhpcy5oID0gW1xuICAgIDB4YzEwNTllZDgsIDB4MzY3Y2Q1MDcsIDB4MzA3MGRkMTcsIDB4ZjcwZTU5MzksXG4gICAgMHhmZmMwMGIzMSwgMHg2ODU4MTUxMSwgMHg2NGY5OGZhNywgMHhiZWZhNGZhNCBdO1xufVxudXRpbHMuaW5oZXJpdHMoU0hBMjI0LCBTSEEyNTYpO1xubW9kdWxlLmV4cG9ydHMgPSBTSEEyMjQ7XG5cblNIQTIyNC5ibG9ja1NpemUgPSA1MTI7XG5TSEEyMjQub3V0U2l6ZSA9IDIyNDtcblNIQTIyNC5obWFjU3RyZW5ndGggPSAxOTI7XG5TSEEyMjQucGFkTGVuZ3RoID0gNjQ7XG5cblNIQTIyNC5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcbiAgLy8gSnVzdCB0cnVuY2F0ZSBvdXRwdXRcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsIDcpLCAnYmlnJyk7XG4gIGVsc2VcbiAgICByZXR1cm4gdXRpbHMuc3BsaXQzMih0aGlzLmguc2xpY2UoMCwgNyksICdiaWcnKTtcbn07XG5cbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBjb21tb24gPSByZXF1aXJlKCcuLi9jb21tb24nKTtcbnZhciBzaGFDb21tb24gPSByZXF1aXJlKCcuL2NvbW1vbicpO1xudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcblxudmFyIHN1bTMyID0gdXRpbHMuc3VtMzI7XG52YXIgc3VtMzJfNCA9IHV0aWxzLnN1bTMyXzQ7XG52YXIgc3VtMzJfNSA9IHV0aWxzLnN1bTMyXzU7XG52YXIgY2gzMiA9IHNoYUNvbW1vbi5jaDMyO1xudmFyIG1hajMyID0gc2hhQ29tbW9uLm1hajMyO1xudmFyIHMwXzI1NiA9IHNoYUNvbW1vbi5zMF8yNTY7XG52YXIgczFfMjU2ID0gc2hhQ29tbW9uLnMxXzI1NjtcbnZhciBnMF8yNTYgPSBzaGFDb21tb24uZzBfMjU2O1xudmFyIGcxXzI1NiA9IHNoYUNvbW1vbi5nMV8yNTY7XG5cbnZhciBCbG9ja0hhc2ggPSBjb21tb24uQmxvY2tIYXNoO1xuXG52YXIgc2hhMjU2X0sgPSBbXG4gIDB4NDI4YTJmOTgsIDB4NzEzNzQ0OTEsIDB4YjVjMGZiY2YsIDB4ZTliNWRiYTUsXG4gIDB4Mzk1NmMyNWIsIDB4NTlmMTExZjEsIDB4OTIzZjgyYTQsIDB4YWIxYzVlZDUsXG4gIDB4ZDgwN2FhOTgsIDB4MTI4MzViMDEsIDB4MjQzMTg1YmUsIDB4NTUwYzdkYzMsXG4gIDB4NzJiZTVkNzQsIDB4ODBkZWIxZmUsIDB4OWJkYzA2YTcsIDB4YzE5YmYxNzQsXG4gIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsXG4gIDB4MmRlOTJjNmYsIDB4NGE3NDg0YWEsIDB4NWNiMGE5ZGMsIDB4NzZmOTg4ZGEsXG4gIDB4OTgzZTUxNTIsIDB4YTgzMWM2NmQsIDB4YjAwMzI3YzgsIDB4YmY1OTdmYzcsXG4gIDB4YzZlMDBiZjMsIDB4ZDVhNzkxNDcsIDB4MDZjYTYzNTEsIDB4MTQyOTI5NjcsXG4gIDB4MjdiNzBhODUsIDB4MmUxYjIxMzgsIDB4NGQyYzZkZmMsIDB4NTMzODBkMTMsXG4gIDB4NjUwYTczNTQsIDB4NzY2YTBhYmIsIDB4ODFjMmM5MmUsIDB4OTI3MjJjODUsXG4gIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsXG4gIDB4ZDE5MmU4MTksIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsXG4gIDB4MTlhNGMxMTYsIDB4MWUzNzZjMDgsIDB4Mjc0ODc3NGMsIDB4MzRiMGJjYjUsXG4gIDB4MzkxYzBjYjMsIDB4NGVkOGFhNGEsIDB4NWI5Y2NhNGYsIDB4NjgyZTZmZjMsXG4gIDB4NzQ4ZjgyZWUsIDB4NzhhNTYzNmYsIDB4ODRjODc4MTQsIDB4OGNjNzAyMDgsXG4gIDB4OTBiZWZmZmEsIDB4YTQ1MDZjZWIsIDB4YmVmOWEzZjcsIDB4YzY3MTc4ZjJcbl07XG5cbmZ1bmN0aW9uIFNIQTI1NigpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTI1NikpXG4gICAgcmV0dXJuIG5ldyBTSEEyNTYoKTtcblxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcbiAgdGhpcy5oID0gW1xuICAgIDB4NmEwOWU2NjcsIDB4YmI2N2FlODUsIDB4M2M2ZWYzNzIsIDB4YTU0ZmY1M2EsXG4gICAgMHg1MTBlNTI3ZiwgMHg5YjA1Njg4YywgMHgxZjgzZDlhYiwgMHg1YmUwY2QxOVxuICBdO1xuICB0aGlzLmsgPSBzaGEyNTZfSztcbiAgdGhpcy5XID0gbmV3IEFycmF5KDY0KTtcbn1cbnV0aWxzLmluaGVyaXRzKFNIQTI1NiwgQmxvY2tIYXNoKTtcbm1vZHVsZS5leHBvcnRzID0gU0hBMjU2O1xuXG5TSEEyNTYuYmxvY2tTaXplID0gNTEyO1xuU0hBMjU2Lm91dFNpemUgPSAyNTY7XG5TSEEyNTYuaG1hY1N0cmVuZ3RoID0gMTkyO1xuU0hBMjU2LnBhZExlbmd0aCA9IDY0O1xuXG5TSEEyNTYucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKG1zZywgc3RhcnQpIHtcbiAgdmFyIFcgPSB0aGlzLlc7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKVxuICAgIFdbaV0gPSBtc2dbc3RhcnQgKyBpXTtcbiAgZm9yICg7IGkgPCBXLmxlbmd0aDsgaSsrKVxuICAgIFdbaV0gPSBzdW0zMl80KGcxXzI1NihXW2kgLSAyXSksIFdbaSAtIDddLCBnMF8yNTYoV1tpIC0gMTVdKSwgV1tpIC0gMTZdKTtcblxuICB2YXIgYSA9IHRoaXMuaFswXTtcbiAgdmFyIGIgPSB0aGlzLmhbMV07XG4gIHZhciBjID0gdGhpcy5oWzJdO1xuICB2YXIgZCA9IHRoaXMuaFszXTtcbiAgdmFyIGUgPSB0aGlzLmhbNF07XG4gIHZhciBmID0gdGhpcy5oWzVdO1xuICB2YXIgZyA9IHRoaXMuaFs2XTtcbiAgdmFyIGggPSB0aGlzLmhbN107XG5cbiAgYXNzZXJ0KHRoaXMuay5sZW5ndGggPT09IFcubGVuZ3RoKTtcbiAgZm9yIChpID0gMDsgaSA8IFcubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgVDEgPSBzdW0zMl81KGgsIHMxXzI1NihlKSwgY2gzMihlLCBmLCBnKSwgdGhpcy5rW2ldLCBXW2ldKTtcbiAgICB2YXIgVDIgPSBzdW0zMihzMF8yNTYoYSksIG1hajMyKGEsIGIsIGMpKTtcbiAgICBoID0gZztcbiAgICBnID0gZjtcbiAgICBmID0gZTtcbiAgICBlID0gc3VtMzIoZCwgVDEpO1xuICAgIGQgPSBjO1xuICAgIGMgPSBiO1xuICAgIGIgPSBhO1xuICAgIGEgPSBzdW0zMihUMSwgVDIpO1xuICB9XG5cbiAgdGhpcy5oWzBdID0gc3VtMzIodGhpcy5oWzBdLCBhKTtcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcbiAgdGhpcy5oWzJdID0gc3VtMzIodGhpcy5oWzJdLCBjKTtcbiAgdGhpcy5oWzNdID0gc3VtMzIodGhpcy5oWzNdLCBkKTtcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcbiAgdGhpcy5oWzVdID0gc3VtMzIodGhpcy5oWzVdLCBmKTtcbiAgdGhpcy5oWzZdID0gc3VtMzIodGhpcy5oWzZdLCBnKTtcbiAgdGhpcy5oWzddID0gc3VtMzIodGhpcy5oWzddLCBoKTtcbn07XG5cblNIQTI1Ni5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLCAnYmlnJyk7XG4gIGVsc2VcbiAgICByZXR1cm4gdXRpbHMuc3BsaXQzMih0aGlzLmgsICdiaWcnKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5cbnZhciBTSEE1MTIgPSByZXF1aXJlKCcuLzUxMicpO1xuXG5mdW5jdGlvbiBTSEEzODQoKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTSEEzODQpKVxuICAgIHJldHVybiBuZXcgU0hBMzg0KCk7XG5cbiAgU0hBNTEyLmNhbGwodGhpcyk7XG4gIHRoaXMuaCA9IFtcbiAgICAweGNiYmI5ZDVkLCAweGMxMDU5ZWQ4LFxuICAgIDB4NjI5YTI5MmEsIDB4MzY3Y2Q1MDcsXG4gICAgMHg5MTU5MDE1YSwgMHgzMDcwZGQxNyxcbiAgICAweDE1MmZlY2Q4LCAweGY3MGU1OTM5LFxuICAgIDB4NjczMzI2NjcsIDB4ZmZjMDBiMzEsXG4gICAgMHg4ZWI0NGE4NywgMHg2ODU4MTUxMSxcbiAgICAweGRiMGMyZTBkLCAweDY0Zjk4ZmE3LFxuICAgIDB4NDdiNTQ4MWQsIDB4YmVmYTRmYTQgXTtcbn1cbnV0aWxzLmluaGVyaXRzKFNIQTM4NCwgU0hBNTEyKTtcbm1vZHVsZS5leHBvcnRzID0gU0hBMzg0O1xuXG5TSEEzODQuYmxvY2tTaXplID0gMTAyNDtcblNIQTM4NC5vdXRTaXplID0gMzg0O1xuU0hBMzg0LmhtYWNTdHJlbmd0aCA9IDE5MjtcblNIQTM4NC5wYWRMZW5ndGggPSAxMjg7XG5cblNIQTM4NC5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsIDEyKSwgJ2JpZycpO1xuICBlbHNlXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsIDEyKSwgJ2JpZycpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBjb21tb24gPSByZXF1aXJlKCcuLi9jb21tb24nKTtcbnZhciBhc3NlcnQgPSByZXF1aXJlKCdtaW5pbWFsaXN0aWMtYXNzZXJ0Jyk7XG5cbnZhciByb3RyNjRfaGkgPSB1dGlscy5yb3RyNjRfaGk7XG52YXIgcm90cjY0X2xvID0gdXRpbHMucm90cjY0X2xvO1xudmFyIHNocjY0X2hpID0gdXRpbHMuc2hyNjRfaGk7XG52YXIgc2hyNjRfbG8gPSB1dGlscy5zaHI2NF9sbztcbnZhciBzdW02NCA9IHV0aWxzLnN1bTY0O1xudmFyIHN1bTY0X2hpID0gdXRpbHMuc3VtNjRfaGk7XG52YXIgc3VtNjRfbG8gPSB1dGlscy5zdW02NF9sbztcbnZhciBzdW02NF80X2hpID0gdXRpbHMuc3VtNjRfNF9oaTtcbnZhciBzdW02NF80X2xvID0gdXRpbHMuc3VtNjRfNF9sbztcbnZhciBzdW02NF81X2hpID0gdXRpbHMuc3VtNjRfNV9oaTtcbnZhciBzdW02NF81X2xvID0gdXRpbHMuc3VtNjRfNV9sbztcblxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XG5cbnZhciBzaGE1MTJfSyA9IFtcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcbiAgMHhiNWMwZmJjZiwgMHhlYzRkM2IyZiwgMHhlOWI1ZGJhNSwgMHg4MTg5ZGJiYyxcbiAgMHgzOTU2YzI1YiwgMHhmMzQ4YjUzOCwgMHg1OWYxMTFmMSwgMHhiNjA1ZDAxOSxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcbiAgMHhkODA3YWE5OCwgMHhhMzAzMDI0MiwgMHgxMjgzNWIwMSwgMHg0NTcwNmZiZSxcbiAgMHgyNDMxODViZSwgMHg0ZWU0YjI4YywgMHg1NTBjN2RjMywgMHhkNWZmYjRlMixcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcbiAgMHg5YmRjMDZhNywgMHgyNWM3MTIzNSwgMHhjMTliZjE3NCwgMHhjZjY5MjY5NCxcbiAgMHhlNDliNjljMSwgMHg5ZWYxNGFkMiwgMHhlZmJlNDc4NiwgMHgzODRmMjVlMyxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcbiAgMHgyZGU5MmM2ZiwgMHg1OTJiMDI3NSwgMHg0YTc0ODRhYSwgMHg2ZWE2ZTQ4MyxcbiAgMHg1Y2IwYTlkYywgMHhiZDQxZmJkNCwgMHg3NmY5ODhkYSwgMHg4MzExNTNiNSxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcbiAgMHhiMDAzMjdjOCwgMHg5OGZiMjEzZiwgMHhiZjU5N2ZjNywgMHhiZWVmMGVlNCxcbiAgMHhjNmUwMGJmMywgMHgzZGE4OGZjMiwgMHhkNWE3OTE0NywgMHg5MzBhYTcyNSxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcbiAgMHgyN2I3MGE4NSwgMHg0NmQyMmZmYywgMHgyZTFiMjEzOCwgMHg1YzI2YzkyNixcbiAgMHg0ZDJjNmRmYywgMHg1YWM0MmFlZCwgMHg1MzM4MGQxMywgMHg5ZDk1YjNkZixcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcbiAgMHg4MWMyYzkyZSwgMHg0N2VkYWVlNiwgMHg5MjcyMmM4NSwgMHgxNDgyMzUzYixcbiAgMHhhMmJmZThhMSwgMHg0Y2YxMDM2NCwgMHhhODFhNjY0YiwgMHhiYzQyMzAwMSxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcbiAgMHhkMTkyZTgxOSwgMHhkNmVmNTIxOCwgMHhkNjk5MDYyNCwgMHg1NTY1YTkxMCxcbiAgMHhmNDBlMzU4NSwgMHg1NzcxMjAyYSwgMHgxMDZhYTA3MCwgMHgzMmJiZDFiOCxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcbiAgMHgyNzQ4Nzc0YywgMHhkZjhlZWI5OSwgMHgzNGIwYmNiNSwgMHhlMTliNDhhOCxcbiAgMHgzOTFjMGNiMywgMHhjNWM5NWE2MywgMHg0ZWQ4YWE0YSwgMHhlMzQxOGFjYixcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcbiAgMHg3NDhmODJlZSwgMHg1ZGVmYjJmYywgMHg3OGE1NjM2ZiwgMHg0MzE3MmY2MCxcbiAgMHg4NGM4NzgxNCwgMHhhMWYwYWI3MiwgMHg4Y2M3MDIwOCwgMHgxYTY0MzllYyxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcbiAgMHhiZWY5YTNmNywgMHhiMmM2NzkxNSwgMHhjNjcxNzhmMiwgMHhlMzcyNTMyYixcbiAgMHhjYTI3M2VjZSwgMHhlYTI2NjE5YywgMHhkMTg2YjhjNywgMHgyMWMwYzIwNyxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcbiAgMHgwNmYwNjdhYSwgMHg3MjE3NmZiYSwgMHgwYTYzN2RjNSwgMHhhMmM4OThhNixcbiAgMHgxMTNmOTgwNCwgMHhiZWY5MGRhZSwgMHgxYjcxMGIzNSwgMHgxMzFjNDcxYixcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcbiAgMHgzYzllYmUwYSwgMHgxNWM5YmViYywgMHg0MzFkNjdjNCwgMHg5YzEwMGQ0YyxcbiAgMHg0Y2M1ZDRiZSwgMHhjYjNlNDJiNiwgMHg1OTdmMjk5YywgMHhmYzY1N2UyYSxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xuXTtcblxuZnVuY3Rpb24gU0hBNTEyKCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU0hBNTEyKSlcbiAgICByZXR1cm4gbmV3IFNIQTUxMigpO1xuXG4gIEJsb2NrSGFzaC5jYWxsKHRoaXMpO1xuICB0aGlzLmggPSBbXG4gICAgMHg2YTA5ZTY2NywgMHhmM2JjYzkwOCxcbiAgICAweGJiNjdhZTg1LCAweDg0Y2FhNzNiLFxuICAgIDB4M2M2ZWYzNzIsIDB4ZmU5NGY4MmIsXG4gICAgMHhhNTRmZjUzYSwgMHg1ZjFkMzZmMSxcbiAgICAweDUxMGU1MjdmLCAweGFkZTY4MmQxLFxuICAgIDB4OWIwNTY4OGMsIDB4MmIzZTZjMWYsXG4gICAgMHgxZjgzZDlhYiwgMHhmYjQxYmQ2YixcbiAgICAweDViZTBjZDE5LCAweDEzN2UyMTc5IF07XG4gIHRoaXMuayA9IHNoYTUxMl9LO1xuICB0aGlzLlcgPSBuZXcgQXJyYXkoMTYwKTtcbn1cbnV0aWxzLmluaGVyaXRzKFNIQTUxMiwgQmxvY2tIYXNoKTtcbm1vZHVsZS5leHBvcnRzID0gU0hBNTEyO1xuXG5TSEE1MTIuYmxvY2tTaXplID0gMTAyNDtcblNIQTUxMi5vdXRTaXplID0gNTEyO1xuU0hBNTEyLmhtYWNTdHJlbmd0aCA9IDE5MjtcblNIQTUxMi5wYWRMZW5ndGggPSAxMjg7XG5cblNIQTUxMi5wcm90b3R5cGUuX3ByZXBhcmVCbG9jayA9IGZ1bmN0aW9uIF9wcmVwYXJlQmxvY2sobXNnLCBzdGFydCkge1xuICB2YXIgVyA9IHRoaXMuVztcblxuICAvLyAzMiB4IDMyYml0IHdvcmRzXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7IGkrKylcbiAgICBXW2ldID0gbXNnW3N0YXJ0ICsgaV07XG4gIGZvciAoOyBpIDwgVy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHZhciBjMF9oaSA9IGcxXzUxMl9oaShXW2kgLSA0XSwgV1tpIC0gM10pOyAgLy8gaSAtIDJcbiAgICB2YXIgYzBfbG8gPSBnMV81MTJfbG8oV1tpIC0gNF0sIFdbaSAtIDNdKTtcbiAgICB2YXIgYzFfaGkgPSBXW2kgLSAxNF07ICAvLyBpIC0gN1xuICAgIHZhciBjMV9sbyA9IFdbaSAtIDEzXTtcbiAgICB2YXIgYzJfaGkgPSBnMF81MTJfaGkoV1tpIC0gMzBdLCBXW2kgLSAyOV0pOyAgLy8gaSAtIDE1XG4gICAgdmFyIGMyX2xvID0gZzBfNTEyX2xvKFdbaSAtIDMwXSwgV1tpIC0gMjldKTtcbiAgICB2YXIgYzNfaGkgPSBXW2kgLSAzMl07ICAvLyBpIC0gMTZcbiAgICB2YXIgYzNfbG8gPSBXW2kgLSAzMV07XG5cbiAgICBXW2ldID0gc3VtNjRfNF9oaShcbiAgICAgIGMwX2hpLCBjMF9sbyxcbiAgICAgIGMxX2hpLCBjMV9sbyxcbiAgICAgIGMyX2hpLCBjMl9sbyxcbiAgICAgIGMzX2hpLCBjM19sbyk7XG4gICAgV1tpICsgMV0gPSBzdW02NF80X2xvKFxuICAgICAgYzBfaGksIGMwX2xvLFxuICAgICAgYzFfaGksIGMxX2xvLFxuICAgICAgYzJfaGksIGMyX2xvLFxuICAgICAgYzNfaGksIGMzX2xvKTtcbiAgfVxufTtcblxuU0hBNTEyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XG4gIHRoaXMuX3ByZXBhcmVCbG9jayhtc2csIHN0YXJ0KTtcblxuICB2YXIgVyA9IHRoaXMuVztcblxuICB2YXIgYWggPSB0aGlzLmhbMF07XG4gIHZhciBhbCA9IHRoaXMuaFsxXTtcbiAgdmFyIGJoID0gdGhpcy5oWzJdO1xuICB2YXIgYmwgPSB0aGlzLmhbM107XG4gIHZhciBjaCA9IHRoaXMuaFs0XTtcbiAgdmFyIGNsID0gdGhpcy5oWzVdO1xuICB2YXIgZGggPSB0aGlzLmhbNl07XG4gIHZhciBkbCA9IHRoaXMuaFs3XTtcbiAgdmFyIGVoID0gdGhpcy5oWzhdO1xuICB2YXIgZWwgPSB0aGlzLmhbOV07XG4gIHZhciBmaCA9IHRoaXMuaFsxMF07XG4gIHZhciBmbCA9IHRoaXMuaFsxMV07XG4gIHZhciBnaCA9IHRoaXMuaFsxMl07XG4gIHZhciBnbCA9IHRoaXMuaFsxM107XG4gIHZhciBoaCA9IHRoaXMuaFsxNF07XG4gIHZhciBobCA9IHRoaXMuaFsxNV07XG5cbiAgYXNzZXJ0KHRoaXMuay5sZW5ndGggPT09IFcubGVuZ3RoKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBXLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIGMwX2hpID0gaGg7XG4gICAgdmFyIGMwX2xvID0gaGw7XG4gICAgdmFyIGMxX2hpID0gczFfNTEyX2hpKGVoLCBlbCk7XG4gICAgdmFyIGMxX2xvID0gczFfNTEyX2xvKGVoLCBlbCk7XG4gICAgdmFyIGMyX2hpID0gY2g2NF9oaShlaCwgZWwsIGZoLCBmbCwgZ2gsIGdsKTtcbiAgICB2YXIgYzJfbG8gPSBjaDY0X2xvKGVoLCBlbCwgZmgsIGZsLCBnaCwgZ2wpO1xuICAgIHZhciBjM19oaSA9IHRoaXMua1tpXTtcbiAgICB2YXIgYzNfbG8gPSB0aGlzLmtbaSArIDFdO1xuICAgIHZhciBjNF9oaSA9IFdbaV07XG4gICAgdmFyIGM0X2xvID0gV1tpICsgMV07XG5cbiAgICB2YXIgVDFfaGkgPSBzdW02NF81X2hpKFxuICAgICAgYzBfaGksIGMwX2xvLFxuICAgICAgYzFfaGksIGMxX2xvLFxuICAgICAgYzJfaGksIGMyX2xvLFxuICAgICAgYzNfaGksIGMzX2xvLFxuICAgICAgYzRfaGksIGM0X2xvKTtcbiAgICB2YXIgVDFfbG8gPSBzdW02NF81X2xvKFxuICAgICAgYzBfaGksIGMwX2xvLFxuICAgICAgYzFfaGksIGMxX2xvLFxuICAgICAgYzJfaGksIGMyX2xvLFxuICAgICAgYzNfaGksIGMzX2xvLFxuICAgICAgYzRfaGksIGM0X2xvKTtcblxuICAgIGMwX2hpID0gczBfNTEyX2hpKGFoLCBhbCk7XG4gICAgYzBfbG8gPSBzMF81MTJfbG8oYWgsIGFsKTtcbiAgICBjMV9oaSA9IG1hajY0X2hpKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wpO1xuICAgIGMxX2xvID0gbWFqNjRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCk7XG5cbiAgICB2YXIgVDJfaGkgPSBzdW02NF9oaShjMF9oaSwgYzBfbG8sIGMxX2hpLCBjMV9sbyk7XG4gICAgdmFyIFQyX2xvID0gc3VtNjRfbG8oYzBfaGksIGMwX2xvLCBjMV9oaSwgYzFfbG8pO1xuXG4gICAgaGggPSBnaDtcbiAgICBobCA9IGdsO1xuXG4gICAgZ2ggPSBmaDtcbiAgICBnbCA9IGZsO1xuXG4gICAgZmggPSBlaDtcbiAgICBmbCA9IGVsO1xuXG4gICAgZWggPSBzdW02NF9oaShkaCwgZGwsIFQxX2hpLCBUMV9sbyk7XG4gICAgZWwgPSBzdW02NF9sbyhkbCwgZGwsIFQxX2hpLCBUMV9sbyk7XG5cbiAgICBkaCA9IGNoO1xuICAgIGRsID0gY2w7XG5cbiAgICBjaCA9IGJoO1xuICAgIGNsID0gYmw7XG5cbiAgICBiaCA9IGFoO1xuICAgIGJsID0gYWw7XG5cbiAgICBhaCA9IHN1bTY0X2hpKFQxX2hpLCBUMV9sbywgVDJfaGksIFQyX2xvKTtcbiAgICBhbCA9IHN1bTY0X2xvKFQxX2hpLCBUMV9sbywgVDJfaGksIFQyX2xvKTtcbiAgfVxuXG4gIHN1bTY0KHRoaXMuaCwgMCwgYWgsIGFsKTtcbiAgc3VtNjQodGhpcy5oLCAyLCBiaCwgYmwpO1xuICBzdW02NCh0aGlzLmgsIDQsIGNoLCBjbCk7XG4gIHN1bTY0KHRoaXMuaCwgNiwgZGgsIGRsKTtcbiAgc3VtNjQodGhpcy5oLCA4LCBlaCwgZWwpO1xuICBzdW02NCh0aGlzLmgsIDEwLCBmaCwgZmwpO1xuICBzdW02NCh0aGlzLmgsIDEyLCBnaCwgZ2wpO1xuICBzdW02NCh0aGlzLmgsIDE0LCBoaCwgaGwpO1xufTtcblxuU0hBNTEyLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xuICBpZiAoZW5jID09PSAnaGV4JylcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsICdiaWcnKTtcbiAgZWxzZVxuICAgIHJldHVybiB1dGlscy5zcGxpdDMyKHRoaXMuaCwgJ2JpZycpO1xufTtcblxuZnVuY3Rpb24gY2g2NF9oaSh4aCwgeGwsIHloLCB5bCwgemgpIHtcbiAgdmFyIHIgPSAoeGggJiB5aCkgXiAoKH54aCkgJiB6aCk7XG4gIGlmIChyIDwgMClcbiAgICByICs9IDB4MTAwMDAwMDAwO1xuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gY2g2NF9sbyh4aCwgeGwsIHloLCB5bCwgemgsIHpsKSB7XG4gIHZhciByID0gKHhsICYgeWwpIF4gKCh+eGwpICYgemwpO1xuICBpZiAociA8IDApXG4gICAgciArPSAweDEwMDAwMDAwMDtcbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIG1hajY0X2hpKHhoLCB4bCwgeWgsIHlsLCB6aCkge1xuICB2YXIgciA9ICh4aCAmIHloKSBeICh4aCAmIHpoKSBeICh5aCAmIHpoKTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBtYWo2NF9sbyh4aCwgeGwsIHloLCB5bCwgemgsIHpsKSB7XG4gIHZhciByID0gKHhsICYgeWwpIF4gKHhsICYgemwpIF4gKHlsICYgemwpO1xuICBpZiAociA8IDApXG4gICAgciArPSAweDEwMDAwMDAwMDtcbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIHMwXzUxMl9oaSh4aCwgeGwpIHtcbiAgdmFyIGMwX2hpID0gcm90cjY0X2hpKHhoLCB4bCwgMjgpO1xuICB2YXIgYzFfaGkgPSByb3RyNjRfaGkoeGwsIHhoLCAyKTsgIC8vIDM0XG4gIHZhciBjMl9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDcpOyAgLy8gMzlcblxuICB2YXIgciA9IGMwX2hpIF4gYzFfaGkgXiBjMl9oaTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBzMF81MTJfbG8oeGgsIHhsKSB7XG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDI4KTtcbiAgdmFyIGMxX2xvID0gcm90cjY0X2xvKHhsLCB4aCwgMik7ICAvLyAzNFxuICB2YXIgYzJfbG8gPSByb3RyNjRfbG8oeGwsIHhoLCA3KTsgIC8vIDM5XG5cbiAgdmFyIHIgPSBjMF9sbyBeIGMxX2xvIF4gYzJfbG87XG4gIGlmIChyIDwgMClcbiAgICByICs9IDB4MTAwMDAwMDAwO1xuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gczFfNTEyX2hpKHhoLCB4bCkge1xuICB2YXIgYzBfaGkgPSByb3RyNjRfaGkoeGgsIHhsLCAxNCk7XG4gIHZhciBjMV9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE4KTtcbiAgdmFyIGMyX2hpID0gcm90cjY0X2hpKHhsLCB4aCwgOSk7ICAvLyA0MVxuXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xuICBpZiAociA8IDApXG4gICAgciArPSAweDEwMDAwMDAwMDtcbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIHMxXzUxMl9sbyh4aCwgeGwpIHtcbiAgdmFyIGMwX2xvID0gcm90cjY0X2xvKHhoLCB4bCwgMTQpO1xuICB2YXIgYzFfbG8gPSByb3RyNjRfbG8oeGgsIHhsLCAxOCk7XG4gIHZhciBjMl9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDkpOyAgLy8gNDFcblxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMF81MTJfaGkoeGgsIHhsKSB7XG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDEpO1xuICB2YXIgYzFfaGkgPSByb3RyNjRfaGkoeGgsIHhsLCA4KTtcbiAgdmFyIGMyX2hpID0gc2hyNjRfaGkoeGgsIHhsLCA3KTtcblxuICB2YXIgciA9IGMwX2hpIF4gYzFfaGkgXiBjMl9oaTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMF81MTJfbG8oeGgsIHhsKSB7XG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDEpO1xuICB2YXIgYzFfbG8gPSByb3RyNjRfbG8oeGgsIHhsLCA4KTtcbiAgdmFyIGMyX2xvID0gc2hyNjRfbG8oeGgsIHhsLCA3KTtcblxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMV81MTJfaGkoeGgsIHhsKSB7XG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE5KTtcbiAgdmFyIGMxX2hpID0gcm90cjY0X2hpKHhsLCB4aCwgMjkpOyAgLy8gNjFcbiAgdmFyIGMyX2hpID0gc2hyNjRfaGkoeGgsIHhsLCA2KTtcblxuICB2YXIgciA9IGMwX2hpIF4gYzFfaGkgXiBjMl9oaTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMV81MTJfbG8oeGgsIHhsKSB7XG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE5KTtcbiAgdmFyIGMxX2xvID0gcm90cjY0X2xvKHhsLCB4aCwgMjkpOyAgLy8gNjFcbiAgdmFyIGMyX2xvID0gc2hyNjRfbG8oeGgsIHhsLCA2KTtcblxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIHJvdHIzMiA9IHV0aWxzLnJvdHIzMjtcblxuZnVuY3Rpb24gZnRfMShzLCB4LCB5LCB6KSB7XG4gIGlmIChzID09PSAwKVxuICAgIHJldHVybiBjaDMyKHgsIHksIHopO1xuICBpZiAocyA9PT0gMSB8fCBzID09PSAzKVxuICAgIHJldHVybiBwMzIoeCwgeSwgeik7XG4gIGlmIChzID09PSAyKVxuICAgIHJldHVybiBtYWozMih4LCB5LCB6KTtcbn1cbmV4cG9ydHMuZnRfMSA9IGZ0XzE7XG5cbmZ1bmN0aW9uIGNoMzIoeCwgeSwgeikge1xuICByZXR1cm4gKHggJiB5KSBeICgofngpICYgeik7XG59XG5leHBvcnRzLmNoMzIgPSBjaDMyO1xuXG5mdW5jdGlvbiBtYWozMih4LCB5LCB6KSB7XG4gIHJldHVybiAoeCAmIHkpIF4gKHggJiB6KSBeICh5ICYgeik7XG59XG5leHBvcnRzLm1hajMyID0gbWFqMzI7XG5cbmZ1bmN0aW9uIHAzMih4LCB5LCB6KSB7XG4gIHJldHVybiB4IF4geSBeIHo7XG59XG5leHBvcnRzLnAzMiA9IHAzMjtcblxuZnVuY3Rpb24gczBfMjU2KHgpIHtcbiAgcmV0dXJuIHJvdHIzMih4LCAyKSBeIHJvdHIzMih4LCAxMykgXiByb3RyMzIoeCwgMjIpO1xufVxuZXhwb3J0cy5zMF8yNTYgPSBzMF8yNTY7XG5cbmZ1bmN0aW9uIHMxXzI1Nih4KSB7XG4gIHJldHVybiByb3RyMzIoeCwgNikgXiByb3RyMzIoeCwgMTEpIF4gcm90cjMyKHgsIDI1KTtcbn1cbmV4cG9ydHMuczFfMjU2ID0gczFfMjU2O1xuXG5mdW5jdGlvbiBnMF8yNTYoeCkge1xuICByZXR1cm4gcm90cjMyKHgsIDcpIF4gcm90cjMyKHgsIDE4KSBeICh4ID4+PiAzKTtcbn1cbmV4cG9ydHMuZzBfMjU2ID0gZzBfMjU2O1xuXG5mdW5jdGlvbiBnMV8yNTYoeCkge1xuICByZXR1cm4gcm90cjMyKHgsIDE3KSBeIHJvdHIzMih4LCAxOSkgXiAoeCA+Pj4gMTApO1xufVxuZXhwb3J0cy5nMV8yNTYgPSBnMV8yNTY7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhc3NlcnQgPSByZXF1aXJlKCdtaW5pbWFsaXN0aWMtYXNzZXJ0Jyk7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuXG5leHBvcnRzLmluaGVyaXRzID0gaW5oZXJpdHM7XG5cbmZ1bmN0aW9uIGlzU3Vycm9nYXRlUGFpcihtc2csIGkpIHtcbiAgaWYgKChtc2cuY2hhckNvZGVBdChpKSAmIDB4RkMwMCkgIT09IDB4RDgwMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoaSA8IDAgfHwgaSArIDEgPj0gbXNnLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gKG1zZy5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4RkMwMCkgPT09IDB4REMwMDtcbn1cblxuZnVuY3Rpb24gdG9BcnJheShtc2csIGVuYykge1xuICBpZiAoQXJyYXkuaXNBcnJheShtc2cpKVxuICAgIHJldHVybiBtc2cuc2xpY2UoKTtcbiAgaWYgKCFtc2cpXG4gICAgcmV0dXJuIFtdO1xuICB2YXIgcmVzID0gW107XG4gIGlmICh0eXBlb2YgbXNnID09PSAnc3RyaW5nJykge1xuICAgIGlmICghZW5jKSB7XG4gICAgICAvLyBJbnNwaXJlZCBieSBzdHJpbmdUb1V0ZjhCeXRlQXJyYXkoKSBpbiBjbG9zdXJlLWxpYnJhcnkgYnkgR29vZ2xlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtbGlicmFyeS9ibG9iLzg1OThkODcyNDJhZjU5YWFjMjMzMjcwNzQyYzg5ODRlMmIyYmRiZTAvY2xvc3VyZS9nb29nL2NyeXB0L2NyeXB0LmpzI0wxMTctTDE0M1xuICAgICAgLy8gQXBhY2hlIExpY2Vuc2UgMi4wXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtbGlicmFyeS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gICAgICB2YXIgcCA9IDA7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgYyA9IG1zZy5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBpZiAoYyA8IDEyOCkge1xuICAgICAgICAgIHJlc1twKytdID0gYztcbiAgICAgICAgfSBlbHNlIGlmIChjIDwgMjA0OCkge1xuICAgICAgICAgIHJlc1twKytdID0gKGMgPj4gNikgfCAxOTI7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcbiAgICAgICAgfSBlbHNlIGlmIChpc1N1cnJvZ2F0ZVBhaXIobXNnLCBpKSkge1xuICAgICAgICAgIGMgPSAweDEwMDAwICsgKChjICYgMHgwM0ZGKSA8PCAxMCkgKyAobXNnLmNoYXJDb2RlQXQoKytpKSAmIDB4MDNGRik7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyA+PiAxOCkgfCAyNDA7XG4gICAgICAgICAgcmVzW3ArK10gPSAoKGMgPj4gMTIpICYgNjMpIHwgMTI4O1xuICAgICAgICAgIHJlc1twKytdID0gKChjID4+IDYpICYgNjMpIHwgMTI4O1xuICAgICAgICAgIHJlc1twKytdID0gKGMgJiA2MykgfCAxMjg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyA+PiAxMikgfCAyMjQ7XG4gICAgICAgICAgcmVzW3ArK10gPSAoKGMgPj4gNikgJiA2MykgfCAxMjg7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZW5jID09PSAnaGV4Jykge1xuICAgICAgbXNnID0gbXNnLnJlcGxhY2UoL1teYS16MC05XSsvaWcsICcnKTtcbiAgICAgIGlmIChtc2cubGVuZ3RoICUgMiAhPT0gMClcbiAgICAgICAgbXNnID0gJzAnICsgbXNnO1xuICAgICAgZm9yIChpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkgKz0gMilcbiAgICAgICAgcmVzLnB1c2gocGFyc2VJbnQobXNnW2ldICsgbXNnW2kgKyAxXSwgMTYpKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9yIChpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKylcbiAgICAgIHJlc1tpXSA9IG1zZ1tpXSB8IDA7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMudG9BcnJheSA9IHRvQXJyYXk7XG5cbmZ1bmN0aW9uIHRvSGV4KG1zZykge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxuICAgIHJlcyArPSB6ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtcbiAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMudG9IZXggPSB0b0hleDtcblxuZnVuY3Rpb24gaHRvbmwodykge1xuICB2YXIgcmVzID0gKHcgPj4+IDI0KSB8XG4gICAgICAgICAgICAoKHcgPj4+IDgpICYgMHhmZjAwKSB8XG4gICAgICAgICAgICAoKHcgPDwgOCkgJiAweGZmMDAwMCkgfFxuICAgICAgICAgICAgKCh3ICYgMHhmZikgPDwgMjQpO1xuICByZXR1cm4gcmVzID4+PiAwO1xufVxuZXhwb3J0cy5odG9ubCA9IGh0b25sO1xuXG5mdW5jdGlvbiB0b0hleDMyKG1zZywgZW5kaWFuKSB7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgdyA9IG1zZ1tpXTtcbiAgICBpZiAoZW5kaWFuID09PSAnbGl0dGxlJylcbiAgICAgIHcgPSBodG9ubCh3KTtcbiAgICByZXMgKz0gemVybzgody50b1N0cmluZygxNikpO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5leHBvcnRzLnRvSGV4MzIgPSB0b0hleDMyO1xuXG5mdW5jdGlvbiB6ZXJvMih3b3JkKSB7XG4gIGlmICh3b3JkLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gJzAnICsgd29yZDtcbiAgZWxzZVxuICAgIHJldHVybiB3b3JkO1xufVxuZXhwb3J0cy56ZXJvMiA9IHplcm8yO1xuXG5mdW5jdGlvbiB6ZXJvOCh3b3JkKSB7XG4gIGlmICh3b3JkLmxlbmd0aCA9PT0gNylcbiAgICByZXR1cm4gJzAnICsgd29yZDtcbiAgZWxzZSBpZiAod29yZC5sZW5ndGggPT09IDYpXG4gICAgcmV0dXJuICcwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gNSlcbiAgICByZXR1cm4gJzAwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gNClcbiAgICByZXR1cm4gJzAwMDAnICsgd29yZDtcbiAgZWxzZSBpZiAod29yZC5sZW5ndGggPT09IDMpXG4gICAgcmV0dXJuICcwMDAwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gMilcbiAgICByZXR1cm4gJzAwMDAwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gJzAwMDAwMDAnICsgd29yZDtcbiAgZWxzZVxuICAgIHJldHVybiB3b3JkO1xufVxuZXhwb3J0cy56ZXJvOCA9IHplcm84O1xuXG5mdW5jdGlvbiBqb2luMzIobXNnLCBzdGFydCwgZW5kLCBlbmRpYW4pIHtcbiAgdmFyIGxlbiA9IGVuZCAtIHN0YXJ0O1xuICBhc3NlcnQobGVuICUgNCA9PT0gMCk7XG4gIHZhciByZXMgPSBuZXcgQXJyYXkobGVuIC8gNCk7XG4gIGZvciAodmFyIGkgPSAwLCBrID0gc3RhcnQ7IGkgPCByZXMubGVuZ3RoOyBpKyssIGsgKz0gNCkge1xuICAgIHZhciB3O1xuICAgIGlmIChlbmRpYW4gPT09ICdiaWcnKVxuICAgICAgdyA9IChtc2dba10gPDwgMjQpIHwgKG1zZ1trICsgMV0gPDwgMTYpIHwgKG1zZ1trICsgMl0gPDwgOCkgfCBtc2dbayArIDNdO1xuICAgIGVsc2VcbiAgICAgIHcgPSAobXNnW2sgKyAzXSA8PCAyNCkgfCAobXNnW2sgKyAyXSA8PCAxNikgfCAobXNnW2sgKyAxXSA8PCA4KSB8IG1zZ1trXTtcbiAgICByZXNbaV0gPSB3ID4+PiAwO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5leHBvcnRzLmpvaW4zMiA9IGpvaW4zMjtcblxuZnVuY3Rpb24gc3BsaXQzMihtc2csIGVuZGlhbikge1xuICB2YXIgcmVzID0gbmV3IEFycmF5KG1zZy5sZW5ndGggKiA0KTtcbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrLCBrICs9IDQpIHtcbiAgICB2YXIgbSA9IG1zZ1tpXTtcbiAgICBpZiAoZW5kaWFuID09PSAnYmlnJykge1xuICAgICAgcmVzW2tdID0gbSA+Pj4gMjQ7XG4gICAgICByZXNbayArIDFdID0gKG0gPj4+IDE2KSAmIDB4ZmY7XG4gICAgICByZXNbayArIDJdID0gKG0gPj4+IDgpICYgMHhmZjtcbiAgICAgIHJlc1trICsgM10gPSBtICYgMHhmZjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzW2sgKyAzXSA9IG0gPj4+IDI0O1xuICAgICAgcmVzW2sgKyAyXSA9IChtID4+PiAxNikgJiAweGZmO1xuICAgICAgcmVzW2sgKyAxXSA9IChtID4+PiA4KSAmIDB4ZmY7XG4gICAgICByZXNba10gPSBtICYgMHhmZjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMuc3BsaXQzMiA9IHNwbGl0MzI7XG5cbmZ1bmN0aW9uIHJvdHIzMih3LCBiKSB7XG4gIHJldHVybiAodyA+Pj4gYikgfCAodyA8PCAoMzIgLSBiKSk7XG59XG5leHBvcnRzLnJvdHIzMiA9IHJvdHIzMjtcblxuZnVuY3Rpb24gcm90bDMyKHcsIGIpIHtcbiAgcmV0dXJuICh3IDw8IGIpIHwgKHcgPj4+ICgzMiAtIGIpKTtcbn1cbmV4cG9ydHMucm90bDMyID0gcm90bDMyO1xuXG5mdW5jdGlvbiBzdW0zMihhLCBiKSB7XG4gIHJldHVybiAoYSArIGIpID4+PiAwO1xufVxuZXhwb3J0cy5zdW0zMiA9IHN1bTMyO1xuXG5mdW5jdGlvbiBzdW0zMl8zKGEsIGIsIGMpIHtcbiAgcmV0dXJuIChhICsgYiArIGMpID4+PiAwO1xufVxuZXhwb3J0cy5zdW0zMl8zID0gc3VtMzJfMztcblxuZnVuY3Rpb24gc3VtMzJfNChhLCBiLCBjLCBkKSB7XG4gIHJldHVybiAoYSArIGIgKyBjICsgZCkgPj4+IDA7XG59XG5leHBvcnRzLnN1bTMyXzQgPSBzdW0zMl80O1xuXG5mdW5jdGlvbiBzdW0zMl81KGEsIGIsIGMsIGQsIGUpIHtcbiAgcmV0dXJuIChhICsgYiArIGMgKyBkICsgZSkgPj4+IDA7XG59XG5leHBvcnRzLnN1bTMyXzUgPSBzdW0zMl81O1xuXG5mdW5jdGlvbiBzdW02NChidWYsIHBvcywgYWgsIGFsKSB7XG4gIHZhciBiaCA9IGJ1Zltwb3NdO1xuICB2YXIgYmwgPSBidWZbcG9zICsgMV07XG5cbiAgdmFyIGxvID0gKGFsICsgYmwpID4+PiAwO1xuICB2YXIgaGkgPSAobG8gPCBhbCA/IDEgOiAwKSArIGFoICsgYmg7XG4gIGJ1Zltwb3NdID0gaGkgPj4+IDA7XG4gIGJ1Zltwb3MgKyAxXSA9IGxvO1xufVxuZXhwb3J0cy5zdW02NCA9IHN1bTY0O1xuXG5mdW5jdGlvbiBzdW02NF9oaShhaCwgYWwsIGJoLCBibCkge1xuICB2YXIgbG8gPSAoYWwgKyBibCkgPj4+IDA7XG4gIHZhciBoaSA9IChsbyA8IGFsID8gMSA6IDApICsgYWggKyBiaDtcbiAgcmV0dXJuIGhpID4+PiAwO1xufVxuZXhwb3J0cy5zdW02NF9oaSA9IHN1bTY0X2hpO1xuXG5mdW5jdGlvbiBzdW02NF9sbyhhaCwgYWwsIGJoLCBibCkge1xuICB2YXIgbG8gPSBhbCArIGJsO1xuICByZXR1cm4gbG8gPj4+IDA7XG59XG5leHBvcnRzLnN1bTY0X2xvID0gc3VtNjRfbG87XG5cbmZ1bmN0aW9uIHN1bTY0XzRfaGkoYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XG4gIHZhciBjYXJyeSA9IDA7XG4gIHZhciBsbyA9IGFsO1xuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBhbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGNsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGRsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBkbCA/IDEgOiAwO1xuXG4gIHZhciBoaSA9IGFoICsgYmggKyBjaCArIGRoICsgY2Fycnk7XG4gIHJldHVybiBoaSA+Pj4gMDtcbn1cbmV4cG9ydHMuc3VtNjRfNF9oaSA9IHN1bTY0XzRfaGk7XG5cbmZ1bmN0aW9uIHN1bTY0XzRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XG4gIHZhciBsbyA9IGFsICsgYmwgKyBjbCArIGRsO1xuICByZXR1cm4gbG8gPj4+IDA7XG59XG5leHBvcnRzLnN1bTY0XzRfbG8gPSBzdW02NF80X2xvO1xuXG5mdW5jdGlvbiBzdW02NF81X2hpKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wsIGRoLCBkbCwgZWgsIGVsKSB7XG4gIHZhciBjYXJyeSA9IDA7XG4gIHZhciBsbyA9IGFsO1xuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBhbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGNsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGRsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBkbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGVsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBlbCA/IDEgOiAwO1xuXG4gIHZhciBoaSA9IGFoICsgYmggKyBjaCArIGRoICsgZWggKyBjYXJyeTtcbiAgcmV0dXJuIGhpID4+PiAwO1xufVxuZXhwb3J0cy5zdW02NF81X2hpID0gc3VtNjRfNV9oaTtcblxuZnVuY3Rpb24gc3VtNjRfNV9sbyhhaCwgYWwsIGJoLCBibCwgY2gsIGNsLCBkaCwgZGwsIGVoLCBlbCkge1xuICB2YXIgbG8gPSBhbCArIGJsICsgY2wgKyBkbCArIGVsO1xuXG4gIHJldHVybiBsbyA+Pj4gMDtcbn1cbmV4cG9ydHMuc3VtNjRfNV9sbyA9IHN1bTY0XzVfbG87XG5cbmZ1bmN0aW9uIHJvdHI2NF9oaShhaCwgYWwsIG51bSkge1xuICB2YXIgciA9IChhbCA8PCAoMzIgLSBudW0pKSB8IChhaCA+Pj4gbnVtKTtcbiAgcmV0dXJuIHIgPj4+IDA7XG59XG5leHBvcnRzLnJvdHI2NF9oaSA9IHJvdHI2NF9oaTtcblxuZnVuY3Rpb24gcm90cjY0X2xvKGFoLCBhbCwgbnVtKSB7XG4gIHZhciByID0gKGFoIDw8ICgzMiAtIG51bSkpIHwgKGFsID4+PiBudW0pO1xuICByZXR1cm4gciA+Pj4gMDtcbn1cbmV4cG9ydHMucm90cjY0X2xvID0gcm90cjY0X2xvO1xuXG5mdW5jdGlvbiBzaHI2NF9oaShhaCwgYWwsIG51bSkge1xuICByZXR1cm4gYWggPj4+IG51bTtcbn1cbmV4cG9ydHMuc2hyNjRfaGkgPSBzaHI2NF9oaTtcblxuZnVuY3Rpb24gc2hyNjRfbG8oYWgsIGFsLCBudW0pIHtcbiAgdmFyIHIgPSAoYWggPDwgKDMyIC0gbnVtKSkgfCAoYWwgPj4+IG51bSk7XG4gIHJldHVybiByID4+PiAwO1xufVxuZXhwb3J0cy5zaHI2NF9sbyA9IHNocjY0X2xvO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaGFzaCA9IHJlcXVpcmUoJ2hhc2guanMnKTtcbnZhciB1dGlscyA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMnKTtcbnZhciBhc3NlcnQgPSByZXF1aXJlKCdtaW5pbWFsaXN0aWMtYXNzZXJ0Jyk7XG5cbmZ1bmN0aW9uIEhtYWNEUkJHKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEhtYWNEUkJHKSlcbiAgICByZXR1cm4gbmV3IEhtYWNEUkJHKG9wdGlvbnMpO1xuICB0aGlzLmhhc2ggPSBvcHRpb25zLmhhc2g7XG4gIHRoaXMucHJlZFJlc2lzdCA9ICEhb3B0aW9ucy5wcmVkUmVzaXN0O1xuXG4gIHRoaXMub3V0TGVuID0gdGhpcy5oYXNoLm91dFNpemU7XG4gIHRoaXMubWluRW50cm9weSA9IG9wdGlvbnMubWluRW50cm9weSB8fCB0aGlzLmhhc2guaG1hY1N0cmVuZ3RoO1xuXG4gIHRoaXMuX3Jlc2VlZCA9IG51bGw7XG4gIHRoaXMucmVzZWVkSW50ZXJ2YWwgPSBudWxsO1xuICB0aGlzLksgPSBudWxsO1xuICB0aGlzLlYgPSBudWxsO1xuXG4gIHZhciBlbnRyb3B5ID0gdXRpbHMudG9BcnJheShvcHRpb25zLmVudHJvcHksIG9wdGlvbnMuZW50cm9weUVuYyB8fCAnaGV4Jyk7XG4gIHZhciBub25jZSA9IHV0aWxzLnRvQXJyYXkob3B0aW9ucy5ub25jZSwgb3B0aW9ucy5ub25jZUVuYyB8fCAnaGV4Jyk7XG4gIHZhciBwZXJzID0gdXRpbHMudG9BcnJheShvcHRpb25zLnBlcnMsIG9wdGlvbnMucGVyc0VuYyB8fCAnaGV4Jyk7XG4gIGFzc2VydChlbnRyb3B5Lmxlbmd0aCA+PSAodGhpcy5taW5FbnRyb3B5IC8gOCksXG4gICAgICAgICAnTm90IGVub3VnaCBlbnRyb3B5LiBNaW5pbXVtIGlzOiAnICsgdGhpcy5taW5FbnRyb3B5ICsgJyBiaXRzJyk7XG4gIHRoaXMuX2luaXQoZW50cm9weSwgbm9uY2UsIHBlcnMpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBIbWFjRFJCRztcblxuSG1hY0RSQkcucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdChlbnRyb3B5LCBub25jZSwgcGVycykge1xuICB2YXIgc2VlZCA9IGVudHJvcHkuY29uY2F0KG5vbmNlKS5jb25jYXQocGVycyk7XG5cbiAgdGhpcy5LID0gbmV3IEFycmF5KHRoaXMub3V0TGVuIC8gOCk7XG4gIHRoaXMuViA9IG5ldyBBcnJheSh0aGlzLm91dExlbiAvIDgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuVi5sZW5ndGg7IGkrKykge1xuICAgIHRoaXMuS1tpXSA9IDB4MDA7XG4gICAgdGhpcy5WW2ldID0gMHgwMTtcbiAgfVxuXG4gIHRoaXMuX3VwZGF0ZShzZWVkKTtcbiAgdGhpcy5fcmVzZWVkID0gMTtcbiAgdGhpcy5yZXNlZWRJbnRlcnZhbCA9IDB4MTAwMDAwMDAwMDAwMDsgIC8vIDJeNDhcbn07XG5cbkhtYWNEUkJHLnByb3RvdHlwZS5faG1hYyA9IGZ1bmN0aW9uIGhtYWMoKSB7XG4gIHJldHVybiBuZXcgaGFzaC5obWFjKHRoaXMuaGFzaCwgdGhpcy5LKTtcbn07XG5cbkhtYWNEUkJHLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKHNlZWQpIHtcbiAgdmFyIGttYWMgPSB0aGlzLl9obWFjKClcbiAgICAgICAgICAgICAgICAgLnVwZGF0ZSh0aGlzLlYpXG4gICAgICAgICAgICAgICAgIC51cGRhdGUoWyAweDAwIF0pO1xuICBpZiAoc2VlZClcbiAgICBrbWFjID0ga21hYy51cGRhdGUoc2VlZCk7XG4gIHRoaXMuSyA9IGttYWMuZGlnZXN0KCk7XG4gIHRoaXMuViA9IHRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKTtcbiAgaWYgKCFzZWVkKVxuICAgIHJldHVybjtcblxuICB0aGlzLksgPSB0aGlzLl9obWFjKClcbiAgICAgICAgICAgICAgIC51cGRhdGUodGhpcy5WKVxuICAgICAgICAgICAgICAgLnVwZGF0ZShbIDB4MDEgXSlcbiAgICAgICAgICAgICAgIC51cGRhdGUoc2VlZClcbiAgICAgICAgICAgICAgIC5kaWdlc3QoKTtcbiAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xufTtcblxuSG1hY0RSQkcucHJvdG90eXBlLnJlc2VlZCA9IGZ1bmN0aW9uIHJlc2VlZChlbnRyb3B5LCBlbnRyb3B5RW5jLCBhZGQsIGFkZEVuYykge1xuICAvLyBPcHRpb25hbCBlbnRyb3B5IGVuY1xuICBpZiAodHlwZW9mIGVudHJvcHlFbmMgIT09ICdzdHJpbmcnKSB7XG4gICAgYWRkRW5jID0gYWRkO1xuICAgIGFkZCA9IGVudHJvcHlFbmM7XG4gICAgZW50cm9weUVuYyA9IG51bGw7XG4gIH1cblxuICBlbnRyb3B5ID0gdXRpbHMudG9BcnJheShlbnRyb3B5LCBlbnRyb3B5RW5jKTtcbiAgYWRkID0gdXRpbHMudG9BcnJheShhZGQsIGFkZEVuYyk7XG5cbiAgYXNzZXJ0KGVudHJvcHkubGVuZ3RoID49ICh0aGlzLm1pbkVudHJvcHkgLyA4KSxcbiAgICAgICAgICdOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICcgKyB0aGlzLm1pbkVudHJvcHkgKyAnIGJpdHMnKTtcblxuICB0aGlzLl91cGRhdGUoZW50cm9weS5jb25jYXQoYWRkIHx8IFtdKSk7XG4gIHRoaXMuX3Jlc2VlZCA9IDE7XG59O1xuXG5IbWFjRFJCRy5wcm90b3R5cGUuZ2VuZXJhdGUgPSBmdW5jdGlvbiBnZW5lcmF0ZShsZW4sIGVuYywgYWRkLCBhZGRFbmMpIHtcbiAgaWYgKHRoaXMuX3Jlc2VlZCA+IHRoaXMucmVzZWVkSW50ZXJ2YWwpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdSZXNlZWQgaXMgcmVxdWlyZWQnKTtcblxuICAvLyBPcHRpb25hbCBlbmNvZGluZ1xuICBpZiAodHlwZW9mIGVuYyAhPT0gJ3N0cmluZycpIHtcbiAgICBhZGRFbmMgPSBhZGQ7XG4gICAgYWRkID0gZW5jO1xuICAgIGVuYyA9IG51bGw7XG4gIH1cblxuICAvLyBPcHRpb25hbCBhZGRpdGlvbmFsIGRhdGFcbiAgaWYgKGFkZCkge1xuICAgIGFkZCA9IHV0aWxzLnRvQXJyYXkoYWRkLCBhZGRFbmMgfHwgJ2hleCcpO1xuICAgIHRoaXMuX3VwZGF0ZShhZGQpO1xuICB9XG5cbiAgdmFyIHRlbXAgPSBbXTtcbiAgd2hpbGUgKHRlbXAubGVuZ3RoIDwgbGVuKSB7XG4gICAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xuICAgIHRlbXAgPSB0ZW1wLmNvbmNhdCh0aGlzLlYpO1xuICB9XG5cbiAgdmFyIHJlcyA9IHRlbXAuc2xpY2UoMCwgbGVuKTtcbiAgdGhpcy5fdXBkYXRlKGFkZCk7XG4gIHRoaXMuX3Jlc2VlZCsrO1xuICByZXR1cm4gdXRpbHMuZW5jb2RlKHJlcywgZW5jKTtcbn07XG4iLCIvKiEgaWVlZTc1NC4gQlNELTMtQ2xhdXNlIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuZXhwb3J0cy5yZWFkID0gZnVuY3Rpb24gKGJ1ZmZlciwgb2Zmc2V0LCBpc0xFLCBtTGVuLCBuQnl0ZXMpIHtcbiAgdmFyIGUsIG1cbiAgdmFyIGVMZW4gPSAobkJ5dGVzICogOCkgLSBtTGVuIC0gMVxuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMVxuICB2YXIgZUJpYXMgPSBlTWF4ID4+IDFcbiAgdmFyIG5CaXRzID0gLTdcbiAgdmFyIGkgPSBpc0xFID8gKG5CeXRlcyAtIDEpIDogMFxuICB2YXIgZCA9IGlzTEUgPyAtMSA6IDFcbiAgdmFyIHMgPSBidWZmZXJbb2Zmc2V0ICsgaV1cblxuICBpICs9IGRcblxuICBlID0gcyAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBzID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBlTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSAoZSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBtID0gZSAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBlID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBtTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IG0gPSAobSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBpZiAoZSA9PT0gMCkge1xuICAgIGUgPSAxIC0gZUJpYXNcbiAgfSBlbHNlIGlmIChlID09PSBlTWF4KSB7XG4gICAgcmV0dXJuIG0gPyBOYU4gOiAoKHMgPyAtMSA6IDEpICogSW5maW5pdHkpXG4gIH0gZWxzZSB7XG4gICAgbSA9IG0gKyBNYXRoLnBvdygyLCBtTGVuKVxuICAgIGUgPSBlIC0gZUJpYXNcbiAgfVxuICByZXR1cm4gKHMgPyAtMSA6IDEpICogbSAqIE1hdGgucG93KDIsIGUgLSBtTGVuKVxufVxuXG5leHBvcnRzLndyaXRlID0gZnVuY3Rpb24gKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlLCBtLCBjXG4gIHZhciBlTGVuID0gKG5CeXRlcyAqIDgpIC0gbUxlbiAtIDFcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDFcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxXG4gIHZhciBydCA9IChtTGVuID09PSAyMyA/IE1hdGgucG93KDIsIC0yNCkgLSBNYXRoLnBvdygyLCAtNzcpIDogMClcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKVxuICB2YXIgZCA9IGlzTEUgPyAxIDogLTFcbiAgdmFyIHMgPSB2YWx1ZSA8IDAgfHwgKHZhbHVlID09PSAwICYmIDEgLyB2YWx1ZSA8IDApID8gMSA6IDBcblxuICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKVxuXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5KSB7XG4gICAgbSA9IGlzTmFOKHZhbHVlKSA/IDEgOiAwXG4gICAgZSA9IGVNYXhcbiAgfSBlbHNlIHtcbiAgICBlID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLkxOMilcbiAgICBpZiAodmFsdWUgKiAoYyA9IE1hdGgucG93KDIsIC1lKSkgPCAxKSB7XG4gICAgICBlLS1cbiAgICAgIGMgKj0gMlxuICAgIH1cbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcbiAgICAgIHZhbHVlICs9IHJ0IC8gY1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSArPSBydCAqIE1hdGgucG93KDIsIDEgLSBlQmlhcylcbiAgICB9XG4gICAgaWYgKHZhbHVlICogYyA+PSAyKSB7XG4gICAgICBlKytcbiAgICAgIGMgLz0gMlxuICAgIH1cblxuICAgIGlmIChlICsgZUJpYXMgPj0gZU1heCkge1xuICAgICAgbSA9IDBcbiAgICAgIGUgPSBlTWF4XG4gICAgfSBlbHNlIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgbSA9ICgodmFsdWUgKiBjKSAtIDEpICogTWF0aC5wb3coMiwgbUxlbilcbiAgICAgIGUgPSBlICsgZUJpYXNcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHZhbHVlICogTWF0aC5wb3coMiwgZUJpYXMgLSAxKSAqIE1hdGgucG93KDIsIG1MZW4pXG4gICAgICBlID0gMFxuICAgIH1cbiAgfVxuXG4gIGZvciAoOyBtTGVuID49IDg7IGJ1ZmZlcltvZmZzZXQgKyBpXSA9IG0gJiAweGZmLCBpICs9IGQsIG0gLz0gMjU2LCBtTGVuIC09IDgpIHt9XG5cbiAgZSA9IChlIDw8IG1MZW4pIHwgbVxuICBlTGVuICs9IG1MZW5cbiAgZm9yICg7IGVMZW4gPiAwOyBidWZmZXJbb2Zmc2V0ICsgaV0gPSBlICYgMHhmZiwgaSArPSBkLCBlIC89IDI1NiwgZUxlbiAtPSA4KSB7fVxuXG4gIGJ1ZmZlcltvZmZzZXQgKyBpIC0gZF0gfD0gcyAqIDEyOFxufVxuIiwiaWYgKHR5cGVvZiBPYmplY3QuY3JlYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIGltcGxlbWVudGF0aW9uIGZyb20gc3RhbmRhcmQgbm9kZS5qcyAndXRpbCcgbW9kdWxlXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgaWYgKHN1cGVyQ3Rvcikge1xuICAgICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3JcbiAgICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICAgICAgdmFsdWU6IGN0b3IsXG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9O1xufSBlbHNlIHtcbiAgLy8gb2xkIHNjaG9vbCBzaGltIGZvciBvbGQgYnJvd3NlcnNcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpbmhlcml0cyhjdG9yLCBzdXBlckN0b3IpIHtcbiAgICBpZiAoc3VwZXJDdG9yKSB7XG4gICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvclxuICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge31cbiAgICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGVcbiAgICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKClcbiAgICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvclxuICAgIH1cbiAgfVxufVxuIiwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiAoYXJyKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGFycikgPT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG4iLCIndXNlIHN0cmljdCdcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBIYXNoQmFzZSA9IHJlcXVpcmUoJ2hhc2gtYmFzZScpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEFSUkFZMTYgPSBuZXcgQXJyYXkoMTYpXG5cbmZ1bmN0aW9uIE1ENSAoKSB7XG4gIEhhc2hCYXNlLmNhbGwodGhpcywgNjQpXG5cbiAgLy8gc3RhdGVcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcbiAgdGhpcy5fYiA9IDB4ZWZjZGFiODlcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcbn1cblxuaW5oZXJpdHMoTUQ1LCBIYXNoQmFzZSlcblxuTUQ1LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgTSA9IEFSUkFZMTZcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBNW2ldID0gdGhpcy5fYmxvY2sucmVhZEludDMyTEUoaSAqIDQpXG5cbiAgdmFyIGEgPSB0aGlzLl9hXG4gIHZhciBiID0gdGhpcy5fYlxuICB2YXIgYyA9IHRoaXMuX2NcbiAgdmFyIGQgPSB0aGlzLl9kXG5cbiAgYSA9IGZuRihhLCBiLCBjLCBkLCBNWzBdLCAweGQ3NmFhNDc4LCA3KVxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMV0sIDB4ZThjN2I3NTYsIDEyKVxuICBjID0gZm5GKGMsIGQsIGEsIGIsIE1bMl0sIDB4MjQyMDcwZGIsIDE3KVxuICBiID0gZm5GKGIsIGMsIGQsIGEsIE1bM10sIDB4YzFiZGNlZWUsIDIyKVxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bNF0sIDB4ZjU3YzBmYWYsIDcpXG4gIGQgPSBmbkYoZCwgYSwgYiwgYywgTVs1XSwgMHg0Nzg3YzYyYSwgMTIpXG4gIGMgPSBmbkYoYywgZCwgYSwgYiwgTVs2XSwgMHhhODMwNDYxMywgMTcpXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVs3XSwgMHhmZDQ2OTUwMSwgMjIpXG4gIGEgPSBmbkYoYSwgYiwgYywgZCwgTVs4XSwgMHg2OTgwOThkOCwgNylcbiAgZCA9IGZuRihkLCBhLCBiLCBjLCBNWzldLCAweDhiNDRmN2FmLCAxMilcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzEwXSwgMHhmZmZmNWJiMSwgMTcpXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVsxMV0sIDB4ODk1Y2Q3YmUsIDIyKVxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bMTJdLCAweDZiOTAxMTIyLCA3KVxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMTNdLCAweGZkOTg3MTkzLCAxMilcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzE0XSwgMHhhNjc5NDM4ZSwgMTcpXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVsxNV0sIDB4NDliNDA4MjEsIDIyKVxuXG4gIGEgPSBmbkcoYSwgYiwgYywgZCwgTVsxXSwgMHhmNjFlMjU2MiwgNSlcbiAgZCA9IGZuRyhkLCBhLCBiLCBjLCBNWzZdLCAweGMwNDBiMzQwLCA5KVxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bMTFdLCAweDI2NWU1YTUxLCAxNClcbiAgYiA9IGZuRyhiLCBjLCBkLCBhLCBNWzBdLCAweGU5YjZjN2FhLCAyMClcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzVdLCAweGQ2MmYxMDVkLCA1KVxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMTBdLCAweDAyNDQxNDUzLCA5KVxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bMTVdLCAweGQ4YTFlNjgxLCAxNClcbiAgYiA9IGZuRyhiLCBjLCBkLCBhLCBNWzRdLCAweGU3ZDNmYmM4LCAyMClcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzldLCAweDIxZTFjZGU2LCA1KVxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMTRdLCAweGMzMzcwN2Q2LCA5KVxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bM10sIDB4ZjRkNTBkODcsIDE0KVxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bOF0sIDB4NDU1YTE0ZWQsIDIwKVxuICBhID0gZm5HKGEsIGIsIGMsIGQsIE1bMTNdLCAweGE5ZTNlOTA1LCA1KVxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMl0sIDB4ZmNlZmEzZjgsIDkpXG4gIGMgPSBmbkcoYywgZCwgYSwgYiwgTVs3XSwgMHg2NzZmMDJkOSwgMTQpXG4gIGIgPSBmbkcoYiwgYywgZCwgYSwgTVsxMl0sIDB4OGQyYTRjOGEsIDIwKVxuXG4gIGEgPSBmbkgoYSwgYiwgYywgZCwgTVs1XSwgMHhmZmZhMzk0MiwgNClcbiAgZCA9IGZuSChkLCBhLCBiLCBjLCBNWzhdLCAweDg3NzFmNjgxLCAxMSlcbiAgYyA9IGZuSChjLCBkLCBhLCBiLCBNWzExXSwgMHg2ZDlkNjEyMiwgMTYpXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVsxNF0sIDB4ZmRlNTM4MGMsIDIzKVxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bMV0sIDB4YTRiZWVhNDQsIDQpXG4gIGQgPSBmbkgoZCwgYSwgYiwgYywgTVs0XSwgMHg0YmRlY2ZhOSwgMTEpXG4gIGMgPSBmbkgoYywgZCwgYSwgYiwgTVs3XSwgMHhmNmJiNGI2MCwgMTYpXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVsxMF0sIDB4YmViZmJjNzAsIDIzKVxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bMTNdLCAweDI4OWI3ZWM2LCA0KVxuICBkID0gZm5IKGQsIGEsIGIsIGMsIE1bMF0sIDB4ZWFhMTI3ZmEsIDExKVxuICBjID0gZm5IKGMsIGQsIGEsIGIsIE1bM10sIDB4ZDRlZjMwODUsIDE2KVxuICBiID0gZm5IKGIsIGMsIGQsIGEsIE1bNl0sIDB4MDQ4ODFkMDUsIDIzKVxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bOV0sIDB4ZDlkNGQwMzksIDQpXG4gIGQgPSBmbkgoZCwgYSwgYiwgYywgTVsxMl0sIDB4ZTZkYjk5ZTUsIDExKVxuICBjID0gZm5IKGMsIGQsIGEsIGIsIE1bMTVdLCAweDFmYTI3Y2Y4LCAxNilcbiAgYiA9IGZuSChiLCBjLCBkLCBhLCBNWzJdLCAweGM0YWM1NjY1LCAyMylcblxuICBhID0gZm5JKGEsIGIsIGMsIGQsIE1bMF0sIDB4ZjQyOTIyNDQsIDYpXG4gIGQgPSBmbkkoZCwgYSwgYiwgYywgTVs3XSwgMHg0MzJhZmY5NywgMTApXG4gIGMgPSBmbkkoYywgZCwgYSwgYiwgTVsxNF0sIDB4YWI5NDIzYTcsIDE1KVxuICBiID0gZm5JKGIsIGMsIGQsIGEsIE1bNV0sIDB4ZmM5M2EwMzksIDIxKVxuICBhID0gZm5JKGEsIGIsIGMsIGQsIE1bMTJdLCAweDY1NWI1OWMzLCA2KVxuICBkID0gZm5JKGQsIGEsIGIsIGMsIE1bM10sIDB4OGYwY2NjOTIsIDEwKVxuICBjID0gZm5JKGMsIGQsIGEsIGIsIE1bMTBdLCAweGZmZWZmNDdkLCAxNSlcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzFdLCAweDg1ODQ1ZGQxLCAyMSlcbiAgYSA9IGZuSShhLCBiLCBjLCBkLCBNWzhdLCAweDZmYTg3ZTRmLCA2KVxuICBkID0gZm5JKGQsIGEsIGIsIGMsIE1bMTVdLCAweGZlMmNlNmUwLCAxMClcbiAgYyA9IGZuSShjLCBkLCBhLCBiLCBNWzZdLCAweGEzMDE0MzE0LCAxNSlcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzEzXSwgMHg0ZTA4MTFhMSwgMjEpXG4gIGEgPSBmbkkoYSwgYiwgYywgZCwgTVs0XSwgMHhmNzUzN2U4MiwgNilcbiAgZCA9IGZuSShkLCBhLCBiLCBjLCBNWzExXSwgMHhiZDNhZjIzNSwgMTApXG4gIGMgPSBmbkkoYywgZCwgYSwgYiwgTVsyXSwgMHgyYWQ3ZDJiYiwgMTUpXG4gIGIgPSBmbkkoYiwgYywgZCwgYSwgTVs5XSwgMHhlYjg2ZDM5MSwgMjEpXG5cbiAgdGhpcy5fYSA9ICh0aGlzLl9hICsgYSkgfCAwXG4gIHRoaXMuX2IgPSAodGhpcy5fYiArIGIpIHwgMFxuICB0aGlzLl9jID0gKHRoaXMuX2MgKyBjKSB8IDBcbiAgdGhpcy5fZCA9ICh0aGlzLl9kICsgZCkgfCAwXG59XG5cbk1ENS5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gY3JlYXRlIHBhZGRpbmcgYW5kIGhhbmRsZSBibG9ja3NcbiAgdGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSAweDgwXG4gIGlmICh0aGlzLl9ibG9ja09mZnNldCA+IDU2KSB7XG4gICAgdGhpcy5fYmxvY2suZmlsbCgwLCB0aGlzLl9ibG9ja09mZnNldCwgNjQpXG4gICAgdGhpcy5fdXBkYXRlKClcbiAgICB0aGlzLl9ibG9ja09mZnNldCA9IDBcbiAgfVxuXG4gIHRoaXMuX2Jsb2NrLmZpbGwoMCwgdGhpcy5fYmxvY2tPZmZzZXQsIDU2KVxuICB0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSwgNTYpXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLCA2MClcbiAgdGhpcy5fdXBkYXRlKClcblxuICAvLyBwcm9kdWNlIHJlc3VsdFxuICB2YXIgYnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKDE2KVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2EsIDApXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYiwgNClcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9jLCA4KVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2QsIDEyKVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcbiAgcmV0dXJuICh4IDw8IG4pIHwgKHggPj4+ICgzMiAtIG4pKVxufVxuXG5mdW5jdGlvbiBmbkYgKGEsIGIsIGMsIGQsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgYykgfCAoKH5iKSAmIGQpKSArIG0gKyBrKSB8IDAsIHMpICsgYikgfCAwXG59XG5cbmZ1bmN0aW9uIGZuRyAoYSwgYiwgYywgZCwgbSwgaywgcykge1xuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgJiBkKSB8IChjICYgKH5kKSkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcbn1cblxuZnVuY3Rpb24gZm5IIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XG4gIHJldHVybiAocm90bCgoYSArIChiIF4gYyBeIGQpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcbn1cblxuZnVuY3Rpb24gZm5JIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XG4gIHJldHVybiAocm90bCgoYSArICgoYyBeIChiIHwgKH5kKSkpKSArIG0gKyBrKSB8IDAsIHMpICsgYikgfCAwXG59XG5cbm1vZHVsZS5leHBvcnRzID0gTUQ1XG4iLCJ2YXIgYm4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIGJyb3JhbmQgPSByZXF1aXJlKCdicm9yYW5kJyk7XG5cbmZ1bmN0aW9uIE1pbGxlclJhYmluKHJhbmQpIHtcbiAgdGhpcy5yYW5kID0gcmFuZCB8fCBuZXcgYnJvcmFuZC5SYW5kKCk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IE1pbGxlclJhYmluO1xuXG5NaWxsZXJSYWJpbi5jcmVhdGUgPSBmdW5jdGlvbiBjcmVhdGUocmFuZCkge1xuICByZXR1cm4gbmV3IE1pbGxlclJhYmluKHJhbmQpO1xufTtcblxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLl9yYW5kYmVsb3cgPSBmdW5jdGlvbiBfcmFuZGJlbG93KG4pIHtcbiAgdmFyIGxlbiA9IG4uYml0TGVuZ3RoKCk7XG4gIHZhciBtaW5fYnl0ZXMgPSBNYXRoLmNlaWwobGVuIC8gOCk7XG5cbiAgLy8gR2VuZXJhZ2UgcmFuZG9tIGJ5dGVzIHVudGlsIGEgbnVtYmVyIGxlc3MgdGhhbiBuIGlzIGZvdW5kLlxuICAvLyBUaGlzIGVuc3VyZXMgdGhhdCAwLi5uLTEgaGF2ZSBhbiBlcXVhbCBwcm9iYWJpbGl0eSBvZiBiZWluZyBzZWxlY3RlZC5cbiAgZG9cbiAgICB2YXIgYSA9IG5ldyBibih0aGlzLnJhbmQuZ2VuZXJhdGUobWluX2J5dGVzKSk7XG4gIHdoaWxlIChhLmNtcChuKSA+PSAwKTtcblxuICByZXR1cm4gYTtcbn07XG5cbk1pbGxlclJhYmluLnByb3RvdHlwZS5fcmFuZHJhbmdlID0gZnVuY3Rpb24gX3JhbmRyYW5nZShzdGFydCwgc3RvcCkge1xuICAvLyBHZW5lcmF0ZSBhIHJhbmRvbSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHN0YXJ0IGFuZCBsZXNzIHRoYW4gc3RvcC5cbiAgdmFyIHNpemUgPSBzdG9wLnN1YihzdGFydCk7XG4gIHJldHVybiBzdGFydC5hZGQodGhpcy5fcmFuZGJlbG93KHNpemUpKTtcbn07XG5cbk1pbGxlclJhYmluLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24gdGVzdChuLCBrLCBjYikge1xuICB2YXIgbGVuID0gbi5iaXRMZW5ndGgoKTtcbiAgdmFyIHJlZCA9IGJuLm1vbnQobik7XG4gIHZhciByb25lID0gbmV3IGJuKDEpLnRvUmVkKHJlZCk7XG5cbiAgaWYgKCFrKVxuICAgIGsgPSBNYXRoLm1heCgxLCAobGVuIC8gNDgpIHwgMCk7XG5cbiAgLy8gRmluZCBkIGFuZCBzLCAobiAtIDEpID0gKDIgXiBzKSAqIGQ7XG4gIHZhciBuMSA9IG4uc3VibigxKTtcbiAgZm9yICh2YXIgcyA9IDA7ICFuMS50ZXN0bihzKTsgcysrKSB7fVxuICB2YXIgZCA9IG4uc2hybihzKTtcblxuICB2YXIgcm4xID0gbjEudG9SZWQocmVkKTtcblxuICB2YXIgcHJpbWUgPSB0cnVlO1xuICBmb3IgKDsgayA+IDA7IGstLSkge1xuICAgIHZhciBhID0gdGhpcy5fcmFuZHJhbmdlKG5ldyBibigyKSwgbjEpO1xuICAgIGlmIChjYilcbiAgICAgIGNiKGEpO1xuXG4gICAgdmFyIHggPSBhLnRvUmVkKHJlZCkucmVkUG93KGQpO1xuICAgIGlmICh4LmNtcChyb25lKSA9PT0gMCB8fCB4LmNtcChybjEpID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IHM7IGkrKykge1xuICAgICAgeCA9IHgucmVkU3FyKCk7XG5cbiAgICAgIGlmICh4LmNtcChyb25lKSA9PT0gMClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKHguY21wKHJuMSkgPT09IDApXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChpID09PSBzKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHByaW1lO1xufTtcblxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLmdldERpdmlzb3IgPSBmdW5jdGlvbiBnZXREaXZpc29yKG4sIGspIHtcbiAgdmFyIGxlbiA9IG4uYml0TGVuZ3RoKCk7XG4gIHZhciByZWQgPSBibi5tb250KG4pO1xuICB2YXIgcm9uZSA9IG5ldyBibigxKS50b1JlZChyZWQpO1xuXG4gIGlmICghaylcbiAgICBrID0gTWF0aC5tYXgoMSwgKGxlbiAvIDQ4KSB8IDApO1xuXG4gIC8vIEZpbmQgZCBhbmQgcywgKG4gLSAxKSA9ICgyIF4gcykgKiBkO1xuICB2YXIgbjEgPSBuLnN1Ym4oMSk7XG4gIGZvciAodmFyIHMgPSAwOyAhbjEudGVzdG4ocyk7IHMrKykge31cbiAgdmFyIGQgPSBuLnNocm4ocyk7XG5cbiAgdmFyIHJuMSA9IG4xLnRvUmVkKHJlZCk7XG5cbiAgZm9yICg7IGsgPiAwOyBrLS0pIHtcbiAgICB2YXIgYSA9IHRoaXMuX3JhbmRyYW5nZShuZXcgYm4oMiksIG4xKTtcblxuICAgIHZhciBnID0gbi5nY2QoYSk7XG4gICAgaWYgKGcuY21wbigxKSAhPT0gMClcbiAgICAgIHJldHVybiBnO1xuXG4gICAgdmFyIHggPSBhLnRvUmVkKHJlZCkucmVkUG93KGQpO1xuICAgIGlmICh4LmNtcChyb25lKSA9PT0gMCB8fCB4LmNtcChybjEpID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IHM7IGkrKykge1xuICAgICAgeCA9IHgucmVkU3FyKCk7XG5cbiAgICAgIGlmICh4LmNtcChyb25lKSA9PT0gMClcbiAgICAgICAgcmV0dXJuIHguZnJvbVJlZCgpLnN1Ym4oMSkuZ2NkKG4pO1xuICAgICAgaWYgKHguY21wKHJuMSkgPT09IDApXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChpID09PSBzKSB7XG4gICAgICB4ID0geC5yZWRTcXIoKTtcbiAgICAgIHJldHVybiB4LmZyb21SZWQoKS5zdWJuKDEpLmdjZChuKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBhc3NlcnQ7XG5cbmZ1bmN0aW9uIGFzc2VydCh2YWwsIG1zZykge1xuICBpZiAoIXZhbClcbiAgICB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XG59XG5cbmFzc2VydC5lcXVhbCA9IGZ1bmN0aW9uIGFzc2VydEVxdWFsKGwsIHIsIG1zZykge1xuICBpZiAobCAhPSByKVxuICAgIHRocm93IG5ldyBFcnJvcihtc2cgfHwgKCdBc3NlcnRpb24gZmFpbGVkOiAnICsgbCArICcgIT0gJyArIHIpKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IGV4cG9ydHM7XG5cbmZ1bmN0aW9uIHRvQXJyYXkobXNnLCBlbmMpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkobXNnKSlcbiAgICByZXR1cm4gbXNnLnNsaWNlKCk7XG4gIGlmICghbXNnKVxuICAgIHJldHVybiBbXTtcbiAgdmFyIHJlcyA9IFtdO1xuICBpZiAodHlwZW9mIG1zZyAhPT0gJ3N0cmluZycpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKylcbiAgICAgIHJlc1tpXSA9IG1zZ1tpXSB8IDA7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICBpZiAoZW5jID09PSAnaGV4Jykge1xuICAgIG1zZyA9IG1zZy5yZXBsYWNlKC9bXmEtejAtOV0rL2lnLCAnJyk7XG4gICAgaWYgKG1zZy5sZW5ndGggJSAyICE9PSAwKVxuICAgICAgbXNnID0gJzAnICsgbXNnO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSArPSAyKVxuICAgICAgcmVzLnB1c2gocGFyc2VJbnQobXNnW2ldICsgbXNnW2kgKyAxXSwgMTYpKTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSBtc2cuY2hhckNvZGVBdChpKTtcbiAgICAgIHZhciBoaSA9IGMgPj4gODtcbiAgICAgIHZhciBsbyA9IGMgJiAweGZmO1xuICAgICAgaWYgKGhpKVxuICAgICAgICByZXMucHVzaChoaSwgbG8pO1xuICAgICAgZWxzZVxuICAgICAgICByZXMucHVzaChsbyk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXM7XG59XG51dGlscy50b0FycmF5ID0gdG9BcnJheTtcblxuZnVuY3Rpb24gemVybzIod29yZCkge1xuICBpZiAod29yZC5sZW5ndGggPT09IDEpXG4gICAgcmV0dXJuICcwJyArIHdvcmQ7XG4gIGVsc2VcbiAgICByZXR1cm4gd29yZDtcbn1cbnV0aWxzLnplcm8yID0gemVybzI7XG5cbmZ1bmN0aW9uIHRvSGV4KG1zZykge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxuICAgIHJlcyArPSB6ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtcbiAgcmV0dXJuIHJlcztcbn1cbnV0aWxzLnRvSGV4ID0gdG9IZXg7XG5cbnV0aWxzLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShhcnIsIGVuYykge1xuICBpZiAoZW5jID09PSAnaGV4JylcbiAgICByZXR1cm4gdG9IZXgoYXJyKTtcbiAgZWxzZVxuICAgIHJldHVybiBhcnI7XG59O1xuIiwiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiIsIi8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvYXNuMS5qc1xuLy8gRmVkb3IsIHlvdSBhcmUgYW1hemluZy5cbid1c2Ugc3RyaWN0J1xuXG52YXIgYXNuMSA9IHJlcXVpcmUoJ2FzbjEuanMnKVxuXG5leHBvcnRzLmNlcnRpZmljYXRlID0gcmVxdWlyZSgnLi9jZXJ0aWZpY2F0ZScpXG5cbnZhciBSU0FQcml2YXRlS2V5ID0gYXNuMS5kZWZpbmUoJ1JTQVByaXZhdGVLZXknLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuc2VxKCkub2JqKFxuICAgIHRoaXMua2V5KCd2ZXJzaW9uJykuaW50KCksXG4gICAgdGhpcy5rZXkoJ21vZHVsdXMnKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncHVibGljRXhwb25lbnQnKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncHJpdmF0ZUV4cG9uZW50JykuaW50KCksXG4gICAgdGhpcy5rZXkoJ3ByaW1lMScpLmludCgpLFxuICAgIHRoaXMua2V5KCdwcmltZTInKS5pbnQoKSxcbiAgICB0aGlzLmtleSgnZXhwb25lbnQxJykuaW50KCksXG4gICAgdGhpcy5rZXkoJ2V4cG9uZW50MicpLmludCgpLFxuICAgIHRoaXMua2V5KCdjb2VmZmljaWVudCcpLmludCgpXG4gIClcbn0pXG5leHBvcnRzLlJTQVByaXZhdGVLZXkgPSBSU0FQcml2YXRlS2V5XG5cbnZhciBSU0FQdWJsaWNLZXkgPSBhc24xLmRlZmluZSgnUlNBUHVibGljS2V5JywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnbW9kdWx1cycpLmludCgpLFxuICAgIHRoaXMua2V5KCdwdWJsaWNFeHBvbmVudCcpLmludCgpXG4gIClcbn0pXG5leHBvcnRzLlJTQVB1YmxpY0tleSA9IFJTQVB1YmxpY0tleVxuXG52YXIgUHVibGljS2V5ID0gYXNuMS5kZWZpbmUoJ1N1YmplY3RQdWJsaWNLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5JykuYml0c3RyKClcbiAgKVxufSlcbmV4cG9ydHMuUHVibGljS2V5ID0gUHVibGljS2V5XG5cbnZhciBBbGdvcml0aG1JZGVudGlmaWVyID0gYXNuMS5kZWZpbmUoJ0FsZ29yaXRobUlkZW50aWZpZXInLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuc2VxKCkub2JqKFxuICAgIHRoaXMua2V5KCdhbGdvcml0aG0nKS5vYmppZCgpLFxuICAgIHRoaXMua2V5KCdub25lJykubnVsbF8oKS5vcHRpb25hbCgpLFxuICAgIHRoaXMua2V5KCdjdXJ2ZScpLm9iamlkKCkub3B0aW9uYWwoKSxcbiAgICB0aGlzLmtleSgncGFyYW1zJykuc2VxKCkub2JqKFxuICAgICAgdGhpcy5rZXkoJ3AnKS5pbnQoKSxcbiAgICAgIHRoaXMua2V5KCdxJykuaW50KCksXG4gICAgICB0aGlzLmtleSgnZycpLmludCgpXG4gICAgKS5vcHRpb25hbCgpXG4gIClcbn0pXG5cbnZhciBQcml2YXRlS2V5SW5mbyA9IGFzbjEuZGVmaW5lKCdQcml2YXRlS2V5SW5mbycsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ3ZlcnNpb24nKS5pbnQoKSxcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHJpdmF0ZUtleScpLm9jdHN0cigpXG4gIClcbn0pXG5leHBvcnRzLlByaXZhdGVLZXkgPSBQcml2YXRlS2V5SW5mb1xudmFyIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvID0gYXNuMS5kZWZpbmUoJ0VuY3J5cHRlZFByaXZhdGVLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykuc2VxKCkub2JqKFxuICAgICAgdGhpcy5rZXkoJ2lkJykub2JqaWQoKSxcbiAgICAgIHRoaXMua2V5KCdkZWNyeXB0Jykuc2VxKCkub2JqKFxuICAgICAgICB0aGlzLmtleSgna2RlJykuc2VxKCkub2JqKFxuICAgICAgICAgIHRoaXMua2V5KCdpZCcpLm9iamlkKCksXG4gICAgICAgICAgdGhpcy5rZXkoJ2tkZXBhcmFtcycpLnNlcSgpLm9iaihcbiAgICAgICAgICAgIHRoaXMua2V5KCdzYWx0Jykub2N0c3RyKCksXG4gICAgICAgICAgICB0aGlzLmtleSgnaXRlcnMnKS5pbnQoKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5rZXkoJ2NpcGhlcicpLnNlcSgpLm9iaihcbiAgICAgICAgICB0aGlzLmtleSgnYWxnbycpLm9iamlkKCksXG4gICAgICAgICAgdGhpcy5rZXkoJ2l2Jykub2N0c3RyKClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQcml2YXRlS2V5Jykub2N0c3RyKClcbiAgKVxufSlcblxuZXhwb3J0cy5FbmNyeXB0ZWRQcml2YXRlS2V5ID0gRW5jcnlwdGVkUHJpdmF0ZUtleUluZm9cblxudmFyIERTQVByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnRFNBUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ3ZlcnNpb24nKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncCcpLmludCgpLFxuICAgIHRoaXMua2V5KCdxJykuaW50KCksXG4gICAgdGhpcy5rZXkoJ2cnKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncHViX2tleScpLmludCgpLFxuICAgIHRoaXMua2V5KCdwcml2X2tleScpLmludCgpXG4gIClcbn0pXG5leHBvcnRzLkRTQVByaXZhdGVLZXkgPSBEU0FQcml2YXRlS2V5XG5cbmV4cG9ydHMuRFNBcGFyYW0gPSBhc24xLmRlZmluZSgnRFNBcGFyYW0nLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuaW50KClcbn0pXG5cbnZhciBFQ1ByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnRUNQcml2YXRlS2V5JywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxuICAgIHRoaXMua2V5KCdwcml2YXRlS2V5Jykub2N0c3RyKCksXG4gICAgdGhpcy5rZXkoJ3BhcmFtZXRlcnMnKS5vcHRpb25hbCgpLmV4cGxpY2l0KDApLnVzZShFQ1BhcmFtZXRlcnMpLFxuICAgIHRoaXMua2V5KCdwdWJsaWNLZXknKS5vcHRpb25hbCgpLmV4cGxpY2l0KDEpLmJpdHN0cigpXG4gIClcbn0pXG5leHBvcnRzLkVDUHJpdmF0ZUtleSA9IEVDUHJpdmF0ZUtleVxuXG52YXIgRUNQYXJhbWV0ZXJzID0gYXNuMS5kZWZpbmUoJ0VDUGFyYW1ldGVycycsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5jaG9pY2Uoe1xuICAgIG5hbWVkQ3VydmU6IHRoaXMub2JqaWQoKVxuICB9KVxufSlcblxuZXhwb3J0cy5zaWduYXR1cmUgPSBhc24xLmRlZmluZSgnc2lnbmF0dXJlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgncicpLmludCgpLFxuICAgIHRoaXMua2V5KCdzJykuaW50KClcbiAgKVxufSlcbiIsIi8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1JhbnRhbmVuL25vZGUtZHRscy9ibG9iLzI1YTdkYzg2MWJkYTM4Y2ZlYWM5M2E3MjM1MDBlZWE0ZjBhYzJlODYvQ2VydGlmaWNhdGUuanNcbi8vIHRoYW5rcyB0byBAUmFudGFuZW5cblxuJ3VzZSBzdHJpY3QnXG5cbnZhciBhc24gPSByZXF1aXJlKCdhc24xLmpzJylcblxudmFyIFRpbWUgPSBhc24uZGVmaW5lKCdUaW1lJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLmNob2ljZSh7XG4gICAgdXRjVGltZTogdGhpcy51dGN0aW1lKCksXG4gICAgZ2VuZXJhbFRpbWU6IHRoaXMuZ2VudGltZSgpXG4gIH0pXG59KVxuXG52YXIgQXR0cmlidXRlVHlwZVZhbHVlID0gYXNuLmRlZmluZSgnQXR0cmlidXRlVHlwZVZhbHVlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndHlwZScpLm9iamlkKCksXG4gICAgdGhpcy5rZXkoJ3ZhbHVlJykuYW55KClcbiAgKVxufSlcblxudmFyIEFsZ29yaXRobUlkZW50aWZpZXIgPSBhc24uZGVmaW5lKCdBbGdvcml0aG1JZGVudGlmaWVyJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykub2JqaWQoKSxcbiAgICB0aGlzLmtleSgncGFyYW1ldGVycycpLm9wdGlvbmFsKCksXG4gICAgdGhpcy5rZXkoJ2N1cnZlJykub2JqaWQoKS5vcHRpb25hbCgpXG4gIClcbn0pXG5cbnZhciBTdWJqZWN0UHVibGljS2V5SW5mbyA9IGFzbi5kZWZpbmUoJ1N1YmplY3RQdWJsaWNLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5JykuYml0c3RyKClcbiAgKVxufSlcblxudmFyIFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUgPSBhc24uZGVmaW5lKCdSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNldG9mKEF0dHJpYnV0ZVR5cGVWYWx1ZSlcbn0pXG5cbnZhciBSRE5TZXF1ZW5jZSA9IGFzbi5kZWZpbmUoJ1JETlNlcXVlbmNlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcW9mKFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUpXG59KVxuXG52YXIgTmFtZSA9IGFzbi5kZWZpbmUoJ05hbWUnLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuY2hvaWNlKHtcbiAgICByZG5TZXF1ZW5jZTogdGhpcy51c2UoUkROU2VxdWVuY2UpXG4gIH0pXG59KVxuXG52YXIgVmFsaWRpdHkgPSBhc24uZGVmaW5lKCdWYWxpZGl0eScsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ25vdEJlZm9yZScpLnVzZShUaW1lKSxcbiAgICB0aGlzLmtleSgnbm90QWZ0ZXInKS51c2UoVGltZSlcbiAgKVxufSlcblxudmFyIEV4dGVuc2lvbiA9IGFzbi5kZWZpbmUoJ0V4dGVuc2lvbicsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ2V4dG5JRCcpLm9iamlkKCksXG4gICAgdGhpcy5rZXkoJ2NyaXRpY2FsJykuYm9vbCgpLmRlZihmYWxzZSksXG4gICAgdGhpcy5rZXkoJ2V4dG5WYWx1ZScpLm9jdHN0cigpXG4gIClcbn0pXG5cbnZhciBUQlNDZXJ0aWZpY2F0ZSA9IGFzbi5kZWZpbmUoJ1RCU0NlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmV4cGxpY2l0KDApLmludCgpLm9wdGlvbmFsKCksXG4gICAgdGhpcy5rZXkoJ3NlcmlhbE51bWJlcicpLmludCgpLFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmUnKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXG4gICAgdGhpcy5rZXkoJ2lzc3VlcicpLnVzZShOYW1lKSxcbiAgICB0aGlzLmtleSgndmFsaWRpdHknKS51c2UoVmFsaWRpdHkpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0JykudXNlKE5hbWUpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5SW5mbycpLnVzZShTdWJqZWN0UHVibGljS2V5SW5mbyksXG4gICAgdGhpcy5rZXkoJ2lzc3VlclVuaXF1ZUlEJykuaW1wbGljaXQoMSkuYml0c3RyKCkub3B0aW9uYWwoKSxcbiAgICB0aGlzLmtleSgnc3ViamVjdFVuaXF1ZUlEJykuaW1wbGljaXQoMikuYml0c3RyKCkub3B0aW9uYWwoKSxcbiAgICB0aGlzLmtleSgnZXh0ZW5zaW9ucycpLmV4cGxpY2l0KDMpLnNlcW9mKEV4dGVuc2lvbikub3B0aW9uYWwoKVxuICApXG59KVxuXG52YXIgWDUwOUNlcnRpZmljYXRlID0gYXNuLmRlZmluZSgnWDUwOUNlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndGJzQ2VydGlmaWNhdGUnKS51c2UoVEJTQ2VydGlmaWNhdGUpLFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmVBbGdvcml0aG0nKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXG4gICAgdGhpcy5rZXkoJ3NpZ25hdHVyZVZhbHVlJykuYml0c3RyKClcbiAgKVxufSlcblxubW9kdWxlLmV4cG9ydHMgPSBYNTA5Q2VydGlmaWNhdGVcbiIsIi8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYXBhdGlsL3BlbXN0cmlwXG52YXIgZmluZFByb2MgPSAvUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRFtcXG5cXHJdK0RFSy1JbmZvOiBBRVMtKCg/OjEyOCl8KD86MTkyKXwoPzoyNTYpKS1DQkMsKFswLTlBLUhdKylbXFxuXFxyXSsoWzAtOUEtelxcblxccisvPV0rKVtcXG5cXHJdKy9tXG52YXIgc3RhcnRSZWdleCA9IC9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0vbVxudmFyIGZ1bGxSZWdleCA9IC9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0oWzAtOUEtelxcblxccisvPV0rKS0tLS0tRU5EIFxcMS0tLS0tJC9tXG52YXIgZXZwID0gcmVxdWlyZSgnZXZwX2J5dGVzdG9rZXknKVxudmFyIGNpcGhlcnMgPSByZXF1aXJlKCdicm93c2VyaWZ5LWFlcycpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9rZXksIHBhc3N3b3JkKSB7XG4gIHZhciBrZXkgPSBva2V5LnRvU3RyaW5nKClcbiAgdmFyIG1hdGNoID0ga2V5Lm1hdGNoKGZpbmRQcm9jKVxuICB2YXIgZGVjcnlwdGVkXG4gIGlmICghbWF0Y2gpIHtcbiAgICB2YXIgbWF0Y2gyID0ga2V5Lm1hdGNoKGZ1bGxSZWdleClcbiAgICBkZWNyeXB0ZWQgPSBCdWZmZXIuZnJvbShtYXRjaDJbMl0ucmVwbGFjZSgvW1xcclxcbl0vZywgJycpLCAnYmFzZTY0JylcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3VpdGUgPSAnYWVzJyArIG1hdGNoWzFdXG4gICAgdmFyIGl2ID0gQnVmZmVyLmZyb20obWF0Y2hbMl0sICdoZXgnKVxuICAgIHZhciBjaXBoZXJUZXh0ID0gQnVmZmVyLmZyb20obWF0Y2hbM10ucmVwbGFjZSgvW1xcclxcbl0vZywgJycpLCAnYmFzZTY0JylcbiAgICB2YXIgY2lwaGVyS2V5ID0gZXZwKHBhc3N3b3JkLCBpdi5zbGljZSgwLCA4KSwgcGFyc2VJbnQobWF0Y2hbMV0sIDEwKSkua2V5XG4gICAgdmFyIG91dCA9IFtdXG4gICAgdmFyIGNpcGhlciA9IGNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwgY2lwaGVyS2V5LCBpdilcbiAgICBvdXQucHVzaChjaXBoZXIudXBkYXRlKGNpcGhlclRleHQpKVxuICAgIG91dC5wdXNoKGNpcGhlci5maW5hbCgpKVxuICAgIGRlY3J5cHRlZCA9IEJ1ZmZlci5jb25jYXQob3V0KVxuICB9XG4gIHZhciB0YWcgPSBrZXkubWF0Y2goc3RhcnRSZWdleClbMV1cbiAgcmV0dXJuIHtcbiAgICB0YWc6IHRhZyxcbiAgICBkYXRhOiBkZWNyeXB0ZWRcbiAgfVxufVxuIiwidmFyIGFzbjEgPSByZXF1aXJlKCcuL2FzbjEnKVxudmFyIGFlc2lkID0gcmVxdWlyZSgnLi9hZXNpZC5qc29uJylcbnZhciBmaXhQcm9jID0gcmVxdWlyZSgnLi9maXhQcm9jJylcbnZhciBjaXBoZXJzID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1hZXMnKVxudmFyIGNvbXBhdCA9IHJlcXVpcmUoJ3Bia2RmMicpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbm1vZHVsZS5leHBvcnRzID0gcGFyc2VLZXlzXG5cbmZ1bmN0aW9uIHBhcnNlS2V5cyAoYnVmZmVyKSB7XG4gIHZhciBwYXNzd29yZFxuICBpZiAodHlwZW9mIGJ1ZmZlciA9PT0gJ29iamVjdCcgJiYgIUJ1ZmZlci5pc0J1ZmZlcihidWZmZXIpKSB7XG4gICAgcGFzc3dvcmQgPSBidWZmZXIucGFzc3BocmFzZVxuICAgIGJ1ZmZlciA9IGJ1ZmZlci5rZXlcbiAgfVxuICBpZiAodHlwZW9mIGJ1ZmZlciA9PT0gJ3N0cmluZycpIHtcbiAgICBidWZmZXIgPSBCdWZmZXIuZnJvbShidWZmZXIpXG4gIH1cblxuICB2YXIgc3RyaXBwZWQgPSBmaXhQcm9jKGJ1ZmZlciwgcGFzc3dvcmQpXG5cbiAgdmFyIHR5cGUgPSBzdHJpcHBlZC50YWdcbiAgdmFyIGRhdGEgPSBzdHJpcHBlZC5kYXRhXG4gIHZhciBzdWJ0eXBlLCBuZGF0YVxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdDRVJUSUZJQ0FURSc6XG4gICAgICBuZGF0YSA9IGFzbjEuY2VydGlmaWNhdGUuZGVjb2RlKGRhdGEsICdkZXInKS50YnNDZXJ0aWZpY2F0ZS5zdWJqZWN0UHVibGljS2V5SW5mb1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgIGNhc2UgJ1BVQkxJQyBLRVknOlxuICAgICAgaWYgKCFuZGF0YSkge1xuICAgICAgICBuZGF0YSA9IGFzbjEuUHVibGljS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIH1cbiAgICAgIHN1YnR5cGUgPSBuZGF0YS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oJy4nKVxuICAgICAgc3dpdGNoIChzdWJ0eXBlKSB7XG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTEzNTQ5LjEuMS4xJzpcbiAgICAgICAgICByZXR1cm4gYXNuMS5SU0FQdWJsaWNLZXkuZGVjb2RlKG5kYXRhLnN1YmplY3RQdWJsaWNLZXkuZGF0YSwgJ2RlcicpXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDUuMi4xJzpcbiAgICAgICAgICBuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSA9IG5kYXRhLnN1YmplY3RQdWJsaWNLZXlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ2VjJyxcbiAgICAgICAgICAgIGRhdGE6IG5kYXRhXG4gICAgICAgICAgfVxuICAgICAgICBjYXNlICcxLjIuODQwLjEwMDQwLjQuMSc6XG4gICAgICAgICAgbmRhdGEuYWxnb3JpdGhtLnBhcmFtcy5wdWJfa2V5ID0gYXNuMS5EU0FwYXJhbS5kZWNvZGUobmRhdGEuc3ViamVjdFB1YmxpY0tleS5kYXRhLCAnZGVyJylcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ2RzYScsXG4gICAgICAgICAgICBkYXRhOiBuZGF0YS5hbGdvcml0aG0ucGFyYW1zXG4gICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24ga2V5IGlkICcgKyBzdWJ0eXBlKVxuICAgICAgfVxuICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxuICAgIGNhc2UgJ0VOQ1JZUFRFRCBQUklWQVRFIEtFWSc6XG4gICAgICBkYXRhID0gYXNuMS5FbmNyeXB0ZWRQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIGRhdGEgPSBkZWNyeXB0KGRhdGEsIHBhc3N3b3JkKVxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgIGNhc2UgJ1BSSVZBVEUgS0VZJzpcbiAgICAgIG5kYXRhID0gYXNuMS5Qcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIHN1YnR5cGUgPSBuZGF0YS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oJy4nKVxuICAgICAgc3dpdGNoIChzdWJ0eXBlKSB7XG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTEzNTQ5LjEuMS4xJzpcbiAgICAgICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSwgJ2RlcicpXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDUuMi4xJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VydmU6IG5kYXRhLmFsZ29yaXRobS5jdXJ2ZSxcbiAgICAgICAgICAgIHByaXZhdGVLZXk6IGFzbjEuRUNQcml2YXRlS2V5LmRlY29kZShuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSwgJ2RlcicpLnByaXZhdGVLZXlcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDAuNC4xJzpcbiAgICAgICAgICBuZGF0YS5hbGdvcml0aG0ucGFyYW1zLnByaXZfa2V5ID0gYXNuMS5EU0FwYXJhbS5kZWNvZGUobmRhdGEuc3ViamVjdFByaXZhdGVLZXksICdkZXInKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnZHNhJyxcbiAgICAgICAgICAgIHBhcmFtczogbmRhdGEuYWxnb3JpdGhtLnBhcmFtc1xuICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSBpZCAnICsgc3VidHlwZSlcbiAgICAgIH1cbiAgICAgIC8vIHRocm93IG5ldyBFcnJvcigndW5rbm93biBrZXkgdHlwZSAnICsgdHlwZSlcbiAgICBjYXNlICdSU0EgUFVCTElDIEtFWSc6XG4gICAgICByZXR1cm4gYXNuMS5SU0FQdWJsaWNLZXkuZGVjb2RlKGRhdGEsICdkZXInKVxuICAgIGNhc2UgJ1JTQSBQUklWQVRFIEtFWSc6XG4gICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICBjYXNlICdEU0EgUFJJVkFURSBLRVknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2RzYScsXG4gICAgICAgIHBhcmFtczogYXNuMS5EU0FQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIH1cbiAgICBjYXNlICdFQyBQUklWQVRFIEtFWSc6XG4gICAgICBkYXRhID0gYXNuMS5FQ1ByaXZhdGVLZXkuZGVjb2RlKGRhdGEsICdkZXInKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VydmU6IGRhdGEucGFyYW1ldGVycy52YWx1ZSxcbiAgICAgICAgcHJpdmF0ZUtleTogZGF0YS5wcml2YXRlS2V5XG4gICAgICB9XG4gICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxuICB9XG59XG5wYXJzZUtleXMuc2lnbmF0dXJlID0gYXNuMS5zaWduYXR1cmVcbmZ1bmN0aW9uIGRlY3J5cHQgKGRhdGEsIHBhc3N3b3JkKSB7XG4gIHZhciBzYWx0ID0gZGF0YS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLnNhbHRcbiAgdmFyIGl0ZXJzID0gcGFyc2VJbnQoZGF0YS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5nKCksIDEwKVxuICB2YXIgYWxnbyA9IGFlc2lkW2RhdGEuYWxnb3JpdGhtLmRlY3J5cHQuY2lwaGVyLmFsZ28uam9pbignLicpXVxuICB2YXIgaXYgPSBkYXRhLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5pdlxuICB2YXIgY2lwaGVyVGV4dCA9IGRhdGEuc3ViamVjdFByaXZhdGVLZXlcbiAgdmFyIGtleWxlbiA9IHBhcnNlSW50KGFsZ28uc3BsaXQoJy0nKVsxXSwgMTApIC8gOFxuICB2YXIga2V5ID0gY29tcGF0LnBia2RmMlN5bmMocGFzc3dvcmQsIHNhbHQsIGl0ZXJzLCBrZXlsZW4sICdzaGExJylcbiAgdmFyIGNpcGhlciA9IGNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdihhbGdvLCBrZXksIGl2KVxuICB2YXIgb3V0ID0gW11cbiAgb3V0LnB1c2goY2lwaGVyLnVwZGF0ZShjaXBoZXJUZXh0KSlcbiAgb3V0LnB1c2goY2lwaGVyLmZpbmFsKCkpXG4gIHJldHVybiBCdWZmZXIuY29uY2F0KG91dClcbn1cbiIsImV4cG9ydHMucGJrZGYyID0gcmVxdWlyZSgnLi9saWIvYXN5bmMnKVxuZXhwb3J0cy5wYmtkZjJTeW5jID0gcmVxdWlyZSgnLi9saWIvc3luYycpXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIGNoZWNrUGFyYW1ldGVycyA9IHJlcXVpcmUoJy4vcHJlY29uZGl0aW9uJylcbnZhciBkZWZhdWx0RW5jb2RpbmcgPSByZXF1aXJlKCcuL2RlZmF1bHQtZW5jb2RpbmcnKVxudmFyIHN5bmMgPSByZXF1aXJlKCcuL3N5bmMnKVxudmFyIHRvQnVmZmVyID0gcmVxdWlyZSgnLi90by1idWZmZXInKVxuXG52YXIgWkVST19CVUZcbnZhciBzdWJ0bGUgPSBnbG9iYWwuY3J5cHRvICYmIGdsb2JhbC5jcnlwdG8uc3VidGxlXG52YXIgdG9Ccm93c2VyID0ge1xuICBzaGE6ICdTSEEtMScsXG4gICdzaGEtMSc6ICdTSEEtMScsXG4gIHNoYTE6ICdTSEEtMScsXG4gIHNoYTI1NjogJ1NIQS0yNTYnLFxuICAnc2hhLTI1Nic6ICdTSEEtMjU2JyxcbiAgc2hhMzg0OiAnU0hBLTM4NCcsXG4gICdzaGEtMzg0JzogJ1NIQS0zODQnLFxuICAnc2hhLTUxMic6ICdTSEEtNTEyJyxcbiAgc2hhNTEyOiAnU0hBLTUxMidcbn1cbnZhciBjaGVja3MgPSBbXVxuZnVuY3Rpb24gY2hlY2tOYXRpdmUgKGFsZ28pIHtcbiAgaWYgKGdsb2JhbC5wcm9jZXNzICYmICFnbG9iYWwucHJvY2Vzcy5icm93c2VyKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSlcbiAgfVxuICBpZiAoIXN1YnRsZSB8fCAhc3VidGxlLmltcG9ydEtleSB8fCAhc3VidGxlLmRlcml2ZUJpdHMpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKVxuICB9XG4gIGlmIChjaGVja3NbYWxnb10gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBjaGVja3NbYWxnb11cbiAgfVxuICBaRVJPX0JVRiA9IFpFUk9fQlVGIHx8IEJ1ZmZlci5hbGxvYyg4KVxuICB2YXIgcHJvbSA9IGJyb3dzZXJQYmtkZjIoWkVST19CVUYsIFpFUk9fQlVGLCAxMCwgMTI4LCBhbGdvKVxuICAgIC50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgY2hlY2tzW2FsZ29dID0gcHJvbVxuICByZXR1cm4gcHJvbVxufVxuXG5mdW5jdGlvbiBicm93c2VyUGJrZGYyIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywgbGVuZ3RoLCBhbGdvKSB7XG4gIHJldHVybiBzdWJ0bGUuaW1wb3J0S2V5KFxuICAgICdyYXcnLCBwYXNzd29yZCwgeyBuYW1lOiAnUEJLREYyJyB9LCBmYWxzZSwgWydkZXJpdmVCaXRzJ11cbiAgKS50aGVuKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gc3VidGxlLmRlcml2ZUJpdHMoe1xuICAgICAgbmFtZTogJ1BCS0RGMicsXG4gICAgICBzYWx0OiBzYWx0LFxuICAgICAgaXRlcmF0aW9uczogaXRlcmF0aW9ucyxcbiAgICAgIGhhc2g6IHtcbiAgICAgICAgbmFtZTogYWxnb1xuICAgICAgfVxuICAgIH0sIGtleSwgbGVuZ3RoIDw8IDMpXG4gIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShyZXMpXG4gIH0pXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVQcm9taXNlIChwcm9taXNlLCBjYWxsYmFjaykge1xuICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKG91dCkge1xuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgY2FsbGJhY2sobnVsbCwgb3V0KVxuICAgIH0pXG4gIH0sIGZ1bmN0aW9uIChlKSB7XG4gICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBjYWxsYmFjayhlKVxuICAgIH0pXG4gIH0pXG59XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgZGlnZXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2FsbGJhY2sgPSBkaWdlc3RcbiAgICBkaWdlc3QgPSB1bmRlZmluZWRcbiAgfVxuXG4gIGRpZ2VzdCA9IGRpZ2VzdCB8fCAnc2hhMSdcbiAgdmFyIGFsZ28gPSB0b0Jyb3dzZXJbZGlnZXN0LnRvTG93ZXJDYXNlKCldXG5cbiAgaWYgKCFhbGdvIHx8IHR5cGVvZiBnbG9iYWwuUHJvbWlzZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBvdXRcbiAgICAgIHRyeSB7XG4gICAgICAgIG91dCA9IHN5bmMocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbiwgZGlnZXN0KVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soZSlcbiAgICAgIH1cbiAgICAgIGNhbGxiYWNrKG51bGwsIG91dClcbiAgICB9KVxuICB9XG5cbiAgY2hlY2tQYXJhbWV0ZXJzKGl0ZXJhdGlvbnMsIGtleWxlbilcbiAgcGFzc3dvcmQgPSB0b0J1ZmZlcihwYXNzd29yZCwgZGVmYXVsdEVuY29kaW5nLCAnUGFzc3dvcmQnKVxuICBzYWx0ID0gdG9CdWZmZXIoc2FsdCwgZGVmYXVsdEVuY29kaW5nLCAnU2FsdCcpXG4gIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHRocm93IG5ldyBFcnJvcignTm8gY2FsbGJhY2sgcHJvdmlkZWQgdG8gcGJrZGYyJylcblxuICByZXNvbHZlUHJvbWlzZShjaGVja05hdGl2ZShhbGdvKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7XG4gICAgaWYgKHJlc3ApIHJldHVybiBicm93c2VyUGJrZGYyKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4sIGFsZ28pXG5cbiAgICByZXR1cm4gc3luYyhwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QpXG4gIH0pLCBjYWxsYmFjaylcbn1cbiIsInZhciBkZWZhdWx0RW5jb2Rpbmdcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5pZiAocHJvY2Vzcy5icm93c2VyKSB7XG4gIGRlZmF1bHRFbmNvZGluZyA9ICd1dGYtOCdcbn0gZWxzZSBpZiAocHJvY2Vzcy52ZXJzaW9uKSB7XG4gIHZhciBwVmVyc2lvbk1ham9yID0gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9uLnNwbGl0KCcuJylbMF0uc2xpY2UoMSksIDEwKVxuXG4gIGRlZmF1bHRFbmNvZGluZyA9IHBWZXJzaW9uTWFqb3IgPj0gNiA/ICd1dGYtOCcgOiAnYmluYXJ5J1xufSBlbHNlIHtcbiAgZGVmYXVsdEVuY29kaW5nID0gJ3V0Zi04J1xufVxubW9kdWxlLmV4cG9ydHMgPSBkZWZhdWx0RW5jb2RpbmdcbiIsInZhciBNQVhfQUxMT0MgPSBNYXRoLnBvdygyLCAzMCkgLSAxIC8vIGRlZmF1bHQgaW4gaW9qc1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVyYXRpb25zLCBrZXlsZW4pIHtcbiAgaWYgKHR5cGVvZiBpdGVyYXRpb25zICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0l0ZXJhdGlvbnMgbm90IGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmIChpdGVyYXRpb25zIDwgMCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0JhZCBpdGVyYXRpb25zJylcbiAgfVxuXG4gIGlmICh0eXBlb2Yga2V5bGVuICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0tleSBsZW5ndGggbm90IGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmIChrZXlsZW4gPCAwIHx8IGtleWxlbiA+IE1BWF9BTExPQyB8fCBrZXlsZW4gIT09IGtleWxlbikgeyAvKiBlc2xpbnQgbm8tc2VsZi1jb21wYXJlOiAwICovXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQmFkIGtleSBsZW5ndGgnKVxuICB9XG59XG4iLCJ2YXIgbWQ1ID0gcmVxdWlyZSgnY3JlYXRlLWhhc2gvbWQ1JylcbnZhciBSSVBFTUQxNjAgPSByZXF1aXJlKCdyaXBlbWQxNjAnKVxudmFyIHNoYSA9IHJlcXVpcmUoJ3NoYS5qcycpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIGNoZWNrUGFyYW1ldGVycyA9IHJlcXVpcmUoJy4vcHJlY29uZGl0aW9uJylcbnZhciBkZWZhdWx0RW5jb2RpbmcgPSByZXF1aXJlKCcuL2RlZmF1bHQtZW5jb2RpbmcnKVxudmFyIHRvQnVmZmVyID0gcmVxdWlyZSgnLi90by1idWZmZXInKVxuXG52YXIgWkVST1MgPSBCdWZmZXIuYWxsb2MoMTI4KVxudmFyIHNpemVzID0ge1xuICBtZDU6IDE2LFxuICBzaGExOiAyMCxcbiAgc2hhMjI0OiAyOCxcbiAgc2hhMjU2OiAzMixcbiAgc2hhMzg0OiA0OCxcbiAgc2hhNTEyOiA2NCxcbiAgcm1kMTYwOiAyMCxcbiAgcmlwZW1kMTYwOiAyMFxufVxuXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSwgc2FsdExlbikge1xuICB2YXIgaGFzaCA9IGdldERpZ2VzdChhbGcpXG4gIHZhciBibG9ja3NpemUgPSAoYWxnID09PSAnc2hhNTEyJyB8fCBhbGcgPT09ICdzaGEzODQnKSA/IDEyOCA6IDY0XG5cbiAgaWYgKGtleS5sZW5ndGggPiBibG9ja3NpemUpIHtcbiAgICBrZXkgPSBoYXNoKGtleSlcbiAgfSBlbHNlIGlmIChrZXkubGVuZ3RoIDwgYmxvY2tzaXplKSB7XG4gICAga2V5ID0gQnVmZmVyLmNvbmNhdChba2V5LCBaRVJPU10sIGJsb2Nrc2l6ZSlcbiAgfVxuXG4gIHZhciBpcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSArIHNpemVzW2FsZ10pXG4gIHZhciBvcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSArIHNpemVzW2FsZ10pXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tzaXplOyBpKyspIHtcbiAgICBpcGFkW2ldID0ga2V5W2ldIF4gMHgzNlxuICAgIG9wYWRbaV0gPSBrZXlbaV0gXiAweDVDXG4gIH1cblxuICB2YXIgaXBhZDEgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplICsgc2FsdExlbiArIDQpXG4gIGlwYWQuY29weShpcGFkMSwgMCwgMCwgYmxvY2tzaXplKVxuICB0aGlzLmlwYWQxID0gaXBhZDFcbiAgdGhpcy5pcGFkMiA9IGlwYWRcbiAgdGhpcy5vcGFkID0gb3BhZFxuICB0aGlzLmFsZyA9IGFsZ1xuICB0aGlzLmJsb2Nrc2l6ZSA9IGJsb2Nrc2l6ZVxuICB0aGlzLmhhc2ggPSBoYXNoXG4gIHRoaXMuc2l6ZSA9IHNpemVzW2FsZ11cbn1cblxuSG1hYy5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKGRhdGEsIGlwYWQpIHtcbiAgZGF0YS5jb3B5KGlwYWQsIHRoaXMuYmxvY2tzaXplKVxuICB2YXIgaCA9IHRoaXMuaGFzaChpcGFkKVxuICBoLmNvcHkodGhpcy5vcGFkLCB0aGlzLmJsb2Nrc2l6ZSlcbiAgcmV0dXJuIHRoaXMuaGFzaCh0aGlzLm9wYWQpXG59XG5cbmZ1bmN0aW9uIGdldERpZ2VzdCAoYWxnKSB7XG4gIGZ1bmN0aW9uIHNoYUZ1bmMgKGRhdGEpIHtcbiAgICByZXR1cm4gc2hhKGFsZykudXBkYXRlKGRhdGEpLmRpZ2VzdCgpXG4gIH1cbiAgZnVuY3Rpb24gcm1kMTYwRnVuYyAoZGF0YSkge1xuICAgIHJldHVybiBuZXcgUklQRU1EMTYwKCkudXBkYXRlKGRhdGEpLmRpZ2VzdCgpXG4gIH1cblxuICBpZiAoYWxnID09PSAncm1kMTYwJyB8fCBhbGcgPT09ICdyaXBlbWQxNjAnKSByZXR1cm4gcm1kMTYwRnVuY1xuICBpZiAoYWxnID09PSAnbWQ1JykgcmV0dXJuIG1kNVxuICByZXR1cm4gc2hhRnVuY1xufVxuXG5mdW5jdGlvbiBwYmtkZjIgKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4sIGRpZ2VzdCkge1xuICBjaGVja1BhcmFtZXRlcnMoaXRlcmF0aW9ucywga2V5bGVuKVxuICBwYXNzd29yZCA9IHRvQnVmZmVyKHBhc3N3b3JkLCBkZWZhdWx0RW5jb2RpbmcsICdQYXNzd29yZCcpXG4gIHNhbHQgPSB0b0J1ZmZlcihzYWx0LCBkZWZhdWx0RW5jb2RpbmcsICdTYWx0JylcblxuICBkaWdlc3QgPSBkaWdlc3QgfHwgJ3NoYTEnXG5cbiAgdmFyIGhtYWMgPSBuZXcgSG1hYyhkaWdlc3QsIHBhc3N3b3JkLCBzYWx0Lmxlbmd0aClcblxuICB2YXIgREsgPSBCdWZmZXIuYWxsb2NVbnNhZmUoa2V5bGVuKVxuICB2YXIgYmxvY2sxID0gQnVmZmVyLmFsbG9jVW5zYWZlKHNhbHQubGVuZ3RoICsgNClcbiAgc2FsdC5jb3B5KGJsb2NrMSwgMCwgMCwgc2FsdC5sZW5ndGgpXG5cbiAgdmFyIGRlc3RQb3MgPSAwXG4gIHZhciBoTGVuID0gc2l6ZXNbZGlnZXN0XVxuICB2YXIgbCA9IE1hdGguY2VpbChrZXlsZW4gLyBoTGVuKVxuXG4gIGZvciAodmFyIGkgPSAxOyBpIDw9IGw7IGkrKykge1xuICAgIGJsb2NrMS53cml0ZVVJbnQzMkJFKGksIHNhbHQubGVuZ3RoKVxuXG4gICAgdmFyIFQgPSBobWFjLnJ1bihibG9jazEsIGhtYWMuaXBhZDEpXG4gICAgdmFyIFUgPSBUXG5cbiAgICBmb3IgKHZhciBqID0gMTsgaiA8IGl0ZXJhdGlvbnM7IGorKykge1xuICAgICAgVSA9IGhtYWMucnVuKFUsIGhtYWMuaXBhZDIpXG4gICAgICBmb3IgKHZhciBrID0gMDsgayA8IGhMZW47IGsrKykgVFtrXSBePSBVW2tdXG4gICAgfVxuXG4gICAgVC5jb3B5KERLLCBkZXN0UG9zKVxuICAgIGRlc3RQb3MgKz0gaExlblxuICB9XG5cbiAgcmV0dXJuIERLXG59XG5cbm1vZHVsZS5leHBvcnRzID0gcGJrZGYyXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhpbmcsIGVuY29kaW5nLCBuYW1lKSB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIodGhpbmcpKSB7XG4gICAgcmV0dXJuIHRoaW5nXG4gIH0gZWxzZSBpZiAodHlwZW9mIHRoaW5nID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGluZywgZW5jb2RpbmcpXG4gIH0gZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KHRoaW5nKSkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGluZy5idWZmZXIpXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihuYW1lICsgJyBtdXN0IGJlIGEgc3RyaW5nLCBhIEJ1ZmZlciwgYSB0eXBlZCBhcnJheSBvciBhIERhdGFWaWV3JylcbiAgfVxufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5pZiAodHlwZW9mIHByb2Nlc3MgPT09ICd1bmRlZmluZWQnIHx8XG4gICAgIXByb2Nlc3MudmVyc2lvbiB8fFxuICAgIHByb2Nlc3MudmVyc2lvbi5pbmRleE9mKCd2MC4nKSA9PT0gMCB8fFxuICAgIHByb2Nlc3MudmVyc2lvbi5pbmRleE9mKCd2MS4nKSA9PT0gMCAmJiBwcm9jZXNzLnZlcnNpb24uaW5kZXhPZigndjEuOC4nKSAhPT0gMCkge1xuICBtb2R1bGUuZXhwb3J0cyA9IHsgbmV4dFRpY2s6IG5leHRUaWNrIH07XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHByb2Nlc3Ncbn1cblxuZnVuY3Rpb24gbmV4dFRpY2soZm4sIGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiY2FsbGJhY2tcIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTtcbiAgfVxuICB2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgdmFyIGFyZ3MsIGk7XG4gIHN3aXRjaCAobGVuKSB7XG4gIGNhc2UgMDpcbiAgY2FzZSAxOlxuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZuKTtcbiAgY2FzZSAyOlxuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uIGFmdGVyVGlja09uZSgpIHtcbiAgICAgIGZuLmNhbGwobnVsbCwgYXJnMSk7XG4gICAgfSk7XG4gIGNhc2UgMzpcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2tUd28oKSB7XG4gICAgICBmbi5jYWxsKG51bGwsIGFyZzEsIGFyZzIpO1xuICAgIH0pO1xuICBjYXNlIDQ6XG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gYWZ0ZXJUaWNrVGhyZWUoKSB7XG4gICAgICBmbi5jYWxsKG51bGwsIGFyZzEsIGFyZzIsIGFyZzMpO1xuICAgIH0pO1xuICBkZWZhdWx0OlxuICAgIGFyZ3MgPSBuZXcgQXJyYXkobGVuIC0gMSk7XG4gICAgaSA9IDA7XG4gICAgd2hpbGUgKGkgPCBhcmdzLmxlbmd0aCkge1xuICAgICAgYXJnc1tpKytdID0gYXJndW1lbnRzW2ldO1xuICAgIH1cbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2soKSB7XG4gICAgICBmbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICB9KTtcbiAgfVxufVxuXG4iLCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuIiwiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBwcmludFdhcm5pbmcgPSBmdW5jdGlvbigpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSByZXF1aXJlKCcuL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldCcpO1xuICB2YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG4gIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7XG5cbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyB0ZXh0O1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG59XG5cbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIHZhbHVlcyBtYXRjaCB3aXRoIHRoZSB0eXBlIHNwZWNzLlxuICogRXJyb3IgbWVzc2FnZXMgYXJlIG1lbW9yaXplZCBhbmQgd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHR5cGVTcGVjcyBNYXAgb2YgbmFtZSB0byBhIFJlYWN0UHJvcFR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSB2YWx1ZXMgUnVudGltZSB2YWx1ZXMgdGhhdCBuZWVkIHRvIGJlIHR5cGUtY2hlY2tlZFxuICogQHBhcmFtIHtzdHJpbmd9IGxvY2F0aW9uIGUuZy4gXCJwcm9wXCIsIFwiY29udGV4dFwiLCBcImNoaWxkIGNvbnRleHRcIlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbXBvbmVudE5hbWUgTmFtZSBvZiB0aGUgY29tcG9uZW50IGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7P0Z1bmN0aW9ufSBnZXRTdGFjayBSZXR1cm5zIHRoZSBjb21wb25lbnQgc3RhY2suXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGdldFN0YWNrKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKFxuICAgICAgICAgICAgICAoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgK1xuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVycm9yID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IgPSBleDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgJiYgIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICcgK1xuICAgICAgICAgICAgbG9jYXRpb24gKyAnIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAnICsgdHlwZW9mIGVycm9yICsgJy4gJyArXG4gICAgICAgICAgICAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArXG4gICAgICAgICAgICAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICtcbiAgICAgICAgICAgICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvci5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvci5tZXNzYWdlXSA9IHRydWU7XG5cbiAgICAgICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjayA/IGdldFN0YWNrKCkgOiAnJztcblxuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgICdGYWlsZWQgJyArIGxvY2F0aW9uICsgJyB0eXBlOiAnICsgZXJyb3IubWVzc2FnZSArIChzdGFjayAhPSBudWxsID8gc3RhY2sgOiAnJylcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVzZXRzIHdhcm5pbmcgY2FjaGUgd2hlbiB0ZXN0aW5nLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNoZWNrUHJvcFR5cGVzLnJlc2V0V2FybmluZ0NhY2hlID0gZnVuY3Rpb24oKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjaGVja1Byb3BUeXBlcztcbiIsIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xuIiwiZXhwb3J0cy5wdWJsaWNFbmNyeXB0ID0gcmVxdWlyZSgnLi9wdWJsaWNFbmNyeXB0JylcbmV4cG9ydHMucHJpdmF0ZURlY3J5cHQgPSByZXF1aXJlKCcuL3ByaXZhdGVEZWNyeXB0JylcblxuZXhwb3J0cy5wcml2YXRlRW5jcnlwdCA9IGZ1bmN0aW9uIHByaXZhdGVFbmNyeXB0IChrZXksIGJ1Zikge1xuICByZXR1cm4gZXhwb3J0cy5wdWJsaWNFbmNyeXB0KGtleSwgYnVmLCB0cnVlKVxufVxuXG5leHBvcnRzLnB1YmxpY0RlY3J5cHQgPSBmdW5jdGlvbiBwdWJsaWNEZWNyeXB0IChrZXksIGJ1Zikge1xuICByZXR1cm4gZXhwb3J0cy5wcml2YXRlRGVjcnlwdChrZXksIGJ1ZiwgdHJ1ZSlcbn1cbiIsInZhciBjcmVhdGVIYXNoID0gcmVxdWlyZSgnY3JlYXRlLWhhc2gnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHNlZWQsIGxlbikge1xuICB2YXIgdCA9IEJ1ZmZlci5hbGxvYygwKVxuICB2YXIgaSA9IDBcbiAgdmFyIGNcbiAgd2hpbGUgKHQubGVuZ3RoIDwgbGVuKSB7XG4gICAgYyA9IGkyb3BzKGkrKylcbiAgICB0ID0gQnVmZmVyLmNvbmNhdChbdCwgY3JlYXRlSGFzaCgnc2hhMScpLnVwZGF0ZShzZWVkKS51cGRhdGUoYykuZGlnZXN0KCldKVxuICB9XG4gIHJldHVybiB0LnNsaWNlKDAsIGxlbilcbn1cblxuZnVuY3Rpb24gaTJvcHMgKGMpIHtcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSg0KVxuICBvdXQud3JpdGVVSW50MzJCRShjLCAwKVxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgcGFyc2VLZXlzID0gcmVxdWlyZSgncGFyc2UtYXNuMScpXG52YXIgbWdmID0gcmVxdWlyZSgnLi9tZ2YnKVxudmFyIHhvciA9IHJlcXVpcmUoJy4veG9yJylcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcbnZhciBjcnQgPSByZXF1aXJlKCdicm93c2VyaWZ5LXJzYScpXG52YXIgY3JlYXRlSGFzaCA9IHJlcXVpcmUoJ2NyZWF0ZS1oYXNoJylcbnZhciB3aXRoUHVibGljID0gcmVxdWlyZSgnLi93aXRoUHVibGljJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHByaXZhdGVEZWNyeXB0IChwcml2YXRlS2V5LCBlbmMsIHJldmVyc2UpIHtcbiAgdmFyIHBhZGRpbmdcbiAgaWYgKHByaXZhdGVLZXkucGFkZGluZykge1xuICAgIHBhZGRpbmcgPSBwcml2YXRlS2V5LnBhZGRpbmdcbiAgfSBlbHNlIGlmIChyZXZlcnNlKSB7XG4gICAgcGFkZGluZyA9IDFcbiAgfSBlbHNlIHtcbiAgICBwYWRkaW5nID0gNFxuICB9XG5cbiAgdmFyIGtleSA9IHBhcnNlS2V5cyhwcml2YXRlS2V5KVxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxuICBpZiAoZW5jLmxlbmd0aCA+IGsgfHwgbmV3IEJOKGVuYykuY21wKGtleS5tb2R1bHVzKSA+PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZWNyeXB0aW9uIGVycm9yJylcbiAgfVxuICB2YXIgbXNnXG4gIGlmIChyZXZlcnNlKSB7XG4gICAgbXNnID0gd2l0aFB1YmxpYyhuZXcgQk4oZW5jKSwga2V5KVxuICB9IGVsc2Uge1xuICAgIG1zZyA9IGNydChlbmMsIGtleSlcbiAgfVxuICB2YXIgekJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyhrIC0gbXNnLmxlbmd0aClcbiAgbXNnID0gQnVmZmVyLmNvbmNhdChbekJ1ZmZlciwgbXNnXSwgaylcbiAgaWYgKHBhZGRpbmcgPT09IDQpIHtcbiAgICByZXR1cm4gb2FlcChrZXksIG1zZylcbiAgfSBlbHNlIGlmIChwYWRkaW5nID09PSAxKSB7XG4gICAgcmV0dXJuIHBrY3MxKGtleSwgbXNnLCByZXZlcnNlKVxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDMpIHtcbiAgICByZXR1cm4gbXNnXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIHBhZGRpbmcnKVxuICB9XG59XG5cbmZ1bmN0aW9uIG9hZXAgKGtleSwgbXNnKSB7XG4gIHZhciBrID0ga2V5Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpXG4gIHZhciBpSGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTEnKS51cGRhdGUoQnVmZmVyLmFsbG9jKDApKS5kaWdlc3QoKVxuICB2YXIgaExlbiA9IGlIYXNoLmxlbmd0aFxuICBpZiAobXNnWzBdICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZWNyeXB0aW9uIGVycm9yJylcbiAgfVxuICB2YXIgbWFza2VkU2VlZCA9IG1zZy5zbGljZSgxLCBoTGVuICsgMSlcbiAgdmFyIG1hc2tlZERiID0gbXNnLnNsaWNlKGhMZW4gKyAxKVxuICB2YXIgc2VlZCA9IHhvcihtYXNrZWRTZWVkLCBtZ2YobWFza2VkRGIsIGhMZW4pKVxuICB2YXIgZGIgPSB4b3IobWFza2VkRGIsIG1nZihzZWVkLCBrIC0gaExlbiAtIDEpKVxuICBpZiAoY29tcGFyZShpSGFzaCwgZGIuc2xpY2UoMCwgaExlbikpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZWNyeXB0aW9uIGVycm9yJylcbiAgfVxuICB2YXIgaSA9IGhMZW5cbiAgd2hpbGUgKGRiW2ldID09PSAwKSB7XG4gICAgaSsrXG4gIH1cbiAgaWYgKGRiW2krK10gIT09IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxuICB9XG4gIHJldHVybiBkYi5zbGljZShpKVxufVxuXG5mdW5jdGlvbiBwa2NzMSAoa2V5LCBtc2csIHJldmVyc2UpIHtcbiAgdmFyIHAxID0gbXNnLnNsaWNlKDAsIDIpXG4gIHZhciBpID0gMlxuICB2YXIgc3RhdHVzID0gMFxuICB3aGlsZSAobXNnW2krK10gIT09IDApIHtcbiAgICBpZiAoaSA+PSBtc2cubGVuZ3RoKSB7XG4gICAgICBzdGF0dXMrK1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbiAgdmFyIHBzID0gbXNnLnNsaWNlKDIsIGkgLSAxKVxuXG4gIGlmICgocDEudG9TdHJpbmcoJ2hleCcpICE9PSAnMDAwMicgJiYgIXJldmVyc2UpIHx8IChwMS50b1N0cmluZygnaGV4JykgIT09ICcwMDAxJyAmJiByZXZlcnNlKSkge1xuICAgIHN0YXR1cysrXG4gIH1cbiAgaWYgKHBzLmxlbmd0aCA8IDgpIHtcbiAgICBzdGF0dXMrK1xuICB9XG4gIGlmIChzdGF0dXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxuICB9XG4gIHJldHVybiBtc2cuc2xpY2UoaSlcbn1cbmZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgYSA9IEJ1ZmZlci5mcm9tKGEpXG4gIGIgPSBCdWZmZXIuZnJvbShiKVxuICB2YXIgZGlmID0gMFxuICB2YXIgbGVuID0gYS5sZW5ndGhcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgIGRpZisrXG4gICAgbGVuID0gTWF0aC5taW4oYS5sZW5ndGgsIGIubGVuZ3RoKVxuICB9XG4gIHZhciBpID0gLTFcbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIGRpZiArPSAoYVtpXSBeIGJbaV0pXG4gIH1cbiAgcmV0dXJuIGRpZlxufVxuIiwidmFyIHBhcnNlS2V5cyA9IHJlcXVpcmUoJ3BhcnNlLWFzbjEnKVxudmFyIHJhbmRvbUJ5dGVzID0gcmVxdWlyZSgncmFuZG9tYnl0ZXMnKVxudmFyIGNyZWF0ZUhhc2ggPSByZXF1aXJlKCdjcmVhdGUtaGFzaCcpXG52YXIgbWdmID0gcmVxdWlyZSgnLi9tZ2YnKVxudmFyIHhvciA9IHJlcXVpcmUoJy4veG9yJylcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcbnZhciB3aXRoUHVibGljID0gcmVxdWlyZSgnLi93aXRoUHVibGljJylcbnZhciBjcnQgPSByZXF1aXJlKCdicm93c2VyaWZ5LXJzYScpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBwdWJsaWNFbmNyeXB0IChwdWJsaWNLZXksIG1zZywgcmV2ZXJzZSkge1xuICB2YXIgcGFkZGluZ1xuICBpZiAocHVibGljS2V5LnBhZGRpbmcpIHtcbiAgICBwYWRkaW5nID0gcHVibGljS2V5LnBhZGRpbmdcbiAgfSBlbHNlIGlmIChyZXZlcnNlKSB7XG4gICAgcGFkZGluZyA9IDFcbiAgfSBlbHNlIHtcbiAgICBwYWRkaW5nID0gNFxuICB9XG4gIHZhciBrZXkgPSBwYXJzZUtleXMocHVibGljS2V5KVxuICB2YXIgcGFkZGVkTXNnXG4gIGlmIChwYWRkaW5nID09PSA0KSB7XG4gICAgcGFkZGVkTXNnID0gb2FlcChrZXksIG1zZylcbiAgfSBlbHNlIGlmIChwYWRkaW5nID09PSAxKSB7XG4gICAgcGFkZGVkTXNnID0gcGtjczEoa2V5LCBtc2csIHJldmVyc2UpXG4gIH0gZWxzZSBpZiAocGFkZGluZyA9PT0gMykge1xuICAgIHBhZGRlZE1zZyA9IG5ldyBCTihtc2cpXG4gICAgaWYgKHBhZGRlZE1zZy5jbXAoa2V5Lm1vZHVsdXMpID49IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YSB0b28gbG9uZyBmb3IgbW9kdWx1cycpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBwYWRkaW5nJylcbiAgfVxuICBpZiAocmV2ZXJzZSkge1xuICAgIHJldHVybiBjcnQocGFkZGVkTXNnLCBrZXkpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHdpdGhQdWJsaWMocGFkZGVkTXNnLCBrZXkpXG4gIH1cbn1cblxuZnVuY3Rpb24gb2FlcCAoa2V5LCBtc2cpIHtcbiAgdmFyIGsgPSBrZXkubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIG1MZW4gPSBtc2cubGVuZ3RoXG4gIHZhciBpSGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTEnKS51cGRhdGUoQnVmZmVyLmFsbG9jKDApKS5kaWdlc3QoKVxuICB2YXIgaExlbiA9IGlIYXNoLmxlbmd0aFxuICB2YXIgaExlbjIgPSAyICogaExlblxuICBpZiAobUxlbiA+IGsgLSBoTGVuMiAtIDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21lc3NhZ2UgdG9vIGxvbmcnKVxuICB9XG4gIHZhciBwcyA9IEJ1ZmZlci5hbGxvYyhrIC0gbUxlbiAtIGhMZW4yIC0gMilcbiAgdmFyIGRibGVuID0gayAtIGhMZW4gLSAxXG4gIHZhciBzZWVkID0gcmFuZG9tQnl0ZXMoaExlbilcbiAgdmFyIG1hc2tlZERiID0geG9yKEJ1ZmZlci5jb25jYXQoW2lIYXNoLCBwcywgQnVmZmVyLmFsbG9jKDEsIDEpLCBtc2ddLCBkYmxlbiksIG1nZihzZWVkLCBkYmxlbikpXG4gIHZhciBtYXNrZWRTZWVkID0geG9yKHNlZWQsIG1nZihtYXNrZWREYiwgaExlbikpXG4gIHJldHVybiBuZXcgQk4oQnVmZmVyLmNvbmNhdChbQnVmZmVyLmFsbG9jKDEpLCBtYXNrZWRTZWVkLCBtYXNrZWREYl0sIGspKVxufVxuZnVuY3Rpb24gcGtjczEgKGtleSwgbXNnLCByZXZlcnNlKSB7XG4gIHZhciBtTGVuID0gbXNnLmxlbmd0aFxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxuICBpZiAobUxlbiA+IGsgLSAxMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSB0b28gbG9uZycpXG4gIH1cbiAgdmFyIHBzXG4gIGlmIChyZXZlcnNlKSB7XG4gICAgcHMgPSBCdWZmZXIuYWxsb2MoayAtIG1MZW4gLSAzLCAweGZmKVxuICB9IGVsc2Uge1xuICAgIHBzID0gbm9uWmVybyhrIC0gbUxlbiAtIDMpXG4gIH1cbiAgcmV0dXJuIG5ldyBCTihCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShbMCwgcmV2ZXJzZSA/IDEgOiAyXSksIHBzLCBCdWZmZXIuYWxsb2MoMSksIG1zZ10sIGspKVxufVxuZnVuY3Rpb24gbm9uWmVybyAobGVuKSB7XG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuKVxuICB2YXIgaSA9IDBcbiAgdmFyIGNhY2hlID0gcmFuZG9tQnl0ZXMobGVuICogMilcbiAgdmFyIGN1ciA9IDBcbiAgdmFyIG51bVxuICB3aGlsZSAoaSA8IGxlbikge1xuICAgIGlmIChjdXIgPT09IGNhY2hlLmxlbmd0aCkge1xuICAgICAgY2FjaGUgPSByYW5kb21CeXRlcyhsZW4gKiAyKVxuICAgICAgY3VyID0gMFxuICAgIH1cbiAgICBudW0gPSBjYWNoZVtjdXIrK11cbiAgICBpZiAobnVtKSB7XG4gICAgICBvdXRbaSsrXSA9IG51bVxuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgQk4gPSByZXF1aXJlKCdibi5qcycpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxuZnVuY3Rpb24gd2l0aFB1YmxpYyAocGFkZGVkTXNnLCBrZXkpIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHBhZGRlZE1zZ1xuICAgIC50b1JlZChCTi5tb250KGtleS5tb2R1bHVzKSlcbiAgICAucmVkUG93KG5ldyBCTihrZXkucHVibGljRXhwb25lbnQpKVxuICAgIC5mcm9tUmVkKClcbiAgICAudG9BcnJheSgpKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdpdGhQdWJsaWNcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24geG9yIChhLCBiKSB7XG4gIHZhciBsZW4gPSBhLmxlbmd0aFxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICBhW2ldIF49IGJbaV1cbiAgfVxuICByZXR1cm4gYVxufVxuIiwiJ3VzZSBzdHJpY3QnXG5cbi8vIGxpbWl0IG9mIENyeXB0by5nZXRSYW5kb21WYWx1ZXMoKVxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NyeXB0by9nZXRSYW5kb21WYWx1ZXNcbnZhciBNQVhfQllURVMgPSA2NTUzNlxuXG4vLyBOb2RlIHN1cHBvcnRzIHJlcXVlc3RpbmcgdXAgdG8gdGhpcyBudW1iZXIgb2YgYnl0ZXNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9ibG9iL21hc3Rlci9saWIvaW50ZXJuYWwvY3J5cHRvL3JhbmRvbS5qcyNMNDhcbnZhciBNQVhfVUlOVDMyID0gNDI5NDk2NzI5NVxuXG5mdW5jdGlvbiBvbGRCcm93c2VyICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdTZWN1cmUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyLlxcblVzZSBDaHJvbWUsIEZpcmVmb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEnKVxufVxuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBjcnlwdG8gPSBnbG9iYWwuY3J5cHRvIHx8IGdsb2JhbC5tc0NyeXB0b1xuXG5pZiAoY3J5cHRvICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByYW5kb21CeXRlc1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBvbGRCcm93c2VyXG59XG5cbmZ1bmN0aW9uIHJhbmRvbUJ5dGVzIChzaXplLCBjYikge1xuICAvLyBwaGFudG9tanMgbmVlZHMgdG8gdGhyb3dcbiAgaWYgKHNpemUgPiBNQVhfVUlOVDMyKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcigncmVxdWVzdGVkIHRvbyBtYW55IHJhbmRvbSBieXRlcycpXG5cbiAgdmFyIGJ5dGVzID0gQnVmZmVyLmFsbG9jVW5zYWZlKHNpemUpXG5cbiAgaWYgKHNpemUgPiAwKSB7ICAvLyBnZXRSYW5kb21WYWx1ZXMgZmFpbHMgb24gSUUgaWYgc2l6ZSA9PSAwXG4gICAgaWYgKHNpemUgPiBNQVhfQllURVMpIHsgLy8gdGhpcyBpcyB0aGUgbWF4IGJ5dGVzIGNyeXB0by5nZXRSYW5kb21WYWx1ZXNcbiAgICAgIC8vIGNhbiBkbyBhdCBvbmNlIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXNcbiAgICAgIGZvciAodmFyIGdlbmVyYXRlZCA9IDA7IGdlbmVyYXRlZCA8IHNpemU7IGdlbmVyYXRlZCArPSBNQVhfQllURVMpIHtcbiAgICAgICAgLy8gYnVmZmVyLnNsaWNlIGF1dG9tYXRpY2FsbHkgY2hlY2tzIGlmIHRoZSBlbmQgaXMgcGFzdCB0aGUgZW5kIG9mXG4gICAgICAgIC8vIHRoZSBidWZmZXIgc28gd2UgZG9uJ3QgaGF2ZSB0byBoZXJlXG4gICAgICAgIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYnl0ZXMuc2xpY2UoZ2VuZXJhdGVkLCBnZW5lcmF0ZWQgKyBNQVhfQllURVMpKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGJ5dGVzKVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBjYihudWxsLCBieXRlcylcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGJ5dGVzXG59XG4iLCIndXNlIHN0cmljdCdcblxuZnVuY3Rpb24gb2xkQnJvd3NlciAoKSB7XG4gIHRocm93IG5ldyBFcnJvcignc2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlclxcbnVzZSBjaHJvbWUsIEZpcmVGb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEnKVxufVxudmFyIHNhZmVCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpXG52YXIgcmFuZG9tYnl0ZXMgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpXG52YXIgQnVmZmVyID0gc2FmZUJ1ZmZlci5CdWZmZXJcbnZhciBrQnVmZmVyTWF4TGVuZ3RoID0gc2FmZUJ1ZmZlci5rTWF4TGVuZ3RoXG52YXIgY3J5cHRvID0gZ2xvYmFsLmNyeXB0byB8fCBnbG9iYWwubXNDcnlwdG9cbnZhciBrTWF4VWludDMyID0gTWF0aC5wb3coMiwgMzIpIC0gMVxuZnVuY3Rpb24gYXNzZXJ0T2Zmc2V0IChvZmZzZXQsIGxlbmd0aCkge1xuICBpZiAodHlwZW9mIG9mZnNldCAhPT0gJ251bWJlcicgfHwgb2Zmc2V0ICE9PSBvZmZzZXQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvZmZzZXQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cblxuICBpZiAob2Zmc2V0ID4ga01heFVpbnQzMiB8fCBvZmZzZXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb2Zmc2V0IG11c3QgYmUgYSB1aW50MzInKVxuICB9XG5cbiAgaWYgKG9mZnNldCA+IGtCdWZmZXJNYXhMZW5ndGggfHwgb2Zmc2V0ID4gbGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ29mZnNldCBvdXQgb2YgcmFuZ2UnKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydFNpemUgKHNpemUsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicgfHwgc2l6ZSAhPT0gc2l6ZSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3NpemUgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cblxuICBpZiAoc2l6ZSA+IGtNYXhVaW50MzIgfHwgc2l6ZSA8IDApIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdzaXplIG11c3QgYmUgYSB1aW50MzInKVxuICB9XG5cbiAgaWYgKHNpemUgKyBvZmZzZXQgPiBsZW5ndGggfHwgc2l6ZSA+IGtCdWZmZXJNYXhMZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYnVmZmVyIHRvbyBzbWFsbCcpXG4gIH1cbn1cbmlmICgoY3J5cHRvICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHx8ICFwcm9jZXNzLmJyb3dzZXIpIHtcbiAgZXhwb3J0cy5yYW5kb21GaWxsID0gcmFuZG9tRmlsbFxuICBleHBvcnRzLnJhbmRvbUZpbGxTeW5jID0gcmFuZG9tRmlsbFN5bmNcbn0gZWxzZSB7XG4gIGV4cG9ydHMucmFuZG9tRmlsbCA9IG9sZEJyb3dzZXJcbiAgZXhwb3J0cy5yYW5kb21GaWxsU3luYyA9IG9sZEJyb3dzZXJcbn1cbmZ1bmN0aW9uIHJhbmRvbUZpbGwgKGJ1Ziwgb2Zmc2V0LCBzaXplLCBjYikge1xuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihidWYpICYmICEoYnVmIGluc3RhbmNlb2YgZ2xvYmFsLlVpbnQ4QXJyYXkpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJidWZcIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIG9yIFVpbnQ4QXJyYXknKVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IG9mZnNldFxuICAgIG9mZnNldCA9IDBcbiAgICBzaXplID0gYnVmLmxlbmd0aFxuICB9IGVsc2UgaWYgKHR5cGVvZiBzaXplID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBzaXplXG4gICAgc2l6ZSA9IGJ1Zi5sZW5ndGggLSBvZmZzZXRcbiAgfSBlbHNlIGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImNiXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJylcbiAgfVxuICBhc3NlcnRPZmZzZXQob2Zmc2V0LCBidWYubGVuZ3RoKVxuICBhc3NlcnRTaXplKHNpemUsIG9mZnNldCwgYnVmLmxlbmd0aClcbiAgcmV0dXJuIGFjdHVhbEZpbGwoYnVmLCBvZmZzZXQsIHNpemUsIGNiKVxufVxuXG5mdW5jdGlvbiBhY3R1YWxGaWxsIChidWYsIG9mZnNldCwgc2l6ZSwgY2IpIHtcbiAgaWYgKHByb2Nlc3MuYnJvd3Nlcikge1xuICAgIHZhciBvdXJCdWYgPSBidWYuYnVmZmVyXG4gICAgdmFyIHVpbnQgPSBuZXcgVWludDhBcnJheShvdXJCdWYsIG9mZnNldCwgc2l6ZSlcbiAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHVpbnQpXG4gICAgaWYgKGNiKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2IobnVsbCwgYnVmKVxuICAgICAgfSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICByZXR1cm4gYnVmXG4gIH1cbiAgaWYgKGNiKSB7XG4gICAgcmFuZG9tYnl0ZXMoc2l6ZSwgZnVuY3Rpb24gKGVyciwgYnl0ZXMpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIGNiKGVycilcbiAgICAgIH1cbiAgICAgIGJ5dGVzLmNvcHkoYnVmLCBvZmZzZXQpXG4gICAgICBjYihudWxsLCBidWYpXG4gICAgfSlcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgYnl0ZXMgPSByYW5kb21ieXRlcyhzaXplKVxuICBieXRlcy5jb3B5KGJ1Ziwgb2Zmc2V0KVxuICByZXR1cm4gYnVmXG59XG5mdW5jdGlvbiByYW5kb21GaWxsU3luYyAoYnVmLCBvZmZzZXQsIHNpemUpIHtcbiAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgb2Zmc2V0ID0gMFxuICB9XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikgJiYgIShidWYgaW5zdGFuY2VvZiBnbG9iYWwuVWludDhBcnJheSkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImJ1ZlwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpXG4gIH1cblxuICBhc3NlcnRPZmZzZXQob2Zmc2V0LCBidWYubGVuZ3RoKVxuXG4gIGlmIChzaXplID09PSB1bmRlZmluZWQpIHNpemUgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XG5cbiAgYXNzZXJ0U2l6ZShzaXplLCBvZmZzZXQsIGJ1Zi5sZW5ndGgpXG5cbiAgcmV0dXJuIGFjdHVhbEZpbGwoYnVmLCBvZmZzZXQsIHNpemUpXG59XG4iLCIvKiogQGxpY2Vuc2UgUmVhY3QgdjE2LjE0LjBcbiAqIHJlYWN0LmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xudmFyIGNoZWNrUHJvcFR5cGVzID0gcmVxdWlyZSgncHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcycpO1xuXG52YXIgUmVhY3RWZXJzaW9uID0gJzE2LjE0LjAnO1xuXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy4gSWYgdGhlcmUgaXMgbm8gbmF0aXZlIFN5bWJvbFxuLy8gbm9yIHBvbHlmaWxsLCB0aGVuIGEgcGxhaW4gbnVtYmVyIGlzIHVzZWQgZm9yIHBlcmZvcm1hbmNlLlxudmFyIGhhc1N5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcjtcbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgOiAweGVhYzc7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKSA6IDB4ZWFjYTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKSA6IDB4ZWFjYjtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKSA6IDB4ZWFjYztcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKSA6IDB4ZWFkMjtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKSA6IDB4ZWFjZDtcbnZhciBSRUFDVF9DT05URVhUX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5jb250ZXh0JykgOiAweGVhY2U7IC8vIFRPRE86IFdlIGRvbid0IHVzZSBBc3luY01vZGUgb3IgQ29uY3VycmVudE1vZGUgYW55bW9yZS4gVGhleSB3ZXJlIHRlbXBvcmFyeVxudmFyIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29uY3VycmVudF9tb2RlJykgOiAweGVhY2Y7XG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJykgOiAweGVhZDA7XG52YXIgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlJykgOiAweGVhZDE7XG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpIDogMHhlYWQ4O1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKSA6IDB4ZWFkMztcbnZhciBSRUFDVF9MQVpZX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5JykgOiAweGVhZDQ7XG52YXIgUkVBQ1RfQkxPQ0tfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmJsb2NrJykgOiAweGVhZDk7XG52YXIgUkVBQ1RfRlVOREFNRU5UQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZ1bmRhbWVudGFsJykgOiAweGVhZDU7XG52YXIgUkVBQ1RfUkVTUE9OREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5yZXNwb25kZXInKSA6IDB4ZWFkNjtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKSA6IDB4ZWFkNztcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgYmF0Y2gncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaG93IGxvbmcgYW4gdXBkYXRlXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgc3VzcGVuc2U6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgb3duZXIuXG4gKlxuICogVGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIGNvbXBvbmVudCB3aG8gc2hvdWxkIG93biBhbnkgY29tcG9uZW50cyB0aGF0IGFyZVxuICogY3VycmVudGx5IGJlaW5nIGNvbnN0cnVjdGVkLlxuICovXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxuICAgKi9cbiAgY3VycmVudDogbnVsbFxufTtcblxudmFyIEJFRk9SRV9TTEFTSF9SRSA9IC9eKC4qKVtcXFxcXFwvXS87XG5mdW5jdGlvbiBkZXNjcmliZUNvbXBvbmVudEZyYW1lIChuYW1lLCBzb3VyY2UsIG93bmVyTmFtZSkge1xuICB2YXIgc291cmNlSW5mbyA9ICcnO1xuXG4gIGlmIChzb3VyY2UpIHtcbiAgICB2YXIgcGF0aCA9IHNvdXJjZS5maWxlTmFtZTtcbiAgICB2YXIgZmlsZU5hbWUgPSBwYXRoLnJlcGxhY2UoQkVGT1JFX1NMQVNIX1JFLCAnJyk7XG5cbiAgICB7XG4gICAgICAvLyBJbiBERVYsIGluY2x1ZGUgY29kZSBmb3IgYSBjb21tb24gc3BlY2lhbCBjYXNlOlxuICAgICAgLy8gcHJlZmVyIFwiZm9sZGVyL2luZGV4LmpzXCIgaW5zdGVhZCBvZiBqdXN0IFwiaW5kZXguanNcIi5cbiAgICAgIGlmICgvXmluZGV4XFwuLy50ZXN0KGZpbGVOYW1lKSkge1xuICAgICAgICB2YXIgbWF0Y2ggPSBwYXRoLm1hdGNoKEJFRk9SRV9TTEFTSF9SRSk7XG5cbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgdmFyIHBhdGhCZWZvcmVTbGFzaCA9IG1hdGNoWzFdO1xuXG4gICAgICAgICAgaWYgKHBhdGhCZWZvcmVTbGFzaCkge1xuICAgICAgICAgICAgdmFyIGZvbGRlck5hbWUgPSBwYXRoQmVmb3JlU2xhc2gucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcbiAgICAgICAgICAgIGZpbGVOYW1lID0gZm9sZGVyTmFtZSArICcvJyArIGZpbGVOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNvdXJjZUluZm8gPSAnIChhdCAnICsgZmlsZU5hbWUgKyAnOicgKyBzb3VyY2UubGluZU51bWJlciArICcpJztcbiAgfSBlbHNlIGlmIChvd25lck5hbWUpIHtcbiAgICBzb3VyY2VJbmZvID0gJyAoY3JlYXRlZCBieSAnICsgb3duZXJOYW1lICsgJyknO1xuICB9XG5cbiAgcmV0dXJuICdcXG4gICAgaW4gJyArIChuYW1lIHx8ICdVbmtub3duJykgKyBzb3VyY2VJbmZvO1xufVxuXG52YXIgUmVzb2x2ZWQgPSAxO1xuZnVuY3Rpb24gcmVmaW5lUmVzb2x2ZWRMYXp5Q29tcG9uZW50KGxhenlDb21wb25lbnQpIHtcbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQgPyBsYXp5Q29tcG9uZW50Ll9yZXN1bHQgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIG91dGVyVHlwZS5kaXNwbGF5TmFtZSB8fCAoZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXCIoXCIgKyBmdW5jdGlvbk5hbWUgKyBcIilcIiA6IHdyYXBwZXJOYW1lKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB7XG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICAvLyBIb3N0IHJvb3QsIHRleHQgbm9kZSBvciBqdXN0IGludmFsaWQgdHlwZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWUoKS4gJyArICdUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICByZXR1cm4gXCJQcm9maWxlclwiO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgcmV0dXJuICdDb250ZXh0LkNvbnN1bWVyJztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICByZXR1cm4gJ0NvbnRleHQuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHR5cGUudHlwZSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfQkxPQ0tfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciB0aGVuYWJsZSA9IHR5cGU7XG4gICAgICAgICAgdmFyIHJlc29sdmVkVGhlbmFibGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQodGhlbmFibGUpO1xuXG4gICAgICAgICAgaWYgKHJlc29sdmVkVGhlbmFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHJlc29sdmVkVGhlbmFibGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0ge307XG52YXIgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBudWxsO1xuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBlbGVtZW50O1xuICB9XG59XG5cbntcbiAgLy8gU3RhY2sgaW1wbGVtZW50YXRpb24gaW5qZWN0ZWQgYnkgdGhlIGN1cnJlbnQgcmVuZGVyZXIuXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcblxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHN0YWNrID0gJyc7IC8vIEFkZCBhbiBleHRyYSB0b3AgZnJhbWUgd2hpbGUgYW4gZWxlbWVudCBpcyBiZWluZyB2YWxpZGF0ZWRcblxuICAgIGlmIChjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50LnR5cGUpO1xuICAgICAgdmFyIG93bmVyID0gY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQuX293bmVyO1xuICAgICAgc3RhY2sgKz0gZGVzY3JpYmVDb21wb25lbnRGcmFtZShuYW1lLCBjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudC5fc291cmNlLCBvd25lciAmJiBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpKTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xuXG4gICAgaWYgKGltcGwpIHtcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH07XG59XG5cbi8qKlxuICogVXNlZCBieSBhY3QoKSB0byB0cmFjayB3aGV0aGVyIHlvdSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGUuXG4gKi9cbnZhciBJc1NvbWVSZW5kZXJlckFjdGluZyA9IHtcbiAgY3VycmVudDogZmFsc2Vcbn07XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IHtcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLFxuICBSZWFjdEN1cnJlbnRPd25lcjogUmVhY3RDdXJyZW50T3duZXIsXG4gIElzU29tZVJlbmRlcmVyQWN0aW5nOiBJc1NvbWVSZW5kZXJlckFjdGluZyxcbiAgLy8gVXNlZCBieSByZW5kZXJlcnMgdG8gYXZvaWQgYnVuZGxpbmcgb2JqZWN0LWFzc2lnbiB0d2ljZSBpbiBVTUQgYnVuZGxlczpcbiAgYXNzaWduOiBfYXNzaWduXG59O1xuXG57XG4gIF9hc3NpZ24oUmVhY3RTaGFyZWRJbnRlcm5hbHMsIHtcbiAgICAvLyBUaGVzZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHByb2R1Y3Rpb24uXG4gICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTogUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSxcbiAgICAvLyBTaGltIGZvciBSZWFjdCBET00gMTYuMC4wIHdoaWNoIHN0aWxsIGRlc3RydWN0dXJlZCAoYnV0IG5vdCB1c2VkKSB0aGlzLlxuICAgIC8vIFRPRE86IHJlbW92ZSBpbiBSZWFjdCAxNy4wLlxuICAgIFJlYWN0Q29tcG9uZW50VHJlZUhvb2s6IHt9XG4gIH0pO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XG4gIC8vIFdoZW4gY2hhbmdpbmcgdGhpcyBsb2dpYywgeW91IG1pZ2h0IHdhbnQgdG8gYWxzb1xuICAvLyB1cGRhdGUgY29uc29sZVdpdGhTdGFja0Rldi53d3cuanMgYXMgd2VsbC5cbiAge1xuICAgIHZhciBoYXNFeGlzdGluZ1N0YWNrID0gYXJncy5sZW5ndGggPiAwICYmIHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gPT09ICdzdHJpbmcnICYmIGFyZ3NbYXJncy5sZW5ndGggLSAxXS5pbmRleE9mKCdcXG4gICAgaW4nKSA9PT0gMDtcblxuICAgIGlmICghaGFzRXhpc3RpbmdTdGFjaykge1xuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcbiAgICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuICcnICsgaXRlbTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIC0tLSBXZWxjb21lIHRvIGRlYnVnZ2luZyBSZWFjdCAtLS1cbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXG4gICAgICB2YXIgYXJnSW5kZXggPSAwO1xuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoeCkge31cbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5T2JqZWN0KTtcbn1cbi8qKlxuICogQmFzZSBjbGFzcyBoZWxwZXJzIGZvciB0aGUgdXBkYXRpbmcgc3RhdGUgb2YgYSBjb21wb25lbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBDb21wb25lbnQocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0OyAvLyBJZiBhIGNvbXBvbmVudCBoYXMgc3RyaW5nIHJlZnMsIHdlIHdpbGwgYXNzaWduIGEgZGlmZmVyZW50IG9iamVjdCBsYXRlci5cblxuICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDsgLy8gV2UgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCB1cGRhdGVyIGJ1dCB0aGUgcmVhbCBvbmUgZ2V0cyBpbmplY3RlZCBieSB0aGVcbiAgLy8gcmVuZGVyZXIuXG5cbiAgdGhpcy51cGRhdGVyID0gdXBkYXRlciB8fCBSZWFjdE5vb3BVcGRhdGVRdWV1ZTtcbn1cblxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XG4vKipcbiAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBBbHdheXMgdXNlIHRoaXMgdG8gbXV0YXRlXG4gKiBzdGF0ZS4gWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICpcbiAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGB0aGlzLnN0YXRlYCB3aWxsIGJlIGltbWVkaWF0ZWx5IHVwZGF0ZWQsIHNvXG4gKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICpcbiAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGNhbGxzIHRvIGBzZXRTdGF0ZWAgd2lsbCBydW4gc3luY2hyb25vdXNseSxcbiAqIGFzIHRoZXkgbWF5IGV2ZW50dWFsbHkgYmUgYmF0Y2hlZCB0b2dldGhlci4gIFlvdSBjYW4gcHJvdmlkZSBhbiBvcHRpb25hbFxuICogY2FsbGJhY2sgdGhhdCB3aWxsIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIGNhbGwgdG8gc2V0U3RhdGUgaXMgYWN0dWFsbHlcbiAqIGNvbXBsZXRlZC5cbiAqXG4gKiBXaGVuIGEgZnVuY3Rpb24gaXMgcHJvdmlkZWQgdG8gc2V0U3RhdGUsIGl0IHdpbGwgYmUgY2FsbGVkIGF0IHNvbWUgcG9pbnQgaW5cbiAqIHRoZSBmdXR1cmUgKG5vdCBzeW5jaHJvbm91c2x5KS4gSXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgdXAgdG8gZGF0ZVxuICogY29tcG9uZW50IGFyZ3VtZW50cyAoc3RhdGUsIHByb3BzLCBjb250ZXh0KS4gVGhlc2UgdmFsdWVzIGNhbiBiZSBkaWZmZXJlbnRcbiAqIGZyb20gdGhpcy4qIGJlY2F1c2UgeW91ciBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGFmdGVyIHJlY2VpdmVQcm9wcyBidXQgYmVmb3JlXG4gKiBzaG91bGRDb21wb25lbnRVcGRhdGUsIGFuZCB0aGlzIG5ldyBzdGF0ZSwgcHJvcHMsIGFuZCBjb250ZXh0IHdpbGwgbm90IHlldCBiZVxuICogYXNzaWduZWQgdG8gdGhpcy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdHxmdW5jdGlvbn0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSBvciBmdW5jdGlvbiB0b1xuICogICAgICAgIHByb2R1Y2UgbmV4dCBwYXJ0aWFsIHN0YXRlIHRvIGJlIG1lcmdlZCB3aXRoIGN1cnJlbnQgc3RhdGUuXG4gKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIHN0YXRlIGlzIHVwZGF0ZWQuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5Db21wb25lbnQucHJvdG90eXBlLnNldFN0YXRlID0gZnVuY3Rpb24gKHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2spIHtcbiAgaWYgKCEodHlwZW9mIHBhcnRpYWxTdGF0ZSA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIHBhcnRpYWxTdGF0ZSA9PT0gJ2Z1bmN0aW9uJyB8fCBwYXJ0aWFsU3RhdGUgPT0gbnVsbCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHRoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcywgcGFydGlhbFN0YXRlLCBjYWxsYmFjaywgJ3NldFN0YXRlJyk7XG59O1xuLyoqXG4gKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gKiBjZXJ0YWludHkgdGhhdCB3ZSBhcmUgKipub3QqKiBpbiBhIERPTSB0cmFuc2FjdGlvbi5cbiAqXG4gKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gKiBjb21wb25lbnQncyBzdGF0ZSBoYXMgY2hhbmdlZCBidXQgYHNldFN0YXRlYCB3YXMgbm90IGNhbGxlZC5cbiAqXG4gKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gKiBgY29tcG9uZW50V2lsbFVwZGF0ZWAgYW5kIGBjb21wb25lbnREaWRVcGRhdGVgLlxuICpcbiAqIEBwYXJhbSB7P2Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsZWQgYWZ0ZXIgdXBkYXRlIGlzIGNvbXBsZXRlLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuXG5Db21wb25lbnQucHJvdG90eXBlLmZvcmNlVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIHRoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcywgY2FsbGJhY2ssICdmb3JjZVVwZGF0ZScpO1xufTtcbi8qKlxuICogRGVwcmVjYXRlZCBBUElzLiBUaGVzZSBBUElzIHVzZWQgdG8gZXhpc3Qgb24gY2xhc3NpYyBSZWFjdCBjbGFzc2VzIGJ1dCBzaW5jZVxuICogd2Ugd291bGQgbGlrZSB0byBkZXByZWNhdGUgdGhlbSwgd2UncmUgbm90IGdvaW5nIHRvIG1vdmUgdGhlbSBvdmVyIHRvIHRoaXNcbiAqIG1vZGVybiBiYXNlIGNsYXNzLiBJbnN0ZWFkLCB3ZSBkZWZpbmUgYSBnZXR0ZXIgdGhhdCB3YXJucyBpZiBpdCdzIGFjY2Vzc2VkLlxuICovXG5cblxue1xuICB2YXIgZGVwcmVjYXRlZEFQSXMgPSB7XG4gICAgaXNNb3VudGVkOiBbJ2lzTW91bnRlZCcsICdJbnN0ZWFkLCBtYWtlIHN1cmUgdG8gY2xlYW4gdXAgc3Vic2NyaXB0aW9ucyBhbmQgcGVuZGluZyByZXF1ZXN0cyBpbiAnICsgJ2NvbXBvbmVudFdpbGxVbm1vdW50IHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzLiddLFxuICAgIHJlcGxhY2VTdGF0ZTogWydyZXBsYWNlU3RhdGUnLCAnUmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBzZXRTdGF0ZSBpbnN0ZWFkIChzZWUgJyArICdodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzMyMzYpLiddXG4gIH07XG5cbiAgdmFyIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyA9IGZ1bmN0aW9uIChtZXRob2ROYW1lLCBpbmZvKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbXBvbmVudC5wcm90b3R5cGUsIG1ldGhvZE5hbWUsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICB3YXJuKCclcyguLi4pIGlzIGRlcHJlY2F0ZWQgaW4gcGxhaW4gSmF2YVNjcmlwdCBSZWFjdCBjbGFzc2VzLiAlcycsIGluZm9bMF0sIGluZm9bMV0pO1xuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9yICh2YXIgZm5OYW1lIGluIGRlcHJlY2F0ZWRBUElzKSB7XG4gICAgaWYgKGRlcHJlY2F0ZWRBUElzLmhhc093blByb3BlcnR5KGZuTmFtZSkpIHtcbiAgICAgIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyhmbk5hbWUsIGRlcHJlY2F0ZWRBUElzW2ZuTmFtZV0pO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBDb21wb25lbnREdW1teSgpIHt9XG5cbkNvbXBvbmVudER1bW15LnByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4vKipcbiAqIENvbnZlbmllbmNlIGNvbXBvbmVudCB3aXRoIGRlZmF1bHQgc2hhbGxvdyBlcXVhbGl0eSBjaGVjayBmb3Igc0NVLlxuICovXG5cbmZ1bmN0aW9uIFB1cmVDb21wb25lbnQocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0OyAvLyBJZiBhIGNvbXBvbmVudCBoYXMgc3RyaW5nIHJlZnMsIHdlIHdpbGwgYXNzaWduIGEgZGlmZmVyZW50IG9iamVjdCBsYXRlci5cblxuICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDtcbiAgdGhpcy51cGRhdGVyID0gdXBkYXRlciB8fCBSZWFjdE5vb3BVcGRhdGVRdWV1ZTtcbn1cblxudmFyIHB1cmVDb21wb25lbnRQcm90b3R5cGUgPSBQdXJlQ29tcG9uZW50LnByb3RvdHlwZSA9IG5ldyBDb21wb25lbnREdW1teSgpO1xucHVyZUNvbXBvbmVudFByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFB1cmVDb21wb25lbnQ7IC8vIEF2b2lkIGFuIGV4dHJhIHByb3RvdHlwZSBqdW1wIGZvciB0aGVzZSBtZXRob2RzLlxuXG5fYXNzaWduKHB1cmVDb21wb25lbnRQcm90b3R5cGUsIENvbXBvbmVudC5wcm90b3R5cGUpO1xuXG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50ID0gdHJ1ZTtcblxuLy8gYW4gaW1tdXRhYmxlIG9iamVjdCB3aXRoIGEgc2luZ2xlIG11dGFibGUgdmFsdWVcbmZ1bmN0aW9uIGNyZWF0ZVJlZigpIHtcbiAgdmFyIHJlZk9iamVjdCA9IHtcbiAgICBjdXJyZW50OiBudWxsXG4gIH07XG5cbiAge1xuICAgIE9iamVjdC5zZWFsKHJlZk9iamVjdCk7XG4gIH1cblxuICByZXR1cm4gcmVmT2JqZWN0O1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biwgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24sIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGByZWZgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgY29uZmlnLl9fc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gY29uZmlnLl9fc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1zdHJpY3QtbW9kZS1zdHJpbmctcmVmJywgZ2V0Q29tcG9uZW50TmFtZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxudmFyIFJlYWN0RWxlbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIGVsZW1lbnQgPSB7XG4gICAgLy8gVGhpcyB0YWcgYWxsb3dzIHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBFbGVtZW50XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAvLyBCdWlsdC1pbiBwcm9wZXJ0aWVzIHRoYXQgYmVsb25nIG9uIHRoZSBlbGVtZW50XG4gICAgdHlwZTogdHlwZSxcbiAgICBrZXk6IGtleSxcbiAgICByZWY6IHJlZixcbiAgICBwcm9wczogcHJvcHMsXG4gICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICBfb3duZXI6IG93bmVyXG4gIH07XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBzZWxmIGFuZCBzb3VyY2UgYXJlIERFViBvbmx5IHByb3BlcnRpZXMuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zZWxmJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNlbGZcbiAgICB9KTsgLy8gVHdvIGVsZW1lbnRzIGNyZWF0ZWQgaW4gdHdvIGRpZmZlcmVudCBwbGFjZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWRcbiAgICAvLyBlcXVhbCBmb3IgdGVzdGluZyBwdXJwb3NlcyBhbmQgdGhlcmVmb3JlIHdlIGhpZGUgaXQgZnJvbSBlbnVtZXJhdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NvdXJjZScsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzb3VyY2VcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn07XG4vKipcbiAqIENyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IFJlYWN0RWxlbWVudCBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjY3JlYXRlZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgY29uZmlnLCBjaGlsZHJlbikge1xuICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICB2YXIgcHJvcHMgPSB7fTtcbiAgdmFyIGtleSA9IG51bGw7XG4gIHZhciByZWYgPSBudWxsO1xuICB2YXIgc2VsZiA9IG51bGw7XG4gIHZhciBzb3VyY2UgPSBudWxsO1xuXG4gIGlmIChjb25maWcgIT0gbnVsbCkge1xuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuXG4gICAgICB7XG4gICAgICAgIHdhcm5JZlN0cmluZ1JlZkNhbm5vdEJlQXV0b0NvbnZlcnRlZChjb25maWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfVxuXG4gICAgc2VsZiA9IGNvbmZpZy5fX3NlbGYgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zZWxmO1xuICAgIHNvdXJjZSA9IGNvbmZpZy5fX3NvdXJjZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbmZpZy5fX3NvdXJjZTsgLy8gUmVtYWluaW5nIHByb3BlcnRpZXMgYXJlIGFkZGVkIHRvIGEgbmV3IHByb3BzIG9iamVjdFxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmICFSRVNFUlZFRF9QUk9QUy5oYXNPd25Qcm9wZXJ0eShwcm9wTmFtZSkpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGRBcnJheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZEFycmF5O1xuICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICB2YXIgZGVmYXVsdFByb3BzID0gdHlwZS5kZWZhdWx0UHJvcHM7XG5cbiAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGRlZmF1bHRQcm9wc1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAge1xuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xufVxuZnVuY3Rpb24gY2xvbmVBbmRSZXBsYWNlS2V5KG9sZEVsZW1lbnQsIG5ld0tleSkge1xuICB2YXIgbmV3RWxlbWVudCA9IFJlYWN0RWxlbWVudChvbGRFbGVtZW50LnR5cGUsIG5ld0tleSwgb2xkRWxlbWVudC5yZWYsIG9sZEVsZW1lbnQuX3NlbGYsIG9sZEVsZW1lbnQuX3NvdXJjZSwgb2xkRWxlbWVudC5fb3duZXIsIG9sZEVsZW1lbnQucHJvcHMpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cbi8qKlxuICogQ2xvbmUgYW5kIHJldHVybiBhIG5ldyBSZWFjdEVsZW1lbnQgdXNpbmcgZWxlbWVudCBhcyB0aGUgc3RhcnRpbmcgcG9pbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2Nsb25lZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGNsb25lRWxlbWVudChlbGVtZW50LCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIGlmICghIShlbGVtZW50ID09PSBudWxsIHx8IGVsZW1lbnQgPT09IHVuZGVmaW5lZCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIiArIGVsZW1lbnQgKyBcIi5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHZhciBwcm9wTmFtZTsgLy8gT3JpZ2luYWwgcHJvcHMgYXJlIGNvcGllZFxuXG4gIHZhciBwcm9wcyA9IF9hc3NpZ24oe30sIGVsZW1lbnQucHJvcHMpOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cblxuICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gIHZhciByZWYgPSBlbGVtZW50LnJlZjsgLy8gU2VsZiBpcyBwcmVzZXJ2ZWQgc2luY2UgdGhlIG93bmVyIGlzIHByZXNlcnZlZC5cblxuICB2YXIgc2VsZiA9IGVsZW1lbnQuX3NlbGY7IC8vIFNvdXJjZSBpcyBwcmVzZXJ2ZWQgc2luY2UgY2xvbmVFbGVtZW50IGlzIHVubGlrZWx5IHRvIGJlIHRhcmdldGVkIGJ5IGFcbiAgLy8gdHJhbnNwaWxlciwgYW5kIHRoZSBvcmlnaW5hbCBzb3VyY2UgaXMgcHJvYmFibHkgYSBiZXR0ZXIgaW5kaWNhdG9yIG9mIHRoZVxuICAvLyB0cnVlIG93bmVyLlxuXG4gIHZhciBzb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7IC8vIE93bmVyIHdpbGwgYmUgcHJlc2VydmVkLCB1bmxlc3MgcmVmIGlzIG92ZXJyaWRkZW5cblxuICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcblxuICBpZiAoY29uZmlnICE9IG51bGwpIHtcbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAgLy8gU2lsZW50bHkgc3RlYWwgdGhlIHJlZiBmcm9tIHRoZSBwYXJlbnQuXG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xuXG5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQudHlwZSAmJiBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xuICAgIH1cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjb25maWdbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQoZWxlbWVudC50eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG4vKipcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0byBiZSBlc2NhcGVkLlxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXG4gKi9cblxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xuICB2YXIgZXNjYXBlUmVnZXggPSAvWz06XS9nO1xuICB2YXIgZXNjYXBlckxvb2t1cCA9IHtcbiAgICAnPSc6ICc9MCcsXG4gICAgJzonOiAnPTInXG4gIH07XG4gIHZhciBlc2NhcGVkU3RyaW5nID0gKCcnICsga2V5KS5yZXBsYWNlKGVzY2FwZVJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gZXNjYXBlckxvb2t1cFttYXRjaF07XG4gIH0pO1xuICByZXR1cm4gJyQnICsgZXNjYXBlZFN0cmluZztcbn1cbi8qKlxuICogVE9ETzogVGVzdCB0aGF0IGEgc2luZ2xlIGNoaWxkIGFuZCBhbiBhcnJheSB3aXRoIG9uZSBpdGVtIGhhdmUgdGhlIHNhbWUga2V5XG4gKiBwYXR0ZXJuLlxuICovXG5cblxudmFyIGRpZFdhcm5BYm91dE1hcHMgPSBmYWxzZTtcbnZhciB1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCA9IC9cXC8rL2c7XG5cbmZ1bmN0aW9uIGVzY2FwZVVzZXJQcm92aWRlZEtleSh0ZXh0KSB7XG4gIHJldHVybiAoJycgKyB0ZXh0KS5yZXBsYWNlKHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4LCAnJCYvJyk7XG59XG5cbnZhciBQT09MX1NJWkUgPSAxMDtcbnZhciB0cmF2ZXJzZUNvbnRleHRQb29sID0gW107XG5cbmZ1bmN0aW9uIGdldFBvb2xlZFRyYXZlcnNlQ29udGV4dChtYXBSZXN1bHQsIGtleVByZWZpeCwgbWFwRnVuY3Rpb24sIG1hcENvbnRleHQpIHtcbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoKSB7XG4gICAgdmFyIHRyYXZlcnNlQ29udGV4dCA9IHRyYXZlcnNlQ29udGV4dFBvb2wucG9wKCk7XG4gICAgdHJhdmVyc2VDb250ZXh0LnJlc3VsdCA9IG1hcFJlc3VsdDtcbiAgICB0cmF2ZXJzZUNvbnRleHQua2V5UHJlZml4ID0ga2V5UHJlZml4O1xuICAgIHRyYXZlcnNlQ29udGV4dC5mdW5jID0gbWFwRnVuY3Rpb247XG4gICAgdHJhdmVyc2VDb250ZXh0LmNvbnRleHQgPSBtYXBDb250ZXh0O1xuICAgIHRyYXZlcnNlQ29udGV4dC5jb3VudCA9IDA7XG4gICAgcmV0dXJuIHRyYXZlcnNlQ29udGV4dDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzdWx0OiBtYXBSZXN1bHQsXG4gICAgICBrZXlQcmVmaXg6IGtleVByZWZpeCxcbiAgICAgIGZ1bmM6IG1hcEZ1bmN0aW9uLFxuICAgICAgY29udGV4dDogbWFwQ29udGV4dCxcbiAgICAgIGNvdW50OiAwXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWxlYXNlVHJhdmVyc2VDb250ZXh0KHRyYXZlcnNlQ29udGV4dCkge1xuICB0cmF2ZXJzZUNvbnRleHQucmVzdWx0ID0gbnVsbDtcbiAgdHJhdmVyc2VDb250ZXh0LmtleVByZWZpeCA9IG51bGw7XG4gIHRyYXZlcnNlQ29udGV4dC5mdW5jID0gbnVsbDtcbiAgdHJhdmVyc2VDb250ZXh0LmNvbnRleHQgPSBudWxsO1xuICB0cmF2ZXJzZUNvbnRleHQuY291bnQgPSAwO1xuXG4gIGlmICh0cmF2ZXJzZUNvbnRleHRQb29sLmxlbmd0aCA8IFBPT0xfU0laRSkge1xuICAgIHRyYXZlcnNlQ29udGV4dFBvb2wucHVzaCh0cmF2ZXJzZUNvbnRleHQpO1xuICB9XG59XG4vKipcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHBhcmFtIHshc3RyaW5nfSBuYW1lU29GYXIgTmFtZSBvZiB0aGUga2V5IHBhdGggc28gZmFyLlxuICogQHBhcmFtIHshZnVuY3Rpb259IGNhbGxiYWNrIENhbGxiYWNrIHRvIGludm9rZSB3aXRoIGVhY2ggY2hpbGQgZm91bmQuXG4gKiBAcGFyYW0gez8qfSB0cmF2ZXJzZUNvbnRleHQgVXNlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRocm91Z2hvdXQgdGhlIHRyYXZlcnNhbFxuICogcHJvY2Vzcy5cbiAqIEByZXR1cm4geyFudW1iZXJ9IFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gdGhpcyBzdWJ0cmVlLlxuICovXG5cblxuZnVuY3Rpb24gdHJhdmVyc2VBbGxDaGlsZHJlbkltcGwoY2hpbGRyZW4sIG5hbWVTb0ZhciwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiBjaGlsZHJlbjtcblxuICBpZiAodHlwZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgLy8gQWxsIG9mIHRoZSBhYm92ZSBhcmUgcGVyY2VpdmVkIGFzIG51bGwuXG4gICAgY2hpbGRyZW4gPSBudWxsO1xuICB9XG5cbiAgdmFyIGludm9rZUNhbGxiYWNrID0gZmFsc2U7XG5cbiAgaWYgKGNoaWxkcmVuID09PSBudWxsKSB7XG4gICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIGludm9rZUNhbGxiYWNrID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIHN3aXRjaCAoY2hpbGRyZW4uJCR0eXBlb2YpIHtcbiAgICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBpZiAoaW52b2tlQ2FsbGJhY2spIHtcbiAgICBjYWxsYmFjayh0cmF2ZXJzZUNvbnRleHQsIGNoaWxkcmVuLCAvLyBJZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCB0cmVhdCB0aGUgbmFtZSBhcyBpZiBpdCB3YXMgd3JhcHBlZCBpbiBhbiBhcnJheVxuICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3MuXG4gICAgbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiArIGdldENvbXBvbmVudEtleShjaGlsZHJlbiwgMCkgOiBuYW1lU29GYXIpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgdmFyIGNoaWxkO1xuICB2YXIgbmV4dE5hbWU7XG4gIHZhciBzdWJ0cmVlQ291bnQgPSAwOyAvLyBDb3VudCBvZiBjaGlsZHJlbiBmb3VuZCBpbiB0aGUgY3VycmVudCBzdWJ0cmVlLlxuXG4gIHZhciBuZXh0TmFtZVByZWZpeCA9IG5hbWVTb0ZhciA9PT0gJycgPyBTRVBBUkFUT1IgOiBuYW1lU29GYXIgKyBTVUJTRVBBUkFUT1I7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIG5leHROYW1lID0gbmV4dE5hbWVQcmVmaXggKyBnZXRDb21wb25lbnRLZXkoY2hpbGQsIGkpO1xuICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkLCBuZXh0TmFtZSwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XG5cbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcblxuICAgICAge1xuICAgICAgICAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gPT09IGNoaWxkcmVuLmVudHJpZXMpIHtcbiAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dE1hcHMpIHtcbiAgICAgICAgICAgIHdhcm4oJ1VzaW5nIE1hcHMgYXMgY2hpbGRyZW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgY29udmVydGluZyBjaGlsZHJlbiB0byAnICsgJ2FuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaWRXYXJuQWJvdXRNYXBzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwoY2hpbGRyZW4pO1xuICAgICAgdmFyIHN0ZXA7XG4gICAgICB2YXIgaWkgPSAwO1xuXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgIGNoaWxkID0gc3RlcC52YWx1ZTtcbiAgICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldENvbXBvbmVudEtleShjaGlsZCwgaWkrKyk7XG4gICAgICAgIHN1YnRyZWVDb3VudCArPSB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZCwgbmV4dE5hbWUsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICB7XG4gICAgICAgIGFkZGVuZHVtID0gJyBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nICsgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9ICcnICsgY2hpbGRyZW47XG5cbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IEVycm9yKCBcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRyZW5TdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjaGlsZHJlbikuam9pbignLCAnKSArICd9JyA6IGNoaWxkcmVuU3RyaW5nKSArIFwiKS5cIiArIGFkZGVuZHVtICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3VidHJlZUNvdW50O1xufVxuLyoqXG4gKiBUcmF2ZXJzZXMgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLCBidXRcbiAqIG1pZ2h0IGFsc28gYmUgc3BlY2lmaWVkIHRocm91Z2ggYXR0cmlidXRlczpcbiAqXG4gKiAtIGB0cmF2ZXJzZUFsbENoaWxkcmVuKHRoaXMucHJvcHMuY2hpbGRyZW4sIC4uLilgXG4gKiAtIGB0cmF2ZXJzZUFsbENoaWxkcmVuKHRoaXMucHJvcHMubGVmdFBhbmVsQ2hpbGRyZW4sIC4uLilgXG4gKlxuICogVGhlIGB0cmF2ZXJzZUNvbnRleHRgIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgaXMgcGFzc2VkIHRocm91Z2ggdGhlXG4gKiBlbnRpcmUgdHJhdmVyc2FsLiBJdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhY2N1bXVsYXRpb25zIG9yIGFueXRoaW5nIGVsc2UgdGhhdFxuICogdGhlIGNhbGxiYWNrIG1pZ2h0IGZpbmQgcmVsZXZhbnQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBvYmplY3QuXG4gKiBAcGFyYW0geyFmdW5jdGlvbn0gY2FsbGJhY2sgVG8gaW52b2tlIHVwb24gdHJhdmVyc2luZyBlYWNoIGNoaWxkLlxuICogQHBhcmFtIHs/Kn0gdHJhdmVyc2VDb250ZXh0IENvbnRleHQgZm9yIHRyYXZlcnNhbC5cbiAqIEByZXR1cm4geyFudW1iZXJ9IFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gdGhpcyBzdWJ0cmVlLlxuICovXG5cblxuZnVuY3Rpb24gdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCkge1xuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkcmVuLCAnJywgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCk7XG59XG4vKipcbiAqIEdlbmVyYXRlIGEga2V5IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgYSBjb21wb25lbnQgd2l0aGluIGEgc2V0LlxuICpcbiAqIEBwYXJhbSB7Kn0gY29tcG9uZW50IEEgY29tcG9uZW50IHRoYXQgY291bGQgY29udGFpbiBhIG1hbnVhbCBrZXkuXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXggSW5kZXggdGhhdCBpcyB1c2VkIGlmIGEgbWFudWFsIGtleSBpcyBub3QgcHJvdmlkZWQuXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKHR5cGVvZiBjb21wb25lbnQgPT09ICdvYmplY3QnICYmIGNvbXBvbmVudCAhPT0gbnVsbCAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICByZXR1cm4gZXNjYXBlKGNvbXBvbmVudC5rZXkpO1xuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG5cblxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBmb3JFYWNoU2luZ2xlQ2hpbGQoYm9va0tlZXBpbmcsIGNoaWxkLCBuYW1lKSB7XG4gIHZhciBmdW5jID0gYm9va0tlZXBpbmcuZnVuYyxcbiAgICAgIGNvbnRleHQgPSBib29rS2VlcGluZy5jb250ZXh0O1xuICBmdW5jLmNhbGwoY29udGV4dCwgY2hpbGQsIGJvb2tLZWVwaW5nLmNvdW50KyspO1xufVxuLyoqXG4gKiBJdGVyYXRlcyB0aHJvdWdoIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5mb3JlYWNoXG4gKlxuICogVGhlIHByb3ZpZGVkIGZvckVhY2hGdW5jKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZvckVhY2hGdW5jXG4gKiBAcGFyYW0geyp9IGZvckVhY2hDb250ZXh0IENvbnRleHQgZm9yIGZvckVhY2hDb250ZXh0LlxuICovXG5cblxuZnVuY3Rpb24gZm9yRWFjaENoaWxkcmVuKGNoaWxkcmVuLCBmb3JFYWNoRnVuYywgZm9yRWFjaENvbnRleHQpIHtcbiAgaWYgKGNoaWxkcmVuID09IG51bGwpIHtcbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cblxuICB2YXIgdHJhdmVyc2VDb250ZXh0ID0gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG51bGwsIG51bGwsIGZvckVhY2hGdW5jLCBmb3JFYWNoQ29udGV4dCk7XG4gIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGZvckVhY2hTaW5nbGVDaGlsZCwgdHJhdmVyc2VDb250ZXh0KTtcbiAgcmVsZWFzZVRyYXZlcnNlQ29udGV4dCh0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBtYXBTaW5nbGVDaGlsZEludG9Db250ZXh0KGJvb2tLZWVwaW5nLCBjaGlsZCwgY2hpbGRLZXkpIHtcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdCxcbiAgICAgIGtleVByZWZpeCA9IGJvb2tLZWVwaW5nLmtleVByZWZpeCxcbiAgICAgIGZ1bmMgPSBib29rS2VlcGluZy5mdW5jLFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XG4gIHZhciBtYXBwZWRDaGlsZCA9IGZ1bmMuY2FsbChjb250ZXh0LCBjaGlsZCwgYm9va0tlZXBpbmcuY291bnQrKyk7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChtYXBwZWRDaGlsZCwgcmVzdWx0LCBjaGlsZEtleSwgZnVuY3Rpb24gKGMpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKG1hcHBlZENoaWxkICE9IG51bGwpIHtcbiAgICBpZiAoaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShtYXBwZWRDaGlsZCwgLy8gS2VlcCBib3RoIHRoZSAobWFwcGVkKSBhbmQgb2xkIGtleXMgaWYgdGhleSBkaWZmZXIsIGp1c3QgYXNcbiAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAga2V5UHJlZml4ICsgKG1hcHBlZENoaWxkLmtleSAmJiAoIWNoaWxkIHx8IGNoaWxkLmtleSAhPT0gbWFwcGVkQ2hpbGQua2V5KSA/IGVzY2FwZVVzZXJQcm92aWRlZEtleShtYXBwZWRDaGlsZC5rZXkpICsgJy8nIDogJycpICsgY2hpbGRLZXkpO1xuICAgIH1cblxuICAgIHJlc3VsdC5wdXNoKG1hcHBlZENoaWxkKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCBhcnJheSwgcHJlZml4LCBmdW5jLCBjb250ZXh0KSB7XG4gIHZhciBlc2NhcGVkUHJlZml4ID0gJyc7XG5cbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XG4gICAgZXNjYXBlZFByZWZpeCA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShwcmVmaXgpICsgJy8nO1xuICB9XG5cbiAgdmFyIHRyYXZlcnNlQ29udGV4dCA9IGdldFBvb2xlZFRyYXZlcnNlQ29udGV4dChhcnJheSwgZXNjYXBlZFByZWZpeCwgZnVuYywgY29udGV4dCk7XG4gIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIG1hcFNpbmdsZUNoaWxkSW50b0NvbnRleHQsIHRyYXZlcnNlQ29udGV4dCk7XG4gIHJlbGVhc2VUcmF2ZXJzZUNvbnRleHQodHJhdmVyc2VDb250ZXh0KTtcbn1cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBrZXksIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZnVuYyBUaGUgbWFwIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsqfSBjb250ZXh0IENvbnRleHQgZm9yIG1hcEZ1bmN0aW9uLlxuICogQHJldHVybiB7b2JqZWN0fSBPYmplY3QgY29udGFpbmluZyB0aGUgb3JkZXJlZCBtYXAgb2YgcmVzdWx0cy5cbiAqL1xuXG5cbmZ1bmN0aW9uIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jLCBjb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCByZXN1bHQsIG51bGwsIGZ1bmMsIGNvbnRleHQpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBDb3VudCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXNcbiAqIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVuY291bnRcbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiBjaGlsZHJlbi5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvdW50Q2hpbGRyZW4oY2hpbGRyZW4pIHtcbiAgcmV0dXJuIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgbnVsbCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCByZXN1bHQsIG51bGwsIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHJldHVybiBjaGlsZDtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGZpcnN0IGNoaWxkIGluIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiBhbmQgdmVyaWZpZXMgdGhhdCB0aGVyZVxuICogaXMgb25seSBvbmUgY2hpbGQgaW4gdGhlIGNvbGxlY3Rpb24uXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVub25seVxuICpcbiAqIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGEgc2luZ2xlIGNoaWxkIGdldHNcbiAqIHBhc3NlZCB3aXRob3V0IGEgd3JhcHBlciwgYnV0IHRoZSBwdXJwb3NlIG9mIHRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIHRvXG4gKiBhYnN0cmFjdCBhd2F5IHRoZSBwYXJ0aWN1bGFyIHN0cnVjdHVyZSBvZiBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0gez9vYmplY3R9IGNoaWxkcmVuIENoaWxkIGNvbGxlY3Rpb24gc3RydWN0dXJlLlxuICogQHJldHVybiB7UmVhY3RFbGVtZW50fSBUaGUgZmlyc3QgYW5kIG9ubHkgYFJlYWN0RWxlbWVudGAgY29udGFpbmVkIGluIHRoZVxuICogc3RydWN0dXJlLlxuICovXG5cblxuZnVuY3Rpb24gb25seUNoaWxkKGNoaWxkcmVuKSB7XG4gIGlmICghaXNWYWxpZEVsZW1lbnQoY2hpbGRyZW4pKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuXCIgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlLCBjYWxjdWxhdGVDaGFuZ2VkQml0cykge1xuICBpZiAoY2FsY3VsYXRlQ2hhbmdlZEJpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGN1bGF0ZUNoYW5nZWRCaXRzID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBpZiAoY2FsY3VsYXRlQ2hhbmdlZEJpdHMgIT09IG51bGwgJiYgdHlwZW9mIGNhbGN1bGF0ZUNoYW5nZWRCaXRzICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGVycm9yKCdjcmVhdGVDb250ZXh0OiBFeHBlY3RlZCB0aGUgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMnLCBjYWxjdWxhdGVDaGFuZ2VkQml0cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICBfY2FsY3VsYXRlQ2hhbmdlZEJpdHM6IGNhbGN1bGF0ZUNoYW5nZWRCaXRzLFxuICAgIC8vIEFzIGEgd29ya2Fyb3VuZCB0byBzdXBwb3J0IG11bHRpcGxlIGNvbmN1cnJlbnQgcmVuZGVyZXJzLCB3ZSBjYXRlZ29yaXplXG4gICAgLy8gc29tZSByZW5kZXJlcnMgYXMgcHJpbWFyeSBhbmQgb3RoZXJzIGFzIHNlY29uZGFyeS4gV2Ugb25seSBleHBlY3RcbiAgICAvLyB0aGVyZSB0byBiZSB0d28gY29uY3VycmVudCByZW5kZXJlcnMgYXQgbW9zdDogUmVhY3QgTmF0aXZlIChwcmltYXJ5KSBhbmRcbiAgICAvLyBGYWJyaWMgKHNlY29uZGFyeSk7IFJlYWN0IERPTSAocHJpbWFyeSkgYW5kIFJlYWN0IEFSVCAoc2Vjb25kYXJ5KS5cbiAgICAvLyBTZWNvbmRhcnkgcmVuZGVyZXJzIHN0b3JlIHRoZWlyIGNvbnRleHQgdmFsdWVzIG9uIHNlcGFyYXRlIGZpZWxkcy5cbiAgICBfY3VycmVudFZhbHVlOiBkZWZhdWx0VmFsdWUsXG4gICAgX2N1cnJlbnRWYWx1ZTI6IGRlZmF1bHRWYWx1ZSxcbiAgICAvLyBVc2VkIHRvIHRyYWNrIGhvdyBtYW55IGNvbmN1cnJlbnQgcmVuZGVyZXJzIHRoaXMgY29udGV4dCBjdXJyZW50bHlcbiAgICAvLyBzdXBwb3J0cyB3aXRoaW4gaW4gYSBzaW5nbGUgcmVuZGVyZXIuIFN1Y2ggYXMgcGFyYWxsZWwgc2VydmVyIHJlbmRlcmluZy5cbiAgICBfdGhyZWFkQ291bnQ6IDAsXG4gICAgLy8gVGhlc2UgYXJlIGNpcmN1bGFyXG4gICAgUHJvdmlkZXI6IG51bGwsXG4gICAgQ29uc3VtZXI6IG51bGxcbiAgfTtcbiAgY29udGV4dC5Qcm92aWRlciA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICBfY29udGV4dDogY29udGV4dFxuICB9O1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSBmYWxzZTtcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XG5cbiAge1xuICAgIC8vIEEgc2VwYXJhdGUgb2JqZWN0LCBidXQgcHJveGllcyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBjb250ZXh0IG9iamVjdCBmb3JcbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gSXQgaGFzIGEgZGlmZmVyZW50ICQkdHlwZW9mLCBzbyB3ZSBjYW4gcHJvcGVybHlcbiAgICAvLyB3YXJuIGZvciB0aGUgaW5jb3JyZWN0IHVzYWdlIG9mIENvbnRleHQgYXMgYSBDb25zdW1lci5cbiAgICB2YXIgQ29uc3VtZXIgPSB7XG4gICAgICAkJHR5cGVvZjogUkVBQ1RfQ09OVEVYVF9UWVBFLFxuICAgICAgX2NvbnRleHQ6IGNvbnRleHQsXG4gICAgICBfY2FsY3VsYXRlQ2hhbmdlZEJpdHM6IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzXG4gICAgfTsgLy8gJEZsb3dGaXhNZTogRmxvdyBjb21wbGFpbnMgYWJvdXQgbm90IHNldHRpbmcgYSB2YWx1ZSwgd2hpY2ggaXMgaW50ZW50aW9uYWwgaGVyZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcbiAgICAgIFByb3ZpZGVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX1Byb3ZpZGVyKSB7XG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IF9jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY3VycmVudFZhbHVlMjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcbiAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfdGhyZWFkQ291bnQpIHtcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Db25zdW1lcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Db25zdW1lcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pOyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBtaXNzaW5nIHByb3BlcnRpZXMgYmVjYXVzZSBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgZGVmaW5lUHJvcGVydHlcblxuICAgIGNvbnRleHQuQ29uc3VtZXIgPSBDb25zdW1lcjtcbiAgfVxuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIGxhenkoY3Rvcikge1xuICB2YXIgbGF6eVR5cGUgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0xBWllfVFlQRSxcbiAgICBfY3RvcjogY3RvcixcbiAgICAvLyBSZWFjdCB1c2VzIHRoZXNlIGZpZWxkcyB0byBzdG9yZSB0aGUgcmVzdWx0LlxuICAgIF9zdGF0dXM6IC0xLFxuICAgIF9yZXN1bHQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgLy8gSW4gcHJvZHVjdGlvbiwgdGhpcyB3b3VsZCBqdXN0IHNldCBpdCBvbiB0aGUgb2JqZWN0LlxuICAgIHZhciBkZWZhdWx0UHJvcHM7XG4gICAgdmFyIHByb3BUeXBlcztcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsYXp5VHlwZSwge1xuICAgICAgZGVmYXVsdFByb3BzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRQcm9wcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYGRlZmF1bHRQcm9wc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIGRlZmF1bHRQcm9wcyA9IG5ld0RlZmF1bHRQcm9wczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobGF6eVR5cGUsICdkZWZhdWx0UHJvcHMnLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwcm9wVHlwZXM6IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gcHJvcFR5cGVzO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChuZXdQcm9wVHlwZXMpIHtcbiAgICAgICAgICBlcnJvcignUmVhY3QubGF6eSguLi4pOiBJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIGFzc2lnbiBgcHJvcFR5cGVzYCB0byAnICsgJ2EgbGF6eSBjb21wb25lbnQgaW1wb3J0LiBFaXRoZXIgc3BlY2lmeSB0aGVtIHdoZXJlIHRoZSBjb21wb25lbnQgJyArICdpcyBkZWZpbmVkLCBvciBjcmVhdGUgYSB3cmFwcGluZyBjb21wb25lbnQgYXJvdW5kIGl0LicpO1xuXG4gICAgICAgICAgcHJvcFR5cGVzID0gbmV3UHJvcFR5cGVzOyAvLyBNYXRjaCBwcm9kdWN0aW9uIGJlaGF2aW9yIG1vcmUgY2xvc2VseTpcblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5VHlwZSwgJ3Byb3BUeXBlcycsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGxhenlUeXBlO1xufVxuXG5mdW5jdGlvbiBmb3J3YXJkUmVmKHJlbmRlcikge1xuICB7XG4gICAgaWYgKHJlbmRlciAhPSBudWxsICYmIHJlbmRlci4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICBlcnJvcignZm9yd2FyZFJlZiByZXF1aXJlcyBhIHJlbmRlciBmdW5jdGlvbiBidXQgcmVjZWl2ZWQgYSBgbWVtb2AgJyArICdjb21wb25lbnQuIEluc3RlYWQgb2YgZm9yd2FyZFJlZihtZW1vKC4uLikpLCB1c2UgJyArICdtZW1vKGZvcndhcmRSZWYoLi4uKSkuJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVuZGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignZm9yd2FyZFJlZiByZXF1aXJlcyBhIHJlbmRlciBmdW5jdGlvbiBidXQgd2FzIGdpdmVuICVzLicsIHJlbmRlciA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiByZW5kZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocmVuZGVyLmxlbmd0aCAhPT0gMCAmJiByZW5kZXIubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgYWNjZXB0IGV4YWN0bHkgdHdvIHBhcmFtZXRlcnM6IHByb3BzIGFuZCByZWYuICVzJywgcmVuZGVyLmxlbmd0aCA9PT0gMSA/ICdEaWQgeW91IGZvcmdldCB0byB1c2UgdGhlIHJlZiBwYXJhbWV0ZXI/JyA6ICdBbnkgYWRkaXRpb25hbCBwYXJhbWV0ZXIgd2lsbCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlbmRlciAhPSBudWxsKSB7XG4gICAgICBpZiAocmVuZGVyLmRlZmF1bHRQcm9wcyAhPSBudWxsIHx8IHJlbmRlci5wcm9wVHlwZXMgIT0gbnVsbCkge1xuICAgICAgICBlcnJvcignZm9yd2FyZFJlZiByZW5kZXIgZnVuY3Rpb25zIGRvIG5vdCBzdXBwb3J0IHByb3BUeXBlcyBvciBkZWZhdWx0UHJvcHMuICcgKyAnRGlkIHlvdSBhY2NpZGVudGFsbHkgcGFzcyBhIFJlYWN0IGNvbXBvbmVudD8nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFLFxuICAgIHJlbmRlcjogcmVuZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgLy8gTm90ZTogaXRzIHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIGlmIGl0J3MgYSBwb2x5ZmlsbC5cbiAgdHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GVU5EQU1FTlRBTF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1JFU1BPTkRFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1NDT1BFX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQkxPQ0tfVFlQRSk7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfTUVNT19UWVBFLFxuICAgIHR5cGU6IHR5cGUsXG4gICAgY29tcGFyZTogY29tcGFyZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbXBhcmVcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURpc3BhdGNoZXIoKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuXG4gIGlmICghKGRpc3BhdGNoZXIgIT09IG51bGwpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvciBvbmUgb2YgdGhlIGZvbGxvd2luZyByZWFzb25zOlxcbjEuIFlvdSBtaWdodCBoYXZlIG1pc21hdGNoaW5nIHZlcnNpb25zIG9mIFJlYWN0IGFuZCB0aGUgcmVuZGVyZXIgKHN1Y2ggYXMgUmVhY3QgRE9NKVxcbjIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4zLiBZb3UgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gb25lIGNvcHkgb2YgUmVhY3QgaW4gdGhlIHNhbWUgYXBwXFxuU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLlwiICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXI7XG59XG5cbmZ1bmN0aW9uIHVzZUNvbnRleHQoQ29udGV4dCwgdW5zdGFibGVfb2JzZXJ2ZWRCaXRzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcblxuICB7XG4gICAgaWYgKHVuc3RhYmxlX29ic2VydmVkQml0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvcigndXNlQ29udGV4dCgpIHNlY29uZCBhcmd1bWVudCBpcyByZXNlcnZlZCBmb3IgZnV0dXJlICcgKyAndXNlIGluIFJlYWN0LiBQYXNzaW5nIGl0IGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnWW91IHBhc3NlZDogJXMuJXMnLCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMsIHR5cGVvZiB1bnN0YWJsZV9vYnNlcnZlZEJpdHMgPT09ICdudW1iZXInICYmIEFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzJdKSA/ICdcXG5cXG5EaWQgeW91IGNhbGwgYXJyYXkubWFwKHVzZUNvbnRleHQpPyAnICsgJ0NhbGxpbmcgSG9va3MgaW5zaWRlIGEgbG9vcCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0xlYXJuIG1vcmUgYXQgaHR0cHM6Ly9mYi5tZS9ydWxlcy1vZi1ob29rcycgOiAnJyk7XG4gICAgfSAvLyBUT0RPOiBhZGQgYSBtb3JlIGdlbmVyaWMgd2FybmluZyBmb3IgaW52YWxpZCB2YWx1ZXMuXG5cblxuICAgIGlmIChDb250ZXh0Ll9jb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcbiAgICAgIC8vIGFuZCBub2JvZHkgc2hvdWxkIGJlIHVzaW5nIHRoaXMgaW4gZXhpc3RpbmcgY29kZS5cblxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Db25zdW1lcikgaXMgbm90IHN1cHBvcnRlZCwgbWF5IGNhdXNlIGJ1Z3MsIGFuZCB3aWxsIGJlICcgKyAncmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9IGVsc2UgaWYgKHJlYWxDb250ZXh0LlByb3ZpZGVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ29udGV4dChDb250ZXh0LCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMpO1xufVxuZnVuY3Rpb24gdXNlU3RhdGUoaW5pdGlhbFN0YXRlKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbn1cbmZ1bmN0aW9uIHVzZVJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG59XG5mdW5jdGlvbiB1c2VSZWYoaW5pdGlhbFZhbHVlKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlUmVmKGluaXRpYWxWYWx1ZSk7XG59XG5mdW5jdGlvbiB1c2VFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZU1lbW8oY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlTWVtbyhjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAge1xuICAgIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbik7XG4gIH1cbn1cblxudmFyIHByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duO1xuXG57XG4gIHByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpIHtcbiAgaWYgKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShzb3VyY2UpIHtcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIGZpbGVOYW1lID0gc291cmNlLmZpbGVOYW1lLnJlcGxhY2UoL14uKltcXFxcXFwvXS8sICcnKTtcbiAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMoZWxlbWVudFByb3BzKSB7XG4gIGlmIChlbGVtZW50UHJvcHMgIT09IG51bGwgJiYgZWxlbWVudFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICBpZiAoIWluZm8pIHtcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZm87XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lKGVsZW1lbnQuX293bmVyLnR5cGUpICsgXCIuXCI7XG4gIH1cblxuICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICB7XG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vZmIubWUvcmVhY3Qtd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuICB9XG5cbiAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKTtcbiAgICB2YXIgcHJvcFR5cGVzO1xuXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBOb3RlOiBNZW1vIG9ubHkgY2hlY2tzIG91dGVyIHByb3BzIGhlcmUuXG4gICAgLy8gSW5uZXIgcHJvcHMgYXJlIGNoZWNrZWQgaW4gdGhlIHJlY29uY2lsZXIuXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSkge1xuICAgICAgcHJvcFR5cGVzID0gdHlwZS5wcm9wVHlwZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJvcFR5cGVzKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0pO1xuICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgfSBlbHNlIGlmICh0eXBlLlByb3BUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bikge1xuICAgICAgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICBlcnJvcignQ29tcG9uZW50ICVzIGRlY2xhcmVkIGBQcm9wVHlwZXNgIGluc3RlYWQgb2YgYHByb3BUeXBlc2AuIERpZCB5b3UgbWlzc3BlbGwgdGhlIHByb3BlcnR5IGFzc2lnbm1lbnQ/JywgbmFtZSB8fCAnVW5rbm93bicpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdHlwZS5nZXREZWZhdWx0UHJvcHMgPT09ICdmdW5jdGlvbicgJiYgIXR5cGUuZ2V0RGVmYXVsdFByb3BzLmlzUmVhY3RDbGFzc0FwcHJvdmVkKSB7XG4gICAgICBlcnJvcignZ2V0RGVmYXVsdFByb3BzIGlzIG9ubHkgdXNlZCBvbiBjbGFzc2ljIFJlYWN0LmNyZWF0ZUNsYXNzICcgKyAnZGVmaW5pdGlvbnMuIFVzZSBhIHN0YXRpYyBwcm9wZXJ0eSBuYW1lZCBgZGVmYXVsdFByb3BzYCBpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIGZyYWdtZW50LCB2YWxpZGF0ZSB0aGF0IGl0IGNhbiBvbmx5IGJlIHByb3ZpZGVkIHdpdGggZnJhZ21lbnQgcHJvcHNcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBmcmFnbWVudFxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVGcmFnbWVudFByb3BzKGZyYWdtZW50KSB7XG4gIHtcbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChmcmFnbWVudCk7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhmcmFnbWVudC5wcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoa2V5ICE9PSAnY2hpbGRyZW4nICYmIGtleSAhPT0gJ2tleScpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgcHJvcCBgJXNgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuICcgKyAnUmVhY3QuRnJhZ21lbnQgY2FuIG9ubHkgaGF2ZSBga2V5YCBhbmQgYGNoaWxkcmVuYCBwcm9wcy4nLCBrZXkpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBgcmVmYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLicpO1xuICAgIH1cblxuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gIC8vIHN1Y2NlZWQgYW5kIHRoZXJlIHdpbGwgbGlrZWx5IGJlIGVycm9ycyBpbiByZW5kZXIuXG5cbiAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgfVxuXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcblxuICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZVN0cmluZyA9ICdudWxsJztcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodHlwZSkpIHtcbiAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkICYmIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWUodHlwZS50eXBlKSB8fCAnVW5rbm93bicpICsgXCIgLz5cIjtcbiAgICAgIGluZm8gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IGV4cG9ydCBhIEpTWCBsaXRlcmFsIGluc3RlYWQgb2YgYSBjb21wb25lbnQ/JztcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZVN0cmluZyA9IHR5cGVvZiB0eXBlO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGVycm9yKCdSZWFjdC5jcmVhdGVFbGVtZW50OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50ID0gY3JlYXRlRWxlbWVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyAvLyBUaGUgcmVzdWx0IGNhbiBiZSBudWxsaXNoIGlmIGEgbW9jayBvciBhIGN1c3RvbSBmdW5jdGlvbiBpcyB1c2VkLlxuICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgaWYgKGVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gIC8vIGRvZXNuJ3QgZXhwZWN0IGEgbm9uLXN0cmluZy9mdW5jdGlvbiB0eXBlIGFuZCBjYW4gdGhyb3cgY29uZnVzaW5nIGVycm9ycy5cbiAgLy8gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZCBwcm9kLlxuICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAvLyBmaXhlZCwgdGhlIGtleSB3YXJuaW5ncyB3aWxsIGFwcGVhci4pXG5cblxuICBpZiAodmFsaWRUeXBlKSB7XG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZWxlbWVudCk7XG4gIH0gZWxzZSB7XG4gICAgdmFsaWRhdGVQcm9wVHlwZXMoZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IGZhbHNlO1xuZnVuY3Rpb24gY3JlYXRlRmFjdG9yeVdpdGhWYWxpZGF0aW9uKHR5cGUpIHtcbiAgdmFyIHZhbGlkYXRlZEZhY3RvcnkgPSBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24uYmluZChudWxsLCB0eXBlKTtcbiAgdmFsaWRhdGVkRmFjdG9yeS50eXBlID0gdHlwZTtcblxuICB7XG4gICAgaWYgKCFkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSkge1xuICAgICAgZGlkV2FybkFib3V0RGVwcmVjYXRlZENyZWF0ZUZhY3RvcnkgPSB0cnVlO1xuXG4gICAgICB3YXJuKCdSZWFjdC5jcmVhdGVGYWN0b3J5KCkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgdXNpbmcgSlNYICcgKyAnb3IgdXNlIFJlYWN0LmNyZWF0ZUVsZW1lbnQoKSBkaXJlY3RseSBpbnN0ZWFkLicpO1xuICAgIH0gLy8gTGVnYWN5IGhvb2s6IHJlbW92ZSBpdFxuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsaWRhdGVkRmFjdG9yeSwgJ3R5cGUnLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICB3YXJuKCdGYWN0b3J5LnR5cGUgaXMgZGVwcmVjYXRlZC4gQWNjZXNzIHRoZSBjbGFzcyBkaXJlY3RseSAnICsgJ2JlZm9yZSBwYXNzaW5nIGl0IHRvIGNyZWF0ZUZhY3RvcnkuJyk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0eXBlJywge1xuICAgICAgICAgIHZhbHVlOiB0eXBlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZWRGYWN0b3J5O1xufVxuZnVuY3Rpb24gY2xvbmVFbGVtZW50V2l0aFZhbGlkYXRpb24oZWxlbWVudCwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciBuZXdFbGVtZW50ID0gY2xvbmVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YWxpZGF0ZUNoaWxkS2V5cyhhcmd1bWVudHNbaV0sIG5ld0VsZW1lbnQudHlwZSk7XG4gIH1cblxuICB2YWxpZGF0ZVByb3BUeXBlcyhuZXdFbGVtZW50KTtcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XG59XG5cbntcblxuICB0cnkge1xuICAgIHZhciBmcm96ZW5PYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcbiAgICB2YXIgdGVzdE1hcCA9IG5ldyBNYXAoW1tmcm96ZW5PYmplY3QsIG51bGxdXSk7XG4gICAgdmFyIHRlc3RTZXQgPSBuZXcgU2V0KFtmcm96ZW5PYmplY3RdKTsgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIFJvbGx1cCB0byBub3QgY29uc2lkZXIgdGhlc2UgdW51c2VkLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2xsdXAvcm9sbHVwL2lzc3Vlcy8xNzcxXG4gICAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGVzZSBpZiBSb2xsdXAgZml4ZXMgdGhlIGJ1Zy5cblxuICAgIHRlc3RNYXAuc2V0KDAsIDApO1xuICAgIHRlc3RTZXQuYWRkKDApO1xuICB9IGNhdGNoIChlKSB7XG4gIH1cbn1cblxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNsb25lRWxlbWVudCQxID0gIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uIDtcbnZhciBjcmVhdGVGYWN0b3J5ID0gIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbiA7XG52YXIgQ2hpbGRyZW4gPSB7XG4gIG1hcDogbWFwQ2hpbGRyZW4sXG4gIGZvckVhY2g6IGZvckVhY2hDaGlsZHJlbixcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXG4gIHRvQXJyYXk6IHRvQXJyYXksXG4gIG9ubHk6IG9ubHlDaGlsZFxufTtcblxuZXhwb3J0cy5DaGlsZHJlbiA9IENoaWxkcmVuO1xuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG5leHBvcnRzLlN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcbmV4cG9ydHMuY2xvbmVFbGVtZW50ID0gY2xvbmVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0O1xuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy51c2VDYWxsYmFjayA9IHVzZUNhbGxiYWNrO1xuZXhwb3J0cy51c2VDb250ZXh0ID0gdXNlQ29udGV4dDtcbmV4cG9ydHMudXNlRGVidWdWYWx1ZSA9IHVzZURlYnVnVmFsdWU7XG5leHBvcnRzLnVzZUVmZmVjdCA9IHVzZUVmZmVjdDtcbmV4cG9ydHMudXNlSW1wZXJhdGl2ZUhhbmRsZSA9IHVzZUltcGVyYXRpdmVIYW5kbGU7XG5leHBvcnRzLnVzZUxheW91dEVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcbmV4cG9ydHMudXNlTWVtbyA9IHVzZU1lbW87XG5leHBvcnRzLnVzZVJlZHVjZXIgPSB1c2VSZWR1Y2VyO1xuZXhwb3J0cy51c2VSZWYgPSB1c2VSZWY7XG5leHBvcnRzLnVzZVN0YXRlID0gdXNlU3RhdGU7XG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XG4gIH0pKCk7XG59XG4iLCIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV9kdXBsZXguanMnKTtcbiIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIGR1cGxleCBzdHJlYW0gaXMganVzdCBhIHN0cmVhbSB0aGF0IGlzIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLlxuLy8gU2luY2UgSlMgZG9lc24ndCBoYXZlIG11bHRpcGxlIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UsIHRoaXMgY2xhc3Ncbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cbi8vIFdyaXRhYmxlLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgb2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIChvYmopIHtcbiAgdmFyIGtleXMgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGtleXMucHVzaChrZXkpO1xuICB9cmV0dXJuIGtleXM7XG59O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbm1vZHVsZS5leHBvcnRzID0gRHVwbGV4O1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIHV0aWwgPSBPYmplY3QuY3JlYXRlKHJlcXVpcmUoJ2NvcmUtdXRpbC1pcycpKTtcbnV0aWwuaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbnZhciBSZWFkYWJsZSA9IHJlcXVpcmUoJy4vX3N0cmVhbV9yZWFkYWJsZScpO1xudmFyIFdyaXRhYmxlID0gcmVxdWlyZSgnLi9fc3RyZWFtX3dyaXRhYmxlJyk7XG5cbnV0aWwuaW5oZXJpdHMoRHVwbGV4LCBSZWFkYWJsZSk7XG5cbntcbiAgLy8gYXZvaWQgc2NvcGUgY3JlZXAsIHRoZSBrZXlzIGFycmF5IGNhbiB0aGVuIGJlIGNvbGxlY3RlZFxuICB2YXIga2V5cyA9IG9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKTtcbiAgZm9yICh2YXIgdiA9IDA7IHYgPCBrZXlzLmxlbmd0aDsgdisrKSB7XG4gICAgdmFyIG1ldGhvZCA9IGtleXNbdl07XG4gICAgaWYgKCFEdXBsZXgucHJvdG90eXBlW21ldGhvZF0pIER1cGxleC5wcm90b3R5cGVbbWV0aG9kXSA9IFdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdO1xuICB9XG59XG5cbmZ1bmN0aW9uIER1cGxleChvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKSByZXR1cm4gbmV3IER1cGxleChvcHRpb25zKTtcblxuICBSZWFkYWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuICBXcml0YWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuXG4gIGlmIChvcHRpb25zICYmIG9wdGlvbnMucmVhZGFibGUgPT09IGZhbHNlKSB0aGlzLnJlYWRhYmxlID0gZmFsc2U7XG5cbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy53cml0YWJsZSA9PT0gZmFsc2UpIHRoaXMud3JpdGFibGUgPSBmYWxzZTtcblxuICB0aGlzLmFsbG93SGFsZk9wZW4gPSB0cnVlO1xuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB0aGlzLmFsbG93SGFsZk9wZW4gPSBmYWxzZTtcblxuICB0aGlzLm9uY2UoJ2VuZCcsIG9uZW5kKTtcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuXG4vLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXG5mdW5jdGlvbiBvbmVuZCgpIHtcbiAgLy8gaWYgd2UgYWxsb3cgaGFsZi1vcGVuIHN0YXRlLCBvciBpZiB0aGUgd3JpdGFibGUgc2lkZSBlbmRlZCxcbiAgLy8gdGhlbiB3ZSdyZSBvay5cbiAgaWYgKHRoaXMuYWxsb3dIYWxmT3BlbiB8fCB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKSByZXR1cm47XG5cbiAgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxuICAvLyBCdXQgYWxsb3cgbW9yZSB3cml0ZXMgdG8gaGFwcGVuIGluIHRoaXMgdGljay5cbiAgcG5hLm5leHRUaWNrKG9uRW5kTlQsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBvbkVuZE5UKHNlbGYpIHtcbiAgc2VsZi5lbmQoKTtcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcbiAgfSxcbiAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xuICB9XG59KTtcblxuRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIHRoaXMucHVzaChudWxsKTtcbiAgdGhpcy5lbmQoKTtcblxuICBwbmEubmV4dFRpY2soY2IsIGVycik7XG59OyIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cbi8vIGJhc2ljYWxseSBqdXN0IHRoZSBtb3N0IG1pbmltYWwgc29ydCBvZiBUcmFuc2Zvcm0gc3RyZWFtLlxuLy8gRXZlcnkgd3JpdHRlbiBjaHVuayBnZXRzIG91dHB1dCBhcy1pcy5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFBhc3NUaHJvdWdoO1xuXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnLi9fc3RyZWFtX3RyYW5zZm9ybScpO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIHV0aWwgPSBPYmplY3QuY3JlYXRlKHJlcXVpcmUoJ2NvcmUtdXRpbC1pcycpKTtcbnV0aWwuaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbnV0aWwuaW5oZXJpdHMoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XG5cbmZ1bmN0aW9uIFBhc3NUaHJvdWdoKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcblxuICBUcmFuc2Zvcm0uY2FsbCh0aGlzLCBvcHRpb25zKTtcbn1cblxuUGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICBjYihudWxsLCBjaHVuayk7XG59OyIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbm1vZHVsZS5leHBvcnRzID0gUmVhZGFibGU7XG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIER1cGxleDtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG5SZWFkYWJsZS5SZWFkYWJsZVN0YXRlID0gUmVhZGFibGVTdGF0ZTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBFRSA9IHJlcXVpcmUoJ2V2ZW50cycpLkV2ZW50RW1pdHRlcjtcblxudmFyIEVFbGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uIChlbWl0dGVyLCB0eXBlKSB7XG4gIHJldHVybiBlbWl0dGVyLmxpc3RlbmVycyh0eXBlKS5sZW5ndGg7XG59O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgU3RyZWFtID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbScpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlcjtcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShjaHVuayk7XG59XG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xuICByZXR1cm4gQnVmZmVyLmlzQnVmZmVyKG9iaikgfHwgb2JqIGluc3RhbmNlb2YgT3VyVWludDhBcnJheTtcbn1cblxuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgdXRpbCA9IE9iamVjdC5jcmVhdGUocmVxdWlyZSgnY29yZS11dGlsLWlzJykpO1xudXRpbC5pbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBkZWJ1Z1V0aWwgPSByZXF1aXJlKCd1dGlsJyk7XG52YXIgZGVidWcgPSB2b2lkIDA7XG5pZiAoZGVidWdVdGlsICYmIGRlYnVnVXRpbC5kZWJ1Z2xvZykge1xuICBkZWJ1ZyA9IGRlYnVnVXRpbC5kZWJ1Z2xvZygnc3RyZWFtJyk7XG59IGVsc2Uge1xuICBkZWJ1ZyA9IGZ1bmN0aW9uICgpIHt9O1xufVxuLyo8L3JlcGxhY2VtZW50PiovXG5cbnZhciBCdWZmZXJMaXN0ID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL0J1ZmZlckxpc3QnKTtcbnZhciBkZXN0cm95SW1wbCA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95Jyk7XG52YXIgU3RyaW5nRGVjb2RlcjtcblxudXRpbC5pbmhlcml0cyhSZWFkYWJsZSwgU3RyZWFtKTtcblxudmFyIGtQcm94eUV2ZW50cyA9IFsnZXJyb3InLCAnY2xvc2UnLCAnZGVzdHJveScsICdwYXVzZScsICdyZXN1bWUnXTtcblxuZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGVtaXR0ZXIsIGV2ZW50LCBmbikge1xuICAvLyBTYWRseSB0aGlzIGlzIG5vdCBjYWNoZWFibGUgYXMgc29tZSBsaWJyYXJpZXMgYnVuZGxlIHRoZWlyIG93blxuICAvLyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uIHdpdGggdGhlbS5cbiAgaWYgKHR5cGVvZiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyKGV2ZW50LCBmbik7XG5cbiAgLy8gVGhpcyBpcyBhIGhhY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIGFueVxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcbiAgLy8gdG8gY29udGludWUgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIE5vZGUuanMgdGhhdCBkbyBub3QgaW5jbHVkZVxuICAvLyB0aGUgcHJlcGVuZExpc3RlbmVyKCkgbWV0aG9kLiBUaGUgZ29hbCBpcyB0byBldmVudHVhbGx5IHJlbW92ZSB0aGlzIGhhY2suXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xufVxuXG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSkge1xuICBEdXBsZXggPSBEdXBsZXggfHwgcmVxdWlyZSgnLi9fc3RyZWFtX2R1cGxleCcpO1xuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gIC8vIER1cGxleCBzdHJlYW1zIGFyZSBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZSwgYnV0IHNoYXJlXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxuICAvLyBIb3dldmVyLCBzb21lIGNhc2VzIHJlcXVpcmUgc2V0dGluZyBvcHRpb25zIHRvIGRpZmZlcmVudFxuICAvLyB2YWx1ZXMgZm9yIHRoZSByZWFkYWJsZSBhbmQgdGhlIHdyaXRhYmxlIHNpZGVzIG9mIHRoZSBkdXBsZXggc3RyZWFtLlxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cbiAgdmFyIGlzRHVwbGV4ID0gc3RyZWFtIGluc3RhbmNlb2YgRHVwbGV4O1xuXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXG4gIC8vIG1ha2UgYWxsIHRoZSBidWZmZXIgbWVyZ2luZyBhbmQgbGVuZ3RoIGNoZWNrcyBnbyBhd2F5XG4gIHRoaXMub2JqZWN0TW9kZSA9ICEhb3B0aW9ucy5vYmplY3RNb2RlO1xuXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy5yZWFkYWJsZU9iamVjdE1vZGU7XG5cbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIGl0IHN0b3BzIGNhbGxpbmcgX3JlYWQoKSB0byBmaWxsIHRoZSBidWZmZXJcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyBcImRvbid0IGNhbGwgX3JlYWQgcHJlZW1wdGl2ZWx5IGV2ZXJcIlxuICB2YXIgaHdtID0gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrO1xuICB2YXIgcmVhZGFibGVId20gPSBvcHRpb25zLnJlYWRhYmxlSGlnaFdhdGVyTWFyaztcbiAgdmFyIGRlZmF1bHRId20gPSB0aGlzLm9iamVjdE1vZGUgPyAxNiA6IDE2ICogMTAyNDtcblxuICBpZiAoaHdtIHx8IGh3bSA9PT0gMCkgdGhpcy5oaWdoV2F0ZXJNYXJrID0gaHdtO2Vsc2UgaWYgKGlzRHVwbGV4ICYmIChyZWFkYWJsZUh3bSB8fCByZWFkYWJsZUh3bSA9PT0gMCkpIHRoaXMuaGlnaFdhdGVyTWFyayA9IHJlYWRhYmxlSHdtO2Vsc2UgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZGVmYXVsdEh3bTtcblxuICAvLyBjYXN0IHRvIGludHMuXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IE1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKTtcblxuICAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxuICAvLyBsaW5rZWQgbGlzdCBjYW4gcmVtb3ZlIGVsZW1lbnRzIGZyb20gdGhlIGJlZ2lubmluZyBmYXN0ZXIgdGhhblxuICAvLyBhcnJheS5zaGlmdCgpXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcbiAgdGhpcy5sZW5ndGggPSAwO1xuICB0aGlzLnBpcGVzID0gbnVsbDtcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcbiAgdGhpcy5mbG93aW5nID0gbnVsbDtcbiAgdGhpcy5lbmRlZCA9IGZhbHNlO1xuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcbiAgdGhpcy5yZWFkaW5nID0gZmFsc2U7XG5cbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxuICAvLyBpbW1lZGlhdGVseSwgb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZVxuICAvLyBhbnkgYWN0aW9ucyB0aGF0IHNob3VsZG4ndCBoYXBwZW4gdW50aWwgXCJsYXRlclwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3QgcmVhZCBjYWxsLlxuICB0aGlzLnN5bmMgPSB0cnVlO1xuXG4gIC8vIHdoZW5ldmVyIHdlIHJldHVybiBudWxsLCB0aGVuIHdlIHNldCBhIGZsYWcgdG8gc2F5XG4gIC8vIHRoYXQgd2UncmUgYXdhaXRpbmcgYSAncmVhZGFibGUnIGV2ZW50IGVtaXNzaW9uLlxuICB0aGlzLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB0aGlzLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB0aGlzLnJlYWRhYmxlTGlzdGVuaW5nID0gZmFsc2U7XG4gIHRoaXMucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgLy8gaGFzIGl0IGJlZW4gZGVzdHJveWVkXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7XG5cbiAgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xuICAvLyBlbmNvZGluZyBpcyAnYmluYXJ5JyBzbyB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBjb25maWd1cmFibGUuXG4gIC8vIEV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGUgdW5pdmVyc2UgdXNlcyAndXRmOCcsIHRob3VnaC5cbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7XG5cbiAgLy8gdGhlIG51bWJlciBvZiB3cml0ZXJzIHRoYXQgYXJlIGF3YWl0aW5nIGEgZHJhaW4gZXZlbnQgaW4gLnBpcGUoKXNcbiAgdGhpcy5hd2FpdERyYWluID0gMDtcblxuICAvLyBpZiB0cnVlLCBhIG1heWJlUmVhZE1vcmUgaGFzIGJlZW4gc2NoZWR1bGVkXG4gIHRoaXMucmVhZGluZ01vcmUgPSBmYWxzZTtcblxuICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICB0aGlzLmVuY29kaW5nID0gbnVsbDtcbiAgaWYgKG9wdGlvbnMuZW5jb2RpbmcpIHtcbiAgICBpZiAoIVN0cmluZ0RlY29kZXIpIFN0cmluZ0RlY29kZXIgPSByZXF1aXJlKCdzdHJpbmdfZGVjb2Rlci8nKS5TdHJpbmdEZWNvZGVyO1xuICAgIHRoaXMuZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKG9wdGlvbnMuZW5jb2RpbmcpO1xuICAgIHRoaXMuZW5jb2RpbmcgPSBvcHRpb25zLmVuY29kaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlKG9wdGlvbnMpIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKSByZXR1cm4gbmV3IFJlYWRhYmxlKG9wdGlvbnMpO1xuXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUgPSBuZXcgUmVhZGFibGVTdGF0ZShvcHRpb25zLCB0aGlzKTtcblxuICAvLyBsZWdhY3lcbiAgdGhpcy5yZWFkYWJsZSA9IHRydWU7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMucmVhZCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fcmVhZCA9IG9wdGlvbnMucmVhZDtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xuICB9XG5cbiAgU3RyZWFtLmNhbGwodGhpcyk7XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcbiAgICBpZiAoIXRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgfVxufSk7XG5cblJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcblJlYWRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95ID0gZGVzdHJveUltcGwudW5kZXN0cm95O1xuUmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcbiAgdGhpcy5wdXNoKG51bGwpO1xuICBjYihlcnIpO1xufTtcblxuLy8gTWFudWFsbHkgc2hvdmUgc29tZXRoaW5nIGludG8gdGhlIHJlYWQoKSBidWZmZXIuXG4vLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB0aGUgaGlnaFdhdGVyTWFyayBoYXMgbm90IGJlZW4gaGl0IHlldCxcbi8vIHNpbWlsYXIgdG8gaG93IFdyaXRhYmxlLndyaXRlKCkgcmV0dXJucyB0cnVlIGlmIHlvdSBzaG91bGRcbi8vIHdyaXRlKCkgc29tZSBtb3JlLlxuUmVhZGFibGUucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBza2lwQ2h1bmtDaGVjaztcblxuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUpIHtcbiAgICBpZiAodHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZyB8fCBzdGF0ZS5kZWZhdWx0RW5jb2Rpbmc7XG4gICAgICBpZiAoZW5jb2RpbmcgIT09IHN0YXRlLmVuY29kaW5nKSB7XG4gICAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oY2h1bmssIGVuY29kaW5nKTtcbiAgICAgICAgZW5jb2RpbmcgPSAnJztcbiAgICAgIH1cbiAgICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIGVuY29kaW5nLCBmYWxzZSwgc2tpcENodW5rQ2hlY2spO1xufTtcblxuLy8gVW5zaGlmdCBzaG91bGQgKmFsd2F5cyogYmUgc29tZXRoaW5nIGRpcmVjdGx5IG91dCBvZiByZWFkKClcblJlYWRhYmxlLnByb3RvdHlwZS51bnNoaWZ0ID0gZnVuY3Rpb24gKGNodW5rKSB7XG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBudWxsLCB0cnVlLCBmYWxzZSk7XG59O1xuXG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xuICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBlcjtcbiAgICBpZiAoIXNraXBDaHVua0NoZWNrKSBlciA9IGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspO1xuICAgIGlmIChlcikge1xuICAgICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUub2JqZWN0TW9kZSB8fCBjaHVuayAmJiBjaHVuay5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2h1bmspICE9PSBCdWZmZXIucHJvdG90eXBlKSB7XG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XG4gICAgICAgIGlmIChzdGF0ZS5lbmRFbWl0dGVkKSBzdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ3N0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50JykpO2Vsc2UgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5lbmRlZCkge1xuICAgICAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ3N0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GJykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcbiAgICAgICAgICBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xuICAgICAgICAgIGlmIChzdGF0ZS5vYmplY3RNb2RlIHx8IGNodW5rLmxlbmd0aCAhPT0gMCkgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtlbHNlIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWFkZFRvRnJvbnQpIHtcbiAgICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmVlZE1vcmVEYXRhKHN0YXRlKTtcbn1cblxuZnVuY3Rpb24gYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGFkZFRvRnJvbnQpIHtcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwICYmICFzdGF0ZS5zeW5jKSB7XG4gICAgc3RyZWFtLmVtaXQoJ2RhdGEnLCBjaHVuayk7XG4gICAgc3RyZWFtLnJlYWQoMCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gdXBkYXRlIHRoZSBidWZmZXIgaW5mby5cbiAgICBzdGF0ZS5sZW5ndGggKz0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XG4gICAgaWYgKGFkZFRvRnJvbnQpIHN0YXRlLmJ1ZmZlci51bnNoaWZ0KGNodW5rKTtlbHNlIHN0YXRlLmJ1ZmZlci5wdXNoKGNodW5rKTtcblxuICAgIGlmIChzdGF0ZS5uZWVkUmVhZGFibGUpIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xuICB9XG4gIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XG59XG5cbmZ1bmN0aW9uIGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspIHtcbiAgdmFyIGVyO1xuICBpZiAoIV9pc1VpbnQ4QXJyYXkoY2h1bmspICYmIHR5cGVvZiBjaHVuayAhPT0gJ3N0cmluZycgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xuICAgIGVyID0gbmV3IFR5cGVFcnJvcignSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuaycpO1xuICB9XG4gIHJldHVybiBlcjtcbn1cblxuLy8gaWYgaXQncyBwYXN0IHRoZSBoaWdoIHdhdGVyIG1hcmssIHdlIGNhbiBwdXNoIGluIHNvbWUgbW9yZS5cbi8vIEFsc28sIGlmIHdlIGhhdmUgbm8gZGF0YSB5ZXQsIHdlIGNhbiBzdGFuZCBzb21lXG4vLyBtb3JlIGJ5dGVzLiAgVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBjYXNlcyB3aGVyZSBod209MCxcbi8vIHN1Y2ggYXMgdGhlIHJlcGwuICBBbHNvLCBpZiB0aGUgcHVzaCgpIHRyaWdnZXJlZCBhXG4vLyByZWFkYWJsZSBldmVudCwgYW5kIHRoZSB1c2VyIGNhbGxlZCByZWFkKGxhcmdlTnVtYmVyKSBzdWNoIHRoYXRcbi8vIG5lZWRSZWFkYWJsZSB3YXMgc2V0LCB0aGVuIHdlIG91Z2h0IHRvIHB1c2ggbW9yZSwgc28gdGhhdCBhbm90aGVyXG4vLyAncmVhZGFibGUnIGV2ZW50IHdpbGwgYmUgdHJpZ2dlcmVkLlxuZnVuY3Rpb24gbmVlZE1vcmVEYXRhKHN0YXRlKSB7XG4gIHJldHVybiAhc3RhdGUuZW5kZWQgJiYgKHN0YXRlLm5lZWRSZWFkYWJsZSB8fCBzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCk7XG59XG5cblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9PT0gZmFsc2U7XG59O1xuXG4vLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cblJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZyA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gcmVxdWlyZSgnc3RyaW5nX2RlY29kZXIvJykuU3RyaW5nRGVjb2RlcjtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmNvZGluZyA9IGVuYztcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vLyBEb24ndCByYWlzZSB0aGUgaHdtID4gOE1CXG52YXIgTUFYX0hXTSA9IDB4ODAwMDAwO1xuZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobikge1xuICBpZiAobiA+PSBNQVhfSFdNKSB7XG4gICAgbiA9IE1BWF9IV007XG4gIH0gZWxzZSB7XG4gICAgLy8gR2V0IHRoZSBuZXh0IGhpZ2hlc3QgcG93ZXIgb2YgMiB0byBwcmV2ZW50IGluY3JlYXNpbmcgaHdtIGV4Y2Vzc2l2ZWx5IGluXG4gICAgLy8gdGlueSBhbW91bnRzXG4gICAgbi0tO1xuICAgIG4gfD0gbiA+Pj4gMTtcbiAgICBuIHw9IG4gPj4+IDI7XG4gICAgbiB8PSBuID4+PiA0O1xuICAgIG4gfD0gbiA+Pj4gODtcbiAgICBuIHw9IG4gPj4+IDE2O1xuICAgIG4rKztcbiAgfVxuICByZXR1cm4gbjtcbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXG5mdW5jdGlvbiBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKSB7XG4gIGlmIChuIDw9IDAgfHwgc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSByZXR1cm4gMDtcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldHVybiAxO1xuICBpZiAobiAhPT0gbikge1xuICAgIC8vIE9ubHkgZmxvdyBvbmUgYnVmZmVyIGF0IGEgdGltZVxuICAgIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCkgcmV0dXJuIHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoO2Vsc2UgcmV0dXJuIHN0YXRlLmxlbmd0aDtcbiAgfVxuICAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cbiAgaWYgKG4gPiBzdGF0ZS5oaWdoV2F0ZXJNYXJrKSBzdGF0ZS5oaWdoV2F0ZXJNYXJrID0gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobik7XG4gIGlmIChuIDw9IHN0YXRlLmxlbmd0aCkgcmV0dXJuIG47XG4gIC8vIERvbid0IGhhdmUgZW5vdWdoXG4gIGlmICghc3RhdGUuZW5kZWQpIHtcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuICAgIHJldHVybiAwO1xuICB9XG4gIHJldHVybiBzdGF0ZS5sZW5ndGg7XG59XG5cbi8vIHlvdSBjYW4gb3ZlcnJpZGUgZWl0aGVyIHRoaXMgbWV0aG9kLCBvciB0aGUgYXN5bmMgX3JlYWQobikgYmVsb3cuXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XG4gIGRlYnVnKCdyZWFkJywgbik7XG4gIG4gPSBwYXJzZUludChuLCAxMCk7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBuT3JpZyA9IG47XG5cbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuXG4gIC8vIGlmIHdlJ3JlIGRvaW5nIHJlYWQoMCkgdG8gdHJpZ2dlciBhIHJlYWRhYmxlIGV2ZW50LCBidXQgd2VcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxuICAvLyB0aGUgJ3JlYWRhYmxlJyBldmVudCBhbmQgbW92ZSBvbi5cbiAgaWYgKG4gPT09IDAgJiYgc3RhdGUubmVlZFJlYWRhYmxlICYmIChzdGF0ZS5sZW5ndGggPj0gc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5lbmRlZCkpIHtcbiAgICBkZWJ1ZygncmVhZDogZW1pdFJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XG4gICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkgZW5kUmVhZGFibGUodGhpcyk7ZWxzZSBlbWl0UmVhZGFibGUodGhpcyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBuID0gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSk7XG5cbiAgLy8gaWYgd2UndmUgZW5kZWQsIGFuZCB3ZSdyZSBub3cgY2xlYXIsIHRoZW4gZmluaXNoIGl0IHVwLlxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkge1xuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQWxsIHRoZSBhY3R1YWwgY2h1bmsgZ2VuZXJhdGlvbiBsb2dpYyBuZWVkcyB0byBiZVxuICAvLyAqYmVsb3cqIHRoZSBjYWxsIHRvIF9yZWFkLiAgVGhlIHJlYXNvbiBpcyB0aGF0IGluIGNlcnRhaW5cbiAgLy8gc3ludGhldGljIHN0cmVhbSBjYXNlcywgc3VjaCBhcyBwYXNzdGhyb3VnaCBzdHJlYW1zLCBfcmVhZFxuICAvLyBtYXkgYmUgYSBjb21wbGV0ZWx5IHN5bmNocm9ub3VzIG9wZXJhdGlvbiB3aGljaCBtYXkgY2hhbmdlXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgcmVhZCBidWZmZXIsIHByb3ZpZGluZyBlbm91Z2ggZGF0YSB3aGVuXG4gIC8vIGJlZm9yZSB0aGVyZSB3YXMgKm5vdCogZW5vdWdoLlxuICAvL1xuICAvLyBTbywgdGhlIHN0ZXBzIGFyZTpcbiAgLy8gMS4gRmlndXJlIG91dCB3aGF0IHRoZSBzdGF0ZSBvZiB0aGluZ3Mgd2lsbCBiZSBhZnRlciB3ZSBkb1xuICAvLyBhIHJlYWQgZnJvbSB0aGUgYnVmZmVyLlxuICAvL1xuICAvLyAyLiBJZiB0aGF0IHJlc3VsdGluZyBzdGF0ZSB3aWxsIHRyaWdnZXIgYSBfcmVhZCwgdGhlbiBjYWxsIF9yZWFkLlxuICAvLyBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgYXN5bmNocm9ub3VzLCBvciBzeW5jaHJvbm91cy4gIFllcywgaXQgaXNcbiAgLy8gZGVlcGx5IHVnbHkgdG8gd3JpdGUgQVBJcyB0aGlzIHdheSwgYnV0IHRoYXQgc3RpbGwgZG9lc24ndCBtZWFuXG4gIC8vIHRoYXQgdGhlIFJlYWRhYmxlIGNsYXNzIHNob3VsZCBiZWhhdmUgaW1wcm9wZXJseSwgYXMgc3RyZWFtcyBhcmVcbiAgLy8gZGVzaWduZWQgdG8gYmUgc3luYy9hc3luYyBhZ25vc3RpYy5cbiAgLy8gVGFrZSBub3RlIGlmIHRoZSBfcmVhZCBjYWxsIGlzIHN5bmMgb3IgYXN5bmMgKGllLCBpZiB0aGUgcmVhZCBjYWxsXG4gIC8vIGhhcyByZXR1cm5lZCB5ZXQpLCBzbyB0aGF0IHdlIGtub3cgd2hldGhlciBvciBub3QgaXQncyBzYWZlIHRvIGVtaXRcbiAgLy8gJ3JlYWRhYmxlJyBldGMuXG4gIC8vXG4gIC8vIDMuIEFjdHVhbGx5IHB1bGwgdGhlIHJlcXVlc3RlZCBjaHVua3Mgb3V0IG9mIHRoZSBidWZmZXIgYW5kIHJldHVybi5cblxuICAvLyBpZiB3ZSBuZWVkIGEgcmVhZGFibGUgZXZlbnQsIHRoZW4gd2UgbmVlZCB0byBkbyBzb21lIHJlYWRpbmcuXG4gIHZhciBkb1JlYWQgPSBzdGF0ZS5uZWVkUmVhZGFibGU7XG4gIGRlYnVnKCduZWVkIHJlYWRhYmxlJywgZG9SZWFkKTtcblxuICAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCB8fCBzdGF0ZS5sZW5ndGggLSBuIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykge1xuICAgIGRvUmVhZCA9IHRydWU7XG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcbiAgfVxuXG4gIC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XG4gIC8vIHJlYWRpbmcsIHRoZW4gaXQncyB1bm5lY2Vzc2FyeS5cbiAgaWYgKHN0YXRlLmVuZGVkIHx8IHN0YXRlLnJlYWRpbmcpIHtcbiAgICBkb1JlYWQgPSBmYWxzZTtcbiAgICBkZWJ1ZygncmVhZGluZyBvciBlbmRlZCcsIGRvUmVhZCk7XG4gIH0gZWxzZSBpZiAoZG9SZWFkKSB7XG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcbiAgICBzdGF0ZS5yZWFkaW5nID0gdHJ1ZTtcbiAgICBzdGF0ZS5zeW5jID0gdHJ1ZTtcbiAgICAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XG4gICAgLy8gY2FsbCBpbnRlcm5hbCByZWFkIG1ldGhvZFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XG4gICAgc3RhdGUuc3luYyA9IGZhbHNlO1xuICAgIC8vIElmIF9yZWFkIHB1c2hlZCBkYXRhIHN5bmNocm9ub3VzbHksIHRoZW4gYHJlYWRpbmdgIHdpbGwgYmUgZmFsc2UsXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxuICAgIGlmICghc3RhdGUucmVhZGluZykgbiA9IGhvd011Y2hUb1JlYWQobk9yaWcsIHN0YXRlKTtcbiAgfVxuXG4gIHZhciByZXQ7XG4gIGlmIChuID4gMCkgcmV0ID0gZnJvbUxpc3Qobiwgc3RhdGUpO2Vsc2UgcmV0ID0gbnVsbDtcblxuICBpZiAocmV0ID09PSBudWxsKSB7XG4gICAgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICBuID0gMDtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZS5sZW5ndGggLT0gbjtcbiAgfVxuXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICAvLyBJZiB3ZSBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciwgdGhlbiB3ZSB3YW50IHRvIGtub3dcbiAgICAvLyBhcyBzb29uIGFzIHdlICpkbyogZ2V0IHNvbWV0aGluZyBpbnRvIHRoZSBidWZmZXIuXG4gICAgaWYgKCFzdGF0ZS5lbmRlZCkgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcblxuICAgIC8vIElmIHdlIHRyaWVkIHRvIHJlYWQoKSBwYXN0IHRoZSBFT0YsIHRoZW4gZW1pdCBlbmQgb24gdGhlIG5leHQgdGljay5cbiAgICBpZiAobk9yaWcgIT09IG4gJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO1xuICB9XG5cbiAgaWYgKHJldCAhPT0gbnVsbCkgdGhpcy5lbWl0KCdkYXRhJywgcmV0KTtcblxuICByZXR1cm4gcmV0O1xufTtcblxuZnVuY3Rpb24gb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKSB7XG4gIGlmIChzdGF0ZS5lbmRlZCkgcmV0dXJuO1xuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xuICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XG4gICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkge1xuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xuICAgICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuICAgIH1cbiAgfVxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XG5cbiAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXG4gIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xufVxuXG4vLyBEb24ndCBlbWl0IHJlYWRhYmxlIHJpZ2h0IGF3YXkgaW4gc3luYyBtb2RlLCBiZWNhdXNlIHRoaXMgY2FuIHRyaWdnZXJcbi8vIGFub3RoZXIgcmVhZCgpIGNhbGwgPT4gc3RhY2sgb3ZlcmZsb3cuICBUaGlzIHdheSwgaXQgbWlnaHQgdHJpZ2dlclxuLy8gYSBuZXh0VGljayByZWN1cnNpb24gd2FybmluZywgYnV0IHRoYXQncyBub3Qgc28gYmFkLlxuZnVuY3Rpb24gZW1pdFJlYWRhYmxlKHN0cmVhbSkge1xuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xuICBpZiAoIXN0YXRlLmVtaXR0ZWRSZWFkYWJsZSkge1xuICAgIGRlYnVnKCdlbWl0UmVhZGFibGUnLCBzdGF0ZS5mbG93aW5nKTtcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xuICAgIGlmIChzdGF0ZS5zeW5jKSBwbmEubmV4dFRpY2soZW1pdFJlYWRhYmxlXywgc3RyZWFtKTtlbHNlIGVtaXRSZWFkYWJsZV8oc3RyZWFtKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbWl0UmVhZGFibGVfKHN0cmVhbSkge1xuICBkZWJ1ZygnZW1pdCByZWFkYWJsZScpO1xuICBzdHJlYW0uZW1pdCgncmVhZGFibGUnKTtcbiAgZmxvdyhzdHJlYW0pO1xufVxuXG4vLyBhdCB0aGlzIHBvaW50LCB0aGUgdXNlciBoYXMgcHJlc3VtYWJseSBzZWVuIHRoZSAncmVhZGFibGUnIGV2ZW50LFxuLy8gYW5kIGNhbGxlZCByZWFkKCkgdG8gY29uc3VtZSBzb21lIGRhdGEuICB0aGF0IG1heSBoYXZlIHRyaWdnZXJlZFxuLy8gaW4gdHVybiBhbm90aGVyIF9yZWFkKG4pIGNhbGwsIGluIHdoaWNoIGNhc2UgcmVhZGluZyA9IHRydWUgaWZcbi8vIGl0J3MgaW4gcHJvZ3Jlc3MuXG4vLyBIb3dldmVyLCBpZiB3ZSdyZSBub3QgZW5kZWQsIG9yIHJlYWRpbmcsIGFuZCB0aGUgbGVuZ3RoIDwgaHdtLFxuLy8gdGhlbiBnbyBhaGVhZCBhbmQgdHJ5IHRvIHJlYWQgc29tZSBtb3JlIHByZWVtcHRpdmVseS5cbmZ1bmN0aW9uIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSkge1xuICBpZiAoIXN0YXRlLnJlYWRpbmdNb3JlKSB7XG4gICAgc3RhdGUucmVhZGluZ01vcmUgPSB0cnVlO1xuICAgIHBuYS5uZXh0VGljayhtYXliZVJlYWRNb3JlXywgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xuICB2YXIgbGVuID0gc3RhdGUubGVuZ3RoO1xuICB3aGlsZSAoIXN0YXRlLnJlYWRpbmcgJiYgIXN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLmVuZGVkICYmIHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcmspIHtcbiAgICBkZWJ1ZygnbWF5YmVSZWFkTW9yZSByZWFkIDAnKTtcbiAgICBzdHJlYW0ucmVhZCgwKTtcbiAgICBpZiAobGVuID09PSBzdGF0ZS5sZW5ndGgpXG4gICAgICAvLyBkaWRuJ3QgZ2V0IGFueSBkYXRhLCBzdG9wIHNwaW5uaW5nLlxuICAgICAgYnJlYWs7ZWxzZSBsZW4gPSBzdGF0ZS5sZW5ndGg7XG4gIH1cbiAgc3RhdGUucmVhZGluZ01vcmUgPSBmYWxzZTtcbn1cblxuLy8gYWJzdHJhY3QgbWV0aG9kLiAgdG8gYmUgb3ZlcnJpZGRlbiBpbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxuLy8gY2FsbCBjYihlciwgZGF0YSkgd2hlcmUgZGF0YSBpcyA8PSBuIGluIGxlbmd0aC5cbi8vIGZvciB2aXJ0dWFsIChub24tc3RyaW5nLCBub24tYnVmZmVyKSBzdHJlYW1zLCBcImxlbmd0aFwiIGlzIHNvbWV3aGF0XG4vLyBhcmJpdHJhcnksIGFuZCBwZXJoYXBzIG5vdCB2ZXJ5IG1lYW5pbmdmdWwuXG5SZWFkYWJsZS5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAobikge1xuICB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCdfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpKTtcbn07XG5cblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XG4gIHZhciBzcmMgPSB0aGlzO1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuXG4gIHN3aXRjaCAoc3RhdGUucGlwZXNDb3VudCkge1xuICAgIGNhc2UgMDpcbiAgICAgIHN0YXRlLnBpcGVzID0gZGVzdDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMTpcbiAgICAgIHN0YXRlLnBpcGVzID0gW3N0YXRlLnBpcGVzLCBkZXN0XTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBzdGF0ZS5waXBlcy5wdXNoKGRlc3QpO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgc3RhdGUucGlwZXNDb3VudCArPSAxO1xuICBkZWJ1ZygncGlwZSBjb3VudD0lZCBvcHRzPSVqJywgc3RhdGUucGlwZXNDb3VudCwgcGlwZU9wdHMpO1xuXG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XG5cbiAgdmFyIGVuZEZuID0gZG9FbmQgPyBvbmVuZCA6IHVucGlwZTtcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHBuYS5uZXh0VGljayhlbmRGbik7ZWxzZSBzcmMub25jZSgnZW5kJywgZW5kRm4pO1xuXG4gIGRlc3Qub24oJ3VucGlwZScsIG9udW5waXBlKTtcbiAgZnVuY3Rpb24gb251bnBpcGUocmVhZGFibGUsIHVucGlwZUluZm8pIHtcbiAgICBkZWJ1Zygnb251bnBpcGUnKTtcbiAgICBpZiAocmVhZGFibGUgPT09IHNyYykge1xuICAgICAgaWYgKHVucGlwZUluZm8gJiYgdW5waXBlSW5mby5oYXNVbnBpcGVkID09PSBmYWxzZSkge1xuICAgICAgICB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPSB0cnVlO1xuICAgICAgICBjbGVhbnVwKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gb25lbmQoKSB7XG4gICAgZGVidWcoJ29uZW5kJyk7XG4gICAgZGVzdC5lbmQoKTtcbiAgfVxuXG4gIC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcbiAgLy8gb24gdGhlIHNvdXJjZS4gIFRoaXMgd291bGQgYmUgbW9yZSBlbGVnYW50IHdpdGggYSAub25jZSgpXG4gIC8vIGhhbmRsZXIgaW4gZmxvdygpLCBidXQgYWRkaW5nIGFuZCByZW1vdmluZyByZXBlYXRlZGx5IGlzXG4gIC8vIHRvbyBzbG93LlxuICB2YXIgb25kcmFpbiA9IHBpcGVPbkRyYWluKHNyYyk7XG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XG5cbiAgdmFyIGNsZWFuZWRVcCA9IGZhbHNlO1xuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIGRlYnVnKCdjbGVhbnVwJyk7XG4gICAgLy8gY2xlYW51cCBldmVudCBoYW5kbGVycyBvbmNlIHRoZSBwaXBlIGlzIGJyb2tlblxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2RyYWluJywgb25kcmFpbik7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCd1bnBpcGUnLCBvbnVucGlwZSk7XG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmVuZCk7XG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCB1bnBpcGUpO1xuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XG5cbiAgICBjbGVhbmVkVXAgPSB0cnVlO1xuXG4gICAgLy8gaWYgdGhlIHJlYWRlciBpcyB3YWl0aW5nIGZvciBhIGRyYWluIGV2ZW50IGZyb20gdGhpc1xuICAgIC8vIHNwZWNpZmljIHdyaXRlciwgdGhlbiBpdCB3b3VsZCBjYXVzZSBpdCB0byBuZXZlciBzdGFydFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXG4gICAgLy8gU28sIGlmIHRoaXMgaXMgYXdhaXRpbmcgYSBkcmFpbiwgdGhlbiB3ZSBqdXN0IGNhbGwgaXQgbm93LlxuICAgIC8vIElmIHdlIGRvbid0IGtub3csIHRoZW4gYXNzdW1lIHRoYXQgd2UgYXJlIHdhaXRpbmcgZm9yIG9uZS5cbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XG4gIH1cblxuICAvLyBJZiB0aGUgdXNlciBwdXNoZXMgbW9yZSBkYXRhIHdoaWxlIHdlJ3JlIHdyaXRpbmcgdG8gZGVzdCB0aGVuIHdlJ2xsIGVuZCB1cFxuICAvLyBpbiBvbmRhdGEgYWdhaW4uIEhvd2V2ZXIsIHdlIG9ubHkgd2FudCB0byBpbmNyZWFzZSBhd2FpdERyYWluIG9uY2UgYmVjYXVzZVxuICAvLyBkZXN0IHdpbGwgb25seSBlbWl0IG9uZSAnZHJhaW4nIGV2ZW50IGZvciB0aGUgbXVsdGlwbGUgd3JpdGVzLlxuICAvLyA9PiBJbnRyb2R1Y2UgYSBndWFyZCBvbiBpbmNyZWFzaW5nIGF3YWl0RHJhaW4uXG4gIHZhciBpbmNyZWFzZWRBd2FpdERyYWluID0gZmFsc2U7XG4gIHNyYy5vbignZGF0YScsIG9uZGF0YSk7XG4gIGZ1bmN0aW9uIG9uZGF0YShjaHVuaykge1xuICAgIGRlYnVnKCdvbmRhdGEnKTtcbiAgICBpbmNyZWFzZWRBd2FpdERyYWluID0gZmFsc2U7XG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xuICAgIGlmIChmYWxzZSA9PT0gcmV0ICYmICFpbmNyZWFzZWRBd2FpdERyYWluKSB7XG4gICAgICAvLyBJZiB0aGUgdXNlciB1bnBpcGVkIGR1cmluZyBgZGVzdC53cml0ZSgpYCwgaXQgaXMgcG9zc2libGVcbiAgICAgIC8vIHRvIGdldCBzdHVjayBpbiBhIHBlcm1hbmVudGx5IHBhdXNlZCBzdGF0ZSBpZiB0aGF0IHdyaXRlXG4gICAgICAvLyBhbHNvIHJldHVybmVkIGZhbHNlLlxuICAgICAgLy8gPT4gQ2hlY2sgd2hldGhlciBgZGVzdGAgaXMgc3RpbGwgYSBwaXBpbmcgZGVzdGluYXRpb24uXG4gICAgICBpZiAoKHN0YXRlLnBpcGVzQ291bnQgPT09IDEgJiYgc3RhdGUucGlwZXMgPT09IGRlc3QgfHwgc3RhdGUucGlwZXNDb3VudCA+IDEgJiYgaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCkgIT09IC0xKSAmJiAhY2xlYW5lZFVwKSB7XG4gICAgICAgIGRlYnVnKCdmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UnLCBzcmMuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbik7XG4gICAgICAgIHNyYy5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKys7XG4gICAgICAgIGluY3JlYXNlZEF3YWl0RHJhaW4gPSB0cnVlO1xuICAgICAgfVxuICAgICAgc3JjLnBhdXNlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gaWYgdGhlIGRlc3QgaGFzIGFuIGVycm9yLCB0aGVuIHN0b3AgcGlwaW5nIGludG8gaXQuXG4gIC8vIGhvd2V2ZXIsIGRvbid0IHN1cHByZXNzIHRoZSB0aHJvd2luZyBiZWhhdmlvciBmb3IgdGhpcy5cbiAgZnVuY3Rpb24gb25lcnJvcihlcikge1xuICAgIGRlYnVnKCdvbmVycm9yJywgZXIpO1xuICAgIHVucGlwZSgpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XG4gICAgaWYgKEVFbGlzdGVuZXJDb3VudChkZXN0LCAnZXJyb3InKSA9PT0gMCkgZGVzdC5lbWl0KCdlcnJvcicsIGVyKTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgdXNlcmxhbmQgb25lcy5cbiAgcHJlcGVuZExpc3RlbmVyKGRlc3QsICdlcnJvcicsIG9uZXJyb3IpO1xuXG4gIC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXG4gIGZ1bmN0aW9uIG9uY2xvc2UoKSB7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xuICAgIHVucGlwZSgpO1xuICB9XG4gIGRlc3Qub25jZSgnY2xvc2UnLCBvbmNsb3NlKTtcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XG4gICAgZGVidWcoJ29uZmluaXNoJyk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcbiAgICB1bnBpcGUoKTtcbiAgfVxuICBkZXN0Lm9uY2UoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcblxuICBmdW5jdGlvbiB1bnBpcGUoKSB7XG4gICAgZGVidWcoJ3VucGlwZScpO1xuICAgIHNyYy51bnBpcGUoZGVzdCk7XG4gIH1cblxuICAvLyB0ZWxsIHRoZSBkZXN0IHRoYXQgaXQncyBiZWluZyBwaXBlZCB0b1xuICBkZXN0LmVtaXQoJ3BpcGUnLCBzcmMpO1xuXG4gIC8vIHN0YXJ0IHRoZSBmbG93IGlmIGl0IGhhc24ndCBiZWVuIHN0YXJ0ZWQgYWxyZWFkeS5cbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XG4gICAgZGVidWcoJ3BpcGUgcmVzdW1lJyk7XG4gICAgc3JjLnJlc3VtZSgpO1xuICB9XG5cbiAgcmV0dXJuIGRlc3Q7XG59O1xuXG5mdW5jdGlvbiBwaXBlT25EcmFpbihzcmMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc3RhdGUgPSBzcmMuX3JlYWRhYmxlU3RhdGU7XG4gICAgZGVidWcoJ3BpcGVPbkRyYWluJywgc3RhdGUuYXdhaXREcmFpbik7XG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4pIHN0YXRlLmF3YWl0RHJhaW4tLTtcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiA9PT0gMCAmJiBFRWxpc3RlbmVyQ291bnQoc3JjLCAnZGF0YScpKSB7XG4gICAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcbiAgICAgIGZsb3coc3JjKTtcbiAgICB9XG4gIH07XG59XG5cblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICB2YXIgdW5waXBlSW5mbyA9IHsgaGFzVW5waXBlZDogZmFsc2UgfTtcblxuICAvLyBpZiB3ZSdyZSBub3QgcGlwaW5nIGFueXdoZXJlLCB0aGVuIGRvIG5vdGhpbmcuXG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAwKSByZXR1cm4gdGhpcztcblxuICAvLyBqdXN0IG9uZSBkZXN0aW5hdGlvbi4gIG1vc3QgY29tbW9uIGNhc2UuXG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAxKSB7XG4gICAgLy8gcGFzc2VkIGluIG9uZSwgYnV0IGl0J3Mgbm90IHRoZSByaWdodCBvbmUuXG4gICAgaWYgKGRlc3QgJiYgZGVzdCAhPT0gc3RhdGUucGlwZXMpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKCFkZXN0KSBkZXN0ID0gc3RhdGUucGlwZXM7XG5cbiAgICAvLyBnb3QgYSBtYXRjaC5cbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XG4gICAgc3RhdGUucGlwZXNDb3VudCA9IDA7XG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xuICAgIGlmIChkZXN0KSBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gc2xvdyBjYXNlLiBtdWx0aXBsZSBwaXBlIGRlc3RpbmF0aW9ucy5cblxuICBpZiAoIWRlc3QpIHtcbiAgICAvLyByZW1vdmUgYWxsLlxuICAgIHZhciBkZXN0cyA9IHN0YXRlLnBpcGVzO1xuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xuICAgIHN0YXRlLnBpcGVzID0gbnVsbDtcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcbiAgICB9cmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyB0cnkgdG8gZmluZCB0aGUgcmlnaHQgb25lLlxuICB2YXIgaW5kZXggPSBpbmRleE9mKHN0YXRlLnBpcGVzLCBkZXN0KTtcbiAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIHRoaXM7XG5cbiAgc3RhdGUucGlwZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkgc3RhdGUucGlwZXMgPSBzdGF0ZS5waXBlc1swXTtcblxuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLy8gc2V0IHVwIGRhdGEgZXZlbnRzIGlmIHRoZXkgYXJlIGFza2VkIGZvclxuLy8gRW5zdXJlIHJlYWRhYmxlIGxpc3RlbmVycyBldmVudHVhbGx5IGdldCBzb21ldGhpbmdcblJlYWRhYmxlLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uIChldiwgZm4pIHtcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUub24uY2FsbCh0aGlzLCBldiwgZm4pO1xuXG4gIGlmIChldiA9PT0gJ2RhdGEnKSB7XG4gICAgLy8gU3RhcnQgZmxvd2luZyBvbiBuZXh0IHRpY2sgaWYgc3RyZWFtIGlzbid0IGV4cGxpY2l0bHkgcGF1c2VkXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAhPT0gZmFsc2UpIHRoaXMucmVzdW1lKCk7XG4gIH0gZWxzZSBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcbiAgICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICAgIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcpIHtcbiAgICAgIHN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nID0gc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XG4gICAgICAgIHBuYS5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLCB0aGlzKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUubGVuZ3RoKSB7XG4gICAgICAgIGVtaXRSZWFkYWJsZSh0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzO1xufTtcblJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IFJlYWRhYmxlLnByb3RvdHlwZS5vbjtcblxuZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhzZWxmKSB7XG4gIGRlYnVnKCdyZWFkYWJsZSBuZXh0dGljayByZWFkIDAnKTtcbiAgc2VsZi5yZWFkKDApO1xufVxuXG4vLyBwYXVzZSgpIGFuZCByZXN1bWUoKSBhcmUgcmVtbmFudHMgb2YgdGhlIGxlZ2FjeSByZWFkYWJsZSBzdHJlYW0gQVBJXG4vLyBJZiB0aGUgdXNlciB1c2VzIHRoZW0sIHRoZW4gc3dpdGNoIGludG8gb2xkIG1vZGUuXG5SZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcbiAgICBkZWJ1ZygncmVzdW1lJyk7XG4gICAgc3RhdGUuZmxvd2luZyA9IHRydWU7XG4gICAgcmVzdW1lKHRoaXMsIHN0YXRlKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbmZ1bmN0aW9uIHJlc3VtZShzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XG4gICAgc3RhdGUucmVzdW1lU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBwbmEubmV4dFRpY2socmVzdW1lXywgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzdW1lXyhzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucmVhZGluZykge1xuICAgIGRlYnVnKCdyZXN1bWUgcmVhZCAwJyk7XG4gICAgc3RyZWFtLnJlYWQoMCk7XG4gIH1cblxuICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XG4gIHN0cmVhbS5lbWl0KCdyZXN1bWUnKTtcbiAgZmxvdyhzdHJlYW0pO1xuICBpZiAoc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUucmVhZGluZykgc3RyZWFtLnJlYWQoMCk7XG59XG5cblJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ2NhbGwgcGF1c2UgZmxvd2luZz0laicsIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyk7XG4gIGlmIChmYWxzZSAhPT0gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSB7XG4gICAgZGVidWcoJ3BhdXNlJyk7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gZmxvdyhzdHJlYW0pIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICBkZWJ1ZygnZmxvdycsIHN0YXRlLmZsb3dpbmcpO1xuICB3aGlsZSAoc3RhdGUuZmxvd2luZyAmJiBzdHJlYW0ucmVhZCgpICE9PSBudWxsKSB7fVxufVxuXG4vLyB3cmFwIGFuIG9sZC1zdHlsZSBzdHJlYW0gYXMgdGhlIGFzeW5jIGRhdGEgc291cmNlLlxuLy8gVGhpcyBpcyAqbm90KiBwYXJ0IG9mIHRoZSByZWFkYWJsZSBzdHJlYW0gaW50ZXJmYWNlLlxuLy8gSXQgaXMgYW4gdWdseSB1bmZvcnR1bmF0ZSBtZXNzIG9mIGhpc3RvcnkuXG5SZWFkYWJsZS5wcm90b3R5cGUud3JhcCA9IGZ1bmN0aW9uIChzdHJlYW0pIHtcbiAgdmFyIF90aGlzID0gdGhpcztcblxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICB2YXIgcGF1c2VkID0gZmFsc2U7XG5cbiAgc3RyZWFtLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgZW5kJyk7XG4gICAgaWYgKHN0YXRlLmRlY29kZXIgJiYgIXN0YXRlLmVuZGVkKSB7XG4gICAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xuICAgICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkgX3RoaXMucHVzaChjaHVuayk7XG4gICAgfVxuXG4gICAgX3RoaXMucHVzaChudWxsKTtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKCdkYXRhJywgZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgZGF0YScpO1xuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xuXG4gICAgLy8gZG9uJ3Qgc2tpcCBvdmVyIGZhbHN5IHZhbHVlcyBpbiBvYmplY3RNb2RlXG4gICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgJiYgKGNodW5rID09PSBudWxsIHx8IGNodW5rID09PSB1bmRlZmluZWQpKSByZXR1cm47ZWxzZSBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgKCFjaHVuayB8fCAhY2h1bmsubGVuZ3RoKSkgcmV0dXJuO1xuXG4gICAgdmFyIHJldCA9IF90aGlzLnB1c2goY2h1bmspO1xuICAgIGlmICghcmV0KSB7XG4gICAgICBwYXVzZWQgPSB0cnVlO1xuICAgICAgc3RyZWFtLnBhdXNlKCk7XG4gICAgfVxuICB9KTtcblxuICAvLyBwcm94eSBhbGwgdGhlIG90aGVyIG1ldGhvZHMuXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxuICBmb3IgKHZhciBpIGluIHN0cmVhbSkge1xuICAgIGlmICh0aGlzW2ldID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHN0cmVhbVtpXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc3RyZWFtW21ldGhvZF0uYXBwbHkoc3RyZWFtLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfShpKTtcbiAgICB9XG4gIH1cblxuICAvLyBwcm94eSBjZXJ0YWluIGltcG9ydGFudCBldmVudHMuXG4gIGZvciAodmFyIG4gPSAwOyBuIDwga1Byb3h5RXZlbnRzLmxlbmd0aDsgbisrKSB7XG4gICAgc3RyZWFtLm9uKGtQcm94eUV2ZW50c1tuXSwgdGhpcy5lbWl0LmJpbmQodGhpcywga1Byb3h5RXZlbnRzW25dKSk7XG4gIH1cblxuICAvLyB3aGVuIHdlIHRyeSB0byBjb25zdW1lIHNvbWUgbW9yZSBieXRlcywgc2ltcGx5IHVucGF1c2UgdGhlXG4gIC8vIHVuZGVybHlpbmcgc3RyZWFtLlxuICB0aGlzLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgICBkZWJ1Zygnd3JhcHBlZCBfcmVhZCcsIG4pO1xuICAgIGlmIChwYXVzZWQpIHtcbiAgICAgIHBhdXNlZCA9IGZhbHNlO1xuICAgICAgc3RyZWFtLnJlc3VtZSgpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuXG4vLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXG5SZWFkYWJsZS5fZnJvbUxpc3QgPSBmcm9tTGlzdDtcblxuLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxuLy8gTGVuZ3RoIGlzIHRoZSBjb21iaW5lZCBsZW5ndGhzIG9mIGFsbCB0aGUgYnVmZmVycyBpbiB0aGUgbGlzdC5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gZnJvbUxpc3Qobiwgc3RhdGUpIHtcbiAgLy8gbm90aGluZyBidWZmZXJlZFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICB2YXIgcmV0O1xuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0ID0gc3RhdGUuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZiAoIW4gfHwgbiA+PSBzdGF0ZS5sZW5ndGgpIHtcbiAgICAvLyByZWFkIGl0IGFsbCwgdHJ1bmNhdGUgdGhlIGxpc3RcbiAgICBpZiAoc3RhdGUuZGVjb2RlcikgcmV0ID0gc3RhdGUuYnVmZmVyLmpvaW4oJycpO2Vsc2UgaWYgKHN0YXRlLmJ1ZmZlci5sZW5ndGggPT09IDEpIHJldCA9IHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGE7ZWxzZSByZXQgPSBzdGF0ZS5idWZmZXIuY29uY2F0KHN0YXRlLmxlbmd0aCk7XG4gICAgc3RhdGUuYnVmZmVyLmNsZWFyKCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gcmVhZCBwYXJ0IG9mIGxpc3RcbiAgICByZXQgPSBmcm9tTGlzdFBhcnRpYWwobiwgc3RhdGUuYnVmZmVyLCBzdGF0ZS5kZWNvZGVyKTtcbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbi8vIEV4dHJhY3RzIG9ubHkgZW5vdWdoIGJ1ZmZlcmVkIGRhdGEgdG8gc2F0aXNmeSB0aGUgYW1vdW50IHJlcXVlc3RlZC5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gZnJvbUxpc3RQYXJ0aWFsKG4sIGxpc3QsIGhhc1N0cmluZ3MpIHtcbiAgdmFyIHJldDtcbiAgaWYgKG4gPCBsaXN0LmhlYWQuZGF0YS5sZW5ndGgpIHtcbiAgICAvLyBzbGljZSBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5nc1xuICAgIHJldCA9IGxpc3QuaGVhZC5kYXRhLnNsaWNlKDAsIG4pO1xuICAgIGxpc3QuaGVhZC5kYXRhID0gbGlzdC5oZWFkLmRhdGEuc2xpY2Uobik7XG4gIH0gZWxzZSBpZiAobiA9PT0gbGlzdC5oZWFkLmRhdGEubGVuZ3RoKSB7XG4gICAgLy8gZmlyc3QgY2h1bmsgaXMgYSBwZXJmZWN0IG1hdGNoXG4gICAgcmV0ID0gbGlzdC5zaGlmdCgpO1xuICB9IGVsc2Uge1xuICAgIC8vIHJlc3VsdCBzcGFucyBtb3JlIHRoYW4gb25lIGJ1ZmZlclxuICAgIHJldCA9IGhhc1N0cmluZ3MgPyBjb3B5RnJvbUJ1ZmZlclN0cmluZyhuLCBsaXN0KSA6IGNvcHlGcm9tQnVmZmVyKG4sIGxpc3QpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbi8vIENvcGllcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBsaXN0IG9mIGJ1ZmZlcmVkIGRhdGFcbi8vIGNodW5rcy5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gY29weUZyb21CdWZmZXJTdHJpbmcobiwgbGlzdCkge1xuICB2YXIgcCA9IGxpc3QuaGVhZDtcbiAgdmFyIGMgPSAxO1xuICB2YXIgcmV0ID0gcC5kYXRhO1xuICBuIC09IHJldC5sZW5ndGg7XG4gIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgdmFyIHN0ciA9IHAuZGF0YTtcbiAgICB2YXIgbmIgPSBuID4gc3RyLmxlbmd0aCA/IHN0ci5sZW5ndGggOiBuO1xuICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkgcmV0ICs9IHN0cjtlbHNlIHJldCArPSBzdHIuc2xpY2UoMCwgbik7XG4gICAgbiAtPSBuYjtcbiAgICBpZiAobiA9PT0gMCkge1xuICAgICAgaWYgKG5iID09PSBzdHIubGVuZ3RoKSB7XG4gICAgICAgICsrYztcbiAgICAgICAgaWYgKHAubmV4dCkgbGlzdC5oZWFkID0gcC5uZXh0O2Vsc2UgbGlzdC5oZWFkID0gbGlzdC50YWlsID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpc3QuaGVhZCA9IHA7XG4gICAgICAgIHAuZGF0YSA9IHN0ci5zbGljZShuYik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgKytjO1xuICB9XG4gIGxpc3QubGVuZ3RoIC09IGM7XG4gIHJldHVybiByZXQ7XG59XG5cbi8vIENvcGllcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgYnl0ZXMgZnJvbSB0aGUgbGlzdCBvZiBidWZmZXJlZCBkYXRhIGNodW5rcy5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gY29weUZyb21CdWZmZXIobiwgbGlzdCkge1xuICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4pO1xuICB2YXIgcCA9IGxpc3QuaGVhZDtcbiAgdmFyIGMgPSAxO1xuICBwLmRhdGEuY29weShyZXQpO1xuICBuIC09IHAuZGF0YS5sZW5ndGg7XG4gIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgdmFyIGJ1ZiA9IHAuZGF0YTtcbiAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xuICAgIGJ1Zi5jb3B5KHJldCwgcmV0Lmxlbmd0aCAtIG4sIDAsIG5iKTtcbiAgICBuIC09IG5iO1xuICAgIGlmIChuID09PSAwKSB7XG4gICAgICBpZiAobmIgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICAgICAgKytjO1xuICAgICAgICBpZiAocC5uZXh0KSBsaXN0LmhlYWQgPSBwLm5leHQ7ZWxzZSBsaXN0LmhlYWQgPSBsaXN0LnRhaWwgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGlzdC5oZWFkID0gcDtcbiAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICArK2M7XG4gIH1cbiAgbGlzdC5sZW5ndGggLT0gYztcbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gZW5kUmVhZGFibGUoc3RyZWFtKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcblxuICAvLyBJZiB3ZSBnZXQgaGVyZSBiZWZvcmUgY29uc3VtaW5nIGFsbCB0aGUgYnl0ZXMsIHRoZW4gdGhhdCBpcyBhXG4gIC8vIGJ1ZyBpbiBub2RlLiAgU2hvdWxkIG5ldmVyIGhhcHBlbi5cbiAgaWYgKHN0YXRlLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcignXCJlbmRSZWFkYWJsZSgpXCIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTtcblxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQpIHtcbiAgICBzdGF0ZS5lbmRlZCA9IHRydWU7XG4gICAgcG5hLm5leHRUaWNrKGVuZFJlYWRhYmxlTlQsIHN0YXRlLCBzdHJlYW0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xuICAvLyBDaGVjayB0aGF0IHdlIGRpZG4ndCBnZXQgb25lIGxhc3QgdW5zaGlmdC5cbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkge1xuICAgIHN0YXRlLmVuZEVtaXR0ZWQgPSB0cnVlO1xuICAgIHN0cmVhbS5yZWFkYWJsZSA9IGZhbHNlO1xuICAgIHN0cmVhbS5lbWl0KCdlbmQnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbmRleE9mKHhzLCB4KSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0geHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgaWYgKHhzW2ldID09PSB4KSByZXR1cm4gaTtcbiAgfVxuICByZXR1cm4gLTE7XG59IiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbi8vIGEgdHJhbnNmb3JtIHN0cmVhbSBpcyBhIHJlYWRhYmxlL3dyaXRhYmxlIHN0cmVhbSB3aGVyZSB5b3UgZG9cbi8vIHNvbWV0aGluZyB3aXRoIHRoZSBkYXRhLiAgU29tZXRpbWVzIGl0J3MgY2FsbGVkIGEgXCJmaWx0ZXJcIixcbi8vIGJ1dCB0aGF0J3Mgbm90IGEgZ3JlYXQgbmFtZSBmb3IgaXQsIHNpbmNlIHRoYXQgaW1wbGllcyBhIHRoaW5nIHdoZXJlXG4vLyBzb21lIGJpdHMgcGFzcyB0aHJvdWdoLCBhbmQgb3RoZXJzIGFyZSBzaW1wbHkgaWdub3JlZC4gIChUaGF0IHdvdWxkXG4vLyBiZSBhIHZhbGlkIGV4YW1wbGUgb2YgYSB0cmFuc2Zvcm0sIG9mIGNvdXJzZS4pXG4vL1xuLy8gV2hpbGUgdGhlIG91dHB1dCBpcyBjYXVzYWxseSByZWxhdGVkIHRvIHRoZSBpbnB1dCwgaXQncyBub3QgYVxuLy8gbmVjZXNzYXJpbHkgc3ltbWV0cmljIG9yIHN5bmNocm9ub3VzIHRyYW5zZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUsXG4vLyBhIHpsaWIgc3RyZWFtIG1pZ2h0IHRha2UgbXVsdGlwbGUgcGxhaW4tdGV4dCB3cml0ZXMoKSwgYW5kIHRoZW5cbi8vIGVtaXQgYSBzaW5nbGUgY29tcHJlc3NlZCBjaHVuayBzb21lIHRpbWUgaW4gdGhlIGZ1dHVyZS5cbi8vXG4vLyBIZXJlJ3MgaG93IHRoaXMgd29ya3M6XG4vL1xuLy8gVGhlIFRyYW5zZm9ybSBzdHJlYW0gaGFzIGFsbCB0aGUgYXNwZWN0cyBvZiB0aGUgcmVhZGFibGUgYW5kIHdyaXRhYmxlXG4vLyBzdHJlYW0gY2xhc3Nlcy4gIFdoZW4geW91IHdyaXRlKGNodW5rKSwgdGhhdCBjYWxscyBfd3JpdGUoY2h1bmssY2IpXG4vLyBpbnRlcm5hbGx5LCBhbmQgcmV0dXJucyBmYWxzZSBpZiB0aGVyZSdzIGEgbG90IG9mIHBlbmRpbmcgd3JpdGVzXG4vLyBidWZmZXJlZCB1cC4gIFdoZW4geW91IGNhbGwgcmVhZCgpLCB0aGF0IGNhbGxzIF9yZWFkKG4pIHVudGlsXG4vLyB0aGVyZSdzIGVub3VnaCBwZW5kaW5nIHJlYWRhYmxlIGRhdGEgYnVmZmVyZWQgdXAuXG4vL1xuLy8gSW4gYSB0cmFuc2Zvcm0gc3RyZWFtLCB0aGUgd3JpdHRlbiBkYXRhIGlzIHBsYWNlZCBpbiBhIGJ1ZmZlci4gIFdoZW5cbi8vIF9yZWFkKG4pIGlzIGNhbGxlZCwgaXQgdHJhbnNmb3JtcyB0aGUgcXVldWVkIHVwIGRhdGEsIGNhbGxpbmcgdGhlXG4vLyBidWZmZXJlZCBfd3JpdGUgY2IncyBhcyBpdCBjb25zdW1lcyBjaHVua3MuICBJZiBjb25zdW1pbmcgYSBzaW5nbGVcbi8vIHdyaXR0ZW4gY2h1bmsgd291bGQgcmVzdWx0IGluIG11bHRpcGxlIG91dHB1dCBjaHVua3MsIHRoZW4gdGhlIGZpcnN0XG4vLyBvdXRwdXR0ZWQgYml0IGNhbGxzIHRoZSByZWFkY2IsIGFuZCBzdWJzZXF1ZW50IGNodW5rcyBqdXN0IGdvIGludG9cbi8vIHRoZSByZWFkIGJ1ZmZlciwgYW5kIHdpbGwgY2F1c2UgaXQgdG8gZW1pdCAncmVhZGFibGUnIGlmIG5lY2Vzc2FyeS5cbi8vXG4vLyBUaGlzIHdheSwgYmFjay1wcmVzc3VyZSBpcyBhY3R1YWxseSBkZXRlcm1pbmVkIGJ5IHRoZSByZWFkaW5nIHNpZGUsXG4vLyBzaW5jZSBfcmVhZCBoYXMgdG8gYmUgY2FsbGVkIHRvIHN0YXJ0IHByb2Nlc3NpbmcgYSBuZXcgY2h1bmsuICBIb3dldmVyLFxuLy8gYSBwYXRob2xvZ2ljYWwgaW5mbGF0ZSB0eXBlIG9mIHRyYW5zZm9ybSBjYW4gY2F1c2UgZXhjZXNzaXZlIGJ1ZmZlcmluZ1xuLy8gaGVyZS4gIEZvciBleGFtcGxlLCBpbWFnaW5lIGEgc3RyZWFtIHdoZXJlIGV2ZXJ5IGJ5dGUgb2YgaW5wdXQgaXNcbi8vIGludGVycHJldGVkIGFzIGFuIGludGVnZXIgZnJvbSAwLTI1NSwgYW5kIHRoZW4gcmVzdWx0cyBpbiB0aGF0IG1hbnlcbi8vIGJ5dGVzIG9mIG91dHB1dC4gIFdyaXRpbmcgdGhlIDQgYnl0ZXMge2ZmLGZmLGZmLGZmfSB3b3VsZCByZXN1bHQgaW5cbi8vIDFrYiBvZiBkYXRhIGJlaW5nIG91dHB1dC4gIEluIHRoaXMgY2FzZSwgeW91IGNvdWxkIHdyaXRlIGEgdmVyeSBzbWFsbFxuLy8gYW1vdW50IG9mIGlucHV0LCBhbmQgZW5kIHVwIHdpdGggYSB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBvdXRwdXQuICBJblxuLy8gc3VjaCBhIHBhdGhvbG9naWNhbCBpbmZsYXRpbmcgbWVjaGFuaXNtLCB0aGVyZSdkIGJlIG5vIHdheSB0byB0ZWxsXG4vLyB0aGUgc3lzdGVtIHRvIHN0b3AgZG9pbmcgdGhlIHRyYW5zZm9ybS4gIEEgc2luZ2xlIDRNQiB3cml0ZSBjb3VsZFxuLy8gY2F1c2UgdGhlIHN5c3RlbSB0byBydW4gb3V0IG9mIG1lbW9yeS5cbi8vXG4vLyBIb3dldmVyLCBldmVuIGluIHN1Y2ggYSBwYXRob2xvZ2ljYWwgY2FzZSwgb25seSBhIHNpbmdsZSB3cml0dGVuIGNodW5rXG4vLyB3b3VsZCBiZSBjb25zdW1lZCwgYW5kIHRoZW4gdGhlIHJlc3Qgd291bGQgd2FpdCAodW4tdHJhbnNmb3JtZWQpIHVudGlsXG4vLyB0aGUgcmVzdWx0cyBvZiB0aGUgcHJldmlvdXMgdHJhbnNmb3JtZWQgY2h1bmsgd2VyZSBjb25zdW1lZC5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFRyYW5zZm9ybTtcblxudmFyIER1cGxleCA9IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciB1dGlsID0gT2JqZWN0LmNyZWF0ZShyZXF1aXJlKCdjb3JlLXV0aWwtaXMnKSk7XG51dGlsLmluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG51dGlsLmluaGVyaXRzKFRyYW5zZm9ybSwgRHVwbGV4KTtcblxuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG4gIHRzLnRyYW5zZm9ybWluZyA9IGZhbHNlO1xuXG4gIHZhciBjYiA9IHRzLndyaXRlY2I7XG5cbiAgaWYgKCFjYikge1xuICAgIHJldHVybiB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCd3cml0ZSBjYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMnKSk7XG4gIH1cblxuICB0cy53cml0ZWNodW5rID0gbnVsbDtcbiAgdHMud3JpdGVjYiA9IG51bGw7XG5cbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgdGhpcy5wdXNoKGRhdGEpO1xuXG4gIGNiKGVyKTtcblxuICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICBycy5yZWFkaW5nID0gZmFsc2U7XG4gIGlmIChycy5uZWVkUmVhZGFibGUgfHwgcnMubGVuZ3RoIDwgcnMuaGlnaFdhdGVyTWFyaykge1xuICAgIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XG4gIH1cbn1cblxuZnVuY3Rpb24gVHJhbnNmb3JtKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpIHJldHVybiBuZXcgVHJhbnNmb3JtKG9wdGlvbnMpO1xuXG4gIER1cGxleC5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuXG4gIHRoaXMuX3RyYW5zZm9ybVN0YXRlID0ge1xuICAgIGFmdGVyVHJhbnNmb3JtOiBhZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLFxuICAgIG5lZWRUcmFuc2Zvcm06IGZhbHNlLFxuICAgIHRyYW5zZm9ybWluZzogZmFsc2UsXG4gICAgd3JpdGVjYjogbnVsbCxcbiAgICB3cml0ZWNodW5rOiBudWxsLFxuICAgIHdyaXRlZW5jb2Rpbmc6IG51bGxcbiAgfTtcblxuICAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuXG4gIC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xuICAvLyB0aGF0IFJlYWRhYmxlIHdhbnRzIGJlZm9yZSB0aGUgZmlyc3QgX3JlYWQgY2FsbCwgc28gdW5zZXQgdGhlXG4gIC8vIHN5bmMgZ3VhcmQgZmxhZy5cbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5mbHVzaCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZmx1c2ggPSBvcHRpb25zLmZsdXNoO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgd3JpdGFibGUgc2lkZSBmaW5pc2hlcywgdGhlbiBmbHVzaCBvdXQgYW55dGhpbmcgcmVtYWluaW5nLlxuICB0aGlzLm9uKCdwcmVmaW5pc2gnLCBwcmVmaW5pc2gpO1xufVxuXG5mdW5jdGlvbiBwcmVmaW5pc2goKSB7XG4gIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgaWYgKHR5cGVvZiB0aGlzLl9mbHVzaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRoaXMuX2ZsdXNoKGZ1bmN0aW9uIChlciwgZGF0YSkge1xuICAgICAgZG9uZShfdGhpcywgZXIsIGRhdGEpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGRvbmUodGhpcywgbnVsbCwgbnVsbCk7XG4gIH1cbn1cblxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtID0gZmFsc2U7XG4gIHJldHVybiBEdXBsZXgucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLCBjaHVuaywgZW5jb2RpbmcpO1xufTtcblxuLy8gVGhpcyBpcyB0aGUgcGFydCB3aGVyZSB5b3UgZG8gc3R1ZmYhXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXG4vLyAnY2h1bmsnIGlzIGFuIGlucHV0IGNodW5rLlxuLy9cbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxuLy8gdG8gdGhlIHJlYWRhYmxlIHNpZGUuICBZb3UgbWF5IGNhbGwgJ3B1c2gnIHplcm8gb3IgbW9yZSB0aW1lcy5cbi8vXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xuLy8gYW4gZXJyb3IsIHRoZW4gdGhhdCdsbCBwdXQgdGhlIGh1cnQgb24gdGhlIHdob2xlIG9wZXJhdGlvbi4gIElmIHlvdVxuLy8gbmV2ZXIgY2FsbCBjYigpLCB0aGVuIHlvdSdsbCBuZXZlciBnZXQgYW5vdGhlciBjaHVuay5cblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHRocm93IG5ldyBFcnJvcignX3RyYW5zZm9ybSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xufTtcblxuVHJhbnNmb3JtLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcbiAgdHMud3JpdGVjYiA9IGNiO1xuICB0cy53cml0ZWNodW5rID0gY2h1bms7XG4gIHRzLndyaXRlZW5jb2RpbmcgPSBlbmNvZGluZztcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcbiAgICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICAgIGlmICh0cy5uZWVkVHJhbnNmb3JtIHx8IHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xuICB9XG59O1xuXG4vLyBEb2Vzbid0IG1hdHRlciB3aGF0IHRoZSBhcmdzIGFyZSBoZXJlLlxuLy8gX3RyYW5zZm9ybSBkb2VzIGFsbCB0aGUgd29yay5cbi8vIFRoYXQgd2UgZ290IGhlcmUgbWVhbnMgdGhhdCB0aGUgcmVhZGFibGUgc2lkZSB3YW50cyBtb3JlIGRhdGEuXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG5cbiAgaWYgKHRzLndyaXRlY2h1bmsgIT09IG51bGwgJiYgdHMud3JpdGVjYiAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XG4gICAgdHMudHJhbnNmb3JtaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl90cmFuc2Zvcm0odHMud3JpdGVjaHVuaywgdHMud3JpdGVlbmNvZGluZywgdHMuYWZ0ZXJUcmFuc2Zvcm0pO1xuICB9IGVsc2Uge1xuICAgIC8vIG1hcmsgdGhhdCB3ZSBuZWVkIGEgdHJhbnNmb3JtLCBzbyB0aGF0IGFueSBkYXRhIHRoYXQgY29tZXMgaW5cbiAgICAvLyB3aWxsIGdldCBwcm9jZXNzZWQsIG5vdyB0aGF0IHdlJ3ZlIGFza2VkIGZvciBpdC5cbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcbiAgfVxufTtcblxuVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gIER1cGxleC5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLCBlcnIsIGZ1bmN0aW9uIChlcnIyKSB7XG4gICAgY2IoZXJyMik7XG4gICAgX3RoaXMyLmVtaXQoJ2Nsb3NlJyk7XG4gIH0pO1xufTtcblxuZnVuY3Rpb24gZG9uZShzdHJlYW0sIGVyLCBkYXRhKSB7XG4gIGlmIChlcikgcmV0dXJuIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVyKTtcblxuICBpZiAoZGF0YSAhPSBudWxsKSAvLyBzaW5nbGUgZXF1YWxzIGNoZWNrIGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcbiAgICBzdHJlYW0ucHVzaChkYXRhKTtcblxuICAvLyBpZiB0aGVyZSdzIG5vdGhpbmcgaW4gdGhlIHdyaXRlIGJ1ZmZlciwgdGhlbiB0aGF0IG1lYW5zXG4gIC8vIHRoYXQgbm90aGluZyBtb3JlIHdpbGwgZXZlciBiZSBwcm92aWRlZFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gd3MubGVuZ3RoICE9IDAnKTtcblxuICBpZiAoc3RyZWFtLl90cmFuc2Zvcm1TdGF0ZS50cmFuc2Zvcm1pbmcpIHRocm93IG5ldyBFcnJvcignQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZycpO1xuXG4gIHJldHVybiBzdHJlYW0ucHVzaChudWxsKTtcbn0iLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gQSBiaXQgc2ltcGxlciB0aGFuIHJlYWRhYmxlIHN0cmVhbXMuXG4vLyBJbXBsZW1lbnQgYW4gYXN5bmMgLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKSwgYW5kIGl0J2xsIGhhbmRsZSBhbGxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XG5cbi8qIDxyZXBsYWNlbWVudD4gKi9cbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgdGhpcy5jaHVuayA9IGNodW5rO1xuICB0aGlzLmVuY29kaW5nID0gZW5jb2Rpbmc7XG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcbiAgdGhpcy5uZXh0ID0gbnVsbDtcbn1cblxuLy8gSXQgc2VlbXMgYSBsaW5rZWQgbGlzdCBidXQgaXQgaXMgbm90XG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cbmZ1bmN0aW9uIENvcmtlZFJlcXVlc3Qoc3RhdGUpIHtcbiAgdmFyIF90aGlzID0gdGhpcztcblxuICB0aGlzLm5leHQgPSBudWxsO1xuICB0aGlzLmVudHJ5ID0gbnVsbDtcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgb25Db3JrZWRGaW5pc2goX3RoaXMsIHN0YXRlKTtcbiAgfTtcbn1cbi8qIDwvcmVwbGFjZW1lbnQ+ICovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgYXN5bmNXcml0ZSA9ICFwcm9jZXNzLmJyb3dzZXIgJiYgWyd2MC4xMCcsICd2MC45LiddLmluZGV4T2YocHJvY2Vzcy52ZXJzaW9uLnNsaWNlKDAsIDUpKSA+IC0xID8gc2V0SW1tZWRpYXRlIDogcG5hLm5leHRUaWNrO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgRHVwbGV4O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbldyaXRhYmxlLldyaXRhYmxlU3RhdGUgPSBXcml0YWJsZVN0YXRlO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIHV0aWwgPSBPYmplY3QuY3JlYXRlKHJlcXVpcmUoJ2NvcmUtdXRpbC1pcycpKTtcbnV0aWwuaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgaW50ZXJuYWxVdGlsID0ge1xuICBkZXByZWNhdGU6IHJlcXVpcmUoJ3V0aWwtZGVwcmVjYXRlJylcbn07XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBTdHJlYW0gPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtJyk7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cblxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyO1xudmFyIE91clVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcbmZ1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcbn1cbmZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkob2JqKSB7XG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xufVxuXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIGRlc3Ryb3lJbXBsID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3knKTtcblxudXRpbC5pbmhlcml0cyhXcml0YWJsZSwgU3RyZWFtKTtcblxuZnVuY3Rpb24gbm9wKCkge31cblxuZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0pIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuICAvLyBEdXBsZXggc3RyZWFtcyBhcmUgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUsIGJ1dCBzaGFyZVxuICAvLyB0aGUgc2FtZSBvcHRpb25zIG9iamVjdC5cbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcbiAgLy8gdmFsdWVzIGZvciB0aGUgcmVhZGFibGUgYW5kIHRoZSB3cml0YWJsZSBzaWRlcyBvZiB0aGUgZHVwbGV4IHN0cmVhbS5cbiAgLy8gVGhlc2Ugb3B0aW9ucyBjYW4gYmUgcHJvdmlkZWQgc2VwYXJhdGVseSBhcyByZWFkYWJsZVhYWCBhbmQgd3JpdGFibGVYWFguXG4gIHZhciBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcblxuICAvLyBvYmplY3Qgc3RyZWFtIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBvciBub3QgdGhpcyBzdHJlYW1cbiAgLy8gY29udGFpbnMgYnVmZmVycyBvciBvYmplY3RzLlxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcblxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMud3JpdGFibGVPYmplY3RNb2RlO1xuXG4gIC8vIHRoZSBwb2ludCBhdCB3aGljaCB3cml0ZSgpIHN0YXJ0cyByZXR1cm5pbmcgZmFsc2VcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyB0aGF0IHdlIGFsd2F5cyByZXR1cm4gZmFsc2UgaWZcbiAgLy8gdGhlIGVudGlyZSBidWZmZXIgaXMgbm90IGZsdXNoZWQgaW1tZWRpYXRlbHkgb24gd3JpdGUoKVxuICB2YXIgaHdtID0gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrO1xuICB2YXIgd3JpdGFibGVId20gPSBvcHRpb25zLndyaXRhYmxlSGlnaFdhdGVyTWFyaztcbiAgdmFyIGRlZmF1bHRId20gPSB0aGlzLm9iamVjdE1vZGUgPyAxNiA6IDE2ICogMTAyNDtcblxuICBpZiAoaHdtIHx8IGh3bSA9PT0gMCkgdGhpcy5oaWdoV2F0ZXJNYXJrID0gaHdtO2Vsc2UgaWYgKGlzRHVwbGV4ICYmICh3cml0YWJsZUh3bSB8fCB3cml0YWJsZUh3bSA9PT0gMCkpIHRoaXMuaGlnaFdhdGVyTWFyayA9IHdyaXRhYmxlSHdtO2Vsc2UgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZGVmYXVsdEh3bTtcblxuICAvLyBjYXN0IHRvIGludHMuXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IE1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKTtcblxuICAvLyBpZiBfZmluYWwgaGFzIGJlZW4gY2FsbGVkXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTtcblxuICAvLyBkcmFpbiBldmVudCBmbGFnLlxuICB0aGlzLm5lZWREcmFpbiA9IGZhbHNlO1xuICAvLyBhdCB0aGUgc3RhcnQgb2YgY2FsbGluZyBlbmQoKVxuICB0aGlzLmVuZGluZyA9IGZhbHNlO1xuICAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXG4gIHRoaXMuZW5kZWQgPSBmYWxzZTtcbiAgLy8gd2hlbiAnZmluaXNoJyBpcyBlbWl0dGVkXG4gIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcblxuICAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAvLyBzaG91bGQgd2UgZGVjb2RlIHN0cmluZ3MgaW50byBidWZmZXJzIGJlZm9yZSBwYXNzaW5nIHRvIF93cml0ZT9cbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXG4gIC8vIGhhbmRsaW5nIGF0IGEgbG93ZXIgbGV2ZWwuXG4gIHZhciBub0RlY29kZSA9IG9wdGlvbnMuZGVjb2RlU3RyaW5ncyA9PT0gZmFsc2U7XG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTtcblxuICAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXG4gIC8vIGVuY29kaW5nIGlzICdiaW5hcnknIHNvIHdlIGhhdmUgdG8gbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZS5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JztcblxuICAvLyBub3QgYW4gYWN0dWFsIGJ1ZmZlciB3ZSBrZWVwIHRyYWNrIG9mLCBidXQgYSBtZWFzdXJlbWVudFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXG4gIC8vIHNvY2tldCBvciBmaWxlLlxuICB0aGlzLmxlbmd0aCA9IDA7XG5cbiAgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cbiAgdGhpcy53cml0aW5nID0gZmFsc2U7XG5cbiAgLy8gd2hlbiB0cnVlIGFsbCB3cml0ZXMgd2lsbCBiZSBidWZmZXJlZCB1bnRpbCAudW5jb3JrKCkgY2FsbFxuICB0aGlzLmNvcmtlZCA9IDA7XG5cbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgb253cml0ZSBjYiBpcyBjYWxsZWQgaW1tZWRpYXRlbHksXG4gIC8vIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2UgYW55XG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFwibGF0ZXJcIiBzaG91bGQgZ2VuZXJhbGx5IGFsc29cbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHdyaXRlIGNhbGwuXG4gIHRoaXMuc3luYyA9IHRydWU7XG5cbiAgLy8gYSBmbGFnIHRvIGtub3cgaWYgd2UncmUgcHJvY2Vzc2luZyBwcmV2aW91c2x5IGJ1ZmZlcmVkIGl0ZW1zLCB3aGljaFxuICAvLyBtYXkgY2FsbCB0aGUgX3dyaXRlKCkgY2FsbGJhY2sgaW4gdGhlIHNhbWUgdGljaywgc28gdGhhdCB3ZSBkb24ndFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cbiAgdGhpcy5idWZmZXJQcm9jZXNzaW5nID0gZmFsc2U7XG5cbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQncyBwYXNzZWQgdG8gX3dyaXRlKGNodW5rLGNiKVxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcbiAgICBvbndyaXRlKHN0cmVhbSwgZXIpO1xuICB9O1xuXG4gIC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxuICB0aGlzLndyaXRlY2IgPSBudWxsO1xuXG4gIC8vIHRoZSBhbW91bnQgdGhhdCBpcyBiZWluZyB3cml0dGVuIHdoZW4gX3dyaXRlIGlzIGNhbGxlZC5cbiAgdGhpcy53cml0ZWxlbiA9IDA7XG5cbiAgdGhpcy5idWZmZXJlZFJlcXVlc3QgPSBudWxsO1xuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xuXG4gIC8vIG51bWJlciBvZiBwZW5kaW5nIHVzZXItc3VwcGxpZWQgd3JpdGUgY2FsbGJhY2tzXG4gIC8vIHRoaXMgbXVzdCBiZSAwIGJlZm9yZSAnZmluaXNoJyBjYW4gYmUgZW1pdHRlZFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7XG5cbiAgLy8gZW1pdCBwcmVmaW5pc2ggaWYgdGhlIG9ubHkgdGhpbmcgd2UncmUgd2FpdGluZyBmb3IgaXMgX3dyaXRlIGNic1xuICAvLyBUaGlzIGlzIHJlbGV2YW50IGZvciBzeW5jaHJvbm91cyBUcmFuc2Zvcm0gc3RyZWFtc1xuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7XG5cbiAgLy8gVHJ1ZSBpZiB0aGUgZXJyb3Igd2FzIGFscmVhZHkgZW1pdHRlZCBhbmQgc2hvdWxkIG5vdCBiZSB0aHJvd24gYWdhaW5cbiAgdGhpcy5lcnJvckVtaXR0ZWQgPSBmYWxzZTtcblxuICAvLyBjb3VudCBidWZmZXJlZCByZXF1ZXN0c1xuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMDtcblxuICAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXG4gIC8vIG9uZSBhbGxvY2F0ZWQgYW5kIGZyZWUgdG8gdXNlLCBhbmQgd2UgbWFpbnRhaW4gYXQgbW9zdCB0d29cbiAgdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdCh0aGlzKTtcbn1cblxuV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyID0gZnVuY3Rpb24gZ2V0QnVmZmVyKCkge1xuICB2YXIgY3VycmVudCA9IHRoaXMuYnVmZmVyZWRSZXF1ZXN0O1xuICB2YXIgb3V0ID0gW107XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgb3V0LnB1c2goY3VycmVudCk7XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gb3V0O1xufTtcblxuKGZ1bmN0aW9uICgpIHtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsICdidWZmZXInLCB7XG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRCdWZmZXIoKTtcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxuICAgIH0pO1xuICB9IGNhdGNoIChfKSB7fVxufSkoKTtcblxuLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXG4vLyB3aG9zZSBwcm90b3R5cGUgY2hhaW4gb25seSBwb2ludHMgdG8gUmVhZGFibGUuXG52YXIgcmVhbEhhc0luc3RhbmNlO1xuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xuICByZWFsSGFzSW5zdGFuY2UgPSBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLCBTeW1ib2wuaGFzSW5zdGFuY2UsIHtcbiAgICB2YWx1ZTogZnVuY3Rpb24gKG9iamVjdCkge1xuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKHRoaXMgIT09IFdyaXRhYmxlKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcbiAgICB9XG4gIH0pO1xufSBlbHNlIHtcbiAgcmVhbEhhc0luc3RhbmNlID0gZnVuY3Rpb24gKG9iamVjdCkge1xuICAgIHJldHVybiBvYmplY3QgaW5zdGFuY2VvZiB0aGlzO1xuICB9O1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XG4gIER1cGxleCA9IER1cGxleCB8fCByZXF1aXJlKCcuL19zdHJlYW1fZHVwbGV4Jyk7XG5cbiAgLy8gV3JpdGFibGUgY3RvciBpcyBhcHBsaWVkIHRvIER1cGxleGVzLCB0b28uXG4gIC8vIGByZWFsSGFzSW5zdGFuY2VgIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHVzaW5nIHBsYWluIGBpbnN0YW5jZW9mYFxuICAvLyB3b3VsZCByZXR1cm4gZmFsc2UsIGFzIG5vIGBfd3JpdGFibGVTdGF0ZWAgcHJvcGVydHkgaXMgYXR0YWNoZWQuXG5cbiAgLy8gVHJ5aW5nIHRvIHVzZSB0aGUgY3VzdG9tIGBpbnN0YW5jZW9mYCBmb3IgV3JpdGFibGUgaGVyZSB3aWxsIGFsc28gYnJlYWsgdGhlXG4gIC8vIE5vZGUuanMgTGF6eVRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaGFzIGEgbm9uLXRyaXZpYWwgZ2V0dGVyIGZvclxuICAvLyBgX3dyaXRhYmxlU3RhdGVgIHRoYXQgd291bGQgbGVhZCB0byBpbmZpbml0ZSByZWN1cnNpb24uXG4gIGlmICghcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsIHRoaXMpICYmICEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHtcbiAgICByZXR1cm4gbmV3IFdyaXRhYmxlKG9wdGlvbnMpO1xuICB9XG5cbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMpO1xuXG4gIC8vIGxlZ2FjeS5cbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53cml0ZXYgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRldiA9IG9wdGlvbnMud3JpdGV2O1xuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIHRoaXMuX2Rlc3Ryb3kgPSBvcHRpb25zLmRlc3Ryb3k7XG5cbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcbiAgfVxuXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xufVxuXG4vLyBPdGhlcndpc2UgcGVvcGxlIGNhbiBwaXBlIFdyaXRhYmxlIHN0cmVhbXMsIHdoaWNoIGlzIGp1c3Qgd3JvbmcuXG5Xcml0YWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFcnJvcignQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZScpKTtcbn07XG5cbmZ1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoc3RyZWFtLCBjYikge1xuICB2YXIgZXIgPSBuZXcgRXJyb3IoJ3dyaXRlIGFmdGVyIGVuZCcpO1xuICAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxuICBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XG4gIHBuYS5uZXh0VGljayhjYiwgZXIpO1xufVxuXG4vLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXG4vLyBtb2RlIHRoZSBzdHJlYW0gaXMgaW4uIEN1cnJlbnRseSB0aGlzIG1lYW5zIHRoYXQgYG51bGxgIGlzIG5ldmVyIGFjY2VwdGVkXG4vLyBhbmQgdW5kZWZpbmVkL25vbi1zdHJpbmcgdmFsdWVzIGFyZSBvbmx5IGFsbG93ZWQgaW4gb2JqZWN0IG1vZGUuXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xuICB2YXIgdmFsaWQgPSB0cnVlO1xuICB2YXIgZXIgPSBmYWxzZTtcblxuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcbiAgICBlciA9IG5ldyBUeXBlRXJyb3IoJ01heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtJyk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiBjaHVuayAhPT0gdW5kZWZpbmVkICYmICFzdGF0ZS5vYmplY3RNb2RlKSB7XG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rJyk7XG4gIH1cbiAgaWYgKGVyKSB7XG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICAgIHBuYS5uZXh0VGljayhjYiwgZXIpO1xuICAgIHZhbGlkID0gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbGlkO1xufVxuXG5Xcml0YWJsZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuICB2YXIgcmV0ID0gZmFsc2U7XG4gIHZhciBpc0J1ZiA9ICFzdGF0ZS5vYmplY3RNb2RlICYmIF9pc1VpbnQ4QXJyYXkoY2h1bmspO1xuXG4gIGlmIChpc0J1ZiAmJiAhQnVmZmVyLmlzQnVmZmVyKGNodW5rKSkge1xuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XG4gIH1cblxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBlbmNvZGluZztcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoaXNCdWYpIGVuY29kaW5nID0gJ2J1ZmZlcic7ZWxzZSBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9IHN0YXRlLmRlZmF1bHRFbmNvZGluZztcblxuICBpZiAodHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSBjYiA9IG5vcDtcblxuICBpZiAoc3RhdGUuZW5kZWQpIHdyaXRlQWZ0ZXJFbmQodGhpcywgY2IpO2Vsc2UgaWYgKGlzQnVmIHx8IHZhbGlkQ2h1bmsodGhpcywgc3RhdGUsIGNodW5rLCBjYikpIHtcbiAgICBzdGF0ZS5wZW5kaW5nY2IrKztcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gIH1cblxuICByZXR1cm4gcmV0O1xufTtcblxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XG5cbiAgc3RhdGUuY29ya2VkKys7XG59O1xuXG5Xcml0YWJsZS5wcm90b3R5cGUudW5jb3JrID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuXG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcbiAgICBzdGF0ZS5jb3JrZWQtLTtcblxuICAgIGlmICghc3RhdGUud3JpdGluZyAmJiAhc3RhdGUuY29ya2VkICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcbiAgfVxufTtcblxuV3JpdGFibGUucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZyA9IGZ1bmN0aW9uIHNldERlZmF1bHRFbmNvZGluZyhlbmNvZGluZykge1xuICAvLyBub2RlOjpQYXJzZUVuY29kaW5nKCkgcmVxdWlyZXMgbG93ZXIgY2FzZS5cbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcbiAgaWYgKCEoWydoZXgnLCAndXRmOCcsICd1dGYtOCcsICdhc2NpaScsICdiaW5hcnknLCAnYmFzZTY0JywgJ3VjczInLCAndWNzLTInLCAndXRmMTZsZScsICd1dGYtMTZsZScsICdyYXcnXS5pbmRleE9mKChlbmNvZGluZyArICcnKS50b0xvd2VyQ2FzZSgpKSA+IC0xKSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKTtcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2RpbmcgPSBlbmNvZGluZztcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5mdW5jdGlvbiBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKSB7XG4gIGlmICghc3RhdGUub2JqZWN0TW9kZSAmJiBzdGF0ZS5kZWNvZGVTdHJpbmdzICE9PSBmYWxzZSAmJiB0eXBlb2YgY2h1bmsgPT09ICdzdHJpbmcnKSB7XG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xuICB9XG4gIHJldHVybiBjaHVuaztcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ3dyaXRhYmxlSGlnaFdhdGVyTWFyaycsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcbiAgfVxufSk7XG5cbi8vIGlmIHdlJ3JlIGFscmVhZHkgd3JpdGluZyBzb21ldGhpbmcsIHRoZW4ganVzdCBwdXQgdGhpc1xuLy8gaW4gdGhlIHF1ZXVlLCBhbmQgd2FpdCBvdXIgdHVybi4gIE90aGVyd2lzZSwgY2FsbCBfd3JpdGVcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXG5mdW5jdGlvbiB3cml0ZU9yQnVmZmVyKHN0cmVhbSwgc3RhdGUsIGlzQnVmLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIGlmICghaXNCdWYpIHtcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcbiAgICBpZiAoY2h1bmsgIT09IG5ld0NodW5rKSB7XG4gICAgICBpc0J1ZiA9IHRydWU7XG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xuICAgICAgY2h1bmsgPSBuZXdDaHVuaztcbiAgICB9XG4gIH1cbiAgdmFyIGxlbiA9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuXG4gIHN0YXRlLmxlbmd0aCArPSBsZW47XG5cbiAgdmFyIHJldCA9IHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIC8vIHdlIG11c3QgZW5zdXJlIHRoYXQgcHJldmlvdXMgbmVlZERyYWluIHdpbGwgbm90IGJlIHJlc2V0IHRvIGZhbHNlLlxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcblxuICBpZiAoc3RhdGUud3JpdGluZyB8fCBzdGF0ZS5jb3JrZWQpIHtcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XG4gICAgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IHtcbiAgICAgIGNodW5rOiBjaHVuayxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcbiAgICAgIGlzQnVmOiBpc0J1ZixcbiAgICAgIGNhbGxiYWNrOiBjYixcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuICAgIGlmIChsYXN0KSB7XG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIH1cbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xuICB9IGVsc2Uge1xuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gIH1cblxuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHN0YXRlLndyaXRlbGVuID0gbGVuO1xuICBzdGF0ZS53cml0ZWNiID0gY2I7XG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xuICBzdGF0ZS5zeW5jID0gdHJ1ZTtcbiAgaWYgKHdyaXRldikgc3RyZWFtLl93cml0ZXYoY2h1bmssIHN0YXRlLm9ud3JpdGUpO2Vsc2Ugc3RyZWFtLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIHN0YXRlLm9ud3JpdGUpO1xuICBzdGF0ZS5zeW5jID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcbiAgLS1zdGF0ZS5wZW5kaW5nY2I7XG5cbiAgaWYgKHN5bmMpIHtcbiAgICAvLyBkZWZlciB0aGUgY2FsbGJhY2sgaWYgd2UgYXJlIGJlaW5nIGNhbGxlZCBzeW5jaHJvbm91c2x5XG4gICAgLy8gdG8gYXZvaWQgcGlsaW5nIHVwIHRoaW5ncyBvbiB0aGUgc3RhY2tcbiAgICBwbmEubmV4dFRpY2soY2IsIGVyKTtcbiAgICAvLyB0aGlzIGNhbiBlbWl0IGZpbmlzaCwgYW5kIGl0IHdpbGwgYWx3YXlzIGhhcHBlblxuICAgIC8vIGFmdGVyIGVycm9yXG4gICAgcG5hLm5leHRUaWNrKGZpbmlzaE1heWJlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcbiAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XG4gIH0gZWxzZSB7XG4gICAgLy8gdGhlIGNhbGxlciBleHBlY3QgdGhpcyB0byBoYXBwZW4gYmVmb3JlIGlmXG4gICAgLy8gaXQgaXMgYXN5bmNcbiAgICBjYihlcik7XG4gICAgc3RyZWFtLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICAgIC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBidXQgZmluaXNoIG11c3RcbiAgICAvLyBhbHdheXMgZm9sbG93IGVycm9yXG4gICAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XG4gIHN0YXRlLndyaXRpbmcgPSBmYWxzZTtcbiAgc3RhdGUud3JpdGVjYiA9IG51bGw7XG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcbiAgc3RhdGUud3JpdGVsZW4gPSAwO1xufVxuXG5mdW5jdGlvbiBvbndyaXRlKHN0cmVhbSwgZXIpIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl93cml0YWJsZVN0YXRlO1xuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XG4gIHZhciBjYiA9IHN0YXRlLndyaXRlY2I7XG5cbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcblxuICBpZiAoZXIpIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpO2Vsc2Uge1xuICAgIC8vIENoZWNrIGlmIHdlJ3JlIGFjdHVhbGx5IHJlYWR5IHRvIGZpbmlzaCwgYnV0IGRvbid0IGVtaXQgeWV0XG4gICAgdmFyIGZpbmlzaGVkID0gbmVlZEZpbmlzaChzdGF0ZSk7XG5cbiAgICBpZiAoIWZpbmlzaGVkICYmICFzdGF0ZS5jb3JrZWQgJiYgIXN0YXRlLmJ1ZmZlclByb2Nlc3NpbmcgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0KSB7XG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoc3luYykge1xuICAgICAgLyo8cmVwbGFjZW1lbnQ+Ki9cbiAgICAgIGFzeW5jV3JpdGUoYWZ0ZXJXcml0ZSwgc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcbiAgICAgIC8qPC9yZXBsYWNlbWVudD4qL1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFmdGVyV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKSB7XG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcbiAgc3RhdGUucGVuZGluZ2NiLS07XG4gIGNiKCk7XG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xufVxuXG4vLyBNdXN0IGZvcmNlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCBvbiBuZXh0VGljaywgc28gdGhhdCB3ZSBkb24ndFxuLy8gZW1pdCAnZHJhaW4nIGJlZm9yZSB0aGUgd3JpdGUoKSBjb25zdW1lciBnZXRzIHRoZSAnZmFsc2UnIHJldHVyblxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cbmZ1bmN0aW9uIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKSB7XG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUubmVlZERyYWluKSB7XG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XG4gICAgc3RyZWFtLmVtaXQoJ2RyYWluJyk7XG4gIH1cbn1cblxuLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcbmZ1bmN0aW9uIGNsZWFyQnVmZmVyKHN0cmVhbSwgc3RhdGUpIHtcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IHRydWU7XG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcblxuICBpZiAoc3RyZWFtLl93cml0ZXYgJiYgZW50cnkgJiYgZW50cnkubmV4dCkge1xuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcbiAgICB2YXIgbCA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdENvdW50O1xuICAgIHZhciBidWZmZXIgPSBuZXcgQXJyYXkobCk7XG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcbiAgICBob2xkZXIuZW50cnkgPSBlbnRyeTtcblxuICAgIHZhciBjb3VudCA9IDA7XG4gICAgdmFyIGFsbEJ1ZmZlcnMgPSB0cnVlO1xuICAgIHdoaWxlIChlbnRyeSkge1xuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xuICAgICAgaWYgKCFlbnRyeS5pc0J1ZikgYWxsQnVmZmVycyA9IGZhbHNlO1xuICAgICAgZW50cnkgPSBlbnRyeS5uZXh0O1xuICAgICAgY291bnQgKz0gMTtcbiAgICB9XG4gICAgYnVmZmVyLmFsbEJ1ZmZlcnMgPSBhbGxCdWZmZXJzO1xuXG4gICAgZG9Xcml0ZShzdHJlYW0sIHN0YXRlLCB0cnVlLCBzdGF0ZS5sZW5ndGgsIGJ1ZmZlciwgJycsIGhvbGRlci5maW5pc2gpO1xuXG4gICAgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcbiAgICAvLyBhcyB0aGUgaG90IHBhdGggZW5kcyB3aXRoIGRvV3JpdGVcbiAgICBzdGF0ZS5wZW5kaW5nY2IrKztcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcbiAgICBpZiAoaG9sZGVyLm5leHQpIHtcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGhvbGRlci5uZXh0O1xuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdChzdGF0ZSk7XG4gICAgfVxuICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMDtcbiAgfSBlbHNlIHtcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXG4gICAgd2hpbGUgKGVudHJ5KSB7XG4gICAgICB2YXIgY2h1bmsgPSBlbnRyeS5jaHVuaztcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xuICAgICAgdmFyIGNiID0gZW50cnkuY2FsbGJhY2s7XG4gICAgICB2YXIgbGVuID0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XG5cbiAgICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tO1xuICAgICAgLy8gaWYgd2UgZGlkbid0IGNhbGwgdGhlIG9ud3JpdGUgaW1tZWRpYXRlbHksIHRoZW5cbiAgICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0IGRvZXMuXG4gICAgICAvLyBhbHNvLCB0aGF0IG1lYW5zIHRoYXQgdGhlIGNodW5rIGFuZCBjYiBhcmUgY3VycmVudGx5XG4gICAgICAvLyBiZWluZyBwcm9jZXNzZWQsIHNvIG1vdmUgdGhlIGJ1ZmZlciBjb3VudGVyIHBhc3QgdGhlbS5cbiAgICAgIGlmIChzdGF0ZS53cml0aW5nKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlbnRyeSA9PT0gbnVsbCkgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XG4gIH1cblxuICBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPSBlbnRyeTtcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xufVxuXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgY2IobmV3IEVycm9yKCdfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQnKSk7XG59O1xuXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XG5cbldyaXRhYmxlLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuXG4gIGlmICh0eXBlb2YgY2h1bmsgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IGNodW5rO1xuICAgIGNodW5rID0gbnVsbDtcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBlbmNvZGluZztcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoY2h1bmsgIT09IG51bGwgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCkgdGhpcy53cml0ZShjaHVuaywgZW5jb2RpbmcpO1xuXG4gIC8vIC5lbmQoKSBmdWxseSB1bmNvcmtzXG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcbiAgICBzdGF0ZS5jb3JrZWQgPSAxO1xuICAgIHRoaXMudW5jb3JrKCk7XG4gIH1cblxuICAvLyBpZ25vcmUgdW5uZWNlc3NhcnkgZW5kKCkgY2FsbHMuXG4gIGlmICghc3RhdGUuZW5kaW5nICYmICFzdGF0ZS5maW5pc2hlZCkgZW5kV3JpdGFibGUodGhpcywgc3RhdGUsIGNiKTtcbn07XG5cbmZ1bmN0aW9uIG5lZWRGaW5pc2goc3RhdGUpIHtcbiAgcmV0dXJuIHN0YXRlLmVuZGluZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID09PSBudWxsICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUud3JpdGluZztcbn1cbmZ1bmN0aW9uIGNhbGxGaW5hbChzdHJlYW0sIHN0YXRlKSB7XG4gIHN0cmVhbS5fZmluYWwoZnVuY3Rpb24gKGVycikge1xuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xuICAgIGlmIChlcnIpIHtcbiAgICAgIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XG4gICAgfVxuICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcbiAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XG4gICAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XG4gIH0pO1xufVxuZnVuY3Rpb24gcHJlZmluaXNoKHN0cmVhbSwgc3RhdGUpIHtcbiAgaWYgKCFzdGF0ZS5wcmVmaW5pc2hlZCAmJiAhc3RhdGUuZmluYWxDYWxsZWQpIHtcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5fZmluYWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHN0YXRlLnBlbmRpbmdjYisrO1xuICAgICAgc3RhdGUuZmluYWxDYWxsZWQgPSB0cnVlO1xuICAgICAgcG5hLm5leHRUaWNrKGNhbGxGaW5hbCwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgIHN0cmVhbS5lbWl0KCdwcmVmaW5pc2gnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xuICB2YXIgbmVlZCA9IG5lZWRGaW5pc2goc3RhdGUpO1xuICBpZiAobmVlZCkge1xuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcbiAgICBpZiAoc3RhdGUucGVuZGluZ2NiID09PSAwKSB7XG4gICAgICBzdGF0ZS5maW5pc2hlZCA9IHRydWU7XG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBuZWVkO1xufVxuXG5mdW5jdGlvbiBlbmRXcml0YWJsZShzdHJlYW0sIHN0YXRlLCBjYikge1xuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xuICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcbiAgaWYgKGNiKSB7XG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwbmEubmV4dFRpY2soY2IpO2Vsc2Ugc3RyZWFtLm9uY2UoJ2ZpbmlzaCcsIGNiKTtcbiAgfVxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XG4gIHN0cmVhbS53cml0YWJsZSA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChjb3JrUmVxLCBzdGF0ZSwgZXJyKSB7XG4gIHZhciBlbnRyeSA9IGNvcmtSZXEuZW50cnk7XG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xuICB3aGlsZSAoZW50cnkpIHtcbiAgICB2YXIgY2IgPSBlbnRyeS5jYWxsYmFjaztcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcbiAgICBjYihlcnIpO1xuICAgIGVudHJ5ID0gZW50cnkubmV4dDtcbiAgfVxuICBpZiAoc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlKSB7XG4gICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xuICB9IGVsc2Uge1xuICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGNvcmtSZXE7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ2Rlc3Ryb3llZCcsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxuICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xuICB9XG59KTtcblxuV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3kgPSBkZXN0cm95SW1wbC5kZXN0cm95O1xuV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XG5Xcml0YWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xuICB0aGlzLmVuZCgpO1xuICBjYihlcnIpO1xufTsiLCIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlcjtcbnZhciB1dGlsID0gcmVxdWlyZSgndXRpbCcpO1xuXG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcbiAgc3JjLmNvcHkodGFyZ2V0LCBvZmZzZXQpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQnVmZmVyTGlzdCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnVmZmVyTGlzdCk7XG5cbiAgICB0aGlzLmhlYWQgPSBudWxsO1xuICAgIHRoaXMudGFpbCA9IG51bGw7XG4gICAgdGhpcy5sZW5ndGggPSAwO1xuICB9XG5cbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIHB1c2godikge1xuICAgIHZhciBlbnRyeSA9IHsgZGF0YTogdiwgbmV4dDogbnVsbCB9O1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcbiAgICB0aGlzLnRhaWwgPSBlbnRyeTtcbiAgICArK3RoaXMubGVuZ3RoO1xuICB9O1xuXG4gIEJ1ZmZlckxpc3QucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiB1bnNoaWZ0KHYpIHtcbiAgICB2YXIgZW50cnkgPSB7IGRhdGE6IHYsIG5leHQ6IHRoaXMuaGVhZCB9O1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgdGhpcy50YWlsID0gZW50cnk7XG4gICAgdGhpcy5oZWFkID0gZW50cnk7XG4gICAgKyt0aGlzLmxlbmd0aDtcbiAgfTtcblxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5zaGlmdCA9IGZ1bmN0aW9uIHNoaWZ0KCkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIHZhciByZXQgPSB0aGlzLmhlYWQuZGF0YTtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcbiAgICAtLXRoaXMubGVuZ3RoO1xuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiBjbGVhcigpIHtcbiAgICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgfTtcblxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gam9pbihzKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gICAgdmFyIHAgPSB0aGlzLmhlYWQ7XG4gICAgdmFyIHJldCA9ICcnICsgcC5kYXRhO1xuICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgICByZXQgKz0gcyArIHAuZGF0YTtcbiAgICB9cmV0dXJuIHJldDtcbiAgfTtcblxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5jb25jYXQgPSBmdW5jdGlvbiBjb25jYXQobikge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHJldHVybiB0aGlzLmhlYWQuZGF0YTtcbiAgICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4gPj4+IDApO1xuICAgIHZhciBwID0gdGhpcy5oZWFkO1xuICAgIHZhciBpID0gMDtcbiAgICB3aGlsZSAocCkge1xuICAgICAgY29weUJ1ZmZlcihwLmRhdGEsIHJldCwgaSk7XG4gICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XG4gICAgICBwID0gcC5uZXh0O1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9O1xuXG4gIHJldHVybiBCdWZmZXJMaXN0O1xufSgpO1xuXG5pZiAodXRpbCAmJiB1dGlsLmluc3BlY3QgJiYgdXRpbC5pbnNwZWN0LmN1c3RvbSkge1xuICBtb2R1bGUuZXhwb3J0cy5wcm90b3R5cGVbdXRpbC5pbnNwZWN0LmN1c3RvbV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG9iaiA9IHV0aWwuaW5zcGVjdCh7IGxlbmd0aDogdGhpcy5sZW5ndGggfSk7XG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZSArICcgJyArIG9iajtcbiAgfTtcbn0iLCIndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcbmZ1bmN0aW9uIGRlc3Ryb3koZXJyLCBjYikge1xuICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gIHZhciByZWFkYWJsZURlc3Ryb3llZCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG4gIHZhciB3cml0YWJsZURlc3Ryb3llZCA9IHRoaXMuX3dyaXRhYmxlU3RhdGUgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG5cbiAgaWYgKHJlYWRhYmxlRGVzdHJveWVkIHx8IHdyaXRhYmxlRGVzdHJveWVkKSB7XG4gICAgaWYgKGNiKSB7XG4gICAgICBjYihlcnIpO1xuICAgIH0gZWxzZSBpZiAoZXJyICYmICghdGhpcy5fd3JpdGFibGVTdGF0ZSB8fCAhdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpKSB7XG4gICAgICBwbmEubmV4dFRpY2soZW1pdEVycm9yTlQsIHRoaXMsIGVycik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gd2Ugc2V0IGRlc3Ryb3llZCB0byB0cnVlIGJlZm9yZSBmaXJpbmcgZXJyb3IgY2FsbGJhY2tzIGluIG9yZGVyXG4gIC8vIHRvIG1ha2UgaXQgcmUtZW50cmFuY2Ugc2FmZSBpbiBjYXNlIGRlc3Ryb3koKSBpcyBjYWxsZWQgd2l0aGluIGNhbGxiYWNrc1xuXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgLy8gaWYgdGhpcyBpcyBhIGR1cGxleCBzdHJlYW0gbWFyayB0aGUgd3JpdGFibGUgcGFydCBhcyBkZXN0cm95ZWQgYXMgd2VsbFxuICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICBpZiAoIWNiICYmIGVycikge1xuICAgICAgcG5hLm5leHRUaWNrKGVtaXRFcnJvck5ULCBfdGhpcywgZXJyKTtcbiAgICAgIGlmIChfdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgICBfdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY2IpIHtcbiAgICAgIGNiKGVycik7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGhpcztcbn1cblxuZnVuY3Rpb24gdW5kZXN0cm95KCkge1xuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVtaXRFcnJvck5UKHNlbGYsIGVycikge1xuICBzZWxmLmVtaXQoJ2Vycm9yJywgZXJyKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gIHVuZGVzdHJveTogdW5kZXN0cm95XG59OyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnZXZlbnRzJykuRXZlbnRFbWl0dGVyO1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL3JlYWRhYmxlJykuUGFzc1Rocm91Z2hcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fcmVhZGFibGUuanMnKTtcbmV4cG9ydHMuU3RyZWFtID0gZXhwb3J0cztcbmV4cG9ydHMuUmVhZGFibGUgPSBleHBvcnRzO1xuZXhwb3J0cy5Xcml0YWJsZSA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fd3JpdGFibGUuanMnKTtcbmV4cG9ydHMuRHVwbGV4ID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV9kdXBsZXguanMnKTtcbmV4cG9ydHMuVHJhbnNmb3JtID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMnKTtcbmV4cG9ydHMuUGFzc1Rocm91Z2ggPSByZXF1aXJlKCcuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzJyk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vcmVhZGFibGUnKS5UcmFuc2Zvcm1cbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV93cml0YWJsZS5qcycpO1xuIiwiJ3VzZSBzdHJpY3QnXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJykuQnVmZmVyXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaEJhc2UgPSByZXF1aXJlKCdoYXNoLWJhc2UnKVxuXG52YXIgQVJSQVkxNiA9IG5ldyBBcnJheSgxNilcblxudmFyIHpsID0gW1xuICAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LFxuICA3LCA0LCAxMywgMSwgMTAsIDYsIDE1LCAzLCAxMiwgMCwgOSwgNSwgMiwgMTQsIDExLCA4LFxuICAzLCAxMCwgMTQsIDQsIDksIDE1LCA4LCAxLCAyLCA3LCAwLCA2LCAxMywgMTEsIDUsIDEyLFxuICAxLCA5LCAxMSwgMTAsIDAsIDgsIDEyLCA0LCAxMywgMywgNywgMTUsIDE0LCA1LCA2LCAyLFxuICA0LCAwLCA1LCA5LCA3LCAxMiwgMiwgMTAsIDE0LCAxLCAzLCA4LCAxMSwgNiwgMTUsIDEzXG5dXG5cbnZhciB6ciA9IFtcbiAgNSwgMTQsIDcsIDAsIDksIDIsIDExLCA0LCAxMywgNiwgMTUsIDgsIDEsIDEwLCAzLCAxMixcbiAgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMixcbiAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcbiAgOCwgNiwgNCwgMSwgMywgMTEsIDE1LCAwLCA1LCAxMiwgMiwgMTMsIDksIDcsIDEwLCAxNCxcbiAgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMVxuXVxuXG52YXIgc2wgPSBbXG4gIDExLCAxNCwgMTUsIDEyLCA1LCA4LCA3LCA5LCAxMSwgMTMsIDE0LCAxNSwgNiwgNywgOSwgOCxcbiAgNywgNiwgOCwgMTMsIDExLCA5LCA3LCAxNSwgNywgMTIsIDE1LCA5LCAxMSwgNywgMTMsIDEyLFxuICAxMSwgMTMsIDYsIDcsIDE0LCA5LCAxMywgMTUsIDE0LCA4LCAxMywgNiwgNSwgMTIsIDcsIDUsXG4gIDExLCAxMiwgMTQsIDE1LCAxNCwgMTUsIDksIDgsIDksIDE0LCA1LCA2LCA4LCA2LCA1LCAxMixcbiAgOSwgMTUsIDUsIDExLCA2LCA4LCAxMywgMTIsIDUsIDEyLCAxMywgMTQsIDExLCA4LCA1LCA2XG5dXG5cbnZhciBzciA9IFtcbiAgOCwgOSwgOSwgMTEsIDEzLCAxNSwgMTUsIDUsIDcsIDcsIDgsIDExLCAxNCwgMTQsIDEyLCA2LFxuICA5LCAxMywgMTUsIDcsIDEyLCA4LCA5LCAxMSwgNywgNywgMTIsIDcsIDYsIDE1LCAxMywgMTEsXG4gIDksIDcsIDE1LCAxMSwgOCwgNiwgNiwgMTQsIDEyLCAxMywgNSwgMTQsIDEzLCAxMywgNywgNSxcbiAgMTUsIDUsIDgsIDExLCAxNCwgMTQsIDYsIDE0LCA2LCA5LCAxMiwgOSwgMTIsIDUsIDE1LCA4LFxuICA4LCA1LCAxMiwgOSwgMTIsIDUsIDE0LCA2LCA4LCAxMywgNiwgNSwgMTUsIDEzLCAxMSwgMTFcbl1cblxudmFyIGhsID0gWzB4MDAwMDAwMDAsIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMsIDB4YTk1M2ZkNGVdXG52YXIgaHIgPSBbMHg1MGEyOGJlNiwgMHg1YzRkZDEyNCwgMHg2ZDcwM2VmMywgMHg3YTZkNzZlOSwgMHgwMDAwMDAwMF1cblxuZnVuY3Rpb24gUklQRU1EMTYwICgpIHtcbiAgSGFzaEJhc2UuY2FsbCh0aGlzLCA2NClcblxuICAvLyBzdGF0ZVxuICB0aGlzLl9hID0gMHg2NzQ1MjMwMVxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxuICB0aGlzLl9kID0gMHgxMDMyNTQ3NlxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxufVxuXG5pbmhlcml0cyhSSVBFTUQxNjAsIEhhc2hCYXNlKVxuXG5SSVBFTUQxNjAucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciB3b3JkcyA9IEFSUkFZMTZcbiAgZm9yICh2YXIgaiA9IDA7IGogPCAxNjsgKytqKSB3b3Jkc1tqXSA9IHRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKGogKiA0KVxuXG4gIHZhciBhbCA9IHRoaXMuX2EgfCAwXG4gIHZhciBibCA9IHRoaXMuX2IgfCAwXG4gIHZhciBjbCA9IHRoaXMuX2MgfCAwXG4gIHZhciBkbCA9IHRoaXMuX2QgfCAwXG4gIHZhciBlbCA9IHRoaXMuX2UgfCAwXG5cbiAgdmFyIGFyID0gdGhpcy5fYSB8IDBcbiAgdmFyIGJyID0gdGhpcy5fYiB8IDBcbiAgdmFyIGNyID0gdGhpcy5fYyB8IDBcbiAgdmFyIGRyID0gdGhpcy5fZCB8IDBcbiAgdmFyIGVyID0gdGhpcy5fZSB8IDBcblxuICAvLyBjb21wdXRhdGlvblxuICBmb3IgKHZhciBpID0gMDsgaSA8IDgwOyBpICs9IDEpIHtcbiAgICB2YXIgdGxcbiAgICB2YXIgdHJcbiAgICBpZiAoaSA8IDE2KSB7XG4gICAgICB0bCA9IGZuMShhbCwgYmwsIGNsLCBkbCwgZWwsIHdvcmRzW3psW2ldXSwgaGxbMF0sIHNsW2ldKVxuICAgICAgdHIgPSBmbjUoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzBdLCBzcltpXSlcbiAgICB9IGVsc2UgaWYgKGkgPCAzMikge1xuICAgICAgdGwgPSBmbjIoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzFdLCBzbFtpXSlcbiAgICAgIHRyID0gZm40KGFyLCBiciwgY3IsIGRyLCBlciwgd29yZHNbenJbaV1dLCBoclsxXSwgc3JbaV0pXG4gICAgfSBlbHNlIGlmIChpIDwgNDgpIHtcbiAgICAgIHRsID0gZm4zKGFsLCBibCwgY2wsIGRsLCBlbCwgd29yZHNbemxbaV1dLCBobFsyXSwgc2xbaV0pXG4gICAgICB0ciA9IGZuMyhhciwgYnIsIGNyLCBkciwgZXIsIHdvcmRzW3pyW2ldXSwgaHJbMl0sIHNyW2ldKVxuICAgIH0gZWxzZSBpZiAoaSA8IDY0KSB7XG4gICAgICB0bCA9IGZuNChhbCwgYmwsIGNsLCBkbCwgZWwsIHdvcmRzW3psW2ldXSwgaGxbM10sIHNsW2ldKVxuICAgICAgdHIgPSBmbjIoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzNdLCBzcltpXSlcbiAgICB9IGVsc2UgeyAvLyBpZiAoaTw4MCkge1xuICAgICAgdGwgPSBmbjUoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzRdLCBzbFtpXSlcbiAgICAgIHRyID0gZm4xKGFyLCBiciwgY3IsIGRyLCBlciwgd29yZHNbenJbaV1dLCBocls0XSwgc3JbaV0pXG4gICAgfVxuXG4gICAgYWwgPSBlbFxuICAgIGVsID0gZGxcbiAgICBkbCA9IHJvdGwoY2wsIDEwKVxuICAgIGNsID0gYmxcbiAgICBibCA9IHRsXG5cbiAgICBhciA9IGVyXG4gICAgZXIgPSBkclxuICAgIGRyID0gcm90bChjciwgMTApXG4gICAgY3IgPSBiclxuICAgIGJyID0gdHJcbiAgfVxuXG4gIC8vIHVwZGF0ZSBzdGF0ZVxuICB2YXIgdCA9ICh0aGlzLl9iICsgY2wgKyBkcikgfCAwXG4gIHRoaXMuX2IgPSAodGhpcy5fYyArIGRsICsgZXIpIHwgMFxuICB0aGlzLl9jID0gKHRoaXMuX2QgKyBlbCArIGFyKSB8IDBcbiAgdGhpcy5fZCA9ICh0aGlzLl9lICsgYWwgKyBicikgfCAwXG4gIHRoaXMuX2UgPSAodGhpcy5fYSArIGJsICsgY3IpIHwgMFxuICB0aGlzLl9hID0gdFxufVxuXG5SSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIGNyZWF0ZSBwYWRkaW5nIGFuZCBoYW5kbGUgYmxvY2tzXG4gIHRoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdID0gMHg4MFxuICBpZiAodGhpcy5fYmxvY2tPZmZzZXQgPiA1Nikge1xuICAgIHRoaXMuX2Jsb2NrLmZpbGwoMCwgdGhpcy5fYmxvY2tPZmZzZXQsIDY0KVxuICAgIHRoaXMuX3VwZGF0ZSgpXG4gICAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXG4gIH1cblxuICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA1NilcbiAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMF0sIDU2KVxuICB0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFsxXSwgNjApXG4gIHRoaXMuX3VwZGF0ZSgpXG5cbiAgLy8gcHJvZHVjZSByZXN1bHRcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyA/IEJ1ZmZlci5hbGxvYygyMCkgOiBuZXcgQnVmZmVyKDIwKVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2EsIDApXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYiwgNClcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9jLCA4KVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2QsIDEyKVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2UsIDE2KVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcbiAgcmV0dXJuICh4IDw8IG4pIHwgKHggPj4+ICgzMiAtIG4pKVxufVxuXG5mdW5jdGlvbiBmbjEgKGEsIGIsIGMsIGQsIGUsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKGIgXiBjIF4gZCkgKyBtICsgaykgfCAwLCBzKSArIGUpIHwgMFxufVxuXG5mdW5jdGlvbiBmbjIgKGEsIGIsIGMsIGQsIGUsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgYykgfCAoKH5iKSAmIGQpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXG59XG5cbmZ1bmN0aW9uIGZuMyAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgfCAofmMpKSBeIGQpICsgbSArIGspIHwgMCwgcykgKyBlKSB8IDBcbn1cblxuZnVuY3Rpb24gZm40IChhLCBiLCBjLCBkLCBlLCBtLCBrLCBzKSB7XG4gIHJldHVybiAocm90bCgoYSArICgoYiAmIGQpIHwgKGMgJiAofmQpKSkgKyBtICsgaykgfCAwLCBzKSArIGUpIHwgMFxufVxuXG5mdW5jdGlvbiBmbjUgKGEsIGIsIGMsIGQsIGUsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKGIgXiAoYyB8ICh+ZCkpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXG59XG5cbm1vZHVsZS5leHBvcnRzID0gUklQRU1EMTYwXG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBub2RlL25vLWRlcHJlY2F0ZWQtYXBpICovXG52YXIgYnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJylcbnZhciBCdWZmZXIgPSBidWZmZXIuQnVmZmVyXG5cbi8vIGFsdGVybmF0aXZlIHRvIHVzaW5nIE9iamVjdC5rZXlzIGZvciBvbGQgYnJvd3NlcnNcbmZ1bmN0aW9uIGNvcHlQcm9wcyAoc3JjLCBkc3QpIHtcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgIGRzdFtrZXldID0gc3JjW2tleV1cbiAgfVxufVxuaWYgKEJ1ZmZlci5mcm9tICYmIEJ1ZmZlci5hbGxvYyAmJiBCdWZmZXIuYWxsb2NVbnNhZmUgJiYgQnVmZmVyLmFsbG9jVW5zYWZlU2xvdykge1xuICBtb2R1bGUuZXhwb3J0cyA9IGJ1ZmZlclxufSBlbHNlIHtcbiAgLy8gQ29weSBwcm9wZXJ0aWVzIGZyb20gcmVxdWlyZSgnYnVmZmVyJylcbiAgY29weVByb3BzKGJ1ZmZlciwgZXhwb3J0cylcbiAgZXhwb3J0cy5CdWZmZXIgPSBTYWZlQnVmZmVyXG59XG5cbmZ1bmN0aW9uIFNhZmVCdWZmZXIgKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBCdWZmZXIoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG59XG5cbi8vIENvcHkgc3RhdGljIG1ldGhvZHMgZnJvbSBCdWZmZXJcbmNvcHlQcm9wcyhCdWZmZXIsIFNhZmVCdWZmZXIpXG5cblNhZmVCdWZmZXIuZnJvbSA9IGZ1bmN0aW9uIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICBpZiAodHlwZW9mIGFyZyA9PT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlcihhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuU2FmZUJ1ZmZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxuICBpZiAoZmlsbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxuICAgIH0gZWxzZSB7XG4gICAgICBidWYuZmlsbChmaWxsKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBidWYuZmlsbCgwKVxuICB9XG4gIHJldHVybiBidWZcbn1cblxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZSA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcbiAgfVxuICByZXR1cm4gQnVmZmVyKHNpemUpXG59XG5cblNhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93ID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxuICB9XG4gIHJldHVybiBidWZmZXIuU2xvd0J1ZmZlcihzaXplKVxufVxuIiwiLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xuXG4ndXNlIHN0cmljdCdcblxudmFyIGJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpXG52YXIgQnVmZmVyID0gYnVmZmVyLkJ1ZmZlclxuXG52YXIgc2FmZXIgPSB7fVxuXG52YXIga2V5XG5cbmZvciAoa2V5IGluIGJ1ZmZlcikge1xuICBpZiAoIWJ1ZmZlci5oYXNPd25Qcm9wZXJ0eShrZXkpKSBjb250aW51ZVxuICBpZiAoa2V5ID09PSAnU2xvd0J1ZmZlcicgfHwga2V5ID09PSAnQnVmZmVyJykgY29udGludWVcbiAgc2FmZXJba2V5XSA9IGJ1ZmZlcltrZXldXG59XG5cbnZhciBTYWZlciA9IHNhZmVyLkJ1ZmZlciA9IHt9XG5mb3IgKGtleSBpbiBCdWZmZXIpIHtcbiAgaWYgKCFCdWZmZXIuaGFzT3duUHJvcGVydHkoa2V5KSkgY29udGludWVcbiAgaWYgKGtleSA9PT0gJ2FsbG9jVW5zYWZlJyB8fCBrZXkgPT09ICdhbGxvY1Vuc2FmZVNsb3cnKSBjb250aW51ZVxuICBTYWZlcltrZXldID0gQnVmZmVyW2tleV1cbn1cblxuc2FmZXIuQnVmZmVyLnByb3RvdHlwZSA9IEJ1ZmZlci5wcm90b3R5cGVcblxuaWYgKCFTYWZlci5mcm9tIHx8IFNhZmVyLmZyb20gPT09IFVpbnQ4QXJyYXkuZnJvbSkge1xuICBTYWZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwidmFsdWVcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSAnICsgdHlwZW9mIHZhbHVlKVxuICAgIH1cbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICcgKyB0eXBlb2YgdmFsdWUpXG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbiAgfVxufVxuXG5pZiAoIVNhZmVyLmFsbG9jKSB7XG4gIFNhZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBzaXplKVxuICAgIH1cbiAgICBpZiAoc2l6ZSA8IDAgfHwgc2l6ZSA+PSAyICogKDEgPDwgMzApKSB7XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIFwiJyArIHNpemUgKyAnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJylcbiAgICB9XG4gICAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxuICAgIGlmICghZmlsbCB8fCBmaWxsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgYnVmLmZpbGwoMClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxuICAgIH0gZWxzZSB7XG4gICAgICBidWYuZmlsbChmaWxsKVxuICAgIH1cbiAgICByZXR1cm4gYnVmXG4gIH1cbn1cblxuaWYgKCFzYWZlci5rU3RyaW5nTWF4TGVuZ3RoKSB7XG4gIHRyeSB7XG4gICAgc2FmZXIua1N0cmluZ01heExlbmd0aCA9IHByb2Nlc3MuYmluZGluZygnYnVmZmVyJykua1N0cmluZ01heExlbmd0aFxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gd2UgY2FuJ3QgZGV0ZXJtaW5lIGtTdHJpbmdNYXhMZW5ndGggaW4gZW52aXJvbm1lbnRzIHdoZXJlIHByb2Nlc3MuYmluZGluZ1xuICAgIC8vIGlzIHVuc3VwcG9ydGVkLCBzbyBsZXQncyBub3Qgc2V0IGl0XG4gIH1cbn1cblxuaWYgKCFzYWZlci5jb25zdGFudHMpIHtcbiAgc2FmZXIuY29uc3RhbnRzID0ge1xuICAgIE1BWF9MRU5HVEg6IHNhZmVyLmtNYXhMZW5ndGhcbiAgfVxuICBpZiAoc2FmZXIua1N0cmluZ01heExlbmd0aCkge1xuICAgIHNhZmVyLmNvbnN0YW50cy5NQVhfU1RSSU5HX0xFTkdUSCA9IHNhZmVyLmtTdHJpbmdNYXhMZW5ndGhcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNhZmVyXG4iLCIoZnVuY3Rpb24gKGdsb2JhbCwgdW5kZWZpbmVkKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBpZiAoZ2xvYmFsLnNldEltbWVkaWF0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5leHRIYW5kbGUgPSAxOyAvLyBTcGVjIHNheXMgZ3JlYXRlciB0aGFuIHplcm9cbiAgICB2YXIgdGFza3NCeUhhbmRsZSA9IHt9O1xuICAgIHZhciBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSBmYWxzZTtcbiAgICB2YXIgZG9jID0gZ2xvYmFsLmRvY3VtZW50O1xuICAgIHZhciByZWdpc3RlckltbWVkaWF0ZTtcblxuICAgIGZ1bmN0aW9uIHNldEltbWVkaWF0ZShjYWxsYmFjaykge1xuICAgICAgLy8gQ2FsbGJhY2sgY2FuIGVpdGhlciBiZSBhIGZ1bmN0aW9uIG9yIGEgc3RyaW5nXG4gICAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oXCJcIiArIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgIC8vIENvcHkgZnVuY3Rpb24gYXJndW1lbnRzXG4gICAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2kgKyAxXTtcbiAgICAgIH1cbiAgICAgIC8vIFN0b3JlIGFuZCByZWdpc3RlciB0aGUgdGFza1xuICAgICAgdmFyIHRhc2sgPSB7IGNhbGxiYWNrOiBjYWxsYmFjaywgYXJnczogYXJncyB9O1xuICAgICAgdGFza3NCeUhhbmRsZVtuZXh0SGFuZGxlXSA9IHRhc2s7XG4gICAgICByZWdpc3RlckltbWVkaWF0ZShuZXh0SGFuZGxlKTtcbiAgICAgIHJldHVybiBuZXh0SGFuZGxlKys7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xlYXJJbW1lZGlhdGUoaGFuZGxlKSB7XG4gICAgICAgIGRlbGV0ZSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcnVuKHRhc2spIHtcbiAgICAgICAgdmFyIGNhbGxiYWNrID0gdGFzay5jYWxsYmFjaztcbiAgICAgICAgdmFyIGFyZ3MgPSB0YXNrLmFyZ3M7XG4gICAgICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkodW5kZWZpbmVkLCBhcmdzKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcnVuSWZQcmVzZW50KGhhbmRsZSkge1xuICAgICAgICAvLyBGcm9tIHRoZSBzcGVjOiBcIldhaXQgdW50aWwgYW55IGludm9jYXRpb25zIG9mIHRoaXMgYWxnb3JpdGhtIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgb25lIGhhdmUgY29tcGxldGVkLlwiXG4gICAgICAgIC8vIFNvIGlmIHdlJ3JlIGN1cnJlbnRseSBydW5uaW5nIGEgdGFzaywgd2UnbGwgbmVlZCB0byBkZWxheSB0aGlzIGludm9jYXRpb24uXG4gICAgICAgIGlmIChjdXJyZW50bHlSdW5uaW5nQVRhc2spIHtcbiAgICAgICAgICAgIC8vIERlbGF5IGJ5IGRvaW5nIGEgc2V0VGltZW91dC4gc2V0SW1tZWRpYXRlIHdhcyB0cmllZCBpbnN0ZWFkLCBidXQgaW4gRmlyZWZveCA3IGl0IGdlbmVyYXRlZCBhXG4gICAgICAgICAgICAvLyBcInRvbyBtdWNoIHJlY3Vyc2lvblwiIGVycm9yLlxuICAgICAgICAgICAgc2V0VGltZW91dChydW5JZlByZXNlbnQsIDAsIGhhbmRsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdGFzayA9IHRhc2tzQnlIYW5kbGVbaGFuZGxlXTtcbiAgICAgICAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBydW4odGFzayk7XG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJJbW1lZGlhdGUoaGFuZGxlKTtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbE5leHRUaWNrSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHsgcnVuSWZQcmVzZW50KGhhbmRsZSk7IH0pO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhblVzZVBvc3RNZXNzYWdlKCkge1xuICAgICAgICAvLyBUaGUgdGVzdCBhZ2FpbnN0IGBpbXBvcnRTY3JpcHRzYCBwcmV2ZW50cyB0aGlzIGltcGxlbWVudGF0aW9uIGZyb20gYmVpbmcgaW5zdGFsbGVkIGluc2lkZSBhIHdlYiB3b3JrZXIsXG4gICAgICAgIC8vIHdoZXJlIGBnbG9iYWwucG9zdE1lc3NhZ2VgIG1lYW5zIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCBhbmQgY2FuJ3QgYmUgdXNlZCBmb3IgdGhpcyBwdXJwb3NlLlxuICAgICAgICBpZiAoZ2xvYmFsLnBvc3RNZXNzYWdlICYmICFnbG9iYWwuaW1wb3J0U2NyaXB0cykge1xuICAgICAgICAgICAgdmFyIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSB0cnVlO1xuICAgICAgICAgICAgdmFyIG9sZE9uTWVzc2FnZSA9IGdsb2JhbC5vbm1lc3NhZ2U7XG4gICAgICAgICAgICBnbG9iYWwub25tZXNzYWdlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cyA9IGZhbHNlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShcIlwiLCBcIipcIik7XG4gICAgICAgICAgICBnbG9iYWwub25tZXNzYWdlID0gb2xkT25NZXNzYWdlO1xuICAgICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsUG9zdE1lc3NhZ2VJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgLy8gSW5zdGFsbHMgYW4gZXZlbnQgaGFuZGxlciBvbiBgZ2xvYmFsYCBmb3IgdGhlIGBtZXNzYWdlYCBldmVudDogc2VlXG4gICAgICAgIC8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vRE9NL3dpbmRvdy5wb3N0TWVzc2FnZVxuICAgICAgICAvLyAqIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL2NvbW1zLmh0bWwjY3Jvc3NEb2N1bWVudE1lc3NhZ2VzXG5cbiAgICAgICAgdmFyIG1lc3NhZ2VQcmVmaXggPSBcInNldEltbWVkaWF0ZSRcIiArIE1hdGgucmFuZG9tKCkgKyBcIiRcIjtcbiAgICAgICAgdmFyIG9uR2xvYmFsTWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuc291cmNlID09PSBnbG9iYWwgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgZXZlbnQuZGF0YSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgICAgIGV2ZW50LmRhdGEuaW5kZXhPZihtZXNzYWdlUHJlZml4KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudCgrZXZlbnQuZGF0YS5zbGljZShtZXNzYWdlUHJlZml4Lmxlbmd0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uR2xvYmFsTWVzc2FnZSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2xvYmFsLmF0dGFjaEV2ZW50KFwib25tZXNzYWdlXCIsIG9uR2xvYmFsTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKG1lc3NhZ2VQcmVmaXggKyBoYW5kbGUsIFwiKlwiKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsTWVzc2FnZUNoYW5uZWxJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgdmFyIGhhbmRsZSA9IGV2ZW50LmRhdGE7XG4gICAgICAgICAgICBydW5JZlByZXNlbnQoaGFuZGxlKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZShoYW5kbGUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxSZWFkeVN0YXRlQ2hhbmdlSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHZhciBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIC8vIENyZWF0ZSBhIDxzY3JpcHQ+IGVsZW1lbnQ7IGl0cyByZWFkeXN0YXRlY2hhbmdlIGV2ZW50IHdpbGwgYmUgZmlyZWQgYXN5bmNocm9ub3VzbHkgb25jZSBpdCBpcyBpbnNlcnRlZFxuICAgICAgICAgICAgLy8gaW50byB0aGUgZG9jdW1lbnQuIERvIHNvLCB0aHVzIHF1ZXVpbmcgdXAgdGhlIHRhc2suIFJlbWVtYmVyIHRvIGNsZWFuIHVwIG9uY2UgaXQncyBiZWVuIGNhbGxlZC5cbiAgICAgICAgICAgIHZhciBzY3JpcHQgPSBkb2MuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcnVuSWZQcmVzZW50KGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgaHRtbC5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICAgICAgICAgICAgICAgIHNjcmlwdCA9IG51bGw7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaHRtbC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxTZXRUaW1lb3V0SW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBJZiBzdXBwb3J0ZWQsIHdlIHNob3VsZCBhdHRhY2ggdG8gdGhlIHByb3RvdHlwZSBvZiBnbG9iYWwsIHNpbmNlIHRoYXQgaXMgd2hlcmUgc2V0VGltZW91dCBldCBhbC4gbGl2ZS5cbiAgICB2YXIgYXR0YWNoVG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKGdsb2JhbCk7XG4gICAgYXR0YWNoVG8gPSBhdHRhY2hUbyAmJiBhdHRhY2hUby5zZXRUaW1lb3V0ID8gYXR0YWNoVG8gOiBnbG9iYWw7XG5cbiAgICAvLyBEb24ndCBnZXQgZm9vbGVkIGJ5IGUuZy4gYnJvd3NlcmlmeSBlbnZpcm9ubWVudHMuXG4gICAgaWYgKHt9LnRvU3RyaW5nLmNhbGwoZ2xvYmFsLnByb2Nlc3MpID09PSBcIltvYmplY3QgcHJvY2Vzc11cIikge1xuICAgICAgICAvLyBGb3IgTm9kZS5qcyBiZWZvcmUgMC45XG4gICAgICAgIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2UgaWYgKGNhblVzZVBvc3RNZXNzYWdlKCkpIHtcbiAgICAgICAgLy8gRm9yIG5vbi1JRTEwIG1vZGVybiBicm93c2Vyc1xuICAgICAgICBpbnN0YWxsUG9zdE1lc3NhZ2VJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIGlmIChnbG9iYWwuTWVzc2FnZUNoYW5uZWwpIHtcbiAgICAgICAgLy8gRm9yIHdlYiB3b3JrZXJzLCB3aGVyZSBzdXBwb3J0ZWRcbiAgICAgICAgaW5zdGFsbE1lc3NhZ2VDaGFubmVsSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSBpZiAoZG9jICYmIFwib25yZWFkeXN0YXRlY2hhbmdlXCIgaW4gZG9jLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIikpIHtcbiAgICAgICAgLy8gRm9yIElFIDbigJM4XG4gICAgICAgIGluc3RhbGxSZWFkeVN0YXRlQ2hhbmdlSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZvciBvbGRlciBicm93c2Vyc1xuICAgICAgICBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCk7XG4gICAgfVxuXG4gICAgYXR0YWNoVG8uc2V0SW1tZWRpYXRlID0gc2V0SW1tZWRpYXRlO1xuICAgIGF0dGFjaFRvLmNsZWFySW1tZWRpYXRlID0gY2xlYXJJbW1lZGlhdGU7XG59KHR5cGVvZiBzZWxmID09PSBcInVuZGVmaW5lZFwiID8gdHlwZW9mIGdsb2JhbCA9PT0gXCJ1bmRlZmluZWRcIiA/IHRoaXMgOiBnbG9iYWwgOiBzZWxmKSk7XG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxuLy8gcHJvdG90eXBlIGNsYXNzIGZvciBoYXNoIGZ1bmN0aW9uc1xuZnVuY3Rpb24gSGFzaCAoYmxvY2tTaXplLCBmaW5hbFNpemUpIHtcbiAgdGhpcy5fYmxvY2sgPSBCdWZmZXIuYWxsb2MoYmxvY2tTaXplKVxuICB0aGlzLl9maW5hbFNpemUgPSBmaW5hbFNpemVcbiAgdGhpcy5fYmxvY2tTaXplID0gYmxvY2tTaXplXG4gIHRoaXMuX2xlbiA9IDBcbn1cblxuSGFzaC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEsIGVuYykge1xuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jID0gZW5jIHx8ICd1dGY4J1xuICAgIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXG4gIH1cblxuICB2YXIgYmxvY2sgPSB0aGlzLl9ibG9ja1xuICB2YXIgYmxvY2tTaXplID0gdGhpcy5fYmxvY2tTaXplXG4gIHZhciBsZW5ndGggPSBkYXRhLmxlbmd0aFxuICB2YXIgYWNjdW0gPSB0aGlzLl9sZW5cblxuICBmb3IgKHZhciBvZmZzZXQgPSAwOyBvZmZzZXQgPCBsZW5ndGg7KSB7XG4gICAgdmFyIGFzc2lnbmVkID0gYWNjdW0gJSBibG9ja1NpemVcbiAgICB2YXIgcmVtYWluZGVyID0gTWF0aC5taW4obGVuZ3RoIC0gb2Zmc2V0LCBibG9ja1NpemUgLSBhc3NpZ25lZClcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVtYWluZGVyOyBpKyspIHtcbiAgICAgIGJsb2NrW2Fzc2lnbmVkICsgaV0gPSBkYXRhW29mZnNldCArIGldXG4gICAgfVxuXG4gICAgYWNjdW0gKz0gcmVtYWluZGVyXG4gICAgb2Zmc2V0ICs9IHJlbWFpbmRlclxuXG4gICAgaWYgKChhY2N1bSAlIGJsb2NrU2l6ZSkgPT09IDApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZShibG9jaylcbiAgICB9XG4gIH1cblxuICB0aGlzLl9sZW4gKz0gbGVuZ3RoXG4gIHJldHVybiB0aGlzXG59XG5cbkhhc2gucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgdmFyIHJlbSA9IHRoaXMuX2xlbiAlIHRoaXMuX2Jsb2NrU2l6ZVxuXG4gIHRoaXMuX2Jsb2NrW3JlbV0gPSAweDgwXG5cbiAgLy8gemVybyAocmVtICsgMSkgdHJhaWxpbmcgYml0cywgd2hlcmUgKHJlbSArIDEpIGlzIHRoZSBzbWFsbGVzdFxuICAvLyBub24tbmVnYXRpdmUgc29sdXRpb24gdG8gdGhlIGVxdWF0aW9uIChsZW5ndGggKyAxICsgKHJlbSArIDEpKSA9PT0gZmluYWxTaXplIG1vZCBibG9ja1NpemVcbiAgdGhpcy5fYmxvY2suZmlsbCgwLCByZW0gKyAxKVxuXG4gIGlmIChyZW0gPj0gdGhpcy5fZmluYWxTaXplKSB7XG4gICAgdGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKVxuICAgIHRoaXMuX2Jsb2NrLmZpbGwoMClcbiAgfVxuXG4gIHZhciBiaXRzID0gdGhpcy5fbGVuICogOFxuXG4gIC8vIHVpbnQzMlxuICBpZiAoYml0cyA8PSAweGZmZmZmZmZmKSB7XG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShiaXRzLCB0aGlzLl9ibG9ja1NpemUgLSA0KVxuXG4gIC8vIHVpbnQ2NFxuICB9IGVsc2Uge1xuICAgIHZhciBsb3dCaXRzID0gKGJpdHMgJiAweGZmZmZmZmZmKSA+Pj4gMFxuICAgIHZhciBoaWdoQml0cyA9IChiaXRzIC0gbG93Qml0cykgLyAweDEwMDAwMDAwMFxuXG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShoaWdoQml0cywgdGhpcy5fYmxvY2tTaXplIC0gOClcbiAgICB0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKGxvd0JpdHMsIHRoaXMuX2Jsb2NrU2l6ZSAtIDQpXG4gIH1cblxuICB0aGlzLl91cGRhdGUodGhpcy5fYmxvY2spXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaCgpXG5cbiAgcmV0dXJuIGVuYyA/IGhhc2gudG9TdHJpbmcoZW5jKSA6IGhhc2hcbn1cblxuSGFzaC5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MnKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEhhc2hcbiIsInZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBTSEEgKGFsZ29yaXRobSkge1xuICBhbGdvcml0aG0gPSBhbGdvcml0aG0udG9Mb3dlckNhc2UoKVxuXG4gIHZhciBBbGdvcml0aG0gPSBleHBvcnRzW2FsZ29yaXRobV1cbiAgaWYgKCFBbGdvcml0aG0pIHRocm93IG5ldyBFcnJvcihhbGdvcml0aG0gKyAnIGlzIG5vdCBzdXBwb3J0ZWQgKHdlIGFjY2VwdCBwdWxsIHJlcXVlc3RzKScpXG5cbiAgcmV0dXJuIG5ldyBBbGdvcml0aG0oKVxufVxuXG5leHBvcnRzLnNoYSA9IHJlcXVpcmUoJy4vc2hhJylcbmV4cG9ydHMuc2hhMSA9IHJlcXVpcmUoJy4vc2hhMScpXG5leHBvcnRzLnNoYTIyNCA9IHJlcXVpcmUoJy4vc2hhMjI0JylcbmV4cG9ydHMuc2hhMjU2ID0gcmVxdWlyZSgnLi9zaGEyNTYnKVxuZXhwb3J0cy5zaGEzODQgPSByZXF1aXJlKCcuL3NoYTM4NCcpXG5leHBvcnRzLnNoYTUxMiA9IHJlcXVpcmUoJy4vc2hhNTEyJylcbiIsIi8qXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTAsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgUFVCIDE4MC0xXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzaGExLmpzIG9mIHRoZSBzYW1lIHJlcG9zaXRvcnkuXG4gKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIFNIQS0wIGFuZCBTSEEtMSBpcyBqdXN0IGEgYml0d2lzZSByb3RhdGUgbGVmdFxuICogb3BlcmF0aW9uIHdhcyBhZGRlZC5cbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEsgPSBbXG4gIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMgfCAwLCAweGNhNjJjMWQ2IHwgMFxuXVxuXG52YXIgVyA9IG5ldyBBcnJheSg4MClcblxuZnVuY3Rpb24gU2hhICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxufVxuXG5pbmhlcml0cyhTaGEsIEhhc2gpXG5cblNoYS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcbiAgdGhpcy5fYiA9IDB4ZWZjZGFiODlcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcbiAgdGhpcy5fZSA9IDB4YzNkMmUxZjBcblxuICByZXR1cm4gdGhpc1xufVxuXG5mdW5jdGlvbiByb3RsNSAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDUpIHwgKG51bSA+Pj4gMjcpXG59XG5cbmZ1bmN0aW9uIHJvdGwzMCAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXG59XG5cbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XG4gIGlmIChzID09PSAwKSByZXR1cm4gKGIgJiBjKSB8ICgofmIpICYgZClcbiAgaWYgKHMgPT09IDIpIHJldHVybiAoYiAmIGMpIHwgKGIgJiBkKSB8IChjICYgZClcbiAgcmV0dXJuIGIgXiBjIF4gZFxufVxuXG5TaGEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xuICB2YXIgVyA9IHRoaXMuX3dcblxuICB2YXIgYSA9IHRoaXMuX2EgfCAwXG4gIHZhciBiID0gdGhpcy5fYiB8IDBcbiAgdmFyIGMgPSB0aGlzLl9jIHwgMFxuICB2YXIgZCA9IHRoaXMuX2QgfCAwXG4gIHZhciBlID0gdGhpcy5fZSB8IDBcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpIFdbaV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0KVxuICBmb3IgKDsgaSA8IDgwOyArK2kpIFdbaV0gPSBXW2kgLSAzXSBeIFdbaSAtIDhdIF4gV1tpIC0gMTRdIF4gV1tpIC0gMTZdXG5cbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XG4gICAgdmFyIHMgPSB+fihqIC8gMjApXG4gICAgdmFyIHQgPSAocm90bDUoYSkgKyBmdChzLCBiLCBjLCBkKSArIGUgKyBXW2pdICsgS1tzXSkgfCAwXG5cbiAgICBlID0gZFxuICAgIGQgPSBjXG4gICAgYyA9IHJvdGwzMChiKVxuICAgIGIgPSBhXG4gICAgYSA9IHRcbiAgfVxuXG4gIHRoaXMuX2EgPSAoYSArIHRoaXMuX2EpIHwgMFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXG4gIHRoaXMuX2QgPSAoZCArIHRoaXMuX2QpIHwgMFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcbn1cblxuU2hhLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjApXG5cbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IgfCAwLCA0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9jIHwgMCwgOClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lIHwgMCwgMTYpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGFcbiIsIi8qXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTEsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgUFVCIDE4MC0xXG4gKiBWZXJzaW9uIDIuMWEgQ29weXJpZ2h0IFBhdWwgSm9obnN0b24gMjAwMCAtIDIwMDIuXG4gKiBPdGhlciBjb250cmlidXRvcnM6IEdyZWcgSG9sdCwgQW5kcmV3IEtlcGVydCwgWWRuYXIsIExvc3RpbmV0XG4gKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQlNEIExpY2Vuc2VcbiAqIFNlZSBodHRwOi8vcGFqaG9tZS5vcmcudWsvY3J5cHQvbWQ1IGZvciBkZXRhaWxzLlxuICovXG5cbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBIYXNoID0gcmVxdWlyZSgnLi9oYXNoJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgSyA9IFtcbiAgMHg1YTgyNzk5OSwgMHg2ZWQ5ZWJhMSwgMHg4ZjFiYmNkYyB8IDAsIDB4Y2E2MmMxZDYgfCAwXG5dXG5cbnZhciBXID0gbmV3IEFycmF5KDgwKVxuXG5mdW5jdGlvbiBTaGExICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxufVxuXG5pbmhlcml0cyhTaGExLCBIYXNoKVxuXG5TaGExLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9hID0gMHg2NzQ1MjMwMVxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxuICB0aGlzLl9kID0gMHgxMDMyNTQ3NlxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIHJvdGwxIChudW0pIHtcbiAgcmV0dXJuIChudW0gPDwgMSkgfCAobnVtID4+PiAzMSlcbn1cblxuZnVuY3Rpb24gcm90bDUgKG51bSkge1xuICByZXR1cm4gKG51bSA8PCA1KSB8IChudW0gPj4+IDI3KVxufVxuXG5mdW5jdGlvbiByb3RsMzAgKG51bSkge1xuICByZXR1cm4gKG51bSA8PCAzMCkgfCAobnVtID4+PiAyKVxufVxuXG5mdW5jdGlvbiBmdCAocywgYiwgYywgZCkge1xuICBpZiAocyA9PT0gMCkgcmV0dXJuIChiICYgYykgfCAoKH5iKSAmIGQpXG4gIGlmIChzID09PSAyKSByZXR1cm4gKGIgJiBjKSB8IChiICYgZCkgfCAoYyAmIGQpXG4gIHJldHVybiBiIF4gYyBeIGRcbn1cblxuU2hhMS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChNKSB7XG4gIHZhciBXID0gdGhpcy5fd1xuXG4gIHZhciBhID0gdGhpcy5fYSB8IDBcbiAgdmFyIGIgPSB0aGlzLl9iIHwgMFxuICB2YXIgYyA9IHRoaXMuX2MgfCAwXG4gIHZhciBkID0gdGhpcy5fZCB8IDBcbiAgdmFyIGUgPSB0aGlzLl9lIHwgMFxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgV1tpXSA9IE0ucmVhZEludDMyQkUoaSAqIDQpXG4gIGZvciAoOyBpIDwgODA7ICsraSkgV1tpXSA9IHJvdGwxKFdbaSAtIDNdIF4gV1tpIC0gOF0gXiBXW2kgLSAxNF0gXiBXW2kgLSAxNl0pXG5cbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XG4gICAgdmFyIHMgPSB+fihqIC8gMjApXG4gICAgdmFyIHQgPSAocm90bDUoYSkgKyBmdChzLCBiLCBjLCBkKSArIGUgKyBXW2pdICsgS1tzXSkgfCAwXG5cbiAgICBlID0gZFxuICAgIGQgPSBjXG4gICAgYyA9IHJvdGwzMChiKVxuICAgIGIgPSBhXG4gICAgYSA9IHRcbiAgfVxuXG4gIHRoaXMuX2EgPSAoYSArIHRoaXMuX2EpIHwgMFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXG4gIHRoaXMuX2QgPSAoZCArIHRoaXMuX2QpIHwgMFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcbn1cblxuU2hhMS5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIwKVxuXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2EgfCAwLCAwKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9iIHwgMCwgNClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYyB8IDAsIDgpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2QgfCAwLCAxMilcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZSB8IDAsIDE2KVxuXG4gIHJldHVybiBIXG59XG5cbm1vZHVsZS5leHBvcnRzID0gU2hhMVxuIiwiLyoqXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTI1NiwgYXMgZGVmaW5lZFxuICogaW4gRklQUyAxODAtMlxuICogVmVyc2lvbiAyLjItYmV0YSBDb3B5cmlnaHQgQW5nZWwgTWFyaW4sIFBhdWwgSm9obnN0b24gMjAwMCAtIDIwMDkuXG4gKiBPdGhlciBjb250cmlidXRvcnM6IEdyZWcgSG9sdCwgQW5kcmV3IEtlcGVydCwgWWRuYXIsIExvc3RpbmV0XG4gKlxuICovXG5cbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBTaGEyNTYgPSByZXF1aXJlKCcuL3NoYTI1NicpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXG5cbmZ1bmN0aW9uIFNoYTIyNCAoKSB7XG4gIHRoaXMuaW5pdCgpXG5cbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxuXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXG59XG5cbmluaGVyaXRzKFNoYTIyNCwgU2hhMjU2KVxuXG5TaGEyMjQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuX2EgPSAweGMxMDU5ZWQ4XG4gIHRoaXMuX2IgPSAweDM2N2NkNTA3XG4gIHRoaXMuX2MgPSAweDMwNzBkZDE3XG4gIHRoaXMuX2QgPSAweGY3MGU1OTM5XG4gIHRoaXMuX2UgPSAweGZmYzAwYjMxXG4gIHRoaXMuX2YgPSAweDY4NTgxNTExXG4gIHRoaXMuX2cgPSAweDY0Zjk4ZmE3XG4gIHRoaXMuX2ggPSAweGJlZmE0ZmE0XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuU2hhMjI0LnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjgpXG5cbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSwgMClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYiwgNClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYywgOClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCwgMTIpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2UsIDE2KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9mLCAyMClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZywgMjQpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGEyMjRcbiIsIi8qKlxuICogQSBKYXZhU2NyaXB0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBTZWN1cmUgSGFzaCBBbGdvcml0aG0sIFNIQS0yNTYsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgMTgwLTJcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxuICogT3RoZXIgY29udHJpYnV0b3JzOiBHcmVnIEhvbHQsIEFuZHJldyBLZXBlcnQsIFlkbmFyLCBMb3N0aW5ldFxuICpcbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEsgPSBbXG4gIDB4NDI4QTJGOTgsIDB4NzEzNzQ0OTEsIDB4QjVDMEZCQ0YsIDB4RTlCNURCQTUsXG4gIDB4Mzk1NkMyNUIsIDB4NTlGMTExRjEsIDB4OTIzRjgyQTQsIDB4QUIxQzVFRDUsXG4gIDB4RDgwN0FBOTgsIDB4MTI4MzVCMDEsIDB4MjQzMTg1QkUsIDB4NTUwQzdEQzMsXG4gIDB4NzJCRTVENzQsIDB4ODBERUIxRkUsIDB4OUJEQzA2QTcsIDB4QzE5QkYxNzQsXG4gIDB4RTQ5QjY5QzEsIDB4RUZCRTQ3ODYsIDB4MEZDMTlEQzYsIDB4MjQwQ0ExQ0MsXG4gIDB4MkRFOTJDNkYsIDB4NEE3NDg0QUEsIDB4NUNCMEE5REMsIDB4NzZGOTg4REEsXG4gIDB4OTgzRTUxNTIsIDB4QTgzMUM2NkQsIDB4QjAwMzI3QzgsIDB4QkY1OTdGQzcsXG4gIDB4QzZFMDBCRjMsIDB4RDVBNzkxNDcsIDB4MDZDQTYzNTEsIDB4MTQyOTI5NjcsXG4gIDB4MjdCNzBBODUsIDB4MkUxQjIxMzgsIDB4NEQyQzZERkMsIDB4NTMzODBEMTMsXG4gIDB4NjUwQTczNTQsIDB4NzY2QTBBQkIsIDB4ODFDMkM5MkUsIDB4OTI3MjJDODUsXG4gIDB4QTJCRkU4QTEsIDB4QTgxQTY2NEIsIDB4QzI0QjhCNzAsIDB4Qzc2QzUxQTMsXG4gIDB4RDE5MkU4MTksIDB4RDY5OTA2MjQsIDB4RjQwRTM1ODUsIDB4MTA2QUEwNzAsXG4gIDB4MTlBNEMxMTYsIDB4MUUzNzZDMDgsIDB4Mjc0ODc3NEMsIDB4MzRCMEJDQjUsXG4gIDB4MzkxQzBDQjMsIDB4NEVEOEFBNEEsIDB4NUI5Q0NBNEYsIDB4NjgyRTZGRjMsXG4gIDB4NzQ4RjgyRUUsIDB4NzhBNTYzNkYsIDB4ODRDODc4MTQsIDB4OENDNzAyMDgsXG4gIDB4OTBCRUZGRkEsIDB4QTQ1MDZDRUIsIDB4QkVGOUEzRjcsIDB4QzY3MTc4RjJcbl1cblxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXG5cbmZ1bmN0aW9uIFNoYTI1NiAoKSB7XG4gIHRoaXMuaW5pdCgpXG5cbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxuXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXG59XG5cbmluaGVyaXRzKFNoYTI1NiwgSGFzaClcblxuU2hhMjU2LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9hID0gMHg2YTA5ZTY2N1xuICB0aGlzLl9iID0gMHhiYjY3YWU4NVxuICB0aGlzLl9jID0gMHgzYzZlZjM3MlxuICB0aGlzLl9kID0gMHhhNTRmZjUzYVxuICB0aGlzLl9lID0gMHg1MTBlNTI3ZlxuICB0aGlzLl9mID0gMHg5YjA1Njg4Y1xuICB0aGlzLl9nID0gMHgxZjgzZDlhYlxuICB0aGlzLl9oID0gMHg1YmUwY2QxOVxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIGNoICh4LCB5LCB6KSB7XG4gIHJldHVybiB6IF4gKHggJiAoeSBeIHopKVxufVxuXG5mdW5jdGlvbiBtYWogKHgsIHksIHopIHtcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXG59XG5cbmZ1bmN0aW9uIHNpZ21hMCAoeCkge1xuICByZXR1cm4gKHggPj4+IDIgfCB4IDw8IDMwKSBeICh4ID4+PiAxMyB8IHggPDwgMTkpIF4gKHggPj4+IDIyIHwgeCA8PCAxMClcbn1cblxuZnVuY3Rpb24gc2lnbWExICh4KSB7XG4gIHJldHVybiAoeCA+Pj4gNiB8IHggPDwgMjYpIF4gKHggPj4+IDExIHwgeCA8PCAyMSkgXiAoeCA+Pj4gMjUgfCB4IDw8IDcpXG59XG5cbmZ1bmN0aW9uIGdhbW1hMCAoeCkge1xuICByZXR1cm4gKHggPj4+IDcgfCB4IDw8IDI1KSBeICh4ID4+PiAxOCB8IHggPDwgMTQpIF4gKHggPj4+IDMpXG59XG5cbmZ1bmN0aW9uIGdhbW1hMSAoeCkge1xuICByZXR1cm4gKHggPj4+IDE3IHwgeCA8PCAxNSkgXiAoeCA+Pj4gMTkgfCB4IDw8IDEzKSBeICh4ID4+PiAxMClcbn1cblxuU2hhMjU2LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKE0pIHtcbiAgdmFyIFcgPSB0aGlzLl93XG5cbiAgdmFyIGEgPSB0aGlzLl9hIHwgMFxuICB2YXIgYiA9IHRoaXMuX2IgfCAwXG4gIHZhciBjID0gdGhpcy5fYyB8IDBcbiAgdmFyIGQgPSB0aGlzLl9kIHwgMFxuICB2YXIgZSA9IHRoaXMuX2UgfCAwXG4gIHZhciBmID0gdGhpcy5fZiB8IDBcbiAgdmFyIGcgPSB0aGlzLl9nIHwgMFxuICB2YXIgaCA9IHRoaXMuX2ggfCAwXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcbiAgZm9yICg7IGkgPCA2NDsgKytpKSBXW2ldID0gKGdhbW1hMShXW2kgLSAyXSkgKyBXW2kgLSA3XSArIGdhbW1hMChXW2kgLSAxNV0pICsgV1tpIC0gMTZdKSB8IDBcblxuICBmb3IgKHZhciBqID0gMDsgaiA8IDY0OyArK2opIHtcbiAgICB2YXIgVDEgPSAoaCArIHNpZ21hMShlKSArIGNoKGUsIGYsIGcpICsgS1tqXSArIFdbal0pIHwgMFxuICAgIHZhciBUMiA9IChzaWdtYTAoYSkgKyBtYWooYSwgYiwgYykpIHwgMFxuXG4gICAgaCA9IGdcbiAgICBnID0gZlxuICAgIGYgPSBlXG4gICAgZSA9IChkICsgVDEpIHwgMFxuICAgIGQgPSBjXG4gICAgYyA9IGJcbiAgICBiID0gYVxuICAgIGEgPSAoVDEgKyBUMikgfCAwXG4gIH1cblxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcbiAgdGhpcy5fYiA9IChiICsgdGhpcy5fYikgfCAwXG4gIHRoaXMuX2MgPSAoYyArIHRoaXMuX2MpIHwgMFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcbiAgdGhpcy5fZSA9IChlICsgdGhpcy5fZSkgfCAwXG4gIHRoaXMuX2YgPSAoZiArIHRoaXMuX2YpIHwgMFxuICB0aGlzLl9nID0gKGcgKyB0aGlzLl9nKSB8IDBcbiAgdGhpcy5faCA9IChoICsgdGhpcy5faCkgfCAwXG59XG5cblNoYTI1Ni5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDMyKVxuXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2EsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IsIDQpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2QsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lLCAxNilcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2csIDI0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9oLCAyOClcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTI1NlxuIiwidmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIFNIQTUxMiA9IHJlcXVpcmUoJy4vc2hhNTEyJylcbnZhciBIYXNoID0gcmVxdWlyZSgnLi9oYXNoJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgVyA9IG5ldyBBcnJheSgxNjApXG5cbmZ1bmN0aW9uIFNoYTM4NCAoKSB7XG4gIHRoaXMuaW5pdCgpXG4gIHRoaXMuX3cgPSBXXG5cbiAgSGFzaC5jYWxsKHRoaXMsIDEyOCwgMTEyKVxufVxuXG5pbmhlcml0cyhTaGEzODQsIFNIQTUxMilcblxuU2hhMzg0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9haCA9IDB4Y2JiYjlkNWRcbiAgdGhpcy5fYmggPSAweDYyOWEyOTJhXG4gIHRoaXMuX2NoID0gMHg5MTU5MDE1YVxuICB0aGlzLl9kaCA9IDB4MTUyZmVjZDhcbiAgdGhpcy5fZWggPSAweDY3MzMyNjY3XG4gIHRoaXMuX2ZoID0gMHg4ZWI0NGE4N1xuICB0aGlzLl9naCA9IDB4ZGIwYzJlMGRcbiAgdGhpcy5faGggPSAweDQ3YjU0ODFkXG5cbiAgdGhpcy5fYWwgPSAweGMxMDU5ZWQ4XG4gIHRoaXMuX2JsID0gMHgzNjdjZDUwN1xuICB0aGlzLl9jbCA9IDB4MzA3MGRkMTdcbiAgdGhpcy5fZGwgPSAweGY3MGU1OTM5XG4gIHRoaXMuX2VsID0gMHhmZmMwMGIzMVxuICB0aGlzLl9mbCA9IDB4Njg1ODE1MTFcbiAgdGhpcy5fZ2wgPSAweDY0Zjk4ZmE3XG4gIHRoaXMuX2hsID0gMHhiZWZhNGZhNFxuXG4gIHJldHVybiB0aGlzXG59XG5cblNoYTM4NC5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDQ4KVxuXG4gIGZ1bmN0aW9uIHdyaXRlSW50NjRCRSAoaCwgbCwgb2Zmc2V0KSB7XG4gICAgSC53cml0ZUludDMyQkUoaCwgb2Zmc2V0KVxuICAgIEgud3JpdGVJbnQzMkJFKGwsIG9mZnNldCArIDQpXG4gIH1cblxuICB3cml0ZUludDY0QkUodGhpcy5fYWgsIHRoaXMuX2FsLCAwKVxuICB3cml0ZUludDY0QkUodGhpcy5fYmgsIHRoaXMuX2JsLCA4KVxuICB3cml0ZUludDY0QkUodGhpcy5fY2gsIHRoaXMuX2NsLCAxNilcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2RoLCB0aGlzLl9kbCwgMjQpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9laCwgdGhpcy5fZWwsIDMyKVxuICB3cml0ZUludDY0QkUodGhpcy5fZmgsIHRoaXMuX2ZsLCA0MClcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTM4NFxuIiwidmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEhhc2ggPSByZXF1aXJlKCcuL2hhc2gnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbnZhciBLID0gW1xuICAweDQyOGEyZjk4LCAweGQ3MjhhZTIyLCAweDcxMzc0NDkxLCAweDIzZWY2NWNkLFxuICAweGI1YzBmYmNmLCAweGVjNGQzYjJmLCAweGU5YjVkYmE1LCAweDgxODlkYmJjLFxuICAweDM5NTZjMjViLCAweGYzNDhiNTM4LCAweDU5ZjExMWYxLCAweGI2MDVkMDE5LFxuICAweDkyM2Y4MmE0LCAweGFmMTk0ZjliLCAweGFiMWM1ZWQ1LCAweGRhNmQ4MTE4LFxuICAweGQ4MDdhYTk4LCAweGEzMDMwMjQyLCAweDEyODM1YjAxLCAweDQ1NzA2ZmJlLFxuICAweDI0MzE4NWJlLCAweDRlZTRiMjhjLCAweDU1MGM3ZGMzLCAweGQ1ZmZiNGUyLFxuICAweDcyYmU1ZDc0LCAweGYyN2I4OTZmLCAweDgwZGViMWZlLCAweDNiMTY5NmIxLFxuICAweDliZGMwNmE3LCAweDI1YzcxMjM1LCAweGMxOWJmMTc0LCAweGNmNjkyNjk0LFxuICAweGU0OWI2OWMxLCAweDllZjE0YWQyLCAweGVmYmU0Nzg2LCAweDM4NGYyNWUzLFxuICAweDBmYzE5ZGM2LCAweDhiOGNkNWI1LCAweDI0MGNhMWNjLCAweDc3YWM5YzY1LFxuICAweDJkZTkyYzZmLCAweDU5MmIwMjc1LCAweDRhNzQ4NGFhLCAweDZlYTZlNDgzLFxuICAweDVjYjBhOWRjLCAweGJkNDFmYmQ0LCAweDc2Zjk4OGRhLCAweDgzMTE1M2I1LFxuICAweDk4M2U1MTUyLCAweGVlNjZkZmFiLCAweGE4MzFjNjZkLCAweDJkYjQzMjEwLFxuICAweGIwMDMyN2M4LCAweDk4ZmIyMTNmLCAweGJmNTk3ZmM3LCAweGJlZWYwZWU0LFxuICAweGM2ZTAwYmYzLCAweDNkYTg4ZmMyLCAweGQ1YTc5MTQ3LCAweDkzMGFhNzI1LFxuICAweDA2Y2E2MzUxLCAweGUwMDM4MjZmLCAweDE0MjkyOTY3LCAweDBhMGU2ZTcwLFxuICAweDI3YjcwYTg1LCAweDQ2ZDIyZmZjLCAweDJlMWIyMTM4LCAweDVjMjZjOTI2LFxuICAweDRkMmM2ZGZjLCAweDVhYzQyYWVkLCAweDUzMzgwZDEzLCAweDlkOTViM2RmLFxuICAweDY1MGE3MzU0LCAweDhiYWY2M2RlLCAweDc2NmEwYWJiLCAweDNjNzdiMmE4LFxuICAweDgxYzJjOTJlLCAweDQ3ZWRhZWU2LCAweDkyNzIyYzg1LCAweDE0ODIzNTNiLFxuICAweGEyYmZlOGExLCAweDRjZjEwMzY0LCAweGE4MWE2NjRiLCAweGJjNDIzMDAxLFxuICAweGMyNGI4YjcwLCAweGQwZjg5NzkxLCAweGM3NmM1MWEzLCAweDA2NTRiZTMwLFxuICAweGQxOTJlODE5LCAweGQ2ZWY1MjE4LCAweGQ2OTkwNjI0LCAweDU1NjVhOTEwLFxuICAweGY0MGUzNTg1LCAweDU3NzEyMDJhLCAweDEwNmFhMDcwLCAweDMyYmJkMWI4LFxuICAweDE5YTRjMTE2LCAweGI4ZDJkMGM4LCAweDFlMzc2YzA4LCAweDUxNDFhYjUzLFxuICAweDI3NDg3NzRjLCAweGRmOGVlYjk5LCAweDM0YjBiY2I1LCAweGUxOWI0OGE4LFxuICAweDM5MWMwY2IzLCAweGM1Yzk1YTYzLCAweDRlZDhhYTRhLCAweGUzNDE4YWNiLFxuICAweDViOWNjYTRmLCAweDc3NjNlMzczLCAweDY4MmU2ZmYzLCAweGQ2YjJiOGEzLFxuICAweDc0OGY4MmVlLCAweDVkZWZiMmZjLCAweDc4YTU2MzZmLCAweDQzMTcyZjYwLFxuICAweDg0Yzg3ODE0LCAweGExZjBhYjcyLCAweDhjYzcwMjA4LCAweDFhNjQzOWVjLFxuICAweDkwYmVmZmZhLCAweDIzNjMxZTI4LCAweGE0NTA2Y2ViLCAweGRlODJiZGU5LFxuICAweGJlZjlhM2Y3LCAweGIyYzY3OTE1LCAweGM2NzE3OGYyLCAweGUzNzI1MzJiLFxuICAweGNhMjczZWNlLCAweGVhMjY2MTljLCAweGQxODZiOGM3LCAweDIxYzBjMjA3LFxuICAweGVhZGE3ZGQ2LCAweGNkZTBlYjFlLCAweGY1N2Q0ZjdmLCAweGVlNmVkMTc4LFxuICAweDA2ZjA2N2FhLCAweDcyMTc2ZmJhLCAweDBhNjM3ZGM1LCAweGEyYzg5OGE2LFxuICAweDExM2Y5ODA0LCAweGJlZjkwZGFlLCAweDFiNzEwYjM1LCAweDEzMWM0NzFiLFxuICAweDI4ZGI3N2Y1LCAweDIzMDQ3ZDg0LCAweDMyY2FhYjdiLCAweDQwYzcyNDkzLFxuICAweDNjOWViZTBhLCAweDE1YzliZWJjLCAweDQzMWQ2N2M0LCAweDljMTAwZDRjLFxuICAweDRjYzVkNGJlLCAweGNiM2U0MmI2LCAweDU5N2YyOTljLCAweGZjNjU3ZTJhLFxuICAweDVmY2I2ZmFiLCAweDNhZDZmYWVjLCAweDZjNDQxOThjLCAweDRhNDc1ODE3XG5dXG5cbnZhciBXID0gbmV3IEFycmF5KDE2MClcblxuZnVuY3Rpb24gU2hhNTEyICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgMTI4LCAxMTIpXG59XG5cbmluaGVyaXRzKFNoYTUxMiwgSGFzaClcblxuU2hhNTEyLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9haCA9IDB4NmEwOWU2NjdcbiAgdGhpcy5fYmggPSAweGJiNjdhZTg1XG4gIHRoaXMuX2NoID0gMHgzYzZlZjM3MlxuICB0aGlzLl9kaCA9IDB4YTU0ZmY1M2FcbiAgdGhpcy5fZWggPSAweDUxMGU1MjdmXG4gIHRoaXMuX2ZoID0gMHg5YjA1Njg4Y1xuICB0aGlzLl9naCA9IDB4MWY4M2Q5YWJcbiAgdGhpcy5faGggPSAweDViZTBjZDE5XG5cbiAgdGhpcy5fYWwgPSAweGYzYmNjOTA4XG4gIHRoaXMuX2JsID0gMHg4NGNhYTczYlxuICB0aGlzLl9jbCA9IDB4ZmU5NGY4MmJcbiAgdGhpcy5fZGwgPSAweDVmMWQzNmYxXG4gIHRoaXMuX2VsID0gMHhhZGU2ODJkMVxuICB0aGlzLl9mbCA9IDB4MmIzZTZjMWZcbiAgdGhpcy5fZ2wgPSAweGZiNDFiZDZiXG4gIHRoaXMuX2hsID0gMHgxMzdlMjE3OVxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIENoICh4LCB5LCB6KSB7XG4gIHJldHVybiB6IF4gKHggJiAoeSBeIHopKVxufVxuXG5mdW5jdGlvbiBtYWogKHgsIHksIHopIHtcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXG59XG5cbmZ1bmN0aW9uIHNpZ21hMCAoeCwgeGwpIHtcbiAgcmV0dXJuICh4ID4+PiAyOCB8IHhsIDw8IDQpIF4gKHhsID4+PiAyIHwgeCA8PCAzMCkgXiAoeGwgPj4+IDcgfCB4IDw8IDI1KVxufVxuXG5mdW5jdGlvbiBzaWdtYTEgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMTQgfCB4bCA8PCAxOCkgXiAoeCA+Pj4gMTggfCB4bCA8PCAxNCkgXiAoeGwgPj4+IDkgfCB4IDw8IDIzKVxufVxuXG5mdW5jdGlvbiBHYW1tYTAgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMSB8IHhsIDw8IDMxKSBeICh4ID4+PiA4IHwgeGwgPDwgMjQpIF4gKHggPj4+IDcpXG59XG5cbmZ1bmN0aW9uIEdhbW1hMGwgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMSB8IHhsIDw8IDMxKSBeICh4ID4+PiA4IHwgeGwgPDwgMjQpIF4gKHggPj4+IDcgfCB4bCA8PCAyNSlcbn1cblxuZnVuY3Rpb24gR2FtbWExICh4LCB4bCkge1xuICByZXR1cm4gKHggPj4+IDE5IHwgeGwgPDwgMTMpIF4gKHhsID4+PiAyOSB8IHggPDwgMykgXiAoeCA+Pj4gNilcbn1cblxuZnVuY3Rpb24gR2FtbWExbCAoeCwgeGwpIHtcbiAgcmV0dXJuICh4ID4+PiAxOSB8IHhsIDw8IDEzKSBeICh4bCA+Pj4gMjkgfCB4IDw8IDMpIF4gKHggPj4+IDYgfCB4bCA8PCAyNilcbn1cblxuZnVuY3Rpb24gZ2V0Q2FycnkgKGEsIGIpIHtcbiAgcmV0dXJuIChhID4+PiAwKSA8IChiID4+PiAwKSA/IDEgOiAwXG59XG5cblNoYTUxMi5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChNKSB7XG4gIHZhciBXID0gdGhpcy5fd1xuXG4gIHZhciBhaCA9IHRoaXMuX2FoIHwgMFxuICB2YXIgYmggPSB0aGlzLl9iaCB8IDBcbiAgdmFyIGNoID0gdGhpcy5fY2ggfCAwXG4gIHZhciBkaCA9IHRoaXMuX2RoIHwgMFxuICB2YXIgZWggPSB0aGlzLl9laCB8IDBcbiAgdmFyIGZoID0gdGhpcy5fZmggfCAwXG4gIHZhciBnaCA9IHRoaXMuX2doIHwgMFxuICB2YXIgaGggPSB0aGlzLl9oaCB8IDBcblxuICB2YXIgYWwgPSB0aGlzLl9hbCB8IDBcbiAgdmFyIGJsID0gdGhpcy5fYmwgfCAwXG4gIHZhciBjbCA9IHRoaXMuX2NsIHwgMFxuICB2YXIgZGwgPSB0aGlzLl9kbCB8IDBcbiAgdmFyIGVsID0gdGhpcy5fZWwgfCAwXG4gIHZhciBmbCA9IHRoaXMuX2ZsIHwgMFxuICB2YXIgZ2wgPSB0aGlzLl9nbCB8IDBcbiAgdmFyIGhsID0gdGhpcy5faGwgfCAwXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMjsgaSArPSAyKSB7XG4gICAgV1tpXSA9IE0ucmVhZEludDMyQkUoaSAqIDQpXG4gICAgV1tpICsgMV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0ICsgNClcbiAgfVxuICBmb3IgKDsgaSA8IDE2MDsgaSArPSAyKSB7XG4gICAgdmFyIHhoID0gV1tpIC0gMTUgKiAyXVxuICAgIHZhciB4bCA9IFdbaSAtIDE1ICogMiArIDFdXG4gICAgdmFyIGdhbW1hMCA9IEdhbW1hMCh4aCwgeGwpXG4gICAgdmFyIGdhbW1hMGwgPSBHYW1tYTBsKHhsLCB4aClcblxuICAgIHhoID0gV1tpIC0gMiAqIDJdXG4gICAgeGwgPSBXW2kgLSAyICogMiArIDFdXG4gICAgdmFyIGdhbW1hMSA9IEdhbW1hMSh4aCwgeGwpXG4gICAgdmFyIGdhbW1hMWwgPSBHYW1tYTFsKHhsLCB4aClcblxuICAgIC8vIFdbaV0gPSBnYW1tYTAgKyBXW2kgLSA3XSArIGdhbW1hMSArIFdbaSAtIDE2XVxuICAgIHZhciBXaTdoID0gV1tpIC0gNyAqIDJdXG4gICAgdmFyIFdpN2wgPSBXW2kgLSA3ICogMiArIDFdXG5cbiAgICB2YXIgV2kxNmggPSBXW2kgLSAxNiAqIDJdXG4gICAgdmFyIFdpMTZsID0gV1tpIC0gMTYgKiAyICsgMV1cblxuICAgIHZhciBXaWwgPSAoZ2FtbWEwbCArIFdpN2wpIHwgMFxuICAgIHZhciBXaWggPSAoZ2FtbWEwICsgV2k3aCArIGdldENhcnJ5KFdpbCwgZ2FtbWEwbCkpIHwgMFxuICAgIFdpbCA9IChXaWwgKyBnYW1tYTFsKSB8IDBcbiAgICBXaWggPSAoV2loICsgZ2FtbWExICsgZ2V0Q2FycnkoV2lsLCBnYW1tYTFsKSkgfCAwXG4gICAgV2lsID0gKFdpbCArIFdpMTZsKSB8IDBcbiAgICBXaWggPSAoV2loICsgV2kxNmggKyBnZXRDYXJyeShXaWwsIFdpMTZsKSkgfCAwXG5cbiAgICBXW2ldID0gV2loXG4gICAgV1tpICsgMV0gPSBXaWxcbiAgfVxuXG4gIGZvciAodmFyIGogPSAwOyBqIDwgMTYwOyBqICs9IDIpIHtcbiAgICBXaWggPSBXW2pdXG4gICAgV2lsID0gV1tqICsgMV1cblxuICAgIHZhciBtYWpoID0gbWFqKGFoLCBiaCwgY2gpXG4gICAgdmFyIG1hamwgPSBtYWooYWwsIGJsLCBjbClcblxuICAgIHZhciBzaWdtYTBoID0gc2lnbWEwKGFoLCBhbClcbiAgICB2YXIgc2lnbWEwbCA9IHNpZ21hMChhbCwgYWgpXG4gICAgdmFyIHNpZ21hMWggPSBzaWdtYTEoZWgsIGVsKVxuICAgIHZhciBzaWdtYTFsID0gc2lnbWExKGVsLCBlaClcblxuICAgIC8vIHQxID0gaCArIHNpZ21hMSArIGNoICsgS1tqXSArIFdbal1cbiAgICB2YXIgS2loID0gS1tqXVxuICAgIHZhciBLaWwgPSBLW2ogKyAxXVxuXG4gICAgdmFyIGNoaCA9IENoKGVoLCBmaCwgZ2gpXG4gICAgdmFyIGNobCA9IENoKGVsLCBmbCwgZ2wpXG5cbiAgICB2YXIgdDFsID0gKGhsICsgc2lnbWExbCkgfCAwXG4gICAgdmFyIHQxaCA9IChoaCArIHNpZ21hMWggKyBnZXRDYXJyeSh0MWwsIGhsKSkgfCAwXG4gICAgdDFsID0gKHQxbCArIGNobCkgfCAwXG4gICAgdDFoID0gKHQxaCArIGNoaCArIGdldENhcnJ5KHQxbCwgY2hsKSkgfCAwXG4gICAgdDFsID0gKHQxbCArIEtpbCkgfCAwXG4gICAgdDFoID0gKHQxaCArIEtpaCArIGdldENhcnJ5KHQxbCwgS2lsKSkgfCAwXG4gICAgdDFsID0gKHQxbCArIFdpbCkgfCAwXG4gICAgdDFoID0gKHQxaCArIFdpaCArIGdldENhcnJ5KHQxbCwgV2lsKSkgfCAwXG5cbiAgICAvLyB0MiA9IHNpZ21hMCArIG1halxuICAgIHZhciB0MmwgPSAoc2lnbWEwbCArIG1hamwpIHwgMFxuICAgIHZhciB0MmggPSAoc2lnbWEwaCArIG1hamggKyBnZXRDYXJyeSh0MmwsIHNpZ21hMGwpKSB8IDBcblxuICAgIGhoID0gZ2hcbiAgICBobCA9IGdsXG4gICAgZ2ggPSBmaFxuICAgIGdsID0gZmxcbiAgICBmaCA9IGVoXG4gICAgZmwgPSBlbFxuICAgIGVsID0gKGRsICsgdDFsKSB8IDBcbiAgICBlaCA9IChkaCArIHQxaCArIGdldENhcnJ5KGVsLCBkbCkpIHwgMFxuICAgIGRoID0gY2hcbiAgICBkbCA9IGNsXG4gICAgY2ggPSBiaFxuICAgIGNsID0gYmxcbiAgICBiaCA9IGFoXG4gICAgYmwgPSBhbFxuICAgIGFsID0gKHQxbCArIHQybCkgfCAwXG4gICAgYWggPSAodDFoICsgdDJoICsgZ2V0Q2FycnkoYWwsIHQxbCkpIHwgMFxuICB9XG5cbiAgdGhpcy5fYWwgPSAodGhpcy5fYWwgKyBhbCkgfCAwXG4gIHRoaXMuX2JsID0gKHRoaXMuX2JsICsgYmwpIHwgMFxuICB0aGlzLl9jbCA9ICh0aGlzLl9jbCArIGNsKSB8IDBcbiAgdGhpcy5fZGwgPSAodGhpcy5fZGwgKyBkbCkgfCAwXG4gIHRoaXMuX2VsID0gKHRoaXMuX2VsICsgZWwpIHwgMFxuICB0aGlzLl9mbCA9ICh0aGlzLl9mbCArIGZsKSB8IDBcbiAgdGhpcy5fZ2wgPSAodGhpcy5fZ2wgKyBnbCkgfCAwXG4gIHRoaXMuX2hsID0gKHRoaXMuX2hsICsgaGwpIHwgMFxuXG4gIHRoaXMuX2FoID0gKHRoaXMuX2FoICsgYWggKyBnZXRDYXJyeSh0aGlzLl9hbCwgYWwpKSB8IDBcbiAgdGhpcy5fYmggPSAodGhpcy5fYmggKyBiaCArIGdldENhcnJ5KHRoaXMuX2JsLCBibCkpIHwgMFxuICB0aGlzLl9jaCA9ICh0aGlzLl9jaCArIGNoICsgZ2V0Q2FycnkodGhpcy5fY2wsIGNsKSkgfCAwXG4gIHRoaXMuX2RoID0gKHRoaXMuX2RoICsgZGggKyBnZXRDYXJyeSh0aGlzLl9kbCwgZGwpKSB8IDBcbiAgdGhpcy5fZWggPSAodGhpcy5fZWggKyBlaCArIGdldENhcnJ5KHRoaXMuX2VsLCBlbCkpIHwgMFxuICB0aGlzLl9maCA9ICh0aGlzLl9maCArIGZoICsgZ2V0Q2FycnkodGhpcy5fZmwsIGZsKSkgfCAwXG4gIHRoaXMuX2doID0gKHRoaXMuX2doICsgZ2ggKyBnZXRDYXJyeSh0aGlzLl9nbCwgZ2wpKSB8IDBcbiAgdGhpcy5faGggPSAodGhpcy5faGggKyBoaCArIGdldENhcnJ5KHRoaXMuX2hsLCBobCkpIHwgMFxufVxuXG5TaGE1MTIucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xuICB2YXIgSCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSg2NClcblxuICBmdW5jdGlvbiB3cml0ZUludDY0QkUgKGgsIGwsIG9mZnNldCkge1xuICAgIEgud3JpdGVJbnQzMkJFKGgsIG9mZnNldClcbiAgICBILndyaXRlSW50MzJCRShsLCBvZmZzZXQgKyA0KVxuICB9XG5cbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2FoLCB0aGlzLl9hbCwgMClcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2JoLCB0aGlzLl9ibCwgOClcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2NoLCB0aGlzLl9jbCwgMTYpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9kaCwgdGhpcy5fZGwsIDI0KVxuICB3cml0ZUludDY0QkUodGhpcy5fZWgsIHRoaXMuX2VsLCAzMilcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2ZoLCB0aGlzLl9mbCwgNDApXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9naCwgdGhpcy5fZ2wsIDQ4KVxuICB3cml0ZUludDY0QkUodGhpcy5faGgsIHRoaXMuX2hsLCA1NilcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTUxMlxuIiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtO1xuXG52YXIgRUUgPSByZXF1aXJlKCdldmVudHMnKS5FdmVudEVtaXR0ZXI7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuXG5pbmhlcml0cyhTdHJlYW0sIEVFKTtcblN0cmVhbS5SZWFkYWJsZSA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcycpO1xuU3RyZWFtLldyaXRhYmxlID0gcmVxdWlyZSgncmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLmpzJyk7XG5TdHJlYW0uRHVwbGV4ID0gcmVxdWlyZSgncmVhZGFibGUtc3RyZWFtL2R1cGxleC5qcycpO1xuU3RyZWFtLlRyYW5zZm9ybSA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbS90cmFuc2Zvcm0uanMnKTtcblN0cmVhbS5QYXNzVGhyb3VnaCA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbS9wYXNzdGhyb3VnaC5qcycpO1xuXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjQueFxuU3RyZWFtLlN0cmVhbSA9IFN0cmVhbTtcblxuXG5cbi8vIG9sZC1zdHlsZSBzdHJlYW1zLiAgTm90ZSB0aGF0IHRoZSBwaXBlIG1ldGhvZCAodGhlIG9ubHkgcmVsZXZhbnRcbi8vIHBhcnQgb2YgdGhpcyBjbGFzcykgaXMgb3ZlcnJpZGRlbiBpbiB0aGUgUmVhZGFibGUgY2xhc3MuXG5cbmZ1bmN0aW9uIFN0cmVhbSgpIHtcbiAgRUUuY2FsbCh0aGlzKTtcbn1cblxuU3RyZWFtLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24oZGVzdCwgb3B0aW9ucykge1xuICB2YXIgc291cmNlID0gdGhpcztcblxuICBmdW5jdGlvbiBvbmRhdGEoY2h1bmspIHtcbiAgICBpZiAoZGVzdC53cml0YWJsZSkge1xuICAgICAgaWYgKGZhbHNlID09PSBkZXN0LndyaXRlKGNodW5rKSAmJiBzb3VyY2UucGF1c2UpIHtcbiAgICAgICAgc291cmNlLnBhdXNlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc291cmNlLm9uKCdkYXRhJywgb25kYXRhKTtcblxuICBmdW5jdGlvbiBvbmRyYWluKCkge1xuICAgIGlmIChzb3VyY2UucmVhZGFibGUgJiYgc291cmNlLnJlc3VtZSkge1xuICAgICAgc291cmNlLnJlc3VtZSgpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XG5cbiAgLy8gSWYgdGhlICdlbmQnIG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIGRlc3QuZW5kKCkgd2lsbCBiZSBjYWxsZWQgd2hlblxuICAvLyBzb3VyY2UgZ2V0cyB0aGUgJ2VuZCcgb3IgJ2Nsb3NlJyBldmVudHMuICBPbmx5IGRlc3QuZW5kKCkgb25jZS5cbiAgaWYgKCFkZXN0Ll9pc1N0ZGlvICYmICghb3B0aW9ucyB8fCBvcHRpb25zLmVuZCAhPT0gZmFsc2UpKSB7XG4gICAgc291cmNlLm9uKCdlbmQnLCBvbmVuZCk7XG4gICAgc291cmNlLm9uKCdjbG9zZScsIG9uY2xvc2UpO1xuICB9XG5cbiAgdmFyIGRpZE9uRW5kID0gZmFsc2U7XG4gIGZ1bmN0aW9uIG9uZW5kKCkge1xuICAgIGlmIChkaWRPbkVuZCkgcmV0dXJuO1xuICAgIGRpZE9uRW5kID0gdHJ1ZTtcblxuICAgIGRlc3QuZW5kKCk7XG4gIH1cblxuXG4gIGZ1bmN0aW9uIG9uY2xvc2UoKSB7XG4gICAgaWYgKGRpZE9uRW5kKSByZXR1cm47XG4gICAgZGlkT25FbmQgPSB0cnVlO1xuXG4gICAgaWYgKHR5cGVvZiBkZXN0LmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIGRlc3QuZGVzdHJveSgpO1xuICB9XG5cbiAgLy8gZG9uJ3QgbGVhdmUgZGFuZ2xpbmcgcGlwZXMgd2hlbiB0aGVyZSBhcmUgZXJyb3JzLlxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XG4gICAgY2xlYW51cCgpO1xuICAgIGlmIChFRS5saXN0ZW5lckNvdW50KHRoaXMsICdlcnJvcicpID09PSAwKSB7XG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkIHN0cmVhbSBlcnJvciBpbiBwaXBlLlxuICAgIH1cbiAgfVxuXG4gIHNvdXJjZS5vbignZXJyb3InLCBvbmVycm9yKTtcbiAgZGVzdC5vbignZXJyb3InLCBvbmVycm9yKTtcblxuICAvLyByZW1vdmUgYWxsIHRoZSBldmVudCBsaXN0ZW5lcnMgdGhhdCB3ZXJlIGFkZGVkLlxuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZHJhaW4nLCBvbmRyYWluKTtcblxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcblxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xuXG4gICAgc291cmNlLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBjbGVhbnVwKTtcbiAgICBzb3VyY2UucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgY2xlYW51cCk7XG5cbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIGNsZWFudXApO1xuICB9XG5cbiAgc291cmNlLm9uKCdlbmQnLCBjbGVhbnVwKTtcbiAgc291cmNlLm9uKCdjbG9zZScsIGNsZWFudXApO1xuXG4gIGRlc3Qub24oJ2Nsb3NlJywgY2xlYW51cCk7XG5cbiAgZGVzdC5lbWl0KCdwaXBlJywgc291cmNlKTtcblxuICAvLyBBbGxvdyBmb3IgdW5peC1saWtlIHVzYWdlOiBBLnBpcGUoQikucGlwZShDKVxuICByZXR1cm4gZGVzdDtcbn07XG4iLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXI7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIGlzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZyB8fCBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcbiAgZW5jb2RpbmcgPSAnJyArIGVuY29kaW5nO1xuICBzd2l0Y2ggKGVuY29kaW5nICYmIGVuY29kaW5nLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdoZXgnOmNhc2UgJ3V0ZjgnOmNhc2UgJ3V0Zi04JzpjYXNlICdhc2NpaSc6Y2FzZSAnYmluYXJ5JzpjYXNlICdiYXNlNjQnOmNhc2UgJ3VjczInOmNhc2UgJ3Vjcy0yJzpjYXNlICd1dGYxNmxlJzpjYXNlICd1dGYtMTZsZSc6Y2FzZSAncmF3JzpcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyhlbmMpIHtcbiAgaWYgKCFlbmMpIHJldHVybiAndXRmOCc7XG4gIHZhciByZXRyaWVkO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHN3aXRjaCAoZW5jKSB7XG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuICd1dGY4JztcbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiAndXRmMTZsZSc7XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuICdsYXRpbjEnO1xuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBlbmM7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAocmV0cmllZCkgcmV0dXJuOyAvLyB1bmRlZmluZWRcbiAgICAgICAgZW5jID0gKCcnICsgZW5jKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXRyaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn07XG5cbi8vIERvIG5vdCBjYWNoZSBgQnVmZmVyLmlzRW5jb2RpbmdgIHdoZW4gY2hlY2tpbmcgZW5jb2RpbmcgbmFtZXMgYXMgc29tZVxuLy8gbW9kdWxlcyBtb25rZXktcGF0Y2ggaXQgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGVuY29kaW5nc1xuZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XG4gIHZhciBuZW5jID0gX25vcm1hbGl6ZUVuY29kaW5nKGVuYyk7XG4gIGlmICh0eXBlb2YgbmVuYyAhPT0gJ3N0cmluZycgJiYgKEJ1ZmZlci5pc0VuY29kaW5nID09PSBpc0VuY29kaW5nIHx8ICFpc0VuY29kaW5nKGVuYykpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmMpO1xuICByZXR1cm4gbmVuYyB8fCBlbmM7XG59XG5cbi8vIFN0cmluZ0RlY29kZXIgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBlZmZpY2llbnRseSBzcGxpdHRpbmcgYSBzZXJpZXMgb2Zcbi8vIGJ1ZmZlcnMgaW50byBhIHNlcmllcyBvZiBKUyBzdHJpbmdzIHdpdGhvdXQgYnJlYWtpbmcgYXBhcnQgbXVsdGktYnl0ZVxuLy8gY2hhcmFjdGVycy5cbmV4cG9ydHMuU3RyaW5nRGVjb2RlciA9IFN0cmluZ0RlY29kZXI7XG5mdW5jdGlvbiBTdHJpbmdEZWNvZGVyKGVuY29kaW5nKSB7XG4gIHRoaXMuZW5jb2RpbmcgPSBub3JtYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XG4gIHZhciBuYjtcbiAgc3dpdGNoICh0aGlzLmVuY29kaW5nKSB7XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICB0aGlzLnRleHQgPSB1dGYxNlRleHQ7XG4gICAgICB0aGlzLmVuZCA9IHV0ZjE2RW5kO1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndXRmOCc6XG4gICAgICB0aGlzLmZpbGxMYXN0ID0gdXRmOEZpbGxMYXN0O1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIHRoaXMudGV4dCA9IGJhc2U2NFRleHQ7XG4gICAgICB0aGlzLmVuZCA9IGJhc2U2NEVuZDtcbiAgICAgIG5iID0gMztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aGlzLndyaXRlID0gc2ltcGxlV3JpdGU7XG4gICAgICB0aGlzLmVuZCA9IHNpbXBsZUVuZDtcbiAgICAgIHJldHVybjtcbiAgfVxuICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgdGhpcy5sYXN0VG90YWwgPSAwO1xuICB0aGlzLmxhc3RDaGFyID0gQnVmZmVyLmFsbG9jVW5zYWZlKG5iKTtcbn1cblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmIChidWYubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gIHZhciByO1xuICB2YXIgaTtcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcbiAgICByID0gdGhpcy5maWxsTGFzdChidWYpO1xuICAgIGlmIChyID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcbiAgICBpID0gdGhpcy5sYXN0TmVlZDtcbiAgICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgfSBlbHNlIHtcbiAgICBpID0gMDtcbiAgfVxuICBpZiAoaSA8IGJ1Zi5sZW5ndGgpIHJldHVybiByID8gciArIHRoaXMudGV4dChidWYsIGkpIDogdGhpcy50ZXh0KGJ1ZiwgaSk7XG4gIHJldHVybiByIHx8ICcnO1xufTtcblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gdXRmOEVuZDtcblxuLy8gUmV0dXJucyBvbmx5IGNvbXBsZXRlIGNoYXJhY3RlcnMgaW4gYSBCdWZmZXJcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQgPSB1dGY4VGV4dDtcblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBwYXJ0aWFsIG5vbi1VVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlclxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3QgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmICh0aGlzLmxhc3ROZWVkIDw9IGJ1Zi5sZW5ndGgpIHtcbiAgICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIHRoaXMubGFzdE5lZWQpO1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcbiAgfVxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59O1xuXG4vLyBDaGVja3MgdGhlIHR5cGUgb2YgYSBVVEYtOCBieXRlLCB3aGV0aGVyIGl0J3MgQVNDSUksIGEgbGVhZGluZyBieXRlLCBvciBhXG4vLyBjb250aW51YXRpb24gYnl0ZS4gSWYgYW4gaW52YWxpZCBieXRlIGlzIGRldGVjdGVkLCAtMiBpcyByZXR1cm5lZC5cbmZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUoYnl0ZSkge1xuICBpZiAoYnl0ZSA8PSAweDdGKSByZXR1cm4gMDtlbHNlIGlmIChieXRlID4+IDUgPT09IDB4MDYpIHJldHVybiAyO2Vsc2UgaWYgKGJ5dGUgPj4gNCA9PT0gMHgwRSkgcmV0dXJuIDM7ZWxzZSBpZiAoYnl0ZSA+PiAzID09PSAweDFFKSByZXR1cm4gNDtcbiAgcmV0dXJuIGJ5dGUgPj4gNiA9PT0gMHgwMiA/IC0xIDogLTI7XG59XG5cbi8vIENoZWNrcyBhdCBtb3N0IDMgYnl0ZXMgYXQgdGhlIGVuZCBvZiBhIEJ1ZmZlciBpbiBvcmRlciB0byBkZXRlY3QgYW5cbi8vIGluY29tcGxldGUgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIuIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKDIsIDMsIG9yIDQpXG4vLyBuZWVkZWQgdG8gY29tcGxldGUgdGhlIFVURi04IGNoYXJhY3RlciAoaWYgYXBwbGljYWJsZSkgYXJlIHJldHVybmVkLlxuZnVuY3Rpb24gdXRmOENoZWNrSW5jb21wbGV0ZShzZWxmLCBidWYsIGkpIHtcbiAgdmFyIGogPSBidWYubGVuZ3RoIC0gMTtcbiAgaWYgKGogPCBpKSByZXR1cm4gMDtcbiAgdmFyIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDE7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDI7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHtcbiAgICAgIGlmIChuYiA9PT0gMikgbmIgPSAwO2Vsc2Ugc2VsZi5sYXN0TmVlZCA9IG5iIC0gMztcbiAgICB9XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIHJldHVybiAwO1xufVxuXG4vLyBWYWxpZGF0ZXMgYXMgbWFueSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgYXNcbi8vIG5lZWRlZCBvciBhcmUgYXZhaWxhYmxlLiBJZiB3ZSBzZWUgYSBub24tY29udGludWF0aW9uIGJ5dGUgd2hlcmUgd2UgZXhwZWN0XG4vLyBvbmUsIHdlIFwicmVwbGFjZVwiIHRoZSB2YWxpZGF0ZWQgY29udGludWF0aW9uIGJ5dGVzIHdlJ3ZlIHNlZW4gc28gZmFyIHdpdGhcbi8vIGEgc2luZ2xlIFVURi04IHJlcGxhY2VtZW50IGNoYXJhY3RlciAoJ1xcdWZmZmQnKSwgdG8gbWF0Y2ggdjgncyBVVEYtOCBkZWNvZGluZ1xuLy8gYmVoYXZpb3IuIFRoZSBjb250aW51YXRpb24gYnl0ZSBjaGVjayBpcyBpbmNsdWRlZCB0aHJlZSB0aW1lcyBpbiB0aGUgY2FzZVxuLy8gd2hlcmUgYWxsIG9mIHRoZSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgY2hhcmFjdGVyIGV4aXN0IGluIHRoZSBzYW1lIGJ1ZmZlci5cbi8vIEl0IGlzIGFsc28gZG9uZSB0aGlzIHdheSBhcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBpbmNyZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGFcbi8vIGxvb3AuXG5mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHNlbGYsIGJ1ZiwgcCkge1xuICBpZiAoKGJ1ZlswXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgc2VsZi5sYXN0TmVlZCA9IDA7XG4gICAgcmV0dXJuICdcXHVmZmZkJztcbiAgfVxuICBpZiAoc2VsZi5sYXN0TmVlZCA+IDEgJiYgYnVmLmxlbmd0aCA+IDEpIHtcbiAgICBpZiAoKGJ1ZlsxXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgICBzZWxmLmxhc3ROZWVkID0gMTtcbiAgICAgIHJldHVybiAnXFx1ZmZmZCc7XG4gICAgfVxuICAgIGlmIChzZWxmLmxhc3ROZWVkID4gMiAmJiBidWYubGVuZ3RoID4gMikge1xuICAgICAgaWYgKChidWZbMl0gJiAweEMwKSAhPT0gMHg4MCkge1xuICAgICAgICBzZWxmLmxhc3ROZWVkID0gMjtcbiAgICAgICAgcmV0dXJuICdcXHVmZmZkJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBtdWx0aS1ieXRlIFVURi04IGNoYXJhY3RlciB1c2luZyBieXRlcyBmcm9tIGEgQnVmZmVyLlxuZnVuY3Rpb24gdXRmOEZpbGxMYXN0KGJ1Zikge1xuICB2YXIgcCA9IHRoaXMubGFzdFRvdGFsIC0gdGhpcy5sYXN0TmVlZDtcbiAgdmFyIHIgPSB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsIGJ1ZiwgcCk7XG4gIGlmIChyICE9PSB1bmRlZmluZWQpIHJldHVybiByO1xuICBpZiAodGhpcy5sYXN0TmVlZCA8PSBidWYubGVuZ3RoKSB7XG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgcCwgMCwgdGhpcy5sYXN0TmVlZCk7XG4gICAgcmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywgMCwgdGhpcy5sYXN0VG90YWwpO1xuICB9XG4gIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59XG5cbi8vIFJldHVybnMgYWxsIGNvbXBsZXRlIFVURi04IGNoYXJhY3RlcnMgaW4gYSBCdWZmZXIuIElmIHRoZSBCdWZmZXIgZW5kZWQgb24gYVxuLy8gcGFydGlhbCBjaGFyYWN0ZXIsIHRoZSBjaGFyYWN0ZXIncyBieXRlcyBhcmUgYnVmZmVyZWQgdW50aWwgdGhlIHJlcXVpcmVkXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXJlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIHV0ZjhUZXh0KGJ1ZiwgaSkge1xuICB2YXIgdG90YWwgPSB1dGY4Q2hlY2tJbmNvbXBsZXRlKHRoaXMsIGJ1ZiwgaSk7XG4gIGlmICghdGhpcy5sYXN0TmVlZCkgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGkpO1xuICB0aGlzLmxhc3RUb3RhbCA9IHRvdGFsO1xuICB2YXIgZW5kID0gYnVmLmxlbmd0aCAtICh0b3RhbCAtIHRoaXMubGFzdE5lZWQpO1xuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCAwLCBlbmQpO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGY4JywgaSwgZW5kKTtcbn1cblxuLy8gRm9yIFVURi04LCBhIHJlcGxhY2VtZW50IGNoYXJhY3RlciBpcyBhZGRlZCB3aGVuIGVuZGluZyBvbiBhIHBhcnRpYWxcbi8vIGNoYXJhY3Rlci5cbmZ1bmN0aW9uIHV0ZjhFbmQoYnVmKSB7XG4gIHZhciByID0gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHJldHVybiByICsgJ1xcdWZmZmQnO1xuICByZXR1cm4gcjtcbn1cblxuLy8gVVRGLTE2TEUgdHlwaWNhbGx5IG5lZWRzIHR3byBieXRlcyBwZXIgY2hhcmFjdGVyLCBidXQgZXZlbiBpZiB3ZSBoYXZlIGFuIGV2ZW5cbi8vIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgZW5kIG9uIGEgbGVhZGluZy9oaWdoXG4vLyBzdXJyb2dhdGUuIEluIHRoYXQgY2FzZSwgd2UgbmVlZCB0byB3YWl0IGZvciB0aGUgbmV4dCB0d28gYnl0ZXMgaW4gb3JkZXIgdG9cbi8vIGRlY29kZSB0aGUgbGFzdCBjaGFyYWN0ZXIgcHJvcGVybHkuXG5mdW5jdGlvbiB1dGYxNlRleHQoYnVmLCBpKSB7XG4gIGlmICgoYnVmLmxlbmd0aCAtIGkpICUgMiA9PT0gMCkge1xuICAgIHZhciByID0gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHZhciBjID0gci5jaGFyQ29kZUF0KHIubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoYyA+PSAweEQ4MDAgJiYgYyA8PSAweERCRkYpIHtcbiAgICAgICAgdGhpcy5sYXN0TmVlZCA9IDI7XG4gICAgICAgIHRoaXMubGFzdFRvdGFsID0gNDtcbiAgICAgICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XG4gICAgICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICAgICAgICByZXR1cm4gci5zbGljZSgwLCAtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9XG4gIHRoaXMubGFzdE5lZWQgPSAxO1xuICB0aGlzLmxhc3RUb3RhbCA9IDI7XG4gIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSwgYnVmLmxlbmd0aCAtIDEpO1xufVxuXG4vLyBGb3IgVVRGLTE2TEUgd2UgZG8gbm90IGV4cGxpY2l0bHkgYXBwZW5kIHNwZWNpYWwgcmVwbGFjZW1lbnQgY2hhcmFjdGVycyBpZiB3ZVxuLy8gZW5kIG9uIGEgcGFydGlhbCBjaGFyYWN0ZXIsIHdlIHNpbXBseSBsZXQgdjggaGFuZGxlIHRoYXQuXG5mdW5jdGlvbiB1dGYxNkVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkge1xuICAgIHZhciBlbmQgPSB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQ7XG4gICAgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCd1dGYxNmxlJywgMCwgZW5kKTtcbiAgfVxuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gYmFzZTY0VGV4dChidWYsIGkpIHtcbiAgdmFyIG4gPSAoYnVmLmxlbmd0aCAtIGkpICUgMztcbiAgaWYgKG4gPT09IDApIHJldHVybiBidWYudG9TdHJpbmcoJ2Jhc2U2NCcsIGkpO1xuICB0aGlzLmxhc3ROZWVkID0gMyAtIG47XG4gIHRoaXMubGFzdFRvdGFsID0gMztcbiAgaWYgKG4gPT09IDEpIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAyXTtcbiAgICB0aGlzLmxhc3RDaGFyWzFdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfVxuICByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpLCBidWYubGVuZ3RoIC0gbik7XG59XG5cbmZ1bmN0aW9uIGJhc2U2NEVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCdiYXNlNjQnLCAwLCAzIC0gdGhpcy5sYXN0TmVlZCk7XG4gIHJldHVybiByO1xufVxuXG4vLyBQYXNzIGJ5dGVzIG9uIHRocm91Z2ggZm9yIHNpbmdsZS1ieXRlIGVuY29kaW5ncyAoZS5nLiBhc2NpaSwgbGF0aW4xLCBoZXgpXG5mdW5jdGlvbiBzaW1wbGVXcml0ZShidWYpIHtcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcbn1cblxuZnVuY3Rpb24gc2ltcGxlRW5kKGJ1Zikge1xuICByZXR1cm4gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbn0iLCJ2YXIgc2NvcGUgPSAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwpIHx8XG4gICAgICAgICAgICAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZikgfHxcbiAgICAgICAgICAgIHdpbmRvdztcbnZhciBhcHBseSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtcblxuLy8gRE9NIEFQSXMsIGZvciBjb21wbGV0ZW5lc3NcblxuZXhwb3J0cy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldFRpbWVvdXQsIHNjb3BlLCBhcmd1bWVudHMpLCBjbGVhclRpbWVvdXQpO1xufTtcbmV4cG9ydHMuc2V0SW50ZXJ2YWwgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0SW50ZXJ2YWwsIHNjb3BlLCBhcmd1bWVudHMpLCBjbGVhckludGVydmFsKTtcbn07XG5leHBvcnRzLmNsZWFyVGltZW91dCA9XG5leHBvcnRzLmNsZWFySW50ZXJ2YWwgPSBmdW5jdGlvbih0aW1lb3V0KSB7XG4gIGlmICh0aW1lb3V0KSB7XG4gICAgdGltZW91dC5jbG9zZSgpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBUaW1lb3V0KGlkLCBjbGVhckZuKSB7XG4gIHRoaXMuX2lkID0gaWQ7XG4gIHRoaXMuX2NsZWFyRm4gPSBjbGVhckZuO1xufVxuVGltZW91dC5wcm90b3R5cGUudW5yZWYgPSBUaW1lb3V0LnByb3RvdHlwZS5yZWYgPSBmdW5jdGlvbigpIHt9O1xuVGltZW91dC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5fY2xlYXJGbi5jYWxsKHNjb3BlLCB0aGlzLl9pZCk7XG59O1xuXG4vLyBEb2VzIG5vdCBzdGFydCB0aGUgdGltZSwganVzdCBzZXRzIHVwIHRoZSBtZW1iZXJzIG5lZWRlZC5cbmV4cG9ydHMuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSwgbXNlY3MpIHtcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xuICBpdGVtLl9pZGxlVGltZW91dCA9IG1zZWNzO1xufTtcblxuZXhwb3J0cy51bmVucm9sbCA9IGZ1bmN0aW9uKGl0ZW0pIHtcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xuICBpdGVtLl9pZGxlVGltZW91dCA9IC0xO1xufTtcblxuZXhwb3J0cy5fdW5yZWZBY3RpdmUgPSBleHBvcnRzLmFjdGl2ZSA9IGZ1bmN0aW9uKGl0ZW0pIHtcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xuXG4gIHZhciBtc2VjcyA9IGl0ZW0uX2lkbGVUaW1lb3V0O1xuICBpZiAobXNlY3MgPj0gMCkge1xuICAgIGl0ZW0uX2lkbGVUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uIG9uVGltZW91dCgpIHtcbiAgICAgIGlmIChpdGVtLl9vblRpbWVvdXQpXG4gICAgICAgIGl0ZW0uX29uVGltZW91dCgpO1xuICAgIH0sIG1zZWNzKTtcbiAgfVxufTtcblxuLy8gc2V0aW1tZWRpYXRlIGF0dGFjaGVzIGl0c2VsZiB0byB0aGUgZ2xvYmFsIG9iamVjdFxucmVxdWlyZShcInNldGltbWVkaWF0ZVwiKTtcbi8vIE9uIHNvbWUgZXhvdGljIGVudmlyb25tZW50cywgaXQncyBub3QgY2xlYXIgd2hpY2ggb2JqZWN0IGBzZXRpbW1lZGlhdGVgIHdhc1xuLy8gYWJsZSB0byBpbnN0YWxsIG9udG8uICBTZWFyY2ggZWFjaCBwb3NzaWJpbGl0eSBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGVcbi8vIGBzZXRpbW1lZGlhdGVgIGxpYnJhcnkuXG5leHBvcnRzLnNldEltbWVkaWF0ZSA9ICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLnNldEltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgJiYgZ2xvYmFsLnNldEltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgJiYgdGhpcy5zZXRJbW1lZGlhdGUpO1xuZXhwb3J0cy5jbGVhckltbWVkaWF0ZSA9ICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLmNsZWFySW1tZWRpYXRlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIGdsb2JhbC5jbGVhckltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAodGhpcyAmJiB0aGlzLmNsZWFySW1tZWRpYXRlKTtcbiIsIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NyZWF0ZUJpbmRpbmcobywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiIsIlxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlcHJlY2F0ZTtcblxuLyoqXG4gKiBNYXJrIHRoYXQgYSBtZXRob2Qgc2hvdWxkIG5vdCBiZSB1c2VkLlxuICogUmV0dXJucyBhIG1vZGlmaWVkIGZ1bmN0aW9uIHdoaWNoIHdhcm5zIG9uY2UgYnkgZGVmYXVsdC5cbiAqXG4gKiBJZiBgbG9jYWxTdG9yYWdlLm5vRGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gaXQgaXMgYSBuby1vcC5cbiAqXG4gKiBJZiBgbG9jYWxTdG9yYWdlLnRocm93RGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gZGVwcmVjYXRlZCBmdW5jdGlvbnNcbiAqIHdpbGwgdGhyb3cgYW4gRXJyb3Igd2hlbiBpbnZva2VkLlxuICpcbiAqIElmIGBsb2NhbFN0b3JhZ2UudHJhY2VEZXByZWNhdGlvbiA9IHRydWVgIGlzIHNldCwgdGhlbiBkZXByZWNhdGVkIGZ1bmN0aW9uc1xuICogd2lsbCBpbnZva2UgYGNvbnNvbGUudHJhY2UoKWAgaW5zdGVhZCBvZiBgY29uc29sZS5lcnJvcigpYC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiAtIHRoZSBmdW5jdGlvbiB0byBkZXByZWNhdGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBtc2cgLSB0aGUgc3RyaW5nIHRvIHByaW50IHRvIHRoZSBjb25zb2xlIHdoZW4gYGZuYCBpcyBpbnZva2VkXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IGEgbmV3IFwiZGVwcmVjYXRlZFwiIHZlcnNpb24gb2YgYGZuYFxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBkZXByZWNhdGUgKGZuLCBtc2cpIHtcbiAgaWYgKGNvbmZpZygnbm9EZXByZWNhdGlvbicpKSB7XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuICBmdW5jdGlvbiBkZXByZWNhdGVkKCkge1xuICAgIGlmICghd2FybmVkKSB7XG4gICAgICBpZiAoY29uZmlnKCd0aHJvd0RlcHJlY2F0aW9uJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICB9IGVsc2UgaWYgKGNvbmZpZygndHJhY2VEZXByZWNhdGlvbicpKSB7XG4gICAgICAgIGNvbnNvbGUudHJhY2UobXNnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2Fybihtc2cpO1xuICAgICAgfVxuICAgICAgd2FybmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIH1cblxuICByZXR1cm4gZGVwcmVjYXRlZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgYGxvY2FsU3RvcmFnZWAgZm9yIGJvb2xlYW4gdmFsdWVzIGZvciB0aGUgZ2l2ZW4gYG5hbWVgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGNvbmZpZyAobmFtZSkge1xuICAvLyBhY2Nlc3NpbmcgZ2xvYmFsLmxvY2FsU3RvcmFnZSBjYW4gdHJpZ2dlciBhIERPTUV4Y2VwdGlvbiBpbiBzYW5kYm94ZWQgaWZyYW1lc1xuICB0cnkge1xuICAgIGlmICghZ2xvYmFsLmxvY2FsU3RvcmFnZSkgcmV0dXJuIGZhbHNlO1xuICB9IGNhdGNoIChfKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB2YWwgPSBnbG9iYWwubG9jYWxTdG9yYWdlW25hbWVdO1xuICBpZiAobnVsbCA9PSB2YWwpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIFN0cmluZyh2YWwpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJztcbn1cbiIsInZhciBnO1xuXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxuZyA9IChmdW5jdGlvbigpIHtcblx0cmV0dXJuIHRoaXM7XG59KSgpO1xuXG50cnkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIGV2YWwgaXMgYWxsb3dlZCAoc2VlIENTUClcblx0ZyA9IGcgfHwgbmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKTtcbn0gY2F0Y2ggKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpIGcgPSB3aW5kb3c7XG59XG5cbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXG4vLyBlYXNpZXIgdG8gaGFuZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XG5cbm1vZHVsZS5leHBvcnRzID0gZztcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obW9kdWxlKSB7XG5cdGlmICghbW9kdWxlLndlYnBhY2tQb2x5ZmlsbCkge1xuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xuXHRcdG1vZHVsZS5wYXRocyA9IFtdO1xuXHRcdC8vIG1vZHVsZS5wYXJlbnQgPSB1bmRlZmluZWQgYnkgZGVmYXVsdFxuXHRcdGlmICghbW9kdWxlLmNoaWxkcmVuKSBtb2R1bGUuY2hpbGRyZW4gPSBbXTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImxvYWRlZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5sO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwiaWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUuaTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRtb2R1bGUud2VicGFja1BvbHlmaWxsID0gMTtcblx0fVxuXHRyZXR1cm4gbW9kdWxlO1xufTtcbiIsIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XHJcbmNvbnN0IHRzbGliXzEgPSByZXF1aXJlKFwidHNsaWJcIik7XHJcbmNvbnN0IGFhcmR2YXJrX3JlYWN0XzEgPSByZXF1aXJlKFwiQGFhcmR2YXJreHIvYWFyZHZhcmstcmVhY3RcIik7XHJcbmNvbnN0IGFhcmR2YXJrX3NoYXJlZF8xID0gcmVxdWlyZShcIkBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZFwiKTtcclxuY29uc3QgYmluZF9kZWNvcmF0b3JfMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJiaW5kLWRlY29yYXRvclwiKSk7XHJcbmNvbnN0IFJlYWN0ID0gdHNsaWJfMS5fX2ltcG9ydFN0YXIocmVxdWlyZShcInJlYWN0XCIpKTtcclxuZnVuY3Rpb24gYWRkVm9sdW1lVHJhbnNmb3Jtcyh0cmFuc2Zvcm0xLCB0cmFuc2Zvcm0yKSB7XHJcbiAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfaiwgX2ssIF9sLCBfbSwgX28sIF9wLCBfcSwgX3IsIF9zLCBfdCwgX3UsIF92LCBfdywgX3gsIF95LCBfejtcclxuICAgIHZhciBmaW5hbFByb2R1Y3QgPSB7XHJcbiAgICAgICAgbGVmdFRvcFRyYW5zZm9ybToge1xyXG4gICAgICAgICAgICB4OiAoX2IgPSAoX2EgPSB0cmFuc2Zvcm0xLmxlZnRUb3BUcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMCArIHRyYW5zZm9ybTIubGVmdFRvcFRyYW5zZm9ybS54KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLFxyXG4gICAgICAgICAgICB5OiAoX2QgPSAoX2MgPSB0cmFuc2Zvcm0xLmxlZnRUb3BUcmFuc2Zvcm0ueSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMCArIHRyYW5zZm9ybTIubGVmdFRvcFRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwLFxyXG4gICAgICAgICAgICB6OiAoX2YgPSAoX2UgPSB0cmFuc2Zvcm0xLmxlZnRUb3BUcmFuc2Zvcm0ueikgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogMCArIHRyYW5zZm9ybTIubGVmdFRvcFRyYW5zZm9ybS56KSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiAwXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWZ0Qm90dG9tVHJhbnNmb3JtOiB7XHJcbiAgICAgICAgICAgIHg6IChfaCA9IChfZyA9IHRyYW5zZm9ybTEubGVmdEJvdHRvbVRyYW5zZm9ybS54KSAhPT0gbnVsbCAmJiBfZyAhPT0gdm9pZCAwID8gX2cgOiAwICsgdHJhbnNmb3JtMi5sZWZ0Qm90dG9tVHJhbnNmb3JtLngpICE9PSBudWxsICYmIF9oICE9PSB2b2lkIDAgPyBfaCA6IDAsXHJcbiAgICAgICAgICAgIHk6IChfayA9IChfaiA9IHRyYW5zZm9ybTEubGVmdEJvdHRvbVRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfaiAhPT0gdm9pZCAwID8gX2ogOiAwICsgdHJhbnNmb3JtMi5sZWZ0Qm90dG9tVHJhbnNmb3JtLnkpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDAsXHJcbiAgICAgICAgICAgIHo6IChfbSA9IChfbCA9IHRyYW5zZm9ybTEubGVmdEJvdHRvbVRyYW5zZm9ybS56KSAhPT0gbnVsbCAmJiBfbCAhPT0gdm9pZCAwID8gX2wgOiAwICsgdHJhbnNmb3JtMi5sZWZ0Qm90dG9tVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF9tICE9PSB2b2lkIDAgPyBfbSA6IDBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJpZ2h0VG9wVHJhbnNmb3JtOiB7XHJcbiAgICAgICAgICAgIHg6IChfcCA9IChfbyA9IHRyYW5zZm9ybTEucmlnaHRUb3BUcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX28gIT09IHZvaWQgMCA/IF9vIDogMCArIHRyYW5zZm9ybTIucmlnaHRUb3BUcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX3AgIT09IHZvaWQgMCA/IF9wIDogMCxcclxuICAgICAgICAgICAgeTogKF9yID0gKF9xID0gdHJhbnNmb3JtMS5yaWdodFRvcFRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfcSAhPT0gdm9pZCAwID8gX3EgOiAwICsgdHJhbnNmb3JtMi5yaWdodFRvcFRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfciAhPT0gdm9pZCAwID8gX3IgOiAwLFxyXG4gICAgICAgICAgICB6OiAoX3QgPSAoX3MgPSB0cmFuc2Zvcm0xLnJpZ2h0VG9wVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF9zICE9PSB2b2lkIDAgPyBfcyA6IDAgKyB0cmFuc2Zvcm0yLnJpZ2h0VG9wVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF90ICE9PSB2b2lkIDAgPyBfdCA6IDBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJpZ2h0Qm90dG9tVHJhbnNmb3JtOiB7XHJcbiAgICAgICAgICAgIHg6IChfdiA9IChfdSA9IHRyYW5zZm9ybTEucmlnaHRCb3R0b21UcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX3UgIT09IHZvaWQgMCA/IF91IDogMCArIHRyYW5zZm9ybTIucmlnaHRCb3R0b21UcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX3YgIT09IHZvaWQgMCA/IF92IDogMCxcclxuICAgICAgICAgICAgeTogKF94ID0gKF93ID0gdHJhbnNmb3JtMS5yaWdodEJvdHRvbVRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfdyAhPT0gdm9pZCAwID8gX3cgOiAwICsgdHJhbnNmb3JtMi5yaWdodEJvdHRvbVRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfeCAhPT0gdm9pZCAwID8gX3ggOiAwLFxyXG4gICAgICAgICAgICB6OiAoX3ogPSAoX3kgPSB0cmFuc2Zvcm0xLnJpZ2h0Qm90dG9tVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF95ICE9PSB2b2lkIDAgPyBfeSA6IDAgKyB0cmFuc2Zvcm0yLnJpZ2h0Qm90dG9tVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF96ICE9PSB2b2lkIDAgPyBfeiA6IDBcclxuICAgICAgICB9LFxyXG4gICAgfTtcclxuICAgIHJldHVybiAoZmluYWxQcm9kdWN0KTtcclxufVxyXG5jbGFzcyBUcmFuc2Zvcm1Db250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1Db250cm9sQ29udGFpbmVyXCIgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1Db250cm9sXCIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIgXFxcInhcXFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy50cmFuc2Zvcm0ueCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuYWx0ZXJWZWN0b3IodGhpcy5wcm9wcy50cmFuc2Zvcm0sIHsgeDogdGhpcy5wcm9wcy5kZWx0YSwgeTogMCwgejogMCB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcInVwXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5hbHRlclZlY3Rvcih0aGlzLnByb3BzLnRyYW5zZm9ybSwgeyB4OiAtdGhpcy5wcm9wcy5kZWx0YSwgeTogMCwgejogMCB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImRvd25cIikpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICBcIiBcXFwieVxcXCJcIixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLnRyYW5zZm9ybS55LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5hbHRlclZlY3Rvcih0aGlzLnByb3BzLnRyYW5zZm9ybSwgeyB4OiAwLCB5OiB0aGlzLnByb3BzLmRlbHRhLCB6OiAwIH0pKSwgY2xhc3NOYW1lOiBcIlRyYW5zZm9ybUJ1dHRvblwiIH0sIFwidXBcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLmFsdGVyVmVjdG9yKHRoaXMucHJvcHMudHJhbnNmb3JtLCB7IHg6IDAsIHk6IC10aGlzLnByb3BzLmRlbHRhLCB6OiAwIH0pKSwgY2xhc3NOYW1lOiBcIlRyYW5zZm9ybUJ1dHRvblwiIH0sIFwiZG93blwiKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIFwiIFxcXCJ6XFxcIlwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMudHJhbnNmb3JtLnosXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLmFsdGVyVmVjdG9yKHRoaXMucHJvcHMudHJhbnNmb3JtLCB7IHg6IDAsIHk6IDAsIHo6IHRoaXMucHJvcHMuZGVsdGEgfSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCJ1cFwiKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuYWx0ZXJWZWN0b3IodGhpcy5wcm9wcy50cmFuc2Zvcm0sIHsgeDogMCwgeTogMCwgejogLXRoaXMucHJvcHMuZGVsdGEgfSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCJkb3duXCIpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiwgeyBzcmM6IHRoaXMucHJvcHMuaW1hZ2VVcmwsIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1Db250cm9sSW1hZ2VcIiB9KSkpO1xyXG4gICAgfVxyXG59XHJcbmNsYXNzIE1lbnUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB0cmFuc2xhdGVZOiAwLjE1IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2UGFuZWwsIHsgaW50ZXJhY3RpdmU6IHRydWUsIHdpZHRoSW5NZXRlcnM6IDAuMiB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuc2V0RGVsdGEoMSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIxXCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLnNldERlbHRhKDAuMSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIwLjFcIiksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuc2V0RGVsdGEoMC4wNSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIwLjA1XCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLnNldERlbHRhKDAuMDEpKSwgY2xhc3NOYW1lOiBcIlRyYW5zZm9ybUJ1dHRvblwiIH0sIFwiMC4wMVwiKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5zZXREZWx0YSgwLjAwMSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIwLjAwMVwiKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5yZXNldFRyYW5zZm9ybXMoKSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcInJlc2V0XCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLnRvZ2dsZUF4aXMoKSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcInRvZ2dsZSBheGlzXCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUcmFuc2Zvcm1Db250cm9sLCB7IG5hbWU6IFwidG9wIGxlZnRcIiwgdHJhbnNmb3JtOiB0aGlzLnByb3BzLmNvbnRyb2xsZXJUcmFuc2Zvcm1zLmxlZnRUb3BUcmFuc2Zvcm0sIGFsdGVyVmVjdG9yOiB0aGlzLnByb3BzLnNldFRyYW5zZm9ybSwgZGVsdGE6IHRoaXMucHJvcHMuZGVsdGEsIGltYWdlVXJsOiBcIi4vSW1hZ2VzL3RvcGxlZnQucG5nXCIgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRyYW5zZm9ybUNvbnRyb2wsIHsgbmFtZTogXCJsb3dlciBsZWZ0XCIsIHRyYW5zZm9ybTogdGhpcy5wcm9wcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5sZWZ0Qm90dG9tVHJhbnNmb3JtLCBhbHRlclZlY3RvcjogdGhpcy5wcm9wcy5zZXRUcmFuc2Zvcm0sIGRlbHRhOiB0aGlzLnByb3BzLmRlbHRhLCBpbWFnZVVybDogXCIuL0ltYWdlcy9ib3R0b21sZWZ0LnBuZ1wiIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUcmFuc2Zvcm1Db250cm9sLCB7IG5hbWU6IFwidG9wIHJpZ2h0XCIsIHRyYW5zZm9ybTogdGhpcy5wcm9wcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5yaWdodEJvdHRvbVRyYW5zZm9ybSwgYWx0ZXJWZWN0b3I6IHRoaXMucHJvcHMuc2V0VHJhbnNmb3JtLCBkZWx0YTogdGhpcy5wcm9wcy5kZWx0YSwgaW1hZ2VVcmw6IFwiLi9JbWFnZXMvdG9wcmlnaHQucG5nXCIgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRyYW5zZm9ybUNvbnRyb2wsIHsgbmFtZTogXCJsb3dlciByaWdodFwiLCB0cmFuc2Zvcm06IHRoaXMucHJvcHMuY29udHJvbGxlclRyYW5zZm9ybXMucmlnaHRUb3BUcmFuc2Zvcm0sIGFsdGVyVmVjdG9yOiB0aGlzLnByb3BzLnNldFRyYW5zZm9ybSwgZGVsdGE6IHRoaXMucHJvcHMuZGVsdGEsIGltYWdlVXJsOiBcIi4vSW1hZ2VzL2JvdHRvbXJpZ2h0LnBuZ1wiIH0pKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5jbGFzcyBNeUdhZGdldCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICAvL3ByaXZhdGUgZGVsdGE6IG51bWJlcjsgLy8gdGhpcyBpcyBob3cgbXVjaCB0aGUgdXNlciBjaGFuZ2VzIHRoZSBudW1iZXIgYnlcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuZHJhd01lbnUgPSB0cnVlOyAvLyB3ZSBzdG9yZSB0aGlzIG91dHNpZGUgb2Ygc3RhdGUgdG8gYXZvaWQgdW5jZXNjZXNzYXJ5IHJlLXJlbmRlcnMgYW5kIGEgcG9zc2libGUgaW5maW5pdGUgbG9vcFxyXG4gICAgICAgIHRoaXMuZGlzcGxheUludHJvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmhhbmRWb2x1bWUgPSB7XHJcbiAgICAgICAgICAgIHR5cGU6IGFhcmR2YXJrX3NoYXJlZF8xLkVWb2x1bWVUeXBlLlNwaGVyZSxcclxuICAgICAgICAgICAgcmFkaXVzOiAwLjgsXHJcbiAgICAgICAgICAgIHZpc3VhbGl6ZTogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oYW5kVm9sdW1lTGFyZ2VyID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBhYXJkdmFya19zaGFyZWRfMS5FVm9sdW1lVHlwZS5TcGhlcmUsXHJcbiAgICAgICAgICAgIHJhZGl1czogMS41LFxyXG4gICAgICAgICAgICB2aXN1YWxpemU6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuaGFuZEludGVyZmFjZU1haW4gPSBbe1xyXG4gICAgICAgICAgICAgICAgaWZhY2U6IFwiT3Blbk1lbnVNYWluQDFcIixcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NvcjogdGhpcy5jb2xsaWRlTWFpblxyXG4gICAgICAgICAgICB9XTtcclxuICAgICAgICB0aGlzLmhhbmRJbnRlcmZhY2VTZWNvbmRhcnkgPSBbe1xyXG4gICAgICAgICAgICAgICAgaWZhY2U6IFwiT3Blbk1lbnVTZWNvbmRhcnlAMVwiLFxyXG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yOiB0aGlzLmNvbGxpZGVTZWNvbmRhcnlcclxuICAgICAgICAgICAgfV07XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbGxpZGVEZXRlY3Rpb25NYWluOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbGxpZGVEZXRlY3Rpb25TZWNvbmRhcnk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZGVsdGE6IDAuMSxcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlBeGlzOiB0cnVlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMgPSB7XHJcbiAgICAgICAgICAgIGxlZnRUb3BUcmFuc2Zvcm06IHsgeDogMCwgeTogLTAuMTMsIHo6IDAuMTMgfSxcclxuICAgICAgICAgICAgbGVmdEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4yNCwgejogMC4yMyB9LFxyXG4gICAgICAgICAgICByaWdodFRvcFRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4xMywgejogMC4xMyB9LFxyXG4gICAgICAgICAgICByaWdodEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAwLCB6OiAwLjEzIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICAvL3RoaXMuZGVsdGEgPSAwLjFcclxuICAgIH1cclxuICAgIHNldFRyYW5zZm9ybSh0b0NoYW5nZSwgdG9DaGFuZ2VCeSkge1xyXG4gICAgICAgIHRvQ2hhbmdlLnggKz0gdG9DaGFuZ2VCeS54O1xyXG4gICAgICAgIHRvQ2hhbmdlLnkgKz0gdG9DaGFuZ2VCeS55O1xyXG4gICAgICAgIHRvQ2hhbmdlLnogKz0gdG9DaGFuZ2VCeS56O1xyXG4gICAgICAgIHRvQ2hhbmdlLnggPSBOdW1iZXIodG9DaGFuZ2UueC50b0ZpeGVkKDMpKTsgLy8gZml4IHVwIG51bWJlcnMgYmVjYXVzZSBqYW5reSBmbG9hdGluZyBwb2ludCBtYXRoc1xyXG4gICAgICAgIHRvQ2hhbmdlLnkgPSBOdW1iZXIodG9DaGFuZ2UueS50b0ZpeGVkKDMpKTtcclxuICAgICAgICB0b0NoYW5nZS56ID0gTnVtYmVyKHRvQ2hhbmdlLnoudG9GaXhlZCgzKSk7XHJcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgc2V0RGVsdGEodmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGVsdGE6IHZhbHVlIH0pO1xyXG4gICAgfVxyXG4gICAgcmVzZXRUcmFuc2Zvcm1zKCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMgPSB7XHJcbiAgICAgICAgICAgIGxlZnRUb3BUcmFuc2Zvcm06IHsgeDogMCwgeTogLTAuMTMsIHo6IDAuMTMgfSxcclxuICAgICAgICAgICAgbGVmdEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4yNCwgejogMC4yMyB9LFxyXG4gICAgICAgICAgICByaWdodFRvcFRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4xMywgejogMC4xMyB9LFxyXG4gICAgICAgICAgICByaWdodEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAwLCB6OiAwLjEzIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcbiAgICB0b2dnbGVBeGlzKCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkaXNwbGF5QXhpczogIXRoaXMuc3RhdGUuZGlzcGxheUF4aXMgfSk7XHJcbiAgICB9XHJcbiAgICB1cGRhdGVEcmF3TWVudSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5jb2xsaWRlRGV0ZWN0aW9uTWFpbiAmJiB0aGlzLnN0YXRlLmNvbGxpZGVEZXRlY3Rpb25TZWNvbmRhcnkgJiYgRGF0ZS5ub3coKSA+PSB0aGlzLmNvb2xEb3duQ291bnRlciArIDEwMDApIHtcclxuICAgICAgICAgICAgdGhpcy5kcmF3TWVudSA9ICF0aGlzLmRyYXdNZW51O1xyXG4gICAgICAgICAgICB0aGlzLmNvb2xEb3duQ291bnRlciA9IERhdGUubm93KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheUludHJvID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29sbGlkZU1haW4oZ2l2ZW5JbnRlcmZhY2UpIHtcclxuICAgICAgICBpZiAoZ2l2ZW5JbnRlcmZhY2Uucm9sZSA9PSBhYXJkdmFya19yZWFjdF8xLkludGVyZmFjZVJvbGUuVHJhbnNtaXR0ZXIpIC8vIHRoaXMgZnVuY3Rpb24gcnVucyB0d2ljZSwgb25jZSBmb3IgdHJhbnNtaXR0ZXIgYW5kIG9uY2UgZm9yIHJlY2lldmVyLCBidXQgd2Ugb25seSB3YW50IGl0IHRvIHJ1biBvbmNlLCBzbyB3ZSBvbmx5IHJ1biBvbiB0cmFuc21pdHRlcnNcclxuICAgICAgICAge1xyXG4gICAgICAgICAgICBnaXZlbkludGVyZmFjZS5vbkVuZGVkKCgpID0+IHRoaXMuc2V0U3RhdGUoeyBjb2xsaWRlRGV0ZWN0aW9uTWFpbjogZmFsc2UgfSkpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgY29sbGlkZURldGVjdGlvbk1haW46IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29sbGlkZVNlY29uZGFyeShnaXZlbkludGVyZmFjZSkge1xyXG4gICAgICAgIGlmIChnaXZlbkludGVyZmFjZS5yb2xlID09IGFhcmR2YXJrX3JlYWN0XzEuSW50ZXJmYWNlUm9sZS5UcmFuc21pdHRlcikge1xyXG4gICAgICAgICAgICBnaXZlbkludGVyZmFjZS5vbkVuZGVkKCgpID0+IHRoaXMuc2V0U3RhdGUoeyBjb2xsaWRlRGV0ZWN0aW9uU2Vjb25kYXJ5OiBmYWxzZSB9KSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xsaWRlRGV0ZWN0aW9uU2Vjb25kYXJ5OiB0cnVlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZURyYXdNZW51KCk7XHJcbiAgICAgICAgLy8gVEhJUyBTWVNURU0gQ0FOT1QgSEFOREwgTlVNQlNFUlNERlxyXG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZTdGFuZGFyZEdyYWJiYWJsZSwgeyBtb2RlbFVyaTogYWFyZHZhcmtfc2hhcmVkXzEuZ19idWlsdGluTW9kZWxCb3gsIG1vZGVsU2NhbGU6IDAuMDMsIHN0eWxlOiBhYXJkdmFya19yZWFjdF8xLkdyYWJiYWJsZVN0eWxlLkdhZGdldCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChNZW51LCB7IGlzT3BlbjogdGhpcy5kcmF3TWVudSwgY29udHJvbGxlclRyYW5zZm9ybXM6IHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMsIHNldFRyYW5zZm9ybTogdGhpcy5zZXRUcmFuc2Zvcm0sIHNldERlbHRhOiB0aGlzLnNldERlbHRhLCBkZWx0YTogdGhpcy5zdGF0ZS5kZWx0YSwgcmVzZXRUcmFuc2Zvcm1zOiB0aGlzLnJlc2V0VHJhbnNmb3JtcywgdG9nZ2xlQXhpczogdGhpcy50b2dnbGVBeGlzIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2T3JpZ2luLCB7IHBhdGg6IFwiL3VzZXIvaGFuZC9sZWZ0XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAzLCB0cmFuc2Zvcm06IHsgcG9zaXRpb246IHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMubGVmdFRvcFRyYW5zZm9ybSB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkludGVyZmFjZUVudGl0eSwgeyB2b2x1bWU6IHRoaXMuaGFuZFZvbHVtZSwgdHJhbnNtaXRzOiB0aGlzLmhhbmRJbnRlcmZhY2VNYWluIH0pKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAzLCB0cmFuc2Zvcm06IHsgcG9zaXRpb246IHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMubGVmdEJvdHRvbVRyYW5zZm9ybSB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkludGVyZmFjZUVudGl0eSwgeyB2b2x1bWU6IHRoaXMuaGFuZFZvbHVtZUxhcmdlciwgdHJhbnNtaXRzOiB0aGlzLmhhbmRJbnRlcmZhY2VTZWNvbmRhcnkgfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuZGlzcGxheUF4aXMgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHVuaWZvcm1TY2FsZTogMC4wMSwgdHJhbnNsYXRlWjogMC4yLCB0cmFuc2xhdGVZOiAtMC4wNyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2TW9kZWwsIHsgdXJpOiBcIm1vZGVscy9heGlzLmdsYlwiIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHRyYW5zbGF0ZVk6IDMuNSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkhlYWRGYWNpbmdUcmFuc2Zvcm0sIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDEsIHJvdGF0ZVk6IC05MCB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZNb2RlbCwgeyB1cmk6IFwibW9kZWxzL2xldHRlclkuZ2xiXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIikpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB0cmFuc2xhdGVYOiAzLjUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZIZWFkRmFjaW5nVHJhbnNmb3JtLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAxLCByb3RhdGVZOiAtOTAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2TW9kZWwsIHsgdXJpOiBcIm1vZGVscy9sZXR0ZXJYLmdsYlwiIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdHJhbnNsYXRlWjogMy41IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2SGVhZEZhY2luZ1RyYW5zZm9ybSwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHVuaWZvcm1TY2FsZTogMC4wMSwgcm90YXRlWTogLTkwIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5Bdk1vZGVsLCB7IHVyaTogXCJtb2RlbHMvbGV0dGVyWi5nbGJcIiB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiKSkpKSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZPcmlnaW4sIHsgcGF0aDogXCIvdXNlci9oYW5kL3JpZ2h0XCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAzLCB0cmFuc2Zvcm06IHsgcG9zaXRpb246IHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMucmlnaHRUb3BUcmFuc2Zvcm0gfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZJbnRlcmZhY2VFbnRpdHksIHsgdm9sdW1lOiB0aGlzLmhhbmRWb2x1bWUsIHJlY2VpdmVzOiB0aGlzLmhhbmRJbnRlcmZhY2VNYWluIH0pKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAzLCB0cmFuc2Zvcm06IHsgcG9zaXRpb246IHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMucmlnaHRCb3R0b21UcmFuc2Zvcm0gfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZJbnRlcmZhY2VFbnRpdHksIHsgdm9sdW1lOiB0aGlzLmhhbmRWb2x1bWUsIHJlY2VpdmVzOiB0aGlzLmhhbmRJbnRlcmZhY2VTZWNvbmRhcnkgfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuZGlzcGxheUF4aXMgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHVuaWZvcm1TY2FsZTogMC4wMSwgdHJhbnNsYXRlWjogMC4yLCB0cmFuc2xhdGVZOiAtMC4wNyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2TW9kZWwsIHsgdXJpOiBcIm1vZGVscy9heGlzLmdsYlwiIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHRyYW5zbGF0ZVk6IDMuNSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkhlYWRGYWNpbmdUcmFuc2Zvcm0sIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDEsIHJvdGF0ZVk6IC05MCB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZNb2RlbCwgeyB1cmk6IFwibW9kZWxzL2xldHRlclkuZ2xiXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIikpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB0cmFuc2xhdGVYOiAzLjUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZIZWFkRmFjaW5nVHJhbnNmb3JtLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAxLCByb3RhdGVZOiAtOTAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2TW9kZWwsIHsgdXJpOiBcIm1vZGVscy9sZXR0ZXJYLmdsYlwiIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdHJhbnNsYXRlWjogMy41IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2SGVhZEZhY2luZ1RyYW5zZm9ybSwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHVuaWZvcm1TY2FsZTogMC4wMSwgcm90YXRlWTogLTkwIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5Bdk1vZGVsLCB7IHVyaTogXCJtb2RlbHMvbGV0dGVyWi5nbGJcIiB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiKSkpKSkpKSk7XHJcbiAgICB9XHJcbn1cclxudHNsaWJfMS5fX2RlY29yYXRlKFtcclxuICAgIGJpbmRfZGVjb3JhdG9yXzEuZGVmYXVsdFxyXG5dLCBNeUdhZGdldC5wcm90b3R5cGUsIFwic2V0VHJhbnNmb3JtXCIsIG51bGwpO1xyXG50c2xpYl8xLl9fZGVjb3JhdGUoW1xyXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XHJcbl0sIE15R2FkZ2V0LnByb3RvdHlwZSwgXCJzZXREZWx0YVwiLCBudWxsKTtcclxudHNsaWJfMS5fX2RlY29yYXRlKFtcclxuICAgIGJpbmRfZGVjb3JhdG9yXzEuZGVmYXVsdFxyXG5dLCBNeUdhZGdldC5wcm90b3R5cGUsIFwicmVzZXRUcmFuc2Zvcm1zXCIsIG51bGwpO1xyXG50c2xpYl8xLl9fZGVjb3JhdGUoW1xyXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XHJcbl0sIE15R2FkZ2V0LnByb3RvdHlwZSwgXCJ0b2dnbGVBeGlzXCIsIG51bGwpO1xyXG50c2xpYl8xLl9fZGVjb3JhdGUoW1xyXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XHJcbl0sIE15R2FkZ2V0LnByb3RvdHlwZSwgXCJjb2xsaWRlTWFpblwiLCBudWxsKTtcclxudHNsaWJfMS5fX2RlY29yYXRlKFtcclxuICAgIGJpbmRfZGVjb3JhdG9yXzEuZGVmYXVsdFxyXG5dLCBNeUdhZGdldC5wcm90b3R5cGUsIFwiY29sbGlkZVNlY29uZGFyeVwiLCBudWxsKTtcclxuLypcclxuaG93IHRoaXMgd29ya3M6XHJcbldlIGhhdmUgMiBwYWlycyBvZiB2b2x1bWVzLCB3aGVuIGEgcGFpciBpbnRlcnNlY3RzL2Nvbm5lY3RzIHdlIHNldCBhIHZhcmlhYmxlIHRvIHRydWUsIHdoZW4gdGhleSBkaXNjb25uZWN0IHdlIHNldCBpdCB0byBmYWxzZS4gV2hlbmV2ZXIgb25lIG9mIHRoZXNlIHZhcmlhYmxlcyBjaGFuZ2VzIHRoZSBzY3JlZW4gcmVkcmF3cywgYmVjYXVzZSBTZXRTdGF0ZS5cclxuRHVyaW5nIGEgcmVkcmF3IHdlIGNoZWNrIGJvdGggdm9sdW1lIHZhcmlhYmxlcyBhbmQgaWYgYm90aCBhcmUgdHJ1ZSB0aGVuIHdlIHRvZ2dsZSB0aGUgbWVudS5cclxuXHJcblRoZSB0d28gdm9sdW1lcyBhcmUgbWFpbiBhbmQgc2Vjb25kYXJ5LCBtYWluIGlzIGEgcGFpciBvZiB2b2x1bWVzIGF0IHRoZSBib3R0b20gb2YgdGhlIGNvbnRyb2xsZXJzLCBzZWNvbmRhcnkgdm9sdW1lcyBhcmUgcGxhY2VkIG9uIHRoZSB0b3Agb2YgdGhlIHJpZ2h0IGNvbnRyb2xsZXIgYW5kIHF1aXRlIGZhciBiZWxvdyB0aGUgYm90dG9tIG9mIHRoZSBsZWZ0IGNvbnRyb2xsZXIuXHJcbk1haW4gY2hlY2tzIGZvciBjb250YWN0IGJldHdlZW4gY29udHJvbGxlcnMsXHJcblNlY29uZGFyeSBlbnN1cmVzIHRoZSB0d28gYXJlIHBvaW50aW5nIGF3YXkgZnJvbSBlYWNoIG90aGVyLCB0aGUgYmlnZ2VyIHRoZSBsb3dlciB2b2x1bWUgdGhlIGxlc3MgZXhhY3QgdGhlIGFuZ2xlIGJldHdlZW4gdGhlIHR3byBjb250cm9sbGVycyBuZWVkcyB0byBiZVxyXG5cclxudG9kbzpcclxuLW1lc3MgYXJvdW5kIHdpdGggdm9sdW1lIHBvc2l0aW9uc1xyXG5cclxudXNlIGFuIGludHJvIHZpZGVvIHRvIHdhbGsgdGhlIHVzZXIgdGhyb3VnaCBob3d0byB1c2Ugc3R1ZmdGRD9HXHJcbiovXHJcbmFhcmR2YXJrX3JlYWN0XzEucmVuZGVyQWFyZHZhcmtSb290KFwicm9vdFwiLCBSZWFjdC5jcmVhdGVFbGVtZW50KE15R2FkZ2V0LCBudWxsKSk7XHJcbiIsIi8qIChpZ25vcmVkKSAqLyIsIi8qIChpZ25vcmVkKSAqLyIsIi8qIChpZ25vcmVkKSAqLyIsIi8qIChpZ25vcmVkKSAqLyJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXJlYWN0L2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9hcGkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9yZXBvcnRlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvZGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9kZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9wZW0uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jhc2U2NC1qcy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvcmFuZC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9kZWNyeXB0ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2VuY3J5cHRlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZ2hhc2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2luY3IzMi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2JjLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvZWNiLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvb2ZiLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9hbGdvcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3NpZ24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3ZlcmlmeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9tZDUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jYmMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NpcGhlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9lZGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL3V0aWxzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2xpYi9nZW5lcmF0ZVByaW1lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9iYXNlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvZWR3YXJkcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvbW9udC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9rZXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9zaWduYXR1cmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL3NpZ25hdHVyZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3ByZWNvbXB1dGVkL3NlY3AyNTZrMS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL2NvbW1vbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9obWFjLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3JpcGVtZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzIyNC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMjU2LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8zODQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzUxMi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvY29tbW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3V0aWxzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9obWFjLWRyYmcvbGliL2htYWMtZHJiZy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvaXNhcnJheS9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbWQ1LmpzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbGliL21yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzL2xpYi91dGlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9hc24xLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2NlcnRpZmljYXRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2ZpeFByb2MuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL2FzeW5jLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL2RlZmF1bHQtZW5jb2RpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3N5bmMtYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi90by1idWZmZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9tZ2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3ByaXZhdGVEZWNyeXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wdWJsaWNFbmNyeXB0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC94b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JhbmRvbWZpbGwvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2R1cGxleC1icm93c2VyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLWJyb3dzZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NhZmVyLWJ1ZmZlci9zYWZlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL2hhc2guanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTEuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyMjQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyNTYuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEzODQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGE1MTIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3RpbWVycy1icm93c2VyaWZ5L21haW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzIiwid2VicGFjazovLy8od2VicGFjaykvYnVpbGRpbi9tb2R1bGUuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL21haW4udHN4Iiwid2VicGFjazovLy91dGlsIChpZ25vcmVkKSIsIndlYnBhY2s6Ly8vdXRpbCAoaWdub3JlZCk/MWE0YiIsIndlYnBhY2s6Ly8vYnVmZmVyIChpZ25vcmVkKSIsIndlYnBhY2s6Ly8vY3J5cHRvIChpZ25vcmVkKSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoi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NEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQixvREFBb0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw4REFBOEQseURBQXlELHVCQUF1QixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isb0JBQW9CLGtCQUFrQixxQkFBcUIsT0FBTyxpQkFBaUIsTUFBTSwyQ0FBMkMsK0JBQStCLEtBQUssMENBQTBDLGtEQUFrRCw0Q0FBNEMsc0JBQXNCLHNCQUFzQixxQkFBcUIsb0JBQW9CLE9BQU8seUpBQXlKLG9CQUFvQixzQ0FBc0MsK0NBQStDLHNEQUFzRCxXQUFXLE9BQU8sd0JBQXdCLG9DQUFvQyxtQ0FBbUMsd0JBQXdCLG1DQUFtQyx3REFBd0QsZ0NBQWdDLGlDQUFpQyw4Q0FBOEMscUNBQXFDLDhCQUE4QixTQUFTLDZCQUE2Qix1QkFBdUIseUJBQXlCLE9BQU8sd0JBQXdCLDZCQUE2QixPQUFPLE9BQU8scUJBQXFCLE9BQU8sMkJBQTJCLEtBQUssNENBQTRDLDRCQUE0Qix1Q0FBdUMsS0FBSyxzREFBc0QsY0FBYyx5Q0FBeUMsb0RBQW9ELDBDQUEwQyxPQUFPLHFCQUFxQix5Q0FBeUMsT0FBTyx1QkFBdUIsdUNBQXVDLE9BQU8sT0FBTyx5Q0FBeUMsT0FBTyxtQkFBbUIsTUFBTSxvSUFBb0ksaUJBQWlCLGlCQUFpQixLQUFLLHFEQUFxRCwyQkFBMkIsNkNBQTZDLHFCQUFxQixPQUFPLE9BQU8sb0NBQW9DLE9BQU8saUJBQWlCLE1BQU0sNkdBQTZHLDJDQUEyQyxtQkFBbUIscUJBQXFCLE9BQU8sT0FBTyxxQ0FBcUMsZ0JBQWdCLE9BQU8sa0JBQWtCLE1BQU0scUxBQXFMLHFCQUFxQixPQUFPLE9BQU8sOEJBQThCLDhCQUE4QixPQUFPLE1BQU0sb0ZBQW9GLGlEQUFpRCx1QkFBdUIsT0FBTyxXQUFXLHVCQUF1QixnREFBZ0QsOENBQThDLHlCQUF5QixPQUFPLFVBQVUsNkJBQTZCLDZCQUE2QiwyQkFBMkIsT0FBTyxPQUFPLGlDQUFpQyxpQ0FBaUMsdUNBQXVDLHFDQUFxQyxpREFBaUQsNkNBQTZDLG9CQUFvQixvQ0FBb0Msa0NBQWtDLHdDQUF3QyxzQ0FBc0MscUVBQXFFLG1EQUFtRCx5REFBeUQsMEJBQTBCLGFBQWEsV0FBVyxTQUFTLE9BQU8sTUFBTSxnRUFBZ0UsaUNBQWlDLHNCQUFzQixnQkFBZ0IseUJBQXlCLEdBQUcsZUFBZSxZQUFZLE9BQU8sZ0NBQWdDLE1BQU0sbUVBQW1FLHlCQUF5Qix1QkFBdUIsV0FBVyxPQUFPLHVCQUF1QixrQ0FBa0MsMkJBQTJCLHFCQUFxQixtQ0FBbUMsNEJBQTRCLE9BQU8sTUFBTSxtRUFBbUUsb0JBQW9CLHFCQUFxQixXQUFXLE9BQU8sNkdBQTZHLGdDQUFnQyw4QkFBOEIsb0JBQW9CLFNBQVMsT0FBTyxvQ0FBb0MsU0FBUyxPQUFPLGtCQUFrQixNQUFNLHlFQUF5RSxvQkFBb0IscUJBQXFCLFNBQVMsT0FBTyxvQ0FBb0Msc0NBQXNDLHNCQUFzQix3Q0FBd0Msc0JBQXNCLE9BQU8saURBQWlELE9BQU8sT0FBTyxtQkFBbUIsT0FBTyw0QkFBNEIsc0NBQXNDLE1BQU0sK0NBQStDLDRCQUE0QixxQkFBcUIsT0FBTyxPQUFPLGtCQUFrQixPQUFPLGtCQUFrQixNQUFNLHVEQUF1RCx1REFBdUQsa0NBQWtDLDZCQUE2QiwrQkFBK0IsOEJBQThCLDhCQUE4QixnQ0FBZ0MsK0JBQStCLCtCQUErQiw2QkFBNkIsc0JBQXNCLG1EQUFtRCxrREFBa0QsbURBQW1ELG9EQUFvRCx1QkFBdUIsT0FBTyxPQUFPLHlEQUF5RCwwREFBMEQscUJBQXFCLE9BQU8sc0NBQXNDLGtEQUFrRCxpQ0FBaUMsaUNBQWlDLCtDQUErQyx1Q0FBdUMseUJBQXlCLE1BQU0sNEVBQTRFLDZCQUE2QixzREFBc0Qsa0NBQWtDLE1BQU0sNEVBQTRFLDZCQUE2QixzREFBc0Qsd0NBQXdDLE1BQU0sNkVBQTZFLDJDQUEyQyxNQUFNLGlEQUFpRCxzQ0FBc0MsOEJBQThCLG9DQUFvQyxxQkFBcUIsaUJBQWlCLE9BQU8sMENBQTBDLHVEQUF1RCxxQkFBcUIscUNBQXFDLCtEQUErRCx1Q0FBdUMsT0FBTywwQkFBMEIsOEJBQThCLHNCQUFzQixPQUFPLG9CQUFvQixNQUFNLCtDQUErQyxxQ0FBcUMsTUFBTSxnRUFBZ0UsNEJBQTRCLE1BQU0sMkVBQTJFLHFDQUFxQyxNQUFNLDJFQUEyRSw4QkFBOEIsMkNBQTJDLG1EQUFtRCxxQkFBcUIsY0FBYyx3QkFBd0IsOEJBQThCLE9BQU8sNkJBQTZCLCtCQUErQixjQUFjLG9CQUFvQixtQ0FBbUMsNkJBQTZCLFNBQVMsT0FBTyxtQkFBbUIsTUFBTSw4RUFBOEUsb0RBQW9ELHdCQUF3Qiw4QkFBOEIsMkRBQTJELFlBQVksc0JBQXNCLHNCQUFzQixxQkFBcUIsaUJBQWlCLE9BQU8sbURBQW1ELHdEQUF3RCxvQ0FBb0Msd0NBQXdDLFNBQVMsc0JBQXNCLGdDQUFnQyx3QkFBd0IsU0FBUyxPQUFPLHNCQUFzQixpQ0FBaUMsUUFBUSxPQUFPLDRDQUE0QyxTQUFTLHFCQUFxQixPQUFPLE9BQU8sNEJBQTRCLFNBQVMsMkJBQTJCLE9BQU8sNEJBQTRCLE1BQU0sa0RBQWtELHNFQUFzRSwrQkFBK0IsTUFBTSxzT0FBc08sb0RBQW9ELFlBQVksaUJBQWlCLHNDQUFzQyxPQUFPLE9BQU8sY0FBYyxPQUFPLDBCQUEwQixxREFBcUQsc0RBQXNELGlDQUFpQyxlQUFlLHlCQUF5QixrRUFBa0UsdUJBQXVCLE9BQU8sT0FBTywrQ0FBK0MsU0FBUywrQkFBK0IsT0FBTyxzQkFBc0IsMkRBQTJELDRCQUE0Qix5QkFBeUIsbUJBQW1CLGlCQUFpQixPQUFPLDRDQUE0QyxTQUFTLE9BQU8sT0FBTywwQkFBMEIsd0JBQXdCLE9BQU8sc0JBQXNCLCtCQUErQixtQ0FBbUMsT0FBTyxxQ0FBcUMsMkRBQTJELDRCQUE0QixPQUFPLDZFQUE2RSx3REFBd0QsT0FBTyxnQ0FBZ0MsMEJBQTBCLHdCQUF3QixPQUFPLDRCQUE0QixNQUFNLGtFQUFrRSxzRUFBc0UsK0NBQStDLE1BQU0saUVBQWlFLHNDQUFzQyxNQUFNLGtEQUFrRCx1Q0FBdUMsTUFBTSxrRUFBa0Usc0NBQXNDLE1BQU0sa0RBQWtELHVDQUF1QyxNQUFNLDRFQUE0RSxrREFBa0QsdUJBQXVCLDZCQUE2QixxQkFBcUIseUdBQXlHLDJEQUEyRCx5QkFBeUIsTUFBTSx1R0FBdUcsb0RBQW9ELHdCQUF3Qiw4QkFBOEIsK0VBQStFLCtCQUErQixvQkFBb0IsT0FBTyxzQkFBc0IsWUFBWSxPQUFPLDZDQUE2QyxzQkFBc0Isd0RBQXdELDRDQUE0QyxPQUFPLDRCQUE0QixNQUFNLDBGQUEwRix1Q0FBdUMsTUFBTSx3RkFBd0Ysc0NBQXNDLDhCQUE4QiwyQ0FBMkMsK0RBQStELDZEQUE2RCxvREFBb0QsNEJBQTRCLHNCQUFzQixTQUFTLDRCQUE0Qix3QkFBd0IsMEJBQTBCLG9CQUFvQixPQUFPLDJEQUEyRCxNQUFNLG1EQUFtRCwyQkFBMkIscUNBQXFDLCtDQUErQyxPQUFPLG1DQUFtQyxvQ0FBb0MsZ0NBQWdDLFNBQVMsT0FBTyw4QkFBOEIsU0FBUyxPQUFPLGlEQUFpRCxvQkFBb0IsTUFBTSwrRkFBK0Ysc0NBQXNDLDhCQUE4QiwyQ0FBMkMsa0NBQWtDLDBCQUEwQix3QkFBd0IsMEJBQTBCLG9CQUFvQixPQUFPLDZCQUE2QixxREFBcUQsdUNBQXVDLDBCQUEwQixPQUFPLE9BQU8sdUNBQXVDLHNDQUFzQyxPQUFPLHFDQUFxQyxpQ0FBaUMsU0FBUyxPQUFPLDRCQUE0QixNQUFNLCtDQUErQyxxQ0FBcUMsTUFBTSwrQ0FBK0MscUNBQXFDLE1BQU0sNENBQTRDLHdCQUF3QixvQkFBb0IsTUFBTSwwQ0FBMEMsaUNBQWlDLE1BQU0sMkVBQTJFLG1DQUFtQyxZQUFZLDBCQUEwQixjQUFjLG9CQUFvQixpQkFBaUIsZ0JBQWdCLE9BQU8sZ0RBQWdELDZDQUE2QywrQkFBK0Isc0RBQXNELDhDQUE4QyxPQUFPLFlBQVkseUJBQXlCLE9BQU8sZ0RBQWdELHdCQUF3Qiw4Q0FBOEMsT0FBTyw2Q0FBNkMsMERBQTBELGdCQUFnQixpQkFBaUIsaUJBQWlCLE9BQU8seUNBQXlDLHdCQUF3QixzQ0FBc0MsT0FBTyx3QkFBd0IsNEJBQTRCLE1BQU0sNkRBQTZELDJDQUEyQyw2QkFBNkIsa0JBQWtCLDhEQUE4RCx5Q0FBeUMsMkJBQTJCLHdCQUF3QiwyQkFBMkIsd0JBQXdCLHdDQUF3QyxPQUFPLGdFQUFnRSxZQUFZLDZCQUE2Qix5QkFBeUIseUJBQXlCLHNDQUFzQyx1QkFBdUIsY0FBYyxPQUFPLHlCQUF5QixTQUFTLE9BQU8sbURBQW1ELGdDQUFnQyxpQkFBaUIsZ0JBQWdCLHlCQUF5QixTQUFTLE9BQU8sMkJBQTJCLFFBQVEsT0FBTyxvR0FBb0csMkpBQTJKLG1DQUFtQyxrQ0FBa0MsZUFBZSx5QkFBeUIsa0NBQWtDLDRCQUE0Qiw0QkFBNEIsV0FBVyxTQUFTLGdCQUFnQiwwQkFBMEIsU0FBUyxPQUFPLGNBQWMsa0JBQWtCLE9BQU8sZ0JBQWdCLGdFQUFnRSx3QkFBd0IsT0FBTyxnQkFBZ0IsNkNBQTZDLE1BQU0sOFJBQThSLDRCQUE0Qiw0QkFBNEIsZ0JBQWdCLDJEQUEyRCxPQUFPLDBCQUEwQixzREFBc0QsMkNBQTJDLCtCQUErQiw4QkFBOEIsU0FBUywrQkFBK0IsOEJBQThCLCtDQUErQywwQkFBMEIsV0FBVyxTQUFTLGtCQUFrQiwrQ0FBK0MsT0FBTyx3REFBd0QsMkNBQTJDLCtCQUErQiw4QkFBOEIsU0FBUyxrQkFBa0IsbURBQW1ELE9BQU8sbURBQW1ELGlEQUFpRCwrQkFBK0IsOEJBQThCLCtDQUErQywwQkFBMEIsV0FBVyxTQUFTLGtCQUFrQixtREFBbUQsT0FBTyxvS0FBb0ssZ0JBQWdCLHNEQUFzRCxPQUFPLDREQUE0RCw2QkFBNkIsa0JBQWtCLDBFQUEwRSxTQUFTLCtCQUErQixrQkFBa0Isa0ZBQWtGLFNBQVMsa0JBQWtCLCtGQUErRixPQUFPLHdDQUF3QyxNQUFNLHVFQUF1RSxnREFBZ0QsTUFBTSx1RUFBdUUsZ0RBQWdELE1BQU0sK0NBQStDLCtDQUErQyxNQUFNLHdGQUF3RixnQ0FBZ0MsOEVBQThFLG9FQUFvRSxnQ0FBZ0MsNEJBQTRCLDhCQUE4QiwrRUFBK0UsMEZBQTBGLE1BQU0sK0NBQStDLCtCQUErQiw4QkFBOEIsb0JBQW9CLG1DQUFtQyxRQUFRLE9BQU8sb0RBQW9ELE9BQU8sbUJBQW1CLE1BQU0sbUZBQW1GLCtCQUErQixzQkFBc0IsbUNBQW1DLFFBQVEsT0FBTyx3REFBd0Qsc0NBQXNDLHdCQUF3QixPQUFPLDRCQUE0QixNQUFNLCtDQUErQyxxQ0FBcUMsTUFBTSw2Q0FBNkMsK0JBQStCLDBCQUEwQixxQkFBcUIsd0JBQXdCLCtCQUErQixzQkFBc0IsT0FBTyxPQUFPLHNCQUFzQixPQUFPLG9EQUFvRCx3QkFBd0Isb0RBQW9ELHdCQUF3QixrQkFBa0IsMENBQTBDLG9CQUFvQixvQkFBb0IsWUFBWSxPQUFPLDJCQUEyQix5QkFBeUIsNkJBQTZCLCtCQUErQixtQ0FBbUMsZ0JBQWdCLG9CQUFvQixzQkFBc0IsMkJBQTJCLHlDQUF5Qyx5QkFBeUIseUJBQXlCLGFBQWEsMEJBQTBCLHdCQUF3QixXQUFXLFNBQVMsaUNBQWlDLG1DQUFtQyxnQkFBZ0Isb0JBQW9CLHNCQUFzQiwyQkFBMkIseUNBQXlDLHlCQUF5Qix5QkFBeUIsYUFBYSwwQkFBMEIsd0JBQXdCLFdBQVcsU0FBUyw4QkFBOEIsb0JBQW9CLG9CQUFvQixvQkFBb0IsU0FBUyxPQUFPLG9CQUFvQixvQkFBb0Isb0JBQW9CLFNBQVMsT0FBTyxnQkFBZ0IsMERBQTBELE1BQU0sbU1BQW1NLCtCQUErQiwwQkFBMEIscUJBQXFCLHdCQUF3QiwrQkFBK0Isc0JBQXNCLE9BQU8sT0FBTyxzQkFBc0IsT0FBTywyQkFBMkIseUJBQXlCLDhCQUE4QixnREFBZ0QsK0JBQStCLG1DQUFtQyxnQkFBZ0Isb0JBQW9CLHNCQUFzQiwyQkFBMkIsNkJBQTZCLDZCQUE2QixhQUFhLDJCQUEyQixXQUFXLFNBQVMsaUNBQWlDLG1DQUFtQyxnQkFBZ0Isb0JBQW9CLHNCQUFzQiwyQkFBMkIsNkJBQTZCLDZCQUE2QixhQUFhLDJCQUEyQixXQUFXLFNBQVMsOEJBQThCLG9CQUFvQixzQkFBc0IsU0FBUyxPQUFPLG9CQUFvQixzQkFBc0IsU0FBUyxPQUFPLGdCQUFnQiw0QkFBNEIsaUJBQWlCLE9BQU8sT0FBTyxpQkFBaUIsT0FBTyw4QkFBOEIsb0JBQW9CLE9BQU8sbUJBQW1CLE1BQU0sNkNBQTZDLDBDQUEwQywwQ0FBMEMsNkJBQTZCLDBCQUEwQixxQkFBcUIscUJBQXFCLCtEQUErRCwwQkFBMEIsV0FBVyxvQkFBb0Isb0JBQW9CLE9BQU8sWUFBWSw0QkFBNEIsc0JBQXNCLFNBQVMsNEJBQTRCLHNCQUFzQixTQUFTLDJCQUEyQixvQkFBb0Isb0ZBQW9GLGdCQUFnQixnQkFBZ0IsU0FBUyx1Q0FBdUMsZ0JBQWdCLFNBQVMsb0JBQW9CLE9BQU8sY0FBYywrQkFBK0IsTUFBTSx1RkFBdUYsd0NBQXdDLE1BQU0sZ0RBQWdELHVDQUF1QyxNQUFNLDhDQUE4Qyx1Q0FBdUMsTUFBTSw4RUFBOEUsaUNBQWlDLE1BQU0sNkZBQTZGLHNDQUFzQyx1QkFBdUIsNkJBQTZCLHFCQUFxQiw2RkFBNkYsNEJBQTRCLDJCQUEyQixvQkFBb0IsT0FBTywrREFBK0QscUJBQXFCLGdDQUFnQyxPQUFPLGtDQUFrQyxtQkFBbUIseUJBQXlCLHVCQUF1QiwwQkFBMEIsT0FBTyx3QkFBd0IsOEJBQThCLHNCQUFzQixPQUFPLGtCQUFrQixNQUFNLGdEQUFnRCxzREFBc0QsTUFBTSwrQ0FBK0MsNkJBQTZCLHdEQUF3RCxvREFBb0QscUJBQXFCLGdCQUFnQiw0QkFBNEIsZ0JBQWdCLE9BQU8sT0FBTyx1QkFBdUIscUJBQXFCLFNBQVMsd0RBQXdELG9DQUFvQywrQ0FBK0MsT0FBTywrQ0FBK0MsaUJBQWlCLE1BQU0seUtBQXlLLCtEQUErRCw4REFBOEQsaUNBQWlDLCtDQUErQyxpQkFBaUIsTUFBTSx5RUFBeUUsbUdBQW1HLDhDQUE4QyxvQkFBb0IsbUNBQW1DLFFBQVEsT0FBTyxrQ0FBa0MsaUNBQWlDLGdDQUFnQyxvQkFBb0IsbUJBQW1CLFNBQVMsa0JBQWtCLGtCQUFrQixTQUFTLGNBQWMsT0FBTyxpQkFBaUIsTUFBTSw2Q0FBNkMsa0NBQWtDLE1BQU0sMkNBQTJDLGlDQUFpQyxNQUFNLCtDQUErQyxpQ0FBaUMsTUFBTSw2Q0FBNkMsZ0NBQWdDLE1BQU0sNkNBQTZDLG1DQUFtQyxNQUFNLDJDQUEyQyxrQ0FBa0MsTUFBTSwrQ0FBK0MsaUNBQWlDLE1BQU0sNkNBQTZDLGdDQUFnQyxNQUFNLDZDQUE2QyxrQ0FBa0MsTUFBTSwyQ0FBMkMsaUNBQWlDLE1BQU0seUpBQXlKLDBCQUEwQixNQUFNLGlEQUFpRCxpRUFBaUUsbUVBQW1FLGdEQUFnRCxNQUFNLGtEQUFrRCwrRUFBK0Usd0NBQXdDLE1BQU0seURBQXlELHFCQUFxQixrQkFBa0IsTUFBTSx1REFBdUQsaUVBQWlFLGlDQUFpQyxNQUFNLG1EQUFtRCw2REFBNkQscUNBQXFDLE1BQU0scURBQXFELDhEQUE4RCxzQ0FBc0MsTUFBTSxtREFBbUQsNkRBQTZELHFDQUFxQyxNQUFNLHFEQUFxRCw4REFBOEQsc0NBQXNDLE1BQU0sbURBQW1ELDZEQUE2RCxxQ0FBcUMsTUFBTSxtREFBbUQsNkRBQTZELG1DQUFtQyxxQ0FBcUMsTUFBTSxxREFBcUQsNkRBQTZELG1DQUFtQyxzQ0FBc0MsTUFBTSxnREFBZ0QsNkRBQTZELDhCQUE4QixnQ0FBZ0MsTUFBTSxrREFBa0QsOERBQThELDhCQUE4QixpQ0FBaUMsTUFBTSwyRUFBMkUsOERBQThELDhCQUE4QixpQ0FBaUMsTUFBTSxrREFBa0QsOERBQThELDhCQUE4QixpQ0FBaUMsTUFBTSxxR0FBcUcsNkRBQTZELDhCQUE4QixnQ0FBZ0MsTUFBTSxtREFBbUQsd0RBQXdELDhCQUE4QixxQ0FBcUMsTUFBTSxpRUFBaUUsMkVBQTJFLDZEQUE2RCw2Q0FBNkMsNkJBQTZCLGtDQUFrQyxxREFBcUQsK0JBQStCLEtBQUssZ0RBQWdELDZCQUE2QixvREFBb0QsaUJBQWlCLE1BQU0seURBQXlELG1JQUFtSSxlQUFlLFlBQVksZ0NBQWdDLDBCQUEwQiw2QkFBNkIsNkJBQTZCLE9BQU8sdUJBQXVCLHNEQUFzRCxzQkFBc0IsdUJBQXVCLHFCQUFxQixPQUFPLG9CQUFvQix1QkFBdUIsT0FBTyxPQUFPLGtCQUFrQixPQUFPLGlCQUFpQixNQUFNLDREQUE0RCxtQ0FBbUMsTUFBTSxxREFBcUQsOEJBQThCLE1BQU0sd0JBQXdCLGlJQUFpSSxLQUFLLDJCQUEyQiw2REFBNkQsb0RBQW9ELCtDQUErQyxxQkFBcUIsWUFBWSxPQUFPLHlDQUF5QyxPQUFPLDZCQUE2QixnQ0FBZ0MsMkJBQTJCLHlCQUF5QixlQUFlLE9BQU8sMkRBQTJELGtEQUFrRCxvQkFBb0Isa0JBQWtCLE9BQU8sc0NBQXNDLG1FQUFtRSxvQkFBb0IsT0FBTyxtQkFBbUIsaUNBQWlDLDRDQUE0QywyQkFBMkIsT0FBTyxPQUFPLDBCQUEwQixPQUFPLE1BQU0sbURBQW1ELDBFQUEwRSxvQ0FBb0Msc0JBQXNCLDhFQUE4RSxxQkFBcUIsZ0JBQWdCLE9BQU8saUNBQWlDLHdCQUF3QixzQ0FBc0MsK0NBQStDLE9BQU8sNEVBQTRFLHFCQUFxQiw4Q0FBOEMsdUJBQXVCLFNBQVMsT0FBTyxpQkFBaUIsTUFBTSx3QkFBd0Isd0hBQXdILEtBQUssMkJBQTJCLHdCQUF3QiwrR0FBK0csS0FBSywyQkFBMkIsMEJBQTBCLG1KQUFtSixLQUFLLDZCQUE2QixxREFBcUQscUNBQXFDLHFCQUFxQixnQkFBZ0IsT0FBTyxtREFBbUQsZ0NBQWdDLG1CQUFtQiw0QkFBNEIsbUJBQW1CLE9BQU8sd0JBQXdCLHdDQUF3QyxPQUFPLGlCQUFpQixNQUFNLDRHQUE0Ryw0RUFBNEUsa0JBQWtCLDRCQUE0QiwyQkFBMkIsT0FBTyw0QkFBNEIsMkJBQTJCLE9BQU8sNEJBQTRCLDJCQUEyQixPQUFPLDhCQUE4Qiw2QkFBNkIsT0FBTyxPQUFPLGlEQUFpRCxPQUFPLDJCQUEyQixxQkFBcUIsTUFBTSxnRUFBZ0Usa0NBQWtDLGlDQUFpQyx5QkFBeUIsMkJBQTJCLE9BQU8sT0FBTywyREFBMkQsbUJBQW1CLDBCQUEwQixPQUFPLEtBQUssc0RBQXNELGdFQUFnRSx1REFBdUQsTUFBTSx5REFBeUQsK0VBQStFLGlGQUFpRixNQUFNLDhDQUE4QyxtRUFBbUUsNENBQTRDLE1BQU0sNENBQTRDLHVCQUF1Qix5QkFBeUIsT0FBTyw2Q0FBNkMsTUFBTSwrQ0FBK0MsMEJBQTBCLDJCQUEyQixpQ0FBaUMseUJBQXlCLE9BQU8saUNBQWlDLE1BQU0saURBQWlELDBCQUEwQiw0QkFBNEIsaUNBQWlDLHlCQUF5QixPQUFPLGlCQUFpQixNQUFNLCtDQUErQywwQkFBMEIsMkJBQTJCLDRCQUE0Qix5QkFBeUIsT0FBTyxpQ0FBaUMsTUFBTSxpREFBaUQsMEJBQTBCLDRCQUE0Qiw0QkFBNEIseUJBQXlCLE9BQU8saUJBQWlCLE1BQU0saURBQWlELHVCQUF1QixxQ0FBcUMsTUFBTSxpREFBaUQsMEJBQTBCLGtDQUFrQyxNQUFNLCtDQUErQywwQkFBMEIsaUNBQWlDLE1BQU0sOENBQThDLHFDQUFxQyxNQUFNLDRDQUE0Qyw0QkFBNEIsTUFBTSw4Q0FBOEMsdUNBQXVDLG1DQUFtQyw2QkFBNkIsMkNBQTJDLGtEQUFrRCxnQ0FBZ0MsT0FBTyxzSkFBc0osZ0JBQWdCLCtDQUErQyxZQUFZLG9CQUFvQixPQUFPLDBCQUEwQix3Q0FBd0MsOEJBQThCLG9KQUFvSixpQ0FBaUMsd0NBQXdDLG1EQUFtRCx3QkFBd0IsT0FBTywrQkFBK0IsK0NBQStDLDZCQUE2QixnQkFBZ0IsZ0NBQWdDLG9CQUFvQix1QkFBdUIsb0JBQW9CLE9BQU8sNkJBQTZCLFNBQVMsc0JBQXNCLHlEQUF5RCwwQkFBMEIsdUJBQXVCLHdCQUF3QixjQUFjLE9BQU8saUJBQWlCLE1BQU0sOENBQThDLGlDQUFpQywrQkFBK0IseUJBQXlCLHVDQUF1QyxPQUFPLE9BQU8sOEJBQThCLE9BQU8sTUFBTSxpREFBaUQscURBQXFELDhDQUE4QywyQkFBMkIsMkNBQTJDLHFDQUFxQyxpQkFBaUIscUJBQXFCLGdCQUFnQixPQUFPLHlDQUF5QyxPQUFPLHlCQUF5QixzQkFBc0IseUJBQXlCLHVDQUF1Qyx3QkFBd0IsbUJBQW1CLE9BQU8sZ0NBQWdDLFFBQVEsT0FBTyxnQ0FBZ0MsK0JBQStCLFFBQVEsT0FBTyxvQ0FBb0MsK0JBQStCLGdDQUFnQyxXQUFXLDZDQUE2QywyQkFBMkIscUJBQXFCLFdBQVcsMEJBQTBCLHlCQUF5Qix1QkFBdUIsMEVBQTBFLDhDQUE4Qyx5QkFBeUIsc0JBQXNCLFNBQVMsbUJBQW1CLE9BQU8sbUJBQW1CLE1BQU0sMERBQTBELCtCQUErQix5Q0FBeUMsTUFBTSw4REFBOEQsNEJBQTRCLHFCQUFxQixpQkFBaUIsTUFBTSxrRkFBa0YsMkJBQTJCLE1BQU0seUJBQXlCLHdCQUF3Qix3Q0FBd0Msa0NBQWtDLDZDQUE2QyxPQUFPLDhDQUE4Qyx3Q0FBd0Msd0NBQXdDLCtEQUErRCx5Q0FBeUMsd0NBQXdDLEtBQUssd0JBQXdCLDJEQUEyRCw4Q0FBOEMsTUFBTSwrREFBK0QsNENBQTRDLG1CQUFtQixlQUFlLE1BQU0sa0RBQWtELHFDQUFxQyx1QkFBdUIscUJBQXFCLGlCQUFpQixPQUFPLDBCQUEwQixnRkFBZ0YsMkNBQTJDLGtCQUFrQixpQ0FBaUMsNkJBQTZCLE9BQU8sMEJBQTBCLDZCQUE2QixPQUFPLG1DQUFtQyxNQUFNLGdEQUFnRCxxRUFBcUUseUJBQXlCLGdGQUFnRiwyQ0FBMkMsa0JBQWtCLCtCQUErQiw2QkFBNkIsT0FBTywwQkFBMEIsNkJBQTZCLE9BQU8sbUNBQW1DLE1BQU0sK0NBQStDLGdIQUFnSCxpQ0FBaUMsTUFBTSxHQUFHLDBCQUEwQixnQ0FBZ0MseU1BQXlNLGNBQWM7O0FBRXR5eEYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUdBQXFHLG1FQUFtRSxjQUFjOztBQUV0TCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1HQUFtRyx3R0FBd0csb0hBQW9ILGdJQUFnSSx5SUFBeUkscUhBQXFILGtEQUFrRCxxRUFBcUUsb0NBQW9DLDBDQUEwQyw0Q0FBNEMsOENBQThDLGlDQUFpQywyQ0FBMkMsNERBQTRELGtEQUFrRCxrREFBa0Qsa0ZBQWtGLE9BQU8sc0hBQXNILCtFQUErRSwyRkFBMkYsbURBQW1ELGlCQUFpQixTQUFTLHNYQUFzWCxpQkFBaUIsU0FBUyx5SkFBeUosNEhBQTRILHdCQUF3Qix1TUFBdU0sNENBQTRDLG9EQUFvRCxRQUFRLG9JQUFvSSx1QkFBdUIsaUJBQWlCLFNBQVMsa0ZBQWtGLG9EQUFvRCxRQUFRLDBGQUEwRix1TEFBdUwsb0RBQW9ELFFBQVEsNkVBQTZFLHNIQUFzSCxvREFBb0QsUUFBUSwrTUFBK00sdUhBQXVILHlNQUF5TSwwQkFBMEIsNERBQTRELFNBQVMsT0FBTywrRUFBK0UsMkVBQTJFLDJGQUEyRiw4RkFBOEYsV0FBVyxPQUFPLGlHQUFpRyxXQUFXLFNBQVMsRUFBRSxPQUFPLHNGQUFzRix1Q0FBdUMsT0FBTyxnRkFBZ0YsYUFBYSxxREFBcUQsU0FBUyxZQUFZLGdRQUFnUSxvQkFBb0IsV0FBVyxTQUFTLE9BQU8sZ0dBQWdHLHdFQUF3RSxPQUFPLDZIQUE2SCw2RUFBNkUsT0FBTyxpQ0FBaUMsbUdBQW1HLHlCQUF5QixtQkFBbUIsV0FBVyw0QkFBNEIseUJBQXlCLHNEQUFzRCxTQUFTLEVBQUUsT0FBTyx3Q0FBd0MsMkJBQTJCLE9BQU8sMkRBQTJELEtBQUssRUFBRSxJQUFJLHFFQUFxRSxjQUFjOztBQUV0bE0sT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnR0FBZ0cscUdBQXFHLGtHQUFrRyxvSEFBb0gsaUdBQWlHLHdEQUF3RCxPQUFPLGdFQUFnRSxNQUFNLHVFQUF1RSwyQ0FBMkMsMERBQTBELDhGQUE4RixxRUFBcUUsc0JBQXNCLEdBQUcsd0ZBQXdGLDBFQUEwRSwyRkFBMkYsdUVBQXVFLElBQUksNklBQTZJLDBIQUEwSCxpSEFBaUgsOERBQThELGlDQUFpQyxJQUFJLDZHQUE2RywyQkFBMkIsd0ZBQXdGLHFFQUFxRSxjQUFjOztBQUUvakUsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtSEFBbUgsUUFBUSxzREFBc0QsMkJBQTJCLEdBQUcscURBQXFELGdFQUFnRSxJQUFJLHVDQUF1Qyw0QkFBNEIscUVBQXFFLGNBQWM7O0FBRTlkLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEdBQTBHLDhIQUE4SCxTQUFTLHVFQUF1RSx5Q0FBeUMsMERBQTBELEtBQUsseUJBQXlCLGtFQUFrRSwrQkFBK0IsS0FBSyxFQUFFLHVCQUF1Qix1Q0FBdUMseUJBQXlCLGlFQUFpRSxPQUFPLDJDQUEyQyxtQ0FBbUMsS0FBSyxFQUFFLEdBQUcsOElBQThJLHNCQUFzQix3QkFBd0IsS0FBSyxJQUFJLCtLQUErSyxlQUFlLHNEQUFzRCxpQkFBaUIsS0FBSyxFQUFFLFlBQVksNkNBQTZDLElBQUksaUNBQWlDLHFFQUFxRSxjQUFjOztBQUUxNUMsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxREFBcUQseUNBQXlDLElBQUkscUVBQXFFLGNBQWM7O0FBRXJMLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUdBQW1HLGtIQUFrSCxvSUFBb0ksMkhBQTJILCtHQUErRywyREFBMkQsT0FBTywwRkFBMEYsbUNBQW1DLHlCQUF5QixzRkFBc0YsR0FBRywrQ0FBK0MsT0FBTyxtSUFBbUkscUlBQXFJLGtDQUFrQyxnQ0FBZ0MsS0FBSyxPQUFPLDRCQUE0QixLQUFLLGtEQUFrRCx3RUFBd0UscUZBQXFGLDBDQUEwQywwRkFBMEYsaUVBQWlFLEtBQUssRUFBRSx5RkFBeUYsOERBQThELEtBQUssRUFBRSw0QkFBNEIsMkRBQTJELEtBQUsscUJBQXFCLElBQUksc0RBQXNELGdEQUFnRCw0RkFBNEYsSUFBSSxnSkFBZ0osZ0ZBQWdGLGtEQUFrRCxHQUFHLDhDQUE4QyxHQUFHLE1BQU0sR0FBRyxFQUFFLG9GQUFvRixzRkFBc0Ysa0RBQWtELEdBQUcsaUVBQWlFLEdBQUcsTUFBTSxHQUFHLEVBQUUsMkJBQTJCLHFFQUFxRSxjQUFjOztBQUVsNEYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtR0FBbUcsbUNBQW1DLHVCQUF1QixHQUFHLCtEQUErRCxTQUFTLHFFQUFxRSxTQUFTLDJFQUEyRSxPQUFPLG9IQUFvSCx3QkFBd0Isd0RBQXdELEVBQUUsb0NBQW9DLElBQUksaUVBQWlFLE9BQU8scUdBQXFHLDRCQUE0QiwrQkFBK0IsS0FBSyxJQUFJLHdNQUF3TSxTQUFTLGlIQUFpSCw2REFBNkQsdUJBQXVCLGNBQWMsT0FBTyxLQUFLLEVBQUUsSUFBSSx3Q0FBd0MscUVBQXFFLGNBQWM7O0FBRXg1QyxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBIQUEwSCxrSEFBa0gsT0FBTyx3Q0FBd0MsT0FBTyxnQ0FBZ0MsT0FBTyxrRUFBa0UsT0FBTyxvQ0FBb0MsT0FBTyx3Q0FBd0MsTUFBTSwyR0FBMkcsbUNBQW1DLGdFQUFnRSxJQUFJLHFFQUFxRSxjQUFjOztBQUVoeEIsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtR0FBbUcscUhBQXFILGdIQUFnSCxrR0FBa0csbUlBQW1JLDZIQUE2SCx1SEFBdUgsNkJBQTZCLDRDQUE0QyxLQUFLLEdBQUcsMkZBQTJGLE9BQU8sb0VBQW9FLFFBQVEsc0ZBQXNGLHlDQUF5QyxzRkFBc0YsMkRBQTJELEtBQUssdUVBQXVFLHlJQUF5SSwwRkFBMEYsMENBQTBDLDJCQUEyQixNQUFNLGdJQUFnSSxzQ0FBc0MsT0FBTyxNQUFNLHVEQUF1RCwwRUFBMEUsMkNBQTJDLDZKQUE2Six3QkFBd0IsS0FBSyx1Q0FBdUMsOEJBQThCLDZDQUE2Qyw0RUFBNEUsb0tBQW9LLFNBQVMsT0FBTyxzQ0FBc0MsS0FBSyxFQUFFLElBQUkscUVBQXFFLGNBQWM7O0FBRXpyRixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVHQUF1RyxNQUFNLHdDQUF3QyxPQUFPLGdDQUFnQyxPQUFPLGtFQUFrRSxPQUFPLG9DQUFvQyxPQUFPLHdDQUF3QyxNQUFNLGtHQUFrRywwQkFBMEIsZUFBZSx3QkFBd0IsS0FBSyw4QkFBOEIsOEJBQThCLDhCQUE4QixpQ0FBaUMsY0FBYyxrWUFBa1ksTUFBTSxpQkFBaUIsSUFBSSxxRUFBcUUsY0FBYzs7QUFFdG9DLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUdBQWlHLGdKQUFnSixPQUFPLHFCQUFxQixPQUFPLHVCQUF1QixPQUFPLHFIQUFxSCw2RUFBNkUsb0JBQW9CLDBGQUEwRixpREFBaUQscUNBQXFDLE9BQU8sS0FBSyxFQUFFLHNGQUFzRiwwQ0FBMEMscUVBQXFFLE9BQU8saURBQWlELHFDQUFxQyxPQUFPLDBDQUEwQyxzREFBc0QsT0FBTyxpREFBaUQscUNBQXFDLE9BQU8sS0FBSyxFQUFFLGtaQUFrWixpREFBaUQscUNBQXFDLE9BQU8saURBQWlELHFDQUFxQyxPQUFPLEtBQUssRUFBRSxvQkFBb0IsSUFBSSxxRUFBcUUsY0FBYzs7QUFFeDNELE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUhBQXVILGtGQUFrRixTQUFTLDJEQUEyRCxTQUFTLHlEQUF5RCxPQUFPLDJGQUEyRix3REFBd0QsNkRBQTZELHdCQUF3QixLQUFLLE9BQU8sNktBQTZLLEtBQUssSUFBSSxxRUFBcUUsY0FBYzs7QUFFbjFCLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUdBQW1HLDJFQUEyRSxjQUFjLDZDQUE2QyxNQUFNLDZEQUE2RCxlQUFlLDJEQUEyRCxFQUFFLG1HQUFtRyxpRkFBaUYsK0JBQStCLEtBQUssRUFBRSxrQkFBa0IsSUFBSSxxRUFBcUUsY0FBYzs7QUFFM3JCLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscURBQXFELDBGQUEwRixrSkFBa0osZ0NBQWdDLDJEQUEyRCxvREFBb0Qsb0ZBQW9GLHNDQUFzQyxLQUFLLEdBQUcsa0NBQWtDLGdCQUFnQixrTEFBa0wsMklBQTJJLEtBQUssa0RBQWtELDZJQUE2SSxLQUFLLG1CQUFtQixHQUFHLG9CQUFvQixvR0FBb0csNkNBQTZDLG1EQUFtRCxxTUFBcU0sb0JBQW9CLE9BQU8sMENBQTBDLDJCQUEyQixPQUFPLDBDQUEwQywwRUFBMEUsZ0JBQWdCLCtCQUErQixPQUFPLGlDQUFpQyx5REFBeUQsZ0JBQWdCLG9DQUFvQyxPQUFPLGtCQUFrQixLQUFLLDhEQUE4RCx5RUFBeUUsYUFBYSxrQ0FBa0MsU0FBUyxZQUFZLGVBQWUsT0FBTyxrQkFBa0IsS0FBSyxtU0FBbVMsMkNBQTJDLEtBQUssSUFBSSx3QkFBd0IsYUFBYSx3REFBd0QsSUFBSSxtRkFBbUYsa0NBQWtDLEdBQUcsRUFBRSxvRkFBb0YsaUVBQWlFLEdBQUcsRUFBRSw4QkFBOEIsZ0NBQWdDLDZLQUE2SyxjQUFjOztBQUV2cEcsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1REFBdUQsNEJBQTRCLDZDQUE2QyxxQkFBcUIsaUJBQWlCLE9BQU8sK0JBQStCLE9BQU8scUNBQXFDLE1BQU0sSUFBSSxxRUFBcUUsY0FBYzs7QUFFclYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtR0FBbUcsMEJBQTBCLHFPQUFxTyxHQUFHLHVFQUF1RSxPQUFPLG1FQUFtRSxPQUFPLGtEQUFrRCxPQUFPLDRGQUE0RixvREFBb0QsaUJBQWlCLEtBQUssMkJBQTJCLDJCQUEyQixrREFBa0QsS0FBSyw0Q0FBNEMsMkNBQTJDLEtBQUssT0FBTyxxQkFBcUIsNERBQTRELHlEQUF5RCxpQkFBaUIsU0FBUyxtQ0FBbUMsMkJBQTJCLFNBQVMsT0FBTyxzQkFBc0IsU0FBUyxxREFBcUQsZ0NBQWdDLGdDQUFnQyxXQUFXLDhCQUE4QixrQ0FBa0MsV0FBVyxvREFBb0QsU0FBUyxFQUFFLE9BQU8sRUFBRSwyQ0FBMkMsS0FBSyw2QkFBNkIsMkNBQTJDLGlDQUFpQywwQ0FBMEMsT0FBTyx3RUFBd0UsS0FBSyxpQkFBaUIsSUFBSSxxRUFBcUUsY0FBYzs7QUFFLzBELE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0ZBQW9GLE9BQU8sa0NBQWtDLE9BQU8sNENBQTRDLE9BQU8scUZBQXFGLG1IQUFtSCxJQUFJLHFFQUFxRSxjQUFjOztBQUV0ZCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1HQUFtRyxvSkFBb0osZ0JBQWdCLDZFQUE2RSw0QkFBNEIsZ0VBQWdFLDRDQUE0Qyx3RUFBd0UsYUFBYSx5Q0FBeUMsMENBQTBDLGFBQWEsMkNBQTJDLDhDQUE4QyxhQUFhLG9DQUFvQyxvQ0FBb0MsYUFBYSw4Q0FBOEMsSUFBSSxXQUFXLHdDQUF3Qyw4REFBOEQsMEJBQTBCLE9BQU8saUVBQWlFLFdBQVcsNENBQTRDLHdEQUF3RCxXQUFXLFVBQVUsT0FBTyxnSUFBZ0ksZ0JBQWdCLG9DQUFvQyxrQ0FBa0MsYUFBYSxFQUFFLHVDQUF1QyxVQUFVLE9BQU8sT0FBTyxxRUFBcUUsY0FBYzs7QUFFbmxELE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUZBQW1GLE9BQU8sbUNBQW1DLFFBQVEsNEdBQTRHLDZVQUE2VSxJQUFJLHFFQUFxRSxjQUFjOztBQUVycEIsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtR0FBbUcsa1BBQWtQLCtEQUErRCx5REFBeUQsc0JBQXNCLG1GQUFtRixPQUFPLDJDQUEyQyxPQUFPLDBDQUEwQyx5QkFBeUIsdUJBQXVCLHVIQUF1SCx1Q0FBdUMsV0FBVyxzREFBc0Qsc0hBQXNILDhrQkFBOGtCLFNBQVMsdURBQXVELDZHQUE2RyxPQUFPLDZDQUE2QyxRQUFRLGlIQUFpSCwwRkFBMEYseUdBQXlHLFVBQVUsT0FBTyxpSUFBaUksMkNBQTJDLHNCQUFzQixVQUFVLE9BQU8sT0FBTyxxRUFBcUUsY0FBYzs7QUFFdjhFLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUdBQWlHLDRFQUE0RSxnRUFBZ0UsMkZBQTJGLHdDQUF3Qyw2QkFBNkIsT0FBTyxLQUFLLEVBQUUsSUFBSSxxRUFBcUUsY0FBYzs7QUFFbGYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtR0FBbUcsaVpBQWlaLGtOQUFrTixPQUFPLG9EQUFvRCxPQUFPLHNGQUFzRixvQkFBb0IsWUFBWSxZQUFZLFVBQVUscUJBQXFCLGVBQWUsRUFBRSxpRUFBaUUsNEJBQTRCLHdEQUF3RCwyQ0FBMkMsa0JBQWtCLGlFQUFpRSxpQkFBaUIsU0FBUyxtQ0FBbUMsdUVBQXVFLFNBQVMsT0FBTyxxRUFBcUUsU0FBUyxPQUFPLEtBQUssRUFBRSxvQkFBb0IsSUFBSSxxRUFBcUUsY0FBYzs7QUFFeGlELE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOE1BQThNLDJCQUEyQiwwQkFBMEIsK0dBQStHLGFBQWEsMEJBQTBCLFNBQVMsd0JBQXdCLFNBQVMsbURBQW1ELCtCQUErQix1Q0FBdUMsTUFBTSxJQUFJLHFFQUFxRSxjQUFjOztBQUV6cEIsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2R0FBNkcsNkZBQTZGLG9KQUFvSiw2REFBNkQsT0FBTyxxQ0FBcUMsUUFBUSx5RUFBeUUsbURBQW1ELEdBQUcsbUVBQW1FLE9BQU8scUNBQXFDLFFBQVEscUZBQXFGLHlEQUF5RCxHQUFHLCtEQUErRCxPQUFPLHFDQUFxQyxRQUFRLCtFQUErRSwwRUFBMEUsR0FBRyw2RUFBNkUsT0FBTyxxQ0FBcUMsUUFBUSxtR0FBbUcsZUFBZSx1RUFBdUUsdUNBQXVDLEtBQUssT0FBTyw0RUFBNEUsS0FBSyxrQkFBa0IsR0FBRyw2REFBNkQsT0FBTyxxQ0FBcUMsUUFBUSwwRUFBMEUsbUNBQW1DLEdBQUcsNkRBQTZELE9BQU8scUNBQXFDLFFBQVEsMEVBQTBFLG1DQUFtQyxHQUFHLDhEQUE4RCxPQUFPLHFDQUFxQyxRQUFRLGtGQUFrRixzQ0FBc0MsR0FBRyw4REFBOEQsT0FBTyxxQ0FBcUMsUUFBUSwyRUFBMkUsbURBQW1ELEdBQUcsMkRBQTJELE9BQU8scUNBQXFDLFFBQVEsc0VBQXNFLGtEQUFrRCxHQUFHLDJEQUEyRCxPQUFPLHFDQUFxQyxRQUFRLHNFQUFzRSxrREFBa0QsR0FBRywyREFBMkQsT0FBTyxxQ0FBcUMsUUFBUSxzRUFBc0Usa0RBQWtELEdBQUcsK0RBQStELE9BQU8scUNBQXFDLFFBQVEsOEVBQThFLHNEQUFzRCxHQUFHLDZEQUE2RCxPQUFPLHFDQUFxQyxRQUFRLDBFQUEwRSxpREFBaUQsR0FBRyw2RUFBNkUsT0FBTyxxQ0FBcUMsUUFBUSxtR0FBbUcsb0ZBQW9GLEdBQUcseUZBQXlGLE9BQU8sc0NBQXNDLE9BQU8saUVBQWlFLHlEQUF5RCxHQUFHLHlkQUF5ZCxrUEFBa1AsbUJBQW1CLEtBQUssNkZBQTZGLEdBQUcsZ1ZBQWdWLGFBQWEsdUNBQXVDLFNBQVMsMEVBQTBFLDZGQUE2RixhQUFhLEtBQUssMkZBQTJGLHNEQUFzRCxLQUFLLHlCQUF5Qix1RUFBdUUsT0FBTyxPQUFPLHNDQUFzQyxPQUFPLEtBQUssT0FBTyw2REFBNkQsNkRBQTZELDRDQUE0QyxTQUFTLE9BQU8sS0FBSyxHQUFHLDRUQUE0VCxTQUFTLEdBQUcsU0FBUyxFQUFFLDZCQUE2Qix3Q0FBd0MsT0FBTyxvQ0FBb0MsT0FBTyxtRkFBbUYsb0JBQW9CLG9DQUFvQyx1RUFBdUUsOENBQThDLE9BQU8sT0FBTywwQkFBMEIsT0FBTyxLQUFLLDJDQUEyQyxPQUFPLE9BQU8seUNBQXlDLEtBQUssa0JBQWtCLEdBQUcsZ0pBQWdKLE9BQU8sb0NBQW9DLE9BQU8sdUZBQXVGLG9CQUFvQixvQ0FBb0MsdUVBQXVFLGtEQUFrRCxPQUFPLG9DQUFvQyxrQ0FBa0MsT0FBTyxPQUFPLE9BQU8sMEJBQTBCLE9BQU8sS0FBSywyQ0FBMkMsT0FBTyxPQUFPLHlDQUF5QyxLQUFLLGtCQUFrQixHQUFHLGlHQUFpRyxPQUFPLHlDQUF5QyxPQUFPLGtEQUFrRCxPQUFPLHFEQUFxRCxPQUFPLHVFQUF1RSwrQ0FBK0MsaURBQWlELG9DQUFvQyxPQUFPLE9BQU8scUJBQXFCLE9BQU8sS0FBSyxFQUFFLGFBQWEsR0FBRyxzQkFBc0IsMGhCQUEwaEIscUVBQXFFLGNBQWM7O0FBRTl5UixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlWQUFpVixTQUFTLE9BQU8sK0RBQStELGtPQUFrTyxnREFBZ0QsNEVBQTRFLGdVQUFnVSw2RkFBNkYsNEpBQTRKLDJEQUEyRCxzRUFBc0UsZ0NBQWdDLHFXQUFxVyxTQUFTLFVBQVUsMlRBQTJULGtDQUFrQyw2SUFBNkksa0NBQWtDLHVPQUF1TyxtQkFBbUIsb0NBQW9DLCtIQUErSCw4Q0FBOEMscURBQXFELFNBQVMsVUFBVSxtS0FBbUssNkJBQTZCLG9DQUFvQyxrVEFBa1QsVUFBVSx1QkFBdUIscUhBQXFILHVHQUF1RyxnSUFBZ0ksNkJBQTZCLDJMQUEyTCw4QkFBOEIscUVBQXFFLGNBQWM7O0FBRTNrSSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdEQUF3RCxjQUFjLEVBQUUsZ0JBQWdCLHlCQUF5Qiw0Q0FBNEMsZ0NBQWdDLEdBQUcsOEJBQThCLEdBQUcsa0RBQWtELGtGQUFrRixzSEFBc0gsT0FBTyxjQUFjLHVFQUF1RSxzREFBc0QsdU1BQXVNLCtJQUErSSxFQUFFLDJCQUEyQixXQUFXLFFBQVEsR0FBRyxzQkFBc0IseUJBQXlCLHFFQUFxRSxjQUFjOztBQUV4bkMsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0RBQW9ELDZCQUE2QixpQkFBaUIsOENBQThDLDJEQUEyRCxLQUFLLDhJQUE4SSw4QkFBOEIsb0NBQW9DLCtDQUErQyxzQ0FBc0Msd0NBQXdDLEtBQUsscURBQXFELDRCQUE0QixzQkFBc0IsT0FBTywwQkFBMEIsd0JBQXdCLHNCQUFzQixrREFBa0QsOEJBQThCLDZDQUE2Qyx3QkFBd0Isb0JBQW9CLFNBQVMsOERBQThELE9BQU8sS0FBSyxxQ0FBcUMsMEJBQTBCLEtBQUssT0FBTyxzQkFBc0IsS0FBSyxpQkFBaUIscUJBQXFCLGlCQUFpQixTQUFTLDREQUE0RCxLQUFLLFlBQVksS0FBSyxxQ0FBcUMsOEJBQThCLG9CQUFvQixPQUFPLHNJQUFzSSxNQUFNLDJDQUEyQywyQ0FBMkMsbUJBQW1CLE1BQU0sMkNBQTJDLDJDQUEyQyxtQkFBbUIsTUFBTSxpRUFBaUUsdUNBQXVDLHNEQUFzRCxPQUFPLHlDQUF5QyxxREFBcUQsT0FBTyw2QkFBNkIsa0JBQWtCLE9BQU8sNkRBQTZELHdEQUF3RCxvQkFBb0IsOEJBQThCLGdCQUFnQixPQUFPLDBCQUEwQixzQ0FBc0MsT0FBTyxPQUFPLDZDQUE2QyxPQUFPLGdDQUFnQywwQkFBMEIsT0FBTyxzQkFBc0Isb0NBQW9DLHNEQUFzRCxNQUFNLDhFQUE4RSx1QkFBdUIsMEJBQTBCLHlCQUF5QixPQUFPLCtCQUErQiwwQ0FBMEMsd0JBQXdCLE9BQU8sc0NBQXNDLHVHQUF1Ryx3QkFBd0IsT0FBTyxPQUFPLDBDQUEwQyxzSUFBc0ksd0JBQXdCLE9BQU8sb0NBQW9DLGdGQUFnRixNQUFNLDRFQUE0RSw2RUFBNkUsK0JBQStCLHlCQUF5Qix3QkFBd0Isb0JBQW9CLE9BQU8sbURBQW1ELDBDQUEwQyxxQkFBcUIsaUJBQWlCLE9BQU8sMEJBQTBCLE9BQU8saUJBQWlCLGtCQUFrQiw0QkFBNEIsMENBQTBDLFFBQVEsVUFBVSx1RUFBdUUsa0RBQWtELDZEQUE2RCxvQkFBb0IsMEJBQTBCLHNCQUFzQixnQkFBZ0IsV0FBVyxTQUFTLE9BQU8sNEJBQTRCLDBCQUEwQixtQkFBbUIsVUFBVSx1RUFBdUUsa0RBQWtELDZEQUE2RCxvQkFBb0IsMEJBQTBCLHNCQUFzQixnQkFBZ0IsV0FBVyxTQUFTLE9BQU8sMkJBQTJCLE1BQU0sMkNBQTJDLGdCQUFnQiwwQ0FBMEMsZ0JBQWdCLHlCQUF5QixTQUFTLE9BQU8sdUNBQXVDLGtCQUFrQixnQkFBZ0IsdURBQXVELDJCQUEyQiwrQkFBK0IsK0JBQStCLDJCQUEyQiwrQkFBK0IsT0FBTyxnQkFBZ0IsU0FBUyxpQkFBaUIsZUFBZSxPQUFPLDJEQUEyRCxlQUFlLEtBQUssbUVBQW1FLGtJQUFrSSwwQ0FBMEMscUJBQXFCLGlCQUFpQixPQUFPLDBCQUEwQixPQUFPLGlCQUFpQix3RUFBd0Usd0NBQXdDLFlBQVksVUFBVSx1Q0FBdUMsZ0RBQWdELDJJQUEySSxrQkFBa0Isd0JBQXdCLG9CQUFvQixjQUFjLFNBQVMsT0FBTyw0QkFBNEIsMkNBQTJDLGdEQUFnRCx5REFBeUQsT0FBTyxvQkFBb0IsTUFBTSxpREFBaUQsZ0JBQWdCLGdCQUFnQiwwQ0FBMEMseUJBQXlCLFNBQVMsT0FBTyx1Q0FBdUMsbUJBQW1CLHNDQUFzQywyQkFBMkIseUJBQXlCLG9CQUFvQiwyQkFBMkIsK0JBQStCLE9BQU8sZ0JBQWdCLFNBQVMsdURBQXVELGVBQWUsT0FBTyxlQUFlLEtBQUssMkVBQTJFLGtEQUFrRCxzQkFBc0IsOEVBQThFLHNCQUFzQixtQkFBbUIsa0JBQWtCLE9BQU8sZ0JBQWdCLHFDQUFxQywwQ0FBMEMsZ0NBQWdDLHFEQUFxRCxxQkFBcUIseUJBQXlCLFNBQVMsZ0JBQWdCLHVEQUF1RCw4QkFBOEIsK0NBQStDLGdDQUFnQyxTQUFTLE9BQU8sNEJBQTRCLFNBQVMsT0FBTyx3QkFBd0Isb0JBQW9CLHlEQUF5RCxxQkFBcUIsU0FBUyxPQUFPLHNCQUFzQixTQUFTLDBCQUEwQiwrQ0FBK0MsZ0NBQWdDLFNBQVMsT0FBTyw0QkFBNEIsU0FBUyxPQUFPLE1BQU0sZ0RBQWdELDBDQUEwQyxxQkFBcUIsaUJBQWlCLE9BQU8sc0NBQXNDLE9BQU8sZ0NBQWdDLG9DQUFvQywwQkFBMEIsTUFBTSxpQ0FBaUMsNkJBQTZCLCtCQUErQixtQ0FBbUMseUJBQXlCLEtBQUssa0RBQWtELHVCQUF1QixNQUFNLDhDQUE4QywyQkFBMkIsbUJBQW1CLGVBQWUsTUFBTSxzREFBc0Qsa0NBQWtDLHNDQUFzQyxPQUFPLGtCQUFrQixNQUFNLG9GQUFvRixvRUFBb0Usc0JBQXNCLE9BQU8sOEJBQThCLE1BQU0sc0RBQXNELG9FQUFvRSwwQkFBMEIsT0FBTyxrQkFBa0IsTUFBTSx5UUFBeVEsdUVBQXVFLEtBQUssT0FBTyxxQ0FBcUMsS0FBSywyQkFBMkIsd0VBQXdFLEtBQUssNkJBQTZCLHdCQUF3Qix3QkFBd0IsaUJBQWlCLGVBQWUsK0JBQStCLG1CQUFtQixlQUFlLEtBQUssc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHFCQUFxQiw2QkFBNkIsd0JBQXdCLHdCQUF3QixxREFBcUQsMEJBQTBCLHVCQUF1QixPQUFPLG1DQUFtQyxtQ0FBbUMsS0FBSywra0JBQStrQiwrS0FBK0sseVpBQXlaLGlFQUFpRSx3QkFBd0IsaUNBQWlDLGdCQUFnQiwwQ0FBMEMsaUJBQWlCLG9CQUFvQixzQkFBc0IsdUJBQXVCLGlCQUFpQixPQUFPLGdDQUFnQyxvRUFBb0UsZ0RBQWdELHFEQUFxRCxzREFBc0QsV0FBVyxPQUFPLDZCQUE2QixXQUFXLG1CQUFtQiwwQkFBMEIsc0JBQXNCLGdCQUFnQixXQUFXLFNBQVMsMEJBQTBCLHlDQUF5QyxTQUFTLDRDQUE0QywwQkFBMEIsU0FBUyxrQ0FBa0MsMEJBQTBCLFNBQVMsbUJBQW1CLE9BQU8sNkRBQTZELCtFQUErRSx5Q0FBeUMscURBQXFELHlDQUF5QyxpQkFBaUIsNkJBQTZCLHVCQUF1Qiw2QkFBNkIsb0RBQW9ELGlDQUFpQyw4QkFBOEIsd0RBQXdELFdBQVcsT0FBTywwQkFBMEIsV0FBVyxTQUFTLDRCQUE0QiwwQkFBMEIsU0FBUyw0Q0FBNEMsMEJBQTBCLFNBQVMsa0NBQWtDLDBCQUEwQixTQUFTLG1CQUFtQixPQUFPLHlEQUF5RCxNQUFNLG9EQUFvRCw4QkFBOEIsOEJBQThCLHlDQUF5QyxPQUFPLHdEQUF3RCxnSUFBZ0ksT0FBTyw0QkFBNEIsb0VBQW9FLE9BQU8sZ0RBQWdELE1BQU0sZ0RBQWdELGtDQUFrQyxNQUFNLG1CQUFtQixrRUFBa0Usd0RBQXdELFFBQVEsS0FBSyxnRUFBZ0UscURBQXFELE1BQU0sMERBQTBELGtDQUFrQywyQ0FBMkMsT0FBTyxpQ0FBaUMsTUFBTSxtRkFBbUYsb0JBQW9CLDJDQUEyQyx3REFBd0QsK0VBQStFLDJEQUEyRCxpREFBaUQsa0RBQWtELHNEQUFzRCxpQkFBaUIsTUFBTSwrRUFBK0UsdUJBQXVCLG9CQUFvQixrQ0FBa0MsaUJBQWlCLE9BQU8sb0RBQW9ELHdDQUF3QyxvQ0FBb0MsK0NBQStDLFNBQVMsb0NBQW9DLGdEQUFnRCxTQUFTLDRCQUE0QixzQ0FBc0Msa0RBQWtELFdBQVcsb0JBQW9CLG9CQUFvQixTQUFTLE9BQU8sOEJBQThCLHFCQUFxQixTQUFTLE9BQU8sb0NBQW9DLGdDQUFnQyx5Q0FBeUMsOEJBQThCLFNBQVMsT0FBTyxNQUFNLCtFQUErRSxvQ0FBb0Msb0JBQW9CLGtDQUFrQyxpQkFBaUIsT0FBTyxvREFBb0Qsd0NBQXdDLDRCQUE0QiwrQ0FBK0MsU0FBUyw0QkFBNEIsZ0RBQWdELFNBQVMsNEJBQTRCLDhCQUE4QixrREFBa0QsV0FBVyxvQkFBb0Isb0JBQW9CLFNBQVMsT0FBTyw4QkFBOEIscUJBQXFCLFNBQVMsT0FBTyw0QkFBNEIsZ0NBQWdDLGlDQUFpQyw4QkFBOEIsU0FBUyxPQUFPLE1BQU0sdUJBQXVCLHlEQUF5RCxrQ0FBa0MsUUFBUSxLQUFLLE9BQU8seURBQXlELGtCQUFrQixrQkFBa0IsMEJBQTBCLGtCQUFrQixvQkFBb0IsU0FBUyx3QkFBd0IsaUJBQWlCLG1CQUFtQixTQUFTLHVCQUF1QixpQkFBaUIsbUJBQW1CLFNBQVMsd0JBQXdCLGlCQUFpQixtQkFBbUIsU0FBUyxxQkFBcUIsUUFBUSxLQUFLLHVEQUF1RCwrQ0FBK0Msa0JBQWtCLGdCQUFnQiwrQkFBK0IsZ0JBQWdCLGtCQUFrQixPQUFPLDZCQUE2QixlQUFlLGlCQUFpQixPQUFPLDRCQUE0QixlQUFlLGlCQUFpQixPQUFPLDRCQUE0QixlQUFlLGlCQUFpQixPQUFPLDRCQUE0QixZQUFZLE9BQU8sZUFBZSxNQUFNLCtGQUErRiwwQ0FBMEMsa0NBQWtDLHlDQUF5QyxNQUFNLGlDQUFpQyx5Q0FBeUMseUJBQXlCLGdCQUFnQixTQUFTLGlDQUFpQyw0QkFBNEIsb0RBQW9ELE9BQU8saUJBQWlCLEtBQUssdUZBQXVGLGtDQUFrQyxrQkFBa0IscUJBQXFCLGlCQUFpQixPQUFPLDhDQUE4QyxlQUFlLDRCQUE0QixPQUFPLGVBQWUsTUFBTSx3REFBd0QsNkNBQTZDLE1BQU0scURBQXFELGdDQUFnQyxnREFBZ0QsT0FBTywwQkFBMEIsTUFBTSx5REFBeUQsa0NBQWtDLGdEQUFnRCxPQUFPLDBCQUEwQixNQUFNLDhDQUE4QyxpQ0FBaUMsTUFBTSxnRkFBZ0YsaUNBQWlDLE1BQU0sNENBQTRDLDJCQUEyQiwyQkFBMkIsT0FBTyxvQkFBb0IsTUFBTSxtRkFBbUYsd0NBQXdDLHNDQUFzQyxPQUFPLHVCQUF1QixnQkFBZ0IsT0FBTyxxREFBcUQsT0FBTyw2QkFBNkIsTUFBTSw2Q0FBNkMsbURBQW1ELDRCQUE0QixNQUFNLHNFQUFzRSxpRUFBaUUsbUNBQW1DLE1BQU0sNkNBQTZDLGtFQUFrRSxvQ0FBb0MsTUFBTSxzRkFBc0YsOENBQThDLHFDQUFxQyxnQkFBZ0IsT0FBTyxPQUFPLGlCQUFpQixPQUFPLHVCQUF1QixjQUFjLE9BQU8scURBQXFELE9BQU8sK0JBQStCLDZCQUE2QixNQUFNLCtDQUErQyxtREFBbUQsNkJBQTZCLE1BQU0seUVBQXlFLGtFQUFrRSxvQ0FBb0MsTUFBTSwrQ0FBK0MsbUVBQW1FLHFDQUFxQyxNQUFNLHNGQUFzRix3Q0FBd0MsWUFBWSxxQ0FBcUMsaUJBQWlCLGdCQUFnQixPQUFPLE9BQU8sZ0JBQWdCLGlCQUFpQixPQUFPLHVCQUF1QixjQUFjLE9BQU8sZ0RBQWdELE9BQU8seUJBQXlCLGNBQWMsY0FBYyxPQUFPLHFDQUFxQyxTQUFTLE9BQU8sK0JBQStCLDZCQUE2QixNQUFNLCtDQUErQyxtREFBbUQsNkJBQTZCLE1BQU0seUVBQXlFLGtFQUFrRSxvQ0FBb0MsTUFBTSwrQ0FBK0MsbUVBQW1FLHFDQUFxQyxNQUFNLDhGQUE4RixzREFBc0Qsb0RBQW9ELGdDQUFnQyxnRkFBZ0YsMkJBQTJCLHNCQUFzQixPQUFPLHFEQUFxRCxpQkFBaUIsT0FBTyxtREFBbUQsT0FBTyxzREFBc0Qsd0VBQXdFLE9BQU8sK0RBQStELE1BQU0saURBQWlELHVDQUF1QyxNQUFNLDhFQUE4RSxrREFBa0QsaUNBQWlDLDBCQUEwQiw4QkFBOEIsa0JBQWtCLHdEQUF3RCxPQUFPLE9BQU8seURBQXlELE9BQU8sNkJBQTZCLE1BQU0sa0ZBQWtGLFlBQVksb0ZBQW9GLDBCQUEwQiwyQkFBMkIsMkJBQTJCLGdDQUFnQyxxQ0FBcUMsc0RBQXNELHlCQUF5QiwyQkFBMkIseUJBQXlCLDZCQUE2QixPQUFPLDZDQUE2QyxxQ0FBcUMsaUJBQWlCLGdCQUFnQixPQUFPLE9BQU8sZ0JBQWdCLGlCQUFpQixPQUFPLHNCQUFzQixxQkFBcUIsY0FBYyxPQUFPLHdEQUF3RCxzQ0FBc0MseUJBQXlCLE9BQU8sWUFBWSw2QkFBNkIsT0FBTyxxQ0FBcUMsc0NBQXNDLHlCQUF5QixPQUFPLCtCQUErQix3QkFBd0Isd0NBQXdDLHNCQUFzQiwwQ0FBMEMsdUJBQXVCLGNBQWMsY0FBYyxPQUFPLHFDQUFxQyxTQUFTLE9BQU8sb0JBQW9CLE1BQU0sdUVBQXVFLGNBQWMsc0RBQXNELHlCQUF5Qiw0QkFBNEIsMEJBQTBCLG1CQUFtQixPQUFPLHNEQUFzRCwwQkFBMEIsNEJBQTRCLDBCQUEwQixtQkFBbUIsT0FBTyxvRUFBb0Usc0NBQXNDLE1BQU0seUZBQXlGLGtFQUFrRSx5QkFBeUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIsNkNBQTZDLGdDQUFnQywwQkFBMEIsdUJBQXVCLDBCQUEwQixnQ0FBZ0MsT0FBTyxnRkFBZ0YsdURBQXVELDBCQUEwQix3QkFBd0IsMEJBQTBCLG9CQUFvQixPQUFPLCtCQUErQixvQkFBb0IsaUJBQWlCLGdCQUFnQixPQUFPLE9BQU8sZ0JBQWdCLGlCQUFpQixPQUFPLHNCQUFzQixxQkFBcUIsY0FBYyxPQUFPLHdEQUF3RCx3QkFBd0Isc0NBQXNDLE9BQU8sWUFBWSw2QkFBNkIsT0FBTyxxQ0FBcUMsd0JBQXdCLHNDQUFzQyxPQUFPLHVGQUF1RixjQUFjLGNBQWMsT0FBTyxxQ0FBcUMsU0FBUyxPQUFPLCtDQUErQyx5QkFBeUIsMEJBQTBCLE9BQU8sNkJBQTZCLE1BQU0sOEVBQThFLG9DQUFvQyxNQUFNLDRDQUE0QyxrREFBa0QsK0NBQStDLHVCQUF1QiwwQkFBMEIsZ0hBQWdILCtCQUErQixvQkFBb0IsK0JBQStCLHNDQUFzQyx3QkFBd0IsdUJBQXVCLFNBQVMsT0FBTyw4SkFBOEosc0NBQXNDLCtDQUErQyxzREFBc0QsV0FBVyxPQUFPLDhCQUE4QixnQ0FBZ0MsK0JBQStCLDRCQUE0Qix3Q0FBd0MsZ0NBQWdDLFNBQVMsaUNBQWlDLDJCQUEyQixPQUFPLHdCQUF3QixpQ0FBaUMsT0FBTyxPQUFPLHFCQUFxQixPQUFPLDRCQUE0QixLQUFLLGdSQUFnUix5QkFBeUIsd0JBQXdCLHdCQUF3QixnQkFBZ0IsYUFBYSxjQUFjLGFBQWEsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsb0RBQW9ELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMs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Qyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDhEQUE4RCx5REFBeUQsdUJBQXVCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixrQkFBa0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isa0JBQWtCLGtCQUFrQixvQkFBb0Isa0JBQWtCLHFCQUFxQixPQUFPLGlCQUFpQixNQUFNLDJDQUEyQywrQkFBK0IsS0FBSywwQ0FBMEMsa0RBQWtELDRDQUE0QyxzQkFBc0Isc0JBQXNCLHFCQUFxQixvQkFBb0IsT0FBTyx5SkFBeUosb0JBQW9CLHNDQUFzQywrQ0FBK0Msc0RBQXNELFdBQVcsT0FBTyx3QkFBd0Isb0NBQW9DLG1DQUFtQyx3QkFBd0IsbUNBQW1DLHdEQUF3RCxnQ0FBZ0MsaUNBQWlDLDhDQUE4QyxxQ0FBcUMsOEJBQThCLFNBQVMsNkJBQTZCLHVCQUF1Qix5QkFBeUIsT0FBTyx3QkFBd0IsNkJBQTZCLE9BQU8sT0FBTyxxQkFBcUIsT0FBTywyQkFBMkIsS0FBSyw0Q0FBNEMsNEJBQTRCLHVDQUF1QyxLQUFLLHNEQUFzRCxjQUFjLHlDQUF5QyxvREFBb0QsMENBQTBDLE9BQU8scUJBQXFCLHlDQUF5QyxPQUFPLHVCQUF1Qix1Q0FBdUMsT0FBTyxPQUFPLHlDQUF5QyxPQUFPLG1CQUFtQixNQUFNLG9JQUFvSSxpQkFBaUIsaUJBQWlCLEtBQUsscURBQXFELDJCQUEyQiw2Q0FBNkMscUJBQXFCLE9BQU8sT0FBTyxvQ0FBb0MsT0FBTyxpQkFBaUIsTUFBTSw2R0FBNkcsMkNBQTJDLG1CQUFtQixxQkFBcUIsT0FBTyxPQUFPLHFDQUFxQyxnQkFBZ0IsT0FBTyxrQkFBa0IsTUFBTSxxTEFBcUwscUJBQXFCLE9BQU8sT0FBTyw4QkFBOEIsOEJBQThCLE9BQU8sTUFBTSxvRkFBb0YsaURBQWlELHVCQUF1QixPQUFPLFdBQVcsdUJBQXVCLGdEQUFnRCw4Q0FBOEMseUJBQXlCLE9BQU8sVUFBVSw2QkFBNkIsNkJBQTZCLDJCQUEyQixPQUFPLE9BQU8saUNBQWlDLGlDQUFpQyx1Q0FBdUMscUNBQXFDLGlEQUFpRCw2Q0FBNkMsb0JBQW9CLG9DQUFvQyxrQ0FBa0Msd0NBQXdDLHNDQUFzQyxxRUFBcUUsbURBQW1ELHlEQUF5RCwwQkFBMEIsYUFBYSxXQUFXLFNBQVMsT0FBTyxNQUFNLGdFQUFnRSxpQ0FBaUMsc0JBQXNCLGdCQUFnQix5QkFBeUIsR0FBRyxlQUFlLFlBQVksT0FBTyxnQ0FBZ0MsTUFBTSxtRUFBbUUseUJBQXlCLHVCQUF1QixXQUFXLE9BQU8sdUJBQXVCLGtDQUFrQywyQkFBMkIscUJBQXFCLG1DQUFtQyw0QkFBNEIsT0FBTyxNQUFNLG1FQUFtRSxvQkFBb0IscUJBQXFCLFdBQVcsT0FBTyw2R0FBNkcsZ0NBQWdDLDhCQUE4QixvQkFBb0IsU0FBUyxPQUFPLG9DQUFvQyxTQUFTLE9BQU8sa0JBQWtCLE1BQU0seUVBQXlFLG9CQUFvQixxQkFBcUIsU0FBUyxPQUFPLG9DQUFvQyxzQ0FBc0Msc0JBQXNCLHdDQUF3QyxzQkFBc0IsT0FBTyxpREFBaUQsT0FBTyxPQUFPLG1CQUFtQixPQUFPLDRCQUE0QixzQ0FBc0MsTUFBTSwrQ0FBK0MsNEJBQTRCLHFCQUFxQixPQUFPLE9BQU8sa0JBQWtCLE9BQU8sa0JBQWtCLE1BQU0sdURBQXVELHVEQUF1RCxrQ0FBa0MsNkJBQTZCLCtCQUErQiw4QkFBOEIsOEJBQThCLGdDQUFnQywrQkFBK0IsK0JBQStCLDZCQUE2QixzQkFBc0IsbURBQW1ELGtEQUFrRCxtREFBbUQsb0RBQW9ELHVCQUF1QixPQUFPLE9BQU8seURBQXlELDBEQUEwRCxxQkFBcUIsT0FBTyxzQ0FBc0Msa0RBQWtELGlDQUFpQyxpQ0FBaUMsK0NBQStDLHVDQUF1Qyx5QkFBeUIsTUFBTSw0RUFBNEUsNkJBQTZCLHNEQUFzRCxrQ0FBa0MsTUFBTSw0RUFBNEUsNkJBQTZCLHNEQUFzRCx3Q0FBd0MsTUFBTSw2RUFBNkUsMkNBQTJDLE1BQU0saURBQWlELHNDQUFzQyw4QkFBOEIsb0NBQW9DLHFCQUFxQixpQkFBaUIsT0FBTywwQ0FBMEMsdURBQXVELHFCQUFxQixxQ0FBcUMsK0RBQStELHVDQUF1QyxPQUFPLDBCQUEwQiw4QkFBOEIsc0JBQXNCLE9BQU8sb0JBQW9CLE1BQU0sK0NBQStDLHFDQUFxQyxNQUFNLGdFQUFnRSw0QkFBNEIsTUFBTSwyRUFBMkUscUNBQXFDLE1BQU0sMkVBQTJFLDhCQUE4QiwyQ0FBMkMsbURBQW1ELHFCQUFxQixjQUFjLHdCQUF3Qiw4QkFBOEIsT0FBTyw2QkFBNkIsK0JBQStCLGNBQWMsb0JBQW9CLG1DQUFtQyw2QkFBNkIsU0FBUyxPQUFPLG1CQUFtQixNQUFNLDhFQUE4RSxvREFBb0Qsd0JBQXdCLDhCQUE4QiwyREFBMkQsWUFBWSxzQkFBc0Isc0JBQXNCLHFCQUFxQixpQkFBaUIsT0FBTyxtREFBbUQsd0RBQXdELG9DQUFvQyx3Q0FBd0MsU0FBUyxzQkFBc0IsZ0NBQWdDLHdCQUF3QixTQUFTLE9BQU8sc0JBQXNCLGlDQUFpQyxRQUFRLE9BQU8sNENBQTRDLFNBQVMscUJBQXFCLE9BQU8sT0FBTyw0QkFBNEIsU0FBUywyQkFBMkIsT0FBTyw0QkFBNEIsTUFBTSxrREFBa0Qsc0VBQXNFLCtCQUErQixNQUFNLHNPQUFzTyxvREFBb0QsWUFBWSxpQkFBaUIsc0NBQXNDLE9BQU8sT0FBTyxjQUFjLE9BQU8sMEJBQTBCLHFEQUFxRCxzREFBc0QsaUNBQWlDLGVBQWUseUJBQXlCLGtFQUFrRSx1QkFBdUIsT0FBTyxPQUFPLCtDQUErQyxTQUFTLCtCQUErQixPQUFPLHNCQUFzQiwyREFBMkQsNEJBQTRCLHlCQUF5QixtQkFBbUIsaUJBQWlCLE9BQU8sNENBQTRDLFNBQVMsT0FBTyxPQUFPLDBCQUEwQix3QkFBd0IsT0FBTyxzQkFBc0IsK0JBQStCLG1DQUFtQyxPQUFPLHFDQUFxQywyREFBMkQsNEJBQTRCLE9BQU8sNkVBQTZFLHdEQUF3RCxPQUFPLGdDQUFnQywwQkFBMEIsd0JBQXdCLE9BQU8sNEJBQTRCLE1BQU0sa0VBQWtFLHNFQUFzRSwrQ0FBK0MsTUFBTSxpRUFBaUUsc0NBQXNDLE1BQU0sa0RBQWtELHVDQUF1QyxNQUFNLGtFQUFrRSxzQ0FBc0MsTUFBTSxrREFBa0QsdUNBQXVDLE1BQU0sNEVBQTRFLGtEQUFrRCx1QkFBdUIsNkJBQTZCLHFCQUFxQix5R0FBeUcsMkRBQTJELHlCQUF5QixNQUFNLHVHQUF1RyxvREFBb0Qsd0JBQXdCLDhCQUE4QiwrRUFBK0UsK0JBQStCLG9CQUFvQixPQUFPLHNCQUFzQixZQUFZLE9BQU8sNkNBQTZDLHNCQUFzQix3REFBd0QsNENBQTRDLE9BQU8sNEJBQTRCLE1BQU0sMEZBQTBGLHVDQUF1QyxNQUFNLHdGQUF3RixzQ0FBc0MsOEJBQThCLDJDQUEyQywrREFBK0QsNkRBQTZELG9EQUFvRCw0QkFBNEIsc0JBQXNCLFNBQVMsNEJBQTRCLHdCQUF3QiwwQkFBMEIsb0JBQW9CLE9BQU8sMkRBQTJELE1BQU0sbURBQW1ELDJCQUEyQixxQ0FBcUMsK0NBQStDLE9BQU8sbUNBQW1DLG9DQUFvQyxnQ0FBZ0MsU0FBUyxPQUFPLDhCQUE4QixTQUFTLE9BQU8saURBQWlELG9CQUFvQixNQUFNLCtGQUErRixzQ0FBc0MsOEJBQThCLDJDQUEyQyxrQ0FBa0MsMEJBQTBCLHdCQUF3QiwwQkFBMEIsb0JBQW9CLE9BQU8sNkJBQTZCLHFEQUFxRCx1Q0FBdUMsMEJBQTBCLE9BQU8sT0FBTyx1Q0FBdUMsc0NBQXNDLE9BQU8scUNBQXFDLGlDQUFpQyxTQUFTLE9BQU8sNEJBQTRCLE1BQU0sK0NBQStDLHFDQUFxQyxNQUFNLCtDQUErQyxxQ0FBcUMsTUFBTSw0Q0FBNEMsd0JBQXdCLG9CQUFvQixNQUFNLDBDQUEwQyxpQ0FBaUMsTUFBTSwyRUFBMkUsbUNBQW1DLFlBQVksMEJBQTBCLGNBQWMsb0JBQW9CLGlCQUFpQixnQkFBZ0IsT0FBTyxnREFBZ0QsNkNBQTZDLCtCQUErQixzREFBc0QsOENBQThDLE9BQU8sWUFBWSx5QkFBeUIsT0FBTyxnREFBZ0Qsd0JBQXdCLDhDQUE4QyxPQUFPLDZDQUE2QywwREFBMEQsZ0JBQWdCLGlCQUFpQixpQkFBaUIsT0FBTyx5Q0FBeUMsd0JBQXdCLHNDQUFzQyxPQUFPLHdCQUF3Qiw0QkFBNEIsTUFBTSw2REFBNkQsMkNBQTJDLDZCQUE2QixrQkFBa0IsOERBQThELHlDQUF5QywyQkFBMkIsd0JBQXdCLDJCQUEyQix3QkFBd0Isd0NBQXdDLE9BQU8sZ0VBQWdFLFlBQVksNkJBQTZCLHlCQUF5Qix5QkFBeUIsc0NBQXNDLHVCQUF1QixjQUFjLE9BQU8seUJBQXlCLFNBQVMsT0FBTyxtREFBbUQsZ0NBQWdDLGlCQUFpQixnQkFBZ0IseUJBQXlCLFNBQVMsT0FBTywyQkFBMkIsUUFBUSxPQUFPLG9HQUFvRywySkFBMkosbUNBQW1DLGtDQUFrQyxlQUFlLHlCQUF5QixrQ0FBa0MsNEJBQTRCLDRCQUE0QixXQUFXLFNBQVMsZ0JBQWdCLDBCQUEwQixTQUFTLE9BQU8sY0FBYyxrQkFBa0IsT0FBTyxnQkFBZ0IsZ0VBQWdFLHdCQUF3QixPQUFPLGdCQUFnQiw2Q0FBNkMsTUFBTSw4UkFBOFIsNEJBQTRCLDRCQUE0QixnQkFBZ0IsMkRBQTJELE9BQU8sMEJBQTBCLHNEQUFzRCwyQ0FBMkMsK0JBQStCLDhCQUE4QixTQUFTLCtCQUErQiw4QkFBOEIsK0NBQStDLDBCQUEwQixXQUFXLFNBQVMsa0JBQWtCLCtDQUErQyxPQUFPLHdEQUF3RCwyQ0FBMkMsK0JBQStCLDhCQUE4QixTQUFTLGtCQUFrQixtREFBbUQsT0FBTyxtREFBbUQsaURBQWlELCtCQUErQiw4QkFBOEIsK0NBQStDLDBCQUEwQixXQUFXLFNBQVMsa0JBQWtCLG1EQUFtRCxPQUFPLG9LQUFvSyxnQkFBZ0Isc0RBQXNELE9BQU8sNERBQTRELDZCQUE2QixrQkFBa0IsMEVBQTBFLFNBQVMsK0JBQStCLGtCQUFrQixrRkFBa0YsU0FBUyxrQkFBa0IsK0ZBQStGLE9BQU8sd0NBQXdDLE1BQU0sdUVBQXVFLGdEQUFnRCxNQUFNLHVFQUF1RSxnREFBZ0QsTUFBTSwrQ0FBK0MsK0NBQStDLE1BQU0sd0ZBQXdGLGdDQUFnQyw4RUFBOEUsb0VBQW9FLGdDQUFnQyw0QkFBNEIsOEJBQThCLCtFQUErRSwwRkFBMEYsTUFBTSwrQ0FBK0MsK0JBQStCLDhCQUE4QixvQkFBb0IsbUNBQW1DLFFBQVEsT0FBTyxvREFBb0QsT0FBTyxtQkFBbUIsTUFBTSxtRkFBbUYsK0JBQStCLHNCQUFzQixtQ0FBbUMsUUFBUSxPQUFPLHdEQUF3RCxzQ0FBc0Msd0JBQXdCLE9BQU8sNEJBQTRCLE1BQU0sK0NBQStDLHFDQUFxQyxNQUFNLDZDQUE2QywrQkFBK0IsMEJBQTBCLHFCQUFxQix3QkFBd0IsK0JBQStCLHNCQUFzQixPQUFPLE9BQU8sc0JBQXNCLE9BQU8sb0RBQW9ELHdCQUF3QixvREFBb0Qsd0JBQXdCLGtCQUFrQiwwQ0FBMEMsb0JBQW9CLG9CQUFvQixZQUFZLE9BQU8sMkJBQTJCLHlCQUF5Qiw2QkFBNkIsK0JBQStCLG1DQUFtQyxnQkFBZ0Isb0JBQW9CLHNCQUFzQiwyQkFBMkIseUNBQXlDLHlCQUF5Qix5QkFBeUIsYUFBYSwwQkFBMEIsd0JBQXdCLFdBQVcsU0FBUyxpQ0FBaUMsbUNBQW1DLGdCQUFnQixvQkFBb0Isc0JBQXNCLDJCQUEyQix5Q0FBeUMseUJBQXlCLHlCQUF5QixhQUFhLDBCQUEwQix3QkFBd0IsV0FBVyxTQUFTLDhCQUE4QixvQkFBb0Isb0JBQW9CLG9CQUFvQixTQUFTLE9BQU8sb0JBQW9CLG9CQUFvQixvQkFBb0IsU0FBUyxPQUFPLGdCQUFnQiwwREFBMEQsTUFBTSxtTUFBbU0sK0JBQStCLDBCQUEwQixxQkFBcUIsd0JBQXdCLCtCQUErQixzQkFBc0IsT0FBTyxPQUFPLHNCQUFzQixPQUFPLDJCQUEyQix5QkFBeUIsOEJBQThCLGdEQUFnRCwrQkFBK0IsbUNBQW1DLGdCQUFnQixvQkFBb0Isc0JBQXNCLDJCQUEyQiw2QkFBNkIsNkJBQTZCLGFBQWEsMkJBQTJCLFdBQVcsU0FBUyxpQ0FBaUMsbUNBQW1DLGdCQUFnQixvQkFBb0Isc0JBQXNCLDJCQUEyQiw2QkFBNkIsNkJBQTZCLGFBQWEsMkJBQTJCLFdBQVcsU0FBUyw4QkFBOEIsb0JBQW9CLHNCQUFzQixTQUFTLE9BQU8sb0JBQW9CLHNCQUFzQixTQUFTLE9BQU8sZ0JBQWdCLDRCQUE0QixpQkFBaUIsT0FBTyxPQUFPLGlCQUFpQixPQUFPLDhCQUE4QixvQkFBb0IsT0FBTyxtQkFBbUIsTUFBTSw2Q0FBNkMsMENBQTBDLDBDQUEwQyw2QkFBNkIsMEJBQTBCLHFCQUFxQixxQkFBcUIsK0RBQStELDBCQUEwQixXQUFXLG9CQUFvQixvQkFBb0IsT0FBTyxZQUFZLDRCQUE0QixzQkFBc0IsU0FBUyw0QkFBNEIsc0JBQXNCLFNBQVMsMkJBQTJCLG9CQUFvQixvRkFBb0YsZ0JBQWdCLGdCQUFnQixTQUFTLHVDQUF1QyxnQkFBZ0IsU0FBUyxvQkFBb0IsT0FBTyxjQUFjLCtCQUErQixNQUFNLHVGQUF1Rix3Q0FBd0MsTUFBTSxnREFBZ0QsdUNBQXVDLE1BQU0sOENBQThDLHVDQUF1QyxNQUFNLDhFQUE4RSxpQ0FBaUMsTUFBTSw2RkFBNkYsc0NBQXNDLHVCQUF1Qiw2QkFBNkIscUJBQXFCLDZGQUE2Riw0QkFBNEIsMkJBQTJCLG9CQUFvQixPQUFPLCtEQUErRCxxQkFBcUIsZ0NBQWdDLE9BQU8sa0NBQWtDLG1CQUFtQix5QkFBeUIsdUJBQXVCLDBCQUEwQixPQUFPLHdCQUF3Qiw4QkFBOEIsc0JBQXNCLE9BQU8sa0JBQWtCLE1BQU0sZ0RBQWdELHNEQUFzRCxNQUFNLCtDQUErQyw2QkFBNkIsd0RBQXdELG9EQUFvRCxxQkFBcUIsZ0JBQWdCLDRCQUE0QixnQkFBZ0IsT0FBTyxPQUFPLHVCQUF1QixxQkFBcUIsU0FBUyx3REFBd0Qsb0NBQW9DLCtDQUErQyxPQUFPLCtDQUErQyxpQkFBaUIsTUFBTSx5S0FBeUssK0RBQStELDhEQUE4RCxpQ0FBaUMsK0NBQStDLGlCQUFpQixNQUFNLHlFQUF5RSxtR0FBbUcsOENBQThDLG9CQUFvQixtQ0FBbUMsUUFBUSxPQUFPLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLG9CQUFvQixtQkFBbUIsU0FBUyxrQkFBa0Isa0JBQWtCLFNBQVMsY0FBYyxPQUFPLGlCQUFpQixNQUFNLDZDQUE2QyxrQ0FBa0MsTUFBTSwyQ0FBMkMsaUNBQWlDLE1BQU0sK0NBQStDLGlDQUFpQyxNQUFNLDZDQUE2QyxnQ0FBZ0MsTUFBTSw2Q0FBNkMsbUNBQW1DLE1BQU0sMkNBQTJDLGtDQUFrQyxNQUFNLCtDQUErQyxpQ0FBaUMsTUFBTSw2Q0FBNkMsZ0NBQWdDLE1BQU0sNkNBQTZDLGtDQUFrQyxNQUFNLDJDQUEyQyxpQ0FBaUMsTUFBTSx5SkFBeUosMEJBQTBCLE1BQU0saURBQWlELGlFQUFpRSxtRUFBbUUsZ0RBQWdELE1BQU0sa0RBQWtELCtFQUErRSx3Q0FBd0MsTUFBTSx5REFBeUQscUJBQXFCLGtCQUFrQixNQUFNLHVEQUF1RCxpRUFBaUUsaUNBQWlDLE1BQU0sbURBQW1ELDZEQUE2RCxxQ0FBcUMsTUFBTSxxREFBcUQsOERBQThELHNDQUFzQyxNQUFNLG1EQUFtRCw2REFBNkQscUNBQXFDLE1BQU0scURBQXFELDhEQUE4RCxzQ0FBc0MsTUFBTSxtREFBbUQsNkRBQTZELHFDQUFxQyxNQUFNLG1EQUFtRCw2REFBNkQsbUNBQW1DLHFDQUFxQyxNQUFNLHFEQUFxRCw2REFBNkQsbUNBQW1DLHNDQUFzQyxNQUFNLGdEQUFnRCw2REFBNkQsOEJBQThCLGdDQUFnQyxNQUFNLGtEQUFrRCw4REFBOEQsOEJBQThCLGlDQUFpQyxNQUFNLDJFQUEyRSw4REFBOEQsOEJBQThCLGlDQUFpQyxNQUFNLGtEQUFrRCw4REFBOEQsOEJBQThCLGlDQUFpQyxNQUFNLHFHQUFxRyw2REFBNkQsOEJBQThCLGdDQUFnQyxNQUFNLG1EQUFtRCx3REFBd0QsOEJBQThCLHFDQUFxQyxNQUFNLGlFQUFpRSwyRUFBMkUsNkRBQTZELDZDQUE2Qyw2QkFBNkIsa0NBQWtDLHFEQUFxRCwrQkFBK0IsS0FBSyxnREFBZ0QsNkJBQTZCLG9EQUFvRCxpQkFBaUIsTUFBTSx5REFBeUQsbUlBQW1JLGVBQWUsWUFBWSxnQ0FBZ0MsMEJBQTBCLDZCQUE2Qiw2QkFBNkIsT0FBTyx1QkFBdUIsc0RBQXNELHNCQUFzQix1QkFBdUIscUJBQXFCLE9BQU8sb0JBQW9CLHVCQUF1QixPQUFPLE9BQU8sa0JBQWtCLE9BQU8saUJBQWlCLE1BQU0sNERBQTRELG1DQUFtQyxNQUFNLHFEQUFxRCw4QkFBOEIsTUFBTSx3QkFBd0IsaUlBQWlJLEtBQUssMkJBQTJCLDZEQUE2RCxvREFBb0QsK0NBQStDLHFCQUFxQixZQUFZLE9BQU8seUNBQXlDLE9BQU8sNkJBQTZCLGdDQUFnQywyQkFBMkIseUJBQXlCLGVBQWUsT0FBTywyREFBMkQsa0RBQWtELG9CQUFvQixrQkFBa0IsT0FBTyxzQ0FBc0MsbUVBQW1FLG9CQUFvQixPQUFPLG1CQUFtQixpQ0FBaUMsNENBQTRDLDJCQUEyQixPQUFPLE9BQU8sMEJBQTBCLE9BQU8sTUFBTSxtREFBbUQsMEVBQTBFLG9DQUFvQyxzQkFBc0IsOEVBQThFLHFCQUFxQixnQkFBZ0IsT0FBTyxpQ0FBaUMsd0JBQXdCLHNDQUFzQywrQ0FBK0MsT0FBTyw0RUFBNEUscUJBQXFCLDhDQUE4Qyx1QkFBdUIsU0FBUyxPQUFPLGlCQUFpQixNQUFNLHdCQUF3Qix3SEFBd0gsS0FBSywyQkFBMkIsd0JBQXdCLCtHQUErRyxLQUFLLDJCQUEyQiwwQkFBMEIsbUpBQW1KLEtBQUssNkJBQTZCLHFEQUFxRCxxQ0FBcUMscUJBQXFCLGdCQUFnQixPQUFPLG1EQUFtRCxnQ0FBZ0MsbUJBQW1CLDRCQUE0QixtQkFBbUIsT0FBTyx3QkFBd0Isd0NBQXdDLE9BQU8saUJBQWlCLE1BQU0sNEdBQTRHLDRFQUE0RSxrQkFBa0IsNEJBQTRCLDJCQUEyQixPQUFPLDRCQUE0QiwyQkFBMkIsT0FBTyw0QkFBNEIsMkJBQTJCLE9BQU8sOEJBQThCLDZCQUE2QixPQUFPLE9BQU8saURBQWlELE9BQU8sMkJBQTJCLHFCQUFxQixNQUFNLGdFQUFnRSxrQ0FBa0MsaUNBQWlDLHlCQUF5QiwyQkFBMkIsT0FBTyxPQUFPLDJEQUEyRCxtQkFBbUIsMEJBQTBCLE9BQU8sS0FBSyxzREFBc0QsZ0VBQWdFLHVEQUF1RCxNQUFNLHlEQUF5RCwrRUFBK0UsaUZBQWlGLE1BQU0sOENBQThDLG1FQUFtRSw0Q0FBNEMsTUFBTSw0Q0FBNEMsdUJBQXVCLHlCQUF5QixPQUFPLDZDQUE2QyxNQUFNLCtDQUErQywwQkFBMEIsMkJBQTJCLGlDQUFpQyx5QkFBeUIsT0FBTyxpQ0FBaUMsTUFBTSxpREFBaUQsMEJBQTBCLDRCQUE0QixpQ0FBaUMseUJBQXlCLE9BQU8saUJBQWlCLE1BQU0sK0NBQStDLDBCQUEwQiwyQkFBMkIsNEJBQTRCLHlCQUF5QixPQUFPLGlDQUFpQyxNQUFNLGlEQUFpRCwwQkFBMEIsNEJBQTRCLDRCQUE0Qix5QkFBeUIsT0FBTyxpQkFBaUIsTUFBTSxpREFBaUQsdUJBQXVCLHFDQUFxQyxNQUFNLGlEQUFpRCwwQkFBMEIsa0NBQWtDLE1BQU0sK0NBQStDLDBCQUEwQixpQ0FBaUMsTUFBTSw4Q0FBOEMscUNBQXFDLE1BQU0sNENBQTRDLDRCQUE0QixNQUFNLDhDQUE4Qyx1Q0FBdUMsbUNBQW1DLDZCQUE2QiwyQ0FBMkMsa0RBQWtELGdDQUFnQyxPQUFPLHNKQUFzSixnQkFBZ0IsK0NBQStDLFlBQVksb0JBQW9CLE9BQU8sMEJBQTBCLHdDQUF3Qyw4QkFBOEIsb0pBQW9KLGlDQUFpQyx3Q0FBd0MsbURBQW1ELHdCQUF3QixPQUFPLCtCQUErQiwrQ0FBK0MsNkJBQTZCLGdCQUFnQixnQ0FBZ0Msb0JBQW9CLHVCQUF1QixvQkFBb0IsT0FBTyw2QkFBNkIsU0FBUyxzQkFBc0IseURBQXlELDBCQUEwQix1QkFBdUIsd0JBQXdCLGNBQWMsT0FBTyxpQkFBaUIsTUFBTSw4Q0FBOEMsaUNBQWlDLCtCQUErQix5QkFBeUIsdUNBQXVDLE9BQU8sT0FBTyw4QkFBOEIsT0FBTyxNQUFNLGlEQUFpRCxxREFBcUQsOENBQThDLDJCQUEyQiwyQ0FBMkMscUNBQXFDLGlCQUFpQixxQkFBcUIsZ0JBQWdCLE9BQU8seUNBQXlDLE9BQU8seUJBQXlCLHNCQUFzQix5QkFBeUIsdUNBQXVDLHdCQUF3QixtQkFBbUIsT0FBTyxnQ0FBZ0MsUUFBUSxPQUFPLGdDQUFnQywrQkFBK0IsUUFBUSxPQUFPLG9DQUFvQywrQkFBK0IsZ0NBQWdDLFdBQVcsNkNBQTZDLDJCQUEyQixxQkFBcUIsV0FBVywwQkFBMEIseUJBQXlCLHVCQUF1QiwwRUFBMEUsOENBQThDLHlCQUF5QixzQkFBc0IsU0FBUyxtQkFBbUIsT0FBTyxtQkFBbUIsTUFBTSwwREFBMEQsK0JBQStCLHlDQUF5QyxNQUFNLDhEQUE4RCw0QkFBNEIscUJBQXFCLGlCQUFpQixNQUFNLGtGQUFrRiwyQkFBMkIsTUFBTSx5QkFBeUIsd0JBQXdCLHdDQUF3QyxrQ0FBa0MsNkNBQTZDLE9BQU8sOENBQThDLHdDQUF3Qyx3Q0FBd0MsK0RBQStELHlDQUF5Qyx3Q0FBd0MsS0FBSyx3QkFBd0IsMkRBQTJELDhDQUE4QyxNQUFNLCtEQUErRCw0Q0FBNEMsbUJBQW1CLGVBQWUsTUFBTSxrREFBa0QscUNBQXFDLHVCQUF1QixxQkFBcUIsaUJBQWlCLE9BQU8sMEJBQTBCLGdGQUFnRiwyQ0FBMkMsa0JBQWtCLGlDQUFpQyw2QkFBNkIsT0FBTywwQkFBMEIsNkJBQTZCLE9BQU8sbUNBQW1DLE1BQU0sZ0RBQWdELHFFQUFxRSx5QkFBeUIsZ0ZBQWdGLDJDQUEyQyxrQkFBa0IsK0JBQStCLDZCQUE2QixPQUFPLDBCQUEwQiw2QkFBNkIsT0FBTyxtQ0FBbUMsTUFBTSwrQ0FBK0MsZ0hBQWdILGlDQUFpQyxNQUFNLEdBQUcsMEJBQTBCLGdDQUFnQyx5TUFBeU0sY0FBYzs7QUFFcnl4RixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw0TUFBNE0sY0FBYzs7QUFFMU4sT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDLGlDQUFpQywrR0FBK0cscUJBQXFCLHFIQUFxSCxrQ0FBa0MsK0dBQStHLHFCQUFxQixxSEFBcUgsa0NBQWtDLCtHQUErRyxxQkFBcUIscUhBQXFILGtDQUFrQywrR0FBK0cscUJBQXFCLHFIQUFxSCxtQkFBbUIscUdBQXFHLDBCQUEwQix5RUFBeUUsaUJBQWlCLDJFQUEyRSxpQkFBaUIsMkVBQTJFLGlCQUFpQiwyRUFBMkUsaUJBQWlCLDJFQUEyRSxrQkFBa0IsdUVBQXVFLG1CQUFtQix1RUFBdUUsY0FBYyx1RUFBdUUsMEJBQTBCLHlFQUF5RSxxQkFBcUIseUVBQXlFLDBCQUEwQix5RUFBeUUscUJBQXFCLHlFQUF5RSwwQkFBMEIseUVBQXlFLHFCQUFxQix5RUFBeUUsMEJBQTBCLHlFQUF5RSxxQkFBcUIseUVBQXlFLHdCQUF3Qix5RUFBeUUsMkJBQTJCLHVHQUF1Ryx3QkFBd0IsdUdBQXVHLCtCQUErQiwwR0FBMEcsa0JBQWtCLDJHQUEyRyxJQUFJLG1FQUFtRSxjQUFjOztBQUVwNkcsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDLCtOQUErTixJQUFJLG1FQUFtRSxjQUFjOztBQUV6VixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwreUJBQSt5QixxSEFBcUgsZ0NBQWdDLDBQQUEwUCw4RkFBOEYsd0NBQXdDLHlEQUF5RCw4R0FBOEcsMERBQTBELHFLQUFxSyxpQ0FBaUMsNE5BQTROLGtHQUFrRyx3Q0FBd0MsMkRBQTJELDhHQUE4RyxxRUFBcUUsNktBQTZLLHFDQUFxQyxpQ0FBaUMsdUNBQXVDLG1DQUFtQyxzQkFBc0IsMEdBQTBHLHFFQUFxRSxjQUFjOztBQUUvMEYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaXpCQUFpekIsa0RBQWtELHNNQUFzTSxnQ0FBZ0Msc0hBQXNILE9BQU8sd0dBQXdHLDJSQUEyUixrQ0FBa0MsZ1JBQWdSLHlDQUF5Qyw0UEFBNFAscUlBQXFJLDZDQUE2QyxLQUFLLHlCQUF5QiwyQkFBMkIsbVNBQW1TLHdDQUF3QyxvRUFBb0UsaUdBQWlHLDZhQUE2YSxhQUFhLEdBQUcsa0NBQWtDLHFJQUFxSSxvQ0FBb0MsaUlBQWlJLHVHQUF1RyxpQkFBaUIsb0NBQW9DLDRCQUE0Qix1RUFBdUUsc0dBQXNHLDBLQUEwSyx5Q0FBeUMsaUNBQWlDLDREQUE0RCxnS0FBZ0ssY0FBYzs7QUFFdjhJLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHltQkFBeW1CLHdEQUF3RCwyTUFBMk0sK0JBQStCLGlIQUFpSCxPQUFPLHVHQUF1Ryw4SkFBOEosdUNBQXVDLCtEQUErRCw0QkFBNEIsK1hBQStYLHdDQUF3QyxvUkFBb1IseUNBQXlDLCtkQUErZCxnQ0FBZ0MsOEdBQThHLGdHQUFnRyxjQUFjOztBQUV6MEYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5REFBeUQsMERBQTBELDJDQUEyQyxpQ0FBaUMsRUFBRSxtQkFBbUIsbURBQW1ELGdCQUFnQixtQkFBbUIsS0FBSyw2Q0FBNkMsd0NBQXdDLHVCQUF1QixPQUFPLE9BQU8seUNBQXlDLE9BQU8sS0FBSyw0REFBNEQsdUNBQXVDLDhDQUE4QyxzRUFBc0UsT0FBTyx5QkFBeUIsS0FBSyxPQUFPLDJDQUEyQyxvQ0FBb0MsNEJBQTRCLEdBQUcsNkdBQTZHLGtDQUFrQyxnQ0FBZ0MsNENBQTRDLHlCQUF5QixPQUFPLEVBQUUsc0JBQXNCLDZIQUE2SCxPQUFPLHNCQUFzQixrR0FBa0csT0FBTyxPQUFPLGdFQUFnRSxPQUFPLEtBQUssT0FBTyxtRUFBbUUsS0FBSyxHQUFHLG1KQUFtSiw0RUFBNEUsR0FBRyxvSkFBb0osMERBQTBELDRCQUE0QixLQUFLLDBFQUEwRSxHQUFHLGlKQUFpSixvQ0FBb0MsZ0JBQWdCLEtBQUssK0NBQStDLG1CQUFtQixLQUFLLE9BQU8sK0NBQStDLEtBQUssR0FBRyxxRUFBcUUsZ0ZBQWdGLEdBQUcsYUFBYSw2RUFBNkUsZ0VBQWdFLHlFQUF5RSxpQ0FBaUMsK0NBQStDLEtBQUssT0FBTyw2QkFBNkIsS0FBSyxjQUFjLHdDQUF3QywySUFBMkksS0FBSyxPQUFPLCtEQUErRCwrSEFBK0gsS0FBSyx3REFBd0QsZUFBZSxHQUFHLGFBQWEsMEVBQTBFLGlFQUFpRSx3REFBd0QsR0FBRyxFQUFFLG1FQUFtRSwyREFBMkQsbUVBQW1FLEdBQUcsRUFBRSw2RUFBNkUseUVBQXlFLG1FQUFtRSw4RkFBOEYsMERBQTBELHNDQUFzQyxHQUFHLGFBQWEsNEZBQTRGLCtCQUErQixxRUFBcUUsY0FBYzs7QUFFMTFJLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscURBQXFELDg2Q0FBODZDLGtCQUFrQiw0QkFBNEIscUJBQXFCLEtBQUssa0JBQWtCLElBQUksa0RBQWtELDBKQUEwSiwwSkFBMEosMkdBQTJHLEtBQUssc0ZBQXNGLHFCQUFxQixpQkFBaUIsT0FBTywyQkFBMkIsMkZBQTJGLEtBQUssR0FBRyw4QkFBOEIsOERBQThELGlDQUFpQyxpQ0FBaUMsOEJBQThCLG9CQUFvQiw0REFBNEQsNERBQTRELDhDQUE4QyxtQ0FBbUMsZ0NBQWdDLE9BQU8sS0FBSyxHQUFHLHNFQUFzRSx3TEFBd0wsK0NBQStDLEtBQUssR0FBRyxFQUFFLDZEQUE2RCx3TEFBd0wsb0VBQW9FLEtBQUssR0FBRyxFQUFFLDZEQUE2RCx3TEFBd0wsd0NBQXdDLEtBQUssR0FBRyxFQUFFLG1EQUFtRCwyRkFBMkYsMEhBQTBILEdBQUcsNEJBQTRCLGVBQWUsR0FBRywwREFBMEQsd0xBQXdMLG1GQUFtRixxQkFBcUIsT0FBTyw4RUFBOEUsS0FBSywrQkFBK0Isa0tBQWtLLGVBQWUsT0FBTyw2SEFBNkgsNENBQTRDLEtBQUssR0FBRyxFQUFFLDhCQUE4QixtTEFBbUwsY0FBYzs7QUFFdjlKLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK3lDQUEreUMsNkpBQTZKLGlIQUFpSCxtQ0FBbUMsd0VBQXdFLGtDQUFrQyxHQUFHLHVFQUF1RSxvQkFBb0IsSUFBSSxtRUFBbUUsY0FBYzs7QUFFNzNELE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkRBQTZELG1xQ0FBbXFDLGtDQUFrQywrREFBK0Qsb0hBQW9ILG1FQUFtRSwwQ0FBMEMsSUFBSSx5TkFBeU4sb0hBQW9ILDREQUE0RCx5Q0FBeUMsOEJBQThCLEdBQUcsaUNBQWlDLGdFQUFnRSxHQUFHLDRFQUE0RSxjQUFjLDBDQUEwQyx5Q0FBeUMsR0FBRyxPQUFPLGdDQUFnQyxHQUFHLDBNQUEwTSw2S0FBNksseU5BQXlOLDZjQUE2YywyRUFBMkUsd0NBQXdDLFdBQVcsMkdBQTJHLG9EQUFvRCxzRUFBc0Usa0RBQWtELG9OQUFvTixzWUFBc1ksbUZBQW1GLDJEQUEyRCxHQUFHLHVEQUF1RCwwSkFBMEosNEJBQTRCLGlZQUFpWSxxS0FBcUssb0ZBQW9GLDZPQUE2Tyw0TUFBNE0sb0JBQW9CLHNCQUFzQix3QkFBd0Isd0JBQXdCLHVCQUF1Qiw0QkFBNEIseUJBQXlCLHVTQUF1Uyw2SUFBNkksaUNBQWlDLG1DQUFtQyxpQ0FBaUMsdUJBQXVCLDRHQUE0RyxxSEFBcUgsc0RBQXNELGtRQUFrUSwrRkFBK0YsOEVBQThFLHdCQUF3Qix5QkFBeUIsNkJBQTZCLDRKQUE0Six5REFBeUQsdUNBQXVDLEtBQUssR0FBRyxnQ0FBZ0MsMEpBQTBKLGtFQUFrRSxnTEFBZ0wscUVBQXFFLHFDQUFxQyxvQkFBb0Isd0VBQXdFLGlGQUFpRixLQUFLLHdCQUF3QixHQUFHLDREQUE0RCx3TEFBd0wsOENBQThDLHFCQUFxQixPQUFPLDZDQUE2QyxLQUFLLCtCQUErQixnSEFBZ0gsZUFBZSxPQUFPLDZIQUE2SCxLQUFLLEdBQUcsRUFBRSxtREFBbUQsd0RBQXdELHNEQUFzRCxZQUFZLElBQUksdVFBQXVRLG9DQUFvQyx1QkFBdUIsOEJBQThCLHNDQUFzQyxxREFBcUQsNENBQTRDLCtDQUErQyx3QkFBd0IsU0FBUyxnQ0FBZ0MsT0FBTyxLQUFLLE9BQU8sNEJBQTRCLEtBQUssNEVBQTRFLElBQUksb0hBQW9ILDREQUE0RCxJQUFJLG9GQUFvRixxQ0FBcUMsc0NBQXNDLDJCQUEyQiw0QkFBNEIsZ0NBQWdDLEtBQUssT0FBTyxhQUFhLDJEQUEyRCxpQkFBaUIsbUNBQW1DLE9BQU8sMERBQTBELGtIQUFrSCw2Q0FBNkMsU0FBUywyQkFBMkIsaUdBQWlHLDBDQUEwQyxTQUFTLHdCQUF3QixrRUFBa0UsU0FBUyw0QkFBNEIsdUJBQXVCLFNBQVMsT0FBTyxnQ0FBZ0MsNkNBQTZDLCtDQUErQyw4RkFBOEYsa0NBQWtDLFdBQVcsT0FBTyxrREFBa0QsV0FBVyxTQUFTLE9BQU8sd0JBQXdCLDhCQUE4QixxQ0FBcUMsT0FBTyxLQUFLLDBSQUEwUixHQUFHLHlEQUF5RCw2REFBNkQsMkJBQTJCLGlDQUFpQyxLQUFLLE9BQU8sMEZBQTBGLGtEQUFrRCw4QkFBOEIsbURBQW1ELEtBQUssbUNBQW1DLEdBQUcseUNBQXlDLFdBQVcsMkdBQTJHLHdGQUF3RixLQUFLLGdCQUFnQixHQUFHLCtDQUErQyxpREFBaUQsSUFBSSxtRkFBbUYsMEpBQTBKLHlDQUF5QywwQ0FBMEMsZ0lBQWdJLGdIQUFnSCxxQkFBcUIsMEJBQTBCLHVDQUF1QyxpQkFBaUIsS0FBSyx5Q0FBeUMsbUVBQW1FLGdEQUFnRCxnQkFBZ0IsSUFBSSw0REFBNEQseUNBQXlDLHVCQUF1QixxRUFBcUUsS0FBSyxPQUFPLGdIQUFnSCxtQkFBbUIsbUJBQW1CLG1CQUFtQixtQkFBbUIsb0JBQW9CLFVBQVUsS0FBSyxlQUFlLEdBQUcsd0pBQXdKLDhEQUE4RCxtQ0FBbUMsb0JBQW9CLHFIQUFxSCx5QkFBeUIsS0FBSyw0SkFBNEosb0NBQW9DLDhDQUE4QyxnQ0FBZ0MsZUFBZSxLQUFLLDBCQUEwQixHQUFHLG1IQUFtSCxxQkFBcUIsd0JBQXdCLG9DQUFvQyxrQkFBa0IsK0NBQStDLDZUQUE2VCw2REFBNkQsK0RBQStELHdCQUF3QixrQkFBa0IsS0FBSyxrQ0FBa0MsOEZBQThGLGdEQUFnRCxrQkFBa0IsS0FBSyx5b0NBQXlvQyxtQ0FBbUMsa0pBQWtKLG9CQUFvQixrREFBa0QsS0FBSyx5SkFBeUoscUJBQXFCLHdDQUF3QyxLQUFLLG1CQUFtQix1QkFBdUIsMkJBQTJCLHdCQUF3QiwrSEFBK0gscUVBQXFFLDJCQUEyQiw2TUFBNk0sS0FBSyxjQUFjLHdDQUF3QyxnQkFBZ0IseUJBQXlCLCtEQUErRCxZQUFZLEtBQUssT0FBTyx3QkFBd0IsMkJBQTJCLEtBQUssK0JBQStCLDJLQUEySyxpSUFBaUksS0FBSywrQ0FBK0MsZUFBZSxJQUFJLHdDQUF3Qyx3QkFBd0IsNEJBQTRCLDBCQUEwQixzQ0FBc0Msb0NBQW9DLGlDQUFpQyw0REFBNEQsT0FBTyxLQUFLLHlCQUF5Qix1QkFBdUIsd01BQXdNLEtBQUssT0FBTyw2RkFBNkYscUNBQXFDLHFDQUFxQyw4QkFBOEIsT0FBTyxLQUFLLEdBQUcsOE9BQThPLHNDQUFzQyxxRUFBcUUsK0JBQStCLG1DQUFtQywyQ0FBMkMsbUNBQW1DLDhDQUE4QyxLQUFLLEdBQUcsb0NBQW9DLHNDQUFzQyx1RUFBdUUsOERBQThELDhCQUE4QixvQ0FBb0MsS0FBSyx3VkFBd1YsaUJBQWlCLEdBQUcsNllBQTZZLDZCQUE2QiwrQkFBK0Isc0RBQXNELEtBQUssR0FBRyw0Q0FBNEMsK2dEQUErZ0QsNkJBQTZCLG9DQUFvQyxxQkFBcUIsb0ZBQW9GLEtBQUssZ0NBQWdDLEdBQUcsc1NBQXNTLG9FQUFvRSxJQUFJLHlEQUF5RCxtQkFBbUIsb0NBQW9DLGlDQUFpQyx3Q0FBd0MsY0FBYyx5REFBeUQsY0FBYywrQ0FBK0MsY0FBYyxLQUFLLDRCQUE0QiwrREFBK0QsNEdBQTRHLHVDQUF1QyxrREFBa0QsNEJBQTRCLGdDQUFnQywrQ0FBK0Msd0JBQXdCLCtCQUErQiw0REFBNEQsdUNBQXVDLG9CQUFvQixTQUFTLE9BQU8sS0FBSyx3QkFBd0IscUJBQXFCLGlCQUFpQixLQUFLLGlQQUFpUCw4QkFBOEIsMEJBQTBCLDBCQUEwQix1QkFBdUIsZ0dBQWdHLDhDQUE4Qyw0Q0FBNEMsNENBQTRDLDhDQUE4Qyx1Q0FBdUMsd0NBQXdDLHlDQUF5Qyx1QkFBdUIsdVhBQXVYLEtBQUssNkJBQTZCLDhCQUE4QixzQkFBc0Isa0NBQWtDLCtCQUErQiw0QkFBNEIsaVhBQWlYLGlFQUFpRSw2QkFBNkIsU0FBUyxzQkFBc0IsT0FBTyxLQUFLLG1KQUFtSiwyQkFBMkIsZUFBZSw0Q0FBNEMseUVBQXlFLEtBQUssaUhBQWlILHlGQUF5Riw4Q0FBOEMsZUFBZSxLQUFLLGtDQUFrQywyQkFBMkIsd0JBQXdCLDRDQUE0QyxlQUFlLEtBQUssb0NBQW9DLHlCQUF5QixzQkFBc0IsdUJBQXVCLEtBQUsseUVBQXlFLGdGQUFnRiwyQkFBMkIsbUJBQW1CLEtBQUssa0JBQWtCLElBQUksK0JBQStCLGlEQUFpRCxxQ0FBcUMsNkNBQTZDLCtDQUErQyxxRUFBcUUsNkJBQTZCLGtCQUFrQixPQUFPLE1BQU0sR0FBRyxpREFBaUQsb0NBQW9DLHNCQUFzQiw2QkFBNkIsZ0dBQWdHLCtFQUErRSx1R0FBdUcsb0NBQW9DLDJDQUEyQywyQkFBMkIsNEJBQTRCLHNEQUFzRCxrQkFBa0IsS0FBSyw4REFBOEQsa0RBQWtELGlDQUFpQyx5QkFBeUIsMkJBQTJCLDRCQUE0Qix1QkFBdUIsU0FBUyxPQUFPLHVDQUF1QyxvQ0FBb0MsRUFBRSxPQUFPLG9CQUFvQixLQUFLLDZFQUE2RSxrQ0FBa0MsaUNBQWlDLDBCQUEwQiw2REFBNkQsMENBQTBDLGdCQUFnQixJQUFJLG9KQUFvSixxREFBcUQsb0NBQW9DLDBCQUEwQiwwTUFBME0sdUhBQXVILEtBQUssOEJBQThCLDBEQUEwRCw0REFBNEQsOEJBQThCLHNDQUFzQywwREFBMEQsNkJBQTZCLDZCQUE2QixTQUFTLDJCQUEyQixtREFBbUQsU0FBUyxPQUFPLEtBQUssaUJBQWlCLElBQUksMkRBQTJELDJEQUEyRCxpRUFBaUUsOEJBQThCLG9ZQUFvWSxLQUFLLGlCQUFpQixJQUFJLDJEQUEyRCx5RUFBeUUsa0RBQWtELG9ZQUFvWSxLQUFLLGlCQUFpQixJQUFJLDRDQUE0QyxvQ0FBb0MsaUVBQWlFLG1EQUFtRCw2SEFBNkgsK0NBQStDLDJDQUEyQyxvQkFBb0IsS0FBSyxHQUFHLHFDQUFxQyxzQ0FBc0MsaUJBQWlCLEdBQUcsNEtBQTRLLG9DQUFvQywyQkFBMkIsc0JBQXNCLCtKQUErSiwwQkFBMEIsS0FBSywyQkFBMkIsZ0JBQWdCLElBQUksb0NBQW9DLGlDQUFpQyxtQ0FBbUMsK0NBQStDLEtBQUssR0FBRyxxQ0FBcUMsbUNBQW1DLDJCQUEyQixxQkFBcUIsS0FBSyxvQ0FBb0MsMEJBQTBCLGlCQUFpQix3REFBd0QsR0FBRyw0Q0FBNEMsZ0VBQWdFLGtEQUFrRCxxQkFBcUIsMENBQTBDLHlCQUF5QixLQUFLLHdDQUF3QyxnQkFBZ0IsSUFBSSwyQkFBMkIsc0NBQXNDLGlDQUFpQyx1REFBdUQsT0FBTyxLQUFLLEdBQUcsaU5BQWlOLHFCQUFxQixzQ0FBc0MsdUJBQXVCLGtDQUFrQywyQkFBMkIsNENBQTRDLHdDQUF3QyxxREFBcUQsT0FBTyx5QkFBeUIsS0FBSyxFQUFFLHdDQUF3Qyw0QkFBNEIsNERBQTRELDhIQUE4SCxnRUFBZ0Usb0NBQW9DLG1CQUFtQixzQkFBc0IsdUJBQXVCLE9BQU8sS0FBSyxFQUFFLGlIQUFpSCxxRUFBcUUsK0NBQStDLHNEQUFzRCwyREFBMkQsWUFBWSxTQUFTLElBQUksT0FBTyxLQUFLLDBEQUEwRCx5QkFBeUIsT0FBTyx3RUFBd0UsS0FBSywwSEFBMEgsZ0NBQWdDLHFCQUFxQix1QkFBdUIsd0JBQXdCLE9BQU8sTUFBTSxrQkFBa0IsSUFBSSx1Q0FBdUMsNERBQTRELDREQUE0RCxpTkFBaU4sT0FBTyx1REFBdUQsTUFBTSxHQUFHLHdFQUF3RSx3TEFBd0wsK0NBQStDLEtBQUssR0FBRyxFQUFFLCtEQUErRCx3TEFBd0wsK0RBQStELEtBQUssR0FBRyxFQUFFLGdFQUFnRSx3TEFBd0wseUNBQXlDLEtBQUssK0JBQStCLGdDQUFnQyw0Q0FBNEMsT0FBTyxLQUFLLEdBQUcsRUFBRSx3RUFBd0UsK0RBQStELHdMQUF3TCx3Q0FBd0MsS0FBSyxHQUFHLEVBQUUsb1FBQW9RLCtEQUErRCxZQUFZLHFEQUFxRCxtQ0FBbUMsNEZBQTRGLCtEQUErRCw2Q0FBNkMsMkJBQTJCLEtBQUssT0FBTyw2RUFBNkUsS0FBSyxlQUFlLEdBQUcsa0NBQWtDLHNDQUFzQywyQ0FBMkMsOEJBQThCLHlCQUF5QixxREFBcUQsS0FBSyxHQUFHLDJDQUEyQywyREFBMkQsa0dBQWtHLDhCQUE4Qiw4QkFBOEIseUJBQXlCLGdDQUFnQyx1S0FBdUssaUVBQWlFLDJCQUEyQixTQUFTLE9BQU8sS0FBSyxHQUFHLHVDQUF1QywrQ0FBK0MsK0JBQStCLHdLQUF3SyxPQUFPLDhDQUE4QyxNQUFNLEdBQUcsNkJBQTZCLGtDQUFrQyxPQUFPLE9BQU8sZ0NBQWdDLEtBQUssZ0JBQWdCLEdBQUcsOEJBQThCLHFTQUFxUyxjQUFjOztBQUU3NnJDLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsKzVGQUErNUYsWUFBWSxzbEJBQXNsQixtZEFBbWQsb0pBQW9KLDRHQUE0Ryx1Q0FBdUMsa0NBQWtDLDRCQUE0Qix3QkFBd0Isd0JBQXdCLDZEQUE2RCxLQUFLLDJCQUEyQixzQkFBc0Isa0dBQWtHLFdBQVcsaUNBQWlDLHVCQUF1Qiw0REFBNEQsbUNBQW1DLEtBQUssR0FBRyxpQ0FBaUMsb0VBQW9FLCtCQUErQiw0QkFBNEIsK0tBQStLLGlIQUFpSCxxTUFBcU0sb0JBQW9CLHVGQUF1RiwyRUFBMkUsS0FBSywrR0FBK0csR0FBRywwQkFBMEIscUJBQXFCLGdGQUFnRix1Q0FBdUMsOEJBQThCLE9BQU8sRUFBRSxLQUFLLE9BQU8sNkJBQTZCLEtBQUssR0FBRywyREFBMkQsK0NBQStDLDZEQUE2RCxJQUFJLCtnQkFBK2dCLHVEQUF1RCxJQUFJLGlFQUFpRSxrQ0FBa0Msb0JBQW9CLDBCQUEwQixnQ0FBZ0MsNkJBQTZCLG1DQUFtQyw0R0FBNEcsS0FBSyxJQUFJLCtMQUErTCxrQ0FBa0MsdURBQXVELDZCQUE2Qiw0RUFBNEUsS0FBSyxPQUFPLDZKQUE2SixLQUFLLElBQUksdURBQXVELCtEQUErRCxlQUFlLEtBQUssRUFBRSxJQUFJLHFDQUFxQyw0Q0FBNEMsb0dBQW9HLHNQQUFzUCw0RkFBNEYsNkJBQTZCLEdBQUcsbUVBQW1FLGNBQWM7O0FBRTl5USxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZEQUE2RCxrMENBQWswQyxpRUFBaUUsdUJBQXVCLDZCQUE2Qix1QkFBdUIscUJBQXFCLEdBQUcsK0hBQStILHFCQUFxQix1QkFBdUIsc0JBQXNCLGlDQUFpQyxtQ0FBbUMsTUFBTSxHQUFHLDREQUE0RCwrREFBK0QsMkNBQTJDLDBHQUEwRyx1TkFBdU4sb0hBQW9ILDREQUE0RCx5Q0FBeUMsOEJBQThCLEdBQUcsaUNBQWlDLGdFQUFnRSxHQUFHLDZLQUE2Syx5TkFBeU4saXNCQUFpc0Isb0RBQW9ELDJHQUEyRyxxQkFBcUIsdURBQXVELDBKQUEwSiw0QkFBNEIsNlhBQTZYLDZJQUE2SSxvRkFBb0Ysc1JBQXNSLDREQUE0RCxrREFBa0QsMkRBQTJELHFFQUFxRSx3REFBd0Qsc0RBQXNELCtOQUErTixtQ0FBbUMsa1FBQWtRLHlLQUF5SyxpRkFBaUYsb0ZBQW9GLDBSQUEwUixvT0FBb08sc0ZBQXNGLDBCQUEwQixNQUFNLCtGQUErRixtRkFBbUYsZ0NBQWdDLG9DQUFvQyxnSUFBZ0ksNEpBQTRKLHdHQUF3Ryw0R0FBNEcscUhBQXFILCtEQUErRCw4S0FBOEssR0FBRyw4REFBOEQsdUNBQXVDLGlCQUFpQix1QkFBdUIsd0JBQXdCLDZCQUE2QixLQUFLLGlCQUFpQixJQUFJLGtCQUFrQixTQUFTLGdFQUFnRSwwRUFBMEUsa0NBQWtDLFNBQVMsc0dBQXNHLEVBQUUsS0FBSyxhQUFhLEdBQUcsSUFBSSxtSkFBbUosNkhBQTZILDZEQUE2RCx5REFBeUQscUNBQXFDLDREQUE0RCw0Q0FBNEMsd0VBQXdFLE9BQU8sS0FBSyxFQUFFLEdBQUcsT0FBTyx3REFBd0Qsb0NBQW9DLE1BQU0sR0FBRyxnQ0FBZ0MsMEpBQTBKLDZrQkFBNmtCLHlGQUF5RixxRUFBcUUsc0NBQXNDLG9CQUFvQiwyRUFBMkUsOEVBQThFLGlGQUFpRiwyRUFBMkUsS0FBSyx3QkFBd0IsR0FBRyxpSEFBaUgsdURBQXVELElBQUksd0NBQXdDLDhDQUE4QyxzR0FBc0csNkJBQTZCLEdBQUcscVJBQXFSLFdBQVcsMkJBQTJCLHdDQUF3QyxLQUFLLDJEQUEyRCwwRUFBMEUsS0FBSyxlQUFlLGlDQUFpQywrQkFBK0IsbUJBQW1CLEtBQUssa0JBQWtCLEdBQUcsK0RBQStELG9DQUFvQyxvQkFBb0IsNERBQTRELDZDQUE2Qyx5Q0FBeUMsS0FBSywyQ0FBMkMsb0JBQW9CLHNCQUFzQixLQUFLLHFDQUFxQyxxREFBcUQsMkNBQTJDLDhDQUE4Qyx1REFBdUQsd0JBQXdCLG1FQUFtRSxLQUFLLGVBQWUsSUFBSSwyQ0FBMkMsaUNBQWlDLElBQUksNkNBQTZDLG9DQUFvQyx5QkFBeUIscUJBQXFCLHdIQUF3SCxLQUFLLElBQUksbUZBQW1GLHlIQUF5SCxzTUFBc00sbURBQW1ELGdCQUFnQixJQUFJLGlFQUFpRSx3TEFBd0wsb0VBQW9FLEtBQUssR0FBRyxFQUFFLGtEQUFrRCwwRkFBMEYsMkNBQTJDLEtBQUssbUJBQW1CLEdBQUcsd0VBQXdFLHdMQUF3TCwrQ0FBK0MsS0FBSyxHQUFHLEVBQUUsb1FBQW9RLGlCQUFpQix5REFBeUQsaUNBQWlDLHFCQUFxQiw0QkFBNEIseUJBQXlCLE9BQU8sS0FBSyxvREFBb0Qsd0JBQXdCLGlEQUFpRCw2R0FBNkcsMENBQTBDLDJDQUEyQyxtQ0FBbUMsb0hBQW9ILG1CQUFtQiw4Q0FBOEMsT0FBTyxPQUFPLDBEQUEwRCxPQUFPLHdDQUF3QyxLQUFLLE9BQU8sOERBQThELEtBQUssaUJBQWlCLEdBQUcsdUVBQXVFLHlCQUF5Qix1QkFBdUIseUJBQXlCLHNCQUFzQiwwRUFBMEUsc0RBQXNELG1EQUFtRCx1QkFBdUIsR0FBRyx3REFBd0Qsc0JBQXNCLGlCQUFpQiw4SUFBOEksNEhBQTRILGdEQUFnRCxpQ0FBaUMsS0FBSyxPQUFPLG9GQUFvRixnREFBZ0QsaUNBQWlDLHdHQUF3RyxLQUFLLEdBQUcsd0NBQXdDLDBCQUEwQix5QkFBeUIsbUNBQW1DLHVCQUF1QixHQUFHLGtDQUFrQyxzQ0FBc0MsMEJBQTBCLDJCQUEyQixvRUFBb0UsOEJBQThCLHNEQUFzRCxNQUFNLCtIQUErSCw2RkFBNkYsbUNBQW1DLE9BQU8sbUJBQW1CLGtFQUFrRSxPQUFPLE9BQU8sZ0RBQWdELE9BQU8sS0FBSyxHQUFHLHNEQUFzRCwrQ0FBK0Msc0JBQXNCLFNBQVMsK0JBQStCLEdBQUcsNk9BQTZPLGdEQUFnRCw4QkFBOEIsMkJBQTJCLEtBQUssR0FBRywwR0FBMEcsa0NBQWtDLHNDQUFzQyxrREFBa0QsNkZBQTZGLGdDQUFnQyw0Q0FBNEMsMkJBQTJCLG9CQUFvQiw0QkFBNEIsdUJBQXVCLDhCQUE4Qiw2Q0FBNkMsMkJBQTJCLG1CQUFtQixPQUFPLHVDQUF1Qyw0RUFBNEUseUlBQXlJLHVDQUF1QywwQkFBMEIsK0NBQStDLDJCQUEyQixPQUFPLE9BQU8sNERBQTRELE9BQU8sdUNBQXVDLEtBQUssT0FBTyxnRUFBZ0UsZ0NBQWdDLHNDQUFzQyxnQ0FBZ0Msc0RBQXNELGdFQUFnRSwyQkFBMkIscUNBQXFDLHdRQUF3USxnQkFBZ0IsU0FBUyxPQUFPLDZEQUE2RCxLQUFLLG9DQUFvQyxtQ0FBbUMsR0FBRyxnRUFBZ0UsbURBQW1ELElBQUksc0NBQXNDLDZEQUE2RCxvQ0FBb0Msd0NBQXdDLGlCQUFpQixtQkFBbUIsc0JBQXNCLEtBQUssMkNBQTJDLG9CQUFvQixzQkFBc0IsS0FBSyw2RUFBNkUsaURBQWlELHVCQUF1QixvQkFBb0IsS0FBSywyRkFBMkYsZ0JBQWdCLElBQUksaUVBQWlFLHdMQUF3TCx3Q0FBd0MsS0FBSyxHQUFHLEVBQUUsZ0NBQWdDLHFIQUFxSCxHQUFHLHVDQUF1QyxrQ0FBa0Msd0JBQXdCLGtCQUFrQixvQ0FBb0MsT0FBTyxpQ0FBaUMsK0JBQStCLGlDQUFpQyxLQUFLLEVBQUUsR0FBRyx1Q0FBdUMsbURBQW1ELG9FQUFvRSwwQkFBMEIsaUNBQWlDLG1EQUFtRCxPQUFPLE9BQU8saUNBQWlDLGlDQUFpQyxPQUFPLEtBQUssR0FBRyx5Q0FBeUMsaUNBQWlDLGlCQUFpQiwrQkFBK0Isb0NBQW9DLDhCQUE4Qiw4QkFBOEIsa0NBQWtDLDZLQUE2SyxxRUFBcUUsNkJBQTZCLFdBQVcsU0FBUyxPQUFPLEtBQUssa0JBQWtCLEdBQUcsNkNBQTZDLHdCQUF3QiwrQkFBK0IsZUFBZSwrQ0FBK0MsK0JBQStCLEtBQUsseUJBQXlCLDRCQUE0QixHQUFHLGtEQUFrRCw4QkFBOEIseUJBQXlCLHFCQUFxQiw4QkFBOEIsd0JBQXdCLGNBQWMseUJBQXlCLEtBQUssMkVBQTJFLEdBQUcsNERBQTRELHdMQUF3TCw4Q0FBOEMscUJBQXFCLE9BQU8sNkNBQTZDLEtBQUssK0JBQStCLGdIQUFnSCxlQUFlLE9BQU8sNkhBQTZILEtBQUssR0FBRyxFQUFFLG1EQUFtRCx3REFBd0Qsc0RBQXNELFlBQVksSUFBSSw4QkFBOEIscVNBQXFTLGNBQWM7O0FBRXhydUIsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxREFBcUQsOEJBQThCLCtDQUErQyxrQkFBa0Isa0NBQWtDLHFFQUFxRSxFQUFFLEVBQUUsT0FBTyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUscUtBQXFLLDZDQUE2Qyx5Q0FBeUMsK0JBQStCLCtCQUErQiwyQ0FBMkMsK0NBQStDLGlDQUFpQyw0Q0FBNEMsWUFBWSx5Q0FBeUMsR0FBRyxtQ0FBbUMscUNBQXFDLDZCQUE2QixzQ0FBc0Msb0hBQW9ILGtDQUFrQyxrQ0FBa0MsaUNBQWlDLCtDQUErQyxPQUFPLEtBQUssR0FBRywrQkFBK0IsdUlBQXVJLEdBQUcsNkNBQTZDLHVDQUF1QyxvQ0FBb0MsMkJBQTJCLHFEQUFxRCxpQkFBaUIsU0FBUyxnREFBZ0QsT0FBTyxVQUFVLE1BQU0sR0FBRyxxRUFBcUUsRUFBRSw2RkFBNkYsa0JBQWtCLDJCQUEyQixLQUFLLDhCQUE4Qix1QkFBdUIsb0hBQW9ILDZCQUE2QixxQ0FBcUMsT0FBTywyQkFBMkIsa0VBQWtFLE9BQU8sc0NBQXNDLGdTQUFnUyx3Q0FBd0MsZ0NBQWdDLG9DQUFvQyxhQUFhLE9BQU8seURBQXlELGFBQWEsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLDBQQUEwUCxrQkFBa0IsMEJBQTBCLDhEQUE4RCxPQUFPLE9BQU8saUpBQWlKLDhCQUE4QixnRUFBZ0UsU0FBUyxzREFBc0QsT0FBTyxxQ0FBcUMscUJBQXFCLEtBQUssR0FBRyw0RUFBNEUsZ0JBQWdCLEdBQUcsMEVBQTBFLHNCQUFzQix1TUFBdU0sb0RBQW9ELGtCQUFrQixzQkFBc0IsaUJBQWlCLFNBQVMscURBQXFELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxtREFBbUQsZ0dBQWdHLHVCQUF1Qiw2RkFBNkYsNENBQTRDLDZDQUE2QyxrREFBa0QsMkNBQTJDLGlEQUFpRCwyQ0FBMkMsNENBQTRDLDJDQUEyQyw0Q0FBNEMsdUVBQXVFLG9EQUFvRCw4Q0FBOEMsNENBQTRDLHFCQUFxQix3Q0FBd0Msd0NBQXdDLHVDQUF1QyxpREFBaUQsU0FBUyxPQUFPLDJDQUEyQyx5Q0FBeUMsU0FBUyxPQUFPLDBCQUEwQixvQkFBb0Isa0NBQWtDLHFDQUFxQyw2REFBNkQsMkNBQTJDLHFJQUFxSSx3Q0FBd0Msd0NBQXdDLHVDQUF1QyxzQkFBc0IsU0FBUyxpQ0FBaUMsZUFBZSxPQUFPLDZDQUE2QywrQkFBK0Isc0NBQXNDLHNDQUFzQyxxQ0FBcUMsbURBQW1ELE9BQU8sZ0NBQWdDLEtBQUssRUFBRSwyREFBMkQsb0JBQW9CLElBQUksdURBQXVELDhCQUE4Qix5TEFBeUwsY0FBYzs7QUFFejVNLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0RBQW9ELGdDQUFnQyxvQ0FBb0Msb0RBQW9ELDhEQUE4RCxnRUFBZ0UsRUFBRSxFQUFFLGdDQUFnQyxFQUFFLGFBQWEsRUFBRSxvQ0FBb0MsZ0JBQWdCLHNCQUFzQixPQUFPLHVEQUF1RCxhQUFhLHVEQUF1RCwyQ0FBMkMsRUFBRSxFQUFFLEVBQUUsNkNBQTZDLDJFQUEyRSxFQUFFLE9BQU8saURBQWlELGtGQUFrRixFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSwrQ0FBK0Msa0JBQWtCLGtDQUFrQyxxRUFBcUUsRUFBRSxFQUFFLE9BQU8sa0JBQWtCLEVBQUUsWUFBWSxFQUFFLHFEQUFxRCwwQ0FBMEMsNERBQTRELEVBQUUsRUFBRSwrQ0FBK0MsZ0JBQWdCLGtCQUFrQixPQUFPLDJCQUEyQix3REFBd0QsZ0NBQWdDLHlEQUF5RCwyREFBMkQsRUFBRSxFQUFFLGlFQUFpRSxzRUFBc0UsOERBQThELG9CQUFvQixFQUFFLHdIQUF3SCx5RkFBeUYsd0RBQXdELDhDQUE4QyxvREFBb0QsR0FBRyxrREFBa0QsMkJBQTJCLHdDQUF3Qyx5QkFBeUIsdUJBQXVCLHNCQUFzQixLQUFLLGlDQUFpQyxtREFBbUQscUJBQXFCLGdEQUFnRCxvREFBb0QsdUJBQXVCLDBCQUEwQixzQkFBc0IsT0FBTyxLQUFLLEdBQUcseURBQXlELHFCQUFxQixxREFBcUQsaURBQWlELDBCQUEwQixzQkFBc0IsT0FBTyxLQUFLLEdBQUcsb0RBQW9ELHNDQUFzQyxpQ0FBaUMsNERBQTRELGdDQUFnQyxzQkFBc0IsbUJBQW1CLE9BQU8sS0FBSyxHQUFHLG9EQUFvRCxxQ0FBcUMsd0JBQXdCLE9BQU8sS0FBSyxHQUFHLG1EQUFtRCx5Q0FBeUMsMEJBQTBCLDhCQUE4Qiw4QkFBOEIsNEJBQTRCLFNBQVMscUJBQXFCLE9BQU8sS0FBSyxHQUFHLHVEQUF1RCxzREFBc0QsOENBQThDLDBCQUEwQixrQkFBa0IscUJBQXFCLHFDQUFxQyw2QkFBNkIscUJBQXFCLFNBQVMscUJBQXFCLE9BQU8scUZBQXFGLEdBQUcscUVBQXFFLGdCQUFnQiwwQ0FBMEMsb0dBQW9HLG1EQUFtRCxTQUFTLHdDQUF3Qyx5RUFBeUUsU0FBUyxPQUFPLG9IQUFvSCxTQUFTLHFCQUFxQixPQUFPLEtBQUssR0FBRyxvREFBb0QsOEJBQThCLE9BQU8sNEVBQTRFLEdBQUcsK0RBQStELDBCQUEwQixrQkFBa0IseUJBQXlCLHdCQUF3Qiw4QkFBOEIsMkJBQTJCLG1EQUFtRCw0Q0FBNEMsNEJBQTRCLGtCQUFrQiwwQkFBMEIsb0NBQW9DLGtCQUFrQiw2Q0FBNkMsa0NBQWtDLGFBQWEsT0FBTyw0QkFBNEIscUNBQXFDLGFBQWEsb0JBQW9CLFdBQVcsZ0JBQWdCLFNBQVMsMkJBQTJCLG1CQUFtQixPQUFPLHVFQUF1RSxHQUFHLCtEQUErRCx3Q0FBd0MsMEJBQTBCLGtCQUFrQix5QkFBeUIsMkJBQTJCLDhCQUE4QiwyQkFBMkIsbURBQW1ELCtDQUErQyxrQkFBa0IsMEJBQTBCLG9DQUFvQyxrQkFBa0IsNkNBQTZDLGtDQUFrQyxhQUFhLE9BQU8sNEJBQTRCLHFDQUFxQyxhQUFhLG9CQUFvQixXQUFXLGdCQUFnQixTQUFTLDJCQUEyQixtQkFBbUIsT0FBTyxrRkFBa0YsR0FBRywyREFBMkQsNkNBQTZDLFlBQVksaUlBQWlJLEdBQUcsT0FBTyxLQUFLLEdBQUcsd0JBQXdCLEdBQUcsR0FBRyxtRUFBbUUsY0FBYzs7QUFFempOLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscURBQXFELDZGQUE2RixxQkFBcUIsbUZBQW1GLGlGQUFpRixtREFBbUQsZUFBZSxnQkFBZ0IsT0FBTyxnQkFBZ0IsbUNBQW1DLG1EQUFtRCxTQUFTLDhDQUE4QyxrREFBa0QsbURBQW1ELFNBQVMsT0FBTyxvQkFBb0IsS0FBSyxvTEFBb0wsMkNBQTJDLEtBQUssNEdBQTRHLDJDQUEyQyxLQUFLLGlEQUFpRCx1QkFBdUIsb0NBQW9DLDREQUE0RCxTQUFTLCtDQUErQyxtREFBbUQsNERBQTRELFNBQVMsT0FBTywrQ0FBK0MsU0FBUyxPQUFPLGVBQWUsNkNBQTZDLGdCQUFnQixPQUFPLE9BQU8sNkNBQTZDLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixHQUFHLDZDQUE2QywyQkFBMkIsc0JBQXNCLEdBQUcsZ0NBQWdDLHNFQUFzRSxzRUFBc0UsdUJBQXVCLEdBQUcsMEJBQTBCLDhCQUE4Qiw0Q0FBNEMsMENBQTBDLHdDQUF3Qyw2Q0FBNkMsS0FBSyxnQ0FBZ0MsNENBQTRDLHdDQUF3Qyx5Q0FBeUMsOENBQThDLDhDQUE4QywyQ0FBMkMsK0NBQStDLEtBQUssR0FBRyxxQ0FBcUMsNEJBQTRCLEdBQUcsMENBQTBDLGlVQUFpVSx1Q0FBdUMsMEZBQTBGLCtCQUErQixHQUFHLHNCQUFzQixvRkFBb0YsOEJBQThCLHlMQUF5TCxjQUFjOztBQUVsNkcsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxVUFBcVUsNkJBQTZCLHVCQUF1Qix3QkFBd0IseUJBQXlCLG9CQUFvQiwyRUFBMkUsYUFBYSxVQUFVLHFDQUFxQyxPQUFPLG1DQUFtQyxNQUFNLEdBQUcsc0JBQXNCLGdDQUFnQyxrRUFBa0UsR0FBRywwQ0FBMEMsbUVBQW1FLHlCQUF5QixzQ0FBc0MsK0VBQStFLCtFQUErRSxzREFBc0QsdUNBQXVDLE1BQU0sa0ZBQWtGLDBDQUEwQyx1QkFBdUIsMkJBQTJCLDJDQUEyQyxNQUFNLG9GQUFvRixvQ0FBb0MsdUJBQXVCLDJCQUEyQiwyQ0FBMkMsTUFBTSwyQ0FBMkMsaUNBQWlDLE1BQU0sd0NBQXdDLGNBQWMseUNBQXlDLDJHQUEyRywwQ0FBMEMsT0FBTyx5Q0FBeUMsMkdBQTJHLDBDQUEwQyxPQUFPLE1BQU0sNENBQTRDLHdDQUF3QyxNQUFNLDhCQUE4QixzQ0FBc0Msa0NBQWtDLGtDQUFrQyxxQ0FBcUMsS0FBSywrQ0FBK0MsOERBQThELHlDQUF5QyxLQUFLLDhCQUE4QixrQ0FBa0MsMERBQTBELGdDQUFnQyx3QkFBd0Isa0RBQWtELDhDQUE4QyxrREFBa0Qsb0VBQW9FLG1EQUFtRCxxREFBcUQsZ0RBQWdELDBDQUEwQyw4Q0FBOEMsOENBQThDLE1BQU0sR0FBRyx5QkFBeUIsbUVBQW1FLGNBQWM7O0FBRWx6RyxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0Msd0VBQXdFLHFFQUFxRSxjQUFjOztBQUUvTCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9JQUFvSSw2QkFBNkIsdUJBQXVCLHdCQUF3Qix5QkFBeUIsb0JBQW9CLHdDQUF3QyxNQUFNLEdBQUcsdVJBQXVSLHdCQUF3QixtRkFBbUYsR0FBRyxnQ0FBZ0Msa0VBQWtFLEdBQUcsNERBQTRELDhCQUE4Qix1QkFBdUIsb0NBQW9DLG9CQUFvQixLQUFLLEVBQUUsbUxBQW1MLGlCQUFpQixvREFBb0Qsa0JBQWtCLG9DQUFvQyxvQkFBb0IsaUJBQWlCLEtBQUssRUFBRSwwQkFBMEIsMkJBQTJCLHlCQUF5Qiw0QkFBNEIsdUJBQXVCLDhHQUE4Ryx3RUFBd0Usd0RBQXdELE1BQU0sR0FBRyx1QkFBdUIsU0FBUyxHQUFHLDZCQUE2Qix5QkFBeUIsR0FBRyxtQ0FBbUMscUNBQXFDLHVFQUF1RSx5QkFBeUIsR0FBRyx5QkFBeUIsMEVBQTBFLGFBQWEsVUFBVSxzQ0FBc0MsS0FBSywwQ0FBMEMsd0RBQXdELCtCQUErQiw0Q0FBNEMsS0FBSyxnQkFBZ0IscURBQXFELDJDQUEyQywwQkFBMEIsaUVBQWlFLGdDQUFnQyx3Q0FBd0MsNEJBQTRCLCtCQUErQix3QkFBd0IsT0FBTyxFQUFFLEtBQUssRUFBRSxnQ0FBZ0MsR0FBRyw4QkFBOEIsbUVBQW1FLGNBQWM7O0FBRWh3RixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdNQUFnTSw4REFBOEQsd0dBQXdHLEdBQUcsb0VBQW9FLDhEQUE4RCx3QkFBd0IsbUVBQW1FLDBEQUEwRCxtREFBbUQsT0FBTywrQkFBK0IsS0FBSyxrRUFBa0UsR0FBRyxzQkFBc0IsMENBQTBDLG1FQUFtRSxjQUFjOztBQUVwN0IsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMkdBQTJHLHFFQUFxRSxjQUFjOztBQUU5TCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrS0FBK0ssMkJBQTJCLDZCQUE2QixtS0FBbUssNkpBQTZKLHNLQUFzSyw0S0FBNEssK0xBQStMLHFMQUFxTCxxRUFBcUUsY0FBYzs7QUFFaDBDLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCxzQ0FBc0MscUdBQXFHLFlBQVksT0FBTyxrQ0FBa0Msc0JBQXNCLGdDQUFnQywyS0FBMkssY0FBYzs7QUFFbmUsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvREFBb0Qsa3dEQUFrd0QsU0FBUyx3REFBd0QsbURBQW1ELGFBQWEsd09BQXdPLFlBQVksdUJBQXVCLEdBQUcsNEJBQTRCLDRFQUE0RSwwQ0FBMEMsZ0NBQWdDLDZEQUE2RCxxQ0FBcUMsdUpBQXVKLE9BQU8sMEZBQTBGLHdDQUF3QywrQkFBK0Isb0JBQW9CLDJkQUEyZCxtRUFBbUUsMkRBQTJELHVEQUF1RCxpREFBaUQscUhBQXFILHdDQUF3Qyx1REFBdUQsdUtBQXVLLHFEQUFxRCwyREFBMkQsb0NBQW9DLHlFQUF5RSwrRUFBK0Usd0VBQXdFLHNDQUFzQywyREFBMkQsdUNBQXVDLG9UQUFvVCx5REFBeUQscUNBQXFDLDRMQUE0TCxxSUFBcUkscURBQXFELE1BQU0sR0FBRyxnQ0FBZ0MsbUNBQW1DLG9FQUFvRSxxQkFBcUIseUVBQXlFLEdBQUcsaURBQWlELHdDQUF3QywwQ0FBMEMsNkJBQTZCLHdUQUF3VCxzQ0FBc0MsNklBQTZJLCtDQUErQyx1Q0FBdUMseUhBQXlILHFCQUFxQixVQUFVLE9BQU8sMEJBQTBCLEtBQUssa0JBQWtCLDJJQUEySSxxQ0FBcUMsK0lBQStJLHFDQUFxQyxrREFBa0QsMERBQTBELDRCQUE0Qix5Q0FBeUMsOEVBQThFLHFLQUFxSyxrUEFBa1Asb0JBQW9CLDBDQUEwQyx5SEFBeUgsWUFBWSxVQUFVLG1DQUFtQyxrQkFBa0IsZ0VBQWdFLHFJQUFxSSxnRUFBZ0UsMERBQTBELGdFQUFnRSw2REFBNkQsd0NBQXdDLGlDQUFpQyxvREFBb0QsT0FBTyw0REFBNEQsdUNBQXVDLHNJQUFzSSxPQUFPLDRHQUE0RyxrQkFBa0IscUNBQXFDLCtCQUErQiwyR0FBMkcsMEJBQTBCLHVEQUF1RCxnQkFBZ0Isa0hBQWtILGtFQUFrRSwrQ0FBK0MsOENBQThDLHlEQUF5RCxtREFBbUQsS0FBSyxrSEFBa0gsK0JBQStCLHVLQUF1SyxnS0FBZ0ssd0JBQXdCLGtDQUFrQyw0QkFBNEIsbURBQW1ELG1DQUFtQyw2Q0FBNkMsMENBQTBDLDhDQUE4QyxxREFBcUQsMkRBQTJELGdIQUFnSCxTQUFTLE9BQU8sMEJBQTBCLG9EQUFvRCxLQUFLLGdFQUFnRSx3REFBd0QsNkNBQTZDLCtRQUErUSxHQUFHLG9EQUFvRCx5QkFBeUIsK0VBQStFLDhCQUE4QixpQ0FBaUMsMENBQTBDLGlDQUFpQyxpQkFBaUIsT0FBTyx1Q0FBdUMsS0FBSywyRUFBMkUsaUJBQWlCLE9BQU8seURBQXlELG1GQUFtRix1REFBdUQsb0JBQW9CLDRDQUE0QyxrQ0FBa0MsK0JBQStCLGlLQUFpSyxtQ0FBbUMscUNBQXFDLCtCQUErQix3SUFBd0ksR0FBRyx5QkFBeUIsZ2xCQUFnbEIsS0FBSyxHQUFHLGtGQUFrRiwyZEFBMmQsb0JBQW9CLDBJQUEwSSxvQkFBb0IsbURBQW1ELDRCQUE0QixxQkFBcUIsb0JBQW9CLHVJQUF1SSxvQkFBb0IsMERBQTBELHlCQUF5QiwwckJBQTByQixLQUFLLEdBQUcsZ0xBQWdMLDhDQUE4QyxrREFBa0QsaURBQWlELDRFQUE0RSxtQkFBbUIsU0FBUyxVQUFVLCtCQUErQixrQkFBa0Isa0RBQWtELGlEQUFpRCw0RUFBNEUsbUJBQW1CLFNBQVMsVUFBVSw2REFBNkQsa0JBQWtCLGtEQUFrRCxpREFBaUQsNEVBQTRFLG1CQUFtQixTQUFTLFVBQVUseUhBQXlILGtCQUFrQixzREFBc0QsaUxBQWlMLG1EQUFtRCx1SkFBdUosb0RBQW9ELGlGQUFpRixrREFBa0QsRUFBRSw2REFBNkQsb0NBQW9DLDBGQUEwRixtQ0FBbUMsMkRBQTJELGdDQUFnQyxvQkFBb0IsNEJBQTRCLDJDQUEyQyxrQ0FBa0Msd0JBQXdCLGdDQUFnQyxnQ0FBZ0MsdUZBQXVGLHFEQUFxRCxpREFBaUQsbUJBQW1CLCtCQUErQixvQkFBb0IsdUJBQXVCLG1CQUFtQixrVEFBa1QsU0FBUyxPQUFPLDBDQUEwQyxvRUFBb0UsS0FBSyxnRUFBZ0UsaVNBQWlTLDZOQUE2Tiw4SUFBOEksb0RBQW9ELG9DQUFvQyxrQ0FBa0MscUNBQXFDLG1DQUFtQyw4RUFBOEUseUlBQXlJLHFMQUFxTCxzRUFBc0UsMkJBQTJCLHNEQUFzRCx3REFBd0QsMkNBQTJDLHNHQUFzRyxnR0FBZ0csd0JBQXdCLHNFQUFzRSxvQ0FBb0MsK0pBQStKLGtCQUFrQixvRkFBb0YsT0FBTyx3RkFBd0YsT0FBTywwRUFBMEUsb0VBQW9FLGlFQUFpRSxvSEFBb0gscUtBQXFLLCtDQUErQyw0QkFBNEIsK0ZBQStGLEtBQUssOEJBQThCLDRCQUE0Qiw0QkFBNEIsT0FBTyxxREFBcUQsS0FBSyx5QkFBeUIsbURBQW1ELGVBQWUsT0FBTyxpRkFBaUYscUlBQXFJLE9BQU8sc0ZBQXNGLE9BQU8sS0FBSyxPQUFPLDBHQUEwRyxRQUFRLE9BQU8sK0NBQStDLGVBQWUsT0FBTyxrREFBa0QscURBQXFELFNBQVMsa0NBQWtDLEtBQUssa0JBQWtCLCtFQUErRSw0REFBNEQsNkVBQTZFLHlFQUF5RSxxRkFBcUYsMEVBQTBFLHFEQUFxRCx5RkFBeUYsNkJBQTZCLE9BQU8sNERBQTRELGlDQUFpQyxLQUFLLDBLQUEwSyw4QkFBOEIsbUJBQW1CLFlBQVksT0FBTyw0SEFBNEgsZUFBZSxzREFBc0QsdUZBQXVGLHVEQUF1RCxtRUFBbUUsd0RBQXdELHFEQUFxRCx3REFBd0Qsb0VBQW9FLHNEQUFzRCwwRkFBMEYsZ0ZBQWdGLDBEQUEwRCwyR0FBMkcsK0RBQStELCtIQUErSCw2QkFBNkIsc0RBQXNELHVGQUF1RixPQUFPLDBEQUEwRCw0RUFBNEUsT0FBTyxtSEFBbUgsc01BQXNNLHlFQUF5RSw4RUFBOEUsR0FBRyx5QkFBeUIsbzBCQUFvMEIsS0FBSyxHQUFHLGtEQUFrRCxZQUFZLHNGQUFzRixHQUFHLDRDQUE0Qyw0Q0FBNEMsMkNBQTJDLE9BQU8sNkRBQTZELEdBQUcsMENBQTBDLDJGQUEyRiw4TkFBOE4saUdBQWlHLG9EQUFvRCxnREFBZ0Qsb0hBQW9ILHNIQUFzSCx3REFBd0QsYUFBYSxxTEFBcUwsd01BQXdNLHdEQUF3RCxhQUFhLHdQQUF3UCw2TUFBNk0sd0RBQXdELGFBQWEsU0FBUyxPQUFPLGlDQUFpQyxxTEFBcUwsK0JBQStCLHFMQUFxTCwyREFBMkQsMENBQTBDLDBQQUEwUCxxRUFBcUUsc0ZBQXNGLGtIQUFrSCx3SEFBd0gsaUJBQWlCLDJDQUEyQyw0RUFBNEUsU0FBUyxPQUFPLG9EQUFvRCxpQkFBaUIsNENBQTRDLDRFQUE0RSxTQUFTLE9BQU8sNkNBQTZDLGlCQUFpQix5Q0FBeUMsd0pBQXdKLFNBQVMsT0FBTywrQkFBK0IsaUJBQWlCLDZDQUE2Qyx3RUFBd0Usa0JBQWtCLFVBQVUsb0VBQW9FLGlCQUFpQiwwREFBMEQsMkdBQTJHLHFEQUFxRCx3QkFBd0Isc0JBQXNCLG9CQUFvQiwrQ0FBK0Msc0JBQXNCLG9CQUFvQix1RkFBdUYsc0ZBQXNGLE9BQU8sbUdBQW1HLGNBQWMsT0FBTywwQ0FBMEMsS0FBSyxzQkFBc0IsZ0lBQWdJLG1MQUFtTCxzRkFBc0YsNk5BQTZOLHdDQUF3QyxtQkFBbUIsc0ZBQXNGLDBFQUEwRSx1REFBdUQsd0dBQXdHLG1EQUFtRCxtQkFBbUIsd0VBQXdFLGdGQUFnRiw4RUFBOEUsMEdBQTBHLDhFQUE4RSwwR0FBMEcsOEVBQThFLGlNQUFpTSw4RUFBOEUseUxBQXlMLG9GQUFvRiw2TkFBNk4sd0NBQXdDLDBGQUEwRixvRkFBb0YsaU9BQWlPLDBDQUEwQywwRkFBMEYsc0VBQXNFLHlKQUF5Siw0RUFBNEUsK0pBQStKLDRFQUE0RSwrSkFBK0osNEVBQTRFLG1MQUFtTCw0RUFBNEUsbUxBQW1MLDRFQUE0RSwyR0FBMkcsNEVBQTRFLDRHQUE0Ryw4RUFBOEUsMkdBQTJHLDhFQUE4RSw0R0FBNEcsMkRBQTJELGtSQUFrUiwrRkFBK0YsNEZBQTRGLHFIQUFxSCw2R0FBNkcsa0RBQWtELG1DQUFtQywrRkFBK0YsNEZBQTRGLHFIQUFxSCxzSEFBc0gsa0RBQWtELG1DQUFtQyxpRkFBaUYsNE5BQTROLG1FQUFtRSxzR0FBc0csT0FBTyxPQUFPLDJIQUEySCxHQUFHLHVGQUF1Riw0SUFBNEksOEVBQThFLE9BQU8sdURBQXVELHdCQUF3Qix1RkFBdUYsNElBQTRJLDhFQUE4RSxPQUFPLHdEQUF3RCx3QkFBd0IsbUVBQW1FLDBHQUEwRyxPQUFPLE9BQU8sOEVBQThFLEdBQUcsdUZBQXVGLGdKQUFnSiw0SkFBNEosT0FBTyx1REFBdUQsd0JBQXdCLHVGQUF1RixnSkFBZ0osNEpBQTRKLE9BQU8sd0RBQXdELHdCQUF3Qiw2RkFBNkYsNkRBQTZELDBIQUEwSCw0SEFBNEgsaUVBQWlFLHNCQUFzQiwrREFBK0QsbUNBQW1DLDZGQUE2Riw2REFBNkQsMEhBQTBILHFJQUFxSSxpRUFBaUUsc0JBQXNCLCtEQUErRCxtQ0FBbUMsK0VBQStFLDJRQUEyUSxxRkFBcUYsa0pBQWtKLDhFQUE4RSxPQUFPLHVEQUF1RCx3QkFBd0IscUZBQXFGLGtKQUFrSiw4RUFBOEUsT0FBTyx3REFBd0Qsd0JBQXdCLHFGQUFxRiwwSkFBMEosNEpBQTRKLE9BQU8sdURBQXVELHdCQUF3QixxRkFBcUYsMk1BQTJNLDRKQUE0SixPQUFPLHdEQUF3RCx3QkFBd0IsK0RBQStELDhJQUE4SSxzRUFBc0Usb0JBQW9CLCtGQUErRixrRkFBa0YscUZBQXFGLDZEQUE2RCxxRkFBcUYsOERBQThELHVFQUF1RSxvQkFBb0IsaUdBQWlHLGtGQUFrRix1RkFBdUYsOERBQThELHVGQUF1RiwrREFBK0QsMkpBQTJKLDRPQUE0Tyw2SkFBNkosNERBQTRELGdSQUFnUixvREFBb0QsNEdBQTRHLHdEQUF3RCxRQUFRLE9BQU8sd0RBQXdELEtBQUssc0RBQXNELG1EQUFtRCxTQUFTLE9BQU8sd0RBQXdELEtBQUssT0FBTyw0SEFBNEgsbUJBQW1CLGtPQUFrTyw2REFBNkQsc0NBQXNDLHlFQUF5RSxvQ0FBb0Msc0RBQXNELDZCQUE2Qiw2REFBNkQsNkJBQTZCLE9BQU8sbUVBQW1FLCtEQUErRCx5RUFBeUUsbUVBQW1FLEtBQUssb0NBQW9DLDBCQUEwQiwySUFBMkkscURBQXFELHlCQUF5QixzQkFBc0Isa0pBQWtKLHFCQUFxQixTQUFTLE9BQU8sNEJBQTRCLEtBQUssT0FBTywySkFBMkosaUJBQWlCLE9BQU8sK0NBQStDLEtBQUssb0JBQW9CLDZIQUE2SCxzV0FBc1csMEJBQTBCLGlCQUFpQiwrQkFBK0IsZ0ZBQWdGLHdCQUF3Qix1RUFBdUUsMENBQTBDLCtJQUErSSxZQUFZLE9BQU8sNEhBQTRILDREQUE0RCwyREFBMkQsNkhBQTZILDZCQUE2QiwwSEFBMEgseUZBQXlGLDhEQUE4RCwySEFBMkgseUhBQXlILDBCQUEwQixxSEFBcUgsK0VBQStFLHVFQUF1RSw4QkFBOEIseUlBQXlJLGdDQUFnQyxrTEFBa0wsaUNBQWlDLDROQUE0TixPQUFPLG9EQUFvRCxLQUFLLHFCQUFxQixpQ0FBaUMseUNBQXlDLGdCQUFnQixPQUFPLCtHQUErRyx1QkFBdUIsMENBQTBDLDBEQUEwRCxnQkFBZ0IsT0FBTyxzSkFBc0oseUJBQXlCLGtDQUFrQyxrREFBa0Qsb0RBQW9ELG1CQUFtQixZQUFZLE9BQU8sbUdBQW1HLGVBQWUsMEJBQTBCLGdFQUFnRSxnQ0FBZ0Msd0xBQXdMLGNBQWM7O0FBRXZwakQsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb2VBQW9lLGdHQUFnRywrQ0FBK0MsT0FBTywyQ0FBMkMsc0JBQXNCLDZEQUE2RCxvREFBb0QseUdBQXlHLG1DQUFtQyw2Q0FBNkMsOEZBQThGLHVEQUF1RCx1QkFBdUIsd0RBQXdELGlEQUFpRCxxRUFBcUUsbURBQW1ELHFFQUFxRSwrQ0FBK0MsZ0VBQWdFLGdFQUFnRSxvQkFBb0IsMEJBQTBCLGlDQUFpQyxPQUFPLDRDQUE0QyxLQUFLLFlBQVksa0JBQWtCLFVBQVUsb0JBQW9CLEdBQUcsaURBQWlELG9CQUFvQixvQ0FBb0MsWUFBWSxrQkFBa0Isa0JBQWtCLDhEQUE4RCx1RUFBdUUsNkRBQTZELHFCQUFxQixpRUFBaUUseUJBQXlCLDJFQUEyRSxxSUFBcUkscUNBQXFDLG1CQUFtQixvR0FBb0csY0FBYzs7QUFFaG5GLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlIQUF5SCxzT0FBc08sZ0NBQWdDLDBDQUEwQyw4Q0FBOEMsS0FBSyxHQUFHLG9DQUFvQyxVQUFVLDJCQUEyQixXQUFXLDJCQUEyQixXQUFXLDJCQUEyQixXQUFXLDJCQUEyQixZQUFZLDRCQUE0QixXQUFXLDJCQUEyQixXQUFXLDJCQUEyQixXQUFXLDJCQUEyQixXQUFXLDZCQUE2QixlQUFlLGlDQUFpQyxjQUFjLGdDQUFnQyxlQUFlLGlDQUFpQyxXQUFXLHFDQUFxQyxhQUFhLDJDQUEyQyxZQUFZLDhCQUE4QixJQUFJLDBFQUEwRSx3Q0FBd0MsNENBQTRDLCtEQUErRCxPQUFPLDRDQUE0QyxxRUFBcUUsT0FBTyx1RUFBdUUsdUVBQXVFLE9BQU8sK0NBQStDLHlDQUF5QyxxQ0FBcUMsbUNBQW1DLHlEQUF5RCxnQkFBZ0IsRUFBRSx1REFBdUQsY0FBYyxFQUFFLEtBQUssR0FBRyxzQ0FBc0MseUJBQXlCLHlCQUF5Qix5QkFBeUIsZ0NBQWdDLGdDQUFnQywwQkFBMEIsVUFBVSxVQUFVLFVBQVUsd0JBQXdCLFlBQVksS0FBSyxzQkFBc0IsMEJBQTBCLEtBQUssc0JBQXNCLDhCQUE4QixLQUFLLHNCQUFzQiw4QkFBOEIsS0FBSyxnQ0FBZ0Msa0JBQWtCLGVBQWUsS0FBSywwQkFBMEIsd0JBQXdCLFlBQVksS0FBSyxxQkFBcUIsOEJBQThCLEtBQUssT0FBTyxrQ0FBa0MsS0FBSyxtQ0FBbUMsSUFBSSxzQ0FBc0MsYUFBYSxhQUFhLGFBQWEsVUFBVSxVQUFVLDJCQUEyQix5QkFBeUIseUJBQXlCLDhCQUE4QixxQ0FBcUMsOEJBQThCLHdDQUF3QyxNQUFNLHVCQUF1QixnQkFBZ0IsS0FBSyxPQUFPLG1CQUFtQixzQkFBc0Isc0JBQXNCLHNCQUFzQixzQkFBc0Isd0JBQXdCLE9BQU8sb0JBQW9CLGtDQUFrQyxPQUFPLG9CQUFvQixrQ0FBa0MsT0FBTyxrQkFBa0IsZUFBZSxPQUFPLGtCQUFrQixlQUFlLE9BQU8sS0FBSyw2REFBNkQsSUFBSSxzQ0FBc0MsbUJBQW1CLG1CQUFtQixtQkFBbUIsb0NBQW9DLGtEQUFrRCxvREFBb0QsbUNBQW1DLElBQUksdUNBQXVDLHlCQUF5Qix5QkFBeUIseUJBQXlCLFVBQVUsVUFBVSxVQUFVLFVBQVUsd0NBQXdDLG1DQUFtQyxtQ0FBbUMsbUNBQW1DLGtEQUFrRCxJQUFJLDBJQUEwSSxnSEFBZ0gsR0FBRywwQ0FBMEMsd0NBQXdDLG1CQUFtQixzQkFBc0IsS0FBSyw0Q0FBNEMsOEJBQThCLHdDQUF3QyxnREFBZ0QseUNBQXlDLGdHQUFnRyxvR0FBb0csNENBQTRDLDBDQUEwQyxTQUFTLE9BQU8sS0FBSyxtQ0FBbUMsSUFBSSw4Q0FBOEMsZ0NBQWdDLElBQUksc0NBQXNDLHlCQUF5Qix5QkFBeUIseUJBQXlCLDZGQUE2Rix5RUFBeUUseUVBQXlFLHlEQUF5RCx1REFBdUQsdURBQXVELHlDQUF5QyxJQUFJLHNDQUFzQyxtQ0FBbUMsbUJBQW1CLG1CQUFtQixtQkFBbUIsVUFBVSxVQUFVLFVBQVUsa0JBQWtCLGFBQWEsaUJBQWlCLHVFQUF1RSxxRUFBcUUscUVBQXFFLHlCQUF5QixzQkFBc0Isc0JBQXNCLHVCQUF1QixJQUFJLHNDQUFzQyx5QkFBeUIseUJBQXlCLHlCQUF5QixXQUFXLFdBQVcsV0FBVyxZQUFZLFlBQVksb0JBQW9CLG9CQUFvQiw2QkFBNkIsS0FBSyxvQkFBb0IsdUJBQXVCLEtBQUssT0FBTyx5QkFBeUIsS0FBSyxzQkFBc0Isc0JBQXNCLG1CQUFtQixPQUFPLE9BQU8sZ0NBQWdDLG1CQUFtQixhQUFhLE9BQU8sbUJBQW1CLGFBQWEsT0FBTyx5QkFBeUIsc0NBQXNDLE9BQU8sdUJBQXVCLGlCQUFpQixPQUFPLHVCQUF1QixnREFBZ0QsT0FBTyxPQUFPLGlCQUFpQixPQUFPLDJCQUEyQixLQUFLLGlCQUFpQixJQUFJLHNDQUFzQyxtQkFBbUIseUJBQXlCLHlCQUF5QixpQkFBaUIsaUNBQWlDLFdBQVcsVUFBVSxhQUFhLDhCQUE4Qix3Q0FBd0Msb0JBQW9CLGtFQUFrRSxvQ0FBb0MsSUFBSSxzQ0FBc0Msd0JBQXdCLHlCQUF5Qix5QkFBeUIsK0JBQStCLGdDQUFnQyw4QkFBOEIsb0NBQW9DLDBDQUEwQyxhQUFhLG1CQUFtQixzQ0FBc0Msc0NBQXNDLHNDQUFzQyxzQ0FBc0Msc0NBQXNDLHNDQUFzQyxLQUFLLElBQUksc0NBQXNDLG1CQUFtQix5QkFBeUIseUJBQXlCLGlDQUFpQyxhQUFhLFdBQVcsVUFBVSxzQkFBc0IsMEJBQTBCLGtCQUFrQix3Q0FBd0MsaUJBQWlCLFdBQVcsb0NBQW9DLElBQUksd0ZBQXdGLHlCQUF5QiwwQkFBMEIsMEJBQTBCLHdCQUF3QixVQUFVLFVBQVUsVUFBVSxVQUFVLGdEQUFnRCxrQkFBa0Isa0JBQWtCLEtBQUssNEJBQTRCLGVBQWUsa0JBQWtCLDZCQUE2QixnQkFBZ0IsS0FBSyw0QkFBNEIsb0NBQW9DLFVBQVUsVUFBVSxnQkFBZ0IsK0NBQStDLE9BQU8sUUFBUSxPQUFPLG9CQUFvQixPQUFPLFFBQVEsT0FBTyxxQkFBcUIsT0FBTyxPQUFPLE9BQU8scUJBQXFCLE9BQU8sT0FBTyxPQUFPLG9CQUFvQixRQUFRLE9BQU8sT0FBTyxvQkFBb0IsUUFBUSxPQUFPLE9BQU8sS0FBSyx5Q0FBeUMsSUFBSSx3Q0FBd0MsMEJBQTBCLDBCQUEwQiwwQkFBMEIsMEJBQTBCLFVBQVUsVUFBVSxVQUFVLDJDQUEyQyx5Q0FBeUMseUNBQXlDLHlDQUF5QyxJQUFJLHNDQUFzQyx5QkFBeUIseUJBQXlCLHlCQUF5QixVQUFVLFVBQVUsVUFBVSx1REFBdUQsb0RBQW9ELG9EQUFvRCw2R0FBNkcsMkZBQTJGLDJGQUEyRixzQ0FBc0Msb0NBQW9DLG9DQUFvQyx5Q0FBeUMsSUFBSSxzQ0FBc0MsbUJBQW1CLG1CQUFtQixtQkFBbUIsVUFBVSxVQUFVLFVBQVUsa0JBQWtCLGFBQWEsaUJBQWlCLHVFQUF1RSxxRUFBcUUscUVBQXFFLHlCQUF5QixzQkFBc0Isc0JBQXNCLHVCQUF1QixJQUFJLHNDQUFzQyxtQkFBbUIsbUJBQW1CLG1CQUFtQixVQUFVLFVBQVUsVUFBVSx5QkFBeUIsb0JBQW9CLG9CQUFvQiw4QkFBOEIsNEJBQTRCLDRCQUE0QixvREFBb0Qsb0RBQW9ELG9EQUFvRCxrQkFBa0IsYUFBYSxpQkFBaUIsdUJBQXVCLElBQUksc0NBQXNDLG1CQUFtQixtQkFBbUIsbUJBQW1CLFdBQVcsVUFBVSxVQUFVLDRCQUE0QiwrQkFBK0Isa0JBQWtCLGVBQWUsS0FBSyxtQ0FBbUMsdUJBQXVCLElBQUksc0NBQXNDLG1CQUFtQixtQkFBbUIsbUJBQW1CLFVBQVUsVUFBVSxXQUFXLGlDQUFpQyx5QkFBeUIseUJBQXlCLHVCQUF1QixJQUFJLDBDQUEwQyxvQkFBb0Isb0JBQW9CLG9CQUFvQix5RUFBeUUsbUVBQW1FLHdCQUF3QixnQkFBZ0IsS0FBSyxxSEFBcUgsd0JBQXdCLGlCQUFpQixLQUFLLGtCQUFrQixJQUFJLDBDQUEwQyx5QkFBeUIseUlBQXlJLElBQUksMkNBQTJDLG9CQUFvQixvQkFBb0Isb0JBQW9CLDBLQUEwSyxrQkFBa0Isa0JBQWtCLE9BQU8sc0JBQXNCLG1CQUFtQixPQUFPLHNEQUFzRCxLQUFLLDhIQUE4SCxrQkFBa0IsSUFBSSwwQ0FBMEMsMEJBQTBCLDhEQUE4RCxzQkFBc0IscUJBQXFCLE9BQU8sbUNBQW1DLHFDQUFxQyxLQUFLLDJDQUEyQyx1Q0FBdUMsOENBQThDLDhDQUE4Qyx1QkFBdUIsSUFBSSwyQ0FBMkMsNkNBQTZDLG9DQUFvQyx1QkFBdUIsS0FBSyxpQkFBaUIsY0FBYyw0Q0FBNEMsd0RBQXdELGdDQUFnQyx1QkFBdUIsSUFBSSx1Q0FBdUMsc0lBQXNJLHNEQUFzRCxzREFBc0QsSUFBSSx1Q0FBdUMsa0RBQWtELEVBQUUsVUFBVSxFQUFFLElBQUksaUJBQWlCLHVCQUF1QixLQUFLLGlDQUFpQyxrQ0FBa0MsK0RBQStELDJCQUEyQixPQUFPLFdBQVcsS0FBSyw4Q0FBOEMsbUNBQW1DLGtDQUFrQywyQkFBMkIsdUJBQXVCLElBQUksc0NBQXNDLHlCQUF5Qix5QkFBeUIseUJBQXlCLDBDQUEwQywwQ0FBMEMsNkJBQTZCLGtCQUFrQixZQUFZLHVCQUF1QixxQ0FBcUMsS0FBSyxPQUFPLG9CQUFvQixLQUFLLHdCQUF3QixjQUFjLEtBQUsseUJBQXlCLG1DQUFtQyxLQUFLLHlCQUF5QixpQ0FBaUMsS0FBSyxPQUFPLHFDQUFxQyxLQUFLLGVBQWUsYUFBYSx3REFBd0QsSUFBSSxzQ0FBc0MseUJBQXlCLHlCQUF5QixjQUFjLGNBQWMsb0JBQW9CLHNCQUFzQixLQUFLLE9BQU8sOEJBQThCLEtBQUssb0JBQW9CLG9DQUFvQyxLQUFLLHdDQUF3QyxJQUFJLHNDQUFzQyx5QkFBeUIseUJBQXlCLG9CQUFvQixjQUFjLG9CQUFvQiw0QkFBNEIsS0FBSyx3Q0FBd0MsSUFBSSxzQ0FBc0MseUJBQXlCLHlCQUF5Qix5QkFBeUIsc0JBQXNCLHlDQUF5QyxLQUFLLDJCQUEyQix5QkFBeUIsbUJBQW1CLGtCQUFrQixlQUFlLCtCQUErQixpQ0FBaUMsYUFBYSxhQUFhLE9BQU8saUNBQWlDLGFBQWEsYUFBYSxPQUFPLGlDQUFpQyxhQUFhLGFBQWEsT0FBTyxpQ0FBaUMsYUFBYSxhQUFhLE9BQU8saUNBQWlDLGFBQWEsYUFBYSxPQUFPLGtDQUFrQyxhQUFhLGFBQWEsS0FBSyx5QkFBeUIsZ0hBQWdILElBQUksc0NBQXNDLHlCQUF5Qix5QkFBeUIsZ0NBQWdDLGNBQWMsb0JBQW9CLGdCQUFnQixLQUFLLHdDQUF3QyxJQUFJLHNDQUFzQyx5QkFBeUIseUJBQXlCLHNDQUFzQyxjQUFjLCtCQUErQixzQkFBc0IsS0FBSyxtQ0FBbUMsNEJBQTRCLEtBQUssd0NBQXdDLElBQUksc0NBQXNDLHlCQUF5Qix5QkFBeUIsOEJBQThCLGtEQUFrRCxJQUFJLHNDQUFzQyx5QkFBeUIseUJBQXlCLGtCQUFrQixrQkFBa0IsY0FBYyxrQkFBa0IsNEJBQTRCLEtBQUssd0NBQXdDLElBQUksMENBQTBDLDBGQUEwRixJQUFJLHdDQUF3QyxvRkFBb0YsSUFBSSx3Q0FBd0MsMkVBQTJFLElBQUksMkRBQTJELDJCQUEyQixJQUFJLHdDQUF3Qyw2QkFBNkIsSUFBSSx5Q0FBeUMsOEJBQThCLElBQUksd0NBQXdDLDJCQUEyQixJQUFJLHdDQUF3QyxxREFBcUQsaURBQWlELHNEQUFzRCxzREFBc0QsSUFBSSx1Q0FBdUMsNkNBQTZDLDZCQUE2QixJQUFJLHFFQUFxRSxjQUFjOztBQUUzdWtCLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtIQUFrSCw0RkFBNEYscUJBQXFCLDBDQUEwQywwQkFBMEIscUNBQXFDLGdEQUFnRCxvQkFBb0IsT0FBTyxtQ0FBbUMscURBQXFELE9BQU8sd0JBQXdCLE1BQU0sbUZBQW1GLDJDQUEyQyxLQUFLLHVCQUF1QixHQUFHLDhCQUE4QixxQ0FBcUMsZ0RBQWdELG9CQUFvQixPQUFPLG1DQUFtQyxxREFBcUQsT0FBTyw4QkFBOEIsNEZBQTRGLDRGQUE0Riw0Q0FBNEMsU0FBUyxPQUFPLDRDQUE0QyxTQUFTLE9BQU8sc0JBQXNCLE1BQU0sbUZBQW1GLDJDQUEyQyxLQUFLLHVCQUF1QixHQUFHLHlDQUF5Qyw0QkFBNEIsNkRBQTZELHVDQUF1QyxFQUFFLHlEQUF5RCxxQ0FBcUMsRUFBRSxvQ0FBb0MsMENBQTBDLDhDQUE4QywrQkFBK0Isc0RBQXNELG9EQUFvRCxLQUFLLEVBQUUsR0FBRyxFQUFFLDZCQUE2QixxRUFBcUUsY0FBYzs7QUFFampFLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGtIQUFrSCxvWUFBb1ksbUJBQW1CLHdHQUF3RywwQ0FBMEMsU0FBUyxPQUFPLDBCQUEwQixvSUFBb0ksS0FBSyxtQkFBbUIsR0FBRywwRkFBMEYsNkJBQTZCLDRCQUE0QiwrREFBK0QsNEJBQTRCLGdDQUFnQyx3REFBd0QsK0NBQStDLFNBQVMsT0FBTyxvQ0FBb0MsbUNBQW1DLHFDQUFxQyxzREFBc0QsZ0NBQWdDLGtDQUFrQyxTQUFTLE9BQU8sS0FBSyxtQkFBbUIsR0FBRyw2QkFBNkIsNEJBQTRCLDRCQUE0QixNQUFNLEdBQUcsNkNBQTZDLGdEQUFnRCx5REFBeUQsc0NBQXNDLCtCQUErQixzQ0FBc0MseURBQXlELDhCQUE4QixLQUFLLDJCQUEyQixjQUFjLEdBQUcsMkNBQTJDLHFDQUFxQyx3QkFBd0Isc0NBQXNDLHdDQUF3QyxTQUFTLE9BQU8sOEJBQThCLGdDQUFnQyxtQ0FBbUMscUZBQXFGLE9BQU8sNkRBQTZELEtBQUssd0JBQXdCLElBQUksdUVBQXVFLGNBQWM7O0FBRXJoRixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQywyc0tBQTJzSyx1RUFBdUUsY0FBYzs7QUFFaDBLLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdIQUF3SCxzR0FBc0csMEJBQTBCLDJFQUEyRSwwQ0FBMEMsNENBQTRDLEtBQUssR0FBRywrQkFBK0IsVUFBVSxZQUFZLElBQUksZ0NBQWdDLHNEQUFzRCxZQUFZLGNBQWMscUJBQXFCLGtEQUFrRCxzQkFBc0IsY0FBYyxrREFBa0Qsc0JBQXNCLGNBQWMsK0NBQStDLHNCQUFzQixjQUFjLEtBQUssaUJBQWlCLGtCQUFrQixLQUFLLGNBQWMsMEJBQTBCLElBQUksb0NBQW9DLGtCQUFrQixrQkFBa0IsS0FBSyw4QkFBOEIsSUFBSSxLQUFLLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxNQUFNLHdIQUF3SCwrSUFBK0ksMkJBQTJCLDZCQUE2QixjQUFjLFVBQVUsaUJBQWlCLHNDQUFzQywwQkFBMEIsdUJBQXVCLG1CQUFtQixPQUFPLE9BQU8sd0dBQXdHLHVEQUF1RCxPQUFPLHVCQUF1Qix3RUFBd0UsT0FBTyxLQUFLLHVDQUF1Qyx1QkFBdUIsMEJBQTBCLG1CQUFtQixPQUFPLE9BQU8sbURBQW1ELE9BQU8sdUJBQXVCLG1GQUFtRixPQUFPLEtBQUssdUNBQXVDLGlCQUFpQixPQUFPLE9BQU8sMkNBQTJDLE9BQU8sdUJBQXVCLHNDQUFzQyxPQUFPLEtBQUssc0NBQXNDLGlCQUFpQixPQUFPLE9BQU8sNkRBQTZELE9BQU8sdUJBQXVCLHNDQUFzQyxPQUFPLEtBQUssMENBQTBDLHVDQUF1Qyw0QkFBNEIsT0FBTyxtQ0FBbUMsbUJBQW1CLG9CQUFvQixPQUFPLG1CQUFtQixtQkFBbUIsS0FBSyxPQUFPLGtCQUFrQixLQUFLLGlCQUFpQixPQUFPLE9BQU8scUNBQXFDLEtBQUssaUNBQWlDLGlCQUFpQixJQUFJLG9DQUFvQyxrQkFBa0Isa0JBQWtCLEtBQUsseUpBQXlKLGtDQUFrQyxrQkFBa0IsdUNBQXVDLGlEQUFpRCxrREFBa0Qsa0RBQWtELG9EQUFvRCw0QkFBNEIsS0FBSyxrQkFBa0IsSUFBSSxvQ0FBb0Msa0JBQWtCLGtCQUFrQixLQUFLLHFKQUFxSixrQ0FBa0Msa0JBQWtCLHVDQUF1Qyx5REFBeUQsa0RBQWtELGtEQUFrRCxvREFBb0QsMEJBQTBCLEtBQUssa0JBQWtCLElBQUksNkJBQTZCLGtDQUFrQyw0TEFBNEwsSUFBSSw2QkFBNkIsa0NBQWtDLHdRQUF3USxJQUFJLHFDQUFxQyxrQ0FBa0MsOENBQThDLDRDQUE0Qyw0Q0FBNEMsa0tBQWtLLElBQUksNkJBQTZCLGtDQUFrQyxrTUFBa00sSUFBSSx3S0FBd0ssa0NBQWtDLGlCQUFpQiw0Q0FBNEMseUJBQXlCLEtBQUssaUZBQWlGLElBQUksb0NBQW9DLHlDQUF5QyxJQUFJLCtDQUErQyw2Q0FBNkMsR0FBRyw2QkFBNkIsNkNBQTZDLDhDQUE4QyxHQUFHLHFFQUFxRSxjQUFjOztBQUVuOUwsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4R0FBOEcsb0dBQW9HLDBCQUEwQiw0UkFBNFIsNkJBQTZCLGlEQUFpRCxnRkFBZ0YsR0FBRyxFQUFFLHNCQUFzQixnQ0FBZ0MsbUNBQW1DLG1DQUFtQyxLQUFLLDRDQUE0QyxtQkFBbUIsS0FBSyx5Q0FBeUMsaURBQWlELEtBQUssWUFBWSxpQkFBaUIsd0JBQXdCLGtFQUFrRSw2QkFBNkIsc0JBQXNCLEtBQUssaUNBQWlDLDZCQUE2QixxQ0FBcUMsK0JBQStCLEtBQUssb0NBQW9DLHdDQUF3Qyw0QkFBNEIscUVBQXFFLE9BQU8sa0NBQWtDLDhDQUE4QyxtREFBbUQsNEZBQTRGLEtBQUssdUJBQXVCLGtDQUFrQyw4Q0FBOEMsaURBQWlELCtDQUErQywwRUFBMEUsS0FBSyxvQ0FBb0MsOEVBQThFLHlCQUF5QixtR0FBbUcsc0JBQXNCLEtBQUssT0FBTyxzQkFBc0Isb0NBQW9DLDJCQUEyQiw4Q0FBOEMsb0VBQW9FLE9BQU8sOENBQThDLDZDQUE2QyxxRkFBcUYsT0FBTyxpREFBaUQsZ0RBQWdELHFCQUFxQixpQkFBaUIsbUJBQW1CLE9BQU8sbUNBQW1DLE9BQU8sc0NBQXNDLEtBQUssNEVBQTRFLDhDQUE4QyxpQkFBaUIsY0FBYyxPQUFPLDRDQUE0QyxvQkFBb0IsK0NBQStDLFNBQVMsT0FBTyxLQUFLLDBEQUEwRCwwQkFBMEIsMEJBQTBCLEtBQUssR0FBRyx1QkFBdUIsMkJBQTJCLDJCQUEyQixLQUFLLDRCQUE0QixnQ0FBZ0MsS0FBSyxrQ0FBa0Msa0VBQWtFLGlFQUFpRSxpRkFBaUYsOENBQThDLEtBQUsseUNBQXlDLDJFQUEyRSxpRkFBaUYsOENBQThDLEtBQUssMkJBQTJCLHFGQUFxRixLQUFLLDRCQUE0QixzQkFBc0Isa0RBQWtELDhDQUE4Qyx1QkFBdUIsY0FBYyxPQUFPLDBDQUEwQyxPQUFPLGdDQUFnQyxtQ0FBbUMsT0FBTyxzQkFBc0IsS0FBSywrQkFBK0IsaUNBQWlDLG9CQUFvQixvQkFBb0Isb0JBQW9CLGdDQUFnQyw4QkFBOEIsT0FBTyxtQkFBbUIsS0FBSyxnQ0FBZ0Msb0NBQW9DLG1CQUFtQixtQkFBbUIsbUJBQW1CLGdDQUFnQyxnQ0FBZ0MsT0FBTyxtQkFBbUIsS0FBSyxpQ0FBaUMsd0NBQXdDLDZGQUE2RixLQUFLLDhCQUE4Qiw2QkFBNkIsdUZBQXVGLE9BQU8sMkJBQTJCLEtBQUssNE1BQTRNLGtDQUFrQyxFQUFFLHl3QkFBeXdCLDZCQUE2Qiw4QkFBOEIsT0FBTyx1REFBdUQsS0FBSyw0QkFBNEIsNkJBQTZCLDhCQUE4QixPQUFPLDREQUE0RCxLQUFLLCtCQUErQixpQ0FBaUMsZ0ZBQWdGLEtBQUssZ0NBQWdDLDJGQUEyRixxQkFBcUIscUJBQXFCLGdCQUFnQixPQUFPLGdDQUFnQyw0RkFBNEYsT0FBTyxtRUFBbUUsS0FBSyxvQ0FBb0MsMEZBQTBGLHFDQUFxQywwQkFBMEIsNkNBQTZDLE9BQU8sNkNBQTZDLEtBQUssaUNBQWlDLGdEQUFnRCxpQ0FBaUMscUJBQXFCLE9BQU8sa0RBQWtELEtBQUssNEJBQTRCLDZHQUE2RyxvRUFBb0UsdUJBQXVCLEtBQUssNkJBQTZCLDRCQUE0QixLQUFLLDRCQUE0QiwyQkFBMkIscUJBQXFCLE9BQU8sT0FBTywwQ0FBMEMsT0FBTyxpQkFBaUIsS0FBSyxrQ0FBa0MsMkJBQTJCLDJDQUEyQyxpQkFBaUIsS0FBSyxpQ0FBaUMsMkJBQTJCLDJDQUEyQyxpQkFBaUIsS0FBSyxtQ0FBbUMsMkJBQTJCLDJDQUEyQyxpQkFBaUIsS0FBSyxxQ0FBcUMsMkJBQTJCLDJDQUEyQyxpQkFBaUIsS0FBSyxpQ0FBaUMsMkJBQTJCLDJDQUEyQyxpQkFBaUIsS0FBSyxrQ0FBa0MsMkJBQTJCLDJDQUEyQyxpQkFBaUIsS0FBSywrQkFBK0IsOEdBQThHLDZEQUE2RCxzQ0FBc0MsS0FBSywrQkFBK0IsNkRBQTZELEtBQUssa0NBQWtDLDZEQUE2RCxLQUFLLG1DQUFtQywyQkFBMkIsNkJBQTZCLGtDQUFrQyxzQ0FBc0MseUJBQXlCLGlCQUFpQixLQUFLLDJDQUEyQyxpTUFBaU0sd0hBQXdILE9BQU8sb0NBQW9DLDhCQUE4QixrREFBa0QsMEJBQTBCLDhDQUE4QywwRUFBMEUsc0JBQXNCLHdPQUF3TyxLQUFLLElBQUksd0dBQXdHLDhDQUE4QyxhQUFhLEtBQUssNkNBQTZDLHFFQUFxRSxpQ0FBaUMsK0JBQStCLE9BQU8sK0JBQStCLDJDQUEyQyxPQUFPLHdGQUF3Rix3R0FBd0csTUFBTSwyRUFBMkUsc0NBQXNDLDREQUE0RCxPQUFPLHFDQUFxQyxNQUFNLEdBQUcsRUFBRSxtQ0FBbUMsdUNBQXVDLEdBQUcsbUNBQW1DLDJCQUEyQixrQ0FBa0MsTUFBTSxHQUFHLCtDQUErQyxtREFBbUQsa0NBQWtDLDhEQUE4RCxLQUFLLEVBQUUsdUJBQXVCLDZCQUE2QixpQkFBaUIsK0JBQStCLHVCQUF1Qiw4QkFBOEIsU0FBUyxpQ0FBaUMsb0NBQW9DLHNCQUFzQixPQUFPLDhDQUE4QyxxQkFBcUIsa0NBQWtDLE9BQU8sc0JBQXNCLE1BQU0sR0FBRyx5QkFBeUIseUJBQXlCLDJDQUEyQyxNQUFNLEdBQUcsK0JBQStCLDRDQUE0QyxHQUFHLHFDQUFxQyxtQkFBbUIsWUFBWSxPQUFPLHVDQUF1QyxtQkFBbUIsT0FBTyxLQUFLLGlCQUFpQixHQUFHLDJCQUEyQixxRUFBcUUsY0FBYzs7QUFFM25ZLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCx1ekNBQXV6Qyx3QkFBd0IsZ0NBQWdDLEtBQUssb0RBQW9ELEdBQUcsNEJBQTRCLDZCQUE2QixvQ0FBb0MsR0FBRyxnQ0FBZ0MsMEJBQTBCLHdCQUF3QixHQUFHLDBCQUEwQixxQ0FBcUMsdUJBQXVCLEdBQUcsZ0RBQWdELDRCQUE0QixtQ0FBbUMsR0FBRyw4QkFBOEIsNEJBQTRCLG1DQUFtQyxHQUFHLDhCQUE4Qiw0QkFBNEIsbUNBQW1DLEdBQUcsOEJBQThCLCtCQUErQiwwQkFBMEIsR0FBRyxvQ0FBb0MsMkJBQTJCLG9EQUFvRCxHQUFHLDhCQUE4Qiw0QkFBNEIsbURBQW1ELEdBQUcsOEJBQThCLHdCQUF3QixpREFBaUQsR0FBRywwQkFBMEIseUJBQXlCLDBFQUEwRSxHQUFHLDRCQUE0Qiw4QkFBOEIscUNBQXFDLEdBQUcsa0NBQWtDLCtCQUErQixvT0FBb08sR0FBRyxvQ0FBb0MsdUNBQXVDLGdDQUFnQyw2Q0FBNkMsR0FBRyxnQ0FBZ0MsOEtBQThLLGNBQWM7O0FBRTEwRyxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvREFBb0QseVBBQXlQLDZCQUE2QixtQkFBbUIsZ0JBQWdCLGlEQUFpRCxpQkFBaUIsNENBQTRDLGtCQUFrQiw0Q0FBNEMsa0JBQWtCLDRDQUE0QyxlQUFlLCtDQUErQyxpQkFBaUIsNENBQTRDLGlCQUFpQiw0Q0FBNEMsR0FBRyxpUEFBaVAsNkRBQTZELHdCQUF3QiwwQkFBMEIsS0FBSyw2R0FBNkcsMERBQTBELG1GQUFtRixpRUFBaUUsNkRBQTZELDJDQUEyQywyTEFBMkwsMERBQTBELDhGQUE4RixvQ0FBb0MseUJBQXlCLE9BQU8seUJBQXlCLEtBQUsseUNBQXlDLG1EQUFtRCw0REFBNEQsdURBQXVELHVEQUF1RCxxQ0FBcUMsa0RBQWtELHlEQUF5RCx3REFBd0QsdUNBQXVDLHdKQUF3SiwrQ0FBK0MsNkJBQTZCLDRCQUE0Qiw4REFBOEQsNkdBQTZHLGVBQWUscUJBQXFCLE9BQU8sbUNBQW1DLEdBQUcsZ0NBQWdDLDJLQUEySyxjQUFjOztBQUV6cEcsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0RBQW9ELDZCQUE2QixpQkFBaUIsOENBQThDLDJEQUEyRCxLQUFLLDhJQUE4SSw4QkFBOEIsb0NBQW9DLCtDQUErQyxzQ0FBc0Msd0NBQXdDLEtBQUsscURBQXFELDRCQUE0QixzQkFBc0IsT0FBTywwQkFBMEIsd0JBQXdCLHNCQUFzQixrREFBa0QsOEJBQThCLDZDQUE2Qyx3QkFBd0Isb0JBQW9CLFNBQVMsOERBQThELE9BQU8sS0FBSyxxQ0FBcUMsMEJBQTBCLEtBQUssT0FBTyxzQkFBc0IsS0FBSyxpQkFBaUIscUJBQXFCLGlCQUFpQixTQUFTLDREQUE0RCxLQUFLLFlBQVksS0FBSyxxQ0FBcUMsOEJBQThCLG9CQUFvQixPQUFPLHNJQUFzSSxNQUFNLDJDQUEyQywyQ0FBMkMsbUJBQW1CLE1BQU0sMkNBQTJDLDJDQUEyQyxtQkFBbUIsTUFBTSxpRUFBaUUsdUNBQXVDLHNEQUFzRCxPQUFPLHlDQUF5QyxxREFBcUQsT0FBTyw2QkFBNkIsa0JBQWtCLE9BQU8sNkRBQTZELHdEQUF3RCxvQkFBb0IsOEJBQThCLGdCQUFnQixPQUFPLDBCQUEwQixzQ0FBc0MsT0FBTyxPQUFPLDZDQUE2QyxPQUFPLGdDQUFnQywwQkFBMEIsT0FBTyxxQkFBcUIsb0NBQW9DLHNEQUFzRCxNQUFNLDhFQUE4RSx1QkFBdUIsMEJBQTBCLHlCQUF5QixPQUFPLCtCQUErQiw0Q0FBNEMsd0JBQXdCLE9BQU8sc0NBQXNDLHVHQUF1Ryx3QkFBd0IsT0FBTyxPQUFPLDBDQUEwQyxzSUFBc0ksd0JBQXdCLE9BQU8sb0NBQW9DLGdGQUFnRixNQUFNLDRFQUE0RSw2RUFBNkUsK0JBQStCLDJCQUEyQix3QkFBd0Isb0JBQW9CLE9BQU8sbURBQW1ELDBDQUEwQyxxQkFBcUIsaUJBQWlCLE9BQU8sMEJBQTBCLE9BQU8saUJBQWlCLGtCQUFrQiw0QkFBNEIsMENBQTBDLFFBQVEsVUFBVSx1RUFBdUUsa0RBQWtELDZEQUE2RCxvQkFBb0IsMEJBQTBCLHNCQUFzQixnQkFBZ0IsV0FBVyxTQUFTLE9BQU8sNEJBQTRCLDBCQUEwQixtQkFBbUIsVUFBVSx1RUFBdUUsa0RBQWtELDZEQUE2RCxvQkFBb0IsMEJBQTBCLHNCQUFzQixnQkFBZ0IsV0FBVyxTQUFTLE9BQU8sMEJBQTBCLE1BQU0sMkNBQTJDLGdCQUFnQiwwQ0FBMEMseUJBQXlCLFNBQVMsT0FBTyx1Q0FBdUMsa0JBQWtCLHVEQUF1RCw0QkFBNEIsK0JBQStCLCtCQUErQiw0QkFBNEIsK0JBQStCLE9BQU8sdUJBQXVCLFNBQVMsT0FBTyxlQUFlLEtBQUssbUVBQW1FLGtJQUFrSSwwQ0FBMEMscUJBQXFCLGlCQUFpQixPQUFPLDBCQUEwQixPQUFPLGlCQUFpQix3RUFBd0Usd0NBQXdDLFlBQVksVUFBVSx1Q0FBdUMsZ0RBQWdELDJJQUEySSxrQkFBa0Isd0JBQXdCLG9CQUFvQixjQUFjLFNBQVMsT0FBTyw0QkFBNEIsMkNBQTJDLGdEQUFnRCx5REFBeUQsT0FBTyxtQkFBbUIsTUFBTSxpREFBaUQsZ0JBQWdCLDBDQUEwQyx5QkFBeUIsU0FBUyxPQUFPLHVDQUF1QyxtQkFBbUIsc0NBQXNDLDRCQUE0Qix5QkFBeUIsb0JBQW9CLDRCQUE0QiwrQkFBK0IsT0FBTyxpQkFBaUIsU0FBUyxPQUFPLGVBQWUsS0FBSywyRUFBMkUsb0RBQW9ELHNCQUFzQiw4RUFBOEUsc0JBQXNCLG1CQUFtQixrQkFBa0IsT0FBTyxnQkFBZ0IscUNBQXFDLDBDQUEwQyxnQ0FBZ0MscURBQXFELHFCQUFxQix5QkFBeUIsU0FBUyxnQkFBZ0IsdURBQXVELDhCQUE4QiwrQ0FBK0MsZ0NBQWdDLFNBQVMsT0FBTyw0QkFBNEIsU0FBUyxPQUFPLHdCQUF3QixvQkFBb0IseURBQXlELHFCQUFxQixTQUFTLE9BQU8sc0JBQXNCLFNBQVMsMEJBQTBCLCtDQUErQyxnQ0FBZ0MsU0FBUyxPQUFPLDRCQUE0QixTQUFTLE9BQU8sTUFBTSxnREFBZ0QsMENBQTBDLHFCQUFxQixpQkFBaUIsT0FBTyxzQ0FBc0MsT0FBTyxnQ0FBZ0Msb0NBQW9DLDBCQUEwQixNQUFNLDhDQUE4QywyQkFBMkIsbUJBQW1CLGVBQWUsTUFBTSxzREFBc0Qsa0NBQWtDLHNDQUFzQyxPQUFPLGtCQUFrQixNQUFNLG1GQUFtRixvRUFBb0Usc0JBQXNCLE9BQU8sOEJBQThCLE1BQU0sc0RBQXNELG9FQUFvRSwwQkFBMEIsT0FBTyxrQkFBa0IsTUFBTSxrREFBa0Qsd0VBQXdFLE1BQU0sNkJBQTZCLHdCQUF3Qix3QkFBd0IsaUJBQWlCLGVBQWUsK0JBQStCLG1CQUFtQixlQUFlLEtBQUssc0JBQXNCLHNCQUFzQixzQkFBc0Isc0JBQXNCLHFCQUFxQiw2QkFBNkIsd0JBQXdCLHdCQUF3QixxREFBcUQsMEJBQTBCLHVCQUF1QixPQUFPLG1DQUFtQyxtQ0FBbUMsS0FBSywra0JBQStrQiwrS0FBK0sseVpBQXlaLGlFQUFpRSx3QkFBd0IsaUNBQWlDLGdCQUFnQiwwQ0FBMEMsaUJBQWlCLG9CQUFvQixzQkFBc0IsdUJBQXVCLGlCQUFpQixPQUFPLGdDQUFnQyxvRUFBb0UsZ0RBQWdELHFEQUFxRCxzREFBc0QsV0FBVyxPQUFPLDZCQUE2QixXQUFXLG1CQUFtQiwwQkFBMEIsc0JBQXNCLGdCQUFnQixXQUFXLFNBQVMsMEJBQTBCLHlDQUF5QyxTQUFTLDRDQUE0QywwQkFBMEIsU0FBUyxrQ0FBa0MsMEJBQTBCLFNBQVMsbUJBQW1CLE9BQU8sNkRBQTZELCtFQUErRSx5Q0FBeUMscURBQXFELHlDQUF5QyxpQkFBaUIsNkJBQTZCLHVCQUF1Qiw2QkFBNkIsbURBQW1ELGlDQUFpQyw4QkFBOEIsd0RBQXdELFdBQVcsT0FBTywwQkFBMEIsV0FBVyxTQUFTLDRCQUE0QiwwQkFBMEIsU0FBUyw0Q0FBNEMsMEJBQTBCLFNBQVMsa0NBQWtDLDBCQUEwQixTQUFTLG1CQUFtQixPQUFPLHlEQUF5RCxNQUFNLG9EQUFvRCw4QkFBOEIsOEJBQThCLHlDQUF5QyxPQUFPLHdEQUF3RCxnSUFBZ0ksT0FBTyw0QkFBNEIsb0VBQW9FLE9BQU8sZ0RBQWdELE1BQU0sZ0RBQWdELCtCQUErQixNQUFNLGtFQUFrRSw0Q0FBNEMsc0RBQXNELE1BQU0sZ0VBQWdFLHFEQUFxRCxNQUFNLG1GQUFtRix5Q0FBeUMsd0RBQXdELCtFQUErRSwyREFBMkQscUJBQXFCLHlDQUF5Qyx5Q0FBeUMsaUJBQWlCLDJCQUEyQiwwQkFBMEIsK0NBQStDLDRCQUE0QixPQUFPLHFCQUFxQixTQUFTLHFCQUFxQixhQUFhLE9BQU8sNEJBQTRCLHNCQUFzQix1Q0FBdUMsU0FBUyxPQUFPLE9BQU8sbUJBQW1CLGFBQWEsT0FBTyw0QkFBNEIsc0JBQXNCLHVCQUF1QixTQUFTLGdCQUFnQixlQUFlLE9BQU8scUJBQXFCLFNBQVMsT0FBTyxtQkFBbUIsTUFBTSx1QkFBdUIseURBQXlELGtDQUFrQyxRQUFRLEtBQUssT0FBTyx5REFBeUQsa0JBQWtCLGtCQUFrQiwwQkFBMEIsa0JBQWtCLG9CQUFvQixTQUFTLHdCQUF3QixpQkFBaUIsbUJBQW1CLFNBQVMsdUJBQXVCLGlCQUFpQixtQkFBbUIsU0FBUyx3QkFBd0IsaUJBQWlCLG1CQUFtQixTQUFTLHFCQUFxQixRQUFRLEtBQUssdURBQXVELCtDQUErQyxrQkFBa0IsZ0JBQWdCLCtCQUErQixnQkFBZ0Isa0JBQWtCLE9BQU8sNkJBQTZCLGVBQWUsaUJBQWlCLE9BQU8sNEJBQTRCLGVBQWUsaUJBQWlCLE9BQU8sNEJBQTRCLGVBQWUsaUJBQWlCLE9BQU8sNEJBQTRCLFlBQVksT0FBTyxlQUFlLE1BQU0sK0ZBQStGLDBDQUEwQyxrQ0FBa0MseUNBQXlDLE1BQU0saUNBQWlDLHlDQUF5Qyx5QkFBeUIsZ0JBQWdCLFNBQVMsaUNBQWlDLDRCQUE0QiwyREFBMkQsT0FBTyxpQkFBaUIsS0FBSyx1RkFBdUYsa0NBQWtDLGtCQUFrQixxQkFBcUIsaUJBQWlCLE9BQU8sOENBQThDLGVBQWUsNEJBQTRCLE9BQU8sZUFBZSxNQUFNLHdEQUF3RCw2Q0FBNkMsTUFBTSxxREFBcUQsZ0NBQWdDLGdEQUFnRCxPQUFPLDBCQUEwQixNQUFNLHlEQUF5RCxrQ0FBa0MsZ0RBQWdELE9BQU8sMEJBQTBCLE1BQU0sOENBQThDLGlDQUFpQyxNQUFNLGdGQUFnRixpQ0FBaUMsTUFBTSw0Q0FBNEMsMkJBQTJCLDJCQUEyQixPQUFPLG9CQUFvQixNQUFNLG1GQUFtRix3Q0FBd0Msc0NBQXNDLE9BQU8sdUJBQXVCLGdCQUFnQixPQUFPLHFEQUFxRCxPQUFPLDRCQUE0QixNQUFNLDZDQUE2QyxtREFBbUQsNEJBQTRCLE1BQU0sc0VBQXNFLGlFQUFpRSxtQ0FBbUMsTUFBTSw2Q0FBNkMsa0VBQWtFLG9DQUFvQyxNQUFNLHNGQUFzRiw4Q0FBOEMscUNBQXFDLGdCQUFnQixPQUFPLE9BQU8saUJBQWlCLE9BQU8sdUJBQXVCLGNBQWMsT0FBTyxxREFBcUQsT0FBTywrQkFBK0IsNEJBQTRCLE1BQU0sK0NBQStDLG1EQUFtRCw2QkFBNkIsTUFBTSx5RUFBeUUsa0VBQWtFLG9DQUFvQyxNQUFNLCtDQUErQyxtRUFBbUUscUNBQXFDLE1BQU0sc0ZBQXNGLHdDQUF3QyxZQUFZLHFDQUFxQyxpQkFBaUIsZ0JBQWdCLE9BQU8sT0FBTyxnQkFBZ0IsaUJBQWlCLE9BQU8sdUJBQXVCLGNBQWMsT0FBTyxnREFBZ0QsT0FBTyx5QkFBeUIsY0FBYyxjQUFjLE9BQU8scUNBQXFDLFNBQVMsT0FBTywrQkFBK0IsNEJBQTRCLE1BQU0sK0NBQStDLG1EQUFtRCw2QkFBNkIsTUFBTSx5RUFBeUUsa0VBQWtFLG9DQUFvQyxNQUFNLCtDQUErQyxtRUFBbUUscUNBQXFDLE1BQU0sOEZBQThGLHNEQUFzRCxvREFBb0QsZ0NBQWdDLGdGQUFnRiwyQkFBMkIsc0JBQXNCLE9BQU8scURBQXFELGlCQUFpQixPQUFPLG1EQUFtRCxPQUFPLHNEQUFzRCx3RUFBd0UsT0FBTyw4REFBOEQsTUFBTSxpREFBaUQsdUNBQXVDLE1BQU0sOEVBQThFLGtEQUFrRCxpQ0FBaUMsMEJBQTBCLDhCQUE4QixrQkFBa0Isd0RBQXdELE9BQU8sT0FBTyx5REFBeUQsT0FBTyw0QkFBNEIsTUFBTSxrRkFBa0YsWUFBWSxvRkFBb0YsMEJBQTBCLDJCQUEyQiwyQkFBMkIsZ0NBQWdDLHFDQUFxQyxzREFBc0QseUJBQXlCLDJCQUEyQix5QkFBeUIsNkJBQTZCLE9BQU8sNkNBQTZDLHFDQUFxQyxpQkFBaUIsZ0JBQWdCLE9BQU8sT0FBTyxnQkFBZ0IsaUJBQWlCLE9BQU8sc0JBQXNCLHFCQUFxQixjQUFjLE9BQU8sd0RBQXdELHNDQUFzQyx5QkFBeUIsT0FBTyxZQUFZLDZCQUE2QixPQUFPLHFDQUFxQyxzQ0FBc0MseUJBQXlCLE9BQU8sK0JBQStCLHdCQUF3Qix3Q0FBd0Msc0JBQXNCLDBDQUEwQyx1QkFBdUIsY0FBYyxjQUFjLE9BQU8scUNBQXFDLFNBQVMsT0FBTyxvQkFBb0IsTUFBTSx1RUFBdUUsY0FBYyxzREFBc0QseUJBQXlCLDRCQUE0QiwwQkFBMEIsbUJBQW1CLE9BQU8sc0RBQXNELDBCQUEwQiw0QkFBNEIsMEJBQTBCLG1CQUFtQixPQUFPLG9FQUFvRSxzQ0FBc0MsTUFBTSx5RkFBeUYsa0VBQWtFLHlCQUF5QiwrQkFBK0IseUJBQXlCLDZCQUE2Qiw2Q0FBNkMsZ0NBQWdDLDBCQUEwQix1QkFBdUIsMEJBQTBCLGdDQUFnQyxPQUFPLGdGQUFnRix1REFBdUQsMEJBQTBCLHdCQUF3QiwwQkFBMEIsb0JBQW9CLE9BQU8sK0JBQStCLG9CQUFvQixpQkFBaUIsZ0JBQWdCLE9BQU8sT0FBTyxnQkFBZ0IsaUJBQWlCLE9BQU8sc0JBQXNCLHFCQUFxQixjQUFjLE9BQU8sd0RBQXdELHdCQUF3QixzQ0FBc0MsT0FBTyxZQUFZLDZCQUE2QixPQUFPLHFDQUFxQyx3QkFBd0Isc0NBQXNDLE9BQU8sdUZBQXVGLGNBQWMsY0FBYyxPQUFPLHFDQUFxQyxTQUFTLE9BQU8sK0NBQStDLHlCQUF5QiwwQkFBMEIsT0FBTyw0QkFBNEIsTUFBTSw4RUFBOEUsb0NBQW9DLE1BQU0sNENBQTRDLGtEQUFrRCwrQ0FBK0MsdUJBQXVCLDBCQUEwQixnSEFBZ0gsK0JBQStCLG9CQUFvQiwrQkFBK0Isc0NBQXNDLHdCQUF3Qix1QkFBdUIsU0FBUyxPQUFPLDhKQUE4SixzQ0FBc0MsK0NBQStDLHNEQUFzRCxXQUFXLE9BQU8sOEJBQThCLGdDQUFnQywrQkFBK0IsNEJBQTRCLHdDQUF3QyxnQ0FBZ0MsU0FBUyxpQ0FBaUMsMkJBQTJCLE9BQU8sd0JBQXdCLGlDQUFpQyxPQUFPLE9BQU8scUJBQXFCLE9BQU8sMkJBQTJCLEtBQUssZ1JBQWdSLHlCQUF5Qix3QkFBd0Isd0JBQXdCLGdCQUFnQixhQUFhLGNBQWMsYUFBYSx3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQixvREFBb0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENB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MEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDhEQUE4RCx5REFBeUQsdUJBQXVCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixnQkFBZ0IsZ0JBQWdCLGdCQUFnQixrQkFBa0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isa0JBQWtCLGtCQUFrQixrQkFBa0Isa0JBQWtCLGtCQUFrQixvQkFBb0Isa0JBQWtCLHFCQUFxQixPQUFPLGlCQUFpQixNQUFNLDJDQUEyQywrQkFBK0IsS0FBSywwQ0FBMEMsa0RBQWtELDRDQUE0QyxzQkFBc0Isc0JBQXNCLHFCQUFxQixvQkFBb0IsT0FBTyx5SkFBeUosb0JBQW9CLHNDQUFzQywrQ0FBK0Msc0RBQXNELFdBQVcsT0FBTyx3QkFBd0Isb0NBQW9DLG1DQUFtQyx3QkFBd0IsbUNBQW1DLHdEQUF3RCxnQ0FBZ0MsaUNBQWlDLDhDQUE4QyxxQ0FBcUMsOEJBQThCLFNBQVMsNkJBQTZCLHVCQUF1Qix5QkFBeUIsT0FBTyx3QkFBd0IsNkJBQTZCLE9BQU8sT0FBTyxxQkFBcUIsT0FBTywyQkFBMkIsS0FBSyw0Q0FBNEMsNEJBQTRCLHVDQUF1QyxLQUFLLHNEQUFzRCxjQUFjLHlDQUF5QyxvREFBb0QsMENBQTBDLE9BQU8scUJBQXFCLHlDQUF5QyxPQUFPLHVCQUF1Qix1Q0FBdUMsT0FBTyxPQUFPLHlDQUF5QyxPQUFPLG1CQUFtQixNQUFNLG9JQUFvSSxpQkFBaUIsaUJBQWlCLEtBQUsscURBQXFELDJCQUEyQiw2Q0FBNkMscUJBQXFCLE9BQU8sT0FBTyxvQ0FBb0MsT0FBTyxpQkFBaUIsTUFBTSw2R0FBNkcsMkNBQTJDLG1CQUFtQixxQkFBcUIsT0FBTyxPQUFPLHFDQUFxQyxnQkFBZ0IsT0FBTyxrQkFBa0IsTUFBTSxxTEFBcUwscUJBQXFCLE9BQU8sT0FBTyw4QkFBOEIsOEJBQThCLE9BQU8sTUFBTSxvRkFBb0YsaURBQWlELHVCQUF1QixPQUFPLFdBQVcsdUJBQXVCLGdEQUFnRCw4Q0FBOEMseUJBQXlCLE9BQU8sVUFBVSw2QkFBNkIsNkJBQTZCLDJCQUEyQixPQUFPLE9BQU8saUNBQWlDLGlDQUFpQyx1Q0FBdUMscUNBQXFDLGlEQUFpRCw2Q0FBNkMsb0JBQW9CLG9DQUFvQyxrQ0FBa0Msd0NBQXdDLHNDQUFzQyxxRUFBcUUsbURBQW1ELHlEQUF5RCwwQkFBMEIsYUFBYSxXQUFXLFNBQVMsT0FBTyxNQUFNLGdFQUFnRSxpQ0FBaUMsc0JBQXNCLGdCQUFnQix5QkFBeUIsR0FBRyxlQUFlLFlBQVksT0FBTyxnQ0FBZ0MsTUFBTSxtRUFBbUUseUJBQXlCLHVCQUF1QixXQUFXLE9BQU8sdUJBQXVCLGtDQUFrQywyQkFBMkIscUJBQXFCLG1DQUFtQyw0QkFBNEIsT0FBTyxNQUFNLG1FQUFtRSxvQkFBb0IscUJBQXFCLFdBQVcsT0FBTyw2R0FBNkcsZ0NBQWdDLDhCQUE4QixvQkFBb0IsU0FBUyxPQUFPLG9DQUFvQyxTQUFTLE9BQU8sa0JBQWtCLE1BQU0seUVBQXlFLG9CQUFvQixxQkFBcUIsU0FBUyxPQUFPLG9DQUFvQyxzQ0FBc0Msc0JBQXNCLHdDQUF3QyxzQkFBc0IsT0FBTyxpREFBaUQsT0FBTyxPQUFPLG1CQUFtQixPQUFPLDRCQUE0QixzQ0FBc0MsTUFBTSwrQ0FBK0MsNEJBQTRCLHFCQUFxQixPQUFPLE9BQU8sa0JBQWtCLE9BQU8sa0JBQWtCLE1BQU0sdURBQXVELHVEQUF1RCxrQ0FBa0MsNkJBQTZCLCtCQUErQiw4QkFBOEIsOEJBQThCLGdDQUFnQywrQkFBK0IsK0JBQStCLDZCQUE2QixzQkFBc0IsbURBQW1ELGtEQUFrRCxtREFBbUQsb0RBQW9ELHVCQUF1QixPQUFPLE9BQU8seURBQXlELDBEQUEwRCxxQkFBcUIsT0FBTyxzQ0FBc0Msa0RBQWtELGlDQUFpQyxpQ0FBaUMsK0NBQStDLHVDQUF1Qyx5QkFBeUIsTUFBTSw0RUFBNEUsNkJBQTZCLHNEQUFzRCxrQ0FBa0MsTUFBTSw0RUFBNEUsNkJBQTZCLHNEQUFzRCx3Q0FBd0MsTUFBTSw2RUFBNkUsMkNBQTJDLE1BQU0saURBQWlELHNDQUFzQyw4QkFBOEIsb0NBQW9DLHFCQUFxQixpQkFBaUIsT0FBTywwQ0FBMEMsdURBQXVELHFCQUFxQixxQ0FBcUMsK0RBQStELHVDQUF1QyxPQUFPLDBCQUEwQiw4QkFBOEIsc0JBQXNCLE9BQU8sb0JBQW9CLE1BQU0sK0NBQStDLHFDQUFxQyxNQUFNLGdFQUFnRSw0QkFBNEIsTUFBTSwyRUFBMkUscUNBQXFDLE1BQU0sMkVBQTJFLDhCQUE4QiwyQ0FBMkMsbURBQW1ELHFCQUFxQixjQUFjLHdCQUF3Qiw4QkFBOEIsT0FBTyw2QkFBNkIsK0JBQStCLGNBQWMsb0JBQW9CLG1DQUFtQyw2QkFBNkIsU0FBUyxPQUFPLG1CQUFtQixNQUFNLDhFQUE4RSxvREFBb0Qsd0JBQXdCLDhCQUE4QiwyREFBMkQsWUFBWSxzQkFBc0Isc0JBQXNCLHFCQUFxQixpQkFBaUIsT0FBTyxtREFBbUQsd0RBQXdELG9DQUFvQyx3Q0FBd0MsU0FBUyxzQkFBc0IsZ0NBQWdDLHdCQUF3QixTQUFTLE9BQU8sc0JBQXNCLGlDQUFpQyxRQUFRLE9BQU8sNENBQTRDLFNBQVMscUJBQXFCLE9BQU8sT0FBTyw0QkFBNEIsU0FBUywyQkFBMkIsT0FBTyw0QkFBNEIsTUFBTSxrREFBa0Qsc0VBQXNFLCtCQUErQixNQUFNLHNPQUFzTyxvREFBb0QsWUFBWSxpQkFBaUIsc0NBQXNDLE9BQU8sT0FBTyxjQUFjLE9BQU8sMEJBQTBCLHFEQUFxRCxzREFBc0QsaUNBQWlDLGVBQWUseUJBQXlCLGtFQUFrRSx1QkFBdUIsT0FBTyxPQUFPLCtDQUErQyxTQUFTLCtCQUErQixPQUFPLHNCQUFzQiwyREFBMkQsNEJBQTRCLHlCQUF5QixtQkFBbUIsaUJBQWlCLE9BQU8sNENBQTRDLFNBQVMsT0FBTyxPQUFPLDBCQUEwQix3QkFBd0IsT0FBTyxzQkFBc0IsK0JBQStCLG1DQUFtQyxPQUFPLHFDQUFxQywyREFBMkQsNEJBQTRCLE9BQU8sNkVBQTZFLHdEQUF3RCxPQUFPLGdDQUFnQywwQkFBMEIsd0JBQXdCLE9BQU8sNEJBQTRCLE1BQU0sa0VBQWtFLHNFQUFzRSwrQ0FBK0MsTUFBTSxpRUFBaUUsc0NBQXNDLE1BQU0sa0RBQWtELHVDQUF1QyxNQUFNLGtFQUFrRSxzQ0FBc0MsTUFBTSxrREFBa0QsdUNBQXVDLE1BQU0sNEVBQTRFLGtEQUFrRCx1QkFBdUIsNkJBQTZCLHFCQUFxQix5R0FBeUcsMkRBQTJELHlCQUF5QixNQUFNLHVHQUF1RyxvREFBb0Qsd0JBQXdCLDhCQUE4QiwrRUFBK0UsK0JBQStCLG9CQUFvQixPQUFPLHNCQUFzQixZQUFZLE9BQU8sNkNBQTZDLHNCQUFzQix3REFBd0QsNENBQTRDLE9BQU8sNEJBQTRCLE1BQU0sMEZBQTBGLHVDQUF1QyxNQUFNLHdGQUF3RixzQ0FBc0MsOEJBQThCLDJDQUEyQywrREFBK0QsNkRBQTZELG9EQUFvRCw0QkFBNEIsc0JBQXNCLFNBQVMsNEJBQTRCLHdCQUF3QiwwQkFBMEIsb0JBQW9CLE9BQU8sMkRBQTJELE1BQU0sbURBQW1ELDJCQUEyQixxQ0FBcUMsK0NBQStDLE9BQU8sbUNBQW1DLG9DQUFvQyxnQ0FBZ0MsU0FBUyxPQUFPLDhCQUE4QixTQUFTLE9BQU8saURBQWlELG9CQUFvQixNQUFNLCtGQUErRixzQ0FBc0MsOEJBQThCLDJDQUEyQyxrQ0FBa0MsMEJBQTBCLHdCQUF3QiwwQkFBMEIsb0JBQW9CLE9BQU8sNkJBQTZCLHFEQUFxRCx1Q0FBdUMsMEJBQTBCLE9BQU8sT0FBTyx1Q0FBdUMsc0NBQXNDLE9BQU8scUNBQXFDLGlDQUFpQyxTQUFTLE9BQU8sNEJBQTRCLE1BQU0sK0NBQStDLHFDQUFxQyxNQUFNLCtDQUErQyxxQ0FBcUMsTUFBTSw0Q0FBNEMsd0JBQXdCLG9CQUFvQixNQUFNLDBDQUEwQyxpQ0FBaUMsTUFBTSwyRUFBMkUsbUNBQW1DLFlBQVksMEJBQTBCLGNBQWMsb0JBQW9CLGlCQUFpQixnQkFBZ0IsT0FBTyxnREFBZ0QsNkNBQTZDLCtCQUErQixzREFBc0QsOENBQThDLE9BQU8sWUFBWSx5QkFBeUIsT0FBTyxnREFBZ0Qsd0JBQXdCLDhDQUE4QyxPQUFPLDZDQUE2QywwREFBMEQsZ0JBQWdCLGlCQUFpQixpQkFBaUIsT0FBTyx5Q0FBeUMsd0JBQXdCLHNDQUFzQyxPQUFPLHdCQUF3Qiw0QkFBNEIsTUFBTSw2REFBNkQsMkNBQTJDLDZCQUE2QixrQkFBa0IsOERBQThELHlDQUF5QywyQkFBMkIsd0JBQXdCLDJCQUEyQix3QkFBd0Isd0NBQXdDLE9BQU8sZ0VBQWdFLFlBQVksNkJBQTZCLHlCQUF5Qix5QkFBeUIsc0NBQXNDLHVCQUF1QixjQUFjLE9BQU8seUJBQXlCLFNBQVMsT0FBTyxtREFBbUQsZ0NBQWdDLGlCQUFpQixnQkFBZ0IseUJBQXlCLFNBQVMsT0FBTywyQkFBMkIsUUFBUSxPQUFPLG9HQUFvRywySkFBMkosbUNBQW1DLGtDQUFrQyxlQUFlLHlCQUF5QixrQ0FBa0MsNEJBQTRCLDRCQUE0QixXQUFXLFNBQVMsZ0JBQWdCLDBCQUEwQixTQUFTLE9BQU8sY0FBYyxrQkFBa0IsT0FBTyxnQkFBZ0IsZ0VBQWdFLHdCQUF3QixPQUFPLGdCQUFnQiw2Q0FBNkMsTUFBTSw4UkFBOFIsNEJBQTRCLDRCQUE0QixnQkFBZ0IsMkRBQTJELE9BQU8sMEJBQTBCLHNEQUFzRCwyQ0FBMkMsK0JBQStCLDhCQUE4QixTQUFTLCtCQUErQiw4QkFBOEIsK0NBQStDLDBCQUEwQixXQUFXLFNBQVMsa0JBQWtCLCtDQUErQyxPQUFPLHdEQUF3RCwyQ0FBMkMsK0JBQStCLDhCQUE4QixTQUFTLGtCQUFrQixtREFBbUQsT0FBTyxtREFBbUQsaURBQWlELCtCQUErQiw4QkFBOEIsK0NBQStDLDBCQUEwQixXQUFXLFNBQVMsa0JBQWtCLG1EQUFtRCxPQUFPLG9LQUFvSyxnQkFBZ0Isc0RBQXNELE9BQU8sNERBQTRELDZCQUE2QixrQkFBa0IsMEVBQTBFLFNBQVMsK0JBQStCLGtCQUFrQixrRkFBa0YsU0FBUyxrQkFBa0IsK0ZBQStGLE9BQU8sd0NBQXdDLE1BQU0sdUVBQXVFLGdEQUFnRCxNQUFNLHVFQUF1RSxnREFBZ0QsTUFBTSwrQ0FBK0MsK0NBQStDLE1BQU0sd0ZBQXdGLGdDQUFnQyw4RUFBOEUsb0VBQW9FLGdDQUFnQyw0QkFBNEIsOEJBQThCLCtFQUErRSwwRkFBMEYsTUFBTSwrQ0FBK0MsK0JBQStCLDhCQUE4QixvQkFBb0IsbUNBQW1DLFFBQVEsT0FBTyxvREFBb0QsT0FBTyxtQkFBbUIsTUFBTSxtRkFBbUYsK0JBQStCLHNCQUFzQixtQ0FBbUMsUUFBUSxPQUFPLHdEQUF3RCxzQ0FBc0Msd0JBQXdCLE9BQU8sNEJBQTRCLE1BQU0sK0NBQStDLHFDQUFxQyxNQUFNLDZDQUE2QywrQkFBK0IsMEJBQTBCLHFCQUFxQix3QkFBd0IsK0JBQStCLHNCQUFzQixPQUFPLE9BQU8sc0JBQXNCLE9BQU8sb0RBQW9ELHdCQUF3QixvREFBb0Qsd0JBQXdCLGtCQUFrQiwwQ0FBMEMsb0JBQW9CLG9CQUFvQixZQUFZLE9BQU8sMkJBQTJCLHlCQUF5Qiw2QkFBNkIsK0JBQStCLG1DQUFtQyxnQkFBZ0Isb0JBQW9CLHNCQUFzQiwyQkFBMkIseUNBQXlDLHlCQUF5Qix5QkFBeUIsYUFBYSwwQkFBMEIsd0JBQXdCLFdBQVcsU0FBUyxpQ0FBaUMsbUNBQW1DLGdCQUFnQixvQkFBb0Isc0JBQXNCLDJCQUEyQix5Q0FBeUMseUJBQXlCLHlCQUF5QixhQUFhLDBCQUEwQix3QkFBd0IsV0FBVyxTQUFTLDhCQUE4QixvQkFBb0Isb0JBQW9CLG9CQUFvQixTQUFTLE9BQU8sb0JBQW9CLG9CQUFvQixvQkFBb0IsU0FBUyxPQUFPLGdCQUFnQiwwREFBMEQsTUFBTSxtTUFBbU0sK0JBQStCLDBCQUEwQixxQkFBcUIsd0JBQXdCLCtCQUErQixzQkFBc0IsT0FBTyxPQUFPLHNCQUFzQixPQUFPLDJCQUEyQix5QkFBeUIsOEJBQThCLGdEQUFnRCwrQkFBK0IsbUNBQW1DLGdCQUFnQixvQkFBb0Isc0JBQXNCLDJCQUEyQiw2QkFBNkIsNkJBQTZCLGFBQWEsMkJBQTJCLFdBQVcsU0FBUyxpQ0FBaUMsbUNBQW1DLGdCQUFnQixvQkFBb0Isc0JBQXNCLDJCQUEyQiw2QkFBNkIsNkJBQTZCLGFBQWEsMkJBQTJCLFdBQVcsU0FBUyw4QkFBOEIsb0JBQW9CLHNCQUFzQixTQUFTLE9BQU8sb0JBQW9CLHNCQUFzQixTQUFTLE9BQU8sZ0JBQWdCLDRCQUE0QixpQkFBaUIsT0FBTyxPQUFPLGlCQUFpQixPQUFPLDhCQUE4QixvQkFBb0IsT0FBTyxtQkFBbUIsTUFBTSw2Q0FBNkMsMENBQTBDLDBDQUEwQyw2QkFBNkIsMEJBQTBCLHFCQUFxQixxQkFBcUIsK0RBQStELDBCQUEwQixXQUFXLG9CQUFvQixvQkFBb0IsT0FBTyxZQUFZLDRCQUE0QixzQkFBc0IsU0FBUyw0QkFBNEIsc0JBQXNCLFNBQVMsMkJBQTJCLG9CQUFvQixvRkFBb0YsZ0JBQWdCLGdCQUFnQixTQUFTLHVDQUF1QyxnQkFBZ0IsU0FBUyxvQkFBb0IsT0FBTyxjQUFjLCtCQUErQixNQUFNLHVGQUF1Rix3Q0FBd0MsTUFBTSxnREFBZ0QsdUNBQXVDLE1BQU0sOENBQThDLHVDQUF1QyxNQUFNLDhFQUE4RSxpQ0FBaUMsTUFBTSw2RkFBNkYsc0NBQXNDLHVCQUF1Qiw2QkFBNkIscUJBQXFCLDZGQUE2Riw0QkFBNEIsMkJBQTJCLG9CQUFvQixPQUFPLCtEQUErRCxxQkFBcUIsZ0NBQWdDLE9BQU8sa0NBQWtDLG1CQUFtQix5QkFBeUIsdUJBQXVCLDBCQUEwQixPQUFPLHdCQUF3Qiw4QkFBOEIsc0JBQXNCLE9BQU8sa0JBQWtCLE1BQU0sZ0RBQWdELHNEQUFzRCxNQUFNLCtDQUErQyw2QkFBNkIsd0RBQXdELG9EQUFvRCxxQkFBcUIsZ0JBQWdCLDRCQUE0QixnQkFBZ0IsT0FBTyxPQUFPLHVCQUF1QixxQkFBcUIsU0FBUyx3REFBd0Qsb0NBQW9DLCtDQUErQyxPQUFPLCtDQUErQyxpQkFBaUIsTUFBTSx5S0FBeUssK0RBQStELDhEQUE4RCxpQ0FBaUMsK0NBQStDLGlCQUFpQixNQUFNLHlFQUF5RSxtR0FBbUcsOENBQThDLG9CQUFvQixtQ0FBbUMsUUFBUSxPQUFPLGtDQUFrQyxpQ0FBaUMsZ0NBQWdDLG9CQUFvQixtQkFBbUIsU0FBUyxrQkFBa0Isa0JBQWtCLFNBQVMsY0FBYyxPQUFPLGlCQUFpQixNQUFNLDZDQUE2QyxrQ0FBa0MsTUFBTSwyQ0FBMkMsaUNBQWlDLE1BQU0sK0NBQStDLGlDQUFpQyxNQUFNLDZDQUE2QyxnQ0FBZ0MsTUFBTSw2Q0FBNkMsbUNBQW1DLE1BQU0sMkNBQTJDLGtDQUFrQyxNQUFNLCtDQUErQyxpQ0FBaUMsTUFBTSw2Q0FBNkMsZ0NBQWdDLE1BQU0sNkNBQTZDLGtDQUFrQyxNQUFNLDJDQUEyQyxpQ0FBaUMsTUFBTSx5SkFBeUosMEJBQTBCLE1BQU0saURBQWlELGlFQUFpRSxtRUFBbUUsZ0RBQWdELE1BQU0sa0RBQWtELCtFQUErRSx3Q0FBd0MsTUFBTSx5REFBeUQscUJBQXFCLGtCQUFrQixNQUFNLHVEQUF1RCxpRUFBaUUsaUNBQWlDLE1BQU0sbURBQW1ELDZEQUE2RCxxQ0FBcUMsTUFBTSxxREFBcUQsOERBQThELHNDQUFzQyxNQUFNLG1EQUFtRCw2REFBNkQscUNBQXFDLE1BQU0scURBQXFELDhEQUE4RCxzQ0FBc0MsTUFBTSxtREFBbUQsNkRBQTZELHFDQUFxQyxNQUFNLG1EQUFtRCw2REFBNkQsbUNBQW1DLHFDQUFxQyxNQUFNLHFEQUFxRCw2REFBNkQsbUNBQW1DLHNDQUFzQyxNQUFNLGdEQUFnRCw2REFBNkQsOEJBQThCLGdDQUFnQyxNQUFNLGtEQUFrRCw4REFBOEQsOEJBQThCLGlDQUFpQyxNQUFNLDJFQUEyRSw4REFBOEQsOEJBQThCLGlDQUFpQyxNQUFNLGtEQUFrRCw4REFBOEQsOEJBQThCLGlDQUFpQyxNQUFNLHFHQUFxRyw2REFBNkQsOEJBQThCLGdDQUFnQyxNQUFNLG1EQUFtRCx3REFBd0QsOEJBQThCLHFDQUFxQyxNQUFNLGlFQUFpRSwyRUFBMkUsNkRBQTZELDZDQUE2Qyw2QkFBNkIsa0NBQWtDLHFEQUFxRCwrQkFBK0IsS0FBSyxnREFBZ0QsNkJBQTZCLG9EQUFvRCxpQkFBaUIsTUFBTSx5REFBeUQsbUlBQW1JLGVBQWUsWUFBWSxnQ0FBZ0MsMEJBQTBCLDZCQUE2Qiw2QkFBNkIsT0FBTyx1QkFBdUIsc0RBQXNELHNCQUFzQix1QkFBdUIscUJBQXFCLE9BQU8sb0JBQW9CLHVCQUF1QixPQUFPLE9BQU8sa0JBQWtCLE9BQU8saUJBQWlCLE1BQU0sNERBQTRELG1DQUFtQyxNQUFNLHFEQUFxRCw4QkFBOEIsTUFBTSx3QkFBd0IsaUlBQWlJLEtBQUssMkJBQTJCLDZEQUE2RCxvREFBb0QsK0NBQStDLHFCQUFxQixZQUFZLE9BQU8seUNBQXlDLE9BQU8sNkJBQTZCLGdDQUFnQywyQkFBMkIseUJBQXlCLGVBQWUsT0FBTywyREFBMkQsa0RBQWtELG9CQUFvQixrQkFBa0IsT0FBTyxzQ0FBc0MsbUVBQW1FLG9CQUFvQixPQUFPLG1CQUFtQixpQ0FBaUMsNENBQTRDLDJCQUEyQixPQUFPLE9BQU8sMEJBQTBCLE9BQU8sTUFBTSxtREFBbUQsMEVBQTBFLG9DQUFvQyxzQkFBc0IsOEVBQThFLHFCQUFxQixnQkFBZ0IsT0FBTyxpQ0FBaUMsd0JBQXdCLHNDQUFzQywrQ0FBK0MsT0FBTyw0RUFBNEUscUJBQXFCLDhDQUE4Qyx1QkFBdUIsU0FBUyxPQUFPLGlCQUFpQixNQUFNLHdCQUF3Qix3SEFBd0gsS0FBSywyQkFBMkIsd0JBQXdCLCtHQUErRyxLQUFLLDJCQUEyQiwwQkFBMEIsbUpBQW1KLEtBQUssNkJBQTZCLHFEQUFxRCxxQ0FBcUMscUJBQXFCLGdCQUFnQixPQUFPLG1EQUFtRCxnQ0FBZ0MsbUJBQW1CLDRCQUE0QixtQkFBbUIsT0FBTyx3QkFBd0Isd0NBQXdDLE9BQU8saUJBQWlCLE1BQU0sNEdBQTRHLDRFQUE0RSxrQkFBa0IsNEJBQTRCLDJCQUEyQixPQUFPLDRCQUE0QiwyQkFBMkIsT0FBTyw0QkFBNEIsMkJBQTJCLE9BQU8sOEJBQThCLDZCQUE2QixPQUFPLE9BQU8saURBQWlELE9BQU8sMkJBQTJCLHFCQUFxQixNQUFNLGdFQUFnRSxrQ0FBa0MsaUNBQWlDLHlCQUF5QiwyQkFBMkIsT0FBTyxPQUFPLDJEQUEyRCxtQkFBbUIsMEJBQTBCLE9BQU8sS0FBSyxzREFBc0QsZ0VBQWdFLHVEQUF1RCxNQUFNLHlEQUF5RCwrRUFBK0UsaUZBQWlGLE1BQU0sOENBQThDLG1FQUFtRSw0Q0FBNEMsTUFBTSw0Q0FBNEMsdUJBQXVCLHlCQUF5QixPQUFPLDZDQUE2QyxNQUFNLCtDQUErQywwQkFBMEIsMkJBQTJCLGlDQUFpQyx5QkFBeUIsT0FBTyxpQ0FBaUMsTUFBTSxpREFBaUQsMEJBQTBCLDRCQUE0QixpQ0FBaUMseUJBQXlCLE9BQU8saUJBQWlCLE1BQU0sK0NBQStDLDBCQUEwQiwyQkFBMkIsNEJBQTRCLHlCQUF5QixPQUFPLGlDQUFpQyxNQUFNLGlEQUFpRCwwQkFBMEIsNEJBQTRCLDRCQUE0Qix5QkFBeUIsT0FBTyxpQkFBaUIsTUFBTSxpREFBaUQsdUJBQXVCLHFDQUFxQyxNQUFNLGlEQUFpRCwwQkFBMEIsa0NBQWtDLE1BQU0sK0NBQStDLDBCQUEwQixpQ0FBaUMsTUFBTSw4Q0FBOEMscUNBQXFDLE1BQU0sNENBQTRDLDRCQUE0QixNQUFNLDhDQUE4Qyx1Q0FBdUMsbUNBQW1DLDZCQUE2QiwyQ0FBMkMsa0RBQWtELGdDQUFnQyxPQUFPLHNKQUFzSixnQkFBZ0IsK0NBQStDLFlBQVksb0JBQW9CLE9BQU8sMEJBQTBCLHdDQUF3Qyw4QkFBOEIsb0pBQW9KLGlDQUFpQyx3Q0FBd0MsbURBQW1ELHdCQUF3QixPQUFPLCtCQUErQiwrQ0FBK0MsNkJBQTZCLGdCQUFnQixnQ0FBZ0Msb0JBQW9CLHVCQUF1QixvQkFBb0IsT0FBTyw2QkFBNkIsU0FBUyxzQkFBc0IseURBQXlELDBCQUEwQix1QkFBdUIsd0JBQXdCLGNBQWMsT0FBTyxpQkFBaUIsTUFBTSw4Q0FBOEMsaUNBQWlDLCtCQUErQix5QkFBeUIsdUNBQXVDLE9BQU8sT0FBTyw4QkFBOEIsT0FBTyxNQUFNLGlEQUFpRCxxREFBcUQsOENBQThDLDJCQUEyQiwyQ0FBMkMscUNBQXFDLGlCQUFpQixxQkFBcUIsZ0JBQWdCLE9BQU8seUNBQXlDLE9BQU8seUJBQXlCLHNCQUFzQix5QkFBeUIsdUNBQXVDLHdCQUF3QixtQkFBbUIsT0FBTyxnQ0FBZ0MsUUFBUSxPQUFPLGdDQUFnQywrQkFBK0IsUUFBUSxPQUFPLG9DQUFvQywrQkFBK0IsZ0NBQWdDLFdBQVcsNkNBQTZDLDJCQUEyQixxQkFBcUIsV0FBVywwQkFBMEIseUJBQXlCLHVCQUF1QiwwRUFBMEUsOENBQThDLHlCQUF5QixzQkFBc0IsU0FBUyxtQkFBbUIsT0FBTyxtQkFBbUIsTUFBTSwwREFBMEQsK0JBQStCLHlDQUF5QyxNQUFNLDhEQUE4RCw0QkFBNEIscUJBQXFCLGlCQUFpQixNQUFNLGtGQUFrRiwyQkFBMkIsTUFBTSx5QkFBeUIsd0JBQXdCLHdDQUF3QyxrQ0FBa0MsNkNBQTZDLE9BQU8sOENBQThDLHdDQUF3Qyx3Q0FBd0MsK0RBQStELHlDQUF5Qyx3Q0FBd0MsS0FBSyx3QkFBd0IsMkRBQTJELDhDQUE4QyxNQUFNLCtEQUErRCw0Q0FBNEMsbUJBQW1CLGVBQWUsTUFBTSxrREFBa0QscUNBQXFDLHVCQUF1QixxQkFBcUIsaUJBQWlCLE9BQU8sMEJBQTBCLGdGQUFnRiwyQ0FBMkMsa0JBQWtCLGlDQUFpQyw2QkFBNkIsT0FBTywwQkFBMEIsNkJBQTZCLE9BQU8sbUNBQW1DLE1BQU0sZ0RBQWdELHFFQUFxRSx5QkFBeUIsZ0ZBQWdGLDJDQUEyQyxrQkFBa0IsK0JBQStCLDZCQUE2QixPQUFPLDBCQUEwQiw2QkFBNkIsT0FBTyxtQ0FBbUMsTUFBTSwrQ0FBK0MsZ0hBQWdILGlDQUFpQyxNQUFNLEdBQUcsMEJBQTBCLGdDQUFnQyx5TUFBeU0sY0FBYzs7QUFFcnl4RixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlDQUFpQyxvSEFBb0gsa0hBQWtILDBGQUEwRix3SEFBd0gscUhBQXFILCtIQUErSCx3SEFBd0gscUVBQXFFLGNBQWM7O0FBRXg1QixPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhHQUE4RyxxR0FBcUcsNEJBQTRCLDRCQUE0Qiw0QkFBNEIsb0NBQW9DLHFCQUFxQixnQ0FBZ0MsdUlBQXVJLHlFQUF5RSx5Q0FBeUMseUNBQXlDLGdGQUFnRiw2REFBNkQseURBQXlELGdDQUFnQyxnQ0FBZ0MsZ0NBQWdDLHdEQUF3RCw0RkFBNEYsb0RBQW9ELHVCQUF1QixLQUFLLE9BQU8sZ0NBQWdDLHlDQUF5QyxLQUFLLEdBQUcsNkJBQTZCLGtEQUFrRCx1Q0FBdUMsSUFBSSx3REFBd0QsdUNBQXVDLElBQUksb0VBQW9FLDBCQUEwQixrQ0FBa0MsOENBQThDLHlFQUF5RSxXQUFXLDREQUE0RCxtQkFBbUIsZ0JBQWdCLHFCQUFxQixtQkFBbUIsd0NBQXdDLFFBQVEseUNBQXlDLHNCQUFzQixLQUFLLDRDQUE0QywwQ0FBMEMsbUJBQW1CLE9BQU8sT0FBTyxxQkFBcUIsaUJBQWlCLE9BQU8sMkJBQTJCLG1FQUFtRSwrRUFBK0UsT0FBTyxtQkFBbUIsS0FBSyxtQkFBbUIsSUFBSSw0REFBNEQsY0FBYyxpRUFBaUUsc0JBQXNCLCtCQUErQixpRUFBaUUsMkZBQTJGLGdDQUFnQyxRQUFRLE9BQU8sMENBQTBDLHdCQUF3QixpQkFBaUIsNkJBQTZCLHdCQUF3QixnQ0FBZ0MscUJBQXFCLHNCQUFzQixnQ0FBZ0MsbUZBQW1GLG1FQUFtRSxPQUFPLE9BQU8sOEVBQThFLDhEQUE4RCxPQUFPLEtBQUssaURBQWlELElBQUksdVVBQXVVLGdDQUFnQywyQkFBMkIsMkJBQTJCLHdDQUF3QyxtQkFBbUIsU0FBUyxPQUFPLHdCQUF3Qiw0Q0FBNEMsa0NBQWtDLGdDQUFnQyxLQUFLLHdEQUF3RCxRQUFRLFVBQVUsb0JBQW9CLGdCQUFnQixtREFBbUQsaUVBQWlFLGlFQUFpRSwyQ0FBMkMsMkNBQTJDLGlCQUFpQixPQUFPLHlIQUF5SCxxR0FBcUcsMkNBQTJDLDREQUE0RCxPQUFPLHdEQUF3RCxzREFBc0QsaURBQWlELE9BQU8sT0FBTyxzREFBc0QsNERBQTRELE9BQU8sMk5BQTJOLCtDQUErQyx5Q0FBeUMsOEJBQThCLDhCQUE4QixxQkFBcUIsU0FBUyxPQUFPLCtCQUErQiwrQkFBK0IscURBQXFELHNCQUFzQixzQkFBc0IsT0FBTyxLQUFLLDhDQUE4QywyQkFBMkIscUJBQXFCLFFBQVEsT0FBTyxnQkFBZ0Isd0JBQXdCLHdCQUF3Qix1QkFBdUIsU0FBUyxPQUFPLGlDQUFpQyxvREFBb0QsU0FBUyxrQ0FBa0MsWUFBWSxZQUFZLE9BQU8sNkJBQTZCLHdCQUF3Qiw4QkFBOEIsdUJBQXVCLFNBQVMsT0FBTyx1QkFBdUIsY0FBYyx1Q0FBdUMsMERBQTBELGlFQUFpRSxrRUFBa0UsdUNBQXVDLE9BQU8sS0FBSyw0Q0FBNEMsU0FBUyx5QkFBeUIsMENBQTBDLCtCQUErQixJQUFJLHFDQUFxQyx1QkFBdUIscUJBQXFCLDRCQUE0QixHQUFHLGtDQUFrQyxxREFBcUQsdUNBQXVDLElBQUksd0RBQXdELHFDQUFxQyxJQUFJLHdFQUF3RSxzQ0FBc0Msb0NBQW9DLDZKQUE2Siw4RUFBOEUsbUZBQW1GLHFIQUFxSCxtQkFBbUIsS0FBSyxnR0FBZ0cseUVBQXlFLEtBQUssNENBQTRDLElBQUksMkVBQTJFLGtDQUFrQyxJQUFJLDZEQUE2RCx3Q0FBd0MsMkNBQTJDLGdGQUFnRixpRUFBaUUsSUFBSSxnRUFBZ0Usb0RBQW9ELElBQUksaUVBQWlFLDJDQUEyQyx5QkFBeUIsMERBQTBELDRDQUE0QyxxREFBcUQsdUNBQXVDLG1DQUFtQyxrQkFBa0IsSUFBSSwrREFBK0QsNkNBQTZDLDZDQUE2QyxvQ0FBb0Msb0ZBQW9GLElBQUkseUVBQXlFLDJGQUEyRiw2QkFBNkIsbUJBQW1CLG1CQUFtQixXQUFXLGFBQWEscUJBQXFCLFVBQVUsNkJBQTZCLHdCQUF3QixLQUFLLFlBQVksNENBQTRDLElBQUkscUVBQXFFLG1GQUFtRix5QkFBeUIsNkJBQTZCLDRDQUE0QyxtQkFBbUIsU0FBUyx3Q0FBd0MsWUFBWSxzQ0FBc0MsSUFBSSx3REFBd0QsZ0JBQWdCLElBQUksaURBQWlELGlCQUFpQixtQkFBbUIsT0FBTyx1QkFBdUIsYUFBYSxJQUFJLHFFQUFxRSxjQUFjOztBQUV6eVQsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2R0FBNkcsc0dBQXNHLHNHQUFzRyx1R0FBdUcsOEJBQThCLGlDQUFpQyxvR0FBb0cscURBQXFELCtCQUErQix1Q0FBdUMsbURBQW1ELG9DQUFvQyxnREFBZ0QsOEJBQThCLGdEQUFnRCxvQ0FBb0MsOERBQThELG1DQUFtQyxHQUFHLCtCQUErQixnQ0FBZ0Msd0RBQXdELDZDQUE2Qyx3Q0FBd0MsSUFBSSx3REFBd0QsbUNBQW1DLHdDQUF3QyxJQUFJLDZHQUE2RyxrQ0FBa0MsSUFBSSxxRUFBcUUsc0JBQXNCLDJDQUEyQywwQkFBMEIsZ0RBQWdELGlFQUFpRSx5Q0FBeUMseUJBQXlCLDBGQUEwRixzQ0FBc0MsNERBQTRELDhCQUE4QixJQUFJLHFFQUFxRSxzQkFBc0IsMkNBQTJDLG9FQUFvRSxpQ0FBaUMsK0RBQStELHVDQUF1QyxvQ0FBb0MsdURBQXVELGtEQUFrRCxLQUFLLDJCQUEyQiwwRkFBMEYsMkRBQTJELDhCQUE4QixJQUFJLGdFQUFnRSw2Q0FBNkMsK0VBQStFLGdDQUFnQyw4QkFBOEIsMkNBQTJDLDRFQUE0RSxnQ0FBZ0MsSUFBSSx1Q0FBdUMsbURBQW1ELGlEQUFpRCwrQkFBK0IsOEJBQThCLDhCQUE4QiwrQkFBK0IsdUJBQXVCLEtBQUssT0FBTyw2QkFBNkIsNkJBQTZCLGtEQUFrRCxrQ0FBa0Msb0VBQW9FLG9FQUFvRSxvRUFBb0UsOEVBQThFLDRDQUE0Qyw4RUFBOEUsdUNBQXVDLDBFQUEwRSxPQUFPLEtBQUssR0FBRyxrQ0FBa0Msd0VBQXdFLHFDQUFxQyxJQUFJLCtEQUErRCx1Q0FBdUMsSUFBSSxvREFBb0Qsb0RBQW9ELElBQUksa0RBQWtELDZEQUE2RCwwS0FBMEssSUFBSSx3REFBd0QscUxBQXFMLElBQUksa0RBQWtELDBKQUEwSiwyQ0FBMkMsK0NBQStDLHFCQUFxQixnREFBZ0QsK0ZBQStGLHdDQUF3Qyx3Q0FBd0Msd0NBQXdDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsSUFBSSxvREFBb0QsdVBBQXVQLDJDQUEyQywyQ0FBMkMsYUFBYSxXQUFXLFdBQVcsNkJBQTZCLG9EQUFvRCw0Q0FBNEMsc0JBQXNCLHlHQUF5Ryw4REFBOEQsdUVBQXVFLE9BQU8sT0FBTyxtREFBbUQsK0RBQStELHVFQUF1RSw4REFBOEQsOENBQThDLE9BQU8sS0FBSyxPQUFPLDRDQUE0Qyx1RUFBdUUsMERBQTBELGlGQUFpRixpRkFBaUYsMENBQTBDLEtBQUssd0NBQXdDLElBQUksMENBQTBDLDRDQUE0QywrRkFBK0YscUNBQXFDLElBQUksbURBQW1ELHNNQUFzTSwwRkFBMEYsMkVBQTJFLGlFQUFpRSx3Q0FBd0Msd0NBQXdDLHdDQUF3Qyx3Q0FBd0MsMENBQTBDLDBDQUEwQywwQ0FBMEMsMENBQTBDLDRDQUE0QyxJQUFJLHFEQUFxRCxrTUFBa00scUNBQXFDLGlEQUFpRCxpREFBaUQsaUVBQWlFLHdDQUF3Qyx3Q0FBd0MscUlBQXFJLHFDQUFxQyxXQUFXLFdBQVcsNkJBQTZCLDhGQUE4RiwwQ0FBMEMsS0FBSyxPQUFPLHdFQUF3RSxnRUFBZ0UsS0FBSyx3Q0FBd0MsSUFBSSwyQ0FBMkMseUNBQXlDLHlDQUF5QywyREFBMkQsc0NBQXNDLElBQUksMkNBQTJDLDBFQUEwRSxrREFBa0QsSUFBSSx5REFBeUQsd0VBQXdFLElBQUksMkRBQTJELHVFQUF1RSxJQUFJLHNEQUFzRCxvQ0FBb0MsNERBQTRELCtCQUErQiwrQkFBK0IsZ0RBQWdELDRCQUE0QixxQkFBcUIsZ0JBQWdCLElBQUksMENBQTBDLHlLQUF5SyxJQUFJLDRDQUE0QyxxQkFBcUIsNEJBQTRCLElBQUksNENBQTRDLHFCQUFxQiw0QkFBNEIsSUFBSSw2Q0FBNkMsNEhBQTRILElBQUksaURBQWlELG9EQUFvRCwrQ0FBK0MseUJBQXlCLDJDQUEyQyxXQUFXLEdBQUcsNEJBQTRCLHlEQUF5RCxzQkFBc0IsbURBQW1ELEtBQUssSUFBSSxxRkFBcUYsaURBQWlELHFFQUFxRSxjQUFjOztBQUUzK1csT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4QkFBOEIsMkdBQTJHLDRHQUE0Ryx5R0FBeUcsa0hBQWtILHFFQUFxRSxjQUFjOztBQUVuaUIsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4R0FBOEcsc0dBQXNHLHVHQUF1Ryx1R0FBdUcsOEJBQThCLGtDQUFrQyxrREFBa0QsZ0RBQWdELGtEQUFrRCx5Q0FBeUMsdURBQXVELEdBQUcsNEJBQTRCLDZCQUE2Qiw2REFBNkQsZ0NBQWdDLHdCQUF3QiwrREFBK0QsMEJBQTBCLHVDQUF1QyxJQUFJLGlDQUFpQyxtREFBbUQsbUNBQW1DLDhCQUE4QiwrQkFBK0IsS0FBSyxPQUFPLDZCQUE2Qiw2QkFBNkIsb0VBQW9FLG9FQUFvRSxLQUFLLEdBQUcsa0NBQWtDLHdFQUF3RSxvREFBb0QsSUFBSSxzREFBc0QsaUNBQWlDLElBQUkscUVBQXFFLHFDQUFxQyxJQUFJLHdEQUF3RCxnQkFBZ0Isa0RBQWtELGdFQUFnRSxJQUFJLG9EQUFvRCx5REFBeUQsSUFBSSxrREFBa0QsNkRBQTZELHVIQUF1SCxJQUFJLHdEQUF3RCw0RkFBNEYsSUFBSSwwQ0FBMEMsMkpBQTJKLHVDQUF1QyxvREFBb0QsdUNBQXVDLDRDQUE0Qyw4Q0FBOEMseUZBQXlGLG9DQUFvQyxJQUFJLDBDQUEwQyx5REFBeUQsSUFBSSx5REFBeUQsMkpBQTJKLG9EQUFvRCw4Q0FBOEMsOENBQThDLDBDQUEwQywwQ0FBMEMsK0VBQStFLGdGQUFnRixvQ0FBb0MsSUFBSSwyQ0FBMkMsc0JBQXNCLGlCQUFpQiw0REFBNEQsZ0NBQWdDLDhCQUE4QixpQkFBaUIseUNBQXlDLG1DQUFtQyxRQUFRLE9BQU8sMEJBQTBCLG1GQUFtRiw2REFBNkQsT0FBTyxPQUFPLGdGQUFnRixnRUFBZ0UsT0FBTyxLQUFLLGFBQWEsSUFBSSxnREFBZ0QseURBQXlELElBQUksa0RBQWtELHlEQUF5RCxJQUFJLDZDQUE2QywrQ0FBK0MsSUFBSSxzREFBc0QsNkNBQTZDLDRCQUE0QixnQkFBZ0IsSUFBSSw0Q0FBNEMsaURBQWlELDhCQUE4QixJQUFJLHFFQUFxRSxjQUFjOztBQUV2L0osT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2R0FBNkcsc0dBQXNHLHNHQUFzRyx1R0FBdUcsOEJBQThCLCtCQUErQixtQ0FBbUMsa0RBQWtELGdEQUFnRCxtQ0FBbUMsa0RBQWtELDhEQUE4RCw4R0FBOEcsb0NBQW9DLG9DQUFvQyxHQUFHLDZCQUE2Qiw4QkFBOEIsNkVBQTZFLCtHQUErRywrREFBK0QsaUJBQWlCLGVBQWUsb0JBQW9CLG1EQUFtRCxLQUFLLE9BQU8sNkNBQTZDLCtGQUErRixrQ0FBa0MsS0FBSyxzQkFBc0IsdUNBQXVDLEtBQUssT0FBTyx3R0FBd0csc0VBQXNFLDRCQUE0QixPQUFPLE9BQU8sNEJBQTRCLHNFQUFzRSxPQUFPLEtBQUsscUZBQXFGLHFCQUFxQiw0Q0FBNEMsZ0JBQWdCLHVFQUF1RSxPQUFPLEVBQUUsS0FBSyxPQUFPLHlDQUF5QyxLQUFLLGNBQWMsOERBQThELElBQUksc0VBQXNFLHdJQUF3SSw4Q0FBOEMsOEJBQThCLG1FQUFtRSx5Q0FBeUMsdUNBQXVDLHNCQUFzQixJQUFJLHlFQUF5RSxtR0FBbUcsMEVBQTBFLDJCQUEyQix1QkFBdUIsdUJBQXVCLHVCQUF1Qix1QkFBdUIsOEVBQThFLFdBQVcsOEJBQThCLFdBQVcsK0JBQStCLFdBQVcsZ0JBQWdCLGNBQWMsVUFBVSxVQUFVLDZCQUE2Qix1QkFBdUIsMEJBQTBCLDRCQUE0QixnQ0FBZ0MseUNBQXlDLHlCQUF5QixnQkFBZ0IscUJBQXFCLGVBQWUsT0FBTyw0QkFBNEIsY0FBYyxPQUFPLGdCQUFnQixjQUFjLFlBQVksY0FBYyxhQUFhLGNBQWMsYUFBYSxLQUFLLGlCQUFpQixXQUFXLHdDQUF3QyxzQ0FBc0MsOEJBQThCLGNBQWMsY0FBYyxLQUFLLDhDQUE4QyxvQkFBb0Isb0JBQW9CLEtBQUssc0JBQXNCLG9CQUFvQixvQkFBb0IsS0FBSyxxQkFBcUIsZUFBZSxRQUFRLGVBQWUsTUFBTSxJQUFJLDhEQUE4RCxnQ0FBZ0Msc0JBQXNCLHNCQUFzQiw0Q0FBNEMsZ0RBQWdELDRCQUE0QiwwQkFBMEIsMEJBQTBCLDBCQUEwQix3REFBd0QsOEJBQThCLFlBQVksa0JBQWtCLElBQUksbUVBQW1FLHNCQUFzQiwyQ0FBMkMsOEVBQThFLHlCQUF5QiwwRkFBMEYsMklBQTJJLDREQUE0RCw4QkFBOEIsSUFBSSw4REFBOEQsb0NBQW9DLHNCQUFzQixvQkFBb0IsZ0NBQWdDLCtEQUErRCxpREFBaUQsSUFBSSwwR0FBMEcsbUNBQW1DLG1DQUFtQyxtQkFBbUIsbUJBQW1CLE9BQU8sNkNBQTZDLHdCQUF3Qiw4QkFBOEIsZ0NBQWdDLHdCQUF3Qix3QkFBd0IsT0FBTyw4QkFBOEIsd0JBQXdCLDhCQUE4QixPQUFPLDJCQUEyQixnQ0FBZ0MsZ0NBQWdDLG9DQUFvQyxLQUFLLDJFQUEyRSwwRUFBMEUsV0FBVyxPQUFPLHdCQUF3Qix3QkFBd0IsS0FBSyxlQUFlLElBQUksd0NBQXdDLCtDQUErQyxtQ0FBbUMsb0JBQW9CLG9CQUFvQixzQkFBc0IsS0FBSyxPQUFPLDZCQUE2Qiw2QkFBNkIsZ0ZBQWdGLHdDQUF3Qyx3Q0FBd0MsT0FBTyxvRUFBb0Usb0VBQW9FLHVCQUF1QixLQUFLLEdBQUcsa0NBQWtDLDhEQUE4RCx3Q0FBd0MsSUFBSSwyRUFBMkUsMENBQTBDLElBQUksb0RBQW9ELHNDQUFzQyxpQ0FBaUMsOENBQThDLCtFQUErRSxjQUFjLDZCQUE2QixpQ0FBaUMsNkRBQTZELFFBQVEsc0JBQXNCLDBCQUEwQiw0Q0FBNEMsaUZBQWlGLGtDQUFrQywyRkFBMkYsUUFBUSxLQUFLLGdCQUFnQixJQUFJLGdEQUFnRCwwREFBMEQsb0RBQW9ELDRDQUE0QywyR0FBMkcscUNBQXFDLGlHQUFpRyxLQUFLLEdBQUcsSUFBSSx5REFBeUQsNERBQTRELCtDQUErQyxpQ0FBaUMsK0JBQStCLDhDQUE4QyxLQUFLLHVCQUF1Qix1QkFBdUIsZ0RBQWdELHVHQUF1Ryx3QkFBd0IsNkZBQTZGLE1BQU0sZUFBZSxJQUFJLGtEQUFrRCw2REFBNkQsdUhBQXVILElBQUksd0RBQXdELG9CQUFvQixJQUFJLDJDQUEyQyxnREFBZ0Qsa0RBQWtELDhEQUE4RCx3RkFBd0YsMEZBQTBGLGlDQUFpQyx5RUFBeUUscURBQXFELHlEQUF5RCxvQ0FBb0MsSUFBSSwwQ0FBMEMsbUNBQW1DLG1EQUFtRCxvRUFBb0UsMkJBQTJCLCtCQUErQiw4QkFBOEIsK0RBQStELHlEQUF5RCx5REFBeUQsb0NBQW9DLElBQUksNENBQTRDLDRCQUE0QixJQUFJLDRDQUE0Qyw0QkFBNEIsSUFBSSwyQ0FBMkMsc0JBQXNCLDRDQUE0QywrRUFBK0Usc0ZBQXNGLGtEQUFrRCxJQUFJLDBEQUEwRCw4QkFBOEIsNEJBQTRCLGdGQUFnRixrRUFBa0UsSUFBSSw0REFBNEQsOEJBQThCLDRCQUE0QixzRkFBc0Ysd0VBQXdFLElBQUkseUNBQXlDLG9JQUFvSSxJQUFJLHFEQUFxRCxtQ0FBbUMsMERBQTBELDBDQUEwQyxpQ0FBaUMsZ0NBQWdDLHVCQUF1QixRQUFRLHlCQUF5Qix5QkFBeUIsZ0ZBQWdGLGtDQUFrQywwRkFBMEYsUUFBUSxLQUFLLGVBQWUsSUFBSSwwQ0FBMEMsa0VBQWtFLGtFQUFrRSxlQUFlLElBQUkscUNBQXFDLGlEQUFpRCxpREFBaUQsOEJBQThCLDhCQUE4Qix5QkFBeUIsS0FBSyxPQUFPLDZCQUE2Qiw2QkFBNkIsNkJBQTZCLEtBQUssZ0VBQWdFLGdFQUFnRSxnRUFBZ0UsNENBQTRDLEdBQUcsbUNBQW1DLDREQUE0RCxxQ0FBcUMsSUFBSSwyQ0FBMkMsb0VBQW9FLGtDQUFrQyw4QkFBOEIsa0NBQWtDLCtDQUErQyxzQ0FBc0MsSUFBSSwyQ0FBMkMsOERBQThELElBQUksNENBQTRDLHlEQUF5RCwyREFBMkQsaURBQWlELDZCQUE2QixnQ0FBZ0MsNEJBQTRCLDRDQUE0QywyQ0FBMkMsNEJBQTRCLDBCQUEwQiwwQkFBMEIsNkVBQTZFLG9DQUFvQyxLQUFLLDBCQUEwQiwwQkFBMEIsMEJBQTBCLDREQUE0RCw0REFBNEQsMENBQTBDLDJDQUEyQyxJQUFJLHNEQUFzRCwrREFBK0QsMkRBQTJELGtEQUFrRCxvQkFBb0IsNEJBQTRCLG9CQUFvQiwyQ0FBMkMsNEJBQTRCLDBCQUEwQiwwQkFBMEIsNkVBQTZFLG9DQUFvQyxLQUFLLDBCQUEwQiwwQkFBMEIsMEJBQTBCLDREQUE0RCw0REFBNEQsOEJBQThCLDJDQUEyQyxJQUFJLGdEQUFnRCxvQ0FBb0MsNENBQTRDLHFDQUFxQyxrREFBa0QsbUJBQW1CLHFCQUFxQixTQUFTLHlCQUF5QixlQUFlLEtBQUssK0ZBQStGLCtCQUErQixzQkFBc0Isb0JBQW9CLG9CQUFvQixtQ0FBbUMsa0RBQWtELG1CQUFtQixTQUFTLE9BQU8sNEJBQTRCLDhCQUE4QiwrQkFBK0Isa0VBQWtFLGlDQUFpQyxpREFBaUQsOEJBQThCLDZCQUE2QiwyQ0FBMkMsOEJBQThCLHFEQUFxRCxnQkFBZ0IsY0FBYyxnQkFBZ0IsS0FBSyx5REFBeUQsSUFBSSwyQ0FBMkMsNENBQTRDLHdEQUF3RCw2REFBNkQsaUNBQWlDLElBQUkscURBQXFELFdBQVcsV0FBVyxXQUFXLGdDQUFnQywwS0FBMEssaURBQWlELGlEQUFpRCw2R0FBNkcsdUJBQXVCLHdCQUF3Qiw4Q0FBOEMsdUVBQXVFLHdEQUF3RCxtQ0FBbUMsbUNBQW1DLDhCQUE4QixxRkFBcUYsbURBQW1ELEtBQUssT0FBTyxzS0FBc0ssK0NBQStDLHlDQUF5QyxtR0FBbUcsdUJBQXVCLHVEQUF1RCx5Q0FBeUMsNENBQTRDLDBCQUEwQiwwQkFBMEIsNERBQTRELGlGQUFpRiwwREFBMEQsMEJBQTBCLEtBQUssMkNBQTJDLElBQUksdURBQXVELFdBQVcsV0FBVyxXQUFXLGdDQUFnQywwS0FBMEssaURBQWlELGlEQUFpRCw2R0FBNkcsdUJBQXVCLHFGQUFxRix1RUFBdUUsNEJBQTRCLHlFQUF5RSxtQ0FBbUMsbUNBQW1DLGlEQUFpRCxxREFBcUQsS0FBSyxPQUFPLDJKQUEySix1REFBdUQsZ0VBQWdFLG9IQUFvSCxpREFBaUQscUVBQXFFLG1DQUFtQyxzQ0FBc0MseUNBQXlDLGlIQUFpSCxzRkFBc0YseUNBQXlDLHlDQUF5Qyx5Q0FBeUMsNERBQTRELEtBQUssMkNBQTJDLElBQUksNkNBQTZDLHlCQUF5QiwwQ0FBMEMsb0JBQW9CLG9CQUFvQixtQ0FBbUMsNEJBQTRCLDBCQUEwQixrRUFBa0UsK0JBQStCLDhCQUE4Qiw4QkFBOEIsK0NBQStDLDRCQUE0Qiw4QkFBOEIsOEJBQThCLDhCQUE4Qiw4QkFBOEIsd0NBQXdDLHNDQUFzQywyQ0FBMkMsSUFBSSw2Q0FBNkMsNERBQTRELHVKQUF1Siw2Q0FBNkMsNkNBQTZDLDZDQUE2Qyw0QkFBNEIsNENBQTRDLHVDQUF1Qyw4R0FBOEcscUJBQXFCLCtCQUErQixzQkFBc0IsdUNBQXVDLGlEQUFpRCxxQkFBcUIscUJBQXFCLHFCQUFxQix1R0FBdUcsa0VBQWtFLDhCQUE4Qiw4QkFBOEIsNkNBQTZDLHdCQUF3Qix3QkFBd0Isb0hBQW9ILHdCQUF3Qix3QkFBd0Isd0JBQXdCLCtGQUErRiwyQ0FBMkMsSUFBSSxtREFBbUQseUJBQXlCLDBDQUEwQyxJQUFJLDBDQUEwQywwREFBMEQsdUNBQXVDLDREQUE0RCwyQkFBMkIsb0ZBQW9GLDhEQUE4RCw4QkFBOEIsb0VBQW9FLElBQUksa0RBQWtELDZCQUE2QixnREFBZ0QsK0NBQStDLHlCQUF5Qix1Q0FBdUMsV0FBVyxHQUFHLDRCQUE0Qix5REFBeUQsc0JBQXNCLG1EQUFtRCxLQUFLLElBQUksbURBQW1ELDhEQUE4RCw2SUFBNkksSUFBSSx5REFBeUQsNEZBQTRGLElBQUkscUVBQXFFLGNBQWM7O0FBRXRrdkIsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0IsMEZBQTBGLDBHQUEwRyxvR0FBb0csOEJBQThCLG1DQUFtQyw2RUFBNkUsc0ZBQXNGLG1EQUFtRCwwQkFBMEIsMEJBQTBCLDZCQUE2QixpREFBaUQsdUVBQXVFLEdBQUcsbUNBQW1DLHlDQUF5Qyx5Q0FBeUMsdUVBQXVFLDZDQUE2Qyw2Q0FBNkMsdUZBQXVGLEVBQUUscUJBQXFCLE9BQU8sS0FBSyxFQUFFLEdBQUcseUJBQXlCLGlkQUFpZCxFQUFFLHlCQUF5Qix1Z0JBQXVnQixFQUFFLHlCQUF5QiwyakJBQTJqQixFQUFFLHlCQUF5QixtMUJBQW0xQixFQUFFLHlCQUF5QixpcUNBQWlxQyxFQUFFLCtCQUErQix3UkFBd1IsRUFBRSw0QkFBNEIsaWlCQUFpaUIsRUFBRSxZQUFZLE9BQU8sZ0lBQWdJLEdBQUcsWUFBWSxvQkFBb0IsR0FBRyw4QkFBOEIsNmNBQTZjLG1HQUFtRyxRQUFRLG1HQUFtRyxtTUFBbU0sRUFBRSxxRUFBcUUsY0FBYzs7QUFFLzBOLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEdBQThHLHFHQUFxRyxxR0FBcUcsd0dBQXdHLHFGQUFxRiw0QkFBNEIsdUdBQXVHLG1IQUFtSCwwQkFBMEIsMkRBQTJELGlGQUFpRix5RUFBeUUsa0NBQWtDLEtBQUssNkhBQTZILGtCQUFrQix1Q0FBdUMsMEJBQTBCLDhCQUE4QiwwQkFBMEIsb0RBQW9ELHVEQUF1RCxzRkFBc0YsR0FBRyxzQkFBc0Isc0RBQXNELHNDQUFzQyxJQUFJLHNFQUFzRSxnREFBZ0QsSUFBSSxtRUFBbUUsOENBQThDLElBQUksNERBQTRELG9DQUFvQywyREFBMkQsMlBBQTJQLEVBQUUsc0NBQXNDLG9DQUFvQyxRQUFRLDhDQUE4Qyw2Q0FBNkMsc0JBQXNCLHVDQUF1QyxLQUFLLGNBQWMsSUFBSSxzRUFBc0UsMERBQTBELCtDQUErQyx3RUFBd0UseUJBQXlCLElBQUksK0RBQStELGtDQUFrQyxvQkFBb0IsaUJBQWlCLEtBQUssb0NBQW9DLDBDQUEwQyw2Q0FBNkMsc0ZBQXNGLHFEQUFxRCxtR0FBbUcsMkRBQTJELG1JQUFtSSxFQUFFLHdFQUF3RSx3QkFBd0IsTUFBTSxVQUFVLHlHQUF5RyxxQ0FBcUMsNkRBQTZELCtCQUErQiwyQ0FBMkMsNEJBQTRCLCtCQUErQiwyQ0FBMkMsc0VBQXNFLHlCQUF5QiwyQ0FBMkMsOEdBQThHLHdHQUF3RywwQkFBMEIsMkJBQTJCLE9BQU8sOEJBQThCLDJDQUEyQyxFQUFFLEtBQUssSUFBSSxxRUFBcUUsNkNBQTZDLHVDQUF1QyxnREFBZ0Qsb0VBQW9FLHdCQUF3QiwrREFBK0QsK0RBQStELHlEQUF5RCx3Q0FBd0Msc0NBQXNDLHNDQUFzQyxxREFBcUQsOENBQThDLGtEQUFrRCxLQUFLLGtJQUFrSSwwQ0FBMEMsNEtBQTRLLElBQUksbUVBQW1FLHNFQUFzRSw4Q0FBOEMscUJBQXFCLHdCQUF3Qix3QkFBd0Isd0JBQXdCLGdGQUFnRiw2QkFBNkIsaUlBQWlJLDhHQUE4RyxtREFBbUQscUNBQXFDLHdDQUF3QyxpQ0FBaUMsc0hBQXNILElBQUksdUVBQXVFLDhDQUE4Qyw4RUFBOEUscUJBQXFCLE9BQU8sT0FBTyxpQkFBaUIsV0FBVyxxREFBcUQsT0FBTyxZQUFZLGlCQUFpQixPQUFPLDBDQUEwQyxLQUFLLDREQUE0RCxJQUFJLHFFQUFxRSxjQUFjOztBQUVuMk4sT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4R0FBOEcscUdBQXFHLDRCQUE0QixtQ0FBbUMsaUJBQWlCLHFCQUFxQixvQkFBb0Isc0JBQXNCLHNCQUFzQiwrRUFBK0UsMEVBQTBFLEdBQUcsMkJBQTJCLDREQUE0RCxnREFBZ0QsOEJBQThCLHFDQUFxQyxFQUFFLElBQUksK0RBQStELGtEQUFrRCw4QkFBOEIsd0NBQXdDLEVBQUUsSUFBSSxzREFBc0QsK0JBQStCLHlDQUF5QywrQ0FBK0Msc0NBQXNDLHNEQUFzRCw2REFBNkQsZ0RBQWdELGNBQWMsOEJBQThCLElBQUksb0VBQW9FLHlFQUF5RSxvQkFBb0IscUJBQXFCLEtBQUssOERBQThELHFDQUFxQywyQ0FBMkMsSUFBSSw2REFBNkQsNkRBQTZELCtCQUErQixJQUFJLDBFQUEwRSx1Q0FBdUMsZ0tBQWdLLElBQUksd0VBQXdFLHlCQUF5QixpTUFBaU0sMkNBQTJDLE9BQU8sK0ZBQStGLCtEQUErRCxPQUFPLG1EQUFtRCxhQUFhLEtBQUssbURBQW1ELElBQUksOERBQThELHFDQUFxQyxJQUFJLHlFQUF5RSxpREFBaUQsSUFBSSxnRUFBZ0UsZ0RBQWdELElBQUksb0RBQW9ELG1JQUFtSSxJQUFJLHFFQUFxRSxjQUFjOztBQUVseUcsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4R0FBOEcsdUdBQXVHLDRCQUE0QixzQ0FBc0MsMERBQTBELHFEQUFxRCxpRUFBaUUsbUNBQW1DLG1DQUFtQyw0RUFBNEUseURBQXlELEdBQUcsNkJBQTZCLHlCQUF5QixtQkFBbUIsR0FBRyxnQ0FBZ0MsaUNBQWlDLDRCQUE0QixxQkFBcUIsS0FBSyxpQ0FBaUMsZ0JBQWdCLGtDQUFrQyxjQUFjLGNBQWMsZ0JBQWdCLHNCQUFzQixLQUFLLGtCQUFrQixlQUFlLEdBQUcsNkJBQTZCLGNBQWMsNkJBQTZCLHdEQUF3RCxVQUFVLEtBQUssa0JBQWtCLGlCQUFpQixLQUFLLHdCQUF3QixHQUFHLHFFQUFxRSxvQ0FBb0MsMkJBQTJCLG1DQUFtQyxtQkFBbUIsS0FBSyxpQ0FBaUMsMENBQTBDLG1CQUFtQixLQUFLLG1DQUFtQyxtQkFBbUIsS0FBSyxrQ0FBa0MsZ0RBQWdELG9CQUFvQixtQ0FBbUMsbUJBQW1CLEtBQUssa0NBQWtDLHlDQUF5QyxtQkFBbUIsS0FBSyxnREFBZ0Qsc0NBQXNDLHFCQUFxQixLQUFLLHNDQUFzQyxxQkFBcUIsS0FBSyx5QkFBeUIsdUJBQXVCLDhCQUE4QixrQkFBa0IsSUFBSSx3Q0FBd0MscUJBQXFCLG9CQUFvQixhQUFhLEtBQUssc0RBQXNELDRCQUE0QixzQkFBc0IsK0NBQStDLEtBQUssa0JBQWtCLEdBQUcscURBQXFELDZCQUE2Qiw2QkFBNkIsaUVBQWlFLCtEQUErRCx1QkFBdUIscUJBQXFCLHVDQUF1QyxxQkFBcUIsS0FBSyx1QkFBdUIsbUNBQW1DLHdCQUF3QixtQkFBbUIsbUNBQW1DLGlDQUFpQyx1QkFBdUIsMENBQTBDLCtCQUErQixrQ0FBa0MsSUFBSSxxRUFBcUUsY0FBYzs7QUFFL2tHLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0dBQWdHLHdHQUF3RyxxR0FBcUcsNEJBQTRCLG9DQUFvQyx3R0FBd0csc0hBQXNILDJCQUEyQixtRUFBbUUsaUVBQWlFLHNDQUFzQyx1QkFBdUIscUJBQXFCLCtDQUErQyxrREFBa0QsNkRBQTZELDRCQUE0QixHQUFHLDJCQUEyQixtQkFBbUIsYUFBYSxvQ0FBb0MscUJBQXFCLGlEQUFpRCxVQUFVLHlFQUF5RSxrQ0FBa0MseUNBQXlDLHVEQUF1RCwwQkFBMEIsdUNBQXVDLDhGQUE4Rix5Q0FBeUMsK0JBQStCLGlDQUFpQyxFQUFFLElBQUksbUJBQW1CLE1BQU0sb0NBQW9DLHVCQUF1Qiw0QkFBNEIsMkJBQTJCLCtCQUErQixRQUFRLCtHQUErRyxrQ0FBa0Msa0NBQWtDLHNDQUFzQyxrRUFBa0UsaUNBQWlDLGdEQUFnRCwwQkFBMEIsSUFBSSxrREFBa0QsMkJBQTJCLG1CQUFtQixzQkFBc0IscUNBQXFDLDZEQUE2RCxJQUFJLGlFQUFpRSx5Q0FBeUMsSUFBSSxvRUFBb0UsNENBQTRDLElBQUksaUVBQWlFLGtEQUFrRCxvQ0FBb0MsSUFBSSx5VUFBeVUsOERBQThELG9FQUFvRSxlQUFlLElBQUksK0RBQStELG9DQUFvQyxvQ0FBb0Msc0VBQXNFLDhDQUE4QyxzQ0FBc0MsNENBQTRDLElBQUkseURBQXlELGtEQUFrRCxJQUFJLDJEQUEyRCxrQ0FBa0MsSUFBSSxxREFBcUQsMENBQTBDLElBQUkscUVBQXFFLGNBQWM7O0FBRTM4SCxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZHQUE2Ryw0QkFBNEIsb0NBQW9DLDRDQUE0QyxtQkFBbUIsTUFBTSw2QkFBNkIsT0FBTyxzREFBc0QsWUFBWSxnREFBZ0QsTUFBTSxxRUFBcUUsWUFBWSwyRkFBMkYsdUJBQXVCLDZDQUE2QywrREFBK0Qsc0RBQXNELEdBQUcsMERBQTBELGdEQUFnRCwrQkFBK0IsV0FBVyxFQUFFLElBQUksNkRBQTZELHNEQUFzRCwrQkFBK0IsaUJBQWlCLEVBQUUsSUFBSSxrREFBa0Qsd0JBQXdCLElBQUksNkRBQTZELDhDQUE4QyxHQUFHLEVBQUUsbURBQW1ELDJFQUEyRSx5Q0FBeUMsR0FBRyxFQUFFLCtEQUErRCwyQkFBMkIsMkJBQTJCLDBDQUEwQyxrREFBa0QsZ0JBQWdCLHFCQUFxQixvQkFBb0IsZUFBZSxHQUFHLEVBQUUscURBQXFELGtEQUFrRCxHQUFHLEVBQUUscURBQXFELDREQUE0RCxHQUFHLEVBQUUsdUVBQXVFLHdEQUF3RCxHQUFHLEVBQUUscURBQXFELG9EQUFvRCwwQ0FBMEMsSUFBSSw4REFBOEQsaURBQWlELElBQUksMkRBQTJELG1EQUFtRCw0Q0FBNEMsSUFBSSwyREFBMkQsOENBQThDLElBQUksNkJBQTZCLHFFQUFxRSxjQUFjOztBQUU1cUYsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4R0FBOEcscUdBQXFHLDRCQUE0Qiw0Q0FBNEMsb0NBQW9DLG1CQUFtQixNQUFNLG1DQUFtQyxvQkFBb0Isa0JBQWtCLG1CQUFtQixnREFBZ0QsZ0JBQWdCLDhDQUE4QyxhQUFhLDZDQUE2QyxhQUFhLHdFQUF3RSx1QkFBdUIsOERBQThELCtCQUErQixhQUFhLGdHQUFnRyxLQUFLLHlEQUF5RCxxREFBcUQsa0RBQWtELG1FQUFtRSxpRUFBaUUsR0FBRyxpREFBaUQsaURBQWlELEdBQUcsRUFBRSxpREFBaUQsbURBQW1ELEdBQUcsRUFBRSwrREFBK0QsNENBQTRDLEdBQUcsRUFBRSwrREFBK0QsMENBQTBDLEdBQUcsRUFBRSxzREFBc0QsbURBQW1ELElBQUksa0RBQWtELDZEQUE2RCxJQUFJLCtCQUErQixxRUFBcUUsY0FBYzs7QUFFOTdELE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QixjQUFjLDA4VkFBMDhWLFdBQVcsbTJxQkFBbTJxQixJQUFJLHFFQUFxRSxjQUFjOztBQUVyN2dDLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEJBQThCLHNHQUFzRyxrSEFBa0gsaUlBQWlJLDZCQUE2QixtQ0FBbUMsK0JBQStCLCtCQUErQixpQ0FBaUMscUVBQXFFLDZEQUE2RCxnQkFBZ0IsNEJBQTRCLHdCQUF3QixxQkFBcUIsZ0JBQWdCLE9BQU8sWUFBWSxnQ0FBZ0Msc0JBQXNCLDhEQUE4RCw4QkFBOEIsbUJBQW1CLE9BQU8sT0FBTyxjQUFjLE9BQU8sbUJBQW1CLGtCQUFrQixLQUFLLGlCQUFpQixHQUFHLHdCQUF3Qix5RUFBeUUsc0NBQXNDLHNCQUFzQixvQkFBb0IsZUFBZSxlQUFlLGtEQUFrRCw2REFBNkQsdUNBQXVDLHFDQUFxQyxxQ0FBcUMsYUFBYSw0QkFBNEIsZUFBZSxPQUFPLE9BQU8sd0NBQXdDLG9FQUFvRSwrQkFBK0IsT0FBTyxzQkFBc0IsZUFBZSw0QkFBNEIsZUFBZSxPQUFPLE9BQU8sd0NBQXdDLG9FQUFvRSwrQkFBK0IsT0FBTyxzQkFBc0IsdUVBQXVFLGdEQUFnRCxtQkFBbUIsbUJBQW1CLEtBQUssaUJBQWlCLEdBQUcsd0JBQXdCLGtEQUFrRCx5QkFBeUIscURBQXFELCtGQUErRixNQUFNLEdBQUcsd0NBQXdDLGdDQUFnQyxpSEFBaUgsR0FBRyxnQ0FBZ0MsK0JBQStCLHNDQUFzQyxHQUFHLDhCQUE4Qix1RUFBdUUsY0FBYzs7QUFFcHZGLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRCw2QkFBNkIsaUJBQWlCLDhDQUE4QywyREFBMkQsS0FBSyw4SUFBOEksOEJBQThCLG9DQUFvQywrQ0FBK0Msc0NBQXNDLHdDQUF3QyxLQUFLLHFEQUFxRCw0QkFBNEIsc0JBQXNCLE9BQU8sMEJBQTBCLHdCQUF3QixzQkFBc0Isa0RBQWtELDhCQUE4Qiw2Q0FBNkMsd0JBQXdCLG9CQUFvQixTQUFTLDhEQUE4RCxPQUFPLEtBQUsscUNBQXFDLDBCQUEwQixLQUFLLE9BQU8sc0JBQXNCLEtBQUssaUJBQWlCLHFCQUFxQixpQkFBaUIsU0FBUyw0REFBNEQsS0FBSyxZQUFZLEtBQUsscUNBQXFDLDhCQUE4QixvQkFBb0IsT0FBTyxzSUFBc0ksTUFBTSwyQ0FBMkMsMkNBQTJDLG1CQUFtQixNQUFNLDJDQUEyQywyQ0FBMkMsbUJBQW1CLE1BQU0saUVBQWlFLHVDQUF1QyxzREFBc0QsT0FBTyx5Q0FBeUMscURBQXFELE9BQU8sNkJBQTZCLGtCQUFrQixPQUFPLDZEQUE2RCx3REFBd0Qsb0JBQW9CLDhCQUE4QixnQkFBZ0IsT0FBTywwQkFBMEIsc0NBQXNDLE9BQU8sT0FBTyw2Q0FBNkMsT0FBTyxnQ0FBZ0MsMEJBQTBCLE9BQU8scUJBQXFCLG9DQUFvQyxzREFBc0QsTUFBTSw4RUFBOEUsdUJBQXVCLDBCQUEwQix5QkFBeUIsT0FBTywrQkFBK0IsNENBQTRDLHdCQUF3QixPQUFPLHNDQUFzQyx1R0FBdUcsd0JBQXdCLE9BQU8sT0FBTywwQ0FBMEMsc0lBQXNJLHdCQUF3QixPQUFPLG9DQUFvQyxnRkFBZ0YsTUFBTSw0RUFBNEUsNkVBQTZFLCtCQUErQiwyQkFBMkIsd0JBQXdCLG9CQUFvQixPQUFPLG1EQUFtRCwwQ0FBMEMscUJBQXFCLGlCQUFpQixPQUFPLDBCQUEwQixPQUFPLGlCQUFpQixrQkFBa0IsNEJBQTRCLDBDQUEwQyxRQUFRLFVBQVUsdUVBQXVFLGtEQUFrRCw2REFBNkQsb0JBQW9CLDBCQUEwQixzQkFBc0IsZ0JBQWdCLFdBQVcsU0FBUyxPQUFPLDRCQUE0QiwwQkFBMEIsbUJBQW1CLFVBQVUsdUVBQXVFLGtEQUFrRCw2REFBNkQsb0JBQW9CLDBCQUEwQixzQkFBc0IsZ0JBQWdCLFdBQVcsU0FBUyxPQUFPLDBCQUEwQixNQUFNLDJDQUEyQyxnQkFBZ0IsMENBQTBDLHlCQUF5QixTQUFTLE9BQU8sdUNBQXVDLGtCQUFrQix1REFBdUQsNEJBQTRCLCtCQUErQiwrQkFBK0IsNEJBQTRCLCtCQUErQixPQUFPLHVCQUF1QixTQUFTLE9BQU8sZUFBZSxLQUFLLG1FQUFtRSxrSUFBa0ksMENBQTBDLHFCQUFxQixpQkFBaUIsT0FBTywwQkFBMEIsT0FBTyxpQkFBaUIsd0VBQXdFLHdDQUF3QyxZQUFZLFVBQVUsdUNBQXVDLGdEQUFnRCwySUFBMkksa0JBQWtCLHdCQUF3QixvQkFBb0IsY0FBYyxTQUFTLE9BQU8sNEJBQTRCLDJDQUEyQyxnREFBZ0QseURBQXlELE9BQU8sbUJBQW1CLE1BQU0saURBQWlELGdCQUFnQiwwQ0FBMEMseUJBQXlCLFNBQVMsT0FBTyx1Q0FBdUMsbUJBQW1CLHNDQUFzQyw0QkFBNEIseUJBQXlCLG9CQUFvQiw0QkFBNEIsK0JBQStCLE9BQU8saUJBQWlCLFNBQVMsT0FBTyxlQUFlLEtBQUssMkVBQTJFLG9EQUFvRCxzQkFBc0IsOEVBQThFLHNCQUFzQixtQkFBbUIsa0JBQWtCLE9BQU8sZ0JBQWdCLHFDQUFxQywwQ0FBMEMsZ0NBQWdDLHFEQUFxRCxxQkFBcUIseUJBQXlCLFNBQVMsZ0JBQWdCLHVEQUF1RCw4QkFBOEIsK0NBQStDLGdDQUFnQyxTQUFTLE9BQU8sNEJBQTRCLFNBQVMsT0FBTyx3QkFBd0Isb0JBQW9CLHlEQUF5RCxxQkFBcUIsU0FBUyxPQUFPLHNCQUFzQixTQUFTLDBCQUEwQiwrQ0FBK0MsZ0NBQWdDLFNBQVMsT0FBTyw0QkFBNEIsU0FBUyxPQUFPLE1BQU0sZ0RBQWdELDBDQUEwQyxxQkFBcUIsaUJBQWlCLE9BQU8sc0NBQXNDLE9BQU8sZ0NBQWdDLG9DQUFvQywwQkFBMEIsTUFBTSw4Q0FBOEMsMkJBQTJCLG1CQUFtQixlQUFlLE1BQU0sc0RBQXNELGtDQUFrQyxzQ0FBc0MsT0FBTyxrQkFBa0IsTUFBTSxtRkFBbUYsb0VBQW9FLHNCQUFzQixPQUFPLDhCQUE4QixNQUFNLHNEQUFzRCxvRUFBb0UsMEJBQTBCLE9BQU8sa0JBQWtCLE1BQU0sa0RBQWtELHdFQUF3RSxNQUFNLDZCQUE2Qix3QkFBd0Isd0JBQXdCLGlCQUFpQixlQUFlLCtCQUErQixtQkFBbUIsZUFBZSxLQUFLLHNCQUFzQixzQkFBc0Isc0JBQXNCLHNCQUFzQixxQkFBcUIsNkJBQTZCLHdCQUF3Qix3QkFBd0IscURBQXFELDBCQUEwQix1QkFBdUIsT0FBTyxtQ0FBbUMsbUNBQW1DLEtBQUssK2tCQUEra0IsK0tBQStLLHlaQUF5WixpRUFBaUUsd0JBQXdCLGlDQUFpQyxnQkFBZ0IsMENBQTBDLGlCQUFpQixvQkFBb0Isc0JBQXNCLHVCQUF1QixpQkFBaUIsT0FBTyxnQ0FBZ0Msb0VBQW9FLGdEQUFnRCxxREFBcUQsc0RBQXNELFdBQVcsT0FBTyw2QkFBNkIsV0FBVyxtQkFBbUIsMEJBQTBCLHNCQUFzQixnQkFBZ0IsV0FBVyxTQUFTLDBCQUEwQix5Q0FBeUMsU0FBUyw0Q0FBNEMsMEJBQTBCLFNBQVMsa0NBQWtDLDBCQUEwQixTQUFTLG1CQUFtQixPQUFPLDZEQUE2RCwrRUFBK0UseUNBQXlDLHFEQUFxRCx5Q0FBeUMsaUJBQWlCLDZCQUE2Qix1QkFBdUIsNkJBQTZCLG1EQUFtRCxpQ0FBaUMsOEJBQThCLHdEQUF3RCxXQUFXLE9BQU8sMEJBQTBCLFdBQVcsU0FBUyw0QkFBNEIsMEJBQTBCLFNBQVMsNENBQTRDLDBCQUEwQixTQUFTLGtDQUFrQywwQkFBMEIsU0FBUyxtQkFBbUIsT0FBTyx5REFBeUQsTUFBTSxvREFBb0QsOEJBQThCLDhCQUE4Qix5Q0FBeUMsT0FBTyx3REFBd0QsZ0lBQWdJLE9BQU8sNEJBQTRCLG9FQUFvRSxPQUFPLGdEQUFnRCxNQUFNLGdEQUFnRCwrQkFBK0IsTUFBTSxrRUFBa0UsNENBQTRDLHNEQUFzRCxNQUFNLGdFQUFnRSxxREFBcUQsTUFBTSxtRkFBbUYseUNBQXlDLHdEQUF3RCwrRUFBK0UsMkRBQTJELHFCQUFxQix5Q0FBeUMseUNBQXlDLGlCQUFpQiwyQkFBMkIsMEJBQTBCLCtDQUErQyw0QkFBNEIsT0FBTyxxQkFBcUIsU0FBUyxxQkFBcUIsYUFBYSxPQUFPLDRCQUE0QixzQkFBc0IsdUNBQXVDLFNBQVMsT0FBTyxPQUFPLG1CQUFtQixhQUFhLE9BQU8sNEJBQTRCLHNCQUFzQix1QkFBdUIsU0FBUyxnQkFBZ0IsZUFBZSxPQUFPLHFCQUFxQixTQUFTLE9BQU8sbUJBQW1CLE1BQU0sdUJBQXVCLHlEQUF5RCxrQ0FBa0MsUUFBUSxLQUFLLE9BQU8seURBQXlELGtCQUFrQixrQkFBa0IsMEJBQTBCLGtCQUFrQixvQkFBb0IsU0FBUyx3QkFBd0IsaUJBQWlCLG1CQUFtQixTQUFTLHVCQUF1QixpQkFBaUIsbUJBQW1CLFNBQVMsd0JBQXdCLGlCQUFpQixtQkFBbUIsU0FBUyxxQkFBcUIsUUFBUSxLQUFLLHVEQUF1RCwrQ0FBK0Msa0JBQWtCLGdCQUFnQiwrQkFBK0IsZ0JBQWdCLGtCQUFrQixPQUFPLDZCQUE2QixlQUFlLGlCQUFpQixPQUFPLDRCQUE0QixlQUFlLGlCQUFpQixPQUFPLDRCQUE0QixlQUFlLGlCQUFpQixPQUFPLDRCQUE0QixZQUFZLE9BQU8sZUFBZSxNQUFNLCtGQUErRiwwQ0FBMEMsa0NBQWtDLHlDQUF5QyxNQUFNLGlDQUFpQyx5Q0FBeUMseUJBQXlCLGdCQUFnQixTQUFTLGlDQUFpQyw0QkFBNEIsMkRBQTJELE9BQU8saUJBQWlCLEtBQUssdUZBQXVGLGtDQUFrQyxrQkFBa0IscUJBQXFCLGlCQUFpQixPQUFPLDhDQUE4QyxlQUFlLDRCQUE0QixPQUFPLGVBQWUsTUFBTSx3REFBd0QsNkNBQTZDLE1BQU0scURBQXFELGdDQUFnQyxnREFBZ0QsT0FBTywwQkFBMEIsTUFBTSx5REFBeUQsa0NBQWtDLGdEQUFnRCxPQUFPLDBCQUEwQixNQUFNLDhDQUE4QyxpQ0FBaUMsTUFBTSxnRkFBZ0YsaUNBQWlDLE1BQU0sNENBQTRDLDJCQUEyQiwyQkFBMkIsT0FBTyxvQkFBb0IsTUFBTSxtRkFBbUYsd0NBQXdDLHNDQUFzQyxPQUFPLHVCQUF1QixnQkFBZ0IsT0FBTyxxREFBcUQsT0FBTyw0QkFBNEIsTUFBTSw2Q0FBNkMsbURBQW1ELDRCQUE0QixNQUFNLHNFQUFzRSxpRUFBaUUsbUNBQW1DLE1BQU0sNkNBQTZDLGtFQUFrRSxvQ0FBb0MsTUFBTSxzRkFBc0YsOENBQThDLHFDQUFxQyxnQkFBZ0IsT0FBTyxPQUFPLGlCQUFpQixPQUFPLHVCQUF1QixjQUFjLE9BQU8scURBQXFELE9BQU8sK0JBQStCLDRCQUE0QixNQUFNLCtDQUErQyxtREFBbUQsNkJBQTZCLE1BQU0seUVBQXlFLGtFQUFrRSxvQ0FBb0MsTUFBTSwrQ0FBK0MsbUVBQW1FLHFDQUFxQyxNQUFNLHNGQUFzRix3Q0FBd0MsWUFBWSxxQ0FBcUMsaUJBQWlCLGdCQUFnQixPQUFPLE9BQU8sZ0JBQWdCLGlCQUFpQixPQUFPLHVCQUF1QixjQUFjLE9BQU8sZ0RBQWdELE9BQU8seUJBQXlCLGNBQWMsY0FBYyxPQUFPLHFDQUFxQyxTQUFTLE9BQU8sK0JBQStCLDRCQUE0QixNQUFNLCtDQUErQyxtREFBbUQsNkJBQTZCLE1BQU0seUVBQXlFLGtFQUFrRSxvQ0FBb0MsTUFBTSwrQ0FBK0MsbUVBQW1FLHFDQUFxQyxNQUFNLDhGQUE4RixzREFBc0Qsb0RBQW9ELGdDQUFnQyxnRkFBZ0YsMkJBQTJCLHNCQUFzQixPQUFPLHFEQUFxRCxpQkFBaUIsT0FBTyxtREFBbUQsT0FBTyxzREFBc0Qsd0VBQXdFLE9BQU8sOERBQThELE1BQU0saURBQWlELHVDQUF1QyxNQUFNLDhFQUE4RSxrREFBa0QsaUNBQWlDLDBCQUEwQiw4QkFBOEIsa0JBQWtCLHdEQUF3RCxPQUFPLE9BQU8seURBQXlELE9BQU8sNEJBQTRCLE1BQU0sa0ZBQWtGLFlBQVksb0ZBQW9GLDBCQUEwQiwyQkFBMkIsMkJBQTJCLGdDQUFnQyxxQ0FBcUMsc0RBQXNELHlCQUF5QiwyQkFBMkIseUJBQXlCLDZCQUE2QixPQUFPLDZDQUE2QyxxQ0FBcUMsaUJBQWlCLGdCQUFnQixPQUFPLE9BQU8sZ0JBQWdCLGlCQUFpQixPQUFPLHNCQUFzQixxQkFBcUIsY0FBYyxPQUFPLHdEQUF3RCxzQ0FBc0MseUJBQXlCLE9BQU8sWUFBWSw2QkFBNkIsT0FBTyxxQ0FBcUMsc0NBQXNDLHlCQUF5QixPQUFPLCtCQUErQix3QkFBd0Isd0NBQXdDLHNCQUFzQiwwQ0FBMEMsdUJBQXVCLGNBQWMsY0FBYyxPQUFPLHFDQUFxQyxTQUFTLE9BQU8sb0JBQW9CLE1BQU0sdUVBQXVFLGNBQWMsc0RBQXNELHlCQUF5Qiw0QkFBNEIsMEJBQTBCLG1CQUFtQixPQUFPLHNEQUFzRCwwQkFBMEIsNEJBQTRCLDBCQUEwQixtQkFBbUIsT0FBTyxvRUFBb0Usc0NBQXNDLE1BQU0seUZBQXlGLGtFQUFrRSx5QkFBeUIsK0JBQStCLHlCQUF5Qiw2QkFBNkIsNkNBQTZDLGdDQUFnQywwQkFBMEIsdUJBQXVCLDBCQUEwQixnQ0FBZ0MsT0FBTyxnRkFBZ0YsdURBQXVELDBCQUEwQix3QkFBd0IsMEJBQTBCLG9CQUFvQixPQUFPLCtCQUErQixvQkFBb0IsaUJBQWlCLGdCQUFnQixPQUFPLE9BQU8sZ0JBQWdCLGlCQUFpQixPQUFPLHNCQUFzQixxQkFBcUIsY0FBYyxPQUFPLHdEQUF3RCx3QkFBd0Isc0NBQXNDLE9BQU8sWUFBWSw2QkFBNkIsT0FBTyxxQ0FBcUMsd0JBQXdCLHNDQUFzQyxPQUFPLHVGQUF1RixjQUFjLGNBQWMsT0FBTyxxQ0FBcUMsU0FBUyxPQUFPLCtDQUErQyx5QkFBeUIsMEJBQTBCLE9BQU8sNEJBQTRCLE1BQU0sOEVBQThFLG9DQUFvQyxNQUFNLDRDQUE0QyxrREFBa0QsK0NBQStDLHVCQUF1QiwwQkFBMEIsZ0hBQWdILCtCQUErQixvQkFBb0IsK0JBQStCLHNDQUFzQyx3QkFBd0IsdUJBQXVCLFNBQVMsT0FBTyw4SkFBOEosc0NBQXNDLCtDQUErQyxzREFBc0QsV0FBVyxPQUFPLDhCQUE4QixnQ0FBZ0MsK0JBQStCLDRCQUE0Qix3Q0FBd0MsZ0NBQWdDLFNBQVMsaUNBQWlDLDJCQUEyQixPQUFPLHdCQUF3QixpQ0FBaUMsT0FBTyxPQUFPLHFCQUFxQixPQUFPLDJCQUEyQixLQUFLLGdSQUFnUix5QkFBeUIsd0JBQXdCLHdCQUF3QixnQkFBZ0IsYUFBYSxjQUFjLGFBQWEsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsd0JBQXdCLDRCQUE0QiwwQkFBMEIsb0RBQW9ELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsZ0RBQWdELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsNkRBQTZELHdEQUF3RCxzQkFBc0IsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsOERBQThELHlEQUF5RCx1QkFBdUIsaURBQWlELGdDQUFnQyw0Q0FBNEMsK0JBQStCLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsOERBQThELHlEQUF5RCx1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QTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQix3QkFBd0IsNEJBQTRCLDBCQUEwQixvREFBb0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FB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QXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixnREFBZ0QsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDZEQUE2RCx3REFBd0Qsc0JBQXNCLGdEQUFnRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw2REFBNkQsd0RBQXdELHNCQUFzQixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5REFBeUQsdUJBQXVCLGlEQUFpRCxnQ0FBZ0MsNENBQTRDLCtCQUErQiwwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQyw4REFBOEQseURBQXlELHVCQUF1QixpREFBaUQsZ0NBQWdDLDRDQUE0QywrQkFBK0IsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDBDQUEwQyw0Q0FBNEMsNENBQTRDLDBDQUEwQywwQ0FBMEMsNENBQTRDLDRDQUE0QywwQ0FBMEMsMENBQTBDLDRDQUE0Qyw0Q0FBNEMsMENBQTBDLDhEQUE4RCx5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QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzduQmE7O0FBRWIsaUJBQWlCLG1CQUFPLENBQUMsNkRBQVU7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLFVBQVU7QUFDVjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUMxSGE7O0FBRWI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3pEYTs7QUFFYjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQSxnQkFBZ0IsbUJBQU8sQ0FBQywrREFBTzs7Ozs7Ozs7Ozs7OztBQ3BCbEI7O0FBRWIsaUJBQWlCLG1CQUFPLENBQUMsNkRBQVU7O0FBRW5DLGVBQWUsbUJBQU8sQ0FBQyw2Q0FBTztBQUM5QixzQkFBc0IsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDOUMsYUFBYSxtQkFBTyxDQUFDLGtFQUFjOztBQUVuQztBQUNBLFlBQVksbUJBQU8sQ0FBQywwRUFBa0I7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWixHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLG9CQUFvQjtBQUN2QztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhLFNBQVM7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMENBQTBDLFVBQVU7QUFDcEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3JKYTtBQUNiLDhDQUE4QyxjQUFjO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyw4QkFBOEI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUMxQkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNB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OztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsOEJBQThCLGlCQUFpQjtBQUMvQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEIsaUJBQWlCO0FBQy9DOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEscUJBQXFCLGdCQUFnQjtBQUNyQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsaUJBQWlCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixnQkFBZ0I7QUFDbkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsbUJBQW1CLGNBQWM7QUFDakM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLGNBQWM7QUFDakM7QUFDQTs7QUFFQTtBQUNBLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGNBQWM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDZCQUE2QjtBQUN2QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixjQUFjO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSw2QkFBNkI7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksY0FBYztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLFNBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQUFvRCxXQUFXO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLG9CQUFvQjtBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0QsV0FBVztBQUMvRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLE9BQU87QUFDMUI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixPQUFPO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLE9BQU87QUFDMUI7O0FBRUE7QUFDQTs7QUFFQSxxQkFBcUIsT0FBTztBQUM1QjtBQUNBOztBQUVBLHVCQUF1QixPQUFPO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUMsUUFBUTtBQUN6QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxpQ0FBaUMsUUFBUTtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QixtQ0FBbUM7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsNkJBQTZCLG1DQUFtQztBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDZCQUE2QixtQ0FBbUM7QUFDaEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSw2QkFBNkIsbUNBQW1DO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1QiwwQkFBMEI7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLGdDQUFnQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWlDLFFBQVE7QUFDekM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsWUFBWTtBQUMvQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsZ0JBQWdCLGtCQUFrQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQkFBbUIsZ0JBQWdCO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGdCQUFnQjtBQUNuQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLG9CQUFvQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGdCQUFnQjtBQUNuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QixRQUFRO0FBQ3BDO0FBQ0EsNkJBQTZCLFFBQVE7QUFDckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRSxNQUE2Qjs7Ozs7Ozs7Ozs7OztBQzE5R2hDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixnQkFBZ0I7QUFDakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBLGlCQUFpQixtQkFBTyxDQUFDLGVBQVE7QUFDakM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7Ozs7Ozs7Ozs7O0FDaEVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGFBQWEsbUJBQU8sQ0FBQyx3REFBYTs7QUFFbEM7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixjQUFjO0FBQy9CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsaUJBQWlCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLGFBQWE7QUFDOUI7QUFDQTs7QUFFQSxtQkFBbUIsWUFBWTtBQUMvQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixhQUFhO0FBQy9CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ25PQSxVQUFVLG1CQUFPLENBQUMsbURBQU87QUFDekIsYUFBYSxtQkFBTyxDQUFDLHdEQUFhO0FBQ2xDLGdCQUFnQixtQkFBTyxDQUFDLHdEQUFhO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTtBQUNqQyxZQUFZLG1CQUFPLENBQUMsdURBQVM7QUFDN0IsVUFBVSxtQkFBTyxDQUFDLHNEQUFZO0FBQzlCLGFBQWEsbUJBQU8sQ0FBQyx5REFBVTs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNwSEEsY0FBYyxtQkFBTyxDQUFDLCtEQUFhO0FBQ25DLGdCQUFnQixtQkFBTyxDQUFDLCtEQUFhO0FBQ3JDLFlBQVksbUJBQU8sQ0FBQyx3RUFBbUI7O0FBRXZDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNaQSxpQkFBaUIsbUJBQU8sQ0FBQyxpRUFBYztBQUN2QyxhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsWUFBWSxtQkFBTyxDQUFDLDZEQUFTO0FBQzdCLG1CQUFtQixtQkFBTyxDQUFDLHFFQUFnQjtBQUMzQyxnQkFBZ0IsbUJBQU8sQ0FBQyx3REFBYTtBQUNyQyxVQUFVLG1CQUFPLENBQUMsbURBQU87QUFDekIsV0FBVyxtQkFBTyxDQUFDLDhEQUFnQjtBQUNuQyxlQUFlLG1CQUFPLENBQUMsNkRBQVU7O0FBRWpDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7Ozs7Ozs7Ozs7O0FDM0hBLFlBQVksbUJBQU8sQ0FBQyw2REFBUztBQUM3QixpQkFBaUIsbUJBQU8sQ0FBQyxpRUFBYztBQUN2QyxhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsbUJBQW1CLG1CQUFPLENBQUMscUVBQWdCO0FBQzNDLGdCQUFnQixtQkFBTyxDQUFDLHdEQUFhO0FBQ3JDLFVBQVUsbUJBQU8sQ0FBQyxtREFBTztBQUN6QixXQUFXLG1CQUFPLENBQUMsOERBQWdCO0FBQ25DLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTs7QUFFakM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNqSEEsYUFBYSxtQkFBTyxDQUFDLHdEQUFhO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3hGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDZEEsVUFBVSxtQkFBTyxDQUFDLHNEQUFZOztBQUU5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7Ozs7Ozs7Ozs7O0FDaEJBLGFBQWEsbUJBQU8sQ0FBQyx3REFBYTtBQUNsQyxVQUFVLG1CQUFPLENBQUMsc0RBQVk7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ2hDQSxhQUFhLG1CQUFPLENBQUMsd0RBQWE7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7QUN6Q0EsYUFBYSxtQkFBTyxDQUFDLHdEQUFhOztBQUVsQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7Ozs7Ozs7Ozs7O0FDeEJBLFVBQVUsbUJBQU8sQ0FBQyxzREFBWTtBQUM5QixhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsYUFBYSxtQkFBTyxDQUFDLDBEQUFXOztBQUVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsY0FBYztBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUM3QkE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDTkE7QUFDQSxPQUFPLG1CQUFPLENBQUMseURBQU87QUFDdEIsT0FBTyxtQkFBTyxDQUFDLHlEQUFPO0FBQ3RCLE9BQU8sbUJBQU8sQ0FBQyx5REFBTztBQUN0QixRQUFRLG1CQUFPLENBQUMsMkRBQVE7QUFDeEIsUUFBUSxtQkFBTyxDQUFDLDJEQUFRO0FBQ3hCLE9BQU8sbUJBQU8sQ0FBQyx5REFBTztBQUN0QixPQUFPLG1CQUFPLENBQUMseURBQU87QUFDdEIsT0FBTyxtQkFBTyxDQUFDLHlEQUFPO0FBQ3RCOztBQUVBLFlBQVksbUJBQU8sQ0FBQyxrRUFBYTs7QUFFakM7QUFDQTtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2pCQSx3REFBVSxtQkFBTyxDQUFDLHNEQUFZOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ2ZBLFVBQVUsbUJBQU8sQ0FBQyxtREFBTztBQUN6QixhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsZ0JBQWdCLG1CQUFPLENBQUMsd0RBQWE7QUFDckMsZUFBZSxtQkFBTyxDQUFDLDZEQUFVOztBQUVqQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQzFCQSxVQUFVLG1CQUFPLENBQUMsOERBQWdCO0FBQ2xDLFVBQVUsbUJBQU8sQ0FBQyx3RUFBd0I7QUFDMUMsZUFBZSxtQkFBTyxDQUFDLDBFQUFzQjtBQUM3QyxlQUFlLG1CQUFPLENBQUMsb0VBQXNCO0FBQzdDLFdBQVcsbUJBQU8sQ0FBQyw4REFBZ0I7O0FBRW5DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLGdDQUFnQzs7QUFFdkU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUMsK0NBQStDOztBQUV0RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNsRUEsaUJBQWlCLG1CQUFPLENBQUMsd0RBQWE7QUFDdEMsVUFBVSxtQkFBTyxDQUFDLGdEQUFRO0FBQzFCLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTtBQUNqQyxhQUFhLG1CQUFPLENBQUMsd0RBQWE7O0FBRWxDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ2pEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ3ZCQSx1REFBUyxtQkFBTyxDQUFDLDZDQUFPO0FBQ3hCLGtCQUFrQixtQkFBTyxDQUFDLDBEQUFhOztBQUV2QztBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7OztBQ2xDQSxpQkFBaUIsbUJBQU8sQ0FBQyx5RkFBMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBcEQsYUFBYSxtQkFBTyxDQUFDLHdEQUFhO0FBQ2xDLGlCQUFpQixtQkFBTyxDQUFDLDBEQUFhO0FBQ3RDLGFBQWEsbUJBQU8sQ0FBQywyRUFBaUI7QUFDdEMsZUFBZSxtQkFBTyxDQUFDLDZEQUFVO0FBQ2pDLFdBQVcsbUJBQU8sQ0FBQyw4REFBUTtBQUMzQixhQUFhLG1CQUFPLENBQUMsa0VBQVU7O0FBRS9CLGlCQUFpQixtQkFBTyxDQUFDLGlGQUFtQjtBQUM1QztBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUMzRkE7QUFDQSxhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsaUJBQWlCLG1CQUFPLENBQUMsMERBQWE7QUFDdEMsVUFBVSxtQkFBTyxDQUFDLDhEQUFnQjtBQUNsQyxTQUFTLG1CQUFPLENBQUMseURBQVU7QUFDM0IsU0FBUyxtQkFBTyxDQUFDLDZDQUFPO0FBQ3hCLGdCQUFnQixtQkFBTyxDQUFDLHNEQUFZO0FBQ3BDLGFBQWEsbUJBQU8sQ0FBQyx5RUFBZTs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUM5SUE7QUFDQSxhQUFhLG1CQUFPLENBQUMsd0RBQWE7QUFDbEMsU0FBUyxtQkFBTyxDQUFDLDZDQUFPO0FBQ3hCLFNBQVMsbUJBQU8sQ0FBQyx5REFBVTtBQUMzQixnQkFBZ0IsbUJBQU8sQ0FBQyxzREFBWTtBQUNwQyxhQUFhLG1CQUFPLENBQUMseUVBQWU7O0FBRXBDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDbkZBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRVk7O0FBRVosYUFBYSxtQkFBTyxDQUFDLG9EQUFXO0FBQ2hDLGNBQWMsbUJBQU8sQ0FBQyxnREFBUztBQUMvQixjQUFjLG1CQUFPLENBQUMsZ0RBQVM7O0FBRS9CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsbURBQW1EO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsVUFBVTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBLHVDQUF1QyxTQUFTO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUJBQWlCO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYSxpQkFBaUI7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELEVBQUU7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGVBQWU7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esd0JBQXdCLFFBQVE7QUFDaEM7QUFDQSxxQkFBcUIsZUFBZTtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsWUFBWTtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLFNBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixrQkFBa0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLG1CQUFtQixjQUFjO0FBQ2pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1REFBdUQsT0FBTztBQUM5RDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdURBQXVELE9BQU87QUFDOUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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QUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ2xHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzFHQSw2REFBZSxtQkFBTyxDQUFDLHlEQUFVO0FBQ2pDLFNBQVMsbUJBQU8sQ0FBQyw2Q0FBTzs7QUFFeEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUMzSFk7QUFDWixlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsVUFBVSxtQkFBTyxDQUFDLDhDQUFRO0FBQzFCLGdCQUFnQixtQkFBTyxDQUFDLG9EQUFXO0FBQ25DLFVBQVUsbUJBQU8sQ0FBQyw4Q0FBUTtBQUMxQixXQUFXLG1CQUFPLENBQUMsd0RBQWE7O0FBRWhDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7OztBQzdCQSxVQUFVLG1CQUFPLENBQUMsOENBQVE7O0FBRTFCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ0pZO0FBQ1osZUFBZSxtQkFBTyxDQUFDLDZEQUFVO0FBQ2pDLGFBQWEsbUJBQU8sQ0FBQyxzREFBVTtBQUMvQixXQUFXLG1CQUFPLENBQUMsd0RBQWE7QUFDaEMsYUFBYSxtQkFBTyxDQUFDLHdEQUFhO0FBQ2xDLFVBQVUsbUJBQU8sQ0FBQywwREFBaUI7QUFDbkMsZ0JBQWdCLG1CQUFPLENBQUMsb0RBQVc7O0FBRW5DLFVBQVUsbUJBQU8sQ0FBQyw4Q0FBUTs7QUFFMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQkFBaUIsZUFBZTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUM3RFk7QUFDWixlQUFlLG1CQUFPLENBQUMsNkRBQVU7QUFDakMsYUFBYSxtQkFBTyxDQUFDLHdEQUFhOztBQUVsQyxXQUFXLG1CQUFPLENBQUMsd0RBQWE7O0FBRWhDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlCQUFpQixlQUFlO0FBQ2hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDN0NZOztBQUVaLCtFQUErRSxtQkFBTyxDQUFDLDBEQUFhO0FBQ3BHLG9DQUFvQyxtQkFBTyxDQUFDLDBEQUFhO0FBQ3pELG9DQUFvQyxtQkFBTyxDQUFDLDBEQUFhOztBQUV6RCxZQUFZLG1CQUFPLENBQUMsc0VBQXVCO0FBQzNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsUUFBUSxtQkFBTyxDQUFDLGdEQUFRO0FBQ3hCO0FBQ0E7O0FBRUEsVUFBVSxtQkFBTyxDQUFDLHNFQUFtQjs7QUFFckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxtQkFBTyxDQUFDLGdFQUFnQjs7QUFFakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLG1CQUFPLENBQUMsd0VBQWlCOztBQUVwQztBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFBcUIsbUJBQU8sQ0FBQywwREFBYTs7QUFFMUMsb0JBQW9CLG1CQUFPLENBQUMsZ0VBQWdCOztBQUU1QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKLFNBQVMsbUJBQU8sQ0FBQyx3REFBWTs7QUFFN0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDaEdhOztBQUViLGdCQUFnQixtQkFBTyxDQUFDLDJEQUFhO0FBQ3JDLGlCQUFpQixtQkFBTyxDQUFDLDZEQUFjO0FBQ3ZDLGNBQWMsbUJBQU8sQ0FBQyx1REFBVztBQUNqQyxjQUFjLG1CQUFPLENBQUMsdURBQVc7QUFDakMsY0FBYyxtQkFBTyxDQUFDLHVEQUFXOzs7Ozs7Ozs7Ozs7O0FDTnBCOztBQUViLGFBQWEsbUJBQU8sQ0FBQyx3RUFBcUI7QUFDMUMsZUFBZSxtQkFBTyxDQUFDLDZEQUFVOztBQUVqQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLG9CQUFvQjtBQUNyQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixpQkFBaUI7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLG9CQUFvQjtBQUN2Qzs7QUFFQTs7QUFFQSxtQkFBbUIsb0JBQW9CO0FBQ3ZDO0FBQ0EsR0FBRztBQUNIOztBQUVBLG1CQUFtQixvQkFBb0I7QUFDdkM7O0FBRUEsbUJBQW1CLG9CQUFvQjtBQUN2QztBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNoRWE7O0FBRWIsYUFBYSxtQkFBTyxDQUFDLHdFQUFxQjs7QUFFMUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVEsZ0JBQWdCO0FBQ3hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFFBQVEsd0JBQXdCO0FBQ2hDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLFdBQVc7QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUM1SWE7O0FBRWIsYUFBYSxtQkFBTyxDQUFDLHdFQUFxQjtBQUMxQyxlQUFlLG1CQUFPLENBQUMsNkRBQVU7O0FBRWpDLFlBQVksbUJBQU8sQ0FBQyx1REFBUztBQUM3QixhQUFhLG1CQUFPLENBQUMseURBQVU7O0FBRS9CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix1QkFBdUI7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFtQjtBQUN0Qzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUMsbUJBQW1CO0FBQ3REOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLHVCQUF1QjtBQUN4QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHFDQUFxQyxRQUFRO0FBQzdDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUM3SWE7O0FBRWIsYUFBYSxtQkFBTyxDQUFDLHdFQUFxQjtBQUMxQyxlQUFlLG1CQUFPLENBQUMsNkRBQVU7O0FBRWpDLGFBQWEsbUJBQU8sQ0FBQyx5REFBVTtBQUMvQixVQUFVLG1CQUFPLENBQUMsbURBQU87O0FBRXpCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrQkFBa0IsMkJBQTJCO0FBQzdDLGtCQUFrQiwyQkFBMkI7QUFDN0Msa0JBQWtCLDJCQUEyQjtBQUM3QztBQUNBLEdBQUc7QUFDSDtBQUNBLGtCQUFrQiwyQkFBMkI7QUFDN0Msa0JBQWtCLDJCQUEyQjtBQUM3QyxrQkFBa0IsMkJBQTJCO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNyRGE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsUUFBUTtBQUN6QixtQkFBbUIsU0FBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsUUFBUTtBQUN6QixtQkFBbUIsU0FBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixPQUFPO0FBQ3hCLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCLG9CQUFvQixRQUFRO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFFBQVE7QUFDekIsbUJBQW1CLFNBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFNBQVM7QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsUUFBUTtBQUN6QixtQkFBbUIsU0FBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIscUJBQXFCO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLFNBQVM7QUFDM0I7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsT0FBTztBQUN4QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQix5QkFBeUI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixVQUFVO0FBQzNCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDL1BBLGtFQUFvQixtQkFBTyxDQUFDLCtFQUFxQjtBQUNqRCxhQUFhLG1CQUFPLENBQUMsd0VBQW1COztBQUV4QyxTQUFTLG1CQUFPLENBQUMseURBQVU7O0FBRTNCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDekNBLHVEQUFTLG1CQUFPLENBQUMsNkNBQU87QUFDeEIsa0JBQWtCLG1CQUFPLENBQUMsMkRBQWM7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxtQkFBTyxDQUFDLDJFQUFpQjtBQUN0QyxrQkFBa0IsbUJBQU8sQ0FBQywwREFBYTtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNuS0Esa0JBQWtCLG1CQUFPLENBQUMsMERBQWE7QUFDdkM7QUFDQTtBQUNBO0FBQ0EsU0FBUyxtQkFBTyxDQUFDLDZDQUFPO0FBQ3hCO0FBQ0Esa0JBQWtCLG1CQUFPLENBQUMsMkRBQWM7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixXQUFXO0FBQ25DO0FBQ0EsbUJBQW1CLHlCQUF5QjtBQUM1QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLGlCQUFpQixtQkFBbUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3hHYTs7QUFFYjs7QUFFQSxtQkFBbUIsbUJBQU8sQ0FBQyw2REFBaUI7QUFDNUMsaUJBQWlCLG1CQUFPLENBQUMsdUVBQWtCO0FBQzNDLGdCQUFnQixtQkFBTyxDQUFDLGdEQUFTO0FBQ2pDLGlCQUFpQixtQkFBTyxDQUFDLDZFQUFrQjtBQUMzQyxrQkFBa0IsbUJBQU8sQ0FBQyx5RUFBbUI7O0FBRTdDO0FBQ0EsY0FBYyxtQkFBTyxDQUFDLHVFQUFlO0FBQ3JDLGlCQUFpQixtQkFBTyxDQUFDLDZFQUFrQjs7Ozs7Ozs7Ozs7OztBQ1o5Qjs7QUFFYixTQUFTLG1CQUFPLENBQUMsNkNBQU87QUFDeEIsWUFBWSxtQkFBTyxDQUFDLCtEQUFVO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsZ0JBQWdCO0FBQzdCO0FBQ0Esc0NBQXNDLFFBQVE7QUFDOUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUIsT0FBTztBQUN4QixlQUFlLGlCQUFpQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhCQUE4QixRQUFRO0FBQ3RDO0FBQ0EsbUJBQW1CLHdCQUF3QjtBQUMzQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsUUFBUTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxlQUFlLFFBQVE7QUFDdkI7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZUFBZSxTQUFTO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVM7QUFDdEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixXQUFXO0FBQzVCLG1CQUFtQixVQUFVO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQzVYYTs7QUFFYixZQUFZLG1CQUFPLENBQUMsK0RBQVU7QUFDOUIsU0FBUyxtQkFBTyxDQUFDLDZDQUFPO0FBQ3hCLGVBQWUsbUJBQU8sQ0FBQyw2REFBVTtBQUNqQyxXQUFXLG1CQUFPLENBQUMsa0VBQVE7O0FBRTNCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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O0FBQ0E7O0FBRUEsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLLGVBQWU7QUFDcEIsS0FBSyxlQUFlO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLG1CQUFtQjtBQUN4QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsV0FBVztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ3o2QmE7O0FBRWI7O0FBRUEsV0FBVyxtQkFBTyxDQUFDLG1EQUFTO0FBQzVCLFlBQVksbUJBQU8sQ0FBQyxvRUFBUztBQUM3QixZQUFZLG1CQUFPLENBQUMsOERBQVM7O0FBRTdCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsUUFBUSxtQkFBTyxDQUFDLDhGQUF5QjtBQUN6QyxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7QUM3TVk7O0FBRWIsU0FBUyxtQkFBTyxDQUFD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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7OztBQzN3QmE7O0FBRWI7QUFDQSxTQUFTLG1CQUFPLENBQUMsNkNBQU87QUFDeEIsZ0JBQWdCLG1CQUFPLENBQUMsd0VBQXFCO0FBQzdDLGVBQWUsbUJBQU8sQ0FBQyx3RkFBMkI7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxpQkFBaUIsZ0JBQWdCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDckhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLG1CQUFtQixTQUFTO0FBQzVCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEsaUNBQWlDLFFBQVE7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxzQ0FBc0MsUUFBUTtBQUM5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztB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Q0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLGNBQWM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1DQUFtQztBQUNuQyxtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7O0FBRUE7QUFDQTtB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QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7QUN6SEQ7QUFDQTs7QUFFWTs7QUFFWixVQUFVLG1CQUFPLENBQUMsbURBQVM7O0FBRTNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDWkEsK0NBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEIsQ0FBQztBQUNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0FDM0NBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FB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QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEZBQTBGLGFBQWE7QUFDdkc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEZBQThGLGVBQWU7QUFDN0c7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEs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O0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBYTtBQUN4QixXQUFXLEVBQUU7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMERBQTBEO0FBQzFEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxFQUFFO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixpQkFBaUI7QUFDcEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxtQkFBbUIsc0JBQXNCO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7O0FDdjNEYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUM7QUFDRCxt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O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDtBQUN4RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjs7QUFFcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQkFBbUIsU0FBUztBQUM1QjtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEVBQTRFOztBQUU1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7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QUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTCxHQUFHO0FBQ0gsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUIsbUJBQU8sQ0FBQyw4RUFBa0I7O0FBRS9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUM7O0FBRWpDOztBQUVBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLG9EQUFvRDtBQUNwRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLHNDQUFzQyxzQ0FBc0M7QUFDekc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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SDtBQUNBLGdFQUFnRSwyQkFBMkI7QUFDM0YsdUVBQXVFLGlDQUFpQyx3REFBd0QsRUFBRTtBQUNsSyxpRkFBaUYsNERBQTREO0FBQzdJLHVFQUF1RSxpQ0FBaUMsMkRBQTJELEVBQUU7QUFDckssaUZBQWlGLGlFQUFpRTtBQUNsSjtBQUNBLDJFQUEyRSx5REFBeUQ7QUFDcEksMkVBQTJFLHlCQUF5QjtBQUNwRywrRUFBK0Usa0JBQWtCO0FBQ2pHO0FBQ0EsdUZBQXVGLG1DQUFtQztBQUMxSDtBQUNBLHVGQUF1Riw0QkFBNEI7QUFDbkg7QUFDQSwrRUFBK0Usa0JBQWtCO0FBQ2pHO0FBQ0EsdUZBQXVGLG1DQUFtQztBQUMxSDtBQUNBLHVGQUF1Riw0QkFBNEI7QUFDbkg7QUFDQSwrRUFBK0Usa0JBQWtCO0FBQ2pHO0FBQ0EsdUZBQXVGLG1DQUFtQztBQUMxSDtBQUNBLHVGQUF1Riw0QkFBNEI7QUFDbkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUN0UUEsZTs7Ozs7Ozs7Ozs7QUNBQSxlOzs7Ozs7Ozs7OztBQ0FBLGU7Ozs7Ozs7Ozs7O0FDQUEsZSIsImZpbGUiOiJtYWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IFwiLi9zcmMvbWFpbi50c3hcIik7XG4iLCIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShcImFhcmR2YXJrLXJlYWN0XCIsIFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcImFhcmR2YXJrLXJlYWN0XCJdID0gZmFjdG9yeSgpO1xuXHRlbHNlXG5cdFx0cm9vdFtcImFhcmR2YXJrLXJlYWN0XCJdID0gZmFjdG9yeSgpO1xufSkodGhpcywgZnVuY3Rpb24oKSB7XG5yZXR1cm4gLyoqKioqKi8gKGZ1bmN0aW9uKG1vZHVsZXMpIHsgLy8gd2VicGFja0Jvb3RzdHJhcFxuLyoqKioqKi8gXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4vKioqKioqLyBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuLyoqKioqKi8gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG4vKioqKioqL1xuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyoqKioqKi8gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbi8qKioqKiovIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4vKioqKioqLyBcdFx0XHRpOiBtb2R1bGVJZCxcbi8qKioqKiovIFx0XHRcdGw6IGZhbHNlLFxuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge31cbi8qKioqKiovIFx0XHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbi8qKioqKiovIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcbi8qKioqKiovXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cbi8qKioqKiovXG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbi8qKioqKiovIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4vKioqKioqLyBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbi8qKioqKiovIFx0XHR9XG4vKioqKioqLyBcdH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbi8qKioqKiovIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbi8qKioqKiovIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuLyoqKioqKi8gXHRcdH1cbi8qKioqKiovIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4vKioqKioqLyBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuLyoqKioqKi8gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbi8qKioqKiovIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4vKioqKioqLyBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbi8qKioqKiovIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbi8qKioqKiovIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuLyoqKioqKi8gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4vKioqKioqLyBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuLyoqKioqKi8gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbi8qKioqKiovIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4vKioqKioqLyBcdFx0cmV0dXJuIG5zO1xuLyoqKioqKi8gXHR9O1xuLyoqKioqKi9cbi8qKioqKiovIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4vKioqKioqLyBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4vKioqKioqLyBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuLyoqKioqKi8gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbi8qKioqKiovIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4vKioqKioqLyBcdFx0cmV0dXJuIGdldHRlcjtcbi8qKioqKiovIFx0fTtcbi8qKioqKiovXG4vKioqKioqLyBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG4vKioqKioqL1xuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuLyoqKioqKi9cbi8qKioqKiovXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBcIi4vc3JjL2luZGV4LnRzXCIpO1xuLyoqKioqKi8gfSlcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqLyAoe1xuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHshZnVuY3Rpb24odCxlKXsgdHJ1ZT9tb2R1bGUuZXhwb3J0cz1lKCk6dW5kZWZpbmVkfSh0aGlzLChmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT17fTtmdW5jdGlvbiBuKGkpe2lmKGVbaV0pcmV0dXJuIGVbaV0uZXhwb3J0czt2YXIgcj1lW2ldPXtpOmksbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFtpXS5jYWxsKHIuZXhwb3J0cyxyLHIuZXhwb3J0cyxuKSxyLmw9ITAsci5leHBvcnRzfXJldHVybiBuLm09dCxuLmM9ZSxuLmQ9ZnVuY3Rpb24odCxlLGkpe24ubyh0LGUpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGdldDppfSl9LG4ucj1mdW5jdGlvbih0KXtcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOlxcXCJNb2R1bGVcXFwifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pfSxuLnQ9ZnVuY3Rpb24odCxlKXtpZigxJmUmJih0PW4odCkpLDgmZSlyZXR1cm4gdDtpZig0JmUmJlxcXCJvYmplY3RcXFwiPT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBpPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKGkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLFxcXCJkZWZhdWx0XFxcIix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiZcXFwic3RyaW5nXFxcIiE9dHlwZW9mIHQpZm9yKHZhciByIGluIHQpbi5kKGkscixmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLHIpKTtyZXR1cm4gaX0sbi5uPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0LmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBuLmQoZSxcXFwiYVxcXCIsZSksZX0sbi5vPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfSxuLnA9XFxcIlxcXCIsbihuLnM9MTIpfShbZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS5lcHNpbG9uPTFlLTV9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPV9fd2VicGFja19yZXF1aXJlX18oLyohIGNyeXB0byAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanNcXFwiKX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7dmFyIGk9big0KSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgzKSx2b2lkIDAhPT10JiYodGhpcy54eXo9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInpcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieHlcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieHl6XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXSx0aGlzLnZhbHVlc1syXT10WzJdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLng9MCx0aGlzLnk9MCx0aGlzLno9MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9bmV3IHQpLGUueD10aGlzLngsZS55PXRoaXMueSxlLno9dGhpcy56LGV9LHQucHJvdG90eXBlLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9dGhpcyksdC54PS10aGlzLngsdC55PS10aGlzLnksdC56PS10aGlzLnosdH0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPXIuZXBzaWxvbiksIShNYXRoLmFicyh0aGlzLngtdC54KT5lKSYmKCEoTWF0aC5hYnModGhpcy55LXQueSk+ZSkmJiEoTWF0aC5hYnModGhpcy56LXQueik+ZSkpfSx0LnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZExlbmd0aCgpKX0sdC5wcm90b3R5cGUuc3F1YXJlZExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCxlPXRoaXMueSxuPXRoaXMuejtyZXR1cm4gdCp0K2UqZStuKm59LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpc30sdC5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzfSx0LnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLGUueCo9dCxlLnkqPXQsZS56Kj10LGV9LHQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXt0fHwodD10aGlzKTt2YXIgZT10aGlzLmxlbmd0aCgpO3JldHVybiAxPT09ZT90aGlzOjA9PT1lPyh0Lng9MCx0Lnk9MCx0Lno9MCx0KTooZT0xL2UsdC54Kj1lLHQueSo9ZSx0LnoqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5QnlNYXQzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLHQubXVsdGlwbHlWZWMzKHRoaXMsZSl9LHQucHJvdG90eXBlLm11bHRpcGx5QnlRdWF0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLHQubXVsdGlwbHlWZWMzKHRoaXMsZSl9LHQucHJvdG90eXBlLnRvUXVhdD1mdW5jdGlvbihlKXtlfHwoZT1uZXcgaS5kZWZhdWx0KTt2YXIgbj1uZXcgdCxyPW5ldyB0O3JldHVybiBuLng9TWF0aC5jb3MoLjUqdGhpcy54KSxyLng9TWF0aC5zaW4oLjUqdGhpcy54KSxuLnk9TWF0aC5jb3MoLjUqdGhpcy55KSxyLnk9TWF0aC5zaW4oLjUqdGhpcy55KSxuLno9TWF0aC5jb3MoLjUqdGhpcy56KSxyLno9TWF0aC5zaW4oLjUqdGhpcy56KSxlLng9ci54Km4ueSpuLnotbi54KnIueSpyLnosZS55PW4ueCpyLnkqbi56K3IueCpuLnkqci56LGUuej1uLngqbi55KnIuei1yLngqci55Km4ueixlLnc9bi54Km4ueSpuLnorci54KnIueSpyLnosZX0sdC5jcm9zcz1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueCxzPWUueSxhPWUueixvPW4ueCx1PW4ueSxsPW4uejtyZXR1cm4gaS54PXMqbC1hKnUsaS55PWEqby1yKmwsaS56PXIqdS1zKm8saX0sdC5kb3Q9ZnVuY3Rpb24odCxlKXt2YXIgbj10LngsaT10Lnkscj10Lno7cmV0dXJuIG4qZS54K2kqZS55K3IqZS56fSx0LmRpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7ZS54LHQueCxlLnksdC55LGUueix0Lno7cmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWREaXN0YW5jZSh0LGUpKX0sdC5zcXVhcmVkRGlzdGFuY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLngtdC54LGk9ZS55LXQueSxyPWUuei10Lno7cmV0dXJuIG4qbitpKmkrcipyfSx0LmRpcmVjdGlvbj1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueC1uLngscz1lLnktbi55LGE9ZS56LW4ueixvPU1hdGguc3FydChyKnIrcypzK2EqYSk7cmV0dXJuIDA9PT1vPyhpLng9MCxpLnk9MCxpLno9MCxpKToobz0xL28saS54PXIqbyxpLnk9cypvLGkuej1hKm8saSl9LHQubWl4PWZ1bmN0aW9uKGUsbixpLHIpe3JldHVybiByfHwocj1uZXcgdCksci54PWUueCtpKihuLngtZS54KSxyLnk9ZS55K2kqKG4ueS1lLnkpLHIuej1lLnoraSoobi56LWUueikscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaS56PWUueituLnosaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGkuej1lLnotbi56LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpLno9ZS56Km4ueixpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGkuej1lLnovbi56LGl9LHQuemVybz1uZXcgdChbMCwwLDBdKSx0Lm9uZT1uZXcgdChbMSwxLDFdKSx0LnVwPW5ldyB0KFswLDEsMF0pLHQucmlnaHQ9bmV3IHQoWzEsMCwwXSksdC5mb3J3YXJkPW5ldyB0KFswLDAsMV0pLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMikscj1uKDApLHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoMiksdm9pZCAwIT09dCYmKHRoaXMueHk9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZX0sdC5wcm90b3R5cGUubmVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0fHwodD10aGlzKSx0Lng9LXRoaXMueCx0Lnk9LXRoaXMueSx0fSx0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9ci5lcHNpbG9uKSwhKE1hdGguYWJzKHRoaXMueC10LngpPmUpJiYhKE1hdGguYWJzKHRoaXMueS10LnkpPmUpfSx0LnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZExlbmd0aCgpKX0sdC5wcm90b3R5cGUuc3F1YXJlZExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCxlPXRoaXMueTtyZXR1cm4gdCp0K2UqZX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngrPXQueCx0aGlzLnkrPXQueSx0aGlzfSx0LnByb3RvdHlwZS5zdWJ0cmFjdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54LT10LngsdGhpcy55LT10LnksdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCo9dC54LHRoaXMueSo9dC55LHRoaXN9LHQucHJvdG90eXBlLmRpdmlkZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Lz10LngsdGhpcy55Lz10LnksdGhpc30sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8KGU9dGhpcyksZS54Kj10LGUueSo9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54PTAsdC55PTAsdCk6KGU9MS9lLHQueCo9ZSx0LnkqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0Mj1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMih0aGlzLGUpfSx0LnByb3RvdHlwZS5tdWx0aXBseU1hdDM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8KGU9dGhpcyksdC5tdWx0aXBseVZlYzIodGhpcyxlKX0sdC5jcm9zcz1mdW5jdGlvbih0LGUsbil7bnx8KG49bmV3IGkuZGVmYXVsdCk7dmFyIHI9dC54LHM9dC55LGE9ZS54LG89ciplLnktcyphO3JldHVybiBuLng9MCxuLnk9MCxuLno9byxufSx0LmRvdD1mdW5jdGlvbih0LGUpe3JldHVybiB0LngqZS54K3QueSplLnl9LHQuZGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZERpc3RhbmNlKHQsZSkpfSx0LnNxdWFyZWREaXN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueC10LngsaT1lLnktdC55O3JldHVybiBuKm4raSppfSx0LmRpcmVjdGlvbj1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueC1uLngscz1lLnktbi55LGE9TWF0aC5zcXJ0KHIqcitzKnMpO3JldHVybiAwPT09YT8oaS54PTAsaS55PTAsaSk6KGE9MS9hLGkueD1yKmEsaS55PXMqYSxpKX0sdC5taXg9ZnVuY3Rpb24oZSxuLGkscil7cnx8KHI9bmV3IHQpO3ZhciBzPWUueCxhPWUueSxvPW4ueCx1PW4ueTtyZXR1cm4gci54PXMraSooby1zKSxyLnk9YStpKih1LWEpLHJ9LHQuc3VtPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngrbi54LGkueT1lLnkrbi55LGl9LHQuZGlmZmVyZW5jZT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54LW4ueCxpLnk9ZS55LW4ueSxpfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCpuLngsaS55PWUueSpuLnksaX0sdC5xdW90aWVudD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54L24ueCxpLnk9ZS55L24ueSxpfSx0Lnplcm89bmV3IHQoWzAsMF0pLHQub25lPW5ldyB0KFsxLDFdKSx0fSgpO2UuZGVmYXVsdD1zfSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDUpLHI9big2KSxzPW4oMiksYT1uKDApLG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoNCksdm9pZCAwIT09dCYmKHRoaXMueHl6dz10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInlcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1sxXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwielxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ3XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzNdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbM109dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5elxcXCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInh5endcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM11dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl0sdGhpcy52YWx1ZXNbM109dFszXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDw0O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDQ7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5yb2xsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiBNYXRoLmF0YW4yKDIqKHQqZStpKm4pLGkqaSt0KnQtZSplLW4qbil9LHQucHJvdG90eXBlLnBpdGNoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiBNYXRoLmF0YW4yKDIqKGUqbitpKnQpLGkqaS10KnQtZSplK24qbil9LHQucHJvdG90eXBlLnlhdz1mdW5jdGlvbigpe3JldHVybiBNYXRoLmFzaW4oMioodGhpcy54KnRoaXMuei10aGlzLncqdGhpcy55KSl9LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPWEuZXBzaWxvbik7Zm9yKHZhciBuPTA7bjw0O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLng9MCx0aGlzLnk9MCx0aGlzLno9MCx0aGlzLnc9MSx0aGlzfSx0LnByb3RvdHlwZS5jYWxjdWxhdGVXPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56O3JldHVybiB0aGlzLnc9LU1hdGguc3FydChNYXRoLmFicygxLXQqdC1lKmUtbipuKSksdGhpc30sdC5wcm90b3R5cGUuaW52ZXJzZT1mdW5jdGlvbigpe3ZhciBlPXQuZG90KHRoaXMsdGhpcyk7aWYoIWUpcmV0dXJuIHRoaXMueHl6dz1bMCwwLDAsMF0sdGhpczt2YXIgbj1lPzEvZTowO3JldHVybiB0aGlzLngqPS1uLHRoaXMueSo9LW4sdGhpcy56Kj0tbix0aGlzLncqPW4sdGhpc30sdC5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdKj0tMSx0aGlzLnZhbHVlc1sxXSo9LTEsdGhpcy52YWx1ZXNbMl0qPS0xLHRoaXN9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueCxlPXRoaXMueSxuPXRoaXMueixpPXRoaXMudztyZXR1cm4gTWF0aC5zcXJ0KHQqdCtlKmUrbipuK2kqaSl9LHQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXt0fHwodD10aGlzKTt2YXIgZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj10aGlzLncscz1NYXRoLnNxcnQoZSplK24qbitpKmkrcipyKTtyZXR1cm4gcz8ocz0xL3MsdC54PWUqcyx0Lnk9bipzLHQuej1pKnMsdC53PXIqcyx0KToodC54PTAsdC55PTAsdC56PTAsdC53PTAsdCl9LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDQ7ZSsrKXRoaXMudmFsdWVzW2VdKz10LmF0KGUpO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPXQueCxhPXQueSxvPXQueix1PXQudztyZXR1cm4gdGhpcy54PWUqdStyKnMrbipvLWkqYSx0aGlzLnk9bip1K3IqYStpKnMtZSpvLHRoaXMuej1pKnUrcipvK2UqYS1uKnMsdGhpcy53PXIqdS1lKnMtbiphLWkqbyx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzM9ZnVuY3Rpb24odCxlKXtlfHwoZT1uZXcgcy5kZWZhdWx0KTt2YXIgbj10LngsaT10Lnkscj10LnosYT10aGlzLngsbz10aGlzLnksdT10aGlzLnosbD10aGlzLncsaD1sKm4rbypyLXUqaSxjPWwqaSt1Km4tYSpyLHY9bCpyK2EqaS1vKm4sZj0tYSpuLW8qaS11KnI7cmV0dXJuIGUueD1oKmwrZiotYStjKi11LXYqLW8sZS55PWMqbCtmKi1vK3YqLWEtaCotdSxlLno9dipsK2YqLXUraCotby1jKi1hLGV9LHQucHJvdG90eXBlLnRvTWF0Mz1mdW5jdGlvbih0KXt0fHwodD1uZXcgaS5kZWZhdWx0KTt2YXIgZT10aGlzLngsbj10aGlzLnkscj10aGlzLnoscz10aGlzLncsYT1lK2Usbz1uK24sdT1yK3IsbD1lKmEsaD1lKm8sYz1lKnUsdj1uKm8sZj1uKnUscD1yKnUsZD1zKmEseT1zKm8sZz1zKnU7cmV0dXJuIHQuaW5pdChbMS0oditwKSxoK2csYy15LGgtZywxLShsK3ApLGYrZCxjK3ksZi1kLDEtKGwrdildKSx0fSx0LnByb3RvdHlwZS50b01hdDQ9ZnVuY3Rpb24odCl7dHx8KHQ9bmV3IHIuZGVmYXVsdCk7dmFyIGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHM9dGhpcy53LGE9ZStlLG89bituLHU9aStpLGw9ZSphLGg9ZSpvLGM9ZSp1LHY9bipvLGY9bip1LHA9aSp1LGQ9cyphLHk9cypvLGc9cyp1O3JldHVybiB0LmluaXQoWzEtKHYrcCksaCtnLGMteSwwLGgtZywxLShsK3ApLGYrZCwwLGMreSxmLWQsMS0obCt2KSwwLDAsMCwwLDFdKSx0fSx0LmRvdD1mdW5jdGlvbih0LGUpe3JldHVybiB0LngqZS54K3QueSplLnkrdC56KmUueit0LncqZS53fSx0LnN1bT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54K24ueCxpLnk9ZS55K24ueSxpLno9ZS56K24ueixpLnc9ZS53K24udyxpfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KTt2YXIgcj1lLngscz1lLnksYT1lLnosbz1lLncsdT1uLngsbD1uLnksaD1uLnosYz1uLnc7cmV0dXJuIGkueD1yKmMrbyp1K3MqaC1hKmwsaS55PXMqYytvKmwrYSp1LXIqaCxpLno9YSpjK28qaCtyKmwtcyp1LGkudz1vKmMtcip1LXMqbC1hKmgsaX0sdC5jcm9zcz1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueCxzPWUueSxhPWUueixvPWUudyx1PW4ueCxsPW4ueSxoPW4ueixjPW4udztyZXR1cm4gaS54PW8qaCthKmMrcipsLXMqdSxpLnk9bypjLXIqdS1zKmwtYSpoLGkuej1vKnUrcipjK3MqaC1hKmwsaS53PW8qbCtzKmMrYSp1LXIqaCxpfSx0LnNob3J0TWl4PWZ1bmN0aW9uKGUsbixpLHIpe2lmKHJ8fChyPW5ldyB0KSxpPD0wKXJldHVybiByLnh5enc9ZS54eXp3LHI7aWYoaT49MSlyZXR1cm4gci54eXp3PW4ueHl6dyxyO3ZhciBzLGEsbz10LmRvdChlLG4pLHU9bi5jb3B5KCk7aWYobzwwJiYodS5pbnZlcnNlKCksbz0tbyksbz4uOTk5OSlzPTEtaSxhPTAraTtlbHNle3ZhciBsPU1hdGguc3FydCgxLW8qbyksaD1NYXRoLmF0YW4yKGwsbyksYz0xL2w7cz1NYXRoLnNpbigoMS1pKSpoKSpjLGE9TWF0aC5zaW4oKDAraSkqaCkqY31yZXR1cm4gci54PXMqZS54K2EqdS54LHIueT1zKmUueSthKnUueSxyLno9cyplLnorYSp1Lnosci53PXMqZS53K2EqdS53LHJ9LHQubWl4PWZ1bmN0aW9uKGUsbixpLHIpe3J8fChyPW5ldyB0KTt2YXIgcz1lLngqbi54K2UueSpuLnkrZS56Km4ueitlLncqbi53O2lmKE1hdGguYWJzKHMpPj0xKXJldHVybiByLnh5enc9ZS54eXp3LHI7dmFyIGE9TWF0aC5hY29zKHMpLG89TWF0aC5zcXJ0KDEtcypzKTtpZihNYXRoLmFicyhvKTwuMDAxKXJldHVybiByLng9LjUqZS54Ky41Km4ueCxyLnk9LjUqZS55Ky41Km4ueSxyLno9LjUqZS56Ky41Km4ueixyLnc9LjUqZS53Ky41Km4udyxyO3ZhciB1PU1hdGguc2luKCgxLWkpKmEpL28sbD1NYXRoLnNpbihpKmEpL287cmV0dXJuIHIueD1lLngqdStuLngqbCxyLnk9ZS55KnUrbi55Kmwsci56PWUueip1K24ueipsLHIudz1lLncqdStuLncqbCxyfSx0LmZyb21BeGlzQW5nbGU9ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KSxuKj0uNTt2YXIgcj1NYXRoLnNpbihuKTtyZXR1cm4gaS54PWUueCpyLGkueT1lLnkqcixpLno9ZS56KnIsaS53PU1hdGguY29zKG4pLGl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PW99LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pO3ZhciBpPW4oNikscj1uKDQpLHM9bigzKSxhPW4oMiksbz1uKDApLHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoOSksdm9pZCAwIT09dCYmdGhpcy5pbml0KHQpfXJldHVybiB0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw5O2UrKyl0aGlzLnZhbHVlc1tlXT10W2VdO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8OTt0KyspdGhpcy52YWx1ZXNbdF09MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlfHwoZT1uZXcgdCk7Zm9yKHZhciBuPTA7bjw5O24rKyllLnZhbHVlc1tuXT10aGlzLnZhbHVlc1tuXTtyZXR1cm4gZX0sdC5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPDk7ZSsrKXRbZV09dGhpcy52YWx1ZXNbZV07cmV0dXJuIHR9LHQucHJvdG90eXBlLnJvdz1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbMyp0KzBdLHRoaXMudmFsdWVzWzMqdCsxXSx0aGlzLnZhbHVlc1szKnQrMl1dfSx0LnByb3RvdHlwZS5jb2w9ZnVuY3Rpb24odCl7cmV0dXJuW3RoaXMudmFsdWVzW3RdLHRoaXMudmFsdWVzW3QrM10sdGhpcy52YWx1ZXNbdCs2XV19LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPW8uZXBzaWxvbik7Zm9yKHZhciBuPTA7bjw5O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5kZXRlcm1pbmFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzBdLGU9dGhpcy52YWx1ZXNbMV0sbj10aGlzLnZhbHVlc1syXSxpPXRoaXMudmFsdWVzWzNdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbN10sdT10aGlzLnZhbHVlc1s4XTtyZXR1cm4gdCoodSpyLXMqbykrZSooLXUqaStzKmEpK24qKG8qaS1yKmEpfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0wLHRoaXMudmFsdWVzWzRdPTEsdGhpcy52YWx1ZXNbNV09MCx0aGlzLnZhbHVlc1s2XT0wLHRoaXMudmFsdWVzWzddPTAsdGhpcy52YWx1ZXNbOF09MSx0aGlzfSx0LnByb3RvdHlwZS50cmFuc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1sxXSxlPXRoaXMudmFsdWVzWzJdLG49dGhpcy52YWx1ZXNbNV07cmV0dXJuIHRoaXMudmFsdWVzWzFdPXRoaXMudmFsdWVzWzNdLHRoaXMudmFsdWVzWzJdPXRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzNdPXQsdGhpcy52YWx1ZXNbNV09dGhpcy52YWx1ZXNbN10sdGhpcy52YWx1ZXNbNl09ZSx0aGlzLnZhbHVlc1s3XT1uLHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0saT10aGlzLnZhbHVlc1szXSxyPXRoaXMudmFsdWVzWzRdLHM9dGhpcy52YWx1ZXNbNV0sYT10aGlzLnZhbHVlc1s2XSxvPXRoaXMudmFsdWVzWzddLHU9dGhpcy52YWx1ZXNbOF0sbD11KnItcypvLGg9LXUqaStzKmEsYz1vKmktciphLHY9dCpsK2UqaCtuKmM7cmV0dXJuIHY/KHY9MS92LHRoaXMudmFsdWVzWzBdPWwqdix0aGlzLnZhbHVlc1sxXT0oLXUqZStuKm8pKnYsdGhpcy52YWx1ZXNbMl09KHMqZS1uKnIpKnYsdGhpcy52YWx1ZXNbM109aCp2LHRoaXMudmFsdWVzWzRdPSh1KnQtbiphKSp2LHRoaXMudmFsdWVzWzVdPSgtcyp0K24qaSkqdix0aGlzLnZhbHVlc1s2XT1jKnYsdGhpcy52YWx1ZXNbN109KC1vKnQrZSphKSp2LHRoaXMudmFsdWVzWzhdPShyKnQtZSppKSp2LHRoaXMpOm51bGx9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdLHM9dGhpcy52YWx1ZXNbNF0sYT10aGlzLnZhbHVlc1s1XSxvPXRoaXMudmFsdWVzWzZdLHU9dGhpcy52YWx1ZXNbN10sbD10aGlzLnZhbHVlc1s4XSxoPXQuYXQoMCksYz10LmF0KDEpLHY9dC5hdCgyKSxmPXQuYXQoMykscD10LmF0KDQpLGQ9dC5hdCg1KSx5PXQuYXQoNiksZz10LmF0KDcpLHg9dC5hdCg4KTtyZXR1cm4gdGhpcy52YWx1ZXNbMF09aCplK2Mqcit2Km8sdGhpcy52YWx1ZXNbMV09aCpuK2Mqcyt2KnUsdGhpcy52YWx1ZXNbMl09aCppK2MqYSt2KmwsdGhpcy52YWx1ZXNbM109ZiplK3AqcitkKm8sdGhpcy52YWx1ZXNbNF09ZipuK3AqcytkKnUsdGhpcy52YWx1ZXNbNV09ZippK3AqYStkKmwsdGhpcy52YWx1ZXNbNl09eSplK2cqcit4Km8sdGhpcy52YWx1ZXNbN109eSpuK2cqcyt4KnUsdGhpcy52YWx1ZXNbOF09eSppK2cqYSt4KmwsdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHlWZWMyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC54LGk9dC55O3JldHVybiBlPyhlLnh5PVtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSxlKTpuZXcgcy5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSl9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjMz1mdW5jdGlvbih0LGUpe3ZhciBuPXQueCxpPXQueSxyPXQuejtyZXR1cm4gZT8oZS54eXo9W24qdGhpcy52YWx1ZXNbMF0raSp0aGlzLnZhbHVlc1szXStyKnRoaXMudmFsdWVzWzZdLG4qdGhpcy52YWx1ZXNbMV0raSp0aGlzLnZhbHVlc1s0XStyKnRoaXMudmFsdWVzWzddLG4qdGhpcy52YWx1ZXNbMl0raSp0aGlzLnZhbHVlc1s1XStyKnRoaXMudmFsdWVzWzhdXSxlKTpuZXcgYS5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rcip0aGlzLnZhbHVlc1s2XSxuKnRoaXMudmFsdWVzWzFdK2kqdGhpcy52YWx1ZXNbNF0rcip0aGlzLnZhbHVlc1s3XSxuKnRoaXMudmFsdWVzWzJdK2kqdGhpcy52YWx1ZXNbNV0rcip0aGlzLnZhbHVlc1s4XV0pfSx0LnByb3RvdHlwZS50b01hdDQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuaW5pdChbdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sMCx0aGlzLnZhbHVlc1szXSx0aGlzLnZhbHVlc1s0XSx0aGlzLnZhbHVlc1s1XSwwLHRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzddLHRoaXMudmFsdWVzWzhdLDAsMCwwLDAsMV0pLHQpOm5ldyBpLmRlZmF1bHQoW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLDAsdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbNV0sMCx0aGlzLnZhbHVlc1s2XSx0aGlzLnZhbHVlc1s3XSx0aGlzLnZhbHVlc1s4XSwwLDAsMCwwLDFdKX0sdC5wcm90b3R5cGUudG9RdWF0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scz10aGlzLnZhbHVlc1s0XSxhPXRoaXMudmFsdWVzWzVdLG89dGhpcy52YWx1ZXNbNl0sdT10aGlzLnZhbHVlc1s3XSxsPXRoaXMudmFsdWVzWzhdLGg9dC1zLWwsYz1zLXQtbCx2PWwtdC1zLGY9MCxwPXQrcytsO2g+cCYmKHA9aCxmPTEpLGM+cCYmKHA9YyxmPTIpLHY+cCYmKHA9dixmPTMpO3ZhciBkPS41Kk1hdGguc3FydChwKzEpLHk9LjI1L2QsZz1uZXcgci5kZWZhdWx0O3N3aXRjaChmKXtjYXNlIDA6Zy53PWQsZy54PShhLXUpKnksZy55PShvLW4pKnksZy56PShlLWkpKnk7YnJlYWs7Y2FzZSAxOmcudz0oYS11KSp5LGcueD1kLGcueT0oZStpKSp5LGcuej0obytuKSp5O2JyZWFrO2Nhc2UgMjpnLnc9KG8tbikqeSxnLng9KGUraSkqeSxnLnk9ZCxnLno9KGErdSkqeTticmVhaztjYXNlIDM6Zy53PShlLWkpKnksZy54PShvK24pKnksZy55PShhK3UpKnksZy56PWR9cmV0dXJuIGd9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxyPWUueixzPU1hdGguc3FydChuKm4raSppK3Iqcik7aWYoIXMpcmV0dXJuIG51bGw7MSE9PXMmJihuKj1zPTEvcyxpKj1zLHIqPXMpO3ZhciBhPU1hdGguc2luKHQpLG89TWF0aC5jb3ModCksdT0xLW8sbD10aGlzLnZhbHVlc1swXSxoPXRoaXMudmFsdWVzWzFdLGM9dGhpcy52YWx1ZXNbMl0sdj10aGlzLnZhbHVlc1s0XSxmPXRoaXMudmFsdWVzWzVdLHA9dGhpcy52YWx1ZXNbNl0sZD10aGlzLnZhbHVlc1s4XSx5PXRoaXMudmFsdWVzWzldLGc9dGhpcy52YWx1ZXNbMTBdLHg9bipuKnUrbyxiPWkqbip1K3IqYSx3PXIqbip1LWkqYSxtPW4qaSp1LXIqYSxNPWkqaSp1K28sej1yKmkqdStuKmEsXz1uKnIqdStpKmEsUD1pKnIqdS1uKmEsaz1yKnIqdStvO3JldHVybiB0aGlzLnZhbHVlc1swXT1sKngrdipiK2Qqdyx0aGlzLnZhbHVlc1sxXT1oKngrZipiK3kqdyx0aGlzLnZhbHVlc1syXT1jKngrcCpiK2cqdyx0aGlzLnZhbHVlc1szXT1sKm0rdipNK2Qqeix0aGlzLnZhbHVlc1s0XT1oKm0rZipNK3kqeix0aGlzLnZhbHVlc1s1XT1jKm0rcCpNK2cqeix0aGlzLnZhbHVlc1s2XT1sKl8rdipQK2Qqayx0aGlzLnZhbHVlc1s3XT1oKl8rZipQK3kqayx0aGlzLnZhbHVlc1s4XT1jKl8rcCpQK2cqayx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyksdT1lLmF0KDQpLGw9ZS5hdCg1KSxoPWUuYXQoNiksYz1lLmF0KDcpLHY9ZS5hdCg4KSxmPW4uYXQoMCkscD1uLmF0KDEpLGQ9bi5hdCgyKSx5PW4uYXQoMyksZz1uLmF0KDQpLHg9bi5hdCg1KSxiPW4uYXQoNiksdz1uLmF0KDcpLG09bi5hdCg4KTtyZXR1cm4gaT8oaS5pbml0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pLGkpOm5ldyB0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pfSx0LmlkZW50aXR5PShuZXcgdCkuc2V0SWRlbnRpdHkoKSx0fSgpO2UuZGVmYXVsdD11fSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDUpLHI9bigyKSxzPW4oMTApLGE9bigwKSxvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLnZhbHVlcz1uZXcgRmxvYXQzMkFycmF5KDE2KSx2b2lkIDAhPT10JiZ0aGlzLmluaXQodCl9cmV0dXJuIHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDE2O2UrKyl0aGlzLnZhbHVlc1tlXT10W2VdO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8MTY7dCsrKXRoaXMudmFsdWVzW3RdPTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7ZXx8KGU9bmV3IHQpO2Zvcih2YXIgbj0wO248MTY7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8MTY7ZSsrKXRbZV09dGhpcy52YWx1ZXNbZV07cmV0dXJuIHR9LHQucHJvdG90eXBlLnJvdz1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbNCp0KzBdLHRoaXMudmFsdWVzWzQqdCsxXSx0aGlzLnZhbHVlc1s0KnQrMl0sdGhpcy52YWx1ZXNbNCp0KzNdXX0sdC5wcm90b3R5cGUuY29sPWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1t0XSx0aGlzLnZhbHVlc1t0KzRdLHRoaXMudmFsdWVzW3QrOF0sdGhpcy52YWx1ZXNbdCsxMl1dfSx0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXt2b2lkIDA9PT1lJiYoZT1hLmVwc2lsb24pO2Zvcih2YXIgbj0wO248MTY7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLmRldGVybWluYW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scj10aGlzLnZhbHVlc1s0XSxzPXRoaXMudmFsdWVzWzVdLGE9dGhpcy52YWx1ZXNbNl0sbz10aGlzLnZhbHVlc1s3XSx1PXRoaXMudmFsdWVzWzhdLGw9dGhpcy52YWx1ZXNbOV0saD10aGlzLnZhbHVlc1sxMF0sYz10aGlzLnZhbHVlc1sxMV0sdj10aGlzLnZhbHVlc1sxMl0sZj10aGlzLnZhbHVlc1sxM10scD10aGlzLnZhbHVlc1sxNF0sZD10aGlzLnZhbHVlc1sxNV07cmV0dXJuKHQqcy1lKnIpKihoKmQtYypwKS0odCphLW4qcikqKGwqZC1jKmYpKyh0Km8taSpyKSoobCpwLWgqZikrKGUqYS1uKnMpKih1KmQtYyp2KS0oZSpvLWkqcykqKHUqcC1oKnYpKyhuKm8taSphKSoodSpmLWwqdil9LHQucHJvdG90eXBlLnNldElkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdPTEsdGhpcy52YWx1ZXNbMV09MCx0aGlzLnZhbHVlc1syXT0wLHRoaXMudmFsdWVzWzNdPTAsdGhpcy52YWx1ZXNbNF09MCx0aGlzLnZhbHVlc1s1XT0xLHRoaXMudmFsdWVzWzZdPTAsdGhpcy52YWx1ZXNbN109MCx0aGlzLnZhbHVlc1s4XT0wLHRoaXMudmFsdWVzWzldPTAsdGhpcy52YWx1ZXNbMTBdPTEsdGhpcy52YWx1ZXNbMTFdPTAsdGhpcy52YWx1ZXNbMTJdPTAsdGhpcy52YWx1ZXNbMTNdPTAsdGhpcy52YWx1ZXNbMTRdPTAsdGhpcy52YWx1ZXNbMTVdPTEsdGhpc30sdC5wcm90b3R5cGUudHJhbnNwb3NlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMV0sZT10aGlzLnZhbHVlc1syXSxuPXRoaXMudmFsdWVzWzNdLGk9dGhpcy52YWx1ZXNbNl0scj10aGlzLnZhbHVlc1s3XSxzPXRoaXMudmFsdWVzWzExXTtyZXR1cm4gdGhpcy52YWx1ZXNbMV09dGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbMl09dGhpcy52YWx1ZXNbOF0sdGhpcy52YWx1ZXNbM109dGhpcy52YWx1ZXNbMTJdLHRoaXMudmFsdWVzWzRdPXQsdGhpcy52YWx1ZXNbNl09dGhpcy52YWx1ZXNbOV0sdGhpcy52YWx1ZXNbN109dGhpcy52YWx1ZXNbMTNdLHRoaXMudmFsdWVzWzhdPWUsdGhpcy52YWx1ZXNbOV09aSx0aGlzLnZhbHVlc1sxMV09dGhpcy52YWx1ZXNbMTRdLHRoaXMudmFsdWVzWzEyXT1uLHRoaXMudmFsdWVzWzEzXT1yLHRoaXMudmFsdWVzWzE0XT1zLHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0saT10aGlzLnZhbHVlc1szXSxyPXRoaXMudmFsdWVzWzRdLHM9dGhpcy52YWx1ZXNbNV0sYT10aGlzLnZhbHVlc1s2XSxvPXRoaXMudmFsdWVzWzddLHU9dGhpcy52YWx1ZXNbOF0sbD10aGlzLnZhbHVlc1s5XSxoPXRoaXMudmFsdWVzWzEwXSxjPXRoaXMudmFsdWVzWzExXSx2PXRoaXMudmFsdWVzWzEyXSxmPXRoaXMudmFsdWVzWzEzXSxwPXRoaXMudmFsdWVzWzE0XSxkPXRoaXMudmFsdWVzWzE1XSx5PXQqcy1lKnIsZz10KmEtbipyLHg9dCpvLWkqcixiPWUqYS1uKnMsdz1lKm8taSpzLG09bipvLWkqYSxNPXUqZi1sKnYsej11KnAtaCp2LF89dSpkLWMqdixQPWwqcC1oKmYsaz1sKmQtYypmLEE9aCpkLWMqcCxTPXkqQS1nKmsreCpQK2IqXy13KnorbSpNO3JldHVybiBTPyhTPTEvUyx0aGlzLnZhbHVlc1swXT0ocypBLWEqaytvKlApKlMsdGhpcy52YWx1ZXNbMV09KC1lKkErbiprLWkqUCkqUyx0aGlzLnZhbHVlc1syXT0oZiptLXAqdytkKmIpKlMsdGhpcy52YWx1ZXNbM109KC1sKm0raCp3LWMqYikqUyx0aGlzLnZhbHVlc1s0XT0oLXIqQSthKl8tbyp6KSpTLHRoaXMudmFsdWVzWzVdPSh0KkEtbipfK2kqeikqUyx0aGlzLnZhbHVlc1s2XT0oLXYqbStwKngtZCpnKSpTLHRoaXMudmFsdWVzWzddPSh1Km0taCp4K2MqZykqUyx0aGlzLnZhbHVlc1s4XT0ociprLXMqXytvKk0pKlMsdGhpcy52YWx1ZXNbOV09KC10KmsrZSpfLWkqTSkqUyx0aGlzLnZhbHVlc1sxMF09KHYqdy1mKngrZCp5KSpTLHRoaXMudmFsdWVzWzExXT0oLXUqdytsKngtYyp5KSpTLHRoaXMudmFsdWVzWzEyXT0oLXIqUCtzKnotYSpNKSpTLHRoaXMudmFsdWVzWzEzXT0odCpQLWUqeituKk0pKlMsdGhpcy52YWx1ZXNbMTRdPSgtdipiK2YqZy1wKnkpKlMsdGhpcy52YWx1ZXNbMTVdPSh1KmItbCpnK2gqeSkqUyx0aGlzKTpudWxsfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPXRoaXMudmFsdWVzWzRdLGE9dGhpcy52YWx1ZXNbNV0sbz10aGlzLnZhbHVlc1s2XSx1PXRoaXMudmFsdWVzWzddLGw9dGhpcy52YWx1ZXNbOF0saD10aGlzLnZhbHVlc1s5XSxjPXRoaXMudmFsdWVzWzEwXSx2PXRoaXMudmFsdWVzWzExXSxmPXRoaXMudmFsdWVzWzEyXSxwPXRoaXMudmFsdWVzWzEzXSxkPXRoaXMudmFsdWVzWzE0XSx5PXRoaXMudmFsdWVzWzE1XSxnPXQuYXQoMCkseD10LmF0KDEpLGI9dC5hdCgyKSx3PXQuYXQoMyk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1sxXT1nKm4reCphK2IqaCt3KnAsdGhpcy52YWx1ZXNbMl09ZyppK3gqbytiKmMrdypkLHRoaXMudmFsdWVzWzNdPWcqcit4KnUrYip2K3cqeSxnPXQuYXQoNCkseD10LmF0KDUpLGI9dC5hdCg2KSx3PXQuYXQoNyksdGhpcy52YWx1ZXNbNF09ZyplK3gqcytiKmwrdypmLHRoaXMudmFsdWVzWzVdPWcqbit4KmErYipoK3cqcCx0aGlzLnZhbHVlc1s2XT1nKmkreCpvK2IqYyt3KmQsdGhpcy52YWx1ZXNbN109ZypyK3gqdStiKnYrdyp5LGc9dC5hdCg4KSx4PXQuYXQoOSksYj10LmF0KDEwKSx3PXQuYXQoMTEpLHRoaXMudmFsdWVzWzhdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1s5XT1nKm4reCphK2IqaCt3KnAsdGhpcy52YWx1ZXNbMTBdPWcqaSt4Km8rYipjK3cqZCx0aGlzLnZhbHVlc1sxMV09ZypyK3gqdStiKnYrdyp5LGc9dC5hdCgxMikseD10LmF0KDEzKSxiPXQuYXQoMTQpLHc9dC5hdCgxNSksdGhpcy52YWx1ZXNbMTJdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1sxM109ZypuK3gqYStiKmgrdypwLHRoaXMudmFsdWVzWzE0XT1nKmkreCpvK2IqYyt3KmQsdGhpcy52YWx1ZXNbMTVdPWcqcit4KnUrYip2K3cqeSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzM9ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LGk9dC56O3JldHVybiBuZXcgci5kZWZhdWx0KFt0aGlzLnZhbHVlc1swXSplK3RoaXMudmFsdWVzWzRdKm4rdGhpcy52YWx1ZXNbOF0qaSt0aGlzLnZhbHVlc1sxMl0sdGhpcy52YWx1ZXNbMV0qZSt0aGlzLnZhbHVlc1s1XSpuK3RoaXMudmFsdWVzWzldKmkrdGhpcy52YWx1ZXNbMTNdLHRoaXMudmFsdWVzWzJdKmUrdGhpcy52YWx1ZXNbNl0qbit0aGlzLnZhbHVlc1sxMF0qaSt0aGlzLnZhbHVlc1sxNF1dKX0sdC5wcm90b3R5cGUubXVsdGlwbHlWZWM0PWZ1bmN0aW9uKHQsZSl7ZXx8KGU9bmV3IHMuZGVmYXVsdCk7dmFyIG49dC54LGk9dC55LHI9dC56LGE9dC53O3JldHVybiBlLng9dGhpcy52YWx1ZXNbMF0qbit0aGlzLnZhbHVlc1s0XSppK3RoaXMudmFsdWVzWzhdKnIrdGhpcy52YWx1ZXNbMTJdKmEsZS55PXRoaXMudmFsdWVzWzFdKm4rdGhpcy52YWx1ZXNbNV0qaSt0aGlzLnZhbHVlc1s5XSpyK3RoaXMudmFsdWVzWzEzXSphLGUuej10aGlzLnZhbHVlc1syXSpuK3RoaXMudmFsdWVzWzZdKmkrdGhpcy52YWx1ZXNbMTBdKnIrdGhpcy52YWx1ZXNbMTRdKmEsZS53PXRoaXMudmFsdWVzWzNdKm4rdGhpcy52YWx1ZXNbN10qaSt0aGlzLnZhbHVlc1sxMV0qcit0aGlzLnZhbHVlc1sxNV0qYSxlfSx0LnByb3RvdHlwZS50b01hdDM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGkuZGVmYXVsdChbdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbNV0sdGhpcy52YWx1ZXNbNl0sdGhpcy52YWx1ZXNbOF0sdGhpcy52YWx1ZXNbOV0sdGhpcy52YWx1ZXNbMTBdXSl9LHQucHJvdG90eXBlLnRvSW52ZXJzZU1hdDM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1s0XSxzPXRoaXMudmFsdWVzWzVdLGE9dGhpcy52YWx1ZXNbNl0sbz10aGlzLnZhbHVlc1s4XSx1PXRoaXMudmFsdWVzWzldLGw9dGhpcy52YWx1ZXNbMTBdLGg9bCpzLWEqdSxjPS1sKnIrYSpvLHY9dSpyLXMqbyxmPXQqaCtlKmMrbip2O3JldHVybiBmPyhmPTEvZixuZXcgaS5kZWZhdWx0KFtoKmYsKC1sKmUrbip1KSpmLChhKmUtbipzKSpmLGMqZiwobCp0LW4qbykqZiwoLWEqdCtuKnIpKmYsdipmLCgtdSp0K2UqbykqZiwocyp0LWUqcikqZl0pKTpudWxsfSx0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LGk9dC56O3JldHVybiB0aGlzLnZhbHVlc1sxMl0rPXRoaXMudmFsdWVzWzBdKmUrdGhpcy52YWx1ZXNbNF0qbit0aGlzLnZhbHVlc1s4XSppLHRoaXMudmFsdWVzWzEzXSs9dGhpcy52YWx1ZXNbMV0qZSt0aGlzLnZhbHVlc1s1XSpuK3RoaXMudmFsdWVzWzldKmksdGhpcy52YWx1ZXNbMTRdKz10aGlzLnZhbHVlc1syXSplK3RoaXMudmFsdWVzWzZdKm4rdGhpcy52YWx1ZXNbMTBdKmksdGhpcy52YWx1ZXNbMTVdKz10aGlzLnZhbHVlc1szXSplK3RoaXMudmFsdWVzWzddKm4rdGhpcy52YWx1ZXNbMTFdKmksdGhpc30sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dC54LG49dC55LGk9dC56O3JldHVybiB0aGlzLnZhbHVlc1swXSo9ZSx0aGlzLnZhbHVlc1sxXSo9ZSx0aGlzLnZhbHVlc1syXSo9ZSx0aGlzLnZhbHVlc1szXSo9ZSx0aGlzLnZhbHVlc1s0XSo9bix0aGlzLnZhbHVlc1s1XSo9bix0aGlzLnZhbHVlc1s2XSo9bix0aGlzLnZhbHVlc1s3XSo9bix0aGlzLnZhbHVlc1s4XSo9aSx0aGlzLnZhbHVlc1s5XSo9aSx0aGlzLnZhbHVlc1sxMF0qPWksdGhpcy52YWx1ZXNbMTFdKj1pLHRoaXN9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxyPWUueixzPU1hdGguc3FydChuKm4raSppK3Iqcik7aWYoIXMpcmV0dXJuIG51bGw7MSE9PXMmJihuKj1zPTEvcyxpKj1zLHIqPXMpO3ZhciBhPU1hdGguc2luKHQpLG89TWF0aC5jb3ModCksdT0xLW8sbD10aGlzLnZhbHVlc1swXSxoPXRoaXMudmFsdWVzWzFdLGM9dGhpcy52YWx1ZXNbMl0sdj10aGlzLnZhbHVlc1szXSxmPXRoaXMudmFsdWVzWzRdLHA9dGhpcy52YWx1ZXNbNV0sZD10aGlzLnZhbHVlc1s2XSx5PXRoaXMudmFsdWVzWzddLGc9dGhpcy52YWx1ZXNbOF0seD10aGlzLnZhbHVlc1s5XSxiPXRoaXMudmFsdWVzWzEwXSx3PXRoaXMudmFsdWVzWzExXSxtPW4qbip1K28sTT1pKm4qdStyKmEsej1yKm4qdS1pKmEsXz1uKmkqdS1yKmEsUD1pKmkqdStvLGs9cippKnUrbiphLEE9bipyKnUraSphLFM9aSpyKnUtbiphLFQ9cipyKnUrbztyZXR1cm4gdGhpcy52YWx1ZXNbMF09bCptK2YqTStnKnosdGhpcy52YWx1ZXNbMV09aCptK3AqTSt4KnosdGhpcy52YWx1ZXNbMl09YyptK2QqTStiKnosdGhpcy52YWx1ZXNbM109diptK3kqTSt3KnosdGhpcy52YWx1ZXNbNF09bCpfK2YqUCtnKmssdGhpcy52YWx1ZXNbNV09aCpfK3AqUCt4KmssdGhpcy52YWx1ZXNbNl09YypfK2QqUCtiKmssdGhpcy52YWx1ZXNbN109dipfK3kqUCt3KmssdGhpcy52YWx1ZXNbOF09bCpBK2YqUytnKlQsdGhpcy52YWx1ZXNbOV09aCpBK3AqUyt4KlQsdGhpcy52YWx1ZXNbMTBdPWMqQStkKlMrYipULHRoaXMudmFsdWVzWzExXT12KkEreSpTK3cqVCx0aGlzfSx0LmZydXN0dW09ZnVuY3Rpb24oZSxuLGkscixzLGEpe3ZhciBvPW4tZSx1PXItaSxsPWEtcztyZXR1cm4gbmV3IHQoWzIqcy9vLDAsMCwwLDAsMipzL3UsMCwwLChuK2UpL28sKHIraSkvdSwtKGErcykvbCwtMSwwLDAsLWEqcyoyL2wsMF0pfSx0LnBlcnNwZWN0aXZlPWZ1bmN0aW9uKGUsbixpLHIpe3ZhciBzPWkqTWF0aC50YW4oZSpNYXRoLlBJLzM2MCksYT1zKm47cmV0dXJuIHQuZnJ1c3R1bSgtYSxhLC1zLHMsaSxyKX0sdC5vcnRob2dyYXBoaWM9ZnVuY3Rpb24oZSxuLGkscixzLGEpe3ZhciBvPW4tZSx1PXItaSxsPWEtcztyZXR1cm4gbmV3IHQoWzIvbywwLDAsMCwwLDIvdSwwLDAsMCwwLC0yL2wsMCwtKGUrbikvbywtKHIraSkvdSwtKGErcykvbCwxXSl9LHQubG9va0F0PWZ1bmN0aW9uKGUsbixpKXtpZih2b2lkIDA9PT1pJiYoaT1yLmRlZmF1bHQudXApLGUuZXF1YWxzKG4pKXJldHVybiB0aGlzLmlkZW50aXR5O3ZhciBzPXIuZGVmYXVsdC5kaWZmZXJlbmNlKGUsbikubm9ybWFsaXplKCksYT1yLmRlZmF1bHQuY3Jvc3MoaSxzKS5ub3JtYWxpemUoKSxvPXIuZGVmYXVsdC5jcm9zcyhzLGEpLm5vcm1hbGl6ZSgpO3JldHVybiBuZXcgdChbYS54LG8ueCxzLngsMCxhLnksby55LHMueSwwLGEueixvLnoscy56LDAsLXIuZGVmYXVsdC5kb3QoYSxlKSwtci5kZWZhdWx0LmRvdChvLGUpLC1yLmRlZmF1bHQuZG90KHMsZSksMV0pfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyksdT1lLmF0KDQpLGw9ZS5hdCg1KSxoPWUuYXQoNiksYz1lLmF0KDcpLHY9ZS5hdCg4KSxmPWUuYXQoOSkscD1lLmF0KDEwKSxkPWUuYXQoMTEpLHk9ZS5hdCgxMiksZz1lLmF0KDEzKSx4PWUuYXQoMTQpLGI9ZS5hdCgxNSksdz1uLmF0KDApLG09bi5hdCgxKSxNPW4uYXQoMiksej1uLmF0KDMpLF89bi5hdCg0KSxQPW4uYXQoNSksaz1uLmF0KDYpLEE9bi5hdCg3KSxTPW4uYXQoOCksVD1uLmF0KDkpLEk9bi5hdCgxMCksTz1uLmF0KDExKSxSPW4uYXQoMTIpLEU9bi5hdCgxMyksTj1uLmF0KDE0KSxqPW4uYXQoMTUpO3JldHVybiBpPyhpLmluaXQoW3cqcittKnUrTSp2K3oqeSx3KnMrbSpsK00qZit6KmcsdyphK20qaCtNKnAreip4LHcqbyttKmMrTSpkK3oqYixfKnIrUCp1K2sqditBKnksXypzK1AqbCtrKmYrQSpnLF8qYStQKmgraypwK0EqeCxfKm8rUCpjK2sqZCtBKmIsUypyK1QqdStJKnYrTyp5LFMqcytUKmwrSSpmK08qZyxTKmErVCpoK0kqcCtPKngsUypvK1QqYytJKmQrTypiLFIqcitFKnUrTip2K2oqeSxSKnMrRSpsK04qZitqKmcsUiphK0UqaCtOKnAraip4LFIqbytFKmMrTipkK2oqYl0pLGkpOm5ldyB0KFt3KnIrbSp1K00qdit6KnksdypzK20qbCtNKmYreipnLHcqYSttKmgrTSpwK3oqeCx3Km8rbSpjK00qZCt6KmIsXypyK1AqdStrKnYrQSp5LF8qcytQKmwraypmK0EqZyxfKmErUCpoK2sqcCtBKngsXypvK1AqYytrKmQrQSpiLFMqcitUKnUrSSp2K08qeSxTKnMrVCpsK0kqZitPKmcsUyphK1QqaCtJKnArTyp4LFMqbytUKmMrSSpkK08qYixSKnIrRSp1K04qditqKnksUipzK0UqbCtOKmYraipnLFIqYStFKmgrTipwK2oqeCxSKm8rRSpjK04qZCtqKmJdKX0sdC5pZGVudGl0eT0obmV3IHQpLnNldElkZW50aXR5KCksdH0oKTtlLmRlZmF1bHQ9b30sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS5Bdj1lLkFjdGlvblR5cGU9ZS5oYW5kVG9EZXZpY2U9ZS5EZXZpY2U9ZS5JbnB1dD1lLkludGVyYWN0aW9uUHJvZmlsZT1lLlBhbmVsTW91c2VFdmVudFR5cGU9dm9pZCAwO2NvbnN0IGk9big4KTt2YXIgcjshZnVuY3Rpb24odCl7dFt0LlVua25vd249MF09XFxcIlVua25vd25cXFwiLHRbdC5Eb3duPTFdPVxcXCJEb3duXFxcIix0W3QuVXA9Ml09XFxcIlVwXFxcIix0W3QuRW50ZXI9M109XFxcIkVudGVyXFxcIix0W3QuTGVhdmU9NF09XFxcIkxlYXZlXFxcIix0W3QuTW92ZT01XT1cXFwiTW92ZVxcXCJ9KGUuUGFuZWxNb3VzZUV2ZW50VHlwZXx8KGUuUGFuZWxNb3VzZUV2ZW50VHlwZT17fSkpLGZ1bmN0aW9uKHQpe3QuVml2ZUNvbnRyb2xsZXI9XFxcIi9pbnRlcmFjdGlvbl9wcm9maWxlcy9odGMvdml2ZV9jb250cm9sbGVyXFxcIix0LkNvc21vc0NvbnRyb2xsZXI9XFxcIi9pbnRlcmFjdGlvbl9wcm9maWxlcy9odGMvY29zbW9zX2NvbnRyb2xsZXJcXFwiLHQuUmV2ZXJiRzJDb250cm9sbGVyPVxcXCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvbWljcm9zb2Z0L2hwbW90aW9uY29udHJvbGxlclxcXCIsdC5NaXhlZFJlYWxpdHlDb250cm9sbGVyPVxcXCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvbWljcm9zb2Z0L21vdGlvbl9jb250cm9sbGVyXFxcIix0LlRvdWNoQ29udHJvbGxlcj1cXFwiL2ludGVyYWN0aW9uX3Byb2ZpbGVzL29jdWx1cy90b3VjaFxcXCIsdC5JbmRleENvbnRyb2xsZXI9XFxcIi9pbnRlcmFjdGlvbl9wcm9maWxlcy92YWx2ZS9pbmRleF9jb250cm9sbGVyXFxcIn0oZS5JbnRlcmFjdGlvblByb2ZpbGV8fChlLkludGVyYWN0aW9uUHJvZmlsZT17fSkpLGZ1bmN0aW9uKHQpe3QuVHJpZ2dlcj1cXFwiL2lucHV0L3RyaWdnZXJcXFwiLHQuVHJpZ2dlclRvdWNoPVxcXCIvaW5wdXQvdHJpZ2dlci90b3VjaFxcXCIsdC5UcmlnZ2VyQ2xpY2s9XFxcIi9pbnB1dC90cmlnZ2VyL2NsaWNrXFxcIix0LlRyaWdnZXJWYWx1ZT1cXFwiL2lucHV0L3RyaWdnZXIvdmFsdWVcXFwiLHQuU3F1ZWV6ZT1cXFwiL2lucHV0L3NxdWVlemVcXFwiLHQuU3F1ZWV6ZVRvdWNoPVxcXCIvaW5wdXQvc3F1ZWV6ZS90b3VjaFxcXCIsdC5TcXVlZXplQ2xpY2s9XFxcIi9pbnB1dC9zcXVlZXplL2NsaWNrXFxcIix0LlNxdWVlemVWYWx1ZT1cXFwiL2lucHV0L3NxdWVlemUvdmFsdWVcXFwiLHQuU3F1ZWV6ZUZvcmNlPVxcXCIvaW5wdXQvc3F1ZWV6ZS9mb3JjZVxcXCIsdC5BPVxcXCIvaW5wdXQvYVxcXCIsdC5BVG91Y2g9XFxcIi9pbnB1dC9hL3RvdWNoXFxcIix0LkFDbGljaz1cXFwiL2lucHV0L2EvY2xpY2tcXFwiLHQuQj1cXFwiL2lucHV0L2JcXFwiLHQuQlRvdWNoPVxcXCIvaW5wdXQvYi90b3VjaFxcXCIsdC5CQ2xpY2s9XFxcIi9pbnB1dC9iL2NsaWNrXFxcIix0Llg9XFxcIi9pbnB1dC94XFxcIix0LlhUb3VjaD1cXFwiL2lucHV0L3gvdG91Y2hcXFwiLHQuWENsaWNrPVxcXCIvaW5wdXQveC9jbGlja1xcXCIsdC5ZPVxcXCIvaW5wdXQveVxcXCIsdC5ZVG91Y2g9XFxcIi9pbnB1dC95L3RvdWNoXFxcIix0LllDbGljaz1cXFwiL2lucHV0L3kvY2xpY2tcXFwiLHQuTWVudT1cXFwiL2lucHV0L21lbnVcXFwiLHQuTWVudVRvdWNoPVxcXCIvaW5wdXQvbWVudS90b3VjaFxcXCIsdC5NZW51Q2xpY2s9XFxcIi9pbnB1dC9tZW51L2NsaWNrXFxcIix0LlRyYWNrcGFkPVxcXCIvaW5wdXQvdHJhY2twYWRcXFwiLHQuVHJhY2twYWRUb3VjaD1cXFwiL2lucHV0L3RyYWNrcGFkL3RvdWNoXFxcIix0LlRyYWNrcGFkQ2xpY2s9XFxcIi9pbnB1dC90cmFja3BhZC9jbGlja1xcXCIsdC5UcmFja3BhZEZvcmNlPVxcXCIvaW5wdXQvdHJhY2twYWQvZm9yY2VcXFwiLHQuVHJhY2twYWRYPVxcXCIvaW5wdXQvdHJhY2twYWQveFxcXCIsdC5UcmFja3BhZFk9XFxcIi9pbnB1dC90cmFja3BhZC95XFxcIix0LlRodW1ic3RpY2s9XFxcIi9pbnB1dC90aHVtYnN0aWNrXFxcIix0LlRodW1ic3RpY2tUb3VjaD1cXFwiL2lucHV0L3RodW1ic3RpY2svdG91Y2hcXFwiLHQuVGh1bWJzdGlja0NsaWNrPVxcXCIvaW5wdXQvdGh1bWJzdGljay9jbGlja1xcXCIsdC5UaHVtYnN0aWNrRm9yY2U9XFxcIi9pbnB1dC90aHVtYnN0aWNrL2ZvcmNlXFxcIix0LlRodW1ic3RpY2tYPVxcXCIvaW5wdXQvdGh1bWJzdGljay94XFxcIix0LlRodW1ic3RpY2tZPVxcXCIvaW5wdXQvdGh1bWJzdGljay95XFxcIn0oZS5JbnB1dHx8KGUuSW5wdXQ9e30pKSxmdW5jdGlvbih0KXt0LkxlZnQ9XFxcIi91c2VyL2hhbmQvbGVmdFxcXCIsdC5SaWdodD1cXFwiL3VzZXIvaGFuZC9yaWdodFxcXCJ9KHI9ZS5EZXZpY2V8fChlLkRldmljZT17fSkpLGUuaGFuZFRvRGV2aWNlPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIGkuRUhhbmQuTGVmdDpyZXR1cm4gci5MZWZ0O2Nhc2UgaS5FSGFuZC5SaWdodDpyZXR1cm4gci5SaWdodH19LGZ1bmN0aW9uKHQpe3RbdC5Vbmtub3duPS0xXT1cXFwiVW5rbm93blxcXCIsdFt0LkJvb2xlYW49MF09XFxcIkJvb2xlYW5cXFwiLHRbdC5GbG9hdD0xXT1cXFwiRmxvYXRcXFwiLHRbdC5WZWN0b3IyPTJdPVxcXCJWZWN0b3IyXFxcIn0oZS5BY3Rpb25UeXBlfHwoZS5BY3Rpb25UeXBlPXt9KSksZS5Bdj1mdW5jdGlvbigpe3JldHVybiBudWxsPT09d2luZG93fHx2b2lkIDA9PT13aW5kb3c/dm9pZCAwOndpbmRvdy5hYXJkdmFya319LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pLGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWUuZ2FkZ2V0RGV0YWlsc1RvSWQ9ZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWUuZW1wdHlBY3Rpb25TdGF0ZT1lLkVBY3Rpb249ZS5QZXJtaXNzaW9uPWUuRVRleHR1cmVGb3JtYXQ9ZS5FVGV4dHVyZVR5cGU9ZS5FSGFuZD1lLkVOb2RlRmxhZ3M9ZS5yYXlWb2x1bWU9ZS5zcGhlcmVWb2x1bWU9ZS5tb2RlbEJveFZvbHVtZT1lLmluZmluaXRlVm9sdW1lPWUuZW1wdHlWb2x1bWU9ZS5FVm9sdW1lQ29udGV4dD1lLkVWb2x1bWVUeXBlPWUuaW50ZXJmYWNlU3RyaW5nRnJvbU1zZz1lLmludGVyZmFjZVRvU3RyaW5nPWUuQXZOb2RlVHlwZT1lLkludGVyZmFjZUxvY2tSZXN1bHQ9ZS5wYXJzZUVudmVsb3BlPWUuaXNVc2VyQWdlbnRBYXJkdmFyaz1lLmNvbXB1dGVFbmRwb2ludEZpZWxkVXJpPWUuaW5kZXhPZkVuZHBvaW50QWRkcnM9ZS5lbmRwb2ludEFkZHJzTWF0Y2g9ZS5lbmRwb2ludEFkZHJJc0VtcHR5PWUuc3RyaW5nVG9FbmRwb2ludEFkZHI9ZS5lbmRwb2ludEFkZHJUb1N0cmluZz1lLkVuZHBvaW50VHlwZT1lLldlYlNvY2tldENsb3NlQ29kZXM9ZS5NZXNzYWdlVHlwZT1lLkFhcmR2YXJrUG9ydD12b2lkIDA7Y29uc3QgaT1uKDkpLHI9bigxMSk7dmFyIHMsYTtmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlXFxcIkhcXFwiOnJldHVybiBzLkh1YjtjYXNlXFxcIkdcXFwiOnJldHVybiBzLkdhZGdldDtjYXNlXFxcIk5cXFwiOnJldHVybiBzLk5vZGU7Y2FzZVxcXCJNXFxcIjpyZXR1cm4gcy5Nb25pdG9yO2Nhc2VcXFwiUlxcXCI6cmV0dXJuIHMuUmVuZGVyZXI7ZGVmYXVsdDpyZXR1cm4gcy5Vbmtub3dufX1mdW5jdGlvbiB1KHQpe3JldHVybiB0P2Z1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIHMuSHViOnJldHVyblxcXCJIXFxcIjtjYXNlIHMuR2FkZ2V0OnJldHVyblxcXCJHXFxcIjtjYXNlIHMuTm9kZTpyZXR1cm5cXFwiTlxcXCI7Y2FzZSBzLk1vbml0b3I6cmV0dXJuXFxcIk1cXFwiO2Nhc2Ugcy5SZW5kZXJlcjpyZXR1cm5cXFwiUlxcXCI7Y2FzZSBzLlVua25vd246cmV0dXJuXFxcIlVcXFwiO2RlZmF1bHQ6cmV0dXJuXFxcIj9cXFwifX0odC50eXBlKStcXFwiOlxcXCIrKHQuZW5kcG9pbnRJZD90LmVuZHBvaW50SWQ6MCkrXFxcIjpcXFwiKyh0Lm5vZGVJZD90Lm5vZGVJZDowKTpudWxsfWZ1bmN0aW9uIGwodCl7cmV0dXJuIG51bGw9PXR8fG51bGw9PXQudHlwZXx8dC50eXBlPT1zLlVua25vd259ZnVuY3Rpb24gaCh0LGUpe3JldHVybiBsKHQpP2woZSk6IWwoZSkmJih0LnR5cGU9PWUudHlwZSYmdC5ub2RlSWQ9PWUubm9kZUlkJiZ0LmVuZHBvaW50SWQ9PWUuZW5kcG9pbnRJZCl9ZnVuY3Rpb24gYyh0LGUsbil7cmV0dXJuIHUodCkrXFxcIi0+XFxcIit1KGUpK1xcXCIoXFxcIituK1xcXCIpXFxcIn1lLkFhcmR2YXJrUG9ydD0yMzg0MixmdW5jdGlvbih0KXt0W3QuU2V0RW5kcG9pbnRUeXBlPTEwMF09XFxcIlNldEVuZHBvaW50VHlwZVxcXCIsdFt0LlNldEVuZHBvaW50VHlwZVJlc3BvbnNlPTEwMV09XFxcIlNldEVuZHBvaW50VHlwZVJlc3BvbnNlXFxcIix0W3QuRXJyb3I9MTAyXT1cXFwiRXJyb3JcXFwiLHRbdC5HZXRBYXJkdmFya01hbmlmZXN0PTEwM109XFxcIkdldEFhcmR2YXJrTWFuaWZlc3RcXFwiLHRbdC5HZXRBYXJkdmFya01hbmlmZXN0UmVzcG9uc2U9MTA0XT1cXFwiR2V0QWFyZHZhcmtNYW5pZmVzdFJlc3BvbnNlXFxcIix0W3QuTmV3RW5kcG9pbnQ9MjAwXT1cXFwiTmV3RW5kcG9pbnRcXFwiLHRbdC5Mb3N0RW5kcG9pbnQ9MjAxXT1cXFwiTG9zdEVuZHBvaW50XFxcIix0W3QuT3ZlcnJpZGVUcmFuc2Zvcm09MjAyXT1cXFwiT3ZlcnJpZGVUcmFuc2Zvcm1cXFwiLHRbdC5VcGRhdGVTY2VuZUdyYXBoPTMwMF09XFxcIlVwZGF0ZVNjZW5lR3JhcGhcXFwiLHRbdC5HYWRnZXRTdGFydGVkPTMwM109XFxcIkdhZGdldFN0YXJ0ZWRcXFwiLHRbdC5Ob2RlSGFwdGljPTMwNl09XFxcIk5vZGVIYXB0aWNcXFwiLHRbdC5TYXZlU2V0dGluZ3M9MzEwXT1cXFwiU2F2ZVNldHRpbmdzXFxcIix0W3QuVXBkYXRlQWN0aW9uU3RhdGU9MzExXT1cXFwiVXBkYXRlQWN0aW9uU3RhdGVcXFwiLHRbdC5EZXN0cm95R2FkZ2V0PTMxMl09XFxcIkRlc3Ryb3lHYWRnZXRcXFwiLHRbdC5SZXNvdXJjZUxvYWRGYWlsZWQ9MzEzXT1cXFwiUmVzb3VyY2VMb2FkRmFpbGVkXFxcIix0W3QuSW50ZXJmYWNlRXZlbnQ9MzE2XT1cXFwiSW50ZXJmYWNlRXZlbnRcXFwiLHRbdC5HZXRJbnN0YWxsZWRHYWRnZXRzPTQwMF09XFxcIkdldEluc3RhbGxlZEdhZGdldHNcXFwiLHRbdC5HZXRJbnN0YWxsZWRHYWRnZXRzUmVzcG9uc2U9NDAxXT1cXFwiR2V0SW5zdGFsbGVkR2FkZ2V0c1Jlc3BvbnNlXFxcIix0W3QuSW5zdGFsbEdhZGdldD00MDJdPVxcXCJJbnN0YWxsR2FkZ2V0XFxcIix0W3QuU2V0R2FkZ2V0VG9BdXRvTGF1bmNoPTQwM109XFxcIlNldEdhZGdldFRvQXV0b0xhdW5jaFxcXCIsdFt0LlJlbW92ZUdhZGdldEZyb21BdXRvTGF1bmNoPTQwNF09XFxcIlJlbW92ZUdhZGdldEZyb21BdXRvTGF1bmNoXFxcIix0W3QuSW50ZXJmYWNlU3RhcnRlZD03MDBdPVxcXCJJbnRlcmZhY2VTdGFydGVkXFxcIix0W3QuSW50ZXJmYWNlRW5kZWQ9NzAxXT1cXFwiSW50ZXJmYWNlRW5kZWRcXFwiLHRbdC5JbnRlcmZhY2VUcmFuc2Zvcm1VcGRhdGVkPTcwMl09XFxcIkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWRcXFwiLHRbdC5JbnRlcmZhY2VTZW5kRXZlbnQ9NzAzXT1cXFwiSW50ZXJmYWNlU2VuZEV2ZW50XFxcIix0W3QuSW50ZXJmYWNlUmVjZWl2ZUV2ZW50PTcwNF09XFxcIkludGVyZmFjZVJlY2VpdmVFdmVudFxcXCIsdFt0LkludGVyZmFjZUxvY2s9NzA1XT1cXFwiSW50ZXJmYWNlTG9ja1xcXCIsdFt0LkludGVyZmFjZUxvY2tSZXNwb25zZT03MDZdPVxcXCJJbnRlcmZhY2VMb2NrUmVzcG9uc2VcXFwiLHRbdC5JbnRlcmZhY2VVbmxvY2s9NzA3XT1cXFwiSW50ZXJmYWNlVW5sb2NrXFxcIix0W3QuSW50ZXJmYWNlVW5sb2NrUmVzcG9uc2U9NzA4XT1cXFwiSW50ZXJmYWNlVW5sb2NrUmVzcG9uc2VcXFwiLHRbdC5JbnRlcmZhY2VSZWxvY2s9NzA5XT1cXFwiSW50ZXJmYWNlUmVsb2NrXFxcIix0W3QuSW50ZXJmYWNlUmVsb2NrUmVzcG9uc2U9NzEwXT1cXFwiSW50ZXJmYWNlUmVsb2NrUmVzcG9uc2VcXFwiLHRbdC5JbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZT03MTFdPVxcXCJJbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZVxcXCJ9KGUuTWVzc2FnZVR5cGV8fChlLk1lc3NhZ2VUeXBlPXt9KSksZnVuY3Rpb24odCl7dFt0LlVzZXJEZXN0cm95ZWRHYWRnZXQ9NDcwMV09XFxcIlVzZXJEZXN0cm95ZWRHYWRnZXRcXFwifShlLldlYlNvY2tldENsb3NlQ29kZXN8fChlLldlYlNvY2tldENsb3NlQ29kZXM9e30pKSxmdW5jdGlvbih0KXt0W3QuVW5rbm93bj0tMV09XFxcIlVua25vd25cXFwiLHRbdC5IdWI9MF09XFxcIkh1YlxcXCIsdFt0LkdhZGdldD0xXT1cXFwiR2FkZ2V0XFxcIix0W3QuTm9kZT0yXT1cXFwiTm9kZVxcXCIsdFt0LlJlbmRlcmVyPTNdPVxcXCJSZW5kZXJlclxcXCIsdFt0Lk1vbml0b3I9NF09XFxcIk1vbml0b3JcXFwiLHRbdC5VdGlsaXR5PTVdPVxcXCJVdGlsaXR5XFxcIn0ocz1lLkVuZHBvaW50VHlwZXx8KGUuRW5kcG9pbnRUeXBlPXt9KSksZS5lbmRwb2ludEFkZHJUb1N0cmluZz11LGUuc3RyaW5nVG9FbmRwb2ludEFkZHI9ZnVuY3Rpb24odCl7bGV0IGU9bmV3IFJlZ0V4cChcXFwiXiguKTooWzAtOV0rKTooWzAtOV0rKSRcXFwiKS5leGVjKHQpO3JldHVybiBlP3t0eXBlOm8oZVsxXSksZW5kcG9pbnRJZDpwYXJzZUludChlWzJdKSxub2RlSWQ6cGFyc2VJbnQoZVszXSl9Oihjb25zb2xlLmxvZyhgZW5kcG9pbnQgc3RyaW5nICR7dH0gZmFpbGVkIHRvIHBhcnNlYCksbnVsbCl9LGUuZW5kcG9pbnRBZGRySXNFbXB0eT1sLGUuZW5kcG9pbnRBZGRyc01hdGNoPWgsZS5pbmRleE9mRW5kcG9pbnRBZGRycz1mdW5jdGlvbih0LGUpe2lmKCF0KXJldHVybi0xO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKWlmKGgodFtuXSxlKSlyZXR1cm4gbjtyZXR1cm4tMX0sZS5jb21wdXRlRW5kcG9pbnRGaWVsZFVyaT1mdW5jdGlvbih0LGUpe3JldHVybmBub2RlZmllbGQ6Ly8ke3UodCl9LyR7ZX1gfSxlLmlzVXNlckFnZW50QWFyZHZhcms9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5jbHVkZXMoXFxcIkFhcmR2YXJrXFxcIil9LGUucGFyc2VFbnZlbG9wZT1mdW5jdGlvbih0LGU9ITApe3RyeXtsZXQgbj1KU09OLnBhcnNlKHQpO3JldHVybiBuLnBheWxvYWQmJmUmJihuLnBheWxvYWRVbnBhY2tlZD1KU09OLnBhcnNlKG4ucGF5bG9hZCkpLG59Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUubG9nKFxcXCJmYWlsZWQgdG8gcGFyc2UgZW52ZWxvcGVcXFwiLHQsZSksbnVsbH19LGZ1bmN0aW9uKHQpe3RbdC5TdWNjZXNzPTBdPVxcXCJTdWNjZXNzXFxcIix0W3QuQWxyZWFkeUxvY2tlZD0xXT1cXFwiQWxyZWFkeUxvY2tlZFxcXCIsdFt0Lk5vdExvY2tlZD0yXT1cXFwiTm90TG9ja2VkXFxcIix0W3QuSW50ZXJmYWNlTm90Rm91bmQ9M109XFxcIkludGVyZmFjZU5vdEZvdW5kXFxcIix0W3QuSW50ZXJmYWNlTmFtZU1pc21hdGNoPTRdPVxcXCJJbnRlcmZhY2VOYW1lTWlzbWF0Y2hcXFwiLHRbdC5JbnRlcmZhY2VSZWNlaXZlck1pc21hdGNoPTVdPVxcXCJJbnRlcmZhY2VSZWNlaXZlck1pc21hdGNoXFxcIix0W3QuTmV3UmVjZWl2ZXJOb3RGb3VuZD02XT1cXFwiTmV3UmVjZWl2ZXJOb3RGb3VuZFxcXCJ9KGUuSW50ZXJmYWNlTG9ja1Jlc3VsdHx8KGUuSW50ZXJmYWNlTG9ja1Jlc3VsdD17fSkpLGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPS0xXT1cXFwiSW52YWxpZFxcXCIsdFt0LkNvbnRhaW5lcj0wXT1cXFwiQ29udGFpbmVyXFxcIix0W3QuT3JpZ2luPTFdPVxcXCJPcmlnaW5cXFwiLHRbdC5UcmFuc2Zvcm09Ml09XFxcIlRyYW5zZm9ybVxcXCIsdFt0Lk1vZGVsPTNdPVxcXCJNb2RlbFxcXCIsdFt0LkxpbmU9MTBdPVxcXCJMaW5lXFxcIix0W3QuUGFyZW50VHJhbnNmb3JtPTEyXT1cXFwiUGFyZW50VHJhbnNmb3JtXFxcIix0W3QuSGVhZEZhY2luZ1RyYW5zZm9ybT0xM109XFxcIkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiLHRbdC5JbnRlcmZhY2VFbnRpdHk9MTddPVxcXCJJbnRlcmZhY2VFbnRpdHlcXFwiLHRbdC5DaGlsZD0xOF09XFxcIkNoaWxkXFxcIix0W3QuTW9kZWxUcmFuc2Zvcm09MTldPVxcXCJNb2RlbFRyYW5zZm9ybVxcXCJ9KGUuQXZOb2RlVHlwZXx8KGUuQXZOb2RlVHlwZT17fSkpLGUuaW50ZXJmYWNlVG9TdHJpbmc9YyxlLmludGVyZmFjZVN0cmluZ0Zyb21Nc2c9ZnVuY3Rpb24odCl7cmV0dXJuIGModC50cmFuc21pdHRlcix0LnJlY2VpdmVyLHQuaWZhY2UpfSxmdW5jdGlvbih0KXt0W3QuSW52YWxpZD0tMV09XFxcIkludmFsaWRcXFwiLHRbdC5TcGhlcmU9MF09XFxcIlNwaGVyZVxcXCIsdFt0Lk1vZGVsQm94PTFdPVxcXCJNb2RlbEJveFxcXCIsdFt0LkFBQkI9MV09XFxcIkFBQkJcXFwiLHRbdC5JbmZpbml0ZT0zXT1cXFwiSW5maW5pdGVcXFwiLHRbdC5FbXB0eT00XT1cXFwiRW1wdHlcXFwiLHRbdC5SYXk9NV09XFxcIlJheVxcXCIsdFt0LlNrZWxldG9uPTZdPVxcXCJTa2VsZXRvblxcXCJ9KGE9ZS5FVm9sdW1lVHlwZXx8KGUuRVZvbHVtZVR5cGU9e30pKSxmdW5jdGlvbih0KXt0W3QuQWx3YXlzPTBdPVxcXCJBbHdheXNcXFwiLHRbdC5TdGFydE9ubHk9MV09XFxcIlN0YXJ0T25seVxcXCIsdFt0LkNvbnRpbnVlT25seT0yXT1cXFwiQ29udGludWVPbmx5XFxcIn0oZS5FVm9sdW1lQ29udGV4dHx8KGUuRVZvbHVtZUNvbnRleHQ9e30pKSxlLmVtcHR5Vm9sdW1lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6YS5FbXB0eX19LGUuaW5maW5pdGVWb2x1bWU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTphLkluZmluaXRlfX0sZS5tb2RlbEJveFZvbHVtZT1mdW5jdGlvbih0LGUpe3JldHVybnt0eXBlOmEuTW9kZWxCb3gsdXJpOnQsc2NhbGU6ZX19LGUuc3BoZXJlVm9sdW1lPWZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOmEuU3BoZXJlLHJhZGl1czp0fX0sZS5yYXlWb2x1bWU9ZnVuY3Rpb24odCxlKXtsZXQgbixzO3M9aS52ZWMzLmRvdChpLnZlYzMudXAsZSk+Ljk5OT9pLnZlYzMuZm9yd2FyZDppLnZlYzMuY3Jvc3MoZSxpLnZlYzMudXApO2xldCBvPWkudmVjMy5jcm9zcyhzLGUpO3JldHVybiBuPW5ldyBpLm1hdDQoW2UueCxlLnksZS56LDAsby54LG8ueSxvLnosMCxzLngscy55LHMueiwwLHQueCx0LnksdC56LDFdKSx7dHlwZTphLlJheSxub2RlRnJvbVZvbHVtZTpyLm5vZGVUcmFuc2Zvcm1Gcm9tTWF0NChuKX19LGZ1bmN0aW9uKHQpe3RbdC5WaXNpYmxlPTFdPVxcXCJWaXNpYmxlXFxcIix0W3QuUHJlc2VydmVHcmFiVHJhbnNmb3JtPTJdPVxcXCJQcmVzZXJ2ZUdyYWJUcmFuc2Zvcm1cXFwiLHRbdC5Ob3RpZnlPblRyYW5zZm9ybUNoYW5nZT00XT1cXFwiTm90aWZ5T25UcmFuc2Zvcm1DaGFuZ2VcXFwiLHRbdC5Ob3RpZnlQcm94aW1pdHlXaXRob3V0R3JhYj04XT1cXFwiTm90aWZ5UHJveGltaXR5V2l0aG91dEdyYWJcXFwiLHRbdC5BbGxvd0Ryb3BPbkhvb2tzPTE2XT1cXFwiQWxsb3dEcm9wT25Ib29rc1xcXCIsdFt0LkFsbG93TXVsdGlwbGVEcm9wcz0zMl09XFxcIkFsbG93TXVsdGlwbGVEcm9wc1xcXCIsdFt0LlRldGhlcmVkPTY0XT1cXFwiVGV0aGVyZWRcXFwiLHRbdC5TaG93R3JhYkluZGljYXRvcj0xMjhdPVxcXCJTaG93R3JhYkluZGljYXRvclxcXCIsdFt0LlJlbW90ZT0yNTZdPVxcXCJSZW1vdGVcXFwiLHRbdC5IaWdobGlnaHRIb29rcz01MTJdPVxcXCJIaWdobGlnaHRIb29rc1xcXCJ9KGUuRU5vZGVGbGFnc3x8KGUuRU5vZGVGbGFncz17fSkpLGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPS0xXT1cXFwiSW52YWxpZFxcXCIsdFt0LkxlZnQ9MF09XFxcIkxlZnRcXFwiLHRbdC5SaWdodD0xXT1cXFwiUmlnaHRcXFwifShlLkVIYW5kfHwoZS5FSGFuZD17fSkpLGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPTBdPVxcXCJJbnZhbGlkXFxcIix0W3QuRDNEMTFUZXh0dXJlMkQ9MV09XFxcIkQzRDExVGV4dHVyZTJEXFxcIix0W3QuVGV4dHVyZVVybD0yXT1cXFwiVGV4dHVyZVVybFxcXCJ9KGUuRVRleHR1cmVUeXBlfHwoZS5FVGV4dHVyZVR5cGU9e30pKSxmdW5jdGlvbih0KXt0W3QuUjhHOEI4QTg9MV09XFxcIlI4RzhCOEE4XFxcIix0W3QuQjhHOFI4QTg9Ml09XFxcIkI4RzhSOEE4XFxcIn0oZS5FVGV4dHVyZUZvcm1hdHx8KGUuRVRleHR1cmVGb3JtYXQ9e30pKSxmdW5jdGlvbih0KXt0Lk1hc3Rlcj1cXFwibWFzdGVyXFxcIix0LlNjZW5lR3JhcGg9XFxcInNjZW5lZ3JhcGhcXFwiLHQuRmF2b3JpdGVzPVxcXCJmYXZvcml0ZXNcXFwiLHQuU3RhcnRVcmw9XFxcInN0YXJ0dXJsXFxcIix0LklucHV0PVxcXCJpbnB1dFxcXCIsdC5TZXR0aW5ncz1cXFwic2V0dGluZ3NcXFwiLHQuQXBwbGljYXRpb249XFxcImFwcGxpY2F0aW9uXFxcIn0oZS5QZXJtaXNzaW9ufHwoZS5QZXJtaXNzaW9uPXt9KSksZnVuY3Rpb24odCl7dFt0LkE9MF09XFxcIkFcXFwiLHRbdC5CPTFdPVxcXCJCXFxcIix0W3QuU3F1ZWV6ZT0yXT1cXFwiU3F1ZWV6ZVxcXCIsdFt0LkdyYWI9M109XFxcIkdyYWJcXFwiLHRbdC5EZXRhY2g9NF09XFxcIkRldGFjaFxcXCIsdFt0LkdyYWJTaG93UmF5PTVdPVxcXCJHcmFiU2hvd1JheVxcXCIsdFt0LkdyYWJNb3ZlPTZdPVxcXCJHcmFiTW92ZVxcXCIsdFt0Lk1heD03XT1cXFwiTWF4XFxcIn0oZS5FQWN0aW9ufHwoZS5FQWN0aW9uPXt9KSksZS5lbXB0eUFjdGlvblN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJue2E6ITEsYjohMSxzcXVlZXplOiExLGdyYWI6ITEsZ3JhYlNob3dSYXk6ITEsZGV0YWNoOiExLGdyYWJNb3ZlOlswLDBdfX0sZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LHQpfSxlLmdhZGdldERldGFpbHNUb0lkPWZ1bmN0aW9uKHQsZSxuKXtsZXQgaT0odCtlKS5yZXBsYWNlKC9cXFxcVy9nLFxcXCJfXFxcIikudG9Mb3dlckNhc2UoKTtpZihpLmxlbmd0aD4yNCYmKGk9aS5zdWJzdHIoMCwyNCkpLG4pe2xldCB0PWUrbixyPTA7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe3I9KHI8PDUpLXIrdC5jaGFyQ29kZUF0KGUpLHImPXJ9aSs9ci50b1N0cmluZygxNil9cmV0dXJuIGl9LGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWZ1bmN0aW9uKHQpe3JldHVybiB0LmVuZHNXaXRoKFxcXCIvXFxcIik/dCtcXFwibWFuaWZlc3Qud2VibWFuaWZlc3RcXFwiOnQrXFxcIi9tYW5pZmVzdC53ZWJtYW5pZmVzdFxcXCJ9fSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDE1KTtlLm1hdDI9aS5kZWZhdWx0O3ZhciByPW4oNSk7ZS5tYXQzPXIuZGVmYXVsdDt2YXIgcz1uKDYpO2UubWF0ND1zLmRlZmF1bHQ7dmFyIGE9big0KTtlLnF1YXQ9YS5kZWZhdWx0O3ZhciBvPW4oMyk7ZS52ZWMyPW8uZGVmYXVsdDt2YXIgdT1uKDIpO2UudmVjMz11LmRlZmF1bHQ7dmFyIGw9bigxMCk7ZS52ZWM0PWwuZGVmYXVsdH0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKSxyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLnZhbHVlcz1uZXcgRmxvYXQzMkFycmF5KDQpLHZvaWQgMCE9PXQmJih0aGlzLnh5enc9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwieFxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ5XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInpcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwid1xcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1szXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzNdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4eVxcXCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4eXpcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJ4eXp3XFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLHRoaXMudmFsdWVzWzNdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXSx0aGlzLnZhbHVlc1syXT10WzJdLHRoaXMudmFsdWVzWzNdPXRbM119LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJyXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcImdcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1sxXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcXFwiYlxcXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFxcXCJhXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzNdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbM109dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInJnXFxcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzBdPXRbMF0sdGhpcy52YWx1ZXNbMV09dFsxXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInJnYlxcXCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXFxcInJnYmFcXFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM11dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl0sdGhpcy52YWx1ZXNbM109dFszXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy56PTAsdGhpcy53PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZS56PXRoaXMueixlLnc9dGhpcy53LGV9LHQucHJvdG90eXBlLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9dGhpcyksdC54PS10aGlzLngsdC55PS10aGlzLnksdC56PS10aGlzLnosdC53PS10aGlzLncsdH0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuZXBzaWxvbiksIShNYXRoLmFicyh0aGlzLngtdC54KT5lKSYmKCEoTWF0aC5hYnModGhpcy55LXQueSk+ZSkmJighKE1hdGguYWJzKHRoaXMuei10LnopPmUpJiYhKE1hdGguYWJzKHRoaXMudy10LncpPmUpKSl9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkTGVuZ3RoKCkpfSx0LnByb3RvdHlwZS5zcXVhcmVkTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiB0KnQrZSplK24qbitpKml9LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpc30sdC5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXMudy09dC53LHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzLncqPXQudyx0aGlzfSx0LnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXMudy89dC53LHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLGUueCo9dCxlLnkqPXQsZS56Kj10LGUudyo9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54Kj0wLHQueSo9MCx0LnoqPTAsdC53Kj0wLHQpOihlPTEvZSx0LngqPWUsdC55Kj1lLHQueio9ZSx0LncqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0ND1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjNCh0aGlzLGUpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyZXR1cm4gcnx8KHI9bmV3IHQpLHIueD1lLngraSoobi54LWUueCksci55PWUueStpKihuLnktZS55KSxyLno9ZS56K2kqKG4uei1lLnopLHIudz1lLncraSoobi53LWUudykscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaS56PWUueituLnosaS53PWUudytuLncsaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGkuej1lLnotbi56LGkudz1lLnctbi53LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpLno9ZS56Km4ueixpLnc9ZS53Km4udyxpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGkuej1lLnovbi56LGkudz1lLncvbi53LGl9LHQuemVybz1uZXcgdChbMCwwLDAsMV0pLHQub25lPW5ldyB0KFsxLDEsMSwxXSksdH0oKTtlLmRlZmF1bHQ9cn0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS52ZWNUb0F2VmVjdG9yPWUudmVjRnJvbUF2VmVjdG9yPWUubWF0TXVsdGlwbHlQb2ludD1lLm11bHRpcGx5VHJhbnNmb3Jtcz1lLm1pbmltYWxUb01hdDRUcmFuc2Zvcm09ZS5taW5pbWFsUG9zZUZyb21UcmFuc2Zvcm09ZS5pbnZlcnROb2RlVHJhbnNmb3JtPWUubGVycEF2VHJhbnNmb3Jtcz1lLm1pbklnbm9yaW5nTnVsbHM9ZS5zY2FsZUF4aXNUb0ZpdD1lLnZlYzNNdWx0aXBseUFuZEFkZD1lLmNvbXB1dGVVbml2ZXJzZUZyb21MaW5lPWUubm9kZVRyYW5zZm9ybVRvTWF0ND1lLm5vZGVUcmFuc2Zvcm1Gcm9tTWF0ND1lLmdldFJvd0Zyb21NYXQ9ZS5yb3RhdGlvbk1hdEZyb21FdWxlckRlZ3JlZXM9ZS5xdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXM9ZS5zY2FsZU1hdD1lLnRyYW5zbGF0ZU1hdD12b2lkIDA7Y29uc3QgaT1uKDkpLHI9bigxNik7ZnVuY3Rpb24gcyh0KXtsZXQgZT1uZXcgaS5tYXQ0O3JldHVybiBlLnNldElkZW50aXR5KCksZS50cmFuc2xhdGUodCksZX1mdW5jdGlvbiBhKHQpe2xldCBlPW5ldyBpLm1hdDQ7cmV0dXJuIGUuc2V0SWRlbnRpdHkoKSxlLnNjYWxlKHQpLGV9ZnVuY3Rpb24gbyh0LGUpe3JldHVybiBlP2kucXVhdC5mcm9tQXhpc0FuZ2xlKHQsZSpNYXRoLlBJLzE4MCk6bmV3IGkucXVhdChpLnF1YXQuaWRlbnRpdHkueHl6dyl9ZnVuY3Rpb24gdSh0LGUpe2xldCBuPXQucm93KGUpO3JldHVybiBuZXcgaS52ZWMzKFtuWzBdLG5bMV0sblsyXV0pfWZ1bmN0aW9uIGwodCl7aWYoIXQpcmV0dXJuO2xldCBlPXt9LG49dC5tdWx0aXBseVZlYzQobmV3IGkudmVjNChbMCwwLDAsMV0pKTswPT1uLngmJjA9PW4ueSYmMD09bi56fHwoZS5wb3NpdGlvbj17eDpuLngseTpuLnksejpuLnp9KTtsZXQgcj11KHQsMCkubGVuZ3RoKCkscz11KHQsMSkubGVuZ3RoKCksYT11KHQsMikubGVuZ3RoKCk7MT09ciYmMT09cyYmMT09YXx8KGUuc2NhbGU9e3g6cix5OnMsejphfSk7bGV0IG89bmV3IGkubWF0MyhbdC5hdCgwKS9yLHQuYXQoMSkvcix0LmF0KDIpL3IsdC5hdCg0KS9zLHQuYXQoNSkvcyx0LmF0KDYpL3MsdC5hdCg4KS9hLHQuYXQoOSkvYSx0LmF0KDEwKS9hXSkudG9RdWF0KCk7cmV0dXJuIDA9PW8ueCYmMD09by55JiYwPT1vLnp8fChlLnJvdGF0aW9uPXt4Om8ueCx5Om8ueSx6Om8ueix3Om8ud30pLGV9ZnVuY3Rpb24gaCh0KXtpZighdClyZXR1cm4gaS5tYXQ0LmlkZW50aXR5O2xldCBlLG4scjtlPXQucG9zaXRpb24/bmV3IGkudmVjMyhbdC5wb3NpdGlvbi54LHQucG9zaXRpb24ueSx0LnBvc2l0aW9uLnpdKTpuZXcgaS52ZWMzKFswLDAsMF0pLG49dC5zY2FsZT9uZXcgaS52ZWMzKFt0LnNjYWxlLngsdC5zY2FsZS55LHQuc2NhbGUuel0pOm5ldyBpLnZlYzMoWzEsMSwxXSkscj10LnJvdGF0aW9uP25ldyBpLnF1YXQoW3Qucm90YXRpb24ueCx0LnJvdGF0aW9uLnksdC5yb3RhdGlvbi56LHQucm90YXRpb24ud10pOm5ldyBpLnF1YXQoWzAsMCwwLDFdKTtsZXQgbz1zKGUpLm11bHRpcGx5KHIudG9NYXQ0KCkpO2lmKG89by5tdWx0aXBseShhKG4pKSxOdW1iZXIuaXNOYU4oby5hdCgwKSkpdGhyb3cgbmV3IEVycm9yKFxcXCJHYXJiYWdlIHBhc3NlZCBpbnRvIG5vZGVUcmFuc2Zvcm1Ub01hdDQgcmVzdWx0ZWQgaW4gTmFOIGluIG91dHB1dFxcXCIpO3JldHVybiBvfWUudHJhbnNsYXRlTWF0PXMsZS5zY2FsZU1hdD1hLGUucXVhdEZyb21BeGlzQW5nbGVEZWdyZWVzPW8sZS5yb3RhdGlvbk1hdEZyb21FdWxlckRlZ3JlZXM9ZnVuY3Rpb24odCl7bGV0IGU9byhpLnZlYzMucmlnaHQsdC54KSxuPW8oaS52ZWMzLnVwLHQueSkscj1vKGkudmVjMy5mb3J3YXJkLHQueik7cmV0dXJuIGUubXVsdGlwbHkobikubXVsdGlwbHkocikudG9NYXQ0KCl9LGUuZ2V0Um93RnJvbU1hdD11LGUubm9kZVRyYW5zZm9ybUZyb21NYXQ0PWwsZS5ub2RlVHJhbnNmb3JtVG9NYXQ0PWgsZS5jb21wdXRlVW5pdmVyc2VGcm9tTGluZT1mdW5jdGlvbih0LGUsbil7bGV0IHI9bmV3IGkudmVjMyhlLnh5eik7ci5zdWJ0cmFjdCh0KTtsZXQgbz1yLmxlbmd0aCgpO3Iubm9ybWFsaXplKCk7bGV0IHUsbD1uZXcgaS52ZWMzKHQueHl6KS5hZGQobmV3IGkudmVjMyhyLnh5eikuc2NhbGUoby8yKSksaD1yO3U9aC54Pi45OT9uZXcgaS52ZWMzKFswLDEsMF0pOm5ldyBpLnZlYzMoWzEsMCwwXSk7bGV0IGM9aS52ZWMzLmNyb3NzKGgsdSxuZXcgaS52ZWMzKTtjLm5vcm1hbGl6ZSgpLHU9aS52ZWMzLmNyb3NzKGMsaCx1KTtsZXQgdj1uZXcgaS5tYXQ0KFt1LngsdS55LHUueiwwLGgueCxoLnksaC56LDAsYy54LGMueSxjLnosMCwwLDAsMCwxXSksZj1hKG5ldyBpLnZlYzMoW24sbyxuXSkpO3JldHVybiBzKGwpLm11bHRpcGx5KHYubXVsdGlwbHkoZikpfSxlLnZlYzNNdWx0aXBseUFuZEFkZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG5ldyBpLnZlYzMoW3QueCtlLngqbix0LnkrZS55Km4sdC56K2UueipuXSl9LGUuc2NhbGVBeGlzVG9GaXQ9ZnVuY3Rpb24odCxlLG4pe2xldCBpPU1hdGgubWF4KC1lLG4pO3JldHVybiBpPD0wP251bGw6dC9pfSxlLm1pbklnbm9yaW5nTnVsbHM9ZnVuY3Rpb24oLi4udCl7bGV0IGU9dC5maWx0ZXIodD0+bnVsbCE9dCk7cmV0dXJuIGU/TWF0aC5taW4oLi4uZSk6bnVsbH0sZS5sZXJwQXZUcmFuc2Zvcm1zPWZ1bmN0aW9uKHQsZSxuKXtsZXQgcz1PYmplY3QuYXNzaWduKHt9LGUpO2lmKHQmJnQucG9zaXRpb24mJmUucG9zaXRpb24pe2xldCByPW5ldyBpLnZlYzMoW3QucG9zaXRpb24ueCx0LnBvc2l0aW9uLnksdC5wb3NpdGlvbi56XSksYT1uZXcgaS52ZWMzKFtlLnBvc2l0aW9uLngsZS5wb3NpdGlvbi55LGUucG9zaXRpb24uel0pLG89aS52ZWMzLm1peChyLGEsbixuZXcgaS52ZWMzKTtzLnBvc2l0aW9uPXt4Om8ueCx5Om8ueSx6Om8uen19aWYodCYmdC5zY2FsZSYmZS5zY2FsZSl7bGV0IHI9bmV3IGkudmVjMyhbdC5zY2FsZS54LHQuc2NhbGUueSx0LnNjYWxlLnpdKSxhPW5ldyBpLnZlYzMoW2Uuc2NhbGUueCxlLnNjYWxlLnksZS5zY2FsZS56XSksbz1pLnZlYzMubWl4KHIsYSxuLG5ldyBpLnZlYzMpO3Muc2NhbGU9e3g6by54LHk6by55LHo6by56fX1pZih0JiZ0LnJvdGF0aW9uJiZlLnJvdGF0aW9uKXtsZXQgaT1uZXcgcih0LnJvdGF0aW9uKSxhPW5ldyByKGUucm90YXRpb24pLG89aS5zbGVycChhKShuKTtzLnJvdGF0aW9uPXt3Om8udyx4Om8ueCx5Om8ueSx6Om8uen19cmV0dXJuIHN9LGUuaW52ZXJ0Tm9kZVRyYW5zZm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gdD9sKGgodCkuY29weSgpLmludmVyc2UoKSk6dH0sZS5taW5pbWFsUG9zZUZyb21UcmFuc2Zvcm09ZnVuY3Rpb24odCl7bGV0IGU9aCh0KSxuPWUudG9NYXQzKCkudG9RdWF0KCkscj1lLm11bHRpcGx5VmVjNChuZXcgaS52ZWM0KFswLDAsMCwxXSkpO3JldHVybltyLngsci55LHIueixuLncsbi54LG4ueSxuLnpdfSxlLm1pbmltYWxUb01hdDRUcmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJuIGgoe3Bvc2l0aW9uOnt4OnRbMF0seTp0WzFdLHo6dFsyXX0scm90YXRpb246e3c6dFszXSx4OnRbNF0seTp0WzVdLHo6dFs2XX19KX0sZS5tdWx0aXBseVRyYW5zZm9ybXM9ZnVuY3Rpb24odCxlKXtsZXQgbj1oKHQpLHI9aChlKTtyZXR1cm4gbChpLm1hdDQucHJvZHVjdChuLHIsbmV3IGkubWF0NCkpfSxlLm1hdE11bHRpcGx5UG9pbnQ9ZnVuY3Rpb24odCxlKXtsZXQgbj1uZXcgaS52ZWM0KFtlLngsZS55LGUueiwxXSk7cmV0dXJuIG5ldyBpLnZlYzModC5tdWx0aXBseVZlYzQobixuZXcgaS52ZWM0KS54eXopfSxlLnZlY0Zyb21BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9uZXcgaS52ZWMzKFt0LngsdC55LHQuel0pOm51bGx9LGUudmVjVG9BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD97eDp0LngseTp0Lnksejp0Lnp9Om51bGx9fSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KTtjb25zdCBpPW4oMTMpO2kuX19leHBvcnRTdGFyKG4oMTQpLGUpLGkuX19leHBvcnRTdGFyKG4oNyksZSksaS5fX2V4cG9ydFN0YXIobigxNyksZSksaS5fX2V4cG9ydFN0YXIobig4KSxlKSxpLl9fZXhwb3J0U3RhcihuKDE4KSxlKSxpLl9fZXhwb3J0U3RhcihuKDE5KSxlKSxpLl9fZXhwb3J0U3RhcihuKDExKSxlKX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtuLnIoZSksbi5kKGUsXFxcIl9fZXh0ZW5kc1xcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSksbi5kKGUsXFxcIl9fYXNzaWduXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSxcXFwiX19yZXN0XFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSxcXFwiX19kZWNvcmF0ZVxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsXFxcIl9fcGFyYW1cXFwiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLFxcXCJfX21ldGFkYXRhXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSxcXFwiX19hd2FpdGVyXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQoZSxcXFwiX19nZW5lcmF0b3JcXFwiLChmdW5jdGlvbigpe3JldHVybiBjfSkpLG4uZChlLFxcXCJfX2NyZWF0ZUJpbmRpbmdcXFwiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZChlLFxcXCJfX2V4cG9ydFN0YXJcXFwiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLG4uZChlLFxcXCJfX3ZhbHVlc1xcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKGUsXFxcIl9fcmVhZFxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsXFxcIl9fc3ByZWFkXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxuLmQoZSxcXFwiX19zcHJlYWRBcnJheXNcXFwiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZChlLFxcXCJfX2F3YWl0XFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxuLmQoZSxcXFwiX19hc3luY0dlbmVyYXRvclxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksbi5kKGUsXFxcIl9fYXN5bmNEZWxlZ2F0b3JcXFwiLChmdW5jdGlvbigpe3JldHVybiB3fSkpLG4uZChlLFxcXCJfX2FzeW5jVmFsdWVzXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxuLmQoZSxcXFwiX19tYWtlVGVtcGxhdGVPYmplY3RcXFwiLChmdW5jdGlvbigpe3JldHVybiBNfSkpLG4uZChlLFxcXCJfX2ltcG9ydFN0YXJcXFwiLChmdW5jdGlvbigpe3JldHVybiB6fSkpLG4uZChlLFxcXCJfX2ltcG9ydERlZmF1bHRcXFwiLChmdW5jdGlvbigpe3JldHVybiBffSkpLG4uZChlLFxcXCJfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0XFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gUH0pKSxuLmQoZSxcXFwiX19jbGFzc1ByaXZhdGVGaWVsZFNldFxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSk7XFxuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXFxuXFxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XFxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxcblxcblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXFxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXFxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxcbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXFxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cXG52YXIgaT1mdW5jdGlvbih0LGUpe3JldHVybihpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pfSkodCxlKX07ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX12YXIgcz1mdW5jdGlvbigpe3JldHVybihzPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspZm9yKHZhciByIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXt9O2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiZlLmluZGV4T2YoaSk8MCYmKG5baV09dFtpXSk7aWYobnVsbCE9dCYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPTA7Zm9yKGk9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtyPGkubGVuZ3RoO3IrKyllLmluZGV4T2YoaVtyXSk8MCYmT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsaVtyXSkmJihuW2lbcl1dPXRbaVtyXV0pfXJldHVybiBufWZ1bmN0aW9uIG8odCxlLG4saSl7dmFyIHIscz1hcmd1bWVudHMubGVuZ3RoLGE9czwzP2U6bnVsbD09PWk/aT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik6aTtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIFJlZmxlY3QmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgbz10Lmxlbmd0aC0xO28+PTA7by0tKShyPXRbb10pJiYoYT0oczwzP3IoYSk6cz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBzPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7ZShuLGksdCl9fWZ1bmN0aW9uIGwodCxlKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIFJlZmxlY3QmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKHQsZSl9ZnVuY3Rpb24gaCh0LGUsbixpKXtyZXR1cm4gbmV3KG58fChuPVByb21pc2UpKSgoZnVuY3Rpb24ocixzKXtmdW5jdGlvbiBhKHQpe3RyeXt1KGkubmV4dCh0KSl9Y2F0Y2godCl7cyh0KX19ZnVuY3Rpb24gbyh0KXt0cnl7dShpLnRocm93KHQpKX1jYXRjaCh0KXtzKHQpfX1mdW5jdGlvbiB1KHQpe3ZhciBlO3QuZG9uZT9yKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbigoZnVuY3Rpb24odCl7dChlKX0pKSkudGhlbihhLG8pfXUoKGk9aS5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBjKHQsZSl7dmFyIG4saSxyLHMsYT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZyWzBdKXRocm93IHJbMV07cmV0dXJuIHJbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gcz17bmV4dDpvKDApLHRocm93Om8oMSkscmV0dXJuOm8oMil9LFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2wmJihzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHM7ZnVuY3Rpb24gbyhzKXtyZXR1cm4gZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlxcXCIpO2Zvcig7YTspdHJ5e2lmKG49MSxpJiYocj0yJnNbMF0/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKHI9aS5yZXR1cm4pJiZyLmNhbGwoaSksMCk6aS5uZXh0KSYmIShyPXIuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiByO3N3aXRjaChpPTAsciYmKHM9WzImc1swXSxyLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTpyPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBhLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1OmEubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9YS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShyPWEudHJ5cywocj1yLmxlbmd0aD4wJiZyW3IubGVuZ3RoLTFdKXx8NiE9PXNbMF0mJjIhPT1zWzBdKSl7YT0wO2NvbnRpbnVlfWlmKDM9PT1zWzBdJiYoIXJ8fHNbMV0+clswXSYmc1sxXTxyWzNdKSl7YS5sYWJlbD1zWzFdO2JyZWFrfWlmKDY9PT1zWzBdJiZhLmxhYmVsPHJbMV0pe2EubGFiZWw9clsxXSxyPXM7YnJlYWt9aWYociYmYS5sYWJlbDxyWzJdKXthLmxhYmVsPXJbMl0sYS5vcHMucHVzaChzKTticmVha31yWzJdJiZhLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWV9cz1lLmNhbGwodCxhKX1jYXRjaCh0KXtzPVs2LHRdLGk9MH1maW5hbGx5e249cj0wfWlmKDUmc1swXSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fShbcyxvXSl9fX1mdW5jdGlvbiB2KHQsZSxuLGkpe3ZvaWQgMD09PWkmJihpPW4pLHRbaV09ZVtuXX1mdW5jdGlvbiBmKHQsZSl7Zm9yKHZhciBuIGluIHQpXFxcImRlZmF1bHRcXFwiPT09bnx8ZS5oYXNPd25Qcm9wZXJ0eShuKXx8KGVbbl09dFtuXSl9ZnVuY3Rpb24gcCh0KXt2YXIgZT1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj1lJiZ0W2VdLGk9MDtpZihuKXJldHVybiBuLmNhbGwodCk7aWYodCYmXFxcIm51bWJlclxcXCI9PXR5cGVvZiB0Lmxlbmd0aClyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiB0JiZpPj10Lmxlbmd0aCYmKHQ9dm9pZCAwKSx7dmFsdWU6dCYmdFtpKytdLGRvbmU6IXR9fX07dGhyb3cgbmV3IFR5cGVFcnJvcihlP1xcXCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlxcXCI6XFxcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cXFwiKX1mdW5jdGlvbiBkKHQsZSl7dmFyIG49XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiB0O3ZhciBpLHIscz1uLmNhbGwodCksYT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09ZXx8ZS0tID4wKSYmIShpPXMubmV4dCgpKS5kb25lOylhLnB1c2goaS52YWx1ZSl9Y2F0Y2godCl7cj17ZXJyb3I6dH19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKG49cy5yZXR1cm4pJiZuLmNhbGwocyl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fXJldHVybiBhfWZ1bmN0aW9uIHkoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChkKGFyZ3VtZW50c1tlXSkpO3JldHVybiB0fWZ1bmN0aW9uIGcoKXtmb3IodmFyIHQ9MCxlPTAsbj1hcmd1bWVudHMubGVuZ3RoO2U8bjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDt2YXIgaT1BcnJheSh0KSxyPTA7Zm9yKGU9MDtlPG47ZSsrKWZvcih2YXIgcz1hcmd1bWVudHNbZV0sYT0wLG89cy5sZW5ndGg7YTxvO2ErKyxyKyspaVtyXT1zW2FdO3JldHVybiBpfWZ1bmN0aW9uIHgodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiB4Pyh0aGlzLnY9dCx0aGlzKTpuZXcgeCh0KX1mdW5jdGlvbiBiKHQsZSxuKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXFxcIik7dmFyIGkscj1uLmFwcGx5KHQsZXx8W10pLHM9W107cmV0dXJuIGk9e30sYShcXFwibmV4dFxcXCIpLGEoXFxcInRocm93XFxcIiksYShcXFwicmV0dXJuXFxcIiksaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30saTtmdW5jdGlvbiBhKHQpe3JbdF0mJihpW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixpKXtzLnB1c2goW3QsZSxuLGldKT4xfHxvKHQsZSl9KSl9KX1mdW5jdGlvbiBvKHQsZSl7dHJ5eyhuPXJbdF0oZSkpLnZhbHVlIGluc3RhbmNlb2YgeD9Qcm9taXNlLnJlc29sdmUobi52YWx1ZS52KS50aGVuKHUsbCk6aChzWzBdWzJdLG4pfWNhdGNoKHQpe2goc1swXVszXSx0KX12YXIgbn1mdW5jdGlvbiB1KHQpe28oXFxcIm5leHRcXFwiLHQpfWZ1bmN0aW9uIGwodCl7byhcXFwidGhyb3dcXFwiLHQpfWZ1bmN0aW9uIGgodCxlKXt0KGUpLHMuc2hpZnQoKSxzLmxlbmd0aCYmbyhzWzBdWzBdLHNbMF1bMV0pfX1mdW5jdGlvbiB3KHQpe3ZhciBlLG47cmV0dXJuIGU9e30saShcXFwibmV4dFxcXCIpLGkoXFxcInRocm93XFxcIiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxpKFxcXCJyZXR1cm5cXFwiKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBpKGkscil7ZVtpXT10W2ldP2Z1bmN0aW9uKGUpe3JldHVybihuPSFuKT97dmFsdWU6eCh0W2ldKGUpKSxkb25lOlxcXCJyZXR1cm5cXFwiPT09aX06cj9yKGUpOmV9OnJ9fWZ1bmN0aW9uIG0odCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlxcXCIpO3ZhciBlLG49dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKHQpOih0PXAodCksZT17fSxpKFxcXCJuZXh0XFxcIiksaShcXFwidGhyb3dcXFwiKSxpKFxcXCJyZXR1cm5cXFwiKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBpKG4pe2Vbbl09dFtuXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihpLHIpeyhmdW5jdGlvbih0LGUsbixpKXtQcm9taXNlLnJlc29sdmUoaSkudGhlbigoZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOm59KX0pLGUpfSkoaSxyLChlPXRbbl0oZSkpLmRvbmUsZS52YWx1ZSl9KSl9fX1mdW5jdGlvbiBNKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxcXFwicmF3XFxcIix7dmFsdWU6ZX0pOnQucmF3PWUsdH1mdW5jdGlvbiB6KHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZihudWxsIT10KWZvcih2YXIgbiBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIF8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIFAodCxlKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVxcXCIpO3JldHVybiBlLmdldCh0KX1mdW5jdGlvbiBrKHQsZSxuKXtpZighZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiYXR0ZW1wdGVkIHRvIHNldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVxcXCIpO3JldHVybiBlLnNldCh0LG4pLG59fSxmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtcXFwidXNlIHN0cmljdFxcXCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsXFxcIl9fZXNNb2R1bGVcXFwiLHt2YWx1ZTohMH0pLGV4cG9ydHMud3JpdGVQZXJzaXN0ZW50U3RhdGU9ZXhwb3J0cy5yZWFkUGVyc2lzdGVudFN0YXRlPWV4cG9ydHMudjFUb1YyPWV4cG9ydHMuZ2V0U3RhbmRhcmRQZXJzaXN0ZW5jZVBhdGg9ZXhwb3J0cy5nZXRTdGFuZGFyZEFhcmR2YXJrUGF0aD12b2lkIDA7Y29uc3QgdXVpZF8xPV9fd2VicGFja19yZXF1aXJlX18oMjApLEFhcmR2YXJrU3RhdGVGb3JtYXQ9MztmdW5jdGlvbiBnZXRTdGFuZGFyZEFhcmR2YXJrUGF0aCgpe2xldCBvcz1ldmFsKFxcXCJyZXF1aXJlKCAnb3MnIClcXFwiKSxwYXRoPWV2YWwoXFxcInJlcXVpcmUoICdwYXRoJyApIFxcXCIpO3JldHVybiBwYXRoLmpvaW4ob3MuaG9tZWRpcigpLFxcXCJhYXJkdmFya1xcXCIpfWZ1bmN0aW9uIGdldFN0YW5kYXJkUGVyc2lzdGVuY2VQYXRoKCl7bGV0IHBhdGg9ZXZhbChcXFwicmVxdWlyZSggJ3BhdGgnIClcXFwiKTtyZXR1cm4gcGF0aC5qb2luKGdldFN0YW5kYXJkQWFyZHZhcmtQYXRoKCksXFxcInN0YXRlLmpzb25cXFwiKX1leHBvcnRzLmdldFN0YW5kYXJkQWFyZHZhcmtQYXRoPWdldFN0YW5kYXJkQWFyZHZhcmtQYXRoLGV4cG9ydHMuZ2V0U3RhbmRhcmRQZXJzaXN0ZW5jZVBhdGg9Z2V0U3RhbmRhcmRQZXJzaXN0ZW5jZVBhdGg7Y29uc3QgZmlyc3ROYW1lcz1bXFxcIkdyZWVuXFxcIixcXFwiQmx1ZVxcXCIsXFxcIlJlZFxcXCIsXFxcIk9yYW5nZVxcXCIsXFxcIlRlYWxcXFwiLFxcXCJQdXJwbGVcXFwiLFxcXCJQaW5rXFxcIixcXFwiWWVsbG93XFxcIixcXFwiQmxhY2tcXFwiLFxcXCJXaGl0ZVxcXCIsXFxcIkJyb3duXFxcIixcXFwiQmVpZ2VcXFwiXSxsYXN0TmFtZXM9W1xcXCJBcHBsZVxcXCIsXFxcIkJhbmFuYVxcXCIsXFxcIkxlbW9uXFxcIixcXFwiUGluZWFwcGxlXFxcIixcXFwiQ29jb251dFxcXCIsXFxcIkxpbWVcXFwiLFxcXCJLaXdpXFxcIixcXFwiUGVhclxcXCIsXFxcIkNoZXJyeVxcXCIsXFxcIlN0cmF3YmVycnlcXFwiLFxcXCJHcmFwZVxcXCIsXFxcIk1hbmdvXFxcIl07ZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21OYW1lKCl7bGV0IHQ9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmZpcnN0TmFtZXMubGVuZ3RoKSxlPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpsYXN0TmFtZXMubGVuZ3RoKTtyZXR1cm5gJHtmaXJzdE5hbWVzW3RdfSAke2xhc3ROYW1lc1tlXX1gfWZ1bmN0aW9uIHYxVG9WMih0KXtsZXQgZT17Zm9ybWF0OjIsYWN0aXZlR2FkZ2V0czp0LmFjdGl2ZUdhZGdldHMsaW5zdGFsbGVkR2FkZ2V0czpbXSxyZW5kZXJlckNvbmZpZzp7ZW5hYmxlTWl4ZWRSZWFsaXR5OiExLG1peGVkUmVhbGl0eUZvdjo1MC4zLGNsZWFyQ29sb3I6WzAsMSwwXX0sbG9jYWxVc2VyVXVpZDp1dWlkXzEudjQoKSxsb2NhbFVzZXJEaXNwbGF5TmFtZTpnZW5lcmF0ZVJhbmRvbU5hbWUoKX07Zm9yKGxldCBuIG9mIHQuaW5zdGFsbGVkR2FkZ2V0cyllLmluc3RhbGxlZEdhZGdldHMucHVzaChuLnJlcGxhY2UoXFxcImFhcmR2YXJrLmluc3RhbGxcXFwiLFxcXCJsb2NhbGhvc3Q6MjM4NDJcXFwiKSk7cmV0dXJuIGV9ZnVuY3Rpb24gcmVhZFBlcnNpc3RlbnRTdGF0ZShwYXRoKXt0cnl7bGV0IGZzPWV2YWwoXFxcInJlcXVpcmUoICdmcycgKVxcXCIpLHByZXZpb3VzU3RhdGU9ZnMucmVhZEZpbGVTeW5jKHBhdGgsXFxcInV0ZjhcXFwiKSxzdGF0ZT1KU09OLnBhcnNlKHByZXZpb3VzU3RhdGUpO2lmKDE9PXN0YXRlLmZvcm1hdHx8Mj09c3RhdGUuZm9ybWF0KXRocm93YFN0b3JlZCBzdGF0ZSAke3N0YXRlLmZvcm1hdH0gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC5gO2lmKHN0YXRlLmZvcm1hdCE9QWFyZHZhcmtTdGF0ZUZvcm1hdCl0aHJvd1xcXCJJbmFwcHJvcHJpYXRlIHN0YXRlIGZvcm1hdCBcXFwiK3N0YXRlLmZvcm1hdDtyZXR1cm4gc3RhdGUucmVuZGVyZXJDb25maWd8fChzdGF0ZS5yZW5kZXJlckNvbmZpZz17ZW5hYmxlTWl4ZWRSZWFsaXR5OiExLG1peGVkUmVhbGl0eUZvdjo1MC4zLGNsZWFyQ29sb3I6WzAsMSwwXX0pLHN0YXRlLmFjdGl2ZUdhZGdldHMuZ2FkZ2V0X21lbnV8fChjb25zb2xlLmxvZyhcXFwiR2FkZ2V0IG1lbnUgd2FzIG1pc3NpbmcuIEZvcmNpbmcgdGhhdCB0byBleGlzdC5cXFwiKSxzdGF0ZS5hY3RpdmVHYWRnZXRzLmdhZGdldF9tZW51PXt1cmk6XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVxcXCIsaG9va1BhdGg6XFxcIi9nYWRnZXQvaGFuZHMvbGVmdF9oYW5kXFxcIn0pLHN0YXRlLmxvY2FsVXNlckRpc3BsYXlOYW1lfHwoc3RhdGUubG9jYWxVc2VyRGlzcGxheU5hbWU9Z2VuZXJhdGVSYW5kb21OYW1lKCkpLGNvbnNvbGUubG9nKGBSZWFkIHN0YXRlIGZyb20gJHtwYXRofSBmb3IgYCtPYmplY3Qua2V5cyhzdGF0ZS5hY3RpdmVHYWRnZXRzKS5sZW5ndGgrXFxcIiBhY3RpdmUgZ2FkZ2V0c1xcXCIpLHN0YXRlfWNhdGNoKHQpe2NvbnNvbGUubG9nKGBGYWlsZWQgdG8gcmVhZCBzdGF0ZSBmaWxlIGJlY2F1c2UgJHt0fSBVc2luZyBkZWZhdWx0IHN0YXJ0YCk7bGV0IGU9e2Zvcm1hdDpBYXJkdmFya1N0YXRlRm9ybWF0LGFjdGl2ZUdhZGdldHM6e2dhZGdldF9tZW51Ont1cmk6XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVxcXCIsaG9va1BhdGg6XFxcIi9nYWRnZXQvaGFuZHMvbGVmdF9oYW5kXFxcIn19LGluc3RhbGxlZEdhZGdldHM6W10scmVuZGVyZXJDb25maWc6e21peGVkUmVhbGl0eUZvdjo1MC4zLGVuYWJsZU1peGVkUmVhbGl0eTohMSxjbGVhckNvbG9yOlswLDEsMF19LGxvY2FsVXNlclV1aWQ6dXVpZF8xLnY0KCksbG9jYWxVc2VyRGlzcGxheU5hbWU6Z2VuZXJhdGVSYW5kb21OYW1lKCl9O3JldHVybiBlfX1mdW5jdGlvbiB3cml0ZVBlcnNpc3RlbnRTdGF0ZShzdGF0ZSxwYXRoKXtsZXQgZnM9ZXZhbChcXFwicmVxdWlyZSggJ2ZzJyApXFxcIik7cmV0dXJuIHN0YXRlLmZvcm1hdD1BYXJkdmFya1N0YXRlRm9ybWF0LGZzLndyaXRlRmlsZVN5bmMocGF0aCxKU09OLnN0cmluZ2lmeShzdGF0ZSxudWxsLDIpKSwhMH1leHBvcnRzLnYxVG9WMj12MVRvVjIsZXhwb3J0cy5yZWFkUGVyc2lzdGVudFN0YXRlPXJlYWRQZXJzaXN0ZW50U3RhdGUsZXhwb3J0cy53cml0ZVBlcnNpc3RlbnRTdGF0ZT13cml0ZVBlcnNpc3RlbnRTdGF0ZX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigzKSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSg0KSx2b2lkIDAhPT10JiZ0aGlzLmluaXQodCl9cmV0dXJuIHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDQ7ZSsrKXRoaXMudmFsdWVzW2VdPXRbZV07cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDw0O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDQ7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8NDtlKyspdFtlXT10aGlzLnZhbHVlc1tlXTtyZXR1cm4gdH0sdC5wcm90b3R5cGUucm93PWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1syKnQrMF0sdGhpcy52YWx1ZXNbMip0KzFdXX0sdC5wcm90b3R5cGUuY29sPWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1t0XSx0aGlzLnZhbHVlc1t0KzJdXX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9ci5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDQ7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLmRldGVybWluYW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdKnRoaXMudmFsdWVzWzNdLXRoaXMudmFsdWVzWzJdKnRoaXMudmFsdWVzWzFdfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0xLHRoaXN9LHQucHJvdG90eXBlLnRyYW5zcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzFdO3JldHVybiB0aGlzLnZhbHVlc1sxXT10aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1syXT10LHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRldGVybWluYW50KCk7aWYoIXQpcmV0dXJuIG51bGw7dD0xL3Q7dmFyIGU9dGhpcy52YWx1ZXNbMF07cmV0dXJuIHRoaXMudmFsdWVzWzBdPXQqdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbMV09dCotdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl09dCotdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM109dCplLHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdO3JldHVybiB0aGlzLnZhbHVlc1swXT1lKnQuYXQoMCkrbip0LmF0KDIpLHRoaXMudmFsdWVzWzFdPWUqdC5hdCgxKStuKnQuYXQoMyksdGhpcy52YWx1ZXNbMl09aSp0LmF0KDApK3IqdC5hdCgyKSx0aGlzLnZhbHVlc1szXT1pKnQuYXQoMSkrcip0LmF0KDMpLHRoaXN9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPU1hdGguc2luKHQpLGE9TWF0aC5jb3ModCk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqYStuKnMsdGhpcy52YWx1ZXNbMV09ZSotcytuKmEsdGhpcy52YWx1ZXNbMl09aSphK3Iqcyx0aGlzLnZhbHVlc1szXT1pKi1zK3IqYSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzI9ZnVuY3Rpb24odCxlKXt2YXIgbj10Lngscj10Lnk7cmV0dXJuIGU/KGUueHk9W24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dLGUpOm5ldyBpLmRlZmF1bHQoW24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dKX0sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52YWx1ZXNbMF0sbj10aGlzLnZhbHVlc1sxXSxpPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbM10scz10LngsYT10Lnk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqcyx0aGlzLnZhbHVlc1sxXT1uKmEsdGhpcy52YWx1ZXNbMl09aSpzLHRoaXMudmFsdWVzWzNdPXIqYSx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyk7cmV0dXJuIGk/KGkuaW5pdChbcipuLmF0KDApK3Mqbi5hdCgyKSxyKm4uYXQoMSkrcypuLmF0KDMpLGEqbi5hdCgwKStvKm4uYXQoMiksYSpuLmF0KDEpK28qbi5hdCgzKV0pLGkpOm5ldyB0KFtyKm4uYXQoMCkrcypuLmF0KDIpLHIqbi5hdCgxKStzKm4uYXQoMyksYSpuLmF0KDApK28qbi5hdCgyKSxhKm4uYXQoMSkrbypuLmF0KDMpXSl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtcXG4vKipcXG4gKiBAbGljZW5zZSBRdWF0ZXJuaW9uLmpzIHYxLjEuMCAyMi8wMi8yMDE2XFxuICpcXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYsIFJvYmVydCBFaXNlbGUgKHJvYmVydEB4YXJnLm9yZylcXG4gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24gMiBsaWNlbnNlcy5cXG4gKiovIWZ1bmN0aW9uKG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiByKHQsZSl7dmFyIG49TWF0aC5hYnModCksaT1NYXRoLmFicyhlKTtyZXR1cm4gMD09PXQ/TWF0aC5sb2coaSk6MD09PWU/TWF0aC5sb2cobik6bjwzZTMmJmk8M2UzPy41Kk1hdGgubG9nKHQqdCtlKmUpOk1hdGgubG9nKHQvTWF0aC5jb3MoTWF0aC5hdGFuMihlLHQpKSl9dmFyIHM9e3c6MSx4OjAseTowLHo6MH07ZnVuY3Rpb24gYSh0LGUsbixpLHIpe2lmKHZvaWQgMCE9PXIpcmV0dXJuIHQudz1lLHQueD1uLHQueT1pLHZvaWQodC56PXIpO2lmKFxcXCJvYmplY3RcXFwiPT10eXBlb2YgZSYmdm9pZCAwPT09aSl7aWYoXFxcIndcXFwiaW4gZXx8XFxcInhcXFwiaW4gZXx8XFxcInlcXFwiaW4gZXx8XFxcInpcXFwiaW4gZSlyZXR1cm4gdC53PWUud3x8MCx0Lng9ZS54fHwwLHQueT1lLnl8fDAsdm9pZCh0Lno9ZS56fHwwKTtpZihcXFwicmVcXFwiaW4gZSYmXFxcImltXFxcImluIGUpcmV0dXJuIHQudz1lLnJlLHQueD1lLmltLHQueT0wLHZvaWQodC56PTApO2lmKDQ9PT1lLmxlbmd0aClyZXR1cm4gdC53PWVbMF0sdC54PWVbMV0sdC55PWVbMl0sdm9pZCh0Lno9ZVszXSk7aWYoMz09PWUubGVuZ3RoKXJldHVybiB0Lnc9MCx0Lng9ZVswXSx0Lnk9ZVsxXSx2b2lkKHQuej1lWzJdKTt0aHJvdyBuZXcgRXJyb3IoXFxcIkludmFsaWQgb2JqZWN0XFxcIil9aWYoXFxcInN0cmluZ1xcXCIhPXR5cGVvZiBlfHx2b2lkIDAhPT1pKXZvaWQgMD09PWUmJnQhPT1zPyh0Lnc9MSx0Lng9dC55PXQuej0wKToodC53PWV8fDAsbiYmMz09PW4ubGVuZ3RoPyh0Lng9blswXSx0Lnk9blsxXSx0Lno9blsyXSk6KHQueD1ufHwwLHQueT1pfHwwLHQuej1yfHwwKSk7ZWxzZXt2YXIgYT1lLm1hdGNoKC9cXFxcZCtcXFxcLj9cXFxcZCplWystXT9cXFxcZCt8XFxcXGQrXFxcXC4/XFxcXGQqfFxcXFwuXFxcXGQrfC4vZyksbz0xLHU9MCxsPXtpOlxcXCJ4XFxcIixqOlxcXCJ5XFxcIixrOlxcXCJ6XFxcIn07aWYobnVsbD09PWEpdGhyb3cgbmV3IEVycm9yKFxcXCJQYXJzZSBlcnJvclxcXCIpO3Qudz10Lng9dC55PXQuej0wO2Zvcih2YXIgaD0wO2g8YS5sZW5ndGg7aCsrKXt2YXIgYz1hW2hdLHY9YVtoKzFdO2lmKFxcXCIgXFxcIj09PWN8fFxcXCJcXFxcdFxcXCI9PT1jfHxcXFwiXFxcXG5cXFwiPT09Yyk7ZWxzZSBpZihcXFwiK1xcXCI9PT1jKW8rKztlbHNlIGlmKFxcXCItXFxcIj09PWMpdSsrO2Vsc2V7aWYobyt1PT09MCl0aHJvdyBuZXcgRXJyb3IoXFxcIlBhcnNlIGVycm9yXFxcIitjKTt2YXIgZj1sW2NdO2lmKHZvaWQgMCE9PWYpXFxcIiBcXFwiPT09dnx8aXNOYU4odik/Yz1cXFwiMVxcXCI6KGM9dixoKyspO2Vsc2V7aWYoaXNOYU4oYykpdGhyb3cgbmV3IEVycm9yKFxcXCJQYXJzZXIgZXJyb3JcXFwiKTt2b2lkIDAhPT0oZj1sW3ZdKSYmaCsrfXRbZnx8XFxcIndcXFwiXSs9cGFyc2VGbG9hdCgodSUyP1xcXCItXFxcIjpcXFwiXFxcIikrYyksbz11PTB9fWlmKG8rdT4wKXRocm93IG5ldyBFcnJvcihcXFwiUGFyc2VyIGVycm9yXFxcIil9fWZ1bmN0aW9uIG8odCxlLG4pe3ZhciBpPVxcXCJcXFwiO3JldHVybiAwIT09dCYmKFxcXCJcXFwiIT09bj9pKz10PDA/XFxcIiAtIFxcXCI6XFxcIiArIFxcXCI6dDwwJiYoaSs9XFxcIi1cXFwiKSwxPT09KHQ9TWF0aC5hYnModCkpJiZcXFwiXFxcIiE9PWV8fChpKz10KSxpKz1lKSxpfWZ1bmN0aW9uIHUodCxlLG4saSl7aWYoISh0aGlzIGluc3RhbmNlb2YgdSkpcmV0dXJuIG5ldyB1KHQsZSxuLGkpO2EodGhpcyx0LGUsbixpKX11LnByb3RvdHlwZT17dzoxLHg6MCx5OjAsejowLGFkZDpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gYShzLHQsZSxuLGkpLG5ldyB1KHRoaXMudytzLncsdGhpcy54K3MueCx0aGlzLnkrcy55LHRoaXMueitzLnopfSxzdWI6ZnVuY3Rpb24odCxlLG4saSl7cmV0dXJuIGEocyx0LGUsbixpKSxuZXcgdSh0aGlzLnctcy53LHRoaXMueC1zLngsdGhpcy55LXMueSx0aGlzLnotcy56KX0sbmVnOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1KC10aGlzLncsLXRoaXMueCwtdGhpcy55LC10aGlzLnopfSxub3JtOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56O3JldHVybiBNYXRoLnNxcnQodCp0K2UqZStuKm4raSppKX0sbm9ybVNxOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56O3JldHVybiB0KnQrZSplK24qbitpKml9LG5vcm1hbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMudyxlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPU1hdGguc3FydCh0KnQrZSplK24qbitpKmkpO3JldHVybiByPHUuRVBTSUxPTj91LlpFUk86bmV3IHUodCoocj0xL3IpLGUqcixuKnIsaSpyKX0sbXVsOmZ1bmN0aW9uKHQsZSxuLGkpe2Eocyx0LGUsbixpKTt2YXIgcj10aGlzLncsbz10aGlzLngsbD10aGlzLnksaD10aGlzLnosYz1zLncsdj1zLngsZj1zLnkscD1zLno7cmV0dXJuIG5ldyB1KHIqYy1vKnYtbCpmLWgqcCxyKnYrbypjK2wqcC1oKmYscipmK2wqYytoKnYtbypwLHIqcCtoKmMrbypmLWwqdil9LHNjYWxlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgdSh0aGlzLncqdCx0aGlzLngqdCx0aGlzLnkqdCx0aGlzLnoqdCl9LGRvdDpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gYShzLHQsZSxuLGkpLHRoaXMudypzLncrdGhpcy54KnMueCt0aGlzLnkqcy55K3RoaXMueipzLnp9LGludmVyc2U6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj10KnQrZSplK24qbitpKmk7cmV0dXJuIDA9PT1yP3UuWkVSTzpuZXcgdSh0KihyPTEvciksLWUqciwtbipyLC1pKnIpfSxkaXY6ZnVuY3Rpb24odCxlLG4saSl7YShzLHQsZSxuLGkpO3ZhciByPXRoaXMudyxvPXRoaXMueCxsPXRoaXMueSxoPXRoaXMueixjPXMudyx2PXMueCxmPXMueSxwPXMueixkPWMqYyt2KnYrZipmK3AqcDtyZXR1cm4gMD09PWQ/dS5aRVJPOm5ldyB1KChyKmMrbyp2K2wqZitoKnApKihkPTEvZCksKG8qYy1yKnYtbCpwK2gqZikqZCwobCpjLXIqZi1oKnYrbypwKSpkLChoKmMtcipwLW8qZitsKnYpKmQpfSxjb25qdWdhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHUodGhpcy53LC10aGlzLngsLXRoaXMueSwtdGhpcy56KX0sZXhwOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHI9TWF0aC5zcXJ0KGUqZStuKm4raSppKSxzPU1hdGguZXhwKHQpLGE9cy9yKk1hdGguc2luKHIpO3JldHVybiAwPT09cj9uZXcgdShzLDAsMCwwKTpuZXcgdShzKk1hdGguY29zKHIpLGUqYSxuKmEsaSphKX0sbG9nOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56O2lmKDA9PT1uJiYwPT09aSlyZXR1cm4gbmV3IHUocih0LGUpLE1hdGguYXRhbjIoZSx0KSwwLDApO3ZhciBzPWUqZStuKm4raSppK3QqdCxhPU1hdGguc3FydChlKmUrbipuK2kqaSksbz1NYXRoLmF0YW4yKGEsdCkvYTtyZXR1cm4gbmV3IHUoLjUqTWF0aC5sb2cocyksZSpvLG4qbyxpKm8pfSxwb3c6ZnVuY3Rpb24odCxlLG4saSl7aWYoYShzLHQsZSxuLGkpLDA9PT1zLnkmJjA9PT1zLnope2lmKDE9PT1zLncmJjA9PT1zLngpcmV0dXJuIHRoaXM7aWYoMD09PXMudyYmMD09PXMueClyZXR1cm4gdS5PTkU7aWYoMD09PXRoaXMueSYmMD09PXRoaXMueil7dmFyIG89dGhpcy53LGw9dGhpcy54O2lmKDA9PT1vJiYwPT09bClyZXR1cm4gdS5aRVJPO3ZhciBoPU1hdGguYXRhbjIobCxvKSxjPXIobyxsKTtpZigwPT09cy54KXtpZigwPT09bCYmbz49MClyZXR1cm4gbmV3IHUoTWF0aC5wb3cobyxzLncpLDAsMCwwKTtpZigwPT09bylzd2l0Y2gocy53JTQpe2Nhc2UgMDpyZXR1cm4gbmV3IHUoTWF0aC5wb3cobCxzLncpLDAsMCwwKTtjYXNlIDE6cmV0dXJuIG5ldyB1KDAsTWF0aC5wb3cobCxzLncpLDAsMCk7Y2FzZSAyOnJldHVybiBuZXcgdSgtTWF0aC5wb3cobCxzLncpLDAsMCwwKTtjYXNlIDM6cmV0dXJuIG5ldyB1KDAsLU1hdGgucG93KGwscy53KSwwLDApfX1yZXR1cm4gbz1NYXRoLmV4cChzLncqYy1zLngqaCksbD1zLngqYytzLncqaCxuZXcgdShvKk1hdGguY29zKGwpLG8qTWF0aC5zaW4obCksMCwwKX19cmV0dXJuIHRoaXMubG9nKCkubXVsKHMpLmV4cCgpfSxlcXVhbHM6ZnVuY3Rpb24odCxlLG4saSl7YShzLHQsZSxuLGkpO3ZhciByPXUuRVBTSUxPTjtyZXR1cm4gTWF0aC5hYnMocy53LXRoaXMudyk8ciYmTWF0aC5hYnMocy54LXRoaXMueCk8ciYmTWF0aC5hYnMocy55LXRoaXMueSk8ciYmTWF0aC5hYnMocy56LXRoaXMueik8cn0saXNGaW5pdGU6ZnVuY3Rpb24oKXtyZXR1cm4gaXNGaW5pdGUodGhpcy53KSYmaXNGaW5pdGUodGhpcy54KSYmaXNGaW5pdGUodGhpcy55KSYmaXNGaW5pdGUodGhpcy56KX0saXNOYU46ZnVuY3Rpb24oKXtyZXR1cm4gaXNOYU4odGhpcy53KXx8aXNOYU4odGhpcy54KXx8aXNOYU4odGhpcy55KXx8aXNOYU4odGhpcy56KX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj1cXFwiXFxcIjtyZXR1cm4gaXNOYU4odCl8fGlzTmFOKGUpfHxpc05hTihuKXx8aXNOYU4oaSk/XFxcIk5hTlxcXCI6KHI9byh0LFxcXCJcXFwiLHIpLHIrPW8oZSxcXFwiaVxcXCIscikscis9byhuLFxcXCJqXFxcIixyKSxcXFwiXFxcIj09PShyKz1vKGksXFxcImtcXFwiLHIpKT9cXFwiMFxcXCI6cil9LHJlYWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53fSxpbWFnOmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMueCx0aGlzLnksdGhpcy56XX0sdG9WZWN0b3I6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy53LHRoaXMueCx0aGlzLnksdGhpcy56XX0sdG9NYXRyaXg6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3VdLFtjK2wsMS0oaCtkKSxwLW9dLFt2LXUscCtvLDEtKGgrZildXTpbMS0oZitkKSxjLWwsdit1LGMrbCwxLShoK2QpLHAtbyx2LXUscCtvLDEtKGgrZildfSx0b01hdHJpeDQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3UsMF0sW2MrbCwxLShoK2QpLHAtbywwXSxbdi11LHArbywxLShoK2YpLDBdLFswLDAsMCwxXV06WzEtKGYrZCksYy1sLHYrdSwwLGMrbCwxLShoK2QpLHAtbywwLHYtdSxwK28sMS0oaCtmKSwwLDAsMCwwLDFdfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdSh0aGlzKX0scm90YXRlVmVjdG9yOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudyxuPXRoaXMueCxpPXRoaXMueSxyPXRoaXMueixzPXRbMF0sYT10WzFdLG89dFsyXSx1PS1uKnMtaSphLXIqbyxsPWUqcytpKm8tciphLGg9ZSphK3Iqcy1uKm8sYz1lKm8rbiphLWkqcztyZXR1cm5bbCplLXUqbi1oKnIrYyppLGgqZS11KmktYypuK2wqcixjKmUtdSpyLWwqaStoKm5dfSxzbGVycDpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dGhpcy53LG89dGhpcy54LGw9dGhpcy55LGg9dGhpcy56LGM9cy53LHY9cy54LGY9cy55LHA9cy56LGQ9cipjK28qditsKmYraCpwO2lmKGQ8MCYmKHI9LXIsbz0tbyxsPS1sLGg9LWgsZD0tZCksZD4uOTk5NSlyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHIrdCooYy1yKSxvK3QqKHYtbyksbCt0KihmLWwpLGgrdCoocC1oKSkubm9ybWFsaXplKCl9O3ZhciB5PU1hdGguYWNvcyhkKSxnPU1hdGguc2luKHkpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT15KnQsbj1NYXRoLnNpbihlKSxpPU1hdGguY29zKGUpLWQqbi9nLHM9bi9nO3JldHVybiBuZXcgdShpKnIrcypjLGkqbytzKnYsaSpsK3MqZixpKmgrcypwKX19fSx1LlpFUk89bmV3IHUoMCwwLDAsMCksdS5PTkU9bmV3IHUoMSwwLDAsMCksdS5JPW5ldyB1KDAsMSwwLDApLHUuSj1uZXcgdSgwLDAsMSwwKSx1Lks9bmV3IHUoMCwwLDAsMSksdS5FUFNJTE9OPTFlLTE2LHUuZnJvbUF4aXNBbmdsZT1mdW5jdGlvbih0LGUpe3ZhciBuPS41KmUsaT10WzBdLHI9dFsxXSxzPXRbMl0sYT1NYXRoLnNpbihuKSxvPU1hdGguY29zKG4pLGw9YS9NYXRoLnNxcnQoaSppK3IqcitzKnMpO3JldHVybiBuZXcgdShvLGkqbCxyKmwscypsKX0sdS5mcm9tQmV0d2VlblZlY3RvcnM9ZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdLGk9dFsxXSxyPXRbMl0scz1lWzBdLGE9ZVsxXSxvPWVbMl0sbD1uKnMraSphK3IqbyxoPWkqby1yKmEsYz1yKnMtbipvLHY9biphLWkqcztyZXR1cm4gbmV3IHUobCtNYXRoLnNxcnQobCpsK2gqaCtjKmMrdip2KSxoLGMsdikubm9ybWFsaXplKCl9LHUuZnJvbUV1bGVyPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPS41KmUscz0uNSpuLGE9LjUqdCxvPU1hdGguY29zKHIpLGw9TWF0aC5jb3MocyksaD1NYXRoLmNvcyhhKSxjPU1hdGguc2luKHIpLHY9TWF0aC5zaW4ocyksZj1NYXRoLnNpbihhKTtyZXR1cm4gdm9pZCAwPT09aXx8XFxcIlpYWVxcXCI9PT1pP25ldyB1KG8qbCpoLWMqdipmLGMqbCpoLW8qdipmLG8qdipoK2MqbCpmLG8qbCpmK2MqdipoKTpcXFwiWFlaXFxcIj09PWk/bmV3IHUobypsKmgtYyp2KmYsYypsKmgrbyp2KmYsbyp2KmgtYypsKmYsbypsKmYrYyp2KmgpOlxcXCJZWFpcXFwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaCtvKnYqZixvKnYqaC1jKmwqZixvKmwqZi1jKnYqaCk6XFxcIlpZWFxcXCI9PT1pP25ldyB1KG8qbCpoK2MqdipmLGMqbCpoLW8qdipmLG8qdipoK2MqbCpmLG8qbCpmLWMqdipoKTpcXFwiWVpYXFxcIj09PWk/bmV3IHUobypsKmgtYyp2KmYsYypsKmgrbyp2KmYsbyp2KmgrYypsKmYsbypsKmYtYyp2KmgpOlxcXCJYWllcXFwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaC1vKnYqZixvKnYqaC1jKmwqZixvKmwqZitjKnYqaCk6bnVsbH0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gdX0uYXBwbHkoZSxbXSkpfHwodC5leHBvcnRzPWkpfSgpfSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KSxlLnR3b0hhbmRCaW5kaW5nPWUubXVsdGlEZXZpY2VCaW5kaW5nPWUuSW5wdXRQcm9jZXNzb3I9dm9pZCAwO2NvbnN0IGk9big3KTtmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gZS5tYXAoZT0+KHtpbnRlcmFjdGlvblByb2ZpbGU6dCxpbnB1dFBhdGg6ZStufSkpfWUuSW5wdXRQcm9jZXNzb3I9Y2xhc3N7Y29uc3RydWN0b3IodCxlLG4pe3ZhciByO3RoaXMuaW5wdXRJbmZvPXthY3RpdmVBY3Rpb25TZXRzOltdfSx0aGlzLm5leHRDYWxsYmFja0lkPTEsdGhpcy5hY3Rpb25TZXRzPXQsdGhpcy5zeW5jSW5wdXRPdmVycmlkZT1uLHRoaXMuaW5wdXRJbnRlcnZhbE1zPW51bGwhPWU/ZTozMCxudWxsPT09KHI9aS5BdigpKXx8dm9pZCAwPT09cnx8ci5yZWdpc3RlcklucHV0KHQpfVRFU1RfVXBkYXRlU3RhdGUodCl7dGhpcy5hcHBseU5ld1N0YXRlKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodCkpKX1hY3RpdmF0ZUFjdGlvblNldCh0LGUpe2xldCBuO2ZvcihsZXQgZSBvZiB0aGlzLmlucHV0SW5mby5hY3RpdmVBY3Rpb25TZXRzKWlmKGUuYWN0aW9uU2V0TmFtZT09dCl7bj1lO2JyZWFrfWxldCByLHM9ITE7bnx8KG49e2FjdGlvblNldE5hbWU6dCx0b3BMZXZlbFBhdGhzOltdfSx0aGlzLmlucHV0SW5mby5hY3RpdmVBY3Rpb25TZXRzLnB1c2gobikpLHI9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBlP1tlXTpcXFwib2JqZWN0XFxcIj09dHlwZW9mIGU/ZTpbaS5EZXZpY2UuTGVmdCxpLkRldmljZS5SaWdodF07Zm9yKGxldCBlIG9mIHIpbi50b3BMZXZlbFBhdGhzLmluY2x1ZGVzKGUpfHwobi50b3BMZXZlbFBhdGhzLnB1c2goZSksdGhpcy5zdXBwcmVzc0luaXRpYWxQcmVzc0ZvckFjdGlvblNldCh0LGUpLHM9ITApOyF0aGlzLmlucHV0VGltZXImJnRoaXMuaW5wdXRJbnRlcnZhbE1zJiZzJiYodGhpcy5pbnB1dFRpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLm9uSW5wdXRUaWNrKCksdGhpcy5pbnB1dEludGVydmFsTXMpKX1zdXBwcmVzc0luaXRpYWxQcmVzc0ZvckFjdGlvblNldCh0LGUpe3ZhciBuO2xldCByO2ZvcihsZXQgZSBvZiB0aGlzLmFjdGlvblNldHMpaWYoZS5uYW1lPT10KXtyPWU7YnJlYWt9aWYocilmb3IobGV0IHQgb2YgbnVsbCE9PShuPXIuYWN0aW9ucykmJnZvaWQgMCE9PW4/bjpbXSl7bGV0IG49dDtpZihuLnR5cGU9PWkuQWN0aW9uVHlwZS5Cb29sZWFuKXN3aXRjaChlKXtjYXNlIGkuRGV2aWNlLkxlZnQ6bi5zdXBwcmVzc0xlZnQ9ITA7YnJlYWs7Y2FzZSBpLkRldmljZS5SaWdodDpuLnN1cHByZXNzUmlnaHQ9ITB9fX1kZWFjdGl2YXRlQWN0aW9uU2V0KHQsZSl7Zm9yKGxldCBuPTA7bjx0aGlzLmlucHV0SW5mby5hY3RpdmVBY3Rpb25TZXRzLmxlbmd0aDtuKyspe2xldCBpPXRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHNbbl07aWYoaS5hY3Rpb25TZXROYW1lPT10KXJldHVybiB2b2lkKGU/KGkudG9wTGV2ZWxQYXRocz1pLnRvcExldmVsUGF0aHMuZmlsdGVyKHQ9PnQhPWUpLDA9PWkudG9wTGV2ZWxQYXRocy5sZW5ndGgmJnRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMuc3BsaWNlKG4sMSkpOnRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMuc3BsaWNlKG4sMSkpfX1yZWdpc3RlckJvb2xlYW5DYWxsYmFja3ModCxlLG4saSxyKXtsZXQgcz17aWQ6dGhpcy5uZXh0Q2FsbGJhY2tJZCsrLHJpc2luZzppLGZhbGxpbmc6cn07cmV0dXJuIHRoaXMucmVnaXN0ZXJDYWxsYmFjayh0LGUsbixzKX1yZWdpc3RlckZsb2F0Q2FsbGJhY2sodCxlLG4saSl7bGV0IHI9e2lkOnRoaXMubmV4dENhbGxiYWNrSWQrKyxjaGFuZ2U6aX07cmV0dXJuIHRoaXMucmVnaXN0ZXJDYWxsYmFjayh0LGUsbixyKX1yZWdpc3RlclZlY3RvcjJDYWxsYmFjayh0LGUsbixpKXtsZXQgcj17aWQ6dGhpcy5uZXh0Q2FsbGJhY2tJZCsrLGNoYW5nZTppfTtyZXR1cm4gdGhpcy5yZWdpc3RlckNhbGxiYWNrKHQsZSxuLHIpfXJlZ2lzdGVyQ2FsbGJhY2sodCxlLG4scil7dmFyIHMsYTtsZXQgbz10aGlzLmdldEFjdGlvbih0LGUpO2lmKCFvKXRocm93IG5ldyBFcnJvcihgVW5rbm93biBhY3Rpb24gJHtlfSBpbiBhY3Rpb24gc2V0ICR7dH1gKTtzd2l0Y2gobil7Y2FzZSBpLkRldmljZS5MZWZ0Om8ubGVmdENhbGxiYWNrcz1bLi4ubnVsbCE9PShzPW8ubGVmdENhbGxiYWNrcykmJnZvaWQgMCE9PXM/czpbXSxyXTticmVhaztjYXNlIGkuRGV2aWNlLlJpZ2h0Om8ucmlnaHRDYWxsYmFja3M9Wy4uLm51bGwhPT0oYT1vLnJpZ2h0Q2FsbGJhY2tzKSYmdm9pZCAwIT09YT9hOltdLHJdfXJldHVybiByLmlkfXVucmVnaXN0ZXJDYWxsYmFjayh0KXt2YXIgZSxuLGk7Zm9yKGxldCByIG9mIHRoaXMuYWN0aW9uU2V0cylmb3IobGV0IHMgb2YgbnVsbCE9PShlPXIuYWN0aW9ucykmJnZvaWQgMCE9PWU/ZTpbXSl7bGV0IGU9cztlLmxlZnRDYWxsYmFja3M9bnVsbD09PShuPWUubGVmdENhbGxiYWNrcyl8fHZvaWQgMD09PW4/dm9pZCAwOm4uZmlsdGVyKGU9PmUuaWQhPXQpLGUucmlnaHRDYWxsYmFja3M9bnVsbD09PShpPWUucmlnaHRDYWxsYmFja3MpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmZpbHRlcihlPT5lLmlkIT10KX19b25JbnB1dFRpY2soKXt0cnl7bGV0IHQ9dGhpcy5zeW5jSW5wdXRPdmVycmlkZT90aGlzLnN5bmNJbnB1dE92ZXJyaWRlKHRoaXMuaW5wdXRJbmZvKTppLkF2KCkuc3luY0lucHV0KHRoaXMuaW5wdXRJbmZvKTt0aGlzLmFwcGx5TmV3U3RhdGUodCl9Y2F0Y2godCl7Y29uc29sZS5sb2coXFxcImZhaWxlZCB0byBzeW5jIGlucHV0XFxcIil9dGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5sZW5ndGg+MCYmdGhpcy5pbnB1dEludGVydmFsTXM/dGhpcy5pbnB1dFRpbWVyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLm9uSW5wdXRUaWNrKCksdGhpcy5pbnB1dEludGVydmFsTXMpOnRoaXMuaW5wdXRUaW1lcj12b2lkIDB9Z2V0QWN0aW9uKHQsZSl7dmFyIG47Zm9yKGxldCBpIG9mIHRoaXMuYWN0aW9uU2V0cylpZihpLm5hbWU9PXQpZm9yKGxldCB0IG9mIG51bGwhPT0obj1pLmFjdGlvbnMpJiZ2b2lkIDAhPT1uP246W10paWYodC5uYW1lPT1lKXJldHVybiB0fWFwcGx5TmV3U3RhdGUodCl7dGhpcy5wcm9jZXNzRGlmZnModGhpcy5zdGF0ZSx0KSx0aGlzLnN0YXRlPXR9Y2FsbENhbGxiYWNrKHQsZSxuLHIpe3ZhciBzLGEsbyx1O3N3aXRjaChyKXtjYXNlIGkuQWN0aW9uVHlwZS5Cb29sZWFuOntsZXQgaT10O2UmJiFuP251bGw9PT0ocz1pLmZhbGxpbmcpfHx2b2lkIDA9PT1zfHxzLmNhbGwoaSk6IWUmJm4mJihudWxsPT09KGE9aS5yaXNpbmcpfHx2b2lkIDA9PT1hfHxhLmNhbGwoaSkpfWJyZWFrO2Nhc2UgaS5BY3Rpb25UeXBlLkZsb2F0OntsZXQgaT10LHI9XFxcIm51bWJlclxcXCI9PXR5cGVvZiBlP2U6MCxzPVxcXCJudW1iZXJcXFwiPT10eXBlb2Ygbj9uOjA7ciE9cyYmaS5jaGFuZ2UocixzKX1icmVhaztjYXNlIGkuQWN0aW9uVHlwZS5WZWN0b3IyOntjb25zdFtpLHJdPW51bGwhPT0obz1lKSYmdm9pZCAwIT09bz9vOlswLDBdLFtzLGFdPW51bGwhPT0odT1uKSYmdm9pZCAwIT09dT91OlswLDBdO2xldCBsPXQ7aT09cyYmcj09YXx8bC5jaGFuZ2UoW2kscl0sW3MsYV0pfX19cHJvY2Vzc0RpZmZzKHQsZSl7dmFyIG4saSxyLHMsYSxvLHUsbCxoO2ZvcihsZXQgYyBvZiB0aGlzLmFjdGlvblNldHMpZm9yKGxldCB2IG9mIG51bGwhPT0obj1jLmFjdGlvbnMpJiZ2b2lkIDAhPT1uP246W10pe2xldCBuPXYsZj1udWxsPT09KGk9bnVsbD09dD92b2lkIDA6dC5yZXN1bHRzW2MubmFtZV0pfHx2b2lkIDA9PT1pP3ZvaWQgMDppW24ubmFtZV0scD1udWxsPT09KHI9ZS5yZXN1bHRzW2MubmFtZV0pfHx2b2lkIDA9PT1yP3ZvaWQgMDpyW24ubmFtZV0sZD1udWxsPT09KHM9bnVsbD09Zj92b2lkIDA6Zi5sZWZ0KXx8dm9pZCAwPT09cz92b2lkIDA6cy52YWx1ZSx5PW51bGw9PT0oYT1udWxsPT1mP3ZvaWQgMDpmLnJpZ2h0KXx8dm9pZCAwPT09YT92b2lkIDA6YS52YWx1ZSxnPW51bGw9PT0obz1udWxsPT1wP3ZvaWQgMDpwLmxlZnQpfHx2b2lkIDA9PT1vP3ZvaWQgMDpvLnZhbHVlLHg9bnVsbD09PSh1PW51bGw9PXA/dm9pZCAwOnAucmlnaHQpfHx2b2lkIDA9PT11P3ZvaWQgMDp1LnZhbHVlO2lmKG4uc3VwcHJlc3NMZWZ0KWd8fChuLnN1cHByZXNzTGVmdD0hMSk7ZWxzZSBmb3IobGV0IHQgb2YgbnVsbCE9PShsPW4ubGVmdENhbGxiYWNrcykmJnZvaWQgMCE9PWw/bDpbXSl0aGlzLmNhbGxDYWxsYmFjayh0LGQsZyxuLnR5cGUpO2lmKG4uc3VwcHJlc3NSaWdodCl4fHwobi5zdXBwcmVzc1JpZ2h0PSExKTtlbHNlIGZvcihsZXQgdCBvZiBudWxsIT09KGg9bi5yaWdodENhbGxiYWNrcykmJnZvaWQgMCE9PWg/aDpbXSl0aGlzLmNhbGxDYWxsYmFjayh0LHkseCxuLnR5cGUpfX19LGUubXVsdGlEZXZpY2VCaW5kaW5nPXIsZS50d29IYW5kQmluZGluZz1mdW5jdGlvbih0LGUpe3JldHVybiByKHQsW2kuRGV2aWNlLkxlZnQsaS5EZXZpY2UuUmlnaHRdLGUpfX0sZnVuY3Rpb24odCxlLG4pe1xcXCJ1c2Ugc3RyaWN0XFxcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcXFwiX19lc01vZHVsZVxcXCIse3ZhbHVlOiEwfSksZS5nX2FuaW1fTGVmdF9UaHVtYnNVcD1lLmdfYnVpbHRpbkFuaW1zPWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZFJpZ2h0PWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZExlZnQ9ZS5nX2J1aWx0aW5Nb2RlbFJvY2tldHNoaXA9ZS5nX2J1aWx0aW5Nb2RlbFdpbmRvd0ljb249ZS5nX2J1aWx0aW5Nb2RlbFRyYXNoY2FuPWUuZ19idWlsdGluTW9kZWxTdGFyPWUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFJvb209ZS5nX2J1aWx0aW5Nb2RlbFBsdXM9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsPWUuZ19idWlsdGluTW9kZWxOZXR3b3JrPWUuZ19idWlsdGluTW9kZWxNaW51cz1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0T3Blbj1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkPWUuZ19idWlsdGluTW9kZWxIb29rPWUuZ19idWlsdGluTW9kZWxIZWFkPWUuZ19idWlsdGluTW9kZWxIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRNaXJyb3I9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRMZWZ0PWUuZ19idWlsdGluTW9kZWxIYW1tZXJBbmRXcmVuY2g9ZS5nX2J1aWx0aW5Nb2RlbEdlYXI9ZS5nX2J1aWx0aW5Nb2RlbEZsYXNrPWUuZ19idWlsdGluTW9kZWxFcnJvcj1lLmdfYnVpbHRpbk1vZGVsRHJvcEF0dHJhY3Q9ZS5nX2J1aWx0aW5Nb2RlbEN5bGluZGVyPWUuZ19idWlsdGluTW9kZWxCcmFjZWxldD1lLmdfYnVpbHRpbk1vZGVsQm94PWUuZ19idWlsdGluTW9kZWxCb3VuZGluZ0JveD1lLmdfYnVpbHRpbk1vZGVsQmFyY29kZVNjYW5uZXI9ZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsQXJyb3c9ZS5nX2J1aWx0aW5Nb2RlbEFhcmR2YXJrPWUuZ19idWlsdGluTW9kZWxQcmVmaXg9dm9pZCAwLGUuZ19idWlsdGluTW9kZWxQcmVmaXg9XFxcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvbW9kZWxzL1xcXCIsZS5nX2J1aWx0aW5Nb2RlbEFhcmR2YXJrPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImFhcmR2YXJrLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEFycm93PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImFycm93LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJhcnJvd19mbGF0LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEJhcmNvZGVTY2FubmVyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImJhcmNvZGVfcmVhZGVyLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEJvdW5kaW5nQm94PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImJvdW5kaW5nX2JveC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxCb3g9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwiYm94LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEJyYWNlbGV0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImJyYWNlbGV0LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbEN5bGluZGVyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImN5bGluZGVyLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbERyb3BBdHRyYWN0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImRyb3BfYXR0cmFjdC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxFcnJvcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJlcnJvci5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxGbGFzaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJmbGFzay5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxHZWFyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImdlYXIuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsSGFtbWVyQW5kV3JlbmNoPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImhhbW1lcndyZW5jaC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxIYW5kTGVmdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJoYW5kX2xlZnQuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsSGFuZE1pcnJvcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJoYW5kX21pcnJvci5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwiaGFuZF9yaWdodC5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxIZWFkPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcImhlYWQuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsSG9vaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJob29rLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbE1hZ25ldENsb3NlZD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJtYWduZXRfY2xvc2VkLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbE1hZ25ldE9wZW49ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwibWFnbmV0X29wZW4uZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsTWludXM9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwibWludXMuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsTmV0d29yaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJuZXR3b3JrLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFBhbmVsPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInBhbmVsL3BhbmVsLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwicGFuZWwvcGFuZWxfaW52ZXJ0ZWQuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsUGx1cz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJwbHVzLmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFJvb209ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwicm9vbS5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwic3BoZXJlL3NwaGVyZS5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxTdGFyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInN0YXIuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsVHJhc2hjYW49ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwidHJhc2hjYW4uZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsV2luZG93SWNvbj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJ3aW5kb3dfaWNvbi5nbGJcXFwiLGUuZ19idWlsdGluTW9kZWxSb2NrZXRzaGlwPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInJvY2tldHNoaXAuZ2xiXFxcIixlLmdfYnVpbHRpbk1vZGVsU2tpbm5lZEhhbmRMZWZ0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXFxcInNraW5uZWRfaGFuZF9sZWZ0LmdsYlxcXCIsZS5nX2J1aWx0aW5Nb2RlbFNraW5uZWRIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcXFwic2tpbm5lZF9oYW5kX3JpZ2h0LmdsYlxcXCIsZS5nX2J1aWx0aW5Bbmltcz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1xcXCJhbmltYXRpb25zL1xcXCIsZS5nX2FuaW1fTGVmdF9UaHVtYnNVcD1lLmdfYnVpbHRpbkFuaW1zK1xcXCJsZWZ0X3RodW1ic191cC5nbGJcXFwifSxmdW5jdGlvbih0LGUsbil7XFxcInVzZSBzdHJpY3RcXFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFxcXCJfX2VzTW9kdWxlXFxcIix7dmFsdWU6ITB9KSxlLldlYkFwcE1hbmlmZXN0T3JpZW50YXRpb249ZS5XZWJBcHBNYW5pZmVzdERpc3BsYXk9ZS5XZWJBcHBNYW5pZmVzdFRleHREaXI9ZS5XZWJBcHBNYW5pZmVzdFJlc291cmNlUHVycG9zZT12b2lkIDAsZnVuY3Rpb24odCl7dC5CYWRnZT1cXFwiYmFkZ2VcXFwiLHQuTWFza2FibGU9XFxcIm1hc2thYmxlXFxcIix0LkFueT1cXFwiYW55XFxcIn0oZS5XZWJBcHBNYW5pZmVzdFJlc291cmNlUHVycG9zZXx8KGUuV2ViQXBwTWFuaWZlc3RSZXNvdXJjZVB1cnBvc2U9e30pKSxmdW5jdGlvbih0KXt0LkF1dG89XFxcImF1dG9cXFwiLHQuTGVmdFRvUmlnaHQ9XFxcImx0clxcXCIsdC5SaWdodFRvTGVmdD1cXFwicnRsXFxcIn0oZS5XZWJBcHBNYW5pZmVzdFRleHREaXJ8fChlLldlYkFwcE1hbmlmZXN0VGV4dERpcj17fSkpLGZ1bmN0aW9uKHQpe3QuRnVsbHNjcmVlbj1cXFwiZnVsbHNjcmVlblxcXCIsdC5TdGFuZGFsb25lPVxcXCJzdGFuZGFsb25lXFxcIix0Lk1pbmltYWxVST1cXFwibWluaW1hbC11aVxcXCIsdC5Ccm93c2VyPVxcXCJicm93c2VyXFxcIn0oZS5XZWJBcHBNYW5pZmVzdERpc3BsYXl8fChlLldlYkFwcE1hbmlmZXN0RGlzcGxheT17fSkpLGZ1bmN0aW9uKHQpe3QuQW55PVxcXCJhbnlcXFwiLHQuTmF0dXJhbD1cXFwibmF0dXJhbFxcXCIsdC5MYW5kc2NhcGU9XFxcImxhbmRzY2FwZVxcXCIsdC5MYW5kc2NhcGVQcmltYXJ5PVxcXCJsYW5kc2NhcGUtcHJpbWFyeVxcXCIsdC5MYW5kc2NhcGVTZWNvbmRhcnk9XFxcImxhbmRzY2FwZS1zZWNvbmRhcnlcXFwiLHQuUG9ydHJhaXQ9XFxcInBvcnRyYWl0XFxcIix0LlBvcnRyYWl0UHJpbWFyeT1cXFwicG9ydHJhaXQtcHJpbWFyeVxcXCIsdC5Qb3J0cmFpdFNlY29uZGFyeT1cXFwicG9ydHJhaXQtc2Vjb25kYXJ5XFxcIn0oZS5XZWJBcHBNYW5pZmVzdE9yaWVudGF0aW9ufHwoZS5XZWJBcHBNYW5pZmVzdE9yaWVudGF0aW9uPXt9KSl9LGZ1bmN0aW9uKHQsZSxuKXtcXFwidXNlIHN0cmljdFxcXCI7bi5yKGUpLG4uZChlLFxcXCJ2MVxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKGUsXFxcInYzXFxcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQoZSxcXFwidjRcXFwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLFxcXCJ2NVxcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSk7dmFyIGk9bigxKSxyPW4ubihpKTtmdW5jdGlvbiBzKCl7cmV0dXJuIHIuYS5yYW5kb21CeXRlcygxNil9Zm9yKHZhciBhPVtdLG89MDtvPDI1NjsrK28pYVtvXT0obysyNTYpLnRvU3RyaW5nKDE2KS5zdWJzdHIoMSk7dmFyIHUsbCxoPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZXx8MCxpPWE7cmV0dXJuW2lbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxcXFwiLVxcXCIsaVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV1dLmpvaW4oXFxcIlxcXCIpfSxjPTAsdj0wO3ZhciBmPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lJiZufHwwLHI9ZXx8W10sYT0odD10fHx7fSkubm9kZXx8dSxvPXZvaWQgMCE9PXQuY2xvY2tzZXE/dC5jbG9ja3NlcTpsO2lmKG51bGw9PWF8fG51bGw9PW8pe3ZhciBmPXQucmFuZG9tfHwodC5ybmd8fHMpKCk7bnVsbD09YSYmKGE9dT1bMXxmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XV0pLG51bGw9PW8mJihvPWw9MTYzODMmKGZbNl08PDh8Zls3XSkpfXZhciBwPXZvaWQgMCE9PXQubXNlY3M/dC5tc2VjczoobmV3IERhdGUpLmdldFRpbWUoKSxkPXZvaWQgMCE9PXQubnNlY3M/dC5uc2Vjczp2KzEseT1wLWMrKGQtdikvMWU0O2lmKHk8MCYmdm9pZCAwPT09dC5jbG9ja3NlcSYmKG89bysxJjE2MzgzKSwoeTwwfHxwPmMpJiZ2b2lkIDA9PT10Lm5zZWNzJiYoZD0wKSxkPj0xZTQpdGhyb3cgbmV3IEVycm9yKFxcXCJ1dWlkLnYxKCk6IENhbid0IGNyZWF0ZSBtb3JlIHRoYW4gMTBNIHV1aWRzL3NlY1xcXCIpO2M9cCx2PWQsbD1vO3ZhciBnPSgxZTQqKDI2ODQzNTQ1NSYocCs9MTIyMTkyOTI4ZTUpKStkKSU0Mjk0OTY3Mjk2O3JbaSsrXT1nPj4+MjQmMjU1LHJbaSsrXT1nPj4+MTYmMjU1LHJbaSsrXT1nPj4+OCYyNTUscltpKytdPTI1NSZnO3ZhciB4PXAvNDI5NDk2NzI5NioxZTQmMjY4NDM1NDU1O3JbaSsrXT14Pj4+OCYyNTUscltpKytdPTI1NSZ4LHJbaSsrXT14Pj4+MjQmMTV8MTYscltpKytdPXg+Pj4xNiYyNTUscltpKytdPW8+Pj44fDEyOCxyW2krK109MjU1Jm87Zm9yKHZhciBiPTA7Yjw2OysrYilyW2krYl09YVtiXTtyZXR1cm4gZXx8aChyKX07dmFyIHA9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWZ1bmN0aW9uKHQsaSxyLHMpe3ZhciBhPXImJnN8fDA7aWYoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiB0JiYodD1mdW5jdGlvbih0KXt0PXVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSk7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCksbj0wO248dC5sZW5ndGg7bisrKWVbbl09dC5jaGFyQ29kZUF0KG4pO3JldHVybiBlfSh0KSksXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBpJiYoaT1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdC5yZXBsYWNlKC9bYS1mQS1GMC05XXsyfS9nLChmdW5jdGlvbih0KXtlLnB1c2gocGFyc2VJbnQodCwxNikpfSkpLGV9KGkpKSwhQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBUeXBlRXJyb3IoXFxcInZhbHVlIG11c3QgYmUgYW4gYXJyYXkgb2YgYnl0ZXNcXFwiKTtpZighQXJyYXkuaXNBcnJheShpKXx8MTYhPT1pLmxlbmd0aCl0aHJvdyBUeXBlRXJyb3IoXFxcIm5hbWVzcGFjZSBtdXN0IGJlIHV1aWQgc3RyaW5nIG9yIGFuIEFycmF5IG9mIDE2IGJ5dGUgdmFsdWVzXFxcIik7dmFyIG89bihpLmNvbmNhdCh0KSk7aWYob1s2XT0xNSZvWzZdfGUsb1s4XT02MyZvWzhdfDEyOCxyKWZvcih2YXIgdT0wO3U8MTY7Kyt1KXJbYSt1XT1vW3VdO3JldHVybiByfHxoKG8pfTt0cnl7aS5uYW1lPXR9Y2F0Y2godCl7fXJldHVybiBpLkROUz1cXFwiNmJhN2I4MTAtOWRhZC0xMWQxLTgwYjQtMDBjMDRmZDQzMGM4XFxcIixpLlVSTD1cXFwiNmJhN2I4MTEtOWRhZC0xMWQxLTgwYjQtMDBjMDRmZDQzMGM4XFxcIixpfTt2YXIgZD1wKFxcXCJ2M1xcXCIsNDgsKGZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q9QnVmZmVyLmZyb20odCk6XFxcInN0cmluZ1xcXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LFxcXCJ1dGY4XFxcIikpLHIuYS5jcmVhdGVIYXNoKFxcXCJtZDVcXFwiKS51cGRhdGUodCkuZGlnZXN0KCl9KSk7dmFyIHk9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWUmJm58fDA7XFxcInN0cmluZ1xcXCI9PXR5cGVvZiB0JiYoZT1cXFwiYmluYXJ5XFxcIj09PXQ/bmV3IEFycmF5KDE2KTpudWxsLHQ9bnVsbCk7dmFyIHI9KHQ9dHx8e30pLnJhbmRvbXx8KHQucm5nfHxzKSgpO2lmKHJbNl09MTUmcls2XXw2NCxyWzhdPTYzJnJbOF18MTI4LGUpZm9yKHZhciBhPTA7YTwxNjsrK2EpZVtpK2FdPXJbYV07cmV0dXJuIGV8fGgocil9O3ZhciBnPXAoXFxcInY1XFxcIiw4MCwoZnVuY3Rpb24odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dD1CdWZmZXIuZnJvbSh0KTpcXFwic3RyaW5nXFxcIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsXFxcInV0ZjhcXFwiKSksci5hLmNyZWF0ZUhhc2goXFxcInNoYTFcXFwiKS51cGRhdGUodCkuZGlnZXN0KCl9KSl9XSl9KSk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vYnVmZmVyL2luZGV4LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXIpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWhZWEprZG1GeWF5MXphR0Z5WldRdmQyVmljR0ZqYXk5MWJtbDJaWEp6WVd4TmIyUjFiR1ZFWldacGJtbDBhVzl1UDJFeU5EUWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wzZGxZbkJoWTJzdlltOXZkSE4wY21Gd1AyTmhNV1FpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdlkyOXVjM1JoYm5SekxtcHpQemc0TTJVaUxDSjNaV0p3WVdOck9pOHZZV0Z5WkhaaGNtc3RjbVZoWTNRdllXRnlaSFpoY21zdGMyaGhjbVZrTDJWNGRHVnlibUZzSUZ3aVkzSjVjSFJ2WENJL01EVmxNaUlzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDBCMGJHRjFhMnRoYmk5MGMyMHZaR2x6ZEM5MlpXTXpMbXB6UHpGaVkyRWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2ZG1Wak1pNXFjejgwWkdJeklpd2lkMlZpY0dGamF6b3ZMMkZoY21SMllYSnJMWEpsWVdOMEwyRmhjbVIyWVhKckxYTm9ZWEpsWkM5dWIyUmxYMjF2WkhWc1pYTXZRSFJzWVhWcmEyRnVMM1J6YlM5a2FYTjBMM0YxWVhRdWFuTS9OekV3WXlJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXRZWFF6TG1welB6bGlaRE1pTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmJXRjBOQzVxY3o5ak5XSTRJaXdpZDJWaWNHRmphem92TDJGaGNtUjJZWEpyTFhKbFlXTjBMMkZoY21SMllYSnJMWE5vWVhKbFpDOXpjbU12WVdGeVpIWmhjbXN1ZEhNL01tWXdOQ0lzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZjM0pqTDJGaGNtUjJZWEpyWDNCeWIzUnZZMjlzTG5SelB6UTRZVE1pTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmFXNWtaWGd1YW5NL1lqTTBNU0lzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDBCMGJHRjFhMnRoYmk5MGMyMHZaR2x6ZEM5MlpXTTBMbXB6UHpreE1UZ2lMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wzTnlZeTl0WVhSb1gzVjBhV3h6TG5SelAyRTBNVElpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMM055WXk5cGJtUmxlQzUwY3o5ak9UWmxJaXdpZDJWaWNHRmphem92TDJGaGNtUjJZWEpyTFhKbFlXTjBMMkZoY21SMllYSnJMWE5vWVhKbFpDOXViMlJsWDIxdlpIVnNaWE12ZEhOc2FXSXZkSE5zYVdJdVpYTTJMbXB6UHpoaE5HUWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wzTnlZeTl6ZEc5eVpXUmZjM1JoZEdVdWRITS9OV1E1WkNJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXRZWFF5TG1welB6SmpNV1lpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5eGRXRjBaWEp1YVc5dUwzRjFZWFJsY201cGIyNHVhbk0vT0RWbE5pSXNJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWhZWEprZG1GeWF5MXphR0Z5WldRdmMzSmpMMkZoY21SMllYSnJYMmx1Y0hWMExuUnpQelkzWW1FaUxDSjNaV0p3WVdOck9pOHZZV0Z5WkhaaGNtc3RjbVZoWTNRdllXRnlaSFpoY21zdGMyaGhjbVZrTDNOeVl5OXRiMlJsYkhNdWRITS9NVFJqTXlJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2YzNKakwzZGxZbDloY0hCZmJXRnVhV1psYzNRdWRITS9ZelpoTVNJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwzVjFhV1F2WkdsemRDOWxjMjB0Ym05a1pTOXlibWN1YW5NL1lqZGtOU0lzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDNWMWFXUXZaR2x6ZEM5bGMyMHRibTlrWlM5aWVYUmxjMVJ2VlhWcFpDNXFjejh6T1RRM0lpd2lkMlZpY0dGamF6b3ZMMkZoY21SMllYSnJMWEpsWVdOMEwyRmhjbVIyWVhKckxYTm9ZWEpsWkM5dWIyUmxYMjF2WkhWc1pYTXZkWFZwWkM5a2FYTjBMMlZ6YlMxdWIyUmxMM1l4TG1welAyTXpaR01pTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5MWRXbGtMMlJwYzNRdlpYTnRMVzV2WkdVdmRqTTFMbXB6UDJFNFpUTWlMQ0ozWldKd1lXTnJPaTh2WVdGeVpIWmhjbXN0Y21WaFkzUXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0wyNXZaR1ZmYlc5a2RXeGxjeTkxZFdsa0wyUnBjM1F2WlhOdExXNXZaR1V2ZGpNdWFuTS9ZMk0zTmlJc0luZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aFlYSmtkbUZ5YXkxemFHRnlaV1F2Ym05a1pWOXRiMlIxYkdWekwzVjFhV1F2WkdsemRDOWxjMjB0Ym05a1pTOXRaRFV1YW5NL01tSTFZaUlzSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzloWVhKa2RtRnlheTF6YUdGeVpXUXZibTlrWlY5dGIyUjFiR1Z6TDNWMWFXUXZaR2x6ZEM5bGMyMHRibTlrWlM5Mk5DNXFjejh6TkRjMklpd2lkMlZpY0dGamF6b3ZMMkZoY21SMllYSnJMWEpsWVdOMEwyRmhjbVIyWVhKckxYTm9ZWEpsWkM5dWIyUmxYMjF2WkhWc1pYTXZkWFZwWkM5a2FYTjBMMlZ6YlMxdWIyUmxMM1kxTG1welB6azJaRGtpTENKM1pXSndZV05yT2k4dllXRnlaSFpoY21zdGNtVmhZM1F2WVdGeVpIWmhjbXN0YzJoaGNtVmtMMjV2WkdWZmJXOWtkV3hsY3k5MWRXbGtMMlJwYzNRdlpYTnRMVzV2WkdVdmMyaGhNUzVxY3o4Mk5UQXlJbDBzSW01aGJXVnpJanBiSW5KdmIzUWlMQ0ptWVdOMGIzSjVJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5Sb2FYTWlMQ0pwYm5OMFlXeHNaV1JOYjJSMWJHVnpJaXdpWDE5M1pXSndZV05yWDNKbGNYVnBjbVZmWHlJc0ltMXZaSFZzWlVsa0lpd2lhU0lzSW13aUxDSnRiMlIxYkdWeklpd2lZMkZzYkNJc0ltMGlMQ0pqSWl3aVpDSXNJbTVoYldVaUxDSm5aWFIwWlhJaUxDSnZJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0psYm5WdFpYSmhZbXhsSWl3aVoyVjBJaXdpY2lJc0lsTjViV0p2YkNJc0luUnZVM1J5YVc1blZHRm5JaXdpZG1Gc2RXVWlMQ0owSWl3aWJXOWtaU0lzSWw5ZlpYTk5iMlIxYkdVaUxDSnVjeUlzSW1OeVpXRjBaU0lzSW10bGVTSXNJbUpwYm1RaUxDSnVJaXdpYjJKcVpXTjBJaXdpY0hKdmNHVnlkSGtpTENKd2NtOTBiM1I1Y0dVaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luQWlMQ0p6SWl3aVpYQnphV3h2YmlJc0luSmxjWFZwY21VaUxDSnhkV0YwWHpFaUxDSmpiMjV6ZEdGdWRITmZNU0lzSW5abFl6TWlMQ0oyWVd4MVpYTWlMQ0pHYkc5aGRETXlRWEp5WVhraUxDSjFibVJsWm1sdVpXUWlMQ0o0ZVhvaUxDSnpaWFFpTENKamIyNW1hV2QxY21GaWJHVWlMQ0poZENJc0ltbHVaR1Y0SWl3aWNtVnpaWFFpTENKNElpd2llU0lzSW5vaUxDSmpiM0I1SWl3aVpHVnpkQ0lzSW01bFoyRjBaU0lzSW1WeGRXRnNjeUlzSW5abFkzUnZjaUlzSW5Sb2NtVnphRzlzWkNJc0lrMWhkR2dpTENKaFluTWlMQ0pzWlc1bmRHZ2lMQ0p6Y1hKMElpd2ljM0YxWVhKbFpFeGxibWQwYUNJc0ltRmtaQ0lzSW5OMVluUnlZV04wSWl3aWJYVnNkR2x3YkhraUxDSmthWFpwWkdVaUxDSnpZMkZzWlNJc0ltNXZjbTFoYkdsNlpTSXNJbTExYkhScGNHeDVRbmxOWVhReklpd2liV0YwY21sNElpd2liWFZzZEdsd2JIbFdaV016SWl3aWJYVnNkR2x3YkhsQ2VWRjFZWFFpTENKeGRXRjBaWEp1YVc5dUlpd2lkRzlSZFdGMElpd2laR1ZtWVhWc2RDSXNJbU52Y3lJc0luTnBiaUlzSW5jaUxDSmpjbTl6Y3lJc0luWmxZM1J2Y2pJaUxDSjRNaUlzSW5reUlpd2llaklpTENKa2IzUWlMQ0prYVhOMFlXNWpaU0lzSW5OeGRXRnlaV1JFYVhOMFlXNWpaU0lzSW1ScGNtVmpkR2x2YmlJc0ltMXBlQ0lzSW5ScGJXVWlMQ0p6ZFcwaUxDSmthV1ptWlhKbGJtTmxJaXdpY0hKdlpIVmpkQ0lzSW5GMWIzUnBaVzUwSWl3aWVtVnlieUlzSW05dVpTSXNJblZ3SWl3aWNtbG5hSFFpTENKbWIzSjNZWEprSWl3aWRtVmpNMTh4SWl3aWRtVmpNaUlzSW5oNUlpd2liWFZzZEdsd2JIbE5ZWFF5SWl3aWJYVnNkR2x3YkhsV1pXTXlJaXdpYlhWc2RHbHdiSGxOWVhReklpd2liV0YwTTE4eElpd2liV0YwTkY4eElpd2ljWFZoZENJc0luaDVlbmNpTENKeWIyeHNJaXdpWVhSaGJqSWlMQ0p3YVhSamFDSXNJbmxoZHlJc0ltRnphVzRpTENKelpYUkpaR1Z1ZEdsMGVTSXNJbU5oYkdOMWJHRjBaVmNpTENKcGJuWmxjbk5sSWl3aWFXNTJSRzkwSWl3aVkyOXVhblZuWVhSbElpd2liM1JvWlhJaUxDSnhNWGdpTENKeE1Ya2lMQ0p4TVhvaUxDSnhNWGNpTENKeE1uZ2lMQ0p4TW5raUxDSnhNbm9pTENKeE1uY2lMQ0p4ZUNJc0luRjVJaXdpY1hvaUxDSnhkeUlzSW1sNElpd2lhWGtpTENKcGVpSXNJbWwzSWl3aWRHOU5ZWFF6SWl3aWVIZ2lMQ0o0ZWlJc0lubDVJaXdpZVhvaUxDSjZlaUlzSW5kNElpd2lkM2tpTENKM2VpSXNJbWx1YVhRaUxDSjBiMDFoZERRaUxDSnhNU0lzSW5FeUlpd2ljMmh2Y25STmFYZ2lMQ0pyTUNJc0ltc3hJaXdpY1RKaElpd2lZVzVuYkdVaUxDSnZibVZQZG1WeVUybHVJaXdpWTI5elNHRnNabFJvWlhSaElpd2lhR0ZzWmxSb1pYUmhJaXdpWVdOdmN5SXNJbk5wYmtoaGJHWlVhR1YwWVNJc0luSmhkR2x2UVNJc0luSmhkR2x2UWlJc0ltWnliMjFCZUdselFXNW5iR1VpTENKaGVHbHpJaXdpYVdSbGJuUnBkSGtpTENKMlpXTXlYekVpTENKdFlYUXpJaXdpWVd4c0lpd2laR0YwWVNJc0luSnZkeUlzSW1OdmJDSXNJbVJsZEdWeWJXbHVZVzUwSWl3aVlUQXdJaXdpWVRBeElpd2lZVEF5SWl3aVlURXdJaXdpWVRFeElpd2lZVEV5SWl3aVlUSXdJaXdpWVRJeElpd2lZVEl5SWl3aWRISmhibk53YjNObElpd2lkR1Z0Y0RBeElpd2lkR1Z0Y0RBeUlpd2lkR1Z0Y0RFeUlpd2laR1YwTURFaUxDSmtaWFF4TVNJc0ltUmxkREl4SWl3aVpHVjBJaXdpWWpBd0lpd2lZakF4SWl3aVlqQXlJaXdpWWpFd0lpd2lZakV4SWl3aVlqRXlJaXdpWWpJd0lpd2lZakl4SWl3aVlqSXlJaXdpY21WemRXeDBJaXdpYlRBd0lpd2liVEF4SWl3aWJUQXlJaXdpYlRFd0lpd2liVEV4SWl3aWJURXlJaXdpYlRJd0lpd2liVEl4SWl3aWJUSXlJaXdpWm05MWNsaFRjWFZoY21Wa1RXbHVkWE14SWl3aVptOTFjbGxUY1hWaGNtVmtUV2x1ZFhNeElpd2labTkxY2xwVGNYVmhjbVZrVFdsdWRYTXhJaXdpWW1sbloyVnpkRWx1WkdWNElpd2labTkxY2tKcFoyZGxjM1JUY1hWaGNtVmtUV2x1ZFhNeElpd2lZbWxuWjJWemRGWmhiQ0lzSW0xMWJIUWlMQ0p5YjNSaGRHVWlMQ0p0TVNJc0ltMHlJaXdpZG1Wak5GOHhJaXdpYldGME5DSXNJbUV3TXlJc0ltRXhNeUlzSW1FeU15SXNJbUV6TUNJc0ltRXpNU0lzSW1Fek1pSXNJbUV6TXlJc0luUmxiWEF3TXlJc0luUmxiWEF4TXlJc0luUmxiWEF5TXlJc0ltUmxkREF3SWl3aVpHVjBNRElpTENKa1pYUXdNeUlzSW1SbGREQTBJaXdpWkdWME1EVWlMQ0prWlhRd05pSXNJbVJsZERBM0lpd2laR1YwTURnaUxDSmtaWFF3T1NJc0ltUmxkREV3SWl3aVlqQWlMQ0ppTVNJc0ltSXlJaXdpWWpNaUxDSnRkV3gwYVhCc2VWWmxZelFpTENKMGIwbHVkbVZ5YzJWTllYUXpJaXdpZEhKaGJuTnNZWFJsSWl3aVpuSjFjM1IxYlNJc0lteGxablFpTENKaWIzUjBiMjBpTENKMGIzQWlMQ0p1WldGeUlpd2labUZ5SWl3aWNtd2lMQ0owWWlJc0ltWnVJaXdpY0dWeWMzQmxZM1JwZG1VaUxDSm1iM1lpTENKaGMzQmxZM1FpTENKMFlXNGlMQ0pRU1NJc0ltOXlkR2h2WjNKaGNHaHBZeUlzSW14dmIydEJkQ0lzSW5CdmMybDBhVzl1SWl3aWRHRnlaMlYwSWl3aVlqQXpJaXdpWWpFeklpd2lZakl6SWl3aVlqTXdJaXdpWWpNeElpd2lZak15SWl3aVlqTXpJaXdpUkdWMmFXTmxJaXdpVUdGdVpXeE5iM1Z6WlVWMlpXNTBWSGx3WlNJc0lrbHVkR1Z5WVdOMGFXOXVVSEp2Wm1sc1pTSXNJa2x1Y0hWMElpd2lhR0Z1WkNJc0lrVklZVzVrSWl3aVRHVm1kQ0lzSWxKcFoyaDBJaXdpUVdOMGFXOXVWSGx3WlNJc0luZHBibVJ2ZHlJc0ltRmhjbVIyWVhKcklpd2lSVzVrY0c5cGJuUlVlWEJsSWl3aVJWWnZiSFZ0WlZSNWNHVWlMQ0psYm1Sd2IybHVkRlI1Y0dWR2NtOXRRMmhoY21GamRHVnlJaXdpU0hWaUlpd2lSMkZrWjJWMElpd2lUbTlrWlNJc0lrMXZibWwwYjNJaUxDSlNaVzVrWlhKbGNpSXNJbFZ1YTI1dmQyNGlMQ0psYm1Sd2IybHVkRUZrWkhKVWIxTjBjbWx1WnlJc0ltVndZU0lzSW1Wd2RDSXNJbVZ1WkhCdmFXNTBRMmhoY21GamRHVnlSbkp2YlZSNWNHVWlMQ0owZVhCbElpd2laVzVrY0c5cGJuUkpaQ0lzSW01dlpHVkpaQ0lzSW1WdVpIQnZhVzUwUVdSa2NrbHpSVzF3ZEhraUxDSmxibVJ3YjJsdWRFRmtaSEp6VFdGMFkyZ2lMQ0psY0dFeElpd2laWEJoTWlJc0ltbHVkR1Z5Wm1GalpWUnZVM1J5YVc1bklpd2lkSEpoYm5OdGFYUjBaWElpTENKeVpXTmxhWFpsY2lJc0ltbG1ZV05sSWl3aVFXRnlaSFpoY210UWIzSjBJaXdpVFdWemMyRm5aVlI1Y0dVaUxDSlhaV0pUYjJOclpYUkRiRzl6WlVOdlpHVnpJaXdpWlhCaFUzUnlJaXdpYldGMFkyZ2lMQ0pTWldkRmVIQWlMQ0psZUdWaklpd2ljR0Z5YzJWSmJuUWlMQ0pqYjI1emIyeGxJaXdpYkc5bklpd2laWEJoUVhKeVlYa2lMQ0ptYVdWc1pFNWhiV1VpTENKMWMyVnlRV2RsYm5RaUxDSnBibU5zZFdSbGN5SXNJbVZ1ZGxOMGNtbHVaeUlzSW5CaGNuTmxVR0Y1Ykc5aFpDSXNJbVZ1ZGlJc0lrcFRUMDRpTENKd1lYSnpaU0lzSW5CaGVXeHZZV1FpTENKd1lYbHNiMkZrVlc1d1lXTnJaV1FpTENKbElpd2lTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkQ0lzSWtGMlRtOWtaVlI1Y0dVaUxDSkZWbTlzZFcxbFEyOXVkR1Y0ZENJc0lrVnRjSFI1SWl3aVNXNW1hVzVwZEdVaUxDSjFjbWtpTENKTmIyUmxiRUp2ZUNJc0luSmhaR2wxY3lJc0lsTndhR1Z5WlNJc0luTjBZWEowSWl3aVpHbHlJaXdpYm05a1pVWnliMjFXYjJ4MWJXVWlMQ0ppWVdOcklpd2lVbUY1SWl3aWJtOWtaVlJ5WVc1elptOXliVVp5YjIxTllYUTBJaXdpUlU1dlpHVkdiR0ZuY3lJc0lrVlVaWGgwZFhKbFZIbHdaU0lzSWtWVVpYaDBkWEpsUm05eWJXRjBJaXdpVUdWeWJXbHpjMmx2YmlJc0lrVkJZM1JwYjI0aUxDSmhJaXdpWWlJc0luTnhkV1ZsZW1VaUxDSm5jbUZpSWl3aVozSmhZbE5vYjNkU1lYa2lMQ0prWlhSaFkyZ2lMQ0puY21GaVRXOTJaU0lzSW1GamRHbHZibE4wWVhSbElpd2laMkZrWjJWMFRtRnRaU0lzSW1kaFpHZGxkRlZ5YVNJc0ltZGhaR2RsZEZCbGNuTnBjM1JsYm1ObFZYVnBaQ0lzSW1acGJIUmxjbVZrVG1GdFpTSXNJbkpsY0d4aFkyVWlMQ0owYjB4dmQyVnlRMkZ6WlNJc0luTjFZbk4wY2lJc0ltdGxlVlJ2U0dGemFDSXNJbWhoYzJnaUxDSmphR0Z5UTI5a1pVRjBJaXdpZEc5VGRISnBibWNpTENKbGJtUnpWMmwwYUNJc0ltMWhkREpmTVNJc0ltMWhkRElpTENKMlpXTTBJaXdpYlhWc2RHbHdiSGxOWVhRMElpd2lkSEpoYm5Oc1lYUmxUV0YwSWl3aWMyTmhiR1ZOWVhRaUxDSnhkV0YwUm5KdmJVRjRhWE5CYm1kc1pVUmxaM0psWlhNaUxDSmtaV2NpTENKblpYUlNiM2RHY205dFRXRjBJaXdpZEhKaGJuTm1iM0p0SWl3aWNHOXpJaXdpZUZOallXeGxJaXdpZVZOallXeGxJaXdpZWxOallXeGxJaXdpY205MElpd2ljbTkwWVhScGIyNGlMQ0p1YjJSbFZISmhibk5tYjNKdFZHOU5ZWFEwSWl3aWRsUnlZVzV6SWl3aWRsTmpZV3hsSWl3aWNWSnZkQ0lzSW0xaGRDSXNJazUxYldKbGNpSXNJbWx6VG1GT0lpd2lSWEp5YjNJaUxDSnNhVzVsVTNSaGNuUWlMQ0pzYVc1bFJXNWtJaXdpZEdocFkydHVaWE56SWl3aWJHbHVaVlpsWTNSdmNpSXNJbXhwYm1WTVpXNW5kR2dpTENKNFltRnphWE1pTENKamVXeHBibVJsY2tObGJuUmxjaUlzSW5saVlYTnBjeUlzSW5waVlYTnBjeUlzSW14cGJtVlNiM1JoZEdsdmJpSXNJbUpoYzJVaUxDSnNhVzFwZENJc0ltMXBiaUlzSW0xaGVDSXNJbVY0ZEdWdWRDSXNJbTV2VG5Wc2JITWlMQ0ptYVd4MFpYSWlMQ0oySWl3aWVHWXdJaXdpZUdZeElpd2lkREFpTENKME1TSXNJblJ5WVc1eklpd2ljekFpTENKek1TSXNJbkl3SWl3aVVYVmhkR1Z5Ym1sdmJpSXNJbkl4SWl3aWMyeGxjbkFpTENKbWNtOXRJaXdpYldsdWFXMWhiQ0lzSW14b2N5SXNJbkpvY3lJc0lteHRJaXdpY20waUxDSndkQ0lzSW5ZMElpd2laWGgwWlc1a1UzUmhkR2xqY3lJc0luTmxkRkJ5YjNSdmRIbHdaVTltSWl3aVgxOXdjbTkwYjE5Zklpd2lRWEp5WVhraUxDSmZYMlY0ZEdWdVpITWlMQ0pmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWDE5aGMzTnBaMjRpTENKaGMzTnBaMjRpTENKaGNtZDFiV1Z1ZEhNaUxDSmhjSEJzZVNJc0lsOWZjbVZ6ZENJc0ltbHVaR1Y0VDJZaUxDSm5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1pTENKd2NtOXdaWEowZVVselJXNTFiV1Z5WVdKc1pTSXNJbDlmWkdWamIzSmhkR1VpTENKa1pXTnZjbUYwYjNKeklpd2laR1Z6WXlJc0ltZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2lJc0lsSmxabXhsWTNRaUxDSmtaV052Y21GMFpTSXNJbDlmY0dGeVlXMGlMQ0p3WVhKaGJVbHVaR1Y0SWl3aVpHVmpiM0poZEc5eUlpd2lYMTl0WlhSaFpHRjBZU0lzSW0xbGRHRmtZWFJoUzJWNUlpd2liV1YwWVdSaGRHRldZV3gxWlNJc0ltMWxkR0ZrWVhSaElpd2lYMTloZDJGcGRHVnlJaXdpZEdocGMwRnlaeUlzSWw5aGNtZDFiV1Z1ZEhNaUxDSlFJaXdpWjJWdVpYSmhkRzl5SWl3aVVISnZiV2x6WlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSm1kV3htYVd4c1pXUWlMQ0p6ZEdWd0lpd2libVY0ZENJc0luSmxhbVZqZEdWa0lpd2laRzl1WlNJc0luUm9aVzRpTENKZlgyZGxibVZ5WVhSdmNpSXNJbUp2WkhraUxDSm1JaXdpWnlJc0lsOGlMQ0pzWVdKbGJDSXNJbk5sYm5RaUxDSjBjbmx6SWl3aWIzQnpJaXdpZG1WeVlpSXNJbWwwWlhKaGRHOXlJaXdpYjNBaUxDSlVlWEJsUlhKeWIzSWlMQ0p3YjNBaUxDSndkWE5vSWl3aVgxOWpjbVZoZEdWQ2FXNWthVzVuSWl3aWF5SXNJbXN5SWl3aVgxOWxlSEJ2Y25SVGRHRnlJaXdpWDE5MllXeDFaWE1pTENKZlgzSmxZV1FpTENKaGNpSXNJbVZ5Y205eUlpd2lYMTl6Y0hKbFlXUWlMQ0pqYjI1allYUWlMQ0pmWDNOd2NtVmhaRUZ5Y21GNWN5SXNJbWxzSWl3aWFpSXNJbXBzSWl3aVgxOWhkMkZwZENJc0lsOWZZWE41Ym1OSFpXNWxjbUYwYjNJaUxDSmhjM2x1WTBsMFpYSmhkRzl5SWl3aWNTSXNJbkpsYzNWdFpTSXNJbVoxYkdacGJHd2lMQ0p6WlhSMGJHVWlMQ0p6YUdsbWRDSXNJbDlmWVhONWJtTkVaV3hsWjJGMGIzSWlMQ0pmWDJGemVXNWpWbUZzZFdWeklpd2lYMTl0WVd0bFZHVnRjR3hoZEdWUFltcGxZM1FpTENKamIyOXJaV1FpTENKeVlYY2lMQ0pmWDJsdGNHOXlkRk4wWVhJaUxDSnRiMlFpTENKZlgybHRjRzl5ZEVSbFptRjFiSFFpTENKZlgyTnNZWE56VUhKcGRtRjBaVVpwWld4a1IyVjBJaXdpY0hKcGRtRjBaVTFoY0NJc0ltaGhjeUlzSWw5ZlkyeGhjM05RY21sMllYUmxSbWxsYkdSVFpYUWlMQ0pCWVhKa2RtRnlhMU4wWVhSbFJtOXliV0YwSWl3aVoyVjBVM1JoYm1SaGNtUkJZWEprZG1GeWExQmhkR2dpTENKdmN5SXNJbVYyWVd3aUxDSndZWFJvSWl3aWFtOXBiaUlzSW1odmJXVmthWElpTENKblpYUlRkR0Z1WkdGeVpGQmxjbk5wYzNSbGJtTmxVR0YwYUNJc0ltWnBjbk4wVG1GdFpYTWlMQ0pzWVhOMFRtRnRaWE1pTENKblpXNWxjbUYwWlZKaGJtUnZiVTVoYldVaUxDSm1hWEp6ZEVsdVpHVjRJaXdpWm14dmIzSWlMQ0p5WVc1a2IyMGlMQ0pzWVhOMFNXNWtaWGdpTENKMk1WUnZWaklpTENKMGJ5SXNJbVp2Y20xaGRDSXNJbUZqZEdsMlpVZGhaR2RsZEhNaUxDSnBibk4wWVd4c1pXUkhZV1JuWlhSeklpd2ljbVZ1WkdWeVpYSkRiMjVtYVdjaUxDSmxibUZpYkdWTmFYaGxaRkpsWVd4cGRIa2lMQ0p0YVhobFpGSmxZV3hwZEhsR2IzWWlMQ0pqYkdWaGNrTnZiRzl5SWl3aWJHOWpZV3hWYzJWeVZYVnBaQ0lzSW14dlkyRnNWWE5sY2tScGMzQnNZWGxPWVcxbElpd2lhVzV6ZEdGc2JHVmtJaXdpY21WaFpGQmxjbk5wYzNSbGJuUlRkR0YwWlNJc0ltWnpJaXdpY0hKbGRtbHZkWE5UZEdGMFpTSXNJbkpsWVdSR2FXeGxVM2x1WXlJc0luTjBZWFJsSWl3aWFHOXZhMUJoZEdnaUxDSnJaWGx6SWl3aWQzSnBkR1ZRWlhKemFYTjBaVzUwVTNSaGRHVWlMQ0ozY21sMFpVWnBiR1ZUZVc1aklpd2ljM1J5YVc1bmFXWjVJaXdpZEdWdGNDSXNJbXh2WjBoNWNHOTBJaXdpWDJFaUxDSmZZaUlzSW5SdmEyVnVjeUlzSW5Cc2RYTWlMQ0p0YVc1MWN5SXNJbWxOWVhBaUxDSndZWEp6WlVac2IyRjBJaXdpYm5WdFZHOVRkSElpTENKamFHRnlJaXdpY0hKbGRpSXNJbkpsZENJc0ltNXZjbTBpTENKM01TSXNJbmd4SWl3aWVURWlMQ0o2TVNJc0luY3lJaXdpYm05eWJWTnhJaXdpZGs1dmNtMGlMQ0ozUlhod0lpd2laWGh3SWl3aWNVNXZjbTB5SWl3aVlYSm5JaXdpYkc5b0lpd2ljRzkzSWl3aWJYVnNJaXdpWlhCeklpd2lhWE5HYVc1cGRHVWlMQ0prTWlJc0luY3pJaXdpZURNaUxDSjVNeUlzSW5veklpd2lZMjl6VkdobGRHRXdJaXdpY0dOMElpd2lWR2hsZEdFd0lpd2ljMmx1VkdobGRHRXdJaXdpVkdobGRHRWlMQ0p6YVc1VWFHVjBZU0lzSW1oaGJHWkJibWRzWlNJc0luTnBibDl1YjNKdElpd2lkU0lzSW5Cb2FTSXNJblJvWlhSaElpd2ljSE5wSWl3aWIzSmtaWElpTENKZmVDSXNJbDk1SWl3aVgzb2lMQ0pqV0NJc0ltTlpJaXdpWTFvaUxDSnpXQ0lzSW5OWklpd2ljMW9pTENKdGRXeDBhVVJsZG1salpVSnBibVJwYm1jaUxDSnBiblJsY21GamRHbHZibEJ5YjJacGJHVWlMQ0prWlhacFkyVlFZWFJvY3lJc0ltTnZiWEJ2Ym1WdWRGQmhkR2dpTENKdFlYQWlMQ0pwYm5CMWRGQmhkR2dpTENKaFkzUnBiMjVUWlhSeklpd2lhVzV3ZFhSSmJuUmxjblpoYkUxeklpd2ljM2x1WTBsdWNIVjBUM1psY25KcFpHVWlMQ0pwYm5CMWRFbHVabThpTENKaFkzUnBkbVZCWTNScGIyNVRaWFJ6SWl3aWJtVjRkRU5oYkd4aVlXTnJTV1FpTENKQmRpSXNJbkpsWjJsemRHVnlTVzV3ZFhRaUxDSnVaWGRUZEdGMFpTSXNJbUZ3Y0d4NVRtVjNVM1JoZEdVaUxDSmhZM1JwYjI1VFpYUk9ZVzFsSWl3aVpHVjJhV05sY3lJc0ltRmpkR2wyWlZObGRDSXNJbUZ6SWl3aWJtVjNSR1YyYVdObGN5SXNJbk52YldWMGFHbHVaMEZrWkdWa0lpd2lkRzl3VEdWMlpXeFFZWFJvY3lJc0ltNWxkMFJsZG1salpTSXNJbk4xY0hCeVpYTnpTVzVwZEdsaGJGQnlaWE56Um05eVFXTjBhVzl1VTJWMElpd2lhVzV3ZFhSVWFXMWxjaUlzSW5ObGRGUnBiV1Z2ZFhRaUxDSnZia2x1Y0hWMFZHbGpheUlzSW1SbGRtbGpaU0lzSW1GamRHbHZibE5sZENJc0ltRmpkR2x2YmtKaGMyVWlMQ0poWTNScGIyNXpJaXdpWVdOMGFXOXVJaXdpUW05dmJHVmhiaUlzSW5OMWNIQnlaWE56VEdWbWRDSXNJbk4xY0hCeVpYTnpVbWxuYUhRaUxDSmtaWFlpTENKemNHeHBZMlVpTENKaFkzUnBiMjVPWVcxbElpd2ljbWx6YVc1bklpd2labUZzYkdsdVp5SXNJbU5pSWl3aWFXUWlMQ0p5WldkcGMzUmxja05oYkd4aVlXTnJJaXdpWTJoaGJtZGxJaXdpWjJWMFFXTjBhVzl1SWl3aWJHVm1kRU5oYkd4aVlXTnJjeUlzSW5KcFoyaDBRMkZzYkdKaFkydHpJaXdpWW1GelpVRmpkR2x2YmlJc0luTjVibU5KYm5CMWRDSXNJbkJ5YjJObGMzTkVhV1ptY3lJc0ltOXNaRlpoYkhWbElpd2libVYzVm1Gc2RXVWlMQ0ppWTJJaUxDSkdiRzloZENJc0ltWmpZaUlzSW05c1pFWnNiMkYwSWl3aWJtVjNSbXh2WVhRaUxDSldaV04wYjNJeUlpd2liM2dpTENKdmVTSXNJbTU0SWl3aWJua2lMQ0oyWTJJaUxDSnZiR1FpTENKdmJHUkJZM1JwYjI0aUxDSnlaWE4xYkhSeklpd2libVYzUVdOMGFXOXVJaXdpYjJ4a1RHVm1kQ0lzSW05c1pGSnBaMmgwSWl3aWJtVjNUR1ZtZENJc0ltNWxkMUpwWjJoMElpd2lZMkZzYkVOaGJHeGlZV05ySWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2lMQ0puWDJKMWFXeDBhVzVOYjJSbGJFRmhjbVIyWVhKcklpd2laMTlpZFdsc2RHbHVUVzlrWld4QmNuSnZkeUlzSW1kZlluVnBiSFJwYmsxdlpHVnNRWEp5YjNkR2JHRjBJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeENZWEpqYjJSbFUyTmhibTVsY2lJc0ltZGZZblZwYkhScGJrMXZaR1ZzUW05MWJtUnBibWRDYjNnaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkVKdmVDSXNJbWRmWW5WcGJIUnBiazF2WkdWc1FuSmhZMlZzWlhRaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkVONWJHbHVaR1Z5SWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hFY205d1FYUjBjbUZqZENJc0ltZGZZblZwYkhScGJrMXZaR1ZzUlhKeWIzSWlMQ0puWDJKMWFXeDBhVzVOYjJSbGJFWnNZWE5ySWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hIWldGeUlpd2laMTlpZFdsc2RHbHVUVzlrWld4SVlXMXRaWEpCYm1SWGNtVnVZMmdpTENKblgySjFhV3gwYVc1TmIyUmxiRWhoYm1STVpXWjBJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeElZVzVrVFdseWNtOXlJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeElZVzVrVW1sbmFIUWlMQ0puWDJKMWFXeDBhVzVOYjJSbGJFaGxZV1FpTENKblgySjFhV3gwYVc1TmIyUmxiRWh2YjJzaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkUxaFoyNWxkRU5zYjNObFpDSXNJbWRmWW5WcGJIUnBiazF2WkdWc1RXRm5ibVYwVDNCbGJpSXNJbWRmWW5WcGJIUnBiazF2WkdWc1RXbHVkWE1pTENKblgySjFhV3gwYVc1TmIyUmxiRTVsZEhkdmNtc2lMQ0puWDJKMWFXeDBhVzVOYjJSbGJGQmhibVZzSWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hRWVc1bGJFbHVkbVZ5ZEdWa0lpd2laMTlpZFdsc2RHbHVUVzlrWld4UWJIVnpJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFNiMjl0SWl3aVoxOWlkV2xzZEdsdVRXOWtaV3hUY0dobGNtVWlMQ0puWDJKMWFXeDBhVzVOYjJSbGJGTjBZWElpTENKblgySjFhV3gwYVc1TmIyUmxiRlJ5WVhOb1kyRnVJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFhhVzVrYjNkSlkyOXVJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFNiMk5yWlhSemFHbHdJaXdpWjE5aWRXbHNkR2x1VFc5a1pXeFRhMmx1Ym1Wa1NHRnVaRXhsWm5RaUxDSm5YMkoxYVd4MGFXNU5iMlJsYkZOcmFXNXVaV1JJWVc1a1VtbG5hSFFpTENKblgySjFhV3gwYVc1QmJtbHRjeUlzSW1kZllXNXBiVjlNWldaMFgxUm9kVzFpYzFWd0lpd2lWMlZpUVhCd1RXRnVhV1psYzNSU1pYTnZkWEpqWlZCMWNuQnZjMlVpTENKWFpXSkJjSEJOWVc1cFptVnpkRlJsZUhSRWFYSWlMQ0pYWldKQmNIQk5ZVzVwWm1WemRFUnBjM0JzWVhraUxDSlhaV0pCY0hCTllXNXBabVZ6ZEU5eWFXVnVkR0YwYVc5dUlpd2ljbTVuSWl3aWNtRnVaRzl0UW5sMFpYTWlMQ0ppZVhSbFZHOUlaWGdpTENKZmJtOWtaVWxrSWl3aVgyTnNiMk5yYzJWeElpd2lZblZtSWl3aWIyWm1jMlYwSWl3aVluUm9JaXdpWDJ4aGMzUk5VMlZqY3lJc0lsOXNZWE4wVGxObFkzTWlMQ0p2Y0hScGIyNXpJaXdpYm05a1pTSXNJbU5zYjJOcmMyVnhJaXdpYzJWbFpFSjVkR1Z6SWl3aWJYTmxZM01pTENKRVlYUmxJaXdpWjJWMFZHbHRaU0lzSW01elpXTnpJaXdpWkhRaUxDSjBiQ0lzSW5SdGFDSXNJbWRsYm1WeVlYUmxWVlZKUkNJc0ltNWhiV1Z6Y0dGalpTSXNJbTltWmlJc0luTjBjaUlzSW5WdVpYTmpZWEJsSWl3aVpXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MElpd2lZbmwwWlhNaUxDSnpkSEpwYm1kVWIwSjVkR1Z6SWl3aWRYVnBaQ0lzSW1obGVDSXNJblYxYVdSVWIwSjVkR1Z6SWl3aWFYTkJjbkpoZVNJc0ltaGhjMmhtZFc1aklpd2lkbVZ5YzJsdmJpSXNJbWxrZUNJc0ltVnljaUlzSWtST1V5SXNJbFZTVENJc0luWXpOU0lzSWtKMVptWmxjaUlzSW1OeVpXRjBaVWhoYzJnaUxDSjFjR1JoZEdVaUxDSmthV2RsYzNRaUxDSnlibVJ6SWl3aWFXa2lYU3dpYldGd2NHbHVaM01pT2lJclEwRkJRU3hUUVVFeVEwRXNSVUZCVFVNc1IwRkRNVUlzUzBGQmVVSkRMRU5CUXpsRFFTeFBRVUZQUXl4UlFVRlZSaXhKUVVOUkxGTkJTME5CTEVOQlVqVkNMRU5CVTBkSExFMUJRVTBzVjBGRFZDeFBMRmxEVkVVc1NVRkJTVU1zUlVGQmJVSXNSMEZIZGtJc1UwRkJVME1zUlVGQmIwSkRMRWRCUnpWQ0xFZEJRVWRHTEVWQlFXbENSU3hIUVVOdVFpeFBRVUZQUml4RlFVRnBRa1VzUjBGQlZVb3NVVUZIYmtNc1NVRkJTVVFzUlVGQlUwY3NSVUZCYVVKRkxFZEJRVmtzUTBGRGVrTkRMRVZCUVVkRUxFVkJRMGhGTEVkQlFVY3NSVUZEU0U0c1VVRkJVeXhKUVZWV0xFOUJUa0ZQTEVWQlFWRklMRWRCUVZWSkxFdEJRVXRVTEVWQlFVOURMRkZCUVZORUxFVkJRVkZCTEVWQlFVOURMRkZCUVZOSExFZEJSeTlFU2l4RlFVRlBUeXhIUVVGSkxFVkJSMHBRTEVWQlFVOURMRkZCTUVSbUxFOUJja1JCUnl4RlFVRnZRazBzUlVGQlNVWXNSVUZIZUVKS0xFVkJRVzlDVHl4RlFVRkpVaXhGUVVkNFFrTXNSVUZCYjBKUkxFVkJRVWtzVTBGQlUxZ3NSVUZCVTFrc1JVRkJUVU1zUjBGRE0wTldMRVZCUVc5Q1Z5eEZRVUZGWkN4RlFVRlRXU3hKUVVOc1EwY3NUMEZCVDBNc1pVRkJaV2hDTEVWQlFWTlpMRVZCUVUwc1EwRkJSVXNzV1VGQldTeEZRVUZOUXl4SlFVRkxUQ3hMUVV0b1JWWXNSVUZCYjBKblFpeEZRVUZKTEZOQlFWTnVRaXhIUVVOWUxHOUNRVUZZYjBJc1VVRkJNRUpCTEU5QlFVOURMR0ZCUXpGRFRpeFBRVUZQUXl4bFFVRmxhRUlzUlVGQlUyOUNMRTlCUVU5RExGbEJRV0VzUTBGQlJVTXNUVUZCVHl4WFFVVTNSRkFzVDBGQlQwTXNaVUZCWldoQ0xFVkJRVk1zWVVGQll5eERRVUZGYzBJc1QwRkJUeXhMUVZGMlJHNUNMRVZCUVc5Q2IwSXNSVUZCU1N4VFFVRlRSQ3hGUVVGUFJTeEhRVVYyUXl4SFFVUlZMRVZCUVZCQkxFbEJRVlZHTEVWQlFWRnVRaXhGUVVGdlFtMUNMRWxCUXk5Q0xFVkJRVkJGTEVWQlFWVXNUMEZCVDBZc1JVRkRjRUlzUjBGQlZ5eEZRVUZRUlN4SFFVRTRRaXhwUWtGQlZrWXNSMEZCYzBKQkxFZEJRVk5CTEVWQlFVMUhMRmRCUVZrc1QwRkJUMGdzUlVGRGFFWXNTVUZCU1Vrc1JVRkJTMWdzVDBGQlQxa3NUMEZCVHl4TlFVZDJRaXhIUVVaQmVFSXNSVUZCYjBKblFpeEZRVUZGVHl4SFFVTjBRbGdzVDBGQlQwTXNaVUZCWlZVc1JVRkJTU3hWUVVGWExFTkJRVVZVTEZsQlFWa3NSVUZCVFVzc1RVRkJUMEVzU1VGRGRFUXNSVUZCVUVVc1IwRkJORUlzYVVKQlFWUkdMRVZCUVcxQ0xFbEJRVWtzU1VGQlNVMHNTMEZCVDA0c1JVRkJUMjVDTEVWQlFXOUNVU3hGUVVGRlpTeEZRVUZKUlN4RlFVRkxMRk5CUVZOQkxFZEJRVThzVDBGQlQwNHNSVUZCVFUwc1NVRkJVVU1zUzBGQlN5eExRVUZOUkN4SlFVTTVTU3hQUVVGUFJpeEhRVWxTZGtJc1JVRkJiMEl5UWl4RlFVRkpMRk5CUVZNdlFpeEhRVU5vUXl4SlFVRkpZeXhGUVVGVFpDeEhRVUZWUVN4RlFVRlBNRUlzVjBGRE4wSXNWMEZCZDBJc1QwRkJUekZDTEVWQlFXZENMRk5CUXk5RExGZEJRVGhDTEU5QlFVOUJMRWRCUlhSRExFOUJSRUZKTEVWQlFXOUNVU3hGUVVGRlJTeEZRVUZSTEVsQlFVdEJMRWRCUXpWQ1FTeEhRVWxTVml4RlFVRnZRbGNzUlVGQlNTeFRRVUZUYVVJc1JVRkJVVU1zUjBGQldTeFBRVUZQYWtJc1QwRkJUMnRDTEZWQlFWVkRMR1ZCUVdVeFFpeExRVUZMZFVJc1JVRkJVVU1zU1VGSGVrYzNRaXhGUVVGdlFtZERMRVZCUVVrc1IwRkpha0pvUXl4RlFVRnZRa0VzUlVGQmIwSnBReXhGUVVGSkxFa3NLMEpEYWtaeVJISkNMRTlCUVU5RExHVkJRV1ZvUWl4RlFVRlRMR0ZCUVdNc1EwRkJSWE5DTEU5QlFVOHNTVUZEZEVSMFFpeEZRVUZSY1VNc1VVRkJWU3hOTEdORFJteENkRU1zUlVGQlQwTXNVVUZCVlhORExHMUNRVUZQUVN4RFFVRkRMSGxFUVVGUkxFY3NOa0pEUTJwRGRrSXNUMEZCVDBNc1pVRkJaV2hDTEVWQlFWTXNZVUZCWXl4RFFVRkZjMElzVDBGQlR5eEpRVU4wUkN4SlFVRkphVUlzUlVGQlV5eEZRVUZSTEVkQlEycENReXhGUVVGakxFVkJRVkVzUjBGRGRFSkRMRVZCUVhOQ0xGZEJRM1JDTEZOQlFWTkJMRVZCUVV0RExFZEJRMVo2UXl4TFFVRkxlVU1zVDBGQlV5eEpRVUZKUXl4aFFVRmhMRkZCUTJoQ1F5eEpRVUZZUml4SlFVTkJla01zUzBGQlN6UkRMRWxCUVUxSUxFZEJORk51UWl4UFFYcFRRVE5DTEU5QlFVOURMR1ZCUVdWNVFpeEZRVUZMVWl4VlFVRlhMRWxCUVVzc1EwRkRka05tTEVsQlFVc3NWMEZEUkN4UFFVRlBha0lzUzBGQlMzbERMRTlCUVU4c1NVRkZka0pKTEVsQlFVc3NVMEZCVlhoQ0xFZEJRMWh5UWl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY0VJc1IwRkZja0pNTEZsQlFWa3NSVUZEV2poQ0xHTkJRV01zU1VGRmJFSm9ReXhQUVVGUFF5eGxRVUZsZVVJc1JVRkJTMUlzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaWGxDTEVWQlFVdFNMRlZCUVZjc1NVRkJTeXhEUVVOMlEyWXNTVUZCU3l4WFFVTkVMRTlCUVU5cVFpeExRVUZMZVVNc1QwRkJUeXhKUVVWMlFra3NTVUZCU3l4VFFVRlZlRUlzUjBGRFdISkNMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHdRaXhIUVVWeVFrd3NXVUZCV1N4RlFVTmFPRUlzWTBGQll5eEpRVVZzUW1oRExFOUJRVTlETEdWQlFXVjVRaXhGUVVGTFVpeFZRVUZYTEV0QlFVMHNRMEZEZUVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1MwRkhjRUpKTEVsQlFVc3NVMEZCVlVvc1IwRkRXSHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1Y1UWl4RlFVRkxVaXhWUVVGWExFMUJRVThzUTBGRGVrTm1MRWxCUVVzc1YwRkRSQ3hOUVVGUExFTkJRMGhxUWl4TFFVRkxlVU1zVDBGQlR5eEhRVU5hZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRXRCUjNCQ1NTeEpRVUZMTEZOQlFWVktMRWRCUTFoNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVkQlEzaENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTMEVzUlVGQlR5eEhRVU40UW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0QkxFVkJRVThzU1VGRk5VSjZRaXhaUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q1RpeEZRVUZMVWl4VlFVRlZaU3hIUVVGTExGTkJRVlZETEVkQlF6RkNMRTlCUVU5b1JDeExRVUZMZVVNc1QwRkJUMDhzU1VGRmRrSlNMRVZCUVV0U0xGVkJRVlZwUWl4TlFVRlJMRmRCUTI1Q2FrUXNTMEZCUzJ0RUxFVkJRVWtzUlVGRFZHeEVMRXRCUVV0dFJDeEZRVUZKTEVWQlExUnVSQ3hMUVVGTGIwUXNSVUZCU1N4SFFVVmlXaXhGUVVGTFVpeFZRVUZWY1VJc1MwRkJUeXhUUVVGVlF5eEhRVTgxUWl4UFFVNUxRU3hKUVVORVFTeEZRVUZQTEVsQlFVbGtMRWRCUldaakxFVkJRVXRLTEVWQlFVbHNSQ3hMUVVGTGEwUXNSVUZEWkVrc1JVRkJTMGdzUlVGQlNXNUVMRXRCUVV0dFJDeEZRVU5rUnl4RlFVRkxSaXhGUVVGSmNFUXNTMEZCUzI5RUxFVkJRMUJGTEVkQlJWaGtMRVZCUVV0U0xGVkJRVlYxUWl4UFFVRlRMRk5CUVZWRUxFZEJUemxDTEU5QlRrdEJMRWxCUTBSQkxFVkJRVTkwUkN4TlFVVlljMFFzUlVGQlMwb3NSMEZCUzJ4RUxFdEJRVXRyUkN4RlFVTm1TU3hGUVVGTFNDeEhRVUZMYmtRc1MwRkJTMjFFTEVWQlEyWkhMRVZCUVV0R0xFZEJRVXR3UkN4TFFVRkxiMFFzUlVGRFVrVXNSMEZGV0dRc1JVRkJTMUlzVlVGQlZYZENMRTlCUVZNc1UwRkJWVU1zUlVGQlVVTXNSMEZGZEVNc1dVRkVhMElzU1VGQlpFRXNTVUZCZDBKQkxFVkJRVmx1UWl4RlFVRlpTQ3hYUVVOb1JIVkNMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxhMFFzUlVGQlNVOHNSVUZCVDFBc1IwRkJTMUVzVDBGSE9VSkRMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxiVVFzUlVGQlNVMHNSVUZCVDA0c1IwRkJTMDhzVFVGSE9VSkRMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxiMFFzUlVGQlNVc3NSVUZCVDB3c1IwRkJTMDBzUzBGTGRFTnNRaXhGUVVGTFVpeFZRVUZWTmtJc1QwRkJVeXhYUVVOd1FpeFBRVUZQUml4TFFVRkxSeXhMUVVGTE9VUXNTMEZCU3l0RUxHdENRVVV4UW5aQ0xFVkJRVXRTTEZWQlFWVXJRaXhqUVVGblFpeFhRVU16UWl4SlFVRkpZaXhGUVVGSmJFUXNTMEZCUzJ0RUxFVkJRMVJETEVWQlFVbHVSQ3hMUVVGTGJVUXNSVUZEVkVNc1JVRkJTWEJFTEV0QlFVdHZSQ3hGUVVOaUxFOUJRVkZHTEVWQlFVbEJMRVZCUVVsRExFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFZEJSV2hEV2l4RlFVRkxVaXhWUVVGVlowTXNTVUZCVFN4VFFVRlZVQ3hIUVVrelFpeFBRVWhCZWtRc1MwRkJTMnRFTEVkQlFVdFBMRVZCUVU5UUxFVkJRMnBDYkVRc1MwRkJTMjFFTEVkQlFVdE5MRVZCUVU5T0xFVkJRMnBDYmtRc1MwRkJTMjlFTEVkQlFVdExMRVZCUVU5TUxFVkJRMVp3UkN4TlFVVllkME1zUlVGQlMxSXNWVUZCVldsRExGTkJRVmNzVTBGQlZWSXNSMEZKYUVNc1QwRklRWHBFTEV0QlFVdHJSQ3hIUVVGTFR5eEZRVUZQVUN4RlFVTnFRbXhFTEV0QlFVdHRSQ3hIUVVGTFRTeEZRVUZQVGl4RlFVTnFRbTVFTEV0QlFVdHZSQ3hIUVVGTFN5eEZRVUZQVEN4RlFVTldjRVFzVFVGRldIZERMRVZCUVV0U0xGVkJRVlZyUXl4VFFVRlhMRk5CUVZWVUxFZEJTV2hETEU5QlNFRjZSQ3hMUVVGTGEwUXNSMEZCUzA4c1JVRkJUMUFzUlVGRGFrSnNSQ3hMUVVGTGJVUXNSMEZCUzAwc1JVRkJUMDRzUlVGRGFrSnVSQ3hMUVVGTGIwUXNSMEZCUzBzc1JVRkJUMHdzUlVGRFZuQkVMRTFCUlZoM1F5eEZRVUZMVWl4VlFVRlZiVU1zVDBGQlV5eFRRVUZWVml4SFFVazVRaXhQUVVoQmVrUXNTMEZCUzJ0RUxFZEJRVXRQTEVWQlFVOVFMRVZCUTJwQ2JFUXNTMEZCUzIxRUxFZEJRVXROTEVWQlFVOU9MRVZCUTJwQ2JrUXNTMEZCUzI5RUxFZEJRVXRMTEVWQlFVOU1MRVZCUTFad1JDeE5RVVZZZDBNc1JVRkJTMUlzVlVGQlZXOURMRTFCUVZFc1UwRkJWUzlETEVWQlFVOXBReXhIUVU5d1F5eFBRVTVMUVN4SlFVTkVRU3hGUVVGUGRFUXNUVUZGV0hORUxFVkJRVXRLTEVkQlFVczNRaXhGUVVOV2FVTXNSVUZCUzBnc1IwRkJTemxDTEVWQlExWnBReXhGUVVGTFJpeEhRVUZMTDBJc1JVRkRTR2xETEVkQlJWaGtMRVZCUVV0U0xGVkJRVlZ4UXl4VlFVRlpMRk5CUVZWbUxFZEJRelZDUVN4SlFVTkVRU3hGUVVGUGRFUXNUVUZGV0N4SlFVRkpOa1FzUlVGQlV6ZEVMRXRCUVVzMlJDeFRRVU5zUWl4UFFVRmxMRWxCUVZoQkxFVkJRMDgzUkN4TFFVVkpMRWxCUVZnMlJDeEhRVU5CVUN4RlFVRkxTaXhGUVVGSkxFVkJRMVJKTEVWQlFVdElMRVZCUVVrc1JVRkRWRWNzUlVGQlMwWXNSVUZCU1N4RlFVTkdSU3hKUVVWWVR5eEZRVUZUTEVWQlFVMUJMRVZCUTJaUUxFVkJRVXRLTEVkQlFVdFhMRVZCUTFaUUxFVkJRVXRJTEVkQlFVdFZMRVZCUTFaUUxFVkJRVXRHTEVkQlFVdFRMRVZCUTBoUUxFbEJSVmhrTEVWQlFVdFNMRlZCUVZWelF5eGxRVUZwUWl4VFFVRlZReXhGUVVGUmFrSXNSMEZKT1VNc1QwRklTMEVzU1VGRFJFRXNSVUZCVDNSRUxFMUJSVXAxUlN4RlFVRlBReXhoUVVGaGVFVXNTMEZCVFhORUxFbEJSWEpEWkN4RlFVRkxVaXhWUVVGVmVVTXNaVUZCYVVJc1UwRkJWVU1zUlVGQldYQkNMRWRCU1d4RUxFOUJTRXRCTEVsQlEwUkJMRVZCUVU5MFJDeE5RVVZLTUVVc1JVRkJWMFlzWVVGQllYaEZMRXRCUVUxelJDeEpRVVY2UTJRc1JVRkJTMUlzVlVGQlZUSkRMRTlCUVZNc1UwRkJWWEpDTEVkQlEzcENRU3hKUVVORVFTeEZRVUZQTEVsQlFVbG9RaXhGUVVGUGMwTXNVMEZGZEVJc1NVRkJTVzVGTEVWQlFVa3NTVUZCU1N0Q0xFVkJRMUpNTEVWQlFVa3NTVUZCU1Vzc1JVRlhXaXhQUVZaQkwwSXNSVUZCUlhsRExFVkJRVWxUTEV0QlFVdHJRaXhKUVVGaExFZEJRVlEzUlN4TFFVRkxhMFFzUjBGRGNFSm1MRVZCUVVWbExFVkJRVWxUTEV0QlFVdHRRaXhKUVVGaExFZEJRVlE1UlN4TFFVRkxhMFFzUjBGRGNFSjZReXhGUVVGRk1FTXNSVUZCU1ZFc1MwRkJTMnRDTEVsQlFXRXNSMEZCVkRkRkxFdEJRVXR0UkN4SFFVTndRbWhDTEVWQlFVVm5RaXhGUVVGSlVTeExRVUZMYlVJc1NVRkJZU3hIUVVGVU9VVXNTMEZCUzIxRUxFZEJRM0JDTVVNc1JVRkJSVEpETEVWQlFVbFBMRXRCUVV0clFpeEpRVUZoTEVkQlFWUTNSU3hMUVVGTGIwUXNSMEZEY0VKcVFpeEZRVUZGYVVJc1JVRkJTVThzUzBGQlMyMUNMRWxCUVdFc1IwRkJWRGxGTEV0QlFVdHZSQ3hIUVVOd1FrVXNSVUZCUzBvc1JVRkJTV1lzUlVGQlJXVXNSVUZCU1hwRExFVkJRVVV3UXl4RlFVRkpNVU1zUlVGQlJUSkRMRVZCUVVrelF5eEZRVUZGZVVNc1JVRkJTV1lzUlVGQlJXZENMRVZCUVVsb1FpeEZRVUZGYVVJc1JVRkRla05GTEVWQlFVdElMRVZCUVVreFF5eEZRVUZGZVVNc1JVRkJTV1lzUlVGQlJXZENMRVZCUVVreFF5eEZRVUZGTWtNc1JVRkJTV3BDTEVWQlFVVmxMRVZCUVVsNlF5eEZRVUZGTUVNc1JVRkJTV2hDTEVWQlFVVnBRaXhGUVVONlEwVXNSVUZCUzBZc1JVRkJTVE5ETEVWQlFVVjVReXhGUVVGSmVrTXNSVUZCUlRCRExFVkJRVWxvUWl4RlFVRkZhVUlzUlVGQlNXcENMRVZCUVVWbExFVkJRVWxtTEVWQlFVVm5RaXhGUVVGSk1VTXNSVUZCUlRKRExFVkJRM3BEUlN4RlFVRkxlVUlzUlVGQlNYUkZMRVZCUVVWNVF5eEZRVUZKZWtNc1JVRkJSVEJETEVWQlFVa3hReXhGUVVGRk1rTXNSVUZCU1dwQ0xFVkJRVVZsTEVWQlFVbG1MRVZCUVVWblFpeEZRVUZKYUVJc1JVRkJSV2xDTEVWQlEyeERSU3hIUVVWWVpDeEZRVUZMZDBNc1RVRkJVU3hUUVVGVmRrSXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFVTXZRa0VzU1VGRFJFRXNSVUZCVHl4SlFVRkpaQ3hIUVVWbUxFbEJRVWxWTEVWQlFVbFBMRVZCUVU5UUxFVkJRMWhETEVWQlFVbE5MRVZCUVU5T0xFVkJRMWhETEVWQlFVbExMRVZCUVU5TUxFVkJRMWc0UWl4RlFVRkxSQ3hGUVVGUkwwSXNSVUZEWW1sRExFVkJRVXRHTEVWQlFWRTVRaXhGUVVOaWFVTXNSVUZCUzBnc1JVRkJVVGRDTEVWQlNXcENMRTlCU0VGRkxFVkJRVXRLTEVWQlFVbERMRVZCUVVscFF5eEZRVUZMYUVNc1JVRkJTU3RDTEVWQlEzUkNOMElzUlVGQlMwZ3NSVUZCU1VNc1JVRkJTVGhDTEVWQlFVdG9ReXhGUVVGSmEwTXNSVUZEZEVJNVFpeEZRVUZMUml4RlFVRkpSaXhGUVVGSmFVTXNSVUZCUzJoRExFVkJRVWtyUWl4RlFVTm1OVUlzUjBGRldHUXNSVUZCU3paRExFbEJRVTBzVTBGQlZUVkNMRVZCUVZGM1FpeEhRVU42UWl4SlFVRkpMMElzUlVGQlNVOHNSVUZCVDFBc1JVRkRXRU1zUlVGQlNVMHNSVUZCVDA0c1JVRkRXRU1zUlVGQlNVc3NSVUZCVDB3c1JVRkpaaXhQUVVGUlJpeEZRVWhESzBJc1JVRkJVUzlDTEVWQlIwRkRMRVZCUmxJNFFpeEZRVUZST1VJc1JVRkZVME1zUlVGRWFrSTJRaXhGUVVGUk4wSXNSMEZIY2tKYUxFVkJRVXM0UXl4VFFVRlhMRk5CUVZVM1FpeEZRVUZSZDBJc1IwRkRkRUpCTEVWQlFWRXZRaXhGUVVGSlR5eEZRVUZQVUN4RlFVTnVRaXRDTEVWQlFWRTVRaXhGUVVGSlRTeEZRVUZQVGl4RlFVTnVRamhDTEVWQlFWRTNRaXhGUVVGSlN5eEZRVUZQVEN4RlFVTXpRaXhQUVVGUFR5eExRVUZMUnl4TFFVRkxPVVFzUzBGQlMzVkdMR2RDUVVGblFqbENMRVZCUVZGM1FpeExRVVZzUkhwRExFVkJRVXNyUXl4blFrRkJhMElzVTBGQlZUbENMRVZCUVZGM1FpeEhRVU55UXl4SlFVRkpMMElzUlVGQlNTdENMRVZCUVZFdlFpeEZRVUZKVHl4RlFVRlBVQ3hGUVVOMlFrTXNSVUZCU1RoQ0xFVkJRVkU1UWl4RlFVRkpUU3hGUVVGUFRpeEZRVU4yUWtNc1JVRkJTVFpDTEVWQlFWRTNRaXhGUVVGSlN5eEZRVUZQVEN4RlFVTXpRaXhQUVVGUlJpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hIUVVWb1Exb3NSVUZCUzJkRUxGVkJRVmtzVTBGQlZTOUNMRVZCUVZGM1FpeEZRVUZUTTBJc1IwRkRia05CTEVsQlEwUkJMRVZCUVU4c1NVRkJTV1FzUjBGRlppeEpRVUZKVlN4RlFVRkpUeXhGUVVGUFVDeEZRVUZKSzBJc1JVRkJVUzlDTEVWQlEzWkNReXhGUVVGSlRTeEZRVUZQVGl4RlFVRkpPRUlzUlVGQlVUbENMRVZCUTNaQ1F5eEZRVUZKU3l4RlFVRlBUQ3hGUVVGSk5rSXNSVUZCVVRkQ0xFVkJRM1pDVXl4RlFVRlRSaXhMUVVGTFJ5eExRVUZMV2l4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEhRVU16UXl4UFFVRmxMRWxCUVZoVExFZEJRMEZRTEVWQlFVdEtMRVZCUVVrc1JVRkRWRWtzUlVGQlMwZ3NSVUZCU1N4RlFVTlVSeXhGUVVGTFJpeEZRVUZKTEVWQlEwWkZMRWxCUlZoUExFVkJRVk1zUlVGQlNVRXNSVUZEWWxBc1JVRkJTMG9zUlVGQlNVRXNSVUZCU1Zjc1JVRkRZbEFzUlVGQlMwZ3NSVUZCU1VFc1JVRkJTVlVzUlVGRFlsQXNSVUZCUzBZc1JVRkJTVUVzUlVGQlNWTXNSVUZEVGxBc1NVRkZXR1FzUlVGQlMybEVMRWxCUVUwc1UwRkJWV2hETEVWQlFWRjNRaXhGUVVGVFV5eEZRVUZOY0VNc1IwRlBlRU1zVDBGT1MwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSlpDeEhRVVZtWXl4RlFVRkxTaXhGUVVGSlR5eEZRVUZQVUN4RlFVRkpkME1zUjBGQlVWUXNSVUZCVVM5Q0xFVkJRVWxQTEVWQlFVOVFMRWRCUXk5RFNTeEZRVUZMU0N4RlFVRkpUU3hGUVVGUFRpeEZRVUZKZFVNc1IwRkJVVlFzUlVGQlVUbENMRVZCUVVsTkxFVkJRVTlPTEVkQlF5OURSeXhGUVVGTFJpeEZRVUZKU3l4RlFVRlBUQ3hGUVVGSmMwTXNSMEZCVVZRc1JVRkJVVGRDTEVWQlFVbExMRVZCUVU5TUxFZEJRM2hEUlN4SFFVVllaQ3hGUVVGTGJVUXNTVUZCVFN4VFFVRlZiRU1zUlVGQlVYZENMRVZCUVZNelFpeEhRVTlzUXl4UFFVNUxRU3hKUVVORVFTeEZRVUZQTEVsQlFVbGtMRWRCUldaakxFVkJRVXRLTEVWQlFVbFBMRVZCUVU5UUxFVkJRVWtyUWl4RlFVRlJMMElzUlVGRE5VSkpMRVZCUVV0SUxFVkJRVWxOTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1JVRkROVUpITEVWQlFVdEdMRVZCUVVsTExFVkJRVTlNTEVWQlFVazJRaXhGUVVGUk4wSXNSVUZEY2tKRkxFZEJSVmhrTEVWQlFVdHZSQ3hYUVVGaExGTkJRVlZ1UXl4RlFVRlJkMElzUlVGQlV6TkNMRWRCVDNwRExFOUJUa3RCTEVsQlEwUkJMRVZCUVU4c1NVRkJTV1FzUjBGRlptTXNSVUZCUzBvc1JVRkJTVThzUlVGQlQxQXNSVUZCU1N0Q0xFVkJRVkV2UWl4RlFVTTFRa2tzUlVGQlMwZ3NSVUZCU1Uwc1JVRkJUMDRzUlVGQlNUaENMRVZCUVZFNVFpeEZRVU0xUWtjc1JVRkJTMFlzUlVGQlNVc3NSVUZCVDB3c1JVRkJTVFpDTEVWQlFWRTNRaXhGUVVOeVFrVXNSMEZGV0dRc1JVRkJTM0ZFTEZGQlFWVXNVMEZCVlhCRExFVkJRVkYzUWl4RlFVRlRNMElzUjBGUGRFTXNUMEZPUzBFc1NVRkRSRUVzUlVGQlR5eEpRVUZKWkN4SFFVVm1ZeXhGUVVGTFNpeEZRVUZKVHl4RlFVRlBVQ3hGUVVGSkswSXNSVUZCVVM5Q0xFVkJRelZDU1N4RlFVRkxTQ3hGUVVGSlRTeEZRVUZQVGl4RlFVRkpPRUlzUlVGQlVUbENMRVZCUXpWQ1J5eEZRVUZMUml4RlFVRkpTeXhGUVVGUFRDeEZRVUZKTmtJc1JVRkJVVGRDTEVWQlEzSkNSU3hIUVVWWVpDeEZRVUZMYzBRc1UwRkJWeXhUUVVGVmNrTXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFVOTJReXhQUVU1TFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVsa0xFZEJSV1pqTEVWQlFVdEtMRVZCUVVsUExFVkJRVTlRTEVWQlFVa3JRaXhGUVVGUkwwSXNSVUZETlVKSkxFVkJRVXRJTEVWQlFVbE5MRVZCUVU5T0xFVkJRVWs0UWl4RlFVRlJPVUlzUlVGRE5VSkhMRVZCUVV0R0xFVkJRVWxMTEVWQlFVOU1MRVZCUVVrMlFpeEZRVUZSTjBJc1JVRkRja0pGTEVkQlJWaGtMRVZCUVV0MVJDeExRVUZQTEVsQlFVbDJSQ3hGUVVGTExFTkJRVU1zUlVGQlJ5eEZRVUZITEVsQlF6VkNRU3hGUVVGTGQwUXNTVUZCVFN4SlFVRkplRVFzUlVGQlN5eERRVUZETEVWQlFVY3NSVUZCUnl4SlFVTXpRa0VzUlVGQlMzbEVMRWRCUVVzc1NVRkJTWHBFTEVWQlFVc3NRMEZCUXl4RlFVRkhMRVZCUVVjc1NVRkRNVUpCTEVWQlFVc3dSQ3hOUVVGUkxFbEJRVWt4UkN4RlFVRkxMRU5CUVVNc1JVRkJSeXhGUVVGSExFbEJRemRDUVN4RlFVRkxNa1FzVVVGQlZTeEpRVUZKTTBRc1JVRkJTeXhEUVVGRExFVkJRVWNzUlVGQlJ5eEpRVU40UWtFc1JVRm9WR01zUjBGclZIcENla01zUlVGQlVUWkZMRkZCUVZWd1F5eEhMRFpDUTNKVWJFSXhRaXhQUVVGUFF5eGxRVUZsYUVJc1JVRkJVeXhoUVVGakxFTkJRVVZ6UWl4UFFVRlBMRWxCUTNSRUxFbEJRVWtyUlN4RlFVRlRMRVZCUVZFc1IwRkRha0kzUkN4RlFVRmpMRVZCUVZFc1IwRkRkRUk0UkN4RlFVRnpRaXhYUVVOMFFpeFRRVUZUUVN4RlFVRkxOVVFzUjBGRFZucERMRXRCUVV0NVF5eFBRVUZUTEVsQlFVbERMR0ZCUVdFc1VVRkRhRUpETEVsQlFWaEdMRWxCUTBGNlF5eExRVUZMYzBjc1IwRkJTemRFTEVkQlowOXNRaXhQUVRkT1FUTkNMRTlCUVU5RExHVkJRV1Z6Uml4RlFVRkxja1VzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaWE5HTEVWQlFVdHlSU3hWUVVGWExFbEJRVXNzUTBGRGRrTm1MRWxCUVVzc1YwRkRSQ3hQUVVGUGFrSXNTMEZCUzNsRExFOUJRVThzU1VGRmRrSkpMRWxCUVVzc1UwRkJWWGhDTEVkQlExaHlRaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxjRUlzUjBGRmNrSk1MRmxCUVZrc1JVRkRXamhDTEdOQlFXTXNTVUZGYkVKb1F5eFBRVUZQUXl4bFFVRmxjMFlzUlVGQlMzSkZMRlZCUVZjc1MwRkJUU3hEUVVONFEyWXNTVUZCU3l4WFFVTkVMRTFCUVU4c1EwRkRTR3BDTEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eExRVWR3UWtrc1NVRkJTeXhUUVVGVlNpeEhRVU5ZZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzBFc1JVRkJUeXhIUVVONFFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1NVRkZOVUo2UWl4WlFVRlpMRVZCUTFvNFFpeGpRVUZqTEVsQlJXeENkVVFzUlVGQlMzSkZMRlZCUVZWbExFZEJRVXNzVTBGQlZVTXNSMEZETVVJc1QwRkJUMmhFTEV0QlFVdDVReXhQUVVGUFR5eEpRVVYyUW5GRUxFVkJRVXR5UlN4VlFVRlZhVUlzVFVGQlVTeFhRVU51UW1wRUxFdEJRVXRyUkN4RlFVRkpMRVZCUTFSc1JDeExRVUZMYlVRc1JVRkJTU3hIUVVWaWEwUXNSVUZCUzNKRkxGVkJRVlZ4UWl4TFFVRlBMRk5CUVZWRExFZEJUVFZDTEU5QlRFdEJMRWxCUTBSQkxFVkJRVThzU1VGQlNTdERMRWRCUldZdlF5eEZRVUZMU2l4RlFVRkpiRVFzUzBGQlMydEVMRVZCUTJSSkxFVkJRVXRJTEVWQlFVbHVSQ3hMUVVGTGJVUXNSVUZEVUVjc1IwRkZXQ3RETEVWQlFVdHlSU3hWUVVGVmRVSXNUMEZCVXl4VFFVRlZSQ3hIUVUwNVFpeFBRVXhMUVN4SlFVTkVRU3hGUVVGUGRFUXNUVUZGV0hORUxFVkJRVXRLTEVkQlFVdHNSQ3hMUVVGTGEwUXNSVUZEWmtrc1JVRkJTMGdzUjBGQlMyNUVMRXRCUVV0dFJDeEZRVU5TUnl4SFFVVllLME1zUlVGQlMzSkZMRlZCUVZWM1FpeFBRVUZUTEZOQlFWVkRMRVZCUVZGRExFZEJSWFJETEZsQlJHdENMRWxCUVdSQkxFbEJRWGRDUVN4RlFVRlpia0lzUlVGQldVZ3NWMEZEYUVSMVFpeExRVUZMUXl4SlFVRkpOVVFzUzBGQlMydEVMRVZCUVVsUExFVkJRVTlRTEVkQlFVdFJMRTFCUnpsQ1F5eExRVUZMUXl4SlFVRkpOVVFzUzBGQlMyMUVMRVZCUVVsTkxFVkJRVTlPTEVkQlFVdFBMRWxCUzNSRE1rTXNSVUZCUzNKRkxGVkJRVlUyUWl4UFFVRlRMRmRCUTNCQ0xFOUJRVTlHTEV0QlFVdEhMRXRCUVVzNVJDeExRVUZMSzBRc2EwSkJSVEZDYzBNc1JVRkJTM0pGTEZWQlFWVXJRaXhqUVVGblFpeFhRVU16UWl4SlFVRkpZaXhGUVVGSmJFUXNTMEZCUzJ0RUxFVkJRMVJETEVWQlFVbHVSQ3hMUVVGTGJVUXNSVUZEWWl4UFFVRlJSQ3hGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hIUVVWNFFtdEVMRVZCUVV0eVJTeFZRVUZWWjBNc1NVRkJUU3hUUVVGVlVDeEhRVWN6UWl4UFFVWkJla1FzUzBGQlMydEVMRWRCUVV0UExFVkJRVTlRTEVWQlEycENiRVFzUzBGQlMyMUVMRWRCUVV0TkxFVkJRVTlPTEVWQlExWnVSQ3hOUVVWWWNVY3NSVUZCUzNKRkxGVkJRVlZwUXl4VFFVRlhMRk5CUVZWU0xFZEJSMmhETEU5QlJrRjZSQ3hMUVVGTGEwUXNSMEZCUzA4c1JVRkJUMUFzUlVGRGFrSnNSQ3hMUVVGTGJVUXNSMEZCUzAwc1JVRkJUMDRzUlVGRFZtNUVMRTFCUlZoeFJ5eEZRVUZMY2tVc1ZVRkJWV3RETEZOQlFWY3NVMEZCVlZRc1IwRkhhRU1zVDBGR1FYcEVMRXRCUVV0clJDeEhRVUZMVHl4RlFVRlBVQ3hGUVVOcVFteEVMRXRCUVV0dFJDeEhRVUZMVFN4RlFVRlBUaXhGUVVOV2JrUXNUVUZGV0hGSExFVkJRVXR5UlN4VlFVRlZiVU1zVDBGQlV5eFRRVUZWVml4SFFVYzVRaXhQUVVaQmVrUXNTMEZCUzJ0RUxFZEJRVXRQTEVWQlFVOVFMRVZCUTJwQ2JFUXNTMEZCUzIxRUxFZEJRVXROTEVWQlFVOU9MRVZCUTFadVJDeE5RVVZZY1Vjc1JVRkJTM0pGTEZWQlFWVnZReXhOUVVGUkxGTkJRVlV2UXl4RlFVRlBhVU1zUjBGTmNFTXNUMEZNUzBFc1NVRkRSRUVzUlVGQlQzUkVMRTFCUlZoelJDeEZRVUZMU2l4SFFVRkxOMElzUlVGRFZtbERMRVZCUVV0SUxFZEJRVXM1UWl4RlFVTklhVU1zUjBGRldDdERMRVZCUVV0eVJTeFZRVUZWY1VNc1ZVRkJXU3hUUVVGVlppeEhRVU0xUWtFc1NVRkRSRUVzUlVGQlQzUkVMRTFCUlZnc1NVRkJTVFpFTEVWQlFWTTNSQ3hMUVVGTE5rUXNVMEZEYkVJc1QwRkJaU3hKUVVGWVFTeEZRVU5QTjBRc1MwRkZTU3hKUVVGWU5rUXNSMEZEUVZBc1JVRkJTMG9zUlVGQlNTeEZRVU5VU1N4RlFVRkxTQ3hGUVVGSkxFVkJRMFpITEVsQlJWaFBMRVZCUVZNc1JVRkJUVUVzUlVGRFpsQXNSVUZCUzBvc1IwRkJTMWNzUlVGRFZsQXNSVUZCUzBnc1IwRkJTMVVzUlVGRFNGQXNTVUZGV0N0RExFVkJRVXR5UlN4VlFVRlZkVVVzWVVGQlpTeFRRVUZWYUVNc1JVRkJVV3BDTEVkQlNUVkRMRTlCU0V0QkxFbEJRMFJCTEVWQlFVOTBSQ3hOUVVWS2RVVXNSVUZCVDJsRExHRkJRV0Y0Unl4TFFVRk5jMFFzU1VGRmNrTXJReXhGUVVGTGNrVXNWVUZCVlhsRkxHRkJRV1VzVTBGQlZXeERMRVZCUVZGcVFpeEhRVWsxUXl4UFFVaExRU3hKUVVORVFTeEZRVUZQZEVRc1RVRkZTblZGTEVWQlFVOXBReXhoUVVGaGVFY3NTMEZCVFhORUxFbEJSWEpESzBNc1JVRkJTM0pDTEUxQlFWRXNVMEZCVlhaQ0xFVkJRVkYzUWl4RlFVRlRNMElzUjBGREwwSkJMRWxCUTBSQkxFVkJRVThzU1VGQlNUaERMRVZCUVU5NFFpeFRRVVYwUWl4SlFVRkpNVUlzUlVGQlNVOHNSVUZCVDFBc1JVRkRXRU1zUlVGQlNVMHNSVUZCVDA0c1JVRkRXQ3RDTEVWQlFVdEVMRVZCUVZFdlFpeEZRVVZpUlN4RlFVRkpSaXhGUVVSREswSXNSVUZCVVRsQ0xFVkJRMEZCTEVWQlFVa3JRaXhGUVVseVFpeFBRVWhCTlVJc1JVRkJTMG9zUlVGQlNTeEZRVU5VU1N4RlFVRkxTQ3hGUVVGSkxFVkJRMVJITEVWQlFVdEdMRVZCUVVsQkxFVkJRMFpGTEVkQlJWZ3JReXhGUVVGTGFFSXNTVUZCVFN4VFFVRlZOVUlzUlVGQlVYZENMRWRCUTNwQ0xFOUJRVkY0UWl4RlFVRlBVQ3hGUVVGSkswSXNSVUZCVVM5Q0xFVkJRVWxQTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1IwRkZkRVJyUkN4RlFVRkxaaXhUUVVGWExGTkJRVlUzUWl4RlFVRlJkMElzUjBGRE9VSXNUMEZCVDNSQ0xFdEJRVXRITEV0QlFVczVSQ3hMUVVGTGRVWXNaMEpCUVdkQ09VSXNSVUZCVVhkQ0xFdEJSV3hFYjBJc1JVRkJTMlFzWjBKQlFXdENMRk5CUVZVNVFpeEZRVUZSZDBJc1IwRkRja01zU1VGQlNTOUNMRVZCUVVrclFpeEZRVUZSTDBJc1JVRkJTVThzUlVGQlQxQXNSVUZEZGtKRExFVkJRVWs0UWl4RlFVRlJPVUlzUlVGQlNVMHNSVUZCVDA0c1JVRkRNMElzVDBGQlVVUXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZGZUVKclJDeEZRVUZMWWl4VlFVRlpMRk5CUVZVdlFpeEZRVUZSZDBJc1JVRkJVek5DTEVkQlEyNURRU3hKUVVORVFTeEZRVUZQTEVsQlFVa3JReXhIUVVWbUxFbEJRVWx1UkN4RlFVRkpUeXhGUVVGUFVDeEZRVUZKSzBJc1JVRkJVUzlDTEVWQlEzWkNReXhGUVVGSlRTeEZRVUZQVGl4RlFVRkpPRUlzUlVGQlVUbENMRVZCUTNaQ1ZTeEZRVUZUUml4TFFVRkxSeXhMUVVGTFdpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEhRVU51UXl4UFFVRmxMRWxCUVZoVkxFZEJRMEZRTEVWQlFVdEtMRVZCUVVrc1JVRkRWRWtzUlVGQlMwZ3NSVUZCU1N4RlFVTkdSeXhKUVVWWVR5eEZRVUZUTEVWQlFVbEJMRVZCUTJKUUxFVkJRVXRLTEVWQlFVbEJMRVZCUVVsWExFVkJRMkpRTEVWQlFVdElMRVZCUVVsQkxFVkJRVWxWTEVWQlEwNVFMRWxCUlZnclF5eEZRVUZMV2l4SlFVRk5MRk5CUVZWb1F5eEZRVUZSZDBJc1JVRkJVMU1zUlVGQlRYQkRMRWRCUTI1RFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVrclF5eEhRVVZtTEVsQlFVbHVSQ3hGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllLMElzUlVGQlMwUXNSVUZCVVM5Q0xFVkJRMkpwUXl4RlFVRkxSaXhGUVVGUk9VSXNSVUZIYWtJc1QwRkdRVWNzUlVGQlMwb3NSVUZCU1VFc1JVRkJTWGRETEVkQlFWRlNMRVZCUVV0b1F5eEhRVU14UWtrc1JVRkJTMGdzUlVGQlNVRXNSVUZCU1hWRExFZEJRVkZRTEVWQlFVdG9ReXhIUVVOdVFrY3NSMEZGV0N0RExFVkJRVXRXTEVsQlFVMHNVMEZCVld4RExFVkJRVkYzUWl4RlFVRlRNMElzUjBGTmJFTXNUMEZNUzBFc1NVRkRSRUVzUlVGQlR5eEpRVUZKSzBNc1IwRkZaaTlETEVWQlFVdEtMRVZCUVVsUExFVkJRVTlRTEVWQlFVa3JRaXhGUVVGUkwwSXNSVUZETlVKSkxFVkJRVXRJTEVWQlFVbE5MRVZCUVU5T0xFVkJRVWs0UWl4RlFVRlJPVUlzUlVGRGNrSkhMRWRCUlZnclF5eEZRVUZMVkN4WFFVRmhMRk5CUVZWdVF5eEZRVUZSZDBJc1JVRkJVek5DTEVkQlRYcERMRTlCVEV0QkxFbEJRMFJCTEVWQlFVOHNTVUZCU1N0RExFZEJSV1l2UXl4RlFVRkxTaXhGUVVGSlR5eEZRVUZQVUN4RlFVRkpLMElzUlVGQlVTOUNMRVZCUXpWQ1NTeEZRVUZMU0N4RlFVRkpUU3hGUVVGUFRpeEZRVUZKT0VJc1JVRkJVVGxDTEVWQlEzSkNSeXhIUVVWWUswTXNSVUZCUzFJc1VVRkJWU3hUUVVGVmNFTXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFVMTBReXhQUVV4TFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVrclF5eEhRVVZtTDBNc1JVRkJTMG9zUlVGQlNVOHNSVUZCVDFBc1JVRkJTU3RDTEVWQlFWRXZRaXhGUVVNMVFra3NSVUZCUzBnc1JVRkJTVTBzUlVGQlQwNHNSVUZCU1RoQ0xFVkJRVkU1UWl4RlFVTnlRa2NzUjBGRldDdERMRVZCUVV0UUxGTkJRVmNzVTBGQlZYSkRMRVZCUVZGM1FpeEZRVUZUTTBJc1IwRk5ka01zVDBGTVMwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSkswTXNSMEZGWmk5RExFVkJRVXRLTEVWQlFVbFBMRVZCUVU5UUxFVkJRVWtyUWl4RlFVRlJMMElzUlVGRE5VSkpMRVZCUVV0SUxFVkJRVWxOTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1JVRkRja0pITEVkQlJWZ3JReXhGUVVGTFRpeExRVUZQTEVsQlFVbE5MRVZCUVVzc1EwRkJReXhGUVVGSExFbEJRM3BDUVN4RlFVRkxUQ3hKUVVGTkxFbEJRVWxMTEVWQlFVc3NRMEZCUXl4RlFVRkhMRWxCUTJwQ1FTeEZRWEJQWXl4SFFYTlBla0owUnl4RlFVRlJOa1VzVVVGQlZYbENMRWNzTmtKRGVrOXNRblpHTEU5QlFVOURMR1ZCUVdWb1FpeEZRVUZUTEdGQlFXTXNRMEZCUlhOQ0xFOUJRVThzU1VGRGRFUXNTVUZCU1hGR0xFVkJRVk1zUlVGQlVTeEhRVU5xUWtNc1JVRkJVeXhGUVVGUkxFZEJRMnBDVUN4RlFVRlRMRVZCUVZFc1IwRkRha0kzUkN4RlFVRmpMRVZCUVZFc1IwRkRkRUp4UlN4RlFVRnpRaXhYUVVOMFFpeFRRVUZUUVN4RlFVRkxia1VzUjBGRFZucERMRXRCUVV0NVF5eFBRVUZUTEVsQlFVbERMR0ZCUVdFc1VVRkRhRUpETEVsQlFWaEdMRWxCUTBGNlF5eExRVUZMTmtjc1MwRkJUM0JGTEVkQmIySndRaXhQUVdwaVFUTkNMRTlCUVU5RExHVkJRV1UyUml4RlFVRkxOVVVzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaVFpHTEVWQlFVczFSU3hWUVVGWExFbEJRVXNzUTBGRGRrTm1MRWxCUVVzc1YwRkRSQ3hQUVVGUGFrSXNTMEZCUzNsRExFOUJRVThzU1VGRmRrSkpMRWxCUVVzc1UwRkJWWGhDTEVkQlExaHlRaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxjRUlzUjBGRmNrSk1MRmxCUVZrc1JVRkRXamhDTEdOQlFXTXNTVUZGYkVKb1F5eFBRVUZQUXl4bFFVRmxOa1lzUlVGQlN6VkZMRlZCUVZjc1NVRkJTeXhEUVVOMlEyWXNTVUZCU3l4WFFVTkVMRTlCUVU5cVFpeExRVUZMZVVNc1QwRkJUeXhKUVVWMlFra3NTVUZCU3l4VFFVRlZlRUlzUjBGRFdISkNMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHdRaXhIUVVWeVFrd3NXVUZCV1N4RlFVTmFPRUlzWTBGQll5eEpRVVZzUW1oRExFOUJRVTlETEdWQlFXVTJSaXhGUVVGTE5VVXNWVUZCVnl4SlFVRkxMRU5CUTNaRFppeEpRVUZMTEZkQlEwUXNUMEZCVDJwQ0xFdEJRVXQ1UXl4UFFVRlBMRWxCUlhaQ1NTeEpRVUZMTEZOQlFWVjRRaXhIUVVOWWNrSXNTMEZCUzNsRExFOUJRVThzUjBGQlMzQkNMRWRCUlhKQ1RDeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpUWkdMRVZCUVVzMVJTeFZRVUZYTEV0QlFVMHNRMEZEZUVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1MwRkhjRUpKTEVsQlFVc3NVMEZCVlVvc1IwRkRXSHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1UyUml4RlFVRkxOVVVzVlVGQlZ5eE5RVUZQTEVOQlEzcERaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhMUVVkd1Fra3NTVUZCU3l4VFFVRlZTaXhIUVVOWWVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1UyUml4RlFVRkxOVVVzVlVGQlZ5eFBRVUZSTEVOQlF6RkRaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUzBGSGNFSkpMRWxCUVVzc1UwRkJWVW9zUjBGRFdIcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1IwRkRlRUo2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDT0VRc1JVRkJTelZGTEZWQlFWVmxMRWRCUVVzc1UwRkJWVU1zUjBGRE1VSXNUMEZCVDJoRUxFdEJRVXQ1UXl4UFFVRlBUeXhKUVVWMlFqUkVMRVZCUVVzMVJTeFZRVUZWYVVJc1RVRkJVU3hYUVVOdVFpeEpRVUZMTEVsQlFVazNReXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NSVUZCUjBFc1NVRkRia0pLTEV0QlFVdDVReXhQUVVGUGNrTXNSMEZCU3l4SFFVZDZRbmRITEVWQlFVczFSU3hWUVVGVmNVSXNTMEZCVHl4VFFVRlZReXhIUVVOMlFrRXNTVUZEUkVFc1JVRkJUeXhKUVVGSmMwUXNSMEZGWml4SlFVRkxMRWxCUVVsNFJ5eEZRVUZKTEVWQlFVZEJMRVZCUVVrc1JVRkJSMEVzU1VGRGJrSnJSQ3hGUVVGTFlpeFBRVUZQY2tNc1IwRkJTMG9zUzBGQlMzbERMRTlCUVU5eVF5eEhRVVZxUXl4UFFVRlBhMFFzUjBGRldITkVMRVZCUVVzMVJTeFZRVUZWT0VVc1MwRkJUeXhYUVVOc1FpeEpRVUZKTlVRc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlBjRUlzUzBGQlMyOUVMRTFCUVUwc1IwRkJUemRFTEVWQlFVbERMRVZCUVVrMFFpeEZRVUZKTTBJc1IwRkJTVEpDTEVWQlFVbEJMRVZCUVVrM1FpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hKUVVWNlJYZEVMRVZCUVVzMVJTeFZRVUZWWjBZc1RVRkJVU3hYUVVOdVFpeEpRVUZKT1VRc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlBjRUlzUzBGQlMyOUVMRTFCUVUwc1IwRkJUelZFTEVWQlFVbERMRVZCUVVreVFpeEZRVUZKTjBJc1IwRkJTVFpDTEVWQlFVbEJMRVZCUVVrM1FpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hKUVVWNlJYZEVMRVZCUVVzMVJTeFZRVUZWYVVZc1NVRkJUU3hYUVVOcVFpeFBRVUZQZEVRc1MwRkJTM1ZFTEV0QlFVc3NSMEZCVDJ4SUxFdEJRVXRyUkN4RlFVRkpiRVFzUzBGQlMyOUVMRVZCUVVsd1JDeExRVUZMSzBVc1JVRkJTUzlGTEV0QlFVdHRSQ3hMUVVVMVJIbEVMRVZCUVVzMVJTeFZRVUZWZDBJc1QwRkJVeXhUUVVGVlF5eEZRVUZSUXl4UlFVTndRaXhKUVVGa1FTeEpRVUYzUWtFc1JVRkJXVzVDTEVWQlFWbElMRk5CUTNCRUxFbEJRVXNzU1VGQlNXaERMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnVRaXhIUVVGSmRVUXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdDVReXhQUVVGUGNrTXNSMEZCUzNGRUxFVkJRVTlXTEVkQlFVY3pReXhKUVVGTmMwUXNSVUZETVVNc1QwRkJUeXhGUVVkbUxFOUJRVThzUjBGRldHdEVMRVZCUVVzMVJTeFZRVUZWYlVZc1dVRkJZeXhYUVV0NlFpeFBRVXBCYmtnc1MwRkJTMnRFTEVWQlFVa3NSVUZEVkd4RUxFdEJRVXR0UkN4RlFVRkpMRVZCUTFSdVJDeExRVUZMYjBRc1JVRkJTU3hGUVVOVWNFUXNTMEZCU3l0RkxFVkJRVWtzUlVGRFJpOUZMRTFCUlZnMFJ5eEZRVUZMTlVVc1ZVRkJWVzlHTEZkQlFXRXNWMEZEZUVJc1NVRkJTV3hGTEVWQlFVbHNSQ3hMUVVGTGEwUXNSVUZEVkVNc1JVRkJTVzVFTEV0QlFVdHRSQ3hGUVVOVVF5eEZRVUZKY0VRc1MwRkJTMjlFTEVWQlJXSXNUMEZFUVhCRUxFdEJRVXNyUlN4SFFVRk5jRUlzUzBGQlMwY3NTMEZCUzBnc1MwRkJTME1zU1VGQlNTeEZRVUZOVml4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEpRVU5xUkhCRUxFMUJSVmcwUnl4RlFVRkxOVVVzVlVGQlZYRkdMRkZCUVZVc1YwRkRja0lzU1VGQlNXaERMRVZCUVUxMVFpeEZRVUZMZGtJc1NVRkJTWEpHTEV0QlFVMUJMRTFCUTNwQ0xFbEJRVXR4Uml4RlFVVkVMRTlCUkVGeVJpeExRVUZMTmtjc1MwRkJUeXhEUVVGRExFVkJRVWNzUlVGQlJ5eEZRVUZITEVkQlEyWTNSeXhMUVVWWUxFbEJRVWx6U0N4RlFVRlRha01zUlVGQlRTeEZRVUZOUVN4RlFVRk5MRVZCU3k5Q0xFOUJTa0Z5Uml4TFFVRkxhMFFzU1VGQlRXOUZMRVZCUTFoMFNDeExRVUZMYlVRc1NVRkJUVzFGTEVWQlExaDBTQ3hMUVVGTGIwUXNTVUZCVFd0RkxFVkJRMWgwU0N4TFFVRkxLMFVzUjBGQlMzVkRMRVZCUTBoMFNDeE5RVVZZTkVjc1JVRkJTelZGTEZWQlFWVjFSaXhWUVVGWkxGZEJTWFpDTEU5QlNFRjJTQ3hMUVVGTGVVTXNUMEZCVHl4TFFVRlBMRVZCUTI1Q2VrTXNTMEZCUzNsRExFOUJRVThzUzBGQlR5eEZRVU51UW5wRExFdEJRVXQ1UXl4UFFVRlBMRXRCUVU4c1JVRkRXbnBETEUxQlJWZzBSeXhGUVVGTE5VVXNWVUZCVlRaQ0xFOUJRVk1zVjBGRGNFSXNTVUZCU1Znc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlBjRUlzUzBGQlMwY3NTMEZCUzFvc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSVUZCU1RKQ0xFVkJRVWxCTEVsQlJXcEVOa0lzUlVGQlN6VkZMRlZCUVZWeFF5eFZRVUZaTEZOQlFWVm1MRWRCUXpWQ1FTeEpRVU5FUVN4RlFVRlBkRVFzVFVGRldDeEpRVUZKYTBRc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEVkd4Q0xFVkJRVk5HTEV0QlFVdEhMRXRCUVV0YUxFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFVkJRVWxETEVWQlFVbEJMRVZCUVVreVFpeEZRVUZKUVN4SFFVTnVSQ3hQUVVGTGJFSXNSMEZQVEVFc1JVRkJVeXhGUVVGSlFTeEZRVU5pVUN4RlFVRkxTaXhGUVVGSlFTeEZRVUZKVnl4RlFVTmlVQ3hGUVVGTFNDeEZRVUZKUVN4RlFVRkpWU3hGUVVOaVVDeEZRVUZMUml4RlFVRkpRU3hGUVVGSlV5eEZRVU5pVUN4RlFVRkxlVUlzUlVGQlNVRXNSVUZCU1d4Q0xFVkJRMDVRTEVsQldFaEJMRVZCUVV0S0xFVkJRVWtzUlVGRFZFa3NSVUZCUzBnc1JVRkJTU3hGUVVOVVJ5eEZRVUZMUml4RlFVRkpMRVZCUTFSRkxFVkJRVXQ1UWl4RlFVRkpMRVZCUTBaNlFpeEpRVk5tYzBRc1JVRkJTelZGTEZWQlFWVm5ReXhKUVVGTkxGTkJRVlYzUkN4SFFVTXpRaXhKUVVGTExFbEJRVWx3U0N4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUlVGQlIwRXNTVUZEYmtKS0xFdEJRVXQ1UXl4UFFVRlBja01zU1VGQlRXOUlMRVZCUVUxNlJTeEhRVUZITTBNc1IwRkZMMElzVDBGQlQwb3NUVUZGV0RSSExFVkJRVXMxUlN4VlFVRlZhME1zVTBGQlZ5eFRRVUZWYzBRc1IwRkRhRU1zU1VGQlNVTXNSVUZCVFhwSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2FVWXNSVUZCVFRGSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2EwWXNSVUZCVFROSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2JVWXNSVUZCVFRWSUxFdEJRVXQ1UXl4UFFVRlBMRWRCUTJ4Q2IwWXNSVUZCVFV3c1JVRkJUWFJGTEVWQlExbzBSU3hGUVVGTlRpeEZRVUZOY2tVc1JVRkRXalJGTEVWQlFVMVFMRVZCUVUxd1JTeEZRVU5hTkVVc1JVRkJUVklzUlVGQlRYcERMRVZCUzJoQ0xFOUJTa0V2UlN4TFFVRkxhMFFzUlVGQlNYVkZMRVZCUVUxUExFVkJRVTFLTEVWQlFVMURMRVZCUVUxSUxFVkJRVTFMTEVWQlFVMUtMRVZCUVUxSExFVkJRMjVFT1Vnc1MwRkJTMjFFTEVWQlFVbDFSU3hGUVVGTlRTeEZRVUZOU2l4RlFVRk5SU3hGUVVGTlNDeEZRVUZOUlN4RlFVRk5TaXhGUVVGTlRTeEZRVU51UkM5SUxFdEJRVXR2UkN4RlFVRkpkVVVzUlVGQlRVc3NSVUZCVFVvc1JVRkJUVWNzUlVGQlRVNHNSVUZCVFVzc1JVRkJUVW9zUlVGQlRVY3NSVUZEYmtRM1NDeExRVUZMSzBVc1JVRkJTVFpETEVWQlFVMUpMRVZCUVUxUUxFVkJRVTFKTEVWQlFVMUlMRVZCUVUxSkxFVkJRVTFJTEVWQlFVMUpMRVZCUXpWREwwZ3NUVUZGV0RSSExFVkJRVXMxUlN4VlFVRlZkME1zWVVGQlpTeFRRVUZWWml4RlFVRlJTQ3hIUVVOMlEwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSk9FTXNSVUZCVDNoQ0xGTkJSWFJDTEVsQlFVa3hRaXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllReXhGUVVGSlN5eEZRVUZQVEN4RlFVTllOa1VzUlVGQlMycEpMRXRCUVV0clJDeEZRVU5XWjBZc1JVRkJTMnhKTEV0QlFVdHRSQ3hGUVVOV1owWXNSVUZCUzI1SkxFdEJRVXR2UkN4RlFVTldaMFlzUlVGQlMzQkpMRXRCUVVzclJTeEZRVU5XYzBRc1JVRkJTMFFzUlVGQlMyeEdMRVZCUVVsblJpeEZRVUZMT1VVc1JVRkJTU3RGTEVWQlFVdG9SaXhGUVVNMVFtMUdMRVZCUVV0R0xFVkJRVXRxUml4RlFVRkpaMFlzUlVGQlMycEdMRVZCUVVrclJTeEZRVUZMTjBVc1JVRkROVUp0Uml4RlFVRkxTQ3hGUVVGTGFFWXNSVUZCU1RaRkxFVkJRVXM1UlN4RlFVRkpLMFVzUlVGQlMyaEdMRVZCUXpWQ2MwWXNSMEZCVFZBc1JVRkJTeTlGTEVWQlFVbG5SaXhGUVVGTEwwVXNSVUZCU1dkR0xFVkJRVXN2UlN4RlFVbHFReXhQUVVoQlJTeEZRVUZMU2l4RlFVRkpiVVlzUlVGQlMwUXNSVUZCUzBrc1IwRkJUVkFzUlVGQlMwc3NSMEZCVFVnc1JVRkJTMGtzUjBGQlRVd3NSVUZETDBNMVJTeEZRVUZMU0N4RlFVRkpiVVlzUlVGQlMwWXNSVUZCUzBrc1IwRkJUVTRzUlVGQlMwc3NSMEZCVFU0c1JVRkJTMGtzUjBGQlRVWXNSVUZETDBNM1JTeEZRVUZMUml4RlFVRkpiVVlzUlVGQlMwZ3NSVUZCUzBrc1IwRkJUVXdzUlVGQlMwVXNSMEZCVFVnc1JVRkJTMGtzUjBGQlRVd3NSVUZEZUVNelJTeEhRVVZZYzBRc1JVRkJTelZGTEZWQlFWVjVSeXhQUVVGVExGTkJRVlZ1Uml4SFFVTjZRa0VzU1VGRFJFRXNSVUZCVHl4SlFVRkpiMFFzUlVGQlR6bENMRk5CUlhSQ0xFbEJRVWt4UWl4RlFVRkpiRVFzUzBGQlMydEVMRVZCUTFSRExFVkJRVWx1UkN4TFFVRkxiVVFzUlVGRFZFTXNSVUZCU1hCRUxFdEJRVXR2UkN4RlFVTlVNa0lzUlVGQlNTOUZMRXRCUVVzclJTeEZRVU5VUnl4RlFVRkxhRU1zUlVGQlNVRXNSVUZEVkdsRExFVkJRVXRvUXl4RlFVRkpRU3hGUVVOVWFVTXNSVUZCUzJoRExFVkJRVWxCTEVWQlExUnpSaXhGUVVGTGVFWXNSVUZCU1dkRExFVkJRMVJ2UWl4RlFVRkxjRVFzUlVGQlNXbERMRVZCUTFSM1JDeEZRVUZMZWtZc1JVRkJTV3RETEVWQlExUjNSQ3hGUVVGTGVrWXNSVUZCU1dkRExFVkJRMVF3UkN4RlFVRkxNVVlzUlVGQlNXbERMRVZCUTFRd1JDeEZRVUZMTVVZc1JVRkJTV2RETEVWQlExUXlSQ3hGUVVGTGFFVXNSVUZCU1Vjc1JVRkRWRGhFTEVWQlFVdHFSU3hGUVVGSlNTeEZRVU5VT0VRc1JVRkJTMnhGTEVWQlFVbExMRVZCV1dJc1QwRllRVGxDTEVWQlFVczBSaXhMUVVGTExFTkJRMDRzUjBGQlMwNHNSVUZCUzBVc1IwRkRWbmhETEVWQlFVc3lReXhGUVVOTVRpeEZRVUZMU3l4RlFVTk1NVU1zUlVGQlN6SkRMRVZCUTB3c1IwRkJTMUFzUlVGQlMwa3NSMEZEVmtRc1JVRkJTMFVzUlVGRFRFb3NSVUZCUzBzc1JVRkRURWdzUlVGQlMwVXNSVUZEVEN4SFFVRkxUQ3hGUVVGTFJTeExRVVZRZEVZc1IwRkZXSE5FTEVWQlFVczFSU3hWUVVGVmJVZ3NUMEZCVXl4VFFVRlZOMFlzUjBGRGVrSkJMRWxCUTBSQkxFVkJRVThzU1VGQlNYRkVMRVZCUVU4dlFpeFRRVVYwUWl4SlFVRkpNVUlzUlVGQlNXeEVMRXRCUVV0clJDeEZRVU5VUXl4RlFVRkpia1FzUzBGQlMyMUVMRVZCUTFSRExFVkJRVWx3UkN4TFFVRkxiMFFzUlVGRFZESkNMRVZCUVVrdlJTeExRVUZMSzBVc1JVRkRWRWNzUlVGQlMyaERMRVZCUVVsQkxFVkJRMVJwUXl4RlFVRkxhRU1zUlVGQlNVRXNSVUZEVkdsRExFVkJRVXRvUXl4RlFVRkpRU3hGUVVOVWMwWXNSVUZCUzNoR0xFVkJRVWxuUXl4RlFVTlViMElzUlVGQlMzQkVMRVZCUVVscFF5eEZRVU5VZDBRc1JVRkJTM3BHTEVWQlFVbHJReXhGUVVOVWQwUXNSVUZCUzNwR0xFVkJRVWxuUXl4RlFVTlVNRVFzUlVGQlN6RkdMRVZCUVVscFF5eEZRVU5VTUVRc1JVRkJTekZHTEVWQlFVbG5ReXhGUVVOVU1rUXNSVUZCUzJoRkxFVkJRVWxITEVWQlExUTRSQ3hGUVVGTGFrVXNSVUZCU1Vrc1JVRkRWRGhFTEVWQlFVdHNSU3hGUVVGSlN5eEZRVzFDWWl4UFFXeENRVGxDTEVWQlFVczBSaXhMUVVGTExFTkJRMDRzUjBGQlMwNHNSVUZCUzBVc1IwRkRWbmhETEVWQlFVc3lReXhGUVVOTVRpeEZRVUZMU3l4RlFVTk1MRVZCUTBFeFF5eEZRVUZMTWtNc1JVRkRUQ3hIUVVGTFVDeEZRVUZMU1N4SFFVTldSQ3hGUVVGTFJTeEZRVU5NTEVWQlEwRktMRVZCUVV0TExFVkJRMHhJTEVWQlFVdEZMRVZCUTB3c1IwRkJTMHdzUlVGQlMwVXNSMEZEVml4RlFVTkJMRVZCUTBFc1JVRkRRU3hGUVVOQkxFbEJSVWQwUml4SFFVVlljMFFzUlVGQlMzWkNMRWxCUVUwc1UwRkJWU3RFTEVWQlFVbERMRWRCUTNKQ0xFOUJRVTlFTEVWQlFVZHNSeXhGUVVGSmJVY3NSVUZCUjI1SExFVkJRVWxyUnl4RlFVRkhha2NzUlVGQlNXdEhMRVZCUVVkc1J5eEZRVUZKYVVjc1JVRkJSMmhITEVWQlFVbHBSeXhGUVVGSGFrY3NSVUZCU1dkSExFVkJRVWR5UlN4RlFVRkpjMFVzUlVGQlIzUkZMRWRCUlM5RU5rSXNSVUZCUzJwQ0xFbEJRVTBzVTBGQlZYbEVMRVZCUVVsRExFVkJRVWt2Uml4SFFWRjZRaXhQUVZCTFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVselJDeEhRVVZtZEVRc1JVRkJTMG9zUlVGQlNXdEhMRVZCUVVkc1J5eEZRVUZKYlVjc1JVRkJSMjVITEVWQlEyNUNTU3hGUVVGTFNDeEZRVUZKYVVjc1JVRkJSMnBITEVWQlFVbHJSeXhGUVVGSGJFY3NSVUZEYmtKSExFVkJRVXRHTEVWQlFVbG5SeXhGUVVGSGFFY3NSVUZCU1dsSExFVkJRVWRxUnl4RlFVTnVRa1VzUlVGQlMzbENMRVZCUVVseFJTeEZRVUZIY2tVc1JVRkJTWE5GTEVWQlFVZDBSU3hGUVVOYWVrSXNSMEZGV0hORUxFVkJRVXRtTEZGQlFWVXNVMEZCVlhWRUxFVkJRVWxETEVWQlFVa3ZSaXhIUVVONFFrRXNTVUZEUkVFc1JVRkJUeXhKUVVGSmMwUXNSMEZGWml4SlFVRkpZU3hGUVVGTk1rSXNSVUZCUjJ4SExFVkJRMVIzUlN4RlFVRk5NRUlzUlVGQlIycEhMRVZCUTFSM1JTeEZRVUZOZVVJc1JVRkJSMmhITEVWQlExUjNSU3hGUVVGTmQwSXNSVUZCUjNKRkxFVkJRMVE0UXl4RlFVRk5kMElzUlVGQlIyNUhMRVZCUTFRMFJTeEZRVUZOZFVJc1JVRkJSMnhITEVWQlExUTBSU3hGUVVGTmMwSXNSVUZCUjJwSExFVkJRMVEwUlN4RlFVRk5jVUlzUlVGQlIzUkZMRVZCUzJJc1QwRktRWHBDTEVWQlFVdEtMRVZCUVVsMVJTeEZRVUZOVHl4RlFVRk5TaXhGUVVGTlF5eEZRVUZOU0N4RlFVRk5TeXhGUVVGTlNpeEZRVUZOUnl4RlFVTnVSSGhGTEVWQlFVdElMRVZCUVVsMVJTeEZRVUZOVFN4RlFVRk5TaXhGUVVGTlJTeEZRVUZOU0N4RlFVRk5SU3hGUVVGTlNpeEZRVUZOVFN4RlFVTnVSSHBGTEVWQlFVdEdMRVZCUVVsMVJTeEZRVUZOU3l4RlFVRk5TaXhGUVVGTlJ5eEZRVUZOVGl4RlFVRk5TeXhGUVVGTlNpeEZRVUZOUnl4RlFVTnVSSFpGTEVWQlFVdDVRaXhGUVVGSk5rTXNSVUZCVFVrc1JVRkJUVkFzUlVGQlRVa3NSVUZCVFVnc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVrc1JVRkROVU42UlN4SFFVVlljMFFzUlVGQlN6VkNMRTFCUVZFc1UwRkJWVzlGTEVWQlFVbERMRVZCUVVrdlJpeEhRVU4wUWtFc1NVRkRSRUVzUlVGQlR5eEpRVUZKYzBRc1IwRkZaaXhKUVVGSllTeEZRVUZOTWtJc1JVRkJSMnhITEVWQlExUjNSU3hGUVVGTk1FSXNSVUZCUjJwSExFVkJRMVIzUlN4RlFVRk5lVUlzUlVGQlIyaEhMRVZCUTFSM1JTeEZRVUZOZDBJc1JVRkJSM0pGTEVWQlExUTRReXhGUVVGTmQwSXNSVUZCUjI1SExFVkJRMVEwUlN4RlFVRk5kVUlzUlVGQlIyeEhMRVZCUTFRMFJTeEZRVUZOYzBJc1JVRkJSMnBITEVWQlExUTBSU3hGUVVGTmNVSXNSVUZCUjNSRkxFVkJTMklzVDBGS1FYcENMRVZCUVV0S0xFVkJRVWt3UlN4RlFVRk5SeXhGUVVGTlNpeEZRVUZOU3l4RlFVRk5VQ3hGUVVGTlN5eEZRVUZOU2l4RlFVRk5SeXhGUVVOdVJIWkZMRVZCUVV0SUxFVkJRVWw1UlN4RlFVRk5TU3hGUVVGTlVDeEZRVUZOU1N4RlFVRk5TQ3hGUVVGTlNTeEZRVUZOU0N4RlFVRk5TU3hGUVVOdVJIcEZMRVZCUVV0R0xFVkJRVWwzUlN4RlFVRk5ReXhGUVVGTlNpeEZRVUZOVHl4RlFVRk5UaXhGUVVGTlN5eEZRVUZOU2l4RlFVRk5SeXhGUVVOdVJIaEZMRVZCUVV0NVFpeEZRVUZKTmtNc1JVRkJUVVVzUlVGQlRVb3NSVUZCVFUwc1JVRkJUVXdzUlVGQlRVVXNSVUZCVFVvc1JVRkJUVTBzUlVGRE5VTjZSU3hIUVVWWWMwUXNSVUZCU3pCRExGTkJRVmNzVTBGQlZVWXNSVUZCU1VNc1JVRkJTVE5FTEVWQlFVMXdReXhIUVVsd1F5eEhRVWhMUVN4SlFVTkVRU3hGUVVGUExFbEJRVWx6UkN4SFFVVlliRUlzUjBGQlVTeEZRVVZTTEU5QlJFRndReXhGUVVGTGRVUXNTMEZCVDNWRExFVkJRVWQyUXl4TFFVTlNka1FzUlVGRlRpeEhRVUZKYjBNc1IwRkJVU3hGUVVWaUxFOUJSRUZ3UXl4RlFVRkxkVVFzUzBGQlQzZERMRVZCUVVkNFF5eExRVU5TZGtRc1JVRkZXQ3hKUVUxSmFVY3NSVUZEUVVNc1JVRlFRVE5GTEVWQlFVMHJRaXhGUVVGTGRrSXNTVUZCU1N0RUxFVkJRVWxETEVkQlEyNUNTU3hGUVVGTlNpeEZRVUZIYUVjc1QwRlBZaXhIUVU1SmQwSXNSVUZCVFN4SlFVTk9ORVVzUlVGQlNYQkRMRlZCUTBwNFF5eEhRVUZQUVN4SFFVbFFRU3hGUVVGTkxFMUJRMDR3UlN4RlFVRkxMRVZCUVVrM1JDeEZRVU5VT0VRc1JVRkJTeXhGUVVGSk9VUXNUVUZGVWl4RFFVTkVMRWxCUVVsYUxFVkJRVTF1UWl4TFFVRkxSeXhMUVVGTExFVkJRVWxsTEVWQlFVMUJMRWRCUXpGQ05rVXNSVUZCVVM5R0xFdEJRVXR2UkN4TlFVRk5ha01zUlVGQlMwUXNSMEZEZUVJNFJTeEZRVUZoTEVWQlFVazNSU3hGUVVOeVFubEZMRVZCUVVzMVJpeExRVUZMYlVJc1MwRkJTeXhGUVVGSldTeEhRVUZSWjBVc1IwRkJVME1zUlVGRGNFTklMRVZCUVVzM1JpeExRVUZMYlVJc1MwRkJTeXhGUVVGSldTeEhRVUZSWjBVc1IwRkJVME1zUlVGTmVFTXNUMEZLUVhKSExFVkJRVXRLTEVWQlFVbHhSeXhGUVVGTFNDeEZRVUZIYkVjc1JVRkJTWE5ITEVWQlFVdERMRVZCUVVsMlJ5eEZRVU01UWtrc1JVRkJTMGdzUlVGQlNXOUhMRVZCUVV0SUxFVkJRVWRxUnl4RlFVRkpjVWNzUlVGQlMwTXNSVUZCU1hSSExFVkJRemxDUnl4RlFVRkxSaXhGUVVGSmJVY3NSVUZCUzBnc1JVRkJSMmhITEVWQlFVbHZSeXhGUVVGTFF5eEZRVUZKY2tjc1JVRkRPVUpGTEVWQlFVdDVRaXhGUVVGSmQwVXNSVUZCUzBnc1JVRkJSM0pGTEVWQlFVbDVSU3hGUVVGTFF5eEZRVUZKTVVVc1JVRkRka0o2UWl4SFFVVlljMFFzUlVGQlMyNUNMRWxCUVUwc1UwRkJWVEpFTEVWQlFVbERMRVZCUVVrelJDeEZRVUZOY0VNc1IwRkRNVUpCTEVsQlEwUkJMRVZCUVU4c1NVRkJTWE5FTEVkQlJXWXNTVUZCU1dkRUxFVkJRV1ZTTEVWQlFVZHNSeXhGUVVGSmJVY3NSVUZCUjI1SExFVkJRVWxyUnl4RlFVRkhha2NzUlVGQlNXdEhMRVZCUVVkc1J5eEZRVUZKYVVjc1JVRkJSMmhITEVWQlFVbHBSeXhGUVVGSGFrY3NSVUZCU1dkSExFVkJRVWR5UlN4RlFVRkpjMFVzUlVGQlIzUkZMRVZCUTNaRkxFZEJRVWx3UWl4TFFVRkxReXhKUVVGSlowY3NTVUZCYVVJc1JVRkZNVUlzVDBGRVFYUkhMRVZCUVV0MVJDeExRVUZQZFVNc1JVRkJSM1pETEV0QlExSjJSQ3hGUVVWWUxFbEJRVWwxUnl4RlFVRlpiRWNzUzBGQlMyMUhMRXRCUVV0R0xFZEJRM1JDUnl4RlFVRmxjRWNzUzBGQlMwY3NTMEZCU3l4RlFVRk5PRVlzUlVGQlpVRXNSMEZEYkVRc1IwRkJTV3BITEV0QlFVdERMRWxCUVVsdFJ5eEhRVUZuUWl4TFFVdDZRaXhQUVVwQmVrY3NSVUZCUzBvc1JVRkJWeXhIUVVGUWEwY3NSVUZCUjJ4SExFVkJRV2xDTEVkQlFWQnRSeXhGUVVGSGJrY3NSVUZEZWtKSkxFVkJRVXRJTEVWQlFWY3NSMEZCVUdsSExFVkJRVWRxUnl4RlFVRnBRaXhIUVVGUWEwY3NSVUZCUjJ4SExFVkJRM3BDUnl4RlFVRkxSaXhGUVVGWExFZEJRVkJuUnl4RlFVRkhhRWNzUlVGQmFVSXNSMEZCVUdsSExFVkJRVWRxUnl4RlFVTjZRa1VzUlVGQlMzbENMRVZCUVZjc1IwRkJVSEZGTEVWQlFVZHlSU3hGUVVGcFFpeEhRVUZRYzBVc1JVRkJSM1JGTEVWQlEyeENla0lzUlVGRldDeEpRVUZKTUVjc1JVRkJVM0pITEV0QlFVdHRRaXhMUVVGTExFVkJRVWxaTEVkQlFWRnRSU3hIUVVGaFJTeEZRVU0xUTBVc1JVRkJVM1JITEV0QlFVdHRRaXhKUVVGSldTeEZRVUZQYlVVc1IwRkJZVVVzUlVGTE1VTXNUMEZLUVhwSExFVkJRVXRLTEVWQlFVbHJSeXhGUVVGSGJFY3NSVUZCU1RoSExFVkJRVk5ZTEVWQlFVZHVSeXhGUVVGSkswY3NSVUZEYUVNelJ5eEZRVUZMU0N4RlFVRkphVWNzUlVGQlIycEhMRVZCUVVrMlJ5eEZRVUZUV0N4RlFVRkhiRWNzUlVGQlNUaEhMRVZCUTJoRE0wY3NSVUZCUzBZc1JVRkJTV2RITEVWQlFVZG9SeXhGUVVGSk5FY3NSVUZCVTFnc1JVRkJSMnBITEVWQlFVazJSeXhGUVVOb1F6TkhMRVZCUVV0NVFpeEZRVUZKY1VVc1JVRkJSM0pGTEVWQlFVbHBSaXhGUVVGVFdDeEZRVUZIZEVVc1JVRkJTV3RHTEVWQlEzcENNMGNzUjBGRldITkVMRVZCUVV0elJDeGpRVUZuUWl4VFFVRlZReXhGUVVGTlZDeEZRVUZQY0Vjc1IwRkRia05CTEVsQlEwUkJMRVZCUVU4c1NVRkJTWE5FTEVkQlJXWTRReXhIUVVGVExFZEJRMVFzU1VGQlNUVkZMRVZCUVUxdVFpeExRVUZMYlVJc1NVRkJTVFJGTEVkQlMyNUNMRTlCU2tGd1J5eEZRVUZMU2l4RlFVRkphVWdzUlVGQlMycElMRVZCUVVrMFFpeEZRVU5zUW5oQ0xFVkJRVXRJTEVWQlFVbG5TQ3hGUVVGTGFFZ3NSVUZCU1RKQ0xFVkJRMnhDZUVJc1JVRkJTMFlzUlVGQlNTdEhMRVZCUVVzdlJ5eEZRVUZKTUVJc1JVRkRiRUo0UWl4RlFVRkxlVUlzUlVGQlNYQkNMRXRCUVV0clFpeEpRVUZKTmtVc1IwRkRXSEJITEVkQlJWaHpSQ3hGUVVGTGQwUXNWVUZCVnl4SlFVRkplRVFzUjBGQlQwOHNZMEZEY0VKUUxFVkJlR0pqTEVkQk1HSjZRamRITEVWQlFWRTJSU3hSUVVGVlowTXNSeXcyUWtNdllteENPVVlzVDBGQlQwTXNaVUZCWldoQ0xFVkJRVk1zWVVGQll5eERRVUZGYzBJc1QwRkJUeXhKUVVOMFJDeEpRVUZKYzBZc1JVRkJVeXhGUVVGUkxFZEJRMnBDY2tVc1JVRkJVeXhGUVVGUkxFZEJRMnBDSzBnc1JVRkJVeXhGUVVGUkxFZEJRMnBDYWtVc1JVRkJVeXhGUVVGUkxFZEJRMnBDTjBRc1JVRkJZeXhGUVVGUkxFZEJRM1JDSzBnc1JVRkJjMElzVjBGRGRFSXNVMEZCVTBFc1JVRkJTemRJTEVkQlExWjZReXhMUVVGTGVVTXNUMEZCVXl4SlFVRkpReXhoUVVGaExGRkJRMmhDUXl4SlFVRllSaXhIUVVOQmVrTXNTMEZCUzJ0S0xFdEJRVXQ2Unl4SFFXMVpiRUlzVDBGb1dVRTJTQ3hGUVVGTGRFa3NWVUZCVldVc1IwRkJTeXhUUVVGVlF5eEhRVU14UWl4UFFVRlBhRVFzUzBGQlMzbERMRTlCUVU5UExFbEJSWFpDYzBnc1JVRkJTM1JKTEZWQlFWVnJTQ3hMUVVGUExGTkJRVlY2Unl4SFFVTTFRaXhKUVVGTExFbEJRVWx5UXl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUlVGQlIwRXNTVUZEYmtKS0xFdEJRVXQ1UXl4UFFVRlBja01zUjBGQlMzRkRMRVZCUVU5eVF5eEhRVVUxUWl4UFFVRlBTaXhOUVVWWWMwc3NSVUZCUzNSSkxGVkJRVlZwUWl4TlFVRlJMRmRCUTI1Q0xFbEJRVXNzU1VGQlNUZERMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnVRa29zUzBGQlMzbERMRTlCUVU5eVF5eEhRVUZMTEVkQlIzcENhMHNzUlVGQlMzUkpMRlZCUVZWeFFpeExRVUZQTEZOQlFWVkRMRWRCUTNaQ1FTeEpRVU5FUVN4RlFVRlBMRWxCUVVsblNDeEhRVVZtTEVsQlFVc3NTVUZCU1d4TExFVkJRVWtzUlVGQlIwRXNSVUZCU1N4RlFVRkhRU3hKUVVOdVFtdEVMRVZCUVV0aUxFOUJRVTl5UXl4SFFVRkxTaXhMUVVGTGVVTXNUMEZCVDNKRExFZEJSV3BETEU5QlFVOXJSQ3hIUVVWWVowZ3NSVUZCUzNSSkxGVkJRVlYxU1N4SlFVRk5MRmRCUldwQ0xFbEJSRUVzU1VGQlNVTXNSVUZCVHl4SFFVTkdjRXNzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRVZCUVVkQkxFbEJRMjVDYjBzc1JVRkJTM0JMTEVkQlFVdEtMRXRCUVV0NVF5eFBRVUZQY2tNc1IwRkZNVUlzVDBGQlQyOUxMRWRCUlZoR0xFVkJRVXQwU1N4VlFVRlZlVWtzU1VGQlRTeFRRVUZWZWtnc1IwRkRNMElzVFVGQlR5eERRVU5JYUVRc1MwRkJTM2xETEU5QlFXVXNSVUZCVWs4c1JVRkJXU3hIUVVONFFtaEVMRXRCUVV0NVF5eFBRVUZsTEVWQlFWSlBMRVZCUVZrc1IwRkRlRUpvUkN4TFFVRkxlVU1zVDBGQlpTeEZRVUZTVHl4RlFVRlpMRXRCUjJoRGMwZ3NSVUZCUzNSSkxGVkJRVlV3U1N4SlFVRk5MRk5CUVZVeFNDeEhRVU16UWl4TlFVRlBMRU5CUTBob1JDeExRVUZMZVVNc1QwRkJUMDhzUjBGRFdtaEVMRXRCUVV0NVF5eFBRVUZQVHl4RlFVRlJMRWRCUTNCQ2FFUXNTMEZCUzNsRExFOUJRVTlQTEVWQlFWRXNTMEZITlVKelNDeEZRVUZMZEVrc1ZVRkJWWGRDTEU5QlFWTXNVMEZCVldVc1JVRkJVV0lzVVVGRGNFSXNTVUZCWkVFc1NVRkJkMEpCTEVWQlFWbHVRaXhGUVVGWlNDeFRRVU53UkN4SlFVRkxMRWxCUVVsb1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVrc1JVRkJSMEVzU1VGRGJrSXNSMEZCU1hWRUxFdEJRVXRETEVsQlFVazFSQ3hMUVVGTGVVTXNUMEZCVDNKRExFZEJRVXR0UlN4RlFVRlBlRUlzUjBGQlJ6TkRMRWxCUVUxelJDeEZRVU14UXl4UFFVRlBMRVZCUjJZc1QwRkJUeXhIUVVWWU5FY3NSVUZCUzNSSkxGVkJRVlV5U1N4WlFVRmpMRmRCUTNwQ0xFbEJRVWxETEVWQlFVMDFTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlKTEVWQlFVMDNTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbkZKTEVWQlFVMDVTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbk5KTEVWQlFVMHZTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRblZKTEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmxKTEVWQlFVMXNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVbDBRaXhQUVVGUGJVa3NSMEZJUzFFc1JVRkJUVW9zUlVGQlRVTXNSVUZCVFVVc1IwRkhWRTRzU1VGR1VrOHNSVUZCVFV3c1JVRkJUVVVzUlVGQlRVTXNSMEZGU1Vvc1IwRkVka0pMTEVWQlFVMUtMRVZCUVUxRExFVkJRVTFGTEVsQlIyeERXaXhGUVVGTGRFa3NWVUZCVlcxR0xGbEJRV01zVjBGVmVrSXNUMEZVUVc1SUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVVzc1JVRkRha0o2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTeXhGUVVOcVFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVc3NSVUZEYWtKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTExFVkJRMnBDZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCU3l4RlFVTnFRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXNzUlVGRGFrSjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxMRVZCUTJwQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlN5eEZRVU5XZWtNc1RVRkZXSE5MTEVWQlFVdDBTU3hWUVVGVmNVb3NWVUZCV1N4WFFVTjJRaXhKUVVGSlF5eEZRVUZUZEV3c1MwRkJTM2xETEU5QlFVOHNSMEZEY2tJNFNTeEZRVUZUZGt3c1MwRkJTM2xETEU5QlFVOHNSMEZEY2tJclNTeEZRVUZUZUV3c1MwRkJTM2xETEU5QlFVOHNSMEZQZWtJc1QwRk9RWHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXQ2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVU0zUW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0NlF5eExRVUZMZVVNc1QwRkJUeXhIUVVNM1FucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVczJTU3hGUVVOcVFuUk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTTNRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXM0U1N4RlFVTnFRblpNTEV0QlFVdDVReXhQUVVGUExFZEJRVXNyU1N4RlFVTldlRXdzVFVGRldITkxMRVZCUVV0MFNTeFZRVUZWY1VZc1VVRkJWU3hYUVVOeVFpeEpRVUZKZFVRc1JVRkJUVFZMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYjBrc1JVRkJUVGRMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDY1Vrc1JVRkJUVGxMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYzBrc1JVRkJUUzlMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZFVrc1JVRkJUV2hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZDBrc1JVRkJUV3BNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZVVrc1JVRkJUV3hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTUVrc1JVRkJUVzVNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTWtrc1JVRkJUWEJNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDWjBvc1JVRkJVVXdzUlVGQlRVb3NSVUZCVFVNc1JVRkJUVVVzUlVGRE1VSlBMRWRCUVZOT0xFVkJRVTFNTEVWQlFVMUZMRVZCUVUxRExFVkJRek5DVXl4RlFVRlJVaXhGUVVGTlNpeEZRVUZOUXl4RlFVRk5SU3hGUVVNeFFsVXNSVUZCVFdoQ0xFVkJRVTFoTEVWQlFWRmFMRVZCUVUxaExFVkJRVkZhTEVWQlFVMWhMRVZCUXpWRExFOUJRVXRETEVkQlIweEJMRVZCUVUwc1JVRkJUVUVzUlVGRFdqVk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdG5TaXhGUVVGUlJ5eEZRVU42UWpWTUxFdEJRVXQ1UXl4UFFVRlBMRXRCUVU4eVNTeEZRVUZOVUN4RlFVRk5ReXhGUVVGTlN5eEhRVUZQVXl4RlFVTTFRelZNTEV0QlFVdDVReXhQUVVGUExFbEJRVTEzU1N4RlFVRk5TaXhGUVVGTlF5eEZRVUZOUlN4SFFVRlBXU3hGUVVNelF6Vk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHBTaXhGUVVGUlJTeEZRVU42UWpWTUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUweVNTeEZRVUZOVWl4RlFVRk5SU3hGUVVGTlNTeEhRVUZQVlN4RlFVTXpRelZNTEV0QlFVdDVReXhQUVVGUExFdEJRVTkzU1N4RlFVRk5UQ3hGUVVGTlJTeEZRVUZOUXl4SFFVRlBZU3hGUVVNMVF6Vk1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHJTaXhGUVVGUlF5eEZRVU42UWpWTUxFdEJRVXQ1UXl4UFFVRlBMRXRCUVU4d1NTeEZRVUZOVUN4RlFVRk5ReXhGUVVGTlN5eEhRVUZQVlN4RlFVTTFRelZNTEV0QlFVdDVReXhQUVVGUExFbEJRVTExU1N4RlFVRk5TaXhGUVVGTlF5eEZRVUZOUlN4SFFVRlBZU3hGUVVOd1F6Vk1MRTFCV2trc1RVRmpabk5MTEVWQlFVdDBTU3hWUVVGVmEwTXNVMEZCVnl4VFFVRlZTeXhIUVVOb1F5eEpRVUZKY1Vjc1JVRkJUVFZMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYjBrc1JVRkJUVGRMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDY1Vrc1JVRkJUVGxMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYzBrc1JVRkJUUzlMTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZFVrc1JVRkJUV2hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZDBrc1JVRkJUV3BNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDZVVrc1JVRkJUV3hNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTUVrc1JVRkJUVzVNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDTWtrc1JVRkJUWEJNTEV0QlFVdDVReXhQUVVGUExFZEJRMnhDYjBvc1JVRkJUWFJJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDSzBrc1JVRkJUWFpJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDWjBvc1JVRkJUWGhJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYVVvc1JVRkJUWHBJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYTBvc1JVRkJUVEZJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYlVvc1JVRkJUVE5JTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYjBvc1JVRkJUVFZJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDY1Vvc1JVRkJUVGRJTEVWQlFVOTRRaXhIUVVGSExFZEJRMmhDYzBvc1JVRkJUVGxJTEVWQlFVOTRRaXhIUVVGSExFZEJWWEJDTEU5QlZFRXZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxiMG9zUlVGQlRXcENMRVZCUVUxclFpeEZRVUZOWml4RlFVRk5aMElzUlVGQlRXSXNSVUZETDBOc1RDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGIwb3NSVUZCVFdoQ0xFVkJRVTFwUWl4RlFVRk5aQ3hGUVVGTlpTeEZRVUZOV2l4RlFVTXZRMjVNTEV0QlFVdDVReXhQUVVGUExFZEJRVXR2U2l4RlFVRk5aaXhGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZETDBOd1RDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGRVb3NSVUZCVFhCQ0xFVkJRVTF4UWl4RlFVRk5iRUlzUlVGQlRXMUNMRVZCUVUxb1FpeEZRVU12UTJ4TUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0MVNpeEZRVUZOYmtJc1JVRkJUVzlDTEVWQlFVMXFRaXhGUVVGTmEwSXNSVUZCVFdZc1JVRkRMME51VEN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMZFVvc1JVRkJUV3hDTEVWQlFVMXRRaXhGUVVGTmFFSXNSVUZCVFdsQ0xFVkJRVTFrTEVWQlF5OURjRXdzUzBGQlMzbERMRTlCUVU4c1IwRkJTekJLTEVWQlFVMTJRaXhGUVVGTmQwSXNSVUZCVFhKQ0xFVkJRVTF6UWl4RlFVRk5ia0lzUlVGREwwTnNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxNRW9zUlVGQlRYUkNMRVZCUVUxMVFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlFVMXNRaXhGUVVNdlEyNU1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVc3dTaXhGUVVGTmNrSXNSVUZCVFhOQ0xFVkJRVTF1UWl4RlFVRk5iMElzUlVGQlRXcENMRVZCUTNoRGNFd3NUVUZGV0hOTExFVkJRVXQwU1N4VlFVRlZkMFVzWVVGQlpTeFRRVUZWTDBNc1JVRkJVVFpKTEVkQlF6VkRMRWxCUVVsd1NpeEZRVUZKVHl4RlFVRlBVQ3hGUVVOWVF5eEZRVUZKVFN4RlFVRlBUaXhGUVVObUxFOUJRVWx0U2l4SFFVTkJRU3hGUVVGUGFFY3NSMEZCU3l4RFFVTlNjRVFzUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGVrTXNTMEZCUzNsRExFOUJRVThzUjBGRGRFUlRMRVZCUVVsc1JDeExRVUZMZVVNc1QwRkJUeXhIUVVGTFZTeEZRVUZKYmtRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNwRExFdEJRVXQ1UXl4UFFVRlBMRWxCUlc1RU5rb3NSMEZIUVN4SlFVRkpha01zUlVGQlQzcEdMRkZCUVZFc1EwRkRkRUl4UWl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTjBSRk1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGVrTXNTMEZCUzNsRExFOUJRVThzVFVGSmJFVTJTQ3hGUVVGTGRFa3NWVUZCVlhkRExHRkJRV1VzVTBGQlZXWXNSVUZCVVRaSkxFZEJRelZETEVsQlFVbHdTaXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllReXhGUVVGSlN5eEZRVUZQVEN4RlFVTm1MRTlCUVVsclNpeEhRVU5CUVN4RlFVRlBNVW9zU1VGQlRTeERRVU5VVFN4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUVVsd1JDeExRVUZMZVVNc1QwRkJUeXhIUVVNeFJGTXNSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VkxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVnl4RlFVRkpjRVFzUzBGQlMzbERMRTlCUVU4c1IwRkRNVVJUTEVWQlFVbHNSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxWU3hGUVVGSmJrUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxY3NSVUZCU1hCRUxFdEJRVXQ1UXl4UFFVRlBMRWxCUlhaRU5rb3NSMEZIUVN4SlFVRkpiRWNzUlVGQlQzaENMRkZCUVZFc1EwRkRkRUl4UWl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUVVsd1JDeExRVUZMZVVNc1QwRkJUeXhIUVVNeFJGTXNSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VkxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVnl4RlFVRkpjRVFzUzBGQlMzbERMRTlCUVU4c1IwRkRNVVJUTEVWQlFVbHNSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxWU3hGUVVGSmJrUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxY3NSVUZCU1hCRUxFdEJRVXQ1UXl4UFFVRlBMRTFCU1hSRk5rZ3NSVUZCUzNSSkxGVkJRVlZ0U0N4UFFVRlRMRk5CUVZWdFJDeEhRVU01UWl4UFFVRkpRU3hIUVVOQlFTeEZRVUZQY0VRc1MwRkJTeXhEUVVOU2JFb3NTMEZCUzNsRExFOUJRVThzUjBGRFducERMRXRCUVV0NVF5eFBRVUZQTEVkQlExcDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFMRVZCUTBGNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUjBGRFducERMRXRCUVV0NVF5eFBRVUZQTEVkQlExb3NSVUZEUVhwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUjBGRFdpeEZRVU5CTEVWQlEwRXNSVUZEUVN4RlFVTkJMRWxCUlVjMlNpeEhRVWRCTEVsQlFVa3pSaXhGUVVGUEwwSXNVVUZCVVN4RFFVTjBRalZGTEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVU5hZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZEV2l4RlFVTkJla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVU5hTEVWQlEwRjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMW9zUlVGRFFTeEZRVU5CTEVWQlEwRXNSVUZEUVN4TFFVbGFOa2dzUlVGQlMzUkpMRlZCUVZVeVF5eFBRVUZUTEZkQlEzQkNMRWxCUVVrMFNDeEZRVUZOZGswc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJclNpeEZRVUZOZUUwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKblN5eEZRVUZOZWswc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKcFN5eEZRVUZOTVUwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKclN5eEZRVUZOTTAwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdFN5eEZRVUZOTlUwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlN5eEZRVUZOTjAwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKeFN5eEZRVUZOT1Uwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKelN5eEZRVUZOTDAwc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKMVN5eEZRVUZ4UWxRc1JVRkJUVWtzUlVGQlRVa3NSVUZEYWtORkxFVkJRWEZDVGl4RlFVRk5TaXhGUVVGTlVTeEZRVU5xUTBjc1JVRkJjVUpJTEVWQlFVMVNMRVZCUVUxSkxFVkJSV3BEVVN4RlFVRmxMRVZCUTJaRExFVkJSbkZDWWl4RlFVRk5TU3hGUVVGTlNTeEZRVWRxUTBNc1JVRkJjVUpKTEVsQlEzSkNRU3hGUVVFeVFrb3NSVUZETTBKSExFVkJRV1VzUjBGRlprWXNSVUZCY1VKSExFbEJRM0pDUVN4RlFVRXlRa2dzUlVGRE0wSkZMRVZCUVdVc1IwRkZaa1FzUlVGQmNVSkZMRWxCUTNKQ1FTeEZRVUV5UWtZc1JVRkRNMEpETEVWQlFXVXNSMEZGYmtJc1NVRkJTVVVzUlVGQmRVUXNSMEZCTVVNeFNpeExRVUZMUnl4TFFVRkxjMG9zUlVGQk1rSXNSMEZEYkVSRkxFVkJRVThzU1VGQlQwUXNSVUZEWkdZc1JVRkJVeXhKUVVGSmFFc3NSVUZCVDNORExGRkJRM2hDTEU5QlFWRjFTU3hIUVVOS0xFdEJRVXNzUlVGRFJHSXNSVUZCVDNaSUxFVkJRVWx6U1N4RlFVTllaaXhGUVVGUGNFb3NSMEZCU3pCS0xFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ2FFSXNSVUZCVDI1S0xFZEJRVXN3U2l4RlFVRk5TaXhIUVVGUFlTeEZRVU42UW1oQ0xFVkJRVTlzU2l4SFFVRkxiMG9zUlVGQlRVVXNSMEZCVDFrc1JVRkRla0lzVFVGRFNpeExRVUZMTEVWQlEwUm9RaXhGUVVGUGRrZ3NSMEZCU3paSUxFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ2FFSXNSVUZCVDNCS0xFVkJRVWx0U3l4RlFVTllaaXhGUVVGUGJrb3NSMEZCUzNGS0xFVkJRVTFGTEVkQlFVOVpMRVZCUTNwQ2FFSXNSVUZCVDJ4S0xFZEJRVXQ1U2l4RlFVRk5TaXhIUVVGUFlTeEZRVU42UWl4TlFVTktMRXRCUVVzc1JVRkRSR2hDTEVWQlFVOTJTQ3hIUVVGTE9FZ3NSVUZCVFVvc1IwRkJUMkVzUlVGRGVrSm9RaXhGUVVGUGNFb3NSMEZCUzNOS0xFVkJRVTFGTEVkQlFVOVpMRVZCUTNwQ2FFSXNSVUZCVDI1S0xFVkJRVWxyU3l4RlFVTllaaXhGUVVGUGJFb3NSMEZCUzNkS0xFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ0xFMUJRMG9zUzBGQlN5eEZRVU5FYUVJc1JVRkJUM1pJTEVkQlFVdDVTQ3hGUVVGTlJTeEhRVUZQV1N4RlFVTjZRbWhDTEVWQlFVOXdTaXhIUVVGTE1rb3NSVUZCVFVvc1IwRkJUMkVzUlVGRGVrSm9RaXhGUVVGUGJrb3NSMEZCUzNsS0xFVkJRVTFGTEVkQlFVOVJMRVZCUTNwQ2FFSXNSVUZCVDJ4S0xFVkJRVWxwU3l4RlFVZHVRaXhQUVVGUFppeEhRVVZZYUVNc1JVRkJTM1JKTEZWQlFWVjFUQ3hQUVVGVExGTkJRVlUzUkN4RlFVRlBVeXhIUVVOeVF5eEpRVUZKYWtnc1JVRkJTV2xJTEVWQlFVdHFTQ3hGUVVOVVF5eEZRVUZKWjBnc1JVRkJTMmhJTEVWQlExUkRMRVZCUVVrclJ5eEZRVUZMTDBjc1JVRkRWRk1zUlVGQlUwWXNTMEZCUzBjc1MwRkJTMW9zUlVGQlNVRXNSVUZCU1VNc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1IwRkRNME1zU1VGQlMxTXNSVUZEUkN4UFFVRlBMRXRCUlVrc1NVRkJXRUVzU1VGRlFWZ3NSMEZFUVZjc1JVRkJVeXhGUVVGSlFTeEZRVVZpVml4SFFVRkxWU3hGUVVOTVZDeEhRVUZMVXl4SFFVVlVMRWxCUVVreFFpeEZRVUZKZDBJc1MwRkJTMjFDTEVsQlFVazBSU3hIUVVOaWFrb3NSVUZCU1d0RUxFdEJRVXRyUWl4SlFVRkpOa1VzUjBGRFluQkpMRVZCUVVrc1JVRkJUV0lzUlVGRFZtMUxMRVZCUVUwMVN5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FtOUpMRVZCUVUwM1N5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuRkpMRVZCUVUwNVN5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuTkpMRVZCUVUwdlN5eExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuVkpMRVZCUVUxb1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuZEpMRVZCUVUxcVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FubEpMRVZCUVUxc1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqQkpMRVZCUVUxdVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqSkpMRVZCUVUxd1RDeExRVUZMZVVNc1QwRkJUeXhKUVVOc1FtOUtMRVZCUVUwelNTeEZRVUZKUVN4RlFVRkpOVUlzUlVGQlNXSXNSVUZEYkVKeFRDeEZRVUZOTTBrc1JVRkJTVVFzUlVGQlNUVkNMRVZCUVVrNFFpeEZRVUZKYWtJc1JVRkRkRUkwU2l4RlFVRk5NMGtzUlVGQlNVWXNSVUZCU1RWQ0xFVkJRVWsyUWl4RlFVRkphRUlzUlVGRGRFSTJTaXhGUVVGTk9Va3NSVUZCU1VNc1JVRkJTVGRDTEVWQlFVazRRaXhGUVVGSmFrSXNSVUZEZEVJNFNpeEZRVUZOT1Vrc1JVRkJTVUVzUlVGQlNUZENMRVZCUVVsaUxFVkJRMnhDZVV3c1JVRkJUVGxKTEVWQlFVbEVMRVZCUVVrM1FpeEZRVUZKTkVJc1JVRkJTV1lzUlVGRGRFSm5TeXhGUVVGTmFrb3NSVUZCU1VVc1JVRkJTVGxDTEVWQlFVazJRaXhGUVVGSmFFSXNSVUZEZEVKcFN5eEZRVUZOYWtvc1JVRkJTVU1zUlVGQlNUbENMRVZCUVVrMFFpeEZRVUZKWml4RlFVTjBRbXRMTEVWQlFVMXFTaXhGUVVGSlFTeEZRVUZKT1VJc1JVRkJTV0lzUlVGVmRFSXNUMEZVUVZRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzIxSkxFVkJRVTFwUWl4RlFVRk5aQ3hGUVVGTlpTeEZRVUZOV2l4RlFVRk5ZU3hGUVVNdlF5OU1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHZTU3hGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZCVFZrc1JVRkRMME12VEN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY1Vrc1JVRkJUV1VzUlVGQlRWb3NSVUZCVFdFc1JVRkJUVllzUlVGQlRWY3NSVUZETDBNdlRDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGJVa3NSVUZCVFc5Q0xFVkJRVTFxUWl4RlFVRk5hMElzUlVGQlRXWXNSVUZCVFdkQ0xFVkJReTlEYkUwc1MwRkJTM2xETEU5QlFVOHNSMEZCUzI5SkxFVkJRVTF0UWl4RlFVRk5hRUlzUlVGQlRXbENMRVZCUVUxa0xFVkJRVTFsTEVWQlF5OURiRTBzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0ZKTEVWQlFVMXJRaXhGUVVGTlppeEZRVUZOWjBJc1JVRkJUV0lzUlVGQlRXTXNSVUZETDBOc1RTeExRVUZMZVVNc1QwRkJUeXhIUVVGTGJVa3NSVUZCVFhWQ0xFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxdFFpeEZRVU12UTNKTkxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0dlNTeEZRVUZOYzBJc1JVRkJUVzVDTEVWQlFVMXZRaXhGUVVGTmFrSXNSVUZCVFd0Q0xFVkJReTlEY2swc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNGSkxFVkJRVTF4UWl4RlFVRk5iRUlzUlVGQlRXMUNMRVZCUVUxb1FpeEZRVUZOYVVJc1JVRkRlRU55VFN4TlFVVlljMHNzUlVGQlMzcEZMRkZCUVZVc1UwRkJWVEpJTEVWQlFVbERMRVZCUVVsdVFpeEhRVU0zUWl4SlFVRkpNVUlzUlVGQlRUUkRMRVZCUVVkNlN5eEhRVUZITEVkQlExbzRTQ3hGUVVGTk1rTXNSVUZCUjNwTExFZEJRVWNzUjBGRFdpdElMRVZCUVUwd1F5eEZRVUZIZWtzc1IwRkJSeXhIUVVOYVowa3NSVUZCVFhsRExFVkJRVWQ2U3l4SFFVRkhMRWRCUTFwcFNTeEZRVUZOZDBNc1JVRkJSM3BMTEVkQlFVY3NSMEZEV210SkxFVkJRVTExUXl4RlFVRkhla3NzUjBGQlJ5eEhRVU5hYlVrc1JVRkJUWE5ETEVWQlFVZDZTeXhIUVVGSExFZEJRMXB2U1N4RlFVRk5jVU1zUlVGQlIzcExMRWRCUVVjc1IwRkRXbkZKTEVWQlFVMXZReXhGUVVGSGVrc3NSMEZCUnl4SFFVTmFPRWtzUlVGQlRUUkNMRVZCUVVjeFN5eEhRVUZITEVkQlExb3JTU3hGUVVGTk1rSXNSVUZCUnpGTExFZEJRVWNzUjBGRFdtZEtMRVZCUVUwd1FpeEZRVUZITVVzc1IwRkJSeXhIUVVOYWFVb3NSVUZCVFhsQ0xFVkJRVWN4U3l4SFFVRkhMRWRCUTFwclNpeEZRVUZOZDBJc1JVRkJSekZMTEVkQlFVY3NSMEZEV20xS0xFVkJRVTExUWl4RlFVRkhNVXNzUjBGQlJ5eEhRVU5hYjBvc1JVRkJUWE5DTEVWQlFVY3hTeXhIUVVGSExFZEJRMXB4U2l4RlFVRk5jVUlzUlVGQlJ6RkxMRWRCUVVjc1IwRkRXbk5LTEVWQlFVMXZRaXhGUVVGSE1Vc3NSMEZCUnl4SFFVTm9RaXhQUVVGSmRVb3NSMEZEUVVFc1JVRkJUM0JFTEV0QlFVc3NRMEZEVWpKRExFVkJRVTFxUWl4RlFVRk5hMElzUlVGQlRXWXNSVUZCVFdkQ0xFVkJRVTFpTEVWQlF6bENWeXhGUVVGTmFFSXNSVUZCVFdsQ0xFVkJRVTFrTEVWQlFVMWxMRVZCUVUxYUxFVkJRemxDVlN4RlFVRk5aaXhGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZET1VKWkxFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxdFFpeEZRVUZOYUVJc1JVRkRPVUpqTEVWQlFVMXVRaXhGUVVGTmIwSXNSVUZCVFdwQ0xFVkJRVTFyUWl4RlFVRk5aaXhGUVVNNVFtRXNSVUZCVFd4Q0xFVkJRVTF0UWl4RlFVRk5hRUlzUlVGQlRXbENMRVZCUVUxa0xFVkJRemxDWlN4RlFVRk5ka0lzUlVGQlRYZENMRVZCUVUxeVFpeEZRVUZOYzBJc1JVRkJUVzVDTEVWQlF6bENhVUlzUlVGQlRYUkNMRVZCUVUxMVFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlFVMXNRaXhGUVVNNVFtZENMRVZCUVUxeVFpeEZRVUZOYzBJc1JVRkJUVzVDTEVWQlFVMXZRaXhGUVVGTmFrSXNTVUZGTTBKclFpeEhRVWRCTEVsQlFVbG9ReXhGUVVGTExFTkJRMXAxUWl4RlFVRk5ha0lzUlVGQlRXdENMRVZCUVUxbUxFVkJRVTFuUWl4RlFVRk5ZaXhGUVVNNVFsY3NSVUZCVFdoQ0xFVkJRVTFwUWl4RlFVRk5aQ3hGUVVGTlpTeEZRVUZOV2l4RlFVTTVRbFVzUlVGQlRXWXNSVUZCVFdkQ0xFVkJRVTFpTEVWQlFVMWpMRVZCUVUxWUxFVkJRemxDV1N4RlFVRk5jRUlzUlVGQlRYRkNMRVZCUVUxc1FpeEZRVUZOYlVJc1JVRkJUV2hDTEVWQlF6bENZeXhGUVVGTmJrSXNSVUZCVFc5Q0xFVkJRVTFxUWl4RlFVRk5hMElzUlVGQlRXWXNSVUZET1VKaExFVkJRVTFzUWl4RlFVRk5iVUlzUlVGQlRXaENMRVZCUVUxcFFpeEZRVUZOWkN4RlFVTTVRbVVzUlVGQlRYWkNMRVZCUVUxM1FpeEZRVUZOY2tJc1JVRkJUWE5DTEVWQlFVMXVRaXhGUVVNNVFtbENMRVZCUVUxMFFpeEZRVUZOZFVJc1JVRkJUWEJDTEVWQlFVMXhRaXhGUVVGTmJFSXNSVUZET1VKblFpeEZRVUZOY2tJc1JVRkJUWE5DTEVWQlFVMXVRaXhGUVVGTmIwSXNSVUZCVFdwQ0xFdEJTVEZEWkN4RlFVRkxSaXhWUVVGWExFbEJRVWxGTEVkQlFVOXVSQ3hqUVVOd1FtMUVMRVZCZGxsakxFZEJlVmw2UW5aTExFVkJRVkUyUlN4UlFVRlZNRVlzUnl3MlFrTXZXV3hDZUVvc1QwRkJUME1zWlVGQlpXaENMRVZCUVZNc1lVRkJZeXhEUVVGRmMwSXNUMEZCVHl4SlFVTjBSQ3hKUVVGSmNVWXNSVUZCVXl4RlFVRlJMRWRCUTJwQ1RpeEZRVUZUTEVWQlFWRXNSMEZEYWtKelNDeEZRVUZUTEVWQlFWRXNTVUZEYWtKdVRDeEZRVUZqTEVWQlFWRXNSMEZEZEVKdlRDeEZRVUZ6UWl4WFFVTjBRaXhUUVVGVFFTeEZRVUZMYkV3c1IwRkRWbnBETEV0QlFVdDVReXhQUVVGVExFbEJRVWxETEdGQlFXRXNVMEZEYUVKRExFbEJRVmhHTEVkQlEwRjZReXhMUVVGTGEwb3NTMEZCUzNwSExFZEJjV2hDYkVJc1QwRnNhRUpCYTB3c1JVRkJTek5NTEZWQlFWVmxMRWRCUVVzc1UwRkJWVU1zUjBGRE1VSXNUMEZCVDJoRUxFdEJRVXQ1UXl4UFFVRlBUeXhKUVVWMlFqSkxMRVZCUVVzelRDeFZRVUZWYTBnc1MwRkJUeXhUUVVGVmVrY3NSMEZETlVJc1NVRkJTeXhKUVVGSmNrTXNSVUZCU1N4RlFVRkhRU3hGUVVGSkxFZEJRVWxCTEVsQlEzQkNTaXhMUVVGTGVVTXNUMEZCVDNKRExFZEJRVXR4UXl4RlFVRlBja01zUjBGRk5VSXNUMEZCVDBvc1RVRkZXREpPTEVWQlFVc3pUQ3hWUVVGVmFVSXNUVUZCVVN4WFFVTnVRaXhKUVVGTExFbEJRVWszUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUjBGQlNVRXNTVUZEY0VKS0xFdEJRVXQ1UXl4UFFVRlBja01zUjBGQlN5eEhRVWQ2UW5WT0xFVkJRVXN6VEN4VlFVRlZjVUlzUzBGQlR5eFRRVUZWUXl4SFFVTjJRa0VzU1VGRFJFRXNSVUZCVHl4SlFVRkpjVXNzUjBGRlppeEpRVUZMTEVsQlFVbDJUaXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NSMEZCU1VFc1NVRkRjRUpyUkN4RlFVRkxZaXhQUVVGUGNrTXNSMEZCUzBvc1MwRkJTM2xETEU5QlFVOXlReXhIUVVWcVF5eFBRVUZQYTBRc1IwRkZXSEZMTEVWQlFVc3pUQ3hWUVVGVmRVa3NTVUZCVFN4WFFVVnFRaXhKUVVSQkxFbEJRVWxETEVWQlFVOHNSMEZEUm5CTExFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SFFVRkpRU3hKUVVOd1FtOUxMRVZCUVV0d1N5eEhRVUZMU2l4TFFVRkxlVU1zVDBGQlQzSkRMRWRCUlRGQ0xFOUJRVTl2U3l4SFFVVlliVVFzUlVGQlN6Tk1MRlZCUVZWNVNTeEpRVUZOTEZOQlFWVjZTQ3hIUVVNelFpeE5RVUZQTEVOQlEwaG9SQ3hMUVVGTGVVTXNUMEZCWlN4RlFVRlNUeXhGUVVGWkxFZEJRM2hDYUVRc1MwRkJTM2xETEU5QlFXVXNSVUZCVWs4c1JVRkJXU3hIUVVONFFtaEVMRXRCUVV0NVF5eFBRVUZsTEVWQlFWSlBMRVZCUVZrc1IwRkRlRUpvUkN4TFFVRkxlVU1zVDBGQlpTeEZRVUZTVHl4RlFVRlpMRXRCUjJoRE1rc3NSVUZCU3pOTUxGVkJRVlV3U1N4SlFVRk5MRk5CUVZVeFNDeEhRVU16UWl4TlFVRlBMRU5CUTBob1JDeExRVUZMZVVNc1QwRkJUMDhzUjBGRFdtaEVMRXRCUVV0NVF5eFBRVUZQVHl4RlFVRlJMRWRCUTNCQ2FFUXNTMEZCUzNsRExFOUJRVTlQTEVWQlFWRXNSMEZEY0VKb1JDeExRVUZMZVVNc1QwRkJUMDhzUlVGQlVTeE5RVWMxUWpKTExFVkJRVXN6VEN4VlFVRlZkMElzVDBGQlV5eFRRVUZWWlN4RlFVRlJZaXhSUVVOd1FpeEpRVUZrUVN4SlFVRjNRa0VzUlVGQldXNUNMRVZCUVZsSUxGTkJRM0JFTEVsQlFVc3NTVUZCU1doRExFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SFFVRkpRU3hKUVVOd1FpeEhRVUZKZFVRc1MwRkJTME1zU1VGQlNUVkVMRXRCUVV0NVF5eFBRVUZQY2tNc1IwRkJTMjFGTEVWQlFVOTRRaXhIUVVGSE0wTXNTVUZCVFhORUxFVkJRekZETEU5QlFVOHNSVUZIWml4UFFVRlBMRWRCUlZocFN5eEZRVUZMTTB3c1ZVRkJWVEpKTEZsQlFXTXNWMEZEZWtJc1NVRkJTVU1zUlVGQlRUVkxMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENiMGtzUlVGQlRUZExMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENjVWtzUlVGQlRUbExMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENiVXdzUlVGQlRUVk9MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENjMGtzUlVGQlRTOUxMRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENkVWtzUlVGQlRXaE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENkMGtzUlVGQlRXcE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENiMHdzUlVGQlRUZE9MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENlVWtzUlVGQlRXeE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNRWtzUlVGQlRXNU1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNa2tzUlVGQlRYQk1MRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENjVXdzUlVGQlRUbE9MRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENjMHdzUlVGQlRTOU9MRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENkVXdzUlVGQlRXaFBMRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENkMHdzUlVGQlRXcFBMRXRCUVV0NVF5eFBRVUZQTEVsQlEyeENlVXdzUlVGQlRXeFBMRXRCUVV0NVF5eFBRVUZQTEVsQllYUkNMRTlCV2xsdFNTeEZRVUZOU1N4RlFVRk5TQ3hGUVVGTlJTeEpRVmRzUWtzc1JVRkJUVGhETEVWQlFVMUtMRVZCUVUxSExFbEJWbXhDY2tRc1JVRkJUVXNzUlVGQlRVZ3NSVUZCVFVNc1NVRlRiRUpKTEVWQlFVMHJReXhGUVVGTlNpeEZRVUZOUlN4SlFWSnNRbkJFTEVWQlFVMXBSQ3hGUVVGTlJDeEZRVUZOTjBNc1NVRlBiRUpKTEVWQlFVMDRReXhGUVVGTk4wTXNSVUZCVFRSRExFbEJUbXhDYmtRc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVVc1NVRkxiRUpGTEVWQlFVMW5SQ3hGUVVGTlNpeEZRVUZOUXl4SlFVcHNRbXhFTEVWQlFVMW5SQ3hGUVVGTlJDeEZRVUZOTlVNc1NVRkhiRUpGTEVWQlFVMHJReXhGUVVGTk4wTXNSVUZCVFRKRExFbEJSbXhDYWtRc1JVRkJUU3RETEVWQlFVMUVMRVZCUVUwelF5eEpRVU5zUWtNc1JVRkJUVGhETEVWQlFVMDNReXhGUVVGTk5FTXNTVUZSYkVOS0xFVkJRVXN6VEN4VlFVRlZiVVlzV1VGQll5eFhRV2xDZWtJc1QwRm9Ra0Z1U0N4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTeXhGUVVOcVFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVc3NSVUZEYWtKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTExFVkJRMnBDZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCU3l4RlFVTnFRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXNzUlVGRGFrSjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxMRVZCUTJwQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlN5eEZRVU5xUW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVVzc1JVRkRha0o2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1NVRkJUU3hGUVVOc1FucERMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMHNSVUZEYkVKNlF5eExRVUZMZVVNc1QwRkJUeXhKUVVGTkxFVkJRMnhDZWtNc1MwRkJTM2xETEU5QlFVOHNTVUZCVFN4RlFVTnNRbnBETEV0QlFVdDVReXhQUVVGUExFbEJRVTBzUlVGRGJFSjZReXhMUVVGTGVVTXNUMEZCVHl4SlFVRk5MRVZCUTFoNlF5eE5RVVZZTWs0c1JVRkJTek5NTEZWQlFWVnhTaXhWUVVGWkxGZEJRM1pDTEVsQlFVbERMRVZCUVZOMFRDeExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqaEpMRVZCUVZOMlRDeExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqQk1MRVZCUVZOdVR5eExRVUZMZVVNc1QwRkJUeXhIUVVOeVFpdEpMRVZCUVZONFRDeExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqSk1MRVZCUVZOd1R5eExRVUZMZVVNc1QwRkJUeXhIUVVOeVFqUk1MRVZCUVZOeVR5eExRVUZMZVVNc1QwRkJUeXhKUVdGNlFpeFBRVnBCZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUXpkQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlF6ZENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTM3BETEV0QlFVdDVReXhQUVVGUExFbEJRemRDZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCU3paSkxFVkJRMnBDZEV3c1MwRkJTM2xETEU5QlFVOHNSMEZCUzNwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUXpkQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVsQlF6ZENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTemhKTEVWQlEycENka3dzUzBGQlMzbERMRTlCUVU4c1IwRkJTeXRKTEVWQlEycENlRXdzUzBGQlMzbERMRTlCUVU4c1NVRkJUWHBETEV0QlFVdDVReXhQUVVGUExFbEJRemxDZWtNc1MwRkJTM2xETEU5QlFVOHNTVUZCVFRCTUxFVkJRMnhDYms4c1MwRkJTM2xETEU5QlFVOHNTVUZCVFRKTUxFVkJRMnhDY0U4c1MwRkJTM2xETEU5QlFVOHNTVUZCVFRSTUxFVkJRMWh5VHl4TlFVVllNazRzUlVGQlN6Tk1MRlZCUVZWeFJpeFJRVUZWTEZkQlEzSkNMRWxCUVVsMVJDeEZRVUZOTlVzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlNTeEZRVUZOTjBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKeFNTeEZRVUZOT1Vzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdFRDeEZRVUZOTlU0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKelNTeEZRVUZOTDBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKMVNTeEZRVUZOYUV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKM1NTeEZRVUZOYWt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlRDeEZRVUZOTjA0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKNVNTeEZRVUZOYkV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJd1NTeEZRVUZOYmt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJeVNTeEZRVUZOY0V3c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKeFRDeEZRVUZOT1U0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKelRDeEZRVUZOTDA0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKMVRDeEZRVUZOYUU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKM1RDeEZRVUZOYWs4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKNVRDeEZRVUZOYkU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVJMlRDeEZRVUZSTVVRc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVVc1JVRkRNVUpWTEVWQlFWRmlMRVZCUVUxTExFVkJRVTFJTEVWQlFVMURMRVZCUXpGQ2QwUXNSVUZCVVRORUxFVkJRVTFwUkN4RlFVRk5SQ3hGUVVGTk4wTXNSVUZETVVKNVJDeEZRVUZSTTBRc1JVRkJUVWtzUlVGQlRVZ3NSVUZCVFVVc1JVRkRNVUo1UkN4RlFVRlJOVVFzUlVGQlRXZEVMRVZCUVUxRUxFVkJRVTAxUXl4RlFVTXhRakJFTEVWQlFWRTFSQ3hGUVVGTkswTXNSVUZCVFVRc1JVRkJUVE5ETEVWQlF6RkNNRVFzUlVGQlVYcEVMRVZCUVUwNFF5eEZRVUZOTjBNc1JVRkJUVFJETEVWQlF6RkNZU3hGUVVGUk1VUXNSVUZCVFN0RExFVkJRVTAzUXl4RlFVRk5Na01zUlVGRE1VSmpMRVZCUVZFelJDeEZRVUZOWjBRc1JVRkJUVW9zUlVGQlRVTXNSVUZETVVKbExFVkJRVkV6UkN4RlFVRk5PRU1zUlVGQlRUZERMRVZCUVUwMFF5eEZRVU14UW1Vc1JVRkJVVFZFTEVWQlFVMHJReXhGUVVGTlNpeEZRVUZOUlN4RlFVTXhRblJETEVWQlFWRk9MRVZCUVUwNFF5eEZRVUZOU2l4RlFVRk5SeXhGUVVNeFFuSkRMRVZCUVU4d1F5eEZRVUZSTlVNc1JVRkJVVVFzUlVGQlVYTkVMRVZCUVZGU0xFVkJRVkZQTEVWQlFWRk9MRVZCUVZGTExFVkJRVkZLTEVWQlFWRkhMRVZCUVZGR0xFVkJRVkZETEVWQlEyNUhMRTlCUVVzdlF5eEhRVWRNUVN4RlFVRk5MRVZCUVUxQkxFVkJRMW8xVEN4TFFVRkxlVU1zVDBGQlR5eEpRVUZOZFVrc1JVRkJUVlVzUlVGQlVWUXNSVUZCVFRoRUxFVkJRVkZzUWl4RlFVRk5hVUlzUjBGQlUyeEVMRVZCUXpkRU5Vd3NTMEZCUzNsRExFOUJRVThzUzBGQlQyOUpMRVZCUVUxaExFVkJRVkZhTEVWQlFVMXBSU3hGUVVGUmJrSXNSVUZCVFd0Q0xFZEJRVk5zUkN4RlFVTTVSRFZNTEV0QlFVdDVReXhQUVVGUExFbEJRVTExVEN4RlFVRk5WU3hGUVVGUlZDeEZRVUZOVVN4RlFVRlJVQ3hGUVVGTlRTeEhRVUZUTlVNc1JVRkROMFExVEN4TFFVRkxlVU1zVDBGQlR5eExRVUZQTUVrc1JVRkJUWFZFTEVWQlFWRjBSQ3hGUVVGTmNVUXNSVUZCVVZnc1JVRkJUVlVzUjBGQlV6VkRMRVZCUXpsRU5Vd3NTMEZCUzNsRExFOUJRVThzUzBGQlQzTkpMRVZCUVUxWExFVkJRVkZVTEVWQlFVMDBSQ3hGUVVGUmFFSXNSVUZCVFdVc1IwRkJVMmhFTEVWQlF6bEVOVXdzUzBGQlMzbERMRTlCUVU4c1NVRkJUVzFKTEVWQlFVMWpMRVZCUVZGYUxFVkJRVTByUkN4RlFVRlJha0lzUlVGQlRXZENMRWRCUVZOb1JDeEZRVU0zUkRWTUxFdEJRVXQ1UXl4UFFVRlBMRXRCUVU5elRDeEZRVUZOVnl4RlFVRlJWQ3hGUVVGTlRTeEZRVUZSVEN4RlFVRk5la01zUjBGQlUwY3NSVUZET1VRMVRDeExRVUZMZVVNc1QwRkJUeXhKUVVGTmVVa3NSVUZCVFhkRUxFVkJRVkYwUkN4RlFVRk5iVVFzUlVGQlVWUXNSVUZCVFhKRExFZEJRVk5ITEVWQlF6ZEVOVXdzUzBGQlMzbERMRTlCUVU4c1NVRkJUWE5KTEVWQlFVMW5SU3hGUVVGUkwwUXNSVUZCVFRaRUxFVkJRVkZvUWl4RlFVRk5ZeXhIUVVGVEwwTXNSVUZETjBRMVRDeExRVUZMZVVNc1QwRkJUeXhMUVVGUGJVa3NSVUZCVFcxRkxFVkJRVkZzUlN4RlFVRk5aMFVzUlVGQlVXcENMRVZCUVUxbExFZEJRVk12UXl4RlFVTTVSRFZNTEV0QlFVdDVReXhQUVVGUExFdEJRVTl6VEN4RlFVRk5WU3hGUVVGUlZDeEZRVUZOVHl4RlFVRlJUQ3hGUVVGTlNTeEhRVUZUTVVNc1JVRkRPVVExVEN4TFFVRkxlVU1zVDBGQlR5eE5RVUZSZVVrc1JVRkJUWFZFTEVWQlFWRjBSQ3hGUVVGTmIwUXNSVUZCVVZRc1JVRkJUVkVzUjBGQlV6RkRMRVZCUXk5RU5Vd3NTMEZCUzNsRExFOUJRVThzVFVGQlVYTkpMRVZCUVUwclJDeEZRVUZST1VRc1JVRkJUVFJFTEVWQlFWRXpSQ3hGUVVGTk1FUXNSMEZCVXk5RExFVkJReTlFTlV3c1MwRkJTM2xETEU5QlFVOHNTMEZCVDIxSkxFVkJRVTFyUlN4RlFVRlJha1VzUlVGQlRTdEVMRVZCUVZFNVJDeEZRVUZOTmtRc1IwRkJVeTlETEVWQlF6bEVOVXdzUzBGQlMzbERMRTlCUVU4c1RVRkJVWE5NTEVWQlFVMVRMRVZCUVZGU0xFVkJRVTEyUXl4RlFVRlJkME1zUlVGQlRVc3NSMEZCVXpGRExFVkJReTlFTlV3c1MwRkJTM2xETEU5QlFVOHNTMEZCVDNsSkxFVkJRVTF6UkN4RlFVRlJja1FzUlVGQlRVMHNSVUZCVVV3c1JVRkJUV3RFTEVkQlFWTXhReXhGUVVOMlJEVk1MRTFCYmtKSkxFMUJjVUptTWs0c1JVRkJTek5NTEZWQlFWVnJReXhUUVVGWExGTkJRVlZMTEVkQlEyaERMRWxCUVVseFJ5eEZRVUZOTlVzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlNTeEZRVUZOTjBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKeFNTeEZRVUZOT1Vzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdFRDeEZRVUZOTlU0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKelNTeEZRVUZOTDBzc1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKMVNTeEZRVUZOYUV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKM1NTeEZRVUZOYWt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKdlRDeEZRVUZOTjA0c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVKNVNTeEZRVUZOYkV3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJd1NTeEZRVUZOYmt3c1MwRkJTM2xETEU5QlFVOHNSMEZEYkVJeVNTeEZRVUZOY0V3c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKeFRDeEZRVUZOT1U0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKelRDeEZRVUZOTDA0c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKMVRDeEZRVUZOYUU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKM1RDeEZRVUZOYWs4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKNVRDeEZRVUZOYkU4c1MwRkJTM2xETEU5QlFVOHNTVUZEYkVKMVRTeEZRVUZMZWtzc1JVRkJUM2hDTEVkQlFVY3NSMEZEWm10TkxFVkJRVXN4U3l4RlFVRlBlRUlzUjBGQlJ5eEhRVU5tYlUwc1JVRkJTek5MTEVWQlFVOTRRaXhIUVVGSExFZEJRMlp2VFN4RlFVRkxOVXNzUlVGQlQzaENMRWRCUVVjc1IwRTJRbTVDTEU5Qk5VSkJMME1zUzBGQlMzbERMRTlCUVU4c1IwRkJTM1ZOTEVWQlFVdHdSU3hGUVVGTmNVVXNSVUZCUzJ4RkxFVkJRVTF0UlN4RlFVRkxhRVVzUlVGQlRXbEZMRVZCUVV0d1FpeEZRVU4yUkM5T0xFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0MVRTeEZRVUZMYmtVc1JVRkJUVzlGTEVWQlFVdHFSU3hGUVVGTmEwVXNSVUZCU3k5RUxFVkJRVTFuUlN4RlFVRkxia0lzUlVGRGRrUm9UeXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxkVTBzUlVGQlMyeEZMRVZCUVUxdFJTeEZRVUZMYUVVc1JVRkJUV2xGTEVWQlFVczVSQ3hGUVVGTkswUXNSVUZCUzJ4Q0xFVkJRM1pFYWs4c1MwRkJTM2xETEU5QlFVOHNSMEZCUzNWTkxFVkJRVXR3UWl4RlFVRk5jVUlzUlVGQlMzQkNMRVZCUVUxeFFpeEZRVUZMY0VJc1JVRkJUWEZDTEVWQlFVdHFRaXhGUVVOMlJHTXNSVUZCUzNwTExFVkJRVTk0UWl4SFFVRkhMRWRCUTJaclRTeEZRVUZMTVVzc1JVRkJUM2hDTEVkQlFVY3NSMEZEWm0xTkxFVkJRVXN6U3l4RlFVRlBlRUlzUjBGQlJ5eEhRVU5tYjAwc1JVRkJTelZMTEVWQlFVOTRRaXhIUVVGSExFZEJRMll2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMZFUwc1JVRkJTM0JGTEVWQlFVMXhSU3hGUVVGTGJFVXNSVUZCVFcxRkxFVkJRVXRvUlN4RlFVRk5hVVVzUlVGQlMzQkNMRVZCUTNaRUwwNHNTMEZCUzNsRExFOUJRVThzUjBGQlMzVk5MRVZCUVV0dVJTeEZRVUZOYjBVc1JVRkJTMnBGTEVWQlFVMXJSU3hGUVVGTEwwUXNSVUZCVFdkRkxFVkJRVXR1UWl4RlFVTjJSR2hQTEV0QlFVdDVReXhQUVVGUExFZEJRVXQxVFN4RlFVRkxiRVVzUlVGQlRXMUZMRVZCUVV0b1JTeEZRVUZOYVVVc1JVRkJTemxFTEVWQlFVMHJSQ3hGUVVGTGJFSXNSVUZEZGtScVR5eExRVUZMZVVNc1QwRkJUeXhIUVVGTGRVMHNSVUZCUzNCQ0xFVkJRVTF4UWl4RlFVRkxjRUlzUlVGQlRYRkNMRVZCUVV0d1FpeEZRVUZOY1VJc1JVRkJTMnBDTEVWQlEzWkVZeXhGUVVGTGVrc3NSVUZCVDNoQ0xFZEJRVWNzUjBGRFptdE5MRVZCUVVzeFN5eEZRVUZQZUVJc1IwRkJSeXhIUVVObWJVMHNSVUZCU3pOTExFVkJRVTk0UWl4SFFVRkhMRWxCUTJadlRTeEZRVUZMTlVzc1JVRkJUM2hDTEVkQlFVY3NTVUZEWmk5RExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0MVRTeEZRVUZMY0VVc1JVRkJUWEZGTEVWQlFVdHNSU3hGUVVGTmJVVXNSVUZCUzJoRkxFVkJRVTFwUlN4RlFVRkxjRUlzUlVGRGRrUXZUaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxkVTBzUlVGQlMyNUZMRVZCUVUxdlJTeEZRVUZMYWtVc1JVRkJUV3RGTEVWQlFVc3ZSQ3hGUVVGTlowVXNSVUZCUzI1Q0xFVkJRM1pFYUU4c1MwRkJTM2xETEU5QlFVOHNTVUZCVFhWTkxFVkJRVXRzUlN4RlFVRk5iVVVzUlVGQlMyaEZMRVZCUVUxcFJTeEZRVUZMT1VRc1JVRkJUU3RFTEVWQlFVdHNRaXhGUVVONFJHcFBMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMTFUU3hGUVVGTGNFSXNSVUZCVFhGQ0xFVkJRVXR3UWl4RlFVRk5jVUlzUlVGQlMzQkNMRVZCUVUxeFFpeEZRVUZMYWtJc1JVRkRlRVJqTEVWQlFVdDZTeXhGUVVGUGVFSXNSMEZCUnl4SlFVTm1hMDBzUlVGQlN6RkxMRVZCUVU5NFFpeEhRVUZITEVsQlEyWnRUU3hGUVVGTE0wc3NSVUZCVDNoQ0xFZEJRVWNzU1VGRFptOU5MRVZCUVVzMVN5eEZRVUZQZUVJc1IwRkJSeXhKUVVObUwwTXNTMEZCUzNsRExFOUJRVThzU1VGQlRYVk5MRVZCUVV0d1JTeEZRVUZOY1VVc1JVRkJTMnhGTEVWQlFVMXRSU3hGUVVGTGFFVXNSVUZCVFdsRkxFVkJRVXR3UWl4RlFVTjRSQzlPTEV0QlFVdDVReXhQUVVGUExFbEJRVTExVFN4RlFVRkxia1VzUlVGQlRXOUZMRVZCUVV0cVJTeEZRVUZOYTBVc1JVRkJTeTlFTEVWQlFVMW5SU3hGUVVGTGJrSXNSVUZEZUVSb1R5eExRVUZMZVVNc1QwRkJUeXhKUVVGTmRVMHNSVUZCUzJ4RkxFVkJRVTF0UlN4RlFVRkxhRVVzUlVGQlRXbEZMRVZCUVVzNVJDeEZRVUZOSzBRc1JVRkJTMnhDTEVWQlEzaEVhazhzUzBGQlMzbERMRTlCUVU4c1NVRkJUWFZOTEVWQlFVdHdRaXhGUVVGTmNVSXNSVUZCUzNCQ0xFVkJRVTF4UWl4RlFVRkxjRUlzUlVGQlRYRkNMRVZCUVV0cVFpeEZRVU5xUkd4UExFMUJSVmd5VGl4RlFVRkxNMHdzVlVGQlZYZERMR0ZCUVdVc1UwRkJWV1lzUjBGRGNFTXNTVUZCU1ZBc1JVRkJTVThzUlVGQlQxQXNSVUZEV0VNc1JVRkJTVTBzUlVGQlQwNHNSVUZEV0VNc1JVRkJTVXNzUlVGQlQwd3NSVUZEWml4UFFVRlBMRWxCUVVsblJDeEZRVUZQZUVJc1VVRkJVU3hEUVVOMFFqVkZMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFRMRVZCUVVsc1JDeExRVUZMZVVNc1QwRkJUeXhIUVVGTFZTeEZRVUZKYmtRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzFjc1JVRkJTWEJFTEV0QlFVdDVReXhQUVVGUExFbEJRek5GZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzFNc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxWeXhGUVVGSmNFUXNTMEZCUzNsRExFOUJRVThzU1VGRE0wVjZReXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxVeXhGUVVGSmJFUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxVXNSVUZCU1c1RUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxWExFVkJRVWx3UkN4TFFVRkxlVU1zVDBGQlR5eFBRVWR3Um10TUxFVkJRVXN6VEN4VlFVRlZiMDRzWVVGQlpTeFRRVUZWTTB3c1JVRkJVVWdzUjBGRGRrTkJMRWxCUTBSQkxFVkJRVThzU1VGQlNXOUxMRVZCUVU4NVNTeFRRVVYwUWl4SlFVRkpNVUlzUlVGQlNVOHNSVUZCVDFBc1JVRkRXRU1zUlVGQlNVMHNSVUZCVDA0c1JVRkRXRU1zUlVGQlNVc3NSVUZCVDB3c1JVRkRXREpDTEVWQlFVbDBRaXhGUVVGUGMwSXNSVUZMWml4UFFVcEJla0lzUlVGQlMwb3NSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VExFVkJRVWxzUkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVlN4RlFVRkpia1FzUzBGQlMzbERMRTlCUVU4c1IwRkJTMWNzUlVGQlNYQkVMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMXpReXhGUVVNeFJucENMRVZCUVV0SUxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVXl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUVVsd1JDeExRVUZMZVVNc1QwRkJUeXhKUVVGTmMwTXNSVUZETVVaNlFpeEZRVUZMUml4RlFVRkpjRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMU1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhKUVVGTlZ5eEZRVUZKY0VRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFhORExFVkJRek5HZWtJc1JVRkJTM2xDTEVWQlFVa3ZSU3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxVeXhGUVVGSmJFUXNTMEZCUzNsRExFOUJRVThzUjBGQlMxVXNSVUZCU1c1RUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxWExFVkJRVWx3UkN4TFFVRkxlVU1zVDBGQlR5eEpRVUZOYzBNc1JVRkRjRVo2UWl4SFFVVlljVXNzUlVGQlN6Tk1MRlZCUVZWNVJ5eFBRVUZUTEZkQlEzQkNMRTlCUVU4c1NVRkJTUzlDTEVWQlFVODVRaXhSUVVGUkxFTkJRM1JDTlVVc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUjBGRFducERMRXRCUVV0NVF5eFBRVUZQTEVkQlExcDZReXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eFBRVWR3UW10TUxFVkJRVXN6VEN4VlFVRlZjVTRzWTBGQlowSXNWMEZETTBJc1NVRkJTWHBGTEVWQlFVMDFTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlKTEVWQlFVMDNTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbkZKTEVWQlFVMDVTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbk5KTEVWQlFVMHZTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRblZKTEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmxKTEVWQlFVMXNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SlFVTnNRbWRLTEVWQlFWRk1MRVZCUVUxS0xFVkJRVTFETEVWQlFVMUZMRVZCUXpGQ1R5eEhRVUZUVGl4RlFVRk5UQ3hGUVVGTlJTeEZRVUZOUXl4RlFVTXpRbE1zUlVGQlVWSXNSVUZCVFVvc1JVRkJUVU1zUlVGQlRVVXNSVUZETVVKVkxFVkJRVTFvUWl4RlFVRk5ZU3hGUVVGUldpeEZRVUZOWVN4RlFVRlJXaXhGUVVGTllTeEZRVU0xUXl4UFFVRkxReXhIUVVkTVFTeEZRVUZOTEVWQlFVMUJMRVZCUTB3c1NVRkJTV3hHTEVWQlFVODVRaXhSUVVGUkxFTkJRM1JDTmtjc1JVRkJVVWNzU1VGRFRsSXNSVUZCVFZBc1JVRkJUVU1zUlVGQlRVc3NSMEZCVDFNc1IwRkRNVUpZTEVWQlFVMUtMRVZCUVUxRExFVkJRVTFGTEVkQlFVOVpMRVZCUXpGQ1JpeEZRVUZSUlN4SFFVTlFVaXhGUVVGTlVpeEZRVUZOUlN4RlFVRk5TU3hIUVVGUFZTeEpRVU40UWxnc1JVRkJUVXdzUlVGQlRVVXNSVUZCVFVNc1IwRkJUMkVzUlVGRE0wSkVMRVZCUVZGRExFbEJRMDVVTEVWQlFVMVFMRVZCUVUxRExFVkJRVTFMTEVkQlFVOVZMRWRCUXpGQ1dpeEZRVUZOU2l4RlFVRk5ReXhGUVVGTlJTeEhRVUZQWVN4TFFWcHVRaXhOUVdWbUswSXNSVUZCU3pOTUxGVkJRVlZ6VGl4VlFVRlpMRk5CUVZVM1RDeEhRVU5xUXl4SlFVRkpVQ3hGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTllReXhGUVVGSlN5eEZRVUZQVEN4RlFVdG1MRTlCU2tGd1JDeExRVUZMZVVNc1QwRkJUeXhMUVVGUGVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMxTXNSVUZCU1d4RUxFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0VkxFVkJRVWx1UkN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVnl4RlFVTTVSWEJFTEV0QlFVdDVReXhQUVVGUExFdEJRVTk2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMVXl4RlFVRkpiRVFzUzBGQlMzbERMRTlCUVU4c1IwRkJTMVVzUlVGQlNXNUVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFhMRVZCUXpsRmNFUXNTMEZCUzNsRExFOUJRVThzUzBGQlQzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFRMRVZCUVVsc1JDeExRVUZMZVVNc1QwRkJUeXhIUVVGTFZTeEZRVUZKYmtRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFZjc1JVRkRMMFZ3UkN4TFFVRkxlVU1zVDBGQlR5eExRVUZQZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzFNc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SlFVRk5WeXhGUVVONFJYQkVMRTFCUlZneVRpeEZRVUZMTTB3c1ZVRkJWVzlETEUxQlFWRXNVMEZCVlZnc1IwRkROMElzU1VGQlNWQXNSVUZCU1U4c1JVRkJUMUFzUlVGRFdFTXNSVUZCU1Uwc1JVRkJUMDRzUlVGRFdFTXNSVUZCU1Vzc1JVRkJUMHdzUlVGaFppeFBRVnBCY0VRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFZNc1JVRkRiRUpzUkN4TFFVRkxlVU1zVDBGQlR5eEpRVUZOVXl4RlFVTnNRbXhFTEV0QlFVdDVReXhQUVVGUExFbEJRVTFUTEVWQlEyeENiRVFzUzBGQlMzbERMRTlCUVU4c1NVRkJUVk1zUlVGRGJFSnNSQ3hMUVVGTGVVTXNUMEZCVHl4SlFVRk5WU3hGUVVOc1FtNUVMRXRCUVV0NVF5eFBRVUZQTEVsQlFVMVZMRVZCUTJ4Q2JrUXNTMEZCUzNsRExFOUJRVThzU1VGQlRWVXNSVUZEYkVKdVJDeExRVUZMZVVNc1QwRkJUeXhKUVVGTlZTeEZRVU5zUW01RUxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxWExFVkJRMnhDY0VRc1MwRkJTM2xETEU5QlFVOHNTVUZCVFZjc1JVRkRiRUp3UkN4TFFVRkxlVU1zVDBGQlR5eExRVUZQVnl4RlFVTnVRbkJFTEV0QlFVdDVReXhQUVVGUExFdEJRVTlYTEVWQlExcHdSQ3hOUVVWWU1rNHNSVUZCU3pOTUxGVkJRVlYxVEN4UFFVRlRMRk5CUVZVM1JDeEZRVUZQVXl4SFFVTnlReXhKUVVGSmFrZ3NSVUZCU1dsSUxFVkJRVXRxU0N4RlFVTlVReXhGUVVGSlowZ3NSVUZCUzJoSUxFVkJRMVJETEVWQlFVa3JSeXhGUVVGTEwwY3NSVUZEVkZNc1JVRkJVMFlzUzBGQlMwY3NTMEZCUzFvc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZETTBNc1NVRkJTMU1zUlVGRFJDeFBRVUZQTEV0QlJVa3NTVUZCV0VFc1NVRkZRVmdzUjBGRVFWY3NSVUZCVXl4RlFVRkpRU3hGUVVWaVZpeEhRVUZMVlN4RlFVTk1WQ3hIUVVGTFV5eEhRVVZVTEVsQlFVa3hRaXhGUVVGSmQwSXNTMEZCUzIxQ0xFbEJRVWswUlN4SFFVTmlha29zUlVGQlNXdEVMRXRCUVV0clFpeEpRVUZKTmtVc1IwRkRZbkJKTEVWQlFVa3NSVUZCVFdJc1JVRkRWbTFMTEVWQlFVMDFTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlKTEVWQlFVMDNTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbkZKTEVWQlFVMDVTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTFNTEVWQlFVMDFUaXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbk5KTEVWQlFVMHZTeXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRblZKTEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbTlNTEVWQlFVMDNUaXhMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmxKTEVWQlFVMXNUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SlFVTnNRbkZNTEVWQlFVMDVUaXhMUVVGTGVVTXNUMEZCVHl4SlFVTnNRbTlLTEVWQlFVMHpTU3hGUVVGSlFTeEZRVUZKTlVJc1JVRkJTV0lzUlVGRGJFSnhUQ3hGUVVGTk0wa3NSVUZCU1VRc1JVRkJTVFZDTEVWQlFVazRRaXhGUVVGSmFrSXNSVUZEZEVJMFNpeEZRVUZOTTBrc1JVRkJTVVlzUlVGQlNUVkNMRVZCUVVrMlFpeEZRVUZKYUVJc1JVRkRkRUkyU2l4RlFVRk5PVWtzUlVGQlNVTXNSVUZCU1RkQ0xFVkJRVWs0UWl4RlFVRkpha0lzUlVGRGRFSTRTaXhGUVVGTk9Va3NSVUZCU1VFc1JVRkJTVGRDTEVWQlFVbGlMRVZCUTJ4Q2VVd3NSVUZCVFRsSkxFVkJRVWxFTEVWQlFVazNRaXhGUVVGSk5FSXNSVUZCU1dZc1JVRkRkRUpuU3l4RlFVRk5ha29zUlVGQlNVVXNSVUZCU1RsQ0xFVkJRVWsyUWl4RlFVRkphRUlzUlVGRGRFSnBTeXhGUVVGTmFrb3NSVUZCU1VNc1JVRkJTVGxDTEVWQlFVazBRaXhGUVVGSlppeEZRVU4wUW10TExFVkJRVTFxU2l4RlFVRkpRU3hGUVVGSk9VSXNSVUZCU1dJc1JVRmhkRUlzVDBGYVFWUXNTMEZCUzNsRExFOUJRVThzUjBGQlMyMUpMRVZCUVUxcFFpeEZRVUZOWkN4RlFVRk5aU3hGUVVGTldpeEZRVUZOWVN4RlFVTXZReTlNTEV0QlFVdDVReXhQUVVGUExFZEJRVXR2U1N4RlFVRk5aMElzUlVGQlRXSXNSVUZCVFdNc1JVRkJUVmdzUlVGQlRWa3NSVUZETDBNdlRDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGNVa3NSVUZCVFdVc1JVRkJUVm9zUlVGQlRXRXNSVUZCVFZZc1JVRkJUVmNzUlVGREwwTXZUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxiVXdzUlVGQlRTOUNMRVZCUVUxblF5eEZRVUZOTDBJc1JVRkJUV2RETEVWQlFVMHZRaXhGUVVNdlF5OU1MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHRTU3hGUVVGTmIwSXNSVUZCVFdwQ0xFVkJRVTFyUWl4RlFVRk5aaXhGUVVGTlowSXNSVUZETDBOc1RTeExRVUZMZVVNc1QwRkJUeXhIUVVGTGIwa3NSVUZCVFcxQ0xFVkJRVTFvUWl4RlFVRk5hVUlzUlVGQlRXUXNSVUZCVFdVc1JVRkRMME5zVFN4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY1Vrc1JVRkJUV3RDTEVWQlFVMW1MRVZCUVUxblFpeEZRVUZOWWl4RlFVRk5ZeXhGUVVNdlEyeE5MRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHRUQ3hGUVVGTk5VSXNSVUZCVFRaQ0xFVkJRVTAxUWl4RlFVRk5Oa0lzUlVGQlRUVkNMRVZCUXk5RGJFMHNTMEZCUzNsRExFOUJRVThzUjBGQlMyMUpMRVZCUVUxMVFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlFVMXNRaXhGUVVGTmJVSXNSVUZETDBOeVRTeExRVUZMZVVNc1QwRkJUeXhIUVVGTGIwa3NSVUZCVFhOQ0xFVkJRVTF1UWl4RlFVRk5iMElzUlVGQlRXcENMRVZCUVUxclFpeEZRVU12UTNKTkxFdEJRVXQ1UXl4UFFVRlBMRWxCUVUxeFNTeEZRVUZOY1VJc1JVRkJUV3hDTEVWQlFVMXRRaXhGUVVGTmFFSXNSVUZCVFdsQ0xFVkJRMmhFY2swc1MwRkJTM2xETEU5QlFVOHNTVUZCVFcxTUxFVkJRVTE2UWl4RlFVRk5NRUlzUlVGQlRYcENMRVZCUVUwd1FpeEZRVUZOZWtJc1JVRkRla055VFN4TlFVVllNazRzUlVGQlN6UkNMRkZCUVZVc1UwRkJWVU1zUlVGQlRYUktMRVZCUVU5MVNpeEZRVUZSUXl4RlFVRkxReXhGUVVGTlF5eEhRVU55UkN4SlFVRkpReXhGUVVGTk0wb3NSVUZCVVhOS0xFVkJRMlJOTEVWQlFVMUtMRVZCUVUxRUxFVkJRMXBOTEVWQlFVMUlMRVZCUVUxRUxFVkJRMmhDTEU5QlFVOHNTVUZCU1doRExFVkJRVXNzUTBGRFNpeEZRVUZRWjBNc1JVRkJXVVVzUlVGRFlpeEZRVU5CTEVWQlEwRXNSVUZEUVN4RlFVTlJMRVZCUVZCR0xFVkJRVmxITEVWQlEySXNSVUZEUVN4SFFVTkROVW9zUlVGQlVYTktMRWRCUVZGTExFZEJRMmhDU0N4RlFVRk5SQ3hIUVVGVlN5eEpRVU5tUml4RlFVRk5SQ3hIUVVGUlNTeEhRVU5tTEVWQlEwUXNSVUZEUVN4SFFVTkZTQ3hGUVVGTlJDeEZRVUZQTEVWQlFVdEpMRVZCUTNCQ0xFdEJSMUp3UXl4RlFVRkxjVU1zV1VGQll5eFRRVUZWUXl4RlFVRkxReXhGUVVGUlVDeEZRVUZOUXl4SFFVTTFReXhKUVVGSlJpeEZRVUZOUXl4RlFVRlBhRTBzUzBGQlMzZE5MRWxCUVVsR0xFVkJRVTEwVFN4TFFVRkxlVTBzUjBGQlN5eExRVU4wUTJ4TExFVkJRVkYzU2l4RlFVRk5VU3hGUVVOc1FpeFBRVUZQZGtNc1JVRkJTelJDTEZOQlFWTnlTaXhGUVVGUFFTeEhRVUZSZDBvc1JVRkJTMEVzUlVGQlMwTXNSVUZCVFVNc1NVRkZlRVJxUXl4RlFVRkxNRU1zWVVGQlpTeFRRVUZWWWl4RlFVRk5kRW9zUlVGQlQzVktMRVZCUVZGRExFVkJRVXRETEVWQlFVMURMRWRCUXpGRUxFbEJRVWxETEVWQlFVMHpTaXhGUVVGUmMwb3NSVUZEWkUwc1JVRkJUVW9zUlVGQlRVUXNSVUZEV2swc1JVRkJUVWdzUlVGQlRVUXNSVUZEYUVJc1QwRkJUeXhKUVVGSmFFTXNSVUZCU3l4RFFVTmFMRVZCUVVsclF5eEZRVU5LTEVWQlEwRXNSVUZEUVN4RlFVTkJMRVZCUTBFc1JVRkJTVU1zUlVGRFNpeEZRVU5CTEVWQlEwRXNSVUZEUVN4SFFVTkRMRVZCUVVsRExFVkJRMHdzU1VGRFJWQXNSVUZCVDNSS0xFZEJRVk15U2l4SlFVTm9Ra2dzUlVGQlRVUXNSMEZCVlVzc1NVRkRhRUpHTEVWQlFVMUVMRWRCUVZGSkxFVkJRMmhDTEV0QlIxSndReXhGUVVGTE1rTXNUMEZCVXl4VFFVRlZReXhGUVVGVlF5eEZRVUZSZGtzc1IwRkZkRU1zVVVGRVZ5eEpRVUZRUVN4SlFVRnBRa0VzUlVGQlMwY3NSVUZCVDNoQ0xGRkJRVkZ4UWl4SlFVTnlRM05MTEVWQlFWTXZUU3hQUVVGUFowNHNSMEZEYUVJc1QwRkJUM2hSTEV0QlFVdHZTeXhUUVVWb1FpeEpRVUZKYUVnc1JVRkJTV2RFTEVWQlFVOTRRaXhSUVVGUlowSXNWMEZCVnpKTExFVkJRVlZETEVkQlFWRnVUU3haUVVOb1JHNUNMRVZCUVVsclJDeEZRVUZQZUVJc1VVRkJVVWtzVFVGQlRXbENMRVZCUVVrM1F5eEhRVUZIYVVJc1dVRkRhRU5zUWl4RlFVRkphVVFzUlVGQlQzaENMRkZCUVZGSkxFMUJRVTAxUWl4RlFVRkhSaXhIUVVGSGJVSXNXVUZEYmtNc1QwRkJUeXhKUVVGSmMwb3NSVUZCU3l4RFFVTmFla3NzUlVGQlJVRXNSVUZEUmtNc1JVRkJSVVFzUlVGRFJrVXNSVUZCUlVZc1JVRkRSaXhGUVVOQlFTeEZRVUZGUXl4RlFVTkdRU3hGUVVGRlFTeEZRVU5HUXl4RlFVRkZSQ3hGUVVOR0xFVkJRMEZFTEVWQlFVVkZMRVZCUTBaRUxFVkJRVVZETEVWQlEwWkJMRVZCUVVWQkxFVkJRMFlzUjBGRFEyZEVMRVZCUVU5NFFpeFJRVUZSVXl4SlFVRkpia01zUlVGQlIzRk9MRWxCUTNSQ2Jrc3NSVUZCVDNoQ0xGRkJRVkZUTEVsQlFVbHNReXhGUVVGSGIwNHNTVUZEZEVKdVN5eEZRVUZQZUVJc1VVRkJVVk1zU1VGQlNXcERMRVZCUVVkdFRpeEhRVU4yUWl4TFFVZFNOVU1zUlVGQlN6bElMRkZCUVZVc1UwRkJWVEpJTEVWQlFVbERMRVZCUVVsdVFpeEhRVU0zUWl4SlFVRkpNVUlzUlVGQlRUUkRMRVZCUVVkNlN5eEhRVUZITEVkQlExbzRTQ3hGUVVGTk1rTXNSVUZCUjNwTExFZEJRVWNzUjBGRFdpdElMRVZCUVUwd1F5eEZRVUZIZWtzc1IwRkJSeXhIUVVOYU5rc3NSVUZCVFVvc1JVRkJSM3BMTEVkQlFVY3NSMEZEV21kSkxFVkJRVTE1UXl4RlFVRkhla3NzUjBGQlJ5eEhRVU5hYVVrc1JVRkJUWGRETEVWQlFVZDZTeXhIUVVGSExFZEJRMXByU1N4RlFVRk5kVU1zUlVGQlIzcExMRWRCUVVjc1IwRkRXamhMTEVWQlFVMU1MRVZCUVVkNlN5eEhRVUZITEVkQlExcHRTU3hGUVVGTmMwTXNSVUZCUjNwTExFZEJRVWNzUjBGRFdtOUpMRVZCUVUxeFF5eEZRVUZIZWtzc1IwRkJSeXhIUVVOYWNVa3NSVUZCVFc5RExFVkJRVWQ2U3l4SFFVRkhMRWxCUTFvclN5eEZRVUZOVGl4RlFVRkhla3NzUjBGQlJ5eEpRVU5hWjB3c1JVRkJUVkFzUlVGQlIzcExMRWRCUVVjc1NVRkRXbWxNTEVWQlFVMVNMRVZCUVVkNlN5eEhRVUZITEVsQlExcHJUQ3hGUVVGTlZDeEZRVUZIZWtzc1IwRkJSeXhKUVVOYWJVd3NSVUZCVFZZc1JVRkJSM3BMTEVkQlFVY3NTVUZEV2poSkxFVkJRVTAwUWl4RlFVRkhNVXNzUjBGQlJ5eEhRVU5hSzBrc1JVRkJUVEpDTEVWQlFVY3hTeXhIUVVGSExFZEJRMXBuU2l4RlFVRk5NRUlzUlVGQlJ6RkxMRWRCUVVjc1IwRkRXakJPTEVWQlFVMW9SQ3hGUVVGSE1Vc3NSMEZCUnl4SFFVTmFhVW9zUlVGQlRYbENMRVZCUVVjeFN5eEhRVUZITEVkQlExcHJTaXhGUVVGTmQwSXNSVUZCUnpGTExFZEJRVWNzUjBGRFdtMUtMRVZCUVUxMVFpeEZRVUZITVVzc1IwRkJSeXhIUVVOYU1rNHNSVUZCVFdwRUxFVkJRVWN4U3l4SFFVRkhMRWRCUTFwdlNpeEZRVUZOYzBJc1JVRkJSekZMTEVkQlFVY3NSMEZEV25GS0xFVkJRVTF4UWl4RlFVRkhNVXNzUjBGQlJ5eEhRVU5hYzBvc1JVRkJUVzlDTEVWQlFVY3hTeXhIUVVGSExFbEJRMW8wVGl4RlFVRk5iRVFzUlVGQlJ6RkxMRWRCUVVjc1NVRkRXalpPTEVWQlFVMXVSQ3hGUVVGSE1Vc3NSMEZCUnl4SlFVTmFPRTRzUlVGQlRYQkVMRVZCUVVjeFN5eEhRVUZITEVsQlExb3JUaXhGUVVGTmNrUXNSVUZCUnpGTExFZEJRVWNzU1VGRFdtZFBMRVZCUVUxMFJDeEZRVUZITVVzc1IwRkJSeXhKUVVOb1FpeFBRVUZKZFVvc1IwRkRRVUVzUlVGQlQzQkVMRXRCUVVzc1EwRkRVakpETEVWQlFVMXFRaXhGUVVGTmEwSXNSVUZCVFdZc1JVRkJUV2RDTEVWQlFVMWlMRVZCUVUxMVJpeEZRVUZOTVVNc1JVRkRNVU5zUXl4RlFVRk5hRUlzUlVGQlRXbENMRVZCUVUxa0xFVkJRVTFsTEVWQlFVMWFMRVZCUVUxelJpeEZRVUZOZWtNc1JVRkRNVU51UXl4RlFVRk5aaXhGUVVGTlowSXNSVUZCVFdJc1JVRkJUV01zUlVGQlRWZ3NSVUZCVFhGR0xFVkJRVTE0UXl4RlFVTXhRM0JETEVWQlFVMHJRaXhGUVVGTk9VSXNSVUZCVFN0Q0xFVkJRVTA1UWl4RlFVRk5LMElzUlVGQlRUSkRMRVZCUVUxMlF5eEZRVU14UTJ4RExFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxdFFpeEZRVUZOYUVJc1JVRkJUWGRHTEVWQlFVMHpReXhGUVVNeFF5OUNMRVZCUVUxdVFpeEZRVUZOYjBJc1JVRkJUV3BDTEVWQlFVMXJRaXhGUVVGTlppeEZRVUZOZFVZc1JVRkJUVEZETEVWQlF6RkRhRU1zUlVGQlRXeENMRVZCUVUxdFFpeEZRVUZOYUVJc1JVRkJUV2xDTEVWQlFVMWtMRVZCUVUxelJpeEZRVUZOZWtNc1JVRkRNVU5xUXl4RlFVRk5ORUlzUlVGQlRUTkNMRVZCUVUwMFFpeEZRVUZOTTBJc1JVRkJUVFJDTEVWQlFVMDBReXhGUVVGTmVFTXNSVUZETVVNdlFpeEZRVUZOZGtJc1JVRkJUWGRDTEVWQlFVMXlRaXhGUVVGTmMwSXNSVUZCVFc1Q0xFVkJRVTE1Uml4RlFVRk5OVU1zUlVGRE1VTTFRaXhGUVVGTmRFSXNSVUZCVFhWQ0xFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRXeENMRVZCUVUxM1JpeEZRVUZOTTBNc1JVRkRNVU0zUWl4RlFVRk5ja0lzUlVGQlRYTkNMRVZCUVUxdVFpeEZRVUZOYjBJc1JVRkJUV3BDTEVWQlFVMTFSaXhGUVVGTk1VTXNSVUZETVVNNVFpeEZRVUZOZVVJc1JVRkJUWGhDTEVWQlFVMTVRaXhGUVVGTmVFSXNSVUZCVFhsQ0xFVkJRVTAyUXl4RlFVRk5la01zUlVGRE1VTXdReXhGUVVGTmFFY3NSVUZCVFdsSExFVkJRVTA1Uml4RlFVRk5LMFlzUlVGQlRUVkdMRVZCUVUwMlJpeEZRVUZOYUVRc1JVRkRNVU0yUXl4RlFVRk5MMFlzUlVGQlRXZEhMRVZCUVUwM1JpeEZRVUZOT0VZc1JVRkJUVE5HTEVWQlFVMDBSaXhGUVVGTkwwTXNSVUZETVVNMFF5eEZRVUZOT1VZc1JVRkJUU3RHTEVWQlFVMDFSaXhGUVVGTk5rWXNSVUZCVFRGR0xFVkJRVTB5Uml4RlFVRk5PVU1zUlVGRE1VTXlReXhGUVVGTmFFUXNSVUZCVFdsRUxFVkJRVTFvUkN4RlFVRk5hVVFzUlVGQlRXaEVMRVZCUVUxcFJDeEZRVUZOTjBNc1NVRkZka00xUWl4SFFVZEJMRWxCUVVseFFpeEZRVUZMTEVOQlExbzVRaXhGUVVGTmFrSXNSVUZCVFd0Q0xFVkJRVTFtTEVWQlFVMW5RaXhGUVVGTllpeEZRVUZOZFVZc1JVRkJUVEZETEVWQlF6RkRiRU1zUlVGQlRXaENMRVZCUVUxcFFpeEZRVUZOWkN4RlFVRk5aU3hGUVVGTldpeEZRVUZOYzBZc1JVRkJUWHBETEVWQlF6RkRia01zUlVGQlRXWXNSVUZCVFdkQ0xFVkJRVTFpTEVWQlFVMWpMRVZCUVUxWUxFVkJRVTF4Uml4RlFVRk5lRU1zUlVGRE1VTndReXhGUVVGTkswSXNSVUZCVFRsQ0xFVkJRVTByUWl4RlFVRk5PVUlzUlVGQlRTdENMRVZCUVUweVF5eEZRVUZOZGtNc1JVRkRNVU5zUXl4RlFVRk5jRUlzUlVGQlRYRkNMRVZCUVUxc1FpeEZRVUZOYlVJc1JVRkJUV2hDTEVWQlFVMTNSaXhGUVVGTk0wTXNSVUZETVVNdlFpeEZRVUZOYmtJc1JVRkJUVzlDTEVWQlFVMXFRaXhGUVVGTmEwSXNSVUZCVFdZc1JVRkJUWFZHTEVWQlFVMHhReXhGUVVNeFEyaERMRVZCUVUxc1FpeEZRVUZOYlVJc1JVRkJUV2hDTEVWQlFVMXBRaXhGUVVGTlpDeEZRVUZOYzBZc1JVRkJUWHBETEVWQlF6RkRha01zUlVGQlRUUkNMRVZCUVUwelFpeEZRVUZOTkVJc1JVRkJUVE5DTEVWQlFVMDBRaXhGUVVGTk5FTXNSVUZCVFhoRExFVkJRekZETDBJc1JVRkJUWFpDTEVWQlFVMTNRaXhGUVVGTmNrSXNSVUZCVFhOQ0xFVkJRVTF1UWl4RlFVRk5lVVlzUlVGQlRUVkRMRVZCUXpGRE5VSXNSVUZCVFhSQ0xFVkJRVTExUWl4RlFVRk5jRUlzUlVGQlRYRkNMRVZCUVUxc1FpeEZRVUZOZDBZc1JVRkJUVE5ETEVWQlF6RkROMElzUlVGQlRYSkNMRVZCUVUxelFpeEZRVUZOYmtJc1JVRkJUVzlDTEVWQlFVMXFRaXhGUVVGTmRVWXNSVUZCVFRGRExFVkJRekZET1VJc1JVRkJUWGxDTEVWQlFVMTRRaXhGUVVGTmVVSXNSVUZCVFhoQ0xFVkJRVTE1UWl4RlFVRk5Oa01zUlVGQlRYcERMRVZCUXpGRE1FTXNSVUZCVFdoSExFVkJRVTFwUnl4RlFVRk5PVVlzUlVGQlRTdEdMRVZCUVUwMVJpeEZRVUZOTmtZc1JVRkJUV2hFTEVWQlF6RkROa01zUlVGQlRTOUdMRVZCUVUxblJ5eEZRVUZOTjBZc1JVRkJUVGhHTEVWQlFVMHpSaXhGUVVGTk5FWXNSVUZCVFM5RExFVkJRekZETkVNc1JVRkJUVGxHTEVWQlFVMHJSaXhGUVVGTk5VWXNSVUZCVFRaR0xFVkJRVTB4Uml4RlFVRk5Na1lzUlVGQlRUbERMRVZCUXpGRE1rTXNSVUZCVFdoRUxFVkJRVTFwUkN4RlFVRk5hRVFzUlVGQlRXbEVMRVZCUVUxb1JDeEZRVUZOYVVRc1JVRkJUVGRETEV0QlNYUkVVQ3hGUVVGTGRrUXNWVUZCVnl4SlFVRkpkVVFzUjBGQlQzaEhMR05CUTNCQ2QwY3NSVUY2YUVKakxFZEJNbWhDZWtJMVRpeEZRVUZSTmtVc1VVRkJWU3RKTEVjc2EweERhbWxDYkVJc1lVRjVSa0VzU1VFMFJWbHhSQ3hIUVRWRldpeFRRVUZaUXl4SFFVVllMSGxDUVVOQkxHMUNRVU5CTEdWQlEwRXNjVUpCUTBFc2NVSkJRMEVzYlVKQlVFUXNRMEZCV1N4RlFVRkJRU3h6UWtGQlFTeEZRVUZCUVN4dlFrRkJiVUlzUzBGclFpOUNMRk5CUVZsRExFZEJSVmdzTmtSQlEwRXNhVVZCUTBFc01FVkJRMEVzTmtWQlEwRXNkVVJCUTBFc2FVVkJVRVFzUTBGQldTeEZRVUZCUVN4eFFrRkJRU3hGUVVGQlFTeHRRa0ZCYTBJc1MwRlZPVUlzVTBGQldVTXNSMEZGV0N3eVFrRkRRU3h6UTBGRFFTeHpRMEZEUVN4elEwRkZRU3d5UWtGRFFTeHpRMEZEUVN4elEwRkRRU3h6UTBGRFFTeHpRMEZGUVN4bFFVTkJMREJDUVVOQkxEQkNRVVZCTEdWQlEwRXNNRUpCUTBFc01FSkJSVUVzWlVGRFFTd3dRa0ZEUVN3d1FrRkZRU3hsUVVOQkxEQkNRVU5CTERCQ1FVVkJMSEZDUVVOQkxHZERRVU5CTEdkRFFVVkJMRFpDUVVOQkxIZERRVU5CTEhkRFFVTkJMSGREUVVOQkxHZERRVU5CTEdkRFFVVkJMR2xEUVVOQkxEUkRRVU5CTERSRFFVTkJMRFJEUVVOQkxHOURRVU5CTEc5RFFUZERSQ3hEUVVGWkxFVkJRVUZCTEZGQlFVRXNSVUZCUVVFc1RVRkJTeXhMUVdkRWFrSXNVMEZCV1Vnc1IwRkZXQ3g1UWtGRFFTd3lRa0ZJUkN4RFFVRlpRU3hGUVVGQkxFVkJRVUZCTEZOQlFVRXNSVUZCUVVFc1QwRkJUU3hMUVUxc1FpeDNRa0ZCT0VKSkxFZEJSVGRDTEU5QlFWRkJMRWRCUlZBc1MwRkJTeXhGUVVGQlF5eE5RVUZOUXl4TFFVRk5MRTlCUVU5T0xFVkJRVTlOTEV0QlF5OUNMRXRCUVVzc1JVRkJRVVFzVFVGQlRVVXNUVUZCVHl4UFFVRlBVQ3hGUVVGUFR5eFJRWFZDYkVNc1UwRkJXVU1zUjBGRldDd3dRa0ZGUVN4NVFrRkRRU3h4UWtGRFFTeDVRa0ZPUkN4RFFVRlpMRVZCUVVGQkxHRkJRVUVzUlVGQlFVRXNWMEZCVlN4TFFYRkxkRUlzWjBKQlJVTXNUMEZCWVN4UFFVRk9ReXhoUVVGTkxFbEJRVTVCTEZsQlFVMHNSVUZCVGtFc1QwRkJVVU1zVnl4M2NVSkRPVmRvUWl4aFFVZEJMRkZCU1VFc1NVRjVSVmxETEVWQk9HSkJReXhGUVRWaFdpeFRRVUZUUXl4RlFVRXlRbkJTTEVkQlJXNURMRTlCUVZGQkxFZEJSVkFzU1VGQlN5eEpRVUZMTEU5QlFVOXJVaXhGUVVGaFJ5eEpRVU01UWl4SlFVRkxMRWxCUVVzc1QwRkJUMGdzUlVGQllVa3NUMEZET1VJc1NVRkJTeXhKUVVGTExFOUJRVTlLTEVWQlFXRkxMRXRCUXpsQ0xFbEJRVXNzU1VGQlN5eFBRVUZQVEN4RlFVRmhUU3hSUVVNNVFpeEpRVUZMTEVsQlFVc3NUMEZCVDA0c1JVRkJZVThzVTBGRE9VSXNVVUZCVXl4UFFVRlBVQ3hGUVVGaFVTeFRRV3RDTDBJc1UwRkJaMEpETEVWQlFYTkNReXhIUVVWeVF5eFBRVUZMUVN4RlFXaENUaXhUUVVGdlEwTXNSMEZGYmtNc1QwRkJVVUVzUjBGRlVDeExRVUZMV0N4RlFVRmhSeXhKUVVGTExFMUJRVThzU1VGRE9VSXNTMEZCUzBnc1JVRkJZVWtzVDBGQlVTeE5RVUZQTEVsQlEycERMRXRCUVV0S0xFVkJRV0ZMTEV0QlFVMHNUVUZCVHl4SlFVTXZRaXhMUVVGTFRDeEZRVUZoVFN4UlFVRlRMRTFCUVU4c1NVRkRiRU1zUzBGQlMwNHNSVUZCWVU4c1UwRkJWU3hOUVVGUExFbEJRMjVETEV0QlFVdFFMRVZCUVdGUkxGRkJRVk1zVFVGQlR5eEpRVU5zUXl4UlFVRlRMRTFCUVU4c1MwRlpWRWtzUTBGQk1rSkdMRVZCUVVsSExFMUJRM0JETEV0QlFWRklMRVZCUVVsSkxGZEJRV0ZLTEVWQlFVbEpMRmRCUVdFc1IwRkRNVU1zUzBGQlVVb3NSVUZCU1Vzc1QwRkJVMHdzUlVGQlNVc3NUMEZCVXl4SFFVNDNRaXhMUVRSQ1ZDeFRRVUZuUWtNc1JVRkJjVUpPTEVkQlJYQkRMRTlCUVdNc1RVRkJVRUVzUjBGQk1rSXhVQ3hOUVVGYU1GQXNSVUZCU1Vjc1RVRkJjVUpJTEVWQlFVbEhMRTFCUVZGaUxFVkJRV0ZSTEZGQlIzcEZMRk5CUVdkQ1V5eEZRVUZ2UWtNc1JVRkJiMEpETEVkQlJYWkVMRTlCUVVsSUxFVkJRWEZDUlN4SFFVTnFRa1lzUlVGQmNVSkhMRWxCUTNCQ1NDeEZRVUZ4UWtjc1MwRkhka0pFTEVWQlFVdE1MRTFCUVZGTkxFVkJRVXRPTEUxQlFWRkxMRVZCUVV0SUxGRkJRVlZKTEVWQlFVdEtMRkZCUVZWSExFVkJRVXRLTEZsQlFXTkxMRVZCUVV0TUxGbEJhMVY0Uml4VFFVRm5RazBzUlVGQmJVSkRMRVZCUVRKQ1F5eEZRVUYzUWtNc1IwRkZja1lzVDBGQlQyUXNSVUZCYzBKWkxFZEJRV2RDTEV0QlFVOWFMRVZCUVhOQ1lTeEhRVU4yUlN4SlFVRk5ReXhGUVVGUkxFbEJlbVZNTEVWQlFVRkRMR0ZCUVdVc1RVRkZOVUlzVTBGQldVTXNSMEZKV0N3eVEwRkRRU3d5UkVGRFFTeDFRa0ZEUVN4dFJFRkRRU3h0UlVGTFFTeHRRMEZEUVN4eFEwRkRRU3dyUTBGSFFTdzJRMEZIUVN4MVEwRkhRU3hwUTBGSlFTeHhRMEZEUVN3clEwRkRRU3gxUTBGRFFTeHBSRUZIUVN4NVEwRkhRU3h0UkVGRFFTeHRSVUZEUVN4MVEwRkRRU3gxUkVGRFFTeHBSVUZoUVN3MlEwRkRRU3g1UTBGRFFTd3JSRUZEUVN4cFJFRkRRU3gxUkVGRFFTeDFRMEZEUVN4MVJFRkRRU3d5UTBGRFFTd3lSRUZEUVN3eVEwRkRRU3d5UkVGRFFTeHBSVUZxUlVRc1EwRkJXU3hGUVVGQlFTeGpRVUZCTEVWQlFVRkJMRmxCUVZjc1MwRnZSWFpDTEZOQlFWbERMRWRCUlZnc2IwUkJSa1FzUTBGQldTeEZRVUZCUVN4elFrRkJRU3hGUVVGQlFTeHZRa0ZCYlVJc1MwRkxMMElzVTBGQldURkNMRWRCUlZnc01FSkJRMEVzYVVKQlEwRXNkVUpCUTBFc2JVSkJRMEVzTWtKQlEwRXNlVUpCUTBFc2VVSkJVa1FzUTBGQldVRXNSVUZCUVN4RlFVRkJRU3hsUVVGQkxFVkJRVUZCTEdGQlFWa3NTMEUyUTNoQ0xIbENRV1ZCTEdkRFFVRnpRekpDTEVkQlJYSkRMRWxCUTBsRExFVkJSRXNzU1VGQlNVTXNUMEZCVVN3eVFrRkRUa01zUzBGQlRVZ3NSMEZEY2tJc1QwRkJTME1zUlVGTFJTeERRVVZNWml4TFFVRk5XQ3hGUVVFeVFqQkNMRVZCUVUwc1NVRkRka05rTEZkQlFWbHBRaXhUUVVGVlNDeEZRVUZOTEVsQlF6VkNZaXhQUVVGUlowSXNVMEZCVlVnc1JVRkJUU3hOUVZCNlFra3NVVUZCVVVNc1NVRkJTeXh0UWtGQmIwSk9MSEZDUVVNeFFpeFBRVlZVTEhkQ1FVdEJMSFZDUVZWQkxHZERRVUZ6UTA4c1JVRkJNRUo0UWl4SFFVVXZSQ3hKUVVGTGQwSXNSVUZGU2l4UFFVRlJMRVZCUjFRc1NVRkJTeXhKUVVGSmVsUXNSVUZCU1N4RlFVRkhRU3hGUVVGSmVWUXNSVUZCVTJoUkxFOUJRVkY2UkN4SlFVVndReXhIUVVGSmQxTXNSVUZCYjBKcFFpeEZRVUZUZWxRc1IwRkJTV2xUTEVkQlJYQkRMRTlCUVU5cVV5eEZRVWRVTEU5QlFWRXNSMEZIVkN4dFEwRkJlVU5wVXl4RlFVRnRRbmxDTEVkQlJUTkVMRTFCUVU4c1pVRkJaMEl4UWl4RlFVRnpRa01zVFVGQlYzbENMRXRCYVVWNlJDd3JRa0ZCY1VORExFZEJSWEJETEU5QlFVOUJMRVZCUVZWRExGTkJRVlVzWVVGSk5VSXNlVUpCUVN0Q1F5eEZRVUZ0UWtNc1IwRkJkMElzUjBGRmVrVXNTVUZGUXl4SlFVRkpReXhGUVVGTlF5eExRVUZMUXl4TlFVRlBTaXhIUVV0MFFpeFBRVXBKUlN4RlFVRkpSeXhUUVVGWFNpeEpRVVZzUWtNc1JVRkJTVWtzWjBKQlFXdENTQ3hMUVVGTFF5eE5RVUZQUml4RlFVRkpSeXhWUVVWb1EwZ3NSVUZGVWl4TlFVRlBTeXhIUVVkT0xFOUJSRUZpTEZGQlFWRkRMRWxCUVVzc01rSkJRVFJDU3l4RlFVRlhUeXhIUVVNM1F5eFBRU3RIVkN4VFFVRlpReXhIUVVWWUxIbENRVU5CTEhGRFFVTkJMRFpDUVVOQkxEWkRRVU5CTEhGRVFVTkJMRFpFUVVOQkxHbEVRVkpFTEVOQlFWa3NSVUZCUVVFc2MwSkJRVUVzUlVGQlFVRXNiMEpCUVcxQ0xFdEJkMFV2UWl4VFFVRlpReXhIUVVWWUxEQkNRVVZCTERaQ1FVTkJMSFZDUVVOQkxEWkNRVU5CTEhGQ1FVOUJMRzlDUVVWQkxEQkRRVU5CTEd0RVFVbEJMREJEUVVOQkxITkNRVU5CTEhkRFFYWkNSQ3hEUVVGWkxFVkJRVUZCTEdGQlFVRXNSVUZCUVVFc1YwRkJWU3hMUVdkRGRFSXNjMEpCVFVFc2EwTkJRWGREYkZVc1IwRkhka01zVDBGQlQzVlRMRVZCUVd0Q2RsTXNSVUZCUlhkVExGbEJRV0Y0VXl4RlFVRkZlVk1zVTBGQlZYcFRMRVZCUVVVd1V5eFJRVEJDZGtRc1UwRkJXWFJDTEVkQlJWZ3NNRUpCUlVFc2RVSkJRMEVzTWtKQlEwRXNiVUpCUTBFc01rSkJRMEVzY1VKQlEwRXNhVUpCUTBFc01rSkJWa1FzUTBGQldVRXNSVUZCUVN4RlFVRkJRU3hqUVVGQkxFVkJRVUZCTEZsQlFWY3NTMEZwUW5aQ0xGTkJRVmtyUXl4SFFVVllMSFZDUVVOQkxEWkNRVU5CTEcxRFFVcEVMRU5CUVZrc1JVRkJRVUVzYVVKQlFVRXNSVUZCUVVFc1pVRkJZeXhMUVN0Q01VSXNlVUpCUlVNc1RVRkJUeXhEUVVGRmJrTXNTMEZCVFZvc1JVRkJXV2RFTEZGQlJUVkNMRFJDUVVWRExFMUJRVThzUTBGQlJYQkRMRXRCUVUxYUxFVkJRVmxwUkN4WFFVYzFRaXd3UWtGQlowTkRMRVZCUVdFeFVTeEhRVVUxUXl4TlFVRlBMRU5CUlV4dlR5eExRVUZOV2l4RlFVRlpiVVFzVTBGRGJFSkVMRTFCUTBFeFVTeFZRVWxJTEhkQ1FVRTRRalJSTEVkQlJUZENMRTFCUVU4c1EwRkZUSGhETEV0QlFVMWFMRVZCUVZseFJDeFBRVU5zUWtRc1YwRkxTQ3h4UWtGQk1rSkZMRVZCUVdGRExFZEJSWFpETEVsQlFVbERMRVZCUlVGRExFVkJSMGhCTEVWQlJrY3NSVUZCUVRkVExFdEJRVXMyUXl4SlFVRkxMRVZCUVVFM1F5eExRVUZMZVVRc1IwRkJTV3RRTEVkQlFWRXNTMEZGZGtJc1JVRkJRVE5UTEV0QlFVc3lSQ3hSUVVsTUxFVkJRVUV6UkN4TFFVRkxkME1zVFVGQlQyMVJMRVZCUVVzc1JVRkJRVE5UTEV0QlFVdDVSQ3hKUVVjNVFpeEpRVUZKUVN4RlFVRkxMRVZCUVVGNlJDeExRVUZMZDBNc1RVRkJUM0ZSTEVWQlFVMUdMRWRCY1VJelFpeFBRVzVDUVVNc1JVRkJhVUlzU1VGQlNTeEZRVUZCZWtnc1MwRkJTeXhEUVVONlFuZElMRVZCUVVscVV5eEZRVU5LYVZNc1JVRkJTV2hUTEVWQlEwcG5VeXhGUVVGSkwxSXNSVUZEU2l4RlFVVkJOa01zUlVGQlJ5OURMRVZCUTBnclF5eEZRVUZIT1VNc1JVRkRTRGhETEVWQlFVYzNReXhGUVVOSUxFVkJSVUZwVXl4RlFVRkxibE1zUlVGRFRHMVRMRVZCUVV0c1V5eEZRVU5NYTFNc1JVRkJTMnBUTEVWQlEwd3NSVUZGUVRoU0xFVkJRVTFvVXl4RlFVRkhaMU1zUlVGQlRTOVNMRVZCUVVjclVpeEZRVUZOT1ZJc1JVRkJSeXhKUVVrelFpeERRVU5EYjFBc1MwRkJUVm9zUlVGQldUQkVMRWxCUTJ4Q1JpeGxRVUZuUWl4RlFVRkJSeXh6UWtGQmRVSklMRXRCU1RGRExGTkJRVmxKTEVkQlJWZ3NlVUpCUTBFc2NVUkJRMEVzZVVSQlEwRXNLMFJCUTBFc05FTkJRMEVzWjBSQlEwRXNORUpCUTBFc0swTkJRMEVzZVVKQlEwRXNlVU5CV0VRc1EwRkJXU3hGUVVGQlFTeGhRVUZCTEVWQlFVRkJMRmRCUVZVc1MwRTRSWFJDTEZOQlFWbHVSU3hIUVVWWUxEQkNRVU5CTEcxQ1FVTkJMSEZDUVVwRUxFTkJRVmtzUlVGQlFVRXNVVUZCUVN4RlFVRkJRU3hOUVVGTExFdEJUMnBDTEZOQlFWbHZSU3hIUVVWWUxIbENRVU5CTEhWRFFVTkJMQ3RDUVVwRUxFTkJRVmtzUlVGQlFVRXNaVUZCUVN4RlFVRkJRU3hoUVVGWkxFdEJUM2hDTEZOQlFWbERMRWRCUlZnc01rSkJRMEVzTWtKQlNFUXNRMEZCV1N4RlFVRkJRU3hwUWtGQlFTeEZRVUZCUVN4bFFVRmpMRXRCZVVJeFFpeFRRVUZaUXl4SFFVVllMR3RDUVVOQkxEQkNRVU5CTEhkQ1FVTkJMSE5DUVVOQkxHZENRVU5CTEhOQ1FVTkJMRFJDUVZKRUxFTkJRVmtzUlVGQlFVRXNZVUZCUVN4RlFVRkJRU3hYUVVGVkxFdEJhVU4wUWl4VFFVRlpReXhIUVVWWUxHRkJRMEVzWVVGRFFTeDVRa0ZEUVN4dFFrRkRRU3gxUWtGRFFTeHBRMEZEUVN3eVFrRkRRU3hwUWtGVVJDeERRVUZaTEVWQlFVRkJMRlZCUVVFc1JVRkJRVUVzVVVGQlR5eExRVmx1UWl3NFFrRkZReXhOUVVGUExFTkJSVXhETEVkQlFVY3NSVUZCVDBNc1IwRkJSU3hGUVVGUFF5eFRRVUZUTEVWQlF6VkNReXhOUVVGTkxFVkJRVTlETEdGQlFXRXNSVUZCVDBNc1VVRkJVU3hGUVVONlEwTXNVMEZCVlN4RFFVRkZMRVZCUVVjc1MwRkxiRUlzYTBOQlFYZERReXhIUVVkMlF5eFBRVUZQTEU5QlFWQXNWVUZEU1VFc1NVRkpUQ3cyUWtGQmJVTkRMRVZCUVc5Q1F5eEZRVUZ0UWtNc1IwRkZla1VzU1VGQlNVTXNSMEZCYVVKSUxFVkJRV0ZETEVkQlFWbEhMRkZCUVZNc1RVRkJUeXhMUVVGTlF5eGpRVTF3UlN4SFFVeEpSaXhGUVVGaE0xTXNUMEZCVXl4TFFVVjZRakpUTEVWQlFXVkJMRVZCUVdGSExFOUJRVkVzUlVGQlJ5eExRVWR3UTBvc1JVRkRTaXhEUVVORExFbEJRVWxMTEVWQlFWbE9MRVZCUVZsRExFVkJRM2hDVFN4RlFVRlBMRVZCUTFnc1NVRkJUU3hKUVVGSmVsY3NSVUZCU1N4RlFVRkhRU3hGUVVGSmQxY3NSVUZCVlM5VExFOUJRVkY2UkN4SlFVTjJReXhEUVVWRGVWY3NSMEZCVTBFc1IwRkJUU3hIUVVGSFFTeEZRVVJRUkN4RlFVRlZSU3hYUVVGWE1WY3NSMEZGYUVONVZ5eEhRVUZqUVN4RlFVZG1UQ3hIUVVGblFrc3NSVUZCUzBVc1UwRkJWU3hKUVVkb1F5eFBRVUZQVUN4SFFVZFNMRzlEUVVFd1EwWXNSMEZGZWtNc1QwRkJTVUVzUlVGQlZWVXNVMEZCVlN4TFFVVm9RbFlzUlVGQldTeDFRa0ZKV2tFc1JVRkJXU3d3UWl3MlFrTXhNVUp5UW5oV0xFOUJRVTlETEdWQlFXVm9RaXhGUVVGVExHRkJRV01zUTBGQlJYTkNMRTlCUVU4c1NVRkRkRVFzU1VGQlNUUldMRVZCUVZNc1JVRkJVU3hKUVVOeVFteFlMRVZCUVZGdFdDeExRVUZQUkN4RlFVRlBjbE1zVVVGRGRFSXNTVUZCU1RoQ0xFVkJRVk1zUlVGQlVTeEhRVU55UWpOSExFVkJRVkYxU3l4TFFVRlBOVVFzUlVGQlR6bENMRkZCUTNSQ0xFbEJRVWtyUWl4RlFVRlRMRVZCUVZFc1IwRkRja0kxUnl4RlFVRlJORTRzUzBGQlQyaElMRVZCUVU4dlFpeFJRVU4wUWl4SlFVRkpkRU1zUlVGQlV5eEZRVUZSTEVkQlEzSkNka01zUlVGQlVUWkhMRXRCUVU5MFJTeEZRVUZQYzBNc1VVRkRkRUlzU1VGQlNYbEdMRVZCUVZNc1JVRkJVU3hIUVVOeVFuUkxMRVZCUVZGelJ5eExRVUZQWjBVc1JVRkJUM3BHTEZGQlEzUkNMRWxCUVVsM1FpeEZRVUZUTEVWQlFWRXNSMEZEY2tKeVJ5eEZRVUZSZVVNc1MwRkJUelJFTEVWQlFVOTRRaXhSUVVOMFFpeEpRVUZKT0Vrc1JVRkJVeXhGUVVGUkxFbEJRM0pDTTA0c1JVRkJVVzlZTEV0QlFVOTZTaXhGUVVGUE9Va3NVeXcyUWtOa2RFSTVSQ3hQUVVGUFF5eGxRVUZsYUVJc1JVRkJVeXhoUVVGakxFTkJRVVZ6UWl4UFFVRlBMRWxCUTNSRUxFbEJRVWxyUWl4RlFVRmpMRVZCUVZFc1IwRkRkRUkwVlN4RlFVRnpRaXhYUVVOMFFpeFRRVUZUUVN4RlFVRkxNVlVzUjBGRFZucERMRXRCUVV0NVF5eFBRVUZUTEVsQlFVbERMR0ZCUVdFc1VVRkRhRUpETEVsQlFWaEdMRWxCUTBGNlF5eExRVUZMTmtjc1MwRkJUM0JGTEVkQloxZHdRaXhQUVRkV1FUTkNMRTlCUVU5RExHVkJRV1Z2Vnl4RlFVRkxibFlzVlVGQlZ5eEpRVUZMTEVOQlEzWkRaaXhKUVVGTExGZEJRMFFzVDBGQlQycENMRXRCUVV0NVF5eFBRVUZQTEVsQlJYWkNTU3hKUVVGTExGTkJRVlY0UWl4SFFVTllja0lzUzBGQlMzbERMRTlCUVU4c1IwRkJTM0JDTEVkQlJYSkNUQ3haUVVGWkxFVkJRMW80UWl4alFVRmpMRWxCUld4Q2FFTXNUMEZCVDBNc1pVRkJaVzlYTEVWQlFVdHVWaXhWUVVGWExFbEJRVXNzUTBGRGRrTm1MRWxCUVVzc1YwRkRSQ3hQUVVGUGFrSXNTMEZCUzNsRExFOUJRVThzU1VGRmRrSkpMRWxCUVVzc1UwRkJWWGhDTEVkQlExaHlRaXhMUVVGTGVVTXNUMEZCVHl4SFFVRkxjRUlzUjBGRmNrSk1MRmxCUVZrc1JVRkRXamhDTEdOQlFXTXNTVUZGYkVKb1F5eFBRVUZQUXl4bFFVRmxiMWNzUlVGQlMyNVdMRlZCUVZjc1NVRkJTeXhEUVVOMlEyWXNTVUZCU3l4WFFVTkVMRTlCUVU5cVFpeExRVUZMZVVNc1QwRkJUeXhKUVVWMlFra3NTVUZCU3l4VFFVRlZlRUlzUjBGRFdISkNMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdHdRaXhIUVVWeVFrd3NXVUZCV1N4RlFVTmFPRUlzWTBGQll5eEpRVVZzUW1oRExFOUJRVTlETEdWQlFXVnZWeXhGUVVGTGJsWXNWVUZCVnl4SlFVRkxMRU5CUTNaRFppeEpRVUZMTEZkQlEwUXNUMEZCVDJwQ0xFdEJRVXQ1UXl4UFFVRlBMRWxCUlhaQ1NTeEpRVUZMTEZOQlFWVjRRaXhIUVVOWWNrSXNTMEZCUzNsRExFOUJRVThzUjBGQlMzQkNMRWRCUlhKQ1RDeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEV0QlFVMHNRMEZEZUVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1MwRkhjRUpKTEVsQlFVc3NVMEZCVlVvc1IwRkRXSHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1Z2Vnl4RlFVRkxibFlzVlVGQlZ5eE5RVUZQTEVOQlEzcERaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhMUVVkd1Fra3NTVUZCU3l4VFFVRlZTaXhIUVVOWWVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNSMEZEZUVKNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVGTFFTeEZRVUZQTEVsQlJUVkNla0lzV1VGQldTeEZRVU5hT0VJc1kwRkJZeXhKUVVWc1FtaERMRTlCUVU5RExHVkJRV1Z2Vnl4RlFVRkxibFlzVlVGQlZ5eFBRVUZSTEVOQlF6RkRaaXhKUVVGTExGZEJRMFFzVFVGQlR5eERRVU5JYWtJc1MwRkJTM2xETEU5QlFVOHNSMEZEV25wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhIUVVOYWVrTXNTMEZCUzNsRExFOUJRVThzUzBGSGNFSkpMRWxCUVVzc1UwRkJWVW9zUjBGRFdIcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1IwRkRlRUo2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEVsQlFVc3NRMEZEZGtObUxFbEJRVXNzVjBGRFJDeFBRVUZQYWtJc1MwRkJTM2xETEU5QlFVOHNTVUZGZGtKSkxFbEJRVXNzVTBGQlZYaENMRWRCUTFoeVFpeExRVUZMZVVNc1QwRkJUeXhIUVVGTGNFSXNSMEZGY2tKTUxGbEJRVmtzUlVGRFdqaENMR05CUVdNc1NVRkZiRUpvUXl4UFFVRlBReXhsUVVGbGIxY3NSVUZCUzI1V0xGVkJRVmNzU1VGQlN5eERRVU4yUTJZc1NVRkJTeXhYUVVORUxFOUJRVTlxUWl4TFFVRkxlVU1zVDBGQlR5eEpRVVYyUWtrc1NVRkJTeXhUUVVGVmVFSXNSMEZEV0hKQ0xFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0d1FpeEhRVVZ5UWt3c1dVRkJXU3hGUVVOYU9FSXNZMEZCWXl4SlFVVnNRbWhETEU5QlFVOURMR1ZCUVdWdlZ5eEZRVUZMYmxZc1ZVRkJWeXhKUVVGTExFTkJRM1pEWml4SlFVRkxMRmRCUTBRc1QwRkJUMnBDTEV0QlFVdDVReXhQUVVGUExFbEJSWFpDU1N4SlFVRkxMRk5CUVZWNFFpeEhRVU5ZY2tJc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNCQ0xFZEJSWEpDVEN4WlFVRlpMRVZCUTFvNFFpeGpRVUZqTEVsQlJXeENhRU1zVDBGQlQwTXNaVUZCWlc5WExFVkJRVXR1Vml4VlFVRlhMRWxCUVVzc1EwRkRka05tTEVsQlFVc3NWMEZEUkN4UFFVRlBha0lzUzBGQlMzbERMRTlCUVU4c1NVRkZka0pKTEVsQlFVc3NVMEZCVlhoQ0xFZEJRMWh5UWl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMY0VJc1IwRkZja0pNTEZsQlFWa3NSVUZEV2poQ0xHTkJRV01zU1VGRmJFSm9ReXhQUVVGUFF5eGxRVUZsYjFjc1JVRkJTMjVXTEZWQlFWY3NTMEZCVFN4RFFVTjRRMllzU1VGQlN5eFhRVU5FTEUxQlFVOHNRMEZEU0dwQ0xFdEJRVXQ1UXl4UFFVRlBMRWRCUTFwNlF5eExRVUZMZVVNc1QwRkJUeXhMUVVkd1Fra3NTVUZCU3l4VFFVRlZTaXhIUVVOWWVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEUxQlFVOHNRMEZEZWtObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFdEJSM0JDU1N4SlFVRkxMRk5CUVZWS0xFZEJRMWg2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SFFVTjRRbnBETEV0QlFVdDVReXhQUVVGUExFZEJRVXRCTEVWQlFVOHNTVUZGTlVKNlFpeFpRVUZaTEVWQlExbzRRaXhqUVVGakxFbEJSV3hDYUVNc1QwRkJUME1zWlVGQlpXOVhMRVZCUVV0dVZpeFZRVUZYTEU5QlFWRXNRMEZETVVObUxFbEJRVXNzVjBGRFJDeE5RVUZQTEVOQlEwaHFRaXhMUVVGTGVVTXNUMEZCVHl4SFFVTmFla01zUzBGQlMzbERMRTlCUVU4c1IwRkRXbnBETEV0QlFVdDVReXhQUVVGUExFZEJRMXA2UXl4TFFVRkxlVU1zVDBGQlR5eExRVWR3UWtrc1NVRkJTeXhUUVVGVlNpeEhRVU5ZZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzBFc1JVRkJUeXhIUVVONFFucERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdEJMRVZCUVU4c1IwRkRlRUo2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMUVN4RlFVRlBMRWRCUTNoQ2VrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMwRXNSVUZCVHl4SlFVVTFRbnBDTEZsQlFWa3NSVUZEV2poQ0xHTkJRV01zU1VGRmJFSnhWU3hGUVVGTGJsWXNWVUZCVldVc1IwRkJTeXhUUVVGVlF5eEhRVU14UWl4UFFVRlBhRVFzUzBGQlMzbERMRTlCUVU5UExFbEJSWFpDYlZVc1JVRkJTMjVXTEZWQlFWVnBRaXhOUVVGUkxGZEJRMjVDYWtRc1MwRkJTMnRFTEVWQlFVa3NSVUZEVkd4RUxFdEJRVXR0UkN4RlFVRkpMRVZCUTFSdVJDeExRVUZMYjBRc1JVRkJTU3hGUVVOVWNFUXNTMEZCU3l0RkxFVkJRVWtzUjBGRlltOVRMRVZCUVV0dVZpeFZRVUZWY1VJc1MwRkJUeXhUUVVGVlF5eEhRVkUxUWl4UFFWQkxRU3hKUVVORVFTeEZRVUZQTEVsQlFVazJWQ3hIUVVWbU4xUXNSVUZCUzBvc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOa1NTeEZRVUZMU0N4RlFVRkpia1FzUzBGQlMyMUVMRVZCUTJSSExFVkJRVXRHTEVWQlFVbHdSQ3hMUVVGTGIwUXNSVUZEWkVVc1JVRkJTM2xDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEVUhwQ0xFZEJSVmcyVkN4RlFVRkxibFlzVlVGQlZYVkNMRTlCUVZNc1UwRkJWVVFzUjBGUk9VSXNUMEZRUzBFc1NVRkRSRUVzUlVGQlQzUkVMRTFCUlZoelJDeEZRVUZMU2l4SFFVRkxiRVFzUzBGQlMydEVMRVZCUTJaSkxFVkJRVXRJTEVkQlFVdHVSQ3hMUVVGTGJVUXNSVUZEWmtjc1JVRkJTMFlzUjBGQlMzQkVMRXRCUVV0dlJDeEZRVU5tUlN4RlFVRkxlVUlzUjBGQlN5OUZMRXRCUVVzclJTeEZRVU5TZWtJc1IwRkZXRFpVTEVWQlFVdHVWaXhWUVVGVmQwSXNUMEZCVXl4VFFVRlZReXhGUVVGUlF5eEhRVVYwUXl4WlFVUnJRaXhKUVVGa1FTeEpRVUYzUWtFc1JVRkJXVzVDTEVWQlFWbElMRmRCUTJoRWRVSXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdHJSQ3hGUVVGSlR5eEZRVUZQVUN4SFFVRkxVU3hQUVVjNVFrTXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdHRSQ3hGUVVGSlRTeEZRVUZQVGl4SFFVRkxUeXhQUVVjNVFrTXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVdHZSQ3hGUVVGSlN5eEZRVUZQVEN4SFFVRkxUU3hOUVVjNVFrTXNTMEZCUzBNc1NVRkJTVFZFTEV0QlFVc3JSU3hGUVVGSmRFSXNSVUZCVDNOQ0xFZEJRVXR5UWl4TlFVdDBRM2xVTEVWQlFVdHVWaXhWUVVGVk5rSXNUMEZCVXl4WFFVTndRaXhQUVVGUFJpeExRVUZMUnl4TFFVRkxPVVFzUzBGQlN5dEVMR3RDUVVVeFFtOVVMRVZCUVV0dVZpeFZRVUZWSzBJc1kwRkJaMElzVjBGRE0wSXNTVUZCU1dJc1JVRkJTV3hFTEV0QlFVdHJSQ3hGUVVOVVF5eEZRVUZKYmtRc1MwRkJTMjFFTEVWQlExUkRMRVZCUVVsd1JDeExRVUZMYjBRc1JVRkRWREpDTEVWQlFVa3ZSU3hMUVVGTEswVXNSVUZEWWl4UFFVRlJOMElzUlVGQlNVRXNSVUZCU1VNc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVEpDTEVWQlFVbEJMRWRCUlhoRGIxTXNSVUZCUzI1V0xGVkJRVlZuUXl4SlFVRk5MRk5CUVZWUUxFZEJTek5DTEU5QlNrRjZSQ3hMUVVGTGEwUXNSMEZCUzA4c1JVRkJUMUFzUlVGRGFrSnNSQ3hMUVVGTGJVUXNSMEZCUzAwc1JVRkJUMDRzUlVGRGFrSnVSQ3hMUVVGTGIwUXNSMEZCUzBzc1JVRkJUMHdzUlVGRGFrSndSQ3hMUVVGTEswVXNSMEZCUzNSQ0xFVkJRVTl6UWl4RlFVTldMMFVzVFVGRldHMVlMRVZCUVV0dVZpeFZRVUZWYVVNc1UwRkJWeXhUUVVGVlVpeEhRVXRvUXl4UFFVcEJla1FzUzBGQlMydEVMRWRCUVV0UExFVkJRVTlRTEVWQlEycENiRVFzUzBGQlMyMUVMRWRCUVV0TkxFVkJRVTlPTEVWQlEycENia1FzUzBGQlMyOUVMRWRCUVV0TExFVkJRVTlNTEVWQlEycENjRVFzUzBGQlN5dEZMRWRCUVV0MFFpeEZRVUZQYzBJc1JVRkRWaTlGTEUxQlJWaHRXQ3hGUVVGTGJsWXNWVUZCVld0RExGTkJRVmNzVTBGQlZWUXNSMEZMYUVNc1QwRktRWHBFTEV0QlFVdHJSQ3hIUVVGTFR5eEZRVUZQVUN4RlFVTnFRbXhFTEV0QlFVdHRSQ3hIUVVGTFRTeEZRVUZQVGl4RlFVTnFRbTVFTEV0QlFVdHZSQ3hIUVVGTFN5eEZRVUZQVEN4RlFVTnFRbkJFTEV0QlFVc3JSU3hIUVVGTGRFSXNSVUZCVDNOQ0xFVkJRMVl2UlN4TlFVVlliVmdzUlVGQlMyNVdMRlZCUVZWdFF5eFBRVUZUTEZOQlFWVldMRWRCU3psQ0xFOUJTa0Y2UkN4TFFVRkxhMFFzUjBGQlMwOHNSVUZCVDFBc1JVRkRha0pzUkN4TFFVRkxiVVFzUjBGQlMwMHNSVUZCVDA0c1JVRkRha0p1UkN4TFFVRkxiMFFzUjBGQlMwc3NSVUZCVDB3c1JVRkRha0p3UkN4TFFVRkxLMFVzUjBGQlMzUkNMRVZCUVU5elFpeEZRVU5XTDBVc1RVRkZXRzFZTEVWQlFVdHVWaXhWUVVGVmIwTXNUVUZCVVN4VFFVRlZMME1zUlVGQlQybERMRWRCVVhCRExFOUJVRXRCTEVsQlEwUkJMRVZCUVU5MFJDeE5RVVZZYzBRc1JVRkJTMG9zUjBGQlN6ZENMRVZCUTFacFF5eEZRVUZMU0N4SFFVRkxPVUlzUlVGRFZtbERMRVZCUVV0R0xFZEJRVXN2UWl4RlFVTldhVU1zUlVGQlMzbENMRWRCUVVzeFJDeEZRVU5JYVVNc1IwRkZXRFpVTEVWQlFVdHVWaXhWUVVGVmNVTXNWVUZCV1N4VFFVRlZaaXhIUVVNMVFrRXNTVUZEUkVFc1JVRkJUM1JFTEUxQlJWZ3NTVUZCU1RaRUxFVkJRVk0zUkN4TFFVRkxOa1FzVTBGRGJFSXNUMEZCWlN4SlFVRllRU3hGUVVOUE4wUXNTMEZGU1N4SlFVRllOa1FzUjBGRFFWQXNSVUZCUzBvc1IwRkJTeXhGUVVOV1NTeEZRVUZMU0N4SFFVRkxMRVZCUTFaSExFVkJRVXRHTEVkQlFVc3NSVUZEVmtVc1JVRkJTM2xDTEVkQlFVc3NSVUZEU0hwQ0xFbEJSVmhQTEVWQlFWTXNSVUZCVFVFc1JVRkRabEFzUlVGQlMwb3NSMEZCUzFjc1JVRkRWbEFzUlVGQlMwZ3NSMEZCUzFVc1JVRkRWbEFzUlVGQlMwWXNSMEZCUzFNc1JVRkRWbEFzUlVGQlMzbENMRWRCUVV0c1FpeEZRVU5JVUN4SlFVVllObFFzUlVGQlMyNVdMRlZCUVZWdlZpeGhRVUZsTEZOQlFWVTNVeXhGUVVGUmFrSXNSMEZKTlVNc1QwRklTMEVzU1VGRFJFRXNSVUZCVDNSRUxFMUJSVXAxUlN4RlFVRlBOa3NzWVVGQllYQlFMRXRCUVUxelJDeEpRVVZ5UXpaVUxFVkJRVXN4VWl4SlFVRk5MRk5CUVZWb1F5eEZRVUZSZDBJc1JVRkJVMU1zUlVGQlRYQkRMRWRCVVhoRExFOUJVRXRCTEVsQlEwUkJMRVZCUVU4c1NVRkJTVFpVTEVkQlJXWTNWQ3hGUVVGTFNpeEZRVUZKVHl4RlFVRlBVQ3hGUVVGSmQwTXNSMEZCVVZRc1JVRkJVUzlDTEVWQlFVbFBMRVZCUVU5UUxFZEJReTlEU1N4RlFVRkxTQ3hGUVVGSlRTeEZRVUZQVGl4RlFVRkpkVU1zUjBGQlVWUXNSVUZCVVRsQ0xFVkJRVWxOTEVWQlFVOU9MRWRCUXk5RFJ5eEZRVUZMUml4RlFVRkpTeXhGUVVGUFRDeEZRVUZKYzBNc1IwRkJVVlFzUlVGQlVUZENMRVZCUVVsTExFVkJRVTlNTEVkQlF5OURSU3hGUVVGTGVVSXNSVUZCU1hSQ0xFVkJRVTl6UWl4RlFVRkpWeXhIUVVGUlZDeEZRVUZSUml4RlFVRkpkRUlzUlVGQlQzTkNMRWRCUTNoRGVrSXNSMEZGV0RaVUxFVkJRVXQ0VWl4SlFVRk5MRk5CUVZWc1F5eEZRVUZSZDBJc1JVRkJVek5DTEVkQlVXeERMRTlCVUV0QkxFbEJRMFJCTEVWQlFVOHNTVUZCU1RaVUxFZEJSV1kzVkN4RlFVRkxTaXhGUVVGSlR5eEZRVUZQVUN4RlFVRkpLMElzUlVGQlVTOUNMRVZCUXpWQ1NTeEZRVUZMU0N4RlFVRkpUU3hGUVVGUFRpeEZRVUZKT0VJc1JVRkJVVGxDTEVWQlF6VkNSeXhGUVVGTFJpeEZRVUZKU3l4RlFVRlBUQ3hGUVVGSk5rSXNSVUZCVVRkQ0xFVkJRelZDUlN4RlFVRkxlVUlzUlVGQlNYUkNMRVZCUVU5elFpeEZRVUZKUlN4RlFVRlJSaXhGUVVOeVFucENMRWRCUlZnMlZDeEZRVUZMZGxJc1YwRkJZU3hUUVVGVmJrTXNSVUZCVVhkQ0xFVkJRVk16UWl4SFFWRjZReXhQUVZCTFFTeEpRVU5FUVN4RlFVRlBMRWxCUVVrMlZDeEhRVVZtTjFRc1JVRkJTMG9zUlVGQlNVOHNSVUZCVDFBc1JVRkJTU3RDTEVWQlFWRXZRaXhGUVVNMVFra3NSVUZCUzBnc1JVRkJTVTBzUlVGQlQwNHNSVUZCU1RoQ0xFVkJRVkU1UWl4RlFVTTFRa2NzUlVGQlMwWXNSVUZCU1Vzc1JVRkJUMHdzUlVGQlNUWkNMRVZCUVZFM1FpeEZRVU0xUWtVc1JVRkJTM2xDTEVWQlFVbDBRaXhGUVVGUGMwSXNSVUZCU1VVc1JVRkJVVVlzUlVGRGNrSjZRaXhIUVVWWU5sUXNSVUZCUzNSU0xGRkJRVlVzVTBGQlZYQkRMRVZCUVZGM1FpeEZRVUZUTTBJc1IwRlJkRU1zVDBGUVMwRXNTVUZEUkVFc1JVRkJUeXhKUVVGSk5sUXNSMEZGWmpkVUxFVkJRVXRLTEVWQlFVbFBMRVZCUVU5UUxFVkJRVWtyUWl4RlFVRlJMMElzUlVGRE5VSkpMRVZCUVV0SUxFVkJRVWxOTEVWQlFVOU9MRVZCUVVrNFFpeEZRVUZST1VJc1JVRkROVUpITEVWQlFVdEdMRVZCUVVsTExFVkJRVTlNTEVWQlFVazJRaXhGUVVGUk4wSXNSVUZETlVKRkxFVkJRVXQ1UWl4RlFVRkpkRUlzUlVGQlQzTkNMRVZCUVVsRkxFVkJRVkZHTEVWQlEzSkNla0lzUjBGRldEWlVMRVZCUVV0eVVpeFRRVUZYTEZOQlFWVnlReXhGUVVGUmQwSXNSVUZCVXpOQ0xFZEJVWFpETEU5QlVFdEJMRWxCUTBSQkxFVkJRVThzU1VGQlNUWlVMRWRCUldZM1ZDeEZRVUZMU2l4RlFVRkpUeXhGUVVGUFVDeEZRVUZKSzBJc1JVRkJVUzlDTEVWQlF6VkNTU3hGUVVGTFNDeEZRVUZKVFN4RlFVRlBUaXhGUVVGSk9FSXNSVUZCVVRsQ0xFVkJRelZDUnl4RlFVRkxSaXhGUVVGSlN5eEZRVUZQVEN4RlFVRkpOa0lzUlVGQlVUZENMRVZCUXpWQ1JTeEZRVUZMZVVJc1JVRkJTWFJDTEVWQlFVOXpRaXhGUVVGSlJTeEZRVUZSUml4RlFVTnlRbnBDTEVkQlJWZzJWQ3hGUVVGTGNGSXNTMEZCVHl4SlFVRkpiMUlzUlVGQlN5eERRVUZETEVWQlFVY3NSVUZCUnl4RlFVRkhMRWxCUXk5Q1FTeEZRVUZMYmxJc1NVRkJUU3hKUVVGSmJWSXNSVUZCU3l4RFFVRkRMRVZCUVVjc1JVRkJSeXhGUVVGSExFbEJRM1pDUVN4RlFYQlhZeXhIUVhOWGVrSndXQ3hGUVVGUk5rVXNVVUZCVlhWVExFY3NaMlZEZUZkc1FpeGhRVU5CTEZGQlJVRXNVMEZCWjBKRkxFVkJRV012Vml4SFFVVTNRaXhKUVVGSlpDeEZRVUZKTEVsQlFVa3NSVUZCUVcxT0xFdEJSMW9zVDBGR1FXNU9MRVZCUVVVeVJ5eGpRVU5HTTBjc1JVRkJSVGhQTEZWQlFWZG9UeXhIUVVOT1pDeEZRVWRTTEZOQlFXZENPRmNzUlVGQlZXNVdMRWRCUlhwQ0xFbEJRVWt6UWl4RlFVRkpMRWxCUVVrc1JVRkJRVzFPTEV0QlIxb3NUMEZHUVc1T0xFVkJRVVV5Unl4alFVTkdNMGNzUlVGQlJUUkVMRTFCUVU5cVF5eEhRVU5HTTBJc1JVRkhVaXhUUVVGblFpdFhMRVZCUVRCQ2NFNHNSVUZCV1hGT0xFZEJSWEpFTEU5QlFVdEJMRVZCUjBVc1JVRkJRVFZSTEV0QlFVdHpSQ3hqUVVGbFF5eEZRVUZOY1U0c1JVRkJUVGRVTEV0QlFVdDVUU3hIUVVGTExFdEJSbnBETEVsQlFVa3NSVUZCUVhoS0xFdEJRVTBzUlVGQlFVRXNTMEZCUzNkRUxGTkJRVk4yUkN4TlFXVnFReXhUUVVGblFqUlJMRVZCUVdWcVdDeEZRVUZUY1VJc1IwRkZka01zU1VGQlNUUkpMRVZCUVUxcVN5eEZRVUZGYVVzc1NVRkJTelZKTEVkQlEycENMRTlCUVU4c1NVRkJTU3hGUVVGQlZ5eExRVUZOTEVOQlFVVnBTU3hGUVVGTExFZEJRVXRCTEVWQlFVc3NSMEZCU1VFc1JVRkJTeXhMUVVjMVF5eFRRVUZuUWpoTExFVkJRWFZDTDFVc1IwRkZkRU1zU1VGQlMwRXNSVUZGU2l4UFFVZEVMRWxCUVVscldDeEZRVUUyUWl4SFFVTTNRa01zUlVGQlRXNVlMRVZCUVVVMFR5eGhRVUZqTEVsQlFVa3NSVUZCUVN0SUxFdEJRVTBzUTBGQlJTeEZRVUZITEVWQlFVY3NSVUZCUnl4TFFVTnNReXhIUVVGVVVTeEZRVUZKZWxVc1IwRkJiVUlzUjBGQlZIbFZMRVZCUVVsNFZTeEhRVUZ0UWl4SFFVRlVkMVVzUlVGQlNYWlZMRWxCUlc1RGMxVXNSVUZCVlc1SUxGTkJRVmNzUTBGQlJYSk9MRVZCUVVkNVZTeEZRVUZKZWxVc1JVRkJSME1zUlVGQlIzZFZMRVZCUVVsNFZTeEZRVUZIUXl4RlFVRkhkVlVzUlVGQlNYWlZMRWxCUjI1RUxFbEJRVWwzVlN4RlFVRlRTQ3hGUVVGbGFsZ3NSVUZCUnl4SFFVRkpjVVFzVTBGREwwSm5WU3hGUVVGVFNpeEZRVUZsYWxnc1JVRkJSeXhIUVVGSmNVUXNVMEZETDBKcFZTeEZRVUZUVEN4RlFVRmxhbGdzUlVGQlJ5eEhRVUZKY1VRc1UwRkRja0lzUjBGQlZpdFVMRWRCUVhsQ0xFZEJRVlpETEVkQlFYbENMRWRCUVZaRExFbEJSV3BEU2l4RlFVRlZkRlFzVFVGQlVTeERRVUZGYkVJc1JVRkJTVEJWTEVWQlFWRjZWU3hGUVVGSE1GVXNSVUZCVVhwVkxFVkJRVWN3VlN4SlFVY3ZReXhKUVUxSlF5eEZRVTVUTEVsQlFVa3NSVUZCUVhwT0xFdEJRMmhDTEVOQlEwTTVTaXhGUVVGRmRVTXNSMEZCU1N4SFFVRlZObFVzUlVGQlVYQllMRVZCUVVWMVF5eEhRVUZKTEVkQlFWVTJWU3hGUVVGUmNGZ3NSVUZCUlhWRExFZEJRVWtzUjBGQlZUWlZMRVZCUTJoRmNGZ3NSVUZCUlhWRExFZEJRVWtzUjBGQlZUaFZMRVZCUVZGeVdDeEZRVUZGZFVNc1IwRkJTU3hIUVVGVk9GVXNSVUZCVVhKWUxFVkJRVVYxUXl4SFFVRkpMRWRCUVZVNFZTeEZRVU5vUlhKWUxFVkJRVVYxUXl4SFFVRkpMRWRCUVZVclZTeEZRVUZSZEZnc1JVRkJSWFZETEVkQlFVa3NSMEZCVlN0VkxFVkJRVkYwV0N4RlFVRkZkVU1zUjBGQlNTeEpRVUZWSzFVc1NVRkZha1J1VkN4VFFVMXFRaXhQUVV4aExFZEJRVlJ2VkN4RlFVRkpOMVVzUjBGQmJVSXNSMEZCVkRaVkxFVkJRVWsxVlN4SFFVRnRRaXhIUVVGVU5GVXNSVUZCU1ROVkxFbEJSVzVEYzFVc1JVRkJWVTBzVTBGQlZ5eERRVUZGT1ZVc1JVRkJSelpWTEVWQlFVazNWU3hGUVVGSFF5eEZRVUZITkZVc1JVRkJTVFZWTEVWQlFVZERMRVZCUVVjeVZTeEZRVUZKTTFVc1JVRkJSekpDTEVWQlFVZG5WQ3hGUVVGSmFGUXNTVUZIZEVReVV5eEZRVWRTTEZOQlFXZENUeXhGUVVGeFFsQXNSMEZGY0VNc1NVRkJTMEVzUlVGRlNpeFBRVUZQTEVWQlFVRXZTaXhMUVVGTGRrUXNVMEZIWWl4SlFVRkpPRTRzUlVGVFFVTXNSVUZUUVVNc1JVRm1TRVlzUlVGR1NWSXNSVUZCVlc1SUxGTkJSVXdzU1VGQlNTeEZRVUZCTDA0c1MwRkJUU3hEUVVGRmExWXNSVUZCVlc1SUxGTkJRVk55VGl4RlFVRkhkMVVzUlVGQlZXNUlMRk5CUVZOd1RpeEZRVUZIZFZVc1JVRkJWVzVJTEZOQlFWTnVUaXhKUVVrelJTeEpRVUZKTEVWQlFVRmFMRXRCUVUwc1EwRkJSU3hGUVVGSExFVkJRVWNzU1VGTE0wSXlWaXhGUVVaSlZDeEZRVUZWZEZRc1RVRkZUQ3hKUVVGSkxFVkJRVUUxUWl4TFFVRk5MRU5CUVVWclZpeEZRVUZWZEZRc1RVRkJUV3hDTEVWQlFVZDNWU3hGUVVGVmRGUXNUVUZCVFdwQ0xFVkJRVWQxVlN4RlFVRlZkRlFzVFVGQlRXaENMRWxCU1d4RkxFbEJRVWtzUlVGQlFWb3NTMEZCVFN4RFFVRkZMRVZCUVVjc1JVRkJSeXhKUVVzelFqUldMRVZCUmtsV0xFVkJRVlZOTEZOQlJWQXNTVUZCU1N4RlFVRkJjRklzUzBGQlRTeERRVUZGT0ZFc1JVRkJWVTBzVTBGQlV6bFZMRVZCUVVkM1ZTeEZRVUZWVFN4VFFVRlROMVVzUlVGQlIzVlZMRVZCUVZWTkxGTkJRVk0xVlN4RlFVRkhjMVVzUlVGQlZVMHNVMEZCVTJwVUxFbEJTV3BITEVsQlFVa3NSVUZCUVRaQ0xFdEJRVTBzUTBGQlJTeEZRVUZITEVWQlFVY3NSVUZCUnl4SlFVYzNRaXhKUVVGSmVWSXNSVUZCVFdoQ0xFVkJRV05oTEVkQlFWTm9WU3hUUVVGVmExVXNSVUZCUzJwUUxGVkJSMmhFTEVkQlJrRnJVQ3hGUVVGTlFTeEZRVUZKYmxVc1UwRkJWVzlVTEVWQlFWVmhMRWxCUlRGQ1J5eFBRVUZQUXl4TlFVRlBSaXhGUVVGSmRGWXNSMEZCU1N4SlFVVjZRaXhOUVVGTkxFbEJRVWw1Vml4TlFVRlBMSEZGUVVkc1FpeFBRVUZQU0N4RlFYaElVaXhwUWtGUlFTeGhRVkZCTERaQ1FWRkJMSFZEUVVFMlEyNVlMRWRCUlRWRExFbEJRVWtyUnl4RlFVRkxjMUFzUlVGQk1FSXNSVUZCUVM5VkxFdEJRVXN3UkN4TlFVRlBhRVlzUlVGQlJXZERMRWRCUXpkRFowWXNSVUZCUzNGUUxFVkJRVEJDTEVWQlFVRXZWU3hMUVVGTGVVUXNSMEZCU1M5RkxFVkJRVVZwUXl4SFFVTXhRMmRHTEVWQlFVdHZVQ3hGUVVFd1FpeEZRVUZCTDFVc1MwRkJTekpFTEZGQlFWTnFSaXhGUVVGRmEwTXNSMEZIYmtRc1QwRkVVVFpGTEVWQlFVY3ZSQ3hUUVVGVlowVXNSMEZCUzJoRkxGTkJRVlZwUlN4SFFVTXpRbWRDTEZWQlIxWXNhMEpCVFVFc01FSkJjVU5CTEhkQ1FUaERRU3h0UTBGQmVVTnpVQ3hGUVVGcFFrTXNSVUZCWlVNc1IwRkZlRVVzU1VGQlNVTXNSVUZCWVN4SlFVRkpMRVZCUVVGd1Z5eExRVUZOYTFjc1JVRkJVVGxXTEV0QlEyNURaMWNzUlVGQlZ6TlZMRk5CUVZWM1ZTeEhRVU55UWl4SlFVRkpTU3hGUVVGaFJDeEZRVUZYTDFVc1UwRkROVUlyVlN4RlFVRlhkbFVzV1VGRFdDeEpRVWRKZVZVc1JVRklRVU1zUlVGQmFVSXNTVUZCU1N4RlFVRkJkbGNzUzBGQlRXbFhMRVZCUVZVM1ZpeExRVUZOYjBJc1NVRkJTeXhKUVVGSkxFVkJRVUY0UWl4TFFVRk5iMWNzUlVGQlYyaFhMRXRCUVUxM1FpeE5RVUZQZVZVc1JVRkJZU3hKUVVVdlJrY3NSVUZCVTBvc1JVRkpXa1VzUlVGR1IwVXNSVUZCVHpsV0xFVkJRVWtzU1VGRlRDeEpRVUZKTEVWQlFVRldMRXRCUVVzc1EwRkJSU3hGUVVGSExFVkJRVWNzU1VGSmFrSXNTVUZCU1N4RlFVRkJRU3hMUVVGTExFTkJRVVVzUlVGQlJ5eEZRVUZITEVsQlJUTkNMRWxCUVVsNVZ5eEZRVUZUTEVWQlFVRjZWeXhMUVVGTGQwTXNUVUZCVDJkVkxFVkJRVkZHTEVWQlFWRXNTVUZCU1N4RlFVRkJkRmNzVFVGRE4wTjVWeXhGUVVGUE5WVXNXVUZEVUhsVkxFVkJRVk1zUlVGQlFYUlhMRXRCUVV0M1F5eE5RVUZQYVZVc1JVRkJVVVFzUlVGQlVVWXNSMEZEY2tNc1NVRkJTVWtzUlVGQlpTeEpRVUZKTEVWQlFVRjJUQ3hMUVVOMFFpeERRVU5EYlV3c1JVRkJUelZXTEVWQlFVYzBWaXhGUVVGUE0xWXNSVUZCUnpKV0xFVkJRVTh4Vml4RlFVRkhMRVZCUXpsQ05GWXNSVUZCVHpsV0xFVkJRVWM0Vml4RlFVRlBOMVlzUlVGQlJ6WldMRVZCUVU4MVZpeEZRVUZITEVWQlF6bENObFlzUlVGQlR5OVdMRVZCUVVjclZpeEZRVUZQT1ZZc1JVRkJSemhXTEVWQlFVODNWaXhGUVVGSExFVkJRemxDTEVWQlFVY3NSVUZCUnl4RlFVRkhMRWxCU1ZCblFpeEZRVUZSYTFRc1JVRkJWU3hKUVVGSkxFVkJRVUU1VlN4TFFVRk5MRU5CUVVWdFZ5eEZRVUZYUlN4RlFVRlpSaXhMUVVONlJDeFBRVUZQZEVJc1JVRkJZekJDTEVkQlFXbENOMVVzVTBGQlZXZFdMRVZCUVdGb1ZpeFRRVUZWUlN4TFFVZDRSU3c0UWtGQmIwTXJWU3hGUVVGWk0xUXNSVUZCYVVKR0xFZEJSV2hGTEU5QlFVOHNTVUZCU1N4RlFVRkJPVU1zUzBGRFZpeERRVU5ETWxjc1JVRkJTMnBYTEVWQlFVbHpReXhGUVVGVmRFTXNSVUZCU1c5RExFVkJRM1pDTmxRc1JVRkJTMmhYTEVWQlFVbHhReXhGUVVGVmNrTXNSVUZCU1cxRExFVkJRM1pDTmxRc1JVRkJTeTlXTEVWQlFVbHZReXhGUVVGVmNFTXNSVUZCU1d0RExFdEJTekZDTERCQ1FVRm5RemhVTEVWQlFXVkRMRVZCUVdGRExFZEJSVE5FTEVsQlFVbERMRVZCUVZNMVZpeExRVUZMTWxZc1MwRkJUVVFzUlVGQlMwTXNSMEZETjBJc1QwRkJTVU1zUjBGQlZTeEZRVVZPTEV0QlNVRklMRVZCUVZGSExFZEJTV3BDTEN0Q1FVRnhRemxYTEVkQlJYQkRMRWxCUVVrclZ5eEZRVUZWTDFjc1JVRkJUMmRZTEU5QlFWVkRMRWRCUVRKQ0xFMUJRVXhCTEVkQlEzSkVMRTlCUVVsR0xFVkJSVWszVml4TFFVRkxNRllzVDBGQlVVY3NSMEZKWWl4TlFVbFVMRFJDUVVGclEwY3NSVUZCYzBKRExFVkJRWE5DZEZrc1IwRkZOMFVzU1VGQlNXZE1MRVZCUVZNc1QwRkJTQ3hWUVVGUmMwNHNSMEZEYkVJc1IwRkJTVVFzUjBGQlQwRXNSVUZCU1hCS0xGVkJRVmx4U2l4RlFVRkpja29zVTBGREwwSXNRMEZEUXl4SlFVRkpjMG9zUlVGQlN5eEpRVUZKTEVWQlFVRnlXQ3hMUVVGTkxFTkJRVVZ0V0N4RlFVRkpjRW9zVTBGQlUzSk9MRVZCUVVkNVZ5eEZRVUZKY0Vvc1UwRkJVM0JPTEVWQlFVZDNWeXhGUVVGSmNFb3NVMEZCVTI1T0xFbEJRemxFTUZjc1JVRkJTeXhKUVVGSkxFVkJRVUYwV0N4TFFVRk5MRU5CUVVWdldDeEZRVUZKY2tvc1UwRkJVM0pPTEVWQlFVY3dWeXhGUVVGSmNrb3NVMEZCVTNCT0xFVkJRVWQ1Vnl4RlFVRkpja29zVTBGQlUyNU9MRWxCUXpsRU1sY3NSVUZCVVN4RlFVRkJkbGdzUzBGQlMybEVMRWxCUVV0dlZTeEZRVUZKUXl4RlFVRkplRmtzUlVGQlJ5eEpRVUZKTEVWQlFVRnJRaXhOUVVOeVF6aEtMRVZCUVU5cFJTeFRRVU5RTEVOQlEwTnlUaXhGUVVGSE5sY3NSVUZCVFRkWExFVkJRMVJETEVWQlFVYzBWeXhGUVVGTk5WY3NSVUZEVkVNc1JVRkJSekpYTEVWQlFVMHpWeXhIUVVsWUxFZEJRVWwxVnl4SFFVRlBRU3hGUVVGSmRsWXNUMEZCVTNkV0xFVkJRVWw0Vml4TlFVTTFRaXhEUVVORExFbEJRVWswVml4RlFVRkxMRWxCUVVrc1JVRkJRWGhZTEV0QlFVMHNRMEZCUlcxWUxFVkJRVWwyVml4TlFVRk5iRUlzUlVGQlIzbFhMRVZCUVVsMlZpeE5RVUZOYWtJc1JVRkJSM2RYTEVWQlFVbDJWaXhOUVVGTmFFSXNTVUZEY2tRMlZ5eEZRVUZMTEVsQlFVa3NSVUZCUVhwWUxFdEJRVTBzUTBGQlJXOVlMRVZCUVVsNFZpeE5RVUZOYkVJc1JVRkJSekJYTEVWQlFVbDRWaXhOUVVGTmFrSXNSVUZCUjNsWExFVkJRVWw0Vml4TlFVRk5hRUlzU1VGRGNrUm5RaXhGUVVGUkxFVkJRVUUxUWl4TFFVRkxhVVFzU1VGQlMzVlZMRVZCUVVsRExFVkJRVWt6V1N4RlFVRkhMRWxCUVVrc1JVRkJRV3RDTEUxQlEzSkRPRW9zUlVGQlQyeEpMRTFCUTFBc1EwRkRRMnhDTEVWQlFVZHJRaXhGUVVGTmJFSXNSVUZEVkVNc1JVRkJSMmxDTEVWQlFVMXFRaXhGUVVOVVF5eEZRVUZIWjBJc1JVRkJUV2hDTEVkQlNWZ3NSMEZCU1hWWExFZEJRVTlCTEVWQlFVa3pRaXhWUVVGWk5FSXNSVUZCU1RWQ0xGTkJReTlDTEVOQlEwTXNTVUZCU1d0RExFVkJRVXNzU1VGQlNVTXNSVUZCV1ZJc1JVRkJTVE5DTEZWQlEzcENiME1zUlVGQlN5eEpRVUZKUkN4RlFVRlpVQ3hGUVVGSk5VSXNWVUZEZWtKRUxFVkJRVTF0UXl4RlFVRkhSeXhOUVVGUFJDeEZRVUZXUml4RFFVRm5RalZaTEVkQlF6RkNaMHdzUlVGQlR6Qk1MRk5CUTFBc1EwRkRRMnBVTEVWQlFVZG5WQ3hGUVVGSmFGUXNSVUZEVURkQ0xFVkJRVWMyVlN4RlFVRkpOMVVzUlVGRFVFTXNSVUZCUnpSVkxFVkJRVWsxVlN4RlFVTlFReXhGUVVGSE1sVXNSVUZCU1ROVkxFZEJTVlFzVDBGQlQydEtMRWRCUjFJc0swSkJRWEZEWjA4c1IwRkZjRU1zVDBGQlMwRXNSVUZKUlM5RkxFVkJSRTh3UXl4RlFVRnhRbkZETEVkQlEwZHFXQ3hQUVVGUFowVXNWMEZJY2tOcFZDeEhRVTFVTEc5RFFVRXdRMEVzUjBGRmVrTXNTVUZCU1dwRExFVkJRVTFLTEVWQlFYRkNjVU1zUjBGRE0wSjJReXhGUVVGTlRTeEZRVUZKTlZBc1UwRkJVemxFTEZOQlEyNUNaMVFzUlVGQlRWVXNSVUZCU1dwS0xHRkJRV01zU1VGQlNTeEZRVUZCSzBnc1MwRkJUU3hEUVVGRkxFVkJRVWNzUlVGQlJ5eEZRVUZITEV0QlEycEVMRTFCUVU4c1EwRkJSVkVzUlVGQlNYcFZMRVZCUVVkNVZTeEZRVUZKZUZVc1JVRkJSM2RWTEVWQlFVbDJWU3hGUVVGSE1sVXNSVUZCU1doVUxFVkJRVWRuVkN4RlFVRkpOMVVzUlVGQlJ6WlZMRVZCUVVrMVZTeEZRVUZITkZVc1JVRkJTVE5WTEVsQlIzaEVMR3REUVVGM1EyMVlMRWRCVDNaRExFOUJRVTkwUXl4RlFVcFFMRU5CUTBNeFNDeFRRVUZWTEVOQlFVVnlUaXhGUVVGSGNWZ3NSVUZCVVN4SFFVRkpjRmdzUlVGQlIyOVlMRVZCUVZFc1IwRkJTVzVZTEVWQlFVZHRXQ3hGUVVGUkxFbEJRM0pFZGtNc1UwRkJWU3hEUVVGRmFsUXNSVUZCUjNkV0xFVkJRVkVzUjBGQlNYSllMRVZCUVVkeFdDeEZRVUZSTEVkQlFVbHdXQ3hGUVVGSGIxZ3NSVUZCVVN4SFFVRkpibGdzUlVGQlIyMVlMRVZCUVZFc1QwRkxkRVVzT0VKQlFXOURReXhGUVVGelFrTXNSMEZGZWtRc1NVRkJTVU1zUlVGQlMzcERMRVZCUVhGQ2RVTXNSMEZETVVKSExFVkJRVXN4UXl4RlFVRnhRbmRETEVkQlF6bENMRTlCUVU5c1JpeEZRVUYxUWl4RlFVRkJOVWdzUzBGQlN6bElMRkZCUVZNMlZTeEZRVUZKUXl4RlFVRkpMRWxCUVVrc1JVRkJRV2hPTEZGQlIzcEVMRFJDUVVGclEyNU9MRVZCUVZOdllTeEhRVVV4UXl4SlFVRkpReXhGUVVGTExFbEJRVWtzUlVGQlFURkVMRXRCUVUwc1EwRkJSWGxFTEVWQlFVY3hXQ3hGUVVGSE1GZ3NSVUZCUjNwWUxFVkJRVWQ1V0N4RlFVRkhlRmdzUlVGQlJ5eEpRVU4yUXl4UFFVRlBMRWxCUVVrc1JVRkJRVm9zUzBGQlRXaERMRVZCUVVVMFR5eGhRVUZqZVV3c1JVRkJTU3hKUVVGSkxFVkJRVUV4UkN4TlFVRlRkbFVzVFVGSGJrUXNNa0pCUVdsRE9GY3NSMEZGYUVNc1QwRkJTMEVzUlVGRlJTeEpRVUZKTEVWQlFVRnNXQ3hMUVVGTkxFTkJRVVZyV0N4RlFVRkZlRmNzUlVGQlIzZFhMRVZCUVVWMlZ5eEZRVUZIZFZjc1JVRkJSWFJYTEVsQlJIWkNMRTFCU1ZRc2VVSkJRU3RDYzFjc1IwRkZPVUlzVDBGQlMwRXNSVUZGUlN4RFFVRkZlRmNzUlVGQlIzZFhMRVZCUVVWNFZ5eEZRVUZIUXl4RlFVRkhkVmNzUlVGQlJYWlhMRVZCUVVkRExFVkJRVWR6Vnl4RlFVRkZkRmNzUjBGRWRFSXNUeXcwUmtOMFUxUXNkMEpCUTBFc2RVSkJRMEVzZDBKQlEwRXNkVUpCUTBFc2QwSkJRMEVzZDBKQlEwRXNlVUlzTmtKRFRrRTdPenM3T3pzN096czdPenM3T3p0QlFXZENRU3hKUVVGSk1GZ3NSVUZCWjBJc1UwRkJVM0JoTEVWQlFVZHZWaXhIUVVrMVFpeFBRVWhCWjBZc1JVRkJaMEpvWVN4UFFVRlBhV0VzWjBKQlEyeENMRU5CUVVWRExGVkJRVmNzWTBGQlowSkRMRTlCUVZNc1UwRkJWWFpoTEVWQlFVZHZWaXhIUVVGTGNGWXNSVUZCUlhOaExGVkJRVmxzUml4SlFVTjJSU3hUUVVGVmNGWXNSVUZCUjI5V0xFZEJRVXNzU1VGQlN5eEpRVUZKTlZRc1MwRkJTelJVTEVWQlFVOUJMRVZCUVVVM1ZDeGxRVUZsUXl4TFFVRkplRUlzUlVGQlJYZENMRWRCUVVzMFZDeEZRVUZGTlZRc1RVRkRjRVI0UWl4RlFVRkhiMVlzU1VGSGNrSXNVMEZCVTI5R0xFVkJRVlY0WVN4RlFVRkhiMVlzUjBGRmVrSXNVMEZCVTNGR0xFbEJRVTl1WWl4TFFVRkxiMklzV1VGQll6RmhMRVZCUkc1RGIyRXNSVUZCWTNCaExFVkJRVWR2Vml4SFFVVnFRbkJXTEVWQlFVVnpRaXhWUVVGclFpeFBRVUZPT0ZRc1JVRkJZV2hXTEU5QlFVOVpMRTlCUVU5dlZTeEpRVUZOY1VZc1JVRkJSMjVhTEZWQlFWazRWQ3hGUVVGRk9WUXNWVUZCVnl4SlFVRkpiVm9zUjBGSE5VVXNTVUZCU1VVc1JVRkJWeXhYUVZGc1FpeFBRVkJCUVN4RlFVRlhkbUVzVDBGQlQzZGhMRkZCUVZVc1UwRkJhMEpvWVN4SFFVTXhReXhKUVVGTExFbEJRVWxoTEVWQlFVY3ZRaXhGUVVGSkxFVkJRVWQ1UWl4RlFVRkpNRm9zVlVGQlZURllMRTlCUVZGNlJDeEZRVUZKZVVJc1JVRkJSM3BDTEVsQlJUVkRMRWxCUVVzc1NVRkJTVGhDTEV0QlJGUkRMRVZCUVVsdldpeFZRVUZWYm1Jc1IwRkRUMVVzVDBGQlQydENMRlZCUVZWRExHVkJRV1V4UWl4TFFVRkxORUlzUlVGQlIwUXNTMEZCU1Zvc1JVRkJSVmtzUjBGQlMwTXNSVUZCUlVRc1NVRkZPVVVzVDBGQlQxb3NTVUZGUzJ0aExFMUJRVTE0WWl4TFFVRk5kV0lzV1VGSGVrSXNVMEZCVTBVc1JVRkJUM1JhTEVWQlFVZHhVeXhIUVVOMFFpeEpRVUZKYkZRc1JVRkJTU3hIUVVOU0xFbEJRVXNzU1VGQlNWa3NTMEZCUzBNc1JVRkJUM0pDTEU5QlFVOXJRaXhWUVVGVlF5eGxRVUZsTVVJc1MwRkJTelJDTEVWQlFVZEVMRWxCUVUxelV5eEZRVUZGYTBnc1VVRkJVWGhhTEVkQlFVc3NTVUZET1VWYUxFVkJRVVZaTEVkQlFVdERMRVZCUVVWRUxFbEJRMklzUjBGQlV5eE5RVUZNUXl4SFFVRnhSQ3h0UWtGQmFrTnlRaXhQUVVGUE5tRXNjMEpCUTNSQ0xFdEJRVWwyWWl4RlFVRkpMRVZCUVdJc1NVRkJaMEk0UWl4RlFVRkpjRUlzVDBGQlR6WmhMSE5DUVVGelFuaGFMRWRCUVVrdlFpeEZRVUZKT0VJc1JVRkJSVEpDTEU5QlFWRjZSQ3hKUVVNelJHOVZMRVZCUVVWclNDeFJRVUZSZUZvc1JVRkJSVGxDTEVsQlFVMHNSMEZCUzFVc1QwRkJUMnRDTEZWQlFWVTBXaXh4UWtGQmNVSnlZaXhMUVVGTE5FSXNSVUZCUjBRc1JVRkJSVGxDTEUxQlEzWkZhMElzUlVGQlJWa3NSVUZCUlRsQ0xFbEJRVTByUWl4RlFVRkZSQ3hGUVVGRk9VSXNTMEZGTVVJc1QwRkJUMnRDTEVWQlIwb3NVMEZCVTNWaExFVkJRVmRETEVWQlFWbDBUQ3hGUVVGUk4wOHNSVUZCUzI5aExFZEJRMmhFTEVsQlFUSkljbUlzUlVGQmRraEVMRVZCUVVrNFlTeFZRVUZWTVZnc1QwRkJVVE5ETEVWQlFVbFVMRVZCUVVrc1JVRkJTU3RRTEVWQlFXdENMRTlCUVZSMVRDeEZRVUZuUWtFc1JVRkJUMnBpTEU5QlFVOXJZaXg1UWtGQmVVSjRUQ3hGUVVGUk4wOHNSMEZCVDI5aExFVkJRM0pJTEVkQlFYVkNMR2xDUVVGYVJTeFRRVUZ2UkN4dFFrRkJja0pCTEZGQlFWRkRMRk5CUVhsQ2FHSXNSVUZCU1N0aExGRkJRVkZETEZOQlFWTktMRVZCUVZsMFRDeEZRVUZSTjA4c1JVRkJTMjloTEZGQlEzQklMRWxCUVVzc1NVRkJTVE5pTEVWQlFVa3dZaXhGUVVGWGFsa3NUMEZCVXl4RlFVRkhla1FzUjBGQlN5eEZRVUZIUVN4TFFVRlRUU3hGUVVGSmIySXNSVUZCVnpGaUxFMUJRVWxqTEVkQlFVdFVMRVZCUVVrc1JVRkJTVU1zUlVGQlJWRXNSMEZCUzFRc1JVRkJTU3hGUVVGSlF5eEZRVUZGT0ZBc1JVRkJVVGRQTEVWQlFVdFVMRWRCUVV0U0xFVkJRVVU0VUN4RlFVRlJOMDhzUzBGQlUxUXNSMEZEYUVvc1QwRkJUMVFzUlVGQlNTeEhRVUZMVXl4SFFVRkxTaXhQUVVGUFF5eGxRVUZsZVZBc1JVRkJVVGRQTEVWQlFVdFVMRWRCUVVsQkxFVkJSM3BFTEZOQlFWTnBZaXhGUVVGUlF5eEZRVUZaUXl4SFFVTm9ReXhQUVVGUExGTkJRVlUzVEN4RlFVRlJOMDhzUjBGQlR6QmhMRVZCUVZVM1RDeEZRVUZSTjA4c1JVRkJTM2xoTEVsQlIzQkVMRk5CUVZORkxFVkJRVmRETEVWQlFXRkRMRWRCUTNCRExFZEJRWFZDTEdsQ1FVRmFVQ3hUUVVGdlJDeHRRa0ZCY2tKQkxGRkJRVkZSTEZOQlFYbENMRTlCUVU5U0xGRkJRVkZSTEZOQlFWTkdMRVZCUVdGRExFZEJSemRITEZOQlFWTkZMRVZCUVZWRExFVkJRVk5ETEVWQlFWbERMRVZCUVVkRExFZEJSVGxETEU5QlFVOHNTVUZCUzBRc1NVRkJUVUVzUlVGQlNVVXNWMEZCVlN4VFFVRlZReXhGUVVGVFF5eEhRVU12UXl4VFFVRlRReXhGUVVGVk4ySXNSMEZCVXl4SlFVRk5PR0lzUlVGQlMwd3NSVUZCVlUwc1MwRkJTeTlpTEVsQlFWY3NUVUZCVDIxVUxFZEJRVXQ1U1N4RlFVRlBla2tzU1VGRGNFWXNVMEZCVXpaSkxFVkJRVk5vWXl4SFFVRlRMRWxCUVUwNFlpeEZRVUZMVEN4RlFVRnBRaXhOUVVGRmVtSXNTVUZCVnl4TlFVRlBiVlFzUjBGQlMzbEpMRVZCUVU5NlNTeEpRVU4yUml4VFFVRlRNa2tzUlVGQlN6ZFJMRWRCU214Q0xFbEJRV1ZxVEN4RlFVbGhhVXdzUlVGQlQyZFNMRXRCUVU5T0xFVkJRVkV4VVN4RlFVRlBha3dzVVVGS01VTkJMRVZCU1hsRWFVd3NSVUZCVDJwTUxFMUJTbWhFUVN4aFFVRnBRbmRpTEVWQlFVbDRZaXhGUVVGUkxFbEJRVWwzWWl4SFFVRkZMRk5CUVZWSExFZEJRVmRCTEVWQlFWRXpZaXhQUVVsVWEyTXNTMEZCUzB3c1JVRkJWMGNzUjBGRGJFZEdMRWRCUVUxTUxFVkJRVmxCTEVWQlFWVjBRaXhOUVVGTmJVSXNSVUZCVTBNc1IwRkJZeXhMUVVGTFVTeFhRVWt2UkN4VFFVRlRTU3hGUVVGWllpeEZRVUZUWXl4SFFVTnFReXhKUVVGelIwTXNSVUZCUjNaaExFVkJRVWMzUWl4RlFVRkhjV01zUlVGQk0wZERMRVZCUVVrc1EwRkJSVU1zVFVGQlR5eEZRVUZIUXl4TFFVRk5MRmRCUVdFc1IwRkJWeXhGUVVGUWVHTXNSVUZCUlN4SFFVRlJMRTFCUVUxQkxFVkJRVVVzUjBGQlNTeFBRVUZQUVN4RlFVRkZMRWxCUVU5NVl5eExRVUZOTEVkQlFVbERMRWxCUVVzc1NVRkRhRWNzVDBGQlQwd3NSVUZCU1N4RFFVRkZVQ3hMUVVGTllTeEZRVUZMTEVkQlFVa3NUVUZCVTBFc1JVRkJTeXhIUVVGSkxFOUJRVlZCTEVWQlFVc3NTVUZCZDBJc2JVSkJRVmc1WXl4VFFVRXdRbmRqTEVWQlFVVjRZeXhQUVVGUEsyTXNWVUZCV1N4WFFVRmhMRTlCUVU5c1pTeFBRVUZWTW1Rc1JVRkRka29zVTBGQlUwMHNSVUZCUzNCakxFZEJRVXNzVDBGQlR5eFRRVUZWTmxnc1IwRkJTeXhQUVVONlF5eFRRVUZqZVVVc1IwRkRWaXhIUVVGSlZDeEZRVUZITEUxQlFVMHNTVUZCU1ZVc1ZVRkJWU3h0UTBGRE0wSXNTMEZCVDFJc1IwRkJSeXhKUVVOT0xFZEJRVWxHTEVWQlFVa3NSVUZCUjNaaExFbEJRVTAzUWl4RlFVRlpMRVZCUVZJMll5eEZRVUZITEVkQlFWTm9ZaXhGUVVGVkxFOUJRVWxuWWl4RlFVRkhMRWRCUVV0b1lpeEZRVUZUTEZOQlFVODNRaXhGUVVGSk5rSXNSVUZCVlN4VFFVRk5OMElzUlVGQlJXWXNTMEZCU3pSRExFZEJRVWtzUjBGQlMwRXNSVUZCUldsaExGTkJRVmM1WWl4RlFVRkpRU3hGUVVGRlppeExRVUZMTkVNc1JVRkJSMmRpTEVWQlFVY3NTMEZCUzJJc1MwRkJUU3hQUVVGUGFHTXNSVUZGTTBvc1QwRkVTVFpDTEVWQlFVa3NSVUZCUnpkQ0xFbEJRVWMyWXl4RlFVRkxMRU5CUVZNc1JVRkJVa0VzUlVGQlJ5eEhRVUZSTjJNc1JVRkJSVVFzVVVGRGVrSTRZeXhGUVVGSExFbEJRMUFzUzBGQlN5eEZRVUZITEV0QlFVc3NSVUZCUnpkakxFVkJRVWsyWXl4RlFVRkpMRTFCUTNoQ0xFdEJRVXNzUlVGQll5eFBRVUZZVUN4RlFVRkZReXhSUVVGblFpeERRVUZGZUdNc1RVRkJUemhqTEVWQlFVY3NSMEZCU1dJc1RVRkJUU3hIUVVOb1JDeExRVUZMTEVWQlFVZE5MRVZCUVVWRExGRkJRVk14WVN4RlFVRkpaMklzUlVGQlJ5eEhRVUZKUVN4RlFVRkxMRU5CUVVNc1IwRkJTU3hUUVVONFF5eExRVUZMTEVWQlFVZEJMRVZCUVV0UUxFVkJRVVZKTEVsQlFVbExMRTFCUVU5VUxFVkJRVVZITEV0QlFVdE5MRTFCUVU4c1UwRkRlRU1zVVVGRFNTeExRVUZOTDJNc1JVRkJTWE5qTEVWQlFVVkhMRTFCUVUxNll5eEZRVUZKUVN4RlFVRkZkVU1zVDBGQlV5eEhRVUZMZGtNc1JVRkJSVUVzUlVGQlJYVkRMRTlCUVZNc1MwRkJhMElzU1VGQlZuTmhMRVZCUVVjc1NVRkJjMElzU1VGQlZrRXNSVUZCUnl4SlFVRlhMRU5CUVVWUUxFVkJRVWtzUlVGQlJ5eFRRVU5xUnl4SFFVRmpMRWxCUVZaUExFVkJRVWNzVFVGQll6ZGpMRWRCUVUwMll5eEZRVUZITEVkQlFVczNZeXhGUVVGRkxFbEJRVTAyWXl4RlFVRkhMRWRCUVVzM1l5eEZRVUZGTEVsQlFVMHNRMEZCUlhOakxFVkJRVVZETEUxQlFWRk5MRVZCUVVjc1IwRkJTU3hOUVVNNVJTeEhRVUZqTEVsQlFWWkJMRVZCUVVjc1NVRkJXVkFzUlVGQlJVTXNUVUZCVVhaakxFVkJRVVVzUjBGQlNTeERRVUZGYzJNc1JVRkJSVU1zVFVGQlVYWmpMRVZCUVVVc1IwRkJTVUVzUlVGQlNUWmpMRVZCUVVrc1RVRkROMFFzUjBGQlNUZGpMRWRCUVV0ell5eEZRVUZGUXl4TlFVRlJkbU1zUlVGQlJTeEhRVUZKTEVOQlFVVnpZeXhGUVVGRlF5eE5RVUZSZG1Nc1JVRkJSU3hIUVVGSmMyTXNSVUZCUlVrc1NVRkJTVTBzUzBGQlMwZ3NSMEZCU3l4TlFVTjJSRGRqTEVWQlFVVXNTVUZCU1hOakxFVkJRVVZKTEVsQlFVbExMRTFCUTJoQ1ZDeEZRVUZGUnl4TFFVRkxUU3hOUVVGUExGTkJSWFJDUml4RlFVRkxWaXhGUVVGTGJHUXNTMEZCUzI5akxFVkJRVk5wUWl4SFFVTXhRaXhOUVVGUGNFb3NSMEZCU3pKS0xFVkJRVXNzUTBGQlF5eEZRVUZITTBvc1IwRkJTWEpTTEVWQlFVa3NSVUZCU3l4UlFVRlZkV0VzUlVGQlNYQmpMRVZCUVVrc1JVRkRkRVFzUjBGQldTeEZRVUZTTm1Nc1JVRkJSeXhIUVVGUkxFMUJRVTFCTEVWQlFVY3NSMEZCU1N4TlFVRlBMRU5CUVVVNVl5eE5RVUZQT0dNc1JVRkJSeXhIUVVGTFFTeEZRVUZITEZGQlFVc3NSVUZCVVdJc1RVRkJUU3hIUVhKQ09VSklMRU5CUVVzc1EwRkJRM1JpTEVWQlFVYzJXQ3hOUVhsQ2RFUXNVMEZCVXpaRkxFVkJRV2RDTVdRc1JVRkJSMHdzUlVGQlIyZGxMRVZCUVVkRExGRkJRekZDT1dJc1NVRkJVRGhpTEVsQlFXdENRU3hGUVVGTFJDeEhRVU16UWpOa0xFVkJRVVUwWkN4SFFVRk5hbVVzUlVGQlJXZGxMRWRCUjFBc1UwRkJVMFVzUlVGQllXeGxMRVZCUVVkVUxFZEJRelZDTEVsQlFVc3NTVUZCU1cxRExFdEJRVXN4UWl4RlFVRmhMRmxCUVU0d1FpeEhRVUZ2UW01RExFVkJRVkZyUXl4bFFVRmxReXhMUVVGSmJrTXNSVUZCVVcxRExFZEJRVXN4UWl4RlFVRkZNRUlzU1VGSGFFWXNVMEZCVTNsakxFVkJRVk01WkN4SFFVTnlRaXhKUVVGSmMwSXNSVUZCYzBJc2JVSkJRVmhvUWl4UlFVRjVRa0VzVDBGQlR5dGpMRk5CUVZVeFpDeEZRVUZKTWtJc1IwRkJTM1JDTEVWQlFVVnpRaXhIUVVGSkwwSXNSVUZCU1N4RlFVTTFSU3hIUVVGSlNTeEZRVUZITEU5QlFVOUJMRVZCUVVWRUxFdEJRVXROTEVkQlEzSkNMRWRCUVVsQkxFZEJRWGxDTEdsQ1FVRmlRU3hGUVVGRlowUXNUMEZCY1VJc1RVRkJUeXhEUVVNeFEzVmFMRXRCUVUwc1YwRkZSaXhQUVVSSmRtTXNSMEZCUzFRc1IwRkJTMU1zUlVGQlJXZEVMRk5CUVZGb1JDeFBRVUZKTEVkQlEzSkNMRU5CUVVWUkxFMUJRVTlTTEVkQlFVdEJMRVZCUVVWVUxFdEJRVTFyWkN4TlFVRlBlbU1zUzBGSE5VTXNUVUZCVFN4SlFVRkpkV1FzVlVGQlZXcGpMRVZCUVVrc01FSkJRVFJDTEcxRFFVZHFSQ3hUUVVGVGVXTXNSVUZCVHk5a0xFVkJRVWRuUWl4SFFVTjBRaXhKUVVGSmNrSXNSVUZCYzBJc2JVSkJRVmhYTEZGQlFYbENUaXhGUVVGRlRTeFBRVUZQSzJNc1ZVRkRha1FzU1VGQlN6RmtMRVZCUVVjc1QwRkJUMHNzUlVGRFppeEpRVUZ0UWtzc1JVRkJXWE5VTEVWQlFUTkNjRlVzUlVGQlNVa3NSVUZCUlVRc1MwRkJTMDBzUjBGQlQyZGxMRVZCUVVzc1IwRkRNMElzU1VGRFNTeFhRVUZqTEVsQlFVNW9aQ3hIUVVGblFrRXNTMEZCVFN4TlFVRlJXQ3hGUVVGSlpDeEZRVUZGWjJRc1VVRkJVVVVzVFVGQlRYVkNMRVZCUVVkUUxFdEJRVXR3WkN4RlFVRkZSeXhQUVVWNFJTeE5RVUZQZVdRc1IwRkJVM1JMTEVWQlFVa3NRMEZCUlhOTExFMUJRVTlCTEVkQlF6ZENMRkZCUTBrc1NVRkRVVFZrTEVsQlFVMUJMRVZCUVVWdll5eFBRVUZUT1dNc1JVRkJTVW9zUlVGQlZTeFRRVUZKU1N4RlFVRkZSQ3hMUVVGTFNDeEhRVVZzUkN4UlFVRlZMRWRCUVVsdlZTeEZRVUZITEUxQlFVMUJMRVZCUVVWelN5eFBRVVUzUWl4UFFVRlBSQ3hGUVVkS0xGTkJRVk5GTEVsQlExb3NTVUZCU3l4SlFVRkpSaXhGUVVGTExFZEJRVWw2WlN4RlFVRkpMRVZCUVVkQkxFVkJRVWx0WWl4VlFVRlZNVmdzVDBGQlVYcEVMRWxCUXpORGVXVXNSVUZCUzBFc1JVRkJSMGNzVDBGQlQwb3NSVUZCVDNKRUxGVkJRVlZ1WWl4TFFVTndReXhQUVVGUGVXVXNSVUZIU2l4VFFVRlRTU3hKUVVOYUxFbEJRVXNzU1VGQlNUbGpMRVZCUVVrc1JVRkJSeTlDTEVWQlFVa3NSVUZCUnpobExFVkJRVXN6UkN4VlFVRlZNVmdzVDBGQlVYcEVMRVZCUVVrNFpTeEZRVUZKT1dVc1NVRkJTeXRDTEVkQlFVdHZXaXhWUVVGVmJtSXNSMEZCUjNsRUxFOUJRM2hGTEVsQlFVa3pReXhGUVVGSksxb3NUVUZCVFRsWkxFZEJRVWx4WXl4RlFVRkpMRVZCUVROQ0xFbEJRVGhDY0dVc1JVRkJTU3hGUVVGSFFTeEZRVUZKT0dVc1JVRkJTVGxsTEVsQlEzcERMRWxCUVVzc1NVRkJTWGxXTEVWQlFVa3dSaXhWUVVGVmJtSXNSMEZCU1N0bExFVkJRVWtzUlVGQlIwTXNSVUZCUzNaS0xFVkJRVVZvVXl4UFFVRlJjMklzUlVGQlNVTXNSVUZCU1VRc1NVRkJTMWdzU1VGRE1VUjBaQ3hGUVVGRmMyUXNSMEZCU3pOSkxFVkJRVVZ6U2l4SFFVTnFRaXhQUVVGUGFtVXNSVUZIU2l4VFFVRlRiV1VzUlVGQlVUTkdMRWRCUTNCQ0xFOUJRVTh4V2l4blFrRkJaMEp4Wml4SFFVRlhjbVlzUzBGQlN6QmFMRVZCUVVsQkxFVkJRVWN4V2l4TlFVRlJMRWxCUVVseFppeEZRVUZSTTBZc1IwRkhMMFFzVTBGQlV6UkdMRVZCUVdsQ00wTXNSVUZCVTBNc1JVRkJXVVVzUjBGRGJFUXNTVUZCU3pOaUxFOUJRVTl2WlN4alFVRmxMRTFCUVUwc1NVRkJTVzVDTEZWQlFWVXNkME5CUXk5RExFbEJRVzlFYUdVc1JVRkJhRVIxWkN4RlFVRkpZaXhGUVVGVmRFSXNUVUZCVFcxQ0xFVkJRVk5ETEVkQlFXTXNTVUZCVVRSRExFVkJRVWtzUjBGRE0wUXNUMEZCVDNCbUxFVkJRVWtzUjBGQlNUWmtMRVZCUVVzc1VVRkJVMEVzUlVGQlN5eFRRVUZWUVN4RlFVRkxMRlZCUVZjM1pDeEZRVUZGWlN4UFFVRlBiMlVzWlVGQmFVSXNWMEZCWXl4UFFVRlBkbVlzVFVGQlUwa3NSVUZEY0Vnc1UwRkJVelprTEVWQlFVdHdZeXhIUVVGVE9HSXNSVUZCUlRsaUxFdEJRVWw2UWl4RlFVRkZlVUlzUjBGQlN5eFRRVUZWTmxnc1IwRkJTeXhQUVVGUExFbEJRVWx4UkN4VFFVRlJMRk5CUVZWc1NDeEZRVUZIUXl4SFFVRkxNRW9zUlVGQlJXeENMRXRCUVVzc1EwRkJRM3BqTEVWQlFVYzJXQ3hGUVVGSE4wUXNSVUZCUjBNc1NVRkJUU3hIUVVGTE1rb3NSVUZCVHpWa0xFVkJRVWMyV0N4UlFVTTVTQ3hUUVVGVEswWXNSVUZCVHpWa0xFVkJRVWMyV0N4SFFVRkxMRXRCUTFaNFdTeEZRVVJ4UW5sakxFVkJRVVU1WWl4SFFVRkhObGdzU1VGRGJrSnlXU3hwUWtGQmFVSm5aU3hGUVVGVmRFTXNVVUZCVVVNc1VVRkJVVGxpTEVWQlFVVkhMRTFCUVUxeFdTeEhRVUZITmtRc1MwRkJTMjFETEVWQlFWTjZReXhIUVVGVk1FTXNSVUZCVDBnc1JVRkJSU3hIUVVGSExFZEJRVWwwWlN4SFFVUndSU3hOUVVGUGMxUXNSMEZCUzIxTUxFVkJRVTlJTEVWQlFVVXNSMEZCUnl4SFFVRkphRXdzUjBGRE0wVXNTVUZCWTNSVUxFVkJRMlFzVTBGQlUzZGxMRVZCUVZGeVpTeEhRVUZUYjJVc1JVRkJUeXhQUVVGUmNHVXNSMEZEZWtNc1UwRkJVelJpTEVWQlFVODFZaXhIUVVGVGIyVXNSVUZCVHl4UlFVRlRjR1VzUjBGRGVrTXNVMEZCVTNObExFVkJRVTlxUXl4RlFVRkhhRVVzUjBGQlUyZEZMRVZCUVVWb1JTeEhRVUZKT0VZc1JVRkJSVWtzVVVGQlUwb3NSVUZCUlROaUxGRkJRVkUwWWl4RlFVRlBSQ3hGUVVGRkxFZEJRVWNzUjBGQlNVRXNSVUZCUlN4SFFVRkhMRXRCUjNwRkxGTkJRVk5MTEVWQlFXbENhR1lzUjBGRE4wSXNTVUZCU1ZRc1JVRkJSemhDTEVWQlExQXNUMEZCVHpsQ0xFVkJRVWtzUjBGQlNUWmtMRVZCUVVzc1VVRkJVMEVzUlVGQlN5eFRRVUZUTEZOQlFWVjZTaXhIUVVGTExFMUJRVTFCTEV0QlFVOTVTaXhGUVVGTExGVkJRVmMzWkN4RlFVRkZaU3hQUVVGUEsyTXNWVUZCV1N4WFFVRmpMRTlCUVU5c1pTeE5RVUZUU1N4RlFVTXhTU3hUUVVGVE5tUXNSVUZCUzNCakxFVkJRVWMyWWl4SFFVRkxkR1FzUlVGQlJYbENMRWRCUVV0b1FpeEZRVUZGWjBJc1IwRkJTeXhUUVVGVk5sZ3NSMEZCU3l4UFFVRlJlRmdzUjBGQlMwRXNSMEZCU3l4RFFVRkZZaXhOUVVGUFoyVXNSVUZCVVhobExFVkJRVVZuUWl4SFFVRkhObGdzU1VGQlN6UkVMRXRCUVZrc1YwRkJUbnBpTEVkQlFXMUNObUlzUlVGQlNVRXNSVUZCUldoRkxFZEJRVXRCTEVkQlFVOW5SU3hIUVVkNFNTeFRRVUZUYjBNc1JVRkJZMnBtTEVkQlF6RkNMRWxCUVV0TkxFOUJRVTl2WlN4alFVRmxMRTFCUVUwc1NVRkJTVzVDTEZWQlFWVXNkME5CUXk5RExFbEJRV2xEYUdVc1JVRkJOMEpKTEVWQlFVbExMRVZCUVVWTkxFOUJRVTl2WlN4bFFVTnFRaXhQUVVGUEwyVXNSVUZCU1VFc1JVRkJSVVFzUzBGQlMwMHNTVUZCVFVFc1JVRkJjVU00WkN4RlFVRlRPV1FzUjBGQk1rSlVMRVZCUVVrc1IwRkJTVFprTEVWQlFVc3NVVUZCVTBFc1JVRkJTeXhUUVVGVlFTeEZRVUZMTEZWQlFWYzNaQ3hGUVVGRlpTeFBRVUZQYjJVc1pVRkJhVUlzVjBGQll5eFBRVUZQZG1Zc1RVRkJVMGtzUjBGRE9VMHNVMEZCVXpaa0xFVkJRVXR3WXl4SFFVRkxla0lzUlVGQlJYbENMRWRCUVV0b1FpeEZRVUZGWjBJc1NVRkJUU3hUUVVGVk5sZ3NSMEZCU3l4UFFVRlBMRWxCUVVseFJDeFRRVUZSTEZOQlFWVkRMRVZCUVZORExFbEJRM1pHTEZOQlFXZENSQ3hGUVVGVFF5eEZRVUZSZG1Nc1JVRkJSMmRhTEVkQlFVdHhSQ3hSUVVGUlF5eFJRVUZSZEVRc1IwRkJSelpFTEUxQlFVc3NVMEZCVXpkRUxFZEJRVXR6UkN4RlFVRlJMRU5CUVVVellpeE5RVUZQY1Zrc1JVRkJSelJFTEV0QlFVMDFZeXhOUVVGVGRXTXNTVUZFU2pCRExFTkJRVTh6UXl4RlFVRlRReXhIUVVFM1FuWkVMRVZCUVVrM1dTeEZRVUZGWjBJc1IwRkJSelpZTEVsQlFUaENORVFzUzBGQlRUVkVMRVZCUVVWeVdTeFpRVWszU1N4VFFVRlRNR1VzUlVGQmNVSkRMRVZCUVZGRExFZEJSWHBETEU5QlJFbHVaaXhQUVVGUFF5eGxRVUZyUWtRc1QwRkJUME1zWlVGQlpXbG1MRVZCUVZFc1RVRkJUeXhEUVVGRk0yVXNUVUZCVHpSbExFbEJRV2xDUkN4RlFVRlBReXhKUVVGTlFTeEZRVU5zUjBRc1JVRkhTaXhUUVVGVFJTeEZRVUZoUXl4SFFVTjZRaXhIUVVGSlFTeEhRVUZQUVN4RlFVRkpNMlVzVjBGQldTeFBRVUZQTW1Vc1JVRkRiRU1zU1VGQlNUZFVMRVZCUVZNc1IwRkRZaXhIUVVGWExFMUJRVkEyVkN4RlFVRmhMRWxCUVVzc1NVRkJTVE5DTEV0QlFVc3lRaXhGUVVGVGNtWXNUMEZCVDIxQ0xHVkJRV1V4UWl4TFFVRkxOR1lzUlVGQlN6TkNMRXRCUVVsc1V5eEZRVUZQYTFNc1IwRkJTekpDTEVWQlFVa3pRaXhKUVVVMVJpeFBRVVJCYkZNc1JVRkJUekZJTEZGQlFWVjFZaXhGUVVOV04xUXNSVUZIU2l4VFFVRlRPRlFzUlVGQlowSkVMRWRCUXpWQ0xFOUJRVkZCTEVkQlFVOUJMRVZCUVVrelpTeFhRVUZqTW1Vc1JVRkJUU3hEUVVGRmRtSXNVVUZCVTNWaUxFZEJSeTlETEZOQlFWTkZMRVZCUVhWQ2NFNHNSVUZCVlhGT0xFZEJRemRETEVsQlFVdEJMRVZCUVZkRExFbEJRVWwwVGl4SFFVTm9RaXhOUVVGTkxFbEJRVWx0VEN4VlFVRlZMR3RFUVVWNFFpeFBRVUZQYTBNc1JVRkJWM0ptTEVsQlFVbG5VeXhIUVVkdVFpeFRRVUZUZFU0c1JVRkJkVUoyVGl4RlFVRlZjVTRzUlVGQldXcG1MRWRCUTNwRUxFbEJRVXRwWml4RlFVRlhReXhKUVVGSmRFNHNSMEZEYUVJc1RVRkJUU3hKUVVGSmJVd3NWVUZCVlN4clJFRkhlRUlzVDBGRVFXdERMRVZCUVZkNlpDeEpRVUZKYjFFc1JVRkJWVFZTTEVkQlEyeENRU3hKTEcxUlEzWk9XQ3h4UTBGbFRXOW1MRzlDUVVGelFpeEZRV0UxUWl4VFFVRm5Ra01zTUVKQlJXWXNTVUZCU1VNc1IwRkJTME1zUzBGQlRTeHRRa0ZEV0VNc1MwRkJUMFFzUzBGQlRTeHpRa0ZEYWtJc1QwRkJUME1zUzBGQlMwTXNTMEZCVFVnc1IwRkJSMGtzVlVGQlZ5eFpRVWRxUXl4VFFVRm5Ra01zTmtKQlJXWXNTVUZCU1Vnc1MwRkJUMFFzUzBGQlRTeHhRa0ZEYWtJc1QwRkJUME1zUzBGQlMwTXNTMEZCVFVvc01FSkJRVEpDTEdOQlZqbERMSGRFUVU5QkxEaEVRVTFCTEUxQlFVMVBMRmRCUTA0c1EwRkRReXhSUVVOQkxFOUJRMEVzVFVGRFFTeFRRVU5CTEU5QlEwRXNVMEZEUVN4UFFVTkJMRk5CUTBFc1VVRkRRU3hSUVVOQkxGRkJRMEVzVTBGSFMwTXNWVUZEVGl4RFFVTkRMRkZCUTBFc1UwRkRRU3hSUVVOQkxGbEJRMEVzVlVGRFFTeFBRVU5CTEU5QlEwRXNUMEZEUVN4VFFVTkJMR0ZCUTBFc1VVRkRRU3hUUVVsRUxGTkJRVk5ETEhGQ1FVVlNMRWxCUVVsRExFVkJRV0Y2WkN4TFFVRkxNR1FzVFVGQlR6RmtMRXRCUVVzeVpDeFRRVUZYVEN4WFFVRlhjR1FzVVVGRGNFUXdaQ3hGUVVGWk5XUXNTMEZCU3pCa0xFMUJRVTh4WkN4TFFVRkxNbVFzVTBGQlYwb3NWVUZCVlhKa0xGRkJRM1JFTEUxQlFVOHNSMEZCU1c5a0xGZEJRVmxITEUxQlFXdENSaXhWUVVGWFN5eExRVWR5UkN4VFFVRm5Ra01zVDBGQlVXeElMRWRCUlhaQ0xFbEJRVWx0U0N4RlFVTktMRU5CUTBORExFOUJRVkVzUlVGRFVrTXNZMEZCWlhKSUxFVkJRVXR4U0N4alFVTndRa01zYVVKQlFXdENMRWRCUTJ4Q1F5eGxRVUZuUWl4RFFVRkZReXh2UWtGQmIwSXNSVUZCVDBNc1owSkJRV2xDTEV0QlFVMURMRmRCUVZrc1EwRkJReXhGUVVGSExFVkJRVWNzU1VGRGRrWkRMR05CUVdVc1dVRkRaa01zY1VKQlFYTkNaaXh6UWtGSGRrSXNTVUZCU3l4SlFVRkpaMElzUzBGQllUZElMRVZCUVV0elNDeHBRa0ZGTVVKSUxFVkJRVWRITEdsQ1FVRnBRblJFTEV0QlFVMDJSQ3hGUVVGVk1Vd3NVVUZCVXl4dFFrRkJiMElzYjBKQlIyeEZMRTlCUVU5blRDeEZRVWRTTEZOQlFXZENWeXh2UWtGQmNVSjJRaXhOUVVWd1F5eEpRVVZETEVsQlFVbDNRaXhIUVVGTGVrSXNTMEZCVFN4dFFrRkZXREJDTEdOQlFXZENSQ3hIUVVGSFJTeGhRVUZqTVVJc1MwRkJUU3hSUVVOMlF6SkNMRTFCUVhWQ2NFOHNTMEZCUzBNc1RVRkJUMmxQTEdWQlJYWkRMRWRCUVc5Q0xFZEJRV2hDUlN4TlFVRk5aQ3hSUVVFclFpeEhRVUZvUW1Nc1RVRkJUV1FzVDBGRk9VSXNTMEZCVFN4blFrRkJaMEpqTEUxQlFVMWtMR2xEUVVjM1FpeEhRVUZKWXl4TlFVRk5aQ3hSUVVGVmFrSXNiMEpCUlc1Q0xFdEJRVTBzT0VKQlFUaENLMElzVFVGQlRXUXNUMEUwUWpORExFOUJla0pMWXl4TlFVRk5XQ3hwUWtGRFZsY3NUVUZCVFZnc1pVRkJhVUlzUTBGRGRFSkRMRzlDUVVGdlFpeEZRVU53UWtNc1owSkJRV2xDTEV0QlEycENReXhYUVVGWkxFTkJRVU1zUlVGQlJ5eEZRVUZITEV0QlNXaENVU3hOUVVGTllpeGpRVUUwUWl4alFVVjBRMmhQTEZGQlFWRkRMRWxCUVVzc2JVUkJRMkkwVHl4TlFVRk5ZaXhqUVVFMFFpeFpRVU5zUXl4RFFVTkROMDBzU1VGQlN5dzJRMEZEVERKT0xGTkJRVlVzTkVKQlNWQkVMRTFCUVUxT0xIVkNRVVZXVFN4TlFVRk5UaXh4UWtGQmRVSm1MSE5DUVVjNVFuaE9MRkZCUVZGRExFbEJRVXNzYlVKQlFXOUNhVTRzV1VGRE1VSXZaaXhQUVVGUE5HaENMRXRCUVUxR0xFMUJRVTFpTEdWQlFXZENPV1FzVDBGQmRrTXNiVUpCUTBreVpTeE5RVVZTTEUxQlFVOW9UeXhIUVVWT1lpeFJRVUZSUXl4SlFVRkxMSEZEUVVGelExa3NlVUpCUlc1RUxFbEJRVWxuVHl4RlFVTktMRU5CUTBOa0xFOUJRVkZxUWl4dlFrRkRVbXRDTEdOQlEwRXNRMEZEUXl4WlFVTkJMRU5CUTBNM1RTeEpRVUZMTERaRFFVTk1NazRzVTBGQlZTdzBRa0ZIV21Jc2FVSkJRV3RDTEVkQlEyeENReXhsUVVGblFpeERRVUZGUlN4blFrRkJhVUlzUzBGQlRVUXNiMEpCUVc5Q0xFVkJRVTlGTEZkQlFWa3NRMEZCUXl4RlFVRkhMRVZCUVVjc1NVRkRka1pETEdOQlFXVXNXVUZEWmtNc2NVSkJRWE5DWml4elFrRkZka0lzVDBGQlQzRkNMRWRCVFZRc1UwRkJaMEpITEhGQ1FVRnpRa2dzVFVGQmMwSXpRaXhOUVVVelJDeEpRVUZKZDBJc1IwRkJTM3BDTEV0QlFVMHNiVUpCUjJZc1QwRkdRVFJDTEUxQlFVMWtMRTlCUVZOcVFpeHZRa0ZEWmpSQ0xFZEJRVWRQTEdOQlFXVXZRaXhMUVVGTmVrMHNTMEZCUzNsUExGVkJRVmRNTEUxQlFVOHNTMEZCVFN4TFFVTTVReXhGUVdwSFVpeHpRa0Z2UWtFc1owUkJkMFZCTEcxRUxEWkNRemRMUVRGb1FpeFBRVUZQUXl4bFFVRmxhRUlzUlVGQlV5eGhRVUZqTEVOQlFVVnpRaXhQUVVGUExFbEJRM1JFTEVsQlFVbG5TaXhGUVVGVExFVkJRVkVzUjBGRGFrSTVTQ3hGUVVGakxFVkJRVkVzUjBGRGRFSXlWU3hGUVVGelFpeFhRVU4wUWl4VFFVRlRRU3hGUVVGTGVsVXNSMEZEVm5wRExFdEJRVXQ1UXl4UFFVRlRMRWxCUVVsRExHRkJRV0VzVVVGRGFFSkRMRWxCUVZoR0xFZEJRMEY2UXl4TFFVRkxhMG9zUzBGQlMzcEhMRWRCYVV0c1FpeFBRVGxLUVhsVkxFVkJRVXRzVml4VlFVRlZaU3hIUVVGTExGTkJRVlZETEVkQlF6RkNMRTlCUVU5b1JDeExRVUZMZVVNc1QwRkJUMDhzU1VGRmRrSnJWU3hGUVVGTGJGWXNWVUZCVld0SUxFdEJRVThzVTBGQlZYcEhMRWRCUXpWQ0xFbEJRVXNzU1VGQlNYSkRMRVZCUVVrc1JVRkJSMEVzUlVGQlNTeEZRVUZIUVN4SlFVTnVRa29zUzBGQlMzbERMRTlCUVU5eVF5eEhRVUZMY1VNc1JVRkJUM0pETEVkQlJUVkNMRTlCUVU5S0xFMUJSVmhyV0N4RlFVRkxiRllzVlVGQlZXbENMRTFCUVZFc1YwRkRia0lzU1VGQlN5eEpRVUZKTjBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEVWQlFVZEJMRWxCUTI1Q1NpeExRVUZMZVVNc1QwRkJUM0pETEVkQlFVc3NSMEZIZWtJNFZ5eEZRVUZMYkZZc1ZVRkJWWEZDTEV0QlFVOHNVMEZCVlVNc1IwRkRka0pCTEVsQlEwUkJMRVZCUVU4c1NVRkJTVFJVTEVkQlJXWXNTVUZCU3l4SlFVRkpPVmNzUlVGQlNTeEZRVUZIUVN4RlFVRkpMRVZCUVVkQkxFbEJRMjVDYTBRc1JVRkJTMklzVDBGQlQzSkRMRWRCUVV0S0xFdEJRVXQ1UXl4UFFVRlBja01zUjBGRmFrTXNUMEZCVDJ0RUxFZEJSVmcwVkN4RlFVRkxiRllzVlVGQlZYVkpMRWxCUVUwc1YwRkZha0lzU1VGRVFTeEpRVUZKUXl4RlFVRlBMRWRCUTBad1N5eEZRVUZKTEVWQlFVZEJMRVZCUVVrc1JVRkJSMEVzU1VGRGJrSnZTeXhGUVVGTGNFc3NSMEZCUzBvc1MwRkJTM2xETEU5QlFVOXlReXhIUVVVeFFpeFBRVUZQYjBzc1IwRkZXREJOTEVWQlFVdHNWaXhWUVVGVmVVa3NTVUZCVFN4VFFVRlZla2dzUjBGRE0wSXNUVUZCVHl4RFFVTklhRVFzUzBGQlMzbERMRTlCUVdVc1JVRkJVazhzUlVGQldTeEhRVU40UW1oRUxFdEJRVXQ1UXl4UFFVRmxMRVZCUVZKUExFVkJRVmtzUzBGSGFFTnJWU3hGUVVGTGJGWXNWVUZCVlRCSkxFbEJRVTBzVTBGQlZURklMRWRCUXpOQ0xFMUJRVThzUTBGRFNHaEVMRXRCUVV0NVF5eFBRVUZQVHl4SFFVTmFhRVFzUzBGQlMzbERMRTlCUVU5UExFVkJRVkVzUzBGSE5VSnJWU3hGUVVGTGJGWXNWVUZCVlhkQ0xFOUJRVk1zVTBGQlZXVXNSVUZCVVdJc1VVRkRjRUlzU1VGQlpFRXNTVUZCZDBKQkxFVkJRVmx1UWl4RlFVRlpTQ3hUUVVOd1JDeEpRVUZMTEVsQlFVbG9ReXhGUVVGSkxFVkJRVWRCTEVWQlFVa3NSVUZCUjBFc1NVRkRia0lzUjBGQlNYVkVMRXRCUVV0RExFbEJRVWsxUkN4TFFVRkxlVU1zVDBGQlQzSkRMRWRCUVV0dFJTeEZRVUZQZUVJc1IwRkJSek5ETEVsQlFVMXpSQ3hGUVVNeFF5eFBRVUZQTEVWQlIyWXNUMEZCVHl4SFFVVllkMVFzUlVGQlMyeFdMRlZCUVZVeVNTeFpRVUZqTEZkQlEzcENMRTlCUVU4elN5eExRVUZMZVVNc1QwRkJUeXhIUVVGTGVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdDZReXhMUVVGTGVVTXNUMEZCVHl4SlFVVXhSWGxWTEVWQlFVdHNWaXhWUVVGVmJVWXNXVUZCWXl4WFFVdDZRaXhQUVVwQmJrZ3NTMEZCUzNsRExFOUJRVThzUjBGQlN5eEZRVU5xUW5wRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVVzc1JVRkRha0o2UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMTEVWQlEycENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTeXhGUVVOV2VrTXNUVUZGV0d0WUxFVkJRVXRzVml4VlFVRlZjVW9zVlVGQldTeFhRVU4yUWl4SlFVRkplVmdzUlVGQlR6bHBRaXhMUVVGTGVVTXNUMEZCVHl4SFFVZDJRaXhQUVVaQmVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzcERMRXRCUVV0NVF5eFBRVUZQTEVkQlF6ZENla01zUzBGQlMzbERMRTlCUVU4c1IwRkJTM0ZuUWl4RlFVTldPV2xDTEUxQlJWaHJXQ3hGUVVGTGJGWXNWVUZCVlhGR0xGRkJRVlVzVjBGRGNrSXNTVUZCU1hWRkxFVkJRVTAxVEN4TFFVRkxNa3NzWTBGRFppeEpRVUZMYVVJc1JVRkRSQ3hQUVVGUExFdEJSVmhCTEVWQlFVMHNSVUZCVFVFc1JVRkRXaXhKUVVGSldpeEZRVUZOYUV3c1MwRkJTM2xETEU5QlFVOHNSMEZMZEVJc1QwRktRWHBETEV0QlFVdDVReXhQUVVGUExFZEJRVXR0U2l4RlFVRlBOVXdzUzBGQlMzbERMRTlCUVU4c1IwRkRjRU42UXl4TFFVRkxlVU1zVDBGQlR5eEhRVUZMYlVvc1IwRkJVVFZNTEV0QlFVdDVReXhQUVVGUExFZEJRM0pEZWtNc1MwRkJTM2xETEU5QlFVOHNSMEZCUzIxS0xFZEJRVkUxVEN4TFFVRkxlVU1zVDBGQlR5eEhRVU55UTNwRExFdEJRVXQ1UXl4UFFVRlBMRWRCUVV0dFNpeEZRVUZOV2l4RlFVTm9RbWhNTEUxQlJWaHJXQ3hGUVVGTGJGWXNWVUZCVld0RExGTkJRVmNzVTBGQlZVc3NSMEZEYUVNc1NVRkJTWGxITEVWQlFVMW9UQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRbmRKTEVWQlFVMXFUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakJKTEVWQlFVMXVUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnNRakpKTEVWQlFVMXdUQ3hMUVVGTGVVTXNUMEZCVHl4SFFVdDBRaXhQUVVwQmVrTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzVkpMRVZCUVUxNlJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGEwa3NSVUZCVFRGSExFVkJRVTk0UWl4SFFVRkhMRWRCUTNSRUwwTXNTMEZCUzNsRExFOUJRVThzUjBGQlMzVkpMRVZCUVUxNlJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGEwa3NSVUZCVFRGSExFVkJRVTk0UWl4SFFVRkhMRWRCUTNSRUwwTXNTMEZCUzNsRExFOUJRVThzUjBGQlN6QkpMRVZCUVUwMVJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGNVa3NSVUZCVFRkSExFVkJRVTk0UWl4SFFVRkhMRWRCUTNSRUwwTXNTMEZCUzNsRExFOUJRVThzUjBGQlN6QkpMRVZCUVUwMVJ5eEZRVUZQZUVJc1IwRkJSeXhIUVVGTGNVa3NSVUZCVFRkSExFVkJRVTk0UWl4SFFVRkhMRWRCUXk5REwwTXNUVUZGV0d0WUxFVkJRVXRzVml4VlFVRlZkVXdzVDBGQlV5eFRRVUZWTjBRc1IwRkRPVUlzU1VGQlNYTkNMRVZCUVUxb1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuZEpMRVZCUVUxcVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqQkpMRVZCUVUxdVRDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FqSkpMRVZCUVUxd1RDeExRVUZMZVVNc1QwRkJUeXhIUVVOc1FuRkRMRVZCUVUxdVFpeExRVUZMYlVJc1NVRkJTVFJGTEVkQlEyWTNSU3hGUVVGTmJFSXNTMEZCUzJ0Q0xFbEJRVWsyUlN4SFFVdHVRaXhQUVVwQk1Vb3NTMEZCUzNsRExFOUJRVThzUjBGQlMzVkpMRVZCUVUxdVJ5eEZRVUZOYjBjc1JVRkJUVzVITEVWQlEyNURPVVVzUzBGQlMzbERMRTlCUVU4c1IwRkJTM1ZKTEVkQlFVOXNSeXhGUVVGTmJVY3NSVUZCVFhCSExFVkJRM0JETjBVc1MwRkJTM2xETEU5QlFVOHNSMEZCU3pCSkxFVkJRVTEwUnl4RlFVRk5kVWNzUlVGQlRYUkhMRVZCUTI1RE9VVXNTMEZCUzNsRExFOUJRVThzUjBGQlN6QkpMRWRCUVU5eVJ5eEZRVUZOYzBjc1JVRkJUWFpITEVWQlF6ZENOMFVzVFVGRldHdFlMRVZCUVV0c1ZpeFZRVUZWZDBVc1lVRkJaU3hUUVVGVkwwTXNSVUZCVVRaSkxFZEJRelZETEVsQlFVbHdTaXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVTm1MRTlCUVVsdFNpeEhRVU5CUVN4RlFVRlBhRWNzUjBGQlN5eERRVU5TY0VRc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnlRMU1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhKUVVWc1F6WktMRWRCUjBFc1NVRkJTV3BETEVWQlFVOTZSaXhSUVVGUkxFTkJRM1JDTVVJc1JVRkJTV3hFTEV0QlFVdDVReXhQUVVGUExFZEJRVXRWTEVWQlFVbHVSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVTnlRMU1zUlVGQlNXeEVMRXRCUVV0NVF5eFBRVUZQTEVkQlFVdFZMRVZCUVVsdVJDeExRVUZMZVVNc1QwRkJUeXhOUVVscVJIbFZMRVZCUVV0c1ZpeFZRVUZWYjBNc1RVRkJVU3hUUVVGVldDeEhRVU0zUWl4SlFVRkpkVWdzUlVGQlRXaE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENkMGtzUlVGQlRXcE1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNRWtzUlVGQlRXNU1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENNa2tzUlVGQlRYQk1MRXRCUVV0NVF5eFBRVUZQTEVkQlEyeENVeXhGUVVGSlR5eEZRVUZQVUN4RlFVTllReXhGUVVGSlRTeEZRVUZQVGl4RlFVdG1MRTlCU2tGdVJDeExRVUZMZVVNc1QwRkJUeXhIUVVGTGRVa3NSVUZCVFRsSUxFVkJRM1pDYkVRc1MwRkJTM2xETEU5QlFVOHNSMEZCUzNkSkxFVkJRVTA1U0N4RlFVTjJRbTVFTEV0QlFVdDVReXhQUVVGUExFZEJRVXN3U1N4RlFVRk5ha2tzUlVGRGRrSnNSQ3hMUVVGTGVVTXNUMEZCVHl4SFFVRkxNa2tzUlVGQlRXcEpMRVZCUTJoQ2JrUXNUVUZGV0d0WUxFVkJRVXR5VWl4UlFVRlZMRk5CUVZVeVNDeEZRVUZKUXl4RlFVRkpia0lzUjBGRE4wSXNTVUZCU1hSQ0xFVkJRVTEzUXl4RlFVRkhla3NzUjBGQlJ5eEhRVU5hYTBrc1JVRkJUWFZETEVWQlFVZDZTeXhIUVVGSExFZEJRMXB2U1N4RlFVRk5jVU1zUlVGQlIzcExMRWRCUVVjc1IwRkRXbkZKTEVWQlFVMXZReXhGUVVGSGVrc3NSMEZCUnl4SFFVTm9RaXhQUVVGSmRVb3NSMEZEUVVFc1JVRkJUM0JFTEV0QlFVc3NRMEZEVWpoQ0xFVkJRVTE1UXl4RlFVRkhNVXNzUjBGQlJ5eEhRVUZMYTBrc1JVRkJUWGRETEVWQlFVY3hTeXhIUVVGSExFZEJRemRDYVVrc1JVRkJUWGxETEVWQlFVY3hTeXhIUVVGSExFZEJRVXRyU1N4RlFVRk5kME1zUlVGQlJ6RkxMRWRCUVVjc1IwRkROMEp2U1N4RlFVRk5jME1zUlVGQlJ6RkxMRWRCUVVjc1IwRkJTM0ZKTEVWQlFVMXhReXhGUVVGSE1Vc3NSMEZCUnl4SFFVTTNRbTlKTEVWQlFVMXpReXhGUVVGSE1Vc3NSMEZCUnl4SFFVRkxjVWtzUlVGQlRYRkRMRVZCUVVjeFN5eEhRVUZITEV0QlJURkNkVW9zUjBGSFFTeEpRVUZKTkVzc1JVRkJTeXhEUVVOYWJFMHNSVUZCVFhsRExFVkJRVWN4U3l4SFFVRkhMRWRCUVV0clNTeEZRVUZOZDBNc1JVRkJSekZMTEVkQlFVY3NSMEZETjBKcFNTeEZRVUZOZVVNc1JVRkJSekZMTEVkQlFVY3NSMEZCUzJ0SkxFVkJRVTEzUXl4RlFVRkhNVXNzUjBGQlJ5eEhRVU0zUW05SkxFVkJRVTF6UXl4RlFVRkhNVXNzUjBGQlJ5eEhRVUZMY1Vrc1JVRkJUWEZETEVWQlFVY3hTeXhIUVVGSExFZEJRemRDYjBrc1JVRkJUWE5ETEVWQlFVY3hTeXhIUVVGSExFZEJRVXR4U1N4RlFVRk5jVU1zUlVGQlJ6RkxMRWRCUVVjc1RVRkpla050VlN4RlFVRkxPVTBzVlVGQlZ5eEpRVUZKT0Uwc1IwRkJUeTlRTEdOQlEzQkNLMUFzUlVGeVMyTXNSMEYxUzNwQ2JsZ3NSVUZCVVRaRkxGRkJRVlZ6VXl4SExHZENRek5MYkVJN096czdPenRMUVUxQkxGTkJRVlYwV0N4SFFVVlNMR0ZCVTBFc1UwRkJVMjFxUWl4RlFVRlRiRTRzUlVGQlIwTXNSMEZGYmtJc1NVRkJTV3RPTEVWQlFVdHlaaXhMUVVGTFF5eEpRVUZKYVZNc1IwRkRaRzlPTEVWQlFVdDBaaXhMUVVGTFF5eEpRVUZKYTFNc1IwRkZiRUlzVDBGQlZTeEpRVUZPUkN4RlFVTkxiRk1zUzBGQlMybFJMRWxCUVVseFVDeEhRVWRTTEVsQlFVNXVUaXhGUVVOTGJsTXNTMEZCUzJsUkxFbEJRVWx2VUN4SFFVZGtRU3hGUVVGTExFdEJRVkZETEVWQlFVc3NTVUZEWVN4SFFVRXhRblJtTEV0QlFVdHBVU3hKUVVGSmFVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZIZGtKdVV5eExRVUZMYVZFc1NVRkJTV2xETEVWQlFVbHNVeXhMUVVGTGEwSXNTVUZCU1d4Q0xFdEJRVXR2UkN4TlFVRk5LMDhzUlVGQlIwUXNTMEZQTjBNc1NVRkJTV2RJTEVWQlFVa3NRMEZEVGl4RlFVRkxMRVZCUTB3c1JVRkJTeXhGUVVOTUxFVkJRVXNzUlVGRFRDeEZRVUZMTEVkQlIxQXNVMEZCVTNoSkxFVkJRVTB2VVN4RlFVRk5lVUlzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlJ6VkNMRkZCUVZWVUxFbEJRVTVUTEVWQlMwWXNUMEZLUVVVc1JVRkJVU3hGUVVGSmVVSXNSVUZEV25wQ0xFVkJRVkVzUlVGQlNVb3NSVUZEV2trc1JVRkJVU3hGUVVGSlNDeFBRVU5hUnl4RlFVRlJMRVZCUVVsR0xFZEJTV1FzUjBGQmFVSXNhVUpCUVU0eVFpeFJRVUYzUW5CRExFbEJRVTVSTEVWQlFXbENMRU5CUnpWRExFZEJRVWtzVFVGQlR6UkNMRWRCUVVzc1RVRkJUMEVzUjBGQlN5eE5RVUZQUVN4SFFVRkxMRTFCUVU5QkxFVkJTemRETEU5QlNrRjZRaXhGUVVGUkxFVkJRVWw1UWl4RlFVRkxMRWRCUVVzc1JVRkRkRUo2UWl4RlFVRlJMRVZCUVVsNVFpeEZRVUZMTEVkQlFVc3NSVUZEZEVKNlFpeEZRVUZSTEVWQlFVbDVRaXhGUVVGTExFZEJRVXNzVDBGRGRFSjZRaXhGUVVGUkxFVkJRVWw1UWl4RlFVRkxMRWRCUVVzc1IwRkxlRUlzUjBGQlNTeFBRVUZSUVN4SFFVRkxMRTlCUVZGQkxFVkJTM1pDTEU5QlNrRjZRaXhGUVVGUkxFVkJRVWw1UWl4RlFVRk5MRWRCUTJ4Q2VrSXNSVUZCVVN4RlFVRkplVUlzUlVGQlRTeEhRVU5zUW5wQ0xFVkJRVkVzUlVGQlNTeFBRVU5hUVN4RlFVRlJMRVZCUVVrc1IwRkxaQ3hIUVVGcFFpeEpRVUZpZVVJc1JVRkJSV3hDTEU5QlMwb3NUMEZLUVZBc1JVRkJVU3hGUVVGSmVVSXNSVUZCUlN4SFFVTmtla0lzUlVGQlVTeEZRVUZKZVVJc1JVRkJSU3hIUVVOa2VrSXNSVUZCVVN4RlFVRkplVUlzUlVGQlJTeFJRVU5rZWtJc1JVRkJVU3hGUVVGSmVVSXNSVUZCUlN4SlFVdG9RaXhIUVVGcFFpeEpRVUZpUVN4RlFVRkZiRUlzVDBGTFNpeFBRVXBCVUN4RlFVRlJMRVZCUVVrc1JVRkRXa0VzUlVGQlVTeEZRVUZKZVVJc1JVRkJSU3hIUVVOa2VrSXNSVUZCVVN4RlFVRkplVUlzUlVGQlJTeFJRVU5rZWtJc1JVRkJVU3hGUVVGSmVVSXNSVUZCUlN4SlFVbG9RaXhOUVVGTkxFbEJRVWw1VkN4TlFVRk5MR3RDUVVsc1FpeEhRVUZwUWl4cFFrRkJUbnBVTEZGQlFYZENjRU1zU1VGQlRsRXNUMEY1Ulc1Q1VpeEpRVUZPYjBNc1IwRkJiVUo2UWl4SlFVRlRkVm9zUjBGRE9VSjJXaXhGUVVGUkxFVkJRVWtzUlVGRFdrRXNSVUZCVVN4RlFVTkJRU3hGUVVGUkxFVkJRMUpCTEVWQlFWRXNSVUZCU1N4SlFVZHdRa0VzUlVGQlVTeEZRVUZKZVVJc1IwRkJTeXhGUVVkaU4wSXNSMEZCYTBJc1NVRkJZa0VzUlVGQlJWY3NVVUZEVkZBc1JVRkJVU3hGUVVGSlNpeEZRVUZGTEVkQlEyUkpMRVZCUVZFc1JVRkJTVW9zUlVGQlJTeEhRVU5rU1N4RlFVRlJMRVZCUVVsS0xFVkJRVVVzUzBGRlpFa3NSVUZCVVN4RlFVRkpTaXhIUVVGTExFVkJRMnBDU1N4RlFVRlJMRVZCUVVsSUxFZEJRVXNzUlVGRGFrSkhMRVZCUVZFc1JVRkJTVVlzUjBGQlN5eFJRVEZHY2tJc1EwRkZSU3hKUVVGSk9HWXNSVUZCVTI1bExFVkJRVVYzVHl4TlFVRk5MSGxEUVVOcVFqUlFMRVZCUVU4c1JVRkRVRU1zUlVGQlVTeEZRVVZTUXl4RlFVRlBMRU5CUVVNc1JVRkJTeXhKUVVGTExFVkJRVXNzU1VGQlN5eEZRVUZMTEV0QlJYSkRMRWRCUVdVc1QwRkJXRWdzUlVGRFJpeE5RVUZOTEVsQlFVa3hTeXhOUVVGTkxHVkJTV3hDYkZZc1JVRkJVU3hGUVVOQlFTeEZRVUZSTEVWQlExSkJMRVZCUVZFc1JVRkRVa0VzUlVGQlVTeEZRVUZKTEVWQlJYQkNMRWxCUVVzc1NVRkJTV3hFTEVWQlFVa3NSVUZCUjBFc1JVRkJTVGhwUWl4RlFVRlBjbVlzVDBGQlVYcEVMRWxCUVVzc1EwRkZkRU1zU1VGQlNVc3NSVUZCU1hscFFpeEZRVUZQT1dsQ0xFZEJRMWhOTEVWQlFVbDNhVUlzUlVGQlR6bHBRaXhGUVVGSkxFZEJSVzVDTEVkQlFWVXNUVUZCVGtzc1IwRkJiVUlzVDBGQlRrRXNSMEZCYjBJc1QwRkJUa0VzVVVGRmVFSXNSMEZCVlN4TlFVRk9RU3hGUVVOVU1HbENMRk5CUTBzc1IwRkJWU3hOUVVGT01XbENMRVZCUTFReWFVSXNVVUZEU3l4RFFVVk1MRWRCUVVsRUxFVkJRVTlETEVsQlFWVXNSVUZEYmtJc1RVRkJUU3hKUVVGSk5Vc3NUVUZCVFN4alFVRm5RaTlZTEVkQlJXeERMRWxCUVVsclpDeEZRVUZKTUVZc1JVRkJTelZwUWl4SFFVZGlMRkZCUVZWclF5eEpRVUZPWjJJc1JVRkhVU3hOUVVGT2FtUXNSMEZCWXpaWUxFMUJRVTAzV0N4SFFVbDBRa1FzUlVGQlNTeExRVWhLUVN4RlFVRkpReXhGUVVOS1RpeFRRVXRITEVOQlJVd3NSMEZCU1cxWkxFMUJRVTA1V0N4SFFVTlNMRTFCUVUwc1NVRkJTU3RZTEUxQlFVMHNjVUpCUzFJM1ZpeExRVVpXWjJJc1JVRkJTVEJHTEVWQlFVc3phVUlzUzBGSFVFNHNTVUZKU210RUxFVkJRVXR4WVN4SFFVRkxMRTFCUVZFeVJpeFpRVUZaUml4RlFVRlJMRVZCUVVrc1NVRkJUU3hKUVVGTk0ybENMRWRCUTNSRU1HbENMRVZCUVU5RExFVkJRVkVzUjBGTGJrSXNSMEZCU1VRc1JVRkJUME1zUlVGQlVTeEZRVU5xUWl4TlFVRk5MRWxCUVVrMVN5eE5RVUZOTEdsQ1FUUkNkRUlzVTBGQlV5dExMRVZCUVZNeGFFSXNSVUZCUnpKb1FpeEZRVUZOUXl4SFFVVjZRaXhKUVVGSlF5eEZRVUZOTEVkQmFVSldMRTlCWmxVc1NVRkJUamRvUWl4SlFVVlhMRXRCUVZRMGFFSXNSVUZEUmtNc1IwRkJUemRvUWl4RlFVRkpMRVZCUVVrc1RVRkJVU3hOUVVOa1FTeEZRVUZKTEVsQlEySTJhRUlzUjBGQlR5eExRVXRNTEV0QlJrbzNhRUlzUlVGQlNUaENMRXRCUVV0RExFbEJRVWt2UWl4TFFVVlhMRXRCUVZReWFFSXNTVUZEWWtVc1IwRkJUemRvUWl4SFFVVlVObWhDTEVkQlFVOUdMRWRCUlVaRkxFVkJZVlFzVTBGQlUzWktMRVZCUVZkd1ZpeEZRVUZITjBJc1JVRkJSME1zUlVGQlIwTXNSMEZGTTBJc1MwRkJUWEJFTEdkQ1FVRm5RbTFoTEVkQlEzQkNMRTlCUVU4c1NVRkJTVUVzUlVGQlYzQldMRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVVkcVEybFNMRVZCUVUxeVZTeExRVUZOSzBVc1JVRkJSemRDTEVWQlFVZERMRVZCUVVkRExFZEJSM1pDSzFjc1JVRkJWMjVaTEZWQlFWa3NRMEZEY2tJc1JVRkJTeXhGUVVOTUxFVkJRVXNzUlVGRFRDeEZRVUZMTEVWQlEwd3NSVUZCU3l4RlFWVk1MRWxCUVU4c1UwRkJVeXRETEVWQlFVYzNRaXhGUVVGSFF5eEZRVUZIUXl4SFFVMTJRaXhQUVVwQmFWSXNSVUZCVFhkSkxFVkJRVWM1V0N4RlFVRkhOMElzUlVGQlIwTXNSVUZCUjBNc1IwRkpXQ3hKUVVGSksxY3NSVUZEU0c1aExFdEJRVkVzUlVGQlNUWmpMRVZCUVVzc1JVRkRha0kzWXl4TFFVRlJMRVZCUVVrMll5eEZRVUZMTEVWQlEycENOMk1zUzBGQlVTeEZRVUZKTm1Nc1JVRkJTeXhGUVVOcVFqZGpMRXRCUVZFc1JVRkJTVFpqTEVWQlFVc3NTVUZYTTBJc1NVRkJUeXhUUVVGVE9WZ3NSVUZCUnpkQ0xFVkJRVWRETEVWQlFVZERMRWRCVDNaQ0xFOUJURUZwVWl4RlFVRk5kMGtzUlVGQlJ6bFlMRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVV0WUxFbEJRVWtyVnl4RlFVTklibUVzUzBGQlVTeEZRVUZKTm1Nc1JVRkJTeXhGUVVOcVFqZGpMRXRCUVZFc1JVRkJTVFpqTEVWQlFVc3NSVUZEYWtJM1l5eExRVUZSTEVWQlFVazJZeXhGUVVGTExFVkJRMnBDTjJNc1MwRkJVU3hGUVVGSk5tTXNSVUZCU3l4SlFVOHpRaXhKUVVGUExGZEJTVXdzVDBGQlR5eEpRVUZKTVVNc1IwRkJXVzVoTEV0QlFWRXNSMEZCU1VFc1MwRkJVU3hIUVVGSlFTeExRVUZSTEVkQlFVbEJMRXRCUVZFc1NVRlBja1VzUzBGQlVTeFhRVTFPTEVsQlFVa3JSU3hGUVVGSkwwVXNTMEZCVVN4RlFVTmFhMFFzUlVGQlNXeEVMRXRCUVZFc1JVRkRXbTFFTEVWQlFVbHVSQ3hMUVVGUkxFVkJRMXB2UkN4RlFVRkpjRVFzUzBGQlVTeEZRVVZvUWl4UFFVRlBNa1FzUzBGQlMwY3NTMEZCUzJsQ0xFVkJRVWxCTEVWQlFVazNRaXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4SlFVOHZReXhQUVVGVkxGZEJVMUlzU1VGQlNUSkNMRVZCUVVrdlJTeExRVUZSTEVWQlExcHJSQ3hGUVVGSmJFUXNTMEZCVVN4RlFVTmFiVVFzUlVGQlNXNUVMRXRCUVZFc1JVRkRXbTlFTEVWQlFVbHdSQ3hMUVVGUkxFVkJSV2hDTEU5QlFVOHJSU3hGUVVGSlFTeEZRVUZKTjBJc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZSY2tNc1ZVRkJZU3hYUVUxWUxFbEJRVWt5UWl4RlFVRkpMMFVzUzBGQlVTeEZRVU5hYTBRc1JVRkJTV3hFTEV0QlFWRXNSVUZEV20xRUxFVkJRVWx1UkN4TFFVRlJMRVZCUTFwdlJDeEZRVUZKY0VRc1MwRkJVU3hGUVVWYU1tcENMRVZCUVU5b1owSXNTMEZCUzBjc1MwRkJTMmxDTEVWQlFVbEJMRVZCUVVrM1FpeEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hIUVVWcVJDeFBRVUZKZFdkQ0xFVkJRVTk0U2l4RlFVRnZRaXhSUVVOMFFrRXNSVUZCYVVJc1MwRkxia0lzU1VGQlNVRXNSVUZCVjNCV0xFZEJSblJDTkdVc1JVRkJUeXhGUVVGSlFTeEhRVVZ4UW5wblFpeEZRVUZKZVdkQ0xFVkJRVTE0WjBJc1JVRkJTWGRuUWl4RlFVRk5kbWRDTEVWQlFVbDFaMElzU1VGWk1VUXNTVUZCVHl4VFFVRlROV1VzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlJYWkNhVklzUlVGQlRYZEpMRVZCUVVjNVdDeEZRVUZITjBJc1JVRkJSME1zUlVGQlIwTXNSMEZOYkVJc1NVRkJTWGRuUWl4RlFVRkxOV3BDTEV0QlFWRXNSVUZEWWpacVFpeEZRVUZMTjJwQ0xFdEJRVkVzUlVGRFlqaHFRaXhGUVVGTE9XcENMRXRCUVZFc1JVRkRZaXRxUWl4RlFVRkxMMnBDTEV0QlFWRXNSVUZGWW1kclFpeEZRVUZMYmtnc1JVRkJTeXhGUVVOV00xZ3NSVUZCU3pKWUxFVkJRVXNzUlVGRFZqRllMRVZCUVVzd1dDeEZRVUZMTEVWQlExWjZXQ3hGUVVGTGVWZ3NSVUZCU3l4RlFVVmtMRTlCUVU4c1NVRkJTVEZETEVWQlEwaDVTaXhGUVVGTFNTeEZRVUZMU0N4RlFVRkxNMlVzUlVGQlN6UmxMRVZCUVVzelpTeEZRVUZMTkdVc1JVRkJTek5sTEVWQlEyNURkMlVzUlVGQlN6RmxMRVZCUVVzeVpTeEZRVUZMUnl4RlFVRkxSaXhGUVVGTE1XVXNSVUZCU3pKbExFVkJRVXMxWlN4RlFVTnVRM2xsTEVWQlFVdDZaU3hGUVVGTE1tVXNSVUZCUzBVc1JVRkJTMFFzUlVGQlN6ZGxMRVZCUVVzeVpTeEZRVUZMZW1Vc1JVRkRia04zWlN4RlFVRkxlR1VzUlVGQlN6SmxMRVZCUVV0RExFVkJRVXRJTEVWQlFVc3haU3hGUVVGTE1tVXNSVUZCU3pWbExFbEJVVGRETEUxQlFWTXNVMEZCVXk5RExFZEJSV2hDTEU5QlFVOHNTVUZCU1dkWkxFVkJRMGh1WVN4TFFVRlJMRVZCUVVsdFF5eEZRVU5hYmtNc1MwRkJVU3hGUVVGSmJVTXNSVUZEV201RExFdEJRVkVzUlVGQlNXMURMRVZCUTFwdVF5eExRVUZSTEVWQlFVbHRReXhKUVZkMFFpeEpRVUZQTEZOQlFWTTBReXhGUVVGSE4wSXNSVUZCUjBNc1JVRkJSME1zUjBGTmRrSXNUMEZLUVdsU0xFVkJRVTEzU1N4RlFVRkhPVmdzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlNWaHdSQ3hMUVVGUkxFVkJRVWsyWXl4RlFVRkxMRVZCUVVrM1l5eExRVUZSTEVWQlFVazJZeXhGUVVGTExFVkJRVWszWXl4TFFVRlJMRVZCUVVrMll5eEZRVUZMTEVWQlFVazNZeXhMUVVGUkxFVkJRVWsyWXl4RlFVRkxMRWRCVVhwR0xGRkJRVmNzVjBGWFZDeEpRVUZKT1Znc1JVRkJTUzlGTEV0QlFWRXNSVUZEV210RUxFVkJRVWxzUkN4TFFVRlJMRVZCUTFwdFJDeEZRVUZKYmtRc1MwRkJVU3hGUVVOYWIwUXNSVUZCU1hCRUxFdEJRVkVzUlVGRldtbHJRaXhGUVVGVGJHWXNSVUZCU1VFc1JVRkJTVGRDTEVWQlFVbEJMRVZCUVVsRExFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFVkJSWHBETEU5QlFXVXNTVUZCV0RablFpeEZRVU5MT1Vvc1JVRkJhVUlzUzBGTGJrSXNTVUZCU1VFc1JVRkJWM0JXTEVkQlJuUkNhMllzUlVGQlV5eEZRVUZKUVN4SlFVVnpRaTluUWl4RlFVRkpLMmRDTEVkQlFWTTVaMElzUlVGQlNUaG5RaXhIUVVGVE4yZENMRVZCUVVrMlowSXNTVUZYYmtVc1NVRkJUeXhUUVVGVGJHWXNSVUZCUnpkQ0xFVkJRVWRETEVWQlFVZERMRWRCUlhaQ2FWSXNSVUZCVFhkSkxFVkJRVWM1V0N4RlFVRkhOMElzUlVGQlIwTXNSVUZCUjBNc1IwRkpiRUlzU1VGQlNYZG5RaXhGUVVGTE5XcENMRXRCUVZFc1JVRkRZalpxUWl4RlFVRkxOMnBDTEV0QlFWRXNSVUZEWWpocVFpeEZRVUZMT1dwQ0xFdEJRVkVzUlVGRFlpdHFRaXhGUVVGTEwycENMRXRCUVZFc1JVRkZZbWRyUWl4RlFVRkxia2dzUlVGQlN5eEZRVU5XTTFnc1JVRkJTekpZTEVWQlFVc3NSVUZEVmpGWUxFVkJRVXN3V0N4RlFVRkxMRVZCUTFaNldDeEZRVUZMZVZnc1JVRkJTeXhGUVVWV2IwZ3NSVUZCVTBRc1JVRkJTMEVzUlVGQlN6bGxMRVZCUVV0QkxFVkJRVXRETEVWQlFVdEJMRVZCUVV0RExFVkJRVXRCTEVWQlJXaEVMRTlCUVdVc1NVRkJXRFpsTEVWQlEwczVTaXhGUVVGcFFpeExRVXR1UWl4SlFVRkpRU3hIUVVOR2VVb3NSVUZCUzBrc1JVRkJTMGdzUlVGQlN6TmxMRVZCUVVzMFpTeEZRVUZMTTJVc1JVRkJTelJsTEVWQlFVc3paU3hKUVVnMVF6WmxMRVZCUVZNc1JVRkJTVUVzU1VGSlNrb3NSVUZCUzBjc1JVRkJTMG9zUlVGQlN6RmxMRVZCUVVzMFpTeEZRVUZMTVdVc1JVRkJTekpsTEVWQlFVczFaU3hIUVVGTk9HVXNSMEZEZWtOSUxFVkJRVXRGTEVWQlFVdEtMRVZCUVV0NlpTeEZRVUZMTkdVc1JVRkJTemRsTEVWQlFVc3laU3hGUVVGTGVtVXNSMEZCVFRabExFZEJRM3BEUml4RlFVRkxReXhGUVVGTFNpeEZRVUZMZUdVc1JVRkJTM2xsTEVWQlFVc3haU3hGUVVGTE1tVXNSVUZCU3pWbExFZEJRVTByWlN4SlFVOXdSQ3hWUVVGaExGZEJZMWdzVDBGQlR5eEpRVUZKT1Vvc1JVRkJWMjVoTEV0QlFWRXNSMEZCU1VFc1MwRkJVU3hIUVVGSlFTeExRVUZSTEVkQlFVbEJMRXRCUVZFc1NVRlBjRVVzU1VGQlR5eFhRVVZNTEVsQlFVa3JSU3hGUVVGSkwwVXNTMEZCVVN4RlFVTmFhMFFzUlVGQlNXeEVMRXRCUVZFc1JVRkRXbTFFTEVWQlFVbHVSQ3hMUVVGUkxFVkJRMXB2UkN4RlFVRkpjRVFzUzBGQlVTeEZRVVZhYTJ0Q0xFVkJRVkYyWjBJc1MwRkJTMGNzUzBGQlMxb3NSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSVUZCU1VNc1JVRkJTVUVzUjBGRGRFTXJaMElzUlVGQlQzaG5RaXhMUVVGTGVXZENMRWxCUVVseVppeEhRVU5vUWxnc1JVRkJVU3RtTEVWQlFVOUVMRVZCUVZGMlowSXNTMEZCUzIxQ0xFbEJRVWx2Wml4SFFVVndReXhQUVVGakxFbEJRVlpCTEVWQlJVc3NTVUZCU1M5S0xFVkJRVmRuU3l4RlFVRk5MRVZCUVVjc1JVRkJSeXhIUVVjM1FpeEpRVUZKYUVzc1JVRkRTR2RMTEVWQlFVOTRaMElzUzBGQlMydENMRWxCUVVseFppeEhRVU5vUW1ob1FpeEZRVUZKYTBJc1JVRkRTbXBDTEVWQlFVbHBRaXhGUVVOS2FFSXNSVUZCU1dkQ0xFbEJUMlFzU1VGQlR5eFhRVVZNTEVsQlFVbFhMRVZCUVVrdlJTeExRVUZSTEVWQlExcHJSQ3hGUVVGSmJFUXNTMEZCVVN4RlFVTmFiVVFzUlVGQlNXNUVMRXRCUVZFc1JVRkRXbTlFTEVWQlFVbHdSQ3hMUVVGUkxFVkJSV2hDTEVkQlFWVXNTVUZCVG0xRUxFZEJRV2xDTEVsQlFVNURMRVZCUTJJc1QwRkJUeXhKUVVGSksxY3NSVUZEU0RSSkxFVkJRVk5vWlN4RlFVRkhOMElzUjBGRFdsTXNTMEZCUzI5RUxFMUJRVTAzUkN4RlFVRkhOa0lzUjBGQlNTeEZRVUZITEVkQlJ5OUNMRWxCUVVselppeEZRVUZUYm1oQ0xFVkJRVWxCTEVWQlFVbERMRVZCUVVsQkxFVkJRVWxETEVWQlFVbEJMRVZCUVVreVFpeEZRVUZKUVN4RlFVTnlRMjFtTEVWQlFWRjJaMElzUzBGQlMwY3NTMEZCUzFvc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSMEZGZEVOblFpeEZRVUZSVkN4TFFVRkxiMFFzVFVGQlRXMWtMRVZCUVU5dVppeEhRVUZMYldZc1JVRkZia01zVDBGQlR5eEpRVUZKTDBvc1JVRkRaMElzUjBGQmJrSjRWeXhMUVVGTGFWRXNTVUZCU1hsUkxFZEJRMVJ1YUVJc1JVRkJTV3RDTEVWQlEwcHFRaXhGUVVGSmFVSXNSVUZEU21oQ0xFVkJRVWxuUWl4SlFWZGtMRWxCUVU4c1UwRkJVMWNzUlVGQlJ6ZENMRVZCUVVkRExFVkJRVWRETEVkQlNYWkNMRWRCUmtGcFVpeEZRVUZOZDBrc1JVRkJSemxZTEVWQlFVYzNRaXhGUVVGSFF5eEZRVUZIUXl4SFFVVklMRWxCUVZoNVdpeEZRVUZMTEVkQlFYTkNMRWxCUVZoQkxFVkJRVXNzUlVGQlV5eERRVVZvUXl4SFFVRmxMRWxCUVZoQkxFVkJRVXNzUjBGQmMwSXNTVUZCV0VFc1JVRkJTeXhGUVVOMlFpeFBRVUZQTjJNc1MwRkhWQ3hIUVVGbExFbEJRVmcyWXl4RlFVRkxMRWRCUVhOQ0xFbEJRVmhCTEVWQlFVc3NSVUZEZGtJc1QwRkJUekZETEVWQlFXZENMRWxCUzNwQ0xFZEJRV3RDTEVsQlFXUnVZU3hMUVVGUkxFZEJRWGxDTEVsQlFXUkJMRXRCUVZFc1JVRkJVeXhEUVVWMFF5eEpRVUZKTmxZc1JVRkJTVGRXTEV0QlFWRXNSVUZEV2poV0xFVkJRVWs1Vml4TFFVRlJMRVZCUldoQ0xFZEJRVlVzU1VGQlRqWldMRWRCUVdsQ0xFbEJRVTVETEVWQlEySXNUMEZCVDNGRkxFVkJRV2xDTEV0QlJ6RkNMRWxCUVVsdFN5eEZRVUZOTTJkQ0xFdEJRVXR2UkN4TlFVRk5LMDhzUlVGQlIwUXNSMEZEY0VJd1R5eEZRVUZOZUVJc1JVRkJVMnhPTEVWQlFVZERMRWRCUlhSQ0xFZEJRV1VzU1VGQldDdEhMRVZCUVVzc1JVRkJVeXhEUVVWb1FpeEhRVUZWTEVsQlFVNHZSeXhIUVVGWFJDeEhRVUZMTEVWQlJXeENMRTlCUVU4c1NVRkJTWE5GTEVWQlFWZDRWeXhMUVVGTE5tZENMRWxCUVVrelR5eEZRVUZIWjBnc1JVRkJTeXhIUVVGSkxFVkJRVWNzUlVGQlJ5eEhRVVUxUXl4SFFVRlZMRWxCUVU1b1NDeEZRVVZVTEU5QlFWRm5TQ3hGUVVGTExFVkJRVWtzUjBGRFppeExRVUZMTEVWQlEwZ3NUMEZCVHl4SlFVRkpNVU1zUlVGQlYzaFhMRXRCUVVzMlowSXNTVUZCU1RGUExFVkJRVWNyUnl4RlFVRkxMRWRCUVVrc1JVRkJSeXhGUVVGSExFZEJRMjVFTEV0QlFVc3NSVUZEU0N4UFFVRlBMRWxCUVVreFF5eEZRVUZYTEVWQlFVZDRWeXhMUVVGTE5tZENMRWxCUVVreFR5eEZRVUZISzBjc1JVRkJTeXhIUVVGSkxFVkJRVWNzUjBGRGJrUXNTMEZCU3l4RlFVTklMRTlCUVU4c1NVRkJTVEZETEVkQlFWbDRWeXhMUVVGTE5tZENMRWxCUVVreFR5eEZRVUZISzBjc1JVRkJTeXhIUVVGSkxFVkJRVWNzUlVGQlJ5eEhRVU53UkN4TFFVRkxMRVZCUTBnc1QwRkJUeXhKUVVGSk1VTXNSVUZCVnl4SFFVRkplRmNzUzBGQlN6Wm5RaXhKUVVGSk1VOHNSVUZCUnl0SExFVkJRVXNzUjBGQlNTeEZRVUZITEVsQlR6RkVMRTlCUmtGb1NDeEZRVUZKYkZNc1MwRkJTM2xuUWl4SlFVRkpka2dzUlVGQlN5eEZRVUZKTUVnc1JVRkJUVEZJTEVWQlFVc3NSVUZCU1hsSUxFZEJRM0pEZUU4c1JVRkJTU3RITEVWQlFVc3NSVUZCU1RCSUxFVkJRVTB4U0N4RlFVRkxMRVZCUVVsNVNDeEZRVU55UWl4SlFVRkpia3NzUlVGRFNIUkZMRVZCUVVsc1V5eExRVUZMYTBJc1NVRkJTV2xTTEVkQlEySkVMRVZCUVVsc1V5eExRVUZMYlVJc1NVRkJTV2RTTEVkQlFVa3NSVUZCUnl4SlFVMW9ReXhQUVVGUE9WWXNTMEZCU3pSVUxFMUJRVTAyVVN4SlFVRkpOVWdzUjBGQlIzVklMRTlCVnpOQ0xFOUJRVlVzVTBGQlUzSm1MRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVVVeFFtbFNMRVZCUVUxM1NTeEZRVUZIT1Znc1JVRkJSemRDTEVWQlFVZERMRVZCUVVkRExFZEJSV3hDTEVsQlFVbHphRUlzUlVGQlRYWkxMRVZCUVc5Q0xGRkJSemxDTEU5QlFVOTRWeXhMUVVGTFF5eEpRVUZKYVZvc1JVRkJTeXhGUVVGSk4yTXNTMEZCVVN4SFFVRkxNR3RDTEVkQlF6TkNMMmRDTEV0QlFVdERMRWxCUVVscFdpeEZRVUZMTEVWQlFVazNZeXhMUVVGUkxFZEJRVXN3YTBJc1IwRkRMMEl2WjBJc1MwRkJTME1zU1VGQlNXbGFMRVZCUVVzc1JVRkJTVGRqTEV0QlFWRXNSMEZCU3pCclFpeEhRVU12UWk5blFpeExRVUZMUXl4SlFVRkphVm9zUlVGQlN5eEZRVUZKTjJNc1MwRkJVU3hIUVVGTE1HdENMRWRCVHpWRExGTkJRVmtzVjBGRlZpeFBRVUZQUXl4VFFVRlRNMnRDTEV0QlFWRXNTVUZCVFRKclFpeFRRVUZUTTJ0Q0xFdEJRVkVzU1VGQlRUSnJRaXhUUVVGVE0ydENMRXRCUVZFc1NVRkJUVEpyUWl4VFFVRlRNMnRDTEV0QlFWRXNTVUZQTDBZc1RVRkJVeXhYUVVWUUxFOUJRVTkxV1N4TlFVRk5kbGtzUzBGQlVTeEpRVUZOZFZrc1RVRkJUWFpaTEV0QlFWRXNTVUZCVFhWWkxFMUJRVTEyV1N4TFFVRlJMRWxCUVUxMVdTeE5RVUZOZGxrc1MwRkJVU3hKUVU5dVJpeFRRVUZaTEZkQlJWWXNTVUZCU1N0RkxFVkJRVWt2UlN4TFFVRlJMRVZCUTFwclJDeEZRVUZKYkVRc1MwRkJVU3hGUVVOYWJVUXNSVUZCU1c1RUxFdEJRVkVzUlVGRFdtOUVMRVZCUVVsd1JDeExRVUZSTEVWQlExb3dha0lzUlVGQlRTeEhRVVZXTEU5QlFVbHVUQ3hOUVVGTmVGUXNTVUZCVFhkVUxFMUJRVTF5Vml4SlFVRk5jVllzVFVGQlRYQldMRWxCUVUxdlZpeE5RVUZOYmxZc1IwRkRja01zVDBGTlZITm5RaXhGUVVGTlNDeEZRVUZUZUdVc1JVRkJSeXhIUVVGSk1tVXNSMEZEZEVKQkxFZEJRVTlJTEVWQlFWTnlaMElzUlVGQlJ5eEpRVUZMZDJkQ0xFZEJRM2hDUVN4SFFVRlBTQ3hGUVVGVGNHZENMRVZCUVVjc1NVRkJTM1ZuUWl4SFFVZHdRaXhOUVVaS1FTeEhRVUZQU0N4RlFVRlRibWRDTEVWQlFVY3NTVUZCUzNOblFpeEpRVWRtTEVsQlJVWkJMRWxCVDFRc1MwRkJVU3hYUVVWT0xFOUJRVTh4YWtJc1MwRkJVU3hIUVU5cVFpeExRVUZSTEZkQlJVNHNUVUZCVHl4RFFVRkRRU3hMUVVGUkxFVkJRVWRCTEV0QlFWRXNSVUZCUjBFc1MwRkJVU3hKUVU5NFF5eFRRVUZaTEZkQlJWWXNUVUZCVHl4RFFVRkRRU3hMUVVGUkxFVkJRVWRCTEV0QlFWRXNSVUZCUjBFc1MwRkJVU3hGUVVGSFFTeExRVUZSTEVsQlUyNUVMRk5CUVZrc1UwRkJVelJyUWl4SFFVVnVRaXhKUVVGSk4yWXNSVUZCU1M5RkxFdEJRVkVzUlVGRFdtdEVMRVZCUVVsc1JDeExRVUZSTEVWQlExcHRSQ3hGUVVGSmJrUXNTMEZCVVN4RlFVTmFiMFFzUlVGQlNYQkVMRXRCUVZFc1JVRkZXalpDTEVWQlFVbHJSQ3hGUVVGSlFTeEZRVUZKTjBJc1JVRkJTVUVzUlVGQlNVTXNSVUZCU1VFc1JVRkJTVU1zUlVGQlNVRXNSVUZEYUVOcVFpeEZRVUZWTEVsQlFVNU9MRVZCUVZVc1JVRkJTU3hGUVVGSlFTeEZRVU4wUW10SUxFVkJRVXMxUnl4RlFVRkpORU1zUlVGQlNUZENMRVZCUVVjNFJpeEZRVUZMTjBjc1JVRkJTVFJETEVWQlFVazFRaXhGUVVGSE9FWXNSVUZCU3psSExFVkJRVWswUXl4RlFVRkpNMElzUlVGRE4wTnpSaXhGUVVGTGRrY3NSVUZCU1dVc1JVRkJTVUVzUlVGQlIyOUVMRVZCUVV0dVJTeEZRVUZKWlN4RlFVRkpReXhGUVVGSGQwWXNSVUZCUzNoSExFVkJRVWxsTEVWQlFVbEZMRVZCUXpkRGQwWXNSVUZCUzNwSExFVkJRVWxuUWl4RlFVRkpRU3hGUVVGSE1FWXNSVUZCU3pGSExFVkJRVWxuUWl4RlFVRkpReXhGUVVGSE1FWXNSVUZCU3pOSExFVkJRVWxwUWl4RlFVRkpRU3hGUVVWcVJDeFBRVUZKZDJoQ0xFVkJRMHNzUTBGRFRDeERRVUZETEVkQlFVdG9ZeXhGUVVGTFJTeEhRVUZMZUVNc1JVRkJTekpETEVWQlFVbE9MRVZCUVV0TExFZEJRemxDTEVOQlFVTXhReXhGUVVGTE1rTXNSVUZCU1N4SFFVRkxVQ3hGUVVGTFNTeEhRVUZMUkN4RlFVRkxSU3hIUVVNNVFpeERRVUZEU2l4RlFVRkxTeXhGUVVGSlNDeEZRVUZMUlN4RlFVRkpMRWRCUVV0TUxFVkJRVXRGTEV0QlJ6RkNMRU5CUTB3c1IwRkJTMEVzUlVGQlMwVXNSMEZCUzNoRExFVkJRVXN5UXl4RlFVRkpUaXhGUVVGTFN5eEZRVU0zUWpGRExFVkJRVXN5UXl4RlFVRkpMRWRCUVV0UUxFVkJRVXRKTEVkQlFVdEVMRVZCUVV0RkxFVkJRemRDU2l4RlFVRkxTeXhGUVVGSlNDeEZRVUZMUlN4RlFVRkpMRWRCUVV0TUxFVkJRVXRGTEV0QlVXaERMRlZCUVdFc1UwRkJVMmRqTEVkQlJYQkNMRWxCUVVrM1ppeEZRVUZKTDBVc1MwRkJVU3hGUVVOYWEwUXNSVUZCU1d4RUxFdEJRVkVzUlVGRFdtMUVMRVZCUVVsdVJDeExRVUZSTEVWQlExcHZSQ3hGUVVGSmNFUXNTMEZCVVN4RlFVVmFOa0lzUlVGQlNXdEVMRVZCUVVsQkxFVkJRVWszUWl4RlFVRkpRU3hGUVVGSlF5eEZRVUZKUVN4RlFVRkpReXhGUVVGSlFTeEZRVU5vUTJwQ0xFVkJRVlVzU1VGQlRrNHNSVUZCVlN4RlFVRkpMRVZCUVVsQkxFVkJRM1JDYTBnc1JVRkJTelZITEVWQlFVazBReXhGUVVGSk4wSXNSVUZCUnpoR0xFVkJRVXMzUnl4RlFVRkpORU1zUlVGQlNUVkNMRVZCUVVjNFJpeEZRVUZMT1Vjc1JVRkJTVFJETEVWQlFVa3pRaXhGUVVNM1EzTkdMRVZCUVV0MlJ5eEZRVUZKWlN4RlFVRkpRU3hGUVVGSGIwUXNSVUZCUzI1RkxFVkJRVWxsTEVWQlFVbERMRVZCUVVkM1JpeEZRVUZMZUVjc1JVRkJTV1VzUlVGQlNVVXNSVUZETjBOM1JpeEZRVUZMZWtjc1JVRkJTV2RDTEVWQlFVbEJMRVZCUVVjd1JpeEZRVUZMTVVjc1JVRkJTV2RDTEVWQlFVbERMRVZCUVVjd1JpeEZRVUZMTTBjc1JVRkJTV2xDTEVWQlFVbEJMRVZCUldwRUxFOUJRVWwzYUVJc1JVRkRTeXhEUVVOTUxFTkJRVU1zUjBGQlMyaGpMRVZCUVV0RkxFZEJRVXQ0UXl4RlFVRkxNa01zUlVGQlNVNHNSVUZCUzBzc1JVRkJTU3hIUVVOc1F5eERRVUZETVVNc1JVRkJTekpETEVWQlFVa3NSMEZCUzFBc1JVRkJTMGtzUjBGQlMwUXNSVUZCUzBVc1JVRkJTU3hIUVVOc1F5eERRVUZEU2l4RlFVRkxTeXhGUVVGSlNDeEZRVUZMUlN4RlFVRkpMRWRCUVV0TUxFVkJRVXRGTEVkQlFVc3NSMEZEYkVNc1EwRkJReXhGUVVGSExFVkJRVWNzUlVGQlJ5eEpRVWRRTEVOQlEwd3NSMEZCUzBFc1JVRkJTMFVzUjBGQlMzaERMRVZCUVVzeVF5eEZRVUZKVGl4RlFVRkxTeXhGUVVGSkxFVkJRMnBETVVNc1JVRkJTekpETEVWQlFVa3NSMEZCUzFBc1JVRkJTMGtzUjBGQlMwUXNSVUZCUzBVc1JVRkJTU3hGUVVOcVEwb3NSVUZCUzBzc1JVRkJTVWdzUlVGQlMwVXNSVUZCU1N4SFFVRkxUQ3hGUVVGTFJTeEhRVUZMTEVWQlEycERMRVZCUVVjc1JVRkJSeXhGUVVGSExFbEJUMklzVFVGQlV5eFhRVVZRTEU5QlFVOHNTVUZCU1hWU0xFVkJRVmR1WVN4UFFWRjRRaXhoUVVGblFpeFRRVUZUTUZvc1IwRkxka0lzU1VGQlNXdExMRVZCUVVzMWFrSXNTMEZCVVN4RlFVTmlObXBDTEVWQlFVczNha0lzUzBGQlVTeEZRVU5pT0dwQ0xFVkJRVXM1YWtJc1MwRkJVU3hGUVVOaUsycENMRVZCUVVzdmFrSXNTMEZCVVN4RlFVbGlhMFlzUlVGQlMzZFZMRVZCUVVVc1IwRkRVSFpWTEVWQlFVdDFWU3hGUVVGRkxFZEJRMUIwVlN4RlFVRkxjMVVzUlVGQlJTeEhRVWRRYlV3c1IwRkJhMEpvUWl4RlFVRkxNMlVzUlVGQlN6UmxMRVZCUVVzelpTeEZRVUZMTkdVc1JVRkJTek5sTEVWQlF6TkRNR1lzUlVGQlMyeENMRVZCUVVzeFpTeEZRVUZ0UWpSbExFVkJRVXN4WlN4RlFVRkxNbVVzUlVGQlN6VmxMRVZCUXpWRE5HWXNSVUZCUzI1Q0xFVkJRVXQ2WlN4RlFVRnRRalJsTEVWQlFVczNaU3hGUVVGTE1tVXNSVUZCUzNwbExFVkJRelZETkdZc1JVRkJTM0JDTEVWQlFVdDRaU3hGUVVGdFFubGxMRVZCUVVzeFpTeEZRVUZMTW1Vc1JVRkJTelZsTEVWQlQyaEVMRTFCUVU4c1EwRktSVFJtTEVWQlFVdHNRaXhGUVVGTGFVSXNSVUZCUzJoQ0xFVkJRVXRyUWl4RlFVRkxhRUlzUlVGQlMybENMRVZCUVV0c1FpeEZRVU51UTJsQ0xFVkJRVXR1UWl4RlFVRkxhVUlzUlVGQlMyWXNSVUZCUzJ0Q0xFVkJRVXR1UWl4RlFVRkxhVUlzUlVGQlMyWXNSVUZEYmtOcFFpeEZRVUZMY0VJc1JVRkJTMmxDTEVWQlFVdGtMRVZCUVV0bExFVkJRVXRvUWl4RlFVRkxhVUlzUlVGQlMyeENMRWxCU3psRExFMUJRVk1zVTBGQlV6bGxMRVZCUVVjM1FpeEZRVUZIUXl4RlFVRkhReXhIUVVWNlFtbFNMRVZCUVUxM1NTeEZRVUZIT1Znc1JVRkJSemRDTEVWQlFVZERMRVZCUVVkRExFZEJTV3hDTEVsQlFVbDNaMElzUlVGQlN6VnFRaXhMUVVGUkxFVkJRMkkyYWtJc1JVRkJTemRxUWl4TFFVRlJMRVZCUTJJNGFrSXNSVUZCU3pscVFpeExRVUZSTEVWQlEySXJha0lzUlVGQlN5OXFRaXhMUVVGUkxFVkJSV0puYTBJc1JVRkJTMjVJTEVWQlFVc3NSVUZEVmpOWUxFVkJRVXN5V0N4RlFVRkxMRVZCUTFZeFdDeEZRVUZMTUZnc1JVRkJTeXhGUVVOV2VsZ3NSVUZCUzNsWUxFVkJRVXNzUlVGRlZtOUpMRVZCUVZseVFpeEZRVUZMU1N4RlFVRkxTQ3hGUVVGTE0yVXNSVUZCU3pSbExFVkJRVXN6WlN4RlFVRkxOR1VzUlVGQlN6TmxMRVZCVlc1RUxFZEJVa2syWml4RlFVRlpMRWxCUTJSeVFpeEhRVUZOUVN4RlFVTk9ReXhIUVVGTlFTeEZRVU5PUXl4SFFVRk5RU3hGUVVOT1F5eEhRVUZOUVN4RlFVTk9hMElzUjBGQllVRXNSMEZIV0VFc1JVRkJXU3hOUVVOa0xFOUJRVThzVTBGQlUwTXNSMEZEWkN4UFFVRlBMRWxCUVVrdlN5eEZRVU5JZVVvc1JVRkJTM05DTEVkQlFVOXNRaXhGUVVGTFNpeEhRVU5xUWtNc1JVRkJTM0ZDTEVkQlFVOW9aMElzUlVGQlN6SmxMRWRCUTJwQ1F5eEZRVUZMYjBJc1IwRkJUeTltTEVWQlFVc3laU3hIUVVOcVFrTXNSVUZCUzIxQ0xFZEJRVTg1Wml4RlFVRkxNbVVzU1VGQlowSXNZVUZKTjBNc1NVRkJTVzlDTEVWQlFWTjRhRUlzUzBGQlMyMUhMRXRCUVV0dFlpeEhRVU51UWtjc1JVRkJXWHBvUWl4TFFVRkxiVUlzU1VGQlNYRm5RaXhIUVVWNlFpeFBRVUZQTEZOQlFWTkVMRWRCUldRc1NVRkJTVWNzUlVGQlVVWXNSVUZCVTBRc1JVRkRha0pKTEVWQlFWY3phRUlzUzBGQlMyMUNMRWxCUVVsMVowSXNSMEZIY0VKeVRDeEZRVVpYY2xjc1MwRkJTMnRDTEVsQlFVbDNaMElzUjBGRlNrb3NSVUZCV1Vzc1JVRkJWMFlzUlVGRGRrTnVUQ3hGUVVGTGNVd3NSVUZCVjBZc1JVRkZjRUlzVDBGQlR5eEpRVUZKYWt3c1JVRkRTRWdzUlVGQlN6UktMRVZCUVVzelNpeEZRVUZMSzBvc1JVRkRabWhMTEVWQlFVczJTaXhGUVVGTE5Vb3NSVUZCU3k5VkxFVkJRMlk0VlN4RlFVRkxPRW9zUlVGQlN6ZEtMRVZCUVVzNVZTeEZRVU5tTmxVc1JVRkJTeXRLTEVWQlFVczVTaXhGUVVGTE4xVXNUVUZMTjBJclZTeEZRVUZwUWl4TFFVRkpMRWxCUVVsQkxFVkJRVmNzUlVGQlJ5eEZRVUZITEVWQlFVY3NSMEZETjBOQkxFVkJRV2RDTEVsQlFVa3NTVUZCU1VFc1JVRkJWeXhGUVVGSExFVkJRVWNzUlVGQlJ5eEhRVU0xUTBFc1JVRkJZeXhGUVVGSkxFbEJRVWxCTEVWQlFWY3NSVUZCUnl4RlFVRkhMRVZCUVVjc1IwRkRNVU5CTEVWQlFXTXNSVUZCU1N4SlFVRkpRU3hGUVVGWExFVkJRVWNzUlVGQlJ5eEZRVUZITEVkQlF6RkRRU3hGUVVGakxFVkJRVWtzU1VGQlNVRXNSVUZCVnl4RlFVRkhMRVZCUVVjc1JVRkJSeXhIUVVNeFEwRXNSVUZCYjBJc1VVRkJTU3hOUVZONFFrRXNSVUZCTUVJc1kwRkJTU3hUUVVGVGFGRXNSVUZCVFZRc1IwRkpNME1zU1VGQlNUWmlMRVZCUVc5Q0xFZEJRVkkzWWl4RlFVVmFiVTBzUlVGQlNURk1MRVZCUVVzc1IwRkRWREpNTEVWQlFVa3pUQ3hGUVVGTExFZEJRMVF4U2l4RlFVRkpNRW9zUlVGQlN5eEhRVVZVY2tZc1JVRkJUVzVDTEV0QlFVdHRRaXhKUVVGSmVXZENMRWRCUTJZeFowSXNSVUZCVFd4Q0xFdEJRVXRyUWl4SlFVRkpNR2RDTEVkQlJXWkRMRVZCUVZjeFowSXNSVUZCVFc1Q0xFdEJRVXRITEV0QlFVc3JVaXhGUVVGSlFTeEZRVUZKUXl4RlFVRkpRU3hGUVVGSmNsWXNSVUZCU1VFc1IwRkZia1FzVDBGQlR5eEpRVUZKTUZvc1JVRkJWM1JXTEVWQlFVdG5VaXhGUVVGSk1sQXNSVUZCVlRGUUxFVkJRVWt3VUN4RlFVRlZMMnRDTEVWQlFVa3JhMElzU1VGVE4wUnlUQ3hGUVVFclFpeHRRa0ZCU1N4VFFVRlRjMHdzUlVGQlJ5OU1MRWRCUlRkRExFbEJRVWszUkN4RlFVRkpORkFzUlVGQlJTeEhRVU5PTTFBc1JVRkJTVEpRTEVWQlFVVXNSMEZEVG1oc1FpeEZRVUZKWjJ4Q0xFVkJRVVVzUjBGRlRuWnBRaXhGUVVGSmQxY3NSVUZCUlN4SFFVTk9kbGNzUlVGQlNYVlhMRVZCUVVVc1IwRkRUblJYTEVWQlFVbHpWeXhGUVVGRkxFZEJSVTV5VlN4RlFVRk5kMUVzUlVGQlNUTlRMRVZCUVVrMFV5eEZRVUZKTTFNc1JVRkJTVEZETEVWQlFVa3lReXhGUVVNeFFuZG5RaXhGUVVGTE9VNHNSVUZCU1RGVExFVkJRVWt6UXl4RlFVRkpNRU1zUlVGRGFrSTJaMElzUlVGQlMzWnFRaXhGUVVGSmVVTXNSVUZCU1RKVExFVkJRVWw2VXl4RlFVTnFRbmxvUWl4RlFVRkxhRkFzUlVGQlNURlRMRVZCUVVreVV5eEZRVUZKTlZNc1JVRkZja0lzVDBGQlR5eEpRVUZKYVZnc1JVRkRTRGxWTEVWQlFVMHhRaXhMUVVGTFJ5eExRVUZMZFVJc1JVRkJUVUVzUlVGQlRYVmxMRVZCUVV0QkxFVkJRVXRKTEVWQlFVdEJMRVZCUVV0aExFVkJRVXRCTEVkQlEzSkVha0lzUlVGRFFVa3NSVUZEUVdFc1IwRkRSWGhuUWl4aFFWbGFPRllzUlVGQmMwSXNWVUZCU1N4VFFVRlRkVXdzUlVGQlMwTXNSVUZCVDBNc1JVRkJTME1zUjBGRmJFUXNTVUZCU1VNc1JVRkJZU3hIUVVGU1NDeEZRVU5NU1N4RlFVRlhMRWRCUVU1SUxFVkJRMHhKTEVWQlFWY3NSMEZCVGs0c1JVRkZURThzUlVGQlMzUnBRaXhMUVVGTGEwSXNTVUZCU1dsb1FpeEhRVU5rU1N4RlFVRkxkbWxDTEV0QlFVdHJRaXhKUVVGSmEyaENMRWRCUTJSSkxFVkJRVXQ0YVVJc1MwRkJTMnRDTEVsQlFVbHRhRUlzUjBGRlpFa3NSVUZCUzNwcFFpeExRVUZMYlVJc1NVRkJTV2RvUWl4SFFVTmtUeXhGUVVGTE1XbENMRXRCUVV0dFFpeEpRVUZKYVdoQ0xFZEJRMlJQTEVWQlFVc3phVUlzUzBGQlMyMUNMRWxCUVVscmFFSXNSMEZGYkVJc1dVRkJZM0pxUWl4SlFVRldhMnBDTEVkQlFXbERMRkZCUVZaQkxFVkJRMnhDTEVsQlFVa3hUQ3hGUVVOSU9Fd3NSVUZCUzBNc1JVRkJTME1zUlVGQlMwTXNSVUZCUzBNc1JVRkJTME1zUlVGRGVrSkdMRVZCUVV0R0xFVkJRVXRETEVWQlFVdEdMRVZCUVV0SkxFVkJRVXRETEVWQlEzcENUQ3hGUVVGTFNTeEZRVUZMUml4RlFVRkxReXhGUVVGTFJpeEZRVUZMU1N4RlFVTjZRa3dzUlVGQlMwTXNSVUZCUzBrc1JVRkJTMFlzUlVGQlMwTXNSVUZCUzBZc1IwRkhja0lzVVVGQlZrNHNSVUZEU3l4SlFVRkpNVXdzUlVGRFNEaE1MRVZCUVV0RExFVkJRVXRETEVWQlFVdERMRVZCUVV0RExFVkJRVXRETEVWQlEzcENSaXhGUVVGTFJpeEZRVUZMUXl4RlFVRkxSaXhGUVVGTFNTeEZRVUZMUXl4RlFVTjZRa3dzUlVGQlMwa3NSVUZCUzBZc1JVRkJTME1zUlVGQlMwWXNSVUZCUzBrc1JVRkRla0pNTEVWQlFVdERMRVZCUVV0SkxFVkJRVXRHTEVWQlFVdERMRVZCUVV0R0xFZEJSM0pDTEZGQlFWWk9MRVZCUTBzc1NVRkJTVEZNTEVWQlEwZzRUQ3hGUVVGTFF5eEZRVUZMUXl4RlFVRkxReXhGUVVGTFF5eEZRVUZMUXl4RlFVTjZRa1lzUlVGQlMwWXNSVUZCUzBNc1JVRkJTMFlzUlVGQlMwa3NSVUZCUzBNc1JVRkRla0pNTEVWQlFVdEpMRVZCUVV0R0xFVkJRVXRETEVWQlFVdEdMRVZCUVV0SkxFVkJRM3BDVEN4RlFVRkxReXhGUVVGTFNTeEZRVUZMUml4RlFVRkxReXhGUVVGTFJpeEhRVWR5UWl4UlFVRldUaXhGUVVOTExFbEJRVWt4VEN4RlFVTklPRXdzUlVGQlMwTXNSVUZCUzBNc1JVRkJTME1zUlVGQlMwTXNSVUZCUzBNc1JVRkRla0pHTEVWQlFVdEdMRVZCUVV0RExFVkJRVXRHTEVWQlFVdEpMRVZCUVV0RExFVkJRM3BDVEN4RlFVRkxTU3hGUVVGTFJpeEZRVUZMUXl4RlFVRkxSaXhGUVVGTFNTeEZRVU42UWt3c1JVRkJTME1zUlVGQlMwa3NSVUZCUzBZc1JVRkJTME1zUlVGQlMwWXNSMEZIY2tJc1VVRkJWazRzUlVGRFN5eEpRVUZKTVV3c1JVRkRTRGhNTEVWQlFVdERMRVZCUVV0RExFVkJRVXRETEVWQlFVdERMRVZCUVV0RExFVkJRM3BDUml4RlFVRkxSaXhGUVVGTFF5eEZRVUZMUml4RlFVRkxTU3hGUVVGTFF5eEZRVU42UWt3c1JVRkJTMGtzUlVGQlMwWXNSVUZCUzBNc1JVRkJTMFlzUlVGQlMwa3NSVUZEZWtKTUxFVkJRVXRETEVWQlFVdEpMRVZCUVV0R0xFVkJRVXRETEVWQlFVdEdMRWRCUjNKQ0xGRkJRVlpPTEVWQlEwc3NTVUZCU1RGTUxFVkJRMGc0VEN4RlFVRkxReXhGUVVGTFF5eEZRVUZMUXl4RlFVRkxReXhGUVVGTFF5eEZRVU42UWtZc1JVRkJTMFlzUlVGQlMwTXNSVUZCUzBZc1JVRkJTMGtzUlVGQlMwTXNSVUZEZWtKTUxFVkJRVXRKTEVWQlFVdEdMRVZCUVV0RExFVkJRVXRHTEVWQlFVdEpMRVZCUTNwQ1RDeEZRVUZMUXl4RlFVRkxTU3hGUVVGTFJpeEZRVUZMUXl4RlFVRkxSaXhIUVVVMVFpeFhRVTFPTEV0QlJsVXNSVUZCUml4WFFVTlFMRTlCUVU5b1RTeEhRVU5TTEZGQlJrMHNUMEZGVGl4aFFTOW5RMHdzU1N3MFNVTk9RU3hoUVRSYVFTeFRRVUZuUW05TkxFVkJRVzlDUXl4RlFVRjNRME1zUlVGRE0wVkRMRWRCUlVFc1QwRkJUMFFzUlVGQldVVXNTVUZCVFhSc1FpeEpRVVZxUWl4RFFVTk9iV3hDTEhGQ1FVTkJTU3hWUVVGWGRteENMRVZCUVZGeGJFSXNTMEZxV1hSQ0xIVkNRV0ZETEZsQlFXRkhMRVZCUVhsQ1F5eEZRVU55UTBNc1J5eE5RVnBQTEV0QlFVRkRMRlZCUTFJc1EwRkRRME1zYVVKQlFXdENMRWxCVFZnc1MwRkJRVU1zWlVGQmFVSXNSVUZOZUVKc2JrSXNTMEZCU3padFFpeFhRVUZoUVN4RlFVTnNRamR0UWl4TFFVRkxLMjFDTEd0Q1FVRnZRa0VzUlVGRGVrSXZiVUlzUzBGQlN6aHRRaXhuUWtGQmEwSkJMRlZCUVcxQ0xFZEJRM1JETEZGQlFVb3NTVUZCUVVzc1dVRkJTU3hUUVVGRlF5eGpRVUZsVUN4SFFVbG1MR2xDUVVGclFsRXNSMEZGZUVKeWJrSXNTMEZCUzNOdVFpeGpRVUZsYkZRc1MwRkJTME1zVFVGQlQwUXNTMEZCUzNsUExGVkJRVmQzUlN4TFFWTXhReXhyUWtGQmJVSkZMRVZCUVhWQ1F5eEhRVVZvUkN4SlFVRkpReXhGUVVOS0xFbEJRVXNzU1VGQlNVTXNTMEZCVFRGdVFpeExRVUZMWjI1Q0xGVkJRVlZETEdsQ1FVVTNRaXhIUVVGSlV5eEZRVUZIU0N4bFFVRnBRa0VzUlVGRGVFSXNRMEZEUTBVc1JVRkJXVU1zUlVGRFdpeE5RVWxHTEVsQldVbERMRVZCV2tGRExFZEJRV2xDTEVWQlJXaENTQ3hKUVVWS1FTeEZRVU5CTEVOQlEwTkdMR2RDUVVOQlRTeGpRVUZsTEVsQlJXaENOMjVDTEV0QlFVdG5ia0lzVlVGQlZVTXNhVUpCUVdsQ00wa3NTMEZCVFcxS0xFbEJUWFJEUlN4RlFVWnhRaXhwUWtGQldFZ3NSVUZGUnl4RFFVRkZRU3hIUVVWWExHbENRVUZZUVN4RlFVVkdRU3hGUVVsQkxFTkJRVVVzUlVGQlFYaFhMRTlCUVU5TkxFdEJRVTBzUlVGQlFVNHNUMEZCVDA4c1QwRkhjRU1zU1VGQlN5eEpRVUZKZFZjc1MwRkJZVWdzUlVGRmFFSkdMRVZCUVZWSkxHTkJRV00zVkN4VFFVRlZPRlFzUzBGRmRFTk1MRVZCUVZWSkxHTkJRV04yU2l4TFFVRk5kMG9zUjBGRE9VSTVia0lzUzBGQlN5dHVRaXhwUTBGQmEwTlNMRVZCUVdWUExFZEJRM1JFUml4SFFVRnBRaXhKUVVsa05XNUNMRXRCUVV0bmIwSXNXVUZCWTJodlFpeExRVUZMT0cxQ0xHbENRVUZ0UW1Nc1NVRkZMME0xYmtJc1MwRkJTMmR2UWl4WFFVRmhkbGNzVDBGQlQzZFhMRmRCUVZrc1NVRkJUV3B2UWl4TFFVRkxhMjlDTEdOQlFXVnNiMElzUzBGQlN6aHRRaXhyUWtGSk9VUXNhVU5CUVd0RFV5eEZRVUYxUWxrc1J5eE5RVVZvUlN4SlFVRkpReXhGUVVOS0xFbEJRVXNzU1VGQlNWWXNTMEZCVFRGdVFpeExRVUZMTm0xQ0xGZEJSVzVDTEVkQlFVbGhMRVZCUVVjdmJVSXNUVUZCVVRSdFFpeEZRVU5tTEVOQlEwTmhMRVZCUVZsV0xFVkJRMW9zVFVGSFJpeEhRVUZMVlN4RlFVdE1MRWxCUVVzc1NVRkJTVU1zUzBGQkswSXNVVUZCY2tJc1JVRkJTVVFzUlVGQlZVVXNaVUZCVHl4UlFVRkpMRWRCUXpWRExFTkJRME1zU1VGQlNVTXNSVUZCVTBZc1JVRkRZaXhIUVVGSlJTeEZRVUZQTDFZc1RVRkJVU3hGUVVGQmFFSXNWMEZCVjJkWUxGRkJSVGRDTEU5QlFWRk1MRWRCUlZBc1MwRkJTeXhGUVVGQmJsZ3NUMEZCVDAwc1MwRkRXR2xZTEVWQlFVOUZMR05CUVdVc1JVRkRkRUlzVFVGRFJDeExRVUZMTEVWQlFVRjZXQ3hQUVVGUFR5eE5RVU5ZWjFnc1JVRkJUMGNzWlVGQlowSXNTVUZYY2tJc2IwSkJRWEZDYmtJc1JVRkJkVUpaTEVkQlJXeEVMRWxCUVVzc1NVRkJTUzl1UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWxLTEV0QlFVdG5ia0lzVlVGQlZVTXNhVUpCUVdsQ2NHcENMRTlCUVZGNlJDeEpRVU0xUkN4RFFVTkRMRWxCUVVsemJrSXNSVUZCU3pGdVFpeExRVUZMWjI1Q0xGVkJRVlZETEdsQ1FVRnBRamR0UWl4SFFVTjZReXhIUVVGSmMyNUNMRVZCUVVkSUxHVkJRV2xDUVN4RlFXZENka0lzV1VGa1Mxa3NSMEZQU2xRc1JVRkJSMGNzWTBGQlowSklMRVZCUVVkSExHTkJRV053VHl4UFFVRlZhMUFzUjBGQmFVSkJMRWRCUVU5U0xFZEJSWFpETEVkQlFUTkNWQ3hGUVVGSFJ5eGpRVUZqYUd0Q0xGRkJSWEJDTjBRc1MwRkJTMmR1UWl4VlFVRlZReXhwUWtGQmFVSXlRaXhQUVVGUmVHOUNMRVZCUVVjc1NVRlNOVU5LTEV0QlFVdG5ia0lzVlVGQlZVTXNhVUpCUVdsQ01rSXNUMEZCVVhodlFpeEZRVUZITEV0QmJVSjRReXg1UWtGQk1FSnRia0lzUlVGQmRVSnpRaXhGUVVGdlFsWXNSVUZETTBWWExFVkJRVzlDUXl4SFFVVndRaXhKUVVGSlF5eEZRVU5LTEVOQlEwTkRMRWRCUVVscWNFSXNTMEZCUzJ0dVFpeHBRa0ZEVkRSQ0xGTkJRMEZETEZkQlIwUXNUMEZCVHk5dlFpeExRVUZMYTNCQ0xHbENRVUZyUWpOQ0xFVkJRV1Z6UWl4RlFVRlpWaXhGUVVGUllTeEhRVWt6UkN4elFrRkJkVUo2UWl4RlFVRjFRbk5DTEVWQlFXOUNWaXhGUVVONFJXZENMRWRCUlVFc1NVRkJTVWdzUlVGRFNpeERRVU5EUXl4SFFVRkphbkJDTEV0QlFVdHJia0lzYVVKQlExUnBReXhWUVVWRUxFOUJRVTl1Y0VJc1MwRkJTMnR3UWl4cFFrRkJhMEl6UWl4RlFVRmxjMElzUlVGQldWWXNSVUZCVVdFc1IwRkpNMFFzZDBKQlFYbENla0lzUlVGQmRVSnpRaXhGUVVGdlFsWXNSVUZETVVWblFpeEhRVVZCTEVsQlFVbElMRVZCUTBvc1EwRkRRME1zUjBGQlNXcHdRaXhMUVVGTGEyNUNMR2xDUVVOVWFVTXNWVUZGUkN4UFFVRlBibkJDTEV0QlFVdHJjRUlzYVVKQlFXdENNMElzUlVGQlpYTkNMRVZCUVZsV0xFVkJRVkZoTEVkQlJ6RkVMR2xDUVVGclFucENMRVZCUVhWQ2MwSXNSVUZCYjBKV0xFVkJRM0JGWVN4SExGRkJSVUVzU1VGQlNWUXNSVUZCVTNadlFpeExRVUZMYjNCQ0xGVkJRVmMzUWl4RlFVRmxjMElzUjBGRE5VTXNTVUZCUzA0c1JVRkZTaXhOUVVGTkxFbEJRVWt2VUN4TlFVRlBMR3RDUVVGdFFuRlJMRzFDUVVFNFFuUkNMRXRCUjI1RkxFOUJRVkZaTEVkQlJWQXNTMEZCU3l4RlFVRkJibGdzVDBGQlQwMHNTMEZEV0dsWUxFVkJRVTlqTEdOQlFXZENMRWxCUVRKQ0xGRkJRWFJDTEVWQlFVVmtMRVZCUVU5akxIRkNRVUZoTEZGQlFVa3NSMEZCVFV3c1IwRkROVVFzVFVGRlJDeExRVUZMTEVWQlFVRm9XU3hQUVVGUFR5eE5RVU5ZWjFnc1JVRkJUMlVzWlVGQmFVSXNTVUZCTkVJc1VVRkJka0lzUlVGQlJXWXNSVUZCVDJVc2MwSkJRV01zVVVGQlNTeEhRVUZOVGl4SFFVZG9SU3hQUVVGUFFTeEZRVUZIUXl4SFFVbEtMRzFDUVVGdlFrRXNSeXhWUVVVeFFpeEpRVUZMTEVsQlFVbGlMRXRCUVdGd2IwSXNTMEZCU3padFFpeFhRVVV4UWl4SlFVRkxMRWxCUVVrd1F5eExRVUVyUWl4UlFVRnlRaXhGUVVGSmJrSXNSVUZCVlVVc1pVRkJUeXhSUVVGSkxFZEJRelZETEVOQlEwTXNTVUZCU1VNc1JVRkJVMmRDTEVWQlJXSm9RaXhGUVVGUFl5eGpRVUZ2UXl4UlFVRjJRaXhGUVVGSFpDeEZRVUZQWXl4eFFrRkJZU3hsUVVGRk5WQXNUMEZCVlhWUUxFZEJRVkZCTEVWQlFVZERMRWxCUVUxQkxFZEJRM2hGVml4RlFVRlBaU3hsUVVGelF5eFJRVUY0UWl4RlFVRkhaaXhGUVVGUFpTeHpRa0ZCWXl4bFFVRkZOMUFzVDBGQlZYVlFMRWRCUVZGQkxFVkJRVWRETEVsQlFVMUJMRWxCVFhKRkxHTkJSVkFzU1VGRlF5eEpRVUZKZWtjc1JVRkJVWGhwUWl4TFFVRkxLMjFDTEd0Q1FVRnZRaTl0UWl4TFFVRkxLMjFDTEd0Q1FVRnRRaTl0UWl4TFFVRkxaMjVDTEZkQlEyaEZMRVZCUVVGSExFdEJRVXR4UXl4VlFVRlhlSEJDTEV0QlFVdG5ia0lzVjBGRGRrSm9ia0lzUzBGQlMzTnVRaXhqUVVGbE9VVXNSMEZGY2tJc1RVRkJUMmhQTEVkQlJVNWlMRkZCUVZGRExFbEJRVXNzZDBKQlIxWTFWQ3hMUVVGTFoyNUNMRlZCUVZWRExHbENRVUZwUW5CcVFpeFBRVUZUTEVkQlFVczNSQ3hMUVVGTE9HMUNMR2RDUVVWMFJEbHRRaXhMUVVGTFoyOUNMRmRCUVdGMlZ5eFBRVUZQZDFjc1YwRkJXU3hKUVVGTmFtOUNMRXRCUVV0cmIwSXNZMEZCWld4dlFpeExRVUZMT0cxQ0xHbENRVWx3UlRsdFFpeExRVUZMWjI5Q0xHZENRVUZoY214Q0xFVkJTVm9zVlVGQlZ6UnJRaXhGUVVGMVFuTkNMRWNzVFVGRmVrTXNTVUZCU3l4SlFVRkpWQ3hMUVVGaGNHOUNMRXRCUVVzMmJVSXNWMEZGTVVJc1IwRkJTWFZDTEVWQlFWVjZia0lzVFVGQlVUUnRRaXhGUVVkMFFpeEpRVUZMTEVsQlFVbG5RaXhMUVVFeVFpeFJRVUZ5UWl4RlFVRkpTQ3hGUVVGVlJTeGxRVUZQTEZGQlFVa3NSMEZGZGtNc1IwRkJTVU1zUlVGQlR6VnVRaXhOUVVGUmEyOUNMRVZCUld4Q0xFOUJRVTlPTEVWQlVVZ3NZMEZCWld4Q0xFZEJSWFJDY201Q0xFdEJRVXQ1Y0VJc1lVRkJZM3B3UWl4TFFVRkxkMmxDTEUxQlFVODJSU3hIUVVNdlFuSnVRaXhMUVVGTGQybENMRTFCUVZFMlJTeEZRVWRPTEdGQlFXTXlRaXhGUVVOeVFsVXNSVUZEUVVNc1JVRkRRVzVZTEVjc1dVRkZRU3hQUVVGUlFTeEhRVVZRTEV0QlFVc3NSVUZCUVdoQ0xGZEJRVmRuV0N4UlFVTm9RaXhEUVVORExFbEJRVWx2UWl4RlFVRk5XaXhGUVVOT1ZTeEpRVUZoUXl4RlFVVk1MRkZCUVZnc1JVRkJRVU1zUlVGQlNXSXNaVUZCVHl4alFVRllZU3hKUVVWVFJpeEhRVUZaUXl4SlFVVllMRkZCUVZZc1JVRkJRVU1zUlVGQlNXUXNZMEZCVFN4alFVRldZeXhKUVVkR0xFMUJSVUVzUzBGQlN5eEZRVUZCY0Zrc1YwRkJWM0ZaTEUxQlEyaENMRU5CUTBNc1NVRkJTVU1zUlVGQlRXUXNSVUZEVG1Vc1JVRkJPRUlzYVVKQlFWcE1MRVZCUVhWQ1FTeEZRVUZ4UWl4RlFVTTVSRTBzUlVGQk9FSXNhVUpCUVZwTUxFVkJRWFZDUVN4RlFVRnhRaXhGUVVNNVJFa3NSMEZCV1VNc1IwRkZaa1lzUlVGQlNWZ3NUMEZCVVZrc1JVRkJWVU1zUjBGSGVFSXNUVUZGUVN4TFFVRkxMRVZCUVVGNFdTeFhRVUZYZVZrc1VVRkRhRUlzUTBGRFF5eE5RVUZSUXl4RlFVRkpReXhIUVVGeFF5eFJRVUZxUXl4RlFVRkhWQ3hUUVVFNFFpeFJRVUZKTEVOQlFVVXNSVUZCUnl4SlFVTnNSRlVzUlVGQlNVTXNSMEZCY1VNc1VVRkJha01zUlVGQlIxWXNVMEZCT0VJc1VVRkJTU3hEUVVGRkxFVkJRVWNzUjBGRk1VUXNTVUZCU1Zjc1JVRkJUWFJDTEVWQlEwNXJRaXhIUVVGTlJTeEhRVUZOUkN4SFFVRk5SU3hIUVVWeVFrTXNSVUZCU1c1Q0xFOUJRVkVzUTBGQlJXVXNSVUZCU1VNc1IwRkJUU3hEUVVGRlF5eEZRVUZKUXl4TlFVOHhRaXhoUVVGalJTeEZRVUZwUW14RUxFY3NjMEpCUlhSRExFbEJRVXNzU1VGQlNXVXNTMEZCWVhCdlFpeExRVUZMTm0xQ0xGZEJSVEZDTEVsQlFVc3NTVUZCU1RCRExFdEJRU3RDTEZGQlFYSkNMRVZCUVVsdVFpeEZRVUZWUlN4bFFVRlBMRkZCUVVrc1IwRkROVU1zUTBGRFF5eEpRVUZKUXl4RlFVRlRaMElzUlVGRFZHbENMRVZCUVhkRExGRkJRUzlDTEVWQlFVZEVMR0ZCUVVjc1JVRkJTRUVzUlVGQlMwVXNVVUZCVTNKRExFVkJRVlY2YmtJc1lVRkJTU3hsUVVGTk5HNUNMRVZCUVU4MWJrSXNUVUZEY2tRcmNFSXNSVUZCT0VNc1VVRkJja01zUlVGQlIzSkVMRVZCUVZOdlJDeFJRVUZUY2tNc1JVRkJWWHB1UWl4aFFVRk5MR1ZCUVVrMGJrSXNSVUZCVHpWdVFpeE5RVVY2UkdkeFFpeEZRVUV3UWl4UlFVRnVRaXhGUVVGSlNDeGhRVUZUTEVWQlFWUkJMRVZCUVZkb1lpeFpRVUZKTEdWQlFVVnVUeXhOUVVNMVFuVndRaXhGUVVFeVFpeFJRVUZ1UWl4RlFVRkhTaXhoUVVGVExFVkJRVlJCTEVWQlFWZDBhMElzWVVGQlN5eGxRVUZGTjBVc1RVRkZOMEozY0VJc1JVRkJNRUlzVVVGQmJrSXNSVUZCU1Vnc1lVRkJVeXhGUVVGVVFTeEZRVUZYYkdJc1dVRkJTU3hsUVVGRmJrOHNUVUZETlVKNWNFSXNSVUZCTWtJc1VVRkJia0lzUlVGQlIwb3NZVUZCVXl4RlFVRlVRU3hGUVVGWGVHdENMR0ZCUVVzc1pVRkJSVGRGTEUxQlJXcERMRWRCUVVscmJrSXNSVUZCVDBVc1lVRkZURzlETEVsQlJVcDBReXhGUVVGUFJTeGpRVUZsTEZGQlMzWkNMRWxCUVVzc1NVRkJTVThzUzBGQk1FSXNVVUZCZUVJc1JVRkJTVlFzUlVGQlQyTXNjVUpCUVdFc1VVRkJTU3hIUVVWMFEzSndRaXhMUVVGTEszRkNMR0ZCUVdNdlFpeEZRVUZKTWtJc1JVRkJVMFVzUlVGQlUzUkRMRVZCUVU4dlZpeE5RVWxzUkN4SFFVRkpLMVlzUlVGQlQwY3NZMEZGVEc5RExFbEJSVXAyUXl4RlFVRlBSeXhsUVVGblFpeFJRVXQ0UWl4SlFVRkxMRWxCUVVsTkxFdEJRVEpDTEZGQlFYcENMRVZCUVVsVUxFVkJRVTlsTEhOQ1FVRmpMRkZCUVVrc1IwRkZka04wY0VJc1MwRkJTeXR4UWl4aFFVRmpMMElzUlVGQlNUUkNMRVZCUVZWRkxFVkJRVlYyUXl4RlFVRlBMMVlzVTBGVmVFUXNkVUpCWVVFc01FSkJRV2REWjFVc1JVRkJkME5GTEVkQlJYWkZMRTlCUVU5SUxFVkJRVzFDUXl4RlFVRnZRaXhEUVVGRkxFVkJRVUY0Vml4UFFVRlBUU3hMUVVGTkxFVkJRVUZPTEU5QlFVOVBMRTlCUVZOdFZpeExMRzA1UWtNellXcEZMRVZCUVVGelJTeHhRa0ZCZFVJc2FVTkJRM1pDTEVWQlFVRkRMSFZDUVVGNVFpeEZRVUZCUkN4eFFrRkJkVUlzWlVGRGFFUXNSVUZCUVVVc2IwSkJRWE5DTEVWQlFVRkdMSEZDUVVGMVFpeFpRVU0zUXl4RlFVRkJSeXgzUWtGQk1FSXNSVUZCUVVnc2NVSkJRWFZDTEdsQ1FVTnFSQ3hGUVVGQlNTdzJRa0ZCSzBJc1JVRkJRVW9zY1VKQlFYVkNMSEZDUVVOMFJDeEZRVUZCU3l3d1FrRkJORUlzUlVGQlFVd3NjVUpCUVhWQ0xHMUNRVU51UkN4RlFVRkJUU3hyUWtGQmIwSXNSVUZCUVU0c2NVSkJRWFZDTEZWQlF6TkRMRVZCUVVGUExIVkNRVUY1UWl4RlFVRkJVQ3h4UWtGQmRVSXNaVUZEYUVRc1JVRkJRVkVzZFVKQlFYbENMRVZCUVVGU0xIRkNRVUYxUWl4bFFVTm9SQ3hGUVVGQlV5d3dRa0ZCTkVJc1JVRkJRVlFzY1VKQlFYVkNMRzFDUVVOdVJDeEZRVUZCVlN4dlFrRkJjMElzUlVGQlFWWXNjVUpCUVhWQ0xGbEJRemRETEVWQlFVRlhMRzlDUVVGelFpeEZRVUZCV0N4eFFrRkJkVUlzV1VGRE4wTXNSVUZCUVZrc2JVSkJRWEZDTEVWQlFVRmFMSEZDUVVGMVFpeFhRVU0xUXl4RlFVRkJZU3c0UWtGQlowTXNSVUZCUVdJc2NVSkJRWFZDTEcxQ1FVTjJSQ3hGUVVGQll5eDFRa0ZCZVVJc1JVRkJRV1FzY1VKQlFYVkNMR2RDUVVOb1JDeEZRVUZCWlN4NVFrRkJNa0lzUlVGQlFXWXNjVUpCUVhWQ0xHdENRVU5zUkN4RlFVRkJaMElzZDBKQlFUQkNMRVZCUVVGb1FpeHhRa0ZCZFVJc2FVSkJRMnBFTEVWQlFVRnBRaXh0UWtGQmNVSXNSVUZCUVdwQ0xIRkNRVUYxUWl4WFFVTTFReXhGUVVGQmEwSXNiVUpCUVhGQ0xFVkJRVUZzUWl4eFFrRkJkVUlzVjBGRE5VTXNSVUZCUVcxQ0xESkNRVUUyUWl4RlFVRkJia0lzY1VKQlFYVkNMRzlDUVVOd1JDeEZRVUZCYjBJc2VVSkJRVEpDTEVWQlFVRndRaXh4UWtGQmRVSXNhMEpCUTJ4RUxFVkJRVUZ4UWl4dlFrRkJjMElzUlVGQlFYSkNMSEZDUVVGMVFpeFpRVU0zUXl4RlFVRkJjMElzYzBKQlFYZENMRVZCUVVGMFFpeHhRa0ZCZFVJc1kwRkRMME1zUlVGQlFYVkNMRzlDUVVGelFpeEZRVUZCZGtJc2NVSkJRWFZDTEd0Q1FVTTNReXhGUVVGQmQwSXNORUpCUVRoQ0xFVkJRVUY0UWl4eFFrRkJkVUlzTWtKQlEzSkVMRVZCUVVGNVFpeHRRa0ZCY1VJc1JVRkJRWHBDTEhGQ1FVRjFRaXhYUVVNMVF5eEZRVUZCTUVJc2JVSkJRWEZDTEVWQlFVRXhRaXh4UWtGQmRVSXNWMEZETlVNc1JVRkJRVEpDTEhGQ1FVRjFRaXhGUVVGQk0wSXNjVUpCUVhWQ0xHOUNRVU01UXl4RlFVRkJORUlzYlVKQlFYRkNMRVZCUVVFMVFpeHhRa0ZCZFVJc1YwRkROVU1zUlVGQlFUWkNMSFZDUVVGNVFpeEZRVUZCTjBJc2NVSkJRWFZDTEdWQlEyaEVMRVZCUVVFNFFpeDVRa0ZCTWtJc1JVRkJRVGxDTEhGQ1FVRjFRaXhyUWtGRGJFUXNSVUZCUVN0Q0xIbENRVUV5UWl4RlFVRkJMMElzY1VKQlFYVkNMR2xDUVVOc1JDeEZRVUZCWjBNc09FSkJRV2RETEVWQlFVRm9ReXh4UWtGQmRVSXNkMEpCUTNaRUxFVkJRVUZwUXl3clFrRkJhVU1zUlVGQlFXcERMSEZDUVVGMVFpeDVRa0ZGZUVRc1JVRkJRV3RETEdWQlFXbENMRVZCUVVGc1F5eHhRa0ZCZFVJc1kwRkZlRU1zUlVGQlFXMURMSEZDUVVGMVFpeEZRVUZCUkN4bFFVRnBRaXh6UWl4cFRVTndRM0pFTEZOQlFWbEZMRWRCUlZnc1owSkJRMEVzYzBKQlEwRXNXVUZLUkN4RFFVRlpMRVZCUVVGQkxHZERRVUZCTEVWQlFVRkJMRGhDUVVFMlFpeExRWFZDZWtNc1UwRkJXVU1zUjBGRldDeGpRVU5CTEc5Q1FVTkJMRzlDUVVwRUxFTkJRVmtzUlVGQlFVRXNkMEpCUVVFc1JVRkJRVUVzYzBKQlFYRkNMRXRCVDJwRExGTkJRVmxETEVkQlJWZ3NNRUpCUTBFc01FSkJRMEVzZVVKQlEwRXNiMEpCVEVRc1EwRkJXU3hGUVVGQlFTeDNRa0ZCUVN4RlFVRkJRU3h6UWtGQmNVSXNTMEZSYWtNc1UwRkJXVU1zUjBGRldDeFpRVU5CTEc5Q1FVTkJMSGRDUVVOQkxIVkRRVU5CTERKRFFVTkJMSE5DUVVOQkxIRkRRVU5CTEhsRFFWUkVMRU5CUVZrc1JVRkJRVUVzTkVKQlFVRXNSVUZCUVVFc01FSkJRWGxDTEUwc2IwMURkRU4wUWl4VFFVRlRReXhKUVVOMFFpeFBRVUZQTEVsQlFVOURMRmxCUVZrc1NVTkpOVUlzU1VGR1FTeEpRVUZKUXl4RlFVRlpMRWRCUlZBc1JVRkJTU3hGUVVGSExFVkJRVWtzVFVGQlR5eEZRVU42UWtFc1JVRkJWU3hKUVVGTkxFVkJRVWtzUzBGQlR6TlhMRk5CUVZNc1NVRkJTVW9zVDBGQlR5eEhRVlZzUXl4SlExaFlaMWdzUlVGRlFVTXNSVVJUVnl4RlFWQm1MRk5CUVhGQ1F5eEZRVUZMUXl4SFFVTjRRaXhKUVVGSk1YUkNMRVZCUVVrd2RFSXNSMEZCVlN4RlFVTmtReXhGUVVGTlRDeEZRVVZXTEUxQlFVOHNRMEZCUTBzc1JVRkJTVVlzUlVGQlNYcDBRaXhOUVVGUE1uUkNMRVZCUVVsR0xFVkJRVWw2ZEVJc1RVRkJUekowUWl4RlFVRkpSaXhGUVVGSmVuUkNMRTFCUVU4eWRFSXNSVUZCU1VZc1JVRkJTWHAwUWl4TlFVRlBMRWxCUVVzeWRFSXNSVUZCU1VZc1JVRkJTWHAwUWl4TlFVRlBNblJDTEVWQlFVbEdMRVZCUVVsNmRFSXNUVUZCVHl4SlFVRkxNblJDTEVWQlFVbEdMRVZCUVVsNmRFSXNUVUZCVHpKMFFpeEZRVUZKUml4RlFVRkplblJDTEUxQlFVOHNTVUZCU3pKMFFpeEZRVUZKUml4RlFVRkplblJDTEUxQlFVOHlkRUlzUlVGQlNVWXNSVUZCU1hwMFFpeE5RVUZQTEVsQlFVc3lkRUlzUlVGQlNVWXNSVUZCU1hwMFFpeE5RVUZQTW5SQ0xFVkJRVWxHTEVWQlFVbDZkRUlzVFVGQlR6SjBRaXhGUVVGSlJpeEZRVUZKZW5SQ0xFMUJRVTh5ZEVJc1JVRkJTVVlzUlVGQlNYcDBRaXhOUVVGUE1uUkNMRVZCUVVsR0xFVkJRVWw2ZEVJc1RVRkJUekowUWl4RlFVRkpSaXhGUVVGSmVuUkNMRTlCUVU4d1owSXNTMEZCU3l4TFEwZ3ZVV3RPTEVWQlFXRXNSVUZEWWtNc1JVRkJZU3hGUVd0R1JpeE5RV2hHWml4VFFVRlpReXhGUVVGVFRDeEZRVUZMUXl4SFFVTjRRaXhKUVVGSk1YUkNMRVZCUVVsNWRFSXNSMEZCVDBNc1IwRkJWU3hGUVVOeVFtaFpMRVZCUVVrcldDeEhRVUZQTEVkQlJWaE5MRWRCUkVwRUxFVkJRVlZCTEVkQlFWY3NTVUZEUmtNc1RVRkJVVklzUlVGRGRrSlRMRTlCUVdkRGVuSkNMRWxCUVhKQ2RYSkNMRVZCUVZGRkxGTkJRWGxDUml4RlFVRlJSU3hUUVVGWFVpeEZRVWx1UlN4SFFVRlpMRTFCUVZKUExFZEJRVFJDTEUxQlFWcERMRVZCUVd0Q0xFTkJRM0JETEVsQlFVbERMRVZCUVZsSUxFVkJRVkUxVFN4VFFVRlhORTBzUlVGQlVWWXNTMEZCVDBFc1MwRkZkRU1zVFVGQlVsY3NTVUZGUmtFc1JVRkJUMUlzUlVGQlZTeERRVUZuUWl4RlFVRm1WU3hGUVVGVkxFZEJRVmRCTEVWQlFWVXNSMEZCU1VFc1JVRkJWU3hIUVVGSlFTeEZRVUZWTEVkQlFVbEJMRVZCUVZVc1IwRkJTVUVzUlVGQlZTeExRVWN6Uml4TlFVRmFSQ3hKUVVWR1FTeEZRVUZYVWl4RlFVRnBSQ3hQUVVGd1ExTXNSVUZCVlN4SlFVRk5MRVZCUVVsQkxFVkJRVlVzUzBGUk1VUXNTVUZCU1VNc1QwRkJNRUl6Y2tJc1NVRkJiRUoxY2tJc1JVRkJVVWtzVFVGQmMwSktMRVZCUVZGSkxFOUJRVkVzU1VGQlNVTXNUVUZCVDBNc1ZVRkhha1ZETEU5QlFUQkNPWEpDTEVsQlFXeENkWEpDTEVWQlFWRlBMRTFCUVhOQ1VDeEZRVUZSVHl4TlFVRlJVaXhGUVVGaExFVkJSVzVGVXl4RlFVRkxTaXhGUVVGUlRpeEhRVUZqVXl4RlFVRlJVaXhIUVVGakxFbEJZWEpFTEVkQldFbFRMRVZCUVVzc1VVRkJNRUl2Y2tJc1NVRkJja0oxY2tJc1JVRkJVVVVzVjBGRGNFSkJMRVZCUVZkQkxFVkJRVmNzUlVGQlNTeFJRVXQyUWswc1JVRkJTeXhIUVVGTFNpeEZRVUZSVGl4VFFVRnBRM0p5UWl4SlFVRnNRblZ5UWl4RlFVRlJUeXhSUVVNMVEwRXNSVUZCVVN4SFFVbE9RU3hIUVVGVExFbEJRMWdzVFVGQlRTeEpRVUZKYWxjc1RVRkJUU3h0UkVGSGJFSjNWaXhGUVVGaFRTeEZRVU5pVEN4RlFVRmhVU3hGUVVOaVlpeEZRVUZaVVN4RlFVbGFMRWxCUVVsUExFZEJRVFJDTEV0QlFXSXNWMEZHYmtKTUxFZEJRVk1zWTBGRkswSkhMRWRCUVZNc1YwRkRha1F6V1N4RlFVRkZNVllzUzBGQlQzVjFRaXhKUVVGUExFZEJRVXNzU1VGRGNrSTNXU3hGUVVGRk1WWXNTMEZCVDNWMVFpeEpRVUZQTEVkQlFVc3NTVUZEY2tJM1dTeEZRVUZGTVZZc1MwRkJUM1YxUWl4SlFVRlBMRVZCUVVrc1NVRkRjRUkzV1N4RlFVRkZNVllzUzBGQldTeEpRVUZNZFhWQ0xFVkJSVlFzU1VGQlNVTXNSVUZCVFU0c1JVRkJVU3hYUVVGakxFbEJRVkVzVlVGRGVFTjRXU3hGUVVGRk1WWXNTMEZCVDNkMVFpeEpRVUZSTEVWQlFVa3NTVUZEY2tJNVdTeEZRVUZGTVZZc1MwRkJZU3hKUVVGT2QzVkNMRVZCUlZRNVdTeEZRVUZGTVZZc1MwRkJUM2QxUWl4SlFVRlJMRWRCUVVzc1IwRkJUU3hIUVVVMVFqbFpMRVZCUVVVeFZpeExRVUZQZDNWQ0xFbEJRVkVzUjBGQlN5eEpRVVYwUWpsWkxFVkJRVVV4Vml4TFFVRlBaM1ZDTEVsQlFXRXNSVUZCU1N4SlFVVXhRblJaTEVWQlFVVXhWaXhMUVVGclFpeEpRVUZZWjNWQ0xFVkJSVlFzU1VGQlN5eEpRVUZKZG5OQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SlFVRkxRU3hGUVVOMlFtbFZMRVZCUVVVeFZpeEZRVUZKZVVJc1IwRkJTM056UWl4RlFVRkxkSE5DTEVkQlIyeENMRTlCUVU5bmMwSXNSMEZCV1N4RlFVRlpMMWdzU1VOc1JXeENMSE5DUVVOaUxFbEJRVWtyV1N4RlFVRmxMRk5CUVZWNGRFSXNSVUZCVDNsMFFpeEZRVUZYYWtJc1JVRkJTME1zUjBGRGJFUXNTVUZCU1dsQ0xFVkJRVTFzUWl4SFFVRlBReXhIUVVGVkxFVkJSek5DTEVkQlJtOUNMR2xDUVVGVWVuTkNMRWxCUVcxQ1FTeEZRV3BDYkVNc1UwRkJkVUl5ZEVJc1IwRkRja0pCTEVWQlFVMURMRk5CUVZORExHMUNRVUZ0UWtZc1NVRkpiRU1zU1VGR1FTeEpRVUZKUnl4RlFVRlJMRWxCUVVsc1ZTeE5RVUZOSzFRc1JVRkJTVzV5UWl4UlFVVnFRbnBFTEVWQlFVa3NSVUZCUjBFc1JVRkJTVFIxUWl4RlFVRkpibkpDTEU5QlFWRjZSQ3hKUVVNNVFpdDFRaXhGUVVGTkwzVkNMRWRCUVVzMGRVSXNSVUZCU1d4WkxGZEJRVmN4Vnl4SFFVYzFRaXhQUVVGUEszVkNMRVZCVVdsRFF5eERRVUZqTDNSQ0xFbEJRelZDTEdsQ1FVRmllWFJDTEVsQlFYVkNRU3hGUVROQ2RFTXNVMEZCY1VKUExFZEJSVzVDTEVsQlFVbEdMRVZCUVZFc1IwRkpXaXhQUVVoQlJTeEZRVUZMTlZrc1VVRkJVU3h0UWtGQmJVSXNVMEZCVlRaWkxFZEJRM2hEU0N4RlFVRk5OMUVzUzBGQlN6VkxMRk5CUVZNMFlpeEZRVUZMTEZGQlJYQkNTQ3hGUVhGQ2VVTkpMRU5CUVZsVUxFdEJRM0pFTjFRc1RVRkJUWFZWTEZGQlFWRnVkVUlzUjBGQlVTeE5RVUZOSzJNc1ZVRkJWU3h0UTBGRE0wTXNTVUZCUzI1RUxFMUJRVTExVlN4UlFVRlJWaXhKUVVGdFF5eExRVUZ5UWtFc1JVRkJWV3B5UWl4UFFVRmxMRTFCUVUxMVlTeFZRVUZWTEN0RVFVVXhSU3hKUVVGSksxRXNSVUZCVVUwc1JVRkJVMWdzUlVGQlZUbFFMRTlCUVU4elpDeEpRVWwwUXl4SFFVaEJPSFJDTEVWQlFVMHNSMEZCWjBJc1IwRkJXRUVzUlVGQlRTeEhRVUZaVHl4RlFVTTNRbEFzUlVGQlRTeEhRVUZuUWl4SFFVRllRU3hGUVVGTkxFZEJRVmtzU1VGRmVrSjBRaXhGUVVOR0xFbEJRVXNzU1VGQlNUaENMRVZCUVUwc1JVRkJSMEVzUlVGQlRTeExRVUZOUVN4RlFVTTFRamxDTEVWQlFVbHJRaXhGUVVGTldTeEhRVUZQVWl4RlFVRk5VU3hIUVVrelFpeFBRVUZQT1VJc1IwRkJUeXhGUVVGWmMwSXNTVUZKTlVJc1NVRkRSVTRzUlVGQllXeDFRaXhMUVVGUFFTeEZRVU53UWl4TlFVRlBhWFpDTEVsQlMxUXNUMEZHUVdZc1JVRkJZV2RDTEVsQk4wSkpMSFZEUVRoQ2FrSm9RaXhGUVVGaGFVSXNTVUUzUWtrc2RVTkJPRUpXYWtJc1IwTnVSRTBzVFVGRVNtdENMRVZCUVVrc1MwRkJUU3hKUTBGeVFpeFRRVUZoV2l4SFFVOVlMRTlCVGtsc1ZTeE5RVUZOZFZVc1VVRkJVVXdzUjBGRGFFSkJMRVZCUVZGaExFOUJRVTh4Vml4TFFVRkxObFVzUjBGRFRTeHBRa0ZCVmtFc1NVRkRhRUpCTEVWQlFWRmhMRTlCUVU4eFZpeExRVUZMTmxVc1JVRkJUeXhUUVVkMFFpeEpRVUZQWXl4WFFVRlhMRTlCUVU5RExFOUJRVTltTEVkQlFVOW5RaXhaUTJsQ2FrTXNUVUYyUW1Zc1UwRkJXV3BETEVWQlFWTk1MRVZCUVV0RExFZEJRM2hDTEVsQlFVa3hkRUlzUlVGQlNYbDBRaXhIUVVGUFF5eEhRVUZWTEVWQlJVZ3NhVUpCUVZoSkxFbEJRMVJNTEVWQlFXdENMRmRCUVZwTExFVkJRWFZDTEVsQlFVbHFWQ3hOUVVGTkxFbEJRVTBzUzBGRE4wTnBWQ3hGUVVGVkxFMUJTVm9zU1VGQlNXdERMRWRCUkVwc1F5eEZRVUZWUVN4SFFVRlhMRWxCUTBZMVRTeFRRVUZYTkUwc1JVRkJVVllzUzBGQlQwRXNTMEZMTjBNc1IwRklRVFJETEVWQlFVc3NSMEZCWlN4SFFVRldRU3hGUVVGTExFZEJRVmtzUjBGRE0wSkJMRVZCUVVzc1IwRkJaU3hIUVVGV1FTeEZRVUZMTEVkQlFWa3NTVUZGZGtKMlF5eEZRVU5HTEVsQlFVc3NTVUZCU1hkRExFVkJRVXNzUlVGQlIwRXNSVUZCU3l4TFFVRk5RU3hGUVVNeFFuaERMRVZCUVVsNmRFSXNSVUZCU1dsM1FpeEhRVUZOUkN4RlFVRkxReXhIUVVsMlFpeFBRVUZQZUVNc1IwRkJUeXhGUVVGWmRVTXNTVU53UW1Jc1RVRkVTa3dzUlVGQlNTeExRVUZOTEVsRFFYSkNMRk5CUVdOYUxFZEJUMW9zVDBGT1NXeFZMRTFCUVUxMVZTeFJRVUZSVEN4SFFVTm9Ra0VzUlVGQlVXRXNUMEZCVHpGV0xFdEJRVXMyVlN4SFFVTk5MR2xDUVVGV1FTeEpRVU5vUWtFc1JVRkJVV0VzVDBGQlR6RldMRXRCUVVzMlZTeEZRVUZQTEZOQlIzUkNMRWxCUVU5akxGZEJRVmNzVVVGQlVVTXNUMEZCVDJZc1IwRkJUMmRDSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQzlzYVdJdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUlvWm5WdVkzUnBiMjRnZDJWaWNHRmphMVZ1YVhabGNuTmhiRTF2WkhWc1pVUmxabWx1YVhScGIyNG9jbTl2ZEN3Z1ptRmpkRzl5ZVNrZ2UxeHVYSFJwWmloMGVYQmxiMllnWlhod2IzSjBjeUE5UFQwZ0oyOWlhbVZqZENjZ0ppWWdkSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BYRzVjZEZ4MGJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbVlXTjBiM0o1S0NrN1hHNWNkR1ZzYzJVZ2FXWW9kSGx3Wlc5bUlHUmxabWx1WlNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCa1pXWnBibVV1WVcxa0tWeHVYSFJjZEdSbFptbHVaU2hjSW1GaGNtUjJZWEpyTFhOb1lYSmxaRndpTENCYlhTd2dabUZqZEc5eWVTazdYRzVjZEdWc2MyVWdhV1lvZEhsd1pXOW1JR1Y0Y0c5eWRITWdQVDA5SUNkdlltcGxZM1FuS1Z4dVhIUmNkR1Y0Y0c5eWRITmJYQ0poWVhKa2RtRnlheTF6YUdGeVpXUmNJbDBnUFNCbVlXTjBiM0o1S0NrN1hHNWNkR1ZzYzJWY2JseDBYSFJ5YjI5MFcxd2lZV0Z5WkhaaGNtc3RjMmhoY21Wa1hDSmRJRDBnWm1GamRHOXllU2dwTzF4dWZTa29kR2hwY3l3Z1puVnVZM1JwYjI0b0tTQjdYRzV5WlhSMWNtNGdJaXdpSUZ4MEx5OGdWR2hsSUcxdlpIVnNaU0JqWVdOb1pWeHVJRngwZG1GeUlHbHVjM1JoYkd4bFpFMXZaSFZzWlhNZ1BTQjdmVHRjYmx4dUlGeDBMeThnVkdobElISmxjWFZwY21VZ1puVnVZM1JwYjI1Y2JpQmNkR1oxYm1OMGFXOXVJRjlmZDJWaWNHRmphMTl5WlhGMWFYSmxYMThvYlc5a2RXeGxTV1FwSUh0Y2JseHVJRngwWEhRdkx5QkRhR1ZqYXlCcFppQnRiMlIxYkdVZ2FYTWdhVzRnWTJGamFHVmNiaUJjZEZ4MGFXWW9hVzV6ZEdGc2JHVmtUVzlrZFd4bGMxdHRiMlIxYkdWSlpGMHBJSHRjYmlCY2RGeDBYSFJ5WlhSMWNtNGdhVzV6ZEdGc2JHVmtUVzlrZFd4bGMxdHRiMlIxYkdWSlpGMHVaWGh3YjNKMGN6dGNiaUJjZEZ4MGZWeHVJRngwWEhRdkx5QkRjbVZoZEdVZ1lTQnVaWGNnYlc5a2RXeGxJQ2hoYm1RZ2NIVjBJR2wwSUdsdWRHOGdkR2hsSUdOaFkyaGxLVnh1SUZ4MFhIUjJZWElnYlc5a2RXeGxJRDBnYVc1emRHRnNiR1ZrVFc5a2RXeGxjMXR0YjJSMWJHVkpaRjBnUFNCN1hHNGdYSFJjZEZ4MGFUb2diVzlrZFd4bFNXUXNYRzRnWEhSY2RGeDBiRG9nWm1Gc2MyVXNYRzRnWEhSY2RGeDBaWGh3YjNKMGN6b2dlMzFjYmlCY2RGeDBmVHRjYmx4dUlGeDBYSFF2THlCRmVHVmpkWFJsSUhSb1pTQnRiMlIxYkdVZ1puVnVZM1JwYjI1Y2JpQmNkRngwYlc5a2RXeGxjMXR0YjJSMWJHVkpaRjB1WTJGc2JDaHRiMlIxYkdVdVpYaHdiM0owY3l3Z2JXOWtkV3hsTENCdGIyUjFiR1V1Wlhod2IzSjBjeXdnWDE5M1pXSndZV05yWDNKbGNYVnBjbVZmWHlrN1hHNWNiaUJjZEZ4MEx5OGdSbXhoWnlCMGFHVWdiVzlrZFd4bElHRnpJR3h2WVdSbFpGeHVJRngwWEhSdGIyUjFiR1V1YkNBOUlIUnlkV1U3WEc1Y2JpQmNkRngwTHk4Z1VtVjBkWEp1SUhSb1pTQmxlSEJ2Y25SeklHOW1JSFJvWlNCdGIyUjFiR1ZjYmlCY2RGeDBjbVYwZFhKdUlHMXZaSFZzWlM1bGVIQnZjblJ6TzF4dUlGeDBmVnh1WEc1Y2JpQmNkQzh2SUdWNGNHOXpaU0IwYUdVZ2JXOWtkV3hsY3lCdlltcGxZM1FnS0Y5ZmQyVmljR0ZqYTE5dGIyUjFiR1Z6WDE4cFhHNGdYSFJmWDNkbFluQmhZMnRmY21WeGRXbHlaVjlmTG0wZ1BTQnRiMlIxYkdWek8xeHVYRzRnWEhRdkx5QmxlSEJ2YzJVZ2RHaGxJRzF2WkhWc1pTQmpZV05vWlZ4dUlGeDBYMTkzWldKd1lXTnJYM0psY1hWcGNtVmZYeTVqSUQwZ2FXNXpkR0ZzYkdWa1RXOWtkV3hsY3p0Y2JseHVJRngwTHk4Z1pHVm1hVzVsSUdkbGRIUmxjaUJtZFc1amRHbHZiaUJtYjNJZ2FHRnliVzl1ZVNCbGVIQnZjblJ6WEc0Z1hIUmZYM2RsWW5CaFkydGZjbVZ4ZFdseVpWOWZMbVFnUFNCbWRXNWpkR2x2YmlobGVIQnZjblJ6TENCdVlXMWxMQ0JuWlhSMFpYSXBJSHRjYmlCY2RGeDBhV1lvSVY5ZmQyVmljR0ZqYTE5eVpYRjFhWEpsWDE4dWJ5aGxlSEJ2Y25SekxDQnVZVzFsS1NrZ2UxeHVJRngwWEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0J1WVcxbExDQjdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR2RsZERvZ1oyVjBkR1Z5SUgwcE8xeHVJRngwWEhSOVhHNGdYSFI5TzF4dVhHNGdYSFF2THlCa1pXWnBibVVnWDE5bGMwMXZaSFZzWlNCdmJpQmxlSEJ2Y25SelhHNGdYSFJmWDNkbFluQmhZMnRmY21WeGRXbHlaVjlmTG5JZ1BTQm1kVzVqZEdsdmJpaGxlSEJ2Y25SektTQjdYRzRnWEhSY2RHbG1LSFI1Y0dWdlppQlRlVzFpYjJ3Z0lUMDlJQ2QxYm1SbFptbHVaV1FuSUNZbUlGTjViV0p2YkM1MGIxTjBjbWx1WjFSaFp5a2dlMXh1SUZ4MFhIUmNkRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCVGVXMWliMnd1ZEc5VGRISnBibWRVWVdjc0lIc2dkbUZzZFdVNklDZE5iMlIxYkdVbklIMHBPMXh1SUZ4MFhIUjlYRzRnWEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0FuWDE5bGMwMXZaSFZzWlNjc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hHNGdYSFI5TzF4dVhHNGdYSFF2THlCamNtVmhkR1VnWVNCbVlXdGxJRzVoYldWemNHRmpaU0J2WW1wbFkzUmNiaUJjZEM4dklHMXZaR1VnSmlBeE9pQjJZV3gxWlNCcGN5QmhJRzF2WkhWc1pTQnBaQ3dnY21WeGRXbHlaU0JwZEZ4dUlGeDBMeThnYlc5a1pTQW1JREk2SUcxbGNtZGxJR0ZzYkNCd2NtOXdaWEowYVdWeklHOW1JSFpoYkhWbElHbHVkRzhnZEdobElHNXpYRzRnWEhRdkx5QnRiMlJsSUNZZ05Eb2djbVYwZFhKdUlIWmhiSFZsSUhkb1pXNGdZV3h5WldGa2VTQnVjeUJ2WW1wbFkzUmNiaUJjZEM4dklHMXZaR1VnSmlBNGZERTZJR0psYUdGMlpTQnNhV3RsSUhKbGNYVnBjbVZjYmlCY2RGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHVkQ0E5SUdaMWJtTjBhVzl1S0haaGJIVmxMQ0J0YjJSbEtTQjdYRzRnWEhSY2RHbG1LRzF2WkdVZ0ppQXhLU0IyWVd4MVpTQTlJRjlmZDJWaWNHRmphMTl5WlhGMWFYSmxYMThvZG1Gc2RXVXBPMXh1SUZ4MFhIUnBaaWh0YjJSbElDWWdPQ2tnY21WMGRYSnVJSFpoYkhWbE8xeHVJRngwWEhScFppZ29iVzlrWlNBbUlEUXBJQ1ltSUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2RtRnNkV1VnSmlZZ2RtRnNkV1V1WDE5bGMwMXZaSFZzWlNrZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUZ4MFhIUjJZWElnYm5NZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0c1MWJHd3BPMXh1SUZ4MFhIUmZYM2RsWW5CaFkydGZjbVZ4ZFdseVpWOWZMbklvYm5NcE8xeHVJRngwWEhSUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29ibk1zSUNka1pXWmhkV3gwSnl3Z2V5QmxiblZ0WlhKaFlteGxPaUIwY25WbExDQjJZV3gxWlRvZ2RtRnNkV1VnZlNrN1hHNGdYSFJjZEdsbUtHMXZaR1VnSmlBeUlDWW1JSFI1Y0dWdlppQjJZV3gxWlNBaFBTQW5jM1J5YVc1bkp5a2dabTl5S0haaGNpQnJaWGtnYVc0Z2RtRnNkV1VwSUY5ZmQyVmljR0ZqYTE5eVpYRjFhWEpsWDE4dVpDaHVjeXdnYTJWNUxDQm1kVzVqZEdsdmJpaHJaWGtwSUhzZ2NtVjBkWEp1SUhaaGJIVmxXMnRsZVYwN0lIMHVZbWx1WkNodWRXeHNMQ0JyWlhrcEtUdGNiaUJjZEZ4MGNtVjBkWEp1SUc1ek8xeHVJRngwZlR0Y2JseHVJRngwTHk4Z1oyVjBSR1ZtWVhWc2RFVjRjRzl5ZENCbWRXNWpkR2x2YmlCbWIzSWdZMjl0Y0dGMGFXSnBiR2wwZVNCM2FYUm9JRzV2Ymkxb1lYSnRiMjU1SUcxdlpIVnNaWE5jYmlCY2RGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHViaUE5SUdaMWJtTjBhVzl1S0cxdlpIVnNaU2tnZTF4dUlGeDBYSFIyWVhJZ1oyVjBkR1Z5SUQwZ2JXOWtkV3hsSUNZbUlHMXZaSFZzWlM1ZlgyVnpUVzlrZFd4bElEOWNiaUJjZEZ4MFhIUm1kVzVqZEdsdmJpQm5aWFJFWldaaGRXeDBLQ2tnZXlCeVpYUjFjbTRnYlc5a2RXeGxXeWRrWldaaGRXeDBKMTA3SUgwZ09seHVJRngwWEhSY2RHWjFibU4wYVc5dUlHZGxkRTF2WkhWc1pVVjRjRzl5ZEhNb0tTQjdJSEpsZEhWeWJpQnRiMlIxYkdVN0lIMDdYRzRnWEhSY2RGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHVaQ2huWlhSMFpYSXNJQ2RoSnl3Z1oyVjBkR1Z5S1R0Y2JpQmNkRngwY21WMGRYSnVJR2RsZEhSbGNqdGNiaUJjZEgwN1hHNWNiaUJjZEM4dklFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGt1WTJGc2JGeHVJRngwWDE5M1pXSndZV05yWDNKbGNYVnBjbVZmWHk1dklEMGdablZ1WTNScGIyNG9iMkpxWldOMExDQndjbTl3WlhKMGVTa2dleUJ5WlhSMWNtNGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzlpYW1WamRDd2djSEp2Y0dWeWRIa3BPeUI5TzF4dVhHNGdYSFF2THlCZlgzZGxZbkJoWTJ0ZmNIVmliR2xqWDNCaGRHaGZYMXh1SUZ4MFgxOTNaV0p3WVdOclgzSmxjWFZwY21WZlh5NXdJRDBnWENKY0lqdGNibHh1WEc0Z1hIUXZMeUJNYjJGa0lHVnVkSEo1SUcxdlpIVnNaU0JoYm1RZ2NtVjBkWEp1SUdWNGNHOXlkSE5jYmlCY2RISmxkSFZ5YmlCZlgzZGxZbkJoWTJ0ZmNtVnhkV2x5WlY5ZktGOWZkMlZpY0dGamExOXlaWEYxYVhKbFgxOHVjeUE5SURFeUtUdGNiaUlzSWx3aWRYTmxJSE4wY21samRGd2lPMXh5WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hISmNibVY0Y0c5eWRITXVaWEJ6YVd4dmJpQTlJREF1TURBd01ERTdYSEpjYmk4dkl5QnpiM1Z5WTJWTllYQndhVzVuVlZKTVBXTnZibk4wWVc1MGN5NXFjeTV0WVhBaUxDSnRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb1hDSmpjbmx3ZEc5Y0lpazdJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUhGMVlYUmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzRjFZWFJjSWlrN1hISmNiblpoY2lCamIyNXpkR0Z1ZEhOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDJOdmJuTjBZVzUwYzF3aUtUdGNjbHh1ZG1GeUlIWmxZek1nUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpXTXpLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kbUZzZFdWeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTRlWG9nUFNCMllXeDFaWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFpsWXpNdWNISnZkRzkwZVhCbExDQmNJbmhjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmxZek11Y0hKdmRHOTBlWEJsTENCY0lubGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6TXVjSEp2ZEc5MGVYQmxMQ0JjSW5wY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFpsWXpNdWNISnZkRzkwZVhCbExDQmNJbmg1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6TXVjSEp2ZEc5MGVYQmxMQ0JjSW5oNWVsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtRjBJRDBnWm5WdVkzUnBiMjRnS0dsdVpHVjRLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0WFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzV5WlhObGRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NklEMGdNRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNWpiM0I1SUQwZ1puVnVZM1JwYjI0Z0tHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNektDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIUm9hWE11ZUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQjBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkR2hwY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVjSEp2ZEc5MGVYQmxMbTVsWjJGMFpTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0IwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBdGRHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlDMTBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdMWFJvYVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzVsY1hWaGJITWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUQwOVBTQjJiMmxrSURBcElIc2dkR2h5WlhOb2IyeGtJRDBnWTI5dWMzUmhiblJ6WHpFdVpYQnphV3h2YmpzZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMbmdnTFNCMlpXTjBiM0l1ZUNrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb2RHaHBjeTU1SUMwZ2RtVmpkRzl5TG5rcElENGdkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektIUm9hWE11ZWlBdElIWmxZM1J2Y2k1NktTQStJSFJvY21WemFHOXNaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y0hKdmRHOTBlWEJsTG14bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSFJvYVhNdWMzRjFZWEpsWkV4bGJtZDBhQ2dwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzV6Y1hWaGNtVmtUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb2VDQXFJSGdnS3lCNUlDb2dlU0FySUhvZ0tpQjZLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDczlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FyUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0t6MGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1YzNWaWRISmhZM1FnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDMDlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0F0UFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0xUMGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGtnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDbzlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FxUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0tqMGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1WkdsMmFXUmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBdlBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dMejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU2SUM4OUlIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVjSEp2ZEc5MGVYQmxMbk5qWVd4bElEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUFxUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1dWIzSnRZV3hwZW1VZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHeGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9LQ2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3hsYm1kMGFDQTlQVDBnTVNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3hsYm1kMGFDQTlQVDBnTUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbm9nUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2JHVnVaM1JvSUQwZ01TNHdJQzhnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVRbmxOWVhReklEMGdablZ1WTNScGIyNGdLRzFoZEhKcGVDd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoZEhKcGVDNXRkV3gwYVhCc2VWWmxZek1vZEdocGN5d2daR1Z6ZENrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGxDZVZGMVlYUWdQU0JtZFc1amRHbHZiaUFvY1hWaGRHVnlibWx2Yml3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIRjFZWFJsY201cGIyNHViWFZzZEdsd2JIbFdaV016S0hSb2FYTXNJR1JsYzNRcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y0hKdmRHOTBlWEJsTG5SdlVYVmhkQ0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2djWFZoZEY4eExtUmxabUYxYkhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR01nUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeklEMGdibVYzSUhabFl6TW9LVHRjY2x4dUlDQWdJQ0FnSUNCakxuZ2dQU0JOWVhSb0xtTnZjeWgwYUdsekxuZ2dLaUF3TGpVcE8xeHlYRzRnSUNBZ0lDQWdJSE11ZUNBOUlFMWhkR2d1YzJsdUtIUm9hWE11ZUNBcUlEQXVOU2s3WEhKY2JpQWdJQ0FnSUNBZ1l5NTVJRDBnVFdGMGFDNWpiM01vZEdocGN5NTVJQ29nTUM0MUtUdGNjbHh1SUNBZ0lDQWdJQ0J6TG5rZ1BTQk5ZWFJvTG5OcGJpaDBhR2x6TG5rZ0tpQXdMalVwTzF4eVhHNGdJQ0FnSUNBZ0lHTXVlaUE5SUUxaGRHZ3VZMjl6S0hSb2FYTXVlaUFxSURBdU5TazdYSEpjYmlBZ0lDQWdJQ0FnY3k1NklEMGdUV0YwYUM1emFXNG9kR2hwY3k1NklDb2dNQzQxS1R0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQnpMbmdnS2lCakxua2dLaUJqTG5vZ0xTQmpMbmdnS2lCekxua2dLaUJ6TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdZeTU0SUNvZ2N5NTVJQ29nWXk1NklDc2djeTU0SUNvZ1l5NTVJQ29nY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJR011ZUNBcUlHTXVlU0FxSUhNdWVpQXRJSE11ZUNBcUlITXVlU0FxSUdNdWVqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0JqTG5nZ0tpQmpMbmtnS2lCakxub2dLeUJ6TG5nZ0tpQnpMbmtnS2lCekxubzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTVqY205emN5QTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXpLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0TWlBOUlIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VUSWdQU0IyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG95SUQwZ2RtVmpkRzl5TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSGtnS2lCNk1pQXRJSG9nS2lCNU1qdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0I2SUNvZ2VESWdMU0I0SUNvZ2VqSTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZUNBcUlIa3lJQzBnZVNBcUlIZ3lPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Wkc5MElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGtnUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhveUlEMGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ3lJQ3NnZVNBcUlIa3lJQ3NnZWlBcUlIb3lLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxtUnBjM1JoYm1ObElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZG1WamRHOXlNaTU0SUMwZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjJaV04wYjNJeUxua2dMU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhabFkzUnZjakl1ZWlBdElIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9kR2hwY3k1emNYVmhjbVZrUkdsemRHRnVZMlVvZG1WamRHOXlMQ0IyWldOMGIzSXlLU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NXpjWFZoY21Wa1JHbHpkR0Z1WTJVZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXlMbmdnTFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2pJdWVTQXRJSFpsWTNSdmNpNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZG1WamRHOXlNaTU2SUMwZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDaDRJQ29nZUNBcklIa2dLaUI1SUNzZ2VpQXFJSG9wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVaR2x5WldOMGFXOXVJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaXdnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIWmxZek1vS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlQ0F0SUhabFkzUnZjakl1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NUlDMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZG1WamRHOXlMbm9nTFNCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUd4bGJtZDBhQ0E5SUUxaGRHZ3VjM0Z5ZENoNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIb3BPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHNaVzVuZEdnZ1BUMDlJREFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUd4bGJtZDBhQ0E5SURFZ0x5QnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdlQ0FxSUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCNUlDb2diR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSG9nS2lCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1dGFYZ2dQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlMQ0IwYVcxbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak15Z3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXJJSFJwYldVZ0tpQW9kbVZqZEc5eU1pNTRJQzBnZG1WamRHOXlMbmdwTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkR2x0WlNBcUlDaDJaV04wYjNJeUxua2dMU0IyWldOMGIzSXVlU2s3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RtVmpkRzl5TG5vZ0t5QjBhVzFsSUNvZ0tIWmxZM1J2Y2pJdWVpQXRJSFpsWTNSdmNpNTZLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXpLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ3NnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhabFkzUnZjaTU2SUNzZ2RtVmpkRzl5TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXVaR2xtWm1WeVpXNWpaU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV016S0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhabFkzUnZjaTU0SUMwZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJSFpsWTNSdmNpNTVJQzBnZG1WamRHOXlNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIWmxZM1J2Y2k1NklDMGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV016S0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhabFkzUnZjaTU0SUNvZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJSFpsWTNSdmNpNTVJQ29nZG1WamRHOXlNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIWmxZM1J2Y2k1NklDb2dkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11Y1hWdmRHbGxiblFnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBdklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0F2SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQjJaV04wYjNJdWVpQXZJSFpsWTNSdmNqSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5wbGNtOGdQU0J1WlhjZ2RtVmpNeWhiTUN3Z01Dd2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak15NXZibVVnUFNCdVpYY2dkbVZqTXloYk1Td2dNU3dnTVYwcE8xeHlYRzRnSUNBZ2RtVmpNeTUxY0NBOUlHNWxkeUIyWldNektGc3dMQ0F4TENBd1hTazdYSEpjYmlBZ0lDQjJaV016TG5KcFoyaDBJRDBnYm1WM0lIWmxZek1vV3pFc0lEQXNJREJkS1R0Y2NseHVJQ0FnSUhabFl6TXVabTl5ZDJGeVpDQTlJRzVsZHlCMlpXTXpLRnN3TENBd0xDQXhYU2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdkbVZqTXp0Y2NseHVmU2dwS1R0Y2NseHVaWGh3YjNKMGN5NWtaV1poZFd4MElEMGdkbVZqTXp0Y2NseHVMeThqSUhOdmRYSmpaVTFoY0hCcGJtZFZVa3c5ZG1Wak15NXFjeTV0WVhBaUxDSmNJblZ6WlNCemRISnBZM1JjSWp0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dWRtRnlJR052Ym5OMFlXNTBjMTh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZZMjl1YzNSaGJuUnpYQ0lwTzF4eVhHNTJZWElnZG1Wak1pQTlJQzhxS2lCQVkyeGhjM01nS2k4Z0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsWXpJb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE1nUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0RJcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaWE1nSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5oNUlEMGdkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXlMbkJ5YjNSdmRIbHdaU3dnWENKNFhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gyWldNeUxuQnliM1J2ZEhsd1pTd2dYQ0o1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV015TG5CeWIzUnZkSGx3WlN3Z1hDSjRlVndpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG1GMElEMGdablZ1WTNScGIyNGdLR2x1WkdWNEtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXlaWE5sZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQTlJREE3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVZMjl3ZVNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak1pZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbTVsWjJGMFpTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0IwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBdGRHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlDMTBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVaWEYxWVd4eklEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvY21WemFHOXNaQ0E5UFQwZ2RtOXBaQ0F3S1NCN0lIUm9jbVZ6YUc5c1pDQTlJR052Ym5OMFlXNTBjMTh4TG1Wd2MybHNiMjQ3SUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTRJQzBnZG1WamRHOXlMbmdwSUQ0Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0UxaGRHZ3VZV0p6S0hSb2FYTXVlU0F0SUhabFkzUnZjaTU1S1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzV6Y1hKMEtIUm9hWE11YzNGMVlYSmxaRXhsYm1kMGFDZ3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXpjWFZoY21Wa1RHVnVaM1JvSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ2dLeUI1SUNvZ2VTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBclBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dLejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdWMzVmlkSEpoWTNRZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJQzA5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBdFBTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ0tqMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTVJQ285SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtUnBkbWxrWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dMejBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU1SUM4OUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbk5qWVd4bElEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZ29LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F4S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCc1pXNW5kR2dnUFNBeExqQWdMeUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJQ285SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNaUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNeUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdVkzSnZjM01nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTTE4eExtUmxabUYxYkhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjRJQ29nZVRJZ0xTQjVJQ29nZURJN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSG83WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1a2IzUWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNoMlpXTjBiM0l1ZUNBcUlIWmxZM1J2Y2pJdWVDQXJJSFpsWTNSdmNpNTVJQ29nZG1WamRHOXlNaTU1S1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbVJwYzNSaGJtTmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2RHaHBjeTV6Y1hWaGNtVmtSR2x6ZEdGdVkyVW9kbVZqZEc5eUxDQjJaV04wYjNJeUtTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1emNYVmhjbVZrUkdsemRHRnVZMlVnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjJaV04wYjNJeUxuZ2dMU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjakl1ZVNBdElIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW9lQ0FxSUhnZ0t5QjVJQ29nZVNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNaTVrYVhKbFkzUnBiMjRnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0SUMwZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxua2dMU0IyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3hsYm1kMGFDQTlJRTFoZEdndWMzRnlkQ2g0SUNvZ2VDQXJJSGtnS2lCNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JzWlc1bmRHZ2dQU0F4SUM4Z2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIZ2dLaUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZVNBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxtMXBlQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUhScGJXVXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhreUlEMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhnZ0t5QjBhVzFsSUNvZ0tIZ3lJQzBnZUNrN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdlU0FySUhScGJXVWdLaUFvZVRJZ0xTQjVLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV015TG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ3NnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1WkdsbVptVnlaVzVqWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lIWmxZM1J2Y2pJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNeUtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIWmxZM1J2Y2k1NElDMGdkbVZqZEc5eU1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhabFkzUnZjaTU1SUMwZ2RtVmpkRzl5TWk1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2WkhWamRDQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ29nZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDb2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y1hWdmRHbGxiblFnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBdklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0F2SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxucGxjbThnUFNCdVpYY2dkbVZqTWloYk1Dd2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak1pNXZibVVnUFNCdVpYY2dkbVZqTWloYk1Td2dNVjBwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSFpsWXpJN1hISmNibjBvS1NrN1hISmNibVY0Y0c5eWRITXVaR1ZtWVhWc2RDQTlJSFpsWXpJN1hISmNiaTh2SXlCemIzVnlZMlZOWVhCd2FXNW5WVkpNUFhabFl6SXVhbk11YldGd0lpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjY2x4dWRtRnlJRzFoZEROZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDIxaGRETmNJaWs3WEhKY2JuWmhjaUJ0WVhRMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5dFlYUTBYQ0lwTzF4eVhHNTJZWElnZG1Wak0xOHhJRDBnY21WeGRXbHlaU2hjSWk0dmRtVmpNMXdpS1R0Y2NseHVkbUZ5SUdOdmJuTjBZVzUwYzE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2WTI5dWMzUmhiblJ6WENJcE8xeHlYRzUyWVhJZ2NYVmhkQ0E5SUM4cUtpQkFZMnhoYzNNZ0tpOGdLR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhGMVlYUW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhNZ1BTQnVaWGNnUm14dllYUXpNa0Z5Y21GNUtEUXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDJZV3gxWlhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuaDVlbmNnUFNCMllXeDFaWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmhjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIRjFZWFF1Y0hKdmRHOTBlWEJsTENCY0lubGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5wY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmRjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIRjFZWFF1Y0hKdmRHOTBlWEJsTENCY0luaDVYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCMllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmg1ZWx3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUhaaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h4ZFdGMExuQnliM1J2ZEhsd1pTd2dYQ0o0ZVhwM1hDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlIWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNCMllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnZG1Gc2RXVnpXek5kTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ2NYVmhkQzV3Y205MGIzUjVjR1V1WVhRZ1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iYVc1a1pYaGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExuSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2djWFZoZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMblpoYkhWbGMxdHBYU0E5SUhSb2FYTXVkbUZzZFdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNXliMnhzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZEdocGN5NTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJOWVhSb0xtRjBZVzR5S0RJdU1DQXFJQ2g0SUNvZ2VTQXJJSGNnS2lCNktTd2dkeUFxSUhjZ0t5QjRJQ29nZUNBdElIa2dLaUI1SUMwZ2VpQXFJSG9wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbkJwZEdOb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbUYwWVc0eUtESXVNQ0FxSUNoNUlDb2dlaUFySUhjZ0tpQjRLU3dnZHlBcUlIY2dMU0I0SUNvZ2VDQXRJSGtnS2lCNUlDc2dlaUFxSUhvcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG5saGR5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzVoYzJsdUtESXVNQ0FxSUNoMGFHbHpMbmdnS2lCMGFHbHpMbm9nTFNCMGFHbHpMbmNnS2lCMGFHbHpMbmtwS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzVsY1hWaGJITWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUQwOVBTQjJiMmxrSURBcElIc2dkR2h5WlhOb2IyeGtJRDBnWTI5dWMzUmhiblJ6WHpFdVpYQnphV3h2YmpzZ2ZWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTkRzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMblpoYkhWbGMxdHBYU0F0SUhabFkzUnZjaTVoZENocEtTa2dQaUIwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNXpaWFJKWkdWdWRHbDBlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5jZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG1OaGJHTjFiR0YwWlZjZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMGFHbHpMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGtnUFNCMGFHbHpMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG9nUFNCMGFHbHpMbm83WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUzSUQwZ0xTaE5ZWFJvTG5OeGNuUW9UV0YwYUM1aFluTW9NUzR3SUMwZ2VDQXFJSGdnTFNCNUlDb2dlU0F0SUhvZ0tpQjZLU2twTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExtbHVkbVZ5YzJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1J2ZENBOUlIRjFZWFF1Wkc5MEtIUm9hWE1zSUhSb2FYTXBPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haRzkwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVlSGw2ZHlBOUlGc3dMQ0F3TENBd0xDQXdYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcGJuWkViM1FnUFNCa2IzUWdQeUF4TGpBZ0x5QmtiM1FnT2lBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVDQXFQU0F0YVc1MlJHOTBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FxUFNBdGFXNTJSRzkwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZWlBcVBTQXRhVzUyUkc5ME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWR5QXFQU0JwYm5aRWIzUTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2NYVmhkQzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJQ285SUMweE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElDbzlJQzB4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUNvOUlDMHhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG14bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJSFJvYVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWR6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1emNYSjBLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlBcklIY2dLaUIzS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVVnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjBhR2x6TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5jN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUd4bGJtZDBhQ0E5SUUxaGRHZ3VjM0Z5ZENoNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIb2dLeUIzSUNvZ2R5azdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnNaVzVuZEdncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHeGxibWQwYUNBOUlERWdMeUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnZUNBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQjVJQ29nYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhvZ0tpQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkeUFxSUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvYjNSb1pYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxdHBYU0FyUFNCdmRHaGxjaTVoZENocEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdWJYVnNkR2x3YkhrZ1BTQm1kVzVqZEdsdmJpQW9iM1JvWlhJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NURjRJRDBnZEdocGN5NTJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlU0E5SUhSb2FYTXVkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWG9nUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjVEYzSUQwZ2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV5ZUNBOUlHOTBhR1Z5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVTQTlJRzkwYUdWeUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllaUE5SUc5MGFHVnlMbm83WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV5ZHlBOUlHOTBhR1Z5TG5jN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElEMGdjVEY0SUNvZ2NUSjNJQ3NnY1RGM0lDb2djVEo0SUNzZ2NURjVJQ29nY1RKNklDMGdjVEY2SUNvZ2NUSjVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0E5SUhFeGVTQXFJSEV5ZHlBcklIRXhkeUFxSUhFeWVTQXJJSEV4ZWlBcUlIRXllQ0F0SUhFeGVDQXFJSEV5ZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ1BTQnhNWG9nS2lCeE1uY2dLeUJ4TVhjZ0tpQnhNbm9nS3lCeE1YZ2dLaUJ4TW5rZ0xTQnhNWGtnS2lCeE1uZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNJRDBnY1RGM0lDb2djVEozSUMwZ2NURjRJQ29nY1RKNElDMGdjVEY1SUNvZ2NUSjVJQzBnY1RGNklDb2djVEo2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVZtVmpNeUE5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV016WHpFdVpHVm1ZWFZzZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NYZ2dQU0IwYUdsekxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjWGNnUFNCMGFHbHpMbmM3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2w0SUQwZ2NYY2dLaUI0SUNzZ2NYa2dLaUI2SUMwZ2NYb2dLaUI1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJwZVNBOUlIRjNJQ29nZVNBcklIRjZJQ29nZUNBdElIRjRJQ29nZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYVhvZ1BTQnhkeUFxSUhvZ0t5QnhlQ0FxSUhrZ0xTQnhlU0FxSUhnN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdsM0lEMGdMWEY0SUNvZ2VDQXRJSEY1SUNvZ2VTQXRJSEY2SUNvZ2VqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0JwZUNBcUlIRjNJQ3NnYVhjZ0tpQXRjWGdnS3lCcGVTQXFJQzF4ZWlBdElHbDZJQ29nTFhGNU8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJR2w1SUNvZ2NYY2dLeUJwZHlBcUlDMXhlU0FySUdsNklDb2dMWEY0SUMwZ2FYZ2dLaUF0Y1hvN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdhWG9nS2lCeGR5QXJJR2wzSUNvZ0xYRjZJQ3NnYVhnZ0tpQXRjWGtnTFNCcGVTQXFJQzF4ZUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNTBiMDFoZERNZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUcxaGRETmZNUzVrWldaaGRXeDBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkR2hwY3k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNklEMGdkR2hwY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCM0lEMGdkR2hwY3k1M08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSGdnS3lCNE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNU1pQTlJSGtnS3lCNU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNk1pQTlJSG9nS3lCNk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNGVDQTlJSGdnS2lCNE1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VIa2dQU0I0SUNvZ2VUSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIaDZJRDBnZUNBcUlIb3lPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVlU0E5SUhrZ0tpQjVNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlWG9nUFNCNUlDb2dlakk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSHA2SUQwZ2VpQXFJSG95TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzZUNBOUlIY2dLaUI0TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZDNrZ1BTQjNJQ29nZVRJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhkNklEMGdkeUFxSUhveU8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWFXNXBkQ2hiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREVnTFNBb2VYa2dLeUI2ZWlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhoNUlDc2dkM29zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGg2SUMwZ2Qza3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIaDVJQzBnZDNvc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURFZ0xTQW9lSGdnS3lCNmVpa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIbDZJQ3NnZDNnc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhoNklDc2dkM2tzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGw2SUMwZ2QzZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lERWdMU0FvZUhnZ0t5QjVlU2tzWEhKY2JpQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2NYVmhkQzV3Y205MGIzUjVjR1V1ZEc5TllYUTBJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QnRZWFEwWHpFdVpHVm1ZWFZzZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhSb2FYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCNElDc2dlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCNUlDc2dlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaklnUFNCNklDc2dlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlSGdnUFNCNElDb2dlREk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGg1SUQwZ2VDQXFJSGt5TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0ZWlBOUlIZ2dLaUI2TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVhrZ1BTQjVJQ29nZVRJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhsNklEMGdlU0FxSUhveU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNmVpQTlJSG9nS2lCNk1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2QzZ2dQU0IzSUNvZ2VESTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZDVJRDBnZHlBcUlIa3lPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjNlaUE5SUhjZ0tpQjZNanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbWx1YVhRb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBeElDMGdLSGw1SUNzZ2Vub3BMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRlU0FySUhkNkxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNGVpQXRJSGQ1TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0ZVNBdElIZDZMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhJQzBnS0hoNElDc2dlbm9wTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I1ZWlBcklIZDRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRlaUFySUhkNUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNWVpQXRJSGQ0TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F4SUMwZ0tIaDRJQ3NnZVhrcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBeExGeHlYRzRnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdVpHOTBJRDBnWm5WdVkzUnBiMjRnS0hFeExDQnhNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCeE1TNTRJQ29nY1RJdWVDQXJJSEV4TG5rZ0tpQnhNaTU1SUNzZ2NURXVlaUFxSUhFeUxub2dLeUJ4TVM1M0lDb2djVEl1ZHp0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbk4xYlNBOUlHWjFibU4wYVc5dUlDaHhNU3dnY1RJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUJ4ZFdGMEtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIRXhMbmdnS3lCeE1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhFeExua2dLeUJ4TWk1NU8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSEV4TG5vZ0t5QnhNaTU2TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlIRXhMbmNnS3lCeE1pNTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNoeE1Td2djVElzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QnhkV0YwS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWGdnUFNCeE1TNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWGtnUFNCeE1TNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWG9nUFNCeE1TNTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNWGNnUFNCeE1TNTNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbmdnUFNCeE1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbmtnUFNCeE1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbm9nUFNCeE1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnhNbmNnUFNCeE1pNTNPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhFeGVDQXFJSEV5ZHlBcklIRXhkeUFxSUhFeWVDQXJJSEV4ZVNBcUlIRXllaUF0SUhFeGVpQXFJSEV5ZVR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQnhNWGtnS2lCeE1uY2dLeUJ4TVhjZ0tpQnhNbmtnS3lCeE1Yb2dLaUJ4TW5nZ0xTQnhNWGdnS2lCeE1ubzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnY1RGNklDb2djVEozSUNzZ2NURjNJQ29nY1RKNklDc2djVEY0SUNvZ2NUSjVJQzBnY1RGNUlDb2djVEo0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlIRXhkeUFxSUhFeWR5QXRJSEV4ZUNBcUlIRXllQ0F0SUhFeGVTQXFJSEV5ZVNBdElIRXhlaUFxSUhFeWVqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbU55YjNOeklEMGdablZ1WTNScGIyNGdLSEV4TENCeE1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhGMVlYUW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGVDQTlJSEV4TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGVTQTlJSEV4TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGVpQTlJSEV4TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeGR5QTlJSEV4TG5jN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVDQTlJSEV5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVTQTlJSEV5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVpQTlJSEV5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWR5QTlJSEV5TG5jN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdjVEYzSUNvZ2NUSjZJQ3NnY1RGNklDb2djVEozSUNzZ2NURjRJQ29nY1RKNUlDMGdjVEY1SUNvZ2NUSjRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhFeGR5QXFJSEV5ZHlBdElIRXhlQ0FxSUhFeWVDQXRJSEV4ZVNBcUlIRXllU0F0SUhFeGVpQXFJSEV5ZWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQnhNWGNnS2lCeE1uZ2dLeUJ4TVhnZ0tpQnhNbmNnS3lCeE1Ya2dLaUJ4TW5vZ0xTQnhNWG9nS2lCeE1uazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJRDBnY1RGM0lDb2djVEo1SUNzZ2NURjVJQ29nY1RKM0lDc2djVEY2SUNvZ2NUSjRJQzBnY1RGNElDb2djVEo2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWMyaHZjblJOYVhnZ1BTQm1kVzVqZEdsdmJpQW9jVEVzSUhFeUxDQjBhVzFsTENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2djWFZoZENncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2x0WlNBOFBTQXdMakFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTRlWHAzSUQwZ2NURXVlSGw2ZHp0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdhV1lnS0hScGJXVWdQajBnTVM0d0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZUhsNmR5QTlJSEV5TG5oNWVuYzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnWTI5eklEMGdjWFZoZEM1a2IzUW9jVEVzSUhFeUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2NUSmhJRDBnY1RJdVkyOXdlU2dwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqYjNNZ1BDQXdMakFwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY1RKaExtbHVkbVZ5YzJVb0tUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXpJRDBnTFdOdmN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3N3TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJyTVR0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvWTI5eklENGdNQzQ1T1RrNUtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHc3dJRDBnTVNBdElIUnBiV1U3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR3N4SUQwZ01DQXJJSFJwYldVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emNYSjBLREVnTFNCamIzTWdLaUJqYjNNcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdZVzVuYkdVZ1BTQk5ZWFJvTG1GMFlXNHlLSE5wYml3Z1kyOXpLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5dVpVOTJaWEpUYVc0Z1BTQXhJQzhnYzJsdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCck1DQTlJRTFoZEdndWMybHVLQ2d4SUMwZ2RHbHRaU2tnS2lCaGJtZHNaU2tnS2lCdmJtVlBkbVZ5VTJsdU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCck1TQTlJRTFoZEdndWMybHVLQ2d3SUNzZ2RHbHRaU2tnS2lCaGJtZHNaU2tnS2lCdmJtVlBkbVZ5VTJsdU8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCck1DQXFJSEV4TG5nZ0t5QnJNU0FxSUhFeVlTNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUdzd0lDb2djVEV1ZVNBcklHc3hJQ29nY1RKaExuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnYXpBZ0tpQnhNUzU2SUNzZ2F6RWdLaUJ4TW1FdWVqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0JyTUNBcUlIRXhMbmNnS3lCck1TQXFJSEV5WVM1M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXViV2w0SUQwZ1puVnVZM1JwYjI0Z0tIRXhMQ0J4TWl3Z2RHbHRaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIRjFZWFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTnZjMGhoYkdaVWFHVjBZU0E5SUhFeExuZ2dLaUJ4TWk1NElDc2djVEV1ZVNBcUlIRXlMbmtnS3lCeE1TNTZJQ29nY1RJdWVpQXJJSEV4TG5jZ0tpQnhNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWhqYjNOSVlXeG1WR2hsZEdFcElENDlJREV1TUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmg1ZW5jZ1BTQnhNUzU0ZVhwM08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR2hoYkdaVWFHVjBZU0E5SUUxaGRHZ3VZV052Y3loamIzTklZV3htVkdobGRHRXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnphVzVJWVd4bVZHaGxkR0VnUFNCTllYUm9Mbk54Y25Rb01TNHdJQzBnWTI5elNHRnNabFJvWlhSaElDb2dZMjl6U0dGc1psUm9aWFJoS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vYzJsdVNHRnNabFJvWlhSaEtTQThJREF1TURBeEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIRXhMbmdnS2lBd0xqVWdLeUJ4TWk1NElDb2dNQzQxTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExua2dQU0J4TVM1NUlDb2dNQzQxSUNzZ2NUSXVlU0FxSURBdU5UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2NURXVlaUFxSURBdU5TQXJJSEV5TG5vZ0tpQXdMalU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSEV4TG5jZ0tpQXdMalVnS3lCeE1pNTNJQ29nTUM0MU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEpoZEdsdlFTQTlJRTFoZEdndWMybHVLQ2d4SUMwZ2RHbHRaU2tnS2lCb1lXeG1WR2hsZEdFcElDOGdjMmx1U0dGc1psUm9aWFJoTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5WVhScGIwSWdQU0JOWVhSb0xuTnBiaWgwYVcxbElDb2dhR0ZzWmxSb1pYUmhLU0F2SUhOcGJraGhiR1pVYUdWMFlUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0J4TVM1NElDb2djbUYwYVc5QklDc2djVEl1ZUNBcUlISmhkR2x2UWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQnhNUzU1SUNvZ2NtRjBhVzlCSUNzZ2NUSXVlU0FxSUhKaGRHbHZRanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbm9nUFNCeE1TNTZJQ29nY21GMGFXOUJJQ3NnY1RJdWVpQXFJSEpoZEdsdlFqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0J4TVM1M0lDb2djbUYwYVc5QklDc2djVEl1ZHlBcUlISmhkR2x2UWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExtWnliMjFCZUdselFXNW5iR1VnUFNCbWRXNWpkR2x2YmlBb1lYaHBjeXdnWVc1bmJHVXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCeGRXRjBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR0Z1WjJ4bElDbzlJREF1TlR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emFXNG9ZVzVuYkdVcE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJR0Y0YVhNdWVDQXFJSE5wYmp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5rZ1BTQmhlR2x6TG5rZ0tpQnphVzQ3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ1lYaHBjeTU2SUNvZ2MybHVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUUxaGRHZ3VZMjl6S0dGdVoyeGxLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG1sa1pXNTBhWFI1SUQwZ2JtVjNJSEYxWVhRb0tTNXpaWFJKWkdWdWRHbDBlU2dwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEYxWVhRN1hISmNibjBvS1NrN1hISmNibVY0Y0c5eWRITXVaR1ZtWVhWc2RDQTlJSEYxWVhRN1hISmNiaTh2SXlCemIzVnlZMlZOWVhCd2FXNW5WVkpNUFhGMVlYUXVhbk11YldGd0lpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjY2x4dWRtRnlJRzFoZERSZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDIxaGREUmNJaWs3WEhKY2JuWmhjaUJ4ZFdGMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5eGRXRjBYQ0lwTzF4eVhHNTJZWElnZG1Wak1sOHhJRDBnY21WeGRXbHlaU2hjSWk0dmRtVmpNbHdpS1R0Y2NseHVkbUZ5SUhabFl6TmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzWmxZek5jSWlrN1hISmNiblpoY2lCamIyNXpkR0Z1ZEhOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDJOdmJuTjBZVzUwYzF3aUtUdGNjbHh1ZG1GeUlHMWhkRE1nUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCdFlYUXpLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTZzVLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kbUZzZFdWeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibWwwS0haaGJIVmxjeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1WVhRZ1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iYVc1a1pYaGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExtbHVhWFFnUFNCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0E1T3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQjJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExuSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z09Uc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTXk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2diV0YwTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEazdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMblpoYkhWbGMxdHBYU0E5SUhSb2FYTXVkbUZzZFdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNWhiR3dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURrN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaFcybGRJRDBnZEdocGN5NTJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1lYUmhPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExuSnZkeUE5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNvZ015QXJJREJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURNZ0t5QXhYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUF6SUNzZ01sMHNYSEpjYmlBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzVqYjJ3Z1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRJQ3NnTmwwc1hISmNiaUFnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNWxjWFZoYkhNZ1BTQm1kVzVqZEdsdmJpQW9iV0YwY21sNExDQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2h5WlhOb2IyeGtJRDA5UFNCMmIybGtJREFwSUhzZ2RHaHlaWE5vYjJ4a0lEMGdZMjl1YzNSaGJuUnpYekV1WlhCemFXeHZianNnZlZ4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dPVHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWgwYUdsekxuWmhiSFZsYzF0cFhTQXRJRzFoZEhKcGVDNWhkQ2hwS1NrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1a1pYUmxjbTFwYm1GdWRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBd0lEMGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01TQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ESWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXdJRDBnZEdocGN5NTJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNU0E5SUhSb2FYTXVkbUZzZFdWeld6UmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVElnUFNCMGFHbHpMblpoYkhWbGMxczFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl3SUQwZ2RHaHBjeTUyWVd4MVpYTmJObDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlIUm9hWE11ZG1Gc2RXVnpXemRkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpJZ1BTQjBhR2x6TG5aaGJIVmxjMXM0WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1ERWdQU0JoTWpJZ0tpQmhNVEVnTFNCaE1USWdLaUJoTWpFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRERXhJRDBnTFdFeU1pQXFJR0V4TUNBcklHRXhNaUFxSUdFeU1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNakVnUFNCaE1qRWdLaUJoTVRBZ0xTQmhNVEVnS2lCaE1qQTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR0V3TUNBcUlHUmxkREF4SUNzZ1lUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF5TVR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzV6WlhSSlpHVnVkR2wwZVNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SURFN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5GMGdQU0F4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelZkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3poZElEMGdNVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1MGNtRnVjM0J2YzJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFJsYlhBd01TQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMFpXMXdNRElnUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0RFeUlEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIUm9hWE11ZG1Gc2RXVnpXelpkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RHVnRjREF4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelZkSUQwZ2RHaHBjeTUyWVd4MVpYTmJOMTA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCMFpXMXdNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNCMFpXMXdNVEk3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTXk1d2NtOTBiM1I1Y0dVdWFXNTJaWEp6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6ZGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNaklnS2lCaE1URWdMU0JoTVRJZ0tpQmhNakU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdMV0V5TWlBcUlHRXhNQ0FySUdFeE1pQXFJR0V5TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1qRWdQU0JoTWpFZ0tpQmhNVEFnTFNCaE1URWdLaUJoTWpBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRDQTlJR0V3TUNBcUlHUmxkREF4SUNzZ1lUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF5TVR0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1YwSUQwZ01TNHdJQzhnWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdaR1YwTURFZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNBb0xXRXlNaUFxSUdFd01TQXJJR0V3TWlBcUlHRXlNU2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdQU0FvWVRFeUlDb2dZVEF4SUMwZ1lUQXlJQ29nWVRFeEtTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFNBOUlHUmxkREV4SUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRJRDBnS0dFeU1pQXFJR0V3TUNBdElHRXdNaUFxSUdFeU1Da2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTlYwZ1BTQW9MV0V4TWlBcUlHRXdNQ0FySUdFd01pQXFJR0V4TUNrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCa1pYUXlNU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJQ2d0WVRJeElDb2dZVEF3SUNzZ1lUQXhJQ29nWVRJd0tTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM0WFNBOUlDaGhNVEVnS2lCaE1EQWdMU0JoTURFZ0tpQmhNVEFwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG0xMWJIUnBjR3g1SUQwZ1puVnVZM1JwYjI0Z0tHMWhkSEpwZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1EQWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXhJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEFnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpBZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeElEMGdkR2hwY3k1MllXeDFaWE5iTjEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1pQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1EQWdQU0J0WVhSeWFYZ3VZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJRzFoZEhKcGVDNWhkQ2d4S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBeUlEMGdiV0YwY21sNExtRjBLRElwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRBZ1BTQnRZWFJ5YVhndVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l4TVNBOUlHMWhkSEpwZUM1aGRDZzBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakV5SUQwZ2JXRjBjbWw0TG1GMEtEVXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNakFnUFNCdFlYUnlhWGd1WVhRb05pazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXlNU0E5SUcxaGRISnBlQzVoZENnM0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXlJRDBnYldGMGNtbDRMbUYwS0RncE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdZakF3SUNvZ1lUQXdJQ3NnWWpBeElDb2dZVEV3SUNzZ1lqQXlJQ29nWVRJd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdZakF3SUNvZ1lUQXhJQ3NnWWpBeElDb2dZVEV4SUNzZ1lqQXlJQ29nWVRJeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdZakF3SUNvZ1lUQXlJQ3NnWWpBeElDb2dZVEV5SUNzZ1lqQXlJQ29nWVRJeU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdZakV3SUNvZ1lUQXdJQ3NnWWpFeElDb2dZVEV3SUNzZ1lqRXlJQ29nWVRJd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElEMGdZakV3SUNvZ1lUQXhJQ3NnWWpFeElDb2dZVEV4SUNzZ1lqRXlJQ29nWVRJeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZElEMGdZakV3SUNvZ1lUQXlJQ3NnWWpFeElDb2dZVEV5SUNzZ1lqRXlJQ29nWVRJeU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3paZElEMGdZakl3SUNvZ1lUQXdJQ3NnWWpJeElDb2dZVEV3SUNzZ1lqSXlJQ29nWVRJd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pkZElEMGdZakl3SUNvZ1lUQXhJQ3NnWWpJeElDb2dZVEV4SUNzZ1lqSXlJQ29nWVRJeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3poZElEMGdZakl3SUNvZ1lUQXlJQ3NnWWpJeElDb2dZVEV5SUNzZ1lqSXlJQ29nWVRJeU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRETXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVWbVZqTWlBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NGVTQTlJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN3WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzelhTQXJJSFJvYVhNdWRtRnNkV1Z6V3paZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlQ0FxSUhSb2FYTXVkbUZzZFdWeld6RmRJQ3NnZVNBcUlIUm9hWE11ZG1Gc2RXVnpXelJkSUNzZ2RHaHBjeTUyWVd4MVpYTmJOMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJSFpsWXpKZk1TNWtaV1poZFd4MEtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3dYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFNBcklIUm9hWE11ZG1Gc2RXVnpXelpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VDQXFJSFJvYVhNdWRtRnNkV1Z6V3pGZElDc2dlU0FxSUhSb2FYTXVkbUZzZFdWeld6UmRJQ3NnZEdocGN5NTJZV3gxWlhOYk4xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlVlpsWXpNZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQnlaWE4xYkhRcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG9nUFNCMlpXTjBiM0l1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNTRlWG9nUFNCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1GMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJNMTBnS3lCNklDb2dkR2hwY3k1MllXeDFaWE5iTmwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1WMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJORjBnS3lCNklDb2dkR2hwY3k1MllXeDFaWE5iTjEwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1sMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS3lCNklDb2dkR2hwY3k1MllXeDFaWE5iT0Ywc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUhabFl6TmZNUzVrWldaaGRXeDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN3WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzelhTQXJJSG9nS2lCMGFHbHpMblpoYkhWbGMxczJYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN4WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzMFhTQXJJSG9nS2lCMGFHbHpMblpoYkhWbGMxczNYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN5WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzMVhTQXJJSG9nS2lCMGFHbHpMblpoYkhWbGMxczRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG5SdlRXRjBOQ0E5SUdaMWJtTjBhVzl1SUNoeVpYTjFiSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXBibWwwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTmwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMzWFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURFc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmxiSE5sSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCdFlYUTBYekV1WkdWbVlYVnNkQ2hiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F4TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTXk1d2NtOTBiM1I1Y0dVdWRHOVJkV0YwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnRNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRzB3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ0TVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYlRFeElEMGdkR2hwY3k1MllXeDFaWE5iTkYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUcweE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pWZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdE1qQWdQU0IwYUdsekxuWmhiSFZsYzFzMlhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHMHlNaUE5SUhSb2FYTXVkbUZzZFdWeld6aGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQm1iM1Z5V0ZOeGRXRnlaV1JOYVc1MWN6RWdQU0J0TURBZ0xTQnRNVEVnTFNCdE1qSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHWnZkWEpaVTNGMVlYSmxaRTFwYm5Wek1TQTlJRzB4TVNBdElHMHdNQ0F0SUcweU1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1ptOTFjbHBUY1hWaGNtVmtUV2x1ZFhNeElEMGdiVEl5SUMwZ2JUQXdJQzBnYlRFeE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCbWIzVnlWMU54ZFdGeVpXUk5hVzUxY3pFZ1BTQnRNREFnS3lCdE1URWdLeUJ0TWpJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdKcFoyZGxjM1JKYm1SbGVDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1p2ZFhKQ2FXZG5aWE4wVTNGMVlYSmxaRTFwYm5Wek1TQTlJR1p2ZFhKWFUzRjFZWEpsWkUxcGJuVnpNVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9abTkxY2xoVGNYVmhjbVZrVFdsdWRYTXhJRDRnWm05MWNrSnBaMmRsYzNSVGNYVmhjbVZrVFdsdWRYTXhLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1p2ZFhKQ2FXZG5aWE4wVTNGMVlYSmxaRTFwYm5Wek1TQTlJR1p2ZFhKWVUzRjFZWEpsWkUxcGJuVnpNVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZbWxuWjJWemRFbHVaR1Y0SUQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1p2ZFhKWlUzRjFZWEpsWkUxcGJuVnpNU0ErSUdadmRYSkNhV2RuWlhOMFUzRjFZWEpsWkUxcGJuVnpNU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JtYjNWeVFtbG5aMlZ6ZEZOeGRXRnlaV1JOYVc1MWN6RWdQU0JtYjNWeVdWTnhkV0Z5WldSTmFXNTFjekU3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR0pwWjJkbGMzUkpibVJsZUNBOUlESTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2htYjNWeVdsTnhkV0Z5WldSTmFXNTFjekVnUGlCbWIzVnlRbWxuWjJWemRGTnhkV0Z5WldSTmFXNTFjekVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWm05MWNrSnBaMmRsYzNSVGNYVmhjbVZrVFdsdWRYTXhJRDBnWm05MWNscFRjWFZoY21Wa1RXbHVkWE14TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JpYVdkblpYTjBTVzVrWlhnZ1BTQXpPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnWW1sbloyVnpkRlpoYkNBOUlFMWhkR2d1YzNGeWRDaG1iM1Z5UW1sbloyVnpkRk54ZFdGeVpXUk5hVzUxY3pFZ0t5QXhLU0FxSURBdU5UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JYVnNkQ0E5SURBdU1qVWdMeUJpYVdkblpYTjBWbUZzTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5WlhOMWJIUWdQU0J1WlhjZ2NYVmhkRjh4TG1SbFptRjFiSFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQnpkMmwwWTJnZ0tHSnBaMmRsYzNSSmJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEQTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVkeUE5SUdKcFoyZGxjM1JXWVd3N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVDQTlJQ2h0TVRJZ0xTQnRNakVwSUNvZ2JYVnNkRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzU1SUQwZ0tHMHlNQ0F0SUcwd01pa2dLaUJ0ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MExub2dQU0FvYlRBeElDMGdiVEV3S1NBcUlHMTFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBeE9seHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MExuY2dQU0FvYlRFeUlDMGdiVEl4S1NBcUlHMTFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZUNBOUlHSnBaMmRsYzNSV1lXdzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlU0E5SUNodE1ERWdLeUJ0TVRBcElDb2diWFZzZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NklEMGdLRzB5TUNBcklHMHdNaWtnS2lCdGRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnTWpwY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1M0lEMGdLRzB5TUNBdElHMHdNaWtnS2lCdGRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemRXeDBMbmdnUFNBb2JUQXhJQ3NnYlRFd0tTQXFJRzExYkhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVTQTlJR0pwWjJkbGMzUldZV3c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZWlBOUlDaHRNVElnS3lCdE1qRXBJQ29nYlhWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRE02WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZHlBOUlDaHRNREVnTFNCdE1UQXBJQ29nYlhWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNTRJRDBnS0cweU1DQXJJRzB3TWlrZ0tpQnRkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5rZ1BTQW9iVEV5SUNzZ2JUSXhLU0FxSUcxMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlaUE5SUdKcFoyZGxjM1JXWVd3N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1eWIzUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1lXNW5iR1VzSUdGNGFYTXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUdGNGFYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUdGNGFYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUdGNGFYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiR1Z1WjNSb0lEMGdUV0YwYUM1emNYSjBLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGc1pXNW5kR2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHNaVzVuZEdnZ0lUMDlJREVwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYkdWdVozUm9JRDBnTVNBdklHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZUNBcVBTQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhrZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNklDbzlJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSE1nUFNCTllYUm9Mbk5wYmloaGJtZHNaU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR01nUFNCTllYUm9MbU52Y3loaGJtZHNaU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFFnUFNBeExqQWdMU0JqTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURBZ1BTQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBeElEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01pQTlJSFJvYVhNdWRtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UQWdQU0IwYUdsekxuWmhiSFZsYzFzMFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXhJRDBnZEdocGN5NTJZV3gxWlhOYk5WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNaUE5SUhSb2FYTXVkbUZzZFdWeld6WmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakFnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl4SUQwZ2RHaHBjeTUyWVd4MVpYTmJPVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekV3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBd0lEMGdlQ0FxSUhnZ0tpQjBJQ3NnWXp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBeElEMGdlU0FxSUhnZ0tpQjBJQ3NnZWlBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXdNaUE5SUhvZ0tpQjRJQ29nZENBdElIa2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRBZ1BTQjRJQ29nZVNBcUlIUWdMU0I2SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXhJRDBnZVNBcUlIa2dLaUIwSUNzZ1l6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXlJRDBnZWlBcUlIa2dLaUIwSUNzZ2VDQXFJSE03WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TUNBOUlIZ2dLaUI2SUNvZ2RDQXJJSGtnS2lCek8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qRWdQU0I1SUNvZ2VpQXFJSFFnTFNCNElDb2djenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl5SUQwZ2VpQXFJSG9nS2lCMElDc2dZenRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUdFd01DQXFJR0l3TUNBcklHRXhNQ0FxSUdJd01TQXJJR0V5TUNBcUlHSXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUdFd01TQXFJR0l3TUNBcklHRXhNU0FxSUdJd01TQXJJR0V5TVNBcUlHSXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUdFd01pQXFJR0l3TUNBcklHRXhNaUFxSUdJd01TQXJJR0V5TWlBcUlHSXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SUdFd01DQXFJR0l4TUNBcklHRXhNQ0FxSUdJeE1TQXJJR0V5TUNBcUlHSXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU0E5SUdFd01TQXFJR0l4TUNBcklHRXhNU0FxSUdJeE1TQXJJR0V5TVNBcUlHSXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczFYU0E5SUdFd01pQXFJR0l4TUNBcklHRXhNaUFxSUdJeE1TQXJJR0V5TWlBcUlHSXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczJYU0E5SUdFd01DQXFJR0l5TUNBcklHRXhNQ0FxSUdJeU1TQXJJR0V5TUNBcUlHSXlNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczNYU0E5SUdFd01TQXFJR0l5TUNBcklHRXhNU0FxSUdJeU1TQXJJR0V5TVNBcUlHSXlNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU0E5SUdFd01pQXFJR0l5TUNBcklHRXhNaUFxSUdJeU1TQXJJR0V5TWlBcUlHSXlNanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIyUjFZM1FnUFNCbWRXNWpkR2x2YmlBb2JURXNJRzB5TENCeVpYTjFiSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBd0lEMGdiVEV1WVhRb01DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNU0E5SUcweExtRjBLREVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQnRNUzVoZENneUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXdJRDBnYlRFdVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TVNBOUlHMHhMbUYwS0RRcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0J0TVM1aGRDZzFLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl3SUQwZ2JURXVZWFFvTmlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJRzB4TG1GMEtEY3BPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCdE1TNWhkQ2c0S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBd0lEMGdiVEl1WVhRb01DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXdNU0E5SUcweUxtRjBLREVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTURJZ1BTQnRNaTVoZENneUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXdJRDBnYlRJdVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l4TVNBOUlHMHlMbUYwS0RRcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1USWdQU0J0TWk1aGRDZzFLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl3SUQwZ2JUSXVZWFFvTmlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJeU1TQTlJRzB5TG1GMEtEY3BPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNaklnUFNCdE1pNWhkQ2c0S1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXBibWwwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01DQXJJR0l3TVNBcUlHRXhNQ0FySUdJd01pQXFJR0V5TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01TQXJJR0l3TVNBcUlHRXhNU0FySUdJd01pQXFJR0V5TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01pQXJJR0l3TVNBcUlHRXhNaUFySUdJd01pQXFJR0V5TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01DQXJJR0l4TVNBcUlHRXhNQ0FySUdJeE1pQXFJR0V5TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01TQXJJR0l4TVNBcUlHRXhNU0FySUdJeE1pQXFJR0V5TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01pQXJJR0l4TVNBcUlHRXhNaUFySUdJeE1pQXFJR0V5TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01DQXJJR0l5TVNBcUlHRXhNQ0FySUdJeU1pQXFJR0V5TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01TQXJJR0l5TVNBcUlHRXhNU0FySUdJeU1pQXFJR0V5TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01pQXJJR0l5TVNBcUlHRXhNaUFySUdJeU1pQXFJR0V5TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFNrN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUcxaGRETW9XMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF3SUNzZ1lqQXhJQ29nWVRFd0lDc2dZakF5SUNvZ1lUSXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF4SUNzZ1lqQXhJQ29nWVRFeElDc2dZakF5SUNvZ1lUSXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF5SUNzZ1lqQXhJQ29nWVRFeUlDc2dZakF5SUNvZ1lUSXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF3SUNzZ1lqRXhJQ29nWVRFd0lDc2dZakV5SUNvZ1lUSXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF4SUNzZ1lqRXhJQ29nWVRFeElDc2dZakV5SUNvZ1lUSXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF5SUNzZ1lqRXhJQ29nWVRFeUlDc2dZakV5SUNvZ1lUSXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF3SUNzZ1lqSXhJQ29nWVRFd0lDc2dZakl5SUNvZ1lUSXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF4SUNzZ1lqSXhJQ29nWVRFeElDc2dZakl5SUNvZ1lUSXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF5SUNzZ1lqSXhJQ29nWVRFeUlDc2dZakl5SUNvZ1lUSXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTVwWkdWdWRHbDBlU0E5SUc1bGR5QnRZWFF6S0NrdWMyVjBTV1JsYm5ScGRIa29LVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnRZWFF6TzF4eVhHNTlLQ2twTzF4eVhHNWxlSEJ2Y25SekxtUmxabUYxYkhRZ1BTQnRZWFF6TzF4eVhHNHZMeU1nYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDF0WVhRekxtcHpMbTFoY0NJc0lsd2lkWE5sSUhOMGNtbGpkRndpTzF4eVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYSEpjYm5aaGNpQnRZWFF6WHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl0WVhRelhDSXBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dWRtRnlJSFpsWXpSZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDNabFl6UmNJaWs3WEhKY2JuWmhjaUJqYjI1emRHRnVkSE5mTVNBOUlISmxjWFZwY21Vb1hDSXVMMk52Ym5OMFlXNTBjMXdpS1R0Y2NseHVkbUZ5SUcxaGREUWdQU0F2S2lvZ1FHTnNZWE56SUNvdklDaG1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ0WVhRMEtIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6SUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNneE5pazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsY3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNXBkQ2gyWVd4MVpYTXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbUYwSUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1cGJtbDBJRDBnWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwWFNBOUlIWmhiSFZsYzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdWNtVnpaWFFnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2diV0YwTkNncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElERTJPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzUyWVd4MVpYTmJhVjBnUFNCMGFHbHpMblpoYkhWbGMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVZV3hzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtZWFJoSUQwZ1cxMDdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSaGRHRmJhVjBnUFNCMGFHbHpMblpoYkhWbGMxdHBYVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmhkR0U3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVjbTkzSUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhnZ0tpQTBJQ3NnTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNvZ05DQXJJREZkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURRZ0t5QXlYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUEwSUNzZ00xMHNYSEpjYmlBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzVqYjJ3Z1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dORjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRJQ3NnT0Ywc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNzZ01USmRMRnh5WEc0Z0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1WlhGMVlXeHpJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ3dnZEdoeVpYTm9iMnhrS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0hSb2NtVnphRzlzWkNBOVBUMGdkbTlwWkNBd0tTQjdJSFJvY21WemFHOXNaQ0E5SUdOdmJuTjBZVzUwYzE4eExtVndjMmxzYjI0N0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURFMk95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektIUm9hWE11ZG1Gc2RXVnpXMmxkSUMwZ2JXRjBjbWw0TG1GMEtHa3BLU0ErSUhSb2NtVnphRzlzWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbVJsZEdWeWJXbHVZVzUwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURNZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTkYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pWZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMlhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXpJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNQ0E5SUhSb2FYTXVkbUZzZFdWeld6aGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCMGFHbHpMblpoYkhWbGMxczVYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVEJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpNZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek1DQTlJSFJvYVhNdWRtRnNkV1Z6V3pFeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUTXhJRDBnZEdocGN5NTJZV3gxWlhOYk1UTmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNeklnUFNCMGFHbHpMblpoYkhWbGMxc3hORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V6TXlBOUlIUm9hWE11ZG1Gc2RXVnpXekUxWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1EQWdQU0JoTURBZ0tpQmhNVEVnTFNCaE1ERWdLaUJoTVRBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQXhJRDBnWVRBd0lDb2dZVEV5SUMwZ1lUQXlJQ29nWVRFd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdNaUE5SUdFd01DQXFJR0V4TXlBdElHRXdNeUFxSUdFeE1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRE1nUFNCaE1ERWdLaUJoTVRJZ0xTQmhNRElnS2lCaE1URTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREEwSUQwZ1lUQXhJQ29nWVRFeklDMGdZVEF6SUNvZ1lURXhPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TlNBOUlHRXdNaUFxSUdFeE15QXRJR0V3TXlBcUlHRXhNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURZZ1BTQmhNakFnS2lCaE16RWdMU0JoTWpFZ0tpQmhNekE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBM0lEMGdZVEl3SUNvZ1lUTXlJQzBnWVRJeUlDb2dZVE13TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd09DQTlJR0V5TUNBcUlHRXpNeUF0SUdFeU15QXFJR0V6TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1Ea2dQU0JoTWpFZ0tpQmhNeklnTFNCaE1qSWdLaUJoTXpFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRERXdJRDBnWVRJeElDb2dZVE16SUMwZ1lUSXpJQ29nWVRNeE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXhNU0E5SUdFeU1pQXFJR0V6TXlBdElHRXlNeUFxSUdFek1qdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdLR1JsZERBd0lDb2daR1YwTVRFZ0xTQmtaWFF3TVNBcUlHUmxkREV3SUNzZ1pHVjBNRElnS2lCa1pYUXdPU0FySUdSbGREQXpJQ29nWkdWME1EZ2dMU0JrWlhRd05DQXFJR1JsZERBM0lDc2daR1YwTURVZ0tpQmtaWFF3TmlrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1YzJWMFNXUmxiblJwZEhrZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNBeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMxWFNBOUlERTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPVjBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFd1hTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEZkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1sMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV6WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UUmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TlYwZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG5SeVlXNXpjRzl6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0RBeElEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSbGJYQXdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjBaVzF3TURNZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZEdWdGNERXlJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmxiWEF4TXlBOUlIUm9hWE11ZG1Gc2RXVnpXemRkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlcxd01qTWdQU0IwYUdsekxuWmhiSFZsYzFzeE1WMDdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0IwYUdsekxuWmhiSFZsYzFzMFhUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdkR2hwY3k1MllXeDFaWE5iTVRKZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElEMGdkR1Z0Y0RBeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3paZElEMGdkR2hwY3k1MllXeDFaWE5iT1YwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTjEwZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TTEwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iT0YwZ1BTQjBaVzF3TURJN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iT1YwZ1BTQjBaVzF3TVRJN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRGZElEMGdkR2hwY3k1MllXeDFaWE5iTVRSZE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFeVhTQTlJSFJsYlhBd016dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE0xMGdQU0IwWlcxd01UTTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UUmRJRDBnZEdWdGNESXpPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG1sdWRtVnljMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNQ0E5SUhSb2FYTXVkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREVnUFNCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TXlBOUlIUm9hWE11ZG1Gc2RXVnpXek5kTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXMwWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3paZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UTWdQU0IwYUdsekxuWmhiSFZsYzFzM1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnZEdocGN5NTJZV3gxWlhOYk9GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6bGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxc3hNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TXlBOUlIUm9hWE11ZG1Gc2RXVnpXekV4WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNd0lEMGdkR2hwY3k1MllXeDFaWE5iTVRKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16RWdQU0IwYUdsekxuWmhiSFZsYzFzeE0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNaUE5SUhSb2FYTXVkbUZzZFdWeld6RTBYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE16SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVFZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd01DQTlJR0V3TUNBcUlHRXhNU0F0SUdFd01TQXFJR0V4TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1ERWdQU0JoTURBZ0tpQmhNVElnTFNCaE1ESWdLaUJoTVRBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQXlJRDBnWVRBd0lDb2dZVEV6SUMwZ1lUQXpJQ29nWVRFd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdNeUE5SUdFd01TQXFJR0V4TWlBdElHRXdNaUFxSUdFeE1UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRFFnUFNCaE1ERWdLaUJoTVRNZ0xTQmhNRE1nS2lCaE1URTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREExSUQwZ1lUQXlJQ29nWVRFeklDMGdZVEF6SUNvZ1lURXlPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TmlBOUlHRXlNQ0FxSUdFek1TQXRJR0V5TVNBcUlHRXpNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURjZ1BTQmhNakFnS2lCaE16SWdMU0JoTWpJZ0tpQmhNekE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBNElEMGdZVEl3SUNvZ1lUTXpJQzBnWVRJeklDb2dZVE13TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd09TQTlJR0V5TVNBcUlHRXpNaUF0SUdFeU1pQXFJR0V6TVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1UQWdQU0JoTWpFZ0tpQmhNek1nTFNCaE1qTWdLaUJoTXpFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRERXhJRDBnWVRJeUlDb2dZVE16SUMwZ1lUSXpJQ29nWVRNeU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUWdQU0FvWkdWME1EQWdLaUJrWlhReE1TQXRJR1JsZERBeElDb2daR1YwTVRBZ0t5QmtaWFF3TWlBcUlHUmxkREE1SUNzZ1pHVjBNRE1nS2lCa1pYUXdPQ0F0SUdSbGREQTBJQ29nWkdWME1EY2dLeUJrWlhRd05TQXFJR1JsZERBMktUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWMElEMGdNUzR3SUM4Z1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnS0dFeE1TQXFJR1JsZERFeElDMGdZVEV5SUNvZ1pHVjBNVEFnS3lCaE1UTWdLaUJrWlhRd09Ta2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQW9MV0V3TVNBcUlHUmxkREV4SUNzZ1lUQXlJQ29nWkdWME1UQWdMU0JoTURNZ0tpQmtaWFF3T1NrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNBb1lUTXhJQ29nWkdWME1EVWdMU0JoTXpJZ0tpQmtaWFF3TkNBcklHRXpNeUFxSUdSbGREQXpLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJQ2d0WVRJeElDb2daR1YwTURVZ0t5QmhNaklnS2lCa1pYUXdOQ0F0SUdFeU15QXFJR1JsZERBektTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMwWFNBOUlDZ3RZVEV3SUNvZ1pHVjBNVEVnS3lCaE1USWdLaUJrWlhRd09DQXRJR0V4TXlBcUlHUmxkREEzS1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczFYU0E5SUNoaE1EQWdLaUJrWlhReE1TQXRJR0V3TWlBcUlHUmxkREE0SUNzZ1lUQXpJQ29nWkdWME1EY3BJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3paZElEMGdLQzFoTXpBZ0tpQmtaWFF3TlNBcklHRXpNaUFxSUdSbGREQXlJQzBnWVRNeklDb2daR1YwTURFcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUQwZ0tHRXlNQ0FxSUdSbGREQTFJQzBnWVRJeUlDb2daR1YwTURJZ0t5QmhNak1nS2lCa1pYUXdNU2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9GMGdQU0FvWVRFd0lDb2daR1YwTVRBZ0xTQmhNVEVnS2lCa1pYUXdPQ0FySUdFeE15QXFJR1JsZERBMktTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM1WFNBOUlDZ3RZVEF3SUNvZ1pHVjBNVEFnS3lCaE1ERWdLaUJrWlhRd09DQXRJR0V3TXlBcUlHUmxkREEyS1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNRjBnUFNBb1lUTXdJQ29nWkdWME1EUWdMU0JoTXpFZ0tpQmtaWFF3TWlBcklHRXpNeUFxSUdSbGREQXdLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1WMGdQU0FvTFdFeU1DQXFJR1JsZERBMElDc2dZVEl4SUNvZ1pHVjBNRElnTFNCaE1qTWdLaUJrWlhRd01Da2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRKZElEMGdLQzFoTVRBZ0tpQmtaWFF3T1NBcklHRXhNU0FxSUdSbGREQTNJQzBnWVRFeUlDb2daR1YwTURZcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV6WFNBOUlDaGhNREFnS2lCa1pYUXdPU0F0SUdFd01TQXFJR1JsZERBM0lDc2dZVEF5SUNvZ1pHVjBNRFlwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RTBYU0E5SUNndFlUTXdJQ29nWkdWME1ETWdLeUJoTXpFZ0tpQmtaWFF3TVNBdElHRXpNaUFxSUdSbGREQXdLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5WMGdQU0FvWVRJd0lDb2daR1YwTURNZ0xTQmhNakVnS2lCa1pYUXdNU0FySUdFeU1pQXFJR1JsZERBd0tTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNXRkV3gwYVhCc2VTQTlJR1oxYm1OMGFXOXVJQ2h0WVhSeWFYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBeklEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1DQTlJSFJvYVhNdWRtRnNkV1Z6V3pSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1URWdQU0IwYUdsekxuWmhiSFZsYzFzMVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXlJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNeUE5SUhSb2FYTXVkbUZzZFdWeld6ZGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakFnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl4SUQwZ2RHaHBjeTUyWVd4MVpYTmJPVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekV3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeklEMGdkR2hwY3k1MllXeDFaWE5iTVRGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16QWdQU0IwYUdsekxuWmhiSFZsYzFzeE1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNU0E5SUhSb2FYTXVkbUZzZFdWeld6RXpYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE15SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVFJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTXpNZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd0lEMGdiV0YwY21sNExtRjBLREFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVNBOUlHMWhkSEpwZUM1aGRDZ3hLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZaklnUFNCdFlYUnlhWGd1WVhRb01pazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXpJRDBnYldGMGNtbDRMbUYwS0RNcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdZakFnS2lCaE1EQWdLeUJpTVNBcUlHRXhNQ0FySUdJeUlDb2dZVEl3SUNzZ1lqTWdLaUJoTXpBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQmlNQ0FxSUdFd01TQXJJR0l4SUNvZ1lURXhJQ3NnWWpJZ0tpQmhNakVnS3lCaU15QXFJR0V6TVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlHSXdJQ29nWVRBeUlDc2dZakVnS2lCaE1USWdLeUJpTWlBcUlHRXlNaUFySUdJeklDb2dZVE15TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ1lqQWdLaUJoTURNZ0t5QmlNU0FxSUdFeE15QXJJR0l5SUNvZ1lUSXpJQ3NnWWpNZ0tpQmhNek03WEhKY2JpQWdJQ0FnSUNBZ1lqQWdQU0J0WVhSeWFYZ3VZWFFvTkNrN1hISmNiaUFnSUNBZ0lDQWdZakVnUFNCdFlYUnlhWGd1WVhRb05TazdYSEpjYmlBZ0lDQWdJQ0FnWWpJZ1BTQnRZWFJ5YVhndVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ1lqTWdQU0J0WVhSeWFYZ3VZWFFvTnlrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTkYwZ1BTQmlNQ0FxSUdFd01DQXJJR0l4SUNvZ1lURXdJQ3NnWWpJZ0tpQmhNakFnS3lCaU15QXFJR0V6TUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMxWFNBOUlHSXdJQ29nWVRBeElDc2dZakVnS2lCaE1URWdLeUJpTWlBcUlHRXlNU0FySUdJeklDb2dZVE14TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelpkSUQwZ1lqQWdLaUJoTURJZ0t5QmlNU0FxSUdFeE1pQXJJR0l5SUNvZ1lUSXlJQ3NnWWpNZ0tpQmhNekk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNCaU1DQXFJR0V3TXlBcklHSXhJQ29nWVRFeklDc2dZaklnS2lCaE1qTWdLeUJpTXlBcUlHRXpNenRjY2x4dUlDQWdJQ0FnSUNCaU1DQTlJRzFoZEhKcGVDNWhkQ2c0S1R0Y2NseHVJQ0FnSUNBZ0lDQmlNU0E5SUcxaGRISnBlQzVoZENnNUtUdGNjbHh1SUNBZ0lDQWdJQ0JpTWlBOUlHMWhkSEpwZUM1aGRDZ3hNQ2s3WEhKY2JpQWdJQ0FnSUNBZ1lqTWdQU0J0WVhSeWFYZ3VZWFFvTVRFcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3poZElEMGdZakFnS2lCaE1EQWdLeUJpTVNBcUlHRXhNQ0FySUdJeUlDb2dZVEl3SUNzZ1lqTWdLaUJoTXpBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iT1YwZ1BTQmlNQ0FxSUdFd01TQXJJR0l4SUNvZ1lURXhJQ3NnWWpJZ0tpQmhNakVnS3lCaU15QXFJR0V6TVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TUYwZ1BTQmlNQ0FxSUdFd01pQXJJR0l4SUNvZ1lURXlJQ3NnWWpJZ0tpQmhNaklnS3lCaU15QXFJR0V6TWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TVYwZ1BTQmlNQ0FxSUdFd015QXJJR0l4SUNvZ1lURXpJQ3NnWWpJZ0tpQmhNak1nS3lCaU15QXFJR0V6TXp0Y2NseHVJQ0FnSUNBZ0lDQmlNQ0E5SUcxaGRISnBlQzVoZENneE1pazdYSEpjYmlBZ0lDQWdJQ0FnWWpFZ1BTQnRZWFJ5YVhndVlYUW9NVE1wTzF4eVhHNGdJQ0FnSUNBZ0lHSXlJRDBnYldGMGNtbDRMbUYwS0RFMEtUdGNjbHh1SUNBZ0lDQWdJQ0JpTXlBOUlHMWhkSEpwZUM1aGRDZ3hOU2s3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEpkSUQwZ1lqQWdLaUJoTURBZ0t5QmlNU0FxSUdFeE1DQXJJR0l5SUNvZ1lUSXdJQ3NnWWpNZ0tpQmhNekE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVE5kSUQwZ1lqQWdLaUJoTURFZ0t5QmlNU0FxSUdFeE1TQXJJR0l5SUNvZ1lUSXhJQ3NnWWpNZ0tpQmhNekU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVFJkSUQwZ1lqQWdLaUJoTURJZ0t5QmlNU0FxSUdFeE1pQXJJR0l5SUNvZ1lUSXlJQ3NnWWpNZ0tpQmhNekk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVFZkSUQwZ1lqQWdLaUJoTURNZ0t5QmlNU0FxSUdFeE15QXJJR0l5SUNvZ1lUSXpJQ3NnWWpNZ0tpQmhNek03WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdWJYVnNkR2x3YkhsV1pXTXpJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2RtVmpNMTh4TG1SbFptRjFiSFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQXFJSGdnS3lCMGFHbHpMblpoYkhWbGMxczBYU0FxSUhrZ0t5QjBhR2x6TG5aaGJIVmxjMXM0WFNBcUlIb2dLeUIwYUdsekxuWmhiSFZsYzFzeE1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pWZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6bGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV6WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iTVRCZElDb2dlaUFySUhSb2FYTXVkbUZzZFdWeld6RTBYU3hjY2x4dUlDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1dGRXeDBhWEJzZVZabFl6UWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0JrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0J1WlhjZ2RtVmpORjh4TG1SbFptRjFiSFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjJaV04wYjNJdWR6dGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0IwYUdsekxuWmhiSFZsYzFzd1hTQXFJSGdnS3lCMGFHbHpMblpoYkhWbGMxczBYU0FxSUhrZ0t5QjBhR2x6TG5aaGJIVmxjMXM0WFNBcUlIb2dLeUIwYUdsekxuWmhiSFZsYzFzeE1sMGdLaUIzTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pWZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6bGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV6WFNBcUlIYzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iTVRCZElDb2dlaUFySUhSb2FYTXVkbUZzZFdWeld6RTBYU0FxSUhjN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwZ0tpQjRJQ3NnZEdocGN5NTJZV3gxWlhOYk4xMGdLaUI1SUNzZ2RHaHBjeTUyWVd4MVpYTmJNVEZkSUNvZ2VpQXJJSFJvYVhNdWRtRnNkV1Z6V3pFMVhTQXFJSGM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdWRHOU5ZWFF6SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2JXRjBNMTh4TG1SbFptRjFiSFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTlYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6WmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM0WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV3WFN4Y2NseHVJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNTBiMGx1ZG1WeWMyVk5ZWFF6SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXMwWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3paZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qQWdQU0IwYUdsekxuWmhiSFZsYzFzNFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk9WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNaUE5SUhSb2FYTXVkbUZzZFdWeld6RXdYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNaklnS2lCaE1URWdMU0JoTVRJZ0tpQmhNakU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdMV0V5TWlBcUlHRXhNQ0FySUdFeE1pQXFJR0V5TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1qRWdQU0JoTWpFZ0tpQmhNVEFnTFNCaE1URWdLaUJoTWpBN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGRDQTlJR0V3TUNBcUlHUmxkREF4SUNzZ1lUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF5TVR0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1YwSUQwZ01TNHdJQzhnWkdWME8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnYldGME0xOHhMbVJsWm1GMWJIUW9XMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWFF3TVNBcUlHUmxkQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdLQzFoTWpJZ0tpQmhNREVnS3lCaE1ESWdLaUJoTWpFcElDb2daR1YwTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FvWVRFeUlDb2dZVEF4SUMwZ1lUQXlJQ29nWVRFeEtTQXFJR1JsZEN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWME1URWdLaUJrWlhRc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNoaE1qSWdLaUJoTURBZ0xTQmhNRElnS2lCaE1qQXBJQ29nWkdWMExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb0xXRXhNaUFxSUdFd01DQXJJR0V3TWlBcUlHRXhNQ2tnS2lCa1pYUXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxkREl4SUNvZ1pHVjBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQW9MV0V5TVNBcUlHRXdNQ0FySUdFd01TQXFJR0V5TUNrZ0tpQmtaWFFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2hoTVRFZ0tpQmhNREFnTFNCaE1ERWdLaUJoTVRBcElDb2daR1YwTEZ4eVhHNGdJQ0FnSUNBZ0lGMHBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERRdWNISnZkRzkwZVhCbExuUnlZVzV6YkdGMFpTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1sMGdLejBnZEdocGN5NTJZV3gxWlhOYk1GMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJORjBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iT0YwZ0tpQjZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXpYU0FyUFNCMGFHbHpMblpoYkhWbGMxc3hYU0FxSUhnZ0t5QjBhR2x6TG5aaGJIVmxjMXMxWFNBcUlIa2dLeUIwYUdsekxuWmhiSFZsYzFzNVhTQXFJSG83WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVFJkSUNzOUlIUm9hWE11ZG1Gc2RXVnpXekpkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3paZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6RXdYU0FxSUhvN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRWZElDczlJSFJvYVhNdWRtRnNkV1Z6V3pOZElDb2dlQ0FySUhSb2FYTXVkbUZzZFdWeld6ZGRJQ29nZVNBcklIUm9hWE11ZG1Gc2RXVnpXekV4WFNBcUlIbzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1YzJOaGJHVWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNklEMGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdLajBnZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBcVBTQjRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJQ285SUhnN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ0tqMGdlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU0FxUFNCNU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZElDbzlJSGs3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2owZ2VUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQXFQU0I1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUNvOUlIbzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9WMGdLajBnZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TUYwZ0tqMGdlanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNVjBnS2owZ2VqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzV5YjNSaGRHVWdQU0JtZFc1amRHbHZiaUFvWVc1bmJHVXNJR0Y0YVhNcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJR0Y0YVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJR0Y0YVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJR0Y0YVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ1RXRjBhQzV6Y1hKMEtIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnSVQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdiR1Z1WjNSb0lEMGdNU0F2SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I2SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITWdQU0JOWVhSb0xuTnBiaWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0JOWVhSb0xtTnZjeWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUWdQU0F4TGpBZ0xTQmpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURNZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTkYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pWZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMlhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXpJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNQ0E5SUhSb2FYTXVkbUZzZFdWeld6aGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCMGFHbHpMblpoYkhWbGMxczVYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVEJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpNZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01DQTlJSGdnS2lCNElDb2dkQ0FySUdNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJSGtnS2lCNElDb2dkQ0FySUhvZ0tpQnpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRElnUFNCNklDb2dlQ0FxSUhRZ0xTQjVJQ29nY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFd0lEMGdlQ0FxSUhrZ0tpQjBJQzBnZWlBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUhrZ0tpQjVJQ29nZENBcklHTTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNaUE5SUhvZ0tpQjVJQ29nZENBcklIZ2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTWpBZ1BTQjRJQ29nZWlBcUlIUWdLeUI1SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXhJRDBnZVNBcUlIb2dLaUIwSUMwZ2VDQXFJSE03WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TWlBOUlIb2dLaUI2SUNvZ2RDQXJJR003WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCaE1EQWdLaUJpTURBZ0t5QmhNVEFnS2lCaU1ERWdLeUJoTWpBZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCaE1ERWdLaUJpTURBZ0t5QmhNVEVnS2lCaU1ERWdLeUJoTWpFZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNCaE1ESWdLaUJpTURBZ0t5QmhNVElnS2lCaU1ERWdLeUJoTWpJZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCaE1ETWdLaUJpTURBZ0t5QmhNVE1nS2lCaU1ERWdLeUJoTWpNZ0tpQmlNREk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJORjBnUFNCaE1EQWdLaUJpTVRBZ0t5QmhNVEFnS2lCaU1URWdLeUJoTWpBZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBnUFNCaE1ERWdLaUJpTVRBZ0t5QmhNVEVnS2lCaU1URWdLeUJoTWpFZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCaE1ESWdLaUJpTVRBZ0t5QmhNVElnS2lCaU1URWdLeUJoTWpJZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOMTBnUFNCaE1ETWdLaUJpTVRBZ0t5QmhNVE1nS2lCaU1URWdLeUJoTWpNZ0tpQmlNVEk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPRjBnUFNCaE1EQWdLaUJpTWpBZ0t5QmhNVEFnS2lCaU1qRWdLeUJoTWpBZ0tpQmlNakk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPVjBnUFNCaE1ERWdLaUJpTWpBZ0t5QmhNVEVnS2lCaU1qRWdLeUJoTWpFZ0tpQmlNakk3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEJkSUQwZ1lUQXlJQ29nWWpJd0lDc2dZVEV5SUNvZ1lqSXhJQ3NnWVRJeUlDb2dZakl5TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV4WFNBOUlHRXdNeUFxSUdJeU1DQXJJR0V4TXlBcUlHSXlNU0FySUdFeU15QXFJR0l5TWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExtWnlkWE4wZFcwZ1BTQm1kVzVqZEdsdmJpQW9iR1ZtZEN3Z2NtbG5hSFFzSUdKdmRIUnZiU3dnZEc5d0xDQnVaV0Z5TENCbVlYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjbXdnUFNBb2NtbG5hSFFnTFNCc1pXWjBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR0lnUFNBb2RHOXdJQzBnWW05MGRHOXRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdabTRnUFNBb1ptRnlJQzBnYm1WaGNpazdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCdFlYUTBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdLRzVsWVhJZ0tpQXlLU0F2SUhKc0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb2JtVmhjaUFxSURJcElDOGdkR0lzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2h5YVdkb2RDQXJJR3hsWm5RcElDOGdjbXdzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2gwYjNBZ0t5QmliM1IwYjIwcElDOGdkR0lzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzBvWm1GeUlDc2dibVZoY2lrZ0x5Qm1iaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMVEVzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzBvWm1GeUlDb2dibVZoY2lBcUlESXBJQzhnWm00c1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdaWEp6Y0dWamRHbDJaU0E5SUdaMWJtTjBhVzl1SUNobWIzWXNJR0Z6Y0dWamRDd2dibVZoY2l3Z1ptRnlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSFJ2Y0NBOUlHNWxZWElnS2lCTllYUm9MblJoYmlobWIzWWdLaUJOWVhSb0xsQkpJQzhnTXpZd0xqQXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlhV2RvZENBOUlIUnZjQ0FxSUdGemNHVmpkRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYldGME5DNW1jblZ6ZEhWdEtDMXlhV2RvZEN3Z2NtbG5hSFFzSUMxMGIzQXNJSFJ2Y0N3Z2JtVmhjaXdnWm1GeUtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG05eWRHaHZaM0poY0docFl5QTlJR1oxYm1OMGFXOXVJQ2hzWldaMExDQnlhV2RvZEN3Z1ltOTBkRzl0TENCMGIzQXNJRzVsWVhJc0lHWmhjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ5YkNBOUlDaHlhV2RvZENBdElHeGxablFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWWlBOUlDaDBiM0FnTFNCaWIzUjBiMjBwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJtYmlBOUlDaG1ZWElnTFNCdVpXRnlLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lHMWhkRFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F5SUM4Z2Ntd3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lESWdMeUIwWWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTFRJZ0x5Qm1iaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMU2hzWldaMElDc2djbWxuYUhRcElDOGdjbXdzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzBvZEc5d0lDc2dZbTkwZEc5dEtTQXZJSFJpTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F0S0daaGNpQXJJRzVsWVhJcElDOGdabTRzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREVzWEhKY2JpQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1c2IyOXJRWFFnUFNCbWRXNWpkR2x2YmlBb2NHOXphWFJwYjI0c0lIUmhjbWRsZEN3Z2RYQXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kWEFnUFQwOUlIWnZhV1FnTUNrZ2V5QjFjQ0E5SUhabFl6TmZNUzVrWldaaGRXeDBMblZ3T3lCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0hCdmMybDBhVzl1TG1WeGRXRnNjeWgwWVhKblpYUXBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sa1pXNTBhWFI1TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFpsWXpOZk1TNWtaV1poZFd4MExtUnBabVpsY21WdVkyVW9jRzl6YVhScGIyNHNJSFJoY21kbGRDa3VibTl5YldGc2FYcGxLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTXpYekV1WkdWbVlYVnNkQzVqY205emN5aDFjQ3dnZWlrdWJtOXliV0ZzYVhwbEtDazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldNelh6RXVaR1ZtWVhWc2RDNWpjbTl6Y3loNkxDQjRLUzV1YjNKdFlXeHBlbVVvS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRzFoZERRb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNExuZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIa3VlQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlaTU0TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0TG5rc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhrdWVTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2VpNTVMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRMbm9zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGt1ZWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZWk1NkxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdGRtVmpNMTh4TG1SbFptRjFiSFF1Wkc5MEtIZ3NJSEJ2YzJsMGFXOXVLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMWFpsWXpOZk1TNWtaV1poZFd4MExtUnZkQ2g1TENCd2IzTnBkR2x2Ymlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUMxMlpXTXpYekV1WkdWbVlYVnNkQzVrYjNRb2Vpd2djRzl6YVhScGIyNHBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhMRnh5WEc0Z0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNodE1Td2diVElzSUhKbGMzVnNkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURBZ1BTQnRNUzVoZENnd0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXhJRDBnYlRFdVlYUW9NU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlHMHhMbUYwS0RJcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ETWdQU0J0TVM1aGRDZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV3SUQwZ2JURXVZWFFvTkNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJRzB4TG1GMEtEVXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVElnUFNCdE1TNWhkQ2cyS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeklEMGdiVEV1WVhRb055azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNQ0E5SUcweExtRjBLRGdwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpFZ1BTQnRNUzVoZENnNUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXlJRDBnYlRFdVlYUW9NVEFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpNZ1BTQnRNUzVoZENneE1TazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNQ0E5SUcweExtRjBLREV5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNeElEMGdiVEV1WVhRb01UTXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNeklnUFNCdE1TNWhkQ2d4TkNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek15QTlJRzB4TG1GMEtERTFLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2JUSXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJRzB5TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRElnUFNCdE1pNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpBeklEMGdiVEl1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNQ0E5SUcweUxtRjBLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRFZ1BTQnRNaTVoZENnMUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXlJRDBnYlRJdVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l4TXlBOUlHMHlMbUYwS0RjcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qQWdQU0J0TWk1aGRDZzRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl4SUQwZ2JUSXVZWFFvT1NrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJeU1pQTlJRzB5TG1GMEtERXdLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl6SUQwZ2JUSXVZWFFvTVRFcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU16QWdQU0J0TWk1aGRDZ3hNaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l6TVNBOUlHMHlMbUYwS0RFektUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqTXlJRDBnYlRJdVlYUW9NVFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTXpNZ1BTQnRNaTVoZENneE5TazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1YVc1cGRDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTURBZ0tpQmhNREFnS3lCaU1ERWdLaUJoTVRBZ0t5QmlNRElnS2lCaE1qQWdLeUJpTURNZ0tpQmhNekFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1EQWdLaUJoTURFZ0t5QmlNREVnS2lCaE1URWdLeUJpTURJZ0tpQmhNakVnS3lCaU1ETWdLaUJoTXpFc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNREFnS2lCaE1ESWdLeUJpTURFZ0tpQmhNVElnS3lCaU1ESWdLaUJoTWpJZ0t5QmlNRE1nS2lCaE16SXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTURBZ0tpQmhNRE1nS3lCaU1ERWdLaUJoTVRNZ0t5QmlNRElnS2lCaE1qTWdLeUJpTURNZ0tpQmhNek1zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1UQWdLaUJoTURBZ0t5QmlNVEVnS2lCaE1UQWdLeUJpTVRJZ0tpQmhNakFnS3lCaU1UTWdLaUJoTXpBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNVEFnS2lCaE1ERWdLeUJpTVRFZ0tpQmhNVEVnS3lCaU1USWdLaUJoTWpFZ0t5QmlNVE1nS2lCaE16RXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTVRBZ0tpQmhNRElnS3lCaU1URWdLaUJoTVRJZ0t5QmlNVElnS2lCaE1qSWdLeUJpTVRNZ0tpQmhNeklzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1UQWdLaUJoTURNZ0t5QmlNVEVnS2lCaE1UTWdLeUJpTVRJZ0tpQmhNak1nS3lCaU1UTWdLaUJoTXpNc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNakFnS2lCaE1EQWdLeUJpTWpFZ0tpQmhNVEFnS3lCaU1qSWdLaUJoTWpBZ0t5QmlNak1nS2lCaE16QXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTWpBZ0tpQmhNREVnS3lCaU1qRWdLaUJoTVRFZ0t5QmlNaklnS2lCaE1qRWdLeUJpTWpNZ0tpQmhNekVzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU1qQWdLaUJoTURJZ0t5QmlNakVnS2lCaE1USWdLeUJpTWpJZ0tpQmhNaklnS3lCaU1qTWdLaUJoTXpJc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNakFnS2lCaE1ETWdLeUJpTWpFZ0tpQmhNVE1nS3lCaU1qSWdLaUJoTWpNZ0t5QmlNak1nS2lCaE16TXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTXpBZ0tpQmhNREFnS3lCaU16RWdLaUJoTVRBZ0t5QmlNeklnS2lCaE1qQWdLeUJpTXpNZ0tpQmhNekFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaU16QWdLaUJoTURFZ0t5QmlNekVnS2lCaE1URWdLeUJpTXpJZ0tpQmhNakVnS3lCaU16TWdLaUJoTXpFc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmlNekFnS2lCaE1ESWdLeUJpTXpFZ0tpQmhNVElnS3lCaU16SWdLaUJoTWpJZ0t5QmlNek1nS2lCaE16SXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpTXpBZ0tpQmhNRE1nS3lCaU16RWdLaUJoTVRNZ0t5QmlNeklnS2lCaE1qTWdLeUJpTXpNZ0tpQmhNek1zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhRMEtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l3TUNBcUlHRXdNQ0FySUdJd01TQXFJR0V4TUNBcklHSXdNaUFxSUdFeU1DQXJJR0l3TXlBcUlHRXpNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TVNBcklHSXdNU0FxSUdFeE1TQXJJR0l3TWlBcUlHRXlNU0FySUdJd015QXFJR0V6TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01pQXJJR0l3TVNBcUlHRXhNaUFySUdJd01pQXFJR0V5TWlBcklHSXdNeUFxSUdFek1peGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l3TUNBcUlHRXdNeUFySUdJd01TQXFJR0V4TXlBcklHSXdNaUFxSUdFeU15QXJJR0l3TXlBcUlHRXpNeXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TUNBcklHSXhNU0FxSUdFeE1DQXJJR0l4TWlBcUlHRXlNQ0FySUdJeE15QXFJR0V6TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01TQXJJR0l4TVNBcUlHRXhNU0FySUdJeE1pQXFJR0V5TVNBcklHSXhNeUFxSUdFek1TeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l4TUNBcUlHRXdNaUFySUdJeE1TQXFJR0V4TWlBcklHSXhNaUFxSUdFeU1pQXJJR0l4TXlBcUlHRXpNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TXlBcklHSXhNU0FxSUdFeE15QXJJR0l4TWlBcUlHRXlNeUFySUdJeE15QXFJR0V6TXl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01DQXJJR0l5TVNBcUlHRXhNQ0FySUdJeU1pQXFJR0V5TUNBcklHSXlNeUFxSUdFek1DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l5TUNBcUlHRXdNU0FySUdJeU1TQXFJR0V4TVNBcklHSXlNaUFxSUdFeU1TQXJJR0l5TXlBcUlHRXpNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TWlBcklHSXlNU0FxSUdFeE1pQXJJR0l5TWlBcUlHRXlNaUFySUdJeU15QXFJR0V6TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd015QXJJR0l5TVNBcUlHRXhNeUFySUdJeU1pQXFJR0V5TXlBcklHSXlNeUFxSUdFek15eGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l6TUNBcUlHRXdNQ0FySUdJek1TQXFJR0V4TUNBcklHSXpNaUFxSUdFeU1DQXJJR0l6TXlBcUlHRXpNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJek1DQXFJR0V3TVNBcklHSXpNU0FxSUdFeE1TQXJJR0l6TWlBcUlHRXlNU0FySUdJek15QXFJR0V6TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXpNQ0FxSUdFd01pQXJJR0l6TVNBcUlHRXhNaUFySUdJek1pQXFJR0V5TWlBcklHSXpNeUFxSUdFek1peGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l6TUNBcUlHRXdNeUFySUdJek1TQXFJR0V4TXlBcklHSXpNaUFxSUdFeU15QXJJR0l6TXlBcUlHRXpNeXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1YVdSbGJuUnBkSGtnUFNCdVpYY2diV0YwTkNncExuTmxkRWxrWlc1MGFYUjVLQ2s3WEhKY2JpQWdJQ0J5WlhSMWNtNGdiV0YwTkR0Y2NseHVmU2dwS1R0Y2NseHVaWGh3YjNKMGN5NWtaV1poZFd4MElEMGdiV0YwTkR0Y2NseHVMeThqSUhOdmRYSmpaVTFoY0hCcGJtZFZVa3c5YldGME5DNXFjeTV0WVhBaUxDSnBiWEJ2Y25RZ2V5QkJRVUpDTENCQllYSmtkbUZ5YTAxaGJtbG1aWE4wTENCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUVGMlUyaGhjbVZrVkdWNGRIVnlaVWx1Wm04c0lFVklZVzVrTENCRmJtUndiMmx1ZEVGa1pISXNJRkJsY20xcGMzTnBiMjRzSUVGMlZtVmpkRzl5TENCQmRsRjFZWFJsY201cGIyNGdmU0JtY205dElDY3VMMkZoY21SMllYSnJYM0J5YjNSdlkyOXNKenRjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpVY21GMlpYSnpZV3hTWlc1a1pYSmxjbHh5WEc1N1hISmNibHgwS0NrNklIWnZhV1E3WEhKY2JuMWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCZGtoaGNIUnBZMUJ5YjJObGMzTnZjbHh5WEc1N1hISmNibHgwS0NCbmJHOWlZV3hPYjJSbFNXUTZJSE4wY21sdVp5d2dZVzF3YkdsMGRXUmxPaUJ1ZFcxaVpYSXNJR1p5WlhGMVpXNWpaVG9nYm5WdFltVnlMQ0JrZFhKaGRHbHZiam9nYm5WdFltVnlJQ2s2SUhadmFXUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaTmIyUmxiRWx1YzNSaGJtTmxYSEpjYm50Y2NseHVYSFJ6WlhSVmJtbDJaWEp6WlVaeWIyMU5iMlJsYkZSeVlXNXpabTl5YlNnZ2RXNXBkbVZ5YzJWR2NtOXRUVzlrWld3NklHNTFiV0psY2x0ZElDazZJSFp2YVdRN1hISmNibHgwYzJWMFQzWmxjbkpwWkdWVVpYaDBkWEpsS0NCMFpYaDBkWEpsU1c1bWJ6b2dRWFpUYUdGeVpXUlVaWGgwZFhKbFNXNW1ieUFwT2lCMmIybGtPMXh5WEc1Y2RITmxkRUpoYzJWRGIyeHZjaWdnWTI5c2IzSTZJRnNnYm5WdFltVnlMQ0J1ZFcxaVpYSXNJRzUxYldKbGNpd2diblZ0WW1WeUlGMGdLVG9nZG05cFpEdGNjbHh1WEhSelpYUlBkbVZ5YkdGNVQyNXNlU2dnYjNabGNteGhlVTl1YkhrNklHSnZiMnhsWVc0Z0tUb2dkbTlwWkR0Y2NseHVYSFJ6WlhSQmJtbHRZWFJwYjI1VGIzVnlZMlVvSUdGdWFXMWhkR2x2YmxOdmRYSmpaVG9nYzNSeWFXNW5JQ2s2SUhadmFXUTdYSEpjYmx4MGMyVjBRVzVwYldGMGFXOXVLRzF2WkdWc1ZYSnBPaUJ6ZEhKcGJtY3NJRzF2WkdWc1JHRjBZVUpoYzJVMk5Eb2djM1J5YVc1bklDazZJSFp2YVdRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpCWTNScGIyNVRkR0YwWlZ4eVhHNTdYSEpjYmx4MEx5OGdkR2hsYzJVZ1lXTjBhVzl1Y3lCaGNtVWdZWFpoYVd4aFlteGxJSFJ2SUdobGJHUWdaMkZrWjJWMGMxeHlYRzVjZEdFNklHSnZiMnhsWVc0N1hISmNibHgwWWpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJ6Y1hWbFpYcGxPaUJpYjI5c1pXRnVPMXh5WEc1Y2NseHVYSFF2THlCMGFHVnpaU0JoWTNScGIyNXpJR0Z5WlNCdWIzUWdZWFpoYVd4aFlteGxJSFJ2SUdkaFpHZGxkSE5jY2x4dVhIUm5jbUZpUHpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJuY21GaVUyaHZkMUpoZVQ4NklHSnZiMnhsWVc0N1hISmNibHgwWjNKaFlrMXZkbVUvT2lCYklHNTFiV0psY2l3Z2JuVnRZbVZ5SUYwN1hISmNibHgwWkdWMFlXTm9Qem9nWW05dmJHVmhianRjY2x4dWZWeHlYRzVjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTbTlwYm5SVWNtRnVjMlp2Y20xY2NseHVlMXh5WEc1Y2RIUnlZVzV6YkdGMGFXOXVPaUJCZGxabFkzUnZjanRjY2x4dVhIUnliM1JoZEdsdmJqb2dRWFpSZFdGMFpYSnVhVzl1TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFcHZhVzUwU1c1bWIxeHlYRzU3WEhKY2JseDBjbUZrYVhWek9pQnVkVzFpWlhJN1hISmNibHgwY0dGeVpXNTBTVzVrWlhnL09pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpTWlc1a1pYSmxjbHh5WEc1N1hISmNibHgwYzJWMFVtVnVaR1Z5WlhKRGIyNW1hV2NvSUhKbGJtUmxjbVZ5UTI5dVptbG5PaUJ6ZEhKcGJtY2dLVG9nZG05cFpEdGNjbHh1WEhSeVpXZHBjM1JsY2xSeVlYWmxjbk5sY2lnZ2RISmhkbVZ5YzJWeU9pQkJkbFJ5WVhabGNuTmhiRkpsYm1SbGNtVnlJQ2s2SUhadmFXUTdYSEpjYmx4MGNtVnVaR1Z5VEdsemRDZ2djbVZ1WkdWeVRHbHpkRG9nUVhaTmIyUmxiRWx1YzNSaGJtTmxXMTBnS1RvZ2RtOXBaQ3hjY2x4dVhIUmpjbVZoZEdWTmIyUmxiRWx1YzNSaGJtTmxLQ0J0YjJSbGJGVnlhVG9nYzNSeWFXNW5MQ0J0YjJSbGJFUmhkR0ZDWVhObE5qUTZJSE4wY21sdVp5QXBPaUJCZGsxdlpHVnNTVzV6ZEdGdVkyVTdYSEpjYmx4MFoyVjBWVzVwZG1WeWMyVkdjbTl0VDNKcFoybHVWSEpoYm5ObWIzSnRLQ0J2Y21sbmFXNDZJSE4wY21sdVp5QXBPaUJ1ZFcxaVpYSmJYVHRjY2x4dVhISmNibHgwY21WbmFYTjBaWEpJWVhCMGFXTlFjbTlqWlhOemIzSW9JR2hoY0hScFkxQnliMk5sYzNOdmNqb2dRWFpJWVhCMGFXTlFjbTlqWlhOemIzSWdLU0E2SUhadmFXUTdYSEpjYmx4MGMyVnVaRWhoY0hScFkwVjJaVzUwUm05eVNHRnVaQ2dnYUdGdVpEb2dSVWhoYm1Rc0lHRnRjR3hwZEhWa1pUb2diblZ0WW1WeUxDQm1jbVZ4ZFdWdVkzazZJRzUxYldKbGNpd2daSFZ5WVhScGIyNDZJRzUxYldKbGNpQXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUm5aWFJCWTNScGIyNVRkR0YwWlNnZ2FHRnVaRG9nUlVoaGJtUWdLVG9nUVhaQlkzUnBiMjVUZEdGMFpUdGNjbHh1WEhKY2JseDBaMlYwVTJ0bGJHVjBiMjVVY21GdWMyWnZjbTF6S0NCemEyVnNaWFJ2YmxCaGRHZzZJSE4wY21sdVp5QXBPa3B2YVc1MFZISmhibk5tYjNKdFcxMGdmQ0J1ZFd4c08xeHlYRzVjZEdkbGRGTnJaV3hsZEc5dVNXNW1ieWdnYzJ0bGJHVjBiMjVRWVhSb09pQnpkSEpwYm1jZ0tUcEtiMmx1ZEVsdVptOWJYU0I4SUc1MWJHdzdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaVGRHRnlkRWRoWkdkbGRGSmxjM1ZzZEZ4eVhHNTdYSEpjYmx4MGMzVmpZMlZ6Y3pvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJ6ZEdGeWRHVmtSMkZrWjJWMFJXNWtjRzlwYm5SSlpEb2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVFdGdWFXWmxjM1JEWVd4c1ltRmphMXh5WEc1N1hISmNibHgwS0cxaGJtbG1aWE4wT2lCQllYSmtkbUZ5YTAxaGJtbG1aWE4wS1NBNklIWnZhV1E3WEhKY2JuMWNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyUW5KdmQzTmxjbFJsZUhSMWNtVkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBLQ0IwWlhoMGRYSmxTVzVtYnpvZ1FYWlRhR0Z5WldSVVpYaDBkWEpsU1c1bWJ5QXBPaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWRoWkdkbGRGQmhjbUZ0YzF4eVhHNTdYSEpjYmx4MGRYSnBPaUJ6ZEhKcGJtYzdYSEpjYmx4MGFXNXBkR2xoYkVsdWRHVnlabUZqWlhNNklITjBjbWx1Wnp0Y2NseHVYSFJsY0ZSdlRtOTBhV1o1UHpvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlFZVzVsYkUxdmRYTmxSWFpsYm5SVWVYQmxYSEpjYm50Y2NseHVYSFJWYm10dWIzZHVJRDBnTUN4Y2NseHVYSFJFYjNkdUlEMGdNU3hjY2x4dVhIUlZjQ0E5SURJc1hISmNibHgwUlc1MFpYSWdQU0F6TEZ4eVhHNWNkRXhsWVhabElEMGdOQ3hjY2x4dVhIUk5iM1psSUQwZ05TeGNjbHh1ZlR0Y2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGZHBibVJ2ZDBsdVptOWNjbHh1ZTF4eVhHNWNkRzVoYldVNklITjBjbWx1Wnp0Y2NseHVYSFJvWVc1a2JHVTZJSE4wY21sdVp6dGNjbHh1WEhSMFpYaDBkWEpsT2lCQmRsTm9ZWEpsWkZSbGVIUjFjbVZKYm1adk8xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1Z1ZFcwZ1NXNTBaWEpoWTNScGIyNVFjbTltYVd4bFhISmNibnRjY2x4dVhIUldhWFpsUTI5dWRISnZiR3hsY2lBOUlGd2lMMmx1ZEdWeVlXTjBhVzl1WDNCeWIyWnBiR1Z6TDJoMFl5OTJhWFpsWDJOdmJuUnliMnhzWlhKY0lpeGNjbHh1WEhSRGIzTnRiM05EYjI1MGNtOXNiR1Z5SUQwZ1hDSXZhVzUwWlhKaFkzUnBiMjVmY0hKdlptbHNaWE12YUhSakwyTnZjMjF2YzE5amIyNTBjbTlzYkdWeVhDSXNYSEpjYmx4MFVtVjJaWEppUnpKRGIyNTBjbTlzYkdWeUlEMGdYQ0l2YVc1MFpYSmhZM1JwYjI1ZmNISnZabWxzWlhNdmJXbGpjbTl6YjJaMEwyaHdiVzkwYVc5dVkyOXVkSEp2Ykd4bGNsd2lMRnh5WEc1Y2RFMXBlR1ZrVW1WaGJHbDBlVU52Ym5SeWIyeHNaWElnUFNCY0lpOXBiblJsY21GamRHbHZibDl3Y205bWFXeGxjeTl0YVdOeWIzTnZablF2Ylc5MGFXOXVYMk52Ym5SeWIyeHNaWEpjSWl4Y2NseHVYSFJVYjNWamFFTnZiblJ5YjJ4c1pYSWdQU0JjSWk5cGJuUmxjbUZqZEdsdmJsOXdjbTltYVd4bGN5OXZZM1ZzZFhNdmRHOTFZMmhjSWl4Y2NseHVYSFJKYm1SbGVFTnZiblJ5YjJ4c1pYSWdQU0JjSWk5cGJuUmxjbUZqZEdsdmJsOXdjbTltYVd4bGN5OTJZV3gyWlM5cGJtUmxlRjlqYjI1MGNtOXNiR1Z5WENJc1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQmxiblZ0SUVsdWNIVjBYSEpjYm50Y2NseHVYSFJVY21sbloyVnlJRDBnWENJdmFXNXdkWFF2ZEhKcFoyZGxjbHdpTEZ4eVhHNWNkRlJ5YVdkblpYSlViM1ZqYUNBOUlGd2lMMmx1Y0hWMEwzUnlhV2RuWlhJdmRHOTFZMmhjSWl4Y2NseHVYSFJVY21sbloyVnlRMnhwWTJzZ1BTQmNJaTlwYm5CMWRDOTBjbWxuWjJWeUwyTnNhV05yWENJc1hISmNibHgwVkhKcFoyZGxjbFpoYkhWbElEMGdYQ0l2YVc1d2RYUXZkSEpwWjJkbGNpOTJZV3gxWlZ3aUxGeHlYRzVjY2x4dVhIUlRjWFZsWlhwbElEMGdYQ0l2YVc1d2RYUXZjM0YxWldWNlpWd2lMRnh5WEc1Y2RGTnhkV1ZsZW1WVWIzVmphQ0E5SUZ3aUwybHVjSFYwTDNOeGRXVmxlbVV2ZEc5MVkyaGNJaXhjY2x4dVhIUlRjWFZsWlhwbFEyeHBZMnNnUFNCY0lpOXBibkIxZEM5emNYVmxaWHBsTDJOc2FXTnJYQ0lzWEhKY2JseDBVM0YxWldWNlpWWmhiSFZsSUQwZ1hDSXZhVzV3ZFhRdmMzRjFaV1Y2WlM5MllXeDFaVndpTEZ4eVhHNWNkRk54ZFdWbGVtVkdiM0pqWlNBOUlGd2lMMmx1Y0hWMEwzTnhkV1ZsZW1VdlptOXlZMlZjSWl4Y2NseHVYSEpjYmx4MFFTQTlJRndpTDJsdWNIVjBMMkZjSWl4Y2NseHVYSFJCVkc5MVkyZ2dQU0JjSWk5cGJuQjFkQzloTDNSdmRXTm9YQ0lzWEhKY2JseDBRVU5zYVdOcklEMGdYQ0l2YVc1d2RYUXZZUzlqYkdsamExd2lMRnh5WEc1Y2NseHVYSFJDSUQwZ1hDSXZhVzV3ZFhRdllsd2lMRnh5WEc1Y2RFSlViM1ZqYUNBOUlGd2lMMmx1Y0hWMEwySXZkRzkxWTJoY0lpeGNjbHh1WEhSQ1EyeHBZMnNnUFNCY0lpOXBibkIxZEM5aUwyTnNhV05yWENJc1hISmNibHh5WEc1Y2RGZ2dQU0JjSWk5cGJuQjFkQzk0WENJc1hISmNibHgwV0ZSdmRXTm9JRDBnWENJdmFXNXdkWFF2ZUM5MGIzVmphRndpTEZ4eVhHNWNkRmhEYkdsamF5QTlJRndpTDJsdWNIVjBMM2d2WTJ4cFkydGNJaXhjY2x4dVhISmNibHgwV1NBOUlGd2lMMmx1Y0hWMEwzbGNJaXhjY2x4dVhIUlpWRzkxWTJnZ1BTQmNJaTlwYm5CMWRDOTVMM1J2ZFdOb1hDSXNYSEpjYmx4MFdVTnNhV05ySUQwZ1hDSXZhVzV3ZFhRdmVTOWpiR2xqYTF3aUxGeHlYRzVjY2x4dVhIUk5aVzUxSUQwZ1hDSXZhVzV3ZFhRdmJXVnVkVndpTEZ4eVhHNWNkRTFsYm5WVWIzVmphQ0E5SUZ3aUwybHVjSFYwTDIxbGJuVXZkRzkxWTJoY0lpeGNjbHh1WEhSTlpXNTFRMnhwWTJzZ1BTQmNJaTlwYm5CMWRDOXRaVzUxTDJOc2FXTnJYQ0lzWEhKY2JseHlYRzVjZEZSeVlXTnJjR0ZrSUQwZ1hDSXZhVzV3ZFhRdmRISmhZMnR3WVdSY0lpeGNjbHh1WEhSVWNtRmphM0JoWkZSdmRXTm9JRDBnWENJdmFXNXdkWFF2ZEhKaFkydHdZV1F2ZEc5MVkyaGNJaXhjY2x4dVhIUlVjbUZqYTNCaFpFTnNhV05ySUQwZ1hDSXZhVzV3ZFhRdmRISmhZMnR3WVdRdlkyeHBZMnRjSWl4Y2NseHVYSFJVY21GamEzQmhaRVp2Y21ObElEMGdYQ0l2YVc1d2RYUXZkSEpoWTJ0d1lXUXZabTl5WTJWY0lpeGNjbHh1WEhSVWNtRmphM0JoWkZnZ1BTQmNJaTlwYm5CMWRDOTBjbUZqYTNCaFpDOTRYQ0lzWEhKY2JseDBWSEpoWTJ0d1lXUlpJRDBnWENJdmFXNXdkWFF2ZEhKaFkydHdZV1F2ZVZ3aUxGeHlYRzVjY2x4dVhIUlVhSFZ0WW5OMGFXTnJJRDBnWENJdmFXNXdkWFF2ZEdoMWJXSnpkR2xqYTF3aUxGeHlYRzVjZEZSb2RXMWljM1JwWTJ0VWIzVmphQ0E5SUZ3aUwybHVjSFYwTDNSb2RXMWljM1JwWTJzdmRHOTFZMmhjSWl4Y2NseHVYSFJVYUhWdFluTjBhV05yUTJ4cFkyc2dQU0JjSWk5cGJuQjFkQzkwYUhWdFluTjBhV05yTDJOc2FXTnJYQ0lzWEhKY2JseDBWR2gxYldKemRHbGphMFp2Y21ObElEMGdYQ0l2YVc1d2RYUXZkR2gxYldKemRHbGpheTltYjNKalpWd2lMRnh5WEc1Y2RGUm9kVzFpYzNScFkydFlJRDBnWENJdmFXNXdkWFF2ZEdoMWJXSnpkR2xqYXk5NFhDSXNYSEpjYmx4MFZHaDFiV0p6ZEdsamExa2dQU0JjSWk5cGJuQjFkQzkwYUhWdFluTjBhV05yTDNsY0lpeGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1Z1ZFcwZ1JHVjJhV05sWEhKY2JudGNjbHh1WEhSTVpXWjBJRDBnWENJdmRYTmxjaTlvWVc1a0wyeGxablJjSWl4Y2NseHVYSFJTYVdkb2RDQTlJRndpTDNWelpYSXZhR0Z1WkM5eWFXZG9kRndpTEZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FHRnVaRlJ2UkdWMmFXTmxLQ0JvWVc1a09pQkZTR0Z1WkNBcE9pQkVaWFpwWTJWY2NseHVlMXh5WEc1Y2RITjNhWFJqYUNnZ2FHRnVaQ0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBZMkZ6WlNCRlNHRnVaQzVNWldaME9pQnlaWFIxY200Z1JHVjJhV05sTGt4bFpuUTdYSEpjYmx4MFhIUmpZWE5sSUVWSVlXNWtMbEpwWjJoME9pQnlaWFIxY200Z1JHVjJhV05sTGxKcFoyaDBPMXh5WEc1Y2RIMWNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlGVnpaV1FnZEc4Z1ltbHVaQ0JoSUhOcGJtZHNaU0JoWTNScGIyNGdkRzhnWVc0Z2FXNXdkWFFnWm05eUlHRWdjMmx1WjJ4bElHbHVkR1Z5WVdOMGFXOXVJSEJ5YjJacGJHVWdLaTljY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQlkzUnBiMjVDYVc1a2FXNW5YSEpjYm50Y2NseHVYSFF2S2lvZ1ZHaGxJRTl3Wlc1WVVpQnBiblJsY21GamRHbHZiaUJ3Y205bWFXeGxJSFJ2SUdGd2NHeDVJSFJvYVhNZ1ltbHVaR2x1WnlCMGJ5NGdUMjVzZVNCcGJuUmxjbUZqZEdsdmJpQndjbTltYVd4bGN5QjBhR0YwWEhKY2JseDBJQ29nWVhCd2JIa2dkRzhnTDNWelpYSXZhR0Z1WkM5c1pXWjBJRzl5SUM5MWMyVnlMMmhoYm1RdmNtbG5hSFFnWVhKbElHTjFjbkpsYm5Sc2VTQnpkWEJ3YjNKMFpXUXVYSEpjYmx4MElDb2dJRk5sWlNCMGFHVWdUM0JsYmxoU0lITndaV05wWm1sallYUnBiMjRnWm05eUlHMXZjbVVnWkdWMFlXbHNPaUJvZEhSd2N6b3ZMM2QzZHk1cmFISnZibTl6TG05eVp5OXlaV2RwYzNSeWVTOVBjR1Z1V0ZJdmMzQmxZM012TVM0d0wyaDBiV3d2ZUhKemNHVmpMbWgwYld3amMyVnRZVzUwYVdNdGNHRjBhQzFwYm5SbGNtRmpkR2x2Ymkxd2NtOW1hV3hsYzF4eVhHNWNkQ0FxTDF4eVhHNWNkR2x1ZEdWeVlXTjBhVzl1VUhKdlptbHNaVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaHBjeUIzYVd4c0lHSmxJRzl1WlNCdlppQjBhR1VnYVc1d2RYUWdjR0YwYUhNZ2FXNWpiSFZrWldRZ2FXNGdkR2hsSUU5d1pXNVlVaUJ6Y0dWamFXWnBZMkYwYVc5dUlHWnZjaUJjY2x4dVhIUWdLaUIwYUdseklHbHVkR1Z5WVdOMGFXOXVVSEp2Wm1sc1pTNWNjbHh1WEhRZ0tpOWNjbHh1WEhScGJuQjFkRkJoZEdnNklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYmk4cUtpQlVhR1VnZEhsd1pTQnZaaUJoSUhOcGJtZHNaU0JoWTNScGIyNHVJRkJ2YzJVZ1lXTjBhVzl1Y3lCaGNtVWdjM1Z3Y0c5elpXUWdkR2h5YjNWbmFDQkJkazl5YVdkcGJpQnViMlJsY3lCdmJpQXZkWE5sY2k5b1lXNWtMMnhsWm5SY2NseHVJQ29nYjNJZ0wzVnpaWEl2YUdGdVpDOXlhV2RvZEM1Y2NseHVJQ292WEhKY2JtVjRjRzl5ZENCbGJuVnRJRUZqZEdsdmJsUjVjR1ZjY2x4dWUxeHlYRzVjZEZWdWEyNXZkMjRnUFNBdE1TeGNjbHh1WEhKY2JseDBRbTl2YkdWaGJpQTlJREFzWEhKY2JseDBSbXh2WVhRZ1BTQXhMRnh5WEc1Y2RGWmxZM1J2Y2pJZ1BTQXlMRnh5WEc1OVhISmNibHh5WEc0dktpb2dSR1ZqYkdGeVpYTWdZU0J6YVc1bmJHVWdZV04wYVc5dUlHbHVjMmxrWlNCdlppQmhiaUJoWTNScGIyNGdjMlYwTGlBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZqZEdsdmJseHlYRzU3WEhKY2JseDBMeW9xSUVsdWRHVnlibUZzSUc1aGJXVWdkRzhnZFhObElHWnZjaUIwYUdseklHRmpkR2x2Ymk0Z1ZHaGxjMlVnYlhWemRDQmlaU0IxYm1seGRXVWdkMmwwYUdsdUlIUm9aU0JoWTNScGIyNGdjMlYwTGlBcUwxeHlYRzVjZEc1aGJXVTZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUU1aGJXVWdhVzRnZEdobElIVnpaWEluY3lCc1lXNW5kV0ZuWlhSdklITm9iM2NnWVNCMWMyVnlJR1p2Y2lCMGFHbHpJR0ZqZEdsdmJpQXFMMXh5WEc1Y2RHeHZZMkZzYVhwbFpFNWhiV1U2SUhOMGNtbHVaenRjY2x4dVhISmNibHgwTHlvcUlGUjVjR1VnYjJZZ2RHaGxJR0ZqZEdsdmJpQXFMMXh5WEc1Y2RIUjVjR1U2SUVGamRHbHZibFI1Y0dVN1hISmNibHh5WEc1Y2RDOHFLaUJDYVc1a2FXNW5jeUJtYjNJZ2RHaHBjeUJoWTNScGIyNGdiMjRnWVc1NUlHNTFiV0psY2lCdlppQmpiMjUwY205c2JHVnlJSFI1Y0dWeklDb3ZYSEpjYmx4MFltbHVaR2x1WjNNL09pQkJZM1JwYjI1Q2FXNWthVzVuVzEwN1hISmNibjFjY2x4dVhISmNiaThxS2lCRVpXTnNZWEpsY3lCaElITnBibWRzWlNCaFkzUnBiMjRnYzJWMElHWnZjaUIwYUdVZ1oyRmtaMlYwSUNvdlhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRV04wYVc5dVUyVjBYSEpjYm50Y2NseHVYSFF2S2lvZ1NXNTBaWEp1WVd3Z2JtRnRaU0IwYnlCMWMyVWdabTl5SUhSb2FYTWdZV04wYVc5dUlITmxkQzRnVkdobGMyVWdiWFZ6ZENCaVpTQjFibWx4ZFdVZ2QybDBhR2x1SUhSb1pTQm5ZV1JuWlhRdUlDb3ZYSEpjYmx4MGJtRnRaVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1RtRnRaU0JwYmlCMGFHVWdkWE5sY2lkeklHeGhibWQxWVdkbGRHOGdjMmh2ZHlCaElIVnpaWElnWm05eUlIUm9hWE1nWVdOMGFXOXVJSE5sZENBcUwxeHlYRzVjZEd4dlkyRnNhWHBsWkU1aGJXVTZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZOMWNIQnlaWE56WlhNZ2MyTmxibVVnWVhCd0lHbHVjSFYwSUdadmNpQmhibmtnYVc1d2RYUnpJR0p2ZFc1a0lIUnZJR0ZqZEdsdmJuTWdhVzRnZEdocGN5QmhZM1JwYjI0Z2MyVjBJRnh5WEc1Y2RDQXFJSGRvWlc1bGRtVnlJSFJvYVhNZ1lXTjBhVzl1SUhObGRDQnBjeUJoWTNScGRtVXVJRlZ6WlNCMGFHbHpJSGRwZEdnZ1kyRjFkR2x2Yml3Z1lXNWtJRzl1YkhrZ2QyaGxiaUJ6Y0dWamFXWnBZMXh5WEc1Y2RDQXFJR052Ym1ScGRHbHZibk1nWVhKbElIQnlaWE5sYm5RZ2RHOGdjSEpsZG1WdWRDQmhjSEFnYVc1d2RYUWdabkp2YlNCaVpXbHVaeUJpYkc5amEyVmtJSEJsY20xaGJtVnVkR3g1TGlCY2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCbVlXeHpaU0JjY2x4dVhIUWdLaTljY2x4dVhIUnpkWEJ3Y21WemMwRndjRUpwYm1ScGJtZHpQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlGQnlhVzl5YVhSNUlHWnZjaUJoWTNScGIyNGdZbWx1WkdsdVozTWdhVzRnZEdocGN5QmhZM1JwYjI0Z2MyVjBJSEpsYkdGMGFYWmxJSFJ2SUc5MGFHVnlJR0pwYm1ScGJtZHpJR2x1SUhSb1pTQnpZVzFsSUZ4eVhHNWNkQ0FxSUdkaFpHZGxkQzRnUW1sdVpHbHVaM01nWm5KdmJTQmhZM1JwYjI0Z2MyVjBjeUIzYVhSb0lHaHBaMmhsY2lCdWRXMWlaWEp6SUhkcGJHd2djM1Z3Y0hKbGMzTWdZbWx1WkdsdVozTWdabkp2YlNCaFkzUnBiMjRnYzJWMGMxeHlYRzVjZENBcUlIZHBkR2dnYkc5M1pYSWdiblZ0WW1WeWN5NGdWR2hwY3lCdWRXMWlaWElnZDJsc2JDQmlaU0JqYkdGdGNHVmtJSFJ2SUhSb1pTQXdMaTR4TUNCeVlXNW5aU3dnYVc1amJIVnphWFpsYkhrdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ01GeHlYRzVjZENBcUwxeHlYRzVjZEhCeWFXOXlhWFI1UHpvZ2JuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dRV04wYVc5dWN5QmpiMjUwWVdsdVpXUWdhVzRnZEdocGN5QmhZM1JwYjI0Z2MyVjBJQ292WEhKY2JseDBZV04wYVc5dWN6ODZJRUZqZEdsdmJsdGRPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGamRHbDJaVUZqZEdsdmJsTmxkRnh5WEc1N1hISmNibHgwTHlvcUlFNWhiV1VnYjJZZ2RHaGxJR0ZqZEdsdmJpQnpaWFFnZEc4Z1lXTjBhWFpoZEdVZ0tpOWNjbHh1WEhSaFkzUnBiMjVUWlhST1lXMWxPaUJ6ZEhKcGJtYzdYSEpjYmx4eVhHNWNkQzhxS2lCTWFYTjBJRzltSUdoaGJtUnpJSFJ2SUdGamRHbDJZWFJsSUhSb1pTQmhZM1JwYjI0Z2MyVjBJRzl1TGlCVWFHbHpJR05oYmlCaVpTQXZkWE5sY2k5b1lXNWtMMnhsWm5Rc0lDOTFjMlZ5TDJoaGJtUXZjbWxuYUhRc0lHOXlJRnh5WEc1Y2RDQXFJR0Z1SUdWdGNIUjVJR3hwYzNRdUlFVnRjSFI1SUd4cGMzUWdiV1ZoYm5NZ2RHaGhkQ0IwYUdVZ1hISmNibHgwSUNvdlhISmNibHgwZEc5d1RHVjJaV3hRWVhSb2N6ODZJSE4wY21sdVoxdGRPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRMjl1ZEdGcGJuTWdkR2hsSUd4cGMzUWdiMllnWVdOMGFXOXVJSE5sZEhNZ2RHaGhkQ0IwYUdVZ1lYQndiR2xqWVhScGIyNGdkMjkxYkdRZ2JHbHJaU0IwYnlCaFkzUnBkbUYwWlM0Z0tpOWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JKYm5CMWRFbHVabTljY2x4dWUxeHlYRzVjZEdGamRHbDJaVUZqZEdsdmJsTmxkSE02SUVGamRHbDJaVUZqZEdsdmJsTmxkRnRkTzF4eVhHNTlYSEpjYmx4eVhHNHZLaW9nUTI5dWRHRnBibk1nZEdobElITjBZWFJsSUc5bUlHRWdjMmx1WjJ4bElHRmpkR2x2YmlCdmJpQmhJSE5wYm1kc1pTQmtaWFpwWTJVZ0tpOWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCWTNScGIyNUVaWFpwWTJWVGRHRjBaVHhVUGx4eVhHNTdYSEpjYmx4MFlXTjBhWFpsT2lCaWIyOXNaV0Z1TzF4eVhHNWNkSFpoYkhWbE9pQlVPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRMjl1ZEdGcGJuTWdkR2hsSUhOMFlYUmxJRzltSUdFZ2MybHVaMnhsSUdGamRHbHZiaUFxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRmpkR2x2YmxOMFlYUmxQRlErWEhKY2JudGNjbHh1WEhSc1pXWjBQem9nUVdOMGFXOXVSR1YyYVdObFUzUmhkR1U4VkQ0N1hISmNibHgwY21sbmFIUS9PaUJCWTNScGIyNUVaWFpwWTJWVGRHRjBaVHhVUGp0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUdOdmJuUmhhVzV6SUhSb1pTQnpkR0YwWlNCdlppQmhJSE5wYm1kc1pTQmhZM1JwYjI0Z2MyVjBJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FXTjBhVzl1VTJWMFUzUmhkR1ZjY2x4dWUxeHlYRzVjZEZzZ1lXTjBhVzl1VG1GdFpUb2djM1J5YVc1bklGMDZJRUZqZEdsdmJsTjBZWFJsUENCaWIyOXNaV0Z1SUh3Z2JuVnRZbVZ5SUh3Z1d5QnVkVzFpWlhJc0lHNTFiV0psY2lCZElENDdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkRiMjUwWVdsdWN5QjBhR1VnWTNWeWNtVnVkQ0J6ZEdGMFpTQnZaaUJwYm5CMWRDQm1iM0lnWVd4c0lHRmpkR2x2Ym5NZ1lXWjBaWElnWVNCallXeHNJSFJ2SUhONWJtTkJZM1JwYjI1ekxpQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVsdWNIVjBVM1JoZEdWY2NseHVlMXh5WEc1Y2RISmxjM1ZzZEhNNklIc2dXeUJoWTNScGIyNVRaWFJPWVcxbE9pQnpkSEpwYm1jZ1hUb2dRV04wYVc5dVUyVjBVM1JoZEdVZ2ZUdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFbHVabTl5YldGMGFXOXVJR0ZpYjNWMElIUm9aU0IxYm1SbGNteDVhVzVuSUdGd2NHeHBZMkYwYVc5dUlIUm9ZWFFnUVdGeVpIWmhjbXNnYVhNZ2NuVnVibWx1WnlCdmJpQjBiM0FnYjJZdUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVTJObGJtVkJjSEJzYVdOaGRHbHZia2x1Wm05Y2NseHVlMXh5WEc1Y2RDOHFLaUJCSUdkc2IySmhiR3g1SUhWdWFYRjFaU0JwWkdWdWRHbG1hV1Z5SUdadmNpQjBhR1VnY25WdWJtbHVaeUJoY0hCc2FXTmhkR2x2Ymk0Z0tpOWNjbHh1WEhScFpEb2djM1J5YVc1bk8xeHlYRzVjY2x4dVhIUXZLaW9nUVNCdVlXMWxJSFJvWVhRZ1kyRnVJR0psSUhOb2IzZHVJSFJ2SUdFZ2RYTmxjaUJtYjNJZ2RHaGxJSEoxYm01cGJtY2dZWEJ3YkdsallYUnBiMjR1SUNvdlhISmNibHgwYm1GdFpUb2djM1J5YVc1bk8xeHlYRzVjY2x4dVhIUXZLaW9nUVNCMWJtbHhkV1V0ZDJsMGFHbHVMWFJvWlMxaGNIQnNhV05oZEdsdmJpQnBaR1Z1ZEdsbWFXVnlJR1p2Y2lCM2FHbGphQ0JzWlhabGJDOXRZWEF2Y0d4aGJtVjBJSFJvWlNCMWMyVnlJR2x6SUdsdUxpQXFMMXh5WEc1Y2RIZHZjbXhrU1dRL09pQnpkSEpwYm1jN1hISmNibHh5WEc1Y2RDOHFLaUJCSUhWdWFYRjFaUzEzYVhSb2FXNHRkR2hsTFhkdmNteGtTVVFnYVdSbGJuUnBabWxsY2lCbWIzSWdkMmhwWTJnZ2FXNXpkR0Z1WTJVZ2IyWWdkR2hsSUhkdmNteGtJSFJvWVhRZ2RHaGxJSFZ6WlhJZ2FYTWdhVzR1SUNvdlhISmNibHgwYVc1emRHRnVZMlZKWkQ4NklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCMGNtRnVjMlp2Y20wZ1puSnZiU0IwYUdVZ2RYTmxjaWR6SUhOMFlXZGxJRzl5YVdkcGJpQjBieUIwYUdVZ2FXNXpkR0Z1WTJVbmN5QnZjbWxuYVc0dUlDb3ZYSEpjYmx4MGFXNXpkR0Z1WTJWR2NtOXRVM1JoWjJVL09pQkJkazV2WkdWVWNtRnVjMlp2Y20wN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRV0Z5WkhaaGNtdGNjbHh1ZTF4eVhHNWNkR2hoYzFCbGNtMXBjM05wYjI0b0lIQmxjbTFwYzNOcGIyNDZJRkJsY20xcGMzTnBiMjRnS1RvZ1ltOXZiR1ZoYmp0Y2NseHVYSEpjYmx4MEx5OGdjbVZ4ZFdseVpYTWdjMk5sYm1WbmNtRndhQ0J3WlhKdGFYTnphVzl1YzF4eVhHNWNkSE4xWW5OamNtbGlaVlJ2UW5KdmQzTmxjbFJsZUhSMWNtVW9JR05oYkd4aVlXTnJPaUJCZGtKeWIzZHpaWEpVWlhoMGRYSmxRMkZzYkdKaFkyc2dLVG9nZG05cFpEdGNjbHh1WEhSemNHOXZaazF2ZFhObFJYWmxiblFvSUhSNWNHVTZVR0Z1Wld4TmIzVnpaVVYyWlc1MFZIbHdaU3dnZURvZ2JuVnRZbVZ5TENCNU9pQnVkVzFpWlhJZ0tUb2dkbTlwWkR0Y2NseHVYSEpjYmx4MEx5OGdjbVZ4ZFdseVpYTWdiV0Z6ZEdWeUlIQmxjbTFwYzNOcGIyNXpYSEpjYmx4MGMzUmhjblJIWVdSblpYUW9JSEJoY21GdGN6b2dSMkZrWjJWMFVHRnlZVzF6SUNrNklIWnZhV1E3WEhKY2JseHlYRzVjZEM4cUtpQkVaWE4wY205NWN5QjBhR1VnWTNWeWNtVnVkQ0JpY205M2MyVnlMaUFxTDF4eVhHNWNkR05zYjNObFFuSnZkM05sY2lncE9pQjJiMmxrTzF4eVhHNWNjbHh1WEhRdkx5QnlaWEYxYVhKbGN5QnlaVzVrWlhKbGNpQndaWEp0YVhOemFXOXVjMXh5WEc1Y2RISmxibVJsY21WeU9pQkJkbEpsYm1SbGNtVnlPMXh5WEc1Y2NseHVYSFF2THlCeVpYRjFhWEpsY3lCemRHRnlkSFZ5YkNCd1pYSnRhWE56YVc5dWMxeHlYRzVjZEhOMFlYSjBWWEpzS0NCMWNtdzZJSE4wY21sdVp5QXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZMeUJ5WlhGMWFYSmxjeUJ6WTNKbFpXVnVZMkZ3ZEhWeVpTQndaWEp0YVhOemFXOXVjMXh5WEc1Y2RITjFZbk5qY21saVpWZHBibVJ2ZDB4cGMzUW9JR05oYkd4aVlXTnJPaUFvSUhkcGJtUnZkM002SUZkcGJtUnZkMGx1Wm05YlhTQXBJRDArSUhadmFXUWdLVG9nZG05cFpEdGNjbHh1WEhSMWJuTjFZbk5qY21saVpWZHBibVJ2ZDB4cGMzUW9LVHAyYjJsa08xeHlYRzVjZEhOMVluTmpjbWxpWlZkcGJtUnZkeWdnZDJsdVpHOTNTR0Z1Wkd4bE9pQnpkSEpwYm1jc0lHTmhiR3hpWVdOck9pQW9JSGRwYm1SdmR6b2dWMmx1Wkc5M1NXNW1ieUFwSUQwK0lIWnZhV1FnS1RvZ2RtOXBaRHRjY2x4dVhIUjFibk4xWW5OamNtbGlaVmRwYm1SdmR5Z2dkMmx1Wkc5M1NHRnVaR3hsT2lCemRISnBibWNnS1RvZ2RtOXBaRHRjY2x4dVhISmNibHgwTHk4Z2NtVnhkV2x5WlhNZ2FXNXdkWFFnY0dWeWJXbHpjMmx2Ym5OY2NseHVYSFJ5WldkcGMzUmxja2x1Y0hWMEtDQmhZM1JwYjI1VFpYUnpPaUJCWTNScGIyNVRaWFJiWFNBcE9pQjJiMmxrTzF4eVhHNWNkSE41Ym1OSmJuQjFkQ2dnYVc1bWJ6b2dTVzV3ZFhSSmJtWnZJQ2s2SUVsdWNIVjBVM1JoZEdVN1hISmNibHh5WEc1Y2RDOHZJSEpsY1hWcGNtVnpJSE5sZEhScGJtZHpJSEJsY20xcGMzTnBiMjV6WEhKY2JseDBaMlYwUW05dmJGTmxkSFJwYm1jb0lITmxZM1JwYjI1T1lXMWxPaUJ6ZEhKcGJtY3NJSE5sZEhScGJtZE9ZVzFsT2lCemRISnBibWNnS1RvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJuWlhST2RXMWlaWEpUWlhSMGFXNW5LQ0J6WldOMGFXOXVUbUZ0WlRvZ2MzUnlhVzVuTENCelpYUjBhVzVuVG1GdFpUb2djM1J5YVc1bklDazZJRzUxYldKbGNqdGNjbHh1WEhSblpYUlRkSEpwYm1kVFpYUjBhVzVuS0NCelpXTjBhVzl1VG1GdFpUb2djM1J5YVc1bkxDQnpaWFIwYVc1blRtRnRaVG9nYzNSeWFXNW5JQ2s2SUhOMGNtbHVaenRjY2x4dVhIUnpaWFJUWlhSMGFXNW5LQ0J6WldOMGFXOXVUbUZ0WlRvZ2MzUnlhVzVuTENCelpYUjBhVzVuVG1GdFpUb2djM1J5YVc1bkxDQnVaWGRXWVd4MVpUb2diblZ0WW1WeUlId2djM1J5YVc1bklId2dZbTl2YkdWaGJpQXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZMeUJ5WlhGMWFYSmxjeUJoY0hCc2FXTmhkR2x2YmlCd1pYSnRhWE56YVc5dWMxeHlYRzVjZEhKbFoybHpkR1Z5VTJObGJtVkJjSEJzYVdOaGRHbHZiazV2ZEdsbWFXTmhkR2x2YmlnZ1ptNDZJQ2dwSUQwK0lIWnZhV1FnS1RvZ2RtOXBaRHRjY2x4dVhIUm5aWFJEZFhKeVpXNTBVMk5sYm1WQmNIQnNhV05oZEdsdmJpZ3BPaUJUWTJWdVpVRndjR3hwWTJGMGFXOXVTVzVtYnlCOElHNTFiR3c3WEhKY2JuMWNjbHh1WEhKY2JtUmxZMnhoY21VZ1oyeHZZbUZzWEhKY2JudGNjbHh1WEhScGJuUmxjbVpoWTJVZ1YybHVaRzkzWEhKY2JseDBlMXh5WEc1Y2RGeDBZV0Z5WkhaaGNtczZJR0Z1ZVR0Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCQmRpZ3BPa0ZoY21SMllYSnJYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdkMmx1Wkc5M1B5NWhZWEprZG1GeWF5QmhjeUJCWVhKa2RtRnlhenRjY2x4dWZWeHlYRzRpTENKcGJYQnZjblFnZXlCMlpXTXpMQ0J0WVhRMElIMGdabkp2YlNBblFIUnNZWFZyYTJGdUwzUnpiU2M3WEhKY2JtbHRjRzl5ZENCN0lGZGxZa0Z3Y0UxaGJtbG1aWE4wSUgwZ1puSnZiU0FuTGk5M1pXSmZZWEJ3WDIxaGJtbG1aWE4wSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpCWTNScGIyNVRkR0YwWlNCOUlHWnliMjBnSnk0dllXRnlaSFpoY21zbk8xeHlYRzVwYlhCdmNuUWdleUJ1YjJSbFZISmhibk5tYjNKdFJuSnZiVTFoZERRZ2ZTQm1jbTl0SUNjdUwyMWhkR2hmZFhScGJITW5PMXh5WEc1Y2NseHVaWGh3YjNKMElHTnZibk4wSUVGaGNtUjJZWEpyVUc5eWRDQTlJREl6T0RReU8xeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdUV1Z6YzJGblpWUjVjR1ZjY2x4dWUxeHlYRzVjZEM4dklHbHVhWFJwWVd4cGVtRjBhVzl1SUcxbGMzTmhaMlZ6TGlCVWFHVnpaU0JoY21VZ2RHaGxJRzl1YkhrZ2JXVnpjMkZuWlhNZ2RHaGhkQ0JjY2x4dVhIUXZMeUJoY21WdUozUWdjbVZ4ZFdseVpXUWdkRzhnYUdGMlpTQmhJSE5sYm1SbGNpNWNjbHh1WEhSVFpYUkZibVJ3YjJsdWRGUjVjR1VnUFNBeE1EQXNYSEpjYmx4MFUyVjBSVzVrY0c5cGJuUlVlWEJsVW1WemNHOXVjMlVnUFNBeE1ERXNYSEpjYmx4MFJYSnliM0lnUFNBeE1ESXNYSEpjYmx4MFIyVjBRV0Z5WkhaaGNtdE5ZVzVwWm1WemRDQTlJREV3TXl4Y2NseHVYSFJIWlhSQllYSmtkbUZ5YTAxaGJtbG1aWE4wVW1WemNHOXVjMlVnUFNBeE1EUXNYSEpjYmx4MEx5OVZjMlZ5U1c1bWJ5QTlJREV3TlN4Y2NseHVYSEpjYmx4MEx5OGdUVzl1YVhSdmNpQnRaWE56WVdkbGMxeHlYRzVjZEM4dklIUm9aWE5sSUdGeVpTQnpaVzVrSUhSdklHMXZibWwwYjNKeklIUnZJR2RwZG1VZ2RHaGxiU0J0WlhSaElHTnZiblJsZUhSY2NseHVYSFJPWlhkRmJtUndiMmx1ZENBOUlESXdNQ3hjY2x4dVhIUk1iM04wUlc1a2NHOXBiblFnUFNBeU1ERXNYSEpjYmx4MFQzWmxjbkpwWkdWVWNtRnVjMlp2Y20wZ1BTQXlNRElzWEhKY2JseHlYRzVjZEM4dklFZGhaR2RsZENCdFpYTnpZV2RsYzF4eVhHNWNkRlZ3WkdGMFpWTmpaVzVsUjNKaGNHZ2dQU0F6TURBc1hISmNibHgwTHk5SGNtRmlSWFpsYm5RZ1BTQXpNREVzWEhKY2JseDBMeTlIY21GaVltVnlVM1JoZEdVZ1BTQXpNRElzWEhKY2JseDBSMkZrWjJWMFUzUmhjblJsWkNBOUlETXdNeXhjZEZ4eVhHNWNkQzh2VUc5clpYSlFjbTk0YVcxcGRIa2dQU0F6TURRc1hISmNibHgwTHk5TmIzVnpaVVYyWlc1MElEMGdNekExTEZ4eVhHNWNkRTV2WkdWSVlYQjBhV01nUFNBek1EWXNYSEpjYmx4MEx5OGdRWFIwWVdOb1IyRmtaMlYwVkc5SWIyOXJJRDBnTXpBM0xGeHlYRzVjZEM4dklFUmxkR0ZqYUVkaFpHZGxkRVp5YjIxSWIyOXJJRDBnTXpBNExGeHlYRzVjZEM4dlRXRnpkR1Z5VTNSaGNuUkhZV1JuWlhRZ1BTQXpNRGtzSUM4dklIUmxiR3h6SUcxaGMzUmxjaUIwYnlCemRHRnlkQ0JoSUdkaFpHZGxkRnh5WEc1Y2RGTmhkbVZUWlhSMGFXNW5jeUE5SURNeE1DeGNjbHh1WEhSVmNHUmhkR1ZCWTNScGIyNVRkR0YwWlNBOUlETXhNU3hjY2x4dVhIUkVaWE4wY205NVIyRmtaMlYwSUQwZ016RXlMRnh5WEc1Y2RGSmxjMjkxY21ObFRHOWhaRVpoYVd4bFpDQTlJRE14TXl4Y2NseHVYSFF2THlCVGFXZHVVbVZ4ZFdWemRDQTlJRE14TkN4Y2NseHVYSFF2THlCVGFXZHVVbVZ4ZFdWemRGSmxjM0J2Ym5ObElEMGdNekUxTEZ4eVhHNWNkRWx1ZEdWeVptRmpaVVYyWlc1MElEMGdNekUyTEZ4eVhHNWNjbHh1WEhRdkx5QlRlWE4wWlcwZ2JXVnpjMkZuWlhOY2NseHVYSFJIWlhSSmJuTjBZV3hzWldSSFlXUm5aWFJ6SUQwZ05EQXdMRnh5WEc1Y2RFZGxkRWx1YzNSaGJHeGxaRWRoWkdkbGRITlNaWE53YjI1elpTQTlJRFF3TVN4Y2NseHVYSFJKYm5OMFlXeHNSMkZrWjJWMElEMGdOREF5TEZ4eVhHNWNkRk5sZEVkaFpHZGxkRlJ2UVhWMGIweGhkVzVqYUNBOUlEUXdNeXhjY2x4dVhIUlNaVzF2ZG1WSFlXUm5aWFJHY205dFFYVjBiMHhoZFc1amFDQTlJRFF3TkN4Y2NseHVYSEpjYmx4MEx5OGdaMkZrWjJWMElHaGhjeUJjSW5KdmIyMWNJaUJ3WlhKdGFYTnphVzl1YzF4eVhHNWNkQzh2SUVOeVpXRjBaVkp2YjIwZ1BTQTJNREFzWEhKY2JseDBMeThnUTNKbFlYUmxVbTl2YlZKbGMzQnZibk5sSUQwZ05qQXhMRnh5WEc1Y2RDOHZJRVJsYzNSeWIzbFNiMjl0SUQwZ05qQXlMRnh5WEc1Y2RDOHZJRVJsYzNSeWIzbFNiMjl0VW1WemNHOXVjMlVnUFNBMk1ETXNYSEpjYmx4MEx5OGdVbTl2YlUxbGMzTmhaMlZTWldObGFYWmxaQ0E5SURZd05DeGNjbHh1WEhRdkx5QlNiMjl0VFdWemMyRm5aVkpsWTJWcGRtVmtVbVZ6Y0c5dWMyVWdQU0EyTURVc1hISmNibHgwTHk4Z1UyVnVaRkp2YjIxTlpYTnpZV2RsSUQwZ05qQTJMRnh5WEc1Y2RDOHZJRlZ3WkdGMFpWQnZjMlVnUFNBMk1EY3NYSEpjYmx4eVhHNWNkQzh2SUVsdWRHVnlabUZqWlhNZ1lXNWtJR2x1ZEdWeVptRmpaU0JsYm5ScGRHbGxjMXh5WEc1Y2RFbHVkR1Z5Wm1GalpWTjBZWEowWldRZ1BTQTNNREFzWEhKY2JseDBTVzUwWlhKbVlXTmxSVzVrWldRZ1BTQTNNREVzWEhKY2JseDBTVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDQTlJRGN3TWl4Y2NseHVYSFJKYm5SbGNtWmhZMlZUWlc1a1JYWmxiblFnUFNBM01ETXNYSEpjYmx4MFNXNTBaWEptWVdObFVtVmpaV2wyWlVWMlpXNTBJRDBnTnpBMExGeHlYRzVjZEVsdWRHVnlabUZqWlV4dlkyc2dQU0EzTURVc1hISmNibHgwU1c1MFpYSm1ZV05sVEc5amExSmxjM0J2Ym5ObElEMGdOekEyTEZ4eVhHNWNkRWx1ZEdWeVptRmpaVlZ1Ykc5amF5QTlJRGN3Tnl4Y2NseHVYSFJKYm5SbGNtWmhZMlZWYm14dlkydFNaWE53YjI1elpTQTlJRGN3T0N4Y2NseHVYSFJKYm5SbGNtWmhZMlZTWld4dlkyc2dQU0EzTURrc1hISmNibHgwU1c1MFpYSm1ZV05sVW1Wc2IyTnJVbVZ6Y0c5dWMyVWdQU0EzTVRBc1hISmNibHgwU1c1MFpYSm1ZV05sVTJWdVpFVjJaVzUwVW1WemNHOXVjMlVnUFNBM01URXNYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JsYm5WdElGZGxZbE52WTJ0bGRFTnNiM05sUTI5a1pYTmNjbHh1ZTF4eVhHNWNkRlZ6WlhKRVpYTjBjbTk1WldSSFlXUm5aWFFnUFNBME56QXhMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkZibVJ3YjJsdWRGUjVjR1ZjY2x4dWUxeHlYRzVjZEZWdWEyNXZkMjRnUFNBdE1TeGNjbHh1WEhSSWRXSWdQU0F3TEZ4eVhHNWNkRWRoWkdkbGRDQTlJREVzWEhKY2JseDBUbTlrWlNBOUlESXNYSEpjYmx4MFVtVnVaR1Z5WlhJZ1BTQXpMRnh5WEc1Y2RFMXZibWwwYjNJZ1BTQTBMRnh5WEc1Y2RGVjBhV3hwZEhrZ1BTQTFMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVWdVpIQnZhVzUwUVdSa2NseHlYRzU3WEhKY2JseDBkSGx3WlRvZ1JXNWtjRzlwYm5SVWVYQmxPMXh5WEc1Y2RHVnVaSEJ2YVc1MFNXUS9PaUJ1ZFcxaVpYSTdYSEpjYmx4MGJtOWtaVWxrUHpvZ2JuVnRZbVZ5TzF4eVhHNTlYSEpjYmx4eVhHNW1kVzVqZEdsdmJpQmxibVJ3YjJsdWRGUjVjR1ZHY205dFEyaGhjbUZqZEdWeUtDQmpPaUJ6ZEhKcGJtY2dLVG9nUlc1a2NHOXBiblJVZVhCbFhISmNibnRjY2x4dVhIUnpkMmwwWTJnb0lHTWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTmhjMlVnWENKSVhDSTZJSEpsZEhWeWJpQkZibVJ3YjJsdWRGUjVjR1V1U0hWaU8xeHlYRzVjZEZ4MFkyRnpaU0JjSWtkY0lqb2djbVYwZFhKdUlFVnVaSEJ2YVc1MFZIbHdaUzVIWVdSblpYUTdYSEpjYmx4MFhIUmpZWE5sSUZ3aVRsd2lPaUJ5WlhSMWNtNGdSVzVrY0c5cGJuUlVlWEJsTGs1dlpHVTdYSEpjYmx4MFhIUmpZWE5sSUZ3aVRWd2lPaUJ5WlhSMWNtNGdSVzVrY0c5cGJuUlVlWEJsTGsxdmJtbDBiM0k3WEhKY2JseDBYSFJqWVhObElGd2lVbHdpT2lCeVpYUjFjbTRnUlc1a2NHOXBiblJVZVhCbExsSmxibVJsY21WeU8xeHlYRzVjZEZ4MFpHVm1ZWFZzZERvZ2NtVjBkWEp1SUVWdVpIQnZhVzUwVkhsd1pTNVZibXR1YjNkdU8xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVablZ1WTNScGIyNGdaVzVrY0c5cGJuUkRhR0Z5WVdOMFpYSkdjbTl0Vkhsd1pTZ2daWEIwT2lCRmJtUndiMmx1ZEZSNWNHVWdLVG9nYzNSeWFXNW5YSEpjYm50Y2NseHVYSFJ6ZDJsMFkyZ29JR1Z3ZENBcFhISmNibHgwZTF4eVhHNWNkRngwWTJGelpTQkZibVJ3YjJsdWRGUjVjR1V1U0hWaU9pQnlaWFIxY200Z1hDSklYQ0k3WEhKY2JseDBYSFJqWVhObElFVnVaSEJ2YVc1MFZIbHdaUzVIWVdSblpYUTZJSEpsZEhWeWJpQmNJa2RjSWp0Y2NseHVYSFJjZEdOaGMyVWdSVzVrY0c5cGJuUlVlWEJsTGs1dlpHVTZJSEpsZEhWeWJpQmNJazVjSWp0Y2NseHVYSFJjZEdOaGMyVWdSVzVrY0c5cGJuUlVlWEJsTGsxdmJtbDBiM0k2SUhKbGRIVnliaUJjSWsxY0lqdGNjbHh1WEhSY2RHTmhjMlVnUlc1a2NHOXBiblJVZVhCbExsSmxibVJsY21WeU9pQnlaWFIxY200Z1hDSlNYQ0k3WEhKY2JseDBYSFJqWVhObElFVnVaSEJ2YVc1MFZIbHdaUzVWYm10dWIzZHVPaUJ5WlhSMWNtNGdYQ0pWWENJN1hISmNibHgwWEhSa1pXWmhkV3gwT2lCeVpYUjFjbTRnWENJL1hDSTdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvSUdWd1lUb2dSVzVrY0c5cGJuUkJaR1J5SUNrZ09pQnpkSEpwYm1kY2NseHVlMXh5WEc1Y2RHbG1LQ0FoWlhCaElDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhSOVhISmNibHgwWld4elpWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJsYm1Sd2IybHVkRU5vWVhKaFkzUmxja1p5YjIxVWVYQmxLQ0JsY0dFdWRIbHdaU0FwWEhKY2JseDBYSFFySUZ3aU9sd2lJQ3NnS0NCbGNHRXVaVzVrY0c5cGJuUkpaQ0EvSUdWd1lTNWxibVJ3YjJsdWRFbGtJRG9nTUNBcFhISmNibHgwWEhRcklGd2lPbHdpSUNzZ0tDQmxjR0V1Ym05a1pVbGtJRDhnWlhCaExtNXZaR1ZKWkNBNklEQWdLVHRjY2x4dVhIUjlYSEpjYm4xY2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MzUnlhVzVuVkc5RmJtUndiMmx1ZEVGa1pISW9JR1Z3WVZOMGNqb2djM1J5YVc1bklDa2dPaUJGYm1Sd2IybHVkRUZrWkhKY2NseHVlMXh5WEc1Y2RHeGxkQ0J5WlNBOUlHNWxkeUJTWldkRmVIQW9JRndpWGlndUtUb29XekF0T1YwcktUb29XekF0T1YwcktTUmNJaUFwTzF4eVhHNWNkR3hsZENCdFlYUmphQ0E5SUhKbExtVjRaV01vSUdWd1lWTjBjaUFwTzF4eVhHNWNkR2xtS0NBaGJXRjBZMmdnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1pXNWtjRzlwYm5RZ2MzUnlhVzVuSUNSN0lHVndZVk4wY2lCOUlHWmhhV3hsWkNCMGJ5QndZWEp6WldBZ0tUdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RIMWNjbHh1WEhSeVpYUjFjbTRnS0Z4eVhHNWNkRngwZXlCY2NseHVYSFJjZEZ4MGRIbHdaVG9nWlc1a2NHOXBiblJVZVhCbFJuSnZiVU5vWVhKaFkzUmxjaWdnYldGMFkyaGJNVjBnS1N4Y2NseHVYSFJjZEZ4MFpXNWtjRzlwYm5SSlpEb2djR0Z5YzJWSmJuUW9JRzFoZEdOb1d6SmRJQ2tzWEhKY2JseDBYSFJjZEc1dlpHVkpaRG9nY0dGeWMyVkpiblFvSUcxaGRHTm9Xek5kSUNrc1hISmNibHgwWEhSOUlDazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsYm1Sd2IybHVkRUZrWkhKSmMwVnRjSFI1S0NCbGNHRTZJRVZ1WkhCdmFXNTBRV1JrY2lBcE9pQmliMjlzWldGdVhISmNibnRjY2x4dVhIUnlaWFIxY200Z1pYQmhJRDA5SUc1MWJHd2dmSHdnWlhCaExuUjVjR1VnUFQwZ2RXNWtaV1pwYm1Wa0lIeDhJR1Z3WVM1MGVYQmxJRDA5SUVWdVpIQnZhVzUwVkhsd1pTNVZibXR1YjNkdU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaVzVrY0c5cGJuUkJaR1J5YzAxaGRHTm9LQ0JsY0dFeE9pQkZibVJ3YjJsdWRFRmtaSElzSUdWd1lUSTZJRVZ1WkhCdmFXNTBRV1JrY2lBcE9pQmliMjlzWldGdVhISmNibnRjY2x4dVhIUnBaaWdnWlc1a2NHOXBiblJCWkdSeVNYTkZiWEIwZVNnZ1pYQmhNU0FwSUNsY2NseHVYSFJjZEhKbGRIVnliaUJsYm1Sd2IybHVkRUZrWkhKSmMwVnRjSFI1S0NCbGNHRXlJQ2s3WEhKY2JseDBaV3h6WlNCcFppZ2daVzVrY0c5cGJuUkJaR1J5U1hORmJYQjBlU2dnWlhCaE1pQXBJQ2xjY2x4dVhIUmNkSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVYSEpjYmx4MGNtVjBkWEp1SUdWd1lURXVkSGx3WlNBOVBTQmxjR0V5TG5SNWNHVWdKaVlnWlhCaE1TNXViMlJsU1dRZ1BUMGdaWEJoTWk1dWIyUmxTV1FnSmlZZ1pYQmhNUzVsYm1Sd2IybHVkRWxrSUQwOUlHVndZVEl1Wlc1a2NHOXBiblJKWkR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHVaR1Y0VDJaRmJtUndiMmx1ZEVGa1pISnpLQ0JsY0dGQmNuSmhlVG9nUlc1a2NHOXBiblJCWkdSeVcxMHNJR1Z3WVRvZ1JXNWtjRzlwYm5SQlpHUnlJQ2s2SUc1MWJXSmxjbHh5WEc1N1hISmNibHgwYVdZb0lDRmxjR0ZCY25KaGVTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUMweE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUm1iM0lvSUd4bGRDQnBJRDBnTURzZ2FTQThJR1Z3WVVGeWNtRjVMbXhsYm1kMGFEc2dhU3NySUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ1pXNWtjRzlwYm5SQlpHUnljMDFoZEdOb0tDQmxjR0ZCY25KaGVWdHBYU3dnWlhCaElDa2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdhVHRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4MGNtVjBkWEp1SUMweE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMjl0Y0hWMFpVVnVaSEJ2YVc1MFJtbGxiR1JWY21rb0lHVndZVG9nUlc1a2NHOXBiblJCWkdSeUxDQm1hV1ZzWkU1aGJXVTZJSE4wY21sdVp5QXBYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdZRzV2WkdWbWFXVnNaRG92THlSN0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0JsY0dFZ0tTQjlMeVI3SUdacFpXeGtUbUZ0WlNCOVlEdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JGYm5abGJHOXdaVnh5WEc1N1hISmNibHgwZEhsd1pUb2dUV1Z6YzJGblpWUjVjR1U3WEhKY2JseDBjMlZ4ZFdWdVkyVk9kVzFpWlhJNklHNTFiV0psY2p0Y2NseHVYSFJ5WlhCc2VWUnZQem9nYm5WdFltVnlPMXh5WEc1Y2RITmxibVJsY2o4NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUjBZWEpuWlhRL09pQkZibVJ3YjJsdWRFRmtaSEk3SUZ4eVhHNWNkSEJoZVd4dllXUS9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGNHRjViRzloWkZWdWNHRmphMlZrUHpvZ1lXNTVPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowVnljbTl5WEhKY2JudGNjbHh1WEhSdFpYTnpZV2RsVkhsd1pUODZJRTFsYzNOaFoyVlVlWEJsTzF4eVhHNWNkR1Z5Y205eU9pQnpkSEpwYm1jN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uVTJWMFJXNWtjRzlwYm5SVWVYQmxYSEpjYm50Y2NseHVYSFJ1WlhkRmJtUndiMmx1ZEZSNWNHVTZJRVZ1WkhCdmFXNTBWSGx3WlR0Y2NseHVYSFJuWVdSblpYUlZjbWsvT2lCemRISnBibWM3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RYTm5VMlYwUlc1a2NHOXBiblJVZVhCbFVtVnpjRzl1YzJWY2NseHVlMXh5WEc1Y2RHVnVaSEJ2YVc1MFNXUTZJRzUxYldKbGNqdGNjbHh1WEhSelpYUjBhVzVuY3o4NklHRnVlVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZE9aWGRGYm1Sd2IybHVkRnh5WEc1N1hISmNibHgwYm1WM1JXNWtjRzlwYm5SVWVYQmxPaUJGYm1Sd2IybHVkRlI1Y0dVN1hISmNibHgwWlc1a2NHOXBiblJKWkRvZ2JuVnRZbVZ5TzF4eVhHNWNkR2RoWkdkbGRGVnlhVDg2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZE1iM04wUlc1a2NHOXBiblJjY2x4dWUxeHlYRzVjZEdWdVpIQnZhVzUwU1dRNklHNTFiV0psY2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRIWlhSQllYSmtkbUZ5YTAxaGJtbG1aWE4wWEhKY2JudGNjbHh1WEhSbllXUm5aWFJWY21rNklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRIWlVGaGNtUjJZWEpyVFdGdWFXWmxjM1JTWlhOd2IyNXpaVnh5WEc1N1hISmNibHgwWlhKeWIzSS9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGJXRnVhV1psYzNRL09pQkJZWEprZG1GeWEwMWhibWxtWlhOME8xeHlYRzVjZEdkaFpHZGxkRlZ5YVQ4NklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVFhOblZYQmtZWFJsVTJObGJtVkhjbUZ3YUZ4eVhHNTdYSEpjYmx4MGNtOXZkRDg2SUVGMlRtOWtaVHRjY2x4dVhIUm5ZV1JuWlhSVmNtdy9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGIzSnBaMmx1UHpvZ2MzUnlhVzVuTzF4eVhHNWNkSFZ6WlhKQloyVnVkRDg2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselZYTmxja0ZuWlc1MFFXRnlaSFpoY21zb0lIVnpaWEpCWjJWdWREb2djM1J5YVc1bklDbGNjbHh1ZTF4eVhHNWNkSEpsZEhWeWJpQjFjMlZ5UVdkbGJuUXVhVzVqYkhWa1pYTW9JRndpUVdGeVpIWmhjbXRjSWlBcE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCaGNuTmxSVzUyWld4dmNHVW9JR1Z1ZGxOMGNtbHVaem9nYzNSeWFXNW5MQ0J3WVhKelpWQmhlV3h2WVdRNklHSnZiMnhsWVc0Z1BTQjBjblZsSUNrNklFVnVkbVZzYjNCbFhISmNibnRjY2x4dVhIUjBjbmxjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWlc1MklEMGdTbE5QVGk1d1lYSnpaU2dnWlc1MlUzUnlhVzVuSUNrZ1lYTWdSVzUyWld4dmNHVTdYSEpjYmx4MFhIUnBaaWdnWlc1MkxuQmhlV3h2WVdRZ0ppWWdjR0Z5YzJWUVlYbHNiMkZrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFpXNTJMbkJoZVd4dllXUlZibkJoWTJ0bFpDQTlJRXBUVDA0dWNHRnljMlVvSUdWdWRpNXdZWGxzYjJGa0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUnlaWFIxY200Z1pXNTJPMXh5WEc1Y2RIMWNjbHh1WEhSallYUmphQ2dnWlNBcFhISmNibHgwZTF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2labUZwYkdWa0lIUnZJSEJoY25ObElHVnVkbVZzYjNCbFhDSXNJR1Z1ZGxOMGNtbHVaeXdnWlNBcE8xeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTF6WjBkaFpHZGxkRk4wWVhKMFpXUmNjbHh1ZTF4eVhHNWNkR1Z3Vkc5T2IzUnBabms2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSemRHRnlkR1ZrUjJGa1oyVjBSVzVrY0c5cGJuUkpaRG9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRPYjJSbFNHRndkR2xqWEhKY2JudGNjbHh1WEhSdWIyUmxTV1E2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSaGJYQnNhWFIxWkdVNklHNTFiV0psY2p0Y2NseHVYSFJtY21WeGRXVnVZM2s2SUc1MWJXSmxjanRjY2x4dVhIUmtkWEpoZEdsdmJqb2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTF6WjBsdWRHVnlabUZqWlVWMlpXNTBYSEpjYm50Y2NseHVYSFJrWlhOMGFXNWhkR2x2YmpvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RHbHVkR1Z5Wm1GalpUb2djM1J5YVc1bk8xeHlYRzVjZEdSaGRHRTZJRzlpYW1WamREdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JOYzJkVFlYWmxVMlYwZEdsdVozTmNjbHh1ZTF4eVhHNWNkSE5sZEhScGJtZHpPaUJoYm5rN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uVlhCa1lYUmxRV04wYVc5dVUzUmhkR1ZjY2x4dWUxeHlYRzVjZEdkaFpHZGxkRWxrT2lCdWRXMWlaWEk3WEhKY2JseDBhR0Z1WkRvZ1JVaGhibVE3WEhKY2JseDBZV04wYVc5dVUzUmhkR1U2SUVGMlFXTjBhVzl1VTNSaGRHVTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVFhOblQzWmxjbkpwWkdWVWNtRnVjMlp2Y20xY2NseHVlMXh5WEc1Y2RHNXZaR1ZKWkRvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RIUnlZVzV6Wm05eWJUb2dRWFpPYjJSbFZISmhibk5tYjNKdE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZEhaWFJKYm5OMFlXeHNaV1JIWVdSblpYUnpYSEpjYm50Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRIWlhSSmJuTjBZV3hzWldSSFlXUm5aWFJ6VW1WemNHOXVjMlZjY2x4dWUxeHlYRzVjZEdsdWMzUmhiR3hsWkVkaFpHZGxkSE02SUhOMGNtbHVaMXRkTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMFJsYzNSeWIzbEhZV1JuWlhSY2NseHVlMXh5WEc1Y2RHZGhaR2RsZEVsa09pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uU1c1emRHRnNiRWRoWkdkbGRGeHlYRzU3WEhKY2JseDBaMkZrWjJWMFZYSnBPaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVFhOblUyVjBSMkZrWjJWMFZHOUJkWFJ2VEdGMWJtTm9YSEpjYm50Y2NseHVYSFJuWVdSblpYUlZjbWs2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uVW1WemIzVnlZMlZNYjJGa1JtRnBiR1ZrWEhKY2JudGNjbHh1WEhSdWIyUmxTV1E2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSeVpYTnZkWEpqWlZWeWFUb2djM1J5YVc1bk8xeHlYRzVjZEdWeWNtOXlPaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYmk4dklIUjRMQ0IwZVN3Z2RIb3NJSEozTENCeWVDd2djbmtzSUhKNlhISmNibVY0Y0c5eWRDQjBlWEJsSUUxcGJtbHRZV3hRYjNObElEMGdXeUJ1ZFcxaVpYSXNJRzUxYldKbGNpd2diblZ0WW1WeUxDQnVkVzFpWlhJc0lHNTFiV0psY2l3Z2JuVnRZbVZ5TENCdWRXMWlaWElnWFR0Y2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVk4wWVhKMFpXUmNjbHh1ZTF4eVhHNWNkSFJ5WVc1emJXbDBkR1Z5T2lCRmJtUndiMmx1ZEVGa1pISTdYSEpjYmx4MGRISmhibk50YVhSMFpYSlBjbWxuYVc0NklITjBjbWx1Wnp0Y2NseHVYSFIwY21GdWMyMXBkSFJsY2xWelpYSkJaMlZ1ZERvZ2MzUnlhVzVuTzF4eVhHNWNkSEpsWTJWcGRtVnlPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY21WalpXbDJaWEpQY21sbmFXNDZJSE4wY21sdVp6dGNjbHh1WEhSeVpXTmxhWFpsY2xWelpYSkJaMlZ1ZERvZ2MzUnlhVzVuTzF4eVhHNWNkR2xtWVdObE9pQnpkSEpwYm1jN1hISmNibHgwZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1WEhScGJuUmxjbk5sWTNScGIyNVFiMmx1ZEQ4NklFRjJWbVZqZEc5eU8xeHlYRzVjZEhCaGNtRnRjejg2SUc5aWFtVmpkRHNnTHk4Z1ZHaHBjeUIzYVd4c0lHOXViSGtnWW1VZ2MyVjBJR1p2Y2lCcGJtbDBhV0ZzSUdsdWRHVnlabUZqWlNCc2IyTnJjMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowbHVkR1Z5Wm1GalpVVnVaR1ZrWEhKY2JudGNjbHh1WEhSMGNtRnVjMjFwZEhSbGNqb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkSEpsWTJWcGRtVnlPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwYVdaaFkyVTZJSE4wY21sdVp6dGNjbHh1WEhSMGNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjajg2SUVGMlRtOWtaVlJ5WVc1elptOXliVHRjY2x4dVhIUnBiblJsY25ObFkzUnBiMjVRYjJsdWREODZJRUYyVm1WamRHOXlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowbHVkR1Z5Wm1GalpVeHZZMnRjY2x4dWUxeHlYRzVjZEhSeVlXNXpiV2wwZEdWeU9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JseDBjbVZqWldsMlpYSTZJRVZ1WkhCdmFXNTBRV1JrY2p0Y2NseHVYSFJwWm1GalpUb2djM1J5YVc1bk8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCSmJuUmxjbVpoWTJWTWIyTnJVbVZ6ZFd4MFhISmNibnRjY2x4dVhIUlRkV05qWlhOeklEMGdNQ3hjY2x4dVhIUkJiSEpsWVdSNVRHOWphMlZrSUQwZ01TeGNjbHh1WEhST2IzUk1iMk5yWldRZ1BTQXlMRnh5WEc1Y2RFbHVkR1Z5Wm1GalpVNXZkRVp2ZFc1a0lEMGdNeXhjY2x4dVhIUkpiblJsY21aaFkyVk9ZVzFsVFdsemJXRjBZMmdnUFNBMExGeHlYRzVjZEVsdWRHVnlabUZqWlZKbFkyVnBkbVZ5VFdsemJXRjBZMmdnUFNBMUxGeHlYRzVjZEU1bGQxSmxZMlZwZG1WeVRtOTBSbTkxYm1RZ1BTQTJMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxelowbHVkR1Z5Wm1GalpVeHZZMnRTWlhOd2IyNXpaVnh5WEc1N1hISmNibHgwY21WemRXeDBPaUJKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVlZ1Ykc5amExeHlYRzU3WEhKY2JseDBkSEpoYm5OdGFYUjBaWEk2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSeVpXTmxhWFpsY2pvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RHbG1ZV05sT2lCemRISnBibWM3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RYTm5TVzUwWlhKbVlXTmxWVzVzYjJOclVtVnpjRzl1YzJWY2NseHVlMXh5WEc1Y2RISmxjM1ZzZERvZ1NXNTBaWEptWVdObFRHOWphMUpsYzNWc2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JOYzJkSmJuUmxjbVpoWTJWU1pXeHZZMnRjY2x4dWUxeHlYRzVjZEhSeVlXNXpiV2wwZEdWeU9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JseDBiMnhrVW1WalpXbDJaWEk2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSdVpYZFNaV05sYVhabGNqb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkR2xtWVdObE9pQnpkSEpwYm1jN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUWE5uU1c1MFpYSm1ZV05sVW1Wc2IyTnJVbVZ6Y0c5dWMyVmNjbHh1ZTF4eVhHNWNkSEpsYzNWc2REb2dTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkRHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTmMyZEpiblJsY21aaFkyVlVjbUZ1YzJadmNtMVZjR1JoZEdWa1hISmNibnRjY2x4dVhIUmtaWE4wYVc1aGRHbHZiam9nUlc1a2NHOXBiblJCWkdSeU8xeHlYRzVjZEhCbFpYSTZJRVZ1WkhCdmFXNTBRV1JrY2p0Y2NseHVYSFJwWm1GalpUb2djM1J5YVc1bk8xeHlYRzVjZEdSbGMzUnBibUYwYVc5dVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJwYm5SbGNuTmxZM1JwYjI1UWIybHVkRDg2SUVGMlZtVmpkRzl5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVk5sYm1SRmRtVnVkRnh5WEc1N1hISmNibHgwWkdWemRHbHVZWFJwYjI0NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUndaV1Z5T2lCRmJtUndiMmx1ZEVGa1pISTdYSEpjYmx4MGFXWmhZMlU2SUhOMGNtbHVaenRjY2x4dVhIUmxkbVZ1ZERvZ2IySnFaV04wTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMXpaMGx1ZEdWeVptRmpaVk5sYm1SRmRtVnVkRkpsYzNCdmJuTmxYSEpjYm50Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5jMmRKYm5SbGNtWmhZMlZTWldObGFYWmxSWFpsYm5SY2NseHVlMXh5WEc1Y2RHUmxjM1JwYm1GMGFXOXVPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0dWbGNqb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkR2xtWVdObE9pQnpkSEpwYm1jN1hISmNibHgwWlhabGJuUTZJRzlpYW1WamREdGNjbHh1WEhSa1pYTjBhVzVoZEdsdmJrWnliMjFRWldWeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wN1hISmNibHgwYVc1MFpYSnpaV04wYVc5dVVHOXBiblEvT2lCQmRsWmxZM1J2Y2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHVnVkVzBnUVhaT2IyUmxWSGx3WlZ4eVhHNTdYSEpjYmx4MFNXNTJZV3hwWkNBOUlDMHhMRnh5WEc1Y2NseHVYSFJEYjI1MFlXbHVaWElnUFNBd0xGeHlYRzVjZEU5eWFXZHBiaUE5SURFc1hISmNibHgwVkhKaGJuTm1iM0p0SUQwZ01peGNjbHh1WEhSTmIyUmxiQ0E5SURNc1hISmNibHgwTHk5UVlXNWxiQ0E5SURRc1hISmNibHgwTHk5UWIydGxjaUE5SURVc1hISmNibHgwTHk4Z1IzSmhZbUpoWW14bElEMGdOaXhjY2x4dVhIUXZMeUJJWVc1a2JHVWdQU0EzTEZ4eVhHNWNkQzh2SUVkeVlXSmlaWElnUFNBNExGeHlYRzVjZEM4dklFaHZiMnNnUFNBNUxGeHlYRzVjZEV4cGJtVWdQU0F4TUN4Y2NseHVYSFF2TDFCaGJtVnNTVzUwWlhKelpXTjBhVzl1SUQwZ01URXNYSEpjYmx4MFVHRnlaVzUwVkhKaGJuTm1iM0p0SUQwZ01USXNYSEpjYmx4MFNHVmhaRVpoWTJsdVoxUnlZVzV6Wm05eWJTQTlJREV6TEZ4eVhHNWNkQzh2SUZKbGJXOTBaVlZ1YVhabGNuTmxJRDBnTVRRc1hISmNibHgwTHk4Z1VtVnRiM1JsVDNKcFoybHVJRDBnTVRVc1hISmNibHgwTHk4Z1VtOXZiVTFsYldKbGNpQTlJREUyTEZ4eVhHNWNkRWx1ZEdWeVptRmpaVVZ1ZEdsMGVTQTlJREUzTEZ4eVhHNWNkRU5vYVd4a0lEMGdNVGdzWEhKY2JseDBUVzlrWld4VWNtRnVjMlp2Y20wZ1BTQXhPU3hjY2x4dWZWeHlYRzVjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpKYm5SbGNtWmhZMlZGZG1WdWRGQnliMk5sYzNOdmNseHlYRzU3WEhKY2JseDBLQ0JwWm1GalpUb2djM1J5YVc1bkxDQnpaVzVrWlhJNklFVnVaSEJ2YVc1MFFXUmtjaXdnWkdGMFlUb2diMkpxWldOMElDazZJSFp2YVdRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBiblJsY21aaFkyVlViMU4wY21sdVp5Z2dkSEpoYm5OdGFYUjBaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2djbVZqWldsMlpYSTZJRVZ1WkhCdmFXNTBRV1JrY2l3Z2FXWmhZMlU2SUhOMGNtbHVaeUFwWEhKY2JudGNjbHh1WEhSeVpYUjFjbTRnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lIUnlZVzV6YldsMGRHVnlJQ2tnS3lCY0lpMCtYQ0lnS3lCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5Z2djbVZqWldsMlpYSWdLU0JjY2x4dVhIUmNkQ3NnWENJb1hDSWdLeUJwWm1GalpTQXJJRndpS1Z3aU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhVzUwWlhKbVlXTmxVM1J5YVc1blJuSnZiVTF6WnlnZ2JUb2dleUIwY21GdWMyMXBkSFJsY2pvZ1JXNWtjRzlwYm5SQlpHUnlMQ0J5WldObGFYWmxjam9nUlc1a2NHOXBiblJCWkdSeUxDQmNjbHh1WEhScFptRmpaVG9nYzNSeWFXNW5JSDBnS1Z4eVhHNTdYSEpjYmx4MGNtVjBkWEp1SUdsdWRHVnlabUZqWlZSdlUzUnlhVzVuS0cwdWRISmhibk50YVhSMFpYSXNJRzB1Y21WalpXbDJaWElzSUcwdWFXWmhZMlVnS1R0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaV1pXTjBiM0pjY2x4dWUxeHlYRzVjZEhnNklHNTFiV0psY2p0Y2NseHVYSFI1T2lCdWRXMWlaWEk3WEhKY2JseDBlam9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGMlVYVmhkR1Z5Ym1sdmJseHlYRzU3WEhKY2JseDBlRG9nYm5WdFltVnlPMXh5WEc1Y2RIazZJRzUxYldKbGNqdGNjbHh1WEhSNk9pQnVkVzFpWlhJN1hISmNibHgwZHpvZ2JuVnRZbVZ5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRjJUbTlrWlZSeVlXNXpabTl5YlZ4eVhHNTdYSEpjYmx4MGNHOXphWFJwYjI0L09pQkJkbFpsWTNSdmNqdGNjbHh1WEhSeWIzUmhkR2x2Ymo4NklFRjJVWFZoZEdWeWJtbHZianRjY2x4dVhIUnpZMkZzWlQ4NklFRjJWbVZqZEc5eU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCRlZtOXNkVzFsVkhsd1pWeHlYRzU3WEhKY2JseDBTVzUyWVd4cFpDQTlJQzB4TEZ4eVhHNWNjbHh1WEhSVGNHaGxjbVVnUFNBd0xGeHlYRzVjZEUxdlpHVnNRbTk0SUQwZ01TeGNjbHh1WEhSQlFVSkNJRDBnTVN4Y2NseHVYSFJKYm1acGJtbDBaU0E5SURNc1hISmNibHgwUlcxd2RIa2dQU0EwTEZ4eVhHNWNkRkpoZVNBOUlEVXNJQzh2SUhKaGVTQnBjeUJoYkhkaGVYTWdaRzkzYmlCMGFHVWdjRzl6YVhScGRtVWdXQ0JoZUdseklHWnliMjBnZEdobElHOXlhV2RwYmx4eVhHNWNkRk5yWld4bGRHOXVJRDBnTml4Y2NseHVmVHRjY2x4dVhISmNiaThxS2lCV2IyeDFiV1VnWTI5dWRHVjRkQ0JoYkd4dmQzTWdaVzUwYVhScFpYTWdkRzhnYzNCbFkybG1lU0IyYjJ4MWJXVnpJSFJvWVhSY2NseHVJQ29nYjI1c2VTQmhjSEJzZVNCMGJ5QnpkR0Z5ZEdsdVp5QmhiaUJwYm5SbGNtWmhZMlVzSUc5dWJIa2dZWEJ3YkhrZ2RHOWNjbHh1SUNvZ1kyOXVkR2x1ZFdsdVp5QmhiaUJwYm5SbGNtWmhZMlVzSUc5eUlHRnNkMkY1Y3lCaGNIQnNlUzRnWEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWlc1MWJTQkZWbTlzZFcxbFEyOXVkR1Y0ZEZ4eVhHNTdYSEpjYmx4MFFXeDNZWGx6SUQwZ01DeGNjbHh1WEhSVGRHRnlkRTl1YkhrZ1BTQXhMRnh5WEc1Y2RFTnZiblJwYm5WbFQyNXNlU0E5SURJc1hISmNibjA3WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZCUWtKY2NseHVlMXh5WEc1Y2RIaE5hVzQ2SUc1MWJXSmxjanRjY2x4dVhIUjRUV0Y0T2lCdWRXMWlaWEk3WEhKY2JseDBlVTFwYmpvZ2JuVnRZbVZ5TzF4eVhHNWNkSGxOWVhnNklHNTFiV0psY2p0Y2NseHVYSFI2VFdsdU9pQnVkVzFpWlhJN1hISmNibHgwZWsxaGVEb2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVm05c2RXMWxYSEpjYm50Y2NseHVYSFIwZVhCbE9pQkZWbTlzZFcxbFZIbHdaVHRjY2x4dVhIUnViMlJsUm5KdmJWWnZiSFZ0WlQ4NklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJqYjI1MFpYaDBQem9nUlZadmJIVnRaVU52Ym5SbGVIUTdYSEpjYmx4eVhHNWNkSEpoWkdsMWN6ODZJRzUxYldKbGNqdGNjbHh1WEhSMWNtay9PaUJ6ZEhKcGJtYzdYSEpjYmx4MFlXRmlZajg2SUVGQlFrSTdYSEpjYmx4MGMydGxiR1YwYjI1UVlYUm9Qem9nYzNSeWFXNW5PeUF2THlBdmRYTmxjaTlvWVc1a0wyeGxablFnYjNJZ0wzVnpaWEl2YUdGdVpDOXlhV2RvZEZ4eVhHNWNkSE5qWVd4bFB6b2diblZ0WW1WeU95QXZMeUJUWTJGc1pYTWdjbUZrYVhWeklHOXlJRUZCUWtJZ0tHRm1kR1Z5SUcxdlpHVnNJR0p2ZUNCcGN5QnlaWE52YkhabFpDbGNjbHh1WEhSMmFYTjFZV3hwZW1VL09pQmliMjlzWldGdU95QXZMeUJKWmlCMGFHbHpJR2x6SUhSeWRXVWdRV0Z5WkhaaGNtc2dkMmxzYkNCeVpXNWtaWElnZEdobElIWnZiSFZ0WlNCMGJ5QjBhR1VnWW1WemRDQnZaaUJwZEhNZ1lXSnBiR2wwZVZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pXMXdkSGxXYjJ4MWJXVW9LVG9nUVhaV2IyeDFiV1ZjY2x4dWUxeHlYRzVjZEhKbGRIVnliaUI3SUhSNWNHVTZJRVZXYjJ4MWJXVlVlWEJsTGtWdGNIUjVJSDA3WEhKY2JuMWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x1Wm1sdWFYUmxWbTlzZFcxbEtDazZJRUYyVm05c2RXMWxYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdleUIwZVhCbE9pQkZWbTlzZFcxbFZIbHdaUzVKYm1acGJtbDBaU0I5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXOWtaV3hDYjNoV2IyeDFiV1VvSUhWeWFUb2djM1J5YVc1bkxDQnpZMkZzWlQ4NklHNTFiV0psY2lBcFhISmNibnRjY2x4dVhIUnlaWFIxY200Z0tGeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBlWEJsT2lCRlZtOXNkVzFsVkhsd1pTNU5iMlJsYkVKdmVDeGNjbHh1WEhSY2RGeDBkWEpwTEZ4eVhHNWNkRngwWEhSelkyRnNaVnh5WEc1Y2RGeDBmU0FwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlITndhR1Z5WlZadmJIVnRaU2dnY21Ga2FYVnpPaUJ1ZFcxaVpYSWdLU0E2SUVGMlZtOXNkVzFsWEhKY2JudGNjbHh1WEhSeVpYUjFjbTRnS0Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1VGNHaGxjbVVzWEhKY2JseDBYSFJjZEhKaFpHbDFjeXhjY2x4dVhIUmNkSDFjY2x4dVhIUXBYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ5WVhsV2IyeDFiV1VvSUhOMFlYSjBPaUIyWldNekxDQmthWEk2SUhabFl6TWdLVnh5WEc1N1hISmNibHgwYkdWMElHNXZaR1ZHY205dFZtOXNkVzFsT2lCdFlYUTBPMXh5WEc1Y2NseHVYSFJzWlhRZ1ltRmphem9nZG1Wak16dGNjbHh1WEhScFppZ2dkbVZqTXk1a2IzUW9JSFpsWXpNdWRYQXNJR1JwY2lBcElENGdNQzQ1T1RrZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdKaFkyc2dQU0IyWldNekxtWnZjbmRoY21RN1hISmNibHgwZlZ4eVhHNWNkR1ZzYzJWY2NseHVYSFI3WEhKY2JseDBYSFJpWVdOcklEMGdkbVZqTXk1amNtOXpjeWdnWkdseUxDQjJaV016TG5Wd0lDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnNaWFFnZFhBZ1BTQjJaV016TG1OeWIzTnpLQ0JpWVdOckxDQmthWElnS1R0Y2NseHVYSEpjYmx4MGJtOWtaVVp5YjIxV2IyeDFiV1VnUFNCdVpYY2diV0YwTkNoYlhISmNibHgwWEhSa2FYSXVlQ3hjY2x4dVhIUmNkR1JwY2k1NUxGeHlYRzVjZEZ4MFpHbHlMbm9zWEhKY2JseDBYSFF3TEZ4eVhHNWNjbHh1WEhSY2RIVndMbmdzWEhKY2JseDBYSFIxY0M1NUxGeHlYRzVjZEZ4MGRYQXVlaXhjY2x4dVhIUmNkREFzWEhKY2JseHlYRzVjZEZ4MFltRmpheTU0TEZ4eVhHNWNkRngwWW1GamF5NTVMRnh5WEc1Y2RGeDBZbUZqYXk1NkxGeHlYRzVjZEZ4ME1DeGNjbHh1WEhKY2JseDBYSFJ6ZEdGeWRDNTRMQ0J6ZEdGeWRDNTVMQ0J6ZEdGeWRDNTZMQ0F4TEZ4eVhHNWNkRjBnS1R0Y2NseHVYSEpjYmx4MGNtVjBkWEp1SUNoY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRIbHdaVG9nUlZadmJIVnRaVlI1Y0dVdVVtRjVMRnh5WEc1Y2RGeDBYSFJ1YjJSbFJuSnZiVlp2YkhWdFpUb2dibTlrWlZSeVlXNXpabTl5YlVaeWIyMU5ZWFEwS0NCdWIyUmxSbkp2YlZadmJIVnRaU0FwTEZ4eVhHNWNkRngwZlNCaGN5QkJkbFp2YkhWdFpTQXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkZUbTlrWlVac1lXZHpYSEpjYm50Y2NseHVYSFJXYVhOcFlteGxJRngwWEhSY2RGeDBYSFE5SURFZ1BEd2dNQ3hjY2x4dVhIUlFjbVZ6WlhKMlpVZHlZV0pVY21GdWMyWnZjbTBnWEhSY2REMGdNU0E4UENBeExGeHlYRzVjZEU1dmRHbG1lVTl1VkhKaGJuTm1iM0p0UTJoaGJtZGxYSFJjZEQwZ01TQThQQ0F5TEZ4eVhHNWNkRTV2ZEdsbWVWQnliM2hwYldsMGVWZHBkR2h2ZFhSSGNtRmlJRngwUFNBeElEdzhJRE1zWEhKY2JseDBRV3hzYjNkRWNtOXdUMjVJYjI5cmN5QWdYSFJjZEZ4MFBTQXhJRHc4SURRc1hISmNibHgwUVd4c2IzZE5kV3gwYVhCc1pVUnliM0J6WEhSY2RGeDBQU0F4SUR3OElEVXNYSEpjYmx4MFZHVjBhR1Z5WldSY2RGeDBYSFJjZEZ4MFBTQXhJRHc4SURZc1hISmNibHgwVTJodmQwZHlZV0pKYm1ScFkyRjBiM0pjZEZ4MFhIUTlJREVnUER3Z055eGNjbHh1WEhSU1pXMXZkR1ZjZEZ4MFhIUmNkRngwWEhROUlERWdQRHdnT0N4Y2NseHVYSFJJYVdkb2JHbG5hSFJJYjI5cmN5QWdYSFJjZEZ4MFBTQXhJRHc4SURrc1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpEYjI1emRISmhhVzUwWEhKY2JudGNjbHh1WEhSdGFXNVlQem9nYm5WdFltVnlPMXh5WEc1Y2RHMWhlRmcvT2lCdWRXMWlaWEk3WEhKY2JseDBiV2x1V1Q4NklHNTFiV0psY2p0Y2NseHVYSFJ0WVhoWlB6b2diblZ0WW1WeU8xeHlYRzVjZEcxcGJsby9PaUJ1ZFcxaVpYSTdYSEpjYmx4MGJXRjRXajg2SUc1MWJXSmxjanRjY2x4dVhIUm5jbUYyYVhSNVFXeHBaMjVsWkQ4NklHSnZiMnhsWVc0N1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpEYjJ4dmNseHlYRzU3WEhKY2JseDBjam9nYm5WdFltVnlPMXh5WEc1Y2RHYzZJRzUxYldKbGNqdGNjbHh1WEhSaU9pQnVkVzFpWlhJN1hISmNibHgwWVQ4NklHNTFiV0psY2p0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWphMXh5WEc1N1hISmNibHgwYVdaaFkyVTZJSE4wY21sdVp6dGNjbHh1WEhSeVpXTmxhWFpsY2pvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RIQmhjbUZ0Y3o4NklHOWlhbVZqZER0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkazV2WkdWY2NseHVlMXh5WEc1Y2RIUjVjR1U2SUVGMlRtOWtaVlI1Y0dVN1hISmNibHgwYVdRNklHNTFiV0psY2p0Y2NseHVYSFJ3WlhKemFYTjBaVzUwVG1GdFpUODZJSE4wY21sdVp6dGNjbHh1WEhSbmJHOWlZV3hKWkQ4NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUm1iR0ZuY3pvZ1JVNXZaR1ZHYkdGbmN6dGNjbHh1WEhSamFHbHNaSEpsYmo4NklFRjJUbTlrWlZ0ZE8xeHlYRzVjY2x4dVhIUndjbTl3VDNKcFoybHVQem9nYzNSeWFXNW5PMXh5WEc1Y2RIQnliM0JWYm1sMlpYSnpaVTVoYldVL09pQnpkSEpwYm1jN1hISmNibHgwY0hKdmNGUnlZVzV6Wm05eWJUODZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1WEhSd2NtOXdUVzlrWld4VmNtay9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGNISnZjRlp2YkhWdFpUODZJRUYyVm05c2RXMWxPMXh5WEc1Y2RIQnliM0JQZFhSbGNsWnZiSFZ0WlZOallXeGxQem9nYm5WdFltVnlPMXh5WEc1Y2RIQnliM0JXYjJ4MWJXVnpQem9nUVhaV2IyeDFiV1ZiWFR0Y2NseHVYSFJ3Y205d1VISnBiM0pwZEhrL09pQnVkVzFpWlhJN1hISmNibHgwY0hKdmNGQmhjbVZ1ZEVGa1pISS9PaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0hKdmNFbHVkR1Z5WVdOMGFYWmxQem9nWW05dmJHVmhianRjY2x4dVhIUndjbTl3UTNWemRHOXRUbTlrWlZSNWNHVS9PaUJ6ZEhKcGJtYzdYSEpjYmx4MGNISnZjRk5vWVhKbFpGUmxlSFIxY21VL09pQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZPMXh5WEc1Y2RIQnliM0JEYjI1emRISmhhVzUwUHpvZ1FYWkRiMjV6ZEhKaGFXNTBPMXh5WEc1Y2RIQnliM0JEYjJ4dmNqODZJRUYyUTI5c2IzSTdYSEpjYmx4MGNISnZjRTkyWlhKc1lYbFBibXg1UHpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJ3Y205d1FXNXBiV0YwYVc5dVUyOTFjbU5sUHpvZ2MzUnlhVzVuTzF4eVhHNWNkSEJ5YjNCRmJtUkJaR1J5UHpvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2RIQnliM0JVYUdsamEyNWxjM00vT2lCdWRXMWlaWEk3WEhKY2JseDBjSEp2Y0ZOMFlYSjBSMkZ3UHpvZ2JuVnRZbVZ5TzF4eVhHNWNkSEJ5YjNCRmJtUkhZWEEvT2lCdWRXMWlaWEk3WEhKY2JseDBjSEp2Y0ZOallXeGxWRzlHYVhRL09pQkJkbFpsWTNSdmNqdGNjbHh1WEhSd2NtOXdTVzUwWlhKbVlXTmxjejg2SUhOMGNtbHVaMXRkTzF4eVhHNWNkSEJ5YjNCVWNtRnVjMjFwZEhNL09pQnpkSEpwYm1kYlhUdGNjbHh1WEhSd2NtOXdVbVZqWldsMlpYTS9PaUJ6ZEhKcGJtZGJYVHRjY2x4dVhIUndjbTl3U1c1MFpYSm1ZV05sVEc5amEzTS9PaUJKYm1sMGFXRnNTVzUwWlhKbVlXTmxURzlqYTF0ZE8xeHlYRzVjZEhCeWIzQkRhR2xzWkVGa1pISS9PaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0hKdmNFMXZaR1ZzVG05a1pVbGtQem9nYzNSeWFXNW5PMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkZTR0Z1WkZ4eVhHNTdYSEpjYmx4MFNXNTJZV3hwWkNBOUlDMHhMRnh5WEc1Y2RFeGxablFnUFNBd0xGeHlYRzVjZEZKcFoyaDBJRDBnTVN4Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQmxiblZ0SUVWVVpYaDBkWEpsVkhsd1pWeHlYRzU3WEhKY2JseDBTVzUyWVd4cFpDQTlJREFzWEhKY2JseDBSRE5FTVRGVVpYaDBkWEpsTWtRZ1BTQXhMRnh5WEc1Y2RGUmxlSFIxY21WVmNtd2dQU0F5TEZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JGVkdWNGRIVnlaVVp2Y20xaGRGeHlYRzU3WEhKY2JseDBVamhIT0VJNFFUZ2dQU0F4TEZ4eVhHNWNkRUk0UnpoU09FRTRJRDBnTWl4Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZYSEpjYm50Y2NseHVYSFJrZUdkcFNHRnVaR3hsUHpvZ2MzUnlhVzVuTzF4eVhHNWNkSFJsZUhSMWNtVkVZWFJoUW1GelpUWTBQem9nYzNSeWFXNW5PMXh5WEc1Y2RIVnliRDg2SUhOMGNtbHVaenRjY2x4dVhIUjBlWEJsT2lCRlZHVjRkSFZ5WlZSNWNHVTdYSEpjYmx4MFptOXliV0YwT2lCRlZHVjRkSFZ5WlVadmNtMWhkRHRjY2x4dVhIUnBiblpsY25SWlB6b2dZbTl2YkdWaGJqdGNjbHh1WEhSM2FXUjBhRDg2SUc1MWJXSmxjanRjY2x4dVhIUm9aV2xuYUhRL09pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpTWlc1a1pYSmxja052Ym1acFoxeHlYRzU3WEhKY2JseDBaVzVoWW14bFRXbDRaV1JTWldGc2FYUjVPaUJpYjI5c1pXRnVPMXh5WEc1Y2RHMXBlR1ZrVW1WaGJHbDBlVVp2ZGpvZ2JuVnRZbVZ5TzF4eVhHNWNkR05zWldGeVEyOXNiM0k2SUZ0dWRXMWlaWElzSUc1MWJXSmxjaXdnYm5WdFltVnlYVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdVR1Z5YldsemMybHZibHh5WEc1N1hISmNibHgwVFdGemRHVnlJRDBnWENKdFlYTjBaWEpjSWl4Y2NseHVYSFJUWTJWdVpVZHlZWEJvSUQwZ1hDSnpZMlZ1WldkeVlYQm9YQ0lzWEhKY2JseDBSbUYyYjNKcGRHVnpJRDBnWENKbVlYWnZjbWwwWlhOY0lpeGNjbHh1WEhSVGRHRnlkRlZ5YkNBOUlGd2ljM1JoY25SMWNteGNJaXhjY2x4dVhIUkpibkIxZENBOUlGd2lhVzV3ZFhSY0lpeGNjbHh1WEhSVFpYUjBhVzVuY3lBOUlGd2ljMlYwZEdsdVozTmNJaXhjY2x4dVhIUkJjSEJzYVdOaGRHbHZiaUE5SUZ3aVlYQndiR2xqWVhScGIyNWNJaXhjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQllYSmtkbUZ5YTAxaGJtbG1aWE4wUlhoMFpXNXphVzl1WEhKY2JudGNjbHh1WEhSd1pYSnRhWE56YVc5dWN6b2dVR1Z5YldsemMybHZibHRkTzF4eVhHNWNkR0p5YjNkelpYSlhhV1IwYURvZ2JuVnRZbVZ5TzF4eVhHNWNkR0p5YjNkelpYSklaV2xuYUhRNklHNTFiV0psY2p0Y2NseHVYSFJ6ZEdGeWRFRjFkRzl0WVhScFkyRnNiSGs2SUdKdmIyeGxZVzQ3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FXRnlaSFpoY210TllXNXBabVZ6ZENCbGVIUmxibVJ6SUZkbFlrRndjRTFoYm1sbVpYTjBYSEpjYm50Y2NseHVYSFI0Y2w5MGVYQmxPaUJ6ZEhKcGJtYzdYSEpjYmx4MFlXRnlaSFpoY21zNklFRmhjbVIyWVhKclRXRnVhV1psYzNSRmVIUmxibk5wYjI0N1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRWFpIWVdSblpYUlRaWFIwYVc1bmMxeHlYRzU3WEhKY2JseDBabUYyYjNKcGRHVmtPaUJpYjI5c1pXRnVMRnh5WEc1Y2RHRjFkRzlNWVhWdVkyaEZibUZpYkdWa09pQmliMjlzWldGdVhISmNibjFjY2x4dVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHVnVkVzBnUlVGamRHbHZibHh5WEc1N1hISmNibHgwUVNBOUlEQXNYSEpjYmx4MFFpQTlJREVzWEhKY2JseDBVM0YxWldWNlpTQTlJRElzWEhKY2JseDBSM0poWWlBOUlETXNYSEpjYmx4MFJHVjBZV05vSUQwZ05DeGNjbHh1WEhSSGNtRmlVMmh2ZDFKaGVTQTlJRFVzWEhKY2JseDBSM0poWWsxdmRtVWdQU0EyTEZ4eVhHNWNkRTFoZUZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pXMXdkSGxCWTNScGIyNVRkR0YwWlNncE9pQkJka0ZqZEdsdmJsTjBZWFJsWEhKY2JudGNjbHh1WEhSeVpYUjFjbTRnS0Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSaE9pQm1ZV3h6WlN3Z1lqcG1ZV3h6WlN3Z2MzRjFaV1Y2WlRvZ1ptRnNjMlVzWEhKY2JseDBYSFJjZEdkeVlXSTZJR1poYkhObExDQm5jbUZpVTJodmQxSmhlVG9nWm1Gc2MyVXNJR1JsZEdGamFEb2dabUZzYzJVc1hISmNibHgwWEhSY2RHZHlZV0pOYjNabE9pQmJJREFzSURBZ1hWeHlYRzVjZEZ4MGZTQXBPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHWnBiSFJsY2tGamRHbHZibk5HYjNKSFlXUm5aWFFvSUdGamRHbHZibE4wWVhSbE9pQkJka0ZqZEdsdmJsTjBZWFJsSUNrNklFRjJRV04wYVc5dVUzUmhkR1ZjY2x4dWUxeHlYRzVjZEM4dklFUnZiaWQwSUdGamRIVmhiR3g1SUdacGJIUmxjaUJtYjNJZ2JtOTNMbHh5WEc1Y2RISmxkSFZ5YmlCN1hISmNibHgwWEhRdUxpNWhZM1JwYjI1VGRHRjBaU3hjY2x4dVhIUjlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJGa1oyVjBSR1YwWVdsc2MxUnZTV1FvSUdkaFpHZGxkRTVoYldVNklITjBjbWx1Wnl3Z1oyRmtaMlYwVlhKcE9pQnpkSEpwYm1jc0lHZGhaR2RsZEZCbGNuTnBjM1JsYm1ObFZYVnBaRDg2SUhOMGNtbHVaeUFwWEhKY2JudGNjbHh1WEhSc1pYUWdabWxzZEdWeVpXUk9ZVzFsSUQwZ0tDQm5ZV1JuWlhST1lXMWxJQ3NnWjJGa1oyVjBWWEpwSUNrdWNtVndiR0ZqWlNnZ0wxeGNWeTluTENCY0lsOWNJaUFwTG5SdlRHOTNaWEpEWVhObEtDazdYSEpjYmx4MGFXWW9JR1pwYkhSbGNtVmtUbUZ0WlM1c1pXNW5kR2dnUGlBeU5DQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFptbHNkR1Z5WldST1lXMWxJRDBnWm1sc2RHVnlaV1JPWVcxbExuTjFZbk4wY2lnZ01Dd2dNalFnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEdsbUtDQm5ZV1JuWlhSUVpYSnphWE4wWlc1alpWVjFhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCclpYbFViMGhoYzJnZ1BTQm5ZV1JuWlhSVmNta2dLeUJuWVdSblpYUlFaWEp6YVhOMFpXNWpaVlYxYVdRN1hISmNibHgwWEhSc1pYUWdhR0Z6YUNBOUlEQTdYSEpjYmx4MFhIUm1iM0lnS0NCc1pYUWdhU0E5SURBN0lHa2dQQ0JyWlhsVWIwaGhjMmd1YkdWdVozUm9PeUJwS3lzcElGeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnWTJoaGNpQTlJR3RsZVZSdlNHRnphQzVqYUdGeVEyOWtaVUYwS0drcE8xeHlYRzVjZEZ4MFhIUm9ZWE5vSUQwZ0tDaG9ZWE5vUER3MUtTMW9ZWE5vS1N0amFHRnlPMXh5WEc1Y2RGeDBYSFJvWVhOb0lEMGdhR0Z6YUNBbUlHaGhjMmc3SUM4dklFTnZiblpsY25RZ2RHOGdNekppYVhRZ2FXNTBaV2RsY2x4eVhHNWNkRngwZlZ4eVhHNWNkRnh5WEc1Y2RGeDBabWxzZEdWeVpXUk9ZVzFsSUNzOUlHaGhjMmd1ZEc5VGRISnBibWNvSURFMklDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnlaWFIxY200Z1ptbHNkR1Z5WldST1lXMWxPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldGdWFXWmxjM1JWY21sR2NtOXRSMkZrWjJWMFZYSnBLQ0JuWVdSblpYUlZjbWs2SUhOMGNtbHVaeUFwWEhKY2JudGNjbHh1WEhScFppZ2daMkZrWjJWMFZYSnBMbVZ1WkhOWGFYUm9LQ0JjSWk5Y0lpQXBJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1oyRmtaMlYwVlhKcElDc2dYQ0p0WVc1cFptVnpkQzUzWldKdFlXNXBabVZ6ZEZ3aU8xeHlYRzVjZEgxY2NseHVYSFJsYkhObFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJR2RoWkdkbGRGVnlhU0FySUZ3aUwyMWhibWxtWlhOMExuZGxZbTFoYm1sbVpYTjBYQ0k3WEhKY2JseDBmVnh5WEc1OUlpd2lYQ0oxYzJVZ2MzUnlhV04wWENJN1hISmNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjY2x4dWRtRnlJRzFoZERKZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDIxaGRESmNJaWs3WEhKY2JtVjRjRzl5ZEhNdWJXRjBNaUE5SUcxaGRESmZNUzVrWldaaGRXeDBPMXh5WEc1MllYSWdiV0YwTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2YldGME0xd2lLVHRjY2x4dVpYaHdiM0owY3k1dFlYUXpJRDBnYldGME0xOHhMbVJsWm1GMWJIUTdYSEpjYm5aaGNpQnRZWFEwWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl0WVhRMFhDSXBPMXh5WEc1bGVIQnZjblJ6TG0xaGREUWdQU0J0WVhRMFh6RXVaR1ZtWVhWc2REdGNjbHh1ZG1GeUlIRjFZWFJmTVNBOUlISmxjWFZwY21Vb1hDSXVMM0YxWVhSY0lpazdYSEpjYm1WNGNHOXlkSE11Y1hWaGRDQTlJSEYxWVhSZk1TNWtaV1poZFd4ME8xeHlYRzUyWVhJZ2RtVmpNbDh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZkbVZqTWx3aUtUdGNjbHh1Wlhod2IzSjBjeTUyWldNeUlEMGdkbVZqTWw4eExtUmxabUYxYkhRN1hISmNiblpoY2lCMlpXTXpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOTJaV016WENJcE8xeHlYRzVsZUhCdmNuUnpMblpsWXpNZ1BTQjJaV016WHpFdVpHVm1ZWFZzZER0Y2NseHVkbUZ5SUhabFl6UmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzWmxZelJjSWlrN1hISmNibVY0Y0c5eWRITXVkbVZqTkNBOUlIWmxZelJmTVM1a1pXWmhkV3gwTzF4eVhHNHZMeU1nYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDFwYm1SbGVDNXFjeTV0WVhBaUxDSmNJblZ6WlNCemRISnBZM1JjSWp0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh5WEc1MllYSWdZMjl1YzNSaGJuUnpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOWpiMjV6ZEdGdWRITmNJaWs3WEhKY2JuWmhjaUIyWldNMElEMGdMeW9xSUVCamJHRnpjeUFxTHlBb1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZqTkNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjeUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTkNrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0haaGJIVmxjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZUhsNmR5QTlJSFpoYkhWbGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWVGd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZVZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2llbHdpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWQxd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZUhsY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWVIbDZYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0IyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmxZelF1Y0hKdmRHOTBlWEJsTENCY0luaDVlbmRjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCMllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQjJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWNsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpWjF3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2lZbHdpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aVlWd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpY21kY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWNtZGlYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU0E5SUhaaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0IyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmxZelF1Y0hKdmRHOTBlWEJsTENCY0luSm5ZbUZjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCMllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQjJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNWhkQ0E5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxdHBibVJsZUYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1Y21WelpYUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVpQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUzSUQwZ01EdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1amIzQjVJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV00wS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCMGFHbHpMbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlIUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNXVaV2RoZEdVZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnTFhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBdGRHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlDMTBhR2x6TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdMWFJvYVhNdWR6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzVsY1hWaGJITWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUQwOVBTQjJiMmxrSURBcElIc2dkR2h5WlhOb2IyeGtJRDBnWTI5dWMzUmhiblJ6WHpFdVpYQnphV3h2YmpzZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMbmdnTFNCMlpXTjBiM0l1ZUNrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb2RHaHBjeTU1SUMwZ2RtVmpkRzl5TG5rcElENGdkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tFMWhkR2d1WVdKektIUm9hWE11ZWlBdElIWmxZM1J2Y2k1NktTQStJSFJvY21WemFHOXNaQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5jZ0xTQjJaV04wYjNJdWR5a2dQaUIwYUhKbGMyaHZiR1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1c1pXNW5kR2dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2gwYUdsekxuTnhkV0Z5WldSTVpXNW5kR2dvS1NrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1YzNGMVlYSmxaRXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE11ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIUm9hWE11ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIUm9hWE11ZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaUFySUhjZ0tpQjNLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NElDczlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlU0FyUFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5vZ0t6MGdkbVZqZEc5eUxubzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNJQ3M5SUhabFkzUnZjaTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpRdWNISnZkRzkwZVhCbExuTjFZblJ5WVdOMElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0F0UFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0xUMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQzA5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZHlBdFBTQjJaV04wYjNJdWR6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ0tqMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTVJQ285SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZWlBcVBTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuY2dLajBnZG1WamRHOXlMbmM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1d2NtOTBiM1I1Y0dVdVpHbDJhV1JsSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVDQXZQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmtnTHowZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NklDODlJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkeUF2UFNCMlpXTjBiM0l1ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNXpZMkZzWlNBOUlHWjFibU4wYVc5dUlDaDJZV3gxWlN3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElDbzlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQXFQU0IyWVd4MVpUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZelF1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZ29LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F4S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlQ0FxUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmtnS2owZ01EdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU2SUNvOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZHlBcVBTQXdPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdiR1Z1WjNSb0lEMGdNUzR3SUM4Z2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBcVBTQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlDbzlJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dLajBnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUFxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1d2NtOTBiM1I1Y0dVdWJYVnNkR2x3YkhsTllYUTBJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxaGRISnBlQzV0ZFd4MGFYQnNlVlpsWXpRb2RHaHBjeXdnWkdWemRDazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1dGFYZ2dQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlMQ0IwYVcxbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak5DZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXJJSFJwYldVZ0tpQW9kbVZqZEc5eU1pNTRJQzBnZG1WamRHOXlMbmdwTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkR2x0WlNBcUlDaDJaV04wYjNJeUxua2dMU0IyWldOMGIzSXVlU2s3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RtVmpkRzl5TG5vZ0t5QjBhVzFsSUNvZ0tIWmxZM1J2Y2pJdWVpQXRJSFpsWTNSdmNpNTZLVHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCMlpXTjBiM0l1ZHlBcklIUnBiV1VnS2lBb2RtVmpkRzl5TWk1M0lDMGdkbVZqZEc5eUxuY3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZelF1YzNWdElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhabFl6UW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdkbVZqZEc5eUxuZ2dLeUIyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2RtVmpkRzl5TG5rZ0t5QjJaV04wYjNJeUxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nS3lCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkbVZqZEc5eUxuY2dLeUIyWldOMGIzSXlMbmM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1a2FXWm1aWEpsYm1ObElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhabFl6UW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdkbVZqZEc5eUxuZ2dMU0IyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2RtVmpkRzl5TG5rZ0xTQjJaV04wYjNJeUxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nTFNCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdkbVZqZEc5eUxuY2dMU0IyWldOMGIzSXlMbmM3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTkM1d2NtOWtkV04wSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSFpsWXpRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2RtVmpkRzl5TG5nZ0tpQjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZG1WamRHOXlMbmtnS2lCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkbVZqZEc5eUxub2dLaUIyWldOMGIzSXlMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2RtVmpkRzl5TG5jZ0tpQjJaV04wYjNJeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV4ZFc5MGFXVnVkQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QjJaV00wS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhabFkzUnZjaTU0SUM4Z2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJSFpsWTNSdmNpNTVJQzhnZG1WamRHOXlNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIWmxZM1J2Y2k1NklDOGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUhabFkzUnZjaTUzSUM4Z2RtVmpkRzl5TWk1M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6UXVlbVZ5YnlBOUlHNWxkeUIyWldNMEtGc3dMQ0F3TENBd0xDQXhYU2s3WEhKY2JpQWdJQ0IyWldNMExtOXVaU0E5SUc1bGR5QjJaV00wS0ZzeExDQXhMQ0F4TENBeFhTazdYSEpjYmlBZ0lDQnlaWFIxY200Z2RtVmpORHRjY2x4dWZTZ3BLVHRjY2x4dVpYaHdiM0owY3k1a1pXWmhkV3gwSUQwZ2RtVmpORHRjY2x4dUx5OGpJSE52ZFhKalpVMWhjSEJwYm1kVlVrdzlkbVZqTkM1cWN5NXRZWEFpTENKcGJYQnZjblFnZXlCTmFXNXBiV0ZzVUc5elpTd2dRWFpPYjJSbFZISmhibk5tYjNKdExDQkJkbFpsWTNSdmNpQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZjSEp2ZEc5amIyd25PMXh5WEc1cGJYQnZjblFnZXlCMlpXTXpMQ0J0WVhRMExDQjJaV00wTENCdFlYUXpMQ0J4ZFdGMElIMGdabkp2YlNBblFIUnNZWFZyYTJGdUwzUnpiU2M3WEhKY2JtbHRjRzl5ZENBcUlHRnpJRkYxWVhSbGNtNXBiMjRnWm5KdmJTQW5jWFZoZEdWeWJtbHZiaWM3WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkSEpoYm5Oc1lYUmxUV0YwS0NCME9pQjJaV016S1Z4eVhHNTdYSEpjYmx4MGJHVjBJRzBnUFNCdVpYY2diV0YwTkNncE8xeHlYRzVjZEcwdWMyVjBTV1JsYm5ScGRIa29LVHRjY2x4dVhIUnRMblJ5WVc1emJHRjBaU2dnZENBcE8xeHlYRzVjZEhKbGRIVnliaUJ0TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2MyTmhiR1ZOWVhRb0lITTZJSFpsWXpNcFhISmNibnRjY2x4dVhIUnNaWFFnYlNBOUlHNWxkeUJ0WVhRMEtDazdYSEpjYmx4MGJTNXpaWFJKWkdWdWRHbDBlU2dwTzF4eVhHNWNkRzB1YzJOaGJHVW9JSE1nS1R0Y2NseHVYSFJ5WlhSMWNtNGdiVHRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhGMVlYUkdjbTl0UVhocGMwRnVaMnhsUkdWbmNtVmxjeWdnWVhocGN6b2dkbVZqTXl3Z1pHVm5Qem9nYm5WdFltVnlJQ2s2SUhGMVlYUmNjbHh1ZTF4eVhHNWNkR2xtS0NBaFpHVm5JQ2xjY2x4dVhIUmNkSEpsZEhWeWJpQnVaWGNnY1hWaGRDZ2djWFZoZEM1cFpHVnVkR2wwZVM1NGVYcDNJQ2s3WEhKY2JseHlYRzVjZEhKbGRIVnliaUJ4ZFdGMExtWnliMjFCZUdselFXNW5iR1VvSUdGNGFYTXNJR1JsWnlBcUlFMWhkR2d1VUVrZ0x5QXhPREFnS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlISnZkR0YwYVc5dVRXRjBSbkp2YlVWMWJHVnlSR1ZuY21WbGN5Z2djam9nZG1Wak15QXBYSEpjYm50Y2NseHVYSFJzWlhRZ2NYZ2dQU0J4ZFdGMFJuSnZiVUY0YVhOQmJtZHNaVVJsWjNKbFpYTW9JSFpsWXpNdWNtbG5hSFFzSUhJdWVDQXBPMXh5WEc1Y2RHeGxkQ0J4ZVNBOUlIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFJHVm5jbVZsY3lnZ2RtVmpNeTUxY0N3Z2NpNTVJQ2s3WEhKY2JseDBiR1YwSUhGNklEMGdjWFZoZEVaeWIyMUJlR2x6UVc1bmJHVkVaV2R5WldWektDQjJaV016TG1admNuZGhjbVFzSUhJdWVpQXBPMXh5WEc1Y2NseHVYSFJzWlhRZ2NTQTlJSEY0TG0xMWJIUnBjR3g1S0NCeGVTQXBMbTExYkhScGNHeDVLQ0J4ZWlBcE8xeHlYRzVjZEhKbGRIVnliaUJ4TG5SdlRXRjBOQ2dwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1oyVjBVbTkzUm5KdmJVMWhkQ2dnYlRvZ2JXRjBOQ3dnYmpvZ2JuVnRZbVZ5SUNrZ09pQjJaV016SUZ4eVhHNTdYSEpjYmx4MGJHVjBJSEp2ZHlBOUlHMHVjbTkzS0NCdUlDazdYSEpjYmx4MGNtVjBkWEp1SUc1bGR5QjJaV016S0NCYklISnZkMXNnTUNCZExDQnliM2RiSURFZ1hTeHliM2RiSURJZ1hTd2dYU0FwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JtOWtaVlJ5WVc1elptOXliVVp5YjIxTllYUTBLQ0J0T2lCdFlYUTBJQ2tnT2lCQmRrNXZaR1ZVY21GdWMyWnZjbTFjY2x4dWUxeHlYRzVjZEdsbUtDQWhiU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIVnVaR1ZtYVc1bFpEdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RHeGxkQ0IwY21GdWMyWnZjbTA2SUVGMlRtOWtaVlJ5WVc1elptOXliU0E5SUh0OU8xeHlYRzVjZEd4bGRDQndiM01nUFNCdExtMTFiSFJwY0d4NVZtVmpOQ2dnYm1WM0lIWmxZelFvSUZzZ01Dd2dNQ3dnTUN3Z01TQmRJQ2tnS1R0Y2NseHVYSFJwWmlnZ2NHOXpMbmdnSVQwZ01DQjhmQ0J3YjNNdWVTQWhQU0F3SUh4OElIQnZjeTU2SUNFOUlEQWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnlZVzV6Wm05eWJTNXdiM05wZEdsdmJpQTlJSHNnZURvZ2NHOXpMbmdzSUhrNklIQnZjeTU1TENCNk9pQndiM011ZWlCOU8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGJHVjBJSGhUWTJGc1pTQTlJR2RsZEZKdmQwWnliMjFOWVhRb0lHMHNJREFnS1M1c1pXNW5kR2dvS1R0Y2NseHVYSFJzWlhRZ2VWTmpZV3hsSUQwZ1oyVjBVbTkzUm5KdmJVMWhkQ2dnYlN3Z01TQXBMbXhsYm1kMGFDZ3BPMXh5WEc1Y2RHeGxkQ0I2VTJOaGJHVWdQU0JuWlhSU2IzZEdjbTl0VFdGMEtDQnRMQ0F5SUNrdWJHVnVaM1JvS0NrN1hISmNibHgwYVdZb0lIaFRZMkZzWlNBaFBTQXhJSHg4SUhsVFkyRnNaU0FoUFNBeElIeDhJSHBUWTJGc1pTQWhQU0F4SUNsY2NseHVYSFI3WEhKY2JseDBYSFIwY21GdWMyWnZjbTB1YzJOaGJHVWdQU0I3SUhnZ09pQjRVMk5oYkdVc0lIazZJSGxUWTJGc1pTd2dlam9nZWxOallXeGxJSDA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJzWlhRZ2NtOTBUV0YwSUQwZ2JtVjNJRzFoZERNb0lGeHlYRzVjZEZ4MFcxeHlYRzVjZEZ4MFhIUnRMbUYwS0NBd0lDc2dNQ0FwSUM4Z2VGTmpZV3hsTENCdExtRjBLQ0F3SUNzZ01TQXBJQzhnZUZOallXeGxMQ0J0TG1GMEtDQXdJQ3NnTWlBcElDOGdlRk5qWVd4bExGeHlYRzVjZEZ4MFhIUnRMbUYwS0NBMElDc2dNQ0FwSUM4Z2VWTmpZV3hsTENCdExtRjBLQ0EwSUNzZ01TQXBJQzhnZVZOallXeGxMQ0J0TG1GMEtDQTBJQ3NnTWlBcElDOGdlVk5qWVd4bExGeHlYRzVjZEZ4MFhIUnRMbUYwS0NBNElDc2dNQ0FwSUM4Z2VsTmpZV3hsTENCdExtRjBLQ0E0SUNzZ01TQXBJQzhnZWxOallXeGxMQ0J0TG1GMEtDQTRJQ3NnTWlBcElDOGdlbE5qWVd4bExGeHlYRzVjZEZ4MFhTQXBPMXh5WEc1Y2RHeGxkQ0J5YjNRZ1BTQnliM1JOWVhRdWRHOVJkV0YwS0NrN1hISmNibHgwYVdZb0lISnZkQzU0SUNFOUlEQWdmSHdnY205MExua2dJVDBnTUNCOGZDQnliM1F1ZWlBaFBTQXdJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBjbUZ1YzJadmNtMHVjbTkwWVhScGIyNGdQU0I3SUhnNklISnZkQzU0TENCNU9pQnliM1F1ZVN3Z2Vqb2djbTkwTG5vc0lIYzZJSEp2ZEM1M0lIMDdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnlaWFIxY200Z2RISmhibk5tYjNKdE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ2dnZEhKaGJuTm1iM0p0T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBnS1RvZ2JXRjBORnh5WEc1N1hISmNibHgwYVdZb0lDRjBjbUZ1YzJadmNtMGdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCdFlYUTBMbWxrWlc1MGFYUjVPMXh5WEc1Y2RIMWNjbHh1WEhSY2NseHVYSFJzWlhRZ2RsUnlZVzV6T2lCMlpXTXpPMXh5WEc1Y2RHbG1JQ2dnZEhKaGJuTm1iM0p0TG5CdmMybDBhVzl1SUNsY2NseHVYSFI3WEhKY2JseDBYSFIyVkhKaGJuTWdQU0J1WlhjZ2RtVmpNeWdnV3lCMGNtRnVjMlp2Y20wdWNHOXphWFJwYjI0dWVDd2dkSEpoYm5ObWIzSnRMbkJ2YzJsMGFXOXVMbmtzSUhSeVlXNXpabTl5YlM1d2IzTnBkR2x2Ymk1NklGMGdLVHRjY2x4dVhIUjlYSEpjYmx4MFpXeHpaVnh5WEc1Y2RIdGNjbHh1WEhSY2RIWlVjbUZ1Y3lBOUlHNWxkeUIyWldNektDQmJJREFzSURBc0lEQWdYU0FwTzF4eVhHNWNkSDFjY2x4dVhIUnNaWFFnZGxOallXeGxPaUIyWldNek8xeHlYRzVjZEdsbUlDZ2dkSEpoYm5ObWIzSnRMbk5qWVd4bElDbGNjbHh1WEhSN1hISmNibHgwWEhSMlUyTmhiR1VnUFNCdVpYY2dkbVZqTXlnZ1d5QjBjbUZ1YzJadmNtMHVjMk5oYkdVdWVDd2dkSEpoYm5ObWIzSnRMbk5qWVd4bExua3NJSFJ5WVc1elptOXliUzV6WTJGc1pTNTZJRjBnS1R0Y2NseHVYSFI5WEhKY2JseDBaV3h6WlZ4eVhHNWNkSHRjY2x4dVhIUmNkSFpUWTJGc1pTQTlJRzVsZHlCMlpXTXpLQ0JiSURFc0lERXNJREVnWFNBcE8xeHlYRzVjZEgxY2NseHVYSFJzWlhRZ2NWSnZkRG9nY1hWaGREdGNjbHh1WEhScFppQW9JSFJ5WVc1elptOXliUzV5YjNSaGRHbHZiaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBjVkp2ZENBOUlHNWxkeUJ4ZFdGMEtDQmJJSFJ5WVc1elptOXliUzV5YjNSaGRHbHZiaTU0TENCMGNtRnVjMlp2Y20wdWNtOTBZWFJwYjI0dWVTd2dkSEpoYm5ObWIzSnRMbkp2ZEdGMGFXOXVMbm9zSUhSeVlXNXpabTl5YlM1eWIzUmhkR2x2Ymk1M0lGMGdLVHRjY2x4dVhIUjlYSEpjYmx4MFpXeHpaVnh5WEc1Y2RIdGNjbHh1WEhSY2RIRlNiM1FnUFNCdVpYY2djWFZoZENnZ1d5QXdMQ0F3TENBd0xDQXhJRjBnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEd4bGRDQnRZWFFnUFNCMGNtRnVjMnhoZEdWTllYUW9JSFpVY21GdWN5QXBMbTExYkhScGNHeDVLQ0J4VW05MExuUnZUV0YwTkNncElDazdYSEpjYmx4MGJXRjBJRDBnYldGMExtMTFiSFJwY0d4NUtDQnpZMkZzWlUxaGRDZ2dkbE5qWVd4bElDa2dLU0E3WEhKY2JseDBYSEpjYmx4MGFXWW9JRTUxYldKbGNpNXBjMDVoVGlnZ2JXRjBMbUYwS0NBd0lDa2dLU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDQmNJa2RoY21KaFoyVWdjR0Z6YzJWa0lHbHVkRzhnYm05a1pWUnlZVzV6Wm05eWJWUnZUV0YwTkNCeVpYTjFiSFJsWkNCcGJpQk9ZVTRnYVc0Z2IzVjBjSFYwWENJZ0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RISmxkSFZ5YmlCdFlYUTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJqYjIxd2RYUmxWVzVwZG1WeWMyVkdjbTl0VEdsdVpTZ2diR2x1WlZOMFlYSjBPaUIyWldNekxDQnNhVzVsUlc1a09pQjJaV016TENCMGFHbGphMjVsYzNNNklHNTFiV0psY2lBcE9pQnRZWFEwWEhKY2JudGNjbHh1WEhSc1pYUWdiR2x1WlZabFkzUnZjaUE5SUc1bGR5QjJaV016S0NCc2FXNWxSVzVrTG5oNWVpQXBPMXh5WEc1Y2RHeHBibVZXWldOMGIzSXVjM1ZpZEhKaFkzUW9JR3hwYm1WVGRHRnlkQ0FwTzF4eVhHNWNkR3hsZENCc2FXNWxUR1Z1WjNSb0lEMGdiR2x1WlZabFkzUnZjaTVzWlc1bmRHZ29LVHRjY2x4dVhIUnNhVzVsVm1WamRHOXlMbTV2Y20xaGJHbDZaU2dwTzF4eVhHNWNkR3hsZENCamVXeHBibVJsY2tObGJuUmxjaUE5SUc1bGR5QjJaV016S0NCc2FXNWxVM1JoY25RdWVIbDZJQ2t1WVdSa0tDQnVaWGNnZG1Wak15Z2diR2x1WlZabFkzUnZjaTU0ZVhvZ0tTNXpZMkZzWlNnZ2JHbHVaVXhsYm1kMGFDQXZJRElnS1NBcE8xeHlYRzVjY2x4dVhIUnNaWFFnZVdKaGMybHpJRDBnYkdsdVpWWmxZM1J2Y2p0Y2NseHVYSFJzWlhRZ2VHSmhjMmx6T2lCMlpXTXpPMXh5WEc1Y2RHbG1LQ0I1WW1GemFYTXVlQ0ErSURBdU9Ua2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIaGlZWE5wY3lBOUlHNWxkeUIyWldNektGc2dNQ3dnTVN3Z01DQmRJQ2s3WEhKY2JseDBmU0JjY2x4dVhIUmxiSE5sWEhKY2JseDBlMXh5WEc1Y2RGeDBlR0poYzJseklEMGdibVYzSUhabFl6TW9XeUF4TENBd0xDQXdJRjBnS1R0Y2NseHVYSFI5SUZ4eVhHNWNkR3hsZENCNlltRnphWE1nUFNCMlpXTXpMbU55YjNOektDQjVZbUZ6YVhNc0lIaGlZWE5wY3l3Z2JtVjNJSFpsWXpNb0tTQXBPMXh5WEc1Y2RIcGlZWE5wY3k1dWIzSnRZV3hwZW1Vb0tUdGNjbHh1WEhSNFltRnphWE1nUFNCMlpXTXpMbU55YjNOektDQjZZbUZ6YVhNc0lIbGlZWE5wY3l3Z2VHSmhjMmx6SUNrN1hISmNibHgwYkdWMElHeHBibVZTYjNSaGRHbHZiaUE5SUc1bGR5QnRZWFEwS0Z4eVhHNWNkRngwV3lCY2NseHVYSFJjZEZ4MGVHSmhjMmx6TG5nc0lIaGlZWE5wY3k1NUxDQjRZbUZ6YVhNdWVpd2dNQ3hjY2x4dVhIUmNkRngwZVdKaGMybHpMbmdzSUhsaVlYTnBjeTU1TENCNVltRnphWE11ZWl3Z01DeGNjbHh1WEhSY2RGeDBlbUpoYzJsekxuZ3NJSHBpWVhOcGN5NTVMQ0I2WW1GemFYTXVlaXdnTUN4Y2NseHVYSFJjZEZ4ME1Dd2dNQ3dnTUN3Z01TeGNjbHh1WEhSY2RGMWNjbHh1WEhRcE8xeHlYRzVjY2x4dVhIUnNaWFFnYzJOaGJHVWdQU0J6WTJGc1pVMWhkQ2dnYm1WM0lIWmxZek1vSUZzZ2RHaHBZMnR1WlhOekxDQnNhVzVsVEdWdVozUm9MQ0IwYUdsamEyNWxjM01nWFNBcElDazdYSEpjYmx4MGNtVjBkWEp1SUhSeVlXNXpiR0YwWlUxaGRDZ2dZM2xzYVc1a1pYSkRaVzUwWlhJZ0tTNXRkV3gwYVhCc2VTZ2diR2x1WlZKdmRHRjBhVzl1TG0xMWJIUnBjR3g1S0NCelkyRnNaU0FwSUNrN0lGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkbVZqTTAxMWJIUnBjR3g1UVc1a1FXUmtLQ0JpWVhObE9pQjJaV016TENCa2FYSmxZM1JwYjI0NklIWmxZek1zSUdScGMzUmhibU5sT2lCdWRXMWlaWElnS1RvZ2RtVmpNMXh5WEc1N1hISmNibHgwY21WMGRYSnVJRzVsZHlCMlpXTXpLRnh5WEc1Y2RGeDBXMXh5WEc1Y2RGeDBYSFJpWVhObExuZ2dLeUJrYVhKbFkzUnBiMjR1ZUNBcUlHUnBjM1JoYm1ObExGeHlYRzVjZEZ4MFhIUmlZWE5sTG5rZ0t5QmthWEpsWTNScGIyNHVlU0FxSUdScGMzUmhibU5sTEZ4eVhHNWNkRngwWEhSaVlYTmxMbm9nS3lCa2FYSmxZM1JwYjI0dWVpQXFJR1JwYzNSaGJtTmxMRnh5WEc1Y2RGeDBYVnh5WEc1Y2RDbGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE5qWVd4bFFYaHBjMVJ2Um1sMEtDQnNhVzFwZERvZ2JuVnRZbVZ5TENCdGFXNDZJRzUxYldKbGNpd2diV0Y0T2lCdWRXMWlaWElnS1RvZ2JuVnRZbVZ5WEhKY2JudGNjbHh1WEhSc1pYUWdaWGgwWlc1MElEMGdUV0YwYUM1dFlYZ29JQzF0YVc0c0lHMWhlQ0FwTzF4eVhHNWNkR2xtS0NCbGVIUmxiblFnUEQwZ01DQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjZEdWc2MyVmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYkdsdGFYUWdMeUJsZUhSbGJuUTdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV2x1U1dkdWIzSnBibWRPZFd4c2N5Z2dMaTR1ZG1Gc2RXVnpPaUJ1ZFcxaVpYSmJYU0FwWEhKY2JudGNjbHh1WEhSc1pYUWdibTlPZFd4c2N5QTlJSFpoYkhWbGN5NW1hV3gwWlhJb0lDZ2dkanB1ZFcxaVpYSXBJRDArSUhzZ2NtVjBkWEp1SUhZZ0lUMGdiblZzYkRzZ2ZTQXBPMXh5WEc1Y2RHbG1LQ0J1YjA1MWJHeHpJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1RXRjBhQzV0YVc0b0lDNHVMbTV2VG5Wc2JITWdLVHRjY2x4dVhIUjlYSEpjYmx4MFpXeHpaVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR3hsY25CQmRsUnlZVzV6Wm05eWJYTW9JSGhtTURvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCNFpqRTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dkRG9nYm5WdFltVnlJQ2s2SUVGMlRtOWtaVlJ5WVc1elptOXliVnh5WEc1N1hISmNibHgwYkdWMElISmxjM1ZzZENBOUlIc2dMaTR1ZUdZeElIMDdYSEpjYmx4MGFXWW9JSGhtTUNBbUppQjRaakF1Y0c5emFYUnBiMjRnSmlZZ2VHWXhMbkJ2YzJsMGFXOXVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnZERBZ1BTQnVaWGNnZG1Wak15Z2dXeUI0WmpBdWNHOXphWFJwYjI0dWVDd2dlR1l3TG5CdmMybDBhVzl1TG5rc0lIaG1NQzV3YjNOcGRHbHZiaTU2SUYwZ0tUdGNjbHh1WEhSY2RHeGxkQ0IwTVNBOUlHNWxkeUIyWldNektDQmJJSGhtTVM1d2IzTnBkR2x2Ymk1NExDQjRaakV1Y0c5emFYUnBiMjR1ZVN3Z2VHWXhMbkJ2YzJsMGFXOXVMbm9nWFNBcE8xeHlYRzVjZEZ4MGJHVjBJSFJ5WVc1eklEMGdkbVZqTXk1dGFYZ29JSFF3TENCME1Td2dkQ3dnYm1WM0lIWmxZek1vS1NBcE8xeHlYRzVjZEZ4MGNtVnpkV3gwTG5CdmMybDBhVzl1SUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGVEb2dkSEpoYm5NdWVDeGNjbHh1WEhSY2RGeDBlVG9nZEhKaGJuTXVlU3hjY2x4dVhIUmNkRngwZWpvZ2RISmhibk11ZWl4Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEdsbUtDQjRaakFnSmlZZ2VHWXdMbk5qWVd4bElDWW1JSGhtTVM1elkyRnNaU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhNd0lEMGdibVYzSUhabFl6TW9JRnNnZUdZd0xuTmpZV3hsTG5nc0lIaG1NQzV6WTJGc1pTNTVMQ0I0WmpBdWMyTmhiR1V1ZWlCZElDazdYSEpjYmx4MFhIUnNaWFFnY3pFZ1BTQnVaWGNnZG1Wak15Z2dXeUI0WmpFdWMyTmhiR1V1ZUN3Z2VHWXhMbk5qWVd4bExua3NJSGhtTVM1elkyRnNaUzU2SUYwZ0tUdGNjbHh1WEhSY2RHeGxkQ0J6WTJGc1pTQTlJSFpsWXpNdWJXbDRLQ0J6TUN3Z2N6RXNJSFFzSUc1bGR5QjJaV016S0NrZ0tUdGNjbHh1WEhSY2RISmxjM1ZzZEM1elkyRnNaU0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhnNklITmpZV3hsTG5nc1hISmNibHgwWEhSY2RIazZJSE5qWVd4bExua3NYSEpjYmx4MFhIUmNkSG82SUhOallXeGxMbm9zWEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJwWmlnZ2VHWXdJQ1ltSUhobU1DNXliM1JoZEdsdmJpQW1KaUI0WmpFdWNtOTBZWFJwYjI0Z0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnlNQ0E5SUc1bGR5QlJkV0YwWlhKdWFXOXVLQ0I0WmpBdWNtOTBZWFJwYjI0Z0tUdGNjbHh1WEhSY2RHeGxkQ0J5TVNBOUlHNWxkeUJSZFdGMFpYSnVhVzl1S0NCNFpqRXVjbTkwWVhScGIyNGdLVHRjY2x4dVhIUmNkR3hsZENCeWIzUWdQU0J5TUM1emJHVnljQ2dnY2pFZ0tTZ2dkQ0FwTzF4eVhHNWNkRngwY21WemRXeDBMbkp2ZEdGMGFXOXVJRDFjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZHpvZ2NtOTBMbmNzWEhKY2JseDBYSFJjZEhnNklISnZkQzU0TEZ4eVhHNWNkRngwWEhSNU9pQnliM1F1ZVN4Y2NseHVYSFJjZEZ4MGVqb2djbTkwTG5vc1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSeVpYUjFjbTRnY21WemRXeDBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVc1MlpYSjBUbTlrWlZSeVlXNXpabTl5YlNnZ1puSnZiVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2s2SUVGMlRtOWtaVlJ5WVc1elptOXliVnh5WEc1N1hISmNibHgwYVdZb0lDRm1jbTl0SUNsY2NseHVYSFJjZEhKbGRIVnliaUJtY205dE8xeHlYRzVjY2x4dVhIUnNaWFFnWm5KdmJVMWhkQ0E5SUc1dlpHVlVjbUZ1YzJadmNtMVViMDFoZERRb0lHWnliMjBnS1R0Y2NseHVYSFJ5WlhSMWNtNGdibTlrWlZSeVlXNXpabTl5YlVaeWIyMU5ZWFEwS0NCbWNtOXRUV0YwTG1OdmNIa29LUzVwYm5abGNuTmxLQ2tnS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMXBibWx0WVd4UWIzTmxSbkp2YlZSeVlXNXpabTl5YlNnZ1puSnZiVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2s2SUUxcGJtbHRZV3hRYjNObFhISmNibnRjY2x4dVhIUnNaWFFnYldGMElEMGdibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ2dnWm5KdmJTQXBPMXh5WEc1Y2RHeGxkQ0J5YjNRZ1BTQnRZWFF1ZEc5TllYUXpLQ2t1ZEc5UmRXRjBLQ2s3WEhKY2JseDBiR1YwSUhCdmN5QTlJRzFoZEM1dGRXeDBhWEJzZVZabFl6UW9JRzVsZHlCMlpXTTBLQ0JiSURBc0lEQXNJREFzSURFZ1hTQXBJQ2s3WEhKY2JseDBjbVYwZFhKdUlGc2djRzl6TG5nc0lIQnZjeTU1TENCd2IzTXVlaXdnY205MExuY3NJSEp2ZEM1NExDQnliM1F1ZVN3Z2NtOTBMbm9nWFR0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMXBibWx0WVd4VWIwMWhkRFJVY21GdWMyWnZjbTBvSUcxcGJtbHRZV3c2SUUxcGJtbHRZV3hRYjNObElDazZJRzFoZERSY2NseHVlMXh5WEc1Y2RHeGxkQ0IwY21GdWMyWnZjbTA2SUVGMlRtOWtaVlJ5WVc1elptOXliU0E5SUZ4eVhHNWNkSHRjY2x4dVhIUmNkSEJ2YzJsMGFXOXVPaUI3SUhnNklHMXBibWx0WVd4Yk1GMHNJSGs2SUcxcGJtbHRZV3hiTVYwc0lIbzZJRzFwYm1sdFlXeGJNbDBnZlN4Y2NseHVYSFJjZEhKdmRHRjBhVzl1T2lCN0lIYzZJRzFwYm1sdFlXeGJNMTBzSUhnNklHMXBibWx0WVd4Yk5GMHNJSGs2SUcxcGJtbHRZV3hiTlYwc0lIbzZJRzFwYm1sdFlXeGJObDBnZlN3Z1hISmNibHgwZlR0Y2NseHVYSFJ5WlhSMWNtNGdibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ2dnZEhKaGJuTm1iM0p0SUNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRkV3gwYVhCc2VWUnlZVzV6Wm05eWJYTW9JR3hvY3pvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCeWFITTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTQXBYSEpjYm50Y2NseHVYSFJzWlhRZ2JHMGdQU0J1YjJSbFZISmhibk5tYjNKdFZHOU5ZWFEwS0NCc2FITWdLVHRjY2x4dVhIUnNaWFFnY20wZ1BTQnViMlJsVkhKaGJuTm1iM0p0Vkc5TllYUTBLQ0J5YUhNZ0tUdGNjbHh1WEhSeVpYUjFjbTRnYm05a1pWUnlZVzV6Wm05eWJVWnliMjFOWVhRMEtDQnRZWFEwTG5CeWIyUjFZM1FvSUd4dExDQnliU3dnYm1WM0lHMWhkRFFvS1NBcElDazdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVhSTmRXeDBhWEJzZVZCdmFXNTBLQ0J0T2lCdFlYUTBMQ0J3ZERvZ2RtVmpNeUFwT2lCMlpXTXpYSEpjYm50Y2NseHVYSFJzWlhRZ2RqUWdQU0J1WlhjZ2RtVmpOQ2dnV3lCd2RDNTRMQ0J3ZEM1NUxDQndkQzU2TENBeElGMGdLVHRjY2x4dVhIUnlaWFIxY200Z2JtVjNJSFpsWXpNb0lHMHViWFZzZEdsd2JIbFdaV00wS0NCMk5Dd2dibVYzSUhabFl6UW9LU0FwTG5oNWVpQXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZG1WalJuSnZiVUYyVm1WamRHOXlLQ0IyT2lCQmRsWmxZM1J2Y2lBcE9pQjJaV016WEhKY2JudGNjbHh1WEhScFppZ2dJWFlnS1Z4eVhHNWNkRngwY21WMGRYSnVJRzUxYkd3N1hISmNibHgwY21WMGRYSnVJRzVsZHlCMlpXTXpLQ0JiSUhZdWVDd2dkaTU1TENCMkxub2dYU0FwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RtVmpWRzlCZGxabFkzUnZjaWdnZGpvZ2RtVmpNeUFwT2lCQmRsWmxZM1J2Y2x4eVhHNTdYSEpjYmx4MGFXWW9JQ0YySUNsY2NseHVYSFJjZEhKbGRIVnliaUJ1ZFd4c08xeHlYRzVjZEhKbGRIVnliaUI3SUhnNklIWXVlQ3dnZVRvZ2RpNTVMQ0I2T2lCMkxub2dmVHRjY2x4dWZWeHlYRzRpTENKbGVIQnZjblFnS2lCbWNtOXRJQ2N1TDNOMGIzSmxaRjl6ZEdGMFpTYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXNuTzF4eVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgybHVjSFYwSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOXdjbTkwYjJOdmJDYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2Ylc5a1pXeHpKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5M1pXSmZZWEJ3WDIxaGJtbG1aWE4wSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOXRZWFJvWDNWMGFXeHpKenRjY2x4dVhISmNiaUlzSWk4cUlTQXFLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2x4eVhHNURiM0I1Y21sbmFIUWdLR01wSUUxcFkzSnZjMjltZENCRGIzSndiM0poZEdsdmJpNWNjbHh1WEhKY2JsQmxjbTFwYzNOcGIyNGdkRzhnZFhObExDQmpiM0I1TENCdGIyUnBabmtzSUdGdVpDOXZjaUJrYVhOMGNtbGlkWFJsSUhSb2FYTWdjMjltZEhkaGNtVWdabTl5SUdGdWVWeHlYRzV3ZFhKd2IzTmxJSGRwZEdnZ2IzSWdkMmwwYUc5MWRDQm1aV1VnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1F1WEhKY2JseHlYRzVVU0VVZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdYQ0pCVXlCSlUxd2lJRUZPUkNCVVNFVWdRVlZVU0U5U0lFUkpVME5NUVVsTlV5QkJURXdnVjBGU1VrRk9WRWxGVXlCWFNWUklYSEpjYmxKRlIwRlNSQ0JVVHlCVVNFbFRJRk5QUmxSWFFWSkZJRWxPUTB4VlJFbE9SeUJCVEV3Z1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdWeHlYRzVCVGtRZ1JrbFVUa1ZUVXk0Z1NVNGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVpQkNSU0JNU1VGQ1RFVWdSazlTSUVGT1dTQlRVRVZEU1VGTUxDQkVTVkpGUTFRc1hISmNia2xPUkVsU1JVTlVMQ0JQVWlCRFQwNVRSVkZWUlU1VVNVRk1JRVJCVFVGSFJWTWdUMUlnUVU1WklFUkJUVUZIUlZNZ1YwaEJWRk5QUlZaRlVpQlNSVk5WVEZSSlRrY2dSbEpQVFZ4eVhHNU1UMU5USUU5R0lGVlRSU3dnUkVGVVFTQlBVaUJRVWs5R1NWUlRMQ0JYU0VWVVNFVlNJRWxPSUVGT0lFRkRWRWxQVGlCUFJpQkRUMDVVVWtGRFZDd2dUa1ZIVEVsSFJVNURSU0JQVWx4eVhHNVBWRWhGVWlCVVQxSlVTVTlWVXlCQlExUkpUMDRzSUVGU1NWTkpUa2NnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdWVk5GSUU5U1hISmNibEJGVWtaUFVrMUJUa05GSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1V1WEhKY2Jpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xSUNvdlhISmNiaThxSUdkc2IySmhiQ0JTWldac1pXTjBMQ0JRY205dGFYTmxJQ292WEhKY2JseHlYRzUyWVhJZ1pYaDBaVzVrVTNSaGRHbGpjeUE5SUdaMWJtTjBhVzl1S0dRc0lHSXBJSHRjY2x4dUlDQWdJR1Y0ZEdWdVpGTjBZWFJwWTNNZ1BTQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllnZkh4Y2NseHVJQ0FnSUNBZ0lDQW9leUJmWDNCeWIzUnZYMTg2SUZ0ZElIMGdhVzV6ZEdGdVkyVnZaaUJCY25KaGVTQW1KaUJtZFc1amRHbHZiaUFvWkN3Z1lpa2dleUJrTGw5ZmNISnZkRzlmWHlBOUlHSTdJSDBwSUh4OFhISmNiaUFnSUNBZ0lDQWdablZ1WTNScGIyNGdLR1FzSUdJcElIc2dabTl5SUNoMllYSWdjQ0JwYmlCaUtTQnBaaUFvWWk1b1lYTlBkMjVRY205d1pYSjBlU2h3S1NrZ1pGdHdYU0E5SUdKYmNGMDdJSDA3WEhKY2JpQWdJQ0J5WlhSMWNtNGdaWGgwWlc1a1UzUmhkR2xqY3loa0xDQmlLVHRjY2x4dWZUdGNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRkR1Z1WkhNb1pDd2dZaWtnZTF4eVhHNGdJQ0FnWlhoMFpXNWtVM1JoZEdsamN5aGtMQ0JpS1R0Y2NseHVJQ0FnSUdaMWJtTjBhVzl1SUY5ZktDa2dleUIwYUdsekxtTnZibk4wY25WamRHOXlJRDBnWkRzZ2ZWeHlYRzRnSUNBZ1pDNXdjbTkwYjNSNWNHVWdQU0JpSUQwOVBTQnVkV3hzSUQ4Z1QySnFaV04wTG1OeVpXRjBaU2hpS1NBNklDaGZYeTV3Y205MGIzUjVjR1VnUFNCaUxuQnliM1J2ZEhsd1pTd2dibVYzSUY5ZktDa3BPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnZG1GeUlGOWZZWE56YVdkdUlEMGdablZ1WTNScGIyNG9LU0I3WEhKY2JpQWdJQ0JmWDJGemMybG5iaUE5SUU5aWFtVmpkQzVoYzNOcFoyNGdmSHdnWm5WdVkzUnBiMjRnWDE5aGMzTnBaMjRvZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJSE1zSUdrZ1BTQXhMQ0J1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTQThJRzQ3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpJRDBnWVhKbmRXMWxiblJ6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCd0lHbHVJSE1wSUdsbUlDaFBZbXBsWTNRdWNISnZkRzkwZVhCbExtaGhjMDkzYmxCeWIzQmxjblI1TG1OaGJHd29jeXdnY0NrcElIUmJjRjBnUFNCelczQmRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2REdGNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCZlgyRnpjMmxuYmk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eVpYTjBLSE1zSUdVcElIdGNjbHh1SUNBZ0lIWmhjaUIwSUQwZ2UzMDdYSEpjYmlBZ0lDQm1iM0lnS0haaGNpQndJR2x1SUhNcElHbG1JQ2hQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvY3l3Z2NDa2dKaVlnWlM1cGJtUmxlRTltS0hBcElEd2dNQ2xjY2x4dUlDQWdJQ0FnSUNCMFczQmRJRDBnYzF0d1hUdGNjbHh1SUNBZ0lHbG1JQ2h6SUNFOUlHNTFiR3dnSmlZZ2RIbHdaVzltSUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNZ1BUMDlJRndpWm5WdVkzUnBiMjVjSWlsY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2NDQTlJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1vY3lrN0lHa2dQQ0J3TG14bGJtZDBhRHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsTG1sdVpHVjRUMllvY0Z0cFhTa2dQQ0F3SUNZbUlFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWNISnZjR1Z5ZEhsSmMwVnVkVzFsY21GaWJHVXVZMkZzYkNoekxDQndXMmxkS1NsY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmJjRnRwWFYwZ1BTQnpXM0JiYVYxZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSEpsZEhWeWJpQjBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5a1pXTnZjbUYwWlNoa1pXTnZjbUYwYjNKekxDQjBZWEpuWlhRc0lHdGxlU3dnWkdWell5a2dlMXh5WEc0Z0lDQWdkbUZ5SUdNZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQnlJRDBnWXlBOElETWdQeUIwWVhKblpYUWdPaUJrWlhOaklEMDlQU0J1ZFd4c0lEOGdaR1Z6WXlBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvZEdGeVoyVjBMQ0JyWlhrcElEb2daR1Z6WXl3Z1pEdGNjbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdVbVZtYkdWamRDQTlQVDBnWENKdlltcGxZM1JjSWlBbUppQjBlWEJsYjJZZ1VtVm1iR1ZqZEM1a1pXTnZjbUYwWlNBOVBUMGdYQ0ptZFc1amRHbHZibHdpS1NCeUlEMGdVbVZtYkdWamRDNWtaV052Y21GMFpTaGtaV052Y21GMGIzSnpMQ0IwWVhKblpYUXNJR3RsZVN3Z1pHVnpZeWs3WEhKY2JpQWdJQ0JsYkhObElHWnZjaUFvZG1GeUlHa2dQU0JrWldOdmNtRjBiM0p6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0JwWmlBb1pDQTlJR1JsWTI5eVlYUnZjbk5iYVYwcElISWdQU0FvWXlBOElETWdQeUJrS0hJcElEb2dZeUErSURNZ1B5QmtLSFJoY21kbGRDd2dhMlY1TENCeUtTQTZJR1FvZEdGeVoyVjBMQ0JyWlhrcEtTQjhmQ0J5TzF4eVhHNGdJQ0FnY21WMGRYSnVJR01nUGlBeklDWW1JSElnSmlZZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJoY21kbGRDd2dhMlY1TENCeUtTd2djanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZmNHRnlZVzBvY0dGeVlXMUpibVJsZUN3Z1pHVmpiM0poZEc5eUtTQjdYSEpjYmlBZ0lDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tIUmhjbWRsZEN3Z2EyVjVLU0I3SUdSbFkyOXlZWFJ2Y2loMFlYSm5aWFFzSUd0bGVTd2djR0Z5WVcxSmJtUmxlQ2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZiV1YwWVdSaGRHRW9iV1YwWVdSaGRHRkxaWGtzSUcxbGRHRmtZWFJoVm1Gc2RXVXBJSHRjY2x4dUlDQWdJR2xtSUNoMGVYQmxiMllnVW1WbWJHVmpkQ0E5UFQwZ1hDSnZZbXBsWTNSY0lpQW1KaUIwZVhCbGIyWWdVbVZtYkdWamRDNXRaWFJoWkdGMFlTQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQnlaWFIxY200Z1VtVm1iR1ZqZEM1dFpYUmhaR0YwWVNodFpYUmhaR0YwWVV0bGVTd2diV1YwWVdSaGRHRldZV3gxWlNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkYzWVdsMFpYSW9kR2hwYzBGeVp5d2dYMkZ5WjNWdFpXNTBjeXdnVUN3Z1oyVnVaWEpoZEc5eUtTQjdYSEpjYmlBZ0lDQm1kVzVqZEdsdmJpQmhaRzl3ZENoMllXeDFaU2tnZXlCeVpYUjFjbTRnZG1Gc2RXVWdhVzV6ZEdGdVkyVnZaaUJRSUQ4Z2RtRnNkV1VnT2lCdVpYY2dVQ2htZFc1amRHbHZiaUFvY21WemIyeDJaU2tnZXlCeVpYTnZiSFpsS0haaGJIVmxLVHNnZlNrN0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dLRkFnZkh3Z0tGQWdQU0JRY205dGFYTmxLU2tvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlHWjFiR1pwYkd4bFpDaDJZV3gxWlNrZ2V5QjBjbmtnZXlCemRHVndLR2RsYm1WeVlYUnZjaTV1WlhoMEtIWmhiSFZsS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnY21WcVpXTjBLR1VwT3lCOUlIMWNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJ5WldwbFkzUmxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2x0Y0luUm9jbTkzWENKZEtIWmhiSFZsS1NrN0lIMGdZMkYwWTJnZ0tHVXBJSHNnY21WcVpXTjBLR1VwT3lCOUlIMWNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tISmxjM1ZzZENrZ2V5QnlaWE4xYkhRdVpHOXVaU0EvSUhKbGMyOXNkbVVvY21WemRXeDBMblpoYkhWbEtTQTZJR0ZrYjNCMEtISmxjM1ZzZEM1MllXeDFaU2t1ZEdobGJpaG1kV3htYVd4c1pXUXNJSEpsYW1WamRHVmtLVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lITjBaWEFvS0dkbGJtVnlZWFJ2Y2lBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1NrdWJtVjRkQ2dwS1R0Y2NseHVJQ0FnSUgwcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTluWlc1bGNtRjBiM0lvZEdocGMwRnlaeXdnWW05a2VTa2dlMXh5WEc0Z0lDQWdkbUZ5SUY4Z1BTQjdJR3hoWW1Wc09pQXdMQ0J6Wlc1ME9pQm1kVzVqZEdsdmJpZ3BJSHNnYVdZZ0tIUmJNRjBnSmlBeEtTQjBhSEp2ZHlCMFd6RmRPeUJ5WlhSMWNtNGdkRnN4WFRzZ2ZTd2dkSEo1Y3pvZ1cxMHNJRzl3Y3pvZ1cxMGdmU3dnWml3Z2VTd2dkQ3dnWnp0Y2NseHVJQ0FnSUhKbGRIVnliaUJuSUQwZ2V5QnVaWGgwT2lCMlpYSmlLREFwTENCY0luUm9jbTkzWENJNklIWmxjbUlvTVNrc0lGd2ljbVYwZFhKdVhDSTZJSFpsY21Jb01pa2dmU3dnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JQ2huVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlIUm9hWE03SUgwcExDQm5PMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYzNSbGNDaGJiaXdnZGwwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tHOXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkhaVzVsY21GMGIzSWdhWE1nWVd4eVpXRmtlU0JsZUdWamRYUnBibWN1WENJcE8xeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaGZLU0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE5SURFc0lIa2dKaVlnS0hRZ1BTQnZjRnN3WFNBbUlESWdQeUI1VzF3aWNtVjBkWEp1WENKZElEb2diM0JiTUYwZ1B5QjVXMXdpZEdoeWIzZGNJbDBnZkh3Z0tDaDBJRDBnZVZ0Y0luSmxkSFZ5Ymx3aVhTa2dKaVlnZEM1allXeHNLSGtwTENBd0tTQTZJSGt1Ym1WNGRDa2dKaVlnSVNoMElEMGdkQzVqWVd4c0tIa3NJRzl3V3pGZEtTa3VaRzl1WlNrZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDVJRDBnTUN3Z2RDa2diM0FnUFNCYmIzQmJNRjBnSmlBeUxDQjBMblpoYkhWbFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNodmNGc3dYU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F3T2lCallYTmxJREU2SUhRZ1BTQnZjRHNnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEUTZJRjh1YkdGaVpXd3JLenNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pGZExDQmtiMjVsT2lCbVlXeHpaU0I5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0ExT2lCZkxteGhZbVZzS3lzN0lIa2dQU0J2Y0ZzeFhUc2diM0FnUFNCYk1GMDdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTNPaUJ2Y0NBOUlGOHViM0J6TG5CdmNDZ3BPeUJmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JU2gwSUQwZ1h5NTBjbmx6TENCMElEMGdkQzVzWlc1bmRHZ2dQaUF3SUNZbUlIUmJkQzVzWlc1bmRHZ2dMU0F4WFNrZ0ppWWdLRzl3V3pCZElEMDlQU0EySUh4OElHOXdXekJkSUQwOVBTQXlLU2tnZXlCZklEMGdNRHNnWTI5dWRHbHVkV1U3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnUFQwOUlETWdKaVlnS0NGMElIeDhJQ2h2Y0ZzeFhTQStJSFJiTUYwZ0ppWWdiM0JiTVYwZ1BDQjBXek5kS1NrcElIc2dYeTVzWVdKbGJDQTlJRzl3V3pGZE95QmljbVZoYXpzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdOaUFtSmlCZkxteGhZbVZzSUR3Z2RGc3hYU2tnZXlCZkxteGhZbVZzSUQwZ2RGc3hYVHNnZENBOUlHOXdPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwSUNZbUlGOHViR0ZpWld3Z1BDQjBXekpkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekpkT3lCZkxtOXdjeTV3ZFhOb0tHOXdLVHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEZzeVhTa2dYeTV2Y0hNdWNHOXdLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYeTUwY25sekxuQnZjQ2dwT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J2Y0NBOUlHSnZaSGt1WTJGc2JDaDBhR2x6UVhKbkxDQmZLVHRjY2x4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJRzl3SUQwZ1d6WXNJR1ZkT3lCNUlEMGdNRHNnZlNCbWFXNWhiR3g1SUhzZ1ppQTlJSFFnUFNBd095QjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUNZZ05Ta2dkR2h5YjNjZ2IzQmJNVjA3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0Zzd1hTQS9JRzl3V3pGZElEb2dkbTlwWkNBd0xDQmtiMjVsT2lCMGNuVmxJSDA3WEhKY2JpQWdJQ0I5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyTnlaV0YwWlVKcGJtUnBibWNvYnl3Z2JTd2dheXdnYXpJcElIdGNjbHh1SUNBZ0lHbG1JQ2hyTWlBOVBUMGdkVzVrWldacGJtVmtLU0JyTWlBOUlHczdYSEpjYmlBZ0lDQnZXMnN5WFNBOUlHMWJhMTA3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRjRzl5ZEZOMFlYSW9iU3dnWlhod2IzSjBjeWtnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnRLU0JwWmlBb2NDQWhQVDBnWENKa1pXWmhkV3gwWENJZ0ppWWdJV1Y0Y0c5eWRITXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2NDa3BJR1Y0Y0c5eWRITmJjRjBnUFNCdFczQmRPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5MllXeDFaWE1vYnlrZ2UxeHlYRzRnSUNBZ2RtRnlJSE1nUFNCMGVYQmxiMllnVTNsdFltOXNJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdKaVlnVTNsdFltOXNMbWwwWlhKaGRHOXlMQ0J0SUQwZ2N5QW1KaUJ2VzNOZExDQnBJRDBnTUR0Y2NseHVJQ0FnSUdsbUlDaHRLU0J5WlhSMWNtNGdiUzVqWVd4c0tHOHBPMXh5WEc0Z0lDQWdhV1lnS0c4Z0ppWWdkSGx3Wlc5bUlHOHViR1Z1WjNSb0lEMDlQU0JjSW01MWJXSmxjbHdpS1NCeVpYUjFjbTRnZTF4eVhHNGdJQ0FnSUNBZ0lHNWxlSFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzhnSmlZZ2FTQStQU0J2TG14bGJtZDBhQ2tnYnlBOUlIWnZhV1FnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzhnSmlZZ2IxdHBLeXRkTENCa2IyNWxPaUFoYnlCOU8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0hNZ1B5QmNJazlpYW1WamRDQnBjeUJ1YjNRZ2FYUmxjbUZpYkdVdVhDSWdPaUJjSWxONWJXSnZiQzVwZEdWeVlYUnZjaUJwY3lCdWIzUWdaR1ZtYVc1bFpDNWNJaWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzSmxZV1FvYnl3Z2Jpa2dlMXh5WEc0Z0lDQWdkbUZ5SUcwZ1BTQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnSmlZZ2IxdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZE8xeHlYRzRnSUNBZ2FXWWdLQ0Z0S1NCeVpYUjFjbTRnYnp0Y2NseHVJQ0FnSUhaaGNpQnBJRDBnYlM1allXeHNLRzhwTENCeUxDQmhjaUE5SUZ0ZExDQmxPMXh5WEc0Z0lDQWdkSEo1SUh0Y2NseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb0tHNGdQVDA5SUhadmFXUWdNQ0I4ZkNCdUxTMGdQaUF3S1NBbUppQWhLSElnUFNCcExtNWxlSFFvS1NrdVpHOXVaU2tnWVhJdWNIVnphQ2h5TG5aaGJIVmxLVHRjY2x4dUlDQWdJSDFjY2x4dUlDQWdJR05oZEdOb0lDaGxjbkp2Y2lrZ2V5QmxJRDBnZXlCbGNuSnZjam9nWlhKeWIzSWdmVHNnZlZ4eVhHNGdJQ0FnWm1sdVlXeHNlU0I3WEhKY2JpQWdJQ0FnSUNBZ2RISjVJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hJZ0ppWWdJWEl1Wkc5dVpTQW1KaUFvYlNBOUlHbGJYQ0p5WlhSMWNtNWNJbDBwS1NCdExtTmhiR3dvYVNrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdacGJtRnNiSGtnZXlCcFppQW9aU2tnZEdoeWIzY2daUzVsY25KdmNqc2dmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlHRnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5emNISmxZV1FvS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCaGNpQTlJRnRkTENCcElEMGdNRHNnYVNBOElHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCaGNpQTlJR0Z5TG1OdmJtTmhkQ2hmWDNKbFlXUW9ZWEpuZFcxbGJuUnpXMmxkS1NrN1hISmNiaUFnSUNCeVpYUjFjbTRnWVhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYM053Y21WaFpFRnljbUY1Y3lncElIdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlITWdQU0F3TENCcElEMGdNQ3dnYVd3Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBJRHdnYVd3N0lHa3JLeWtnY3lBclBTQmhjbWQxYldWdWRITmJhVjB1YkdWdVozUm9PMXh5WEc0Z0lDQWdabTl5SUNoMllYSWdjaUE5SUVGeWNtRjVLSE1wTENCcklEMGdNQ3dnYVNBOUlEQTdJR2tnUENCcGJEc2dhU3NyS1Z4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHRWdQU0JoY21kMWJXVnVkSE5iYVYwc0lHb2dQU0F3TENCcWJDQTlJR0V1YkdWdVozUm9PeUJxSUR3Z2FtdzdJR29yS3l3Z2F5c3JLVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlXMnRkSUQwZ1lWdHFYVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnlPMXh5WEc1OU8xeHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUY5ZllYZGhhWFFvZGlrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTWdhVzV6ZEdGdVkyVnZaaUJmWDJGM1lXbDBJRDhnS0hSb2FYTXVkaUE5SUhZc0lIUm9hWE1wSURvZ2JtVjNJRjlmWVhkaGFYUW9kaWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyRnplVzVqUjJWdVpYSmhkRzl5S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNc0lHZGxibVZ5WVhSdmNpa2dlMXh5WEc0Z0lDQWdhV1lnS0NGVGVXMWliMnd1WVhONWJtTkpkR1Z5WVhSdmNpa2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWxONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eUlHbHpJRzV2ZENCa1pXWnBibVZrTGx3aUtUdGNjbHh1SUNBZ0lIWmhjaUJuSUQwZ1oyVnVaWEpoZEc5eUxtRndjR3g1S0hSb2FYTkJjbWNzSUY5aGNtZDFiV1Z1ZEhNZ2ZId2dXMTBwTENCcExDQnhJRDBnVzEwN1hISmNiaUFnSUNCeVpYUjFjbTRnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2s3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUIyWlhKaUtHNHBJSHNnYVdZZ0tHZGJibDBwSUdsYmJsMGdQU0JtZFc1amRHbHZiaUFvZGlrZ2V5QnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdLR0VzSUdJcElIc2djUzV3ZFhOb0tGdHVMQ0IyTENCaExDQmlYU2tnUGlBeElIeDhJSEpsYzNWdFpTaHVMQ0IyS1RzZ2ZTazdJSDA3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhKbGMzVnRaU2h1TENCMktTQjdJSFJ5ZVNCN0lITjBaWEFvWjF0dVhTaDJLU2s3SUgwZ1kyRjBZMmdnS0dVcElIc2djMlYwZEd4bEtIRmJNRjFiTTEwc0lHVXBPeUI5SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUhOMFpYQW9jaWtnZXlCeUxuWmhiSFZsSUdsdWMzUmhibU5sYjJZZ1gxOWhkMkZwZENBL0lGQnliMjFwYzJVdWNtVnpiMngyWlNoeUxuWmhiSFZsTG5ZcExuUm9aVzRvWm5Wc1ptbHNiQ3dnY21WcVpXTjBLU0E2SUhObGRIUnNaU2h4V3pCZFd6SmRMQ0J5S1RzZ2ZWeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1puVnNabWxzYkNoMllXeDFaU2tnZXlCeVpYTjFiV1VvWENKdVpYaDBYQ0lzSUhaaGJIVmxLVHNnZlZ4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnY21WcVpXTjBLSFpoYkhWbEtTQjdJSEpsYzNWdFpTaGNJblJvY205M1hDSXNJSFpoYkhWbEtUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjMlYwZEd4bEtHWXNJSFlwSUhzZ2FXWWdLR1lvZGlrc0lIRXVjMmhwWm5Rb0tTd2djUzVzWlc1bmRHZ3BJSEpsYzNWdFpTaHhXekJkV3pCZExDQnhXekJkV3pGZEtUc2dmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMFJsYkdWbllYUnZjaWh2S1NCN1hISmNiaUFnSUNCMllYSWdhU3dnY0R0Y2NseHVJQ0FnSUhKbGRIVnliaUJwSUQwZ2UzMHNJSFpsY21Jb1hDSnVaWGgwWENJcExDQjJaWEppS0Z3aWRHaHliM2RjSWl3Z1puVnVZM1JwYjI0Z0tHVXBJSHNnZEdoeWIzY2daVHNnZlNrc0lIWmxjbUlvWENKeVpYUjFjbTVjSWlrc0lHbGJVM2x0WW05c0xtbDBaWEpoZEc5eVhTQTlJR1oxYm1OMGFXOXVJQ2dwSUhzZ2NtVjBkWEp1SUhSb2FYTTdJSDBzSUdrN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCMlpYSmlLRzRzSUdZcElIc2dhVnR1WFNBOUlHOWJibDBnUHlCbWRXNWpkR2x2YmlBb2Rpa2dleUJ5WlhSMWNtNGdLSEFnUFNBaGNDa2dQeUI3SUhaaGJIVmxPaUJmWDJGM1lXbDBLRzliYmwwb2Rpa3BMQ0JrYjI1bE9pQnVJRDA5UFNCY0luSmxkSFZ5Ymx3aUlIMGdPaUJtSUQ4Z1ppaDJLU0E2SUhZN0lIMGdPaUJtT3lCOVhISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMkZ6ZVc1alZtRnNkV1Z6S0c4cElIdGNjbHh1SUNBZ0lHbG1JQ2doVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNiaUFnSUNCMllYSWdiU0E5SUc5YlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRMQ0JwTzF4eVhHNGdJQ0FnY21WMGRYSnVJRzBnUHlCdExtTmhiR3dvYnlrZ09pQW9ieUE5SUhSNWNHVnZaaUJmWDNaaGJIVmxjeUE5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJRDhnWDE5MllXeDFaWE1vYnlrZ09pQnZXMU41YldKdmJDNXBkR1Z5WVhSdmNsMG9LU3dnYVNBOUlIdDlMQ0IyWlhKaUtGd2libVY0ZEZ3aUtTd2dkbVZ5WWloY0luUm9jbTkzWENJcExDQjJaWEppS0Z3aWNtVjBkWEp1WENJcExDQnBXMU41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5WFNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJSFJvYVhNN0lIMHNJR2twTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVLU0I3SUdsYmJsMGdQU0J2VzI1ZElDWW1JR1oxYm1OMGFXOXVJQ2gyS1NCN0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdJSFlnUFNCdlcyNWRLSFlwTENCelpYUjBiR1VvY21WemIyeDJaU3dnY21WcVpXTjBMQ0IyTG1SdmJtVXNJSFl1ZG1Gc2RXVXBPeUI5S1RzZ2ZUc2dmVnh5WEc0Z0lDQWdablZ1WTNScGIyNGdjMlYwZEd4bEtISmxjMjlzZG1Vc0lISmxhbVZqZEN3Z1pDd2dkaWtnZXlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvZGlrdWRHaGxiaWhtZFc1amRHbHZiaWgyS1NCN0lISmxjMjlzZG1Vb2V5QjJZV3gxWlRvZ2Rpd2daRzl1WlRvZ1pDQjlLVHNnZlN3Z2NtVnFaV04wS1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl0WVd0bFZHVnRjR3hoZEdWUFltcGxZM1FvWTI5dmEyVmtMQ0J5WVhjcElIdGNjbHh1SUNBZ0lHbG1JQ2hQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrcElIc2dUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dOdmIydGxaQ3dnWENKeVlYZGNJaXdnZXlCMllXeDFaVG9nY21GM0lIMHBPeUI5SUdWc2MyVWdleUJqYjI5clpXUXVjbUYzSUQwZ2NtRjNPeUI5WEhKY2JpQWdJQ0J5WlhSMWNtNGdZMjl2YTJWa08xeHlYRzU5TzF4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBVM1JoY2lodGIyUXBJSHRjY2x4dUlDQWdJR2xtSUNodGIyUWdKaVlnYlc5a0xsOWZaWE5OYjJSMWJHVXBJSEpsZEhWeWJpQnRiMlE3WEhKY2JpQWdJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2UzMDdYSEpjYmlBZ0lDQnBaaUFvYlc5a0lDRTlJRzUxYkd3cElHWnZjaUFvZG1GeUlHc2dhVzRnYlc5a0tTQnBaaUFvVDJKcVpXTjBMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvYlc5a0xDQnJLU2tnY21WemRXeDBXMnRkSUQwZ2JXOWtXMnRkTzF4eVhHNGdJQ0FnY21WemRXeDBMbVJsWm1GMWJIUWdQU0J0YjJRN1hISmNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5cGJYQnZjblJFWldaaGRXeDBLRzF2WkNrZ2UxeHlYRzRnSUNBZ2NtVjBkWEp1SUNodGIyUWdKaVlnYlc5a0xsOWZaWE5OYjJSMWJHVXBJRDhnYlc5a0lEb2dleUJrWldaaGRXeDBPaUJ0YjJRZ2ZUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWTJ4aGMzTlFjbWwyWVhSbFJtbGxiR1JIWlhRb2NtVmpaV2wyWlhJc0lIQnlhWFpoZEdWTllYQXBJSHRjY2x4dUlDQWdJR2xtSUNnaGNISnBkbUYwWlUxaGNDNW9ZWE1vY21WalpXbDJaWElwS1NCN1hISmNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSW1GMGRHVnRjSFJsWkNCMGJ5Qm5aWFFnY0hKcGRtRjBaU0JtYVdWc1pDQnZiaUJ1YjI0dGFXNXpkR0Z1WTJWY0lpazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQnlaWFIxY200Z2NISnBkbUYwWlUxaGNDNW5aWFFvY21WalpXbDJaWElwTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWpiR0Z6YzFCeWFYWmhkR1ZHYVdWc1pGTmxkQ2h5WldObGFYWmxjaXdnY0hKcGRtRjBaVTFoY0N3Z2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUdsbUlDZ2hjSEpwZG1GMFpVMWhjQzVvWVhNb2NtVmpaV2wyWlhJcEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0ltRjBkR1Z0Y0hSbFpDQjBieUJ6WlhRZ2NISnBkbUYwWlNCbWFXVnNaQ0J2YmlCdWIyNHRhVzV6ZEdGdVkyVmNJaWs3WEhKY2JpQWdJQ0I5WEhKY2JpQWdJQ0J3Y21sMllYUmxUV0Z3TG5ObGRDaHlaV05sYVhabGNpd2dkbUZzZFdVcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh5WEc1OVhISmNiaUlzSW1sdGNHOXlkQ0I3SUVGMlRtOWtaVlJ5WVc1elptOXliU3dnUVhaU1pXNWtaWEpsY2tOdmJtWnBaeUI5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0hKdmRHOWpiMnduTzF4eVhHNXBiWEJ2Y25RZ2V5QjJOQ0JoY3lCMWRXbGtJSDBnWm5KdmJTQW5kWFZwWkNjN1hISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1IyRmtaMlYwVUdWeWMybHpkR1Z1WTJWY2NseHVlMXh5WEc1Y2RIVnlhVG9nYzNSeWFXNW5PMXh5WEc1Y2RHaHZiMnRRWVhSb1B6b2djM1J5YVc1bk8xeHlYRzVjZEhObGRIUnBibWR6UHpvZ1lXNTVPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOMGIzSmxaRWRoWkdkbGRGeHlYRzU3WEhKY2JseDBkWEpwT2lCemRISnBibWM3WEhKY2JseDBkWFZwWkRvZ2MzUnlhVzVuTzF4eVhHNTlYSEpjYmx4eVhHNWpiMjV6ZENCQllYSmtkbUZ5YTFOMFlYUmxSbTl5YldGMElEMGdNenRjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdRV0Z5WkhaaGNtdFRkR0YwWlZ4eVhHNTdYSEpjYmx4MFptOXliV0YwT2lCdWRXMWlaWEk3WEhKY2JseDBZV04wYVhabFIyRmtaMlYwY3pvZ2V5QmJkWFZwWkRwemRISnBibWRkT2lCSFlXUm5aWFJRWlhKemFYTjBaVzVqWlNCOU8xeHlYRzVjZEhKbGJtUmxjbVZ5UTI5dVptbG5PaUJCZGxKbGJtUmxjbVZ5UTI5dVptbG5PMXh5WEc1Y2RHbHVjM1JoYkd4bFpFZGhaR2RsZEhNNklITjBjbWx1WjF0ZE8xeHlYRzVjZEd4dlkyRnNWWE5sY2xWMWFXUTZJSE4wY21sdVp6dGNjbHh1WEhSc2IyTmhiRlZ6WlhKRWFYTndiR0Y1VG1GdFpUb2djM1J5YVc1bk8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRGTjBZVzVrWVhKa1FXRnlaSFpoY210UVlYUm9LQ2s2SUhOMGNtbHVaMXh5WEc1N1hISmNibHgwYkdWMElHOXpJRDBnWlhaaGJDZ2dYQ0p5WlhGMWFYSmxLQ0FuYjNNbklDbGNJaUFwTzF4eVhHNWNkR3hsZENCd1lYUm9JRDBnWlhaaGJDZ2dYQ0p5WlhGMWFYSmxLQ0FuY0dGMGFDY2dLU0JjSWlrN1hISmNibHgwY21WMGRYSnVJSEJoZEdndWFtOXBiaWdnYjNNdWFHOXRaV1JwY2lncExDQmNJbUZoY21SMllYSnJYQ0lnS1R0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRk4wWVc1a1lYSmtVR1Z5YzJsemRHVnVZMlZRWVhSb0tDazZJSE4wY21sdVoxeHlYRzU3WEhKY2JseDBiR1YwSUhCaGRHZ2dQU0JsZG1Gc0tDQmNJbkpsY1hWcGNtVW9JQ2R3WVhSb0p5QXBYQ0lnS1R0Y2NseHVYSFJ5WlhSMWNtNGdjR0YwYUM1cWIybHVLQ0JuWlhSVGRHRnVaR0Z5WkVGaGNtUjJZWEpyVUdGMGFDZ3BMQ0JjSW5OMFlYUmxMbXB6YjI1Y0lpQXBPMXh5WEc1OVhISmNibHh5WEc1amIyNXpkQ0JtYVhKemRFNWhiV1Z6SUQwZ1hISmNibHRjY2x4dVhIUmNJa2R5WldWdVhDSXNYSEpjYmx4MFhDSkNiSFZsWENJc1hISmNibHgwWENKU1pXUmNJaXdnWEhKY2JseDBYQ0pQY21GdVoyVmNJaXhjY2x4dVhIUmNJbFJsWVd4Y0lpeGNjbHh1WEhSY0lsQjFjbkJzWlZ3aUxGeHlYRzVjZEZ3aVVHbHVhMXdpTEZ4eVhHNWNkRndpV1dWc2JHOTNYQ0lzWEhKY2JseDBYQ0pDYkdGamExd2lMRnh5WEc1Y2RGd2lWMmhwZEdWY0lpeGNjbHh1WEhSY0lrSnliM2R1WENJc1hISmNibHgwWENKQ1pXbG5aVndpWEhKY2JsMDdYSEpjYmx4eVhHNWpiMjV6ZENCc1lYTjBUbUZ0WlhNZ1BWeHlYRzViWEhKY2JseDBYQ0pCY0hCc1pWd2lMRnh5WEc1Y2RGd2lRbUZ1WVc1aFhDSXNYSEpjYmx4MFhDSk1aVzF2Ymx3aUxGeHlYRzVjZEZ3aVVHbHVaV0Z3Y0d4bFhDSXNYSEpjYmx4MFhDSkRiMk52Ym5WMFhDSXNYSEpjYmx4MFhDSk1hVzFsWENJc1hISmNibHgwWENKTGFYZHBYQ0lzWEhKY2JseDBYQ0pRWldGeVhDSXNYSEpjYmx4MFhDSkRhR1Z5Y25sY0lpeGNjbHh1WEhSY0lsTjBjbUYzWW1WeWNubGNJaXhjY2x4dVhIUmNJa2R5WVhCbFhDSXNYSEpjYmx4MFhDSk5ZVzVuYjF3aVhISmNibDA3WEhKY2JseHlYRzVjY2x4dVpuVnVZM1JwYjI0Z1oyVnVaWEpoZEdWU1lXNWtiMjFPWVcxbEtDQXBPbk4wY21sdVoxeHlYRzU3WEhKY2JseDBiR1YwSUdacGNuTjBTVzVrWlhnZ1BTQk5ZWFJvTG1ac2IyOXlLQ0JOWVhSb0xuSmhibVJ2YlNncElDb2dabWx5YzNST1lXMWxjeTVzWlc1bmRHZ2dLVHRjY2x4dVhIUnNaWFFnYkdGemRFbHVaR1Y0SUQwZ1RXRjBhQzVtYkc5dmNpZ2dUV0YwYUM1eVlXNWtiMjBvS1NBcUlHeGhjM1JPWVcxbGN5NXNaVzVuZEdnZ0tUdGNjbHh1WEhSeVpYUjFjbTRnWUNSN0lHWnBjbk4wVG1GdFpYTmJJR1pwY25OMFNXNWtaWGdnWFNCOUlDUjdJR3hoYzNST1lXMWxjMXNnYkdGemRFbHVaR1Y0SUYwZ2ZXQTdYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIyTVZSdlZqSW9JR1p5YjIwNklFRmhjbVIyWVhKclUzUmhkR1VnS1RvZ1FXRnlaSFpoY210VGRHRjBaVnh5WEc1N1hISmNibHgwYkdWMElIUnZPaUJCWVhKa2RtRnlhMU4wWVhSbElEMGdYSEpjYmx4MGV5QmNjbHh1WEhSY2RHWnZjbTFoZERvZ01peGNjbHh1WEhSY2RHRmpkR2wyWlVkaFpHZGxkSE02SUdaeWIyMHVZV04wYVhabFIyRmtaMlYwY3l4Y2NseHVYSFJjZEdsdWMzUmhiR3hsWkVkaFpHZGxkSE02SUZ0ZExGeHlYRzVjZEZ4MGNtVnVaR1Z5WlhKRGIyNW1hV2M2SUhzZ1pXNWhZbXhsVFdsNFpXUlNaV0ZzYVhSNU9pQm1ZV3h6WlN3Z2JXbDRaV1JTWldGc2FYUjVSbTkyT2lBMU1DNHpMQ0JqYkdWaGNrTnZiRzl5T2lCYk1Dd2dNU3dnTUYwZ2ZTeGNjbHh1WEhSY2RHeHZZMkZzVlhObGNsVjFhV1E2SUhWMWFXUW9LU3hjY2x4dVhIUmNkR3h2WTJGc1ZYTmxja1JwYzNCc1lYbE9ZVzFsT2lCblpXNWxjbUYwWlZKaGJtUnZiVTVoYldVb0tTeGNjbHh1WEhSOU8xeHlYRzVjY2x4dVhIUm1iM0lvSUd4bGRDQnBibk4wWVd4c1pXUWdiMllnWm5KdmJTNXBibk4wWVd4c1pXUkhZV1JuWlhSeklDbGNjbHh1WEhSN1hISmNibHgwWEhSMGJ5NXBibk4wWVd4c1pXUkhZV1JuWlhSekxuQjFjMmdvSUdsdWMzUmhiR3hsWkM1eVpYQnNZV05sS0NCY0ltRmhjbVIyWVhKckxtbHVjM1JoYkd4Y0lpd2dYQ0pzYjJOaGJHaHZjM1E2TWpNNE5ESmNJaUFwSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSeVpYUjFjbTRnZEc4N1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnlaV0ZrVUdWeWMybHpkR1Z1ZEZOMFlYUmxLQ0J3WVhSb09pQnpkSEpwYm1jZ0tUb2dRV0Z5WkhaaGNtdFRkR0YwWlZ4eVhHNTdYSEpjYmx4MGRISjVYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR1p6SUQwZ1pYWmhiQ2dnWENKeVpYRjFhWEpsS0NBblpuTW5JQ2xjSWlBcE8xeHlYRzVjY2x4dVhIUmNkR3hsZENCd2NtVjJhVzkxYzFOMFlYUmxJRDBnWm5NdWNtVmhaRVpwYkdWVGVXNWpLQ0J3WVhSb0xDQW5kWFJtT0NjZ0tUdGNjbHh1WEhSY2RHeGxkQ0J6ZEdGMFpUb2dRV0Z5WkhaaGNtdFRkR0YwWlNBOUlFcFRUMDR1Y0dGeWMyVW9JSEJ5WlhacGIzVnpVM1JoZEdVZ0tUdGNjbHh1WEhKY2JseDBYSFJwWmlnZ2MzUmhkR1V1Wm05eWJXRjBJRDA5SURFZ2ZId2djM1JoZEdVdVptOXliV0YwSUQwOUlESWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUhKdmR5QmdVM1J2Y21Wa0lITjBZWFJsSUNSN2MzUmhkR1V1Wm05eWJXRjBmU0JwY3lCdWJ5QnNiMjVuWlhJZ2MzVndjRzl5ZEdWa0xtQTdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lITjBZWFJsTG1admNtMWhkQ0FoUFNCQllYSmtkbUZ5YTFOMFlYUmxSbTl5YldGMElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2h5YjNjZ1lFbHVZWEJ3Y205d2NtbGhkR1VnYzNSaGRHVWdabTl5YldGMElDUjdjM1JoZEdVdVptOXliV0YwZldBN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGemRHRjBaUzV5Wlc1a1pYSmxja052Ym1acFp5QXBJSHRjY2x4dVhIUmNkRngwYzNSaGRHVXVjbVZ1WkdWeVpYSkRiMjVtYVdjZ1BTQjdYSEpjYmx4MFhIUmNkRngwWlc1aFlteGxUV2w0WldSU1pXRnNhWFI1T2lCbVlXeHpaU3hjY2x4dVhIUmNkRngwWEhSdGFYaGxaRkpsWVd4cGRIbEdiM1k2SURVd0xqTXNYSEpjYmx4MFhIUmNkRngwWTJ4bFlYSkRiMnh2Y2pvZ1d6QXNJREVzSURCZFhISmNibHgwWEhSY2RIMDdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lDRnpkR0YwWlM1aFkzUnBkbVZIWVdSblpYUnpXeUJjSW1kaFpHZGxkRjl0Wlc1MVhDSWdYU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJa2RoWkdkbGRDQnRaVzUxSUhkaGN5QnRhWE56YVc1bkxpQkdiM0pqYVc1bklIUm9ZWFFnZEc4Z1pYaHBjM1F1WENJZ0tUdGNjbHh1WEhSY2RGeDBjM1JoZEdVdVlXTjBhWFpsUjJGa1oyVjBjMXNnWENKbllXUm5aWFJmYldWdWRWd2lJRjA5WEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUjFjbWs2SUZ3aWFIUjBjRG92TDJ4dlkyRnNhRzl6ZERveU16ZzBNaTluWVdSblpYUnpMMmRoWkdkbGRGOXRaVzUxWENJc1hISmNibHgwWEhSY2RGeDBhRzl2YTFCaGRHZzZJRndpTDJkaFpHZGxkQzlvWVc1a2N5OXNaV1owWDJoaGJtUmNJaXhjY2x4dVhIUmNkRngwZlR0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnBaaWdnSVhOMFlYUmxMbXh2WTJGc1ZYTmxja1JwYzNCc1lYbE9ZVzFsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGMzUmhkR1V1Ykc5allXeFZjMlZ5UkdsemNHeGhlVTVoYldVZ1BTQm5aVzVsY21GMFpWSmhibVJ2YlU1aGJXVW9LVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dZRkpsWVdRZ2MzUmhkR1VnWm5KdmJTQWtleUJ3WVhSb0lIMGdabTl5SUdCY2NseHVYSFJjZEZ4MEt5QmdKSHNnVDJKcVpXTjBMbXRsZVhNb0lITjBZWFJsTG1GamRHbDJaVWRoWkdkbGRITWdLUzVzWlc1bmRHZ2dmU0JoWTNScGRtVWdaMkZrWjJWMGMyQWdLVHRjY2x4dVhIUmNkSEpsZEhWeWJpQnpkR0YwWlR0Y2NseHVYSFI5WEhKY2JseDBZMkYwWTJnb0lHVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnUm1GcGJHVmtJSFJ2SUhKbFlXUWdjM1JoZEdVZ1ptbHNaU0JpWldOaGRYTmxJQ1I3SUdVZ2ZTQlZjMmx1WnlCa1pXWmhkV3gwSUhOMFlYSjBZQ0FwTzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0J6ZEdGMFpUb2dRV0Z5WkhaaGNtdFRkR0YwWlNBOVhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHWnZjbTFoZERvZ1FXRnlaSFpoY210VGRHRjBaVVp2Y20xaGRDeGNjbHh1WEhSY2RGeDBZV04wYVhabFIyRmtaMlYwY3pvZ1hISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjSW1kaFpHZGxkRjl0Wlc1MVhDSWdPbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSFZ5YVRvZ1hDSm9kSFJ3T2k4dmJHOWpZV3hvYjNOME9qSXpPRFF5TDJkaFpHZGxkSE12WjJGa1oyVjBYMjFsYm5WY0lpeGNjbHh1WEhSY2RGeDBYSFJjZEdodmIydFFZWFJvT2lCY0lpOW5ZV1JuWlhRdmFHRnVaSE12YkdWbWRGOW9ZVzVrWENJc1hISmNibHgwWEhSY2RGeDBmU3hjY2x4dVhIUmNkRngwZlN4Y2NseHVYSFJjZEZ4MGFXNXpkR0ZzYkdWa1IyRmtaMlYwY3pvZ1cxMHNYSEpjYmx4MFhIUmNkSEpsYm1SbGNtVnlRMjl1Wm1sbk9pQjdJRzFwZUdWa1VtVmhiR2wwZVVadmRqb2dOVEF1TXl3Z1pXNWhZbXhsVFdsNFpXUlNaV0ZzYVhSNU9pQm1ZV3h6WlN3Z1kyeGxZWEpEYjJ4dmNqb2dXekFzSURFc0lEQmRJSDBzWEhKY2JseDBYSFJjZEd4dlkyRnNWWE5sY2xWMWFXUTZJSFYxYVdRb0tTeGNjbHh1WEhSY2RGeDBiRzlqWVd4VmMyVnlSR2x6Y0d4aGVVNWhiV1U2SUdkbGJtVnlZWFJsVW1GdVpHOXRUbUZ0WlNncExGeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGNtVjBkWEp1SUhOMFlYUmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JuMWNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdkM0pwZEdWUVpYSnphWE4wWlc1MFUzUmhkR1VvSUhOMFlYUmxPaUJCWVhKa2RtRnlhMU4wWVhSbExDQndZWFJvT2lCemRISnBibWNnS1RvZ1ltOXZiR1ZoYmx4eVhHNTdYSEpjYmx4MGJHVjBJR1p6SUQwZ1pYWmhiQ2dnWENKeVpYRjFhWEpsS0NBblpuTW5JQ2xjSWlBcE8xeHlYRzVjZEhOMFlYUmxMbVp2Y20xaGRDQTlJRUZoY21SMllYSnJVM1JoZEdWR2IzSnRZWFE3WEhKY2JseDBabk11ZDNKcGRHVkdhV3hsVTNsdVl5Z2djR0YwYUN3Z1NsTlBUaTV6ZEhKcGJtZHBabmtvSUhOMFlYUmxMQ0J1ZFd4c0xDQXlJQ2tnS1R0Y2NseHVYSFJ5WlhSMWNtNGdkSEoxWlR0Y2NseHVmVnh5WEc1Y2NseHVJaXdpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUhabFl6SmZNU0E5SUhKbGNYVnBjbVVvWENJdUwzWmxZekpjSWlrN1hISmNiblpoY2lCamIyNXpkR0Z1ZEhOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDJOdmJuTjBZVzUwYzF3aUtUdGNjbHh1ZG1GeUlHMWhkRElnUFNBdktpb2dRR05zWVhOeklDb3ZJQ2htZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNCbWRXNWpkR2x2YmlCdFlYUXlLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTZzBLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kbUZzZFdWeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXBibWwwS0haaGJIVmxjeWs3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZWeHlYRzRnSUNBZ2JXRjBNaTV3Y205MGIzUjVjR1V1WVhRZ1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iYVc1a1pYaGRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExtbHVhWFFnUFNCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0EwT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQjJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExuSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2diV0YwTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElEUTdJR2tyS3lrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMblpoYkhWbGMxdHBYU0E5SUhSb2FYTXVkbUZzZFdWelcybGRPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhReUxuQnliM1J2ZEhsd1pTNWhiR3dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCYlhUdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURRN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWVhSaFcybGRJRDBnZEdocGN5NTJZV3gxWlhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1lYUmhPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExuSnZkeUE5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNvZ01pQXJJREJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURJZ0t5QXhYU3hjY2x4dUlDQWdJQ0FnSUNCZE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1OdmJDQTlJR1oxYm1OMGFXOXVJQ2hwYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLeUF5WFN4Y2NseHVJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExtVnhkV0ZzY3lBOUlHWjFibU4wYVc5dUlDaHRZWFJ5YVhnc0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhSEpsYzJodmJHUWdQVDA5SUhadmFXUWdNQ2tnZXlCMGFISmxjMmh2YkdRZ1BTQmpiMjV6ZEdGdWRITmZNUzVsY0hOcGJHOXVPeUI5WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQTBPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRTFoZEdndVlXSnpLSFJvYVhNdWRtRnNkV1Z6VzJsZElDMGdiV0YwY21sNExtRjBLR2twS1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1SbGRHVnliV2x1WVc1MElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3dYU0FxSUhSb2FYTXVkbUZzZFdWeld6TmRJQzBnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUIwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1elpYUkpaR1Z1ZEdsMGVTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlERTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdWRISmhibk53YjNObElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlcxd0lEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIUmxiWEE3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdWFXNTJaWEp6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwSUQwZ2RHaHBjeTVrWlhSbGNtMXBibUZ1ZENncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhRZ1BTQXhMakFnTHlCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNU0E5SUhSb2FYTXVkbUZzZFdWeld6QmRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnWkdWMElDb2dLSFJvYVhNdWRtRnNkV1Z6V3pOZEtUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJR1JsZENBcUlDZ3RkR2hwY3k1MllXeDFaWE5iTVYwcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdaR1YwSUNvZ0tDMTBhR2x6TG5aaGJIVmxjMXN5WFNrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQmtaWFFnS2lCaE1URTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNaTV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGtnUFNCbWRXNWpkR2x2YmlBb2JXRjBjbWw0S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNaUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnWVRFeElDb2diV0YwY21sNExtRjBLREFwSUNzZ1lURXlJQ29nYldGMGNtbDRMbUYwS0RJcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdZVEV4SUNvZ2JXRjBjbWw0TG1GMEtERXBJQ3NnWVRFeUlDb2diV0YwY21sNExtRjBLRE1wTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ1lUSXhJQ29nYldGMGNtbDRMbUYwS0RBcElDc2dZVEl5SUNvZ2JXRjBjbWw0TG1GMEtESXBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnWVRJeElDb2diV0YwY21sNExtRjBLREVwSUNzZ1lUSXlJQ29nYldGMGNtbDRMbUYwS0RNcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRESXVjSEp2ZEc5MGVYQmxMbkp2ZEdGMFpTQTlJR1oxYm1OMGFXOXVJQ2hoYm1kc1pTa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEVnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpJZ1BTQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emFXNG9ZVzVuYkdVcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCamIzTWdQU0JOWVhSb0xtTnZjeWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0JoTVRFZ0tpQmpiM01nS3lCaE1USWdLaUJ6YVc0N1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQmhNVEVnS2lBdGMybHVJQ3NnWVRFeUlDb2dZMjl6TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ1lUSXhJQ29nWTI5eklDc2dZVEl5SUNvZ2MybHVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnWVRJeElDb2dMWE5wYmlBcklHRXlNaUFxSUdOdmN6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlVlpsWXpJZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQnlaWE4xYkhRcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSEpsYzNWc2RDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVIa2dQU0JiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTUYwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I0SUNvZ2RHaHBjeTUyWVd4MVpYTmJNbDBnS3lCNUlDb2dkR2hwY3k1MllXeDFaWE5iTTEwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhOMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUhabFl6SmZNUzVrWldaaGRXeDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhnZ0tpQjBhR2x6TG5aaGJIVmxjMXN3WFNBcklIa2dLaUIwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3lYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFNrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERJdWNISnZkRzkwZVhCbExuTmpZV3hsSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1URWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXlJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQmhNVEVnS2lCNE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdZVEV5SUNvZ2VUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJR0V5TVNBcUlIZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMGdQU0JoTWpJZ0tpQjVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdlpIVmpkQ0E5SUdaMWJtTjBhVzl1SUNodE1Td2diVElzSUhKbGMzVnNkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRFZ1BTQnRNUzVoZENnd0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXlJRDBnYlRFdVlYUW9NU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlHMHhMbUYwS0RJcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0J0TVM1aGRDZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1cGJtbDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdFeE1TQXFJRzB5TG1GMEtEQXBJQ3NnWVRFeUlDb2diVEl1WVhRb01pa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoTVRFZ0tpQnRNaTVoZENneEtTQXJJR0V4TWlBcUlHMHlMbUYwS0RNcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZVEl4SUNvZ2JUSXVZWFFvTUNrZ0t5QmhNaklnS2lCdE1pNWhkQ2d5S1N4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRXlNU0FxSUcweUxtRjBLREVwSUNzZ1lUSXlJQ29nYlRJdVlYUW9NeWtzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhReUtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0V4TVNBcUlHMHlMbUYwS0RBcElDc2dZVEV5SUNvZ2JUSXVZWFFvTWlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhNVEVnS2lCdE1pNWhkQ2d4S1NBcklHRXhNaUFxSUcweUxtRjBLRE1wTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lUSXhJQ29nYlRJdVlYUW9NQ2tnS3lCaE1qSWdLaUJ0TWk1aGRDZ3lLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdFeU1TQXFJRzB5TG1GMEtERXBJQ3NnWVRJeUlDb2diVEl1WVhRb015a3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMHBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbWxrWlc1MGFYUjVJRDBnYm1WM0lHMWhkRElvS1M1elpYUkpaR1Z1ZEdsMGVTZ3BPMXh5WEc0Z0lDQWdjbVYwZFhKdUlHMWhkREk3WEhKY2JuMG9LU2s3WEhKY2JtVjRjRzl5ZEhNdVpHVm1ZWFZzZENBOUlHMWhkREk3WEhKY2JpOHZJeUJ6YjNWeVkyVk5ZWEJ3YVc1blZWSk1QVzFoZERJdWFuTXViV0Z3SWl3aUx5b3FYRzRnS2lCQWJHbGpaVzV6WlNCUmRXRjBaWEp1YVc5dUxtcHpJSFl4TGpFdU1DQXlNaTh3TWk4eU1ERTJYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTJMQ0JTYjJKbGNuUWdSV2x6Wld4bElDaHliMkpsY25SQWVHRnlaeTV2Y21jcFhHNGdLaUJFZFdGc0lHeHBZMlZ1YzJWa0lIVnVaR1Z5SUhSb1pTQk5TVlFnYjNJZ1IxQk1JRlpsY25OcGIyNGdNaUJzYVdObGJuTmxjeTVjYmlBcUtpOWNiaWhtZFc1amRHbHZiaWh5YjI5MEtTQjdYRzVjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRZV3hqZFd4aGRHVnpJR3h2WnloemNYSjBLR0ZlTWl0aVhqSXBLU0JwYmlCaElIZGhlU0IwYnlCaGRtOXBaQ0J2ZG1WeVpteHZkM05jYmlBZ0lDcGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUdGY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR0pjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNuMWNiaUFnSUNvdlhHNGdJR1oxYm1OMGFXOXVJR3h2WjBoNWNHOTBLR0VzSUdJcElIdGNibHh1SUNBZ0lIWmhjaUJmWVNBOUlFMWhkR2d1WVdKektHRXBPMXh1SUNBZ0lIWmhjaUJmWWlBOUlFMWhkR2d1WVdKektHSXBPMXh1WEc0Z0lDQWdhV1lnS0dFZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJOWVhSb0xteHZaeWhmWWlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHSWdQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbXh2WnloZllTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRjloSUR3Z016QXdNQ0FtSmlCZllpQThJRE13TURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbXh2WnloaElDb2dZU0FySUdJZ0tpQmlLU0FxSURBdU5UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnVFdGMGFDNXNiMmNvWVNBdklFMWhkR2d1WTI5ektFMWhkR2d1WVhSaGJqSW9ZaXdnWVNrcEtUdGNiaUFnZlZ4dVhHNGdJQzhxWEc0Z0lDQXFJRVJsWm1GMWJIUWdhWE1nZEdobElHMTFiSFJwY0d4cFkyRjBhWFpsSUc5dVpTQmxiR1Z0Wlc1MFhHNGdJQ0FxWEc0Z0lDQXFMMXh1SUNCMllYSWdVQ0E5SUh0Y2JpQWdJQ0FuZHljNklERXNYRzRnSUNBZ0ozZ25PaUF3TEZ4dUlDQWdJQ2Q1SnpvZ01DeGNiaUFnSUNBbmVpYzZJREJjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCd1lYSnpaU2hrWlhOMExDQjNMQ0I0TENCNUxDQjZLU0I3WEc1Y2JpQWdJQ0F2THlCTmIzTjBJR052YlcxdmJpQnBiblJsY201aGJDQjFjMlVnWTJGelpTQjNhWFJvSURRZ2NHRnlZVzF6WEc0Z0lDQWdhV1lnS0hvZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnWkdWemRGc25keWRkSUQwZ2R6dGNiaUFnSUNBZ0lHUmxjM1JiSjNnblhTQTlJSGc3WEc0Z0lDQWdJQ0JrWlhOMFd5ZDVKMTBnUFNCNU8xeHVJQ0FnSUNBZ1pHVnpkRnNuZWlkZElEMGdlanRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlIY2dQVDA5SUNkdlltcGxZM1FuSUNZbUlIa2dQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVYRzRnSUNBZ0lDQXZMeUJEYUdWamF5Qm1iM0lnY1hWaGRITXNJR1p2Y2lCbGVHRnRjR3hsSUhkb1pXNGdZVzRnYjJKcVpXTjBJR2RsZEhNZ1kyeHZibVZrWEc0Z0lDQWdJQ0JwWmlBb0ozY25JR2x1SUhjZ2ZId2dKM2duSUdsdUlIY2dmSHdnSjNrbklHbHVJSGNnZkh3Z0ozb25JR2x1SUhjcElIdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmR5ZGRJRDBnZDFzbmR5ZGRJSHg4SURBN1hHNGdJQ0FnSUNBZ0lHUmxjM1JiSjNnblhTQTlJSGRiSjNnblhTQjhmQ0F3TzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ1SjEwZ1BTQjNXeWQ1SjEwZ2ZId2dNRHRjYmlBZ0lDQWdJQ0FnWkdWemRGc25laWRkSUQwZ2Qxc25laWRkSUh4OElEQTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdMeThnUTJobFkyc2dabTl5SUdOdmJYQnNaWGdnYm5WdFltVnljMXh1SUNBZ0lDQWdhV1lnS0NkeVpTY2dhVzRnZHlBbUppQW5hVzBuSUdsdUlIY3BJSHRjYmlBZ0lDQWdJQ0FnWkdWemRGc25keWRkSUQwZ2Qxc25jbVVuWFR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZUNkZElEMGdkMXNuYVcwblhUdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVTZGRJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZWlkZElEMGdNRHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0F2THlCRGFHVmpheUJtYjNJZ1lYSnlZWGxjYmlBZ0lDQWdJR2xtSUNoM0xteGxibWQwYUNBOVBUMGdOQ2tnZTF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQzSjEwZ1BTQjNXekJkTzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ0SjEwZ1BTQjNXekZkTzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ1SjEwZ1BTQjNXekpkTzF4dUlDQWdJQ0FnSUNCa1pYTjBXeWQ2SjEwZ1BTQjNXek5kTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklFTm9aV05ySUdadmNpQmhkV2R0Wlc1MFpXUWdkbVZqZEc5eVhHNGdJQ0FnSUNCcFppQW9keTVzWlc1bmRHZ2dQVDA5SURNcElIdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmR5ZGRJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZUNkZElEMGdkMXN3WFR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZVNkZElEMGdkMXN4WFR0Y2JpQWdJQ0FnSUNBZ1pHVnpkRnNuZWlkZElEMGdkMXN5WFR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBsdWRtRnNhV1FnYjJKcVpXTjBKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGeWMyVWdjM1J5YVc1bklIWmhiSFZsYzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnZHlBOVBUMGdKM04wY21sdVp5Y2dKaVlnZVNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc1Y2JpQWdJQ0FnSUhaaGNpQjBiMnRsYm5NZ1BTQjNMbTFoZEdOb0tDOWNYR1FyWEZ3dVAxeGNaQ3BsV3lzdFhUOWNYR1FyZkZ4Y1pDdGNYQzQvWEZ4a0tueGNYQzVjWEdRcmZDNHZaeWs3WEc0Z0lDQWdJQ0IyWVhJZ2NHeDFjeUE5SURFN1hHNGdJQ0FnSUNCMllYSWdiV2x1ZFhNZ1BTQXdPMXh1WEc0Z0lDQWdJQ0IyWVhJZ2FVMWhjQ0E5SUhzbmFTYzZJQ2Q0Snl3Z0oyb25PaUFuZVNjc0lDZHJKem9nSjNvbmZUdGNibHh1SUNBZ0lDQWdhV1lnS0hSdmEyVnVjeUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFCaGNuTmxJR1Z5Y205eUp5azdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQzh2SUZKbGMyVjBJSFJvWlNCamRYSnlaVzUwSUhOMFlYUmxYRzRnSUNBZ0lDQmtaWE4wV3lkM0oxMGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaWE4wV3lkNEoxMGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaWE4wV3lkNUoxMGdQVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaWE4wV3lkNkoxMGdQU0F3TzF4dVhHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUnZhMlZ1Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQmpJRDBnZEc5clpXNXpXMmxkTzF4dUlDQWdJQ0FnSUNCMllYSWdaQ0E5SUhSdmEyVnVjMXRwSUNzZ01WMDdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTWdQVDA5SUNjZ0p5QjhmQ0JqSUQwOVBTQW5YRngwSnlCOGZDQmpJRDA5UFNBblhGeHVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHFJSFp2YVdRZ0tpOWNiaUFnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2hqSUQwOVBTQW5LeWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiSFZ6S3lzN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9ZeUE5UFQwZ0p5MG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXbHVkWE1yS3p0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNod2JIVnpJQ3NnYldsdWRYTWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVUdGeWMyVWdaWEp5YjNJbklDc2dZeWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCbklEMGdhVTFoY0Z0alhUdGNibHh1SUNBZ0lDQWdJQ0FnSUM4dklFbHpJSFJvWlNCamRYSnlaVzUwSUhSdmEyVnVJR0Z1SUdsdFlXZHBibUZ5ZVNCemFXZHVQMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaG5JQ0U5UFNCMWJtUmxabWx1WldRcElIdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTWE1nZEdobElHWnZiR3h2ZDJsdVp5QjBiMnRsYmlCaElHNTFiV0psY2o5Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoa0lDRTlQU0FuSUNjZ0ppWWdJV2x6VG1GT0tHUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR01nUFNCa08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcEt5czdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqSUQwZ0p6RW5PMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dselRtRk9LR01wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVUdGeWMyVnlJR1Z5Y205eUp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdjZ1BTQnBUV0Z3VzJSZE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHa3JLenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmtaWE4wVzJjZ2ZId2dKM2NuWFNBclBTQndZWEp6WlVac2IyRjBLQ2h0YVc1MWN5QWxJRElnUHlBbkxTY2dPaUFuSnlrZ0t5QmpLVHRjYmlBZ0lDQWdJQ0FnSUNCd2JIVnpJRDBnYldsdWRYTWdQU0F3TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRk4wYVd4c0lITnZiV1YwYUdsdVp5QnZiaUIwYUdVZ2MzUmhZMnRjYmlBZ0lDQWdJR2xtSUNod2JIVnpJQ3NnYldsdWRYTWdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblVHRnljMlZ5SUdWeWNtOXlKeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTV1lnYm04Z2MybHVaMnhsSUhaaGNtbGhZbXhsSUhkaGN5Qm5hWFpsYmlCQlRrUWdhWFFnZDJGeklIUm9aU0JqYjI1emRISjFZM1J2Y2l3Z2MyVjBJR2wwSUhSdklIUm9aU0JwWkdWdWRHbDBlVnh1SUNBZ0lHbG1JQ2gzSUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnWkdWemRDQWhQVDBnVUNrZ2UxeHVJQ0FnSUNBZ1pHVnpkRnNuZHlkZElEMGdNVHRjYmlBZ0lDQWdJR1JsYzNSYkozZ25YU0E5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYzNSYkoza25YU0E5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR1JsYzNSYkozb25YU0E5SURBN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmx4dUlDQWdJQ0FnWkdWemRGc25keWRkSUQwZ2R5QjhmQ0F3TzF4dVhHNGdJQ0FnSUNBdkx5Qk9iM1JsT2lCVWFHbHpJR2x6YmlkMElITmxkRVp5YjIxQmVHbHpMQ0JwZENkeklHcDFjM1FnYzNsdWRHRmpkR2xqSUhOMVoyRnlJVnh1SUNBZ0lDQWdhV1lnS0hnZ0ppWWdlQzVzWlc1bmRHZ2dQVDA5SURNcElIdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVDZGRJRDBnZUZzd1hUdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVTZGRJRDBnZUZzeFhUdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVpZGRJRDBnZUZzeVhUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHUmxjM1JiSjNnblhTQTlJSGdnZkh3Z01EdGNiaUFnSUNBZ0lDQWdaR1Z6ZEZzbmVTZGRJRDBnZVNCOGZDQXdPMXh1SUNBZ0lDQWdJQ0JrWlhOMFd5ZDZKMTBnUFNCNklIeDhJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYm5WdFZHOVRkSElvYml3Z1kyaGhjaXdnY0hKbGRpa2dlMXh1WEc0Z0lDQWdkbUZ5SUhKbGRDQTlJQ2NuTzF4dVhHNGdJQ0FnYVdZZ0tHNGdJVDA5SURBcElIdGNibHh1SUNBZ0lDQWdhV1lnS0hCeVpYWWdJVDA5SUNjbktTQjdYRzRnSUNBZ0lDQWdJSEpsZENBclBTQnVJRHdnTUNBL0lDY2dMU0FuSURvZ0p5QXJJQ2M3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0c0Z1BDQXdLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRDQXJQU0FuTFNjN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHNGdQU0JOWVhSb0xtRmljeWh1S1R0Y2JseHVJQ0FnSUNBZ2FXWWdLREVnSVQwOUlHNGdmSHdnWTJoaGNpQTlQVDBnSnljcElIdGNiaUFnSUNBZ0lDQWdjbVYwSUNzOUlHNDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFFnS3owZ1kyaGhjanRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKbGREdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJSZFdGMFpYSnVhVzl1SUdOdmJuTjBjblZqZEc5eVhHNGdJQ0FxWEc0Z0lDQXFJRUJqYjI1emRISjFZM1J2Y2x4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNueFBZbXBsWTNSOGMzUnlhVzVuZlNCM0lISmxZV3hjYmlBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhJOWZTQjRJR2x0WVdkY2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I1SUdsdFlXZGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEk5ZlNCNklHbHRZV2RjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMUYxWVhSbGNtNXBiMjU5WEc0Z0lDQXFMMXh1SUNCbWRXNWpkR2x2YmlCUmRXRjBaWEp1YVc5dUtIY3NJSGdzSUhrc0lIb3BJSHRjYmx4dUlDQWdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCUmRXRjBaWEp1YVc5dUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0hjc0lIZ3NJSGtzSUhvcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCaGNuTmxLSFJvYVhNc0lIY3NJSGdzSUhrc0lIb3BPMXh1SUNCOVhHNWNiaUFnVVhWaGRHVnlibWx2Ymk1d2NtOTBiM1I1Y0dVZ1BTQjdYRzRnSUNBZ0ozY25PaUF4TEZ4dUlDQWdJQ2Q0SnpvZ01DeGNiaUFnSUNBbmVTYzZJREFzWEc0Z0lDQWdKM29uT2lBd0xGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFRmtaSE1nZEhkdklIRjFZWFJsY201cGIyNXpJRkV4SUdGdVpDQlJNbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOFQySnFaV04wZkhOMGNtbHVaMzBnZHlCeVpXRnNYRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhJOWZTQjRJR2x0WVdkY2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjajE5SUhrZ2FXMWhaMXh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeVBYMGdlaUJwYldGblhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ2UxRjFZWFJsY201cGIyNTlYRzRnSUNBZ0lDb3ZYRzRnSUNBZ0oyRmtaQ2M2SUdaMWJtTjBhVzl1S0hjc0lIZ3NJSGtzSUhvcElIdGNibHh1SUNBZ0lDQWdjR0Z5YzJVb1VDd2dkeXdnZUN3Z2VTd2dlaWs3WEc1Y2JpQWdJQ0FnSUM4dklGRXhJQ3NnVVRJZ09qMGdXM2N4TENCMk1WMGdLeUJiZHpJc0lIWXlYU0E5SUZ0M01TQXJJSGN5TENCMk1TQXJJSFl5WFZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGRjFZWFJsY201cGIyNG9YRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE5iSjNjblhTQXJJRkJiSjNjblhTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjMXNuZUNkZElDc2dVRnNuZUNkZExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpXeWQ1SjEwZ0t5QlFXeWQ1SjEwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTmJKM29uWFNBcklGQmJKM29uWFNrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCVGRXSjBjbUZqZEhNZ1lTQnhkV0YwWlhKdWFXOXVjeUJSTWlCbWNtOXRJRkV4WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNueFBZbXBsWTNSOGMzUnlhVzVuZlNCM0lISmxZV3hjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNqMTlJSGdnYVcxaFoxeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VTQnBiV0ZuWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I2SUdsdFlXZGNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjdVWFZoZEdWeWJtbHZibjFjYmlBZ0lDQWdLaTljYmlBZ0lDQW5jM1ZpSnpvZ1puVnVZM1JwYjI0b2R5d2dlQ3dnZVN3Z2Vpa2dlMXh1WEc0Z0lDQWdJQ0J3WVhKelpTaFFMQ0IzTENCNExDQjVMQ0I2S1R0Y2JseHVJQ0FnSUNBZ0x5OGdVVEVnTFNCUk1pQTZQU0JSTVNBcklDZ3RVVElwWEc0Z0lDQWdJQ0F2THlBZ0lDQWdJQ0FnSUNBOUlGdDNNU3dnZGpGZElDMGdXM2N5TENCMk1sMGdQU0JiZHpFZ0xTQjNNaXdnZGpFZ0xTQjJNbDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpXeWQzSjEwZ0xTQlFXeWQzSjEwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTmJKM2duWFNBdElGQmJKM2duWFN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGMxc25lU2RkSUMwZ1VGc25lU2RkTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdseld5ZDZKMTBnTFNCUVd5ZDZKMTBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTJGc1kzVnNZWFJsY3lCMGFHVWdZV1JrYVhScGRtVWdhVzUyWlhKelpTd2diM0lnYzJsdGNHeDVJR2wwSUc1bFoyRjBaWE1nZEdobElIRjFZWFJsY201cGIyNWNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQnlaWFIxY201eklIdFJkV0YwWlhKdWFXOXVmVnh1SUNBZ0lDQXFMMXh1SUNBZ0lDZHVaV2NuT2lCbWRXNWpkR2x2YmlncElIdGNibHh1SUNBZ0lDQWdMeThnTFZFZ09qMGdXeTEzTENBdGRsMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0MxMGFHbHpXeWQzSjEwc0lDMTBhR2x6V3lkNEoxMHNJQzEwYUdseld5ZDVKMTBzSUMxMGFHbHpXeWQ2SjEwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EyRnNZM1ZzWVhSbGN5QjBhR1VnYkdWdVozUm9MMjF2WkhWc2RYTXZiV0ZuYm1sMGRXUmxJRzl5SUhSb1pTQnViM0p0SUc5bUlHRWdjWFZoZEdWeWJtbHZibHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmJtOXliU2M2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQXZMeUI4VVh3Z09qMGdjM0Z5ZENoOFVYeGVNaWxjYmx4dUlDQWdJQ0FnTHk4Z1ZHaGxJSFZ1YVhRZ2NYVmhkR1Z5Ym1sdmJpQm9ZWE1nZkZGOElEMGdNVnh1WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhOYkozY25YVHRjYmlBZ0lDQWdJSFpoY2lCNElEMGdkR2hwYzFzbmVDZGRPMXh1SUNBZ0lDQWdkbUZ5SUhrZ1BTQjBhR2x6V3lkNUoxMDdYRzRnSUNBZ0lDQjJZWElnZWlBOUlIUm9hWE5iSjNvblhUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaDNJQ29nZHlBcklIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEWVd4amRXeGhkR1Z6SUhSb1pTQnpjWFZoY21Wa0lHeGxibWQwYUM5dGIyUjFiSFZ6TDIxaFoyNXBkSFZrWlNCdmNpQjBhR1VnYm05eWJTQnZaaUJoSUhGMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUh0dWRXMWlaWEo5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMjV2Y20xVGNTYzZJR1oxYm1OMGFXOXVLQ2tnZTF4dVhHNGdJQ0FnSUNBdkx5QjhVWHhlTWlBNlBTQmJkeXdnZGwwZ0tpQmJkeXdnTFhaZFhHNGdJQ0FnSUNBdkx5QWdJQ0FnSUNBZ1BTQmJkMTR5SUNzZ1pHOTBLSFlzSUhZcExDQXRkeUFxSUhZZ0t5QjNJQ29nZGlBcklHTnliM056S0hZc0lDMTJLVjFjYmlBZ0lDQWdJQzh2SUNBZ0lDQWdJQ0E5SUZ0M1hqSWdLeUI4ZG54ZU1pd2dNRjFjYmlBZ0lDQWdJQzh2SUNBZ0lDQWdJQ0E5SUZ0M1hqSWdLeUJrYjNRb2Rpd2dkaWtzSURCZFhHNGdJQ0FnSUNBdkx5QWdJQ0FnSUNBZ1BTQmtiM1FvVVN3Z1VTbGNiaUFnSUNBZ0lDOHZJQ0FnSUNBZ0lDQTlJRkVnS2lCUkoxeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE5iSjNjblhUdGNiaUFnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjMXNuZUNkZE8xeHVJQ0FnSUNBZ2RtRnlJSGtnUFNCMGFHbHpXeWQ1SjEwN1hHNGdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTmJKM29uWFR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUhjZ0tpQjNJQ3NnZUNBcUlIZ2dLeUI1SUNvZ2VTQXJJSG9nS2lCNk8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1RtOXliV0ZzYVhwbGN5QjBhR1VnY1hWaGRHVnlibWx2YmlCMGJ5Qm9ZWFpsSUh4UmZDQTlJREVnWVhNZ2JHOXVaeUJoY3lCMGFHVWdibTl5YlNCcGN5QnViM1FnZW1WeWIxeHVJQ0FnSUNBcUlFRnNkR1Z5Ym1GMGFYWmxJRzVoYldWeklHRnlaU0IwYUdVZ2MybG5iblZ0TENCMWJtbDBJRzl5SUhabGNuTnZjbHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdlMUYxWVhSbGNtNXBiMjU5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMjV2Y20xaGJHbDZaU2M2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQXZMeUJSS2lBNlBTQlJJQzhnZkZGOFhHNWNiaUFnSUNBZ0lDOHZJSFZ1Y205c2JHVmtJRkV1YzJOaGJHVW9NU0F2SUZFdWJtOXliU2dwS1Z4dVhHNGdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTmJKM2NuWFR0Y2JpQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGMxc25lQ2RkTzF4dUlDQWdJQ0FnZG1GeUlIa2dQU0IwYUdseld5ZDVKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhOYkozb25YVHRjYmx4dUlDQWdJQ0FnZG1GeUlHNXZjbTBnUFNCTllYUm9Mbk54Y25Rb2R5QXFJSGNnS3lCNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIb3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JtOXliU0E4SUZGMVlYUmxjbTVwYjI1YkowVlFVMGxNVDA0blhTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdVWFZoZEdWeWJtbHZibHNuV2tWU1R5ZGRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J1YjNKdElEMGdNU0F2SUc1dmNtMDdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloM0lDb2dibTl5YlN3Z2VDQXFJRzV2Y20wc0lIa2dLaUJ1YjNKdExDQjZJQ29nYm05eWJTazdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRZV3hqZFd4aGRHVnpJSFJvWlNCSVlXMXBiSFJ2YmlCd2NtOWtkV04wSUc5bUlIUjNieUJ4ZFdGMFpYSnVhVzl1YzF4dUlDQWdJQ0FxSUV4bFlYWnBibWNnYjNWMElIUm9aU0JwYldGbmFXNWhjbmtnY0dGeWRDQnlaWE4xYkhSeklHbHVJR3AxYzNRZ2MyTmhiR2x1WnlCMGFHVWdjWFZoZEZ4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjhUMkpxWldOMGZITjBjbWx1WjMwZ2R5QnlaV0ZzWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I0SUdsdFlXZGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY2oxOUlIa2dhVzFoWjF4dUlDQWdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlQWDBnZWlCcGJXRm5YRzRnSUNBZ0lDb2dRSEpsZEhWeWJuTWdlMUYxWVhSbGNtNXBiMjU5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMjExYkNjNklHWjFibU4wYVc5dUtIY3NJSGdzSUhrc0lIb3BJSHRjYmx4dUlDQWdJQ0FnY0dGeWMyVW9VQ3dnZHl3Z2VDd2dlU3dnZWlrN1hHNWNiaUFnSUNBZ0lDOHZJRkV4SUNvZ1VUSWdQU0JiZHpFZ0tpQjNNaUF0SUdSdmRDaDJNU3dnZGpJcExDQjNNU0FxSUhZeUlDc2dkeklnS2lCMk1TQXJJR055YjNOektIWXhMQ0IyTWlsZFhHNWNiaUFnSUNBZ0lDOHZJRTV2ZENCamIyMXRkWFJoZEdsMlpTQmlaV05oZFhObElHTnliM056S0hZeExDQjJNaWtnSVQwZ1kzSnZjM01vZGpJc0lIWXhLU0ZjYmx4dUlDQWdJQ0FnZG1GeUlIY3hJRDBnZEdocGMxc25keWRkTzF4dUlDQWdJQ0FnZG1GeUlIZ3hJRDBnZEdocGMxc25lQ2RkTzF4dUlDQWdJQ0FnZG1GeUlIa3hJRDBnZEdocGMxc25lU2RkTzF4dUlDQWdJQ0FnZG1GeUlIb3hJRDBnZEdocGMxc25laWRkTzF4dVhHNGdJQ0FnSUNCMllYSWdkeklnUFNCUVd5ZDNKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VESWdQU0JRV3lkNEoxMDdYRzRnSUNBZ0lDQjJZWElnZVRJZ1BTQlFXeWQ1SjEwN1hHNGdJQ0FnSUNCMllYSWdlaklnUFNCUVd5ZDZKMTA3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VYVmhkR1Z5Ym1sdmJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUIzTWlBdElIZ3hJQ29nZURJZ0xTQjVNU0FxSUhreUlDMGdlakVnS2lCNk1peGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUI0TWlBcklIZ3hJQ29nZHpJZ0t5QjVNU0FxSUhveUlDMGdlakVnS2lCNU1peGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUI1TWlBcklIa3hJQ29nZHpJZ0t5QjZNU0FxSUhneUlDMGdlREVnS2lCNk1peGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2R6RWdLaUI2TWlBcklIb3hJQ29nZHpJZ0t5QjRNU0FxSUhreUlDMGdlVEVnS2lCNE1pazdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlRZMkZzWlhNZ1lTQnhkV0YwWlhKdWFXOXVJR0o1SUdFZ2MyTmhiR0Z5TENCbVlYTjBaWElnZEdoaGJpQjFjMmx1WnlCdGRXeDBhWEJzYVdOaGRHbHZibHh1SUNBZ0lDQXFYRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlITWdjMk5oYkdsdVp5Qm1ZV04wYjNKY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VYVmhkR1Z5Ym1sdmJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmMyTmhiR1VuT2lCbWRXNWpkR2x2YmloektTQjdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGMxc25keWRkSUNvZ2N5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjMXNuZUNkZElDb2djeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwYzFzbmVTZGRJQ29nY3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGMxc25laWRkSUNvZ2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRZV3hqZFd4aGRHVnpJSFJvWlNCa2IzUWdjSEp2WkhWamRDQnZaaUIwZDI4Z2NYVmhkR1Z5Ym1sdmJuTmNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZkU5aWFtVmpkSHh6ZEhKcGJtZDlJSGNnY21WaGJGeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VDQnBiV0ZuWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I1SUdsdFlXZGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY2oxOUlIb2dhVzFoWjF4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUh0dWRXMWlaWEo5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMlJ2ZENjNklHWjFibU4wYVc5dUtIY3NJSGdzSUhrc0lIb3BJSHRjYmx4dUlDQWdJQ0FnY0dGeWMyVW9VQ3dnZHl3Z2VDd2dlU3dnZWlrN1hHNWNiaUFnSUNBZ0lDOHZJR1J2ZENoUk1Td2dVVElwSURvOUlIY3hJQ29nZHpJZ0t5QmtiM1FvZGpFc0lIWXlLVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwYzFzbmR5ZGRJQ29nVUZzbmR5ZGRJQ3NnZEdocGMxc25lQ2RkSUNvZ1VGc25lQ2RkSUNzZ2RHaHBjMXNuZVNkZElDb2dVRnNuZVNkZElDc2dkR2hwYzFzbmVpZGRJQ29nVUZzbmVpZGRPMXh1SUNBZ0lIMHNYRzRnSUNBZ0x5b3FYRzRnSUNBZ0lDb2dRMkZzWTNWc1lYUmxjeUIwYUdVZ2FXNTJaWEp6WlNCdlppQmhJSEYxWVhRZ1ptOXlJRzV2YmkxdWIzSnRZV3hwZW1Wa0lIRjFZWFJ6SUhOMVkyZ2dkR2hoZEZ4dUlDQWdJQ0FxSUZGZUxURWdLaUJSSUQwZ01TQmhibVFnVVNBcUlGRmVMVEVnUFNBeFhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VYVmhkR1Z5Ym1sdmJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmFXNTJaWEp6WlNjNklHWjFibU4wYVc5dUtDa2dlMXh1WEc0Z0lDQWdJQ0F2THlCUlhpMHhJRG85SUZFbklDOGdmRkY4WGpKY2JpQWdJQ0FnSUM4dklDQWdJQ0FnSUQwZ1czY2dMeUFvZDE0eUlDc2dmSFo4WGpJcExDQXRkaUF2SUNoM1hqSWdLeUI4ZG54ZU1pbGRYRzVjYmlBZ0lDQWdJQzh2SUZCeWIyOW1PbHh1SUNBZ0lDQWdMeThnVVNBcUlGRmVMVEVnUFNCYmR5d2dkbDBnS2lCYmR5QXZJQ2gzWGpJZ0t5QjhkbnhlTWlrc0lDMTJJQzhnS0hkZU1pQXJJSHgyZkY0eUtWMWNiaUFnSUNBZ0lDOHZJQ0FnSUNBZ0lDQWdJRDBnV3pFc0lEQmRYRzRnSUNBZ0lDQXZMeUJSWGkweElDb2dVU0E5SUZ0M0lDOGdLSGRlTWlBcklIeDJmRjR5S1N3Z0xYWWdMeUFvZDE0eUlDc2dmSFo4WGpJcFhTQXFJRnQzTENCMlhWeHVJQ0FnSUNBZ0x5OGdJQ0FnSUNBZ0lDQWdQU0JiTVN3Z01GMHVYRzVjYmlBZ0lDQWdJSFpoY2lCM0lEMGdkR2hwYzFzbmR5ZGRPMXh1SUNBZ0lDQWdkbUZ5SUhnZ1BTQjBhR2x6V3lkNEoxMDdYRzRnSUNBZ0lDQjJZWElnZVNBOUlIUm9hWE5iSjNrblhUdGNiaUFnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjMXNuZWlkZE8xeHVYRzRnSUNBZ0lDQjJZWElnYm05eWJWTnhJRDBnZHlBcUlIY2dLeUI0SUNvZ2VDQXJJSGtnS2lCNUlDc2dlaUFxSUhvN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1YjNKdFUzRWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGRjFZWFJsY201cGIyNWJKMXBGVWs4blhUc2dMeThnVkU5RVR6b2dTWE1nZEdobElISmxjM1ZzZENCNlpYSnZJRzl5SUc5dVpTQjNhR1Z1SUhSb1pTQnViM0p0SUdseklIcGxjbTgvWEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dmNtMVRjU0E5SURFZ0x5QnViM0p0VTNFN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWgzSUNvZ2JtOXliVk54TENBdGVDQXFJRzV2Y20xVGNTd2dMWGtnS2lCdWIzSnRVM0VzSUMxNklDb2dibTl5YlZOeEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFMTFiSFJwY0d4cFpYTWdZU0J4ZFdGMFpYSnVhVzl1SUhkcGRHZ2dkR2hsSUdsdWRtVnljMlVnYjJZZ1lTQnpaV052Ym1RZ2NYVmhkR1Z5Ym1sdmJseHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo4VDJKcVpXTjBmSE4wY21sdVozMGdkeUJ5WldGc1hHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEk5ZlNCNElHbHRZV2RjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNqMTlJSGtnYVcxaFoxeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VpQnBiV0ZuWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZTFGMVlYUmxjbTVwYjI1OVhHNGdJQ0FnSUNvdlhHNGdJQ0FnSjJScGRpYzZJR1oxYm1OMGFXOXVLSGNzSUhnc0lIa3NJSG9wSUh0Y2JseHVJQ0FnSUNBZ2NHRnljMlVvVUN3Z2R5d2dlQ3dnZVN3Z2VpazdYRzVjYmlBZ0lDQWdJQzh2SUZFeElDOGdVVElnT2owZ1VURWdLaUJSTWw0dE1WeHVYRzRnSUNBZ0lDQjJZWElnZHpFZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQjJZWElnZURFZ1BTQjBhR2x6V3lkNEoxMDdYRzRnSUNBZ0lDQjJZWElnZVRFZ1BTQjBhR2x6V3lkNUoxMDdYRzRnSUNBZ0lDQjJZWElnZWpFZ1BTQjBhR2x6V3lkNkoxMDdYRzVjYmlBZ0lDQWdJSFpoY2lCM01pQTlJRkJiSjNjblhUdGNiaUFnSUNBZ0lIWmhjaUI0TWlBOUlGQmJKM2duWFR0Y2JpQWdJQ0FnSUhaaGNpQjVNaUE5SUZCYkoza25YVHRjYmlBZ0lDQWdJSFpoY2lCNk1pQTlJRkJiSjNvblhUdGNibHh1SUNBZ0lDQWdkbUZ5SUc1dmNtMVRjU0E5SUhjeUlDb2dkeklnS3lCNE1pQXFJSGd5SUNzZ2VUSWdLaUI1TWlBcklIb3lJQ29nZWpJN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1YjNKdFUzRWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGRjFZWFJsY201cGIyNWJKMXBGVWs4blhUc2dMeThnVkU5RVR6b2dTWE1nZEdobElISmxjM1ZzZENCNlpYSnZJRzl5SUc5dVpTQjNhR1Z1SUhSb1pTQnViM0p0SUdseklIcGxjbTgvWEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dmNtMVRjU0E5SURFZ0x5QnViM0p0VTNFN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLSGN4SUNvZ2R6SWdLeUI0TVNBcUlIZ3lJQ3NnZVRFZ0tpQjVNaUFySUhveElDb2dlaklwSUNvZ2JtOXliVk54TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FvZURFZ0tpQjNNaUF0SUhjeElDb2dlRElnTFNCNU1TQXFJSG95SUNzZ2VqRWdLaUI1TWlrZ0tpQnViM0p0VTNFc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNoNU1TQXFJSGN5SUMwZ2R6RWdLaUI1TWlBdElIb3hJQ29nZURJZ0t5QjRNU0FxSUhveUtTQXFJRzV2Y20xVGNTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0tIb3hJQ29nZHpJZ0xTQjNNU0FxSUhveUlDMGdlREVnS2lCNU1pQXJJSGt4SUNvZ2VESXBJQ29nYm05eWJWTnhLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRU5oYkdOMWJHRjBaWE1nZEdobElHTnZibXAxWjJGMFpTQnZaaUJoSUhGMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnS2x4dUlDQWdJQ0FxSUVCeVpYUjFjbTV6SUh0UmRXRjBaWEp1YVc5dWZWeHVJQ0FnSUNBcUwxeHVJQ0FnSUNkamIyNXFkV2RoZEdVbk9pQm1kVzVqZEdsdmJpZ3BJSHRjYmx4dUlDQWdJQ0FnTHk4Z1VTY2dQU0JiY3l3Z0xYWmRYRzVjYmlBZ0lDQWdJQzh2SUVsbUlIUm9aU0J4ZFdGMFpYSnVhVzl1SUdseklHNXZjbTFoYkdsNlpXUXNYRzRnSUNBZ0lDQXZMeUIwYUdVZ1kyOXVhblZuWVhSbElHbHpJSFJvWlNCcGJuWmxjbk5sSUc5bUlIUm9aU0J4ZFdGMFpYSnVhVzl1SUMwZ1luVjBJR1poYzNSbGNseHVJQ0FnSUNBZ0x5OGdVU2NnS2lCUklEMGdVU0FxSUZFbklEMGdNVnh1WEc0Z0lDQWdJQ0F2THlCQlpHUnBkR2x2Ym1Gc2JIa3NJSFJvWlNCamIyNXFkV2RoZEdVZ2IyWWdZU0IxYm1sMElIRjFZWFJsY201cGIyNGdhWE1nWVNCeWIzUmhkR2x2YmlCM2FYUm9JSFJvWlNCellXMWxYRzRnSUNBZ0lDQXZMeUJoYm1kc1pTQmlkWFFnZEdobElHOXdjRzl6YVhSbElHRjRhWE11WEc1Y2JpQWdJQ0FnSUM4dklFMXZjbVZ2ZG1WeUlIUm9aU0JtYjJ4c2IzZHBibWNnY0hKdmNHVnlkSGtnYUc5c1pITTZYRzRnSUNBZ0lDQXZMeUFvVVRFZ0tpQlJNaWtuSUQwZ1VUSW5JQ29nVVRFblhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWgwYUdseld5ZDNKMTBzSUMxMGFHbHpXeWQ0SjEwc0lDMTBhR2x6V3lkNUoxMHNJQzEwYUdseld5ZDZKMTBwTzF4dUlDQWdJSDBzWEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUTJGc1kzVnNZWFJsY3lCMGFHVWdibUYwZFhKaGJDQmxlSEJ2Ym1WdWRHbGhkR2x2YmlCdlppQjBhR1VnY1hWaGRHVnlibWx2Ymx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZTFGMVlYUmxjbTVwYjI1OVhHNGdJQ0FnSUNvdlhHNGdJQ0FnSjJWNGNDYzZJR1oxYm1OMGFXOXVLQ2tnZTF4dVhHNGdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTmJKM2NuWFR0Y2JpQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGMxc25lQ2RkTzF4dUlDQWdJQ0FnZG1GeUlIa2dQU0IwYUdseld5ZDVKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhOYkozb25YVHRjYmx4dUlDQWdJQ0FnZG1GeUlIWk9iM0p0SUQwZ1RXRjBhQzV6Y1hKMEtIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEc0Z0lDQWdJQ0IyWVhJZ2QwVjRjQ0E5SUUxaGRHZ3VaWGh3S0hjcE8xeHVJQ0FnSUNBZ2RtRnlJSE5qWVd4bElEMGdkMFY0Y0NBdklIWk9iM0p0SUNvZ1RXRjBhQzV6YVc0b2RrNXZjbTBwTzF4dVhHNGdJQ0FnSUNCcFppQW9kazV2Y20wZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0x5OXlaWFIxY200Z2JtVjNJRkYxWVhSbGNtNXBiMjRvZDBWNGNDQXFJRTFoZEdndVkyOXpLSFpPYjNKdEtTd2dNQ3dnTUN3Z01DazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloM1JYaHdMQ0F3TENBd0xDQXdLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCM1JYaHdJQ29nVFdGMGFDNWpiM01vZGs1dmNtMHBMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nYzJOaGJHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIa2dLaUJ6WTJGc1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2VpQXFJSE5qWVd4bEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTmhiR04xYkdGMFpYTWdkR2hsSUc1aGRIVnlZV3dnYkc5bllYSnBkR2h0SUc5bUlIUm9aU0J4ZFdGMFpYSnVhVzl1WEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUI3VVhWaGRHVnlibWx2Ym4xY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuYkc5bkp6b2dablZ1WTNScGIyNG9LU0I3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGMxc25keWRkTzF4dUlDQWdJQ0FnZG1GeUlIZ2dQU0IwYUdseld5ZDRKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VTQTlJSFJvYVhOYkoza25YVHRjYmlBZ0lDQWdJSFpoY2lCNklEMGdkR2hwYzFzbmVpZGRPMXh1WEc0Z0lDQWdJQ0JwWmlBb2VTQTlQVDBnTUNBbUppQjZJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2IyZEllWEJ2ZENoM0xDQjRLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JOWVhSb0xtRjBZVzR5S0hnc0lIY3BMQ0F3TENBd0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhGT2IzSnRNaUE5SUhnZ0tpQjRJQ3NnZVNBcUlIa2dLeUI2SUNvZ2VpQXJJSGNnS2lCM08xeHVJQ0FnSUNBZ2RtRnlJSFpPYjNKdElEMGdUV0YwYUM1emNYSjBLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlrN1hHNWNiaUFnSUNBZ0lIWmhjaUJ6WTJGc1pTQTlJRTFoZEdndVlYUmhiaklvZGs1dmNtMHNJSGNwSUM4Z2RrNXZjbTA3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VYVmhkR1Z5Ym1sdmJpaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1RXRjBhQzVzYjJjb2NVNXZjbTB5S1NBcUlEQXVOU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlQ0FxSUhOallXeGxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjVJQ29nYzJOaGJHVXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIb2dLaUJ6WTJGc1pTazdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQkRZV3hqZFd4aGRHVnpJSFJvWlNCd2IzZGxjaUJ2WmlCaElIRjFZWFJsY201cGIyNGdjbUZwYzJWa0lIUnZJR0VnY21WaGJDQnVkVzFpWlhJZ2IzSWdZVzV2ZEdobGNpQnhkV0YwWlhKdWFXOXVYRzRnSUNBZ0lDcGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY254UFltcGxZM1I4YzNSeWFXNW5mU0IzSUhKbFlXeGNiaUFnSUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY2oxOUlIZ2dhVzFoWjF4dUlDQWdJQ0FxSUVCd1lYSmhiU0I3Ym5WdFltVnlQWDBnZVNCcGJXRm5YRzRnSUNBZ0lDb2dRSEJoY21GdElIdHVkVzFpWlhJOWZTQjZJR2x0WVdkY2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VYVmhkR1Z5Ym1sdmJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmNHOTNKem9nWm5WdVkzUnBiMjRvZHl3Z2VDd2dlU3dnZWlrZ2UxeHVYRzRnSUNBZ0lDQndZWEp6WlNoUUxDQjNMQ0I0TENCNUxDQjZLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tGQmJKM2tuWFNBOVBUMGdNQ0FtSmlCUVd5ZDZKMTBnUFQwOUlEQXBJSHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9VRnNuZHlkZElEMDlQU0F4SUNZbUlGQmJKM2duWFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRkJiSjNjblhTQTlQVDBnTUNBbUppQlFXeWQ0SjEwZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1VYVmhkR1Z5Ym1sdmJsc25UMDVGSjEwN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0F2THlCRGFHVmpheUJwWmlCM1pTQmpZVzRnYjNCbGNtRjBaU0JwYmlCRFhHNGdJQ0FnSUNBZ0lDOHZJRUp2Y25KdmQyVmtJR1p5YjIwZ1kyOXRjR3hsZUM1cWMxeHVJQ0FnSUNBZ0lDQnBaaUFvZEdocGMxc25lU2RkSUQwOVBTQXdJQ1ltSUhSb2FYTmJKM29uWFNBOVBUMGdNQ2tnZTF4dVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUdFZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHSWdQU0IwYUdseld5ZDRKMTA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWVNBOVBUMGdNQ0FtSmlCaUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVWFZoZEdWeWJtbHZibHNuV2tWU1R5ZGRPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCaGNtY2dQU0JOWVhSb0xtRjBZVzR5S0dJc0lHRXBPMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnNiMmdnUFNCc2IyZEllWEJ2ZENoaExDQmlLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hRV3lkNEoxMGdQVDA5SURBcElIdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0lnUFQwOUlEQWdKaVlnWVNBK1BTQXdLU0I3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtFMWhkR2d1Y0c5M0tHRXNJRkJiSjNjblhTa3NJREFzSURBc0lEQXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUFQwOUlEQXBJSHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6ZDJsMFkyZ2dLRkJiSjNjblhTQWxJRFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCallYTmxJREE2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGRjFZWFJsY201cGIyNG9UV0YwYUM1d2IzY29ZaXdnVUZzbmR5ZGRLU3dnTUN3Z01Dd2dNQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQXhPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtEQXNJRTFoZEdndWNHOTNLR0lzSUZCYkozY25YU2tzSURBc0lEQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ01qcGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmlndFRXRjBhQzV3YjNjb1lpd2dVRnNuZHlkZEtTd2dNQ3dnTUN3Z01DazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMkZ6WlNBek9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0RBc0lDMU5ZWFJvTG5CdmR5aGlMQ0JRV3lkM0oxMHBMQ0F3TENBd0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdFZ1BTQk5ZWFJvTG1WNGNDaFFXeWQzSjEwZ0tpQnNiMmdnTFNCUVd5ZDRKMTBnS2lCaGNtY3BPMXh1SUNBZ0lDQWdJQ0FnSUdJZ1BTQlFXeWQ0SjEwZ0tpQnNiMmdnS3lCUVd5ZDNKMTBnS2lCaGNtYzdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZU0FxSUUxaGRHZ3VZMjl6S0dJcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZU0FxSUUxaGRHZ3VjMmx1S0dJcExDQXdMQ0F3S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUJPYjNKdFlXd2djWFZoZEdWeWJtbHZiaUJpWldoaGRtbHZjbHh1SUNBZ0lDQWdMeThnY1Y1d0lEMGdaVjVzYmloeFhuQXBJRDBnWlY0b2JHNG9jU2txY0NsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxteHZaeWdwTG0xMWJDaFFLUzVsZUhBb0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQjBkMjhnY1hWaGRITWdZWEpsSUhSb1pTQnpZVzFsWEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNueFBZbXBsWTNSOGMzUnlhVzVuZlNCM0lISmxZV3hjYmlBZ0lDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNqMTlJSGdnYVcxaFoxeHVJQ0FnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5UFgwZ2VTQnBiV0ZuWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSTlmU0I2SUdsdFlXZGNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjdZbTl2YkdWaGJuMWNiaUFnSUNBZ0tpOWNiaUFnSUNBblpYRjFZV3h6SnpvZ1puVnVZM1JwYjI0b2R5d2dlQ3dnZVN3Z2Vpa2dlMXh1WEc0Z0lDQWdJQ0J3WVhKelpTaFFMQ0IzTENCNExDQjVMQ0I2S1R0Y2JseHVJQ0FnSUNBZ2RtRnlJR1Z3Y3lBOUlGRjFZWFJsY201cGIyNWJKMFZRVTBsTVQwNG5YVHRjYmx4dUlDQWdJQ0FnTHk4Z2JXRjVZbVVnWTJobFkyc2dabTl5SUU1aFRpZHpJR2hsY21VL1hHNGdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNWhZbk1vVUZzbmR5ZGRJQzBnZEdocGMxc25keWRkS1NBOElHVndjMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQW1KaUJOWVhSb0xtRmljeWhRV3lkNEoxMGdMU0IwYUdseld5ZDRKMTBwSUR3Z1pYQnpYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDWW1JRTFoZEdndVlXSnpLRkJiSjNrblhTQXRJSFJvYVhOYkoza25YU2tnUENCbGNITmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0ppWWdUV0YwYUM1aFluTW9VRnNuZWlkZElDMGdkR2hwYzFzbmVpZGRLU0E4SUdWd2N6dGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQmhiR3dnY0dGeWRITWdiMllnWVNCeGRXRjBaWEp1YVc5dUlHRnlaU0JtYVc1cGRHVmNiaUFnSUNBZ0tseHVJQ0FnSUNBcUlFQnlaWFIxY201eklIdGliMjlzWldGdWZWeHVJQ0FnSUNBcUwxeHVJQ0FnSUNkcGMwWnBibWwwWlNjNklHWjFibU4wYVc5dUtDa2dlMXh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdhWE5HYVc1cGRHVW9kR2hwYzFzbmR5ZGRLU0FtSmlCcGMwWnBibWwwWlNoMGFHbHpXeWQ0SjEwcElDWW1JR2x6Um1sdWFYUmxLSFJvYVhOYkoza25YU2tnSmlZZ2FYTkdhVzVwZEdVb2RHaHBjMXNuZWlkZEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTm9aV05yY3lCcFppQmhibmtnYjJZZ2RHaGxJSEJoY25SeklHOW1JSFJvWlNCeGRXRjBaWEp1YVc5dUlHbHpJRzV2ZENCaElHNTFiV0psY2x4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhKbGRIVnlibk1nZTJKdmIyeGxZVzU5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKMmx6VG1GT0p6b2dablZ1WTNScGIyNG9LU0I3WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJwYzA1aFRpaDBhR2x6V3lkM0oxMHBJSHg4SUdselRtRk9LSFJvYVhOYkozZ25YU2tnZkh3Z2FYTk9ZVTRvZEdocGMxc25lU2RkS1NCOGZDQnBjMDVoVGloMGFHbHpXeWQ2SjEwcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1IyVjBjeUIwYUdVZ1VYVmhkR1Z5Ym1sdmJpQmhjeUJoSUhkbGJHd2dabTl5YldGMGRHVmtJSE4wY21sdVoxeHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ2UzTjBjbWx1WjMxY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuZEc5VGRISnBibWNuT2lCbWRXNWpkR2x2YmlncElIdGNibHh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE5iSjNnblhUdGNiaUFnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjMXNuZVNkZE8xeHVJQ0FnSUNBZ2RtRnlJSG9nUFNCMGFHbHpXeWQ2SjEwN1hHNGdJQ0FnSUNCMllYSWdjbVYwSUQwZ0p5YzdYRzVjYmlBZ0lDQWdJR2xtSUNocGMwNWhUaWgzS1NCOGZDQnBjMDVoVGloNEtTQjhmQ0JwYzA1aFRpaDVLU0I4ZkNCcGMwNWhUaWg2S1NrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0owNWhUaWM3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklFRnNkR1Z5Ym1GMGFYWmxJR1JsYzJsbmJqOWNiaUFnSUNBZ0lDOHZJQ2NvSldZc0lGc2xaaUFsWmlBbFpsMHBKMXh1WEc0Z0lDQWdJQ0J5WlhRZ1BTQnVkVzFVYjFOMGNpaDNMQ0FuSnl3Z2NtVjBLVHRjYmlBZ0lDQWdJSEpsZENBclBTQnVkVzFVYjFOMGNpaDRMQ0FuYVNjc0lISmxkQ2s3WEc0Z0lDQWdJQ0J5WlhRZ0t6MGdiblZ0Vkc5VGRISW9lU3dnSjJvbkxDQnlaWFFwTzF4dUlDQWdJQ0FnY21WMElDczlJRzUxYlZSdlUzUnlLSG9zSUNkckp5d2djbVYwS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLQ2NuSUQwOVBTQnlaWFFwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFuTUNjN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYUTdYRzRnSUNBZ2ZTeGNiaUFnSUNBdktpcGNiaUFnSUNBZ0tpQlNaWFIxY201eklIUm9aU0J5WldGc0lIQmhjblFnYjJZZ2RHaGxJSEYxWVhSbGNtNXBiMjVjYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJSHR1ZFcxaVpYSjlYRzRnSUNBZ0lDb3ZYRzRnSUNBZ0ozSmxZV3duT2lCbWRXNWpkR2x2YmlncElIdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE5iSjNjblhUdGNiaUFnSUNCOUxGeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlGSmxkSFZ5Ym5NZ2RHaGxJR2x0WVdkcGJtRnllU0J3WVhKMElHOW1JSFJvWlNCeGRXRjBaWEp1YVc5dUlHRnpJR0VnTTBRZ2RtVmpkRzl5SUM4Z1lYSnlZWGxjYmlBZ0lDQWdLbHh1SUNBZ0lDQXFJRUJ5WlhSMWNtNXpJSHRCY25KaGVYMWNiaUFnSUNBZ0tpOWNiaUFnSUNBbmFXMWhaeWM2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1czUm9hWE5iSjNnblhTd2dkR2hwYzFzbmVTZGRMQ0IwYUdseld5ZDZKMTFkTzF4dUlDQWdJSDBzWEc0Z0lDQWdMeW9xWEc0Z0lDQWdJQ29nUjJWMGN5QjBhR1VnWVdOMGRXRnNJSEYxWVhSbGNtNXBiMjRnWVhNZ1lTQTBSQ0IyWldOMGIzSWdMeUJoY25KaGVWeHVJQ0FnSUNBcVhHNGdJQ0FnSUNvZ1FISmxkSFZ5Ym5NZ2UwRnljbUY1ZlZ4dUlDQWdJQ0FxTDF4dUlDQWdJQ2QwYjFabFkzUnZjaWM2SUdaMWJtTjBhVzl1S0NrZ2UxeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1czUm9hWE5iSjNjblhTd2dkR2hwYzFzbmVDZGRMQ0IwYUdseld5ZDVKMTBzSUhSb2FYTmJKM29uWFYwN1hHNGdJQ0FnZlN4Y2JpQWdJQ0F2S2lwY2JpQWdJQ0FnS2lCRFlXeGpkV3hoZEdWeklIUm9aU0F6ZURNZ2NtOTBZWFJwYjI0Z2JXRjBjbWw0SUdadmNpQjBhR1VnWTNWeWNtVnVkQ0J4ZFdGMFhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzQ5ZlNCa01seHVJQ0FnSUNBcUlFQnpaV1VnYUhSMGNITTZMeTlsYmk1M2FXdHBjR1ZrYVdFdWIzSm5MM2RwYTJrdlVtOTBZWFJwYjI1ZmJXRjBjbWw0STFGMVlYUmxjbTVwYjI1Y2JpQWdJQ0FnS2lCQWNtVjBkWEp1Y3lCN1FYSnlZWGw5WEc0Z0lDQWdJQ292WEc0Z0lDQWdKM1J2VFdGMGNtbDRKem9nWm5WdVkzUnBiMjRvWkRJcElIdGNibHh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6V3lkM0oxMDdYRzRnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE5iSjNnblhUdGNiaUFnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjMXNuZVNkZE8xeHVJQ0FnSUNBZ2RtRnlJSG9nUFNCMGFHbHpXeWQ2SjEwN1hHNWNiaUFnSUNBZ0lIWmhjaUJ1SUQwZ2R5QXFJSGNnS3lCNElDb2dlQ0FySUhrZ0tpQjVJQ3NnZWlBcUlIbzdYRzRnSUNBZ0lDQjJZWElnY3lBOUlHNGdQVDA5SURBZ1B5QXdJRG9nTWlBdklHNDdYRzRnSUNBZ0lDQjJZWElnZDNnZ1BTQnpJQ29nZHlBcUlIZ3NJSGQ1SUQwZ2N5QXFJSGNnS2lCNUxDQjNlaUE5SUhNZ0tpQjNJQ29nZWp0Y2JpQWdJQ0FnSUhaaGNpQjRlQ0E5SUhNZ0tpQjRJQ29nZUN3Z2VIa2dQU0J6SUNvZ2VDQXFJSGtzSUhoNklEMGdjeUFxSUhnZ0tpQjZPMXh1SUNBZ0lDQWdkbUZ5SUhsNUlEMGdjeUFxSUhrZ0tpQjVMQ0I1ZWlBOUlITWdLaUI1SUNvZ2Vpd2dlbm9nUFNCeklDb2dlaUFxSUhvN1hHNWNiaUFnSUNBZ0lHbG1JQ2hrTWlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHVJQ0FnSUNBZ0lDQWdJRnN4SUMwZ0tIbDVJQ3NnZW5vcExDQjRlU0F0SUhkNkxDQjRlaUFySUhkNVhTeGNiaUFnSUNBZ0lDQWdJQ0JiZUhrZ0t5QjNlaXdnTVNBdElDaDRlQ0FySUhwNktTd2dlWG9nTFNCM2VGMHNYRzRnSUNBZ0lDQWdJQ0FnVzNoNklDMGdkM2tzSUhsNklDc2dkM2dzSURFZ0xTQW9lSGdnS3lCNWVTbGRYVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRnRjYmlBZ0lDQWdJQ0FnTVNBdElDaDVlU0FySUhwNktTd2dlSGtnTFNCM2Vpd2dlSG9nS3lCM2VTeGNiaUFnSUNBZ0lDQWdlSGtnS3lCM2Vpd2dNU0F0SUNoNGVDQXJJSHA2S1N3Z2VYb2dMU0IzZUN4Y2JpQWdJQ0FnSUNBZ2VIb2dMU0IzZVN3Z2VYb2dLeUIzZUN3Z01TQXRJQ2g0ZUNBcklIbDVLVjA3WEc0Z0lDQWdmU3hjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEWVd4amRXeGhkR1Z6SUhSb1pTQm9iMjF2WjJWdVpXOTFjeUEwZURRZ2NtOTBZWFJwYjI0Z2JXRjBjbWw0SUdadmNpQjBhR1VnWTNWeWNtVnVkQ0J4ZFdGMFhHNGdJQ0FnSUNwY2JpQWdJQ0FnS2lCQWNHRnlZVzBnZTJKdmIyeGxZVzQ5ZlNCa01seHVJQ0FnSUNBcUlFQnlaWFIxY201eklIdEJjbkpoZVgxY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuZEc5TllYUnlhWGcwSnpvZ1puVnVZM1JwYjI0b1pESXBJSHRjYmx4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdseld5ZDNKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VDQTlJSFJvYVhOYkozZ25YVHRjYmlBZ0lDQWdJSFpoY2lCNUlEMGdkR2hwYzFzbmVTZGRPMXh1SUNBZ0lDQWdkbUZ5SUhvZ1BTQjBhR2x6V3lkNkoxMDdYRzVjYmlBZ0lDQWdJSFpoY2lCdUlEMGdkeUFxSUhjZ0t5QjRJQ29nZUNBcklIa2dLaUI1SUNzZ2VpQXFJSG83WEc0Z0lDQWdJQ0IyWVhJZ2N5QTlJRzRnUFQwOUlEQWdQeUF3SURvZ01pQXZJRzQ3WEc0Z0lDQWdJQ0IyWVhJZ2QzZ2dQU0J6SUNvZ2R5QXFJSGdzSUhkNUlEMGdjeUFxSUhjZ0tpQjVMQ0IzZWlBOUlITWdLaUIzSUNvZ2VqdGNiaUFnSUNBZ0lIWmhjaUI0ZUNBOUlITWdLaUI0SUNvZ2VDd2dlSGtnUFNCeklDb2dlQ0FxSUhrc0lIaDZJRDBnY3lBcUlIZ2dLaUI2TzF4dUlDQWdJQ0FnZG1GeUlIbDVJRDBnY3lBcUlIa2dLaUI1TENCNWVpQTlJSE1nS2lCNUlDb2dlaXdnZW5vZ1BTQnpJQ29nZWlBcUlIbzdYRzVjYmlBZ0lDQWdJR2xtSUNoa01pa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh1SUNBZ0lDQWdJQ0FnSUZzeElDMGdLSGw1SUNzZ2Vub3BMQ0I0ZVNBdElIZDZMQ0I0ZWlBcklIZDVMQ0F3WFN4Y2JpQWdJQ0FnSUNBZ0lDQmJlSGtnS3lCM2Vpd2dNU0F0SUNoNGVDQXJJSHA2S1N3Z2VYb2dMU0IzZUN3Z01GMHNYRzRnSUNBZ0lDQWdJQ0FnVzNoNklDMGdkM2tzSUhsNklDc2dkM2dzSURFZ0xTQW9lSGdnS3lCNWVTa3NJREJkTEZ4dUlDQWdJQ0FnSUNBZ0lGc3dMQ0F3TENBd0xDQXhYVjA3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0FnSURFZ0xTQW9lWGtnS3lCNmVpa3NJSGg1SUMwZ2Qzb3NJSGg2SUNzZ2Qza3NJREFzWEc0Z0lDQWdJQ0FnSUhoNUlDc2dkM29zSURFZ0xTQW9lSGdnS3lCNmVpa3NJSGw2SUMwZ2QzZ3NJREFzWEc0Z0lDQWdJQ0FnSUhoNklDMGdkM2tzSUhsNklDc2dkM2dzSURFZ0xTQW9lSGdnS3lCNWVTa3NJREFzWEc0Z0lDQWdJQ0FnSURBc0lEQXNJREFzSURGZE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1EyeHZibVZ6SUhSb1pTQmhZM1IxWVd3Z2IySnFaV04wWEc0Z0lDQWdJQ3BjYmlBZ0lDQWdLaUJBY21WMGRYSnVjeUI3VVhWaGRHVnlibWx2Ym4xY2JpQWdJQ0FnS2k5Y2JpQWdJQ0FuWTJ4dmJtVW5PaUJtZFc1amRHbHZiaWdwSUh0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlJkV0YwWlhKdWFXOXVLSFJvYVhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnTHlvcVhHNGdJQ0FnSUNvZ1VtOTBZWFJsY3lCaElIWmxZM1J2Y2lCaFkyTnZjbVJwYm1jZ2RHOGdkR2hsSUdOMWNuSmxiblFnY1hWaGRHVnlibWx2Ymx4dUlDQWdJQ0FxWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHRCY25KaGVYMGdkaUJVYUdVZ2RtVmpkRzl5SUhSdklHSmxJSEp2ZEdGMFpXUmNiaUFnSUNBZ0tpQkFjbVYwZFhKdWN5QjdRWEp5WVhsOVhHNGdJQ0FnSUNvdlhHNGdJQ0FnSjNKdmRHRjBaVlpsWTNSdmNpYzZJR1oxYm1OMGFXOXVLSFlwSUh0Y2JseHVJQ0FnSUNBZ0x5OGdXekFzSUhZblhTQTlJRkVnS2lCYk1Dd2dkbDBnS2lCUkoxeHVYRzRnSUNBZ0lDQXZMeUJSWEc0Z0lDQWdJQ0IyWVhJZ2R6RWdQU0IwYUdseld5ZDNKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VERWdQU0IwYUdseld5ZDRKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VURWdQU0IwYUdseld5ZDVKMTA3WEc0Z0lDQWdJQ0IyWVhJZ2VqRWdQU0IwYUdseld5ZDZKMTA3WEc1Y2JpQWdJQ0FnSUM4dklGc3dMQ0IyWFZ4dUlDQWdJQ0FnZG1GeUlIY3lJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQjRNaUE5SUhaYk1GMDdYRzRnSUNBZ0lDQjJZWElnZVRJZ1BTQjJXekZkTzF4dUlDQWdJQ0FnZG1GeUlIb3lJRDBnZGxzeVhUdGNibHh1SUNBZ0lDQWdMeThnVVNBcUlGc3dMQ0IyWFZ4dUlDQWdJQ0FnZG1GeUlIY3pJRDBnTHlwM01TQXFJSGN5S2k4Z0xYZ3hJQ29nZURJZ0xTQjVNU0FxSUhreUlDMGdlakVnS2lCNk1qdGNiaUFnSUNBZ0lIWmhjaUI0TXlBOUlIY3hJQ29nZURJZ0t5QXZLbmd4SUNvZ2R6SWdLeW92SUhreElDb2dlaklnTFNCNk1TQXFJSGt5TzF4dUlDQWdJQ0FnZG1GeUlIa3pJRDBnZHpFZ0tpQjVNaUFySUM4cWVURWdLaUIzTWlBcktpOGdlakVnS2lCNE1pQXRJSGd4SUNvZ2VqSTdYRzRnSUNBZ0lDQjJZWElnZWpNZ1BTQjNNU0FxSUhveUlDc2dMeXA2TVNBcUlIY3lJQ3NxTHlCNE1TQXFJSGt5SUMwZ2VURWdLaUI0TWp0Y2JseHVJQ0FnSUNBZ2RtRnlJSGMwSUQwZ2R6TWdLaUIzTVNBcklIZ3pJQ29nZURFZ0t5QjVNeUFxSUhreElDc2dlak1nS2lCNk1UdGNiaUFnSUNBZ0lIWmhjaUI0TkNBOUlIZ3pJQ29nZHpFZ0xTQjNNeUFxSUhneElDMGdlVE1nS2lCNk1TQXJJSG96SUNvZ2VURTdYRzRnSUNBZ0lDQjJZWElnZVRRZ1BTQjVNeUFxSUhjeElDMGdkek1nS2lCNU1TQXRJSG96SUNvZ2VERWdLeUI0TXlBcUlIb3hPMXh1SUNBZ0lDQWdkbUZ5SUhvMElEMGdlak1nS2lCM01TQXRJSGN6SUNvZ2VqRWdMU0I0TXlBcUlIa3hJQ3NnZVRNZ0tpQjRNVHRjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRnQ0TkN3Z2VUUXNJSG8wWFR0Y2JpQWdJQ0I5TEZ4dVhHNGdJQ0FnSjNOc1pYSndKem9nWm5WdVkzUnBiMjRvZHl3Z2VDd2dlU3dnZWlrZ2UxeHVYRzRnSUNBZ0lDQndZWEp6WlNoUUxDQjNMQ0I0TENCNUxDQjZLVHRjYmx4dUlDQWdJQ0FnTHk4Z2MyeGxjbkFvVVRFc0lGRXlMQ0IwS1NBNlBTQlJNU2hSTVY0dE1TQlJNaWxlZEZ4dVhHNGdJQ0FnSUNCMllYSWdkekVnUFNCMGFHbHpXeWQzSjEwN1hHNGdJQ0FnSUNCMllYSWdlREVnUFNCMGFHbHpXeWQ0SjEwN1hHNGdJQ0FnSUNCMllYSWdlVEVnUFNCMGFHbHpXeWQ1SjEwN1hHNGdJQ0FnSUNCMllYSWdlakVnUFNCMGFHbHpXeWQ2SjEwN1hHNWNiaUFnSUNBZ0lIWmhjaUIzTWlBOUlGQmJKM2NuWFR0Y2JpQWdJQ0FnSUhaaGNpQjRNaUE5SUZCYkozZ25YVHRjYmlBZ0lDQWdJSFpoY2lCNU1pQTlJRkJiSjNrblhUdGNiaUFnSUNBZ0lIWmhjaUI2TWlBOUlGQmJKM29uWFR0Y2JseHVJQ0FnSUNBZ2RtRnlJR052YzFSb1pYUmhNQ0E5SUhjeElDb2dkeklnS3lCNE1TQXFJSGd5SUNzZ2VURWdLaUI1TWlBcklIb3hJQ29nZWpJN1hHNWNiaUFnSUNBZ0lHbG1JQ2hqYjNOVWFHVjBZVEFnUENBd0tTQjdYRzRnSUNBZ0lDQWdJSGN4SUQwZ0xYY3hPMXh1SUNBZ0lDQWdJQ0I0TVNBOUlDMTRNVHRjYmlBZ0lDQWdJQ0FnZVRFZ1BTQXRlVEU3WEc0Z0lDQWdJQ0FnSUhveElEMGdMWG94TzF4dUlDQWdJQ0FnSUNCamIzTlVhR1YwWVRBZ1BTQXRZMjl6VkdobGRHRXdPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kyOXpWR2hsZEdFd0lENGdNQzQ1T1RrMUtTQjdJQzh2SUVSUFZGOVVTRkpGVTBoUFRFUmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWjFibU4wYVc5dUtIQmpkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhjeElDc2djR04wSUNvZ0tIY3lJQzBnZHpFcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlREVnS3lCd1kzUWdLaUFvZURJZ0xTQjRNU2tzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNU1TQXJJSEJqZENBcUlDaDVNaUF0SUhreEtTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSG94SUNzZ2NHTjBJQ29nS0hveUlDMGdlakVwS1ZzbmJtOXliV0ZzYVhwbEoxMG9LVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJRlJvWlhSaE1DQTlJRTFoZEdndVlXTnZjeWhqYjNOVWFHVjBZVEFwTzF4dUlDQWdJQ0FnZG1GeUlITnBibFJvWlhSaE1DQTlJRTFoZEdndWMybHVLRlJvWlhSaE1DazdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpaHdZM1FwSUh0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnVkdobGRHRWdQU0JVYUdWMFlUQWdLaUJ3WTNRN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6YVc1VWFHVjBZU0E5SUUxaGRHZ3VjMmx1S0ZSb1pYUmhLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlHTnZjMVJvWlhSaElEMGdUV0YwYUM1amIzTW9WR2hsZEdFcE8xeHVYRzRnSUNBZ0lDQWdJSFpoY2lCek1DQTlJR052YzFSb1pYUmhJQzBnWTI5elZHaGxkR0V3SUNvZ2MybHVWR2hsZEdFZ0x5QnphVzVVYUdWMFlUQTdYRzRnSUNBZ0lDQWdJSFpoY2lCek1TQTlJSE5wYmxSb1pYUmhJQzhnYzJsdVZHaGxkR0V3TzF4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIY3hJQ3NnY3pFZ0tpQjNNaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIZ3hJQ3NnY3pFZ0tpQjRNaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIa3hJQ3NnY3pFZ0tpQjVNaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J6TUNBcUlIb3hJQ3NnY3pFZ0tpQjZNaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUZGMVlYUmxjbTVwYjI1YkoxcEZVazhuWFNBOUlHNWxkeUJSZFdGMFpYSnVhVzl1S0RBc0lEQXNJREFzSURBcE95QXZMeUJVYUdseklHbHpJSFJvWlNCaFpHUnBkR2wyWlNCcFpHVnVkR2wwZVNCUmRXRjBaWEp1YVc5dVhHNGdJRkYxWVhSbGNtNXBiMjViSjA5T1JTZGRJRDBnYm1WM0lGRjFZWFJsY201cGIyNG9NU3dnTUN3Z01Dd2dNQ2s3SUM4dklGUm9hWE1nYVhNZ2RHaGxJRzExYkhScGNHeHBZMkYwYVhabElHbGtaVzUwYVhSNUlGRjFZWFJsY201cGIyNWNiaUFnVVhWaGRHVnlibWx2YmxzblNTZGRJRDBnYm1WM0lGRjFZWFJsY201cGIyNG9NQ3dnTVN3Z01Dd2dNQ2s3WEc0Z0lGRjFZWFJsY201cGIyNWJKMG9uWFNBOUlHNWxkeUJSZFdGMFpYSnVhVzl1S0RBc0lEQXNJREVzSURBcE8xeHVJQ0JSZFdGMFpYSnVhVzl1V3lkTEoxMGdQU0J1WlhjZ1VYVmhkR1Z5Ym1sdmJpZ3dMQ0F3TENBd0xDQXhLVHRjYmlBZ1VYVmhkR1Z5Ym1sdmJsc25SVkJUU1V4UFRpZGRJRDBnTVdVdE1UWTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFTnlaV0YwWlhNZ2NYVmhkR1Z5Ym1sdmJpQmllU0JoSUhKdmRHRjBhVzl1SUdkcGRtVnVJR0Z6SUdGNGFYTWdZVzVrSUdGdVoyeGxYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0I3UVhKeVlYbDlJR0Y0YVhNZ1ZHaGxJR0Y0YVhNZ1lYSnZkVzVrSUhkb2FXTm9JSFJ2SUhKdmRHRjBaVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1lXNW5iR1VnVkdobElHRnVaMnhsSUdsdUlISmhaR2xoYm5OY2JpQWdJQ29nUUhKbGRIVnlibk1nZTFGMVlYUmxjbTVwYjI1OVhHNGdJQ0FxTDF4dUlDQlJkV0YwWlhKdWFXOXVXeWRtY205dFFYaHBjMEZ1WjJ4bEoxMGdQU0JtZFc1amRHbHZiaWhoZUdsekxDQmhibWRzWlNrZ2UxeHVYRzRnSUNBZ0x5OGdVU0E5SUZ0amIzTW9ZVzVuYkdVZ0x5QXlLU3dnZGlBcUlITnBiaWhoYm1kc1pTQXZJRElwWFZ4dVhHNGdJQ0FnZG1GeUlHaGhiR1pCYm1kc1pTQTlJR0Z1WjJ4bElDb2dNQzQxTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0JoZUdseld6QmRPMXh1SUNBZ0lIWmhjaUJpSUQwZ1lYaHBjMXN4WFR0Y2JpQWdJQ0IyWVhJZ1l5QTlJR0Y0YVhOYk1sMDdYRzVjYmlBZ0lDQjJZWElnYzJsdUlEMGdUV0YwYUM1emFXNG9hR0ZzWmtGdVoyeGxLVHRjYmlBZ0lDQjJZWElnWTI5eklEMGdUV0YwYUM1amIzTW9hR0ZzWmtGdVoyeGxLVHRjYmx4dUlDQWdJSFpoY2lCemFXNWZibTl5YlNBOUlITnBiaUF2SUUxaGRHZ3VjM0Z5ZENoaElDb2dZU0FySUdJZ0tpQmlJQ3NnWXlBcUlHTXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0dOdmN5d2dZU0FxSUhOcGJsOXViM0p0TENCaUlDb2djMmx1WDI1dmNtMHNJR01nS2lCemFXNWZibTl5YlNrN1hHNGdJSDA3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5oYkdOMWJHRjBaWE1nZEdobElIRjFZWFJsY201cGIyNGdkRzhnY205MFlYUmxJRzl1WlNCMlpXTjBiM0lnYjI1MGJ5QjBhR1VnYjNSb1pYSmNiaUFnSUNwY2JpQWdJQ29nUUhCaGNtRnRJSHRCY25KaGVYMGdkVnh1SUNBZ0tpQkFjR0Z5WVcwZ2UwRnljbUY1ZlNCMlhHNGdJQ0FxTDF4dUlDQlJkV0YwWlhKdWFXOXVXeWRtY205dFFtVjBkMlZsYmxabFkzUnZjbk1uWFNBOUlHWjFibU4wYVc5dUtIVXNJSFlwSUh0Y2JseHVJQ0FnSUhaaGNpQmhJRDBnZFZzd1hUdGNiaUFnSUNCMllYSWdZaUE5SUhWYk1WMDdYRzRnSUNBZ2RtRnlJR01nUFNCMVd6SmRPMXh1WEc0Z0lDQWdkbUZ5SUhnZ1BTQjJXekJkTzF4dUlDQWdJSFpoY2lCNUlEMGdkbHN4WFR0Y2JpQWdJQ0IyWVhJZ2VpQTlJSFpiTWwwN1hHNWNiaUFnSUNCMllYSWdaRzkwSUQwZ1lTQXFJSGdnS3lCaUlDb2dlU0FySUdNZ0tpQjZPMXh1SUNBZ0lIWmhjaUIzTVNBOUlHSWdLaUI2SUMwZ1l5QXFJSGs3WEc0Z0lDQWdkbUZ5SUhjeUlEMGdZeUFxSUhnZ0xTQmhJQ29nZWp0Y2JpQWdJQ0IyWVhJZ2R6TWdQU0JoSUNvZ2VTQXRJR0lnS2lCNE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlJkV0YwWlhKdWFXOXVLRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHOTBJQ3NnVFdGMGFDNXpjWEowS0dSdmRDQXFJR1J2ZENBcklIY3hJQ29nZHpFZ0t5QjNNaUFxSUhjeUlDc2dkek1nS2lCM015a3NYRzRnSUNBZ0lDQWdJQ0FnSUNCM01TeGNiaUFnSUNBZ0lDQWdJQ0FnSUhjeUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnZHpOY2JpQWdJQ0FnSUNBZ0lDQWdJQ2t1Ym05eWJXRnNhWHBsS0NrN1hHNGdJSDA3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpYTWdZU0J4ZFdGMFpYSnVhVzl1SUdKNUlHRWdjbTkwWVhScGIyNGdaMmwyWlc0Z1lua2dSWFZzWlhJZ1lXNW5iR1Z6WEc0Z0lDQXFYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCd2FHbGNiaUFnSUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUhSb1pYUmhYRzRnSUNBcUlFQndZWEpoYlNCN2JuVnRZbVZ5ZlNCd2MybGNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWM5ZlNCdmNtUmxjbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVWFZoZEdWeWJtbHZibjFjYmlBZ0lDb3ZYRzRnSUZGMVlYUmxjbTVwYjI1YkoyWnliMjFGZFd4bGNpZGRJRDBnWm5WdVkzUnBiMjRvY0docExDQjBhR1YwWVN3Z2NITnBMQ0J2Y21SbGNpa2dlMXh1WEc0Z0lDQWdkbUZ5SUY5NElEMGdkR2hsZEdFZ0tpQXdMalU3WEc0Z0lDQWdkbUZ5SUY5NUlEMGdjSE5wSUNvZ01DNDFPMXh1SUNBZ0lIWmhjaUJmZWlBOUlIQm9hU0FxSURBdU5UdGNibHh1SUNBZ0lIWmhjaUJqV0NBOUlFMWhkR2d1WTI5ektGOTRLVHRjYmlBZ0lDQjJZWElnWTFrZ1BTQk5ZWFJvTG1OdmN5aGZlU2s3WEc0Z0lDQWdkbUZ5SUdOYUlEMGdUV0YwYUM1amIzTW9YM29wTzF4dVhHNGdJQ0FnZG1GeUlITllJRDBnVFdGMGFDNXphVzRvWDNncE8xeHVJQ0FnSUhaaGNpQnpXU0E5SUUxaGRHZ3VjMmx1S0Y5NUtUdGNiaUFnSUNCMllYSWdjMW9nUFNCTllYUm9Mbk5wYmloZmVpazdYRzVjYmlBZ0lDQnBaaUFvYjNKa1pYSWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQnZjbVJsY2lBOVBUMGdKMXBZV1NjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVWFZoZEdWeWJtbHZiaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMWdnS2lCaldTQXFJR05hSUMwZ2MxZ2dLaUJ6V1NBcUlITmFMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpXQ0FxSUdOWklDb2dZMW9nTFNCaldDQXFJSE5aSUNvZ2Mxb3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTllJQ29nYzFrZ0tpQmpXaUFySUhOWUlDb2dZMWtnS2lCeldpeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kxZ2dLaUJqV1NBcUlITmFJQ3NnYzFnZ0tpQnpXU0FxSUdOYUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iM0prWlhJZ1BUMDlJQ2RZV1ZvbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRkYxWVhSbGNtNXBiMjRvWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05ZSUNvZ1kxa2dLaUJqV2lBdElITllJQ29nYzFrZ0tpQnpXaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjMWdnS2lCaldTQXFJR05hSUNzZ1kxZ2dLaUJ6V1NBcUlITmFMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpXQ0FxSUhOWklDb2dZMW9nTFNCeldDQXFJR05aSUNvZ2Mxb3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTllJQ29nWTFrZ0tpQnpXaUFySUhOWUlDb2djMWtnS2lCaldpazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzl5WkdWeUlEMDlQU0FuV1ZoYUp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJSZFdGMFpYSnVhVzl1S0Z4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqV0NBcUlHTlpJQ29nWTFvZ0t5QnpXQ0FxSUhOWklDb2djMW9zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSE5ZSUNvZ1kxa2dLaUJqV2lBcklHTllJQ29nYzFrZ0tpQnpXaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMWdnS2lCeldTQXFJR05hSUMwZ2MxZ2dLaUJqV1NBcUlITmFMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpXQ0FxSUdOWklDb2djMW9nTFNCeldDQXFJSE5aSUNvZ1kxb3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h2Y21SbGNpQTlQVDBnSjFwWldDY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVVhWaGRHVnlibWx2YmloY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTFnZ0tpQmpXU0FxSUdOYUlDc2djMWdnS2lCeldTQXFJSE5hTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6V0NBcUlHTlpJQ29nWTFvZ0xTQmpXQ0FxSUhOWklDb2djMW9zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05ZSUNvZ2Mxa2dLaUJqV2lBcklITllJQ29nWTFrZ0tpQnpXaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMWdnS2lCaldTQXFJSE5hSUMwZ2MxZ2dLaUJ6V1NBcUlHTmFLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYjNKa1pYSWdQVDA5SUNkWldsZ25LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdibVYzSUZGMVlYUmxjbTVwYjI0b1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOWUlDb2dZMWtnS2lCaldpQXRJSE5ZSUNvZ2Mxa2dLaUJ6V2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYzFnZ0tpQmpXU0FxSUdOYUlDc2dZMWdnS2lCeldTQXFJSE5hTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqV0NBcUlITlpJQ29nWTFvZ0t5QnpXQ0FxSUdOWklDb2djMW9zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05ZSUNvZ1kxa2dLaUJ6V2lBdElITllJQ29nYzFrZ0tpQmpXaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c5eVpHVnlJRDA5UFNBbldGcFpKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzVsZHlCUmRXRjBaWEp1YVc5dUtGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCaldDQXFJR05aSUNvZ1kxb2dLeUJ6V0NBcUlITlpJQ29nYzFvc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhOWUlDb2dZMWtnS2lCaldpQXRJR05ZSUNvZ2Mxa2dLaUJ6V2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTFnZ0tpQnpXU0FxSUdOYUlDMGdjMWdnS2lCaldTQXFJSE5hTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqV0NBcUlHTlpJQ29nYzFvZ0t5QnpXQ0FxSUhOWklDb2dZMW9wTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZUdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHUmxabWx1WlNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCa1pXWnBibVZiSjJGdFpDZGRLU0I3WEc0Z0lDQWdaR1ZtYVc1bEtGdGRMQ0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJSZFdGMFpYSnVhVzl1TzF4dUlDQWdJSDBwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmxlSEJ2Y25SeklEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlkMllXeDFaU2M2SUhSeWRXVjlLVHRjYmlBZ0lDQlJkV0YwWlhKdWFXOXVXeWRrWldaaGRXeDBKMTBnUFNCUmRXRjBaWEp1YVc5dU8xeHVJQ0FnSUZGMVlYUmxjbTVwYjI1YkoxRjFZWFJsY201cGIyNG5YU0E5SUZGMVlYUmxjbTVwYjI0N1hHNGdJQ0FnYlc5a2RXeGxXeWRsZUhCdmNuUnpKMTBnUFNCUmRXRjBaWEp1YVc5dU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISnZiM1JiSjFGMVlYUmxjbTVwYjI0blhTQTlJRkYxWVhSbGNtNXBiMjQ3WEc0Z0lIMWNibHh1ZlNrb2RHaHBjeWs3WEc0aUxDSnBiWEJ2Y25RZ2V5QkpiblJsY21GamRHbHZibEJ5YjJacGJHVXNJRVJsZG1salpTd2dRV04wYVc5dVFtbHVaR2x1Wnl3Z1NXNXdkWFFzSUVsdWNIVjBVM1JoZEdVc0lFRmpkR2x2YmxSNWNHVXNJRUYyTENCSmJuQjFkRWx1Wm04c0lFRmpkR2x2YmxObGRDd2dRV04wYVhabFFXTjBhVzl1VTJWMExDQkJZM1JwYjI0Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKckp6dGNjbHh1WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnU1c1d2RYUkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBhV1E2SUc1MWJXSmxjanRjY2x4dWZWeHlYRzVjY2x4dWFXNTBaWEptWVdObElFSnZiMnhsWVc1RFlXeHNZbUZqYXlCbGVIUmxibVJ6SUVsdWNIVjBRMkZzYkdKaFkydGNjbHh1ZTF4eVhHNWNkSEpwYzJsdVp6ODZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JseDBabUZzYkdsdVp6ODZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JuMWNjbHh1WEhKY2JtbHVkR1Z5Wm1GalpTQkdiRzloZEVOaGJHeGlZV05ySUdWNGRHVnVaSE1nU1c1d2RYUkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBZMmhoYm1kbE9pQW9JRzlzWkZaaGJIVmxPaUJ1ZFcxaVpYSXNJRzVsZDFaaGJIVmxPaUJ1ZFcxaVpYSWdLU0E5UGlCMmIybGtPMXh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1ZtVmpkRzl5TWtOaGJHeGlZV05ySUdWNGRHVnVaSE1nU1c1d2RYUkRZV3hzWW1GamExeHlYRzU3WEhKY2JseDBZMmhoYm1kbE9pQW9JRzlzWkZaaGJIVmxPaUJiSUc1MWJXSmxjaXdnYm5WdFltVnlJRjBzSUc1bGQxWmhiSFZsT2lCYklHNTFiV0psY2l3Z2JuVnRZbVZ5SUYwZ0tTQTlQaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnUVdOMGFXOXVWMmwwYUV4cGMzUmxibVZ5Y3lCbGVIUmxibVJ6SUVGamRHbHZibHh5WEc1N1hISmNibHgwYkdWbWRFTmhiR3hpWVdOcmN6ODZJQ2hDYjI5c1pXRnVRMkZzYkdKaFkyc2dmQ0JHYkc5aGRFTmhiR3hpWVdOcklId2dWbVZqZEc5eU1rTmhiR3hpWVdOcklDbGJYVHRjY2x4dVhIUnlhV2RvZEVOaGJHeGlZV05yY3o4NklDaENiMjlzWldGdVEyRnNiR0poWTJzZ2ZDQkdiRzloZEVOaGJHeGlZV05ySUh3Z1ZtVmpkRzl5TWtOaGJHeGlZV05ySUNsYlhUdGNjbHh1WEhSemRYQndjbVZ6YzB4bFpuUS9PaUJpYjI5c1pXRnVPMXh5WEc1Y2RITjFjSEJ5WlhOelVtbG5hSFEvT2lCaWIyOXNaV0Z1TzF4eVhHNTlYSEpjYmx4eVhHNWNjbHh1THlvcUlFaGxiSEJsY2lCamJHRnpjeUIwYnlCaGJHeHZkeUJ5WldkcGMzUmxjbWx1WnlCallXeHNZbUZqYTNNZ1ptOXlJR2x1Y0hWMElITjBZWFJsSUdOb1lXNW5aWE1nYVc1emRHVmhaQ0J2WmlCd2IyeHNhVzVuSUhOMFlYUmxMaUFxTDF4eVhHNWxlSEJ2Y25RZ1kyeGhjM01nU1c1d2RYUlFjbTlqWlhOemIzSmNjbHh1ZTF4eVhHNWNkSEJ5YVhaaGRHVWdhVzV3ZFhSSmJtWnZPaUJKYm5CMWRFbHVabThnUFZ4eVhHNWNkSHRjY2x4dVhIUmNkR0ZqZEdsMlpVRmpkR2x2YmxObGRITTZJRnRkTEZ4eVhHNWNkSDA3WEhKY2JseDBjSEpwZG1GMFpTQnpkR0YwWlRvZ1NXNXdkWFJUZEdGMFpUdGNjbHh1WEhSd2NtbDJZWFJsSUdsdWNIVjBTVzUwWlhKMllXeE5jem9nYm5WdFltVnlPMXh5WEc1Y2RIQnlhWFpoZEdVZ2FXNXdkWFJVYVcxbGNqcHVkVzFpWlhJN1hISmNibHgwY0hKcGRtRjBaU0JoWTNScGIyNVRaWFJ6T2lCQlkzUnBiMjVUWlhSYlhUdGNjbHh1WEhSd2NtbDJZWFJsSUc1bGVIUkRZV3hzWW1GamEwbGtJRDBnTVR0Y2NseHVYSFJ3Y21sMllYUmxJSE41Ym1OSmJuQjFkRTkyWlhKeWFXUmxPaUFvSUdsdVptODZJRWx1Y0hWMFNXNW1ieUFwSUQwK0lFbHVjSFYwVTNSaGRHVTdYSEpjYmx4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCaFkzUnBiMjVUWlhSek9pQkJZM1JwYjI1VFpYUmJYU3dnYVc1d2RYUkpiblJsY25aaGJFMXpQem9nYm5WdFltVnlMQ0JjY2x4dVhIUmNkSE41Ym1OSmJuQjFkRTkyWlhKeWFXUmxQem9nS0NCcGJtWnZPaUJKYm5CMWRFbHVabThnS1NBOVBpQkpibkIxZEZOMFlYUmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1GamRHbHZibE5sZEhNZ1BTQmhZM1JwYjI1VFpYUnpPMXh5WEc1Y2RGeDBkR2hwY3k1emVXNWpTVzV3ZFhSUGRtVnljbWxrWlNBOUlITjVibU5KYm5CMWRFOTJaWEp5YVdSbE8xeHlYRzVjZEZ4MGRHaHBjeTVwYm5CMWRFbHVkR1Z5ZG1Gc1RYTWdQU0JwYm5CMWRFbHVkR1Z5ZG1Gc1RYTWdQejhnTXpBN1hISmNibHgwWEhSQmRpZ3BQeTV5WldkcGMzUmxja2x1Y0hWMEtDQmhZM1JwYjI1VFpYUnpJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lvZ1ZYTmxaQ0JpZVNCMFpYTjBjeUIwYnlCbWIzSmpaU0JoSUhOMFlYUmxJSFZ3WkdGMFpTQXFMMXh5WEc1Y2RIQjFZbXhwWXlCVVJWTlVYMVZ3WkdGMFpWTjBZWFJsS0NCdVpYZFRkR0YwWlRvZ1NXNXdkWFJUZEdGMFpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTVoY0hCc2VVNWxkMU4wWVhSbEtDQktVMDlPTG5CaGNuTmxLQ0JLVTA5T0xuTjBjbWx1WjJsbWVTZ2dibVYzVTNSaGRHVWdLU0FwSUdGeklFbHVjSFYwVTNSaGRHVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2x4eVhHNWNkQ0FxSUVGamRHbDJZWFJsY3lCaGJpQmhZM1JwYjI0Z2MyVjBJRzl1SUhSb1pTQnVaWGgwSUdGamRHbHZiaUJ6ZVc1akxpQnBaaUJoSUd4cGMzUWdiMllnWkdWMmFXTmxjeUJwYzF4eVhHNWNkQ0FxSUc1dmRDQnpkWEJ3YkdsbFpDQjBhR1VnWVdOMGFXOXVJSE5sZENCcGN5QmhZM1JwZG1GMFpXUWdabTl5SUdGc2JDQmtaWFpwWTJWekxpQkpaaUJoSUhOcGJtZHNaU0J6ZEhKcGJtZGNjbHh1WEhRZ0tpQnBjeUJ3Y205MmFXUmxaQ3dnZEdoaGRDQmtaWFpwWTJVZ2FYTWdZV1JrWldRZ2RHOGdkR2hsSUdWNGFYTjBhVzVuSUd4cGMzUXVJRWxtSUdFZ2JHbHpkQ0J2WmlCa1pYWnBZMlZ6SUZ4eVhHNWNkQ0FxSUdseklIQnliM1pwWkdWa0xDQjBhR1VnYkdsemRDQnlaWEJzWVdObGN5QjBhR1VnWlhocGMzUnBibWNnYkdsemRDNWNjbHh1SUZ4MElDb3ZYSEpjYmx4MGNIVmliR2xqSUdGamRHbDJZWFJsUVdOMGFXOXVVMlYwS0NCaFkzUnBiMjVUWlhST1lXMWxPaUJ6ZEhKcGJtY3NJR1JsZG1salpYTS9PaUJFWlhacFkyVWdmQ0JFWlhacFkyVmJYU2tnWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdGamRHbDJaVk5sZERvZ1FXTjBhWFpsUVdOMGFXOXVVMlYwTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnWVhNZ2IyWWdkR2hwY3k1cGJuQjFkRWx1Wm04dVlXTjBhWFpsUVdOMGFXOXVVMlYwY3lBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHbG1LQ0JoY3k1aFkzUnBiMjVUWlhST1lXMWxJRDA5SUdGamRHbHZibE5sZEU1aGJXVWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFlXTjBhWFpsVTJWMElEMGdZWE03WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnYzI5dFpYUm9hVzVuUVdSa1pXUWdQU0JtWVd4elpUdGNjbHh1WEhKY2JseDBYSFJwWmlnZ0lXRmpkR2wyWlZObGRDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR0ZqZEdsMlpWTmxkQ0E5SUZ4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBZV04wYVc5dVUyVjBUbUZ0WlN4Y2NseHVYSFJjZEZ4MFhIUjBiM0JNWlhabGJGQmhkR2h6T2lCYlhTeGNjbHh1WEhSY2RGeDBmVHRjY2x4dVhIUmNkRngwZEdocGN5NXBibkIxZEVsdVptOHVZV04wYVhabFFXTjBhVzl1VTJWMGN5NXdkWE5vS0NCaFkzUnBkbVZUWlhRZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJzWlhRZ2JtVjNSR1YyYVdObGN6b2dSR1YyYVdObFcxMDdYSEpjYmx4MFhIUnBaaWdnZEhsd1pXOW1JR1JsZG1salpYTWdQVDBnWENKemRISnBibWRjSWlBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHNWxkMFJsZG1salpYTWdQU0JiSUdSbGRtbGpaWE1nWFR0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdWc2MyVWdhV1lvSUhSNWNHVnZaaUJrWlhacFkyVnpJRDA5SUZ3aWIySnFaV04wWENJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnVaWGRFWlhacFkyVnpJRDBnWkdWMmFXTmxjenRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtVjNSR1YyYVdObGN5QTlJRnNnUkdWMmFXTmxMa3hsWm5Rc0lFUmxkbWxqWlM1U2FXZG9kQ0JkTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RHWnZjaWdnYkdWMElHNWxkMFJsZG1salpTQnZaaUJ1WlhkRVpYWnBZMlZ6SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFXWW9JQ0ZoWTNScGRtVlRaWFF1ZEc5d1RHVjJaV3hRWVhSb2N5NXBibU5zZFdSbGN5Z2dibVYzUkdWMmFXTmxJQ2tnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBZV04wYVhabFUyVjBMblJ2Y0V4bGRtVnNVR0YwYUhNdWNIVnphQ2dnYm1WM1JHVjJhV05sSUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1emRYQndjbVZ6YzBsdWFYUnBZV3hRY21WemMwWnZja0ZqZEdsdmJsTmxkQ2dnWVdOMGFXOXVVMlYwVG1GdFpTd2dibVYzUkdWMmFXTmxJQ2s3WEhKY2JseDBYSFJjZEZ4MGMyOXRaWFJvYVc1blFXUmtaV1FnUFNCMGNuVmxPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGFXWW9JQ0YwYUdsekxtbHVjSFYwVkdsdFpYSWdKaVlnZEdocGN5NXBibkIxZEVsdWRHVnlkbUZzVFhNZ0ppWWdjMjl0WlhSb2FXNW5RV1JrWldRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG1sdWNIVjBWR2x0WlhJZ1BTQjNhVzVrYjNjdWMyVjBWR2x0Wlc5MWRDZ2dLQ2tnUFQ0Z2RHaHBjeTV2YmtsdWNIVjBWR2xqYXlncExDQjBhR2x6TG1sdWNIVjBTVzUwWlhKMllXeE5jeUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0J6ZFhCd2NtVnpjMGx1YVhScFlXeFFjbVZ6YzBadmNrRmpkR2x2YmxObGRDZ2dZV04wYVc5dVUyVjBUbUZ0WlRvZ2MzUnlhVzVuTENCa1pYWnBZMlU2SUVSbGRtbGpaU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdGamRHbHZibE5sZERvZ1FXTjBhVzl1VTJWME8xeHlYRzVjZEZ4MFptOXlLQ0JzWlhRZ1lYTWdiMllnZEdocGN5NWhZM1JwYjI1VFpYUnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYVdZb0lHRnpMbTVoYldVZ1BUMGdZV04wYVc5dVUyVjBUbUZ0WlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJoWTNScGIyNVRaWFFnUFNCaGN6dGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBhV1lvSUNGaFkzUnBiMjVUWlhRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBabTl5S0NCc1pYUWdZV04wYVc5dVFtRnpaU0J2WmlCaFkzUnBiMjVUWlhRdVlXTjBhVzl1Y3lBL1B5QmJYU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQmhZM1JwYjI0Z1BTQmhZM1JwYjI1Q1lYTmxJR0Z6SUVGamRHbHZibGRwZEdoTWFYTjBaVzVsY25NN1hISmNibHgwWEhSY2RHbG1LQ0JoWTNScGIyNHVkSGx3WlNBOVBTQkJZM1JwYjI1VWVYQmxMa0p2YjJ4bFlXNGdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGMzZHBkR05vS0NCa1pYWnBZMlVnS1Z4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEdOaGMyVWdSR1YyYVdObExreGxablE2SUZ4eVhHNWNkRngwWEhSY2RGeDBYSFJoWTNScGIyNHVjM1Z3Y0hKbGMzTk1aV1owSUQwZ2RISjFaVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSY2RGeDBYSFJqWVhObElFUmxkbWxqWlM1U2FXZG9kRG9nWEhKY2JseDBYSFJjZEZ4MFhIUmNkR0ZqZEdsdmJpNXpkWEJ3Y21WemMxSnBaMmgwSUQwZ2RISjFaVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lwY2NseHVYSFFnS2lCRVpXRmpkR2wyWVhSbGN5QmhiaUJoWTNScGIyNGdjMlYwSUc5dUlIUm9aU0J1WlhoMElHRmpkR2x2YmlCemVXNWpMaUJKWmlCaElHUmxkbWxqWlNCc2FYTjBYSEpjYmx4MElDb2dhWE1nYm05MElITjFjSEJzYVdWa0xDQjBhR1VnWVdOMGFXOXVJSE5sZENCcGN5QmtaV0ZqZEdsMllYUmxaQ0JtYjNJZ1lXeHNJR1JsZG1salpYTXVYSEpjYmlCY2RDQXFMMXh5WEc1Y2RIQjFZbXhwWXlCa1pXRmpkR2wyWVhSbFFXTjBhVzl1VTJWMEtDQmhZM1JwYjI1VFpYUk9ZVzFsT2lCemRISnBibWNzSUdSbGRtbGpaVDg2SUVSbGRtbGpaU2tnWEhKY2JseDBlMXh5WEc1Y2RGeDBabTl5S0NCc1pYUWdhU0E5SURBN0lHa2dQQ0IwYUdsekxtbHVjSFYwU1c1bWJ5NWhZM1JwZG1WQlkzUnBiMjVUWlhSekxteGxibWQwYURzZ2FTc3JJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElHRnpJRDBnZEdocGN5NXBibkIxZEVsdVptOHVZV04wYVhabFFXTjBhVzl1VTJWMGMxdHBYVHRjY2x4dVhIUmNkRngwYVdZb0lHRnpMbUZqZEdsdmJsTmxkRTVoYldVZ1BUMGdZV04wYVc5dVUyVjBUbUZ0WlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJwWmlnZ0lXUmxkbWxqWlNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MEx5OGdjbVZ0YjNabElHWnZjaUJoYkd3Z1pHVjJhV05sYzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1cGJuQjFkRWx1Wm04dVlXTjBhWFpsUVdOMGFXOXVVMlYwY3k1emNHeHBZMlVvSUdrc0lERWdLVHRjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBaV3h6WlZ4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEdGekxuUnZjRXhsZG1Wc1VHRjBhSE1nUFNCaGN5NTBiM0JNWlhabGJGQmhkR2h6TG1acGJIUmxjaWdnS0NCa1pYWTZJRVJsZG1salpTQXBJRDArSUdSbGRpQWhQU0JrWlhacFkyVWdLVHRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ1lYTXVkRzl3VEdWMlpXeFFZWFJvY3k1c1pXNW5kR2dnUFQwZ01DQXBYSEpjYmx4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVhVzV3ZFhSSmJtWnZMbUZqZEdsMlpVRmpkR2x2YmxObGRITXVjM0JzYVdObEtDQnBMQ0F4SUNrN1hISmNibHgwWEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSEpsZEhWeWJqdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEM4dklHbG1JSGRsSUdScFpHNG5kQ0JtYVc1a0lIUm9aU0JoWTNScGIyNGdjMlYwSUdsdUlHOTFjaUJzYVhOMElIUm9aWEpsSjNNZ2JtOTBhR2x1WnlCMGJ5QnlaVzF2ZG1WY2NseHVYSFI5WEhKY2JpQmNjbHh1WEhRdktpb2dVbVZuYVhOMFpYSnpJR0p2YjJ4bFlXNGdZMkZzYkdKaFkydHpJR1p2Y2lCaGJpQmhZM1JwYjI0Z1lXNWtJR1JsZG1salpTQXFMMXh5WEc1Y2RIQjFZbXhwWXlCeVpXZHBjM1JsY2tKdmIyeGxZVzVEWVd4c1ltRmphM01vSUdGamRHbHZibE5sZEU1aGJXVTZJSE4wY21sdVp5d2dZV04wYVc5dVRtRnRaVG9nYzNSeWFXNW5MQ0JrWlhacFkyVTZJRVJsZG1salpTd2dYSEpjYmx4MFhIUnlhWE5wYm1jNklDZ3BJRDArSUhadmFXUXNJR1poYkd4cGJtYy9PaUFvS1QwK0lIWnZhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCallqb2dRbTl2YkdWaGJrTmhiR3hpWVdOcklEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBhV1E2SUhSb2FYTXVibVY0ZEVOaGJHeGlZV05yU1dRckt5eGNjbHh1WEhSY2RGeDBjbWx6YVc1bkxGeHlYRzVjZEZ4MFhIUm1ZV3hzYVc1bkxGeHlYRzVjZEZ4MGZUdGNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1eVpXZHBjM1JsY2tOaGJHeGlZV05yS0NCaFkzUnBiMjVUWlhST1lXMWxMQ0JoWTNScGIyNU9ZVzFsTENCa1pYWnBZMlVzSUdOaUlDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUXZLaW9nVW1WbmFYTjBaWEp6SUdac2IyRjBJR05oYkd4aVlXTnJjeUJtYjNJZ1lXNGdZV04wYVc5dUlHRnVaQ0JrWlhacFkyVWdLaTljY2x4dVhIUndkV0pzYVdNZ2NtVm5hWE4wWlhKR2JHOWhkRU5oYkd4aVlXTnJLQ0JoWTNScGIyNVRaWFJPWVcxbE9pQnpkSEpwYm1jc0lHRmpkR2x2Yms1aGJXVTZJSE4wY21sdVp5d2daR1YyYVdObE9pQkVaWFpwWTJVc0lGeHlYRzVjZEZ4MFkyaGhibWRsT2lBb0lHOXNaRlpoYkhWbE9pQnVkVzFpWlhJc0lHNWxkMVpoYkhWbE9pQnVkVzFpWlhJZ0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdZMkk2SUVac2IyRjBRMkZzYkdKaFkyc2dQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWkRvZ2RHaHBjeTV1WlhoMFEyRnNiR0poWTJ0SlpDc3JMRnh5WEc1Y2RGeDBYSFJqYUdGdVoyVXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11Y21WbmFYTjBaWEpEWVd4c1ltRmpheWdnWVdOMGFXOXVVMlYwVG1GdFpTd2dZV04wYVc5dVRtRnRaU3dnWkdWMmFXTmxMQ0JqWWlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRkpsWjJsemRHVnljeUJtYkc5aGRDQmpZV3hzWW1GamEzTWdabTl5SUdGdUlHRmpkR2x2YmlCaGJtUWdaR1YyYVdObElDb3ZYSEpjYmx4MGNIVmliR2xqSUhKbFoybHpkR1Z5Vm1WamRHOXlNa05oYkd4aVlXTnJLQ0JoWTNScGIyNVRaWFJPWVcxbE9pQnpkSEpwYm1jc0lHRmpkR2x2Yms1aGJXVTZJSE4wY21sdVp5d2daR1YyYVdObE9pQkVaWFpwWTJVc0lGeHlYRzVjZEZ4MFkyaGhibWRsT2lBb0lHOXNaRlpoYkhWbE9pQmJJRzUxYldKbGNpd2diblZ0WW1WeUlGMHNJRzVsZDFaaGJIVmxPaUJiSUc1MWJXSmxjaXdnYm5WdFltVnlJRjBnS1NBOVBpQjJiMmxrSUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1kySTZJRlpsWTNSdmNqSkRZV3hzWW1GamF5QTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2xrT2lCMGFHbHpMbTVsZUhSRFlXeHNZbUZqYTBsa0t5c3NYSEpjYmx4MFhIUmNkR05vWVc1blpTeGNjbHh1WEhSY2RIMDdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV5WldkcGMzUmxja05oYkd4aVlXTnJLQ0JoWTNScGIyNVRaWFJPWVcxbExDQmhZM1JwYjI1T1lXMWxMQ0JrWlhacFkyVXNJR05pSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUhKbFoybHpkR1Z5UTJGc2JHSmhZMnNvSUdGamRHbHZibE5sZEU1aGJXVTZJSE4wY21sdVp5d2dZV04wYVc5dVRtRnRaVG9nYzNSeWFXNW5MQ0JrWlhacFkyVTZJRVJsZG1salpTd2dYSEpjYmx4MFhIUmpZam9nUW05dmJHVmhia05oYkd4aVlXTnJJSHdnUm14dllYUkRZV3hzWW1GamF5QjhJRlpsWTNSdmNqSkRZV3hzWW1GamF5QXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR0ZqZEdsdmJpQTlJSFJvYVhNdVoyVjBRV04wYVc5dUtDQmhZM1JwYjI1VFpYUk9ZVzFsTENCaFkzUnBiMjVPWVcxbElDazdYSEpjYmx4MFhIUnBaaWdnSVdGamRHbHZiaUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWdnWUZWdWEyNXZkMjRnWVdOMGFXOXVJQ1I3SUdGamRHbHZiazVoYldVZ2ZTQnBiaUJoWTNScGIyNGdjMlYwSUNSN0lHRmpkR2x2YmxObGRFNWhiV1VnZldBZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJ6ZDJsMFkyZ29JR1JsZG1salpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR05oYzJVZ1JHVjJhV05sTGt4bFpuUTZYSEpjYmx4MFhIUmNkRngwWVdOMGFXOXVMbXhsWm5SRFlXeHNZbUZqYTNNZ1BTQmJJQzR1TGlnZ1lXTjBhVzl1TG14bFpuUkRZV3hzWW1GamEzTWdQejhnVzEwZ0tTd2dZMklnWFR0Y2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSEpjYmx4MFhIUmNkR05oYzJVZ1JHVjJhV05sTGxKcFoyaDBPbHh5WEc1Y2RGeDBYSFJjZEdGamRHbHZiaTV5YVdkb2RFTmhiR3hpWVdOcmN5QTlJRnNnTGk0dUtDQmhZM1JwYjI0dWNtbG5hSFJEWVd4c1ltRmphM01nUHo4Z1cxMGdLU3dnWTJJZ1hUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RISmxkSFZ5YmlCallpNXBaRHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCVmJuSmxaMmx6ZEdWeWN5QmhJR05oYkd4aVlXTnJJR0o1SUdsa0lDb3ZYSEpjYmx4MGNIVmliR2xqSUhWdWNtVm5hWE4wWlhKRFlXeHNZbUZqYXlnZ2FXUTZJRzUxYldKbGNpQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFptOXlLQ0JzWlhRZ1lXTjBhVzl1VTJWMElHOW1JSFJvYVhNdVlXTjBhVzl1VTJWMGN5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR1p2Y2lnZ2JHVjBJR0poYzJWQlkzUnBiMjRnYjJZZ1lXTjBhVzl1VTJWMExtRmpkR2x2Ym5NZ1B6OGdXMTBnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiR1YwSUdGamRHbHZiaUE5SUdKaGMyVkJZM1JwYjI0Z1lYTWdRV04wYVc5dVYybDBhRXhwYzNSbGJtVnljenRjY2x4dVhISmNibHgwWEhSY2RGeDBZV04wYVc5dUxteGxablJEWVd4c1ltRmphM01nUFNCaFkzUnBiMjR1YkdWbWRFTmhiR3hpWVdOcmN6OHVabWxzZEdWeUtDQW9JR05pSUNrZ1BUNGdZMkl1YVdRZ0lUMGdhV1FnS1R0Y2NseHVYSFJjZEZ4MFhIUmhZM1JwYjI0dWNtbG5hSFJEWVd4c1ltRmphM01nUFNCaFkzUnBiMjR1Y21sbmFIUkRZV3hzWW1GamEzTS9MbVpwYkhSbGNpZ2dLQ0JqWWlBcElEMCtJR05pTG1sa0lDRTlJR2xrSUNrN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzl1U1c1d2RYUlVhV05yS0NsY2NseHVYSFI3WEhKY2JseDBYSFIwY25sY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSE4wWVhSbElEMGdkR2hwY3k1emVXNWpTVzV3ZFhSUGRtVnljbWxrWlNBL0lIUm9hWE11YzNsdVkwbHVjSFYwVDNabGNuSnBaR1VvSUhSb2FYTXVhVzV3ZFhSSmJtWnZJQ2tnWEhKY2JseDBYSFJjZEZ4ME9rRjJLQ2t1YzNsdVkwbHVjSFYwS0NCMGFHbHpMbWx1Y0hWMFNXNW1ieUFwTzF4eVhHNWNkRngwWEhSMGFHbHpMbUZ3Y0d4NVRtVjNVM1JoZEdVb0lITjBZWFJsSUNrN1hISmNibHgwWEhSOVhISmNibHgwWEhSallYUmphQ2dnWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW1aaGFXeGxaQ0IwYnlCemVXNWpJR2x1Y0hWMFhDSWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhScFppZ2dkR2hwY3k1cGJuQjFkRWx1Wm04dVlXTjBhWFpsUVdOMGFXOXVVMlYwY3k1c1pXNW5kR2dnUGlBd0lDWW1JSFJvYVhNdWFXNXdkWFJKYm5SbGNuWmhiRTF6S1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFHbHpMbWx1Y0hWMFZHbHRaWElnUFNCM2FXNWtiM2N1YzJWMFZHbHRaVzkxZENnZ0tDa2dQVDRnZEdocGN5NXZia2x1Y0hWMFZHbGpheWdwTENCMGFHbHpMbWx1Y0hWMFNXNTBaWEoyWVd4TmN5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFHbHpMbWx1Y0hWMFZHbHRaWElnUFNCMWJtUmxabWx1WldRN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdkbGRFRmpkR2x2YmlnZ1lXTjBhVzl1VTJWMFRtRnRaVG9nYzNSeWFXNW5MQ0JoWTNScGIyNU9ZVzFsT2lCemRISnBibWNnS1RvZ1FXTjBhVzl1VjJsMGFFeHBjM1JsYm1WeWN5QjhJSFZ1WkdWbWFXNWxaRnh5WEc1Y2RIdGNjbHh1WEhSY2RHWnZjaWdnYkdWMElHRmpkR2x2YmxObGRDQnZaaUIwYUdsekxtRmpkR2x2YmxObGRITWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ1lXTjBhVzl1VTJWMExtNWhiV1VnSVQwZ1lXTjBhVzl1VTJWMFRtRnRaU0FwWEhKY2JseDBYSFJjZEZ4MFkyOXVkR2x1ZFdVN1hISmNibHh5WEc1Y2RGeDBYSFJtYjNJb0lHeGxkQ0JoWTNScGIyNGdiMllnWVdOMGFXOXVVMlYwTG1GamRHbHZibk1nUHo4Z1cxMGdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGFXWW9JR0ZqZEdsdmJpNXVZVzFsSUQwOUlHRmpkR2x2Yms1aGJXVWdLVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSEpsZEhWeWJpQmhZM1JwYjI0N1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCeWFYWmhkR1VnWVhCd2JIbE9aWGRUZEdGMFpTZ2dibVYzVTNSaGRHVTZJRWx1Y0hWMFUzUmhkR1VnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWNISnZZMlZ6YzBScFptWnpLQ0IwYUdsekxuTjBZWFJsTENCdVpYZFRkR0YwWlNBcE8xeHlYRzVjZEZ4MGRHaHBjeTV6ZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQmpZV3hzUTJGc2JHSmhZMnNvSUdOaU9pQkNiMjlzWldGdVEyRnNiR0poWTJzZ2ZDQkdiRzloZEVOaGJHeGlZV05ySUh3Z1ZtVmpkRzl5TWtOaGJHeGlZV05yTEZ4eVhHNWNkRngwYjJ4a1ZtRnNkV1U2SUdKdmIyeGxZVzRnZkNCdWRXMWlaWElnZkNCYklHNTFiV0psY2l3Z2JuVnRZbVZ5SUYwc1hISmNibHgwWEhSdVpYZFdZV3gxWlRvZ1ltOXZiR1ZoYmlCOElHNTFiV0psY2lCOElGc2diblZ0WW1WeUxDQnVkVzFpWlhJZ1hTeGNjbHh1WEhSY2RIUjVjR1U2SUVGamRHbHZibFI1Y0dVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEhsd1pTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR05oYzJVZ1FXTjBhVzl1Vkhsd1pTNUNiMjlzWldGdU9seHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwYkdWMElHSmpZaUE5SUdOaUlHRnpJRUp2YjJ4bFlXNURZV3hzWW1GamF6dGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2IyeGtWbUZzZFdVZ0ppWWdJVzVsZDFaaGJIVmxJQ2xjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJpWTJJdVptRnNiR2x1Wno4dUtDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RHVnNjMlVnYVdZb0lDRnZiR1JXWVd4MVpTQW1KaUJ1WlhkV1lXeDFaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWW1OaUxuSnBjMmx1Wno4dUtDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBZMkZ6WlNCQlkzUnBiMjVVZVhCbExrWnNiMkYwT2x4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiR1YwSUdaallpQTlJR05pSUdGeklFWnNiMkYwUTJGc2JHSmhZMnM3WEhKY2JseDBYSFJjZEZ4MGJHVjBJRzlzWkVac2IyRjBJRDBnZEhsd1pXOW1JRzlzWkZaaGJIVmxJRDA5SUZ3aWJuVnRZbVZ5WENJZ1B5QnZiR1JXWVd4MVpTQmhjeUJ1ZFcxaVpYSWdPaUF3TzF4eVhHNWNkRngwWEhSY2RHeGxkQ0J1WlhkR2JHOWhkQ0E5SUhSNWNHVnZaaUJ1WlhkV1lXeDFaU0E5UFNCY0ltNTFiV0psY2x3aUlEOGdibVYzVm1Gc2RXVWdZWE1nYm5WdFltVnlJRG9nTUR0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnYjJ4a1JteHZZWFFnSVQwZ2JtVjNSbXh2WVhRZ0tWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RHWmpZaTVqYUdGdVoyVW9JRzlzWkVac2IyRjBMQ0J1WlhkR2JHOWhkQ0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdRV04wYVc5dVZIbHdaUzVXWldOMGIzSXlPbHh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFkyOXVjM1FnV3lCdmVDd2diM2tnWFNBOUlHOXNaRlpoYkhWbElHRnpJRnNnYm5WdFltVnlMQ0J1ZFcxaVpYSWdYU0EvUHlCYklEQXNJREFnWFR0Y2NseHVYSFJjZEZ4MFhIUmpiMjV6ZENCYklHNTRMQ0J1ZVNCZElEMGdibVYzVm1Gc2RXVWdZWE1nV3lCdWRXMWlaWElzSUc1MWJXSmxjaUJkSUQ4L0lGc2dNQ3dnTUNCZE8xeHlYRzVjY2x4dVhIUmNkRngwWEhSc1pYUWdkbU5pSUQwZ1kySWdZWE1nVm1WamRHOXlNa05oYkd4aVlXTnJPMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQnZlQ0FoUFNCdWVDQjhmQ0J2ZVNBaFBTQnVlU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwZG1OaUxtTm9ZVzVuWlNnZ1d5QnZlQ3dnYjNrZ1hTd2dXeUJ1ZUN3Z2Jua2dYU0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2NISnZZMlZ6YzBScFptWnpLQ0J2YkdRNklFbHVjSFYwVTNSaGRHVXNJRzVsZDFOMFlYUmxPaUJKYm5CMWRGTjBZWFJsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJtYjNJb0lHeGxkQ0JoWTNScGIyNVRaWFFnYjJZZ2RHaHBjeTVoWTNScGIyNVRaWFJ6SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFptOXlLQ0JzWlhRZ1ltRnpaVUZqZEdsdmJpQnZaaUJoWTNScGIyNVRaWFF1WVdOMGFXOXVjeUEvUHlCYlhTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSc1pYUWdZV04wYVc5dUlEMGdZbUZ6WlVGamRHbHZiaUJoY3lCQlkzUnBiMjVYYVhSb1RHbHpkR1Z1WlhKek8xeHlYRzVjZEZ4MFhIUmNkR3hsZENCdmJHUkJZM1JwYjI0Z1BTQnZiR1EvTG5KbGMzVnNkSE5iSUdGamRHbHZibE5sZEM1dVlXMWxJRjAvTGxzZ1lXTjBhVzl1TG01aGJXVWdYVHRjY2x4dVhIUmNkRngwWEhSc1pYUWdibVYzUVdOMGFXOXVJRDBnYm1WM1UzUmhkR1V1Y21WemRXeDBjMXNnWVdOMGFXOXVVMlYwTG01aGJXVWdYVDh1V3lCaFkzUnBiMjR1Ym1GdFpTQmRPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUnNaWFFnYjJ4a1RHVm1kQ0FnUFNCdmJHUkJZM1JwYjI0L0xteGxablEvTG5aaGJIVmxPMXh5WEc1Y2RGeDBYSFJjZEd4bGRDQnZiR1JTYVdkb2RDQTlJRzlzWkVGamRHbHZiajh1Y21sbmFIUS9MblpoYkhWbE8xeHlYRzVjY2x4dVhIUmNkRngwWEhSc1pYUWdibVYzVEdWbWRDQWdQU0J1WlhkQlkzUnBiMjQvTG14bFpuUS9MblpoYkhWbE8xeHlYRzVjZEZ4MFhIUmNkR3hsZENCdVpYZFNhV2RvZENBOUlHNWxkMEZqZEdsdmJqOHVjbWxuYUhRL0xuWmhiSFZsTzF4eVhHNWNjbHh1WEhSY2RGeDBYSFJwWmlnZ1lXTjBhVzl1TG5OMWNIQnlaWE56VEdWbWRDQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBhV1lvSUNGdVpYZE1aV1owSUNsY2NseHVYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZV04wYVc5dUxuTjFjSEJ5WlhOelRHVm1kQ0E5SUdaaGJITmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSbGJITmxYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBabTl5S0NCc1pYUWdZMklnYjJZZ1lXTjBhVzl1TG14bFpuUkRZV3hzWW1GamEzTWdQejhnVzEwZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFIwYUdsekxtTmhiR3hEWVd4c1ltRmpheWdnWTJJc0lHOXNaRXhsWm5Rc0lHNWxkMHhsWm5Rc0lHRmpkR2x2Ymk1MGVYQmxJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBYSFJwWmlnZ1lXTjBhVzl1TG5OMWNIQnlaWE56VW1sbmFIUWdLVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NBaGJtVjNVbWxuYUhRZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJoWTNScGIyNHVjM1Z3Y0hKbGMzTlNhV2RvZENBOUlHWmhiSE5sTzF4eVhHNWNkRngwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmxiSE5sWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWm05eUtDQnNaWFFnWTJJZ2IyWWdZV04wYVc5dUxuSnBaMmgwUTJGc2JHSmhZMnR6SUQ4L0lGdGRJQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGRHaHBjeTVqWVd4c1EyRnNiR0poWTJzb0lHTmlMQ0J2YkdSU2FXZG9kQ3dnYm1WM1VtbG5hSFFzSUdGamRHbHZiaTUwZVhCbElDazdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVobGJIQmxjaUIwYnlCamNtVmhkR1VnZEdobElITmhiV1VnWW1sdVpHbHVaeUJ2YmlCdGRXeDBhWEJzWlNCa1pYWnBZMlZ6SUNvdlhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRkV3gwYVVSbGRtbGpaVUpwYm1ScGJtY29JR2x1ZEdWeVlXTjBhVzl1VUhKdlptbHNaVG9nU1c1MFpYSmhZM1JwYjI1UWNtOW1hV3hsTENCa1pYWnBZMlZRWVhSb2N6b2dSR1YyYVdObFcxMHNJRnh5WEc1Y2RHTnZiWEJ2Ym1WdWRGQmhkR2c2SUVsdWNIVjBJQ2tnT2tGamRHbHZia0pwYm1ScGJtZGJYVnh5WEc1N1hISmNibHgwY21WMGRYSnVJR1JsZG1salpWQmhkR2h6TG0xaGNDZ2dLSFpoYkhWbE9pQnpkSEpwYm1jcElEMCtJRnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCN1hISmNibHgwWEhSY2RHbHVkR1Z5WVdOMGFXOXVVSEp2Wm1sc1pTeGNjbHh1WEhSY2RGeDBhVzV3ZFhSUVlYUm9PaUIyWVd4MVpTQXJJR052YlhCdmJtVnVkRkJoZEdnc1hISmNibHgwWEhSOU8xeHlYRzVjZEgwZ0tUdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFaGxiSEJsY2lCMGJ5QmpjbVZoZEdVZ2RHaGxJSE5oYldVZ1ltbHVaR2x1WnlCdmJpQmliM1JvSUdoaGJtUnpJQ292WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMGQyOUlZVzVrUW1sdVpHbHVaeWdnYVc1MFpYSmhZM1JwYjI1UWNtOW1hV3hsT2lCSmJuUmxjbUZqZEdsdmJsQnliMlpwYkdVc0lHTnZiWEJ2Ym1WdWRGQmhkR2c2SUVsdWNIVjBJQ2xjY2x4dWUxeHlYRzVjZEhKbGRIVnliaUJ0ZFd4MGFVUmxkbWxqWlVKcGJtUnBibWNvYVc1MFpYSmhZM1JwYjI1UWNtOW1hV3hsTENCYklFUmxkbWxqWlM1TVpXWjBMQ0JFWlhacFkyVXVVbWxuYUhRZ1hTd2dZMjl0Y0c5dVpXNTBVR0YwYUNBcE8xeHlYRzU5WEhKY2JpSXNJbVY0Y0c5eWRDQmpiMjV6ZENCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQTlJRndpYUhSMGNEb3ZMMnh2WTJGc2FHOXpkRG95TXpnME1pOXRiMlJsYkhNdlhDSTdYSEpjYm1WNGNHOXlkQ0JqYjI1emRDQm5YMkoxYVd4MGFXNU5iMlJsYkVGaGNtUjJZWEpySUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW1GaGNtUjJZWEpyTG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4QmNuSnZkeUE5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0poY25KdmR5NW5iR0pjSWp0Y2NseHVaWGh3YjNKMElHTnZibk4wSUdkZlluVnBiSFJwYmsxdlpHVnNRWEp5YjNkR2JHRjBJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeFFjbVZtYVhnZ0t5QmNJbUZ5Y205M1gyWnNZWFF1WjJ4aVhDSTdYSEpjYm1WNGNHOXlkQ0JqYjI1emRDQm5YMkoxYVd4MGFXNU5iMlJsYkVKaGNtTnZaR1ZUWTJGdWJtVnlJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeFFjbVZtYVhnZ0t5QmNJbUpoY21OdlpHVmZjbVZoWkdWeUxtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeENiM1Z1WkdsdVowSnZlQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0ppYjNWdVpHbHVaMTlpYjNndVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJFSnZlQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0ppYjNndVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJFSnlZV05sYkdWMElEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0ltSnlZV05sYkdWMExtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeERlV3hwYm1SbGNpQTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSmplV3hwYm1SbGNpNW5iR0pjSWp0Y2NseHVaWGh3YjNKMElHTnZibk4wSUdkZlluVnBiSFJwYmsxdlpHVnNSSEp2Y0VGMGRISmhZM1FnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpWkhKdmNGOWhkSFJ5WVdOMExtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeEZjbkp2Y2lBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKbGNuSnZjaTVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzUm14aGMyc2dQU0JuWDJKMWFXeDBhVzVOYjJSbGJGQnlaV1pwZUNBcklGd2labXhoYzJzdVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJFZGxZWElnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpWjJWaGNpNW5iR0pjSWp0Y2NseHVaWGh3YjNKMElHTnZibk4wSUdkZlluVnBiSFJwYmsxdlpHVnNTR0Z0YldWeVFXNWtWM0psYm1Ob0lEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0ltaGhiVzFsY25keVpXNWphQzVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzU0dGdVpFeGxablFnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpYUdGdVpGOXNaV1owTG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4SVlXNWtUV2x5Y205eUlEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0ltaGhibVJmYldseWNtOXlMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hJWVc1a1VtbG5hSFFnUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpYUdGdVpGOXlhV2RvZEM1bmJHSmNJanRjY2x4dVpYaHdiM0owSUdOdmJuTjBJR2RmWW5WcGJIUnBiazF2WkdWc1NHVmhaQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0pvWldGa0xtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeEliMjlySUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW1odmIyc3VaMnhpWENJN1hISmNibVY0Y0c5eWRDQmpiMjV6ZENCblgySjFhV3gwYVc1TmIyUmxiRTFoWjI1bGRFTnNiM05sWkNBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKdFlXZHVaWFJmWTJ4dmMyVmtMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hOWVdkdVpYUlBjR1Z1SUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW0xaFoyNWxkRjl2Y0dWdUxtZHNZbHdpTzF4eVhHNWxlSEJ2Y25RZ1kyOXVjM1FnWjE5aWRXbHNkR2x1VFc5a1pXeE5hVzUxY3lBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKdGFXNTFjeTVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzVG1WMGQyOXlheUE5SUdkZlluVnBiSFJwYmsxdlpHVnNVSEpsWm1sNElDc2dYQ0p1WlhSM2IzSnJMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hRWVc1bGJDQTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSndZVzVsYkM5d1lXNWxiQzVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzVUdGdVpXeEpiblpsY25SbFpDQTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSndZVzVsYkM5d1lXNWxiRjlwYm5abGNuUmxaQzVuYkdKY0lqdGNjbHh1Wlhod2IzSjBJR052Ym5OMElHZGZZblZwYkhScGJrMXZaR1ZzVUd4MWN5QTlJR2RmWW5WcGJIUnBiazF2WkdWc1VISmxabWw0SUNzZ1hDSndiSFZ6TG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4U2IyOXRJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeFFjbVZtYVhnZ0t5QmNJbkp2YjIwdVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJGTndhR1Z5WlNBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKemNHaGxjbVV2YzNCb1pYSmxMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hUZEdGeUlEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0luTjBZWEl1WjJ4aVhDSTdYSEpjYm1WNGNHOXlkQ0JqYjI1emRDQm5YMkoxYVd4MGFXNU5iMlJsYkZSeVlYTm9ZMkZ1SUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW5SeVlYTm9ZMkZ1TG1kc1lsd2lPMXh5WEc1bGVIQnZjblFnWTI5dWMzUWdaMTlpZFdsc2RHbHVUVzlrWld4WGFXNWtiM2RKWTI5dUlEMGdaMTlpZFdsc2RHbHVUVzlrWld4UWNtVm1hWGdnS3lCY0luZHBibVJ2ZDE5cFkyOXVMbWRzWWx3aU8xeHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVRXOWtaV3hTYjJOclpYUnphR2x3SUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hRY21WbWFYZ2dLeUJjSW5KdlkydGxkSE5vYVhBdVoyeGlYQ0k3WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJKMWFXeDBhVzVOYjJSbGJGTnJhVzV1WldSSVlXNWtUR1ZtZENBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKemEybHVibVZrWDJoaGJtUmZiR1ZtZEM1bmJHSmNJanRjY2x4dVpYaHdiM0owSUdOdmJuTjBJR2RmWW5WcGJIUnBiazF2WkdWc1UydHBibTVsWkVoaGJtUlNhV2RvZENBOUlHZGZZblZwYkhScGJrMXZaR1ZzVUhKbFptbDRJQ3NnWENKemEybHVibVZrWDJoaGJtUmZjbWxuYUhRdVoyeGlYQ0k3WEhKY2JseHlYRzVsZUhCdmNuUWdZMjl1YzNRZ1oxOWlkV2xzZEdsdVFXNXBiWE1nUFNCblgySjFhV3gwYVc1TmIyUmxiRkJ5WldacGVDQXJJRndpWVc1cGJXRjBhVzl1Y3k5Y0lqdGNjbHh1WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JuWDJGdWFXMWZUR1ZtZEY5VWFIVnRZbk5WY0NBOUlHZGZZblZwYkhScGJrRnVhVzF6SUNzZ1hDSnNaV1owWDNSb2RXMWljMTkxY0M1bmJHSmNJanRjY2x4dUlpd2lYSEpjYm1WNGNHOXlkQ0JsYm5WdElGZGxZa0Z3Y0UxaGJtbG1aWE4wVW1WemIzVnlZMlZRZFhKd2IzTmxYSEpjYm50Y2NseHVYSFJDWVdSblpTQTlJRndpWW1Ga1oyVmNJaXhjY2x4dVhIUk5ZWE5yWVdKc1pTQTlJRndpYldGemEyRmliR1ZjSWl4Y2NseHVYSFJCYm5rZ1BTQmNJbUZ1ZVZ3aUxGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRkpsYzI5MWNtTmxVbTkwWVhScGIyNWNjbHh1ZTF4eVhHNWNkSGcvT2lCdWRXMWlaWEk3WEhKY2JseDBlVDg2SUc1MWJXSmxjanRjY2x4dVhIUjZQem9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZkbFlrRndjRTFoYm1sbVpYTjBVbVZ6YjNWeVkyVmNjbHh1ZTF4eVhHNWNkSE55WXpvZ2MzUnlhVzVuTzF4eVhHNWNkSE5wZW1WelB6b2djM1J5YVc1bk8xeHlYRzVjZEhSNWNHVTZJSE4wY21sdVp6dGNjbHh1WEhSd2RYSndiM05sUHpvZ1YyVmlRWEJ3VFdGdWFXWmxjM1JTWlhOdmRYSmpaVkIxY25CdmMyVTdYSEpjYmx4MGNtOTBZWFJwYjI0L09pQlNaWE52ZFhKalpWSnZkR0YwYVc5dU8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCWFpXSkJjSEJOWVc1cFptVnpkRlJsZUhSRWFYSmNjbHh1ZTF4eVhHNWNkRUYxZEc4Z1BTQmNJbUYxZEc5Y0lpeGNjbHh1WEhSTVpXWjBWRzlTYVdkb2RDQTlJRndpYkhSeVhDSXNYSEpjYmx4MFVtbG5hSFJVYjB4bFpuUWdQU0JjSW5KMGJGd2lMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlhaV0pCY0hCTllXNXBabVZ6ZEVScGMzQnNZWGxjY2x4dWUxeHlYRzVjZEVaMWJHeHpZM0psWlc0Z1BTQmNJbVoxYkd4elkzSmxaVzVjSWl4Y2NseHVYSFJUZEdGdVpHRnNiMjVsSUQwZ1hDSnpkR0Z1WkdGc2IyNWxYQ0lzWEhKY2JseDBUV2x1YVcxaGJGVkpJRDBnWENKdGFXNXBiV0ZzTFhWcFhDSXNYSEpjYmx4MFFuSnZkM05sY2lBOUlGd2lZbkp2ZDNObGNsd2lMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlhaV0pCY0hCTllXNXBabVZ6ZEU5eWFXVnVkR0YwYVc5dVhISmNibnRjY2x4dVhIUkJibmtnUFNCY0ltRnVlVndpTEZ4eVhHNWNkRTVoZEhWeVlXd2dQU0JjSW01aGRIVnlZV3hjSWl4Y2NseHVYSFJNWVc1a2MyTmhjR1VnUFNCY0lteGhibVJ6WTJGd1pWd2lMRnh5WEc1Y2RFeGhibVJ6WTJGd1pWQnlhVzFoY25rZ1BTQmNJbXhoYm1SelkyRndaUzF3Y21sdFlYSjVYQ0lzWEhKY2JseDBUR0Z1WkhOallYQmxVMlZqYjI1a1lYSjVJRDBnWENKc1lXNWtjMk5oY0dVdGMyVmpiMjVrWVhKNVhDSXNYSEpjYmx4MFVHOXlkSEpoYVhRZ1BTQmNJbkJ2Y25SeVlXbDBYQ0lzWEhKY2JseDBVRzl5ZEhKaGFYUlFjbWx0WVhKNUlEMGdYQ0p3YjNKMGNtRnBkQzF3Y21sdFlYSjVYQ0lzWEhKY2JseDBVRzl5ZEhKaGFYUlRaV052Ym1SaGNua2dQU0JjSW5CdmNuUnlZV2wwTFhObFkyOXVaR0Z5ZVZ3aUxGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRmRsWWsxaGJtbG1aWE4wVW1Wc1lYUmxaRUZ3Y0d4cFkyRjBhVzl1WEhKY2JudGNjbHh1WEhSd2JHRjBabTl5YlQ4NklITjBjbWx1Wnp0Y2NseHVYSFIxY213L09pQnpkSEpwYm1jN1hISmNibHgwYVdRL09pQnpkSEpwYm1jN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWMlZpUVhCd1RXRnVhV1psYzNSY2NseHVlMXh5WEc1Y2RHNWhiV1U2SUhOMGNtbHVaenRjY2x4dVhIUmlZV05yWjNKdmRXNWtYMk52Ykc5eVB6b2djM1J5YVc1bk8xeHlYRzVjZEdOaGRHVm5iM0pwWlhNL09pQnpkSEpwYm1kYlhUdGNjbHh1WEhSa1pYTmpjbWx3ZEdsdmJqODZJSE4wY21sdVp6dGNjbHh1WEhSa2FYSS9PaUJYWldKQmNIQk5ZVzVwWm1WemRGUmxlSFJFYVhJN1hISmNibHgwWkdsemNHeGhlVDg2SUZkbFlrRndjRTFoYm1sbVpYTjBSR2x6Y0d4aGVUdGNjbHh1WEhScFlYSmpYM0poZEdsdVoxOXBaRDg2SUhOMGNtbHVaenRjY2x4dVhIUnBZMjl1Y3o4NklGZGxZa0Z3Y0UxaGJtbG1aWE4wVW1WemIzVnlZMlZiWFR0Y2NseHVYSFJzWVc1blB6b2djM1J5YVc1bk8xeHlYRzVjZEc5eWFXVnVkR0YwYVc5dVB6b2dWMlZpUVhCd1RXRnVhV1psYzNSUGNtbGxiblJoZEdsdmJqdGNjbHh1WEhSd2NtVm1aWEpmY21Wc1lYUmxaRjloY0hCc2FXTmhkR2x2Ym5NL09pQmliMjlzWldGdU8xeHlYRzVjZEhKbGJHRjBaV1JmWVhCd2JHbGpZWFJwYjI1elB6b2dWMlZpVFdGdWFXWmxjM1JTWld4aGRHVmtRWEJ3YkdsallYUnBiMjViWFR0Y2NseHVYSFJ6WTI5d1pUODZJSE4wY21sdVp6dGNjbHh1WEhSelkzSmxaVzV6YUc5MGN6ODZJRmRsWWtGd2NFMWhibWxtWlhOMFVtVnpiM1Z5WTJWYlhUdGNjbHh1WEhSemFHOXlkRjl1WVcxbFB6b2djM1J5YVc1bk8xeHlYRzVjZEhOMFlYSjBYM1Z5YkQ4NklITjBjbWx1Wnp0Y2NseHVYSFIwYUdWdFpWOWpiMnh2Y2o4NklITjBjbWx1Wnp0Y2NseHVmVnh5WEc1Y2NseHVJaXdpYVcxd2IzSjBJR055ZVhCMGJ5Qm1jbTl0SUNkamNubHdkRzhuTzF4dVpYaHdiM0owSUdSbFptRjFiSFFnWm5WdVkzUnBiMjRnY201bktDa2dlMXh1SUNCeVpYUjFjbTRnWTNKNWNIUnZMbkpoYm1SdmJVSjVkR1Z6S0RFMktUdGNibjBpTENJdktpcGNiaUFxSUVOdmJuWmxjblFnWVhKeVlYa2diMllnTVRZZ1lubDBaU0IyWVd4MVpYTWdkRzhnVlZWSlJDQnpkSEpwYm1jZ1ptOXliV0YwSUc5bUlIUm9aU0JtYjNKdE9seHVJQ29nV0ZoWVdGaFlXRmd0V0ZoWVdDMVlXRmhZTFZoWVdGZ3RXRmhZV0ZoWVdGaFlXRmhZWEc0Z0tpOWNiblpoY2lCaWVYUmxWRzlJWlhnZ1BTQmJYVHRjYmx4dVptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQXlOVFk3SUNzcmFTa2dlMXh1SUNCaWVYUmxWRzlJWlhoYmFWMGdQU0FvYVNBcklEQjRNVEF3S1M1MGIxTjBjbWx1WnlneE5pa3VjM1ZpYzNSeUtERXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmllWFJsYzFSdlZYVnBaQ2hpZFdZc0lHOW1abk5sZENrZ2UxeHVJQ0IyWVhJZ2FTQTlJRzltWm5ObGRDQjhmQ0F3TzF4dUlDQjJZWElnWW5Sb0lEMGdZbmwwWlZSdlNHVjRPeUF2THlCcWIybHVJSFZ6WldRZ2RHOGdabWw0SUcxbGJXOXllU0JwYzNOMVpTQmpZWFZ6WldRZ1lua2dZMjl1WTJGMFpXNWhkR2x2YmpvZ2FIUjBjSE02THk5aWRXZHpMbU5vY205dGFYVnRMbTl5Wnk5d0wzWTRMMmx6YzNWbGN5OWtaWFJoYVd3L2FXUTlNekUzTlNOak5GeHVYRzRnSUhKbGRIVnliaUJiWW5Sb1cySjFabHRwS3l0ZFhTd2dZblJvVzJKMVpsdHBLeXRkWFN3Z1luUm9XMkoxWmx0cEt5dGRYU3dnWW5Sb1cySjFabHRwS3l0ZFhTd2dKeTBuTENCaWRHaGJZblZtVzJrcksxMWRMQ0JpZEdoYlluVm1XMmtySzExZExDQW5MU2NzSUdKMGFGdGlkV1piYVNzclhWMHNJR0owYUZ0aWRXWmJhU3NyWFYwc0lDY3RKeXdnWW5Sb1cySjFabHRwS3l0ZFhTd2dZblJvVzJKMVpsdHBLeXRkWFN3Z0p5MG5MQ0JpZEdoYlluVm1XMmtySzExZExDQmlkR2hiWW5WbVcya3JLMTFkTENCaWRHaGJZblZtVzJrcksxMWRMQ0JpZEdoYlluVm1XMmtySzExZExDQmlkR2hiWW5WbVcya3JLMTFkTENCaWRHaGJZblZtVzJrcksxMWRYUzVxYjJsdUtDY25LVHRjYm4xY2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ1lubDBaWE5VYjFWMWFXUTdJaXdpYVcxd2IzSjBJSEp1WnlCbWNtOXRJQ2N1TDNKdVp5NXFjeWM3WEc1cGJYQnZjblFnWW5sMFpYTlViMVYxYVdRZ1puSnZiU0FuTGk5aWVYUmxjMVJ2VlhWcFpDNXFjeWM3SUM4dklDb3FZSFl4S0NsZ0lDMGdSMlZ1WlhKaGRHVWdkR2x0WlMxaVlYTmxaQ0JWVlVsRUtpcGNiaTh2WEc0dkx5Qkpibk53YVhKbFpDQmllU0JvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2VEdsdmMwc3ZWVlZKUkM1cWMxeHVMeThnWVc1a0lHaDBkSEE2THk5a2IyTnpMbkI1ZEdodmJpNXZjbWN2YkdsaWNtRnllUzkxZFdsa0xtaDBiV3hjYmx4dWRtRnlJRjl1YjJSbFNXUTdYRzVjYm5aaGNpQmZZMnh2WTJ0elpYRTdJQzh2SUZCeVpYWnBiM1Z6SUhWMWFXUWdZM0psWVhScGIyNGdkR2x0WlZ4dVhHNWNiblpoY2lCZmJHRnpkRTFUWldOeklEMGdNRHRjYm5aaGNpQmZiR0Z6ZEU1VFpXTnpJRDBnTURzZ0x5OGdVMlZsSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5MWRXbGthbk12ZFhWcFpDQm1iM0lnUVZCSklHUmxkR0ZwYkhOY2JseHVablZ1WTNScGIyNGdkakVvYjNCMGFXOXVjeXdnWW5WbUxDQnZabVp6WlhRcElIdGNiaUFnZG1GeUlHa2dQU0JpZFdZZ0ppWWdiMlptYzJWMElIeDhJREE3WEc0Z0lIWmhjaUJpSUQwZ1luVm1JSHg4SUZ0ZE8xeHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUdGNiaUFnZG1GeUlHNXZaR1VnUFNCdmNIUnBiMjV6TG01dlpHVWdmSHdnWDI1dlpHVkpaRHRjYmlBZ2RtRnlJR05zYjJOcmMyVnhJRDBnYjNCMGFXOXVjeTVqYkc5amEzTmxjU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdiM0IwYVc5dWN5NWpiRzlqYTNObGNTQTZJRjlqYkc5amEzTmxjVHNnTHk4Z2JtOWtaU0JoYm1RZ1kyeHZZMnR6WlhFZ2JtVmxaQ0IwYnlCaVpTQnBibWwwYVdGc2FYcGxaQ0IwYnlCeVlXNWtiMjBnZG1Gc2RXVnpJR2xtSUhSb1pYa25jbVVnYm05MFhHNGdJQzh2SUhOd1pXTnBabWxsWkM0Z0lGZGxJR1J2SUhSb2FYTWdiR0Y2YVd4NUlIUnZJRzFwYm1sdGFYcGxJR2x6YzNWbGN5QnlaV3hoZEdWa0lIUnZJR2x1YzNWbVptbGphV1Z1ZEZ4dUlDQXZMeUJ6ZVhOMFpXMGdaVzUwY205d2VTNGdJRk5sWlNBak1UZzVYRzVjYmlBZ2FXWWdLRzV2WkdVZ1BUMGdiblZzYkNCOGZDQmpiRzlqYTNObGNTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJSE5sWldSQ2VYUmxjeUE5SUc5d2RHbHZibk11Y21GdVpHOXRJSHg4SUNodmNIUnBiMjV6TG5KdVp5QjhmQ0J5Ym1jcEtDazdYRzVjYmlBZ0lDQnBaaUFvYm05a1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJRWlhJZ05DNDFMQ0JqY21WaGRHVWdZVzVrSURRNExXSnBkQ0J1YjJSbElHbGtMQ0FvTkRjZ2NtRnVaRzl0SUdKcGRITWdLeUJ0ZFd4MGFXTmhjM1FnWW1sMElEMGdNU2xjYmlBZ0lDQWdJRzV2WkdVZ1BTQmZibTlrWlVsa0lEMGdXM05sWldSQ2VYUmxjMXN3WFNCOElEQjRNREVzSUhObFpXUkNlWFJsYzFzeFhTd2djMlZsWkVKNWRHVnpXekpkTENCelpXVmtRbmwwWlhOYk0xMHNJSE5sWldSQ2VYUmxjMXMwWFN3Z2MyVmxaRUo1ZEdWeld6VmRYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTJ4dlkydHpaWEVnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1VHVnlJRFF1TWk0eUxDQnlZVzVrYjIxcGVtVWdLREUwSUdKcGRDa2dZMnh2WTJ0elpYRmNiaUFnSUNBZ0lHTnNiMk5yYzJWeElEMGdYMk5zYjJOcmMyVnhJRDBnS0hObFpXUkNlWFJsYzFzMlhTQThQQ0E0SUh3Z2MyVmxaRUo1ZEdWeld6ZGRLU0FtSURCNE0yWm1aanRjYmlBZ0lDQjlYRzRnSUgwZ0x5OGdWVlZKUkNCMGFXMWxjM1JoYlhCeklHRnlaU0F4TURBZ2JtRnVieTF6WldOdmJtUWdkVzVwZEhNZ2MybHVZMlVnZEdobElFZHlaV2R2Y21saGJpQmxjRzlqYUN4Y2JpQWdMeThnS0RFMU9ESXRNVEF0TVRVZ01EQTZNREFwTGlBZ1NsTk9kVzFpWlhKeklHRnlaVzRuZENCd2NtVmphWE5sSUdWdWIzVm5hQ0JtYjNJZ2RHaHBjeXdnYzI5Y2JpQWdMeThnZEdsdFpTQnBjeUJvWVc1a2JHVmtJR2x1ZEdWeWJtRnNiSGtnWVhNZ0oyMXpaV056SnlBb2FXNTBaV2RsY2lCdGFXeHNhWE5sWTI5dVpITXBJR0Z1WkNBbmJuTmxZM01uWEc0Z0lDOHZJQ2d4TURBdGJtRnViM05sWTI5dVpITWdiMlptYzJWMElHWnliMjBnYlhObFkzTXBJSE5wYm1ObElIVnVhWGdnWlhCdlkyZ3NJREU1TnpBdE1ERXRNREVnTURBNk1EQXVYRzVjYmx4dUlDQjJZWElnYlhObFkzTWdQU0J2Y0hScGIyNXpMbTF6WldOeklDRTlQU0IxYm1SbFptbHVaV1FnUHlCdmNIUnBiMjV6TG0xelpXTnpJRG9nYm1WM0lFUmhkR1VvS1M1blpYUlVhVzFsS0NrN0lDOHZJRkJsY2lBMExqSXVNUzR5TENCMWMyVWdZMjkxYm5RZ2IyWWdkWFZwWkNkeklHZGxibVZ5WVhSbFpDQmtkWEpwYm1jZ2RHaGxJR04xY25KbGJuUWdZMnh2WTJ0Y2JpQWdMeThnWTNsamJHVWdkRzhnYzJsdGRXeGhkR1VnYUdsbmFHVnlJSEpsYzI5c2RYUnBiMjRnWTJ4dlkydGNibHh1SUNCMllYSWdibk5sWTNNZ1BTQnZjSFJwYjI1ekxtNXpaV056SUNFOVBTQjFibVJsWm1sdVpXUWdQeUJ2Y0hScGIyNXpMbTV6WldOeklEb2dYMnhoYzNST1UyVmpjeUFySURFN0lDOHZJRlJwYldVZ2MybHVZMlVnYkdGemRDQjFkV2xrSUdOeVpXRjBhVzl1SUNocGJpQnRjMlZqY3lsY2JseHVJQ0IyWVhJZ1pIUWdQU0J0YzJWamN5QXRJRjlzWVhOMFRWTmxZM01nS3lBb2JuTmxZM01nTFNCZmJHRnpkRTVUWldOektTQXZJREV3TURBd095QXZMeUJRWlhJZ05DNHlMakV1TWl3Z1FuVnRjQ0JqYkc5amEzTmxjU0J2YmlCamJHOWpheUJ5WldkeVpYTnphVzl1WEc1Y2JpQWdhV1lnS0dSMElEd2dNQ0FtSmlCdmNIUnBiMjV6TG1Oc2IyTnJjMlZ4SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQmpiRzlqYTNObGNTQTlJR05zYjJOcmMyVnhJQ3NnTVNBbUlEQjRNMlptWmp0Y2JpQWdmU0F2THlCU1pYTmxkQ0J1YzJWamN5QnBaaUJqYkc5amF5QnlaV2R5WlhOelpYTWdLRzVsZHlCamJHOWphM05sY1NrZ2IzSWdkMlVuZG1VZ2JXOTJaV1FnYjI1MGJ5QmhJRzVsZDF4dUlDQXZMeUIwYVcxbElHbHVkR1Z5ZG1Gc1hHNWNibHh1SUNCcFppQW9LR1IwSUR3Z01DQjhmQ0J0YzJWamN5QStJRjlzWVhOMFRWTmxZM01wSUNZbUlHOXdkR2x2Ym5NdWJuTmxZM01nUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lHNXpaV056SUQwZ01EdGNiaUFnZlNBdkx5QlFaWElnTkM0eUxqRXVNaUJVYUhKdmR5Qmxjbkp2Y2lCcFppQjBiMjhnYldGdWVTQjFkV2xrY3lCaGNtVWdjbVZ4ZFdWemRHVmtYRzVjYmx4dUlDQnBaaUFvYm5ObFkzTWdQajBnTVRBd01EQXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSjFkV2xrTG5ZeEtDazZJRU5oYmlkMElHTnlaV0YwWlNCdGIzSmxJSFJvWVc0Z01UQk5JSFYxYVdSekwzTmxZMXdpS1R0Y2JpQWdmVnh1WEc0Z0lGOXNZWE4wVFZObFkzTWdQU0J0YzJWamN6dGNiaUFnWDJ4aGMzUk9VMlZqY3lBOUlHNXpaV056TzF4dUlDQmZZMnh2WTJ0elpYRWdQU0JqYkc5amEzTmxjVHNnTHk4Z1VHVnlJRFF1TVM0MElDMGdRMjl1ZG1WeWRDQm1jbTl0SUhWdWFYZ2daWEJ2WTJnZ2RHOGdSM0psWjI5eWFXRnVJR1Z3YjJOb1hHNWNiaUFnYlhObFkzTWdLejBnTVRJeU1Ua3lPVEk0TURBd01EQTdJQzh2SUdCMGFXMWxYMnh2ZDJCY2JseHVJQ0IyWVhJZ2RHd2dQU0FvS0cxelpXTnpJQ1lnTUhobVptWm1abVptS1NBcUlERXdNREF3SUNzZ2JuTmxZM01wSUNVZ01IZ3hNREF3TURBd01EQTdYRzRnSUdKYmFTc3JYU0E5SUhSc0lENCtQaUF5TkNBbUlEQjRabVk3WEc0Z0lHSmJhU3NyWFNBOUlIUnNJRDQrUGlBeE5pQW1JREI0Wm1ZN1hHNGdJR0piYVNzclhTQTlJSFJzSUQ0K1BpQTRJQ1lnTUhobVpqdGNiaUFnWWx0cEt5dGRJRDBnZEd3Z0ppQXdlR1ptT3lBdkx5QmdkR2x0WlY5dGFXUmdYRzVjYmlBZ2RtRnlJSFJ0YUNBOUlHMXpaV056SUM4Z01IZ3hNREF3TURBd01EQWdLaUF4TURBd01DQW1JREI0Wm1abVptWm1aanRjYmlBZ1lsdHBLeXRkSUQwZ2RHMW9JRDQrUGlBNElDWWdNSGhtWmp0Y2JpQWdZbHRwS3l0ZElEMGdkRzFvSUNZZ01IaG1aanNnTHk4Z1lIUnBiV1ZmYUdsbmFGOWhibVJmZG1WeWMybHZibUJjYmx4dUlDQmlXMmtySzEwZ1BTQjBiV2dnUGo0K0lESTBJQ1lnTUhobUlId2dNSGd4TURzZ0x5OGdhVzVqYkhWa1pTQjJaWEp6YVc5dVhHNWNiaUFnWWx0cEt5dGRJRDBnZEcxb0lENCtQaUF4TmlBbUlEQjRabVk3SUM4dklHQmpiRzlqYTE5elpYRmZhR2xmWVc1a1gzSmxjMlZ5ZG1Wa1lDQW9VR1Z5SURRdU1pNHlJQzBnYVc1amJIVmtaU0IyWVhKcFlXNTBLVnh1WEc0Z0lHSmJhU3NyWFNBOUlHTnNiMk5yYzJWeElENCtQaUE0SUh3Z01IZzRNRHNnTHk4Z1lHTnNiMk5yWDNObGNWOXNiM2RnWEc1Y2JpQWdZbHRwS3l0ZElEMGdZMnh2WTJ0elpYRWdKaUF3ZUdabU95QXZMeUJnYm05a1pXQmNibHh1SUNCbWIzSWdLSFpoY2lCdUlEMGdNRHNnYmlBOElEWTdJQ3NyYmlrZ2UxeHVJQ0FnSUdKYmFTQXJJRzVkSUQwZ2JtOWtaVnR1WFR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCaWRXWWdQeUJpZFdZZ09pQmllWFJsYzFSdlZYVnBaQ2hpS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdkakU3SWl3aWFXMXdiM0owSUdKNWRHVnpWRzlWZFdsa0lHWnliMjBnSnk0dllubDBaWE5VYjFWMWFXUXVhbk1uTzF4dVhHNW1kVzVqZEdsdmJpQjFkV2xrVkc5Q2VYUmxjeWgxZFdsa0tTQjdYRzRnSUM4dklFNXZkR1U2SUZkbElHRnpjM1Z0WlNCM1pTZHlaU0JpWldsdVp5QndZWE56WldRZ1lTQjJZV3hwWkNCMWRXbGtJSE4wY21sdVoxeHVJQ0IyWVhJZ1lubDBaWE1nUFNCYlhUdGNiaUFnZFhWcFpDNXlaWEJzWVdObEtDOWJZUzFtUVMxR01DMDVYWHN5ZlM5bkxDQm1kVzVqZEdsdmJpQW9hR1Y0S1NCN1hHNGdJQ0FnWW5sMFpYTXVjSFZ6YUNod1lYSnpaVWx1ZENob1pYZ3NJREUyS1NrN1hHNGdJSDBwTzF4dUlDQnlaWFIxY200Z1lubDBaWE03WEc1OVhHNWNibVoxYm1OMGFXOXVJSE4wY21sdVoxUnZRbmwwWlhNb2MzUnlLU0I3WEc0Z0lITjBjaUE5SUhWdVpYTmpZWEJsS0dWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoemRISXBLVHNnTHk4Z1ZWUkdPQ0JsYzJOaGNHVmNibHh1SUNCMllYSWdZbmwwWlhNZ1BTQnVaWGNnUVhKeVlYa29jM1J5TG14bGJtZDBhQ2s3WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6ZEhJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQmllWFJsYzF0cFhTQTlJSE4wY2k1amFHRnlRMjlrWlVGMEtHa3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR0o1ZEdWek8xeHVmVnh1WEc1bGVIQnZjblFnWTI5dWMzUWdSRTVUSUQwZ0p6WmlZVGRpT0RFd0xUbGtZV1F0TVRGa01TMDRNR0kwTFRBd1l6QTBabVEwTXpCak9DYzdYRzVsZUhCdmNuUWdZMjl1YzNRZ1ZWSk1JRDBnSnpaaVlUZGlPREV4TFRsa1lXUXRNVEZrTVMwNE1HSTBMVEF3WXpBMFptUTBNekJqT0NjN1hHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCbWRXNWpkR2x2YmlBb2JtRnRaU3dnZG1WeWMybHZiaXdnYUdGemFHWjFibU1wSUh0Y2JpQWdkbUZ5SUdkbGJtVnlZWFJsVlZWSlJDQTlJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTd2dibUZ0WlhOd1lXTmxMQ0JpZFdZc0lHOW1abk5sZENrZ2UxeHVJQ0FnSUhaaGNpQnZabVlnUFNCaWRXWWdKaVlnYjJabWMyVjBJSHg4SURBN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCMllXeDFaU0E5UFNBbmMzUnlhVzVuSnlrZ2RtRnNkV1VnUFNCemRISnBibWRVYjBKNWRHVnpLSFpoYkhWbEtUdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNWhiV1Z6Y0dGalpTQTlQU0FuYzNSeWFXNW5KeWtnYm1GdFpYTndZV05sSUQwZ2RYVnBaRlJ2UW5sMFpYTW9ibUZ0WlhOd1lXTmxLVHRjYmlBZ0lDQnBaaUFvSVVGeWNtRjVMbWx6UVhKeVlYa29kbUZzZFdVcEtTQjBhSEp2ZHlCVWVYQmxSWEp5YjNJb0ozWmhiSFZsSUcxMWMzUWdZbVVnWVc0Z1lYSnlZWGtnYjJZZ1lubDBaWE1uS1R0Y2JpQWdJQ0JwWmlBb0lVRnljbUY1TG1selFYSnlZWGtvYm1GdFpYTndZV05sS1NCOGZDQnVZVzFsYzNCaFkyVXViR1Z1WjNSb0lDRTlQU0F4TmlrZ2RHaHliM2NnVkhsd1pVVnljbTl5S0NkdVlXMWxjM0JoWTJVZ2JYVnpkQ0JpWlNCMWRXbGtJSE4wY21sdVp5QnZjaUJoYmlCQmNuSmhlU0J2WmlBeE5pQmllWFJsSUhaaGJIVmxjeWNwT3lBdkx5QlFaWElnTkM0elhHNWNiaUFnSUNCMllYSWdZbmwwWlhNZ1BTQm9ZWE5vWm5WdVl5aHVZVzFsYzNCaFkyVXVZMjl1WTJGMEtIWmhiSFZsS1NrN1hHNGdJQ0FnWW5sMFpYTmJObDBnUFNCaWVYUmxjMXMyWFNBbUlEQjRNR1lnZkNCMlpYSnphVzl1TzF4dUlDQWdJR0o1ZEdWeld6aGRJRDBnWW5sMFpYTmJPRjBnSmlBd2VETm1JSHdnTUhnNE1EdGNibHh1SUNBZ0lHbG1JQ2hpZFdZcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHbGtlQ0E5SURBN0lHbGtlQ0E4SURFMk95QXJLMmxrZUNrZ2UxeHVJQ0FnSUNBZ0lDQmlkV1piYjJabUlDc2dhV1I0WFNBOUlHSjVkR1Z6VzJsa2VGMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdKMVppQjhmQ0JpZVhSbGMxUnZWWFZwWkNoaWVYUmxjeWs3WEc0Z0lIMDdJQzh2SUVaMWJtTjBhVzl1STI1aGJXVWdhWE1nYm05MElITmxkSFJoWW14bElHOXVJSE52YldVZ2NHeGhkR1p2Y20xeklDZ2pNamN3S1Z4dVhHNWNiaUFnZEhKNUlIdGNiaUFnSUNCblpXNWxjbUYwWlZWVlNVUXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTMwZ0x5OGdSbTl5SUVOdmJXMXZia3BUSUdSbFptRjFiSFFnWlhod2IzSjBJSE4xY0hCdmNuUmNibHh1WEc0Z0lHZGxibVZ5WVhSbFZWVkpSQzVFVGxNZ1BTQkVUbE03WEc0Z0lHZGxibVZ5WVhSbFZWVkpSQzVWVWt3Z1BTQlZVa3c3WEc0Z0lISmxkSFZ5YmlCblpXNWxjbUYwWlZWVlNVUTdYRzU5SWl3aWFXMXdiM0owSUhZek5TQm1jbTl0SUNjdUwzWXpOUzVxY3ljN1hHNXBiWEJ2Y25RZ2JXUTFJR1p5YjIwZ0p5NHZiV1ExTG1wekp6dGNibU52Ym5OMElIWXpJRDBnZGpNMUtDZDJNeWNzSURCNE16QXNJRzFrTlNrN1hHNWxlSEJ2Y25RZ1pHVm1ZWFZzZENCMk16c2lMQ0pwYlhCdmNuUWdZM0o1Y0hSdklHWnliMjBnSjJOeWVYQjBieWM3WEc1Y2JtWjFibU4wYVc5dUlHMWtOU2hpZVhSbGN5a2dlMXh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoaWVYUmxjeWtwSUh0Y2JpQWdJQ0JpZVhSbGN5QTlJRUoxWm1abGNpNW1jbTl0S0dKNWRHVnpLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ1lubDBaWE1nUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1lubDBaWE1nUFNCQ2RXWm1aWEl1Wm5KdmJTaGllWFJsY3l3Z0ozVjBaamduS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCamNubHdkRzh1WTNKbFlYUmxTR0Z6YUNnbmJXUTFKeWt1ZFhCa1lYUmxLR0o1ZEdWektTNWthV2RsYzNRb0tUdGNibjFjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnYldRMU95SXNJbWx0Y0c5eWRDQnlibWNnWm5KdmJTQW5MaTl5Ym1jdWFuTW5PMXh1YVcxd2IzSjBJR0o1ZEdWelZHOVZkV2xrSUdaeWIyMGdKeTR2WW5sMFpYTlViMVYxYVdRdWFuTW5PMXh1WEc1bWRXNWpkR2x2YmlCMk5DaHZjSFJwYjI1ekxDQmlkV1lzSUc5bVpuTmxkQ2tnZTF4dUlDQjJZWElnYVNBOUlHSjFaaUFtSmlCdlptWnpaWFFnZkh3Z01EdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NZ1BUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQmlkV1lnUFNCdmNIUnBiMjV6SUQwOVBTQW5ZbWx1WVhKNUp5QS9JRzVsZHlCQmNuSmhlU2d4TmlrZ09pQnVkV3hzTzF4dUlDQWdJRzl3ZEdsdmJuTWdQU0J1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdiM0IwYVc5dWN5QTlJRzl3ZEdsdmJuTWdmSHdnZTMwN1hHNGdJSFpoY2lCeWJtUnpJRDBnYjNCMGFXOXVjeTV5WVc1a2IyMGdmSHdnS0c5d2RHbHZibk11Y201bklIeDhJSEp1Wnlrb0tUc2dMeThnVUdWeUlEUXVOQ3dnYzJWMElHSnBkSE1nWm05eUlIWmxjbk5wYjI0Z1lXNWtJR0JqYkc5amExOXpaWEZmYUdsZllXNWtYM0psYzJWeWRtVmtZRnh1WEc0Z0lISnVaSE5iTmwwZ1BTQnlibVJ6V3paZElDWWdNSGd3WmlCOElEQjROREE3WEc0Z0lISnVaSE5iT0YwZ1BTQnlibVJ6V3poZElDWWdNSGd6WmlCOElEQjRPREE3SUM4dklFTnZjSGtnWW5sMFpYTWdkRzhnWW5WbVptVnlMQ0JwWmlCd2NtOTJhV1JsWkZ4dVhHNGdJR2xtSUNoaWRXWXBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBhU0E5SURBN0lHbHBJRHdnTVRZN0lDc3JhV2twSUh0Y2JpQWdJQ0FnSUdKMVpsdHBJQ3NnYVdsZElEMGdjbTVrYzF0cGFWMDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHSjFaaUI4ZkNCaWVYUmxjMVJ2VlhWcFpDaHlibVJ6S1R0Y2JuMWNibHh1Wlhod2IzSjBJR1JsWm1GMWJIUWdkalE3SWl3aWFXMXdiM0owSUhZek5TQm1jbTl0SUNjdUwzWXpOUzVxY3ljN1hHNXBiWEJ2Y25RZ2MyaGhNU0JtY205dElDY3VMM05vWVRFdWFuTW5PMXh1WTI5dWMzUWdkalVnUFNCMk16VW9KM1kxSnl3Z01IZzFNQ3dnYzJoaE1TazdYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQjJOVHNpTENKcGJYQnZjblFnWTNKNWNIUnZJR1p5YjIwZ0oyTnllWEIwYnljN1hHNWNibVoxYm1OMGFXOXVJSE5vWVRFb1lubDBaWE1wSUh0Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29ZbmwwWlhNcEtTQjdYRzRnSUNBZ1lubDBaWE1nUFNCQ2RXWm1aWEl1Wm5KdmJTaGllWFJsY3lrN1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR0o1ZEdWeklEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJR0o1ZEdWeklEMGdRblZtWm1WeUxtWnliMjBvWW5sMFpYTXNJQ2QxZEdZNEp5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdZM0o1Y0hSdkxtTnlaV0YwWlVoaGMyZ29KM05vWVRFbktTNTFjR1JoZEdVb1lubDBaWE1wTG1ScFoyVnpkQ2dwTzF4dWZWeHVYRzVsZUhCdmNuUWdaR1ZtWVhWc2RDQnphR0V4T3lKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2NvbnN0YW50cy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxyXFxuZXhwb3J0cy5lcHNpbG9uID0gMC4wMDAwMTtcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudHMuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2WTI5dWMzUmhiblJ6TG1welAyWXlORGdpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVdFN1FVRkRZaXc0UTBGQk9FTXNZMEZCWXp0QlFVTTFSRHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDBCMGJHRjFhMnRoYmk5MGMyMHZaR2x6ZEM5amIyNXpkR0Z1ZEhNdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKY0luVnpaU0J6ZEhKcFkzUmNJanRjY2x4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHlYRzVsZUhCdmNuUnpMbVZ3YzJsc2IyNGdQU0F3TGpBd01EQXhPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMWpiMjV6ZEdGdWRITXVhbk11YldGd0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2NvbnN0YW50cy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxyXFxudmFyIG1hdDJfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbWF0MiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDIuanNcXFwiKTtcXHJcXG5leHBvcnRzLm1hdDIgPSBtYXQyXzEuZGVmYXVsdDtcXHJcXG52YXIgbWF0M18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9tYXQzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0My5qc1xcXCIpO1xcclxcbmV4cG9ydHMubWF0MyA9IG1hdDNfMS5kZWZhdWx0O1xcclxcbnZhciBtYXQ0XzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQ0LmpzXFxcIik7XFxyXFxuZXhwb3J0cy5tYXQ0ID0gbWF0NF8xLmRlZmF1bHQ7XFxyXFxudmFyIHF1YXRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcXVhdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3F1YXQuanNcXFwiKTtcXHJcXG5leHBvcnRzLnF1YXQgPSBxdWF0XzEuZGVmYXVsdDtcXHJcXG52YXIgdmVjMl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1xcXCIpO1xcclxcbmV4cG9ydHMudmVjMiA9IHZlYzJfMS5kZWZhdWx0O1xcclxcbnZhciB2ZWMzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlYzMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxcIik7XFxyXFxuZXhwb3J0cy52ZWMzID0gdmVjM18xLmRlZmF1bHQ7XFxyXFxudmFyIHZlYzRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdmVjNCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzQuanNcXFwiKTtcXHJcXG5leHBvcnRzLnZlYzQgPSB2ZWM0XzEuZGVmYXVsdDtcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OUFkR3hoZFd0cllXNHZkSE50TDJScGMzUXZhVzVrWlhndWFuTS9Oekl4WmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUdEJRVU5pTERoRFFVRTRReXhqUVVGak8wRkJRelZFTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWp0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVVR0QlFVTTNRanRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVNM1FqdEJRVU5CTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWp0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVVR0QlFVTTNRanRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVNM1FqdEJRVU5CTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWp0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWx3aWRYTmxJSE4wY21samRGd2lPMXh5WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aWGh3YjNKMGN5d2dYQ0pmWDJWelRXOWtkV3hsWENJc0lIc2dkbUZzZFdVNklIUnlkV1VnZlNrN1hISmNiblpoY2lCdFlYUXlYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOXRZWFF5WENJcE8xeHlYRzVsZUhCdmNuUnpMbTFoZERJZ1BTQnRZWFF5WHpFdVpHVm1ZWFZzZER0Y2NseHVkbUZ5SUcxaGRETmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyMWhkRE5jSWlrN1hISmNibVY0Y0c5eWRITXViV0YwTXlBOUlHMWhkRE5mTVM1a1pXWmhkV3gwTzF4eVhHNTJZWElnYldGME5GOHhJRDBnY21WeGRXbHlaU2hjSWk0dmJXRjBORndpS1R0Y2NseHVaWGh3YjNKMGN5NXRZWFEwSUQwZ2JXRjBORjh4TG1SbFptRjFiSFE3WEhKY2JuWmhjaUJ4ZFdGMFh6RWdQU0J5WlhGMWFYSmxLRndpTGk5eGRXRjBYQ0lwTzF4eVhHNWxlSEJ2Y25SekxuRjFZWFFnUFNCeGRXRjBYekV1WkdWbVlYVnNkRHRjY2x4dWRtRnlJSFpsWXpKZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDNabFl6SmNJaWs3WEhKY2JtVjRjRzl5ZEhNdWRtVmpNaUE5SUhabFl6SmZNUzVrWldaaGRXeDBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dVpYaHdiM0owY3k1MlpXTXpJRDBnZG1Wak0xOHhMbVJsWm1GMWJIUTdYSEpjYm5aaGNpQjJaV00wWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTkyWldNMFhDSXBPMXh5WEc1bGVIQnZjblJ6TG5abFl6UWdQU0IyWldNMFh6RXVaR1ZtWVhWc2REdGNjbHh1THk4aklITnZkWEpqWlUxaGNIQnBibWRWVWt3OWFXNWtaWGd1YW5NdWJXRndJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxyXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFxcXCJfX2VzTW9kdWxlXFxcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcXHJcXG52YXIgdmVjMl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1xcXCIpO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIG1hdDIgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIG1hdDIodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoNCk7XFxyXFxuICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmluaXQodmFsdWVzKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBtYXQyLnByb3RvdHlwZS5hdCA9IGZ1bmN0aW9uIChpbmRleCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW2luZGV4XTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSB2YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2ldID0gMDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IG1hdDIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgZGVzdC52YWx1ZXNbaV0gPSB0aGlzLnZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5hbGwgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgZGF0YSA9IFtdO1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICBkYXRhW2ldID0gdGhpcy52YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZGF0YTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUucm93ID0gZnVuY3Rpb24gKGluZGV4KSB7XFxyXFxuICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICogMiArIDBdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICogMiArIDFdLFxcclxcbiAgICAgICAgXTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuY29sID0gZnVuY3Rpb24gKGluZGV4KSB7XFxyXFxuICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4XSxcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpbmRleCArIDJdLFxcclxcbiAgICAgICAgXTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuZXF1YWxzID0gZnVuY3Rpb24gKG1hdHJpeCwgdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICBpZiAodGhyZXNob2xkID09PSB2b2lkIDApIHsgdGhyZXNob2xkID0gY29uc3RhbnRzXzEuZXBzaWxvbjsgfVxcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICBpZiAoTWF0aC5hYnModGhpcy52YWx1ZXNbaV0gLSBtYXRyaXguYXQoaSkpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUuZGV0ZXJtaW5hbnQgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXNbMF0gKiB0aGlzLnZhbHVlc1szXSAtIHRoaXMudmFsdWVzWzJdICogdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvdG90eXBlLnNldElkZW50aXR5ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSAxO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvdG90eXBlLnRyYW5zcG9zZSA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB0ZW1wID0gdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB0ZW1wO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvdG90eXBlLmludmVyc2UgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgZGV0ID0gdGhpcy5kZXRlcm1pbmFudCgpO1xcclxcbiAgICAgICAgaWYgKCFkZXQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRldCA9IDEuMCAvIGRldDtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzBdID0gZGV0ICogKHRoaXMudmFsdWVzWzNdKTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gZGV0ICogKC10aGlzLnZhbHVlc1sxXSk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IGRldCAqICgtdGhpcy52YWx1ZXNbMl0pO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBkZXQgKiBhMTE7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAobWF0cml4KSB7XFxyXFxuICAgICAgICB2YXIgYTExID0gdGhpcy52YWx1ZXNbMF07XFxyXFxuICAgICAgICB2YXIgYTEyID0gdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgICAgICB2YXIgYTIxID0gdGhpcy52YWx1ZXNbMl07XFxyXFxuICAgICAgICB2YXIgYTIyID0gdGhpcy52YWx1ZXNbM107XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IGExMSAqIG1hdHJpeC5hdCgwKSArIGExMiAqIG1hdHJpeC5hdCgyKTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gYTExICogbWF0cml4LmF0KDEpICsgYTEyICogbWF0cml4LmF0KDMpO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSBhMjEgKiBtYXRyaXguYXQoMCkgKyBhMjIgKiBtYXRyaXguYXQoMik7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IGEyMSAqIG1hdHJpeC5hdCgxKSArIGEyMiAqIG1hdHJpeC5hdCgzKTtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5yb3RhdGUgPSBmdW5jdGlvbiAoYW5nbGUpIHtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBzaW4gPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICB2YXIgY29zID0gTWF0aC5jb3MoYW5nbGUpO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBhMTEgKiBjb3MgKyBhMTIgKiBzaW47XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IGExMSAqIC1zaW4gKyBhMTIgKiBjb3M7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IGEyMSAqIGNvcyArIGEyMiAqIHNpbjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzNdID0gYTIxICogLXNpbiArIGEyMiAqIGNvcztcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5tdWx0aXBseVZlYzIgPSBmdW5jdGlvbiAodmVjdG9yLCByZXN1bHQpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIHJlc3VsdC54eSA9IFtcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzBdICsgeSAqIHRoaXMudmFsdWVzWzFdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMl0gKyB5ICogdGhpcy52YWx1ZXNbM10sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyB2ZWMyXzEuZGVmYXVsdChbXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1swXSArIHkgKiB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzJdICsgeSAqIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQyLnByb3RvdHlwZS5zY2FsZSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBhMTEgKiB4O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSBhMTIgKiB5O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSBhMjEgKiB4O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBhMjIgKiB5O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDIucHJvZHVjdCA9IGZ1bmN0aW9uIChtMSwgbTIsIHJlc3VsdCkge1xcclxcbiAgICAgICAgdmFyIGExMSA9IG0xLmF0KDApO1xcclxcbiAgICAgICAgdmFyIGExMiA9IG0xLmF0KDEpO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IG0xLmF0KDIpO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IG0xLmF0KDMpO1xcclxcbiAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIHJlc3VsdC5pbml0KFtcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMCkgKyBhMTIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMSkgKyBhMTIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMCkgKyBhMjIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMSkgKyBhMjIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBtYXQyKFtcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMCkgKyBhMTIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTExICogbTIuYXQoMSkgKyBhMTIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMCkgKyBhMjIgKiBtMi5hdCgyKSxcXHJcXG4gICAgICAgICAgICAgICAgYTIxICogbTIuYXQoMSkgKyBhMjIgKiBtMi5hdCgzKSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0Mi5pZGVudGl0eSA9IG5ldyBtYXQyKCkuc2V0SWRlbnRpdHkoKTtcXHJcXG4gICAgcmV0dXJuIG1hdDI7XFxyXFxufSgpKTtcXHJcXG5leHBvcnRzLmRlZmF1bHQgPSBtYXQyO1xcclxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hdDIuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2YldGME1pNXFjejltTldZNElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPMEZCUTJJc09FTkJRVGhETEdOQlFXTTdRVUZETlVRc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExHMUZRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVTkJRVzFETEdsRFFVRnBRenRCUVVOd1JTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmJXRjBNaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbHdpZFhObElITjBjbWxqZEZ3aU8xeHlYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1pYaHdiM0owY3l3Z1hDSmZYMlZ6VFc5a2RXeGxYQ0lzSUhzZ2RtRnNkV1U2SUhSeWRXVWdmU2s3WEhKY2JuWmhjaUIyWldNeVh6RWdQU0J5WlhGMWFYSmxLRndpTGk5MlpXTXlYQ0lwTzF4eVhHNTJZWElnWTI5dWMzUmhiblJ6WHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTlqYjI1emRHRnVkSE5jSWlrN1hISmNiblpoY2lCdFlYUXlJRDBnTHlvcUlFQmpiR0Z6Y3lBcUx5QW9ablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnYldGME1paDJZV3gxWlhNcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsY3lBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb05DazdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsY3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWFXNXBkQ2gyWVd4MVpYTXBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgxY2NseHVJQ0FnSUcxaGRESXVjSEp2ZEc5MGVYQmxMbUYwSUQwZ1puVnVZM1JwYjI0Z0tHbHVaR1Y0S1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNFhUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1cGJtbDBJRDBnWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dORHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmxkSUQwZ2RtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1eVpYTmxkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURRN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cFhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1OdmNIa2dQU0JtZFc1amRHbHZiaUFvWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lHMWhkRElvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBME95QnBLeXNwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTJZV3gxWlhOYmFWMGdQU0IwYUdsekxuWmhiSFZsYzF0cFhUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTWk1d2NtOTBiM1I1Y0dVdVlXeHNJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1lYUmhJRDBnVzEwN1hISmNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0EwT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVZ0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1eWIzY2dQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURJZ0t5QXdYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUF5SUNzZ01WMHNYSEpjYmlBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjNSdmRIbHdaUzVqYjJ3Z1BTQm1kVzVqZEdsdmJpQW9hVzVrWlhncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dNbDBzWEhKY2JpQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1bGNYVmhiSE1nUFNCbWRXNWpkR2x2YmlBb2JXRjBjbWw0TENCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEMDlQU0IyYjJsa0lEQXBJSHNnZEdoeVpYTm9iMnhrSUQwZ1kyOXVjM1JoYm5Selh6RXVaWEJ6YVd4dmJqc2dmVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5aaGJIVmxjMXRwWFNBdElHMWhkSEpwZUM1aGRDaHBLU2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjNSdmRIbHdaUzVrWlhSbGNtMXBibUZ1ZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1GMGdLaUIwYUdsekxuWmhiSFZsYzFzelhTQXRJSFJvYVhNdWRtRnNkV1Z6V3pKZElDb2dkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNaTV3Y205MGIzUjVjR1V1YzJWMFNXUmxiblJwZEhrZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNBeE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTTEwZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG5SeVlXNXpjRzl6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0NBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RHaHBjeTUyWVd4MVpYTmJNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBnUFNCMFpXMXdPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkREl1Y0hKdmRHOTBlWEJsTG1sdWRtVnljMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkQ0E5SUhSb2FYTXVaR1YwWlhKdGFXNWhiblFvS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1YwSUQwZ01TNHdJQzhnWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1URWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR1JsZENBcUlDaDBhR2x6TG5aaGJIVmxjMXN6WFNrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQmtaWFFnS2lBb0xYUm9hWE11ZG1Gc2RXVnpXekZkS1R0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlHUmxkQ0FxSUNndGRHaHBjeTUyWVd4MVpYTmJNbDBwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ1pHVjBJQ29nWVRFeE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRESXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRFZ1BTQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeUlEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR0V4TVNBcUlHMWhkSEpwZUM1aGRDZ3dLU0FySUdFeE1pQXFJRzFoZEhKcGVDNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlHRXhNU0FxSUcxaGRISnBlQzVoZENneEtTQXJJR0V4TWlBcUlHMWhkSEpwZUM1aGRDZ3pLVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUdFeU1TQXFJRzFoZEhKcGVDNWhkQ2d3S1NBcklHRXlNaUFxSUcxaGRISnBlQzVoZENneUtUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V5TVNBcUlHMWhkSEpwZUM1aGRDZ3hLU0FySUdFeU1pQXFJRzFoZEhKcGVDNWhkQ2d6S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhReUxuQnliM1J2ZEhsd1pTNXliM1JoZEdVZ1BTQm1kVzVqZEdsdmJpQW9ZVzVuYkdVcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXhJRDBnZEdocGN5NTJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNaUE5SUhSb2FYTXVkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl5SUQwZ2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSE5wYmlBOUlFMWhkR2d1YzJsdUtHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWTI5eklEMGdUV0YwYUM1amIzTW9ZVzVuYkdVcE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZElEMGdZVEV4SUNvZ1kyOXpJQ3NnWVRFeUlDb2djMmx1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ1lURXhJQ29nTFhOcGJpQXJJR0V4TWlBcUlHTnZjenRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUdFeU1TQXFJR052Y3lBcklHRXlNaUFxSUhOcGJqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V5TVNBcUlDMXphVzRnS3lCaE1qSWdLaUJqYjNNN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME1pNXdjbTkwYjNSNWNHVXViWFZzZEdsd2JIbFdaV015SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2NtVnpkV3gwS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJSFpsWTNSdmNpNTVPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4xYkhRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5oNUlEMGdXMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZUNBcUlIUm9hWE11ZG1Gc2RXVnpXekJkSUNzZ2VTQXFJSFJvYVhNdWRtRnNkV1Z6V3pGZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdlQ0FxSUhSb2FYTXVkbUZzZFdWeld6SmRJQ3NnZVNBcUlIUm9hWE11ZG1Gc2RXVnpXek5kTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUIyWldNeVh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I0SUNvZ2RHaHBjeTUyWVd4MVpYTmJNRjBnS3lCNUlDb2dkR2hwY3k1MllXeDFaWE5iTVYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjRJQ29nZEdocGN5NTJZV3gxWlhOYk1sMGdLeUI1SUNvZ2RHaHBjeTUyWVd4MVpYTmJNMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF5TG5CeWIzUnZkSGx3WlM1elkyRnNaU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qRWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXlJRDBnZEdocGN5NTJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ1lURXhJQ29nZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlHRXhNaUFxSUhrN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ1BTQmhNakVnS2lCNE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pOZElEMGdZVEl5SUNvZ2VUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXlMbkJ5YjJSMVkzUWdQU0JtZFc1amRHbHZiaUFvYlRFc0lHMHlMQ0J5WlhOMWJIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2JURXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJRzB4TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakVnUFNCdE1TNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeUlEMGdiVEV1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjM1ZzZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1YVc1cGRDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoTVRFZ0tpQnRNaTVoZENnd0tTQXJJR0V4TWlBcUlHMHlMbUYwS0RJcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZVEV4SUNvZ2JUSXVZWFFvTVNrZ0t5QmhNVElnS2lCdE1pNWhkQ2d6S1N4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHRXlNU0FxSUcweUxtRjBLREFwSUNzZ1lUSXlJQ29nYlRJdVlYUW9NaWtzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaE1qRWdLaUJ0TWk1aGRDZ3hLU0FySUdFeU1pQXFJRzB5TG1GMEtETXBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWld4elpTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2diV0YwTWloYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmhNVEVnS2lCdE1pNWhkQ2d3S1NBcklHRXhNaUFxSUcweUxtRjBLRElwTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lURXhJQ29nYlRJdVlYUW9NU2tnS3lCaE1USWdLaUJ0TWk1aGRDZ3pLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdFeU1TQXFJRzB5TG1GMEtEQXBJQ3NnWVRJeUlDb2diVEl1WVhRb01pa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JoTWpFZ0tpQnRNaTVoZENneEtTQXJJR0V5TWlBcUlHMHlMbUYwS0RNcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME1pNXBaR1Z1ZEdsMGVTQTlJRzVsZHlCdFlYUXlLQ2t1YzJWMFNXUmxiblJwZEhrb0tUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdFlYUXlPMXh5WEc1OUtDa3BPMXh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCdFlYUXlPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMXRZWFF5TG1wekxtMWhjQ0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0My5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0My5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBtYXQ0XzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQ0LmpzXFxcIik7XFxyXFxudmFyIHF1YXRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcXVhdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3F1YXQuanNcXFwiKTtcXHJcXG52YXIgdmVjMl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1xcXCIpO1xcclxcbnZhciB2ZWMzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlYzMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxcIik7XFxyXFxudmFyIGNvbnN0YW50c18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb25zdGFudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9jb25zdGFudHMuanNcXFwiKTtcXHJcXG52YXIgbWF0MyA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgZnVuY3Rpb24gbWF0Myh2YWx1ZXMpIHtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzID0gbmV3IEZsb2F0MzJBcnJheSg5KTtcXHJcXG4gICAgICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCkge1xcclxcbiAgICAgICAgICAgIHRoaXMuaW5pdCh2YWx1ZXMpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmF0ID0gZnVuY3Rpb24gKGluZGV4KSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXNbaW5kZXhdO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKHZhbHVlcykge1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA5OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSA9IHZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgOTsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaV0gPSAwO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgbWF0MygpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA5OyBpKyspIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnZhbHVlc1tpXSA9IHRoaXMudmFsdWVzW2ldO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmFsbCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBkYXRhID0gW107XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDk7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRhdGFbaV0gPSB0aGlzLnZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBkYXRhO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5yb3cgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiAzICsgMF0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiAzICsgMV0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiAzICsgMl0sXFxyXFxuICAgICAgICBdO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5jb2wgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXhdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICsgM10sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKyA2XSxcXHJcXG4gICAgICAgIF07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uIChtYXRyaXgsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgOTsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMudmFsdWVzW2ldIC0gbWF0cml4LmF0KGkpKSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHRydWU7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLmRldGVybWluYW50ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGRldDAxID0gYTIyICogYTExIC0gYTEyICogYTIxO1xcclxcbiAgICAgICAgdmFyIGRldDExID0gLWEyMiAqIGExMCArIGExMiAqIGEyMDtcXHJcXG4gICAgICAgIHZhciBkZXQyMSA9IGEyMSAqIGExMCAtIGExMSAqIGEyMDtcXHJcXG4gICAgICAgIHJldHVybiBhMDAgKiBkZXQwMSArIGEwMSAqIGRldDExICsgYTAyICogZGV0MjE7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnNldElkZW50aXR5ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbN10gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOF0gPSAxO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnRyYW5zcG9zZSA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB0ZW1wMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciB0ZW1wMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciB0ZW1wMTIgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gdGhpcy52YWx1ZXNbM107XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB0ZW1wMDE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s1XSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSB0ZW1wMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IHRlbXAxMjtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLnByb3RvdHlwZS5pbnZlcnNlID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGRldDAxID0gYTIyICogYTExIC0gYTEyICogYTIxO1xcclxcbiAgICAgICAgdmFyIGRldDExID0gLWEyMiAqIGExMCArIGExMiAqIGEyMDtcXHJcXG4gICAgICAgIHZhciBkZXQyMSA9IGEyMSAqIGExMCAtIGExMSAqIGEyMDtcXHJcXG4gICAgICAgIHZhciBkZXQgPSBhMDAgKiBkZXQwMSArIGEwMSAqIGRldDExICsgYTAyICogZGV0MjE7XFxyXFxuICAgICAgICBpZiAoIWRldCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGV0ID0gMS4wIC8gZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBkZXQwMSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gKC1hMjIgKiBhMDEgKyBhMDIgKiBhMjEpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSAoYTEyICogYTAxIC0gYTAyICogYTExKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzNdID0gZGV0MTEgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IChhMjIgKiBhMDAgLSBhMDIgKiBhMjApICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSAoLWExMiAqIGEwMCArIGEwMiAqIGExMCkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9IGRldDIxICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbN10gPSAoLWEyMSAqIGEwMCArIGEwMSAqIGEyMCkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s4XSA9IChhMTEgKiBhMDAgLSBhMDEgKiBhMTApICogZGV0O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLm11bHRpcGx5ID0gZnVuY3Rpb24gKG1hdHJpeCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGIwMCA9IG1hdHJpeC5hdCgwKTtcXHJcXG4gICAgICAgIHZhciBiMDEgPSBtYXRyaXguYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYjAyID0gbWF0cml4LmF0KDIpO1xcclxcbiAgICAgICAgdmFyIGIxMCA9IG1hdHJpeC5hdCgzKTtcXHJcXG4gICAgICAgIHZhciBiMTEgPSBtYXRyaXguYXQoNCk7XFxyXFxuICAgICAgICB2YXIgYjEyID0gbWF0cml4LmF0KDUpO1xcclxcbiAgICAgICAgdmFyIGIyMCA9IG1hdHJpeC5hdCg2KTtcXHJcXG4gICAgICAgIHZhciBiMjEgPSBtYXRyaXguYXQoNyk7XFxyXFxuICAgICAgICB2YXIgYjIyID0gbWF0cml4LmF0KDgpO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBiMDAgKiBhMDAgKyBiMDEgKiBhMTAgKyBiMDIgKiBhMjA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IGIwMCAqIGEwMSArIGIwMSAqIGExMSArIGIwMiAqIGEyMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzJdID0gYjAwICogYTAyICsgYjAxICogYTEyICsgYjAyICogYTIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzVdID0gYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLm11bHRpcGx5VmVjMiA9IGZ1bmN0aW9uICh2ZWN0b3IsIHJlc3VsdCkge1xcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICBpZiAocmVzdWx0KSB7XFxyXFxuICAgICAgICAgICAgcmVzdWx0Lnh5ID0gW1xcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMF0gKyB5ICogdGhpcy52YWx1ZXNbM10gKyB0aGlzLnZhbHVlc1s2XSxcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzFdICsgeSAqIHRoaXMudmFsdWVzWzRdICsgdGhpcy52YWx1ZXNbN10sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyB2ZWMyXzEuZGVmYXVsdChbXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1swXSArIHkgKiB0aGlzLnZhbHVlc1szXSArIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMV0gKyB5ICogdGhpcy52YWx1ZXNbNF0gKyB0aGlzLnZhbHVlc1s3XSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0My5wcm90b3R5cGUubXVsdGlwbHlWZWMzID0gZnVuY3Rpb24gKHZlY3RvciwgcmVzdWx0KSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3Rvci54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yLno7XFxyXFxuICAgICAgICBpZiAocmVzdWx0KSB7XFxyXFxuICAgICAgICAgICAgcmVzdWx0Lnh5eiA9IFtcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzBdICsgeSAqIHRoaXMudmFsdWVzWzNdICsgeiAqIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMV0gKyB5ICogdGhpcy52YWx1ZXNbNF0gKyB6ICogdGhpcy52YWx1ZXNbN10sXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1syXSArIHkgKiB0aGlzLnZhbHVlc1s1XSArIHogKiB0aGlzLnZhbHVlc1s4XSxcXHJcXG4gICAgICAgICAgICBdO1xcclxcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbmV3IHZlYzNfMS5kZWZhdWx0KFtcXHJcXG4gICAgICAgICAgICAgICAgeCAqIHRoaXMudmFsdWVzWzBdICsgeSAqIHRoaXMudmFsdWVzWzNdICsgeiAqIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB4ICogdGhpcy52YWx1ZXNbMV0gKyB5ICogdGhpcy52YWx1ZXNbNF0gKyB6ICogdGhpcy52YWx1ZXNbN10sXFxyXFxuICAgICAgICAgICAgICAgIHggKiB0aGlzLnZhbHVlc1syXSArIHkgKiB0aGlzLnZhbHVlc1s1XSArIHogKiB0aGlzLnZhbHVlc1s4XSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0My5wcm90b3R5cGUudG9NYXQ0ID0gZnVuY3Rpb24gKHJlc3VsdCkge1xcclxcbiAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIHJlc3VsdC5pbml0KFtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1syXSxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzRdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s1XSxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbNl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzddLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s4XSxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAgICAgMSxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBtYXQ0XzEuZGVmYXVsdChbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s0XSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbNV0sXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1s3XSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbOF0sXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgICAgIDEsXFxyXFxuICAgICAgICAgICAgXSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnRvUXVhdCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBtMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBtMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBtMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBtMTAgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBtMTEgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBtMTIgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBtMjAgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBtMjEgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBtMjIgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBmb3VyWFNxdWFyZWRNaW51czEgPSBtMDAgLSBtMTEgLSBtMjI7XFxyXFxuICAgICAgICB2YXIgZm91cllTcXVhcmVkTWludXMxID0gbTExIC0gbTAwIC0gbTIyO1xcclxcbiAgICAgICAgdmFyIGZvdXJaU3F1YXJlZE1pbnVzMSA9IG0yMiAtIG0wMCAtIG0xMTtcXHJcXG4gICAgICAgIHZhciBmb3VyV1NxdWFyZWRNaW51czEgPSBtMDAgKyBtMTEgKyBtMjI7XFxyXFxuICAgICAgICB2YXIgYmlnZ2VzdEluZGV4ID0gMDtcXHJcXG4gICAgICAgIHZhciBmb3VyQmlnZ2VzdFNxdWFyZWRNaW51czEgPSBmb3VyV1NxdWFyZWRNaW51czE7XFxyXFxuICAgICAgICBpZiAoZm91clhTcXVhcmVkTWludXMxID4gZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxKSB7XFxyXFxuICAgICAgICAgICAgZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxID0gZm91clhTcXVhcmVkTWludXMxO1xcclxcbiAgICAgICAgICAgIGJpZ2dlc3RJbmRleCA9IDE7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoZm91cllTcXVhcmVkTWludXMxID4gZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxKSB7XFxyXFxuICAgICAgICAgICAgZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxID0gZm91cllTcXVhcmVkTWludXMxO1xcclxcbiAgICAgICAgICAgIGJpZ2dlc3RJbmRleCA9IDI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoZm91clpTcXVhcmVkTWludXMxID4gZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxKSB7XFxyXFxuICAgICAgICAgICAgZm91ckJpZ2dlc3RTcXVhcmVkTWludXMxID0gZm91clpTcXVhcmVkTWludXMxO1xcclxcbiAgICAgICAgICAgIGJpZ2dlc3RJbmRleCA9IDM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgYmlnZ2VzdFZhbCA9IE1hdGguc3FydChmb3VyQmlnZ2VzdFNxdWFyZWRNaW51czEgKyAxKSAqIDAuNTtcXHJcXG4gICAgICAgIHZhciBtdWx0ID0gMC4yNSAvIGJpZ2dlc3RWYWw7XFxyXFxuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IHF1YXRfMS5kZWZhdWx0KCk7XFxyXFxuICAgICAgICBzd2l0Y2ggKGJpZ2dlc3RJbmRleCkge1xcclxcbiAgICAgICAgICAgIGNhc2UgMDpcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LncgPSBiaWdnZXN0VmFsO1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueCA9IChtMTIgLSBtMjEpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnkgPSAobTIwIC0gbTAyKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC56ID0gKG0wMSAtIG0xMCkgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIDE6XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC53ID0gKG0xMiAtIG0yMSkgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueCA9IGJpZ2dlc3RWYWw7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC55ID0gKG0wMSArIG0xMCkgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueiA9IChtMjAgKyBtMDIpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSAyOlxcclxcbiAgICAgICAgICAgICAgICByZXN1bHQudyA9IChtMjAgLSBtMDIpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnggPSAobTAxICsgbTEwKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC55ID0gYmlnZ2VzdFZhbDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnogPSAobTEyICsgbTIxKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgMzpcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LncgPSAobTAxIC0gbTEwKSAqIG11bHQ7XFxyXFxuICAgICAgICAgICAgICAgIHJlc3VsdC54ID0gKG0yMCArIG0wMikgKiBtdWx0O1xcclxcbiAgICAgICAgICAgICAgICByZXN1bHQueSA9IChtMTIgKyBtMjEpICogbXVsdDtcXHJcXG4gICAgICAgICAgICAgICAgcmVzdWx0LnogPSBiaWdnZXN0VmFsO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDMucHJvdG90eXBlLnJvdGF0ZSA9IGZ1bmN0aW9uIChhbmdsZSwgYXhpcykge1xcclxcbiAgICAgICAgdmFyIHggPSBheGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IGF4aXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gYXhpcy56O1xcclxcbiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5ICsgeiAqIHopO1xcclxcbiAgICAgICAgaWYgKCFsZW5ndGgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggIT09IDEpIHtcXHJcXG4gICAgICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHggKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHkgKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHogKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHMgPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICB2YXIgYyA9IE1hdGguY29zKGFuZ2xlKTtcXHJcXG4gICAgICAgIHZhciB0ID0gMS4wIC0gYztcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYjAwID0geCAqIHggKiB0ICsgYztcXHJcXG4gICAgICAgIHZhciBiMDEgPSB5ICogeCAqIHQgKyB6ICogcztcXHJcXG4gICAgICAgIHZhciBiMDIgPSB6ICogeCAqIHQgLSB5ICogcztcXHJcXG4gICAgICAgIHZhciBiMTAgPSB4ICogeSAqIHQgLSB6ICogcztcXHJcXG4gICAgICAgIHZhciBiMTEgPSB5ICogeSAqIHQgKyBjO1xcclxcbiAgICAgICAgdmFyIGIxMiA9IHogKiB5ICogdCArIHggKiBzO1xcclxcbiAgICAgICAgdmFyIGIyMCA9IHggKiB6ICogdCArIHkgKiBzO1xcclxcbiAgICAgICAgdmFyIGIyMSA9IHkgKiB6ICogdCAtIHggKiBzO1xcclxcbiAgICAgICAgdmFyIGIyMiA9IHogKiB6ICogdCArIGM7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IGEwMCAqIGIwMCArIGExMCAqIGIwMSArIGEyMCAqIGIwMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gYTAxICogYjAwICsgYTExICogYjAxICsgYTIxICogYjAyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSBhMDIgKiBiMDAgKyBhMTIgKiBiMDEgKyBhMjIgKiBiMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IGEwMCAqIGIxMCArIGExMCAqIGIxMSArIGEyMCAqIGIxMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzRdID0gYTAxICogYjEwICsgYTExICogYjExICsgYTIxICogYjEyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSBhMDIgKiBiMTAgKyBhMTIgKiBiMTEgKyBhMjIgKiBiMTI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9IGEwMCAqIGIyMCArIGExMCAqIGIyMSArIGEyMCAqIGIyMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzddID0gYTAxICogYjIwICsgYTExICogYjIxICsgYTIxICogYjIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOF0gPSBhMDIgKiBiMjAgKyBhMTIgKiBiMjEgKyBhMjIgKiBiMjI7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0My5wcm9kdWN0ID0gZnVuY3Rpb24gKG0xLCBtMiwgcmVzdWx0KSB7XFxyXFxuICAgICAgICB2YXIgYTAwID0gbTEuYXQoMCk7XFxyXFxuICAgICAgICB2YXIgYTAxID0gbTEuYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYTAyID0gbTEuYXQoMik7XFxyXFxuICAgICAgICB2YXIgYTEwID0gbTEuYXQoMyk7XFxyXFxuICAgICAgICB2YXIgYTExID0gbTEuYXQoNCk7XFxyXFxuICAgICAgICB2YXIgYTEyID0gbTEuYXQoNSk7XFxyXFxuICAgICAgICB2YXIgYTIwID0gbTEuYXQoNik7XFxyXFxuICAgICAgICB2YXIgYTIxID0gbTEuYXQoNyk7XFxyXFxuICAgICAgICB2YXIgYTIyID0gbTEuYXQoOCk7XFxyXFxuICAgICAgICB2YXIgYjAwID0gbTIuYXQoMCk7XFxyXFxuICAgICAgICB2YXIgYjAxID0gbTIuYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYjAyID0gbTIuYXQoMik7XFxyXFxuICAgICAgICB2YXIgYjEwID0gbTIuYXQoMyk7XFxyXFxuICAgICAgICB2YXIgYjExID0gbTIuYXQoNCk7XFxyXFxuICAgICAgICB2YXIgYjEyID0gbTIuYXQoNSk7XFxyXFxuICAgICAgICB2YXIgYjIwID0gbTIuYXQoNik7XFxyXFxuICAgICAgICB2YXIgYjIxID0gbTIuYXQoNyk7XFxyXFxuICAgICAgICB2YXIgYjIyID0gbTIuYXQoOCk7XFxyXFxuICAgICAgICBpZiAocmVzdWx0KSB7XFxyXFxuICAgICAgICAgICAgcmVzdWx0LmluaXQoW1xcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDAgKyBiMDEgKiBhMTAgKyBiMDIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMSArIGIwMSAqIGExMSArIGIwMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAyICsgYjAxICogYTEyICsgYjAyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbmV3IG1hdDMoW1xcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDAgKyBiMDEgKiBhMTAgKyBiMDIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMSArIGIwMSAqIGExMSArIGIwMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAyICsgYjAxICogYTEyICsgYjAyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjAsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMSxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQzLmlkZW50aXR5ID0gbmV3IG1hdDMoKS5zZXRJZGVudGl0eSgpO1xcclxcbiAgICByZXR1cm4gbWF0MztcXHJcXG59KCkpO1xcclxcbmV4cG9ydHMuZGVmYXVsdCA9IG1hdDM7XFxyXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWF0My5qcy5tYXAvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OUFkR3hoZFd0cllXNHZkSE50TDJScGMzUXZiV0YwTXk1cWN6ODJNRFJoSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE8wRkJRMklzT0VOQlFUaERMR05CUVdNN1FVRkROVVFzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGxFUVVGUk8wRkJRemRDTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZVVSQlFWRTdRVUZETjBJc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExHMUZRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMURRVUZ0UXl4cFEwRkJhVU03UVVGRGNFVXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMEIwYkdGMWEydGhiaTkwYzIwdlpHbHpkQzl0WVhRekxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhDSjFjMlVnYzNSeWFXTjBYQ0k3WEhKY2JrOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hsZUhCdmNuUnpMQ0JjSWw5ZlpYTk5iMlIxYkdWY0lpd2dleUIyWVd4MVpUb2dkSEoxWlNCOUtUdGNjbHh1ZG1GeUlHMWhkRFJmTVNBOUlISmxjWFZwY21Vb1hDSXVMMjFoZERSY0lpazdYSEpjYm5aaGNpQnhkV0YwWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl4ZFdGMFhDSXBPMXh5WEc1MllYSWdkbVZqTWw4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak1sd2lLVHRjY2x4dWRtRnlJSFpsWXpOZk1TQTlJSEpsY1hWcGNtVW9YQ0l1TDNabFl6TmNJaWs3WEhKY2JuWmhjaUJqYjI1emRHRnVkSE5mTVNBOUlISmxjWFZwY21Vb1hDSXVMMk52Ym5OMFlXNTBjMXdpS1R0Y2NseHVkbUZ5SUcxaGRETWdQU0F2S2lvZ1FHTnNZWE56SUNvdklDaG1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ0WVhRektIWmhiSFZsY3lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6SUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNnNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1Z6SUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1cGJtbDBLSFpoYkhWbGN5azdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlZ4eVhHNGdJQ0FnYldGME15NXdjbTkwYjNSNWNHVXVZWFFnUFNCbWRXNWpkR2x2YmlBb2FXNWtaWGdwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhoZE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG1sdWFYUWdQU0JtZFc1amRHbHZiaUFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQTVPeUJwS3lzcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVjBnUFNCMllXeDFaWE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG5KbGMyVjBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnT1RzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1WTI5d2VTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0J1WlhjZ2JXRjBNeWdwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURrN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExuWmhiSFZsYzF0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1aGJHd2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSaGRHRWdQU0JiWFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRGs3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVzJsZElEMGdkR2hwY3k1MllXeDFaWE5iYVYwN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWVhSaE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRE11Y0hKdmRHOTBlWEJsTG5KdmR5QTlJR1oxYm1OMGFXOXVJQ2hwYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRJQ29nTXlBcklEQmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVDQXFJRE1nS3lBeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhnZ0tpQXpJQ3NnTWwwc1hISmNiaUFnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNWpiMndnUFNCbWRXNWpkR2x2YmlBb2FXNWtaWGdwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxdHBibVJsZUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0SUNzZ00xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDc2dObDBzWEhKY2JpQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFF6TG5CeWIzUnZkSGx3WlM1bGNYVmhiSE1nUFNCbWRXNWpkR2x2YmlBb2JXRjBjbWw0TENCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEMDlQU0IyYjJsa0lEQXBJSHNnZEdoeVpYTm9iMnhrSUQwZ1kyOXVjM1JoYm5Selh6RXVaWEJ6YVd4dmJqc2dmVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z09Uc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5aaGJIVmxjMXRwWFNBdElHMWhkSEpwZUM1aGRDaHBLU2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzVrWlhSbGNtMXBibUZ1ZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURJZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1USWdQU0IwYUdsekxuWmhiSFZsYzFzMVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnZEdocGN5NTJZV3gxWlhOYk5sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUhSb2FYTXVkbUZzZFdWeld6ZGRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNaklnUFNCMGFHbHpMblpoYkhWbGMxczRYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNaklnS2lCaE1URWdMU0JoTVRJZ0tpQmhNakU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdMV0V5TWlBcUlHRXhNQ0FySUdFeE1pQXFJR0V5TUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1qRWdQU0JoTWpFZ0tpQmhNVEFnTFNCaE1URWdLaUJoTWpBN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHRXdNQ0FxSUdSbGREQXhJQ3NnWVRBeElDb2daR1YwTVRFZ0t5QmhNRElnS2lCa1pYUXlNVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNXpaWFJKWkdWdWRHbDBlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTkYwZ1BTQXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMyWFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzUwY21GdWMzQnZjMlVnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmxiWEF3TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlcxd01ESWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2RHVnRjREV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJOVjA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU0E5SUhSb2FYTXVkbUZzZFdWeld6WmRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRJRDBnZEdWdGNEQXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0IwWlcxd01ESTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0IwWlcxd01USTdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1YVc1MlpYSnpaU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXdJRDBnZEdocGN5NTJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNU0E5SUhSb2FYTXVkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNRElnUFNCMGFHbHpMblpoYkhWbGMxc3lYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV3SUQwZ2RHaHBjeTUyWVd4MVpYTmJNMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TVNBOUlIUm9hWE11ZG1Gc2RXVnpXelJkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRJZ1BTQjBhR2x6TG5aaGJIVmxjMXMxWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdkR2hwY3k1MllXeDFaWE5iTmwwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3pkZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzNFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNREVnUFNCaE1qSWdLaUJoTVRFZ0xTQmhNVElnS2lCaE1qRTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREV4SUQwZ0xXRXlNaUFxSUdFeE1DQXJJR0V4TWlBcUlHRXlNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTWpFZ1BTQmhNakVnS2lCaE1UQWdMU0JoTVRFZ0tpQmhNakE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZENBOUlHRXdNQ0FxSUdSbGREQXhJQ3NnWVRBeElDb2daR1YwTVRFZ0t5QmhNRElnS2lCa1pYUXlNVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVjBJRDBnTVM0d0lDOGdaR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ1pHVjBNREVnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdQU0FvTFdFeU1pQXFJR0V3TVNBcklHRXdNaUFxSUdFeU1Ta2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ1BTQW9ZVEV5SUNvZ1lUQXhJQzBnWVRBeUlDb2dZVEV4S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SUdSbGRERXhJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElEMGdLR0V5TWlBcUlHRXdNQ0F0SUdFd01pQXFJR0V5TUNrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBnUFNBb0xXRXhNaUFxSUdFd01DQXJJR0V3TWlBcUlHRXhNQ2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0JrWlhReU1TQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMzWFNBOUlDZ3RZVEl4SUNvZ1lUQXdJQ3NnWVRBeElDb2dZVEl3S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU0E5SUNoaE1URWdLaUJoTURBZ0xTQmhNREVnS2lCaE1UQXBJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRETXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVJRDBnWm5WdVkzUnBiMjRnS0cxaGRISnBlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURBZ1BTQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBeElEMGdkR2hwY3k1MllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01pQTlJSFJvYVhNdWRtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UQWdQU0IwYUdsekxuWmhiSFZsYzFzelhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lURXhJRDBnZEdocGN5NTJZV3gxWlhOYk5GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNaUE5SUhSb2FYTXVkbUZzZFdWeld6VmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNakFnUFNCMGFHbHpMblpoYkhWbGMxczJYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEl4SUQwZ2RHaHBjeTUyWVd4MVpYTmJOMTA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TWlBOUlIUm9hWE11ZG1Gc2RXVnpXemhkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTURBZ1BTQnRZWFJ5YVhndVlYUW9NQ2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l3TVNBOUlHMWhkSEpwZUM1aGRDZ3hLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF5SUQwZ2JXRjBjbWw0TG1GMEtESXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNVEFnUFNCdFlYUnlhWGd1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUcxaGRISnBlQzVoZENnMEtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXlJRDBnYldGMGNtbDRMbUYwS0RVcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qQWdQU0J0WVhSeWFYZ3VZWFFvTmlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJeU1TQTlJRzFoZEhKcGVDNWhkQ2czS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpJeUlEMGdiV0YwY21sNExtRjBLRGdwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ1lqQXdJQ29nWVRBd0lDc2dZakF4SUNvZ1lURXdJQ3NnWWpBeUlDb2dZVEl3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ1lqQXdJQ29nWVRBeElDc2dZakF4SUNvZ1lURXhJQ3NnWWpBeUlDb2dZVEl4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ1lqQXdJQ29nWVRBeUlDc2dZakF4SUNvZ1lURXlJQ3NnWWpBeUlDb2dZVEl5TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ1lqRXdJQ29nWVRBd0lDc2dZakV4SUNvZ1lURXdJQ3NnWWpFeUlDb2dZVEl3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelJkSUQwZ1lqRXdJQ29nWVRBeElDc2dZakV4SUNvZ1lURXhJQ3NnWWpFeUlDb2dZVEl4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelZkSUQwZ1lqRXdJQ29nWVRBeUlDc2dZakV4SUNvZ1lURXlJQ3NnWWpFeUlDb2dZVEl5TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXelpkSUQwZ1lqSXdJQ29nWVRBd0lDc2dZakl4SUNvZ1lURXdJQ3NnWWpJeUlDb2dZVEl3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUQwZ1lqSXdJQ29nWVRBeElDc2dZakl4SUNvZ1lURXhJQ3NnWWpJeUlDb2dZVEl4TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUQwZ1lqSXdJQ29nWVRBeUlDc2dZakl4SUNvZ1lURXlJQ3NnWWpJeUlDb2dZVEl5TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERNdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVZtVmpNaUE5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhKbGMzVnNkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2NtVnpkV3gwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzU0ZVNBOUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3dYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFNBcklIUm9hWE11ZG1Gc2RXVnpXelpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2VDQXFJSFJvYVhNdWRtRnNkV1Z6V3pGZElDc2dlU0FxSUhSb2FYTXVkbUZzZFdWeld6UmRJQ3NnZEdocGN5NTJZV3gxWlhOYk4xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lIWmxZekpmTVM1a1pXWmhkV3gwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIZ2dLaUIwYUdsekxuWmhiSFZsYzFzd1hTQXJJSGtnS2lCMGFHbHpMblpoYkhWbGMxc3pYU0FySUhSb2FYTXVkbUZzZFdWeld6WmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZUNBcUlIUm9hWE11ZG1Gc2RXVnpXekZkSUNzZ2VTQXFJSFJvYVhNdWRtRnNkV1Z6V3pSZElDc2dkR2hwY3k1MllXeDFaWE5iTjEwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRekxuQnliM1J2ZEhsd1pTNXRkV3gwYVhCc2VWWmxZek1nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCeVpYTjFiSFFwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NGVYb2dQU0JiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTUYwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk0xMGdLeUI2SUNvZ2RHaHBjeTUyWVd4MVpYTmJObDBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTVYwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk5GMGdLeUI2SUNvZ2RHaHBjeTUyWVd4MVpYTmJOMTBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCNElDb2dkR2hwY3k1MllXeDFaWE5iTWwwZ0t5QjVJQ29nZEdocGN5NTJZV3gxWlhOYk5WMGdLeUI2SUNvZ2RHaHBjeTUyWVd4MVpYTmJPRjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJSFpsWXpOZk1TNWtaV1poZFd4MEtGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3dYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXN6WFNBcklIb2dLaUIwYUdsekxuWmhiSFZsYzFzMlhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3hYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXMwWFNBcklIb2dLaUIwYUdsekxuWmhiSFZsYzFzM1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGdnS2lCMGFHbHpMblpoYkhWbGMxc3lYU0FySUhrZ0tpQjBhR2x6TG5aaGJIVmxjMXMxWFNBcklIb2dLaUIwYUdsekxuWmhiSFZsYzFzNFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGRETXVjSEp2ZEc5MGVYQmxMblJ2VFdGME5DQTlJR1oxYm1OMGFXOXVJQ2h5WlhOMWJIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1cGJtbDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczNYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6aGRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREVzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCbGJITmxJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhRMFh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6WmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBNeTV3Y205MGIzUjVjR1V1ZEc5UmRXRjBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCdE1EQWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JUQXhJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHMHdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnRNVEFnUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdiVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJRzB4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ0TWpBZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYlRJeElEMGdkR2hwY3k1MllXeDFaWE5iTjEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUcweU1pQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCbWIzVnlXRk54ZFdGeVpXUk5hVzUxY3pFZ1BTQnRNREFnTFNCdE1URWdMU0J0TWpJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdadmRYSlpVM0YxWVhKbFpFMXBiblZ6TVNBOUlHMHhNU0F0SUcwd01DQXRJRzB5TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWm05MWNscFRjWFZoY21Wa1RXbHVkWE14SUQwZ2JUSXlJQzBnYlRBd0lDMGdiVEV4TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJtYjNWeVYxTnhkV0Z5WldSTmFXNTFjekVnUFNCdE1EQWdLeUJ0TVRFZ0t5QnRNakk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0pwWjJkbGMzUkpibVJsZUNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHWnZkWEpDYVdkblpYTjBVM0YxWVhKbFpFMXBiblZ6TVNBOUlHWnZkWEpYVTNGMVlYSmxaRTFwYm5Wek1UdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1ptOTFjbGhUY1hWaGNtVmtUV2x1ZFhNeElENGdabTkxY2tKcFoyZGxjM1JUY1hWaGNtVmtUV2x1ZFhNeEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZkWEpDYVdkblpYTjBVM0YxWVhKbFpFMXBiblZ6TVNBOUlHWnZkWEpZVTNGMVlYSmxaRTFwYm5Wek1UdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1ltbG5aMlZ6ZEVsdVpHVjRJRDBnTVR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHWnZkWEpaVTNGMVlYSmxaRTFwYm5Wek1TQStJR1p2ZFhKQ2FXZG5aWE4wVTNGMVlYSmxaRTFwYm5Wek1Ta2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iM1Z5UW1sbloyVnpkRk54ZFdGeVpXUk5hVzUxY3pFZ1BTQm1iM1Z5V1ZOeGRXRnlaV1JOYVc1MWN6RTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnBaMmRsYzNSSmJtUmxlQ0E5SURJN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdsbUlDaG1iM1Z5V2xOeGRXRnlaV1JOYVc1MWN6RWdQaUJtYjNWeVFtbG5aMlZ6ZEZOeGRXRnlaV1JOYVc1MWN6RXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdabTkxY2tKcFoyZGxjM1JUY1hWaGNtVmtUV2x1ZFhNeElEMGdabTkxY2xwVGNYVmhjbVZrVFdsdWRYTXhPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmlhV2RuWlhOMFNXNWtaWGdnUFNBek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdZbWxuWjJWemRGWmhiQ0E5SUUxaGRHZ3VjM0Z5ZENobWIzVnlRbWxuWjJWemRGTnhkV0Z5WldSTmFXNTFjekVnS3lBeEtTQXFJREF1TlR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnYlhWc2RDQTlJREF1TWpVZ0x5QmlhV2RuWlhOMFZtRnNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnlaWE4xYkhRZ1BTQnVaWGNnY1hWaGRGOHhMbVJsWm1GMWJIUW9LVHRjY2x4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0dKcFoyZGxjM1JKYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSURBNlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWR5QTlJR0pwWjJkbGMzUldZV3c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZUNBOUlDaHRNVElnTFNCdE1qRXBJQ29nYlhWc2REdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNTVJRDBnS0cweU1DQXRJRzB3TWlrZ0tpQnRkV3gwTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5vZ1BTQW9iVEF4SUMwZ2JURXdLU0FxSUcxMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F4T2x4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5jZ1BTQW9iVEV5SUMwZ2JUSXhLU0FxSUcxMWJIUTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlQ0E5SUdKcFoyZGxjM1JXWVd3N1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVTQTlJQ2h0TURFZ0t5QnRNVEFwSUNvZ2JYVnNkRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzU2SUQwZ0tHMHlNQ0FySUcwd01pa2dLaUJ0ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdNanBjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMzVnNkQzUzSUQwZ0tHMHlNQ0F0SUcwd01pa2dLaUJ0ZFd4ME8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ6ZFd4MExuZ2dQU0FvYlRBeElDc2diVEV3S1NBcUlHMTFiSFE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZVNBOUlHSnBaMmRsYzNSV1lXdzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVlaUE5SUNodE1USWdLeUJ0TWpFcElDb2diWFZzZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElETTZYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOMWJIUXVkeUE5SUNodE1ERWdMU0J0TVRBcElDb2diWFZzZER0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1NElEMGdLRzB5TUNBcklHMHdNaWtnS2lCdGRXeDBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WemRXeDBMbmtnUFNBb2JURXlJQ3NnYlRJeEtTQXFJRzExYkhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWVpQTlJR0pwWjJkbGMzUldZV3c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjNSdmRIbHdaUzV5YjNSaGRHVWdQU0JtZFc1amRHbHZiaUFvWVc1bmJHVXNJR0Y0YVhNcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJR0Y0YVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJR0Y0YVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJR0Y0YVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ1RXRjBhQzV6Y1hKMEtIZ2dLaUI0SUNzZ2VTQXFJSGtnS3lCNklDb2dlaWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnSVQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdiR1Z1WjNSb0lEMGdNU0F2SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I2SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlITWdQU0JOWVhSb0xuTnBiaWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0JOWVhSb0xtTnZjeWhoYm1kc1pTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUWdQU0F4TGpBZ0xTQmpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNREFnUFNCMGFHbHpMblpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF4SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TWlBOUlIUm9hWE11ZG1Gc2RXVnpXekpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRBZ1BTQjBhR2x6TG5aaGJIVmxjMXMwWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeElEMGdkR2hwY3k1MllXeDFaWE5iTlYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJSFJvYVhNdWRtRnNkV1Z6V3paZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qQWdQU0IwYUdsekxuWmhiSFZsYzFzNFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXhJRDBnZEdocGN5NTJZV3gxWlhOYk9WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNaUE5SUhSb2FYTXVkbUZzZFdWeld6RXdYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2VDQXFJSGdnS2lCMElDc2dZenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF4SUQwZ2VTQXFJSGdnS2lCMElDc2dlaUFxSUhNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01pQTlJSG9nS2lCNElDb2dkQ0F0SUhrZ0tpQnpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNVEFnUFNCNElDb2dlU0FxSUhRZ0xTQjZJQ29nY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeElEMGdlU0FxSUhrZ0tpQjBJQ3NnWXp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeUlEMGdlaUFxSUhrZ0tpQjBJQ3NnZUNBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXlNQ0E5SUhnZ0tpQjZJQ29nZENBcklIa2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTWpFZ1BTQjVJQ29nZWlBcUlIUWdMU0I0SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXlJRDBnZWlBcUlIb2dLaUIwSUNzZ1l6dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR0V3TUNBcUlHSXdNQ0FySUdFeE1DQXFJR0l3TVNBcklHRXlNQ0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJR0V3TVNBcUlHSXdNQ0FySUdFeE1TQXFJR0l3TVNBcklHRXlNU0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJR0V3TWlBcUlHSXdNQ0FySUdFeE1pQXFJR0l3TVNBcklHRXlNaUFxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V3TUNBcUlHSXhNQ0FySUdFeE1DQXFJR0l4TVNBcklHRXlNQ0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMFhTQTlJR0V3TVNBcUlHSXhNQ0FySUdFeE1TQXFJR0l4TVNBcklHRXlNU0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMVhTQTlJR0V3TWlBcUlHSXhNQ0FySUdFeE1pQXFJR0l4TVNBcklHRXlNaUFxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQTlJR0V3TUNBcUlHSXlNQ0FySUdFeE1DQXFJR0l5TVNBcklHRXlNQ0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJR0V3TVNBcUlHSXlNQ0FySUdFeE1TQXFJR0l5TVNBcklHRXlNU0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTQTlJR0V3TWlBcUlHSXlNQ0FySUdFeE1pQXFJR0l5TVNBcklHRXlNaUFxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUXpMbkJ5YjJSMVkzUWdQU0JtZFc1amRHbHZiaUFvYlRFc0lHMHlMQ0J5WlhOMWJIUXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEF3SUQwZ2JURXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01TQTlJRzB4TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNRElnUFNCdE1TNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFd0lEMGdiVEV1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNU0E5SUcweExtRjBLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRJZ1BTQnRNUzVoZENnMUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXdJRDBnYlRFdVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TVNBOUlHMHhMbUYwS0RjcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0J0TVM1aGRDZzRLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2JUSXVZWFFvTUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01TQTlJRzB5TG1GMEtERXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRElnUFNCdE1pNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFd0lEMGdiVEl1WVhRb015azdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUcweUxtRjBLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRJZ1BTQnRNaTVoZENnMUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXdJRDBnYlRJdVlYUW9OaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TVNBOUlHMHlMbUYwS0RjcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qSWdQU0J0TWk1aGRDZzRLVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjM1ZzZEM1cGJtbDBLRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TUNBcklHSXdNU0FxSUdFeE1DQXJJR0l3TWlBcUlHRXlNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TVNBcklHSXdNU0FxSUdFeE1TQXJJR0l3TWlBcUlHRXlNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TWlBcklHSXdNU0FxSUdFeE1pQXJJR0l3TWlBcUlHRXlNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TUNBcklHSXhNU0FxSUdFeE1DQXJJR0l4TWlBcUlHRXlNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TVNBcklHSXhNU0FxSUdFeE1TQXJJR0l4TWlBcUlHRXlNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TWlBcklHSXhNU0FxSUdFeE1pQXJJR0l4TWlBcUlHRXlNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TUNBcklHSXlNU0FxSUdFeE1DQXJJR0l5TWlBcUlHRXlNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TVNBcklHSXlNU0FxSUdFeE1TQXJJR0l5TWlBcUlHRXlNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TWlBcklHSXlNU0FxSUdFeE1pQXJJR0l5TWlBcUlHRXlNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdWc2MyVWdlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRzFoZERNb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXdJQ3NnWWpBeElDb2dZVEV3SUNzZ1lqQXlJQ29nWVRJd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXhJQ3NnWWpBeElDb2dZVEV4SUNzZ1lqQXlJQ29nWVRJeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXlJQ3NnWWpBeElDb2dZVEV5SUNzZ1lqQXlJQ29nWVRJeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXdJQ3NnWWpFeElDb2dZVEV3SUNzZ1lqRXlJQ29nWVRJd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXhJQ3NnWWpFeElDb2dZVEV4SUNzZ1lqRXlJQ29nWVRJeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXlJQ3NnWWpFeElDb2dZVEV5SUNzZ1lqRXlJQ29nWVRJeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXdJQ3NnWWpJeElDb2dZVEV3SUNzZ1lqSXlJQ29nWVRJd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXhJQ3NnWWpJeElDb2dZVEV4SUNzZ1lqSXlJQ29nWVRJeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXlJQ3NnWWpJeElDb2dZVEV5SUNzZ1lqSXlJQ29nWVRJeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME15NXBaR1Z1ZEdsMGVTQTlJRzVsZHlCdFlYUXpLQ2t1YzJWMFNXUmxiblJwZEhrb0tUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdFlYUXpPMXh5WEc1OUtDa3BPMXh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCdFlYUXpPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMXRZWFF6TG1wekxtMWhjQ0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0NC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvbWF0NC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBtYXQzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQzLmpzXFxcIik7XFxyXFxudmFyIHZlYzNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdmVjMyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzMuanNcXFwiKTtcXHJcXG52YXIgdmVjNF8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWM0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjNC5qc1xcXCIpO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIG1hdDQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIG1hdDQodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoMTYpO1xcclxcbiAgICAgICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5pbml0KHZhbHVlcyk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSA9IHZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2ldID0gMDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IG1hdDQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRlc3QudmFsdWVzW2ldID0gdGhpcy52YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuYWxsID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGRhdGEgPSBbXTtcXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRhdGFbaV0gPSB0aGlzLnZhbHVlc1tpXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBkYXRhO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5yb3cgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgMF0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgMV0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgMl0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKiA0ICsgM10sXFxyXFxuICAgICAgICBdO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5jb2wgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXhdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzW2luZGV4ICsgNF0sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbaW5kZXggKyA4XSxcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpbmRleCArIDEyXSxcXHJcXG4gICAgICAgIF07XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uIChtYXRyaXgsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xcclxcbiAgICAgICAgICAgIGlmIChNYXRoLmFicyh0aGlzLnZhbHVlc1tpXSAtIG1hdHJpeC5hdChpKSkgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5kZXRlcm1pbmFudCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYTIzID0gdGhpcy52YWx1ZXNbMTFdO1xcclxcbiAgICAgICAgdmFyIGEzMCA9IHRoaXMudmFsdWVzWzEyXTtcXHJcXG4gICAgICAgIHZhciBhMzEgPSB0aGlzLnZhbHVlc1sxM107XFxyXFxuICAgICAgICB2YXIgYTMyID0gdGhpcy52YWx1ZXNbMTRdO1xcclxcbiAgICAgICAgdmFyIGEzMyA9IHRoaXMudmFsdWVzWzE1XTtcXHJcXG4gICAgICAgIHZhciBkZXQwMCA9IGEwMCAqIGExMSAtIGEwMSAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMSA9IGEwMCAqIGExMiAtIGEwMiAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMiA9IGEwMCAqIGExMyAtIGEwMyAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMyA9IGEwMSAqIGExMiAtIGEwMiAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNCA9IGEwMSAqIGExMyAtIGEwMyAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNSA9IGEwMiAqIGExMyAtIGEwMyAqIGExMjtcXHJcXG4gICAgICAgIHZhciBkZXQwNiA9IGEyMCAqIGEzMSAtIGEyMSAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwNyA9IGEyMCAqIGEzMiAtIGEyMiAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOCA9IGEyMCAqIGEzMyAtIGEyMyAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOSA9IGEyMSAqIGEzMiAtIGEyMiAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMCA9IGEyMSAqIGEzMyAtIGEyMyAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMSA9IGEyMiAqIGEzMyAtIGEyMyAqIGEzMjtcXHJcXG4gICAgICAgIHJldHVybiAoZGV0MDAgKiBkZXQxMSAtIGRldDAxICogZGV0MTAgKyBkZXQwMiAqIGRldDA5ICsgZGV0MDMgKiBkZXQwOCAtIGRldDA0ICogZGV0MDcgKyBkZXQwNSAqIGRldDA2KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuc2V0SWRlbnRpdHkgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IDE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s1XSA9IDE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s4XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s5XSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gPSAxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTFdID0gMDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxM10gPSAwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTRdID0gMDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzE1XSA9IDE7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUudHJhbnNwb3NlID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHRlbXAwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIHRlbXAwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIHRlbXAwMyA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIHRlbXAxMiA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIHRlbXAxMyA9IHRoaXMudmFsdWVzWzddO1xcclxcbiAgICAgICAgdmFyIHRlbXAyMyA9IHRoaXMudmFsdWVzWzExXTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdID0gdGhpcy52YWx1ZXNbNF07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB0aGlzLnZhbHVlc1sxMl07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IHRlbXAwMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzZdID0gdGhpcy52YWx1ZXNbOV07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IHRoaXMudmFsdWVzWzEzXTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gdGVtcDAyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOV0gPSB0ZW1wMTI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMV0gPSB0aGlzLnZhbHVlc1sxNF07XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMl0gPSB0ZW1wMDM7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxM10gPSB0ZW1wMTM7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxNF0gPSB0ZW1wMjM7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUuaW52ZXJzZSA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYTIzID0gdGhpcy52YWx1ZXNbMTFdO1xcclxcbiAgICAgICAgdmFyIGEzMCA9IHRoaXMudmFsdWVzWzEyXTtcXHJcXG4gICAgICAgIHZhciBhMzEgPSB0aGlzLnZhbHVlc1sxM107XFxyXFxuICAgICAgICB2YXIgYTMyID0gdGhpcy52YWx1ZXNbMTRdO1xcclxcbiAgICAgICAgdmFyIGEzMyA9IHRoaXMudmFsdWVzWzE1XTtcXHJcXG4gICAgICAgIHZhciBkZXQwMCA9IGEwMCAqIGExMSAtIGEwMSAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMSA9IGEwMCAqIGExMiAtIGEwMiAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMiA9IGEwMCAqIGExMyAtIGEwMyAqIGExMDtcXHJcXG4gICAgICAgIHZhciBkZXQwMyA9IGEwMSAqIGExMiAtIGEwMiAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNCA9IGEwMSAqIGExMyAtIGEwMyAqIGExMTtcXHJcXG4gICAgICAgIHZhciBkZXQwNSA9IGEwMiAqIGExMyAtIGEwMyAqIGExMjtcXHJcXG4gICAgICAgIHZhciBkZXQwNiA9IGEyMCAqIGEzMSAtIGEyMSAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwNyA9IGEyMCAqIGEzMiAtIGEyMiAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOCA9IGEyMCAqIGEzMyAtIGEyMyAqIGEzMDtcXHJcXG4gICAgICAgIHZhciBkZXQwOSA9IGEyMSAqIGEzMiAtIGEyMiAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMCA9IGEyMSAqIGEzMyAtIGEyMyAqIGEzMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMSA9IGEyMiAqIGEzMyAtIGEyMyAqIGEzMjtcXHJcXG4gICAgICAgIHZhciBkZXQgPSAoZGV0MDAgKiBkZXQxMSAtIGRldDAxICogZGV0MTAgKyBkZXQwMiAqIGRldDA5ICsgZGV0MDMgKiBkZXQwOCAtIGRldDA0ICogZGV0MDcgKyBkZXQwNSAqIGRldDA2KTtcXHJcXG4gICAgICAgIGlmICghZGV0KSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXQgPSAxLjAgLyBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IChhMTEgKiBkZXQxMSAtIGExMiAqIGRldDEwICsgYTEzICogZGV0MDkpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSAoLWEwMSAqIGRldDExICsgYTAyICogZGV0MTAgLSBhMDMgKiBkZXQwOSkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1syXSA9IChhMzEgKiBkZXQwNSAtIGEzMiAqIGRldDA0ICsgYTMzICogZGV0MDMpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSAoLWEyMSAqIGRldDA1ICsgYTIyICogZGV0MDQgLSBhMjMgKiBkZXQwMykgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9ICgtYTEwICogZGV0MTEgKyBhMTIgKiBkZXQwOCAtIGExMyAqIGRldDA3KSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzVdID0gKGEwMCAqIGRldDExIC0gYTAyICogZGV0MDggKyBhMDMgKiBkZXQwNykgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s2XSA9ICgtYTMwICogZGV0MDUgKyBhMzIgKiBkZXQwMiAtIGEzMyAqIGRldDAxKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzddID0gKGEyMCAqIGRldDA1IC0gYTIyICogZGV0MDIgKyBhMjMgKiBkZXQwMSkgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s4XSA9IChhMTAgKiBkZXQxMCAtIGExMSAqIGRldDA4ICsgYTEzICogZGV0MDYpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOV0gPSAoLWEwMCAqIGRldDEwICsgYTAxICogZGV0MDggLSBhMDMgKiBkZXQwNikgKiBkZXQ7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gPSAoYTMwICogZGV0MDQgLSBhMzEgKiBkZXQwMiArIGEzMyAqIGRldDAwKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzExXSA9ICgtYTIwICogZGV0MDQgKyBhMjEgKiBkZXQwMiAtIGEyMyAqIGRldDAwKSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSA9ICgtYTEwICogZGV0MDkgKyBhMTEgKiBkZXQwNyAtIGExMiAqIGRldDA2KSAqIGRldDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEzXSA9IChhMDAgKiBkZXQwOSAtIGEwMSAqIGRldDA3ICsgYTAyICogZGV0MDYpICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTRdID0gKC1hMzAgKiBkZXQwMyArIGEzMSAqIGRldDAxIC0gYTMyICogZGV0MDApICogZGV0O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTVdID0gKGEyMCAqIGRldDAzIC0gYTIxICogZGV0MDEgKyBhMjIgKiBkZXQwMCkgKiBkZXQ7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAobWF0cml4KSB7XFxyXFxuICAgICAgICB2YXIgYTAwID0gdGhpcy52YWx1ZXNbMF07XFxyXFxuICAgICAgICB2YXIgYTAxID0gdGhpcy52YWx1ZXNbMV07XFxyXFxuICAgICAgICB2YXIgYTAyID0gdGhpcy52YWx1ZXNbMl07XFxyXFxuICAgICAgICB2YXIgYTAzID0gdGhpcy52YWx1ZXNbM107XFxyXFxuICAgICAgICB2YXIgYTEwID0gdGhpcy52YWx1ZXNbNF07XFxyXFxuICAgICAgICB2YXIgYTExID0gdGhpcy52YWx1ZXNbNV07XFxyXFxuICAgICAgICB2YXIgYTEyID0gdGhpcy52YWx1ZXNbNl07XFxyXFxuICAgICAgICB2YXIgYTEzID0gdGhpcy52YWx1ZXNbN107XFxyXFxuICAgICAgICB2YXIgYTIwID0gdGhpcy52YWx1ZXNbOF07XFxyXFxuICAgICAgICB2YXIgYTIxID0gdGhpcy52YWx1ZXNbOV07XFxyXFxuICAgICAgICB2YXIgYTIyID0gdGhpcy52YWx1ZXNbMTBdO1xcclxcbiAgICAgICAgdmFyIGEyMyA9IHRoaXMudmFsdWVzWzExXTtcXHJcXG4gICAgICAgIHZhciBhMzAgPSB0aGlzLnZhbHVlc1sxMl07XFxyXFxuICAgICAgICB2YXIgYTMxID0gdGhpcy52YWx1ZXNbMTNdO1xcclxcbiAgICAgICAgdmFyIGEzMiA9IHRoaXMudmFsdWVzWzE0XTtcXHJcXG4gICAgICAgIHZhciBhMzMgPSB0aGlzLnZhbHVlc1sxNV07XFxyXFxuICAgICAgICB2YXIgYjAgPSBtYXRyaXguYXQoMCk7XFxyXFxuICAgICAgICB2YXIgYjEgPSBtYXRyaXguYXQoMSk7XFxyXFxuICAgICAgICB2YXIgYjIgPSBtYXRyaXguYXQoMik7XFxyXFxuICAgICAgICB2YXIgYjMgPSBtYXRyaXguYXQoMyk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSA9IGIwICogYTAwICsgYjEgKiBhMTAgKyBiMiAqIGEyMCArIGIzICogYTMwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSBiMCAqIGEwMSArIGIxICogYTExICsgYjIgKiBhMjEgKyBiMyAqIGEzMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzJdID0gYjAgKiBhMDIgKyBiMSAqIGExMiArIGIyICogYTIyICsgYjMgKiBhMzI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1szXSA9IGIwICogYTAzICsgYjEgKiBhMTMgKyBiMiAqIGEyMyArIGIzICogYTMzO1xcclxcbiAgICAgICAgYjAgPSBtYXRyaXguYXQoNCk7XFxyXFxuICAgICAgICBiMSA9IG1hdHJpeC5hdCg1KTtcXHJcXG4gICAgICAgIGIyID0gbWF0cml4LmF0KDYpO1xcclxcbiAgICAgICAgYjMgPSBtYXRyaXguYXQoNyk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IGIwICogYTAwICsgYjEgKiBhMTAgKyBiMiAqIGEyMCArIGIzICogYTMwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gPSBiMCAqIGEwMSArIGIxICogYTExICsgYjIgKiBhMjEgKyBiMyAqIGEzMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzZdID0gYjAgKiBhMDIgKyBiMSAqIGExMiArIGIyICogYTIyICsgYjMgKiBhMzI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IGIwICogYTAzICsgYjEgKiBhMTMgKyBiMiAqIGEyMyArIGIzICogYTMzO1xcclxcbiAgICAgICAgYjAgPSBtYXRyaXguYXQoOCk7XFxyXFxuICAgICAgICBiMSA9IG1hdHJpeC5hdCg5KTtcXHJcXG4gICAgICAgIGIyID0gbWF0cml4LmF0KDEwKTtcXHJcXG4gICAgICAgIGIzID0gbWF0cml4LmF0KDExKTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gYjAgKiBhMDAgKyBiMSAqIGExMCArIGIyICogYTIwICsgYjMgKiBhMzA7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s5XSA9IGIwICogYTAxICsgYjEgKiBhMTEgKyBiMiAqIGEyMSArIGIzICogYTMxO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTBdID0gYjAgKiBhMDIgKyBiMSAqIGExMiArIGIyICogYTIyICsgYjMgKiBhMzI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMV0gPSBiMCAqIGEwMyArIGIxICogYTEzICsgYjIgKiBhMjMgKyBiMyAqIGEzMztcXHJcXG4gICAgICAgIGIwID0gbWF0cml4LmF0KDEyKTtcXHJcXG4gICAgICAgIGIxID0gbWF0cml4LmF0KDEzKTtcXHJcXG4gICAgICAgIGIyID0gbWF0cml4LmF0KDE0KTtcXHJcXG4gICAgICAgIGIzID0gbWF0cml4LmF0KDE1KTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSA9IGIwICogYTAwICsgYjEgKiBhMTAgKyBiMiAqIGEyMCArIGIzICogYTMwO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTNdID0gYjAgKiBhMDEgKyBiMSAqIGExMSArIGIyICogYTIxICsgYjMgKiBhMzE7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxNF0gPSBiMCAqIGEwMiArIGIxICogYTEyICsgYjIgKiBhMjIgKyBiMyAqIGEzMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzE1XSA9IGIwICogYTAzICsgYjEgKiBhMTMgKyBiMiAqIGEyMyArIGIzICogYTMzO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLm11bHRpcGx5VmVjMyA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHogPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgdmVjM18xLmRlZmF1bHQoW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdICogeCArIHRoaXMudmFsdWVzWzRdICogeSArIHRoaXMudmFsdWVzWzhdICogeiArIHRoaXMudmFsdWVzWzEyXSxcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSAqIHggKyB0aGlzLnZhbHVlc1s1XSAqIHkgKyB0aGlzLnZhbHVlc1s5XSAqIHogKyB0aGlzLnZhbHVlc1sxM10sXFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gKiB4ICsgdGhpcy52YWx1ZXNbNl0gKiB5ICsgdGhpcy52YWx1ZXNbMTBdICogeiArIHRoaXMudmFsdWVzWzE0XSxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5tdWx0aXBseVZlYzQgPSBmdW5jdGlvbiAodmVjdG9yLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzRfMS5kZWZhdWx0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3Rvci54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yLno7XFxyXFxuICAgICAgICB2YXIgdyA9IHZlY3Rvci53O1xcclxcbiAgICAgICAgZGVzdC54ID0gdGhpcy52YWx1ZXNbMF0gKiB4ICsgdGhpcy52YWx1ZXNbNF0gKiB5ICsgdGhpcy52YWx1ZXNbOF0gKiB6ICsgdGhpcy52YWx1ZXNbMTJdICogdztcXHJcXG4gICAgICAgIGRlc3QueSA9IHRoaXMudmFsdWVzWzFdICogeCArIHRoaXMudmFsdWVzWzVdICogeSArIHRoaXMudmFsdWVzWzldICogeiArIHRoaXMudmFsdWVzWzEzXSAqIHc7XFxyXFxuICAgICAgICBkZXN0LnogPSB0aGlzLnZhbHVlc1syXSAqIHggKyB0aGlzLnZhbHVlc1s2XSAqIHkgKyB0aGlzLnZhbHVlc1sxMF0gKiB6ICsgdGhpcy52YWx1ZXNbMTRdICogdztcXHJcXG4gICAgICAgIGRlc3QudyA9IHRoaXMudmFsdWVzWzNdICogeCArIHRoaXMudmFsdWVzWzddICogeSArIHRoaXMudmFsdWVzWzExXSAqIHogKyB0aGlzLnZhbHVlc1sxNV0gKiB3O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLnRvTWF0MyA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0M18xLmRlZmF1bHQoW1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzRdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzVdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzZdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzhdLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzldLFxcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzEwXSxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS50b0ludmVyc2VNYXQzID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIGEwMCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIGEwMSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIGEwMiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIGExMCA9IHRoaXMudmFsdWVzWzRdO1xcclxcbiAgICAgICAgdmFyIGExMSA9IHRoaXMudmFsdWVzWzVdO1xcclxcbiAgICAgICAgdmFyIGExMiA9IHRoaXMudmFsdWVzWzZdO1xcclxcbiAgICAgICAgdmFyIGEyMCA9IHRoaXMudmFsdWVzWzhdO1xcclxcbiAgICAgICAgdmFyIGEyMSA9IHRoaXMudmFsdWVzWzldO1xcclxcbiAgICAgICAgdmFyIGEyMiA9IHRoaXMudmFsdWVzWzEwXTtcXHJcXG4gICAgICAgIHZhciBkZXQwMSA9IGEyMiAqIGExMSAtIGExMiAqIGEyMTtcXHJcXG4gICAgICAgIHZhciBkZXQxMSA9IC1hMjIgKiBhMTAgKyBhMTIgKiBhMjA7XFxyXFxuICAgICAgICB2YXIgZGV0MjEgPSBhMjEgKiBhMTAgLSBhMTEgKiBhMjA7XFxyXFxuICAgICAgICB2YXIgZGV0ID0gYTAwICogZGV0MDEgKyBhMDEgKiBkZXQxMSArIGEwMiAqIGRldDIxO1xcclxcbiAgICAgICAgaWYgKCFkZXQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRldCA9IDEuMCAvIGRldDtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0M18xLmRlZmF1bHQoW1xcclxcbiAgICAgICAgICAgIGRldDAxICogZGV0LFxcclxcbiAgICAgICAgICAgICgtYTIyICogYTAxICsgYTAyICogYTIxKSAqIGRldCxcXHJcXG4gICAgICAgICAgICAoYTEyICogYTAxIC0gYTAyICogYTExKSAqIGRldCxcXHJcXG4gICAgICAgICAgICBkZXQxMSAqIGRldCxcXHJcXG4gICAgICAgICAgICAoYTIyICogYTAwIC0gYTAyICogYTIwKSAqIGRldCxcXHJcXG4gICAgICAgICAgICAoLWExMiAqIGEwMCArIGEwMiAqIGExMCkgKiBkZXQsXFxyXFxuICAgICAgICAgICAgZGV0MjEgKiBkZXQsXFxyXFxuICAgICAgICAgICAgKC1hMjEgKiBhMDAgKyBhMDEgKiBhMjApICogZGV0LFxcclxcbiAgICAgICAgICAgIChhMTEgKiBhMDAgLSBhMDEgKiBhMTApICogZGV0LFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLnRyYW5zbGF0ZSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHogPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzEyXSArPSB0aGlzLnZhbHVlc1swXSAqIHggKyB0aGlzLnZhbHVlc1s0XSAqIHkgKyB0aGlzLnZhbHVlc1s4XSAqIHo7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxM10gKz0gdGhpcy52YWx1ZXNbMV0gKiB4ICsgdGhpcy52YWx1ZXNbNV0gKiB5ICsgdGhpcy52YWx1ZXNbOV0gKiB6O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMTRdICs9IHRoaXMudmFsdWVzWzJdICogeCArIHRoaXMudmFsdWVzWzZdICogeSArIHRoaXMudmFsdWVzWzEwXSAqIHo7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxNV0gKz0gdGhpcy52YWx1ZXNbM10gKiB4ICsgdGhpcy52YWx1ZXNbN10gKiB5ICsgdGhpcy52YWx1ZXNbMTFdICogejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb3RvdHlwZS5zY2FsZSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHogPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzBdICo9IHg7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSAqPSB4O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gKj0geDtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzNdICo9IHg7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSAqPSB5O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNV0gKj0geTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzZdICo9IHk7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSAqPSB5O1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOF0gKj0gejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzldICo9IHo7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gKj0gejtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzExXSAqPSB6O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQucHJvdG90eXBlLnJvdGF0ZSA9IGZ1bmN0aW9uIChhbmdsZSwgYXhpcykge1xcclxcbiAgICAgICAgdmFyIHggPSBheGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IGF4aXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gYXhpcy56O1xcclxcbiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5ICsgeiAqIHopO1xcclxcbiAgICAgICAgaWYgKCFsZW5ndGgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggIT09IDEpIHtcXHJcXG4gICAgICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHggKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHkgKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgICAgIHogKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHMgPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICB2YXIgYyA9IE1hdGguY29zKGFuZ2xlKTtcXHJcXG4gICAgICAgIHZhciB0ID0gMS4wIC0gYztcXHJcXG4gICAgICAgIHZhciBhMDAgPSB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSB0aGlzLnZhbHVlc1s0XTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSB0aGlzLnZhbHVlc1s1XTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSB0aGlzLnZhbHVlc1s2XTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSB0aGlzLnZhbHVlc1s3XTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSB0aGlzLnZhbHVlc1s4XTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSB0aGlzLnZhbHVlc1s5XTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSB0aGlzLnZhbHVlc1sxMF07XFxyXFxuICAgICAgICB2YXIgYTIzID0gdGhpcy52YWx1ZXNbMTFdO1xcclxcbiAgICAgICAgdmFyIGIwMCA9IHggKiB4ICogdCArIGM7XFxyXFxuICAgICAgICB2YXIgYjAxID0geSAqIHggKiB0ICsgeiAqIHM7XFxyXFxuICAgICAgICB2YXIgYjAyID0geiAqIHggKiB0IC0geSAqIHM7XFxyXFxuICAgICAgICB2YXIgYjEwID0geCAqIHkgKiB0IC0geiAqIHM7XFxyXFxuICAgICAgICB2YXIgYjExID0geSAqIHkgKiB0ICsgYztcXHJcXG4gICAgICAgIHZhciBiMTIgPSB6ICogeSAqIHQgKyB4ICogcztcXHJcXG4gICAgICAgIHZhciBiMjAgPSB4ICogeiAqIHQgKyB5ICogcztcXHJcXG4gICAgICAgIHZhciBiMjEgPSB5ICogeiAqIHQgLSB4ICogcztcXHJcXG4gICAgICAgIHZhciBiMjIgPSB6ICogeiAqIHQgKyBjO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSBhMDAgKiBiMDAgKyBhMTAgKiBiMDEgKyBhMjAgKiBiMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IGEwMSAqIGIwMCArIGExMSAqIGIwMSArIGEyMSAqIGIwMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzJdID0gYTAyICogYjAwICsgYTEyICogYjAxICsgYTIyICogYjAyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbM10gPSBhMDMgKiBiMDAgKyBhMTMgKiBiMDEgKyBhMjMgKiBiMDI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s0XSA9IGEwMCAqIGIxMCArIGExMCAqIGIxMSArIGEyMCAqIGIxMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzVdID0gYTAxICogYjEwICsgYTExICogYjExICsgYTIxICogYjEyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbNl0gPSBhMDIgKiBiMTAgKyBhMTIgKiBiMTEgKyBhMjIgKiBiMTI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1s3XSA9IGEwMyAqIGIxMCArIGExMyAqIGIxMSArIGEyMyAqIGIxMjtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzhdID0gYTAwICogYjIwICsgYTEwICogYjIxICsgYTIwICogYjIyO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbOV0gPSBhMDEgKiBiMjAgKyBhMTEgKiBiMjEgKyBhMjEgKiBiMjI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMF0gPSBhMDIgKiBiMjAgKyBhMTIgKiBiMjEgKyBhMjIgKiBiMjI7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1sxMV0gPSBhMDMgKiBiMjAgKyBhMTMgKiBiMjEgKyBhMjMgKiBiMjI7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgbWF0NC5mcnVzdHVtID0gZnVuY3Rpb24gKGxlZnQsIHJpZ2h0LCBib3R0b20sIHRvcCwgbmVhciwgZmFyKSB7XFxyXFxuICAgICAgICB2YXIgcmwgPSAocmlnaHQgLSBsZWZ0KTtcXHJcXG4gICAgICAgIHZhciB0YiA9ICh0b3AgLSBib3R0b20pO1xcclxcbiAgICAgICAgdmFyIGZuID0gKGZhciAtIG5lYXIpO1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBtYXQ0KFtcXHJcXG4gICAgICAgICAgICAobmVhciAqIDIpIC8gcmwsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAobmVhciAqIDIpIC8gdGIsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIChyaWdodCArIGxlZnQpIC8gcmwsXFxyXFxuICAgICAgICAgICAgKHRvcCArIGJvdHRvbSkgLyB0YixcXHJcXG4gICAgICAgICAgICAtKGZhciArIG5lYXIpIC8gZm4sXFxyXFxuICAgICAgICAgICAgLTEsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIC0oZmFyICogbmVhciAqIDIpIC8gZm4sXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnBlcnNwZWN0aXZlID0gZnVuY3Rpb24gKGZvdiwgYXNwZWN0LCBuZWFyLCBmYXIpIHtcXHJcXG4gICAgICAgIHZhciB0b3AgPSBuZWFyICogTWF0aC50YW4oZm92ICogTWF0aC5QSSAvIDM2MC4wKTtcXHJcXG4gICAgICAgIHZhciByaWdodCA9IHRvcCAqIGFzcGVjdDtcXHJcXG4gICAgICAgIHJldHVybiBtYXQ0LmZydXN0dW0oLXJpZ2h0LCByaWdodCwgLXRvcCwgdG9wLCBuZWFyLCBmYXIpO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0Lm9ydGhvZ3JhcGhpYyA9IGZ1bmN0aW9uIChsZWZ0LCByaWdodCwgYm90dG9tLCB0b3AsIG5lYXIsIGZhcikge1xcclxcbiAgICAgICAgdmFyIHJsID0gKHJpZ2h0IC0gbGVmdCk7XFxyXFxuICAgICAgICB2YXIgdGIgPSAodG9wIC0gYm90dG9tKTtcXHJcXG4gICAgICAgIHZhciBmbiA9IChmYXIgLSBuZWFyKTtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0NChbXFxyXFxuICAgICAgICAgICAgMiAvIHJsLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMiAvIHRiLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgLTIgLyBmbixcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIC0obGVmdCArIHJpZ2h0KSAvIHJsLFxcclxcbiAgICAgICAgICAgIC0odG9wICsgYm90dG9tKSAvIHRiLFxcclxcbiAgICAgICAgICAgIC0oZmFyICsgbmVhcikgLyBmbixcXHJcXG4gICAgICAgICAgICAxLFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgIH07XFxyXFxuICAgIG1hdDQubG9va0F0ID0gZnVuY3Rpb24gKHBvc2l0aW9uLCB0YXJnZXQsIHVwKSB7XFxyXFxuICAgICAgICBpZiAodXAgPT09IHZvaWQgMCkgeyB1cCA9IHZlYzNfMS5kZWZhdWx0LnVwOyB9XFxyXFxuICAgICAgICBpZiAocG9zaXRpb24uZXF1YWxzKHRhcmdldCkpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pZGVudGl0eTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB6ID0gdmVjM18xLmRlZmF1bHQuZGlmZmVyZW5jZShwb3NpdGlvbiwgdGFyZ2V0KS5ub3JtYWxpemUoKTtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjM18xLmRlZmF1bHQuY3Jvc3ModXAsIHopLm5vcm1hbGl6ZSgpO1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWMzXzEuZGVmYXVsdC5jcm9zcyh6LCB4KS5ub3JtYWxpemUoKTtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgbWF0NChbXFxyXFxuICAgICAgICAgICAgeC54LFxcclxcbiAgICAgICAgICAgIHkueCxcXHJcXG4gICAgICAgICAgICB6LngsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICB4LnksXFxyXFxuICAgICAgICAgICAgeS55LFxcclxcbiAgICAgICAgICAgIHoueSxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIHgueixcXHJcXG4gICAgICAgICAgICB5LnosXFxyXFxuICAgICAgICAgICAgei56LFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgLXZlYzNfMS5kZWZhdWx0LmRvdCh4LCBwb3NpdGlvbiksXFxyXFxuICAgICAgICAgICAgLXZlYzNfMS5kZWZhdWx0LmRvdCh5LCBwb3NpdGlvbiksXFxyXFxuICAgICAgICAgICAgLXZlYzNfMS5kZWZhdWx0LmRvdCh6LCBwb3NpdGlvbiksXFxyXFxuICAgICAgICAgICAgMSxcXHJcXG4gICAgICAgIF0pO1xcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LnByb2R1Y3QgPSBmdW5jdGlvbiAobTEsIG0yLCByZXN1bHQpIHtcXHJcXG4gICAgICAgIHZhciBhMDAgPSBtMS5hdCgwKTtcXHJcXG4gICAgICAgIHZhciBhMDEgPSBtMS5hdCgxKTtcXHJcXG4gICAgICAgIHZhciBhMDIgPSBtMS5hdCgyKTtcXHJcXG4gICAgICAgIHZhciBhMDMgPSBtMS5hdCgzKTtcXHJcXG4gICAgICAgIHZhciBhMTAgPSBtMS5hdCg0KTtcXHJcXG4gICAgICAgIHZhciBhMTEgPSBtMS5hdCg1KTtcXHJcXG4gICAgICAgIHZhciBhMTIgPSBtMS5hdCg2KTtcXHJcXG4gICAgICAgIHZhciBhMTMgPSBtMS5hdCg3KTtcXHJcXG4gICAgICAgIHZhciBhMjAgPSBtMS5hdCg4KTtcXHJcXG4gICAgICAgIHZhciBhMjEgPSBtMS5hdCg5KTtcXHJcXG4gICAgICAgIHZhciBhMjIgPSBtMS5hdCgxMCk7XFxyXFxuICAgICAgICB2YXIgYTIzID0gbTEuYXQoMTEpO1xcclxcbiAgICAgICAgdmFyIGEzMCA9IG0xLmF0KDEyKTtcXHJcXG4gICAgICAgIHZhciBhMzEgPSBtMS5hdCgxMyk7XFxyXFxuICAgICAgICB2YXIgYTMyID0gbTEuYXQoMTQpO1xcclxcbiAgICAgICAgdmFyIGEzMyA9IG0xLmF0KDE1KTtcXHJcXG4gICAgICAgIHZhciBiMDAgPSBtMi5hdCgwKTtcXHJcXG4gICAgICAgIHZhciBiMDEgPSBtMi5hdCgxKTtcXHJcXG4gICAgICAgIHZhciBiMDIgPSBtMi5hdCgyKTtcXHJcXG4gICAgICAgIHZhciBiMDMgPSBtMi5hdCgzKTtcXHJcXG4gICAgICAgIHZhciBiMTAgPSBtMi5hdCg0KTtcXHJcXG4gICAgICAgIHZhciBiMTEgPSBtMi5hdCg1KTtcXHJcXG4gICAgICAgIHZhciBiMTIgPSBtMi5hdCg2KTtcXHJcXG4gICAgICAgIHZhciBiMTMgPSBtMi5hdCg3KTtcXHJcXG4gICAgICAgIHZhciBiMjAgPSBtMi5hdCg4KTtcXHJcXG4gICAgICAgIHZhciBiMjEgPSBtMi5hdCg5KTtcXHJcXG4gICAgICAgIHZhciBiMjIgPSBtMi5hdCgxMCk7XFxyXFxuICAgICAgICB2YXIgYjIzID0gbTIuYXQoMTEpO1xcclxcbiAgICAgICAgdmFyIGIzMCA9IG0yLmF0KDEyKTtcXHJcXG4gICAgICAgIHZhciBiMzEgPSBtMi5hdCgxMyk7XFxyXFxuICAgICAgICB2YXIgYjMyID0gbTIuYXQoMTQpO1xcclxcbiAgICAgICAgdmFyIGIzMyA9IG0yLmF0KDE1KTtcXHJcXG4gICAgICAgIGlmIChyZXN1bHQpIHtcXHJcXG4gICAgICAgICAgICByZXN1bHQuaW5pdChbXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMCArIGIwMSAqIGExMCArIGIwMiAqIGEyMCArIGIwMyAqIGEzMCxcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAxICsgYjAxICogYTExICsgYjAyICogYTIxICsgYjAzICogYTMxLFxcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDIgKyBiMDEgKiBhMTIgKyBiMDIgKiBhMjIgKyBiMDMgKiBhMzIsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMyArIGIwMSAqIGExMyArIGIwMiAqIGEyMyArIGIwMyAqIGEzMyxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAwICsgYjExICogYTEwICsgYjEyICogYTIwICsgYjEzICogYTMwLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDEgKyBiMTEgKiBhMTEgKyBiMTIgKiBhMjEgKyBiMTMgKiBhMzEsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMiArIGIxMSAqIGExMiArIGIxMiAqIGEyMiArIGIxMyAqIGEzMixcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAzICsgYjExICogYTEzICsgYjEyICogYTIzICsgYjEzICogYTMzLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDAgKyBiMjEgKiBhMTAgKyBiMjIgKiBhMjAgKyBiMjMgKiBhMzAsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMSArIGIyMSAqIGExMSArIGIyMiAqIGEyMSArIGIyMyAqIGEzMSxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAyICsgYjIxICogYTEyICsgYjIyICogYTIyICsgYjIzICogYTMyLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDMgKyBiMjEgKiBhMTMgKyBiMjIgKiBhMjMgKyBiMjMgKiBhMzMsXFxyXFxuICAgICAgICAgICAgICAgIGIzMCAqIGEwMCArIGIzMSAqIGExMCArIGIzMiAqIGEyMCArIGIzMyAqIGEzMCxcXHJcXG4gICAgICAgICAgICAgICAgYjMwICogYTAxICsgYjMxICogYTExICsgYjMyICogYTIxICsgYjMzICogYTMxLFxcclxcbiAgICAgICAgICAgICAgICBiMzAgKiBhMDIgKyBiMzEgKiBhMTIgKyBiMzIgKiBhMjIgKyBiMzMgKiBhMzIsXFxyXFxuICAgICAgICAgICAgICAgIGIzMCAqIGEwMyArIGIzMSAqIGExMyArIGIzMiAqIGEyMyArIGIzMyAqIGEzMyxcXHJcXG4gICAgICAgICAgICBdKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBtYXQ0KFtcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAwICsgYjAxICogYTEwICsgYjAyICogYTIwICsgYjAzICogYTMwLFxcclxcbiAgICAgICAgICAgICAgICBiMDAgKiBhMDEgKyBiMDEgKiBhMTEgKyBiMDIgKiBhMjEgKyBiMDMgKiBhMzEsXFxyXFxuICAgICAgICAgICAgICAgIGIwMCAqIGEwMiArIGIwMSAqIGExMiArIGIwMiAqIGEyMiArIGIwMyAqIGEzMixcXHJcXG4gICAgICAgICAgICAgICAgYjAwICogYTAzICsgYjAxICogYTEzICsgYjAyICogYTIzICsgYjAzICogYTMzLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDAgKyBiMTEgKiBhMTAgKyBiMTIgKiBhMjAgKyBiMTMgKiBhMzAsXFxyXFxuICAgICAgICAgICAgICAgIGIxMCAqIGEwMSArIGIxMSAqIGExMSArIGIxMiAqIGEyMSArIGIxMyAqIGEzMSxcXHJcXG4gICAgICAgICAgICAgICAgYjEwICogYTAyICsgYjExICogYTEyICsgYjEyICogYTIyICsgYjEzICogYTMyLFxcclxcbiAgICAgICAgICAgICAgICBiMTAgKiBhMDMgKyBiMTEgKiBhMTMgKyBiMTIgKiBhMjMgKyBiMTMgKiBhMzMsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMCArIGIyMSAqIGExMCArIGIyMiAqIGEyMCArIGIyMyAqIGEzMCxcXHJcXG4gICAgICAgICAgICAgICAgYjIwICogYTAxICsgYjIxICogYTExICsgYjIyICogYTIxICsgYjIzICogYTMxLFxcclxcbiAgICAgICAgICAgICAgICBiMjAgKiBhMDIgKyBiMjEgKiBhMTIgKyBiMjIgKiBhMjIgKyBiMjMgKiBhMzIsXFxyXFxuICAgICAgICAgICAgICAgIGIyMCAqIGEwMyArIGIyMSAqIGExMyArIGIyMiAqIGEyMyArIGIyMyAqIGEzMyxcXHJcXG4gICAgICAgICAgICAgICAgYjMwICogYTAwICsgYjMxICogYTEwICsgYjMyICogYTIwICsgYjMzICogYTMwLFxcclxcbiAgICAgICAgICAgICAgICBiMzAgKiBhMDEgKyBiMzEgKiBhMTEgKyBiMzIgKiBhMjEgKyBiMzMgKiBhMzEsXFxyXFxuICAgICAgICAgICAgICAgIGIzMCAqIGEwMiArIGIzMSAqIGExMiArIGIzMiAqIGEyMiArIGIzMyAqIGEzMixcXHJcXG4gICAgICAgICAgICAgICAgYjMwICogYTAzICsgYjMxICogYTEzICsgYjMyICogYTIzICsgYjMzICogYTMzLFxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbiAgICBtYXQ0LmlkZW50aXR5ID0gbmV3IG1hdDQoKS5zZXRJZGVudGl0eSgpO1xcclxcbiAgICByZXR1cm4gbWF0NDtcXHJcXG59KCkpO1xcclxcbmV4cG9ydHMuZGVmYXVsdCA9IG1hdDQ7XFxyXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWF0NC5qcy5tYXAvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OUFkR3hoZFd0cllXNHZkSE50TDJScGMzUXZiV0YwTkM1cWN6OHpNV1UzSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE8wRkJRMklzT0VOQlFUaERMR05CUVdNN1FVRkROVVFzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGxFUVVGUk8wRkJRemRDTEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UkVGQlVUdEJRVU0zUWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZVVSQlFWRTdRVUZETjBJc2EwSkJRV3RDTEcxQ1FVRlBMRU5CUVVNc2JVVkJRV0U3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1VVRkJVVHRCUVVNdlFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkNRVUYxUWl4UlFVRlJPMEZCUXk5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMURRVUZ0UXl4cFEwRkJhVU03UVVGRGNFVXNkVUpCUVhWQ0xGRkJRVkU3UVVGREwwSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MFFrRkJORUlzZDBKQlFYZENPMEZCUTNCRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXRZWFEwTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUcxaGRETmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyMWhkRE5jSWlrN1hISmNiblpoY2lCMlpXTXpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOTJaV016WENJcE8xeHlYRzUyWVhJZ2RtVmpORjh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZkbVZqTkZ3aUtUdGNjbHh1ZG1GeUlHTnZibk4wWVc1MGMxOHhJRDBnY21WeGRXbHlaU2hjSWk0dlkyOXVjM1JoYm5SelhDSXBPMXh5WEc1MllYSWdiV0YwTkNBOUlDOHFLaUJBWTJ4aGMzTWdLaThnS0daMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlHMWhkRFFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLREUyS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVnpJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVwYm1sMEtIWmhiSFZsY3lrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdVlYUWdQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYmFXNWtaWGhkTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbWx1YVhRZ1BTQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybGRJRDBnZG1Gc2RXVnpXMmxkTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzV5WlhObGRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJREUyT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdLR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCdFlYUTBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTVRZN0lHa3JLeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExuWmhiSFZsYzF0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1aGJHd2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSaGRHRWdQU0JiWFR0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJREUyT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVZ0cFhTQTlJSFJvYVhNdWRtRnNkV1Z6VzJsZE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CeWIzUnZkSGx3WlM1eWIzY2dQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzF0cGJtUmxlQ0FxSURRZ0t5QXdYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLaUEwSUNzZ01WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmx1WkdWNElDb2dOQ0FySURKZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxdHBibVJsZUNBcUlEUWdLeUF6WFN4Y2NseHVJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERRdWNISnZkRzkwZVhCbExtTnZiQ0E5SUdaMWJtTjBhVzl1SUNocGJtUmxlQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWelcybHVaR1Y0WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYmFXNWtaWGdnS3lBMFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJhVzVrWlhnZ0t5QTRYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iYVc1a1pYZ2dLeUF4TWwwc1hISmNiaUFnSUNBZ0lDQWdYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNWxjWFZoYkhNZ1BTQm1kVzVqZEdsdmJpQW9iV0YwY21sNExDQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2h5WlhOb2IyeGtJRDA5UFNCMmIybGtJREFwSUhzZ2RHaHlaWE5vYjJ4a0lEMGdZMjl1YzNSaGJuUnpYekV1WlhCemFXeHZianNnZlZ4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTJZV3gxWlhOYmFWMGdMU0J0WVhSeWFYZ3VZWFFvYVNrcElENGdkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdiV0YwTkM1d2NtOTBiM1I1Y0dVdVpHVjBaWEp0YVc1aGJuUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01DQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ERWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNeUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEFnUFNCMGFHbHpMblpoYkhWbGMxczBYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJOVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRNZ1BTQjBhR2x6TG5aaGJIVmxjMXMzWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdkR2hwY3k1MllXeDFaWE5iT0YwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3psZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzeE1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNeUE5SUhSb2FYTXVkbUZzZFdWeld6RXhYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE13SUQwZ2RHaHBjeTUyWVd4MVpYTmJNVEpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTXpFZ1BTQjBhR2x6TG5aaGJIVmxjMXN4TTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pFMFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUTXpJRDBnZEdocGN5NTJZV3gxWlhOYk1UVmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TUNBOUlHRXdNQ0FxSUdFeE1TQXRJR0V3TVNBcUlHRXhNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURFZ1BTQmhNREFnS2lCaE1USWdMU0JoTURJZ0tpQmhNVEE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBeUlEMGdZVEF3SUNvZ1lURXpJQzBnWVRBeklDb2dZVEV3TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd015QTlJR0V3TVNBcUlHRXhNaUF0SUdFd01pQXFJR0V4TVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1EUWdQU0JoTURFZ0tpQmhNVE1nTFNCaE1ETWdLaUJoTVRFN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQTFJRDBnWVRBeUlDb2dZVEV6SUMwZ1lUQXpJQ29nWVRFeU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdOaUE5SUdFeU1DQXFJR0V6TVNBdElHRXlNU0FxSUdFek1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRGNnUFNCaE1qQWdLaUJoTXpJZ0xTQmhNaklnS2lCaE16QTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREE0SUQwZ1lUSXdJQ29nWVRNeklDMGdZVEl6SUNvZ1lUTXdPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3T1NBOUlHRXlNU0FxSUdFek1pQXRJR0V5TWlBcUlHRXpNVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTVRBZ1BTQmhNakVnS2lCaE16TWdMU0JoTWpNZ0tpQmhNekU3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERFeElEMGdZVEl5SUNvZ1lUTXpJQzBnWVRJeklDb2dZVE15TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBb1pHVjBNREFnS2lCa1pYUXhNU0F0SUdSbGREQXhJQ29nWkdWME1UQWdLeUJrWlhRd01pQXFJR1JsZERBNUlDc2daR1YwTURNZ0tpQmtaWFF3T0NBdElHUmxkREEwSUNvZ1pHVjBNRGNnS3lCa1pYUXdOU0FxSUdSbGREQTJLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNXpaWFJKWkdWdWRHbDBlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTkYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnTVR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXMyWFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemhkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNVhTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEJkSUQwZ01UdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1WMGdQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV5WFNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UTmRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TkYwZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RTFYU0E5SURFN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVkSEpoYm5Od2IzTmxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMFpXMXdNREVnUFNCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkR1Z0Y0RBeUlEMGdkR2hwY3k1MllXeDFaWE5iTWwwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhSbGJYQXdNeUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjBaVzF3TVRJZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZEdWdGNERXpJRDBnZEdocGN5NTJZV3gxWlhOYk4xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmxiWEF5TXlBOUlIUm9hWE11ZG1Gc2RXVnpXekV4WFR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFNBOUlIUm9hWE11ZG1Gc2RXVnpXelJkTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ2RHaHBjeTUyWVd4MVpYTmJPRjA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCMGFHbHpMblpoYkhWbGMxc3hNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJORjBnUFNCMFpXMXdNREU3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNCMGFHbHpMblpoYkhWbGMxczVYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczNYU0E5SUhSb2FYTXVkbUZzZFdWeld6RXpYVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczRYU0E5SUhSbGJYQXdNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczVYU0E5SUhSbGJYQXhNanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNVjBnUFNCMGFHbHpMblpoYkhWbGMxc3hORjA3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVEpkSUQwZ2RHVnRjREF6TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV6WFNBOUlIUmxiWEF4TXp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4TkYwZ1BTQjBaVzF3TWpNN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTkwYjNSNWNHVXVhVzUyWlhKelpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRBd0lEMGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01TQTlJSFJvYVhNdWRtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ESWdQU0IwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXpJRDBnZEdocGN5NTJZV3gxWlhOYk0xMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNQ0E5SUhSb2FYTXVkbUZzZFdWeld6UmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEVnUFNCMGFHbHpMblpoYkhWbGMxczFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJObDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TXlBOUlIUm9hWE11ZG1Gc2RXVnpXemRkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpBZ1BTQjBhR2x6TG5aaGJIVmxjMXM0WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeElEMGdkR2hwY3k1MllXeDFaWE5iT1YwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1pQTlJSFJvYVhNdWRtRnNkV1Z6V3pFd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXpJRDBnZEdocGN5NTJZV3gxWlhOYk1URmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNekFnUFNCMGFHbHpMblpoYkhWbGMxc3hNbDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V6TVNBOUlIUm9hWE11ZG1Gc2RXVnpXekV6WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNeUlEMGdkR2hwY3k1MllXeDFaWE5iTVRSZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16TWdQU0IwYUdsekxuWmhiSFZsYzFzeE5WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREF3SUQwZ1lUQXdJQ29nWVRFeElDMGdZVEF4SUNvZ1lURXdPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF3TVNBOUlHRXdNQ0FxSUdFeE1pQXRJR0V3TWlBcUlHRXhNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTURJZ1BTQmhNREFnS2lCaE1UTWdMU0JoTURNZ0tpQmhNVEE3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZERBeklEMGdZVEF4SUNvZ1lURXlJQzBnWVRBeUlDb2dZVEV4TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJrWlhRd05DQTlJR0V3TVNBcUlHRXhNeUF0SUdFd015QXFJR0V4TVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWkdWME1EVWdQU0JoTURJZ0tpQmhNVE1nTFNCaE1ETWdLaUJoTVRJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGREQTJJRDBnWVRJd0lDb2dZVE14SUMwZ1lUSXhJQ29nWVRNd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdOeUE5SUdFeU1DQXFJR0V6TWlBdElHRXlNaUFxSUdFek1EdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNRGdnUFNCaE1qQWdLaUJoTXpNZ0xTQmhNak1nS2lCaE16QTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxkREE1SUQwZ1lUSXhJQ29nWVRNeUlDMGdZVEl5SUNvZ1lUTXhPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF4TUNBOUlHRXlNU0FxSUdFek15QXRJR0V5TXlBcUlHRXpNVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwTVRFZ1BTQmhNaklnS2lCaE16TWdMU0JoTWpNZ0tpQmhNekk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR1JsZENBOUlDaGtaWFF3TUNBcUlHUmxkREV4SUMwZ1pHVjBNREVnS2lCa1pYUXhNQ0FySUdSbGREQXlJQ29nWkdWME1Ea2dLeUJrWlhRd015QXFJR1JsZERBNElDMGdaR1YwTURRZ0tpQmtaWFF3TnlBcklHUmxkREExSUNvZ1pHVjBNRFlwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWFFnUFNBeExqQWdMeUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQW9ZVEV4SUNvZ1pHVjBNVEVnTFNCaE1USWdLaUJrWlhReE1DQXJJR0V4TXlBcUlHUmxkREE1S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUNndFlUQXhJQ29nWkdWME1URWdLeUJoTURJZ0tpQmtaWFF4TUNBdElHRXdNeUFxSUdSbGREQTVLU0FxSUdSbGREdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJQ2hoTXpFZ0tpQmtaWFF3TlNBdElHRXpNaUFxSUdSbGREQTBJQ3NnWVRNeklDb2daR1YwTURNcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ0tDMWhNakVnS2lCa1pYUXdOU0FySUdFeU1pQXFJR1JsZERBMElDMGdZVEl6SUNvZ1pHVjBNRE1wSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6UmRJRDBnS0MxaE1UQWdLaUJrWlhReE1TQXJJR0V4TWlBcUlHUmxkREE0SUMwZ1lURXpJQ29nWkdWME1EY3BJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pWZElEMGdLR0V3TUNBcUlHUmxkREV4SUMwZ1lUQXlJQ29nWkdWME1EZ2dLeUJoTURNZ0tpQmtaWFF3TnlrZ0tpQmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJObDBnUFNBb0xXRXpNQ0FxSUdSbGREQTFJQ3NnWVRNeUlDb2daR1YwTURJZ0xTQmhNek1nS2lCa1pYUXdNU2tnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk4xMGdQU0FvWVRJd0lDb2daR1YwTURVZ0xTQmhNaklnS2lCa1pYUXdNaUFySUdFeU15QXFJR1JsZERBeEtTQXFJR1JsZER0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM0WFNBOUlDaGhNVEFnS2lCa1pYUXhNQ0F0SUdFeE1TQXFJR1JsZERBNElDc2dZVEV6SUNvZ1pHVjBNRFlwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6bGRJRDBnS0MxaE1EQWdLaUJrWlhReE1DQXJJR0V3TVNBcUlHUmxkREE0SUMwZ1lUQXpJQ29nWkdWME1EWXBJQ29nWkdWME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFd1hTQTlJQ2hoTXpBZ0tpQmtaWFF3TkNBdElHRXpNU0FxSUdSbGREQXlJQ3NnWVRNeklDb2daR1YwTURBcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV4WFNBOUlDZ3RZVEl3SUNvZ1pHVjBNRFFnS3lCaE1qRWdLaUJrWlhRd01pQXRJR0V5TXlBcUlHUmxkREF3S1NBcUlHUmxkRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hNbDBnUFNBb0xXRXhNQ0FxSUdSbGREQTVJQ3NnWVRFeElDb2daR1YwTURjZ0xTQmhNVElnS2lCa1pYUXdOaWtnS2lCa1pYUTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UTmRJRDBnS0dFd01DQXFJR1JsZERBNUlDMGdZVEF4SUNvZ1pHVjBNRGNnS3lCaE1ESWdLaUJrWlhRd05pa2dLaUJrWlhRN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVRSZElEMGdLQzFoTXpBZ0tpQmtaWFF3TXlBcklHRXpNU0FxSUdSbGREQXhJQzBnWVRNeUlDb2daR1YwTURBcElDb2daR1YwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekUxWFNBOUlDaGhNakFnS2lCa1pYUXdNeUF0SUdFeU1TQXFJR1JsZERBeElDc2dZVEl5SUNvZ1pHVjBNREFwSUNvZ1pHVjBPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG0xMWJIUnBjR3g1SUQwZ1puVnVZM1JwYjI0Z0tHMWhkSEpwZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1EQWdQU0IwYUdsekxuWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXhJRDBnZEdocGN5NTJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNaUE5SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNRE1nUFNCMGFHbHpMblpoYkhWbGMxc3pYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV3SUQwZ2RHaHBjeTUyWVd4MVpYTmJORjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TVNBOUlIUm9hWE11ZG1Gc2RXVnpXelZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRJZ1BTQjBhR2x6TG5aaGJIVmxjMXMyWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRFeklEMGdkR2hwY3k1MllXeDFaWE5iTjEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1DQTlJSFJvYVhNdWRtRnNkV1Z6V3poZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qRWdQU0IwYUdsekxuWmhiSFZsYzFzNVhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUSXlJRDBnZEdocGN5NTJZV3gxWlhOYk1UQmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNak1nUFNCMGFHbHpMblpoYkhWbGMxc3hNVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V6TUNBOUlIUm9hWE11ZG1Gc2RXVnpXekV5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNeElEMGdkR2hwY3k1MllXeDFaWE5iTVROZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE16SWdQU0IwYUdsekxuWmhiSFZsYzFzeE5GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXpNeUE5SUhSb2FYTXVkbUZzZFdWeld6RTFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakFnUFNCdFlYUnlhWGd1WVhRb01DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhJRDBnYldGMGNtbDRMbUYwS0RFcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1pQTlJRzFoZEhKcGVDNWhkQ2d5S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpNZ1BTQnRZWFJ5YVhndVlYUW9NeWs3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBnUFNCaU1DQXFJR0V3TUNBcklHSXhJQ29nWVRFd0lDc2dZaklnS2lCaE1qQWdLeUJpTXlBcUlHRXpNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUdJd0lDb2dZVEF4SUNzZ1lqRWdLaUJoTVRFZ0t5QmlNaUFxSUdFeU1TQXJJR0l6SUNvZ1lUTXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRJRDBnWWpBZ0tpQmhNRElnS3lCaU1TQXFJR0V4TWlBcklHSXlJQ29nWVRJeUlDc2dZak1nS2lCaE16STdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMGdQU0JpTUNBcUlHRXdNeUFySUdJeElDb2dZVEV6SUNzZ1lqSWdLaUJoTWpNZ0t5QmlNeUFxSUdFek16dGNjbHh1SUNBZ0lDQWdJQ0JpTUNBOUlHMWhkSEpwZUM1aGRDZzBLVHRjY2x4dUlDQWdJQ0FnSUNCaU1TQTlJRzFoZEhKcGVDNWhkQ2cxS1R0Y2NseHVJQ0FnSUNBZ0lDQmlNaUE5SUcxaGRISnBlQzVoZENnMktUdGNjbHh1SUNBZ0lDQWdJQ0JpTXlBOUlHMWhkSEpwZUM1aGRDZzNLVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczBYU0E5SUdJd0lDb2dZVEF3SUNzZ1lqRWdLaUJoTVRBZ0t5QmlNaUFxSUdFeU1DQXJJR0l6SUNvZ1lUTXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6VmRJRDBnWWpBZ0tpQmhNREVnS3lCaU1TQXFJR0V4TVNBcklHSXlJQ29nWVRJeElDc2dZak1nS2lCaE16RTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk5sMGdQU0JpTUNBcUlHRXdNaUFySUdJeElDb2dZVEV5SUNzZ1lqSWdLaUJoTWpJZ0t5QmlNeUFxSUdFek1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJR0l3SUNvZ1lUQXpJQ3NnWWpFZ0tpQmhNVE1nS3lCaU1pQXFJR0V5TXlBcklHSXpJQ29nWVRNek8xeHlYRzRnSUNBZ0lDQWdJR0l3SUQwZ2JXRjBjbWw0TG1GMEtEZ3BPMXh5WEc0Z0lDQWdJQ0FnSUdJeElEMGdiV0YwY21sNExtRjBLRGtwTzF4eVhHNGdJQ0FnSUNBZ0lHSXlJRDBnYldGMGNtbDRMbUYwS0RFd0tUdGNjbHh1SUNBZ0lDQWdJQ0JpTXlBOUlHMWhkSEpwZUM1aGRDZ3hNU2s3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJPRjBnUFNCaU1DQXFJR0V3TUNBcklHSXhJQ29nWVRFd0lDc2dZaklnS2lCaE1qQWdLeUJpTXlBcUlHRXpNRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczVYU0E5SUdJd0lDb2dZVEF4SUNzZ1lqRWdLaUJoTVRFZ0t5QmlNaUFxSUdFeU1TQXJJR0l6SUNvZ1lUTXhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXdYU0E5SUdJd0lDb2dZVEF5SUNzZ1lqRWdLaUJoTVRJZ0t5QmlNaUFxSUdFeU1pQXJJR0l6SUNvZ1lUTXlPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXhYU0E5SUdJd0lDb2dZVEF6SUNzZ1lqRWdLaUJoTVRNZ0t5QmlNaUFxSUdFeU15QXJJR0l6SUNvZ1lUTXpPMXh5WEc0Z0lDQWdJQ0FnSUdJd0lEMGdiV0YwY21sNExtRjBLREV5S1R0Y2NseHVJQ0FnSUNBZ0lDQmlNU0E5SUcxaGRISnBlQzVoZENneE15azdYSEpjYmlBZ0lDQWdJQ0FnWWpJZ1BTQnRZWFJ5YVhndVlYUW9NVFFwTzF4eVhHNGdJQ0FnSUNBZ0lHSXpJRDBnYldGMGNtbDRMbUYwS0RFMUtUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1sMGdQU0JpTUNBcUlHRXdNQ0FySUdJeElDb2dZVEV3SUNzZ1lqSWdLaUJoTWpBZ0t5QmlNeUFxSUdFek1EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE0xMGdQU0JpTUNBcUlHRXdNU0FySUdJeElDb2dZVEV4SUNzZ1lqSWdLaUJoTWpFZ0t5QmlNeUFxSUdFek1UdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5GMGdQU0JpTUNBcUlHRXdNaUFySUdJeElDb2dZVEV5SUNzZ1lqSWdLaUJoTWpJZ0t5QmlNeUFxSUdFek1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5WMGdQU0JpTUNBcUlHRXdNeUFySUdJeElDb2dZVEV6SUNzZ1lqSWdLaUJoTWpNZ0t5QmlNeUFxSUdFek16dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlVlpsWXpNZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUIyWldNelh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pSZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6aGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV5WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iT1YwZ0tpQjZJQ3NnZEdocGN5NTJZV3gxWlhOYk1UTmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBcUlIZ2dLeUIwYUdsekxuWmhiSFZsYzFzMlhTQXFJSGtnS3lCMGFHbHpMblpoYkhWbGMxc3hNRjBnS2lCNklDc2dkR2hwY3k1MllXeDFaWE5iTVRSZExGeHlYRzRnSUNBZ0lDQWdJRjBwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVWbVZqTkNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNMFh6RXVaR1ZtWVhWc2RDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhabFkzUnZjaTUzTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIUm9hWE11ZG1Gc2RXVnpXekJkSUNvZ2VDQXJJSFJvYVhNdWRtRnNkV1Z6V3pSZElDb2dlU0FySUhSb2FYTXVkbUZzZFdWeld6aGRJQ29nZWlBcklIUm9hWE11ZG1Gc2RXVnpXekV5WFNBcUlIYzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZEdocGN5NTJZV3gxWlhOYk1WMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iT1YwZ0tpQjZJQ3NnZEdocGN5NTJZV3gxWlhOYk1UTmRJQ29nZHp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFNBcUlIZ2dLeUIwYUdsekxuWmhiSFZsYzFzMlhTQXFJSGtnS3lCMGFHbHpMblpoYkhWbGMxc3hNRjBnS2lCNklDc2dkR2hwY3k1MllXeDFaWE5iTVRSZElDb2dkenRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCMGFHbHpMblpoYkhWbGMxc3pYU0FxSUhnZ0t5QjBhR2x6TG5aaGJIVmxjMXMzWFNBcUlIa2dLeUIwYUdsekxuWmhiSFZsYzFzeE1WMGdLaUI2SUNzZ2RHaHBjeTUyWVd4MVpYTmJNVFZkSUNvZ2R6dGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbkJ5YjNSdmRIbHdaUzUwYjAxaGRETWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJ0WVhRelh6RXVaR1ZtWVhWc2RDaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNbDBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxczFYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTmwwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6aGRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM1WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1UQmRMRnh5WEc0Z0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Y0hKdmRHOTBlWEJsTG5SdlNXNTJaWEp6WlUxaGRETWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01DQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ERWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXhNQ0E5SUhSb2FYTXVkbUZzZFdWeld6UmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEVnUFNCMGFHbHpMblpoYkhWbGMxczFYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV5SUQwZ2RHaHBjeTUyWVd4MVpYTmJObDA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V5TUNBOUlIUm9hWE11ZG1Gc2RXVnpXemhkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpFZ1BTQjBhR2x6TG5aaGJIVmxjMXM1WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJeUlEMGdkR2hwY3k1MllXeDFaWE5iTVRCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCa1pYUXdNU0E5SUdFeU1pQXFJR0V4TVNBdElHRXhNaUFxSUdFeU1UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1pHVjBNVEVnUFNBdFlUSXlJQ29nWVRFd0lDc2dZVEV5SUNvZ1lUSXdPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaWFF5TVNBOUlHRXlNU0FxSUdFeE1DQXRJR0V4TVNBcUlHRXlNRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdaR1YwSUQwZ1lUQXdJQ29nWkdWME1ERWdLeUJoTURFZ0tpQmtaWFF4TVNBcklHRXdNaUFxSUdSbGRESXhPMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1YwS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYUWdQU0F4TGpBZ0x5QmtaWFE3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QnRZWFF6WHpFdVpHVm1ZWFZzZENoYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGREQXhJQ29nWkdWMExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb0xXRXlNaUFxSUdFd01TQXJJR0V3TWlBcUlHRXlNU2tnS2lCa1pYUXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDaGhNVElnS2lCaE1ERWdMU0JoTURJZ0tpQmhNVEVwSUNvZ1pHVjBMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWFF4TVNBcUlHUmxkQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdLR0V5TWlBcUlHRXdNQ0F0SUdFd01pQXFJR0V5TUNrZ0tpQmtaWFFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2d0WVRFeUlDb2dZVEF3SUNzZ1lUQXlJQ29nWVRFd0tTQXFJR1JsZEN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWME1qRWdLaUJrWlhRc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNndFlUSXhJQ29nWVRBd0lDc2dZVEF4SUNvZ1lUSXdLU0FxSUdSbGRDeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tHRXhNU0FxSUdFd01DQXRJR0V3TVNBcUlHRXhNQ2tnS2lCa1pYUXNYSEpjYmlBZ0lDQWdJQ0FnWFNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2JXRjBOQzV3Y205MGIzUjVjR1V1ZEhKaGJuTnNZWFJsSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekV5WFNBclBTQjBhR2x6TG5aaGJIVmxjMXN3WFNBcUlIZ2dLeUIwYUdsekxuWmhiSFZsYzFzMFhTQXFJSGtnS3lCMGFHbHpMblpoYkhWbGMxczRYU0FxSUhvN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVROZElDczlJSFJvYVhNdWRtRnNkV1Z6V3pGZElDb2dlQ0FySUhSb2FYTXVkbUZzZFdWeld6VmRJQ29nZVNBcklIUm9hWE11ZG1Gc2RXVnpXemxkSUNvZ2VqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE5GMGdLejBnZEdocGN5NTJZV3gxWlhOYk1sMGdLaUI0SUNzZ2RHaHBjeTUyWVd4MVpYTmJObDBnS2lCNUlDc2dkR2hwY3k1MllXeDFaWE5iTVRCZElDb2dlanRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hOVjBnS3owZ2RHaHBjeTUyWVd4MVpYTmJNMTBnS2lCNElDc2dkR2hwY3k1MllXeDFaWE5iTjEwZ0tpQjVJQ3NnZEdocGN5NTJZV3gxWlhOYk1URmRJQ29nZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J0WVhRMExuQnliM1J2ZEhsd1pTNXpZMkZzWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSG9nUFNCMlpXTjBiM0l1ZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBcVBTQjRPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJQ285SUhnN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ0tqMGdlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3pYU0FxUFNCNE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pSZElDbzlJSGs3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJOVjBnS2owZ2VUdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQXFQU0I1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXemRkSUNvOUlIazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk9GMGdLajBnZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXM1WFNBcVBTQjZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RXdYU0FxUFNCNk8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pFeFhTQXFQU0I2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJRzFoZERRdWNISnZkRzkwZVhCbExuSnZkR0YwWlNBOUlHWjFibU4wYVc5dUlDaGhibWRzWlN3Z1lYaHBjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ1lYaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ1lYaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ1lYaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJzWlc1bmRHZ2dQU0JOWVhSb0xuTnhjblFvZUNBcUlIZ2dLeUI1SUNvZ2VTQXJJSG9nS2lCNktUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXeGxibWQwYUNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR3hsYm1kMGFDQWhQVDBnTVNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCc1pXNW5kR2dnUFNBeElDOGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNElDbzlJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2VTQXFQU0JzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIb2dLajBnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnY3lBOUlFMWhkR2d1YzJsdUtHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWXlBOUlFMWhkR2d1WTI5ektHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZENBOUlERXVNQ0F0SUdNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFd01DQTlJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1ERWdQU0IwYUdsekxuWmhiSFZsYzFzeFhUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNeUE5SUhSb2FYTXVkbUZzZFdWeld6TmRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVEFnUFNCMGFHbHpMblpoYkhWbGMxczBYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2RHaHBjeTUyWVd4MVpYTmJOVjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V4TWlBOUlIUm9hWE11ZG1Gc2RXVnpXelpkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTVRNZ1BTQjBhR2x6TG5aaGJIVmxjMXMzWFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdkR2hwY3k1MllXeDFaWE5iT0YwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeU1TQTlJSFJvYVhNdWRtRnNkV1Z6V3psZE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1qSWdQU0IwYUdsekxuWmhiSFZsYzFzeE1GMDdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNeUE5SUhSb2FYTXVkbUZzZFdWeld6RXhYVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF3SUQwZ2VDQXFJSGdnS2lCMElDc2dZenRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF4SUQwZ2VTQXFJSGdnS2lCMElDc2dlaUFxSUhNN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01pQTlJSG9nS2lCNElDb2dkQ0F0SUhrZ0tpQnpPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNVEFnUFNCNElDb2dlU0FxSUhRZ0xTQjZJQ29nY3p0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeElEMGdlU0FxSUhrZ0tpQjBJQ3NnWXp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFeUlEMGdlaUFxSUhrZ0tpQjBJQ3NnZUNBcUlITTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXlNQ0E5SUhnZ0tpQjZJQ29nZENBcklIa2dLaUJ6TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTWpFZ1BTQjVJQ29nZWlBcUlIUWdMU0I0SUNvZ2N6dGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqSXlJRDBnZWlBcUlIb2dLaUIwSUNzZ1l6dGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJR0V3TUNBcUlHSXdNQ0FySUdFeE1DQXFJR0l3TVNBcklHRXlNQ0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJR0V3TVNBcUlHSXdNQ0FySUdFeE1TQXFJR0l3TVNBcklHRXlNU0FxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJR0V3TWlBcUlHSXdNQ0FySUdFeE1pQXFJR0l3TVNBcklHRXlNaUFxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzelhTQTlJR0V3TXlBcUlHSXdNQ0FySUdFeE15QXFJR0l3TVNBcklHRXlNeUFxSUdJd01qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMFhTQTlJR0V3TUNBcUlHSXhNQ0FySUdFeE1DQXFJR0l4TVNBcklHRXlNQ0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMVhTQTlJR0V3TVNBcUlHSXhNQ0FySUdFeE1TQXFJR0l4TVNBcklHRXlNU0FxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzMlhTQTlJR0V3TWlBcUlHSXhNQ0FySUdFeE1pQXFJR0l4TVNBcklHRXlNaUFxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzM1hTQTlJR0V3TXlBcUlHSXhNQ0FySUdFeE15QXFJR0l4TVNBcklHRXlNeUFxSUdJeE1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNFhTQTlJR0V3TUNBcUlHSXlNQ0FySUdFeE1DQXFJR0l5TVNBcklHRXlNQ0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzNVhTQTlJR0V3TVNBcUlHSXlNQ0FySUdFeE1TQXFJR0l5TVNBcklHRXlNU0FxSUdJeU1qdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeE1GMGdQU0JoTURJZ0tpQmlNakFnS3lCaE1USWdLaUJpTWpFZ0t5QmhNaklnS2lCaU1qSTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1URmRJRDBnWVRBeklDb2dZakl3SUNzZ1lURXpJQ29nWWpJeElDc2dZVEl6SUNvZ1lqSXlPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lHMWhkRFF1Wm5KMWMzUjFiU0E5SUdaMWJtTjBhVzl1SUNoc1pXWjBMQ0J5YVdkb2RDd2dZbTkwZEc5dExDQjBiM0FzSUc1bFlYSXNJR1poY2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeWJDQTlJQ2h5YVdkb2RDQXRJR3hsWm5RcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCMFlpQTlJQ2gwYjNBZ0xTQmliM1IwYjIwcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCbWJpQTlJQ2htWVhJZ0xTQnVaV0Z5S1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRzFoZERRb1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBb2JtVmhjaUFxSURJcElDOGdjbXdzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ2h1WldGeUlDb2dNaWtnTHlCMFlpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tISnBaMmgwSUNzZ2JHVm1kQ2tnTHlCeWJDeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0tIUnZjQ0FySUdKdmRIUnZiU2tnTHlCMFlpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0xTaG1ZWElnS3lCdVpXRnlLU0F2SUdadUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdE1TeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0xTaG1ZWElnS2lCdVpXRnlJQ29nTWlrZ0x5Qm1iaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdNQ3hjY2x4dUlDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnRZWFEwTG5CbGNuTndaV04wYVhabElEMGdablZ1WTNScGIyNGdLR1p2ZGl3Z1lYTndaV04wTENCdVpXRnlMQ0JtWVhJcElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2RHOXdJRDBnYm1WaGNpQXFJRTFoZEdndWRHRnVLR1p2ZGlBcUlFMWhkR2d1VUVrZ0x5QXpOakF1TUNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKcFoyaDBJRDBnZEc5d0lDb2dZWE53WldOME8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRZWFEwTG1aeWRYTjBkVzBvTFhKcFoyaDBMQ0J5YVdkb2RDd2dMWFJ2Y0N3Z2RHOXdMQ0J1WldGeUxDQm1ZWElwTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUcxaGREUXViM0owYUc5bmNtRndhR2xqSUQwZ1puVnVZM1JwYjI0Z0tHeGxablFzSUhKcFoyaDBMQ0JpYjNSMGIyMHNJSFJ2Y0N3Z2JtVmhjaXdnWm1GeUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlISnNJRDBnS0hKcFoyaDBJQzBnYkdWbWRDazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIUmlJRDBnS0hSdmNDQXRJR0p2ZEhSdmJTazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHWnVJRDBnS0daaGNpQXRJRzVsWVhJcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnYldGME5DaGJYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lESWdMeUJ5YkN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnTWlBdklIUmlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXRNaUF2SUdadUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdEtHeGxablFnS3lCeWFXZG9kQ2tnTHlCeWJDeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0xTaDBiM0FnS3lCaWIzUjBiMjBwSUM4Z2RHSXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDMG9abUZ5SUNzZ2JtVmhjaWtnTHlCbWJpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ01TeGNjbHh1SUNBZ0lDQWdJQ0JkS1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCdFlYUTBMbXh2YjJ0QmRDQTlJR1oxYm1OMGFXOXVJQ2h3YjNOcGRHbHZiaXdnZEdGeVoyVjBMQ0IxY0NrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMWNDQTlQVDBnZG05cFpDQXdLU0I3SUhWd0lEMGdkbVZqTTE4eExtUmxabUYxYkhRdWRYQTdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9jRzl6YVhScGIyNHVaWEYxWVd4ektIUmhjbWRsZENrcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhV1JsYm5ScGRIazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RtVmpNMTh4TG1SbFptRjFiSFF1WkdsbVptVnlaVzVqWlNod2IzTnBkR2x2Yml3Z2RHRnlaMlYwS1M1dWIzSnRZV3hwZW1Vb0tUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFpsWXpOZk1TNWtaV1poZFd4MExtTnliM056S0hWd0xDQjZLUzV1YjNKdFlXeHBlbVVvS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZek5mTVM1a1pXWmhkV3gwTG1OeWIzTnpLSG9zSUhncExtNXZjbTFoYkdsNlpTZ3BPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ2JXRjBOQ2hiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGd1ZUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZVM1NExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNkxuZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lEQXNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIZ3VlU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdlUzU1TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I2TG5rc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURBc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhndWVpeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2VTNTZMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjZMbm9zWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREFzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQzEyWldNelh6RXVaR1ZtWVhWc2RDNWtiM1FvZUN3Z2NHOXphWFJwYjI0cExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBdGRtVmpNMTh4TG1SbFptRjFiSFF1Wkc5MEtIa3NJSEJ2YzJsMGFXOXVLU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdMWFpsWXpOZk1TNWtaV1poZFd4MExtUnZkQ2g2TENCd2IzTnBkR2x2Ymlrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSURFc1hISmNiaUFnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXdjbTlrZFdOMElEMGdablZ1WTNScGIyNGdLRzB4TENCdE1pd2djbVZ6ZFd4MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXdNQ0E5SUcweExtRjBLREFwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTURFZ1BTQnRNUzVoZENneEtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lUQXlJRDBnYlRFdVlYUW9NaWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0V3TXlBOUlHMHhMbUYwS0RNcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaE1UQWdQU0J0TVM1aGRDZzBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVEV4SUQwZ2JURXVZWFFvTlNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFeE1pQTlJRzB4TG1GMEtEWXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNVE1nUFNCdE1TNWhkQ2czS1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRJd0lEMGdiVEV1WVhRb09DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNU0E5SUcweExtRjBLRGtwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJoTWpJZ1BTQnRNUzVoZENneE1DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHRXlNeUE5SUcweExtRjBLREV4S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWVRNd0lEMGdiVEV1WVhRb01USXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmhNekVnUFNCdE1TNWhkQ2d4TXlrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdFek1pQTlJRzB4TG1GMEtERTBLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZVE16SUQwZ2JURXVZWFFvTVRVcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1EQWdQU0J0TWk1aGRDZ3dLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakF4SUQwZ2JUSXVZWFFvTVNrN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdJd01pQTlJRzB5TG1GMEtESXBPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQmlNRE1nUFNCdE1pNWhkQ2d6S1R0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnWWpFd0lEMGdiVEl1WVhRb05DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXhNU0E5SUcweUxtRjBLRFVwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTVRJZ1BTQnRNaTVoZENnMktUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqRXpJRDBnYlRJdVlYUW9OeWs3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l5TUNBOUlHMHlMbUYwS0RncE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qRWdQU0J0TWk1aGRDZzVLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdZakl5SUQwZ2JUSXVZWFFvTVRBcE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaU1qTWdQU0J0TWk1aGRDZ3hNU2s3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR0l6TUNBOUlHMHlMbUYwS0RFeUtUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1lqTXhJRDBnYlRJdVlYUW9NVE1wTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJpTXpJZ1BTQnRNaTVoZENneE5DazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHSXpNeUE5SUcweUxtRjBLREUxS1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvY21WemRXeDBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzNWc2RDNXBibWwwS0Z0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd01DQXJJR0l3TVNBcUlHRXhNQ0FySUdJd01pQXFJR0V5TUNBcklHSXdNeUFxSUdFek1DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l3TUNBcUlHRXdNU0FySUdJd01TQXFJR0V4TVNBcklHSXdNaUFxSUdFeU1TQXJJR0l3TXlBcUlHRXpNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJd01DQXFJR0V3TWlBcklHSXdNU0FxSUdFeE1pQXJJR0l3TWlBcUlHRXlNaUFySUdJd015QXFJR0V6TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXdNQ0FxSUdFd015QXJJR0l3TVNBcUlHRXhNeUFySUdJd01pQXFJR0V5TXlBcklHSXdNeUFxSUdFek15eGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l4TUNBcUlHRXdNQ0FySUdJeE1TQXFJR0V4TUNBcklHSXhNaUFxSUdFeU1DQXJJR0l4TXlBcUlHRXpNQ3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeE1DQXFJR0V3TVNBcklHSXhNU0FxSUdFeE1TQXJJR0l4TWlBcUlHRXlNU0FySUdJeE15QXFJR0V6TVN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXhNQ0FxSUdFd01pQXJJR0l4TVNBcUlHRXhNaUFySUdJeE1pQXFJR0V5TWlBcklHSXhNeUFxSUdFek1peGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l4TUNBcUlHRXdNeUFySUdJeE1TQXFJR0V4TXlBcklHSXhNaUFxSUdFeU15QXJJR0l4TXlBcUlHRXpNeXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TUNBcklHSXlNU0FxSUdFeE1DQXJJR0l5TWlBcUlHRXlNQ0FySUdJeU15QXFJR0V6TUN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXlNQ0FxSUdFd01TQXJJR0l5TVNBcUlHRXhNU0FySUdJeU1pQXFJR0V5TVNBcklHSXlNeUFxSUdFek1TeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l5TUNBcUlHRXdNaUFySUdJeU1TQXFJR0V4TWlBcklHSXlNaUFxSUdFeU1pQXJJR0l5TXlBcUlHRXpNaXhjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJeU1DQXFJR0V3TXlBcklHSXlNU0FxSUdFeE15QXJJR0l5TWlBcUlHRXlNeUFySUdJeU15QXFJR0V6TXl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXpNQ0FxSUdFd01DQXJJR0l6TVNBcUlHRXhNQ0FySUdJek1pQXFJR0V5TUNBcklHSXpNeUFxSUdFek1DeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0l6TUNBcUlHRXdNU0FySUdJek1TQXFJR0V4TVNBcklHSXpNaUFxSUdFeU1TQXJJR0l6TXlBcUlHRXpNU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdJek1DQXFJR0V3TWlBcklHSXpNU0FxSUdFeE1pQXJJR0l6TWlBcUlHRXlNaUFySUdJek15QXFJR0V6TWl4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSXpNQ0FxSUdFd015QXJJR0l6TVNBcUlHRXhNeUFySUdJek1pQXFJR0V5TXlBcklHSXpNeUFxSUdFek15eGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hTazdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFE3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lHMWhkRFFvVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqQXdJQ29nWVRBd0lDc2dZakF4SUNvZ1lURXdJQ3NnWWpBeUlDb2dZVEl3SUNzZ1lqQXpJQ29nWVRNd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakF3SUNvZ1lUQXhJQ3NnWWpBeElDb2dZVEV4SUNzZ1lqQXlJQ29nWVRJeElDc2dZakF6SUNvZ1lUTXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpBd0lDb2dZVEF5SUNzZ1lqQXhJQ29nWVRFeUlDc2dZakF5SUNvZ1lUSXlJQ3NnWWpBeklDb2dZVE15TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqQXdJQ29nWVRBeklDc2dZakF4SUNvZ1lURXpJQ3NnWWpBeUlDb2dZVEl6SUNzZ1lqQXpJQ29nWVRNekxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXdJQ3NnWWpFeElDb2dZVEV3SUNzZ1lqRXlJQ29nWVRJd0lDc2dZakV6SUNvZ1lUTXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpFd0lDb2dZVEF4SUNzZ1lqRXhJQ29nWVRFeElDc2dZakV5SUNvZ1lUSXhJQ3NnWWpFeklDb2dZVE14TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqRXdJQ29nWVRBeUlDc2dZakV4SUNvZ1lURXlJQ3NnWWpFeUlDb2dZVEl5SUNzZ1lqRXpJQ29nWVRNeUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakV3SUNvZ1lUQXpJQ3NnWWpFeElDb2dZVEV6SUNzZ1lqRXlJQ29nWVRJeklDc2dZakV6SUNvZ1lUTXpMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF3SUNzZ1lqSXhJQ29nWVRFd0lDc2dZakl5SUNvZ1lUSXdJQ3NnWWpJeklDb2dZVE13TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqSXdJQ29nWVRBeElDc2dZakl4SUNvZ1lURXhJQ3NnWWpJeUlDb2dZVEl4SUNzZ1lqSXpJQ29nWVRNeExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZakl3SUNvZ1lUQXlJQ3NnWWpJeElDb2dZVEV5SUNzZ1lqSXlJQ29nWVRJeUlDc2dZakl6SUNvZ1lUTXlMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpJd0lDb2dZVEF6SUNzZ1lqSXhJQ29nWVRFeklDc2dZakl5SUNvZ1lUSXpJQ3NnWWpJeklDb2dZVE16TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqTXdJQ29nWVRBd0lDc2dZak14SUNvZ1lURXdJQ3NnWWpNeUlDb2dZVEl3SUNzZ1lqTXpJQ29nWVRNd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZak13SUNvZ1lUQXhJQ3NnWWpNeElDb2dZVEV4SUNzZ1lqTXlJQ29nWVRJeElDc2dZak16SUNvZ1lUTXhMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWWpNd0lDb2dZVEF5SUNzZ1lqTXhJQ29nWVRFeUlDc2dZak15SUNvZ1lUSXlJQ3NnWWpNeklDb2dZVE15TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1lqTXdJQ29nWVRBeklDc2dZak14SUNvZ1lURXpJQ3NnWWpNeUlDb2dZVEl6SUNzZ1lqTXpJQ29nWVRNekxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCZEtUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnYldGME5DNXBaR1Z1ZEdsMGVTQTlJRzVsZHlCdFlYUTBLQ2t1YzJWMFNXUmxiblJwZEhrb0tUdGNjbHh1SUNBZ0lISmxkSFZ5YmlCdFlYUTBPMXh5WEc1OUtDa3BPMXh5WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCdFlYUTBPMXh5WEc0dkx5TWdjMjkxY21ObFRXRndjR2x1WjFWU1REMXRZWFEwTG1wekxtMWhjQ0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQ0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvcXVhdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvcXVhdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBtYXQzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21hdDMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9tYXQzLmpzXFxcIik7XFxyXFxudmFyIG1hdDRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbWF0NCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L21hdDQuanNcXFwiKTtcXHJcXG52YXIgdmVjM18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi92ZWMzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMy5qc1xcXCIpO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIHF1YXQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIHF1YXQodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoNCk7XFxyXFxuICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnh5encgPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwielxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwid1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocXVhdC5wcm90b3R5cGUsIFxcXCJ4eXpcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHF1YXQucHJvdG90eXBlLCBcXFwieHl6d1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB2YWx1ZXNbM107XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSA9IDA7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcclxcbiAgICAgICAgICAgIGRlc3QudmFsdWVzW2ldID0gdGhpcy52YWx1ZXNbaV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUucm9sbCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHkgPSB0aGlzLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHRoaXMuejtcXHJcXG4gICAgICAgIHZhciB3ID0gdGhpcy53O1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguYXRhbjIoMi4wICogKHggKiB5ICsgdyAqIHopLCB3ICogdyArIHggKiB4IC0geSAqIHkgLSB6ICogeik7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLnBpdGNoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5hdGFuMigyLjAgKiAoeSAqIHogKyB3ICogeCksIHcgKiB3IC0geCAqIHggLSB5ICogeSArIHogKiB6KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUueWF3ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguYXNpbigyLjAgKiAodGhpcy54ICogdGhpcy56IC0gdGhpcy53ICogdGhpcy55KSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uICh2ZWN0b3IsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XFxyXFxuICAgICAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMudmFsdWVzW2ldIC0gdmVjdG9yLmF0KGkpKSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHRydWU7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLnNldElkZW50aXR5ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy54ID0gMDtcXHJcXG4gICAgICAgIHRoaXMueSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnogPSAwO1xcclxcbiAgICAgICAgdGhpcy53ID0gMTtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS5jYWxjdWxhdGVXID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdGhpcy53ID0gLShNYXRoLnNxcnQoTWF0aC5hYnMoMS4wIC0geCAqIHggLSB5ICogeSAtIHogKiB6KSkpO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmludmVyc2UgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgZG90ID0gcXVhdC5kb3QodGhpcywgdGhpcyk7XFxyXFxuICAgICAgICBpZiAoIWRvdCkge1xcclxcbiAgICAgICAgICAgIHRoaXMueHl6dyA9IFswLCAwLCAwLCAwXTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBpbnZEb3QgPSBkb3QgPyAxLjAgLyBkb3QgOiAwO1xcclxcbiAgICAgICAgdGhpcy54ICo9IC1pbnZEb3Q7XFxyXFxuICAgICAgICB0aGlzLnkgKj0gLWludkRvdDtcXHJcXG4gICAgICAgIHRoaXMueiAqPSAtaW52RG90O1xcclxcbiAgICAgICAgdGhpcy53ICo9IGludkRvdDtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlc1swXSAqPSAtMTtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzWzFdICo9IC0xO1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXNbMl0gKj0gLTE7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUubGVuZ3RoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeiArIHcgKiB3KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUubm9ybWFsaXplID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSB0aGlzO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeiArIHcgKiB3KTtcXHJcXG4gICAgICAgIGlmICghbGVuZ3RoKSB7XFxyXFxuICAgICAgICAgICAgZGVzdC54ID0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnkgPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueiA9IDA7XFxyXFxuICAgICAgICAgICAgZGVzdC53ID0gMDtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxlbmd0aCA9IDEgLyBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnggPSB4ICogbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC55ID0geSAqIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueiA9IHogKiBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LncgPSB3ICogbGVuZ3RoO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIChvdGhlcikge1xcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1tpXSArPSBvdGhlci5hdChpKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS5tdWx0aXBseSA9IGZ1bmN0aW9uIChvdGhlcikge1xcclxcbiAgICAgICAgdmFyIHExeCA9IHRoaXMudmFsdWVzWzBdO1xcclxcbiAgICAgICAgdmFyIHExeSA9IHRoaXMudmFsdWVzWzFdO1xcclxcbiAgICAgICAgdmFyIHExeiA9IHRoaXMudmFsdWVzWzJdO1xcclxcbiAgICAgICAgdmFyIHExdyA9IHRoaXMudmFsdWVzWzNdO1xcclxcbiAgICAgICAgdmFyIHEyeCA9IG90aGVyLng7XFxyXFxuICAgICAgICB2YXIgcTJ5ID0gb3RoZXIueTtcXHJcXG4gICAgICAgIHZhciBxMnogPSBvdGhlci56O1xcclxcbiAgICAgICAgdmFyIHEydyA9IG90aGVyLnc7XFxyXFxuICAgICAgICB0aGlzLnggPSBxMXggKiBxMncgKyBxMXcgKiBxMnggKyBxMXkgKiBxMnogLSBxMXogKiBxMnk7XFxyXFxuICAgICAgICB0aGlzLnkgPSBxMXkgKiBxMncgKyBxMXcgKiBxMnkgKyBxMXogKiBxMnggLSBxMXggKiBxMno7XFxyXFxuICAgICAgICB0aGlzLnogPSBxMXogKiBxMncgKyBxMXcgKiBxMnogKyBxMXggKiBxMnkgLSBxMXkgKiBxMng7XFxyXFxuICAgICAgICB0aGlzLncgPSBxMXcgKiBxMncgLSBxMXggKiBxMnggLSBxMXkgKiBxMnkgLSBxMXogKiBxMno7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUubXVsdGlwbHlWZWMzID0gZnVuY3Rpb24gKHZlY3RvciwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzXzEuZGVmYXVsdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3Rvci56O1xcclxcbiAgICAgICAgdmFyIHF4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHF5ID0gdGhpcy55O1xcclxcbiAgICAgICAgdmFyIHF6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHF3ID0gdGhpcy53O1xcclxcbiAgICAgICAgdmFyIGl4ID0gcXcgKiB4ICsgcXkgKiB6IC0gcXogKiB5O1xcclxcbiAgICAgICAgdmFyIGl5ID0gcXcgKiB5ICsgcXogKiB4IC0gcXggKiB6O1xcclxcbiAgICAgICAgdmFyIGl6ID0gcXcgKiB6ICsgcXggKiB5IC0gcXkgKiB4O1xcclxcbiAgICAgICAgdmFyIGl3ID0gLXF4ICogeCAtIHF5ICogeSAtIHF6ICogejtcXHJcXG4gICAgICAgIGRlc3QueCA9IGl4ICogcXcgKyBpdyAqIC1xeCArIGl5ICogLXF6IC0gaXogKiAtcXk7XFxyXFxuICAgICAgICBkZXN0LnkgPSBpeSAqIHF3ICsgaXcgKiAtcXkgKyBpeiAqIC1xeCAtIGl4ICogLXF6O1xcclxcbiAgICAgICAgZGVzdC56ID0gaXogKiBxdyArIGl3ICogLXF6ICsgaXggKiAtcXkgLSBpeSAqIC1xeDtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb3RvdHlwZS50b01hdDMgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBtYXQzXzEuZGVmYXVsdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB0aGlzLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdGhpcy56O1xcclxcbiAgICAgICAgdmFyIHcgPSB0aGlzLnc7XFxyXFxuICAgICAgICB2YXIgeDIgPSB4ICsgeDtcXHJcXG4gICAgICAgIHZhciB5MiA9IHkgKyB5O1xcclxcbiAgICAgICAgdmFyIHoyID0geiArIHo7XFxyXFxuICAgICAgICB2YXIgeHggPSB4ICogeDI7XFxyXFxuICAgICAgICB2YXIgeHkgPSB4ICogeTI7XFxyXFxuICAgICAgICB2YXIgeHogPSB4ICogejI7XFxyXFxuICAgICAgICB2YXIgeXkgPSB5ICogeTI7XFxyXFxuICAgICAgICB2YXIgeXogPSB5ICogejI7XFxyXFxuICAgICAgICB2YXIgenogPSB6ICogejI7XFxyXFxuICAgICAgICB2YXIgd3ggPSB3ICogeDI7XFxyXFxuICAgICAgICB2YXIgd3kgPSB3ICogeTI7XFxyXFxuICAgICAgICB2YXIgd3ogPSB3ICogejI7XFxyXFxuICAgICAgICBkZXN0LmluaXQoW1xcclxcbiAgICAgICAgICAgIDEgLSAoeXkgKyB6eiksXFxyXFxuICAgICAgICAgICAgeHkgKyB3eixcXHJcXG4gICAgICAgICAgICB4eiAtIHd5LFxcclxcbiAgICAgICAgICAgIHh5IC0gd3osXFxyXFxuICAgICAgICAgICAgMSAtICh4eCArIHp6KSxcXHJcXG4gICAgICAgICAgICB5eiArIHd4LFxcclxcbiAgICAgICAgICAgIHh6ICsgd3ksXFxyXFxuICAgICAgICAgICAgeXogLSB3eCxcXHJcXG4gICAgICAgICAgICAxIC0gKHh4ICsgeXkpLFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5wcm90b3R5cGUudG9NYXQ0ID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgbWF0NF8xLmRlZmF1bHQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHkgPSB0aGlzLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHRoaXMuejtcXHJcXG4gICAgICAgIHZhciB3ID0gdGhpcy53O1xcclxcbiAgICAgICAgdmFyIHgyID0geCArIHg7XFxyXFxuICAgICAgICB2YXIgeTIgPSB5ICsgeTtcXHJcXG4gICAgICAgIHZhciB6MiA9IHogKyB6O1xcclxcbiAgICAgICAgdmFyIHh4ID0geCAqIHgyO1xcclxcbiAgICAgICAgdmFyIHh5ID0geCAqIHkyO1xcclxcbiAgICAgICAgdmFyIHh6ID0geCAqIHoyO1xcclxcbiAgICAgICAgdmFyIHl5ID0geSAqIHkyO1xcclxcbiAgICAgICAgdmFyIHl6ID0geSAqIHoyO1xcclxcbiAgICAgICAgdmFyIHp6ID0geiAqIHoyO1xcclxcbiAgICAgICAgdmFyIHd4ID0gdyAqIHgyO1xcclxcbiAgICAgICAgdmFyIHd5ID0gdyAqIHkyO1xcclxcbiAgICAgICAgdmFyIHd6ID0gdyAqIHoyO1xcclxcbiAgICAgICAgZGVzdC5pbml0KFtcXHJcXG4gICAgICAgICAgICAxIC0gKHl5ICsgenopLFxcclxcbiAgICAgICAgICAgIHh5ICsgd3osXFxyXFxuICAgICAgICAgICAgeHogLSB3eSxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIHh5IC0gd3osXFxyXFxuICAgICAgICAgICAgMSAtICh4eCArIHp6KSxcXHJcXG4gICAgICAgICAgICB5eiArIHd4LFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgeHogKyB3eSxcXHJcXG4gICAgICAgICAgICB5eiAtIHd4LFxcclxcbiAgICAgICAgICAgIDEgLSAoeHggKyB5eSksXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAwLFxcclxcbiAgICAgICAgICAgIDAsXFxyXFxuICAgICAgICAgICAgMCxcXHJcXG4gICAgICAgICAgICAxLFxcclxcbiAgICAgICAgXSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5kb3QgPSBmdW5jdGlvbiAocTEsIHEyKSB7XFxyXFxuICAgICAgICByZXR1cm4gcTEueCAqIHEyLnggKyBxMS55ICogcTIueSArIHExLnogKiBxMi56ICsgcTEudyAqIHEyLnc7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQuc3VtID0gZnVuY3Rpb24gKHExLCBxMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSBxMS54ICsgcTIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHExLnkgKyBxMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gcTEueiArIHEyLno7XFxyXFxuICAgICAgICBkZXN0LncgPSBxMS53ICsgcTIudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnByb2R1Y3QgPSBmdW5jdGlvbiAocTEsIHEyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHF1YXQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBxMXggPSBxMS54O1xcclxcbiAgICAgICAgdmFyIHExeSA9IHExLnk7XFxyXFxuICAgICAgICB2YXIgcTF6ID0gcTEuejtcXHJcXG4gICAgICAgIHZhciBxMXcgPSBxMS53O1xcclxcbiAgICAgICAgdmFyIHEyeCA9IHEyLng7XFxyXFxuICAgICAgICB2YXIgcTJ5ID0gcTIueTtcXHJcXG4gICAgICAgIHZhciBxMnogPSBxMi56O1xcclxcbiAgICAgICAgdmFyIHEydyA9IHEyLnc7XFxyXFxuICAgICAgICBkZXN0LnggPSBxMXggKiBxMncgKyBxMXcgKiBxMnggKyBxMXkgKiBxMnogLSBxMXogKiBxMnk7XFxyXFxuICAgICAgICBkZXN0LnkgPSBxMXkgKiBxMncgKyBxMXcgKiBxMnkgKyBxMXogKiBxMnggLSBxMXggKiBxMno7XFxyXFxuICAgICAgICBkZXN0LnogPSBxMXogKiBxMncgKyBxMXcgKiBxMnogKyBxMXggKiBxMnkgLSBxMXkgKiBxMng7XFxyXFxuICAgICAgICBkZXN0LncgPSBxMXcgKiBxMncgLSBxMXggKiBxMnggLSBxMXkgKiBxMnkgLSBxMXogKiBxMno7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5jcm9zcyA9IGZ1bmN0aW9uIChxMSwgcTIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgcXVhdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHExeCA9IHExLng7XFxyXFxuICAgICAgICB2YXIgcTF5ID0gcTEueTtcXHJcXG4gICAgICAgIHZhciBxMXogPSBxMS56O1xcclxcbiAgICAgICAgdmFyIHExdyA9IHExLnc7XFxyXFxuICAgICAgICB2YXIgcTJ4ID0gcTIueDtcXHJcXG4gICAgICAgIHZhciBxMnkgPSBxMi55O1xcclxcbiAgICAgICAgdmFyIHEyeiA9IHEyLno7XFxyXFxuICAgICAgICB2YXIgcTJ3ID0gcTIudztcXHJcXG4gICAgICAgIGRlc3QueCA9IHExdyAqIHEyeiArIHExeiAqIHEydyArIHExeCAqIHEyeSAtIHExeSAqIHEyeDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHExdyAqIHEydyAtIHExeCAqIHEyeCAtIHExeSAqIHEyeSAtIHExeiAqIHEyejtcXHJcXG4gICAgICAgIGRlc3QueiA9IHExdyAqIHEyeCArIHExeCAqIHEydyArIHExeSAqIHEyeiAtIHExeiAqIHEyeTtcXHJcXG4gICAgICAgIGRlc3QudyA9IHExdyAqIHEyeSArIHExeSAqIHEydyArIHExeiAqIHEyeCAtIHExeCAqIHEyejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICBxdWF0LnNob3J0TWl4ID0gZnVuY3Rpb24gKHExLCBxMiwgdGltZSwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAodGltZSA8PSAwLjApIHtcXHJcXG4gICAgICAgICAgICBkZXN0Lnh5encgPSBxMS54eXp3O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGltZSA+PSAxLjApIHtcXHJcXG4gICAgICAgICAgICBkZXN0Lnh5encgPSBxMi54eXp3O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIGNvcyA9IHF1YXQuZG90KHExLCBxMik7XFxyXFxuICAgICAgICB2YXIgcTJhID0gcTIuY29weSgpO1xcclxcbiAgICAgICAgaWYgKGNvcyA8IDAuMCkge1xcclxcbiAgICAgICAgICAgIHEyYS5pbnZlcnNlKCk7XFxyXFxuICAgICAgICAgICAgY29zID0gLWNvcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBrMDtcXHJcXG4gICAgICAgIHZhciBrMTtcXHJcXG4gICAgICAgIGlmIChjb3MgPiAwLjk5OTkpIHtcXHJcXG4gICAgICAgICAgICBrMCA9IDEgLSB0aW1lO1xcclxcbiAgICAgICAgICAgIGsxID0gMCArIHRpbWU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICB2YXIgc2luID0gTWF0aC5zcXJ0KDEgLSBjb3MgKiBjb3MpO1xcclxcbiAgICAgICAgICAgIHZhciBhbmdsZSA9IE1hdGguYXRhbjIoc2luLCBjb3MpO1xcclxcbiAgICAgICAgICAgIHZhciBvbmVPdmVyU2luID0gMSAvIHNpbjtcXHJcXG4gICAgICAgICAgICBrMCA9IE1hdGguc2luKCgxIC0gdGltZSkgKiBhbmdsZSkgKiBvbmVPdmVyU2luO1xcclxcbiAgICAgICAgICAgIGsxID0gTWF0aC5zaW4oKDAgKyB0aW1lKSAqIGFuZ2xlKSAqIG9uZU92ZXJTaW47XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSBrMCAqIHExLnggKyBrMSAqIHEyYS54O1xcclxcbiAgICAgICAgZGVzdC55ID0gazAgKiBxMS55ICsgazEgKiBxMmEueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IGswICogcTEueiArIGsxICogcTJhLno7XFxyXFxuICAgICAgICBkZXN0LncgPSBrMCAqIHExLncgKyBrMSAqIHEyYS53O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHF1YXQubWl4ID0gZnVuY3Rpb24gKHExLCBxMiwgdGltZSwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyBxdWF0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgY29zSGFsZlRoZXRhID0gcTEueCAqIHEyLnggKyBxMS55ICogcTIueSArIHExLnogKiBxMi56ICsgcTEudyAqIHEyLnc7XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnMoY29zSGFsZlRoZXRhKSA+PSAxLjApIHtcXHJcXG4gICAgICAgICAgICBkZXN0Lnh5encgPSBxMS54eXp3O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIGhhbGZUaGV0YSA9IE1hdGguYWNvcyhjb3NIYWxmVGhldGEpO1xcclxcbiAgICAgICAgdmFyIHNpbkhhbGZUaGV0YSA9IE1hdGguc3FydCgxLjAgLSBjb3NIYWxmVGhldGEgKiBjb3NIYWxmVGhldGEpO1xcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHNpbkhhbGZUaGV0YSkgPCAwLjAwMSkge1xcclxcbiAgICAgICAgICAgIGRlc3QueCA9IHExLnggKiAwLjUgKyBxMi54ICogMC41O1xcclxcbiAgICAgICAgICAgIGRlc3QueSA9IHExLnkgKiAwLjUgKyBxMi55ICogMC41O1xcclxcbiAgICAgICAgICAgIGRlc3QueiA9IHExLnogKiAwLjUgKyBxMi56ICogMC41O1xcclxcbiAgICAgICAgICAgIGRlc3QudyA9IHExLncgKiAwLjUgKyBxMi53ICogMC41O1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHJhdGlvQSA9IE1hdGguc2luKCgxIC0gdGltZSkgKiBoYWxmVGhldGEpIC8gc2luSGFsZlRoZXRhO1xcclxcbiAgICAgICAgdmFyIHJhdGlvQiA9IE1hdGguc2luKHRpbWUgKiBoYWxmVGhldGEpIC8gc2luSGFsZlRoZXRhO1xcclxcbiAgICAgICAgZGVzdC54ID0gcTEueCAqIHJhdGlvQSArIHEyLnggKiByYXRpb0I7XFxyXFxuICAgICAgICBkZXN0LnkgPSBxMS55ICogcmF0aW9BICsgcTIueSAqIHJhdGlvQjtcXHJcXG4gICAgICAgIGRlc3QueiA9IHExLnogKiByYXRpb0EgKyBxMi56ICogcmF0aW9CO1xcclxcbiAgICAgICAgZGVzdC53ID0gcTEudyAqIHJhdGlvQSArIHEyLncgKiByYXRpb0I7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5mcm9tQXhpc0FuZ2xlID0gZnVuY3Rpb24gKGF4aXMsIGFuZ2xlLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHF1YXQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGFuZ2xlICo9IDAuNTtcXHJcXG4gICAgICAgIHZhciBzaW4gPSBNYXRoLnNpbihhbmdsZSk7XFxyXFxuICAgICAgICBkZXN0LnggPSBheGlzLnggKiBzaW47XFxyXFxuICAgICAgICBkZXN0LnkgPSBheGlzLnkgKiBzaW47XFxyXFxuICAgICAgICBkZXN0LnogPSBheGlzLnogKiBzaW47XFxyXFxuICAgICAgICBkZXN0LncgPSBNYXRoLmNvcyhhbmdsZSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgcXVhdC5pZGVudGl0eSA9IG5ldyBxdWF0KCkuc2V0SWRlbnRpdHkoKTtcXHJcXG4gICAgcmV0dXJuIHF1YXQ7XFxyXFxufSgpKTtcXHJcXG5leHBvcnRzLmRlZmF1bHQgPSBxdWF0O1xcclxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXF1YXQuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2Y1hWaGRDNXFjejgxWXpCaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPMEZCUTJJc09FTkJRVGhETEdOQlFXTTdRVUZETlVRc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHRkJRV0VzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVNM1FpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2VVUkJRVkU3UVVGRE4wSXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNiVVZCUVdFN1FVRkRka003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFOUJRVTg3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF5eHBRMEZCYVVNN1FVRkRjRVVzZFVKQlFYVkNMRTlCUVU4N1FVRkRPVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwwQjBiR0YxYTJ0aGJpOTBjMjB2WkdsemRDOXhkV0YwTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWENKMWMyVWdjM1J5YVdOMFhDSTdYSEpjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGxlSEJ2Y25SekxDQmNJbDlmWlhOTmIyUjFiR1ZjSWl3Z2V5QjJZV3gxWlRvZ2RISjFaU0I5S1R0Y2NseHVkbUZ5SUcxaGRETmZNU0E5SUhKbGNYVnBjbVVvWENJdUwyMWhkRE5jSWlrN1hISmNiblpoY2lCdFlYUTBYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOXRZWFEwWENJcE8xeHlYRzUyWVhJZ2RtVmpNMTh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZkbVZqTTF3aUtUdGNjbHh1ZG1GeUlHTnZibk4wWVc1MGMxOHhJRDBnY21WeGRXbHlaU2hjSWk0dlkyOXVjM1JoYm5SelhDSXBPMXh5WEc1MllYSWdjWFZoZENBOUlDOHFLaUJBWTJ4aGMzTWdLaThnS0daMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lHWjFibU4wYVc5dUlIRjFZWFFvZG1Gc2RXVnpLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLRFFwTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2gyWVd4MVpYTWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMbmg1ZW5jZ1BTQjJZV3gxWlhNN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5oY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmxjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTUyWVd4MVpYTmJNVjA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0J6WlhRNklHWjFibU4wYVc5dUlDaDJZV3gxWlNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNjbHh1SUNBZ0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1ZjY2x4dUlDQWdJSDBwTzF4eVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIRjFZWFF1Y0hKdmRHOTBlWEJsTENCY0lucGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTQTlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5kY0lpd2dlMXh5WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN6WFNBOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjY2x4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdWY2NseHVJQ0FnSUgwcE8xeHlYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEYxWVhRdWNISnZkRzkwZVhCbExDQmNJbmg1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pCZExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCelpYUTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlhOYk1GMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkSUQwZ2RtRnNkV1Z6V3pGZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hGMVlYUXVjSEp2ZEc5MGVYQmxMQ0JjSW5oNWVsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoeGRXRjBMbkJ5YjNSdmRIbHdaU3dnWENKNGVYcDNYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3lYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6TmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnZG1Gc2RXVnpXekJkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTWwwZ1BTQjJZV3gxWlhOYk1sMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RtRnNkV1Z6V3pOZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdVlYUWdQU0JtZFc1amRHbHZiaUFvYVc1a1pYZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NTJZV3gxWlhOYmFXNWtaWGhkTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbkpsYzJWMElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dORHNnYVNzcktTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXMmxkSUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnY1hWaGRDNXdjbTkwYjNSNWNHVXVZMjl3ZVNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnY1hWaGRDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRFE3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wTG5aaGJIVmxjMXRwWFNBOUlIUm9hWE11ZG1Gc2RXVnpXMmxkTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzV5YjJ4c0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9MbUYwWVc0eUtESXVNQ0FxSUNoNElDb2dlU0FySUhjZ0tpQjZLU3dnZHlBcUlIY2dLeUI0SUNvZ2VDQXRJSGtnS2lCNUlDMGdlaUFxSUhvcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1Y0hKdmRHOTBlWEJsTG5CcGRHTm9JRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkR2hwY3k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNklEMGdkR2hwY3k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCM0lEMGdkR2hwY3k1M08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQk5ZWFJvTG1GMFlXNHlLREl1TUNBcUlDaDVJQ29nZWlBcklIY2dLaUI0S1N3Z2R5QXFJSGNnTFNCNElDb2dlQ0F0SUhrZ0tpQjVJQ3NnZWlBcUlIb3BPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExubGhkeUE5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdUV0YwYUM1aGMybHVLREl1TUNBcUlDaDBhR2x6TG5nZ0tpQjBhR2x6TG5vZ0xTQjBhR2x6TG5jZ0tpQjBhR2x6TG5rcEtUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5CeWIzUnZkSGx3WlM1bGNYVmhiSE1nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2RHaHlaWE5vYjJ4a0lEMDlQU0IyYjJsa0lEQXBJSHNnZEdoeVpYTm9iMnhrSUQwZ1kyOXVjM1JoYm5Selh6RXVaWEJ6YVd4dmJqc2dmVnh5WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aDBhR2x6TG5aaGJIVmxjMXRwWFNBdElIWmxZM1J2Y2k1aGRDaHBLU2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzV6WlhSSlpHVnVkR2wwZVNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU2SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuY2dQU0F4TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExtTmhiR04xYkdGMFpWY2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhrZ1BTQjBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjBhR2x6TG5vN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1M0lEMGdMU2hOWVhSb0xuTnhjblFvVFdGMGFDNWhZbk1vTVM0d0lDMGdlQ0FxSUhnZ0xTQjVJQ29nZVNBdElIb2dLaUI2S1NrcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbWx1ZG1WeWMyVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdSdmRDQTlJSEYxWVhRdVpHOTBLSFJvYVhNc0lIUm9hWE1wTzF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkc5MEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZUhsNmR5QTlJRnN3TENBd0xDQXdMQ0F3WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnBiblpFYjNRZ1BTQmtiM1FnUHlBeExqQWdMeUJrYjNRZ09pQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0FxUFNBdGFXNTJSRzkwTzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBcVBTQXRhVzUyUkc5ME8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVpQXFQU0F0YVc1MlJHOTBPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkeUFxUFNCcGJuWkViM1E3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdVkyOXVhblZuWVhSbElEMGdablZ1WTNScGIyNGdLQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUNvOUlDMHhPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJQ285SUMweE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElDbzlJQzB4TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZkRzkwZVhCbExteGxibWQwYUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhSb2FYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hnZ0tpQjRJQ3NnZVNBcUlIa2dLeUI2SUNvZ2VpQXJJSGNnS2lCM0tUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5CeWIzUnZkSGx3WlM1dWIzSnRZV3hwZW1VZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZ2dQU0IwYUdsekxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IwYUdsekxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IwYUdsekxubzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuYzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHeGxibWQwYUNBOUlFMWhkR2d1YzNGeWRDaDRJQ29nZUNBcklIa2dLaUI1SUNzZ2VpQXFJSG9nS3lCM0lDb2dkeWs3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZzWlc1bmRHZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1M0lEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR3hsYm1kMGFDQTlJREVnTHlCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2VDQXFJR3hsYm1kMGFEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0I1SUNvZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIb2dLaUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJRDBnZHlBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlBb2IzUm9aWElwSUh0Y2NseHVJQ0FnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRFE3SUdrckt5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXRwWFNBclBTQnZkR2hsY2k1aGRDaHBLVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnY1hWaGRDNXdjbTkwYjNSNWNHVXViWFZzZEdsd2JIa2dQU0JtZFc1amRHbHZiaUFvYjNSb1pYSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjVEY0SUQwZ2RHaHBjeTUyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV4ZVNBOUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhvZ1BTQjBhR2x6TG5aaGJIVmxjMXN5WFR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnY1RGM0lEMGdkR2hwY3k1MllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWVDQTlJRzkwYUdWeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllU0E5SUc5MGFHVnlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEV5ZWlBOUlHOTBhR1Z5TG5vN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhFeWR5QTlJRzkwYUdWeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJRDBnY1RGNElDb2djVEozSUNzZ2NURjNJQ29nY1RKNElDc2djVEY1SUNvZ2NUSjZJQzBnY1RGNklDb2djVEo1TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBOUlIRXhlU0FxSUhFeWR5QXJJSEV4ZHlBcUlIRXllU0FySUhFeGVpQXFJSEV5ZUNBdElIRXhlQ0FxSUhFeWVqdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxub2dQU0J4TVhvZ0tpQnhNbmNnS3lCeE1YY2dLaUJ4TW5vZ0t5QnhNWGdnS2lCeE1ua2dMU0J4TVhrZ0tpQnhNbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTUzSUQwZ2NURjNJQ29nY1RKM0lDMGdjVEY0SUNvZ2NUSjRJQzBnY1RGNUlDb2djVEo1SUMwZ2NURjZJQ29nY1RKNk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjSEp2ZEc5MGVYQmxMbTExYkhScGNHeDVWbVZqTXlBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNelh6RXVaR1ZtWVhWc2RDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjWGdnUFNCMGFHbHpMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSEY1SUQwZ2RHaHBjeTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4ZWlBOUlIUm9hWE11ZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnY1hjZ1BTQjBhR2x6TG5jN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUdsNElEMGdjWGNnS2lCNElDc2djWGtnS2lCNklDMGdjWG9nS2lCNU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCcGVTQTlJSEYzSUNvZ2VTQXJJSEY2SUNvZ2VDQXRJSEY0SUNvZ2VqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2FYb2dQU0J4ZHlBcUlIb2dLeUJ4ZUNBcUlIa2dMU0J4ZVNBcUlIZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlHbDNJRDBnTFhGNElDb2dlQ0F0SUhGNUlDb2dlU0F0SUhGNklDb2dlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCcGVDQXFJSEYzSUNzZ2FYY2dLaUF0Y1hnZ0t5QnBlU0FxSUMxeGVpQXRJR2w2SUNvZ0xYRjVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUdsNUlDb2djWGNnS3lCcGR5QXFJQzF4ZVNBcklHbDZJQ29nTFhGNElDMGdhWGdnS2lBdGNYbzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnYVhvZ0tpQnhkeUFySUdsM0lDb2dMWEY2SUNzZ2FYZ2dLaUF0Y1hrZ0xTQnBlU0FxSUMxeGVEdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbkJ5YjNSdmRIbHdaUzUwYjAxaGRETWdQU0JtZFc1amRHbHZiaUFvWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lHMWhkRE5mTVM1a1pXWmhkV3gwS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZJRDBnZEdocGN5NTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRNaUE5SUhnZ0t5QjRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVNaUE5SUhrZ0t5QjVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZNaUE5SUhvZ0t5QjZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRlQ0E5SUhnZ0tpQjRNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlSGtnUFNCNElDb2dlVEk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGg2SUQwZ2VDQXFJSG95TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1ZVNBOUlIa2dLaUI1TWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVhvZ1BTQjVJQ29nZWpJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhwNklEMGdlaUFxSUhveU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCM2VDQTlJSGNnS2lCNE1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2Qza2dQU0IzSUNvZ2VUSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIZDZJRDBnZHlBcUlIb3lPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVhVzVwZENoYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSURFZ0xTQW9lWGtnS3lCNmVpa3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIaDVJQ3NnZDNvc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhoNklDMGdkM2tzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGg1SUMwZ2Qzb3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lERWdMU0FvZUhnZ0t5QjZlaWtzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSGw2SUNzZ2QzZ3NYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIaDZJQ3NnZDNrc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhsNklDMGdkM2dzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJREVnTFNBb2VIZ2dLeUI1ZVNrc1hISmNiaUFnSUNBZ0lDQWdYU2s3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdjWFZoZEM1d2NtOTBiM1I1Y0dVdWRHOU5ZWFEwSUQwZ1puVnVZM1JwYjI0Z0tHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUJ0WVhRMFh6RXVaR1ZtWVhWc2RDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIUm9hWE11ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIUm9hWE11ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIUm9hWE11ZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZURJZ1BTQjRJQ3NnZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVRJZ1BTQjVJQ3NnZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWpJZ1BTQjZJQ3NnZWp0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUhnZ1BTQjRJQ29nZURJN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhoNUlEMGdlQ0FxSUhreU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNGVpQTlJSGdnS2lCNk1qdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VYa2dQU0I1SUNvZ2VUSTdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIbDZJRDBnZVNBcUlIb3lPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZlaUE5SUhvZ0tpQjZNanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkM2dnUFNCM0lDb2dlREk3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGQ1SUQwZ2R5QXFJSGt5TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUIzZWlBOUlIY2dLaUI2TWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG1sdWFYUW9XMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhJQzBnS0hsNUlDc2dlbm9wTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0ZVNBcklIZDZMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRlaUF0SUhkNUxGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBd0xGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNGVTQXRJSGQ2TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F4SUMwZ0tIaDRJQ3NnZW5vcExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCNWVpQXJJSGQ0TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0F3TEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0I0ZWlBcklIZDVMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjVlaUF0SUhkNExGeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBeElDMGdLSGg0SUNzZ2VYa3BMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXdMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXhMRnh5WEc0Z0lDQWdJQ0FnSUYwcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVaRzkwSUQwZ1puVnVZM1JwYjI0Z0tIRXhMQ0J4TWlrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnhNUzU0SUNvZ2NUSXVlQ0FySUhFeExua2dLaUJ4TWk1NUlDc2djVEV1ZWlBcUlIRXlMbm9nS3lCeE1TNTNJQ29nY1RJdWR6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2h4TVN3Z2NUSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCeGRXRjBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSEV4TG5nZ0t5QnhNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIRXhMbmtnS3lCeE1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhFeExub2dLeUJ4TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSEV4TG5jZ0t5QnhNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSEYxWVhRdWNISnZaSFZqZENBOUlHWjFibU4wYVc5dUlDaHhNU3dnY1RJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUJ4ZFdGMEtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhnZ1BTQnhNUzU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhrZ1BTQnhNUzU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhvZ1BTQnhNUzU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TVhjZ1BTQnhNUzUzTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5nZ1BTQnhNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5rZ1BTQnhNaTU1TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5vZ1BTQnhNaTU2TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ4TW5jZ1BTQnhNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIRXhlQ0FxSUhFeWR5QXJJSEV4ZHlBcUlIRXllQ0FySUhFeGVTQXFJSEV5ZWlBdElIRXhlaUFxSUhFeWVUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0J4TVhrZ0tpQnhNbmNnS3lCeE1YY2dLaUJ4TW5rZ0t5QnhNWG9nS2lCeE1uZ2dMU0J4TVhnZ0tpQnhNbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2NURjZJQ29nY1RKM0lDc2djVEYzSUNvZ2NUSjZJQ3NnY1RGNElDb2djVEo1SUMwZ2NURjVJQ29nY1RKNE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSEV4ZHlBcUlIRXlkeUF0SUhFeGVDQXFJSEV5ZUNBdElIRXhlU0FxSUhFeWVTQXRJSEV4ZWlBcUlIRXllanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQnhkV0YwTG1OeWIzTnpJRDBnWm5WdVkzUnBiMjRnS0hFeExDQnhNaXdnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIRjFZWFFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlQ0E5SUhFeExuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlU0E5SUhFeExuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhlaUE5SUhFeExubzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXhkeUE5SUhFeExuYzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllQ0E5SUhFeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllU0E5SUhFeUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXllaUE5SUhFeUxubzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIRXlkeUE5SUhFeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnY1RGM0lDb2djVEo2SUNzZ2NURjZJQ29nY1RKM0lDc2djVEY0SUNvZ2NUSjVJQzBnY1RGNUlDb2djVEo0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIRXhkeUFxSUhFeWR5QXRJSEV4ZUNBcUlIRXllQ0F0SUhFeGVTQXFJSEV5ZVNBdElIRXhlaUFxSUhFeWVqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dQU0J4TVhjZ0tpQnhNbmdnS3lCeE1YZ2dLaUJ4TW5jZ0t5QnhNWGtnS2lCeE1ub2dMU0J4TVhvZ0tpQnhNbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2NURjNJQ29nY1RKNUlDc2djVEY1SUNvZ2NUSjNJQ3NnY1RGNklDb2djVEo0SUMwZ2NURjRJQ29nY1RKNk8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhGMVlYUXVjMmh2Y25STmFYZ2dQU0JtZFc1amRHbHZiaUFvY1RFc0lIRXlMQ0IwYVcxbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnY1hWaGRDZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvZEdsdFpTQThQU0F3TGpBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQzU0ZVhwM0lEMGdjVEV1ZUhsNmR6dGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnYVdZZ0tIUnBiV1VnUGowZ01TNHdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVIbDZkeUE5SUhFeUxuaDVlbmM3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ1kyOXpJRDBnY1hWaGRDNWtiM1FvY1RFc0lIRXlLVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjVEpoSUQwZ2NUSXVZMjl3ZVNncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoamIzTWdQQ0F3TGpBcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NUSmhMbWx1ZG1WeWMyVW9LVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl6SUQwZ0xXTnZjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUdzd08xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCck1UdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1kyOXpJRDRnTUM0NU9UazVLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR3N3SUQwZ01TQXRJSFJwYldVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdzeElEMGdNQ0FySUhScGJXVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHVnNjMlVnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2MybHVJRDBnVFdGMGFDNXpjWEowS0RFZ0xTQmpiM01nS2lCamIzTXBPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnWVc1bmJHVWdQU0JOWVhSb0xtRjBZVzR5S0hOcGJpd2dZMjl6S1R0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHOXVaVTkyWlhKVGFXNGdQU0F4SUM4Z2MybHVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJNQ0E5SUUxaGRHZ3VjMmx1S0NneElDMGdkR2x0WlNrZ0tpQmhibWRzWlNrZ0tpQnZibVZQZG1WeVUybHVPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnJNU0E5SUUxaGRHZ3VjMmx1S0Nnd0lDc2dkR2x0WlNrZ0tpQmhibWRzWlNrZ0tpQnZibVZQZG1WeVUybHVPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQnJNQ0FxSUhFeExuZ2dLeUJyTVNBcUlIRXlZUzU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlHc3dJQ29nY1RFdWVTQXJJR3N4SUNvZ2NUSmhMbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2F6QWdLaUJ4TVM1NklDc2dhekVnS2lCeE1tRXVlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCck1DQXFJSEV4TG5jZ0t5QnJNU0FxSUhFeVlTNTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIRjFZWFF1YldsNElEMGdablZ1WTNScGIyNGdLSEV4TENCeE1pd2dkR2x0WlN3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSEYxWVhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR052YzBoaGJHWlVhR1YwWVNBOUlIRXhMbmdnS2lCeE1pNTRJQ3NnY1RFdWVTQXFJSEV5TG5rZ0t5QnhNUzU2SUNvZ2NUSXVlaUFySUhFeExuY2dLaUJ4TWk1M08xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loamIzTklZV3htVkdobGRHRXBJRDQ5SURFdU1Da2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wTG5oNWVuY2dQU0J4TVM1NGVYcDNPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUdoaGJHWlVhR1YwWVNBOUlFMWhkR2d1WVdOdmN5aGpiM05JWVd4bVZHaGxkR0VwTzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJ6YVc1SVlXeG1WR2hsZEdFZ1BTQk5ZWFJvTG5OeGNuUW9NUzR3SUMwZ1kyOXpTR0ZzWmxSb1pYUmhJQ29nWTI5elNHRnNabFJvWlhSaEtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb1RXRjBhQzVoWW5Nb2MybHVTR0ZzWmxSb1pYUmhLU0E4SURBdU1EQXhLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSEV4TG5nZ0tpQXdMalVnS3lCeE1pNTRJQ29nTUM0MU8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCeE1TNTVJQ29nTUM0MUlDc2djVEl1ZVNBcUlEQXVOVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdjVEV1ZWlBcUlEQXVOU0FySUhFeUxub2dLaUF3TGpVN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUhFeExuY2dLaUF3TGpVZ0t5QnhNaTUzSUNvZ01DNDFPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdkbUZ5SUhKaGRHbHZRU0E5SUUxaGRHZ3VjMmx1S0NneElDMGdkR2x0WlNrZ0tpQm9ZV3htVkdobGRHRXBJQzhnYzJsdVNHRnNabFJvWlhSaE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCeVlYUnBiMElnUFNCTllYUm9Mbk5wYmloMGFXMWxJQ29nYUdGc1psUm9aWFJoS1NBdklITnBia2hoYkdaVWFHVjBZVHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCeE1TNTRJQ29nY21GMGFXOUJJQ3NnY1RJdWVDQXFJSEpoZEdsdlFqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0J4TVM1NUlDb2djbUYwYVc5QklDc2djVEl1ZVNBcUlISmhkR2x2UWp0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQnhNUzU2SUNvZ2NtRjBhVzlCSUNzZ2NUSXVlaUFxSUhKaGRHbHZRanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmNnUFNCeE1TNTNJQ29nY21GMGFXOUJJQ3NnY1RJdWR5QXFJSEpoZEdsdlFqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdaR1Z6ZER0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCeGRXRjBMbVp5YjIxQmVHbHpRVzVuYkdVZ1BTQm1kVzVqZEdsdmJpQW9ZWGhwY3l3Z1lXNW5iR1VzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUc1bGR5QnhkV0YwS0NrN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUdGdVoyeGxJQ285SURBdU5UdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2MybHVJRDBnVFdGMGFDNXphVzRvWVc1bmJHVXBPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUdGNGFYTXVlQ0FxSUhOcGJqdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0JoZUdsekxua2dLaUJ6YVc0N1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdZWGhwY3k1NklDb2djMmx1TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZHlBOUlFMWhkR2d1WTI5ektHRnVaMnhsS1R0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0J4ZFdGMExtbGtaVzUwYVhSNUlEMGdibVYzSUhGMVlYUW9LUzV6WlhSSlpHVnVkR2wwZVNncE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhGMVlYUTdYSEpjYm4wb0tTazdYSEpjYm1WNGNHOXlkSE11WkdWbVlYVnNkQ0E5SUhGMVlYUTdYSEpjYmk4dkl5QnpiM1Z5WTJWTllYQndhVzVuVlZKTVBYRjFZWFF1YW5NdWJXRndJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9xdWF0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjMi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciB2ZWMzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlYzMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxcIik7XFxyXFxudmFyIGNvbnN0YW50c18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb25zdGFudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9jb25zdGFudHMuanNcXFwiKTtcXHJcXG52YXIgdmVjMiA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgZnVuY3Rpb24gdmVjMih2YWx1ZXMpIHtcXHJcXG4gICAgICAgIHRoaXMudmFsdWVzID0gbmV3IEZsb2F0MzJBcnJheSgyKTtcXHJcXG4gICAgICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCkge1xcclxcbiAgICAgICAgICAgIHRoaXMueHkgPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzIucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzIucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzIucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5hdCA9IGZ1bmN0aW9uIChpbmRleCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzW2luZGV4XTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB0aGlzLnggPSAwO1xcclxcbiAgICAgICAgdGhpcy55ID0gMDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHRoaXMueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHRoaXMueTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5uZWdhdGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSAtdGhpcy54O1xcclxcbiAgICAgICAgZGVzdC55ID0gLXRoaXMueTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiAodmVjdG9yLCB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgIGlmICh0aHJlc2hvbGQgPT09IHZvaWQgMCkgeyB0aHJlc2hvbGQgPSBjb25zdGFudHNfMS5lcHNpbG9uOyB9XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnModGhpcy54IC0gdmVjdG9yLngpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMueSAtIHZlY3Rvci55KSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5sZW5ndGggPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZExlbmd0aCgpKTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuc3F1YXJlZExlbmd0aCA9IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdGhpcy54O1xcclxcbiAgICAgICAgdmFyIHkgPSB0aGlzLnk7XFxyXFxuICAgICAgICByZXR1cm4gKHggKiB4ICsgeSAqIHkpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKz0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKz0gdmVjdG9yLnk7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuc3VidHJhY3QgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggLT0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgLT0gdmVjdG9yLnk7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKj0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKj0gdmVjdG9yLnk7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5wcm90b3R5cGUuZGl2aWRlID0gZnVuY3Rpb24gKHZlY3Rvcikge1xcclxcbiAgICAgICAgdGhpcy54IC89IHZlY3Rvci54O1xcclxcbiAgICAgICAgdGhpcy55IC89IHZlY3Rvci55O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIucHJvdG90eXBlLnNjYWxlID0gZnVuY3Rpb24gKHZhbHVlLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QueSAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGgoKTtcXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDEpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnggPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueSA9IDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZW5ndGggPSAxLjAgLyBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnggKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC55ICo9IGxlbmd0aDtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5tdWx0aXBseU1hdDIgPSBmdW5jdGlvbiAobWF0cml4LCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBtYXRyaXgubXVsdGlwbHlWZWMyKHRoaXMsIGRlc3QpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnByb3RvdHlwZS5tdWx0aXBseU1hdDMgPSBmdW5jdGlvbiAobWF0cml4LCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBtYXRyaXgubXVsdGlwbHlWZWMyKHRoaXMsIGRlc3QpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLmNyb3NzID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzXzEuZGVmYXVsdCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeDIgPSB2ZWN0b3IyLng7XFxyXFxuICAgICAgICB2YXIgeTIgPSB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHggKiB5MiAtIHkgKiB4MjtcXHJcXG4gICAgICAgIGRlc3QueCA9IDA7XFxyXFxuICAgICAgICBkZXN0LnkgPSAwO1xcclxcbiAgICAgICAgZGVzdC56ID0gejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLmRvdCA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIpIHtcXHJcXG4gICAgICAgIHJldHVybiAodmVjdG9yLnggKiB2ZWN0b3IyLnggKyB2ZWN0b3IueSAqIHZlY3RvcjIueSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIuZGlzdGFuY2UgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyKSB7XFxyXFxuICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHRoaXMuc3F1YXJlZERpc3RhbmNlKHZlY3RvciwgdmVjdG9yMikpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnNxdWFyZWREaXN0YW5jZSA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIpIHtcXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yMi54IC0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3RvcjIueSAtIHZlY3Rvci55O1xcclxcbiAgICAgICAgcmV0dXJuICh4ICogeCArIHkgKiB5KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5kaXJlY3Rpb24gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLnggLSB2ZWN0b3IyLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55IC0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgdmFyIGxlbmd0aCA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5KTtcXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnggPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueSA9IDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC54ID0geCAqIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHkgKiBsZW5ndGg7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5taXggPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCB0aW1lLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciB4ID0gdmVjdG9yLng7XFxyXFxuICAgICAgICB2YXIgeSA9IHZlY3Rvci55O1xcclxcbiAgICAgICAgdmFyIHgyID0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkyID0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC54ID0geCArIHRpbWUgKiAoeDIgLSB4KTtcXHJcXG4gICAgICAgIGRlc3QueSA9IHkgKyB0aW1lICogKHkyIC0geSk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5zdW0gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzIoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMi5kaWZmZXJlbmNlID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMyKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAtIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIucHJvZHVjdCA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjMigpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ID0gdmVjdG9yLnggKiB2ZWN0b3IyLng7XFxyXFxuICAgICAgICBkZXN0LnkgPSB2ZWN0b3IueSAqIHZlY3RvcjIueTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMyLnF1b3RpZW50ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMyKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAvIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC8gdmVjdG9yMi55O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzIuemVybyA9IG5ldyB2ZWMyKFswLCAwXSk7XFxyXFxuICAgIHZlYzIub25lID0gbmV3IHZlYzIoWzEsIDFdKTtcXHJcXG4gICAgcmV0dXJuIHZlYzI7XFxyXFxufSgpKTtcXHJcXG5leHBvcnRzLmRlZmF1bHQgPSB2ZWMyO1xcclxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXZlYzIuanMubWFwLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2ZG1Wak1pNXFjejlqWXpNeElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPMEZCUTJJc09FTkJRVGhETEdOQlFXTTdRVUZETlVRc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlJPMEZCUXpkQ0xHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExHMUZRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UTBGQmJVTXNhVU5CUVdsRE8wRkJRM0JGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12UUhSc1lYVnJhMkZ1TDNSemJTOWthWE4wTDNabFl6SXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SmNJblZ6WlNCemRISnBZM1JjSWp0Y2NseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWNGNHOXlkSE1zSUZ3aVgxOWxjMDF2WkhWc1pWd2lMQ0I3SUhaaGJIVmxPaUIwY25WbElIMHBPMXh5WEc1MllYSWdkbVZqTTE4eElEMGdjbVZ4ZFdseVpTaGNJaTR2ZG1Wak0xd2lLVHRjY2x4dWRtRnlJR052Ym5OMFlXNTBjMTh4SUQwZ2NtVnhkV2x5WlNoY0lpNHZZMjl1YzNSaGJuUnpYQ0lwTzF4eVhHNTJZWElnZG1Wak1pQTlJQzhxS2lCQVkyeGhjM01nS2k4Z0tHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsWXpJb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE1nUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0RJcE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoMllXeDFaWE1nSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5oNUlEMGdkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXlMbkJ5YjNSdmRIbHdaU3dnWENKNFhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gyWldNeUxuQnliM1J2ZEhsd1pTd2dYQ0o1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV015TG5CeWIzUnZkSGx3WlN3Z1hDSjRlVndpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCYlhISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekZkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG1GMElEMGdablZ1WTNScGIyNGdLR2x1WkdWNEtTQjdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6VzJsdVpHVjRYVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXlaWE5sZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnUFNBd08xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQTlJREE3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVZMjl3ZVNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak1pZ3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjBhR2x6TG5nN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdkR2hwY3k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbTVsWjJGMFpTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0IwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNBdGRHaHBjeTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlDMTBhR2x6TG5rN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak1pNXdjbTkwYjNSNWNHVXVaWEYxWVd4eklEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkR2h5WlhOb2IyeGtLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFJvY21WemFHOXNaQ0E5UFQwZ2RtOXBaQ0F3S1NCN0lIUm9jbVZ6YUc5c1pDQTlJR052Ym5OMFlXNTBjMTh4TG1Wd2MybHNiMjQ3SUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTRJQzBnZG1WamRHOXlMbmdwSUQ0Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0UxaGRHZ3VZV0p6S0hSb2FYTXVlU0F0SUhabFkzUnZjaTU1S1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzV6Y1hKMEtIUm9hWE11YzNGMVlYSmxaRXhsYm1kMGFDZ3BLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxuQnliM1J2ZEhsd1pTNXpjWFZoY21Wa1RHVnVaM1JvSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjRJRDBnZEdocGN5NTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ2dLeUI1SUNvZ2VTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBclBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dLejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1d2NtOTBiM1I1Y0dVdWMzVmlkSEpoWTNRZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUtTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJQzA5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZVNBdFBTQjJaV04wYjNJdWVUdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbkJ5YjNSdmRIbHdaUzV0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lwSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5nZ0tqMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTVJQ285SUhabFkzUnZjaTU1TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtUnBkbWxrWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dMejBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU1SUM4OUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2ZEc5MGVYQmxMbk5qWVd4bElEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dLajBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJQ285SUhaaGJIVmxPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2RHaHBjeTVzWlc1bmRHZ29LVHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F4S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9iR1Z1WjNSb0lEMDlQU0F3S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVlU0E5SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCc1pXNW5kR2dnUFNBeExqQWdMeUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJQ285SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnS2owZ2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNaUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVRXRjBNeUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNeUtIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpJdVkzSnZjM01nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTTE4eExtUmxabUYxYkhRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGdnUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZVNBOUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNE1pQTlJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlVElnUFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjRJQ29nZVRJZ0xTQjVJQ29nZURJN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNBd08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSG83WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1a2IzUWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlMQ0IyWldOMGIzSXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNoMlpXTjBiM0l1ZUNBcUlIWmxZM1J2Y2pJdWVDQXJJSFpsWTNSdmNpNTVJQ29nZG1WamRHOXlNaTU1S1R0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTXlMbVJwYzNSaGJtTmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCTllYUm9Mbk54Y25Rb2RHaHBjeTV6Y1hWaGNtVmtSR2x6ZEdGdVkyVW9kbVZqZEc5eUxDQjJaV04wYjNJeUtTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTWk1emNYVmhjbVZrUkdsemRHRnVZMlVnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5S1NCN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhnZ1BTQjJaV04wYjNJeUxuZ2dMU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhabFkzUnZjakl1ZVNBdElIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQW9lQ0FxSUhnZ0t5QjVJQ29nZVNrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNaTVrYVhKbFkzUnBiMjRnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0SUMwZ2RtVmpkRzl5TWk1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxua2dMU0IyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJR3hsYm1kMGFDQTlJRTFoZEdndWMzRnlkQ2g0SUNvZ2VDQXJJSGtnS2lCNUtUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVTQTlJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JzWlc1bmRHZ2dQU0F4SUM4Z2JHVnVaM1JvTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIZ2dLaUJzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZVNBcUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxtMXBlQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklzSUhScGJXVXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNElEMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhreUlEMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhnZ0t5QjBhVzFsSUNvZ0tIZ3lJQzBnZUNrN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdlU0FySUhScGJXVWdLaUFvZVRJZ0xTQjVLVHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV015TG5OMWJTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ3NnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDc2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1WkdsbVptVnlaVzVqWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lIWmxZM1J2Y2pJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNeUtDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlIWmxZM1J2Y2k1NElDMGdkbVZqZEc5eU1pNTRPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhabFkzUnZjaTU1SUMwZ2RtVmpkRzl5TWk1NU8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6SXVjSEp2WkhWamRDQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTXlLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQ29nZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDb2dkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrWlhOME8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZekl1Y1hWdmRHbGxiblFnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTWlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBdklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0F2SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNeUxucGxjbThnUFNCdVpYY2dkbVZqTWloYk1Dd2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak1pNXZibVVnUFNCdVpYY2dkbVZqTWloYk1Td2dNVjBwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSFpsWXpJN1hISmNibjBvS1NrN1hISmNibVY0Y0c5eWRITXVaR1ZtWVhWc2RDQTlJSFpsWXpJN1hISmNiaTh2SXlCemIzVnlZMlZOWVhCd2FXNW5WVkpNUFhabFl6SXVhbk11YldGd0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxyXFxudmFyIHF1YXRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcXVhdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3F1YXQuanNcXFwiKTtcXHJcXG52YXIgY29uc3RhbnRzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbnN0YW50cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2NvbnN0YW50cy5qc1xcXCIpO1xcclxcbnZhciB2ZWMzID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xcclxcbiAgICBmdW5jdGlvbiB2ZWMzKHZhbHVlcykge1xcclxcbiAgICAgICAgdGhpcy52YWx1ZXMgPSBuZXcgRmxvYXQzMkFycmF5KDMpO1xcclxcbiAgICAgICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy54eXogPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwielxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzMucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmVjMy5wcm90b3R5cGUsIFxcXCJ4eXpcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy54ID0gMDtcXHJcXG4gICAgICAgIHRoaXMueSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnogPSAwO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gKGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjMygpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ID0gdGhpcy54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdGhpcy55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdGhpcy56O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLm5lZ2F0ZSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IC10aGlzLng7XFxyXFxuICAgICAgICBkZXN0LnkgPSAtdGhpcy55O1xcclxcbiAgICAgICAgZGVzdC56ID0gLXRoaXMuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiAodmVjdG9yLCB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgIGlmICh0aHJlc2hvbGQgPT09IHZvaWQgMCkgeyB0aHJlc2hvbGQgPSBjb25zdGFudHNfMS5lcHNpbG9uOyB9XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnModGhpcy54IC0gdmVjdG9yLngpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMueSAtIHZlY3Rvci55KSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChNYXRoLmFicyh0aGlzLnogLSB2ZWN0b3IueikgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUubGVuZ3RoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWRMZW5ndGgoKSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLnNxdWFyZWRMZW5ndGggPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHRoaXMueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdGhpcy55O1xcclxcbiAgICAgICAgdmFyIHogPSB0aGlzLno7XFxyXFxuICAgICAgICByZXR1cm4gKHggKiB4ICsgeSAqIHkgKyB6ICogeik7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHRoaXMueCArPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHRoaXMueSArPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHRoaXMueiArPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5zdWJ0cmFjdCA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHRoaXMueCAtPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHRoaXMueSAtPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHRoaXMueiAtPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5tdWx0aXBseSA9IGZ1bmN0aW9uICh2ZWN0b3IpIHtcXHJcXG4gICAgICAgIHRoaXMueCAqPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHRoaXMueSAqPSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHRoaXMueiAqPSB2ZWN0b3IuejtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb3RvdHlwZS5kaXZpZGUgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggLz0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgLz0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogLz0gdmVjdG9yLno7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUuc2NhbGUgPSBmdW5jdGlvbiAodmFsdWUsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSB0aGlzO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ICo9IHZhbHVlO1xcclxcbiAgICAgICAgZGVzdC55ICo9IHZhbHVlO1xcclxcbiAgICAgICAgZGVzdC56ICo9IHZhbHVlO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHZhciBsZW5ndGggPSB0aGlzLmxlbmd0aCgpO1xcclxcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMSkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xcclxcbiAgICAgICAgICAgIGRlc3QueCA9IDA7XFxyXFxuICAgICAgICAgICAgZGVzdC55ID0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnogPSAwO1xcclxcbiAgICAgICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGVuZ3RoID0gMS4wIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC54ICo9IGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueSAqPSBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnogKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLm11bHRpcGx5QnlNYXQzID0gZnVuY3Rpb24gKG1hdHJpeCwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbWF0cml4Lm11bHRpcGx5VmVjMyh0aGlzLCBkZXN0KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5wcm90b3R5cGUubXVsdGlwbHlCeVF1YXQgPSBmdW5jdGlvbiAocXVhdGVybmlvbiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcXVhdGVybmlvbi5tdWx0aXBseVZlYzModGhpcywgZGVzdCk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMucHJvdG90eXBlLnRvUXVhdCA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHF1YXRfMS5kZWZhdWx0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgYyA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB2YXIgcyA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICBjLnggPSBNYXRoLmNvcyh0aGlzLnggKiAwLjUpO1xcclxcbiAgICAgICAgcy54ID0gTWF0aC5zaW4odGhpcy54ICogMC41KTtcXHJcXG4gICAgICAgIGMueSA9IE1hdGguY29zKHRoaXMueSAqIDAuNSk7XFxyXFxuICAgICAgICBzLnkgPSBNYXRoLnNpbih0aGlzLnkgKiAwLjUpO1xcclxcbiAgICAgICAgYy56ID0gTWF0aC5jb3ModGhpcy56ICogMC41KTtcXHJcXG4gICAgICAgIHMueiA9IE1hdGguc2luKHRoaXMueiAqIDAuNSk7XFxyXFxuICAgICAgICBkZXN0LnggPSBzLnggKiBjLnkgKiBjLnogLSBjLnggKiBzLnkgKiBzLno7XFxyXFxuICAgICAgICBkZXN0LnkgPSBjLnggKiBzLnkgKiBjLnogKyBzLnggKiBjLnkgKiBzLno7XFxyXFxuICAgICAgICBkZXN0LnogPSBjLnggKiBjLnkgKiBzLnogLSBzLnggKiBzLnkgKiBjLno7XFxyXFxuICAgICAgICBkZXN0LncgPSBjLnggKiBjLnkgKiBjLnogKyBzLnggKiBzLnkgKiBzLno7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5jcm9zcyA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjMygpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3Rvci56O1xcclxcbiAgICAgICAgdmFyIHgyID0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkyID0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgdmFyIHoyID0gdmVjdG9yMi56O1xcclxcbiAgICAgICAgZGVzdC54ID0geSAqIHoyIC0geiAqIHkyO1xcclxcbiAgICAgICAgZGVzdC55ID0geiAqIHgyIC0geCAqIHoyO1xcclxcbiAgICAgICAgZGVzdC56ID0geCAqIHkyIC0geSAqIHgyO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMuZG90ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMikge1xcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3Rvci56O1xcclxcbiAgICAgICAgdmFyIHgyID0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkyID0gdmVjdG9yMi55O1xcclxcbiAgICAgICAgdmFyIHoyID0gdmVjdG9yMi56O1xcclxcbiAgICAgICAgcmV0dXJuICh4ICogeDIgKyB5ICogeTIgKyB6ICogejIpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLmRpc3RhbmNlID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMikge1xcclxcbiAgICAgICAgdmFyIHggPSB2ZWN0b3IyLnggLSB2ZWN0b3IueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdmVjdG9yMi55IC0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB2YXIgeiA9IHZlY3RvcjIueiAtIHZlY3Rvci56O1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWREaXN0YW5jZSh2ZWN0b3IsIHZlY3RvcjIpKTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5zcXVhcmVkRGlzdGFuY2UgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyKSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3RvcjIueCAtIHZlY3Rvci54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IyLnkgLSB2ZWN0b3IueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yMi56IC0gdmVjdG9yLno7XFxyXFxuICAgICAgICByZXR1cm4gKHggKiB4ICsgeSAqIHkgKyB6ICogeik7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMuZGlyZWN0aW9uID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgeCA9IHZlY3Rvci54IC0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgdmFyIHkgPSB2ZWN0b3IueSAtIHZlY3RvcjIueTtcXHJcXG4gICAgICAgIHZhciB6ID0gdmVjdG9yLnogLSB2ZWN0b3IyLno7XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gTWF0aC5zcXJ0KHggKiB4ICsgeSAqIHkgKyB6ICogeik7XFxyXFxuICAgICAgICBpZiAobGVuZ3RoID09PSAwKSB7XFxyXFxuICAgICAgICAgICAgZGVzdC54ID0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnkgPSAwO1xcclxcbiAgICAgICAgICAgIGRlc3QueiA9IDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZW5ndGggPSAxIC8gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC54ID0geCAqIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHkgKiBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnogPSB6ICogbGVuZ3RoO1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzMubWl4ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgdGltZSwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCArIHRpbWUgKiAodmVjdG9yMi54IC0gdmVjdG9yLngpO1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB0aW1lICogKHZlY3RvcjIueSAtIHZlY3Rvci55KTtcXHJcXG4gICAgICAgIGRlc3QueiA9IHZlY3Rvci56ICsgdGltZSAqICh2ZWN0b3IyLnogLSB2ZWN0b3Iueik7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy5zdW0gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzMoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiArIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLmRpZmZlcmVuY2UgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzMoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54IC0gdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgLSB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiAtIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnByb2R1Y3QgPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzMoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICogdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKiB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiAqIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWMzLnF1b3RpZW50ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWMzKCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAvIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC8gdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogLyB2ZWN0b3IyLno7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjMy56ZXJvID0gbmV3IHZlYzMoWzAsIDAsIDBdKTtcXHJcXG4gICAgdmVjMy5vbmUgPSBuZXcgdmVjMyhbMSwgMSwgMV0pO1xcclxcbiAgICB2ZWMzLnVwID0gbmV3IHZlYzMoWzAsIDEsIDBdKTtcXHJcXG4gICAgdmVjMy5yaWdodCA9IG5ldyB2ZWMzKFsxLCAwLCAwXSk7XFxyXFxuICAgIHZlYzMuZm9yd2FyZCA9IG5ldyB2ZWMzKFswLCAwLCAxXSk7XFxyXFxuICAgIHJldHVybiB2ZWMzO1xcclxcbn0oKSk7XFxyXFxuZXhwb3J0cy5kZWZhdWx0ID0gdmVjMztcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZWMzLmpzLm1hcC8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmRtVmpNeTVxY3o4eFlURTNJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoTzBGQlEySXNPRU5CUVRoRExHTkJRV003UVVGRE5VUXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIbEVRVUZSTzBGQlF6ZENMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMRzFGUVVGaE8wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVU5CUVcxRExHbERRVUZwUXp0QlFVTndSVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlBZEd4aGRXdHJZVzR2ZEhOdEwyUnBjM1F2ZG1Wak15NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklsd2lkWE5sSUhOMGNtbGpkRndpTzF4eVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWlhod2IzSjBjeXdnWENKZlgyVnpUVzlrZFd4bFhDSXNJSHNnZG1Gc2RXVTZJSFJ5ZFdVZ2ZTazdYSEpjYm5aaGNpQnhkV0YwWHpFZ1BTQnlaWEYxYVhKbEtGd2lMaTl4ZFdGMFhDSXBPMXh5WEc1MllYSWdZMjl1YzNSaGJuUnpYekVnUFNCeVpYRjFhWEpsS0Z3aUxpOWpiMjV6ZEdGdWRITmNJaWs3WEhKY2JuWmhjaUIyWldNeklEMGdMeW9xSUVCamJHRnpjeUFxTHlBb1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZqTXloMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjeUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTXlrN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0haaGJIVmxjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZUhsNklEMGdkbUZzZFdWek8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJSDFjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXpMbkJ5YjNSdmRIbHdaU3dnWENKNFhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwZ1BTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEhKY2JpQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhISmNiaUFnSUNCOUtUdGNjbHh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gyWldNekxuQnliM1J2ZEhsd1pTd2dYQ0o1WENJc0lIdGNjbHh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpXekZkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV016TG5CeWIzUnZkSGx3WlN3Z1hDSjZYQ0lzSUh0Y2NseHVJQ0FnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkbUZzZFdWeld6SmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdQU0IyWVd4MVpUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hISmNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxYSEpjYmlBZ0lDQjlLVHRjY2x4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMlpXTXpMbkJ5YjNSdmRIbHdaU3dnWENKNGVWd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3dYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmRPMXh5WEc0Z0lDQWdJQ0FnSUgwc1hISmNiaUFnSUNBZ0lDQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1Z6S1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRJRDBnZG1Gc2RXVnpXekJkTzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeFhTQTlJSFpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNYSEpjYmlBZ0lDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsWEhKY2JpQWdJQ0I5S1R0Y2NseHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDJaV016TG5CeWIzUnZkSGx3WlN3Z1hDSjRlWHBjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkTEZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JkTzF4eVhHNGdJQ0FnSUNBZ0lIMHNYSEpjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9kbUZzZFdWektTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1Z6V3pCZE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU0E5SUhaaGJIVmxjMXN4WFR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1sMGdQU0IyWVd4MVpYTmJNbDA3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCMlpXTXpMbkJ5YjNSdmRIbHdaUzVoZENBOUlHWjFibU4wYVc5dUlDaHBibVJsZUNrZ2UxeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXRwYm1SbGVGMDdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1d2NtOTBiM1I1Y0dVdWNtVnpaWFFnUFNCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTRJRDBnTUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ1BTQXdPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlaUE5SURBN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1WTI5d2VTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUWdQU0J1WlhjZ2RtVmpNeWdwTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuZ2dQU0IwYUdsekxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1dVpXZGhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdMWFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0F0ZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUMxMGFHbHpMbm83WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdSbGMzUTdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1d2NtOTBiM1I1Y0dVdVpYRjFZV3h6SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9jbVZ6YUc5c1pDQTlQVDBnZG05cFpDQXdLU0I3SUhSb2NtVnphRzlzWkNBOUlHTnZibk4wWVc1MGMxOHhMbVZ3YzJsc2IyNDdJSDFjY2x4dUlDQWdJQ0FnSUNCcFppQW9UV0YwYUM1aFluTW9kR2hwY3k1NElDMGdkbVZqZEc5eUxuZ3BJRDRnZEdoeVpYTm9iMnhrS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLRTFoZEdndVlXSnpLSFJvYVhNdWVTQXRJSFpsWTNSdmNpNTVLU0ErSUhSb2NtVnphRzlzWkNrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWgwYUdsekxub2dMU0IyWldOMGIzSXVlaWtnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNXNaVzVuZEdnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VjM0Z5ZENoMGFHbHpMbk54ZFdGeVpXUk1aVzVuZEdnb0tTazdYSEpjYmlBZ0lDQjlPMXh5WEc0Z0lDQWdkbVZqTXk1d2NtOTBiM1I1Y0dVdWMzRjFZWEpsWkV4bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VTQTlJSFJvYVhNdWVUdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VpQTlJSFJvYVhNdWVqdGNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdLSGdnS2lCNElDc2dlU0FxSUhrZ0t5QjZJQ29nZWlrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0FyUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0t6MGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQ3M5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExuTjFZblJ5WVdOMElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0F0UFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0xUMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQzA5SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NUlEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlQ0FxUFNCMlpXTjBiM0l1ZUR0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5rZ0tqMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTZJQ285SUhabFkzUnZjaTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtUnBkbWxrWlNBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJcElIdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxuZ2dMejBnZG1WamRHOXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU1SUM4OUlIWmxZM1J2Y2k1NU8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVpQXZQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1elkyRnNaU0E5SUdaMWJtTjBhVzl1SUNoMllXeDFaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUNvOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBcVBTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NXdjbTkwYjNSNWNHVXVibTl5YldGc2FYcGxJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUJzWlc1bmRHZ2dQU0IwYUdsekxteGxibWQwYUNncE8xeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnUFQwOUlERXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoc1pXNW5kR2dnUFQwOUlEQXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdNRHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR3hsYm1kMGFDQTlJREV1TUNBdklHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVTQXFQU0JzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJQ285SUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG5CeWIzUnZkSGx3WlM1dGRXeDBhWEJzZVVKNVRXRjBNeUE5SUdaMWJtTjBhVzl1SUNodFlYUnlhWGdzSUdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9JV1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVnpkQ0E5SUhSb2FYTTdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdFlYUnlhWGd1YlhWc2RHbHdiSGxXWldNektIUm9hWE1zSUdSbGMzUXBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdWNISnZkRzkwZVhCbExtMTFiSFJwY0d4NVFubFJkV0YwSUQwZ1puVnVZM1JwYjI0Z0tIRjFZWFJsY201cGIyNHNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJSFJvYVhNN1hISmNiaUFnSUNBZ0lDQWdmVnh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ4ZFdGMFpYSnVhVzl1TG0xMWJIUnBjR3g1Vm1Wak15aDBhR2x6TENCa1pYTjBLVHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliM1J2ZEhsd1pTNTBiMUYxWVhRZ1BTQm1kVzVqZEdsdmJpQW9aR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhGMVlYUmZNUzVrWldaaGRXeDBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSFpoY2lCaklEMGdibVYzSUhabFl6TW9LVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdjeUE5SUc1bGR5QjJaV016S0NrN1hISmNiaUFnSUNBZ0lDQWdZeTU0SUQwZ1RXRjBhQzVqYjNNb2RHaHBjeTU0SUNvZ01DNDFLVHRjY2x4dUlDQWdJQ0FnSUNCekxuZ2dQU0JOWVhSb0xuTnBiaWgwYUdsekxuZ2dLaUF3TGpVcE8xeHlYRzRnSUNBZ0lDQWdJR011ZVNBOUlFMWhkR2d1WTI5ektIUm9hWE11ZVNBcUlEQXVOU2s3WEhKY2JpQWdJQ0FnSUNBZ2N5NTVJRDBnVFdGMGFDNXphVzRvZEdocGN5NTVJQ29nTUM0MUtUdGNjbHh1SUNBZ0lDQWdJQ0JqTG5vZ1BTQk5ZWFJvTG1OdmN5aDBhR2x6TG5vZ0tpQXdMalVwTzF4eVhHNGdJQ0FnSUNBZ0lITXVlaUE5SUUxaGRHZ3VjMmx1S0hSb2FYTXVlaUFxSURBdU5TazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnY3k1NElDb2dZeTU1SUNvZ1l5NTZJQzBnWXk1NElDb2djeTU1SUNvZ2N5NTZPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUdNdWVDQXFJSE11ZVNBcUlHTXVlaUFySUhNdWVDQXFJR011ZVNBcUlITXVlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbm9nUFNCakxuZ2dLaUJqTG5rZ0tpQnpMbm9nTFNCekxuZ2dLaUJ6TG5rZ0tpQmpMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ1l5NTRJQ29nWXk1NUlDb2dZeTU2SUNzZ2N5NTRJQ29nY3k1NUlDb2djeTU2TzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpNdVkzSnZjM01nUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhabFkzUnZjaTU0TzF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI1SUQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJdWVqdGNjbHh1SUNBZ0lDQWdJQ0IyWVhJZ2VESWdQU0IyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ2RtRnlJSGt5SUQwZ2RtVmpkRzl5TWk1NU8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNk1pQTlJSFpsWTNSdmNqSXVlanRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCNUlDb2dlaklnTFNCNklDb2dlVEk3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2VpQXFJSGd5SUMwZ2VDQXFJSG95TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlIZ2dLaUI1TWlBdElIa2dLaUI0TWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxtUnZkQ0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFpoY2lCNUlEMGdkbVZqZEc5eUxuazdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIb2dQU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlRElnUFNCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhreUlEMGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjZNaUE5SUhabFkzUnZjakl1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0tIZ2dLaUI0TWlBcklIa2dLaUI1TWlBcklIb2dLaUI2TWlrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpNeTVrYVhOMFlXNWpaU0E5SUdaMWJtTjBhVzl1SUNoMlpXTjBiM0lzSUhabFkzUnZjaklwSUh0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZUNBOUlIWmxZM1J2Y2pJdWVDQXRJSFpsWTNSdmNpNTRPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQjVJRDBnZG1WamRHOXlNaTU1SUMwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkbUZ5SUhvZ1BTQjJaV04wYjNJeUxub2dMU0IyWldOMGIzSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hSb2FYTXVjM0YxWVhKbFpFUnBjM1JoYm1ObEtIWmxZM1J2Y2l3Z2RtVmpkRzl5TWlrcE8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZek11YzNGMVlYSmxaRVJwYzNSaGJtTmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TWk1NElDMGdkbVZqZEc5eUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXlMbmtnTFNCMlpXTjBiM0l1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIWmxZM1J2Y2pJdWVpQXRJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUFvZUNBcUlIZ2dLeUI1SUNvZ2VTQXJJSG9nS2lCNktUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG1ScGNtVmpkR2x2YmlBOUlHWjFibU4wYVc5dUlDaDJaV04wYjNJc0lIWmxZM1J2Y2pJc0lHUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvSVdSbGMzUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdaR1Z6ZENBOUlHNWxkeUIyWldNektDazdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lIWmhjaUI0SUQwZ2RtVmpkRzl5TG5nZ0xTQjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnZG1GeUlIa2dQU0IyWldOMGIzSXVlU0F0SUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQjJZWElnZWlBOUlIWmxZM1J2Y2k1NklDMGdkbVZqZEc5eU1pNTZPMXh5WEc0Z0lDQWdJQ0FnSUhaaGNpQnNaVzVuZEdnZ1BTQk5ZWFJvTG5OeGNuUW9lQ0FxSUhnZ0t5QjVJQ29nZVNBcklIb2dLaUI2S1R0Y2NseHVJQ0FnSUNBZ0lDQnBaaUFvYkdWdVozUm9JRDA5UFNBd0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZUNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1F1ZWlBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnNaVzVuZEdnZ1BTQXhJQzhnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0E5SUhnZ0tpQnNaVzVuZEdnN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdlU0FxSUd4bGJtZDBhRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbm9nUFNCNklDb2diR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6TXViV2w0SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z2RHbHRaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIWmxZek1vS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnZG1WamRHOXlMbmdnS3lCMGFXMWxJQ29nS0habFkzUnZjakl1ZUNBdElIWmxZM1J2Y2k1NEtUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0FySUhScGJXVWdLaUFvZG1WamRHOXlNaTU1SUMwZ2RtVmpkRzl5TG5rcE8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVpQTlJSFpsWTNSdmNpNTZJQ3NnZEdsdFpTQXFJQ2gyWldOMGIzSXlMbm9nTFNCMlpXTjBiM0l1ZWlrN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NXpkVzBnUFNCbWRXNWpkR2x2YmlBb2RtVmpkRzl5TENCMlpXTjBiM0l5TENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTXlncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBcklIWmxZM1J2Y2pJdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IyWldOMGIzSXVlU0FySUhabFkzUnZjakl1ZVR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ1BTQjJaV04wYjNJdWVpQXJJSFpsWTNSdmNqSXVlanRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV016TG1ScFptWmxjbVZ1WTJVZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUxDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak15Z3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXRJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCMlpXTjBiM0l1ZVNBdElIWmxZM1J2Y2pJdWVUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dQU0IyWldOMGIzSXVlaUF0SUhabFkzUnZjakl1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuQnliMlIxWTNRZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUxDQmtaWE4wS1NCN1hISmNiaUFnSUNBZ0lDQWdhV1lnS0NGa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRZ1BTQnVaWGNnZG1Wak15Z3BPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5nZ1BTQjJaV04wYjNJdWVDQXFJSFpsWTNSdmNqSXVlRHRjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmtnUFNCMlpXTjBiM0l1ZVNBcUlIWmxZM1J2Y2pJdWVUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExub2dQU0IyWldOMGIzSXVlaUFxSUhabFkzUnZjakl1ZWp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNekxuRjFiM1JwWlc1MElEMGdablZ1WTNScGIyNGdLSFpsWTNSdmNpd2dkbVZqZEc5eU1pd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdibVYzSUhabFl6TW9LVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdkbVZqZEc5eUxuZ2dMeUIyWldOMGIzSXlMbmc3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUQwZ2RtVmpkRzl5TG5rZ0x5QjJaV04wYjNJeUxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nTHlCMlpXTjBiM0l5TG5vN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak15NTZaWEp2SUQwZ2JtVjNJSFpsWXpNb1d6QXNJREFzSURCZEtUdGNjbHh1SUNBZ0lIWmxZek11YjI1bElEMGdibVYzSUhabFl6TW9XekVzSURFc0lERmRLVHRjY2x4dUlDQWdJSFpsWXpNdWRYQWdQU0J1WlhjZ2RtVmpNeWhiTUN3Z01Td2dNRjBwTzF4eVhHNGdJQ0FnZG1Wak15NXlhV2RvZENBOUlHNWxkeUIyWldNektGc3hMQ0F3TENBd1hTazdYSEpjYmlBZ0lDQjJaV016TG1admNuZGhjbVFnUFNCdVpYY2dkbVZqTXloYk1Dd2dNQ3dnTVYwcE8xeHlYRzRnSUNBZ2NtVjBkWEp1SUhabFl6TTdYSEpjYm4wb0tTazdYSEpjYm1WNGNHOXlkSE11WkdWbVlYVnNkQ0E5SUhabFl6TTdYSEpjYmk4dkl5QnpiM1Z5WTJWTllYQndhVzVuVlZKTVBYWmxZek11YW5NdWJXRndJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC92ZWMzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjNC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvdmVjNC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXHJcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXFxcIl9fZXNNb2R1bGVcXFwiLCB7IHZhbHVlOiB0cnVlIH0pO1xcclxcbnZhciBjb25zdGFudHNfMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvY29uc3RhbnRzLmpzXFxcIik7XFxyXFxudmFyIHZlYzQgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XFxyXFxuICAgIGZ1bmN0aW9uIHZlYzQodmFsdWVzKSB7XFxyXFxuICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBGbG9hdDMyQXJyYXkoNCk7XFxyXFxuICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnh5encgPSB2YWx1ZXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieFxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwielxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwid1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieHlcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmVjNC5wcm90b3R5cGUsIFxcXCJ4eXpcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwieHl6d1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB2YWx1ZXNbM107XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiclxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1swXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiZ1xcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzFdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiYlxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1syXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwiYVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1szXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdID0gdmFsdWU7XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwicmdcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZXMpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1swXSA9IHZhbHVlc1swXTtcXHJcXG4gICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSA9IHZhbHVlc1sxXTtcXHJcXG4gICAgICAgIH0sXFxyXFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxcclxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxyXFxuICAgIH0pO1xcclxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmVjNC5wcm90b3R5cGUsIFxcXCJyZ2JcXFwiLCB7XFxyXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gW1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1swXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzJdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZlYzQucHJvdG90eXBlLCBcXFwicmdiYVxcXCIsIHtcXHJcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzBdLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlc1sxXSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVzWzNdLFxcclxcbiAgICAgICAgICAgIF07XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWVzKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMF0gPSB2YWx1ZXNbMF07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMV0gPSB2YWx1ZXNbMV07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbMl0gPSB2YWx1ZXNbMl07XFxyXFxuICAgICAgICAgICAgdGhpcy52YWx1ZXNbM10gPSB2YWx1ZXNbM107XFxyXFxuICAgICAgICB9LFxcclxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcXHJcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxcclxcbiAgICB9KTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuYXQgPSBmdW5jdGlvbiAoaW5kZXgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF07XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgdGhpcy54ID0gMDtcXHJcXG4gICAgICAgIHRoaXMueSA9IDA7XFxyXFxuICAgICAgICB0aGlzLnogPSAwO1xcclxcbiAgICAgICAgdGhpcy53ID0gMDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHRoaXMueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHRoaXMueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IHRoaXMuejtcXHJcXG4gICAgICAgIGRlc3QudyA9IHRoaXMudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnByb3RvdHlwZS5uZWdhdGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSAtdGhpcy54O1xcclxcbiAgICAgICAgZGVzdC55ID0gLXRoaXMueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IC10aGlzLno7XFxyXFxuICAgICAgICBkZXN0LncgPSAtdGhpcy53O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uICh2ZWN0b3IsIHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgaWYgKHRocmVzaG9sZCA9PT0gdm9pZCAwKSB7IHRocmVzaG9sZCA9IGNvbnN0YW50c18xLmVwc2lsb247IH1cXHJcXG4gICAgICAgIGlmIChNYXRoLmFicyh0aGlzLnggLSB2ZWN0b3IueCkgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoTWF0aC5hYnModGhpcy55IC0gdmVjdG9yLnkpID4gdGhyZXNob2xkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKE1hdGguYWJzKHRoaXMueiAtIHZlY3Rvci56KSA+IHRocmVzaG9sZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChNYXRoLmFicyh0aGlzLncgLSB2ZWN0b3IudykgPiB0aHJlc2hvbGQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUubGVuZ3RoID0gZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWRMZW5ndGgoKSk7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLnNxdWFyZWRMZW5ndGggPSBmdW5jdGlvbiAoKSB7XFxyXFxuICAgICAgICB2YXIgeCA9IHRoaXMueDtcXHJcXG4gICAgICAgIHZhciB5ID0gdGhpcy55O1xcclxcbiAgICAgICAgdmFyIHogPSB0aGlzLno7XFxyXFxuICAgICAgICB2YXIgdyA9IHRoaXMudztcXHJcXG4gICAgICAgIHJldHVybiAoeCAqIHggKyB5ICogeSArIHogKiB6ICsgdyAqIHcpO1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKz0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKz0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogKz0gdmVjdG9yLno7XFxyXFxuICAgICAgICB0aGlzLncgKz0gdmVjdG9yLnc7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuc3VidHJhY3QgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggLT0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgLT0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogLT0gdmVjdG9yLno7XFxyXFxuICAgICAgICB0aGlzLncgLT0gdmVjdG9yLnc7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUubXVsdGlwbHkgPSBmdW5jdGlvbiAodmVjdG9yKSB7XFxyXFxuICAgICAgICB0aGlzLnggKj0gdmVjdG9yLng7XFxyXFxuICAgICAgICB0aGlzLnkgKj0gdmVjdG9yLnk7XFxyXFxuICAgICAgICB0aGlzLnogKj0gdmVjdG9yLno7XFxyXFxuICAgICAgICB0aGlzLncgKj0gdmVjdG9yLnc7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUuZGl2aWRlID0gZnVuY3Rpb24gKHZlY3Rvcikge1xcclxcbiAgICAgICAgdGhpcy54IC89IHZlY3Rvci54O1xcclxcbiAgICAgICAgdGhpcy55IC89IHZlY3Rvci55O1xcclxcbiAgICAgICAgdGhpcy56IC89IHZlY3Rvci56O1xcclxcbiAgICAgICAgdGhpcy53IC89IHZlY3Rvci53O1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQucHJvdG90eXBlLnNjYWxlID0gZnVuY3Rpb24gKHZhbHVlLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QueSAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QueiAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIGRlc3QudyAqPSB2YWx1ZTtcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiAoZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB2YXIgbGVuZ3RoID0gdGhpcy5sZW5ndGgoKTtcXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDEpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcXHJcXG4gICAgICAgICAgICBkZXN0LnggKj0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnkgKj0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LnogKj0gMDtcXHJcXG4gICAgICAgICAgICBkZXN0LncgKj0gMDtcXHJcXG4gICAgICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxlbmd0aCA9IDEuMCAvIGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QueCAqPSBsZW5ndGg7XFxyXFxuICAgICAgICBkZXN0LnkgKj0gbGVuZ3RoO1xcclxcbiAgICAgICAgZGVzdC56ICo9IGxlbmd0aDtcXHJcXG4gICAgICAgIGRlc3QudyAqPSBsZW5ndGg7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm90b3R5cGUubXVsdGlwbHlNYXQ0ID0gZnVuY3Rpb24gKG1hdHJpeCwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IHRoaXM7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbWF0cml4Lm11bHRpcGx5VmVjNCh0aGlzLCBkZXN0KTtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5taXggPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCB0aW1lLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdGltZSAqICh2ZWN0b3IyLnggLSB2ZWN0b3IueCk7XFxyXFxuICAgICAgICBkZXN0LnkgPSB2ZWN0b3IueSArIHRpbWUgKiAodmVjdG9yMi55IC0gdmVjdG9yLnkpO1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogKyB0aW1lICogKHZlY3RvcjIueiAtIHZlY3Rvci56KTtcXHJcXG4gICAgICAgIGRlc3QudyA9IHZlY3Rvci53ICsgdGltZSAqICh2ZWN0b3IyLncgLSB2ZWN0b3Iudyk7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5zdW0gPSBmdW5jdGlvbiAodmVjdG9yLCB2ZWN0b3IyLCBkZXN0KSB7XFxyXFxuICAgICAgICBpZiAoIWRlc3QpIHtcXHJcXG4gICAgICAgICAgICBkZXN0ID0gbmV3IHZlYzQoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGRlc3QueCA9IHZlY3Rvci54ICsgdmVjdG9yMi54O1xcclxcbiAgICAgICAgZGVzdC55ID0gdmVjdG9yLnkgKyB2ZWN0b3IyLnk7XFxyXFxuICAgICAgICBkZXN0LnogPSB2ZWN0b3IueiArIHZlY3RvcjIuejtcXHJcXG4gICAgICAgIGRlc3QudyA9IHZlY3Rvci53ICsgdmVjdG9yMi53O1xcclxcbiAgICAgICAgcmV0dXJuIGRlc3Q7XFxyXFxuICAgIH07XFxyXFxuICAgIHZlYzQuZGlmZmVyZW5jZSA9IGZ1bmN0aW9uICh2ZWN0b3IsIHZlY3RvcjIsIGRlc3QpIHtcXHJcXG4gICAgICAgIGlmICghZGVzdCkge1xcclxcbiAgICAgICAgICAgIGRlc3QgPSBuZXcgdmVjNCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZGVzdC54ID0gdmVjdG9yLnggLSB2ZWN0b3IyLng7XFxyXFxuICAgICAgICBkZXN0LnkgPSB2ZWN0b3IueSAtIHZlY3RvcjIueTtcXHJcXG4gICAgICAgIGRlc3QueiA9IHZlY3Rvci56IC0gdmVjdG9yMi56O1xcclxcbiAgICAgICAgZGVzdC53ID0gdmVjdG9yLncgLSB2ZWN0b3IyLnc7XFxyXFxuICAgICAgICByZXR1cm4gZGVzdDtcXHJcXG4gICAgfTtcXHJcXG4gICAgdmVjNC5wcm9kdWN0ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWM0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAqIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55ICogdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogKiB2ZWN0b3IyLno7XFxyXFxuICAgICAgICBkZXN0LncgPSB2ZWN0b3IudyAqIHZlY3RvcjIudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0LnF1b3RpZW50ID0gZnVuY3Rpb24gKHZlY3RvciwgdmVjdG9yMiwgZGVzdCkge1xcclxcbiAgICAgICAgaWYgKCFkZXN0KSB7XFxyXFxuICAgICAgICAgICAgZGVzdCA9IG5ldyB2ZWM0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBkZXN0LnggPSB2ZWN0b3IueCAvIHZlY3RvcjIueDtcXHJcXG4gICAgICAgIGRlc3QueSA9IHZlY3Rvci55IC8gdmVjdG9yMi55O1xcclxcbiAgICAgICAgZGVzdC56ID0gdmVjdG9yLnogLyB2ZWN0b3IyLno7XFxyXFxuICAgICAgICBkZXN0LncgPSB2ZWN0b3IudyAvIHZlY3RvcjIudztcXHJcXG4gICAgICAgIHJldHVybiBkZXN0O1xcclxcbiAgICB9O1xcclxcbiAgICB2ZWM0Lnplcm8gPSBuZXcgdmVjNChbMCwgMCwgMCwgMV0pO1xcclxcbiAgICB2ZWM0Lm9uZSA9IG5ldyB2ZWM0KFsxLCAxLCAxLCAxXSk7XFxyXFxuICAgIHJldHVybiB2ZWM0O1xcclxcbn0oKSk7XFxyXFxuZXhwb3J0cy5kZWZhdWx0ID0gdmVjNDtcXHJcXG4vLyMgc291cmNlTWFwcGluZ1VSTD12ZWM0LmpzLm1hcC8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5QWRHeGhkV3RyWVc0dmRITnRMMlJwYzNRdmRtVmpOQzVxY3o5aU16WmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoTzBGQlEySXNPRU5CUVRoRExHTkJRV003UVVGRE5VUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNiVVZCUVdFN1FVRkRka003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVU5CUVcxRExHbERRVUZwUXp0QlFVTndSVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZRSFJzWVhWcmEyRnVMM1J6YlM5a2FYTjBMM1psWXpRdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKY0luVnpaU0J6ZEhKcFkzUmNJanRjY2x4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1Y0Y0c5eWRITXNJRndpWDE5bGMwMXZaSFZzWlZ3aUxDQjdJSFpoYkhWbE9pQjBjblZsSUgwcE8xeHlYRzUyWVhJZ1kyOXVjM1JoYm5Selh6RWdQU0J5WlhGMWFYSmxLRndpTGk5amIyNXpkR0Z1ZEhOY0lpazdYSEpjYm5aaGNpQjJaV00wSUQwZ0x5b3FJRUJqYkdGemN5QXFMeUFvWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z2RtVmpOQ2gyWVd4MVpYTXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGN5QTlJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29OQ2s3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbGN5QWhQVDBnZFc1a1pXWnBibVZrS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVlSGw2ZHlBOUlIWmhiSFZsY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZUZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2llVndpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aWVsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZDF3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2llSGxjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlIWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpZUhsNlhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ2RtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6UXVjSEp2ZEc5MGVYQmxMQ0JjSW5oNWVuZGNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCMllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpY2x3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN3WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekJkSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2laMXdpTENCN1hISmNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMblpoYkhWbGMxc3hYVHRjY2x4dUlDQWdJQ0FnSUNCOUxGeHlYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tIWmhiSFZsS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6RmRJRDBnZG1Gc2RXVTdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbExGeHlYRzRnSUNBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh5WEc0Z0lDQWdmU2s3WEhKY2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RtVmpOQzV3Y205MGIzUjVjR1VzSUZ3aVlsd2lMQ0I3WEhKY2JpQWdJQ0FnSUNBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pKZElEMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpWVZ3aUxDQjdYSEpjYmlBZ0lDQWdJQ0FnWjJWME9pQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5aaGJIVmxjMXN6WFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXek5kSUQwZ2RtRnNkV1U3WEhKY2JpQWdJQ0FnSUNBZ2ZTeGNjbHh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh5WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlZ4eVhHNGdJQ0FnZlNrN1hISmNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kbVZqTkM1d2NtOTBiM1I1Y0dVc0lGd2ljbWRjSWl3Z2UxeHlYRzRnSUNBZ0lDQWdJR2RsZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1cxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTUYwc1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN4WFN4Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWFR0Y2NseHVJQ0FnSUNBZ0lDQjlMRnh5WEc0Z0lDQWdJQ0FnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbGN5a2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN3WFNBOUlIWmhiSFZsYzFzd1hUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNVjBnUFNCMllXeDFaWE5iTVYwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZG1Wak5DNXdjbTkwYjNSNWNHVXNJRndpY21kaVhDSXNJSHRjY2x4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRnRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6QmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1WMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzeVhTeGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNjbHh1SUNBZ0lDQWdJQ0I5TEZ4eVhHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxjeWtnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdsekxuWmhiSFZsYzFzd1hTQTlJSFpoYkhWbGMxc3dYVHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1MllXeDFaWE5iTVYwZ1BTQjJZV3gxWlhOYk1WMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZG1Gc2RXVnpXekpkSUQwZ2RtRnNkV1Z6V3pKZE8xeHlYRzRnSUNBZ0lDQWdJSDBzWEhKY2JpQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2NseHVJQ0FnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNjbHh1SUNBZ0lIMHBPMXh5WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0habFl6UXVjSEp2ZEc5MGVYQmxMQ0JjSW5KblltRmNJaXdnZTF4eVhHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNRjBzWEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFHbHpMblpoYkhWbGMxc3hYU3hjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVkbUZzZFdWeld6SmRMRnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk0xMHNYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lGMDdYSEpjYmlBZ0lDQWdJQ0FnZlN4Y2NseHVJQ0FnSUNBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaWE1wSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NTJZV3gxWlhOYk1GMGdQU0IyWVd4MVpYTmJNRjA3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdWRtRnNkV1Z6V3pGZElEMGdkbUZzZFdWeld6RmRPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5aaGJIVmxjMXN5WFNBOUlIWmhiSFZsYzFzeVhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpYTmJNMTBnUFNCMllXeDFaWE5iTTEwN1hISmNiaUFnSUNBZ0lDQWdmU3hjY2x4dUlDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4eVhHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpWeHlYRzRnSUNBZ2ZTazdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1aGRDQTlJR1oxYm1OMGFXOXVJQ2hwYm1SbGVDa2dlMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuWmhiSFZsYzF0cGJtUmxlRjA3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak5DNXdjbTkwYjNSNWNHVXVjbVZ6WlhRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU0SUQwZ01EdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZWlBOUlEQTdYSEpjYmlBZ0lDQWdJQ0FnZEdocGN5NTNJRDBnTUR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdLR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTTBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0IwYUdsekxuazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZEdocGN5NTZPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1dVpXZGhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2RHaHBjenRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NElEMGdMWFJvYVhNdWVEdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExua2dQU0F0ZEdocGN5NTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUMxMGFHbHpMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ0xYUm9hWE11ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1pHVnpkRHRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNWxjWFZoYkhNZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNCcFppQW9kR2h5WlhOb2IyeGtJRDA5UFNCMmIybGtJREFwSUhzZ2RHaHlaWE5vYjJ4a0lEMGdZMjl1YzNSaGJuUnpYekV1WlhCemFXeHZianNnZlZ4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2hOWVhSb0xtRmljeWgwYUdsekxuZ2dMU0IyWldOMGIzSXVlQ2tnUGlCMGFISmxjMmh2YkdRcElIdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQnBaaUFvVFdGMGFDNWhZbk1vZEdocGN5NTVJQzBnZG1WamRHOXlMbmtwSUQ0Z2RHaHlaWE5vYjJ4a0tTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dUlDQWdJQ0FnSUNCOVhISmNiaUFnSUNBZ0lDQWdhV1lnS0UxaGRHZ3VZV0p6S0hSb2FYTXVlaUF0SUhabFkzUnZjaTU2S1NBK0lIUm9jbVZ6YUc5c1pDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3loMGFHbHpMbmNnTFNCMlpXTjBiM0l1ZHlrZ1BpQjBhSEpsYzJodmJHUXBJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2NseHVJQ0FnSUgwN1hISmNiaUFnSUNCMlpXTTBMbkJ5YjNSdmRIbHdaUzVzWlc1bmRHZ2dQU0JtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFMWhkR2d1YzNGeWRDaDBhR2x6TG5OeGRXRnlaV1JNWlc1bmRHZ29LU2s3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak5DNXdjbTkwYjNSNWNHVXVjM0YxWVhKbFpFeGxibWQwYUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlQ0E5SUhSb2FYTXVlRHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlU0E5SUhSb2FYTXVlVHRjY2x4dUlDQWdJQ0FnSUNCMllYSWdlaUE5SUhSb2FYTXVlanRjY2x4dUlDQWdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnS0hnZ0tpQjRJQ3NnZVNBcUlIa2dLeUI2SUNvZ2VpQXJJSGNnS2lCM0tUdGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvZG1WamRHOXlLU0I3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU0SUNzOUlIWmxZM1J2Y2k1NE8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVTQXJQU0IyWldOMGIzSXVlVHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbm9nS3owZ2RtVmpkRzl5TG5vN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1M0lDczlJSFpsWTNSdmNpNTNPMXh5WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHlYRzRnSUNBZ2ZUdGNjbHh1SUNBZ0lIWmxZelF1Y0hKdmRHOTBlWEJsTG5OMVluUnlZV04wSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2lrZ2UxeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWVDQXRQU0IyWldOMGIzSXVlRHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmtnTFQwZ2RtVmpkRzl5TG5rN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NklDMDlJSFpsWTNSdmNpNTZPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkeUF0UFNCMlpXTjBiM0l1ZHp0Y2NseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjY2x4dUlDQWdJSDA3WEhKY2JpQWdJQ0IyWldNMExuQnliM1J2ZEhsd1pTNXRkV3gwYVhCc2VTQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXBJSHRjY2x4dUlDQWdJQ0FnSUNCMGFHbHpMbmdnS2owZ2RtVmpkRzl5TG5nN1hISmNiaUFnSUNBZ0lDQWdkR2hwY3k1NUlDbzlJSFpsWTNSdmNpNTVPMXh5WEc0Z0lDQWdJQ0FnSUhSb2FYTXVlaUFxUFNCMlpXTjBiM0l1ZWp0Y2NseHVJQ0FnSUNBZ0lDQjBhR2x6TG5jZ0tqMGdkbVZqZEc5eUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1WkdsMmFXUmxJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaWtnZTF4eVhHNGdJQ0FnSUNBZ0lIUm9hWE11ZUNBdlBTQjJaV04wYjNJdWVEdGNjbHh1SUNBZ0lDQWdJQ0IwYUdsekxua2dMejBnZG1WamRHOXlMbms3WEhKY2JpQWdJQ0FnSUNBZ2RHaHBjeTU2SUM4OUlIWmxZM1J2Y2k1Nk8xeHlYRzRnSUNBZ0lDQWdJSFJvYVhNdWR5QXZQU0IyWldOMGIzSXVkenRjY2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNjbHh1SUNBZ0lIMDdYSEpjYmlBZ0lDQjJaV00wTG5CeWIzUnZkSGx3WlM1elkyRnNaU0E5SUdaMWJtTjBhVzl1SUNoMllXeDFaU3dnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnZEdocGN6dGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUNvOUlIWmhiSFZsTzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBcVBTQjJZV3gxWlR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdkbUZzZFdVN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1M0lDbzlJSFpoYkhWbE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6UXVjSEp2ZEc5MGVYQmxMbTV2Y20xaGJHbDZaU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCMGFHbHpPMXh5WEc0Z0lDQWdJQ0FnSUgxY2NseHVJQ0FnSUNBZ0lDQjJZWElnYkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnb0tUdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXhLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JwWmlBb2JHVnVaM1JvSUQwOVBTQXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJR1JsYzNRdWVDQXFQU0F3TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMExua2dLajBnTUR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDNTZJQ285SURBN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdSbGMzUXVkeUFxUFNBd08xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWemREdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ2JHVnVaM1JvSUQwZ01TNHdJQzhnYkdWdVozUm9PMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlQ0FxUFNCc1pXNW5kR2c3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU1SUNvOUlHeGxibWQwYUR0Y2NseHVJQ0FnSUNBZ0lDQmtaWE4wTG5vZ0tqMGdiR1Z1WjNSb08xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QXFQU0JzWlc1bmRHZzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205MGIzUjVjR1V1YlhWc2RHbHdiSGxOWVhRMElEMGdablZ1WTNScGIyNGdLRzFoZEhKcGVDd2daR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWlhOMElEMGdkR2hwY3p0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzFoZEhKcGVDNXRkV3gwYVhCc2VWWmxZelFvZEdocGN5d2daR1Z6ZENrN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV0YVhnZ1BTQm1kVzVqZEdsdmJpQW9kbVZqZEc5eUxDQjJaV04wYjNJeUxDQjBhVzFsTENCa1pYTjBLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrWlhOMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHUmxjM1FnUFNCdVpYY2dkbVZqTkNncE8xeHlYRzRnSUNBZ0lDQWdJSDFjY2x4dUlDQWdJQ0FnSUNCa1pYTjBMbmdnUFNCMlpXTjBiM0l1ZUNBcklIUnBiV1VnS2lBb2RtVmpkRzl5TWk1NElDMGdkbVZqZEc5eUxuZ3BPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlU0E5SUhabFkzUnZjaTU1SUNzZ2RHbHRaU0FxSUNoMlpXTjBiM0l5TG5rZ0xTQjJaV04wYjNJdWVTazdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTZJRDBnZG1WamRHOXlMbm9nS3lCMGFXMWxJQ29nS0habFkzUnZjakl1ZWlBdElIWmxZM1J2Y2k1NktUdGNjbHh1SUNBZ0lDQWdJQ0JrWlhOMExuY2dQU0IyWldOMGIzSXVkeUFySUhScGJXVWdLaUFvZG1WamRHOXlNaTUzSUMwZ2RtVmpkRzl5TG5jcE8xeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaWE4wTzF4eVhHNGdJQ0FnZlR0Y2NseHVJQ0FnSUhabFl6UXVjM1Z0SUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSFpsWXpRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2RtVmpkRzl5TG5nZ0t5QjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZG1WamRHOXlMbmtnS3lCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkbVZqZEc5eUxub2dLeUIyWldOMGIzSXlMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2RtVmpkRzl5TG5jZ0t5QjJaV04wYjNJeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzVrYVdabVpYSmxibU5sSUQwZ1puVnVZM1JwYjI0Z0tIWmxZM1J2Y2l3Z2RtVmpkRzl5TWl3Z1pHVnpkQ2tnZTF4eVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE4wSUQwZ2JtVjNJSFpsWXpRb0tUdGNjbHh1SUNBZ0lDQWdJQ0I5WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU0SUQwZ2RtVmpkRzl5TG5nZ0xTQjJaV04wYjNJeUxuZzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTVJRDBnZG1WamRHOXlMbmtnTFNCMlpXTjBiM0l5TG5rN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NklEMGdkbVZqZEc5eUxub2dMU0IyWldOMGIzSXlMbm83WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzUzSUQwZ2RtVmpkRzl5TG5jZ0xTQjJaV04wYjNJeUxuYzdYSEpjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1JsYzNRN1hISmNiaUFnSUNCOU8xeHlYRzRnSUNBZ2RtVmpOQzV3Y205a2RXTjBJRDBnWm5WdVkzUnBiMjRnS0habFkzUnZjaXdnZG1WamRHOXlNaXdnWkdWemRDa2dlMXh5WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR1Z6ZENrZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCa1pYTjBJRDBnYm1WM0lIWmxZelFvS1R0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTRJRDBnZG1WamRHOXlMbmdnS2lCMlpXTjBiM0l5TG5nN1hISmNiaUFnSUNBZ0lDQWdaR1Z6ZEM1NUlEMGdkbVZqZEc5eUxua2dLaUIyWldOMGIzSXlMbms3WEhKY2JpQWdJQ0FnSUNBZ1pHVnpkQzU2SUQwZ2RtVmpkRzl5TG5vZ0tpQjJaV04wYjNJeUxubzdYSEpjYmlBZ0lDQWdJQ0FnWkdWemRDNTNJRDBnZG1WamRHOXlMbmNnS2lCMlpXTjBiM0l5TG5jN1hISmNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHUmxjM1E3WEhKY2JpQWdJQ0I5TzF4eVhHNGdJQ0FnZG1Wak5DNXhkVzkwYVdWdWRDQTlJR1oxYm1OMGFXOXVJQ2gyWldOMGIzSXNJSFpsWTNSdmNqSXNJR1JsYzNRcElIdGNjbHh1SUNBZ0lDQWdJQ0JwWmlBb0lXUmxjM1FwSUh0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnWkdWemRDQTlJRzVsZHlCMlpXTTBLQ2s3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWVDQTlJSFpsWTNSdmNpNTRJQzhnZG1WamRHOXlNaTU0TzF4eVhHNGdJQ0FnSUNBZ0lHUmxjM1F1ZVNBOUlIWmxZM1J2Y2k1NUlDOGdkbVZqZEc5eU1pNTVPMXh5WEc0Z0lDQWdJQ0FnSUdSbGMzUXVlaUE5SUhabFkzUnZjaTU2SUM4Z2RtVmpkRzl5TWk1Nk8xeHlYRzRnSUNBZ0lDQWdJR1JsYzNRdWR5QTlJSFpsWTNSdmNpNTNJQzhnZG1WamRHOXlNaTUzTzF4eVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pYTjBPMXh5WEc0Z0lDQWdmVHRjY2x4dUlDQWdJSFpsWXpRdWVtVnlieUE5SUc1bGR5QjJaV00wS0Zzd0xDQXdMQ0F3TENBeFhTazdYSEpjYmlBZ0lDQjJaV00wTG05dVpTQTlJRzVsZHlCMlpXTTBLRnN4TENBeExDQXhMQ0F4WFNrN1hISmNiaUFnSUNCeVpYUjFjbTRnZG1Wak5EdGNjbHh1ZlNncEtUdGNjbHh1Wlhod2IzSjBjeTVrWldaaGRXeDBJRDBnZG1Wak5EdGNjbHh1THk4aklITnZkWEpqWlUxaGNIQnBibWRWVWt3OWRtVmpOQzVxY3k1dFlYQWlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L3ZlYzQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBhc24xID0gZXhwb3J0cztcXG5cXG5hc24xLmJpZ251bSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG5cXG5hc24xLmRlZmluZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9hcGkgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYXBpLmpzXFxcIikuZGVmaW5lO1xcbmFzbjEuYmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvaW5kZXguanNcXFwiKTtcXG5hc24xLmNvbnN0YW50cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9jb25zdGFudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvY29uc3RhbnRzL2luZGV4LmpzXFxcIik7XFxuYXNuMS5kZWNvZGVycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMS9kZWNvZGVycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9pbmRleC5qc1xcXCIpO1xcbmFzbjEuZW5jb2RlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FzbjEvZW5jb2RlcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZW5jb2RlcnMvaW5kZXguanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eExtcHpQMkUwWWpraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFc1kwRkJZeXh0UWtGQlR5eERRVUZETEd0RlFVRlBPenRCUVVVM1FpeGpRVUZqTEcxQ1FVRlBMRU5CUVVNc01FUkJRVms3UVVGRGJFTXNXVUZCV1N4dFFrRkJUeXhEUVVGRExHdEZRVUZoTzBGQlEycERMR2xDUVVGcFFpeHRRa0ZCVHl4RFFVRkRMRFJGUVVGclFqdEJRVU16UXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl3d1JVRkJhVUk3UVVGRGVrTXNaMEpCUVdkQ0xHMUNRVUZQTEVOQlFVTXNNRVZCUVdsQ0lpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGemJqRXVhbk12YkdsaUwyRnpiakV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1lYTnVNU0E5SUdWNGNHOXlkSE03WEc1Y2JtRnpiakV1WW1sbmJuVnRJRDBnY21WeGRXbHlaU2duWW00dWFuTW5LVHRjYmx4dVlYTnVNUzVrWldacGJtVWdQU0J5WlhGMWFYSmxLQ2N1TDJGemJqRXZZWEJwSnlrdVpHVm1hVzVsTzF4dVlYTnVNUzVpWVhObElEMGdjbVZ4ZFdseVpTZ25MaTloYzI0eEwySmhjMlVuS1R0Y2JtRnpiakV1WTI5dWMzUmhiblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOWhjMjR4TDJOdmJuTjBZVzUwY3ljcE8xeHVZWE51TVM1a1pXTnZaR1Z5Y3lBOUlISmxjWFZwY21Vb0p5NHZZWE51TVM5a1pXTnZaR1Z5Y3ljcE8xeHVZWE51TVM1bGJtTnZaR1Z5Y3lBOUlISmxjWFZwY21Vb0p5NHZZWE51TVM5bGJtTnZaR1Z5Y3ljcE8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYXBpLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYXBpLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgYXNuMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2FzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEuanNcXFwiKTtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcblxcbnZhciBhcGkgPSBleHBvcnRzO1xcblxcbmFwaS5kZWZpbmUgPSBmdW5jdGlvbiBkZWZpbmUobmFtZSwgYm9keSkge1xcbiAgcmV0dXJuIG5ldyBFbnRpdHkobmFtZSwgYm9keSk7XFxufTtcXG5cXG5mdW5jdGlvbiBFbnRpdHkobmFtZSwgYm9keSkge1xcbiAgdGhpcy5uYW1lID0gbmFtZTtcXG4gIHRoaXMuYm9keSA9IGJvZHk7XFxuXFxuICB0aGlzLmRlY29kZXJzID0ge307XFxuICB0aGlzLmVuY29kZXJzID0ge307XFxufTtcXG5cXG5FbnRpdHkucHJvdG90eXBlLl9jcmVhdGVOYW1lZCA9IGZ1bmN0aW9uIGNyZWF0ZU5hbWVkKGJhc2UpIHtcXG4gIHZhciBuYW1lZDtcXG4gIHRyeSB7XFxuICAgIG5hbWVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdm0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3ZtLWJyb3dzZXJpZnkvaW5kZXguanNcXFwiKS5ydW5JblRoaXNDb250ZXh0KFxcbiAgICAgICcoZnVuY3Rpb24gJyArIHRoaXMubmFtZSArICcoZW50aXR5KSB7XFxcXG4nICtcXG4gICAgICAnICB0aGlzLl9pbml0TmFtZWQoZW50aXR5KTtcXFxcbicgK1xcbiAgICAgICd9KSdcXG4gICAgKTtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gICAgbmFtZWQgPSBmdW5jdGlvbiAoZW50aXR5KSB7XFxuICAgICAgdGhpcy5faW5pdE5hbWVkKGVudGl0eSk7XFxuICAgIH07XFxuICB9XFxuICBpbmhlcml0cyhuYW1lZCwgYmFzZSk7XFxuICBuYW1lZC5wcm90b3R5cGUuX2luaXROYW1lZCA9IGZ1bmN0aW9uIGluaXRuYW1lZChlbnRpdHkpIHtcXG4gICAgYmFzZS5jYWxsKHRoaXMsIGVudGl0eSk7XFxuICB9O1xcblxcbiAgcmV0dXJuIG5ldyBuYW1lZCh0aGlzKTtcXG59O1xcblxcbkVudGl0eS5wcm90b3R5cGUuX2dldERlY29kZXIgPSBmdW5jdGlvbiBfZ2V0RGVjb2RlcihlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAnZGVyJztcXG4gIC8vIExhemlseSBjcmVhdGUgZGVjb2RlclxcbiAgaWYgKCF0aGlzLmRlY29kZXJzLmhhc093blByb3BlcnR5KGVuYykpXFxuICAgIHRoaXMuZGVjb2RlcnNbZW5jXSA9IHRoaXMuX2NyZWF0ZU5hbWVkKGFzbjEuZGVjb2RlcnNbZW5jXSk7XFxuICByZXR1cm4gdGhpcy5kZWNvZGVyc1tlbmNdO1xcbn07XFxuXFxuRW50aXR5LnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoZGF0YSwgZW5jLCBvcHRpb25zKSB7XFxuICByZXR1cm4gdGhpcy5fZ2V0RGVjb2RlcihlbmMpLmRlY29kZShkYXRhLCBvcHRpb25zKTtcXG59O1xcblxcbkVudGl0eS5wcm90b3R5cGUuX2dldEVuY29kZXIgPSBmdW5jdGlvbiBfZ2V0RW5jb2RlcihlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAnZGVyJztcXG4gIC8vIExhemlseSBjcmVhdGUgZW5jb2RlclxcbiAgaWYgKCF0aGlzLmVuY29kZXJzLmhhc093blByb3BlcnR5KGVuYykpXFxuICAgIHRoaXMuZW5jb2RlcnNbZW5jXSA9IHRoaXMuX2NyZWF0ZU5hbWVkKGFzbjEuZW5jb2RlcnNbZW5jXSk7XFxuICByZXR1cm4gdGhpcy5lbmNvZGVyc1tlbmNdO1xcbn07XFxuXFxuRW50aXR5LnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZGF0YSwgZW5jLCAvKiBpbnRlcm5hbCAqLyByZXBvcnRlcikge1xcbiAgcmV0dXJuIHRoaXMuX2dldEVuY29kZXIoZW5jKS5lbmNvZGUoZGF0YSwgcmVwb3J0ZXIpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMkZ3YVM1cWN6OWlNRFkwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxGZEJRVmNzYlVKQlFVOHNRMEZCUXl4dFJFRkJVenRCUVVNMVFpeGxRVUZsTEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3TzBGQlJXcERPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4cFJFRkJTVHRCUVVONFFpdzBRMEZCTkVNN1FVRkROVU1zYVVOQlFXbERPMEZCUTJwRExGRkJRVkU3UVVGRFVqdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwyRndhUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCaGMyNHhJRDBnY21WeGRXbHlaU2duTGk0dllYTnVNU2NwTzF4dWRtRnlJR2x1YUdWeWFYUnpJRDBnY21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1R0Y2JseHVkbUZ5SUdGd2FTQTlJR1Y0Y0c5eWRITTdYRzVjYm1Gd2FTNWtaV1pwYm1VZ1BTQm1kVzVqZEdsdmJpQmtaV1pwYm1Vb2JtRnRaU3dnWW05a2VTa2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFVnVkR2wwZVNodVlXMWxMQ0JpYjJSNUtUdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlFVnVkR2wwZVNodVlXMWxMQ0JpYjJSNUtTQjdYRzRnSUhSb2FYTXVibUZ0WlNBOUlHNWhiV1U3WEc0Z0lIUm9hWE11WW05a2VTQTlJR0p2WkhrN1hHNWNiaUFnZEdocGN5NWtaV052WkdWeWN5QTlJSHQ5TzF4dUlDQjBhR2x6TG1WdVkyOWtaWEp6SUQwZ2UzMDdYRzU5TzF4dVhHNUZiblJwZEhrdWNISnZkRzkwZVhCbExsOWpjbVZoZEdWT1lXMWxaQ0E5SUdaMWJtTjBhVzl1SUdOeVpXRjBaVTVoYldWa0tHSmhjMlVwSUh0Y2JpQWdkbUZ5SUc1aGJXVmtPMXh1SUNCMGNua2dlMXh1SUNBZ0lHNWhiV1ZrSUQwZ2NtVnhkV2x5WlNnbmRtMG5LUzV5ZFc1SmJsUm9hWE5EYjI1MFpYaDBLRnh1SUNBZ0lDQWdKeWhtZFc1amRHbHZiaUFuSUNzZ2RHaHBjeTV1WVcxbElDc2dKeWhsYm5ScGRIa3BJSHRjWEc0bklDdGNiaUFnSUNBZ0lDY2dJSFJvYVhNdVgybHVhWFJPWVcxbFpDaGxiblJwZEhrcE8xeGNiaWNnSzF4dUlDQWdJQ0FnSjMwcEoxeHVJQ0FnSUNrN1hHNGdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0J1WVcxbFpDQTlJR1oxYm1OMGFXOXVJQ2hsYm5ScGRIa3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVgybHVhWFJPWVcxbFpDaGxiblJwZEhrcE8xeHVJQ0FnSUgwN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb2JtRnRaV1FzSUdKaGMyVXBPMXh1SUNCdVlXMWxaQzV3Y205MGIzUjVjR1V1WDJsdWFYUk9ZVzFsWkNBOUlHWjFibU4wYVc5dUlHbHVhWFJ1WVcxbFpDaGxiblJwZEhrcElIdGNiaUFnSUNCaVlYTmxMbU5oYkd3b2RHaHBjeXdnWlc1MGFYUjVLVHRjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lHNWhiV1ZrS0hSb2FYTXBPMXh1ZlR0Y2JseHVSVzUwYVhSNUxuQnliM1J2ZEhsd1pTNWZaMlYwUkdWamIyUmxjaUE5SUdaMWJtTjBhVzl1SUY5blpYUkVaV052WkdWeUtHVnVZeWtnZTF4dUlDQmxibU1nUFNCbGJtTWdmSHdnSjJSbGNpYzdYRzRnSUM4dklFeGhlbWxzZVNCamNtVmhkR1VnWkdWamIyUmxjbHh1SUNCcFppQW9JWFJvYVhNdVpHVmpiMlJsY25NdWFHRnpUM2R1VUhKdmNHVnlkSGtvWlc1aktTbGNiaUFnSUNCMGFHbHpMbVJsWTI5a1pYSnpXMlZ1WTEwZ1BTQjBhR2x6TGw5amNtVmhkR1ZPWVcxbFpDaGhjMjR4TG1SbFkyOWtaWEp6VzJWdVkxMHBPMXh1SUNCeVpYUjFjbTRnZEdocGN5NWtaV052WkdWeWMxdGxibU5kTzF4dWZUdGNibHh1Ulc1MGFYUjVMbkJ5YjNSdmRIbHdaUzVrWldOdlpHVWdQU0JtZFc1amRHbHZiaUJrWldOdlpHVW9aR0YwWVN3Z1pXNWpMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDluWlhSRVpXTnZaR1Z5S0dWdVl5a3VaR1ZqYjJSbEtHUmhkR0VzSUc5d2RHbHZibk1wTzF4dWZUdGNibHh1Ulc1MGFYUjVMbkJ5YjNSdmRIbHdaUzVmWjJWMFJXNWpiMlJsY2lBOUlHWjFibU4wYVc5dUlGOW5aWFJGYm1OdlpHVnlLR1Z1WXlrZ2UxeHVJQ0JsYm1NZ1BTQmxibU1nZkh3Z0oyUmxjaWM3WEc0Z0lDOHZJRXhoZW1sc2VTQmpjbVZoZEdVZ1pXNWpiMlJsY2x4dUlDQnBaaUFvSVhSb2FYTXVaVzVqYjJSbGNuTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1pXNWpLU2xjYmlBZ0lDQjBhR2x6TG1WdVkyOWtaWEp6VzJWdVkxMGdQU0IwYUdsekxsOWpjbVZoZEdWT1lXMWxaQ2hoYzI0eExtVnVZMjlrWlhKelcyVnVZMTBwTzF4dUlDQnlaWFIxY200Z2RHaHBjeTVsYm1OdlpHVnljMXRsYm1OZE8xeHVmVHRjYmx4dVJXNTBhWFI1TG5CeWIzUnZkSGx3WlM1bGJtTnZaR1VnUFNCbWRXNWpkR2x2YmlCbGJtTnZaR1VvWkdGMFlTd2daVzVqTENBdktpQnBiblJsY201aGJDQXFMeUJ5WlhCdmNuUmxjaWtnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTVmWjJWMFJXNWpiMlJsY2lobGJtTXBMbVZ1WTI5a1pTaGtZWFJoTENCeVpYQnZjblJsY2lrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2FwaS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2J1ZmZlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG52YXIgUmVwb3J0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvaW5kZXguanNcXFwiKS5SZXBvcnRlcjtcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuXFxuZnVuY3Rpb24gRGVjb2RlckJ1ZmZlcihiYXNlLCBvcHRpb25zKSB7XFxuICBSZXBvcnRlci5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYmFzZSkpIHtcXG4gICAgdGhpcy5lcnJvcignSW5wdXQgbm90IEJ1ZmZlcicpO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB0aGlzLmJhc2UgPSBiYXNlO1xcbiAgdGhpcy5vZmZzZXQgPSAwO1xcbiAgdGhpcy5sZW5ndGggPSBiYXNlLmxlbmd0aDtcXG59XFxuaW5oZXJpdHMoRGVjb2RlckJ1ZmZlciwgUmVwb3J0ZXIpO1xcbmV4cG9ydHMuRGVjb2RlckJ1ZmZlciA9IERlY29kZXJCdWZmZXI7XFxuXFxuRGVjb2RlckJ1ZmZlci5wcm90b3R5cGUuc2F2ZSA9IGZ1bmN0aW9uIHNhdmUoKSB7XFxuICByZXR1cm4geyBvZmZzZXQ6IHRoaXMub2Zmc2V0LCByZXBvcnRlcjogUmVwb3J0ZXIucHJvdG90eXBlLnNhdmUuY2FsbCh0aGlzKSB9O1xcbn07XFxuXFxuRGVjb2RlckJ1ZmZlci5wcm90b3R5cGUucmVzdG9yZSA9IGZ1bmN0aW9uIHJlc3RvcmUoc2F2ZSkge1xcbiAgLy8gUmV0dXJuIHNraXBwZWQgZGF0YVxcbiAgdmFyIHJlcyA9IG5ldyBEZWNvZGVyQnVmZmVyKHRoaXMuYmFzZSk7XFxuICByZXMub2Zmc2V0ID0gc2F2ZS5vZmZzZXQ7XFxuICByZXMubGVuZ3RoID0gdGhpcy5vZmZzZXQ7XFxuXFxuICB0aGlzLm9mZnNldCA9IHNhdmUub2Zmc2V0O1xcbiAgUmVwb3J0ZXIucHJvdG90eXBlLnJlc3RvcmUuY2FsbCh0aGlzLCBzYXZlLnJlcG9ydGVyKTtcXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24gaXNFbXB0eSgpIHtcXG4gIHJldHVybiB0aGlzLm9mZnNldCA9PT0gdGhpcy5sZW5ndGg7XFxufTtcXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDggPSBmdW5jdGlvbiByZWFkVUludDgoZmFpbCkge1xcbiAgaWYgKHRoaXMub2Zmc2V0ICsgMSA8PSB0aGlzLmxlbmd0aClcXG4gICAgcmV0dXJuIHRoaXMuYmFzZS5yZWFkVUludDgodGhpcy5vZmZzZXQrKywgdHJ1ZSk7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLmVycm9yKGZhaWwgfHwgJ0RlY29kZXJCdWZmZXIgb3ZlcnJ1bicpO1xcbn1cXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5za2lwID0gZnVuY3Rpb24gc2tpcChieXRlcywgZmFpbCkge1xcbiAgaWYgKCEodGhpcy5vZmZzZXQgKyBieXRlcyA8PSB0aGlzLmxlbmd0aCkpXFxuICAgIHJldHVybiB0aGlzLmVycm9yKGZhaWwgfHwgJ0RlY29kZXJCdWZmZXIgb3ZlcnJ1bicpO1xcblxcbiAgdmFyIHJlcyA9IG5ldyBEZWNvZGVyQnVmZmVyKHRoaXMuYmFzZSk7XFxuXFxuICAvLyBTaGFyZSByZXBvcnRlciBzdGF0ZVxcbiAgcmVzLl9yZXBvcnRlclN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG5cXG4gIHJlcy5vZmZzZXQgPSB0aGlzLm9mZnNldDtcXG4gIHJlcy5sZW5ndGggPSB0aGlzLm9mZnNldCArIGJ5dGVzO1xcbiAgdGhpcy5vZmZzZXQgKz0gYnl0ZXM7XFxuICByZXR1cm4gcmVzO1xcbn1cXG5cXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5yYXcgPSBmdW5jdGlvbiByYXcoc2F2ZSkge1xcbiAgcmV0dXJuIHRoaXMuYmFzZS5zbGljZShzYXZlID8gc2F2ZS5vZmZzZXQgOiB0aGlzLm9mZnNldCwgdGhpcy5sZW5ndGgpO1xcbn1cXG5cXG5mdW5jdGlvbiBFbmNvZGVyQnVmZmVyKHZhbHVlLCByZXBvcnRlcikge1xcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlLm1hcChmdW5jdGlvbihpdGVtKSB7XFxuICAgICAgaWYgKCEoaXRlbSBpbnN0YW5jZW9mIEVuY29kZXJCdWZmZXIpKVxcbiAgICAgICAgaXRlbSA9IG5ldyBFbmNvZGVyQnVmZmVyKGl0ZW0sIHJlcG9ydGVyKTtcXG4gICAgICB0aGlzLmxlbmd0aCArPSBpdGVtLmxlbmd0aDtcXG4gICAgICByZXR1cm4gaXRlbTtcXG4gICAgfSwgdGhpcyk7XFxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcXG4gICAgaWYgKCEoMCA8PSB2YWx1ZSAmJiB2YWx1ZSA8PSAweGZmKSlcXG4gICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoJ25vbi1ieXRlIEVuY29kZXJCdWZmZXIgdmFsdWUnKTtcXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xcbiAgICB0aGlzLmxlbmd0aCA9IEJ1ZmZlci5ieXRlTGVuZ3RoKHZhbHVlKTtcXG4gIH0gZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbHVlKSkge1xcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XFxuICAgIHRoaXMubGVuZ3RoID0gdmFsdWUubGVuZ3RoO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbnN1cHBvcnRlZCB0eXBlOiAnICsgdHlwZW9mIHZhbHVlKTtcXG4gIH1cXG59XFxuZXhwb3J0cy5FbmNvZGVyQnVmZmVyID0gRW5jb2RlckJ1ZmZlcjtcXG5cXG5FbmNvZGVyQnVmZmVyLnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gam9pbihvdXQsIG9mZnNldCkge1xcbiAgaWYgKCFvdXQpXFxuICAgIG91dCA9IG5ldyBCdWZmZXIodGhpcy5sZW5ndGgpO1xcbiAgaWYgKCFvZmZzZXQpXFxuICAgIG9mZnNldCA9IDA7XFxuXFxuICBpZiAodGhpcy5sZW5ndGggPT09IDApXFxuICAgIHJldHVybiBvdXQ7XFxuXFxuICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xcbiAgICB0aGlzLnZhbHVlLmZvckVhY2goZnVuY3Rpb24oaXRlbSkge1xcbiAgICAgIGl0ZW0uam9pbihvdXQsIG9mZnNldCk7XFxuICAgICAgb2Zmc2V0ICs9IGl0ZW0ubGVuZ3RoO1xcbiAgICB9KTtcXG4gIH0gZWxzZSB7XFxuICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicpXFxuICAgICAgb3V0W29mZnNldF0gPSB0aGlzLnZhbHVlO1xcbiAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycpXFxuICAgICAgb3V0LndyaXRlKHRoaXMudmFsdWUsIG9mZnNldCk7XFxuICAgIGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcih0aGlzLnZhbHVlKSlcXG4gICAgICB0aGlzLnZhbHVlLmNvcHkob3V0LCBvZmZzZXQpO1xcbiAgICBvZmZzZXQgKz0gdGhpcy5sZW5ndGg7XFxuICB9XFxuXFxuICByZXR1cm4gb3V0O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMkpoYzJVdlluVm1abVZ5TG1welB6azBNbUVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1pVRkJaU3h0UWtGQlR5eERRVUZETERaRVFVRlZPMEZCUTJwRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3NFJFRkJVenRCUVVOb1F5eGhRVUZoTEcxQ1FVRlBMRU5CUVVNc09FTkJRVkU3TzBGQlJUZENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTUxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WVhOdU1TNXFjeTlzYVdJdllYTnVNUzlpWVhObEwySjFabVpsY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQnBibWhsY21sMGN5QTlJSEpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWs3WEc1MllYSWdVbVZ3YjNKMFpYSWdQU0J5WlhGMWFYSmxLQ2N1TGk5aVlYTmxKeWt1VW1Wd2IzSjBaWEk3WEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5a3VRblZtWm1WeU8xeHVYRzVtZFc1amRHbHZiaUJFWldOdlpHVnlRblZtWm1WeUtHSmhjMlVzSUc5d2RHbHZibk1wSUh0Y2JpQWdVbVZ3YjNKMFpYSXVZMkZzYkNoMGFHbHpMQ0J2Y0hScGIyNXpLVHRjYmlBZ2FXWWdLQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZbUZ6WlNrcElIdGNiaUFnSUNCMGFHbHpMbVZ5Y205eUtDZEpibkIxZENCdWIzUWdRblZtWm1WeUp5azdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2RHaHBjeTVpWVhObElEMGdZbUZ6WlR0Y2JpQWdkR2hwY3k1dlptWnpaWFFnUFNBd08xeHVJQ0IwYUdsekxteGxibWQwYUNBOUlHSmhjMlV1YkdWdVozUm9PMXh1ZlZ4dWFXNW9aWEpwZEhNb1JHVmpiMlJsY2tKMVptWmxjaXdnVW1Wd2IzSjBaWElwTzF4dVpYaHdiM0owY3k1RVpXTnZaR1Z5UW5WbVptVnlJRDBnUkdWamIyUmxja0oxWm1abGNqdGNibHh1UkdWamIyUmxja0oxWm1abGNpNXdjbTkwYjNSNWNHVXVjMkYyWlNBOUlHWjFibU4wYVc5dUlITmhkbVVvS1NCN1hHNGdJSEpsZEhWeWJpQjdJRzltWm5ObGREb2dkR2hwY3k1dlptWnpaWFFzSUhKbGNHOXlkR1Z5T2lCU1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdWMyRjJaUzVqWVd4c0tIUm9hWE1wSUgwN1hHNTlPMXh1WEc1RVpXTnZaR1Z5UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WlhOMGIzSmxJRDBnWm5WdVkzUnBiMjRnY21WemRHOXlaU2h6WVhabEtTQjdYRzRnSUM4dklGSmxkSFZ5YmlCemEybHdjR1ZrSUdSaGRHRmNiaUFnZG1GeUlISmxjeUE5SUc1bGR5QkVaV052WkdWeVFuVm1abVZ5S0hSb2FYTXVZbUZ6WlNrN1hHNGdJSEpsY3k1dlptWnpaWFFnUFNCellYWmxMbTltWm5ObGREdGNiaUFnY21WekxteGxibWQwYUNBOUlIUm9hWE11YjJabWMyVjBPMXh1WEc0Z0lIUm9hWE11YjJabWMyVjBJRDBnYzJGMlpTNXZabVp6WlhRN1hHNGdJRkpsY0c5eWRHVnlMbkJ5YjNSdmRIbHdaUzV5WlhOMGIzSmxMbU5oYkd3b2RHaHBjeXdnYzJGMlpTNXlaWEJ2Y25SbGNpazdYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JrUmxZMjlrWlhKQ2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG1selJXMXdkSGtnUFNCbWRXNWpkR2x2YmlCcGMwVnRjSFI1S0NrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1dlptWnpaWFFnUFQwOUlIUm9hWE11YkdWdVozUm9PMXh1ZlR0Y2JseHVSR1ZqYjJSbGNrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWNtVmhaRlZKYm5RNElEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUTRLR1poYVd3cElIdGNiaUFnYVdZZ0tIUm9hWE11YjJabWMyVjBJQ3NnTVNBOFBTQjBhR2x6TG14bGJtZDBhQ2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVpWVhObExuSmxZV1JWU1c1ME9DaDBhR2x6TG05bVpuTmxkQ3NyTENCMGNuVmxLVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZ5Y205eUtHWmhhV3dnZkh3Z0owUmxZMjlrWlhKQ2RXWm1aWElnYjNabGNuSjFiaWNwTzF4dWZWeHVYRzVFWldOdlpHVnlRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXphMmx3SUQwZ1puVnVZM1JwYjI0Z2MydHBjQ2hpZVhSbGN5d2dabUZwYkNrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6TG05bVpuTmxkQ0FySUdKNWRHVnpJRHc5SUhSb2FYTXViR1Z1WjNSb0tTbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWxjbkp2Y2lobVlXbHNJSHg4SUNkRVpXTnZaR1Z5UW5WbVptVnlJRzkyWlhKeWRXNG5LVHRjYmx4dUlDQjJZWElnY21WeklEMGdibVYzSUVSbFkyOWtaWEpDZFdabVpYSW9kR2hwY3k1aVlYTmxLVHRjYmx4dUlDQXZMeUJUYUdGeVpTQnlaWEJ2Y25SbGNpQnpkR0YwWlZ4dUlDQnlaWE11WDNKbGNHOXlkR1Z5VTNSaGRHVWdQU0IwYUdsekxsOXlaWEJ2Y25SbGNsTjBZWFJsTzF4dVhHNGdJSEpsY3k1dlptWnpaWFFnUFNCMGFHbHpMbTltWm5ObGREdGNiaUFnY21WekxteGxibWQwYUNBOUlIUm9hWE11YjJabWMyVjBJQ3NnWW5sMFpYTTdYRzRnSUhSb2FYTXViMlptYzJWMElDczlJR0o1ZEdWek8xeHVJQ0J5WlhSMWNtNGdjbVZ6TzF4dWZWeHVYRzVFWldOdlpHVnlRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlZWGNnUFNCbWRXNWpkR2x2YmlCeVlYY29jMkYyWlNrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1aVlYTmxMbk5zYVdObEtITmhkbVVnUHlCellYWmxMbTltWm5ObGRDQTZJSFJvYVhNdWIyWm1jMlYwTENCMGFHbHpMbXhsYm1kMGFDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlFVnVZMjlrWlhKQ2RXWm1aWElvZG1Gc2RXVXNJSEpsY0c5eWRHVnlLU0I3WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtIWmhiSFZsS1NrZ2UxeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNRHRjYmlBZ0lDQjBhR2x6TG5aaGJIVmxJRDBnZG1Gc2RXVXViV0Z3S0daMWJtTjBhVzl1S0dsMFpXMHBJSHRjYmlBZ0lDQWdJR2xtSUNnaEtHbDBaVzBnYVc1emRHRnVZMlZ2WmlCRmJtTnZaR1Z5UW5WbVptVnlLU2xjYmlBZ0lDQWdJQ0FnYVhSbGJTQTlJRzVsZHlCRmJtTnZaR1Z5UW5WbVptVnlLR2wwWlcwc0lISmxjRzl5ZEdWeUtUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JQ3M5SUdsMFpXMHViR1Z1WjNSb08xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdsMFpXMDdYRzRnSUNBZ2ZTd2dkR2hwY3lrN1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJR2xtSUNnaEtEQWdQRDBnZG1Gc2RXVWdKaVlnZG1Gc2RXVWdQRDBnTUhobVppa3BYRzRnSUNBZ0lDQnlaWFIxY200Z2NtVndiM0owWlhJdVpYSnliM0lvSjI1dmJpMWllWFJsSUVWdVkyOWtaWEpDZFdabVpYSWdkbUZzZFdVbktUdGNiaUFnSUNCMGFHbHpMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCMllXeDFaU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCMGFHbHpMblpoYkhWbElEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQkNkV1ptWlhJdVlubDBaVXhsYm1kMGFDaDJZV3gxWlNrN1hHNGdJSDBnWld4elpTQnBaaUFvUW5WbVptVnlMbWx6UW5WbVptVnlLSFpoYkhWbEtTa2dlMXh1SUNBZ0lIUm9hWE11ZG1Gc2RXVWdQU0IyWVd4MVpUdGNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJSFpoYkhWbExteGxibWQwYUR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnY21Wd2IzSjBaWEl1WlhKeWIzSW9KMVZ1YzNWd2NHOXlkR1ZrSUhSNWNHVTZJQ2NnS3lCMGVYQmxiMllnZG1Gc2RXVXBPMXh1SUNCOVhHNTlYRzVsZUhCdmNuUnpMa1Z1WTI5a1pYSkNkV1ptWlhJZ1BTQkZibU52WkdWeVFuVm1abVZ5TzF4dVhHNUZibU52WkdWeVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1cWIybHVJRDBnWm5WdVkzUnBiMjRnYW05cGJpaHZkWFFzSUc5bVpuTmxkQ2tnZTF4dUlDQnBaaUFvSVc5MWRDbGNiaUFnSUNCdmRYUWdQU0J1WlhjZ1FuVm1abVZ5S0hSb2FYTXViR1Z1WjNSb0tUdGNiaUFnYVdZZ0tDRnZabVp6WlhRcFhHNGdJQ0FnYjJabWMyVjBJRDBnTUR0Y2JseHVJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURBcFhHNGdJQ0FnY21WMGRYSnVJRzkxZER0Y2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2gwYUdsekxuWmhiSFZsS1NrZ2UxeHVJQ0FnSUhSb2FYTXVkbUZzZFdVdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlocGRHVnRLU0I3WEc0Z0lDQWdJQ0JwZEdWdExtcHZhVzRvYjNWMExDQnZabVp6WlhRcE8xeHVJQ0FnSUNBZ2IyWm1jMlYwSUNzOUlHbDBaVzB1YkdWdVozUm9PMXh1SUNBZ0lIMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnZEdocGN5NTJZV3gxWlNBOVBUMGdKMjUxYldKbGNpY3BYRzRnSUNBZ0lDQnZkWFJiYjJabWMyVjBYU0E5SUhSb2FYTXVkbUZzZFdVN1hHNGdJQ0FnWld4elpTQnBaaUFvZEhsd1pXOW1JSFJvYVhNdWRtRnNkV1VnUFQwOUlDZHpkSEpwYm1jbktWeHVJQ0FnSUNBZ2IzVjBMbmR5YVhSbEtIUm9hWE11ZG1Gc2RXVXNJRzltWm5ObGRDazdYRzRnSUNBZ1pXeHpaU0JwWmlBb1FuVm1abVZ5TG1selFuVm1abVZ5S0hSb2FYTXVkbUZzZFdVcEtWeHVJQ0FnSUNBZ2RHaHBjeTUyWVd4MVpTNWpiM0I1S0c5MWRDd2diMlptYzJWMEtUdGNiaUFnSUNCdlptWnpaWFFnS3owZ2RHaHBjeTVzWlc1bmRHZzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiM1YwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGJhc2UgPSBleHBvcnRzO1xcblxcbmJhc2UuUmVwb3J0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3JlcG9ydGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvcmVwb3J0ZXIuanNcXFwiKS5SZXBvcnRlcjtcXG5iYXNlLkRlY29kZXJCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2J1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2J1ZmZlci5qc1xcXCIpLkRlY29kZXJCdWZmZXI7XFxuYmFzZS5FbmNvZGVyQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9idWZmZXIuanNcXFwiKS5FbmNvZGVyQnVmZmVyO1xcbmJhc2UuTm9kZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbm9kZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwySmhjMlV2YVc1a1pYZ3Vhbk0vTVRKaE5DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3UVVGRlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSVUZCV1R0QlFVTndReXh4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXhuUlVGQlZUdEJRVU4yUXl4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl4blJVRkJWVHRCUVVOMlF5eFpRVUZaTEcxQ1FVRlBMRU5CUVVNc05FUkJRVkVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWE51TVM1cWN5OXNhV0l2WVhOdU1TOWlZWE5sTDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdKaGMyVWdQU0JsZUhCdmNuUnpPMXh1WEc1aVlYTmxMbEpsY0c5eWRHVnlJRDBnY21WeGRXbHlaU2duTGk5eVpYQnZjblJsY2ljcExsSmxjRzl5ZEdWeU8xeHVZbUZ6WlM1RVpXTnZaR1Z5UW5WbVptVnlJRDBnY21WeGRXbHlaU2duTGk5aWRXWm1aWEluS1M1RVpXTnZaR1Z5UW5WbVptVnlPMXh1WW1GelpTNUZibU52WkdWeVFuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbkxpOWlkV1ptWlhJbktTNUZibU52WkdWeVFuVm1abVZ5TzF4dVltRnpaUzVPYjJSbElEMGdjbVZ4ZFdseVpTZ25MaTl1YjJSbEp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL25vZGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBSZXBvcnRlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2Jhc2UgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1xcXCIpLlJlcG9ydGVyO1xcbnZhciBFbmNvZGVyQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9iYXNlL2luZGV4LmpzXFxcIikuRW5jb2RlckJ1ZmZlcjtcXG52YXIgRGVjb2RlckJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2Jhc2UgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9pbmRleC5qc1xcXCIpLkRlY29kZXJCdWZmZXI7XFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG5cXG4vLyBTdXBwb3J0ZWQgdGFnc1xcbnZhciB0YWdzID0gW1xcbiAgJ3NlcScsICdzZXFvZicsICdzZXQnLCAnc2V0b2YnLCAnb2JqaWQnLCAnYm9vbCcsXFxuICAnZ2VudGltZScsICd1dGN0aW1lJywgJ251bGxfJywgJ2VudW0nLCAnaW50JywgJ29iakRlc2MnLFxcbiAgJ2JpdHN0cicsICdibXBzdHInLCAnY2hhcnN0cicsICdnZW5zdHInLCAnZ3JhcGhzdHInLCAnaWE1c3RyJywgJ2lzbzY0NnN0cicsXFxuICAnbnVtc3RyJywgJ29jdHN0cicsICdwcmludHN0cicsICd0NjFzdHInLCAndW5pc3RyJywgJ3V0ZjhzdHInLCAndmlkZW9zdHInXFxuXTtcXG5cXG4vLyBQdWJsaWMgbWV0aG9kcyBsaXN0XFxudmFyIG1ldGhvZHMgPSBbXFxuICAna2V5JywgJ29iaicsICd1c2UnLCAnb3B0aW9uYWwnLCAnZXhwbGljaXQnLCAnaW1wbGljaXQnLCAnZGVmJywgJ2Nob2ljZScsXFxuICAnYW55JywgJ2NvbnRhaW5zJ1xcbl0uY29uY2F0KHRhZ3MpO1xcblxcbi8vIE92ZXJyaWRlZCBtZXRob2RzIGxpc3RcXG52YXIgb3ZlcnJpZGVkID0gW1xcbiAgJ19wZWVrVGFnJywgJ19kZWNvZGVUYWcnLCAnX3VzZScsXFxuICAnX2RlY29kZVN0cicsICdfZGVjb2RlT2JqaWQnLCAnX2RlY29kZVRpbWUnLFxcbiAgJ19kZWNvZGVOdWxsJywgJ19kZWNvZGVJbnQnLCAnX2RlY29kZUJvb2wnLCAnX2RlY29kZUxpc3QnLFxcblxcbiAgJ19lbmNvZGVDb21wb3NpdGUnLCAnX2VuY29kZVN0cicsICdfZW5jb2RlT2JqaWQnLCAnX2VuY29kZVRpbWUnLFxcbiAgJ19lbmNvZGVOdWxsJywgJ19lbmNvZGVJbnQnLCAnX2VuY29kZUJvb2wnXFxuXTtcXG5cXG5mdW5jdGlvbiBOb2RlKGVuYywgcGFyZW50KSB7XFxuICB2YXIgc3RhdGUgPSB7fTtcXG4gIHRoaXMuX2Jhc2VTdGF0ZSA9IHN0YXRlO1xcblxcbiAgc3RhdGUuZW5jID0gZW5jO1xcblxcbiAgc3RhdGUucGFyZW50ID0gcGFyZW50IHx8IG51bGw7XFxuICBzdGF0ZS5jaGlsZHJlbiA9IG51bGw7XFxuXFxuICAvLyBTdGF0ZVxcbiAgc3RhdGUudGFnID0gbnVsbDtcXG4gIHN0YXRlLmFyZ3MgPSBudWxsO1xcbiAgc3RhdGUucmV2ZXJzZUFyZ3MgPSBudWxsO1xcbiAgc3RhdGUuY2hvaWNlID0gbnVsbDtcXG4gIHN0YXRlLm9wdGlvbmFsID0gZmFsc2U7XFxuICBzdGF0ZS5hbnkgPSBmYWxzZTtcXG4gIHN0YXRlLm9iaiA9IGZhbHNlO1xcbiAgc3RhdGUudXNlID0gbnVsbDtcXG4gIHN0YXRlLnVzZURlY29kZXIgPSBudWxsO1xcbiAgc3RhdGUua2V5ID0gbnVsbDtcXG4gIHN0YXRlWydkZWZhdWx0J10gPSBudWxsO1xcbiAgc3RhdGUuZXhwbGljaXQgPSBudWxsO1xcbiAgc3RhdGUuaW1wbGljaXQgPSBudWxsO1xcbiAgc3RhdGUuY29udGFpbnMgPSBudWxsO1xcblxcbiAgLy8gU2hvdWxkIGNyZWF0ZSBuZXcgaW5zdGFuY2Ugb24gZWFjaCBtZXRob2RcXG4gIGlmICghc3RhdGUucGFyZW50KSB7XFxuICAgIHN0YXRlLmNoaWxkcmVuID0gW107XFxuICAgIHRoaXMuX3dyYXAoKTtcXG4gIH1cXG59XFxubW9kdWxlLmV4cG9ydHMgPSBOb2RlO1xcblxcbnZhciBzdGF0ZVByb3BzID0gW1xcbiAgJ2VuYycsICdwYXJlbnQnLCAnY2hpbGRyZW4nLCAndGFnJywgJ2FyZ3MnLCAncmV2ZXJzZUFyZ3MnLCAnY2hvaWNlJyxcXG4gICdvcHRpb25hbCcsICdhbnknLCAnb2JqJywgJ3VzZScsICdhbHRlcmVkVXNlJywgJ2tleScsICdkZWZhdWx0JywgJ2V4cGxpY2l0JyxcXG4gICdpbXBsaWNpdCcsICdjb250YWlucydcXG5dO1xcblxcbk5vZGUucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUoKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuICB2YXIgY3N0YXRlID0ge307XFxuICBzdGF0ZVByb3BzLmZvckVhY2goZnVuY3Rpb24ocHJvcCkge1xcbiAgICBjc3RhdGVbcHJvcF0gPSBzdGF0ZVtwcm9wXTtcXG4gIH0pO1xcbiAgdmFyIHJlcyA9IG5ldyB0aGlzLmNvbnN0cnVjdG9yKGNzdGF0ZS5wYXJlbnQpO1xcbiAgcmVzLl9iYXNlU3RhdGUgPSBjc3RhdGU7XFxuICByZXR1cm4gcmVzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX3dyYXAgPSBmdW5jdGlvbiB3cmFwKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgbWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xcbiAgICB0aGlzW21ldGhvZF0gPSBmdW5jdGlvbiBfd3JhcHBlZE1ldGhvZCgpIHtcXG4gICAgICB2YXIgY2xvbmUgPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtcXG4gICAgICBzdGF0ZS5jaGlsZHJlbi5wdXNoKGNsb25lKTtcXG4gICAgICByZXR1cm4gY2xvbmVbbWV0aG9kXS5hcHBseShjbG9uZSwgYXJndW1lbnRzKTtcXG4gICAgfTtcXG4gIH0sIHRoaXMpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0KGJvZHkpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5wYXJlbnQgPT09IG51bGwpO1xcbiAgYm9keS5jYWxsKHRoaXMpO1xcblxcbiAgLy8gRmlsdGVyIGNoaWxkcmVuXFxuICBzdGF0ZS5jaGlsZHJlbiA9IHN0YXRlLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjaGlsZCkge1xcbiAgICByZXR1cm4gY2hpbGQuX2Jhc2VTdGF0ZS5wYXJlbnQgPT09IHRoaXM7XFxuICB9LCB0aGlzKTtcXG4gIGFzc2VydC5lcXVhbChzdGF0ZS5jaGlsZHJlbi5sZW5ndGgsIDEsICdSb290IG5vZGUgY2FuIGhhdmUgb25seSBvbmUgY2hpbGQnKTtcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl91c2VBcmdzID0gZnVuY3Rpb24gdXNlQXJncyhhcmdzKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAvLyBGaWx0ZXIgY2hpbGRyZW4gYW5kIGFyZ3NcXG4gIHZhciBjaGlsZHJlbiA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xcbiAgICByZXR1cm4gYXJnIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3RvcjtcXG4gIH0sIHRoaXMpO1xcbiAgYXJncyA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xcbiAgICByZXR1cm4gIShhcmcgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yKTtcXG4gIH0sIHRoaXMpO1xcblxcbiAgaWYgKGNoaWxkcmVuLmxlbmd0aCAhPT0gMCkge1xcbiAgICBhc3NlcnQoc3RhdGUuY2hpbGRyZW4gPT09IG51bGwpO1xcbiAgICBzdGF0ZS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xcblxcbiAgICAvLyBSZXBsYWNlIHBhcmVudCB0byBtYWludGFpbiBiYWNrd2FyZCBsaW5rXFxuICAgIGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oY2hpbGQpIHtcXG4gICAgICBjaGlsZC5fYmFzZVN0YXRlLnBhcmVudCA9IHRoaXM7XFxuICAgIH0sIHRoaXMpO1xcbiAgfVxcbiAgaWYgKGFyZ3MubGVuZ3RoICE9PSAwKSB7XFxuICAgIGFzc2VydChzdGF0ZS5hcmdzID09PSBudWxsKTtcXG4gICAgc3RhdGUuYXJncyA9IGFyZ3M7XFxuICAgIHN0YXRlLnJldmVyc2VBcmdzID0gYXJncy5tYXAoZnVuY3Rpb24oYXJnKSB7XFxuICAgICAgaWYgKHR5cGVvZiBhcmcgIT09ICdvYmplY3QnIHx8IGFyZy5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KVxcbiAgICAgICAgcmV0dXJuIGFyZztcXG5cXG4gICAgICB2YXIgcmVzID0ge307XFxuICAgICAgT2JqZWN0LmtleXMoYXJnKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xcbiAgICAgICAgaWYgKGtleSA9PSAoa2V5IHwgMCkpXFxuICAgICAgICAgIGtleSB8PSAwO1xcbiAgICAgICAgdmFyIHZhbHVlID0gYXJnW2tleV07XFxuICAgICAgICByZXNbdmFsdWVdID0ga2V5O1xcbiAgICAgIH0pO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0pO1xcbiAgfVxcbn07XFxuXFxuLy9cXG4vLyBPdmVycmlkZWQgbWV0aG9kc1xcbi8vXFxuXFxub3ZlcnJpZGVkLmZvckVhY2goZnVuY3Rpb24obWV0aG9kKSB7XFxuICBOb2RlLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24gX292ZXJyaWRlZCgpIHtcXG4gICAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgICB0aHJvdyBuZXcgRXJyb3IobWV0aG9kICsgJyBub3QgaW1wbGVtZW50ZWQgZm9yIGVuY29kaW5nOiAnICsgc3RhdGUuZW5jKTtcXG4gIH07XFxufSk7XFxuXFxuLy9cXG4vLyBQdWJsaWMgbWV0aG9kc1xcbi8vXFxuXFxudGFncy5mb3JFYWNoKGZ1bmN0aW9uKHRhZykge1xcbiAgTm9kZS5wcm90b3R5cGVbdGFnXSA9IGZ1bmN0aW9uIF90YWdNZXRob2QoKSB7XFxuICAgIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG4gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xcblxcbiAgICBhc3NlcnQoc3RhdGUudGFnID09PSBudWxsKTtcXG4gICAgc3RhdGUudGFnID0gdGFnO1xcblxcbiAgICB0aGlzLl91c2VBcmdzKGFyZ3MpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxufSk7XFxuXFxuTm9kZS5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGl0ZW0pIHtcXG4gIGFzc2VydChpdGVtKTtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS51c2UgPT09IG51bGwpO1xcbiAgc3RhdGUudXNlID0gaXRlbTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUub3B0aW9uYWwgPSBmdW5jdGlvbiBvcHRpb25hbCgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIHN0YXRlLm9wdGlvbmFsID0gdHJ1ZTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuZGVmID0gZnVuY3Rpb24gZGVmKHZhbCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgYXNzZXJ0KHN0YXRlWydkZWZhdWx0J10gPT09IG51bGwpO1xcbiAgc3RhdGVbJ2RlZmF1bHQnXSA9IHZhbDtcXG4gIHN0YXRlLm9wdGlvbmFsID0gdHJ1ZTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuZXhwbGljaXQgPSBmdW5jdGlvbiBleHBsaWNpdChudW0pIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5leHBsaWNpdCA9PT0gbnVsbCAmJiBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCk7XFxuICBzdGF0ZS5leHBsaWNpdCA9IG51bTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuaW1wbGljaXQgPSBmdW5jdGlvbiBpbXBsaWNpdChudW0pIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5leHBsaWNpdCA9PT0gbnVsbCAmJiBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCk7XFxuICBzdGF0ZS5pbXBsaWNpdCA9IG51bTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUub2JqID0gZnVuY3Rpb24gb2JqKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xcblxcbiAgc3RhdGUub2JqID0gdHJ1ZTtcXG5cXG4gIGlmIChhcmdzLmxlbmd0aCAhPT0gMClcXG4gICAgdGhpcy5fdXNlQXJncyhhcmdzKTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUua2V5ID0gZnVuY3Rpb24ga2V5KG5ld0tleSkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgYXNzZXJ0KHN0YXRlLmtleSA9PT0gbnVsbCk7XFxuICBzdGF0ZS5rZXkgPSBuZXdLZXk7XFxuXFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLmFueSA9IGZ1bmN0aW9uIGFueSgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIHN0YXRlLmFueSA9IHRydWU7XFxuXFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLmNob2ljZSA9IGZ1bmN0aW9uIGNob2ljZShvYmopIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS5jaG9pY2UgPT09IG51bGwpO1xcbiAgc3RhdGUuY2hvaWNlID0gb2JqO1xcbiAgdGhpcy5fdXNlQXJncyhPYmplY3Qua2V5cyhvYmopLm1hcChmdW5jdGlvbihrZXkpIHtcXG4gICAgcmV0dXJuIG9ialtrZXldO1xcbiAgfSkpO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5Ob2RlLnByb3RvdHlwZS5jb250YWlucyA9IGZ1bmN0aW9uIGNvbnRhaW5zKGl0ZW0pIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGFzc2VydChzdGF0ZS51c2UgPT09IG51bGwpO1xcbiAgc3RhdGUuY29udGFpbnMgPSBpdGVtO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG4vL1xcbi8vIERlY29kaW5nXFxuLy9cXG5cXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGlucHV0LCBvcHRpb25zKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAvLyBEZWNvZGUgcm9vdCBub2RlXFxuICBpZiAoc3RhdGUucGFyZW50ID09PSBudWxsKVxcbiAgICByZXR1cm4gaW5wdXQud3JhcFJlc3VsdChzdGF0ZS5jaGlsZHJlblswXS5fZGVjb2RlKGlucHV0LCBvcHRpb25zKSk7XFxuXFxuICB2YXIgcmVzdWx0ID0gc3RhdGVbJ2RlZmF1bHQnXTtcXG4gIHZhciBwcmVzZW50ID0gdHJ1ZTtcXG5cXG4gIHZhciBwcmV2S2V5ID0gbnVsbDtcXG4gIGlmIChzdGF0ZS5rZXkgIT09IG51bGwpXFxuICAgIHByZXZLZXkgPSBpbnB1dC5lbnRlcktleShzdGF0ZS5rZXkpO1xcblxcbiAgLy8gQ2hlY2sgaWYgdGFnIGlzIHRoZXJlXFxuICBpZiAoc3RhdGUub3B0aW9uYWwpIHtcXG4gICAgdmFyIHRhZyA9IG51bGw7XFxuICAgIGlmIChzdGF0ZS5leHBsaWNpdCAhPT0gbnVsbClcXG4gICAgICB0YWcgPSBzdGF0ZS5leHBsaWNpdDtcXG4gICAgZWxzZSBpZiAoc3RhdGUuaW1wbGljaXQgIT09IG51bGwpXFxuICAgICAgdGFnID0gc3RhdGUuaW1wbGljaXQ7XFxuICAgIGVsc2UgaWYgKHN0YXRlLnRhZyAhPT0gbnVsbClcXG4gICAgICB0YWcgPSBzdGF0ZS50YWc7XFxuXFxuICAgIGlmICh0YWcgPT09IG51bGwgJiYgIXN0YXRlLmFueSkge1xcbiAgICAgIC8vIFRyaWFsIGFuZCBFcnJvclxcbiAgICAgIHZhciBzYXZlID0gaW5wdXQuc2F2ZSgpO1xcbiAgICAgIHRyeSB7XFxuICAgICAgICBpZiAoc3RhdGUuY2hvaWNlID09PSBudWxsKVxcbiAgICAgICAgICB0aGlzLl9kZWNvZGVHZW5lcmljKHN0YXRlLnRhZywgaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgICAgZWxzZVxcbiAgICAgICAgICB0aGlzLl9kZWNvZGVDaG9pY2UoaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgICAgcHJlc2VudCA9IHRydWU7XFxuICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgcHJlc2VudCA9IGZhbHNlO1xcbiAgICAgIH1cXG4gICAgICBpbnB1dC5yZXN0b3JlKHNhdmUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHByZXNlbnQgPSB0aGlzLl9wZWVrVGFnKGlucHV0LCB0YWcsIHN0YXRlLmFueSk7XFxuXFxuICAgICAgaWYgKGlucHV0LmlzRXJyb3IocHJlc2VudCkpXFxuICAgICAgICByZXR1cm4gcHJlc2VudDtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gUHVzaCBvYmplY3Qgb24gc3RhY2tcXG4gIHZhciBwcmV2T2JqO1xcbiAgaWYgKHN0YXRlLm9iaiAmJiBwcmVzZW50KVxcbiAgICBwcmV2T2JqID0gaW5wdXQuZW50ZXJPYmplY3QoKTtcXG5cXG4gIGlmIChwcmVzZW50KSB7XFxuICAgIC8vIFVud3JhcCBleHBsaWNpdCB2YWx1ZXNcXG4gICAgaWYgKHN0YXRlLmV4cGxpY2l0ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIGV4cGxpY2l0ID0gdGhpcy5fZGVjb2RlVGFnKGlucHV0LCBzdGF0ZS5leHBsaWNpdCk7XFxuICAgICAgaWYgKGlucHV0LmlzRXJyb3IoZXhwbGljaXQpKVxcbiAgICAgICAgcmV0dXJuIGV4cGxpY2l0O1xcbiAgICAgIGlucHV0ID0gZXhwbGljaXQ7XFxuICAgIH1cXG5cXG4gICAgdmFyIHN0YXJ0ID0gaW5wdXQub2Zmc2V0O1xcblxcbiAgICAvLyBVbndyYXAgaW1wbGljaXQgYW5kIG5vcm1hbCB2YWx1ZXNcXG4gICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbCAmJiBzdGF0ZS5jaG9pY2UgPT09IG51bGwpIHtcXG4gICAgICBpZiAoc3RhdGUuYW55KVxcbiAgICAgICAgdmFyIHNhdmUgPSBpbnB1dC5zYXZlKCk7XFxuICAgICAgdmFyIGJvZHkgPSB0aGlzLl9kZWNvZGVUYWcoXFxuICAgICAgICBpbnB1dCxcXG4gICAgICAgIHN0YXRlLmltcGxpY2l0ICE9PSBudWxsID8gc3RhdGUuaW1wbGljaXQgOiBzdGF0ZS50YWcsXFxuICAgICAgICBzdGF0ZS5hbnlcXG4gICAgICApO1xcbiAgICAgIGlmIChpbnB1dC5pc0Vycm9yKGJvZHkpKVxcbiAgICAgICAgcmV0dXJuIGJvZHk7XFxuXFxuICAgICAgaWYgKHN0YXRlLmFueSlcXG4gICAgICAgIHJlc3VsdCA9IGlucHV0LnJhdyhzYXZlKTtcXG4gICAgICBlbHNlXFxuICAgICAgICBpbnB1dCA9IGJvZHk7XFxuICAgIH1cXG5cXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy50cmFjayAmJiBzdGF0ZS50YWcgIT09IG51bGwpXFxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIHN0YXJ0LCBpbnB1dC5sZW5ndGgsICd0YWdnZWQnKTtcXG5cXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy50cmFjayAmJiBzdGF0ZS50YWcgIT09IG51bGwpXFxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIGlucHV0Lm9mZnNldCwgaW5wdXQubGVuZ3RoLCAnY29udGVudCcpO1xcblxcbiAgICAvLyBTZWxlY3QgcHJvcGVyIG1ldGhvZCBmb3IgdGFnXFxuICAgIGlmIChzdGF0ZS5hbnkpXFxuICAgICAgcmVzdWx0ID0gcmVzdWx0O1xcbiAgICBlbHNlIGlmIChzdGF0ZS5jaG9pY2UgPT09IG51bGwpXFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZGVjb2RlR2VuZXJpYyhzdGF0ZS50YWcsIGlucHV0LCBvcHRpb25zKTtcXG4gICAgZWxzZVxcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RlY29kZUNob2ljZShpbnB1dCwgb3B0aW9ucyk7XFxuXFxuICAgIGlmIChpbnB1dC5pc0Vycm9yKHJlc3VsdCkpXFxuICAgICAgcmV0dXJuIHJlc3VsdDtcXG5cXG4gICAgLy8gRGVjb2RlIGNoaWxkcmVuXFxuICAgIGlmICghc3RhdGUuYW55ICYmIHN0YXRlLmNob2ljZSA9PT0gbnVsbCAmJiBzdGF0ZS5jaGlsZHJlbiAhPT0gbnVsbCkge1xcbiAgICAgIHN0YXRlLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gZGVjb2RlQ2hpbGRyZW4oY2hpbGQpIHtcXG4gICAgICAgIC8vIE5PVEU6IFdlIGFyZSBpZ25vcmluZyBlcnJvcnMgaGVyZSwgdG8gbGV0IHBhcnNlciBjb250aW51ZSB3aXRoIG90aGVyXFxuICAgICAgICAvLyBwYXJ0cyBvZiBlbmNvZGVkIGRhdGFcXG4gICAgICAgIGNoaWxkLl9kZWNvZGUoaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIC8vIERlY29kZSBjb250YWluZWQvZW5jb2RlZCBieSBzY2hlbWEsIG9ubHkgaW4gYml0IG9yIG9jdGV0IHN0cmluZ3NcXG4gICAgaWYgKHN0YXRlLmNvbnRhaW5zICYmIChzdGF0ZS50YWcgPT09ICdvY3RzdHInIHx8IHN0YXRlLnRhZyA9PT0gJ2JpdHN0cicpKSB7XFxuICAgICAgdmFyIGRhdGEgPSBuZXcgRGVjb2RlckJ1ZmZlcihyZXN1bHQpO1xcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2dldFVzZShzdGF0ZS5jb250YWlucywgaW5wdXQuX3JlcG9ydGVyU3RhdGUub2JqKVxcbiAgICAgICAgICAuX2RlY29kZShkYXRhLCBvcHRpb25zKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gUG9wIG9iamVjdFxcbiAgaWYgKHN0YXRlLm9iaiAmJiBwcmVzZW50KVxcbiAgICByZXN1bHQgPSBpbnB1dC5sZWF2ZU9iamVjdChwcmV2T2JqKTtcXG5cXG4gIC8vIFNldCBrZXlcXG4gIGlmIChzdGF0ZS5rZXkgIT09IG51bGwgJiYgKHJlc3VsdCAhPT0gbnVsbCB8fCBwcmVzZW50ID09PSB0cnVlKSlcXG4gICAgaW5wdXQubGVhdmVLZXkocHJldktleSwgc3RhdGUua2V5LCByZXN1bHQpO1xcbiAgZWxzZSBpZiAocHJldktleSAhPT0gbnVsbClcXG4gICAgaW5wdXQuZXhpdEtleShwcmV2S2V5KTtcXG5cXG4gIHJldHVybiByZXN1bHQ7XFxufTtcXG5cXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlR2VuZXJpYyA9IGZ1bmN0aW9uIGRlY29kZUdlbmVyaWModGFnLCBpbnB1dCwgb3B0aW9ucykge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgaWYgKHRhZyA9PT0gJ3NlcScgfHwgdGFnID09PSAnc2V0JylcXG4gICAgcmV0dXJuIG51bGw7XFxuICBpZiAodGFnID09PSAnc2Vxb2YnIHx8IHRhZyA9PT0gJ3NldG9mJylcXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZUxpc3QoaW5wdXQsIHRhZywgc3RhdGUuYXJnc1swXSwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICgvc3RyJC8udGVzdCh0YWcpKVxcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlU3RyKGlucHV0LCB0YWcsIG9wdGlvbnMpO1xcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqaWQnICYmIHN0YXRlLmFyZ3MpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVPYmppZChpbnB1dCwgc3RhdGUuYXJnc1swXSwgc3RhdGUuYXJnc1sxXSwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdvYmppZCcpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVPYmppZChpbnB1dCwgbnVsbCwgbnVsbCwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdnZW50aW1lJyB8fCB0YWcgPT09ICd1dGN0aW1lJylcXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZVRpbWUoaW5wdXQsIHRhZywgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdudWxsXycpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVOdWxsKGlucHV0LCBvcHRpb25zKTtcXG4gIGVsc2UgaWYgKHRhZyA9PT0gJ2Jvb2wnKVxcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlQm9vbChpbnB1dCwgb3B0aW9ucyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdvYmpEZXNjJylcXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZVN0cihpbnB1dCwgdGFnLCBvcHRpb25zKTtcXG4gIGVsc2UgaWYgKHRhZyA9PT0gJ2ludCcgfHwgdGFnID09PSAnZW51bScpXFxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVJbnQoaW5wdXQsIHN0YXRlLmFyZ3MgJiYgc3RhdGUuYXJnc1swXSwgb3B0aW9ucyk7XFxuXFxuICBpZiAoc3RhdGUudXNlICE9PSBudWxsKSB7XFxuICAgIHJldHVybiB0aGlzLl9nZXRVc2Uoc3RhdGUudXNlLCBpbnB1dC5fcmVwb3J0ZXJTdGF0ZS5vYmopXFxuICAgICAgICAuX2RlY29kZShpbnB1dCwgb3B0aW9ucyk7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gaW5wdXQuZXJyb3IoJ3Vua25vd24gdGFnOiAnICsgdGFnKTtcXG4gIH1cXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl9nZXRVc2UgPSBmdW5jdGlvbiBfZ2V0VXNlKGVudGl0eSwgb2JqKSB7XFxuXFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuICAvLyBDcmVhdGUgYWx0ZXJlZCB1c2UgZGVjb2RlciBpZiBpbXBsaWNpdCBpcyBzZXRcXG4gIHN0YXRlLnVzZURlY29kZXIgPSB0aGlzLl91c2UoZW50aXR5LCBvYmopO1xcbiAgYXNzZXJ0KHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5wYXJlbnQgPT09IG51bGwpO1xcbiAgc3RhdGUudXNlRGVjb2RlciA9IHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5jaGlsZHJlblswXTtcXG4gIGlmIChzdGF0ZS5pbXBsaWNpdCAhPT0gc3RhdGUudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0KSB7XFxuICAgIHN0YXRlLnVzZURlY29kZXIgPSBzdGF0ZS51c2VEZWNvZGVyLmNsb25lKCk7XFxuICAgIHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5pbXBsaWNpdCA9IHN0YXRlLmltcGxpY2l0O1xcbiAgfVxcbiAgcmV0dXJuIHN0YXRlLnVzZURlY29kZXI7XFxufTtcXG5cXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlQ2hvaWNlID0gZnVuY3Rpb24gZGVjb2RlQ2hvaWNlKGlucHV0LCBvcHRpb25zKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuICB2YXIgcmVzdWx0ID0gbnVsbDtcXG4gIHZhciBtYXRjaCA9IGZhbHNlO1xcblxcbiAgT2JqZWN0LmtleXMoc3RhdGUuY2hvaWNlKS5zb21lKGZ1bmN0aW9uKGtleSkge1xcbiAgICB2YXIgc2F2ZSA9IGlucHV0LnNhdmUoKTtcXG4gICAgdmFyIG5vZGUgPSBzdGF0ZS5jaG9pY2Vba2V5XTtcXG4gICAgdHJ5IHtcXG4gICAgICB2YXIgdmFsdWUgPSBub2RlLl9kZWNvZGUoaW5wdXQsIG9wdGlvbnMpO1xcbiAgICAgIGlmIChpbnB1dC5pc0Vycm9yKHZhbHVlKSlcXG4gICAgICAgIHJldHVybiBmYWxzZTtcXG5cXG4gICAgICByZXN1bHQgPSB7IHR5cGU6IGtleSwgdmFsdWU6IHZhbHVlIH07XFxuICAgICAgbWF0Y2ggPSB0cnVlO1xcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgaW5wdXQucmVzdG9yZShzYXZlKTtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9LCB0aGlzKTtcXG5cXG4gIGlmICghbWF0Y2gpXFxuICAgIHJldHVybiBpbnB1dC5lcnJvcignQ2hvaWNlIG5vdCBtYXRjaGVkJyk7XFxuXFxuICByZXR1cm4gcmVzdWx0O1xcbn07XFxuXFxuLy9cXG4vLyBFbmNvZGluZ1xcbi8vXFxuXFxuTm9kZS5wcm90b3R5cGUuX2NyZWF0ZUVuY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBjcmVhdGVFbmNvZGVyQnVmZmVyKGRhdGEpIHtcXG4gIHJldHVybiBuZXcgRW5jb2RlckJ1ZmZlcihkYXRhLCB0aGlzLnJlcG9ydGVyKTtcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl9lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZGF0YSwgcmVwb3J0ZXIsIHBhcmVudCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgaWYgKHN0YXRlWydkZWZhdWx0J10gIT09IG51bGwgJiYgc3RhdGVbJ2RlZmF1bHQnXSA9PT0gZGF0YSlcXG4gICAgcmV0dXJuO1xcblxcbiAgdmFyIHJlc3VsdCA9IHRoaXMuX2VuY29kZVZhbHVlKGRhdGEsIHJlcG9ydGVyLCBwYXJlbnQpO1xcbiAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKVxcbiAgICByZXR1cm47XFxuXFxuICBpZiAodGhpcy5fc2tpcERlZmF1bHQocmVzdWx0LCByZXBvcnRlciwgcGFyZW50KSlcXG4gICAgcmV0dXJuO1xcblxcbiAgcmV0dXJuIHJlc3VsdDtcXG59O1xcblxcbk5vZGUucHJvdG90eXBlLl9lbmNvZGVWYWx1ZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlciwgcGFyZW50KSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAvLyBEZWNvZGUgcm9vdCBub2RlXFxuICBpZiAoc3RhdGUucGFyZW50ID09PSBudWxsKVxcbiAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW5bMF0uX2VuY29kZShkYXRhLCByZXBvcnRlciB8fCBuZXcgUmVwb3J0ZXIoKSk7XFxuXFxuICB2YXIgcmVzdWx0ID0gbnVsbDtcXG5cXG4gIC8vIFNldCByZXBvcnRlciB0byBzaGFyZSBpdCB3aXRoIGEgY2hpbGQgY2xhc3NcXG4gIHRoaXMucmVwb3J0ZXIgPSByZXBvcnRlcjtcXG5cXG4gIC8vIENoZWNrIGlmIGRhdGEgaXMgdGhlcmVcXG4gIGlmIChzdGF0ZS5vcHRpb25hbCAmJiBkYXRhID09PSB1bmRlZmluZWQpIHtcXG4gICAgaWYgKHN0YXRlWydkZWZhdWx0J10gIT09IG51bGwpXFxuICAgICAgZGF0YSA9IHN0YXRlWydkZWZhdWx0J11cXG4gICAgZWxzZVxcbiAgICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIC8vIEVuY29kZSBjaGlsZHJlbiBmaXJzdFxcbiAgdmFyIGNvbnRlbnQgPSBudWxsO1xcbiAgdmFyIHByaW1pdGl2ZSA9IGZhbHNlO1xcbiAgaWYgKHN0YXRlLmFueSkge1xcbiAgICAvLyBBbnl0aGluZyB0aGF0IHdhcyBnaXZlbiBpcyB0cmFuc2xhdGVkIHRvIGJ1ZmZlclxcbiAgICByZXN1bHQgPSB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGRhdGEpO1xcbiAgfSBlbHNlIGlmIChzdGF0ZS5jaG9pY2UpIHtcXG4gICAgcmVzdWx0ID0gdGhpcy5fZW5jb2RlQ2hvaWNlKGRhdGEsIHJlcG9ydGVyKTtcXG4gIH0gZWxzZSBpZiAoc3RhdGUuY29udGFpbnMpIHtcXG4gICAgY29udGVudCA9IHRoaXMuX2dldFVzZShzdGF0ZS5jb250YWlucywgcGFyZW50KS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcXG4gICAgcHJpbWl0aXZlID0gdHJ1ZTtcXG4gIH0gZWxzZSBpZiAoc3RhdGUuY2hpbGRyZW4pIHtcXG4gICAgY29udGVudCA9IHN0YXRlLmNoaWxkcmVuLm1hcChmdW5jdGlvbihjaGlsZCkge1xcbiAgICAgIGlmIChjaGlsZC5fYmFzZVN0YXRlLnRhZyA9PT0gJ251bGxfJylcXG4gICAgICAgIHJldHVybiBjaGlsZC5fZW5jb2RlKG51bGwsIHJlcG9ydGVyLCBkYXRhKTtcXG5cXG4gICAgICBpZiAoY2hpbGQuX2Jhc2VTdGF0ZS5rZXkgPT09IG51bGwpXFxuICAgICAgICByZXR1cm4gcmVwb3J0ZXIuZXJyb3IoJ0NoaWxkIHNob3VsZCBoYXZlIGEga2V5Jyk7XFxuICAgICAgdmFyIHByZXZLZXkgPSByZXBvcnRlci5lbnRlcktleShjaGlsZC5fYmFzZVN0YXRlLmtleSk7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JylcXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignQ2hpbGQgZXhwZWN0ZWQsIGJ1dCBpbnB1dCBpcyBub3Qgb2JqZWN0Jyk7XFxuXFxuICAgICAgdmFyIHJlcyA9IGNoaWxkLl9lbmNvZGUoZGF0YVtjaGlsZC5fYmFzZVN0YXRlLmtleV0sIHJlcG9ydGVyLCBkYXRhKTtcXG4gICAgICByZXBvcnRlci5sZWF2ZUtleShwcmV2S2V5KTtcXG5cXG4gICAgICByZXR1cm4gcmVzO1xcbiAgICB9LCB0aGlzKS5maWx0ZXIoZnVuY3Rpb24oY2hpbGQpIHtcXG4gICAgICByZXR1cm4gY2hpbGQ7XFxuICAgIH0pO1xcbiAgICBjb250ZW50ID0gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihjb250ZW50KTtcXG4gIH0gZWxzZSB7XFxuICAgIGlmIChzdGF0ZS50YWcgPT09ICdzZXFvZicgfHwgc3RhdGUudGFnID09PSAnc2V0b2YnKSB7XFxuICAgICAgLy8gVE9ETyhpbmR1dG55KTogdGhpcyBzaG91bGQgYmUgdGhyb3duIG9uIERTTCBsZXZlbFxcbiAgICAgIGlmICghKHN0YXRlLmFyZ3MgJiYgc3RhdGUuYXJncy5sZW5ndGggPT09IDEpKVxcbiAgICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdUb28gbWFueSBhcmdzIGZvciA6ICcgKyBzdGF0ZS50YWcpO1xcblxcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSlcXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignc2Vxb2Yvc2V0b2YsIGJ1dCBkYXRhIGlzIG5vdCBBcnJheScpO1xcblxcbiAgICAgIHZhciBjaGlsZCA9IHRoaXMuY2xvbmUoKTtcXG4gICAgICBjaGlsZC5fYmFzZVN0YXRlLmltcGxpY2l0ID0gbnVsbDtcXG4gICAgICBjb250ZW50ID0gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihkYXRhLm1hcChmdW5jdGlvbihpdGVtKSB7XFxuICAgICAgICB2YXIgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XFxuXFxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VXNlKHN0YXRlLmFyZ3NbMF0sIGRhdGEpLl9lbmNvZGUoaXRlbSwgcmVwb3J0ZXIpO1xcbiAgICAgIH0sIGNoaWxkKSk7XFxuICAgIH0gZWxzZSBpZiAoc3RhdGUudXNlICE9PSBudWxsKSB7XFxuICAgICAgcmVzdWx0ID0gdGhpcy5fZ2V0VXNlKHN0YXRlLnVzZSwgcGFyZW50KS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBjb250ZW50ID0gdGhpcy5fZW5jb2RlUHJpbWl0aXZlKHN0YXRlLnRhZywgZGF0YSk7XFxuICAgICAgcHJpbWl0aXZlID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gRW5jb2RlIGRhdGEgaXRzZWxmXFxuICB2YXIgcmVzdWx0O1xcbiAgaWYgKCFzdGF0ZS5hbnkgJiYgc3RhdGUuY2hvaWNlID09PSBudWxsKSB7XFxuICAgIHZhciB0YWcgPSBzdGF0ZS5pbXBsaWNpdCAhPT0gbnVsbCA/IHN0YXRlLmltcGxpY2l0IDogc3RhdGUudGFnO1xcbiAgICB2YXIgY2xzID0gc3RhdGUuaW1wbGljaXQgPT09IG51bGwgPyAndW5pdmVyc2FsJyA6ICdjb250ZXh0JztcXG5cXG4gICAgaWYgKHRhZyA9PT0gbnVsbCkge1xcbiAgICAgIGlmIChzdGF0ZS51c2UgPT09IG51bGwpXFxuICAgICAgICByZXBvcnRlci5lcnJvcignVGFnIGNvdWxkIGJlIG9taXR0ZWQgb25seSBmb3IgLnVzZSgpJyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbClcXG4gICAgICAgIHJlc3VsdCA9IHRoaXMuX2VuY29kZUNvbXBvc2l0ZSh0YWcsIHByaW1pdGl2ZSwgY2xzLCBjb250ZW50KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gV3JhcCBpbiBleHBsaWNpdFxcbiAgaWYgKHN0YXRlLmV4cGxpY2l0ICE9PSBudWxsKVxcbiAgICByZXN1bHQgPSB0aGlzLl9lbmNvZGVDb21wb3NpdGUoc3RhdGUuZXhwbGljaXQsIGZhbHNlLCAnY29udGV4dCcsIHJlc3VsdCk7XFxuXFxuICByZXR1cm4gcmVzdWx0O1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2VuY29kZUNob2ljZSA9IGZ1bmN0aW9uIGVuY29kZUNob2ljZShkYXRhLCByZXBvcnRlcikge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcblxcbiAgdmFyIG5vZGUgPSBzdGF0ZS5jaG9pY2VbZGF0YS50eXBlXTtcXG4gIGlmICghbm9kZSkge1xcbiAgICBhc3NlcnQoXFxuICAgICAgICBmYWxzZSxcXG4gICAgICAgIGRhdGEudHlwZSArICcgbm90IGZvdW5kIGluICcgK1xcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHN0YXRlLmNob2ljZSkpKTtcXG4gIH1cXG4gIHJldHVybiBub2RlLl9lbmNvZGUoZGF0YS52YWx1ZSwgcmVwb3J0ZXIpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2VuY29kZVByaW1pdGl2ZSA9IGZ1bmN0aW9uIGVuY29kZVByaW1pdGl2ZSh0YWcsIGRhdGEpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcXG5cXG4gIGlmICgvc3RyJC8udGVzdCh0YWcpKVxcbiAgICByZXR1cm4gdGhpcy5fZW5jb2RlU3RyKGRhdGEsIHRhZyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdvYmppZCcgJiYgc3RhdGUuYXJncylcXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGRhdGEsIHN0YXRlLnJldmVyc2VBcmdzWzBdLCBzdGF0ZS5hcmdzWzFdKTtcXG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iamlkJylcXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGRhdGEsIG51bGwsIG51bGwpO1xcbiAgZWxzZSBpZiAodGFnID09PSAnZ2VudGltZScgfHwgdGFnID09PSAndXRjdGltZScpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVUaW1lKGRhdGEsIHRhZyk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdudWxsXycpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVOdWxsKCk7XFxuICBlbHNlIGlmICh0YWcgPT09ICdpbnQnIHx8IHRhZyA9PT0gJ2VudW0nKVxcbiAgICByZXR1cm4gdGhpcy5fZW5jb2RlSW50KGRhdGEsIHN0YXRlLmFyZ3MgJiYgc3RhdGUucmV2ZXJzZUFyZ3NbMF0pO1xcbiAgZWxzZSBpZiAodGFnID09PSAnYm9vbCcpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVCb29sKGRhdGEpO1xcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqRGVzYycpXFxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVTdHIoZGF0YSwgdGFnKTtcXG4gIGVsc2VcXG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCB0YWc6ICcgKyB0YWcpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2lzTnVtc3RyID0gZnVuY3Rpb24gaXNOdW1zdHIoc3RyKSB7XFxuICByZXR1cm4gL15bMC05IF0qJC8udGVzdChzdHIpO1xcbn07XFxuXFxuTm9kZS5wcm90b3R5cGUuX2lzUHJpbnRzdHIgPSBmdW5jdGlvbiBpc1ByaW50c3RyKHN0cikge1xcbiAgcmV0dXJuIC9eW0EtWmEtejAtOSAnXFxcXChcXFxcKVxcXFwrLFxcXFwtXFxcXC5cXFxcLzo9XFxcXD9dKiQvLnRlc3Qoc3RyKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJKaGMyVXZibTlrWlM1cWN6OHhNR1F3SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3NFJFRkJVenRCUVVOb1F5eHZRa0ZCYjBJc2JVSkJRVThzUTBGQlF5dzRSRUZCVXp0QlFVTnlReXh2UWtGQmIwSXNiVUpCUVU4c1EwRkJReXc0UkVGQlV6dEJRVU55UXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBWQlFYRkNPenRCUVVVeFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3UVVGRlNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2RDUVVGblFqdEJRVU5vUWp0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwySmhjMlV2Ym05a1pTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJTWlhCdmNuUmxjaUE5SUhKbGNYVnBjbVVvSnk0dUwySmhjMlVuS1M1U1pYQnZjblJsY2p0Y2JuWmhjaUJGYm1OdlpHVnlRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25MaTR2WW1GelpTY3BMa1Z1WTI5a1pYSkNkV1ptWlhJN1hHNTJZWElnUkdWamIyUmxja0oxWm1abGNpQTlJSEpsY1hWcGNtVW9KeTR1TDJKaGMyVW5LUzVFWldOdlpHVnlRblZtWm1WeU8xeHVkbUZ5SUdGemMyVnlkQ0E5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWhjM05sY25RbktUdGNibHh1THk4Z1UzVndjRzl5ZEdWa0lIUmhaM05jYm5aaGNpQjBZV2R6SUQwZ1cxeHVJQ0FuYzJWeEp5d2dKM05sY1c5bUp5d2dKM05sZENjc0lDZHpaWFJ2Wmljc0lDZHZZbXBwWkNjc0lDZGliMjlzSnl4Y2JpQWdKMmRsYm5ScGJXVW5MQ0FuZFhSamRHbHRaU2NzSUNkdWRXeHNYeWNzSUNkbGJuVnRKeXdnSjJsdWRDY3NJQ2R2WW1wRVpYTmpKeXhjYmlBZ0oySnBkSE4wY2ljc0lDZGliWEJ6ZEhJbkxDQW5ZMmhoY25OMGNpY3NJQ2RuWlc1emRISW5MQ0FuWjNKaGNHaHpkSEluTENBbmFXRTFjM1J5Snl3Z0oybHpielkwTm5OMGNpY3NYRzRnSUNkdWRXMXpkSEluTENBbmIyTjBjM1J5Snl3Z0ozQnlhVzUwYzNSeUp5d2dKM1EyTVhOMGNpY3NJQ2QxYm1semRISW5MQ0FuZFhSbU9ITjBjaWNzSUNkMmFXUmxiM04wY2lkY2JsMDdYRzVjYmk4dklGQjFZbXhwWXlCdFpYUm9iMlJ6SUd4cGMzUmNiblpoY2lCdFpYUm9iMlJ6SUQwZ1cxeHVJQ0FuYTJWNUp5d2dKMjlpYWljc0lDZDFjMlVuTENBbmIzQjBhVzl1WVd3bkxDQW5aWGh3YkdsamFYUW5MQ0FuYVcxd2JHbGphWFFuTENBblpHVm1KeXdnSjJOb2IybGpaU2NzWEc0Z0lDZGhibmtuTENBblkyOXVkR0ZwYm5NblhHNWRMbU52Ym1OaGRDaDBZV2R6S1R0Y2JseHVMeThnVDNabGNuSnBaR1ZrSUcxbGRHaHZaSE1nYkdsemRGeHVkbUZ5SUc5MlpYSnlhV1JsWkNBOUlGdGNiaUFnSjE5d1pXVnJWR0ZuSnl3Z0oxOWtaV052WkdWVVlXY25MQ0FuWDNWelpTY3NYRzRnSUNkZlpHVmpiMlJsVTNSeUp5d2dKMTlrWldOdlpHVlBZbXBwWkNjc0lDZGZaR1ZqYjJSbFZHbHRaU2NzWEc0Z0lDZGZaR1ZqYjJSbFRuVnNiQ2NzSUNkZlpHVmpiMlJsU1c1MEp5d2dKMTlrWldOdlpHVkNiMjlzSnl3Z0oxOWtaV052WkdWTWFYTjBKeXhjYmx4dUlDQW5YMlZ1WTI5a1pVTnZiWEJ2YzJsMFpTY3NJQ2RmWlc1amIyUmxVM1J5Snl3Z0oxOWxibU52WkdWUFltcHBaQ2NzSUNkZlpXNWpiMlJsVkdsdFpTY3NYRzRnSUNkZlpXNWpiMlJsVG5Wc2JDY3NJQ2RmWlc1amIyUmxTVzUwSnl3Z0oxOWxibU52WkdWQ2IyOXNKMXh1WFR0Y2JseHVablZ1WTNScGIyNGdUbTlrWlNobGJtTXNJSEJoY21WdWRDa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjdmVHRjYmlBZ2RHaHBjeTVmWW1GelpWTjBZWFJsSUQwZ2MzUmhkR1U3WEc1Y2JpQWdjM1JoZEdVdVpXNWpJRDBnWlc1ak8xeHVYRzRnSUhOMFlYUmxMbkJoY21WdWRDQTlJSEJoY21WdWRDQjhmQ0J1ZFd4c08xeHVJQ0J6ZEdGMFpTNWphR2xzWkhKbGJpQTlJRzUxYkd3N1hHNWNiaUFnTHk4Z1UzUmhkR1ZjYmlBZ2MzUmhkR1V1ZEdGbklEMGdiblZzYkR0Y2JpQWdjM1JoZEdVdVlYSm5jeUE5SUc1MWJHdzdYRzRnSUhOMFlYUmxMbkpsZG1WeWMyVkJjbWR6SUQwZ2JuVnNiRHRjYmlBZ2MzUmhkR1V1WTJodmFXTmxJRDBnYm5Wc2JEdGNiaUFnYzNSaGRHVXViM0IwYVc5dVlXd2dQU0JtWVd4elpUdGNiaUFnYzNSaGRHVXVZVzU1SUQwZ1ptRnNjMlU3WEc0Z0lITjBZWFJsTG05aWFpQTlJR1poYkhObE8xeHVJQ0J6ZEdGMFpTNTFjMlVnUFNCdWRXeHNPMXh1SUNCemRHRjBaUzUxYzJWRVpXTnZaR1Z5SUQwZ2JuVnNiRHRjYmlBZ2MzUmhkR1V1YTJWNUlEMGdiblZzYkR0Y2JpQWdjM1JoZEdWYkoyUmxabUYxYkhRblhTQTlJRzUxYkd3N1hHNGdJSE4wWVhSbExtVjRjR3hwWTJsMElEMGdiblZzYkR0Y2JpQWdjM1JoZEdVdWFXMXdiR2xqYVhRZ1BTQnVkV3hzTzF4dUlDQnpkR0YwWlM1amIyNTBZV2x1Y3lBOUlHNTFiR3c3WEc1Y2JpQWdMeThnVTJodmRXeGtJR055WldGMFpTQnVaWGNnYVc1emRHRnVZMlVnYjI0Z1pXRmphQ0J0WlhSb2IyUmNiaUFnYVdZZ0tDRnpkR0YwWlM1d1lYSmxiblFwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWphR2xzWkhKbGJpQTlJRnRkTzF4dUlDQWdJSFJvYVhNdVgzZHlZWEFvS1R0Y2JpQWdmVnh1ZlZ4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCT2IyUmxPMXh1WEc1MllYSWdjM1JoZEdWUWNtOXdjeUE5SUZ0Y2JpQWdKMlZ1WXljc0lDZHdZWEpsYm5RbkxDQW5ZMmhwYkdSeVpXNG5MQ0FuZEdGbkp5d2dKMkZ5WjNNbkxDQW5jbVYyWlhKelpVRnlaM01uTENBblkyaHZhV05sSnl4Y2JpQWdKMjl3ZEdsdmJtRnNKeXdnSjJGdWVTY3NJQ2R2WW1vbkxDQW5kWE5sSnl3Z0oyRnNkR1Z5WldSVmMyVW5MQ0FuYTJWNUp5d2dKMlJsWm1GMWJIUW5MQ0FuWlhod2JHbGphWFFuTEZ4dUlDQW5hVzF3YkdsamFYUW5MQ0FuWTI5dWRHRnBibk1uWEc1ZE8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWpiRzl1WlNBOUlHWjFibU4wYVc5dUlHTnNiMjVsS0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc0Z0lIWmhjaUJqYzNSaGRHVWdQU0I3ZlR0Y2JpQWdjM1JoZEdWUWNtOXdjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVLSEJ5YjNBcElIdGNiaUFnSUNCamMzUmhkR1ZiY0hKdmNGMGdQU0J6ZEdGMFpWdHdjbTl3WFR0Y2JpQWdmU2s3WEc0Z0lIWmhjaUJ5WlhNZ1BTQnVaWGNnZEdocGN5NWpiMjV6ZEhKMVkzUnZjaWhqYzNSaGRHVXVjR0Z5Wlc1MEtUdGNiaUFnY21WekxsOWlZWE5sVTNSaGRHVWdQU0JqYzNSaGRHVTdYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1WEc1T2IyUmxMbkJ5YjNSdmRIbHdaUzVmZDNKaGNDQTlJR1oxYm1OMGFXOXVJSGR5WVhBb0tTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDJKaGMyVlRkR0YwWlR0Y2JpQWdiV1YwYUc5a2N5NW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHMWxkR2h2WkNrZ2UxeHVJQ0FnSUhSb2FYTmJiV1YwYUc5a1hTQTlJR1oxYm1OMGFXOXVJRjkzY21Gd2NHVmtUV1YwYUc5a0tDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdOc2IyNWxJRDBnYm1WM0lIUm9hWE11WTI5dWMzUnlkV04wYjNJb2RHaHBjeWs3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWphR2xzWkhKbGJpNXdkWE5vS0dOc2IyNWxLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpiRzl1WlZ0dFpYUm9iMlJkTG1Gd2NHeDVLR05zYjI1bExDQmhjbWQxYldWdWRITXBPMXh1SUNBZ0lIMDdYRzRnSUgwc0lIUm9hWE1wTzF4dWZUdGNibHh1VG05a1pTNXdjbTkwYjNSNWNHVXVYMmx1YVhRZ1BTQm1kVzVqZEdsdmJpQnBibWwwS0dKdlpIa3BJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZlltRnpaVk4wWVhSbE8xeHVYRzRnSUdGemMyVnlkQ2h6ZEdGMFpTNXdZWEpsYm5RZ1BUMDlJRzUxYkd3cE8xeHVJQ0JpYjJSNUxtTmhiR3dvZEdocGN5azdYRzVjYmlBZ0x5OGdSbWxzZEdWeUlHTm9hV3hrY21WdVhHNGdJSE4wWVhSbExtTm9hV3hrY21WdUlEMGdjM1JoZEdVdVkyaHBiR1J5Wlc0dVptbHNkR1Z5S0daMWJtTjBhVzl1S0dOb2FXeGtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTm9hV3hrTGw5aVlYTmxVM1JoZEdVdWNHRnlaVzUwSUQwOVBTQjBhR2x6TzF4dUlDQjlMQ0IwYUdsektUdGNiaUFnWVhOelpYSjBMbVZ4ZFdGc0tITjBZWFJsTG1Ob2FXeGtjbVZ1TG14bGJtZDBhQ3dnTVN3Z0oxSnZiM1FnYm05a1pTQmpZVzRnYUdGMlpTQnZibXg1SUc5dVpTQmphR2xzWkNjcE8xeHVmVHRjYmx4dVRtOWtaUzV3Y205MGIzUjVjR1V1WDNWelpVRnlaM01nUFNCbWRXNWpkR2x2YmlCMWMyVkJjbWR6S0dGeVozTXBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZlltRnpaVk4wWVhSbE8xeHVYRzRnSUM4dklFWnBiSFJsY2lCamFHbHNaSEpsYmlCaGJtUWdZWEpuYzF4dUlDQjJZWElnWTJocGJHUnlaVzRnUFNCaGNtZHpMbVpwYkhSbGNpaG1kVzVqZEdsdmJpaGhjbWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZWEpuSUdsdWMzUmhibU5sYjJZZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2p0Y2JpQWdmU3dnZEdocGN5azdYRzRnSUdGeVozTWdQU0JoY21kekxtWnBiSFJsY2lobWRXNWpkR2x2YmloaGNtY3BJSHRjYmlBZ0lDQnlaWFIxY200Z0lTaGhjbWNnYVc1emRHRnVZMlZ2WmlCMGFHbHpMbU52Ym5OMGNuVmpkRzl5S1R0Y2JpQWdmU3dnZEdocGN5azdYRzVjYmlBZ2FXWWdLR05vYVd4a2NtVnVMbXhsYm1kMGFDQWhQVDBnTUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h6ZEdGMFpTNWphR2xzWkhKbGJpQTlQVDBnYm5Wc2JDazdYRzRnSUNBZ2MzUmhkR1V1WTJocGJHUnlaVzRnUFNCamFHbHNaSEpsYmp0Y2JseHVJQ0FnSUM4dklGSmxjR3hoWTJVZ2NHRnlaVzUwSUhSdklHMWhhVzUwWVdsdUlHSmhZMnQzWVhKa0lHeHBibXRjYmlBZ0lDQmphR2xzWkhKbGJpNW1iM0pGWVdOb0tHWjFibU4wYVc5dUtHTm9hV3hrS1NCN1hHNGdJQ0FnSUNCamFHbHNaQzVmWW1GelpWTjBZWFJsTG5CaGNtVnVkQ0E5SUhSb2FYTTdYRzRnSUNBZ2ZTd2dkR2hwY3lrN1hHNGdJSDFjYmlBZ2FXWWdLR0Z5WjNNdWJHVnVaM1JvSUNFOVBTQXdLU0I3WEc0Z0lDQWdZWE56WlhKMEtITjBZWFJsTG1GeVozTWdQVDA5SUc1MWJHd3BPMXh1SUNBZ0lITjBZWFJsTG1GeVozTWdQU0JoY21kek8xeHVJQ0FnSUhOMFlYUmxMbkpsZG1WeWMyVkJjbWR6SUQwZ1lYSm5jeTV0WVhBb1puVnVZM1JwYjI0b1lYSm5LU0I3WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUdGeVp5QWhQVDBnSjI5aWFtVmpkQ2NnZkh3Z1lYSm5MbU52Ym5OMGNuVmpkRzl5SUNFOVBTQlBZbXBsWTNRcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaGNtYzdYRzVjYmlBZ0lDQWdJSFpoY2lCeVpYTWdQU0I3ZlR0Y2JpQWdJQ0FnSUU5aWFtVmpkQzVyWlhsektHRnlaeWt1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhyWlhrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0d0bGVTQTlQU0FvYTJWNUlId2dNQ2twWEc0Z0lDQWdJQ0FnSUNBZ2EyVjVJSHc5SURBN1hHNGdJQ0FnSUNBZ0lIWmhjaUIyWVd4MVpTQTlJR0Z5WjF0clpYbGRPMXh1SUNBZ0lDQWdJQ0J5WlhOYmRtRnNkV1ZkSUQwZ2EyVjVPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5TzF4dVhHNHZMMXh1THk4Z1QzWmxjbkpwWkdWa0lHMWxkR2h2WkhOY2JpOHZYRzVjYm05MlpYSnlhV1JsWkM1bWIzSkZZV05vS0daMWJtTjBhVzl1S0cxbGRHaHZaQ2tnZTF4dUlDQk9iMlJsTG5CeWIzUnZkSGx3WlZ0dFpYUm9iMlJkSUQwZ1puVnVZM1JwYjI0Z1gyOTJaWEp5YVdSbFpDZ3BJSHRjYmlBZ0lDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0cxbGRHaHZaQ0FySUNjZ2JtOTBJR2x0Y0d4bGJXVnVkR1ZrSUdadmNpQmxibU52WkdsdVp6b2dKeUFySUhOMFlYUmxMbVZ1WXlrN1hHNGdJSDA3WEc1OUtUdGNibHh1THk5Y2JpOHZJRkIxWW14cFl5QnRaWFJvYjJSelhHNHZMMXh1WEc1MFlXZHpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNG9kR0ZuS1NCN1hHNGdJRTV2WkdVdWNISnZkRzkwZVhCbFczUmhaMTBnUFNCbWRXNWpkR2x2YmlCZmRHRm5UV1YwYUc5a0tDa2dlMXh1SUNBZ0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgySmhjMlZUZEdGMFpUdGNiaUFnSUNCMllYSWdZWEpuY3lBOUlFRnljbUY1TG5CeWIzUnZkSGx3WlM1emJHbGpaUzVqWVd4c0tHRnlaM1Z0Wlc1MGN5azdYRzVjYmlBZ0lDQmhjM05sY25Rb2MzUmhkR1V1ZEdGbklEMDlQU0J1ZFd4c0tUdGNiaUFnSUNCemRHRjBaUzUwWVdjZ1BTQjBZV2M3WEc1Y2JpQWdJQ0IwYUdsekxsOTFjMlZCY21kektHRnlaM01wTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1OUtUdGNibHh1VG05a1pTNXdjbTkwYjNSNWNHVXVkWE5sSUQwZ1puVnVZM1JwYjI0Z2RYTmxLR2wwWlcwcElIdGNiaUFnWVhOelpYSjBLR2wwWlcwcE8xeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdZWE56WlhKMEtITjBZWFJsTG5WelpTQTlQVDBnYm5Wc2JDazdYRzRnSUhOMFlYUmxMblZ6WlNBOUlHbDBaVzA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXZjSFJwYjI1aGJDQTlJR1oxYm1OMGFXOXVJRzl3ZEdsdmJtRnNLQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzVjYmlBZ2MzUmhkR1V1YjNCMGFXOXVZV3dnUFNCMGNuVmxPMXh1WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlR0Y2JseHVUbTlrWlM1d2NtOTBiM1I1Y0dVdVpHVm1JRDBnWm5WdVkzUnBiMjRnWkdWbUtIWmhiQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzVjYmlBZ1lYTnpaWEowS0hOMFlYUmxXeWRrWldaaGRXeDBKMTBnUFQwOUlHNTFiR3dwTzF4dUlDQnpkR0YwWlZzblpHVm1ZWFZzZENkZElEMGdkbUZzTzF4dUlDQnpkR0YwWlM1dmNIUnBiMjVoYkNBOUlIUnlkV1U3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWxlSEJzYVdOcGRDQTlJR1oxYm1OMGFXOXVJR1Y0Y0d4cFkybDBLRzUxYlNrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdZWE56WlhKMEtITjBZWFJsTG1WNGNHeHBZMmwwSUQwOVBTQnVkV3hzSUNZbUlITjBZWFJsTG1sdGNHeHBZMmwwSUQwOVBTQnVkV3hzS1R0Y2JpQWdjM1JoZEdVdVpYaHdiR2xqYVhRZ1BTQnVkVzA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXBiWEJzYVdOcGRDQTlJR1oxYm1OMGFXOXVJR2x0Y0d4cFkybDBLRzUxYlNrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdZWE56WlhKMEtITjBZWFJsTG1WNGNHeHBZMmwwSUQwOVBTQnVkV3hzSUNZbUlITjBZWFJsTG1sdGNHeHBZMmwwSUQwOVBTQnVkV3hzS1R0Y2JpQWdjM1JoZEdVdWFXMXdiR2xqYVhRZ1BTQnVkVzA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXZZbW9nUFNCbWRXNWpkR2x2YmlCdlltb29LU0I3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgySmhjMlZUZEdGMFpUdGNiaUFnZG1GeUlHRnlaM01nUFNCQmNuSmhlUzV3Y205MGIzUjVjR1V1YzJ4cFkyVXVZMkZzYkNoaGNtZDFiV1Z1ZEhNcE8xeHVYRzRnSUhOMFlYUmxMbTlpYWlBOUlIUnlkV1U3WEc1Y2JpQWdhV1lnS0dGeVozTXViR1Z1WjNSb0lDRTlQU0F3S1Z4dUlDQWdJSFJvYVhNdVgzVnpaVUZ5WjNNb1lYSm5jeWs3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNXJaWGtnUFNCbWRXNWpkR2x2YmlCclpYa29ibVYzUzJWNUtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDJKaGMyVlRkR0YwWlR0Y2JseHVJQ0JoYzNObGNuUW9jM1JoZEdVdWEyVjVJRDA5UFNCdWRXeHNLVHRjYmlBZ2MzUmhkR1V1YTJWNUlEMGdibVYzUzJWNU8xeHVYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVRtOWtaUzV3Y205MGIzUjVjR1V1WVc1NUlEMGdablZ1WTNScGIyNGdZVzU1S0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdjM1JoZEdVdVlXNTVJRDBnZEhKMVpUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JrNXZaR1V1Y0hKdmRHOTBlWEJsTG1Ob2IybGpaU0E5SUdaMWJtTjBhVzl1SUdOb2IybGpaU2h2WW1vcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dVhHNGdJR0Z6YzJWeWRDaHpkR0YwWlM1amFHOXBZMlVnUFQwOUlHNTFiR3dwTzF4dUlDQnpkR0YwWlM1amFHOXBZMlVnUFNCdlltbzdYRzRnSUhSb2FYTXVYM1Z6WlVGeVozTW9UMkpxWldOMExtdGxlWE1vYjJKcUtTNXRZWEFvWm5WdVkzUnBiMjRvYTJWNUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc5aWFsdHJaWGxkTzF4dUlDQjlLU2s3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWpiMjUwWVdsdWN5QTlJR1oxYm1OMGFXOXVJR052Ym5SaGFXNXpLR2wwWlcwcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dVhHNGdJR0Z6YzJWeWRDaHpkR0YwWlM1MWMyVWdQVDA5SUc1MWJHd3BPMXh1SUNCemRHRjBaUzVqYjI1MFlXbHVjeUE5SUdsMFpXMDdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNHZMMXh1THk4Z1JHVmpiMlJwYm1kY2JpOHZYRzVjYms1dlpHVXVjSEp2ZEc5MGVYQmxMbDlrWldOdlpHVWdQU0JtZFc1amRHbHZiaUJrWldOdlpHVW9hVzV3ZFhRc0lHOXdkR2x2Ym5NcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dVhHNGdJQzh2SUVSbFkyOWtaU0J5YjI5MElHNXZaR1ZjYmlBZ2FXWWdLSE4wWVhSbExuQmhjbVZ1ZENBOVBUMGdiblZzYkNsY2JpQWdJQ0J5WlhSMWNtNGdhVzV3ZFhRdWQzSmhjRkpsYzNWc2RDaHpkR0YwWlM1amFHbHNaSEpsYmxzd1hTNWZaR1ZqYjJSbEtHbHVjSFYwTENCdmNIUnBiMjV6S1NrN1hHNWNiaUFnZG1GeUlISmxjM1ZzZENBOUlITjBZWFJsV3lka1pXWmhkV3gwSjEwN1hHNGdJSFpoY2lCd2NtVnpaVzUwSUQwZ2RISjFaVHRjYmx4dUlDQjJZWElnY0hKbGRrdGxlU0E5SUc1MWJHdzdYRzRnSUdsbUlDaHpkR0YwWlM1clpYa2dJVDA5SUc1MWJHd3BYRzRnSUNBZ2NISmxka3RsZVNBOUlHbHVjSFYwTG1WdWRHVnlTMlY1S0hOMFlYUmxMbXRsZVNrN1hHNWNiaUFnTHk4Z1EyaGxZMnNnYVdZZ2RHRm5JR2x6SUhSb1pYSmxYRzRnSUdsbUlDaHpkR0YwWlM1dmNIUnBiMjVoYkNrZ2UxeHVJQ0FnSUhaaGNpQjBZV2NnUFNCdWRXeHNPMXh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWxlSEJzYVdOcGRDQWhQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lIUmhaeUE5SUhOMFlYUmxMbVY0Y0d4cFkybDBPMXh1SUNBZ0lHVnNjMlVnYVdZZ0tITjBZWFJsTG1sdGNHeHBZMmwwSUNFOVBTQnVkV3hzS1Z4dUlDQWdJQ0FnZEdGbklEMGdjM1JoZEdVdWFXMXdiR2xqYVhRN1hHNGdJQ0FnWld4elpTQnBaaUFvYzNSaGRHVXVkR0ZuSUNFOVBTQnVkV3hzS1Z4dUlDQWdJQ0FnZEdGbklEMGdjM1JoZEdVdWRHRm5PMXh1WEc0Z0lDQWdhV1lnS0hSaFp5QTlQVDBnYm5Wc2JDQW1KaUFoYzNSaGRHVXVZVzU1S1NCN1hHNGdJQ0FnSUNBdkx5QlVjbWxoYkNCaGJtUWdSWEp5YjNKY2JpQWdJQ0FnSUhaaGNpQnpZWFpsSUQwZ2FXNXdkWFF1YzJGMlpTZ3BPMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSE4wWVhSbExtTm9iMmxqWlNBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGw5a1pXTnZaR1ZIWlc1bGNtbGpLSE4wWVhSbExuUmhaeXdnYVc1d2RYUXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1ZlpHVmpiMlJsUTJodmFXTmxLR2x1Y0hWMExDQnZjSFJwYjI1ektUdGNiaUFnSUNBZ0lDQWdjSEpsYzJWdWRDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJSEJ5WlhObGJuUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbHVjSFYwTG5KbGMzUnZjbVVvYzJGMlpTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhCeVpYTmxiblFnUFNCMGFHbHpMbDl3WldWclZHRm5LR2x1Y0hWMExDQjBZV2NzSUhOMFlYUmxMbUZ1ZVNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hwYm5CMWRDNXBjMFZ5Y205eUtIQnlaWE5sYm5RcEtWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISmxjMlZ1ZER0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdkx5QlFkWE5vSUc5aWFtVmpkQ0J2YmlCemRHRmphMXh1SUNCMllYSWdjSEpsZGs5aWFqdGNiaUFnYVdZZ0tITjBZWFJsTG05aWFpQW1KaUJ3Y21WelpXNTBLVnh1SUNBZ0lIQnlaWFpQWW1vZ1BTQnBibkIxZEM1bGJuUmxjazlpYW1WamRDZ3BPMXh1WEc0Z0lHbG1JQ2h3Y21WelpXNTBLU0I3WEc0Z0lDQWdMeThnVlc1M2NtRndJR1Y0Y0d4cFkybDBJSFpoYkhWbGMxeHVJQ0FnSUdsbUlDaHpkR0YwWlM1bGVIQnNhV05wZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RtRnlJR1Y0Y0d4cFkybDBJRDBnZEdocGN5NWZaR1ZqYjJSbFZHRm5LR2x1Y0hWMExDQnpkR0YwWlM1bGVIQnNhV05wZENrN1hHNGdJQ0FnSUNCcFppQW9hVzV3ZFhRdWFYTkZjbkp2Y2lobGVIQnNhV05wZENrcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGVIQnNhV05wZER0Y2JpQWdJQ0FnSUdsdWNIVjBJRDBnWlhod2JHbGphWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhOMFlYSjBJRDBnYVc1d2RYUXViMlptYzJWME8xeHVYRzRnSUNBZ0x5OGdWVzUzY21Gd0lHbHRjR3hwWTJsMElHRnVaQ0J1YjNKdFlXd2dkbUZzZFdWelhHNGdJQ0FnYVdZZ0tITjBZWFJsTG5WelpTQTlQVDBnYm5Wc2JDQW1KaUJ6ZEdGMFpTNWphRzlwWTJVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2h6ZEdGMFpTNWhibmtwWEc0Z0lDQWdJQ0FnSUhaaGNpQnpZWFpsSUQwZ2FXNXdkWFF1YzJGMlpTZ3BPMXh1SUNBZ0lDQWdkbUZ5SUdKdlpIa2dQU0IwYUdsekxsOWtaV052WkdWVVlXY29YRzRnSUNBZ0lDQWdJR2x1Y0hWMExGeHVJQ0FnSUNBZ0lDQnpkR0YwWlM1cGJYQnNhV05wZENBaFBUMGdiblZzYkNBL0lITjBZWFJsTG1sdGNHeHBZMmwwSURvZ2MzUmhkR1V1ZEdGbkxGeHVJQ0FnSUNBZ0lDQnpkR0YwWlM1aGJubGNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQnBaaUFvYVc1d2RYUXVhWE5GY25KdmNpaGliMlI1S1NsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdKdlpIazdYRzVjYmlBZ0lDQWdJR2xtSUNoemRHRjBaUzVoYm5rcFhHNGdJQ0FnSUNBZ0lISmxjM1ZzZENBOUlHbHVjSFYwTG5KaGR5aHpZWFpsS1R0Y2JpQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdhVzV3ZFhRZ1BTQmliMlI1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6SUNZbUlHOXdkR2x2Ym5NdWRISmhZMnNnSmlZZ2MzUmhkR1V1ZEdGbklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1MGNtRmpheWhwYm5CMWRDNXdZWFJvS0Nrc0lITjBZWEowTENCcGJuQjFkQzVzWlc1bmRHZ3NJQ2QwWVdkblpXUW5LVHRjYmx4dUlDQWdJR2xtSUNodmNIUnBiMjV6SUNZbUlHOXdkR2x2Ym5NdWRISmhZMnNnSmlZZ2MzUmhkR1V1ZEdGbklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1MGNtRmpheWhwYm5CMWRDNXdZWFJvS0Nrc0lHbHVjSFYwTG05bVpuTmxkQ3dnYVc1d2RYUXViR1Z1WjNSb0xDQW5ZMjl1ZEdWdWRDY3BPMXh1WEc0Z0lDQWdMeThnVTJWc1pXTjBJSEJ5YjNCbGNpQnRaWFJvYjJRZ1ptOXlJSFJoWjF4dUlDQWdJR2xtSUNoemRHRjBaUzVoYm5rcFhHNGdJQ0FnSUNCeVpYTjFiSFFnUFNCeVpYTjFiSFE3WEc0Z0lDQWdaV3h6WlNCcFppQW9jM1JoZEdVdVkyaHZhV05sSUQwOVBTQnVkV3hzS1Z4dUlDQWdJQ0FnY21WemRXeDBJRDBnZEdocGN5NWZaR1ZqYjJSbFIyVnVaWEpwWXloemRHRjBaUzUwWVdjc0lHbHVjSFYwTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0JsYkhObFhHNGdJQ0FnSUNCeVpYTjFiSFFnUFNCMGFHbHpMbDlrWldOdlpHVkRhRzlwWTJVb2FXNXdkWFFzSUc5d2RHbHZibk1wTzF4dVhHNGdJQ0FnYVdZZ0tHbHVjSFYwTG1selJYSnliM0lvY21WemRXeDBLU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNWNiaUFnSUNBdkx5QkVaV052WkdVZ1kyaHBiR1J5Wlc1Y2JpQWdJQ0JwWmlBb0lYTjBZWFJsTG1GdWVTQW1KaUJ6ZEdGMFpTNWphRzlwWTJVZ1BUMDlJRzUxYkd3Z0ppWWdjM1JoZEdVdVkyaHBiR1J5Wlc0Z0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lITjBZWFJsTG1Ob2FXeGtjbVZ1TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnWkdWamIyUmxRMmhwYkdSeVpXNG9ZMmhwYkdRcElIdGNiaUFnSUNBZ0lDQWdMeThnVGs5VVJUb2dWMlVnWVhKbElHbG5ibTl5YVc1bklHVnljbTl5Y3lCb1pYSmxMQ0IwYnlCc1pYUWdjR0Z5YzJWeUlHTnZiblJwYm5WbElIZHBkR2dnYjNSb1pYSmNiaUFnSUNBZ0lDQWdMeThnY0dGeWRITWdiMllnWlc1amIyUmxaQ0JrWVhSaFhHNGdJQ0FnSUNBZ0lHTm9hV3hrTGw5a1pXTnZaR1VvYVc1d2RYUXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUkdWamIyUmxJR052Ym5SaGFXNWxaQzlsYm1OdlpHVmtJR0o1SUhOamFHVnRZU3dnYjI1c2VTQnBiaUJpYVhRZ2IzSWdiMk4wWlhRZ2MzUnlhVzVuYzF4dUlDQWdJR2xtSUNoemRHRjBaUzVqYjI1MFlXbHVjeUFtSmlBb2MzUmhkR1V1ZEdGbklEMDlQU0FuYjJOMGMzUnlKeUI4ZkNCemRHRjBaUzUwWVdjZ1BUMDlJQ2RpYVhSemRISW5LU2tnZTF4dUlDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCdVpYY2dSR1ZqYjJSbGNrSjFabVpsY2loeVpYTjFiSFFwTzF4dUlDQWdJQ0FnY21WemRXeDBJRDBnZEdocGN5NWZaMlYwVlhObEtITjBZWFJsTG1OdmJuUmhhVzV6TENCcGJuQjFkQzVmY21Wd2IzSjBaWEpUZEdGMFpTNXZZbW9wWEc0Z0lDQWdJQ0FnSUNBZ0xsOWtaV052WkdVb1pHRjBZU3dnYjNCMGFXOXVjeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHk4Z1VHOXdJRzlpYW1WamRGeHVJQ0JwWmlBb2MzUmhkR1V1YjJKcUlDWW1JSEJ5WlhObGJuUXBYRzRnSUNBZ2NtVnpkV3gwSUQwZ2FXNXdkWFF1YkdWaGRtVlBZbXBsWTNRb2NISmxkazlpYWlrN1hHNWNiaUFnTHk4Z1UyVjBJR3RsZVZ4dUlDQnBaaUFvYzNSaGRHVXVhMlY1SUNFOVBTQnVkV3hzSUNZbUlDaHlaWE4xYkhRZ0lUMDlJRzUxYkd3Z2ZId2djSEpsYzJWdWRDQTlQVDBnZEhKMVpTa3BYRzRnSUNBZ2FXNXdkWFF1YkdWaGRtVkxaWGtvY0hKbGRrdGxlU3dnYzNSaGRHVXVhMlY1TENCeVpYTjFiSFFwTzF4dUlDQmxiSE5sSUdsbUlDaHdjbVYyUzJWNUlDRTlQU0J1ZFd4c0tWeHVJQ0FnSUdsdWNIVjBMbVY0YVhSTFpYa29jSEpsZGt0bGVTazdYRzVjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4wN1hHNWNiazV2WkdVdWNISnZkRzkwZVhCbExsOWtaV052WkdWSFpXNWxjbWxqSUQwZ1puVnVZM1JwYjI0Z1pHVmpiMlJsUjJWdVpYSnBZeWgwWVdjc0lHbHVjSFYwTENCdmNIUnBiMjV6S1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYMkpoYzJWVGRHRjBaVHRjYmx4dUlDQnBaaUFvZEdGbklEMDlQU0FuYzJWeEp5QjhmQ0IwWVdjZ1BUMDlJQ2R6WlhRbktWeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0JwWmlBb2RHRm5JRDA5UFNBbmMyVnhiMlluSUh4OElIUmhaeUE5UFQwZ0ozTmxkRzltSnlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmpiMlJsVEdsemRDaHBibkIxZEN3Z2RHRm5MQ0J6ZEdGMFpTNWhjbWR6V3pCZExDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvTDNOMGNpUXZMblJsYzNRb2RHRm5LU2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWkdWamIyUmxVM1J5S0dsdWNIVjBMQ0IwWVdjc0lHOXdkR2x2Ym5NcE8xeHVJQ0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2R2WW1wcFpDY2dKaVlnYzNSaGRHVXVZWEpuY3lsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmpiMlJsVDJKcWFXUW9hVzV3ZFhRc0lITjBZWFJsTG1GeVozTmJNRjBzSUhOMFlYUmxMbUZ5WjNOYk1WMHNJRzl3ZEdsdmJuTXBPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdlltcHBaQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJSbFkyOWtaVTlpYW1sa0tHbHVjSFYwTENCdWRXeHNMQ0J1ZFd4c0xDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuWjJWdWRHbHRaU2NnZkh3Z2RHRm5JRDA5UFNBbmRYUmpkR2x0WlNjcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyUmxZMjlrWlZScGJXVW9hVzV3ZFhRc0lIUmhaeXdnYjNCMGFXOXVjeWs3WEc0Z0lHVnNjMlVnYVdZZ0tIUmhaeUE5UFQwZ0oyNTFiR3hmSnlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHVmpiMlJsVG5Wc2JDaHBibkIxZEN3Z2IzQjBhVzl1Y3lrN1hHNGdJR1ZzYzJVZ2FXWWdLSFJoWnlBOVBUMGdKMkp2YjJ3bktWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWtaV052WkdWQ2IyOXNLR2x1Y0hWMExDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYjJKcVJHVnpZeWNwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJSbFkyOWtaVk4wY2locGJuQjFkQ3dnZEdGbkxDQnZjSFJwYjI1ektUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYVc1MEp5QjhmQ0IwWVdjZ1BUMDlJQ2RsYm5WdEp5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaR1ZqYjJSbFNXNTBLR2x1Y0hWMExDQnpkR0YwWlM1aGNtZHpJQ1ltSUhOMFlYUmxMbUZ5WjNOYk1GMHNJRzl3ZEdsdmJuTXBPMXh1WEc0Z0lHbG1JQ2h6ZEdGMFpTNTFjMlVnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZloyVjBWWE5sS0hOMFlYUmxMblZ6WlN3Z2FXNXdkWFF1WDNKbGNHOXlkR1Z5VTNSaGRHVXViMkpxS1Z4dUlDQWdJQ0FnSUNBdVgyUmxZMjlrWlNocGJuQjFkQ3dnYjNCMGFXOXVjeWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJR2x1Y0hWMExtVnljbTl5S0NkMWJtdHViM2R1SUhSaFp6b2dKeUFySUhSaFp5azdYRzRnSUgxY2JuMDdYRzVjYms1dlpHVXVjSEp2ZEc5MGVYQmxMbDluWlhSVmMyVWdQU0JtZFc1amRHbHZiaUJmWjJWMFZYTmxLR1Z1ZEdsMGVTd2diMkpxS1NCN1hHNWNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dUlDQXZMeUJEY21WaGRHVWdZV3gwWlhKbFpDQjFjMlVnWkdWamIyUmxjaUJwWmlCcGJYQnNhV05wZENCcGN5QnpaWFJjYmlBZ2MzUmhkR1V1ZFhObFJHVmpiMlJsY2lBOUlIUm9hWE11WDNWelpTaGxiblJwZEhrc0lHOWlhaWs3WEc0Z0lHRnpjMlZ5ZENoemRHRjBaUzUxYzJWRVpXTnZaR1Z5TGw5aVlYTmxVM1JoZEdVdWNHRnlaVzUwSUQwOVBTQnVkV3hzS1R0Y2JpQWdjM1JoZEdVdWRYTmxSR1ZqYjJSbGNpQTlJSE4wWVhSbExuVnpaVVJsWTI5a1pYSXVYMkpoYzJWVGRHRjBaUzVqYUdsc1pISmxibHN3WFR0Y2JpQWdhV1lnS0hOMFlYUmxMbWx0Y0d4cFkybDBJQ0U5UFNCemRHRjBaUzUxYzJWRVpXTnZaR1Z5TGw5aVlYTmxVM1JoZEdVdWFXMXdiR2xqYVhRcElIdGNiaUFnSUNCemRHRjBaUzUxYzJWRVpXTnZaR1Z5SUQwZ2MzUmhkR1V1ZFhObFJHVmpiMlJsY2k1amJHOXVaU2dwTzF4dUlDQWdJSE4wWVhSbExuVnpaVVJsWTI5a1pYSXVYMkpoYzJWVGRHRjBaUzVwYlhCc2FXTnBkQ0E5SUhOMFlYUmxMbWx0Y0d4cFkybDBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnpkR0YwWlM1MWMyVkVaV052WkdWeU8xeHVmVHRjYmx4dVRtOWtaUzV3Y205MGIzUjVjR1V1WDJSbFkyOWtaVU5vYjJsalpTQTlJR1oxYm1OMGFXOXVJR1JsWTI5a1pVTm9iMmxqWlNocGJuQjFkQ3dnYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOWlZWE5sVTNSaGRHVTdYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQnVkV3hzTzF4dUlDQjJZWElnYldGMFkyZ2dQU0JtWVd4elpUdGNibHh1SUNCUFltcGxZM1F1YTJWNWN5aHpkR0YwWlM1amFHOXBZMlVwTG5OdmJXVW9ablZ1WTNScGIyNG9hMlY1S1NCN1hHNGdJQ0FnZG1GeUlITmhkbVVnUFNCcGJuQjFkQzV6WVhabEtDazdYRzRnSUNBZ2RtRnlJRzV2WkdVZ1BTQnpkR0YwWlM1amFHOXBZMlZiYTJWNVhUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdkbUZ5SUhaaGJIVmxJRDBnYm05a1pTNWZaR1ZqYjJSbEtHbHVjSFYwTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0FnSUdsbUlDaHBibkIxZEM1cGMwVnljbTl5S0haaGJIVmxLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVYRzRnSUNBZ0lDQnlaWE4xYkhRZ1BTQjdJSFI1Y0dVNklHdGxlU3dnZG1Gc2RXVTZJSFpoYkhWbElIMDdYRzRnSUNBZ0lDQnRZWFJqYUNBOUlIUnlkV1U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQ0FnYVc1d2RYUXVjbVZ6ZEc5eVpTaHpZWFpsS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJSDBzSUhSb2FYTXBPMXh1WEc0Z0lHbG1JQ2doYldGMFkyZ3BYRzRnSUNBZ2NtVjBkWEp1SUdsdWNIVjBMbVZ5Y205eUtDZERhRzlwWTJVZ2JtOTBJRzFoZEdOb1pXUW5LVHRjYmx4dUlDQnlaWFIxY200Z2NtVnpkV3gwTzF4dWZUdGNibHh1THk5Y2JpOHZJRVZ1WTI5a2FXNW5YRzR2TDF4dVhHNU9iMlJsTG5CeWIzUnZkSGx3WlM1ZlkzSmxZWFJsUlc1amIyUmxja0oxWm1abGNpQTlJR1oxYm1OMGFXOXVJR055WldGMFpVVnVZMjlrWlhKQ2RXWm1aWElvWkdGMFlTa2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFVnVZMjlrWlhKQ2RXWm1aWElvWkdGMFlTd2dkR2hwY3k1eVpYQnZjblJsY2lrN1hHNTlPMXh1WEc1T2IyUmxMbkJ5YjNSdmRIbHdaUzVmWlc1amIyUmxJRDBnWm5WdVkzUnBiMjRnWlc1amIyUmxLR1JoZEdFc0lISmxjRzl5ZEdWeUxDQndZWEpsYm5RcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmWW1GelpWTjBZWFJsTzF4dUlDQnBaaUFvYzNSaGRHVmJKMlJsWm1GMWJIUW5YU0FoUFQwZ2JuVnNiQ0FtSmlCemRHRjBaVnNuWkdWbVlYVnNkQ2RkSUQwOVBTQmtZWFJoS1Z4dUlDQWdJSEpsZEhWeWJqdGNibHh1SUNCMllYSWdjbVZ6ZFd4MElEMGdkR2hwY3k1ZlpXNWpiMlJsVm1Gc2RXVW9aR0YwWVN3Z2NtVndiM0owWlhJc0lIQmhjbVZ1ZENrN1hHNGdJR2xtSUNoeVpYTjFiSFFnUFQwOUlIVnVaR1ZtYVc1bFpDbGNiaUFnSUNCeVpYUjFjbTQ3WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM05yYVhCRVpXWmhkV3gwS0hKbGMzVnNkQ3dnY21Wd2IzSjBaWElzSUhCaGNtVnVkQ2twWEc0Z0lDQWdjbVYwZFhKdU8xeHVYRzRnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5TzF4dVhHNU9iMlJsTG5CeWIzUnZkSGx3WlM1ZlpXNWpiMlJsVm1Gc2RXVWdQU0JtZFc1amRHbHZiaUJsYm1OdlpHVW9aR0YwWVN3Z2NtVndiM0owWlhJc0lIQmhjbVZ1ZENrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdMeThnUkdWamIyUmxJSEp2YjNRZ2JtOWtaVnh1SUNCcFppQW9jM1JoZEdVdWNHRnlaVzUwSUQwOVBTQnVkV3hzS1Z4dUlDQWdJSEpsZEhWeWJpQnpkR0YwWlM1amFHbHNaSEpsYmxzd1hTNWZaVzVqYjJSbEtHUmhkR0VzSUhKbGNHOXlkR1Z5SUh4OElHNWxkeUJTWlhCdmNuUmxjaWdwS1R0Y2JseHVJQ0IyWVhJZ2NtVnpkV3gwSUQwZ2JuVnNiRHRjYmx4dUlDQXZMeUJUWlhRZ2NtVndiM0owWlhJZ2RHOGdjMmhoY21VZ2FYUWdkMmwwYUNCaElHTm9hV3hrSUdOc1lYTnpYRzRnSUhSb2FYTXVjbVZ3YjNKMFpYSWdQU0J5WlhCdmNuUmxjanRjYmx4dUlDQXZMeUJEYUdWamF5QnBaaUJrWVhSaElHbHpJSFJvWlhKbFhHNGdJR2xtSUNoemRHRjBaUzV2Y0hScGIyNWhiQ0FtSmlCa1lYUmhJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNCcFppQW9jM1JoZEdWYkoyUmxabUYxYkhRblhTQWhQVDBnYm5Wc2JDbGNiaUFnSUNBZ0lHUmhkR0VnUFNCemRHRjBaVnNuWkdWbVlYVnNkQ2RkWEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnTHk4Z1JXNWpiMlJsSUdOb2FXeGtjbVZ1SUdacGNuTjBYRzRnSUhaaGNpQmpiMjUwWlc1MElEMGdiblZzYkR0Y2JpQWdkbUZ5SUhCeWFXMXBkR2wyWlNBOUlHWmhiSE5sTzF4dUlDQnBaaUFvYzNSaGRHVXVZVzU1S1NCN1hHNGdJQ0FnTHk4Z1FXNTVkR2hwYm1jZ2RHaGhkQ0IzWVhNZ1oybDJaVzRnYVhNZ2RISmhibk5zWVhSbFpDQjBieUJpZFdabVpYSmNiaUFnSUNCeVpYTjFiSFFnUFNCMGFHbHpMbDlqY21WaGRHVkZibU52WkdWeVFuVm1abVZ5S0dSaGRHRXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tITjBZWFJsTG1Ob2IybGpaU2tnZTF4dUlDQWdJSEpsYzNWc2RDQTlJSFJvYVhNdVgyVnVZMjlrWlVOb2IybGpaU2hrWVhSaExDQnlaWEJ2Y25SbGNpazdYRzRnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1WTI5dWRHRnBibk1wSUh0Y2JpQWdJQ0JqYjI1MFpXNTBJRDBnZEdocGN5NWZaMlYwVlhObEtITjBZWFJsTG1OdmJuUmhhVzV6TENCd1lYSmxiblFwTGw5bGJtTnZaR1VvWkdGMFlTd2djbVZ3YjNKMFpYSXBPMXh1SUNBZ0lIQnlhVzFwZEdsMlpTQTlJSFJ5ZFdVN1hHNGdJSDBnWld4elpTQnBaaUFvYzNSaGRHVXVZMmhwYkdSeVpXNHBJSHRjYmlBZ0lDQmpiMjUwWlc1MElEMGdjM1JoZEdVdVkyaHBiR1J5Wlc0dWJXRndLR1oxYm1OMGFXOXVLR05vYVd4a0tTQjdYRzRnSUNBZ0lDQnBaaUFvWTJocGJHUXVYMkpoYzJWVGRHRjBaUzUwWVdjZ1BUMDlJQ2R1ZFd4c1h5Y3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmphR2xzWkM1ZlpXNWpiMlJsS0c1MWJHd3NJSEpsY0c5eWRHVnlMQ0JrWVhSaEtUdGNibHh1SUNBZ0lDQWdhV1lnS0dOb2FXeGtMbDlpWVhObFUzUmhkR1V1YTJWNUlEMDlQU0J1ZFd4c0tWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVndiM0owWlhJdVpYSnliM0lvSjBOb2FXeGtJSE5vYjNWc1pDQm9ZWFpsSUdFZ2EyVjVKeWs3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka3RsZVNBOUlISmxjRzl5ZEdWeUxtVnVkR1Z5UzJWNUtHTm9hV3hrTGw5aVlYTmxVM1JoZEdVdWEyVjVLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCa1lYUmhJQ0U5UFNBbmIySnFaV04wSnlsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGNHOXlkR1Z5TG1WeWNtOXlLQ2REYUdsc1pDQmxlSEJsWTNSbFpDd2dZblYwSUdsdWNIVjBJR2x6SUc1dmRDQnZZbXBsWTNRbktUdGNibHh1SUNBZ0lDQWdkbUZ5SUhKbGN5QTlJR05vYVd4a0xsOWxibU52WkdVb1pHRjBZVnRqYUdsc1pDNWZZbUZ6WlZOMFlYUmxMbXRsZVYwc0lISmxjRzl5ZEdWeUxDQmtZWFJoS1R0Y2JpQWdJQ0FnSUhKbGNHOXlkR1Z5TG14bFlYWmxTMlY1S0hCeVpYWkxaWGtwTzF4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgwc0lIUm9hWE1wTG1acGJIUmxjaWhtZFc1amRHbHZiaWhqYUdsc1pDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTm9hV3hrTzF4dUlDQWdJSDBwTzF4dUlDQWdJR052Ym5SbGJuUWdQU0IwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLR052Ym5SbGJuUXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2xtSUNoemRHRjBaUzUwWVdjZ1BUMDlJQ2R6WlhGdlppY2dmSHdnYzNSaGRHVXVkR0ZuSUQwOVBTQW5jMlYwYjJZbktTQjdYRzRnSUNBZ0lDQXZMeUJVVDBSUEtHbHVaSFYwYm5rcE9pQjBhR2x6SUhOb2IzVnNaQ0JpWlNCMGFISnZkMjRnYjI0Z1JGTk1JR3hsZG1Wc1hHNGdJQ0FnSUNCcFppQW9JU2h6ZEdGMFpTNWhjbWR6SUNZbUlITjBZWFJsTG1GeVozTXViR1Z1WjNSb0lEMDlQU0F4S1NsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGNHOXlkR1Z5TG1WeWNtOXlLQ2RVYjI4Z2JXRnVlU0JoY21keklHWnZjaUE2SUNjZ0t5QnpkR0YwWlM1MFlXY3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lVRnljbUY1TG1selFYSnlZWGtvWkdGMFlTa3BYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWEJ2Y25SbGNpNWxjbkp2Y2lnbmMyVnhiMll2YzJWMGIyWXNJR0oxZENCa1lYUmhJR2x6SUc1dmRDQkJjbkpoZVNjcE8xeHVYRzRnSUNBZ0lDQjJZWElnWTJocGJHUWdQU0IwYUdsekxtTnNiMjVsS0NrN1hHNGdJQ0FnSUNCamFHbHNaQzVmWW1GelpWTjBZWFJsTG1sdGNHeHBZMmwwSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJR052Ym5SbGJuUWdQU0IwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLR1JoZEdFdWJXRndLR1oxYm1OMGFXOXVLR2wwWlcwcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZZbUZ6WlZOMFlYUmxPMXh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOW5aWFJWYzJVb2MzUmhkR1V1WVhKbmMxc3dYU3dnWkdGMFlTa3VYMlZ1WTI5a1pTaHBkR1Z0TENCeVpYQnZjblJsY2lrN1hHNGdJQ0FnSUNCOUxDQmphR2xzWkNrcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1ZFhObElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWE4xYkhRZ1BTQjBhR2x6TGw5blpYUlZjMlVvYzNSaGRHVXVkWE5sTENCd1lYSmxiblFwTGw5bGJtTnZaR1VvWkdGMFlTd2djbVZ3YjNKMFpYSXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCamIyNTBaVzUwSUQwZ2RHaHBjeTVmWlc1amIyUmxVSEpwYldsMGFYWmxLSE4wWVhSbExuUmhaeXdnWkdGMFlTazdYRzRnSUNBZ0lDQndjbWx0YVhScGRtVWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHZJRVZ1WTI5a1pTQmtZWFJoSUdsMGMyVnNabHh1SUNCMllYSWdjbVZ6ZFd4ME8xeHVJQ0JwWmlBb0lYTjBZWFJsTG1GdWVTQW1KaUJ6ZEdGMFpTNWphRzlwWTJVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNCMllYSWdkR0ZuSUQwZ2MzUmhkR1V1YVcxd2JHbGphWFFnSVQwOUlHNTFiR3dnUHlCemRHRjBaUzVwYlhCc2FXTnBkQ0E2SUhOMFlYUmxMblJoWnp0Y2JpQWdJQ0IyWVhJZ1kyeHpJRDBnYzNSaGRHVXVhVzF3YkdsamFYUWdQVDA5SUc1MWJHd2dQeUFuZFc1cGRtVnljMkZzSnlBNklDZGpiMjUwWlhoMEp6dGNibHh1SUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2h6ZEdGMFpTNTFjMlVnUFQwOUlHNTFiR3dwWEc0Z0lDQWdJQ0FnSUhKbGNHOXlkR1Z5TG1WeWNtOXlLQ2RVWVdjZ1kyOTFiR1FnWW1VZ2IyMXBkSFJsWkNCdmJteDVJR1p2Y2lBdWRYTmxLQ2tuS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hOMFlYUmxMblZ6WlNBOVBUMGdiblZzYkNsY2JpQWdJQ0FnSUNBZ2NtVnpkV3gwSUQwZ2RHaHBjeTVmWlc1amIyUmxRMjl0Y0c5emFYUmxLSFJoWnl3Z2NISnBiV2wwYVhabExDQmpiSE1zSUdOdmJuUmxiblFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4dklGZHlZWEFnYVc0Z1pYaHdiR2xqYVhSY2JpQWdhV1lnS0hOMFlYUmxMbVY0Y0d4cFkybDBJQ0U5UFNCdWRXeHNLVnh1SUNBZ0lISmxjM1ZzZENBOUlIUm9hWE11WDJWdVkyOWtaVU52YlhCdmMybDBaU2h6ZEdGMFpTNWxlSEJzYVdOcGRDd2dabUZzYzJVc0lDZGpiMjUwWlhoMEp5d2djbVZ6ZFd4MEtUdGNibHh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlR0Y2JseHVUbTlrWlM1d2NtOTBiM1I1Y0dVdVgyVnVZMjlrWlVOb2IybGpaU0E5SUdaMWJtTjBhVzl1SUdWdVkyOWtaVU5vYjJsalpTaGtZWFJoTENCeVpYQnZjblJsY2lrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlpWVhObFUzUmhkR1U3WEc1Y2JpQWdkbUZ5SUc1dlpHVWdQU0J6ZEdGMFpTNWphRzlwWTJWYlpHRjBZUzUwZVhCbFhUdGNiaUFnYVdZZ0tDRnViMlJsS1NCN1hHNGdJQ0FnWVhOelpYSjBLRnh1SUNBZ0lDQWdJQ0JtWVd4elpTeGNiaUFnSUNBZ0lDQWdaR0YwWVM1MGVYQmxJQ3NnSnlCdWIzUWdabTkxYm1RZ2FXNGdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQktVMDlPTG5OMGNtbHVaMmxtZVNoUFltcGxZM1F1YTJWNWN5aHpkR0YwWlM1amFHOXBZMlVwS1NrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc1dlpHVXVYMlZ1WTI5a1pTaGtZWFJoTG5aaGJIVmxMQ0J5WlhCdmNuUmxjaWs3WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWZaVzVqYjJSbFVISnBiV2wwYVhabElEMGdablZ1WTNScGIyNGdaVzVqYjJSbFVISnBiV2wwYVhabEtIUmhaeXdnWkdGMFlTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5aVlYTmxVM1JoZEdVN1hHNWNiaUFnYVdZZ0tDOXpkSElrTHk1MFpYTjBLSFJoWnlrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyVnVZMjlrWlZOMGNpaGtZWFJoTENCMFlXY3BPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdlltcHBaQ2NnSmlZZ2MzUmhkR1V1WVhKbmN5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaVzVqYjJSbFQySnFhV1FvWkdGMFlTd2djM1JoZEdVdWNtVjJaWEp6WlVGeVozTmJNRjBzSUhOMFlYUmxMbUZ5WjNOYk1WMHBPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdlltcHBaQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJWdVkyOWtaVTlpYW1sa0tHUmhkR0VzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2RuWlc1MGFXMWxKeUI4ZkNCMFlXY2dQVDA5SUNkMWRHTjBhVzFsSnlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpXNWpiMlJsVkdsdFpTaGtZWFJoTENCMFlXY3BPMXh1SUNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUNkdWRXeHNYeWNwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJWdVkyOWtaVTUxYkd3b0tUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYVc1MEp5QjhmQ0IwWVdjZ1BUMDlJQ2RsYm5WdEp5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaVzVqYjJSbFNXNTBLR1JoZEdFc0lITjBZWFJsTG1GeVozTWdKaVlnYzNSaGRHVXVjbVYyWlhKelpVRnlaM05iTUYwcE8xeHVJQ0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2RpYjI5c0p5bGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZaVzVqYjJSbFFtOXZiQ2hrWVhSaEtUdGNiaUFnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYjJKcVJHVnpZeWNwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDJWdVkyOWtaVk4wY2loa1lYUmhMQ0IwWVdjcE8xeHVJQ0JsYkhObFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RWYm5OMWNIQnZjblJsWkNCMFlXYzZJQ2NnS3lCMFlXY3BPMXh1ZlR0Y2JseHVUbTlrWlM1d2NtOTBiM1I1Y0dVdVgybHpUblZ0YzNSeUlEMGdablZ1WTNScGIyNGdhWE5PZFcxemRISW9jM1J5S1NCN1hHNGdJSEpsZEhWeWJpQXZYbHN3TFRrZ1hTb2tMeTUwWlhOMEtITjBjaWs3WEc1OU8xeHVYRzVPYjJSbExuQnliM1J2ZEhsd1pTNWZhWE5RY21sdWRITjBjaUE5SUdaMWJtTjBhVzl1SUdselVISnBiblJ6ZEhJb2MzUnlLU0I3WEc0Z0lISmxkSFZ5YmlBdlhsdEJMVnBoTFhvd0xUa2dKMXhjS0Z4Y0tWeGNLeXhjWEMxY1hDNWNYQzg2UFZ4Y1AxMHFKQzh1ZEdWemRDaHpkSElwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9ub2RlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2Jhc2UvcmVwb3J0ZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9yZXBvcnRlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuXFxuZnVuY3Rpb24gUmVwb3J0ZXIob3B0aW9ucykge1xcbiAgdGhpcy5fcmVwb3J0ZXJTdGF0ZSA9IHtcXG4gICAgb2JqOiBudWxsLFxcbiAgICBwYXRoOiBbXSxcXG4gICAgb3B0aW9uczogb3B0aW9ucyB8fCB7fSxcXG4gICAgZXJyb3JzOiBbXVxcbiAgfTtcXG59XFxuZXhwb3J0cy5SZXBvcnRlciA9IFJlcG9ydGVyO1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5pc0Vycm9yID0gZnVuY3Rpb24gaXNFcnJvcihvYmopIHtcXG4gIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZXBvcnRlckVycm9yO1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLnNhdmUgPSBmdW5jdGlvbiBzYXZlKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG5cXG4gIHJldHVybiB7IG9iajogc3RhdGUub2JqLCBwYXRoTGVuOiBzdGF0ZS5wYXRoLmxlbmd0aCB9O1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLnJlc3RvcmUgPSBmdW5jdGlvbiByZXN0b3JlKGRhdGEpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XFxuXFxuICBzdGF0ZS5vYmogPSBkYXRhLm9iajtcXG4gIHN0YXRlLnBhdGggPSBzdGF0ZS5wYXRoLnNsaWNlKDAsIGRhdGEucGF0aExlbik7XFxufTtcXG5cXG5SZXBvcnRlci5wcm90b3R5cGUuZW50ZXJLZXkgPSBmdW5jdGlvbiBlbnRlcktleShrZXkpIHtcXG4gIHJldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGgucHVzaChrZXkpO1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLmV4aXRLZXkgPSBmdW5jdGlvbiBleGl0S2V5KGluZGV4KSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xcblxcbiAgc3RhdGUucGF0aCA9IHN0YXRlLnBhdGguc2xpY2UoMCwgaW5kZXggLSAxKTtcXG59O1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZUtleSA9IGZ1bmN0aW9uIGxlYXZlS2V5KGluZGV4LCBrZXksIHZhbHVlKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xcblxcbiAgdGhpcy5leGl0S2V5KGluZGV4KTtcXG4gIGlmIChzdGF0ZS5vYmogIT09IG51bGwpXFxuICAgIHN0YXRlLm9ialtrZXldID0gdmFsdWU7XFxufTtcXG5cXG5SZXBvcnRlci5wcm90b3R5cGUucGF0aCA9IGZ1bmN0aW9uIHBhdGgoKSB7XFxuICByZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLmpvaW4oJy8nKTtcXG59O1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5lbnRlck9iamVjdCA9IGZ1bmN0aW9uIGVudGVyT2JqZWN0KCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG5cXG4gIHZhciBwcmV2ID0gc3RhdGUub2JqO1xcbiAgc3RhdGUub2JqID0ge307XFxuICByZXR1cm4gcHJldjtcXG59O1xcblxcblJlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZU9iamVjdCA9IGZ1bmN0aW9uIGxlYXZlT2JqZWN0KHByZXYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XFxuXFxuICB2YXIgbm93ID0gc3RhdGUub2JqO1xcbiAgc3RhdGUub2JqID0gcHJldjtcXG4gIHJldHVybiBub3c7XFxufTtcXG5cXG5SZXBvcnRlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiBlcnJvcihtc2cpIHtcXG4gIHZhciBlcnI7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xcblxcbiAgdmFyIGluaGVyaXRlZCA9IG1zZyBpbnN0YW5jZW9mIFJlcG9ydGVyRXJyb3I7XFxuICBpZiAoaW5oZXJpdGVkKSB7XFxuICAgIGVyciA9IG1zZztcXG4gIH0gZWxzZSB7XFxuICAgIGVyciA9IG5ldyBSZXBvcnRlckVycm9yKHN0YXRlLnBhdGgubWFwKGZ1bmN0aW9uKGVsZW0pIHtcXG4gICAgICByZXR1cm4gJ1snICsgSlNPTi5zdHJpbmdpZnkoZWxlbSkgKyAnXSc7XFxuICAgIH0pLmpvaW4oJycpLCBtc2cubWVzc2FnZSB8fCBtc2csIG1zZy5zdGFjayk7XFxuICB9XFxuXFxuICBpZiAoIXN0YXRlLm9wdGlvbnMucGFydGlhbClcXG4gICAgdGhyb3cgZXJyO1xcblxcbiAgaWYgKCFpbmhlcml0ZWQpXFxuICAgIHN0YXRlLmVycm9ycy5wdXNoKGVycik7XFxuXFxuICByZXR1cm4gZXJyO1xcbn07XFxuXFxuUmVwb3J0ZXIucHJvdG90eXBlLndyYXBSZXN1bHQgPSBmdW5jdGlvbiB3cmFwUmVzdWx0KHJlc3VsdCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcXG4gIGlmICghc3RhdGUub3B0aW9ucy5wYXJ0aWFsKVxcbiAgICByZXR1cm4gcmVzdWx0O1xcblxcbiAgcmV0dXJuIHtcXG4gICAgcmVzdWx0OiB0aGlzLmlzRXJyb3IocmVzdWx0KSA/IG51bGwgOiByZXN1bHQsXFxuICAgIGVycm9yczogc3RhdGUuZXJyb3JzXFxuICB9O1xcbn07XFxuXFxuZnVuY3Rpb24gUmVwb3J0ZXJFcnJvcihwYXRoLCBtc2cpIHtcXG4gIHRoaXMucGF0aCA9IHBhdGg7XFxuICB0aGlzLnJldGhyb3cobXNnKTtcXG59O1xcbmluaGVyaXRzKFJlcG9ydGVyRXJyb3IsIEVycm9yKTtcXG5cXG5SZXBvcnRlckVycm9yLnByb3RvdHlwZS5yZXRocm93ID0gZnVuY3Rpb24gcmV0aHJvdyhtc2cpIHtcXG4gIHRoaXMubWVzc2FnZSA9IG1zZyArICcgYXQ6ICcgKyAodGhpcy5wYXRoIHx8ICcoc2hhbGxvdyknKTtcXG4gIGlmIChFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlcXG4gICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgUmVwb3J0ZXJFcnJvcik7XFxuXFxuICBpZiAoIXRoaXMuc3RhY2spIHtcXG4gICAgdHJ5IHtcXG4gICAgICAvLyBJRSBvbmx5IGFkZHMgc3RhY2sgd2hlbiB0aHJvd25cXG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5tZXNzYWdlKTtcXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgIHRoaXMuc3RhY2sgPSBlLnN0YWNrO1xcbiAgICB9XFxuICB9XFxuICByZXR1cm4gdGhpcztcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJKaGMyVXZjbVZ3YjNKMFpYSXVhbk0vWlRBeE55SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FSkJRVEJDTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEZWQlFWVTdRVUZEVmpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYTnVNUzVxY3k5c2FXSXZZWE51TVM5aVlYTmxMM0psY0c5eWRHVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktUdGNibHh1Wm5WdVkzUnBiMjRnVW1Wd2IzSjBaWElvYjNCMGFXOXVjeWtnZTF4dUlDQjBhR2x6TGw5eVpYQnZjblJsY2xOMFlYUmxJRDBnZTF4dUlDQWdJRzlpYWpvZ2JuVnNiQ3hjYmlBZ0lDQndZWFJvT2lCYlhTeGNiaUFnSUNCdmNIUnBiMjV6T2lCdmNIUnBiMjV6SUh4OElIdDlMRnh1SUNBZ0lHVnljbTl5Y3pvZ1cxMWNiaUFnZlR0Y2JuMWNibVY0Y0c5eWRITXVVbVZ3YjNKMFpYSWdQU0JTWlhCdmNuUmxjanRjYmx4dVVtVndiM0owWlhJdWNISnZkRzkwZVhCbExtbHpSWEp5YjNJZ1BTQm1kVzVqZEdsdmJpQnBjMFZ5Y205eUtHOWlhaWtnZTF4dUlDQnlaWFIxY200Z2IySnFJR2x1YzNSaGJtTmxiMllnVW1Wd2IzSjBaWEpGY25KdmNqdGNibjA3WEc1Y2JsSmxjRzl5ZEdWeUxuQnliM1J2ZEhsd1pTNXpZWFpsSUQwZ1puVnVZM1JwYjI0Z2MyRjJaU2dwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZ3YjNKMFpYSlRkR0YwWlR0Y2JseHVJQ0J5WlhSMWNtNGdleUJ2WW1vNklITjBZWFJsTG05aWFpd2djR0YwYUV4bGJqb2djM1JoZEdVdWNHRjBhQzVzWlc1bmRHZ2dmVHRjYm4wN1hHNWNibEpsY0c5eWRHVnlMbkJ5YjNSdmRIbHdaUzV5WlhOMGIzSmxJRDBnWm5WdVkzUnBiMjRnY21WemRHOXlaU2hrWVhSaEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbGNHOXlkR1Z5VTNSaGRHVTdYRzVjYmlBZ2MzUmhkR1V1YjJKcUlEMGdaR0YwWVM1dlltbzdYRzRnSUhOMFlYUmxMbkJoZEdnZ1BTQnpkR0YwWlM1d1lYUm9Mbk5zYVdObEtEQXNJR1JoZEdFdWNHRjBhRXhsYmlrN1hHNTlPMXh1WEc1U1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdVpXNTBaWEpMWlhrZ1BTQm1kVzVqZEdsdmJpQmxiblJsY2t0bGVTaHJaWGtwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDNKbGNHOXlkR1Z5VTNSaGRHVXVjR0YwYUM1d2RYTm9LR3RsZVNrN1hHNTlPMXh1WEc1U1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdVpYaHBkRXRsZVNBOUlHWjFibU4wYVc5dUlHVjRhWFJMWlhrb2FXNWtaWGdwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZ3YjNKMFpYSlRkR0YwWlR0Y2JseHVJQ0J6ZEdGMFpTNXdZWFJvSUQwZ2MzUmhkR1V1Y0dGMGFDNXpiR2xqWlNnd0xDQnBibVJsZUNBdElERXBPMXh1ZlR0Y2JseHVVbVZ3YjNKMFpYSXVjSEp2ZEc5MGVYQmxMbXhsWVhabFMyVjVJRDBnWm5WdVkzUnBiMjRnYkdWaGRtVkxaWGtvYVc1a1pYZ3NJR3RsZVN3Z2RtRnNkV1VwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZ3YjNKMFpYSlRkR0YwWlR0Y2JseHVJQ0IwYUdsekxtVjRhWFJMWlhrb2FXNWtaWGdwTzF4dUlDQnBaaUFvYzNSaGRHVXViMkpxSUNFOVBTQnVkV3hzS1Z4dUlDQWdJSE4wWVhSbExtOWlhbHRyWlhsZElEMGdkbUZzZFdVN1hHNTlPMXh1WEc1U1pYQnZjblJsY2k1d2NtOTBiM1I1Y0dVdWNHRjBhQ0E5SUdaMWJtTjBhVzl1SUhCaGRHZ29LU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDl5WlhCdmNuUmxjbE4wWVhSbExuQmhkR2d1YW05cGJpZ25MeWNwTzF4dWZUdGNibHh1VW1Wd2IzSjBaWEl1Y0hKdmRHOTBlWEJsTG1WdWRHVnlUMkpxWldOMElEMGdablZ1WTNScGIyNGdaVzUwWlhKUFltcGxZM1FvS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psY0c5eWRHVnlVM1JoZEdVN1hHNWNiaUFnZG1GeUlIQnlaWFlnUFNCemRHRjBaUzV2WW1vN1hHNGdJSE4wWVhSbExtOWlhaUE5SUh0OU8xeHVJQ0J5WlhSMWNtNGdjSEpsZGp0Y2JuMDdYRzVjYmxKbGNHOXlkR1Z5TG5CeWIzUnZkSGx3WlM1c1pXRjJaVTlpYW1WamRDQTlJR1oxYm1OMGFXOXVJR3hsWVhabFQySnFaV04wS0hCeVpYWXBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVndiM0owWlhKVGRHRjBaVHRjYmx4dUlDQjJZWElnYm05M0lEMGdjM1JoZEdVdWIySnFPMXh1SUNCemRHRjBaUzV2WW1vZ1BTQndjbVYyTzF4dUlDQnlaWFIxY200Z2JtOTNPMXh1ZlR0Y2JseHVVbVZ3YjNKMFpYSXVjSEp2ZEc5MGVYQmxMbVZ5Y205eUlEMGdablZ1WTNScGIyNGdaWEp5YjNJb2JYTm5LU0I3WEc0Z0lIWmhjaUJsY25JN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psY0c5eWRHVnlVM1JoZEdVN1hHNWNiaUFnZG1GeUlHbHVhR1Z5YVhSbFpDQTlJRzF6WnlCcGJuTjBZVzVqWlc5bUlGSmxjRzl5ZEdWeVJYSnliM0k3WEc0Z0lHbG1JQ2hwYm1obGNtbDBaV1FwSUh0Y2JpQWdJQ0JsY25JZ1BTQnRjMmM3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWlhKeUlEMGdibVYzSUZKbGNHOXlkR1Z5UlhKeWIzSW9jM1JoZEdVdWNHRjBhQzV0WVhBb1puVnVZM1JwYjI0b1pXeGxiU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJQ2RiSnlBcklFcFRUMDR1YzNSeWFXNW5hV1o1S0dWc1pXMHBJQ3NnSjEwbk8xeHVJQ0FnSUgwcExtcHZhVzRvSnljcExDQnRjMmN1YldWemMyRm5aU0I4ZkNCdGMyY3NJRzF6Wnk1emRHRmpheWs3WEc0Z0lIMWNibHh1SUNCcFppQW9JWE4wWVhSbExtOXdkR2x2Ym5NdWNHRnlkR2xoYkNsY2JpQWdJQ0IwYUhKdmR5Qmxjbkk3WEc1Y2JpQWdhV1lnS0NGcGJtaGxjbWwwWldRcFhHNGdJQ0FnYzNSaGRHVXVaWEp5YjNKekxuQjFjMmdvWlhKeUtUdGNibHh1SUNCeVpYUjFjbTRnWlhKeU8xeHVmVHRjYmx4dVVtVndiM0owWlhJdWNISnZkRzkwZVhCbExuZHlZWEJTWlhOMWJIUWdQU0JtZFc1amRHbHZiaUIzY21Gd1VtVnpkV3gwS0hKbGMzVnNkQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOXlaWEJ2Y25SbGNsTjBZWFJsTzF4dUlDQnBaaUFvSVhOMFlYUmxMbTl3ZEdsdmJuTXVjR0Z5ZEdsaGJDbGNiaUFnSUNCeVpYUjFjbTRnY21WemRXeDBPMXh1WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnY21WemRXeDBPaUIwYUdsekxtbHpSWEp5YjNJb2NtVnpkV3gwS1NBL0lHNTFiR3dnT2lCeVpYTjFiSFFzWEc0Z0lDQWdaWEp5YjNKek9pQnpkR0YwWlM1bGNuSnZjbk5jYmlBZ2ZUdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlGSmxjRzl5ZEdWeVJYSnliM0lvY0dGMGFDd2diWE5uS1NCN1hHNGdJSFJvYVhNdWNHRjBhQ0E5SUhCaGRHZzdYRzRnSUhSb2FYTXVjbVYwYUhKdmR5aHRjMmNwTzF4dWZUdGNibWx1YUdWeWFYUnpLRkpsY0c5eWRHVnlSWEp5YjNJc0lFVnljbTl5S1R0Y2JseHVVbVZ3YjNKMFpYSkZjbkp2Y2k1d2NtOTBiM1I1Y0dVdWNtVjBhSEp2ZHlBOUlHWjFibU4wYVc5dUlISmxkR2h5YjNjb2JYTm5LU0I3WEc0Z0lIUm9hWE11YldWemMyRm5aU0E5SUcxelp5QXJJQ2NnWVhRNklDY2dLeUFvZEdocGN5NXdZWFJvSUh4OElDY29jMmhoYkd4dmR5a25LVHRjYmlBZ2FXWWdLRVZ5Y205eUxtTmhjSFIxY21WVGRHRmphMVJ5WVdObEtWeHVJQ0FnSUVWeWNtOXlMbU5oY0hSMWNtVlRkR0ZqYTFSeVlXTmxLSFJvYVhNc0lGSmxjRzl5ZEdWeVJYSnliM0lwTzF4dVhHNGdJR2xtSUNnaGRHaHBjeTV6ZEdGamF5a2dlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlCSlJTQnZibXg1SUdGa1pITWdjM1JoWTJzZ2QyaGxiaUIwYUhKdmQyNWNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loMGFHbHpMbTFsYzNOaFoyVXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWMzUmhZMnNnUFNCbExuTjBZV05yTzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvYmFzZS9yZXBvcnRlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvZGVyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9kZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgY29uc3RhbnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vY29uc3RhbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9pbmRleC5qc1xcXCIpO1xcblxcbmV4cG9ydHMudGFnQ2xhc3MgPSB7XFxuICAwOiAndW5pdmVyc2FsJyxcXG4gIDE6ICdhcHBsaWNhdGlvbicsXFxuICAyOiAnY29udGV4dCcsXFxuICAzOiAncHJpdmF0ZSdcXG59O1xcbmV4cG9ydHMudGFnQ2xhc3NCeU5hbWUgPSBjb25zdGFudHMuX3JldmVyc2UoZXhwb3J0cy50YWdDbGFzcyk7XFxuXFxuZXhwb3J0cy50YWcgPSB7XFxuICAweDAwOiAnZW5kJyxcXG4gIDB4MDE6ICdib29sJyxcXG4gIDB4MDI6ICdpbnQnLFxcbiAgMHgwMzogJ2JpdHN0cicsXFxuICAweDA0OiAnb2N0c3RyJyxcXG4gIDB4MDU6ICdudWxsXycsXFxuICAweDA2OiAnb2JqaWQnLFxcbiAgMHgwNzogJ29iakRlc2MnLFxcbiAgMHgwODogJ2V4dGVybmFsJyxcXG4gIDB4MDk6ICdyZWFsJyxcXG4gIDB4MGE6ICdlbnVtJyxcXG4gIDB4MGI6ICdlbWJlZCcsXFxuICAweDBjOiAndXRmOHN0cicsXFxuICAweDBkOiAncmVsYXRpdmVPaWQnLFxcbiAgMHgxMDogJ3NlcScsXFxuICAweDExOiAnc2V0JyxcXG4gIDB4MTI6ICdudW1zdHInLFxcbiAgMHgxMzogJ3ByaW50c3RyJyxcXG4gIDB4MTQ6ICd0NjFzdHInLFxcbiAgMHgxNTogJ3ZpZGVvc3RyJyxcXG4gIDB4MTY6ICdpYTVzdHInLFxcbiAgMHgxNzogJ3V0Y3RpbWUnLFxcbiAgMHgxODogJ2dlbnRpbWUnLFxcbiAgMHgxOTogJ2dyYXBoc3RyJyxcXG4gIDB4MWE6ICdpc282NDZzdHInLFxcbiAgMHgxYjogJ2dlbnN0cicsXFxuICAweDFjOiAndW5pc3RyJyxcXG4gIDB4MWQ6ICdjaGFyc3RyJyxcXG4gIDB4MWU6ICdibXBzdHInXFxufTtcXG5leHBvcnRzLnRhZ0J5TmFtZSA9IGNvbnN0YW50cy5fcmV2ZXJzZShleHBvcnRzLnRhZyk7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMk52Ym5OMFlXNTBjeTlrWlhJdWFuTS9NalU1WmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eDNSVUZCWXpzN1FVRkZkRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMk52Ym5OMFlXNTBjeTlrWlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdZMjl1YzNSaGJuUnpJRDBnY21WeGRXbHlaU2duTGk0dlkyOXVjM1JoYm5Sekp5azdYRzVjYm1WNGNHOXlkSE11ZEdGblEyeGhjM01nUFNCN1hHNGdJREE2SUNkMWJtbDJaWEp6WVd3bkxGeHVJQ0F4T2lBbllYQndiR2xqWVhScGIyNG5MRnh1SUNBeU9pQW5ZMjl1ZEdWNGRDY3NYRzRnSURNNklDZHdjbWwyWVhSbEoxeHVmVHRjYm1WNGNHOXlkSE11ZEdGblEyeGhjM05DZVU1aGJXVWdQU0JqYjI1emRHRnVkSE11WDNKbGRtVnljMlVvWlhod2IzSjBjeTUwWVdkRGJHRnpjeWs3WEc1Y2JtVjRjRzl5ZEhNdWRHRm5JRDBnZTF4dUlDQXdlREF3T2lBblpXNWtKeXhjYmlBZ01IZ3dNVG9nSjJKdmIyd25MRnh1SUNBd2VEQXlPaUFuYVc1MEp5eGNiaUFnTUhnd016b2dKMkpwZEhOMGNpY3NYRzRnSURCNE1EUTZJQ2R2WTNSemRISW5MRnh1SUNBd2VEQTFPaUFuYm5Wc2JGOG5MRnh1SUNBd2VEQTJPaUFuYjJKcWFXUW5MRnh1SUNBd2VEQTNPaUFuYjJKcVJHVnpZeWNzWEc0Z0lEQjRNRGc2SUNkbGVIUmxjbTVoYkNjc1hHNGdJREI0TURrNklDZHlaV0ZzSnl4Y2JpQWdNSGd3WVRvZ0oyVnVkVzBuTEZ4dUlDQXdlREJpT2lBblpXMWlaV1FuTEZ4dUlDQXdlREJqT2lBbmRYUm1PSE4wY2ljc1hHNGdJREI0TUdRNklDZHlaV3hoZEdsMlpVOXBaQ2NzWEc0Z0lEQjRNVEE2SUNkelpYRW5MRnh1SUNBd2VERXhPaUFuYzJWMEp5eGNiaUFnTUhneE1qb2dKMjUxYlhOMGNpY3NYRzRnSURCNE1UTTZJQ2R3Y21sdWRITjBjaWNzWEc0Z0lEQjRNVFE2SUNkME5qRnpkSEluTEZ4dUlDQXdlREUxT2lBbmRtbGtaVzl6ZEhJbkxGeHVJQ0F3ZURFMk9pQW5hV0UxYzNSeUp5eGNiaUFnTUhneE56b2dKM1YwWTNScGJXVW5MRnh1SUNBd2VERTRPaUFuWjJWdWRHbHRaU2NzWEc0Z0lEQjRNVGs2SUNkbmNtRndhSE4wY2ljc1hHNGdJREI0TVdFNklDZHBjMjgyTkRaemRISW5MRnh1SUNBd2VERmlPaUFuWjJWdWMzUnlKeXhjYmlBZ01IZ3hZem9nSjNWdWFYTjBjaWNzWEc0Z0lEQjRNV1E2SUNkamFHRnljM1J5Snl4Y2JpQWdNSGd4WlRvZ0oySnRjSE4wY2lkY2JuMDdYRzVsZUhCdmNuUnpMblJoWjBKNVRtRnRaU0E5SUdOdmJuTjBZVzUwY3k1ZmNtVjJaWEp6WlNobGVIQnZjblJ6TG5SaFp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvY29uc3RhbnRzL2Rlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9jb25zdGFudHMvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBjb25zdGFudHMgPSBleHBvcnRzO1xcblxcbi8vIEhlbHBlclxcbmNvbnN0YW50cy5fcmV2ZXJzZSA9IGZ1bmN0aW9uIHJldmVyc2UobWFwKSB7XFxuICB2YXIgcmVzID0ge307XFxuXFxuICBPYmplY3Qua2V5cyhtYXApLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XFxuICAgIC8vIENvbnZlcnQga2V5IHRvIGludGVnZXIgaWYgaXQgaXMgc3RyaW5naWZpZWRcXG4gICAgaWYgKChrZXkgfCAwKSA9PSBrZXkpXFxuICAgICAga2V5ID0ga2V5IHwgMDtcXG5cXG4gICAgdmFyIHZhbHVlID0gbWFwW2tleV07XFxuICAgIHJlc1t2YWx1ZV0gPSBrZXk7XFxuICB9KTtcXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5jb25zdGFudHMuZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvY29uc3RhbnRzL2Rlci5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJOdmJuTjBZVzUwY3k5cGJtUmxlQzVxY3o4M01XSTNJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdRVUZGU0R0QlFVTkJPenRCUVVWQkxHZENRVUZuUWl4dFFrRkJUeXhEUVVGRExDdEVRVUZQSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkZ6YmpFdWFuTXZiR2xpTDJGemJqRXZZMjl1YzNSaGJuUnpMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJR052Ym5OMFlXNTBjeUE5SUdWNGNHOXlkSE03WEc1Y2JpOHZJRWhsYkhCbGNseHVZMjl1YzNSaGJuUnpMbDl5WlhabGNuTmxJRDBnWm5WdVkzUnBiMjRnY21WMlpYSnpaU2h0WVhBcElIdGNiaUFnZG1GeUlISmxjeUE5SUh0OU8xeHVYRzRnSUU5aWFtVmpkQzVyWlhsektHMWhjQ2t1Wm05eVJXRmphQ2htZFc1amRHbHZiaWhyWlhrcElIdGNiaUFnSUNBdkx5QkRiMjUyWlhKMElHdGxlU0IwYnlCcGJuUmxaMlZ5SUdsbUlHbDBJR2x6SUhOMGNtbHVaMmxtYVdWa1hHNGdJQ0FnYVdZZ0tDaHJaWGtnZkNBd0tTQTlQU0JyWlhrcFhHNGdJQ0FnSUNCclpYa2dQU0JyWlhrZ2ZDQXdPMXh1WEc0Z0lDQWdkbUZ5SUhaaGJIVmxJRDBnYldGd1cydGxlVjA3WEc0Z0lDQWdjbVZ6VzNaaGJIVmxYU0E5SUd0bGVUdGNiaUFnZlNrN1hHNWNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzVjYm1OdmJuTjBZVzUwY3k1a1pYSWdQU0J5WlhGMWFYSmxLQ2N1TDJSbGNpY3BPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2NvbnN0YW50cy9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9kZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9kZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuXFxudmFyIGFzbjEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9hc24xICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIik7XFxudmFyIGJhc2UgPSBhc24xLmJhc2U7XFxudmFyIGJpZ251bSA9IGFzbjEuYmlnbnVtO1xcblxcbi8vIEltcG9ydCBERVIgY29uc3RhbnRzXFxudmFyIGRlciA9IGFzbjEuY29uc3RhbnRzLmRlcjtcXG5cXG5mdW5jdGlvbiBERVJEZWNvZGVyKGVudGl0eSkge1xcbiAgdGhpcy5lbmMgPSAnZGVyJztcXG4gIHRoaXMubmFtZSA9IGVudGl0eS5uYW1lO1xcbiAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XFxuXFxuICAvLyBDb25zdHJ1Y3QgYmFzZSB0cmVlXFxuICB0aGlzLnRyZWUgPSBuZXcgREVSTm9kZSgpO1xcbiAgdGhpcy50cmVlLl9pbml0KGVudGl0eS5ib2R5KTtcXG59O1xcbm1vZHVsZS5leHBvcnRzID0gREVSRGVjb2RlcjtcXG5cXG5ERVJEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoZGF0YSwgb3B0aW9ucykge1xcbiAgaWYgKCEoZGF0YSBpbnN0YW5jZW9mIGJhc2UuRGVjb2RlckJ1ZmZlcikpXFxuICAgIGRhdGEgPSBuZXcgYmFzZS5EZWNvZGVyQnVmZmVyKGRhdGEsIG9wdGlvbnMpO1xcblxcbiAgcmV0dXJuIHRoaXMudHJlZS5fZGVjb2RlKGRhdGEsIG9wdGlvbnMpO1xcbn07XFxuXFxuLy8gVHJlZSBtZXRob2RzXFxuXFxuZnVuY3Rpb24gREVSTm9kZShwYXJlbnQpIHtcXG4gIGJhc2UuTm9kZS5jYWxsKHRoaXMsICdkZXInLCBwYXJlbnQpO1xcbn1cXG5pbmhlcml0cyhERVJOb2RlLCBiYXNlLk5vZGUpO1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9wZWVrVGFnID0gZnVuY3Rpb24gcGVla1RhZyhidWZmZXIsIHRhZywgYW55KSB7XFxuICBpZiAoYnVmZmVyLmlzRW1wdHkoKSlcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgdmFyIHN0YXRlID0gYnVmZmVyLnNhdmUoKTtcXG4gIHZhciBkZWNvZGVkVGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlciwgJ0ZhaWxlZCB0byBwZWVrIHRhZzogXFxcIicgKyB0YWcgKyAnXFxcIicpO1xcbiAgaWYgKGJ1ZmZlci5pc0Vycm9yKGRlY29kZWRUYWcpKVxcbiAgICByZXR1cm4gZGVjb2RlZFRhZztcXG5cXG4gIGJ1ZmZlci5yZXN0b3JlKHN0YXRlKTtcXG5cXG4gIHJldHVybiBkZWNvZGVkVGFnLnRhZyA9PT0gdGFnIHx8IGRlY29kZWRUYWcudGFnU3RyID09PSB0YWcgfHxcXG4gICAgKGRlY29kZWRUYWcudGFnU3RyICsgJ29mJykgPT09IHRhZyB8fCBhbnk7XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlVGFnID0gZnVuY3Rpb24gZGVjb2RlVGFnKGJ1ZmZlciwgdGFnLCBhbnkpIHtcXG4gIHZhciBkZWNvZGVkVGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlcixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdGYWlsZWQgdG8gZGVjb2RlIHRhZyBvZiBcXFwiJyArIHRhZyArICdcXFwiJyk7XFxuICBpZiAoYnVmZmVyLmlzRXJyb3IoZGVjb2RlZFRhZykpXFxuICAgIHJldHVybiBkZWNvZGVkVGFnO1xcblxcbiAgdmFyIGxlbiA9IGRlckRlY29kZUxlbihidWZmZXIsXFxuICAgICAgICAgICAgICAgICAgICAgICAgIGRlY29kZWRUYWcucHJpbWl0aXZlLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAnRmFpbGVkIHRvIGdldCBsZW5ndGggb2YgXFxcIicgKyB0YWcgKyAnXFxcIicpO1xcblxcbiAgLy8gRmFpbHVyZVxcbiAgaWYgKGJ1ZmZlci5pc0Vycm9yKGxlbikpXFxuICAgIHJldHVybiBsZW47XFxuXFxuICBpZiAoIWFueSAmJlxcbiAgICAgIGRlY29kZWRUYWcudGFnICE9PSB0YWcgJiZcXG4gICAgICBkZWNvZGVkVGFnLnRhZ1N0ciAhPT0gdGFnICYmXFxuICAgICAgZGVjb2RlZFRhZy50YWdTdHIgKyAnb2YnICE9PSB0YWcpIHtcXG4gICAgcmV0dXJuIGJ1ZmZlci5lcnJvcignRmFpbGVkIHRvIG1hdGNoIHRhZzogXFxcIicgKyB0YWcgKyAnXFxcIicpO1xcbiAgfVxcblxcbiAgaWYgKGRlY29kZWRUYWcucHJpbWl0aXZlIHx8IGxlbiAhPT0gbnVsbClcXG4gICAgcmV0dXJuIGJ1ZmZlci5za2lwKGxlbiwgJ0ZhaWxlZCB0byBtYXRjaCBib2R5IG9mOiBcXFwiJyArIHRhZyArICdcXFwiJyk7XFxuXFxuICAvLyBJbmRlZmluaXRlIGxlbmd0aC4uLiBmaW5kIEVORCB0YWdcXG4gIHZhciBzdGF0ZSA9IGJ1ZmZlci5zYXZlKCk7XFxuICB2YXIgcmVzID0gdGhpcy5fc2tpcFVudGlsRW5kKFxcbiAgICAgIGJ1ZmZlcixcXG4gICAgICAnRmFpbGVkIHRvIHNraXAgaW5kZWZpbml0ZSBsZW5ndGggYm9keTogXFxcIicgKyB0aGlzLnRhZyArICdcXFwiJyk7XFxuICBpZiAoYnVmZmVyLmlzRXJyb3IocmVzKSlcXG4gICAgcmV0dXJuIHJlcztcXG5cXG4gIGxlbiA9IGJ1ZmZlci5vZmZzZXQgLSBzdGF0ZS5vZmZzZXQ7XFxuICBidWZmZXIucmVzdG9yZShzdGF0ZSk7XFxuICByZXR1cm4gYnVmZmVyLnNraXAobGVuLCAnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6IFxcXCInICsgdGFnICsgJ1xcXCInKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9za2lwVW50aWxFbmQgPSBmdW5jdGlvbiBza2lwVW50aWxFbmQoYnVmZmVyLCBmYWlsKSB7XFxuICB3aGlsZSAodHJ1ZSkge1xcbiAgICB2YXIgdGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlciwgZmFpbCk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcih0YWcpKVxcbiAgICAgIHJldHVybiB0YWc7XFxuICAgIHZhciBsZW4gPSBkZXJEZWNvZGVMZW4oYnVmZmVyLCB0YWcucHJpbWl0aXZlLCBmYWlsKTtcXG4gICAgaWYgKGJ1ZmZlci5pc0Vycm9yKGxlbikpXFxuICAgICAgcmV0dXJuIGxlbjtcXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKHRhZy5wcmltaXRpdmUgfHwgbGVuICE9PSBudWxsKVxcbiAgICAgIHJlcyA9IGJ1ZmZlci5za2lwKGxlbilcXG4gICAgZWxzZVxcbiAgICAgIHJlcyA9IHRoaXMuX3NraXBVbnRpbEVuZChidWZmZXIsIGZhaWwpO1xcblxcbiAgICAvLyBGYWlsdXJlXFxuICAgIGlmIChidWZmZXIuaXNFcnJvcihyZXMpKVxcbiAgICAgIHJldHVybiByZXM7XFxuXFxuICAgIGlmICh0YWcudGFnU3RyID09PSAnZW5kJylcXG4gICAgICBicmVhaztcXG4gIH1cXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVMaXN0ID0gZnVuY3Rpb24gZGVjb2RlTGlzdChidWZmZXIsIHRhZywgZGVjb2RlcixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucykge1xcbiAgdmFyIHJlc3VsdCA9IFtdO1xcbiAgd2hpbGUgKCFidWZmZXIuaXNFbXB0eSgpKSB7XFxuICAgIHZhciBwb3NzaWJsZUVuZCA9IHRoaXMuX3BlZWtUYWcoYnVmZmVyLCAnZW5kJyk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcihwb3NzaWJsZUVuZCkpXFxuICAgICAgcmV0dXJuIHBvc3NpYmxlRW5kO1xcblxcbiAgICB2YXIgcmVzID0gZGVjb2Rlci5kZWNvZGUoYnVmZmVyLCAnZGVyJywgb3B0aW9ucyk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcihyZXMpICYmIHBvc3NpYmxlRW5kKVxcbiAgICAgIGJyZWFrO1xcbiAgICByZXN1bHQucHVzaChyZXMpO1xcbiAgfVxcbiAgcmV0dXJuIHJlc3VsdDtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVTdHIgPSBmdW5jdGlvbiBkZWNvZGVTdHIoYnVmZmVyLCB0YWcpIHtcXG4gIGlmICh0YWcgPT09ICdiaXRzdHInKSB7XFxuICAgIHZhciB1bnVzZWQgPSBidWZmZXIucmVhZFVJbnQ4KCk7XFxuICAgIGlmIChidWZmZXIuaXNFcnJvcih1bnVzZWQpKVxcbiAgICAgIHJldHVybiB1bnVzZWQ7XFxuICAgIHJldHVybiB7IHVudXNlZDogdW51c2VkLCBkYXRhOiBidWZmZXIucmF3KCkgfTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAnYm1wc3RyJykge1xcbiAgICB2YXIgcmF3ID0gYnVmZmVyLnJhdygpO1xcbiAgICBpZiAocmF3Lmxlbmd0aCAlIDIgPT09IDEpXFxuICAgICAgcmV0dXJuIGJ1ZmZlci5lcnJvcignRGVjb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6IGJtcHN0ciBsZW5ndGggbWlzbWF0Y2gnKTtcXG5cXG4gICAgdmFyIHN0ciA9ICcnO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJhdy5sZW5ndGggLyAyOyBpKyspIHtcXG4gICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShyYXcucmVhZFVJbnQxNkJFKGkgKiAyKSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHN0cjtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAnbnVtc3RyJykge1xcbiAgICB2YXIgbnVtc3RyID0gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCdhc2NpaScpO1xcbiAgICBpZiAoIXRoaXMuX2lzTnVtc3RyKG51bXN0cikpIHtcXG4gICAgICByZXR1cm4gYnVmZmVyLmVycm9yKCdEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnbnVtc3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gbnVtc3RyO1xcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdvY3RzdHInKSB7XFxuICAgIHJldHVybiBidWZmZXIucmF3KCk7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ29iakRlc2MnKSB7XFxuICAgIHJldHVybiBidWZmZXIucmF3KCk7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3ByaW50c3RyJykge1xcbiAgICB2YXIgcHJpbnRzdHIgPSBidWZmZXIucmF3KCkudG9TdHJpbmcoJ2FzY2lpJyk7XFxuICAgIGlmICghdGhpcy5faXNQcmludHN0cihwcmludHN0cikpIHtcXG4gICAgICByZXR1cm4gYnVmZmVyLmVycm9yKCdEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAncHJpbnRzdHIgdW5zdXBwb3J0ZWQgY2hhcmFjdGVycycpO1xcbiAgICB9XFxuICAgIHJldHVybiBwcmludHN0cjtcXG4gIH0gZWxzZSBpZiAoL3N0ciQvLnRlc3QodGFnKSkge1xcbiAgICByZXR1cm4gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCk7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gYnVmZmVyLmVycm9yKCdEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArIHRhZyArICcgdW5zdXBwb3J0ZWQnKTtcXG4gIH1cXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVPYmppZCA9IGZ1bmN0aW9uIGRlY29kZU9iamlkKGJ1ZmZlciwgdmFsdWVzLCByZWxhdGl2ZSkge1xcbiAgdmFyIHJlc3VsdDtcXG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xcbiAgdmFyIGlkZW50ID0gMDtcXG4gIHdoaWxlICghYnVmZmVyLmlzRW1wdHkoKSkge1xcbiAgICB2YXIgc3ViaWRlbnQgPSBidWZmZXIucmVhZFVJbnQ4KCk7XFxuICAgIGlkZW50IDw8PSA3O1xcbiAgICBpZGVudCB8PSBzdWJpZGVudCAmIDB4N2Y7XFxuICAgIGlmICgoc3ViaWRlbnQgJiAweDgwKSA9PT0gMCkge1xcbiAgICAgIGlkZW50aWZpZXJzLnB1c2goaWRlbnQpO1xcbiAgICAgIGlkZW50ID0gMDtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHN1YmlkZW50ICYgMHg4MClcXG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudCk7XFxuXFxuICB2YXIgZmlyc3QgPSAoaWRlbnRpZmllcnNbMF0gLyA0MCkgfCAwO1xcbiAgdmFyIHNlY29uZCA9IGlkZW50aWZpZXJzWzBdICUgNDA7XFxuXFxuICBpZiAocmVsYXRpdmUpXFxuICAgIHJlc3VsdCA9IGlkZW50aWZpZXJzO1xcbiAgZWxzZVxcbiAgICByZXN1bHQgPSBbZmlyc3QsIHNlY29uZF0uY29uY2F0KGlkZW50aWZpZXJzLnNsaWNlKDEpKTtcXG5cXG4gIGlmICh2YWx1ZXMpIHtcXG4gICAgdmFyIHRtcCA9IHZhbHVlc1tyZXN1bHQuam9pbignICcpXTtcXG4gICAgaWYgKHRtcCA9PT0gdW5kZWZpbmVkKVxcbiAgICAgIHRtcCA9IHZhbHVlc1tyZXN1bHQuam9pbignLicpXTtcXG4gICAgaWYgKHRtcCAhPT0gdW5kZWZpbmVkKVxcbiAgICAgIHJlc3VsdCA9IHRtcDtcXG4gIH1cXG5cXG4gIHJldHVybiByZXN1bHQ7XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlVGltZSA9IGZ1bmN0aW9uIGRlY29kZVRpbWUoYnVmZmVyLCB0YWcpIHtcXG4gIHZhciBzdHIgPSBidWZmZXIucmF3KCkudG9TdHJpbmcoKTtcXG4gIGlmICh0YWcgPT09ICdnZW50aW1lJykge1xcbiAgICB2YXIgeWVhciA9IHN0ci5zbGljZSgwLCA0KSB8IDA7XFxuICAgIHZhciBtb24gPSBzdHIuc2xpY2UoNCwgNikgfCAwO1xcbiAgICB2YXIgZGF5ID0gc3RyLnNsaWNlKDYsIDgpIHwgMDtcXG4gICAgdmFyIGhvdXIgPSBzdHIuc2xpY2UoOCwgMTApIHwgMDtcXG4gICAgdmFyIG1pbiA9IHN0ci5zbGljZSgxMCwgMTIpIHwgMDtcXG4gICAgdmFyIHNlYyA9IHN0ci5zbGljZSgxMiwgMTQpIHwgMDtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAndXRjdGltZScpIHtcXG4gICAgdmFyIHllYXIgPSBzdHIuc2xpY2UoMCwgMikgfCAwO1xcbiAgICB2YXIgbW9uID0gc3RyLnNsaWNlKDIsIDQpIHwgMDtcXG4gICAgdmFyIGRheSA9IHN0ci5zbGljZSg0LCA2KSB8IDA7XFxuICAgIHZhciBob3VyID0gc3RyLnNsaWNlKDYsIDgpIHwgMDtcXG4gICAgdmFyIG1pbiA9IHN0ci5zbGljZSg4LCAxMCkgfCAwO1xcbiAgICB2YXIgc2VjID0gc3RyLnNsaWNlKDEwLCAxMikgfCAwO1xcbiAgICBpZiAoeWVhciA8IDcwKVxcbiAgICAgIHllYXIgPSAyMDAwICsgeWVhcjtcXG4gICAgZWxzZVxcbiAgICAgIHllYXIgPSAxOTAwICsgeWVhcjtcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nICcgKyB0YWcgKyAnIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQnKTtcXG4gIH1cXG5cXG4gIHJldHVybiBEYXRlLlVUQyh5ZWFyLCBtb24gLSAxLCBkYXksIGhvdXIsIG1pbiwgc2VjLCAwKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVOdWxsID0gZnVuY3Rpb24gZGVjb2RlTnVsbChidWZmZXIpIHtcXG4gIHJldHVybiBudWxsO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2RlY29kZUJvb2wgPSBmdW5jdGlvbiBkZWNvZGVCb29sKGJ1ZmZlcikge1xcbiAgdmFyIHJlcyA9IGJ1ZmZlci5yZWFkVUludDgoKTtcXG4gIGlmIChidWZmZXIuaXNFcnJvcihyZXMpKVxcbiAgICByZXR1cm4gcmVzO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gcmVzICE9PSAwO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2RlY29kZUludCA9IGZ1bmN0aW9uIGRlY29kZUludChidWZmZXIsIHZhbHVlcykge1xcbiAgLy8gQmlnaW50LCByZXR1cm4gYXMgaXQgaXMgKGFzc3VtZSBiaWcgZW5kaWFuKVxcbiAgdmFyIHJhdyA9IGJ1ZmZlci5yYXcoKTtcXG4gIHZhciByZXMgPSBuZXcgYmlnbnVtKHJhdyk7XFxuXFxuICBpZiAodmFsdWVzKVxcbiAgICByZXMgPSB2YWx1ZXNbcmVzLnRvU3RyaW5nKDEwKV0gfHwgcmVzO1xcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl91c2UgPSBmdW5jdGlvbiB1c2UoZW50aXR5LCBvYmopIHtcXG4gIGlmICh0eXBlb2YgZW50aXR5ID09PSAnZnVuY3Rpb24nKVxcbiAgICBlbnRpdHkgPSBlbnRpdHkob2JqKTtcXG4gIHJldHVybiBlbnRpdHkuX2dldERlY29kZXIoJ2RlcicpLnRyZWU7XFxufTtcXG5cXG4vLyBVdGlsaXR5IG1ldGhvZHNcXG5cXG5mdW5jdGlvbiBkZXJEZWNvZGVUYWcoYnVmLCBmYWlsKSB7XFxuICB2YXIgdGFnID0gYnVmLnJlYWRVSW50OChmYWlsKTtcXG4gIGlmIChidWYuaXNFcnJvcih0YWcpKVxcbiAgICByZXR1cm4gdGFnO1xcblxcbiAgdmFyIGNscyA9IGRlci50YWdDbGFzc1t0YWcgPj4gNl07XFxuICB2YXIgcHJpbWl0aXZlID0gKHRhZyAmIDB4MjApID09PSAwO1xcblxcbiAgLy8gTXVsdGktb2N0ZXQgdGFnIC0gbG9hZFxcbiAgaWYgKCh0YWcgJiAweDFmKSA9PT0gMHgxZikge1xcbiAgICB2YXIgb2N0ID0gdGFnO1xcbiAgICB0YWcgPSAwO1xcbiAgICB3aGlsZSAoKG9jdCAmIDB4ODApID09PSAweDgwKSB7XFxuICAgICAgb2N0ID0gYnVmLnJlYWRVSW50OChmYWlsKTtcXG4gICAgICBpZiAoYnVmLmlzRXJyb3Iob2N0KSlcXG4gICAgICAgIHJldHVybiBvY3Q7XFxuXFxuICAgICAgdGFnIDw8PSA3O1xcbiAgICAgIHRhZyB8PSBvY3QgJiAweDdmO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICB0YWcgJj0gMHgxZjtcXG4gIH1cXG4gIHZhciB0YWdTdHIgPSBkZXIudGFnW3RhZ107XFxuXFxuICByZXR1cm4ge1xcbiAgICBjbHM6IGNscyxcXG4gICAgcHJpbWl0aXZlOiBwcmltaXRpdmUsXFxuICAgIHRhZzogdGFnLFxcbiAgICB0YWdTdHI6IHRhZ1N0clxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gZGVyRGVjb2RlTGVuKGJ1ZiwgcHJpbWl0aXZlLCBmYWlsKSB7XFxuICB2YXIgbGVuID0gYnVmLnJlYWRVSW50OChmYWlsKTtcXG4gIGlmIChidWYuaXNFcnJvcihsZW4pKVxcbiAgICByZXR1cm4gbGVuO1xcblxcbiAgLy8gSW5kZWZpbml0ZSBmb3JtXFxuICBpZiAoIXByaW1pdGl2ZSAmJiBsZW4gPT09IDB4ODApXFxuICAgIHJldHVybiBudWxsO1xcblxcbiAgLy8gRGVmaW5pdGUgZm9ybVxcbiAgaWYgKChsZW4gJiAweDgwKSA9PT0gMCkge1xcbiAgICAvLyBTaG9ydCBmb3JtXFxuICAgIHJldHVybiBsZW47XFxuICB9XFxuXFxuICAvLyBMb25nIGZvcm1cXG4gIHZhciBudW0gPSBsZW4gJiAweDdmO1xcbiAgaWYgKG51bSA+IDQpXFxuICAgIHJldHVybiBidWYuZXJyb3IoJ2xlbmd0aCBvY3RlY3QgaXMgdG9vIGxvbmcnKTtcXG5cXG4gIGxlbiA9IDA7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IG51bTsgaSsrKSB7XFxuICAgIGxlbiA8PD0gODtcXG4gICAgdmFyIGogPSBidWYucmVhZFVJbnQ4KGZhaWwpO1xcbiAgICBpZiAoYnVmLmlzRXJyb3IoaikpXFxuICAgICAgcmV0dXJuIGo7XFxuICAgIGxlbiB8PSBqO1xcbiAgfVxcblxcbiAgcmV0dXJuIGxlbjtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlJsWTI5a1pYSnpMMlJsY2k1cWN6OWlOVGM0SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTXNWMEZCVnl4dFFrRkJUeXhEUVVGRExITkVRVUZaTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmxCUVZrN1FVRkRXaXhIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEc5Q1FVRnZRanRCUVVOMlF6dEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsQ1FVRnBRaXhUUVVGVE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkZ6YmpFdWFuTXZiR2xpTDJGemJqRXZaR1ZqYjJSbGNuTXZaR1Z5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlHbHVhR1Z5YVhSeklEMGdjbVZ4ZFdseVpTZ25hVzVvWlhKcGRITW5LVHRjYmx4dWRtRnlJR0Z6YmpFZ1BTQnlaWEYxYVhKbEtDY3VMaTh1TGk5aGMyNHhKeWs3WEc1MllYSWdZbUZ6WlNBOUlHRnpiakV1WW1GelpUdGNiblpoY2lCaWFXZHVkVzBnUFNCaGMyNHhMbUpwWjI1MWJUdGNibHh1THk4Z1NXMXdiM0owSUVSRlVpQmpiMjV6ZEdGdWRITmNiblpoY2lCa1pYSWdQU0JoYzI0eExtTnZibk4wWVc1MGN5NWtaWEk3WEc1Y2JtWjFibU4wYVc5dUlFUkZVa1JsWTI5a1pYSW9aVzUwYVhSNUtTQjdYRzRnSUhSb2FYTXVaVzVqSUQwZ0oyUmxjaWM3WEc0Z0lIUm9hWE11Ym1GdFpTQTlJR1Z1ZEdsMGVTNXVZVzFsTzF4dUlDQjBhR2x6TG1WdWRHbDBlU0E5SUdWdWRHbDBlVHRjYmx4dUlDQXZMeUJEYjI1emRISjFZM1FnWW1GelpTQjBjbVZsWEc0Z0lIUm9hWE11ZEhKbFpTQTlJRzVsZHlCRVJWSk9iMlJsS0NrN1hHNGdJSFJvYVhNdWRISmxaUzVmYVc1cGRDaGxiblJwZEhrdVltOWtlU2s3WEc1OU8xeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQkVSVkpFWldOdlpHVnlPMXh1WEc1RVJWSkVaV052WkdWeUxuQnliM1J2ZEhsd1pTNWtaV052WkdVZ1BTQm1kVzVqZEdsdmJpQmtaV052WkdVb1pHRjBZU3dnYjNCMGFXOXVjeWtnZTF4dUlDQnBaaUFvSVNoa1lYUmhJR2x1YzNSaGJtTmxiMllnWW1GelpTNUVaV052WkdWeVFuVm1abVZ5S1NsY2JpQWdJQ0JrWVhSaElEMGdibVYzSUdKaGMyVXVSR1ZqYjJSbGNrSjFabVpsY2loa1lYUmhMQ0J2Y0hScGIyNXpLVHRjYmx4dUlDQnlaWFIxY200Z2RHaHBjeTUwY21WbExsOWtaV052WkdVb1pHRjBZU3dnYjNCMGFXOXVjeWs3WEc1OU8xeHVYRzR2THlCVWNtVmxJRzFsZEdodlpITmNibHh1Wm5WdVkzUnBiMjRnUkVWU1RtOWtaU2h3WVhKbGJuUXBJSHRjYmlBZ1ltRnpaUzVPYjJSbExtTmhiR3dvZEdocGN5d2dKMlJsY2ljc0lIQmhjbVZ1ZENrN1hHNTlYRzVwYm1obGNtbDBjeWhFUlZKT2IyUmxMQ0JpWVhObExrNXZaR1VwTzF4dVhHNUVSVkpPYjJSbExuQnliM1J2ZEhsd1pTNWZjR1ZsYTFSaFp5QTlJR1oxYm1OMGFXOXVJSEJsWld0VVlXY29ZblZtWm1WeUxDQjBZV2NzSUdGdWVTa2dlMXh1SUNCcFppQW9ZblZtWm1WeUxtbHpSVzF3ZEhrb0tTbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ2RtRnlJSE4wWVhSbElEMGdZblZtWm1WeUxuTmhkbVVvS1R0Y2JpQWdkbUZ5SUdSbFkyOWtaV1JVWVdjZ1BTQmtaWEpFWldOdlpHVlVZV2NvWW5WbVptVnlMQ0FuUm1GcGJHVmtJSFJ2SUhCbFpXc2dkR0ZuT2lCY0lpY2dLeUIwWVdjZ0t5QW5YQ0luS1R0Y2JpQWdhV1lnS0dKMVptWmxjaTVwYzBWeWNtOXlLR1JsWTI5a1pXUlVZV2NwS1Z4dUlDQWdJSEpsZEhWeWJpQmtaV052WkdWa1ZHRm5PMXh1WEc0Z0lHSjFabVpsY2k1eVpYTjBiM0psS0hOMFlYUmxLVHRjYmx4dUlDQnlaWFIxY200Z1pHVmpiMlJsWkZSaFp5NTBZV2NnUFQwOUlIUmhaeUI4ZkNCa1pXTnZaR1ZrVkdGbkxuUmhaMU4wY2lBOVBUMGdkR0ZuSUh4OFhHNGdJQ0FnS0dSbFkyOWtaV1JVWVdjdWRHRm5VM1J5SUNzZ0oyOW1KeWtnUFQwOUlIUmhaeUI4ZkNCaGJuazdYRzU5TzF4dVhHNUVSVkpPYjJSbExuQnliM1J2ZEhsd1pTNWZaR1ZqYjJSbFZHRm5JRDBnWm5WdVkzUnBiMjRnWkdWamIyUmxWR0ZuS0dKMVptWmxjaXdnZEdGbkxDQmhibmtwSUh0Y2JpQWdkbUZ5SUdSbFkyOWtaV1JVWVdjZ1BTQmtaWEpFWldOdlpHVlVZV2NvWW5WbVptVnlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5SbUZwYkdWa0lIUnZJR1JsWTI5a1pTQjBZV2NnYjJZZ1hDSW5JQ3NnZEdGbklDc2dKMXdpSnlrN1hHNGdJR2xtSUNoaWRXWm1aWEl1YVhORmNuSnZjaWhrWldOdlpHVmtWR0ZuS1NsY2JpQWdJQ0J5WlhSMWNtNGdaR1ZqYjJSbFpGUmhaenRjYmx4dUlDQjJZWElnYkdWdUlEMGdaR1Z5UkdWamIyUmxUR1Z1S0dKMVptWmxjaXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JrWldOdlpHVmtWR0ZuTG5CeWFXMXBkR2wyWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBblJtRnBiR1ZrSUhSdklHZGxkQ0JzWlc1bmRHZ2diMllnWENJbklDc2dkR0ZuSUNzZ0oxd2lKeWs3WEc1Y2JpQWdMeThnUm1GcGJIVnlaVnh1SUNCcFppQW9ZblZtWm1WeUxtbHpSWEp5YjNJb2JHVnVLU2xjYmlBZ0lDQnlaWFIxY200Z2JHVnVPMXh1WEc0Z0lHbG1JQ2doWVc1NUlDWW1YRzRnSUNBZ0lDQmtaV052WkdWa1ZHRm5MblJoWnlBaFBUMGdkR0ZuSUNZbVhHNGdJQ0FnSUNCa1pXTnZaR1ZrVkdGbkxuUmhaMU4wY2lBaFBUMGdkR0ZuSUNZbVhHNGdJQ0FnSUNCa1pXTnZaR1ZrVkdGbkxuUmhaMU4wY2lBcklDZHZaaWNnSVQwOUlIUmhaeWtnZTF4dUlDQWdJSEpsZEhWeWJpQmlkV1ptWlhJdVpYSnliM0lvSjBaaGFXeGxaQ0IwYnlCdFlYUmphQ0IwWVdjNklGd2lKeUFySUhSaFp5QXJJQ2RjSWljcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dSbFkyOWtaV1JVWVdjdWNISnBiV2wwYVhabElIeDhJR3hsYmlBaFBUMGdiblZzYkNsY2JpQWdJQ0J5WlhSMWNtNGdZblZtWm1WeUxuTnJhWEFvYkdWdUxDQW5SbUZwYkdWa0lIUnZJRzFoZEdOb0lHSnZaSGtnYjJZNklGd2lKeUFySUhSaFp5QXJJQ2RjSWljcE8xeHVYRzRnSUM4dklFbHVaR1ZtYVc1cGRHVWdiR1Z1WjNSb0xpNHVJR1pwYm1RZ1JVNUVJSFJoWjF4dUlDQjJZWElnYzNSaGRHVWdQU0JpZFdabVpYSXVjMkYyWlNncE8xeHVJQ0IyWVhJZ2NtVnpJRDBnZEdocGN5NWZjMnRwY0ZWdWRHbHNSVzVrS0Z4dUlDQWdJQ0FnWW5WbVptVnlMRnh1SUNBZ0lDQWdKMFpoYVd4bFpDQjBieUJ6YTJsd0lHbHVaR1ZtYVc1cGRHVWdiR1Z1WjNSb0lHSnZaSGs2SUZ3aUp5QXJJSFJvYVhNdWRHRm5JQ3NnSjF3aUp5azdYRzRnSUdsbUlDaGlkV1ptWlhJdWFYTkZjbkp2Y2loeVpYTXBLVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzVjYmlBZ2JHVnVJRDBnWW5WbVptVnlMbTltWm5ObGRDQXRJSE4wWVhSbExtOW1abk5sZER0Y2JpQWdZblZtWm1WeUxuSmxjM1J2Y21Vb2MzUmhkR1VwTzF4dUlDQnlaWFIxY200Z1luVm1abVZ5TG5OcmFYQW9iR1Z1TENBblJtRnBiR1ZrSUhSdklHMWhkR05vSUdKdlpIa2diMlk2SUZ3aUp5QXJJSFJoWnlBcklDZGNJaWNwTzF4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDNOcmFYQlZiblJwYkVWdVpDQTlJR1oxYm1OMGFXOXVJSE5yYVhCVmJuUnBiRVZ1WkNoaWRXWm1aWElzSUdaaGFXd3BJSHRjYmlBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQjJZWElnZEdGbklEMGdaR1Z5UkdWamIyUmxWR0ZuS0dKMVptWmxjaXdnWm1GcGJDazdYRzRnSUNBZ2FXWWdLR0oxWm1abGNpNXBjMFZ5Y205eUtIUmhaeWtwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR0ZuTzF4dUlDQWdJSFpoY2lCc1pXNGdQU0JrWlhKRVpXTnZaR1ZNWlc0b1luVm1abVZ5TENCMFlXY3VjSEpwYldsMGFYWmxMQ0JtWVdsc0tUdGNiaUFnSUNCcFppQW9ZblZtWm1WeUxtbHpSWEp5YjNJb2JHVnVLU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQnNaVzQ3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2gwWVdjdWNISnBiV2wwYVhabElIeDhJR3hsYmlBaFBUMGdiblZzYkNsY2JpQWdJQ0FnSUhKbGN5QTlJR0oxWm1abGNpNXphMmx3S0d4bGJpbGNiaUFnSUNCbGJITmxYRzRnSUNBZ0lDQnlaWE1nUFNCMGFHbHpMbDl6YTJsd1ZXNTBhV3hGYm1Rb1luVm1abVZ5TENCbVlXbHNLVHRjYmx4dUlDQWdJQzh2SUVaaGFXeDFjbVZjYmlBZ0lDQnBaaUFvWW5WbVptVnlMbWx6UlhKeWIzSW9jbVZ6S1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNWNiaUFnSUNCcFppQW9kR0ZuTG5SaFoxTjBjaUE5UFQwZ0oyVnVaQ2NwWEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnZlZ4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJSbFkyOWtaVXhwYzNRZ1BTQm1kVzVqZEdsdmJpQmtaV052WkdWTWFYTjBLR0oxWm1abGNpd2dkR0ZuTENCa1pXTnZaR1Z5TEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5d2RHbHZibk1wSUh0Y2JpQWdkbUZ5SUhKbGMzVnNkQ0E5SUZ0ZE8xeHVJQ0IzYUdsc1pTQW9JV0oxWm1abGNpNXBjMFZ0Y0hSNUtDa3BJSHRjYmlBZ0lDQjJZWElnY0c5emMybGliR1ZGYm1RZ1BTQjBhR2x6TGw5d1pXVnJWR0ZuS0dKMVptWmxjaXdnSjJWdVpDY3BPMXh1SUNBZ0lHbG1JQ2hpZFdabVpYSXVhWE5GY25KdmNpaHdiM056YVdKc1pVVnVaQ2twWEc0Z0lDQWdJQ0J5WlhSMWNtNGdjRzl6YzJsaWJHVkZibVE3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWkdWamIyUmxjaTVrWldOdlpHVW9ZblZtWm1WeUxDQW5aR1Z5Snl3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnYVdZZ0tHSjFabVpsY2k1cGMwVnljbTl5S0hKbGN5a2dKaVlnY0c5emMybGliR1ZGYm1RcFhHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQnlaWE4xYkhRdWNIVnphQ2h5WlhNcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OU8xeHVYRzVFUlZKT2IyUmxMbkJ5YjNSdmRIbHdaUzVmWkdWamIyUmxVM1J5SUQwZ1puVnVZM1JwYjI0Z1pHVmpiMlJsVTNSeUtHSjFabVpsY2l3Z2RHRm5LU0I3WEc0Z0lHbG1JQ2gwWVdjZ1BUMDlJQ2RpYVhSemRISW5LU0I3WEc0Z0lDQWdkbUZ5SUhWdWRYTmxaQ0E5SUdKMVptWmxjaTV5WldGa1ZVbHVkRGdvS1R0Y2JpQWdJQ0JwWmlBb1luVm1abVZ5TG1selJYSnliM0lvZFc1MWMyVmtLU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQjFiblZ6WldRN1hHNGdJQ0FnY21WMGRYSnVJSHNnZFc1MWMyVmtPaUIxYm5WelpXUXNJR1JoZEdFNklHSjFabVpsY2k1eVlYY29LU0I5TzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFJoWnlBOVBUMGdKMkp0Y0hOMGNpY3BJSHRjYmlBZ0lDQjJZWElnY21GM0lEMGdZblZtWm1WeUxuSmhkeWdwTzF4dUlDQWdJR2xtSUNoeVlYY3ViR1Z1WjNSb0lDVWdNaUE5UFQwZ01TbGNiaUFnSUNBZ0lISmxkSFZ5YmlCaWRXWm1aWEl1WlhKeWIzSW9KMFJsWTI5a2FXNW5JRzltSUhOMGNtbHVaeUIwZVhCbE9pQmliWEJ6ZEhJZ2JHVnVaM1JvSUcxcGMyMWhkR05vSnlrN1hHNWNiaUFnSUNCMllYSWdjM1J5SUQwZ0p5YzdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnlZWGN1YkdWdVozUm9JQzhnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J6ZEhJZ0t6MGdVM1J5YVc1bkxtWnliMjFEYUdGeVEyOWtaU2h5WVhjdWNtVmhaRlZKYm5ReE5rSkZLR2tnS2lBeUtTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ6ZEhJN1hHNGdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYm5WdGMzUnlKeWtnZTF4dUlDQWdJSFpoY2lCdWRXMXpkSElnUFNCaWRXWm1aWEl1Y21GM0tDa3VkRzlUZEhKcGJtY29KMkZ6WTJscEp5azdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOXBjMDUxYlhOMGNpaHVkVzF6ZEhJcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1luVm1abVZ5TG1WeWNtOXlLQ2RFWldOdlpHbHVaeUJ2WmlCemRISnBibWNnZEhsd1pUb2dKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNkdWRXMXpkSElnZFc1emRYQndiM0owWldRZ1kyaGhjbUZqZEdWeWN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdGMzUnlPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUmhaeUE5UFQwZ0oyOWpkSE4wY2ljcElIdGNiaUFnSUNCeVpYUjFjbTRnWW5WbVptVnlMbkpoZHlncE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnSjI5aWFrUmxjMk1uS1NCN1hHNGdJQ0FnY21WMGRYSnVJR0oxWm1abGNpNXlZWGNvS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2gwWVdjZ1BUMDlJQ2R3Y21sdWRITjBjaWNwSUh0Y2JpQWdJQ0IyWVhJZ2NISnBiblJ6ZEhJZ1BTQmlkV1ptWlhJdWNtRjNLQ2t1ZEc5VGRISnBibWNvSjJGelkybHBKeWs3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlwYzFCeWFXNTBjM1J5S0hCeWFXNTBjM1J5S1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdKMVptWmxjaTVsY25KdmNpZ25SR1ZqYjJScGJtY2diMllnYzNSeWFXNW5JSFI1Y0dVNklDY2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuY0hKcGJuUnpkSElnZFc1emRYQndiM0owWldRZ1kyaGhjbUZqZEdWeWN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY0hKcGJuUnpkSEk3WEc0Z0lIMGdaV3h6WlNCcFppQW9MM04wY2lRdkxuUmxjM1FvZEdGbktTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCaWRXWm1aWEl1Y21GM0tDa3VkRzlUZEhKcGJtY29LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZblZtWm1WeUxtVnljbTl5S0NkRVpXTnZaR2x1WnlCdlppQnpkSEpwYm1jZ2RIbHdaVG9nSnlBcklIUmhaeUFySUNjZ2RXNXpkWEJ3YjNKMFpXUW5LVHRjYmlBZ2ZWeHVmVHRjYmx4dVJFVlNUbTlrWlM1d2NtOTBiM1I1Y0dVdVgyUmxZMjlrWlU5aWFtbGtJRDBnWm5WdVkzUnBiMjRnWkdWamIyUmxUMkpxYVdRb1luVm1abVZ5TENCMllXeDFaWE1zSUhKbGJHRjBhWFpsS1NCN1hHNGdJSFpoY2lCeVpYTjFiSFE3WEc0Z0lIWmhjaUJwWkdWdWRHbG1hV1Z5Y3lBOUlGdGRPMXh1SUNCMllYSWdhV1JsYm5RZ1BTQXdPMXh1SUNCM2FHbHNaU0FvSVdKMVptWmxjaTVwYzBWdGNIUjVLQ2twSUh0Y2JpQWdJQ0IyWVhJZ2MzVmlhV1JsYm5RZ1BTQmlkV1ptWlhJdWNtVmhaRlZKYm5RNEtDazdYRzRnSUNBZ2FXUmxiblFnUER3OUlEYzdYRzRnSUNBZ2FXUmxiblFnZkQwZ2MzVmlhV1JsYm5RZ0ppQXdlRGRtTzF4dUlDQWdJR2xtSUNnb2MzVmlhV1JsYm5RZ0ppQXdlRGd3S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVdSbGJuUnBabWxsY25NdWNIVnphQ2hwWkdWdWRDazdYRzRnSUNBZ0lDQnBaR1Z1ZENBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHbG1JQ2h6ZFdKcFpHVnVkQ0FtSURCNE9EQXBYRzRnSUNBZ2FXUmxiblJwWm1sbGNuTXVjSFZ6YUNocFpHVnVkQ2s3WEc1Y2JpQWdkbUZ5SUdacGNuTjBJRDBnS0dsa1pXNTBhV1pwWlhKeld6QmRJQzhnTkRBcElId2dNRHRjYmlBZ2RtRnlJSE5sWTI5dVpDQTlJR2xrWlc1MGFXWnBaWEp6V3pCZElDVWdOREE3WEc1Y2JpQWdhV1lnS0hKbGJHRjBhWFpsS1Z4dUlDQWdJSEpsYzNWc2RDQTlJR2xrWlc1MGFXWnBaWEp6TzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVZ6ZFd4MElEMGdXMlpwY25OMExDQnpaV052Ym1SZExtTnZibU5oZENocFpHVnVkR2xtYVdWeWN5NXpiR2xqWlNneEtTazdYRzVjYmlBZ2FXWWdLSFpoYkhWbGN5a2dlMXh1SUNBZ0lIWmhjaUIwYlhBZ1BTQjJZV3gxWlhOYmNtVnpkV3gwTG1wdmFXNG9KeUFuS1YwN1hHNGdJQ0FnYVdZZ0tIUnRjQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUNBZ2RHMXdJRDBnZG1Gc2RXVnpXM0psYzNWc2RDNXFiMmx1S0NjdUp5bGRPMXh1SUNBZ0lHbG1JQ2gwYlhBZ0lUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQWdJSEpsYzNWc2RDQTlJSFJ0Y0R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OU8xeHVYRzVFUlZKT2IyUmxMbkJ5YjNSdmRIbHdaUzVmWkdWamIyUmxWR2x0WlNBOUlHWjFibU4wYVc5dUlHUmxZMjlrWlZScGJXVW9ZblZtWm1WeUxDQjBZV2NwSUh0Y2JpQWdkbUZ5SUhOMGNpQTlJR0oxWm1abGNpNXlZWGNvS1M1MGIxTjBjbWx1WnlncE8xeHVJQ0JwWmlBb2RHRm5JRDA5UFNBbloyVnVkR2x0WlNjcElIdGNiaUFnSUNCMllYSWdlV1ZoY2lBOUlITjBjaTV6YkdsalpTZ3dMQ0EwS1NCOElEQTdYRzRnSUNBZ2RtRnlJRzF2YmlBOUlITjBjaTV6YkdsalpTZzBMQ0EyS1NCOElEQTdYRzRnSUNBZ2RtRnlJR1JoZVNBOUlITjBjaTV6YkdsalpTZzJMQ0E0S1NCOElEQTdYRzRnSUNBZ2RtRnlJR2h2ZFhJZ1BTQnpkSEl1YzJ4cFkyVW9PQ3dnTVRBcElId2dNRHRjYmlBZ0lDQjJZWElnYldsdUlEMGdjM1J5TG5Oc2FXTmxLREV3TENBeE1pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCelpXTWdQU0J6ZEhJdWMyeHBZMlVvTVRJc0lERTBLU0I4SURBN1hHNGdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuZFhSamRHbHRaU2NwSUh0Y2JpQWdJQ0IyWVhJZ2VXVmhjaUE5SUhOMGNpNXpiR2xqWlNnd0xDQXlLU0I4SURBN1hHNGdJQ0FnZG1GeUlHMXZiaUE5SUhOMGNpNXpiR2xqWlNneUxDQTBLU0I4SURBN1hHNGdJQ0FnZG1GeUlHUmhlU0E5SUhOMGNpNXpiR2xqWlNnMExDQTJLU0I4SURBN1hHNGdJQ0FnZG1GeUlHaHZkWElnUFNCemRISXVjMnhwWTJVb05pd2dPQ2tnZkNBd08xeHVJQ0FnSUhaaGNpQnRhVzRnUFNCemRISXVjMnhwWTJVb09Dd2dNVEFwSUh3Z01EdGNiaUFnSUNCMllYSWdjMlZqSUQwZ2MzUnlMbk5zYVdObEtERXdMQ0F4TWlrZ2ZDQXdPMXh1SUNBZ0lHbG1JQ2g1WldGeUlEd2dOekFwWEc0Z0lDQWdJQ0I1WldGeUlEMGdNakF3TUNBcklIbGxZWEk3WEc0Z0lDQWdaV3h6WlZ4dUlDQWdJQ0FnZVdWaGNpQTlJREU1TURBZ0t5QjVaV0Z5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJpZFdabVpYSXVaWEp5YjNJb0owUmxZMjlrYVc1bklDY2dLeUIwWVdjZ0t5QW5JSFJwYldVZ2FYTWdibTkwSUhOMWNIQnZjblJsWkNCNVpYUW5LVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJFWVhSbExsVlVReWg1WldGeUxDQnRiMjRnTFNBeExDQmtZWGtzSUdodmRYSXNJRzFwYml3Z2MyVmpMQ0F3S1R0Y2JuMDdYRzVjYmtSRlVrNXZaR1V1Y0hKdmRHOTBlWEJsTGw5a1pXTnZaR1ZPZFd4c0lEMGdablZ1WTNScGIyNGdaR1ZqYjJSbFRuVnNiQ2hpZFdabVpYSXBJSHRjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5TzF4dVhHNUVSVkpPYjJSbExuQnliM1J2ZEhsd1pTNWZaR1ZqYjJSbFFtOXZiQ0E5SUdaMWJtTjBhVzl1SUdSbFkyOWtaVUp2YjJ3b1luVm1abVZ5S1NCN1hHNGdJSFpoY2lCeVpYTWdQU0JpZFdabVpYSXVjbVZoWkZWSmJuUTRLQ2s3WEc0Z0lHbG1JQ2hpZFdabVpYSXVhWE5GY25KdmNpaHlaWE1wS1Z4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2NtVnpJQ0U5UFNBd08xeHVmVHRjYmx4dVJFVlNUbTlrWlM1d2NtOTBiM1I1Y0dVdVgyUmxZMjlrWlVsdWRDQTlJR1oxYm1OMGFXOXVJR1JsWTI5a1pVbHVkQ2hpZFdabVpYSXNJSFpoYkhWbGN5a2dlMXh1SUNBdkx5QkNhV2RwYm5Rc0lISmxkSFZ5YmlCaGN5QnBkQ0JwY3lBb1lYTnpkVzFsSUdKcFp5QmxibVJwWVc0cFhHNGdJSFpoY2lCeVlYY2dQU0JpZFdabVpYSXVjbUYzS0NrN1hHNGdJSFpoY2lCeVpYTWdQU0J1WlhjZ1ltbG5iblZ0S0hKaGR5azdYRzVjYmlBZ2FXWWdLSFpoYkhWbGN5bGNiaUFnSUNCeVpYTWdQU0IyWVd4MVpYTmJjbVZ6TG5SdlUzUnlhVzVuS0RFd0tWMGdmSHdnY21Wek8xeHVYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1WEc1RVJWSk9iMlJsTG5CeWIzUnZkSGx3WlM1ZmRYTmxJRDBnWm5WdVkzUnBiMjRnZFhObEtHVnVkR2wwZVN3Z2IySnFLU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaVzUwYVhSNUlEMDlQU0FuWm5WdVkzUnBiMjRuS1Z4dUlDQWdJR1Z1ZEdsMGVTQTlJR1Z1ZEdsMGVTaHZZbW9wTzF4dUlDQnlaWFIxY200Z1pXNTBhWFI1TGw5blpYUkVaV052WkdWeUtDZGtaWEluS1M1MGNtVmxPMXh1ZlR0Y2JseHVMeThnVlhScGJHbDBlU0J0WlhSb2IyUnpYRzVjYm1aMWJtTjBhVzl1SUdSbGNrUmxZMjlrWlZSaFp5aGlkV1lzSUdaaGFXd3BJSHRjYmlBZ2RtRnlJSFJoWnlBOUlHSjFaaTV5WldGa1ZVbHVkRGdvWm1GcGJDazdYRzRnSUdsbUlDaGlkV1l1YVhORmNuSnZjaWgwWVdjcEtWeHVJQ0FnSUhKbGRIVnliaUIwWVdjN1hHNWNiaUFnZG1GeUlHTnNjeUE5SUdSbGNpNTBZV2REYkdGemMxdDBZV2NnUGo0Z05sMDdYRzRnSUhaaGNpQndjbWx0YVhScGRtVWdQU0FvZEdGbklDWWdNSGd5TUNrZ1BUMDlJREE3WEc1Y2JpQWdMeThnVFhWc2RHa3RiMk4wWlhRZ2RHRm5JQzBnYkc5aFpGeHVJQ0JwWmlBb0tIUmhaeUFtSURCNE1XWXBJRDA5UFNBd2VERm1LU0I3WEc0Z0lDQWdkbUZ5SUc5amRDQTlJSFJoWnp0Y2JpQWdJQ0IwWVdjZ1BTQXdPMXh1SUNBZ0lIZG9hV3hsSUNnb2IyTjBJQ1lnTUhnNE1Da2dQVDA5SURCNE9EQXBJSHRjYmlBZ0lDQWdJRzlqZENBOUlHSjFaaTV5WldGa1ZVbHVkRGdvWm1GcGJDazdYRzRnSUNBZ0lDQnBaaUFvWW5WbUxtbHpSWEp5YjNJb2IyTjBLU2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzlqZER0Y2JseHVJQ0FnSUNBZ2RHRm5JRHc4UFNBM08xeHVJQ0FnSUNBZ2RHRm5JSHc5SUc5amRDQW1JREI0TjJZN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSaFp5QW1QU0F3ZURGbU8xeHVJQ0I5WEc0Z0lIWmhjaUIwWVdkVGRISWdQU0JrWlhJdWRHRm5XM1JoWjEwN1hHNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpiSE02SUdOc2N5eGNiaUFnSUNCd2NtbHRhWFJwZG1VNklIQnlhVzFwZEdsMlpTeGNiaUFnSUNCMFlXYzZJSFJoWnl4Y2JpQWdJQ0IwWVdkVGRISTZJSFJoWjFOMGNseHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrWlhKRVpXTnZaR1ZNWlc0b1luVm1MQ0J3Y21sdGFYUnBkbVVzSUdaaGFXd3BJSHRjYmlBZ2RtRnlJR3hsYmlBOUlHSjFaaTV5WldGa1ZVbHVkRGdvWm1GcGJDazdYRzRnSUdsbUlDaGlkV1l1YVhORmNuSnZjaWhzWlc0cEtWeHVJQ0FnSUhKbGRIVnliaUJzWlc0N1hHNWNiaUFnTHk4Z1NXNWtaV1pwYm1sMFpTQm1iM0p0WEc0Z0lHbG1JQ2doY0hKcGJXbDBhWFpsSUNZbUlHeGxiaUE5UFQwZ01IZzRNQ2xjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmx4dUlDQXZMeUJFWldacGJtbDBaU0JtYjNKdFhHNGdJR2xtSUNnb2JHVnVJQ1lnTUhnNE1Da2dQVDA5SURBcElIdGNiaUFnSUNBdkx5QlRhRzl5ZENCbWIzSnRYRzRnSUNBZ2NtVjBkWEp1SUd4bGJqdGNiaUFnZlZ4dVhHNGdJQzh2SUV4dmJtY2dabTl5YlZ4dUlDQjJZWElnYm5WdElEMGdiR1Z1SUNZZ01IZzNaanRjYmlBZ2FXWWdLRzUxYlNBK0lEUXBYRzRnSUNBZ2NtVjBkWEp1SUdKMVppNWxjbkp2Y2lnbmJHVnVaM1JvSUc5amRHVmpkQ0JwY3lCMGIyOGdiRzl1WnljcE8xeHVYRzRnSUd4bGJpQTlJREE3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diblZ0T3lCcEt5c3BJSHRjYmlBZ0lDQnNaVzRnUER3OUlEZzdYRzRnSUNBZ2RtRnlJR29nUFNCaWRXWXVjbVZoWkZWSmJuUTRLR1poYVd3cE8xeHVJQ0FnSUdsbUlDaGlkV1l1YVhORmNuSnZjaWhxS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJxTzF4dUlDQWdJR3hsYmlCOFBTQnFPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR3hsYmp0Y2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvZGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9kZWNvZGVycy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgZGVjb2RlcnMgPSBleHBvcnRzO1xcblxcbmRlY29kZXJzLmRlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL2Rlci5qc1xcXCIpO1xcbmRlY29kZXJzLnBlbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcGVtICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL3BlbS5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJSbFkyOWtaWEp6TDJsdVpHVjRMbXB6UHpKbU5EWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3TzBGQlJVRXNaVUZCWlN4dFFrRkJUeXhEUVVGRExEaEVRVUZQTzBGQlF6bENMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzRSRUZCVHlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlJsWTI5a1pYSnpMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJR1JsWTI5a1pYSnpJRDBnWlhod2IzSjBjenRjYmx4dVpHVmpiMlJsY25NdVpHVnlJRDBnY21WeGRXbHlaU2duTGk5a1pYSW5LVHRjYm1SbFkyOWtaWEp6TG5CbGJTQTlJSEpsY1hWcGNtVW9KeTR2Y0dWdEp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcjtcXG5cXG52YXIgREVSRGVjb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2RlY29kZXJzL2Rlci5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIFBFTURlY29kZXIoZW50aXR5KSB7XFxuICBERVJEZWNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcXG4gIHRoaXMuZW5jID0gJ3BlbSc7XFxufTtcXG5pbmhlcml0cyhQRU1EZWNvZGVyLCBERVJEZWNvZGVyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFBFTURlY29kZXI7XFxuXFxuUEVNRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGRhdGEsIG9wdGlvbnMpIHtcXG4gIHZhciBsaW5lcyA9IGRhdGEudG9TdHJpbmcoKS5zcGxpdCgvW1xcXFxyXFxcXG5dKy9nKTtcXG5cXG4gIHZhciBsYWJlbCA9IG9wdGlvbnMubGFiZWwudG9VcHBlckNhc2UoKTtcXG5cXG4gIHZhciByZSA9IC9eLS0tLS0oQkVHSU58RU5EKSAoW14tXSspLS0tLS0kLztcXG4gIHZhciBzdGFydCA9IC0xO1xcbiAgdmFyIGVuZCA9IC0xO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgbWF0Y2ggPSBsaW5lc1tpXS5tYXRjaChyZSk7XFxuICAgIGlmIChtYXRjaCA9PT0gbnVsbClcXG4gICAgICBjb250aW51ZTtcXG5cXG4gICAgaWYgKG1hdGNoWzJdICE9PSBsYWJlbClcXG4gICAgICBjb250aW51ZTtcXG5cXG4gICAgaWYgKHN0YXJ0ID09PSAtMSkge1xcbiAgICAgIGlmIChtYXRjaFsxXSAhPT0gJ0JFR0lOJylcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIHN0YXJ0ID0gaTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobWF0Y2hbMV0gIT09ICdFTkQnKVxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgZW5kID0gaTtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKVxcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BFTSBzZWN0aW9uIG5vdCBmb3VuZCBmb3I6ICcgKyBsYWJlbCk7XFxuXFxuICB2YXIgYmFzZTY0ID0gbGluZXMuc2xpY2Uoc3RhcnQgKyAxLCBlbmQpLmpvaW4oJycpO1xcbiAgLy8gUmVtb3ZlIGV4Y2Vzc2l2ZSBzeW1ib2xzXFxuICBiYXNlNjQucmVwbGFjZSgvW15hLXowLTlcXFxcK1xcXFwvPV0rL2dpLCAnJyk7XFxuXFxuICB2YXIgaW5wdXQgPSBuZXcgQnVmZmVyKGJhc2U2NCwgJ2Jhc2U2NCcpO1xcbiAgcmV0dXJuIERFUkRlY29kZXIucHJvdG90eXBlLmRlY29kZS5jYWxsKHRoaXMsIGlucHV0LCBvcHRpb25zKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJSbFkyOWtaWEp6TDNCbGJTNXFjejg1TXpneElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVGRDTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETERoRVFVRlBPenRCUVVWb1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2EwSkJRV3RDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJSbFkyOWtaWEp6TDNCbGJTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlrN1hHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlKeWt1UW5WbVptVnlPMXh1WEc1MllYSWdSRVZTUkdWamIyUmxjaUE5SUhKbGNYVnBjbVVvSnk0dlpHVnlKeWs3WEc1Y2JtWjFibU4wYVc5dUlGQkZUVVJsWTI5a1pYSW9aVzUwYVhSNUtTQjdYRzRnSUVSRlVrUmxZMjlrWlhJdVkyRnNiQ2gwYUdsekxDQmxiblJwZEhrcE8xeHVJQ0IwYUdsekxtVnVZeUE5SUNkd1pXMG5PMXh1ZlR0Y2JtbHVhR1Z5YVhSektGQkZUVVJsWTI5a1pYSXNJRVJGVWtSbFkyOWtaWElwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCUVJVMUVaV052WkdWeU8xeHVYRzVRUlUxRVpXTnZaR1Z5TG5CeWIzUnZkSGx3WlM1a1pXTnZaR1VnUFNCbWRXNWpkR2x2YmlCa1pXTnZaR1VvWkdGMFlTd2diM0IwYVc5dWN5a2dlMXh1SUNCMllYSWdiR2x1WlhNZ1BTQmtZWFJoTG5SdlUzUnlhVzVuS0NrdWMzQnNhWFFvTDF0Y1hISmNYRzVkS3k5bktUdGNibHh1SUNCMllYSWdiR0ZpWld3Z1BTQnZjSFJwYjI1ekxteGhZbVZzTG5SdlZYQndaWEpEWVhObEtDazdYRzVjYmlBZ2RtRnlJSEpsSUQwZ0wxNHRMUzB0TFNoQ1JVZEpUbnhGVGtRcElDaGJYaTFkS3lrdExTMHRMU1F2TzF4dUlDQjJZWElnYzNSaGNuUWdQU0F0TVR0Y2JpQWdkbUZ5SUdWdVpDQTlJQzB4TzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hwYm1WekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUcxaGRHTm9JRDBnYkdsdVpYTmJhVjB1YldGMFkyZ29jbVVwTzF4dUlDQWdJR2xtSUNodFlYUmphQ0E5UFQwZ2JuVnNiQ2xjYmlBZ0lDQWdJR052Ym5ScGJuVmxPMXh1WEc0Z0lDQWdhV1lnS0cxaGRHTm9XekpkSUNFOVBTQnNZV0psYkNsY2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnYVdZZ0tITjBZWEowSUQwOVBTQXRNU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHMWhkR05vV3pGZElDRTlQU0FuUWtWSFNVNG5LVnh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lITjBZWEowSUQwZ2FUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYVdZZ0tHMWhkR05vV3pGZElDRTlQU0FuUlU1RUp5bGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCbGJtUWdQU0JwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHbG1JQ2h6ZEdGeWRDQTlQVDBnTFRFZ2ZId2daVzVrSUQwOVBTQXRNU2xjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxQkZUU0J6WldOMGFXOXVJRzV2ZENCbWIzVnVaQ0JtYjNJNklDY2dLeUJzWVdKbGJDazdYRzVjYmlBZ2RtRnlJR0poYzJVMk5DQTlJR3hwYm1WekxuTnNhV05sS0hOMFlYSjBJQ3NnTVN3Z1pXNWtLUzVxYjJsdUtDY25LVHRjYmlBZ0x5OGdVbVZ0YjNabElHVjRZMlZ6YzJsMlpTQnplVzFpYjJ4elhHNGdJR0poYzJVMk5DNXlaWEJzWVdObEtDOWJYbUV0ZWpBdE9WeGNLMXhjTHoxZEt5OW5hU3dnSnljcE8xeHVYRzRnSUhaaGNpQnBibkIxZENBOUlHNWxkeUJDZFdabVpYSW9ZbUZ6WlRZMExDQW5ZbUZ6WlRZMEp5azdYRzRnSUhKbGRIVnliaUJFUlZKRVpXTnZaR1Z5TG5CeWIzUnZkSGx3WlM1a1pXTnZaR1V1WTJGc2JDaDBhR2x6TENCcGJuQjFkQ3dnYjNCMGFXOXVjeWs3WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZGVjb2RlcnMvcGVtLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuXFxudmFyIGFzbjEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi9hc24xICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIik7XFxudmFyIGJhc2UgPSBhc24xLmJhc2U7XFxuXFxuLy8gSW1wb3J0IERFUiBjb25zdGFudHNcXG52YXIgZGVyID0gYXNuMS5jb25zdGFudHMuZGVyO1xcblxcbmZ1bmN0aW9uIERFUkVuY29kZXIoZW50aXR5KSB7XFxuICB0aGlzLmVuYyA9ICdkZXInO1xcbiAgdGhpcy5uYW1lID0gZW50aXR5Lm5hbWU7XFxuICB0aGlzLmVudGl0eSA9IGVudGl0eTtcXG5cXG4gIC8vIENvbnN0cnVjdCBiYXNlIHRyZWVcXG4gIHRoaXMudHJlZSA9IG5ldyBERVJOb2RlKCk7XFxuICB0aGlzLnRyZWUuX2luaXQoZW50aXR5LmJvZHkpO1xcbn07XFxubW9kdWxlLmV4cG9ydHMgPSBERVJFbmNvZGVyO1xcblxcbkRFUkVuY29kZXIucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlcikge1xcbiAgcmV0dXJuIHRoaXMudHJlZS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKS5qb2luKCk7XFxufTtcXG5cXG4vLyBUcmVlIG1ldGhvZHNcXG5cXG5mdW5jdGlvbiBERVJOb2RlKHBhcmVudCkge1xcbiAgYmFzZS5Ob2RlLmNhbGwodGhpcywgJ2RlcicsIHBhcmVudCk7XFxufVxcbmluaGVyaXRzKERFUk5vZGUsIGJhc2UuTm9kZSk7XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUNvbXBvc2l0ZSA9IGZ1bmN0aW9uIGVuY29kZUNvbXBvc2l0ZSh0YWcsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmUsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50KSB7XFxuICB2YXIgZW5jb2RlZFRhZyA9IGVuY29kZVRhZyh0YWcsIHByaW1pdGl2ZSwgY2xzLCB0aGlzLnJlcG9ydGVyKTtcXG5cXG4gIC8vIFNob3J0IGZvcm1cXG4gIGlmIChjb250ZW50Lmxlbmd0aCA8IDB4ODApIHtcXG4gICAgdmFyIGhlYWRlciA9IG5ldyBCdWZmZXIoMik7XFxuICAgIGhlYWRlclswXSA9IGVuY29kZWRUYWc7XFxuICAgIGhlYWRlclsxXSA9IGNvbnRlbnQubGVuZ3RoO1xcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbIGhlYWRlciwgY29udGVudCBdKTtcXG4gIH1cXG5cXG4gIC8vIExvbmcgZm9ybVxcbiAgLy8gQ291bnQgb2N0ZXRzIHJlcXVpcmVkIHRvIHN0b3JlIGxlbmd0aFxcbiAgdmFyIGxlbk9jdGV0cyA9IDE7XFxuICBmb3IgKHZhciBpID0gY29udGVudC5sZW5ndGg7IGkgPj0gMHgxMDA7IGkgPj49IDgpXFxuICAgIGxlbk9jdGV0cysrO1xcblxcbiAgdmFyIGhlYWRlciA9IG5ldyBCdWZmZXIoMSArIDEgKyBsZW5PY3RldHMpO1xcbiAgaGVhZGVyWzBdID0gZW5jb2RlZFRhZztcXG4gIGhlYWRlclsxXSA9IDB4ODAgfCBsZW5PY3RldHM7XFxuXFxuICBmb3IgKHZhciBpID0gMSArIGxlbk9jdGV0cywgaiA9IGNvbnRlbnQubGVuZ3RoOyBqID4gMDsgaS0tLCBqID4+PSA4KVxcbiAgICBoZWFkZXJbaV0gPSBqICYgMHhmZjtcXG5cXG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFsgaGVhZGVyLCBjb250ZW50IF0pO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZVN0ciA9IGZ1bmN0aW9uIGVuY29kZVN0cihzdHIsIHRhZykge1xcbiAgaWYgKHRhZyA9PT0gJ2JpdHN0cicpIHtcXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoWyBzdHIudW51c2VkIHwgMCwgc3RyLmRhdGEgXSk7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ2JtcHN0cicpIHtcXG4gICAgdmFyIGJ1ZiA9IG5ldyBCdWZmZXIoc3RyLmxlbmd0aCAqIDIpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xcbiAgICAgIGJ1Zi53cml0ZVVJbnQxNkJFKHN0ci5jaGFyQ29kZUF0KGkpLCBpICogMik7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoYnVmKTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAnbnVtc3RyJykge1xcbiAgICBpZiAoIXRoaXMuX2lzTnVtc3RyKHN0cikpIHtcXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6IG51bXN0ciBzdXBwb3J0cyAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb25seSBkaWdpdHMgYW5kIHNwYWNlJyk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoc3RyKTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSAncHJpbnRzdHInKSB7XFxuICAgIGlmICghdGhpcy5faXNQcmludHN0cihzdHIpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ0VuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciBzdXBwb3J0cyAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb25seSBsYXRpbiB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlnaXRzLCBzcGFjZSwgYXBvc3Ryb3BoZSwgbGVmdCBhbmQgcmlndGggJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudGhlc2lzLCBwbHVzIHNpZ24sIGNvbW1hLCBoeXBoZW4sICcgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkb3QsIHNsYXNoLCBjb2xvbiwgZXF1YWwgc2lnbiwgJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3F1ZXN0aW9uIG1hcmsnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihzdHIpO1xcbiAgfSBlbHNlIGlmICgvc3RyJC8udGVzdCh0YWcpKSB7XFxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ29iakRlc2MnKSB7XFxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICcgKyB0YWcgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIHVuc3VwcG9ydGVkJyk7XFxuICB9XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlT2JqaWQgPSBmdW5jdGlvbiBlbmNvZGVPYmppZChpZCwgdmFsdWVzLCByZWxhdGl2ZSkge1xcbiAgaWYgKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcXG4gICAgaWYgKCF2YWx1ZXMpXFxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ3N0cmluZyBvYmppZCBnaXZlbiwgYnV0IG5vIHZhbHVlcyBtYXAgZm91bmQnKTtcXG4gICAgaWYgKCF2YWx1ZXMuaGFzT3duUHJvcGVydHkoaWQpKVxcbiAgICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdvYmppZCBub3QgZm91bmQgaW4gdmFsdWVzIG1hcCcpO1xcbiAgICBpZCA9IHZhbHVlc1tpZF0uc3BsaXQoL1tcXFxcc1xcXFwuXSsvZyk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaWQubGVuZ3RoOyBpKyspXFxuICAgICAgaWRbaV0gfD0gMDtcXG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShpZCkpIHtcXG4gICAgaWQgPSBpZC5zbGljZSgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlkLmxlbmd0aDsgaSsrKVxcbiAgICAgIGlkW2ldIHw9IDA7XFxuICB9XFxuXFxuICBpZiAoIUFycmF5LmlzQXJyYXkoaWQpKSB7XFxuICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdvYmppZCgpIHNob3VsZCBiZSBlaXRoZXIgYXJyYXkgb3Igc3RyaW5nLCAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dvdDogJyArIEpTT04uc3RyaW5naWZ5KGlkKSk7XFxuICB9XFxuXFxuICBpZiAoIXJlbGF0aXZlKSB7XFxuICAgIGlmIChpZFsxXSA+PSA0MClcXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignU2Vjb25kIG9iamlkIGlkZW50aWZpZXIgT09CJyk7XFxuICAgIGlkLnNwbGljZSgwLCAyLCBpZFswXSAqIDQwICsgaWRbMV0pO1xcbiAgfVxcblxcbiAgLy8gQ291bnQgbnVtYmVyIG9mIG9jdGV0c1xcbiAgdmFyIHNpemUgPSAwO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgaWRlbnQgPSBpZFtpXTtcXG4gICAgZm9yIChzaXplKys7IGlkZW50ID49IDB4ODA7IGlkZW50ID4+PSA3KVxcbiAgICAgIHNpemUrKztcXG4gIH1cXG5cXG4gIHZhciBvYmppZCA9IG5ldyBCdWZmZXIoc2l6ZSk7XFxuICB2YXIgb2Zmc2V0ID0gb2JqaWQubGVuZ3RoIC0gMTtcXG4gIGZvciAodmFyIGkgPSBpZC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICB2YXIgaWRlbnQgPSBpZFtpXTtcXG4gICAgb2JqaWRbb2Zmc2V0LS1dID0gaWRlbnQgJiAweDdmO1xcbiAgICB3aGlsZSAoKGlkZW50ID4+PSA3KSA+IDApXFxuICAgICAgb2JqaWRbb2Zmc2V0LS1dID0gMHg4MCB8IChpZGVudCAmIDB4N2YpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob2JqaWQpO1xcbn07XFxuXFxuZnVuY3Rpb24gdHdvKG51bSkge1xcbiAgaWYgKG51bSA8IDEwKVxcbiAgICByZXR1cm4gJzAnICsgbnVtO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gbnVtO1xcbn1cXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlVGltZSA9IGZ1bmN0aW9uIGVuY29kZVRpbWUodGltZSwgdGFnKSB7XFxuICB2YXIgc3RyO1xcbiAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh0aW1lKTtcXG5cXG4gIGlmICh0YWcgPT09ICdnZW50aW1lJykge1xcbiAgICBzdHIgPSBbXFxuICAgICAgdHdvKGRhdGUuZ2V0RnVsbFllYXIoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpLFxcbiAgICAgIHR3byhkYXRlLmdldFVUQ0RhdGUoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDSG91cnMoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTWludXRlcygpKSxcXG4gICAgICB0d28oZGF0ZS5nZXRVVENTZWNvbmRzKCkpLFxcbiAgICAgICdaJ1xcbiAgICBdLmpvaW4oJycpO1xcbiAgfSBlbHNlIGlmICh0YWcgPT09ICd1dGN0aW1lJykge1xcbiAgICBzdHIgPSBbXFxuICAgICAgdHdvKGRhdGUuZ2V0RnVsbFllYXIoKSAlIDEwMCksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpLFxcbiAgICAgIHR3byhkYXRlLmdldFVUQ0RhdGUoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDSG91cnMoKSksXFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTWludXRlcygpKSxcXG4gICAgICB0d28oZGF0ZS5nZXRVVENTZWNvbmRzKCkpLFxcbiAgICAgICdaJ1xcbiAgICBdLmpvaW4oJycpO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2RpbmcgJyArIHRhZyArICcgdGltZSBpcyBub3Qgc3VwcG9ydGVkIHlldCcpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuX2VuY29kZVN0cihzdHIsICdvY3RzdHInKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVOdWxsID0gZnVuY3Rpb24gZW5jb2RlTnVsbCgpIHtcXG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKCcnKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVJbnQgPSBmdW5jdGlvbiBlbmNvZGVJbnQobnVtLCB2YWx1ZXMpIHtcXG4gIGlmICh0eXBlb2YgbnVtID09PSAnc3RyaW5nJykge1xcbiAgICBpZiAoIXZhbHVlcylcXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignU3RyaW5nIGludCBvciBlbnVtIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCcpO1xcbiAgICBpZiAoIXZhbHVlcy5oYXNPd25Qcm9wZXJ0eShudW0pKSB7XFxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ1ZhbHVlcyBtYXAgZG9lc25cXFxcJ3QgY29udGFpbjogJyArXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkobnVtKSk7XFxuICAgIH1cXG4gICAgbnVtID0gdmFsdWVzW251bV07XFxuICB9XFxuXFxuICAvLyBCaWdudW0sIGFzc3VtZSBiaWcgZW5kaWFuXFxuICBpZiAodHlwZW9mIG51bSAhPT0gJ251bWJlcicgJiYgIUJ1ZmZlci5pc0J1ZmZlcihudW0pKSB7XFxuICAgIHZhciBudW1BcnJheSA9IG51bS50b0FycmF5KCk7XFxuICAgIGlmICghbnVtLnNpZ24gJiYgbnVtQXJyYXlbMF0gJiAweDgwKSB7XFxuICAgICAgbnVtQXJyYXkudW5zaGlmdCgwKTtcXG4gICAgfVxcbiAgICBudW0gPSBuZXcgQnVmZmVyKG51bUFycmF5KTtcXG4gIH1cXG5cXG4gIGlmIChCdWZmZXIuaXNCdWZmZXIobnVtKSkge1xcbiAgICB2YXIgc2l6ZSA9IG51bS5sZW5ndGg7XFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAwKVxcbiAgICAgIHNpemUrKztcXG5cXG4gICAgdmFyIG91dCA9IG5ldyBCdWZmZXIoc2l6ZSk7XFxuICAgIG51bS5jb3B5KG91dCk7XFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAwKVxcbiAgICAgIG91dFswXSA9IDBcXG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob3V0KTtcXG4gIH1cXG5cXG4gIGlmIChudW0gPCAweDgwKVxcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihudW0pO1xcblxcbiAgaWYgKG51bSA8IDB4MTAwKVxcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMCwgbnVtXSk7XFxuXFxuICB2YXIgc2l6ZSA9IDE7XFxuICBmb3IgKHZhciBpID0gbnVtOyBpID49IDB4MTAwOyBpID4+PSA4KVxcbiAgICBzaXplKys7XFxuXFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHNpemUpO1xcbiAgZm9yICh2YXIgaSA9IG91dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICBvdXRbaV0gPSBudW0gJiAweGZmO1xcbiAgICBudW0gPj49IDg7XFxuICB9XFxuICBpZihvdXRbMF0gJiAweDgwKSB7XFxuICAgIG91dC51bnNoaWZ0KDApO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIobmV3IEJ1ZmZlcihvdXQpKTtcXG59O1xcblxcbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVCb29sID0gZnVuY3Rpb24gZW5jb2RlQm9vbCh2YWx1ZSkge1xcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIodmFsdWUgPyAweGZmIDogMCk7XFxufTtcXG5cXG5ERVJOb2RlLnByb3RvdHlwZS5fdXNlID0gZnVuY3Rpb24gdXNlKGVudGl0eSwgb2JqKSB7XFxuICBpZiAodHlwZW9mIGVudGl0eSA9PT0gJ2Z1bmN0aW9uJylcXG4gICAgZW50aXR5ID0gZW50aXR5KG9iaik7XFxuICByZXR1cm4gZW50aXR5Ll9nZXRFbmNvZGVyKCdkZXInKS50cmVlO1xcbn07XFxuXFxuREVSTm9kZS5wcm90b3R5cGUuX3NraXBEZWZhdWx0ID0gZnVuY3Rpb24gc2tpcERlZmF1bHQoZGF0YUJ1ZmZlciwgcmVwb3J0ZXIsIHBhcmVudCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xcbiAgdmFyIGk7XFxuICBpZiAoc3RhdGVbJ2RlZmF1bHQnXSA9PT0gbnVsbClcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgdmFyIGRhdGEgPSBkYXRhQnVmZmVyLmpvaW4oKTtcXG4gIGlmIChzdGF0ZS5kZWZhdWx0QnVmZmVyID09PSB1bmRlZmluZWQpXFxuICAgIHN0YXRlLmRlZmF1bHRCdWZmZXIgPSB0aGlzLl9lbmNvZGVWYWx1ZShzdGF0ZVsnZGVmYXVsdCddLCByZXBvcnRlciwgcGFyZW50KS5qb2luKCk7XFxuXFxuICBpZiAoZGF0YS5sZW5ndGggIT09IHN0YXRlLmRlZmF1bHRCdWZmZXIubGVuZ3RoKVxcbiAgICByZXR1cm4gZmFsc2U7XFxuXFxuICBmb3IgKGk9MDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspXFxuICAgIGlmIChkYXRhW2ldICE9PSBzdGF0ZS5kZWZhdWx0QnVmZmVyW2ldKVxcbiAgICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIHJldHVybiB0cnVlO1xcbn07XFxuXFxuLy8gVXRpbGl0eSBtZXRob2RzXFxuXFxuZnVuY3Rpb24gZW5jb2RlVGFnKHRhZywgcHJpbWl0aXZlLCBjbHMsIHJlcG9ydGVyKSB7XFxuICB2YXIgcmVzO1xcblxcbiAgaWYgKHRhZyA9PT0gJ3NlcW9mJylcXG4gICAgdGFnID0gJ3NlcSc7XFxuICBlbHNlIGlmICh0YWcgPT09ICdzZXRvZicpXFxuICAgIHRhZyA9ICdzZXQnO1xcblxcbiAgaWYgKGRlci50YWdCeU5hbWUuaGFzT3duUHJvcGVydHkodGFnKSlcXG4gICAgcmVzID0gZGVyLnRhZ0J5TmFtZVt0YWddO1xcbiAgZWxzZSBpZiAodHlwZW9mIHRhZyA9PT0gJ251bWJlcicgJiYgKHRhZyB8IDApID09PSB0YWcpXFxuICAgIHJlcyA9IHRhZztcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbmtub3duIHRhZzogJyArIHRhZyk7XFxuXFxuICBpZiAocmVzID49IDB4MWYpXFxuICAgIHJldHVybiByZXBvcnRlci5lcnJvcignTXVsdGktb2N0ZXQgdGFnIGVuY29kaW5nIHVuc3VwcG9ydGVkJyk7XFxuXFxuICBpZiAoIXByaW1pdGl2ZSlcXG4gICAgcmVzIHw9IDB4MjA7XFxuXFxuICByZXMgfD0gKGRlci50YWdDbGFzc0J5TmFtZVtjbHMgfHwgJ3VuaXZlcnNhbCddIDw8IDYpO1xcblxcbiAgcmV0dXJuIHJlcztcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlZ1WTI5a1pYSnpMMlJsY2k1cWN6ODVOREJtSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHRCUVVOcVF5eGhRVUZoTEcxQ1FVRlBMRU5CUVVNc09FTkJRVkU3TzBGQlJUZENMRmRCUVZjc2JVSkJRVThzUTBGQlF5eHpSRUZCV1R0QlFVTXZRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc09FSkJRVGhDTEZsQlFWazdRVUZETVVNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xFUVVGcFJDeFBRVUZQTzBGQlEzaEVPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1pVRkJaVHRCUVVOc1F6dEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJMRzFDUVVGdFFpeGxRVUZsTzBGQlEyeERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEdWQlFXVTdRVUZEYUVNN1FVRkRRU3huUWtGQlowSXNaVUZCWlR0QlFVTXZRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0lzVVVGQlVUdEJRVU55UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1dVRkJXVHRCUVVNdlFqczdRVUZGUVR0QlFVTkJMRGhDUVVFNFFpeFJRVUZSTzBGQlEzUkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzVjBGQlZ5eHBRa0ZCYVVJN1FVRkROVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyRnpiakV1YW5NdmJHbGlMMkZ6YmpFdlpXNWpiMlJsY25NdlpHVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktUdGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkaWRXWm1aWEluS1M1Q2RXWm1aWEk3WEc1Y2JuWmhjaUJoYzI0eElEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dllYTnVNU2NwTzF4dWRtRnlJR0poYzJVZ1BTQmhjMjR4TG1KaGMyVTdYRzVjYmk4dklFbHRjRzl5ZENCRVJWSWdZMjl1YzNSaGJuUnpYRzUyWVhJZ1pHVnlJRDBnWVhOdU1TNWpiMjV6ZEdGdWRITXVaR1Z5TzF4dVhHNW1kVzVqZEdsdmJpQkVSVkpGYm1OdlpHVnlLR1Z1ZEdsMGVTa2dlMXh1SUNCMGFHbHpMbVZ1WXlBOUlDZGtaWEluTzF4dUlDQjBhR2x6TG01aGJXVWdQU0JsYm5ScGRIa3VibUZ0WlR0Y2JpQWdkR2hwY3k1bGJuUnBkSGtnUFNCbGJuUnBkSGs3WEc1Y2JpQWdMeThnUTI5dWMzUnlkV04wSUdKaGMyVWdkSEpsWlZ4dUlDQjBhR2x6TG5SeVpXVWdQU0J1WlhjZ1JFVlNUbTlrWlNncE8xeHVJQ0IwYUdsekxuUnlaV1V1WDJsdWFYUW9aVzUwYVhSNUxtSnZaSGtwTzF4dWZUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdSRVZTUlc1amIyUmxjanRjYmx4dVJFVlNSVzVqYjJSbGNpNXdjbTkwYjNSNWNHVXVaVzVqYjJSbElEMGdablZ1WTNScGIyNGdaVzVqYjJSbEtHUmhkR0VzSUhKbGNHOXlkR1Z5S1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG5SeVpXVXVYMlZ1WTI5a1pTaGtZWFJoTENCeVpYQnZjblJsY2lrdWFtOXBiaWdwTzF4dWZUdGNibHh1THk4Z1ZISmxaU0J0WlhSb2IyUnpYRzVjYm1aMWJtTjBhVzl1SUVSRlVrNXZaR1VvY0dGeVpXNTBLU0I3WEc0Z0lHSmhjMlV1VG05a1pTNWpZV3hzS0hSb2FYTXNJQ2RrWlhJbkxDQndZWEpsYm5RcE8xeHVmVnh1YVc1b1pYSnBkSE1vUkVWU1RtOWtaU3dnWW1GelpTNU9iMlJsS1R0Y2JseHVSRVZTVG05a1pTNXdjbTkwYjNSNWNHVXVYMlZ1WTI5a1pVTnZiWEJ2YzJsMFpTQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pVTnZiWEJ2YzJsMFpTaDBZV2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCeWFXMXBkR2wyWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyeHpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MFpXNTBLU0I3WEc0Z0lIWmhjaUJsYm1OdlpHVmtWR0ZuSUQwZ1pXNWpiMlJsVkdGbktIUmhaeXdnY0hKcGJXbDBhWFpsTENCamJITXNJSFJvYVhNdWNtVndiM0owWlhJcE8xeHVYRzRnSUM4dklGTm9iM0owSUdadmNtMWNiaUFnYVdZZ0tHTnZiblJsYm5RdWJHVnVaM1JvSUR3Z01IZzRNQ2tnZTF4dUlDQWdJSFpoY2lCb1pXRmtaWElnUFNCdVpYY2dRblZtWm1WeUtESXBPMXh1SUNBZ0lHaGxZV1JsY2xzd1hTQTlJR1Z1WTI5a1pXUlVZV2M3WEc0Z0lDQWdhR1ZoWkdWeVd6RmRJRDBnWTI5dWRHVnVkQzVzWlc1bmRHZzdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMk55WldGMFpVVnVZMjlrWlhKQ2RXWm1aWElvV3lCb1pXRmtaWElzSUdOdmJuUmxiblFnWFNrN1hHNGdJSDFjYmx4dUlDQXZMeUJNYjI1bklHWnZjbTFjYmlBZ0x5OGdRMjkxYm5RZ2IyTjBaWFJ6SUhKbGNYVnBjbVZrSUhSdklITjBiM0psSUd4bGJtZDBhRnh1SUNCMllYSWdiR1Z1VDJOMFpYUnpJRDBnTVR0Y2JpQWdabTl5SUNoMllYSWdhU0E5SUdOdmJuUmxiblF1YkdWdVozUm9PeUJwSUQ0OUlEQjRNVEF3T3lCcElENCtQU0E0S1Z4dUlDQWdJR3hsYms5amRHVjBjeXNyTzF4dVhHNGdJSFpoY2lCb1pXRmtaWElnUFNCdVpYY2dRblZtWm1WeUtERWdLeUF4SUNzZ2JHVnVUMk4wWlhSektUdGNiaUFnYUdWaFpHVnlXekJkSUQwZ1pXNWpiMlJsWkZSaFp6dGNiaUFnYUdWaFpHVnlXekZkSUQwZ01IZzRNQ0I4SUd4bGJrOWpkR1YwY3p0Y2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01TQXJJR3hsYms5amRHVjBjeXdnYWlBOUlHTnZiblJsYm5RdWJHVnVaM1JvT3lCcUlENGdNRHNnYVMwdExDQnFJRDQrUFNBNEtWeHVJQ0FnSUdobFlXUmxjbHRwWFNBOUlHb2dKaUF3ZUdabU8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLRnNnYUdWaFpHVnlMQ0JqYjI1MFpXNTBJRjBwTzF4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJWdVkyOWtaVk4wY2lBOUlHWjFibU4wYVc5dUlHVnVZMjlrWlZOMGNpaHpkSElzSUhSaFp5a2dlMXh1SUNCcFppQW9kR0ZuSUQwOVBTQW5ZbWwwYzNSeUp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlqY21WaGRHVkZibU52WkdWeVFuVm1abVZ5S0ZzZ2MzUnlMblZ1ZFhObFpDQjhJREFzSUhOMGNpNWtZWFJoSUYwcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnSjJKdGNITjBjaWNwSUh0Y2JpQWdJQ0IyWVhJZ1luVm1JRDBnYm1WM0lFSjFabVpsY2loemRISXViR1Z1WjNSb0lDb2dNaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6ZEhJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR0oxWmk1M2NtbDBaVlZKYm5ReE5rSkZLSE4wY2k1amFHRnlRMjlrWlVGMEtHa3BMQ0JwSUNvZ01pazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWpjbVZoZEdWRmJtTnZaR1Z5UW5WbVptVnlLR0oxWmlrN1hHNGdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0FuYm5WdGMzUnlKeWtnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVmYVhOT2RXMXpkSElvYzNSeUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wd2IzSjBaWEl1WlhKeWIzSW9KMFZ1WTI5a2FXNW5JRzltSUhOMGNtbHVaeUIwZVhCbE9pQnVkVzF6ZEhJZ2MzVndjRzl5ZEhNZ0p5QXJYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5iMjVzZVNCa2FXZHBkSE1nWVc1a0lITndZV05sSnlrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5amNtVmhkR1ZGYm1OdlpHVnlRblZtWm1WeUtITjBjaWs3WEc0Z0lIMGdaV3h6WlNCcFppQW9kR0ZuSUQwOVBTQW5jSEpwYm5SemRISW5LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDlwYzFCeWFXNTBjM1J5S0hOMGNpa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbGNHOXlkR1Z5TG1WeWNtOXlLQ2RGYm1OdlpHbHVaeUJ2WmlCemRISnBibWNnZEhsd1pUb2djSEpwYm5SemRISWdjM1Z3Y0c5eWRITWdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuYjI1c2VTQnNZWFJwYmlCMWNIQmxjaUJoYm1RZ2JHOTNaWElnWTJGelpTQnNaWFIwWlhKekxDQW5JQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2RrYVdkcGRITXNJSE53WVdObExDQmhjRzl6ZEhKdmNHaGxMQ0JzWldaMElHRnVaQ0J5YVdkMGFDQW5JQ3RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2R3WVhKbGJuUm9aWE5wY3l3Z2NHeDFjeUJ6YVdkdUxDQmpiMjF0WVN3Z2FIbHdhR1Z1TENBbklDdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDZGtiM1FzSUhOc1lYTm9MQ0JqYjJ4dmJpd2daWEYxWVd3Z2MybG5iaXdnSnlBclhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBbmNYVmxjM1JwYjI0Z2JXRnlheWNwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWTNKbFlYUmxSVzVqYjJSbGNrSjFabVpsY2loemRISXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDOXpkSElrTHk1MFpYTjBLSFJoWnlrcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZZM0psWVhSbFJXNWpiMlJsY2tKMVptWmxjaWh6ZEhJcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnSjI5aWFrUmxjMk1uS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyTnlaV0YwWlVWdVkyOWtaWEpDZFdabVpYSW9jM1J5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaWEJ2Y25SbGNpNWxjbkp2Y2lnblJXNWpiMlJwYm1jZ2IyWWdjM1J5YVc1bklIUjVjR1U2SUNjZ0t5QjBZV2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2NnZFc1emRYQndiM0owWldRbktUdGNiaUFnZlZ4dWZUdGNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJWdVkyOWtaVTlpYW1sa0lEMGdablZ1WTNScGIyNGdaVzVqYjJSbFQySnFhV1FvYVdRc0lIWmhiSFZsY3l3Z2NtVnNZWFJwZG1VcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCcFpDQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0JwWmlBb0lYWmhiSFZsY3lsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxjRzl5ZEdWeUxtVnljbTl5S0NkemRISnBibWNnYjJKcWFXUWdaMmwyWlc0c0lHSjFkQ0J1YnlCMllXeDFaWE1nYldGd0lHWnZkVzVrSnlrN1hHNGdJQ0FnYVdZZ0tDRjJZV3gxWlhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvYVdRcEtWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZ3YjNKMFpYSXVaWEp5YjNJb0oyOWlhbWxrSUc1dmRDQm1iM1Z1WkNCcGJpQjJZV3gxWlhNZ2JXRndKeWs3WEc0Z0lDQWdhV1FnUFNCMllXeDFaWE5iYVdSZExuTndiR2wwS0M5YlhGeHpYRnd1WFNzdlp5azdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnBaQzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0FnSUdsa1cybGRJSHc5SURBN1hHNGdJSDBnWld4elpTQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHBaQ2twSUh0Y2JpQWdJQ0JwWkNBOUlHbGtMbk5zYVdObEtDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnBaQzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0FnSUdsa1cybGRJSHc5SURBN1hHNGdJSDFjYmx4dUlDQnBaaUFvSVVGeWNtRjVMbWx6UVhKeVlYa29hV1FwS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVndiM0owWlhJdVpYSnliM0lvSjI5aWFtbGtLQ2tnYzJodmRXeGtJR0psSUdWcGRHaGxjaUJoY25KaGVTQnZjaUJ6ZEhKcGJtY3NJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2RuYjNRNklDY2dLeUJLVTA5T0xuTjBjbWx1WjJsbWVTaHBaQ2twTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0Z5Wld4aGRHbDJaU2tnZTF4dUlDQWdJR2xtSUNocFpGc3hYU0ErUFNBME1DbGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsY0c5eWRHVnlMbVZ5Y205eUtDZFRaV052Ym1RZ2IySnFhV1FnYVdSbGJuUnBabWxsY2lCUFQwSW5LVHRjYmlBZ0lDQnBaQzV6Y0d4cFkyVW9NQ3dnTWl3Z2FXUmJNRjBnS2lBME1DQXJJR2xrV3pGZEtUdGNiaUFnZlZ4dVhHNGdJQzh2SUVOdmRXNTBJRzUxYldKbGNpQnZaaUJ2WTNSbGRITmNiaUFnZG1GeUlITnBlbVVnUFNBd08xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdsa0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUdsa1pXNTBJRDBnYVdSYmFWMDdYRzRnSUNBZ1ptOXlJQ2h6YVhwbEt5czdJR2xrWlc1MElENDlJREI0T0RBN0lHbGtaVzUwSUQ0K1BTQTNLVnh1SUNBZ0lDQWdjMmw2WlNzck8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc5aWFtbGtJRDBnYm1WM0lFSjFabVpsY2loemFYcGxLVHRjYmlBZ2RtRnlJRzltWm5ObGRDQTlJRzlpYW1sa0xteGxibWQwYUNBdElERTdYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQnBaQzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lIWmhjaUJwWkdWdWRDQTlJR2xrVzJsZE8xeHVJQ0FnSUc5aWFtbGtXMjltWm5ObGRDMHRYU0E5SUdsa1pXNTBJQ1lnTUhnM1pqdGNiaUFnSUNCM2FHbHNaU0FvS0dsa1pXNTBJRDQrUFNBM0tTQStJREFwWEc0Z0lDQWdJQ0J2WW1wcFpGdHZabVp6WlhRdExWMGdQU0F3ZURnd0lId2dLR2xrWlc1MElDWWdNSGczWmlrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RHaHBjeTVmWTNKbFlYUmxSVzVqYjJSbGNrSjFabVpsY2lodlltcHBaQ2s3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUIwZDI4b2JuVnRLU0I3WEc0Z0lHbG1JQ2h1ZFcwZ1BDQXhNQ2xjYmlBZ0lDQnlaWFIxY200Z0p6QW5JQ3NnYm5WdE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJRzUxYlR0Y2JuMWNibHh1UkVWU1RtOWtaUzV3Y205MGIzUjVjR1V1WDJWdVkyOWtaVlJwYldVZ1BTQm1kVzVqZEdsdmJpQmxibU52WkdWVWFXMWxLSFJwYldVc0lIUmhaeWtnZTF4dUlDQjJZWElnYzNSeU8xeHVJQ0IyWVhJZ1pHRjBaU0E5SUc1bGR5QkVZWFJsS0hScGJXVXBPMXh1WEc0Z0lHbG1JQ2gwWVdjZ1BUMDlJQ2RuWlc1MGFXMWxKeWtnZTF4dUlDQWdJSE4wY2lBOUlGdGNiaUFnSUNBZ0lIUjNieWhrWVhSbExtZGxkRVoxYkd4WlpXRnlLQ2twTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRUVzl1ZEdnb0tTQXJJREVwTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRSR0YwWlNncEtTeGNiaUFnSUNBZ0lIUjNieWhrWVhSbExtZGxkRlZVUTBodmRYSnpLQ2twTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRUV2x1ZFhSbGN5Z3BLU3hjYmlBZ0lDQWdJSFIzYnloa1lYUmxMbWRsZEZWVVExTmxZMjl1WkhNb0tTa3NYRzRnSUNBZ0lDQW5XaWRjYmlBZ0lDQmRMbXB2YVc0b0p5Y3BPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUmhaeUE5UFQwZ0ozVjBZM1JwYldVbktTQjdYRzRnSUNBZ2MzUnlJRDBnVzF4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFJuVnNiRmxsWVhJb0tTQWxJREV3TUNrc1hHNGdJQ0FnSUNCMGQyOG9aR0YwWlM1blpYUlZWRU5OYjI1MGFDZ3BJQ3NnTVNrc1hHNGdJQ0FnSUNCMGQyOG9aR0YwWlM1blpYUlZWRU5FWVhSbEtDa3BMRnh1SUNBZ0lDQWdkSGR2S0dSaGRHVXVaMlYwVlZSRFNHOTFjbk1vS1Nrc1hHNGdJQ0FnSUNCMGQyOG9aR0YwWlM1blpYUlZWRU5OYVc1MWRHVnpLQ2twTEZ4dUlDQWdJQ0FnZEhkdktHUmhkR1V1WjJWMFZWUkRVMlZqYjI1a2N5Z3BLU3hjYmlBZ0lDQWdJQ2RhSjF4dUlDQWdJRjB1YW05cGJpZ25KeWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZEdocGN5NXlaWEJ2Y25SbGNpNWxjbkp2Y2lnblJXNWpiMlJwYm1jZ0p5QXJJSFJoWnlBcklDY2dkR2x0WlNCcGN5QnViM1FnYzNWd2NHOXlkR1ZrSUhsbGRDY3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFJvYVhNdVgyVnVZMjlrWlZOMGNpaHpkSElzSUNkdlkzUnpkSEluS1R0Y2JuMDdYRzVjYmtSRlVrNXZaR1V1Y0hKdmRHOTBlWEJsTGw5bGJtTnZaR1ZPZFd4c0lEMGdablZ1WTNScGIyNGdaVzVqYjJSbFRuVnNiQ2dwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJOeVpXRjBaVVZ1WTI5a1pYSkNkV1ptWlhJb0p5Y3BPMXh1ZlR0Y2JseHVSRVZTVG05a1pTNXdjbTkwYjNSNWNHVXVYMlZ1WTI5a1pVbHVkQ0E5SUdaMWJtTjBhVzl1SUdWdVkyOWtaVWx1ZENodWRXMHNJSFpoYkhWbGN5a2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlHNTFiU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCcFppQW9JWFpoYkhWbGN5bGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsY0c5eWRHVnlMbVZ5Y205eUtDZFRkSEpwYm1jZ2FXNTBJRzl5SUdWdWRXMGdaMmwyWlc0c0lHSjFkQ0J1YnlCMllXeDFaWE1nYldGd0p5azdYRzRnSUNBZ2FXWWdLQ0YyWVd4MVpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2JuVnRLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVndiM0owWlhJdVpYSnliM0lvSjFaaGJIVmxjeUJ0WVhBZ1pHOWxjMjVjWENkMElHTnZiblJoYVc0NklDY2dLMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdTbE5QVGk1emRISnBibWRwWm5rb2JuVnRLU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHNTFiU0E5SUhaaGJIVmxjMXR1ZFcxZE8xeHVJQ0I5WEc1Y2JpQWdMeThnUW1sbmJuVnRMQ0JoYzNOMWJXVWdZbWxuSUdWdVpHbGhibHh1SUNCcFppQW9kSGx3Wlc5bUlHNTFiU0FoUFQwZ0oyNTFiV0psY2ljZ0ppWWdJVUoxWm1abGNpNXBjMEoxWm1abGNpaHVkVzBwS1NCN1hHNGdJQ0FnZG1GeUlHNTFiVUZ5Y21GNUlEMGdiblZ0TG5SdlFYSnlZWGtvS1R0Y2JpQWdJQ0JwWmlBb0lXNTFiUzV6YVdkdUlDWW1JRzUxYlVGeWNtRjVXekJkSUNZZ01IZzRNQ2tnZTF4dUlDQWdJQ0FnYm5WdFFYSnlZWGt1ZFc1emFHbG1kQ2d3S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdiblZ0SUQwZ2JtVjNJRUoxWm1abGNpaHVkVzFCY25KaGVTazdYRzRnSUgxY2JseHVJQ0JwWmlBb1FuVm1abVZ5TG1selFuVm1abVZ5S0c1MWJTa3BJSHRjYmlBZ0lDQjJZWElnYzJsNlpTQTlJRzUxYlM1c1pXNW5kR2c3WEc0Z0lDQWdhV1lnS0c1MWJTNXNaVzVuZEdnZ1BUMDlJREFwWEc0Z0lDQWdJQ0J6YVhwbEt5czdYRzVjYmlBZ0lDQjJZWElnYjNWMElEMGdibVYzSUVKMVptWmxjaWh6YVhwbEtUdGNiaUFnSUNCdWRXMHVZMjl3ZVNodmRYUXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQwOVBTQXdLVnh1SUNBZ0lDQWdiM1YwV3pCZElEMGdNRnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlqY21WaGRHVkZibU52WkdWeVFuVm1abVZ5S0c5MWRDazdYRzRnSUgxY2JseHVJQ0JwWmlBb2JuVnRJRHdnTUhnNE1DbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZZM0psWVhSbFJXNWpiMlJsY2tKMVptWmxjaWh1ZFcwcE8xeHVYRzRnSUdsbUlDaHVkVzBnUENBd2VERXdNQ2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmWTNKbFlYUmxSVzVqYjJSbGNrSjFabVpsY2loYk1Dd2diblZ0WFNrN1hHNWNiaUFnZG1GeUlITnBlbVVnUFNBeE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2JuVnRPeUJwSUQ0OUlEQjRNVEF3T3lCcElENCtQU0E0S1Z4dUlDQWdJSE5wZW1Vckt6dGNibHh1SUNCMllYSWdiM1YwSUQwZ2JtVjNJRUZ5Y21GNUtITnBlbVVwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnYjNWMExteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnYjNWMFcybGRJRDBnYm5WdElDWWdNSGhtWmp0Y2JpQWdJQ0J1ZFcwZ1BqNDlJRGc3WEc0Z0lIMWNiaUFnYVdZb2IzVjBXekJkSUNZZ01IZzRNQ2tnZTF4dUlDQWdJRzkxZEM1MWJuTm9hV1owS0RBcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJOeVpXRjBaVVZ1WTI5a1pYSkNkV1ptWlhJb2JtVjNJRUoxWm1abGNpaHZkWFFwS1R0Y2JuMDdYRzVjYmtSRlVrNXZaR1V1Y0hKdmRHOTBlWEJsTGw5bGJtTnZaR1ZDYjI5c0lEMGdablZ1WTNScGIyNGdaVzVqYjJSbFFtOXZiQ2gyWVd4MVpTa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWZZM0psWVhSbFJXNWpiMlJsY2tKMVptWmxjaWgyWVd4MVpTQS9JREI0Wm1ZZ09pQXdLVHRjYm4wN1hHNWNia1JGVWs1dlpHVXVjSEp2ZEc5MGVYQmxMbDkxYzJVZ1BTQm1kVzVqZEdsdmJpQjFjMlVvWlc1MGFYUjVMQ0J2WW1vcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCbGJuUnBkSGtnUFQwOUlDZG1kVzVqZEdsdmJpY3BYRzRnSUNBZ1pXNTBhWFI1SUQwZ1pXNTBhWFI1S0c5aWFpazdYRzRnSUhKbGRIVnliaUJsYm5ScGRIa3VYMmRsZEVWdVkyOWtaWElvSjJSbGNpY3BMblJ5WldVN1hHNTlPMXh1WEc1RVJWSk9iMlJsTG5CeWIzUnZkSGx3WlM1ZmMydHBjRVJsWm1GMWJIUWdQU0JtZFc1amRHbHZiaUJ6YTJsd1JHVm1ZWFZzZENoa1lYUmhRblZtWm1WeUxDQnlaWEJ2Y25SbGNpd2djR0Z5Wlc1MEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDJKaGMyVlRkR0YwWlR0Y2JpQWdkbUZ5SUdrN1hHNGdJR2xtSUNoemRHRjBaVnNuWkdWbVlYVnNkQ2RkSUQwOVBTQnVkV3hzS1Z4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JseHVJQ0IyWVhJZ1pHRjBZU0E5SUdSaGRHRkNkV1ptWlhJdWFtOXBiaWdwTzF4dUlDQnBaaUFvYzNSaGRHVXVaR1ZtWVhWc2RFSjFabVpsY2lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lITjBZWFJsTG1SbFptRjFiSFJDZFdabVpYSWdQU0IwYUdsekxsOWxibU52WkdWV1lXeDFaU2h6ZEdGMFpWc25aR1ZtWVhWc2RDZGRMQ0J5WlhCdmNuUmxjaXdnY0dGeVpXNTBLUzVxYjJsdUtDazdYRzVjYmlBZ2FXWWdLR1JoZEdFdWJHVnVaM1JvSUNFOVBTQnpkR0YwWlM1a1pXWmhkV3gwUW5WbVptVnlMbXhsYm1kMGFDbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ1ptOXlJQ2hwUFRBN0lHa2dQQ0JrWVhSaExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lHbG1JQ2hrWVhSaFcybGRJQ0U5UFNCemRHRjBaUzVrWldaaGRXeDBRblZtWm1WeVcybGRLVnh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZUdGNibHh1THk4Z1ZYUnBiR2wwZVNCdFpYUm9iMlJ6WEc1Y2JtWjFibU4wYVc5dUlHVnVZMjlrWlZSaFp5aDBZV2NzSUhCeWFXMXBkR2wyWlN3Z1kyeHpMQ0J5WlhCdmNuUmxjaWtnZTF4dUlDQjJZWElnY21Wek8xeHVYRzRnSUdsbUlDaDBZV2NnUFQwOUlDZHpaWEZ2WmljcFhHNGdJQ0FnZEdGbklEMGdKM05sY1NjN1hHNGdJR1ZzYzJVZ2FXWWdLSFJoWnlBOVBUMGdKM05sZEc5bUp5bGNiaUFnSUNCMFlXY2dQU0FuYzJWMEp6dGNibHh1SUNCcFppQW9aR1Z5TG5SaFowSjVUbUZ0WlM1b1lYTlBkMjVRY205d1pYSjBlU2gwWVdjcEtWeHVJQ0FnSUhKbGN5QTlJR1JsY2k1MFlXZENlVTVoYldWYmRHRm5YVHRjYmlBZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhSaFp5QTlQVDBnSjI1MWJXSmxjaWNnSmlZZ0tIUmhaeUI4SURBcElEMDlQU0IwWVdjcFhHNGdJQ0FnY21WeklEMGdkR0ZuTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlISmxjRzl5ZEdWeUxtVnljbTl5S0NkVmJtdHViM2R1SUhSaFp6b2dKeUFySUhSaFp5azdYRzVjYmlBZ2FXWWdLSEpsY3lBK1BTQXdlREZtS1Z4dUlDQWdJSEpsZEhWeWJpQnlaWEJ2Y25SbGNpNWxjbkp2Y2lnblRYVnNkR2t0YjJOMFpYUWdkR0ZuSUdWdVkyOWthVzVuSUhWdWMzVndjRzl5ZEdWa0p5azdYRzVjYmlBZ2FXWWdLQ0Z3Y21sdGFYUnBkbVVwWEc0Z0lDQWdjbVZ6SUh3OUlEQjRNakE3WEc1Y2JpQWdjbVZ6SUh3OUlDaGtaWEl1ZEdGblEyeGhjM05DZVU1aGJXVmJZMnh6SUh4OElDZDFibWwyWlhKellXd25YU0E4UENBMktUdGNibHh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbGliL2FzbjEvZW5jb2RlcnMvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGVuY29kZXJzID0gZXhwb3J0cztcXG5cXG5lbmNvZGVycy5kZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9kZXIuanNcXFwiKTtcXG5lbmNvZGVycy5wZW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3BlbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9wZW0uanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhjMjR4TG1wekwyeHBZaTloYzI0eEwyVnVZMjlrWlhKekwybHVaR1Y0TG1welB6VXlObUVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRGhFUVVGUE8wRkJRemxDTEdWQlFXVXNiVUpCUVU4c1EwRkJReXc0UkVGQlR5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJWdVkyOWtaWEp6TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdWdVkyOWtaWEp6SUQwZ1pYaHdiM0owY3p0Y2JseHVaVzVqYjJSbGNuTXVaR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWtaWEluS1R0Y2JtVnVZMjlrWlhKekxuQmxiU0E5SUhKbGNYVnBjbVVvSnk0dmNHVnRKeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL3BlbS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL3BlbS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG5cXG52YXIgREVSRW5jb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xL2VuY29kZXJzL2Rlci5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIFBFTUVuY29kZXIoZW50aXR5KSB7XFxuICBERVJFbmNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcXG4gIHRoaXMuZW5jID0gJ3BlbSc7XFxufTtcXG5pbmhlcml0cyhQRU1FbmNvZGVyLCBERVJFbmNvZGVyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFBFTUVuY29kZXI7XFxuXFxuUEVNRW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlID0gZnVuY3Rpb24gZW5jb2RlKGRhdGEsIG9wdGlvbnMpIHtcXG4gIHZhciBidWYgPSBERVJFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUuY2FsbCh0aGlzLCBkYXRhKTtcXG5cXG4gIHZhciBwID0gYnVmLnRvU3RyaW5nKCdiYXNlNjQnKTtcXG4gIHZhciBvdXQgPSBbICctLS0tLUJFR0lOICcgKyBvcHRpb25zLmxhYmVsICsgJy0tLS0tJyBdO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwLmxlbmd0aDsgaSArPSA2NClcXG4gICAgb3V0LnB1c2gocC5zbGljZShpLCBpICsgNjQpKTtcXG4gIG91dC5wdXNoKCctLS0tLUVORCAnICsgb3B0aW9ucy5sYWJlbCArICctLS0tLScpO1xcbiAgcmV0dXJuIG91dC5qb2luKCdcXFxcbicpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMnhwWWk5aGMyNHhMMlZ1WTI5a1pYSnpMM0JsYlM1cWN6ODRZbVV6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNPRVJCUVU4N08wRkJSV2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNZMEZCWXp0QlFVTXZRanRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGMyNHhMbXB6TDJ4cFlpOWhjMjR4TDJWdVkyOWtaWEp6TDNCbGJTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlrN1hHNWNiblpoY2lCRVJWSkZibU52WkdWeUlEMGdjbVZ4ZFdseVpTZ25MaTlrWlhJbktUdGNibHh1Wm5WdVkzUnBiMjRnVUVWTlJXNWpiMlJsY2lobGJuUnBkSGtwSUh0Y2JpQWdSRVZTUlc1amIyUmxjaTVqWVd4c0tIUm9hWE1zSUdWdWRHbDBlU2s3WEc0Z0lIUm9hWE11Wlc1aklEMGdKM0JsYlNjN1hHNTlPMXh1YVc1b1pYSnBkSE1vVUVWTlJXNWpiMlJsY2l3Z1JFVlNSVzVqYjJSbGNpazdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRkJGVFVWdVkyOWtaWEk3WEc1Y2JsQkZUVVZ1WTI5a1pYSXVjSEp2ZEc5MGVYQmxMbVZ1WTI5a1pTQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pTaGtZWFJoTENCdmNIUnBiMjV6S1NCN1hHNGdJSFpoY2lCaWRXWWdQU0JFUlZKRmJtTnZaR1Z5TG5CeWIzUnZkSGx3WlM1bGJtTnZaR1V1WTJGc2JDaDBhR2x6TENCa1lYUmhLVHRjYmx4dUlDQjJZWElnY0NBOUlHSjFaaTUwYjFOMGNtbHVaeWduWW1GelpUWTBKeWs3WEc0Z0lIWmhjaUJ2ZFhRZ1BTQmJJQ2N0TFMwdExVSkZSMGxPSUNjZ0t5QnZjSFJwYjI1ekxteGhZbVZzSUNzZ0p5MHRMUzB0SnlCZE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhBdWJHVnVaM1JvT3lCcElDczlJRFkwS1Z4dUlDQWdJRzkxZEM1d2RYTm9LSEF1YzJ4cFkyVW9hU3dnYVNBcklEWTBLU2s3WEc0Z0lHOTFkQzV3ZFhOb0tDY3RMUzB0TFVWT1JDQW5JQ3NnYjNCMGFXOXVjeTVzWVdKbGJDQXJJQ2N0TFMwdExTY3BPMXh1SUNCeVpYUjFjbTRnYjNWMExtcHZhVzRvSjF4Y2JpY3BPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9saWIvYXNuMS9lbmNvZGVycy9wZW0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2FzbjEuanMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKG1vZHVsZSkgeyhmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XFxuICAndXNlIHN0cmljdCc7XFxuXFxuICAvLyBVdGlsc1xcbiAgZnVuY3Rpb24gYXNzZXJ0ICh2YWwsIG1zZykge1xcbiAgICBpZiAoIXZhbCkgdGhyb3cgbmV3IEVycm9yKG1zZyB8fCAnQXNzZXJ0aW9uIGZhaWxlZCcpO1xcbiAgfVxcblxcbiAgLy8gQ291bGQgdXNlIGBpbmhlcml0c2AgbW9kdWxlLCBidXQgZG9uJ3Qgd2FudCB0byBtb3ZlIGZyb20gc2luZ2xlIGZpbGVcXG4gIC8vIGFyY2hpdGVjdHVyZSB5ZXQuXFxuICBmdW5jdGlvbiBpbmhlcml0cyAoY3Rvciwgc3VwZXJDdG9yKSB7XFxuICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yO1xcbiAgICB2YXIgVGVtcEN0b3IgPSBmdW5jdGlvbiAoKSB7fTtcXG4gICAgVGVtcEN0b3IucHJvdG90eXBlID0gc3VwZXJDdG9yLnByb3RvdHlwZTtcXG4gICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKTtcXG4gICAgY3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjdG9yO1xcbiAgfVxcblxcbiAgLy8gQk5cXG5cXG4gIGZ1bmN0aW9uIEJOIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAoQk4uaXNCTihudW1iZXIpKSB7XFxuICAgICAgcmV0dXJuIG51bWJlcjtcXG4gICAgfVxcblxcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgdGhpcy53b3JkcyA9IG51bGw7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG5cXG4gICAgLy8gUmVkdWN0aW9uIGNvbnRleHRcXG4gICAgdGhpcy5yZWQgPSBudWxsO1xcblxcbiAgICBpZiAobnVtYmVyICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGJhc2UgPT09ICdsZScgfHwgYmFzZSA9PT0gJ2JlJykge1xcbiAgICAgICAgZW5kaWFuID0gYmFzZTtcXG4gICAgICAgIGJhc2UgPSAxMDtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5faW5pdChudW1iZXIgfHwgMCwgYmFzZSB8fCAxMCwgZW5kaWFuIHx8ICdiZScpO1xcbiAgICB9XFxuICB9XFxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpIHtcXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBCTjtcXG4gIH0gZWxzZSB7XFxuICAgIGV4cG9ydHMuQk4gPSBCTjtcXG4gIH1cXG5cXG4gIEJOLkJOID0gQk47XFxuICBCTi53b3JkU2l6ZSA9IDI2O1xcblxcbiAgdmFyIEJ1ZmZlcjtcXG4gIHRyeSB7XFxuICAgIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyAxMikuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloYzI0eExtcHpMMjV2WkdWZmJXOWtkV3hsY3k5aWJpNXFjeTlzYVdJdlltNHVhbk0vTkdGbU5TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNaMEpCUVZFN1FVRkROMElzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEhkRFFVRjNRenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eFJRVUZSTzBGQlEyaEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUWtGQmQwSXNiVUpCUVcxQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UTBGQmMwTXNXVUZCV1R0QlFVTnNSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVE8wRkJRMmhET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHM3UVVGRlFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYzBOQlFYTkRMSE5DUVVGelFqdEJRVU0xUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3gxUWtGQmRVSXNVMEZCVXp0QlFVTm9RenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTERSQ1FVRTBRanRCUVVNM1F6dEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeGhRVUZoTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNXVUZCV1N4bFFVRmxPMEZCUXpOQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxIRkNRVUZ4UWl4blFrRkJaMEk3UVVGRGNrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN3MlFrRkJOa0k3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHZSRUZCYjBRc1YwRkJWenRCUVVNdlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXh2UWtGQmIwSTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFBRVUZQTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1IwRkJSenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWpzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3TzBGQlJVRXNhME5CUVd0RE8wRkJRMnhETEhORFFVRnpRenRCUVVOMFF6czdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeFBRVUZQTzBGQlF6VkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzWTBGQll6dEJRVU16UXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNLMEpCUVN0Q0xGRkJRVkU3UVVGRGRrTTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNUMEZCVHp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzYVVKQlFXbENMR2xDUVVGcFFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEN0RFFVRXJRenRCUVVOc1JUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4eFFrRkJjVUlzYzBOQlFYTkRPMEZCUXpORU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3huUWtGQlowSTdRVUZETDBJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN4NVFrRkJlVUk3UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3hwUWtGQmFVSTdRVUZEYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMR05CUVdNN1FVRkRia003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF5eFJRVUZSTzBGQlEzcERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVFrRkJkVUlzTUVKQlFUQkNPMEZCUTJwRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3TzBGQlJVdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhuUTBGQlowTTdRVUZEYmtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeFpRVUZaTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4blFrRkJaMElzYTBKQlFXdENPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeG5Ra0ZCWjBJN1FVRkRia003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNiMEpCUVc5Q08wRkJRM3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNORUpCUVRSQ0xGRkJRVkU3UVVGRGNFTTdRVUZEUVN3MlFrRkJOa0lzVVVGQlVUdEJRVU55UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGTEUxQlFUWkNJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyRnpiakV1YW5NdmJtOWtaVjl0YjJSMWJHVnpMMkp1TG1wekwyeHBZaTlpYmk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlobWRXNWpkR2x2YmlBb2JXOWtkV3hsTENCbGVIQnZjblJ6S1NCN1hHNGdJQ2QxYzJVZ2MzUnlhV04wSnp0Y2JseHVJQ0F2THlCVmRHbHNjMXh1SUNCbWRXNWpkR2x2YmlCaGMzTmxjblFnS0haaGJDd2diWE5uS1NCN1hHNGdJQ0FnYVdZZ0tDRjJZV3dwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0YzJjZ2ZId2dKMEZ6YzJWeWRHbHZiaUJtWVdsc1pXUW5LVHRjYmlBZ2ZWeHVYRzRnSUM4dklFTnZkV3hrSUhWelpTQmdhVzVvWlhKcGRITmdJRzF2WkhWc1pTd2dZblYwSUdSdmJpZDBJSGRoYm5RZ2RHOGdiVzkyWlNCbWNtOXRJSE5wYm1kc1pTQm1hV3hsWEc0Z0lDOHZJR0Z5WTJocGRHVmpkSFZ5WlNCNVpYUXVYRzRnSUdaMWJtTjBhVzl1SUdsdWFHVnlhWFJ6SUNoamRHOXlMQ0J6ZFhCbGNrTjBiM0lwSUh0Y2JpQWdJQ0JqZEc5eUxuTjFjR1Z5WHlBOUlITjFjR1Z5UTNSdmNqdGNiaUFnSUNCMllYSWdWR1Z0Y0VOMGIzSWdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNiaUFnSUNCVVpXMXdRM1J2Y2k1d2NtOTBiM1I1Y0dVZ1BTQnpkWEJsY2tOMGIzSXVjSEp2ZEc5MGVYQmxPMXh1SUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ2JtVjNJRlJsYlhCRGRHOXlLQ2s3WEc0Z0lDQWdZM1J2Y2k1d2NtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JqZEc5eU8xeHVJQ0I5WEc1Y2JpQWdMeThnUWs1Y2JseHVJQ0JtZFc1amRHbHZiaUJDVGlBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQnBaaUFvUWs0dWFYTkNUaWh1ZFcxaVpYSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZ0WW1WeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JseHVJQ0FnSUM4dklGSmxaSFZqZEdsdmJpQmpiMjUwWlhoMFhHNGdJQ0FnZEdocGN5NXlaV1FnUFNCdWRXeHNPMXh1WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlDZHNaU2NnZkh3Z1ltRnpaU0E5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnSUNCbGJtUnBZVzRnUFNCaVlYTmxPMXh1SUNBZ0lDQWdJQ0JpWVhObElEMGdNVEE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMmx1YVhRb2JuVnRZbVZ5SUh4OElEQXNJR0poYzJVZ2ZId2dNVEFzSUdWdVpHbGhiaUI4ZkNBblltVW5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdhV1lnS0hSNWNHVnZaaUJ0YjJSMWJHVWdQVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JDVGp0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCbGVIQnZjblJ6TGtKT0lEMGdRazQ3WEc0Z0lIMWNibHh1SUNCQ1RpNUNUaUE5SUVKT08xeHVJQ0JDVGk1M2IzSmtVMmw2WlNBOUlESTJPMXh1WEc0Z0lIWmhjaUJDZFdabVpYSTdYRzRnSUhSeWVTQjdYRzRnSUNBZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5SnlrdVFuVm1abVZ5TzF4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lIMWNibHh1SUNCQ1RpNXBjMEpPSUQwZ1puVnVZM1JwYjI0Z2FYTkNUaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlNCcGJuTjBZVzVqWlc5bUlFSk9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0SUNFOVBTQnVkV3hzSUNZbUlIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdlltcGxZM1FuSUNZbVhHNGdJQ0FnSUNCdWRXMHVZMjl1YzNSeWRXTjBiM0l1ZDI5eVpGTnBlbVVnUFQwOUlFSk9MbmR2Y21SVGFYcGxJQ1ltSUVGeWNtRjVMbWx6UVhKeVlYa29iblZ0TG5kdmNtUnpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXRZWGdnUFNCbWRXNWpkR2x2YmlCdFlYZ2dLR3hsWm5Rc0lISnBaMmgwS1NCN1hHNGdJQ0FnYVdZZ0tHeGxablF1WTIxd0tISnBaMmgwS1NBK0lEQXBJSEpsZEhWeWJpQnNaV1owTzF4dUlDQWdJSEpsZEhWeWJpQnlhV2RvZER0Y2JpQWdmVHRjYmx4dUlDQkNUaTV0YVc0Z1BTQm1kVzVqZEdsdmJpQnRhVzRnS0d4bFpuUXNJSEpwWjJoMEtTQjdYRzRnSUNBZ2FXWWdLR3hsWm5RdVkyMXdLSEpwWjJoMEtTQThJREFwSUhKbGRIVnliaUJzWldaME8xeHVJQ0FnSUhKbGRIVnliaUJ5YVdkb2REdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHVhWFFnUFNCbWRXNWpkR2x2YmlCcGJtbDBJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JuVnRZbVZ5SUQwOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDJsdWFYUk9kVzFpWlhJb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiblZ0WW1WeUlEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybHVhWFJCY25KaGVTaHVkVzFpWlhJc0lHSmhjMlVzSUdWdVpHbGhiaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0JpWVhObElEMGdNVFk3WEc0Z0lDQWdmVnh1SUNBZ0lHRnpjMlZ5ZENoaVlYTmxJRDA5UFNBb1ltRnpaU0I4SURBcElDWW1JR0poYzJVZ1BqMGdNaUFtSmlCaVlYTmxJRHc5SURNMktUdGNibHh1SUNBZ0lHNTFiV0psY2lBOUlHNTFiV0psY2k1MGIxTjBjbWx1WnlncExuSmxjR3hoWTJVb0wxeGNjeXN2Wnl3Z0p5Y3BPMXh1SUNBZ0lIWmhjaUJ6ZEdGeWRDQTlJREE3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjbHN3WFNBOVBUMGdKeTBuS1NCN1hHNGdJQ0FnSUNCemRHRnlkQ3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNHRnljMlZJWlhnb2JuVnRZbVZ5TENCemRHRnlkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCaGNuTmxRbUZ6WlNodWRXMWlaWElzSUdKaGMyVXNJSE4wWVhKMEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJSFJvYVhNdVgybHVhWFJCY25KaGVTaDBhR2x6TG5SdlFYSnlZWGtvS1N3Z1ltRnpaU3dnWlc1a2FXRnVLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1YVhST2RXMWlaWElnUFNCbWRXNWpkR2x2YmlCZmFXNXBkRTUxYldKbGNpQW9iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ0lDQnVkVzFpWlhJZ1BTQXRiblZ0WW1WeU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01IZzBNREF3TURBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lCdWRXMWlaWElnSmlBd2VETm1abVptWm1ZZ1hUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJXSmxjaUE4SURCNE1UQXdNREF3TURBd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURJN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzFpWlhJZ1BDQXdlREl3TURBd01EQXdNREF3TURBd0tUc2dMeThnTWlCZUlEVXpJQ2gxYm5OaFptVXBYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBeFhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHSjVkR1Z6WEc0Z0lDQWdkR2hwY3k1ZmFXNXBkRUZ5Y21GNUtIUm9hWE11ZEc5QmNuSmhlU2dwTENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzVwZEVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUkJjbkpoZVNBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQXZMeUJRWlhKb1lYQnpJR0VnVldsdWREaEJjbkpoZVZ4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRZbVZ5TG14bGJtZDBhQ0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdsbUlDaHVkVzFpWlhJdWJHVnVaM1JvSUR3OUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYklEQWdYVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnVFdGMGFDNWpaV2xzS0c1MWJXSmxjaTVzWlc1bmRHZ2dMeUF6S1R0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJxTENCM08xeHVJQ0FnSUhaaGNpQnZabVlnUFNBd08xeHVJQ0FnSUdsbUlDaGxibVJwWVc0Z1BUMDlJQ2RpWlNjcElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNBeExDQnFJRDBnTURzZ2FTQStQU0F3T3lCcElDMDlJRE1wSUh0Y2JpQWdJQ0FnSUNBZ2R5QTlJRzUxYldKbGNsdHBYU0I4SUNodWRXMWlaWEpiYVNBdElERmRJRHc4SURncElId2dLRzUxYldKbGNsdHBJQzBnTWwwZ1BEd2dNVFlwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcycGRJSHc5SUNoM0lEdzhJRzltWmlrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWlBcklERmRJRDBnS0hjZ1BqNCtJQ2d5TmlBdElHOW1aaWtwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQnZabVlnS3owZ01qUTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hsYm1ScFlXNGdQVDA5SUNkc1pTY3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREFzSUdvZ1BTQXdPeUJwSUR3Z2JuVnRZbVZ5TG14bGJtZDBhRHNnYVNBclBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnS3lBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXJJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSEJoY25ObFNHVjRJQ2h6ZEhJc0lITjBZWEowTENCbGJtUXBJSHRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlFMWhkR2d1YldsdUtITjBjaTVzWlc1bmRHZ3NJR1Z1WkNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITjBZWEowT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCaklEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dMU0EwT0R0Y2JseHVJQ0FnSUNBZ2NpQThQRDBnTkR0Y2JseHVJQ0FnSUNBZ0x5OGdKMkVuSUMwZ0oyWW5YRzRnSUNBZ0lDQnBaaUFvWXlBK1BTQTBPU0FtSmlCaklEdzlJRFUwS1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNjZ0xTQW5SaWRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWXlBK1BTQXhOeUFtSmlCaklEdzlJREl5S1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElERTNJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuTUNjZ0xTQW5PU2RjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSElnZkQwZ1l5QW1JREI0Wmp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISTdYRzRnSUgxY2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgzQmhjbk5sU0dWNElEMGdablZ1WTNScGIyNGdYM0JoY25ObFNHVjRJQ2h1ZFcxaVpYSXNJSE4wWVhKMEtTQjdYRzRnSUNBZ0x5OGdRM0psWVhSbElIQnZjM05wWW14NUlHSnBaMmRsY2lCaGNuSmhlU0IwYnlCbGJuTjFjbVVnZEdoaGRDQnBkQ0JtYVhSeklIUm9aU0J1ZFcxaVpYSmNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2dvYm5WdFltVnlMbXhsYm1kMGFDQXRJSE4wWVhKMEtTQXZJRFlwTzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR29zSUhjN1hHNGdJQ0FnTHk4Z1UyTmhiaUF5TkMxaWFYUWdZMmgxYm10eklHRnVaQ0JoWkdRZ2RHaGxiU0IwYnlCMGFHVWdiblZ0WW1WeVhHNGdJQ0FnZG1GeUlHOW1aaUE5SURBN1hHNGdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJRFlzSUdvZ1BTQXdPeUJwSUQ0OUlITjBZWEowT3lCcElDMDlJRFlwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lHa3NJR2tnS3lBMktUdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhbDBnZkQwZ0tIY2dQRHdnYjJabUtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQzh2SUU1UFZFVTZJR0F3ZURObVptWm1abUFnYVhNZ2FXNTBaVzUwYVc5dVlXd2dhR1Z5WlN3Z01qWmlhWFJ6SUcxaGVDQnphR2xtZENBcklESTBZbWwwSUdobGVDQnNhVzFpWEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJvZ0t5QXhYU0I4UFNCM0lENCtQaUFvTWpZZ0xTQnZabVlwSUNZZ01IZ3pabVptWm1ZN1hHNGdJQ0FnSUNCdlptWWdLejBnTWpRN1hHNGdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUc5bVppQXRQU0F5Tmp0Y2JpQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hU0FySURZZ0lUMDlJSE4wWVhKMEtTQjdYRzRnSUNBZ0lDQjNJRDBnY0dGeWMyVklaWGdvYm5WdFltVnlMQ0J6ZEdGeWRDd2dhU0FySURZcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFYU0I4UFNBb2R5QThQQ0J2Wm1ZcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxSUNzZ01WMGdmRDBnZHlBK1BqNGdLREkySUMwZ2IyWm1LU0FtSURCNE0yWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZDWVhObElDaHpkSElzSUhOMFlYSjBMQ0JsYm1Rc0lHMTFiQ2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdNRHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdUV0YwYUM1dGFXNG9jM1J5TG14bGJtZDBhQ3dnWlc1a0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHTWdQU0J6ZEhJdVkyaGhja052WkdWQmRDaHBLU0F0SURRNE8xeHVYRzRnSUNBZ0lDQnlJQ285SUcxMWJEdGNibHh1SUNBZ0lDQWdMeThnSjJFblhHNGdJQ0FnSUNCcFppQW9ZeUErUFNBME9Ta2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTWdMU0EwT1NBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0owRW5YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUGowZ01UY3BJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0JqTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmNHRnljMlZDWVhObElEMGdablZ1WTNScGIyNGdYM0JoY25ObFFtRnpaU0FvYm5WdFltVnlMQ0JpWVhObExDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdZWE1nZW1WeWIxeHVJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJREFnWFR0Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzVjYmlBZ0lDQXZMeUJHYVc1a0lHeGxibWQwYUNCdlppQnNhVzFpSUdsdUlHSmhjMlZjYmlBZ0lDQm1iM0lnS0haaGNpQnNhVzFpVEdWdUlEMGdNQ3dnYkdsdFlsQnZkeUE5SURFN0lHeHBiV0pRYjNjZ1BEMGdNSGd6Wm1abVptWm1PeUJzYVcxaVVHOTNJQ285SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR3hwYldKTVpXNHJLenRjYmlBZ0lDQjlYRzRnSUNBZ2JHbHRZa3hsYmkwdE8xeHVJQ0FnSUd4cGJXSlFiM2NnUFNBb2JHbHRZbEJ2ZHlBdklHSmhjMlVwSUh3Z01EdGNibHh1SUNBZ0lIWmhjaUIwYjNSaGJDQTlJRzUxYldKbGNpNXNaVzVuZEdnZ0xTQnpkR0Z5ZER0Y2JpQWdJQ0IyWVhJZ2JXOWtJRDBnZEc5MFlXd2dKU0JzYVcxaVRHVnVPMXh1SUNBZ0lIWmhjaUJsYm1RZ1BTQk5ZWFJvTG0xcGJpaDBiM1JoYkN3Z2RHOTBZV3dnTFNCdGIyUXBJQ3NnYzNSaGNuUTdYRzVjYmlBZ0lDQjJZWElnZDI5eVpDQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z1pXNWtPeUJwSUNzOUlHeHBiV0pNWlc0cElIdGNiaUFnSUNBZ0lIZHZjbVFnUFNCd1lYSnpaVUpoYzJVb2JuVnRZbVZ5TENCcExDQnBJQ3NnYkdsdFlreGxiaXdnWW1GelpTazdYRzVjYmlBZ0lDQWdJSFJvYVhNdWFXMTFiRzRvYkdsdFlsQnZkeWs3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FySUhkdmNtUWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0FyUFNCM2IzSmtPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmFXRmtaRzRvZDI5eVpDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzF2WkNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIQnZkeUE5SURFN1hHNGdJQ0FnSUNCM2IzSmtJRDBnY0dGeWMyVkNZWE5sS0c1MWJXSmxjaXdnYVN3Z2JuVnRZbVZ5TG14bGJtZDBhQ3dnWW1GelpTazdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnRiMlE3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0J3YjNjZ0tqMGdZbUZ6WlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHdiM2NwTzF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11ZDI5eVpITmJNRjBnS3lCM2IzSmtJRHdnTUhnME1EQXdNREF3S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnS3owZ2QyOXlaRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgybGhaR1J1S0hkdmNtUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUdOdmNIa2dLR1JsYzNRcElIdGNiaUFnSUNCa1pYTjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdSbGMzUXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0JrWlhOMExteGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9PMXh1SUNBZ0lHUmxjM1F1Ym1WbllYUnBkbVVnUFNCMGFHbHpMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHUmxjM1F1Y21Wa0lEMGdkR2hwY3k1eVpXUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z1kyeHZibVVnS0NrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUhSb2FYTXVZMjl3ZVNoeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJWNGNHRnVaQ0E5SUdaMWJtTjBhVzl1SUY5bGVIQmhibVFnS0hOcGVtVXBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J6YVhwbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvS3l0ZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVnRiM1psSUd4bFlXUnBibWNnWURCZ0lHWnliMjBnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkSEpwY0NBOUlHWjFibU4wYVc5dUlITjBjbWx3SUNncElIdGNiaUFnSUNCM2FHbHNaU0FvZEdocGN5NXNaVzVuZEdnZ1BpQXhJQ1ltSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdndExUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXViM0p0VTJsbmJpQTlJR1oxYm1OMGFXOXVJRjl1YjNKdFUybG5iaUFvS1NCN1hHNGdJQ0FnTHk4Z0xUQWdQU0F3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXNXpjR1ZqZENBOUlHWjFibU4wYVc5dUlHbHVjM0JsWTNRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTV5WldRZ1B5QW5QRUpPTFZJNklDY2dPaUFuUEVKT09pQW5LU0FySUhSb2FYTXVkRzlUZEhKcGJtY29NVFlwSUNzZ0p6NG5PMXh1SUNCOU8xeHVYRzRnSUM4cVhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxMDdYRzRnSUhaaGNpQm5jbTkxY0ZOcGVtVnpJRDBnVzEwN1hHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMTA3WEc1Y2JpQWdkbUZ5SUhNZ1BTQW5KenRjYmlBZ2RtRnlJR2tnUFNBdE1UdGNiaUFnZDJocGJHVWdLQ3NyYVNBOElFSk9MbmR2Y21SVGFYcGxLU0I3WEc0Z0lDQWdlbVZ5YjNOYmFWMGdQU0J6TzF4dUlDQWdJSE1nS3owZ0p6QW5PMXh1SUNCOVhHNGdJR2R5YjNWd1UybDZaWE5iTUYwZ1BTQXdPMXh1SUNCbmNtOTFjRk5wZW1Weld6RmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN3WFNBOUlEQTdYRzRnSUdkeWIzVndRbUZ6WlhOYk1WMGdQU0F3TzF4dUlDQjJZWElnWW1GelpTQTlJRElnTFNBeE8xeHVJQ0IzYUdsc1pTQW9LeXRpWVhObElEd2dNellnS3lBeEtTQjdYRzRnSUNBZ2RtRnlJR2R5YjNWd1UybDZaU0E5SURBN1hHNGdJQ0FnZG1GeUlHZHliM1Z3UW1GelpTQTlJREU3WEc0Z0lDQWdkMmhwYkdVZ0tHZHliM1Z3UW1GelpTQThJQ2d4SUR3OElFSk9MbmR2Y21SVGFYcGxLU0F2SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR2R5YjNWd1FtRnpaU0FxUFNCaVlYTmxPMXh1SUNBZ0lDQWdaM0p2ZFhCVGFYcGxJQ3M5SURFN1hHNGdJQ0FnZlZ4dUlDQWdJR2R5YjNWd1UybDZaWE5iWW1GelpWMGdQU0JuY205MWNGTnBlbVU3WEc0Z0lDQWdaM0p2ZFhCQ1lYTmxjMXRpWVhObFhTQTlJR2R5YjNWd1FtRnpaVHRjYmlBZ2ZWeHVYRzRnSUNvdlhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxeHVJQ0FnSUNjbkxGeHVJQ0FnSUNjd0p5eGNiaUFnSUNBbk1EQW5MRnh1SUNBZ0lDY3dNREFuTEZ4dUlDQWdJQ2N3TURBd0p5eGNiaUFnSUNBbk1EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0oxeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRk5wZW1WeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNalVzSURFMkxDQXhNaXdnTVRFc0lERXdMQ0E1TENBNExGeHVJQ0FnSURnc0lEY3NJRGNzSURjc0lEY3NJRFlzSURZc1hHNGdJQ0FnTml3Z05pd2dOaXdnTml3Z05pd2dOU3dnTlN4Y2JpQWdJQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTEZ4dUlDQWdJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNJRFZjYmlBZ1hUdGNibHh1SUNCMllYSWdaM0p2ZFhCQ1lYTmxjeUE5SUZ0Y2JpQWdJQ0F3TENBd0xGeHVJQ0FnSURNek5UVTBORE15TENBME16QTBOamN5TVN3Z01UWTNOemN5TVRZc0lEUTRPREk0TVRJMUxDQTJNRFEyTmpFM05pd2dOREF6TlRNMk1EY3NJREUyTnpjM01qRTJMRnh1SUNBZ0lEUXpNRFEyTnpJeExDQXhNREF3TURBd01Dd2dNVGswT0RjeE56RXNJRE0xT0RNeE9EQTRMQ0EyTWpjME9EVXhOeXdnTnpVeU9UVXpOaXdnTVRFek9UQTJNalVzWEc0Z0lDQWdNVFkzTnpjeU1UWXNJREkwTVRNM05UWTVMQ0F6TkRBeE1qSXlOQ3dnTkRjd05EVTRPREVzSURZME1EQXdNREF3TENBME1EZzBNVEF4TENBMU1UVXpOak15TEZ4dUlDQWdJRFkwTXpZek5ETXNJRGM1TmpJMk1qUXNJRGszTmpVMk1qVXNJREV4T0RneE16YzJMQ0F4TkRNME9Ea3dOeXdnTVRjeU1UQXpOamdzSURJd05URXhNVFE1TEZ4dUlDQWdJREkwTXpBd01EQXdMQ0F5T0RZeU9URTFNU3dnTXpNMU5UUTBNeklzSURNNU1UTTFNemt6TENBME5UUXpOVFF5TkN3Z05USTFNakU0TnpVc0lEWXdORFkyTVRjMlhHNGdJRjA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuSUQwZ1puVnVZM1JwYjI0Z2RHOVRkSEpwYm1jZ0tHSmhjMlVzSUhCaFpHUnBibWNwSUh0Y2JpQWdJQ0JpWVhObElEMGdZbUZ6WlNCOGZDQXhNRHRjYmlBZ0lDQndZV1JrYVc1bklEMGdjR0ZrWkdsdVp5QjhJREFnZkh3Z01UdGNibHh1SUNBZ0lIWmhjaUJ2ZFhRN1hHNGdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlERTJJSHg4SUdKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0J2ZFhRZ1BTQW5KenRjYmlBZ0lDQWdJSFpoY2lCdlptWWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzYjNKa0lEMGdLQ2dvZHlBOFBDQnZabVlwSUh3Z1kyRnljbmtwSUNZZ01IaG1abVptWm1ZcExuUnZVM1J5YVc1bktERTJLVHRjYmlBZ0lDQWdJQ0FnWTJGeWNua2dQU0FvZHlBK1BqNGdLREkwSUMwZ2IyWm1LU2tnSmlBd2VHWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dJVDA5SUhSb2FYTXViR1Z1WjNSb0lDMGdNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhwbGNtOXpXellnTFNCM2IzSmtMbXhsYm1kMGFGMGdLeUIzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhkdmNtUWdLeUJ2ZFhRN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdiMlptSUNzOUlESTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2FTMHRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdZMkZ5Y25rdWRHOVRkSEpwYm1jb01UWXBJQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2QyaHBiR1VnS0c5MWRDNXNaVzVuZEdnZ0pTQndZV1JrYVc1bklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJQ2N0SnlBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQnZkWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNoaVlYTmxJSHdnTUNrZ0ppWWdZbUZ6WlNBK1BTQXlJQ1ltSUdKaGMyVWdQRDBnTXpZcElIdGNiaUFnSUNBZ0lDOHZJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRUpPTG5kdmNtUlRhWHBsSUNvZ1RXRjBhQzVNVGpJZ0x5Qk5ZWFJvTG14dlp5aGlZWE5sS1NrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCVGFYcGxJRDBnWjNKdmRYQlRhWHBsYzF0aVlYTmxYVHRjYmlBZ0lDQWdJQzh2SUhaaGNpQm5jbTkxY0VKaGMyVWdQU0JOWVhSb0xuQnZkeWhpWVhObExDQm5jbTkxY0ZOcGVtVXBPMXh1SUNBZ0lDQWdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlHZHliM1Z3UW1GelpYTmJZbUZ6WlYwN1hHNGdJQ0FnSUNCdmRYUWdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUNBZ1l5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9JV011YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSElnUFNCakxtMXZaRzRvWjNKdmRYQkNZWE5sS1M1MGIxTjBjbWx1WnloaVlYTmxLVHRjYmlBZ0lDQWdJQ0FnWXlBOUlHTXVhV1JwZG00b1ozSnZkWEJDWVhObEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb0lXTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxdG5jbTkxY0ZOcGVtVWdMU0J5TG14bGJtZDBhRjBnS3lCeUlDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhJZ0t5QnZkWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHRnpjMlZ5ZENobVlXeHpaU3dnSjBKaGMyVWdjMmh2ZFd4a0lHSmxJR0psZEhkbFpXNGdNaUJoYm1RZ016WW5LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlPZFcxaVpYSWdQU0JtZFc1amRHbHZiaUIwYjA1MWJXSmxjaUFvS1NCN1hHNGdJQ0FnZG1GeUlISmxkQ0E5SUhSb2FYTXVkMjl5WkhOYk1GMDdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXlLU0I3WEc0Z0lDQWdJQ0J5WlhRZ0t6MGdkR2hwY3k1M2IzSmtjMXN4WFNBcUlEQjROREF3TURBd01EdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeklDWW1JSFJvYVhNdWQyOXlaSE5iTWwwZ1BUMDlJREI0TURFcElIdGNiaUFnSUNBZ0lDOHZJRTVQVkVVNklHRjBJSFJvYVhNZ2MzUmhaMlVnYVhRZ2FYTWdhMjV2ZDI0Z2RHaGhkQ0IwYUdVZ2RHOXdJR0pwZENCcGN5QnpaWFJjYmlBZ0lDQWdJSEpsZENBclBTQXdlREV3TURBd01EQXdNREF3TURBd0lDc2dLSFJvYVhNdWQyOXlaSE5iTVYwZ0tpQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBeUtTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb1ptRnNjMlVzSUNkT2RXMWlaWElnWTJGdUlHOXViSGtnYzJGbVpXeDVJSE4wYjNKbElIVndJSFJ2SURVeklHSnBkSE1uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0EvSUMxeVpYUWdPaUJ5WlhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlNsTlBUaUE5SUdaMWJtTjBhVzl1SUhSdlNsTlBUaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOVRkSEpwYm1jb01UWXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMEoxWm1abGNpQTlJR1oxYm1OMGFXOXVJSFJ2UW5WbVptVnlJQ2hsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnUW5WbVptVnlJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkRzlCY25KaGVVeHBhMlVvUW5WbVptVnlMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQjBiMEZ5Y21GNUlDaGxibVJwWVc0c0lHeGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZRWEp5WVhsTWFXdGxLRUZ5Y21GNUxDQmxibVJwWVc0c0lHeGxibWQwYUNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFYSnlZWGxNYVd0bElEMGdablZ1WTNScGIyNGdkRzlCY25KaGVVeHBhMlVnS0VGeWNtRjVWSGx3WlN3Z1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0IyWVhJZ1lubDBaVXhsYm1kMGFDQTlJSFJvYVhNdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNBZ0lIWmhjaUJ5WlhGTVpXNW5kR2dnUFNCc1pXNW5kR2dnZkh3Z1RXRjBhQzV0WVhnb01Td2dZbmwwWlV4bGJtZDBhQ2s3WEc0Z0lDQWdZWE56WlhKMEtHSjVkR1ZNWlc1bmRHZ2dQRDBnY21WeFRHVnVaM1JvTENBbllubDBaU0JoY25KaGVTQnNiMjVuWlhJZ2RHaGhiaUJrWlhOcGNtVmtJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoeVpYRk1aVzVuZEdnZ1BpQXdMQ0FuVW1WeGRXVnpkR1ZrSUdGeWNtRjVJR3hsYm1kMGFDQThQU0F3SnlrN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzRnSUNBZ2RtRnlJR3hwZEhSc1pVVnVaR2xoYmlBOUlHVnVaR2xoYmlBOVBUMGdKMnhsSnp0Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnYm1WM0lFRnljbUY1Vkhsd1pTaHlaWEZNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdkbUZ5SUdJc0lHazdYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2FXWWdLQ0ZzYVhSMGJHVkZibVJwWVc0cElIdGNiaUFnSUNBZ0lDOHZJRUZ6YzNWdFpTQmlhV2N0Wlc1a2FXRnVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2NtVnhUR1Z1WjNSb0lDMGdZbmwwWlV4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lDRnhMbWx6V21WeWJ5Z3BPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdZaUE5SUhFdVlXNWtiRzRvTUhobVppazdYRzRnSUNBZ0lDQWdJSEV1YVhWemFISnVLRGdwTzF4dVhHNGdJQ0FnSUNBZ0lISmxjMXR5WlhGTVpXNW5kR2dnTFNCcElDMGdNVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lBaGNTNXBjMXBsY204b0tUc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHSWdQU0J4TG1GdVpHeHVLREI0Wm1ZcE8xeHVJQ0FnSUNBZ0lDQnhMbWwxYzJoeWJpZzRLVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJSEpsY1V4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCcFppQW9UV0YwYUM1amJIb3pNaWtnZTF4dUlDQWdJRUpPTG5CeWIzUnZkSGx3WlM1ZlkyOTFiblJDYVhSeklEMGdablZ1WTNScGIyNGdYMk52ZFc1MFFtbDBjeUFvZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURNeUlDMGdUV0YwYUM1amJIb3pNaWgzS1R0Y2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUVKT0xuQnliM1J2ZEhsd1pTNWZZMjkxYm5SQ2FYUnpJRDBnWm5WdVkzUnBiMjRnWDJOdmRXNTBRbWwwY3lBb2R5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhRZ1BTQjNPMXh1SUNBZ0lDQWdkbUZ5SUhJZ1BTQXdPMXh1SUNBZ0lDQWdhV1lnS0hRZ1BqMGdNSGd4TURBd0tTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ01UTTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMElENDlJREI0TkRBcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBM08xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ056dGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRPQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnd01pa2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlESTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlISWdLeUIwTzF4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYM3BsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnWDNwbGNtOUNhWFJ6SUNoM0tTQjdYRzRnSUNBZ0x5OGdVMmh2Y25RdFkzVjBYRzRnSUNBZ2FXWWdLSGNnUFQwOUlEQXBJSEpsZEhWeWJpQXlOanRjYmx4dUlDQWdJSFpoY2lCMElEMGdkenRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3habVptS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQXhNenRjYmlBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZzNaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ056dGNiaUFnSUNBZ0lIUWdQajQrUFNBM08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZUdZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdORHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3pLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaUFyUFNBeU8xeHVJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TVNrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJckt6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHNTFiV0psY2lCdlppQjFjMlZrSUdKcGRITWdhVzRnWVNCQ1RseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbDBUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbWwwVEdWdVozUm9JQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQjJZWElnYUdrZ1BTQjBhR2x6TGw5amIzVnVkRUpwZEhNb2R5azdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbXhsYm1kMGFDQXRJREVwSUNvZ01qWWdLeUJvYVR0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQjBiMEpwZEVGeWNtRjVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdkeUE5SUc1bGR5QkJjbkpoZVNodWRXMHVZbWwwVEdWdVozUm9LQ2twTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnWW1sMElEMGdNRHNnWW1sMElEd2dkeTVzWlc1bmRHZzdJR0pwZENzcktTQjdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdLR0pwZENBdklESTJLU0I4SURBN1hHNGdJQ0FnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ0lDQjNXMkpwZEYwZ1BTQW9iblZ0TG5kdmNtUnpXMjltWmwwZ0ppQW9NU0E4UENCM1ltbDBLU2tnUGo0K0lIZGlhWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIYzdYRzRnSUgxY2JseHVJQ0F2THlCT2RXMWlaWElnYjJZZ2RISmhhV3hwYm1jZ2VtVnlieUJpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NlpYSnZRbWwwY3lBOUlHWjFibU4wYVc5dUlIcGxjbTlDYVhSeklDZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXBjMXBsY204b0tTa2djbVYwZFhKdUlEQTdYRzVjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11WDNwbGNtOUNhWFJ6S0hSb2FYTXVkMjl5WkhOYmFWMHBPMXh1SUNBZ0lDQWdjaUFyUFNCaU8xeHVJQ0FnSUNBZ2FXWWdLR0lnSVQwOUlESTJLU0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUo1ZEdWTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWVYUmxUR1Z1WjNSb0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVqWldsc0tIUm9hWE11WW1sMFRHVnVaM1JvS0NrZ0x5QTRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlVZDI5eklEMGdablZ1WTNScGIyNGdkRzlVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1aFluTW9LUzVwYm05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxVWQyOXpJRDBnWm5WdVkzUnBiMjRnWm5KdmJWUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVkR1Z6ZEc0b2QybGtkR2dnTFNBeEtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrdWFXNWxaeWdwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMDVsWnlBOUlHWjFibU4wYVc5dUlHbHpUbVZuSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdibVZuWVhScGRtVWdZMnh2Ym1VZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dVpXY2dQU0JtZFc1amRHbHZiaUJ1WldjZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzVsWnlncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGJtVm5JRDBnWm5WdVkzUnBiMjRnYVc1bFp5QW9LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElGNDlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUM0lnWUc1MWJXQWdkMmwwYUNCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYjNJZ1BTQm1kVzVqZEdsdmJpQnBkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J1ZFcwdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9LeXRkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc5eUlEMGdablZ1WTNScGIyNGdhVzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkVzl5S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1QzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtOXlJRDBnWm5WdVkzUnBiMjRnYjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXOXlLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1sdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFc5eUlEMGdablZ1WTNScGIyNGdkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sMWIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCYm1RZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJBZ2FXNHRjR3hoWTJWY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sMVlXNWtJRDBnWm5WdVkzUnBiMjRnYVhWaGJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklHSWdQU0J0YVc0dGJHVnVaM1JvS0c1MWJTd2dkR2hwY3lsY2JpQWdJQ0IyWVhJZ1lqdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0l1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRJQ1lnYm5WdExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZaTVzWlc1bmRHZzdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZVzVrSUQwZ1puVnVZM1JwYjI0Z2FXRnVaQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVmhibVFvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQmJtUWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtRnVaQ0E5SUdaMWJtTjBhVzl1SUdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZVzVrS0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbGhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVmhibVFnUFNCbWRXNWpkR2x2YmlCMVlXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxWVc1a0tHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxWVc1a0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRmh2Y2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWNGIzSWdQU0JtZFc1amRHbHZiaUJwZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1lTNXNaVzVuZEdnZ1BpQmlMbXhsYm1kMGFGeHVJQ0FnSUhaaGNpQmhPMXh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMGdYaUJpTG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpJQ0U5UFNCaEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWw0YjNJZ1BTQm1kVzVqZEdsdmJpQnBlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWGh2Y2lodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUM4dklGaHZjaUJnYm5WdFlDQjNhWFJvSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlRzl5SUQwZ1puVnVZM1JwYjI0Z2VHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWw0YjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkWGh2Y2lBOUlHWjFibU4wYVc5dUlIVjRiM0lnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhWNGIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWNGIzSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVG05MElHQmdkR2hwYzJCZ0lIZHBkR2dnWUdCM2FXUjBhR0JnSUdKcGRIZHBaSFJvWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm05MGJpQTlJR1oxYm1OMGFXOXVJR2x1YjNSdUlDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdkMmxrZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUhkcFpIUm9JRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJR0o1ZEdWelRtVmxaR1ZrSUQwZ1RXRjBhQzVqWldsc0tIZHBaSFJvSUM4Z01qWXBJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltbDBjMHhsWm5RZ1BTQjNhV1IwYUNBbElESTJPMXh1WEc0Z0lDQWdMeThnUlhoMFpXNWtJSFJvWlNCaWRXWm1aWElnZDJsMGFDQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoaWVYUmxjMDVsWldSbFpDazdYRzVjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQmllWFJsYzA1bFpXUmxaQzB0TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0JqYjIxd2JHVjBaU0IzYjNKa2MxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lubDBaWE5PWldWa1pXUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0IwYUdVZ2NtVnphV1IxWlZ4dUlDQWdJR2xtSUNoaWFYUnpUR1ZtZENBK0lEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQitkR2hwY3k1M2IzSmtjMXRwWFNBbUlDZ3dlRE5tWm1abVptWWdQajRnS0RJMklDMGdZbWwwYzB4bFpuUXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCYm1RZ2NtVnRiM1psSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJtOTBiaUE5SUdaMWJtTjBhVzl1SUc1dmRHNGdLSGRwWkhSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBibTkwYmloM2FXUjBhQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMlYwSUdCaWFYUmdJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMlYwYmlBOUlHWjFibU4wYVc5dUlITmxkRzRnS0dKcGRDd2dkbUZzS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQmlhWFFnUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZENBK1BTQXdLVHRjYmx4dUlDQWdJSFpoY2lCdlptWWdQU0FvWW1sMElDOGdNallwSUh3Z01EdGNiaUFnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLRzltWmlBcklERXBPMXh1WEc0Z0lDQWdhV1lnS0haaGJDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXR2Wm1aZElEMGdkR2hwY3k1M2IzSmtjMXR2Wm1aZElId2dLREVnUER3Z2QySnBkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJiMlptWFNBOUlIUm9hWE11ZDI5eVpITmJiMlptWFNBbUlING9NU0E4UENCM1ltbDBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0JnYm5WdFlDQjBieUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhaR1FnUFNCbWRXNWpkR2x2YmlCcFlXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjanRjYmx4dUlDQWdJQzh2SUc1bFoyRjBhWFpsSUNzZ2NHOXphWFJwZG1WY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUJ3YjNOcGRHbDJaU0FySUc1bFoyRjBhWFpsWEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhMbXhsYm1kMGFDQStJR0l1YkdWdVozUm9YRzRnSUNBZ2RtRnlJR0VzSUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dZMkZ5Y25rZ0lUMDlJREFnSmlZZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lISWdQU0FvWVM1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGo0Z01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJkR2hwY3k1c1pXNW5kR2hkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUM4dklFTnZjSGtnZEdobElISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJR0J1ZFcxZ0lIUnZJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0J1ZFcwdWMzVmlLSFJvYVhNcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZrWkNodWRXMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWxoWkdRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QjBhR2x6SUMwZ0tDMXVkVzBwSUQwZ2RHaHBjeUFySUc1MWJWeHVJQ0FnSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z0xYUm9hWE1nTFNCdWRXMGdQU0F0S0hSb2FYTWdLeUJ1ZFcwcFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJkQ0IwYUdseklIQnZhVzUwSUdKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVZjYmlBZ0lDQjJZWElnWTIxd0lEMGdkR2hwY3k1amJYQW9iblZ0S1R0Y2JseHVJQ0FnSUM4dklFOXdkR2x0YVhwaGRHbHZiaUF0SUhwbGNtOXBabmxjYmlBZ0lDQnBaaUFvWTIxd0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVNBK0lHSmNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb1kyMXdJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDMGdLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QmpZWEp5ZVNBaFBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NpQTlJQ2hoTG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2NpQStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFTnZjSGtnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQnBaaUFvWTJGeWNua2dQVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvSUNZbUlHRWdJVDA5SUhSb2FYTXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb095QnBJRHdnWVM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBLVHRjYmx4dUlDQWdJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOMVluUnlZV04wSUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWE4xWWlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhOdFlXeHNUWFZzVkc4Z0tITmxiR1lzSUc1MWJTd2diM1YwS1NCN1hHNGdJQ0FnYjNWMExtNWxaMkYwYVhabElEMGdiblZ0TG01bFoyRjBhWFpsSUY0Z2MyVnNaaTV1WldkaGRHbDJaVHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdLSE5sYkdZdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDa2dmQ0F3TzF4dUlDQWdJRzkxZEM1c1pXNW5kR2dnUFNCc1pXNDdYRzRnSUNBZ2JHVnVJRDBnS0d4bGJpQXRJREVwSUh3Z01EdGNibHh1SUNBZ0lDOHZJRkJsWld3Z2IyNWxJR2wwWlhKaGRHbHZiaUFvWTI5dGNHbHNaWElnWTJGdUozUWdaRzhnYVhRc0lHSmxZMkYxYzJVZ2IyWWdZMjlrWlNCamIyMXdiR1Y0YVhSNUtWeHVJQ0FnSUhaaGNpQmhJRDBnYzJWc1ppNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdJZ1BTQnVkVzB1ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQnlJRDBnWVNBcUlHSTdYRzVjYmlBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSFpoY2lCallYSnllU0E5SUNoeUlDOGdNSGcwTURBd01EQXdLU0I4SURBN1hHNGdJQ0FnYjNWMExuZHZjbVJ6V3pCZElEMGdiRzg3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Uc2dheUE4SUd4bGJqc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHTmhjbko1SUQ0K1BpQXlOanRjYmlBZ0lDQWdJSFpoY2lCeWQyOXlaQ0E5SUdOaGNuSjVJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZG1GeUlHMWhlRW9nUFNCTllYUm9MbTFwYmlockxDQnVkVzB1YkdWdVozUm9JQzBnTVNrN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdUV0YwYUM1dFlYZ29NQ3dnYXlBdElITmxiR1l1YkdWdVozUm9JQ3NnTVNrN0lHb2dQRDBnYldGNFNqc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ0tHc2dMU0JxS1NCOElEQTdYRzRnSUNBZ0lDQWdJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lpQTlJRzUxYlM1M2IzSmtjMXRxWFNCOElEQTdYRzRnSUNBZ0lDQWdJSElnUFNCaElDb2dZaUFySUhKM2IzSmtPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dLejBnS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NuZHZjbVFnUFNCeUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiM1YwTG5kdmNtUnpXMnRkSUQwZ2NuZHZjbVFnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCdVkyRnljbmtnZkNBd08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlHTmhjbko1SUh3Z01EdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUMwdE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2ZFhRdWMzUnlhWEFvS1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbDBJRzFoZVNCaVpTQnlaV0Z6YjI1aFlteGxJSFJ2SUc5dGFYUWdhWFFnWm05eUlIVnpaWEp6SUhkb2J5QmtiMjRuZENCdVpXVmtYRzRnSUM4dklIUnZJSGR2Y21zZ2QybDBhQ0F5TlRZdFltbDBJRzUxYldKbGNuTXNJRzkwYUdWeWQybHpaU0JwZENCbmFYWmxjeUF5TUNVZ2FXMXdjbTkyWlcxbGJuUWdabTl5SURJMU5pMWlhWFJjYmlBZ0x5OGdiWFZzZEdsd2JHbGpZWFJwYjI0Z0tHeHBhMlVnWld4c2FYQjBhV01nYzJWamNESTFObXN4S1M1Y2JpQWdkbUZ5SUdOdmJXSXhNRTExYkZSdklEMGdablZ1WTNScGIyNGdZMjl0WWpFd1RYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21Sek8xeHVJQ0FnSUhaaGNpQnZJRDBnYjNWMExuZHZjbVJ6TzF4dUlDQWdJSFpoY2lCaklEMGdNRHRjYmlBZ0lDQjJZWElnYkc4N1hHNGdJQ0FnZG1GeUlHMXBaRHRjYmlBZ0lDQjJZWElnYUdrN1hHNGdJQ0FnZG1GeUlHRXdJRDBnWVZzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc01DQTlJR0V3SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEQWdQU0JoTUNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFeElEMGdZVnN4WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTVNBOUlHRXhJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURFZ1BTQmhNU0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0V5SUQwZ1lWc3lYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNNaUE5SUdFeUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRElnUFNCaE1pQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRXpJRDBnWVZzelhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc015QTlJR0V6SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFETWdQU0JoTXlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFMElEMGdZVnMwWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTkNBOUlHRTBJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURRZ1BTQmhOQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0UxSUQwZ1lWczFYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNOU0E5SUdFMUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRFVnUFNCaE5TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTJJRDBnWVZzMlhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc05pQTlJR0UySUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEWWdQU0JoTmlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFM0lEMGdZVnMzWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTnlBOUlHRTNJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURjZ1BTQmhOeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0U0SUQwZ1lWczRYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNPQ0E5SUdFNElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRGdnUFNCaE9DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTVJRDBnWVZzNVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc09TQTlJR0U1SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEa2dQU0JoT1NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJd0lEMGdZbHN3WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTUNBOUlHSXdJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURBZ1BTQmlNQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0l4SUQwZ1lsc3hYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNNU0E5SUdJeElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhREVnUFNCaU1TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSXlJRDBnWWxzeVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc01pQTlJR0l5SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFESWdQU0JpTWlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJeklEMGdZbHN6WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTXlBOUlHSXpJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURNZ1BTQmlNeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kwSUQwZ1lsczBYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOQ0E5SUdJMElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRFFnUFNCaU5DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTFJRDBnWWxzMVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc05TQTlJR0kxSUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEVWdQU0JpTlNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJMklEMGdZbHMyWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTmlBOUlHSTJJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURZZ1BTQmlOaUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kzSUQwZ1lsczNYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOeUE5SUdJM0lDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRGNnUFNCaU55QStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTRJRDBnWWxzNFhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc09DQTlJR0k0SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEZ2dQU0JpT0NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJNUlEMGdZbHM1WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzT1NBOUlHSTVJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURrZ1BTQmlPU0ErUGo0Z01UTTdYRzVjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCelpXeG1MbTVsWjJGMGFYWmxJRjRnYm5WdExtNWxaMkYwYVhabE8xeHVJQ0FnSUc5MWRDNXNaVzVuZEdnZ1BTQXhPVHRjYmlBZ0lDQXZLaUJySUQwZ01DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnd0xDQmlhREFwTzF4dUlDQWdJSFpoY2lCM01DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6QWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRElnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTWlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpJZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3lJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNeUFxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpNZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3pJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdOQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpRZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRFVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM05TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6VWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMxSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOaUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kellnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ055QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpjZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGdnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemdnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjNElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM09TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6a2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGM1SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRBZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNU2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neEtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3hLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13M0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTVRBZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE1DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekV3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRFZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNaWs3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neUtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3lLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TVNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVEVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TWlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltd3pLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURNcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFETXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVElnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TWlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RXlJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVE1nS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc05DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nMEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UTWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFeklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UUWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTlNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzFLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWcxS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TkNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFFnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TlNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzJLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURZcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEWXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UVWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFMUlDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UWWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTnlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzNLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWczS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVFlnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TmlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTJJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVGNnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc09DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nNEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TnlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVGNnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4T0NBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzVLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURrcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEa3BPMXh1SUNBZ0lIWmhjaUIzTVRnZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE9DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekU0SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNCdld6QmRJRDBnZHpBN1hHNGdJQ0FnYjFzeFhTQTlJSGN4TzF4dUlDQWdJRzliTWwwZ1BTQjNNanRjYmlBZ0lDQnZXek5kSUQwZ2R6TTdYRzRnSUNBZ2IxczBYU0E5SUhjME8xeHVJQ0FnSUc5Yk5WMGdQU0IzTlR0Y2JpQWdJQ0J2V3paZElEMGdkelk3WEc0Z0lDQWdiMXMzWFNBOUlIYzNPMXh1SUNBZ0lHOWJPRjBnUFNCM09EdGNiaUFnSUNCdld6bGRJRDBnZHprN1hHNGdJQ0FnYjFzeE1GMGdQU0IzTVRBN1hHNGdJQ0FnYjFzeE1WMGdQU0IzTVRFN1hHNGdJQ0FnYjFzeE1sMGdQU0IzTVRJN1hHNGdJQ0FnYjFzeE0xMGdQU0IzTVRNN1hHNGdJQ0FnYjFzeE5GMGdQU0IzTVRRN1hHNGdJQ0FnYjFzeE5WMGdQU0IzTVRVN1hHNGdJQ0FnYjFzeE5sMGdQU0IzTVRZN1hHNGdJQ0FnYjFzeE4xMGdQU0IzTVRjN1hHNGdJQ0FnYjFzeE9GMGdQU0IzTVRnN1hHNGdJQ0FnYVdZZ0tHTWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHOWJNVGxkSUQwZ1l6dGNiaUFnSUNBZ0lHOTFkQzVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnZlR0Y2JseHVJQ0F2THlCUWIyeDVabWxzYkNCamIyMWlYRzRnSUdsbUlDZ2hUV0YwYUM1cGJYVnNLU0I3WEc0Z0lDQWdZMjl0WWpFd1RYVnNWRzhnUFNCemJXRnNiRTExYkZSdk8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdZbWxuVFhWc1ZHOGdLSE5sYkdZc0lHNTFiU3dnYjNWMEtTQjdYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnYm5WdExtNWxaMkYwYVhabElGNGdjMlZzWmk1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCMllYSWdhRzVqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURBN0lHc2dQQ0J2ZFhRdWJHVnVaM1JvSUMwZ01Uc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHaHVZMkZ5Y25rN1hHNGdJQ0FnSUNCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUJ5ZDI5eVpDQTlJR05oY25KNUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkbUZ5SUcxaGVFb2dQU0JOWVhSb0xtMXBiaWhyTENCdWRXMHViR1Z1WjNSb0lDMGdNU2s3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ1RXRjBhQzV0WVhnb01Dd2dheUF0SUhObGJHWXViR1Z1WjNSb0lDc2dNU2s3SUdvZ1BEMGdiV0Y0U2pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnYXlBdElHbzdYRzRnSUNBZ0lDQWdJSFpoY2lCaElEMGdjMlZzWmk1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXMnBkSUh3Z01EdGNiaUFnSUNBZ0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tDaHlJQzhnTUhnME1EQXdNREF3S1NCOElEQXBLU0I4SURBN1hHNGdJQ0FnSUNBZ0lHeHZJRDBnS0d4dklDc2djbmR2Y21RcElId2dNRHRjYmlBZ0lDQWdJQ0FnY25kdmNtUWdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlEMGdLRzVqWVhKeWVTQXJJQ2hzYnlBK1BqNGdNallwS1NCOElEQTdYRzVjYmlBZ0lDQWdJQ0FnYUc1allYSnllU0FyUFNCdVkyRnljbmtnUGo0K0lESTJPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdjbmR2Y21RN1hHNGdJQ0FnSUNCallYSnllU0E5SUc1allYSnllVHRjYmlBZ0lDQWdJRzVqWVhKeWVTQTlJR2h1WTJGeWNuazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzkxZEM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiM1YwTG5OMGNtbHdLQ2s3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcWRXMWliMDExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQm1ablJ0SUQwZ2JtVjNJRVpHVkUwb0tUdGNiaUFnSUNCeVpYUjFjbTRnWm1aMGJTNXRkV3h3S0hObGJHWXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZWeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3hVYnlBOUlHWjFibU4wYVc5dUlHMTFiRlJ2SUNodWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFEdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXdJQ1ltSUc1MWJTNXNaVzVuZEdnZ1BUMDlJREV3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0JqYjIxaU1UQk5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hzWlc0Z1BDQTJNeWtnZTF4dUlDQWdJQ0FnY21WeklEMGdjMjFoYkd4TmRXeFVieWgwYUdsekxDQnVkVzBzSUc5MWRDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHNaVzRnUENBeE1ESTBLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQmlhV2ROZFd4VWJ5aDBhR2x6TENCdWRXMHNJRzkxZENrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHcDFiV0p2VFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnUTI5dmJHVjVMVlIxYTJWNUlHRnNaMjl5YVhSb2JTQm1iM0lnUmtaVVhHNGdJQzh2SUhOc2FXZG9kR3g1SUhKbGRtbHphWFJsWkNCMGJ5QnlaV3g1SUc5dUlHeHZiM0JwYm1jZ2FXNXpkR1ZoWkNCdlppQnlaV04xY25OcGIyNWNibHh1SUNCbWRXNWpkR2x2YmlCR1JsUk5JQ2g0TENCNUtTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2VEdGNiaUFnSUNCMGFHbHpMbmtnUFNCNU8xeHVJQ0I5WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJXRnJaVkpDVkNBOUlHWjFibU4wYVc5dUlHMWhhMlZTUWxRZ0tFNHBJSHRjYmlBZ0lDQjJZWElnZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnYkNBOUlFSk9MbkJ5YjNSdmRIbHdaUzVmWTI5MWJuUkNhWFJ6S0U0cElDMGdNVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdkRnRwWFNBOUlIUm9hWE11Y21WMlFtbHVLR2tzSUd3c0lFNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCME8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnlibk1nWW1sdVlYSjVMWEpsZG1WeWMyVmtJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JR0I0WUZ4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1eVpYWkNhVzRnUFNCbWRXNWpkR2x2YmlCeVpYWkNhVzRnS0hnc0lHd3NJRTRwSUh0Y2JpQWdJQ0JwWmlBb2VDQTlQVDBnTUNCOGZDQjRJRDA5UFNCT0lDMGdNU2tnY21WMGRYSnVJSGc3WEc1Y2JpQWdJQ0IyWVhJZ2NtSWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5WWlCOFBTQW9lQ0FtSURFcElEdzhJQ2hzSUMwZ2FTQXRJREVwTzF4dUlDQWdJQ0FnZUNBK1BqMGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtSTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VHVnlabTl5YlhNZ1hDSjBkMlZsWkd4cGJtZGNJaUJ3YUdGelpTd2dkR2hsY21WbWIzSmxJQ2RsYlhWc1lYUnBibWNuWEc0Z0lDOHZJR0psYUdGMmFXOTFjaUJ2WmlCMGFHVWdjbVZqZFhKemFYWmxJR0ZzWjI5eWFYUm9iVnh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV3WlhKdGRYUmxJRDBnWm5WdVkzUnBiMjRnY0dWeWJYVjBaU0FvY21KMExDQnlkM01zSUdsM2N5d2djblIzY3l3Z2FYUjNjeXdnVGlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCeWRIZHpXMmxkSUQwZ2NuZHpXM0ppZEZ0cFhWMDdYRzRnSUNBZ0lDQnBkSGR6VzJsZElEMGdhWGR6VzNKaWRGdHBYVjA3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMblJ5WVc1elptOXliU0E5SUdaMWJtTjBhVzl1SUhSeVlXNXpabTl5YlNBb2NuZHpMQ0JwZDNNc0lISjBkM01zSUdsMGQzTXNJRTRzSUhKaWRDa2dlMXh1SUNBZ0lIUm9hWE11Y0dWeWJYVjBaU2h5WW5Rc0lISjNjeXdnYVhkekxDQnlkSGR6TENCcGRIZHpMQ0JPS1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUhNZ1BTQXhPeUJ6SUR3Z1Rqc2djeUE4UEQwZ01Ta2dlMXh1SUNBZ0lDQWdkbUZ5SUd3Z1BTQnpJRHc4SURFN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5ZEhka1ppQTlJRTFoZEdndVkyOXpLRElnS2lCTllYUm9MbEJKSUM4Z2JDazdYRzRnSUNBZ0lDQjJZWElnYVhSM1pHWWdQU0JOWVhSb0xuTnBiaWd5SUNvZ1RXRjBhQzVRU1NBdklHd3BPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUQwZ01Ec2djQ0E4SUU0N0lIQWdLejBnYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnY25SM1pHWmZJRDBnY25SM1pHWTdYRzRnSUNBZ0lDQWdJSFpoY2lCcGRIZGtabDhnUFNCcGRIZGtaanRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElITTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpTQTlJSEowZDNOYmNDQXJJR3BkTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwWlNBOUlHbDBkM05iY0NBcklHcGRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEp2SUQwZ2NuUjNjMXR3SUNzZ2FpQXJJSE5kTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwYnlBOUlHbDBkM05iY0NBcklHb2dLeUJ6WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeWVDQTlJSEowZDJSbVh5QXFJSEp2SUMwZ2FYUjNaR1pmSUNvZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCcGJ5QTlJSEowZDJSbVh5QXFJR2x2SUNzZ2FYUjNaR1pmSUNvZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnY204Z1BTQnllRHRjYmx4dUlDQWdJQ0FnSUNBZ0lISjBkM05iY0NBcklHcGRJRDBnY21VZ0t5QnlienRjYmlBZ0lDQWdJQ0FnSUNCcGRIZHpXM0FnS3lCcVhTQTlJR2xsSUNzZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCeWRIZHpXM0FnS3lCcUlDc2djMTBnUFNCeVpTQXRJSEp2TzF4dUlDQWdJQ0FnSUNBZ0lHbDBkM05iY0NBcklHb2dLeUJ6WFNBOUlHbGxJQzBnYVc4N1hHNWNiaUFnSUNBZ0lDQWdJQ0F2S2lCcWMyaHBiblFnYldGNFpHVndkR2dnT2lCbVlXeHpaU0FxTDF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hxSUNFOVBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnllQ0E5SUhKMGQyUm1JQ29nY25SM1pHWmZJQzBnYVhSM1pHWWdLaUJwZEhka1psODdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBkMlJtWHlBOUlISjBkMlJtSUNvZ2FYUjNaR1pmSUNzZ2FYUjNaR1lnS2lCeWRIZGtabDg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlkSGRrWmw4Z1BTQnllRHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVozVmxjM05NWlc0eE0ySWdQU0JtZFc1amRHbHZiaUJuZFdWemMweGxiakV6WWlBb2Jpd2diU2tnZTF4dUlDQWdJSFpoY2lCT0lEMGdUV0YwYUM1dFlYZ29iU3dnYmlrZ2ZDQXhPMXh1SUNBZ0lIWmhjaUJ2WkdRZ1BTQk9JQ1lnTVR0Y2JpQWdJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lDQWdabTl5SUNoT0lEMGdUaUF2SURJZ2ZDQXdPeUJPT3lCT0lEMGdUaUErUGo0Z01Ta2dlMXh1SUNBZ0lDQWdhU3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQXhJRHc4SUdrZ0t5QXhJQ3NnYjJSa08xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExtTnZibXAxWjJGMFpTQTlJR1oxYm1OMGFXOXVJR052Ym1wMVoyRjBaU0FvY25kekxDQnBkM01zSUU0cElIdGNiaUFnSUNCcFppQW9UaUE4UFNBeEtTQnlaWFIxY200N1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElFNGdMeUF5T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCMElEMGdjbmR6VzJsZE8xeHVYRzRnSUNBZ0lDQnlkM05iYVYwZ1BTQnlkM05iVGlBdElHa2dMU0F4WFR0Y2JpQWdJQ0FnSUhKM2MxdE9JQzBnYVNBdElERmRJRDBnZER0Y2JseHVJQ0FnSUNBZ2RDQTlJR2wzYzF0cFhUdGNibHh1SUNBZ0lDQWdhWGR6VzJsZElEMGdMV2wzYzF0T0lDMGdhU0F0SURGZE8xeHVJQ0FnSUNBZ2FYZHpXMDRnTFNCcElDMGdNVjBnUFNBdGREdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJtOXliV0ZzYVhwbE1UTmlJRDBnWm5WdVkzUnBiMjRnYm05eWJXRnNhWHBsTVROaUlDaDNjeXdnVGlrZ2UxeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9JQzhnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRTFoZEdndWNtOTFibVFvZDNOYk1pQXFJR2tnS3lBeFhTQXZJRTRwSUNvZ01IZ3lNREF3SUN0Y2JpQWdJQ0FnSUNBZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FWMGdMeUJPS1NBclhHNGdJQ0FnSUNBZ0lHTmhjbko1TzF4dVhHNGdJQ0FnSUNCM2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzVjYmlBZ0lDQWdJR2xtSUNoM0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnZHlBdklEQjROREF3TURBd01DQjhJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIZHpPMXh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUXhNMklnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowTVROaUlDaDNjeXdnYkdWdUxDQnlkM01zSUU0cElIdGNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJR05oY25KNUlEMGdZMkZ5Y25rZ0t5QW9kM05iYVYwZ2ZDQXdLVHRjYmx4dUlDQWdJQ0FnY25keld6SWdLaUJwWFNBOUlHTmhjbko1SUNZZ01IZ3habVptT3lCallYSnllU0E5SUdOaGNuSjVJRDQrUGlBeE16dGNiaUFnSUNBZ0lISjNjMXN5SUNvZ2FTQXJJREZkSUQwZ1kyRnljbmtnSmlBd2VERm1abVk3SUdOaGNuSjVJRDBnWTJGeWNua2dQajQrSURFek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGQmhaQ0IzYVhSb0lIcGxjbTlsYzF4dUlDQWdJR1p2Y2lBb2FTQTlJRElnS2lCc1pXNDdJR2tnUENCT095QXJLMmtwSUh0Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR05oY25KNUlEMDlQU0F3S1R0Y2JpQWdJQ0JoYzNObGNuUW9LR05oY25KNUlDWWdmakI0TVdabVppa2dQVDA5SURBcE8xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuTjBkV0lnUFNCbWRXNWpkR2x2YmlCemRIVmlJQ2hPS1NCN1hHNGdJQ0FnZG1GeUlIQm9JRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCd2FGdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEJvTzF4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG0xMWJIQWdQU0JtZFc1amRHbHZiaUJ0ZFd4d0lDaDRMQ0I1TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnVGlBOUlESWdLaUIwYUdsekxtZDFaWE56VEdWdU1UTmlLSGd1YkdWdVozUm9MQ0I1TG14bGJtZDBhQ2s3WEc1Y2JpQWdJQ0IyWVhJZ2NtSjBJRDBnZEdocGN5NXRZV3RsVWtKVUtFNHBPMXh1WEc0Z0lDQWdkbUZ5SUY4Z1BTQjBhR2x6TG5OMGRXSW9UaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NuZHpJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnlkM04wSUQwZ2JtVjNJRUZ5Y21GNUtFNHBPMXh1SUNBZ0lIWmhjaUJwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlHNXlkM01nUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzV5ZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dUlDQWdJSFpoY2lCdWFYZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNibHh1SUNBZ0lIWmhjaUJ5YlhkeklEMGdiM1YwTG5kdmNtUnpPMXh1SUNBZ0lISnRkM011YkdWdVozUm9JRDBnVGp0Y2JseHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg0TG5kdmNtUnpMQ0I0TG14bGJtZDBhQ3dnY25kekxDQk9LVHRjYmlBZ0lDQjBhR2x6TG1OdmJuWmxjblF4TTJJb2VTNTNiM0prY3l3Z2VTNXNaVzVuZEdnc0lHNXlkM01zSUU0cE8xeHVYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kekxDQmZMQ0J5ZDNOMExDQnBkM04wTENCT0xDQnlZblFwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtHNXlkM01zSUY4c0lHNXlkM04wTENCdWFYZHpkQ3dnVGl3Z2NtSjBLVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NuZ2dQU0J5ZDNOMFcybGRJQ29nYm5KM2MzUmJhVjBnTFNCcGQzTjBXMmxkSUNvZ2JtbDNjM1JiYVYwN1hHNGdJQ0FnSUNCcGQzTjBXMmxkSUQwZ2NuZHpkRnRwWFNBcUlHNXBkM04wVzJsZElDc2dhWGR6ZEZ0cFhTQXFJRzV5ZDNOMFcybGRPMXh1SUNBZ0lDQWdjbmR6ZEZ0cFhTQTlJSEo0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVkyOXVhblZuWVhSbEtISjNjM1FzSUdsM2MzUXNJRTRwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtISjNjM1FzSUdsM2MzUXNJSEp0ZDNNc0lGOHNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY20xM2N5d2dYeXdnVGlrN1hHNGdJQ0FnZEdocGN5NXViM0p0WVd4cGVtVXhNMklvY20xM2N5d2dUaWs3WEc1Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQjRMbTVsWjJGMGFYWmxJRjRnZVM1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2VDNXNaVzVuZEdnZ0t5QjVMbXhsYm1kMGFEdGNiaUFnSUNCeVpYUjFjbTRnYjNWMExuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVFhWc2RHbHdiSGtnWUhSb2FYTmdJR0o1SUdCdWRXMWdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3dnUFNCbWRXNWpkR2x2YmlCdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnZkWFFnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ2IzVjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzVkc4b2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxMWJIUnBjR3g1SUdWdGNHeHZlV2x1WnlCR1JsUmNiaUFnUWs0dWNISnZkRzkwZVhCbExtMTFiR1lnUFNCbWRXNWpkR2x2YmlCdGRXeG1JQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdiM1YwSUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lHOTFkQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCcWRXMWliMDExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JOZFd4MGFYQnNhV05oZEdsdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWJYVnNWRzhvYm5WdExDQjBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVcxMWJHNGdQU0JtZFc1amRHbHZiaUJwYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmx4dUlDQWdJQzh2SUVOaGNuSjVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM0lEMGdLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FxSUc1MWJUdGNiaUFnSUNBZ0lIWmhjaUJzYnlBOUlDaDNJQ1lnTUhnelptWm1abVptS1NBcklDaGpZWEp5ZVNBbUlEQjRNMlptWm1abVppazdYRzRnSUNBZ0lDQmpZWEp5ZVNBK1BqMGdNalk3WEc0Z0lDQWdJQ0JqWVhKeWVTQXJQU0FvZHlBdklEQjROREF3TURBd01Da2dmQ0F3TzF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nYkc4Z2FYTWdNamRpYVhRZ2JXRjRhVzExYlZ4dUlDQWdJQ0FnWTJGeWNua2dLejBnYkc4Z1BqNCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR3h2SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViWFZzYmlBOUlHWjFibU4wYVc5dUlHMTFiRzRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzExYkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QmdkR2hwYzJBZ0tpQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OeGNpQTlJR1oxYm1OMGFXOXVJSE54Y2lBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklHQjBhR2x6WUNBcUlHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOeGNpQTlJR1oxYm1OMGFXOXVJR2x6Y1hJZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0ZFd3b2RHaHBjeTVqYkc5dVpTZ3BLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5ZWFJvTG5CdmR5aGdkR2hwYzJBc0lHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y0c5M0lEMGdablZ1WTNScGIyNGdjRzkzSUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnZHlBOUlIUnZRbWwwUVhKeVlYa29iblZ0S1R0Y2JpQWdJQ0JwWmlBb2R5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUJ1WlhjZ1FrNG9NU2s3WEc1Y2JpQWdJQ0F2THlCVGEybHdJR3hsWVdScGJtY2dlbVZ5YjJWelhHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeVpYTWdQU0J5WlhNdWMzRnlLQ2twSUh0Y2JpQWdJQ0FnSUdsbUlDaDNXMmxkSUNFOVBTQXdLU0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LeXRwSUR3Z2R5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIRWdQU0J5WlhNdWMzRnlLQ2s3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeElEMGdjUzV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2QxdHBYU0E5UFQwZ01Da2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdjbVZ6TG0xMWJDaHhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUM4dklGTm9hV1owTFd4bFpuUWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbDFjMmhzYmlBOUlHWjFibU4wYVc5dUlHbDFjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkSE1nSlNBeU5qdGNiaUFnSUNCMllYSWdjeUE5SUNoaWFYUnpJQzBnY2lrZ0x5QXlOanRjYmlBZ0lDQjJZWElnWTJGeWNubE5ZWE5ySUQwZ0tEQjRNMlptWm1abVppQStQajRnS0RJMklDMGdjaWtwSUR3OElDZ3lOaUF0SUhJcE8xeHVJQ0FnSUhaaGNpQnBPMXh1WEc0Z0lDQWdhV1lnS0hJZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCdVpYZERZWEp5ZVNBOUlIUm9hWE11ZDI5eVpITmJhVjBnSmlCallYSnllVTFoYzJzN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqSUQwZ0tDaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dMU0J1WlhkRFlYSnllU2tnUER3Z2NqdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHTWdmQ0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQnVaWGREWVhKeWVTQStQajRnS0RJMklDMGdjaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGpZWEp5ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE1nSVQwOUlEQXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJSFJvYVhNdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzEwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnY3pzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0F3TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQXJQU0J6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6YUd4dUlEMGdablZ1WTNScGIyNGdhWE5vYkc0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFHeHVLR0pwZEhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOb2FXWjBMWEpwWjJoMElHbHVMWEJzWVdObFhHNGdJQzh2SUU1UFZFVTZJR0JvYVc1MFlDQnBjeUJoSUd4dmQyVnpkQ0JpYVhRZ1ltVm1iM0psSUhSeVlXbHNhVzVuSUhwbGNtOWxjMXh1SUNBdkx5Qk9UMVJGT2lCcFppQmdaWGgwWlc1a1pXUmdJR2x6SUhCeVpYTmxiblFnTFNCcGRDQjNhV3hzSUdKbElHWnBiR3hsWkNCM2FYUm9JR1JsYzNSeWIzbGxaQ0JpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCcGRYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQm9PMXh1SUNBZ0lHbG1JQ2hvYVc1MEtTQjdYRzRnSUNBZ0lDQm9JRDBnS0docGJuUWdMU0FvYUdsdWRDQWxJREkyS1NrZ0x5QXlOanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FDQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhJZ1BTQmlhWFJ6SUNVZ01qWTdYRzRnSUNBZ2RtRnlJSE1nUFNCTllYUm9MbTFwYmlnb1ltbDBjeUF0SUhJcElDOGdNallzSUhSb2FYTXViR1Z1WjNSb0tUdGNiaUFnSUNCMllYSWdiV0Z6YXlBOUlEQjRNMlptWm1abVppQmVJQ2dvTUhnelptWm1abVptSUQ0K1BpQnlLU0E4UENCeUtUdGNiaUFnSUNCMllYSWdiV0Z6YTJWa1YyOXlaSE1nUFNCbGVIUmxibVJsWkR0Y2JseHVJQ0FnSUdnZ0xUMGdjenRjYmlBZ0lDQm9JRDBnVFdGMGFDNXRZWGdvTUN3Z2FDazdYRzVjYmlBZ0lDQXZMeUJGZUhSbGJtUmxaQ0J0YjJSbExDQmpiM0I1SUcxaGMydGxaQ0J3WVhKMFhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NXNaVzVuZEdnZ1BTQnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6SUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0F2THlCT2J5MXZjQ3dnZDJVZ2MyaHZkV3hrSUc1dmRDQnRiM1psSUdGdWVYUm9hVzVuSUdGMElHRnNiRnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCektTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0F0UFNCek8xeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5kTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdJQ1ltSUNoallYSnllU0FoUFQwZ01DQjhmQ0JwSUQ0OUlHZ3BPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzYjNKa0lEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ0tHTmhjbko1SUR3OElDZ3lOaUF0SUhJcEtTQjhJQ2gzYjNKa0lENCtQaUJ5S1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZDI5eVpDQW1JRzFoYzJzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1VIVnphQ0JqWVhKeWFXVmtJR0pwZEhNZ1lYTWdZU0J0WVhOclhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpJQ1ltSUdOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnRZWE5yWldSWGIzSmtjeTUzYjNKa2MxdHRZWE5yWldSWGIzSmtjeTVzWlc1bmRHZ3JLMTBnUFNCallYSnllVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHphSEp1SUQwZ1puVnVZM1JwYjI0Z2FYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmh5YmloaWFYUnpMQ0JvYVc1MExDQmxlSFJsYm1SbFpDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1UyaHBablF0YkdWbWRGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMyaHNiaUE5SUdaMWJtTjBhVzl1SUhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHphR3h1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFjMmhzYmlBOUlHWjFibU4wYVc5dUlIVnphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwZFhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRjbWxuYUhSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5Ob2NtNGdQU0JtZFc1amRHbHZiaUJ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMyaHliaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCMWMyaHliaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlJsYzNRZ2FXWWdiaUJpYVhRZ2FYTWdjMlYwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwWlhOMGJpQTlJR1oxYm1OMGFXOXVJSFJsYzNSdUlDaGlhWFFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwSUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMElDMGdjaWtnTHlBeU5qdGNiaUFnSUNCMllYSWdjU0E5SURFZ1BEd2djanRjYmx4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlRvZ1ltbDBJR2x6SUcxMVkyZ2dhR2xuYUdWeUlIUm9ZVzRnWVd4c0lHVjRhWE4wYVc1bklIZHZjbVJ6WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEdzlJSE1wSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lDOHZJRU5vWldOcklHSnBkQ0JoYm1RZ2NtVjBkWEp1WEc0Z0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXM05kTzF4dVhHNGdJQ0FnY21WMGRYSnVJQ0VoS0hjZ0ppQnhLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlNaWFIxY200Z2IyNXNlU0JzYjNkbGNuTWdZbWwwY3lCdlppQnVkVzFpWlhJZ0tHbHVMWEJzWVdObEtWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMWhjMnR1SUQwZ1puVnVZM1JwYjI0Z2FXMWhjMnR1SUNoaWFYUnpLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUnpJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQmlhWFJ6SUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBjeUFsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRITWdMU0J5S1NBdklESTJPMXh1WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2RwYldGemEyNGdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabElHNTFiV0psY25NbktUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOFBTQnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2NpQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2N5c3JPMXh1SUNBZ0lIMWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndWJXbHVLSE1zSUhSb2FYTXViR1Z1WjNSb0tUdGNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2JXRnpheUE5SURCNE0yWm1abVptWmlCZUlDZ29NSGd6Wm1abVptWm1JRDQrUGlCeUtTQThQQ0J5S1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBbVBTQnRZWE5yTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHOXViSGtnYkc5M1pYSnpJR0pwZEhNZ2IyWWdiblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dFlYTnJiaUE5SUdaMWJtTjBhVzl1SUcxaGMydHVJQ2hpYVhSektTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBiV0Z6YTI0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRV1JrSUhCc1lXbHVJRzUxYldKbGNpQmdiblZ0WUNCMGJ5QmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saFpHUnVJRDBnWm5WdVkzUnBiMjRnYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdiblZ0SUQwOVBTQW5iblZ0WW1WeUp5azdYRzRnSUNBZ1lYTnpaWEowS0c1MWJTQThJREI0TkRBd01EQXdNQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTQThJREFwSUhKbGRIVnliaUIwYUdsekxtbHpkV0p1S0MxdWRXMHBPMXh1WEc0Z0lDQWdMeThnVUc5emMybGliR1VnYzJsbmJpQmphR0Z1WjJWY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlDaDBhR2x6TG5kdmNtUnpXekJkSUh3Z01Da2dQQ0J1ZFcwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlHNTFiU0F0SUNoMGFHbHpMbmR2Y21Seld6QmRJSHdnTUNrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtbHpkV0p1S0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRUZrWkNCM2FYUm9iM1YwSUdOb1pXTnJjMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwWVdSa2JpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVdGa1pHNGdQU0JtZFc1amRHbHZiaUJmYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnYm5WdE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BqMGdNSGcwTURBd01EQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnTFQwZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ2FXWWdLR2tnUFQwOUlIUm9hWE11YkdWdVozUm9JQzBnTVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQTlJREU3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QXhYU3NyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBJQ3NnTVNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCd2JHRnBiaUJ1ZFcxaVpYSWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0p1SUQwZ1puVnVZM1JwYjI0Z2FYTjFZbTRnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnYm5WdElEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4SURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnYVdZZ0tHNTFiU0E4SURBcElISmxkSFZ5YmlCMGFHbHpMbWxoWkdSdUtDMXVkVzBwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cFlXUmtiaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbmR2Y21Seld6QmRJQzA5SUc1MWJUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SUMxMGFHbHpMbmR2Y21Seld6QmRPMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BDQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBclBTQXdlRFF3TURBd01EQTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVNBcklERmRJQzA5SURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdSa2JpQTlJR1oxYm1OMGFXOXVJR0ZrWkc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVdGa1pHNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNWaWJpQTlJR1oxYm1OMGFXOXVJSE4xWW00Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOMVltNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGaWN5QTlJR1oxYm1OMGFXOXVJR2xoWW5NZ0tDa2dlMXh1SUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtRmljeUE5SUdaMWJtTjBhVzl1SUdGaWN5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwWVdKektDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBjMmhzYm5OMVltMTFiQ0E5SUdaMWJtTjBhVzl1SUY5cGMyaHNibk4xWW0xMWJDQW9iblZ0TENCdGRXd3NJSE5vYVdaMEtTQjdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHNTFiUzVzWlc1bmRHZ2dLeUJ6YUdsbWREdGNiaUFnSUNCMllYSWdhVHRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoc1pXNHBPMXh1WEc0Z0lDQWdkbUZ5SUhjN1hHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0tIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCMllYSWdjbWxuYUhRZ1BTQW9iblZ0TG5kdmNtUnpXMmxkSUh3Z01Da2dLaUJ0ZFd3N1hHNGdJQ0FnSUNCM0lDMDlJSEpwWjJoMElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQW9keUErUGlBeU5pa2dMU0FvS0hKcFoyaDBJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MyaHBablJkSUQwZ2R5QW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0F0SUhOb2FXWjBPeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUErUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR05oY25KNUlEMDlQU0F3S1NCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdVM1ZpZEhKaFkzUnBiMjRnYjNabGNtWnNiM2RjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlDMHhLVHRjYmlBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhjZ1BTQXRLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNkdmNtUkVhWFlnUFNCbWRXNWpkR2x2YmlCZmQyOXlaRVJwZGlBb2JuVnRMQ0J0YjJSbEtTQjdYRzRnSUNBZ2RtRnlJSE5vYVdaMElEMGdkR2hwY3k1c1pXNW5kR2dnTFNCdWRXMHViR1Z1WjNSb08xeHVYRzRnSUNBZ2RtRnlJR0VnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2RtRnlJR0lnUFNCdWRXMDdYRzVjYmlBZ0lDQXZMeUJPYjNKdFlXeHBlbVZjYmlBZ0lDQjJZWElnWW1ocElEMGdZaTUzYjNKa2MxdGlMbXhsYm1kMGFDQXRJREZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbWhwUW1sMGN5QTlJSFJvYVhNdVgyTnZkVzUwUW1sMGN5aGlhR2twTzF4dUlDQWdJSE5vYVdaMElEMGdNallnTFNCaWFHbENhWFJ6TzF4dUlDQWdJR2xtSUNoemFHbG1kQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZaUE5SUdJdWRYTm9iRzRvYzJocFpuUXBPMXh1SUNBZ0lDQWdZUzVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0FnSUNBZ1ltaHBJRDBnWWk1M2IzSmtjMXRpTG14bGJtZDBhQ0F0SURGZElId2dNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUhGMWIzUnBaVzUwWEc0Z0lDQWdkbUZ5SUcwZ1BTQmhMbXhsYm1kMGFDQXRJR0l1YkdWdVozUm9PMXh1SUNBZ0lIWmhjaUJ4TzF4dVhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNCeElEMGdibVYzSUVKT0tHNTFiR3dwTzF4dUlDQWdJQ0FnY1M1c1pXNW5kR2dnUFNCdElDc2dNVHRjYmlBZ0lDQWdJSEV1ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvY1M1c1pXNW5kR2dwTzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVdabUlEMGdZUzVqYkc5dVpTZ3BMbDlwYzJoc2JuTjFZbTExYkNoaUxDQXhMQ0J0S1R0Y2JpQWdJQ0JwWmlBb1pHbG1aaTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdScFptWTdYRzRnSUNBZ0lDQnBaaUFvY1NrZ2UxeHVJQ0FnSUNBZ0lDQnhMbmR2Y21SelcyMWRJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2JTQXRJREU3SUdvZ1BqMGdNRHNnYWkwdEtTQjdYRzRnSUNBZ0lDQjJZWElnY1dvZ1BTQW9ZUzUzYjNKa2MxdGlMbXhsYm1kMGFDQXJJR3BkSUh3Z01Da2dLaUF3ZURRd01EQXdNREFnSzF4dUlDQWdJQ0FnSUNBb1lTNTNiM0prYzF0aUxteGxibWQwYUNBcklHb2dMU0F4WFNCOElEQXBPMXh1WEc0Z0lDQWdJQ0F2THlCT1QxUkZPaUFvY1dvZ0x5QmlhR2twSUdseklDZ3dlRE5tWm1abVptWWdLaUF3ZURRd01EQXdNREFnS3lBd2VETm1abVptWm1ZcElDOGdNSGd5TURBd01EQXdJRzFoZUZ4dUlDQWdJQ0FnTHk4Z0tEQjROMlptWm1abVppbGNiaUFnSUNBZ0lIRnFJRDBnVFdGMGFDNXRhVzRvS0hGcUlDOGdZbWhwS1NCOElEQXNJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0FnSUdFdVgybHphR3h1YzNWaWJYVnNLR0lzSUhGcUxDQnFLVHRjYmlBZ0lDQWdJSGRvYVd4bElDaGhMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEZxTFMwN1hHNGdJQ0FnSUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnSUNCaExsOXBjMmhzYm5OMVltMTFiQ2hpTENBeExDQnFLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jU2tnZTF4dUlDQWdJQ0FnSUNCeExuZHZjbVJ6VzJwZElEMGdjV283WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h4S1NCN1hHNGdJQ0FnSUNCeExuTjBjbWx3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR0V1YzNSeWFYQW9LVHRjYmx4dUlDQWdJQzh2SUVSbGJtOXliV0ZzYVhwbFhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluSUNZbUlITm9hV1owSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWh6YUdsbWRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdScGRqb2djU0I4ZkNCdWRXeHNMRnh1SUNBZ0lDQWdiVzlrT2lCaFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJPVDFSRk9pQXhLU0JnYlc5a1pXQWdZMkZ1SUdKbElITmxkQ0IwYnlCZ2JXOWtZQ0IwYnlCeVpYRjFaWE4wSUcxdlpDQnZibXg1TEZ4dUlDQXZMeUFnSUNBZ0lDQjBieUJnWkdsMllDQjBieUJ5WlhGMVpYTjBJR1JwZGlCdmJteDVMQ0J2Y2lCaVpTQmhZbk5sYm5RZ2RHOWNiaUFnTHk4Z0lDQWdJQ0FnY21WeGRXVnpkQ0JpYjNSb0lHUnBkaUFtSUcxdlpGeHVJQ0F2THlBZ0lDQWdJQ0F5S1NCZ2NHOXphWFJwZG1WZ0lHbHpJSFJ5ZFdVZ2FXWWdkVzV6YVdkdVpXUWdiVzlrSUdseklISmxjWFZsYzNSbFpGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiVzlrSUQwZ1puVnVZM1JwYjI0Z1pHbDJiVzlrSUNodWRXMHNJRzF2WkdVc0lIQnZjMmwwYVhabEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NGdWRXMHVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ2JtVjNJRUpPS0RBcExGeHVJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWd3S1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1pHbDJMQ0J0YjJRc0lISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNBbUppQnVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIUm9hWE11Ym1WbktDa3VaR2wyYlc5a0tHNTFiU3dnYlc5a1pTazdYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJQ0U5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnSUNCa2FYWWdQU0J5WlhNdVpHbDJMbTVsWnlncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cFlXUmtLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCa2FYWXNYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JXOWtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTVrYVhadGIyUW9iblZ0TG01bFp5Z3BMQ0J0YjJSbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0cxdlpHVWdJVDA5SUNkdGIyUW5LU0I3WEc0Z0lDQWdJQ0FnSUdScGRpQTlJSEpsY3k1a2FYWXVibVZuS0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nWkdsMkxGeHVJQ0FnSUNBZ0lDQnRiMlE2SUhKbGN5NXRiMlJjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NoMGFHbHpMbTVsWjJGMGFYWmxJQ1lnYm5WdExtNWxaMkYwYVhabEtTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExtNWxaeWdwTENCdGIyUmxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluS1NCN1hHNGdJQ0FnSUNBZ0lHMXZaQ0E5SUhKbGN5NXRiMlF1Ym1WbktDazdYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2wyWlNBbUppQnRiMlF1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdGIyUXVhWE4xWWlodWRXMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2djbVZ6TG1ScGRpeGNiaUFnSUNBZ0lDQWdiVzlrT2lCdGIyUmNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpTQmhkQ0IwYUdseklIQnZhVzUwWEc1Y2JpQWdJQ0F2THlCVGRISnBjQ0JpYjNSb0lHNTFiV0psY25NZ2RHOGdZWEJ3Y205NGFXMWhkR1VnYzJocFpuUWdkbUZzZFdWY2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQStJSFJvYVhNdWJHVnVaM1JvSUh4OElIUm9hWE11WTIxd0tHNTFiU2tnUENBd0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUc1bGR5QkNUaWd3S1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUIwYUdselhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGWmxjbmtnYzJodmNuUWdjbVZrZFdOMGFXOXVYRzRnSUNBZ2FXWWdLRzUxYlM1c1pXNW5kR2dnUFQwOUlERXBJSHRjYmlBZ0lDQWdJR2xtSUNodGIyUmxJRDA5UFNBblpHbDJKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJQ0FnYlc5a09pQnVkV3hzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElEMDlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUdScGRqb2diblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWgwYUdsekxtMXZaRzRvYm5WdExuZHZjbVJ6V3pCZEtTbGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9kR2hwY3k1dGIyUnVLRzUxYlM1M2IzSmtjMXN3WFNrcFhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNiM0prUkdsMktHNTFiU3dnYlc5a1pTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1JtbHVaQ0JnZEdocGMyQWdMeUJnYm5WdFlGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJJRDBnWm5WdVkzUnBiMjRnWkdsMklDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a2FYWnRiMlFvYm5WdExDQW5aR2wySnl3Z1ptRnNjMlVwTG1ScGRqdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJR0IwYUdsellDQWxJR0J1ZFcxZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGIyUWdQU0JtZFc1amRHbHZiaUJ0YjJRZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGRtMXZaQ2h1ZFcwc0lDZHRiMlFuTENCbVlXeHpaU2t1Ylc5a08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWJXOWtJRDBnWm5WdVkzUnBiMjRnZFcxdlpDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpHbDJiVzlrS0c1MWJTd2dKMjF2WkNjc0lIUnlkV1VwTG0xdlpEdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJRkp2ZFc1a0tHQjBhR2x6WUNBdklHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1WkdsMlVtOTFibVFnUFNCbWRXNWpkR2x2YmlCa2FYWlNiM1Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUdSdElEMGdkR2hwY3k1a2FYWnRiMlFvYm5WdEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaU0F0SUdWNFlXTjBJR1JwZG1semFXOXVYRzRnSUNBZ2FXWWdLR1J0TG0xdlpDNXBjMXBsY204b0tTa2djbVYwZFhKdUlHUnRMbVJwZGp0Y2JseHVJQ0FnSUhaaGNpQnRiMlFnUFNCa2JTNWthWFl1Ym1WbllYUnBkbVVnSVQwOUlEQWdQeUJrYlM1dGIyUXVhWE4xWWlodWRXMHBJRG9nWkcwdWJXOWtPMXh1WEc0Z0lDQWdkbUZ5SUdoaGJHWWdQU0J1ZFcwdWRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlISXlJRDBnYm5WdExtRnVaR3h1S0RFcE8xeHVJQ0FnSUhaaGNpQmpiWEFnUFNCdGIyUXVZMjF3S0doaGJHWXBPMXh1WEc0Z0lDQWdMeThnVW05MWJtUWdaRzkzYmx4dUlDQWdJR2xtSUNoamJYQWdQQ0F3SUh4OElISXlJRDA5UFNBeElDWW1JR050Y0NBOVBUMGdNQ2tnY21WMGRYSnVJR1J0TG1ScGRqdGNibHh1SUNBZ0lDOHZJRkp2ZFc1a0lIVndYRzRnSUNBZ2NtVjBkWEp1SUdSdExtUnBkaTV1WldkaGRHbDJaU0FoUFQwZ01DQS9JR1J0TG1ScGRpNXBjM1ZpYmlneEtTQTZJR1J0TG1ScGRpNXBZV1JrYmlneEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJXOWtiaUE5SUdaMWJtTjBhVzl1SUcxdlpHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BEMGdNSGd6Wm1abVptWm1LVHRjYmlBZ0lDQjJZWElnY0NBOUlDZ3hJRHc4SURJMktTQWxJRzUxYlR0Y2JseHVJQ0FnSUhaaGNpQmhZMk1nUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0JoWTJNZ1BTQW9jQ0FxSUdGall5QXJJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2twSUNVZ2JuVnRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCaFkyTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNHRjR3hoWTJVZ1pHbDJhWE5wYjI0Z1lua2diblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFpHbDJiaUE5SUdaMWJtTjBhVzl1SUdsa2FYWnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEdzlJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllU0FxSURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvZHlBdklHNTFiU2tnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lDVWdiblZ0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZG00Z1BTQm1kVzVqZEdsdmJpQmthWFp1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxrYVhadUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVZuWTJRZ1BTQm1kVzVqZEdsdmJpQmxaMk5rSUNod0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hBdWJtVm5ZWFJwZG1VZ1BUMDlJREFwTzF4dUlDQWdJR0Z6YzJWeWRDZ2hjQzVwYzFwbGNtOG9LU2s3WEc1Y2JpQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNN1hHNGdJQ0FnZG1GeUlIa2dQU0J3TG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0JwWmlBb2VDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1ZFcxdlpDaHdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1WTJ4dmJtVW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCSUNvZ2VDQXJJRUlnS2lCNUlEMGdlRnh1SUNBZ0lIWmhjaUJCSUQwZ2JtVjNJRUpPS0RFcE8xeHVJQ0FnSUhaaGNpQkNJRDBnYm1WM0lFSk9LREFwTzF4dVhHNGdJQ0FnTHk4Z1F5QXFJSGdnS3lCRUlDb2dlU0E5SUhsY2JpQWdJQ0IyWVhJZ1F5QTlJRzVsZHlCQ1RpZ3dLVHRjYmlBZ0lDQjJZWElnUkNBOUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lIWmhjaUJuSUQwZ01EdGNibHh1SUNBZ0lIZG9hV3hsSUNoNExtbHpSWFpsYmlncElDWW1JSGt1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUhndWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ2VTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQXJLMmM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhsd0lEMGdlUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUI0Y0NBOUlIZ3VZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIZG9hV3hsSUNnaGVDNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBc0lHbHRJRDBnTVRzZ0tIZ3VkMjl5WkhOYk1GMGdKaUJwYlNrZ1BUMDlJREFnSmlZZ2FTQThJREkyT3lBcksya3NJR2x0SUR3OFBTQXhLVHRjYmlBZ0lDQWdJR2xtSUNocElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbDFjMmh5YmlocEtUdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHa3RMU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1FTNXBjMDlrWkNncElIeDhJRUl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdRUzVwWVdSa0tIbHdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFSXVhWE4xWWloNGNDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdRUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ1FpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLSGt1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjVMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ReTVwYzA5a1pDZ3BJSHg4SUVRdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUXk1cFlXUmtLSGx3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJRVF1YVhOMVlpaDRjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnUXk1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdSQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLSGd1WTIxd0tIa3BJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdlQzVwYzNWaUtIa3BPMXh1SUNBZ0lDQWdJQ0JCTG1semRXSW9ReWs3WEc0Z0lDQWdJQ0FnSUVJdWFYTjFZaWhFS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYTjFZaWg0S1R0Y2JpQWdJQ0FnSUNBZ1F5NXBjM1ZpS0VFcE8xeHVJQ0FnSUNBZ0lDQkVMbWx6ZFdJb1FpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdFNklFTXNYRzRnSUNBZ0lDQmlPaUJFTEZ4dUlDQWdJQ0FnWjJOa09pQjVMbWwxYzJoc2JpaG5LVnh1SUNBZ0lIMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHaHBjeUJwY3lCeVpXUjFZMlZrSUdsdVkyRnlibUYwYVc5dUlHOW1JSFJvWlNCaWFXNWhjbmtnUlVWQlhHNGdJQzh2SUdGaWIzWmxMQ0JrWlhOcFoyNWhkR1ZrSUhSdklHbHVkbVZ5ZENCdFpXMWlaWEp6SUc5bUlIUm9aVnh1SUNBdkx5QmZjSEpwYldWZklHWnBaV3hrY3lCR0tIQXBJR0YwSUdFZ2JXRjRhVzFoYkNCemNHVmxaRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1ZG0xd0lEMGdablZ1WTNScGIyNGdYMmx1ZG0xd0lDaHdLU0I3WEc0Z0lDQWdZWE56WlhKMEtIQXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUdGemMyVnlkQ2doY0M1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTTdYRzRnSUNBZ2RtRnlJR0lnUFNCd0xtTnNiMjVsS0NrN1hHNWNiaUFnSUNCcFppQW9ZUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdFdWRXMXZaQ2h3S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZU0E5SUdFdVkyeHZibVVvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2VERWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUhneUlEMGdibVYzSUVKT0tEQXBPMXh1WEc0Z0lDQWdkbUZ5SUdSbGJIUmhJRDBnWWk1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLR0V1WTIxd2JpZ3hLU0ErSURBZ0ppWWdZaTVqYlhCdUtERXBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUdsdElEMGdNVHNnS0dFdWQyOXlaSE5iTUYwZ0ppQnBiU2tnUFQwOUlEQWdKaVlnYVNBOElESTJPeUFySzJrc0lHbHRJRHc4UFNBeEtUdGNiaUFnSUNBZ0lHbG1JQ2hwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1sMWMyaHliaWhwS1R0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0drdExTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZURFdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZURFdWFXRmtaQ2hrWld4MFlTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlREV1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3TENCcWJTQTlJREU3SUNoaUxuZHZjbVJ6V3pCZElDWWdhbTBwSUQwOVBTQXdJQ1ltSUdvZ1BDQXlOanNnS3l0cUxDQnFiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYWlBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnWWk1cGRYTm9jbTRvYWlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocUxTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hneUxtbHpUMlJrS0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhneUxtbGhaR1FvWkdWc2RHRXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSGd5TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWVM1amJYQW9ZaWtnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1semRXSW9ZaWs3WEc0Z0lDQWdJQ0FnSUhneExtbHpkV0lvZURJcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBjM1ZpS0dFcE8xeHVJQ0FnSUNBZ0lDQjRNaTVwYzNWaUtIZ3hLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaGhMbU50Y0c0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjRNanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvY21WekxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFXRmtaQ2h3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVuWTJRZ1BTQm1kVzVqZEdsdmJpQm5ZMlFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2JuVnRMbUZpY3lncE8xeHVJQ0FnSUdsbUlDaHVkVzB1YVhOYVpYSnZLQ2twSUhKbGRIVnliaUIwYUdsekxtRmljeWdwTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0IwYUdsekxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0JoTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCaUxtNWxaMkYwYVhabElEMGdNRHRjYmx4dUlDQWdJQzh2SUZKbGJXOTJaU0JqYjIxdGIyNGdabUZqZEc5eUlHOW1JSFIzYjF4dUlDQWdJR1p2Y2lBb2RtRnlJSE5vYVdaMElEMGdNRHNnWVM1cGMwVjJaVzRvS1NBbUppQmlMbWx6UlhabGJpZ3BPeUJ6YUdsbWRDc3JLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUdJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIZG9hV3hsSUNoaExtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQWdJR0V1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnZDJocGJHVWdLR0l1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCeUlEMGdZUzVqYlhBb1lpazdYRzRnSUNBZ0lDQnBaaUFvY2lBOElEQXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UzZGhjQ0JnWVdBZ1lXNWtJR0JpWUNCMGJ5QnRZV3RsSUdCaFlDQmhiSGRoZVhNZ1ltbG5aMlZ5SUhSb1lXNGdZR0pnWEc0Z0lDQWdJQ0FnSUhaaGNpQjBJRDBnWVR0Y2JpQWdJQ0FnSUNBZ1lTQTlJR0k3WEc0Z0lDQWdJQ0FnSUdJZ1BTQjBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h5SUQwOVBTQXdJSHg4SUdJdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWVM1cGMzVmlLR0lwTzF4dUlDQWdJSDBnZDJocGJHVWdLSFJ5ZFdVcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUdJdWFYVnphR3h1S0hOb2FXWjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpiblpsY25RZ2JuVnRZbVZ5SUdsdUlIUm9aU0JtYVdWc1pDQkdLRzUxYlNsY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWRtMGdQU0JtZFc1amRHbHZiaUJwYm5adElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFoyTmtLRzUxYlNrdVlTNTFiVzlrS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpSWFpsYmlBOUlHWjFibU4wYVc5dUlHbHpSWFpsYmlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbmR2Y21Seld6QmRJQ1lnTVNrZ1BUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6VDJSa0lEMGdablZ1WTNScGIyNGdhWE5QWkdRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FtSURFcElEMDlQU0F4TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCbWFYSnpkQ0IzYjNKa0lHRnVaQ0J1ZFcxY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1GdVpHeHVJRDBnWm5WdVkzUnBiMjRnWVc1a2JHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuZHZjbVJ6V3pCZElDWWdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRWx1WTNKbGJXVnVkQ0JoZENCMGFHVWdZbWwwSUhCdmMybDBhVzl1SUdsdUxXeHBibVZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUpwYm1OdUlEMGdablZ1WTNScGIyNGdZbWx1WTI0Z0tHSnBkQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlpYaHdZVzVrS0hNZ0t5QXhLVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYzEwZ2ZEMGdjVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGa1pDQmlhWFFnWVc1a0lIQnliM0JoWjJGMFpTd2dhV1lnYm1WbFpHVmtYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdjVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnY3pzZ1kyRnljbmtnSVQwOUlEQWdKaVlnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNCM0lDczlJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtQaUF5Tmp0Y2JpQWdJQ0FnSUhjZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlIYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpXbVZ5YnlBOUlHWjFibU4wYVc5dUlHbHpXbVZ5YnlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnRjRzRnUFNCbWRXNWpkR2x2YmlCamJYQnVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdibVZuWVhScGRtVWdQU0J1ZFcwZ1BDQXdPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdJVzVsWjJGMGFYWmxLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdibVZuWVhScGRtVXBJSEpsZEhWeWJpQXhPMXh1WEc0Z0lDQWdkR2hwY3k1emRISnBjQ2dwTzF4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcFppQW9ibVZuWVhScGRtVXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdElEMGdMVzUxYlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJTQThQU0F3ZURObVptWm1abVlzSUNkT2RXMWlaWElnYVhNZ2RHOXZJR0pwWnljcE8xeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUNBZ2NtVnpJRDBnZHlBOVBUMGdiblZ0SUQ4Z01DQTZJSGNnUENCdWRXMGdQeUF0TVNBNklERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdMWEpsY3lCOElEQTdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCRGIyMXdZWEpsSUhSM2J5QnVkVzFpWlhKeklHRnVaQ0J5WlhSMWNtNDZYRzRnSUM4dklERWdMU0JwWmlCZ2RHaHBjMkFnUGlCZ2JuVnRZRnh1SUNBdkx5QXdJQzBnYVdZZ1lIUm9hWE5nSUQwOUlHQnVkVzFnWEc0Z0lDOHZJQzB4SUMwZ2FXWWdZSFJvYVhOZ0lEd2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdGNDQTlJR1oxYm1OMGFXOXVJR050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuVmpiWEFvYm5WdEtUdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnY21WMGRYSnVJQzF5WlhNZ2ZDQXdPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZXNXphV2R1WldRZ1kyOXRjR0Z5YVhOdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRXTnRjQ0E5SUdaMWJtTjBhVzl1SUhWamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRjBJSFJvYVhNZ2NHOXBiblFnWW05MGFDQnVkVzFpWlhKeklHaGhkbVVnZEdobElITmhiV1VnYzJsbmJseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4SUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBdE1UdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdZU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1WEc0Z0lDQWdJQ0JwWmlBb1lTQTlQVDBnWWlrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNCcFppQW9ZU0E4SUdJcElIdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ0xURTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUGlCaUtTQjdYRzRnSUNBZ0lDQWdJSEpsY3lBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1J1SUQwZ1puVnVZM1JwYjI0Z1ozUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEJ1S0c1MWJTa2dQVDA5SURFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMElEMGdablZ1WTNScGIyNGdaM1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBeE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVnVJRDBnWm5WdVkzUnBiMjRnWjNSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlNBOUlHWjFibU4wYVc5dUlHZDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQajBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhSdUlEMGdablZ1WTNScGIyNGdiSFJ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkQ0E5SUdaMWJtTjBhVzl1SUd4MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdMVEU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlc0Z1BTQm1kVzVqZEdsdmJpQnNkR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxJRDBnWm5WdVkzUnBiMjRnYkhSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOFBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjVzRnUFNCbWRXNWpkR2x2YmlCbGNXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SURBN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRU0J5WldSMVkyVWdZMjl1ZEdWNGRDd2dZMjkxYkdRZ1ltVWdkWE5wYm1jZ2JXOXVkR2R2YldWeWVTQnZjaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMQ0JrWlhCbGJtUnBibWRjYmlBZ0x5OGdiMjRnZEdobElHQnRZQ0JwZEhObGJHWXVYRzRnSUM4dlhHNGdJRUpPTG5KbFpDQTlJR1oxYm1OMGFXOXVJSEpsWkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJTWldRb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlTWldRZ1BTQm1kVzVqZEdsdmJpQjBiMUpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ2NtVjBkWEp1SUdOMGVDNWpiMjUyWlhKMFZHOG9kR2hwY3lrdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxU1pXUWdQU0JtZFc1amRHbHZiaUJtY205dFVtVmtJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2RtY205dFVtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnVkVzFpWlhKeklHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtTnZiblpsY25SR2NtOXRLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZlptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQmZabTl5WTJWU1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ1kzUjRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1iM0pqWlZKbFpDQTlJR1oxYm1OMGFXOXVJR1p2Y21ObFVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkJaR1FnUFNCbWRXNWpkR2x2YmlCeVpXUkJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WVdSa0tIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxCWkdRZ1BTQm1kVzVqZEdsdmJpQnlaV1JKUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSSlFXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBZV1JrS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTjFZaUE5SUdaMWJtTjBhVzl1SUhKbFpGTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6ZFdJb2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVk4xWWlBOUlHWjFibU4wYVc5dUlISmxaRWxUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkVsVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtbHpkV0lvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1UyaHNJRDBnWm5WdVkzUnBiMjRnY21Wa1UyaHNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRhR3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbk5vYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUk5kV3dnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRTExYkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TWloMGFHbHpMQ0J1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVTExYkNBOUlHWjFibU4wYVc5dUlISmxaRWxOZFd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkUxMWJDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1paDBhR2x6TENCdWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNpQTlJR1oxYm1OMGFXOXVJSEpsWkZOeGNpQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXpjWElvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JKVTNGeUlDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBjM0Z5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTnhkV0Z5WlNCeWIyOTBJRzkyWlhJZ2NGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5ZENBOUlHWjFibU4wYVc5dUlISmxaRk54Y25RZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y25RZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTnhjblFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnlaV1JKYm5adElDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKYm5adElIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBiblp0S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkFnSlNCZ2NtVmtJRzF2WkhWc2IyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRTVsWnlBOUlHWjFibU4wYVc5dUlISmxaRTVsWnlBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUbVZuSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1dVpXY29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGQnZkeUE5SUdaMWJtTjBhVzl1SUhKbFpGQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrSUNZbUlDRnVkVzB1Y21Wa0xDQW5jbVZrVUc5M0tHNXZjbTFoYkU1MWJTa25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjRzkzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhKcGJXVWdiblZ0WW1WeWN5QjNhWFJvSUdWbVptbGphV1Z1ZENCeVpXUjFZM1JwYjI1Y2JpQWdkbUZ5SUhCeWFXMWxjeUE5SUh0Y2JpQWdJQ0JyTWpVMk9pQnVkV3hzTEZ4dUlDQWdJSEF5TWpRNklHNTFiR3dzWEc0Z0lDQWdjREU1TWpvZ2JuVnNiQ3hjYmlBZ0lDQndNalUxTVRrNklHNTFiR3hjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjMlYxWkc4dFRXVnljMlZ1Ym1VZ2NISnBiV1ZjYmlBZ1puVnVZM1JwYjI0Z1RWQnlhVzFsSUNodVlXMWxMQ0J3S1NCN1hHNGdJQ0FnTHk4Z1VDQTlJRElnWGlCT0lDMGdTMXh1SUNBZ0lIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnZEdocGN5NXdJRDBnYm1WM0lFSk9LSEFzSURFMktUdGNiaUFnSUNCMGFHbHpMbTRnUFNCMGFHbHpMbkF1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZEdocGN5NXJJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxtNHBMbWx6ZFdJb2RHaHBjeTV3S1R0Y2JseHVJQ0FnSUhSb2FYTXVkRzF3SUQwZ2RHaHBjeTVmZEcxd0tDazdYRzRnSUgxY2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbDkwYlhBZ1BTQm1kVzVqZEdsdmJpQmZkRzF3SUNncElIdGNiaUFnSUNCMllYSWdkRzF3SUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lIUnRjQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2hOWVhSb0xtTmxhV3dvZEdocGN5NXVJQzhnTVRNcEtUdGNiaUFnSUNCeVpYUjFjbTRnZEcxd08xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVhWEpsWkhWalpTQTlJR1oxYm1OMGFXOXVJR2x5WldSMVkyVWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRnpjM1Z0WlhNZ2RHaGhkQ0JnYm5WdFlDQnBjeUJzWlhOeklIUm9ZVzRnWUZCZU1tQmNiaUFnSUNBdkx5QnVkVzBnUFNCSVNTQXFJQ2d5SUY0Z1RpQXRJRXNwSUNzZ1NFa2dLaUJMSUNzZ1RFOGdQU0JJU1NBcUlFc2dLeUJNVHlBb2JXOWtJRkFwWEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzA3WEc0Z0lDQWdkbUZ5SUhKc1pXNDdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IwYUdsekxuTndiR2wwS0hJc0lIUm9hWE11ZEcxd0tUdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHRkV3hMS0hJcE8xeHVJQ0FnSUNBZ2NpQTlJSEl1YVdGa1pDaDBhR2x6TG5SdGNDazdYRzRnSUNBZ0lDQnliR1Z1SUQwZ2NpNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaHliR1Z1SUQ0Z2RHaHBjeTV1S1R0Y2JseHVJQ0FnSUhaaGNpQmpiWEFnUFNCeWJHVnVJRHdnZEdocGN5NXVJRDhnTFRFZ09pQnlMblZqYlhBb2RHaHBjeTV3S1R0Y2JpQWdJQ0JwWmlBb1kyMXdJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhJdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnRjQ0ErSURBcElIdGNiaUFnSUNBZ0lISXVhWE4xWWloMGFHbHpMbkFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlMbk4wY21sd0tDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMEtTQjdYRzRnSUNBZ2FXNXdkWFF1YVhWemFISnVLSFJvYVhNdWJpd2dNQ3dnYjNWMEtUdGNiaUFnZlR0Y2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbWx0ZFd4TElEMGdablZ1WTNScGIyNGdhVzExYkVzZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1YVcxMWJDaDBhR2x6TG1zcE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJRXN5TlRZZ0tDa2dlMXh1SUNBZ0lFMVFjbWx0WlM1allXeHNLRnh1SUNBZ0lDQWdkR2hwY3l4Y2JpQWdJQ0FnSUNkck1qVTJKeXhjYmlBZ0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptTXlaaWNwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0VzeU5UWXNJRTFRY21sdFpTazdYRzVjYmlBZ1N6STFOaTV3Y205MGIzUjVjR1V1YzNCc2FYUWdQU0JtZFc1amRHbHZiaUJ6Y0d4cGRDQW9hVzV3ZFhRc0lHOTFkSEIxZENrZ2UxeHVJQ0FnSUM4dklESTFOaUE5SURrZ0tpQXlOaUFySURJeVhHNGdJQ0FnZG1GeUlHMWhjMnNnUFNBd2VETm1abVptWmp0Y2JseHVJQ0FnSUhaaGNpQnZkWFJNWlc0Z1BTQk5ZWFJvTG0xcGJpaHBibkIxZEM1c1pXNW5kR2dzSURrcE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2IzVjBUR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJRzkxZEhCMWRDNTNiM0prYzF0cFhTQTlJR2x1Y0hWMExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0J2ZFhSd2RYUXViR1Z1WjNSb0lEMGdiM1YwVEdWdU8xeHVYRzRnSUNBZ2FXWWdLR2x1Y0hWMExteGxibWQwYUNBOFBTQTVLU0I3WEc0Z0lDQWdJQ0JwYm5CMWRDNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JwYm5CMWRDNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGTm9hV1owSUdKNUlEa2diR2x0WW5OY2JpQWdJQ0IyWVhJZ2NISmxkaUE5SUdsdWNIVjBMbmR2Y21Seld6bGRPMXh1SUNBZ0lHOTFkSEIxZEM1M2IzSmtjMXR2ZFhSd2RYUXViR1Z1WjNSb0t5dGRJRDBnY0hKbGRpQW1JRzFoYzJzN1hHNWNiaUFnSUNCbWIzSWdLR2tnUFNBeE1Ec2dhU0E4SUdsdWNIVjBMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdibVY0ZENBOUlHbHVjSFYwTG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXMmtnTFNBeE1GMGdQU0FvS0c1bGVIUWdKaUJ0WVhOcktTQThQQ0EwS1NCOElDaHdjbVYySUQ0K1BpQXlNaWs3WEc0Z0lDQWdJQ0J3Y21WMklEMGdibVY0ZER0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpsZGlBK1BqNDlJREl5TzF4dUlDQWdJR2x1Y0hWMExuZHZjbVJ6VzJrZ0xTQXhNRjBnUFNCd2NtVjJPMXh1SUNBZ0lHbG1JQ2h3Y21WMklEMDlQU0F3SUNZbUlHbHVjSFYwTG14bGJtZDBhQ0ErSURFd0tTQjdYRzRnSUNBZ0lDQnBibkIxZEM1c1pXNW5kR2dnTFQwZ01UQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0E1TzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCTE1qVTJMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCTElEMGdNSGd4TURBd01EQXpaREVnUFNCYklEQjROREFzSURCNE0yUXhJRjFjYmlBZ0lDQnVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhRjBnUFNBd08xeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDc2dNVjBnUFNBd08xeHVJQ0FnSUc1MWJTNXNaVzVuZEdnZ0t6MGdNanRjYmx4dUlDQWdJQzh2SUdKdmRXNWtaV1FnWVhRNklEQjROREFnS2lBd2VETm1abVptWm1ZZ0t5QXdlRE5rTUNBOUlEQjRNVEF3TURBd016a3dYRzRnSUNBZ2RtRnlJR3h2SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCdWRXMHVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYkc4Z0t6MGdkeUFxSURCNE0yUXhPMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JzYnlBOUlIY2dLaUF3ZURRd0lDc2dLQ2hzYnlBdklEQjROREF3TURBd01Da2dmQ0F3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR3hsYm1kMGFDQnlaV1IxWTNScGIyNWNiaUFnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbXhsYm1kMGFDMHRPMXh1SUNBZ0lDQWdhV1lnS0c1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdExteGxibWQwYUMwdE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lHWjFibU4wYVc5dUlGQXlNalFnS0NrZ2UxeHVJQ0FnSUUxUWNtbHRaUzVqWVd4c0tGeHVJQ0FnSUNBZ2RHaHBjeXhjYmlBZ0lDQWdJQ2R3TWpJMEp5eGNiaUFnSUNBZ0lDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQXdNREF3TURBd01DQXdNREF3TURBd01DQXdNREF3TURBd01TY3BPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRkF5TWpRc0lFMVFjbWx0WlNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURFNU1pQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXhPVEluTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVpsSUdabVptWm1abVptSUdabVptWm1abVptSnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VERTVNaXdnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNalUxTVRrZ0tDa2dlMXh1SUNBZ0lDOHZJRElnWGlBeU5UVWdMU0F4T1Z4dUlDQWdJRTFRY21sdFpTNWpZV3hzS0Z4dUlDQWdJQ0FnZEdocGN5eGNiaUFnSUNBZ0lDY3lOVFV4T1Njc1hHNGdJQ0FnSUNBbk4yWm1abVptWm1abVptWm1abVptWmlCbVptWm1abVptWm1abVptWm1abVptSUdabVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWmxaQ2NwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0ZBeU5UVXhPU3dnVFZCeWFXMWxLVHRjYmx4dUlDQlFNalUxTVRrdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXpYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzUxYlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUdocElEMGdLRzUxYlM1M2IzSmtjMXRwWFNCOElEQXBJQ29nTUhneE15QXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RtRnlJR3h2SUQwZ2FHa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JvYVNBK1BqNDlJREkyTzF4dVhHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnYUdrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoallYSnllU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dySzEwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkZlSEJ2Y25SbFpDQnRiM04wYkhrZ1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTXNJSFZ6WlNCd2JHRnBiaUJ1WVcxbElHbHVjM1JsWVdSY2JpQWdRazR1WDNCeWFXMWxJRDBnWm5WdVkzUnBiMjRnY0hKcGJXVWdLRzVoYldVcElIdGNiaUFnSUNBdkx5QkRZV05vWldRZ2RtVnljMmx2YmlCdlppQndjbWx0WlZ4dUlDQWdJR2xtSUNod2NtbHRaWE5iYm1GdFpWMHBJSEpsZEhWeWJpQndjbWx0WlhOYmJtRnRaVjA3WEc1Y2JpQWdJQ0IyWVhJZ2NISnBiV1U3WEc0Z0lDQWdhV1lnS0c1aGJXVWdQVDA5SUNkck1qVTJKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1N6STFOaWdwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm1GdFpTQTlQVDBnSjNBeU1qUW5LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qSTBLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WVcxbElEMDlQU0FuY0RFNU1pY3BJSHRjYmlBZ0lDQWdJSEJ5YVcxbElEMGdibVYzSUZBeE9USW9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVoYldVZ1BUMDlJQ2R3TWpVMU1Ua25LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qVTFNVGtvS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFZibXR1YjNkdUlIQnlhVzFsSUNjZ0t5QnVZVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpwYldWelcyNWhiV1ZkSUQwZ2NISnBiV1U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjSEpwYldVN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRbUZ6WlNCeVpXUjFZM1JwYjI0Z1pXNW5hVzVsWEc0Z0lDOHZYRzRnSUdaMWJtTjBhVzl1SUZKbFpDQW9iU2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYlNBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJSFpoY2lCd2NtbHRaU0E5SUVKT0xsOXdjbWx0WlNodEtUdGNiaUFnSUNBZ0lIUm9hWE11YlNBOUlIQnlhVzFsTG5BN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YVcxbElEMGdjSEpwYldVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHRMbWQwYmlneEtTd2dKMjF2WkhWc2RYTWdiWFZ6ZENCaVpTQm5jbVZoZEdWeUlIUm9ZVzRnTVNjcE8xeHVJQ0FnSUNBZ2RHaHBjeTV0SUQwZ2JUdGNiaUFnSUNBZ0lIUm9hWE11Y0hKcGJXVWdQU0J1ZFd4c08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WDNabGNtbG1lVEVnUFNCbWRXNWpkR2x2YmlCZmRtVnlhV1o1TVNBb1lTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoaExtNWxaMkYwYVhabElEMDlQU0F3TENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQndiM05wZEdsMlpYTW5LVHRjYmlBZ0lDQmhjM05sY25Rb1lTNXlaV1FzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVmZG1WeWFXWjVNaUE5SUdaMWJtTjBhVzl1SUY5MlpYSnBabmt5SUNoaExDQmlLU0I3WEc0Z0lDQWdZWE56WlhKMEtDaGhMbTVsWjJGMGFYWmxJSHdnWWk1dVpXZGhkR2wyWlNrZ1BUMDlJREFzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabGN5Y3BPMXh1SUNBZ0lHRnpjMlZ5ZENoaExuSmxaQ0FtSmlCaExuSmxaQ0E5UFQwZ1lpNXlaV1FzWEc0Z0lDQWdJQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzF2WkNBOUlHWjFibU4wYVc5dUlHbHRiMlFnS0dFcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1d2NtbHRaU2tnY21WMGRYSnVJSFJvYVhNdWNISnBiV1V1YVhKbFpIVmpaU2hoS1M1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlHRXVkVzF2WkNoMGFHbHpMbTBwTGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvWVNrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTB1YzNWaUtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtRmtaQ0E5SUdaMWJtTjBhVzl1SUdGa1pDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lTNWhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1saFpHUWdQU0JtZFc1amRHbHZiaUJwWVdSa0lDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExtbGhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWMzVmlJRDBnWm5WdVkzUnBiMjRnYzNWaUlDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExuTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5Ob2JDQTlJR1oxYm1OMGFXOXVJSE5vYkNBb1lTd2diblZ0S1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1TaGhLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHRXVkWE5vYkc0b2JuVnRLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaGhMbWx0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXViWFZzSUQwZ1puVnVZM1JwYjI0Z2JYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWJYVnNLR0lwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1semNYSWdQU0JtZFc1amRHbHZiaUJwYzNGeUlDaGhLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxMWJDaGhMQ0JoTG1Oc2IyNWxLQ2twTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YzNGeUlEMGdablZ1WTNScGIyNGdjM0Z5SUNoaEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0dFc0lHRXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjM0Z5ZENBOUlHWjFibU4wYVc5dUlITnhjblFnS0dFcElIdGNiaUFnSUNCcFppQW9ZUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJR0V1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSFpoY2lCdGIyUXpJRDBnZEdocGN5NXRMbUZ1Wkd4dUtETXBPMXh1SUNBZ0lHRnpjMlZ5ZENodGIyUXpJQ1VnTWlBOVBUMGdNU2s3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJWY2JpQWdJQ0JwWmlBb2JXOWtNeUE5UFQwZ015a2dlMXh1SUNBZ0lDQWdkbUZ5SUhCdmR5QTlJSFJvYVhNdWJTNWhaR1FvYm1WM0lFSk9LREVwS1M1cGRYTm9jbTRvTWlrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdiM2NvWVN3Z2NHOTNLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJVYjI1bGJHeHBMVk5vWVc1cmN5QmhiR2R2Y21sMGFHMGdLRlJ2ZEdGc2JIa2dkVzV2Y0hScGJXbDZaV1FnWVc1a0lITnNiM2NwWEc0Z0lDQWdMeTljYmlBZ0lDQXZMeUJHYVc1a0lGRWdZVzVrSUZNc0lIUm9ZWFFnVVNBcUlESWdYaUJUSUQwZ0tGQWdMU0F4S1Z4dUlDQWdJSFpoY2lCeElEMGdkR2hwY3k1dExuTjFZbTRvTVNrN1hHNGdJQ0FnZG1GeUlITWdQU0F3TzF4dUlDQWdJSGRvYVd4bElDZ2hjUzVwYzFwbGNtOG9LU0FtSmlCeExtRnVaR3h1S0RFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCekt5czdYRzRnSUNBZ0lDQnhMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ1lYTnpaWEowS0NGeExtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUJ2Ym1VZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkbUZ5SUc1UGJtVWdQU0J2Ym1VdWNtVmtUbVZuS0NrN1hHNWNiaUFnSUNBdkx5QkdhVzVrSUhGMVlXUnlZWFJwWXlCdWIyNHRjbVZ6YVdSMVpWeHVJQ0FnSUM4dklFNVBWRVU2SUUxaGVDQnBjeUJ6ZFdOb0lHSmxZMkYxYzJVZ2IyWWdaMlZ1WlhKaGJHbDZaV1FnVW1sbGJXRnViaUJvZVhCdmRHaGxjMmx6TGx4dUlDQWdJSFpoY2lCc2NHOTNJRDBnZEdocGN5NXRMbk4xWW00b01Ta3VhWFZ6YUhKdUtERXBPMXh1SUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTV0TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUhvZ1BTQnVaWGNnUWs0b01pQXFJSG9nS2lCNktTNTBiMUpsWkNoMGFHbHpLVHRjYmx4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG5CdmR5aDZMQ0JzY0c5M0tTNWpiWEFvYms5dVpTa2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIb3VjbVZrU1VGa1pDaHVUMjVsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdWNHOTNLSG9zSUhFcE8xeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXdiM2NvWVN3Z2NTNWhaR1J1S0RFcExtbDFjMmh5YmlneEtTazdYRzRnSUNBZ2RtRnlJSFFnUFNCMGFHbHpMbkJ2ZHloaExDQnhLVHRjYmlBZ0lDQjJZWElnYlNBOUlITTdYRzRnSUNBZ2QyaHBiR1VnS0hRdVkyMXdLRzl1WlNrZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBiWEFnUFNCME8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUhSdGNDNWpiWEFvYjI1bEtTQWhQVDBnTURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSdGNDQTlJSFJ0Y0M1eVpXUlRjWElvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdGemMyVnlkQ2hwSUR3Z2JTazdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11Y0c5M0tHTXNJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9iU0F0SUdrZ0xTQXhLU2s3WEc1Y2JpQWdJQ0FnSUhJZ1BTQnlMbkpsWkUxMWJDaGlLVHRjYmlBZ0lDQWdJR01nUFNCaUxuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ2RDQTlJSFF1Y21Wa1RYVnNLR01wTzF4dUlDQWdJQ0FnYlNBOUlHazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJuWnRJRDBnWm5WdVkzUnBiMjRnYVc1MmJTQW9ZU2tnZTF4dUlDQWdJSFpoY2lCcGJuWWdQU0JoTGw5cGJuWnRjQ2gwYUdsekxtMHBPMXh1SUNBZ0lHbG1JQ2hwYm5ZdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdsdWRpNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJXOWtLR2x1ZGlrdWNtVmtUbVZuS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9hVzUyS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV3YjNjZ1BTQm1kVzVqZEdsdmJpQndiM2NnS0dFc0lHNTFiU2tnZTF4dUlDQWdJR2xtSUNodWRXMHVhWE5hWlhKdktDa3BJSEpsZEhWeWJpQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdhV1lnS0c1MWJTNWpiWEJ1S0RFcElEMDlQU0F3S1NCeVpYUjFjbTRnWVM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZG1GeUlIZHBibVJ2ZDFOcGVtVWdQU0EwTzF4dUlDQWdJSFpoY2lCM2JtUWdQU0J1WlhjZ1FYSnlZWGtvTVNBOFBDQjNhVzVrYjNkVGFYcGxLVHRjYmlBZ0lDQjNibVJiTUYwZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkMjVrV3pGZElEMGdZVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTWpzZ2FTQThJSGR1WkM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkMjVrVzJsZElEMGdkR2hwY3k1dGRXd29kMjVrVzJrZ0xTQXhYU3dnWVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUhkdVpGc3dYVHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SURBN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJSFpoY2lCemRHRnlkQ0E5SUc1MWJTNWlhWFJNWlc1bmRHZ29LU0FsSURJMk8xeHVJQ0FnSUdsbUlDaHpkR0Z5ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYzNSaGNuUWdQU0F5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tHa2dQU0J1ZFcwdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNiM0prSUQwZ2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUhOMFlYSjBJQzBnTVRzZ2FpQStQU0F3T3lCcUxTMHBJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSnBkQ0E5SUNoM2IzSmtJRDQrSUdvcElDWWdNVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjeUFoUFQwZ2QyNWtXekJkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV6Y1hJb2NtVnpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hpYVhRZ1BUMDlJREFnSmlZZ1kzVnljbVZ1ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkQ0E4UEQwZ01UdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQjhQU0JpYVhRN1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNHJLenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5STVpXNGdJVDA5SUhkcGJtUnZkMU5wZW1VZ0ppWWdLR2tnSVQwOUlEQWdmSHdnYWlBaFBUMGdNQ2twSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXViWFZzS0hKbGN5d2dkMjVrVzJOMWNuSmxiblJkS1R0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEV4bGJpQTlJREE3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzUmhjblFnUFNBeU5qdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZEZSdklEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRGUnZJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjaUE5SUc1MWJTNTFiVzlrS0hSb2FYTXViU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjaUE5UFQwZ2JuVnRJRDhnY2k1amJHOXVaU2dwSURvZ2NqdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtTnZiblpsY25SR2NtOXRJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRVp5YjIwZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeVpYTWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0J5WlhNdWNtVmtJRDBnYm5Wc2JEdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJQzh2WEc0Z0lDOHZJRTF2Ym5SbmIyMWxjbmtnYldWMGFHOWtJR1Z1WjJsdVpWeHVJQ0F2TDF4dVhHNGdJRUpPTG0xdmJuUWdQU0JtZFc1amRHbHZiaUJ0YjI1MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUUxdmJuUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQk5iMjUwSUNodEtTQjdYRzRnSUNBZ1VtVmtMbU5oYkd3b2RHaHBjeXdnYlNrN1hHNWNiaUFnSUNCMGFHbHpMbk5vYVdaMElEMGdkR2hwY3k1dExtSnBkRXhsYm1kMGFDZ3BPMXh1SUNBZ0lHbG1JQ2gwYUdsekxuTm9hV1owSUNVZ01qWWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11YzJocFpuUWdLejBnTWpZZ0xTQW9kR2hwY3k1emFHbG1kQ0FsSURJMktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbklnUFNCdVpYY2dRazRvTVNrdWFYVnphR3h1S0hSb2FYTXVjMmhwWm5RcE8xeHVJQ0FnSUhSb2FYTXVjaklnUFNCMGFHbHpMbWx0YjJRb2RHaHBjeTV5TG5OeGNpZ3BLVHRjYmlBZ0lDQjBhR2x6TG5KcGJuWWdQU0IwYUdsekxuSXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNWNiaUFnSUNCMGFHbHpMbTFwYm5ZZ1BTQjBhR2x6TG5KcGJuWXViWFZzS0hSb2FYTXVjaWt1YVhOMVltNG9NU2t1WkdsMktIUm9hWE11YlNrN1hHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV0YVc1MkxuVnRiMlFvZEdocGN5NXlLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxuSXVjM1ZpS0hSb2FYTXViV2x1ZGlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1RXOXVkQ3dnVW1Wa0tUdGNibHh1SUNCTmIyNTBMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9iblZ0TG5WemFHeHVLSFJvYVhNdWMyaHBablFwS1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowUm5KdmJTQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUkdjbTl0SUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVcxdlpDaHVkVzB1YlhWc0tIUm9hWE11Y21sdWRpa3BPMXh1SUNBZ0lISXVjbVZrSUQwZ2JuVnNiRHRjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JOYjI1MExuQnliM1J2ZEhsd1pTNXBiWFZzSUQwZ1puVnVZM1JwYjI0Z2FXMTFiQ0FvWVN3Z1lpa2dlMXh1SUNBZ0lHbG1JQ2hoTG1seldtVnlieWdwSUh4OElHSXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJR0V1ZDI5eVpITmJNRjBnUFNBd08xeHVJQ0FnSUNBZ1lTNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSFFnUFNCaExtbHRkV3dvWWlrN1hHNGdJQ0FnZG1GeUlHTWdQU0IwTG0xaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0xcGJuWXBMbWx0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0S1R0Y2JpQWdJQ0IyWVhJZ2RTQTlJSFF1YVhOMVlpaGpLUzVwZFhOb2NtNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFU3WEc1Y2JpQWdJQ0JwWmlBb2RTNWpiWEFvZEdocGN5NXRLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMUxtbHpkV0lvZEdocGN5NXRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFV1WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFXRmtaQ2gwYUdsekxtMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTXVYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BJSHg4SUdJdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCdVpYY2dRazRvTUNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0JoTG0xMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNiaUFnSUNCcFppQW9kUzVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjFMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hVdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIVXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ0x5OGdLRUZTS1Y0dE1TQXFJRkplTWlBOUlDaEJYaTB4SUNvZ1VsNHRNU2tnS2lCU1hqSWdQU0JCWGkweElDb2dVbHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TG1sdGIyUW9ZUzVmYVc1MmJYQW9kR2hwY3k1dEtTNXRkV3dvZEdocGN5NXlNaWtwTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVmU2tvZEhsd1pXOW1JRzF2WkhWc1pTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ2ZId2diVzlrZFd4bExDQjBhR2x6S1R0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXNuMS5qcy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9heGlvcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzXFxcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXBibVJsZUM1cWN6ODVNV0kwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExITkVRVUZoSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWhlR2x2Y3ljcE95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9hZGFwdGVycy94aHIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYWRhcHRlcnMveGhyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIHNldHRsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vY29yZS9zZXR0bGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3NldHRsZS5qc1xcXCIpO1xcbnZhciBidWlsZFVSTCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vaGVscGVycy9idWlsZFVSTCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanNcXFwiKTtcXG52YXIgcGFyc2VIZWFkZXJzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9oZWxwZXJzL3BhcnNlSGVhZGVycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzXFxcIik7XFxudmFyIGlzVVJMU2FtZU9yaWdpbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vaGVscGVycy9pc1VSTFNhbWVPcmlnaW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpbi5qc1xcXCIpO1xcbnZhciBjcmVhdGVFcnJvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2NvcmUvY3JlYXRlRXJyb3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzXFxcIik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB4aHJBZGFwdGVyKGNvbmZpZykge1xcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIGRpc3BhdGNoWGhyUmVxdWVzdChyZXNvbHZlLCByZWplY3QpIHtcXG4gICAgdmFyIHJlcXVlc3REYXRhID0gY29uZmlnLmRhdGE7XFxuICAgIHZhciByZXF1ZXN0SGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzO1xcblxcbiAgICBpZiAodXRpbHMuaXNGb3JtRGF0YShyZXF1ZXN0RGF0YSkpIHtcXG4gICAgICBkZWxldGUgcmVxdWVzdEhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddOyAvLyBMZXQgdGhlIGJyb3dzZXIgc2V0IGl0XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcXG5cXG4gICAgLy8gSFRUUCBiYXNpYyBhdXRoZW50aWNhdGlvblxcbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcXG4gICAgICB2YXIgdXNlcm5hbWUgPSBjb25maWcuYXV0aC51c2VybmFtZSB8fCAnJztcXG4gICAgICB2YXIgcGFzc3dvcmQgPSBjb25maWcuYXV0aC5wYXNzd29yZCB8fCAnJztcXG4gICAgICByZXF1ZXN0SGVhZGVycy5BdXRob3JpemF0aW9uID0gJ0Jhc2ljICcgKyBidG9hKHVzZXJuYW1lICsgJzonICsgcGFzc3dvcmQpO1xcbiAgICB9XFxuXFxuICAgIHJlcXVlc3Qub3Blbihjb25maWcubWV0aG9kLnRvVXBwZXJDYXNlKCksIGJ1aWxkVVJMKGNvbmZpZy51cmwsIGNvbmZpZy5wYXJhbXMsIGNvbmZpZy5wYXJhbXNTZXJpYWxpemVyKSwgdHJ1ZSk7XFxuXFxuICAgIC8vIFNldCB0aGUgcmVxdWVzdCB0aW1lb3V0IGluIE1TXFxuICAgIHJlcXVlc3QudGltZW91dCA9IGNvbmZpZy50aW1lb3V0O1xcblxcbiAgICAvLyBMaXN0ZW4gZm9yIHJlYWR5IHN0YXRlXFxuICAgIHJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24gaGFuZGxlTG9hZCgpIHtcXG4gICAgICBpZiAoIXJlcXVlc3QgfHwgcmVxdWVzdC5yZWFkeVN0YXRlICE9PSA0KSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIC8vIFRoZSByZXF1ZXN0IGVycm9yZWQgb3V0IGFuZCB3ZSBkaWRuJ3QgZ2V0IGEgcmVzcG9uc2UsIHRoaXMgd2lsbCBiZVxcbiAgICAgIC8vIGhhbmRsZWQgYnkgb25lcnJvciBpbnN0ZWFkXFxuICAgICAgLy8gV2l0aCBvbmUgZXhjZXB0aW9uOiByZXF1ZXN0IHRoYXQgdXNpbmcgZmlsZTogcHJvdG9jb2wsIG1vc3QgYnJvd3NlcnNcXG4gICAgICAvLyB3aWxsIHJldHVybiBzdGF0dXMgYXMgMCBldmVuIHRob3VnaCBpdCdzIGEgc3VjY2Vzc2Z1bCByZXF1ZXN0XFxuICAgICAgaWYgKHJlcXVlc3Quc3RhdHVzID09PSAwICYmICEocmVxdWVzdC5yZXNwb25zZVVSTCAmJiByZXF1ZXN0LnJlc3BvbnNlVVJMLmluZGV4T2YoJ2ZpbGU6JykgPT09IDApKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIC8vIFByZXBhcmUgdGhlIHJlc3BvbnNlXFxuICAgICAgdmFyIHJlc3BvbnNlSGVhZGVycyA9ICdnZXRBbGxSZXNwb25zZUhlYWRlcnMnIGluIHJlcXVlc3QgPyBwYXJzZUhlYWRlcnMocmVxdWVzdC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkgOiBudWxsO1xcbiAgICAgIHZhciByZXNwb25zZURhdGEgPSAhY29uZmlnLnJlc3BvbnNlVHlwZSB8fCBjb25maWcucmVzcG9uc2VUeXBlID09PSAndGV4dCcgPyByZXF1ZXN0LnJlc3BvbnNlVGV4dCA6IHJlcXVlc3QucmVzcG9uc2U7XFxuICAgICAgdmFyIHJlc3BvbnNlID0ge1xcbiAgICAgICAgZGF0YTogcmVzcG9uc2VEYXRhLFxcbiAgICAgICAgc3RhdHVzOiByZXF1ZXN0LnN0YXR1cyxcXG4gICAgICAgIHN0YXR1c1RleHQ6IHJlcXVlc3Quc3RhdHVzVGV4dCxcXG4gICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlSGVhZGVycyxcXG4gICAgICAgIGNvbmZpZzogY29uZmlnLFxcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdFxcbiAgICAgIH07XFxuXFxuICAgICAgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgcmVzcG9uc2UpO1xcblxcbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICByZXF1ZXN0ID0gbnVsbDtcXG4gICAgfTtcXG5cXG4gICAgLy8gSGFuZGxlIGJyb3dzZXIgcmVxdWVzdCBjYW5jZWxsYXRpb24gKGFzIG9wcG9zZWQgdG8gYSBtYW51YWwgY2FuY2VsbGF0aW9uKVxcbiAgICByZXF1ZXN0Lm9uYWJvcnQgPSBmdW5jdGlvbiBoYW5kbGVBYm9ydCgpIHtcXG4gICAgICBpZiAoIXJlcXVlc3QpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgcmVqZWN0KGNyZWF0ZUVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcsICdFQ09OTkFCT1JURUQnLCByZXF1ZXN0KSk7XFxuXFxuICAgICAgLy8gQ2xlYW4gdXAgcmVxdWVzdFxcbiAgICAgIHJlcXVlc3QgPSBudWxsO1xcbiAgICB9O1xcblxcbiAgICAvLyBIYW5kbGUgbG93IGxldmVsIG5ldHdvcmsgZXJyb3JzXFxuICAgIHJlcXVlc3Qub25lcnJvciA9IGZ1bmN0aW9uIGhhbmRsZUVycm9yKCkge1xcbiAgICAgIC8vIFJlYWwgZXJyb3JzIGFyZSBoaWRkZW4gZnJvbSB1cyBieSB0aGUgYnJvd3NlclxcbiAgICAgIC8vIG9uZXJyb3Igc2hvdWxkIG9ubHkgZmlyZSBpZiBpdCdzIGEgbmV0d29yayBlcnJvclxcbiAgICAgIHJlamVjdChjcmVhdGVFcnJvcignTmV0d29yayBFcnJvcicsIGNvbmZpZywgbnVsbCwgcmVxdWVzdCkpO1xcblxcbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICByZXF1ZXN0ID0gbnVsbDtcXG4gICAgfTtcXG5cXG4gICAgLy8gSGFuZGxlIHRpbWVvdXRcXG4gICAgcmVxdWVzdC5vbnRpbWVvdXQgPSBmdW5jdGlvbiBoYW5kbGVUaW1lb3V0KCkge1xcbiAgICAgIHJlamVjdChjcmVhdGVFcnJvcigndGltZW91dCBvZiAnICsgY29uZmlnLnRpbWVvdXQgKyAnbXMgZXhjZWVkZWQnLCBjb25maWcsICdFQ09OTkFCT1JURUQnLFxcbiAgICAgICAgcmVxdWVzdCkpO1xcblxcbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICByZXF1ZXN0ID0gbnVsbDtcXG4gICAgfTtcXG5cXG4gICAgLy8gQWRkIHhzcmYgaGVhZGVyXFxuICAgIC8vIFRoaXMgaXMgb25seSBkb25lIGlmIHJ1bm5pbmcgaW4gYSBzdGFuZGFyZCBicm93c2VyIGVudmlyb25tZW50LlxcbiAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGlmIHdlJ3JlIGluIGEgd2ViIHdvcmtlciwgb3IgcmVhY3QtbmF0aXZlLlxcbiAgICBpZiAodXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSkge1xcbiAgICAgIHZhciBjb29raWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9oZWxwZXJzL2Nvb2tpZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2Nvb2tpZXMuanNcXFwiKTtcXG5cXG4gICAgICAvLyBBZGQgeHNyZiBoZWFkZXJcXG4gICAgICB2YXIgeHNyZlZhbHVlID0gKGNvbmZpZy53aXRoQ3JlZGVudGlhbHMgfHwgaXNVUkxTYW1lT3JpZ2luKGNvbmZpZy51cmwpKSAmJiBjb25maWcueHNyZkNvb2tpZU5hbWUgP1xcbiAgICAgICAgY29va2llcy5yZWFkKGNvbmZpZy54c3JmQ29va2llTmFtZSkgOlxcbiAgICAgICAgdW5kZWZpbmVkO1xcblxcbiAgICAgIGlmICh4c3JmVmFsdWUpIHtcXG4gICAgICAgIHJlcXVlc3RIZWFkZXJzW2NvbmZpZy54c3JmSGVhZGVyTmFtZV0gPSB4c3JmVmFsdWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIEFkZCBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XFxuICAgIGlmICgnc2V0UmVxdWVzdEhlYWRlcicgaW4gcmVxdWVzdCkge1xcbiAgICAgIHV0aWxzLmZvckVhY2gocmVxdWVzdEhlYWRlcnMsIGZ1bmN0aW9uIHNldFJlcXVlc3RIZWFkZXIodmFsLCBrZXkpIHtcXG4gICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdERhdGEgPT09ICd1bmRlZmluZWQnICYmIGtleS50b0xvd2VyQ2FzZSgpID09PSAnY29udGVudC10eXBlJykge1xcbiAgICAgICAgICAvLyBSZW1vdmUgQ29udGVudC1UeXBlIGlmIGRhdGEgaXMgdW5kZWZpbmVkXFxuICAgICAgICAgIGRlbGV0ZSByZXF1ZXN0SGVhZGVyc1trZXldO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgLy8gT3RoZXJ3aXNlIGFkZCBoZWFkZXIgdG8gdGhlIHJlcXVlc3RcXG4gICAgICAgICAgcmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKGtleSwgdmFsKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgd2l0aENyZWRlbnRpYWxzIHRvIHJlcXVlc3QgaWYgbmVlZGVkXFxuICAgIGlmIChjb25maWcud2l0aENyZWRlbnRpYWxzKSB7XFxuICAgICAgcmVxdWVzdC53aXRoQ3JlZGVudGlhbHMgPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCByZXNwb25zZVR5cGUgdG8gcmVxdWVzdCBpZiBuZWVkZWRcXG4gICAgaWYgKGNvbmZpZy5yZXNwb25zZVR5cGUpIHtcXG4gICAgICB0cnkge1xcbiAgICAgICAgcmVxdWVzdC5yZXNwb25zZVR5cGUgPSBjb25maWcucmVzcG9uc2VUeXBlO1xcbiAgICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgIC8vIEV4cGVjdGVkIERPTUV4Y2VwdGlvbiB0aHJvd24gYnkgYnJvd3NlcnMgbm90IGNvbXBhdGlibGUgWE1MSHR0cFJlcXVlc3QgTGV2ZWwgMi5cXG4gICAgICAgIC8vIEJ1dCwgdGhpcyBjYW4gYmUgc3VwcHJlc3NlZCBmb3IgJ2pzb24nIHR5cGUgYXMgaXQgY2FuIGJlIHBhcnNlZCBieSBkZWZhdWx0ICd0cmFuc2Zvcm1SZXNwb25zZScgZnVuY3Rpb24uXFxuICAgICAgICBpZiAoY29uZmlnLnJlc3BvbnNlVHlwZSAhPT0gJ2pzb24nKSB7XFxuICAgICAgICAgIHRocm93IGU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBwcm9ncmVzcyBpZiBuZWVkZWRcXG4gICAgaWYgKHR5cGVvZiBjb25maWcub25Eb3dubG9hZFByb2dyZXNzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIGNvbmZpZy5vbkRvd25sb2FkUHJvZ3Jlc3MpO1xcbiAgICB9XFxuXFxuICAgIC8vIE5vdCBhbGwgYnJvd3NlcnMgc3VwcG9ydCB1cGxvYWQgZXZlbnRzXFxuICAgIGlmICh0eXBlb2YgY29uZmlnLm9uVXBsb2FkUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicgJiYgcmVxdWVzdC51cGxvYWQpIHtcXG4gICAgICByZXF1ZXN0LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCdwcm9ncmVzcycsIGNvbmZpZy5vblVwbG9hZFByb2dyZXNzKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XFxuICAgICAgLy8gSGFuZGxlIGNhbmNlbGxhdGlvblxcbiAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24gb25DYW5jZWxlZChjYW5jZWwpIHtcXG4gICAgICAgIGlmICghcmVxdWVzdCkge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXF1ZXN0LmFib3J0KCk7XFxuICAgICAgICByZWplY3QoY2FuY2VsKTtcXG4gICAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcXG4gICAgICAgIHJlcXVlc3QgPSBudWxsO1xcbiAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXF1ZXN0RGF0YSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmVxdWVzdERhdGEgPSBudWxsO1xcbiAgICB9XFxuXFxuICAgIC8vIFNlbmQgdGhlIHJlcXVlc3RcXG4gICAgcmVxdWVzdC5zZW5kKHJlcXVlc3REYXRhKTtcXG4gIH0pO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WVdSaGNIUmxjbk12ZUdoeUxtcHpQek14TldJaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1dVRkJXU3h0UWtGQlR5eERRVUZETEhGRVFVRlpPMEZCUTJoRExHRkJRV0VzYlVKQlFVOHNRMEZCUXl4cFJVRkJhMEk3UVVGRGRrTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExESkZRVUYxUWp0QlFVTTVReXh0UWtGQmJVSXNiVUpCUVU4c1EwRkJReXh0UmtGQk1rSTdRVUZEZEVRc2MwSkJRWE5DTEcxQ1FVRlBMRU5CUVVNc2VVWkJRVGhDTzBGQlF6VkVMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMSGxGUVVGeFFqczdRVUZGTDBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MFEwRkJORU03UVVGRE5VTTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dlFrRkJiMElzYlVKQlFVOHNRMEZCUXl4NVJVRkJjMEk3TzBGQlJXeEVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTloWkdGd2RHVnljeTk0YUhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHZMaTR2ZFhScGJITW5LVHRjYm5aaGNpQnpaWFIwYkdVZ1BTQnlaWEYxYVhKbEtDY3VMeTR1TDJOdmNtVXZjMlYwZEd4bEp5azdYRzUyWVhJZ1luVnBiR1JWVWt3Z1BTQnlaWEYxYVhKbEtDY3VMeTR1TDJobGJIQmxjbk12WW5WcGJHUlZVa3duS1R0Y2JuWmhjaUJ3WVhKelpVaGxZV1JsY25NZ1BTQnlaWEYxYVhKbEtDY3VMeTR1TDJobGJIQmxjbk12Y0dGeWMyVklaV0ZrWlhKekp5azdYRzUyWVhJZ2FYTlZVa3hUWVcxbFQzSnBaMmx1SUQwZ2NtVnhkV2x5WlNnbkxpOHVMaTlvWld4d1pYSnpMMmx6VlZKTVUyRnRaVTl5YVdkcGJpY3BPMXh1ZG1GeUlHTnlaV0YwWlVWeWNtOXlJRDBnY21WeGRXbHlaU2duTGk0dlkyOXlaUzlqY21WaGRHVkZjbkp2Y2ljcE8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJSGhvY2tGa1lYQjBaWElvWTI5dVptbG5LU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQmthWE53WVhSamFGaG9jbEpsY1hWbGMzUW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ2RtRnlJSEpsY1hWbGMzUkVZWFJoSUQwZ1kyOXVabWxuTG1SaGRHRTdYRzRnSUNBZ2RtRnlJSEpsY1hWbGMzUklaV0ZrWlhKeklEMGdZMjl1Wm1sbkxtaGxZV1JsY25NN1hHNWNiaUFnSUNCcFppQW9kWFJwYkhNdWFYTkdiM0p0UkdGMFlTaHlaWEYxWlhOMFJHRjBZU2twSUh0Y2JpQWdJQ0FnSUdSbGJHVjBaU0J5WlhGMVpYTjBTR1ZoWkdWeWMxc25RMjl1ZEdWdWRDMVVlWEJsSjEwN0lDOHZJRXhsZENCMGFHVWdZbkp2ZDNObGNpQnpaWFFnYVhSY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2NtVnhkV1Z6ZENBOUlHNWxkeUJZVFV4SWRIUndVbVZ4ZFdWemRDZ3BPMXh1WEc0Z0lDQWdMeThnU0ZSVVVDQmlZWE5wWXlCaGRYUm9aVzUwYVdOaGRHbHZibHh1SUNBZ0lHbG1JQ2hqYjI1bWFXY3VZWFYwYUNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFZ6WlhKdVlXMWxJRDBnWTI5dVptbG5MbUYxZEdndWRYTmxjbTVoYldVZ2ZId2dKeWM3WEc0Z0lDQWdJQ0IyWVhJZ2NHRnpjM2R2Y21RZ1BTQmpiMjVtYVdjdVlYVjBhQzV3WVhOemQyOXlaQ0I4ZkNBbkp6dGNiaUFnSUNBZ0lISmxjWFZsYzNSSVpXRmtaWEp6TGtGMWRHaHZjbWw2WVhScGIyNGdQU0FuUW1GemFXTWdKeUFySUdKMGIyRW9kWE5sY201aGJXVWdLeUFuT2ljZ0t5QndZWE56ZDI5eVpDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVnhkV1Z6ZEM1dmNHVnVLR052Ym1acFp5NXRaWFJvYjJRdWRHOVZjSEJsY2tOaGMyVW9LU3dnWW5WcGJHUlZVa3dvWTI5dVptbG5MblZ5YkN3Z1kyOXVabWxuTG5CaGNtRnRjeXdnWTI5dVptbG5MbkJoY21GdGMxTmxjbWxoYkdsNlpYSXBMQ0IwY25WbEtUdGNibHh1SUNBZ0lDOHZJRk5sZENCMGFHVWdjbVZ4ZFdWemRDQjBhVzFsYjNWMElHbHVJRTFUWEc0Z0lDQWdjbVZ4ZFdWemRDNTBhVzFsYjNWMElEMGdZMjl1Wm1sbkxuUnBiV1Z2ZFhRN1hHNWNiaUFnSUNBdkx5Qk1hWE4wWlc0Z1ptOXlJSEpsWVdSNUlITjBZWFJsWEc0Z0lDQWdjbVZ4ZFdWemRDNXZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWdQU0JtZFc1amRHbHZiaUJvWVc1a2JHVk1iMkZrS0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z5WlhGMVpYTjBJSHg4SUhKbGNYVmxjM1F1Y21WaFpIbFRkR0YwWlNBaFBUMGdOQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklGUm9aU0J5WlhGMVpYTjBJR1Z5Y205eVpXUWdiM1YwSUdGdVpDQjNaU0JrYVdSdUozUWdaMlYwSUdFZ2NtVnpjRzl1YzJVc0lIUm9hWE1nZDJsc2JDQmlaVnh1SUNBZ0lDQWdMeThnYUdGdVpHeGxaQ0JpZVNCdmJtVnljbTl5SUdsdWMzUmxZV1JjYmlBZ0lDQWdJQzh2SUZkcGRHZ2diMjVsSUdWNFkyVndkR2x2YmpvZ2NtVnhkV1Z6ZENCMGFHRjBJSFZ6YVc1bklHWnBiR1U2SUhCeWIzUnZZMjlzTENCdGIzTjBJR0p5YjNkelpYSnpYRzRnSUNBZ0lDQXZMeUIzYVd4c0lISmxkSFZ5YmlCemRHRjBkWE1nWVhNZ01DQmxkbVZ1SUhSb2IzVm5hQ0JwZENkeklHRWdjM1ZqWTJWemMyWjFiQ0J5WlhGMVpYTjBYRzRnSUNBZ0lDQnBaaUFvY21WeGRXVnpkQzV6ZEdGMGRYTWdQVDA5SURBZ0ppWWdJU2h5WlhGMVpYTjBMbkpsYzNCdmJuTmxWVkpNSUNZbUlISmxjWFZsYzNRdWNtVnpjRzl1YzJWVlVrd3VhVzVrWlhoUFppZ25abWxzWlRvbktTQTlQVDBnTUNrcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUJRY21Wd1lYSmxJSFJvWlNCeVpYTndiMjV6WlZ4dUlDQWdJQ0FnZG1GeUlISmxjM0J2Ym5ObFNHVmhaR1Z5Y3lBOUlDZG5aWFJCYkd4U1pYTndiMjV6WlVobFlXUmxjbk1uSUdsdUlISmxjWFZsYzNRZ1B5QndZWEp6WlVobFlXUmxjbk1vY21WeGRXVnpkQzVuWlhSQmJHeFNaWE53YjI1elpVaGxZV1JsY25Nb0tTa2dPaUJ1ZFd4c08xeHVJQ0FnSUNBZ2RtRnlJSEpsYzNCdmJuTmxSR0YwWVNBOUlDRmpiMjVtYVdjdWNtVnpjRzl1YzJWVWVYQmxJSHg4SUdOdmJtWnBaeTV5WlhOd2IyNXpaVlI1Y0dVZ1BUMDlJQ2QwWlhoMEp5QS9JSEpsY1hWbGMzUXVjbVZ6Y0c5dWMyVlVaWGgwSURvZ2NtVnhkV1Z6ZEM1eVpYTndiMjV6WlR0Y2JpQWdJQ0FnSUhaaGNpQnlaWE53YjI1elpTQTlJSHRjYmlBZ0lDQWdJQ0FnWkdGMFlUb2djbVZ6Y0c5dWMyVkVZWFJoTEZ4dUlDQWdJQ0FnSUNCemRHRjBkWE02SUhKbGNYVmxjM1F1YzNSaGRIVnpMRnh1SUNBZ0lDQWdJQ0J6ZEdGMGRYTlVaWGgwT2lCeVpYRjFaWE4wTG5OMFlYUjFjMVJsZUhRc1hHNGdJQ0FnSUNBZ0lHaGxZV1JsY25NNklISmxjM0J2Ym5ObFNHVmhaR1Z5Y3l4Y2JpQWdJQ0FnSUNBZ1kyOXVabWxuT2lCamIyNW1hV2NzWEc0Z0lDQWdJQ0FnSUhKbGNYVmxjM1E2SUhKbGNYVmxjM1JjYmlBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUhObGRIUnNaU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXNJSEpsYzNCdmJuTmxLVHRjYmx4dUlDQWdJQ0FnTHk4Z1EyeGxZVzRnZFhBZ2NtVnhkV1Z6ZEZ4dUlDQWdJQ0FnY21WeGRXVnpkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lDOHZJRWhoYm1Sc1pTQmljbTkzYzJWeUlISmxjWFZsYzNRZ1kyRnVZMlZzYkdGMGFXOXVJQ2hoY3lCdmNIQnZjMlZrSUhSdklHRWdiV0Z1ZFdGc0lHTmhibU5sYkd4aGRHbHZiaWxjYmlBZ0lDQnlaWEYxWlhOMExtOXVZV0p2Y25RZ1BTQm1kVzVqZEdsdmJpQm9ZVzVrYkdWQlltOXlkQ2dwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hjbVZ4ZFdWemRDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsYW1WamRDaGpjbVZoZEdWRmNuSnZjaWduVW1WeGRXVnpkQ0JoWW05eWRHVmtKeXdnWTI5dVptbG5MQ0FuUlVOUFRrNUJRazlTVkVWRUp5d2djbVZ4ZFdWemRDa3BPMXh1WEc0Z0lDQWdJQ0F2THlCRGJHVmhiaUIxY0NCeVpYRjFaWE4wWEc0Z0lDQWdJQ0J5WlhGMVpYTjBJRDBnYm5Wc2JEdGNiaUFnSUNCOU8xeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHeHZkeUJzWlhabGJDQnVaWFIzYjNKcklHVnljbTl5YzF4dUlDQWdJSEpsY1hWbGMzUXViMjVsY25KdmNpQTlJR1oxYm1OMGFXOXVJR2hoYm1Sc1pVVnljbTl5S0NrZ2UxeHVJQ0FnSUNBZ0x5OGdVbVZoYkNCbGNuSnZjbk1nWVhKbElHaHBaR1JsYmlCbWNtOXRJSFZ6SUdKNUlIUm9aU0JpY205M2MyVnlYRzRnSUNBZ0lDQXZMeUJ2Ym1WeWNtOXlJSE5vYjNWc1pDQnZibXg1SUdacGNtVWdhV1lnYVhRbmN5QmhJRzVsZEhkdmNtc2daWEp5YjNKY2JpQWdJQ0FnSUhKbGFtVmpkQ2hqY21WaGRHVkZjbkp2Y2lnblRtVjBkMjl5YXlCRmNuSnZjaWNzSUdOdmJtWnBaeXdnYm5Wc2JDd2djbVZ4ZFdWemRDa3BPMXh1WEc0Z0lDQWdJQ0F2THlCRGJHVmhiaUIxY0NCeVpYRjFaWE4wWEc0Z0lDQWdJQ0J5WlhGMVpYTjBJRDBnYm5Wc2JEdGNiaUFnSUNCOU8xeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUnBiV1Z2ZFhSY2JpQWdJQ0J5WlhGMVpYTjBMbTl1ZEdsdFpXOTFkQ0E5SUdaMWJtTjBhVzl1SUdoaGJtUnNaVlJwYldWdmRYUW9LU0I3WEc0Z0lDQWdJQ0J5WldwbFkzUW9ZM0psWVhSbFJYSnliM0lvSjNScGJXVnZkWFFnYjJZZ0p5QXJJR052Ym1acFp5NTBhVzFsYjNWMElDc2dKMjF6SUdWNFkyVmxaR1ZrSnl3Z1kyOXVabWxuTENBblJVTlBUazVCUWs5U1ZFVkVKeXhjYmlBZ0lDQWdJQ0FnY21WeGRXVnpkQ2twTzF4dVhHNGdJQ0FnSUNBdkx5QkRiR1ZoYmlCMWNDQnlaWEYxWlhOMFhHNGdJQ0FnSUNCeVpYRjFaWE4wSUQwZ2JuVnNiRHRjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdMeThnUVdSa0lIaHpjbVlnYUdWaFpHVnlYRzRnSUNBZ0x5OGdWR2hwY3lCcGN5QnZibXg1SUdSdmJtVWdhV1lnY25WdWJtbHVaeUJwYmlCaElITjBZVzVrWVhKa0lHSnliM2R6WlhJZ1pXNTJhWEp2Ym0xbGJuUXVYRzRnSUNBZ0x5OGdVM0JsWTJsbWFXTmhiR3g1SUc1dmRDQnBaaUIzWlNkeVpTQnBiaUJoSUhkbFlpQjNiM0pyWlhJc0lHOXlJSEpsWVdOMExXNWhkR2wyWlM1Y2JpQWdJQ0JwWmlBb2RYUnBiSE11YVhOVGRHRnVaR0Z5WkVKeWIzZHpaWEpGYm5Zb0tTa2dlMXh1SUNBZ0lDQWdkbUZ5SUdOdmIydHBaWE1nUFNCeVpYRjFhWEpsS0NjdUx5NHVMMmhsYkhCbGNuTXZZMjl2YTJsbGN5Y3BPMXh1WEc0Z0lDQWdJQ0F2THlCQlpHUWdlSE55WmlCb1pXRmtaWEpjYmlBZ0lDQWdJSFpoY2lCNGMzSm1WbUZzZFdVZ1BTQW9ZMjl1Wm1sbkxuZHBkR2hEY21Wa1pXNTBhV0ZzY3lCOGZDQnBjMVZTVEZOaGJXVlBjbWxuYVc0b1kyOXVabWxuTG5WeWJDa3BJQ1ltSUdOdmJtWnBaeTU0YzNKbVEyOXZhMmxsVG1GdFpTQS9YRzRnSUNBZ0lDQWdJR052YjJ0cFpYTXVjbVZoWkNoamIyNW1hV2N1ZUhOeVprTnZiMnRwWlU1aGJXVXBJRHBjYmlBZ0lDQWdJQ0FnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnSUNCcFppQW9lSE55WmxaaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUhKbGNYVmxjM1JJWldGa1pYSnpXMk52Ym1acFp5NTRjM0ptU0dWaFpHVnlUbUZ0WlYwZ1BTQjRjM0ptVm1Gc2RXVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdobFlXUmxjbk1nZEc4Z2RHaGxJSEpsY1hWbGMzUmNiaUFnSUNCcFppQW9KM05sZEZKbGNYVmxjM1JJWldGa1pYSW5JR2x1SUhKbGNYVmxjM1FwSUh0Y2JpQWdJQ0FnSUhWMGFXeHpMbVp2Y2tWaFkyZ29jbVZ4ZFdWemRFaGxZV1JsY25Nc0lHWjFibU4wYVc5dUlITmxkRkpsY1hWbGMzUklaV0ZrWlhJb2RtRnNMQ0JyWlhrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhGMVpYTjBSR0YwWVNBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ2EyVjVMblJ2VEc5M1pYSkRZWE5sS0NrZ1BUMDlJQ2RqYjI1MFpXNTBMWFI1Y0dVbktTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1VtVnRiM1psSUVOdmJuUmxiblF0Vkhsd1pTQnBaaUJrWVhSaElHbHpJSFZ1WkdWbWFXNWxaRnh1SUNBZ0lDQWdJQ0FnSUdSbGJHVjBaU0J5WlhGMVpYTjBTR1ZoWkdWeWMxdHJaWGxkTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRTkwYUdWeWQybHpaU0JoWkdRZ2FHVmhaR1Z5SUhSdklIUm9aU0J5WlhGMVpYTjBYRzRnSUNBZ0lDQWdJQ0FnY21WeGRXVnpkQzV6WlhSU1pYRjFaWE4wU0dWaFpHVnlLR3RsZVN3Z2RtRnNLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdoRGNtVmtaVzUwYVdGc2N5QjBieUJ5WlhGMVpYTjBJR2xtSUc1bFpXUmxaRnh1SUNBZ0lHbG1JQ2hqYjI1bWFXY3VkMmwwYUVOeVpXUmxiblJwWVd4ektTQjdYRzRnSUNBZ0lDQnlaWEYxWlhOMExuZHBkR2hEY21Wa1pXNTBhV0ZzY3lBOUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUVdSa0lISmxjM0J2Ym5ObFZIbHdaU0IwYnlCeVpYRjFaWE4wSUdsbUlHNWxaV1JsWkZ4dUlDQWdJR2xtSUNoamIyNW1hV2N1Y21WemNHOXVjMlZVZVhCbEtTQjdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCeVpYRjFaWE4wTG5KbGMzQnZibk5sVkhsd1pTQTlJR052Ym1acFp5NXlaWE53YjI1elpWUjVjR1U3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRVY0Y0dWamRHVmtJRVJQVFVWNFkyVndkR2x2YmlCMGFISnZkMjRnWW5rZ1luSnZkM05sY25NZ2JtOTBJR052YlhCaGRHbGliR1VnV0UxTVNIUjBjRkpsY1hWbGMzUWdUR1YyWld3Z01pNWNiaUFnSUNBZ0lDQWdMeThnUW5WMExDQjBhR2x6SUdOaGJpQmlaU0J6ZFhCd2NtVnpjMlZrSUdadmNpQW5hbk52YmljZ2RIbHdaU0JoY3lCcGRDQmpZVzRnWW1VZ2NHRnljMlZrSUdKNUlHUmxabUYxYkhRZ0ozUnlZVzV6Wm05eWJWSmxjM0J2Ym5ObEp5Qm1kVzVqZEdsdmJpNWNiaUFnSUNBZ0lDQWdhV1lnS0dOdmJtWnBaeTV5WlhOd2IyNXpaVlI1Y0dVZ0lUMDlJQ2RxYzI5dUp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJR1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCSVlXNWtiR1VnY0hKdlozSmxjM01nYVdZZ2JtVmxaR1ZrWEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1bWFXY3ViMjVFYjNkdWJHOWhaRkJ5YjJkeVpYTnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQnlaWEYxWlhOMExtRmtaRVYyWlc1MFRHbHpkR1Z1WlhJb0ozQnliMmR5WlhOekp5d2dZMjl1Wm1sbkxtOXVSRzkzYm14dllXUlFjbTluY21WemN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdUbTkwSUdGc2JDQmljbTkzYzJWeWN5QnpkWEJ3YjNKMElIVndiRzloWkNCbGRtVnVkSE5jYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR052Ym1acFp5NXZibFZ3Ykc5aFpGQnliMmR5WlhOeklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlISmxjWFZsYzNRdWRYQnNiMkZrS1NCN1hHNGdJQ0FnSUNCeVpYRjFaWE4wTG5Wd2JHOWhaQzVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ2R3Y205bmNtVnpjeWNzSUdOdmJtWnBaeTV2YmxWd2JHOWhaRkJ5YjJkeVpYTnpLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTI5dVptbG5MbU5oYm1ObGJGUnZhMlZ1S1NCN1hHNGdJQ0FnSUNBdkx5QklZVzVrYkdVZ1kyRnVZMlZzYkdGMGFXOXVYRzRnSUNBZ0lDQmpiMjVtYVdjdVkyRnVZMlZzVkc5clpXNHVjSEp2YldselpTNTBhR1Z1S0daMWJtTjBhVzl1SUc5dVEyRnVZMlZzWldRb1kyRnVZMlZzS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY21WeGRXVnpkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsY1hWbGMzUXVZV0p2Y25Rb0tUdGNiaUFnSUNBZ0lDQWdjbVZxWldOMEtHTmhibU5sYkNrN1hHNGdJQ0FnSUNBZ0lDOHZJRU5zWldGdUlIVndJSEpsY1hWbGMzUmNiaUFnSUNBZ0lDQWdjbVZ4ZFdWemRDQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jbVZ4ZFdWemRFUmhkR0VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdjbVZ4ZFdWemRFUmhkR0VnUFNCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRk5sYm1RZ2RHaGxJSEpsY1hWbGMzUmNiaUFnSUNCeVpYRjFaWE4wTG5ObGJtUW9jbVZ4ZFdWemRFUmhkR0VwTzF4dUlDQjlLVHRjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1xcXCIpO1xcbnZhciBiaW5kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oZWxwZXJzL2JpbmQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanNcXFwiKTtcXG52YXIgQXhpb3MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvcmUvQXhpb3MgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzXFxcIik7XFxudmFyIG1lcmdlQ29uZmlnID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb3JlL21lcmdlQ29uZmlnICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qc1xcXCIpO1xcbnZhciBkZWZhdWx0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVmYXVsdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9kZWZhdWx0cy5qc1xcXCIpO1xcblxcbi8qKlxcbiAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBBeGlvc1xcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IGRlZmF1bHRDb25maWcgVGhlIGRlZmF1bHQgY29uZmlnIGZvciB0aGUgaW5zdGFuY2VcXG4gKiBAcmV0dXJuIHtBeGlvc30gQSBuZXcgaW5zdGFuY2Ugb2YgQXhpb3NcXG4gKi9cXG5mdW5jdGlvbiBjcmVhdGVJbnN0YW5jZShkZWZhdWx0Q29uZmlnKSB7XFxuICB2YXIgY29udGV4dCA9IG5ldyBBeGlvcyhkZWZhdWx0Q29uZmlnKTtcXG4gIHZhciBpbnN0YW5jZSA9IGJpbmQoQXhpb3MucHJvdG90eXBlLnJlcXVlc3QsIGNvbnRleHQpO1xcblxcbiAgLy8gQ29weSBheGlvcy5wcm90b3R5cGUgdG8gaW5zdGFuY2VcXG4gIHV0aWxzLmV4dGVuZChpbnN0YW5jZSwgQXhpb3MucHJvdG90eXBlLCBjb250ZXh0KTtcXG5cXG4gIC8vIENvcHkgY29udGV4dCB0byBpbnN0YW5jZVxcbiAgdXRpbHMuZXh0ZW5kKGluc3RhbmNlLCBjb250ZXh0KTtcXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuXFxuLy8gQ3JlYXRlIHRoZSBkZWZhdWx0IGluc3RhbmNlIHRvIGJlIGV4cG9ydGVkXFxudmFyIGF4aW9zID0gY3JlYXRlSW5zdGFuY2UoZGVmYXVsdHMpO1xcblxcbi8vIEV4cG9zZSBBeGlvcyBjbGFzcyB0byBhbGxvdyBjbGFzcyBpbmhlcml0YW5jZVxcbmF4aW9zLkF4aW9zID0gQXhpb3M7XFxuXFxuLy8gRmFjdG9yeSBmb3IgY3JlYXRpbmcgbmV3IGluc3RhbmNlc1xcbmF4aW9zLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShpbnN0YW5jZUNvbmZpZykge1xcbiAgcmV0dXJuIGNyZWF0ZUluc3RhbmNlKG1lcmdlQ29uZmlnKGF4aW9zLmRlZmF1bHRzLCBpbnN0YW5jZUNvbmZpZykpO1xcbn07XFxuXFxuLy8gRXhwb3NlIENhbmNlbCAmIENhbmNlbFRva2VuXFxuYXhpb3MuQ2FuY2VsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jYW5jZWwvQ2FuY2VsICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbC5qc1xcXCIpO1xcbmF4aW9zLkNhbmNlbFRva2VuID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jYW5jZWwvQ2FuY2VsVG9rZW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsVG9rZW4uanNcXFwiKTtcXG5heGlvcy5pc0NhbmNlbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2FuY2VsL2lzQ2FuY2VsICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzXFxcIik7XFxuXFxuLy8gRXhwb3NlIGFsbC9zcHJlYWRcXG5heGlvcy5hbGwgPSBmdW5jdGlvbiBhbGwocHJvbWlzZXMpIHtcXG4gIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XFxufTtcXG5heGlvcy5zcHJlYWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hlbHBlcnMvc3ByZWFkICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanNcXFwiKTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGF4aW9zO1xcblxcbi8vIEFsbG93IHVzZSBvZiBkZWZhdWx0IGltcG9ydCBzeW50YXggaW4gVHlwZVNjcmlwdFxcbm1vZHVsZS5leHBvcnRzLmRlZmF1bHQgPSBheGlvcztcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZWGhwYjNNdWFuTS9OR1ZtWkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zYTBSQlFWTTdRVUZETjBJc1YwRkJWeXh0UWtGQlR5eERRVUZETEdkRlFVRm5RanRCUVVOdVF5eFpRVUZaTEcxQ1FVRlBMRU5CUVVNc05FUkJRV003UVVGRGJFTXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNkMFZCUVc5Q08wRkJRemxETEdWQlFXVXNiVUpCUVU4c1EwRkJReXgzUkVGQldUczdRVUZGYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrc1RVRkJUVHRCUVVOc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hsUVVGbExHMUNRVUZQTEVOQlFVTXNhMFZCUVdsQ08wRkJRM2hETEc5Q1FVRnZRaXh0UWtGQlR5eERRVUZETERSRlFVRnpRanRCUVVOc1JDeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5eHpSVUZCYlVJN08wRkJSVFZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3h0UWtGQlR5eERRVUZETEc5RlFVRnJRanM3UVVGRmVrTTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZWGhwYjNNdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHZkWFJwYkhNbktUdGNiblpoY2lCaWFXNWtJRDBnY21WeGRXbHlaU2duTGk5b1pXeHdaWEp6TDJKcGJtUW5LVHRjYm5aaGNpQkJlR2x2Y3lBOUlISmxjWFZwY21Vb0p5NHZZMjl5WlM5QmVHbHZjeWNwTzF4dWRtRnlJRzFsY21kbFEyOXVabWxuSUQwZ2NtVnhkV2x5WlNnbkxpOWpiM0psTDIxbGNtZGxRMjl1Wm1sbkp5azdYRzUyWVhJZ1pHVm1ZWFZzZEhNZ1BTQnlaWEYxYVhKbEtDY3VMMlJsWm1GMWJIUnpKeWs3WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsSUdGdUlHbHVjM1JoYm1ObElHOW1JRUY0YVc5elhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUdSbFptRjFiSFJEYjI1bWFXY2dWR2hsSUdSbFptRjFiSFFnWTI5dVptbG5JR1p2Y2lCMGFHVWdhVzV6ZEdGdVkyVmNiaUFxSUVCeVpYUjFjbTRnZTBGNGFXOXpmU0JCSUc1bGR5QnBibk4wWVc1alpTQnZaaUJCZUdsdmMxeHVJQ292WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZKYm5OMFlXNWpaU2hrWldaaGRXeDBRMjl1Wm1sbktTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdibVYzSUVGNGFXOXpLR1JsWm1GMWJIUkRiMjVtYVdjcE8xeHVJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQmlhVzVrS0VGNGFXOXpMbkJ5YjNSdmRIbHdaUzV5WlhGMVpYTjBMQ0JqYjI1MFpYaDBLVHRjYmx4dUlDQXZMeUJEYjNCNUlHRjRhVzl6TG5CeWIzUnZkSGx3WlNCMGJ5QnBibk4wWVc1alpWeHVJQ0IxZEdsc2N5NWxlSFJsYm1Rb2FXNXpkR0Z1WTJVc0lFRjRhVzl6TG5CeWIzUnZkSGx3WlN3Z1kyOXVkR1Y0ZENrN1hHNWNiaUFnTHk4Z1EyOXdlU0JqYjI1MFpYaDBJSFJ2SUdsdWMzUmhibU5sWEc0Z0lIVjBhV3h6TG1WNGRHVnVaQ2hwYm5OMFlXNWpaU3dnWTI5dWRHVjRkQ2s3WEc1Y2JpQWdjbVYwZFhKdUlHbHVjM1JoYm1ObE8xeHVmVnh1WEc0dkx5QkRjbVZoZEdVZ2RHaGxJR1JsWm1GMWJIUWdhVzV6ZEdGdVkyVWdkRzhnWW1VZ1pYaHdiM0owWldSY2JuWmhjaUJoZUdsdmN5QTlJR055WldGMFpVbHVjM1JoYm1ObEtHUmxabUYxYkhSektUdGNibHh1THk4Z1JYaHdiM05sSUVGNGFXOXpJR05zWVhOeklIUnZJR0ZzYkc5M0lHTnNZWE56SUdsdWFHVnlhWFJoYm1ObFhHNWhlR2x2Y3k1QmVHbHZjeUE5SUVGNGFXOXpPMXh1WEc0dkx5QkdZV04wYjNKNUlHWnZjaUJqY21WaGRHbHVaeUJ1WlhjZ2FXNXpkR0Z1WTJWelhHNWhlR2x2Y3k1amNtVmhkR1VnUFNCbWRXNWpkR2x2YmlCamNtVmhkR1VvYVc1emRHRnVZMlZEYjI1bWFXY3BJSHRjYmlBZ2NtVjBkWEp1SUdOeVpXRjBaVWx1YzNSaGJtTmxLRzFsY21kbFEyOXVabWxuS0dGNGFXOXpMbVJsWm1GMWJIUnpMQ0JwYm5OMFlXNWpaVU52Ym1acFp5a3BPMXh1ZlR0Y2JseHVMeThnUlhod2IzTmxJRU5oYm1ObGJDQW1JRU5oYm1ObGJGUnZhMlZ1WEc1aGVHbHZjeTVEWVc1alpXd2dQU0J5WlhGMWFYSmxLQ2N1TDJOaGJtTmxiQzlEWVc1alpXd25LVHRjYm1GNGFXOXpMa05oYm1ObGJGUnZhMlZ1SUQwZ2NtVnhkV2x5WlNnbkxpOWpZVzVqWld3dlEyRnVZMlZzVkc5clpXNG5LVHRjYm1GNGFXOXpMbWx6UTJGdVkyVnNJRDBnY21WeGRXbHlaU2duTGk5allXNWpaV3d2YVhORFlXNWpaV3duS1R0Y2JseHVMeThnUlhod2IzTmxJR0ZzYkM5emNISmxZV1JjYm1GNGFXOXpMbUZzYkNBOUlHWjFibU4wYVc5dUlHRnNiQ2h3Y205dGFYTmxjeWtnZTF4dUlDQnlaWFIxY200Z1VISnZiV2x6WlM1aGJHd29jSEp2YldselpYTXBPMXh1ZlR0Y2JtRjRhVzl6TG5Od2NtVmhaQ0E5SUhKbGNYVnBjbVVvSnk0dmFHVnNjR1Z5Y3k5emNISmxZV1FuS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmhlR2x2Y3p0Y2JseHVMeThnUVd4c2IzY2dkWE5sSUc5bUlHUmxabUYxYkhRZ2FXMXdiM0owSUhONWJuUmhlQ0JwYmlCVWVYQmxVMk55YVhCMFhHNXRiMlIxYkdVdVpYaHdiM0owY3k1a1pXWmhkV3gwSUQwZ1lYaHBiM003WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qKlxcbiAqIEEgYENhbmNlbGAgaXMgYW4gb2JqZWN0IHRoYXQgaXMgdGhyb3duIHdoZW4gYW4gb3BlcmF0aW9uIGlzIGNhbmNlbGVkLlxcbiAqXFxuICogQGNsYXNzXFxuICogQHBhcmFtIHtzdHJpbmc9fSBtZXNzYWdlIFRoZSBtZXNzYWdlLlxcbiAqL1xcbmZ1bmN0aW9uIENhbmNlbChtZXNzYWdlKSB7XFxuICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xcbn1cXG5cXG5DYW5jZWwucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XFxuICByZXR1cm4gJ0NhbmNlbCcgKyAodGhpcy5tZXNzYWdlID8gJzogJyArIHRoaXMubWVzc2FnZSA6ICcnKTtcXG59O1xcblxcbkNhbmNlbC5wcm90b3R5cGUuX19DQU5DRUxfXyA9IHRydWU7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBDYW5jZWw7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMME5oYm1ObGJDNXFjejh6T0RreElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UlFVRlJPMEZCUTI1Q08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMME5oYm1ObGJDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FYRzRnS2lCQklHQkRZVzVqWld4Z0lHbHpJR0Z1SUc5aWFtVmpkQ0IwYUdGMElHbHpJSFJvY205M2JpQjNhR1Z1SUdGdUlHOXdaWEpoZEdsdmJpQnBjeUJqWVc1alpXeGxaQzVjYmlBcVhHNGdLaUJBWTJ4aGMzTmNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5QWDBnYldWemMyRm5aU0JVYUdVZ2JXVnpjMkZuWlM1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnUTJGdVkyVnNLRzFsYzNOaFoyVXBJSHRjYmlBZ2RHaHBjeTV0WlhOellXZGxJRDBnYldWemMyRm5aVHRjYm4xY2JseHVRMkZ1WTJWc0xuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5LQ2tnZTF4dUlDQnlaWFIxY200Z0owTmhibU5sYkNjZ0t5QW9kR2hwY3k1dFpYTnpZV2RsSUQ4Z0p6b2dKeUFySUhSb2FYTXViV1Z6YzJGblpTQTZJQ2NuS1R0Y2JuMDdYRzVjYmtOaGJtTmxiQzV3Y205MGIzUjVjR1V1WDE5RFFVNURSVXhmWHlBOUlIUnlkV1U3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1EyRnVZMlZzTzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsVG9rZW4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbFRva2VuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIENhbmNlbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vQ2FuY2VsICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL0NhbmNlbC5qc1xcXCIpO1xcblxcbi8qKlxcbiAqIEEgYENhbmNlbFRva2VuYCBpcyBhbiBvYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byByZXF1ZXN0IGNhbmNlbGxhdGlvbiBvZiBhbiBvcGVyYXRpb24uXFxuICpcXG4gKiBAY2xhc3NcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBleGVjdXRvciBUaGUgZXhlY3V0b3IgZnVuY3Rpb24uXFxuICovXFxuZnVuY3Rpb24gQ2FuY2VsVG9rZW4oZXhlY3V0b3IpIHtcXG4gIGlmICh0eXBlb2YgZXhlY3V0b3IgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLicpO1xcbiAgfVxcblxcbiAgdmFyIHJlc29sdmVQcm9taXNlO1xcbiAgdGhpcy5wcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gcHJvbWlzZUV4ZWN1dG9yKHJlc29sdmUpIHtcXG4gICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlO1xcbiAgfSk7XFxuXFxuICB2YXIgdG9rZW4gPSB0aGlzO1xcbiAgZXhlY3V0b3IoZnVuY3Rpb24gY2FuY2VsKG1lc3NhZ2UpIHtcXG4gICAgaWYgKHRva2VuLnJlYXNvbikge1xcbiAgICAgIC8vIENhbmNlbGxhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIHJlcXVlc3RlZFxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB0b2tlbi5yZWFzb24gPSBuZXcgQ2FuY2VsKG1lc3NhZ2UpO1xcbiAgICByZXNvbHZlUHJvbWlzZSh0b2tlbi5yZWFzb24pO1xcbiAgfSk7XFxufVxcblxcbi8qKlxcbiAqIFRocm93cyBhIGBDYW5jZWxgIGlmIGNhbmNlbGxhdGlvbiBoYXMgYmVlbiByZXF1ZXN0ZWQuXFxuICovXFxuQ2FuY2VsVG9rZW4ucHJvdG90eXBlLnRocm93SWZSZXF1ZXN0ZWQgPSBmdW5jdGlvbiB0aHJvd0lmUmVxdWVzdGVkKCkge1xcbiAgaWYgKHRoaXMucmVhc29uKSB7XFxuICAgIHRocm93IHRoaXMucmVhc29uO1xcbiAgfVxcbn07XFxuXFxuLyoqXFxuICogUmV0dXJucyBhbiBvYmplY3QgdGhhdCBjb250YWlucyBhIG5ldyBgQ2FuY2VsVG9rZW5gIGFuZCBhIGZ1bmN0aW9uIHRoYXQsIHdoZW4gY2FsbGVkLFxcbiAqIGNhbmNlbHMgdGhlIGBDYW5jZWxUb2tlbmAuXFxuICovXFxuQ2FuY2VsVG9rZW4uc291cmNlID0gZnVuY3Rpb24gc291cmNlKCkge1xcbiAgdmFyIGNhbmNlbDtcXG4gIHZhciB0b2tlbiA9IG5ldyBDYW5jZWxUb2tlbihmdW5jdGlvbiBleGVjdXRvcihjKSB7XFxuICAgIGNhbmNlbCA9IGM7XFxuICB9KTtcXG4gIHJldHVybiB7XFxuICAgIHRva2VuOiB0b2tlbixcXG4gICAgY2FuY2VsOiBjYW5jZWxcXG4gIH07XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IENhbmNlbFRva2VuO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyRnVZMlZzTDBOaGJtTmxiRlJ2YTJWdUxtcHpQemcwT1RnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1lVRkJZU3h0UWtGQlR5eERRVUZETERKRVFVRlZPenRCUVVVdlFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1UwRkJVenRCUVVOd1FqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTmhibU5sYkM5RFlXNWpaV3hVYjJ0bGJpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRU5oYm1ObGJDQTlJSEpsY1hWcGNtVW9KeTR2UTJGdVkyVnNKeWs3WEc1Y2JpOHFLbHh1SUNvZ1FTQmdRMkZ1WTJWc1ZHOXJaVzVnSUdseklHRnVJRzlpYW1WamRDQjBhR0YwSUdOaGJpQmlaU0IxYzJWa0lIUnZJSEpsY1hWbGMzUWdZMkZ1WTJWc2JHRjBhVzl1SUc5bUlHRnVJRzl3WlhKaGRHbHZiaTVjYmlBcVhHNGdLaUJBWTJ4aGMzTmNiaUFxSUVCd1lYSmhiU0I3Um5WdVkzUnBiMjU5SUdWNFpXTjFkRzl5SUZSb1pTQmxlR1ZqZFhSdmNpQm1kVzVqZEdsdmJpNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z1EyRnVZMlZzVkc5clpXNG9aWGhsWTNWMGIzSXBJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQmxlR1ZqZFhSdmNpQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oyVjRaV04xZEc5eUlHMTFjM1FnWW1VZ1lTQm1kVzVqZEdsdmJpNG5LVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaWE52YkhabFVISnZiV2x6WlR0Y2JpQWdkR2hwY3k1d2NtOXRhWE5sSUQwZ2JtVjNJRkJ5YjIxcGMyVW9ablZ1WTNScGIyNGdjSEp2YldselpVVjRaV04xZEc5eUtISmxjMjlzZG1VcElIdGNiaUFnSUNCeVpYTnZiSFpsVUhKdmJXbHpaU0E5SUhKbGMyOXNkbVU3WEc0Z0lIMHBPMXh1WEc0Z0lIWmhjaUIwYjJ0bGJpQTlJSFJvYVhNN1hHNGdJR1Y0WldOMWRHOXlLR1oxYm1OMGFXOXVJR05oYm1ObGJDaHRaWE56WVdkbEtTQjdYRzRnSUNBZ2FXWWdLSFJ2YTJWdUxuSmxZWE52YmlrZ2UxeHVJQ0FnSUNBZ0x5OGdRMkZ1WTJWc2JHRjBhVzl1SUdoaGN5QmhiSEpsWVdSNUlHSmxaVzRnY21WeGRXVnpkR1ZrWEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHOXJaVzR1Y21WaGMyOXVJRDBnYm1WM0lFTmhibU5sYkNodFpYTnpZV2RsS1R0Y2JpQWdJQ0J5WlhOdmJIWmxVSEp2YldselpTaDBiMnRsYmk1eVpXRnpiMjRwTzF4dUlDQjlLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlVhSEp2ZDNNZ1lTQmdRMkZ1WTJWc1lDQnBaaUJqWVc1alpXeHNZWFJwYjI0Z2FHRnpJR0psWlc0Z2NtVnhkV1Z6ZEdWa0xseHVJQ292WEc1RFlXNWpaV3hVYjJ0bGJpNXdjbTkwYjNSNWNHVXVkR2h5YjNkSlpsSmxjWFZsYzNSbFpDQTlJR1oxYm1OMGFXOXVJSFJvY205M1NXWlNaWEYxWlhOMFpXUW9LU0I3WEc0Z0lHbG1JQ2gwYUdsekxuSmxZWE52YmlrZ2UxeHVJQ0FnSUhSb2NtOTNJSFJvYVhNdWNtVmhjMjl1TzF4dUlDQjlYRzU5TzF4dVhHNHZLaXBjYmlBcUlGSmxkSFZ5Ym5NZ1lXNGdiMkpxWldOMElIUm9ZWFFnWTI5dWRHRnBibk1nWVNCdVpYY2dZRU5oYm1ObGJGUnZhMlZ1WUNCaGJtUWdZU0JtZFc1amRHbHZiaUIwYUdGMExDQjNhR1Z1SUdOaGJHeGxaQ3hjYmlBcUlHTmhibU5sYkhNZ2RHaGxJR0JEWVc1alpXeFViMnRsYm1BdVhHNGdLaTljYmtOaGJtTmxiRlJ2YTJWdUxuTnZkWEpqWlNBOUlHWjFibU4wYVc5dUlITnZkWEpqWlNncElIdGNiaUFnZG1GeUlHTmhibU5sYkR0Y2JpQWdkbUZ5SUhSdmEyVnVJRDBnYm1WM0lFTmhibU5sYkZSdmEyVnVLR1oxYm1OMGFXOXVJR1Y0WldOMWRHOXlLR01wSUh0Y2JpQWdJQ0JqWVc1alpXd2dQU0JqTzF4dUlDQjlLVHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0IwYjJ0bGJqb2dkRzlyWlc0c1hHNGdJQ0FnWTJGdVkyVnNPaUJqWVc1alpXeGNiaUFnZlR0Y2JuMDdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUTJGdVkyVnNWRzlyWlc0N1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9pc0NhbmNlbC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQ2FuY2VsKHZhbHVlKSB7XFxuICByZXR1cm4gISEodmFsdWUgJiYgdmFsdWUuX19DQU5DRUxfXyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMkZ1WTJWc0wybHpRMkZ1WTJWc0xtcHpQMlk1TkRZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5allXNWpaV3d2YVhORFlXNWpaV3d1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdhWE5EWVc1alpXd29kbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJQ0VoS0haaGJIVmxJQ1ltSUhaaGJIVmxMbDlmUTBGT1EwVk1YMThwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1xcXCIpO1xcbnZhciBidWlsZFVSTCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2hlbHBlcnMvYnVpbGRVUkwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2J1aWxkVVJMLmpzXFxcIik7XFxudmFyIEludGVyY2VwdG9yTWFuYWdlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vSW50ZXJjZXB0b3JNYW5hZ2VyICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9JbnRlcmNlcHRvck1hbmFnZXIuanNcXFwiKTtcXG52YXIgZGlzcGF0Y2hSZXF1ZXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kaXNwYXRjaFJlcXVlc3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qc1xcXCIpO1xcbnZhciBtZXJnZUNvbmZpZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbWVyZ2VDb25maWcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL21lcmdlQ29uZmlnLmpzXFxcIik7XFxuXFxuLyoqXFxuICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIEF4aW9zXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gaW5zdGFuY2VDb25maWcgVGhlIGRlZmF1bHQgY29uZmlnIGZvciB0aGUgaW5zdGFuY2VcXG4gKi9cXG5mdW5jdGlvbiBBeGlvcyhpbnN0YW5jZUNvbmZpZykge1xcbiAgdGhpcy5kZWZhdWx0cyA9IGluc3RhbmNlQ29uZmlnO1xcbiAgdGhpcy5pbnRlcmNlcHRvcnMgPSB7XFxuICAgIHJlcXVlc3Q6IG5ldyBJbnRlcmNlcHRvck1hbmFnZXIoKSxcXG4gICAgcmVzcG9uc2U6IG5ldyBJbnRlcmNlcHRvck1hbmFnZXIoKVxcbiAgfTtcXG59XFxuXFxuLyoqXFxuICogRGlzcGF0Y2ggYSByZXF1ZXN0XFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIFRoZSBjb25maWcgc3BlY2lmaWMgZm9yIHRoaXMgcmVxdWVzdCAobWVyZ2VkIHdpdGggdGhpcy5kZWZhdWx0cylcXG4gKi9cXG5BeGlvcy5wcm90b3R5cGUucmVxdWVzdCA9IGZ1bmN0aW9uIHJlcXVlc3QoY29uZmlnKSB7XFxuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cXG4gIC8vIEFsbG93IGZvciBheGlvcygnZXhhbXBsZS91cmwnWywgY29uZmlnXSkgYSBsYSBmZXRjaCBBUElcXG4gIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xcbiAgICBjb25maWcgPSBhcmd1bWVudHNbMV0gfHwge307XFxuICAgIGNvbmZpZy51cmwgPSBhcmd1bWVudHNbMF07XFxuICB9IGVsc2Uge1xcbiAgICBjb25maWcgPSBjb25maWcgfHwge307XFxuICB9XFxuXFxuICBjb25maWcgPSBtZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLCBjb25maWcpO1xcbiAgY29uZmlnLm1ldGhvZCA9IGNvbmZpZy5tZXRob2QgPyBjb25maWcubWV0aG9kLnRvTG93ZXJDYXNlKCkgOiAnZ2V0JztcXG5cXG4gIC8vIEhvb2sgdXAgaW50ZXJjZXB0b3JzIG1pZGRsZXdhcmVcXG4gIHZhciBjaGFpbiA9IFtkaXNwYXRjaFJlcXVlc3QsIHVuZGVmaW5lZF07XFxuICB2YXIgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShjb25maWcpO1xcblxcbiAgdGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKGZ1bmN0aW9uIHVuc2hpZnRSZXF1ZXN0SW50ZXJjZXB0b3JzKGludGVyY2VwdG9yKSB7XFxuICAgIGNoYWluLnVuc2hpZnQoaW50ZXJjZXB0b3IuZnVsZmlsbGVkLCBpbnRlcmNlcHRvci5yZWplY3RlZCk7XFxuICB9KTtcXG5cXG4gIHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goZnVuY3Rpb24gcHVzaFJlc3BvbnNlSW50ZXJjZXB0b3JzKGludGVyY2VwdG9yKSB7XFxuICAgIGNoYWluLnB1c2goaW50ZXJjZXB0b3IuZnVsZmlsbGVkLCBpbnRlcmNlcHRvci5yZWplY3RlZCk7XFxuICB9KTtcXG5cXG4gIHdoaWxlIChjaGFpbi5sZW5ndGgpIHtcXG4gICAgcHJvbWlzZSA9IHByb21pc2UudGhlbihjaGFpbi5zaGlmdCgpLCBjaGFpbi5zaGlmdCgpKTtcXG4gIH1cXG5cXG4gIHJldHVybiBwcm9taXNlO1xcbn07XFxuXFxuQXhpb3MucHJvdG90eXBlLmdldFVyaSA9IGZ1bmN0aW9uIGdldFVyaShjb25maWcpIHtcXG4gIGNvbmZpZyA9IG1lcmdlQ29uZmlnKHRoaXMuZGVmYXVsdHMsIGNvbmZpZyk7XFxuICByZXR1cm4gYnVpbGRVUkwoY29uZmlnLnVybCwgY29uZmlnLnBhcmFtcywgY29uZmlnLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXFxcPy8sICcnKTtcXG59O1xcblxcbi8vIFByb3ZpZGUgYWxpYXNlcyBmb3Igc3VwcG9ydGVkIHJlcXVlc3QgbWV0aG9kc1xcbnV0aWxzLmZvckVhY2goWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAnb3B0aW9ucyddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xcbiAgLyplc2xpbnQgZnVuYy1uYW1lczowKi9cXG4gIEF4aW9zLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24odXJsLCBjb25maWcpIHtcXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh1dGlscy5tZXJnZShjb25maWcgfHwge30sIHtcXG4gICAgICBtZXRob2Q6IG1ldGhvZCxcXG4gICAgICB1cmw6IHVybFxcbiAgICB9KSk7XFxuICB9O1xcbn0pO1xcblxcbnV0aWxzLmZvckVhY2goWydwb3N0JywgJ3B1dCcsICdwYXRjaCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kV2l0aERhdGEobWV0aG9kKSB7XFxuICAvKmVzbGludCBmdW5jLW5hbWVzOjAqL1xcbiAgQXhpb3MucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbih1cmwsIGRhdGEsIGNvbmZpZykge1xcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KHV0aWxzLm1lcmdlKGNvbmZpZyB8fCB7fSwge1xcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxcbiAgICAgIHVybDogdXJsLFxcbiAgICAgIGRhdGE6IGRhdGFcXG4gICAgfSkpO1xcbiAgfTtcXG59KTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IEF4aW9zO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlCZUdsdmN5NXFjejgyWW1Zd0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4eFJFRkJXVHRCUVVOb1F5eGxRVUZsTEcxQ1FVRlBMRU5CUVVNc2VVVkJRWEZDTzBGQlF6VkRMSGxDUVVGNVFpeHRRa0ZCVHl4RFFVRkRMR2xHUVVGelFqdEJRVU4yUkN4elFrRkJjMElzYlVKQlFVOHNRMEZCUXl3eVJVRkJiVUk3UVVGRGFrUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNiVVZCUVdVN08wRkJSWHBETzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTEdkRVFVRm5SRHRCUVVOb1JEdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hEUVVGRE96dEJRVVZFSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlqYjNKbEwwRjRhVzl6TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NjdUx5NHVMM1YwYVd4ekp5azdYRzUyWVhJZ1luVnBiR1JWVWt3Z1BTQnlaWEYxYVhKbEtDY3VMaTlvWld4d1pYSnpMMkoxYVd4a1ZWSk1KeWs3WEc1MllYSWdTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlJRDBnY21WeGRXbHlaU2duTGk5SmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJbktUdGNiblpoY2lCa2FYTndZWFJqYUZKbGNYVmxjM1FnUFNCeVpYRjFhWEpsS0NjdUwyUnBjM0JoZEdOb1VtVnhkV1Z6ZENjcE8xeHVkbUZ5SUcxbGNtZGxRMjl1Wm1sbklEMGdjbVZ4ZFdseVpTZ25MaTl0WlhKblpVTnZibVpwWnljcE8xeHVYRzR2S2lwY2JpQXFJRU55WldGMFpTQmhJRzVsZHlCcGJuTjBZVzVqWlNCdlppQkJlR2x2YzF4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0JwYm5OMFlXNWpaVU52Ym1acFp5QlVhR1VnWkdWbVlYVnNkQ0JqYjI1bWFXY2dabTl5SUhSb1pTQnBibk4wWVc1alpWeHVJQ292WEc1bWRXNWpkR2x2YmlCQmVHbHZjeWhwYm5OMFlXNWpaVU52Ym1acFp5a2dlMXh1SUNCMGFHbHpMbVJsWm1GMWJIUnpJRDBnYVc1emRHRnVZMlZEYjI1bWFXYzdYRzRnSUhSb2FYTXVhVzUwWlhKalpYQjBiM0p6SUQwZ2UxeHVJQ0FnSUhKbGNYVmxjM1E2SUc1bGR5QkpiblJsY21ObGNIUnZjazFoYm1GblpYSW9LU3hjYmlBZ0lDQnlaWE53YjI1elpUb2dibVYzSUVsdWRHVnlZMlZ3ZEc5eVRXRnVZV2RsY2lncFhHNGdJSDA3WEc1OVhHNWNiaThxS2x4dUlDb2dSR2x6Y0dGMFkyZ2dZU0J5WlhGMVpYTjBYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHTnZibVpwWnlCVWFHVWdZMjl1Wm1sbklITndaV05wWm1saklHWnZjaUIwYUdseklISmxjWFZsYzNRZ0tHMWxjbWRsWkNCM2FYUm9JSFJvYVhNdVpHVm1ZWFZzZEhNcFhHNGdLaTljYmtGNGFXOXpMbkJ5YjNSdmRIbHdaUzV5WlhGMVpYTjBJRDBnWm5WdVkzUnBiMjRnY21WeGRXVnpkQ2hqYjI1bWFXY3BJSHRjYmlBZ0x5cGxjMnhwYm5RZ2JtOHRjR0Z5WVcwdGNtVmhjM05wWjI0Nk1Db3ZYRzRnSUM4dklFRnNiRzkzSUdadmNpQmhlR2x2Y3lnblpYaGhiWEJzWlM5MWNtd25XeXdnWTI5dVptbG5YU2tnWVNCc1lTQm1aWFJqYUNCQlVFbGNiaUFnYVdZZ0tIUjVjR1Z2WmlCamIyNW1hV2NnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1kyOXVabWxuSUQwZ1lYSm5kVzFsYm5Seld6RmRJSHg4SUh0OU8xeHVJQ0FnSUdOdmJtWnBaeTUxY213Z1BTQmhjbWQxYldWdWRITmJNRjA3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWTI5dVptbG5JRDBnWTI5dVptbG5JSHg4SUh0OU8xeHVJQ0I5WEc1Y2JpQWdZMjl1Wm1sbklEMGdiV1Z5WjJWRGIyNW1hV2NvZEdocGN5NWtaV1poZFd4MGN5d2dZMjl1Wm1sbktUdGNiaUFnWTI5dVptbG5MbTFsZEdodlpDQTlJR052Ym1acFp5NXRaWFJvYjJRZ1B5QmpiMjVtYVdjdWJXVjBhRzlrTG5SdlRHOTNaWEpEWVhObEtDa2dPaUFuWjJWMEp6dGNibHh1SUNBdkx5QkliMjlySUhWd0lHbHVkR1Z5WTJWd2RHOXljeUJ0YVdSa2JHVjNZWEpsWEc0Z0lIWmhjaUJqYUdGcGJpQTlJRnRrYVhOd1lYUmphRkpsY1hWbGMzUXNJSFZ1WkdWbWFXNWxaRjA3WEc0Z0lIWmhjaUJ3Y205dGFYTmxJRDBnVUhKdmJXbHpaUzV5WlhOdmJIWmxLR052Ym1acFp5azdYRzVjYmlBZ2RHaHBjeTVwYm5SbGNtTmxjSFJ2Y25NdWNtVnhkV1Z6ZEM1bWIzSkZZV05vS0daMWJtTjBhVzl1SUhWdWMyaHBablJTWlhGMVpYTjBTVzUwWlhKalpYQjBiM0p6S0dsdWRHVnlZMlZ3ZEc5eUtTQjdYRzRnSUNBZ1kyaGhhVzR1ZFc1emFHbG1kQ2hwYm5SbGNtTmxjSFJ2Y2k1bWRXeG1hV3hzWldRc0lHbHVkR1Z5WTJWd2RHOXlMbkpsYW1WamRHVmtLVHRjYmlBZ2ZTazdYRzVjYmlBZ2RHaHBjeTVwYm5SbGNtTmxjSFJ2Y25NdWNtVnpjRzl1YzJVdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlCd2RYTm9VbVZ6Y0c5dWMyVkpiblJsY21ObGNIUnZjbk1vYVc1MFpYSmpaWEIwYjNJcElIdGNiaUFnSUNCamFHRnBiaTV3ZFhOb0tHbHVkR1Z5WTJWd2RHOXlMbVoxYkdacGJHeGxaQ3dnYVc1MFpYSmpaWEIwYjNJdWNtVnFaV04wWldRcE8xeHVJQ0I5S1R0Y2JseHVJQ0IzYUdsc1pTQW9ZMmhoYVc0dWJHVnVaM1JvS1NCN1hHNGdJQ0FnY0hKdmJXbHpaU0E5SUhCeWIyMXBjMlV1ZEdobGJpaGphR0ZwYmk1emFHbG1kQ2dwTENCamFHRnBiaTV6YUdsbWRDZ3BLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ3Y205dGFYTmxPMXh1ZlR0Y2JseHVRWGhwYjNNdWNISnZkRzkwZVhCbExtZGxkRlZ5YVNBOUlHWjFibU4wYVc5dUlHZGxkRlZ5YVNoamIyNW1hV2NwSUh0Y2JpQWdZMjl1Wm1sbklEMGdiV1Z5WjJWRGIyNW1hV2NvZEdocGN5NWtaV1poZFd4MGN5d2dZMjl1Wm1sbktUdGNiaUFnY21WMGRYSnVJR0oxYVd4a1ZWSk1LR052Ym1acFp5NTFjbXdzSUdOdmJtWnBaeTV3WVhKaGJYTXNJR052Ym1acFp5NXdZWEpoYlhOVFpYSnBZV3hwZW1WeUtTNXlaWEJzWVdObEtDOWVYRncvTHl3Z0p5Y3BPMXh1ZlR0Y2JseHVMeThnVUhKdmRtbGtaU0JoYkdsaGMyVnpJR1p2Y2lCemRYQndiM0owWldRZ2NtVnhkV1Z6ZENCdFpYUm9iMlJ6WEc1MWRHbHNjeTVtYjNKRllXTm9LRnNuWkdWc1pYUmxKeXdnSjJkbGRDY3NJQ2RvWldGa0p5d2dKMjl3ZEdsdmJuTW5YU3dnWm5WdVkzUnBiMjRnWm05eVJXRmphRTFsZEdodlpFNXZSR0YwWVNodFpYUm9iMlFwSUh0Y2JpQWdMeXBsYzJ4cGJuUWdablZ1WXkxdVlXMWxjem93S2k5Y2JpQWdRWGhwYjNNdWNISnZkRzkwZVhCbFcyMWxkR2h2WkYwZ1BTQm1kVzVqZEdsdmJpaDFjbXdzSUdOdmJtWnBaeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbGNYVmxjM1FvZFhScGJITXViV1Z5WjJVb1kyOXVabWxuSUh4OElIdDlMQ0I3WEc0Z0lDQWdJQ0J0WlhSb2IyUTZJRzFsZEdodlpDeGNiaUFnSUNBZ0lIVnliRG9nZFhKc1hHNGdJQ0FnZlNrcE8xeHVJQ0I5TzF4dWZTazdYRzVjYm5WMGFXeHpMbVp2Y2tWaFkyZ29XeWR3YjNOMEp5d2dKM0IxZENjc0lDZHdZWFJqYUNkZExDQm1kVzVqZEdsdmJpQm1iM0pGWVdOb1RXVjBhRzlrVjJsMGFFUmhkR0VvYldWMGFHOWtLU0I3WEc0Z0lDOHFaWE5zYVc1MElHWjFibU10Ym1GdFpYTTZNQ292WEc0Z0lFRjRhVzl6TG5CeWIzUnZkSGx3WlZ0dFpYUm9iMlJkSUQwZ1puVnVZM1JwYjI0b2RYSnNMQ0JrWVhSaExDQmpiMjVtYVdjcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaWEYxWlhOMEtIVjBhV3h6TG0xbGNtZGxLR052Ym1acFp5QjhmQ0I3ZlN3Z2UxeHVJQ0FnSUNBZ2JXVjBhRzlrT2lCdFpYUm9iMlFzWEc0Z0lDQWdJQ0IxY213NklIVnliQ3hjYmlBZ0lDQWdJR1JoZEdFNklHUmhkR0ZjYmlBZ0lDQjlLU2s3WEc0Z0lIMDdYRzU5S1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQkJlR2x2Y3p0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvSW50ZXJjZXB0b3JNYW5hZ2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBJbnRlcmNlcHRvck1hbmFnZXIoKSB7XFxuICB0aGlzLmhhbmRsZXJzID0gW107XFxufVxcblxcbi8qKlxcbiAqIEFkZCBhIG5ldyBpbnRlcmNlcHRvciB0byB0aGUgc3RhY2tcXG4gKlxcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bGZpbGxlZCBUaGUgZnVuY3Rpb24gdG8gaGFuZGxlIGB0aGVuYCBmb3IgYSBgUHJvbWlzZWBcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWplY3RlZCBUaGUgZnVuY3Rpb24gdG8gaGFuZGxlIGByZWplY3RgIGZvciBhIGBQcm9taXNlYFxcbiAqXFxuICogQHJldHVybiB7TnVtYmVyfSBBbiBJRCB1c2VkIHRvIHJlbW92ZSBpbnRlcmNlcHRvciBsYXRlclxcbiAqL1xcbkludGVyY2VwdG9yTWFuYWdlci5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpIHtcXG4gIHRoaXMuaGFuZGxlcnMucHVzaCh7XFxuICAgIGZ1bGZpbGxlZDogZnVsZmlsbGVkLFxcbiAgICByZWplY3RlZDogcmVqZWN0ZWRcXG4gIH0pO1xcbiAgcmV0dXJuIHRoaXMuaGFuZGxlcnMubGVuZ3RoIC0gMTtcXG59O1xcblxcbi8qKlxcbiAqIFJlbW92ZSBhbiBpbnRlcmNlcHRvciBmcm9tIHRoZSBzdGFja1xcbiAqXFxuICogQHBhcmFtIHtOdW1iZXJ9IGlkIFRoZSBJRCB0aGF0IHdhcyByZXR1cm5lZCBieSBgdXNlYFxcbiAqL1xcbkludGVyY2VwdG9yTWFuYWdlci5wcm90b3R5cGUuZWplY3QgPSBmdW5jdGlvbiBlamVjdChpZCkge1xcbiAgaWYgKHRoaXMuaGFuZGxlcnNbaWRdKSB7XFxuICAgIHRoaXMuaGFuZGxlcnNbaWRdID0gbnVsbDtcXG4gIH1cXG59O1xcblxcbi8qKlxcbiAqIEl0ZXJhdGUgb3ZlciBhbGwgdGhlIHJlZ2lzdGVyZWQgaW50ZXJjZXB0b3JzXFxuICpcXG4gKiBUaGlzIG1ldGhvZCBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciBza2lwcGluZyBvdmVyIGFueVxcbiAqIGludGVyY2VwdG9ycyB0aGF0IG1heSBoYXZlIGJlY29tZSBgbnVsbGAgY2FsbGluZyBgZWplY3RgLlxcbiAqXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgZm9yIGVhY2ggaW50ZXJjZXB0b3JcXG4gKi9cXG5JbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiBmb3JFYWNoKGZuKSB7XFxuICB1dGlscy5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsIGZ1bmN0aW9uIGZvckVhY2hIYW5kbGVyKGgpIHtcXG4gICAgaWYgKGggIT09IG51bGwpIHtcXG4gICAgICBmbihoKTtcXG4gICAgfVxcbiAgfSk7XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IEludGVyY2VwdG9yTWFuYWdlcjtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5SmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJdWFuTS9NV1UyTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zY1VSQlFWazdPMEZCUldoRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExGTkJRVk03UVVGRGNFSXNWMEZCVnl4VFFVRlRPMEZCUTNCQ08wRkJRMEVzV1VGQldTeFBRVUZQTzBGQlEyNUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVMEZCVXp0QlFVTndRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlNXNTBaWEpqWlhCMGIzSk5ZVzVoWjJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMeTR1TDNWMGFXeHpKeWs3WEc1Y2JtWjFibU4wYVc5dUlFbHVkR1Z5WTJWd2RHOXlUV0Z1WVdkbGNpZ3BJSHRjYmlBZ2RHaHBjeTVvWVc1a2JHVnljeUE5SUZ0ZE8xeHVmVnh1WEc0dktpcGNiaUFxSUVGa1pDQmhJRzVsZHlCcGJuUmxjbU5sY0hSdmNpQjBieUIwYUdVZ2MzUmhZMnRjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JtZFd4bWFXeHNaV1FnVkdobElHWjFibU4wYVc5dUlIUnZJR2hoYm1Sc1pTQmdkR2hsYm1BZ1ptOXlJR0VnWUZCeWIyMXBjMlZnWEc0Z0tpQkFjR0Z5WVcwZ2UwWjFibU4wYVc5dWZTQnlaV3BsWTNSbFpDQlVhR1VnWm5WdVkzUnBiMjRnZEc4Z2FHRnVaR3hsSUdCeVpXcGxZM1JnSUdadmNpQmhJR0JRY205dGFYTmxZRnh1SUNwY2JpQXFJRUJ5WlhSMWNtNGdlMDUxYldKbGNuMGdRVzRnU1VRZ2RYTmxaQ0IwYnlCeVpXMXZkbVVnYVc1MFpYSmpaWEIwYjNJZ2JHRjBaWEpjYmlBcUwxeHVTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlMbkJ5YjNSdmRIbHdaUzUxYzJVZ1BTQm1kVzVqZEdsdmJpQjFjMlVvWm5Wc1ptbHNiR1ZrTENCeVpXcGxZM1JsWkNrZ2UxeHVJQ0IwYUdsekxtaGhibVJzWlhKekxuQjFjMmdvZTF4dUlDQWdJR1oxYkdacGJHeGxaRG9nWm5Wc1ptbHNiR1ZrTEZ4dUlDQWdJSEpsYW1WamRHVmtPaUJ5WldwbFkzUmxaRnh1SUNCOUtUdGNiaUFnY21WMGRYSnVJSFJvYVhNdWFHRnVaR3hsY25NdWJHVnVaM1JvSUMwZ01UdGNibjA3WEc1Y2JpOHFLbHh1SUNvZ1VtVnRiM1psSUdGdUlHbHVkR1Z5WTJWd2RHOXlJR1p5YjIwZ2RHaGxJSE4wWVdOclhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0T2RXMWlaWEo5SUdsa0lGUm9aU0JKUkNCMGFHRjBJSGRoY3lCeVpYUjFjbTVsWkNCaWVTQmdkWE5sWUZ4dUlDb3ZYRzVKYm5SbGNtTmxjSFJ2Y2sxaGJtRm5aWEl1Y0hKdmRHOTBlWEJsTG1WcVpXTjBJRDBnWm5WdVkzUnBiMjRnWldwbFkzUW9hV1FwSUh0Y2JpQWdhV1lnS0hSb2FYTXVhR0Z1Wkd4bGNuTmJhV1JkS1NCN1hHNGdJQ0FnZEdocGN5NW9ZVzVrYkdWeWMxdHBaRjBnUFNCdWRXeHNPMXh1SUNCOVhHNTlPMXh1WEc0dktpcGNiaUFxSUVsMFpYSmhkR1VnYjNabGNpQmhiR3dnZEdobElISmxaMmx6ZEdWeVpXUWdhVzUwWlhKalpYQjBiM0p6WEc0Z0tseHVJQ29nVkdocGN5QnRaWFJvYjJRZ2FYTWdjR0Z5ZEdsamRXeGhjbXg1SUhWelpXWjFiQ0JtYjNJZ2MydHBjSEJwYm1jZ2IzWmxjaUJoYm5sY2JpQXFJR2x1ZEdWeVkyVndkRzl5Y3lCMGFHRjBJRzFoZVNCb1lYWmxJR0psWTI5dFpTQmdiblZzYkdBZ1kyRnNiR2x1WnlCZ1pXcGxZM1JnTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3Um5WdVkzUnBiMjU5SUdadUlGUm9aU0JtZFc1amRHbHZiaUIwYnlCallXeHNJR1p2Y2lCbFlXTm9JR2x1ZEdWeVkyVndkRzl5WEc0Z0tpOWNia2x1ZEdWeVkyVndkRzl5VFdGdVlXZGxjaTV3Y205MGIzUjVjR1V1Wm05eVJXRmphQ0E5SUdaMWJtTjBhVzl1SUdadmNrVmhZMmdvWm00cElIdGNiaUFnZFhScGJITXVabTl5UldGamFDaDBhR2x6TG1oaGJtUnNaWEp6TENCbWRXNWpkR2x2YmlCbWIzSkZZV05vU0dGdVpHeGxjaWhvS1NCN1hHNGdJQ0FnYVdZZ0tHZ2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1p1S0dncE8xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1OU8xeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRWx1ZEdWeVkyVndkRzl5VFdGdVlXZGxjanRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9JbnRlcmNlcHRvck1hbmFnZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBlbmhhbmNlRXJyb3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2VuaGFuY2VFcnJvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzXFxcIik7XFxuXFxuLyoqXFxuICogQ3JlYXRlIGFuIEVycm9yIHdpdGggdGhlIHNwZWNpZmllZCBtZXNzYWdlLCBjb25maWcsIGVycm9yIGNvZGUsIHJlcXVlc3QgYW5kIHJlc3BvbnNlLlxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXFxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyBUaGUgY29uZmlnLlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBbY29kZV0gVGhlIGVycm9yIGNvZGUgKGZvciBleGFtcGxlLCAnRUNPTk5BQk9SVEVEJykuXFxuICogQHBhcmFtIHtPYmplY3R9IFtyZXF1ZXN0XSBUaGUgcmVxdWVzdC5cXG4gKiBAcGFyYW0ge09iamVjdH0gW3Jlc3BvbnNlXSBUaGUgcmVzcG9uc2UuXFxuICogQHJldHVybnMge0Vycm9yfSBUaGUgY3JlYXRlZCBlcnJvci5cXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNyZWF0ZUVycm9yKG1lc3NhZ2UsIGNvbmZpZywgY29kZSwgcmVxdWVzdCwgcmVzcG9uc2UpIHtcXG4gIHZhciBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcXG4gIHJldHVybiBlbmhhbmNlRXJyb3IoZXJyb3IsIGNvbmZpZywgY29kZSwgcmVxdWVzdCwgcmVzcG9uc2UpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOWpjbVZoZEdWRmNuSnZjaTVxY3o4d016SmhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMRzFDUVVGdFFpeHRRa0ZCVHl4RFFVRkRMSEZGUVVGblFqczdRVUZGTTBNN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhoUVVGaExFMUJRVTA3UVVGRGJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5amNtVmhkR1ZGY25KdmNpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR1Z1YUdGdVkyVkZjbkp2Y2lBOUlISmxjWFZwY21Vb0p5NHZaVzVvWVc1alpVVnljbTl5SnlrN1hHNWNiaThxS2x4dUlDb2dRM0psWVhSbElHRnVJRVZ5Y205eUlIZHBkR2dnZEdobElITndaV05wWm1sbFpDQnRaWE56WVdkbExDQmpiMjVtYVdjc0lHVnljbTl5SUdOdlpHVXNJSEpsY1hWbGMzUWdZVzVrSUhKbGMzQnZibk5sTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J0WlhOellXZGxJRlJvWlNCbGNuSnZjaUJ0WlhOellXZGxMbHh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I5SUdOdmJtWnBaeUJVYUdVZ1kyOXVabWxuTGx4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlGdGpiMlJsWFNCVWFHVWdaWEp5YjNJZ1kyOWtaU0FvWm05eUlHVjRZVzF3YkdVc0lDZEZRMDlPVGtGQ1QxSlVSVVFuS1M1Y2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmJjbVZ4ZFdWemRGMGdWR2hsSUhKbGNYVmxjM1F1WEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1czSmxjM0J2Ym5ObFhTQlVhR1VnY21WemNHOXVjMlV1WEc0Z0tpQkFjbVYwZFhKdWN5QjdSWEp5YjNKOUlGUm9aU0JqY21WaGRHVmtJR1Z5Y205eUxseHVJQ292WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdOeVpXRjBaVVZ5Y205eUtHMWxjM05oWjJVc0lHTnZibVpwWnl3Z1kyOWtaU3dnY21WeGRXVnpkQ3dnY21WemNHOXVjMlVwSUh0Y2JpQWdkbUZ5SUdWeWNtOXlJRDBnYm1WM0lFVnljbTl5S0cxbGMzTmhaMlVwTzF4dUlDQnlaWFIxY200Z1pXNW9ZVzVqWlVWeWNtOXlLR1Z5Y205eUxDQmpiMjVtYVdjc0lHTnZaR1VzSUhKbGNYVmxjM1FzSUhKbGMzQnZibk5sS1R0Y2JuMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9kaXNwYXRjaFJlcXVlc3QuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIHRyYW5zZm9ybURhdGEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3RyYW5zZm9ybURhdGEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanNcXFwiKTtcXG52YXIgaXNDYW5jZWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jYW5jZWwvaXNDYW5jZWwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvaXNDYW5jZWwuanNcXFwiKTtcXG52YXIgZGVmYXVsdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9kZWZhdWx0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzXFxcIik7XFxudmFyIGlzQWJzb2x1dGVVUkwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qc1xcXCIpO1xcbnZhciBjb21iaW5lVVJMcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vaGVscGVycy9jb21iaW5lVVJMcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanNcXFwiKTtcXG5cXG4vKipcXG4gKiBUaHJvd3MgYSBgQ2FuY2VsYCBpZiBjYW5jZWxsYXRpb24gaGFzIGJlZW4gcmVxdWVzdGVkLlxcbiAqL1xcbmZ1bmN0aW9uIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoY29uZmlnKSB7XFxuICBpZiAoY29uZmlnLmNhbmNlbFRva2VuKSB7XFxuICAgIGNvbmZpZy5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCk7XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIERpc3BhdGNoIGEgcmVxdWVzdCB0byB0aGUgc2VydmVyIHVzaW5nIHRoZSBjb25maWd1cmVkIGFkYXB0ZXIuXFxuICpcXG4gKiBAcGFyYW0ge29iamVjdH0gY29uZmlnIFRoZSBjb25maWcgdGhhdCBpcyB0byBiZSB1c2VkIGZvciB0aGUgcmVxdWVzdFxcbiAqIEByZXR1cm5zIHtQcm9taXNlfSBUaGUgUHJvbWlzZSB0byBiZSBmdWxmaWxsZWRcXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGRpc3BhdGNoUmVxdWVzdChjb25maWcpIHtcXG4gIHRocm93SWZDYW5jZWxsYXRpb25SZXF1ZXN0ZWQoY29uZmlnKTtcXG5cXG4gIC8vIFN1cHBvcnQgYmFzZVVSTCBjb25maWdcXG4gIGlmIChjb25maWcuYmFzZVVSTCAmJiAhaXNBYnNvbHV0ZVVSTChjb25maWcudXJsKSkge1xcbiAgICBjb25maWcudXJsID0gY29tYmluZVVSTHMoY29uZmlnLmJhc2VVUkwsIGNvbmZpZy51cmwpO1xcbiAgfVxcblxcbiAgLy8gRW5zdXJlIGhlYWRlcnMgZXhpc3RcXG4gIGNvbmZpZy5oZWFkZXJzID0gY29uZmlnLmhlYWRlcnMgfHwge307XFxuXFxuICAvLyBUcmFuc2Zvcm0gcmVxdWVzdCBkYXRhXFxuICBjb25maWcuZGF0YSA9IHRyYW5zZm9ybURhdGEoXFxuICAgIGNvbmZpZy5kYXRhLFxcbiAgICBjb25maWcuaGVhZGVycyxcXG4gICAgY29uZmlnLnRyYW5zZm9ybVJlcXVlc3RcXG4gICk7XFxuXFxuICAvLyBGbGF0dGVuIGhlYWRlcnNcXG4gIGNvbmZpZy5oZWFkZXJzID0gdXRpbHMubWVyZ2UoXFxuICAgIGNvbmZpZy5oZWFkZXJzLmNvbW1vbiB8fCB7fSxcXG4gICAgY29uZmlnLmhlYWRlcnNbY29uZmlnLm1ldGhvZF0gfHwge30sXFxuICAgIGNvbmZpZy5oZWFkZXJzIHx8IHt9XFxuICApO1xcblxcbiAgdXRpbHMuZm9yRWFjaChcXG4gICAgWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAncG9zdCcsICdwdXQnLCAncGF0Y2gnLCAnY29tbW9uJ10sXFxuICAgIGZ1bmN0aW9uIGNsZWFuSGVhZGVyQ29uZmlnKG1ldGhvZCkge1xcbiAgICAgIGRlbGV0ZSBjb25maWcuaGVhZGVyc1ttZXRob2RdO1xcbiAgICB9XFxuICApO1xcblxcbiAgdmFyIGFkYXB0ZXIgPSBjb25maWcuYWRhcHRlciB8fCBkZWZhdWx0cy5hZGFwdGVyO1xcblxcbiAgcmV0dXJuIGFkYXB0ZXIoY29uZmlnKS50aGVuKGZ1bmN0aW9uIG9uQWRhcHRlclJlc29sdXRpb24ocmVzcG9uc2UpIHtcXG4gICAgdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpO1xcblxcbiAgICAvLyBUcmFuc2Zvcm0gcmVzcG9uc2UgZGF0YVxcbiAgICByZXNwb25zZS5kYXRhID0gdHJhbnNmb3JtRGF0YShcXG4gICAgICByZXNwb25zZS5kYXRhLFxcbiAgICAgIHJlc3BvbnNlLmhlYWRlcnMsXFxuICAgICAgY29uZmlnLnRyYW5zZm9ybVJlc3BvbnNlXFxuICAgICk7XFxuXFxuICAgIHJldHVybiByZXNwb25zZTtcXG4gIH0sIGZ1bmN0aW9uIG9uQWRhcHRlclJlamVjdGlvbihyZWFzb24pIHtcXG4gICAgaWYgKCFpc0NhbmNlbChyZWFzb24pKSB7XFxuICAgICAgdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpO1xcblxcbiAgICAgIC8vIFRyYW5zZm9ybSByZXNwb25zZSBkYXRhXFxuICAgICAgaWYgKHJlYXNvbiAmJiByZWFzb24ucmVzcG9uc2UpIHtcXG4gICAgICAgIHJlYXNvbi5yZXNwb25zZS5kYXRhID0gdHJhbnNmb3JtRGF0YShcXG4gICAgICAgICAgcmVhc29uLnJlc3BvbnNlLmRhdGEsXFxuICAgICAgICAgIHJlYXNvbi5yZXNwb25zZS5oZWFkZXJzLFxcbiAgICAgICAgICBjb25maWcudHJhbnNmb3JtUmVzcG9uc2VcXG4gICAgICAgICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZWFzb24pO1xcbiAgfSk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZZMjl5WlM5a2FYTndZWFJqYUZKbGNYVmxjM1F1YW5NL1lqWmhOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNjVVJCUVZrN1FVRkRhRU1zYjBKQlFXOUNMRzFDUVVGUExFTkJRVU1zZFVWQlFXbENPMEZCUXpkRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl4MVJVRkJiMEk3UVVGRE0wTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExIbEVRVUZoTzBGQlEzQkRMRzlDUVVGdlFpeHRRa0ZCVHl4RFFVRkRMSEZHUVVFMFFqdEJRVU40UkN4clFrRkJhMElzYlVKQlFVOHNRMEZCUXl4cFJrRkJNRUk3TzBGQlJYQkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1VVRkJVVHRCUVVOeVFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxDdENRVUVyUWp0QlFVTXZRaXgxUTBGQmRVTTdRVUZEZGtNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGdpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdlpHbHpjR0YwWTJoU1pYRjFaWE4wTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NjdUx5NHVMM1YwYVd4ekp5azdYRzUyWVhJZ2RISmhibk5tYjNKdFJHRjBZU0E5SUhKbGNYVnBjbVVvSnk0dmRISmhibk5tYjNKdFJHRjBZU2NwTzF4dWRtRnlJR2x6UTJGdVkyVnNJRDBnY21WeGRXbHlaU2duTGk0dlkyRnVZMlZzTDJselEyRnVZMlZzSnlrN1hHNTJZWElnWkdWbVlYVnNkSE1nUFNCeVpYRjFhWEpsS0NjdUxpOWtaV1poZFd4MGN5Y3BPMXh1ZG1GeUlHbHpRV0p6YjJ4MWRHVlZVa3dnUFNCeVpYRjFhWEpsS0NjdUx5NHVMMmhsYkhCbGNuTXZhWE5CWW5OdmJIVjBaVlZTVENjcE8xeHVkbUZ5SUdOdmJXSnBibVZWVWt4eklEMGdjbVZ4ZFdseVpTZ25MaTh1TGk5b1pXeHdaWEp6TDJOdmJXSnBibVZWVWt4ekp5azdYRzVjYmk4cUtseHVJQ29nVkdoeWIzZHpJR0VnWUVOaGJtTmxiR0FnYVdZZ1kyRnVZMlZzYkdGMGFXOXVJR2hoY3lCaVpXVnVJSEpsY1hWbGMzUmxaQzVjYmlBcUwxeHVablZ1WTNScGIyNGdkR2h5YjNkSlprTmhibU5sYkd4aGRHbHZibEpsY1hWbGMzUmxaQ2hqYjI1bWFXY3BJSHRjYmlBZ2FXWWdLR052Ym1acFp5NWpZVzVqWld4VWIydGxiaWtnZTF4dUlDQWdJR052Ym1acFp5NWpZVzVqWld4VWIydGxiaTUwYUhKdmQwbG1VbVZ4ZFdWemRHVmtLQ2s3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCRWFYTndZWFJqYUNCaElISmxjWFZsYzNRZ2RHOGdkR2hsSUhObGNuWmxjaUIxYzJsdVp5QjBhR1VnWTI5dVptbG5kWEpsWkNCaFpHRndkR1Z5TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JqYjI1bWFXY2dWR2hsSUdOdmJtWnBaeUIwYUdGMElHbHpJSFJ2SUdKbElIVnpaV1FnWm05eUlIUm9aU0J5WlhGMVpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1VISnZiV2x6WlgwZ1ZHaGxJRkJ5YjIxcGMyVWdkRzhnWW1VZ1puVnNabWxzYkdWa1hHNGdLaTljYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnWkdsemNHRjBZMmhTWlhGMVpYTjBLR052Ym1acFp5a2dlMXh1SUNCMGFISnZkMGxtUTJGdVkyVnNiR0YwYVc5dVVtVnhkV1Z6ZEdWa0tHTnZibVpwWnlrN1hHNWNiaUFnTHk4Z1UzVndjRzl5ZENCaVlYTmxWVkpNSUdOdmJtWnBaMXh1SUNCcFppQW9ZMjl1Wm1sbkxtSmhjMlZWVWt3Z0ppWWdJV2x6UVdKemIyeDFkR1ZWVWt3b1kyOXVabWxuTG5WeWJDa3BJSHRjYmlBZ0lDQmpiMjVtYVdjdWRYSnNJRDBnWTI5dFltbHVaVlZTVEhNb1kyOXVabWxuTG1KaGMyVlZVa3dzSUdOdmJtWnBaeTUxY213cE8xeHVJQ0I5WEc1Y2JpQWdMeThnUlc1emRYSmxJR2hsWVdSbGNuTWdaWGhwYzNSY2JpQWdZMjl1Wm1sbkxtaGxZV1JsY25NZ1BTQmpiMjVtYVdjdWFHVmhaR1Z5Y3lCOGZDQjdmVHRjYmx4dUlDQXZMeUJVY21GdWMyWnZjbTBnY21WeGRXVnpkQ0JrWVhSaFhHNGdJR052Ym1acFp5NWtZWFJoSUQwZ2RISmhibk5tYjNKdFJHRjBZU2hjYmlBZ0lDQmpiMjVtYVdjdVpHRjBZU3hjYmlBZ0lDQmpiMjVtYVdjdWFHVmhaR1Z5Y3l4Y2JpQWdJQ0JqYjI1bWFXY3VkSEpoYm5ObWIzSnRVbVZ4ZFdWemRGeHVJQ0FwTzF4dVhHNGdJQzh2SUVac1lYUjBaVzRnYUdWaFpHVnljMXh1SUNCamIyNW1hV2N1YUdWaFpHVnljeUE5SUhWMGFXeHpMbTFsY21kbEtGeHVJQ0FnSUdOdmJtWnBaeTVvWldGa1pYSnpMbU52YlcxdmJpQjhmQ0I3ZlN4Y2JpQWdJQ0JqYjI1bWFXY3VhR1ZoWkdWeWMxdGpiMjVtYVdjdWJXVjBhRzlrWFNCOGZDQjdmU3hjYmlBZ0lDQmpiMjVtYVdjdWFHVmhaR1Z5Y3lCOGZDQjdmVnh1SUNBcE8xeHVYRzRnSUhWMGFXeHpMbVp2Y2tWaFkyZ29YRzRnSUNBZ1d5ZGtaV3hsZEdVbkxDQW5aMlYwSnl3Z0oyaGxZV1FuTENBbmNHOXpkQ2NzSUNkd2RYUW5MQ0FuY0dGMFkyZ25MQ0FuWTI5dGJXOXVKMTBzWEc0Z0lDQWdablZ1WTNScGIyNGdZMnhsWVc1SVpXRmtaWEpEYjI1bWFXY29iV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQmtaV3hsZEdVZ1kyOXVabWxuTG1obFlXUmxjbk5iYldWMGFHOWtYVHRjYmlBZ0lDQjlYRzRnSUNrN1hHNWNiaUFnZG1GeUlHRmtZWEIwWlhJZ1BTQmpiMjVtYVdjdVlXUmhjSFJsY2lCOGZDQmtaV1poZFd4MGN5NWhaR0Z3ZEdWeU8xeHVYRzRnSUhKbGRIVnliaUJoWkdGd2RHVnlLR052Ym1acFp5a3VkR2hsYmlobWRXNWpkR2x2YmlCdmJrRmtZWEIwWlhKU1pYTnZiSFYwYVc5dUtISmxjM0J2Ym5ObEtTQjdYRzRnSUNBZ2RHaHliM2RKWmtOaGJtTmxiR3hoZEdsdmJsSmxjWFZsYzNSbFpDaGpiMjVtYVdjcE8xeHVYRzRnSUNBZ0x5OGdWSEpoYm5ObWIzSnRJSEpsYzNCdmJuTmxJR1JoZEdGY2JpQWdJQ0J5WlhOd2IyNXpaUzVrWVhSaElEMGdkSEpoYm5ObWIzSnRSR0YwWVNoY2JpQWdJQ0FnSUhKbGMzQnZibk5sTG1SaGRHRXNYRzRnSUNBZ0lDQnlaWE53YjI1elpTNW9aV0ZrWlhKekxGeHVJQ0FnSUNBZ1kyOXVabWxuTG5SeVlXNXpabTl5YlZKbGMzQnZibk5sWEc0Z0lDQWdLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpUdGNiaUFnZlN3Z1puVnVZM1JwYjI0Z2IyNUJaR0Z3ZEdWeVVtVnFaV04wYVc5dUtISmxZWE52YmlrZ2UxeHVJQ0FnSUdsbUlDZ2hhWE5EWVc1alpXd29jbVZoYzI5dUtTa2dlMXh1SUNBZ0lDQWdkR2h5YjNkSlprTmhibU5sYkd4aGRHbHZibEpsY1hWbGMzUmxaQ2hqYjI1bWFXY3BPMXh1WEc0Z0lDQWdJQ0F2THlCVWNtRnVjMlp2Y20wZ2NtVnpjRzl1YzJVZ1pHRjBZVnh1SUNBZ0lDQWdhV1lnS0hKbFlYTnZiaUFtSmlCeVpXRnpiMjR1Y21WemNHOXVjMlVwSUh0Y2JpQWdJQ0FnSUNBZ2NtVmhjMjl1TG5KbGMzQnZibk5sTG1SaGRHRWdQU0IwY21GdWMyWnZjbTFFWVhSaEtGeHVJQ0FnSUNBZ0lDQWdJSEpsWVhOdmJpNXlaWE53YjI1elpTNWtZWFJoTEZ4dUlDQWdJQ0FnSUNBZ0lISmxZWE52Ymk1eVpYTndiMjV6WlM1b1pXRmtaWEp6TEZ4dUlDQWdJQ0FnSUNBZ0lHTnZibVpwWnk1MGNtRnVjMlp2Y20xU1pYTndiMjV6WlZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYW1WamRDaHlaV0Z6YjI0cE8xeHVJQ0I5S1R0Y2JuMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qKlxcbiAqIFVwZGF0ZSBhbiBFcnJvciB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlnLCBlcnJvciBjb2RlLCBhbmQgcmVzcG9uc2UuXFxuICpcXG4gKiBAcGFyYW0ge0Vycm9yfSBlcnJvciBUaGUgZXJyb3IgdG8gdXBkYXRlLlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgVGhlIGNvbmZpZy5cXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvZGVdIFRoZSBlcnJvciBjb2RlIChmb3IgZXhhbXBsZSwgJ0VDT05OQUJPUlRFRCcpLlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBbcmVxdWVzdF0gVGhlIHJlcXVlc3QuXFxuICogQHBhcmFtIHtPYmplY3R9IFtyZXNwb25zZV0gVGhlIHJlc3BvbnNlLlxcbiAqIEByZXR1cm5zIHtFcnJvcn0gVGhlIGVycm9yLlxcbiAqL1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZW5oYW5jZUVycm9yKGVycm9yLCBjb25maWcsIGNvZGUsIHJlcXVlc3QsIHJlc3BvbnNlKSB7XFxuICBlcnJvci5jb25maWcgPSBjb25maWc7XFxuICBpZiAoY29kZSkge1xcbiAgICBlcnJvci5jb2RlID0gY29kZTtcXG4gIH1cXG5cXG4gIGVycm9yLnJlcXVlc3QgPSByZXF1ZXN0O1xcbiAgZXJyb3IucmVzcG9uc2UgPSByZXNwb25zZTtcXG4gIGVycm9yLmlzQXhpb3NFcnJvciA9IHRydWU7XFxuXFxuICBlcnJvci50b0pTT04gPSBmdW5jdGlvbigpIHtcXG4gICAgcmV0dXJuIHtcXG4gICAgICAvLyBTdGFuZGFyZFxcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXFxuICAgICAgLy8gTWljcm9zb2Z0XFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXFxuICAgICAgbnVtYmVyOiB0aGlzLm51bWJlcixcXG4gICAgICAvLyBNb3ppbGxhXFxuICAgICAgZmlsZU5hbWU6IHRoaXMuZmlsZU5hbWUsXFxuICAgICAgbGluZU51bWJlcjogdGhpcy5saW5lTnVtYmVyLFxcbiAgICAgIGNvbHVtbk51bWJlcjogdGhpcy5jb2x1bW5OdW1iZXIsXFxuICAgICAgc3RhY2s6IHRoaXMuc3RhY2ssXFxuICAgICAgLy8gQXhpb3NcXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxcbiAgICAgIGNvZGU6IHRoaXMuY29kZVxcbiAgICB9O1xcbiAgfTtcXG4gIHJldHVybiBlcnJvcjtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlsYm1oaGJtTmxSWEp5YjNJdWFuTS9Zak5tT0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWp0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFMUJRVTA3UVVGRGFrSXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1RVRkJUVHRCUVVOdVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZaVzVvWVc1alpVVnljbTl5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRlZ3WkdGMFpTQmhiaUJGY25KdmNpQjNhWFJvSUhSb1pTQnpjR1ZqYVdacFpXUWdZMjl1Wm1sbkxDQmxjbkp2Y2lCamIyUmxMQ0JoYm1RZ2NtVnpjRzl1YzJVdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0RmNuSnZjbjBnWlhKeWIzSWdWR2hsSUdWeWNtOXlJSFJ2SUhWd1pHRjBaUzVjYmlBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCamIyNW1hV2NnVkdobElHTnZibVpwWnk1Y2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQmJZMjlrWlYwZ1ZHaGxJR1Z5Y205eUlHTnZaR1VnS0dadmNpQmxlR0Z0Y0d4bExDQW5SVU5QVGs1QlFrOVNWRVZFSnlrdVhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdXM0psY1hWbGMzUmRJRlJvWlNCeVpYRjFaWE4wTGx4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlGdHlaWE53YjI1elpWMGdWR2hsSUhKbGMzQnZibk5sTGx4dUlDb2dRSEpsZEhWeWJuTWdlMFZ5Y205eWZTQlVhR1VnWlhKeWIzSXVYRzRnS2k5Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1pXNW9ZVzVqWlVWeWNtOXlLR1Z5Y205eUxDQmpiMjVtYVdjc0lHTnZaR1VzSUhKbGNYVmxjM1FzSUhKbGMzQnZibk5sS1NCN1hHNGdJR1Z5Y205eUxtTnZibVpwWnlBOUlHTnZibVpwWnp0Y2JpQWdhV1lnS0dOdlpHVXBJSHRjYmlBZ0lDQmxjbkp2Y2k1amIyUmxJRDBnWTI5a1pUdGNiaUFnZlZ4dVhHNGdJR1Z5Y205eUxuSmxjWFZsYzNRZ1BTQnlaWEYxWlhOME8xeHVJQ0JsY25KdmNpNXlaWE53YjI1elpTQTlJSEpsYzNCdmJuTmxPMXh1SUNCbGNuSnZjaTVwYzBGNGFXOXpSWEp5YjNJZ1BTQjBjblZsTzF4dVhHNGdJR1Z5Y205eUxuUnZTbE5QVGlBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBdkx5QlRkR0Z1WkdGeVpGeHVJQ0FnSUNBZ2JXVnpjMkZuWlRvZ2RHaHBjeTV0WlhOellXZGxMRnh1SUNBZ0lDQWdibUZ0WlRvZ2RHaHBjeTV1WVcxbExGeHVJQ0FnSUNBZ0x5OGdUV2xqY205emIyWjBYRzRnSUNBZ0lDQmtaWE5qY21sd2RHbHZiam9nZEdocGN5NWtaWE5qY21sd2RHbHZiaXhjYmlBZ0lDQWdJRzUxYldKbGNqb2dkR2hwY3k1dWRXMWlaWElzWEc0Z0lDQWdJQ0F2THlCTmIzcHBiR3hoWEc0Z0lDQWdJQ0JtYVd4bFRtRnRaVG9nZEdocGN5NW1hV3hsVG1GdFpTeGNiaUFnSUNBZ0lHeHBibVZPZFcxaVpYSTZJSFJvYVhNdWJHbHVaVTUxYldKbGNpeGNiaUFnSUNBZ0lHTnZiSFZ0Yms1MWJXSmxjam9nZEdocGN5NWpiMngxYlc1T2RXMWlaWElzWEc0Z0lDQWdJQ0J6ZEdGamF6b2dkR2hwY3k1emRHRmpheXhjYmlBZ0lDQWdJQzh2SUVGNGFXOXpYRzRnSUNBZ0lDQmpiMjVtYVdjNklIUm9hWE11WTI5dVptbG5MRnh1SUNBZ0lDQWdZMjlrWlRvZ2RHaHBjeTVqYjJSbFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmlBZ2NtVjBkWEp1SUdWeWNtOXlPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxuLyoqXFxuICogQ29uZmlnLXNwZWNpZmljIG1lcmdlLWZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgYSBuZXcgY29uZmlnLW9iamVjdFxcbiAqIGJ5IG1lcmdpbmcgdHdvIGNvbmZpZ3VyYXRpb24gb2JqZWN0cyB0b2dldGhlci5cXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcxXFxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZzJcXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBOZXcgb2JqZWN0IHJlc3VsdGluZyBmcm9tIG1lcmdpbmcgY29uZmlnMiB0byBjb25maWcxXFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBtZXJnZUNvbmZpZyhjb25maWcxLCBjb25maWcyKSB7XFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cXG4gIGNvbmZpZzIgPSBjb25maWcyIHx8IHt9O1xcbiAgdmFyIGNvbmZpZyA9IHt9O1xcblxcbiAgdXRpbHMuZm9yRWFjaChbJ3VybCcsICdtZXRob2QnLCAncGFyYW1zJywgJ2RhdGEnXSwgZnVuY3Rpb24gdmFsdWVGcm9tQ29uZmlnMihwcm9wKSB7XFxuICAgIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xcbiAgICB9XFxuICB9KTtcXG5cXG4gIHV0aWxzLmZvckVhY2goWydoZWFkZXJzJywgJ2F1dGgnLCAncHJveHknXSwgZnVuY3Rpb24gbWVyZ2VEZWVwUHJvcGVydGllcyhwcm9wKSB7XFxuICAgIGlmICh1dGlscy5pc09iamVjdChjb25maWcyW3Byb3BdKSkge1xcbiAgICAgIGNvbmZpZ1twcm9wXSA9IHV0aWxzLmRlZXBNZXJnZShjb25maWcxW3Byb3BdLCBjb25maWcyW3Byb3BdKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xcbiAgICB9IGVsc2UgaWYgKHV0aWxzLmlzT2JqZWN0KGNvbmZpZzFbcHJvcF0pKSB7XFxuICAgICAgY29uZmlnW3Byb3BdID0gdXRpbHMuZGVlcE1lcmdlKGNvbmZpZzFbcHJvcF0pO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25maWcxW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGNvbmZpZzFbcHJvcF07XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgdXRpbHMuZm9yRWFjaChbXFxuICAgICdiYXNlVVJMJywgJ3RyYW5zZm9ybVJlcXVlc3QnLCAndHJhbnNmb3JtUmVzcG9uc2UnLCAncGFyYW1zU2VyaWFsaXplcicsXFxuICAgICd0aW1lb3V0JywgJ3dpdGhDcmVkZW50aWFscycsICdhZGFwdGVyJywgJ3Jlc3BvbnNlVHlwZScsICd4c3JmQ29va2llTmFtZScsXFxuICAgICd4c3JmSGVhZGVyTmFtZScsICdvblVwbG9hZFByb2dyZXNzJywgJ29uRG93bmxvYWRQcm9ncmVzcycsICdtYXhDb250ZW50TGVuZ3RoJyxcXG4gICAgJ3ZhbGlkYXRlU3RhdHVzJywgJ21heFJlZGlyZWN0cycsICdodHRwQWdlbnQnLCAnaHR0cHNBZ2VudCcsICdjYW5jZWxUb2tlbicsXFxuICAgICdzb2NrZXRQYXRoJ1xcbiAgXSwgZnVuY3Rpb24gZGVmYXVsdFRvQ29uZmlnMihwcm9wKSB7XFxuICAgIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25maWcxW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGNvbmZpZzFbcHJvcF07XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgcmV0dXJuIGNvbmZpZztcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzl0WlhKblpVTnZibVpwWnk1cWN6OHdPR1V5SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZsQlFWa3NiVUpCUVU4c1EwRkJReXh0UkVGQlZUczdRVUZGT1VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNUMEZCVHp0QlFVTndRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdRVUZGU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFZEJRVWM3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyTnZjbVV2YldWeVoyVkRiMjVtYVdjdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHVMM1YwYVd4ekp5azdYRzVjYmk4cUtseHVJQ29nUTI5dVptbG5MWE53WldOcFptbGpJRzFsY21kbExXWjFibU4wYVc5dUlIZG9hV05vSUdOeVpXRjBaWE1nWVNCdVpYY2dZMjl1Wm1sbkxXOWlhbVZqZEZ4dUlDb2dZbmtnYldWeVoybHVaeUIwZDI4Z1kyOXVabWxuZFhKaGRHbHZiaUJ2WW1wbFkzUnpJSFJ2WjJWMGFHVnlMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQmpiMjVtYVdjeFhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdZMjl1Wm1sbk1seHVJQ29nUUhKbGRIVnlibk1nZTA5aWFtVmpkSDBnVG1WM0lHOWlhbVZqZENCeVpYTjFiSFJwYm1jZ1puSnZiU0J0WlhKbmFXNW5JR052Ym1acFp6SWdkRzhnWTI5dVptbG5NVnh1SUNvdlhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlHMWxjbWRsUTI5dVptbG5LR052Ym1acFp6RXNJR052Ym1acFp6SXBJSHRjYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElHNXZMWEJoY21GdExYSmxZWE56YVdkdVhHNGdJR052Ym1acFp6SWdQU0JqYjI1bWFXY3lJSHg4SUh0OU8xeHVJQ0IyWVhJZ1kyOXVabWxuSUQwZ2UzMDdYRzVjYmlBZ2RYUnBiSE11Wm05eVJXRmphQ2hiSjNWeWJDY3NJQ2R0WlhSb2IyUW5MQ0FuY0dGeVlXMXpKeXdnSjJSaGRHRW5YU3dnWm5WdVkzUnBiMjRnZG1Gc2RXVkdjbTl0UTI5dVptbG5NaWh3Y205d0tTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmpiMjVtYVdjeVczQnliM0JkSUNFOVBTQW5kVzVrWldacGJtVmtKeWtnZTF4dUlDQWdJQ0FnWTI5dVptbG5XM0J5YjNCZElEMGdZMjl1Wm1sbk1sdHdjbTl3WFR0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc0Z0lIVjBhV3h6TG1admNrVmhZMmdvV3lkb1pXRmtaWEp6Snl3Z0oyRjFkR2duTENBbmNISnZlSGtuWFN3Z1puVnVZM1JwYjI0Z2JXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGN5aHdjbTl3S1NCN1hHNGdJQ0FnYVdZZ0tIVjBhV3h6TG1selQySnFaV04wS0dOdmJtWnBaekpiY0hKdmNGMHBLU0I3WEc0Z0lDQWdJQ0JqYjI1bWFXZGJjSEp2Y0YwZ1BTQjFkR2xzY3k1a1pXVndUV1Z5WjJVb1kyOXVabWxuTVZ0d2NtOXdYU3dnWTI5dVptbG5NbHR3Y205d1hTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ1kyOXVabWxuTWx0d2NtOXdYU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJSHRjYmlBZ0lDQWdJR052Ym1acFoxdHdjbTl3WFNBOUlHTnZibVpwWnpKYmNISnZjRjA3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gxZEdsc2N5NXBjMDlpYW1WamRDaGpiMjVtYVdjeFczQnliM0JkS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVabWxuVzNCeWIzQmRJRDBnZFhScGJITXVaR1ZsY0UxbGNtZGxLR052Ym1acFp6RmJjSEp2Y0YwcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdOdmJtWnBaekZiY0hKdmNGMGdJVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQmpiMjVtYVdkYmNISnZjRjBnUFNCamIyNW1hV2N4VzNCeWIzQmRPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNWNiaUFnZFhScGJITXVabTl5UldGamFDaGJYRzRnSUNBZ0oySmhjMlZWVWt3bkxDQW5kSEpoYm5ObWIzSnRVbVZ4ZFdWemRDY3NJQ2QwY21GdWMyWnZjbTFTWlhOd2IyNXpaU2NzSUNkd1lYSmhiWE5UWlhKcFlXeHBlbVZ5Snl4Y2JpQWdJQ0FuZEdsdFpXOTFkQ2NzSUNkM2FYUm9RM0psWkdWdWRHbGhiSE1uTENBbllXUmhjSFJsY2ljc0lDZHlaWE53YjI1elpWUjVjR1VuTENBbmVITnlaa052YjJ0cFpVNWhiV1VuTEZ4dUlDQWdJQ2Q0YzNKbVNHVmhaR1Z5VG1GdFpTY3NJQ2R2YmxWd2JHOWhaRkJ5YjJkeVpYTnpKeXdnSjI5dVJHOTNibXh2WVdSUWNtOW5jbVZ6Y3ljc0lDZHRZWGhEYjI1MFpXNTBUR1Z1WjNSb0p5eGNiaUFnSUNBbmRtRnNhV1JoZEdWVGRHRjBkWE1uTENBbmJXRjRVbVZrYVhKbFkzUnpKeXdnSjJoMGRIQkJaMlZ1ZENjc0lDZG9kSFJ3YzBGblpXNTBKeXdnSjJOaGJtTmxiRlJ2YTJWdUp5eGNiaUFnSUNBbmMyOWphMlYwVUdGMGFDZGNiaUFnWFN3Z1puVnVZM1JwYjI0Z1pHVm1ZWFZzZEZSdlEyOXVabWxuTWlod2NtOXdLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1bWFXY3lXM0J5YjNCZElDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ1kyOXVabWxuVzNCeWIzQmRJRDBnWTI5dVptbG5NbHR3Y205d1hUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCamIyNW1hV2N4VzNCeWIzQmRJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5a2dlMXh1SUNBZ0lDQWdZMjl1Wm1sblczQnliM0JkSUQwZ1kyOXVabWxuTVZ0d2NtOXdYVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUJqYjI1bWFXYzdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3NldHRsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgY3JlYXRlRXJyb3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NyZWF0ZUVycm9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9jcmVhdGVFcnJvci5qc1xcXCIpO1xcblxcbi8qKlxcbiAqIFJlc29sdmUgb3IgcmVqZWN0IGEgUHJvbWlzZSBiYXNlZCBvbiByZXNwb25zZSBzdGF0dXMuXFxuICpcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZXNvbHZlIEEgZnVuY3Rpb24gdGhhdCByZXNvbHZlcyB0aGUgcHJvbWlzZS5cXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWplY3QgQSBmdW5jdGlvbiB0aGF0IHJlamVjdHMgdGhlIHByb21pc2UuXFxuICogQHBhcmFtIHtvYmplY3R9IHJlc3BvbnNlIFRoZSByZXNwb25zZS5cXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHJlc3BvbnNlKSB7XFxuICB2YXIgdmFsaWRhdGVTdGF0dXMgPSByZXNwb25zZS5jb25maWcudmFsaWRhdGVTdGF0dXM7XFxuICBpZiAoIXZhbGlkYXRlU3RhdHVzIHx8IHZhbGlkYXRlU3RhdHVzKHJlc3BvbnNlLnN0YXR1cykpIHtcXG4gICAgcmVzb2x2ZShyZXNwb25zZSk7XFxuICB9IGVsc2Uge1xcbiAgICByZWplY3QoY3JlYXRlRXJyb3IoXFxuICAgICAgJ1JlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJyArIHJlc3BvbnNlLnN0YXR1cyxcXG4gICAgICByZXNwb25zZS5jb25maWcsXFxuICAgICAgbnVsbCxcXG4gICAgICByZXNwb25zZS5yZXF1ZXN0LFxcbiAgICAgIHJlc3BvbnNlXFxuICAgICkpO1xcbiAgfVxcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOXpaWFIwYkdVdWFuTS9ORGsxT0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4clFrRkJhMElzYlVKQlFVOHNRMEZCUXl4dFJVRkJaVHM3UVVGRmVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhUUVVGVE8wRkJRM0JDTEZkQlFWY3NVMEZCVXp0QlFVTndRaXhYUVVGWExFOUJRVTg3UVVGRGJFSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMk52Y21VdmMyVjBkR3hsTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1kzSmxZWFJsUlhKeWIzSWdQU0J5WlhGMWFYSmxLQ2N1TDJOeVpXRjBaVVZ5Y205eUp5azdYRzVjYmk4cUtseHVJQ29nVW1WemIyeDJaU0J2Y2lCeVpXcGxZM1FnWVNCUWNtOXRhWE5sSUdKaGMyVmtJRzl1SUhKbGMzQnZibk5sSUhOMFlYUjFjeTVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0J5WlhOdmJIWmxJRUVnWm5WdVkzUnBiMjRnZEdoaGRDQnlaWE52YkhabGN5QjBhR1VnY0hKdmJXbHpaUzVjYmlBcUlFQndZWEpoYlNCN1JuVnVZM1JwYjI1OUlISmxhbVZqZENCQklHWjFibU4wYVc5dUlIUm9ZWFFnY21WcVpXTjBjeUIwYUdVZ2NISnZiV2x6WlM1Y2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnlaWE53YjI1elpTQlVhR1VnY21WemNHOXVjMlV1WEc0Z0tpOWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdjMlYwZEd4bEtISmxjMjlzZG1Vc0lISmxhbVZqZEN3Z2NtVnpjRzl1YzJVcElIdGNiaUFnZG1GeUlIWmhiR2xrWVhSbFUzUmhkSFZ6SUQwZ2NtVnpjRzl1YzJVdVkyOXVabWxuTG5aaGJHbGtZWFJsVTNSaGRIVnpPMXh1SUNCcFppQW9JWFpoYkdsa1lYUmxVM1JoZEhWeklIeDhJSFpoYkdsa1lYUmxVM1JoZEhWektISmxjM0J2Ym5ObExuTjBZWFIxY3lrcElIdGNiaUFnSUNCeVpYTnZiSFpsS0hKbGMzQnZibk5sS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCeVpXcGxZM1FvWTNKbFlYUmxSWEp5YjNJb1hHNGdJQ0FnSUNBblVtVnhkV1Z6ZENCbVlXbHNaV1FnZDJsMGFDQnpkR0YwZFhNZ1kyOWtaU0FuSUNzZ2NtVnpjRzl1YzJVdWMzUmhkSFZ6TEZ4dUlDQWdJQ0FnY21WemNHOXVjMlV1WTI5dVptbG5MRnh1SUNBZ0lDQWdiblZzYkN4Y2JpQWdJQ0FnSUhKbGMzQnZibk5sTG5KbGNYVmxjM1FzWEc0Z0lDQWdJQ0J5WlhOd2IyNXpaVnh1SUNBZ0lDa3BPMXh1SUNCOVhHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9zZXR0bGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS90cmFuc2Zvcm1EYXRhLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxuLyoqXFxuICogVHJhbnNmb3JtIHRoZSBkYXRhIGZvciBhIHJlcXVlc3Qgb3IgYSByZXNwb25zZVxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R8U3RyaW5nfSBkYXRhIFRoZSBkYXRhIHRvIGJlIHRyYW5zZm9ybWVkXFxuICogQHBhcmFtIHtBcnJheX0gaGVhZGVycyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3Qgb3IgcmVzcG9uc2VcXG4gKiBAcGFyYW0ge0FycmF5fEZ1bmN0aW9ufSBmbnMgQSBzaW5nbGUgZnVuY3Rpb24gb3IgQXJyYXkgb2YgZnVuY3Rpb25zXFxuICogQHJldHVybnMgeyp9IFRoZSByZXN1bHRpbmcgdHJhbnNmb3JtZWQgZGF0YVxcbiAqL1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gdHJhbnNmb3JtRGF0YShkYXRhLCBoZWFkZXJzLCBmbnMpIHtcXG4gIC8qZXNsaW50IG5vLXBhcmFtLXJlYXNzaWduOjAqL1xcbiAgdXRpbHMuZm9yRWFjaChmbnMsIGZ1bmN0aW9uIHRyYW5zZm9ybShmbikge1xcbiAgICBkYXRhID0gZm4oZGF0YSwgaGVhZGVycyk7XFxuICB9KTtcXG5cXG4gIHJldHVybiBkYXRhO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOTBjbUZ1YzJadmNtMUVZWFJoTG1welAyVmtaakFpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVdFN08wRkJSV0lzV1VGQldTeHRRa0ZCVHl4RFFVRkRMSEZFUVVGWk96dEJRVVZvUXp0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExHTkJRV003UVVGRGVrSXNWMEZCVnl4TlFVRk5PMEZCUTJwQ0xGZEJRVmNzWlVGQlpUdEJRVU14UWl4aFFVRmhMRVZCUVVVN1FVRkRaanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5amIzSmxMM1J5WVc1elptOXliVVJoZEdFdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQjFkR2xzY3lBOUlISmxjWFZwY21Vb0p5NHZMaTR2ZFhScGJITW5LVHRjYmx4dUx5b3FYRzRnS2lCVWNtRnVjMlp2Y20wZ2RHaGxJR1JoZEdFZ1ptOXlJR0VnY21WeGRXVnpkQ0J2Y2lCaElISmxjM0J2Ym5ObFhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0UFltcGxZM1I4VTNSeWFXNW5mU0JrWVhSaElGUm9aU0JrWVhSaElIUnZJR0psSUhSeVlXNXpabTl5YldWa1hHNGdLaUJBY0dGeVlXMGdlMEZ5Y21GNWZTQm9aV0ZrWlhKeklGUm9aU0JvWldGa1pYSnpJR1p2Y2lCMGFHVWdjbVZ4ZFdWemRDQnZjaUJ5WlhOd2IyNXpaVnh1SUNvZ1FIQmhjbUZ0SUh0QmNuSmhlWHhHZFc1amRHbHZibjBnWm01eklFRWdjMmx1WjJ4bElHWjFibU4wYVc5dUlHOXlJRUZ5Y21GNUlHOW1JR1oxYm1OMGFXOXVjMXh1SUNvZ1FISmxkSFZ5Ym5NZ2V5cDlJRlJvWlNCeVpYTjFiSFJwYm1jZ2RISmhibk5tYjNKdFpXUWdaR0YwWVZ4dUlDb3ZYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJSFJ5WVc1elptOXliVVJoZEdFb1pHRjBZU3dnYUdWaFpHVnljeXdnWm01ektTQjdYRzRnSUM4cVpYTnNhVzUwSUc1dkxYQmhjbUZ0TFhKbFlYTnphV2R1T2pBcUwxeHVJQ0IxZEdsc2N5NW1iM0pGWVdOb0tHWnVjeXdnWm5WdVkzUnBiMjRnZEhKaGJuTm1iM0p0S0dadUtTQjdYRzRnSUNBZ1pHRjBZU0E5SUdadUtHUmhkR0VzSUdobFlXUmxjbk1wTzF4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z1pHRjBZVHRjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvdHJhbnNmb3JtRGF0YS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvZGVmYXVsdHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7XFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIG5vcm1hbGl6ZUhlYWRlck5hbWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qc1xcXCIpO1xcblxcbnZhciBERUZBVUxUX0NPTlRFTlRfVFlQRSA9IHtcXG4gICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xcbn07XFxuXFxuZnVuY3Rpb24gc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsIHZhbHVlKSB7XFxuICBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGhlYWRlcnMpICYmIHV0aWxzLmlzVW5kZWZpbmVkKGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddKSkge1xcbiAgICBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9IHZhbHVlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXREZWZhdWx0QWRhcHRlcigpIHtcXG4gIHZhciBhZGFwdGVyO1xcbiAgLy8gT25seSBOb2RlLkpTIGhhcyBhIHByb2Nlc3MgdmFyaWFibGUgdGhhdCBpcyBvZiBbW0NsYXNzXV0gcHJvY2Vzc1xcbiAgaWYgKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykgPT09ICdbb2JqZWN0IHByb2Nlc3NdJykge1xcbiAgICAvLyBGb3Igbm9kZSB1c2UgSFRUUCBhZGFwdGVyXFxuICAgIGFkYXB0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FkYXB0ZXJzL2h0dHAgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9hZGFwdGVycy94aHIuanNcXFwiKTtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIFhNTEh0dHBSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAvLyBGb3IgYnJvd3NlcnMgdXNlIFhIUiBhZGFwdGVyXFxuICAgIGFkYXB0ZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FkYXB0ZXJzL3hociAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qc1xcXCIpO1xcbiAgfVxcbiAgcmV0dXJuIGFkYXB0ZXI7XFxufVxcblxcbnZhciBkZWZhdWx0cyA9IHtcXG4gIGFkYXB0ZXI6IGdldERlZmF1bHRBZGFwdGVyKCksXFxuXFxuICB0cmFuc2Zvcm1SZXF1ZXN0OiBbZnVuY3Rpb24gdHJhbnNmb3JtUmVxdWVzdChkYXRhLCBoZWFkZXJzKSB7XFxuICAgIG5vcm1hbGl6ZUhlYWRlck5hbWUoaGVhZGVycywgJ0FjY2VwdCcpO1xcbiAgICBub3JtYWxpemVIZWFkZXJOYW1lKGhlYWRlcnMsICdDb250ZW50LVR5cGUnKTtcXG4gICAgaWYgKHV0aWxzLmlzRm9ybURhdGEoZGF0YSkgfHxcXG4gICAgICB1dGlscy5pc0FycmF5QnVmZmVyKGRhdGEpIHx8XFxuICAgICAgdXRpbHMuaXNCdWZmZXIoZGF0YSkgfHxcXG4gICAgICB1dGlscy5pc1N0cmVhbShkYXRhKSB8fFxcbiAgICAgIHV0aWxzLmlzRmlsZShkYXRhKSB8fFxcbiAgICAgIHV0aWxzLmlzQmxvYihkYXRhKVxcbiAgICApIHtcXG4gICAgICByZXR1cm4gZGF0YTtcXG4gICAgfVxcbiAgICBpZiAodXRpbHMuaXNBcnJheUJ1ZmZlclZpZXcoZGF0YSkpIHtcXG4gICAgICByZXR1cm4gZGF0YS5idWZmZXI7XFxuICAgIH1cXG4gICAgaWYgKHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKGRhdGEpKSB7XFxuICAgICAgc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCcpO1xcbiAgICAgIHJldHVybiBkYXRhLnRvU3RyaW5nKCk7XFxuICAgIH1cXG4gICAgaWYgKHV0aWxzLmlzT2JqZWN0KGRhdGEpKSB7XFxuICAgICAgc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgnKTtcXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIGRhdGE7XFxuICB9XSxcXG5cXG4gIHRyYW5zZm9ybVJlc3BvbnNlOiBbZnVuY3Rpb24gdHJhbnNmb3JtUmVzcG9uc2UoZGF0YSkge1xcbiAgICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xcbiAgICAgIHRyeSB7XFxuICAgICAgICBkYXRhID0gSlNPTi5wYXJzZShkYXRhKTtcXG4gICAgICB9IGNhdGNoIChlKSB7IC8qIElnbm9yZSAqLyB9XFxuICAgIH1cXG4gICAgcmV0dXJuIGRhdGE7XFxuICB9XSxcXG5cXG4gIC8qKlxcbiAgICogQSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0byBhYm9ydCBhIHJlcXVlc3QuIElmIHNldCB0byAwIChkZWZhdWx0KSBhXFxuICAgKiB0aW1lb3V0IGlzIG5vdCBjcmVhdGVkLlxcbiAgICovXFxuICB0aW1lb3V0OiAwLFxcblxcbiAgeHNyZkNvb2tpZU5hbWU6ICdYU1JGLVRPS0VOJyxcXG4gIHhzcmZIZWFkZXJOYW1lOiAnWC1YU1JGLVRPS0VOJyxcXG5cXG4gIG1heENvbnRlbnRMZW5ndGg6IC0xLFxcblxcbiAgdmFsaWRhdGVTdGF0dXM6IGZ1bmN0aW9uIHZhbGlkYXRlU3RhdHVzKHN0YXR1cykge1xcbiAgICByZXR1cm4gc3RhdHVzID49IDIwMCAmJiBzdGF0dXMgPCAzMDA7XFxuICB9XFxufTtcXG5cXG5kZWZhdWx0cy5oZWFkZXJzID0ge1xcbiAgY29tbW9uOiB7XFxuICAgICdBY2NlcHQnOiAnYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qJ1xcbiAgfVxcbn07XFxuXFxudXRpbHMuZm9yRWFjaChbJ2RlbGV0ZScsICdnZXQnLCAnaGVhZCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xcbiAgZGVmYXVsdHMuaGVhZGVyc1ttZXRob2RdID0ge307XFxufSk7XFxuXFxudXRpbHMuZm9yRWFjaChbJ3Bvc3QnLCAncHV0JywgJ3BhdGNoJ10sIGZ1bmN0aW9uIGZvckVhY2hNZXRob2RXaXRoRGF0YShtZXRob2QpIHtcXG4gIGRlZmF1bHRzLmhlYWRlcnNbbWV0aG9kXSA9IHV0aWxzLm1lcmdlKERFRkFVTFRfQ09OVEVOVF9UWVBFKTtcXG59KTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGRlZmF1bHRzO1xcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlpHVm1ZWFZzZEhNdWFuTS9OemhtWWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTd3JRMEZCWVRzN1FVRkZZaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNhMFJCUVZNN1FVRkROMElzTUVKQlFUQkNMRzFDUVVGUExFTkJRVU1zT0VaQlFTdENPenRCUVVWcVJUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWTBGQll5eHRRa0ZCVHl4RFFVRkRMR2xGUVVGcFFqdEJRVU4yUXl4SFFVRkhPMEZCUTBnN1FVRkRRU3hqUVVGakxHMUNRVUZQTEVOQlFVTXNaMFZCUVdkQ08wRkJRM1JETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBWQlFYZEZPMEZCUTNoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWRVFVRjFSRHRCUVVOMlJEdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBMRmxCUVZrN1FVRkRia0k3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVFpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMlJsWm1GMWJIUnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TDNWMGFXeHpKeWs3WEc1MllYSWdibTl5YldGc2FYcGxTR1ZoWkdWeVRtRnRaU0E5SUhKbGNYVnBjbVVvSnk0dmFHVnNjR1Z5Y3k5dWIzSnRZV3hwZW1WSVpXRmtaWEpPWVcxbEp5azdYRzVjYm5aaGNpQkVSVVpCVlV4VVgwTlBUbFJGVGxSZlZGbFFSU0E5SUh0Y2JpQWdKME52Ym5SbGJuUXRWSGx3WlNjNklDZGhjSEJzYVdOaGRHbHZiaTk0TFhkM2R5MW1iM0p0TFhWeWJHVnVZMjlrWldRblhHNTlPMXh1WEc1bWRXNWpkR2x2YmlCelpYUkRiMjUwWlc1MFZIbHdaVWxtVlc1elpYUW9hR1ZoWkdWeWN5d2dkbUZzZFdVcElIdGNiaUFnYVdZZ0tDRjFkR2xzY3k1cGMxVnVaR1ZtYVc1bFpDaG9aV0ZrWlhKektTQW1KaUIxZEdsc2N5NXBjMVZ1WkdWbWFXNWxaQ2hvWldGa1pYSnpXeWREYjI1MFpXNTBMVlI1Y0dVblhTa3BJSHRjYmlBZ0lDQm9aV0ZrWlhKeld5ZERiMjUwWlc1MExWUjVjR1VuWFNBOUlIWmhiSFZsTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRVJsWm1GMWJIUkJaR0Z3ZEdWeUtDa2dlMXh1SUNCMllYSWdZV1JoY0hSbGNqdGNiaUFnTHk4Z1QyNXNlU0JPYjJSbExrcFRJR2hoY3lCaElIQnliMk5sYzNNZ2RtRnlhV0ZpYkdVZ2RHaGhkQ0JwY3lCdlppQmJXME5zWVhOelhWMGdjSEp2WTJWemMxeHVJQ0JwWmlBb2RIbHdaVzltSUhCeWIyTmxjM01nSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1ZEc5VGRISnBibWN1WTJGc2JDaHdjbTlqWlhOektTQTlQVDBnSjF0dlltcGxZM1FnY0hKdlkyVnpjMTBuS1NCN1hHNGdJQ0FnTHk4Z1JtOXlJRzV2WkdVZ2RYTmxJRWhVVkZBZ1lXUmhjSFJsY2x4dUlDQWdJR0ZrWVhCMFpYSWdQU0J5WlhGMWFYSmxLQ2N1TDJGa1lYQjBaWEp6TDJoMGRIQW5LVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ1dFMU1TSFIwY0ZKbGNYVmxjM1FnSVQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdMeThnUm05eUlHSnliM2R6WlhKeklIVnpaU0JZU0ZJZ1lXUmhjSFJsY2x4dUlDQWdJR0ZrWVhCMFpYSWdQU0J5WlhGMWFYSmxLQ2N1TDJGa1lYQjBaWEp6TDNob2NpY3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQmhaR0Z3ZEdWeU8xeHVmVnh1WEc1MllYSWdaR1ZtWVhWc2RITWdQU0I3WEc0Z0lHRmtZWEIwWlhJNklHZGxkRVJsWm1GMWJIUkJaR0Z3ZEdWeUtDa3NYRzVjYmlBZ2RISmhibk5tYjNKdFVtVnhkV1Z6ZERvZ1cyWjFibU4wYVc5dUlIUnlZVzV6Wm05eWJWSmxjWFZsYzNRb1pHRjBZU3dnYUdWaFpHVnljeWtnZTF4dUlDQWdJRzV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1VvYUdWaFpHVnljeXdnSjBGalkyVndkQ2NwTzF4dUlDQWdJRzV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1VvYUdWaFpHVnljeXdnSjBOdmJuUmxiblF0Vkhsd1pTY3BPMXh1SUNBZ0lHbG1JQ2gxZEdsc2N5NXBjMFp2Y20xRVlYUmhLR1JoZEdFcElIeDhYRzRnSUNBZ0lDQjFkR2xzY3k1cGMwRnljbUY1UW5WbVptVnlLR1JoZEdFcElIeDhYRzRnSUNBZ0lDQjFkR2xzY3k1cGMwSjFabVpsY2loa1lYUmhLU0I4ZkZ4dUlDQWdJQ0FnZFhScGJITXVhWE5UZEhKbFlXMG9aR0YwWVNrZ2ZIeGNiaUFnSUNBZ0lIVjBhV3h6TG1selJtbHNaU2hrWVhSaEtTQjhmRnh1SUNBZ0lDQWdkWFJwYkhNdWFYTkNiRzlpS0dSaGRHRXBYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1pHRjBZVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSFYwYVd4ekxtbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM0tHUmhkR0VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWkdGMFlTNWlkV1ptWlhJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMWRHbHNjeTVwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeWhrWVhSaEtTa2dlMXh1SUNBZ0lDQWdjMlYwUTI5dWRHVnVkRlI1Y0dWSlpsVnVjMlYwS0dobFlXUmxjbk1zSUNkaGNIQnNhV05oZEdsdmJpOTRMWGQzZHkxbWIzSnRMWFZ5YkdWdVkyOWtaV1E3WTJoaGNuTmxkRDExZEdZdE9DY3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHUmhkR0V1ZEc5VGRISnBibWNvS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hWMGFXeHpMbWx6VDJKcVpXTjBLR1JoZEdFcEtTQjdYRzRnSUNBZ0lDQnpaWFJEYjI1MFpXNTBWSGx3WlVsbVZXNXpaWFFvYUdWaFpHVnljeXdnSjJGd2NHeHBZMkYwYVc5dUwycHpiMjQ3WTJoaGNuTmxkRDExZEdZdE9DY3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0dSaGRHRXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWkdGMFlUdGNiaUFnZlYwc1hHNWNiaUFnZEhKaGJuTm1iM0p0VW1WemNHOXVjMlU2SUZ0bWRXNWpkR2x2YmlCMGNtRnVjMlp2Y20xU1pYTndiMjV6WlNoa1lYUmhLU0I3WEc0Z0lDQWdMeXBsYzJ4cGJuUWdibTh0Y0dGeVlXMHRjbVZoYzNOcFoyNDZNQ292WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJrWVhSaElEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdaR0YwWVNBOUlFcFRUMDR1Y0dGeWMyVW9aR0YwWVNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJQzhxSUVsbmJtOXlaU0FxTHlCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmtZWFJoTzF4dUlDQjlYU3hjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRU0IwYVcxbGIzVjBJR2x1SUcxcGJHeHBjMlZqYjI1a2N5QjBieUJoWW05eWRDQmhJSEpsY1hWbGMzUXVJRWxtSUhObGRDQjBieUF3SUNoa1pXWmhkV3gwS1NCaFhHNGdJQ0FxSUhScGJXVnZkWFFnYVhNZ2JtOTBJR055WldGMFpXUXVYRzRnSUNBcUwxeHVJQ0IwYVcxbGIzVjBPaUF3TEZ4dVhHNGdJSGh6Y21aRGIyOXJhV1ZPWVcxbE9pQW5XRk5TUmkxVVQwdEZUaWNzWEc0Z0lIaHpjbVpJWldGa1pYSk9ZVzFsT2lBbldDMVlVMUpHTFZSUFMwVk9KeXhjYmx4dUlDQnRZWGhEYjI1MFpXNTBUR1Z1WjNSb09pQXRNU3hjYmx4dUlDQjJZV3hwWkdGMFpWTjBZWFIxY3pvZ1puVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGRHRjBkWE1vYzNSaGRIVnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlITjBZWFIxY3lBK1BTQXlNREFnSmlZZ2MzUmhkSFZ6SUR3Z016QXdPMXh1SUNCOVhHNTlPMXh1WEc1a1pXWmhkV3gwY3k1b1pXRmtaWEp6SUQwZ2UxeHVJQ0JqYjIxdGIyNDZJSHRjYmlBZ0lDQW5RV05qWlhCMEp6b2dKMkZ3Y0d4cFkyRjBhVzl1TDJwemIyNHNJSFJsZUhRdmNHeGhhVzRzSUNvdktpZGNiaUFnZlZ4dWZUdGNibHh1ZFhScGJITXVabTl5UldGamFDaGJKMlJsYkdWMFpTY3NJQ2RuWlhRbkxDQW5hR1ZoWkNkZExDQm1kVzVqZEdsdmJpQm1iM0pGWVdOb1RXVjBhRzlrVG05RVlYUmhLRzFsZEdodlpDa2dlMXh1SUNCa1pXWmhkV3gwY3k1b1pXRmtaWEp6VzIxbGRHaHZaRjBnUFNCN2ZUdGNibjBwTzF4dVhHNTFkR2xzY3k1bWIzSkZZV05vS0ZzbmNHOXpkQ2NzSUNkd2RYUW5MQ0FuY0dGMFkyZ25YU3dnWm5WdVkzUnBiMjRnWm05eVJXRmphRTFsZEdodlpGZHBkR2hFWVhSaEtHMWxkR2h2WkNrZ2UxeHVJQ0JrWldaaGRXeDBjeTVvWldGa1pYSnpXMjFsZEdodlpGMGdQU0IxZEdsc2N5NXRaWEpuWlNoRVJVWkJWVXhVWDBOUFRsUkZUbFJmVkZsUVJTazdYRzU5S1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmtaV1poZFd4MGN6dGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9kZWZhdWx0cy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYmluZC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGJpbmQoZm4sIHRoaXNBcmcpIHtcXG4gIHJldHVybiBmdW5jdGlvbiB3cmFwKCkge1xcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcXG4gICAgfVxcbiAgICByZXR1cm4gZm4uYXBwbHkodGhpc0FyZywgYXJncyk7XFxuICB9O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlpYVc1a0xtcHpQMlJsTWpFaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2xDUVVGcFFqdEJRVU53UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5b1pXeHdaWEp6TDJKcGJtUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z1ltbHVaQ2htYml3Z2RHaHBjMEZ5WnlrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdkM0poY0NncElIdGNiaUFnSUNCMllYSWdZWEpuY3lBOUlHNWxkeUJCY25KaGVTaGhjbWQxYldWdWRITXViR1Z1WjNSb0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHRnlaM011YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lHRnlaM05iYVYwZ1BTQmhjbWQxYldWdWRITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCbWJpNWhjSEJzZVNoMGFHbHpRWEpuTENCaGNtZHpLVHRjYmlBZ2ZUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9iaW5kLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBlbmNvZGUodmFsKSB7XFxuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHZhbCkuXFxuICAgIHJlcGxhY2UoLyU0MC9naSwgJ0AnKS5cXG4gICAgcmVwbGFjZSgvJTNBL2dpLCAnOicpLlxcbiAgICByZXBsYWNlKC8lMjQvZywgJyQnKS5cXG4gICAgcmVwbGFjZSgvJTJDL2dpLCAnLCcpLlxcbiAgICByZXBsYWNlKC8lMjAvZywgJysnKS5cXG4gICAgcmVwbGFjZSgvJTVCL2dpLCAnWycpLlxcbiAgICByZXBsYWNlKC8lNUQvZ2ksICddJyk7XFxufVxcblxcbi8qKlxcbiAqIEJ1aWxkIGEgVVJMIGJ5IGFwcGVuZGluZyBwYXJhbXMgdG8gdGhlIGVuZFxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBUaGUgYmFzZSBvZiB0aGUgdXJsIChlLmcuLCBodHRwOi8vd3d3Lmdvb2dsZS5jb20pXFxuICogQHBhcmFtIHtvYmplY3R9IFtwYXJhbXNdIFRoZSBwYXJhbXMgdG8gYmUgYXBwZW5kZWRcXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZm9ybWF0dGVkIHVybFxcbiAqL1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gYnVpbGRVUkwodXJsLCBwYXJhbXMsIHBhcmFtc1NlcmlhbGl6ZXIpIHtcXG4gIC8qZXNsaW50IG5vLXBhcmFtLXJlYXNzaWduOjAqL1xcbiAgaWYgKCFwYXJhbXMpIHtcXG4gICAgcmV0dXJuIHVybDtcXG4gIH1cXG5cXG4gIHZhciBzZXJpYWxpemVkUGFyYW1zO1xcbiAgaWYgKHBhcmFtc1NlcmlhbGl6ZXIpIHtcXG4gICAgc2VyaWFsaXplZFBhcmFtcyA9IHBhcmFtc1NlcmlhbGl6ZXIocGFyYW1zKTtcXG4gIH0gZWxzZSBpZiAodXRpbHMuaXNVUkxTZWFyY2hQYXJhbXMocGFyYW1zKSkge1xcbiAgICBzZXJpYWxpemVkUGFyYW1zID0gcGFyYW1zLnRvU3RyaW5nKCk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgcGFydHMgPSBbXTtcXG5cXG4gICAgdXRpbHMuZm9yRWFjaChwYXJhbXMsIGZ1bmN0aW9uIHNlcmlhbGl6ZSh2YWwsIGtleSkge1xcbiAgICAgIGlmICh2YWwgPT09IG51bGwgfHwgdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHV0aWxzLmlzQXJyYXkodmFsKSkge1xcbiAgICAgICAga2V5ID0ga2V5ICsgJ1tdJztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFsID0gW3ZhbF07XFxuICAgICAgfVxcblxcbiAgICAgIHV0aWxzLmZvckVhY2godmFsLCBmdW5jdGlvbiBwYXJzZVZhbHVlKHYpIHtcXG4gICAgICAgIGlmICh1dGlscy5pc0RhdGUodikpIHtcXG4gICAgICAgICAgdiA9IHYudG9JU09TdHJpbmcoKTtcXG4gICAgICAgIH0gZWxzZSBpZiAodXRpbHMuaXNPYmplY3QodikpIHtcXG4gICAgICAgICAgdiA9IEpTT04uc3RyaW5naWZ5KHYpO1xcbiAgICAgICAgfVxcbiAgICAgICAgcGFydHMucHVzaChlbmNvZGUoa2V5KSArICc9JyArIGVuY29kZSh2KSk7XFxuICAgICAgfSk7XFxuICAgIH0pO1xcblxcbiAgICBzZXJpYWxpemVkUGFyYW1zID0gcGFydHMuam9pbignJicpO1xcbiAgfVxcblxcbiAgaWYgKHNlcmlhbGl6ZWRQYXJhbXMpIHtcXG4gICAgdmFyIGhhc2htYXJrSW5kZXggPSB1cmwuaW5kZXhPZignIycpO1xcbiAgICBpZiAoaGFzaG1hcmtJbmRleCAhPT0gLTEpIHtcXG4gICAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaG1hcmtJbmRleCk7XFxuICAgIH1cXG5cXG4gICAgdXJsICs9ICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyBzZXJpYWxpemVkUGFyYW1zO1xcbiAgfVxcblxcbiAgcmV0dXJuIHVybDtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5aWRXbHNaRlZTVEM1cWN6ODJNVEpsSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZsQlFWa3NiVUpCUVU4c1EwRkJReXh4UkVGQldUczdRVUZGYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzVDBGQlR6dEJRVU5zUWl4aFFVRmhMRTlCUVU4N1FVRkRjRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJMRWRCUVVjN1FVRkRTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVQ3hMUVVGTE96dEJRVVZNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZZblZwYkdSVlVrd3Vhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2TGk0dmRYUnBiSE1uS1R0Y2JseHVablZ1WTNScGIyNGdaVzVqYjJSbEtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z1pXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtIWmhiQ2t1WEc0Z0lDQWdjbVZ3YkdGalpTZ3ZKVFF3TDJkcExDQW5RQ2NwTGx4dUlDQWdJSEpsY0d4aFkyVW9MeVV6UVM5bmFTd2dKem9uS1M1Y2JpQWdJQ0J5WlhCc1lXTmxLQzhsTWpRdlp5d2dKeVFuS1M1Y2JpQWdJQ0J5WlhCc1lXTmxLQzhsTWtNdloya3NJQ2NzSnlrdVhHNGdJQ0FnY21Wd2JHRmpaU2d2SlRJd0wyY3NJQ2NySnlrdVhHNGdJQ0FnY21Wd2JHRmpaU2d2SlRWQ0wyZHBMQ0FuV3ljcExseHVJQ0FnSUhKbGNHeGhZMlVvTHlVMVJDOW5hU3dnSjEwbktUdGNibjFjYmx4dUx5b3FYRzRnS2lCQ2RXbHNaQ0JoSUZWU1RDQmllU0JoY0hCbGJtUnBibWNnY0dGeVlXMXpJSFJ2SUhSb1pTQmxibVJjYmlBcVhHNGdLaUJBY0dGeVlXMGdlM04wY21sdVozMGdkWEpzSUZSb1pTQmlZWE5sSUc5bUlIUm9aU0IxY213Z0tHVXVaeTRzSUdoMGRIQTZMeTkzZDNjdVoyOXZaMnhsTG1OdmJTbGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JiY0dGeVlXMXpYU0JVYUdVZ2NHRnlZVzF6SUhSdklHSmxJR0Z3Y0dWdVpHVmtYRzRnS2lCQWNtVjBkWEp1Y3lCN2MzUnlhVzVuZlNCVWFHVWdabTl5YldGMGRHVmtJSFZ5YkZ4dUlDb3ZYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJR0oxYVd4a1ZWSk1LSFZ5YkN3Z2NHRnlZVzF6TENCd1lYSmhiWE5UWlhKcFlXeHBlbVZ5S1NCN1hHNGdJQzhxWlhOc2FXNTBJRzV2TFhCaGNtRnRMWEpsWVhOemFXZHVPakFxTDF4dUlDQnBaaUFvSVhCaGNtRnRjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjFjbXc3WEc0Z0lIMWNibHh1SUNCMllYSWdjMlZ5YVdGc2FYcGxaRkJoY21GdGN6dGNiaUFnYVdZZ0tIQmhjbUZ0YzFObGNtbGhiR2w2WlhJcElIdGNiaUFnSUNCelpYSnBZV3hwZW1Wa1VHRnlZVzF6SUQwZ2NHRnlZVzF6VTJWeWFXRnNhWHBsY2lod1lYSmhiWE1wTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFYwYVd4ekxtbHpWVkpNVTJWaGNtTm9VR0Z5WVcxektIQmhjbUZ0Y3lrcElIdGNiaUFnSUNCelpYSnBZV3hwZW1Wa1VHRnlZVzF6SUQwZ2NHRnlZVzF6TG5SdlUzUnlhVzVuS0NrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJSEJoY25SeklEMGdXMTA3WEc1Y2JpQWdJQ0IxZEdsc2N5NW1iM0pGWVdOb0tIQmhjbUZ0Y3l3Z1puVnVZM1JwYjI0Z2MyVnlhV0ZzYVhwbEtIWmhiQ3dnYTJWNUtTQjdYRzRnSUNBZ0lDQnBaaUFvZG1Gc0lEMDlQU0J1ZFd4c0lIeDhJSFI1Y0dWdlppQjJZV3dnUFQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIVjBhV3h6TG1selFYSnlZWGtvZG1Gc0tTa2dlMXh1SUNBZ0lDQWdJQ0JyWlhrZ1BTQnJaWGtnS3lBblcxMG5PMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkbUZzSUQwZ1czWmhiRjA3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhWMGFXeHpMbVp2Y2tWaFkyZ29kbUZzTENCbWRXNWpkR2x2YmlCd1lYSnpaVlpoYkhWbEtIWXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIVjBhV3h6TG1selJHRjBaU2gyS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFlnUFNCMkxuUnZTVk5QVTNSeWFXNW5LQ2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RYUnBiSE11YVhOUFltcGxZM1FvZGlrcElIdGNiaUFnSUNBZ0lDQWdJQ0IySUQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvZGlrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjR0Z5ZEhNdWNIVnphQ2hsYm1OdlpHVW9hMlY1S1NBcklDYzlKeUFySUdWdVkyOWtaU2gyS1NrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lITmxjbWxoYkdsNlpXUlFZWEpoYlhNZ1BTQndZWEowY3k1cWIybHVLQ2NtSnlrN1hHNGdJSDFjYmx4dUlDQnBaaUFvYzJWeWFXRnNhWHBsWkZCaGNtRnRjeWtnZTF4dUlDQWdJSFpoY2lCb1lYTm9iV0Z5YTBsdVpHVjRJRDBnZFhKc0xtbHVaR1Y0VDJZb0p5TW5LVHRjYmlBZ0lDQnBaaUFvYUdGemFHMWhjbXRKYm1SbGVDQWhQVDBnTFRFcElIdGNiaUFnSUNBZ0lIVnliQ0E5SUhWeWJDNXpiR2xqWlNnd0xDQm9ZWE5vYldGeWEwbHVaR1Y0S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IxY213Z0t6MGdLSFZ5YkM1cGJtUmxlRTltS0NjL0p5a2dQVDA5SUMweElEOGdKejhuSURvZ0p5WW5LU0FySUhObGNtbGhiR2w2WldSUVlYSmhiWE03WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZFhKc08xeHVmVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9idWlsZFVSTC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuLyoqXFxuICogQ3JlYXRlcyBhIG5ldyBVUkwgYnkgY29tYmluaW5nIHRoZSBzcGVjaWZpZWQgVVJMc1xcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IGJhc2VVUkwgVGhlIGJhc2UgVVJMXFxuICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlVVJMIFRoZSByZWxhdGl2ZSBVUkxcXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgY29tYmluZWQgVVJMXFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjb21iaW5lVVJMcyhiYXNlVVJMLCByZWxhdGl2ZVVSTCkge1xcbiAgcmV0dXJuIHJlbGF0aXZlVVJMXFxuICAgID8gYmFzZVVSTC5yZXBsYWNlKC9cXFxcLyskLywgJycpICsgJy8nICsgcmVsYXRpdmVVUkwucmVwbGFjZSgvXlxcXFwvKy8sICcnKVxcbiAgICA6IGJhc2VVUkw7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OWpiMjFpYVc1bFZWSk1jeTVxY3o4Mk5UbGlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFBRVUZQTzBGQlEzQkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5amIyMWlhVzVsVlZKTWN5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdFZ2JtVjNJRlZTVENCaWVTQmpiMjFpYVc1cGJtY2dkR2hsSUhOd1pXTnBabWxsWkNCVlVreHpYRzRnS2x4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHSmhjMlZWVWt3Z1ZHaGxJR0poYzJVZ1ZWSk1YRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnY21Wc1lYUnBkbVZWVWt3Z1ZHaGxJSEpsYkdGMGFYWmxJRlZTVEZ4dUlDb2dRSEpsZEhWeWJuTWdlM04wY21sdVozMGdWR2hsSUdOdmJXSnBibVZrSUZWU1RGeHVJQ292WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUdOdmJXSnBibVZWVWt4ektHSmhjMlZWVWt3c0lISmxiR0YwYVhabFZWSk1LU0I3WEc0Z0lISmxkSFZ5YmlCeVpXeGhkR2wyWlZWU1RGeHVJQ0FnSUQ4Z1ltRnpaVlZTVEM1eVpYQnNZV05sS0M5Y1hDOHJKQzhzSUNjbktTQXJJQ2N2SnlBcklISmxiR0YwYVhabFZWSk1MbkpsY0d4aFkyVW9MMTVjWEM4ckx5d2dKeWNwWEc0Z0lDQWdPaUJpWVhObFZWSk1PMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2Nvb2tpZXMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb29raWVzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSAoXFxuICB1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpID9cXG5cXG4gIC8vIFN0YW5kYXJkIGJyb3dzZXIgZW52cyBzdXBwb3J0IGRvY3VtZW50LmNvb2tpZVxcbiAgICAoZnVuY3Rpb24gc3RhbmRhcmRCcm93c2VyRW52KCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICB3cml0ZTogZnVuY3Rpb24gd3JpdGUobmFtZSwgdmFsdWUsIGV4cGlyZXMsIHBhdGgsIGRvbWFpbiwgc2VjdXJlKSB7XFxuICAgICAgICAgIHZhciBjb29raWUgPSBbXTtcXG4gICAgICAgICAgY29va2llLnB1c2gobmFtZSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkpO1xcblxcbiAgICAgICAgICBpZiAodXRpbHMuaXNOdW1iZXIoZXhwaXJlcykpIHtcXG4gICAgICAgICAgICBjb29raWUucHVzaCgnZXhwaXJlcz0nICsgbmV3IERhdGUoZXhwaXJlcykudG9HTVRTdHJpbmcoKSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKHV0aWxzLmlzU3RyaW5nKHBhdGgpKSB7XFxuICAgICAgICAgICAgY29va2llLnB1c2goJ3BhdGg9JyArIHBhdGgpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGlmICh1dGlscy5pc1N0cmluZyhkb21haW4pKSB7XFxuICAgICAgICAgICAgY29va2llLnB1c2goJ2RvbWFpbj0nICsgZG9tYWluKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAoc2VjdXJlID09PSB0cnVlKSB7XFxuICAgICAgICAgICAgY29va2llLnB1c2goJ3NlY3VyZScpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZS5qb2luKCc7ICcpO1xcbiAgICAgICAgfSxcXG5cXG4gICAgICAgIHJlYWQ6IGZ1bmN0aW9uIHJlYWQobmFtZSkge1xcbiAgICAgICAgICB2YXIgbWF0Y2ggPSBkb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cCgnKF58O1xcXFxcXFxccyopKCcgKyBuYW1lICsgJyk9KFteO10qKScpKTtcXG4gICAgICAgICAgcmV0dXJuIChtYXRjaCA/IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaFszXSkgOiBudWxsKTtcXG4gICAgICAgIH0sXFxuXFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZShuYW1lKSB7XFxuICAgICAgICAgIHRoaXMud3JpdGUobmFtZSwgJycsIERhdGUubm93KCkgLSA4NjQwMDAwMCk7XFxuICAgICAgICB9XFxuICAgICAgfTtcXG4gICAgfSkoKSA6XFxuXFxuICAvLyBOb24gc3RhbmRhcmQgYnJvd3NlciBlbnYgKHdlYiB3b3JrZXJzLCByZWFjdC1uYXRpdmUpIGxhY2sgbmVlZGVkIHN1cHBvcnQuXFxuICAgIChmdW5jdGlvbiBub25TdGFuZGFyZEJyb3dzZXJFbnYoKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIHdyaXRlOiBmdW5jdGlvbiB3cml0ZSgpIHt9LFxcbiAgICAgICAgcmVhZDogZnVuY3Rpb24gcmVhZCgpIHsgcmV0dXJuIG51bGw7IH0sXFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHt9XFxuICAgICAgfTtcXG4gICAgfSkoKVxcbik7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlqYjI5cmFXVnpMbXB6UDJFek1UZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNXVUZCV1N4dFFrRkJUeXhEUVVGRExIRkVRVUZaT3p0QlFVVm9RenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNNRU5CUVRCRE8wRkJRekZETEZOQlFWTTdPMEZCUlZRN1FVRkRRU3cwUkVGQk5FUXNkMEpCUVhkQ08wRkJRM0JHTzBGQlEwRXNVMEZCVXpzN1FVRkZWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHRCUVVOQk8wRkJRMEVzYTBOQlFXdERPMEZCUTJ4RExDdENRVUVyUWl4aFFVRmhMRVZCUVVVN1FVRkRPVU03UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVENJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlqYjI5cmFXVnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1THk0dUwzVjBhV3h6SnlrN1hHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdLRnh1SUNCMWRHbHNjeTVwYzFOMFlXNWtZWEprUW5KdmQzTmxja1Z1ZGlncElEOWNibHh1SUNBdkx5QlRkR0Z1WkdGeVpDQmljbTkzYzJWeUlHVnVkbk1nYzNWd2NHOXlkQ0JrYjJOMWJXVnVkQzVqYjI5cmFXVmNiaUFnSUNBb1puVnVZM1JwYjI0Z2MzUmhibVJoY21SQ2NtOTNjMlZ5Ulc1MktDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdkM0pwZEdVNklHWjFibU4wYVc5dUlIZHlhWFJsS0c1aGJXVXNJSFpoYkhWbExDQmxlSEJwY21WekxDQndZWFJvTENCa2IyMWhhVzRzSUhObFkzVnlaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJqYjI5cmFXVWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjlyYVdVdWNIVnphQ2h1WVcxbElDc2dKejBuSUNzZ1pXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtIWmhiSFZsS1NrN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RYUnBiSE11YVhOT2RXMWlaWElvWlhod2FYSmxjeWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052YjJ0cFpTNXdkWE5vS0NkbGVIQnBjbVZ6UFNjZ0t5QnVaWGNnUkdGMFpTaGxlSEJwY21WektTNTBiMGROVkZOMGNtbHVaeWdwS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kWFJwYkhNdWFYTlRkSEpwYm1jb2NHRjBhQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052YjJ0cFpTNXdkWE5vS0Nkd1lYUm9QU2NnS3lCd1lYUm9LVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RYUnBiSE11YVhOVGRISnBibWNvWkc5dFlXbHVLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl2YTJsbExuQjFjMmdvSjJSdmJXRnBiajBuSUNzZ1pHOXRZV2x1S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9jMlZqZFhKbElEMDlQU0IwY25WbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyOXJhV1V1Y0hWemFDZ25jMlZqZFhKbEp5azdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdaRzlqZFcxbGJuUXVZMjl2YTJsbElEMGdZMjl2YTJsbExtcHZhVzRvSnpzZ0p5azdYRzRnSUNBZ0lDQWdJSDBzWEc1Y2JpQWdJQ0FnSUNBZ2NtVmhaRG9nWm5WdVkzUnBiMjRnY21WaFpDaHVZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUcxaGRHTm9JRDBnWkc5amRXMWxiblF1WTI5dmEybGxMbTFoZEdOb0tHNWxkeUJTWldkRmVIQW9KeWhlZkR0Y1hGeGNjeW9wS0NjZ0t5QnVZVzFsSUNzZ0p5azlLRnRlTzEwcUtTY3BLVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnS0cxaGRHTm9JRDhnWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwS0cxaGRHTm9Xek5kS1NBNklHNTFiR3dwTzF4dUlDQWdJQ0FnSUNCOUxGeHVYRzRnSUNBZ0lDQWdJSEpsYlc5MlpUb2dablZ1WTNScGIyNGdjbVZ0YjNabEtHNWhiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG5keWFYUmxLRzVoYldVc0lDY25MQ0JFWVhSbExtNXZkeWdwSUMwZ09EWTBNREF3TURBcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMHBLQ2tnT2x4dVhHNGdJQzh2SUU1dmJpQnpkR0Z1WkdGeVpDQmljbTkzYzJWeUlHVnVkaUFvZDJWaUlIZHZjbXRsY25Nc0lISmxZV04wTFc1aGRHbDJaU2tnYkdGamF5QnVaV1ZrWldRZ2MzVndjRzl5ZEM1Y2JpQWdJQ0FvWm5WdVkzUnBiMjRnYm05dVUzUmhibVJoY21SQ2NtOTNjMlZ5Ulc1MktDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdkM0pwZEdVNklHWjFibU4wYVc5dUlIZHlhWFJsS0NrZ2UzMHNYRzRnSUNBZ0lDQWdJSEpsWVdRNklHWjFibU4wYVc5dUlISmxZV1FvS1NCN0lISmxkSFZ5YmlCdWRXeHNPeUI5TEZ4dUlDQWdJQ0FnSUNCeVpXMXZkbVU2SUdaMWJtTjBhVzl1SUhKbGJXOTJaU2dwSUh0OVhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwcEtDbGNiaWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9jb29raWVzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qKlxcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgc3BlY2lmaWVkIFVSTCBpcyBhYnNvbHV0ZVxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBUaGUgVVJMIHRvIHRlc3RcXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgc3BlY2lmaWVkIFVSTCBpcyBhYnNvbHV0ZSwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0Fic29sdXRlVVJMKHVybCkge1xcbiAgLy8gQSBVUkwgaXMgY29uc2lkZXJlZCBhYnNvbHV0ZSBpZiBpdCBiZWdpbnMgd2l0aCBcXFwiPHNjaGVtZT46Ly9cXFwiIG9yIFxcXCIvL1xcXCIgKHByb3RvY29sLXJlbGF0aXZlIFVSTCkuXFxuICAvLyBSRkMgMzk4NiBkZWZpbmVzIHNjaGVtZSBuYW1lIGFzIGEgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycyBiZWdpbm5pbmcgd2l0aCBhIGxldHRlciBhbmQgZm9sbG93ZWRcXG4gIC8vIGJ5IGFueSBjb21iaW5hdGlvbiBvZiBsZXR0ZXJzLCBkaWdpdHMsIHBsdXMsIHBlcmlvZCwgb3IgaHlwaGVuLlxcbiAgcmV0dXJuIC9eKFthLXpdW2EtelxcXFxkXFxcXCtcXFxcLVxcXFwuXSo6KT9cXFxcL1xcXFwvL2kudGVzdCh1cmwpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlwYzBGaWMyOXNkWFJsVlZKTUxtcHpQelkwTW1NaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1VVRkJVVHRCUVVOeVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OXBjMEZpYzI5c2RYUmxWVkpNTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2lwY2JpQXFJRVJsZEdWeWJXbHVaWE1nZDJobGRHaGxjaUIwYUdVZ2MzQmxZMmxtYVdWa0lGVlNUQ0JwY3lCaFluTnZiSFYwWlZ4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IxY213Z1ZHaGxJRlZTVENCMGJ5QjBaWE4wWEc0Z0tpQkFjbVYwZFhKdWN5QjdZbTl2YkdWaGJuMGdWSEoxWlNCcFppQjBhR1VnYzNCbFkybG1hV1ZrSUZWU1RDQnBjeUJoWW5OdmJIVjBaU3dnYjNSb1pYSjNhWE5sSUdaaGJITmxYRzRnS2k5Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z2FYTkJZbk52YkhWMFpWVlNUQ2gxY213cElIdGNiaUFnTHk4Z1FTQlZVa3dnYVhNZ1kyOXVjMmxrWlhKbFpDQmhZbk52YkhWMFpTQnBaaUJwZENCaVpXZHBibk1nZDJsMGFDQmNJanh6WTJobGJXVStPaTh2WENJZ2IzSWdYQ0l2TDF3aUlDaHdjbTkwYjJOdmJDMXlaV3hoZEdsMlpTQlZVa3dwTGx4dUlDQXZMeUJTUmtNZ016azROaUJrWldacGJtVnpJSE5qYUdWdFpTQnVZVzFsSUdGeklHRWdjMlZ4ZFdWdVkyVWdiMllnWTJoaGNtRmpkR1Z5Y3lCaVpXZHBibTVwYm1jZ2QybDBhQ0JoSUd4bGRIUmxjaUJoYm1RZ1ptOXNiRzkzWldSY2JpQWdMeThnWW5rZ1lXNTVJR052YldKcGJtRjBhVzl1SUc5bUlHeGxkSFJsY25Nc0lHUnBaMmwwY3l3Z2NHeDFjeXdnY0dWeWFXOWtMQ0J2Y2lCb2VYQm9aVzR1WEc0Z0lISmxkSFZ5YmlBdlhpaGJZUzE2WFZ0aExYcGNYR1JjWEN0Y1hDMWNYQzVkS2pvcFAxeGNMMXhjTHk5cExuUmxjM1FvZFhKc0tUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzVVJMU2FtZU9yaWdpbi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxcIik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSAoXFxuICB1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpID9cXG5cXG4gIC8vIFN0YW5kYXJkIGJyb3dzZXIgZW52cyBoYXZlIGZ1bGwgc3VwcG9ydCBvZiB0aGUgQVBJcyBuZWVkZWQgdG8gdGVzdFxcbiAgLy8gd2hldGhlciB0aGUgcmVxdWVzdCBVUkwgaXMgb2YgdGhlIHNhbWUgb3JpZ2luIGFzIGN1cnJlbnQgbG9jYXRpb24uXFxuICAgIChmdW5jdGlvbiBzdGFuZGFyZEJyb3dzZXJFbnYoKSB7XFxuICAgICAgdmFyIG1zaWUgPSAvKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xcbiAgICAgIHZhciB1cmxQYXJzaW5nTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcXG4gICAgICB2YXIgb3JpZ2luVVJMO1xcblxcbiAgICAgIC8qKlxcbiAgICAqIFBhcnNlIGEgVVJMIHRvIGRpc2NvdmVyIGl0J3MgY29tcG9uZW50c1xcbiAgICAqXFxuICAgICogQHBhcmFtIHtTdHJpbmd9IHVybCBUaGUgVVJMIHRvIGJlIHBhcnNlZFxcbiAgICAqIEByZXR1cm5zIHtPYmplY3R9XFxuICAgICovXFxuICAgICAgZnVuY3Rpb24gcmVzb2x2ZVVSTCh1cmwpIHtcXG4gICAgICAgIHZhciBocmVmID0gdXJsO1xcblxcbiAgICAgICAgaWYgKG1zaWUpIHtcXG4gICAgICAgIC8vIElFIG5lZWRzIGF0dHJpYnV0ZSBzZXQgdHdpY2UgdG8gbm9ybWFsaXplIHByb3BlcnRpZXNcXG4gICAgICAgICAgdXJsUGFyc2luZ05vZGUuc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XFxuICAgICAgICAgIGhyZWYgPSB1cmxQYXJzaW5nTm9kZS5ocmVmO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdXJsUGFyc2luZ05vZGUuc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XFxuXFxuICAgICAgICAvLyB1cmxQYXJzaW5nTm9kZSBwcm92aWRlcyB0aGUgVXJsVXRpbHMgaW50ZXJmYWNlIC0gaHR0cDovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybHV0aWxzXFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBocmVmOiB1cmxQYXJzaW5nTm9kZS5ocmVmLFxcbiAgICAgICAgICBwcm90b2NvbDogdXJsUGFyc2luZ05vZGUucHJvdG9jb2wgPyB1cmxQYXJzaW5nTm9kZS5wcm90b2NvbC5yZXBsYWNlKC86JC8sICcnKSA6ICcnLFxcbiAgICAgICAgICBob3N0OiB1cmxQYXJzaW5nTm9kZS5ob3N0LFxcbiAgICAgICAgICBzZWFyY2g6IHVybFBhcnNpbmdOb2RlLnNlYXJjaCA/IHVybFBhcnNpbmdOb2RlLnNlYXJjaC5yZXBsYWNlKC9eXFxcXD8vLCAnJykgOiAnJyxcXG4gICAgICAgICAgaGFzaDogdXJsUGFyc2luZ05vZGUuaGFzaCA/IHVybFBhcnNpbmdOb2RlLmhhc2gucmVwbGFjZSgvXiMvLCAnJykgOiAnJyxcXG4gICAgICAgICAgaG9zdG5hbWU6IHVybFBhcnNpbmdOb2RlLmhvc3RuYW1lLFxcbiAgICAgICAgICBwb3J0OiB1cmxQYXJzaW5nTm9kZS5wb3J0LFxcbiAgICAgICAgICBwYXRobmFtZTogKHVybFBhcnNpbmdOb2RlLnBhdGhuYW1lLmNoYXJBdCgwKSA9PT0gJy8nKSA/XFxuICAgICAgICAgICAgdXJsUGFyc2luZ05vZGUucGF0aG5hbWUgOlxcbiAgICAgICAgICAgICcvJyArIHVybFBhcnNpbmdOb2RlLnBhdGhuYW1lXFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICBvcmlnaW5VUkwgPSByZXNvbHZlVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcXG5cXG4gICAgICAvKipcXG4gICAgKiBEZXRlcm1pbmUgaWYgYSBVUkwgc2hhcmVzIHRoZSBzYW1lIG9yaWdpbiBhcyB0aGUgY3VycmVudCBsb2NhdGlvblxcbiAgICAqXFxuICAgICogQHBhcmFtIHtTdHJpbmd9IHJlcXVlc3RVUkwgVGhlIFVSTCB0byB0ZXN0XFxuICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgVVJMIHNoYXJlcyB0aGUgc2FtZSBvcmlnaW4sIG90aGVyd2lzZSBmYWxzZVxcbiAgICAqL1xcbiAgICAgIHJldHVybiBmdW5jdGlvbiBpc1VSTFNhbWVPcmlnaW4ocmVxdWVzdFVSTCkge1xcbiAgICAgICAgdmFyIHBhcnNlZCA9ICh1dGlscy5pc1N0cmluZyhyZXF1ZXN0VVJMKSkgPyByZXNvbHZlVVJMKHJlcXVlc3RVUkwpIDogcmVxdWVzdFVSTDtcXG4gICAgICAgIHJldHVybiAocGFyc2VkLnByb3RvY29sID09PSBvcmlnaW5VUkwucHJvdG9jb2wgJiZcXG4gICAgICAgICAgICBwYXJzZWQuaG9zdCA9PT0gb3JpZ2luVVJMLmhvc3QpO1xcbiAgICAgIH07XFxuICAgIH0pKCkgOlxcblxcbiAgLy8gTm9uIHN0YW5kYXJkIGJyb3dzZXIgZW52cyAod2ViIHdvcmtlcnMsIHJlYWN0LW5hdGl2ZSkgbGFjayBuZWVkZWQgc3VwcG9ydC5cXG4gICAgKGZ1bmN0aW9uIG5vblN0YW5kYXJkQnJvd3NlckVudigpIHtcXG4gICAgICByZXR1cm4gZnVuY3Rpb24gaXNVUkxTYW1lT3JpZ2luKCkge1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfTtcXG4gICAgfSkoKVxcbik7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlwYzFWU1RGTmhiV1ZQY21sbmFXNHVhbk0vWVdWak5pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc2NVUkJRVms3TzBGQlJXaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdOQlFXTXNUMEZCVHp0QlFVTnlRaXhuUWtGQlowSTdRVUZEYUVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hqUVVGakxFOUJRVTg3UVVGRGNrSXNaMEpCUVdkQ0xGRkJRVkU3UVVGRGVFSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlvWld4d1pYSnpMMmx6VlZKTVUyRnRaVTl5YVdkcGJpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTh1TGk5MWRHbHNjeWNwTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlDaGNiaUFnZFhScGJITXVhWE5UZEdGdVpHRnlaRUp5YjNkelpYSkZibllvS1NBL1hHNWNiaUFnTHk4Z1UzUmhibVJoY21RZ1luSnZkM05sY2lCbGJuWnpJR2hoZG1VZ1puVnNiQ0J6ZFhCd2IzSjBJRzltSUhSb1pTQkJVRWx6SUc1bFpXUmxaQ0IwYnlCMFpYTjBYRzRnSUM4dklIZG9aWFJvWlhJZ2RHaGxJSEpsY1hWbGMzUWdWVkpNSUdseklHOW1JSFJvWlNCellXMWxJRzl5YVdkcGJpQmhjeUJqZFhKeVpXNTBJR3h2WTJGMGFXOXVMbHh1SUNBZ0lDaG1kVzVqZEdsdmJpQnpkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWW9LU0I3WEc0Z0lDQWdJQ0IyWVhJZ2JYTnBaU0E5SUM4b2JYTnBaWHgwY21sa1pXNTBLUzlwTG5SbGMzUW9ibUYyYVdkaGRHOXlMblZ6WlhKQloyVnVkQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2RYSnNVR0Z5YzJsdVowNXZaR1VnUFNCa2IyTjFiV1Z1ZEM1amNtVmhkR1ZGYkdWdFpXNTBLQ2RoSnlrN1hHNGdJQ0FnSUNCMllYSWdiM0pwWjJsdVZWSk1PMXh1WEc0Z0lDQWdJQ0F2S2lwY2JpQWdJQ0FxSUZCaGNuTmxJR0VnVlZKTUlIUnZJR1JwYzJOdmRtVnlJR2wwSjNNZ1kyOXRjRzl1Wlc1MGMxeHVJQ0FnSUNwY2JpQWdJQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0IxY213Z1ZHaGxJRlZTVENCMGJ5QmlaU0J3WVhKelpXUmNiaUFnSUNBcUlFQnlaWFIxY201eklIdFBZbXBsWTNSOVhHNGdJQ0FnS2k5Y2JpQWdJQ0FnSUdaMWJtTjBhVzl1SUhKbGMyOXNkbVZWVWt3b2RYSnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQm9jbVZtSUQwZ2RYSnNPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHRjMmxsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRWxGSUc1bFpXUnpJR0YwZEhKcFluVjBaU0J6WlhRZ2RIZHBZMlVnZEc4Z2JtOXliV0ZzYVhwbElIQnliM0JsY25ScFpYTmNiaUFnSUNBZ0lDQWdJQ0IxY214UVlYSnphVzVuVG05a1pTNXpaWFJCZEhSeWFXSjFkR1VvSjJoeVpXWW5MQ0JvY21WbUtUdGNiaUFnSUNBZ0lDQWdJQ0JvY21WbUlEMGdkWEpzVUdGeWMybHVaMDV2WkdVdWFISmxaanRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIVnliRkJoY25OcGJtZE9iMlJsTG5ObGRFRjBkSEpwWW5WMFpTZ25hSEpsWmljc0lHaHlaV1lwTzF4dVhHNGdJQ0FnSUNBZ0lDOHZJSFZ5YkZCaGNuTnBibWRPYjJSbElIQnliM1pwWkdWeklIUm9aU0JWY214VmRHbHNjeUJwYm5SbGNtWmhZMlVnTFNCb2RIUndPaTh2ZFhKc0xuTndaV011ZDJoaGRIZG5MbTl5Wnk4amRYSnNkWFJwYkhOY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQm9jbVZtT2lCMWNteFFZWEp6YVc1blRtOWtaUzVvY21WbUxGeHVJQ0FnSUNBZ0lDQWdJSEJ5YjNSdlkyOXNPaUIxY214UVlYSnphVzVuVG05a1pTNXdjbTkwYjJOdmJDQS9JSFZ5YkZCaGNuTnBibWRPYjJSbExuQnliM1J2WTI5c0xuSmxjR3hoWTJVb0x6b2tMeXdnSnljcElEb2dKeWNzWEc0Z0lDQWdJQ0FnSUNBZ2FHOXpkRG9nZFhKc1VHRnljMmx1WjA1dlpHVXVhRzl6ZEN4Y2JpQWdJQ0FnSUNBZ0lDQnpaV0Z5WTJnNklIVnliRkJoY25OcGJtZE9iMlJsTG5ObFlYSmphQ0EvSUhWeWJGQmhjbk5wYm1kT2IyUmxMbk5sWVhKamFDNXlaWEJzWVdObEtDOWVYRncvTHl3Z0p5Y3BJRG9nSnljc1hHNGdJQ0FnSUNBZ0lDQWdhR0Z6YURvZ2RYSnNVR0Z5YzJsdVowNXZaR1V1YUdGemFDQS9JSFZ5YkZCaGNuTnBibWRPYjJSbExtaGhjMmd1Y21Wd2JHRmpaU2d2WGlNdkxDQW5KeWtnT2lBbkp5eGNiaUFnSUNBZ0lDQWdJQ0JvYjNOMGJtRnRaVG9nZFhKc1VHRnljMmx1WjA1dlpHVXVhRzl6ZEc1aGJXVXNYRzRnSUNBZ0lDQWdJQ0FnY0c5eWREb2dkWEpzVUdGeWMybHVaMDV2WkdVdWNHOXlkQ3hjYmlBZ0lDQWdJQ0FnSUNCd1lYUm9ibUZ0WlRvZ0tIVnliRkJoY25OcGJtZE9iMlJsTG5CaGRHaHVZVzFsTG1Ob1lYSkJkQ2d3S1NBOVBUMGdKeThuS1NBL1hHNGdJQ0FnSUNBZ0lDQWdJQ0IxY214UVlYSnphVzVuVG05a1pTNXdZWFJvYm1GdFpTQTZYRzRnSUNBZ0lDQWdJQ0FnSUNBbkx5Y2dLeUIxY214UVlYSnphVzVuVG05a1pTNXdZWFJvYm1GdFpWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J2Y21sbmFXNVZVa3dnUFNCeVpYTnZiSFpsVlZKTUtIZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1b2NtVm1LVHRjYmx4dUlDQWdJQ0FnTHlvcVhHNGdJQ0FnS2lCRVpYUmxjbTFwYm1VZ2FXWWdZU0JWVWt3Z2MyaGhjbVZ6SUhSb1pTQnpZVzFsSUc5eWFXZHBiaUJoY3lCMGFHVWdZM1Z5Y21WdWRDQnNiMk5oZEdsdmJseHVJQ0FnSUNwY2JpQWdJQ0FxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J5WlhGMVpYTjBWVkpNSUZSb1pTQlZVa3dnZEc4Z2RHVnpkRnh1SUNBZ0lDb2dRSEpsZEhWeWJuTWdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdWVkpNSUhOb1lYSmxjeUIwYUdVZ2MyRnRaU0J2Y21sbmFXNHNJRzkwYUdWeWQybHpaU0JtWVd4elpWeHVJQ0FnSUNvdlhHNGdJQ0FnSUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYVhOVlVreFRZVzFsVDNKcFoybHVLSEpsY1hWbGMzUlZVa3dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJoY25ObFpDQTlJQ2gxZEdsc2N5NXBjMU4wY21sdVp5aHlaWEYxWlhOMFZWSk1LU2tnUHlCeVpYTnZiSFpsVlZKTUtISmxjWFZsYzNSVlVrd3BJRG9nY21WeGRXVnpkRlZTVER0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNod1lYSnpaV1F1Y0hKdmRHOWpiMndnUFQwOUlHOXlhV2RwYmxWU1RDNXdjbTkwYjJOdmJDQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NHRnljMlZrTG1odmMzUWdQVDA5SUc5eWFXZHBibFZTVEM1b2IzTjBLVHRjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmU2tvS1NBNlhHNWNiaUFnTHk4Z1RtOXVJSE4wWVc1a1lYSmtJR0p5YjNkelpYSWdaVzUyY3lBb2QyVmlJSGR2Y210bGNuTXNJSEpsWVdOMExXNWhkR2wyWlNrZ2JHRmpheUJ1WldWa1pXUWdjM1Z3Y0c5eWRDNWNiaUFnSUNBb1puVnVZM1JwYjI0Z2JtOXVVM1JoYm1SaGNtUkNjbTkzYzJWeVJXNTJLQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1oxYm1OMGFXOXVJR2x6VlZKTVUyRnRaVTl5YVdkcGJpZ3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgwcEtDbGNiaWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9ub3JtYWxpemVIZWFkZXJOYW1lLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1xcXCIpO1xcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9ybWFsaXplSGVhZGVyTmFtZShoZWFkZXJzLCBub3JtYWxpemVkTmFtZSkge1xcbiAgdXRpbHMuZm9yRWFjaChoZWFkZXJzLCBmdW5jdGlvbiBwcm9jZXNzSGVhZGVyKHZhbHVlLCBuYW1lKSB7XFxuICAgIGlmIChuYW1lICE9PSBub3JtYWxpemVkTmFtZSAmJiBuYW1lLnRvVXBwZXJDYXNlKCkgPT09IG5vcm1hbGl6ZWROYW1lLnRvVXBwZXJDYXNlKCkpIHtcXG4gICAgICBoZWFkZXJzW25vcm1hbGl6ZWROYW1lXSA9IHZhbHVlO1xcbiAgICAgIGRlbGV0ZSBoZWFkZXJzW25hbWVdO1xcbiAgICB9XFxuICB9KTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5dWIzSnRZV3hwZW1WSVpXRmtaWEpPWVcxbExtcHpQemRtWWpZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1dVRkJXU3h0UWtGQlR5eERRVUZETEcxRVFVRlZPenRCUVVVNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGdpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZibTl5YldGc2FYcGxTR1ZoWkdWeVRtRnRaUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUhWMGFXeHpJRDBnY21WeGRXbHlaU2duTGk0dmRYUnBiSE1uS1R0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVklaV0ZrWlhKT1lXMWxLR2hsWVdSbGNuTXNJRzV2Y20xaGJHbDZaV1JPWVcxbEtTQjdYRzRnSUhWMGFXeHpMbVp2Y2tWaFkyZ29hR1ZoWkdWeWN5d2dablZ1WTNScGIyNGdjSEp2WTJWemMwaGxZV1JsY2loMllXeDFaU3dnYm1GdFpTa2dlMXh1SUNBZ0lHbG1JQ2h1WVcxbElDRTlQU0J1YjNKdFlXeHBlbVZrVG1GdFpTQW1KaUJ1WVcxbExuUnZWWEJ3WlhKRFlYTmxLQ2tnUFQwOUlHNXZjbTFoYkdsNlpXUk9ZVzFsTG5SdlZYQndaWEpEWVhObEtDa3BJSHRjYmlBZ0lDQWdJR2hsWVdSbGNuTmJibTl5YldGc2FYcGxaRTVoYldWZElEMGdkbUZzZFdVN1hHNGdJQ0FnSUNCa1pXeGxkR1VnYUdWaFpHVnljMXR1WVcxbFhUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3BhcnNlSGVhZGVycy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG4vLyBIZWFkZXJzIHdob3NlIGR1cGxpY2F0ZXMgYXJlIGlnbm9yZWQgYnkgbm9kZVxcbi8vIGMuZi4gaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9odHRwLmh0bWwjaHR0cF9tZXNzYWdlX2hlYWRlcnNcXG52YXIgaWdub3JlRHVwbGljYXRlT2YgPSBbXFxuICAnYWdlJywgJ2F1dGhvcml6YXRpb24nLCAnY29udGVudC1sZW5ndGgnLCAnY29udGVudC10eXBlJywgJ2V0YWcnLFxcbiAgJ2V4cGlyZXMnLCAnZnJvbScsICdob3N0JywgJ2lmLW1vZGlmaWVkLXNpbmNlJywgJ2lmLXVubW9kaWZpZWQtc2luY2UnLFxcbiAgJ2xhc3QtbW9kaWZpZWQnLCAnbG9jYXRpb24nLCAnbWF4LWZvcndhcmRzJywgJ3Byb3h5LWF1dGhvcml6YXRpb24nLFxcbiAgJ3JlZmVyZXInLCAncmV0cnktYWZ0ZXInLCAndXNlci1hZ2VudCdcXG5dO1xcblxcbi8qKlxcbiAqIFBhcnNlIGhlYWRlcnMgaW50byBhbiBvYmplY3RcXG4gKlxcbiAqIGBgYFxcbiAqIERhdGU6IFdlZCwgMjcgQXVnIDIwMTQgMDg6NTg6NDkgR01UXFxuICogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXFxuICogQ29ubmVjdGlvbjoga2VlcC1hbGl2ZVxcbiAqIFRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXFxuICogYGBgXFxuICpcXG4gKiBAcGFyYW0ge1N0cmluZ30gaGVhZGVycyBIZWFkZXJzIG5lZWRpbmcgdG8gYmUgcGFyc2VkXFxuICogQHJldHVybnMge09iamVjdH0gSGVhZGVycyBwYXJzZWQgaW50byBhbiBvYmplY3RcXG4gKi9cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHBhcnNlSGVhZGVycyhoZWFkZXJzKSB7XFxuICB2YXIgcGFyc2VkID0ge307XFxuICB2YXIga2V5O1xcbiAgdmFyIHZhbDtcXG4gIHZhciBpO1xcblxcbiAgaWYgKCFoZWFkZXJzKSB7IHJldHVybiBwYXJzZWQ7IH1cXG5cXG4gIHV0aWxzLmZvckVhY2goaGVhZGVycy5zcGxpdCgnXFxcXG4nKSwgZnVuY3Rpb24gcGFyc2VyKGxpbmUpIHtcXG4gICAgaSA9IGxpbmUuaW5kZXhPZignOicpO1xcbiAgICBrZXkgPSB1dGlscy50cmltKGxpbmUuc3Vic3RyKDAsIGkpKS50b0xvd2VyQ2FzZSgpO1xcbiAgICB2YWwgPSB1dGlscy50cmltKGxpbmUuc3Vic3RyKGkgKyAxKSk7XFxuXFxuICAgIGlmIChrZXkpIHtcXG4gICAgICBpZiAocGFyc2VkW2tleV0gJiYgaWdub3JlRHVwbGljYXRlT2YuaW5kZXhPZihrZXkpID49IDApIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuICAgICAgaWYgKGtleSA9PT0gJ3NldC1jb29raWUnKSB7XFxuICAgICAgICBwYXJzZWRba2V5XSA9IChwYXJzZWRba2V5XSA/IHBhcnNlZFtrZXldIDogW10pLmNvbmNhdChbdmFsXSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHBhcnNlZFtrZXldID0gcGFyc2VkW2tleV0gPyBwYXJzZWRba2V5XSArICcsICcgKyB2YWwgOiB2YWw7XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG5cXG4gIHJldHVybiBwYXJzZWQ7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OXdZWEp6WlVobFlXUmxjbk11YW5NL00yVXpOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNjVVJCUVZrN08wRkJSV2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFBRVUZQTzBGQlEzQkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzWlVGQlpUczdRVUZGYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdmFHVnNjR1Z5Y3k5d1lYSnpaVWhsWVdSbGNuTXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2TGk0dmRYUnBiSE1uS1R0Y2JseHVMeThnU0dWaFpHVnljeUIzYUc5elpTQmtkWEJzYVdOaGRHVnpJR0Z5WlNCcFoyNXZjbVZrSUdKNUlHNXZaR1ZjYmk4dklHTXVaaTRnYUhSMGNITTZMeTl1YjJSbGFuTXViM0puTDJGd2FTOW9kSFJ3TG1oMGJXd2phSFIwY0Y5dFpYTnpZV2RsWDJobFlXUmxjbk5jYm5aaGNpQnBaMjV2Y21WRWRYQnNhV05oZEdWUFppQTlJRnRjYmlBZ0oyRm5aU2NzSUNkaGRYUm9iM0pwZW1GMGFXOXVKeXdnSjJOdmJuUmxiblF0YkdWdVozUm9KeXdnSjJOdmJuUmxiblF0ZEhsd1pTY3NJQ2RsZEdGbkp5eGNiaUFnSjJWNGNHbHlaWE1uTENBblpuSnZiU2NzSUNkb2IzTjBKeXdnSjJsbUxXMXZaR2xtYVdWa0xYTnBibU5sSnl3Z0oybG1MWFZ1Ylc5a2FXWnBaV1F0YzJsdVkyVW5MRnh1SUNBbmJHRnpkQzF0YjJScFptbGxaQ2NzSUNkc2IyTmhkR2x2Ymljc0lDZHRZWGd0Wm05eWQyRnlaSE1uTENBbmNISnZlSGt0WVhWMGFHOXlhWHBoZEdsdmJpY3NYRzRnSUNkeVpXWmxjbVZ5Snl3Z0ozSmxkSEo1TFdGbWRHVnlKeXdnSjNWelpYSXRZV2RsYm5RblhHNWRPMXh1WEc0dktpcGNiaUFxSUZCaGNuTmxJR2hsWVdSbGNuTWdhVzUwYnlCaGJpQnZZbXBsWTNSY2JpQXFYRzRnS2lCZ1lHQmNiaUFxSUVSaGRHVTZJRmRsWkN3Z01qY2dRWFZuSURJd01UUWdNRGc2TlRnNk5Ea2dSMDFVWEc0Z0tpQkRiMjUwWlc1MExWUjVjR1U2SUdGd2NHeHBZMkYwYVc5dUwycHpiMjVjYmlBcUlFTnZibTVsWTNScGIyNDZJR3RsWlhBdFlXeHBkbVZjYmlBcUlGUnlZVzV6Wm1WeUxVVnVZMjlrYVc1bk9pQmphSFZ1YTJWa1hHNGdLaUJnWUdCY2JpQXFYRzRnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYUdWaFpHVnljeUJJWldGa1pYSnpJRzVsWldScGJtY2dkRzhnWW1VZ2NHRnljMlZrWEc0Z0tpQkFjbVYwZFhKdWN5QjdUMkpxWldOMGZTQklaV0ZrWlhKeklIQmhjbk5sWkNCcGJuUnZJR0Z1SUc5aWFtVmpkRnh1SUNvdlhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlIQmhjbk5sU0dWaFpHVnljeWhvWldGa1pYSnpLU0I3WEc0Z0lIWmhjaUJ3WVhKelpXUWdQU0I3ZlR0Y2JpQWdkbUZ5SUd0bGVUdGNiaUFnZG1GeUlIWmhiRHRjYmlBZ2RtRnlJR2s3WEc1Y2JpQWdhV1lnS0NGb1pXRmtaWEp6S1NCN0lISmxkSFZ5YmlCd1lYSnpaV1E3SUgxY2JseHVJQ0IxZEdsc2N5NW1iM0pGWVdOb0tHaGxZV1JsY25NdWMzQnNhWFFvSjF4Y2JpY3BMQ0JtZFc1amRHbHZiaUJ3WVhKelpYSW9iR2x1WlNrZ2UxeHVJQ0FnSUdrZ1BTQnNhVzVsTG1sdVpHVjRUMllvSnpvbktUdGNiaUFnSUNCclpYa2dQU0IxZEdsc2N5NTBjbWx0S0d4cGJtVXVjM1ZpYzNSeUtEQXNJR2twS1M1MGIweHZkMlZ5UTJGelpTZ3BPMXh1SUNBZ0lIWmhiQ0E5SUhWMGFXeHpMblJ5YVcwb2JHbHVaUzV6ZFdKemRISW9hU0FySURFcEtUdGNibHh1SUNBZ0lHbG1JQ2hyWlhrcElIdGNiaUFnSUNBZ0lHbG1JQ2h3WVhKelpXUmJhMlY1WFNBbUppQnBaMjV2Y21WRWRYQnNhV05oZEdWUFppNXBibVJsZUU5bUtHdGxlU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvYTJWNUlEMDlQU0FuYzJWMExXTnZiMnRwWlNjcElIdGNiaUFnSUNBZ0lDQWdjR0Z5YzJWa1cydGxlVjBnUFNBb2NHRnljMlZrVzJ0bGVWMGdQeUJ3WVhKelpXUmJhMlY1WFNBNklGdGRLUzVqYjI1allYUW9XM1poYkYwcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NHRnljMlZrVzJ0bGVWMGdQU0J3WVhKelpXUmJhMlY1WFNBL0lIQmhjbk5sWkZ0clpYbGRJQ3NnSnl3Z0p5QXJJSFpoYkNBNklIWmhiRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUJ3WVhKelpXUTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL3NwcmVhZC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuLyoqXFxuICogU3ludGFjdGljIHN1Z2FyIGZvciBpbnZva2luZyBhIGZ1bmN0aW9uIGFuZCBleHBhbmRpbmcgYW4gYXJyYXkgZm9yIGFyZ3VtZW50cy5cXG4gKlxcbiAqIENvbW1vbiB1c2UgY2FzZSB3b3VsZCBiZSB0byB1c2UgYEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseWAuXFxuICpcXG4gKiAgYGBganNcXG4gKiAgZnVuY3Rpb24gZih4LCB5LCB6KSB7fVxcbiAqICB2YXIgYXJncyA9IFsxLCAyLCAzXTtcXG4gKiAgZi5hcHBseShudWxsLCBhcmdzKTtcXG4gKiAgYGBgXFxuICpcXG4gKiBXaXRoIGBzcHJlYWRgIHRoaXMgZXhhbXBsZSBjYW4gYmUgcmUtd3JpdHRlbi5cXG4gKlxcbiAqICBgYGBqc1xcbiAqICBzcHJlYWQoZnVuY3Rpb24oeCwgeSwgeikge30pKFsxLCAyLCAzXSk7XFxuICogIGBgYFxcbiAqXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XFxuICovXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBzcHJlYWQoY2FsbGJhY2spIHtcXG4gIHJldHVybiBmdW5jdGlvbiB3cmFwKGFycikge1xcbiAgICByZXR1cm4gY2FsbGJhY2suYXBwbHkobnVsbCwgYXJyKTtcXG4gIH07XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZhR1ZzY0dWeWN5OXpjSEpsWVdRdWFuTS9PVFk1WXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzSzBKQlFTdENPMEZCUXk5Q08wRkJRMEU3UVVGRFFTeFhRVUZYTEZOQlFWTTdRVUZEY0VJc1lVRkJZVHRCUVVOaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTl6Y0hKbFlXUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFLbHh1SUNvZ1UzbHVkR0ZqZEdsaklITjFaMkZ5SUdadmNpQnBiblp2YTJsdVp5QmhJR1oxYm1OMGFXOXVJR0Z1WkNCbGVIQmhibVJwYm1jZ1lXNGdZWEp5WVhrZ1ptOXlJR0Z5WjNWdFpXNTBjeTVjYmlBcVhHNGdLaUJEYjIxdGIyNGdkWE5sSUdOaGMyVWdkMjkxYkdRZ1ltVWdkRzhnZFhObElHQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVXVZWEJ3YkhsZ0xseHVJQ3BjYmlBcUlDQmdZR0JxYzF4dUlDb2dJR1oxYm1OMGFXOXVJR1lvZUN3Z2VTd2dlaWtnZTMxY2JpQXFJQ0IyWVhJZ1lYSm5jeUE5SUZzeExDQXlMQ0F6WFR0Y2JpQXFJQ0JtTG1Gd2NHeDVLRzUxYkd3c0lHRnlaM01wTzF4dUlDb2dJR0JnWUZ4dUlDcGNiaUFxSUZkcGRHZ2dZSE53Y21WaFpHQWdkR2hwY3lCbGVHRnRjR3hsSUdOaGJpQmlaU0J5WlMxM2NtbDBkR1Z1TGx4dUlDcGNiaUFxSUNCZ1lHQnFjMXh1SUNvZ0lITndjbVZoWkNobWRXNWpkR2x2YmloNExDQjVMQ0I2S1NCN2ZTa29XekVzSURJc0lETmRLVHRjYmlBcUlDQmdZR0JjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JqWVd4c1ltRmphMXh1SUNvZ1FISmxkSFZ5Ym5NZ2UwWjFibU4wYVc5dWZWeHVJQ292WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUhOd2NtVmhaQ2hqWVd4c1ltRmpheWtnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z2QzSmhjQ2hoY25JcElIdGNiaUFnSUNCeVpYUjFjbTRnWTJGc2JHSmhZMnN1WVhCd2JIa29iblZzYkN3Z1lYSnlLVHRjYmlBZ2ZUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9zcHJlYWQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgYmluZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaGVscGVycy9iaW5kICovIFxcXCIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9iaW5kLmpzXFxcIik7XFxudmFyIGlzQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaXMtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9pcy1idWZmZXIvaW5kZXguanNcXFwiKTtcXG5cXG4vKmdsb2JhbCB0b1N0cmluZzp0cnVlKi9cXG5cXG4vLyB1dGlscyBpcyBhIGxpYnJhcnkgb2YgZ2VuZXJpYyBoZWxwZXIgZnVuY3Rpb25zIG5vbi1zcGVjaWZpYyB0byBheGlvc1xcblxcbnZhciB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYW4gQXJyYXlcXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhbiBBcnJheSwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEFycmF5XSc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gQXJyYXlCdWZmZXIsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzQXJyYXlCdWZmZXIodmFsKSB7XFxuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZvcm1EYXRhXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gRm9ybURhdGEsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzRm9ybURhdGEodmFsKSB7XFxuICByZXR1cm4gKHR5cGVvZiBGb3JtRGF0YSAhPT0gJ3VuZGVmaW5lZCcpICYmICh2YWwgaW5zdGFuY2VvZiBGb3JtRGF0YSk7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgdmlldyBvbiBhbiBBcnJheUJ1ZmZlclxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgdmlldyBvbiBhbiBBcnJheUJ1ZmZlciwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlclZpZXcodmFsKSB7XFxuICB2YXIgcmVzdWx0O1xcbiAgaWYgKCh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnKSAmJiAoQXJyYXlCdWZmZXIuaXNWaWV3KSkge1xcbiAgICByZXN1bHQgPSBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsKTtcXG4gIH0gZWxzZSB7XFxuICAgIHJlc3VsdCA9ICh2YWwpICYmICh2YWwuYnVmZmVyKSAmJiAodmFsLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKTtcXG4gIH1cXG4gIHJldHVybiByZXN1bHQ7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgU3RyaW5nXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBTdHJpbmcsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzU3RyaW5nKHZhbCkge1xcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIE51bWJlclxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgTnVtYmVyLCBvdGhlcndpc2UgZmFsc2VcXG4gKi9cXG5mdW5jdGlvbiBpc051bWJlcih2YWwpIHtcXG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJztcXG59XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgdW5kZWZpbmVkXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsKSB7XFxuICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ3VuZGVmaW5lZCc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGFuIE9iamVjdFxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIE9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNPYmplY3QodmFsKSB7XFxuICByZXR1cm4gdmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIERhdGVcXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIERhdGUsIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzRGF0ZSh2YWwpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IERhdGVdJztcXG59XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBGaWxlXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGaWxlLCBvdGhlcndpc2UgZmFsc2VcXG4gKi9cXG5mdW5jdGlvbiBpc0ZpbGUodmFsKSB7XFxuICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGaWxlXSc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgQmxvYlxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgQmxvYiwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNCbG9iKHZhbCkge1xcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQmxvYl0nO1xcbn1cXG5cXG4vKipcXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZ1bmN0aW9uXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGdW5jdGlvbiwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWwpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgU3RyZWFtXFxuICpcXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBTdHJlYW0sIG90aGVyd2lzZSBmYWxzZVxcbiAqL1xcbmZ1bmN0aW9uIGlzU3RyZWFtKHZhbCkge1xcbiAgcmV0dXJuIGlzT2JqZWN0KHZhbCkgJiYgaXNGdW5jdGlvbih2YWwucGlwZSk7XFxufVxcblxcbi8qKlxcbiAqIERldGVybWluZSBpZiBhIHZhbHVlIGlzIGEgVVJMU2VhcmNoUGFyYW1zIG9iamVjdFxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgVVJMU2VhcmNoUGFyYW1zIG9iamVjdCwgb3RoZXJ3aXNlIGZhbHNlXFxuICovXFxuZnVuY3Rpb24gaXNVUkxTZWFyY2hQYXJhbXModmFsKSB7XFxuICByZXR1cm4gdHlwZW9mIFVSTFNlYXJjaFBhcmFtcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zO1xcbn1cXG5cXG4vKipcXG4gKiBUcmltIGV4Y2VzcyB3aGl0ZXNwYWNlIG9mZiB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSBzdHJpbmdcXG4gKlxcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgVGhlIFN0cmluZyB0byB0cmltXFxuICogQHJldHVybnMge1N0cmluZ30gVGhlIFN0cmluZyBmcmVlZCBvZiBleGNlc3Mgd2hpdGVzcGFjZVxcbiAqL1xcbmZ1bmN0aW9uIHRyaW0oc3RyKSB7XFxuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXFxccyovLCAnJykucmVwbGFjZSgvXFxcXHMqJC8sICcnKTtcXG59XFxuXFxuLyoqXFxuICogRGV0ZXJtaW5lIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSBzdGFuZGFyZCBicm93c2VyIGVudmlyb25tZW50XFxuICpcXG4gKiBUaGlzIGFsbG93cyBheGlvcyB0byBydW4gaW4gYSB3ZWIgd29ya2VyLCBhbmQgcmVhY3QtbmF0aXZlLlxcbiAqIEJvdGggZW52aXJvbm1lbnRzIHN1cHBvcnQgWE1MSHR0cFJlcXVlc3QsIGJ1dCBub3QgZnVsbHkgc3RhbmRhcmQgZ2xvYmFscy5cXG4gKlxcbiAqIHdlYiB3b3JrZXJzOlxcbiAqICB0eXBlb2Ygd2luZG93IC0+IHVuZGVmaW5lZFxcbiAqICB0eXBlb2YgZG9jdW1lbnQgLT4gdW5kZWZpbmVkXFxuICpcXG4gKiByZWFjdC1uYXRpdmU6XFxuICogIG5hdmlnYXRvci5wcm9kdWN0IC0+ICdSZWFjdE5hdGl2ZSdcXG4gKiBuYXRpdmVzY3JpcHRcXG4gKiAgbmF2aWdhdG9yLnByb2R1Y3QgLT4gJ05hdGl2ZVNjcmlwdCcgb3IgJ05TJ1xcbiAqL1xcbmZ1bmN0aW9uIGlzU3RhbmRhcmRCcm93c2VyRW52KCkge1xcbiAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIChuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ1JlYWN0TmF0aXZlJyB8fFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ05hdGl2ZVNjcmlwdCcgfHxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLnByb2R1Y3QgPT09ICdOUycpKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHJldHVybiAoXFxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXFxuICAgIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCdcXG4gICk7XFxufVxcblxcbi8qKlxcbiAqIEl0ZXJhdGUgb3ZlciBhbiBBcnJheSBvciBhbiBPYmplY3QgaW52b2tpbmcgYSBmdW5jdGlvbiBmb3IgZWFjaCBpdGVtLlxcbiAqXFxuICogSWYgYG9iamAgaXMgYW4gQXJyYXkgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgcGFzc2luZ1xcbiAqIHRoZSB2YWx1ZSwgaW5kZXgsIGFuZCBjb21wbGV0ZSBhcnJheSBmb3IgZWFjaCBpdGVtLlxcbiAqXFxuICogSWYgJ29iaicgaXMgYW4gT2JqZWN0IGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIHBhc3NpbmdcXG4gKiB0aGUgdmFsdWUsIGtleSwgYW5kIGNvbXBsZXRlIG9iamVjdCBmb3IgZWFjaCBwcm9wZXJ0eS5cXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fEFycmF5fSBvYmogVGhlIG9iamVjdCB0byBpdGVyYXRlXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm4gVGhlIGNhbGxiYWNrIHRvIGludm9rZSBmb3IgZWFjaCBpdGVtXFxuICovXFxuZnVuY3Rpb24gZm9yRWFjaChvYmosIGZuKSB7XFxuICAvLyBEb24ndCBib3RoZXIgaWYgbm8gdmFsdWUgcHJvdmlkZWRcXG4gIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgLy8gRm9yY2UgYW4gYXJyYXkgaWYgbm90IGFscmVhZHkgc29tZXRoaW5nIGl0ZXJhYmxlXFxuICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpIHtcXG4gICAgLyplc2xpbnQgbm8tcGFyYW0tcmVhc3NpZ246MCovXFxuICAgIG9iaiA9IFtvYmpdO1xcbiAgfVxcblxcbiAgaWYgKGlzQXJyYXkob2JqKSkge1xcbiAgICAvLyBJdGVyYXRlIG92ZXIgYXJyYXkgdmFsdWVzXFxuICAgIGZvciAodmFyIGkgPSAwLCBsID0gb2JqLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICAgIGZuLmNhbGwobnVsbCwgb2JqW2ldLCBpLCBvYmopO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBJdGVyYXRlIG92ZXIgb2JqZWN0IGtleXNcXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XFxuICAgICAgICBmbi5jYWxsKG51bGwsIG9ialtrZXldLCBrZXksIG9iaik7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIEFjY2VwdHMgdmFyYXJncyBleHBlY3RpbmcgZWFjaCBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QsIHRoZW5cXG4gKiBpbW11dGFibHkgbWVyZ2VzIHRoZSBwcm9wZXJ0aWVzIG9mIGVhY2ggb2JqZWN0IGFuZCByZXR1cm5zIHJlc3VsdC5cXG4gKlxcbiAqIFdoZW4gbXVsdGlwbGUgb2JqZWN0cyBjb250YWluIHRoZSBzYW1lIGtleSB0aGUgbGF0ZXIgb2JqZWN0IGluXFxuICogdGhlIGFyZ3VtZW50cyBsaXN0IHdpbGwgdGFrZSBwcmVjZWRlbmNlLlxcbiAqXFxuICogRXhhbXBsZTpcXG4gKlxcbiAqIGBgYGpzXFxuICogdmFyIHJlc3VsdCA9IG1lcmdlKHtmb286IDEyM30sIHtmb286IDQ1Nn0pO1xcbiAqIGNvbnNvbGUubG9nKHJlc3VsdC5mb28pOyAvLyBvdXRwdXRzIDQ1NlxcbiAqIGBgYFxcbiAqXFxuICogQHBhcmFtIHtPYmplY3R9IG9iajEgT2JqZWN0IHRvIG1lcmdlXFxuICogQHJldHVybnMge09iamVjdH0gUmVzdWx0IG9mIGFsbCBtZXJnZSBwcm9wZXJ0aWVzXFxuICovXFxuZnVuY3Rpb24gbWVyZ2UoLyogb2JqMSwgb2JqMiwgb2JqMywgLi4uICovKSB7XFxuICB2YXIgcmVzdWx0ID0ge307XFxuICBmdW5jdGlvbiBhc3NpZ25WYWx1ZSh2YWwsIGtleSkge1xcbiAgICBpZiAodHlwZW9mIHJlc3VsdFtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJlc3VsdFtrZXldID0gbWVyZ2UocmVzdWx0W2tleV0sIHZhbCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICBmb3JFYWNoKGFyZ3VtZW50c1tpXSwgYXNzaWduVmFsdWUpO1xcbiAgfVxcbiAgcmV0dXJuIHJlc3VsdDtcXG59XFxuXFxuLyoqXFxuICogRnVuY3Rpb24gZXF1YWwgdG8gbWVyZ2Ugd2l0aCB0aGUgZGlmZmVyZW5jZSBiZWluZyB0aGF0IG5vIHJlZmVyZW5jZVxcbiAqIHRvIG9yaWdpbmFsIG9iamVjdHMgaXMga2VwdC5cXG4gKlxcbiAqIEBzZWUgbWVyZ2VcXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqMSBPYmplY3QgdG8gbWVyZ2VcXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXN1bHQgb2YgYWxsIG1lcmdlIHByb3BlcnRpZXNcXG4gKi9cXG5mdW5jdGlvbiBkZWVwTWVyZ2UoLyogb2JqMSwgb2JqMiwgb2JqMywgLi4uICovKSB7XFxuICB2YXIgcmVzdWx0ID0ge307XFxuICBmdW5jdGlvbiBhc3NpZ25WYWx1ZSh2YWwsIGtleSkge1xcbiAgICBpZiAodHlwZW9mIHJlc3VsdFtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJlc3VsdFtrZXldID0gZGVlcE1lcmdlKHJlc3VsdFtrZXldLCB2YWwpO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdvYmplY3QnKSB7XFxuICAgICAgcmVzdWx0W2tleV0gPSBkZWVwTWVyZ2Uoe30sIHZhbCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICBmb3JFYWNoKGFyZ3VtZW50c1tpXSwgYXNzaWduVmFsdWUpO1xcbiAgfVxcbiAgcmV0dXJuIHJlc3VsdDtcXG59XFxuXFxuLyoqXFxuICogRXh0ZW5kcyBvYmplY3QgYSBieSBtdXRhYmx5IGFkZGluZyB0byBpdCB0aGUgcHJvcGVydGllcyBvZiBvYmplY3QgYi5cXG4gKlxcbiAqIEBwYXJhbSB7T2JqZWN0fSBhIFRoZSBvYmplY3QgdG8gYmUgZXh0ZW5kZWRcXG4gKiBAcGFyYW0ge09iamVjdH0gYiBUaGUgb2JqZWN0IHRvIGNvcHkgcHJvcGVydGllcyBmcm9tXFxuICogQHBhcmFtIHtPYmplY3R9IHRoaXNBcmcgVGhlIG9iamVjdCB0byBiaW5kIGZ1bmN0aW9uIHRvXFxuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIHZhbHVlIG9mIG9iamVjdCBhXFxuICovXFxuZnVuY3Rpb24gZXh0ZW5kKGEsIGIsIHRoaXNBcmcpIHtcXG4gIGZvckVhY2goYiwgZnVuY3Rpb24gYXNzaWduVmFsdWUodmFsLCBrZXkpIHtcXG4gICAgaWYgKHRoaXNBcmcgJiYgdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGFba2V5XSA9IGJpbmQodmFsLCB0aGlzQXJnKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhW2tleV0gPSB2YWw7XFxuICAgIH1cXG4gIH0pO1xcbiAgcmV0dXJuIGE7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0ge1xcbiAgaXNBcnJheTogaXNBcnJheSxcXG4gIGlzQXJyYXlCdWZmZXI6IGlzQXJyYXlCdWZmZXIsXFxuICBpc0J1ZmZlcjogaXNCdWZmZXIsXFxuICBpc0Zvcm1EYXRhOiBpc0Zvcm1EYXRhLFxcbiAgaXNBcnJheUJ1ZmZlclZpZXc6IGlzQXJyYXlCdWZmZXJWaWV3LFxcbiAgaXNTdHJpbmc6IGlzU3RyaW5nLFxcbiAgaXNOdW1iZXI6IGlzTnVtYmVyLFxcbiAgaXNPYmplY3Q6IGlzT2JqZWN0LFxcbiAgaXNVbmRlZmluZWQ6IGlzVW5kZWZpbmVkLFxcbiAgaXNEYXRlOiBpc0RhdGUsXFxuICBpc0ZpbGU6IGlzRmlsZSxcXG4gIGlzQmxvYjogaXNCbG9iLFxcbiAgaXNGdW5jdGlvbjogaXNGdW5jdGlvbixcXG4gIGlzU3RyZWFtOiBpc1N0cmVhbSxcXG4gIGlzVVJMU2VhcmNoUGFyYW1zOiBpc1VSTFNlYXJjaFBhcmFtcyxcXG4gIGlzU3RhbmRhcmRCcm93c2VyRW52OiBpc1N0YW5kYXJkQnJvd3NlckVudixcXG4gIGZvckVhY2g6IGZvckVhY2gsXFxuICBtZXJnZTogbWVyZ2UsXFxuICBkZWVwTWVyZ2U6IGRlZXBNZXJnZSxcXG4gIGV4dGVuZDogZXh0ZW5kLFxcbiAgdHJpbTogdHJpbVxcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2ZFhScGJITXVhbk0vTlRnd01TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc1owVkJRV2RDTzBGQlEyNURMR1ZCUVdVc2JVSkJRVThzUTBGQlF5eHZSRUZCVnpzN1FVRkZiRU03TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0VzVVVGQlVUdEJRVU55UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFJRVUZSTzBGQlEzSkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEZGQlFWRTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNVVUZCVVR0QlFVTnlRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEZGQlFWRTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNVVUZCVVR0QlFVTnlRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFOUJRVTg3UVVGRGJFSXNZVUZCWVN4UlFVRlJPMEZCUTNKQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4aFFVRmhMRkZCUVZFN1FVRkRja0k3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1VVRkJVVHRCUVVOeVFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1lVRkJZU3hSUVVGUk8wRkJRM0pDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhoUVVGaExGRkJRVkU3UVVGRGNrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0VzVVVGQlVUdEJRVU55UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzWVVGQllTeFJRVUZSTzBGQlEzSkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEZGQlFWRTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRXNUMEZCVHp0QlFVTndRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1lVRkJZVHRCUVVONFFpeFhRVUZYTEZOQlFWTTdRVUZEY0VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF5eFBRVUZQTzBGQlF6RkRPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVExFZEJRVWNzVTBGQlV6dEJRVU0xUXl3eVFrRkJNa0k3UVVGRE0wSTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeGhRVUZoTEU5QlFVODdRVUZEY0VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDFRMEZCZFVNc1QwRkJUenRCUVVNNVF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0VzVDBGQlR6dEJRVU53UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NaME5CUVdkRE8wRkJRMmhETEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUVzZFVOQlFYVkRMRTlCUVU4N1FVRkRPVU03UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEU5QlFVODdRVUZEYkVJc1dVRkJXU3hQUVVGUE8wRkJRMjVDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwzVjBhV3h6TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1ltbHVaQ0E5SUhKbGNYVnBjbVVvSnk0dmFHVnNjR1Z5Y3k5aWFXNWtKeWs3WEc1MllYSWdhWE5DZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RwY3kxaWRXWm1aWEluS1R0Y2JseHVMeXBuYkc5aVlXd2dkRzlUZEhKcGJtYzZkSEoxWlNvdlhHNWNiaTh2SUhWMGFXeHpJR2x6SUdFZ2JHbGljbUZ5ZVNCdlppQm5aVzVsY21saklHaGxiSEJsY2lCbWRXNWpkR2x2Ym5NZ2JtOXVMWE53WldOcFptbGpJSFJ2SUdGNGFXOXpYRzVjYm5aaGNpQjBiMU4wY21sdVp5QTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtYzdYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZVzRnUVhKeVlYbGNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RtRnNJRlJvWlNCMllXeDFaU0IwYnlCMFpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1ltOXZiR1ZoYm4wZ1ZISjFaU0JwWmlCMllXeDFaU0JwY3lCaGJpQkJjbkpoZVN3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6UVhKeVlYa29kbUZzS1NCN1hHNGdJSEpsZEhWeWJpQjBiMU4wY21sdVp5NWpZV3hzS0haaGJDa2dQVDA5SUNkYmIySnFaV04wSUVGeWNtRjVYU2M3WEc1OVhHNWNiaThxS2x4dUlDb2dSR1YwWlhKdGFXNWxJR2xtSUdFZ2RtRnNkV1VnYVhNZ1lXNGdRWEp5WVhsQ2RXWm1aWEpjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdkbUZzSUZSb1pTQjJZV3gxWlNCMGJ5QjBaWE4wWEc0Z0tpQkFjbVYwZFhKdWN5QjdZbTl2YkdWaGJuMGdWSEoxWlNCcFppQjJZV3gxWlNCcGN5QmhiaUJCY25KaGVVSjFabVpsY2l3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6UVhKeVlYbENkV1ptWlhJb2RtRnNLU0I3WEc0Z0lISmxkSFZ5YmlCMGIxTjBjbWx1Wnk1allXeHNLSFpoYkNrZ1BUMDlJQ2RiYjJKcVpXTjBJRUZ5Y21GNVFuVm1abVZ5WFNjN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZU0JHYjNKdFJHRjBZVnh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdUMkpxWldOMGZTQjJZV3dnVkdobElIWmhiSFZsSUhSdklIUmxjM1JjYmlBcUlFQnlaWFIxY201eklIdGliMjlzWldGdWZTQlVjblZsSUdsbUlIWmhiSFZsSUdseklHRnVJRVp2Y20xRVlYUmhMQ0J2ZEdobGNuZHBjMlVnWm1Gc2MyVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z2FYTkdiM0p0UkdGMFlTaDJZV3dwSUh0Y2JpQWdjbVYwZFhKdUlDaDBlWEJsYjJZZ1JtOXliVVJoZEdFZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1NBbUppQW9kbUZzSUdsdWMzUmhibU5sYjJZZ1JtOXliVVJoZEdFcE8xeHVmVnh1WEc0dktpcGNiaUFxSUVSbGRHVnliV2x1WlNCcFppQmhJSFpoYkhWbElHbHpJR0VnZG1sbGR5QnZiaUJoYmlCQmNuSmhlVUoxWm1abGNseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1QySnFaV04wZlNCMllXd2dWR2hsSUhaaGJIVmxJSFJ2SUhSbGMzUmNiaUFxSUVCeVpYUjFjbTV6SUh0aWIyOXNaV0Z1ZlNCVWNuVmxJR2xtSUhaaGJIVmxJR2x6SUdFZ2RtbGxkeUJ2YmlCaGJpQkJjbkpoZVVKMVptWmxjaXdnYjNSb1pYSjNhWE5sSUdaaGJITmxYRzRnS2k5Y2JtWjFibU4wYVc5dUlHbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM0tIWmhiQ2tnZTF4dUlDQjJZWElnY21WemRXeDBPMXh1SUNCcFppQW9LSFI1Y0dWdlppQkJjbkpoZVVKMVptWmxjaUFoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJQ1ltSUNoQmNuSmhlVUoxWm1abGNpNXBjMVpwWlhjcEtTQjdYRzRnSUNBZ2NtVnpkV3gwSUQwZ1FYSnlZWGxDZFdabVpYSXVhWE5XYVdWM0tIWmhiQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WemRXeDBJRDBnS0haaGJDa2dKaVlnS0haaGJDNWlkV1ptWlhJcElDWW1JQ2gyWVd3dVluVm1abVZ5SUdsdWMzUmhibU5sYjJZZ1FYSnlZWGxDZFdabVpYSXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE4xYkhRN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZU0JUZEhKcGJtZGNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RtRnNJRlJvWlNCMllXeDFaU0IwYnlCMFpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1ltOXZiR1ZoYm4wZ1ZISjFaU0JwWmlCMllXeDFaU0JwY3lCaElGTjBjbWx1Wnl3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6VTNSeWFXNW5LSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0ozTjBjbWx1WnljN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdZU0JPZFcxaVpYSmNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ2RtRnNJRlJvWlNCMllXeDFaU0IwYnlCMFpYTjBYRzRnS2lCQWNtVjBkWEp1Y3lCN1ltOXZiR1ZoYm4wZ1ZISjFaU0JwWmlCMllXeDFaU0JwY3lCaElFNTFiV0psY2l3Z2IzUm9aWEozYVhObElHWmhiSE5sWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6VG5WdFltVnlLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0oyNTFiV0psY2ljN1hHNTlYRzVjYmk4cUtseHVJQ29nUkdWMFpYSnRhVzVsSUdsbUlHRWdkbUZzZFdVZ2FYTWdkVzVrWldacGJtVmtYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RHaGxJSFpoYkhWbElHbHpJSFZ1WkdWbWFXNWxaQ3dnYjNSb1pYSjNhWE5sSUdaaGJITmxYRzRnS2k5Y2JtWjFibU4wYVc5dUlHbHpWVzVrWldacGJtVmtLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0ozVnVaR1ZtYVc1bFpDYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVc0Z1QySnFaV04wWEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSFpoYkNCVWFHVWdkbUZzZFdVZ2RHOGdkR1Z6ZEZ4dUlDb2dRSEpsZEhWeWJuTWdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdkbUZzZFdVZ2FYTWdZVzRnVDJKcVpXTjBMQ0J2ZEdobGNuZHBjMlVnWm1Gc2MyVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z2FYTlBZbXBsWTNRb2RtRnNLU0I3WEc0Z0lISmxkSFZ5YmlCMllXd2dJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjlpYW1WamRDYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCRVlYUmxYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQkVZWFJsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlZjYmlBcUwxeHVablZ1WTNScGIyNGdhWE5FWVhSbEtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z2RHOVRkSEpwYm1jdVkyRnNiQ2gyWVd3cElEMDlQU0FuVzI5aWFtVmpkQ0JFWVhSbFhTYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCR2FXeGxYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQkdhV3hsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlZjYmlBcUwxeHVablZ1WTNScGIyNGdhWE5HYVd4bEtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z2RHOVRkSEpwYm1jdVkyRnNiQ2gyWVd3cElEMDlQU0FuVzI5aWFtVmpkQ0JHYVd4bFhTYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCQ2JHOWlYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQkNiRzlpTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlZjYmlBcUwxeHVablZ1WTNScGIyNGdhWE5DYkc5aUtIWmhiQ2tnZTF4dUlDQnlaWFIxY200Z2RHOVRkSEpwYm1jdVkyRnNiQ2gyWVd3cElEMDlQU0FuVzI5aWFtVmpkQ0JDYkc5aVhTYzdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1JHVjBaWEp0YVc1bElHbG1JR0VnZG1Gc2RXVWdhWE1nWVNCR2RXNWpkR2x2Ymx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0IyWVd3Z1ZHaGxJSFpoYkhWbElIUnZJSFJsYzNSY2JpQXFJRUJ5WlhSMWNtNXpJSHRpYjI5c1pXRnVmU0JVY25WbElHbG1JSFpoYkhWbElHbHpJR0VnUm5WdVkzUnBiMjRzSUc5MGFHVnlkMmx6WlNCbVlXeHpaVnh1SUNvdlhHNW1kVzVqZEdsdmJpQnBjMFoxYm1OMGFXOXVLSFpoYkNrZ2UxeHVJQ0J5WlhSMWNtNGdkRzlUZEhKcGJtY3VZMkZzYkNoMllXd3BJRDA5UFNBblcyOWlhbVZqZENCR2RXNWpkR2x2Ymwwbk8xeHVmVnh1WEc0dktpcGNiaUFxSUVSbGRHVnliV2x1WlNCcFppQmhJSFpoYkhWbElHbHpJR0VnVTNSeVpXRnRYRzRnS2x4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlIWmhiQ0JVYUdVZ2RtRnNkV1VnZEc4Z2RHVnpkRnh1SUNvZ1FISmxkSFZ5Ym5NZ2UySnZiMnhsWVc1OUlGUnlkV1VnYVdZZ2RtRnNkV1VnYVhNZ1lTQlRkSEpsWVcwc0lHOTBhR1Z5ZDJselpTQm1ZV3h6WlZ4dUlDb3ZYRzVtZFc1amRHbHZiaUJwYzFOMGNtVmhiU2gyWVd3cElIdGNiaUFnY21WMGRYSnVJR2x6VDJKcVpXTjBLSFpoYkNrZ0ppWWdhWE5HZFc1amRHbHZiaWgyWVd3dWNHbHdaU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dSR1YwWlhKdGFXNWxJR2xtSUdFZ2RtRnNkV1VnYVhNZ1lTQlZVa3hUWldGeVkyaFFZWEpoYlhNZ2IySnFaV04wWEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSFpoYkNCVWFHVWdkbUZzZFdVZ2RHOGdkR1Z6ZEZ4dUlDb2dRSEpsZEhWeWJuTWdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdkbUZzZFdVZ2FYTWdZU0JWVWt4VFpXRnlZMmhRWVhKaGJYTWdiMkpxWldOMExDQnZkR2hsY25kcGMyVWdabUZzYzJWY2JpQXFMMXh1Wm5WdVkzUnBiMjRnYVhOVlVreFRaV0Z5WTJoUVlYSmhiWE1vZG1Gc0tTQjdYRzRnSUhKbGRIVnliaUIwZVhCbGIyWWdWVkpNVTJWaGNtTm9VR0Z5WVcxeklDRTlQU0FuZFc1a1pXWnBibVZrSnlBbUppQjJZV3dnYVc1emRHRnVZMlZ2WmlCVlVreFRaV0Z5WTJoUVlYSmhiWE03WEc1OVhHNWNiaThxS2x4dUlDb2dWSEpwYlNCbGVHTmxjM01nZDJocGRHVnpjR0ZqWlNCdlptWWdkR2hsSUdKbFoybHVibWx1WnlCaGJtUWdaVzVrSUc5bUlHRWdjM1J5YVc1blhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0VGRISnBibWQ5SUhOMGNpQlVhR1VnVTNSeWFXNW5JSFJ2SUhSeWFXMWNiaUFxSUVCeVpYUjFjbTV6SUh0VGRISnBibWQ5SUZSb1pTQlRkSEpwYm1jZ1puSmxaV1FnYjJZZ1pYaGpaWE56SUhkb2FYUmxjM0JoWTJWY2JpQXFMMXh1Wm5WdVkzUnBiMjRnZEhKcGJTaHpkSElwSUh0Y2JpQWdjbVYwZFhKdUlITjBjaTV5WlhCc1lXTmxLQzllWEZ4ektpOHNJQ2NuS1M1eVpYQnNZV05sS0M5Y1hITXFKQzhzSUNjbktUdGNibjFjYmx4dUx5b3FYRzRnS2lCRVpYUmxjbTFwYm1VZ2FXWWdkMlVuY21VZ2NuVnVibWx1WnlCcGJpQmhJSE4wWVc1a1lYSmtJR0p5YjNkelpYSWdaVzUyYVhKdmJtMWxiblJjYmlBcVhHNGdLaUJVYUdseklHRnNiRzkzY3lCaGVHbHZjeUIwYnlCeWRXNGdhVzRnWVNCM1pXSWdkMjl5YTJWeUxDQmhibVFnY21WaFkzUXRibUYwYVhabExseHVJQ29nUW05MGFDQmxiblpwY205dWJXVnVkSE1nYzNWd2NHOXlkQ0JZVFV4SWRIUndVbVZ4ZFdWemRDd2dZblYwSUc1dmRDQm1kV3hzZVNCemRHRnVaR0Z5WkNCbmJHOWlZV3h6TGx4dUlDcGNiaUFxSUhkbFlpQjNiM0pyWlhKek9seHVJQ29nSUhSNWNHVnZaaUIzYVc1a2IzY2dMVDRnZFc1a1pXWnBibVZrWEc0Z0tpQWdkSGx3Wlc5bUlHUnZZM1Z0Wlc1MElDMCtJSFZ1WkdWbWFXNWxaRnh1SUNwY2JpQXFJSEpsWVdOMExXNWhkR2wyWlRwY2JpQXFJQ0J1WVhacFoyRjBiM0l1Y0hKdlpIVmpkQ0F0UGlBblVtVmhZM1JPWVhScGRtVW5YRzRnS2lCdVlYUnBkbVZ6WTNKcGNIUmNiaUFxSUNCdVlYWnBaMkYwYjNJdWNISnZaSFZqZENBdFBpQW5UbUYwYVhabFUyTnlhWEIwSnlCdmNpQW5UbE1uWEc0Z0tpOWNibVoxYm1OMGFXOXVJR2x6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUyS0NrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUc1aGRtbG5ZWFJ2Y2lBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnSmlZZ0tHNWhkbWxuWVhSdmNpNXdjbTlrZFdOMElEMDlQU0FuVW1WaFkzUk9ZWFJwZG1VbklIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdibUYyYVdkaGRHOXlMbkJ5YjJSMVkzUWdQVDA5SUNkT1lYUnBkbVZUWTNKcGNIUW5JSHg4WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYm1GMmFXZGhkRzl5TG5CeWIyUjFZM1FnUFQwOUlDZE9VeWNwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlBb1hHNGdJQ0FnZEhsd1pXOW1JSGRwYm1SdmR5QWhQVDBnSjNWdVpHVm1hVzVsWkNjZ0ppWmNiaUFnSUNCMGVYQmxiMllnWkc5amRXMWxiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5YRzRnSUNrN1hHNTlYRzVjYmk4cUtseHVJQ29nU1hSbGNtRjBaU0J2ZG1WeUlHRnVJRUZ5Y21GNUlHOXlJR0Z1SUU5aWFtVmpkQ0JwYm5admEybHVaeUJoSUdaMWJtTjBhVzl1SUdadmNpQmxZV05vSUdsMFpXMHVYRzRnS2x4dUlDb2dTV1lnWUc5aWFtQWdhWE1nWVc0Z1FYSnlZWGtnWTJGc2JHSmhZMnNnZDJsc2JDQmlaU0JqWVd4c1pXUWdjR0Z6YzJsdVoxeHVJQ29nZEdobElIWmhiSFZsTENCcGJtUmxlQ3dnWVc1a0lHTnZiWEJzWlhSbElHRnljbUY1SUdadmNpQmxZV05vSUdsMFpXMHVYRzRnS2x4dUlDb2dTV1lnSjI5aWFpY2dhWE1nWVc0Z1QySnFaV04wSUdOaGJHeGlZV05ySUhkcGJHd2dZbVVnWTJGc2JHVmtJSEJoYzNOcGJtZGNiaUFxSUhSb1pTQjJZV3gxWlN3Z2EyVjVMQ0JoYm1RZ1kyOXRjR3hsZEdVZ2IySnFaV04wSUdadmNpQmxZV05vSUhCeWIzQmxjblI1TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmRUZ5Y21GNWZTQnZZbW9nVkdobElHOWlhbVZqZENCMGJ5QnBkR1Z5WVhSbFhHNGdLaUJBY0dGeVlXMGdlMFoxYm1OMGFXOXVmU0JtYmlCVWFHVWdZMkZzYkdKaFkyc2dkRzhnYVc1MmIydGxJR1p2Y2lCbFlXTm9JR2wwWlcxY2JpQXFMMXh1Wm5WdVkzUnBiMjRnWm05eVJXRmphQ2h2WW1vc0lHWnVLU0I3WEc0Z0lDOHZJRVJ2YmlkMElHSnZkR2hsY2lCcFppQnVieUIyWVd4MVpTQndjbTkyYVdSbFpGeHVJQ0JwWmlBb2IySnFJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUJ2WW1vZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnTHk4Z1JtOXlZMlVnWVc0Z1lYSnlZWGtnYVdZZ2JtOTBJR0ZzY21WaFpIa2djMjl0WlhSb2FXNW5JR2wwWlhKaFlteGxYRzRnSUdsbUlDaDBlWEJsYjJZZ2IySnFJQ0U5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUM4cVpYTnNhVzUwSUc1dkxYQmhjbUZ0TFhKbFlYTnphV2R1T2pBcUwxeHVJQ0FnSUc5aWFpQTlJRnR2WW1wZE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dselFYSnlZWGtvYjJKcUtTa2dlMXh1SUNBZ0lDOHZJRWwwWlhKaGRHVWdiM1psY2lCaGNuSmhlU0IyWVd4MVpYTmNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYkNBOUlHOWlhaTVzWlc1bmRHZzdJR2tnUENCc095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdadUxtTmhiR3dvYm5Wc2JDd2diMkpxVzJsZExDQnBMQ0J2WW1vcE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QkpkR1Z5WVhSbElHOTJaWElnYjJKcVpXTjBJR3RsZVhOY2JpQWdJQ0JtYjNJZ0tIWmhjaUJyWlhrZ2FXNGdiMkpxS1NCN1hHNGdJQ0FnSUNCcFppQW9UMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzlpYWl3Z2EyVjVLU2tnZTF4dUlDQWdJQ0FnSUNCbWJpNWpZV3hzS0c1MWJHd3NJRzlpYWx0clpYbGRMQ0JyWlhrc0lHOWlhaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nUVdOalpYQjBjeUIyWVhKaGNtZHpJR1Y0Y0dWamRHbHVaeUJsWVdOb0lHRnlaM1Z0Wlc1MElIUnZJR0psSUdGdUlHOWlhbVZqZEN3Z2RHaGxibHh1SUNvZ2FXMXRkWFJoWW14NUlHMWxjbWRsY3lCMGFHVWdjSEp2Y0dWeWRHbGxjeUJ2WmlCbFlXTm9JRzlpYW1WamRDQmhibVFnY21WMGRYSnVjeUJ5WlhOMWJIUXVYRzRnS2x4dUlDb2dWMmhsYmlCdGRXeDBhWEJzWlNCdlltcGxZM1J6SUdOdmJuUmhhVzRnZEdobElITmhiV1VnYTJWNUlIUm9aU0JzWVhSbGNpQnZZbXBsWTNRZ2FXNWNiaUFxSUhSb1pTQmhjbWQxYldWdWRITWdiR2x6ZENCM2FXeHNJSFJoYTJVZ2NISmxZMlZrWlc1alpTNWNiaUFxWEc0Z0tpQkZlR0Z0Y0d4bE9seHVJQ3BjYmlBcUlHQmdZR3B6WEc0Z0tpQjJZWElnY21WemRXeDBJRDBnYldWeVoyVW9lMlp2YnpvZ01USXpmU3dnZTJadmJ6b2dORFUyZlNrN1hHNGdLaUJqYjI1emIyeGxMbXh2WnloeVpYTjFiSFF1Wm05dktUc2dMeThnYjNWMGNIVjBjeUEwTlRaY2JpQXFJR0JnWUZ4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VDJKcVpXTjBmU0J2WW1veElFOWlhbVZqZENCMGJ5QnRaWEpuWlZ4dUlDb2dRSEpsZEhWeWJuTWdlMDlpYW1WamRIMGdVbVZ6ZFd4MElHOW1JR0ZzYkNCdFpYSm5aU0J3Y205d1pYSjBhV1Z6WEc0Z0tpOWNibVoxYm1OMGFXOXVJRzFsY21kbEtDOHFJRzlpYWpFc0lHOWlhaklzSUc5aWFqTXNJQzR1TGlBcUx5a2dlMXh1SUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEc0Z0lHWjFibU4wYVc5dUlHRnpjMmxuYmxaaGJIVmxLSFpoYkN3Z2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhOMWJIUmJhMlY1WFNBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJSEpsYzNWc2RGdHJaWGxkSUQwZ2JXVnlaMlVvY21WemRXeDBXMnRsZVYwc0lIWmhiQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjM1ZzZEZ0clpYbGRJRDBnZG1Gc08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdZWEpuZFcxbGJuUnpMbXhsYm1kMGFEc2dhU0E4SUd3N0lHa3JLeWtnZTF4dUlDQWdJR1p2Y2tWaFkyZ29ZWEpuZFcxbGJuUnpXMmxkTENCaGMzTnBaMjVXWVd4MVpTazdYRzRnSUgxY2JpQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JuMWNibHh1THlvcVhHNGdLaUJHZFc1amRHbHZiaUJsY1hWaGJDQjBieUJ0WlhKblpTQjNhWFJvSUhSb1pTQmthV1ptWlhKbGJtTmxJR0psYVc1bklIUm9ZWFFnYm04Z2NtVm1aWEpsYm1ObFhHNGdLaUIwYnlCdmNtbG5hVzVoYkNCdlltcGxZM1J6SUdseklHdGxjSFF1WEc0Z0tseHVJQ29nUUhObFpTQnRaWEpuWlZ4dUlDb2dRSEJoY21GdElIdFBZbXBsWTNSOUlHOWlhakVnVDJKcVpXTjBJSFJ2SUcxbGNtZGxYRzRnS2lCQWNtVjBkWEp1Y3lCN1QySnFaV04wZlNCU1pYTjFiSFFnYjJZZ1lXeHNJRzFsY21kbElIQnliM0JsY25ScFpYTmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1pHVmxjRTFsY21kbEtDOHFJRzlpYWpFc0lHOWlhaklzSUc5aWFqTXNJQzR1TGlBcUx5a2dlMXh1SUNCMllYSWdjbVZ6ZFd4MElEMGdlMzA3WEc0Z0lHWjFibU4wYVc5dUlHRnpjMmxuYmxaaGJIVmxLSFpoYkN3Z2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ5WlhOMWJIUmJhMlY1WFNBOVBUMGdKMjlpYW1WamRDY2dKaVlnZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJSEpsYzNWc2RGdHJaWGxkSUQwZ1pHVmxjRTFsY21kbEtISmxjM1ZzZEZ0clpYbGRMQ0IyWVd3cE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhaaGJDQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUhKbGMzVnNkRnRyWlhsZElEMGdaR1ZsY0UxbGNtZGxLSHQ5TENCMllXd3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYTjFiSFJiYTJWNVhTQTlJSFpoYkR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYkNBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnN0lHa2dQQ0JzT3lCcEt5c3BJSHRjYmlBZ0lDQm1iM0pGWVdOb0tHRnlaM1Z0Wlc1MGMxdHBYU3dnWVhOemFXZHVWbUZzZFdVcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OVhHNWNiaThxS2x4dUlDb2dSWGgwWlc1a2N5QnZZbXBsWTNRZ1lTQmllU0J0ZFhSaFlteDVJR0ZrWkdsdVp5QjBieUJwZENCMGFHVWdjSEp2Y0dWeWRHbGxjeUJ2WmlCdlltcGxZM1FnWWk1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTA5aWFtVmpkSDBnWVNCVWFHVWdiMkpxWldOMElIUnZJR0psSUdWNGRHVnVaR1ZrWEc0Z0tpQkFjR0Z5WVcwZ2UwOWlhbVZqZEgwZ1lpQlVhR1VnYjJKcVpXTjBJSFJ2SUdOdmNIa2djSEp2Y0dWeWRHbGxjeUJtY205dFhHNGdLaUJBY0dGeVlXMGdlMDlpYW1WamRIMGdkR2hwYzBGeVp5QlVhR1VnYjJKcVpXTjBJSFJ2SUdKcGJtUWdablZ1WTNScGIyNGdkRzljYmlBcUlFQnlaWFIxY200Z2UwOWlhbVZqZEgwZ1ZHaGxJSEpsYzNWc2RHbHVaeUIyWVd4MVpTQnZaaUJ2WW1wbFkzUWdZVnh1SUNvdlhHNW1kVzVqZEdsdmJpQmxlSFJsYm1Rb1lTd2dZaXdnZEdocGMwRnlaeWtnZTF4dUlDQm1iM0pGWVdOb0tHSXNJR1oxYm1OMGFXOXVJR0Z6YzJsbmJsWmhiSFZsS0haaGJDd2dhMlY1S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE5CY21jZ0ppWWdkSGx3Wlc5bUlIWmhiQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdZVnRyWlhsZElEMGdZbWx1WkNoMllXd3NJSFJvYVhOQmNtY3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaFcydGxlVjBnUFNCMllXdzdYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JpQWdjbVYwZFhKdUlHRTdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JwYzBGeWNtRjVPaUJwYzBGeWNtRjVMRnh1SUNCcGMwRnljbUY1UW5WbVptVnlPaUJwYzBGeWNtRjVRblZtWm1WeUxGeHVJQ0JwYzBKMVptWmxjam9nYVhOQ2RXWm1aWElzWEc0Z0lHbHpSbTl5YlVSaGRHRTZJR2x6Um05eWJVUmhkR0VzWEc0Z0lHbHpRWEp5WVhsQ2RXWm1aWEpXYVdWM09pQnBjMEZ5Y21GNVFuVm1abVZ5Vm1sbGR5eGNiaUFnYVhOVGRISnBibWM2SUdselUzUnlhVzVuTEZ4dUlDQnBjMDUxYldKbGNqb2dhWE5PZFcxaVpYSXNYRzRnSUdselQySnFaV04wT2lCcGMwOWlhbVZqZEN4Y2JpQWdhWE5WYm1SbFptbHVaV1E2SUdselZXNWtaV1pwYm1Wa0xGeHVJQ0JwYzBSaGRHVTZJR2x6UkdGMFpTeGNiaUFnYVhOR2FXeGxPaUJwYzBacGJHVXNYRzRnSUdselFteHZZam9nYVhOQ2JHOWlMRnh1SUNCcGMwWjFibU4wYVc5dU9pQnBjMFoxYm1OMGFXOXVMRnh1SUNCcGMxTjBjbVZoYlRvZ2FYTlRkSEpsWVcwc1hHNGdJR2x6VlZKTVUyVmhjbU5vVUdGeVlXMXpPaUJwYzFWU1RGTmxZWEpqYUZCaGNtRnRjeXhjYmlBZ2FYTlRkR0Z1WkdGeVpFSnliM2R6WlhKRmJuWTZJR2x6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUyTEZ4dUlDQm1iM0pGWVdOb09pQm1iM0pGWVdOb0xGeHVJQ0J0WlhKblpUb2diV1Z5WjJVc1hHNGdJR1JsWlhCTlpYSm5aVG9nWkdWbGNFMWxjbWRsTEZ4dUlDQmxlSFJsYm1RNklHVjRkR1Z1WkN4Y2JpQWdkSEpwYlRvZ2RISnBiVnh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jhc2U2NC1qcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxcbmV4cG9ydHMudG9CeXRlQXJyYXkgPSB0b0J5dGVBcnJheVxcbmV4cG9ydHMuZnJvbUJ5dGVBcnJheSA9IGZyb21CeXRlQXJyYXlcXG5cXG52YXIgbG9va3VwID0gW11cXG52YXIgcmV2TG9va3VwID0gW11cXG52YXIgQXJyID0gdHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnID8gVWludDhBcnJheSA6IEFycmF5XFxuXFxudmFyIGNvZGUgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLydcXG5mb3IgKHZhciBpID0gMCwgbGVuID0gY29kZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xcbiAgbG9va3VwW2ldID0gY29kZVtpXVxcbiAgcmV2TG9va3VwW2NvZGUuY2hhckNvZGVBdChpKV0gPSBpXFxufVxcblxcbi8vIFN1cHBvcnQgZGVjb2RpbmcgVVJMLXNhZmUgYmFzZTY0IHN0cmluZ3MsIGFzIE5vZGUuanMgZG9lcy5cXG4vLyBTZWU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jhc2U2NCNVUkxfYXBwbGljYXRpb25zXFxucmV2TG9va3VwWyctJy5jaGFyQ29kZUF0KDApXSA9IDYyXFxucmV2TG9va3VwWydfJy5jaGFyQ29kZUF0KDApXSA9IDYzXFxuXFxuZnVuY3Rpb24gZ2V0TGVucyAoYjY0KSB7XFxuICB2YXIgbGVuID0gYjY0Lmxlbmd0aFxcblxcbiAgaWYgKGxlbiAlIDQgPiAwKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCcpXFxuICB9XFxuXFxuICAvLyBUcmltIG9mZiBleHRyYSBieXRlcyBhZnRlciBwbGFjZWhvbGRlciBieXRlcyBhcmUgZm91bmRcXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JlYXRnYW1taXQvYmFzZTY0LWpzL2lzc3Vlcy80MlxcbiAgdmFyIHZhbGlkTGVuID0gYjY0LmluZGV4T2YoJz0nKVxcbiAgaWYgKHZhbGlkTGVuID09PSAtMSkgdmFsaWRMZW4gPSBsZW5cXG5cXG4gIHZhciBwbGFjZUhvbGRlcnNMZW4gPSB2YWxpZExlbiA9PT0gbGVuXFxuICAgID8gMFxcbiAgICA6IDQgLSAodmFsaWRMZW4gJSA0KVxcblxcbiAgcmV0dXJuIFt2YWxpZExlbiwgcGxhY2VIb2xkZXJzTGVuXVxcbn1cXG5cXG4vLyBiYXNlNjQgaXMgNC8zICsgdXAgdG8gdHdvIGNoYXJhY3RlcnMgb2YgdGhlIG9yaWdpbmFsIGRhdGFcXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChiNjQpIHtcXG4gIHZhciBsZW5zID0gZ2V0TGVucyhiNjQpXFxuICB2YXIgdmFsaWRMZW4gPSBsZW5zWzBdXFxuICB2YXIgcGxhY2VIb2xkZXJzTGVuID0gbGVuc1sxXVxcbiAgcmV0dXJuICgodmFsaWRMZW4gKyBwbGFjZUhvbGRlcnNMZW4pICogMyAvIDQpIC0gcGxhY2VIb2xkZXJzTGVuXFxufVxcblxcbmZ1bmN0aW9uIF9ieXRlTGVuZ3RoIChiNjQsIHZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW4pIHtcXG4gIHJldHVybiAoKHZhbGlkTGVuICsgcGxhY2VIb2xkZXJzTGVuKSAqIDMgLyA0KSAtIHBsYWNlSG9sZGVyc0xlblxcbn1cXG5cXG5mdW5jdGlvbiB0b0J5dGVBcnJheSAoYjY0KSB7XFxuICB2YXIgdG1wXFxuICB2YXIgbGVucyA9IGdldExlbnMoYjY0KVxcbiAgdmFyIHZhbGlkTGVuID0gbGVuc1swXVxcbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IGxlbnNbMV1cXG5cXG4gIHZhciBhcnIgPSBuZXcgQXJyKF9ieXRlTGVuZ3RoKGI2NCwgdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbikpXFxuXFxuICB2YXIgY3VyQnl0ZSA9IDBcXG5cXG4gIC8vIGlmIHRoZXJlIGFyZSBwbGFjZWhvbGRlcnMsIG9ubHkgZ2V0IHVwIHRvIHRoZSBsYXN0IGNvbXBsZXRlIDQgY2hhcnNcXG4gIHZhciBsZW4gPSBwbGFjZUhvbGRlcnNMZW4gPiAwXFxuICAgID8gdmFsaWRMZW4gLSA0XFxuICAgIDogdmFsaWRMZW5cXG5cXG4gIHZhciBpXFxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDQpIHtcXG4gICAgdG1wID1cXG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAxOCkgfFxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCAxMikgfFxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDIpXSA8PCA2KSB8XFxuICAgICAgcmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAzKV1cXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDE2KSAmIDB4RkZcXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcXG4gIH1cXG5cXG4gIGlmIChwbGFjZUhvbGRlcnNMZW4gPT09IDIpIHtcXG4gICAgdG1wID1cXG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAyKSB8XFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldID4+IDQpXFxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxcbiAgfVxcblxcbiAgaWYgKHBsYWNlSG9sZGVyc0xlbiA9PT0gMSkge1xcbiAgICB0bXAgPVxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDEwKSB8XFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldIDw8IDQpIHxcXG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkgKyAyKV0gPj4gMilcXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDgpICYgMHhGRlxcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcXG4gIH1cXG5cXG4gIHJldHVybiBhcnJcXG59XFxuXFxuZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0IChudW0pIHtcXG4gIHJldHVybiBsb29rdXBbbnVtID4+IDE4ICYgMHgzRl0gK1xcbiAgICBsb29rdXBbbnVtID4+IDEyICYgMHgzRl0gK1xcbiAgICBsb29rdXBbbnVtID4+IDYgJiAweDNGXSArXFxuICAgIGxvb2t1cFtudW0gJiAweDNGXVxcbn1cXG5cXG5mdW5jdGlvbiBlbmNvZGVDaHVuayAodWludDgsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciB0bXBcXG4gIHZhciBvdXRwdXQgPSBbXVxcbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IDMpIHtcXG4gICAgdG1wID1cXG4gICAgICAoKHVpbnQ4W2ldIDw8IDE2KSAmIDB4RkYwMDAwKSArXFxuICAgICAgKCh1aW50OFtpICsgMV0gPDwgOCkgJiAweEZGMDApICtcXG4gICAgICAodWludDhbaSArIDJdICYgMHhGRilcXG4gICAgb3V0cHV0LnB1c2godHJpcGxldFRvQmFzZTY0KHRtcCkpXFxuICB9XFxuICByZXR1cm4gb3V0cHV0LmpvaW4oJycpXFxufVxcblxcbmZ1bmN0aW9uIGZyb21CeXRlQXJyYXkgKHVpbnQ4KSB7XFxuICB2YXIgdG1wXFxuICB2YXIgbGVuID0gdWludDgubGVuZ3RoXFxuICB2YXIgZXh0cmFCeXRlcyA9IGxlbiAlIDMgLy8gaWYgd2UgaGF2ZSAxIGJ5dGUgbGVmdCwgcGFkIDIgYnl0ZXNcXG4gIHZhciBwYXJ0cyA9IFtdXFxuICB2YXIgbWF4Q2h1bmtMZW5ndGggPSAxNjM4MyAvLyBtdXN0IGJlIG11bHRpcGxlIG9mIDNcXG5cXG4gIC8vIGdvIHRocm91Z2ggdGhlIGFycmF5IGV2ZXJ5IHRocmVlIGJ5dGVzLCB3ZSdsbCBkZWFsIHdpdGggdHJhaWxpbmcgc3R1ZmYgbGF0ZXJcXG4gIGZvciAodmFyIGkgPSAwLCBsZW4yID0gbGVuIC0gZXh0cmFCeXRlczsgaSA8IGxlbjI7IGkgKz0gbWF4Q2h1bmtMZW5ndGgpIHtcXG4gICAgcGFydHMucHVzaChlbmNvZGVDaHVuayhcXG4gICAgICB1aW50OCwgaSwgKGkgKyBtYXhDaHVua0xlbmd0aCkgPiBsZW4yID8gbGVuMiA6IChpICsgbWF4Q2h1bmtMZW5ndGgpXFxuICAgICkpXFxuICB9XFxuXFxuICAvLyBwYWQgdGhlIGVuZCB3aXRoIHplcm9zLCBidXQgbWFrZSBzdXJlIHRvIG5vdCBmb3JnZXQgdGhlIGV4dHJhIGJ5dGVzXFxuICBpZiAoZXh0cmFCeXRlcyA9PT0gMSkge1xcbiAgICB0bXAgPSB1aW50OFtsZW4gLSAxXVxcbiAgICBwYXJ0cy5wdXNoKFxcbiAgICAgIGxvb2t1cFt0bXAgPj4gMl0gK1xcbiAgICAgIGxvb2t1cFsodG1wIDw8IDQpICYgMHgzRl0gK1xcbiAgICAgICc9PSdcXG4gICAgKVxcbiAgfSBlbHNlIGlmIChleHRyYUJ5dGVzID09PSAyKSB7XFxuICAgIHRtcCA9ICh1aW50OFtsZW4gLSAyXSA8PCA4KSArIHVpbnQ4W2xlbiAtIDFdXFxuICAgIHBhcnRzLnB1c2goXFxuICAgICAgbG9va3VwW3RtcCA+PiAxMF0gK1xcbiAgICAgIGxvb2t1cFsodG1wID4+IDQpICYgMHgzRl0gK1xcbiAgICAgIGxvb2t1cFsodG1wIDw8IDIpICYgMHgzRl0gK1xcbiAgICAgICc9J1xcbiAgICApXFxuICB9XFxuXFxuICByZXR1cm4gcGFydHMuam9pbignJylcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpWVhObE5qUXRhbk12YVc1a1pYZ3Vhbk0vWXpGa01TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJXVHM3UVVGRldqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNhME5CUVd0RExGTkJRVk03UVVGRE0wTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzWVVGQllTeFRRVUZUTzBGQlEzUkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4eFFrRkJjVUlzVTBGQlV6dEJRVU01UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREJEUVVFd1F5eFZRVUZWTzBGQlEzQkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySmhjMlUyTkMxcWN5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEoxeHVYRzVsZUhCdmNuUnpMbUo1ZEdWTVpXNW5kR2dnUFNCaWVYUmxUR1Z1WjNSb1hHNWxlSEJ2Y25SekxuUnZRbmwwWlVGeWNtRjVJRDBnZEc5Q2VYUmxRWEp5WVhsY2JtVjRjRzl5ZEhNdVpuSnZiVUo1ZEdWQmNuSmhlU0E5SUdaeWIyMUNlWFJsUVhKeVlYbGNibHh1ZG1GeUlHeHZiMnQxY0NBOUlGdGRYRzUyWVhJZ2NtVjJURzl2YTNWd0lEMGdXMTFjYm5aaGNpQkJjbklnUFNCMGVYQmxiMllnVldsdWREaEJjbkpoZVNBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NnUHlCVmFXNTBPRUZ5Y21GNUlEb2dRWEp5WVhsY2JseHVkbUZ5SUdOdlpHVWdQU0FuUVVKRFJFVkdSMGhKU2t0TVRVNVBVRkZTVTFSVlZsZFlXVnBoWW1Oa1pXWm5hR2xxYTJ4dGJtOXdjWEp6ZEhWMmQzaDVlakF4TWpNME5UWTNPRGtyTHlkY2JtWnZjaUFvZG1GeUlHa2dQU0F3TENCc1pXNGdQU0JqYjJSbExteGxibWQwYURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lHeHZiMnQxY0Z0cFhTQTlJR052WkdWYmFWMWNiaUFnY21WMlRHOXZhM1Z3VzJOdlpHVXVZMmhoY2tOdlpHVkJkQ2hwS1YwZ1BTQnBYRzU5WEc1Y2JpOHZJRk4xY0hCdmNuUWdaR1ZqYjJScGJtY2dWVkpNTFhOaFptVWdZbUZ6WlRZMElITjBjbWx1WjNNc0lHRnpJRTV2WkdVdWFuTWdaRzlsY3k1Y2JpOHZJRk5sWlRvZ2FIUjBjSE02THk5bGJpNTNhV3RwY0dWa2FXRXViM0puTDNkcGEya3ZRbUZ6WlRZMEkxVlNURjloY0hCc2FXTmhkR2x2Ym5OY2JuSmxka3h2YjJ0MWNGc25MU2N1WTJoaGNrTnZaR1ZCZENnd0tWMGdQU0EyTWx4dWNtVjJURzl2YTNWd1d5ZGZKeTVqYUdGeVEyOWtaVUYwS0RBcFhTQTlJRFl6WEc1Y2JtWjFibU4wYVc5dUlHZGxkRXhsYm5NZ0tHSTJOQ2tnZTF4dUlDQjJZWElnYkdWdUlEMGdZalkwTG14bGJtZDBhRnh1WEc0Z0lHbG1JQ2hzWlc0Z0pTQTBJRDRnTUNrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduU1c1MllXeHBaQ0J6ZEhKcGJtY3VJRXhsYm1kMGFDQnRkWE4wSUdKbElHRWdiWFZzZEdsd2JHVWdiMllnTkNjcFhHNGdJSDFjYmx4dUlDQXZMeUJVY21sdElHOW1aaUJsZUhSeVlTQmllWFJsY3lCaFpuUmxjaUJ3YkdGalpXaHZiR1JsY2lCaWVYUmxjeUJoY21VZ1ptOTFibVJjYmlBZ0x5OGdVMlZsT2lCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlltVmhkR2RoYlcxcGRDOWlZWE5sTmpRdGFuTXZhWE56ZFdWekx6UXlYRzRnSUhaaGNpQjJZV3hwWkV4bGJpQTlJR0kyTkM1cGJtUmxlRTltS0NjOUp5bGNiaUFnYVdZZ0tIWmhiR2xrVEdWdUlEMDlQU0F0TVNrZ2RtRnNhV1JNWlc0Z1BTQnNaVzVjYmx4dUlDQjJZWElnY0d4aFkyVkliMnhrWlhKelRHVnVJRDBnZG1Gc2FXUk1aVzRnUFQwOUlHeGxibHh1SUNBZ0lEOGdNRnh1SUNBZ0lEb2dOQ0F0SUNoMllXeHBaRXhsYmlBbElEUXBYRzVjYmlBZ2NtVjBkWEp1SUZ0MllXeHBaRXhsYml3Z2NHeGhZMlZJYjJ4a1pYSnpUR1Z1WFZ4dWZWeHVYRzR2THlCaVlYTmxOalFnYVhNZ05DOHpJQ3NnZFhBZ2RHOGdkSGR2SUdOb1lYSmhZM1JsY25NZ2IyWWdkR2hsSUc5eWFXZHBibUZzSUdSaGRHRmNibVoxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0dJMk5Da2dlMXh1SUNCMllYSWdiR1Z1Y3lBOUlHZGxkRXhsYm5Nb1lqWTBLVnh1SUNCMllYSWdkbUZzYVdSTVpXNGdQU0JzWlc1eld6QmRYRzRnSUhaaGNpQndiR0ZqWlVodmJHUmxjbk5NWlc0Z1BTQnNaVzV6V3pGZFhHNGdJSEpsZEhWeWJpQW9LSFpoYkdsa1RHVnVJQ3NnY0d4aFkyVkliMnhrWlhKelRHVnVLU0FxSURNZ0x5QTBLU0F0SUhCc1lXTmxTRzlzWkdWeWMweGxibHh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmZZbmwwWlV4bGJtZDBhQ0FvWWpZMExDQjJZV3hwWkV4bGJpd2djR3hoWTJWSWIyeGtaWEp6VEdWdUtTQjdYRzRnSUhKbGRIVnliaUFvS0haaGJHbGtUR1Z1SUNzZ2NHeGhZMlZJYjJ4a1pYSnpUR1Z1S1NBcUlETWdMeUEwS1NBdElIQnNZV05sU0c5c1pHVnljMHhsYmx4dWZWeHVYRzVtZFc1amRHbHZiaUIwYjBKNWRHVkJjbkpoZVNBb1lqWTBLU0I3WEc0Z0lIWmhjaUIwYlhCY2JpQWdkbUZ5SUd4bGJuTWdQU0JuWlhSTVpXNXpLR0kyTkNsY2JpQWdkbUZ5SUhaaGJHbGtUR1Z1SUQwZ2JHVnVjMXN3WFZ4dUlDQjJZWElnY0d4aFkyVkliMnhrWlhKelRHVnVJRDBnYkdWdWMxc3hYVnh1WEc0Z0lIWmhjaUJoY25JZ1BTQnVaWGNnUVhKeUtGOWllWFJsVEdWdVozUm9LR0kyTkN3Z2RtRnNhV1JNWlc0c0lIQnNZV05sU0c5c1pHVnljMHhsYmlrcFhHNWNiaUFnZG1GeUlHTjFja0o1ZEdVZ1BTQXdYRzVjYmlBZ0x5OGdhV1lnZEdobGNtVWdZWEpsSUhCc1lXTmxhRzlzWkdWeWN5d2diMjVzZVNCblpYUWdkWEFnZEc4Z2RHaGxJR3hoYzNRZ1kyOXRjR3hsZEdVZ05DQmphR0Z5YzF4dUlDQjJZWElnYkdWdUlEMGdjR3hoWTJWSWIyeGtaWEp6VEdWdUlENGdNRnh1SUNBZ0lEOGdkbUZzYVdSTVpXNGdMU0EwWEc0Z0lDQWdPaUIyWVd4cFpFeGxibHh1WEc0Z0lIWmhjaUJwWEc0Z0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tnS3owZ05Da2dlMXh1SUNBZ0lIUnRjQ0E5WEc0Z0lDQWdJQ0FvY21WMlRHOXZhM1Z3VzJJMk5DNWphR0Z5UTI5a1pVRjBLR2twWFNBOFBDQXhPQ2tnZkZ4dUlDQWdJQ0FnS0hKbGRreHZiMnQxY0Z0aU5qUXVZMmhoY2tOdlpHVkJkQ2hwSUNzZ01TbGRJRHc4SURFeUtTQjhYRzRnSUNBZ0lDQW9jbVYyVEc5dmEzVndXMkkyTkM1amFHRnlRMjlrWlVGMEtHa2dLeUF5S1YwZ1BEd2dOaWtnZkZ4dUlDQWdJQ0FnY21WMlRHOXZhM1Z3VzJJMk5DNWphR0Z5UTI5a1pVRjBLR2tnS3lBektWMWNiaUFnSUNCaGNuSmJZM1Z5UW5sMFpTc3JYU0E5SUNoMGJYQWdQajRnTVRZcElDWWdNSGhHUmx4dUlDQWdJR0Z5Y2x0amRYSkNlWFJsS3l0ZElEMGdLSFJ0Y0NBK1BpQTRLU0FtSURCNFJrWmNiaUFnSUNCaGNuSmJZM1Z5UW5sMFpTc3JYU0E5SUhSdGNDQW1JREI0UmtaY2JpQWdmVnh1WEc0Z0lHbG1JQ2h3YkdGalpVaHZiR1JsY25OTVpXNGdQVDA5SURJcElIdGNiaUFnSUNCMGJYQWdQVnh1SUNBZ0lDQWdLSEpsZGt4dmIydDFjRnRpTmpRdVkyaGhja052WkdWQmRDaHBLVjBnUER3Z01pa2dmRnh1SUNBZ0lDQWdLSEpsZGt4dmIydDFjRnRpTmpRdVkyaGhja052WkdWQmRDaHBJQ3NnTVNsZElENCtJRFFwWEc0Z0lDQWdZWEp5VzJOMWNrSjVkR1VySzEwZ1BTQjBiWEFnSmlBd2VFWkdYRzRnSUgxY2JseHVJQ0JwWmlBb2NHeGhZMlZJYjJ4a1pYSnpUR1Z1SUQwOVBTQXhLU0I3WEc0Z0lDQWdkRzF3SUQxY2JpQWdJQ0FnSUNoeVpYWk1iMjlyZFhCYllqWTBMbU5vWVhKRGIyUmxRWFFvYVNsZElEdzhJREV3S1NCOFhHNGdJQ0FnSUNBb2NtVjJURzl2YTNWd1cySTJOQzVqYUdGeVEyOWtaVUYwS0drZ0t5QXhLVjBnUER3Z05Da2dmRnh1SUNBZ0lDQWdLSEpsZGt4dmIydDFjRnRpTmpRdVkyaGhja052WkdWQmRDaHBJQ3NnTWlsZElENCtJRElwWEc0Z0lDQWdZWEp5VzJOMWNrSjVkR1VySzEwZ1BTQW9kRzF3SUQ0K0lEZ3BJQ1lnTUhoR1JseHVJQ0FnSUdGeWNsdGpkWEpDZVhSbEt5dGRJRDBnZEcxd0lDWWdNSGhHUmx4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdGeWNseHVmVnh1WEc1bWRXNWpkR2x2YmlCMGNtbHdiR1YwVkc5Q1lYTmxOalFnS0c1MWJTa2dlMXh1SUNCeVpYUjFjbTRnYkc5dmEzVndXMjUxYlNBK1BpQXhPQ0FtSURCNE0wWmRJQ3RjYmlBZ0lDQnNiMjlyZFhCYmJuVnRJRDQrSURFeUlDWWdNSGd6UmwwZ0sxeHVJQ0FnSUd4dmIydDFjRnR1ZFcwZ1BqNGdOaUFtSURCNE0wWmRJQ3RjYmlBZ0lDQnNiMjlyZFhCYmJuVnRJQ1lnTUhnelJsMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXNWpiMlJsUTJoMWJtc2dLSFZwYm5RNExDQnpkR0Z5ZEN3Z1pXNWtLU0I3WEc0Z0lIWmhjaUIwYlhCY2JpQWdkbUZ5SUc5MWRIQjFkQ0E5SUZ0ZFhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHVnVaRHNnYVNBclBTQXpLU0I3WEc0Z0lDQWdkRzF3SUQxY2JpQWdJQ0FnSUNnb2RXbHVkRGhiYVYwZ1BEd2dNVFlwSUNZZ01IaEdSakF3TURBcElDdGNiaUFnSUNBZ0lDZ29kV2x1ZERoYmFTQXJJREZkSUR3OElEZ3BJQ1lnTUhoR1JqQXdLU0FyWEc0Z0lDQWdJQ0FvZFdsdWREaGJhU0FySURKZElDWWdNSGhHUmlsY2JpQWdJQ0J2ZFhSd2RYUXVjSFZ6YUNoMGNtbHdiR1YwVkc5Q1lYTmxOalFvZEcxd0tTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z2IzVjBjSFYwTG1wdmFXNG9KeWNwWEc1OVhHNWNibVoxYm1OMGFXOXVJR1p5YjIxQ2VYUmxRWEp5WVhrZ0tIVnBiblE0S1NCN1hHNGdJSFpoY2lCMGJYQmNiaUFnZG1GeUlHeGxiaUE5SUhWcGJuUTRMbXhsYm1kMGFGeHVJQ0IyWVhJZ1pYaDBjbUZDZVhSbGN5QTlJR3hsYmlBbElETWdMeThnYVdZZ2QyVWdhR0YyWlNBeElHSjVkR1VnYkdWbWRDd2djR0ZrSURJZ1lubDBaWE5jYmlBZ2RtRnlJSEJoY25SeklEMGdXMTFjYmlBZ2RtRnlJRzFoZUVOb2RXNXJUR1Z1WjNSb0lEMGdNVFl6T0RNZ0x5OGdiWFZ6ZENCaVpTQnRkV3gwYVhCc1pTQnZaaUF6WEc1Y2JpQWdMeThnWjI4Z2RHaHliM1ZuYUNCMGFHVWdZWEp5WVhrZ1pYWmxjbmtnZEdoeVpXVWdZbmwwWlhNc0lIZGxKMnhzSUdSbFlXd2dkMmwwYUNCMGNtRnBiR2x1WnlCemRIVm1aaUJzWVhSbGNseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diR1Z1TWlBOUlHeGxiaUF0SUdWNGRISmhRbmwwWlhNN0lHa2dQQ0JzWlc0eU95QnBJQ3M5SUcxaGVFTm9kVzVyVEdWdVozUm9LU0I3WEc0Z0lDQWdjR0Z5ZEhNdWNIVnphQ2hsYm1OdlpHVkRhSFZ1YXloY2JpQWdJQ0FnSUhWcGJuUTRMQ0JwTENBb2FTQXJJRzFoZUVOb2RXNXJUR1Z1WjNSb0tTQStJR3hsYmpJZ1B5QnNaVzR5SURvZ0tHa2dLeUJ0WVhoRGFIVnVhMHhsYm1kMGFDbGNiaUFnSUNBcEtWeHVJQ0I5WEc1Y2JpQWdMeThnY0dGa0lIUm9aU0JsYm1RZ2QybDBhQ0I2WlhKdmN5d2dZblYwSUcxaGEyVWdjM1Z5WlNCMGJ5QnViM1FnWm05eVoyVjBJSFJvWlNCbGVIUnlZU0JpZVhSbGMxeHVJQ0JwWmlBb1pYaDBjbUZDZVhSbGN5QTlQVDBnTVNrZ2UxeHVJQ0FnSUhSdGNDQTlJSFZwYm5RNFcyeGxiaUF0SURGZFhHNGdJQ0FnY0dGeWRITXVjSFZ6YUNoY2JpQWdJQ0FnSUd4dmIydDFjRnQwYlhBZ1BqNGdNbDBnSzF4dUlDQWdJQ0FnYkc5dmEzVndXeWgwYlhBZ1BEd2dOQ2tnSmlBd2VETkdYU0FyWEc0Z0lDQWdJQ0FuUFQwblhHNGdJQ0FnS1Z4dUlDQjlJR1ZzYzJVZ2FXWWdLR1Y0ZEhKaFFubDBaWE1nUFQwOUlESXBJSHRjYmlBZ0lDQjBiWEFnUFNBb2RXbHVkRGhiYkdWdUlDMGdNbDBnUER3Z09Da2dLeUIxYVc1ME9GdHNaVzRnTFNBeFhWeHVJQ0FnSUhCaGNuUnpMbkIxYzJnb1hHNGdJQ0FnSUNCc2IyOXJkWEJiZEcxd0lENCtJREV3WFNBclhHNGdJQ0FnSUNCc2IyOXJkWEJiS0hSdGNDQStQaUEwS1NBbUlEQjRNMFpkSUN0Y2JpQWdJQ0FnSUd4dmIydDFjRnNvZEcxd0lEdzhJRElwSUNZZ01IZ3pSbDBnSzF4dUlDQWdJQ0FnSnowblhHNGdJQ0FnS1Z4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhCaGNuUnpMbXB2YVc0b0p5Y3BYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcXFwiX19lc01vZHVsZVxcXCIsIHsgdmFsdWU6IHRydWUgfSk7XFxudmFyIGNvbnN0YW50cztcXG4oZnVuY3Rpb24gKGNvbnN0YW50cykge1xcbiAgICBjb25zdGFudHMudHlwZU9mRnVuY3Rpb24gPSAnZnVuY3Rpb24nO1xcbiAgICBjb25zdGFudHMuYm9vbFRydWUgPSB0cnVlO1xcbn0pKGNvbnN0YW50cyB8fCAoY29uc3RhbnRzID0ge30pKTtcXG5mdW5jdGlvbiBiaW5kKHRhcmdldCwgcHJvcGVydHlLZXksIGRlc2NyaXB0b3IpIHtcXG4gICAgaWYgKCFkZXNjcmlwdG9yIHx8ICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gY29uc3RhbnRzLnR5cGVPZkZ1bmN0aW9uKSkge1xcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPFxcXCIgKyBwcm9wZXJ0eUtleSArIFxcXCI+IGlzIG5vdCBhIG1ldGhvZCFcXFwiKTtcXG4gICAgfVxcbiAgICByZXR1cm4ge1xcbiAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICB2YXIgYm91bmQgPSBkZXNjcmlwdG9yLnZhbHVlLmJpbmQodGhpcyk7XFxuICAgICAgICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXFxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7XFxuICAgICAgICAgICAgICAgIHZhbHVlOiBib3VuZCxcXG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXFxuICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBjb25zdGFudHMuYm9vbFRydWVcXG4gICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICByZXR1cm4gYm91bmQ7XFxuICAgICAgICB9XFxuICAgIH07XFxufVxcbmV4cG9ydHMuYmluZCA9IGJpbmQ7XFxuZXhwb3J0cy5kZWZhdWx0ID0gYmluZDtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWlhVzVrTFdSbFkyOXlZWFJ2Y2k5cGJtUmxlQzVxY3o5a05EUm1JbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoTzBGQlEySXNPRU5CUVRoRExHTkJRV003UVVGRE5VUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExEaENRVUU0UWp0QlFVTXZRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRTdRVUZEWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbWx1WkMxa1pXTnZjbUYwYjNJdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpjSW5WelpTQnpkSEpwWTNSY0lqdGNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNobGVIQnZjblJ6TENCY0lsOWZaWE5OYjJSMWJHVmNJaXdnZXlCMllXeDFaVG9nZEhKMVpTQjlLVHRjYm5aaGNpQmpiMjV6ZEdGdWRITTdYRzRvWm5WdVkzUnBiMjRnS0dOdmJuTjBZVzUwY3lrZ2UxeHVJQ0FnSUdOdmJuTjBZVzUwY3k1MGVYQmxUMlpHZFc1amRHbHZiaUE5SUNkbWRXNWpkR2x2YmljN1hHNGdJQ0FnWTI5dWMzUmhiblJ6TG1KdmIyeFVjblZsSUQwZ2RISjFaVHRjYm4wcEtHTnZibk4wWVc1MGN5QjhmQ0FvWTI5dWMzUmhiblJ6SUQwZ2UzMHBLVHRjYm1aMWJtTjBhVzl1SUdKcGJtUW9kR0Z5WjJWMExDQndjbTl3WlhKMGVVdGxlU3dnWkdWelkzSnBjSFJ2Y2lrZ2UxeHVJQ0FnSUdsbUlDZ2haR1Z6WTNKcGNIUnZjaUI4ZkNBb2RIbHdaVzltSUdSbGMyTnlhWEIwYjNJdWRtRnNkV1VnSVQwOUlHTnZibk4wWVc1MGN5NTBlWEJsVDJaR2RXNWpkR2x2YmlrcElIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWs5dWJIa2diV1YwYUc5a2N5QmpZVzRnWW1VZ1pHVmpiM0poZEdWa0lIZHBkR2dnUUdKcGJtUXVJRHhjSWlBcklIQnliM0JsY25SNVMyVjVJQ3NnWENJK0lHbHpJRzV2ZENCaElHMWxkR2h2WkNGY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dZMjl1YzNSaGJuUnpMbUp2YjJ4VWNuVmxMRnh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJpYjNWdVpDQTlJR1JsYzJOeWFYQjBiM0l1ZG1Gc2RXVXVZbWx1WkNoMGFHbHpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRU55WldScGRITWdkRzhnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJGdVpISmxlWEJ2Y0hBdllYVjBiMkpwYm1RdFpHVmpiM0poZEc5eUlHWnZjaUJ0WlcxdmFYcHBibWNnZEdobElISmxjM1ZzZENCdlppQmlhVzVrSUdGbllXbHVjM1FnWVNCemVXMWliMndnYjI0Z2RHaGxJR2x1YzNSaGJtTmxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSFJvYVhNc0lIQnliM0JsY25SNVMyVjVMQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2RXVTZJR0p2ZFc1a0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nWTI5dWMzUmhiblJ6TG1KdmIyeFVjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhkeWFYUmhZbXhsT2lCamIyNXpkR0Z1ZEhNdVltOXZiRlJ5ZFdWY2JpQWdJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHSnZkVzVrTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JuMWNibVY0Y0c5eWRITXVZbWx1WkNBOUlHSnBibVE3WEc1bGVIQnZjblJ6TG1SbFptRjFiSFFnUFNCaWFXNWtPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24obW9kdWxlKSB7KGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcXG4gICd1c2Ugc3RyaWN0JztcXG5cXG4gIC8vIFV0aWxzXFxuICBmdW5jdGlvbiBhc3NlcnQgKHZhbCwgbXNnKSB7XFxuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XFxuICB9XFxuXFxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cXG4gIGZ1bmN0aW9uIGluaGVyaXRzIChjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XFxuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xcbiAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XFxuICB9XFxuXFxuICAvLyBCTlxcblxcbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcXG4gICAgICByZXR1cm4gbnVtYmVyO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxcbiAgICB0aGlzLnJlZCA9IG51bGw7XFxuXFxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcXG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XFxuICAgICAgICBlbmRpYW4gPSBiYXNlO1xcbiAgICAgICAgYmFzZSA9IDEwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XFxuICAgIH1cXG4gIH1cXG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xcbiAgfSBlbHNlIHtcXG4gICAgZXhwb3J0cy5CTiA9IEJOO1xcbiAgfVxcblxcbiAgQk4uQk4gPSBCTjtcXG4gIEJOLndvcmRTaXplID0gMjY7XFxuXFxuICB2YXIgQnVmZmVyO1xcbiAgdHJ5IHtcXG4gICAgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIDExKS5CdWZmZXI7XFxuICB9IGNhdGNoIChlKSB7XFxuICB9XFxuXFxuICBCTi5pc0JOID0gZnVuY3Rpb24gaXNCTiAobnVtKSB7XFxuICAgIGlmIChudW0gaW5zdGFuY2VvZiBCTikge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gJ29iamVjdCcgJiZcXG4gICAgICBudW0uY29uc3RydWN0b3Iud29yZFNpemUgPT09IEJOLndvcmRTaXplICYmIEFycmF5LmlzQXJyYXkobnVtLndvcmRzKTtcXG4gIH07XFxuXFxuICBCTi5tYXggPSBmdW5jdGlvbiBtYXggKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPiAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLm1pbiA9IGZ1bmN0aW9uIG1pbiAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA8IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdCAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdudW1iZXInKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXROdW1iZXIobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0QXJyYXkobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIGJhc2UgPSAxNjtcXG4gICAgfVxcbiAgICBhc3NlcnQoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNik7XFxuXFxuICAgIG51bWJlciA9IG51bWJlci50b1N0cmluZygpLnJlcGxhY2UoL1xcXFxzKy9nLCAnJyk7XFxuICAgIHZhciBzdGFydCA9IDA7XFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHN0YXJ0Kys7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IDE2KSB7XFxuICAgICAgdGhpcy5fcGFyc2VIZXgobnVtYmVyLCBzdGFydCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy5fcGFyc2VCYXNlKG51bWJlciwgYmFzZSwgc3RhcnQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbbnVtYmVyICYgMHgzZmZmZmZmXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChudW1iZXIgPCAweDIwMDAwMDAwMDAwMDAwKTsgLy8gMiBeIDUzICh1bnNhZmUpXFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmLFxcbiAgICAgICAgMVxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAzO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdEFycmF5ID0gZnVuY3Rpb24gX2luaXRBcnJheSAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XFxuICAgIGlmIChudW1iZXIubGVuZ3RoIDw9IDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWzBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbChudW1iZXIubGVuZ3RoIC8gMyk7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGlmIChlbmRpYW4gPT09ICdiZScpIHtcXG4gICAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gMSwgaiA9IDA7IGkgPj0gMDsgaSAtPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpIC0gMV0gPDwgOCkgfCAobnVtYmVyW2kgLSAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xcbiAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpICsgMV0gPDwgOCkgfCAobnVtYmVyW2kgKyAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgdmFyIHogPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByIDw8PSA0O1xcblxcbiAgICAgIHZhciBiO1xcblxcbiAgICAgIC8vICdhJyAtICdmJ1xcbiAgICAgIGlmIChjID49IDQ5ICYmIGMgPD0gNTQpIHtcXG4gICAgICAgIGIgPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnIC0gJ0YnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3ICYmIGMgPD0gMjIpIHtcXG4gICAgICAgIGIgPSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIgPSBjO1xcbiAgICAgIH1cXG5cXG4gICAgICByIHw9IGI7XFxuICAgICAgeiB8PSBiO1xcbiAgICB9XFxuXFxuICAgIGFzc2VydCghKHogJiAweGYwKSwgJ0ludmFsaWQgY2hhcmFjdGVyIGluICcgKyBzdHIpO1xcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VIZXggPSBmdW5jdGlvbiBfcGFyc2VIZXggKG51bWJlciwgc3RhcnQpIHtcXG4gICAgLy8gQ3JlYXRlIHBvc3NpYmx5IGJpZ2dlciBhcnJheSB0byBlbnN1cmUgdGhhdCBpdCBmaXRzIHRoZSBudW1iZXJcXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwoKG51bWJlci5sZW5ndGggLSBzdGFydCkgLyA2KTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICAvLyBTY2FuIDI0LWJpdCBjaHVua3MgYW5kIGFkZCB0aGVtIHRvIHRoZSBudW1iZXJcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSA2LCBqID0gMDsgaSA+PSBzdGFydDsgaSAtPSA2KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgaSwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAvLyBOT1RFOiBgMHgzZmZmZmZgIGlzIGludGVudGlvbmFsIGhlcmUsIDI2Yml0cyBtYXggc2hpZnQgKyAyNGJpdCBoZXggbGltYlxcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgICBvZmYgKz0gMjQ7XFxuICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgaisrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoaSArIDYgIT09IHN0YXJ0KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgc3RhcnQsIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBiID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgKj0gbXVsO1xcblxcbiAgICAgIC8vICdhJ1xcbiAgICAgIGlmIChjID49IDQ5KSB7XFxuICAgICAgICBiID0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xcbiAgICAgICAgYiA9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgYiA9IGM7XFxuICAgICAgfVxcbiAgICAgIGFzc2VydChjID49IDAgJiYgYiA8IG11bCwgJ0ludmFsaWQgY2hhcmFjdGVyJyk7XFxuICAgICAgciArPSBiO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUJhc2UgPSBmdW5jdGlvbiBfcGFyc2VCYXNlIChudW1iZXIsIGJhc2UsIHN0YXJ0KSB7XFxuICAgIC8vIEluaXRpYWxpemUgYXMgemVyb1xcbiAgICB0aGlzLndvcmRzID0gWzBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIG1vdmUgKGRlc3QsIHNyYykge1xcbiAgICBkZXN0LndvcmRzID0gc3JjLndvcmRzO1xcbiAgICBkZXN0Lmxlbmd0aCA9IHNyYy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSBzcmMubmVnYXRpdmU7XFxuICAgIGRlc3QucmVkID0gc3JjLnJlZDtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fbW92ZSA9IGZ1bmN0aW9uIF9tb3ZlIChkZXN0KSB7XFxuICAgIG1vdmUoZGVzdCwgdGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUgKCkge1xcbiAgICB2YXIgciA9IG5ldyBCTihudWxsKTtcXG4gICAgdGhpcy5jb3B5KHIpO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2V4cGFuZCA9IGZ1bmN0aW9uIF9leHBhbmQgKHNpemUpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgc2l6ZSkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFJlbW92ZSBsZWFkaW5nIGAwYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLl9zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBDaGVjayBTeW1ib2wuZm9yIGJlY2F1c2Ugbm90IGV2ZXJ5d2hlcmUgd2hlcmUgU3ltYm9sIGRlZmluZWRcXG4gIC8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TeW1ib2wjQnJvd3Nlcl9jb21wYXRpYmlsaXR5XFxuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIFN5bWJvbC5mb3IgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgQk4ucHJvdG90eXBlW1N5bWJvbC5mb3IoJ25vZGVqcy51dGlsLmluc3BlY3QuY3VzdG9tJyldID0gaW5zcGVjdDtcXG4gIH0gZWxzZSB7XFxuICAgIEJOLnByb3RvdHlwZS5pbnNwZWN0ID0gaW5zcGVjdDtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH1cXG5cXG4gIC8qXFxuXFxuICB2YXIgemVyb3MgPSBbXTtcXG4gIHZhciBncm91cFNpemVzID0gW107XFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtdO1xcblxcbiAgdmFyIHMgPSAnJztcXG4gIHZhciBpID0gLTE7XFxuICB3aGlsZSAoKytpIDwgQk4ud29yZFNpemUpIHtcXG4gICAgemVyb3NbaV0gPSBzO1xcbiAgICBzICs9ICcwJztcXG4gIH1cXG4gIGdyb3VwU2l6ZXNbMF0gPSAwO1xcbiAgZ3JvdXBTaXplc1sxXSA9IDA7XFxuICBncm91cEJhc2VzWzBdID0gMDtcXG4gIGdyb3VwQmFzZXNbMV0gPSAwO1xcbiAgdmFyIGJhc2UgPSAyIC0gMTtcXG4gIHdoaWxlICgrK2Jhc2UgPCAzNiArIDEpIHtcXG4gICAgdmFyIGdyb3VwU2l6ZSA9IDA7XFxuICAgIHZhciBncm91cEJhc2UgPSAxO1xcbiAgICB3aGlsZSAoZ3JvdXBCYXNlIDwgKDEgPDwgQk4ud29yZFNpemUpIC8gYmFzZSkge1xcbiAgICAgIGdyb3VwQmFzZSAqPSBiYXNlO1xcbiAgICAgIGdyb3VwU2l6ZSArPSAxO1xcbiAgICB9XFxuICAgIGdyb3VwU2l6ZXNbYmFzZV0gPSBncm91cFNpemU7XFxuICAgIGdyb3VwQmFzZXNbYmFzZV0gPSBncm91cEJhc2U7XFxuICB9XFxuXFxuICAqL1xcblxcbiAgdmFyIHplcm9zID0gW1xcbiAgICAnJyxcXG4gICAgJzAnLFxcbiAgICAnMDAnLFxcbiAgICAnMDAwJyxcXG4gICAgJzAwMDAnLFxcbiAgICAnMDAwMDAnLFxcbiAgICAnMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnXFxuICBdO1xcblxcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDI1LCAxNiwgMTIsIDExLCAxMCwgOSwgOCxcXG4gICAgOCwgNywgNywgNywgNywgNiwgNixcXG4gICAgNiwgNiwgNiwgNiwgNiwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNVxcbiAgXTtcXG5cXG4gIHZhciBncm91cEJhc2VzID0gW1xcbiAgICAwLCAwLFxcbiAgICAzMzU1NDQzMiwgNDMwNDY3MjEsIDE2Nzc3MjE2LCA0ODgyODEyNSwgNjA0NjYxNzYsIDQwMzUzNjA3LCAxNjc3NzIxNixcXG4gICAgNDMwNDY3MjEsIDEwMDAwMDAwLCAxOTQ4NzE3MSwgMzU4MzE4MDgsIDYyNzQ4NTE3LCA3NTI5NTM2LCAxMTM5MDYyNSxcXG4gICAgMTY3NzcyMTYsIDI0MTM3NTY5LCAzNDAxMjIyNCwgNDcwNDU4ODEsIDY0MDAwMDAwLCA0MDg0MTAxLCA1MTUzNjMyLFxcbiAgICA2NDM2MzQzLCA3OTYyNjI0LCA5NzY1NjI1LCAxMTg4MTM3NiwgMTQzNDg5MDcsIDE3MjEwMzY4LCAyMDUxMTE0OSxcXG4gICAgMjQzMDAwMDAsIDI4NjI5MTUxLCAzMzU1NDQzMiwgMzkxMzUzOTMsIDQ1NDM1NDI0LCA1MjUyMTg3NSwgNjA0NjYxNzZcXG4gIF07XFxuXFxuICBCTi5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyAoYmFzZSwgcGFkZGluZykge1xcbiAgICBiYXNlID0gYmFzZSB8fCAxMDtcXG4gICAgcGFkZGluZyA9IHBhZGRpbmcgfCAwIHx8IDE7XFxuXFxuICAgIHZhciBvdXQ7XFxuICAgIGlmIChiYXNlID09PSAxNiB8fCBiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBvZmYgPSAwO1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV07XFxuICAgICAgICB2YXIgd29yZCA9ICgoKHcgPDwgb2ZmKSB8IGNhcnJ5KSAmIDB4ZmZmZmZmKS50b1N0cmluZygxNik7XFxuICAgICAgICBjYXJyeSA9ICh3ID4+PiAoMjQgLSBvZmYpKSAmIDB4ZmZmZmZmO1xcbiAgICAgICAgaWYgKGNhcnJ5ICE9PSAwIHx8IGkgIT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgICBvdXQgPSB6ZXJvc1s2IC0gd29yZC5sZW5ndGhdICsgd29yZCArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHdvcmQgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgICBvZmYgKz0gMjtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBpLS07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gY2FycnkudG9TdHJpbmcoMTYpICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNikge1xcbiAgICAgIC8vIHZhciBncm91cFNpemUgPSBNYXRoLmZsb29yKEJOLndvcmRTaXplICogTWF0aC5MTjIgLyBNYXRoLmxvZyhiYXNlKSk7XFxuICAgICAgdmFyIGdyb3VwU2l6ZSA9IGdyb3VwU2l6ZXNbYmFzZV07XFxuICAgICAgLy8gdmFyIGdyb3VwQmFzZSA9IE1hdGgucG93KGJhc2UsIGdyb3VwU2l6ZSk7XFxuICAgICAgdmFyIGdyb3VwQmFzZSA9IGdyb3VwQmFzZXNbYmFzZV07XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIGMgPSB0aGlzLmNsb25lKCk7XFxuICAgICAgYy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgd2hpbGUgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICB2YXIgciA9IGMubW9kcm4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNiwgMik7XFxuICB9O1xcblxcbiAgaWYgKEJ1ZmZlcikge1xcbiAgICBCTi5wcm90b3R5cGUudG9CdWZmZXIgPSBmdW5jdGlvbiB0b0J1ZmZlciAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcXG4gICAgfTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICB2YXIgYWxsb2NhdGUgPSBmdW5jdGlvbiBhbGxvY2F0ZSAoQXJyYXlUeXBlLCBzaXplKSB7XFxuICAgIGlmIChBcnJheVR5cGUuYWxsb2NVbnNhZmUpIHtcXG4gICAgICByZXR1cm4gQXJyYXlUeXBlLmFsbG9jVW5zYWZlKHNpemUpO1xcbiAgICB9XFxuICAgIHJldHVybiBuZXcgQXJyYXlUeXBlKHNpemUpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5TGlrZSA9IGZ1bmN0aW9uIHRvQXJyYXlMaWtlIChBcnJheVR5cGUsIGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuXFxuICAgIHZhciBieXRlTGVuZ3RoID0gdGhpcy5ieXRlTGVuZ3RoKCk7XFxuICAgIHZhciByZXFMZW5ndGggPSBsZW5ndGggfHwgTWF0aC5tYXgoMSwgYnl0ZUxlbmd0aCk7XFxuICAgIGFzc2VydChieXRlTGVuZ3RoIDw9IHJlcUxlbmd0aCwgJ2J5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgnKTtcXG4gICAgYXNzZXJ0KHJlcUxlbmd0aCA+IDAsICdSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAnKTtcXG5cXG4gICAgdmFyIHJlcyA9IGFsbG9jYXRlKEFycmF5VHlwZSwgcmVxTGVuZ3RoKTtcXG4gICAgdmFyIHBvc3RmaXggPSBlbmRpYW4gPT09ICdsZScgPyAnTEUnIDogJ0JFJztcXG4gICAgdGhpc1snX3RvQXJyYXlMaWtlJyArIHBvc3RmaXhdKHJlcywgYnl0ZUxlbmd0aCk7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl90b0FycmF5TGlrZUxFID0gZnVuY3Rpb24gX3RvQXJyYXlMaWtlTEUgKHJlcywgYnl0ZUxlbmd0aCkge1xcbiAgICB2YXIgcG9zaXRpb24gPSAwO1xcbiAgICB2YXIgY2FycnkgPSAwO1xcblxcbiAgICBmb3IgKHZhciBpID0gMCwgc2hpZnQgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3b3JkID0gKHRoaXMud29yZHNbaV0gPDwgc2hpZnQpIHwgY2Fycnk7XFxuXFxuICAgICAgcmVzW3Bvc2l0aW9uKytdID0gd29yZCAmIDB4ZmY7XFxuICAgICAgaWYgKHBvc2l0aW9uIDwgcmVzLmxlbmd0aCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gOCkgJiAweGZmO1xcbiAgICAgIH1cXG4gICAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XFxuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAod29yZCA+PiAxNikgJiAweGZmO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoc2hpZnQgPT09IDYpIHtcXG4gICAgICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcXG4gICAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gMjQpICYgMHhmZjtcXG4gICAgICAgIH1cXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICAgIHNoaWZ0ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3b3JkID4+PiAyNDtcXG4gICAgICAgIHNoaWZ0ICs9IDI7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcXG4gICAgICByZXNbcG9zaXRpb24rK10gPSBjYXJyeTtcXG5cXG4gICAgICB3aGlsZSAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XFxuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fdG9BcnJheUxpa2VCRSA9IGZ1bmN0aW9uIF90b0FycmF5TGlrZUJFIChyZXMsIGJ5dGVMZW5ndGgpIHtcXG4gICAgdmFyIHBvc2l0aW9uID0gcmVzLmxlbmd0aCAtIDE7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwLCBzaGlmdCA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHdvcmQgPSAodGhpcy53b3Jkc1tpXSA8PCBzaGlmdCkgfCBjYXJyeTtcXG5cXG4gICAgICByZXNbcG9zaXRpb24tLV0gPSB3b3JkICYgMHhmZjtcXG4gICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gKHdvcmQgPj4gOCkgJiAweGZmO1xcbiAgICAgIH1cXG4gICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gKHdvcmQgPj4gMTYpICYgMHhmZjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHNoaWZ0ID09PSA2KSB7XFxuICAgICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgICByZXNbcG9zaXRpb24tLV0gPSAod29yZCA+PiAyNCkgJiAweGZmO1xcbiAgICAgICAgfVxcbiAgICAgICAgY2FycnkgPSAwO1xcbiAgICAgICAgc2hpZnQgPSAwO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXJyeSA9IHdvcmQgPj4+IDI0O1xcbiAgICAgICAgc2hpZnQgKz0gMjtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHBvc2l0aW9uID49IDApIHtcXG4gICAgICByZXNbcG9zaXRpb24tLV0gPSBjYXJyeTtcXG5cXG4gICAgICB3aGlsZSAocG9zaXRpb24gPj0gMCkge1xcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdID4+PiB3Yml0KSAmIDB4MDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHc7XFxuICB9XFxuXFxuICAvLyBOdW1iZXIgb2YgdHJhaWxpbmcgemVybyBiaXRzXFxuICBCTi5wcm90b3R5cGUuemVyb0JpdHMgPSBmdW5jdGlvbiB6ZXJvQml0cyAoKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gMDtcXG5cXG4gICAgdmFyIHIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgYiA9IHRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbaV0pO1xcbiAgICAgIHIgKz0gYjtcXG4gICAgICBpZiAoYiAhPT0gMjYpIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ieXRlTGVuZ3RoID0gZnVuY3Rpb24gYnl0ZUxlbmd0aCAoKSB7XFxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKSAvIDgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1R3b3MgPSBmdW5jdGlvbiB0b1R3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21Ud29zID0gZnVuY3Rpb24gZnJvbVR3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLnRlc3RuKHdpZHRoIC0gMSkpIHtcXG4gICAgICByZXR1cm4gdGhpcy5ub3RuKHdpZHRoKS5pYWRkbigxKS5pbmVnKCk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNOZWcgPSBmdW5jdGlvbiBpc05lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLm5lZ2F0aXZlICE9PSAwO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5lZyA9IGZ1bmN0aW9uIGluZWcgKCkge1xcbiAgICBpZiAoIXRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdW9yID0gZnVuY3Rpb24gaXVvciAobnVtKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldIHwgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1YW5kKG51bSk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51YW5kID0gZnVuY3Rpb24gdWFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1eG9yID0gZnVuY3Rpb24gaXV4b3IgKG51bSkge1xcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhO1xcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXhvciA9IGZ1bmN0aW9uIGl4b3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXV4b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiB4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnV4b3IgPSBmdW5jdGlvbiB1eG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXV4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gTm90IGBgdGhpc2BgIHdpdGggYGB3aWR0aGBgIGJpdHdpZHRoXFxuICBCTi5wcm90b3R5cGUuaW5vdG4gPSBmdW5jdGlvbiBpbm90biAod2lkdGgpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgJiYgd2lkdGggPj0gMCk7XFxuXFxuICAgIHZhciBieXRlc05lZWRlZCA9IE1hdGguY2VpbCh3aWR0aCAvIDI2KSB8IDA7XFxuICAgIHZhciBiaXRzTGVmdCA9IHdpZHRoICUgMjY7XFxuXFxuICAgIC8vIEV4dGVuZCB0aGUgYnVmZmVyIHdpdGggbGVhZGluZyB6ZXJvZXNcXG4gICAgdGhpcy5fZXhwYW5kKGJ5dGVzTmVlZGVkKTtcXG5cXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIGJ5dGVzTmVlZGVkLS07XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIGNvbXBsZXRlIHdvcmRzXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXNOZWVkZWQ7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgdGhlIHJlc2lkdWVcXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmICgweDNmZmZmZmYgPj4gKDI2IC0gYml0c0xlZnQpKTtcXG4gICAgfVxcblxcbiAgICAvLyBBbmQgcmVtb3ZlIGxlYWRpbmcgemVyb2VzXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xcbiAgICB2YXIgcjtcXG5cXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAvLyBDb3B5IHRoZSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSB0aGlzLnN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0gZWxzZSBpZiAobnVtLm5lZ2F0aXZlID09PSAwICYmIHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XFxuXFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYWRkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIC10aGlzIC0gbnVtID0gLSh0aGlzICsgbnVtKVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGQobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcXG4gICAgdmFyIGNtcCA9IHRoaXMuY21wKG51bSk7XFxuXFxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBhID4gYlxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKGNtcCA+IDApIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgaWYgKGNhcnJ5ID09PSAwICYmIGkgPCBhLmxlbmd0aCAmJiBhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSk7XFxuXFxuICAgIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIobnVtKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBzbWFsbE11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICB2YXIgbGVuID0gKHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aCkgfCAwO1xcbiAgICBvdXQubGVuZ3RoID0gbGVuO1xcbiAgICBsZW4gPSAobGVuIC0gMSkgfCAwO1xcblxcbiAgICAvLyBQZWVsIG9uZSBpdGVyYXRpb24gKGNvbXBpbGVyIGNhbid0IGRvIGl0LCBiZWNhdXNlIG9mIGNvZGUgY29tcGxleGl0eSlcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIGIgPSBudW0ud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xcbiAgICB2YXIgY2FycnkgPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICBvdXQud29yZHNbMF0gPSBsbztcXG5cXG4gICAgZm9yICh2YXIgayA9IDE7IGsgPCBsZW47IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBjYXJyeSA+Pj4gMjY7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSAoayAtIGopIHwgMDtcXG4gICAgICAgIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcXG4gICAgICAgIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgciA9IGEgKiBiICsgcndvcmQ7XFxuICAgICAgICBuY2FycnkgKz0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICB9XFxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQgfCAwO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5IHwgMDtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeSB8IDA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICAvLyBUZW1wb3JhcnkgZGlzYWJsZSwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2JuLmpzL2lzc3Vlcy8yMTFcXG4gICAgLy8gdmFyIGZmdG0gPSBuZXcgRkZUTSgpO1xcbiAgICAvLyByZXR1cm4gZmZ0bS5tdWxwKHNlbGYsIG51bSwgb3V0KTtcXG4gICAgcmV0dXJuIGJpZ011bFRvKHNlbGYsIG51bSwgb3V0KTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxUbyA9IGZ1bmN0aW9uIG11bFRvIChudW0sIG91dCkge1xcbiAgICB2YXIgcmVzO1xcbiAgICB2YXIgbGVuID0gdGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEwICYmIG51bS5sZW5ndGggPT09IDEwKSB7XFxuICAgICAgcmVzID0gY29tYjEwTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDYzKSB7XFxuICAgICAgcmVzID0gc21hbGxNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgMTAyNCkge1xcbiAgICAgIHJlcyA9IGJpZ011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvb2xleS1UdWtleSBhbGdvcml0aG0gZm9yIEZGVFxcbiAgLy8gc2xpZ2h0bHkgcmV2aXNpdGVkIHRvIHJlbHkgb24gbG9vcGluZyBpbnN0ZWFkIG9mIHJlY3Vyc2lvblxcblxcbiAgZnVuY3Rpb24gRkZUTSAoeCwgeSkge1xcbiAgICB0aGlzLnggPSB4O1xcbiAgICB0aGlzLnkgPSB5O1xcbiAgfVxcblxcbiAgRkZUTS5wcm90b3R5cGUubWFrZVJCVCA9IGZ1bmN0aW9uIG1ha2VSQlQgKE4pIHtcXG4gICAgdmFyIHQgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBsID0gQk4ucHJvdG90eXBlLl9jb3VudEJpdHMoTikgLSAxO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHRbaV0gPSB0aGlzLnJldkJpbihpLCBsLCBOKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm5zIGJpbmFyeS1yZXZlcnNlZCByZXByZXNlbnRhdGlvbiBvZiBgeGBcXG4gIEZGVE0ucHJvdG90eXBlLnJldkJpbiA9IGZ1bmN0aW9uIHJldkJpbiAoeCwgbCwgTikge1xcbiAgICBpZiAoeCA9PT0gMCB8fCB4ID09PSBOIC0gMSkgcmV0dXJuIHg7XFxuXFxuICAgIHZhciByYiA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbDsgaSsrKSB7XFxuICAgICAgcmIgfD0gKHggJiAxKSA8PCAobCAtIGkgLSAxKTtcXG4gICAgICB4ID4+PSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByYjtcXG4gIH07XFxuXFxuICAvLyBQZXJmb3JtcyBcXFwidHdlZWRsaW5nXFxcIiBwaGFzZSwgdGhlcmVmb3JlICdlbXVsYXRpbmcnXFxuICAvLyBiZWhhdmlvdXIgb2YgdGhlIHJlY3Vyc2l2ZSBhbGdvcml0aG1cXG4gIEZGVE0ucHJvdG90eXBlLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlIChyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcnR3c1tpXSA9IHJ3c1tyYnRbaV1dO1xcbiAgICAgIGl0d3NbaV0gPSBpd3NbcmJ0W2ldXTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIHRyYW5zZm9ybSAocndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4sIHJidCkge1xcbiAgICB0aGlzLnBlcm11dGUocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTik7XFxuXFxuICAgIGZvciAodmFyIHMgPSAxOyBzIDwgTjsgcyA8PD0gMSkge1xcbiAgICAgIHZhciBsID0gcyA8PCAxO1xcblxcbiAgICAgIHZhciBydHdkZiA9IE1hdGguY29zKDIgKiBNYXRoLlBJIC8gbCk7XFxuICAgICAgdmFyIGl0d2RmID0gTWF0aC5zaW4oMiAqIE1hdGguUEkgLyBsKTtcXG5cXG4gICAgICBmb3IgKHZhciBwID0gMDsgcCA8IE47IHAgKz0gbCkge1xcbiAgICAgICAgdmFyIHJ0d2RmXyA9IHJ0d2RmO1xcbiAgICAgICAgdmFyIGl0d2RmXyA9IGl0d2RmO1xcblxcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzOyBqKyspIHtcXG4gICAgICAgICAgdmFyIHJlID0gcnR3c1twICsgal07XFxuICAgICAgICAgIHZhciBpZSA9IGl0d3NbcCArIGpdO1xcblxcbiAgICAgICAgICB2YXIgcm8gPSBydHdzW3AgKyBqICsgc107XFxuICAgICAgICAgIHZhciBpbyA9IGl0d3NbcCArIGogKyBzXTtcXG5cXG4gICAgICAgICAgdmFyIHJ4ID0gcnR3ZGZfICogcm8gLSBpdHdkZl8gKiBpbztcXG5cXG4gICAgICAgICAgaW8gPSBydHdkZl8gKiBpbyArIGl0d2RmXyAqIHJvO1xcbiAgICAgICAgICBybyA9IHJ4O1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqXSA9IHJlICsgcm87XFxuICAgICAgICAgIGl0d3NbcCArIGpdID0gaWUgKyBpbztcXG5cXG4gICAgICAgICAgcnR3c1twICsgaiArIHNdID0gcmUgLSBybztcXG4gICAgICAgICAgaXR3c1twICsgaiArIHNdID0gaWUgLSBpbztcXG5cXG4gICAgICAgICAgLyoganNoaW50IG1heGRlcHRoIDogZmFsc2UgKi9cXG4gICAgICAgICAgaWYgKGogIT09IGwpIHtcXG4gICAgICAgICAgICByeCA9IHJ0d2RmICogcnR3ZGZfIC0gaXR3ZGYgKiBpdHdkZl87XFxuXFxuICAgICAgICAgICAgaXR3ZGZfID0gcnR3ZGYgKiBpdHdkZl8gKyBpdHdkZiAqIHJ0d2RmXztcXG4gICAgICAgICAgICBydHdkZl8gPSByeDtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiID0gZnVuY3Rpb24gZ3Vlc3NMZW4xM2IgKG4sIG0pIHtcXG4gICAgdmFyIE4gPSBNYXRoLm1heChtLCBuKSB8IDE7XFxuICAgIHZhciBvZGQgPSBOICYgMTtcXG4gICAgdmFyIGkgPSAwO1xcbiAgICBmb3IgKE4gPSBOIC8gMiB8IDA7IE47IE4gPSBOID4+PiAxKSB7XFxuICAgICAgaSsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiAxIDw8IGkgKyAxICsgb2RkO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZSA9IGZ1bmN0aW9uIGNvbmp1Z2F0ZSAocndzLCBpd3MsIE4pIHtcXG4gICAgaWYgKE4gPD0gMSkgcmV0dXJuO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdCA9IHJ3c1tpXTtcXG5cXG4gICAgICByd3NbaV0gPSByd3NbTiAtIGkgLSAxXTtcXG4gICAgICByd3NbTiAtIGkgLSAxXSA9IHQ7XFxuXFxuICAgICAgdCA9IGl3c1tpXTtcXG5cXG4gICAgICBpd3NbaV0gPSAtaXdzW04gLSBpIC0gMV07XFxuICAgICAgaXdzW04gLSBpIC0gMV0gPSAtdDtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYiA9IGZ1bmN0aW9uIG5vcm1hbGl6ZTEzYiAod3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBNYXRoLnJvdW5kKHdzWzIgKiBpICsgMV0gLyBOKSAqIDB4MjAwMCArXFxuICAgICAgICBNYXRoLnJvdW5kKHdzWzIgKiBpXSAvIE4pICtcXG4gICAgICAgIGNhcnJ5O1xcblxcbiAgICAgIHdzW2ldID0gdyAmIDB4M2ZmZmZmZjtcXG5cXG4gICAgICBpZiAodyA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgY2FycnkgPSAwO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXJyeSA9IHcgLyAweDQwMDAwMDAgfCAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gd3M7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29udmVydDEzYiA9IGZ1bmN0aW9uIGNvbnZlcnQxM2IgKHdzLCBsZW4sIHJ3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgY2FycnkgPSBjYXJyeSArICh3c1tpXSB8IDApO1xcblxcbiAgICAgIHJ3c1syICogaV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgICAgcndzWzIgKiBpICsgMV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgIH1cXG5cXG4gICAgLy8gUGFkIHdpdGggemVyb2VzXFxuICAgIGZvciAoaSA9IDIgKiBsZW47IGkgPCBOOyArK2kpIHtcXG4gICAgICByd3NbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChjYXJyeSA9PT0gMCk7XFxuICAgIGFzc2VydCgoY2FycnkgJiB+MHgxZmZmKSA9PT0gMCk7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuc3R1YiA9IGZ1bmN0aW9uIHN0dWIgKE4pIHtcXG4gICAgdmFyIHBoID0gbmV3IEFycmF5KE4pO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHBoW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcGg7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubXVscCA9IGZ1bmN0aW9uIG11bHAgKHgsIHksIG91dCkge1xcbiAgICB2YXIgTiA9IDIgKiB0aGlzLmd1ZXNzTGVuMTNiKHgubGVuZ3RoLCB5Lmxlbmd0aCk7XFxuXFxuICAgIHZhciByYnQgPSB0aGlzLm1ha2VSQlQoTik7XFxuXFxuICAgIHZhciBfID0gdGhpcy5zdHViKE4pO1xcblxcbiAgICB2YXIgcndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgcndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGl3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBucndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbnJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBuaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIHJtd3MgPSBvdXQud29yZHM7XFxuICAgIHJtd3MubGVuZ3RoID0gTjtcXG5cXG4gICAgdGhpcy5jb252ZXJ0MTNiKHgud29yZHMsIHgubGVuZ3RoLCByd3MsIE4pO1xcbiAgICB0aGlzLmNvbnZlcnQxM2IoeS53b3JkcywgeS5sZW5ndGgsIG5yd3MsIE4pO1xcblxcbiAgICB0aGlzLnRyYW5zZm9ybShyd3MsIF8sIHJ3c3QsIGl3c3QsIE4sIHJidCk7XFxuICAgIHRoaXMudHJhbnNmb3JtKG5yd3MsIF8sIG5yd3N0LCBuaXdzdCwgTiwgcmJ0KTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB2YXIgcnggPSByd3N0W2ldICogbnJ3c3RbaV0gLSBpd3N0W2ldICogbml3c3RbaV07XFxuICAgICAgaXdzdFtpXSA9IHJ3c3RbaV0gKiBuaXdzdFtpXSArIGl3c3RbaV0gKiBucndzdFtpXTtcXG4gICAgICByd3N0W2ldID0gcng7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5jb25qdWdhdGUocndzdCwgaXdzdCwgTik7XFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3c3QsIGl3c3QsIHJtd3MsIF8sIE4sIHJidCk7XFxuICAgIHRoaXMuY29uanVnYXRlKHJtd3MsIF8sIE4pO1xcbiAgICB0aGlzLm5vcm1hbGl6ZTEzYihybXdzLCBOKTtcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0geC5uZWdhdGl2ZSBeIHkubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSB4Lmxlbmd0aCArIHkubGVuZ3RoO1xcbiAgICByZXR1cm4gb3V0Ll9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcXG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xcblxcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICogbnVtO1xcbiAgICAgIHZhciBsbyA9ICh3ICYgMHgzZmZmZmZmKSArIChjYXJyeSAmIDB4M2ZmZmZmZik7XFxuICAgICAgY2FycnkgPj49IDI2O1xcbiAgICAgIGNhcnJ5ICs9ICh3IC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgLy8gTk9URTogbG8gaXMgMjdiaXQgbWF4aW11bVxcbiAgICAgIGNhcnJ5ICs9IGxvID4+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGlzTmVnTnVtID8gdGhpcy5pbmVnKCkgOiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXFxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcXG4gIC8vIE5PVEU6IGlmIGBleHRlbmRlZGAgaXMgcHJlc2VudCAtIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggZGVzdHJveWVkIGJpdHNcXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIGg7XFxuICAgIGlmIChoaW50KSB7XFxuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaCA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcXG5cXG4gICAgaCAtPSBzO1xcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XFxuXFxuICAgIC8vIEV4dGVuZGVkIG1vZGUsIGNvcHkgbWFza2VkIHBhcnRcXG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIG1hc2tlZFdvcmRzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcXG4gICAgfVxcblxcbiAgICBpZiAocyA9PT0gMCkge1xcbiAgICAgIC8vIE5vLW9wLCB3ZSBzaG91bGQgbm90IG1vdmUgYW55dGhpbmcgYXQgYWxsXFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XFxuICAgICAgdGhpcy5sZW5ndGggLT0gcztcXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDAgJiYgKGNhcnJ5ICE9PSAwIHx8IGkgPj0gaCk7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XFxuICAgICAgY2FycnkgPSB3b3JkICYgbWFzaztcXG4gICAgfVxcblxcbiAgICAvLyBQdXNoIGNhcnJpZWQgYml0cyBhcyBhIG1hc2tcXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc2hybiA9IGZ1bmN0aW9uIGlzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNocm4oYml0cywgaGludCwgZXh0ZW5kZWQpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnRcXG4gIEJOLnByb3RvdHlwZS5zaGxuID0gZnVuY3Rpb24gc2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hsbiA9IGZ1bmN0aW9uIHVzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0XFxuICBCTi5wcm90b3R5cGUuc2hybiA9IGZ1bmN0aW9uIHNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNocm4gPSBmdW5jdGlvbiB1c2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBUZXN0IGlmIG4gYml0IGlzIHNldFxcbiAgQk4ucHJvdG90eXBlLnRlc3RuID0gZnVuY3Rpb24gdGVzdG4gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHJldHVybiBmYWxzZTtcXG5cXG4gICAgLy8gQ2hlY2sgYml0IGFuZCByZXR1cm5cXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3NdO1xcblxcbiAgICByZXR1cm4gISEodyAmIHEpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlciAoaW4tcGxhY2UpXFxuICBCTi5wcm90b3R5cGUuaW1hc2tuID0gZnVuY3Rpb24gaW1hc2tuIChiaXRzKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xcblxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ2ltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycycpO1xcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICB9XFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5taW4ocywgdGhpcy5sZW5ndGgpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSAmPSBtYXNrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8PSBudW0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pc3VibihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcXG4gICAgdGhpcy53b3Jkc1swXSArPSBudW07XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA+PSAweDQwMDAwMDA7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdID0gMTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGRuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDYXJyeVxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA8IDA7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWRkbiA9IGZ1bmN0aW9uIGFkZG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnN1Ym4gPSBmdW5jdGlvbiBzdWJuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pYWJzID0gZnVuY3Rpb24gaWFicyAoKSB7XFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWJzID0gZnVuY3Rpb24gYWJzICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pc2hsbnN1Ym11bCA9IGZ1bmN0aW9uIF9pc2hsbnN1Ym11bCAobnVtLCBtdWwsIHNoaWZ0KSB7XFxuICAgIHZhciBsZW4gPSBudW0ubGVuZ3RoICsgc2hpZnQ7XFxuICAgIHZhciBpO1xcblxcbiAgICB0aGlzLl9leHBhbmQobGVuKTtcXG5cXG4gICAgdmFyIHc7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgdmFyIHJpZ2h0ID0gKG51bS53b3Jkc1tpXSB8IDApICogbXVsO1xcbiAgICAgIHcgLT0gcmlnaHQgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSAodyA+PiAyNikgLSAoKHJpZ2h0IC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGkgPCB0aGlzLmxlbmd0aCAtIHNoaWZ0OyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ID09PSAwKSByZXR1cm4gdGhpcy5fc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fd29yZERpdiA9IGZ1bmN0aW9uIF93b3JkRGl2IChudW0sIG1vZGUpIHtcXG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW07XFxuXFxuICAgIC8vIE5vcm1hbGl6ZVxcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcXG4gICAgc2hpZnQgPSAyNiAtIGJoaUJpdHM7XFxuICAgIGlmIChzaGlmdCAhPT0gMCkge1xcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcXG4gICAgICBhLml1c2hsbihzaGlmdCk7XFxuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgfVxcblxcbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcXG4gICAgdmFyIHE7XFxuXFxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgIHEgPSBuZXcgQk4obnVsbCk7XFxuICAgICAgcS5sZW5ndGggPSBtICsgMTtcXG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XFxuICAgIGlmIChkaWZmLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgYSA9IGRpZmY7XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbbV0gPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcXG4gICAgICAgIChhLndvcmRzW2IubGVuZ3RoICsgaiAtIDFdIHwgMCk7XFxuXFxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcXG4gICAgICAvLyAoMHg3ZmZmZmZmKVxcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XFxuXFxuICAgICAgYS5faXNobG5zdWJtdWwoYiwgcWosIGopO1xcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBxai0tO1xcbiAgICAgICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcXG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xcbiAgICAgICAgICBhLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW2pdID0gcWo7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChxKSB7XFxuICAgICAgcS5fc3RyaXAoKTtcXG4gICAgfVxcbiAgICBhLl9zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kcm4obnVtLndvcmRzWzBdKSlcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RybihudW0ud29yZHNbMF0pKVxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3dvcmREaXYobnVtLCBtb2RlKTtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAvIGBudW1gXFxuICBCTi5wcm90b3R5cGUuZGl2ID0gZnVuY3Rpb24gZGl2IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ2RpdicsIGZhbHNlKS5kaXY7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgJSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm1vZCA9IGZ1bmN0aW9uIG1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCBmYWxzZSkubW9kO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51bW9kID0gZnVuY3Rpb24gdW1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCB0cnVlKS5tb2Q7XFxuICB9O1xcblxcbiAgLy8gRmluZCBSb3VuZChgdGhpc2AgLyBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5kaXZSb3VuZCA9IGZ1bmN0aW9uIGRpdlJvdW5kIChudW0pIHtcXG4gICAgdmFyIGRtID0gdGhpcy5kaXZtb2QobnVtKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlIC0gZXhhY3QgZGl2aXNpb25cXG4gICAgaWYgKGRtLm1vZC5pc1plcm8oKSkgcmV0dXJuIGRtLmRpdjtcXG5cXG4gICAgdmFyIG1vZCA9IGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLm1vZC5pc3ViKG51bSkgOiBkbS5tb2Q7XFxuXFxuICAgIHZhciBoYWxmID0gbnVtLnVzaHJuKDEpO1xcbiAgICB2YXIgcjIgPSBudW0uYW5kbG4oMSk7XFxuICAgIHZhciBjbXAgPSBtb2QuY21wKGhhbGYpO1xcblxcbiAgICAvLyBSb3VuZCBkb3duXFxuICAgIGlmIChjbXAgPCAwIHx8IChyMiA9PT0gMSAmJiBjbXAgPT09IDApKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICAvLyBSb3VuZCB1cFxcbiAgICByZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0uZGl2LmlzdWJuKDEpIDogZG0uZGl2LmlhZGRuKDEpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tb2RybiA9IGZ1bmN0aW9uIG1vZHJuIChudW0pIHtcXG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcXG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xcblxcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuICAgIHZhciBwID0gKDEgPDwgMjYpICUgbnVtO1xcblxcbiAgICB2YXIgYWNjID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICBhY2MgPSAocCAqIGFjYyArICh0aGlzLndvcmRzW2ldIHwgMCkpICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBpc05lZ051bSA/IC1hY2MgOiBhY2M7XFxuICB9O1xcblxcbiAgLy8gV0FSTklORzogREVQUkVDQVRFRFxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMubW9kcm4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5pZGl2biA9IGZ1bmN0aW9uIGlkaXZuIChudW0pIHtcXG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcXG4gICAgaWYgKGlzTmVnTnVtKSBudW0gPSAtbnVtO1xcblxcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuX3N0cmlwKCk7XFxuICAgIHJldHVybiBpc05lZ051bSA/IHRoaXMuaW5lZygpIDogdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZGl2biA9IGZ1bmN0aW9uIGRpdm4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVnY2QgPSBmdW5jdGlvbiBlZ2NkIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIHggPSB0aGlzO1xcbiAgICB2YXIgeSA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKHgubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB4ID0geC51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHggPSB4LmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gQSAqIHggKyBCICogeSA9IHhcXG4gICAgdmFyIEEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciBCID0gbmV3IEJOKDApO1xcblxcbiAgICAvLyBDICogeCArIEQgKiB5ID0geVxcbiAgICB2YXIgQyA9IG5ldyBCTigwKTtcXG4gICAgdmFyIEQgPSBuZXcgQk4oMSk7XFxuXFxuICAgIHZhciBnID0gMDtcXG5cXG4gICAgd2hpbGUgKHguaXNFdmVuKCkgJiYgeS5pc0V2ZW4oKSkge1xcbiAgICAgIHguaXVzaHJuKDEpO1xcbiAgICAgIHkuaXVzaHJuKDEpO1xcbiAgICAgICsrZztcXG4gICAgfVxcblxcbiAgICB2YXIgeXAgPSB5LmNsb25lKCk7XFxuICAgIHZhciB4cCA9IHguY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKCF4LmlzWmVybygpKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKHgud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIHguaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEEuaXNPZGQoKSB8fCBCLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBBLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEIuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQS5pdXNocm4oMSk7XFxuICAgICAgICAgIEIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoeS53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgeS5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQy5pc09kZCgpIHx8IEQuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEMuaWFkZCh5cCk7XFxuICAgICAgICAgICAgRC5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBDLml1c2hybigxKTtcXG4gICAgICAgICAgRC5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh4LmNtcCh5KSA+PSAwKSB7XFxuICAgICAgICB4LmlzdWIoeSk7XFxuICAgICAgICBBLmlzdWIoQyk7XFxuICAgICAgICBCLmlzdWIoRCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHkuaXN1Yih4KTtcXG4gICAgICAgIEMuaXN1YihBKTtcXG4gICAgICAgIEQuaXN1YihCKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBhOiBDLFxcbiAgICAgIGI6IEQsXFxuICAgICAgZ2NkOiB5Lml1c2hsbihnKVxcbiAgICB9O1xcbiAgfTtcXG5cXG4gIC8vIFRoaXMgaXMgcmVkdWNlZCBpbmNhcm5hdGlvbiBvZiB0aGUgYmluYXJ5IEVFQVxcbiAgLy8gYWJvdmUsIGRlc2lnbmF0ZWQgdG8gaW52ZXJ0IG1lbWJlcnMgb2YgdGhlXFxuICAvLyBfcHJpbWVfIGZpZWxkcyBGKHApIGF0IGEgbWF4aW1hbCBzcGVlZFxcbiAgQk4ucHJvdG90eXBlLl9pbnZtcCA9IGZ1bmN0aW9uIF9pbnZtcCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBhID0gdGhpcztcXG4gICAgdmFyIGIgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgYSA9IGEudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gYS5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIHZhciB4MSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIHgyID0gbmV3IEJOKDApO1xcblxcbiAgICB2YXIgZGVsdGEgPSBiLmNsb25lKCk7XFxuXFxuICAgIHdoaWxlIChhLmNtcG4oMSkgPiAwICYmIGIuY21wbigxKSA+IDApIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoYS53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgYS5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDEuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgxLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgxLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKGIud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIGIuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgyLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4Mi5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4Mi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhLmNtcChiKSA+PSAwKSB7XFxuICAgICAgICBhLmlzdWIoYik7XFxuICAgICAgICB4MS5pc3ViKHgyKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgYi5pc3ViKGEpO1xcbiAgICAgICAgeDIuaXN1Yih4MSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciByZXM7XFxuICAgIGlmIChhLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICByZXMgPSB4MTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSB4MjtcXG4gICAgfVxcblxcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQocCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ2NkID0gZnVuY3Rpb24gZ2NkIChudW0pIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiBudW0uYWJzKCk7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiB0aGlzLmFicygpO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW0uY2xvbmUoKTtcXG4gICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgIGIubmVnYXRpdmUgPSAwO1xcblxcbiAgICAvLyBSZW1vdmUgY29tbW9uIGZhY3RvciBvZiB0d29cXG4gICAgZm9yICh2YXIgc2hpZnQgPSAwOyBhLmlzRXZlbigpICYmIGIuaXNFdmVuKCk7IHNoaWZ0KyspIHtcXG4gICAgICBhLml1c2hybigxKTtcXG4gICAgICBiLml1c2hybigxKTtcXG4gICAgfVxcblxcbiAgICBkbyB7XFxuICAgICAgd2hpbGUgKGEuaXNFdmVuKCkpIHtcXG4gICAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAoYi5pc0V2ZW4oKSkge1xcbiAgICAgICAgYi5pdXNocm4oMSk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciByID0gYS5jbXAoYik7XFxuICAgICAgaWYgKHIgPCAwKSB7XFxuICAgICAgICAvLyBTd2FwIGBhYCBhbmQgYGJgIHRvIG1ha2UgYGFgIGFsd2F5cyBiaWdnZXIgdGhhbiBgYmBcXG4gICAgICAgIHZhciB0ID0gYTtcXG4gICAgICAgIGEgPSBiO1xcbiAgICAgICAgYiA9IHQ7XFxuICAgICAgfSBlbHNlIGlmIChyID09PSAwIHx8IGIuY21wbigxKSA9PT0gMCkge1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGEuaXN1YihiKTtcXG4gICAgfSB3aGlsZSAodHJ1ZSk7XFxuXFxuICAgIHJldHVybiBiLml1c2hsbihzaGlmdCk7XFxuICB9O1xcblxcbiAgLy8gSW52ZXJ0IG51bWJlciBpbiB0aGUgZmllbGQgRihudW0pXFxuICBCTi5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5lZ2NkKG51bSkuYS51bW9kKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzRXZlbiA9IGZ1bmN0aW9uIGlzRXZlbiAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc09kZCA9IGZ1bmN0aW9uIGlzT2RkICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDE7XFxuICB9O1xcblxcbiAgLy8gQW5kIGZpcnN0IHdvcmQgYW5kIG51bVxcbiAgQk4ucHJvdG90eXBlLmFuZGxuID0gZnVuY3Rpb24gYW5kbG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy53b3Jkc1swXSAmIG51bTtcXG4gIH07XFxuXFxuICAvLyBJbmNyZW1lbnQgYXQgdGhlIGJpdCBwb3NpdGlvbiBpbi1saW5lXFxuICBCTi5wcm90b3R5cGUuYmluY24gPSBmdW5jdGlvbiBiaW5jbiAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHRoaXMuX2V4cGFuZChzICsgMSk7XFxuICAgICAgdGhpcy53b3Jkc1tzXSB8PSBxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCBiaXQgYW5kIHByb3BhZ2F0ZSwgaWYgbmVlZGVkXFxuICAgIHZhciBjYXJyeSA9IHE7XFxuICAgIGZvciAodmFyIGkgPSBzOyBjYXJyeSAhPT0gMCAmJiBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdyArPSBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4+IDI2O1xcbiAgICAgIHcgJj0gMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc1plcm8gPSBmdW5jdGlvbiBpc1plcm8gKCkge1xcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY21wbiA9IGZ1bmN0aW9uIGNtcG4gKG51bSkge1xcbiAgICB2YXIgbmVnYXRpdmUgPSBudW0gPCAwO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiAhbmVnYXRpdmUpIHJldHVybiAtMTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbmVnYXRpdmUpIHJldHVybiAxO1xcblxcbiAgICB0aGlzLl9zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLl9zdHJpcCgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIHJldHVybiBudW0uaW11bCh0aGlzLmspO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIEsyNTYgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdrMjU2JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKEsyNTYsIE1QcmltZSk7XFxuXFxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XFxuICAgIC8vIDI1NiA9IDkgKiAyNiArIDIyXFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XFxuXFxuICAgIHZhciBvdXRMZW4gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIDkpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XFxuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XFxuICAgIH1cXG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcXG5cXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8PSA5KSB7XFxuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIFNoaWZ0IGJ5IDkgbGltYnNcXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcXG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcXG5cXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xcbiAgICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSAoKG5leHQgJiBtYXNrKSA8PCA0KSB8IChwcmV2ID4+PiAyMik7XFxuICAgICAgcHJldiA9IG5leHQ7XFxuICAgIH1cXG4gICAgcHJldiA+Pj49IDIyO1xcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcXG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gMTA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XFxuICAgIH1cXG4gIH07XFxuXFxuICBLMjU2LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoICsgMV0gPSAwO1xcbiAgICBudW0ubGVuZ3RoICs9IDI7XFxuXFxuICAgIC8vIGJvdW5kZWQgYXQ6IDB4NDAgKiAweDNmZmZmZmYgKyAweDNkMCA9IDB4MTAwMDAwMzkwXFxuICAgIHZhciBsbyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBudW0ud29yZHNbaV0gfCAwO1xcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcXG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICBsbyA9IHcgKiAweDQwICsgKChsbyAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgfVxcblxcbiAgICAvLyBGYXN0IGxlbmd0aCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBQMjI0ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDIyNCcsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDE5MiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AxOTInLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDE5MiwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XFxuICAgIC8vIDIgXiAyNTUgLSAxOVxcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICcyNTUxOScsXFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyNTUxOSwgTVByaW1lKTtcXG5cXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEzXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGhpID0gKG51bS53b3Jkc1tpXSB8IDApICogMHgxMyArIGNhcnJ5O1xcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xcbiAgICAgIGhpID4+Pj0gMjY7XFxuXFxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XFxuICAgICAgY2FycnkgPSBoaTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xcbiAgICAvLyBDYWNoZWQgdmVyc2lvbiBvZiBwcmltZVxcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xcblxcbiAgICB2YXIgcHJpbWU7XFxuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyMjQnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xcbiAgICAgIHByaW1lID0gbmV3IFAxOTIoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XFxuICAgIH1cXG4gICAgcHJpbWVzW25hbWVdID0gcHJpbWU7XFxuXFxuICAgIHJldHVybiBwcmltZTtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQmFzZSByZWR1Y3Rpb24gZW5naW5lXFxuICAvL1xcbiAgZnVuY3Rpb24gUmVkIChtKSB7XFxuICAgIGlmICh0eXBlb2YgbSA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XFxuICAgICAgdGhpcy5tID0gcHJpbWUucDtcXG4gICAgICB0aGlzLnByaW1lID0gcHJpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XFxuICAgICAgdGhpcy5tID0gbTtcXG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XFxuICAgIGFzc2VydChhLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCAmJiBhLnJlZCA9PT0gYi5yZWQsXFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XFxuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgbW92ZShhLCBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcykpO1xcbiAgICByZXR1cm4gYTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5zdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTEoYSk7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwoYSwgYS5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XFxuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZVxcbiAgICBpZiAobW9kMyA9PT0gMykge1xcbiAgICAgIHZhciBwb3cgPSB0aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO1xcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xcbiAgICB9XFxuXFxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcXG4gICAgLy9cXG4gICAgLy8gRmluZCBRIGFuZCBTLCB0aGF0IFEgKiAyIF4gUyA9IChQIC0gMSlcXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcXG4gICAgdmFyIHMgPSAwO1xcbiAgICB3aGlsZSAoIXEuaXNaZXJvKCkgJiYgcS5hbmRsbigxKSA9PT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgICBxLml1c2hybigxKTtcXG4gICAgfVxcbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgb25lID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcXG5cXG4gICAgLy8gRmluZCBxdWFkcmF0aWMgbm9uLXJlc2lkdWVcXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXFxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xcbiAgICB2YXIgeiA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xcblxcbiAgICB3aGlsZSAodGhpcy5wb3coeiwgbHBvdykuY21wKG5PbmUpICE9PSAwKSB7XFxuICAgICAgei5yZWRJQWRkKG5PbmUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XFxuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XFxuICAgIHZhciB0ID0gdGhpcy5wb3coYSwgcSk7XFxuICAgIHZhciBtID0gcztcXG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcXG4gICAgICB2YXIgdG1wID0gdDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcXG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcXG4gICAgICB9XFxuICAgICAgYXNzZXJ0KGkgPCBtKTtcXG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XFxuXFxuICAgICAgciA9IHIucmVkTXVsKGIpO1xcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xcbiAgICAgIHQgPSB0LnJlZE11bChjKTtcXG4gICAgICBtID0gaTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xcbiAgICBpZiAoaW52Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciB3aW5kb3dTaXplID0gNDtcXG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHduZFsxXSA9IGE7XFxuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcyA9IHduZFswXTtcXG4gICAgdmFyIGN1cnJlbnQgPSAwO1xcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XFxuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xcbiAgICBpZiAoc3RhcnQgPT09IDApIHtcXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xcbiAgICAgIGZvciAodmFyIGogPSBzdGFydCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XFxuICAgICAgICAgIHJlcyA9IHRoaXMuc3FyKHJlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoYml0ID09PSAwICYmIGN1cnJlbnQgPT09IDApIHtcXG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY3VycmVudCA8PD0gMTtcXG4gICAgICAgIGN1cnJlbnQgfD0gYml0O1xcbiAgICAgICAgY3VycmVudExlbisrO1xcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xcbiAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICBjdXJyZW50ID0gMDtcXG4gICAgICB9XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgdmFyIHIgPSBudW0udW1vZCh0aGlzLm0pO1xcblxcbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgcmVzID0gbnVtLmNsb25lKCk7XFxuICAgIHJlcy5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBNb250Z29tZXJ5IG1ldGhvZCBlbmdpbmVcXG4gIC8vXFxuXFxuICBCTi5tb250ID0gZnVuY3Rpb24gbW9udCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcXG4gICAgUmVkLmNhbGwodGhpcywgbSk7XFxuXFxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcXG4gICAgICB0aGlzLnNoaWZ0ICs9IDI2IC0gKHRoaXMuc2hpZnQgJSAyNik7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5yID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTtcXG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XFxuXFxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5yLnN1Yih0aGlzLm1pbnYpO1xcbiAgfVxcbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHIgPSB0aGlzLmltb2QobnVtLm11bCh0aGlzLnJpbnYpKTtcXG4gICAgci5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSB7XFxuICAgICAgYS53b3Jkc1swXSA9IDA7XFxuICAgICAgYS5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiBhO1xcbiAgICB9XFxuXFxuICAgIHZhciB0ID0gYS5pbXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcblxcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgdmFyIHQgPSBhLm11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXFxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxufSkoIGZhbHNlIHx8IG1vZHVsZSwgdGhpcyk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vd2VicGFjay9idWlsZGluL21vZHVsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1xcXCIpKG1vZHVsZSkpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWJpNXFjeTlzYVdJdlltNHVhbk0vTTJRd05TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNaMEpCUVZFN1FVRkROMElzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEhkRFFVRjNRenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eFJRVUZSTzBGQlEyaEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUWtGQmQwSXNiVUpCUVcxQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVE8wRkJRMmhET3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBOQlFYTkRMRmxCUVZrN1FVRkRiRVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFRRVUZUTzBGQlEyaERPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSE5EUVVGelF5eHpRa0ZCYzBJN1FVRkROVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xGTkJRVk03UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNhVUpCUVdsQ08wRkJRM1JETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3NFFrRkJPRUlzYVVKQlFXbENPMEZCUXk5RE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRGhDUVVFNFFpeHBRa0ZCYVVJN1FVRkRMME03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1owSkJRV2RDTzBGQlEzSkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHTkJRV003UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hWUVVGVkxEWkNRVUUyUWp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNVMEZCVXp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYjBKQlFXOUNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlFUVVGdlJDeFhRVUZYTzBGQlF5OUVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMSEZDUVVGeFFpeFBRVUZQTzBGQlF6VkNPMEZCUTBFN08wRkJSVUVzZFVKQlFYVkNMRTlCUVU4N1FVRkRPVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeEhRVUZITzBGQlF6RkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4WFFVRlhPMEZCUXpsQ096dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4WFFVRlhPMEZCUXpsQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVTBGQlV6dEJRVU0xUWpzN1FVRkZRU3hyUTBGQmEwTTdRVUZEYkVNc2MwTkJRWE5ETzBGQlEzUkRPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHTkJRV003UVVGRE0wTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEN0Q1FVRXJRaXhSUVVGUk8wRkJRM1pETzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxHbENRVUZwUWl4cFFrRkJhVUk3UVVGRGJFTTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpd3JRMEZCSzBNN1FVRkRiRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNjVUpCUVhGQ0xITkRRVUZ6UXp0QlFVTXpSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc1owSkJRV2RDTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNlVUpCUVhsQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc2FVSkJRV2xDTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4alFVRmpPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVVVGQlVUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF5eFJRVUZSTzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEcxRFFVRnRRenRCUVVOb1JUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZFVKQlFYVkNMREJDUVVFd1FqdEJRVU5xUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaME5CUVdkRE8wRkJRMjVFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1dVRkJXVHRCUVVNdlFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWjBKQlFXZENMR3RDUVVGclFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEc5Q1FVRnZRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERSQ1FVRTBRaXhSUVVGUk8wRkJRM0JETzBGQlEwRXNOa0pCUVRaQ0xGRkJRVkU3UVVGRGNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlVGQlJTeE5RVUUyUWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpYmk1cWN5OXNhV0l2WW00dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJb1puVnVZM1JwYjI0Z0tHMXZaSFZzWlN3Z1pYaHdiM0owY3lrZ2UxeHVJQ0FuZFhObElITjBjbWxqZENjN1hHNWNiaUFnTHk4Z1ZYUnBiSE5jYmlBZ1puVnVZM1JwYjI0Z1lYTnpaWEowSUNoMllXd3NJRzF6WnlrZ2UxeHVJQ0FnSUdsbUlDZ2hkbUZzS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvYlhObklIeDhJQ2RCYzNObGNuUnBiMjRnWm1GcGJHVmtKeWs3WEc0Z0lIMWNibHh1SUNBdkx5QkRiM1ZzWkNCMWMyVWdZR2x1YUdWeWFYUnpZQ0J0YjJSMWJHVXNJR0oxZENCa2IyNG5kQ0IzWVc1MElIUnZJRzF2ZG1VZ1puSnZiU0J6YVc1bmJHVWdabWxzWlZ4dUlDQXZMeUJoY21Ob2FYUmxZM1IxY21VZ2VXVjBMbHh1SUNCbWRXNWpkR2x2YmlCcGJtaGxjbWwwY3lBb1kzUnZjaXdnYzNWd1pYSkRkRzl5S1NCN1hHNGdJQ0FnWTNSdmNpNXpkWEJsY2w4Z1BTQnpkWEJsY2tOMGIzSTdYRzRnSUNBZ2RtRnlJRlJsYlhCRGRHOXlJRDBnWm5WdVkzUnBiMjRnS0NrZ2UzMDdYRzRnSUNBZ1ZHVnRjRU4wYjNJdWNISnZkRzkwZVhCbElEMGdjM1Z3WlhKRGRHOXlMbkJ5YjNSdmRIbHdaVHRjYmlBZ0lDQmpkRzl5TG5CeWIzUnZkSGx3WlNBOUlHNWxkeUJVWlcxd1EzUnZjaWdwTzF4dUlDQWdJR04wYjNJdWNISnZkRzkwZVhCbExtTnZibk4wY25WamRHOXlJRDBnWTNSdmNqdGNiaUFnZlZ4dVhHNGdJQzh2SUVKT1hHNWNiaUFnWm5WdVkzUnBiMjRnUWs0Z0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0VKT0xtbHpRazRvYm5WdFltVnlLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzUxYldKbGNqdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNWNiaUFnSUNBdkx5QlNaV1IxWTNScGIyNGdZMjl1ZEdWNGRGeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNodWRXMWlaWElnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdsbUlDaGlZWE5sSUQwOVBTQW5iR1VuSUh4OElHSmhjMlVnUFQwOUlDZGlaU2NwSUh0Y2JpQWdJQ0FnSUNBZ1pXNWthV0Z1SUQwZ1ltRnpaVHRjYmlBZ0lDQWdJQ0FnWW1GelpTQTlJREV3TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFHbHpMbDlwYm1sMEtHNTFiV0psY2lCOGZDQXdMQ0JpWVhObElIeDhJREV3TENCbGJtUnBZVzRnZkh3Z0oySmxKeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJR2xtSUNoMGVYQmxiMllnYlc5a2RXeGxJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUcxdlpIVnNaUzVsZUhCdmNuUnpJRDBnUWs0N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pYaHdiM0owY3k1Q1RpQTlJRUpPTzF4dUlDQjlYRzVjYmlBZ1FrNHVRazRnUFNCQ1RqdGNiaUFnUWs0dWQyOXlaRk5wZW1VZ1BTQXlOanRjYmx4dUlDQjJZWElnUW5WbVptVnlPMXh1SUNCMGNua2dlMXh1SUNBZ0lFSjFabVpsY2lBOUlISmxjWFZwY21Vb0oySjFabVpsY2ljcExrSjFabVpsY2p0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQjlYRzVjYmlBZ1FrNHVhWE5DVGlBOUlHWjFibU4wYVc5dUlHbHpRazRnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcwZ2FXNXpkR0Z1WTJWdlppQkNUaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRzUxYlNBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ2JuVnRJRDA5UFNBbmIySnFaV04wSnlBbUpseHVJQ0FnSUNBZ2JuVnRMbU52Ym5OMGNuVmpkRzl5TG5kdmNtUlRhWHBsSUQwOVBTQkNUaTUzYjNKa1UybDZaU0FtSmlCQmNuSmhlUzVwYzBGeWNtRjVLRzUxYlM1M2IzSmtjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHViV0Y0SUQwZ1puVnVZM1JwYjI0Z2JXRjRJQ2hzWldaMExDQnlhV2RvZENrZ2UxeHVJQ0FnSUdsbUlDaHNaV1owTG1OdGNDaHlhV2RvZENrZ1BpQXdLU0J5WlhSMWNtNGdiR1ZtZER0Y2JpQWdJQ0J5WlhSMWNtNGdjbWxuYUhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1YldsdUlEMGdablZ1WTNScGIyNGdiV2x1SUNoc1pXWjBMQ0J5YVdkb2RDa2dlMXh1SUNBZ0lHbG1JQ2hzWldaMExtTnRjQ2h5YVdkb2RDa2dQQ0F3S1NCeVpYUjFjbTRnYkdWbWREdGNiaUFnSUNCeVpYUjFjbTRnY21sbmFIUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBibWwwSUQwZ1puVnVZM1JwYjI0Z2FXNXBkQ0FvYm5WdFltVnlMQ0JpWVhObExDQmxibVJwWVc0cElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNTFiV0psY2lBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5cGJtbDBUblZ0WW1WeUtHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzUxYldKbGNpQTlQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBibWwwUVhKeVlYa29iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBbmFHVjRKeWtnZTF4dUlDQWdJQ0FnWW1GelpTQTlJREUyTzF4dUlDQWdJSDFjYmlBZ0lDQmhjM05sY25Rb1ltRnpaU0E5UFQwZ0tHSmhjMlVnZkNBd0tTQW1KaUJpWVhObElENDlJRElnSmlZZ1ltRnpaU0E4UFNBek5pazdYRzVjYmlBZ0lDQnVkVzFpWlhJZ1BTQnVkVzFpWlhJdWRHOVRkSEpwYm1jb0tTNXlaWEJzWVdObEtDOWNYSE1yTDJjc0lDY25LVHRjYmlBZ0lDQjJZWElnYzNSaGNuUWdQU0F3TzF4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2MzUmhjblFyS3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ltRnpaU0E5UFQwZ01UWXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzQmhjbk5sU0dWNEtHNTFiV0psY2l3Z2MzUmhjblFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5d1lYSnpaVUpoYzJVb2JuVnRZbVZ5TENCaVlYTmxMQ0J6ZEdGeWRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzUxYldKbGNsc3dYU0E5UFQwZ0p5MG5LU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5emRISnBjQ2dwTzF4dVhHNGdJQ0FnYVdZZ0tHVnVaR2xoYmlBaFBUMGdKMnhsSnlrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnZEdocGN5NWZhVzVwZEVGeWNtRjVLSFJvYVhNdWRHOUJjbkpoZVNncExDQmlZWE5sTENCbGJtUnBZVzRwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRFNTFiV0psY2lBOUlHWjFibU4wYVc5dUlGOXBibWwwVG5WdFltVnlJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaHVkVzFpWlhJZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJRzUxYldKbGNpQTlJQzF1ZFcxaVpYSTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaHVkVzFpWlhJZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYmJuVnRZbVZ5SUNZZ01IZ3pabVptWm1abVhUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJXSmxjaUE4SURCNE1UQXdNREF3TURBd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURJN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzFpWlhJZ1BDQXdlREl3TURBd01EQXdNREF3TURBd0tUc2dMeThnTWlCZUlEVXpJQ2gxYm5OaFptVXBYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBeFhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHSjVkR1Z6WEc0Z0lDQWdkR2hwY3k1ZmFXNXBkRUZ5Y21GNUtIUm9hWE11ZEc5QmNuSmhlU2dwTENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzVwZEVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUkJjbkpoZVNBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQXZMeUJRWlhKb1lYQnpJR0VnVldsdWREaEJjbkpoZVZ4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRZbVZ5TG14bGJtZDBhQ0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdsbUlDaHVkVzFpWlhJdWJHVnVaM1JvSUR3OUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYk1GMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2h1ZFcxaVpYSXViR1Z1WjNSb0lDOGdNeWs3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdhaXdnZHp0Y2JpQWdJQ0IyWVhJZ2IyWm1JRDBnTUR0Y2JpQWdJQ0JwWmlBb1pXNWthV0Z1SUQwOVBTQW5ZbVVuS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNCdWRXMWlaWEl1YkdWdVozUm9JQzBnTVN3Z2FpQTlJREE3SUdrZ1BqMGdNRHNnYVNBdFBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnTFNBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXRJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9aVzVrYVdGdUlEMDlQU0FuYkdVbktTQjdYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdMQ0JxSUQwZ01Ec2dhU0E4SUc1MWJXSmxjaTVzWlc1bmRHZzdJR2tnS3owZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQ3NnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0t5QXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjR0Z5YzJWSVpYZ2dLSE4wY2l3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNBZ0lIWmhjaUJ5SUQwZ01EdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ1RXRjBhQzV0YVc0b2MzUnlMbXhsYm1kMGFDd2daVzVrS1R0Y2JpQWdJQ0IyWVhJZ2VpQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z2JHVnVPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrZ0xTQTBPRHRjYmx4dUlDQWdJQ0FnY2lBOFBEMGdORHRjYmx4dUlDQWdJQ0FnZG1GeUlHSTdYRzVjYmlBZ0lDQWdJQzh2SUNkaEp5QXRJQ2RtSjF4dUlDQWdJQ0FnYVdZZ0tHTWdQajBnTkRrZ0ppWWdZeUE4UFNBMU5Da2dlMXh1SUNBZ0lDQWdJQ0JpSUQwZ1l5QXRJRFE1SUNzZ01IaGhPMXh1WEc0Z0lDQWdJQ0F2THlBblFTY2dMU0FuUmlkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlBbUppQmpJRHc5SURJeUtTQjdYRzRnSUNBZ0lDQWdJR0lnUFNCaklDMGdNVGNnS3lBd2VHRTdYRzVjYmlBZ0lDQWdJQzh2SUNjd0p5QXRJQ2M1SjF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlHTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSElnZkQwZ1lqdGNiaUFnSUNBZ0lIb2dmRDBnWWp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoYzNObGNuUW9JU2g2SUNZZ01IaG1NQ2tzSUNkSmJuWmhiR2xrSUdOb1lYSmhZM1JsY2lCcGJpQW5JQ3NnYzNSeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVYM04wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnY0dGeWMyVkNZWE5sSUNoemRISXNJSE4wWVhKMExDQmxibVFzSUcxMWJDa2dlMXh1SUNBZ0lIWmhjaUJ5SUQwZ01EdGNiaUFnSUNCMllYSWdZaUE5SURBN1hHNGdJQ0FnZG1GeUlHeGxiaUE5SUUxaGRHZ3ViV2x1S0hOMGNpNXNaVzVuZEdnc0lHVnVaQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z2JHVnVPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrZ0xTQTBPRHRjYmx4dUlDQWdJQ0FnY2lBcVBTQnRkV3c3WEc1Y2JpQWdJQ0FnSUM4dklDZGhKMXh1SUNBZ0lDQWdhV1lnS0dNZ1BqMGdORGtwSUh0Y2JpQWdJQ0FnSUNBZ1lpQTlJR01nTFNBME9TQXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKMEVuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dNZ1BqMGdNVGNwSUh0Y2JpQWdJQ0FnSUNBZ1lpQTlJR01nTFNBeE55QXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKekFuSUMwZ0p6a25YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmlJRDBnWXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdGemMyVnlkQ2hqSUQ0OUlEQWdKaVlnWWlBOElHMTFiQ3dnSjBsdWRtRnNhV1FnWTJoaGNtRmpkR1Z5SnlrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5d1lYSnpaVUpoYzJVZ1BTQm1kVzVqZEdsdmJpQmZjR0Z5YzJWQ1lYTmxJQ2h1ZFcxaVpYSXNJR0poYzJVc0lITjBZWEowS1NCN1hHNGdJQ0FnTHk4Z1NXNXBkR2xoYkdsNlpTQmhjeUI2WlhKdlhHNGdJQ0FnZEdocGN5NTNiM0prY3lBOUlGc3dYVHRjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNWNiaUFnSUNBdkx5QkdhVzVrSUd4bGJtZDBhQ0J2WmlCc2FXMWlJR2x1SUdKaGMyVmNiaUFnSUNCbWIzSWdLSFpoY2lCc2FXMWlUR1Z1SUQwZ01Dd2diR2x0WWxCdmR5QTlJREU3SUd4cGJXSlFiM2NnUEQwZ01IZ3pabVptWm1abU95QnNhVzFpVUc5M0lDbzlJR0poYzJVcElIdGNiaUFnSUNBZ0lHeHBiV0pNWlc0ckt6dGNiaUFnSUNCOVhHNGdJQ0FnYkdsdFlreGxiaTB0TzF4dUlDQWdJR3hwYldKUWIzY2dQU0FvYkdsdFlsQnZkeUF2SUdKaGMyVXBJSHdnTUR0Y2JseHVJQ0FnSUhaaGNpQjBiM1JoYkNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNCemRHRnlkRHRjYmlBZ0lDQjJZWElnYlc5a0lEMGdkRzkwWVd3Z0pTQnNhVzFpVEdWdU8xeHVJQ0FnSUhaaGNpQmxibVFnUFNCTllYUm9MbTFwYmloMGIzUmhiQ3dnZEc5MFlXd2dMU0J0YjJRcElDc2djM1JoY25RN1hHNWNiaUFnSUNCMllYSWdkMjl5WkNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJSE4wWVhKME95QnBJRHdnWlc1a095QnBJQ3M5SUd4cGJXSk1aVzRwSUh0Y2JpQWdJQ0FnSUhkdmNtUWdQU0J3WVhKelpVSmhjMlVvYm5WdFltVnlMQ0JwTENCcElDc2diR2x0WWt4bGJpd2dZbUZ6WlNrN1hHNWNiaUFnSUNBZ0lIUm9hWE11YVcxMWJHNG9iR2x0WWxCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHMXZaQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhCdmR5QTlJREU3WEc0Z0lDQWdJQ0IzYjNKa0lEMGdjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dhU3dnYm5WdFltVnlMbXhsYm1kMGFDd2dZbUZ6WlNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCdGIyUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQndiM2NnS2owZ1ltRnpaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXBiWFZzYmlod2IzY3BPMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkMjl5WkhOYk1GMGdLeUIzYjNKa0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnZDI5eVpEdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDJsaFpHUnVLSGR2Y21RcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTI5d2VTQTlJR1oxYm1OMGFXOXVJR052Y0hrZ0tHUmxjM1FwSUh0Y2JpQWdJQ0JrWlhOMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR1JsYzNRdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmlBZ0lDQmtaWE4wTG14bGJtZDBhQ0E5SUhSb2FYTXViR1Z1WjNSb08xeHVJQ0FnSUdSbGMzUXVibVZuWVhScGRtVWdQU0IwYUdsekxtNWxaMkYwYVhabE8xeHVJQ0FnSUdSbGMzUXVjbVZrSUQwZ2RHaHBjeTV5WldRN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdiVzkyWlNBb1pHVnpkQ3dnYzNKaktTQjdYRzRnSUNBZ1pHVnpkQzUzYjNKa2N5QTlJSE55WXk1M2IzSmtjenRjYmlBZ0lDQmtaWE4wTG14bGJtZDBhQ0E5SUhOeVl5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSE55WXk1dVpXZGhkR2wyWlR0Y2JpQWdJQ0JrWlhOMExuSmxaQ0E5SUhOeVl5NXlaV1E3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMjF2ZG1VZ1BTQm1kVzVqZEdsdmJpQmZiVzkyWlNBb1pHVnpkQ2tnZTF4dUlDQWdJRzF2ZG1Vb1pHVnpkQ3dnZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z1kyeHZibVVnS0NrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUhSb2FYTXVZMjl3ZVNoeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJWNGNHRnVaQ0E5SUdaMWJtTjBhVzl1SUY5bGVIQmhibVFnS0hOcGVtVXBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J6YVhwbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvS3l0ZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVnRiM1psSUd4bFlXUnBibWNnWURCZ0lHWnliMjBnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZjM1J5YVhBZ1BTQm1kVzVqZEdsdmJpQnpkSEpwY0NBb0tTQjdYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXViR1Z1WjNSb0lENGdNU0FtSmlCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9JQzBnTVYwZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0xTMDdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXViM0p0VTJsbmJpZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZibTl5YlZOcFoyNGdQU0JtZFc1amRHbHZiaUJmYm05eWJWTnBaMjRnS0NrZ2UxeHVJQ0FnSUM4dklDMHdJRDBnTUZ4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVNBbUppQjBhR2x6TG5kdmNtUnpXekJkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1EyaGxZMnNnVTNsdFltOXNMbVp2Y2lCaVpXTmhkWE5sSUc1dmRDQmxkbVZ5ZVhkb1pYSmxJSGRvWlhKbElGTjViV0p2YkNCa1pXWnBibVZrWEc0Z0lDOHZJRk5sWlNCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5S1lYWmhVMk55YVhCMEwxSmxabVZ5Wlc1alpTOUhiRzlpWVd4ZlQySnFaV04wY3k5VGVXMWliMndqUW5KdmQzTmxjbDlqYjIxd1lYUnBZbWxzYVhSNVhHNGdJR2xtSUNoMGVYQmxiMllnVTNsdFltOXNJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIwZVhCbGIyWWdVM2x0WW05c0xtWnZjaUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lFSk9MbkJ5YjNSdmRIbHdaVnRUZVcxaWIyd3VabTl5S0NkdWIyUmxhbk11ZFhScGJDNXBibk53WldOMExtTjFjM1J2YlNjcFhTQTlJR2x1YzNCbFkzUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWMzQmxZM1FnUFNCcGJuTndaV04wTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2FXNXpjR1ZqZENBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbkpsWkNBL0lDYzhRazR0VWpvZ0p5QTZJQ2M4UWs0NklDY3BJQ3NnZEdocGN5NTBiMU4wY21sdVp5Z3hOaWtnS3lBblBpYzdYRzRnSUgxY2JseHVJQ0F2S2x4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0ZE8xeHVJQ0IyWVhJZ1ozSnZkWEJUYVhwbGN5QTlJRnRkTzF4dUlDQjJZWElnWjNKdmRYQkNZWE5sY3lBOUlGdGRPMXh1WEc0Z0lIWmhjaUJ6SUQwZ0p5YzdYRzRnSUhaaGNpQnBJRDBnTFRFN1hHNGdJSGRvYVd4bElDZ3JLMmtnUENCQ1RpNTNiM0prVTJsNlpTa2dlMXh1SUNBZ0lIcGxjbTl6VzJsZElEMGdjenRjYmlBZ0lDQnpJQ3M5SUNjd0p6dGNiaUFnZlZ4dUlDQm5jbTkxY0ZOcGVtVnpXekJkSUQwZ01EdGNiaUFnWjNKdmRYQlRhWHBsYzFzeFhTQTlJREE3WEc0Z0lHZHliM1Z3UW1GelpYTmJNRjBnUFNBd08xeHVJQ0JuY205MWNFSmhjMlZ6V3pGZElEMGdNRHRjYmlBZ2RtRnlJR0poYzJVZ1BTQXlJQzBnTVR0Y2JpQWdkMmhwYkdVZ0tDc3JZbUZ6WlNBOElETTJJQ3NnTVNrZ2UxeHVJQ0FnSUhaaGNpQm5jbTkxY0ZOcGVtVWdQU0F3TzF4dUlDQWdJSFpoY2lCbmNtOTFjRUpoYzJVZ1BTQXhPMXh1SUNBZ0lIZG9hV3hsSUNobmNtOTFjRUpoYzJVZ1BDQW9NU0E4UENCQ1RpNTNiM0prVTJsNlpTa2dMeUJpWVhObEtTQjdYRzRnSUNBZ0lDQm5jbTkxY0VKaGMyVWdLajBnWW1GelpUdGNiaUFnSUNBZ0lHZHliM1Z3VTJsNlpTQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ0lDQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZElEMGdaM0p2ZFhCVGFYcGxPMXh1SUNBZ0lHZHliM1Z3UW1GelpYTmJZbUZ6WlYwZ1BTQm5jbTkxY0VKaGMyVTdYRzRnSUgxY2JseHVJQ0FxTDF4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0Y2JpQWdJQ0FuSnl4Y2JpQWdJQ0FuTUNjc1hHNGdJQ0FnSnpBd0p5eGNiaUFnSUNBbk1EQXdKeXhjYmlBZ0lDQW5NREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNkY2JpQWdYVHRjYmx4dUlDQjJZWElnWjNKdmRYQlRhWHBsY3lBOUlGdGNiaUFnSUNBd0xDQXdMRnh1SUNBZ0lESTFMQ0F4Tml3Z01USXNJREV4TENBeE1Dd2dPU3dnT0N4Y2JpQWdJQ0E0TENBM0xDQTNMQ0EzTENBM0xDQTJMQ0EyTEZ4dUlDQWdJRFlzSURZc0lEWXNJRFlzSURZc0lEVXNJRFVzWEc0Z0lDQWdOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3hjYmlBZ0lDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFYRzRnSUYwN1hHNWNiaUFnZG1GeUlHZHliM1Z3UW1GelpYTWdQU0JiWEc0Z0lDQWdNQ3dnTUN4Y2JpQWdJQ0F6TXpVMU5EUXpNaXdnTkRNd05EWTNNakVzSURFMk56YzNNakUyTENBME9EZ3lPREV5TlN3Z05qQTBOall4TnpZc0lEUXdNelV6TmpBM0xDQXhOamMzTnpJeE5peGNiaUFnSUNBME16QTBOamN5TVN3Z01UQXdNREF3TURBc0lERTVORGczTVRjeExDQXpOVGd6TVRnd09Dd2dOakkzTkRnMU1UY3NJRGMxTWprMU16WXNJREV4TXprd05qSTFMRnh1SUNBZ0lERTJOemMzTWpFMkxDQXlOREV6TnpVMk9Td2dNelF3TVRJeU1qUXNJRFEzTURRMU9EZ3hMQ0EyTkRBd01EQXdNQ3dnTkRBNE5ERXdNU3dnTlRFMU16WXpNaXhjYmlBZ0lDQTJORE0yTXpRekxDQTNPVFl5TmpJMExDQTVOelkxTmpJMUxDQXhNVGc0TVRNM05pd2dNVFF6TkRnNU1EY3NJREUzTWpFd016WTRMQ0F5TURVeE1URTBPU3hjYmlBZ0lDQXlORE13TURBd01Dd2dNamcyTWpreE5URXNJRE16TlRVME5ETXlMQ0F6T1RFek5UTTVNeXdnTkRVME16VTBNalFzSURVeU5USXhPRGMxTENBMk1EUTJOakUzTmx4dUlDQmRPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjFOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUhSdlUzUnlhVzVuSUNoaVlYTmxMQ0J3WVdSa2FXNW5LU0I3WEc0Z0lDQWdZbUZ6WlNBOUlHSmhjMlVnZkh3Z01UQTdYRzRnSUNBZ2NHRmtaR2x1WnlBOUlIQmhaR1JwYm1jZ2ZDQXdJSHg4SURFN1hHNWNiaUFnSUNCMllYSWdiM1YwTzF4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pQjhmQ0JpWVhObElEMDlQU0FuYUdWNEp5a2dlMXh1SUNBZ0lDQWdiM1YwSUQwZ0p5YzdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnSUNCMllYSWdkMjl5WkNBOUlDZ29LSGNnUER3Z2IyWm1LU0I4SUdOaGNuSjVLU0FtSURCNFptWm1abVptS1M1MGIxTjBjbWx1WnlneE5pazdYRzRnSUNBZ0lDQWdJR05oY25KNUlEMGdLSGNnUGo0K0lDZ3lOQ0F0SUc5bVppa3BJQ1lnTUhobVptWm1abVk3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ0I4ZkNCcElDRTlQU0IwYUdsekxteGxibWQwYUNBdElERXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxczJJQzBnZDI5eVpDNXNaVzVuZEdoZElDc2dkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0IzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHOW1aaUFyUFNBeU8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdrdExUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlHTmhjbko1TG5SdlUzUnlhVzVuS0RFMktTQXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FvWW1GelpTQjhJREFwSUNZbUlHSmhjMlVnUGowZ01pQW1KaUJpWVhObElEdzlJRE0yS1NCN1hHNGdJQ0FnSUNBdkx5QjJZWElnWjNKdmRYQlRhWHBsSUQwZ1RXRjBhQzVtYkc5dmNpaENUaTUzYjNKa1UybDZaU0FxSUUxaGRHZ3VURTR5SUM4Z1RXRjBhQzVzYjJjb1ltRnpaU2twTzF4dUlDQWdJQ0FnZG1GeUlHZHliM1Z3VTJsNlpTQTlJR2R5YjNWd1UybDZaWE5iWW1GelpWMDdYRzRnSUNBZ0lDQXZMeUIyWVhJZ1ozSnZkWEJDWVhObElEMGdUV0YwYUM1d2IzY29ZbUZ6WlN3Z1ozSnZkWEJUYVhwbEtUdGNiaUFnSUNBZ0lIWmhjaUJuY205MWNFSmhjMlVnUFNCbmNtOTFjRUpoYzJWelcySmhjMlZkTzF4dUlDQWdJQ0FnYjNWMElEMGdKeWM3WEc0Z0lDQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0FnSUdNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tDRmpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnWXk1dGIyUnliaWhuY205MWNFSmhjMlVwTG5SdlUzUnlhVzVuS0dKaGMyVXBPMXh1SUNBZ0lDQWdJQ0JqSUQwZ1l5NXBaR2wyYmlobmNtOTFjRUpoYzJVcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUc5MWRDQTlJSHBsY205elcyZHliM1Z3VTJsNlpTQXRJSEl1YkdWdVozUm9YU0FySUhJZ0t5QnZkWFE3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IzVjBJRDBnY2lBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2IzVjBJRDBnSnpBbklDc2diM1YwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnZDJocGJHVWdLRzkxZEM1c1pXNW5kR2dnSlNCd1lXUmthVzVuSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJQ2N3SnlBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3RKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lISmxkSFZ5YmlCdmRYUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1lYTnpaWEowS0daaGJITmxMQ0FuUW1GelpTQnphRzkxYkdRZ1ltVWdZbVYwZDJWbGJpQXlJR0Z1WkNBek5pY3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMDUxYldKbGNpQTlJR1oxYm1OMGFXOXVJSFJ2VG5WdFltVnlJQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2NtVjBJRDBnZEdocGN5NTNiM0prYzFzd1hUdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlESXBJSHRjYmlBZ0lDQWdJSEpsZENBclBTQjBhR2x6TG5kdmNtUnpXekZkSUNvZ01IZzBNREF3TURBd08xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURNZ0ppWWdkR2hwY3k1M2IzSmtjMXN5WFNBOVBUMGdNSGd3TVNrZ2UxeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lYUWdkR2hwY3lCemRHRm5aU0JwZENCcGN5QnJibTkzYmlCMGFHRjBJSFJvWlNCMGIzQWdZbWwwSUdseklITmxkRnh1SUNBZ0lDQWdjbVYwSUNzOUlEQjRNVEF3TURBd01EQXdNREF3TURBZ0t5QW9kR2hwY3k1M2IzSmtjMXN4WFNBcUlEQjROREF3TURBd01DazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURJcElIdGNiaUFnSUNBZ0lHRnpjMlZ5ZENobVlXeHpaU3dnSjA1MWJXSmxjaUJqWVc0Z2IyNXNlU0J6WVdabGJIa2djM1J2Y21VZ2RYQWdkRzhnTlRNZ1ltbDBjeWNwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJRDhnTFhKbGRDQTZJSEpsZER0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5S1UwOU9JRDBnWm5WdVkzUnBiMjRnZEc5S1UwOU9JQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIxTjBjbWx1WnlneE5pd2dNaWs3WEc0Z0lIMDdYRzVjYmlBZ2FXWWdLRUoxWm1abGNpa2dlMXh1SUNBZ0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBKMVptWmxjaUE5SUdaMWJtTjBhVzl1SUhSdlFuVm1abVZ5SUNobGJtUnBZVzRzSUd4bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOUJjbkpoZVV4cGEyVW9RblZtWm1WeUxDQmxibVJwWVc0c0lHeGxibWQwYUNrN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBGeWNtRjVJRDBnWm5WdVkzUnBiMjRnZEc5QmNuSmhlU0FvWlc1a2FXRnVMQ0JzWlc1bmRHZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjBGeWNtRjVUR2xyWlNoQmNuSmhlU3dnWlc1a2FXRnVMQ0JzWlc1bmRHZ3BPMXh1SUNCOU8xeHVYRzRnSUhaaGNpQmhiR3h2WTJGMFpTQTlJR1oxYm1OMGFXOXVJR0ZzYkc5allYUmxJQ2hCY25KaGVWUjVjR1VzSUhOcGVtVXBJSHRjYmlBZ0lDQnBaaUFvUVhKeVlYbFVlWEJsTG1Gc2JHOWpWVzV6WVdabEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1FYSnlZWGxVZVhCbExtRnNiRzlqVlc1ellXWmxLSE5wZW1VcE8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVGeWNtRjVWSGx3WlNoemFYcGxLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIUm9hWE11WDNOMGNtbHdLQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaVXhsYm1kMGFDQTlJSFJvYVhNdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNBZ0lIWmhjaUJ5WlhGTVpXNW5kR2dnUFNCc1pXNW5kR2dnZkh3Z1RXRjBhQzV0WVhnb01Td2dZbmwwWlV4bGJtZDBhQ2s3WEc0Z0lDQWdZWE56WlhKMEtHSjVkR1ZNWlc1bmRHZ2dQRDBnY21WeFRHVnVaM1JvTENBbllubDBaU0JoY25KaGVTQnNiMjVuWlhJZ2RHaGhiaUJrWlhOcGNtVmtJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoeVpYRk1aVzVuZEdnZ1BpQXdMQ0FuVW1WeGRXVnpkR1ZrSUdGeWNtRjVJR3hsYm1kMGFDQThQU0F3SnlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lXeHNiMk5oZEdVb1FYSnlZWGxVZVhCbExDQnlaWEZNWlc1bmRHZ3BPMXh1SUNBZ0lIWmhjaUJ3YjNOMFptbDRJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5JRDhnSjB4Rkp5QTZJQ2RDUlNjN1hHNGdJQ0FnZEdocGMxc25YM1J2UVhKeVlYbE1hV3RsSnlBcklIQnZjM1JtYVhoZEtISmxjeXdnWW5sMFpVeGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNSdlFYSnlZWGxNYVd0bFRFVWdQU0JtZFc1amRHbHZiaUJmZEc5QmNuSmhlVXhwYTJWTVJTQW9jbVZ6TENCaWVYUmxUR1Z1WjNSb0tTQjdYRzRnSUNBZ2RtRnlJSEJ2YzJsMGFXOXVJRDBnTUR0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUhOb2FXWjBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM2IzSmtJRDBnS0hSb2FYTXVkMjl5WkhOYmFWMGdQRHdnYzJocFpuUXBJSHdnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSEpsYzF0d2IzTnBkR2x2YmlzclhTQTlJSGR2Y21RZ0ppQXdlR1ptTzF4dUlDQWdJQ0FnYVdZZ0tIQnZjMmwwYVc5dUlEd2djbVZ6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYTmJjRzl6YVhScGIyNHJLMTBnUFNBb2QyOXlaQ0ErUGlBNEtTQW1JREI0Wm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jRzl6YVhScGIyNGdQQ0J5WlhNdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNBZ0lISmxjMXR3YjNOcGRHbHZiaXNyWFNBOUlDaDNiM0prSUQ0K0lERTJLU0FtSURCNFptWTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoemFHbG1kQ0E5UFQwZ05pa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwYjI0Z1BDQnlaWE11YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0J2YzJsMGFXOXVLeXRkSUQwZ0tIZHZjbVFnUGo0Z01qUXBJQ1lnTUhobVpqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0FnSUhOb2FXWjBJRDBnTUR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnZDI5eVpDQStQajRnTWpRN1hHNGdJQ0FnSUNBZ0lITm9hV1owSUNzOUlESTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSEJ2YzJsMGFXOXVJRHdnY21WekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ2NtVnpXM0J2YzJsMGFXOXVLeXRkSUQwZ1kyRnljbms3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3YjNOcGRHbHZiaUE4SUhKbGN5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdjbVZ6VzNCdmMybDBhVzl1S3l0ZElEMGdNRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOTBiMEZ5Y21GNVRHbHJaVUpGSUQwZ1puVnVZM1JwYjI0Z1gzUnZRWEp5WVhsTWFXdGxRa1VnS0hKbGN5d2dZbmwwWlV4bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCd2IzTnBkR2x2YmlBOUlISmxjeTVzWlc1bmRHZ2dMU0F4TzF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYzJocFpuUWdQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0FvZEdocGN5NTNiM0prYzF0cFhTQThQQ0J6YUdsbWRDa2dmQ0JqWVhKeWVUdGNibHh1SUNBZ0lDQWdjbVZ6VzNCdmMybDBhVzl1TFMxZElEMGdkMjl5WkNBbUlEQjRabVk3WEc0Z0lDQWdJQ0JwWmlBb2NHOXphWFJwYjI0Z1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYTmJjRzl6YVhScGIyNHRMVjBnUFNBb2QyOXlaQ0ErUGlBNEtTQW1JREI0Wm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jRzl6YVhScGIyNGdQajBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE5iY0c5emFYUnBiMjR0TFYwZ1BTQW9kMjl5WkNBK1BpQXhOaWtnSmlBd2VHWm1PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MyaHBablFnUFQwOUlEWXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIQnZjMmwwYVc5dUlENDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5iY0c5emFYUnBiMjR0TFYwZ1BTQW9kMjl5WkNBK1BpQXlOQ2tnSmlBd2VHWm1PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2MyaHBablFnUFNBd08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1kyRnljbmtnUFNCM2IzSmtJRDQrUGlBeU5EdGNiaUFnSUNBZ0lDQWdjMmhwWm5RZ0t6MGdNanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvY0c5emFYUnBiMjRnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6VzNCdmMybDBhVzl1TFMxZElEMGdZMkZ5Y25rN1hHNWNiaUFnSUNBZ0lIZG9hV3hsSUNod2IzTnBkR2x2YmlBK1BTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhKbGMxdHdiM05wZEdsdmJpMHRYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lHbG1JQ2hOWVhSb0xtTnNlak15S1NCN1hHNGdJQ0FnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITWdQU0JtZFc1amRHbHZiaUJmWTI5MWJuUkNhWFJ6SUNoM0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z016SWdMU0JOWVhSb0xtTnNlak15S0hjcE8xeHVJQ0FnSUgwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RDQTlJSGM3WEc0Z0lDQWdJQ0IyWVhJZ2NpQTlJREE3WEc0Z0lDQWdJQ0JwWmlBb2RDQStQU0F3ZURFd01EQXBJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQXhNenRjYmlBZ0lDQWdJQ0FnZENBK1BqNDlJREV6TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnME1Da2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlEYzdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQTNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hRZ1BqMGdNSGc0S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTkR0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VEQXlLU0I3WEc0Z0lDQWdJQ0FnSUhJZ0t6MGdNanRjYmlBZ0lDQWdJQ0FnZENBK1BqNDlJREk3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjaUFySUhRN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmZW1WeWIwSnBkSE1nUFNCbWRXNWpkR2x2YmlCZmVtVnliMEpwZEhNZ0tIY3BJSHRjYmlBZ0lDQXZMeUJUYUc5eWRDMWpkWFJjYmlBZ0lDQnBaaUFvZHlBOVBUMGdNQ2tnY21WMGRYSnVJREkyTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0IzTzF4dUlDQWdJSFpoY2lCeUlEMGdNRHRjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlREZtWm1ZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREV6TzF4dUlDQWdJQ0FnZENBK1BqNDlJREV6TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlRGRtS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQTNPMXh1SUNBZ0lDQWdkQ0ErUGo0OUlEYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNFppa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISWdLejBnTkR0Y2JpQWdJQ0FnSUhRZ1BqNCtQU0EwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlRE1wSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5SUNzOUlESTdYRzRnSUNBZ0lDQjBJRDQrUGowZ01qdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tDaDBJQ1lnTUhneEtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2Npc3JPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdiblZ0WW1WeUlHOW1JSFZ6WldRZ1ltbDBjeUJwYmlCaElFSk9YRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWlhWFJNWlc1bmRHZ2dQU0JtZFc1amRHbHZiaUJpYVhSTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFDQXRJREZkTzF4dUlDQWdJSFpoY2lCb2FTQTlJSFJvYVhNdVgyTnZkVzUwUW1sMGN5aDNLVHRjYmlBZ0lDQnlaWFIxY200Z0tIUm9hWE11YkdWdVozUm9JQzBnTVNrZ0tpQXlOaUFySUdocE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSFJ2UW1sMFFYSnlZWGtnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2JtVjNJRUZ5Y21GNUtHNTFiUzVpYVhSTVpXNW5kR2dvS1NrN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCaWFYUWdQU0F3T3lCaWFYUWdQQ0IzTG14bGJtZDBhRHNnWW1sMEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdlptWWdQU0FvWW1sMElDOGdNallwSUh3Z01EdGNiaUFnSUNBZ0lIWmhjaUIzWW1sMElEMGdZbWwwSUNVZ01qWTdYRzVjYmlBZ0lDQWdJSGRiWW1sMFhTQTlJQ2h1ZFcwdWQyOXlaSE5iYjJabVhTQStQajRnZDJKcGRDa2dKaUF3ZURBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIzTzF4dUlDQjlYRzVjYmlBZ0x5OGdUblZ0WW1WeUlHOW1JSFJ5WVdsc2FXNW5JSHBsY204Z1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlbVZ5YjBKcGRITWdQU0JtZFc1amRHbHZiaUI2WlhKdlFtbDBjeUFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUF3TzF4dVhHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHSWdQU0IwYUdsekxsOTZaWEp2UW1sMGN5aDBhR2x6TG5kdmNtUnpXMmxkS1R0Y2JpQWdJQ0FnSUhJZ0t6MGdZanRjYmlBZ0lDQWdJR2xtSUNoaUlDRTlQU0F5TmlrZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aWVYUmxUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbmwwWlV4bGJtZDBhQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRTFoZEdndVkyVnBiQ2gwYUdsekxtSnBkRXhsYm1kMGFDZ3BJQzhnT0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlZIZHZjeUE5SUdaMWJtTjBhVzl1SUhSdlZIZHZjeUFvZDJsa2RHZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZV0p6S0NrdWFXNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bWNtOXRWSGR2Y3lBOUlHWjFibU4wYVc5dUlHWnliMjFVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG5SbGMzUnVLSGRwWkhSb0lDMGdNU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBMbWx1Wldjb0tUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOT1pXY2dQU0JtZFc1amRHbHZiaUJwYzA1bFp5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc1bFoyRjBhWFpsSUdOc2IyNWxJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVibVZuSUQwZ1puVnVZM1JwYjI0Z2JtVm5JQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdVpXY29LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzVsWnlBOUlHWjFibU4wYVc5dUlHbHVaV2NnS0NrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0JlUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUU5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRXOXlJRDBnWm5WdVkzUnBiMjRnYVhWdmNpQW9iblZ0S1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUR3Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNzclhTQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkSUh3Z2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFlXNWtJRDBnWm5WdVkzUnBiMjRnYVdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ2gwYUdsekxtNWxaMkYwYVhabElId2diblZ0TG01bFoyRjBhWFpsS1NBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWaGJtUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCYm1RZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1GdVpDQTlJR1oxYm1OMGFXOXVJR0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXNWtLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1saGJtUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WaGJtUWdQU0JtZFc1amRHbHZiaUIxWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFZVzVrS0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDFZVzVrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGaHZjaUJnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFY0YjNJZ1BTQm1kVzVqZEdsdmJpQnBkWGh2Y2lBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWVM1c1pXNW5kR2dnUGlCaUxteGxibWQwYUZ4dUlDQWdJSFpoY2lCaE8xeHVJQ0FnSUhaaGNpQmlPMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR0VnUFNCMGFHbHpPMXh1SUNBZ0lDQWdZaUE5SUc1MWJUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVNBOUlHNTFiVHRjYmlBZ0lDQWdJR0lnUFNCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZaTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdFdWQyOXlaSE5iYVYwZ1hpQmlMbmR2Y21SelcybGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdseklDRTlQU0JoS1NCN1hHNGdJQ0FnSUNCbWIzSWdLRHNnYVNBOElHRXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdFdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQmhMbXhsYm1kMGFEdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBlRzl5SUQwZ1puVnVZM1JwYjI0Z2FYaHZjaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVjRiM0lvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCWWIzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuaHZjaUE5SUdaMWJtTjBhVzl1SUhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBlRzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDRiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVjRiM0lnUFNCbWRXNWpkR2x2YmlCMWVHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxZUc5eUtHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxZUc5eUtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTV2ZENCZ1lIUm9hWE5nWUNCM2FYUm9JR0JnZDJsa2RHaGdZQ0JpYVhSM2FXUjBhRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzV2ZEc0Z1BTQm1kVzVqZEdsdmJpQnBibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlIZHBaSFJvSUQwOVBTQW5iblZ0WW1WeUp5QW1KaUIzYVdSMGFDQStQU0F3S1R0Y2JseHVJQ0FnSUhaaGNpQmllWFJsYzA1bFpXUmxaQ0E5SUUxaGRHZ3VZMlZwYkNoM2FXUjBhQ0F2SURJMktTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKcGRITk1aV1owSUQwZ2QybGtkR2dnSlNBeU5qdGNibHh1SUNBZ0lDOHZJRVY0ZEdWdVpDQjBhR1VnWW5WbVptVnlJSGRwZEdnZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjBhR2x6TGw5bGVIQmhibVFvWW5sMFpYTk9aV1ZrWldRcE8xeHVYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lubDBaWE5PWldWa1pXUXRMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdZMjl0Y0d4bGRHVWdkMjl5WkhOY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKNWRHVnpUbVZsWkdWa095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IrZEdocGN5NTNiM0prYzF0cFhTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdkR2hsSUhKbGMybGtkV1ZjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2ZuUm9hWE11ZDI5eVpITmJhVjBnSmlBb01IZ3pabVptWm1abUlENCtJQ2d5TmlBdElHSnBkSE5NWldaMEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRVzVrSUhKbGJXOTJaU0JzWldGa2FXNW5JSHBsY205bGMxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dWIzUnVJRDBnWm5WdVkzUnBiMjRnYm05MGJpQW9kMmxrZEdncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHViM1J1S0hkcFpIUm9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRaWFFnWUdKcGRHQWdiMllnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpaWFJ1SUQwZ1puVnVZM1JwYjI0Z2MyVjBiaUFvWW1sMExDQjJZV3dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwSUQ0OUlEQXBPMXh1WEc0Z0lDQWdkbUZ5SUc5bVppQTlJQ2hpYVhRZ0x5QXlOaWtnZkNBd08xeHVJQ0FnSUhaaGNpQjNZbWwwSUQwZ1ltbDBJQ1VnTWpZN1hHNWNiaUFnSUNCMGFHbHpMbDlsZUhCaGJtUW9iMlptSUNzZ01TazdYRzVjYmlBZ0lDQnBaaUFvZG1Gc0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMjltWmwwZ1BTQjBhR2x6TG5kdmNtUnpXMjltWmwwZ2ZDQW9NU0E4UENCM1ltbDBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHZabVpkSUQwZ2RHaHBjeTUzYjNKa2MxdHZabVpkSUNZZ2ZpZ3hJRHc4SUhkaWFYUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0JnYm5WdFlDQjBieUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhaR1FnUFNCbWRXNWpkR2x2YmlCcFlXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjanRjYmx4dUlDQWdJQzh2SUc1bFoyRjBhWFpsSUNzZ2NHOXphWFJwZG1WY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUJ3YjNOcGRHbDJaU0FySUc1bFoyRjBhWFpsWEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhMbXhsYm1kMGFDQStJR0l1YkdWdVozUm9YRzRnSUNBZ2RtRnlJR0VzSUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dZMkZ5Y25rZ0lUMDlJREFnSmlZZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lISWdQU0FvWVM1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGo0Z01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJkR2hwY3k1c1pXNW5kR2hkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUM4dklFTnZjSGtnZEdobElISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJR0J1ZFcxZ0lIUnZJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0J1ZFcwdWMzVmlLSFJvYVhNcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZrWkNodWRXMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWxoWkdRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QjBhR2x6SUMwZ0tDMXVkVzBwSUQwZ2RHaHBjeUFySUc1MWJWeHVJQ0FnSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z0xYUm9hWE1nTFNCdWRXMGdQU0F0S0hSb2FYTWdLeUJ1ZFcwcFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJkQ0IwYUdseklIQnZhVzUwSUdKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVZjYmlBZ0lDQjJZWElnWTIxd0lEMGdkR2hwY3k1amJYQW9iblZ0S1R0Y2JseHVJQ0FnSUM4dklFOXdkR2x0YVhwaGRHbHZiaUF0SUhwbGNtOXBabmxjYmlBZ0lDQnBaaUFvWTIxd0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVNBK0lHSmNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb1kyMXdJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDMGdLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QmpZWEp5ZVNBaFBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NpQTlJQ2hoTG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2NpQStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFTnZjSGtnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQnBaaUFvWTJGeWNua2dQVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvSUNZbUlHRWdJVDA5SUhSb2FYTXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb095QnBJRHdnWVM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBLVHRjYmx4dUlDQWdJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNWaUlEMGdablZ1WTNScGIyNGdjM1ZpSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6ZFdJb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCemJXRnNiRTExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJRzUxYlM1dVpXZGhkR2wyWlNCZUlITmxiR1l1Ym1WbllYUnBkbVU3WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJQ2h6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZ3BJSHdnTUR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2JHVnVPMXh1SUNBZ0lHeGxiaUE5SUNoc1pXNGdMU0F4S1NCOElEQTdYRzVjYmlBZ0lDQXZMeUJRWldWc0lHOXVaU0JwZEdWeVlYUnBiMjRnS0dOdmJYQnBiR1Z5SUdOaGJpZDBJR1J2SUdsMExDQmlaV05oZFhObElHOW1JR052WkdVZ1kyOXRjR3hsZUdsMGVTbGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhOYk1GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdkbUZ5SUd4dklEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBb2NpQXZJREI0TkRBd01EQXdNQ2tnZkNBd08xeHVJQ0FnSUc5MWRDNTNiM0prYzFzd1hTQTlJR3h2TzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYXlBOUlERTdJR3NnUENCc1pXNDdJR3NyS3lrZ2UxeHVJQ0FnSUNBZ0x5OGdVM1Z0SUdGc2JDQjNiM0prY3lCM2FYUm9JSFJvWlNCellXMWxJR0JwSUNzZ2FpQTlJR3RnSUdGdVpDQmhZMk4xYlhWc1lYUmxJR0J1WTJGeWNubGdMRnh1SUNBZ0lDQWdMeThnYm05MFpTQjBhR0YwSUc1allYSnllU0JqYjNWc1pDQmlaU0ErUFNBd2VETm1abVptWm1aY2JpQWdJQ0FnSUhaaGNpQnVZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNalk3WEc0Z0lDQWdJQ0IyWVhJZ2NuZHZjbVFnUFNCallYSnllU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhaaGNpQnRZWGhLSUQwZ1RXRjBhQzV0YVc0b2F5d2diblZ0TG14bGJtZDBhQ0F0SURFcE8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJRTFoZEdndWJXRjRLREFzSUdzZ0xTQnpaV3htTG14bGJtZDBhQ0FySURFcE95QnFJRHc5SUcxaGVFbzdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlDaHJJQzBnYWlrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JoSUQwZ2MyVnNaaTUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNBZ0lHSWdQU0J1ZFcwdWQyOXlaSE5iYWwwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5SUQwZ1lTQXFJR0lnS3lCeWQyOXlaRHRjYmlBZ0lDQWdJQ0FnYm1OaGNuSjVJQ3M5SUNoeUlDOGdNSGcwTURBd01EQXdLU0I4SURBN1hHNGdJQ0FnSUNBZ0lISjNiM0prSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlISjNiM0prSUh3Z01EdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2JtTmhjbko1SUh3Z01EdGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHTmhjbko1SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J2ZFhRdWQyOXlaSE5iYTEwZ1BTQmpZWEp5ZVNCOElEQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUc5MWRDNXNaVzVuZEdndExUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYjNWMExsOXpkSEpwY0NncE8xeHVJQ0I5WEc1Y2JpQWdMeThnVkU5RVR5aHBibVIxZEc1NUtUb2dhWFFnYldGNUlHSmxJSEpsWVhOdmJtRmliR1VnZEc4Z2IyMXBkQ0JwZENCbWIzSWdkWE5sY25NZ2QyaHZJR1J2YmlkMElHNWxaV1JjYmlBZ0x5OGdkRzhnZDI5eWF5QjNhWFJvSURJMU5pMWlhWFFnYm5WdFltVnljeXdnYjNSb1pYSjNhWE5sSUdsMElHZHBkbVZ6SURJd0pTQnBiWEJ5YjNabGJXVnVkQ0JtYjNJZ01qVTJMV0pwZEZ4dUlDQXZMeUJ0ZFd4MGFYQnNhV05oZEdsdmJpQW9iR2xyWlNCbGJHeHBjSFJwWXlCelpXTndNalUyYXpFcExseHVJQ0IyWVhJZ1kyOXRZakV3VFhWc1ZHOGdQU0JtZFc1amRHbHZiaUJqYjIxaU1UQk5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0IyWVhJZ1lTQTlJSE5sYkdZdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUdJZ1BTQnVkVzB1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJRzhnUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHTWdQU0F3TzF4dUlDQWdJSFpoY2lCc2J6dGNiaUFnSUNCMllYSWdiV2xrTzF4dUlDQWdJSFpoY2lCb2FUdGNiaUFnSUNCMllYSWdZVEFnUFNCaFd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3dJRDBnWVRBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NQ0E5SUdFd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lURWdQU0JoV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eElEMGdZVEVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01TQTlJR0V4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRJZ1BTQmhXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d5SUQwZ1lUSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTWlBOUlHRXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVE1nUFNCaFd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3pJRDBnWVRNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NeUE5SUdFeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUUWdQU0JoV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MElEMGdZVFFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05DQTlJR0UwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRVZ1BTQmhXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cxSUQwZ1lUVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTlNBOUlHRTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFlnUFNCaFd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzJJRDBnWVRZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OaUE5SUdFMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUY2dQU0JoV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3M0lEMGdZVGNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb055QTlJR0UzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRnZ1BTQmhXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c0SUQwZ1lUZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT0NBOUlHRTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGtnUFNCaFd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzVJRDBnWVRrZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9PU0E5SUdFNUlENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqQWdQU0JpV3pCZElId2dNRHRjYmlBZ0lDQjJZWElnWW13d0lEMGdZakFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01DQTlJR0l3SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpFZ1BTQmlXekZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd4SUQwZ1lqRWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTVNBOUlHSXhJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZaklnUFNCaVd6SmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3lJRDBnWWpJZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NaUE5SUdJeUlENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqTWdQU0JpV3pOZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eklEMGdZak1nSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb015QTlJR0l6SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpRZ1BTQmlXelJkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcwSUQwZ1lqUWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTkNBOUlHSTBJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZalVnUFNCaVd6VmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzFJRDBnWWpVZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OU0E5SUdJMUlENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqWWdQU0JpV3paZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MklEMGdZallnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05pQTlJR0kySUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpjZ1BTQmlXemRkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXczSUQwZ1lqY2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTnlBOUlHSTNJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamdnUFNCaVd6aGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzRJRDBnWWpnZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PQ0E5SUdJNElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqa2dQU0JpV3psZElId2dNRHRjYmlBZ0lDQjJZWElnWW13NUlEMGdZamtnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb09TQTlJR0k1SUQ0K1BpQXhNenRjYmx4dUlDQWdJRzkxZEM1dVpXZGhkR2wyWlNBOUlITmxiR1l1Ym1WbllYUnBkbVVnWGlCdWRXMHVibVZuWVhScGRtVTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJREU1TzF4dUlDQWdJQzhxSUdzZ1BTQXdJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTUNrN1hHNGdJQ0FnZG1GeUlIY3dJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNQ0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpBZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3eExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiREVzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTWlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeUlEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkeklnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F6SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJETXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM015QStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkek1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EwSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM05DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6UWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMwSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTlNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzFJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNOU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpVZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MkxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMySUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTmlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6WWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTNJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM055QTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6Y2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMzSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnT0NBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM0SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT0NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6Z2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTVJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzVJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNPU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHprZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE1DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd4S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFERXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhREVwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXdJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRBZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE1TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd5S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFESXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRElwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFeElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01URWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFeUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRE1wTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb015azdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9NeWs3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TWlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVElnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TXlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzBLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURRcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEUXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV6SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UTWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhOQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13MUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRFVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURVcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFMElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UUWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TkNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFMUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRFlwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb05pazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OaWs3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hOU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekUxSUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UVWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhOaUFxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13M0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRGNwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURjcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TmlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFlnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TnlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzRLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURncE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEZ3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFM0lEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UY2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TnlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFNElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRGtwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb09TazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9PU2s3WEc0Z0lDQWdkbUZ5SUhjeE9DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTRJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRnZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lHOWJNRjBnUFNCM01EdGNiaUFnSUNCdld6RmRJRDBnZHpFN1hHNGdJQ0FnYjFzeVhTQTlJSGN5TzF4dUlDQWdJRzliTTEwZ1BTQjNNenRjYmlBZ0lDQnZXelJkSUQwZ2R6UTdYRzRnSUNBZ2IxczFYU0E5SUhjMU8xeHVJQ0FnSUc5Yk5sMGdQU0IzTmp0Y2JpQWdJQ0J2V3pkZElEMGdkemM3WEc0Z0lDQWdiMXM0WFNBOUlIYzRPMXh1SUNBZ0lHOWJPVjBnUFNCM09UdGNiaUFnSUNCdld6RXdYU0E5SUhjeE1EdGNiaUFnSUNCdld6RXhYU0E5SUhjeE1UdGNiaUFnSUNCdld6RXlYU0E5SUhjeE1qdGNiaUFnSUNCdld6RXpYU0E5SUhjeE16dGNiaUFnSUNCdld6RTBYU0E5SUhjeE5EdGNiaUFnSUNCdld6RTFYU0E5SUhjeE5UdGNiaUFnSUNCdld6RTJYU0E5SUhjeE5qdGNiaUFnSUNCdld6RTNYU0E5SUhjeE56dGNiaUFnSUNCdld6RTRYU0E5SUhjeE9EdGNiaUFnSUNCcFppQW9ZeUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiMXN4T1YwZ1BTQmpPMXh1SUNBZ0lDQWdiM1YwTG14bGJtZDBhQ3NyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNCOU8xeHVYRzRnSUM4dklGQnZiSGxtYVd4c0lHTnZiV0pjYmlBZ2FXWWdLQ0ZOWVhSb0xtbHRkV3dwSUh0Y2JpQWdJQ0JqYjIxaU1UQk5kV3hVYnlBOUlITnRZV3hzVFhWc1ZHODdYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUJpYVdkTmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUc5MWRDNXNaVzVuZEdnZ1BTQnpaV3htTG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdnN1hHNWNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lIWmhjaUJvYm1OaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Ec2dheUE4SUc5MWRDNXNaVzVuZEdnZ0xTQXhPeUJyS3lzcElIdGNiaUFnSUNBZ0lDOHZJRk4xYlNCaGJHd2dkMjl5WkhNZ2QybDBhQ0IwYUdVZ2MyRnRaU0JnYVNBcklHb2dQU0JyWUNCaGJtUWdZV05qZFcxMWJHRjBaU0JnYm1OaGNuSjVZQ3hjYmlBZ0lDQWdJQzh2SUc1dmRHVWdkR2hoZENCdVkyRnljbmtnWTI5MWJHUWdZbVVnUGowZ01IZ3pabVptWm1abVhHNGdJQ0FnSUNCMllYSWdibU5oY25KNUlEMGdhRzVqWVhKeWVUdGNiaUFnSUNBZ0lHaHVZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdkbUZ5SUhKM2IzSmtJRDBnWTJGeWNua2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0IyWVhJZ2JXRjRTaUE5SUUxaGRHZ3ViV2x1S0dzc0lHNTFiUzVzWlc1bmRHZ2dMU0F4S1R0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JySUMwZ2MyVnNaaTVzWlc1bmRHZ2dLeUF4S1RzZ2FpQThQU0J0WVhoS095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2tnUFNCcklDMGdhanRjYmlBZ0lDQWdJQ0FnZG1GeUlHRWdQU0J6Wld4bUxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYWwwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR0VnS2lCaU8xeHVYRzRnSUNBZ0lDQWdJSFpoY2lCc2J5QTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBOUlDaHVZMkZ5Y25rZ0t5QW9LSElnTHlBd2VEUXdNREF3TURBcElId2dNQ2twSUh3Z01EdGNiaUFnSUNBZ0lDQWdiRzhnUFNBb2JHOGdLeUJ5ZDI5eVpDa2dmQ0F3TzF4dUlDQWdJQ0FnSUNCeWQyOXlaQ0E5SUd4dklDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dQU0FvYm1OaGNuSjVJQ3NnS0d4dklENCtQaUF5TmlrcElId2dNRHRjYmx4dUlDQWdJQ0FnSUNCb2JtTmhjbko1SUNzOUlHNWpZWEp5ZVNBK1BqNGdNalk3WEc0Z0lDQWdJQ0FnSUc1allYSnllU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpEdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2JtTmhjbko1TzF4dUlDQWdJQ0FnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0JqWVhKeWVUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUMwdE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2ZFhRdVgzTjBjbWx3S0NrN1hHNGdJSDFjYmx4dUlDQm1kVzVqZEdsdmJpQnFkVzFpYjAxMWJGUnZJQ2h6Wld4bUxDQnVkVzBzSUc5MWRDa2dlMXh1SUNBZ0lDOHZJRlJsYlhCdmNtRnllU0JrYVhOaFlteGxMQ0J6WldVZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwybHVaSFYwYm5rdlltNHVhbk12YVhOemRXVnpMekl4TVZ4dUlDQWdJQzh2SUhaaGNpQm1ablJ0SUQwZ2JtVjNJRVpHVkUwb0tUdGNiaUFnSUNBdkx5QnlaWFIxY200Z1ptWjBiUzV0ZFd4d0tITmxiR1lzSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZbWxuVFhWc1ZHOG9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1WDNOMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2dZSFJvYVhOZ0lHSjVJR0J1ZFcxZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJYVnNWRzhvYm5WdExDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTExYkhScGNHeDVJR1Z0Y0d4dmVXbHVaeUJHUmxSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJHWWdQU0JtZFc1amRHbHZiaUJ0ZFd4bUlDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2IzVjBJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUc5MWRDNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdncE8xeHVJQ0FnSUhKbGRIVnliaUJxZFcxaWIwMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpiaTF3YkdGalpTQk5kV3gwYVhCc2FXTmhkR2x2Ymx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVcxMWJDQTlJR1oxYm1OMGFXOXVJR2x0ZFd3Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YlhWc1ZHOG9iblZ0TENCMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzExYkc0Z1BTQm1kVzVqZEdsdmJpQnBiWFZzYmlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUdselRtVm5UblZ0SUQwZ2JuVnRJRHdnTUR0Y2JpQWdJQ0JwWmlBb2FYTk9aV2RPZFcwcElHNTFiU0E5SUMxdWRXMDdYRzVjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJwYzA1bFowNTFiU0EvSUhSb2FYTXVhVzVsWnlncElEb2dkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc2JpQTlJR1oxYm1OMGFXOXVJRzExYkc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVcxMWJHNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJnZEdocGMyQWdLaUJnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTnhjaUE5SUdaMWJtTjBhVzl1SUhOeGNpQW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YlhWc0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJR0IwYUdsellDQXFJR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTnhjaUE5SUdaMWJtTjBhVzl1SUdsemNYSWdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGRXd29kR2hwY3k1amJHOXVaU2dwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJOWVhSb0xuQnZkeWhnZEdocGMyQXNJR0J1ZFcxZ0tWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNHOTNJRDBnWm5WdVkzUnBiMjRnY0c5M0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2R5QTlJSFJ2UW1sMFFYSnlZWGtvYm5WdEtUdGNiaUFnSUNCcFppQW9keTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCdVpYY2dRazRvTVNrN1hHNWNiaUFnSUNBdkx5QlRhMmx3SUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE03WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IzTG14bGJtZDBhRHNnYVNzckxDQnlaWE1nUFNCeVpYTXVjM0Z5S0NrcElIdGNiaUFnSUNBZ0lHbG1JQ2gzVzJsZElDRTlQU0F3S1NCaWNtVmhhenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvS3l0cElEd2dkeTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJSEVnUFNCeVpYTXVjM0Z5S0NrN0lHa2dQQ0IzTG14bGJtZDBhRHNnYVNzckxDQnhJRDBnY1M1emNYSW9LU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9kMXRwWFNBOVBUMGdNQ2tnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnY21WekxtMTFiQ2h4S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk5vYVdaMExXeGxablFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoc2JpQTlJR1oxYm1OMGFXOXVJR2wxYzJoc2JpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdZbWwwY3lBOVBUMGdKMjUxYldKbGNpY2dKaVlnWW1sMGN5QStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZEhNZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFJ6SUMwZ2Npa2dMeUF5Tmp0Y2JpQWdJQ0IyWVhJZ1kyRnljbmxOWVhOcklEMGdLREI0TTJabVptWm1aaUErUGo0Z0tESTJJQzBnY2lrcElEdzhJQ2d5TmlBdElISXBPMXh1SUNBZ0lIWmhjaUJwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnVaWGREWVhKeWVTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQmpZWEp5ZVUxaGMyczdYRzRnSUNBZ0lDQWdJSFpoY2lCaklEMGdLQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2tnTFNCdVpYZERZWEp5ZVNrZ1BEd2djanRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR01nZkNCallYSnllVHRjYmlBZ0lDQWdJQ0FnWTJGeWNua2dQU0J1WlhkRFlYSnllU0ErUGo0Z0tESTJJQzBnY2lrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZMkZ5Y25rN1hHNGdJQ0FnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hNZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMGdQU0IwYUdsekxuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2N6c2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0FyUFNCek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMyaHNiaUE5SUdaMWJtTjBhVzl1SUdsemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kQ0JwYmkxd2JHRmpaVnh1SUNBdkx5Qk9UMVJGT2lCZ2FHbHVkR0FnYVhNZ1lTQnNiM2RsYzNRZ1ltbDBJR0psWm05eVpTQjBjbUZwYkdsdVp5QjZaWEp2WlhOY2JpQWdMeThnVGs5VVJUb2dhV1lnWUdWNGRHVnVaR1ZrWUNCcGN5QndjbVZ6Wlc1MElDMGdhWFFnZDJsc2JDQmlaU0JtYVd4c1pXUWdkMmwwYUNCa1pYTjBjbTk1WldRZ1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZ6YUhKdUlEMGdablZ1WTNScGIyNGdhWFZ6YUhKdUlDaGlhWFJ6TENCb2FXNTBMQ0JsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnYUR0Y2JpQWdJQ0JwWmlBb2FHbHVkQ2tnZTF4dUlDQWdJQ0FnYUNBOUlDaG9hVzUwSUMwZ0tHaHBiblFnSlNBeU5pa3BJQzhnTWpZN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2dnUFNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdUV0YwYUM1dGFXNG9LR0pwZEhNZ0xTQnlLU0F2SURJMkxDQjBhR2x6TG14bGJtZDBhQ2s3WEc0Z0lDQWdkbUZ5SUcxaGMyc2dQU0F3ZURObVptWm1abVlnWGlBb0tEQjRNMlptWm1abVppQStQajRnY2lrZ1BEd2djaWs3WEc0Z0lDQWdkbUZ5SUcxaGMydGxaRmR2Y21SeklEMGdaWGgwWlc1a1pXUTdYRzVjYmlBZ0lDQm9JQzA5SUhNN1hHNGdJQ0FnYUNBOUlFMWhkR2d1YldGNEtEQXNJR2dwTzF4dVhHNGdJQ0FnTHk4Z1JYaDBaVzVrWldRZ2JXOWtaU3dnWTI5d2VTQnRZWE5yWldRZ2NHRnlkRnh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11YkdWdVozUm9JRDBnY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTh0YjNBc0lIZGxJSE5vYjNWc1pDQnViM1FnYlc5MlpTQmhibmwwYUdsdVp5QmhkQ0JoYkd4Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ0xUMGdjenRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmtnS3lCelhUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTUNBbUppQW9ZMkZ5Y25rZ0lUMDlJREFnZkh3Z2FTQStQU0JvS1RzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJQ2hqWVhKeWVTQThQQ0FvTWpZZ0xTQnlLU2tnZkNBb2QyOXlaQ0ErUGo0Z2NpazdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlIZHZjbVFnSmlCdFlYTnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRkIxYzJnZ1kyRnljbWxsWkNCaWFYUnpJR0Z6SUdFZ2JXRnphMXh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lBbUppQmpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWQyOXlaSE5iYldGemEyVmtWMjl5WkhNdWJHVnVaM1JvS3l0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM04wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc5dWJIa2diRzkzWlhKeklHSnBkSE1nYjJZZ2JuVnRZbVZ5WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0WVhOcmJpQTlJR1oxYm1OMGFXOXVJRzFoYzJ0dUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJXRnphMjRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0IwYnlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxoWkdSdUlEMGdablZ1WTNScGIyNGdhV0ZrWkc0Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOElEQjROREF3TURBd01DazdYRzRnSUNBZ2FXWWdLRzUxYlNBOElEQXBJSEpsZEhWeWJpQjBhR2x6TG1semRXSnVLQzF1ZFcwcE8xeHVYRzRnSUNBZ0x5OGdVRzl6YzJsaWJHVWdjMmxuYmlCamFHRnVaMlZjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXhJQ1ltSUNoMGFHbHpMbmR2Y21Seld6QmRJSHdnTUNrZ1BEMGdiblZ0S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnUFNCdWRXMGdMU0FvZEdocGN5NTNiM0prYzFzd1hTQjhJREFwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cGMzVmliaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnZDJsMGFHOTFkQ0JqYUdWamEzTmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZhV0ZrWkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmxoWkdSdUlEMGdablZ1WTNScGIyNGdYMmxoWkdSdUlDaHVkVzBwSUh0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUQ0OUlEQjROREF3TURBd01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQzA5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUdsbUlDaHBJRDA5UFNCMGFHbHpMbXhsYm1kMGFDQXRJREVwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ1BTQXhPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ01WMHJLenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JOWVhSb0xtMWhlQ2gwYUdsekxteGxibWQwYUN3Z2FTQXJJREVwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNWaWRISmhZM1FnY0d4aGFXNGdiblZ0WW1WeUlHQnVkVzFnSUdaeWIyMGdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMzVmliaUE5SUdaMWJtTjBhVzl1SUdsemRXSnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjUxYldKbGNpY3BPMXh1SUNBZ0lHRnpjMlZ5ZENodWRXMGdQQ0F3ZURRd01EQXdNREFwTzF4dUlDQWdJR2xtSUNodWRXMGdQQ0F3S1NCeVpYUjFjbTRnZEdocGN5NXBZV1JrYmlndGJuVnRLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pHNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXRQU0J1ZFcwN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQThJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F0ZEdocGN5NTNiM0prYzFzd1hUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUR3Z01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnS3owZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQXRQU0F4TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdSdUlEMGdablZ1WTNScGIyNGdZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwWVdSa2JpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6ZFdKdUlEMGdablZ1WTNScGIyNGdjM1ZpYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYzNWaWJpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwWVdKeklEMGdablZ1WTNScGIyNGdhV0ZpY3lBb0tTQjdYRzRnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXSnpJRDBnWm5WdVkzUnBiMjRnWVdKeklDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxoWW5Nb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHphR3h1YzNWaWJYVnNJRDBnWm5WdVkzUnBiMjRnWDJsemFHeHVjM1ZpYlhWc0lDaHVkVzBzSUcxMWJDd2djMmhwWm5RcElIdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2JuVnRMbXhsYm1kMGFDQXJJSE5vYVdaME8xeHVJQ0FnSUhaaGNpQnBPMXh1WEc0Z0lDQWdkR2hwY3k1ZlpYaHdZVzVrS0d4bGJpazdYRzVjYmlBZ0lDQjJZWElnZHp0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzJocFpuUmRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhaaGNpQnlhV2RvZENBOUlDaHVkVzB1ZDI5eVpITmJhVjBnZkNBd0tTQXFJRzExYkR0Y2JpQWdJQ0FnSUhjZ0xUMGdjbWxuYUhRZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrSURJMktTQXRJQ2dvY21sbmFIUWdMeUF3ZURRd01EQXdNREFwSUh3Z01DazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnUFNCM0lDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lIMWNiaUFnSUNCbWIzSWdLRHNnYVNBOElIUm9hWE11YkdWdVozUm9JQzBnYzJocFpuUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJrZ0t5QnphR2xtZEYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzJocFpuUmRJRDBnZHlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZMkZ5Y25rZ1BUMDlJREFwSUhKbGRIVnliaUIwYUdsekxsOXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdVM1ZpZEhKaFkzUnBiMjRnYjNabGNtWnNiM2RjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlDMHhLVHRjYmlBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhjZ1BTQXRLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5M2IzSmtSR2wySUQwZ1puVnVZM1JwYjI0Z1gzZHZjbVJFYVhZZ0tHNTFiU3dnYlc5a1pTa2dlMXh1SUNBZ0lIWmhjaUJ6YUdsbWRDQTlJSFJvYVhNdWJHVnVaM1JvSUMwZ2JuVnRMbXhsYm1kMGFEdGNibHh1SUNBZ0lIWmhjaUJoSUQwZ2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRPMXh1WEc0Z0lDQWdMeThnVG05eWJXRnNhWHBsWEc0Z0lDQWdkbUZ5SUdKb2FTQTlJR0l1ZDI5eVpITmJZaTVzWlc1bmRHZ2dMU0F4WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pvYVVKcGRITWdQU0IwYUdsekxsOWpiM1Z1ZEVKcGRITW9ZbWhwS1R0Y2JpQWdJQ0J6YUdsbWRDQTlJREkySUMwZ1ltaHBRbWwwY3p0Y2JpQWdJQ0JwWmlBb2MyaHBablFnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJR0lnUFNCaUxuVnphR3h1S0hOb2FXWjBLVHRjYmlBZ0lDQWdJR0V1YVhWemFHeHVLSE5vYVdaMEtUdGNiaUFnSUNBZ0lHSm9hU0E5SUdJdWQyOXlaSE5iWWk1c1pXNW5kR2dnTFNBeFhTQjhJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCeGRXOTBhV1Z1ZEZ4dUlDQWdJSFpoY2lCdElEMGdZUzVzWlc1bmRHZ2dMU0JpTG14bGJtZDBhRHRjYmlBZ0lDQjJZWElnY1R0Y2JseHVJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5iVzlrSnlrZ2UxeHVJQ0FnSUNBZ2NTQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0FnSUhFdWJHVnVaM1JvSUQwZ2JTQXJJREU3WEc0Z0lDQWdJQ0J4TG5kdmNtUnpJRDBnYm1WM0lFRnljbUY1S0hFdWJHVnVaM1JvS1R0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2NTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCeExuZHZjbVJ6VzJsZElEMGdNRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWkdsbVppQTlJR0V1WTJ4dmJtVW9LUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2dNU3dnYlNrN1hHNGdJQ0FnYVdZZ0tHUnBabVl1Ym1WbllYUnBkbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJR0VnUFNCa2FXWm1PMXh1SUNBZ0lDQWdhV1lnS0hFcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHRYU0E5SURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnYWlBOUlHMGdMU0F4T3lCcUlENDlJREE3SUdvdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhGcUlEMGdLR0V1ZDI5eVpITmJZaTVzWlc1bmRHZ2dLeUJxWFNCOElEQXBJQ29nTUhnME1EQXdNREF3SUN0Y2JpQWdJQ0FnSUNBZ0tHRXVkMjl5WkhOYllpNXNaVzVuZEdnZ0t5QnFJQzBnTVYwZ2ZDQXdLVHRjYmx4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nS0hGcUlDOGdZbWhwS1NCcGN5QW9NSGd6Wm1abVptWm1JQ29nTUhnME1EQXdNREF3SUNzZ01IZ3pabVptWm1abUtTQXZJREI0TWpBd01EQXdNQ0J0WVhoY2JpQWdJQ0FnSUM4dklDZ3dlRGRtWm1abVptWXBYRzRnSUNBZ0lDQnhhaUE5SUUxaGRHZ3ViV2x1S0NoeGFpQXZJR0pvYVNrZ2ZDQXdMQ0F3ZURObVptWm1abVlwTzF4dVhHNGdJQ0FnSUNCaExsOXBjMmhzYm5OMVltMTFiQ2hpTENCeGFpd2dhaWs3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ZUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J4YWkwdE8xeHVJQ0FnSUNBZ0lDQmhMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1lTNWZhWE5vYkc1emRXSnRkV3dvWWl3Z01Td2dhaWs3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hZUzVwYzFwbGNtOG9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHRXVibVZuWVhScGRtVWdYajBnTVR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSEVwSUh0Y2JpQWdJQ0FnSUNBZ2NTNTNiM0prYzF0cVhTQTlJSEZxTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvY1NrZ2UxeHVJQ0FnSUNBZ2NTNWZjM1J5YVhBb0tUdGNiaUFnSUNCOVhHNGdJQ0FnWVM1ZmMzUnlhWEFvS1R0Y2JseHVJQ0FnSUM4dklFUmxibTl5YldGc2FYcGxYRzRnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2RrYVhZbklDWW1JSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaExtbDFjMmh5YmloemFHbG1kQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHUnBkam9nY1NCOGZDQnVkV3hzTEZ4dUlDQWdJQ0FnYlc5a09pQmhYRzRnSUNBZ2ZUdGNiaUFnZlR0Y2JseHVJQ0F2THlCT1QxUkZPaUF4S1NCZ2JXOWtaV0FnWTJGdUlHSmxJSE5sZENCMGJ5QmdiVzlrWUNCMGJ5QnlaWEYxWlhOMElHMXZaQ0J2Ym14NUxGeHVJQ0F2THlBZ0lDQWdJQ0IwYnlCZ1pHbDJZQ0IwYnlCeVpYRjFaWE4wSUdScGRpQnZibXg1TENCdmNpQmlaU0JoWW5ObGJuUWdkRzljYmlBZ0x5OGdJQ0FnSUNBZ2NtVnhkV1Z6ZENCaWIzUm9JR1JwZGlBbUlHMXZaRnh1SUNBdkx5QWdJQ0FnSUNBeUtTQmdjRzl6YVhScGRtVmdJR2x6SUhSeWRXVWdhV1lnZFc1emFXZHVaV1FnYlc5a0lHbHpJSEpsY1hWbGMzUmxaRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaR2wyYlc5a0lEMGdablZ1WTNScGIyNGdaR2wyYlc5a0lDaHVkVzBzSUcxdlpHVXNJSEJ2YzJsMGFYWmxLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRnVkVzB1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGlnd0tWeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdaR2wyTENCdGIyUXNJSEpsY3p0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdWJtVm5LQ2t1WkdsMmJXOWtLRzUxYlN3Z2JXOWtaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5iVzlrSnlrZ2UxeHVJQ0FnSUNBZ0lDQmthWFlnUFNCeVpYTXVaR2wyTG01bFp5Z3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JXOWtaU0FoUFQwZ0oyUnBkaWNwSUh0Y2JpQWdJQ0FnSUNBZ2JXOWtJRDBnY21WekxtMXZaQzV1Wldjb0tUdGNiaUFnSUNBZ0lDQWdhV1lnS0hCdmMybDBhWFpsSUNZbUlHMXZaQzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUcxdlpDNXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2diVzlrWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0lDWW1JRzUxYlM1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1a2FYWnRiMlFvYm5WdExtNWxaeWdwTENCdGIyUmxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lHUnBkaUE5SUhKbGN5NWthWFl1Ym1WbktDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ1pHbDJMRnh1SUNBZ0lDQWdJQ0J0YjJRNklISmxjeTV0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tDaDBhR2x6TG01bFoyRjBhWFpsSUNZZ2JuVnRMbTVsWjJGMGFYWmxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV1Wldjb0tTNWthWFp0YjJRb2JuVnRMbTVsWnlncExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJRzF2WkNBOUlISmxjeTV0YjJRdWJtVm5LQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdiM05wZEdsMlpTQW1KaUJ0YjJRdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnRiMlF1YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nY21WekxtUnBkaXhjYmlBZ0lDQWdJQ0FnYlc5a09pQnRiMlJjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUW05MGFDQnVkVzFpWlhKeklHRnlaU0J3YjNOcGRHbDJaU0JoZENCMGFHbHpJSEJ2YVc1MFhHNWNiaUFnSUNBdkx5QlRkSEpwY0NCaWIzUm9JRzUxYldKbGNuTWdkRzhnWVhCd2NtOTRhVzFoZEdVZ2MyaHBablFnZG1Gc2RXVmNiaUFnSUNCcFppQW9iblZ0TG14bGJtZDBhQ0ErSUhSb2FYTXViR1Z1WjNSb0lIeDhJSFJvYVhNdVkyMXdLRzUxYlNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JrYVhZNklHNWxkeUJDVGlnd0tTeGNiaUFnSUNBZ0lDQWdiVzlrT2lCMGFHbHpYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRlpsY25rZ2MyaHZjblFnY21Wa2RXTjBhVzl1WEc0Z0lDQWdhV1lnS0c1MWJTNXNaVzVuZEdnZ1BUMDlJREVwSUh0Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUQwOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQWdJR1JwZGpvZ2RHaHBjeTVrYVhadUtHNTFiUzUzYjNKa2Mxc3dYU2tzWEc0Z0lDQWdJQ0FnSUNBZ2JXOWtPaUJ1ZFd4c1hHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJRDA5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBkam9nYm5Wc2JDeGNiaUFnSUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2WkhKdUtHNTFiUzUzYjNKa2Mxc3dYU2twWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JtVjNJRUpPS0hSb2FYTXViVzlrY200b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnS0hJeUlEMDlQU0F4SUNZbUlHTnRjQ0E5UFQwZ01Da3BJSEpsZEhWeWJpQmtiUzVrYVhZN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCMWNGeHVJQ0FnSUhKbGRIVnliaUJrYlM1a2FYWXVibVZuWVhScGRtVWdJVDA5SURBZ1B5QmtiUzVrYVhZdWFYTjFZbTRvTVNrZ09pQmtiUzVrYVhZdWFXRmtaRzRvTVNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xdlpISnVJRDBnWm5WdVkzUnBiMjRnYlc5a2NtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnBjMDVsWjA1MWJTQTlJRzUxYlNBOElEQTdYRzRnSUNBZ2FXWWdLR2x6VG1WblRuVnRLU0J1ZFcwZ1BTQXRiblZ0TzF4dVhHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOFBTQXdlRE5tWm1abVptWXBPMXh1SUNBZ0lIWmhjaUJ3SUQwZ0tERWdQRHdnTWpZcElDVWdiblZ0TzF4dVhHNGdJQ0FnZG1GeUlHRmpZeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJR0ZqWXlBOUlDaHdJQ29nWVdOaklDc2dLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU2tnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdselRtVm5UblZ0SUQ4Z0xXRmpZeUE2SUdGall6dGNiaUFnZlR0Y2JseHVJQ0F2THlCWFFWSk9TVTVIT2lCRVJWQlNSVU5CVkVWRVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGIyUnVJRDBnWm5WdVkzUnBiMjRnYlc5a2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJXOWtjbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCSmJpMXdiR0ZqWlNCa2FYWnBjMmx2YmlCaWVTQnVkVzFpWlhKY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sa2FYWnVJRDBnWm5WdVkzUnBiMjRnYVdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnBjMDVsWjA1MWJTQTlJRzUxYlNBOElEQTdYRzRnSUNBZ2FXWWdLR2x6VG1WblRuVnRLU0J1ZFcwZ1BTQXRiblZ0TzF4dVhHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOFBTQXdlRE5tWm1abVptWXBPMXh1WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQW9kR2hwY3k1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNua2dLaUF3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdLSGNnTHlCdWRXMHBJSHdnTUR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBbElHNTFiVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TGw5emRISnBjQ2dwTzF4dUlDQWdJSEpsZEhWeWJpQnBjMDVsWjA1MWJTQS9JSFJvYVhNdWFXNWxaeWdwSURvZ2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaR2wyYmlBOUlHWjFibU4wYVc5dUlHUnBkbTRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV1JwZG00b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaV2RqWkNBOUlHWjFibU4wYVc5dUlHVm5ZMlFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCNElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ2VTQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoNExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCNElEMGdlQzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCNElEMGdlQzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRUVnS2lCNElDc2dRaUFxSUhrZ1BTQjRYRzRnSUNBZ2RtRnlJRUVnUFNCdVpYY2dRazRvTVNrN1hHNGdJQ0FnZG1GeUlFSWdQU0J1WlhjZ1FrNG9NQ2s3WEc1Y2JpQWdJQ0F2THlCRElDb2dlQ0FySUVRZ0tpQjVJRDBnZVZ4dUlDQWdJSFpoY2lCRElEMGdibVYzSUVKT0tEQXBPMXh1SUNBZ0lIWmhjaUJFSUQwZ2JtVjNJRUpPS0RFcE8xeHVYRzRnSUNBZ2RtRnlJR2NnUFNBd08xeHVYRzRnSUNBZ2QyaHBiR1VnS0hndWFYTkZkbVZ1S0NrZ0ppWWdlUzVwYzBWMlpXNG9LU2tnZTF4dUlDQWdJQ0FnZUM1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnSUNCNUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDc3JaenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnZVhBZ1BTQjVMbU5zYjI1bEtDazdYRzRnSUNBZ2RtRnlJSGh3SUQwZ2VDNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0NGNExtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2FXMGdQU0F4T3lBb2VDNTNiM0prYzFzd1hTQW1JR2x0S1NBOVBUMGdNQ0FtSmlCcElEd2dNalk3SUNzcmFTd2dhVzBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0drZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhndWFYVnphSEp1S0drcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FTMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoQkxtbHpUMlJrS0NrZ2ZId2dRaTVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkJMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1FpNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkJMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCQ0xtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Dd2dhbTBnUFNBeE95QW9lUzUzYjNKa2Mxc3dYU0FtSUdwdEtTQTlQVDBnTUNBbUppQnFJRHdnTWpZN0lDc3JhaXdnYW0wZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHb2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lIa3VhWFZ6YUhKdUtHb3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9haTB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaERMbWx6VDJSa0tDa2dmSHdnUkM1cGMwOWtaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JETG1saFpHUW9lWEFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdSQzVwYzNWaUtIaHdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JETG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ0lDQkVMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9lQzVqYlhBb2VTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjRMbWx6ZFdJb2VTazdYRzRnSUNBZ0lDQWdJRUV1YVhOMVlpaERLVHRjYmlBZ0lDQWdJQ0FnUWk1cGMzVmlLRVFwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnZVM1cGMzVmlLSGdwTzF4dUlDQWdJQ0FnSUNCRExtbHpkV0lvUVNrN1hHNGdJQ0FnSUNBZ0lFUXVhWE4xWWloQ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnWVRvZ1F5eGNiaUFnSUNBZ0lHSTZJRVFzWEc0Z0lDQWdJQ0JuWTJRNklIa3VhWFZ6YUd4dUtHY3BYRzRnSUNBZ2ZUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVWFHbHpJR2x6SUhKbFpIVmpaV1FnYVc1allYSnVZWFJwYjI0Z2IyWWdkR2hsSUdKcGJtRnllU0JGUlVGY2JpQWdMeThnWVdKdmRtVXNJR1JsYzJsbmJtRjBaV1FnZEc4Z2FXNTJaWEowSUcxbGJXSmxjbk1nYjJZZ2RHaGxYRzRnSUM4dklGOXdjbWx0WlY4Z1ptbGxiR1J6SUVZb2NDa2dZWFFnWVNCdFlYaHBiV0ZzSUhOd1pXVmtYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzUyYlhBZ1BTQm1kVzVqZEdsdmJpQmZhVzUyYlhBZ0tIQXBJSHRjYmlBZ0lDQmhjM05sY25Rb2NDNXVaV2RoZEdsMlpTQTlQVDBnTUNrN1hHNGdJQ0FnWVhOelpYSjBLQ0Z3TG1seldtVnlieWdwS1R0Y2JseHVJQ0FnSUhaaGNpQmhJRDBnZEdocGN6dGNiaUFnSUNCMllYSWdZaUE5SUhBdVkyeHZibVVvS1R0Y2JseHVJQ0FnSUdsbUlDaGhMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQmhJRDBnWVM1MWJXOWtLSEFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnWVM1amJHOXVaU2dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCNE1TQTlJRzVsZHlCQ1RpZ3hLVHRjYmlBZ0lDQjJZWElnZURJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQjJZWElnWkdWc2RHRWdQU0JpTG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9ZUzVqYlhCdUtERXBJRDRnTUNBbUppQmlMbU50Y0c0b01Ta2dQaUF3S1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvWVM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR0V1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2g0TVM1cGMwOWtaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I0TVM1cFlXUmtLR1JsYkhSaEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQjRNUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREFzSUdwdElEMGdNVHNnS0dJdWQyOXlaSE5iTUYwZ0ppQnFiU2tnUFQwOUlEQWdKaVlnYWlBOElESTJPeUFySzJvc0lHcHRJRHc4UFNBeEtUdGNiaUFnSUNBZ0lHbG1JQ2hxSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWhxS1R0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0dvdExTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZURJdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZURJdWFXRmtaQ2hrWld4MFlTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlREl1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2hoTG1OdGNDaGlLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0V1YVhOMVlpaGlLVHRjYmlBZ0lDQWdJQ0FnZURFdWFYTjFZaWg0TWlrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCaUxtbHpkV0lvWVNrN1hHNGdJQ0FnSUNBZ0lIZ3lMbWx6ZFdJb2VERXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHRXVZMjF3YmlneEtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIZ3lPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSEFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWRqWkNBOUlHWjFibU4wYVc5dUlHZGpaQ0FvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCdWRXMHVZV0p6S0NrN1hHNGdJQ0FnYVdZZ0tHNTFiUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJSFJvYVhNdVlXSnpLQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlM1amJHOXVaU2dwTzF4dUlDQWdJR0V1Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUdJdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1WdGIzWmxJR052YlcxdmJpQm1ZV04wYjNJZ2IyWWdkSGR2WEc0Z0lDQWdabTl5SUNoMllYSWdjMmhwWm5RZ1BTQXdPeUJoTG1selJYWmxiaWdwSUNZbUlHSXVhWE5GZG1WdUtDazdJSE5vYVdaMEt5c3BJSHRjYmlBZ0lDQWdJR0V1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnWWk1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWFYTkZkbVZ1S0NrcElIdGNiaUFnSUNBZ0lDQWdZUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ZaTVwYzBWMlpXNG9LU2tnZTF4dUlDQWdJQ0FnSUNCaUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhJZ1BTQmhMbU50Y0NoaUtUdGNiaUFnSUNBZ0lHbG1JQ2h5SUR3Z01Da2dlMXh1SUNBZ0lDQWdJQ0F2THlCVGQyRndJR0JoWUNCaGJtUWdZR0pnSUhSdklHMWhhMlVnWUdGZ0lHRnNkMkY1Y3lCaWFXZG5aWElnZEdoaGJpQmdZbUJjYmlBZ0lDQWdJQ0FnZG1GeUlIUWdQU0JoTzF4dUlDQWdJQ0FnSUNCaElEMGdZanRjYmlBZ0lDQWdJQ0FnWWlBOUlIUTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSElnUFQwOUlEQWdmSHdnWWk1amJYQnVLREVwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoTG1semRXSW9ZaWs3WEc0Z0lDQWdmU0IzYUdsc1pTQW9kSEoxWlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnWWk1cGRYTm9iRzRvYzJocFpuUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVkbVZ5ZENCdWRXMWlaWElnYVc0Z2RHaGxJR1pwWld4a0lFWW9iblZ0S1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc1MmJTQTlJR1oxYm1OMGFXOXVJR2x1ZG0wZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1WblkyUW9iblZ0S1M1aExuVnRiMlFvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTkZkbVZ1SUQwZ1puVnVZM1JwYjI0Z2FYTkZkbVZ1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVkMjl5WkhOYk1GMGdKaUF4S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWE5QWkdRZ1BTQm1kVzVqZEdsdmJpQnBjMDlrWkNBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbmR2Y21Seld6QmRJQ1lnTVNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRVzVrSUdacGNuTjBJSGR2Y21RZ1lXNWtJRzUxYlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a2JHNGdQU0JtZFc1amRHbHZiaUJoYm1Sc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQnVkVzA3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdTVzVqY21WdFpXNTBJR0YwSUhSb1pTQmlhWFFnY0c5emFYUnBiMjRnYVc0dGJHbHVaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZbWx1WTI0Z1BTQm1kVzVqZEdsdmJpQmlhVzVqYmlBb1ltbDBLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUWdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZENBbElESTJPMXh1SUNBZ0lIWmhjaUJ6SUQwZ0tHSnBkQ0F0SUhJcElDOGdNalk3WEc0Z0lDQWdkbUZ5SUhFZ1BTQXhJRHc4SUhJN1hHNWNiaUFnSUNBdkx5QkdZWE4wSUdOaGMyVTZJR0pwZENCcGN5QnRkV05vSUdocFoyaGxjaUIwYUdGdUlHRnNiQ0JsZUdsemRHbHVaeUIzYjNKa2MxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4UFNCektTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5bGVIQmhibVFvY3lBcklERXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXR6WFNCOFBTQnhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUVdSa0lHSnBkQ0JoYm1RZ2NISnZjR0ZuWVhSbExDQnBaaUJ1WldWa1pXUmNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQnhPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0J6T3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhjZ0t6MGdZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNCtJREkyTzF4dUlDQWdJQ0FnZHlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2R6dGNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHTmhjbko1SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZMkZ5Y25rN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDc3JPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTmFaWEp2SUQwZ1puVnVZM1JwYjI0Z2FYTmFaWEp2SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXNaVzVuZEdnZ1BUMDlJREVnSmlZZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVkyMXdiaUE5SUdaMWJtTjBhVzl1SUdOdGNHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnVaV2RoZEdsMlpTQTlJRzUxYlNBOElEQTdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNBbUppQWhibVZuWVhScGRtVXBJSEpsZEhWeWJpQXRNVHRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQnVaV2RoZEdsMlpTa2djbVYwZFhKdUlERTdYRzVjYmlBZ0lDQjBhR2x6TGw5emRISnBjQ2dwTzF4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcFppQW9ibVZuWVhScGRtVXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdElEMGdMVzUxYlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJTQThQU0F3ZURObVptWm1abVlzSUNkT2RXMWlaWElnYVhNZ2RHOXZJR0pwWnljcE8xeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUNBZ2NtVnpJRDBnZHlBOVBUMGdiblZ0SUQ4Z01DQTZJSGNnUENCdWRXMGdQeUF0TVNBNklERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdMWEpsY3lCOElEQTdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCRGIyMXdZWEpsSUhSM2J5QnVkVzFpWlhKeklHRnVaQ0J5WlhSMWNtNDZYRzRnSUM4dklERWdMU0JwWmlCZ2RHaHBjMkFnUGlCZ2JuVnRZRnh1SUNBdkx5QXdJQzBnYVdZZ1lIUm9hWE5nSUQwOUlHQnVkVzFnWEc0Z0lDOHZJQzB4SUMwZ2FXWWdZSFJvYVhOZ0lEd2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdGNDQTlJR1oxYm1OMGFXOXVJR050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuVmpiWEFvYm5WdEtUdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnY21WMGRYSnVJQzF5WlhNZ2ZDQXdPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZXNXphV2R1WldRZ1kyOXRjR0Z5YVhOdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRXTnRjQ0E5SUdaMWJtTjBhVzl1SUhWamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRjBJSFJvYVhNZ2NHOXBiblFnWW05MGFDQnVkVzFpWlhKeklHaGhkbVVnZEdobElITmhiV1VnYzJsbmJseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4SUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBdE1UdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdZU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1WEc0Z0lDQWdJQ0JwWmlBb1lTQTlQVDBnWWlrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNCcFppQW9ZU0E4SUdJcElIdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ0xURTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUGlCaUtTQjdYRzRnSUNBZ0lDQWdJSEpsY3lBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1J1SUQwZ1puVnVZM1JwYjI0Z1ozUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEJ1S0c1MWJTa2dQVDA5SURFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMElEMGdablZ1WTNScGIyNGdaM1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBeE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVnVJRDBnWm5WdVkzUnBiMjRnWjNSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlNBOUlHWjFibU4wYVc5dUlHZDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQajBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhSdUlEMGdablZ1WTNScGIyNGdiSFJ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkQ0E5SUdaMWJtTjBhVzl1SUd4MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdMVEU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlc0Z1BTQm1kVzVqZEdsdmJpQnNkR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxJRDBnWm5WdVkzUnBiMjRnYkhSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOFBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjVzRnUFNCbWRXNWpkR2x2YmlCbGNXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SURBN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRU0J5WldSMVkyVWdZMjl1ZEdWNGRDd2dZMjkxYkdRZ1ltVWdkWE5wYm1jZ2JXOXVkR2R2YldWeWVTQnZjaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMQ0JrWlhCbGJtUnBibWRjYmlBZ0x5OGdiMjRnZEdobElHQnRZQ0JwZEhObGJHWXVYRzRnSUM4dlhHNGdJRUpPTG5KbFpDQTlJR1oxYm1OMGFXOXVJSEpsWkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJTWldRb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlTWldRZ1BTQm1kVzVqZEdsdmJpQjBiMUpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ2NtVjBkWEp1SUdOMGVDNWpiMjUyWlhKMFZHOG9kR2hwY3lrdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxU1pXUWdQU0JtZFc1amRHbHZiaUJtY205dFVtVmtJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2RtY205dFVtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnVkVzFpWlhKeklHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtTnZiblpsY25SR2NtOXRLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZlptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQmZabTl5WTJWU1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ1kzUjRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1iM0pqWlZKbFpDQTlJR1oxYm1OMGFXOXVJR1p2Y21ObFVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkJaR1FnUFNCbWRXNWpkR2x2YmlCeVpXUkJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WVdSa0tIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxCWkdRZ1BTQm1kVzVqZEdsdmJpQnlaV1JKUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSSlFXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBZV1JrS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTjFZaUE5SUdaMWJtTjBhVzl1SUhKbFpGTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6ZFdJb2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVk4xWWlBOUlHWjFibU4wYVc5dUlISmxaRWxUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkVsVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtbHpkV0lvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1UyaHNJRDBnWm5WdVkzUnBiMjRnY21Wa1UyaHNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRhR3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbk5vYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUk5kV3dnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRTExYkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TWloMGFHbHpMQ0J1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVTExYkNBOUlHWjFibU4wYVc5dUlISmxaRWxOZFd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkUxMWJDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1paDBhR2x6TENCdWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNpQTlJR1oxYm1OMGFXOXVJSEpsWkZOeGNpQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXpjWElvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JKVTNGeUlDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBjM0Z5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTnhkV0Z5WlNCeWIyOTBJRzkyWlhJZ2NGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5ZENBOUlHWjFibU4wYVc5dUlISmxaRk54Y25RZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y25RZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTnhjblFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnlaV1JKYm5adElDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKYm5adElIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBiblp0S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkFnSlNCZ2NtVmtJRzF2WkhWc2IyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRTVsWnlBOUlHWjFibU4wYVc5dUlISmxaRTVsWnlBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUbVZuSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1dVpXY29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGQnZkeUE5SUdaMWJtTjBhVzl1SUhKbFpGQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrSUNZbUlDRnVkVzB1Y21Wa0xDQW5jbVZrVUc5M0tHNXZjbTFoYkU1MWJTa25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjRzkzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhKcGJXVWdiblZ0WW1WeWN5QjNhWFJvSUdWbVptbGphV1Z1ZENCeVpXUjFZM1JwYjI1Y2JpQWdkbUZ5SUhCeWFXMWxjeUE5SUh0Y2JpQWdJQ0JyTWpVMk9pQnVkV3hzTEZ4dUlDQWdJSEF5TWpRNklHNTFiR3dzWEc0Z0lDQWdjREU1TWpvZ2JuVnNiQ3hjYmlBZ0lDQndNalUxTVRrNklHNTFiR3hjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjMlYxWkc4dFRXVnljMlZ1Ym1VZ2NISnBiV1ZjYmlBZ1puVnVZM1JwYjI0Z1RWQnlhVzFsSUNodVlXMWxMQ0J3S1NCN1hHNGdJQ0FnTHk4Z1VDQTlJRElnWGlCT0lDMGdTMXh1SUNBZ0lIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnZEdocGN5NXdJRDBnYm1WM0lFSk9LSEFzSURFMktUdGNiaUFnSUNCMGFHbHpMbTRnUFNCMGFHbHpMbkF1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZEdocGN5NXJJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxtNHBMbWx6ZFdJb2RHaHBjeTV3S1R0Y2JseHVJQ0FnSUhSb2FYTXVkRzF3SUQwZ2RHaHBjeTVmZEcxd0tDazdYRzRnSUgxY2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbDkwYlhBZ1BTQm1kVzVqZEdsdmJpQmZkRzF3SUNncElIdGNiaUFnSUNCMllYSWdkRzF3SUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lIUnRjQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2hOWVhSb0xtTmxhV3dvZEdocGN5NXVJQzhnTVRNcEtUdGNiaUFnSUNCeVpYUjFjbTRnZEcxd08xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVhWEpsWkhWalpTQTlJR1oxYm1OMGFXOXVJR2x5WldSMVkyVWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRnpjM1Z0WlhNZ2RHaGhkQ0JnYm5WdFlDQnBjeUJzWlhOeklIUm9ZVzRnWUZCZU1tQmNiaUFnSUNBdkx5QnVkVzBnUFNCSVNTQXFJQ2d5SUY0Z1RpQXRJRXNwSUNzZ1NFa2dLaUJMSUNzZ1RFOGdQU0JJU1NBcUlFc2dLeUJNVHlBb2JXOWtJRkFwWEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzA3WEc0Z0lDQWdkbUZ5SUhKc1pXNDdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IwYUdsekxuTndiR2wwS0hJc0lIUm9hWE11ZEcxd0tUdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHRkV3hMS0hJcE8xeHVJQ0FnSUNBZ2NpQTlJSEl1YVdGa1pDaDBhR2x6TG5SdGNDazdYRzRnSUNBZ0lDQnliR1Z1SUQwZ2NpNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaHliR1Z1SUQ0Z2RHaHBjeTV1S1R0Y2JseHVJQ0FnSUhaaGNpQmpiWEFnUFNCeWJHVnVJRHdnZEdocGN5NXVJRDhnTFRFZ09pQnlMblZqYlhBb2RHaHBjeTV3S1R0Y2JpQWdJQ0JwWmlBb1kyMXdJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhJdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnRjQ0ErSURBcElIdGNiaUFnSUNBZ0lISXVhWE4xWWloMGFHbHpMbkFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlMbDl6ZEhKcGNDZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVjM0JzYVhRZ1BTQm1kVzVqZEdsdmJpQnpjR3hwZENBb2FXNXdkWFFzSUc5MWRDa2dlMXh1SUNBZ0lHbHVjSFYwTG1sMWMyaHliaWgwYUdsekxtNHNJREFzSUc5MWRDazdYRzRnSUgwN1hHNWNiaUFnVFZCeWFXMWxMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1sdGRXd29kR2hwY3k1cktUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJMTWpVMklDZ3BJSHRjYmlBZ0lDQk5VSEpwYldVdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBbmF6STFOaWNzWEc0Z0lDQWdJQ0FuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVVnWm1abVptWmpNbVluS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loTE1qVTJMQ0JOVUhKcGJXVXBPMXh1WEc0Z0lFc3lOVFl1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFJ3ZFhRcElIdGNiaUFnSUNBdkx5QXlOVFlnUFNBNUlDb2dNallnS3lBeU1seHVJQ0FnSUhaaGNpQnRZWE5ySUQwZ01IZ3pabVptWm1ZN1hHNWNiaUFnSUNCMllYSWdiM1YwVEdWdUlEMGdUV0YwYUM1dGFXNG9hVzV3ZFhRdWJHVnVaM1JvTENBNUtUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHOTFkRXhsYmpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J2ZFhSd2RYUXVkMjl5WkhOYmFWMGdQU0JwYm5CMWRDNTNiM0prYzF0cFhUdGNiaUFnSUNCOVhHNGdJQ0FnYjNWMGNIVjBMbXhsYm1kMGFDQTlJRzkxZEV4bGJqdGNibHh1SUNBZ0lHbG1JQ2hwYm5CMWRDNXNaVzVuZEdnZ1BEMGdPU2tnZTF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QlRhR2xtZENCaWVTQTVJR3hwYldKelhHNGdJQ0FnZG1GeUlIQnlaWFlnUFNCcGJuQjFkQzUzYjNKa2MxczVYVHRjYmlBZ0lDQnZkWFJ3ZFhRdWQyOXlaSE5iYjNWMGNIVjBMbXhsYm1kMGFDc3JYU0E5SUhCeVpYWWdKaUJ0WVhOck8xeHVYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01UQTdJR2tnUENCcGJuQjFkQzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzVsZUhRZ1BTQnBibkIxZEM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnBibkIxZEM1M2IzSmtjMXRwSUMwZ01UQmRJRDBnS0NodVpYaDBJQ1lnYldGemF5a2dQRHdnTkNrZ2ZDQW9jSEpsZGlBK1BqNGdNaklwTzF4dUlDQWdJQ0FnY0hKbGRpQTlJRzVsZUhRN1hHNGdJQ0FnZlZ4dUlDQWdJSEJ5WlhZZ1BqNCtQU0F5TWp0Y2JpQWdJQ0JwYm5CMWRDNTNiM0prYzF0cElDMGdNVEJkSUQwZ2NISmxkanRjYmlBZ0lDQnBaaUFvY0hKbGRpQTlQVDBnTUNBbUppQnBibkIxZEM1c1pXNW5kR2dnUGlBeE1Da2dlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlERXdPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcGJuQjFkQzVzWlc1bmRHZ2dMVDBnT1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1N6STFOaTV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVRBd01EQXdNMlF4SUQwZ1d5QXdlRFF3TENBd2VETmtNU0JkWEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2hkSUQwZ01EdGNiaUFnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXJJREZkSUQwZ01EdGNiaUFnSUNCdWRXMHViR1Z1WjNSb0lDczlJREk3WEc1Y2JpQWdJQ0F2THlCaWIzVnVaR1ZrSUdGME9pQXdlRFF3SUNvZ01IZ3pabVptWm1abUlDc2dNSGd6WkRBZ1BTQXdlREV3TURBd01ETTVNRnh1SUNBZ0lIWmhjaUJzYnlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ2JuVnRMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUd4dklDczlJSGNnS2lBd2VETmtNVHRjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnYkc4Z1BTQjNJQ29nTUhnME1DQXJJQ2dvYkc4Z0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JzWlc1bmRHZ2djbVZrZFdOMGFXOXVYRzRnSUNBZ2FXWWdLRzUxYlM1M2IzSmtjMXR1ZFcwdWJHVnVaM1JvSUMwZ01WMGdQVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzVzWlc1bmRHZ3RMVHRjYmlBZ0lDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc1MWJTNXNaVzVuZEdndExUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJRzUxYlR0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNakkwSUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RJeU5DY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdNREF3TURBd01EQWdNREF3TURBd01EQWdNREF3TURBd01ERW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTWpJMExDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeE9USWdLQ2tnZTF4dUlDQWdJRTFRY21sdFpTNWpZV3hzS0Z4dUlDQWdJQ0FnZEdocGN5eGNiaUFnSUNBZ0lDZHdNVGt5Snl4Y2JpQWdJQ0FnSUNkbVptWm1abVptWmlCbVptWm1abVptWmlCbVptWm1abVptWmlCbVptWm1abVptWlNCbVptWm1abVptWmlCbVptWm1abVptWmljcE8xeHVJQ0I5WEc0Z0lHbHVhR1Z5YVhSektGQXhPVElzSUUxUWNtbHRaU2s3WEc1Y2JpQWdablZ1WTNScGIyNGdVREkxTlRFNUlDZ3BJSHRjYmlBZ0lDQXZMeUF5SUY0Z01qVTFJQzBnTVRsY2JpQWdJQ0JOVUhKcGJXVXVZMkZzYkNoY2JpQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQW5NalUxTVRrbkxGeHVJQ0FnSUNBZ0p6ZG1abVptWm1abVptWm1abVptWm1ZZ1ptWm1abVptWm1abVptWm1abVptWmlCbVptWm1abVptWm1abVptWm1abVptSUdabVptWm1abVptWm1abVptWm1aV1FuS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loUU1qVTFNVGtzSUUxUWNtbHRaU2s3WEc1Y2JpQWdVREkxTlRFNUxuQnliM1J2ZEhsd1pTNXBiWFZzU3lBOUlHWjFibU4wYVc5dUlHbHRkV3hMSUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJMSUQwZ01IZ3hNMXh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCb2FTQTlJQ2h1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdLU0FxSURCNE1UTWdLeUJqWVhKeWVUdGNiaUFnSUNBZ0lIWmhjaUJzYnlBOUlHaHBJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnYUdrZ1BqNCtQU0F5Tmp0Y2JseHVJQ0FnSUNBZ2JuVnRMbmR2Y21SelcybGRJRDBnYkc4N1hHNGdJQ0FnSUNCallYSnllU0E5SUdocE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXR1ZFcwdWJHVnVaM1JvS3l0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnVkVzA3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdSWGh3YjNKMFpXUWdiVzl6ZEd4NUlHWnZjaUIwWlhOMGFXNW5JSEIxY25CdmMyVnpMQ0IxYzJVZ2NHeGhhVzRnYm1GdFpTQnBibk4wWldGa1hHNGdJRUpPTGw5d2NtbHRaU0E5SUdaMWJtTjBhVzl1SUhCeWFXMWxJQ2h1WVcxbEtTQjdYRzRnSUNBZ0x5OGdRMkZqYUdWa0lIWmxjbk5wYjI0Z2IyWWdjSEpwYldWY2JpQWdJQ0JwWmlBb2NISnBiV1Z6VzI1aGJXVmRLU0J5WlhSMWNtNGdjSEpwYldWelcyNWhiV1ZkTzF4dVhHNGdJQ0FnZG1GeUlIQnlhVzFsTzF4dUlDQWdJR2xtSUNodVlXMWxJRDA5UFNBbmF6STFOaWNwSUh0Y2JpQWdJQ0FnSUhCeWFXMWxJRDBnYm1WM0lFc3lOVFlvS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1aGJXVWdQVDA5SUNkd01qSTBKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1VESXlOQ2dwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm1GdFpTQTlQVDBnSjNBeE9USW5LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1Ua3lLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WVcxbElEMDlQU0FuY0RJMU5URTVKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1VESTFOVEU1S0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WVzVyYm05M2JpQndjbWx0WlNBbklDc2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEJ5YVcxbGMxdHVZVzFsWFNBOUlIQnlhVzFsTzF4dVhHNGdJQ0FnY21WMGRYSnVJSEJ5YVcxbE8xeHVJQ0I5TzF4dVhHNGdJQzh2WEc0Z0lDOHZJRUpoYzJVZ2NtVmtkV04wYVc5dUlHVnVaMmx1WlZ4dUlDQXZMMXh1SUNCbWRXNWpkR2x2YmlCU1pXUWdLRzBwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUcwZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NISnBiV1VnUFNCQ1RpNWZjSEpwYldVb2JTazdYRzRnSUNBZ0lDQjBhR2x6TG0wZ1BTQndjbWx0WlM1d08xeHVJQ0FnSUNBZ2RHaHBjeTV3Y21sdFpTQTlJSEJ5YVcxbE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoYzNObGNuUW9iUzVuZEc0b01Ta3NJQ2R0YjJSMWJIVnpJRzExYzNRZ1ltVWdaM0psWVhSbGNpQjBhR0Z1SURFbktUdGNiaUFnSUNBZ0lIUm9hWE11YlNBOUlHMDdYRzRnSUNBZ0lDQjBhR2x6TG5CeWFXMWxJRDBnYm5Wc2JEdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTGw5MlpYSnBabmt4SUQwZ1puVnVZM1JwYjI0Z1gzWmxjbWxtZVRFZ0tHRXBJSHRjYmlBZ0lDQmhjM05sY25Rb1lTNXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0ozSmxaQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djRzl6YVhScGRtVnpKeWs3WEc0Z0lDQWdZWE56WlhKMEtHRXVjbVZrTENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WDNabGNtbG1lVElnUFNCbWRXNWpkR2x2YmlCZmRtVnlhV1o1TWlBb1lTd2dZaWtnZTF4dUlDQWdJR0Z6YzJWeWRDZ29ZUzV1WldkaGRHbDJaU0I4SUdJdWJtVm5ZWFJwZG1VcElEMDlQU0F3TENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQndiM05wZEdsMlpYTW5LVHRjYmlBZ0lDQmhjM05sY25Rb1lTNXlaV1FnSmlZZ1lTNXlaV1FnUFQwOUlHSXVjbVZrTEZ4dUlDQWdJQ0FnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx0YjJRZ1BTQm1kVzVqZEdsdmJpQnBiVzlrSUNoaEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWNISnBiV1VwSUhKbGRIVnliaUIwYUdsekxuQnlhVzFsTG1seVpXUjFZMlVvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnYlc5MlpTaGhMQ0JoTG5WdGIyUW9kR2hwY3k1dEtTNWZabTl5WTJWU1pXUW9kR2hwY3lrcE8xeHVJQ0FnSUhKbGRIVnliaUJoTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1Ym1WbklEMGdablZ1WTNScGIyNGdibVZuSUNoaEtTQjdYRzRnSUNBZ2FXWWdLR0V1YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoTG1Oc2IyNWxLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YlM1emRXSW9ZU2t1WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVZV1JrSUQwZ1puVnVZM1JwYjI0Z1lXUmtJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQmhMbUZrWkNoaUtUdGNiaUFnSUNCcFppQW9jbVZ6TG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5NXBjM1ZpS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTXVYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWFXRmtaQ0E5SUdaMWJtTjBhVzl1SUdsaFpHUWdLR0VzSUdJcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3lLR0VzSUdJcE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHRXVhV0ZrWkNoaUtUdGNiaUFnSUNCcFppQW9jbVZ6TG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5NXBjM1ZpS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpkV0lnUFNCbWRXNWpkR2x2YmlCemRXSWdLR0VzSUdJcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3lLR0VzSUdJcE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHRXVjM1ZpS0dJcE8xeHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE4xWWlBOUlHWjFibU4wYVc5dUlHbHpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVhOMVlpaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFXRmtaQ2gwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWMyaHNJRDBnWm5WdVkzUnBiMjRnYzJoc0lDaGhMQ0J1ZFcwcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3hLR0VwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzUxYzJoc2JpaHVkVzBwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJXOWtLR0V1YVcxMWJDaGlLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb1lTNXRkV3dvWWlrcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWFYTnhjaUE5SUdaMWJtTjBhVzl1SUdsemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJYVnNLR0VzSUdFdVkyeHZibVVvS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSWdQU0JtZFc1amRHbHZiaUJ6Y1hJZ0tHRXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV0ZFd3b1lTd2dZU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6Y1hKMElEMGdablZ1WTNScGIyNGdjM0Z5ZENBb1lTa2dlMXh1SUNBZ0lHbG1JQ2hoTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWVM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZG1GeUlHMXZaRE1nUFNCMGFHbHpMbTB1WVc1a2JHNG9NeWs3WEc0Z0lDQWdZWE56WlhKMEtHMXZaRE1nSlNBeUlEMDlQU0F4S1R0Y2JseHVJQ0FnSUM4dklFWmhjM1FnWTJGelpWeHVJQ0FnSUdsbUlDaHRiMlF6SUQwOVBTQXpLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NHOTNJRDBnZEdocGN5NXRMbUZrWkNodVpYY2dRazRvTVNrcExtbDFjMmh5YmlneUtUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkJ2ZHloaExDQndiM2NwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZSdmJtVnNiR2t0VTJoaGJtdHpJR0ZzWjI5eWFYUm9iU0FvVkc5MFlXeHNlU0IxYm05d2RHbHRhWHBsWkNCaGJtUWdjMnh2ZHlsY2JpQWdJQ0F2TDF4dUlDQWdJQzh2SUVacGJtUWdVU0JoYm1RZ1V5d2dkR2hoZENCUklDb2dNaUJlSUZNZ1BTQW9VQ0F0SURFcFhHNGdJQ0FnZG1GeUlIRWdQU0IwYUdsekxtMHVjM1ZpYmlneEtUdGNiaUFnSUNCMllYSWdjeUE5SURBN1hHNGdJQ0FnZDJocGJHVWdLQ0Z4TG1seldtVnlieWdwSUNZbUlIRXVZVzVrYkc0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lITXJLenRjYmlBZ0lDQWdJSEV1YVhWemFISnVLREVwTzF4dUlDQWdJSDFjYmlBZ0lDQmhjM05sY25Rb0lYRXVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdkbUZ5SUc5dVpTQTlJRzVsZHlCQ1RpZ3hLUzUwYjFKbFpDaDBhR2x6S1R0Y2JpQWdJQ0IyWVhJZ2JrOXVaU0E5SUc5dVpTNXlaV1JPWldjb0tUdGNibHh1SUNBZ0lDOHZJRVpwYm1RZ2NYVmhaSEpoZEdsaklHNXZiaTF5WlhOcFpIVmxYRzRnSUNBZ0x5OGdUazlVUlRvZ1RXRjRJR2x6SUhOMVkyZ2dZbVZqWVhWelpTQnZaaUJuWlc1bGNtRnNhWHBsWkNCU2FXVnRZVzV1SUdoNWNHOTBhR1Z6YVhNdVhHNGdJQ0FnZG1GeUlHeHdiM2NnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdkbUZ5SUhvZ1BTQjBhR2x6TG0wdVltbDBUR1Z1WjNSb0tDazdYRzRnSUNBZ2VpQTlJRzVsZHlCQ1RpZ3lJQ29nZWlBcUlIb3BMblJ2VW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWNHOTNLSG9zSUd4d2IzY3BMbU50Y0NodVQyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdlaTV5WldSSlFXUmtLRzVQYm1VcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmpJRDBnZEdocGN5NXdiM2NvZWl3Z2NTazdYRzRnSUNBZ2RtRnlJSElnUFNCMGFHbHpMbkJ2ZHloaExDQnhMbUZrWkc0b01Ta3VhWFZ6YUhKdUtERXBLVHRjYmlBZ0lDQjJZWElnZENBOUlIUm9hWE11Y0c5M0tHRXNJSEVwTzF4dUlDQWdJSFpoY2lCdElEMGdjenRjYmlBZ0lDQjNhR2xzWlNBb2RDNWpiWEFvYjI1bEtTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFJ0Y0NBOUlIUTdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2RHMXdMbU50Y0NodmJtVXBJQ0U5UFNBd095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHMXdJRDBnZEcxd0xuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1lYTnpaWEowS0drZ1BDQnRLVHRjYmlBZ0lDQWdJSFpoY2lCaUlEMGdkR2hwY3k1d2IzY29ZeXdnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWh0SUMwZ2FTQXRJREVwS1R0Y2JseHVJQ0FnSUNBZ2NpQTlJSEl1Y21Wa1RYVnNLR0lwTzF4dUlDQWdJQ0FnWXlBOUlHSXVjbVZrVTNGeUtDazdYRzRnSUNBZ0lDQjBJRDBnZEM1eVpXUk5kV3dvWXlrN1hHNGdJQ0FnSUNCdElEMGdhVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHVkbTBnUFNCbWRXNWpkR2x2YmlCcGJuWnRJQ2hoS1NCN1hHNGdJQ0FnZG1GeUlHbHVkaUE5SUdFdVgybHVkbTF3S0hSb2FYTXViU2s3WEc0Z0lDQWdhV1lnS0dsdWRpNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2FXNTJMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvYVc1MktTNXlaV1JPWldjb0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2hwYm5ZcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5CdmR5QTlJR1oxYm1OMGFXOXVJSEJ2ZHlBb1lTd2diblZ0S1NCN1hHNGdJQ0FnYVdZZ0tHNTFiUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3hLUzUwYjFKbFpDaDBhR2x6S1R0Y2JpQWdJQ0JwWmlBb2JuVnRMbU50Y0c0b01Ta2dQVDA5SURBcElISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNWNiaUFnSUNCMllYSWdkMmx1Wkc5M1UybDZaU0E5SURRN1hHNGdJQ0FnZG1GeUlIZHVaQ0E5SUc1bGR5QkJjbkpoZVNneElEdzhJSGRwYm1SdmQxTnBlbVVwTzF4dUlDQWdJSGR1WkZzd1hTQTlJRzVsZHlCQ1RpZ3hLUzUwYjFKbFpDaDBhR2x6S1R0Y2JpQWdJQ0IzYm1SYk1WMGdQU0JoTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBeU95QnBJRHdnZDI1a0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzYm1SYmFWMGdQU0IwYUdsekxtMTFiQ2gzYm1SYmFTQXRJREZkTENCaEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ2QyNWtXekJkTzF4dUlDQWdJSFpoY2lCamRYSnlaVzUwSUQwZ01EdGNiaUFnSUNCMllYSWdZM1Z5Y21WdWRFeGxiaUE5SURBN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ2JuVnRMbUpwZEV4bGJtZDBhQ2dwSUNVZ01qWTdYRzRnSUNBZ2FXWWdLSE4wWVhKMElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCemRHRnlkQ0E5SURJMk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9hU0E5SUc1MWJTNXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGR2Y21RZ1BTQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2MzUmhjblFnTFNBeE95QnFJRDQ5SURBN0lHb3RMU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdZbWwwSUQwZ0tIZHZjbVFnUGo0Z2Fpa2dKaUF4TzF4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6SUNFOVBTQjNibVJiTUYwcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG5OeGNpaHlaWE1wTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0dKcGRDQTlQVDBnTUNBbUppQmpkWEp5Wlc1MElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdZM1Z5Y21WdWRFeGxiaUE5SURBN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUR3OFBTQXhPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBJSHc5SUdKcGREdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRFeGxiaXNyTzF4dUlDQWdJQ0FnSUNCcFppQW9ZM1Z5Y21WdWRFeGxiaUFoUFQwZ2QybHVaRzkzVTJsNlpTQW1KaUFvYVNBaFBUMGdNQ0I4ZkNCcUlDRTlQU0F3S1NrZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV0ZFd3b2NtVnpMQ0IzYm1SYlkzVnljbVZ1ZEYwcE8xeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFRHVnVJRDBnTUR0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZENBOUlEQTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWpiMjUyWlhKMFZHOGdQU0JtZFc1amRHbHZiaUJqYjI1MlpYSjBWRzhnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5SUQwZ2JuVnRMblZ0YjJRb2RHaHBjeTV0S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ5SUQwOVBTQnVkVzBnUHlCeUxtTnNiMjVsS0NrZ09pQnlPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVZMjl1ZG1WeWRFWnliMjBnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowUm5KdmJTQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISmxjeUE5SUc1MWJTNWpiRzl1WlNncE8xeHVJQ0FnSUhKbGN5NXlaV1FnUFNCdWRXeHNPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk5Y2JpQWdMeThnVFc5dWRHZHZiV1Z5ZVNCdFpYUm9iMlFnWlc1bmFXNWxYRzRnSUM4dlhHNWNiaUFnUWs0dWJXOXVkQ0E5SUdaMWJtTjBhVzl1SUcxdmJuUWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1RXOXVkQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJRTF2Ym5RZ0tHMHBJSHRjYmlBZ0lDQlNaV1F1WTJGc2JDaDBhR2x6TENCdEtUdGNibHh1SUNBZ0lIUm9hWE11YzJocFpuUWdQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXVjMmhwWm5RZ0pTQXlOaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1emFHbG1kQ0FyUFNBeU5pQXRJQ2gwYUdsekxuTm9hV1owSUNVZ01qWXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11Y2lBOUlHNWxkeUJDVGlneEtTNXBkWE5vYkc0b2RHaHBjeTV6YUdsbWRDazdYRzRnSUNBZ2RHaHBjeTV5TWlBOUlIUm9hWE11YVcxdlpDaDBhR2x6TG5JdWMzRnlLQ2twTzF4dUlDQWdJSFJvYVhNdWNtbHVkaUE5SUhSb2FYTXVjaTVmYVc1MmJYQW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lIUm9hWE11YldsdWRpQTlJSFJvYVhNdWNtbHVkaTV0ZFd3b2RHaHBjeTV5S1M1cGMzVmliaWd4S1M1a2FYWW9kR2hwY3k1dEtUdGNiaUFnSUNCMGFHbHpMbTFwYm5ZZ1BTQjBhR2x6TG0xcGJuWXVkVzF2WkNoMGFHbHpMbklwTzF4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjaTV6ZFdJb2RHaHBjeTV0YVc1MktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aE5iMjUwTENCU1pXUXBPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1OdmJuWmxjblJVYnlBOUlHWjFibU4wYVc5dUlHTnZiblpsY25SVWJ5QW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2h1ZFcwdWRYTm9iRzRvZEdocGN5NXphR2xtZENrcE8xeHVJQ0I5TzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SR2NtOXRJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRVp5YjIwZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdkR2hwY3k1cGJXOWtLRzUxYlM1dGRXd29kR2hwY3k1eWFXNTJLU2s3WEc0Z0lDQWdjaTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbWx0ZFd3Z1BTQm1kVzVqZEdsdmJpQnBiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnZTF4dUlDQWdJQ0FnWVM1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQmhMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXVhVzExYkNoaUtUdGNiaUFnSUNCMllYSWdZeUE5SUhRdWJXRnphMjRvZEdocGN5NXphR2xtZENrdWJYVnNLSFJvYVhNdWJXbHVkaWt1YVcxaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0wcE8xeHVJQ0FnSUhaaGNpQjFJRDBnZEM1cGMzVmlLR01wTG1sMWMyaHliaWgwYUdsekxuTm9hV1owS1R0Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnZFR0Y2JseHVJQ0FnSUdsbUlDaDFMbU50Y0NoMGFHbHpMbTBwSUQ0OUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIVXVhWE4xWWloMGFHbHpMbTBwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZFM1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RTNXBZV1JrS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjeTVmWm05eVkyVlNaV1FvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnVFc5dWRDNXdjbTkwYjNSNWNHVXViWFZzSUQwZ1puVnVZM1JwYjI0Z2JYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2FXWWdLR0V1YVhOYVpYSnZLQ2tnZkh3Z1lpNXBjMXBsY204b0tTa2djbVYwZFhKdUlHNWxkeUJDVGlnd0tTNWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNWNiaUFnSUNCMllYSWdkQ0E5SUdFdWJYVnNLR0lwTzF4dUlDQWdJSFpoY2lCaklEMGdkQzV0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0YVc1MktTNXBiV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViU2s3WEc0Z0lDQWdkbUZ5SUhVZ1BTQjBMbWx6ZFdJb1l5a3VhWFZ6YUhKdUtIUm9hWE11YzJocFpuUXBPMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjFPMXh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YVc1MmJTQTlJR1oxYm1OMGFXOXVJR2x1ZG0wZ0tHRXBJSHRjYmlBZ0lDQXZMeUFvUVZJcFhpMHhJQ29nVWw0eUlEMGdLRUZlTFRFZ0tpQlNYaTB4S1NBcUlGSmVNaUE5SUVGZUxURWdLaUJTWEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFJvYVhNdWFXMXZaQ2hoTGw5cGJuWnRjQ2gwYUdsekxtMHBMbTExYkNoMGFHbHpMbkl5S1NrN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzU5S1NoMGVYQmxiMllnYlc5a2RXeGxJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QjhmQ0J0YjJSMWJHVXNJSFJvYVhNcE8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvcmFuZC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHI7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByYW5kKGxlbikge1xcbiAgaWYgKCFyKVxcbiAgICByID0gbmV3IFJhbmQobnVsbCk7XFxuXFxuICByZXR1cm4gci5nZW5lcmF0ZShsZW4pO1xcbn07XFxuXFxuZnVuY3Rpb24gUmFuZChyYW5kKSB7XFxuICB0aGlzLnJhbmQgPSByYW5kO1xcbn1cXG5tb2R1bGUuZXhwb3J0cy5SYW5kID0gUmFuZDtcXG5cXG5SYW5kLnByb3RvdHlwZS5nZW5lcmF0ZSA9IGZ1bmN0aW9uIGdlbmVyYXRlKGxlbikge1xcbiAgcmV0dXJuIHRoaXMuX3JhbmQobGVuKTtcXG59O1xcblxcbi8vIEVtdWxhdGUgY3J5cHRvIEFQSSB1c2luZyByYW5keVxcblJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xcbiAgaWYgKHRoaXMucmFuZC5nZXRCeXRlcylcXG4gICAgcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhuKTtcXG5cXG4gIHZhciByZXMgPSBuZXcgVWludDhBcnJheShuKTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmxlbmd0aDsgaSsrKVxcbiAgICByZXNbaV0gPSB0aGlzLnJhbmQuZ2V0Qnl0ZSgpO1xcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcbmlmICh0eXBlb2Ygc2VsZiA9PT0gJ29iamVjdCcpIHtcXG4gIGlmIChzZWxmLmNyeXB0byAmJiBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcXG4gICAgLy8gTW9kZXJuIGJyb3dzZXJzXFxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xcbiAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShuKTtcXG4gICAgICBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYXJyKTtcXG4gICAgICByZXR1cm4gYXJyO1xcbiAgICB9O1xcbiAgfSBlbHNlIGlmIChzZWxmLm1zQ3J5cHRvICYmIHNlbGYubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKSB7XFxuICAgIC8vIElFXFxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xcbiAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShuKTtcXG4gICAgICBzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnIpO1xcbiAgICAgIHJldHVybiBhcnI7XFxuICAgIH07XFxuXFxuICAvLyBTYWZhcmkncyBXZWJXb3JrZXJzIGRvIG5vdCBoYXZlIGBjcnlwdG9gXFxuICB9IGVsc2UgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSB7XFxuICAgIC8vIE9sZCBqdW5rXFxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24oKSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQgeWV0Jyk7XFxuICAgIH07XFxuICB9XFxufSBlbHNlIHtcXG4gIC8vIE5vZGUuanMgb3IgV2ViIHdvcmtlciB3aXRoIG5vIGNyeXB0byBzdXBwb3J0XFxuICB0cnkge1xcbiAgICB2YXIgY3J5cHRvID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3J5cHRvICovIDYpO1xcbiAgICBpZiAodHlwZW9mIGNyeXB0by5yYW5kb21CeXRlcyAhPT0gJ2Z1bmN0aW9uJylcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQnKTtcXG5cXG4gICAgUmFuZC5wcm90b3R5cGUuX3JhbmQgPSBmdW5jdGlvbiBfcmFuZChuKSB7XFxuICAgICAgcmV0dXJuIGNyeXB0by5yYW5kb21CeXRlcyhuKTtcXG4gICAgfTtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205eVlXNWtMMmx1WkdWNExtcHpQekJpWW1FaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2FVSkJRV2xDTEdkQ1FVRm5RanRCUVVOcVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zWlVGQlVUdEJRVU5xUXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM0poYm1RdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2NqdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJ5WVc1a0tHeGxiaWtnZTF4dUlDQnBaaUFvSVhJcFhHNGdJQ0FnY2lBOUlHNWxkeUJTWVc1a0tHNTFiR3dwTzF4dVhHNGdJSEpsZEhWeWJpQnlMbWRsYm1WeVlYUmxLR3hsYmlrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCU1lXNWtLSEpoYm1RcElIdGNiaUFnZEdocGN5NXlZVzVrSUQwZ2NtRnVaRHRjYm4xY2JtMXZaSFZzWlM1bGVIQnZjblJ6TGxKaGJtUWdQU0JTWVc1a08xeHVYRzVTWVc1a0xuQnliM1J2ZEhsd1pTNW5aVzVsY21GMFpTQTlJR1oxYm1OMGFXOXVJR2RsYm1WeVlYUmxLR3hsYmlrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtRnVaQ2hzWlc0cE8xeHVmVHRjYmx4dUx5OGdSVzExYkdGMFpTQmpjbmx3ZEc4Z1FWQkpJSFZ6YVc1bklISmhibVI1WEc1U1lXNWtMbkJ5YjNSdmRIbHdaUzVmY21GdVpDQTlJR1oxYm1OMGFXOXVJRjl5WVc1a0tHNHBJSHRjYmlBZ2FXWWdLSFJvYVhNdWNtRnVaQzVuWlhSQ2VYUmxjeWxjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WVc1a0xtZGxkRUo1ZEdWektHNHBPMXh1WEc0Z0lIWmhjaUJ5WlhNZ1BTQnVaWGNnVldsdWREaEJjbkpoZVNodUtUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeVpYTXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdjbVZ6VzJsZElEMGdkR2hwY3k1eVlXNWtMbWRsZEVKNWRHVW9LVHRjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JtbG1JQ2gwZVhCbGIyWWdjMlZzWmlBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ2FXWWdLSE5sYkdZdVkzSjVjSFJ2SUNZbUlITmxiR1l1WTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGN5a2dlMXh1SUNBZ0lDOHZJRTF2WkdWeWJpQmljbTkzYzJWeWMxeHVJQ0FnSUZKaGJtUXVjSEp2ZEc5MGVYQmxMbDl5WVc1a0lEMGdablZ1WTNScGIyNGdYM0poYm1Rb2Jpa2dlMXh1SUNBZ0lDQWdkbUZ5SUdGeWNpQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHNHBPMXh1SUNBZ0lDQWdjMlZzWmk1amNubHdkRzh1WjJWMFVtRnVaRzl0Vm1Gc2RXVnpLR0Z5Y2lrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVhKeU8xeHVJQ0FnSUgwN1hHNGdJSDBnWld4elpTQnBaaUFvYzJWc1ppNXRjME55ZVhCMGJ5QW1KaUJ6Wld4bUxtMXpRM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3lrZ2UxeHVJQ0FnSUM4dklFbEZYRzRnSUNBZ1VtRnVaQzV3Y205MGIzUjVjR1V1WDNKaGJtUWdQU0JtZFc1amRHbHZiaUJmY21GdVpDaHVLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1lYSnlJRDBnYm1WM0lGVnBiblE0UVhKeVlYa29iaWs3WEc0Z0lDQWdJQ0J6Wld4bUxtMXpRM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3loaGNuSXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRnljanRjYmlBZ0lDQjlPMXh1WEc0Z0lDOHZJRk5oWm1GeWFTZHpJRmRsWWxkdmNtdGxjbk1nWkc4Z2JtOTBJR2hoZG1VZ1lHTnllWEIwYjJCY2JpQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdkMmx1Wkc5M0lEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQzh2SUU5c1pDQnFkVzVyWEc0Z0lDQWdVbUZ1WkM1d2NtOTBiM1I1Y0dVdVgzSmhibVFnUFNCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRtOTBJR2x0Y0d4bGJXVnVkR1ZrSUhsbGRDY3BPMXh1SUNBZ0lIMDdYRzRnSUgxY2JuMGdaV3h6WlNCN1hHNGdJQzh2SUU1dlpHVXVhbk1nYjNJZ1YyVmlJSGR2Y210bGNpQjNhWFJvSUc1dklHTnllWEIwYnlCemRYQndiM0owWEc0Z0lIUnllU0I3WEc0Z0lDQWdkbUZ5SUdOeWVYQjBieUE5SUhKbGNYVnBjbVVvSjJOeWVYQjBieWNwTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWTNKNWNIUnZMbkpoYm1SdmJVSjVkR1Z6SUNFOVBTQW5ablZ1WTNScGIyNG5LVnh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE9iM1FnYzNWd2NHOXlkR1ZrSnlrN1hHNWNiaUFnSUNCU1lXNWtMbkJ5YjNSdmRIbHdaUzVmY21GdVpDQTlJR1oxYm1OMGFXOXVJRjl5WVc1a0tHNHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpjbmx3ZEc4dWNtRnVaRzl0UW5sMFpYTW9iaWs3WEc0Z0lDQWdmVHRjYmlBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNCOVhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2Flcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLy8gYmFzZWQgb24gdGhlIGFlcyBpbXBsaW1lbnRhdGlvbiBpbiB0cmlwbGUgc2VjXFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2tleWJhc2UvdHJpcGxlc2VjXFxuLy8gd2hpY2ggaXMgaW4gdHVybiBiYXNlZCBvbiB0aGUgb25lIGZyb20gY3J5cHRvLWpzXFxuLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jcnlwdG8tanMvXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbmZ1bmN0aW9uIGFzVUludDMyQXJyYXkgKGJ1Zikge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkgYnVmID0gQnVmZmVyLmZyb20oYnVmKVxcblxcbiAgdmFyIGxlbiA9IChidWYubGVuZ3RoIC8gNCkgfCAwXFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KGxlbilcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgb3V0W2ldID0gYnVmLnJlYWRVSW50MzJCRShpICogNClcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gc2NydWJWZWMgKHYpIHtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdi5sZW5ndGg7IHYrKykge1xcbiAgICB2W2ldID0gMFxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjcnlwdEJsb2NrIChNLCBrZXlTY2hlZHVsZSwgU1VCX01JWCwgU0JPWCwgblJvdW5kcykge1xcbiAgdmFyIFNVQl9NSVgwID0gU1VCX01JWFswXVxcbiAgdmFyIFNVQl9NSVgxID0gU1VCX01JWFsxXVxcbiAgdmFyIFNVQl9NSVgyID0gU1VCX01JWFsyXVxcbiAgdmFyIFNVQl9NSVgzID0gU1VCX01JWFszXVxcblxcbiAgdmFyIHMwID0gTVswXSBeIGtleVNjaGVkdWxlWzBdXFxuICB2YXIgczEgPSBNWzFdIF4ga2V5U2NoZWR1bGVbMV1cXG4gIHZhciBzMiA9IE1bMl0gXiBrZXlTY2hlZHVsZVsyXVxcbiAgdmFyIHMzID0gTVszXSBeIGtleVNjaGVkdWxlWzNdXFxuICB2YXIgdDAsIHQxLCB0MiwgdDNcXG4gIHZhciBrc1JvdyA9IDRcXG5cXG4gIGZvciAodmFyIHJvdW5kID0gMTsgcm91bmQgPCBuUm91bmRzOyByb3VuZCsrKSB7XFxuICAgIHQwID0gU1VCX01JWDBbczAgPj4+IDI0XSBeIFNVQl9NSVgxWyhzMSA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYMlsoczIgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYM1tzMyAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK11cXG4gICAgdDEgPSBTVUJfTUlYMFtzMSA+Pj4gMjRdIF4gU1VCX01JWDFbKHMyID4+PiAxNikgJiAweGZmXSBeIFNVQl9NSVgyWyhzMyA+Pj4gOCkgJiAweGZmXSBeIFNVQl9NSVgzW3MwICYgMHhmZl0gXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgICB0MiA9IFNVQl9NSVgwW3MyID4+PiAyNF0gXiBTVUJfTUlYMVsoczMgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWDJbKHMwID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWDNbczEgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdXFxuICAgIHQzID0gU1VCX01JWDBbczMgPj4+IDI0XSBeIFNVQl9NSVgxWyhzMCA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYMlsoczEgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYM1tzMiAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK11cXG4gICAgczAgPSB0MFxcbiAgICBzMSA9IHQxXFxuICAgIHMyID0gdDJcXG4gICAgczMgPSB0M1xcbiAgfVxcblxcbiAgdDAgPSAoKFNCT1hbczAgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczEgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMiA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczMgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDEgPSAoKFNCT1hbczEgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczIgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMyA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczAgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDIgPSAoKFNCT1hbczIgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczMgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMCA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczEgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDMgPSAoKFNCT1hbczMgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczAgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMSA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczIgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxcbiAgdDAgPSB0MCA+Pj4gMFxcbiAgdDEgPSB0MSA+Pj4gMFxcbiAgdDIgPSB0MiA+Pj4gMFxcbiAgdDMgPSB0MyA+Pj4gMFxcblxcbiAgcmV0dXJuIFt0MCwgdDEsIHQyLCB0M11cXG59XFxuXFxuLy8gQUVTIGNvbnN0YW50c1xcbnZhciBSQ09OID0gWzB4MDAsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4MWIsIDB4MzZdXFxudmFyIEcgPSAoZnVuY3Rpb24gKCkge1xcbiAgLy8gQ29tcHV0ZSBkb3VibGUgdGFibGVcXG4gIHZhciBkID0gbmV3IEFycmF5KDI1NilcXG4gIGZvciAodmFyIGogPSAwOyBqIDwgMjU2OyBqKyspIHtcXG4gICAgaWYgKGogPCAxMjgpIHtcXG4gICAgICBkW2pdID0gaiA8PCAxXFxuICAgIH0gZWxzZSB7XFxuICAgICAgZFtqXSA9IChqIDw8IDEpIF4gMHgxMWJcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIFNCT1ggPSBbXVxcbiAgdmFyIElOVl9TQk9YID0gW11cXG4gIHZhciBTVUJfTUlYID0gW1tdLCBbXSwgW10sIFtdXVxcbiAgdmFyIElOVl9TVUJfTUlYID0gW1tdLCBbXSwgW10sIFtdXVxcblxcbiAgLy8gV2FsayBHRigyXjgpXFxuICB2YXIgeCA9IDBcXG4gIHZhciB4aSA9IDBcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcXG4gICAgLy8gQ29tcHV0ZSBzYm94XFxuICAgIHZhciBzeCA9IHhpIF4gKHhpIDw8IDEpIF4gKHhpIDw8IDIpIF4gKHhpIDw8IDMpIF4gKHhpIDw8IDQpXFxuICAgIHN4ID0gKHN4ID4+PiA4KSBeIChzeCAmIDB4ZmYpIF4gMHg2M1xcbiAgICBTQk9YW3hdID0gc3hcXG4gICAgSU5WX1NCT1hbc3hdID0geFxcblxcbiAgICAvLyBDb21wdXRlIG11bHRpcGxpY2F0aW9uXFxuICAgIHZhciB4MiA9IGRbeF1cXG4gICAgdmFyIHg0ID0gZFt4Ml1cXG4gICAgdmFyIHg4ID0gZFt4NF1cXG5cXG4gICAgLy8gQ29tcHV0ZSBzdWIgYnl0ZXMsIG1peCBjb2x1bW5zIHRhYmxlc1xcbiAgICB2YXIgdCA9IChkW3N4XSAqIDB4MTAxKSBeIChzeCAqIDB4MTAxMDEwMClcXG4gICAgU1VCX01JWFswXVt4XSA9ICh0IDw8IDI0KSB8ICh0ID4+PiA4KVxcbiAgICBTVUJfTUlYWzFdW3hdID0gKHQgPDwgMTYpIHwgKHQgPj4+IDE2KVxcbiAgICBTVUJfTUlYWzJdW3hdID0gKHQgPDwgOCkgfCAodCA+Pj4gMjQpXFxuICAgIFNVQl9NSVhbM11beF0gPSB0XFxuXFxuICAgIC8vIENvbXB1dGUgaW52IHN1YiBieXRlcywgaW52IG1peCBjb2x1bW5zIHRhYmxlc1xcbiAgICB0ID0gKHg4ICogMHgxMDEwMTAxKSBeICh4NCAqIDB4MTAwMDEpIF4gKHgyICogMHgxMDEpIF4gKHggKiAweDEwMTAxMDApXFxuICAgIElOVl9TVUJfTUlYWzBdW3N4XSA9ICh0IDw8IDI0KSB8ICh0ID4+PiA4KVxcbiAgICBJTlZfU1VCX01JWFsxXVtzeF0gPSAodCA8PCAxNikgfCAodCA+Pj4gMTYpXFxuICAgIElOVl9TVUJfTUlYWzJdW3N4XSA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KVxcbiAgICBJTlZfU1VCX01JWFszXVtzeF0gPSB0XFxuXFxuICAgIGlmICh4ID09PSAwKSB7XFxuICAgICAgeCA9IHhpID0gMVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHggPSB4MiBeIGRbZFtkW3g4IF4geDJdXV1cXG4gICAgICB4aSBePSBkW2RbeGldXVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICBTQk9YOiBTQk9YLFxcbiAgICBJTlZfU0JPWDogSU5WX1NCT1gsXFxuICAgIFNVQl9NSVg6IFNVQl9NSVgsXFxuICAgIElOVl9TVUJfTUlYOiBJTlZfU1VCX01JWFxcbiAgfVxcbn0pKClcXG5cXG5mdW5jdGlvbiBBRVMgKGtleSkge1xcbiAgdGhpcy5fa2V5ID0gYXNVSW50MzJBcnJheShrZXkpXFxuICB0aGlzLl9yZXNldCgpXFxufVxcblxcbkFFUy5ibG9ja1NpemUgPSA0ICogNFxcbkFFUy5rZXlTaXplID0gMjU2IC8gOFxcbkFFUy5wcm90b3R5cGUuYmxvY2tTaXplID0gQUVTLmJsb2NrU2l6ZVxcbkFFUy5wcm90b3R5cGUua2V5U2l6ZSA9IEFFUy5rZXlTaXplXFxuQUVTLnByb3RvdHlwZS5fcmVzZXQgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIga2V5V29yZHMgPSB0aGlzLl9rZXlcXG4gIHZhciBrZXlTaXplID0ga2V5V29yZHMubGVuZ3RoXFxuICB2YXIgblJvdW5kcyA9IGtleVNpemUgKyA2XFxuICB2YXIga3NSb3dzID0gKG5Sb3VuZHMgKyAxKSAqIDRcXG5cXG4gIHZhciBrZXlTY2hlZHVsZSA9IFtdXFxuICBmb3IgKHZhciBrID0gMDsgayA8IGtleVNpemU7IGsrKykge1xcbiAgICBrZXlTY2hlZHVsZVtrXSA9IGtleVdvcmRzW2tdXFxuICB9XFxuXFxuICBmb3IgKGsgPSBrZXlTaXplOyBrIDwga3NSb3dzOyBrKyspIHtcXG4gICAgdmFyIHQgPSBrZXlTY2hlZHVsZVtrIC0gMV1cXG5cXG4gICAgaWYgKGsgJSBrZXlTaXplID09PSAwKSB7XFxuICAgICAgdCA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KVxcbiAgICAgIHQgPVxcbiAgICAgICAgKEcuU0JPWFt0ID4+PiAyNF0gPDwgMjQpIHxcXG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8XFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHxcXG4gICAgICAgIChHLlNCT1hbdCAmIDB4ZmZdKVxcblxcbiAgICAgIHQgXj0gUkNPTlsoayAvIGtleVNpemUpIHwgMF0gPDwgMjRcXG4gICAgfSBlbHNlIGlmIChrZXlTaXplID4gNiAmJiBrICUga2V5U2l6ZSA9PT0gNCkge1xcbiAgICAgIHQgPVxcbiAgICAgICAgKEcuU0JPWFt0ID4+PiAyNF0gPDwgMjQpIHxcXG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8XFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHxcXG4gICAgICAgIChHLlNCT1hbdCAmIDB4ZmZdKVxcbiAgICB9XFxuXFxuICAgIGtleVNjaGVkdWxlW2tdID0ga2V5U2NoZWR1bGVbayAtIGtleVNpemVdIF4gdFxcbiAgfVxcblxcbiAgdmFyIGludktleVNjaGVkdWxlID0gW11cXG4gIGZvciAodmFyIGlrID0gMDsgaWsgPCBrc1Jvd3M7IGlrKyspIHtcXG4gICAgdmFyIGtzUiA9IGtzUm93cyAtIGlrXFxuICAgIHZhciB0dCA9IGtleVNjaGVkdWxlW2tzUiAtIChpayAlIDQgPyAwIDogNCldXFxuXFxuICAgIGlmIChpayA8IDQgfHwga3NSIDw9IDQpIHtcXG4gICAgICBpbnZLZXlTY2hlZHVsZVtpa10gPSB0dFxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGludktleVNjaGVkdWxlW2lrXSA9XFxuICAgICAgICBHLklOVl9TVUJfTUlYWzBdW0cuU0JPWFt0dCA+Pj4gMjRdXSBeXFxuICAgICAgICBHLklOVl9TVUJfTUlYWzFdW0cuU0JPWFsodHQgPj4+IDE2KSAmIDB4ZmZdXSBeXFxuICAgICAgICBHLklOVl9TVUJfTUlYWzJdW0cuU0JPWFsodHQgPj4+IDgpICYgMHhmZl1dIF5cXG4gICAgICAgIEcuSU5WX1NVQl9NSVhbM11bRy5TQk9YW3R0ICYgMHhmZl1dXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRoaXMuX25Sb3VuZHMgPSBuUm91bmRzXFxuICB0aGlzLl9rZXlTY2hlZHVsZSA9IGtleVNjaGVkdWxlXFxuICB0aGlzLl9pbnZLZXlTY2hlZHVsZSA9IGludktleVNjaGVkdWxlXFxufVxcblxcbkFFUy5wcm90b3R5cGUuZW5jcnlwdEJsb2NrUmF3ID0gZnVuY3Rpb24gKE0pIHtcXG4gIE0gPSBhc1VJbnQzMkFycmF5KE0pXFxuICByZXR1cm4gY3J5cHRCbG9jayhNLCB0aGlzLl9rZXlTY2hlZHVsZSwgRy5TVUJfTUlYLCBHLlNCT1gsIHRoaXMuX25Sb3VuZHMpXFxufVxcblxcbkFFUy5wcm90b3R5cGUuZW5jcnlwdEJsb2NrID0gZnVuY3Rpb24gKE0pIHtcXG4gIHZhciBvdXQgPSB0aGlzLmVuY3J5cHRCbG9ja1JhdyhNKVxcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFswXSwgMClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsxXSwgNClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSwgOClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFszXSwgMTIpXFxuICByZXR1cm4gYnVmXFxufVxcblxcbkFFUy5wcm90b3R5cGUuZGVjcnlwdEJsb2NrID0gZnVuY3Rpb24gKE0pIHtcXG4gIE0gPSBhc1VJbnQzMkFycmF5KE0pXFxuXFxuICAvLyBzd2FwXFxuICB2YXIgbTEgPSBNWzFdXFxuICBNWzFdID0gTVszXVxcbiAgTVszXSA9IG0xXFxuXFxuICB2YXIgb3V0ID0gY3J5cHRCbG9jayhNLCB0aGlzLl9pbnZLZXlTY2hlZHVsZSwgRy5JTlZfU1VCX01JWCwgRy5JTlZfU0JPWCwgdGhpcy5fblJvdW5kcylcXG4gIHZhciBidWYgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMTYpXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMF0sIDApXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbM10sIDQpXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMl0sIDgpXFxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMV0sIDEyKVxcbiAgcmV0dXJuIGJ1Zlxcbn1cXG5cXG5BRVMucHJvdG90eXBlLnNjcnViID0gZnVuY3Rpb24gKCkge1xcbiAgc2NydWJWZWModGhpcy5fa2V5U2NoZWR1bGUpXFxuICBzY3J1YlZlYyh0aGlzLl9pbnZLZXlTY2hlZHVsZSlcXG4gIHNjcnViVmVjKHRoaXMuX2tleSlcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMuQUVTID0gQUVTXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWhaWE11YW5NL1pXTTNaaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3TzBGQlJXeERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFFrRkJhVUlzWTBGQll6dEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4aFFVRmhPMEZCUXpsQ08wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xGbEJRVms3UVVGREwwSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4clFrRkJhMElzWVVGQllUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMkZsY3k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklHSmhjMlZrSUc5dUlIUm9aU0JoWlhNZ2FXMXdiR2x0Wlc1MFlYUnBiMjRnYVc0Z2RISnBjR3hsSUhObFkxeHVMeThnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJ0bGVXSmhjMlV2ZEhKcGNHeGxjMlZqWEc0dkx5QjNhR2xqYUNCcGN5QnBiaUIwZFhKdUlHSmhjMlZrSUc5dUlIUm9aU0J2Ym1VZ1puSnZiU0JqY25sd2RHOHRhbk5jYmk4dklHaDBkSEJ6T2k4dlkyOWtaUzVuYjI5bmJHVXVZMjl0TDNBdlkzSjVjSFJ2TFdwekwxeHVYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSmNibHh1Wm5WdVkzUnBiMjRnWVhOVlNXNTBNekpCY25KaGVTQW9ZblZtS1NCN1hHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dKMVppa3BJR0oxWmlBOUlFSjFabVpsY2k1bWNtOXRLR0oxWmlsY2JseHVJQ0IyWVhJZ2JHVnVJRDBnS0dKMVppNXNaVzVuZEdnZ0x5QTBLU0I4SURCY2JpQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQmNuSmhlU2hzWlc0cFhHNWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUc5MWRGdHBYU0E5SUdKMVppNXlaV0ZrVlVsdWRETXlRa1VvYVNBcUlEUXBYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiM1YwWEc1OVhHNWNibVoxYm1OMGFXOXVJSE5qY25WaVZtVmpJQ2gyS1NCN1hHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZGk1c1pXNW5kR2c3SUhZckt5a2dlMXh1SUNBZ0lIWmJhVjBnUFNBd1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZM0o1Y0hSQ2JHOWpheUFvVFN3Z2EyVjVVMk5vWldSMWJHVXNJRk5WUWw5TlNWZ3NJRk5DVDFnc0lHNVNiM1Z1WkhNcElIdGNiaUFnZG1GeUlGTlZRbDlOU1Znd0lEMGdVMVZDWDAxSldGc3dYVnh1SUNCMllYSWdVMVZDWDAxSldERWdQU0JUVlVKZlRVbFlXekZkWEc0Z0lIWmhjaUJUVlVKZlRVbFlNaUE5SUZOVlFsOU5TVmhiTWwxY2JpQWdkbUZ5SUZOVlFsOU5TVmd6SUQwZ1UxVkNYMDFKV0ZzelhWeHVYRzRnSUhaaGNpQnpNQ0E5SUUxYk1GMGdYaUJyWlhsVFkyaGxaSFZzWlZzd1hWeHVJQ0IyWVhJZ2N6RWdQU0JOV3pGZElGNGdhMlY1VTJOb1pXUjFiR1ZiTVYxY2JpQWdkbUZ5SUhNeUlEMGdUVnN5WFNCZUlHdGxlVk5qYUdWa2RXeGxXekpkWEc0Z0lIWmhjaUJ6TXlBOUlFMWJNMTBnWGlCclpYbFRZMmhsWkhWc1pWc3pYVnh1SUNCMllYSWdkREFzSUhReExDQjBNaXdnZEROY2JpQWdkbUZ5SUd0elVtOTNJRDBnTkZ4dVhHNGdJR1p2Y2lBb2RtRnlJSEp2ZFc1a0lEMGdNVHNnY205MWJtUWdQQ0J1VW05MWJtUnpPeUJ5YjNWdVpDc3JLU0I3WEc0Z0lDQWdkREFnUFNCVFZVSmZUVWxZTUZ0ek1DQStQajRnTWpSZElGNGdVMVZDWDAxSldERmJLSE14SUQ0K1BpQXhOaWtnSmlBd2VHWm1YU0JlSUZOVlFsOU5TVmd5V3loek1pQStQajRnT0NrZ0ppQXdlR1ptWFNCZUlGTlZRbDlOU1ZnelczTXpJQ1lnTUhobVpsMGdYaUJyWlhsVFkyaGxaSFZzWlZ0cmMxSnZkeXNyWFZ4dUlDQWdJSFF4SUQwZ1UxVkNYMDFKV0RCYmN6RWdQajQrSURJMFhTQmVJRk5WUWw5TlNWZ3hXeWh6TWlBK1BqNGdNVFlwSUNZZ01IaG1abDBnWGlCVFZVSmZUVWxZTWxzb2N6TWdQajQrSURncElDWWdNSGhtWmwwZ1hpQlRWVUpmVFVsWU0xdHpNQ0FtSURCNFptWmRJRjRnYTJWNVUyTm9aV1IxYkdWYmEzTlNiM2NySzExY2JpQWdJQ0IwTWlBOUlGTlZRbDlOU1Znd1czTXlJRDQrUGlBeU5GMGdYaUJUVlVKZlRVbFlNVnNvY3pNZ1BqNCtJREUyS1NBbUlEQjRabVpkSUY0Z1UxVkNYMDFKV0RKYktITXdJRDQrUGlBNEtTQW1JREI0Wm1aZElGNGdVMVZDWDAxSldETmJjekVnSmlBd2VHWm1YU0JlSUd0bGVWTmphR1ZrZFd4bFcydHpVbTkzS3l0ZFhHNGdJQ0FnZERNZ1BTQlRWVUpmVFVsWU1GdHpNeUErUGo0Z01qUmRJRjRnVTFWQ1gwMUpXREZiS0hNd0lENCtQaUF4TmlrZ0ppQXdlR1ptWFNCZUlGTlZRbDlOU1ZneVd5aHpNU0ErUGo0Z09Da2dKaUF3ZUdabVhTQmVJRk5WUWw5TlNWZ3pXM015SUNZZ01IaG1abDBnWGlCclpYbFRZMmhsWkhWc1pWdHJjMUp2ZHlzclhWeHVJQ0FnSUhNd0lEMGdkREJjYmlBZ0lDQnpNU0E5SUhReFhHNGdJQ0FnY3pJZ1BTQjBNbHh1SUNBZ0lITXpJRDBnZEROY2JpQWdmVnh1WEc0Z0lIUXdJRDBnS0NoVFFrOVlXM013SUQ0K1BpQXlORjBnUER3Z01qUXBJSHdnS0ZOQ1QxaGJLSE14SUQ0K1BpQXhOaWtnSmlBd2VHWm1YU0E4UENBeE5pa2dmQ0FvVTBKUFdGc29jeklnUGo0K0lEZ3BJQ1lnTUhobVpsMGdQRHdnT0NrZ2ZDQlRRazlZVzNNeklDWWdNSGhtWmwwcElGNGdhMlY1VTJOb1pXUjFiR1ZiYTNOU2IzY3JLMTFjYmlBZ2RERWdQU0FvS0ZOQ1QxaGJjekVnUGo0K0lESTBYU0E4UENBeU5Da2dmQ0FvVTBKUFdGc29jeklnUGo0K0lERTJLU0FtSURCNFptWmRJRHc4SURFMktTQjhJQ2hUUWs5WVd5aHpNeUErUGo0Z09Da2dKaUF3ZUdabVhTQThQQ0E0S1NCOElGTkNUMWhiY3pBZ0ppQXdlR1ptWFNrZ1hpQnJaWGxUWTJobFpIVnNaVnRyYzFKdmR5c3JYVnh1SUNCME1pQTlJQ2dvVTBKUFdGdHpNaUErUGo0Z01qUmRJRHc4SURJMEtTQjhJQ2hUUWs5WVd5aHpNeUErUGo0Z01UWXBJQ1lnTUhobVpsMGdQRHdnTVRZcElId2dLRk5DVDFoYktITXdJRDQrUGlBNEtTQW1JREI0Wm1aZElEdzhJRGdwSUh3Z1UwSlBXRnR6TVNBbUlEQjRabVpkS1NCZUlHdGxlVk5qYUdWa2RXeGxXMnR6VW05M0t5dGRYRzRnSUhReklEMGdLQ2hUUWs5WVczTXpJRDQrUGlBeU5GMGdQRHdnTWpRcElId2dLRk5DVDFoYktITXdJRDQrUGlBeE5pa2dKaUF3ZUdabVhTQThQQ0F4TmlrZ2ZDQW9VMEpQV0Zzb2N6RWdQajQrSURncElDWWdNSGhtWmwwZ1BEd2dPQ2tnZkNCVFFrOVlXM015SUNZZ01IaG1abDBwSUY0Z2EyVjVVMk5vWldSMWJHVmJhM05TYjNjcksxMWNiaUFnZERBZ1BTQjBNQ0ErUGo0Z01GeHVJQ0IwTVNBOUlIUXhJRDQrUGlBd1hHNGdJSFF5SUQwZ2RESWdQajQrSURCY2JpQWdkRE1nUFNCME15QStQajRnTUZ4dVhHNGdJSEpsZEhWeWJpQmJkREFzSUhReExDQjBNaXdnZEROZFhHNTlYRzVjYmk4dklFRkZVeUJqYjI1emRHRnVkSE5jYm5aaGNpQlNRMDlPSUQwZ1d6QjRNREFzSURCNE1ERXNJREI0TURJc0lEQjRNRFFzSURCNE1EZ3NJREI0TVRBc0lEQjRNakFzSURCNE5EQXNJREI0T0RBc0lEQjRNV0lzSURCNE16WmRYRzUyWVhJZ1J5QTlJQ2htZFc1amRHbHZiaUFvS1NCN1hHNGdJQzh2SUVOdmJYQjFkR1VnWkc5MVlteGxJSFJoWW14bFhHNGdJSFpoY2lCa0lEMGdibVYzSUVGeWNtRjVLREkxTmlsY2JpQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0F5TlRZN0lHb3JLeWtnZTF4dUlDQWdJR2xtSUNocUlEd2dNVEk0S1NCN1hHNGdJQ0FnSUNCa1cycGRJRDBnYWlBOFBDQXhYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdSYmFsMGdQU0FvYWlBOFBDQXhLU0JlSURCNE1URmlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUZOQ1QxZ2dQU0JiWFZ4dUlDQjJZWElnU1U1V1gxTkNUMWdnUFNCYlhWeHVJQ0IyWVhJZ1UxVkNYMDFKV0NBOUlGdGJYU3dnVzEwc0lGdGRMQ0JiWFYxY2JpQWdkbUZ5SUVsT1ZsOVRWVUpmVFVsWUlEMGdXMXRkTENCYlhTd2dXMTBzSUZ0ZFhWeHVYRzRnSUM4dklGZGhiR3NnUjBZb01sNDRLVnh1SUNCMllYSWdlQ0E5SURCY2JpQWdkbUZ5SUhocElEMGdNRnh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElESTFOanNnS3l0cEtTQjdYRzRnSUNBZ0x5OGdRMjl0Y0hWMFpTQnpZbTk0WEc0Z0lDQWdkbUZ5SUhONElEMGdlR2tnWGlBb2VHa2dQRHdnTVNrZ1hpQW9lR2tnUER3Z01pa2dYaUFvZUdrZ1BEd2dNeWtnWGlBb2VHa2dQRHdnTkNsY2JpQWdJQ0J6ZUNBOUlDaHplQ0ErUGo0Z09Da2dYaUFvYzNnZ0ppQXdlR1ptS1NCZUlEQjROak5jYmlBZ0lDQlRRazlZVzNoZElEMGdjM2hjYmlBZ0lDQkpUbFpmVTBKUFdGdHplRjBnUFNCNFhHNWNiaUFnSUNBdkx5QkRiMjF3ZFhSbElHMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lDQWdkbUZ5SUhneUlEMGdaRnQ0WFZ4dUlDQWdJSFpoY2lCNE5DQTlJR1JiZURKZFhHNGdJQ0FnZG1GeUlIZzRJRDBnWkZ0NE5GMWNibHh1SUNBZ0lDOHZJRU52YlhCMWRHVWdjM1ZpSUdKNWRHVnpMQ0J0YVhnZ1kyOXNkVzF1Y3lCMFlXSnNaWE5jYmlBZ0lDQjJZWElnZENBOUlDaGtXM040WFNBcUlEQjRNVEF4S1NCZUlDaHplQ0FxSURCNE1UQXhNREV3TUNsY2JpQWdJQ0JUVlVKZlRVbFlXekJkVzNoZElEMGdLSFFnUER3Z01qUXBJSHdnS0hRZ1BqNCtJRGdwWEc0Z0lDQWdVMVZDWDAxSldGc3hYVnQ0WFNBOUlDaDBJRHc4SURFMktTQjhJQ2gwSUQ0K1BpQXhOaWxjYmlBZ0lDQlRWVUpmVFVsWVd6SmRXM2hkSUQwZ0tIUWdQRHdnT0NrZ2ZDQW9kQ0ErUGo0Z01qUXBYRzRnSUNBZ1UxVkNYMDFKV0ZzelhWdDRYU0E5SUhSY2JseHVJQ0FnSUM4dklFTnZiWEIxZEdVZ2FXNTJJSE4xWWlCaWVYUmxjeXdnYVc1MklHMXBlQ0JqYjJ4MWJXNXpJSFJoWW14bGMxeHVJQ0FnSUhRZ1BTQW9lRGdnS2lBd2VERXdNVEF4TURFcElGNGdLSGcwSUNvZ01IZ3hNREF3TVNrZ1hpQW9lRElnS2lBd2VERXdNU2tnWGlBb2VDQXFJREI0TVRBeE1ERXdNQ2xjYmlBZ0lDQkpUbFpmVTFWQ1gwMUpXRnN3WFZ0emVGMGdQU0FvZENBOFBDQXlOQ2tnZkNBb2RDQStQajRnT0NsY2JpQWdJQ0JKVGxaZlUxVkNYMDFKV0ZzeFhWdHplRjBnUFNBb2RDQThQQ0F4TmlrZ2ZDQW9kQ0ErUGo0Z01UWXBYRzRnSUNBZ1NVNVdYMU5WUWw5TlNWaGJNbDFiYzNoZElEMGdLSFFnUER3Z09Da2dmQ0FvZENBK1BqNGdNalFwWEc0Z0lDQWdTVTVXWDFOVlFsOU5TVmhiTTExYmMzaGRJRDBnZEZ4dVhHNGdJQ0FnYVdZZ0tIZ2dQVDA5SURBcElIdGNiaUFnSUNBZ0lIZ2dQU0I0YVNBOUlERmNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZUNBOUlIZ3lJRjRnWkZ0a1cyUmJlRGdnWGlCNE1sMWRYVnh1SUNBZ0lDQWdlR2tnWGowZ1pGdGtXM2hwWFYxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZTF4dUlDQWdJRk5DVDFnNklGTkNUMWdzWEc0Z0lDQWdTVTVXWDFOQ1QxZzZJRWxPVmw5VFFrOVlMRnh1SUNBZ0lGTlZRbDlOU1ZnNklGTlZRbDlOU1Znc1hHNGdJQ0FnU1U1V1gxTlZRbDlOU1ZnNklFbE9WbDlUVlVKZlRVbFlYRzRnSUgxY2JuMHBLQ2xjYmx4dVpuVnVZM1JwYjI0Z1FVVlRJQ2hyWlhrcElIdGNiaUFnZEdocGN5NWZhMlY1SUQwZ1lYTlZTVzUwTXpKQmNuSmhlU2hyWlhrcFhHNGdJSFJvYVhNdVgzSmxjMlYwS0NsY2JuMWNibHh1UVVWVExtSnNiMk5yVTJsNlpTQTlJRFFnS2lBMFhHNUJSVk11YTJWNVUybDZaU0E5SURJMU5pQXZJRGhjYmtGRlV5NXdjbTkwYjNSNWNHVXVZbXh2WTJ0VGFYcGxJRDBnUVVWVExtSnNiMk5yVTJsNlpWeHVRVVZUTG5CeWIzUnZkSGx3WlM1clpYbFRhWHBsSUQwZ1FVVlRMbXRsZVZOcGVtVmNia0ZGVXk1d2NtOTBiM1I1Y0dVdVgzSmxjMlYwSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdhMlY1VjI5eVpITWdQU0IwYUdsekxsOXJaWGxjYmlBZ2RtRnlJR3RsZVZOcGVtVWdQU0JyWlhsWGIzSmtjeTVzWlc1bmRHaGNiaUFnZG1GeUlHNVNiM1Z1WkhNZ1BTQnJaWGxUYVhwbElDc2dObHh1SUNCMllYSWdhM05TYjNkeklEMGdLRzVTYjNWdVpITWdLeUF4S1NBcUlEUmNibHh1SUNCMllYSWdhMlY1VTJOb1pXUjFiR1VnUFNCYlhWeHVJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Ec2dheUE4SUd0bGVWTnBlbVU3SUdzckt5a2dlMXh1SUNBZ0lHdGxlVk5qYUdWa2RXeGxXMnRkSUQwZ2EyVjVWMjl5WkhOYmExMWNiaUFnZlZ4dVhHNGdJR1p2Y2lBb2F5QTlJR3RsZVZOcGVtVTdJR3NnUENCcmMxSnZkM003SUdzckt5a2dlMXh1SUNBZ0lIWmhjaUIwSUQwZ2EyVjVVMk5vWldSMWJHVmJheUF0SURGZFhHNWNiaUFnSUNCcFppQW9heUFsSUd0bGVWTnBlbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFFnUFNBb2RDQThQQ0E0S1NCOElDaDBJRDQrUGlBeU5DbGNiaUFnSUNBZ0lIUWdQVnh1SUNBZ0lDQWdJQ0FvUnk1VFFrOVlXM1FnUGo0K0lESTBYU0E4UENBeU5Da2dmRnh1SUNBZ0lDQWdJQ0FvUnk1VFFrOVlXeWgwSUQ0K1BpQXhOaWtnSmlBd2VHWm1YU0E4UENBeE5pa2dmRnh1SUNBZ0lDQWdJQ0FvUnk1VFFrOVlXeWgwSUQ0K1BpQTRLU0FtSURCNFptWmRJRHc4SURncElIeGNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGdDBJQ1lnTUhobVpsMHBYRzVjYmlBZ0lDQWdJSFFnWGowZ1VrTlBUbHNvYXlBdklHdGxlVk5wZW1VcElId2dNRjBnUER3Z01qUmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHdGxlVk5wZW1VZ1BpQTJJQ1ltSUdzZ0pTQnJaWGxUYVhwbElEMDlQU0EwS1NCN1hHNGdJQ0FnSUNCMElEMWNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGdDBJRDQrUGlBeU5GMGdQRHdnTWpRcElIeGNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGc29kQ0ErUGo0Z01UWXBJQ1lnTUhobVpsMGdQRHdnTVRZcElIeGNiaUFnSUNBZ0lDQWdLRWN1VTBKUFdGc29kQ0ErUGo0Z09Da2dKaUF3ZUdabVhTQThQQ0E0S1NCOFhHNGdJQ0FnSUNBZ0lDaEhMbE5DVDFoYmRDQW1JREI0Wm1aZEtWeHVJQ0FnSUgxY2JseHVJQ0FnSUd0bGVWTmphR1ZrZFd4bFcydGRJRDBnYTJWNVUyTm9aV1IxYkdWYmF5QXRJR3RsZVZOcGVtVmRJRjRnZEZ4dUlDQjlYRzVjYmlBZ2RtRnlJR2x1ZGt0bGVWTmphR1ZrZFd4bElEMGdXMTFjYmlBZ1ptOXlJQ2gyWVhJZ2FXc2dQU0F3T3lCcGF5QThJR3R6VW05M2N6c2dhV3NyS3lrZ2UxeHVJQ0FnSUhaaGNpQnJjMUlnUFNCcmMxSnZkM01nTFNCcGExeHVJQ0FnSUhaaGNpQjBkQ0E5SUd0bGVWTmphR1ZrZFd4bFcydHpVaUF0SUNocGF5QWxJRFFnUHlBd0lEb2dOQ2xkWEc1Y2JpQWdJQ0JwWmlBb2FXc2dQQ0EwSUh4OElHdHpVaUE4UFNBMEtTQjdYRzRnSUNBZ0lDQnBiblpMWlhsVFkyaGxaSFZzWlZ0cGExMGdQU0IwZEZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBiblpMWlhsVFkyaGxaSFZzWlZ0cGExMGdQVnh1SUNBZ0lDQWdJQ0JITGtsT1ZsOVRWVUpmVFVsWVd6QmRXMGN1VTBKUFdGdDBkQ0ErUGo0Z01qUmRYU0JlWEc0Z0lDQWdJQ0FnSUVjdVNVNVdYMU5WUWw5TlNWaGJNVjFiUnk1VFFrOVlXeWgwZENBK1BqNGdNVFlwSUNZZ01IaG1abDFkSUY1Y2JpQWdJQ0FnSUNBZ1J5NUpUbFpmVTFWQ1gwMUpXRnN5WFZ0SExsTkNUMWhiS0hSMElENCtQaUE0S1NBbUlEQjRabVpkWFNCZVhHNGdJQ0FnSUNBZ0lFY3VTVTVXWDFOVlFsOU5TVmhiTTExYlJ5NVRRazlZVzNSMElDWWdNSGhtWmwxZFhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RHaHBjeTVmYmxKdmRXNWtjeUE5SUc1U2IzVnVaSE5jYmlBZ2RHaHBjeTVmYTJWNVUyTm9aV1IxYkdVZ1BTQnJaWGxUWTJobFpIVnNaVnh1SUNCMGFHbHpMbDlwYm5aTFpYbFRZMmhsWkhWc1pTQTlJR2x1ZGt0bGVWTmphR1ZrZFd4bFhHNTlYRzVjYmtGRlV5NXdjbTkwYjNSNWNHVXVaVzVqY25sd2RFSnNiMk5yVW1GM0lEMGdablZ1WTNScGIyNGdLRTBwSUh0Y2JpQWdUU0E5SUdGelZVbHVkRE15UVhKeVlYa29UU2xjYmlBZ2NtVjBkWEp1SUdOeWVYQjBRbXh2WTJzb1RTd2dkR2hwY3k1ZmEyVjVVMk5vWldSMWJHVXNJRWN1VTFWQ1gwMUpXQ3dnUnk1VFFrOVlMQ0IwYUdsekxsOXVVbTkxYm1SektWeHVmVnh1WEc1QlJWTXVjSEp2ZEc5MGVYQmxMbVZ1WTNKNWNIUkNiRzlqYXlBOUlHWjFibU4wYVc5dUlDaE5LU0I3WEc0Z0lIWmhjaUJ2ZFhRZ1BTQjBhR2x6TG1WdVkzSjVjSFJDYkc5amExSmhkeWhOS1Z4dUlDQjJZWElnWW5WbUlEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLREUyS1Z4dUlDQmlkV1l1ZDNKcGRHVlZTVzUwTXpKQ1JTaHZkWFJiTUYwc0lEQXBYRzRnSUdKMVppNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3hYU3dnTkNsY2JpQWdZblZtTG5keWFYUmxWVWx1ZERNeVFrVW9iM1YwV3pKZExDQTRLVnh1SUNCaWRXWXVkM0pwZEdWVlNXNTBNekpDUlNodmRYUmJNMTBzSURFeUtWeHVJQ0J5WlhSMWNtNGdZblZtWEc1OVhHNWNia0ZGVXk1d2NtOTBiM1I1Y0dVdVpHVmpjbmx3ZEVKc2IyTnJJRDBnWm5WdVkzUnBiMjRnS0UwcElIdGNiaUFnVFNBOUlHRnpWVWx1ZERNeVFYSnlZWGtvVFNsY2JseHVJQ0F2THlCemQyRndYRzRnSUhaaGNpQnRNU0E5SUUxYk1WMWNiaUFnVFZzeFhTQTlJRTFiTTExY2JpQWdUVnN6WFNBOUlHMHhYRzVjYmlBZ2RtRnlJRzkxZENBOUlHTnllWEIwUW14dlkyc29UU3dnZEdocGN5NWZhVzUyUzJWNVUyTm9aV1IxYkdVc0lFY3VTVTVXWDFOVlFsOU5TVmdzSUVjdVNVNVdYMU5DVDFnc0lIUm9hWE11WDI1U2IzVnVaSE1wWEc0Z0lIWmhjaUJpZFdZZ1BTQkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVW9NVFlwWEc0Z0lHSjFaaTUzY21sMFpWVkpiblF6TWtKRktHOTFkRnN3WFN3Z01DbGNiaUFnWW5WbUxuZHlhWFJsVlVsdWRETXlRa1VvYjNWMFd6TmRMQ0EwS1Z4dUlDQmlkV1l1ZDNKcGRHVlZTVzUwTXpKQ1JTaHZkWFJiTWwwc0lEZ3BYRzRnSUdKMVppNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3hYU3dnTVRJcFhHNGdJSEpsZEhWeWJpQmlkV1pjYm4xY2JseHVRVVZUTG5CeWIzUnZkSGx3WlM1elkzSjFZaUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnYzJOeWRXSldaV01vZEdocGN5NWZhMlY1VTJOb1pXUjFiR1VwWEc0Z0lITmpjblZpVm1WaktIUm9hWE11WDJsdWRrdGxlVk5qYUdWa2RXeGxLVnh1SUNCelkzSjFZbFpsWXloMGFHbHpMbDlyWlhrcFhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpMa0ZGVXlBOUlFRkZVMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hZXMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2F1dGhDaXBoZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBhZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBHSEFTSCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZ2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2doYXNoLmpzXFxcIilcXG52YXIgeG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyLXhvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qc1xcXCIpXFxudmFyIGluY3IzMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW5jcjMyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9pbmNyMzIuanNcXFwiKVxcblxcbmZ1bmN0aW9uIHhvclRlc3QgKGEsIGIpIHtcXG4gIHZhciBvdXQgPSAwXFxuICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSBvdXQrK1xcblxcbiAgdmFyIGxlbiA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcXG4gICAgb3V0ICs9IChhW2ldIF4gYltpXSlcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gY2FsY0l2IChzZWxmLCBpdiwgY2spIHtcXG4gIGlmIChpdi5sZW5ndGggPT09IDEyKSB7XFxuICAgIHNlbGYuX2ZpbklEID0gQnVmZmVyLmNvbmNhdChbaXYsIEJ1ZmZlci5mcm9tKFswLCAwLCAwLCAxXSldKVxcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbaXYsIEJ1ZmZlci5mcm9tKFswLCAwLCAwLCAyXSldKVxcbiAgfVxcbiAgdmFyIGdoYXNoID0gbmV3IEdIQVNIKGNrKVxcbiAgdmFyIGxlbiA9IGl2Lmxlbmd0aFxcbiAgdmFyIHRvUGFkID0gbGVuICUgMTZcXG4gIGdoYXNoLnVwZGF0ZShpdilcXG4gIGlmICh0b1BhZCkge1xcbiAgICB0b1BhZCA9IDE2IC0gdG9QYWRcXG4gICAgZ2hhc2gudXBkYXRlKEJ1ZmZlci5hbGxvYyh0b1BhZCwgMCkpXFxuICB9XFxuICBnaGFzaC51cGRhdGUoQnVmZmVyLmFsbG9jKDgsIDApKVxcbiAgdmFyIGl2Qml0cyA9IGxlbiAqIDhcXG4gIHZhciB0YWlsID0gQnVmZmVyLmFsbG9jKDgpXFxuICB0YWlsLndyaXRlVUludEJFKGl2Qml0cywgMCwgOClcXG4gIGdoYXNoLnVwZGF0ZSh0YWlsKVxcbiAgc2VsZi5fZmluSUQgPSBnaGFzaC5zdGF0ZVxcbiAgdmFyIG91dCA9IEJ1ZmZlci5mcm9tKHNlbGYuX2ZpbklEKVxcbiAgaW5jcjMyKG91dClcXG4gIHJldHVybiBvdXRcXG59XFxuZnVuY3Rpb24gU3RyZWFtQ2lwaGVyIChtb2RlLCBrZXksIGl2LCBkZWNyeXB0KSB7XFxuICBUcmFuc2Zvcm0uY2FsbCh0aGlzKVxcblxcbiAgdmFyIGggPSBCdWZmZXIuYWxsb2MoNCwgMClcXG5cXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcXG4gIHZhciBjayA9IHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2soaClcXG4gIHRoaXMuX2doYXNoID0gbmV3IEdIQVNIKGNrKVxcbiAgaXYgPSBjYWxjSXYodGhpcywgaXYsIGNrKVxcblxcbiAgdGhpcy5fcHJldiA9IEJ1ZmZlci5mcm9tKGl2KVxcbiAgdGhpcy5fY2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcXG4gIHRoaXMuX3NlY0NhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxuICB0aGlzLl9kZWNyeXB0ID0gZGVjcnlwdFxcbiAgdGhpcy5fYWxlbiA9IDBcXG4gIHRoaXMuX2xlbiA9IDBcXG4gIHRoaXMuX21vZGUgPSBtb2RlXFxuXFxuICB0aGlzLl9hdXRoVGFnID0gbnVsbFxcbiAgdGhpcy5fY2FsbGVkID0gZmFsc2VcXG59XFxuXFxuaW5oZXJpdHMoU3RyZWFtQ2lwaGVyLCBUcmFuc2Zvcm0pXFxuXFxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGNodW5rKSB7XFxuICBpZiAoIXRoaXMuX2NhbGxlZCAmJiB0aGlzLl9hbGVuKSB7XFxuICAgIHZhciBydW1wID0gMTYgLSAodGhpcy5fYWxlbiAlIDE2KVxcbiAgICBpZiAocnVtcCA8IDE2KSB7XFxuICAgICAgcnVtcCA9IEJ1ZmZlci5hbGxvYyhydW1wLCAwKVxcbiAgICAgIHRoaXMuX2doYXNoLnVwZGF0ZShydW1wKVxcbiAgICB9XFxuICB9XFxuXFxuICB0aGlzLl9jYWxsZWQgPSB0cnVlXFxuICB2YXIgb3V0ID0gdGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsIGNodW5rKVxcbiAgaWYgKHRoaXMuX2RlY3J5cHQpIHtcXG4gICAgdGhpcy5fZ2hhc2gudXBkYXRlKGNodW5rKVxcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5fZ2hhc2gudXBkYXRlKG91dClcXG4gIH1cXG4gIHRoaXMuX2xlbiArPSBjaHVuay5sZW5ndGhcXG4gIHJldHVybiBvdXRcXG59XFxuXFxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XFxuICBpZiAodGhpcy5fZGVjcnlwdCAmJiAhdGhpcy5fYXV0aFRhZykgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBzdGF0ZSBvciB1bmFibGUgdG8gYXV0aGVudGljYXRlIGRhdGEnKVxcblxcbiAgdmFyIHRhZyA9IHhvcih0aGlzLl9naGFzaC5maW5hbCh0aGlzLl9hbGVuICogOCwgdGhpcy5fbGVuICogOCksIHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodGhpcy5fZmluSUQpKVxcbiAgaWYgKHRoaXMuX2RlY3J5cHQgJiYgeG9yVGVzdCh0YWcsIHRoaXMuX2F1dGhUYWcpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHN0YXRlIG9yIHVuYWJsZSB0byBhdXRoZW50aWNhdGUgZGF0YScpXFxuXFxuICB0aGlzLl9hdXRoVGFnID0gdGFnXFxuICB0aGlzLl9jaXBoZXIuc2NydWIoKVxcbn1cXG5cXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLmdldEF1dGhUYWcgPSBmdW5jdGlvbiBnZXRBdXRoVGFnICgpIHtcXG4gIGlmICh0aGlzLl9kZWNyeXB0IHx8ICFCdWZmZXIuaXNCdWZmZXIodGhpcy5fYXV0aFRhZykpIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxcblxcbiAgcmV0dXJuIHRoaXMuX2F1dGhUYWdcXG59XFxuXFxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5zZXRBdXRoVGFnID0gZnVuY3Rpb24gc2V0QXV0aFRhZyAodGFnKSB7XFxuICBpZiAoIXRoaXMuX2RlY3J5cHQpIHRocm93IG5ldyBFcnJvcignQXR0ZW1wdGluZyB0byBzZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxcblxcbiAgdGhpcy5fYXV0aFRhZyA9IHRhZ1xcbn1cXG5cXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLnNldEFBRCA9IGZ1bmN0aW9uIHNldEFBRCAoYnVmKSB7XFxuICBpZiAodGhpcy5fY2FsbGVkKSB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gc2V0IEFBRCBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXFxuXFxuICB0aGlzLl9naGFzaC51cGRhdGUoYnVmKVxcbiAgdGhpcy5fYWxlbiArPSBidWYubGVuZ3RoXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtQ2lwaGVyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWhkWFJvUTJsd2FHVnlMbXB6UHpnMU16UWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRzFFUVVGUE8wRkJRM3BDTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHRCUVVOeVF5eGxRVUZsTEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3UVVGRGFrTXNXVUZCV1N4dFFrRkJUeXhEUVVGRExIVkVRVUZUTzBGQlF6ZENMRlZCUVZVc2JVSkJRVThzUTBGQlF5eHpSRUZCV1R0QlFVTTVRaXhoUVVGaExHMUNRVUZQTEVOQlFVTXNlVVJCUVZVN08wRkJSUzlDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4VFFVRlRPMEZCUXpGQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWhkWFJvUTJsd2FHVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdGbGN5QTlJSEpsY1hWcGNtVW9KeTR2WVdWekp5bGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVkbUZ5SUZSeVlXNXpabTl5YlNBOUlISmxjWFZwY21Vb0oyTnBjR2hsY2kxaVlYTmxKeWxjYm5aaGNpQnBibWhsY21sMGN5QTlJSEpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWxjYm5aaGNpQkhTRUZUU0NBOUlISmxjWFZwY21Vb0p5NHZaMmhoYzJnbktWeHVkbUZ5SUhodmNpQTlJSEpsY1hWcGNtVW9KMkoxWm1abGNpMTRiM0luS1Z4dWRtRnlJR2x1WTNJek1pQTlJSEpsY1hWcGNtVW9KeTR2YVc1amNqTXlKeWxjYmx4dVpuVnVZM1JwYjI0Z2VHOXlWR1Z6ZENBb1lTd2dZaWtnZTF4dUlDQjJZWElnYjNWMElEMGdNRnh1SUNCcFppQW9ZUzVzWlc1bmRHZ2dJVDA5SUdJdWJHVnVaM1JvS1NCdmRYUXJLMXh1WEc0Z0lIWmhjaUJzWlc0Z1BTQk5ZWFJvTG0xcGJpaGhMbXhsYm1kMGFDd2dZaTVzWlc1bmRHZ3BYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVPeUFySzJrcElIdGNiaUFnSUNCdmRYUWdLejBnS0dGYmFWMGdYaUJpVzJsZEtWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHOTFkRnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpZV3hqU1hZZ0tITmxiR1lzSUdsMkxDQmpheWtnZTF4dUlDQnBaaUFvYVhZdWJHVnVaM1JvSUQwOVBTQXhNaWtnZTF4dUlDQWdJSE5sYkdZdVgyWnBia2xFSUQwZ1FuVm1abVZ5TG1OdmJtTmhkQ2hiYVhZc0lFSjFabVpsY2k1bWNtOXRLRnN3TENBd0xDQXdMQ0F4WFNsZEtWeHVJQ0FnSUhKbGRIVnliaUJDZFdabVpYSXVZMjl1WTJGMEtGdHBkaXdnUW5WbVptVnlMbVp5YjIwb1d6QXNJREFzSURBc0lESmRLVjBwWEc0Z0lIMWNiaUFnZG1GeUlHZG9ZWE5vSUQwZ2JtVjNJRWRJUVZOSUtHTnJLVnh1SUNCMllYSWdiR1Z1SUQwZ2FYWXViR1Z1WjNSb1hHNGdJSFpoY2lCMGIxQmhaQ0E5SUd4bGJpQWxJREUyWEc0Z0lHZG9ZWE5vTG5Wd1pHRjBaU2hwZGlsY2JpQWdhV1lnS0hSdlVHRmtLU0I3WEc0Z0lDQWdkRzlRWVdRZ1BTQXhOaUF0SUhSdlVHRmtYRzRnSUNBZ1oyaGhjMmd1ZFhCa1lYUmxLRUoxWm1abGNpNWhiR3h2WXloMGIxQmhaQ3dnTUNrcFhHNGdJSDFjYmlBZ1oyaGhjMmd1ZFhCa1lYUmxLRUoxWm1abGNpNWhiR3h2WXlnNExDQXdLU2xjYmlBZ2RtRnlJR2wyUW1sMGN5QTlJR3hsYmlBcUlEaGNiaUFnZG1GeUlIUmhhV3dnUFNCQ2RXWm1aWEl1WVd4c2IyTW9PQ2xjYmlBZ2RHRnBiQzUzY21sMFpWVkpiblJDUlNocGRrSnBkSE1zSURBc0lEZ3BYRzRnSUdkb1lYTm9MblZ3WkdGMFpTaDBZV2xzS1Z4dUlDQnpaV3htTGw5bWFXNUpSQ0E5SUdkb1lYTm9Mbk4wWVhSbFhHNGdJSFpoY2lCdmRYUWdQU0JDZFdabVpYSXVabkp2YlNoelpXeG1MbDltYVc1SlJDbGNiaUFnYVc1amNqTXlLRzkxZENsY2JpQWdjbVYwZFhKdUlHOTFkRnh1ZlZ4dVpuVnVZM1JwYjI0Z1UzUnlaV0Z0UTJsd2FHVnlJQ2h0YjJSbExDQnJaWGtzSUdsMkxDQmtaV055ZVhCMEtTQjdYRzRnSUZSeVlXNXpabTl5YlM1allXeHNLSFJvYVhNcFhHNWNiaUFnZG1GeUlHZ2dQU0JDZFdabVpYSXVZV3hzYjJNb05Dd2dNQ2xjYmx4dUlDQjBhR2x6TGw5amFYQm9aWElnUFNCdVpYY2dZV1Z6TGtGRlV5aHJaWGtwWEc0Z0lIWmhjaUJqYXlBOUlIUm9hWE11WDJOcGNHaGxjaTVsYm1OeWVYQjBRbXh2WTJzb2FDbGNiaUFnZEdocGN5NWZaMmhoYzJnZ1BTQnVaWGNnUjBoQlUwZ29ZMnNwWEc0Z0lHbDJJRDBnWTJGc1kwbDJLSFJvYVhNc0lHbDJMQ0JqYXlsY2JseHVJQ0IwYUdsekxsOXdjbVYySUQwZ1FuVm1abVZ5TG1aeWIyMG9hWFlwWEc0Z0lIUm9hWE11WDJOaFkyaGxJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0RBcFhHNGdJSFJvYVhNdVgzTmxZME5oWTJobElEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLREFwWEc0Z0lIUm9hWE11WDJSbFkzSjVjSFFnUFNCa1pXTnllWEIwWEc0Z0lIUm9hWE11WDJGc1pXNGdQU0F3WEc0Z0lIUm9hWE11WDJ4bGJpQTlJREJjYmlBZ2RHaHBjeTVmYlc5a1pTQTlJRzF2WkdWY2JseHVJQ0IwYUdsekxsOWhkWFJvVkdGbklEMGdiblZzYkZ4dUlDQjBhR2x6TGw5allXeHNaV1FnUFNCbVlXeHpaVnh1ZlZ4dVhHNXBibWhsY21sMGN5aFRkSEpsWVcxRGFYQm9aWElzSUZSeVlXNXpabTl5YlNsY2JseHVVM1J5WldGdFEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1ZmRYQmtZWFJsSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyS1NCN1hHNGdJR2xtSUNnaGRHaHBjeTVmWTJGc2JHVmtJQ1ltSUhSb2FYTXVYMkZzWlc0cElIdGNiaUFnSUNCMllYSWdjblZ0Y0NBOUlERTJJQzBnS0hSb2FYTXVYMkZzWlc0Z0pTQXhOaWxjYmlBZ0lDQnBaaUFvY25WdGNDQThJREUyS1NCN1hHNGdJQ0FnSUNCeWRXMXdJRDBnUW5WbVptVnlMbUZzYkc5aktISjFiWEFzSURBcFhHNGdJQ0FnSUNCMGFHbHpMbDluYUdGemFDNTFjR1JoZEdVb2NuVnRjQ2xjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IwYUdsekxsOWpZV3hzWldRZ1BTQjBjblZsWEc0Z0lIWmhjaUJ2ZFhRZ1BTQjBhR2x6TGw5dGIyUmxMbVZ1WTNKNWNIUW9kR2hwY3l3Z1kyaDFibXNwWEc0Z0lHbG1JQ2gwYUdsekxsOWtaV055ZVhCMEtTQjdYRzRnSUNBZ2RHaHBjeTVmWjJoaGMyZ3VkWEJrWVhSbEtHTm9kVzVyS1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSb2FYTXVYMmRvWVhOb0xuVndaR0YwWlNodmRYUXBYRzRnSUgxY2JpQWdkR2hwY3k1ZmJHVnVJQ3M5SUdOb2RXNXJMbXhsYm1kMGFGeHVJQ0J5WlhSMWNtNGdiM1YwWEc1OVhHNWNibE4wY21WaGJVTnBjR2hsY2k1d2NtOTBiM1I1Y0dVdVgyWnBibUZzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCcFppQW9kR2hwY3k1ZlpHVmpjbmx3ZENBbUppQWhkR2hwY3k1ZllYVjBhRlJoWnlrZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkVmJuTjFjSEJ2Y25SbFpDQnpkR0YwWlNCdmNpQjFibUZpYkdVZ2RHOGdZWFYwYUdWdWRHbGpZWFJsSUdSaGRHRW5LVnh1WEc0Z0lIWmhjaUIwWVdjZ1BTQjRiM0lvZEdocGN5NWZaMmhoYzJndVptbHVZV3dvZEdocGN5NWZZV3hsYmlBcUlEZ3NJSFJvYVhNdVgyeGxiaUFxSURncExDQjBhR2x6TGw5amFYQm9aWEl1Wlc1amNubHdkRUpzYjJOcktIUm9hWE11WDJacGJrbEVLU2xjYmlBZ2FXWWdLSFJvYVhNdVgyUmxZM0o1Y0hRZ0ppWWdlRzl5VkdWemRDaDBZV2NzSUhSb2FYTXVYMkYxZEdoVVlXY3BLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1YzNWd2NHOXlkR1ZrSUhOMFlYUmxJRzl5SUhWdVlXSnNaU0IwYnlCaGRYUm9aVzUwYVdOaGRHVWdaR0YwWVNjcFhHNWNiaUFnZEdocGN5NWZZWFYwYUZSaFp5QTlJSFJoWjF4dUlDQjBhR2x6TGw5amFYQm9aWEl1YzJOeWRXSW9LVnh1ZlZ4dVhHNVRkSEpsWVcxRGFYQm9aWEl1Y0hKdmRHOTBlWEJsTG1kbGRFRjFkR2hVWVdjZ1BTQm1kVzVqZEdsdmJpQm5aWFJCZFhSb1ZHRm5JQ2dwSUh0Y2JpQWdhV1lnS0hSb2FYTXVYMlJsWTNKNWNIUWdmSHdnSVVKMVptWmxjaTVwYzBKMVptWmxjaWgwYUdsekxsOWhkWFJvVkdGbktTa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZEJkSFJsYlhCMGFXNW5JSFJ2SUdkbGRDQmhkWFJvSUhSaFp5QnBiaUIxYm5OMWNIQnZjblJsWkNCemRHRjBaU2NwWEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJGMWRHaFVZV2RjYm4xY2JseHVVM1J5WldGdFEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1elpYUkJkWFJvVkdGbklEMGdablZ1WTNScGIyNGdjMlYwUVhWMGFGUmhaeUFvZEdGbktTQjdYRzRnSUdsbUlDZ2hkR2hwY3k1ZlpHVmpjbmx3ZENrZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkQmRIUmxiWEIwYVc1bklIUnZJSE5sZENCaGRYUm9JSFJoWnlCcGJpQjFibk4xY0hCdmNuUmxaQ0J6ZEdGMFpTY3BYRzVjYmlBZ2RHaHBjeTVmWVhWMGFGUmhaeUE5SUhSaFoxeHVmVnh1WEc1VGRISmxZVzFEYVhCb1pYSXVjSEp2ZEc5MGVYQmxMbk5sZEVGQlJDQTlJR1oxYm1OMGFXOXVJSE5sZEVGQlJDQW9ZblZtS1NCN1hHNGdJR2xtSUNoMGFHbHpMbDlqWVd4c1pXUXBJSFJvY205M0lHNWxkeUJGY25KdmNpZ25RWFIwWlcxd2RHbHVaeUIwYnlCelpYUWdRVUZFSUdsdUlIVnVjM1Z3Y0c5eWRHVmtJSE4wWVhSbEp5bGNibHh1SUNCMGFHbHpMbDluYUdGemFDNTFjR1JoZEdVb1luVm1LVnh1SUNCMGFHbHpMbDloYkdWdUlDczlJR0oxWmk1c1pXNW5kR2hjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRkSEpsWVcxRGFYQm9aWEpjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgY2lwaGVycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZW5jcnlwdGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9lbmNyeXB0ZXIuanNcXFwiKVxcbnZhciBkZWNpcGhlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlY3J5cHRlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZGVjcnlwdGVyLmpzXFxcIilcXG52YXIgbW9kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21vZGVzL2xpc3QuanNvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvbGlzdC5qc29uXFxcIilcXG5cXG5mdW5jdGlvbiBnZXRDaXBoZXJzICgpIHtcXG4gIHJldHVybiBPYmplY3Qua2V5cyhtb2RlcylcXG59XFxuXFxuZXhwb3J0cy5jcmVhdGVDaXBoZXIgPSBleHBvcnRzLkNpcGhlciA9IGNpcGhlcnMuY3JlYXRlQ2lwaGVyXFxuZXhwb3J0cy5jcmVhdGVDaXBoZXJpdiA9IGV4cG9ydHMuQ2lwaGVyaXYgPSBjaXBoZXJzLmNyZWF0ZUNpcGhlcml2XFxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlciA9IGV4cG9ydHMuRGVjaXBoZXIgPSBkZWNpcGhlcnMuY3JlYXRlRGVjaXBoZXJcXG5leHBvcnRzLmNyZWF0ZURlY2lwaGVyaXYgPSBleHBvcnRzLkRlY2lwaGVyaXYgPSBkZWNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdlxcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBleHBvcnRzLmdldENpcGhlcnMgPSBnZXRDaXBoZXJzXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWljbTkzYzJWeUxtcHpQelZpWVRZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZMEZCWXl4dFFrRkJUeXhEUVVGRExDdEVRVUZoTzBGQlEyNURMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMQ3RFUVVGaE8wRkJRM0pETEZsQlFWa3NiVUpCUVU4c1EwRkJReXgzUlVGQmJVSTdPMEZCUlhaRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMkp5YjNkelpYSXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnWTJsd2FHVnljeUE5SUhKbGNYVnBjbVVvSnk0dlpXNWpjbmx3ZEdWeUp5bGNiblpoY2lCa1pXTnBjR2hsY25NZ1BTQnlaWEYxYVhKbEtDY3VMMlJsWTNKNWNIUmxjaWNwWEc1MllYSWdiVzlrWlhNZ1BTQnlaWEYxYVhKbEtDY3VMMjF2WkdWekwyeHBjM1F1YW5OdmJpY3BYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTnBjR2hsY25NZ0tDa2dlMXh1SUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb2JXOWtaWE1wWEc1OVhHNWNibVY0Y0c5eWRITXVZM0psWVhSbFEybHdhR1Z5SUQwZ1pYaHdiM0owY3k1RGFYQm9aWElnUFNCamFYQm9aWEp6TG1OeVpXRjBaVU5wY0dobGNseHVaWGh3YjNKMGN5NWpjbVZoZEdWRGFYQm9aWEpwZGlBOUlHVjRjRzl5ZEhNdVEybHdhR1Z5YVhZZ1BTQmphWEJvWlhKekxtTnlaV0YwWlVOcGNHaGxjbWwyWEc1bGVIQnZjblJ6TG1OeVpXRjBaVVJsWTJsd2FHVnlJRDBnWlhod2IzSjBjeTVFWldOcGNHaGxjaUE5SUdSbFkybHdhR1Z5Y3k1amNtVmhkR1ZFWldOcGNHaGxjbHh1Wlhod2IzSjBjeTVqY21WaGRHVkVaV05wY0dobGNtbDJJRDBnWlhod2IzSjBjeTVFWldOcGNHaGxjbWwySUQwZ1pHVmphWEJvWlhKekxtTnlaV0YwWlVSbFkybHdhR1Z5YVhaY2JtVjRjRzl5ZEhNdWJHbHpkRU5wY0dobGNuTWdQU0JsZUhCdmNuUnpMbWRsZEVOcGNHaGxjbk1nUFNCblpYUkRhWEJvWlhKelhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZGVjcnlwdGVyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9kZWNyeXB0ZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQXV0aENpcGhlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXV0aENpcGhlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYXV0aENpcGhlci5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBNT0RFUyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbW9kZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzXFxcIilcXG52YXIgU3RyZWFtQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zdHJlYW1DaXBoZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL3N0cmVhbUNpcGhlci5qc1xcXCIpXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxudmFyIGFlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hZXMuanNcXFwiKVxcbnZhciBlYnRrID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZwX2J5dGVzdG9rZXkgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2V2cF9ieXRlc3Rva2V5L2luZGV4LmpzXFxcIilcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gRGVjaXBoZXIgKG1vZGUsIGtleSwgaXYpIHtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXFxuXFxuICB0aGlzLl9jYWNoZSA9IG5ldyBTcGxpdHRlcigpXFxuICB0aGlzLl9sYXN0ID0gdm9pZCAwXFxuICB0aGlzLl9jaXBoZXIgPSBuZXcgYWVzLkFFUyhrZXkpXFxuICB0aGlzLl9wcmV2ID0gQnVmZmVyLmZyb20oaXYpXFxuICB0aGlzLl9tb2RlID0gbW9kZVxcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSB0cnVlXFxufVxcblxcbmluaGVyaXRzKERlY2lwaGVyLCBUcmFuc2Zvcm0pXFxuXFxuRGVjaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSkge1xcbiAgdGhpcy5fY2FjaGUuYWRkKGRhdGEpXFxuICB2YXIgY2h1bmtcXG4gIHZhciB0aGluZ1xcbiAgdmFyIG91dCA9IFtdXFxuICB3aGlsZSAoKGNodW5rID0gdGhpcy5fY2FjaGUuZ2V0KHRoaXMuX2F1dG9wYWRkaW5nKSkpIHtcXG4gICAgdGhpbmcgPSB0aGlzLl9tb2RlLmRlY3J5cHQodGhpcywgY2h1bmspXFxuICAgIG91dC5wdXNoKHRoaW5nKVxcbiAgfVxcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQob3V0KVxcbn1cXG5cXG5EZWNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIGNodW5rID0gdGhpcy5fY2FjaGUuZmx1c2goKVxcbiAgaWYgKHRoaXMuX2F1dG9wYWRkaW5nKSB7XFxuICAgIHJldHVybiB1bnBhZCh0aGlzLl9tb2RlLmRlY3J5cHQodGhpcywgY2h1bmspKVxcbiAgfSBlbHNlIGlmIChjaHVuaykge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGEgbm90IG11bHRpcGxlIG9mIGJsb2NrIGxlbmd0aCcpXFxuICB9XFxufVxcblxcbkRlY2lwaGVyLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZyA9IGZ1bmN0aW9uIChzZXRUbykge1xcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBTcGxpdHRlciAoKSB7XFxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxufVxcblxcblNwbGl0dGVyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoZGF0YSkge1xcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxcbn1cXG5cXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGF1dG9QYWRkaW5nKSB7XFxuICB2YXIgb3V0XFxuICBpZiAoYXV0b1BhZGRpbmcpIHtcXG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID4gMTYpIHtcXG4gICAgICBvdXQgPSB0aGlzLmNhY2hlLnNsaWNlKDAsIDE2KVxcbiAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnNsaWNlKDE2KVxcbiAgICAgIHJldHVybiBvdXRcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID49IDE2KSB7XFxuICAgICAgb3V0ID0gdGhpcy5jYWNoZS5zbGljZSgwLCAxNilcXG4gICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5zbGljZSgxNilcXG4gICAgICByZXR1cm4gb3V0XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBudWxsXFxufVxcblxcblNwbGl0dGVyLnByb3RvdHlwZS5mbHVzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIGlmICh0aGlzLmNhY2hlLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2FjaGVcXG59XFxuXFxuZnVuY3Rpb24gdW5wYWQgKGxhc3QpIHtcXG4gIHZhciBwYWRkZWQgPSBsYXN0WzE1XVxcbiAgaWYgKHBhZGRlZCA8IDEgfHwgcGFkZGVkID4gMTYpIHtcXG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZGVjcnlwdCBkYXRhJylcXG4gIH1cXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBwYWRkZWQpIHtcXG4gICAgaWYgKGxhc3RbKGkgKyAoMTYgLSBwYWRkZWQpKV0gIT09IHBhZGRlZCkge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcigndW5hYmxlIHRvIGRlY3J5cHQgZGF0YScpXFxuICAgIH1cXG4gIH1cXG4gIGlmIChwYWRkZWQgPT09IDE2KSByZXR1cm5cXG5cXG4gIHJldHVybiBsYXN0LnNsaWNlKDAsIDE2IC0gcGFkZGVkKVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcml2IChzdWl0ZSwgcGFzc3dvcmQsIGl2KSB7XFxuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cXG4gIGlmICghY29uZmlnKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxcblxcbiAgaWYgKHR5cGVvZiBpdiA9PT0gJ3N0cmluZycpIGl2ID0gQnVmZmVyLmZyb20oaXYpXFxuICBpZiAoY29uZmlnLm1vZGUgIT09ICdHQ00nICYmIGl2Lmxlbmd0aCAhPT0gY29uZmlnLml2KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIGl2IGxlbmd0aCAnICsgaXYubGVuZ3RoKVxcblxcbiAgaWYgKHR5cGVvZiBwYXNzd29yZCA9PT0gJ3N0cmluZycpIHBhc3N3b3JkID0gQnVmZmVyLmZyb20ocGFzc3dvcmQpXFxuICBpZiAocGFzc3dvcmQubGVuZ3RoICE9PSBjb25maWcua2V5IC8gOCkgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBrZXkgbGVuZ3RoICcgKyBwYXNzd29yZC5sZW5ndGgpXFxuXFxuICBpZiAoY29uZmlnLnR5cGUgPT09ICdzdHJlYW0nKSB7XFxuICAgIHJldHVybiBuZXcgU3RyZWFtQ2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdiwgdHJ1ZSlcXG4gIH0gZWxzZSBpZiAoY29uZmlnLnR5cGUgPT09ICdhdXRoJykge1xcbiAgICByZXR1cm4gbmV3IEF1dGhDaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2LCB0cnVlKVxcbiAgfVxcblxcbiAgcmV0dXJuIG5ldyBEZWNpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYpXFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcXG4gIHZhciBjb25maWcgPSBNT0RFU1tzdWl0ZS50b0xvd2VyQ2FzZSgpXVxcbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxuXFxuICB2YXIga2V5cyA9IGVidGsocGFzc3dvcmQsIGZhbHNlLCBjb25maWcua2V5LCBjb25maWcuaXYpXFxuICByZXR1cm4gY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXFxufVxcblxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBjcmVhdGVEZWNpcGhlclxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGNyZWF0ZURlY2lwaGVyaXZcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5a1pXTnllWEIwWlhJdWFuTS9ZVEUwTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5eHBSVUZCWXp0QlFVTjJReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNkMFJCUVdFN1FVRkRiRU1zV1VGQldTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVE8wRkJRemRDTEcxQ1FVRnRRaXh0UWtGQlR5eERRVUZETEhGRlFVRm5RanRCUVVNelF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnlReXhWUVVGVkxHMUNRVUZQTEVOQlFVTXNiVVJCUVU4N1FVRkRla0lzVjBGQlZ5eHRRa0ZCVHl4RFFVRkRMRGhFUVVGblFqdEJRVU51UXl4bFFVRmxMRzFDUVVGUExFTkJRVU1zTmtSQlFWVTdPMEZCUldwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTlrWldOeWVYQjBaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1FYVjBhRU5wY0dobGNpQTlJSEpsY1hWcGNtVW9KeTR2WVhWMGFFTnBjR2hsY2ljcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JuWmhjaUJOVDBSRlV5QTlJSEpsY1hWcGNtVW9KeTR2Ylc5a1pYTW5LVnh1ZG1GeUlGTjBjbVZoYlVOcGNHaGxjaUE5SUhKbGNYVnBjbVVvSnk0dmMzUnlaV0Z0UTJsd2FHVnlKeWxjYm5aaGNpQlVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2RqYVhCb1pYSXRZbUZ6WlNjcFhHNTJZWElnWVdWeklEMGdjbVZ4ZFdseVpTZ25MaTloWlhNbktWeHVkbUZ5SUdWaWRHc2dQU0J5WlhGMWFYSmxLQ2RsZG5CZllubDBaWE4wYjJ0bGVTY3BYRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BYRzVjYm1aMWJtTjBhVzl1SUVSbFkybHdhR1Z5SUNodGIyUmxMQ0JyWlhrc0lHbDJLU0I3WEc0Z0lGUnlZVzV6Wm05eWJTNWpZV3hzS0hSb2FYTXBYRzVjYmlBZ2RHaHBjeTVmWTJGamFHVWdQU0J1WlhjZ1UzQnNhWFIwWlhJb0tWeHVJQ0IwYUdsekxsOXNZWE4wSUQwZ2RtOXBaQ0F3WEc0Z0lIUm9hWE11WDJOcGNHaGxjaUE5SUc1bGR5QmhaWE11UVVWVEtHdGxlU2xjYmlBZ2RHaHBjeTVmY0hKbGRpQTlJRUoxWm1abGNpNW1jbTl0S0dsMktWeHVJQ0IwYUdsekxsOXRiMlJsSUQwZ2JXOWtaVnh1SUNCMGFHbHpMbDloZFhSdmNHRmtaR2x1WnlBOUlIUnlkV1ZjYm4xY2JseHVhVzVvWlhKcGRITW9SR1ZqYVhCb1pYSXNJRlJ5WVc1elptOXliU2xjYmx4dVJHVmphWEJvWlhJdWNISnZkRzkwZVhCbExsOTFjR1JoZEdVZ1BTQm1kVzVqZEdsdmJpQW9aR0YwWVNrZ2UxeHVJQ0IwYUdsekxsOWpZV05vWlM1aFpHUW9aR0YwWVNsY2JpQWdkbUZ5SUdOb2RXNXJYRzRnSUhaaGNpQjBhR2x1WjF4dUlDQjJZWElnYjNWMElEMGdXMTFjYmlBZ2QyaHBiR1VnS0NoamFIVnVheUE5SUhSb2FYTXVYMk5oWTJobExtZGxkQ2gwYUdsekxsOWhkWFJ2Y0dGa1pHbHVaeWtwS1NCN1hHNGdJQ0FnZEdocGJtY2dQU0IwYUdsekxsOXRiMlJsTG1SbFkzSjVjSFFvZEdocGN5d2dZMmgxYm1zcFhHNGdJQ0FnYjNWMExuQjFjMmdvZEdocGJtY3BYRzRnSUgxY2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1amIyNWpZWFFvYjNWMEtWeHVmVnh1WEc1RVpXTnBjR2hsY2k1d2NtOTBiM1I1Y0dVdVgyWnBibUZzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdZMmgxYm1zZ1BTQjBhR2x6TGw5allXTm9aUzVtYkhWemFDZ3BYRzRnSUdsbUlDaDBhR2x6TGw5aGRYUnZjR0ZrWkdsdVp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMWJuQmhaQ2gwYUdsekxsOXRiMlJsTG1SbFkzSjVjSFFvZEdocGN5d2dZMmgxYm1zcEtWeHVJQ0I5SUdWc2MyVWdhV1lnS0dOb2RXNXJLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGtZWFJoSUc1dmRDQnRkV3gwYVhCc1pTQnZaaUJpYkc5amF5QnNaVzVuZEdnbktWeHVJQ0I5WEc1OVhHNWNia1JsWTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzV6WlhSQmRYUnZVR0ZrWkdsdVp5QTlJR1oxYm1OMGFXOXVJQ2h6WlhSVWJ5a2dlMXh1SUNCMGFHbHpMbDloZFhSdmNHRmtaR2x1WnlBOUlDRWhjMlYwVkc5Y2JpQWdjbVYwZFhKdUlIUm9hWE5jYm4xY2JseHVablZ1WTNScGIyNGdVM0JzYVhSMFpYSWdLQ2tnZTF4dUlDQjBhR2x6TG1OaFkyaGxJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0RBcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvWkdGMFlTa2dlMXh1SUNCMGFHbHpMbU5oWTJobElEMGdRblZtWm1WeUxtTnZibU5oZENoYmRHaHBjeTVqWVdOb1pTd2daR0YwWVYwcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1blpYUWdQU0JtZFc1amRHbHZiaUFvWVhWMGIxQmhaR1JwYm1jcElIdGNiaUFnZG1GeUlHOTFkRnh1SUNCcFppQW9ZWFYwYjFCaFpHUnBibWNwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVqWVdOb1pTNXNaVzVuZEdnZ1BpQXhOaWtnZTF4dUlDQWdJQ0FnYjNWMElEMGdkR2hwY3k1allXTm9aUzV6YkdsalpTZ3dMQ0F4TmlsY2JpQWdJQ0FnSUhSb2FYTXVZMkZqYUdVZ1BTQjBhR2x6TG1OaFkyaGxMbk5zYVdObEtERTJLVnh1SUNBZ0lDQWdjbVYwZFhKdUlHOTFkRnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NWpZV05vWlM1c1pXNW5kR2dnUGowZ01UWXBJSHRjYmlBZ0lDQWdJRzkxZENBOUlIUm9hWE11WTJGamFHVXVjMnhwWTJVb01Dd2dNVFlwWEc0Z0lDQWdJQ0IwYUdsekxtTmhZMmhsSUQwZ2RHaHBjeTVqWVdOb1pTNXpiR2xqWlNneE5pbGNiaUFnSUNBZ0lISmxkSFZ5YmlCdmRYUmNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JuVnNiRnh1ZlZ4dVhHNVRjR3hwZEhSbGNpNXdjbTkwYjNSNWNHVXVabXgxYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lHbG1JQ2gwYUdsekxtTmhZMmhsTG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyRmphR1ZjYm4xY2JseHVablZ1WTNScGIyNGdkVzV3WVdRZ0tHeGhjM1FwSUh0Y2JpQWdkbUZ5SUhCaFpHUmxaQ0E5SUd4aGMzUmJNVFZkWEc0Z0lHbG1JQ2h3WVdSa1pXUWdQQ0F4SUh4OElIQmhaR1JsWkNBK0lERTJLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZDFibUZpYkdVZ2RHOGdaR1ZqY25sd2RDQmtZWFJoSnlsY2JpQWdmVnh1SUNCMllYSWdhU0E5SUMweFhHNGdJSGRvYVd4bElDZ3JLMmtnUENCd1lXUmtaV1FwSUh0Y2JpQWdJQ0JwWmlBb2JHRnpkRnNvYVNBcklDZ3hOaUF0SUhCaFpHUmxaQ2twWFNBaFBUMGdjR0ZrWkdWa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozVnVZV0pzWlNCMGJ5QmtaV055ZVhCMElHUmhkR0VuS1Z4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JwWmlBb2NHRmtaR1ZrSUQwOVBTQXhOaWtnY21WMGRYSnVYRzVjYmlBZ2NtVjBkWEp1SUd4aGMzUXVjMnhwWTJVb01Dd2dNVFlnTFNCd1lXUmtaV1FwWEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVUmxZMmx3YUdWeWFYWWdLSE4xYVhSbExDQndZWE56ZDI5eVpDd2dhWFlwSUh0Y2JpQWdkbUZ5SUdOdmJtWnBaeUE5SUUxUFJFVlRXM04xYVhSbExuUnZURzkzWlhKRFlYTmxLQ2xkWEc0Z0lHbG1JQ2doWTI5dVptbG5LU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkcGJuWmhiR2xrSUhOMWFYUmxJSFI1Y0dVbktWeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ2FYWWdQVDA5SUNkemRISnBibWNuS1NCcGRpQTlJRUoxWm1abGNpNW1jbTl0S0dsMktWeHVJQ0JwWmlBb1kyOXVabWxuTG0xdlpHVWdJVDA5SUNkSFEwMG5JQ1ltSUdsMkxteGxibWQwYUNBaFBUMGdZMjl1Wm1sbkxtbDJLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkcGJuWmhiR2xrSUdsMklHeGxibWQwYUNBbklDc2dhWFl1YkdWdVozUm9LVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdjR0Z6YzNkdmNtUWdQVDA5SUNkemRISnBibWNuS1NCd1lYTnpkMjl5WkNBOUlFSjFabVpsY2k1bWNtOXRLSEJoYzNOM2IzSmtLVnh1SUNCcFppQW9jR0Z6YzNkdmNtUXViR1Z1WjNSb0lDRTlQU0JqYjI1bWFXY3VhMlY1SUM4Z09Da2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWduYVc1MllXeHBaQ0JyWlhrZ2JHVnVaM1JvSUNjZ0t5QndZWE56ZDI5eVpDNXNaVzVuZEdncFhHNWNiaUFnYVdZZ0tHTnZibVpwWnk1MGVYQmxJRDA5UFNBbmMzUnlaV0Z0SnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1UzUnlaV0Z0UTJsd2FHVnlLR052Ym1acFp5NXRiMlIxYkdVc0lIQmhjM04zYjNKa0xDQnBkaXdnZEhKMVpTbGNiaUFnZlNCbGJITmxJR2xtSUNoamIyNW1hV2N1ZEhsd1pTQTlQVDBnSjJGMWRHZ25LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJCZFhSb1EybHdhR1Z5S0dOdmJtWnBaeTV0YjJSMWJHVXNJSEJoYzNOM2IzSmtMQ0JwZGl3Z2RISjFaU2xjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1WlhjZ1JHVmphWEJvWlhJb1kyOXVabWxuTG0xdlpIVnNaU3dnY0dGemMzZHZjbVFzSUdsMktWeHVmVnh1WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZFWldOcGNHaGxjaUFvYzNWcGRHVXNJSEJoYzNOM2IzSmtLU0I3WEc0Z0lIWmhjaUJqYjI1bWFXY2dQU0JOVDBSRlUxdHpkV2wwWlM1MGIweHZkMlZ5UTJGelpTZ3BYVnh1SUNCcFppQW9JV052Ym1acFp5a2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWduYVc1MllXeHBaQ0J6ZFdsMFpTQjBlWEJsSnlsY2JseHVJQ0IyWVhJZ2EyVjVjeUE5SUdWaWRHc29jR0Z6YzNkdmNtUXNJR1poYkhObExDQmpiMjVtYVdjdWEyVjVMQ0JqYjI1bWFXY3VhWFlwWEc0Z0lISmxkSFZ5YmlCamNtVmhkR1ZFWldOcGNHaGxjbWwyS0hOMWFYUmxMQ0JyWlhsekxtdGxlU3dnYTJWNWN5NXBkaWxjYm4xY2JseHVaWGh3YjNKMGN5NWpjbVZoZEdWRVpXTnBjR2hsY2lBOUlHTnlaV0YwWlVSbFkybHdhR1Z5WEc1bGVIQnZjblJ6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlnUFNCamNtVmhkR1ZFWldOcGNHaGxjbWwyWEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9kZWNyeXB0ZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2VuY3J5cHRlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZW5jcnlwdGVyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIE1PREVTID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9tb2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvaW5kZXguanNcXFwiKVxcbnZhciBBdXRoQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hdXRoQ2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9hdXRoQ2lwaGVyLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFN0cmVhbUNpcGhlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc3RyZWFtQ2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanNcXFwiKVxcbnZhciBUcmFuc2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjaXBoZXItYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXFwiKVxcbnZhciBhZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYWVzLmpzXFxcIilcXG52YXIgZWJ0ayA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2cF9ieXRlc3Rva2V5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qc1xcXCIpXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcblxcbmZ1bmN0aW9uIENpcGhlciAobW9kZSwga2V5LCBpdikge1xcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcXG5cXG4gIHRoaXMuX2NhY2hlID0gbmV3IFNwbGl0dGVyKClcXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcXG4gIHRoaXMuX3ByZXYgPSBCdWZmZXIuZnJvbShpdilcXG4gIHRoaXMuX21vZGUgPSBtb2RlXFxuICB0aGlzLl9hdXRvcGFkZGluZyA9IHRydWVcXG59XFxuXFxuaW5oZXJpdHMoQ2lwaGVyLCBUcmFuc2Zvcm0pXFxuXFxuQ2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2NhY2hlLmFkZChkYXRhKVxcbiAgdmFyIGNodW5rXFxuICB2YXIgdGhpbmdcXG4gIHZhciBvdXQgPSBbXVxcblxcbiAgd2hpbGUgKChjaHVuayA9IHRoaXMuX2NhY2hlLmdldCgpKSkge1xcbiAgICB0aGluZyA9IHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaylcXG4gICAgb3V0LnB1c2godGhpbmcpXFxuICB9XFxuXFxuICByZXR1cm4gQnVmZmVyLmNvbmNhdChvdXQpXFxufVxcblxcbnZhciBQQURESU5HID0gQnVmZmVyLmFsbG9jKDE2LCAweDEwKVxcblxcbkNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIGNodW5rID0gdGhpcy5fY2FjaGUuZmx1c2goKVxcbiAgaWYgKHRoaXMuX2F1dG9wYWRkaW5nKSB7XFxuICAgIGNodW5rID0gdGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsIGNodW5rKVxcbiAgICB0aGlzLl9jaXBoZXIuc2NydWIoKVxcbiAgICByZXR1cm4gY2h1bmtcXG4gIH1cXG5cXG4gIGlmICghY2h1bmsuZXF1YWxzKFBBRERJTkcpKSB7XFxuICAgIHRoaXMuX2NpcGhlci5zY3J1YigpXFxuICAgIHRocm93IG5ldyBFcnJvcignZGF0YSBub3QgbXVsdGlwbGUgb2YgYmxvY2sgbGVuZ3RoJylcXG4gIH1cXG59XFxuXFxuQ2lwaGVyLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZyA9IGZ1bmN0aW9uIChzZXRUbykge1xcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBTcGxpdHRlciAoKSB7XFxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxufVxcblxcblNwbGl0dGVyLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiAoZGF0YSkge1xcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxcbn1cXG5cXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkge1xcbiAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID4gMTUpIHtcXG4gICAgdmFyIG91dCA9IHRoaXMuY2FjaGUuc2xpY2UoMCwgMTYpXFxuICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnNsaWNlKDE2KVxcbiAgICByZXR1cm4gb3V0XFxuICB9XFxuICByZXR1cm4gbnVsbFxcbn1cXG5cXG5TcGxpdHRlci5wcm90b3R5cGUuZmx1c2ggPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgbGVuID0gMTYgLSB0aGlzLmNhY2hlLmxlbmd0aFxcbiAgdmFyIHBhZEJ1ZmYgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuKVxcblxcbiAgdmFyIGkgPSAtMVxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBwYWRCdWZmLndyaXRlVUludDgobGVuLCBpKVxcbiAgfVxcblxcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIHBhZEJ1ZmZdKVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIHBhc3N3b3JkLCBpdikge1xcbiAgdmFyIGNvbmZpZyA9IE1PREVTW3N1aXRlLnRvTG93ZXJDYXNlKCldXFxuICBpZiAoIWNvbmZpZykgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcXG5cXG4gIGlmICh0eXBlb2YgcGFzc3dvcmQgPT09ICdzdHJpbmcnKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkKVxcbiAgaWYgKHBhc3N3b3JkLmxlbmd0aCAhPT0gY29uZmlnLmtleSAvIDgpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQga2V5IGxlbmd0aCAnICsgcGFzc3dvcmQubGVuZ3RoKVxcblxcbiAgaWYgKHR5cGVvZiBpdiA9PT0gJ3N0cmluZycpIGl2ID0gQnVmZmVyLmZyb20oaXYpXFxuICBpZiAoY29uZmlnLm1vZGUgIT09ICdHQ00nICYmIGl2Lmxlbmd0aCAhPT0gY29uZmlnLml2KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIGl2IGxlbmd0aCAnICsgaXYubGVuZ3RoKVxcblxcbiAgaWYgKGNvbmZpZy50eXBlID09PSAnc3RyZWFtJykge1xcbiAgICByZXR1cm4gbmV3IFN0cmVhbUNpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYpXFxuICB9IGVsc2UgaWYgKGNvbmZpZy50eXBlID09PSAnYXV0aCcpIHtcXG4gICAgcmV0dXJuIG5ldyBBdXRoQ2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdilcXG4gIH1cXG5cXG4gIHJldHVybiBuZXcgQ2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdilcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcXG4gIHZhciBjb25maWcgPSBNT0RFU1tzdWl0ZS50b0xvd2VyQ2FzZSgpXVxcbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxuXFxuICB2YXIga2V5cyA9IGVidGsocGFzc3dvcmQsIGZhbHNlLCBjb25maWcua2V5LCBjb25maWcuaXYpXFxuICByZXR1cm4gY3JlYXRlQ2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxcbn1cXG5cXG5leHBvcnRzLmNyZWF0ZUNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcXG5leHBvcnRzLmNyZWF0ZUNpcGhlciA9IGNyZWF0ZUNpcGhlclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTlsYm1OeWVYQjBaWEl1YW5NL09EUTJPU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4WlFVRlpMRzFDUVVGUExFTkJRVU1zTmtSQlFWTTdRVUZETjBJc2FVSkJRV2xDTEcxQ1FVRlBMRU5CUVVNc2FVVkJRV003UVVGRGRrTXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoTzBGQlEyeERMRzFDUVVGdFFpeHRRa0ZCVHl4RFFVRkRMSEZGUVVGblFqdEJRVU16UXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHRCUVVOeVF5eFZRVUZWTEcxQ1FVRlBMRU5CUVVNc2JVUkJRVTg3UVVGRGVrSXNWMEZCVnl4dFFrRkJUeXhEUVVGRExEaEVRVUZuUWp0QlFVTnVReXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3BETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OWxibU55ZVhCMFpYSXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnVFU5RVJWTWdQU0J5WlhGMWFYSmxLQ2N1TDIxdlpHVnpKeWxjYm5aaGNpQkJkWFJvUTJsd2FHVnlJRDBnY21WeGRXbHlaU2duTGk5aGRYUm9RMmx3YUdWeUp5bGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVkbUZ5SUZOMGNtVmhiVU5wY0dobGNpQTlJSEpsY1hWcGNtVW9KeTR2YzNSeVpXRnRRMmx3YUdWeUp5bGNiblpoY2lCVWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1MllYSWdZV1Z6SUQwZ2NtVnhkV2x5WlNnbkxpOWhaWE1uS1Z4dWRtRnlJR1ZpZEdzZ1BTQnlaWEYxYVhKbEtDZGxkbkJmWW5sMFpYTjBiMnRsZVNjcFhHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNWNibVoxYm1OMGFXOXVJRU5wY0dobGNpQW9iVzlrWlN3Z2EyVjVMQ0JwZGlrZ2UxeHVJQ0JVY21GdWMyWnZjbTB1WTJGc2JDaDBhR2x6S1Z4dVhHNGdJSFJvYVhNdVgyTmhZMmhsSUQwZ2JtVjNJRk53YkdsMGRHVnlLQ2xjYmlBZ2RHaHBjeTVmWTJsd2FHVnlJRDBnYm1WM0lHRmxjeTVCUlZNb2EyVjVLVnh1SUNCMGFHbHpMbDl3Y21WMklEMGdRblZtWm1WeUxtWnliMjBvYVhZcFhHNGdJSFJvYVhNdVgyMXZaR1VnUFNCdGIyUmxYRzRnSUhSb2FYTXVYMkYxZEc5d1lXUmthVzVuSUQwZ2RISjFaVnh1ZlZ4dVhHNXBibWhsY21sMGN5aERhWEJvWlhJc0lGUnlZVzV6Wm05eWJTbGNibHh1UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0dSaGRHRXBJSHRjYmlBZ2RHaHBjeTVmWTJGamFHVXVZV1JrS0dSaGRHRXBYRzRnSUhaaGNpQmphSFZ1YTF4dUlDQjJZWElnZEdocGJtZGNiaUFnZG1GeUlHOTFkQ0E5SUZ0ZFhHNWNiaUFnZDJocGJHVWdLQ2hqYUhWdWF5QTlJSFJvYVhNdVgyTmhZMmhsTG1kbGRDZ3BLU2tnZTF4dUlDQWdJSFJvYVc1bklEMGdkR2hwY3k1ZmJXOWtaUzVsYm1OeWVYQjBLSFJvYVhNc0lHTm9kVzVyS1Z4dUlDQWdJRzkxZEM1d2RYTm9LSFJvYVc1bktWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1amIyNWpZWFFvYjNWMEtWeHVmVnh1WEc1MllYSWdVRUZFUkVsT1J5QTlJRUoxWm1abGNpNWhiR3h2WXlneE5pd2dNSGd4TUNsY2JseHVRMmx3YUdWeUxuQnliM1J2ZEhsd1pTNWZabWx1WVd3Z1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJqYUhWdWF5QTlJSFJvYVhNdVgyTmhZMmhsTG1ac2RYTm9LQ2xjYmlBZ2FXWWdLSFJvYVhNdVgyRjFkRzl3WVdSa2FXNW5LU0I3WEc0Z0lDQWdZMmgxYm1zZ1BTQjBhR2x6TGw5dGIyUmxMbVZ1WTNKNWNIUW9kR2hwY3l3Z1kyaDFibXNwWEc0Z0lDQWdkR2hwY3k1ZlkybHdhR1Z5TG5OamNuVmlLQ2xjYmlBZ0lDQnlaWFIxY200Z1kyaDFibXRjYmlBZ2ZWeHVYRzRnSUdsbUlDZ2hZMmgxYm1zdVpYRjFZV3h6S0ZCQlJFUkpUa2NwS1NCN1hHNGdJQ0FnZEdocGN5NWZZMmx3YUdWeUxuTmpjblZpS0NsY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMlJoZEdFZ2JtOTBJRzExYkhScGNHeGxJRzltSUdKc2IyTnJJR3hsYm1kMGFDY3BYRzRnSUgxY2JuMWNibHh1UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzV6WlhSQmRYUnZVR0ZrWkdsdVp5QTlJR1oxYm1OMGFXOXVJQ2h6WlhSVWJ5a2dlMXh1SUNCMGFHbHpMbDloZFhSdmNHRmtaR2x1WnlBOUlDRWhjMlYwVkc5Y2JpQWdjbVYwZFhKdUlIUm9hWE5jYm4xY2JseHVablZ1WTNScGIyNGdVM0JzYVhSMFpYSWdLQ2tnZTF4dUlDQjBhR2x6TG1OaFkyaGxJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0RBcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUFvWkdGMFlTa2dlMXh1SUNCMGFHbHpMbU5oWTJobElEMGdRblZtWm1WeUxtTnZibU5oZENoYmRHaHBjeTVqWVdOb1pTd2daR0YwWVYwcFhHNTlYRzVjYmxOd2JHbDBkR1Z5TG5CeWIzUnZkSGx3WlM1blpYUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJR2xtSUNoMGFHbHpMbU5oWTJobExteGxibWQwYUNBK0lERTFLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJSFJvYVhNdVkyRmphR1V1YzJ4cFkyVW9NQ3dnTVRZcFhHNGdJQ0FnZEdocGN5NWpZV05vWlNBOUlIUm9hWE11WTJGamFHVXVjMnhwWTJVb01UWXBYRzRnSUNBZ2NtVjBkWEp1SUc5MWRGeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdWRXeHNYRzU5WEc1Y2JsTndiR2wwZEdWeUxuQnliM1J2ZEhsd1pTNW1iSFZ6YUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJR3hsYmlBOUlERTJJQzBnZEdocGN5NWpZV05vWlM1c1pXNW5kR2hjYmlBZ2RtRnlJSEJoWkVKMVptWWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYkdWdUtWeHVYRzRnSUhaaGNpQnBJRDBnTFRGY2JpQWdkMmhwYkdVZ0tDc3JhU0E4SUd4bGJpa2dlMXh1SUNBZ0lIQmhaRUoxWm1ZdWQzSnBkR1ZWU1c1ME9DaHNaVzRzSUdrcFhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1FuVm1abVZ5TG1OdmJtTmhkQ2hiZEdocGN5NWpZV05vWlN3Z2NHRmtRblZtWmwwcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVU5wY0dobGNtbDJJQ2h6ZFdsMFpTd2djR0Z6YzNkdmNtUXNJR2wyS1NCN1hHNGdJSFpoY2lCamIyNW1hV2NnUFNCTlQwUkZVMXR6ZFdsMFpTNTBiMHh2ZDJWeVEyRnpaU2dwWFZ4dUlDQnBaaUFvSVdOdmJtWnBaeWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNibHh1SUNCcFppQW9kSGx3Wlc5bUlIQmhjM04zYjNKa0lEMDlQU0FuYzNSeWFXNW5KeWtnY0dGemMzZHZjbVFnUFNCQ2RXWm1aWEl1Wm5KdmJTaHdZWE56ZDI5eVpDbGNiaUFnYVdZZ0tIQmhjM04zYjNKa0xteGxibWQwYUNBaFBUMGdZMjl1Wm1sbkxtdGxlU0F2SURncElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMmx1ZG1Gc2FXUWdhMlY1SUd4bGJtZDBhQ0FuSUNzZ2NHRnpjM2R2Y21RdWJHVnVaM1JvS1Z4dVhHNGdJR2xtSUNoMGVYQmxiMllnYVhZZ1BUMDlJQ2R6ZEhKcGJtY25LU0JwZGlBOUlFSjFabVpsY2k1bWNtOXRLR2wyS1Z4dUlDQnBaaUFvWTI5dVptbG5MbTF2WkdVZ0lUMDlJQ2RIUTAwbklDWW1JR2wyTG14bGJtZDBhQ0FoUFQwZ1kyOXVabWxuTG1sMktTQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RwYm5aaGJHbGtJR2wySUd4bGJtZDBhQ0FuSUNzZ2FYWXViR1Z1WjNSb0tWeHVYRzRnSUdsbUlDaGpiMjVtYVdjdWRIbHdaU0E5UFQwZ0ozTjBjbVZoYlNjcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGTjBjbVZoYlVOcGNHaGxjaWhqYjI1bWFXY3ViVzlrZFd4bExDQndZWE56ZDI5eVpDd2dhWFlwWEc0Z0lIMGdaV3h6WlNCcFppQW9ZMjl1Wm1sbkxuUjVjR1VnUFQwOUlDZGhkWFJvSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FYVjBhRU5wY0dobGNpaGpiMjVtYVdjdWJXOWtkV3hsTENCd1lYTnpkMjl5WkN3Z2FYWXBYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdibVYzSUVOcGNHaGxjaWhqYjI1bWFXY3ViVzlrZFd4bExDQndZWE56ZDI5eVpDd2dhWFlwWEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVTnBjR2hsY2lBb2MzVnBkR1VzSUhCaGMzTjNiM0prS1NCN1hHNGdJSFpoY2lCamIyNW1hV2NnUFNCTlQwUkZVMXR6ZFdsMFpTNTBiMHh2ZDJWeVEyRnpaU2dwWFZ4dUlDQnBaaUFvSVdOdmJtWnBaeWtnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNibHh1SUNCMllYSWdhMlY1Y3lBOUlHVmlkR3NvY0dGemMzZHZjbVFzSUdaaGJITmxMQ0JqYjI1bWFXY3VhMlY1TENCamIyNW1hV2N1YVhZcFhHNGdJSEpsZEhWeWJpQmpjbVZoZEdWRGFYQm9aWEpwZGloemRXbDBaU3dnYTJWNWN5NXJaWGtzSUd0bGVYTXVhWFlwWEc1OVhHNWNibVY0Y0c5eWRITXVZM0psWVhSbFEybHdhR1Z5YVhZZ1BTQmpjbVZoZEdWRGFYQm9aWEpwZGx4dVpYaHdiM0owY3k1amNtVmhkR1ZEYVhCb1pYSWdQU0JqY21WaGRHVkRhWEJvWlhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZW5jcnlwdGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9naGFzaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9naGFzaC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBaRVJPRVMgPSBCdWZmZXIuYWxsb2MoMTYsIDApXFxuXFxuZnVuY3Rpb24gdG9BcnJheSAoYnVmKSB7XFxuICByZXR1cm4gW1xcbiAgICBidWYucmVhZFVJbnQzMkJFKDApLFxcbiAgICBidWYucmVhZFVJbnQzMkJFKDQpLFxcbiAgICBidWYucmVhZFVJbnQzMkJFKDgpLFxcbiAgICBidWYucmVhZFVJbnQzMkJFKDEyKVxcbiAgXVxcbn1cXG5cXG5mdW5jdGlvbiBmcm9tQXJyYXkgKG91dCkge1xcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFswXSA+Pj4gMCwgMClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsxXSA+Pj4gMCwgNClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSA+Pj4gMCwgOClcXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFszXSA+Pj4gMCwgMTIpXFxuICByZXR1cm4gYnVmXFxufVxcblxcbmZ1bmN0aW9uIEdIQVNIIChrZXkpIHtcXG4gIHRoaXMuaCA9IGtleVxcbiAgdGhpcy5zdGF0ZSA9IEJ1ZmZlci5hbGxvYygxNiwgMClcXG4gIHRoaXMuY2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcXG59XFxuXFxuLy8gZnJvbSBodHRwOi8vYml0d2lzZXNoaWZ0bGVmdC5naXRodWIuaW8vc2pjbC9kb2Mvc3ltYm9scy9zcmMvY29yZV9nY20uanMuaHRtbFxcbi8vIGJ5IEp1aG8gVsOkaMOkLUhlcnR0dWFcXG5HSEFTSC5wcm90b3R5cGUuZ2hhc2ggPSBmdW5jdGlvbiAoYmxvY2spIHtcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBibG9jay5sZW5ndGgpIHtcXG4gICAgdGhpcy5zdGF0ZVtpXSBePSBibG9ja1tpXVxcbiAgfVxcbiAgdGhpcy5fbXVsdGlwbHkoKVxcbn1cXG5cXG5HSEFTSC5wcm90b3R5cGUuX211bHRpcGx5ID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIFZpID0gdG9BcnJheSh0aGlzLmgpXFxuICB2YXIgWmkgPSBbMCwgMCwgMCwgMF1cXG4gIHZhciBqLCB4aSwgbHNiVmlcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCAxMjgpIHtcXG4gICAgeGkgPSAodGhpcy5zdGF0ZVt+fihpIC8gOCldICYgKDEgPDwgKDcgLSAoaSAlIDgpKSkpICE9PSAwXFxuICAgIGlmICh4aSkge1xcbiAgICAgIC8vIFpfaSsxID0gWl9pIF4gVl9pXFxuICAgICAgWmlbMF0gXj0gVmlbMF1cXG4gICAgICBaaVsxXSBePSBWaVsxXVxcbiAgICAgIFppWzJdIF49IFZpWzJdXFxuICAgICAgWmlbM10gXj0gVmlbM11cXG4gICAgfVxcblxcbiAgICAvLyBTdG9yZSB0aGUgdmFsdWUgb2YgTFNCKFZfaSlcXG4gICAgbHNiVmkgPSAoVmlbM10gJiAxKSAhPT0gMFxcblxcbiAgICAvLyBWX2krMSA9IFZfaSA+PiAxXFxuICAgIGZvciAoaiA9IDM7IGogPiAwOyBqLS0pIHtcXG4gICAgICBWaVtqXSA9IChWaVtqXSA+Pj4gMSkgfCAoKFZpW2ogLSAxXSAmIDEpIDw8IDMxKVxcbiAgICB9XFxuICAgIFZpWzBdID0gVmlbMF0gPj4+IDFcXG5cXG4gICAgLy8gSWYgTFNCKFZfaSkgaXMgMSwgVl9pKzEgPSAoVl9pID4+IDEpIF4gUlxcbiAgICBpZiAobHNiVmkpIHtcXG4gICAgICBWaVswXSA9IFZpWzBdIF4gKDB4ZTEgPDwgMjQpXFxuICAgIH1cXG4gIH1cXG4gIHRoaXMuc3RhdGUgPSBmcm9tQXJyYXkoWmkpXFxufVxcblxcbkdIQVNILnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoYnVmKSB7XFxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmNvbmNhdChbdGhpcy5jYWNoZSwgYnVmXSlcXG4gIHZhciBjaHVua1xcbiAgd2hpbGUgKHRoaXMuY2FjaGUubGVuZ3RoID49IDE2KSB7XFxuICAgIGNodW5rID0gdGhpcy5jYWNoZS5zbGljZSgwLCAxNilcXG4gICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuc2xpY2UoMTYpXFxuICAgIHRoaXMuZ2hhc2goY2h1bmspXFxuICB9XFxufVxcblxcbkdIQVNILnByb3RvdHlwZS5maW5hbCA9IGZ1bmN0aW9uIChhYmwsIGJsKSB7XFxuICBpZiAodGhpcy5jYWNoZS5sZW5ndGgpIHtcXG4gICAgdGhpcy5naGFzaChCdWZmZXIuY29uY2F0KFt0aGlzLmNhY2hlLCBaRVJPRVNdLCAxNikpXFxuICB9XFxuXFxuICB0aGlzLmdoYXNoKGZyb21BcnJheShbMCwgYWJsLCAwLCBibF0pKVxcbiAgcmV0dXJuIHRoaXMuc3RhdGVcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBHSEFTSFxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTluYUdGemFDNXFjejh6TTJFNElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1pVRkJaU3hQUVVGUE8wRkJRM1JDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0WVdWekwyZG9ZWE5vTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzUyWVhJZ1drVlNUMFZUSUQwZ1FuVm1abVZ5TG1Gc2JHOWpLREUyTENBd0tWeHVYRzVtZFc1amRHbHZiaUIwYjBGeWNtRjVJQ2hpZFdZcElIdGNiaUFnY21WMGRYSnVJRnRjYmlBZ0lDQmlkV1l1Y21WaFpGVkpiblF6TWtKRktEQXBMRnh1SUNBZ0lHSjFaaTV5WldGa1ZVbHVkRE15UWtVb05Da3NYRzRnSUNBZ1luVm1MbkpsWVdSVlNXNTBNekpDUlNnNEtTeGNiaUFnSUNCaWRXWXVjbVZoWkZWSmJuUXpNa0pGS0RFeUtWeHVJQ0JkWEc1OVhHNWNibVoxYm1OMGFXOXVJR1p5YjIxQmNuSmhlU0FvYjNWMEtTQjdYRzRnSUhaaGNpQmlkV1lnUFNCQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1Vb01UWXBYRzRnSUdKMVppNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3dYU0ErUGo0Z01Dd2dNQ2xjYmlBZ1luVm1MbmR5YVhSbFZVbHVkRE15UWtVb2IzVjBXekZkSUQ0K1BpQXdMQ0EwS1Z4dUlDQmlkV1l1ZDNKcGRHVlZTVzUwTXpKQ1JTaHZkWFJiTWwwZ1BqNCtJREFzSURncFhHNGdJR0oxWmk1M2NtbDBaVlZKYm5Rek1rSkZLRzkxZEZzelhTQStQajRnTUN3Z01USXBYRzRnSUhKbGRIVnliaUJpZFdaY2JuMWNibHh1Wm5WdVkzUnBiMjRnUjBoQlUwZ2dLR3RsZVNrZ2UxeHVJQ0IwYUdsekxtZ2dQU0JyWlhsY2JpQWdkR2hwY3k1emRHRjBaU0E5SUVKMVptWmxjaTVoYkd4dll5Z3hOaXdnTUNsY2JpQWdkR2hwY3k1allXTm9aU0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNnd0tWeHVmVnh1WEc0dkx5Qm1jbTl0SUdoMGRIQTZMeTlpYVhSM2FYTmxjMmhwWm5Sc1pXWjBMbWRwZEdoMVlpNXBieTl6YW1Oc0wyUnZZeTl6ZVcxaWIyeHpMM055WXk5amIzSmxYMmRqYlM1cWN5NW9kRzFzWEc0dkx5QmllU0JLZFdodklGYkRwR2pEcEMxSVpYSjBkSFZoWEc1SFNFRlRTQzV3Y205MGIzUjVjR1V1WjJoaGMyZ2dQU0JtZFc1amRHbHZiaUFvWW14dlkyc3BJSHRjYmlBZ2RtRnlJR2tnUFNBdE1WeHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lteHZZMnN1YkdWdVozUm9LU0I3WEc0Z0lDQWdkR2hwY3k1emRHRjBaVnRwWFNCZVBTQmliRzlqYTF0cFhWeHVJQ0I5WEc0Z0lIUm9hWE11WDIxMWJIUnBjR3g1S0NsY2JuMWNibHh1UjBoQlUwZ3VjSEp2ZEc5MGVYQmxMbDl0ZFd4MGFYQnNlU0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZG1GeUlGWnBJRDBnZEc5QmNuSmhlU2gwYUdsekxtZ3BYRzRnSUhaaGNpQmFhU0E5SUZzd0xDQXdMQ0F3TENBd1hWeHVJQ0IyWVhJZ2Fpd2dlR2tzSUd4ellsWnBYRzRnSUhaaGNpQnBJRDBnTFRGY2JpQWdkMmhwYkdVZ0tDc3JhU0E4SURFeU9Da2dlMXh1SUNBZ0lIaHBJRDBnS0hSb2FYTXVjM1JoZEdWYmZuNG9hU0F2SURncFhTQW1JQ2d4SUR3OElDZzNJQzBnS0drZ0pTQTRLU2twS1NBaFBUMGdNRnh1SUNBZ0lHbG1JQ2g0YVNrZ2UxeHVJQ0FnSUNBZ0x5OGdXbDlwS3pFZ1BTQmFYMmtnWGlCV1gybGNiaUFnSUNBZ0lGcHBXekJkSUY0OUlGWnBXekJkWEc0Z0lDQWdJQ0JhYVZzeFhTQmVQU0JXYVZzeFhWeHVJQ0FnSUNBZ1dtbGJNbDBnWGowZ1ZtbGJNbDFjYmlBZ0lDQWdJRnBwV3pOZElGNDlJRlpwV3pOZFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1UzUnZjbVVnZEdobElIWmhiSFZsSUc5bUlFeFRRaWhXWDJrcFhHNGdJQ0FnYkhOaVZta2dQU0FvVm1sYk0xMGdKaUF4S1NBaFBUMGdNRnh1WEc0Z0lDQWdMeThnVmw5cEt6RWdQU0JXWDJrZ1BqNGdNVnh1SUNBZ0lHWnZjaUFvYWlBOUlETTdJR29nUGlBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUZacFcycGRJRDBnS0ZacFcycGRJRDQrUGlBeEtTQjhJQ2dvVm1sYmFpQXRJREZkSUNZZ01Ta2dQRHdnTXpFcFhHNGdJQ0FnZlZ4dUlDQWdJRlpwV3pCZElEMGdWbWxiTUYwZ1BqNCtJREZjYmx4dUlDQWdJQzh2SUVsbUlFeFRRaWhXWDJrcElHbHpJREVzSUZaZmFTc3hJRDBnS0ZaZmFTQStQaUF4S1NCZUlGSmNiaUFnSUNCcFppQW9iSE5pVm1rcElIdGNiaUFnSUNBZ0lGWnBXekJkSUQwZ1ZtbGJNRjBnWGlBb01IaGxNU0E4UENBeU5DbGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2RHaHBjeTV6ZEdGMFpTQTlJR1p5YjIxQmNuSmhlU2hhYVNsY2JuMWNibHh1UjBoQlUwZ3VjSEp2ZEc5MGVYQmxMblZ3WkdGMFpTQTlJR1oxYm1OMGFXOXVJQ2hpZFdZcElIdGNiaUFnZEdocGN5NWpZV05vWlNBOUlFSjFabVpsY2k1amIyNWpZWFFvVzNSb2FYTXVZMkZqYUdVc0lHSjFabDBwWEc0Z0lIWmhjaUJqYUhWdWExeHVJQ0IzYUdsc1pTQW9kR2hwY3k1allXTm9aUzVzWlc1bmRHZ2dQajBnTVRZcElIdGNiaUFnSUNCamFIVnVheUE5SUhSb2FYTXVZMkZqYUdVdWMyeHBZMlVvTUN3Z01UWXBYRzRnSUNBZ2RHaHBjeTVqWVdOb1pTQTlJSFJvYVhNdVkyRmphR1V1YzJ4cFkyVW9NVFlwWEc0Z0lDQWdkR2hwY3k1bmFHRnphQ2hqYUhWdWF5bGNiaUFnZlZ4dWZWeHVYRzVIU0VGVFNDNXdjbTkwYjNSNWNHVXVabWx1WVd3Z1BTQm1kVzVqZEdsdmJpQW9ZV0pzTENCaWJDa2dlMXh1SUNCcFppQW9kR2hwY3k1allXTm9aUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQjBhR2x6TG1kb1lYTm9LRUoxWm1abGNpNWpiMjVqWVhRb1czUm9hWE11WTJGamFHVXNJRnBGVWs5RlUxMHNJREUyS1NsY2JpQWdmVnh1WEc0Z0lIUm9hWE11WjJoaGMyZ29abkp2YlVGeWNtRjVLRnN3TENCaFltd3NJREFzSUdKc1hTa3BYRzRnSUhKbGRIVnliaUIwYUdsekxuTjBZWFJsWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdSMGhCVTBoY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvZ2hhc2guanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2luY3IzMi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvaW5jcjMyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiZnVuY3Rpb24gaW5jcjMyIChpdikge1xcbiAgdmFyIGxlbiA9IGl2Lmxlbmd0aFxcbiAgdmFyIGl0ZW1cXG4gIHdoaWxlIChsZW4tLSkge1xcbiAgICBpdGVtID0gaXYucmVhZFVJbnQ4KGxlbilcXG4gICAgaWYgKGl0ZW0gPT09IDI1NSkge1xcbiAgICAgIGl2LndyaXRlVUludDgoMCwgbGVuKVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGl0ZW0rK1xcbiAgICAgIGl2LndyaXRlVUludDgoaXRlbSwgbGVuKVxcbiAgICAgIGJyZWFrXFxuICAgIH1cXG4gIH1cXG59XFxubW9kdWxlLmV4cG9ydHMgPSBpbmNyMzJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5cGJtTnlNekl1YW5NL1ptSTBOU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTlwYm1OeU16SXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5Sm1kVzVqZEdsdmJpQnBibU55TXpJZ0tHbDJLU0I3WEc0Z0lIWmhjaUJzWlc0Z1BTQnBkaTVzWlc1bmRHaGNiaUFnZG1GeUlHbDBaVzFjYmlBZ2QyaHBiR1VnS0d4bGJpMHRLU0I3WEc0Z0lDQWdhWFJsYlNBOUlHbDJMbkpsWVdSVlNXNTBPQ2hzWlc0cFhHNGdJQ0FnYVdZZ0tHbDBaVzBnUFQwOUlESTFOU2tnZTF4dUlDQWdJQ0FnYVhZdWQzSnBkR1ZWU1c1ME9DZ3dMQ0JzWlc0cFhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2wwWlcwcksxeHVJQ0FnSUNBZ2FYWXVkM0pwZEdWVlNXNTBPQ2hwZEdWdExDQnNaVzRwWEc0Z0lDQWdJQ0JpY21WaGExeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCcGJtTnlNekpjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9pbmNyMzIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NiYy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2JjLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHhvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlci14b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci14b3IvaW5kZXguanNcXFwiKVxcblxcbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBibG9jaykge1xcbiAgdmFyIGRhdGEgPSB4b3IoYmxvY2ssIHNlbGYuX3ByZXYpXFxuXFxuICBzZWxmLl9wcmV2ID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhkYXRhKVxcbiAgcmV0dXJuIHNlbGYuX3ByZXZcXG59XFxuXFxuZXhwb3J0cy5kZWNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGJsb2NrKSB7XFxuICB2YXIgcGFkID0gc2VsZi5fcHJldlxcblxcbiAgc2VsZi5fcHJldiA9IGJsb2NrXFxuICB2YXIgb3V0ID0gc2VsZi5fY2lwaGVyLmRlY3J5cHRCbG9jayhibG9jaylcXG5cXG4gIHJldHVybiB4b3Iob3V0LCBwYWQpXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTl0YjJSbGN5OWpZbU11YW5NL1lqSTNZU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4VlFVRlZMRzFDUVVGUExFTkJRVU1zYzBSQlFWazdPMEZCUlRsQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMjF2WkdWekwyTmlZeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCNGIzSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSXRlRzl5SnlsY2JseHVaWGh3YjNKMGN5NWxibU55ZVhCMElEMGdablZ1WTNScGIyNGdLSE5sYkdZc0lHSnNiMk5yS1NCN1hHNGdJSFpoY2lCa1lYUmhJRDBnZUc5eUtHSnNiMk5yTENCelpXeG1MbDl3Y21WMktWeHVYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQnpaV3htTGw5amFYQm9aWEl1Wlc1amNubHdkRUpzYjJOcktHUmhkR0VwWEc0Z0lISmxkSFZ5YmlCelpXeG1MbDl3Y21WMlhHNTlYRzVjYm1WNGNHOXlkSE11WkdWamNubHdkQ0E5SUdaMWJtTjBhVzl1SUNoelpXeG1MQ0JpYkc5amF5a2dlMXh1SUNCMllYSWdjR0ZrSUQwZ2MyVnNaaTVmY0hKbGRseHVYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQmliRzlqYTF4dUlDQjJZWElnYjNWMElEMGdjMlZzWmk1ZlkybHdhR1Z5TG1SbFkzSjVjSFJDYkc5amF5aGliRzlqYXlsY2JseHVJQ0J5WlhSMWNtNGdlRzl5S0c5MWRDd2djR0ZrS1Z4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NiYy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIHhvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlci14b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci14b3IvaW5kZXguanNcXFwiKVxcblxcbmZ1bmN0aW9uIGVuY3J5cHRTdGFydCAoc2VsZiwgZGF0YSwgZGVjcnlwdCkge1xcbiAgdmFyIGxlbiA9IGRhdGEubGVuZ3RoXFxuICB2YXIgb3V0ID0geG9yKGRhdGEsIHNlbGYuX2NhY2hlKVxcbiAgc2VsZi5fY2FjaGUgPSBzZWxmLl9jYWNoZS5zbGljZShsZW4pXFxuICBzZWxmLl9wcmV2ID0gQnVmZmVyLmNvbmNhdChbc2VsZi5fcHJldiwgZGVjcnlwdCA/IGRhdGEgOiBvdXRdKVxcbiAgcmV0dXJuIG91dFxcbn1cXG5cXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgZGF0YSwgZGVjcnlwdCkge1xcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxcbiAgdmFyIGxlblxcblxcbiAgd2hpbGUgKGRhdGEubGVuZ3RoKSB7XFxuICAgIGlmIChzZWxmLl9jYWNoZS5sZW5ndGggPT09IDApIHtcXG4gICAgICBzZWxmLl9jYWNoZSA9IHNlbGYuX2NpcGhlci5lbmNyeXB0QmxvY2soc2VsZi5fcHJldilcXG4gICAgICBzZWxmLl9wcmV2ID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXFxuICAgIH1cXG5cXG4gICAgaWYgKHNlbGYuX2NhY2hlLmxlbmd0aCA8PSBkYXRhLmxlbmd0aCkge1xcbiAgICAgIGxlbiA9IHNlbGYuX2NhY2hlLmxlbmd0aFxcbiAgICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW291dCwgZW5jcnlwdFN0YXJ0KHNlbGYsIGRhdGEuc2xpY2UoMCwgbGVuKSwgZGVjcnlwdCldKVxcbiAgICAgIGRhdGEgPSBkYXRhLnNsaWNlKGxlbilcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQgPSBCdWZmZXIuY29uY2F0KFtvdXQsIGVuY3J5cHRTdGFydChzZWxmLCBkYXRhLCBkZWNyeXB0KV0pXFxuICAgICAgYnJlYWtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG91dFxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlqWm1JdWFuTS9aV1JpWlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3UVVGRGJFTXNWVUZCVlN4dFFrRkJUeXhEUVVGRExITkVRVUZaT3p0QlFVVTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RZV1Z6TDIxdlpHVnpMMk5tWWk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1ZG1GeUlIaHZjaUE5SUhKbGNYVnBjbVVvSjJKMVptWmxjaTE0YjNJbktWeHVYRzVtZFc1amRHbHZiaUJsYm1OeWVYQjBVM1JoY25RZ0tITmxiR1lzSUdSaGRHRXNJR1JsWTNKNWNIUXBJSHRjYmlBZ2RtRnlJR3hsYmlBOUlHUmhkR0V1YkdWdVozUm9YRzRnSUhaaGNpQnZkWFFnUFNCNGIzSW9aR0YwWVN3Z2MyVnNaaTVmWTJGamFHVXBYRzRnSUhObGJHWXVYMk5oWTJobElEMGdjMlZzWmk1ZlkyRmphR1V1YzJ4cFkyVW9iR1Z1S1Z4dUlDQnpaV3htTGw5d2NtVjJJRDBnUW5WbVptVnlMbU52Ym1OaGRDaGJjMlZzWmk1ZmNISmxkaXdnWkdWamNubHdkQ0EvSUdSaGRHRWdPaUJ2ZFhSZEtWeHVJQ0J5WlhSMWNtNGdiM1YwWEc1OVhHNWNibVY0Y0c5eWRITXVaVzVqY25sd2RDQTlJR1oxYm1OMGFXOXVJQ2h6Wld4bUxDQmtZWFJoTENCa1pXTnllWEIwS1NCN1hHNGdJSFpoY2lCdmRYUWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvTUNsY2JpQWdkbUZ5SUd4bGJseHVYRzRnSUhkb2FXeGxJQ2hrWVhSaExteGxibWQwYUNrZ2UxeHVJQ0FnSUdsbUlDaHpaV3htTGw5allXTm9aUzVzWlc1bmRHZ2dQVDA5SURBcElIdGNiaUFnSUNBZ0lITmxiR1l1WDJOaFkyaGxJRDBnYzJWc1ppNWZZMmx3YUdWeUxtVnVZM0o1Y0hSQ2JHOWpheWh6Wld4bUxsOXdjbVYyS1Z4dUlDQWdJQ0FnYzJWc1ppNWZjSEpsZGlBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTZ3dLVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6Wld4bUxsOWpZV05vWlM1c1pXNW5kR2dnUEQwZ1pHRjBZUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR3hsYmlBOUlITmxiR1l1WDJOaFkyaGxMbXhsYm1kMGFGeHVJQ0FnSUNBZ2IzVjBJRDBnUW5WbVptVnlMbU52Ym1OaGRDaGJiM1YwTENCbGJtTnllWEIwVTNSaGNuUW9jMlZzWml3Z1pHRjBZUzV6YkdsalpTZ3dMQ0JzWlc0cExDQmtaV055ZVhCMEtWMHBYRzRnSUNBZ0lDQmtZWFJoSUQwZ1pHRjBZUzV6YkdsalpTaHNaVzRwWEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUVKMVptWmxjaTVqYjI1allYUW9XMjkxZEN3Z1pXNWpjbmx3ZEZOMFlYSjBLSE5sYkdZc0lHUmhkR0VzSUdSbFkzSjVjSFFwWFNsY2JpQWdJQ0FnSUdKeVpXRnJYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHOTFkRnh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmIxLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiMS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxuZnVuY3Rpb24gZW5jcnlwdEJ5dGUgKHNlbGYsIGJ5dGVQYXJhbSwgZGVjcnlwdCkge1xcbiAgdmFyIHBhZFxcbiAgdmFyIGkgPSAtMVxcbiAgdmFyIGxlbiA9IDhcXG4gIHZhciBvdXQgPSAwXFxuICB2YXIgYml0LCB2YWx1ZVxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBwYWQgPSBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHNlbGYuX3ByZXYpXFxuICAgIGJpdCA9IChieXRlUGFyYW0gJiAoMSA8PCAoNyAtIGkpKSkgPyAweDgwIDogMFxcbiAgICB2YWx1ZSA9IHBhZFswXSBeIGJpdFxcbiAgICBvdXQgKz0gKCh2YWx1ZSAmIDB4ODApID4+IChpICUgOCkpXFxuICAgIHNlbGYuX3ByZXYgPSBzaGlmdEluKHNlbGYuX3ByZXYsIGRlY3J5cHQgPyBiaXQgOiB2YWx1ZSlcXG4gIH1cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gc2hpZnRJbiAoYnVmZmVyLCB2YWx1ZSkge1xcbiAgdmFyIGxlbiA9IGJ1ZmZlci5sZW5ndGhcXG4gIHZhciBpID0gLTFcXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYnVmZmVyLmxlbmd0aClcXG4gIGJ1ZmZlciA9IEJ1ZmZlci5jb25jYXQoW2J1ZmZlciwgQnVmZmVyLmZyb20oW3ZhbHVlXSldKVxcblxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBvdXRbaV0gPSBidWZmZXJbaV0gPDwgMSB8IGJ1ZmZlcltpICsgMV0gPj4gKDcpXFxuICB9XFxuXFxuICByZXR1cm4gb3V0XFxufVxcblxcbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBjaHVuaywgZGVjcnlwdCkge1xcbiAgdmFyIGxlbiA9IGNodW5rLmxlbmd0aFxcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXFxuICB2YXIgaSA9IC0xXFxuXFxuICB3aGlsZSAoKytpIDwgbGVuKSB7XFxuICAgIG91dFtpXSA9IGVuY3J5cHRCeXRlKHNlbGYsIGNodW5rW2ldLCBkZWNyeXB0KVxcbiAgfVxcblxcbiAgcmV0dXJuIG91dFxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlqWm1JeExtcHpQMkkzT1RnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoT3p0QlFVVnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlqWm1JeExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWRtRnlJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KM05oWm1VdFluVm1abVZ5SnlrdVFuVm1abVZ5WEc1Y2JtWjFibU4wYVc5dUlHVnVZM0o1Y0hSQ2VYUmxJQ2h6Wld4bUxDQmllWFJsVUdGeVlXMHNJR1JsWTNKNWNIUXBJSHRjYmlBZ2RtRnlJSEJoWkZ4dUlDQjJZWElnYVNBOUlDMHhYRzRnSUhaaGNpQnNaVzRnUFNBNFhHNGdJSFpoY2lCdmRYUWdQU0F3WEc0Z0lIWmhjaUJpYVhRc0lIWmhiSFZsWEc0Z0lIZG9hV3hsSUNncksya2dQQ0JzWlc0cElIdGNiaUFnSUNCd1lXUWdQU0J6Wld4bUxsOWphWEJvWlhJdVpXNWpjbmx3ZEVKc2IyTnJLSE5sYkdZdVgzQnlaWFlwWEc0Z0lDQWdZbWwwSUQwZ0tHSjVkR1ZRWVhKaGJTQW1JQ2d4SUR3OElDZzNJQzBnYVNrcEtTQS9JREI0T0RBZ09pQXdYRzRnSUNBZ2RtRnNkV1VnUFNCd1lXUmJNRjBnWGlCaWFYUmNiaUFnSUNCdmRYUWdLejBnS0NoMllXeDFaU0FtSURCNE9EQXBJRDQrSUNocElDVWdPQ2twWEc0Z0lDQWdjMlZzWmk1ZmNISmxkaUE5SUhOb2FXWjBTVzRvYzJWc1ppNWZjSEpsZGl3Z1pHVmpjbmx3ZENBL0lHSnBkQ0E2SUhaaGJIVmxLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnZkWFJjYm4xY2JseHVablZ1WTNScGIyNGdjMmhwWm5SSmJpQW9ZblZtWm1WeUxDQjJZV3gxWlNrZ2UxeHVJQ0IyWVhJZ2JHVnVJRDBnWW5WbVptVnlMbXhsYm1kMGFGeHVJQ0IyWVhJZ2FTQTlJQzB4WEc0Z0lIWmhjaUJ2ZFhRZ1BTQkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVW9ZblZtWm1WeUxteGxibWQwYUNsY2JpQWdZblZtWm1WeUlEMGdRblZtWm1WeUxtTnZibU5oZENoYlluVm1abVZ5TENCQ2RXWm1aWEl1Wm5KdmJTaGJkbUZzZFdWZEtWMHBYRzVjYmlBZ2QyaHBiR1VnS0NzcmFTQThJR3hsYmlrZ2UxeHVJQ0FnSUc5MWRGdHBYU0E5SUdKMVptWmxjbHRwWFNBOFBDQXhJSHdnWW5WbVptVnlXMmtnS3lBeFhTQStQaUFvTnlsY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdmRYUmNibjFjYmx4dVpYaHdiM0owY3k1bGJtTnllWEIwSUQwZ1puVnVZM1JwYjI0Z0tITmxiR1lzSUdOb2RXNXJMQ0JrWldOeWVYQjBLU0I3WEc0Z0lIWmhjaUJzWlc0Z1BTQmphSFZ1YXk1c1pXNW5kR2hjYmlBZ2RtRnlJRzkxZENBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTaHNaVzRwWEc0Z0lIWmhjaUJwSUQwZ0xURmNibHh1SUNCM2FHbHNaU0FvS3l0cElEd2diR1Z1S1NCN1hHNGdJQ0FnYjNWMFcybGRJRDBnWlc1amNubHdkRUo1ZEdVb2MyVnNaaXdnWTJoMWJtdGJhVjBzSUdSbFkzSjVjSFFwWEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYjNWMFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmI4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG5mdW5jdGlvbiBlbmNyeXB0Qnl0ZSAoc2VsZiwgYnl0ZVBhcmFtLCBkZWNyeXB0KSB7XFxuICB2YXIgcGFkID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhzZWxmLl9wcmV2KVxcbiAgdmFyIG91dCA9IHBhZFswXSBeIGJ5dGVQYXJhbVxcblxcbiAgc2VsZi5fcHJldiA9IEJ1ZmZlci5jb25jYXQoW1xcbiAgICBzZWxmLl9wcmV2LnNsaWNlKDEpLFxcbiAgICBCdWZmZXIuZnJvbShbZGVjcnlwdCA/IGJ5dGVQYXJhbSA6IG91dF0pXFxuICBdKVxcblxcbiAgcmV0dXJuIG91dFxcbn1cXG5cXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgY2h1bmssIGRlY3J5cHQpIHtcXG4gIHZhciBsZW4gPSBjaHVuay5sZW5ndGhcXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuKVxcbiAgdmFyIGkgPSAtMVxcblxcbiAgd2hpbGUgKCsraSA8IGxlbikge1xcbiAgICBvdXRbaV0gPSBlbmNyeXB0Qnl0ZShzZWxmLCBjaHVua1tpXSwgZGVjcnlwdClcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5alptSTRMbXB6UHpka05HSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5alptSTRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjNOaFptVXRZblZtWm1WeUp5a3VRblZtWm1WeVhHNWNibVoxYm1OMGFXOXVJR1Z1WTNKNWNIUkNlWFJsSUNoelpXeG1MQ0JpZVhSbFVHRnlZVzBzSUdSbFkzSjVjSFFwSUh0Y2JpQWdkbUZ5SUhCaFpDQTlJSE5sYkdZdVgyTnBjR2hsY2k1bGJtTnllWEIwUW14dlkyc29jMlZzWmk1ZmNISmxkaWxjYmlBZ2RtRnlJRzkxZENBOUlIQmhaRnN3WFNCZUlHSjVkR1ZRWVhKaGJWeHVYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0Y2JpQWdJQ0J6Wld4bUxsOXdjbVYyTG5Oc2FXTmxLREVwTEZ4dUlDQWdJRUoxWm1abGNpNW1jbTl0S0Z0a1pXTnllWEIwSUQ4Z1lubDBaVkJoY21GdElEb2diM1YwWFNsY2JpQWdYU2xjYmx4dUlDQnlaWFIxY200Z2IzVjBYRzU5WEc1Y2JtVjRjRzl5ZEhNdVpXNWpjbmx3ZENBOUlHWjFibU4wYVc5dUlDaHpaV3htTENCamFIVnVheXdnWkdWamNubHdkQ2tnZTF4dUlDQjJZWElnYkdWdUlEMGdZMmgxYm1zdWJHVnVaM1JvWEc0Z0lIWmhjaUJ2ZFhRZ1BTQkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVW9iR1Z1S1Z4dUlDQjJZWElnYVNBOUlDMHhYRzVjYmlBZ2QyaHBiR1VnS0NzcmFTQThJR3hsYmlrZ2UxeHVJQ0FnSUc5MWRGdHBYU0E5SUdWdVkzSjVjSFJDZVhSbEtITmxiR1lzSUdOb2RXNXJXMmxkTENCa1pXTnllWEIwS1Z4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc5MWRGeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jZmI4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jdHIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciB4b3IgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIteG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIteG9yL2luZGV4LmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIGluY3IzMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2luY3IzMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvaW5jcjMyLmpzXFxcIilcXG5cXG5mdW5jdGlvbiBnZXRCbG9jayAoc2VsZikge1xcbiAgdmFyIG91dCA9IHNlbGYuX2NpcGhlci5lbmNyeXB0QmxvY2tSYXcoc2VsZi5fcHJldilcXG4gIGluY3IzMihzZWxmLl9wcmV2KVxcbiAgcmV0dXJuIG91dFxcbn1cXG5cXG52YXIgYmxvY2tTaXplID0gMTZcXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgY2h1bmspIHtcXG4gIHZhciBjaHVua051bSA9IE1hdGguY2VpbChjaHVuay5sZW5ndGggLyBibG9ja1NpemUpXFxuICB2YXIgc3RhcnQgPSBzZWxmLl9jYWNoZS5sZW5ndGhcXG4gIHNlbGYuX2NhY2hlID0gQnVmZmVyLmNvbmNhdChbXFxuICAgIHNlbGYuX2NhY2hlLFxcbiAgICBCdWZmZXIuYWxsb2NVbnNhZmUoY2h1bmtOdW0gKiBibG9ja1NpemUpXFxuICBdKVxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaHVua051bTsgaSsrKSB7XFxuICAgIHZhciBvdXQgPSBnZXRCbG9jayhzZWxmKVxcbiAgICB2YXIgb2Zmc2V0ID0gc3RhcnQgKyBpICogYmxvY2tTaXplXFxuICAgIHNlbGYuX2NhY2hlLndyaXRlVUludDMyQkUob3V0WzBdLCBvZmZzZXQgKyAwKVxcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFsxXSwgb2Zmc2V0ICsgNClcXG4gICAgc2VsZi5fY2FjaGUud3JpdGVVSW50MzJCRShvdXRbMl0sIG9mZnNldCArIDgpXFxuICAgIHNlbGYuX2NhY2hlLndyaXRlVUludDMyQkUob3V0WzNdLCBvZmZzZXQgKyAxMilcXG4gIH1cXG4gIHZhciBwYWQgPSBzZWxmLl9jYWNoZS5zbGljZSgwLCBjaHVuay5sZW5ndGgpXFxuICBzZWxmLl9jYWNoZSA9IHNlbGYuX2NhY2hlLnNsaWNlKGNodW5rLmxlbmd0aClcXG4gIHJldHVybiB4b3IoY2h1bmssIHBhZClcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5amRISXVhbk0vWTJKaFpDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNjMFJCUVZrN1FVRkRPVUlzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE8wRkJRMnhETEdGQlFXRXNiVUpCUVU4c1EwRkJReXd3UkVGQlZ6czdRVUZGYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNhVUpCUVdsQ0xHTkJRV003UVVGREwwSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5amRISXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnZUc5eUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUxYaHZjaWNwWEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25jMkZtWlMxaWRXWm1aWEluS1M1Q2RXWm1aWEpjYm5aaGNpQnBibU55TXpJZ1BTQnlaWEYxYVhKbEtDY3VMaTlwYm1OeU16SW5LVnh1WEc1bWRXNWpkR2x2YmlCblpYUkNiRzlqYXlBb2MyVnNaaWtnZTF4dUlDQjJZWElnYjNWMElEMGdjMlZzWmk1ZlkybHdhR1Z5TG1WdVkzSjVjSFJDYkc5amExSmhkeWh6Wld4bUxsOXdjbVYyS1Z4dUlDQnBibU55TXpJb2MyVnNaaTVmY0hKbGRpbGNiaUFnY21WMGRYSnVJRzkxZEZ4dWZWeHVYRzUyWVhJZ1lteHZZMnRUYVhwbElEMGdNVFpjYm1WNGNHOXlkSE11Wlc1amNubHdkQ0E5SUdaMWJtTjBhVzl1SUNoelpXeG1MQ0JqYUhWdWF5a2dlMXh1SUNCMllYSWdZMmgxYm10T2RXMGdQU0JOWVhSb0xtTmxhV3dvWTJoMWJtc3ViR1Z1WjNSb0lDOGdZbXh2WTJ0VGFYcGxLVnh1SUNCMllYSWdjM1JoY25RZ1BTQnpaV3htTGw5allXTm9aUzVzWlc1bmRHaGNiaUFnYzJWc1ppNWZZMkZqYUdVZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0Y2JpQWdJQ0J6Wld4bUxsOWpZV05vWlN4Y2JpQWdJQ0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvWTJoMWJtdE9kVzBnS2lCaWJHOWphMU5wZW1VcFhHNGdJRjBwWEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dZMmgxYm10T2RXMDdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQnZkWFFnUFNCblpYUkNiRzlqYXloelpXeG1LVnh1SUNBZ0lIWmhjaUJ2Wm1aelpYUWdQU0J6ZEdGeWRDQXJJR2tnS2lCaWJHOWphMU5wZW1WY2JpQWdJQ0J6Wld4bUxsOWpZV05vWlM1M2NtbDBaVlZKYm5Rek1rSkZLRzkxZEZzd1hTd2diMlptYzJWMElDc2dNQ2xjYmlBZ0lDQnpaV3htTGw5allXTm9aUzUzY21sMFpWVkpiblF6TWtKRktHOTFkRnN4WFN3Z2IyWm1jMlYwSUNzZ05DbGNiaUFnSUNCelpXeG1MbDlqWVdOb1pTNTNjbWwwWlZWSmJuUXpNa0pGS0c5MWRGc3lYU3dnYjJabWMyVjBJQ3NnT0NsY2JpQWdJQ0J6Wld4bUxsOWpZV05vWlM1M2NtbDBaVlZKYm5Rek1rSkZLRzkxZEZzelhTd2diMlptYzJWMElDc2dNVElwWEc0Z0lIMWNiaUFnZG1GeUlIQmhaQ0E5SUhObGJHWXVYMk5oWTJobExuTnNhV05sS0RBc0lHTm9kVzVyTG14bGJtZDBhQ2xjYmlBZ2MyVnNaaTVmWTJGamFHVWdQU0J6Wld4bUxsOWpZV05vWlM1emJHbGpaU2hqYUhWdWF5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQjRiM0lvWTJoMWJtc3NJSEJoWkNsY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvZWNiLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9lY2IuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCJleHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgYmxvY2spIHtcXG4gIHJldHVybiBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGJsb2NrKVxcbn1cXG5cXG5leHBvcnRzLmRlY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgYmxvY2spIHtcXG4gIHJldHVybiBzZWxmLl9jaXBoZXIuZGVjcnlwdEJsb2NrKGJsb2NrKVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlsWTJJdWFuTS9NbU14TWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdFlXVnpMMjF2WkdWekwyVmpZaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRITXVaVzVqY25sd2RDQTlJR1oxYm1OMGFXOXVJQ2h6Wld4bUxDQmliRzlqYXlrZ2UxeHVJQ0J5WlhSMWNtNGdjMlZzWmk1ZlkybHdhR1Z5TG1WdVkzSjVjSFJDYkc5amF5aGliRzlqYXlsY2JuMWNibHh1Wlhod2IzSjBjeTVrWldOeWVYQjBJRDBnWm5WdVkzUnBiMjRnS0hObGJHWXNJR0pzYjJOcktTQjdYRzRnSUhKbGRIVnliaUJ6Wld4bUxsOWphWEJvWlhJdVpHVmpjbmx3ZEVKc2IyTnJLR0pzYjJOcktWeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9lY2IuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgbW9kZU1vZHVsZXMgPSB7XFxuICBFQ0I6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWNiICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9lY2IuanNcXFwiKSxcXG4gIENCQzogX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jYmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NiYy5qc1xcXCIpLFxcbiAgQ0ZCOiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NmYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiLmpzXFxcIiksXFxuICBDRkI4OiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NmYjggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2NmYjguanNcXFwiKSxcXG4gIENGQjE6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2ZiMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvY2ZiMS5qc1xcXCIpLFxcbiAgT0ZCOiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL29mYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvb2ZiLmpzXFxcIiksXFxuICBDVFI6IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY3RyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9jdHIuanNcXFwiKSxcXG4gIEdDTTogX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jdHIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2N0ci5qc1xcXCIpXFxufVxcblxcbnZhciBtb2RlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGlzdC5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9saXN0Lmpzb25cXFwiKVxcblxcbmZvciAodmFyIGtleSBpbiBtb2Rlcykge1xcbiAgbW9kZXNba2V5XS5tb2R1bGUgPSBtb2RlTW9kdWxlc1ttb2Rlc1trZXldLm1vZGVdXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gbW9kZXNcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlwYm1SbGVDNXFjejltWlRJNElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFc1QwRkJUeXh0UWtGQlR5eERRVUZETEhsRVFVRlBPMEZCUTNSQ0xFOUJRVThzYlVKQlFVOHNRMEZCUXl4NVJFRkJUenRCUVVOMFFpeFBRVUZQTEcxQ1FVRlBMRU5CUVVNc2VVUkJRVTg3UVVGRGRFSXNVVUZCVVN4dFFrRkJUeXhEUVVGRExESkVRVUZSTzBGQlEzaENMRkZCUVZFc2JVSkJRVThzUTBGQlF5d3lSRUZCVVR0QlFVTjRRaXhQUVVGUExHMUNRVUZQTEVOQlFVTXNlVVJCUVU4N1FVRkRkRUlzVDBGQlR5eHRRa0ZCVHl4RFFVRkRMSGxFUVVGUE8wRkJRM1JDTEU5QlFVOHNiVUpCUVU4c1EwRkJReXg1UkVGQlR6dEJRVU4wUWpzN1FVRkZRU3haUVVGWkxHMUNRVUZQTEVOQlFVTXNhMFZCUVdFN08wRkJSV3BETzBGQlEwRTdRVUZEUVRzN1FVRkZRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5dGIyUmxjeTlwYm1SbGVDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJ0YjJSbFRXOWtkV3hsY3lBOUlIdGNiaUFnUlVOQ09pQnlaWEYxYVhKbEtDY3VMMlZqWWljcExGeHVJQ0JEUWtNNklISmxjWFZwY21Vb0p5NHZZMkpqSnlrc1hHNGdJRU5HUWpvZ2NtVnhkV2x5WlNnbkxpOWpabUluS1N4Y2JpQWdRMFpDT0RvZ2NtVnhkV2x5WlNnbkxpOWpabUk0Snlrc1hHNGdJRU5HUWpFNklISmxjWFZwY21Vb0p5NHZZMlppTVNjcExGeHVJQ0JQUmtJNklISmxjWFZwY21Vb0p5NHZiMlppSnlrc1hHNGdJRU5VVWpvZ2NtVnhkV2x5WlNnbkxpOWpkSEluS1N4Y2JpQWdSME5OT2lCeVpYRjFhWEpsS0NjdUwyTjBjaWNwWEc1OVhHNWNiblpoY2lCdGIyUmxjeUE5SUhKbGNYVnBjbVVvSnk0dmJHbHpkQzVxYzI5dUp5bGNibHh1Wm05eUlDaDJZWElnYTJWNUlHbHVJRzF2WkdWektTQjdYRzRnSUcxdlpHVnpXMnRsZVYwdWJXOWtkV3hsSUQwZ2JXOWtaVTF2WkhWc1pYTmJiVzlrWlhOYmEyVjVYUzV0YjJSbFhWeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUcxdlpHVnpYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9saXN0Lmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL2xpc3QuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogYWVzLTEyOC1lY2IsIGFlcy0xOTItZWNiLCBhZXMtMjU2LWVjYiwgYWVzLTEyOC1jYmMsIGFlcy0xOTItY2JjLCBhZXMtMjU2LWNiYywgYWVzMTI4LCBhZXMxOTIsIGFlczI1NiwgYWVzLTEyOC1jZmIsIGFlcy0xOTItY2ZiLCBhZXMtMjU2LWNmYiwgYWVzLTEyOC1jZmI4LCBhZXMtMTkyLWNmYjgsIGFlcy0yNTYtY2ZiOCwgYWVzLTEyOC1jZmIxLCBhZXMtMTkyLWNmYjEsIGFlcy0yNTYtY2ZiMSwgYWVzLTEyOC1vZmIsIGFlcy0xOTItb2ZiLCBhZXMtMjU2LW9mYiwgYWVzLTEyOC1jdHIsIGFlcy0xOTItY3RyLCBhZXMtMjU2LWN0ciwgYWVzLTEyOC1nY20sIGFlcy0xOTItZ2NtLCBhZXMtMjU2LWdjbSwgZGVmYXVsdCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSkge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBKU09OLnBhcnNlKFxcXCJ7XFxcXFxcXCJhZXMtMTI4LWVjYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjAsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJFQ0JcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImJsb2NrXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTE5Mi1lY2JcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTkyLFxcXFxcXFwiaXZcXFxcXFxcIjowLFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiRUNCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJibG9ja1xcXFxcXFwifSxcXFxcXFxcImFlcy0yNTYtZWNiXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MCxcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkVDQlxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNiY1xcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0JDXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJibG9ja1xcXFxcXFwifSxcXFxcXFxcImFlcy0xOTItY2JjXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjE5MixcXFxcXFxcIml2XFxcXFxcXCI6MTYsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJDQkNcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImJsb2NrXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTI1Ni1jYmNcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MjU2LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMxMjhcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTI4LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMxOTJcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTkyLFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMyNTZcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MjU2LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNCQ1xcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYmxvY2tcXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNmYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTkyLWNmYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMjU2LWNmYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoyNTYsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNmYjhcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTI4LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNGQjhcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcInN0cmVhbVxcXFxcXFwifSxcXFxcXFxcImFlcy0xOTItY2ZiOFxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCOFxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwic3RyZWFtXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTI1Ni1jZmI4XFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MTYsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJDRkI4XFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWNmYjFcXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTI4LFxcXFxcXFwiaXZcXFxcXFxcIjoxNixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkNGQjFcXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcInN0cmVhbVxcXFxcXFwifSxcXFxcXFxcImFlcy0xOTItY2ZiMVxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ0ZCMVxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwic3RyZWFtXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTI1Ni1jZmIxXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MTYsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJDRkIxXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LW9mYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiT0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTkyLW9mYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiT0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMjU2LW9mYlxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoyNTYsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiT0ZCXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWN0clxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ1RSXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTkyLWN0clxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxOTIsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ1RSXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMjU2LWN0clxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoyNTYsXFxcXFxcXCJpdlxcXFxcXFwiOjE2LFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiQ1RSXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJzdHJlYW1cXFxcXFxcIn0sXFxcXFxcXCJhZXMtMTI4LWdjbVxcXFxcXFwiOntcXFxcXFxcImNpcGhlclxcXFxcXFwiOlxcXFxcXFwiQUVTXFxcXFxcXCIsXFxcXFxcXCJrZXlcXFxcXFxcIjoxMjgsXFxcXFxcXCJpdlxcXFxcXFwiOjEyLFxcXFxcXFwibW9kZVxcXFxcXFwiOlxcXFxcXFwiR0NNXFxcXFxcXCIsXFxcXFxcXCJ0eXBlXFxcXFxcXCI6XFxcXFxcXCJhdXRoXFxcXFxcXCJ9LFxcXFxcXFwiYWVzLTE5Mi1nY21cXFxcXFxcIjp7XFxcXFxcXCJjaXBoZXJcXFxcXFxcIjpcXFxcXFxcIkFFU1xcXFxcXFwiLFxcXFxcXFwia2V5XFxcXFxcXCI6MTkyLFxcXFxcXFwiaXZcXFxcXFxcIjoxMixcXFxcXFxcIm1vZGVcXFxcXFxcIjpcXFxcXFxcIkdDTVxcXFxcXFwiLFxcXFxcXFwidHlwZVxcXFxcXFwiOlxcXFxcXFwiYXV0aFxcXFxcXFwifSxcXFxcXFxcImFlcy0yNTYtZ2NtXFxcXFxcXCI6e1xcXFxcXFwiY2lwaGVyXFxcXFxcXCI6XFxcXFxcXCJBRVNcXFxcXFxcIixcXFxcXFxcImtleVxcXFxcXFwiOjI1NixcXFxcXFxcIml2XFxcXFxcXCI6MTIsXFxcXFxcXCJtb2RlXFxcXFxcXCI6XFxcXFxcXCJHQ01cXFxcXFxcIixcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImF1dGhcXFxcXFxcIn19XFxcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYlhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5c2FYTjBMbXB6YjI0dWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvbGlzdC5qc29uXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9tb2Rlcy9vZmIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL29mYi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHt2YXIgeG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyLXhvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gZ2V0QmxvY2sgKHNlbGYpIHtcXG4gIHNlbGYuX3ByZXYgPSBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHNlbGYuX3ByZXYpXFxuICByZXR1cm4gc2VsZi5fcHJldlxcbn1cXG5cXG5leHBvcnRzLmVuY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgY2h1bmspIHtcXG4gIHdoaWxlIChzZWxmLl9jYWNoZS5sZW5ndGggPCBjaHVuay5sZW5ndGgpIHtcXG4gICAgc2VsZi5fY2FjaGUgPSBCdWZmZXIuY29uY2F0KFtzZWxmLl9jYWNoZSwgZ2V0QmxvY2soc2VsZildKVxcbiAgfVxcblxcbiAgdmFyIHBhZCA9IHNlbGYuX2NhY2hlLnNsaWNlKDAsIGNodW5rLmxlbmd0aClcXG4gIHNlbGYuX2NhY2hlID0gc2VsZi5fY2FjaGUuc2xpY2UoY2h1bmsubGVuZ3RoKVxcbiAgcmV0dXJuIHhvcihjaHVuaywgcGFkKVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdGbGN5OXRiMlJsY3k5dlptSXVhbk0vTmpoak9TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3gzUkVGQlZTeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk96dEJRVVU1UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXRmxjeTl0YjJSbGN5OXZabUl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2VHOXlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlMWGh2Y2ljcFhHNWNibVoxYm1OMGFXOXVJR2RsZEVKc2IyTnJJQ2h6Wld4bUtTQjdYRzRnSUhObGJHWXVYM0J5WlhZZ1BTQnpaV3htTGw5amFYQm9aWEl1Wlc1amNubHdkRUpzYjJOcktITmxiR1l1WDNCeVpYWXBYRzRnSUhKbGRIVnliaUJ6Wld4bUxsOXdjbVYyWEc1OVhHNWNibVY0Y0c5eWRITXVaVzVqY25sd2RDQTlJR1oxYm1OMGFXOXVJQ2h6Wld4bUxDQmphSFZ1YXlrZ2UxeHVJQ0IzYUdsc1pTQW9jMlZzWmk1ZlkyRmphR1V1YkdWdVozUm9JRHdnWTJoMWJtc3ViR1Z1WjNSb0tTQjdYRzRnSUNBZ2MyVnNaaTVmWTJGamFHVWdQU0JDZFdabVpYSXVZMjl1WTJGMEtGdHpaV3htTGw5allXTm9aU3dnWjJWMFFteHZZMnNvYzJWc1ppbGRLVnh1SUNCOVhHNWNiaUFnZG1GeUlIQmhaQ0E5SUhObGJHWXVYMk5oWTJobExuTnNhV05sS0RBc0lHTm9kVzVyTG14bGJtZDBhQ2xjYmlBZ2MyVnNaaTVmWTJGamFHVWdQU0J6Wld4bUxsOWpZV05vWlM1emJHbGpaU2hqYUhWdWF5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQjRiM0lvWTJoMWJtc3NJSEJoWkNsY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL21vZGVzL29mYi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvc3RyZWFtQ2lwaGVyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgYWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktYWVzL2Flcy5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBUcmFuc2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjaXBoZXItYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXFwiKVxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG5cXG5mdW5jdGlvbiBTdHJlYW1DaXBoZXIgKG1vZGUsIGtleSwgaXYsIGRlY3J5cHQpIHtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXFxuXFxuICB0aGlzLl9jaXBoZXIgPSBuZXcgYWVzLkFFUyhrZXkpXFxuICB0aGlzLl9wcmV2ID0gQnVmZmVyLmZyb20oaXYpXFxuICB0aGlzLl9jYWNoZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxcbiAgdGhpcy5fc2VjQ2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcXG4gIHRoaXMuX2RlY3J5cHQgPSBkZWNyeXB0XFxuICB0aGlzLl9tb2RlID0gbW9kZVxcbn1cXG5cXG5pbmhlcml0cyhTdHJlYW1DaXBoZXIsIFRyYW5zZm9ybSlcXG5cXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoY2h1bmspIHtcXG4gIHJldHVybiB0aGlzLl9tb2RlLmVuY3J5cHQodGhpcywgY2h1bmssIHRoaXMuX2RlY3J5cHQpXFxufVxcblxcblN0cmVhbUNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fY2lwaGVyLnNjcnViKClcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTdHJlYW1DaXBoZXJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMV0ZsY3k5emRISmxZVzFEYVhCb1pYSXVhbk0vWVdWaE1DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNiVVJCUVU4N1FVRkRla0lzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE8wRkJRMnhETEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEhkRVFVRmhPMEZCUTNKRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0WVdWekwzTjBjbVZoYlVOcGNHaGxjaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCaFpYTWdQU0J5WlhGMWFYSmxLQ2N1TDJGbGN5Y3BYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSmNiblpoY2lCVWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1MllYSWdhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwWEc1Y2JtWjFibU4wYVc5dUlGTjBjbVZoYlVOcGNHaGxjaUFvYlc5a1pTd2dhMlY1TENCcGRpd2daR1ZqY25sd2RDa2dlMXh1SUNCVWNtRnVjMlp2Y20wdVkyRnNiQ2gwYUdsektWeHVYRzRnSUhSb2FYTXVYMk5wY0dobGNpQTlJRzVsZHlCaFpYTXVRVVZUS0d0bGVTbGNiaUFnZEdocGN5NWZjSEpsZGlBOUlFSjFabVpsY2k1bWNtOXRLR2wyS1Z4dUlDQjBhR2x6TGw5allXTm9aU0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNnd0tWeHVJQ0IwYUdsekxsOXpaV05EWVdOb1pTQTlJRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aU2d3S1Z4dUlDQjBhR2x6TGw5a1pXTnllWEIwSUQwZ1pHVmpjbmx3ZEZ4dUlDQjBhR2x6TGw5dGIyUmxJRDBnYlc5a1pWeHVmVnh1WEc1cGJtaGxjbWwwY3loVGRISmxZVzFEYVhCb1pYSXNJRlJ5WVc1elptOXliU2xjYmx4dVUzUnlaV0Z0UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDl0YjJSbExtVnVZM0o1Y0hRb2RHaHBjeXdnWTJoMWJtc3NJSFJvYVhNdVgyUmxZM0o1Y0hRcFhHNTlYRzVjYmxOMGNtVmhiVU5wY0dobGNpNXdjbTkwYjNSNWNHVXVYMlpwYm1Gc0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjBhR2x6TGw5amFYQm9aWEl1YzJOeWRXSW9LVnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGTjBjbVZoYlVOcGNHaGxjbHh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9zdHJlYW1DaXBoZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWNpcGhlci9icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBERVMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWRlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1kZXMvaW5kZXguanNcXFwiKVxcbnZhciBhZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcy9icm93c2VyICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWFlcy9icm93c2VyLmpzXFxcIilcXG52YXIgYWVzTW9kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcy9tb2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvbW9kZXMvaW5kZXguanNcXFwiKVxcbnZhciBkZXNNb2RlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktZGVzL21vZGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qc1xcXCIpXFxudmFyIGVidGsgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBldnBfYnl0ZXN0b2tleSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZXZwX2J5dGVzdG9rZXkvaW5kZXguanNcXFwiKVxcblxcbmZ1bmN0aW9uIGNyZWF0ZUNpcGhlciAoc3VpdGUsIHBhc3N3b3JkKSB7XFxuICBzdWl0ZSA9IHN1aXRlLnRvTG93ZXJDYXNlKClcXG5cXG4gIHZhciBrZXlMZW4sIGl2TGVuXFxuICBpZiAoYWVzTW9kZXNbc3VpdGVdKSB7XFxuICAgIGtleUxlbiA9IGFlc01vZGVzW3N1aXRlXS5rZXlcXG4gICAgaXZMZW4gPSBhZXNNb2Rlc1tzdWl0ZV0uaXZcXG4gIH0gZWxzZSBpZiAoZGVzTW9kZXNbc3VpdGVdKSB7XFxuICAgIGtleUxlbiA9IGRlc01vZGVzW3N1aXRlXS5rZXkgKiA4XFxuICAgIGl2TGVuID0gZGVzTW9kZXNbc3VpdGVdLml2XFxuICB9IGVsc2Uge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxcbiAgfVxcblxcbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwga2V5TGVuLCBpdkxlbilcXG4gIHJldHVybiBjcmVhdGVDaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcXG4gIHN1aXRlID0gc3VpdGUudG9Mb3dlckNhc2UoKVxcblxcbiAgdmFyIGtleUxlbiwgaXZMZW5cXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHtcXG4gICAga2V5TGVuID0gYWVzTW9kZXNbc3VpdGVdLmtleVxcbiAgICBpdkxlbiA9IGFlc01vZGVzW3N1aXRlXS5pdlxcbiAgfSBlbHNlIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHtcXG4gICAga2V5TGVuID0gZGVzTW9kZXNbc3VpdGVdLmtleSAqIDhcXG4gICAgaXZMZW4gPSBkZXNNb2Rlc1tzdWl0ZV0uaXZcXG4gIH0gZWxzZSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxuICB9XFxuXFxuICB2YXIga2V5cyA9IGVidGsocGFzc3dvcmQsIGZhbHNlLCBrZXlMZW4sIGl2TGVuKVxcbiAgcmV0dXJuIGNyZWF0ZURlY2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIGtleSwgaXYpIHtcXG4gIHN1aXRlID0gc3VpdGUudG9Mb3dlckNhc2UoKVxcbiAgaWYgKGFlc01vZGVzW3N1aXRlXSkgcmV0dXJuIGFlcy5jcmVhdGVDaXBoZXJpdihzdWl0ZSwga2V5LCBpdilcXG4gIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBuZXcgREVTKHsga2V5OiBrZXksIGl2OiBpdiwgbW9kZTogc3VpdGUgfSlcXG5cXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyaXYgKHN1aXRlLCBrZXksIGl2KSB7XFxuICBzdWl0ZSA9IHN1aXRlLnRvTG93ZXJDYXNlKClcXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBhZXMuY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwga2V5LCBpdilcXG4gIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBuZXcgREVTKHsga2V5OiBrZXksIGl2OiBpdiwgbW9kZTogc3VpdGUsIGRlY3J5cHQ6IHRydWUgfSlcXG5cXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXFxufVxcblxcbmZ1bmN0aW9uIGdldENpcGhlcnMgKCkge1xcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGRlc01vZGVzKS5jb25jYXQoYWVzLmdldENpcGhlcnMoKSlcXG59XFxuXFxuZXhwb3J0cy5jcmVhdGVDaXBoZXIgPSBleHBvcnRzLkNpcGhlciA9IGNyZWF0ZUNpcGhlclxcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBleHBvcnRzLkNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcXG5leHBvcnRzLmNyZWF0ZURlY2lwaGVyID0gZXhwb3J0cy5EZWNpcGhlciA9IGNyZWF0ZURlY2lwaGVyXFxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlcml2ID0gZXhwb3J0cy5EZWNpcGhlcml2ID0gY3JlYXRlRGVjaXBoZXJpdlxcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBleHBvcnRzLmdldENpcGhlcnMgPSBnZXRDaXBoZXJzXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdOcGNHaGxjaTlpY205M2MyVnlMbXB6UDJZMk0yTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhFUVVGblFqdEJRVU5zUXl4VlFVRlZMRzFDUVVGUExFTkJRVU1zZDBWQlFYZENPMEZCUXpGRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3d1JVRkJjMEk3UVVGRE4wTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExHOUZRVUZ6UWp0QlFVTTNReXhYUVVGWExHMUNRVUZQTEVOQlFVTXNPRVJCUVdkQ096dEJRVVZ1UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXl4blEwRkJaME03TzBGQlJYWkZPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVU5CUVhWRExDdERRVUVyUXpzN1FVRkZkRVk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdOcGNHaGxjaTlpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUVSRlV5QTlJSEpsY1hWcGNtVW9KMkp5YjNkelpYSnBabmt0WkdWekp5bGNiblpoY2lCaFpYTWdQU0J5WlhGMWFYSmxLQ2RpY205M2MyVnlhV1o1TFdGbGN5OWljbTkzYzJWeUp5bGNiblpoY2lCaFpYTk5iMlJsY3lBOUlISmxjWFZwY21Vb0oySnliM2R6WlhKcFpua3RZV1Z6TDIxdlpHVnpKeWxjYm5aaGNpQmtaWE5OYjJSbGN5QTlJSEpsY1hWcGNtVW9KMkp5YjNkelpYSnBabmt0WkdWekwyMXZaR1Z6SnlsY2JuWmhjaUJsWW5ScklEMGdjbVZ4ZFdseVpTZ25aWFp3WDJKNWRHVnpkRzlyWlhrbktWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkRhWEJvWlhJZ0tITjFhWFJsTENCd1lYTnpkMjl5WkNrZ2UxeHVJQ0J6ZFdsMFpTQTlJSE4xYVhSbExuUnZURzkzWlhKRFlYTmxLQ2xjYmx4dUlDQjJZWElnYTJWNVRHVnVMQ0JwZGt4bGJseHVJQ0JwWmlBb1lXVnpUVzlrWlhOYmMzVnBkR1ZkS1NCN1hHNGdJQ0FnYTJWNVRHVnVJRDBnWVdWelRXOWtaWE5iYzNWcGRHVmRMbXRsZVZ4dUlDQWdJR2wyVEdWdUlEMGdZV1Z6VFc5a1pYTmJjM1ZwZEdWZExtbDJYRzRnSUgwZ1pXeHpaU0JwWmlBb1pHVnpUVzlrWlhOYmMzVnBkR1ZkS1NCN1hHNGdJQ0FnYTJWNVRHVnVJRDBnWkdWelRXOWtaWE5iYzNWcGRHVmRMbXRsZVNBcUlEaGNiaUFnSUNCcGRreGxiaUE5SUdSbGMwMXZaR1Z6VzNOMWFYUmxYUzVwZGx4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oybHVkbUZzYVdRZ2MzVnBkR1VnZEhsd1pTY3BYRzRnSUgxY2JseHVJQ0IyWVhJZ2EyVjVjeUE5SUdWaWRHc29jR0Z6YzNkdmNtUXNJR1poYkhObExDQnJaWGxNWlc0c0lHbDJUR1Z1S1Z4dUlDQnlaWFIxY200Z1kzSmxZWFJsUTJsd2FHVnlhWFlvYzNWcGRHVXNJR3RsZVhNdWEyVjVMQ0JyWlhsekxtbDJLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRVpXTnBjR2hsY2lBb2MzVnBkR1VzSUhCaGMzTjNiM0prS1NCN1hHNGdJSE4xYVhSbElEMGdjM1ZwZEdVdWRHOU1iM2RsY2tOaGMyVW9LVnh1WEc0Z0lIWmhjaUJyWlhsTVpXNHNJR2wyVEdWdVhHNGdJR2xtSUNoaFpYTk5iMlJsYzF0emRXbDBaVjBwSUh0Y2JpQWdJQ0JyWlhsTVpXNGdQU0JoWlhOTmIyUmxjMXR6ZFdsMFpWMHVhMlY1WEc0Z0lDQWdhWFpNWlc0Z1BTQmhaWE5OYjJSbGMxdHpkV2wwWlYwdWFYWmNiaUFnZlNCbGJITmxJR2xtSUNoa1pYTk5iMlJsYzF0emRXbDBaVjBwSUh0Y2JpQWdJQ0JyWlhsTVpXNGdQU0JrWlhOTmIyUmxjMXR6ZFdsMFpWMHVhMlY1SUNvZ09GeHVJQ0FnSUdsMlRHVnVJRDBnWkdWelRXOWtaWE5iYzNWcGRHVmRMbWwyWEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNiaUFnZlZ4dVhHNGdJSFpoY2lCclpYbHpJRDBnWldKMGF5aHdZWE56ZDI5eVpDd2dabUZzYzJVc0lHdGxlVXhsYml3Z2FYWk1aVzRwWEc0Z0lISmxkSFZ5YmlCamNtVmhkR1ZFWldOcGNHaGxjbWwyS0hOMWFYUmxMQ0JyWlhsekxtdGxlU3dnYTJWNWN5NXBkaWxjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFEybHdhR1Z5YVhZZ0tITjFhWFJsTENCclpYa3NJR2wyS1NCN1hHNGdJSE4xYVhSbElEMGdjM1ZwZEdVdWRHOU1iM2RsY2tOaGMyVW9LVnh1SUNCcFppQW9ZV1Z6VFc5a1pYTmJjM1ZwZEdWZEtTQnlaWFIxY200Z1lXVnpMbU55WldGMFpVTnBjR2hsY21sMktITjFhWFJsTENCclpYa3NJR2wyS1Z4dUlDQnBaaUFvWkdWelRXOWtaWE5iYzNWcGRHVmRLU0J5WlhSMWNtNGdibVYzSUVSRlV5aDdJR3RsZVRvZ2EyVjVMQ0JwZGpvZ2FYWXNJRzF2WkdVNklITjFhWFJsSUgwcFhHNWNiaUFnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmFXNTJZV3hwWkNCemRXbDBaU0IwZVhCbEp5bGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUkdWamFYQm9aWEpwZGlBb2MzVnBkR1VzSUd0bGVTd2dhWFlwSUh0Y2JpQWdjM1ZwZEdVZ1BTQnpkV2wwWlM1MGIweHZkMlZ5UTJGelpTZ3BYRzRnSUdsbUlDaGhaWE5OYjJSbGMxdHpkV2wwWlYwcElISmxkSFZ5YmlCaFpYTXVZM0psWVhSbFJHVmphWEJvWlhKcGRpaHpkV2wwWlN3Z2EyVjVMQ0JwZGlsY2JpQWdhV1lnS0dSbGMwMXZaR1Z6VzNOMWFYUmxYU2tnY21WMGRYSnVJRzVsZHlCRVJWTW9leUJyWlhrNklHdGxlU3dnYVhZNklHbDJMQ0J0YjJSbE9pQnpkV2wwWlN3Z1pHVmpjbmx3ZERvZ2RISjFaU0I5S1Z4dVhHNGdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjJsdWRtRnNhV1FnYzNWcGRHVWdkSGx3WlNjcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTnBjR2hsY25NZ0tDa2dlMXh1SUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1pHVnpUVzlrWlhNcExtTnZibU5oZENoaFpYTXVaMlYwUTJsd2FHVnljeWdwS1Z4dWZWeHVYRzVsZUhCdmNuUnpMbU55WldGMFpVTnBjR2hsY2lBOUlHVjRjRzl5ZEhNdVEybHdhR1Z5SUQwZ1kzSmxZWFJsUTJsd2FHVnlYRzVsZUhCdmNuUnpMbU55WldGMFpVTnBjR2hsY21sMklEMGdaWGh3YjNKMGN5NURhWEJvWlhKcGRpQTlJR055WldGMFpVTnBjR2hsY21sMlhHNWxlSEJ2Y25SekxtTnlaV0YwWlVSbFkybHdhR1Z5SUQwZ1pYaHdiM0owY3k1RVpXTnBjR2hsY2lBOUlHTnlaV0YwWlVSbFkybHdhR1Z5WEc1bGVIQnZjblJ6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlnUFNCbGVIQnZjblJ6TGtSbFkybHdhR1Z5YVhZZ1BTQmpjbVZoZEdWRVpXTnBjR2hsY21sMlhHNWxlSEJ2Y25SekxteHBjM1JEYVhCb1pYSnpJRDBnWlhod2IzSjBjeTVuWlhSRGFYQm9aWEp6SUQwZ1oyVjBRMmx3YUdWeWMxeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQ2lwaGVyQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxudmFyIGRlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGRlcy5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMuanNcXFwiKVxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIG1vZGVzID0ge1xcbiAgJ2Rlcy1lZGUzLWNiYyc6IGRlcy5DQkMuaW5zdGFudGlhdGUoZGVzLkVERSksXFxuICAnZGVzLWVkZTMnOiBkZXMuRURFLFxcbiAgJ2Rlcy1lZGUtY2JjJzogZGVzLkNCQy5pbnN0YW50aWF0ZShkZXMuRURFKSxcXG4gICdkZXMtZWRlJzogZGVzLkVERSxcXG4gICdkZXMtY2JjJzogZGVzLkNCQy5pbnN0YW50aWF0ZShkZXMuREVTKSxcXG4gICdkZXMtZWNiJzogZGVzLkRFU1xcbn1cXG5tb2Rlcy5kZXMgPSBtb2Rlc1snZGVzLWNiYyddXFxubW9kZXMuZGVzMyA9IG1vZGVzWydkZXMtZWRlMy1jYmMnXVxcbm1vZHVsZS5leHBvcnRzID0gREVTXFxuaW5oZXJpdHMoREVTLCBDaXBoZXJCYXNlKVxcbmZ1bmN0aW9uIERFUyAob3B0cykge1xcbiAgQ2lwaGVyQmFzZS5jYWxsKHRoaXMpXFxuICB2YXIgbW9kZU5hbWUgPSBvcHRzLm1vZGUudG9Mb3dlckNhc2UoKVxcbiAgdmFyIG1vZGUgPSBtb2Rlc1ttb2RlTmFtZV1cXG4gIHZhciB0eXBlXFxuICBpZiAob3B0cy5kZWNyeXB0KSB7XFxuICAgIHR5cGUgPSAnZGVjcnlwdCdcXG4gIH0gZWxzZSB7XFxuICAgIHR5cGUgPSAnZW5jcnlwdCdcXG4gIH1cXG4gIHZhciBrZXkgPSBvcHRzLmtleVxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoa2V5KSkge1xcbiAgICBrZXkgPSBCdWZmZXIuZnJvbShrZXkpXFxuICB9XFxuICBpZiAobW9kZU5hbWUgPT09ICdkZXMtZWRlJyB8fCBtb2RlTmFtZSA9PT0gJ2Rlcy1lZGUtY2JjJykge1xcbiAgICBrZXkgPSBCdWZmZXIuY29uY2F0KFtrZXksIGtleS5zbGljZSgwLCA4KV0pXFxuICB9XFxuICB2YXIgaXYgPSBvcHRzLml2XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihpdikpIHtcXG4gICAgaXYgPSBCdWZmZXIuZnJvbShpdilcXG4gIH1cXG4gIHRoaXMuX2RlcyA9IG1vZGUuY3JlYXRlKHtcXG4gICAga2V5OiBrZXksXFxuICAgIGl2OiBpdixcXG4gICAgdHlwZTogdHlwZVxcbiAgfSlcXG59XFxuREVTLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMudXBkYXRlKGRhdGEpKVxcbn1cXG5ERVMucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMuZmluYWwoKSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFdSbGN5OXBibVJsZUM1cWN6OHhNRFZsSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExIZEVRVUZoTzBGQlEzUkRMRlZCUVZVc2JVSkJRVThzUTBGQlF5eG5SRUZCVVR0QlFVTXhRaXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRha01zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RaR1Z6TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUVOcGNHaGxja0poYzJVZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1MllYSWdaR1Z6SUQwZ2NtVnhkV2x5WlNnblpHVnpMbXB6SnlsY2JuWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlsY2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2R6WVdabExXSjFabVpsY2ljcExrSjFabVpsY2x4dVhHNTJZWElnYlc5a1pYTWdQU0I3WEc0Z0lDZGtaWE10WldSbE15MWpZbU1uT2lCa1pYTXVRMEpETG1sdWMzUmhiblJwWVhSbEtHUmxjeTVGUkVVcExGeHVJQ0FuWkdWekxXVmtaVE1uT2lCa1pYTXVSVVJGTEZ4dUlDQW5aR1Z6TFdWa1pTMWpZbU1uT2lCa1pYTXVRMEpETG1sdWMzUmhiblJwWVhSbEtHUmxjeTVGUkVVcExGeHVJQ0FuWkdWekxXVmtaU2M2SUdSbGN5NUZSRVVzWEc0Z0lDZGtaWE10WTJKakp6b2daR1Z6TGtOQ1F5NXBibk4wWVc1MGFXRjBaU2hrWlhNdVJFVlRLU3hjYmlBZ0oyUmxjeTFsWTJJbk9pQmtaWE11UkVWVFhHNTlYRzV0YjJSbGN5NWtaWE1nUFNCdGIyUmxjMXNuWkdWekxXTmlZeWRkWEc1dGIyUmxjeTVrWlhNeklEMGdiVzlrWlhOYkoyUmxjeTFsWkdVekxXTmlZeWRkWEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSRlUxeHVhVzVvWlhKcGRITW9SRVZUTENCRGFYQm9aWEpDWVhObEtWeHVablZ1WTNScGIyNGdSRVZUSUNodmNIUnpLU0I3WEc0Z0lFTnBjR2hsY2tKaGMyVXVZMkZzYkNoMGFHbHpLVnh1SUNCMllYSWdiVzlrWlU1aGJXVWdQU0J2Y0hSekxtMXZaR1V1ZEc5TWIzZGxja05oYzJVb0tWeHVJQ0IyWVhJZ2JXOWtaU0E5SUcxdlpHVnpXMjF2WkdWT1lXMWxYVnh1SUNCMllYSWdkSGx3WlZ4dUlDQnBaaUFvYjNCMGN5NWtaV055ZVhCMEtTQjdYRzRnSUNBZ2RIbHdaU0E5SUNka1pXTnllWEIwSjF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhSNWNHVWdQU0FuWlc1amNubHdkQ2RjYmlBZ2ZWeHVJQ0IyWVhJZ2EyVjVJRDBnYjNCMGN5NXJaWGxjYmlBZ2FXWWdLQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9hMlY1S1NrZ2UxeHVJQ0FnSUd0bGVTQTlJRUoxWm1abGNpNW1jbTl0S0d0bGVTbGNiaUFnZlZ4dUlDQnBaaUFvYlc5a1pVNWhiV1VnUFQwOUlDZGtaWE10WldSbEp5QjhmQ0J0YjJSbFRtRnRaU0E5UFQwZ0oyUmxjeTFsWkdVdFkySmpKeWtnZTF4dUlDQWdJR3RsZVNBOUlFSjFabVpsY2k1amIyNWpZWFFvVzJ0bGVTd2dhMlY1TG5Oc2FXTmxLREFzSURncFhTbGNiaUFnZlZ4dUlDQjJZWElnYVhZZ1BTQnZjSFJ6TG1sMlhHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dsMktTa2dlMXh1SUNBZ0lHbDJJRDBnUW5WbVptVnlMbVp5YjIwb2FYWXBYRzRnSUgxY2JpQWdkR2hwY3k1ZlpHVnpJRDBnYlc5a1pTNWpjbVZoZEdVb2UxeHVJQ0FnSUd0bGVUb2dhMlY1TEZ4dUlDQWdJR2wyT2lCcGRpeGNiaUFnSUNCMGVYQmxPaUIwZVhCbFhHNGdJSDBwWEc1OVhHNUVSVk11Y0hKdmRHOTBlWEJsTGw5MWNHUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHRjBZU2tnZTF4dUlDQnlaWFIxY200Z1FuVm1abVZ5TG1aeWIyMG9kR2hwY3k1ZlpHVnpMblZ3WkdGMFpTaGtZWFJoS1NsY2JuMWNia1JGVXk1d2NtOTBiM1I1Y0dVdVgyWnBibUZzSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCeVpYUjFjbTRnUW5WbVptVnlMbVp5YjIwb2RHaHBjeTVmWkdWekxtWnBibUZzS0NrcFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktZGVzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LWRlcy9tb2Rlcy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiZXhwb3J0c1snZGVzLWVjYiddID0ge1xcbiAga2V5OiA4LFxcbiAgaXY6IDBcXG59XFxuZXhwb3J0c1snZGVzLWNiYyddID0gZXhwb3J0cy5kZXMgPSB7XFxuICBrZXk6IDgsXFxuICBpdjogOFxcbn1cXG5leHBvcnRzWydkZXMtZWRlMy1jYmMnXSA9IGV4cG9ydHMuZGVzMyA9IHtcXG4gIGtleTogMjQsXFxuICBpdjogOFxcbn1cXG5leHBvcnRzWydkZXMtZWRlMyddID0ge1xcbiAga2V5OiAyNCxcXG4gIGl2OiAwXFxufVxcbmV4cG9ydHNbJ2Rlcy1lZGUtY2JjJ10gPSB7XFxuICBrZXk6IDE2LFxcbiAgaXY6IDhcXG59XFxuZXhwb3J0c1snZGVzLWVkZSddID0ge1xcbiAga2V5OiAxNixcXG4gIGl2OiAwXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXUmxjeTl0YjJSbGN5NXFjejlsWkdGaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxXUmxjeTl0YjJSbGN5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltVjRjRzl5ZEhOYkoyUmxjeTFsWTJJblhTQTlJSHRjYmlBZ2EyVjVPaUE0TEZ4dUlDQnBkam9nTUZ4dWZWeHVaWGh3YjNKMGMxc25aR1Z6TFdOaVl5ZGRJRDBnWlhod2IzSjBjeTVrWlhNZ1BTQjdYRzRnSUd0bGVUb2dPQ3hjYmlBZ2FYWTZJRGhjYm4xY2JtVjRjRzl5ZEhOYkoyUmxjeTFsWkdVekxXTmlZeWRkSUQwZ1pYaHdiM0owY3k1a1pYTXpJRDBnZTF4dUlDQnJaWGs2SURJMExGeHVJQ0JwZGpvZ09GeHVmVnh1Wlhod2IzSjBjMXNuWkdWekxXVmtaVE1uWFNBOUlIdGNiaUFnYTJWNU9pQXlOQ3hjYmlBZ2FYWTZJREJjYm4xY2JtVjRjRzl5ZEhOYkoyUmxjeTFsWkdVdFkySmpKMTBnUFNCN1hHNGdJR3RsZVRvZ01UWXNYRzRnSUdsMk9pQTRYRzU5WEc1bGVIQnZjblJ6V3lka1pYTXRaV1JsSjEwZ1BTQjdYRzRnSUd0bGVUb2dNVFlzWEc0Z0lHbDJPaUF3WEc1OVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1kZXMvbW9kZXMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oQnVmZmVyKSB7dmFyIGJuID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgcmFuZG9tQnl0ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByYW5kb21ieXRlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmFuZG9tYnl0ZXMvYnJvd3Nlci5qc1xcXCIpO1xcbm1vZHVsZS5leHBvcnRzID0gY3J0O1xcbmZ1bmN0aW9uIGJsaW5kKHByaXYpIHtcXG4gIHZhciByID0gZ2V0cihwcml2KTtcXG4gIHZhciBibGluZGVyID0gci50b1JlZChibi5tb250KHByaXYubW9kdWx1cykpXFxuICAucmVkUG93KG5ldyBibihwcml2LnB1YmxpY0V4cG9uZW50KSkuZnJvbVJlZCgpO1xcbiAgcmV0dXJuIHtcXG4gICAgYmxpbmRlcjogYmxpbmRlcixcXG4gICAgdW5ibGluZGVyOnIuaW52bShwcml2Lm1vZHVsdXMpXFxuICB9O1xcbn1cXG5mdW5jdGlvbiBjcnQobXNnLCBwcml2KSB7XFxuICB2YXIgYmxpbmRzID0gYmxpbmQocHJpdik7XFxuICB2YXIgbGVuID0gcHJpdi5tb2R1bHVzLmJ5dGVMZW5ndGgoKTtcXG4gIHZhciBtb2QgPSBibi5tb250KHByaXYubW9kdWx1cyk7XFxuICB2YXIgYmxpbmRlZCA9IG5ldyBibihtc2cpLm11bChibGluZHMuYmxpbmRlcikudW1vZChwcml2Lm1vZHVsdXMpO1xcbiAgdmFyIGMxID0gYmxpbmRlZC50b1JlZChibi5tb250KHByaXYucHJpbWUxKSk7XFxuICB2YXIgYzIgPSBibGluZGVkLnRvUmVkKGJuLm1vbnQocHJpdi5wcmltZTIpKTtcXG4gIHZhciBxaW52ID0gcHJpdi5jb2VmZmljaWVudDtcXG4gIHZhciBwID0gcHJpdi5wcmltZTE7XFxuICB2YXIgcSA9IHByaXYucHJpbWUyO1xcbiAgdmFyIG0xID0gYzEucmVkUG93KHByaXYuZXhwb25lbnQxKTtcXG4gIHZhciBtMiA9IGMyLnJlZFBvdyhwcml2LmV4cG9uZW50Mik7XFxuICBtMSA9IG0xLmZyb21SZWQoKTtcXG4gIG0yID0gbTIuZnJvbVJlZCgpO1xcbiAgdmFyIGggPSBtMS5pc3ViKG0yKS5pbXVsKHFpbnYpLnVtb2QocCk7XFxuICBoLmltdWwocSk7XFxuICBtMi5pYWRkKGgpO1xcbiAgcmV0dXJuIG5ldyBCdWZmZXIobTIuaW11bChibGluZHMudW5ibGluZGVyKS51bW9kKHByaXYubW9kdWx1cykudG9BcnJheShmYWxzZSwgbGVuKSk7XFxufVxcbmNydC5nZXRyID0gZ2V0cjtcXG5mdW5jdGlvbiBnZXRyKHByaXYpIHtcXG4gIHZhciBsZW4gPSBwcml2Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpO1xcbiAgdmFyIHIgPSBuZXcgYm4ocmFuZG9tQnl0ZXMobGVuKSk7XFxuICB3aGlsZSAoci5jbXAocHJpdi5tb2R1bHVzKSA+PSAgMCB8fCAhci51bW9kKHByaXYucHJpbWUxKSB8fCAhci51bW9kKHByaXYucHJpbWUyKSkge1xcbiAgICByID0gbmV3IGJuKHJhbmRvbUJ5dGVzKGxlbikpO1xcbiAgfVxcbiAgcmV0dXJuIHI7XFxufVxcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL2J1ZmZlci9pbmRleC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWEp6WVM5cGJtUmxlQzVxY3o5bE5HVmhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEhWRVFVRlRMRzFDUVVGUExFTkJRVU1zZVVWQlFVODdRVUZEZUVJc2EwSkJRV3RDTEcxQ1FVRlBMRU5CUVVNc01FUkJRV0U3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhKellTOXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQmliaUE5SUhKbGNYVnBjbVVvSjJKdUxtcHpKeWs3WEc1MllYSWdjbUZ1Wkc5dFFubDBaWE1nUFNCeVpYRjFhWEpsS0NkeVlXNWtiMjFpZVhSbGN5Y3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JqY25RN1hHNW1kVzVqZEdsdmJpQmliR2x1WkNod2NtbDJLU0I3WEc0Z0lIWmhjaUJ5SUQwZ1oyVjBjaWh3Y21sMktUdGNiaUFnZG1GeUlHSnNhVzVrWlhJZ1BTQnlMblJ2VW1Wa0tHSnVMbTF2Ym5Rb2NISnBkaTV0YjJSMWJIVnpLU2xjYmlBZ0xuSmxaRkJ2ZHlodVpYY2dZbTRvY0hKcGRpNXdkV0pzYVdORmVIQnZibVZ1ZENrcExtWnliMjFTWldRb0tUdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmliR2x1WkdWeU9pQmliR2x1WkdWeUxGeHVJQ0FnSUhWdVlteHBibVJsY2pweUxtbHVkbTBvY0hKcGRpNXRiMlIxYkhWektWeHVJQ0I5TzF4dWZWeHVablZ1WTNScGIyNGdZM0owS0cxelp5d2djSEpwZGlrZ2UxeHVJQ0IyWVhJZ1lteHBibVJ6SUQwZ1lteHBibVFvY0hKcGRpazdYRzRnSUhaaGNpQnNaVzRnUFNCd2NtbDJMbTF2WkhWc2RYTXVZbmwwWlV4bGJtZDBhQ2dwTzF4dUlDQjJZWElnYlc5a0lEMGdZbTR1Ylc5dWRDaHdjbWwyTG0xdlpIVnNkWE1wTzF4dUlDQjJZWElnWW14cGJtUmxaQ0E5SUc1bGR5QmliaWh0YzJjcExtMTFiQ2hpYkdsdVpITXVZbXhwYm1SbGNpa3VkVzF2WkNod2NtbDJMbTF2WkhWc2RYTXBPMXh1SUNCMllYSWdZekVnUFNCaWJHbHVaR1ZrTG5SdlVtVmtLR0p1TG0xdmJuUW9jSEpwZGk1d2NtbHRaVEVwS1R0Y2JpQWdkbUZ5SUdNeUlEMGdZbXhwYm1SbFpDNTBiMUpsWkNoaWJpNXRiMjUwS0hCeWFYWXVjSEpwYldVeUtTazdYRzRnSUhaaGNpQnhhVzUySUQwZ2NISnBkaTVqYjJWbVptbGphV1Z1ZER0Y2JpQWdkbUZ5SUhBZ1BTQndjbWwyTG5CeWFXMWxNVHRjYmlBZ2RtRnlJSEVnUFNCd2NtbDJMbkJ5YVcxbE1qdGNiaUFnZG1GeUlHMHhJRDBnWXpFdWNtVmtVRzkzS0hCeWFYWXVaWGh3YjI1bGJuUXhLVHRjYmlBZ2RtRnlJRzB5SUQwZ1l6SXVjbVZrVUc5M0tIQnlhWFl1Wlhod2IyNWxiblF5S1R0Y2JpQWdiVEVnUFNCdE1TNW1jbTl0VW1Wa0tDazdYRzRnSUcweUlEMGdiVEl1Wm5KdmJWSmxaQ2dwTzF4dUlDQjJZWElnYUNBOUlHMHhMbWx6ZFdJb2JUSXBMbWx0ZFd3b2NXbHVkaWt1ZFcxdlpDaHdLVHRjYmlBZ2FDNXBiWFZzS0hFcE8xeHVJQ0J0TWk1cFlXUmtLR2dwTzF4dUlDQnlaWFIxY200Z2JtVjNJRUoxWm1abGNpaHRNaTVwYlhWc0tHSnNhVzVrY3k1MWJtSnNhVzVrWlhJcExuVnRiMlFvY0hKcGRpNXRiMlIxYkhWektTNTBiMEZ5Y21GNUtHWmhiSE5sTENCc1pXNHBLVHRjYm4xY2JtTnlkQzVuWlhSeUlEMGdaMlYwY2p0Y2JtWjFibU4wYVc5dUlHZGxkSElvY0hKcGRpa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ2NISnBkaTV0YjJSMWJIVnpMbUo1ZEdWTVpXNW5kR2dvS1R0Y2JpQWdkbUZ5SUhJZ1BTQnVaWGNnWW00b2NtRnVaRzl0UW5sMFpYTW9iR1Z1S1NrN1hHNGdJSGRvYVd4bElDaHlMbU50Y0Nod2NtbDJMbTF2WkhWc2RYTXBJRDQ5SUNBd0lIeDhJQ0Z5TG5WdGIyUW9jSEpwZGk1d2NtbHRaVEVwSUh4OElDRnlMblZ0YjJRb2NISnBkaTV3Y21sdFpUSXBLU0I3WEc0Z0lDQWdjaUE5SUc1bGR5QmliaWh5WVc1a2IyMUNlWFJsY3loc1pXNHBLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjanRjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXJzYS9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihtb2R1bGUpIHsoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xcbiAgJ3VzZSBzdHJpY3QnO1xcblxcbiAgLy8gVXRpbHNcXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcXG4gICAgaWYgKCF2YWwpIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG4gIH1cXG5cXG4gIC8vIENvdWxkIHVzZSBgaW5oZXJpdHNgIG1vZHVsZSwgYnV0IGRvbid0IHdhbnQgdG8gbW92ZSBmcm9tIHNpbmdsZSBmaWxlXFxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxcbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xcbiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcXG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XFxuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XFxuICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XFxuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcXG4gIH1cXG5cXG4gIC8vIEJOXFxuXFxuICBmdW5jdGlvbiBCTiAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xcbiAgICAgIHJldHVybiBudW1iZXI7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIHRoaXMud29yZHMgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuXFxuICAgIC8vIFJlZHVjdGlvbiBjb250ZXh0XFxuICAgIHRoaXMucmVkID0gbnVsbDtcXG5cXG4gICAgaWYgKG51bWJlciAhPT0gbnVsbCkge1xcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcXG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XFxuICAgICAgICBiYXNlID0gMTA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuX2luaXQobnVtYmVyIHx8IDAsIGJhc2UgfHwgMTAsIGVuZGlhbiB8fCAnYmUnKTtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKSB7XFxuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XFxuICB9IGVsc2Uge1xcbiAgICBleHBvcnRzLkJOID0gQk47XFxuICB9XFxuXFxuICBCTi5CTiA9IEJOO1xcbiAgQk4ud29yZFNpemUgPSAyNjtcXG5cXG4gIHZhciBCdWZmZXI7XFxuICB0cnkge1xcbiAgICBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gOSkuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhKellTOXViMlJsWDIxdlpIVnNaWE12WW00dWFuTXZiR2xpTDJKdUxtcHpQelF4Wm1RaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHVkJRVkU3UVVGRE4wSXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1MSGREUVVGM1F6dEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIZERRVUYzUXl4UlFVRlJPMEZCUTJoRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeDNRa0ZCZDBJc2JVSkJRVzFDTzBGQlF6TkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVFrRkJkVUlzVTBGQlV6dEJRVU5vUXpzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHpRMEZCYzBNc1dVRkJXVHRCUVVOc1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZDUVVGMVFpeFRRVUZUTzBGQlEyaERPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNjME5CUVhORExITkNRVUZ6UWp0QlFVTTFSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1UwRkJVenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2xDUVVGcFFqdEJRVU53UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMR2xDUVVGcFFqdEJRVU4wUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRFJDUVVFMFFqdEJRVU0zUXp0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4aFFVRmhPMEZCUXpsQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3hwUWtGQmFVSXNZVUZCWVR0QlFVTTVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc1dVRkJXU3hsUVVGbE8wRkJRek5DTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEhGQ1FVRnhRaXhuUWtGQlowSTdRVUZEY2tNN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdPMEZCUlVFN1FVRkRRU3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1ZVRkJWU3cyUWtGQk5rSTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeFpRVUZaTEdOQlFXTTdRVUZETVVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGVkJRVlVzTmtKQlFUWkNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dlJFRkJiMFFzVjBGQlZ6dEJRVU12UkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHZRa0ZCYjBJN1FVRkRka003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2IwUkJRVzlFTEZkQlFWYzdRVUZETDBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4eFFrRkJjVUlzVDBGQlR6dEJRVU0xUWp0QlFVTkJPenRCUVVWQkxIVkNRVUYxUWl4UFFVRlBPMEZCUXpsQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVFrRkJkVUlzUjBGQlJ6dEJRVU14UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNWMEZCVnp0QlFVTTVRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNWMEZCVnp0QlFVTTVRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGTkJRVk03UVVGRE5VSTdPMEZCUlVFc2EwTkJRV3RETzBGQlEyeERMSE5EUVVGelF6dEJRVU4wUXpzN1FVRkZRVHRCUVVOQkxIRkNRVUZ4UWl4UFFVRlBPMEZCUXpWQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhqUVVGak8wRkJRMnBETzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cyUWtGQk5rSXNZMEZCWXp0QlFVTXpRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeHBRa0ZCYVVJN1FVRkRiRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc0swSkJRU3RDTEZGQlFWRTdRVUZEZGtNN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1QwRkJUenRCUVVONFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNhVUpCUVdsQ0xHbENRVUZwUWp0QlFVTnNRenRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMQ3REUVVFclF6dEJRVU5zUlR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3h4UWtGQmNVSXNjME5CUVhORE8wRkJRek5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWlVGQlpTeG5Ra0ZCWjBJN1FVRkRMMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1ZVRkJWU3g1UWtGQmVVSTdRVUZEYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWlVGQlpTeHBRa0ZCYVVJN1FVRkRhRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xHTkJRV003UVVGRGJrTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIVkNRVUYxUWl4UlFVRlJPMEZCUXk5Q08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cyUWtGQk5rSXNiVU5CUVcxRE8wRkJRMmhGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3gxUWtGQmRVSXNNRUpCUVRCQ08wRkJRMnBFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeG5RMEZCWjBNN1FVRkRia1E3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsRFFVRnBReXhSUVVGUk8wRkJRM3BETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4WlFVRlpPMEZCUXk5Q08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3huUWtGQlowSXNhMEpCUVd0Q08wRkJRMnhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4blFrRkJaMEk3UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaMEpCUVdkQ08wRkJRMjVETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHhRa0ZCY1VJc2IwSkJRVzlDTzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaMEpCUVdkQ08wRkJRMjVETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc05FSkJRVFJDTEZGQlFWRTdRVUZEY0VNN1FVRkRRU3cyUWtGQk5rSXNVVUZCVVR0QlFVTnlRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZMRTFCUVRaQ0lpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdGNuTmhMMjV2WkdWZmJXOWtkV3hsY3k5aWJpNXFjeTlzYVdJdlltNHVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW9ablZ1WTNScGIyNGdLRzF2WkhWc1pTd2daWGh3YjNKMGN5a2dlMXh1SUNBbmRYTmxJSE4wY21samRDYzdYRzVjYmlBZ0x5OGdWWFJwYkhOY2JpQWdablZ1WTNScGIyNGdZWE56WlhKMElDaDJZV3dzSUcxelp5a2dlMXh1SUNBZ0lHbG1JQ2doZG1Gc0tTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb2JYTm5JSHg4SUNkQmMzTmxjblJwYjI0Z1ptRnBiR1ZrSnlrN1hHNGdJSDFjYmx4dUlDQXZMeUJEYjNWc1pDQjFjMlVnWUdsdWFHVnlhWFJ6WUNCdGIyUjFiR1VzSUdKMWRDQmtiMjRuZENCM1lXNTBJSFJ2SUcxdmRtVWdabkp2YlNCemFXNW5iR1VnWm1sc1pWeHVJQ0F2THlCaGNtTm9hWFJsWTNSMWNtVWdlV1YwTGx4dUlDQm1kVzVqZEdsdmJpQnBibWhsY21sMGN5QW9ZM1J2Y2l3Z2MzVndaWEpEZEc5eUtTQjdYRzRnSUNBZ1kzUnZjaTV6ZFhCbGNsOGdQU0J6ZFhCbGNrTjBiM0k3WEc0Z0lDQWdkbUZ5SUZSbGJYQkRkRzl5SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMzA3WEc0Z0lDQWdWR1Z0Y0VOMGIzSXVjSEp2ZEc5MGVYQmxJRDBnYzNWd1pYSkRkRzl5TG5CeWIzUnZkSGx3WlR0Y2JpQWdJQ0JqZEc5eUxuQnliM1J2ZEhsd1pTQTlJRzVsZHlCVVpXMXdRM1J2Y2lncE8xeHVJQ0FnSUdOMGIzSXVjSEp2ZEc5MGVYQmxMbU52Ym5OMGNuVmpkRzl5SUQwZ1kzUnZjanRjYmlBZ2ZWeHVYRzRnSUM4dklFSk9YRzVjYmlBZ1puVnVZM1JwYjI0Z1FrNGdLRzUxYldKbGNpd2dZbUZ6WlN3Z1pXNWthV0Z1S1NCN1hHNGdJQ0FnYVdZZ0tFSk9MbWx6UWs0b2JuVnRZbVZ5S1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJXSmxjanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCMGFHbHpMbmR2Y21SeklEMGdiblZzYkR0Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlEQTdYRzVjYmlBZ0lDQXZMeUJTWldSMVkzUnBiMjRnWTI5dWRHVjRkRnh1SUNBZ0lIUm9hWE11Y21Wa0lEMGdiblZzYkR0Y2JseHVJQ0FnSUdsbUlDaHVkVzFpWlhJZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FuYkdVbklIeDhJR0poYzJVZ1BUMDlJQ2RpWlNjcElIdGNiaUFnSUNBZ0lDQWdaVzVrYVdGdUlEMGdZbUZ6WlR0Y2JpQWdJQ0FnSUNBZ1ltRnpaU0E5SURFd08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TGw5cGJtbDBLRzUxYldKbGNpQjhmQ0F3TENCaVlYTmxJSHg4SURFd0xDQmxibVJwWVc0Z2ZId2dKMkpsSnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdsbUlDaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1FrNDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdaWGh3YjNKMGN5NUNUaUE5SUVKT08xeHVJQ0I5WEc1Y2JpQWdRazR1UWs0Z1BTQkNUanRjYmlBZ1FrNHVkMjl5WkZOcGVtVWdQU0F5Tmp0Y2JseHVJQ0IyWVhJZ1FuVm1abVZ5TzF4dUlDQjBjbmtnZTF4dUlDQWdJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KMkoxWm1abGNpY3BMa0oxWm1abGNqdGNiaUFnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0I5WEc1Y2JpQWdRazR1YVhOQ1RpQTlJR1oxYm1OMGFXOXVJR2x6UWs0Z0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNodWRXMGdhVzV6ZEdGdVkyVnZaaUJDVGlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTQWhQVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdiblZ0SUQwOVBTQW5iMkpxWldOMEp5QW1KbHh1SUNBZ0lDQWdiblZ0TG1OdmJuTjBjblZqZEc5eUxuZHZjbVJUYVhwbElEMDlQU0JDVGk1M2IzSmtVMmw2WlNBbUppQkJjbkpoZVM1cGMwRnljbUY1S0c1MWJTNTNiM0prY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1YldGNElEMGdablZ1WTNScGIyNGdiV0Y0SUNoc1pXWjBMQ0J5YVdkb2RDa2dlMXh1SUNBZ0lHbG1JQ2hzWldaMExtTnRjQ2h5YVdkb2RDa2dQaUF3S1NCeVpYUjFjbTRnYkdWbWREdGNiaUFnSUNCeVpYUjFjbTRnY21sbmFIUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWJXbHVJRDBnWm5WdVkzUnBiMjRnYldsdUlDaHNaV1owTENCeWFXZG9kQ2tnZTF4dUlDQWdJR2xtSUNoc1pXWjBMbU50Y0NoeWFXZG9kQ2tnUENBd0tTQnlaWFIxY200Z2JHVm1kRHRjYmlBZ0lDQnlaWFIxY200Z2NtbG5hSFE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlwYm1sMElEMGdablZ1WTNScGIyNGdhVzVwZENBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzUxYldKbGNpQTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXBibWwwVG5WdFltVnlLRzUxYldKbGNpd2dZbUZ6WlN3Z1pXNWthV0Z1S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1MWJXSmxjaUE5UFQwZ0oyOWlhbVZqZENjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYm1sMFFYSnlZWGtvYm5WdFltVnlMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGlZWE5sSUQwOVBTQW5hR1Y0SnlrZ2UxeHVJQ0FnSUNBZ1ltRnpaU0E5SURFMk8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWs3WEc1Y2JpQWdJQ0J1ZFcxaVpYSWdQU0J1ZFcxaVpYSXVkRzlUZEhKcGJtY29LUzV5WlhCc1lXTmxLQzljWEhNckwyY3NJQ2NuS1R0Y2JpQWdJQ0IyWVhJZ2MzUmhjblFnUFNBd08xeHVJQ0FnSUdsbUlDaHVkVzFpWlhKYk1GMGdQVDA5SUNjdEp5a2dlMXh1SUNBZ0lDQWdjM1JoY25Rckt6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdNVFlwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYM0JoY25ObFNHVjRLRzUxYldKbGNpd2djM1JoY25RcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOXdZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQmlZWE5sTENCemRHRnlkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0c1MWJXSmxjbHN3WFNBOVBUMGdKeTBuS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxuTjBjbWx3S0NrN1hHNWNiaUFnSUNCcFppQW9aVzVrYVdGdUlDRTlQU0FuYkdVbktTQnlaWFIxY200N1hHNWNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBUblZ0WW1WeUlEMGdablZ1WTNScGIyNGdYMmx1YVhST2RXMWlaWElnS0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtTQjdYRzRnSUNBZ2FXWWdLRzUxYldKbGNpQThJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnYm5WdFltVnlJRDBnTFc1MWJXSmxjanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLRzUxYldKbGNpQThJREI0TkRBd01EQXdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prY3lBOUlGc2diblZ0WW1WeUlDWWdNSGd6Wm1abVptWm1JRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzFpWlhJZ1BDQXdlREV3TURBd01EQXdNREF3TURBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptWEc0Z0lDQWdJQ0JkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXlPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGMzTmxjblFvYm5WdFltVnlJRHdnTUhneU1EQXdNREF3TURBd01EQXdNQ2s3SUM4dklESWdYaUExTXlBb2RXNXpZV1psS1Z4dUlDQWdJQ0FnZEdocGN5NTNiM0prY3lBOUlGdGNiaUFnSUNBZ0lDQWdiblZ0WW1WeUlDWWdNSGd6Wm1abVptWm1MRnh1SUNBZ0lDQWdJQ0FvYm5WdFltVnlJQzhnTUhnME1EQXdNREF3S1NBbUlEQjRNMlptWm1abVppeGNiaUFnSUNBZ0lDQWdNVnh1SUNBZ0lDQWdYVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ016dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9aVzVrYVdGdUlDRTlQU0FuYkdVbktTQnlaWFIxY200N1hHNWNiaUFnSUNBdkx5QlNaWFpsY25ObElIUm9aU0JpZVhSbGMxeHVJQ0FnSUhSb2FYTXVYMmx1YVhSQmNuSmhlU2gwYUdsekxuUnZRWEp5WVhrb0tTd2dZbUZ6WlN3Z1pXNWthV0Z1S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsdWFYUkJjbkpoZVNBOUlHWjFibU4wYVc5dUlGOXBibWwwUVhKeVlYa2dLRzUxYldKbGNpd2dZbUZ6WlN3Z1pXNWthV0Z1S1NCN1hHNGdJQ0FnTHk4Z1VHVnlhR0Z3Y3lCaElGVnBiblE0UVhKeVlYbGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRzUxYldKbGNpNXNaVzVuZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQnBaaUFvYm5WdFltVnlMbXhsYm1kMGFDQThQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SeklEMGdXeUF3SUYwN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlFMWhkR2d1WTJWcGJDaHVkVzFpWlhJdWJHVnVaM1JvSUM4Z015azdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQnBaaUFvWlc1a2FXRnVJRDA5UFNBblltVW5LU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0J1ZFcxaVpYSXViR1Z1WjNSb0lDMGdNU3dnYWlBOUlEQTdJR2tnUGowZ01Ec2dhU0F0UFNBektTQjdYRzRnSUNBZ0lDQWdJSGNnUFNCdWRXMWlaWEpiYVYwZ2ZDQW9iblZ0WW1WeVcya2dMU0F4WFNBOFBDQTRLU0I4SUNodWRXMWlaWEpiYVNBdElESmRJRHc4SURFMktUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxWFNCOFBTQW9keUE4UENCdlptWXBJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNBOUlDaDNJRDQrUGlBb01qWWdMU0J2Wm1ZcEtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQ0FnYjJabUlDczlJREkwTzF4dUlDQWdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1JQzA5SURJMk8xeHVJQ0FnSUNBZ0lDQWdJR29yS3p0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1pXNWthV0Z1SUQwOVBTQW5iR1VuS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd0xDQnFJRDBnTURzZ2FTQThJRzUxYldKbGNpNXNaVzVuZEdnN0lHa2dLejBnTXlrZ2UxeHVJQ0FnSUNBZ0lDQjNJRDBnYm5WdFltVnlXMmxkSUh3Z0tHNTFiV0psY2x0cElDc2dNVjBnUER3Z09Da2dmQ0FvYm5WdFltVnlXMmtnS3lBeVhTQThQQ0F4TmlrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhbDBnZkQwZ0tIY2dQRHdnYjJabUtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cUlDc2dNVjBnUFNBb2R5QStQajRnS0RJMklDMGdiMlptS1NrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHOW1aaUErUFNBeU5pa2dlMXh1SUNBZ0lDQWdJQ0FnSUc5bVppQXRQU0F5Tmp0Y2JpQWdJQ0FnSUNBZ0lDQnFLeXM3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCd1lYSnpaVWhsZUNBb2MzUnlMQ0J6ZEdGeWRDd2daVzVrS1NCN1hHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJSFpoY2lCc1pXNGdQU0JOWVhSb0xtMXBiaWh6ZEhJdWJHVnVaM1JvTENCbGJtUXBPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGeWREc2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdZeUE5SUhOMGNpNWphR0Z5UTI5a1pVRjBLR2twSUMwZ05EZzdYRzVjYmlBZ0lDQWdJSElnUER3OUlEUTdYRzVjYmlBZ0lDQWdJQzh2SUNkaEp5QXRJQ2RtSjF4dUlDQWdJQ0FnYVdZZ0tHTWdQajBnTkRrZ0ppWWdZeUE4UFNBMU5Da2dlMXh1SUNBZ0lDQWdJQ0J5SUh3OUlHTWdMU0EwT1NBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0owRW5JQzBnSjBZblhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tHTWdQajBnTVRjZ0ppWWdZeUE4UFNBeU1pa2dlMXh1SUNBZ0lDQWdJQ0J5SUh3OUlHTWdMU0F4TnlBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0p6QW5JQzBnSnprblhHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCeUlIdzlJR01nSmlBd2VHWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVaGxlQ0E5SUdaMWJtTjBhVzl1SUY5d1lYSnpaVWhsZUNBb2JuVnRZbVZ5TENCemRHRnlkQ2tnZTF4dUlDQWdJQzh2SUVOeVpXRjBaU0J3YjNOemFXSnNlU0JpYVdkblpYSWdZWEp5WVhrZ2RHOGdaVzV6ZFhKbElIUm9ZWFFnYVhRZ1ptbDBjeUIwYUdVZ2JuVnRZbVZ5WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCTllYUm9MbU5sYVd3b0tHNTFiV0psY2k1c1pXNW5kR2dnTFNCemRHRnlkQ2tnTHlBMktUdGNiaUFnSUNCMGFHbHpMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCcUxDQjNPMXh1SUNBZ0lDOHZJRk5qWVc0Z01qUXRZbWwwSUdOb2RXNXJjeUJoYm1RZ1lXUmtJSFJvWlcwZ2RHOGdkR2hsSUc1MWJXSmxjbHh1SUNBZ0lIWmhjaUJ2Wm1ZZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNBMkxDQnFJRDBnTURzZ2FTQStQU0J6ZEdGeWREc2dhU0F0UFNBMktTQjdYRzRnSUNBZ0lDQjNJRDBnY0dGeWMyVklaWGdvYm5WdFltVnlMQ0JwTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNBdkx5Qk9UMVJGT2lCZ01IZ3pabVptWm1aZ0lHbHpJR2x1ZEdWdWRHbHZibUZzSUdobGNtVXNJREkyWW1sMGN5QnRZWGdnYzJocFpuUWdLeUF5TkdKcGRDQm9aWGdnYkdsdFlseHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ2ZEMGdkeUErUGo0Z0tESTJJQzBnYjJabUtTQW1JREI0TTJabVptWm1PMXh1SUNBZ0lDQWdiMlptSUNzOUlESTBPMXh1SUNBZ0lDQWdhV1lnS0c5bVppQStQU0F5TmlrZ2UxeHVJQ0FnSUNBZ0lDQnZabVlnTFQwZ01qWTdYRzRnSUNBZ0lDQWdJR29yS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0drZ0t5QTJJQ0U5UFNCemRHRnlkQ2tnZTF4dUlDQWdJQ0FnZHlBOUlIQmhjbk5sU0dWNEtHNTFiV0psY2l3Z2MzUmhjblFzSUdrZ0t5QTJLVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUh3OUlIY2dQajQrSUNneU5pQXRJRzltWmlrZ0ppQXdlRE5tWm1abVpqdGNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSEJoY25ObFFtRnpaU0FvYzNSeUxDQnpkR0Z5ZEN3Z1pXNWtMQ0J0ZFd3cElIdGNiaUFnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnZG1GeUlHeGxiaUE5SUUxaGRHZ3ViV2x1S0hOMGNpNXNaVzVuZEdnc0lHVnVaQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z2JHVnVPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2MzUnlMbU5vWVhKRGIyUmxRWFFvYVNrZ0xTQTBPRHRjYmx4dUlDQWdJQ0FnY2lBcVBTQnRkV3c3WEc1Y2JpQWdJQ0FnSUM4dklDZGhKMXh1SUNBZ0lDQWdhV1lnS0dNZ1BqMGdORGtwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0JqSUMwZ05Ea2dLeUF3ZUdFN1hHNWNiaUFnSUNBZ0lDOHZJQ2RCSjF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaklENDlJREUzS1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElERTNJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuTUNjZ0xTQW5PU2RjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ1l6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYM0JoY25ObFFtRnpaU0E5SUdaMWJtTjBhVzl1SUY5d1lYSnpaVUpoYzJVZ0tHNTFiV0psY2l3Z1ltRnpaU3dnYzNSaGNuUXBJSHRjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUdGeklIcGxjbTljYmlBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lBd0lGMDdYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dVhHNGdJQ0FnTHk4Z1JtbHVaQ0JzWlc1bmRHZ2diMllnYkdsdFlpQnBiaUJpWVhObFhHNGdJQ0FnWm05eUlDaDJZWElnYkdsdFlreGxiaUE5SURBc0lHeHBiV0pRYjNjZ1BTQXhPeUJzYVcxaVVHOTNJRHc5SURCNE0yWm1abVptWmpzZ2JHbHRZbEJ2ZHlBcVBTQmlZWE5sS1NCN1hHNGdJQ0FnSUNCc2FXMWlUR1Z1S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJR3hwYldKTVpXNHRMVHRjYmlBZ0lDQnNhVzFpVUc5M0lEMGdLR3hwYldKUWIzY2dMeUJpWVhObEtTQjhJREE3WEc1Y2JpQWdJQ0IyWVhJZ2RHOTBZV3dnUFNCdWRXMWlaWEl1YkdWdVozUm9JQzBnYzNSaGNuUTdYRzRnSUNBZ2RtRnlJRzF2WkNBOUlIUnZkR0ZzSUNVZ2JHbHRZa3hsYmp0Y2JpQWdJQ0IyWVhJZ1pXNWtJRDBnVFdGMGFDNXRhVzRvZEc5MFlXd3NJSFJ2ZEdGc0lDMGdiVzlrS1NBcklITjBZWEowTzF4dVhHNGdJQ0FnZG1GeUlIZHZjbVFnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpkR0Z5ZERzZ2FTQThJR1Z1WkRzZ2FTQXJQU0JzYVcxaVRHVnVLU0I3WEc0Z0lDQWdJQ0IzYjNKa0lEMGdjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dhU3dnYVNBcklHeHBiV0pNWlc0c0lHSmhjMlVwTzF4dVhHNGdJQ0FnSUNCMGFHbHpMbWx0ZFd4dUtHeHBiV0pRYjNjcE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWQyOXlaSE5iTUYwZ0t5QjNiM0prSUR3Z01IZzBNREF3TURBd0tTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0t6MGdkMjl5WkR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVYMmxoWkdSdUtIZHZjbVFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodGIyUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ3YjNjZ1BTQXhPMXh1SUNBZ0lDQWdkMjl5WkNBOUlIQmhjbk5sUW1GelpTaHVkVzFpWlhJc0lHa3NJRzUxYldKbGNpNXNaVzVuZEdnc0lHSmhjMlVwTzF4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYlc5a095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NHOTNJQ285SUdKaGMyVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWFXMTFiRzRvY0c5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbU52Y0hrZ1BTQm1kVzVqZEdsdmJpQmpiM0I1SUNoa1pYTjBLU0I3WEc0Z0lDQWdaR1Z6ZEM1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmtaWE4wTG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzRnSUNBZ1pHVnpkQzVzWlc1bmRHZ2dQU0IwYUdsekxteGxibWQwYUR0Y2JpQWdJQ0JrWlhOMExtNWxaMkYwYVhabElEMGdkR2hwY3k1dVpXZGhkR2wyWlR0Y2JpQWdJQ0JrWlhOMExuSmxaQ0E5SUhSb2FYTXVjbVZrTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYkc5dVpTQTlJR1oxYm1OMGFXOXVJR05zYjI1bElDZ3BJSHRjYmlBZ0lDQjJZWElnY2lBOUlHNWxkeUJDVGlodWRXeHNLVHRjYmlBZ0lDQjBhR2x6TG1OdmNIa29jaWs3WEc0Z0lDQWdjbVYwZFhKdUlISTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOWxlSEJoYm1RZ1BTQm1kVzVqZEdsdmJpQmZaWGh3WVc1a0lDaHphWHBsS1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUR3Z2MybDZaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFDc3JYU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkpsYlc5MlpTQnNaV0ZrYVc1bklHQXdZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNSeWFYQWdQU0JtZFc1amRHbHZiaUJ6ZEhKcGNDQW9LU0I3WEc0Z0lDQWdkMmhwYkdVZ0tIUm9hWE11YkdWdVozUm9JRDRnTVNBbUppQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvSUMwZ01WMGdQVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYm05eWJWTnBaMjRnUFNCbWRXNWpkR2x2YmlCZmJtOXliVk5wWjI0Z0tDa2dlMXh1SUNBZ0lDOHZJQzB3SUQwZ01GeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01TQW1KaUIwYUdsekxuZHZjbVJ6V3pCZElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWNtVmtJRDhnSnp4Q1RpMVNPaUFuSURvZ0p6eENUam9nSnlrZ0t5QjBhR2x6TG5SdlUzUnlhVzVuS0RFMktTQXJJQ2MrSnp0Y2JpQWdmVHRjYmx4dUlDQXZLbHh1WEc0Z0lIWmhjaUI2WlhKdmN5QTlJRnRkTzF4dUlDQjJZWElnWjNKdmRYQlRhWHBsY3lBOUlGdGRPMXh1SUNCMllYSWdaM0p2ZFhCQ1lYTmxjeUE5SUZ0ZE8xeHVYRzRnSUhaaGNpQnpJRDBnSnljN1hHNGdJSFpoY2lCcElEMGdMVEU3WEc0Z0lIZG9hV3hsSUNncksya2dQQ0JDVGk1M2IzSmtVMmw2WlNrZ2UxeHVJQ0FnSUhwbGNtOXpXMmxkSUQwZ2N6dGNiaUFnSUNCeklDczlJQ2N3Snp0Y2JpQWdmVnh1SUNCbmNtOTFjRk5wZW1Weld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCVGFYcGxjMXN4WFNBOUlEQTdYRzRnSUdkeWIzVndRbUZ6WlhOYk1GMGdQU0F3TzF4dUlDQm5jbTkxY0VKaGMyVnpXekZkSUQwZ01EdGNiaUFnZG1GeUlHSmhjMlVnUFNBeUlDMGdNVHRjYmlBZ2QyaHBiR1VnS0NzclltRnpaU0E4SURNMklDc2dNU2tnZTF4dUlDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQXdPMXh1SUNBZ0lIWmhjaUJuY205MWNFSmhjMlVnUFNBeE8xeHVJQ0FnSUhkb2FXeGxJQ2huY205MWNFSmhjMlVnUENBb01TQThQQ0JDVGk1M2IzSmtVMmw2WlNrZ0x5QmlZWE5sS1NCN1hHNGdJQ0FnSUNCbmNtOTFjRUpoYzJVZ0tqMGdZbUZ6WlR0Y2JpQWdJQ0FnSUdkeWIzVndVMmw2WlNBclBTQXhPMXh1SUNBZ0lIMWNiaUFnSUNCbmNtOTFjRk5wZW1WelcySmhjMlZkSUQwZ1ozSnZkWEJUYVhwbE8xeHVJQ0FnSUdkeWIzVndRbUZ6WlhOYlltRnpaVjBnUFNCbmNtOTFjRUpoYzJVN1hHNGdJSDFjYmx4dUlDQXFMMXh1WEc0Z0lIWmhjaUI2WlhKdmN5QTlJRnRjYmlBZ0lDQW5KeXhjYmlBZ0lDQW5NQ2NzWEc0Z0lDQWdKekF3Snl4Y2JpQWdJQ0FuTURBd0p5eGNiaUFnSUNBbk1EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ2RjYmlBZ1hUdGNibHh1SUNCMllYSWdaM0p2ZFhCVGFYcGxjeUE5SUZ0Y2JpQWdJQ0F3TENBd0xGeHVJQ0FnSURJMUxDQXhOaXdnTVRJc0lERXhMQ0F4TUN3Z09Td2dPQ3hjYmlBZ0lDQTRMQ0EzTENBM0xDQTNMQ0EzTENBMkxDQTJMRnh1SUNBZ0lEWXNJRFlzSURZc0lEWXNJRFlzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05TeGNiaUFnSUNBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMVhHNGdJRjA3WEc1Y2JpQWdkbUZ5SUdkeWIzVndRbUZ6WlhNZ1BTQmJYRzRnSUNBZ01Dd2dNQ3hjYmlBZ0lDQXpNelUxTkRRek1pd2dORE13TkRZM01qRXNJREUyTnpjM01qRTJMQ0EwT0RneU9ERXlOU3dnTmpBME5qWXhOellzSURRd016VXpOakEzTENBeE5qYzNOekl4Tml4Y2JpQWdJQ0EwTXpBME5qY3lNU3dnTVRBd01EQXdNREFzSURFNU5EZzNNVGN4TENBek5UZ3pNVGd3T0N3Z05qSTNORGcxTVRjc0lEYzFNamsxTXpZc0lERXhNemt3TmpJMUxGeHVJQ0FnSURFMk56YzNNakUyTENBeU5ERXpOelUyT1N3Z016UXdNVEl5TWpRc0lEUTNNRFExT0RneExDQTJOREF3TURBd01Dd2dOREE0TkRFd01Td2dOVEUxTXpZek1peGNiaUFnSUNBMk5ETTJNelF6TENBM09UWXlOakkwTENBNU56WTFOakkxTENBeE1UZzRNVE0zTml3Z01UUXpORGc1TURjc0lERTNNakV3TXpZNExDQXlNRFV4TVRFME9TeGNiaUFnSUNBeU5ETXdNREF3TUN3Z01qZzJNamt4TlRFc0lETXpOVFUwTkRNeUxDQXpPVEV6TlRNNU15d2dORFUwTXpVME1qUXNJRFV5TlRJeE9EYzFMQ0EyTURRMk5qRTNObHh1SUNCZE8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMU4wY21sdVp5QTlJR1oxYm1OMGFXOXVJSFJ2VTNSeWFXNW5JQ2hpWVhObExDQndZV1JrYVc1bktTQjdYRzRnSUNBZ1ltRnpaU0E5SUdKaGMyVWdmSHdnTVRBN1hHNGdJQ0FnY0dGa1pHbHVaeUE5SUhCaFpHUnBibWNnZkNBd0lIeDhJREU3WEc1Y2JpQWdJQ0IyWVhJZ2IzVjBPMXh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0F4TmlCOGZDQmlZWE5sSUQwOVBTQW5hR1Y0SnlrZ2UxeHVJQ0FnSUNBZ2IzVjBJRDBnSnljN1hHNGdJQ0FnSUNCMllYSWdiMlptSUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUNnb0tIY2dQRHdnYjJabUtTQjhJR05oY25KNUtTQW1JREI0Wm1abVptWm1LUzUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJQ0FnSUNBZ0lHTmhjbko1SUQwZ0tIY2dQajQrSUNneU5DQXRJRzltWmlrcElDWWdNSGhtWm1abVptWTdYRzRnSUNBZ0lDQWdJR2xtSUNoallYSnllU0FoUFQwZ01DQjhmQ0JwSUNFOVBTQjBhR2x6TG14bGJtZDBhQ0F0SURFcElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhRZ1BTQjZaWEp2YzFzMklDMGdkMjl5WkM1c1pXNW5kR2hkSUNzZ2QyOXlaQ0FySUc5MWREdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhRZ1BTQjNiM0prSUNzZ2IzVjBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TzF4dUlDQWdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2IyWm1JQzA5SURJMk8xeHVJQ0FnSUNBZ0lDQWdJR2t0TFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUdOaGNuSjVMblJ2VTNSeWFXNW5LREUyS1NBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSGRvYVd4bElDaHZkWFF1YkdWdVozUm9JQ1VnY0dGa1pHbHVaeUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5NQ2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNBbkxTY2dLeUJ2ZFhRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnYjNWME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGlZWE5sSUQwOVBTQW9ZbUZ6WlNCOElEQXBJQ1ltSUdKaGMyVWdQajBnTWlBbUppQmlZWE5sSUR3OUlETTJLU0I3WEc0Z0lDQWdJQ0F2THlCMllYSWdaM0p2ZFhCVGFYcGxJRDBnVFdGMGFDNW1iRzl2Y2loQ1RpNTNiM0prVTJsNlpTQXFJRTFoZEdndVRFNHlJQzhnVFdGMGFDNXNiMmNvWW1GelpTa3BPMXh1SUNBZ0lDQWdkbUZ5SUdkeWIzVndVMmw2WlNBOUlHZHliM1Z3VTJsNlpYTmJZbUZ6WlYwN1hHNGdJQ0FnSUNBdkx5QjJZWElnWjNKdmRYQkNZWE5sSUQwZ1RXRjBhQzV3YjNjb1ltRnpaU3dnWjNKdmRYQlRhWHBsS1R0Y2JpQWdJQ0FnSUhaaGNpQm5jbTkxY0VKaGMyVWdQU0JuY205MWNFSmhjMlZ6VzJKaGMyVmRPMXh1SUNBZ0lDQWdiM1YwSUQwZ0p5YzdYRzRnSUNBZ0lDQjJZWElnWXlBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQWdJR011Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2QyaHBiR1VnS0NGakxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCeUlEMGdZeTV0YjJSdUtHZHliM1Z3UW1GelpTa3VkRzlUZEhKcGJtY29ZbUZ6WlNrN1hHNGdJQ0FnSUNBZ0lHTWdQU0JqTG1sa2FYWnVLR2R5YjNWd1FtRnpaU2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZqTG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiM1YwSUQwZ2VtVnliM05iWjNKdmRYQlRhWHBsSUMwZ2NpNXNaVzVuZEdoZElDc2djaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J2ZFhRZ1BTQnlJQ3NnYjNWME8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5NQ2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb2IzVjBMbXhsYm1kMGFDQWxJSEJoWkdScGJtY2dJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p6QW5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2IzVjBJRDBnSnkwbklDc2diM1YwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVJRzkxZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoYzNObGNuUW9abUZzYzJVc0lDZENZWE5sSUhOb2IzVnNaQ0JpWlNCaVpYUjNaV1Z1SURJZ1lXNWtJRE0ySnlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlRuVnRZbVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOU9kVzFpWlhJZ0tDa2dlMXh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQjBhR2x6TG5kdmNtUnpXekJkTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTWlrZ2UxeHVJQ0FnSUNBZ2NtVjBJQ3M5SUhSb2FYTXVkMjl5WkhOYk1WMGdLaUF3ZURRd01EQXdNREE3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNeUFtSmlCMGFHbHpMbmR2Y21Seld6SmRJRDA5UFNBd2VEQXhLU0I3WEc0Z0lDQWdJQ0F2THlCT1QxUkZPaUJoZENCMGFHbHpJSE4wWVdkbElHbDBJR2x6SUd0dWIzZHVJSFJvWVhRZ2RHaGxJSFJ2Y0NCaWFYUWdhWE1nYzJWMFhHNGdJQ0FnSUNCeVpYUWdLejBnTUhneE1EQXdNREF3TURBd01EQXdNQ0FySUNoMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdNaWtnZTF4dUlDQWdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5UblZ0WW1WeUlHTmhiaUJ2Ym14NUlITmhabVZzZVNCemRHOXlaU0IxY0NCMGJ5QTFNeUJpYVhSekp5azdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ1B5QXRjbVYwSURvZ2NtVjBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMHBUVDA0Z1BTQm1kVzVqZEdsdmJpQjBiMHBUVDA0Z0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMblJ2VTNSeWFXNW5LREUyS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5Q2RXWm1aWElnUFNCbWRXNWpkR2x2YmlCMGIwSjFabVpsY2lBb1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlFSjFabVpsY2lBaFBUMGdKM1Z1WkdWbWFXNWxaQ2NwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5SdlFYSnlZWGxNYVd0bEtFSjFabVpsY2l3Z1pXNWthV0Z1TENCc1pXNW5kR2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBGeWNtRjVJRDBnWm5WdVkzUnBiMjRnZEc5QmNuSmhlU0FvWlc1a2FXRnVMQ0JzWlc1bmRHZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjBGeWNtRjVUR2xyWlNoQmNuSmhlU3dnWlc1a2FXRnVMQ0JzWlc1bmRHZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMEZ5Y21GNVRHbHJaU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGxNYVd0bElDaEJjbkpoZVZSNWNHVXNJR1Z1WkdsaGJpd2diR1Z1WjNSb0tTQjdYRzRnSUNBZ2RtRnlJR0o1ZEdWTVpXNW5kR2dnUFNCMGFHbHpMbUo1ZEdWTVpXNW5kR2dvS1R0Y2JpQWdJQ0IyWVhJZ2NtVnhUR1Z1WjNSb0lEMGdiR1Z1WjNSb0lIeDhJRTFoZEdndWJXRjRLREVzSUdKNWRHVk1aVzVuZEdncE8xeHVJQ0FnSUdGemMyVnlkQ2hpZVhSbFRHVnVaM1JvSUR3OUlISmxjVXhsYm1kMGFDd2dKMko1ZEdVZ1lYSnlZWGtnYkc5dVoyVnlJSFJvWVc0Z1pHVnphWEpsWkNCc1pXNW5kR2duS1R0Y2JpQWdJQ0JoYzNObGNuUW9jbVZ4VEdWdVozUm9JRDRnTUN3Z0oxSmxjWFZsYzNSbFpDQmhjbkpoZVNCc1pXNW5kR2dnUEQwZ01DY3BPMXh1WEc0Z0lDQWdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQWdJSFpoY2lCc2FYUjBiR1ZGYm1ScFlXNGdQU0JsYm1ScFlXNGdQVDA5SUNkc1pTYzdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNWxkeUJCY25KaGVWUjVjR1VvY21WeFRHVnVaM1JvS1R0Y2JseHVJQ0FnSUhaaGNpQmlMQ0JwTzF4dUlDQWdJSFpoY2lCeElEMGdkR2hwY3k1amJHOXVaU2dwTzF4dUlDQWdJR2xtSUNnaGJHbDBkR3hsUlc1a2FXRnVLU0I3WEc0Z0lDQWdJQ0F2THlCQmMzTjFiV1VnWW1sbkxXVnVaR2xoYmx4dUlDQWdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJSEpsY1V4bGJtZDBhQ0F0SUdKNWRHVk1aVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUFoY1M1cGMxcGxjbThvS1RzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdJZ1BTQnhMbUZ1Wkd4dUtEQjRabVlwTzF4dUlDQWdJQ0FnSUNCeExtbDFjMmh5YmlnNEtUdGNibHh1SUNBZ0lDQWdJQ0J5WlhOYmNtVnhUR1Z1WjNSb0lDMGdhU0F0SURGZElEMGdZanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dJWEV1YVhOYVpYSnZLQ2s3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0JpSUQwZ2NTNWhibVJzYmlnd2VHWm1LVHRjYmlBZ0lDQWdJQ0FnY1M1cGRYTm9jbTRvT0NrN1hHNWNiaUFnSUNBZ0lDQWdjbVZ6VzJsZElEMGdZanRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCeVpYRk1aVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdhV1lnS0UxaGRHZ3VZMng2TXpJcElIdGNiaUFnSUNCQ1RpNXdjbTkwYjNSNWNHVXVYMk52ZFc1MFFtbDBjeUE5SUdaMWJtTjBhVzl1SUY5amIzVnVkRUpwZEhNZ0tIY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQXpNaUF0SUUxaGRHZ3VZMng2TXpJb2R5azdYRzRnSUNBZ2ZUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQkNUaTV3Y205MGIzUjVjR1V1WDJOdmRXNTBRbWwwY3lBOUlHWjFibU4wYVc5dUlGOWpiM1Z1ZEVKcGRITWdLSGNwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBJRDBnZHp0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0FnSUdsbUlDaDBJRDQ5SURCNE1UQXdNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJREV6TzF4dUlDQWdJQ0FnSUNCMElENCtQajBnTVRNN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VEUXdLU0I3WEc0Z0lDQWdJQ0FnSUhJZ0t6MGdOenRjYmlBZ0lDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RDQStQU0F3ZURncElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBME8xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ05EdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRNRElwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F5TzF4dUlDQWdJQ0FnSUNCMElENCtQajBnTWp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ5SUNzZ2REdGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5NlpYSnZRbWwwY3lBOUlHWjFibU4wYVc5dUlGOTZaWEp2UW1sMGN5QW9keWtnZTF4dUlDQWdJQzh2SUZOb2IzSjBMV04xZEZ4dUlDQWdJR2xtSUNoM0lEMDlQU0F3S1NCeVpYUjFjbTRnTWpZN1hHNWNiaUFnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJR2xtSUNnb2RDQW1JREI0TVdabVppa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISWdLejBnTVRNN1hHNGdJQ0FnSUNCMElENCtQajBnTVRNN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TjJZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdOenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IaG1LU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaUFyUFNBME8xeHVJQ0FnSUNBZ2RDQStQajQ5SURRN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TXlrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJZ0t6MGdNanRjYmlBZ0lDQWdJSFFnUGo0K1BTQXlPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9LSFFnSmlBd2VERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlLeXM3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ1ZFcxaVpYSWdiMllnZFhObFpDQmlhWFJ6SUdsdUlHRWdRazVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUpwZEV4bGJtZDBhQ0E5SUdaMWJtTjBhVzl1SUdKcGRFeGxibWQwYUNBb0tTQjdYRzRnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9JQzBnTVYwN1hHNGdJQ0FnZG1GeUlHaHBJRDBnZEdocGN5NWZZMjkxYm5SQ2FYUnpLSGNwTzF4dUlDQWdJSEpsZEhWeWJpQW9kR2hwY3k1c1pXNW5kR2dnTFNBeEtTQXFJREkySUNzZ2FHazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnZEc5Q2FYUkJjbkpoZVNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhjZ1BTQnVaWGNnUVhKeVlYa29iblZ0TG1KcGRFeGxibWQwYUNncEtUdGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHSnBkQ0E5SURBN0lHSnBkQ0E4SUhjdWJHVnVaM1JvT3lCaWFYUXJLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHOW1aaUE5SUNoaWFYUWdMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lDQWdkbUZ5SUhkaWFYUWdQU0JpYVhRZ0pTQXlOanRjYmx4dUlDQWdJQ0FnZDF0aWFYUmRJRDBnS0c1MWJTNTNiM0prYzF0dlptWmRJQ1lnS0RFZ1BEd2dkMkpwZENrcElENCtQaUIzWW1sME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIzTzF4dUlDQjlYRzVjYmlBZ0x5OGdUblZ0WW1WeUlHOW1JSFJ5WVdsc2FXNW5JSHBsY204Z1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlbVZ5YjBKcGRITWdQU0JtZFc1amRHbHZiaUI2WlhKdlFtbDBjeUFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUF3TzF4dVhHNGdJQ0FnZG1GeUlISWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHSWdQU0IwYUdsekxsOTZaWEp2UW1sMGN5aDBhR2x6TG5kdmNtUnpXMmxkS1R0Y2JpQWdJQ0FnSUhJZ0t6MGdZanRjYmlBZ0lDQWdJR2xtSUNoaUlDRTlQU0F5TmlrZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aWVYUmxUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbmwwWlV4bGJtZDBhQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRTFoZEdndVkyVnBiQ2gwYUdsekxtSnBkRXhsYm1kMGFDZ3BJQzhnT0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlZIZHZjeUE5SUdaMWJtTjBhVzl1SUhSdlZIZHZjeUFvZDJsa2RHZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZV0p6S0NrdWFXNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bWNtOXRWSGR2Y3lBOUlHWjFibU4wYVc5dUlHWnliMjFVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG5SbGMzUnVLSGRwWkhSb0lDMGdNU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtNXZkRzRvZDJsa2RHZ3BMbWxoWkdSdUtERXBMbWx1Wldjb0tUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOT1pXY2dQU0JtZFc1amRHbHZiaUJwYzA1bFp5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc1bFoyRjBhWFpsSUdOc2IyNWxJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVibVZuSUQwZ1puVnVZM1JwYjI0Z2JtVm5JQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdVpXY29LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzVsWnlBOUlHWjFibU4wYVc5dUlHbHVaV2NnS0NrZ2UxeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0JlUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUU5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRXOXlJRDBnWm5WdVkzUnBiMjRnYVhWdmNpQW9iblZ0S1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUR3Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNzclhTQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkSUh3Z2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHZjaUE5SUdaMWJtTjBhVzl1SUdsdmNpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ2gwYUdsekxtNWxaMkYwYVhabElId2diblZ0TG01bFoyRjBhWFpsS1NBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWdmNpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTl5SUdCdWRXMWdJSGRwZEdnZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV2Y2lBOUlHWjFibU4wYVc5dUlHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVnZjaUE5SUdaMWJtTjBhVzl1SUhWdmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkVzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDFiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkV0Z1WkNBOUlHWjFibU4wYVc5dUlHbDFZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJpSUQwZ2JXbHVMV3hsYm1kMGFDaHVkVzBzSUhSb2FYTXBYRzRnSUNBZ2RtRnlJR0k3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNBbUlHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUdJdWJHVnVaM1JvTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGdVpDQTlJR1oxYm1OMGFXOXVJR2xoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ29kR2hwY3k1dVpXZGhkR2wyWlNCOElHNTFiUzV1WldkaGRHbDJaU2tnUFQwOUlEQXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWwxWVc1a0tHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRVzVrSUdCdWRXMWdJSGRwZEdnZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoYm1RZ1BTQm1kVzVqZEdsdmJpQmhibVFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVdGdVpDaHVkVzBwTzF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1WTJ4dmJtVW9LUzVwWVc1a0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWVc1a0lEMGdablZ1WTNScGIyNGdkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRXRnVaQ2h1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGRXRnVaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCWWIzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbDFlRzl5SUQwZ1puVnVZM1JwYjI0Z2FYVjRiM0lnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJR0V1YkdWdVozUm9JRDRnWWk1c1pXNW5kR2hjYmlBZ0lDQjJZWElnWVR0Y2JpQWdJQ0IyWVhJZ1lqdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQmhJRDBnZEdocGN6dGNiaUFnSUNBZ0lHSWdQU0J1ZFcwN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0VnUFNCdWRXMDdYRzRnSUNBZ0lDQmlJRDBnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JoTG5kdmNtUnpXMmxkSUY0Z1lpNTNiM0prYzF0cFhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwY3lBaFBUMGdZU2tnZTF4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JoTG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1lTNXNaVzVuZEdnN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGVHOXlJRDBnWm5WdVkzUnBiMjRnYVhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ2gwYUdsekxtNWxaMkYwYVhabElId2diblZ0TG01bFoyRjBhWFpsS1NBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWNGIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJZYjNJZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5odmNpQTlJR1oxYm1OMGFXOXVJSGh2Y2lBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGVHOXlLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1sNGIzSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WNGIzSWdQU0JtZFc1amRHbHZiaUIxZUc5eUlDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFlRzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDFlRzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFNXZkQ0JnWUhSb2FYTmdZQ0IzYVhSb0lHQmdkMmxrZEdoZ1lDQmlhWFIzYVdSMGFGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXNXZkRzRnUFNCbWRXNWpkR2x2YmlCcGJtOTBiaUFvZDJsa2RHZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUhkcFpIUm9JRDA5UFNBbmJuVnRZbVZ5SnlBbUppQjNhV1IwYUNBK1BTQXdLVHRjYmx4dUlDQWdJSFpoY2lCaWVYUmxjMDVsWldSbFpDQTlJRTFoZEdndVkyVnBiQ2gzYVdSMGFDQXZJREkyS1NCOElEQTdYRzRnSUNBZ2RtRnlJR0pwZEhOTVpXWjBJRDBnZDJsa2RHZ2dKU0F5Tmp0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkNCMGFHVWdZblZtWm1WeUlIZHBkR2dnYkdWaFpHbHVaeUI2WlhKdlpYTmNiaUFnSUNCMGFHbHpMbDlsZUhCaGJtUW9ZbmwwWlhOT1pXVmtaV1FwTzF4dVhHNGdJQ0FnYVdZZ0tHSnBkSE5NWldaMElENGdNQ2tnZTF4dUlDQWdJQ0FnWW5sMFpYTk9aV1ZrWldRdExUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QklZVzVrYkdVZ1kyOXRjR3hsZEdVZ2QyOXlaSE5jYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0o1ZEdWelRtVmxaR1ZrT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQitkR2hwY3k1M2IzSmtjMXRwWFNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QklZVzVrYkdVZ2RHaGxJSEpsYzJsa2RXVmNiaUFnSUNCcFppQW9ZbWwwYzB4bFpuUWdQaUF3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZm5Sb2FYTXVkMjl5WkhOYmFWMGdKaUFvTUhnelptWm1abVptSUQ0K0lDZ3lOaUF0SUdKcGRITk1aV1owS1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXNWtJSEpsYlc5MlpTQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTV2ZEc0Z1BTQm1kVzVqZEdsdmJpQnViM1J1SUNoM2FXUjBhQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVc1dmRHNG9kMmxrZEdncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZObGRDQmdZbWwwWUNCdlppQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5ObGRHNGdQU0JtZFc1amRHbHZiaUJ6WlhSdUlDaGlhWFFzSUhaaGJDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNWNiaUFnSUNCMllYSWdiMlptSUQwZ0tHSnBkQ0F2SURJMktTQjhJREE3WEc0Z0lDQWdkbUZ5SUhkaWFYUWdQU0JpYVhRZ0pTQXlOanRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNodlptWWdLeUF4S1R0Y2JseHVJQ0FnSUdsbUlDaDJZV3dwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmIyWm1YU0E5SUhSb2FYTXVkMjl5WkhOYmIyWm1YU0I4SUNneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzI5bVpsMGdQU0IwYUdsekxuZHZjbVJ6VzI5bVpsMGdKaUIrS0RFZ1BEd2dkMkpwZENrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwWVdSa0lEMGdablZ1WTNScGIyNGdhV0ZrWkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhJN1hHNWNiaUFnSUNBdkx5QnVaV2RoZEdsMlpTQXJJSEJ2YzJsMGFYWmxYRzRnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2JuVnRMbTVsWjJGMGFYWmxJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z2NHOXphWFJwZG1VZ0t5QnVaV2RoZEdsMlpWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5SUQwZ2RHaHBjeTVwYzNWaUtHNTFiU2s3WEc0Z0lDQWdJQ0J1ZFcwdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISXVYMjV2Y20xVGFXZHVLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVM1c1pXNW5kR2dnUGlCaUxteGxibWQwYUZ4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR0VnUFNCMGFHbHpPMXh1SUNBZ0lDQWdZaUE5SUc1MWJUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVNBOUlHNTFiVHRjYmlBZ0lDQWdJR0lnUFNCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnlJRDBnS0dFdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUNoaUxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K1BpQXlOanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUhJZ1BqNCtJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1lTNXNaVzVuZEdnN1hHNGdJQ0FnYVdZZ0tHTmhjbko1SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzNSb2FYTXViR1Z1WjNSb1hTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQXZMeUJEYjNCNUlIUm9aU0J5WlhOMElHOW1JSFJvWlNCM2IzSmtjMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZU0FoUFQwZ2RHaHBjeWtnZTF4dUlDQWdJQ0FnWm05eUlDZzdJR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JoTG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZrWkNCZ2JuVnRZQ0IwYnlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUZrWkNBOUlHWjFibU4wYVc5dUlHRmtaQ0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3p0Y2JpQWdJQ0JwWmlBb2JuVnRMbTVsWjJGMGFYWmxJQ0U5UFNBd0lDWW1JSFJvYVhNdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG5OMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElGNDlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm5WdExtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdjbVZ6SUQwZ2JuVnRMbk4xWWloMGFHbHpLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saFpHUW9iblZ0S1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cFlXUmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOMVluUnlZV04wSUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzNWaUlEMGdablZ1WTNScGIyNGdhWE4xWWlBb2JuVnRLU0I3WEc0Z0lDQWdMeThnZEdocGN5QXRJQ2d0Ym5WdEtTQTlJSFJvYVhNZ0t5QnVkVzFjYmlBZ0lDQnBaaUFvYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISWdQU0IwYUdsekxtbGhaR1FvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNibHh1SUNBZ0lDOHZJQzEwYUdseklDMGdiblZ0SUQwZ0xTaDBhR2x6SUNzZ2JuVnRLVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtbGhaR1FvYm5WdEtUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYMjV2Y20xVGFXZHVLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nWVhKbElIQnZjMmwwYVhabFhHNGdJQ0FnZG1GeUlHTnRjQ0E5SUhSb2FYTXVZMjF3S0c1MWJTazdYRzVjYmlBZ0lDQXZMeUJQY0hScGJXbDZZWFJwYjI0Z0xTQjZaWEp2YVdaNVhHNGdJQ0FnYVdZZ0tHTnRjQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklHRWdQaUJpWEc0Z0lDQWdkbUZ5SUdFc0lHSTdYRzRnSUNBZ2FXWWdLR050Y0NBK0lEQXBJSHRjYmlBZ0lDQWdJR0VnUFNCMGFHbHpPMXh1SUNBZ0lDQWdZaUE5SUc1MWJUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWVNBOUlHNTFiVHRjYmlBZ0lDQWdJR0lnUFNCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnlJRDBnS0dFdWQyOXlaSE5iYVYwZ2ZDQXdLU0F0SUNoaUxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCeUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lIMWNiaUFnSUNCbWIzSWdLRHNnWTJGeWNua2dJVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSElnUFNBb1lTNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJEYjNCNUlISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnYVdZZ0tHTmhjbko1SUQwOVBTQXdJQ1ltSUdrZ1BDQmhMbXhsYm1kMGFDQW1KaUJoSUNFOVBTQjBhR2x6S1NCN1hHNGdJQ0FnSUNCbWIzSWdLRHNnYVNBOElHRXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdFdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG0xaGVDaDBhR2x6TG14bGJtZDBhQ3dnYVNrN1hHNWNiaUFnSUNCcFppQW9ZU0FoUFQwZ2RHaHBjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRkV0owY21GamRDQmdiblZ0WUNCbWNtOXRJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMzVmlJRDBnWm5WdVkzUnBiMjRnYzNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1semRXSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQnpiV0ZzYkUxMWJGUnZJQ2h6Wld4bUxDQnVkVzBzSUc5MWRDa2dlMXh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUc1MWJTNXVaV2RoZEdsMlpTQmVJSE5sYkdZdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnZG1GeUlHeGxiaUE5SUNoelpXeG1MbXhsYm1kMGFDQXJJRzUxYlM1c1pXNW5kR2dwSUh3Z01EdGNiaUFnSUNCdmRYUXViR1Z1WjNSb0lEMGdiR1Z1TzF4dUlDQWdJR3hsYmlBOUlDaHNaVzRnTFNBeEtTQjhJREE3WEc1Y2JpQWdJQ0F2THlCUVpXVnNJRzl1WlNCcGRHVnlZWFJwYjI0Z0tHTnZiWEJwYkdWeUlHTmhiaWQwSUdSdklHbDBMQ0JpWldOaGRYTmxJRzltSUdOdlpHVWdZMjl0Y0d4bGVHbDBlU2xjYmlBZ0lDQjJZWElnWVNBOUlITmxiR1l1ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmlJRDBnYm5WdExuZHZjbVJ6V3pCZElId2dNRHRjYmlBZ0lDQjJZWElnY2lBOUlHRWdLaUJpTzF4dVhHNGdJQ0FnZG1GeUlHeHZJRDBnY2lBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lHOTFkQzUzYjNKa2Mxc3dYU0E5SUd4dk8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2F5QTlJREU3SUdzZ1BDQnNaVzQ3SUdzckt5a2dlMXh1SUNBZ0lDQWdMeThnVTNWdElHRnNiQ0IzYjNKa2N5QjNhWFJvSUhSb1pTQnpZVzFsSUdCcElDc2dhaUE5SUd0Z0lHRnVaQ0JoWTJOMWJYVnNZWFJsSUdCdVkyRnljbmxnTEZ4dUlDQWdJQ0FnTHk4Z2JtOTBaU0IwYUdGMElHNWpZWEp5ZVNCamIzVnNaQ0JpWlNBK1BTQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lIWmhjaUJ1WTJGeWNua2dQU0JqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNCMllYSWdjbmR2Y21RZ1BTQmpZWEp5ZVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIWmhjaUJ0WVhoS0lEMGdUV0YwYUM1dGFXNG9heXdnYm5WdExteGxibWQwYUNBdElERXBPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUUxaGRHZ3ViV0Y0S0RBc0lHc2dMU0J6Wld4bUxteGxibWQwYUNBcklERXBPeUJxSUR3OUlHMWhlRW83SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FTQTlJQ2hySUMwZ2Fpa2dmQ0F3TzF4dUlDQWdJQ0FnSUNCaElEMGdjMlZzWmk1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQWdJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCeUlEMGdZU0FxSUdJZ0t5QnlkMjl5WkR0Y2JpQWdJQ0FnSUNBZ2JtTmhjbko1SUNzOUlDaHlJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQWdJSEozYjNKa0lEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUc5MWRDNTNiM0prYzF0clhTQTlJSEozYjNKa0lId2dNRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNUlId2dNRHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0JqWVhKeWVTQjhJREE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHOTFkQzVzWlc1bmRHZ3RMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2IzVjBMbk4wY21sd0tDazdYRzRnSUgxY2JseHVJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwZENCdFlYa2dZbVVnY21WaGMyOXVZV0pzWlNCMGJ5QnZiV2wwSUdsMElHWnZjaUIxYzJWeWN5QjNhRzhnWkc5dUozUWdibVZsWkZ4dUlDQXZMeUIwYnlCM2IzSnJJSGRwZEdnZ01qVTJMV0pwZENCdWRXMWlaWEp6TENCdmRHaGxjbmRwYzJVZ2FYUWdaMmwyWlhNZ01qQWxJR2x0Y0hKdmRtVnRaVzUwSUdadmNpQXlOVFl0WW1sMFhHNGdJQzh2SUcxMWJIUnBjR3hwWTJGMGFXOXVJQ2hzYVd0bElHVnNiR2x3ZEdsaklITmxZM0F5TlRack1Ta3VYRzRnSUhaaGNpQmpiMjFpTVRCTmRXeFVieUE5SUdaMWJtTjBhVzl1SUdOdmJXSXhNRTExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQmhJRDBnYzJWc1ppNTNiM0prY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlM1M2IzSmtjenRjYmlBZ0lDQjJZWElnYnlBOUlHOTFkQzUzYjNKa2N6dGNiaUFnSUNCMllYSWdZeUE5SURBN1hHNGdJQ0FnZG1GeUlHeHZPMXh1SUNBZ0lIWmhjaUJ0YVdRN1hHNGdJQ0FnZG1GeUlHaHBPMXh1SUNBZ0lIWmhjaUJoTUNBOUlHRmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiREFnUFNCaE1DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2d3SUQwZ1lUQWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhNU0E5SUdGYk1WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJERWdQU0JoTVNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZ3hJRDBnWVRFZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE1pQTlJR0ZiTWwwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRJZ1BTQmhNaUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdneUlEMGdZVElnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTXlBOUlHRmJNMTBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRE1nUFNCaE15QW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2d6SUQwZ1lUTWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhOQ0E5SUdGYk5GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEUWdQU0JoTkNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzBJRDBnWVRRZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE5TQTlJR0ZiTlYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRVZ1BTQmhOU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnMUlEMGdZVFVnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTmlBOUlHRmJObDBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRFlnUFNCaE5pQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2cySUQwZ1lUWWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhOeUE5SUdGYk4xMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEY2dQU0JoTnlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzNJRDBnWVRjZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE9DQTlJR0ZiT0YwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRnZ1BTQmhPQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnNElEMGdZVGdnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoT1NBOUlHRmJPVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRGtnUFNCaE9TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2c1SUQwZ1lUa2dQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlNQ0E5SUdKYk1GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEQWdQU0JpTUNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZ3dJRDBnWWpBZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU1TQTlJR0piTVYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRFZ1BTQmlNU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1neElEMGdZakVnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTWlBOUlHSmJNbDBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRElnUFNCaU1pQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWd5SUQwZ1lqSWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlNeUE5SUdKYk0xMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJETWdQU0JpTXlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZ3pJRDBnWWpNZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU5DQTlJR0piTkYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRRZ1BTQmlOQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nMElEMGdZalFnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTlNBOUlHSmJOVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRFVnUFNCaU5TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWcxSUQwZ1lqVWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlOaUE5SUdKYk5sMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEWWdQU0JpTmlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzJJRDBnWWpZZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU55QTlJR0piTjEwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRjZ1BTQmlOeUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nM0lEMGdZamNnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpT0NBOUlHSmJPRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRGdnUFNCaU9DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWc0SUQwZ1lqZ2dQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlPU0E5SUdKYk9WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEa2dQU0JpT1NBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzVJRDBnWWprZ1BqNCtJREV6TzF4dVhHNGdJQ0FnYjNWMExtNWxaMkYwYVhabElEMGdjMlZzWmk1dVpXZGhkR2wyWlNCZUlHNTFiUzV1WldkaGRHbDJaVHRjYmlBZ0lDQnZkWFF1YkdWdVozUm9JRDBnTVRrN1hHNGdJQ0FnTHlvZ2F5QTlJREFnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiREFzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nd0tUdGNiaUFnSUNCMllYSWdkekFnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3eUxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRElzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURJc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6SWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3lJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTWlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURNZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6TWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3pJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTXlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURRZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNOQ0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpRZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMUlDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MUxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkelVnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGMxSUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM05TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlEWWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpZZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOaUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGNnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIYzNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNOeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpjZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBNElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpnZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjNElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNPQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGtnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkemtnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGM1SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM09TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXdJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRFcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTVNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXdJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRJcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTWlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01URWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hNU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01USWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTXlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZ3pLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWd6S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFeUlEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01USWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TWlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRFFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb05DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkekV6SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRNZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hNeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREUwSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEVXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTlNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb05TazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UUWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOQ0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UVWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTmlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzJLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWcyS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkekUxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRVZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hOU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREUySUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEY3BPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTnlrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb055azdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UWWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TmlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFM0lDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRGdwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb09DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9PQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UY2dQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UZ2dLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzT1NrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzVLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWc1S1R0Y2JpQWdJQ0IyWVhJZ2R6RTRJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGdnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE9DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdiMXN3WFNBOUlIY3dPMXh1SUNBZ0lHOWJNVjBnUFNCM01UdGNiaUFnSUNCdld6SmRJRDBnZHpJN1hHNGdJQ0FnYjFzelhTQTlJSGN6TzF4dUlDQWdJRzliTkYwZ1BTQjNORHRjYmlBZ0lDQnZXelZkSUQwZ2R6VTdYRzRnSUNBZ2IxczJYU0E5SUhjMk8xeHVJQ0FnSUc5Yk4xMGdQU0IzTnp0Y2JpQWdJQ0J2V3poZElEMGdkemc3WEc0Z0lDQWdiMXM1WFNBOUlIYzVPMXh1SUNBZ0lHOWJNVEJkSUQwZ2R6RXdPMXh1SUNBZ0lHOWJNVEZkSUQwZ2R6RXhPMXh1SUNBZ0lHOWJNVEpkSUQwZ2R6RXlPMXh1SUNBZ0lHOWJNVE5kSUQwZ2R6RXpPMXh1SUNBZ0lHOWJNVFJkSUQwZ2R6RTBPMXh1SUNBZ0lHOWJNVFZkSUQwZ2R6RTFPMXh1SUNBZ0lHOWJNVFpkSUQwZ2R6RTJPMXh1SUNBZ0lHOWJNVGRkSUQwZ2R6RTNPMXh1SUNBZ0lHOWJNVGhkSUQwZ2R6RTRPMXh1SUNBZ0lHbG1JQ2hqSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J2V3pFNVhTQTlJR003WEc0Z0lDQWdJQ0J2ZFhRdWJHVnVaM1JvS3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnZkWFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVRzlzZVdacGJHd2dZMjl0WWx4dUlDQnBaaUFvSVUxaGRHZ3VhVzExYkNrZ2UxeHVJQ0FnSUdOdmJXSXhNRTExYkZSdklEMGdjMjFoYkd4TmRXeFVienRjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUdKcFowMTFiRlJ2SUNoelpXeG1MQ0J1ZFcwc0lHOTFkQ2tnZTF4dUlDQWdJRzkxZEM1dVpXZGhkR2wyWlNBOUlHNTFiUzV1WldkaGRHbDJaU0JlSUhObGJHWXVibVZuWVhScGRtVTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJSE5sYkdZdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFEdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdkbUZ5SUdodVkyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdzZ1BTQXdPeUJySUR3Z2IzVjBMbXhsYm1kMGFDQXRJREU3SUdzckt5a2dlMXh1SUNBZ0lDQWdMeThnVTNWdElHRnNiQ0IzYjNKa2N5QjNhWFJvSUhSb1pTQnpZVzFsSUdCcElDc2dhaUE5SUd0Z0lHRnVaQ0JoWTJOMWJYVnNZWFJsSUdCdVkyRnljbmxnTEZ4dUlDQWdJQ0FnTHk4Z2JtOTBaU0IwYUdGMElHNWpZWEp5ZVNCamIzVnNaQ0JpWlNBK1BTQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lIWmhjaUJ1WTJGeWNua2dQU0JvYm1OaGNuSjVPMXh1SUNBZ0lDQWdhRzVqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0IyWVhJZ2NuZHZjbVFnUFNCallYSnllU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhaaGNpQnRZWGhLSUQwZ1RXRjBhQzV0YVc0b2F5d2diblZ0TG14bGJtZDBhQ0F0SURFcE8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJRTFoZEdndWJXRjRLREFzSUdzZ0xTQnpaV3htTG14bGJtZDBhQ0FySURFcE95QnFJRHc5SUcxaGVFbzdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYVNBOUlHc2dMU0JxTzF4dUlDQWdJQ0FnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzF0cVhTQjhJREE3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnWVNBcUlHSTdYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlHeHZJRDBnY2lBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlEMGdLRzVqWVhKeWVTQXJJQ2dvY2lBdklEQjROREF3TURBd01Da2dmQ0F3S1NrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JzYnlBOUlDaHNieUFySUhKM2IzSmtLU0I4SURBN1hHNGdJQ0FnSUNBZ0lISjNiM0prSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc1allYSnllU0E5SUNodVkyRnljbmtnS3lBb2JHOGdQajQrSURJMktTa2dmQ0F3TzF4dVhHNGdJQ0FnSUNBZ0lHaHVZMkZ5Y25rZ0t6MGdibU5oY25KNUlENCtQaUF5Tmp0Y2JpQWdJQ0FnSUNBZ2JtTmhjbko1SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHOTFkQzUzYjNKa2MxdHJYU0E5SUhKM2IzSmtPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQnVZMkZ5Y25rN1hHNGdJQ0FnSUNCdVkyRnljbmtnUFNCb2JtTmhjbko1TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lHOTFkQzUzYjNKa2MxdHJYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdmRYUXViR1Z1WjNSb0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc5MWRDNXpkSEpwY0NncE8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdhblZ0WW05TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnWm1aMGJTQTlJRzVsZHlCR1JsUk5LQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHWm1kRzB1YlhWc2NDaHpaV3htTENCdWRXMHNJRzkxZENrN1hHNGdJSDFjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ZHOGdQU0JtZFc1amRHbHZiaUJ0ZFd4VWJ5QW9iblZ0TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCMGFHbHpMbXhsYm1kMGFDQXJJRzUxYlM1c1pXNW5kR2c3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4TUNBbUppQnVkVzB1YkdWdVozUm9JRDA5UFNBeE1Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ1kyOXRZakV3VFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JHVnVJRHdnTmpNcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhOdFlXeHNUWFZzVkc4b2RHaHBjeXdnYm5WdExDQnZkWFFwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYkdWdUlEd2dNVEF5TkNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnWW1sblRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYTWdQU0JxZFcxaWIwMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUM4dklFTnZiMnhsZVMxVWRXdGxlU0JoYkdkdmNtbDBhRzBnWm05eUlFWkdWRnh1SUNBdkx5QnpiR2xuYUhSc2VTQnlaWFpwYzJsMFpXUWdkRzhnY21Wc2VTQnZiaUJzYjI5d2FXNW5JR2x1YzNSbFlXUWdiMllnY21WamRYSnphVzl1WEc1Y2JpQWdablZ1WTNScGIyNGdSa1pVVFNBb2VDd2dlU2tnZTF4dUlDQWdJSFJvYVhNdWVDQTlJSGc3WEc0Z0lDQWdkR2hwY3k1NUlEMGdlVHRjYmlBZ2ZWeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbTFoYTJWU1FsUWdQU0JtZFc1amRHbHZiaUJ0WVd0bFVrSlVJQ2hPS1NCN1hHNGdJQ0FnZG1GeUlIUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHd2dQU0JDVGk1d2NtOTBiM1I1Y0dVdVgyTnZkVzUwUW1sMGN5aE9LU0F0SURFN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCT095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSYmFWMGdQU0IwYUdsekxuSmxka0pwYmlocExDQnNMQ0JPS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkRHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlNaWFIxY201eklHSnBibUZ5ZVMxeVpYWmxjbk5sWkNCeVpYQnlaWE5sYm5SaGRHbHZiaUJ2WmlCZ2VHQmNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXVjbVYyUW1sdUlEMGdablZ1WTNScGIyNGdjbVYyUW1sdUlDaDRMQ0JzTENCT0tTQjdYRzRnSUNBZ2FXWWdLSGdnUFQwOUlEQWdmSHdnZUNBOVBUMGdUaUF0SURFcElISmxkSFZ5YmlCNE8xeHVYRzRnSUNBZ2RtRnlJSEppSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHdzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NtSWdmRDBnS0hnZ0ppQXhLU0E4UENBb2JDQXRJR2tnTFNBeEtUdGNiaUFnSUNBZ0lIZ2dQajQ5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEppTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJsY21admNtMXpJRndpZEhkbFpXUnNhVzVuWENJZ2NHaGhjMlVzSUhSb1pYSmxabTl5WlNBblpXMTFiR0YwYVc1bkoxeHVJQ0F2THlCaVpXaGhkbWx2ZFhJZ2IyWWdkR2hsSUhKbFkzVnljMmwyWlNCaGJHZHZjbWwwYUcxY2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWNHVnliWFYwWlNBOUlHWjFibU4wYVc5dUlIQmxjbTExZEdVZ0tISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdjblIzYzF0cFhTQTlJSEozYzF0eVluUmJhVjFkTzF4dUlDQWdJQ0FnYVhSM2MxdHBYU0E5SUdsM2MxdHlZblJiYVYxZE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1MGNtRnVjMlp2Y20wZ1BTQm1kVzVqZEdsdmJpQjBjbUZ1YzJadmNtMGdLSEozY3l3Z2FYZHpMQ0J5ZEhkekxDQnBkSGR6TENCT0xDQnlZblFwSUh0Y2JpQWdJQ0IwYUdsekxuQmxjbTExZEdVb2NtSjBMQ0J5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1RpazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnpJRDBnTVRzZ2N5QThJRTQ3SUhNZ1BEdzlJREVwSUh0Y2JpQWdJQ0FnSUhaaGNpQnNJRDBnY3lBOFBDQXhPMXh1WEc0Z0lDQWdJQ0IyWVhJZ2NuUjNaR1lnUFNCTllYUm9MbU52Y3lneUlDb2dUV0YwYUM1UVNTQXZJR3dwTzF4dUlDQWdJQ0FnZG1GeUlHbDBkMlJtSUQwZ1RXRjBhQzV6YVc0b01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2NDQTlJREE3SUhBZ1BDQk9PeUJ3SUNzOUlHd3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlISjBkMlJtWHlBOUlISjBkMlJtTzF4dUlDQWdJQ0FnSUNCMllYSWdhWFIzWkdaZklEMGdhWFIzWkdZN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0J6T3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjbVVnUFNCeWRIZHpXM0FnS3lCcVhUdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2FXVWdQU0JwZEhkelczQWdLeUJxWFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeWJ5QTlJSEowZDNOYmNDQXJJR29nS3lCelhUdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2FXOGdQU0JwZEhkelczQWdLeUJxSUNzZ2MxMDdYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdjbmdnUFNCeWRIZGtabDhnS2lCeWJ5QXRJR2wwZDJSbVh5QXFJR2x2TzF4dVhHNGdJQ0FnSUNBZ0lDQWdhVzhnUFNCeWRIZGtabDhnS2lCcGJ5QXJJR2wwZDJSbVh5QXFJSEp2TzF4dUlDQWdJQ0FnSUNBZ0lISnZJRDBnY25nN1hHNWNiaUFnSUNBZ0lDQWdJQ0J5ZEhkelczQWdLeUJxWFNBOUlISmxJQ3NnY204N1hHNGdJQ0FnSUNBZ0lDQWdhWFIzYzF0d0lDc2dhbDBnUFNCcFpTQXJJR2x2TzF4dVhHNGdJQ0FnSUNBZ0lDQWdjblIzYzF0d0lDc2dhaUFySUhOZElEMGdjbVVnTFNCeWJ6dGNiaUFnSUNBZ0lDQWdJQ0JwZEhkelczQWdLeUJxSUNzZ2MxMGdQU0JwWlNBdElHbHZPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0x5b2dhbk5vYVc1MElHMWhlR1JsY0hSb0lEb2dabUZzYzJVZ0tpOWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2FpQWhQVDBnYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY25nZ1BTQnlkSGRrWmlBcUlISjBkMlJtWHlBdElHbDBkMlJtSUNvZ2FYUjNaR1pmTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwZEhka1psOGdQU0J5ZEhka1ppQXFJR2wwZDJSbVh5QXJJR2wwZDJSbUlDb2djblIzWkdaZk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY25SM1pHWmZJRDBnY25nN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbWQxWlhOelRHVnVNVE5pSUQwZ1puVnVZM1JwYjI0Z1ozVmxjM05NWlc0eE0ySWdLRzRzSUcwcElIdGNiaUFnSUNCMllYSWdUaUE5SUUxaGRHZ3ViV0Y0S0cwc0lHNHBJSHdnTVR0Y2JpQWdJQ0IyWVhJZ2IyUmtJRDBnVGlBbUlERTdYRzRnSUNBZ2RtRnlJR2tnUFNBd08xeHVJQ0FnSUdadmNpQW9UaUE5SUU0Z0x5QXlJSHdnTURzZ1Rqc2dUaUE5SUU0Z1BqNCtJREVwSUh0Y2JpQWdJQ0FnSUdrckt6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnTVNBOFBDQnBJQ3NnTVNBcklHOWtaRHRjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVqYjI1cWRXZGhkR1VnUFNCbWRXNWpkR2x2YmlCamIyNXFkV2RoZEdVZ0tISjNjeXdnYVhkekxDQk9LU0I3WEc0Z0lDQWdhV1lnS0U0Z1BEMGdNU2tnY21WMGRYSnVPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPSUM4Z01qc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhKM2MxdHBYVHRjYmx4dUlDQWdJQ0FnY25kelcybGRJRDBnY25kelcwNGdMU0JwSUMwZ01WMDdYRzRnSUNBZ0lDQnlkM05iVGlBdElHa2dMU0F4WFNBOUlIUTdYRzVjYmlBZ0lDQWdJSFFnUFNCcGQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUdsM2MxdHBYU0E5SUMxcGQzTmJUaUF0SUdrZ0xTQXhYVHRjYmlBZ0lDQWdJR2wzYzF0T0lDMGdhU0F0SURGZElEMGdMWFE3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbTV2Y20xaGJHbDZaVEV6WWlBOUlHWjFibU4wYVc5dUlHNXZjbTFoYkdsNlpURXpZaUFvZDNNc0lFNHBJSHRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCTllYUm9Mbkp2ZFc1a0tIZHpXeklnS2lCcElDc2dNVjBnTHlCT0tTQXFJREI0TWpBd01DQXJYRzRnSUNBZ0lDQWdJRTFoZEdndWNtOTFibVFvZDNOYk1pQXFJR2xkSUM4Z1Rpa2dLMXh1SUNBZ0lDQWdJQ0JqWVhKeWVUdGNibHh1SUNBZ0lDQWdkM05iYVYwZ1BTQjNJQ1lnTUhnelptWm1abVptTzF4dVhHNGdJQ0FnSUNCcFppQW9keUE4SURCNE5EQXdNREF3TUNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlIY2dMeUF3ZURRd01EQXdNREFnZkNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIzY3p0Y2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowTVROaUlEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRERXpZaUFvZDNNc0lHeGxiaXdnY25kekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCallYSnllU0E5SUdOaGNuSjVJQ3NnS0hkelcybGRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lISjNjMXN5SUNvZ2FWMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdJQ0J5ZDNOYk1pQXFJR2tnS3lBeFhTQTlJR05oY25KNUlDWWdNSGd4Wm1abU95QmpZWEp5ZVNBOUlHTmhjbko1SUQ0K1BpQXhNenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRWVdRZ2QybDBhQ0I2WlhKdlpYTmNiaUFnSUNCbWIzSWdLR2tnUFNBeUlDb2diR1Z1T3lCcElEd2dUanNnS3l0cEtTQjdYRzRnSUNBZ0lDQnlkM05iYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHRnpjMlZ5ZENoallYSnllU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NoallYSnllU0FtSUg0d2VERm1abVlwSUQwOVBTQXdLVHRjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV6ZEhWaUlEMGdablZ1WTNScGIyNGdjM1IxWWlBb1Rpa2dlMXh1SUNBZ0lIWmhjaUJ3YUNBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdjR2hiYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCd2FEdGNiaUFnZlR0Y2JseHVJQ0JHUmxSTkxuQnliM1J2ZEhsd1pTNXRkV3h3SUQwZ1puVnVZM1JwYjI0Z2JYVnNjQ0FvZUN3Z2VTd2diM1YwS1NCN1hHNGdJQ0FnZG1GeUlFNGdQU0F5SUNvZ2RHaHBjeTVuZFdWemMweGxiakV6WWloNExteGxibWQwYUN3Z2VTNXNaVzVuZEdncE8xeHVYRzRnSUNBZ2RtRnlJSEppZENBOUlIUm9hWE11YldGclpWSkNWQ2hPS1R0Y2JseHVJQ0FnSUhaaGNpQmZJRDBnZEdocGN5NXpkSFZpS0U0cE8xeHVYRzRnSUNBZ2RtRnlJSEozY3lBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnY25kemRDQTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2FYZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNibHh1SUNBZ0lIWmhjaUJ1Y25keklEMGdibVYzSUVGeWNtRjVLRTRwTzF4dUlDQWdJSFpoY2lCdWNuZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNiaUFnSUNCMllYSWdibWwzYzNRZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtMTNjeUE5SUc5MWRDNTNiM0prY3p0Y2JpQWdJQ0J5YlhkekxteGxibWQwYUNBOUlFNDdYRzVjYmlBZ0lDQjBhR2x6TG1OdmJuWmxjblF4TTJJb2VDNTNiM0prY3l3Z2VDNXNaVzVuZEdnc0lISjNjeXdnVGlrN1hHNGdJQ0FnZEdocGN5NWpiMjUyWlhKME1UTmlLSGt1ZDI5eVpITXNJSGt1YkdWdVozUm9MQ0J1Y25kekxDQk9LVHRjYmx4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtISjNjeXdnWHl3Z2NuZHpkQ3dnYVhkemRDd2dUaXdnY21KMEtUdGNiaUFnSUNCMGFHbHpMblJ5WVc1elptOXliU2h1Y25kekxDQmZMQ0J1Y25kemRDd2dibWwzYzNRc0lFNHNJSEppZENrN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElFNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuZHpkRnRwWFNBcUlHNXlkM04wVzJsZElDMGdhWGR6ZEZ0cFhTQXFJRzVwZDNOMFcybGRPMXh1SUNBZ0lDQWdhWGR6ZEZ0cFhTQTlJSEozYzNSYmFWMGdLaUJ1YVhkemRGdHBYU0FySUdsM2MzUmJhVjBnS2lCdWNuZHpkRnRwWFR0Y2JpQWdJQ0FnSUhKM2MzUmJhVjBnUFNCeWVEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbU52Ym1wMVoyRjBaU2h5ZDNOMExDQnBkM04wTENCT0tUdGNiaUFnSUNCMGFHbHpMblJ5WVc1elptOXliU2h5ZDNOMExDQnBkM04wTENCeWJYZHpMQ0JmTENCT0xDQnlZblFwTzF4dUlDQWdJSFJvYVhNdVkyOXVhblZuWVhSbEtISnRkM01zSUY4c0lFNHBPMXh1SUNBZ0lIUm9hWE11Ym05eWJXRnNhWHBsTVROaUtISnRkM01zSUU0cE8xeHVYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnZUM1dVpXZGhkR2wyWlNCZUlIa3VibVZuWVhScGRtVTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJSGd1YkdWdVozUm9JQ3NnZVM1c1pXNW5kR2c3WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFMTFiSFJwY0d4NUlHQjBhR2x6WUNCaWVTQmdiblZ0WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnYjNWMElEMGdibVYzSUVKT0tHNTFiR3dwTzF4dUlDQWdJRzkxZEM1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDQXJJRzUxYlM1c1pXNW5kR2dwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xMWJGUnZLRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmxiWEJzYjNscGJtY2dSa1pVWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0ZFd4bUlEMGdablZ1WTNScGIyNGdiWFZzWmlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdhblZ0WW05TmRXeFVieWgwYUdsekxDQnVkVzBzSUc5MWRDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNHRjR3hoWTJVZ1RYVnNkR2x3YkdsallYUnBiMjVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx0ZFd3Z1BTQm1kVzVqZEdsdmJpQnBiWFZzSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbTExYkZSdktHNTFiU3dnZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHRkV3h1SUQwZ1puVnVZM1JwYjI0Z2FXMTFiRzRnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnYm5WdElEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4SURCNE5EQXdNREF3TUNrN1hHNWNiaUFnSUNBdkx5QkRZWEp5ZVZ4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdkeUE5SUNoMGFHbHpMbmR2Y21SelcybGRJSHdnTUNrZ0tpQnVkVzA3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0FvZHlBbUlEQjRNMlptWm1abVppa2dLeUFvWTJGeWNua2dKaUF3ZURObVptWm1abVlwTzF4dUlDQWdJQ0FnWTJGeWNua2dQajQ5SURJMk8xeHVJQ0FnSUNBZ1kyRnljbmtnS3owZ0tIY2dMeUF3ZURRd01EQXdNREFwSUh3Z01EdGNiaUFnSUNBZ0lDOHZJRTVQVkVVNklHeHZJR2x6SURJM1ltbDBJRzFoZUdsdGRXMWNiaUFnSUNBZ0lHTmhjbko1SUNzOUlHeHZJRDQrUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCc2J5QW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCallYSnllVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvS3lzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJHNGdQU0JtZFc1amRHbHZiaUJ0ZFd4dUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdGRXeHVLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xMWJDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJnZEdocGMyQWdLaUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpjWElnUFNCbWRXNWpkR2x2YmlCcGMzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJYVnNLSFJvYVhNdVkyeHZibVVvS1NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVFdGMGFDNXdiM2NvWUhSb2FYTmdMQ0JnYm5WdFlDbGNiaUFnUWs0dWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlIY2dQU0IwYjBKcGRFRnljbUY1S0c1MWJTazdYRzRnSUNBZ2FXWWdLSGN1YkdWdVozUm9JRDA5UFNBd0tTQnlaWFIxY200Z2JtVjNJRUpPS0RFcE8xeHVYRzRnSUNBZ0x5OGdVMnRwY0NCc1pXRmthVzVuSUhwbGNtOWxjMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnZHk1c1pXNW5kR2c3SUdrckt5d2djbVZ6SUQwZ2NtVnpMbk54Y2lncEtTQjdYRzRnSUNBZ0lDQnBaaUFvZDF0cFhTQWhQVDBnTUNrZ1luSmxZV3M3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NzcmFTQThJSGN1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJ4SUQwZ2NtVnpMbk54Y2lncE95QnBJRHdnZHk1c1pXNW5kR2c3SUdrckt5d2djU0E5SUhFdWMzRnlLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSGRiYVYwZ1BUMDlJREFwSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lISmxjeUE5SUhKbGN5NXRkV3dvY1NrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwZFhOb2JHNGdQU0JtZFc1amRHbHZiaUJwZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNGdJQ0FnZG1GeUlHTmhjbko1VFdGemF5QTlJQ2d3ZURObVptWm1abVlnUGo0K0lDZ3lOaUF0SUhJcEtTQThQQ0FvTWpZZ0xTQnlLVHRjYmlBZ0lDQjJZWElnYVR0Y2JseHVJQ0FnSUdsbUlDaHlJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMllYSWdibVYzUTJGeWNua2dQU0IwYUdsekxuZHZjbVJ6VzJsZElDWWdZMkZ5Y25sTllYTnJPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1l5QTlJQ2dvZEdocGN5NTNiM0prYzF0cFhTQjhJREFwSUMwZ2JtVjNRMkZ5Y25rcElEdzhJSEk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqSUh3Z1kyRnljbms3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnYm1WM1EyRnljbmtnUGo0K0lDZ3lOaUF0SUhJcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWTJGeWNua3BJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ3NyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoeklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNCMGFHbHpMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVNBcklITmRJRDBnZEdocGN5NTNiM0prYzF0cFhUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElITTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnS3owZ2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMyaHNiaUE5SUdaMWJtTjBhVzl1SUdsemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kQ0JwYmkxd2JHRmpaVnh1SUNBdkx5Qk9UMVJGT2lCZ2FHbHVkR0FnYVhNZ1lTQnNiM2RsYzNRZ1ltbDBJR0psWm05eVpTQjBjbUZwYkdsdVp5QjZaWEp2WlhOY2JpQWdMeThnVGs5VVJUb2dhV1lnWUdWNGRHVnVaR1ZrWUNCcGN5QndjbVZ6Wlc1MElDMGdhWFFnZDJsc2JDQmlaU0JtYVd4c1pXUWdkMmwwYUNCa1pYTjBjbTk1WldRZ1ltbDBjMXh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZ6YUhKdUlEMGdablZ1WTNScGIyNGdhWFZ6YUhKdUlDaGlhWFJ6TENCb2FXNTBMQ0JsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnYUR0Y2JpQWdJQ0JwWmlBb2FHbHVkQ2tnZTF4dUlDQWdJQ0FnYUNBOUlDaG9hVzUwSUMwZ0tHaHBiblFnSlNBeU5pa3BJQzhnTWpZN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2dnUFNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdUV0YwYUM1dGFXNG9LR0pwZEhNZ0xTQnlLU0F2SURJMkxDQjBhR2x6TG14bGJtZDBhQ2s3WEc0Z0lDQWdkbUZ5SUcxaGMyc2dQU0F3ZURObVptWm1abVlnWGlBb0tEQjRNMlptWm1abVppQStQajRnY2lrZ1BEd2djaWs3WEc0Z0lDQWdkbUZ5SUcxaGMydGxaRmR2Y21SeklEMGdaWGgwWlc1a1pXUTdYRzVjYmlBZ0lDQm9JQzA5SUhNN1hHNGdJQ0FnYUNBOUlFMWhkR2d1YldGNEtEQXNJR2dwTzF4dVhHNGdJQ0FnTHk4Z1JYaDBaVzVrWldRZ2JXOWtaU3dnWTI5d2VTQnRZWE5yWldRZ2NHRnlkRnh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiV0Z6YTJWa1YyOXlaSE11YkdWdVozUm9JRDBnY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTh0YjNBc0lIZGxJSE5vYjNWc1pDQnViM1FnYlc5MlpTQmhibmwwYUdsdVp5QmhkQ0JoYkd4Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdjeWtnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ0xUMGdjenRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmtnS3lCelhUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTUNBbUppQW9ZMkZ5Y25rZ0lUMDlJREFnZkh3Z2FTQStQU0JvS1RzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJQ2hqWVhKeWVTQThQQ0FvTWpZZ0xTQnlLU2tnZkNBb2QyOXlaQ0ErUGo0Z2NpazdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlIZHZjbVFnSmlCdFlYTnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRkIxYzJnZ1kyRnljbWxsWkNCaWFYUnpJR0Z6SUdFZ2JXRnphMXh1SUNBZ0lHbG1JQ2h0WVhOclpXUlhiM0prY3lBbUppQmpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWQyOXlaSE5iYldGemEyVmtWMjl5WkhNdWJHVnVaM1JvS3l0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2x6YUhKdUlDaGlhWFJ6TENCb2FXNTBMQ0JsZUhSbGJtUmxaQ2tnZTF4dUlDQWdJQzh2SUZSUFJFOG9hVzVrZFhSdWVTazZJR2x0Y0d4bGJXVnVkQ0J0WlZ4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG01bFoyRjBhWFpsSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFhOb2NtNG9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk5vYVdaMExXeGxablJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbk5vYkc0Z1BTQm1kVzVqZEdsdmJpQnphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYzJoc2JpaGlhWFJ6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFhOb2JHNGdQU0JtZFc1amRHbHZiaUIxYzJoc2JpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVnphR3h1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTm9hV1owTFhKcFoyaDBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXphSEp1SUQwZ1puVnVZM1JwYjI0Z2MyaHliaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWE5vY200b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ6YUhKdUlEMGdablZ1WTNScGIyNGdkWE5vY200Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sMWMyaHliaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVVpYTjBJR2xtSUc0Z1ltbDBJR2x6SUhObGRGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRHVnpkRzRnUFNCbWRXNWpkR2x2YmlCMFpYTjBiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRDQStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZENBbElESTJPMXh1SUNBZ0lIWmhjaUJ6SUQwZ0tHSnBkQ0F0SUhJcElDOGdNalk3WEc0Z0lDQWdkbUZ5SUhFZ1BTQXhJRHc4SUhJN1hHNWNiaUFnSUNBdkx5QkdZWE4wSUdOaGMyVTZJR0pwZENCcGN5QnRkV05vSUdocFoyaGxjaUIwYUdGdUlHRnNiQ0JsZUdsemRHbHVaeUIzYjNKa2MxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4UFNCektTQnlaWFIxY200Z1ptRnNjMlU3WEc1Y2JpQWdJQ0F2THlCRGFHVmpheUJpYVhRZ1lXNWtJSEpsZEhWeWJseHVJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzF0elhUdGNibHh1SUNBZ0lISmxkSFZ5YmlBaElTaDNJQ1lnY1NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzl1YkhrZ2JHOTNaWEp6SUdKcGRITWdiMllnYm5WdFltVnlJQ2hwYmkxd2JHRmpaU2xjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx0WVhOcmJpQTlJR1oxYm1OMGFXOXVJR2x0WVhOcmJpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdZbWwwY3lBOVBUMGdKMjUxYldKbGNpY2dKaVlnWW1sMGN5QStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0pwZEhNZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFJ6SUMwZ2Npa2dMeUF5Tmp0Y2JseHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3TENBbmFXMWhjMnR1SUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaU0J1ZFcxaVpYSnpKeWs3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQRDBnY3lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSElnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCTllYUm9MbTFwYmloekxDQjBhR2x6TG14bGJtZDBhQ2s3WEc1Y2JpQWdJQ0JwWmlBb2NpQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzFoYzJzZ1BTQXdlRE5tWm1abVptWWdYaUFvS0RCNE0yWm1abVptWmlBK1BqNGdjaWtnUER3Z2NpazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvSUMwZ01WMGdKajBnYldGemF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjbHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViV0Z6YTI0Z1BTQm1kVzVqZEdsdmJpQnRZWE5yYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVcxaGMydHVLR0pwZEhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVGa1pDQndiR0ZwYmlCdWRXMWlaWElnWUc1MWJXQWdkRzhnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV1JrYmlBOUlHWjFibU4wYVc5dUlHbGhaR1J1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVJQ0FnSUdsbUlDaHVkVzBnUENBd0tTQnlaWFIxY200Z2RHaHBjeTVwYzNWaWJpZ3RiblZ0S1R0Y2JseHVJQ0FnSUM4dklGQnZjM05wWW14bElITnBaMjRnWTJoaGJtZGxYRzRnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01TQW1KaUFvZEdocGN5NTNiM0prYzFzd1hTQjhJREFwSUR3Z2JuVnRLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0J1ZFcwZ0xTQW9kR2hwY3k1M2IzSmtjMXN3WFNCOElEQXBPMXh1SUNBZ0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2RHaHBjeTVwYzNWaWJpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQlpHUWdkMmwwYUc5MWRDQmphR1ZqYTNOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmFXRmtaRzRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybGhaR1J1SUQwZ1puVnVZM1JwYjI0Z1gybGhaR1J1SUNodWRXMHBJSHRjYmlBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUNzOUlHNTFiVHRjYmx4dUlDQWdJQzh2SUVOaGNuSjVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0FtSmlCMGFHbHpMbmR2Y21SelcybGRJRDQ5SURCNE5EQXdNREF3TURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElDMDlJREI0TkRBd01EQXdNRHRjYmlBZ0lDQWdJR2xtSUNocElEMDlQU0IwYUdsekxteGxibWQwYUNBdElERXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2dNVjBnUFNBeE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwckt6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG0xaGVDaDBhR2x6TG14bGJtZDBhQ3dnYVNBcklERXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzNWaWJpQTlJR1oxYm1OMGFXOXVJR2x6ZFdKdUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHNTFiU0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BDQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwZ1BDQXdLU0J5WlhSMWNtNGdkR2hwY3k1cFlXUmtiaWd0Ym5WdEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVhV0ZrWkc0b2JuVnRLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBdFBTQnVkVzA3WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURFZ0ppWWdkR2hwY3k1M2IzSmtjMXN3WFNBOElEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXRkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJEWVhKeWVWeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0FtSmlCMGFHbHpMbmR2Y21SelcybGRJRHdnTURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdLejBnTUhnME1EQXdNREF3TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUF4WFNBdFBTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtRmtaRzRnUFNCbWRXNWpkR2x2YmlCaFpHUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZbTRnUFNCbWRXNWpkR2x2YmlCemRXSnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHpkV0p1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhZbk1nUFNCbWRXNWpkR2x2YmlCcFlXSnpJQ2dwSUh0Y2JpQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWW5NZ1BTQm1kVzVqZEdsdmJpQmhZbk1nS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXRmljeWdwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVhOb2JHNXpkV0p0ZFd3Z1BTQm1kVzVqZEdsdmJpQmZhWE5vYkc1emRXSnRkV3dnS0c1MWJTd2diWFZzTENCemFHbG1kQ2tnZTF4dUlDQWdJSFpoY2lCc1pXNGdQU0J1ZFcwdWJHVnVaM1JvSUNzZ2MyaHBablE3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCMGFHbHpMbDlsZUhCaGJtUW9iR1Z1S1R0Y2JseHVJQ0FnSUhaaGNpQjNPMXh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJrZ0t5QnphR2xtZEYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdkbUZ5SUhKcFoyaDBJRDBnS0c1MWJTNTNiM0prYzF0cFhTQjhJREFwSUNvZ2JYVnNPMXh1SUNBZ0lDQWdkeUF0UFNCeWFXZG9kQ0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnS0hjZ1BqNGdNallwSUMwZ0tDaHlhV2RvZENBdklEQjROREF3TURBd01Da2dmQ0F3S1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5vYVdaMFhTQTlJSGNnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QnBJRHdnZEdocGN5NXNaVzVuZEdnZ0xTQnphR2xtZERzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0tIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnphR2xtZEYwZ1BTQjNJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoallYSnllU0E5UFQwZ01Da2djbVYwZFhKdUlIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJQzh2SUZOMVluUnlZV04wYVc5dUlHOTJaWEptYkc5M1hHNGdJQ0FnWVhOelpYSjBLR05oY25KNUlEMDlQU0F0TVNrN1hHNGdJQ0FnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjNJRDBnTFNoMGFHbHpMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBK1BpQXlOanRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQjNJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOTNiM0prUkdsMklEMGdablZ1WTNScGIyNGdYM2R2Y21SRWFYWWdLRzUxYlN3Z2JXOWtaU2tnZTF4dUlDQWdJSFpoY2lCemFHbG1kQ0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdiblZ0TG14bGJtZDBhRHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3k1amJHOXVaU2dwTzF4dUlDQWdJSFpoY2lCaUlEMGdiblZ0TzF4dVhHNGdJQ0FnTHk4Z1RtOXliV0ZzYVhwbFhHNGdJQ0FnZG1GeUlHSm9hU0E5SUdJdWQyOXlaSE5iWWk1c1pXNW5kR2dnTFNBeFhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKb2FVSnBkSE1nUFNCMGFHbHpMbDlqYjNWdWRFSnBkSE1vWW1ocEtUdGNiaUFnSUNCemFHbG1kQ0E5SURJMklDMGdZbWhwUW1sMGN6dGNiaUFnSUNCcFppQW9jMmhwWm5RZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdJZ1BTQmlMblZ6YUd4dUtITm9hV1owS1R0Y2JpQWdJQ0FnSUdFdWFYVnphR3h1S0hOb2FXWjBLVHRjYmlBZ0lDQWdJR0pvYVNBOUlHSXVkMjl5WkhOYllpNXNaVzVuZEdnZ0xTQXhYU0I4SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1NXNXBkR2xoYkdsNlpTQnhkVzkwYVdWdWRGeHVJQ0FnSUhaaGNpQnRJRDBnWVM1c1pXNW5kR2dnTFNCaUxteGxibWQwYUR0Y2JpQWdJQ0IyWVhJZ2NUdGNibHh1SUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdjU0E5SUc1bGR5QkNUaWh1ZFd4c0tUdGNiaUFnSUNBZ0lIRXViR1Z1WjNSb0lEMGdiU0FySURFN1hHNGdJQ0FnSUNCeExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIRXViR1Z1WjNSb0tUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnhMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1pHbG1aaUE5SUdFdVkyeHZibVVvS1M1ZmFYTm9iRzV6ZFdKdGRXd29ZaXdnTVN3Z2JTazdYRzRnSUNBZ2FXWWdLR1JwWm1ZdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUdFZ1BTQmthV1ptTzF4dUlDQWdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJQ0FnY1M1M2IzSmtjMXR0WFNBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJRzBnTFNBeE95QnFJRDQ5SURBN0lHb3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIRnFJRDBnS0dFdWQyOXlaSE5iWWk1c1pXNW5kR2dnS3lCcVhTQjhJREFwSUNvZ01IZzBNREF3TURBd0lDdGNiaUFnSUNBZ0lDQWdLR0V1ZDI5eVpITmJZaTVzWlc1bmRHZ2dLeUJxSUMwZ01WMGdmQ0F3S1R0Y2JseHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ0tIRnFJQzhnWW1ocEtTQnBjeUFvTUhnelptWm1abVptSUNvZ01IZzBNREF3TURBd0lDc2dNSGd6Wm1abVptWm1LU0F2SURCNE1qQXdNREF3TUNCdFlYaGNiaUFnSUNBZ0lDOHZJQ2d3ZURkbVptWm1abVlwWEc0Z0lDQWdJQ0J4YWlBOUlFMWhkR2d1YldsdUtDaHhhaUF2SUdKb2FTa2dmQ0F3TENBd2VETm1abVptWm1ZcE8xeHVYRzRnSUNBZ0lDQmhMbDlwYzJoc2JuTjFZbTExYkNoaUxDQnhhaXdnYWlrN1hHNGdJQ0FnSUNCM2FHbHNaU0FvWVM1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCeGFpMHRPMXh1SUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2dNU3dnYWlrN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doWVM1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0V1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hFcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHFYU0E5SUhGcU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2NTa2dlMXh1SUNBZ0lDQWdjUzV6ZEhKcGNDZ3BPMXh1SUNBZ0lIMWNiaUFnSUNCaExuTjBjbWx3S0NrN1hHNWNiaUFnSUNBdkx5QkVaVzV2Y20xaGJHbDZaVnh1SUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuWkdsMkp5QW1KaUJ6YUdsbWRDQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1lTNXBkWE5vY200b2MyaHBablFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQmthWFk2SUhFZ2ZId2diblZzYkN4Y2JpQWdJQ0FnSUcxdlpEb2dZVnh1SUNBZ0lIMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1RrOVVSVG9nTVNrZ1lHMXZaR1ZnSUdOaGJpQmlaU0J6WlhRZ2RHOGdZRzF2WkdBZ2RHOGdjbVZ4ZFdWemRDQnRiMlFnYjI1c2VTeGNiaUFnTHk4Z0lDQWdJQ0FnZEc4Z1lHUnBkbUFnZEc4Z2NtVnhkV1Z6ZENCa2FYWWdiMjVzZVN3Z2IzSWdZbVVnWVdKelpXNTBJSFJ2WEc0Z0lDOHZJQ0FnSUNBZ0lISmxjWFZsYzNRZ1ltOTBhQ0JrYVhZZ0ppQnRiMlJjYmlBZ0x5OGdJQ0FnSUNBZ01pa2dZSEJ2YzJsMGFYWmxZQ0JwY3lCMGNuVmxJR2xtSUhWdWMybG5ibVZrSUcxdlpDQnBjeUJ5WlhGMVpYTjBaV1JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZG0xdlpDQTlJR1oxYm1OMGFXOXVJR1JwZG0xdlpDQW9iblZ0TENCdGIyUmxMQ0J3YjNOcGRHbDJaU2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hiblZ0TG1seldtVnlieWdwS1R0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJRzVsZHlCQ1RpZ3dLU3hjYmlBZ0lDQWdJQ0FnYlc5a09pQnVaWGNnUWs0b01DbGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR1JwZGl3Z2JXOWtMQ0J5WlhNN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtNWxaeWdwTG1ScGRtMXZaQ2h1ZFcwc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluS1NCN1hHNGdJQ0FnSUNBZ0lHMXZaQ0E5SUhKbGN5NXRiMlF1Ym1WbktDazdYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2wyWlNBbUppQnRiMlF1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdGIyUXVhV0ZrWkNodWRXMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2daR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdVpHbDJiVzlrS0c1MWJTNXVaV2NvS1N3Z2JXOWtaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5iVzlrSnlrZ2UxeHVJQ0FnSUNBZ0lDQmthWFlnUFNCeVpYTXVaR2wyTG01bFp5Z3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JrYVhZNklHUnBkaXhjYmlBZ0lDQWdJQ0FnYlc5a09pQnlaWE11Ylc5a1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ29kR2hwY3k1dVpXZGhkR2wyWlNBbUlHNTFiUzV1WldkaGRHbDJaU2tnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIUm9hWE11Ym1WbktDa3VaR2wyYlc5a0tHNTFiUzV1Wldjb0tTd2diVzlrWlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuWkdsMkp5a2dlMXh1SUNBZ0lDQWdJQ0J0YjJRZ1BTQnlaWE11Ylc5a0xtNWxaeWdwTzF4dUlDQWdJQ0FnSUNCcFppQW9jRzl6YVhScGRtVWdKaVlnYlc5a0xtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdiVzlrTG1semRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhKbGN5NWthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2diVzlrWEc0Z0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVVnWVhRZ2RHaHBjeUJ3YjJsdWRGeHVYRzRnSUNBZ0x5OGdVM1J5YVhBZ1ltOTBhQ0J1ZFcxaVpYSnpJSFJ2SUdGd2NISnZlR2x0WVhSbElITm9hV1owSUhaaGJIVmxYRzRnSUNBZ2FXWWdLRzUxYlM1c1pXNW5kR2dnUGlCMGFHbHpMbXhsYm1kMGFDQjhmQ0IwYUdsekxtTnRjQ2h1ZFcwcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQnVaWGNnUWs0b01Da3NYRzRnSUNBZ0lDQWdJRzF2WkRvZ2RHaHBjMXh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJXWlhKNUlITm9iM0owSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHViR1Z1WjNSb0lEMDlQU0F4S1NCN1hHNGdJQ0FnSUNCcFppQW9iVzlrWlNBOVBUMGdKMlJwZGljcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0JrYVhZNklIUm9hWE11WkdsMmJpaHVkVzB1ZDI5eVpITmJNRjBwTEZ4dUlDQWdJQ0FnSUNBZ0lHMXZaRG9nYm5Wc2JGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JXOWtaU0E5UFQwZ0oyMXZaQ2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQmthWFk2SUc1MWJHd3NYRzRnSUNBZ0lDQWdJQ0FnYlc5a09pQnVaWGNnUWs0b2RHaHBjeTV0YjJSdUtHNTFiUzUzYjNKa2Mxc3dYU2twWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JtVjNJRUpPS0hSb2FYTXViVzlrYmlodWRXMHVkMjl5WkhOYk1GMHBLVnh1SUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZDI5eVpFUnBkaWh1ZFcwc0lHMXZaR1VwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUM4Z1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZGlBOUlHWjFibU4wYVc5dUlHUnBkaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjJScGRpY3NJR1poYkhObEtTNWthWFk3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdSbWx1WkNCZ2RHaHBjMkFnSlNCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViVzlrSUQwZ1puVnVZM1JwYjI0Z2JXOWtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWthWFp0YjJRb2JuVnRMQ0FuYlc5a0p5d2dabUZzYzJVcExtMXZaRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkVzF2WkNBOUlHWjFibU4wYVc5dUlIVnRiMlFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNkdGIyUW5MQ0IwY25WbEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdSbWx1WkNCU2IzVnVaQ2hnZEdocGMyQWdMeUJnYm5WdFlDbGNiaUFnUWs0dWNISnZkRzkwZVhCbExtUnBkbEp2ZFc1a0lEMGdablZ1WTNScGIyNGdaR2wyVW05MWJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQmtiU0E5SUhSb2FYTXVaR2wyYlc5a0tHNTFiU2s3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVZ0xTQmxlR0ZqZENCa2FYWnBjMmx2Ymx4dUlDQWdJR2xtSUNoa2JTNXRiMlF1YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJrYlM1a2FYWTdYRzVjYmlBZ0lDQjJZWElnYlc5a0lEMGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHViVzlrTG1semRXSW9iblZ0S1NBNklHUnRMbTF2WkR0Y2JseHVJQ0FnSUhaaGNpQm9ZV3htSUQwZ2JuVnRMblZ6YUhKdUtERXBPMXh1SUNBZ0lIWmhjaUJ5TWlBOUlHNTFiUzVoYm1Sc2JpZ3hLVHRjYmlBZ0lDQjJZWElnWTIxd0lEMGdiVzlrTG1OdGNDaG9ZV3htS1R0Y2JseHVJQ0FnSUM4dklGSnZkVzVrSUdSdmQyNWNiaUFnSUNCcFppQW9ZMjF3SUR3Z01DQjhmQ0J5TWlBOVBUMGdNU0FtSmlCamJYQWdQVDA5SURBcElISmxkSFZ5YmlCa2JTNWthWFk3WEc1Y2JpQWdJQ0F2THlCU2IzVnVaQ0IxY0Z4dUlDQWdJSEpsZEhWeWJpQmtiUzVrYVhZdWJtVm5ZWFJwZG1VZ0lUMDlJREFnUHlCa2JTNWthWFl1YVhOMVltNG9NU2tnT2lCa2JTNWthWFl1YVdGa1pHNG9NU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2Wkc0Z1BTQm1kVzVqZEdsdmJpQnRiMlJ1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2JuVnRJRHc5SURCNE0yWm1abVptWmlrN1hHNGdJQ0FnZG1GeUlIQWdQU0FvTVNBOFBDQXlOaWtnSlNCdWRXMDdYRzVjYmlBZ0lDQjJZWElnWVdOaklEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ1lXTmpJRDBnS0hBZ0tpQmhZMk1nS3lBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcEtTQWxJRzUxYlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZV05qTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRWx1TFhCc1lXTmxJR1JwZG1semFXOXVJR0o1SUc1MWJXSmxjbHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV1JwZG00Z1BTQm1kVzVqZEdsdmJpQnBaR2wyYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rZ0tpQXdlRFF3TURBd01EQTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ0tIY2dMeUJ1ZFcwcElId2dNRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUFsSUc1MWJUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1a2FYWnVJRDBnWm5WdVkzUnBiMjRnWkdsMmJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFpHbDJiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bFoyTmtJRDBnWm5WdVkzUnBiMjRnWldkalpDQW9jQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHdMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCaGMzTmxjblFvSVhBdWFYTmFaWEp2S0NrcE8xeHVYRzRnSUNBZ2RtRnlJSGdnUFNCMGFHbHpPMXh1SUNBZ0lIWmhjaUI1SUQwZ2NDNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2FXWWdLSGd1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSGdnUFNCNExuVnRiMlFvY0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSGdnUFNCNExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FTQXFJSGdnS3lCQ0lDb2dlU0E5SUhoY2JpQWdJQ0IyWVhJZ1FTQTlJRzVsZHlCQ1RpZ3hLVHRjYmlBZ0lDQjJZWElnUWlBOUlHNWxkeUJDVGlnd0tUdGNibHh1SUNBZ0lDOHZJRU1nS2lCNElDc2dSQ0FxSUhrZ1BTQjVYRzRnSUNBZ2RtRnlJRU1nUFNCdVpYY2dRazRvTUNrN1hHNGdJQ0FnZG1GeUlFUWdQU0J1WlhjZ1FrNG9NU2s3WEc1Y2JpQWdJQ0IyWVhJZ1p5QTlJREE3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9lQzVwYzBWMlpXNG9LU0FtSmlCNUxtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQjRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJSGt1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnS3l0bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQjVjQ0E5SUhrdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ2VIQWdQU0I0TG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9JWGd1YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JwYlNBOUlERTdJQ2g0TG5kdmNtUnpXekJkSUNZZ2FXMHBJRDA5UFNBd0lDWW1JR2tnUENBeU5qc2dLeXRwTENCcGJTQThQRDBnTVNrN1hHNGdJQ0FnSUNCcFppQW9hU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdlQzVwZFhOb2NtNG9hU2s3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hwTFMwZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRUV1YVhOUFpHUW9LU0I4ZkNCQ0xtbHpUMlJrS0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUVFdWFXRmtaQ2g1Y0NrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JDTG1semRXSW9lSEFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUVFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0lDQWdJRUl1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3TENCcWJTQTlJREU3SUNoNUxuZHZjbVJ6V3pCZElDWWdhbTBwSUQwOVBTQXdJQ1ltSUdvZ1BDQXlOanNnS3l0cUxDQnFiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYWlBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnZVM1cGRYTm9jbTRvYWlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocUxTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0VNdWFYTlBaR1FvS1NCOGZDQkVMbWx6VDJSa0tDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFTXVhV0ZrWkNoNWNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCRUxtbHpkV0lvZUhBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lFTXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0FnSUVRdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoNExtTnRjQ2g1S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhndWFYTjFZaWg1S1R0Y2JpQWdJQ0FnSUNBZ1FTNXBjM1ZpS0VNcE8xeHVJQ0FnSUNBZ0lDQkNMbWx6ZFdJb1JDazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjVMbWx6ZFdJb2VDazdYRzRnSUNBZ0lDQWdJRU11YVhOMVlpaEJLVHRjYmlBZ0lDQWdJQ0FnUkM1cGMzVmlLRUlwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQmhPaUJETEZ4dUlDQWdJQ0FnWWpvZ1JDeGNiaUFnSUNBZ0lHZGpaRG9nZVM1cGRYTm9iRzRvWnlsY2JpQWdJQ0I5TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlJvYVhNZ2FYTWdjbVZrZFdObFpDQnBibU5oY201aGRHbHZiaUJ2WmlCMGFHVWdZbWx1WVhKNUlFVkZRVnh1SUNBdkx5QmhZbTkyWlN3Z1pHVnphV2R1WVhSbFpDQjBieUJwYm5abGNuUWdiV1Z0WW1WeWN5QnZaaUIwYUdWY2JpQWdMeThnWDNCeWFXMWxYeUJtYVdWc1pITWdSaWh3S1NCaGRDQmhJRzFoZUdsdFlXd2djM0JsWldSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJuWnRjQ0E5SUdaMWJtTjBhVzl1SUY5cGJuWnRjQ0FvY0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h3TG01bFoyRjBhWFpsSUQwOVBTQXdLVHRjYmlBZ0lDQmhjM05sY25Rb0lYQXVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdkbUZ5SUdFZ1BTQjBhR2x6TzF4dUlDQWdJSFpoY2lCaUlEMGdjQzVqYkc5dVpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdFZ1BTQmhMblZ0YjJRb2NDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQmhMbU5zYjI1bEtDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSGd4SUQwZ2JtVjNJRUpPS0RFcE8xeHVJQ0FnSUhaaGNpQjRNaUE5SUc1bGR5QkNUaWd3S1R0Y2JseHVJQ0FnSUhaaGNpQmtaV3gwWVNBOUlHSXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIZG9hV3hsSUNoaExtTnRjRzRvTVNrZ1BpQXdJQ1ltSUdJdVkyMXdiaWd4S1NBK0lEQXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnBiU0E5SURFN0lDaGhMbmR2Y21Seld6QmRJQ1lnYVcwcElEMDlQU0F3SUNZbUlHa2dQQ0F5TmpzZ0t5dHBMQ0JwYlNBOFBEMGdNU2s3WEc0Z0lDQWdJQ0JwWmlBb2FTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b2FTazdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaHBMUzBnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIZ3hMbWx6VDJSa0tDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIZ3hMbWxoWkdRb1pHVnNkR0VwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUhneExtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Dd2dhbTBnUFNBeE95QW9ZaTUzYjNKa2Mxc3dYU0FtSUdwdEtTQTlQVDBnTUNBbUppQnFJRHdnTWpZN0lDc3JhaXdnYW0wZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHb2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHSXVhWFZ6YUhKdUtHb3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9haTB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNaTVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNaTVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1pNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHRXVZMjF3S0dJcElENDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBjM1ZpS0dJcE8xeHVJQ0FnSUNBZ0lDQjRNUzVwYzNWaUtIZ3lLVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR0l1YVhOMVlpaGhLVHRjYmlBZ0lDQWdJQ0FnZURJdWFYTjFZaWg0TVNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvWVM1amJYQnVLREVwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjRNVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZURJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tISmxjeTVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpMbWxoWkdRb2NDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVoyTmtJRDBnWm5WdVkzUnBiMjRnWjJOa0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzUxYlM1aFluTW9LVHRjYmlBZ0lDQnBaaUFvYm5WdExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2RHaHBjeTVoWW5Nb0tUdGNibHh1SUNBZ0lIWmhjaUJoSUQwZ2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbU5zYjI1bEtDazdYRzRnSUNBZ1lTNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdZaTV1WldkaGRHbDJaU0E5SURBN1hHNWNiaUFnSUNBdkx5QlNaVzF2ZG1VZ1kyOXRiVzl1SUdaaFkzUnZjaUJ2WmlCMGQyOWNiaUFnSUNCbWIzSWdLSFpoY2lCemFHbG1kQ0E5SURBN0lHRXVhWE5GZG1WdUtDa2dKaVlnWWk1cGMwVjJaVzRvS1RzZ2MyaHBablFyS3lrZ2UxeHVJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQmlMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ZUzVwYzBWMlpXNG9LU2tnZTF4dUlDQWdJQ0FnSUNCaExtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lIZG9hV3hsSUNoaUxtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQWdJR0l1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMllYSWdjaUE5SUdFdVkyMXdLR0lwTzF4dUlDQWdJQ0FnYVdZZ0tISWdQQ0F3S1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRk4zWVhBZ1lHRmdJR0Z1WkNCZ1ltQWdkRzhnYldGclpTQmdZV0FnWVd4M1lYbHpJR0pwWjJkbGNpQjBhR0Z1SUdCaVlGeHVJQ0FnSUNBZ0lDQjJZWElnZENBOUlHRTdYRzRnSUNBZ0lDQWdJR0VnUFNCaU8xeHVJQ0FnSUNBZ0lDQmlJRDBnZER0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2NpQTlQVDBnTUNCOGZDQmlMbU50Y0c0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNCOUlIZG9hV3hsSUNoMGNuVmxLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQmlMbWwxYzJoc2JpaHphR2xtZENrN1hHNGdJSDA3WEc1Y2JpQWdMeThnU1c1MlpYSjBJRzUxYldKbGNpQnBiaUIwYUdVZ1ptbGxiR1FnUmlodWRXMHBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiblp0SUQwZ1puVnVZM1JwYjI0Z2FXNTJiU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaV2RqWkNodWRXMHBMbUV1ZFcxdlpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzBWMlpXNGdQU0JtZFc1amRHbHZiaUJwYzBWMlpXNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW9kR2hwY3k1M2IzSmtjMXN3WFNBbUlERXBJRDA5UFNBd08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMwOWtaQ0E5SUdaMWJtTjBhVzl1SUdselQyUmtJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01UdGNiaUFnZlR0Y2JseHVJQ0F2THlCQmJtUWdabWx5YzNRZ2QyOXlaQ0JoYm1RZ2JuVnRYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhibVJzYmlBOUlHWjFibU4wYVc5dUlHRnVaR3h1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUzYjNKa2Mxc3dYU0FtSUc1MWJUdGNiaUFnZlR0Y2JseHVJQ0F2THlCSmJtTnlaVzFsYm5RZ1lYUWdkR2hsSUdKcGRDQndiM05wZEdsdmJpQnBiaTFzYVc1bFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aWFXNWpiaUE5SUdaMWJtTjBhVzl1SUdKcGJtTnVJQ2hpYVhRcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZENBOVBUMGdKMjUxYldKbGNpY3BPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMElDMGdjaWtnTHlBeU5qdGNiaUFnSUNCMllYSWdjU0E5SURFZ1BEd2djanRjYmx4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlRvZ1ltbDBJR2x6SUcxMVkyZ2dhR2xuYUdWeUlIUm9ZVzRnWVd4c0lHVjRhWE4wYVc1bklIZHZjbVJ6WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEdzlJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVYMlY0Y0dGdVpDaHpJQ3NnTVNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczTmRJSHc5SUhFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnWW1sMElHRnVaQ0J3Y205d1lXZGhkR1VzSUdsbUlHNWxaV1JsWkZ4dUlDQWdJSFpoY2lCallYSnllU0E5SUhFN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITTdJR05oY25KNUlDRTlQU0F3SUNZbUlHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdkeUFyUFNCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUErUGo0Z01qWTdYRzRnSUNBZ0lDQjNJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IzTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCallYSnllVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvS3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYzFwbGNtOGdQU0JtZFc1amRHbHZiaUJwYzFwbGNtOGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG14bGJtZDBhQ0E5UFQwZ01TQW1KaUIwYUdsekxuZHZjbVJ6V3pCZElEMDlQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYlhCdUlEMGdablZ1WTNScGIyNGdZMjF3YmlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc1bFoyRjBhWFpsSUQwZ2JuVnRJRHdnTUR0Y2JseHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUNGdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SUMweE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUQwOVBTQXdJQ1ltSUc1bFoyRjBhWFpsS1NCeVpYUjFjbTRnTVR0Y2JseHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnTVNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0c1bFoyRjBhWFpsS1NCN1hHNGdJQ0FnSUNBZ0lHNTFiU0E5SUMxdWRXMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUxDQW5UblZ0WW1WeUlHbHpJSFJ2YnlCaWFXY25LVHRjYmx4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6V3pCZElId2dNRHRjYmlBZ0lDQWdJSEpsY3lBOUlIY2dQVDA5SUc1MWJTQS9JREFnT2lCM0lEd2diblZ0SUQ4Z0xURWdPaUF4TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2NtVjBkWEp1SUMxeVpYTWdmQ0F3TzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRMjl0Y0dGeVpTQjBkMjhnYm5WdFltVnljeUJoYm1RZ2NtVjBkWEp1T2x4dUlDQXZMeUF4SUMwZ2FXWWdZSFJvYVhOZ0lENGdZRzUxYldCY2JpQWdMeThnTUNBdElHbG1JR0IwYUdsellDQTlQU0JnYm5WdFlGeHVJQ0F2THlBdE1TQXRJR2xtSUdCMGFHbHpZQ0E4SUdCdWRXMWdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWpiWEFnUFNCbWRXNWpkR2x2YmlCamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2NtVjBkWEp1SUMweE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUQwOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RHaHBjeTUxWTIxd0tHNTFiU2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlZ1YzJsbmJtVmtJR052YlhCaGNtbHpiMjVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZqYlhBZ1BTQm1kVzVqZEdsdmJpQjFZMjF3SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJCZENCMGFHbHpJSEJ2YVc1MElHSnZkR2dnYm5WdFltVnljeUJvWVhabElIUm9aU0J6WVcxbElITnBaMjVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdNVHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BDQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdMVEU3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUdFZ1BTQjBhR2x6TG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21SelcybGRJSHdnTUR0Y2JseHVJQ0FnSUNBZ2FXWWdLR0VnUFQwOUlHSXBJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdhV1lnS0dFZ1BDQmlLU0I3WEc0Z0lDQWdJQ0FnSUhKbGN5QTlJQzB4TzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoaElENGdZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F4TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMGJpQTlJR1oxYm1OMGFXOXVJR2QwYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW5kQ0E5SUdaMWJtTjBhVzl1SUdkMElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1JsYmlBOUlHWjFibU4wYVc5dUlHZDBaVzRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0c0b2JuVnRLU0ErUFNBd08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVWdQU0JtZFc1amRHbHZiaUJuZEdVZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNDaHVkVzBwSUQ0OUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExteDBiaUE5SUdaMWJtTjBhVzl1SUd4MGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElEMDlQU0F0TVR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhRZ1BTQm1kVzVqZEdsdmJpQnNkQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SUMweE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1c2RHVnVJRDBnWm5WdVkzUnBiMjRnYkhSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElEdzlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlNBOUlHWjFibU4wYVc5dUlHeDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQRDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhGdUlEMGdablZ1WTNScGIyNGdaWEZ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtVnhJRDBnWm5WdVkzUnBiMjRnWlhFZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNDaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dlhHNGdJQzh2SUVFZ2NtVmtkV05sSUdOdmJuUmxlSFFzSUdOdmRXeGtJR0psSUhWemFXNW5JRzF2Ym5SbmIyMWxjbmtnYjNJZ2MyOXRaWFJvYVc1bklHSmxkSFJsY2l3Z1pHVndaVzVrYVc1blhHNGdJQzh2SUc5dUlIUm9aU0JnYldBZ2FYUnpaV3htTGx4dUlDQXZMMXh1SUNCQ1RpNXlaV1FnUFNCbWRXNWpkR2x2YmlCeVpXUWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VtVmtLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlVtVmtJRDBnWm5WdVkzUnBiMjRnZEc5U1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2doZEdocGN5NXlaV1FzSUNkQmJISmxZV1I1SUdFZ2JuVnRZbVZ5SUdsdUlISmxaSFZqZEdsdmJpQmpiMjUwWlhoMEp5azdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBc0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEJ2YzJsMGFYWmxjeWNwTzF4dUlDQWdJSEpsZEhWeWJpQmpkSGd1WTI5dWRtVnlkRlJ2S0hSb2FYTXBMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bWNtOXRVbVZrSUQwZ1puVnVZM1JwYjI0Z1puSnZiVkpsWkNBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBblpuSnZiVkpsWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnYm5WdFltVnljeUJwYmlCeVpXUjFZM1JwYjI0Z1kyOXVkR1Y0ZENjcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzVqYjI1MlpYSjBSbkp2YlNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMlp2Y21ObFVtVmtJRDBnWm5WdVkzUnBiMjRnWDJadmNtTmxVbVZrSUNoamRIZ3BJSHRjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJR04wZUR0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Wm05eVkyVlNaV1FnUFNCbWRXNWpkR2x2YmlCbWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlptOXlZMlZTWldRb1kzUjRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrUVdSa0lEMGdablZ1WTNScGIyNGdjbVZrUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSQlpHUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtRmtaQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlFXUmtJRDBnWm5WdVkzUnBiMjRnY21Wa1NVRmtaQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVdGa1pDaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUZFdJZ1BTQm1kVzVqZEdsdmJpQnlaV1JUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOMVlpQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMzVmlLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVsVGRXSWdQU0JtZFc1amRHbHZiaUJ5WldSSlUzVmlJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUkpVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzVwYzNWaUtIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRk5vYkNBOUlHWjFibU4wYVc5dUlISmxaRk5vYkNBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTJoc0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1emFHd29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVFhWc0lEMGdablZ1WTNScGIyNGdjbVZrVFhWc0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSTmRXd2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVUSW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVsTmRXd2dQU0JtZFc1amRHbHZiaUJ5WldSSlRYVnNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUk5kV3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVElvZEdocGN5d2diblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVhVzExYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUlRjWElnUFNCbWRXNWpkR2x2YmlCeVpXUlRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpGTnhjaUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeUtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzRnlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTnhjaUFvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1NWTnhjaUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUY1hWaGNtVWdjbTl2ZENCdmRtVnlJSEJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNuUWdQU0JtZFc1amRHbHZiaUJ5WldSVGNYSjBJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGNYSjBJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3hLSFJvYVhNcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6Y1hKMEtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSmJuWnRJRDBnWm5WdVkzUnBiMjRnY21Wa1NXNTJiU0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1NXNTJiU0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVc1MmJTaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdibVZuWVhScGRtVWdZMnh2Ym1VZ2IyWWdZSFJvYVhOZ0lDVWdZSEpsWkNCdGIyUjFiRzlnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldST1pXY2dQU0JtZFc1amRHbHZiaUJ5WldST1pXY2dLQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkU1bFp5QjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVibVZuS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JRYjNjZ1BTQm1kVzVqZEdsdmJpQnlaV1JRYjNjZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDQW1KaUFoYm5WdExuSmxaQ3dnSjNKbFpGQnZkeWh1YjNKdFlXeE9kVzBwSnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5CdmR5aDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUM4dklGQnlhVzFsSUc1MWJXSmxjbk1nZDJsMGFDQmxabVpwWTJsbGJuUWdjbVZrZFdOMGFXOXVYRzRnSUhaaGNpQndjbWx0WlhNZ1BTQjdYRzRnSUNBZ2F6STFOam9nYm5Wc2JDeGNiaUFnSUNCd01qSTBPaUJ1ZFd4c0xGeHVJQ0FnSUhBeE9USTZJRzUxYkd3c1hHNGdJQ0FnY0RJMU5URTVPaUJ1ZFd4c1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhObGRXUnZMVTFsY25ObGJtNWxJSEJ5YVcxbFhHNGdJR1oxYm1OMGFXOXVJRTFRY21sdFpTQW9ibUZ0WlN3Z2NDa2dlMXh1SUNBZ0lDOHZJRkFnUFNBeUlGNGdUaUF0SUV0Y2JpQWdJQ0IwYUdsekxtNWhiV1VnUFNCdVlXMWxPMXh1SUNBZ0lIUm9hWE11Y0NBOUlHNWxkeUJDVGlod0xDQXhOaWs3WEc0Z0lDQWdkR2hwY3k1dUlEMGdkR2hwY3k1d0xtSnBkRXhsYm1kMGFDZ3BPMXh1SUNBZ0lIUm9hWE11YXlBOUlHNWxkeUJDVGlneEtTNXBkWE5vYkc0b2RHaHBjeTV1S1M1cGMzVmlLSFJvYVhNdWNDazdYRzVjYmlBZ0lDQjBhR2x6TG5SdGNDQTlJSFJvYVhNdVgzUnRjQ2dwTzF4dUlDQjlYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1ZmRHMXdJRDBnWm5WdVkzUnBiMjRnWDNSdGNDQW9LU0I3WEc0Z0lDQWdkbUZ5SUhSdGNDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0IwYlhBdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb1RXRjBhQzVqWldsc0tIUm9hWE11YmlBdklERXpLU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUnRjRHRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG1seVpXUjFZMlVnUFNCbWRXNWpkR2x2YmlCcGNtVmtkV05sSUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJCYzNOMWJXVnpJSFJvWVhRZ1lHNTFiV0FnYVhNZ2JHVnpjeUIwYUdGdUlHQlFYakpnWEc0Z0lDQWdMeThnYm5WdElEMGdTRWtnS2lBb01pQmVJRTRnTFNCTEtTQXJJRWhKSUNvZ1N5QXJJRXhQSUQwZ1NFa2dLaUJMSUNzZ1RFOGdLRzF2WkNCUUtWeHVJQ0FnSUhaaGNpQnlJRDBnYm5WdE8xeHVJQ0FnSUhaaGNpQnliR1Z1TzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2RHaHBjeTV6Y0d4cGRDaHlMQ0IwYUdsekxuUnRjQ2s3WEc0Z0lDQWdJQ0J5SUQwZ2RHaHBjeTVwYlhWc1N5aHlLVHRjYmlBZ0lDQWdJSElnUFNCeUxtbGhaR1FvZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY214bGJpQTlJSEl1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZlNCM2FHbHNaU0FvY214bGJpQStJSFJvYVhNdWJpazdYRzVjYmlBZ0lDQjJZWElnWTIxd0lEMGdjbXhsYmlBOElIUm9hWE11YmlBL0lDMHhJRG9nY2k1MVkyMXdLSFJvYVhNdWNDazdYRzRnSUNBZ2FXWWdLR050Y0NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQnlMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0J5TG1semRXSW9kR2hwY3k1d0tUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY2k1emRISnBjQ2dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUUxUWNtbHRaUzV3Y205MGIzUjVjR1V1YzNCc2FYUWdQU0JtZFc1amRHbHZiaUJ6Y0d4cGRDQW9hVzV3ZFhRc0lHOTFkQ2tnZTF4dUlDQWdJR2x1Y0hWMExtbDFjMmh5YmloMGFHbHpMbTRzSURBc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGJYVnNTeUE5SUdaMWJtTjBhVzl1SUdsdGRXeExJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtbHRkV3dvZEdocGN5NXJLVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCTE1qVTJJQ2dwSUh0Y2JpQWdJQ0JOVUhKcGJXVXVZMkZzYkNoY2JpQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQW5hekkxTmljc1hHNGdJQ0FnSUNBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ptWm1abVpqTW1ZbktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aExNalUyTENCTlVISnBiV1VwTzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExuTndiR2wwSUQwZ1puVnVZM1JwYjI0Z2MzQnNhWFFnS0dsdWNIVjBMQ0J2ZFhSd2RYUXBJSHRjYmlBZ0lDQXZMeUF5TlRZZ1BTQTVJQ29nTWpZZ0t5QXlNbHh1SUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWTdYRzVjYmlBZ0lDQjJZWElnYjNWMFRHVnVJRDBnVFdGMGFDNXRhVzRvYVc1d2RYUXViR1Z1WjNSb0xDQTVLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzkxZEV4bGJqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCdmRYUndkWFF1ZDI5eVpITmJhVjBnUFNCcGJuQjFkQzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzRnSUNBZ2IzVjBjSFYwTG14bGJtZDBhQ0E5SUc5MWRFeGxianRjYmx4dUlDQWdJR2xtSUNocGJuQjFkQzVzWlc1bmRHZ2dQRDBnT1NrZ2UxeHVJQ0FnSUNBZ2FXNXdkWFF1ZDI5eVpITmJNRjBnUFNBd08xeHVJQ0FnSUNBZ2FXNXdkWFF1YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJUYUdsbWRDQmllU0E1SUd4cGJXSnpYRzRnSUNBZ2RtRnlJSEJ5WlhZZ1BTQnBibkIxZEM1M2IzSmtjMXM1WFR0Y2JpQWdJQ0J2ZFhSd2RYUXVkMjl5WkhOYmIzVjBjSFYwTG14bGJtZDBhQ3NyWFNBOUlIQnlaWFlnSmlCdFlYTnJPMXh1WEc0Z0lDQWdabTl5SUNocElEMGdNVEE3SUdrZ1BDQnBibkIxZEM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUc1bGVIUWdQU0JwYm5CMWRDNTNiM0prYzF0cFhTQjhJREE3WEc0Z0lDQWdJQ0JwYm5CMWRDNTNiM0prYzF0cElDMGdNVEJkSUQwZ0tDaHVaWGgwSUNZZ2JXRnpheWtnUER3Z05Da2dmQ0FvY0hKbGRpQStQajRnTWpJcE8xeHVJQ0FnSUNBZ2NISmxkaUE5SUc1bGVIUTdYRzRnSUNBZ2ZWeHVJQ0FnSUhCeVpYWWdQajQrUFNBeU1qdGNiaUFnSUNCcGJuQjFkQzUzYjNKa2MxdHBJQzBnTVRCZElEMGdjSEpsZGp0Y2JpQWdJQ0JwWmlBb2NISmxkaUE5UFQwZ01DQW1KaUJwYm5CMWRDNXNaVzVuZEdnZ1BpQXhNQ2tnZTF4dUlDQWdJQ0FnYVc1d2RYUXViR1Z1WjNSb0lDMDlJREV3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBibkIxZEM1c1pXNW5kR2dnTFQwZ09UdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdTekkxTmk1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ0x5OGdTeUE5SURCNE1UQXdNREF3TTJReElEMGdXeUF3ZURRd0xDQXdlRE5rTVNCZFhHNGdJQ0FnYm5WdExuZHZjbVJ6VzI1MWJTNXNaVzVuZEdoZElEMGdNRHRjYmlBZ0lDQnVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhQ0FySURGZElEMGdNRHRjYmlBZ0lDQnVkVzB1YkdWdVozUm9JQ3M5SURJN1hHNWNiaUFnSUNBdkx5QmliM1Z1WkdWa0lHRjBPaUF3ZURRd0lDb2dNSGd6Wm1abVptWm1JQ3NnTUhnelpEQWdQU0F3ZURFd01EQXdNRE01TUZ4dUlDQWdJSFpoY2lCc2J5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J1ZFcwdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM0lEMGdiblZ0TG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lHeHZJQ3M5SUhjZ0tpQXdlRE5rTVR0Y2JpQWdJQ0FnSUc1MWJTNTNiM0prYzF0cFhTQTlJR3h2SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ2JHOGdQU0IzSUNvZ01IZzBNQ0FySUNnb2JHOGdMeUF3ZURRd01EQXdNREFwSUh3Z01DazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCc1pXNW5kR2dnY21Wa2RXTjBhVzl1WEc0Z0lDQWdhV1lnS0c1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0FnSUdsbUlDaHVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhQ0F0SURGZElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHNTFiUzVzWlc1bmRHZ3RMVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc1MWJUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJRTWpJMElDZ3BJSHRjYmlBZ0lDQk5VSEpwYldVdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBbmNESXlOQ2NzWEc0Z0lDQWdJQ0FuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnTURBd01EQXdNREFnTURBd01EQXdNREFnTURBd01EQXdNREVuS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loUU1qSTBMQ0JOVUhKcGJXVXBPMXh1WEc0Z0lHWjFibU4wYVc5dUlGQXhPVElnS0NrZ2UxeHVJQ0FnSUUxUWNtbHRaUzVqWVd4c0tGeHVJQ0FnSUNBZ2RHaHBjeXhjYmlBZ0lDQWdJQ2R3TVRreUp5eGNiaUFnSUNBZ0lDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVpTQm1abVptWm1abVppQm1abVptWm1abVppY3BPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRkF4T1RJc0lFMVFjbWx0WlNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJMU5URTVJQ2dwSUh0Y2JpQWdJQ0F2THlBeUlGNGdNalUxSUMwZ01UbGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuTWpVMU1Ua25MRnh1SUNBZ0lDQWdKemRtWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1abUlHWm1abVptWm1abVptWm1abVptWldRbktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aFFNalUxTVRrc0lFMVFjbWx0WlNrN1hHNWNiaUFnVURJMU5URTVMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCTElEMGdNSGd4TTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCdWRXMHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQm9hU0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlEQjRNVE1nS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCc2J5QTlJR2hwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ2FHa2dQajQrUFNBeU5qdGNibHh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMmxkSUQwZ2JHODdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlHaHBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9ZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0t5dGRJRDBnWTJGeWNuazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwN1hHNGdJSDA3WEc1Y2JpQWdMeThnUlhod2IzSjBaV1FnYlc5emRHeDVJR1p2Y2lCMFpYTjBhVzVuSUhCMWNuQnZjMlZ6TENCMWMyVWdjR3hoYVc0Z2JtRnRaU0JwYm5OMFpXRmtYRzRnSUVKT0xsOXdjbWx0WlNBOUlHWjFibU4wYVc5dUlIQnlhVzFsSUNodVlXMWxLU0I3WEc0Z0lDQWdMeThnUTJGamFHVmtJSFpsY25OcGIyNGdiMllnY0hKcGJXVmNiaUFnSUNCcFppQW9jSEpwYldWelcyNWhiV1ZkS1NCeVpYUjFjbTRnY0hKcGJXVnpXMjVoYldWZE8xeHVYRzRnSUNBZ2RtRnlJSEJ5YVcxbE8xeHVJQ0FnSUdsbUlDaHVZVzFsSUQwOVBTQW5hekkxTmljcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRXN5TlRZb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNakkwSnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREl5TkNncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXhPVEluS1NCN1hHNGdJQ0FnSUNCd2NtbHRaU0E5SUc1bGR5QlFNVGt5S0NrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodVlXMWxJRDA5UFNBbmNESTFOVEU1SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREkxTlRFNUtDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1cmJtOTNiaUJ3Y21sdFpTQW5JQ3NnYm1GdFpTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhCeWFXMWxjMXR1WVcxbFhTQTlJSEJ5YVcxbE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhCeWFXMWxPMXh1SUNCOU8xeHVYRzRnSUM4dlhHNGdJQzh2SUVKaGMyVWdjbVZrZFdOMGFXOXVJR1Z1WjJsdVpWeHVJQ0F2TDF4dUlDQm1kVzVqZEdsdmJpQlNaV1FnS0cwcElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHMGdQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnSUNCMllYSWdjSEpwYldVZ1BTQkNUaTVmY0hKcGJXVW9iU2s3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J3Y21sdFpTNXdPMXh1SUNBZ0lDQWdkR2hwY3k1d2NtbHRaU0E5SUhCeWFXMWxPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGMzTmxjblFvYlM1bmRHNG9NU2tzSUNkdGIyUjFiSFZ6SUcxMWMzUWdZbVVnWjNKbFlYUmxjaUIwYUdGdUlERW5LVHRjYmlBZ0lDQWdJSFJvYVhNdWJTQTlJRzA3WEc0Z0lDQWdJQ0IwYUdsekxuQnlhVzFsSUQwZ2JuVnNiRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reElEMGdablZ1WTNScGIyNGdYM1psY21sbWVURWdLR0VwSUh0Y2JpQWdJQ0JoYzNObGNuUW9ZUzV1WldkaGRHbDJaU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdVgzWmxjbWxtZVRJZ1BTQm1kVzVqZEdsdmJpQmZkbVZ5YVdaNU1pQW9ZU3dnWWlrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvWVM1dVpXZGhkR2wyWlNCOElHSXVibVZuWVhScGRtVXBJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0JoYzNObGNuUW9ZUzV5WldRZ0ppWWdZUzV5WldRZ1BUMDlJR0l1Y21Wa0xGeHVJQ0FnSUNBZ0ozSmxaQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1sdGIyUWdQU0JtZFc1amRHbHZiaUJwYlc5a0lDaGhLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVjSEpwYldVcElISmxkSFZ5YmlCMGFHbHpMbkJ5YVcxbExtbHlaV1IxWTJVb1lTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0FnSUhKbGRIVnliaUJoTG5WdGIyUW9kR2hwY3k1dEtTNWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dVpXY2dQU0JtZFc1amRHbHZiaUJ1WldjZ0tHRXBJSHRjYmlBZ0lDQnBaaUFvWVM1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdFdVkyeHZibVVvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dExuTjFZaWhoS1M1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1WVdSa0tHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjeTVmWm05eVkyVlNaV1FvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXBZV1JrSUQwZ1puVnVZM1JwYjI0Z2FXRmtaQ0FvWVN3Z1lpa2dlMXh1SUNBZ0lIUm9hWE11WDNabGNtbG1lVElvWVN3Z1lpazdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdZUzVwWVdSa0tHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbk4xWWlBOUlHWjFibU4wYVc5dUlITjFZaUFvWVN3Z1lpa2dlMXh1SUNBZ0lIUm9hWE11WDNabGNtbG1lVElvWVN3Z1lpazdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdZUzV6ZFdJb1lpazdYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYzNWaUlEMGdablZ1WTNScGIyNGdhWE4xWWlBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWVM1cGMzVmlLR0lwTzF4dUlDQWdJR2xtSUNoeVpYTXVZMjF3Ymlnd0tTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5NXBZV1JrS0hSb2FYTXViU2s3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXphR3dnUFNCbWRXNWpkR2x2YmlCemFHd2dLR0VzSUc1MWJTa2dlMXh1SUNBZ0lIUm9hWE11WDNabGNtbG1lVEVvWVNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2hoTG5WemFHeHVLRzUxYlNrcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLR0VzSUdJcElIdGNiaUFnSUNCMGFHbHpMbDkyWlhKcFpua3lLR0VzSUdJcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1cGJYVnNLR0lwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaGhMbTExYkNoaUtTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvWVNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRkV3dvWVN3Z1lTNWpiRzl1WlNncEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuTnhjaUE5SUdaMWJtTjBhVzl1SUhOeGNpQW9ZU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG0xMWJDaGhMQ0JoS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5OeGNuUWdQU0JtZFc1amRHbHZiaUJ6Y1hKMElDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNWNiaUFnSUNCMllYSWdiVzlrTXlBOUlIUm9hWE11YlM1aGJtUnNiaWd6S1R0Y2JpQWdJQ0JoYzNObGNuUW9iVzlrTXlBbElESWdQVDA5SURFcE8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxYRzRnSUNBZ2FXWWdLRzF2WkRNZ1BUMDlJRE1wSUh0Y2JpQWdJQ0FnSUhaaGNpQndiM2NnUFNCMGFHbHpMbTB1WVdSa0tHNWxkeUJDVGlneEtTa3VhWFZ6YUhKdUtESXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Y0c5M0tHRXNJSEJ2ZHlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ZHOXVaV3hzYVMxVGFHRnVhM01nWVd4bmIzSnBkR2h0SUNoVWIzUmhiR3g1SUhWdWIzQjBhVzFwZW1Wa0lHRnVaQ0J6Ykc5M0tWeHVJQ0FnSUM4dlhHNGdJQ0FnTHk4Z1JtbHVaQ0JSSUdGdVpDQlRMQ0IwYUdGMElGRWdLaUF5SUY0Z1V5QTlJQ2hRSUMwZ01TbGNiaUFnSUNCMllYSWdjU0E5SUhSb2FYTXViUzV6ZFdKdUtERXBPMXh1SUNBZ0lIWmhjaUJ6SUQwZ01EdGNiaUFnSUNCM2FHbHNaU0FvSVhFdWFYTmFaWEp2S0NrZ0ppWWdjUzVoYm1Sc2JpZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjeXNyTzF4dUlDQWdJQ0FnY1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZlZ4dUlDQWdJR0Z6YzJWeWRDZ2hjUzVwYzFwbGNtOG9LU2s3WEc1Y2JpQWdJQ0IyWVhJZ2IyNWxJRDBnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNcE8xeHVJQ0FnSUhaaGNpQnVUMjVsSUQwZ2IyNWxMbkpsWkU1bFp5Z3BPMXh1WEc0Z0lDQWdMeThnUm1sdVpDQnhkV0ZrY21GMGFXTWdibTl1TFhKbGMybGtkV1ZjYmlBZ0lDQXZMeUJPVDFSRk9pQk5ZWGdnYVhNZ2MzVmphQ0JpWldOaGRYTmxJRzltSUdkbGJtVnlZV3hwZW1Wa0lGSnBaVzFoYm00Z2FIbHdiM1JvWlhOcGN5NWNiaUFnSUNCMllYSWdiSEJ2ZHlBOUlIUm9hWE11YlM1emRXSnVLREVwTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0IyWVhJZ2VpQTlJSFJvYVhNdWJTNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjZJRDBnYm1WM0lFSk9LRElnS2lCNklDb2dlaWt1ZEc5U1pXUW9kR2hwY3lrN1hHNWNiaUFnSUNCM2FHbHNaU0FvZEdocGN5NXdiM2NvZWl3Z2JIQnZkeWt1WTIxd0tHNVBibVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I2TG5KbFpFbEJaR1FvYms5dVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR01nUFNCMGFHbHpMbkJ2ZHloNkxDQnhLVHRjYmlBZ0lDQjJZWElnY2lBOUlIUm9hWE11Y0c5M0tHRXNJSEV1WVdSa2JpZ3hLUzVwZFhOb2NtNG9NU2twTzF4dUlDQWdJSFpoY2lCMElEMGdkR2hwY3k1d2IzY29ZU3dnY1NrN1hHNGdJQ0FnZG1GeUlHMGdQU0J6TzF4dUlDQWdJSGRvYVd4bElDaDBMbU50Y0NodmJtVXBJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnZEcxd0lEMGdkRHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QjBiWEF1WTIxd0tHOXVaU2tnSVQwOUlEQTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjBiWEFnUFNCMGJYQXVjbVZrVTNGeUtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmhjM05sY25Rb2FTQThJRzBwTzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0IwYUdsekxuQnZkeWhqTENCdVpYY2dRazRvTVNrdWFYVnphR3h1S0cwZ0xTQnBJQzBnTVNrcE8xeHVYRzRnSUNBZ0lDQnlJRDBnY2k1eVpXUk5kV3dvWWlrN1hHNGdJQ0FnSUNCaklEMGdZaTV5WldSVGNYSW9LVHRjYmlBZ0lDQWdJSFFnUFNCMExuSmxaRTExYkNoaktUdGNiaUFnSUNBZ0lHMGdQU0JwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0dFcElIdGNiaUFnSUNCMllYSWdhVzUySUQwZ1lTNWZhVzUyYlhBb2RHaHBjeTV0S1R0Y2JpQWdJQ0JwWmlBb2FXNTJMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnBibll1Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBMbkpsWkU1bFp5Z3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dsdWRpazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWNHOTNJRDBnWm5WdVkzUnBiMjRnY0c5M0lDaGhMQ0J1ZFcwcElIdGNiaUFnSUNCcFppQW9iblZ0TG1seldtVnlieWdwS1NCeVpYUjFjbTRnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNcE8xeHVJQ0FnSUdsbUlDaHVkVzB1WTIxd2JpZ3hLU0E5UFQwZ01Da2djbVYwZFhKdUlHRXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIWmhjaUIzYVc1a2IzZFRhWHBsSUQwZ05EdGNiaUFnSUNCMllYSWdkMjVrSUQwZ2JtVjNJRUZ5Y21GNUtERWdQRHdnZDJsdVpHOTNVMmw2WlNrN1hHNGdJQ0FnZDI1a1d6QmRJRDBnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNcE8xeHVJQ0FnSUhkdVpGc3hYU0E5SUdFN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlESTdJR2tnUENCM2JtUXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhkdVpGdHBYU0E5SUhSb2FYTXViWFZzS0hkdVpGdHBJQzBnTVYwc0lHRXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjNibVJiTUYwN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQXdPMXh1SUNBZ0lIWmhjaUJqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNCMllYSWdjM1JoY25RZ1BTQnVkVzB1WW1sMFRHVnVaM1JvS0NrZ0pTQXlOanRjYmlBZ0lDQnBaaUFvYzNSaGNuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lITjBZWEowSUQwZ01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2hwSUQwZ2JuVnRMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYRzRnSUNBZ0lDQjJZWElnZDI5eVpDQTlJRzUxYlM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQnpkR0Z5ZENBdElERTdJR29nUGowZ01Ec2dhaTB0S1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJpYVhRZ1BTQW9kMjl5WkNBK1BpQnFLU0FtSURFN1hHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhNZ0lUMDlJSGR1WkZzd1hTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdWMzRnlLSEpsY3lrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb1ltbDBJRDA5UFNBd0lDWW1JR04xY25KbGJuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5RZ1BEdzlJREU3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnZkQwZ1ltbDBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1S3lzN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBUR1Z1SUNFOVBTQjNhVzVrYjNkVGFYcGxJQ1ltSUNocElDRTlQU0F3SUh4OElHb2dJVDA5SURBcEtTQmpiMjUwYVc1MVpUdGNibHh1SUNBZ0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG0xMWJDaHlaWE1zSUhkdVpGdGpkWEp5Wlc1MFhTazdYRzRnSUNBZ0lDQWdJR04xY25KbGJuUk1aVzRnUFNBd08xeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSE4wWVhKMElEMGdNalk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUlVieUE5SUdaMWJtTjBhVzl1SUdOdmJuWmxjblJVYnlBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzB1ZFcxdlpDaDBhR2x6TG0wcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhJZ1BUMDlJRzUxYlNBL0lISXVZMnh2Ym1Vb0tTQTZJSEk3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBSbkp2YlNBOUlHWjFibU4wYVc5dUlHTnZiblpsY25SR2NtOXRJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2JuVnRMbU5zYjI1bEtDazdYRzRnSUNBZ2NtVnpMbkpsWkNBOUlHNTFiR3c3WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCTmIyNTBaMjl0WlhKNUlHMWxkR2h2WkNCbGJtZHBibVZjYmlBZ0x5OWNibHh1SUNCQ1RpNXRiMjUwSUQwZ1puVnVZM1JwYjI0Z2JXOXVkQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5Qk5iMjUwS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVFc5dWRDQW9iU2tnZTF4dUlDQWdJRkpsWkM1allXeHNLSFJvYVhNc0lHMHBPMXh1WEc0Z0lDQWdkR2hwY3k1emFHbG1kQ0E5SUhSb2FYTXViUzVpYVhSTVpXNW5kR2dvS1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV6YUdsbWRDQWxJREkySUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuTm9hV1owSUNzOUlESTJJQzBnS0hSb2FYTXVjMmhwWm5RZ0pTQXlOaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1eUlEMGdibVYzSUVKT0tERXBMbWwxYzJoc2JpaDBhR2x6TG5Ob2FXWjBLVHRjYmlBZ0lDQjBhR2x6TG5JeUlEMGdkR2hwY3k1cGJXOWtLSFJvYVhNdWNpNXpjWElvS1NrN1hHNGdJQ0FnZEdocGN5NXlhVzUySUQwZ2RHaHBjeTV5TGw5cGJuWnRjQ2gwYUdsekxtMHBPMXh1WEc0Z0lDQWdkR2hwY3k1dGFXNTJJRDBnZEdocGN5NXlhVzUyTG0xMWJDaDBhR2x6TG5JcExtbHpkV0p1S0RFcExtUnBkaWgwYUdsekxtMHBPMXh1SUNBZ0lIUm9hWE11YldsdWRpQTlJSFJvYVhNdWJXbHVkaTUxYlc5a0tIUm9hWE11Y2lrN1hHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV5TG5OMVlpaDBhR2x6TG0xcGJuWXBPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRTF2Ym5Rc0lGSmxaQ2s3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZEZSdklEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRGUnZJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0c1MWJTNTFjMmhzYmloMGFHbHpMbk5vYVdaMEtTazdYRzRnSUgwN1hHNWNiaUFnVFc5dWRDNXdjbTkwYjNSNWNHVXVZMjl1ZG1WeWRFWnliMjBnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowUm5KdmJTQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISWdQU0IwYUdsekxtbHRiMlFvYm5WdExtMTFiQ2gwYUdsekxuSnBibllwS1R0Y2JpQWdJQ0J5TG5KbFpDQTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YVcxMWJDQTlJR1oxYm1OMGFXOXVJR2x0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0JwWmlBb1lTNXBjMXBsY204b0tTQjhmQ0JpTG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCaExuZHZjbVJ6V3pCZElEMGdNRHRjYmlBZ0lDQWdJR0V1YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCMElEMGdZUzVwYlhWc0tHSXBPMXh1SUNBZ0lIWmhjaUJqSUQwZ2RDNXRZWE5yYmloMGFHbHpMbk5vYVdaMEtTNXRkV3dvZEdocGN5NXRhVzUyS1M1cGJXRnphMjRvZEdocGN5NXphR2xtZENrdWJYVnNLSFJvYVhNdWJTazdYRzRnSUNBZ2RtRnlJSFVnUFNCMExtbHpkV0lvWXlrdWFYVnphSEp1S0hSb2FYTXVjMmhwWm5RcE8xeHVJQ0FnSUhaaGNpQnlaWE1nUFNCMU8xeHVYRzRnSUNBZ2FXWWdLSFV1WTIxd0tIUm9hWE11YlNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMUxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjFMbWxoWkdRb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCTmIyNTBMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dnS0dFc0lHSXBJSHRjYmlBZ0lDQnBaaUFvWVM1cGMxcGxjbThvS1NCOGZDQmlMbWx6V21WeWJ5Z3BLU0J5WlhSMWNtNGdibVYzSUVKT0tEQXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNibHh1SUNBZ0lIWmhjaUIwSUQwZ1lTNXRkV3dvWWlrN1hHNGdJQ0FnZG1GeUlHTWdQU0IwTG0xaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0xcGJuWXBMbWx0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0S1R0Y2JpQWdJQ0IyWVhJZ2RTQTlJSFF1YVhOMVlpaGpLUzVwZFhOb2NtNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFU3WEc0Z0lDQWdhV1lnS0hVdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cGMzVmlLSFJvYVhNdWJTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDFMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IxTG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1cGJuWnRJRDBnWm5WdVkzUnBiMjRnYVc1MmJTQW9ZU2tnZTF4dUlDQWdJQzh2SUNoQlVpbGVMVEVnS2lCU1hqSWdQU0FvUVY0dE1TQXFJRkplTFRFcElDb2dVbDR5SUQwZ1FWNHRNU0FxSUZKY2JpQWdJQ0IyWVhJZ2NtVnpJRDBnZEdocGN5NXBiVzlrS0dFdVgybHVkbTF3S0hSb2FYTXViU2t1YlhWc0tIUm9hWE11Y2pJcEtUdGNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYm4wcEtIUjVjR1Z2WmlCdGIyUjFiR1VnUFQwOUlDZDFibVJsWm1sdVpXUW5JSHg4SUcxdlpIVnNaU3dnZEdocGN5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktcnNhL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9hbGdvcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2FsZ29zLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Jyb3dzZXIvYWxnb3JpdGhtcy5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb25cXFwiKVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2WVd4bmIzTXVhbk0vWldRNVlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXg1UmtGQk1rSWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlluSnZkM05sY21sbWVTMXphV2R1TDJGc1oyOXpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2liVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQnlaWEYxYVhKbEtDY3VMMkp5YjNkelpYSXZZV3huYjNKcGRHaHRjeTVxYzI5dUp5bGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9hbGdvcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvYWxnb3JpdGhtcy5qc29uXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb24gKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IHNoYTIyNFdpdGhSU0FFbmNyeXB0aW9uLCBSU0EtU0hBMjI0LCBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbiwgUlNBLVNIQTI1Niwgc2hhMzg0V2l0aFJTQUVuY3J5cHRpb24sIFJTQS1TSEEzODQsIHNoYTUxMldpdGhSU0FFbmNyeXB0aW9uLCBSU0EtU0hBNTEyLCBSU0EtU0hBMSwgZWNkc2Etd2l0aC1TSEExLCBzaGEyNTYsIHNoYTIyNCwgc2hhMzg0LCBzaGE1MTIsIERTQS1TSEEsIERTQS1TSEExLCBEU0EsIERTQS1XSVRILVNIQTIyNCwgRFNBLVNIQTIyNCwgRFNBLVdJVEgtU0hBMjU2LCBEU0EtU0hBMjU2LCBEU0EtV0lUSC1TSEEzODQsIERTQS1TSEEzODQsIERTQS1XSVRILVNIQTUxMiwgRFNBLVNIQTUxMiwgRFNBLVJJUEVNRDE2MCwgcmlwZW1kMTYwV2l0aFJTQSwgUlNBLVJJUEVNRDE2MCwgbWQ1V2l0aFJTQUVuY3J5cHRpb24sIFJTQS1NRDUsIGRlZmF1bHQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gSlNPTi5wYXJzZShcXFwie1xcXFxcXFwic2hhMjI0V2l0aFJTQUVuY3J5cHRpb25cXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTIyNFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMmQzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwNDA1MDAwNDFjXFxcXFxcXCJ9LFxcXFxcXFwiUlNBLVNIQTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhL3JzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjI0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWNcXFxcXFxcIn0sXFxcXFxcXCJzaGEyNTZXaXRoUlNBRW5jcnlwdGlvblxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjU2XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAzMTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAxMDUwMDA0MjBcXFxcXFxcIn0sXFxcXFxcXCJSU0EtU0hBMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZWNkc2EvcnNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyNTZcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMFxcXFxcXFwifSxcXFxcXFxcInNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uXFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwicnNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEzODRcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCIzMDQxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDIwNTAwMDQzMFxcXFxcXFwifSxcXFxcXFxcIlJTQS1TSEEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJlY2RzYS9yc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTM4NFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwXFxcXFxcXCJ9LFxcXFxcXFwic2hhNTEyV2l0aFJTQUVuY3J5cHRpb25cXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTUxMlxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwNTEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMzA1MDAwNDQwXFxcXFxcXCJ9LFxcXFxcXFwiUlNBLVNIQTUxMlxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhL3JzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhNTEyXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDBcXFxcXFxcIn0sXFxcXFxcXCJSU0EtU0hBMVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMjEzMDA5MDYwNTJiMGUwMzAyMWEwNTAwMDQxNFxcXFxcXFwifSxcXFxcXFxcImVjZHNhLXdpdGgtU0hBMVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGExXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwic2hhMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZWNkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTI1NlxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcInNoYTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImVjZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyMjRcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJzaGEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJlY2RzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMzg0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwic2hhNTEyXFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZWNkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTUxMlxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1TSEFcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTFcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJEU0EtU0hBMVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1XSVRILVNIQTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjI0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVNIQTIyNFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhMjI0XFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVdJVEgtU0hBMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyNTZcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJEU0EtU0hBMjU2XFxcXFxcXCI6e1xcXFxcXFwic2lnblxcXFxcXFwiOlxcXFxcXFwiZHNhXFxcXFxcXCIsXFxcXFxcXCJoYXNoXFxcXFxcXCI6XFxcXFxcXCJzaGEyNTZcXFxcXFxcIixcXFxcXFxcImlkXFxcXFxcXCI6XFxcXFxcXCJcXFxcXFxcIn0sXFxcXFxcXCJEU0EtV0lUSC1TSEEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTM4NFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1TSEEzODRcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJkc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcInNoYTM4NFxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIlxcXFxcXFwifSxcXFxcXFxcIkRTQS1XSVRILVNIQTUxMlxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhNTEyXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVNIQTUxMlxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwic2hhNTEyXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwiRFNBLVJJUEVNRDE2MFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcImRzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwicm1kMTYwXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiXFxcXFxcXCJ9LFxcXFxcXFwicmlwZW1kMTYwV2l0aFJTQVxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwicm1kMTYwXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0XFxcXFxcXCJ9LFxcXFxcXFwiUlNBLVJJUEVNRDE2MFxcXFxcXFwiOntcXFxcXFxcInNpZ25cXFxcXFxcIjpcXFxcXFxcInJzYVxcXFxcXFwiLFxcXFxcXFwiaGFzaFxcXFxcXFwiOlxcXFxcXFwicm1kMTYwXFxcXFxcXCIsXFxcXFxcXCJpZFxcXFxcXFwiOlxcXFxcXFwiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0XFxcXFxcXCJ9LFxcXFxcXFwibWQ1V2l0aFJTQUVuY3J5cHRpb25cXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcIm1kNVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMFxcXFxcXFwifSxcXFxcXFxcIlJTQS1NRDVcXFxcXFxcIjp7XFxcXFxcXCJzaWduXFxcXFxcXCI6XFxcXFxcXCJyc2FcXFxcXFxcIixcXFxcXFxcImhhc2hcXFxcXFxcIjpcXFxcXFxcIm1kNVxcXFxcXFwiLFxcXFxcXFwiaWRcXFxcXFxcIjpcXFxcXFxcIjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMFxcXFxcXFwifX1cXFwiKTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dlluSnZkM05sY2k5aGJHZHZjbWwwYUcxekxtcHpiMjR1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb25cXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2N1cnZlcy5qc29uXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2N1cnZlcy5qc29uICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IDEuMy4xMzIuMC4xMCwgMS4zLjEzMi4wLjMzLCAxLjIuODQwLjEwMDQ1LjMuMS4xLCAxLjIuODQwLjEwMDQ1LjMuMS43LCAxLjMuMTMyLjAuMzQsIDEuMy4xMzIuMC4zNSwgZGVmYXVsdCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSkge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBKU09OLnBhcnNlKFxcXCJ7XFxcXFxcXCIxLjMuMTMyLjAuMTBcXFxcXFxcIjpcXFxcXFxcInNlY3AyNTZrMVxcXFxcXFwiLFxcXFxcXFwiMS4zLjEzMi4wLjMzXFxcXFxcXCI6XFxcXFxcXCJwMjI0XFxcXFxcXCIsXFxcXFxcXCIxLjIuODQwLjEwMDQ1LjMuMS4xXFxcXFxcXCI6XFxcXFxcXCJwMTkyXFxcXFxcXCIsXFxcXFxcXCIxLjIuODQwLjEwMDQ1LjMuMS43XFxcXFxcXCI6XFxcXFxcXCJwMjU2XFxcXFxcXCIsXFxcXFxcXCIxLjMuMTMyLjAuMzRcXFxcXFxcIjpcXFxcXFxcInAzODRcXFxcXFxcIixcXFxcXFxcIjEuMy4xMzIuMC4zNVxcXFxcXFwiOlxcXFxcXFwicDUyMVxcXFxcXFwifVxcXCIpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2WW5KdmQzTmxjaTlqZFhKMlpYTXVhbk52Ymk1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvY3VydmVzLmpzb25cXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgY3JlYXRlSGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNyZWF0ZS1oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzXFxcIilcXG52YXIgc3RyZWFtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhZGFibGUtc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxcIilcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIHNpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NpZ24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3NpZ24uanNcXFwiKVxcbnZhciB2ZXJpZnkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ZlcmlmeSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvdmVyaWZ5LmpzXFxcIilcXG5cXG52YXIgYWxnb3JpdGhtcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWxnb3JpdGhtcy5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9hbGdvcml0aG1zLmpzb25cXFwiKVxcbk9iamVjdC5rZXlzKGFsZ29yaXRobXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xcbiAgYWxnb3JpdGhtc1trZXldLmlkID0gQnVmZmVyLmZyb20oYWxnb3JpdGhtc1trZXldLmlkLCAnaGV4JylcXG4gIGFsZ29yaXRobXNba2V5LnRvTG93ZXJDYXNlKCldID0gYWxnb3JpdGhtc1trZXldXFxufSlcXG5cXG5mdW5jdGlvbiBTaWduIChhbGdvcml0aG0pIHtcXG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXFxuXFxuICB2YXIgZGF0YSA9IGFsZ29yaXRobXNbYWxnb3JpdGhtXVxcbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxcblxcbiAgdGhpcy5faGFzaFR5cGUgPSBkYXRhLmhhc2hcXG4gIHRoaXMuX2hhc2ggPSBjcmVhdGVIYXNoKGRhdGEuaGFzaClcXG4gIHRoaXMuX3RhZyA9IGRhdGEuaWRcXG4gIHRoaXMuX3NpZ25UeXBlID0gZGF0YS5zaWduXFxufVxcbmluaGVyaXRzKFNpZ24sIHN0cmVhbS5Xcml0YWJsZSlcXG5cXG5TaWduLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiBfd3JpdGUgKGRhdGEsIF8sIGRvbmUpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxuICBkb25lKClcXG59XFxuXFxuU2lnbi5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlIChkYXRhLCBlbmMpIHtcXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXFxuXFxuICB0aGlzLl9oYXNoLnVwZGF0ZShkYXRhKVxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuU2lnbi5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ25NZXRob2QgKGtleSwgZW5jKSB7XFxuICB0aGlzLmVuZCgpXFxuICB2YXIgaGFzaCA9IHRoaXMuX2hhc2guZGlnZXN0KClcXG4gIHZhciBzaWcgPSBzaWduKGhhc2gsIGtleSwgdGhpcy5faGFzaFR5cGUsIHRoaXMuX3NpZ25UeXBlLCB0aGlzLl90YWcpXFxuXFxuICByZXR1cm4gZW5jID8gc2lnLnRvU3RyaW5nKGVuYykgOiBzaWdcXG59XFxuXFxuZnVuY3Rpb24gVmVyaWZ5IChhbGdvcml0aG0pIHtcXG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXFxuXFxuICB2YXIgZGF0YSA9IGFsZ29yaXRobXNbYWxnb3JpdGhtXVxcbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxcblxcbiAgdGhpcy5faGFzaCA9IGNyZWF0ZUhhc2goZGF0YS5oYXNoKVxcbiAgdGhpcy5fdGFnID0gZGF0YS5pZFxcbiAgdGhpcy5fc2lnblR5cGUgPSBkYXRhLnNpZ25cXG59XFxuaW5oZXJpdHMoVmVyaWZ5LCBzdHJlYW0uV3JpdGFibGUpXFxuXFxuVmVyaWZ5LnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiBfd3JpdGUgKGRhdGEsIF8sIGRvbmUpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxuICBkb25lKClcXG59XFxuXFxuVmVyaWZ5LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUgKGRhdGEsIGVuYykge1xcbiAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGVuYylcXG5cXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5WZXJpZnkucHJvdG90eXBlLnZlcmlmeSA9IGZ1bmN0aW9uIHZlcmlmeU1ldGhvZCAoa2V5LCBzaWcsIGVuYykge1xcbiAgaWYgKHR5cGVvZiBzaWcgPT09ICdzdHJpbmcnKSBzaWcgPSBCdWZmZXIuZnJvbShzaWcsIGVuYylcXG5cXG4gIHRoaXMuZW5kKClcXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaC5kaWdlc3QoKVxcbiAgcmV0dXJuIHZlcmlmeShzaWcsIGhhc2gsIGtleSwgdGhpcy5fc2lnblR5cGUsIHRoaXMuX3RhZylcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlU2lnbiAoYWxnb3JpdGhtKSB7XFxuICByZXR1cm4gbmV3IFNpZ24oYWxnb3JpdGhtKVxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVWZXJpZnkgKGFsZ29yaXRobSkge1xcbiAgcmV0dXJuIG5ldyBWZXJpZnkoYWxnb3JpdGhtKVxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIFNpZ246IGNyZWF0ZVNpZ24sXFxuICBWZXJpZnk6IGNyZWF0ZVZlcmlmeSxcXG4gIGNyZWF0ZVNpZ246IGNyZWF0ZVNpZ24sXFxuICBjcmVhdGVWZXJpZnk6IGNyZWF0ZVZlcmlmeVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dlluSnZkM05sY2k5cGJtUmxlQzVxY3o4NE9XSmxJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlFXRXNiVUpCUVU4c1EwRkJReXc0UTBGQlVUdEJRVU0zUWl4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl3d1JFRkJZVHRCUVVOMFF5eGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwZEJRV2xDTzBGQlEzUkRMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhYUVVGWExHMUNRVUZQTEVOQlFVTXNPRVJCUVZFN1FVRkRNMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMR3RGUVVGVk96dEJRVVV2UWl4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl4cFJrRkJiVUk3UVVGRE5VTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dlluSnZkM05sY2k5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkaWRXWm1aWEluS1M1Q2RXWm1aWEpjYm5aaGNpQmpjbVZoZEdWSVlYTm9JRDBnY21WeGRXbHlaU2duWTNKbFlYUmxMV2hoYzJnbktWeHVkbUZ5SUhOMGNtVmhiU0E5SUhKbGNYVnBjbVVvSjNKbFlXUmhZbXhsTFhOMGNtVmhiU2NwWEc1MllYSWdhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwWEc1MllYSWdjMmxuYmlBOUlISmxjWFZwY21Vb0p5NHZjMmxuYmljcFhHNTJZWElnZG1WeWFXWjVJRDBnY21WeGRXbHlaU2duTGk5MlpYSnBabmtuS1Z4dVhHNTJZWElnWVd4bmIzSnBkR2h0Y3lBOUlISmxjWFZwY21Vb0p5NHZZV3huYjNKcGRHaHRjeTVxYzI5dUp5bGNiazlpYW1WamRDNXJaWGx6S0dGc1oyOXlhWFJvYlhNcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQmhiR2R2Y21sMGFHMXpXMnRsZVYwdWFXUWdQU0JDZFdabVpYSXVabkp2YlNoaGJHZHZjbWwwYUcxelcydGxlVjB1YVdRc0lDZG9aWGduS1Z4dUlDQmhiR2R2Y21sMGFHMXpXMnRsZVM1MGIweHZkMlZ5UTJGelpTZ3BYU0E5SUdGc1oyOXlhWFJvYlhOYmEyVjVYVnh1ZlNsY2JseHVablZ1WTNScGIyNGdVMmxuYmlBb1lXeG5iM0pwZEdodEtTQjdYRzRnSUhOMGNtVmhiUzVYY21sMFlXSnNaUzVqWVd4c0tIUm9hWE1wWEc1Y2JpQWdkbUZ5SUdSaGRHRWdQU0JoYkdkdmNtbDBhRzF6VzJGc1oyOXlhWFJvYlYxY2JpQWdhV1lnS0NGa1lYUmhLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1YTI1dmQyNGdiV1Z6YzJGblpTQmthV2RsYzNRbktWeHVYRzRnSUhSb2FYTXVYMmhoYzJoVWVYQmxJRDBnWkdGMFlTNW9ZWE5vWEc0Z0lIUm9hWE11WDJoaGMyZ2dQU0JqY21WaGRHVklZWE5vS0dSaGRHRXVhR0Z6YUNsY2JpQWdkR2hwY3k1ZmRHRm5JRDBnWkdGMFlTNXBaRnh1SUNCMGFHbHpMbDl6YVdkdVZIbHdaU0E5SUdSaGRHRXVjMmxuYmx4dWZWeHVhVzVvWlhKcGRITW9VMmxuYml3Z2MzUnlaV0Z0TGxkeWFYUmhZbXhsS1Z4dVhHNVRhV2R1TG5CeWIzUnZkSGx3WlM1ZmQzSnBkR1VnUFNCbWRXNWpkR2x2YmlCZmQzSnBkR1VnS0dSaGRHRXNJRjhzSUdSdmJtVXBJSHRjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb1pHRjBZU2xjYmlBZ1pHOXVaU2dwWEc1OVhHNWNibE5wWjI0dWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNBb1pHRjBZU3dnWlc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ0ozTjBjbWx1WnljcElHUmhkR0VnUFNCQ2RXWm1aWEl1Wm5KdmJTaGtZWFJoTENCbGJtTXBYRzVjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb1pHRjBZU2xjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVUybG5iaTV3Y205MGIzUjVjR1V1YzJsbmJpQTlJR1oxYm1OMGFXOXVJSE5wWjI1TlpYUm9iMlFnS0d0bGVTd2daVzVqS1NCN1hHNGdJSFJvYVhNdVpXNWtLQ2xjYmlBZ2RtRnlJR2hoYzJnZ1BTQjBhR2x6TGw5b1lYTm9MbVJwWjJWemRDZ3BYRzRnSUhaaGNpQnphV2NnUFNCemFXZHVLR2hoYzJnc0lHdGxlU3dnZEdocGN5NWZhR0Z6YUZSNWNHVXNJSFJvYVhNdVgzTnBaMjVVZVhCbExDQjBhR2x6TGw5MFlXY3BYRzVjYmlBZ2NtVjBkWEp1SUdWdVl5QS9JSE5wWnk1MGIxTjBjbWx1WnlobGJtTXBJRG9nYzJsblhHNTlYRzVjYm1aMWJtTjBhVzl1SUZabGNtbG1lU0FvWVd4bmIzSnBkR2h0S1NCN1hHNGdJSE4wY21WaGJTNVhjbWwwWVdKc1pTNWpZV3hzS0hSb2FYTXBYRzVjYmlBZ2RtRnlJR1JoZEdFZ1BTQmhiR2R2Y21sMGFHMXpXMkZzWjI5eWFYUm9iVjFjYmlBZ2FXWWdLQ0ZrWVhSaEtTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxVnVhMjV2ZDI0Z2JXVnpjMkZuWlNCa2FXZGxjM1FuS1Z4dVhHNGdJSFJvYVhNdVgyaGhjMmdnUFNCamNtVmhkR1ZJWVhOb0tHUmhkR0V1YUdGemFDbGNiaUFnZEdocGN5NWZkR0ZuSUQwZ1pHRjBZUzVwWkZ4dUlDQjBhR2x6TGw5emFXZHVWSGx3WlNBOUlHUmhkR0V1YzJsbmJseHVmVnh1YVc1b1pYSnBkSE1vVm1WeWFXWjVMQ0J6ZEhKbFlXMHVWM0pwZEdGaWJHVXBYRzVjYmxabGNtbG1lUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnWDNkeWFYUmxJQ2hrWVhSaExDQmZMQ0JrYjI1bEtTQjdYRzRnSUhSb2FYTXVYMmhoYzJndWRYQmtZWFJsS0dSaGRHRXBYRzRnSUdSdmJtVW9LVnh1ZlZ4dVhHNVdaWEpwWm5rdWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNBb1pHRjBZU3dnWlc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ0ozTjBjbWx1WnljcElHUmhkR0VnUFNCQ2RXWm1aWEl1Wm5KdmJTaGtZWFJoTENCbGJtTXBYRzVjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb1pHRjBZU2xjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVZtVnlhV1o1TG5CeWIzUnZkSGx3WlM1MlpYSnBabmtnUFNCbWRXNWpkR2x2YmlCMlpYSnBabmxOWlhSb2IyUWdLR3RsZVN3Z2MybG5MQ0JsYm1NcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCemFXY2dQVDA5SUNkemRISnBibWNuS1NCemFXY2dQU0JDZFdabVpYSXVabkp2YlNoemFXY3NJR1Z1WXlsY2JseHVJQ0IwYUdsekxtVnVaQ2dwWEc0Z0lIWmhjaUJvWVhOb0lEMGdkR2hwY3k1ZmFHRnphQzVrYVdkbGMzUW9LVnh1SUNCeVpYUjFjbTRnZG1WeWFXWjVLSE5wWnl3Z2FHRnphQ3dnYTJWNUxDQjBhR2x6TGw5emFXZHVWSGx3WlN3Z2RHaHBjeTVmZEdGbktWeHVmVnh1WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZUYVdkdUlDaGhiR2R2Y21sMGFHMHBJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlRhV2R1S0dGc1oyOXlhWFJvYlNsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxWbVZ5YVdaNUlDaGhiR2R2Y21sMGFHMHBJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QldaWEpwWm5rb1lXeG5iM0pwZEdodEtWeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUh0Y2JpQWdVMmxuYmpvZ1kzSmxZWFJsVTJsbmJpeGNiaUFnVm1WeWFXWjVPaUJqY21WaGRHVldaWEpwWm5rc1hHNGdJR055WldGMFpWTnBaMjQ2SUdOeVpXRjBaVk5wWjI0c1hHNGdJR055WldGMFpWWmxjbWxtZVRvZ1kzSmxZWFJsVm1WeWFXWjVYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvc2lnbi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3NpZ24uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLy8gbXVjaCBvZiB0aGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L3NlbGYtc2lnbmVkL2Jsb2IvZ2gtcGFnZXMvbGliL3JzYS5qc1xcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBjcmVhdGVIbWFjID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhtYWMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBjcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LXJzYSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanNcXFwiKVxcbnZhciBFQyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGVsbGlwdGljICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMuanNcXFwiKS5lY1xcbnZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKVxcbnZhciBwYXJzZUtleXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwYXJzZS1hc24xICovIFxcXCIuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2luZGV4LmpzXFxcIilcXG52YXIgY3VydmVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jdXJ2ZXMuanNvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvY3VydmVzLmpzb25cXFwiKVxcblxcbmZ1bmN0aW9uIHNpZ24gKGhhc2gsIGtleSwgaGFzaFR5cGUsIHNpZ25UeXBlLCB0YWcpIHtcXG4gIHZhciBwcml2ID0gcGFyc2VLZXlzKGtleSlcXG4gIGlmIChwcml2LmN1cnZlKSB7XFxuICAgIC8vIHJzYSBrZXlzIGNhbiBiZSBpbnRlcnByZXRlZCBhcyBlY2RzYSBvbmVzIGluIG9wZW5zc2xcXG4gICAgaWYgKHNpZ25UeXBlICE9PSAnZWNkc2EnICYmIHNpZ25UeXBlICE9PSAnZWNkc2EvcnNhJykgdGhyb3cgbmV3IEVycm9yKCd3cm9uZyBwcml2YXRlIGtleSB0eXBlJylcXG4gICAgcmV0dXJuIGVjU2lnbihoYXNoLCBwcml2KVxcbiAgfSBlbHNlIGlmIChwcml2LnR5cGUgPT09ICdkc2EnKSB7XFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ2RzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHJpdmF0ZSBrZXkgdHlwZScpXFxuICAgIHJldHVybiBkc2FTaWduKGhhc2gsIHByaXYsIGhhc2hUeXBlKVxcbiAgfSBlbHNlIHtcXG4gICAgaWYgKHNpZ25UeXBlICE9PSAncnNhJyAmJiBzaWduVHlwZSAhPT0gJ2VjZHNhL3JzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHJpdmF0ZSBrZXkgdHlwZScpXFxuICB9XFxuICBoYXNoID0gQnVmZmVyLmNvbmNhdChbdGFnLCBoYXNoXSlcXG4gIHZhciBsZW4gPSBwcml2Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpXFxuICB2YXIgcGFkID0gWzAsIDFdXFxuICB3aGlsZSAoaGFzaC5sZW5ndGggKyBwYWQubGVuZ3RoICsgMSA8IGxlbikgcGFkLnB1c2goMHhmZilcXG4gIHBhZC5wdXNoKDB4MDApXFxuICB2YXIgaSA9IC0xXFxuICB3aGlsZSAoKytpIDwgaGFzaC5sZW5ndGgpIHBhZC5wdXNoKGhhc2hbaV0pXFxuXFxuICB2YXIgb3V0ID0gY3J0KHBhZCwgcHJpdilcXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gZWNTaWduIChoYXNoLCBwcml2KSB7XFxuICB2YXIgY3VydmVJZCA9IGN1cnZlc1twcml2LmN1cnZlLmpvaW4oJy4nKV1cXG4gIGlmICghY3VydmVJZCkgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGN1cnZlICcgKyBwcml2LmN1cnZlLmpvaW4oJy4nKSlcXG5cXG4gIHZhciBjdXJ2ZSA9IG5ldyBFQyhjdXJ2ZUlkKVxcbiAgdmFyIGtleSA9IGN1cnZlLmtleUZyb21Qcml2YXRlKHByaXYucHJpdmF0ZUtleSlcXG4gIHZhciBvdXQgPSBrZXkuc2lnbihoYXNoKVxcblxcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG91dC50b0RFUigpKVxcbn1cXG5cXG5mdW5jdGlvbiBkc2FTaWduIChoYXNoLCBwcml2LCBhbGdvKSB7XFxuICB2YXIgeCA9IHByaXYucGFyYW1zLnByaXZfa2V5XFxuICB2YXIgcCA9IHByaXYucGFyYW1zLnBcXG4gIHZhciBxID0gcHJpdi5wYXJhbXMucVxcbiAgdmFyIGcgPSBwcml2LnBhcmFtcy5nXFxuICB2YXIgciA9IG5ldyBCTigwKVxcbiAgdmFyIGtcXG4gIHZhciBIID0gYml0czJpbnQoaGFzaCwgcSkubW9kKHEpXFxuICB2YXIgcyA9IGZhbHNlXFxuICB2YXIga3YgPSBnZXRLZXkoeCwgcSwgaGFzaCwgYWxnbylcXG4gIHdoaWxlIChzID09PSBmYWxzZSkge1xcbiAgICBrID0gbWFrZUtleShxLCBrdiwgYWxnbylcXG4gICAgciA9IG1ha2VSKGcsIGssIHAsIHEpXFxuICAgIHMgPSBrLmludm0ocSkuaW11bChILmFkZCh4Lm11bChyKSkpLm1vZChxKVxcbiAgICBpZiAocy5jbXBuKDApID09PSAwKSB7XFxuICAgICAgcyA9IGZhbHNlXFxuICAgICAgciA9IG5ldyBCTigwKVxcbiAgICB9XFxuICB9XFxuICByZXR1cm4gdG9ERVIociwgcylcXG59XFxuXFxuZnVuY3Rpb24gdG9ERVIgKHIsIHMpIHtcXG4gIHIgPSByLnRvQXJyYXkoKVxcbiAgcyA9IHMudG9BcnJheSgpXFxuXFxuICAvLyBQYWQgdmFsdWVzXFxuICBpZiAoclswXSAmIDB4ODApIHIgPSBbMF0uY29uY2F0KHIpXFxuICBpZiAoc1swXSAmIDB4ODApIHMgPSBbMF0uY29uY2F0KHMpXFxuXFxuICB2YXIgdG90YWwgPSByLmxlbmd0aCArIHMubGVuZ3RoICsgNFxcbiAgdmFyIHJlcyA9IFsweDMwLCB0b3RhbCwgMHgwMiwgci5sZW5ndGhdXFxuICByZXMgPSByZXMuY29uY2F0KHIsIFsweDAyLCBzLmxlbmd0aF0sIHMpXFxuICByZXR1cm4gQnVmZmVyLmZyb20ocmVzKVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRLZXkgKHgsIHEsIGhhc2gsIGFsZ28pIHtcXG4gIHggPSBCdWZmZXIuZnJvbSh4LnRvQXJyYXkoKSlcXG4gIGlmICh4Lmxlbmd0aCA8IHEuYnl0ZUxlbmd0aCgpKSB7XFxuICAgIHZhciB6ZXJvcyA9IEJ1ZmZlci5hbGxvYyhxLmJ5dGVMZW5ndGgoKSAtIHgubGVuZ3RoKVxcbiAgICB4ID0gQnVmZmVyLmNvbmNhdChbemVyb3MsIHhdKVxcbiAgfVxcbiAgdmFyIGhsZW4gPSBoYXNoLmxlbmd0aFxcbiAgdmFyIGhiaXRzID0gYml0czJvY3RldHMoaGFzaCwgcSlcXG4gIHZhciB2ID0gQnVmZmVyLmFsbG9jKGhsZW4pXFxuICB2LmZpbGwoMSlcXG4gIHZhciBrID0gQnVmZmVyLmFsbG9jKGhsZW4pXFxuICBrID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikudXBkYXRlKEJ1ZmZlci5mcm9tKFswXSkpLnVwZGF0ZSh4KS51cGRhdGUoaGJpdHMpLmRpZ2VzdCgpXFxuICB2ID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikuZGlnZXN0KClcXG4gIGsgPSBjcmVhdGVIbWFjKGFsZ28sIGspLnVwZGF0ZSh2KS51cGRhdGUoQnVmZmVyLmZyb20oWzFdKSkudXBkYXRlKHgpLnVwZGF0ZShoYml0cykuZGlnZXN0KClcXG4gIHYgPSBjcmVhdGVIbWFjKGFsZ28sIGspLnVwZGF0ZSh2KS5kaWdlc3QoKVxcbiAgcmV0dXJuIHsgazogaywgdjogdiB9XFxufVxcblxcbmZ1bmN0aW9uIGJpdHMyaW50IChvYml0cywgcSkge1xcbiAgdmFyIGJpdHMgPSBuZXcgQk4ob2JpdHMpXFxuICB2YXIgc2hpZnQgPSAob2JpdHMubGVuZ3RoIDw8IDMpIC0gcS5iaXRMZW5ndGgoKVxcbiAgaWYgKHNoaWZ0ID4gMCkgYml0cy5pc2hybihzaGlmdClcXG4gIHJldHVybiBiaXRzXFxufVxcblxcbmZ1bmN0aW9uIGJpdHMyb2N0ZXRzIChiaXRzLCBxKSB7XFxuICBiaXRzID0gYml0czJpbnQoYml0cywgcSlcXG4gIGJpdHMgPSBiaXRzLm1vZChxKVxcbiAgdmFyIG91dCA9IEJ1ZmZlci5mcm9tKGJpdHMudG9BcnJheSgpKVxcbiAgaWYgKG91dC5sZW5ndGggPCBxLmJ5dGVMZW5ndGgoKSkge1xcbiAgICB2YXIgemVyb3MgPSBCdWZmZXIuYWxsb2MocS5ieXRlTGVuZ3RoKCkgLSBvdXQubGVuZ3RoKVxcbiAgICBvdXQgPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgb3V0XSlcXG4gIH1cXG4gIHJldHVybiBvdXRcXG59XFxuXFxuZnVuY3Rpb24gbWFrZUtleSAocSwga3YsIGFsZ28pIHtcXG4gIHZhciB0XFxuICB2YXIga1xcblxcbiAgZG8ge1xcbiAgICB0ID0gQnVmZmVyLmFsbG9jKDApXFxuXFxuICAgIHdoaWxlICh0Lmxlbmd0aCAqIDggPCBxLmJpdExlbmd0aCgpKSB7XFxuICAgICAga3YudiA9IGNyZWF0ZUhtYWMoYWxnbywga3YuaykudXBkYXRlKGt2LnYpLmRpZ2VzdCgpXFxuICAgICAgdCA9IEJ1ZmZlci5jb25jYXQoW3QsIGt2LnZdKVxcbiAgICB9XFxuXFxuICAgIGsgPSBiaXRzMmludCh0LCBxKVxcbiAgICBrdi5rID0gY3JlYXRlSG1hYyhhbGdvLCBrdi5rKS51cGRhdGUoa3YudikudXBkYXRlKEJ1ZmZlci5mcm9tKFswXSkpLmRpZ2VzdCgpXFxuICAgIGt2LnYgPSBjcmVhdGVIbWFjKGFsZ28sIGt2LmspLnVwZGF0ZShrdi52KS5kaWdlc3QoKVxcbiAgfSB3aGlsZSAoay5jbXAocSkgIT09IC0xKVxcblxcbiAgcmV0dXJuIGtcXG59XFxuXFxuZnVuY3Rpb24gbWFrZVIgKGcsIGssIHAsIHEpIHtcXG4gIHJldHVybiBnLnRvUmVkKEJOLm1vbnQocCkpLnJlZFBvdyhrKS5mcm9tUmVkKCkubW9kKHEpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gc2lnblxcbm1vZHVsZS5leHBvcnRzLmdldEtleSA9IGdldEtleVxcbm1vZHVsZS5leHBvcnRzLm1ha2VLZXkgPSBtYWtlS2V5XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZZbkp2ZDNObGNpOXphV2R1TG1welB6SmxORElpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN1FVRkROMElzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zTUVSQlFXRTdRVUZEZEVNc1ZVRkJWU3h0UWtGQlR5eERRVUZETERoRVFVRm5RanRCUVVOc1F5eFRRVUZUTEcxQ1FVRlBMRU5CUVVNc2VVUkJRVlU3UVVGRE0wSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExEWkRRVUZQTzBGQlEzaENMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk8wRkJRM0JETEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UlVGQlpUczdRVUZGY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdGMybG5iaTlpY205M2MyVnlMM05wWjI0dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QnRkV05vSUc5bUlIUm9hWE1nWW1GelpXUWdiMjRnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJsdVpIVjBibmt2YzJWc1ppMXphV2R1WldRdllteHZZaTluYUMxd1lXZGxjeTlzYVdJdmNuTmhMbXB6WEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5a3VRblZtWm1WeVhHNTJZWElnWTNKbFlYUmxTRzFoWXlBOUlISmxjWFZwY21Vb0oyTnlaV0YwWlMxb2JXRmpKeWxjYm5aaGNpQmpjblFnUFNCeVpYRjFhWEpsS0NkaWNtOTNjMlZ5YVdaNUxYSnpZU2NwWEc1MllYSWdSVU1nUFNCeVpYRjFhWEpsS0NkbGJHeHBjSFJwWXljcExtVmpYRzUyWVhJZ1FrNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BYRzUyWVhJZ2NHRnljMlZMWlhseklEMGdjbVZ4ZFdseVpTZ25jR0Z5YzJVdFlYTnVNU2NwWEc1MllYSWdZM1Z5ZG1WeklEMGdjbVZ4ZFdseVpTZ25MaTlqZFhKMlpYTXVhbk52YmljcFhHNWNibVoxYm1OMGFXOXVJSE5wWjI0Z0tHaGhjMmdzSUd0bGVTd2dhR0Z6YUZSNWNHVXNJSE5wWjI1VWVYQmxMQ0IwWVdjcElIdGNiaUFnZG1GeUlIQnlhWFlnUFNCd1lYSnpaVXRsZVhNb2EyVjVLVnh1SUNCcFppQW9jSEpwZGk1amRYSjJaU2tnZTF4dUlDQWdJQzh2SUhKellTQnJaWGx6SUdOaGJpQmlaU0JwYm5SbGNuQnlaWFJsWkNCaGN5QmxZMlJ6WVNCdmJtVnpJR2x1SUc5d1pXNXpjMnhjYmlBZ0lDQnBaaUFvYzJsbmJsUjVjR1VnSVQwOUlDZGxZMlJ6WVNjZ0ppWWdjMmxuYmxSNWNHVWdJVDA5SUNkbFkyUnpZUzl5YzJFbktTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozZHliMjVuSUhCeWFYWmhkR1VnYTJWNUlIUjVjR1VuS1Z4dUlDQWdJSEpsZEhWeWJpQmxZMU5wWjI0b2FHRnphQ3dnY0hKcGRpbGNiaUFnZlNCbGJITmxJR2xtSUNod2NtbDJMblI1Y0dVZ1BUMDlJQ2RrYzJFbktTQjdYRzRnSUNBZ2FXWWdLSE5wWjI1VWVYQmxJQ0U5UFNBblpITmhKeWtnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QzY205dVp5QndjbWwyWVhSbElHdGxlU0IwZVhCbEp5bGNiaUFnSUNCeVpYUjFjbTRnWkhOaFUybG5iaWhvWVhOb0xDQndjbWwyTENCb1lYTm9WSGx3WlNsY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCcFppQW9jMmxuYmxSNWNHVWdJVDA5SUNkeWMyRW5JQ1ltSUhOcFoyNVVlWEJsSUNFOVBTQW5aV05rYzJFdmNuTmhKeWtnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QzY205dVp5QndjbWwyWVhSbElHdGxlU0IwZVhCbEp5bGNiaUFnZlZ4dUlDQm9ZWE5vSUQwZ1FuVm1abVZ5TG1OdmJtTmhkQ2hiZEdGbkxDQm9ZWE5vWFNsY2JpQWdkbUZ5SUd4bGJpQTlJSEJ5YVhZdWJXOWtkV3gxY3k1aWVYUmxUR1Z1WjNSb0tDbGNiaUFnZG1GeUlIQmhaQ0E5SUZzd0xDQXhYVnh1SUNCM2FHbHNaU0FvYUdGemFDNXNaVzVuZEdnZ0t5QndZV1F1YkdWdVozUm9JQ3NnTVNBOElHeGxiaWtnY0dGa0xuQjFjMmdvTUhobVppbGNiaUFnY0dGa0xuQjFjMmdvTUhnd01DbGNiaUFnZG1GeUlHa2dQU0F0TVZ4dUlDQjNhR2xzWlNBb0t5dHBJRHdnYUdGemFDNXNaVzVuZEdncElIQmhaQzV3ZFhOb0tHaGhjMmhiYVYwcFhHNWNiaUFnZG1GeUlHOTFkQ0E5SUdOeWRDaHdZV1FzSUhCeWFYWXBYRzRnSUhKbGRIVnliaUJ2ZFhSY2JuMWNibHh1Wm5WdVkzUnBiMjRnWldOVGFXZHVJQ2hvWVhOb0xDQndjbWwyS1NCN1hHNGdJSFpoY2lCamRYSjJaVWxrSUQwZ1kzVnlkbVZ6VzNCeWFYWXVZM1Z5ZG1VdWFtOXBiaWduTGljcFhWeHVJQ0JwWmlBb0lXTjFjblpsU1dRcElIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbmRXNXJibTkzYmlCamRYSjJaU0FuSUNzZ2NISnBkaTVqZFhKMlpTNXFiMmx1S0NjdUp5a3BYRzVjYmlBZ2RtRnlJR04xY25abElEMGdibVYzSUVWREtHTjFjblpsU1dRcFhHNGdJSFpoY2lCclpYa2dQU0JqZFhKMlpTNXJaWGxHY205dFVISnBkbUYwWlNod2NtbDJMbkJ5YVhaaGRHVkxaWGtwWEc0Z0lIWmhjaUJ2ZFhRZ1BTQnJaWGt1YzJsbmJpaG9ZWE5vS1Z4dVhHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdVpuSnZiU2h2ZFhRdWRHOUVSVklvS1NsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWkhOaFUybG5iaUFvYUdGemFDd2djSEpwZGl3Z1lXeG5ieWtnZTF4dUlDQjJZWElnZUNBOUlIQnlhWFl1Y0dGeVlXMXpMbkJ5YVhaZmEyVjVYRzRnSUhaaGNpQndJRDBnY0hKcGRpNXdZWEpoYlhNdWNGeHVJQ0IyWVhJZ2NTQTlJSEJ5YVhZdWNHRnlZVzF6TG5GY2JpQWdkbUZ5SUdjZ1BTQndjbWwyTG5CaGNtRnRjeTVuWEc0Z0lIWmhjaUJ5SUQwZ2JtVjNJRUpPS0RBcFhHNGdJSFpoY2lCclhHNGdJSFpoY2lCSUlEMGdZbWwwY3pKcGJuUW9hR0Z6YUN3Z2NTa3ViVzlrS0hFcFhHNGdJSFpoY2lCeklEMGdabUZzYzJWY2JpQWdkbUZ5SUd0MklEMGdaMlYwUzJWNUtIZ3NJSEVzSUdoaGMyZ3NJR0ZzWjI4cFhHNGdJSGRvYVd4bElDaHpJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJR3NnUFNCdFlXdGxTMlY1S0hFc0lHdDJMQ0JoYkdkdktWeHVJQ0FnSUhJZ1BTQnRZV3RsVWlobkxDQnJMQ0J3TENCeEtWeHVJQ0FnSUhNZ1BTQnJMbWx1ZG0wb2NTa3VhVzExYkNoSUxtRmtaQ2g0TG0xMWJDaHlLU2twTG0xdlpDaHhLVnh1SUNBZ0lHbG1JQ2h6TG1OdGNHNG9NQ2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1nUFNCbVlXeHpaVnh1SUNBZ0lDQWdjaUE5SUc1bGR5QkNUaWd3S1Z4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdkRzlFUlZJb2Npd2djeWxjYm4xY2JseHVablZ1WTNScGIyNGdkRzlFUlZJZ0tISXNJSE1wSUh0Y2JpQWdjaUE5SUhJdWRHOUJjbkpoZVNncFhHNGdJSE1nUFNCekxuUnZRWEp5WVhrb0tWeHVYRzRnSUM4dklGQmhaQ0IyWVd4MVpYTmNiaUFnYVdZZ0tISmJNRjBnSmlBd2VEZ3dLU0J5SUQwZ1d6QmRMbU52Ym1OaGRDaHlLVnh1SUNCcFppQW9jMXN3WFNBbUlEQjRPREFwSUhNZ1BTQmJNRjB1WTI5dVkyRjBLSE1wWEc1Y2JpQWdkbUZ5SUhSdmRHRnNJRDBnY2k1c1pXNW5kR2dnS3lCekxteGxibWQwYUNBcklEUmNiaUFnZG1GeUlISmxjeUE5SUZzd2VETXdMQ0IwYjNSaGJDd2dNSGd3TWl3Z2NpNXNaVzVuZEdoZFhHNGdJSEpsY3lBOUlISmxjeTVqYjI1allYUW9jaXdnV3pCNE1ESXNJSE11YkdWdVozUm9YU3dnY3lsY2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1bWNtOXRLSEpsY3lsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFMyVjVJQ2g0TENCeExDQm9ZWE5vTENCaGJHZHZLU0I3WEc0Z0lIZ2dQU0JDZFdabVpYSXVabkp2YlNoNExuUnZRWEp5WVhrb0tTbGNiaUFnYVdZZ0tIZ3ViR1Z1WjNSb0lEd2djUzVpZVhSbFRHVnVaM1JvS0NrcElIdGNiaUFnSUNCMllYSWdlbVZ5YjNNZ1BTQkNkV1ptWlhJdVlXeHNiMk1vY1M1aWVYUmxUR1Z1WjNSb0tDa2dMU0I0TG14bGJtZDBhQ2xjYmlBZ0lDQjRJRDBnUW5WbVptVnlMbU52Ym1OaGRDaGJlbVZ5YjNNc0lIaGRLVnh1SUNCOVhHNGdJSFpoY2lCb2JHVnVJRDBnYUdGemFDNXNaVzVuZEdoY2JpQWdkbUZ5SUdoaWFYUnpJRDBnWW1sMGN6SnZZM1JsZEhNb2FHRnphQ3dnY1NsY2JpQWdkbUZ5SUhZZ1BTQkNkV1ptWlhJdVlXeHNiMk1vYUd4bGJpbGNiaUFnZGk1bWFXeHNLREVwWEc0Z0lIWmhjaUJySUQwZ1FuVm1abVZ5TG1Gc2JHOWpLR2hzWlc0cFhHNGdJR3NnUFNCamNtVmhkR1ZJYldGaktHRnNaMjhzSUdzcExuVndaR0YwWlNoMktTNTFjR1JoZEdVb1FuVm1abVZ5TG1aeWIyMG9XekJkS1NrdWRYQmtZWFJsS0hncExuVndaR0YwWlNob1ltbDBjeWt1WkdsblpYTjBLQ2xjYmlBZ2RpQTlJR055WldGMFpVaHRZV01vWVd4bmJ5d2dheWt1ZFhCa1lYUmxLSFlwTG1ScFoyVnpkQ2dwWEc0Z0lHc2dQU0JqY21WaGRHVkliV0ZqS0dGc1oyOHNJR3NwTG5Wd1pHRjBaU2gyS1M1MWNHUmhkR1VvUW5WbVptVnlMbVp5YjIwb1d6RmRLU2t1ZFhCa1lYUmxLSGdwTG5Wd1pHRjBaU2hvWW1sMGN5a3VaR2xuWlhOMEtDbGNiaUFnZGlBOUlHTnlaV0YwWlVodFlXTW9ZV3huYnl3Z2F5a3VkWEJrWVhSbEtIWXBMbVJwWjJWemRDZ3BYRzRnSUhKbGRIVnliaUI3SUdzNklHc3NJSFk2SUhZZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCaWFYUnpNbWx1ZENBb2IySnBkSE1zSUhFcElIdGNiaUFnZG1GeUlHSnBkSE1nUFNCdVpYY2dRazRvYjJKcGRITXBYRzRnSUhaaGNpQnphR2xtZENBOUlDaHZZbWwwY3k1c1pXNW5kR2dnUER3Z015a2dMU0J4TG1KcGRFeGxibWQwYUNncFhHNGdJR2xtSUNoemFHbG1kQ0ErSURBcElHSnBkSE11YVhOb2NtNG9jMmhwWm5RcFhHNGdJSEpsZEhWeWJpQmlhWFJ6WEc1OVhHNWNibVoxYm1OMGFXOXVJR0pwZEhNeWIyTjBaWFJ6SUNoaWFYUnpMQ0J4S1NCN1hHNGdJR0pwZEhNZ1BTQmlhWFJ6TW1sdWRDaGlhWFJ6TENCeEtWeHVJQ0JpYVhSeklEMGdZbWwwY3k1dGIyUW9jU2xjYmlBZ2RtRnlJRzkxZENBOUlFSjFabVpsY2k1bWNtOXRLR0pwZEhNdWRHOUJjbkpoZVNncEtWeHVJQ0JwWmlBb2IzVjBMbXhsYm1kMGFDQThJSEV1WW5sMFpVeGxibWQwYUNncEtTQjdYRzRnSUNBZ2RtRnlJSHBsY205eklEMGdRblZtWm1WeUxtRnNiRzlqS0hFdVlubDBaVXhsYm1kMGFDZ3BJQzBnYjNWMExteGxibWQwYUNsY2JpQWdJQ0J2ZFhRZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0NlpYSnZjeXdnYjNWMFhTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z2IzVjBYRzU5WEc1Y2JtWjFibU4wYVc5dUlHMWhhMlZMWlhrZ0tIRXNJR3QyTENCaGJHZHZLU0I3WEc0Z0lIWmhjaUIwWEc0Z0lIWmhjaUJyWEc1Y2JpQWdaRzhnZTF4dUlDQWdJSFFnUFNCQ2RXWm1aWEl1WVd4c2IyTW9NQ2xjYmx4dUlDQWdJSGRvYVd4bElDaDBMbXhsYm1kMGFDQXFJRGdnUENCeExtSnBkRXhsYm1kMGFDZ3BLU0I3WEc0Z0lDQWdJQ0JyZGk1MklEMGdZM0psWVhSbFNHMWhZeWhoYkdkdkxDQnJkaTVyS1M1MWNHUmhkR1VvYTNZdWRpa3VaR2xuWlhOMEtDbGNiaUFnSUNBZ0lIUWdQU0JDZFdabVpYSXVZMjl1WTJGMEtGdDBMQ0JyZGk1MlhTbGNiaUFnSUNCOVhHNWNiaUFnSUNCcklEMGdZbWwwY3pKcGJuUW9kQ3dnY1NsY2JpQWdJQ0JyZGk1cklEMGdZM0psWVhSbFNHMWhZeWhoYkdkdkxDQnJkaTVyS1M1MWNHUmhkR1VvYTNZdWRpa3VkWEJrWVhSbEtFSjFabVpsY2k1bWNtOXRLRnN3WFNrcExtUnBaMlZ6ZENncFhHNGdJQ0FnYTNZdWRpQTlJR055WldGMFpVaHRZV01vWVd4bmJ5d2dhM1l1YXlrdWRYQmtZWFJsS0d0MkxuWXBMbVJwWjJWemRDZ3BYRzRnSUgwZ2QyaHBiR1VnS0dzdVkyMXdLSEVwSUNFOVBTQXRNU2xjYmx4dUlDQnlaWFIxY200Z2ExeHVmVnh1WEc1bWRXNWpkR2x2YmlCdFlXdGxVaUFvWnl3Z2F5d2djQ3dnY1NrZ2UxeHVJQ0J5WlhSMWNtNGdaeTUwYjFKbFpDaENUaTV0YjI1MEtIQXBLUzV5WldSUWIzY29heWt1Wm5KdmJWSmxaQ2dwTG0xdlpDaHhLVnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlITnBaMjVjYm0xdlpIVnNaUzVsZUhCdmNuUnpMbWRsZEV0bGVTQTlJR2RsZEV0bGVWeHViVzlrZFd4bExtVjRjRzl5ZEhNdWJXRnJaVXRsZVNBOUlHMWhhMlZMWlhsY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvc2lnbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvdmVyaWZ5LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci92ZXJpZnkuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvLyBtdWNoIG9mIHRoaXMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvcnNhLmpzXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpXFxudmFyIEVDID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZWxsaXB0aWMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy5qc1xcXCIpLmVjXFxudmFyIHBhcnNlS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBhcnNlLWFzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanNcXFwiKVxcbnZhciBjdXJ2ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2N1cnZlcy5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vYnJvd3Nlci9jdXJ2ZXMuanNvblxcXCIpXFxuXFxuZnVuY3Rpb24gdmVyaWZ5IChzaWcsIGhhc2gsIGtleSwgc2lnblR5cGUsIHRhZykge1xcbiAgdmFyIHB1YiA9IHBhcnNlS2V5cyhrZXkpXFxuICBpZiAocHViLnR5cGUgPT09ICdlYycpIHtcXG4gICAgLy8gcnNhIGtleXMgY2FuIGJlIGludGVycHJldGVkIGFzIGVjZHNhIG9uZXMgaW4gb3BlbnNzbFxcbiAgICBpZiAoc2lnblR5cGUgIT09ICdlY2RzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXFxuICAgIHJldHVybiBlY1ZlcmlmeShzaWcsIGhhc2gsIHB1YilcXG4gIH0gZWxzZSBpZiAocHViLnR5cGUgPT09ICdkc2EnKSB7XFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ2RzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHVibGljIGtleSB0eXBlJylcXG4gICAgcmV0dXJuIGRzYVZlcmlmeShzaWcsIGhhc2gsIHB1YilcXG4gIH0gZWxzZSB7XFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ3JzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXFxuICB9XFxuICBoYXNoID0gQnVmZmVyLmNvbmNhdChbdGFnLCBoYXNoXSlcXG4gIHZhciBsZW4gPSBwdWIubW9kdWx1cy5ieXRlTGVuZ3RoKClcXG4gIHZhciBwYWQgPSBbMV1cXG4gIHZhciBwYWROdW0gPSAwXFxuICB3aGlsZSAoaGFzaC5sZW5ndGggKyBwYWQubGVuZ3RoICsgMiA8IGxlbikge1xcbiAgICBwYWQucHVzaCgweGZmKVxcbiAgICBwYWROdW0rK1xcbiAgfVxcbiAgcGFkLnB1c2goMHgwMClcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBoYXNoLmxlbmd0aCkge1xcbiAgICBwYWQucHVzaChoYXNoW2ldKVxcbiAgfVxcbiAgcGFkID0gQnVmZmVyLmZyb20ocGFkKVxcbiAgdmFyIHJlZCA9IEJOLm1vbnQocHViLm1vZHVsdXMpXFxuICBzaWcgPSBuZXcgQk4oc2lnKS50b1JlZChyZWQpXFxuXFxuICBzaWcgPSBzaWcucmVkUG93KG5ldyBCTihwdWIucHVibGljRXhwb25lbnQpKVxcbiAgc2lnID0gQnVmZmVyLmZyb20oc2lnLmZyb21SZWQoKS50b0FycmF5KCkpXFxuICB2YXIgb3V0ID0gcGFkTnVtIDwgOCA/IDEgOiAwXFxuICBsZW4gPSBNYXRoLm1pbihzaWcubGVuZ3RoLCBwYWQubGVuZ3RoKVxcbiAgaWYgKHNpZy5sZW5ndGggIT09IHBhZC5sZW5ndGgpIG91dCA9IDFcXG5cXG4gIGkgPSAtMVxcbiAgd2hpbGUgKCsraSA8IGxlbikgb3V0IHw9IHNpZ1tpXSBeIHBhZFtpXVxcbiAgcmV0dXJuIG91dCA9PT0gMFxcbn1cXG5cXG5mdW5jdGlvbiBlY1ZlcmlmeSAoc2lnLCBoYXNoLCBwdWIpIHtcXG4gIHZhciBjdXJ2ZUlkID0gY3VydmVzW3B1Yi5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCcuJyldXFxuICBpZiAoIWN1cnZlSWQpIHRocm93IG5ldyBFcnJvcigndW5rbm93biBjdXJ2ZSAnICsgcHViLmRhdGEuYWxnb3JpdGhtLmN1cnZlLmpvaW4oJy4nKSlcXG5cXG4gIHZhciBjdXJ2ZSA9IG5ldyBFQyhjdXJ2ZUlkKVxcbiAgdmFyIHB1YmtleSA9IHB1Yi5kYXRhLnN1YmplY3RQcml2YXRlS2V5LmRhdGFcXG5cXG4gIHJldHVybiBjdXJ2ZS52ZXJpZnkoaGFzaCwgc2lnLCBwdWJrZXkpXFxufVxcblxcbmZ1bmN0aW9uIGRzYVZlcmlmeSAoc2lnLCBoYXNoLCBwdWIpIHtcXG4gIHZhciBwID0gcHViLmRhdGEucFxcbiAgdmFyIHEgPSBwdWIuZGF0YS5xXFxuICB2YXIgZyA9IHB1Yi5kYXRhLmdcXG4gIHZhciB5ID0gcHViLmRhdGEucHViX2tleVxcbiAgdmFyIHVucGFja2VkID0gcGFyc2VLZXlzLnNpZ25hdHVyZS5kZWNvZGUoc2lnLCAnZGVyJylcXG4gIHZhciBzID0gdW5wYWNrZWQuc1xcbiAgdmFyIHIgPSB1bnBhY2tlZC5yXFxuICBjaGVja1ZhbHVlKHMsIHEpXFxuICBjaGVja1ZhbHVlKHIsIHEpXFxuICB2YXIgbW9udHAgPSBCTi5tb250KHApXFxuICB2YXIgdyA9IHMuaW52bShxKVxcbiAgdmFyIHYgPSBnLnRvUmVkKG1vbnRwKVxcbiAgICAucmVkUG93KG5ldyBCTihoYXNoKS5tdWwodykubW9kKHEpKVxcbiAgICAuZnJvbVJlZCgpXFxuICAgIC5tdWwoeS50b1JlZChtb250cCkucmVkUG93KHIubXVsKHcpLm1vZChxKSkuZnJvbVJlZCgpKVxcbiAgICAubW9kKHApXFxuICAgIC5tb2QocSlcXG4gIHJldHVybiB2LmNtcChyKSA9PT0gMFxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja1ZhbHVlIChiLCBxKSB7XFxuICBpZiAoYi5jbXBuKDApIDw9IDApIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWcnKVxcbiAgaWYgKGIuY21wKHEpID49IHEpIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWcnKVxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHZlcmlmeVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2WW5KdmQzTmxjaTkyWlhKcFpua3Vhbk0vWVRReU55SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNM1FpeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc05rTkJRVTg3UVVGRGVFSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExIbEVRVUZWTzBGQlF6TkNMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk8wRkJRM0JETEdGQlFXRXNiVUpCUVU4c1EwRkJReXg1UlVGQlpUczdRVUZGY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0YzJsbmJpOWljbTkzYzJWeUwzWmxjbWxtZVM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklHMTFZMmdnYjJZZ2RHaHBjeUJpWVhObFpDQnZiaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2YVc1a2RYUnVlUzl6Wld4bUxYTnBaMjVsWkM5aWJHOWlMMmRvTFhCaFoyVnpMMnhwWWk5eWMyRXVhbk5jYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZGlkV1ptWlhJbktTNUNkV1ptWlhKY2JuWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlsY2JuWmhjaUJGUXlBOUlISmxjWFZwY21Vb0oyVnNiR2x3ZEdsakp5a3VaV05jYm5aaGNpQndZWEp6WlV0bGVYTWdQU0J5WlhGMWFYSmxLQ2R3WVhKelpTMWhjMjR4SnlsY2JuWmhjaUJqZFhKMlpYTWdQU0J5WlhGMWFYSmxLQ2N1TDJOMWNuWmxjeTVxYzI5dUp5bGNibHh1Wm5WdVkzUnBiMjRnZG1WeWFXWjVJQ2h6YVdjc0lHaGhjMmdzSUd0bGVTd2djMmxuYmxSNWNHVXNJSFJoWnlrZ2UxeHVJQ0IyWVhJZ2NIVmlJRDBnY0dGeWMyVkxaWGx6S0d0bGVTbGNiaUFnYVdZZ0tIQjFZaTUwZVhCbElEMDlQU0FuWldNbktTQjdYRzRnSUNBZ0x5OGdjbk5oSUd0bGVYTWdZMkZ1SUdKbElHbHVkR1Z5Y0hKbGRHVmtJR0Z6SUdWalpITmhJRzl1WlhNZ2FXNGdiM0JsYm5OemJGeHVJQ0FnSUdsbUlDaHphV2R1Vkhsd1pTQWhQVDBnSjJWalpITmhKeUFtSmlCemFXZHVWSGx3WlNBaFBUMGdKMlZqWkhOaEwzSnpZU2NwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZDNKdmJtY2djSFZpYkdsaklHdGxlU0IwZVhCbEp5bGNiaUFnSUNCeVpYUjFjbTRnWldOV1pYSnBabmtvYzJsbkxDQm9ZWE5vTENCd2RXSXBYRzRnSUgwZ1pXeHpaU0JwWmlBb2NIVmlMblI1Y0dVZ1BUMDlJQ2RrYzJFbktTQjdYRzRnSUNBZ2FXWWdLSE5wWjI1VWVYQmxJQ0U5UFNBblpITmhKeWtnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QzY205dVp5QndkV0pzYVdNZ2EyVjVJSFI1Y0dVbktWeHVJQ0FnSUhKbGRIVnliaUJrYzJGV1pYSnBabmtvYzJsbkxDQm9ZWE5vTENCd2RXSXBYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdhV1lnS0hOcFoyNVVlWEJsSUNFOVBTQW5jbk5oSnlBbUppQnphV2R1Vkhsd1pTQWhQVDBnSjJWalpITmhMM0p6WVNjcElIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbmQzSnZibWNnY0hWaWJHbGpJR3RsZVNCMGVYQmxKeWxjYmlBZ2ZWeHVJQ0JvWVhOb0lEMGdRblZtWm1WeUxtTnZibU5oZENoYmRHRm5MQ0JvWVhOb1hTbGNiaUFnZG1GeUlHeGxiaUE5SUhCMVlpNXRiMlIxYkhWekxtSjVkR1ZNWlc1bmRHZ29LVnh1SUNCMllYSWdjR0ZrSUQwZ1d6RmRYRzRnSUhaaGNpQndZV1JPZFcwZ1BTQXdYRzRnSUhkb2FXeGxJQ2hvWVhOb0xteGxibWQwYUNBcklIQmhaQzVzWlc1bmRHZ2dLeUF5SUR3Z2JHVnVLU0I3WEc0Z0lDQWdjR0ZrTG5CMWMyZ29NSGhtWmlsY2JpQWdJQ0J3WVdST2RXMHJLMXh1SUNCOVhHNGdJSEJoWkM1d2RYTm9LREI0TURBcFhHNGdJSFpoY2lCcElEMGdMVEZjYmlBZ2QyaHBiR1VnS0NzcmFTQThJR2hoYzJndWJHVnVaM1JvS1NCN1hHNGdJQ0FnY0dGa0xuQjFjMmdvYUdGemFGdHBYU2xjYmlBZ2ZWeHVJQ0J3WVdRZ1BTQkNkV1ptWlhJdVpuSnZiU2h3WVdRcFhHNGdJSFpoY2lCeVpXUWdQU0JDVGk1dGIyNTBLSEIxWWk1dGIyUjFiSFZ6S1Z4dUlDQnphV2NnUFNCdVpYY2dRazRvYzJsbktTNTBiMUpsWkNoeVpXUXBYRzVjYmlBZ2MybG5JRDBnYzJsbkxuSmxaRkJ2ZHlodVpYY2dRazRvY0hWaUxuQjFZbXhwWTBWNGNHOXVaVzUwS1NsY2JpQWdjMmxuSUQwZ1FuVm1abVZ5TG1aeWIyMG9jMmxuTG1aeWIyMVNaV1FvS1M1MGIwRnljbUY1S0NrcFhHNGdJSFpoY2lCdmRYUWdQU0J3WVdST2RXMGdQQ0E0SUQ4Z01TQTZJREJjYmlBZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzJsbkxteGxibWQwYUN3Z2NHRmtMbXhsYm1kMGFDbGNiaUFnYVdZZ0tITnBaeTVzWlc1bmRHZ2dJVDA5SUhCaFpDNXNaVzVuZEdncElHOTFkQ0E5SURGY2JseHVJQ0JwSUQwZ0xURmNiaUFnZDJocGJHVWdLQ3NyYVNBOElHeGxiaWtnYjNWMElIdzlJSE5wWjF0cFhTQmVJSEJoWkZ0cFhWeHVJQ0J5WlhSMWNtNGdiM1YwSUQwOVBTQXdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVmpWbVZ5YVdaNUlDaHphV2NzSUdoaGMyZ3NJSEIxWWlrZ2UxeHVJQ0IyWVhJZ1kzVnlkbVZKWkNBOUlHTjFjblpsYzF0d2RXSXVaR0YwWVM1aGJHZHZjbWwwYUcwdVkzVnlkbVV1YW05cGJpZ25MaWNwWFZ4dUlDQnBaaUFvSVdOMWNuWmxTV1FwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJqZFhKMlpTQW5JQ3NnY0hWaUxtUmhkR0V1WVd4bmIzSnBkR2h0TG1OMWNuWmxMbXB2YVc0b0p5NG5LU2xjYmx4dUlDQjJZWElnWTNWeWRtVWdQU0J1WlhjZ1JVTW9ZM1Z5ZG1WSlpDbGNiaUFnZG1GeUlIQjFZbXRsZVNBOUlIQjFZaTVrWVhSaExuTjFZbXBsWTNSUWNtbDJZWFJsUzJWNUxtUmhkR0ZjYmx4dUlDQnlaWFIxY200Z1kzVnlkbVV1ZG1WeWFXWjVLR2hoYzJnc0lITnBaeXdnY0hWaWEyVjVLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmtjMkZXWlhKcFpua2dLSE5wWnl3Z2FHRnphQ3dnY0hWaUtTQjdYRzRnSUhaaGNpQndJRDBnY0hWaUxtUmhkR0V1Y0Z4dUlDQjJZWElnY1NBOUlIQjFZaTVrWVhSaExuRmNiaUFnZG1GeUlHY2dQU0J3ZFdJdVpHRjBZUzVuWEc0Z0lIWmhjaUI1SUQwZ2NIVmlMbVJoZEdFdWNIVmlYMnRsZVZ4dUlDQjJZWElnZFc1d1lXTnJaV1FnUFNCd1lYSnpaVXRsZVhNdWMybG5ibUYwZFhKbExtUmxZMjlrWlNoemFXY3NJQ2RrWlhJbktWeHVJQ0IyWVhJZ2N5QTlJSFZ1Y0dGamEyVmtMbk5jYmlBZ2RtRnlJSElnUFNCMWJuQmhZMnRsWkM1eVhHNGdJR05vWldOclZtRnNkV1VvY3l3Z2NTbGNiaUFnWTJobFkydFdZV3gxWlNoeUxDQnhLVnh1SUNCMllYSWdiVzl1ZEhBZ1BTQkNUaTV0YjI1MEtIQXBYRzRnSUhaaGNpQjNJRDBnY3k1cGJuWnRLSEVwWEc0Z0lIWmhjaUIySUQwZ1p5NTBiMUpsWkNodGIyNTBjQ2xjYmlBZ0lDQXVjbVZrVUc5M0tHNWxkeUJDVGlob1lYTm9LUzV0ZFd3b2R5a3ViVzlrS0hFcEtWeHVJQ0FnSUM1bWNtOXRVbVZrS0NsY2JpQWdJQ0F1YlhWc0tIa3VkRzlTWldRb2JXOXVkSEFwTG5KbFpGQnZkeWh5TG0xMWJDaDNLUzV0YjJRb2NTa3BMbVp5YjIxU1pXUW9LU2xjYmlBZ0lDQXViVzlrS0hBcFhHNGdJQ0FnTG0xdlpDaHhLVnh1SUNCeVpYUjFjbTRnZGk1amJYQW9jaWtnUFQwOUlEQmNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnRXWVd4MVpTQW9ZaXdnY1NrZ2UxeHVJQ0JwWmlBb1lpNWpiWEJ1S0RBcElEdzlJREFwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduYVc1MllXeHBaQ0J6YVdjbktWeHVJQ0JwWmlBb1lpNWpiWEFvY1NrZ1BqMGdjU2tnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RwYm5aaGJHbGtJSE5wWnljcFhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZG1WeWFXWjVYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9icm93c2VyL3ZlcmlmeS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7IHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzOyBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XFxuXFxudmFyIGNvZGVzID0ge307XFxuXFxuZnVuY3Rpb24gY3JlYXRlRXJyb3JUeXBlKGNvZGUsIG1lc3NhZ2UsIEJhc2UpIHtcXG4gIGlmICghQmFzZSkge1xcbiAgICBCYXNlID0gRXJyb3I7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBnZXRNZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpIHtcXG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJykge1xcbiAgICAgIHJldHVybiBtZXNzYWdlO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiBtZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgTm9kZUVycm9yID1cXG4gIC8qI19fUFVSRV9fKi9cXG4gIGZ1bmN0aW9uIChfQmFzZSkge1xcbiAgICBfaW5oZXJpdHNMb29zZShOb2RlRXJyb3IsIF9CYXNlKTtcXG5cXG4gICAgZnVuY3Rpb24gTm9kZUVycm9yKGFyZzEsIGFyZzIsIGFyZzMpIHtcXG4gICAgICByZXR1cm4gX0Jhc2UuY2FsbCh0aGlzLCBnZXRNZXNzYWdlKGFyZzEsIGFyZzIsIGFyZzMpKSB8fCB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBOb2RlRXJyb3I7XFxuICB9KEJhc2UpO1xcblxcbiAgTm9kZUVycm9yLnByb3RvdHlwZS5uYW1lID0gQmFzZS5uYW1lO1xcbiAgTm9kZUVycm9yLnByb3RvdHlwZS5jb2RlID0gY29kZTtcXG4gIGNvZGVzW2NvZGVdID0gTm9kZUVycm9yO1xcbn0gLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2Jsb2IvdjEwLjguMC9saWIvaW50ZXJuYWwvZXJyb3JzLmpzXFxuXFxuXFxuZnVuY3Rpb24gb25lT2YoZXhwZWN0ZWQsIHRoaW5nKSB7XFxuICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3RlZCkpIHtcXG4gICAgdmFyIGxlbiA9IGV4cGVjdGVkLmxlbmd0aDtcXG4gICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5tYXAoZnVuY3Rpb24gKGkpIHtcXG4gICAgICByZXR1cm4gU3RyaW5nKGkpO1xcbiAgICB9KTtcXG5cXG4gICAgaWYgKGxlbiA+IDIpIHtcXG4gICAgICByZXR1cm4gXFxcIm9uZSBvZiBcXFwiLmNvbmNhdCh0aGluZywgXFxcIiBcXFwiKS5jb25jYXQoZXhwZWN0ZWQuc2xpY2UoMCwgbGVuIC0gMSkuam9pbignLCAnKSwgXFxcIiwgb3IgXFxcIikgKyBleHBlY3RlZFtsZW4gLSAxXTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPT09IDIpIHtcXG4gICAgICByZXR1cm4gXFxcIm9uZSBvZiBcXFwiLmNvbmNhdCh0aGluZywgXFxcIiBcXFwiKS5jb25jYXQoZXhwZWN0ZWRbMF0sIFxcXCIgb3IgXFxcIikuY29uY2F0KGV4cGVjdGVkWzFdKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gXFxcIm9mIFxcXCIuY29uY2F0KHRoaW5nLCBcXFwiIFxcXCIpLmNvbmNhdChleHBlY3RlZFswXSk7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBcXFwib2YgXFxcIi5jb25jYXQodGhpbmcsIFxcXCIgXFxcIikuY29uY2F0KFN0cmluZyhleHBlY3RlZCkpO1xcbiAgfVxcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL3N0YXJ0c1dpdGhcXG5cXG5cXG5mdW5jdGlvbiBzdGFydHNXaXRoKHN0ciwgc2VhcmNoLCBwb3MpIHtcXG4gIHJldHVybiBzdHIuc3Vic3RyKCFwb3MgfHwgcG9zIDwgMCA/IDAgOiArcG9zLCBzZWFyY2gubGVuZ3RoKSA9PT0gc2VhcmNoO1xcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL2VuZHNXaXRoXFxuXFxuXFxuZnVuY3Rpb24gZW5kc1dpdGgoc3RyLCBzZWFyY2gsIHRoaXNfbGVuKSB7XFxuICBpZiAodGhpc19sZW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzX2xlbiA+IHN0ci5sZW5ndGgpIHtcXG4gICAgdGhpc19sZW4gPSBzdHIubGVuZ3RoO1xcbiAgfVxcblxcbiAgcmV0dXJuIHN0ci5zdWJzdHJpbmcodGhpc19sZW4gLSBzZWFyY2gubGVuZ3RoLCB0aGlzX2xlbikgPT09IHNlYXJjaDtcXG59IC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N0cmluZy9pbmNsdWRlc1xcblxcblxcbmZ1bmN0aW9uIGluY2x1ZGVzKHN0ciwgc2VhcmNoLCBzdGFydCkge1xcbiAgaWYgKHR5cGVvZiBzdGFydCAhPT0gJ251bWJlcicpIHtcXG4gICAgc3RhcnQgPSAwO1xcbiAgfVxcblxcbiAgaWYgKHN0YXJ0ICsgc2VhcmNoLmxlbmd0aCA+IHN0ci5sZW5ndGgpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIHN0ci5pbmRleE9mKHNlYXJjaCwgc3RhcnQpICE9PSAtMTtcXG4gIH1cXG59XFxuXFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9PUFRfVkFMVUUnLCBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcXG4gIHJldHVybiAnVGhlIHZhbHVlIFxcXCInICsgdmFsdWUgKyAnXFxcIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gXFxcIicgKyBuYW1lICsgJ1xcXCInO1xcbn0sIFR5cGVFcnJvcik7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9BUkdfVFlQRScsIGZ1bmN0aW9uIChuYW1lLCBleHBlY3RlZCwgYWN0dWFsKSB7XFxuICAvLyBkZXRlcm1pbmVyOiAnbXVzdCBiZScgb3IgJ211c3Qgbm90IGJlJ1xcbiAgdmFyIGRldGVybWluZXI7XFxuXFxuICBpZiAodHlwZW9mIGV4cGVjdGVkID09PSAnc3RyaW5nJyAmJiBzdGFydHNXaXRoKGV4cGVjdGVkLCAnbm90ICcpKSB7XFxuICAgIGRldGVybWluZXIgPSAnbXVzdCBub3QgYmUnO1xcbiAgICBleHBlY3RlZCA9IGV4cGVjdGVkLnJlcGxhY2UoL15ub3QgLywgJycpO1xcbiAgfSBlbHNlIHtcXG4gICAgZGV0ZXJtaW5lciA9ICdtdXN0IGJlJztcXG4gIH1cXG5cXG4gIHZhciBtc2c7XFxuXFxuICBpZiAoZW5kc1dpdGgobmFtZSwgJyBhcmd1bWVudCcpKSB7XFxuICAgIC8vIEZvciBjYXNlcyBsaWtlICdmaXJzdCBhcmd1bWVudCdcXG4gICAgbXNnID0gXFxcIlRoZSBcXFwiLmNvbmNhdChuYW1lLCBcXFwiIFxcXCIpLmNvbmNhdChkZXRlcm1pbmVyLCBcXFwiIFxcXCIpLmNvbmNhdChvbmVPZihleHBlY3RlZCwgJ3R5cGUnKSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgdHlwZSA9IGluY2x1ZGVzKG5hbWUsICcuJykgPyAncHJvcGVydHknIDogJ2FyZ3VtZW50JztcXG4gICAgbXNnID0gXFxcIlRoZSBcXFxcXFxcIlxcXCIuY29uY2F0KG5hbWUsIFxcXCJcXFxcXFxcIiBcXFwiKS5jb25jYXQodHlwZSwgXFxcIiBcXFwiKS5jb25jYXQoZGV0ZXJtaW5lciwgXFxcIiBcXFwiKS5jb25jYXQob25lT2YoZXhwZWN0ZWQsICd0eXBlJykpO1xcbiAgfVxcblxcbiAgbXNnICs9IFxcXCIuIFJlY2VpdmVkIHR5cGUgXFxcIi5jb25jYXQodHlwZW9mIGFjdHVhbCk7XFxuICByZXR1cm4gbXNnO1xcbn0sIFR5cGVFcnJvcik7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GJywgJ3N0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GJyk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCcsIGZ1bmN0aW9uIChuYW1lKSB7XFxuICByZXR1cm4gJ1RoZSAnICsgbmFtZSArICcgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCc7XFxufSk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRScsICdQcmVtYXR1cmUgY2xvc2UnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fREVTVFJPWUVEJywgZnVuY3Rpb24gKG5hbWUpIHtcXG4gIHJldHVybiAnQ2Fubm90IGNhbGwgJyArIG5hbWUgKyAnIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWQnO1xcbn0pO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX01VTFRJUExFX0NBTExCQUNLJywgJ0NhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lcycpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9DQU5OT1RfUElQRScsICdDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlJyk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCcsICd3cml0ZSBhZnRlciBlbmQnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fTlVMTF9WQUxVRVMnLCAnTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0nLCBUeXBlRXJyb3IpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1VOS05PV05fRU5DT0RJTkcnLCBmdW5jdGlvbiAoYXJnKSB7XFxuICByZXR1cm4gJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBhcmc7XFxufSwgVHlwZUVycm9yKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQnLCAnc3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQnKTtcXG5tb2R1bGUuZXhwb3J0cy5jb2RlcyA9IGNvZGVzO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5bGNuSnZjbk10WW5KdmQzTmxjaTVxY3o4MlptWTFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMQ3REUVVFclF5d3dSRUZCTUVRc01rTkJRVEpETEdsRFFVRnBRenM3UVVGRmNrdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlluSnZkM05sY21sbWVTMXphV2R1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdlpYSnliM0p6TFdKeWIzZHpaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNibVoxYm1OMGFXOXVJRjlwYm1obGNtbDBjMHh2YjNObEtITjFZa05zWVhOekxDQnpkWEJsY2tOc1lYTnpLU0I3SUhOMVlrTnNZWE56TG5CeWIzUnZkSGx3WlNBOUlFOWlhbVZqZEM1amNtVmhkR1VvYzNWd1pYSkRiR0Z6Y3k1d2NtOTBiM1I1Y0dVcE95QnpkV0pEYkdGemN5NXdjbTkwYjNSNWNHVXVZMjl1YzNSeWRXTjBiM0lnUFNCemRXSkRiR0Z6Y3pzZ2MzVmlRMnhoYzNNdVgxOXdjbTkwYjE5ZklEMGdjM1Z3WlhKRGJHRnpjenNnZlZ4dVhHNTJZWElnWTI5a1pYTWdQU0I3ZlR0Y2JseHVablZ1WTNScGIyNGdZM0psWVhSbFJYSnliM0pVZVhCbEtHTnZaR1VzSUcxbGMzTmhaMlVzSUVKaGMyVXBJSHRjYmlBZ2FXWWdLQ0ZDWVhObEtTQjdYRzRnSUNBZ1FtRnpaU0E5SUVWeWNtOXlPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnWjJWMFRXVnpjMkZuWlNoaGNtY3hMQ0JoY21jeUxDQmhjbWN6S1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdFpYTnpZV2RsSUQwOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHMWxjM05oWjJVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRaWE56WVdkbEtHRnlaekVzSUdGeVp6SXNJR0Z5WnpNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJPYjJSbFJYSnliM0lnUFZ4dUlDQXZLaU5mWDFCVlVrVmZYeW92WEc0Z0lHWjFibU4wYVc5dUlDaGZRbUZ6WlNrZ2UxeHVJQ0FnSUY5cGJtaGxjbWwwYzB4dmIzTmxLRTV2WkdWRmNuSnZjaXdnWDBKaGMyVXBPMXh1WEc0Z0lDQWdablZ1WTNScGIyNGdUbTlrWlVWeWNtOXlLR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmZRbUZ6WlM1allXeHNLSFJvYVhNc0lHZGxkRTFsYzNOaFoyVW9ZWEpuTVN3Z1lYSm5NaXdnWVhKbk15a3BJSHg4SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUU1dlpHVkZjbkp2Y2p0Y2JpQWdmU2hDWVhObEtUdGNibHh1SUNCT2IyUmxSWEp5YjNJdWNISnZkRzkwZVhCbExtNWhiV1VnUFNCQ1lYTmxMbTVoYldVN1hHNGdJRTV2WkdWRmNuSnZjaTV3Y205MGIzUjVjR1V1WTI5a1pTQTlJR052WkdVN1hHNGdJR052WkdWelcyTnZaR1ZkSUQwZ1RtOWtaVVZ5Y205eU8xeHVmU0F2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJtOWtaV3B6TDI1dlpHVXZZbXh2WWk5Mk1UQXVPQzR3TDJ4cFlpOXBiblJsY201aGJDOWxjbkp2Y25NdWFuTmNibHh1WEc1bWRXNWpkR2x2YmlCdmJtVlBaaWhsZUhCbFkzUmxaQ3dnZEdocGJtY3BJSHRjYmlBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1pYaHdaV04wWldRcEtTQjdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHVjRjR1ZqZEdWa0xteGxibWQwYUR0Y2JpQWdJQ0JsZUhCbFkzUmxaQ0E5SUdWNGNHVmpkR1ZrTG0xaGNDaG1kVzVqZEdsdmJpQW9hU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRk4wY21sdVp5aHBLVHRjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJR2xtSUNoc1pXNGdQaUF5S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWENKdmJtVWdiMllnWENJdVkyOXVZMkYwS0hSb2FXNW5MQ0JjSWlCY0lpa3VZMjl1WTJGMEtHVjRjR1ZqZEdWa0xuTnNhV05sS0RBc0lHeGxiaUF0SURFcExtcHZhVzRvSnl3Z0p5a3NJRndpTENCdmNpQmNJaWtnS3lCbGVIQmxZM1JsWkZ0c1pXNGdMU0F4WFR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQTlQVDBnTWlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aWIyNWxJRzltSUZ3aUxtTnZibU5oZENoMGFHbHVaeXdnWENJZ1hDSXBMbU52Ym1OaGRDaGxlSEJsWTNSbFpGc3dYU3dnWENJZ2IzSWdYQ0lwTG1OdmJtTmhkQ2hsZUhCbFkzUmxaRnN4WFNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmNJbTltSUZ3aUxtTnZibU5oZENoMGFHbHVaeXdnWENJZ1hDSXBMbU52Ym1OaGRDaGxlSEJsWTNSbFpGc3dYU2s3WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmNJbTltSUZ3aUxtTnZibU5oZENoMGFHbHVaeXdnWENJZ1hDSXBMbU52Ym1OaGRDaFRkSEpwYm1jb1pYaHdaV04wWldRcEtUdGNiaUFnZlZ4dWZTQXZMeUJvZEhSd2N6b3ZMMlJsZG1Wc2IzQmxjaTV0YjNwcGJHeGhMbTl5Wnk5bGJpMVZVeTlrYjJOekwxZGxZaTlLWVhaaFUyTnlhWEIwTDFKbFptVnlaVzVqWlM5SGJHOWlZV3hmVDJKcVpXTjBjeTlUZEhKcGJtY3ZjM1JoY25SelYybDBhRnh1WEc1Y2JtWjFibU4wYVc5dUlITjBZWEowYzFkcGRHZ29jM1J5TENCelpXRnlZMmdzSUhCdmN5a2dlMXh1SUNCeVpYUjFjbTRnYzNSeUxuTjFZbk4wY2lnaGNHOXpJSHg4SUhCdmN5QThJREFnUHlBd0lEb2dLM0J2Y3l3Z2MyVmhjbU5vTG14bGJtZDBhQ2tnUFQwOUlITmxZWEpqYUR0Y2JuMGdMeThnYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHRWVk12Wkc5amN5OVhaV0l2U21GMllWTmpjbWx3ZEM5U1pXWmxjbVZ1WTJVdlIyeHZZbUZzWDA5aWFtVmpkSE12VTNSeWFXNW5MMlZ1WkhOWGFYUm9YRzVjYmx4dVpuVnVZM1JwYjI0Z1pXNWtjMWRwZEdnb2MzUnlMQ0J6WldGeVkyZ3NJSFJvYVhOZmJHVnVLU0I3WEc0Z0lHbG1JQ2gwYUdselgyeGxiaUE5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhJSFJvYVhOZmJHVnVJRDRnYzNSeUxteGxibWQwYUNrZ2UxeHVJQ0FnSUhSb2FYTmZiR1Z1SUQwZ2MzUnlMbXhsYm1kMGFEdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnpkSEl1YzNWaWMzUnlhVzVuS0hSb2FYTmZiR1Z1SUMwZ2MyVmhjbU5vTG14bGJtZDBhQ3dnZEdocGMxOXNaVzRwSUQwOVBTQnpaV0Z5WTJnN1hHNTlJQzh2SUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBwaGRtRlRZM0pwY0hRdlVtVm1aWEpsYm1ObEwwZHNiMkpoYkY5UFltcGxZM1J6TDFOMGNtbHVaeTlwYm1Oc2RXUmxjMXh1WEc1Y2JtWjFibU4wYVc5dUlHbHVZMngxWkdWektITjBjaXdnYzJWaGNtTm9MQ0J6ZEdGeWRDa2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlITjBZWEowSUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lITjBZWEowSUQwZ01EdGNiaUFnZlZ4dVhHNGdJR2xtSUNoemRHRnlkQ0FySUhObFlYSmphQzVzWlc1bmRHZ2dQaUJ6ZEhJdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCemRISXVhVzVrWlhoUFppaHpaV0Z5WTJnc0lITjBZWEowS1NBaFBUMGdMVEU3WEc0Z0lIMWNibjFjYmx4dVkzSmxZWFJsUlhKeWIzSlVlWEJsS0NkRlVsSmZTVTVXUVV4SlJGOVBVRlJmVmtGTVZVVW5MQ0JtZFc1amRHbHZiaUFvYm1GdFpTd2dkbUZzZFdVcElIdGNiaUFnY21WMGRYSnVJQ2RVYUdVZ2RtRnNkV1VnWENJbklDc2dkbUZzZFdVZ0t5QW5YQ0lnYVhNZ2FXNTJZV3hwWkNCbWIzSWdiM0IwYVc5dUlGd2lKeUFySUc1aGJXVWdLeUFuWENJbk8xeHVmU3dnVkhsd1pVVnljbTl5S1R0Y2JtTnlaV0YwWlVWeWNtOXlWSGx3WlNnblJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVW5MQ0JtZFc1amRHbHZiaUFvYm1GdFpTd2daWGh3WldOMFpXUXNJR0ZqZEhWaGJDa2dlMXh1SUNBdkx5QmtaWFJsY20xcGJtVnlPaUFuYlhWemRDQmlaU2NnYjNJZ0oyMTFjM1FnYm05MElHSmxKMXh1SUNCMllYSWdaR1YwWlhKdGFXNWxjanRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR1Y0Y0dWamRHVmtJRDA5UFNBbmMzUnlhVzVuSnlBbUppQnpkR0Z5ZEhOWGFYUm9LR1Y0Y0dWamRHVmtMQ0FuYm05MElDY3BLU0I3WEc0Z0lDQWdaR1YwWlhKdGFXNWxjaUE5SUNkdGRYTjBJRzV2ZENCaVpTYzdYRzRnSUNBZ1pYaHdaV04wWldRZ1BTQmxlSEJsWTNSbFpDNXlaWEJzWVdObEtDOWVibTkwSUM4c0lDY25LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JrWlhSbGNtMXBibVZ5SUQwZ0oyMTFjM1FnWW1Vbk8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUcxelp6dGNibHh1SUNCcFppQW9aVzVrYzFkcGRHZ29ibUZ0WlN3Z0p5QmhjbWQxYldWdWRDY3BLU0I3WEc0Z0lDQWdMeThnUm05eUlHTmhjMlZ6SUd4cGEyVWdKMlpwY25OMElHRnlaM1Z0Wlc1MEoxeHVJQ0FnSUcxelp5QTlJRndpVkdobElGd2lMbU52Ym1OaGRDaHVZVzFsTENCY0lpQmNJaWt1WTI5dVkyRjBLR1JsZEdWeWJXbHVaWElzSUZ3aUlGd2lLUzVqYjI1allYUW9iMjVsVDJZb1pYaHdaV04wWldRc0lDZDBlWEJsSnlrcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhjaUIwZVhCbElEMGdhVzVqYkhWa1pYTW9ibUZ0WlN3Z0p5NG5LU0EvSUNkd2NtOXdaWEowZVNjZ09pQW5ZWEpuZFcxbGJuUW5PMXh1SUNBZ0lHMXpaeUE5SUZ3aVZHaGxJRnhjWENKY0lpNWpiMjVqWVhRb2JtRnRaU3dnWENKY1hGd2lJRndpS1M1amIyNWpZWFFvZEhsd1pTd2dYQ0lnWENJcExtTnZibU5oZENoa1pYUmxjbTFwYm1WeUxDQmNJaUJjSWlrdVkyOXVZMkYwS0c5dVpVOW1LR1Y0Y0dWamRHVmtMQ0FuZEhsd1pTY3BLVHRjYmlBZ2ZWeHVYRzRnSUcxelp5QXJQU0JjSWk0Z1VtVmpaV2wyWldRZ2RIbHdaU0JjSWk1amIyNWpZWFFvZEhsd1pXOW1JR0ZqZEhWaGJDazdYRzRnSUhKbGRIVnliaUJ0YzJjN1hHNTlMQ0JVZVhCbFJYSnliM0lwTzF4dVkzSmxZWFJsUlhKeWIzSlVlWEJsS0NkRlVsSmZVMVJTUlVGTlgxQlZVMGhmUVVaVVJWSmZSVTlHSnl3Z0ozTjBjbVZoYlM1d2RYTm9LQ2tnWVdaMFpYSWdSVTlHSnlrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUp5d2dablZ1WTNScGIyNGdLRzVoYldVcElIdGNiaUFnY21WMGRYSnVJQ2RVYUdVZ0p5QXJJRzVoYldVZ0t5QW5JRzFsZEdodlpDQnBjeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUW5PMXh1ZlNrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlUVkZKRlFVMWZVRkpGVFVGVVZWSkZYME5NVDFORkp5d2dKMUJ5WlcxaGRIVnlaU0JqYkc5elpTY3BPMXh1WTNKbFlYUmxSWEp5YjNKVWVYQmxLQ2RGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNjc0lHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJSEpsZEhWeWJpQW5RMkZ1Ym05MElHTmhiR3dnSnlBcklHNWhiV1VnS3lBbklHRm1kR1Z5SUdFZ2MzUnlaV0Z0SUhkaGN5QmtaWE4wY205NVpXUW5PMXh1ZlNrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeWNzSUNkRFlXeHNZbUZqYXlCallXeHNaV1FnYlhWc2RHbHdiR1VnZEdsdFpYTW5LVHRjYm1OeVpXRjBaVVZ5Y205eVZIbHdaU2duUlZKU1gxTlVVa1ZCVFY5RFFVNU9UMVJmVUVsUVJTY3NJQ2REWVc1dWIzUWdjR2x3WlN3Z2JtOTBJSEpsWVdSaFlteGxKeWs3WEc1amNtVmhkR1ZGY25KdmNsUjVjR1VvSjBWU1VsOVRWRkpGUVUxZlYxSkpWRVZmUVVaVVJWSmZSVTVFSnl3Z0ozZHlhWFJsSUdGbWRHVnlJR1Z1WkNjcE8xeHVZM0psWVhSbFJYSnliM0pVZVhCbEtDZEZVbEpmVTFSU1JVRk5YMDVWVEV4ZlZrRk1WVVZUSnl3Z0owMWhlU0J1YjNRZ2QzSnBkR1VnYm5Wc2JDQjJZV3gxWlhNZ2RHOGdjM1J5WldGdEp5d2dWSGx3WlVWeWNtOXlLVHRjYm1OeVpXRjBaVVZ5Y205eVZIbHdaU2duUlZKU1gxVk9TMDVQVjA1ZlJVNURUMFJKVGtjbkxDQm1kVzVqZEdsdmJpQW9ZWEpuS1NCN1hHNGdJSEpsZEhWeWJpQW5WVzVyYm05M2JpQmxibU52WkdsdVp6b2dKeUFySUdGeVp6dGNibjBzSUZSNWNHVkZjbkp2Y2lrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlUVkZKRlFVMWZWVTVUU0VsR1ZGOUJSbFJGVWw5RlRrUmZSVlpGVGxRbkxDQW5jM1J5WldGdExuVnVjMmhwWm5Rb0tTQmhablJsY2lCbGJtUWdaWFpsYm5RbktUdGNibTF2WkhWc1pTNWxlSEJ2Y25SekxtTnZaR1Z6SUQwZ1kyOWtaWE03WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7Ly8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuLy8gYSBkdXBsZXggc3RyZWFtIGlzIGp1c3QgYSBzdHJlYW0gdGhhdCBpcyBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZS5cXG4vLyBTaW5jZSBKUyBkb2Vzbid0IGhhdmUgbXVsdGlwbGUgcHJvdG90eXBhbCBpbmhlcml0YW5jZSwgdGhpcyBjbGFzc1xcbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cXG4vLyBXcml0YWJsZS5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBvYmplY3RLZXlzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24gKG9iaikge1xcbiAgdmFyIGtleXMgPSBbXTtcXG5cXG4gIGZvciAodmFyIGtleSBpbiBvYmopIHtcXG4gICAga2V5cy5wdXNoKGtleSk7XFxuICB9XFxuXFxuICByZXR1cm4ga2V5cztcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblxcbm1vZHVsZS5leHBvcnRzID0gRHVwbGV4O1xcblxcbnZhciBSZWFkYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9yZWFkYWJsZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcXFwiKTtcXG5cXG52YXIgV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fd3JpdGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXFxcIik7XFxuXFxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKShEdXBsZXgsIFJlYWRhYmxlKTtcXG5cXG57XFxuICAvLyBBbGxvdyB0aGUga2V5cyBhcnJheSB0byBiZSBHQydlZC5cXG4gIHZhciBrZXlzID0gb2JqZWN0S2V5cyhXcml0YWJsZS5wcm90b3R5cGUpO1xcblxcbiAgZm9yICh2YXIgdiA9IDA7IHYgPCBrZXlzLmxlbmd0aDsgdisrKSB7XFxuICAgIHZhciBtZXRob2QgPSBrZXlzW3ZdO1xcbiAgICBpZiAoIUR1cGxleC5wcm90b3R5cGVbbWV0aG9kXSkgRHVwbGV4LnByb3RvdHlwZVttZXRob2RdID0gV3JpdGFibGUucHJvdG90eXBlW21ldGhvZF07XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIER1cGxleChvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgRHVwbGV4KSkgcmV0dXJuIG5ldyBEdXBsZXgob3B0aW9ucyk7XFxuICBSZWFkYWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbiAgV3JpdGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gIHRoaXMuYWxsb3dIYWxmT3BlbiA9IHRydWU7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAob3B0aW9ucy5yZWFkYWJsZSA9PT0gZmFsc2UpIHRoaXMucmVhZGFibGUgPSBmYWxzZTtcXG4gICAgaWYgKG9wdGlvbnMud3JpdGFibGUgPT09IGZhbHNlKSB0aGlzLndyaXRhYmxlID0gZmFsc2U7XFxuXFxuICAgIGlmIChvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB7XFxuICAgICAgdGhpcy5hbGxvd0hhbGZPcGVuID0gZmFsc2U7XFxuICAgICAgdGhpcy5vbmNlKCdlbmQnLCBvbmVuZCk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XFxuICB9XFxufSk7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUJ1ZmZlcicsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKTtcXG4gIH1cXG59KTtcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ3dyaXRhYmxlTGVuZ3RoJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGg7XFxuICB9XFxufSk7IC8vIHRoZSBuby1oYWxmLW9wZW4gZW5mb3JjZXJcXG5cXG5mdW5jdGlvbiBvbmVuZCgpIHtcXG4gIC8vIElmIHRoZSB3cml0YWJsZSBzaWRlIGVuZGVkLCB0aGVuIHdlJ3JlIG9rLlxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQpIHJldHVybjsgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxcbiAgLy8gQnV0IGFsbG93IG1vcmUgd3JpdGVzIHRvIGhhcHBlbiBpbiB0aGlzIHRpY2suXFxuXFxuICBwcm9jZXNzLm5leHRUaWNrKG9uRW5kTlQsIHRoaXMpO1xcbn1cXG5cXG5mdW5jdGlvbiBvbkVuZE5UKHNlbGYpIHtcXG4gIHNlbGYuZW5kKCk7XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XFxuICB9LFxcbiAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWUpIHtcXG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXFxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjlrZFhCc1pYZ3Vhbk0vTnpZNE55SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVR0QlFVTmlPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMQ3RIUVVGdlFqczdRVUZGTTBNc1pVRkJaU3h0UWtGQlR5eERRVUZETEN0SFFVRnZRanM3UVVGRk0wTXNiVUpCUVU4c1EwRkJReXcyUkVGQlZUczdRVUZGYkVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJReXhGUVVGRk96dEJRVVZJTzBGQlEwRTdRVUZEUVN4M1EwRkJkME03UVVGRGVFTTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5a2RYQnNaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JpOHZJR0VnWkhWd2JHVjRJSE4wY21WaGJTQnBjeUJxZFhOMElHRWdjM1J5WldGdElIUm9ZWFFnYVhNZ1ltOTBhQ0J5WldGa1lXSnNaU0JoYm1RZ2QzSnBkR0ZpYkdVdVhHNHZMeUJUYVc1alpTQktVeUJrYjJWemJpZDBJR2hoZG1VZ2JYVnNkR2x3YkdVZ2NISnZkRzkwZVhCaGJDQnBibWhsY21sMFlXNWpaU3dnZEdocGN5QmpiR0Z6YzF4dUx5OGdjSEp2ZEc5MGVYQmhiR3g1SUdsdWFHVnlhWFJ6SUdaeWIyMGdVbVZoWkdGaWJHVXNJR0Z1WkNCMGFHVnVJSEJoY21GemFYUnBZMkZzYkhrZ1puSnZiVnh1THk4Z1YzSnBkR0ZpYkdVdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnYjJKcVpXTjBTMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpJSHg4SUdaMWJtTjBhVzl1SUNodlltb3BJSHRjYmlBZ2RtRnlJR3RsZVhNZ1BTQmJYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnJaWGtnYVc0Z2IySnFLU0I3WEc0Z0lDQWdhMlY1Y3k1d2RYTm9LR3RsZVNrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2EyVjVjenRjYm4wN1hHNHZLand2Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSMWNHeGxlRHRjYmx4dWRtRnlJRkpsWVdSaFlteGxJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDNKbFlXUmhZbXhsSnlrN1hHNWNiblpoY2lCWGNtbDBZV0pzWlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21WaGJWOTNjbWwwWVdKc1pTY3BPMXh1WEc1eVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcEtFUjFjR3hsZUN3Z1VtVmhaR0ZpYkdVcE8xeHVYRzU3WEc0Z0lDOHZJRUZzYkc5M0lIUm9aU0JyWlhseklHRnljbUY1SUhSdklHSmxJRWRESjJWa0xseHVJQ0IyWVhJZ2EyVjVjeUE5SUc5aWFtVmpkRXRsZVhNb1YzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbEtUdGNibHh1SUNCbWIzSWdLSFpoY2lCMklEMGdNRHNnZGlBOElHdGxlWE11YkdWdVozUm9PeUIyS3lzcElIdGNiaUFnSUNCMllYSWdiV1YwYUc5a0lEMGdhMlY1YzF0MlhUdGNiaUFnSUNCcFppQW9JVVIxY0d4bGVDNXdjbTkwYjNSNWNHVmJiV1YwYUc5a1hTa2dSSFZ3YkdWNExuQnliM1J2ZEhsd1pWdHRaWFJvYjJSZElEMGdWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxXMjFsZEdodlpGMDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnUkhWd2JHVjRLRzl3ZEdsdmJuTXBJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVIxY0d4bGVDa3BJSEpsZEhWeWJpQnVaWGNnUkhWd2JHVjRLRzl3ZEdsdmJuTXBPMXh1SUNCU1pXRmtZV0pzWlM1allXeHNLSFJvYVhNc0lHOXdkR2x2Ym5NcE8xeHVJQ0JYY21sMFlXSnNaUzVqWVd4c0tIUm9hWE1zSUc5d2RHbHZibk1wTzF4dUlDQjBhR2x6TG1Gc2JHOTNTR0ZzWms5d1pXNGdQU0IwY25WbE8xeHVYRzRnSUdsbUlDaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVjbVZoWkdGaWJHVWdQVDA5SUdaaGJITmxLU0IwYUdsekxuSmxZV1JoWW14bElEMGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tHOXdkR2x2Ym5NdWQzSnBkR0ZpYkdVZ1BUMDlJR1poYkhObEtTQjBhR2x6TG5keWFYUmhZbXhsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3k1aGJHeHZkMGhoYkdaUGNHVnVJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWhiR3h2ZDBoaGJHWlBjR1Z1SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IwYUdsekxtOXVZMlVvSjJWdVpDY3NJRzl1Wlc1a0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNkM2NtbDBZV0pzWlVocFoyaFhZWFJsY2sxaGNtc25MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1ocFoyaFhZWFJsY2sxaGNtczdYRzRnSUgxY2JuMHBPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtFUjFjR3hsZUM1d2NtOTBiM1I1Y0dVc0lDZDNjbWwwWVdKc1pVSjFabVpsY2ljc0lIdGNiaUFnTHk4Z2JXRnJhVzVuSUdsMElHVjRjR3hwWTJsMElIUm9hWE1nY0hKdmNHVnlkSGtnYVhNZ2JtOTBJR1Z1ZFcxbGNtRmliR1ZjYmlBZ0x5OGdZbVZqWVhWelpTQnZkR2hsY25kcGMyVWdjMjl0WlNCd2NtOTBiM1I1Y0dVZ2JXRnVhWEIxYkdGMGFXOXVJR2x1WEc0Z0lDOHZJSFZ6WlhKc1lXNWtJSGRwYkd3Z1ptRnBiRnh1SUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdKaVlnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1blpYUkNkV1ptWlhJb0tUdGNiaUFnZlZ4dWZTazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1JIVndiR1Y0TG5CeWIzUnZkSGx3WlN3Z0ozZHlhWFJoWW14bFRHVnVaM1JvSnl3Z2UxeHVJQ0F2THlCdFlXdHBibWNnYVhRZ1pYaHdiR2xqYVhRZ2RHaHBjeUJ3Y205d1pYSjBlU0JwY3lCdWIzUWdaVzUxYldWeVlXSnNaVnh1SUNBdkx5QmlaV05oZFhObElHOTBhR1Z5ZDJselpTQnpiMjFsSUhCeWIzUnZkSGx3WlNCdFlXNXBjSFZzWVhScGIyNGdhVzVjYmlBZ0x5OGdkWE5sY214aGJtUWdkMmxzYkNCbVlXbHNYRzRnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUdkbGRDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNXNaVzVuZEdnN1hHNGdJSDFjYm4wcE95QXZMeUIwYUdVZ2JtOHRhR0ZzWmkxdmNHVnVJR1Z1Wm05eVkyVnlYRzVjYm1aMWJtTjBhVzl1SUc5dVpXNWtLQ2tnZTF4dUlDQXZMeUJKWmlCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlNCbGJtUmxaQ3dnZEdobGJpQjNaU2R5WlNCdmF5NWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRcElISmxkSFZ5YmpzZ0x5OGdibThnYlc5eVpTQmtZWFJoSUdOaGJpQmlaU0IzY21sMGRHVnVMbHh1SUNBdkx5QkNkWFFnWVd4c2IzY2diVzl5WlNCM2NtbDBaWE1nZEc4Z2FHRndjR1Z1SUdsdUlIUm9hWE1nZEdsamF5NWNibHh1SUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0c5dVJXNWtUbFFzSUhSb2FYTXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZia1Z1WkU1VUtITmxiR1lwSUh0Y2JpQWdjMlZzWmk1bGJtUW9LVHRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNka1pYTjBjbTk1WldRbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dUlDQjlMRnh1SUNCelpYUTZJR1oxYm1OMGFXOXVJSE5sZENoMllXeDFaU2tnZTF4dUlDQWdJQzh2SUhkbElHbG5ibTl5WlNCMGFHVWdkbUZzZFdVZ2FXWWdkR2hsSUhOMGNtVmhiVnh1SUNBZ0lDOHZJR2hoY3lCdWIzUWdZbVZsYmlCcGJtbDBhV0ZzYVhwbFpDQjVaWFJjYmlBZ0lDQnBaaUFvZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnWW1GamEzZGhjbVFnWTI5dGNHRjBhV0pwYkdsMGVTd2dkR2hsSUhWelpYSWdhWE1nWlhod2JHbGphWFJzZVZ4dUlDQWdJQzh2SUcxaGJtRm5hVzVuSUdSbGMzUnliM2xsWkZ4dVhHNWNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFpoYkhWbE8xeHVJQ0FnSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cXG4vLyBiYXNpY2FsbHkganVzdCB0aGUgbW9zdCBtaW5pbWFsIHNvcnQgb2YgVHJhbnNmb3JtIHN0cmVhbS5cXG4vLyBFdmVyeSB3cml0dGVuIGNodW5rIGdldHMgb3V0cHV0IGFzLWlzLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gUGFzc1Rocm91Z2g7XFxuXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV90cmFuc2Zvcm0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XFxuXFxuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbn1cXG5cXG5QYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihudWxsLCBjaHVuayk7XFxufTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl3WVhOemRHaHliM1ZuYUM1cWN6OHhZbU5oSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanM3UVVGRlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHBTRUZCY1VJN08wRkJSVGRETEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3TzBGQlJXeENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5d1lYTnpkR2h5YjNWbmFDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJRU52Y0hseWFXZG9kQ0JLYjNsbGJuUXNJRWx1WXk0Z1lXNWtJRzkwYUdWeUlFNXZaR1VnWTI5dWRISnBZblYwYjNKekxseHVMeTljYmk4dklGQmxjbTFwYzNOcGIyNGdhWE1nYUdWeVpXSjVJR2R5WVc1MFpXUXNJR1p5WldVZ2IyWWdZMmhoY21kbExDQjBieUJoYm5rZ2NHVnljMjl1SUc5aWRHRnBibWx1WnlCaFhHNHZMeUJqYjNCNUlHOW1JSFJvYVhNZ2MyOW1kSGRoY21VZ1lXNWtJR0Z6YzI5amFXRjBaV1FnWkc5amRXMWxiblJoZEdsdmJpQm1hV3hsY3lBb2RHaGxYRzR2THlCY0lsTnZablIzWVhKbFhDSXBMQ0IwYnlCa1pXRnNJR2x1SUhSb1pTQlRiMlowZDJGeVpTQjNhWFJvYjNWMElISmxjM1J5YVdOMGFXOXVMQ0JwYm1Oc2RXUnBibWRjYmk4dklIZHBkR2h2ZFhRZ2JHbHRhWFJoZEdsdmJpQjBhR1VnY21sbmFIUnpJSFJ2SUhWelpTd2dZMjl3ZVN3Z2JXOWthV1o1TENCdFpYSm5aU3dnY0hWaWJHbHphQ3hjYmk4dklHUnBjM1J5YVdKMWRHVXNJSE4xWW14cFkyVnVjMlVzSUdGdVpDOXZjaUJ6Wld4c0lHTnZjR2xsY3lCdlppQjBhR1VnVTI5bWRIZGhjbVVzSUdGdVpDQjBieUJ3WlhKdGFYUmNiaTh2SUhCbGNuTnZibk1nZEc4Z2QyaHZiU0IwYUdVZ1UyOW1kSGRoY21VZ2FYTWdablZ5Ym1semFHVmtJSFJ2SUdSdklITnZMQ0J6ZFdKcVpXTjBJSFJ2SUhSb1pWeHVMeThnWm05c2JHOTNhVzVuSUdOdmJtUnBkR2x2Ym5NNlhHNHZMMXh1THk4Z1ZHaGxJR0ZpYjNabElHTnZjSGx5YVdkb2RDQnViM1JwWTJVZ1lXNWtJSFJvYVhNZ2NHVnliV2x6YzJsdmJpQnViM1JwWTJVZ2MyaGhiR3dnWW1VZ2FXNWpiSFZrWldSY2JpOHZJR2x1SUdGc2JDQmpiM0JwWlhNZ2IzSWdjM1ZpYzNSaGJuUnBZV3dnY0c5eWRHbHZibk1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMbHh1THk5Y2JpOHZJRlJJUlNCVFQwWlVWMEZTUlNCSlV5QlFVazlXU1VSRlJDQmNJa0ZUSUVsVFhDSXNJRmRKVkVoUFZWUWdWMEZTVWtGT1ZGa2dUMFlnUVU1WklFdEpUa1FzSUVWWVVGSkZVMU5jYmk4dklFOVNJRWxOVUV4SlJVUXNJRWxPUTB4VlJFbE9SeUJDVlZRZ1RrOVVJRXhKVFVsVVJVUWdWRThnVkVoRklGZEJVbEpCVGxSSlJWTWdUMFpjYmk4dklFMUZVa05JUVU1VVFVSkpURWxVV1N3Z1JrbFVUa1ZUVXlCR1QxSWdRU0JRUVZKVVNVTlZURUZTSUZCVlVsQlBVMFVnUVU1RUlFNVBUa2xPUmxKSlRrZEZUVVZPVkM0Z1NVNWNiaTh2SUU1UElFVldSVTVVSUZOSVFVeE1JRlJJUlNCQlZWUklUMUpUSUU5U0lFTlBVRmxTU1VkSVZDQklUMHhFUlZKVElFSkZJRXhKUVVKTVJTQkdUMUlnUVU1WklFTk1RVWxOTEZ4dUx5OGdSRUZOUVVkRlV5QlBVaUJQVkVoRlVpQk1TVUZDU1V4SlZGa3NJRmRJUlZSSVJWSWdTVTRnUVU0Z1FVTlVTVTlPSUU5R0lFTlBUbFJTUVVOVUxDQlVUMUpVSUU5U1hHNHZMeUJQVkVoRlVsZEpVMFVzSUVGU1NWTkpUa2NnUmxKUFRTd2dUMVZVSUU5R0lFOVNJRWxPSUVOUFRrNUZRMVJKVDA0Z1YwbFVTQ0JVU0VVZ1UwOUdWRmRCVWtVZ1QxSWdWRWhGWEc0dkx5QlZVMFVnVDFJZ1QxUklSVklnUkVWQlRFbE9SMU1nU1U0Z1ZFaEZJRk5QUmxSWFFWSkZMbHh1THk4Z1lTQndZWE56ZEdoeWIzVm5hQ0J6ZEhKbFlXMHVYRzR2THlCaVlYTnBZMkZzYkhrZ2FuVnpkQ0IwYUdVZ2JXOXpkQ0J0YVc1cGJXRnNJSE52Y25RZ2IyWWdWSEpoYm5ObWIzSnRJSE4wY21WaGJTNWNiaTh2SUVWMlpYSjVJSGR5YVhSMFpXNGdZMmgxYm1zZ1oyVjBjeUJ2ZFhSd2RYUWdZWE10YVhNdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1VHRnpjMVJvY205MVoyZzdYRzVjYm5aaGNpQlVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmZEhKaGJuTm1iM0p0SnlrN1hHNWNibkpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWtvVUdGemMxUm9jbTkxWjJnc0lGUnlZVzV6Wm05eWJTazdYRzVjYm1aMWJtTjBhVzl1SUZCaGMzTlVhSEp2ZFdkb0tHOXdkR2x2Ym5NcElIdGNiaUFnYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlGQmhjM05VYUhKdmRXZG9LU2tnY21WMGRYSnVJRzVsZHlCUVlYTnpWR2h5YjNWbmFDaHZjSFJwYjI1ektUdGNiaUFnVkhKaGJuTm1iM0p0TG1OaGJHd29kR2hwY3l3Z2IzQjBhVzl1Y3lrN1hHNTlYRzVjYmxCaGMzTlVhSEp2ZFdkb0xuQnliM1J2ZEhsd1pTNWZkSEpoYm5ObWIzSnRJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnWTJJb2JuVnNiQ3dnWTJoMWJtc3BPMXh1ZlRzaVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gUmVhZGFibGU7XFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgRHVwbGV4O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblJlYWRhYmxlLlJlYWRhYmxlU3RhdGUgPSBSZWFkYWJsZVN0YXRlO1xcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIEVFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZlbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxcIikuRXZlbnRFbWl0dGVyO1xcblxcbnZhciBFRWxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiBFRWxpc3RlbmVyQ291bnQoZW1pdHRlciwgdHlwZSkge1xcbiAgcmV0dXJuIGVtaXR0ZXIubGlzdGVuZXJzKHR5cGUpLmxlbmd0aDtcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcblxcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XFxuXFxuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcXG59XFxuXFxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcXG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xcbn1cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcblxcbnZhciBkZWJ1Z1V0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB1dGlsICovIDcpO1xcblxcbnZhciBkZWJ1ZztcXG5cXG5pZiAoZGVidWdVdGlsICYmIGRlYnVnVXRpbC5kZWJ1Z2xvZykge1xcbiAgZGVidWcgPSBkZWJ1Z1V0aWwuZGVidWdsb2coJ3N0cmVhbScpO1xcbn0gZWxzZSB7XFxuICBkZWJ1ZyA9IGZ1bmN0aW9uIGRlYnVnKCkge307XFxufVxcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblxcbnZhciBCdWZmZXJMaXN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qc1xcXCIpO1xcblxcbnZhciBkZXN0cm95SW1wbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95ICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXFxcIik7XFxuXFxudmFyIF9yZXF1aXJlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZS5qc1xcXCIpLFxcbiAgICBnZXRIaWdoV2F0ZXJNYXJrID0gX3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyaztcXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9JTlZBTElEX0FSR19UWVBFID0gX3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsXFxuICAgIEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDsgLy8gTGF6eSBsb2FkZWQgdG8gaW1wcm92ZSB0aGUgc3RhcnR1cCBwZXJmb3JtYW5jZS5cXG5cXG5cXG52YXIgU3RyaW5nRGVjb2RlcjtcXG52YXIgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xcbnZhciBmcm9tO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoUmVhZGFibGUsIFN0cmVhbSk7XFxuXFxudmFyIGVycm9yT3JEZXN0cm95ID0gZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3k7XFxudmFyIGtQcm94eUV2ZW50cyA9IFsnZXJyb3InLCAnY2xvc2UnLCAnZGVzdHJveScsICdwYXVzZScsICdyZXN1bWUnXTtcXG5cXG5mdW5jdGlvbiBwcmVwZW5kTGlzdGVuZXIoZW1pdHRlciwgZXZlbnQsIGZuKSB7XFxuICAvLyBTYWRseSB0aGlzIGlzIG5vdCBjYWNoZWFibGUgYXMgc29tZSBsaWJyYXJpZXMgYnVuZGxlIHRoZWlyIG93blxcbiAgLy8gZXZlbnQgZW1pdHRlciBpbXBsZW1lbnRhdGlvbiB3aXRoIHRoZW0uXFxuICBpZiAodHlwZW9mIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyID09PSAnZnVuY3Rpb24nKSByZXR1cm4gZW1pdHRlci5wcmVwZW5kTGlzdGVuZXIoZXZlbnQsIGZuKTsgLy8gVGhpcyBpcyBhIGhhY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIGFueVxcbiAgLy8gdXNlcmxhbmQgb25lcy4gIE5FVkVSIERPIFRISVMuIFRoaXMgaXMgaGVyZSBvbmx5IGJlY2F1c2UgdGhpcyBjb2RlIG5lZWRzXFxuICAvLyB0byBjb250aW51ZSB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgTm9kZS5qcyB0aGF0IGRvIG5vdCBpbmNsdWRlXFxuICAvLyB0aGUgcHJlcGVuZExpc3RlbmVyKCkgbWV0aG9kLiBUaGUgZ29hbCBpcyB0byBldmVudHVhbGx5IHJlbW92ZSB0aGlzIGhhY2suXFxuXFxuICBpZiAoIWVtaXR0ZXIuX2V2ZW50cyB8fCAhZW1pdHRlci5fZXZlbnRzW2V2ZW50XSkgZW1pdHRlci5vbihldmVudCwgZm4pO2Vsc2UgaWYgKEFycmF5LmlzQXJyYXkoZW1pdHRlci5fZXZlbnRzW2V2ZW50XSkpIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0udW5zaGlmdChmbik7ZWxzZSBlbWl0dGVyLl9ldmVudHNbZXZlbnRdID0gW2ZuLCBlbWl0dGVyLl9ldmVudHNbZXZlbnRdXTtcXG59XFxuXFxuZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXFxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cXG5cXG4gIGlmICh0eXBlb2YgaXNEdXBsZXggIT09ICdib29sZWFuJykgaXNEdXBsZXggPSBzdHJlYW0gaW5zdGFuY2VvZiBEdXBsZXg7IC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXFxuICAvLyBtYWtlIGFsbCB0aGUgYnVmZmVyIG1lcmdpbmcgYW5kIGxlbmd0aCBjaGVja3MgZ28gYXdheVxcblxcbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XFxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlOyAvLyB0aGUgcG9pbnQgYXQgd2hpY2ggaXQgc3RvcHMgY2FsbGluZyBfcmVhZCgpIHRvIGZpbGwgdGhlIGJ1ZmZlclxcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyBcXFwiZG9uJ3QgY2FsbCBfcmVhZCBwcmVlbXB0aXZlbHkgZXZlclxcXCJcXG5cXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IGdldEhpZ2hXYXRlck1hcmsodGhpcywgb3B0aW9ucywgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIGlzRHVwbGV4KTsgLy8gQSBsaW5rZWQgbGlzdCBpcyB1c2VkIHRvIHN0b3JlIGRhdGEgY2h1bmtzIGluc3RlYWQgb2YgYW4gYXJyYXkgYmVjYXVzZSB0aGVcXG4gIC8vIGxpbmtlZCBsaXN0IGNhbiByZW1vdmUgZWxlbWVudHMgZnJvbSB0aGUgYmVnaW5uaW5nIGZhc3RlciB0aGFuXFxuICAvLyBhcnJheS5zaGlmdCgpXFxuXFxuICB0aGlzLmJ1ZmZlciA9IG5ldyBCdWZmZXJMaXN0KCk7XFxuICB0aGlzLmxlbmd0aCA9IDA7XFxuICB0aGlzLnBpcGVzID0gbnVsbDtcXG4gIHRoaXMucGlwZXNDb3VudCA9IDA7XFxuICB0aGlzLmZsb3dpbmcgPSBudWxsO1xcbiAgdGhpcy5lbmRlZCA9IGZhbHNlO1xcbiAgdGhpcy5lbmRFbWl0dGVkID0gZmFsc2U7XFxuICB0aGlzLnJlYWRpbmcgPSBmYWxzZTsgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxcbiAgLy8gaW1tZWRpYXRlbHksIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2VcXG4gIC8vIGFueSBhY3Rpb25zIHRoYXQgc2hvdWxkbid0IGhhcHBlbiB1bnRpbCBcXFwibGF0ZXJcXFwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xcbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHJlYWQgY2FsbC5cXG5cXG4gIHRoaXMuc3luYyA9IHRydWU7IC8vIHdoZW5ldmVyIHdlIHJldHVybiBudWxsLCB0aGVuIHdlIHNldCBhIGZsYWcgdG8gc2F5XFxuICAvLyB0aGF0IHdlJ3JlIGF3YWl0aW5nIGEgJ3JlYWRhYmxlJyBldmVudCBlbWlzc2lvbi5cXG5cXG4gIHRoaXMubmVlZFJlYWRhYmxlID0gZmFsc2U7XFxuICB0aGlzLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgdGhpcy5yZWFkYWJsZUxpc3RlbmluZyA9IGZhbHNlO1xcbiAgdGhpcy5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcXG4gIHRoaXMucGF1c2VkID0gdHJ1ZTsgLy8gU2hvdWxkIGNsb3NlIGJlIGVtaXR0ZWQgb24gZGVzdHJveS4gRGVmYXVsdHMgdG8gdHJ1ZS5cXG5cXG4gIHRoaXMuZW1pdENsb3NlID0gb3B0aW9ucy5lbWl0Q2xvc2UgIT09IGZhbHNlOyAvLyBTaG91bGQgLmRlc3Ryb3koKSBiZSBjYWxsZWQgYWZ0ZXIgJ2VuZCcgKGFuZCBwb3RlbnRpYWxseSAnZmluaXNoJylcXG5cXG4gIHRoaXMuYXV0b0Rlc3Ryb3kgPSAhIW9wdGlvbnMuYXV0b0Rlc3Ryb3k7IC8vIGhhcyBpdCBiZWVuIGRlc3Ryb3llZFxcblxcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTsgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxcbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxcblxcbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7IC8vIHRoZSBudW1iZXIgb2Ygd3JpdGVycyB0aGF0IGFyZSBhd2FpdGluZyBhIGRyYWluIGV2ZW50IGluIC5waXBlKClzXFxuXFxuICB0aGlzLmF3YWl0RHJhaW4gPSAwOyAvLyBpZiB0cnVlLCBhIG1heWJlUmVhZE1vcmUgaGFzIGJlZW4gc2NoZWR1bGVkXFxuXFxuICB0aGlzLnJlYWRpbmdNb3JlID0gZmFsc2U7XFxuICB0aGlzLmRlY29kZXIgPSBudWxsO1xcbiAgdGhpcy5lbmNvZGluZyA9IG51bGw7XFxuXFxuICBpZiAob3B0aW9ucy5lbmNvZGluZykge1xcbiAgICBpZiAoIVN0cmluZ0RlY29kZXIpIFN0cmluZ0RlY29kZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzdHJpbmdfZGVjb2Rlci8gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1xcXCIpLlN0cmluZ0RlY29kZXI7XFxuICAgIHRoaXMuZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKG9wdGlvbnMuZW5jb2RpbmcpO1xcbiAgICB0aGlzLmVuY29kaW5nID0gb3B0aW9ucy5lbmNvZGluZztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gUmVhZGFibGUob3B0aW9ucykge1xcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSkgcmV0dXJuIG5ldyBSZWFkYWJsZShvcHRpb25zKTsgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxcbiAgLy8gdGhlIFJlYWRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XFxuXFxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZSA9IG5ldyBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTsgLy8gbGVnYWN5XFxuXFxuICB0aGlzLnJlYWRhYmxlID0gdHJ1ZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5yZWFkID09PSAnZnVuY3Rpb24nKSB0aGlzLl9yZWFkID0gb3B0aW9ucy5yZWFkO1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZGVzdHJveSA9IG9wdGlvbnMuZGVzdHJveTtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZDtcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxcbiAgICBpZiAoIXRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XFxuUmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcXG4gIGNiKGVycik7XFxufTsgLy8gTWFudWFsbHkgc2hvdmUgc29tZXRoaW5nIGludG8gdGhlIHJlYWQoKSBidWZmZXIuXFxuLy8gVGhpcyByZXR1cm5zIHRydWUgaWYgdGhlIGhpZ2hXYXRlck1hcmsgaGFzIG5vdCBiZWVuIGhpdCB5ZXQsXFxuLy8gc2ltaWxhciB0byBob3cgV3JpdGFibGUud3JpdGUoKSByZXR1cm5zIHRydWUgaWYgeW91IHNob3VsZFxcbi8vIHdyaXRlKCkgc29tZSBtb3JlLlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciBza2lwQ2h1bmtDaGVjaztcXG5cXG4gIGlmICghc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBpZiAodHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xcbiAgICAgIGVuY29kaW5nID0gZW5jb2RpbmcgfHwgc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xcblxcbiAgICAgIGlmIChlbmNvZGluZyAhPT0gc3RhdGUuZW5jb2RpbmcpIHtcXG4gICAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oY2h1bmssIGVuY29kaW5nKTtcXG4gICAgICAgIGVuY29kaW5nID0gJyc7XFxuICAgICAgfVxcblxcbiAgICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIGVuY29kaW5nLCBmYWxzZSwgc2tpcENodW5rQ2hlY2spO1xcbn07IC8vIFVuc2hpZnQgc2hvdWxkICphbHdheXMqIGJlIHNvbWV0aGluZyBkaXJlY3RseSBvdXQgb2YgcmVhZCgpXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoY2h1bmspIHtcXG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBudWxsLCB0cnVlLCBmYWxzZSk7XFxufTtcXG5cXG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xcbiAgZGVidWcoJ3JlYWRhYmxlQWRkQ2h1bmsnLCBjaHVuayk7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuXFxuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcXG4gICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGVyO1xcbiAgICBpZiAoIXNraXBDaHVua0NoZWNrKSBlciA9IGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspO1xcblxcbiAgICBpZiAoZXIpIHtcXG4gICAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVyKTtcXG4gICAgfSBlbHNlIGlmIChzdGF0ZS5vYmplY3RNb2RlIHx8IGNodW5rICYmIGNodW5rLmxlbmd0aCA+IDApIHtcXG4gICAgICBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2h1bmspICE9PSBCdWZmZXIucHJvdG90eXBlKSB7XFxuICAgICAgICBjaHVuayA9IF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYWRkVG9Gcm9udCkge1xcbiAgICAgICAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgbmV3IEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQoKSk7ZWxzZSBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgdHJ1ZSk7XFxuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5lbmRlZCkge1xcbiAgICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBuZXcgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRigpKTtcXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmRlc3Ryb3llZCkge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuXFxuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcXG4gICAgICAgICAgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTtcXG4gICAgICAgICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsubGVuZ3RoICE9PSAwKSBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgZmFsc2UpO2Vsc2UgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFhZGRUb0Zyb250KSB7XFxuICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICAgIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XFxuICAgIH1cXG4gIH0gLy8gV2UgY2FuIHB1c2ggbW9yZSBkYXRhIGlmIHdlIGFyZSBiZWxvdyB0aGUgaGlnaFdhdGVyTWFyay5cXG4gIC8vIEFsc28sIGlmIHdlIGhhdmUgbm8gZGF0YSB5ZXQsIHdlIGNhbiBzdGFuZCBzb21lIG1vcmUgYnl0ZXMuXFxuICAvLyBUaGlzIGlzIHRvIHdvcmsgYXJvdW5kIGNhc2VzIHdoZXJlIGh3bT0wLCBzdWNoIGFzIHRoZSByZXBsLlxcblxcblxcbiAgcmV0dXJuICFzdGF0ZS5lbmRlZCAmJiAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5sZW5ndGggPT09IDApO1xcbn1cXG5cXG5mdW5jdGlvbiBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgYWRkVG9Gcm9udCkge1xcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwICYmICFzdGF0ZS5zeW5jKSB7XFxuICAgIHN0YXRlLmF3YWl0RHJhaW4gPSAwO1xcbiAgICBzdHJlYW0uZW1pdCgnZGF0YScsIGNodW5rKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIHVwZGF0ZSB0aGUgYnVmZmVyIGluZm8uXFxuICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgaWYgKGFkZFRvRnJvbnQpIHN0YXRlLmJ1ZmZlci51bnNoaWZ0KGNodW5rKTtlbHNlIHN0YXRlLmJ1ZmZlci5wdXNoKGNodW5rKTtcXG4gICAgaWYgKHN0YXRlLm5lZWRSZWFkYWJsZSkgZW1pdFJlYWRhYmxlKHN0cmVhbSk7XFxuICB9XFxuXFxuICBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xcbn1cXG5cXG5mdW5jdGlvbiBjaHVua0ludmFsaWQoc3RhdGUsIGNodW5rKSB7XFxuICB2YXIgZXI7XFxuXFxuICBpZiAoIV9pc1VpbnQ4QXJyYXkoY2h1bmspICYmIHR5cGVvZiBjaHVuayAhPT0gJ3N0cmluZycgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBlciA9IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnY2h1bmsnLCBbJ3N0cmluZycsICdCdWZmZXInLCAnVWludDhBcnJheSddLCBjaHVuayk7XFxuICB9XFxuXFxuICByZXR1cm4gZXI7XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPT09IGZhbHNlO1xcbn07IC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZyA9IGZ1bmN0aW9uIChlbmMpIHtcXG4gIGlmICghU3RyaW5nRGVjb2RlcikgU3RyaW5nRGVjb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHN0cmluZ19kZWNvZGVyLyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzXFxcIikuU3RyaW5nRGVjb2RlcjtcXG4gIHZhciBkZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2RlciA9IGRlY29kZXI7IC8vIElmIHNldEVuY29kaW5nKG51bGwpLCBkZWNvZGVyLmVuY29kaW5nIGVxdWFscyB1dGY4XFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nID0gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nOyAvLyBJdGVyYXRlIG92ZXIgY3VycmVudCBidWZmZXIgdG8gY29udmVydCBhbHJlYWR5IHN0b3JlZCBCdWZmZXJzOlxcblxcbiAgdmFyIHAgPSB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkO1xcbiAgdmFyIGNvbnRlbnQgPSAnJztcXG5cXG4gIHdoaWxlIChwICE9PSBudWxsKSB7XFxuICAgIGNvbnRlbnQgKz0gZGVjb2Rlci53cml0ZShwLmRhdGEpO1xcbiAgICBwID0gcC5uZXh0O1xcbiAgfVxcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKTtcXG5cXG4gIGlmIChjb250ZW50ICE9PSAnJykgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChjb250ZW50KTtcXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoID0gY29udGVudC5sZW5ndGg7XFxuICByZXR1cm4gdGhpcztcXG59OyAvLyBEb24ndCByYWlzZSB0aGUgaHdtID4gMUdCXFxuXFxuXFxudmFyIE1BWF9IV00gPSAweDQwMDAwMDAwO1xcblxcbmZ1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pIHtcXG4gIGlmIChuID49IE1BWF9IV00pIHtcXG4gICAgLy8gVE9ETyhyb25hZyk6IFRocm93IEVSUl9WQUxVRV9PVVRfT0ZfUkFOR0UuXFxuICAgIG4gPSBNQVhfSFdNO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gR2V0IHRoZSBuZXh0IGhpZ2hlc3QgcG93ZXIgb2YgMiB0byBwcmV2ZW50IGluY3JlYXNpbmcgaHdtIGV4Y2Vzc2l2ZWx5IGluXFxuICAgIC8vIHRpbnkgYW1vdW50c1xcbiAgICBuLS07XFxuICAgIG4gfD0gbiA+Pj4gMTtcXG4gICAgbiB8PSBuID4+PiAyO1xcbiAgICBuIHw9IG4gPj4+IDQ7XFxuICAgIG4gfD0gbiA+Pj4gODtcXG4gICAgbiB8PSBuID4+PiAxNjtcXG4gICAgbisrO1xcbiAgfVxcblxcbiAgcmV0dXJuIG47XFxufSAvLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGlubGluYWJsZSwgc28gcGxlYXNlIHRha2UgY2FyZSB3aGVuIG1ha2luZ1xcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXFxuXFxuXFxuZnVuY3Rpb24gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSkge1xcbiAgaWYgKG4gPD0gMCB8fCBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIHJldHVybiAwO1xcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldHVybiAxO1xcblxcbiAgaWYgKG4gIT09IG4pIHtcXG4gICAgLy8gT25seSBmbG93IG9uZSBidWZmZXIgYXQgYSB0aW1lXFxuICAgIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCkgcmV0dXJuIHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoO2Vsc2UgcmV0dXJuIHN0YXRlLmxlbmd0aDtcXG4gIH0gLy8gSWYgd2UncmUgYXNraW5nIGZvciBtb3JlIHRoYW4gdGhlIGN1cnJlbnQgaHdtLCB0aGVuIHJhaXNlIHRoZSBod20uXFxuXFxuXFxuICBpZiAobiA+IHN0YXRlLmhpZ2hXYXRlck1hcmspIHN0YXRlLmhpZ2hXYXRlck1hcmsgPSBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhuKTtcXG4gIGlmIChuIDw9IHN0YXRlLmxlbmd0aCkgcmV0dXJuIG47IC8vIERvbid0IGhhdmUgZW5vdWdoXFxuXFxuICBpZiAoIXN0YXRlLmVuZGVkKSB7XFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgIHJldHVybiAwO1xcbiAgfVxcblxcbiAgcmV0dXJuIHN0YXRlLmxlbmd0aDtcXG59IC8vIHlvdSBjYW4gb3ZlcnJpZGUgZWl0aGVyIHRoaXMgbWV0aG9kLCBvciB0aGUgYXN5bmMgX3JlYWQobikgYmVsb3cuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnJlYWQgPSBmdW5jdGlvbiAobikge1xcbiAgZGVidWcoJ3JlYWQnLCBuKTtcXG4gIG4gPSBwYXJzZUludChuLCAxMCk7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIG5PcmlnID0gbjtcXG4gIGlmIChuICE9PSAwKSBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTsgLy8gaWYgd2UncmUgZG9pbmcgcmVhZCgwKSB0byB0cmlnZ2VyIGEgcmVhZGFibGUgZXZlbnQsIGJ1dCB3ZVxcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxcbiAgLy8gdGhlICdyZWFkYWJsZScgZXZlbnQgYW5kIG1vdmUgb24uXFxuXFxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5uZWVkUmVhZGFibGUgJiYgKChzdGF0ZS5oaWdoV2F0ZXJNYXJrICE9PSAwID8gc3RhdGUubGVuZ3RoID49IHN0YXRlLmhpZ2hXYXRlck1hcmsgOiBzdGF0ZS5sZW5ndGggPiAwKSB8fCBzdGF0ZS5lbmRlZCkpIHtcXG4gICAgZGVidWcoJ3JlYWQ6IGVtaXRSZWFkYWJsZScsIHN0YXRlLmxlbmd0aCwgc3RhdGUuZW5kZWQpO1xcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSBlbmRSZWFkYWJsZSh0aGlzKTtlbHNlIGVtaXRSZWFkYWJsZSh0aGlzKTtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBuID0gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSk7IC8vIGlmIHdlJ3ZlIGVuZGVkLCBhbmQgd2UncmUgbm93IGNsZWFyLCB0aGVuIGZpbmlzaCBpdCB1cC5cXG5cXG4gIGlmIChuID09PSAwICYmIHN0YXRlLmVuZGVkKSB7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gQWxsIHRoZSBhY3R1YWwgY2h1bmsgZ2VuZXJhdGlvbiBsb2dpYyBuZWVkcyB0byBiZVxcbiAgLy8gKmJlbG93KiB0aGUgY2FsbCB0byBfcmVhZC4gIFRoZSByZWFzb24gaXMgdGhhdCBpbiBjZXJ0YWluXFxuICAvLyBzeW50aGV0aWMgc3RyZWFtIGNhc2VzLCBzdWNoIGFzIHBhc3N0aHJvdWdoIHN0cmVhbXMsIF9yZWFkXFxuICAvLyBtYXkgYmUgYSBjb21wbGV0ZWx5IHN5bmNocm9ub3VzIG9wZXJhdGlvbiB3aGljaCBtYXkgY2hhbmdlXFxuICAvLyB0aGUgc3RhdGUgb2YgdGhlIHJlYWQgYnVmZmVyLCBwcm92aWRpbmcgZW5vdWdoIGRhdGEgd2hlblxcbiAgLy8gYmVmb3JlIHRoZXJlIHdhcyAqbm90KiBlbm91Z2guXFxuICAvL1xcbiAgLy8gU28sIHRoZSBzdGVwcyBhcmU6XFxuICAvLyAxLiBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0YXRlIG9mIHRoaW5ncyB3aWxsIGJlIGFmdGVyIHdlIGRvXFxuICAvLyBhIHJlYWQgZnJvbSB0aGUgYnVmZmVyLlxcbiAgLy9cXG4gIC8vIDIuIElmIHRoYXQgcmVzdWx0aW5nIHN0YXRlIHdpbGwgdHJpZ2dlciBhIF9yZWFkLCB0aGVuIGNhbGwgX3JlYWQuXFxuICAvLyBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgYXN5bmNocm9ub3VzLCBvciBzeW5jaHJvbm91cy4gIFllcywgaXQgaXNcXG4gIC8vIGRlZXBseSB1Z2x5IHRvIHdyaXRlIEFQSXMgdGhpcyB3YXksIGJ1dCB0aGF0IHN0aWxsIGRvZXNuJ3QgbWVhblxcbiAgLy8gdGhhdCB0aGUgUmVhZGFibGUgY2xhc3Mgc2hvdWxkIGJlaGF2ZSBpbXByb3Blcmx5LCBhcyBzdHJlYW1zIGFyZVxcbiAgLy8gZGVzaWduZWQgdG8gYmUgc3luYy9hc3luYyBhZ25vc3RpYy5cXG4gIC8vIFRha2Ugbm90ZSBpZiB0aGUgX3JlYWQgY2FsbCBpcyBzeW5jIG9yIGFzeW5jIChpZSwgaWYgdGhlIHJlYWQgY2FsbFxcbiAgLy8gaGFzIHJldHVybmVkIHlldCksIHNvIHRoYXQgd2Uga25vdyB3aGV0aGVyIG9yIG5vdCBpdCdzIHNhZmUgdG8gZW1pdFxcbiAgLy8gJ3JlYWRhYmxlJyBldGMuXFxuICAvL1xcbiAgLy8gMy4gQWN0dWFsbHkgcHVsbCB0aGUgcmVxdWVzdGVkIGNodW5rcyBvdXQgb2YgdGhlIGJ1ZmZlciBhbmQgcmV0dXJuLlxcbiAgLy8gaWYgd2UgbmVlZCBhIHJlYWRhYmxlIGV2ZW50LCB0aGVuIHdlIG5lZWQgdG8gZG8gc29tZSByZWFkaW5nLlxcblxcblxcbiAgdmFyIGRvUmVhZCA9IHN0YXRlLm5lZWRSZWFkYWJsZTtcXG4gIGRlYnVnKCduZWVkIHJlYWRhYmxlJywgZG9SZWFkKTsgLy8gaWYgd2UgY3VycmVudGx5IGhhdmUgbGVzcyB0aGFuIHRoZSBoaWdoV2F0ZXJNYXJrLCB0aGVuIGFsc28gcmVhZCBzb21lXFxuXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwIHx8IHN0YXRlLmxlbmd0aCAtIG4gPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrKSB7XFxuICAgIGRvUmVhZCA9IHRydWU7XFxuICAgIGRlYnVnKCdsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFyaycsIGRvUmVhZCk7XFxuICB9IC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XFxuICAvLyByZWFkaW5nLCB0aGVuIGl0J3MgdW5uZWNlc3NhcnkuXFxuXFxuXFxuICBpZiAoc3RhdGUuZW5kZWQgfHwgc3RhdGUucmVhZGluZykge1xcbiAgICBkb1JlYWQgPSBmYWxzZTtcXG4gICAgZGVidWcoJ3JlYWRpbmcgb3IgZW5kZWQnLCBkb1JlYWQpO1xcbiAgfSBlbHNlIGlmIChkb1JlYWQpIHtcXG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcXG4gICAgc3RhdGUucmVhZGluZyA9IHRydWU7XFxuICAgIHN0YXRlLnN5bmMgPSB0cnVlOyAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxcblxcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlOyAvLyBjYWxsIGludGVybmFsIHJlYWQgbWV0aG9kXFxuXFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XFxuXFxuICAgIHN0YXRlLnN5bmMgPSBmYWxzZTsgLy8gSWYgX3JlYWQgcHVzaGVkIGRhdGEgc3luY2hyb25vdXNseSwgdGhlbiBgcmVhZGluZ2Agd2lsbCBiZSBmYWxzZSxcXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxcblxcbiAgICBpZiAoIXN0YXRlLnJlYWRpbmcpIG4gPSBob3dNdWNoVG9SZWFkKG5PcmlnLCBzdGF0ZSk7XFxuICB9XFxuXFxuICB2YXIgcmV0O1xcbiAgaWYgKG4gPiAwKSByZXQgPSBmcm9tTGlzdChuLCBzdGF0ZSk7ZWxzZSByZXQgPSBudWxsO1xcblxcbiAgaWYgKHJldCA9PT0gbnVsbCkge1xcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBzdGF0ZS5sZW5ndGggPD0gc3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gICAgbiA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICBzdGF0ZS5sZW5ndGggLT0gbjtcXG4gICAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XFxuICB9XFxuXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSB7XFxuICAgIC8vIElmIHdlIGhhdmUgbm90aGluZyBpbiB0aGUgYnVmZmVyLCB0aGVuIHdlIHdhbnQgdG8ga25vd1xcbiAgICAvLyBhcyBzb29uIGFzIHdlICpkbyogZ2V0IHNvbWV0aGluZyBpbnRvIHRoZSBidWZmZXIuXFxuICAgIGlmICghc3RhdGUuZW5kZWQpIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7IC8vIElmIHdlIHRyaWVkIHRvIHJlYWQoKSBwYXN0IHRoZSBFT0YsIHRoZW4gZW1pdCBlbmQgb24gdGhlIG5leHQgdGljay5cXG5cXG4gICAgaWYgKG5PcmlnICE9PSBuICYmIHN0YXRlLmVuZGVkKSBlbmRSZWFkYWJsZSh0aGlzKTtcXG4gIH1cXG5cXG4gIGlmIChyZXQgIT09IG51bGwpIHRoaXMuZW1pdCgnZGF0YScsIHJldCk7XFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuZnVuY3Rpb24gb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKSB7XFxuICBkZWJ1Zygnb25Fb2ZDaHVuaycpO1xcbiAgaWYgKHN0YXRlLmVuZGVkKSByZXR1cm47XFxuXFxuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xcbiAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xcblxcbiAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSB7XFxuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xcbiAgICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgfVxcbiAgfVxcblxcbiAgc3RhdGUuZW5kZWQgPSB0cnVlO1xcblxcbiAgaWYgKHN0YXRlLnN5bmMpIHtcXG4gICAgLy8gaWYgd2UgYXJlIHN5bmMsIHdhaXQgdW50aWwgbmV4dCB0aWNrIHRvIGVtaXQgdGhlIGRhdGEuXFxuICAgIC8vIE90aGVyd2lzZSB3ZSByaXNrIGVtaXR0aW5nIGRhdGEgaW4gdGhlIGZsb3coKVxcbiAgICAvLyB0aGUgcmVhZGFibGUgY29kZSB0cmlnZ2VycyBkdXJpbmcgYSByZWFkKCkgY2FsbFxcbiAgICBlbWl0UmVhZGFibGUoc3RyZWFtKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIGVtaXQgJ3JlYWRhYmxlJyBub3cgdG8gbWFrZSBzdXJlIGl0IGdldHMgcGlja2VkIHVwLlxcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBmYWxzZTtcXG5cXG4gICAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcXG4gICAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICAgIGVtaXRSZWFkYWJsZV8oc3RyZWFtKTtcXG4gICAgfVxcbiAgfVxcbn0gLy8gRG9uJ3QgZW1pdCByZWFkYWJsZSByaWdodCBhd2F5IGluIHN5bmMgbW9kZSwgYmVjYXVzZSB0aGlzIGNhbiB0cmlnZ2VyXFxuLy8gYW5vdGhlciByZWFkKCkgY2FsbCA9PiBzdGFjayBvdmVyZmxvdy4gIFRoaXMgd2F5LCBpdCBtaWdodCB0cmlnZ2VyXFxuLy8gYSBuZXh0VGljayByZWN1cnNpb24gd2FybmluZywgYnV0IHRoYXQncyBub3Qgc28gYmFkLlxcblxcblxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZShzdHJlYW0pIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG4gIGRlYnVnKCdlbWl0UmVhZGFibGUnLCBzdGF0ZS5uZWVkUmVhZGFibGUsIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSk7XFxuICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBmYWxzZTtcXG5cXG4gIGlmICghc3RhdGUuZW1pdHRlZFJlYWRhYmxlKSB7XFxuICAgIGRlYnVnKCdlbWl0UmVhZGFibGUnLCBzdGF0ZS5mbG93aW5nKTtcXG4gICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gdHJ1ZTtcXG4gICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0UmVhZGFibGVfLCBzdHJlYW0pO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0UmVhZGFibGVfKHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2VtaXRSZWFkYWJsZV8nLCBzdGF0ZS5kZXN0cm95ZWQsIHN0YXRlLmxlbmd0aCwgc3RhdGUuZW5kZWQpO1xcblxcbiAgaWYgKCFzdGF0ZS5kZXN0cm95ZWQgJiYgKHN0YXRlLmxlbmd0aCB8fCBzdGF0ZS5lbmRlZCkpIHtcXG4gICAgc3RyZWFtLmVtaXQoJ3JlYWRhYmxlJyk7XFxuICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgfSAvLyBUaGUgc3RyZWFtIG5lZWRzIGFub3RoZXIgcmVhZGFibGUgZXZlbnQgaWZcXG4gIC8vIDEuIEl0IGlzIG5vdCBmbG93aW5nLCBhcyB0aGUgZmxvdyBtZWNoYW5pc20gd2lsbCB0YWtlXFxuICAvLyAgICBjYXJlIG9mIGl0LlxcbiAgLy8gMi4gSXQgaXMgbm90IGVuZGVkLlxcbiAgLy8gMy4gSXQgaXMgYmVsb3cgdGhlIGhpZ2hXYXRlck1hcmssIHNvIHdlIGNhbiBzY2hlZHVsZVxcbiAgLy8gICAgYW5vdGhlciByZWFkYWJsZSBsYXRlci5cXG5cXG5cXG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9ICFzdGF0ZS5mbG93aW5nICYmICFzdGF0ZS5lbmRlZCAmJiBzdGF0ZS5sZW5ndGggPD0gc3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIGZsb3coc3RyZWFtKTtcXG59IC8vIGF0IHRoaXMgcG9pbnQsIHRoZSB1c2VyIGhhcyBwcmVzdW1hYmx5IHNlZW4gdGhlICdyZWFkYWJsZScgZXZlbnQsXFxuLy8gYW5kIGNhbGxlZCByZWFkKCkgdG8gY29uc3VtZSBzb21lIGRhdGEuICB0aGF0IG1heSBoYXZlIHRyaWdnZXJlZFxcbi8vIGluIHR1cm4gYW5vdGhlciBfcmVhZChuKSBjYWxsLCBpbiB3aGljaCBjYXNlIHJlYWRpbmcgPSB0cnVlIGlmXFxuLy8gaXQncyBpbiBwcm9ncmVzcy5cXG4vLyBIb3dldmVyLCBpZiB3ZSdyZSBub3QgZW5kZWQsIG9yIHJlYWRpbmcsIGFuZCB0aGUgbGVuZ3RoIDwgaHdtLFxcbi8vIHRoZW4gZ28gYWhlYWQgYW5kIHRyeSB0byByZWFkIHNvbWUgbW9yZSBwcmVlbXB0aXZlbHkuXFxuXFxuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlYWRpbmdNb3JlKSB7XFxuICAgIHN0YXRlLnJlYWRpbmdNb3JlID0gdHJ1ZTtcXG4gICAgcHJvY2Vzcy5uZXh0VGljayhtYXliZVJlYWRNb3JlXywgc3RyZWFtLCBzdGF0ZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG1heWJlUmVhZE1vcmVfKHN0cmVhbSwgc3RhdGUpIHtcXG4gIC8vIEF0dGVtcHQgdG8gcmVhZCBtb3JlIGRhdGEgaWYgd2Ugc2hvdWxkLlxcbiAgLy9cXG4gIC8vIFRoZSBjb25kaXRpb25zIGZvciByZWFkaW5nIG1vcmUgZGF0YSBhcmUgKG9uZSBvZik6XFxuICAvLyAtIE5vdCBlbm91Z2ggZGF0YSBidWZmZXJlZCAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykuIFRoZSBsb29wXFxuICAvLyAgIGlzIHJlc3BvbnNpYmxlIGZvciBmaWxsaW5nIHRoZSBidWZmZXIgd2l0aCBlbm91Z2ggZGF0YSBpZiBzdWNoIGRhdGFcXG4gIC8vICAgaXMgYXZhaWxhYmxlLiBJZiBoaWdoV2F0ZXJNYXJrIGlzIDAgYW5kIHdlIGFyZSBub3QgaW4gdGhlIGZsb3dpbmcgbW9kZVxcbiAgLy8gICB3ZSBzaG91bGQgX25vdF8gYXR0ZW1wdCB0byBidWZmZXIgYW55IGV4dHJhIGRhdGEuIFdlJ2xsIGdldCBtb3JlIGRhdGFcXG4gIC8vICAgd2hlbiB0aGUgc3RyZWFtIGNvbnN1bWVyIGNhbGxzIHJlYWQoKSBpbnN0ZWFkLlxcbiAgLy8gLSBObyBkYXRhIGluIHRoZSBidWZmZXIsIGFuZCB0aGUgc3RyZWFtIGlzIGluIGZsb3dpbmcgbW9kZS4gSW4gdGhpcyBtb2RlXFxuICAvLyAgIHRoZSBsb29wIGJlbG93IGlzIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyByZWFkKCkgaXMgY2FsbGVkLiBGYWlsaW5nIHRvXFxuICAvLyAgIGNhbGwgcmVhZCBoZXJlIHdvdWxkIGFib3J0IHRoZSBmbG93IGFuZCB0aGVyZSdzIG5vIG90aGVyIG1lY2hhbmlzbSBmb3JcXG4gIC8vICAgY29udGludWluZyB0aGUgZmxvdyBpZiB0aGUgc3RyZWFtIGNvbnN1bWVyIGhhcyBqdXN0IHN1YnNjcmliZWQgdG8gdGhlXFxuICAvLyAgICdkYXRhJyBldmVudC5cXG4gIC8vXFxuICAvLyBJbiBhZGRpdGlvbiB0byB0aGUgYWJvdmUgY29uZGl0aW9ucyB0byBrZWVwIHJlYWRpbmcgZGF0YSwgdGhlIGZvbGxvd2luZ1xcbiAgLy8gY29uZGl0aW9ucyBwcmV2ZW50IHRoZSBkYXRhIGZyb20gYmVpbmcgcmVhZDpcXG4gIC8vIC0gVGhlIHN0cmVhbSBoYXMgZW5kZWQgKHN0YXRlLmVuZGVkKS5cXG4gIC8vIC0gVGhlcmUgaXMgYWxyZWFkeSBhIHBlbmRpbmcgJ3JlYWQnIG9wZXJhdGlvbiAoc3RhdGUucmVhZGluZykuIFRoaXMgaXMgYVxcbiAgLy8gICBjYXNlIHdoZXJlIHRoZSB0aGUgc3RyZWFtIGhhcyBjYWxsZWQgdGhlIGltcGxlbWVudGF0aW9uIGRlZmluZWQgX3JlYWQoKVxcbiAgLy8gICBtZXRob2QsIGJ1dCB0aGV5IGFyZSBwcm9jZXNzaW5nIHRoZSBjYWxsIGFzeW5jaHJvbm91c2x5IGFuZCBoYXZlIF9ub3RfXFxuICAvLyAgIGNhbGxlZCBwdXNoKCkgd2l0aCBuZXcgZGF0YS4gSW4gdGhpcyBjYXNlIHdlIHNraXAgcGVyZm9ybWluZyBtb3JlXFxuICAvLyAgIHJlYWQoKXMuIFRoZSBleGVjdXRpb24gZW5kcyBpbiB0aGlzIG1ldGhvZCBhZ2FpbiBhZnRlciB0aGUgX3JlYWQoKSBlbmRzXFxuICAvLyAgIHVwIGNhbGxpbmcgcHVzaCgpIHdpdGggbW9yZSBkYXRhLlxcbiAgd2hpbGUgKCFzdGF0ZS5yZWFkaW5nICYmICFzdGF0ZS5lbmRlZCAmJiAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkpIHtcXG4gICAgdmFyIGxlbiA9IHN0YXRlLmxlbmd0aDtcXG4gICAgZGVidWcoJ21heWJlUmVhZE1vcmUgcmVhZCAwJyk7XFxuICAgIHN0cmVhbS5yZWFkKDApO1xcbiAgICBpZiAobGVuID09PSBzdGF0ZS5sZW5ndGgpIC8vIGRpZG4ndCBnZXQgYW55IGRhdGEsIHN0b3Agc3Bpbm5pbmcuXFxuICAgICAgYnJlYWs7XFxuICB9XFxuXFxuICBzdGF0ZS5yZWFkaW5nTW9yZSA9IGZhbHNlO1xcbn0gLy8gYWJzdHJhY3QgbWV0aG9kLiAgdG8gYmUgb3ZlcnJpZGRlbiBpbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxcbi8vIGNhbGwgY2IoZXIsIGRhdGEpIHdoZXJlIGRhdGEgaXMgPD0gbiBpbiBsZW5ndGguXFxuLy8gZm9yIHZpcnR1YWwgKG5vbi1zdHJpbmcsIG5vbi1idWZmZXIpIHN0cmVhbXMsIFxcXCJsZW5ndGhcXFwiIGlzIHNvbWV3aGF0XFxuLy8gYXJiaXRyYXJ5LCBhbmQgcGVyaGFwcyBub3QgdmVyeSBtZWFuaW5nZnVsLlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICBlcnJvck9yRGVzdHJveSh0aGlzLCBuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoJ19yZWFkKCknKSk7XFxufTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uIChkZXN0LCBwaXBlT3B0cykge1xcbiAgdmFyIHNyYyA9IHRoaXM7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgc3dpdGNoIChzdGF0ZS5waXBlc0NvdW50KSB7XFxuICAgIGNhc2UgMDpcXG4gICAgICBzdGF0ZS5waXBlcyA9IGRlc3Q7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgMTpcXG4gICAgICBzdGF0ZS5waXBlcyA9IFtzdGF0ZS5waXBlcywgZGVzdF07XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgc3RhdGUucGlwZXMucHVzaChkZXN0KTtcXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHN0YXRlLnBpcGVzQ291bnQgKz0gMTtcXG4gIGRlYnVnKCdwaXBlIGNvdW50PSVkIG9wdHM9JWonLCBzdGF0ZS5waXBlc0NvdW50LCBwaXBlT3B0cyk7XFxuICB2YXIgZG9FbmQgPSAoIXBpcGVPcHRzIHx8IHBpcGVPcHRzLmVuZCAhPT0gZmFsc2UpICYmIGRlc3QgIT09IHByb2Nlc3Muc3Rkb3V0ICYmIGRlc3QgIT09IHByb2Nlc3Muc3RkZXJyO1xcbiAgdmFyIGVuZEZuID0gZG9FbmQgPyBvbmVuZCA6IHVucGlwZTtcXG4gIGlmIChzdGF0ZS5lbmRFbWl0dGVkKSBwcm9jZXNzLm5leHRUaWNrKGVuZEZuKTtlbHNlIHNyYy5vbmNlKCdlbmQnLCBlbmRGbik7XFxuICBkZXN0Lm9uKCd1bnBpcGUnLCBvbnVucGlwZSk7XFxuXFxuICBmdW5jdGlvbiBvbnVucGlwZShyZWFkYWJsZSwgdW5waXBlSW5mbykge1xcbiAgICBkZWJ1Zygnb251bnBpcGUnKTtcXG5cXG4gICAgaWYgKHJlYWRhYmxlID09PSBzcmMpIHtcXG4gICAgICBpZiAodW5waXBlSW5mbyAmJiB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPT09IGZhbHNlKSB7XFxuICAgICAgICB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPSB0cnVlO1xcbiAgICAgICAgY2xlYW51cCgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgZnVuY3Rpb24gb25lbmQoKSB7XFxuICAgIGRlYnVnKCdvbmVuZCcpO1xcbiAgICBkZXN0LmVuZCgpO1xcbiAgfSAvLyB3aGVuIHRoZSBkZXN0IGRyYWlucywgaXQgcmVkdWNlcyB0aGUgYXdhaXREcmFpbiBjb3VudGVyXFxuICAvLyBvbiB0aGUgc291cmNlLiAgVGhpcyB3b3VsZCBiZSBtb3JlIGVsZWdhbnQgd2l0aCBhIC5vbmNlKClcXG4gIC8vIGhhbmRsZXIgaW4gZmxvdygpLCBidXQgYWRkaW5nIGFuZCByZW1vdmluZyByZXBlYXRlZGx5IGlzXFxuICAvLyB0b28gc2xvdy5cXG5cXG5cXG4gIHZhciBvbmRyYWluID0gcGlwZU9uRHJhaW4oc3JjKTtcXG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XFxuICB2YXIgY2xlYW5lZFVwID0gZmFsc2U7XFxuXFxuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xcbiAgICBkZWJ1ZygnY2xlYW51cCcpOyAvLyBjbGVhbnVwIGV2ZW50IGhhbmRsZXJzIG9uY2UgdGhlIHBpcGUgaXMgYnJva2VuXFxuXFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZHJhaW4nLCBvbmRyYWluKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcigndW5waXBlJywgb251bnBpcGUpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9uZW5kKTtcXG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCB1bnBpcGUpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2RhdGEnLCBvbmRhdGEpO1xcbiAgICBjbGVhbmVkVXAgPSB0cnVlOyAvLyBpZiB0aGUgcmVhZGVyIGlzIHdhaXRpbmcgZm9yIGEgZHJhaW4gZXZlbnQgZnJvbSB0aGlzXFxuICAgIC8vIHNwZWNpZmljIHdyaXRlciwgdGhlbiBpdCB3b3VsZCBjYXVzZSBpdCB0byBuZXZlciBzdGFydFxcbiAgICAvLyBmbG93aW5nIGFnYWluLlxcbiAgICAvLyBTbywgaWYgdGhpcyBpcyBhd2FpdGluZyBhIGRyYWluLCB0aGVuIHdlIGp1c3QgY2FsbCBpdCBub3cuXFxuICAgIC8vIElmIHdlIGRvbid0IGtub3csIHRoZW4gYXNzdW1lIHRoYXQgd2UgYXJlIHdhaXRpbmcgZm9yIG9uZS5cXG5cXG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4gJiYgKCFkZXN0Ll93cml0YWJsZVN0YXRlIHx8IGRlc3QuX3dyaXRhYmxlU3RhdGUubmVlZERyYWluKSkgb25kcmFpbigpO1xcbiAgfVxcblxcbiAgc3JjLm9uKCdkYXRhJywgb25kYXRhKTtcXG5cXG4gIGZ1bmN0aW9uIG9uZGF0YShjaHVuaykge1xcbiAgICBkZWJ1Zygnb25kYXRhJyk7XFxuICAgIHZhciByZXQgPSBkZXN0LndyaXRlKGNodW5rKTtcXG4gICAgZGVidWcoJ2Rlc3Qud3JpdGUnLCByZXQpO1xcblxcbiAgICBpZiAocmV0ID09PSBmYWxzZSkge1xcbiAgICAgIC8vIElmIHRoZSB1c2VyIHVucGlwZWQgZHVyaW5nIGBkZXN0LndyaXRlKClgLCBpdCBpcyBwb3NzaWJsZVxcbiAgICAgIC8vIHRvIGdldCBzdHVjayBpbiBhIHBlcm1hbmVudGx5IHBhdXNlZCBzdGF0ZSBpZiB0aGF0IHdyaXRlXFxuICAgICAgLy8gYWxzbyByZXR1cm5lZCBmYWxzZS5cXG4gICAgICAvLyA9PiBDaGVjayB3aGV0aGVyIGBkZXN0YCBpcyBzdGlsbCBhIHBpcGluZyBkZXN0aW5hdGlvbi5cXG4gICAgICBpZiAoKHN0YXRlLnBpcGVzQ291bnQgPT09IDEgJiYgc3RhdGUucGlwZXMgPT09IGRlc3QgfHwgc3RhdGUucGlwZXNDb3VudCA+IDEgJiYgaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCkgIT09IC0xKSAmJiAhY2xlYW5lZFVwKSB7XFxuICAgICAgICBkZWJ1ZygnZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlJywgc3RhdGUuYXdhaXREcmFpbik7XFxuICAgICAgICBzdGF0ZS5hd2FpdERyYWluKys7XFxuICAgICAgfVxcblxcbiAgICAgIHNyYy5wYXVzZSgpO1xcbiAgICB9XFxuICB9IC8vIGlmIHRoZSBkZXN0IGhhcyBhbiBlcnJvciwgdGhlbiBzdG9wIHBpcGluZyBpbnRvIGl0LlxcbiAgLy8gaG93ZXZlciwgZG9uJ3Qgc3VwcHJlc3MgdGhlIHRocm93aW5nIGJlaGF2aW9yIGZvciB0aGlzLlxcblxcblxcbiAgZnVuY3Rpb24gb25lcnJvcihlcikge1xcbiAgICBkZWJ1Zygnb25lcnJvcicsIGVyKTtcXG4gICAgdW5waXBlKCk7XFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XFxuICAgIGlmIChFRWxpc3RlbmVyQ291bnQoZGVzdCwgJ2Vycm9yJykgPT09IDApIGVycm9yT3JEZXN0cm95KGRlc3QsIGVyKTtcXG4gIH0gLy8gTWFrZSBzdXJlIG91ciBlcnJvciBoYW5kbGVyIGlzIGF0dGFjaGVkIGJlZm9yZSB1c2VybGFuZCBvbmVzLlxcblxcblxcbiAgcHJlcGVuZExpc3RlbmVyKGRlc3QsICdlcnJvcicsIG9uZXJyb3IpOyAvLyBCb3RoIGNsb3NlIGFuZCBmaW5pc2ggc2hvdWxkIHRyaWdnZXIgdW5waXBlLCBidXQgb25seSBvbmNlLlxcblxcbiAgZnVuY3Rpb24gb25jbG9zZSgpIHtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICB1bnBpcGUoKTtcXG4gIH1cXG5cXG4gIGRlc3Qub25jZSgnY2xvc2UnLCBvbmNsb3NlKTtcXG5cXG4gIGZ1bmN0aW9uIG9uZmluaXNoKCkge1xcbiAgICBkZWJ1Zygnb25maW5pc2gnKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcXG4gICAgdW5waXBlKCk7XFxuICB9XFxuXFxuICBkZXN0Lm9uY2UoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG5cXG4gIGZ1bmN0aW9uIHVucGlwZSgpIHtcXG4gICAgZGVidWcoJ3VucGlwZScpO1xcbiAgICBzcmMudW5waXBlKGRlc3QpO1xcbiAgfSAvLyB0ZWxsIHRoZSBkZXN0IHRoYXQgaXQncyBiZWluZyBwaXBlZCB0b1xcblxcblxcbiAgZGVzdC5lbWl0KCdwaXBlJywgc3JjKTsgLy8gc3RhcnQgdGhlIGZsb3cgaWYgaXQgaGFzbid0IGJlZW4gc3RhcnRlZCBhbHJlYWR5LlxcblxcbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XFxuICAgIGRlYnVnKCdwaXBlIHJlc3VtZScpO1xcbiAgICBzcmMucmVzdW1lKCk7XFxuICB9XFxuXFxuICByZXR1cm4gZGVzdDtcXG59O1xcblxcbmZ1bmN0aW9uIHBpcGVPbkRyYWluKHNyYykge1xcbiAgcmV0dXJuIGZ1bmN0aW9uIHBpcGVPbkRyYWluRnVuY3Rpb25SZXN1bHQoKSB7XFxuICAgIHZhciBzdGF0ZSA9IHNyYy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgZGVidWcoJ3BpcGVPbkRyYWluJywgc3RhdGUuYXdhaXREcmFpbik7XFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluKSBzdGF0ZS5hd2FpdERyYWluLS07XFxuXFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluID09PSAwICYmIEVFbGlzdGVuZXJDb3VudChzcmMsICdkYXRhJykpIHtcXG4gICAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcXG4gICAgICBmbG93KHNyYyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciB1bnBpcGVJbmZvID0ge1xcbiAgICBoYXNVbnBpcGVkOiBmYWxzZVxcbiAgfTsgLy8gaWYgd2UncmUgbm90IHBpcGluZyBhbnl3aGVyZSwgdGhlbiBkbyBub3RoaW5nLlxcblxcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDApIHJldHVybiB0aGlzOyAvLyBqdXN0IG9uZSBkZXN0aW5hdGlvbi4gIG1vc3QgY29tbW9uIGNhc2UuXFxuXFxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkge1xcbiAgICAvLyBwYXNzZWQgaW4gb25lLCBidXQgaXQncyBub3QgdGhlIHJpZ2h0IG9uZS5cXG4gICAgaWYgKGRlc3QgJiYgZGVzdCAhPT0gc3RhdGUucGlwZXMpIHJldHVybiB0aGlzO1xcbiAgICBpZiAoIWRlc3QpIGRlc3QgPSBzdGF0ZS5waXBlczsgLy8gZ290IGEgbWF0Y2guXFxuXFxuICAgIHN0YXRlLnBpcGVzID0gbnVsbDtcXG4gICAgc3RhdGUucGlwZXNDb3VudCA9IDA7XFxuICAgIHN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgaWYgKGRlc3QpIGRlc3QuZW1pdCgndW5waXBlJywgdGhpcywgdW5waXBlSW5mbyk7XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfSAvLyBzbG93IGNhc2UuIG11bHRpcGxlIHBpcGUgZGVzdGluYXRpb25zLlxcblxcblxcbiAgaWYgKCFkZXN0KSB7XFxuICAgIC8vIHJlbW92ZSBhbGwuXFxuICAgIHZhciBkZXN0cyA9IHN0YXRlLnBpcGVzO1xcbiAgICB2YXIgbGVuID0gc3RhdGUucGlwZXNDb3VudDtcXG4gICAgc3RhdGUucGlwZXMgPSBudWxsO1xcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcXG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgZGVzdHNbaV0uZW1pdCgndW5waXBlJywgdGhpcywge1xcbiAgICAgICAgaGFzVW5waXBlZDogZmFsc2VcXG4gICAgICB9KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH0gLy8gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IG9uZS5cXG5cXG5cXG4gIHZhciBpbmRleCA9IGluZGV4T2Yoc3RhdGUucGlwZXMsIGRlc3QpO1xcbiAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIHRoaXM7XFxuICBzdGF0ZS5waXBlcy5zcGxpY2UoaW5kZXgsIDEpO1xcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHN0YXRlLnBpcGVzID0gc3RhdGUucGlwZXNbMF07XFxuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xcbiAgcmV0dXJuIHRoaXM7XFxufTsgLy8gc2V0IHVwIGRhdGEgZXZlbnRzIGlmIHRoZXkgYXJlIGFza2VkIGZvclxcbi8vIEVuc3VyZSByZWFkYWJsZSBsaXN0ZW5lcnMgZXZlbnR1YWxseSBnZXQgc29tZXRoaW5nXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLm9uID0gZnVuY3Rpb24gKGV2LCBmbikge1xcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUub24uY2FsbCh0aGlzLCBldiwgZm4pO1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gIGlmIChldiA9PT0gJ2RhdGEnKSB7XFxuICAgIC8vIHVwZGF0ZSByZWFkYWJsZUxpc3RlbmluZyBzbyB0aGF0IHJlc3VtZSgpIG1heSBiZSBhIG5vLW9wXFxuICAgIC8vIGEgZmV3IGxpbmVzIGRvd24uIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgb25jZSgncmVhZGFibGUnKS5cXG4gICAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSB0aGlzLmxpc3RlbmVyQ291bnQoJ3JlYWRhYmxlJykgPiAwOyAvLyBUcnkgc3RhcnQgZmxvd2luZyBvbiBuZXh0IHRpY2sgaWYgc3RyZWFtIGlzbid0IGV4cGxpY2l0bHkgcGF1c2VkXFxuXFxuICAgIGlmIChzdGF0ZS5mbG93aW5nICE9PSBmYWxzZSkgdGhpcy5yZXN1bWUoKTtcXG4gIH0gZWxzZSBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcXG4gICAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmICFzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZykge1xcbiAgICAgIHN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nID0gc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcXG4gICAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuICAgICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICAgICAgZGVidWcoJ29uIHJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5yZWFkaW5nKTtcXG5cXG4gICAgICBpZiAoc3RhdGUubGVuZ3RoKSB7XFxuICAgICAgICBlbWl0UmVhZGFibGUodGhpcyk7XFxuICAgICAgfSBlbHNlIGlmICghc3RhdGUucmVhZGluZykge1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLCB0aGlzKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIgPSBSZWFkYWJsZS5wcm90b3R5cGUub247XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyID0gZnVuY3Rpb24gKGV2LCBmbikge1xcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLCBldiwgZm4pO1xcblxcbiAgaWYgKGV2ID09PSAncmVhZGFibGUnKSB7XFxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgc29tZW9uZSBzdGlsbCBsaXN0ZW5pbmcgdG9cXG4gICAgLy8gcmVhZGFibGUgYW5kIHJlc2V0IHRoZSBzdGF0ZS4gSG93ZXZlciB0aGlzIG5lZWRzIHRvIGhhcHBlblxcbiAgICAvLyBhZnRlciByZWFkYWJsZSBoYXMgYmVlbiBlbWl0dGVkIGJ1dCBiZWZvcmUgSS9PIChuZXh0VGljaykgdG9cXG4gICAgLy8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScsIGZuKSBjeWNsZXMuIFRoaXMgbWVhbnMgdGhhdCBjYWxsaW5nXFxuICAgIC8vIHJlc3VtZSB3aXRoaW4gdGhlIHNhbWUgdGljayB3aWxsIGhhdmUgbm9cXG4gICAgLy8gZWZmZWN0LlxcbiAgICBwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLCB0aGlzKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID0gZnVuY3Rpb24gKGV2KSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG5cXG4gIGlmIChldiA9PT0gJ3JlYWRhYmxlJyB8fCBldiA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgc29tZW9uZSBzdGlsbCBsaXN0ZW5pbmcgdG9cXG4gICAgLy8gcmVhZGFibGUgYW5kIHJlc2V0IHRoZSBzdGF0ZS4gSG93ZXZlciB0aGlzIG5lZWRzIHRvIGhhcHBlblxcbiAgICAvLyBhZnRlciByZWFkYWJsZSBoYXMgYmVlbiBlbWl0dGVkIGJ1dCBiZWZvcmUgSS9PIChuZXh0VGljaykgdG9cXG4gICAgLy8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScsIGZuKSBjeWNsZXMuIFRoaXMgbWVhbnMgdGhhdCBjYWxsaW5nXFxuICAgIC8vIHJlc3VtZSB3aXRoaW4gdGhlIHNhbWUgdGljayB3aWxsIGhhdmUgbm9cXG4gICAgLy8gZWZmZWN0LlxcbiAgICBwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLCB0aGlzKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5mdW5jdGlvbiB1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyhzZWxmKSB7XFxuICB2YXIgc3RhdGUgPSBzZWxmLl9yZWFkYWJsZVN0YXRlO1xcbiAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSBzZWxmLmxpc3RlbmVyQ291bnQoJ3JlYWRhYmxlJykgPiAwO1xcblxcbiAgaWYgKHN0YXRlLnJlc3VtZVNjaGVkdWxlZCAmJiAhc3RhdGUucGF1c2VkKSB7XFxuICAgIC8vIGZsb3dpbmcgbmVlZHMgdG8gYmUgc2V0IHRvIHRydWUgbm93LCBvdGhlcndpc2VcXG4gICAgLy8gdGhlIHVwY29taW5nIHJlc3VtZSB3aWxsIG5vdCBmbG93LlxcbiAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTsgLy8gY3J1ZGUgd2F5IHRvIGNoZWNrIGlmIHdlIHNob3VsZCByZXN1bWVcXG4gIH0gZWxzZSBpZiAoc2VsZi5saXN0ZW5lckNvdW50KCdkYXRhJykgPiAwKSB7XFxuICAgIHNlbGYucmVzdW1lKCk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG5SZWFkaW5nTmV4dFRpY2soc2VsZikge1xcbiAgZGVidWcoJ3JlYWRhYmxlIG5leHR0aWNrIHJlYWQgMCcpO1xcbiAgc2VsZi5yZWFkKDApO1xcbn0gLy8gcGF1c2UoKSBhbmQgcmVzdW1lKCkgYXJlIHJlbW5hbnRzIG9mIHRoZSBsZWdhY3kgcmVhZGFibGUgc3RyZWFtIEFQSVxcbi8vIElmIHRoZSB1c2VyIHVzZXMgdGhlbSwgdGhlbiBzd2l0Y2ggaW50byBvbGQgbW9kZS5cXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gIGlmICghc3RhdGUuZmxvd2luZykge1xcbiAgICBkZWJ1ZygncmVzdW1lJyk7IC8vIHdlIGZsb3cgb25seSBpZiB0aGVyZSBpcyBubyBvbmUgbGlzdGVuaW5nXFxuICAgIC8vIGZvciByZWFkYWJsZSwgYnV0IHdlIHN0aWxsIGhhdmUgdG8gY2FsbFxcbiAgICAvLyByZXN1bWUoKVxcblxcbiAgICBzdGF0ZS5mbG93aW5nID0gIXN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nO1xcbiAgICByZXN1bWUodGhpcywgc3RhdGUpO1xcbiAgfVxcblxcbiAgc3RhdGUucGF1c2VkID0gZmFsc2U7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIHJlc3VtZShzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlc3VtZVNjaGVkdWxlZCkge1xcbiAgICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKHJlc3VtZV8sIHN0cmVhbSwgc3RhdGUpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiByZXN1bWVfKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGRlYnVnKCdyZXN1bWUnLCBzdGF0ZS5yZWFkaW5nKTtcXG5cXG4gIGlmICghc3RhdGUucmVhZGluZykge1xcbiAgICBzdHJlYW0ucmVhZCgwKTtcXG4gIH1cXG5cXG4gIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgc3RyZWFtLmVtaXQoJ3Jlc3VtZScpO1xcbiAgZmxvdyhzdHJlYW0pO1xcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLnJlYWRpbmcpIHN0cmVhbS5yZWFkKDApO1xcbn1cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XFxuICBkZWJ1ZygnY2FsbCBwYXVzZSBmbG93aW5nPSVqJywgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKTtcXG5cXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgIT09IGZhbHNlKSB7XFxuICAgIGRlYnVnKCdwYXVzZScpO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xcbiAgfVxcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQgPSB0cnVlO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5mdW5jdGlvbiBmbG93KHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2Zsb3cnLCBzdGF0ZS5mbG93aW5nKTtcXG5cXG4gIHdoaWxlIChzdGF0ZS5mbG93aW5nICYmIHN0cmVhbS5yZWFkKCkgIT09IG51bGwpIHtcXG4gICAgO1xcbiAgfVxcbn0gLy8gd3JhcCBhbiBvbGQtc3R5bGUgc3RyZWFtIGFzIHRoZSBhc3luYyBkYXRhIHNvdXJjZS5cXG4vLyBUaGlzIGlzICpub3QqIHBhcnQgb2YgdGhlIHJlYWRhYmxlIHN0cmVhbSBpbnRlcmZhY2UuXFxuLy8gSXQgaXMgYW4gdWdseSB1bmZvcnR1bmF0ZSBtZXNzIG9mIGhpc3RvcnkuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLndyYXAgPSBmdW5jdGlvbiAoc3RyZWFtKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciBwYXVzZWQgPSBmYWxzZTtcXG4gIHN0cmVhbS5vbignZW5kJywgZnVuY3Rpb24gKCkge1xcbiAgICBkZWJ1Zygnd3JhcHBlZCBlbmQnKTtcXG5cXG4gICAgaWYgKHN0YXRlLmRlY29kZXIgJiYgIXN0YXRlLmVuZGVkKSB7XFxuICAgICAgdmFyIGNodW5rID0gc3RhdGUuZGVjb2Rlci5lbmQoKTtcXG4gICAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSBfdGhpcy5wdXNoKGNodW5rKTtcXG4gICAgfVxcblxcbiAgICBfdGhpcy5wdXNoKG51bGwpO1xcbiAgfSk7XFxuICBzdHJlYW0ub24oJ2RhdGEnLCBmdW5jdGlvbiAoY2h1bmspIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgZGF0YScpO1xcbiAgICBpZiAoc3RhdGUuZGVjb2RlcikgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTsgLy8gZG9uJ3Qgc2tpcCBvdmVyIGZhbHN5IHZhbHVlcyBpbiBvYmplY3RNb2RlXFxuXFxuICAgIGlmIChzdGF0ZS5vYmplY3RNb2RlICYmIChjaHVuayA9PT0gbnVsbCB8fCBjaHVuayA9PT0gdW5kZWZpbmVkKSkgcmV0dXJuO2Vsc2UgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmICghY2h1bmsgfHwgIWNodW5rLmxlbmd0aCkpIHJldHVybjtcXG5cXG4gICAgdmFyIHJldCA9IF90aGlzLnB1c2goY2h1bmspO1xcblxcbiAgICBpZiAoIXJldCkge1xcbiAgICAgIHBhdXNlZCA9IHRydWU7XFxuICAgICAgc3RyZWFtLnBhdXNlKCk7XFxuICAgIH1cXG4gIH0pOyAvLyBwcm94eSBhbGwgdGhlIG90aGVyIG1ldGhvZHMuXFxuICAvLyBpbXBvcnRhbnQgd2hlbiB3cmFwcGluZyBmaWx0ZXJzIGFuZCBkdXBsZXhlcy5cXG5cXG4gIGZvciAodmFyIGkgaW4gc3RyZWFtKSB7XFxuICAgIGlmICh0aGlzW2ldID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHN0cmVhbVtpXSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHRoaXNbaV0gPSBmdW5jdGlvbiBtZXRob2RXcmFwKG1ldGhvZCkge1xcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIG1ldGhvZFdyYXBSZXR1cm5GdW5jdGlvbigpIHtcXG4gICAgICAgICAgcmV0dXJuIHN0cmVhbVttZXRob2RdLmFwcGx5KHN0cmVhbSwgYXJndW1lbnRzKTtcXG4gICAgICAgIH07XFxuICAgICAgfShpKTtcXG4gICAgfVxcbiAgfSAvLyBwcm94eSBjZXJ0YWluIGltcG9ydGFudCBldmVudHMuXFxuXFxuXFxuICBmb3IgKHZhciBuID0gMDsgbiA8IGtQcm94eUV2ZW50cy5sZW5ndGg7IG4rKykge1xcbiAgICBzdHJlYW0ub24oa1Byb3h5RXZlbnRzW25dLCB0aGlzLmVtaXQuYmluZCh0aGlzLCBrUHJveHlFdmVudHNbbl0pKTtcXG4gIH0gLy8gd2hlbiB3ZSB0cnkgdG8gY29uc3VtZSBzb21lIG1vcmUgYnl0ZXMsIHNpbXBseSB1bnBhdXNlIHRoZVxcbiAgLy8gdW5kZXJseWluZyBzdHJlYW0uXFxuXFxuXFxuICB0aGlzLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgX3JlYWQnLCBuKTtcXG5cXG4gICAgaWYgKHBhdXNlZCkge1xcbiAgICAgIHBhdXNlZCA9IGZhbHNlO1xcbiAgICAgIHN0cmVhbS5yZXN1bWUoKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicpIHtcXG4gIFJlYWRhYmxlLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7XFxuICAgIGlmIChjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanNcXFwiKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHRoaXMpO1xcbiAgfTtcXG59XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIH1cXG59KTtcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyO1xcbiAgfVxcbn0pO1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUZsb3dpbmcnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc7XFxuICB9LFxcbiAgc2V0OiBmdW5jdGlvbiBzZXQoc3RhdGUpIHtcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcXG4gICAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBzdGF0ZTtcXG4gICAgfVxcbiAgfVxcbn0pOyAvLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXFxuXFxuUmVhZGFibGUuX2Zyb21MaXN0ID0gZnJvbUxpc3Q7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlTGVuZ3RoJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg7XFxuICB9XFxufSk7IC8vIFBsdWNrIG9mZiBuIGJ5dGVzIGZyb20gYW4gYXJyYXkgb2YgYnVmZmVycy5cXG4vLyBMZW5ndGggaXMgdGhlIGNvbWJpbmVkIGxlbmd0aHMgb2YgYWxsIHRoZSBidWZmZXJzIGluIHRoZSBsaXN0Llxcbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXFxuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cXG5cXG5mdW5jdGlvbiBmcm9tTGlzdChuLCBzdGF0ZSkge1xcbiAgLy8gbm90aGluZyBidWZmZXJlZFxcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XFxuICB2YXIgcmV0O1xcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldCA9IHN0YXRlLmJ1ZmZlci5zaGlmdCgpO2Vsc2UgaWYgKCFuIHx8IG4gPj0gc3RhdGUubGVuZ3RoKSB7XFxuICAgIC8vIHJlYWQgaXQgYWxsLCB0cnVuY2F0ZSB0aGUgbGlzdFxcbiAgICBpZiAoc3RhdGUuZGVjb2RlcikgcmV0ID0gc3RhdGUuYnVmZmVyLmpvaW4oJycpO2Vsc2UgaWYgKHN0YXRlLmJ1ZmZlci5sZW5ndGggPT09IDEpIHJldCA9IHN0YXRlLmJ1ZmZlci5maXJzdCgpO2Vsc2UgcmV0ID0gc3RhdGUuYnVmZmVyLmNvbmNhdChzdGF0ZS5sZW5ndGgpO1xcbiAgICBzdGF0ZS5idWZmZXIuY2xlYXIoKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIHJlYWQgcGFydCBvZiBsaXN0XFxuICAgIHJldCA9IHN0YXRlLmJ1ZmZlci5jb25zdW1lKG4sIHN0YXRlLmRlY29kZXIpO1xcbiAgfVxcbiAgcmV0dXJuIHJldDtcXG59XFxuXFxuZnVuY3Rpb24gZW5kUmVhZGFibGUoc3RyZWFtKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuICBkZWJ1ZygnZW5kUmVhZGFibGUnLCBzdGF0ZS5lbmRFbWl0dGVkKTtcXG5cXG4gIGlmICghc3RhdGUuZW5kRW1pdHRlZCkge1xcbiAgICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuICAgIHByb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCwgc3RhdGUsIHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xcbiAgZGVidWcoJ2VuZFJlYWRhYmxlTlQnLCBzdGF0ZS5lbmRFbWl0dGVkLCBzdGF0ZS5sZW5ndGgpOyAvLyBDaGVjayB0aGF0IHdlIGRpZG4ndCBnZXQgb25lIGxhc3QgdW5zaGlmdC5cXG5cXG4gIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiBzdGF0ZS5sZW5ndGggPT09IDApIHtcXG4gICAgc3RhdGUuZW5kRW1pdHRlZCA9IHRydWU7XFxuICAgIHN0cmVhbS5yZWFkYWJsZSA9IGZhbHNlO1xcbiAgICBzdHJlYW0uZW1pdCgnZW5kJyk7XFxuXFxuICAgIGlmIChzdGF0ZS5hdXRvRGVzdHJveSkge1xcbiAgICAgIC8vIEluIGNhc2Ugb2YgZHVwbGV4IHN0cmVhbXMgd2UgbmVlZCBhIHdheSB0byBkZXRlY3RcXG4gICAgICAvLyBpZiB0aGUgd3JpdGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxcbiAgICAgIHZhciB3U3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XFxuXFxuICAgICAgaWYgKCF3U3RhdGUgfHwgd1N0YXRlLmF1dG9EZXN0cm95ICYmIHdTdGF0ZS5maW5pc2hlZCkge1xcbiAgICAgICAgc3RyZWFtLmRlc3Ryb3koKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicpIHtcXG4gIFJlYWRhYmxlLmZyb20gPSBmdW5jdGlvbiAoaXRlcmFibGUsIG9wdHMpIHtcXG4gICAgaWYgKGZyb20gPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIGZyb20gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZnJvbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzXFxcIik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZyb20oUmVhZGFibGUsIGl0ZXJhYmxlLCBvcHRzKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGluZGV4T2YoeHMsIHgpIHtcXG4gIGZvciAodmFyIGkgPSAwLCBsID0geHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XFxuICAgIGlmICh4c1tpXSA9PT0geCkgcmV0dXJuIGk7XFxuICB9XFxuXFxuICByZXR1cm4gLTE7XFxufVxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcXFwiKSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3o4NU1UazRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc0swTkJRVkU3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNjVWxCUVRKQ08wRkJRMmhFT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVGRDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEVzWjBKQlFXZENMRzFDUVVGUExFTkJRVU1zWVVGQlRUczdRVUZGT1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN096dEJRVWRCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhWSlFVRm5RenM3UVVGRmVrUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNLMGhCUVRSQ096dEJRVVYwUkN4bFFVRmxMRzFDUVVGUExFTkJRVU1zTWtoQlFUQkNPMEZCUTJwRU96dEJRVVZCTEhGQ1FVRnhRaXh0UWtGQlR5eERRVUZETEdkSFFVRlhPMEZCUTNoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTERKR1FVRXlSanM3TzBGQlJ6TkdPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZzUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEN0R1FVRXJSanRCUVVNdlJqdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2VVVkJRWGxGTEcxR1FVRnRSanRCUVVNMVNqczdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMREpIUVVGclFqdEJRVU12UXl3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzZVVWQlFYbEZPMEZCUTNwRk96dEJRVVZCTzBGQlEwRXNhMFpCUVd0R08wRkJRMnhHT3p0QlFVVkJMREJHUVVFd1JqdEJRVU14Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTzBGQlEzWkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJN1FVRkRia0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ0xDdERRVUVyUXpzN1FVRkZMME1zTWtOQlFUSkRPenRCUVVVelF5eDVRa0ZCZVVJN1FVRkRla0k3UVVGRFFUczdRVUZGUVN3eVJFRkJNa1E3TzBGQlJUTkVMSE5DUVVGelFqczdRVUZGZEVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkME5CUVhkRExHMUNRVUZQTEVOQlFVTXNORVZCUVdsQ08wRkJRMnBGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zTWtkQlFXdENPMEZCUXk5RExHZEZRVUZuUlR0QlFVTm9SVHM3UVVGRlFUdEJRVU5CTEcxRlFVRnRSVHM3UVVGRmJrVTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJMRVZCUVVVN096dEJRVWRHTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3clJrRkJLMFk3UVVGREwwWXNUMEZCVHp0QlFVTlFPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUmtGQk5FWTdRVUZETlVZc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPenM3UVVGSFJqdEJRVU5CTEhORFFVRnpReXh0UWtGQlR5eERRVUZETERSRlFVRnBRanRCUVVNdlJEdEJRVU5CTEhkRFFVRjNRenM3UVVGRmVFTXNjMFZCUVhORk96dEJRVVYwUlR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdPenRCUVVkR096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXp0QlFVTkVPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxEUkZRVUUwUlR0QlFVTTFSU3hIUVVGSE96czdRVUZIU0R0QlFVTkJMR3REUVVGclF6czdRVUZGYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4RFFVRkRPenM3UVVGSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05rTkJRVFpETzBGQlF6ZERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERaRVFVRTJSRHRCUVVNM1JEdEJRVU5CT3p0QlFVVkJMRGhDUVVFNFFqczdRVUZGT1VJN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFTeHBRMEZCYVVNN08wRkJSV3BETzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeHpRa0ZCYzBJN08wRkJSWFJDTEhORVFVRnpSRHM3UVVGRmRFUTdPMEZCUlVFc2RVSkJRWFZDTzBGQlEzWkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4elEwRkJjME03TzBGQlJYUkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPenRCUVVWb1JEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5SRUZCWjBRN1FVRkRhRVE3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0N4NVFrRkJlVUk3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hKUVVGSk96dEJRVVZLTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFc2EwTkJRV3RET3p0QlFVVnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVURzN1FVRkZRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVWQlFXbEZPenRCUVVWcVJUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhsQ1FVRjVRanRCUVVONlFpeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlDUVVGdlFqdEJRVU53UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMREJFUVVFd1JEczdRVUZGTVVRc05FVkJRVFJGT3p0QlFVVTFSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjc1JVRkJSVHRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTEVkQlFVYzdPenRCUVVkSUxHbENRVUZwUWl4NVFrRkJlVUk3UVVGRE1VTTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERCRFFVRXdReXh0UWtGQlR5eERRVUZETERaSlFVRnRRenRCUVVOeVJqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVUkJRVzFFTzBGQlEyNUVPMEZCUTBFc2JVUkJRVzFFTEN0RVFVRXJSRHRCUVVOc1NEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2VVUkJRWGxFT3p0QlFVVjZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHbEpRVUY1UWp0QlFVTTVRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3huUTBGQlowTXNUMEZCVHp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUVOdmNIbHlhV2RvZENCS2IzbGxiblFzSUVsdVl5NGdZVzVrSUc5MGFHVnlJRTV2WkdVZ1kyOXVkSEpwWW5WMGIzSnpMbHh1THk5Y2JpOHZJRkJsY20xcGMzTnBiMjRnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1FzSUdaeVpXVWdiMllnWTJoaGNtZGxMQ0IwYnlCaGJua2djR1Z5YzI5dUlHOWlkR0ZwYm1sdVp5QmhYRzR2THlCamIzQjVJRzltSUhSb2FYTWdjMjltZEhkaGNtVWdZVzVrSUdGemMyOWphV0YwWldRZ1pHOWpkVzFsYm5SaGRHbHZiaUJtYVd4bGN5QW9kR2hsWEc0dkx5QmNJbE52Wm5SM1lYSmxYQ0lwTENCMGJ5QmtaV0ZzSUdsdUlIUm9aU0JUYjJaMGQyRnlaU0IzYVhSb2IzVjBJSEpsYzNSeWFXTjBhVzl1TENCcGJtTnNkV1JwYm1kY2JpOHZJSGRwZEdodmRYUWdiR2x0YVhSaGRHbHZiaUIwYUdVZ2NtbG5hSFJ6SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQnRaWEpuWlN3Z2NIVmliR2x6YUN4Y2JpOHZJR1JwYzNSeWFXSjFkR1VzSUhOMVlteHBZMlZ1YzJVc0lHRnVaQzl2Y2lCelpXeHNJR052Y0dsbGN5QnZaaUIwYUdVZ1UyOW1kSGRoY21Vc0lHRnVaQ0IwYnlCd1pYSnRhWFJjYmk4dklIQmxjbk52Ym5NZ2RHOGdkMmh2YlNCMGFHVWdVMjltZEhkaGNtVWdhWE1nWm5WeWJtbHphR1ZrSUhSdklHUnZJSE52TENCemRXSnFaV04wSUhSdklIUm9aVnh1THk4Z1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTTZYRzR2TDF4dUx5OGdWR2hsSUdGaWIzWmxJR052Y0hseWFXZG9kQ0J1YjNScFkyVWdZVzVrSUhSb2FYTWdjR1Z5YldsemMybHZiaUJ1YjNScFkyVWdjMmhoYkd3Z1ltVWdhVzVqYkhWa1pXUmNiaTh2SUdsdUlHRnNiQ0JqYjNCcFpYTWdiM0lnYzNWaWMzUmhiblJwWVd3Z2NHOXlkR2x2Ym5NZ2IyWWdkR2hsSUZOdlpuUjNZWEpsTGx4dUx5OWNiaTh2SUZSSVJTQlRUMFpVVjBGU1JTQkpVeUJRVWs5V1NVUkZSQ0JjSWtGVElFbFRYQ0lzSUZkSlZFaFBWVlFnVjBGU1VrRk9WRmtnVDBZZ1FVNVpJRXRKVGtRc0lFVllVRkpGVTFOY2JpOHZJRTlTSUVsTlVFeEpSVVFzSUVsT1EweFZSRWxPUnlCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4Z1ZFaEZJRmRCVWxKQlRsUkpSVk1nVDBaY2JpOHZJRTFGVWtOSVFVNVVRVUpKVEVsVVdTd2dSa2xVVGtWVFV5QkdUMUlnUVNCUVFWSlVTVU5WVEVGU0lGQlZVbEJQVTBVZ1FVNUVJRTVQVGtsT1JsSkpUa2RGVFVWT1ZDNGdTVTVjYmk4dklFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkJWVlJJVDFKVElFOVNJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUpGSUV4SlFVSk1SU0JHVDFJZ1FVNVpJRU5NUVVsTkxGeHVMeThnUkVGTlFVZEZVeUJQVWlCUFZFaEZVaUJNU1VGQ1NVeEpWRmtzSUZkSVJWUklSVklnU1U0Z1FVNGdRVU5VU1U5T0lFOUdJRU5QVGxSU1FVTlVMQ0JVVDFKVUlFOVNYRzR2THlCUFZFaEZVbGRKVTBVc0lFRlNTVk5KVGtjZ1JsSlBUU3dnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdVMDlHVkZkQlVrVWdUMUlnVkVoRlhHNHZMeUJWVTBVZ1QxSWdUMVJJUlZJZ1JFVkJURWxPUjFNZ1NVNGdWRWhGSUZOUFJsUlhRVkpGTGx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUZKbFlXUmhZbXhsTzF4dUx5bzhjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVkbUZ5SUVSMWNHeGxlRHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNVNaV0ZrWVdKc1pTNVNaV0ZrWVdKc1pWTjBZWFJsSUQwZ1VtVmhaR0ZpYkdWVGRHRjBaVHRjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JuWmhjaUJGUlNBOUlISmxjWFZwY21Vb0oyVjJaVzUwY3ljcExrVjJaVzUwUlcxcGRIUmxjanRjYmx4dWRtRnlJRVZGYkdsemRHVnVaWEpEYjNWdWRDQTlJR1oxYm1OMGFXOXVJRVZGYkdsemRHVnVaWEpEYjNWdWRDaGxiV2wwZEdWeUxDQjBlWEJsS1NCN1hHNGdJSEpsZEhWeWJpQmxiV2wwZEdWeUxteHBjM1JsYm1WeWN5aDBlWEJsS1M1c1pXNW5kR2c3WEc1OU8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JseHVkbUZ5SUZOMGNtVmhiU0E5SUhKbGNYVnBjbVVvSnk0dmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5emRISmxZVzBuS1R0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZGlkV1ptWlhJbktTNUNkV1ptWlhJN1hHNWNiblpoY2lCUGRYSlZhVzUwT0VGeWNtRjVJRDBnWjJ4dlltRnNMbFZwYm5RNFFYSnlZWGtnZkh3Z1puVnVZM1JwYjI0Z0tDa2dlMzA3WEc1Y2JtWjFibU4wYVc5dUlGOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSW9ZMmgxYm1zcElIdGNiaUFnY21WMGRYSnVJRUoxWm1abGNpNW1jbTl0S0dOb2RXNXJLVHRjYm4xY2JseHVablZ1WTNScGIyNGdYMmx6VldsdWREaEJjbkpoZVNodlltb3BJSHRjYmlBZ2NtVjBkWEp1SUVKMVptWmxjaTVwYzBKMVptWmxjaWh2WW1vcElIeDhJRzlpYWlCcGJuTjBZVzVqWlc5bUlFOTFjbFZwYm5RNFFYSnlZWGs3WEc1OVhHNHZLanh5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzVjYm5aaGNpQmtaV0oxWjFWMGFXd2dQU0J5WlhGMWFYSmxLQ2QxZEdsc0p5azdYRzVjYm5aaGNpQmtaV0oxWnp0Y2JseHVhV1lnS0dSbFluVm5WWFJwYkNBbUppQmtaV0oxWjFWMGFXd3VaR1ZpZFdkc2IyY3BJSHRjYmlBZ1pHVmlkV2NnUFNCa1pXSjFaMVYwYVd3dVpHVmlkV2RzYjJjb0ozTjBjbVZoYlNjcE8xeHVmU0JsYkhObElIdGNiaUFnWkdWaWRXY2dQU0JtZFc1amRHbHZiaUJrWldKMVp5Z3BJSHQ5TzF4dWZWeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmx4dWRtRnlJRUoxWm1abGNreHBjM1FnUFNCeVpYRjFhWEpsS0NjdUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlluVm1abVZ5WDJ4cGMzUW5LVHRjYmx4dWRtRnlJR1JsYzNSeWIzbEpiWEJzSUQwZ2NtVnhkV2x5WlNnbkxpOXBiblJsY201aGJDOXpkSEpsWVcxekwyUmxjM1J5YjNrbktUdGNibHh1ZG1GeUlGOXlaWEYxYVhKbElEMGdjbVZ4ZFdseVpTZ25MaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMM04wWVhSbEp5a3NYRzRnSUNBZ1oyVjBTR2xuYUZkaGRHVnlUV0Z5YXlBOUlGOXlaWEYxYVhKbExtZGxkRWhwWjJoWFlYUmxjazFoY21zN1hHNWNiblpoY2lCZmNtVnhkV2x5WlNSamIyUmxjeUE5SUhKbGNYVnBjbVVvSnk0dUwyVnljbTl5Y3ljcExtTnZaR1Z6TEZ4dUlDQWdJRVZTVWw5SlRsWkJURWxFWDBGU1IxOVVXVkJGSUQwZ1gzSmxjWFZwY21Va1kyOWtaWE11UlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVc1hHNGdJQ0FnUlZKU1gxTlVVa1ZCVFY5UVZWTklYMEZHVkVWU1gwVlBSaUE5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5VFZGSkZRVTFmVUZWVFNGOUJSbFJGVWw5RlQwWXNYRzRnSUNBZ1JWSlNYMDFGVkVoUFJGOU9UMVJmU1UxUVRFVk5SVTVVUlVRZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZUVVZVU0U5RVgwNVBWRjlKVFZCTVJVMUZUbFJGUkN4Y2JpQWdJQ0JGVWxKZlUxUlNSVUZOWDFWT1UwaEpSbFJmUVVaVVJWSmZSVTVFWDBWV1JVNVVJRDBnWDNKbGNYVnBjbVVrWTI5a1pYTXVSVkpTWDFOVVVrVkJUVjlWVGxOSVNVWlVYMEZHVkVWU1gwVk9SRjlGVmtWT1ZEc2dMeThnVEdGNmVTQnNiMkZrWldRZ2RHOGdhVzF3Y205MlpTQjBhR1VnYzNSaGNuUjFjQ0J3WlhKbWIzSnRZVzVqWlM1Y2JseHVYRzUyWVhJZ1UzUnlhVzVuUkdWamIyUmxjanRjYm5aaGNpQmpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJN1hHNTJZWElnWm5KdmJUdGNibHh1Y21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1NoU1pXRmtZV0pzWlN3Z1UzUnlaV0Z0S1R0Y2JseHVkbUZ5SUdWeWNtOXlUM0pFWlhOMGNtOTVJRDBnWkdWemRISnZlVWx0Y0d3dVpYSnliM0pQY2tSbGMzUnliM2s3WEc1MllYSWdhMUJ5YjNoNVJYWmxiblJ6SUQwZ1d5ZGxjbkp2Y2ljc0lDZGpiRzl6WlNjc0lDZGtaWE4wY205NUp5d2dKM0JoZFhObEp5d2dKM0psYzNWdFpTZGRPMXh1WEc1bWRXNWpkR2x2YmlCd2NtVndaVzVrVEdsemRHVnVaWElvWlcxcGRIUmxjaXdnWlhabGJuUXNJR1p1S1NCN1hHNGdJQzh2SUZOaFpHeDVJSFJvYVhNZ2FYTWdibTkwSUdOaFkyaGxZV0pzWlNCaGN5QnpiMjFsSUd4cFluSmhjbWxsY3lCaWRXNWtiR1VnZEdobGFYSWdiM2R1WEc0Z0lDOHZJR1YyWlc1MElHVnRhWFIwWlhJZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnZDJsMGFDQjBhR1Z0TGx4dUlDQnBaaUFvZEhsd1pXOW1JR1Z0YVhSMFpYSXVjSEpsY0dWdVpFeHBjM1JsYm1WeUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCeVpYUjFjbTRnWlcxcGRIUmxjaTV3Y21Wd1pXNWtUR2x6ZEdWdVpYSW9aWFpsYm5Rc0lHWnVLVHNnTHk4Z1ZHaHBjeUJwY3lCaElHaGhZMnNnZEc4Z2JXRnJaU0J6ZFhKbElIUm9ZWFFnYjNWeUlHVnljbTl5SUdoaGJtUnNaWElnYVhNZ1lYUjBZV05vWldRZ1ltVm1iM0psSUdGdWVWeHVJQ0F2THlCMWMyVnliR0Z1WkNCdmJtVnpMaUFnVGtWV1JWSWdSRThnVkVoSlV5NGdWR2hwY3lCcGN5Qm9aWEpsSUc5dWJIa2dZbVZqWVhWelpTQjBhR2x6SUdOdlpHVWdibVZsWkhOY2JpQWdMeThnZEc4Z1kyOXVkR2x1ZFdVZ2RHOGdkMjl5YXlCM2FYUm9JRzlzWkdWeUlIWmxjbk5wYjI1eklHOW1JRTV2WkdVdWFuTWdkR2hoZENCa2J5QnViM1FnYVc1amJIVmtaVnh1SUNBdkx5QjBhR1VnY0hKbGNHVnVaRXhwYzNSbGJtVnlLQ2tnYldWMGFHOWtMaUJVYUdVZ1oyOWhiQ0JwY3lCMGJ5QmxkbVZ1ZEhWaGJHeDVJSEpsYlc5MlpTQjBhR2x6SUdoaFkyc3VYRzVjYmlBZ2FXWWdLQ0ZsYldsMGRHVnlMbDlsZG1WdWRITWdmSHdnSVdWdGFYUjBaWEl1WDJWMlpXNTBjMXRsZG1WdWRGMHBJR1Z0YVhSMFpYSXViMjRvWlhabGJuUXNJR1p1S1R0bGJITmxJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLR1Z0YVhSMFpYSXVYMlYyWlc1MGMxdGxkbVZ1ZEYwcEtTQmxiV2wwZEdWeUxsOWxkbVZ1ZEhOYlpYWmxiblJkTG5WdWMyaHBablFvWm00cE8yVnNjMlVnWlcxcGRIUmxjaTVmWlhabGJuUnpXMlYyWlc1MFhTQTlJRnRtYml3Z1pXMXBkSFJsY2k1ZlpYWmxiblJ6VzJWMlpXNTBYVjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJRkpsWVdSaFlteGxVM1JoZEdVb2IzQjBhVzl1Y3l3Z2MzUnlaV0Z0TENCcGMwUjFjR3hsZUNrZ2UxeHVJQ0JFZFhCc1pYZ2dQU0JFZFhCc1pYZ2dmSHdnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDJSMWNHeGxlQ2NwTzF4dUlDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5QjhmQ0I3ZlRzZ0x5OGdSSFZ3YkdWNElITjBjbVZoYlhNZ1lYSmxJR0p2ZEdnZ2NtVmhaR0ZpYkdVZ1lXNWtJSGR5YVhSaFlteGxMQ0JpZFhRZ2MyaGhjbVZjYmlBZ0x5OGdkR2hsSUhOaGJXVWdiM0IwYVc5dWN5QnZZbXBsWTNRdVhHNGdJQzh2SUVodmQyVjJaWElzSUhOdmJXVWdZMkZ6WlhNZ2NtVnhkV2x5WlNCelpYUjBhVzVuSUc5d2RHbHZibk1nZEc4Z1pHbG1abVZ5Wlc1MFhHNGdJQzh2SUhaaGJIVmxjeUJtYjNJZ2RHaGxJSEpsWVdSaFlteGxJR0Z1WkNCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlhNZ2IyWWdkR2hsSUdSMWNHeGxlQ0J6ZEhKbFlXMHVYRzRnSUM4dklGUm9aWE5sSUc5d2RHbHZibk1nWTJGdUlHSmxJSEJ5YjNacFpHVmtJSE5sY0dGeVlYUmxiSGtnWVhNZ2NtVmhaR0ZpYkdWWVdGZ2dZVzVrSUhkeWFYUmhZbXhsV0ZoWUxseHVYRzRnSUdsbUlDaDBlWEJsYjJZZ2FYTkVkWEJzWlhnZ0lUMDlJQ2RpYjI5c1pXRnVKeWtnYVhORWRYQnNaWGdnUFNCemRISmxZVzBnYVc1emRHRnVZMlZ2WmlCRWRYQnNaWGc3SUM4dklHOWlhbVZqZENCemRISmxZVzBnWm14aFp5NGdWWE5sWkNCMGJ5QnRZV3RsSUhKbFlXUW9iaWtnYVdkdWIzSmxJRzRnWVc1a0lIUnZYRzRnSUM4dklHMWhhMlVnWVd4c0lIUm9aU0JpZFdabVpYSWdiV1Z5WjJsdVp5QmhibVFnYkdWdVozUm9JR05vWldOcmN5Qm5ieUJoZDJGNVhHNWNiaUFnZEdocGN5NXZZbXBsWTNSTmIyUmxJRDBnSVNGdmNIUnBiMjV6TG05aWFtVmpkRTF2WkdVN1hHNGdJR2xtSUNocGMwUjFjR3hsZUNrZ2RHaHBjeTV2WW1wbFkzUk5iMlJsSUQwZ2RHaHBjeTV2WW1wbFkzUk5iMlJsSUh4OElDRWhiM0IwYVc5dWN5NXlaV0ZrWVdKc1pVOWlhbVZqZEUxdlpHVTdJQzh2SUhSb1pTQndiMmx1ZENCaGRDQjNhR2xqYUNCcGRDQnpkRzl3Y3lCallXeHNhVzVuSUY5eVpXRmtLQ2tnZEc4Z1ptbHNiQ0IwYUdVZ1luVm1abVZ5WEc0Z0lDOHZJRTV2ZEdVNklEQWdhWE1nWVNCMllXeHBaQ0IyWVd4MVpTd2diV1ZoYm5NZ1hDSmtiMjRuZENCallXeHNJRjl5WldGa0lIQnlaV1Z0Y0hScGRtVnNlU0JsZG1WeVhDSmNibHh1SUNCMGFHbHpMbWhwWjJoWFlYUmxjazFoY21zZ1BTQm5aWFJJYVdkb1YyRjBaWEpOWVhKcktIUm9hWE1zSUc5d2RHbHZibk1zSUNkeVpXRmtZV0pzWlVocFoyaFhZWFJsY2sxaGNtc25MQ0JwYzBSMWNHeGxlQ2s3SUM4dklFRWdiR2x1YTJWa0lHeHBjM1FnYVhNZ2RYTmxaQ0IwYnlCemRHOXlaU0JrWVhSaElHTm9kVzVyY3lCcGJuTjBaV0ZrSUc5bUlHRnVJR0Z5Y21GNUlHSmxZMkYxYzJVZ2RHaGxYRzRnSUM4dklHeHBibXRsWkNCc2FYTjBJR05oYmlCeVpXMXZkbVVnWld4bGJXVnVkSE1nWm5KdmJTQjBhR1VnWW1WbmFXNXVhVzVuSUdaaGMzUmxjaUIwYUdGdVhHNGdJQzh2SUdGeWNtRjVMbk5vYVdaMEtDbGNibHh1SUNCMGFHbHpMbUoxWm1abGNpQTlJRzVsZHlCQ2RXWm1aWEpNYVhOMEtDazdYRzRnSUhSb2FYTXViR1Z1WjNSb0lEMGdNRHRjYmlBZ2RHaHBjeTV3YVhCbGN5QTlJRzUxYkd3N1hHNGdJSFJvYVhNdWNHbHdaWE5EYjNWdWRDQTlJREE3WEc0Z0lIUm9hWE11Wm14dmQybHVaeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXVaVzVrWldRZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1bGJtUkZiV2wwZEdWa0lEMGdabUZzYzJVN1hHNGdJSFJvYVhNdWNtVmhaR2x1WnlBOUlHWmhiSE5sT3lBdkx5QmhJR1pzWVdjZ2RHOGdZbVVnWVdKc1pTQjBieUIwWld4c0lHbG1JSFJvWlNCbGRtVnVkQ0FuY21WaFpHRmliR1VuTHlka1lYUmhKeUJwY3lCbGJXbDBkR1ZrWEc0Z0lDOHZJR2x0YldWa2FXRjBaV3g1TENCdmNpQnZiaUJoSUd4aGRHVnlJSFJwWTJzdUlDQlhaU0J6WlhRZ2RHaHBjeUIwYnlCMGNuVmxJR0YwSUdacGNuTjBMQ0JpWldOaGRYTmxYRzRnSUM4dklHRnVlU0JoWTNScGIyNXpJSFJvWVhRZ2MyaHZkV3hrYmlkMElHaGhjSEJsYmlCMWJuUnBiQ0JjSW14aGRHVnlYQ0lnYzJodmRXeGtJR2RsYm1WeVlXeHNlU0JoYkhOdlhHNGdJQzh2SUc1dmRDQm9ZWEJ3Wlc0Z1ltVm1iM0psSUhSb1pTQm1hWEp6ZENCeVpXRmtJR05oYkd3dVhHNWNiaUFnZEdocGN5NXplVzVqSUQwZ2RISjFaVHNnTHk4Z2QyaGxibVYyWlhJZ2QyVWdjbVYwZFhKdUlHNTFiR3dzSUhSb1pXNGdkMlVnYzJWMElHRWdabXhoWnlCMGJ5QnpZWGxjYmlBZ0x5OGdkR2hoZENCM1pTZHlaU0JoZDJGcGRHbHVaeUJoSUNkeVpXRmtZV0pzWlNjZ1pYWmxiblFnWlcxcGMzTnBiMjR1WEc1Y2JpQWdkR2hwY3k1dVpXVmtVbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlHWmhiSE5sTzF4dUlDQjBhR2x6TG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0E5SUdaaGJITmxPMXh1SUNCMGFHbHpMbkJoZFhObFpDQTlJSFJ5ZFdVN0lDOHZJRk5vYjNWc1pDQmpiRzl6WlNCaVpTQmxiV2wwZEdWa0lHOXVJR1JsYzNSeWIza3VJRVJsWm1GMWJIUnpJSFJ2SUhSeWRXVXVYRzVjYmlBZ2RHaHBjeTVsYldsMFEyeHZjMlVnUFNCdmNIUnBiMjV6TG1WdGFYUkRiRzl6WlNBaFBUMGdabUZzYzJVN0lDOHZJRk5vYjNWc1pDQXVaR1Z6ZEhKdmVTZ3BJR0psSUdOaGJHeGxaQ0JoWm5SbGNpQW5aVzVrSnlBb1lXNWtJSEJ2ZEdWdWRHbGhiR3g1SUNkbWFXNXBjMmduS1Z4dVhHNGdJSFJvYVhNdVlYVjBiMFJsYzNSeWIza2dQU0FoSVc5d2RHbHZibk11WVhWMGIwUmxjM1J5YjNrN0lDOHZJR2hoY3lCcGRDQmlaV1Z1SUdSbGMzUnliM2xsWkZ4dVhHNGdJSFJvYVhNdVpHVnpkSEp2ZVdWa0lEMGdabUZzYzJVN0lDOHZJRU55ZVhCMGJ5QnBjeUJyYVc1a0lHOW1JRzlzWkNCaGJtUWdZM0oxYzNSNUxpQWdTR2x6ZEc5eWFXTmhiR3g1TENCcGRITWdaR1ZtWVhWc2RDQnpkSEpwYm1kY2JpQWdMeThnWlc1amIyUnBibWNnYVhNZ0oySnBibUZ5ZVNjZ2MyOGdkMlVnYUdGMlpTQjBieUJ0WVd0bElIUm9hWE1nWTI5dVptbG5kWEpoWW14bExseHVJQ0F2THlCRmRtVnllWFJvYVc1bklHVnNjMlVnYVc0Z2RHaGxJSFZ1YVhabGNuTmxJSFZ6WlhNZ0ozVjBaamduTENCMGFHOTFaMmd1WEc1Y2JpQWdkR2hwY3k1a1pXWmhkV3gwUlc1amIyUnBibWNnUFNCdmNIUnBiMjV6TG1SbFptRjFiSFJGYm1OdlpHbHVaeUI4ZkNBbmRYUm1PQ2M3SUM4dklIUm9aU0J1ZFcxaVpYSWdiMllnZDNKcGRHVnljeUIwYUdGMElHRnlaU0JoZDJGcGRHbHVaeUJoSUdSeVlXbHVJR1YyWlc1MElHbHVJQzV3YVhCbEtDbHpYRzVjYmlBZ2RHaHBjeTVoZDJGcGRFUnlZV2x1SUQwZ01Ec2dMeThnYVdZZ2RISjFaU3dnWVNCdFlYbGlaVkpsWVdSTmIzSmxJR2hoY3lCaVpXVnVJSE5qYUdWa2RXeGxaRnh1WEc0Z0lIUm9hWE11Y21WaFpHbHVaMDF2Y21VZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1a1pXTnZaR1Z5SUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTXVaVzVqYjJScGJtY3BJSHRjYmlBZ0lDQnBaaUFvSVZOMGNtbHVaMFJsWTI5a1pYSXBJRk4wY21sdVowUmxZMjlrWlhJZ1BTQnlaWEYxYVhKbEtDZHpkSEpwYm1kZlpHVmpiMlJsY2k4bktTNVRkSEpwYm1kRVpXTnZaR1Z5TzF4dUlDQWdJSFJvYVhNdVpHVmpiMlJsY2lBOUlHNWxkeUJUZEhKcGJtZEVaV052WkdWeUtHOXdkR2x2Ym5NdVpXNWpiMlJwYm1jcE8xeHVJQ0FnSUhSb2FYTXVaVzVqYjJScGJtY2dQU0J2Y0hScGIyNXpMbVZ1WTI5a2FXNW5PMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUZKbFlXUmhZbXhsS0c5d2RHbHZibk1wSUh0Y2JpQWdSSFZ3YkdWNElEMGdSSFZ3YkdWNElIeDhJSEpsY1hWcGNtVW9KeTR2WDNOMGNtVmhiVjlrZFhCc1pYZ25LVHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRkpsWVdSaFlteGxLU2tnY21WMGRYSnVJRzVsZHlCU1pXRmtZV0pzWlNodmNIUnBiMjV6S1RzZ0x5OGdRMmhsWTJ0cGJtY2dabTl5SUdFZ1UzUnlaV0Z0TGtSMWNHeGxlQ0JwYm5OMFlXNWpaU0JwY3lCbVlYTjBaWElnYUdWeVpTQnBibk4wWldGa0lHOW1JR2x1YzJsa1pWeHVJQ0F2THlCMGFHVWdVbVZoWkdGaWJHVlRkR0YwWlNCamIyNXpkSEoxWTNSdmNpd2dZWFFnYkdWaGMzUWdkMmwwYUNCV09DQTJMalZjYmx4dUlDQjJZWElnYVhORWRYQnNaWGdnUFNCMGFHbHpJR2x1YzNSaGJtTmxiMllnUkhWd2JHVjRPMXh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElEMGdibVYzSUZKbFlXUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2dkR2hwY3l3Z2FYTkVkWEJzWlhncE95QXZMeUJzWldkaFkzbGNibHh1SUNCMGFHbHpMbkpsWVdSaFlteGxJRDBnZEhKMVpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NXlaV0ZrSUQwOVBTQW5ablZ1WTNScGIyNG5LU0IwYUdsekxsOXlaV0ZrSUQwZ2IzQjBhVzl1Y3k1eVpXRmtPMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NWtaWE4wY205NUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCMGFHbHpMbDlrWlhOMGNtOTVJRDBnYjNCMGFXOXVjeTVrWlhOMGNtOTVPMXh1SUNCOVhHNWNiaUFnVTNSeVpXRnRMbU5oYkd3b2RHaHBjeWs3WEc1OVhHNWNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoU1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVc0lDZGtaWE4wY205NVpXUW5MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNWtaWE4wY205NVpXUTdYRzRnSUgwc1hHNGdJSE5sZERvZ1puVnVZM1JwYjI0Z2MyVjBLSFpoYkhWbEtTQjdYRzRnSUNBZ0x5OGdkMlVnYVdkdWIzSmxJSFJvWlNCMllXeDFaU0JwWmlCMGFHVWdjM1J5WldGdFhHNGdJQ0FnTHk4Z2FHRnpJRzV2ZENCaVpXVnVJR2x1YVhScFlXeHBlbVZrSUhsbGRGeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnWW1GamEzZGhjbVFnWTI5dGNHRjBhV0pwYkdsMGVTd2dkR2hsSUhWelpYSWdhWE1nWlhod2JHbGphWFJzZVZ4dUlDQWdJQzh2SUcxaGJtRm5hVzVuSUdSbGMzUnliM2xsWkZ4dVhHNWNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFpoYkhWbE8xeHVJQ0I5WEc1OUtUdGNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVrWlhOMGNtOTVJRDBnWkdWemRISnZlVWx0Y0d3dVpHVnpkSEp2ZVR0Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNWZkVzVrWlhOMGNtOTVJRDBnWkdWemRISnZlVWx0Y0d3dWRXNWtaWE4wY205NU8xeHVYRzVTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1WDJSbGMzUnliM2tnUFNCbWRXNWpkR2x2YmlBb1pYSnlMQ0JqWWlrZ2UxeHVJQ0JqWWlobGNuSXBPMXh1ZlRzZ0x5OGdUV0Z1ZFdGc2JIa2djMmh2ZG1VZ2MyOXRaWFJvYVc1bklHbHVkRzhnZEdobElISmxZV1FvS1NCaWRXWm1aWEl1WEc0dkx5QlVhR2x6SUhKbGRIVnlibk1nZEhKMVpTQnBaaUIwYUdVZ2FHbG5hRmRoZEdWeVRXRnlheUJvWVhNZ2JtOTBJR0psWlc0Z2FHbDBJSGxsZEN4Y2JpOHZJSE5wYldsc1lYSWdkRzhnYUc5M0lGZHlhWFJoWW14bExuZHlhWFJsS0NrZ2NtVjBkWEp1Y3lCMGNuVmxJR2xtSUhsdmRTQnphRzkxYkdSY2JpOHZJSGR5YVhSbEtDa2djMjl0WlNCdGIzSmxMbHh1WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXdkWE5vSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVJQ0IyWVhJZ2MydHBjRU5vZFc1clEyaGxZMnM3WEc1Y2JpQWdhV1lnS0NGemRHRjBaUzV2WW1wbFkzUk5iMlJsS1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUE5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lHVnVZMjlrYVc1bklEMGdaVzVqYjJScGJtY2dmSHdnYzNSaGRHVXVaR1ZtWVhWc2RFVnVZMjlrYVc1bk8xeHVYRzRnSUNBZ0lDQnBaaUFvWlc1amIyUnBibWNnSVQwOUlITjBZWFJsTG1WdVkyOWthVzVuS1NCN1hHNGdJQ0FnSUNBZ0lHTm9kVzVySUQwZ1FuVm1abVZ5TG1aeWIyMG9ZMmgxYm1zc0lHVnVZMjlrYVc1bktUdGNiaUFnSUNBZ0lDQWdaVzVqYjJScGJtY2dQU0FuSnp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MydHBjRU5vZFc1clEyaGxZMnNnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnphMmx3UTJoMWJtdERhR1ZqYXlBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnY21WaFpHRmliR1ZCWkdSRGFIVnVheWgwYUdsekxDQmphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHWmhiSE5sTENCemEybHdRMmgxYm10RGFHVmpheWs3WEc1OU95QXZMeUJWYm5Ob2FXWjBJSE5vYjNWc1pDQXFZV3gzWVhsektpQmlaU0J6YjIxbGRHaHBibWNnWkdseVpXTjBiSGtnYjNWMElHOW1JSEpsWVdRb0tWeHVYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1MWJuTm9hV1owSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyS1NCN1hHNGdJSEpsZEhWeWJpQnlaV0ZrWVdKc1pVRmtaRU5vZFc1cktIUm9hWE1zSUdOb2RXNXJMQ0J1ZFd4c0xDQjBjblZsTENCbVlXeHpaU2s3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJ5WldGa1lXSnNaVUZrWkVOb2RXNXJLSE4wY21WaGJTd2dZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmhaR1JVYjBaeWIyNTBMQ0J6YTJsd1EyaDFibXREYUdWamF5a2dlMXh1SUNCa1pXSjFaeWduY21WaFpHRmliR1ZCWkdSRGFIVnVheWNzSUdOb2RXNXJLVHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dVhHNGdJR2xtSUNoamFIVnVheUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSE4wWVhSbExuSmxZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0J2YmtWdlprTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCbGNqdGNiaUFnSUNCcFppQW9JWE5yYVhCRGFIVnVhME5vWldOcktTQmxjaUE5SUdOb2RXNXJTVzUyWVd4cFpDaHpkR0YwWlN3Z1kyaDFibXNwTzF4dVhHNGdJQ0FnYVdZZ0tHVnlLU0I3WEc0Z0lDQWdJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSE4wWVhSbExtOWlhbVZqZEUxdlpHVWdmSHdnWTJoMWJtc2dKaVlnWTJoMWJtc3ViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUFoUFQwZ0ozTjBjbWx1WnljZ0ppWWdJWE4wWVhSbExtOWlhbVZqZEUxdlpHVWdKaVlnVDJKcVpXTjBMbWRsZEZCeWIzUnZkSGx3WlU5bUtHTm9kVzVyS1NBaFBUMGdRblZtWm1WeUxuQnliM1J2ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0JqYUhWdWF5QTlJRjkxYVc1ME9FRnljbUY1Vkc5Q2RXWm1aWElvWTJoMWJtc3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1lXUmtWRzlHY205dWRDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2MzUmhkR1V1Wlc1a1JXMXBkSFJsWkNrZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0J1WlhjZ1JWSlNYMU5VVWtWQlRWOVZUbE5JU1VaVVgwRkdWRVZTWDBWT1JGOUZWa1ZPVkNncEtUdGxiSE5sSUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQjBjblZsS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSlBja1JsYzNSeWIza29jM1J5WldGdExDQnVaWGNnUlZKU1gxTlVVa1ZCVFY5UVZWTklYMEZHVkVWU1gwVlBSaWdwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1WkdWemRISnZlV1ZrS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSE4wWVhSbExuSmxZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYzNSaGRHVXVaR1ZqYjJSbGNpQW1KaUFoWlc1amIyUnBibWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmphSFZ1YXlBOUlITjBZWFJsTG1SbFkyOWtaWEl1ZDNKcGRHVW9ZMmgxYm1zcE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoemRHRjBaUzV2WW1wbFkzUk5iMlJsSUh4OElHTm9kVzVyTG14bGJtZDBhQ0FoUFQwZ01Da2dZV1JrUTJoMWJtc29jM1J5WldGdExDQnpkR0YwWlN3Z1kyaDFibXNzSUdaaGJITmxLVHRsYkhObElHMWhlV0psVW1WaFpFMXZjbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnWVdSa1EyaDFibXNvYzNSeVpXRnRMQ0J6ZEdGMFpTd2dZMmgxYm1zc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb0lXRmtaRlJ2Um5KdmJuUXBJSHRjYmlBZ0lDQWdJSE4wWVhSbExuSmxZV1JwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUcxaGVXSmxVbVZoWkUxdmNtVW9jM1J5WldGdExDQnpkR0YwWlNrN1hHNGdJQ0FnZlZ4dUlDQjlJQzh2SUZkbElHTmhiaUJ3ZFhOb0lHMXZjbVVnWkdGMFlTQnBaaUIzWlNCaGNtVWdZbVZzYjNjZ2RHaGxJR2hwWjJoWFlYUmxjazFoY21zdVhHNGdJQzh2SUVGc2MyOHNJR2xtSUhkbElHaGhkbVVnYm04Z1pHRjBZU0I1WlhRc0lIZGxJR05oYmlCemRHRnVaQ0J6YjIxbElHMXZjbVVnWW5sMFpYTXVYRzRnSUM4dklGUm9hWE1nYVhNZ2RHOGdkMjl5YXlCaGNtOTFibVFnWTJGelpYTWdkMmhsY21VZ2FIZHRQVEFzSUhOMVkyZ2dZWE1nZEdobElISmxjR3d1WEc1Y2JseHVJQ0J5WlhSMWNtNGdJWE4wWVhSbExtVnVaR1ZrSUNZbUlDaHpkR0YwWlM1c1pXNW5kR2dnUENCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKcklIeDhJSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR0ZrWkVOb2RXNXJLSE4wY21WaGJTd2djM1JoZEdVc0lHTm9kVzVyTENCaFpHUlViMFp5YjI1MEtTQjdYRzRnSUdsbUlDaHpkR0YwWlM1bWJHOTNhVzVuSUNZbUlITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01DQW1KaUFoYzNSaGRHVXVjM2x1WXlrZ2UxeHVJQ0FnSUhOMFlYUmxMbUYzWVdsMFJISmhhVzRnUFNBd08xeHVJQ0FnSUhOMGNtVmhiUzVsYldsMEtDZGtZWFJoSnl3Z1kyaDFibXNwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklIVndaR0YwWlNCMGFHVWdZblZtWm1WeUlHbHVabTh1WEc0Z0lDQWdjM1JoZEdVdWJHVnVaM1JvSUNzOUlITjBZWFJsTG05aWFtVmpkRTF2WkdVZ1B5QXhJRG9nWTJoMWJtc3ViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGhaR1JVYjBaeWIyNTBLU0J6ZEdGMFpTNWlkV1ptWlhJdWRXNXphR2xtZENoamFIVnVheWs3Wld4elpTQnpkR0YwWlM1aWRXWm1aWEl1Y0hWemFDaGphSFZ1YXlrN1hHNGdJQ0FnYVdZZ0tITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTa2daVzFwZEZKbFlXUmhZbXhsS0hOMGNtVmhiU2s3WEc0Z0lIMWNibHh1SUNCdFlYbGlaVkpsWVdSTmIzSmxLSE4wY21WaGJTd2djM1JoZEdVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamFIVnVhMGx1ZG1Gc2FXUW9jM1JoZEdVc0lHTm9kVzVyS1NCN1hHNGdJSFpoY2lCbGNqdGNibHh1SUNCcFppQW9JVjlwYzFWcGJuUTRRWEp5WVhrb1kyaDFibXNwSUNZbUlIUjVjR1Z2WmlCamFIVnVheUFoUFQwZ0ozTjBjbWx1WnljZ0ppWWdZMmgxYm1zZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlBaGMzUmhkR1V1YjJKcVpXTjBUVzlrWlNrZ2UxeHVJQ0FnSUdWeUlEMGdibVYzSUVWU1VsOUpUbFpCVEVsRVgwRlNSMTlVV1ZCRktDZGphSFZ1YXljc0lGc25jM1J5YVc1bkp5d2dKMEoxWm1abGNpY3NJQ2RWYVc1ME9FRnljbUY1SjEwc0lHTm9kVzVyS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbGNqdGNibjFjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExtbHpVR0YxYzJWa0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNW1iRzkzYVc1bklEMDlQU0JtWVd4elpUdGNibjA3SUM4dklHSmhZMnQzWVhKa2N5QmpiMjF3WVhScFltbHNhWFI1TGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV6WlhSRmJtTnZaR2x1WnlBOUlHWjFibU4wYVc5dUlDaGxibU1wSUh0Y2JpQWdhV1lnS0NGVGRISnBibWRFWldOdlpHVnlLU0JUZEhKcGJtZEVaV052WkdWeUlEMGdjbVZ4ZFdseVpTZ25jM1J5YVc1blgyUmxZMjlrWlhJdkp5a3VVM1J5YVc1blJHVmpiMlJsY2p0Y2JpQWdkbUZ5SUdSbFkyOWtaWElnUFNCdVpYY2dVM1J5YVc1blJHVmpiMlJsY2lobGJtTXBPMXh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxZMjlrWlhJZ1BTQmtaV052WkdWeU95QXZMeUJKWmlCelpYUkZibU52WkdsdVp5aHVkV3hzS1N3Z1pHVmpiMlJsY2k1bGJtTnZaR2x1WnlCbGNYVmhiSE1nZFhSbU9GeHVYRzRnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpXNWpiMlJwYm1jZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsWTI5a1pYSXVaVzVqYjJScGJtYzdJQzh2SUVsMFpYSmhkR1VnYjNabGNpQmpkWEp5Wlc1MElHSjFabVpsY2lCMGJ5QmpiMjUyWlhKMElHRnNjbVZoWkhrZ2MzUnZjbVZrSUVKMVptWmxjbk02WEc1Y2JpQWdkbUZ5SUhBZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbUoxWm1abGNpNW9aV0ZrTzF4dUlDQjJZWElnWTI5dWRHVnVkQ0E5SUNjbk8xeHVYRzRnSUhkb2FXeGxJQ2h3SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWTI5dWRHVnVkQ0FyUFNCa1pXTnZaR1Z5TG5keWFYUmxLSEF1WkdGMFlTazdYRzRnSUNBZ2NDQTlJSEF1Ym1WNGREdGNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WW5WbVptVnlMbU5zWldGeUtDazdYRzVjYmlBZ2FXWWdLR052Ym5SbGJuUWdJVDA5SUNjbktTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbUoxWm1abGNpNXdkWE5vS0dOdmJuUmxiblFwTzF4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbXhsYm1kMGFDQTlJR052Ym5SbGJuUXViR1Z1WjNSb08xeHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdJQzh2SUVSdmJpZDBJSEpoYVhObElIUm9aU0JvZDIwZ1BpQXhSMEpjYmx4dVhHNTJZWElnVFVGWVgwaFhUU0E5SURCNE5EQXdNREF3TURBN1hHNWNibVoxYm1OMGFXOXVJR052YlhCMWRHVk9aWGRJYVdkb1YyRjBaWEpOWVhKcktHNHBJSHRjYmlBZ2FXWWdLRzRnUGowZ1RVRllYMGhYVFNrZ2UxeHVJQ0FnSUM4dklGUlBSRThvY205dVlXY3BPaUJVYUhKdmR5QkZVbEpmVmtGTVZVVmZUMVZVWDA5R1gxSkJUa2RGTGx4dUlDQWdJRzRnUFNCTlFWaGZTRmROTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFZGxkQ0IwYUdVZ2JtVjRkQ0JvYVdkb1pYTjBJSEJ2ZDJWeUlHOW1JRElnZEc4Z2NISmxkbVZ1ZENCcGJtTnlaV0Z6YVc1bklHaDNiU0JsZUdObGMzTnBkbVZzZVNCcGJseHVJQ0FnSUM4dklIUnBibmtnWVcxdmRXNTBjMXh1SUNBZ0lHNHRMVHRjYmlBZ0lDQnVJSHc5SUc0Z1BqNCtJREU3WEc0Z0lDQWdiaUI4UFNCdUlENCtQaUF5TzF4dUlDQWdJRzRnZkQwZ2JpQStQajRnTkR0Y2JpQWdJQ0J1SUh3OUlHNGdQajQrSURnN1hHNGdJQ0FnYmlCOFBTQnVJRDQrUGlBeE5qdGNiaUFnSUNCdUt5czdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdianRjYm4wZ0x5OGdWR2hwY3lCbWRXNWpkR2x2YmlCcGN5QmtaWE5wWjI1bFpDQjBieUJpWlNCcGJteHBibUZpYkdVc0lITnZJSEJzWldGelpTQjBZV3RsSUdOaGNtVWdkMmhsYmlCdFlXdHBibWRjYmk4dklHTm9ZVzVuWlhNZ2RHOGdkR2hsSUdaMWJtTjBhVzl1SUdKdlpIa3VYRzVjYmx4dVpuVnVZM1JwYjI0Z2FHOTNUWFZqYUZSdlVtVmhaQ2h1TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvYmlBOFBTQXdJSHg4SUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNBbUppQnpkR0YwWlM1bGJtUmxaQ2tnY21WMGRYSnVJREE3WEc0Z0lHbG1JQ2h6ZEdGMFpTNXZZbXBsWTNSTmIyUmxLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQnBaaUFvYmlBaFBUMGdiaWtnZTF4dUlDQWdJQzh2SUU5dWJIa2dabXh2ZHlCdmJtVWdZblZtWm1WeUlHRjBJR0VnZEdsdFpWeHVJQ0FnSUdsbUlDaHpkR0YwWlM1bWJHOTNhVzVuSUNZbUlITjBZWFJsTG14bGJtZDBhQ2tnY21WMGRYSnVJSE4wWVhSbExtSjFabVpsY2k1b1pXRmtMbVJoZEdFdWJHVnVaM1JvTzJWc2MyVWdjbVYwZFhKdUlITjBZWFJsTG14bGJtZDBhRHRjYmlBZ2ZTQXZMeUJKWmlCM1pTZHlaU0JoYzJ0cGJtY2dabTl5SUcxdmNtVWdkR2hoYmlCMGFHVWdZM1Z5Y21WdWRDQm9kMjBzSUhSb1pXNGdjbUZwYzJVZ2RHaGxJR2gzYlM1Y2JseHVYRzRnSUdsbUlDaHVJRDRnYzNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXlrZ2MzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF5QTlJR052YlhCMWRHVk9aWGRJYVdkb1YyRjBaWEpOWVhKcktHNHBPMXh1SUNCcFppQW9iaUE4UFNCemRHRjBaUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQnVPeUF2THlCRWIyNG5kQ0JvWVhabElHVnViM1ZuYUZ4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQnpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVWdQU0IwY25WbE8xeHVJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhOMFlYUmxMbXhsYm1kMGFEdGNibjBnTHk4Z2VXOTFJR05oYmlCdmRtVnljbWxrWlNCbGFYUm9aWElnZEdocGN5QnRaWFJvYjJRc0lHOXlJSFJvWlNCaGMzbHVZeUJmY21WaFpDaHVLU0JpWld4dmR5NWNibHh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWNtVmhaQ0E5SUdaMWJtTjBhVzl1SUNodUtTQjdYRzRnSUdSbFluVm5LQ2R5WldGa0p5d2diaWs3WEc0Z0lHNGdQU0J3WVhKelpVbHVkQ2h1TENBeE1DazdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzRnSUhaaGNpQnVUM0pwWnlBOUlHNDdYRzRnSUdsbUlDaHVJQ0U5UFNBd0tTQnpkR0YwWlM1bGJXbDBkR1ZrVW1WaFpHRmliR1VnUFNCbVlXeHpaVHNnTHk4Z2FXWWdkMlVuY21VZ1pHOXBibWNnY21WaFpDZ3dLU0IwYnlCMGNtbG5aMlZ5SUdFZ2NtVmhaR0ZpYkdVZ1pYWmxiblFzSUdKMWRDQjNaVnh1SUNBdkx5QmhiSEpsWVdSNUlHaGhkbVVnWVNCaWRXNWphQ0J2WmlCa1lYUmhJR2x1SUhSb1pTQmlkV1ptWlhJc0lIUm9aVzRnYW5WemRDQjBjbWxuWjJWeVhHNGdJQzh2SUhSb1pTQW5jbVZoWkdGaWJHVW5JR1YyWlc1MElHRnVaQ0J0YjNabElHOXVMbHh1WEc0Z0lHbG1JQ2h1SUQwOVBTQXdJQ1ltSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBbUppQW9LSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXNnSVQwOUlEQWdQeUJ6ZEdGMFpTNXNaVzVuZEdnZ1BqMGdjM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUE2SUhOMFlYUmxMbXhsYm1kMGFDQStJREFwSUh4OElITjBZWFJsTG1WdVpHVmtLU2tnZTF4dUlDQWdJR1JsWW5WbktDZHlaV0ZrT2lCbGJXbDBVbVZoWkdGaWJHVW5MQ0J6ZEdGMFpTNXNaVzVuZEdnc0lITjBZWFJsTG1WdVpHVmtLVHRjYmlBZ0lDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3SUNZbUlITjBZWFJsTG1WdVpHVmtLU0JsYm1SU1pXRmtZV0pzWlNoMGFHbHpLVHRsYkhObElHVnRhWFJTWldGa1lXSnNaU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJRzRnUFNCb2IzZE5kV05vVkc5U1pXRmtLRzRzSUhOMFlYUmxLVHNnTHk4Z2FXWWdkMlVuZG1VZ1pXNWtaV1FzSUdGdVpDQjNaU2R5WlNCdWIzY2dZMnhsWVhJc0lIUm9aVzRnWm1sdWFYTm9JR2wwSUhWd0xseHVYRzRnSUdsbUlDaHVJRDA5UFNBd0lDWW1JSE4wWVhSbExtVnVaR1ZrS1NCN1hHNGdJQ0FnYVdZZ0tITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01Da2daVzVrVW1WaFpHRmliR1VvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgwZ0x5OGdRV3hzSUhSb1pTQmhZM1IxWVd3Z1kyaDFibXNnWjJWdVpYSmhkR2x2YmlCc2IyZHBZeUJ1WldWa2N5QjBieUJpWlZ4dUlDQXZMeUFxWW1Wc2IzY3FJSFJvWlNCallXeHNJSFJ2SUY5eVpXRmtMaUFnVkdobElISmxZWE52YmlCcGN5QjBhR0YwSUdsdUlHTmxjblJoYVc1Y2JpQWdMeThnYzNsdWRHaGxkR2xqSUhOMGNtVmhiU0JqWVhObGN5d2djM1ZqYUNCaGN5QndZWE56ZEdoeWIzVm5hQ0J6ZEhKbFlXMXpMQ0JmY21WaFpGeHVJQ0F2THlCdFlYa2dZbVVnWVNCamIyMXdiR1YwWld4NUlITjVibU5vY205dWIzVnpJRzl3WlhKaGRHbHZiaUIzYUdsamFDQnRZWGtnWTJoaGJtZGxYRzRnSUM4dklIUm9aU0J6ZEdGMFpTQnZaaUIwYUdVZ2NtVmhaQ0JpZFdabVpYSXNJSEJ5YjNacFpHbHVaeUJsYm05MVoyZ2daR0YwWVNCM2FHVnVYRzRnSUM4dklHSmxabTl5WlNCMGFHVnlaU0IzWVhNZ0ttNXZkQ29nWlc1dmRXZG9MbHh1SUNBdkwxeHVJQ0F2THlCVGJ5d2dkR2hsSUhOMFpYQnpJR0Z5WlRwY2JpQWdMeThnTVM0Z1JtbG5kWEpsSUc5MWRDQjNhR0YwSUhSb1pTQnpkR0YwWlNCdlppQjBhR2x1WjNNZ2QybHNiQ0JpWlNCaFpuUmxjaUIzWlNCa2IxeHVJQ0F2THlCaElISmxZV1FnWm5KdmJTQjBhR1VnWW5WbVptVnlMbHh1SUNBdkwxeHVJQ0F2THlBeUxpQkpaaUIwYUdGMElISmxjM1ZzZEdsdVp5QnpkR0YwWlNCM2FXeHNJSFJ5YVdkblpYSWdZU0JmY21WaFpDd2dkR2hsYmlCallXeHNJRjl5WldGa0xseHVJQ0F2THlCT2IzUmxJSFJvWVhRZ2RHaHBjeUJ0WVhrZ1ltVWdZWE41Ym1Ob2NtOXViM1Z6TENCdmNpQnplVzVqYUhKdmJtOTFjeTRnSUZsbGN5d2dhWFFnYVhOY2JpQWdMeThnWkdWbGNHeDVJSFZuYkhrZ2RHOGdkM0pwZEdVZ1FWQkpjeUIwYUdseklIZGhlU3dnWW5WMElIUm9ZWFFnYzNScGJHd2daRzlsYzI0bmRDQnRaV0Z1WEc0Z0lDOHZJSFJvWVhRZ2RHaGxJRkpsWVdSaFlteGxJR05zWVhOeklITm9iM1ZzWkNCaVpXaGhkbVVnYVcxd2NtOXdaWEpzZVN3Z1lYTWdjM1J5WldGdGN5QmhjbVZjYmlBZ0x5OGdaR1Z6YVdkdVpXUWdkRzhnWW1VZ2MzbHVZeTloYzNsdVl5QmhaMjV2YzNScFl5NWNiaUFnTHk4Z1ZHRnJaU0J1YjNSbElHbG1JSFJvWlNCZmNtVmhaQ0JqWVd4c0lHbHpJSE41Ym1NZ2IzSWdZWE41Ym1NZ0tHbGxMQ0JwWmlCMGFHVWdjbVZoWkNCallXeHNYRzRnSUM4dklHaGhjeUJ5WlhSMWNtNWxaQ0I1WlhRcExDQnpieUIwYUdGMElIZGxJR3R1YjNjZ2QyaGxkR2hsY2lCdmNpQnViM1FnYVhRbmN5QnpZV1psSUhSdklHVnRhWFJjYmlBZ0x5OGdKM0psWVdSaFlteGxKeUJsZEdNdVhHNGdJQzh2WEc0Z0lDOHZJRE11SUVGamRIVmhiR3g1SUhCMWJHd2dkR2hsSUhKbGNYVmxjM1JsWkNCamFIVnVhM01nYjNWMElHOW1JSFJvWlNCaWRXWm1aWElnWVc1a0lISmxkSFZ5Ymk1Y2JpQWdMeThnYVdZZ2QyVWdibVZsWkNCaElISmxZV1JoWW14bElHVjJaVzUwTENCMGFHVnVJSGRsSUc1bFpXUWdkRzhnWkc4Z2MyOXRaU0J5WldGa2FXNW5MbHh1WEc1Y2JpQWdkbUZ5SUdSdlVtVmhaQ0E5SUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlR0Y2JpQWdaR1ZpZFdjb0oyNWxaV1FnY21WaFpHRmliR1VuTENCa2IxSmxZV1FwT3lBdkx5QnBaaUIzWlNCamRYSnlaVzUwYkhrZ2FHRjJaU0JzWlhOeklIUm9ZVzRnZEdobElHaHBaMmhYWVhSbGNrMWhjbXNzSUhSb1pXNGdZV3h6YnlCeVpXRmtJSE52YldWY2JseHVJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0lIeDhJSE4wWVhSbExteGxibWQwYUNBdElHNGdQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyS1NCN1hHNGdJQ0FnWkc5U1pXRmtJRDBnZEhKMVpUdGNiaUFnSUNCa1pXSjFaeWduYkdWdVozUm9JR3hsYzNNZ2RHaGhiaUIzWVhSbGNtMWhjbXNuTENCa2IxSmxZV1FwTzF4dUlDQjlJQzh2SUdodmQyVjJaWElzSUdsbUlIZGxKM1psSUdWdVpHVmtMQ0IwYUdWdUlIUm9aWEpsSjNNZ2JtOGdjRzlwYm5Rc0lHRnVaQ0JwWmlCM1pTZHlaU0JoYkhKbFlXUjVYRzRnSUM4dklISmxZV1JwYm1jc0lIUm9aVzRnYVhRbmN5QjFibTVsWTJWemMyRnllUzVjYmx4dVhHNGdJR2xtSUNoemRHRjBaUzVsYm1SbFpDQjhmQ0J6ZEdGMFpTNXlaV0ZrYVc1bktTQjdYRzRnSUNBZ1pHOVNaV0ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdaR1ZpZFdjb0ozSmxZV1JwYm1jZ2IzSWdaVzVrWldRbkxDQmtiMUpsWVdRcE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dSdlVtVmhaQ2tnZTF4dUlDQWdJR1JsWW5WbktDZGtieUJ5WldGa0p5azdYRzRnSUNBZ2MzUmhkR1V1Y21WaFpHbHVaeUE5SUhSeWRXVTdYRzRnSUNBZ2MzUmhkR1V1YzNsdVl5QTlJSFJ5ZFdVN0lDOHZJR2xtSUhSb1pTQnNaVzVuZEdnZ2FYTWdZM1Z5Y21WdWRHeDVJSHBsY204c0lIUm9aVzRnZDJVZ0ttNWxaV1FxSUdFZ2NtVmhaR0ZpYkdVZ1pYWmxiblF1WEc1Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0tTQnpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVWdQU0IwY25WbE95QXZMeUJqWVd4c0lHbHVkR1Z5Ym1Gc0lISmxZV1FnYldWMGFHOWtYRzVjYmlBZ0lDQjBhR2x6TGw5eVpXRmtLSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dVhHNGdJQ0FnYzNSaGRHVXVjM2x1WXlBOUlHWmhiSE5sT3lBdkx5QkpaaUJmY21WaFpDQndkWE5vWldRZ1pHRjBZU0J6ZVc1amFISnZibTkxYzJ4NUxDQjBhR1Z1SUdCeVpXRmthVzVuWUNCM2FXeHNJR0psSUdaaGJITmxMRnh1SUNBZ0lDOHZJR0Z1WkNCM1pTQnVaV1ZrSUhSdklISmxMV1YyWVd4MVlYUmxJR2h2ZHlCdGRXTm9JR1JoZEdFZ2QyVWdZMkZ1SUhKbGRIVnliaUIwYnlCMGFHVWdkWE5sY2k1Y2JseHVJQ0FnSUdsbUlDZ2hjM1JoZEdVdWNtVmhaR2x1WnlrZ2JpQTlJR2h2ZDAxMVkyaFViMUpsWVdRb2JrOXlhV2NzSUhOMFlYUmxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaWFE3WEc0Z0lHbG1JQ2h1SUQ0Z01Da2djbVYwSUQwZ1puSnZiVXhwYzNRb2Jpd2djM1JoZEdVcE8yVnNjMlVnY21WMElEMGdiblZzYkR0Y2JseHVJQ0JwWmlBb2NtVjBJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdjM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxJRDBnYzNSaGRHVXViR1Z1WjNSb0lEdzlJSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXM3WEc0Z0lDQWdiaUE5SURBN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MzUmhkR1V1YkdWdVozUm9JQzA5SUc0N1hHNGdJQ0FnYzNSaGRHVXVZWGRoYVhSRWNtRnBiaUE5SURBN1hHNGdJSDFjYmx4dUlDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnYUdGMlpTQnViM1JvYVc1bklHbHVJSFJvWlNCaWRXWm1aWElzSUhSb1pXNGdkMlVnZDJGdWRDQjBieUJyYm05M1hHNGdJQ0FnTHk4Z1lYTWdjMjl2YmlCaGN5QjNaU0FxWkc4cUlHZGxkQ0J6YjIxbGRHaHBibWNnYVc1MGJ5QjBhR1VnWW5WbVptVnlMbHh1SUNBZ0lHbG1JQ2doYzNSaGRHVXVaVzVrWldRcElITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN0lDOHZJRWxtSUhkbElIUnlhV1ZrSUhSdklISmxZV1FvS1NCd1lYTjBJSFJvWlNCRlQwWXNJSFJvWlc0Z1pXMXBkQ0JsYm1RZ2IyNGdkR2hsSUc1bGVIUWdkR2xqYXk1Y2JseHVJQ0FnSUdsbUlDaHVUM0pwWnlBaFBUMGdiaUFtSmlCemRHRjBaUzVsYm1SbFpDa2daVzVrVW1WaFpHRmliR1VvZEdocGN5azdYRzRnSUgxY2JseHVJQ0JwWmlBb2NtVjBJQ0U5UFNCdWRXeHNLU0IwYUdsekxtVnRhWFFvSjJSaGRHRW5MQ0J5WlhRcE8xeHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnYjI1RmIyWkRhSFZ1YXloemRISmxZVzBzSUhOMFlYUmxLU0I3WEc0Z0lHUmxZblZuS0NkdmJrVnZaa05vZFc1ckp5azdYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUmxaQ2tnY21WMGRYSnVPMXh1WEc0Z0lHbG1JQ2h6ZEdGMFpTNWtaV052WkdWeUtTQjdYRzRnSUNBZ2RtRnlJR05vZFc1cklEMGdjM1JoZEdVdVpHVmpiMlJsY2k1bGJtUW9LVHRjYmx4dUlDQWdJR2xtSUNoamFIVnVheUFtSmlCamFIVnVheTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExtSjFabVpsY2k1d2RYTm9LR05vZFc1cktUdGNiaUFnSUNBZ0lITjBZWFJsTG14bGJtZDBhQ0FyUFNCemRHRjBaUzV2WW1wbFkzUk5iMlJsSUQ4Z01TQTZJR05vZFc1ckxteGxibWQwYUR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCemRHRjBaUzVsYm1SbFpDQTlJSFJ5ZFdVN1hHNWNiaUFnYVdZZ0tITjBZWFJsTG5ONWJtTXBJSHRjYmlBZ0lDQXZMeUJwWmlCM1pTQmhjbVVnYzNsdVl5d2dkMkZwZENCMWJuUnBiQ0J1WlhoMElIUnBZMnNnZEc4Z1pXMXBkQ0IwYUdVZ1pHRjBZUzVjYmlBZ0lDQXZMeUJQZEdobGNuZHBjMlVnZDJVZ2NtbHpheUJsYldsMGRHbHVaeUJrWVhSaElHbHVJSFJvWlNCbWJHOTNLQ2xjYmlBZ0lDQXZMeUIwYUdVZ2NtVmhaR0ZpYkdVZ1kyOWtaU0IwY21sbloyVnljeUJrZFhKcGJtY2dZU0J5WldGa0tDa2dZMkZzYkZ4dUlDQWdJR1Z0YVhSU1pXRmtZV0pzWlNoemRISmxZVzBwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklHVnRhWFFnSjNKbFlXUmhZbXhsSnlCdWIzY2dkRzhnYldGclpTQnpkWEpsSUdsMElHZGxkSE1nY0dsamEyVmtJSFZ3TGx4dUlDQWdJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdhV1lnS0NGemRHRjBaUzVsYldsMGRHVmtVbVZoWkdGaWJHVXBJSHRjYmlBZ0lDQWdJSE4wWVhSbExtVnRhWFIwWldSU1pXRmtZV0pzWlNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0JsYldsMFVtVmhaR0ZpYkdWZktITjBjbVZoYlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5SUM4dklFUnZiaWQwSUdWdGFYUWdjbVZoWkdGaWJHVWdjbWxuYUhRZ1lYZGhlU0JwYmlCemVXNWpJRzF2WkdVc0lHSmxZMkYxYzJVZ2RHaHBjeUJqWVc0Z2RISnBaMmRsY2x4dUx5OGdZVzV2ZEdobGNpQnlaV0ZrS0NrZ1kyRnNiQ0E5UGlCemRHRmpheUJ2ZG1WeVpteHZkeTRnSUZSb2FYTWdkMkY1TENCcGRDQnRhV2RvZENCMGNtbG5aMlZ5WEc0dkx5QmhJRzVsZUhSVWFXTnJJSEpsWTNWeWMybHZiaUIzWVhKdWFXNW5MQ0JpZFhRZ2RHaGhkQ2R6SUc1dmRDQnpieUJpWVdRdVhHNWNibHh1Wm5WdVkzUnBiMjRnWlcxcGRGSmxZV1JoWW14bEtITjBjbVZoYlNrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCemRISmxZVzB1WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzRnSUdSbFluVm5LQ2RsYldsMFVtVmhaR0ZpYkdVbkxDQnpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVXNJSE4wWVhSbExtVnRhWFIwWldSU1pXRmtZV0pzWlNrN1hHNGdJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUdaaGJITmxPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzFwZEhSbFpGSmxZV1JoWW14bEtTQjdYRzRnSUNBZ1pHVmlkV2NvSjJWdGFYUlNaV0ZrWVdKc1pTY3NJSE4wWVhSbExtWnNiM2RwYm1jcE8xeHVJQ0FnSUhOMFlYUmxMbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN1hHNGdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhsYldsMFVtVmhaR0ZpYkdWZkxDQnpkSEpsWVcwcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1Z0YVhSU1pXRmtZV0pzWlY4b2MzUnlaV0Z0S1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhOMGNtVmhiUzVmY21WaFpHRmliR1ZUZEdGMFpUdGNiaUFnWkdWaWRXY29KMlZ0YVhSU1pXRmtZV0pzWlY4bkxDQnpkR0YwWlM1a1pYTjBjbTk1WldRc0lITjBZWFJsTG14bGJtZDBhQ3dnYzNSaGRHVXVaVzVrWldRcE8xeHVYRzRnSUdsbUlDZ2hjM1JoZEdVdVpHVnpkSEp2ZVdWa0lDWW1JQ2h6ZEdGMFpTNXNaVzVuZEdnZ2ZId2djM1JoZEdVdVpXNWtaV1FwS1NCN1hHNGdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0ozSmxZV1JoWW14bEp5azdYRzRnSUNBZ2MzUmhkR1V1WlcxcGRIUmxaRkpsWVdSaFlteGxJRDBnWm1Gc2MyVTdYRzRnSUgwZ0x5OGdWR2hsSUhOMGNtVmhiU0J1WldWa2N5QmhibTkwYUdWeUlISmxZV1JoWW14bElHVjJaVzUwSUdsbVhHNGdJQzh2SURFdUlFbDBJR2x6SUc1dmRDQm1iRzkzYVc1bkxDQmhjeUIwYUdVZ1pteHZkeUJ0WldOb1lXNXBjMjBnZDJsc2JDQjBZV3RsWEc0Z0lDOHZJQ0FnSUdOaGNtVWdiMllnYVhRdVhHNGdJQzh2SURJdUlFbDBJR2x6SUc1dmRDQmxibVJsWkM1Y2JpQWdMeThnTXk0Z1NYUWdhWE1nWW1Wc2IzY2dkR2hsSUdocFoyaFhZWFJsY2sxaGNtc3NJSE52SUhkbElHTmhiaUJ6WTJobFpIVnNaVnh1SUNBdkx5QWdJQ0JoYm05MGFHVnlJSEpsWVdSaFlteGxJR3hoZEdWeUxseHVYRzVjYmlBZ2MzUmhkR1V1Ym1WbFpGSmxZV1JoWW14bElEMGdJWE4wWVhSbExtWnNiM2RwYm1jZ0ppWWdJWE4wWVhSbExtVnVaR1ZrSUNZbUlITjBZWFJsTG14bGJtZDBhQ0E4UFNCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKck8xeHVJQ0JtYkc5M0tITjBjbVZoYlNrN1hHNTlJQzh2SUdGMElIUm9hWE1nY0c5cGJuUXNJSFJvWlNCMWMyVnlJR2hoY3lCd2NtVnpkVzFoWW14NUlITmxaVzRnZEdobElDZHlaV0ZrWVdKc1pTY2daWFpsYm5Rc1hHNHZMeUJoYm1RZ1kyRnNiR1ZrSUhKbFlXUW9LU0IwYnlCamIyNXpkVzFsSUhOdmJXVWdaR0YwWVM0Z0lIUm9ZWFFnYldGNUlHaGhkbVVnZEhKcFoyZGxjbVZrWEc0dkx5QnBiaUIwZFhKdUlHRnViM1JvWlhJZ1gzSmxZV1FvYmlrZ1kyRnNiQ3dnYVc0Z2QyaHBZMmdnWTJGelpTQnlaV0ZrYVc1bklEMGdkSEoxWlNCcFpseHVMeThnYVhRbmN5QnBiaUJ3Y205bmNtVnpjeTVjYmk4dklFaHZkMlYyWlhJc0lHbG1JSGRsSjNKbElHNXZkQ0JsYm1SbFpDd2diM0lnY21WaFpHbHVaeXdnWVc1a0lIUm9aU0JzWlc1bmRHZ2dQQ0JvZDIwc1hHNHZMeUIwYUdWdUlHZHZJR0ZvWldGa0lHRnVaQ0IwY25rZ2RHOGdjbVZoWkNCemIyMWxJRzF2Y21VZ2NISmxaVzF3ZEdsMlpXeDVMbHh1WEc1Y2JtWjFibU4wYVc5dUlHMWhlV0psVW1WaFpFMXZjbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9JWE4wWVhSbExuSmxZV1JwYm1kTmIzSmxLU0I3WEc0Z0lDQWdjM1JoZEdVdWNtVmhaR2x1WjAxdmNtVWdQU0IwY25WbE8xeHVJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvYldGNVltVlNaV0ZrVFc5eVpWOHNJSE4wY21WaGJTd2djM1JoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFVtVmhaRTF2Y21WZktITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdMeThnUVhSMFpXMXdkQ0IwYnlCeVpXRmtJRzF2Y21VZ1pHRjBZU0JwWmlCM1pTQnphRzkxYkdRdVhHNGdJQzh2WEc0Z0lDOHZJRlJvWlNCamIyNWthWFJwYjI1eklHWnZjaUJ5WldGa2FXNW5JRzF2Y21VZ1pHRjBZU0JoY21VZ0tHOXVaU0J2WmlrNlhHNGdJQzh2SUMwZ1RtOTBJR1Z1YjNWbmFDQmtZWFJoSUdKMVptWmxjbVZrSUNoemRHRjBaUzVzWlc1bmRHZ2dQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyS1M0Z1ZHaGxJR3h2YjNCY2JpQWdMeThnSUNCcGN5QnlaWE53YjI1emFXSnNaU0JtYjNJZ1ptbHNiR2x1WnlCMGFHVWdZblZtWm1WeUlIZHBkR2dnWlc1dmRXZG9JR1JoZEdFZ2FXWWdjM1ZqYUNCa1lYUmhYRzRnSUM4dklDQWdhWE1nWVhaaGFXeGhZbXhsTGlCSlppQm9hV2RvVjJGMFpYSk5ZWEpySUdseklEQWdZVzVrSUhkbElHRnlaU0J1YjNRZ2FXNGdkR2hsSUdac2IzZHBibWNnYlc5a1pWeHVJQ0F2THlBZ0lIZGxJSE5vYjNWc1pDQmZibTkwWHlCaGRIUmxiWEIwSUhSdklHSjFabVpsY2lCaGJua2daWGgwY21FZ1pHRjBZUzRnVjJVbmJHd2daMlYwSUcxdmNtVWdaR0YwWVZ4dUlDQXZMeUFnSUhkb1pXNGdkR2hsSUhOMGNtVmhiU0JqYjI1emRXMWxjaUJqWVd4c2N5QnlaV0ZrS0NrZ2FXNXpkR1ZoWkM1Y2JpQWdMeThnTFNCT2J5QmtZWFJoSUdsdUlIUm9aU0JpZFdabVpYSXNJR0Z1WkNCMGFHVWdjM1J5WldGdElHbHpJR2x1SUdac2IzZHBibWNnYlc5a1pTNGdTVzRnZEdocGN5QnRiMlJsWEc0Z0lDOHZJQ0FnZEdobElHeHZiM0FnWW1Wc2IzY2dhWE1nY21WemNHOXVjMmxpYkdVZ1ptOXlJR1Z1YzNWeWFXNW5JSEpsWVdRb0tTQnBjeUJqWVd4c1pXUXVJRVpoYVd4cGJtY2dkRzljYmlBZ0x5OGdJQ0JqWVd4c0lISmxZV1FnYUdWeVpTQjNiM1ZzWkNCaFltOXlkQ0IwYUdVZ1pteHZkeUJoYm1RZ2RHaGxjbVVuY3lCdWJ5QnZkR2hsY2lCdFpXTm9ZVzVwYzIwZ1ptOXlYRzRnSUM4dklDQWdZMjl1ZEdsdWRXbHVaeUIwYUdVZ1pteHZkeUJwWmlCMGFHVWdjM1J5WldGdElHTnZibk4xYldWeUlHaGhjeUJxZFhOMElITjFZbk5qY21saVpXUWdkRzhnZEdobFhHNGdJQzh2SUNBZ0oyUmhkR0VuSUdWMlpXNTBMbHh1SUNBdkwxeHVJQ0F2THlCSmJpQmhaR1JwZEdsdmJpQjBieUIwYUdVZ1lXSnZkbVVnWTI5dVpHbDBhVzl1Y3lCMGJ5QnJaV1Z3SUhKbFlXUnBibWNnWkdGMFlTd2dkR2hsSUdadmJHeHZkMmx1WjF4dUlDQXZMeUJqYjI1a2FYUnBiMjV6SUhCeVpYWmxiblFnZEdobElHUmhkR0VnWm5KdmJTQmlaV2x1WnlCeVpXRmtPbHh1SUNBdkx5QXRJRlJvWlNCemRISmxZVzBnYUdGeklHVnVaR1ZrSUNoemRHRjBaUzVsYm1SbFpDa3VYRzRnSUM4dklDMGdWR2hsY21VZ2FYTWdZV3h5WldGa2VTQmhJSEJsYm1ScGJtY2dKM0psWVdRbklHOXdaWEpoZEdsdmJpQW9jM1JoZEdVdWNtVmhaR2x1WnlrdUlGUm9hWE1nYVhNZ1lWeHVJQ0F2THlBZ0lHTmhjMlVnZDJobGNtVWdkR2hsSUhSb1pTQnpkSEpsWVcwZ2FHRnpJR05oYkd4bFpDQjBhR1VnYVcxd2JHVnRaVzUwWVhScGIyNGdaR1ZtYVc1bFpDQmZjbVZoWkNncFhHNGdJQzh2SUNBZ2JXVjBhRzlrTENCaWRYUWdkR2hsZVNCaGNtVWdjSEp2WTJWemMybHVaeUIwYUdVZ1kyRnNiQ0JoYzNsdVkyaHliMjV2ZFhOc2VTQmhibVFnYUdGMlpTQmZibTkwWDF4dUlDQXZMeUFnSUdOaGJHeGxaQ0J3ZFhOb0tDa2dkMmwwYUNCdVpYY2daR0YwWVM0Z1NXNGdkR2hwY3lCallYTmxJSGRsSUhOcmFYQWdjR1Z5Wm05eWJXbHVaeUJ0YjNKbFhHNGdJQzh2SUNBZ2NtVmhaQ2dwY3k0Z1ZHaGxJR1Y0WldOMWRHbHZiaUJsYm1SeklHbHVJSFJvYVhNZ2JXVjBhRzlrSUdGbllXbHVJR0ZtZEdWeUlIUm9aU0JmY21WaFpDZ3BJR1Z1WkhOY2JpQWdMeThnSUNCMWNDQmpZV3hzYVc1bklIQjFjMmdvS1NCM2FYUm9JRzF2Y21VZ1pHRjBZUzVjYmlBZ2QyaHBiR1VnS0NGemRHRjBaUzV5WldGa2FXNW5JQ1ltSUNGemRHRjBaUzVsYm1SbFpDQW1KaUFvYzNSaGRHVXViR1Z1WjNSb0lEd2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUI4ZkNCemRHRjBaUzVtYkc5M2FXNW5JQ1ltSUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNrcElIdGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2MzUmhkR1V1YkdWdVozUm9PMXh1SUNBZ0lHUmxZblZuS0NkdFlYbGlaVkpsWVdSTmIzSmxJSEpsWVdRZ01DY3BPMXh1SUNBZ0lITjBjbVZoYlM1eVpXRmtLREFwTzF4dUlDQWdJR2xtSUNoc1pXNGdQVDA5SUhOMFlYUmxMbXhsYm1kMGFDa2dMeThnWkdsa2JpZDBJR2RsZENCaGJua2daR0YwWVN3Z2MzUnZjQ0J6Y0dsdWJtbHVaeTVjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdWNtVmhaR2x1WjAxdmNtVWdQU0JtWVd4elpUdGNibjBnTHk4Z1lXSnpkSEpoWTNRZ2JXVjBhRzlrTGlBZ2RHOGdZbVVnYjNabGNuSnBaR1JsYmlCcGJpQnpjR1ZqYVdacFl5QnBiWEJzWlcxbGJuUmhkR2x2YmlCamJHRnpjMlZ6TGx4dUx5OGdZMkZzYkNCallpaGxjaXdnWkdGMFlTa2dkMmhsY21VZ1pHRjBZU0JwY3lBOFBTQnVJR2x1SUd4bGJtZDBhQzVjYmk4dklHWnZjaUIyYVhKMGRXRnNJQ2h1YjI0dGMzUnlhVzVuTENCdWIyNHRZblZtWm1WeUtTQnpkSEpsWVcxekxDQmNJbXhsYm1kMGFGd2lJR2x6SUhOdmJXVjNhR0YwWEc0dkx5QmhjbUpwZEhKaGNua3NJR0Z1WkNCd1pYSm9ZWEJ6SUc1dmRDQjJaWEo1SUcxbFlXNXBibWRtZFd3dVhHNWNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTGw5eVpXRmtJRDBnWm5WdVkzUnBiMjRnS0c0cElIdGNiaUFnWlhKeWIzSlBja1JsYzNSeWIza29kR2hwY3l3Z2JtVjNJRVZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVLQ2RmY21WaFpDZ3BKeWtwTzF4dWZUdGNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTG5CcGNHVWdQU0JtZFc1amRHbHZiaUFvWkdWemRDd2djR2x3WlU5d2RITXBJSHRjYmlBZ2RtRnlJSE55WXlBOUlIUm9hWE03WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdjM2RwZEdOb0lDaHpkR0YwWlM1d2FYQmxjME52ZFc1MEtTQjdYRzRnSUNBZ1kyRnpaU0F3T2x4dUlDQWdJQ0FnYzNSaGRHVXVjR2x3WlhNZ1BTQmtaWE4wTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQmpZWE5sSURFNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5QTlJRnR6ZEdGMFpTNXdhWEJsY3l3Z1pHVnpkRjA3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5NXdkWE5vS0dSbGMzUXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJSDFjYmx4dUlDQnpkR0YwWlM1d2FYQmxjME52ZFc1MElDczlJREU3WEc0Z0lHUmxZblZuS0Nkd2FYQmxJR052ZFc1MFBTVmtJRzl3ZEhNOUpXb25MQ0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBMQ0J3YVhCbFQzQjBjeWs3WEc0Z0lIWmhjaUJrYjBWdVpDQTlJQ2doY0dsd1pVOXdkSE1nZkh3Z2NHbHdaVTl3ZEhNdVpXNWtJQ0U5UFNCbVlXeHpaU2tnSmlZZ1pHVnpkQ0FoUFQwZ2NISnZZMlZ6Y3k1emRHUnZkWFFnSmlZZ1pHVnpkQ0FoUFQwZ2NISnZZMlZ6Y3k1emRHUmxjbkk3WEc0Z0lIWmhjaUJsYm1SR2JpQTlJR1J2Ulc1a0lEOGdiMjVsYm1RZ09pQjFibkJwY0dVN1hHNGdJR2xtSUNoemRHRjBaUzVsYm1SRmJXbDBkR1ZrS1NCd2NtOWpaWE56TG01bGVIUlVhV05yS0dWdVpFWnVLVHRsYkhObElITnlZeTV2Ym1ObEtDZGxibVFuTENCbGJtUkdiaWs3WEc0Z0lHUmxjM1F1YjI0b0ozVnVjR2x3WlNjc0lHOXVkVzV3YVhCbEtUdGNibHh1SUNCbWRXNWpkR2x2YmlCdmJuVnVjR2x3WlNoeVpXRmtZV0pzWlN3Z2RXNXdhWEJsU1c1bWJ5a2dlMXh1SUNBZ0lHUmxZblZuS0NkdmJuVnVjR2x3WlNjcE8xeHVYRzRnSUNBZ2FXWWdLSEpsWVdSaFlteGxJRDA5UFNCemNtTXBJSHRjYmlBZ0lDQWdJR2xtSUNoMWJuQnBjR1ZKYm1adklDWW1JSFZ1Y0dsd1pVbHVabTh1YUdGelZXNXdhWEJsWkNBOVBUMGdabUZzYzJVcElIdGNiaUFnSUNBZ0lDQWdkVzV3YVhCbFNXNW1ieTVvWVhOVmJuQnBjR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnWTJ4bFlXNTFjQ2dwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUc5dVpXNWtLQ2tnZTF4dUlDQWdJR1JsWW5WbktDZHZibVZ1WkNjcE8xeHVJQ0FnSUdSbGMzUXVaVzVrS0NrN1hHNGdJSDBnTHk4Z2QyaGxiaUIwYUdVZ1pHVnpkQ0JrY21GcGJuTXNJR2wwSUhKbFpIVmpaWE1nZEdobElHRjNZV2wwUkhKaGFXNGdZMjkxYm5SbGNseHVJQ0F2THlCdmJpQjBhR1VnYzI5MWNtTmxMaUFnVkdocGN5QjNiM1ZzWkNCaVpTQnRiM0psSUdWc1pXZGhiblFnZDJsMGFDQmhJQzV2Ym1ObEtDbGNiaUFnTHk4Z2FHRnVaR3hsY2lCcGJpQm1iRzkzS0Nrc0lHSjFkQ0JoWkdScGJtY2dZVzVrSUhKbGJXOTJhVzVuSUhKbGNHVmhkR1ZrYkhrZ2FYTmNiaUFnTHk4Z2RHOXZJSE5zYjNjdVhHNWNibHh1SUNCMllYSWdiMjVrY21GcGJpQTlJSEJwY0dWUGJrUnlZV2x1S0hOeVl5azdYRzRnSUdSbGMzUXViMjRvSjJSeVlXbHVKeXdnYjI1a2NtRnBiaWs3WEc0Z0lIWmhjaUJqYkdWaGJtVmtWWEFnUFNCbVlXeHpaVHRjYmx4dUlDQm1kVzVqZEdsdmJpQmpiR1ZoYm5Wd0tDa2dlMXh1SUNBZ0lHUmxZblZuS0NkamJHVmhiblZ3SnlrN0lDOHZJR05zWldGdWRYQWdaWFpsYm5RZ2FHRnVaR3hsY25NZ2IyNWpaU0IwYUdVZ2NHbHdaU0JwY3lCaWNtOXJaVzVjYmx4dUlDQWdJR1JsYzNRdWNtVnRiM1psVEdsemRHVnVaWElvSjJOc2IzTmxKeXdnYjI1amJHOXpaU2s3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWm1sdWFYTm9KeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJR1JsYzNRdWNtVnRiM1psVEdsemRHVnVaWElvSjJSeVlXbHVKeXdnYjI1a2NtRnBiaWs3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlhKeWIzSW5MQ0J2Ym1WeWNtOXlLVHRjYmlBZ0lDQmtaWE4wTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2QxYm5CcGNHVW5MQ0J2Ym5WdWNHbHdaU2s3WEc0Z0lDQWdjM0pqTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RsYm1RbkxDQnZibVZ1WkNrN1hHNGdJQ0FnYzNKakxuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGJtUW5MQ0IxYm5CcGNHVXBPMXh1SUNBZ0lITnlZeTV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aR0YwWVNjc0lHOXVaR0YwWVNrN1hHNGdJQ0FnWTJ4bFlXNWxaRlZ3SUQwZ2RISjFaVHNnTHk4Z2FXWWdkR2hsSUhKbFlXUmxjaUJwY3lCM1lXbDBhVzVuSUdadmNpQmhJR1J5WVdsdUlHVjJaVzUwSUdaeWIyMGdkR2hwYzF4dUlDQWdJQzh2SUhOd1pXTnBabWxqSUhkeWFYUmxjaXdnZEdobGJpQnBkQ0IzYjNWc1pDQmpZWFZ6WlNCcGRDQjBieUJ1WlhabGNpQnpkR0Z5ZEZ4dUlDQWdJQzh2SUdac2IzZHBibWNnWVdkaGFXNHVYRzRnSUNBZ0x5OGdVMjhzSUdsbUlIUm9hWE1nYVhNZ1lYZGhhWFJwYm1jZ1lTQmtjbUZwYml3Z2RHaGxiaUIzWlNCcWRYTjBJR05oYkd3Z2FYUWdibTkzTGx4dUlDQWdJQzh2SUVsbUlIZGxJR1J2YmlkMElHdHViM2NzSUhSb1pXNGdZWE56ZFcxbElIUm9ZWFFnZDJVZ1lYSmxJSGRoYVhScGJtY2dabTl5SUc5dVpTNWNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWhkMkZwZEVSeVlXbHVJQ1ltSUNnaFpHVnpkQzVmZDNKcGRHRmliR1ZUZEdGMFpTQjhmQ0JrWlhOMExsOTNjbWwwWVdKc1pWTjBZWFJsTG01bFpXUkVjbUZwYmlrcElHOXVaSEpoYVc0b0tUdGNiaUFnZlZ4dVhHNGdJSE55WXk1dmJpZ25aR0YwWVNjc0lHOXVaR0YwWVNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnYjI1a1lYUmhLR05vZFc1cktTQjdYRzRnSUNBZ1pHVmlkV2NvSjI5dVpHRjBZU2NwTzF4dUlDQWdJSFpoY2lCeVpYUWdQU0JrWlhOMExuZHlhWFJsS0dOb2RXNXJLVHRjYmlBZ0lDQmtaV0oxWnlnblpHVnpkQzUzY21sMFpTY3NJSEpsZENrN1hHNWNiaUFnSUNCcFppQW9jbVYwSUQwOVBTQm1ZV3h6WlNrZ2UxeHVJQ0FnSUNBZ0x5OGdTV1lnZEdobElIVnpaWElnZFc1d2FYQmxaQ0JrZFhKcGJtY2dZR1JsYzNRdWQzSnBkR1VvS1dBc0lHbDBJR2x6SUhCdmMzTnBZbXhsWEc0Z0lDQWdJQ0F2THlCMGJ5Qm5aWFFnYzNSMVkyc2dhVzRnWVNCd1pYSnRZVzVsYm5Sc2VTQndZWFZ6WldRZ2MzUmhkR1VnYVdZZ2RHaGhkQ0IzY21sMFpWeHVJQ0FnSUNBZ0x5OGdZV3h6YnlCeVpYUjFjbTVsWkNCbVlXeHpaUzVjYmlBZ0lDQWdJQzh2SUQwK0lFTm9aV05ySUhkb1pYUm9aWElnWUdSbGMzUmdJR2x6SUhOMGFXeHNJR0VnY0dsd2FXNW5JR1JsYzNScGJtRjBhVzl1TGx4dUlDQWdJQ0FnYVdZZ0tDaHpkR0YwWlM1d2FYQmxjME52ZFc1MElEMDlQU0F4SUNZbUlITjBZWFJsTG5CcGNHVnpJRDA5UFNCa1pYTjBJSHg4SUhOMFlYUmxMbkJwY0dWelEyOTFiblFnUGlBeElDWW1JR2x1WkdWNFQyWW9jM1JoZEdVdWNHbHdaWE1zSUdSbGMzUXBJQ0U5UFNBdE1Ta2dKaVlnSVdOc1pXRnVaV1JWY0NrZ2UxeHVJQ0FnSUNBZ0lDQmtaV0oxWnlnblptRnNjMlVnZDNKcGRHVWdjbVZ6Y0c5dWMyVXNJSEJoZFhObEp5d2djM1JoZEdVdVlYZGhhWFJFY21GcGJpazdYRzRnSUNBZ0lDQWdJSE4wWVhSbExtRjNZV2wwUkhKaGFXNHJLenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYzNKakxuQmhkWE5sS0NrN1hHNGdJQ0FnZlZ4dUlDQjlJQzh2SUdsbUlIUm9aU0JrWlhOMElHaGhjeUJoYmlCbGNuSnZjaXdnZEdobGJpQnpkRzl3SUhCcGNHbHVaeUJwYm5SdklHbDBMbHh1SUNBdkx5Qm9iM2RsZG1WeUxDQmtiMjRuZENCemRYQndjbVZ6Y3lCMGFHVWdkR2h5YjNkcGJtY2dZbVZvWVhacGIzSWdabTl5SUhSb2FYTXVYRzVjYmx4dUlDQm1kVzVqZEdsdmJpQnZibVZ5Y205eUtHVnlLU0I3WEc0Z0lDQWdaR1ZpZFdjb0oyOXVaWEp5YjNJbkxDQmxjaWs3WEc0Z0lDQWdkVzV3YVhCbEtDazdYRzRnSUNBZ1pHVnpkQzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aWEp5YjNJbkxDQnZibVZ5Y205eUtUdGNiaUFnSUNCcFppQW9SVVZzYVhOMFpXNWxja052ZFc1MEtHUmxjM1FzSUNkbGNuSnZjaWNwSUQwOVBTQXdLU0JsY25KdmNrOXlSR1Z6ZEhKdmVTaGtaWE4wTENCbGNpazdYRzRnSUgwZ0x5OGdUV0ZyWlNCemRYSmxJRzkxY2lCbGNuSnZjaUJvWVc1a2JHVnlJR2x6SUdGMGRHRmphR1ZrSUdKbFptOXlaU0IxYzJWeWJHRnVaQ0J2Ym1WekxseHVYRzVjYmlBZ2NISmxjR1Z1WkV4cGMzUmxibVZ5S0dSbGMzUXNJQ2RsY25KdmNpY3NJRzl1WlhKeWIzSXBPeUF2THlCQ2IzUm9JR05zYjNObElHRnVaQ0JtYVc1cGMyZ2djMmh2ZFd4a0lIUnlhV2RuWlhJZ2RXNXdhWEJsTENCaWRYUWdiMjVzZVNCdmJtTmxMbHh1WEc0Z0lHWjFibU4wYVc5dUlHOXVZMnh2YzJVb0tTQjdYRzRnSUNBZ1pHVnpkQzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25abWx1YVhOb0p5d2diMjVtYVc1cGMyZ3BPMXh1SUNBZ0lIVnVjR2x3WlNncE8xeHVJQ0I5WEc1Y2JpQWdaR1Z6ZEM1dmJtTmxLQ2RqYkc5elpTY3NJRzl1WTJ4dmMyVXBPMXh1WEc0Z0lHWjFibU4wYVc5dUlHOXVabWx1YVhOb0tDa2dlMXh1SUNBZ0lHUmxZblZuS0NkdmJtWnBibWx6YUNjcE8xeHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyTnNiM05sSnl3Z2IyNWpiRzl6WlNrN1hHNGdJQ0FnZFc1d2FYQmxLQ2s3WEc0Z0lIMWNibHh1SUNCa1pYTjBMbTl1WTJVb0oyWnBibWx6YUNjc0lHOXVabWx1YVhOb0tUdGNibHh1SUNCbWRXNWpkR2x2YmlCMWJuQnBjR1VvS1NCN1hHNGdJQ0FnWkdWaWRXY29KM1Z1Y0dsd1pTY3BPMXh1SUNBZ0lITnlZeTUxYm5CcGNHVW9aR1Z6ZENrN1hHNGdJSDBnTHk4Z2RHVnNiQ0IwYUdVZ1pHVnpkQ0IwYUdGMElHbDBKM01nWW1WcGJtY2djR2x3WldRZ2RHOWNibHh1WEc0Z0lHUmxjM1F1WlcxcGRDZ25jR2x3WlNjc0lITnlZeWs3SUM4dklITjBZWEowSUhSb1pTQm1iRzkzSUdsbUlHbDBJR2hoYzI0bmRDQmlaV1Z1SUhOMFlYSjBaV1FnWVd4eVpXRmtlUzVjYmx4dUlDQnBaaUFvSVhOMFlYUmxMbVpzYjNkcGJtY3BJSHRjYmlBZ0lDQmtaV0oxWnlnbmNHbHdaU0J5WlhOMWJXVW5LVHRjYmlBZ0lDQnpjbU11Y21WemRXMWxLQ2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWkdWemREdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlIQnBjR1ZQYmtSeVlXbHVLSE55WXlrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdjR2x3WlU5dVJISmhhVzVHZFc1amRHbHZibEpsYzNWc2RDZ3BJSHRjYmlBZ0lDQjJZWElnYzNSaGRHVWdQU0J6Y21NdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lDQWdaR1ZpZFdjb0ozQnBjR1ZQYmtSeVlXbHVKeXdnYzNSaGRHVXVZWGRoYVhSRWNtRnBiaWs3WEc0Z0lDQWdhV1lnS0hOMFlYUmxMbUYzWVdsMFJISmhhVzRwSUhOMFlYUmxMbUYzWVdsMFJISmhhVzR0TFR0Y2JseHVJQ0FnSUdsbUlDaHpkR0YwWlM1aGQyRnBkRVJ5WVdsdUlEMDlQU0F3SUNZbUlFVkZiR2x6ZEdWdVpYSkRiM1Z1ZENoemNtTXNJQ2RrWVhSaEp5a3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExtWnNiM2RwYm1jZ1BTQjBjblZsTzF4dUlDQWdJQ0FnWm14dmR5aHpjbU1wTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibjFjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuVnVjR2x3WlNBOUlHWjFibU4wYVc5dUlDaGtaWE4wS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJSFpoY2lCMWJuQnBjR1ZKYm1adklEMGdlMXh1SUNBZ0lHaGhjMVZ1Y0dsd1pXUTZJR1poYkhObFhHNGdJSDA3SUM4dklHbG1JSGRsSjNKbElHNXZkQ0J3YVhCcGJtY2dZVzU1ZDJobGNtVXNJSFJvWlc0Z1pHOGdibTkwYUdsdVp5NWNibHh1SUNCcFppQW9jM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlQVDBnTUNrZ2NtVjBkWEp1SUhSb2FYTTdJQzh2SUdwMWMzUWdiMjVsSUdSbGMzUnBibUYwYVc5dUxpQWdiVzl6ZENCamIyMXRiMjRnWTJGelpTNWNibHh1SUNCcFppQW9jM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlQVDBnTVNrZ2UxeHVJQ0FnSUM4dklIQmhjM05sWkNCcGJpQnZibVVzSUdKMWRDQnBkQ2R6SUc1dmRDQjBhR1VnY21sbmFIUWdiMjVsTGx4dUlDQWdJR2xtSUNoa1pYTjBJQ1ltSUdSbGMzUWdJVDA5SUhOMFlYUmxMbkJwY0dWektTQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQnBaaUFvSVdSbGMzUXBJR1JsYzNRZ1BTQnpkR0YwWlM1d2FYQmxjenNnTHk4Z1oyOTBJR0VnYldGMFkyZ3VYRzVjYmlBZ0lDQnpkR0YwWlM1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUNBZ2MzUmhkR1V1Y0dsd1pYTkRiM1Z1ZENBOUlEQTdYRzRnSUNBZ2MzUmhkR1V1Wm14dmQybHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lHbG1JQ2hrWlhOMEtTQmtaWE4wTG1WdGFYUW9KM1Z1Y0dsd1pTY3NJSFJvYVhNc0lIVnVjR2x3WlVsdVptOHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOUlDOHZJSE5zYjNjZ1kyRnpaUzRnYlhWc2RHbHdiR1VnY0dsd1pTQmtaWE4wYVc1aGRHbHZibk11WEc1Y2JseHVJQ0JwWmlBb0lXUmxjM1FwSUh0Y2JpQWdJQ0F2THlCeVpXMXZkbVVnWVd4c0xseHVJQ0FnSUhaaGNpQmtaWE4wY3lBOUlITjBZWFJsTG5CcGNHVnpPMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQnpkR0YwWlM1d2FYQmxjME52ZFc1ME8xeHVJQ0FnSUhOMFlYUmxMbkJwY0dWeklEMGdiblZzYkR0Y2JpQWdJQ0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJRDBnTUR0Y2JpQWdJQ0J6ZEdGMFpTNW1iRzkzYVc1bklEMGdabUZzYzJVN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQmtaWE4wYzF0cFhTNWxiV2wwS0NkMWJuQnBjR1VuTENCMGFHbHpMQ0I3WEc0Z0lDQWdJQ0FnSUdoaGMxVnVjR2x3WldRNklHWmhiSE5sWEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmU0F2THlCMGNua2dkRzhnWm1sdVpDQjBhR1VnY21sbmFIUWdiMjVsTGx4dVhHNWNiaUFnZG1GeUlHbHVaR1Y0SUQwZ2FXNWtaWGhQWmloemRHRjBaUzV3YVhCbGN5d2daR1Z6ZENrN1hHNGdJR2xtSUNocGJtUmxlQ0E5UFQwZ0xURXBJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQnpkR0YwWlM1d2FYQmxjeTV6Y0d4cFkyVW9hVzVrWlhnc0lERXBPMXh1SUNCemRHRjBaUzV3YVhCbGMwTnZkVzUwSUMwOUlERTdYRzRnSUdsbUlDaHpkR0YwWlM1d2FYQmxjME52ZFc1MElEMDlQU0F4S1NCemRHRjBaUzV3YVhCbGN5QTlJSE4wWVhSbExuQnBjR1Z6V3pCZE8xeHVJQ0JrWlhOMExtVnRhWFFvSjNWdWNHbHdaU2NzSUhSb2FYTXNJSFZ1Y0dsd1pVbHVabThwTzF4dUlDQnlaWFIxY200Z2RHaHBjenRjYm4wN0lDOHZJSE5sZENCMWNDQmtZWFJoSUdWMlpXNTBjeUJwWmlCMGFHVjVJR0Z5WlNCaGMydGxaQ0JtYjNKY2JpOHZJRVZ1YzNWeVpTQnlaV0ZrWVdKc1pTQnNhWE4wWlc1bGNuTWdaWFpsYm5SMVlXeHNlU0JuWlhRZ2MyOXRaWFJvYVc1blhHNWNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTG05dUlEMGdablZ1WTNScGIyNGdLR1YyTENCbWJpa2dlMXh1SUNCMllYSWdjbVZ6SUQwZ1UzUnlaV0Z0TG5CeWIzUnZkSGx3WlM1dmJpNWpZV3hzS0hSb2FYTXNJR1YyTENCbWJpazdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ2FXWWdLR1YySUQwOVBTQW5aR0YwWVNjcElIdGNiaUFnSUNBdkx5QjFjR1JoZEdVZ2NtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jZ2MyOGdkR2hoZENCeVpYTjFiV1VvS1NCdFlYa2dZbVVnWVNCdWJ5MXZjRnh1SUNBZ0lDOHZJR0VnWm1WM0lHeHBibVZ6SUdSdmQyNHVJRlJvYVhNZ2FYTWdibVZsWkdWa0lIUnZJSE4xY0hCdmNuUWdiMjVqWlNnbmNtVmhaR0ZpYkdVbktTNWNiaUFnSUNCemRHRjBaUzV5WldGa1lXSnNaVXhwYzNSbGJtbHVaeUE5SUhSb2FYTXViR2x6ZEdWdVpYSkRiM1Z1ZENnbmNtVmhaR0ZpYkdVbktTQStJREE3SUM4dklGUnllU0J6ZEdGeWRDQm1iRzkzYVc1bklHOXVJRzVsZUhRZ2RHbGpheUJwWmlCemRISmxZVzBnYVhOdUozUWdaWGh3YkdsamFYUnNlU0J3WVhWelpXUmNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNW1iRzkzYVc1bklDRTlQU0JtWVd4elpTa2dkR2hwY3k1eVpYTjFiV1VvS1R0Y2JpQWdmU0JsYkhObElHbG1JQ2hsZGlBOVBUMGdKM0psWVdSaFlteGxKeWtnZTF4dUlDQWdJR2xtSUNnaGMzUmhkR1V1Wlc1a1JXMXBkSFJsWkNBbUppQWhjM1JoZEdVdWNtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jcElIdGNiaUFnSUNBZ0lITjBZWFJsTG5KbFlXUmhZbXhsVEdsemRHVnVhVzVuSUQwZ2MzUmhkR1V1Ym1WbFpGSmxZV1JoWW14bElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhOMFlYUmxMbVpzYjNkcGJtY2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lITjBZWFJsTG1WdGFYUjBaV1JTWldGa1lXSnNaU0E5SUdaaGJITmxPMXh1SUNBZ0lDQWdaR1ZpZFdjb0oyOXVJSEpsWVdSaFlteGxKeXdnYzNSaGRHVXViR1Z1WjNSb0xDQnpkR0YwWlM1eVpXRmthVzVuS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSE4wWVhSbExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQmxiV2wwVW1WaFpHRmliR1VvZEdocGN5azdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0Z6ZEdGMFpTNXlaV0ZrYVc1bktTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ibEpsWVdScGJtZE9aWGgwVkdsamF5d2dkR2hwY3lrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNWhaR1JNYVhOMFpXNWxjaUE5SUZKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1dmJqdGNibHh1VW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTG5KbGJXOTJaVXhwYzNSbGJtVnlJRDBnWm5WdVkzUnBiMjRnS0dWMkxDQm1iaWtnZTF4dUlDQjJZWElnY21WeklEMGdVM1J5WldGdExuQnliM1J2ZEhsd1pTNXlaVzF2ZG1WTWFYTjBaVzVsY2k1allXeHNLSFJvYVhNc0lHVjJMQ0JtYmlrN1hHNWNiaUFnYVdZZ0tHVjJJRDA5UFNBbmNtVmhaR0ZpYkdVbktTQjdYRzRnSUNBZ0x5OGdWMlVnYm1WbFpDQjBieUJqYUdWamF5QnBaaUIwYUdWeVpTQnBjeUJ6YjIxbGIyNWxJSE4wYVd4c0lHeHBjM1JsYm1sdVp5QjBiMXh1SUNBZ0lDOHZJSEpsWVdSaFlteGxJR0Z1WkNCeVpYTmxkQ0IwYUdVZ2MzUmhkR1V1SUVodmQyVjJaWElnZEdocGN5QnVaV1ZrY3lCMGJ5Qm9ZWEJ3Wlc1Y2JpQWdJQ0F2THlCaFpuUmxjaUJ5WldGa1lXSnNaU0JvWVhNZ1ltVmxiaUJsYldsMGRHVmtJR0oxZENCaVpXWnZjbVVnU1M5UElDaHVaWGgwVkdsamF5a2dkRzljYmlBZ0lDQXZMeUJ6ZFhCd2IzSjBJRzl1WTJVb0ozSmxZV1JoWW14bEp5d2dabTRwSUdONVkyeGxjeTRnVkdocGN5QnRaV0Z1Y3lCMGFHRjBJR05oYkd4cGJtZGNiaUFnSUNBdkx5QnlaWE4xYldVZ2QybDBhR2x1SUhSb1pTQnpZVzFsSUhScFkyc2dkMmxzYkNCb1lYWmxJRzV2WEc0Z0lDQWdMeThnWldabVpXTjBMbHh1SUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb2RYQmtZWFJsVW1WaFpHRmliR1ZNYVhOMFpXNXBibWNzSUhSb2FYTXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1eVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NZ1BTQm1kVzVqZEdsdmJpQW9aWFlwSUh0Y2JpQWdkbUZ5SUhKbGN5QTlJRk4wY21WaGJTNXdjbTkwYjNSNWNHVXVjbVZ0YjNabFFXeHNUR2x6ZEdWdVpYSnpMbUZ3Y0d4NUtIUm9hWE1zSUdGeVozVnRaVzUwY3lrN1hHNWNiaUFnYVdZZ0tHVjJJRDA5UFNBbmNtVmhaR0ZpYkdVbklIeDhJR1YySUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQXZMeUJYWlNCdVpXVmtJSFJ2SUdOb1pXTnJJR2xtSUhSb1pYSmxJR2x6SUhOdmJXVnZibVVnYzNScGJHd2diR2x6ZEdWdWFXNW5JSFJ2WEc0Z0lDQWdMeThnY21WaFpHRmliR1VnWVc1a0lISmxjMlYwSUhSb1pTQnpkR0YwWlM0Z1NHOTNaWFpsY2lCMGFHbHpJRzVsWldSeklIUnZJR2hoY0hCbGJseHVJQ0FnSUM4dklHRm1kR1Z5SUhKbFlXUmhZbXhsSUdoaGN5QmlaV1Z1SUdWdGFYUjBaV1FnWW5WMElHSmxabTl5WlNCSkwwOGdLRzVsZUhSVWFXTnJLU0IwYjF4dUlDQWdJQzh2SUhOMWNIQnZjblFnYjI1alpTZ25jbVZoWkdGaWJHVW5MQ0JtYmlrZ1kzbGpiR1Z6TGlCVWFHbHpJRzFsWVc1eklIUm9ZWFFnWTJGc2JHbHVaMXh1SUNBZ0lDOHZJSEpsYzNWdFpTQjNhWFJvYVc0Z2RHaGxJSE5oYldVZ2RHbGpheUIzYVd4c0lHaGhkbVVnYm05Y2JpQWdJQ0F2THlCbFptWmxZM1F1WEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aDFjR1JoZEdWU1pXRmtZV0pzWlV4cGMzUmxibWx1Wnl3Z2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVW1WaFpHRmliR1ZNYVhOMFpXNXBibWNvYzJWc1ppa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpaV3htTGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCemRHRjBaUzV5WldGa1lXSnNaVXhwYzNSbGJtbHVaeUE5SUhObGJHWXViR2x6ZEdWdVpYSkRiM1Z1ZENnbmNtVmhaR0ZpYkdVbktTQStJREE3WEc1Y2JpQWdhV1lnS0hOMFlYUmxMbkpsYzNWdFpWTmphR1ZrZFd4bFpDQW1KaUFoYzNSaGRHVXVjR0YxYzJWa0tTQjdYRzRnSUNBZ0x5OGdabXh2ZDJsdVp5QnVaV1ZrY3lCMGJ5QmlaU0J6WlhRZ2RHOGdkSEoxWlNCdWIzY3NJRzkwYUdWeWQybHpaVnh1SUNBZ0lDOHZJSFJvWlNCMWNHTnZiV2x1WnlCeVpYTjFiV1VnZDJsc2JDQnViM1FnWm14dmR5NWNiaUFnSUNCemRHRjBaUzVtYkc5M2FXNW5JRDBnZEhKMVpUc2dMeThnWTNKMVpHVWdkMkY1SUhSdklHTm9aV05ySUdsbUlIZGxJSE5vYjNWc1pDQnlaWE4xYldWY2JpQWdmU0JsYkhObElHbG1JQ2h6Wld4bUxteHBjM1JsYm1WeVEyOTFiblFvSjJSaGRHRW5LU0ErSURBcElIdGNiaUFnSUNCelpXeG1MbkpsYzNWdFpTZ3BPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUc1U1pXRmthVzVuVG1WNGRGUnBZMnNvYzJWc1ppa2dlMXh1SUNCa1pXSjFaeWduY21WaFpHRmliR1VnYm1WNGRIUnBZMnNnY21WaFpDQXdKeWs3WEc0Z0lITmxiR1l1Y21WaFpDZ3dLVHRjYm4wZ0x5OGdjR0YxYzJVb0tTQmhibVFnY21WemRXMWxLQ2tnWVhKbElISmxiVzVoYm5SeklHOW1JSFJvWlNCc1pXZGhZM2tnY21WaFpHRmliR1VnYzNSeVpXRnRJRUZRU1Z4dUx5OGdTV1lnZEdobElIVnpaWElnZFhObGN5QjBhR1Z0TENCMGFHVnVJSE4zYVhSamFDQnBiblJ2SUc5c1pDQnRiMlJsTGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV5WlhOMWJXVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1bWJHOTNhVzVuS1NCN1hHNGdJQ0FnWkdWaWRXY29KM0psYzNWdFpTY3BPeUF2THlCM1pTQm1iRzkzSUc5dWJIa2dhV1lnZEdobGNtVWdhWE1nYm04Z2IyNWxJR3hwYzNSbGJtbHVaMXh1SUNBZ0lDOHZJR1p2Y2lCeVpXRmtZV0pzWlN3Z1luVjBJSGRsSUhOMGFXeHNJR2hoZG1VZ2RHOGdZMkZzYkZ4dUlDQWdJQzh2SUhKbGMzVnRaU2dwWEc1Y2JpQWdJQ0J6ZEdGMFpTNW1iRzkzYVc1bklEMGdJWE4wWVhSbExuSmxZV1JoWW14bFRHbHpkR1Z1YVc1bk8xeHVJQ0FnSUhKbGMzVnRaU2gwYUdsekxDQnpkR0YwWlNrN1hHNGdJSDFjYmx4dUlDQnpkR0YwWlM1d1lYVnpaV1FnUFNCbVlXeHpaVHRjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQnlaWE4xYldVb2MzUnlaV0Z0TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvSVhOMFlYUmxMbkpsYzNWdFpWTmphR1ZrZFd4bFpDa2dlMXh1SUNBZ0lITjBZWFJsTG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXloeVpYTjFiV1ZmTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCeVpYTjFiV1ZmS0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ1pHVmlkV2NvSjNKbGMzVnRaU2NzSUhOMFlYUmxMbkpsWVdScGJtY3BPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVjbVZoWkdsdVp5a2dlMXh1SUNBZ0lITjBjbVZoYlM1eVpXRmtLREFwTzF4dUlDQjlYRzVjYmlBZ2MzUmhkR1V1Y21WemRXMWxVMk5vWldSMWJHVmtJRDBnWm1Gc2MyVTdYRzRnSUhOMGNtVmhiUzVsYldsMEtDZHlaWE4xYldVbktUdGNiaUFnWm14dmR5aHpkSEpsWVcwcE8xeHVJQ0JwWmlBb2MzUmhkR1V1Wm14dmQybHVaeUFtSmlBaGMzUmhkR1V1Y21WaFpHbHVaeWtnYzNSeVpXRnRMbkpsWVdRb01DazdYRzU5WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXdZWFZ6WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ1pHVmlkV2NvSjJOaGJHd2djR0YxYzJVZ1pteHZkMmx1WnowbGFpY3NJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wm14dmQybHVaeWs3WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpteHZkMmx1WnlBaFBUMGdabUZzYzJVcElIdGNiaUFnSUNCa1pXSjFaeWduY0dGMWMyVW5LVHRjYmlBZ0lDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVpzYjNkcGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbVZ0YVhRb0ozQmhkWE5sSnlrN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbkJoZFhObFpDQTlJSFJ5ZFdVN1hHNGdJSEpsZEhWeWJpQjBhR2x6TzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWm14dmR5aHpkSEpsWVcwcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCa1pXSjFaeWduWm14dmR5Y3NJSE4wWVhSbExtWnNiM2RwYm1jcE8xeHVYRzRnSUhkb2FXeGxJQ2h6ZEdGMFpTNW1iRzkzYVc1bklDWW1JSE4wY21WaGJTNXlaV0ZrS0NrZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBN1hHNGdJSDFjYm4wZ0x5OGdkM0poY0NCaGJpQnZiR1F0YzNSNWJHVWdjM1J5WldGdElHRnpJSFJvWlNCaGMzbHVZeUJrWVhSaElITnZkWEpqWlM1Y2JpOHZJRlJvYVhNZ2FYTWdLbTV2ZENvZ2NHRnlkQ0J2WmlCMGFHVWdjbVZoWkdGaWJHVWdjM1J5WldGdElHbHVkR1Z5Wm1GalpTNWNiaTh2SUVsMElHbHpJR0Z1SUhWbmJIa2dkVzVtYjNKMGRXNWhkR1VnYldWemN5QnZaaUJvYVhOMGIzSjVMbHh1WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNTNjbUZ3SUQwZ1puVnVZM1JwYjI0Z0tITjBjbVZoYlNrZ2UxeHVJQ0IyWVhJZ1gzUm9hWE1nUFNCMGFHbHpPMXh1WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lIWmhjaUJ3WVhWelpXUWdQU0JtWVd4elpUdGNiaUFnYzNSeVpXRnRMbTl1S0NkbGJtUW5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnWkdWaWRXY29KM2R5WVhCd1pXUWdaVzVrSnlrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdVpHVmpiMlJsY2lBbUppQWhjM1JoZEdVdVpXNWtaV1FwSUh0Y2JpQWdJQ0FnSUhaaGNpQmphSFZ1YXlBOUlITjBZWFJsTG1SbFkyOWtaWEl1Wlc1a0tDazdYRzRnSUNBZ0lDQnBaaUFvWTJoMWJtc2dKaVlnWTJoMWJtc3ViR1Z1WjNSb0tTQmZkR2hwY3k1d2RYTm9LR05vZFc1cktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCZmRHaHBjeTV3ZFhOb0tHNTFiR3dwTzF4dUlDQjlLVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZGtZWFJoSnl3Z1puVnVZM1JwYjI0Z0tHTm9kVzVyS1NCN1hHNGdJQ0FnWkdWaWRXY29KM2R5WVhCd1pXUWdaR0YwWVNjcE8xeHVJQ0FnSUdsbUlDaHpkR0YwWlM1a1pXTnZaR1Z5S1NCamFIVnVheUE5SUhOMFlYUmxMbVJsWTI5a1pYSXVkM0pwZEdVb1kyaDFibXNwT3lBdkx5QmtiMjRuZENCemEybHdJRzkyWlhJZ1ptRnNjM2tnZG1Gc2RXVnpJR2x1SUc5aWFtVmpkRTF2WkdWY2JseHVJQ0FnSUdsbUlDaHpkR0YwWlM1dlltcGxZM1JOYjJSbElDWW1JQ2hqYUhWdWF5QTlQVDBnYm5Wc2JDQjhmQ0JqYUhWdWF5QTlQVDBnZFc1a1pXWnBibVZrS1NrZ2NtVjBkWEp1TzJWc2MyVWdhV1lnS0NGemRHRjBaUzV2WW1wbFkzUk5iMlJsSUNZbUlDZ2hZMmgxYm1zZ2ZId2dJV05vZFc1ckxteGxibWQwYUNrcElISmxkSFZ5Ymp0Y2JseHVJQ0FnSUhaaGNpQnlaWFFnUFNCZmRHaHBjeTV3ZFhOb0tHTm9kVzVyS1R0Y2JseHVJQ0FnSUdsbUlDZ2hjbVYwS1NCN1hHNGdJQ0FnSUNCd1lYVnpaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjM1J5WldGdExuQmhkWE5sS0NrN1hHNGdJQ0FnZlZ4dUlDQjlLVHNnTHk4Z2NISnZlSGtnWVd4c0lIUm9aU0J2ZEdobGNpQnRaWFJvYjJSekxseHVJQ0F2THlCcGJYQnZjblJoYm5RZ2QyaGxiaUIzY21Gd2NHbHVaeUJtYVd4MFpYSnpJR0Z1WkNCa2RYQnNaWGhsY3k1Y2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUdsdUlITjBjbVZoYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6VzJsZElEMDlQU0IxYm1SbFptbHVaV1FnSmlZZ2RIbHdaVzltSUhOMGNtVmhiVnRwWFNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnZEdocGMxdHBYU0E5SUdaMWJtTjBhVzl1SUcxbGRHaHZaRmR5WVhBb2JXVjBhRzlrS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCdFpYUm9iMlJYY21Gd1VtVjBkWEp1Um5WdVkzUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbVZoYlZ0dFpYUm9iMlJkTG1Gd2NHeDVLSE4wY21WaGJTd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUgwb2FTazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklIQnliM2g1SUdObGNuUmhhVzRnYVcxd2IzSjBZVzUwSUdWMlpXNTBjeTVjYmx4dVhHNGdJR1p2Y2lBb2RtRnlJRzRnUFNBd095QnVJRHdnYTFCeWIzaDVSWFpsYm5SekxteGxibWQwYURzZ2Jpc3JLU0I3WEc0Z0lDQWdjM1J5WldGdExtOXVLR3RRY205NGVVVjJaVzUwYzF0dVhTd2dkR2hwY3k1bGJXbDBMbUpwYm1Rb2RHaHBjeXdnYTFCeWIzaDVSWFpsYm5SelcyNWRLU2s3WEc0Z0lIMGdMeThnZDJobGJpQjNaU0IwY25rZ2RHOGdZMjl1YzNWdFpTQnpiMjFsSUcxdmNtVWdZbmwwWlhNc0lITnBiWEJzZVNCMWJuQmhkWE5sSUhSb1pWeHVJQ0F2THlCMWJtUmxjbXg1YVc1bklITjBjbVZoYlM1Y2JseHVYRzRnSUhSb2FYTXVYM0psWVdRZ1BTQm1kVzVqZEdsdmJpQW9iaWtnZTF4dUlDQWdJR1JsWW5WbktDZDNjbUZ3Y0dWa0lGOXlaV0ZrSnl3Z2JpazdYRzVjYmlBZ0lDQnBaaUFvY0dGMWMyVmtLU0I3WEc0Z0lDQWdJQ0J3WVhWelpXUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lITjBjbVZoYlM1eVpYTjFiV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNXBaaUFvZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0JTWldGa1lXSnNaUzV3Y205MGIzUjVjR1ZiVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNKZElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJR2xtSUNoamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdZM0psWVhSbFVtVmhaR0ZpYkdWVGRISmxZVzFCYzNsdVkwbDBaWEpoZEc5eUlEMGdjbVZ4ZFdseVpTZ25MaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMkZ6ZVc1algybDBaWEpoZEc5eUp5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdOeVpXRjBaVkpsWVdSaFlteGxVM1J5WldGdFFYTjVibU5KZEdWeVlYUnZjaWgwYUdsektUdGNiaUFnZlR0Y2JuMWNibHh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtGSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTd2dKM0psWVdSaFlteGxTR2xuYUZkaGRHVnlUV0Z5YXljc0lIdGNiaUFnTHk4Z2JXRnJhVzVuSUdsMElHVjRjR3hwWTJsMElIUm9hWE1nY0hKdmNHVnlkSGtnYVhNZ2JtOTBJR1Z1ZFcxbGNtRmliR1ZjYmlBZ0x5OGdZbVZqWVhWelpTQnZkR2hsY25kcGMyVWdjMjl0WlNCd2NtOTBiM1I1Y0dVZ2JXRnVhWEIxYkdGMGFXOXVJR2x1WEc0Z0lDOHZJSFZ6WlhKc1lXNWtJSGRwYkd3Z1ptRnBiRnh1SUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXp0Y2JpQWdmVnh1ZlNrN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmNtVmhaR0ZpYkdWQ2RXWm1aWEluTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WW5WbVptVnlPMXh1SUNCOVhHNTlLVHRjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaFNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXNJQ2R5WldGa1lXSnNaVVpzYjNkcGJtY25MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1ac2IzZHBibWM3WEc0Z0lIMHNYRzRnSUhObGREb2dablZ1WTNScGIyNGdjMlYwS0hOMFlYUmxLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVabXh2ZDJsdVp5QTlJSE4wWVhSbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlNrN0lDOHZJR1Y0Y0c5elpXUWdabTl5SUhSbGMzUnBibWNnY0hWeWNHOXpaWE1nYjI1c2VTNWNibHh1VW1WaFpHRmliR1V1WDJaeWIyMU1hWE4wSUQwZ1puSnZiVXhwYzNRN1hHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmNtVmhaR0ZpYkdWTVpXNW5kR2duTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExteGxibWQwYUR0Y2JpQWdmVnh1ZlNrN0lDOHZJRkJzZFdOcklHOW1aaUJ1SUdKNWRHVnpJR1p5YjIwZ1lXNGdZWEp5WVhrZ2IyWWdZblZtWm1WeWN5NWNiaTh2SUV4bGJtZDBhQ0JwY3lCMGFHVWdZMjl0WW1sdVpXUWdiR1Z1WjNSb2N5QnZaaUJoYkd3Z2RHaGxJR0oxWm1abGNuTWdhVzRnZEdobElHeHBjM1F1WEc0dkx5QlVhR2x6SUdaMWJtTjBhVzl1SUdseklHUmxjMmxuYm1Wa0lIUnZJR0psSUdsdWJHbHVZV0pzWlN3Z2MyOGdjR3hsWVhObElIUmhhMlVnWTJGeVpTQjNhR1Z1SUcxaGEybHVaMXh1THk4Z1kyaGhibWRsY3lCMGJ5QjBhR1VnWm5WdVkzUnBiMjRnWW05a2VTNWNibHh1Wm5WdVkzUnBiMjRnWm5KdmJVeHBjM1FvYml3Z2MzUmhkR1VwSUh0Y2JpQWdMeThnYm05MGFHbHVaeUJpZFdabVpYSmxaRnh1SUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdkbUZ5SUhKbGREdGNiaUFnYVdZZ0tITjBZWFJsTG05aWFtVmpkRTF2WkdVcElISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNXphR2xtZENncE8yVnNjMlVnYVdZZ0tDRnVJSHg4SUc0Z1BqMGdjM1JoZEdVdWJHVnVaM1JvS1NCN1hHNGdJQ0FnTHk4Z2NtVmhaQ0JwZENCaGJHd3NJSFJ5ZFc1allYUmxJSFJvWlNCc2FYTjBYRzRnSUNBZ2FXWWdLSE4wWVhSbExtUmxZMjlrWlhJcElISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNXFiMmx1S0NjbktUdGxiSE5sSUdsbUlDaHpkR0YwWlM1aWRXWm1aWEl1YkdWdVozUm9JRDA5UFNBeEtTQnlaWFFnUFNCemRHRjBaUzVpZFdabVpYSXVabWx5YzNRb0tUdGxiSE5sSUhKbGRDQTlJSE4wWVhSbExtSjFabVpsY2k1amIyNWpZWFFvYzNSaGRHVXViR1Z1WjNSb0tUdGNiaUFnSUNCemRHRjBaUzVpZFdabVpYSXVZMnhsWVhJb0tUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQXZMeUJ5WldGa0lIQmhjblFnYjJZZ2JHbHpkRnh1SUNBZ0lISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNWpiMjV6ZFcxbEtHNHNJSE4wWVhSbExtUmxZMjlrWlhJcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCeVpYUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVnVaRkpsWVdSaFlteGxLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lHUmxZblZuS0NkbGJtUlNaV0ZrWVdKc1pTY3NJSE4wWVhSbExtVnVaRVZ0YVhSMFpXUXBPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzVrUlcxcGRIUmxaQ2tnZTF4dUlDQWdJSE4wWVhSbExtVnVaR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQndjbTlqWlhOekxtNWxlSFJVYVdOcktHVnVaRkpsWVdSaFlteGxUbFFzSUhOMFlYUmxMQ0J6ZEhKbFlXMHBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdWdVpGSmxZV1JoWW14bFRsUW9jM1JoZEdVc0lITjBjbVZoYlNrZ2UxeHVJQ0JrWldKMVp5Z25aVzVrVW1WaFpHRmliR1ZPVkNjc0lITjBZWFJsTG1WdVpFVnRhWFIwWldRc0lITjBZWFJsTG14bGJtZDBhQ2s3SUM4dklFTm9aV05ySUhSb1lYUWdkMlVnWkdsa2JpZDBJR2RsZENCdmJtVWdiR0Z6ZENCMWJuTm9hV1owTGx4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Wlc1a1JXMXBkSFJsWkNBbUppQnpkR0YwWlM1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQnpkR0YwWlM1bGJtUkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J6ZEhKbFlXMHVjbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnSUNCemRISmxZVzB1WlcxcGRDZ25aVzVrSnlrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdVlYVjBiMFJsYzNSeWIza3BJSHRjYmlBZ0lDQWdJQzh2SUVsdUlHTmhjMlVnYjJZZ1pIVndiR1Y0SUhOMGNtVmhiWE1nZDJVZ2JtVmxaQ0JoSUhkaGVTQjBieUJrWlhSbFkzUmNiaUFnSUNBZ0lDOHZJR2xtSUhSb1pTQjNjbWwwWVdKc1pTQnphV1JsSUdseklISmxZV1I1SUdadmNpQmhkWFJ2UkdWemRISnZlU0JoY3lCM1pXeHNYRzRnSUNBZ0lDQjJZWElnZDFOMFlYUmxJRDBnYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUNBZ0lDQnBaaUFvSVhkVGRHRjBaU0I4ZkNCM1UzUmhkR1V1WVhWMGIwUmxjM1J5YjNrZ0ppWWdkMU4wWVhSbExtWnBibWx6YUdWa0tTQjdYRzRnSUNBZ0lDQWdJSE4wY21WaGJTNWtaWE4wY205NUtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibWxtSUNoMGVYQmxiMllnVTNsdFltOXNJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUZKbFlXUmhZbXhsTG1aeWIyMGdQU0JtZFc1amRHbHZiaUFvYVhSbGNtRmliR1VzSUc5d2RITXBJSHRjYmlBZ0lDQnBaaUFvWm5KdmJTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCbWNtOXRJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJaeWIyMG5LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1puSnZiU2hTWldGa1lXSnNaU3dnYVhSbGNtRmliR1VzSUc5d2RITXBPMXh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJtUmxlRTltS0hoekxDQjRLU0I3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCc0lEMGdlSE11YkdWdVozUm9PeUJwSUR3Z2JEc2dhU3NyS1NCN1hHNGdJQ0FnYVdZZ0tIaHpXMmxkSUQwOVBTQjRLU0J5WlhSMWNtNGdhVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUF0TVR0Y2JuMGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4vLyBhIHRyYW5zZm9ybSBzdHJlYW0gaXMgYSByZWFkYWJsZS93cml0YWJsZSBzdHJlYW0gd2hlcmUgeW91IGRvXFxuLy8gc29tZXRoaW5nIHdpdGggdGhlIGRhdGEuICBTb21ldGltZXMgaXQncyBjYWxsZWQgYSBcXFwiZmlsdGVyXFxcIixcXG4vLyBidXQgdGhhdCdzIG5vdCBhIGdyZWF0IG5hbWUgZm9yIGl0LCBzaW5jZSB0aGF0IGltcGxpZXMgYSB0aGluZyB3aGVyZVxcbi8vIHNvbWUgYml0cyBwYXNzIHRocm91Z2gsIGFuZCBvdGhlcnMgYXJlIHNpbXBseSBpZ25vcmVkLiAgKFRoYXQgd291bGRcXG4vLyBiZSBhIHZhbGlkIGV4YW1wbGUgb2YgYSB0cmFuc2Zvcm0sIG9mIGNvdXJzZS4pXFxuLy9cXG4vLyBXaGlsZSB0aGUgb3V0cHV0IGlzIGNhdXNhbGx5IHJlbGF0ZWQgdG8gdGhlIGlucHV0LCBpdCdzIG5vdCBhXFxuLy8gbmVjZXNzYXJpbHkgc3ltbWV0cmljIG9yIHN5bmNocm9ub3VzIHRyYW5zZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUsXFxuLy8gYSB6bGliIHN0cmVhbSBtaWdodCB0YWtlIG11bHRpcGxlIHBsYWluLXRleHQgd3JpdGVzKCksIGFuZCB0aGVuXFxuLy8gZW1pdCBhIHNpbmdsZSBjb21wcmVzc2VkIGNodW5rIHNvbWUgdGltZSBpbiB0aGUgZnV0dXJlLlxcbi8vXFxuLy8gSGVyZSdzIGhvdyB0aGlzIHdvcmtzOlxcbi8vXFxuLy8gVGhlIFRyYW5zZm9ybSBzdHJlYW0gaGFzIGFsbCB0aGUgYXNwZWN0cyBvZiB0aGUgcmVhZGFibGUgYW5kIHdyaXRhYmxlXFxuLy8gc3RyZWFtIGNsYXNzZXMuICBXaGVuIHlvdSB3cml0ZShjaHVuayksIHRoYXQgY2FsbHMgX3dyaXRlKGNodW5rLGNiKVxcbi8vIGludGVybmFsbHksIGFuZCByZXR1cm5zIGZhbHNlIGlmIHRoZXJlJ3MgYSBsb3Qgb2YgcGVuZGluZyB3cml0ZXNcXG4vLyBidWZmZXJlZCB1cC4gIFdoZW4geW91IGNhbGwgcmVhZCgpLCB0aGF0IGNhbGxzIF9yZWFkKG4pIHVudGlsXFxuLy8gdGhlcmUncyBlbm91Z2ggcGVuZGluZyByZWFkYWJsZSBkYXRhIGJ1ZmZlcmVkIHVwLlxcbi8vXFxuLy8gSW4gYSB0cmFuc2Zvcm0gc3RyZWFtLCB0aGUgd3JpdHRlbiBkYXRhIGlzIHBsYWNlZCBpbiBhIGJ1ZmZlci4gIFdoZW5cXG4vLyBfcmVhZChuKSBpcyBjYWxsZWQsIGl0IHRyYW5zZm9ybXMgdGhlIHF1ZXVlZCB1cCBkYXRhLCBjYWxsaW5nIHRoZVxcbi8vIGJ1ZmZlcmVkIF93cml0ZSBjYidzIGFzIGl0IGNvbnN1bWVzIGNodW5rcy4gIElmIGNvbnN1bWluZyBhIHNpbmdsZVxcbi8vIHdyaXR0ZW4gY2h1bmsgd291bGQgcmVzdWx0IGluIG11bHRpcGxlIG91dHB1dCBjaHVua3MsIHRoZW4gdGhlIGZpcnN0XFxuLy8gb3V0cHV0dGVkIGJpdCBjYWxscyB0aGUgcmVhZGNiLCBhbmQgc3Vic2VxdWVudCBjaHVua3MganVzdCBnbyBpbnRvXFxuLy8gdGhlIHJlYWQgYnVmZmVyLCBhbmQgd2lsbCBjYXVzZSBpdCB0byBlbWl0ICdyZWFkYWJsZScgaWYgbmVjZXNzYXJ5Llxcbi8vXFxuLy8gVGhpcyB3YXksIGJhY2stcHJlc3N1cmUgaXMgYWN0dWFsbHkgZGV0ZXJtaW5lZCBieSB0aGUgcmVhZGluZyBzaWRlLFxcbi8vIHNpbmNlIF9yZWFkIGhhcyB0byBiZSBjYWxsZWQgdG8gc3RhcnQgcHJvY2Vzc2luZyBhIG5ldyBjaHVuay4gIEhvd2V2ZXIsXFxuLy8gYSBwYXRob2xvZ2ljYWwgaW5mbGF0ZSB0eXBlIG9mIHRyYW5zZm9ybSBjYW4gY2F1c2UgZXhjZXNzaXZlIGJ1ZmZlcmluZ1xcbi8vIGhlcmUuICBGb3IgZXhhbXBsZSwgaW1hZ2luZSBhIHN0cmVhbSB3aGVyZSBldmVyeSBieXRlIG9mIGlucHV0IGlzXFxuLy8gaW50ZXJwcmV0ZWQgYXMgYW4gaW50ZWdlciBmcm9tIDAtMjU1LCBhbmQgdGhlbiByZXN1bHRzIGluIHRoYXQgbWFueVxcbi8vIGJ5dGVzIG9mIG91dHB1dC4gIFdyaXRpbmcgdGhlIDQgYnl0ZXMge2ZmLGZmLGZmLGZmfSB3b3VsZCByZXN1bHQgaW5cXG4vLyAxa2Igb2YgZGF0YSBiZWluZyBvdXRwdXQuICBJbiB0aGlzIGNhc2UsIHlvdSBjb3VsZCB3cml0ZSBhIHZlcnkgc21hbGxcXG4vLyBhbW91bnQgb2YgaW5wdXQsIGFuZCBlbmQgdXAgd2l0aCBhIHZlcnkgbGFyZ2UgYW1vdW50IG9mIG91dHB1dC4gIEluXFxuLy8gc3VjaCBhIHBhdGhvbG9naWNhbCBpbmZsYXRpbmcgbWVjaGFuaXNtLCB0aGVyZSdkIGJlIG5vIHdheSB0byB0ZWxsXFxuLy8gdGhlIHN5c3RlbSB0byBzdG9wIGRvaW5nIHRoZSB0cmFuc2Zvcm0uICBBIHNpbmdsZSA0TUIgd3JpdGUgY291bGRcXG4vLyBjYXVzZSB0aGUgc3lzdGVtIHRvIHJ1biBvdXQgb2YgbWVtb3J5Llxcbi8vXFxuLy8gSG93ZXZlciwgZXZlbiBpbiBzdWNoIGEgcGF0aG9sb2dpY2FsIGNhc2UsIG9ubHkgYSBzaW5nbGUgd3JpdHRlbiBjaHVua1xcbi8vIHdvdWxkIGJlIGNvbnN1bWVkLCBhbmQgdGhlbiB0aGUgcmVzdCB3b3VsZCB3YWl0ICh1bi10cmFuc2Zvcm1lZCkgdW50aWxcXG4vLyB0aGUgcmVzdWx0cyBvZiB0aGUgcHJldmlvdXMgdHJhbnNmb3JtZWQgY2h1bmsgd2VyZSBjb25zdW1lZC5cXG5cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFRyYW5zZm9ybTtcXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEID0gX3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsXFxuICAgIEVSUl9NVUxUSVBMRV9DQUxMQkFDSyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxcXG4gICAgRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcsXFxuICAgIEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMDtcXG5cXG52YXIgRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuXFxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKShUcmFuc2Zvcm0sIER1cGxleCk7XFxuXFxuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMudHJhbnNmb3JtaW5nID0gZmFsc2U7XFxuICB2YXIgY2IgPSB0cy53cml0ZWNiO1xcblxcbiAgaWYgKGNiID09PSBudWxsKSB7XFxuICAgIHJldHVybiB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpKTtcXG4gIH1cXG5cXG4gIHRzLndyaXRlY2h1bmsgPSBudWxsO1xcbiAgdHMud3JpdGVjYiA9IG51bGw7XFxuICBpZiAoZGF0YSAhPSBudWxsKSAvLyBzaW5nbGUgZXF1YWxzIGNoZWNrIGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcXG4gICAgdGhpcy5wdXNoKGRhdGEpO1xcbiAgY2IoZXIpO1xcbiAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHJzLnJlYWRpbmcgPSBmYWxzZTtcXG5cXG4gIGlmIChycy5uZWVkUmVhZGFibGUgfHwgcnMubGVuZ3RoIDwgcnMuaGlnaFdhdGVyTWFyaykge1xcbiAgICB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBUcmFuc2Zvcm0ob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpIHJldHVybiBuZXcgVHJhbnNmb3JtKG9wdGlvbnMpO1xcbiAgRHVwbGV4LmNhbGwodGhpcywgb3B0aW9ucyk7XFxuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZSA9IHtcXG4gICAgYWZ0ZXJUcmFuc2Zvcm06IGFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksXFxuICAgIG5lZWRUcmFuc2Zvcm06IGZhbHNlLFxcbiAgICB0cmFuc2Zvcm1pbmc6IGZhbHNlLFxcbiAgICB3cml0ZWNiOiBudWxsLFxcbiAgICB3cml0ZWNodW5rOiBudWxsLFxcbiAgICB3cml0ZWVuY29kaW5nOiBudWxsXFxuICB9OyAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cXG5cXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTsgLy8gd2UgaGF2ZSBpbXBsZW1lbnRlZCB0aGUgX3JlYWQgbWV0aG9kLCBhbmQgZG9uZSB0aGUgb3RoZXIgdGhpbmdzXFxuICAvLyB0aGF0IFJlYWRhYmxlIHdhbnRzIGJlZm9yZSB0aGUgZmlyc3QgX3JlYWQgY2FsbCwgc28gdW5zZXQgdGhlXFxuICAvLyBzeW5jIGd1YXJkIGZsYWcuXFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmMgPSBmYWxzZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy50cmFuc2Zvcm0gPT09ICdmdW5jdGlvbicpIHRoaXMuX3RyYW5zZm9ybSA9IG9wdGlvbnMudHJhbnNmb3JtO1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmx1c2ggPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZsdXNoID0gb3B0aW9ucy5mbHVzaDtcXG4gIH0gLy8gV2hlbiB0aGUgd3JpdGFibGUgc2lkZSBmaW5pc2hlcywgdGhlbiBmbHVzaCBvdXQgYW55dGhpbmcgcmVtYWluaW5nLlxcblxcblxcbiAgdGhpcy5vbigncHJlZmluaXNoJywgcHJlZmluaXNoKTtcXG59XFxuXFxuZnVuY3Rpb24gcHJlZmluaXNoKCkge1xcbiAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gIGlmICh0eXBlb2YgdGhpcy5fZmx1c2ggPT09ICdmdW5jdGlvbicgJiYgIXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkKSB7XFxuICAgIHRoaXMuX2ZsdXNoKGZ1bmN0aW9uIChlciwgZGF0YSkge1xcbiAgICAgIGRvbmUoX3RoaXMsIGVyLCBkYXRhKTtcXG4gICAgfSk7XFxuICB9IGVsc2Uge1xcbiAgICBkb25lKHRoaXMsIG51bGwsIG51bGwpO1xcbiAgfVxcbn1cXG5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XFxuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtID0gZmFsc2U7XFxuICByZXR1cm4gRHVwbGV4LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcywgY2h1bmssIGVuY29kaW5nKTtcXG59OyAvLyBUaGlzIGlzIHRoZSBwYXJ0IHdoZXJlIHlvdSBkbyBzdHVmZiFcXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXFxuLy8gJ2NodW5rJyBpcyBhbiBpbnB1dCBjaHVuay5cXG4vL1xcbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxcbi8vIHRvIHRoZSByZWFkYWJsZSBzaWRlLiAgWW91IG1heSBjYWxsICdwdXNoJyB6ZXJvIG9yIG1vcmUgdGltZXMuXFxuLy9cXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xcbi8vIGFuIGVycm9yLCB0aGVuIHRoYXQnbGwgcHV0IHRoZSBodXJ0IG9uIHRoZSB3aG9sZSBvcGVyYXRpb24uICBJZiB5b3VcXG4vLyBuZXZlciBjYWxsIGNiKCksIHRoZW4geW91J2xsIG5ldmVyIGdldCBhbm90aGVyIGNodW5rLlxcblxcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoJ190cmFuc2Zvcm0oKScpKTtcXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMud3JpdGVjYiA9IGNiO1xcbiAgdHMud3JpdGVjaHVuayA9IGNodW5rO1xcbiAgdHMud3JpdGVlbmNvZGluZyA9IGVuY29kaW5nO1xcblxcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcXG4gICAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgaWYgKHRzLm5lZWRUcmFuc2Zvcm0gfHwgcnMubmVlZFJlYWRhYmxlIHx8IHJzLmxlbmd0aCA8IHJzLmhpZ2hXYXRlck1hcmspIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XFxuICB9XFxufTsgLy8gRG9lc24ndCBtYXR0ZXIgd2hhdCB0aGUgYXJncyBhcmUgaGVyZS5cXG4vLyBfdHJhbnNmb3JtIGRvZXMgYWxsIHRoZSB3b3JrLlxcbi8vIFRoYXQgd2UgZ290IGhlcmUgbWVhbnMgdGhhdCB0aGUgcmVhZGFibGUgc2lkZSB3YW50cyBtb3JlIGRhdGEuXFxuXFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcXG5cXG4gIGlmICh0cy53cml0ZWNodW5rICE9PSBudWxsICYmICF0cy50cmFuc2Zvcm1pbmcpIHtcXG4gICAgdHMudHJhbnNmb3JtaW5nID0gdHJ1ZTtcXG5cXG4gICAgdGhpcy5fdHJhbnNmb3JtKHRzLndyaXRlY2h1bmssIHRzLndyaXRlZW5jb2RpbmcsIHRzLmFmdGVyVHJhbnNmb3JtKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIG1hcmsgdGhhdCB3ZSBuZWVkIGEgdHJhbnNmb3JtLCBzbyB0aGF0IGFueSBkYXRhIHRoYXQgY29tZXMgaW5cXG4gICAgLy8gd2lsbCBnZXQgcHJvY2Vzc2VkLCBub3cgdGhhdCB3ZSd2ZSBhc2tlZCBmb3IgaXQuXFxuICAgIHRzLm5lZWRUcmFuc2Zvcm0gPSB0cnVlO1xcbiAgfVxcbn07XFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XFxuICBEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcywgZXJyLCBmdW5jdGlvbiAoZXJyMikge1xcbiAgICBjYihlcnIyKTtcXG4gIH0pO1xcbn07XFxuXFxuZnVuY3Rpb24gZG9uZShzdHJlYW0sIGVyLCBkYXRhKSB7XFxuICBpZiAoZXIpIHJldHVybiBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XFxuICBpZiAoZGF0YSAhPSBudWxsKSAvLyBzaW5nbGUgZXF1YWxzIGNoZWNrIGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcXG4gICAgc3RyZWFtLnB1c2goZGF0YSk7IC8vIFRPRE8oQnJpZGdlQVIpOiBXcml0ZSBhIHRlc3QgZm9yIHRoZXNlIHR3byBlcnJvciBjYXNlc1xcbiAgLy8gaWYgdGhlcmUncyBub3RoaW5nIGluIHRoZSB3cml0ZSBidWZmZXIsIHRoZW4gdGhhdCBtZWFuc1xcbiAgLy8gdGhhdCBub3RoaW5nIG1vcmUgd2lsbCBldmVyIGJlIHByb3ZpZGVkXFxuXFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCgpO1xcbiAgaWYgKHN0cmVhbS5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKSB0aHJvdyBuZXcgRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORygpO1xcbiAgcmV0dXJuIHN0cmVhbS5wdXNoKG51bGwpO1xcbn0vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjkwY21GdWMyWnZjbTB1YW5NL1pUUXpZaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3dRMEZCTUVNc1dVRkJXVHRCUVVOMFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFlUczdRVUZGWWpzN1FVRkZRU3h4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXhuUjBGQlZ6dEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc01rZEJRV3RDT3p0QlFVVjJReXh0UWtGQlR5eERRVUZETERaRVFVRlZPenRCUVVWc1FqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEpRVUZKT3p0QlFVVktMREJEUVVFd1F6dEJRVU14UXp0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdRVUZEUmp0QlFVTkJPenM3UVVGSFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMEpCUVhOQ08wRkJRM1JDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbkp2ZDNObGNtbG1lUzF6YVdkdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZEhKaGJuTm1iM0p0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1EyOXdlWEpwWjJoMElFcHZlV1Z1ZEN3Z1NXNWpMaUJoYm1RZ2IzUm9aWElnVG05a1pTQmpiMjUwY21saWRYUnZjbk11WEc0dkwxeHVMeThnVUdWeWJXbHpjMmx2YmlCcGN5Qm9aWEpsWW5rZ1ozSmhiblJsWkN3Z1puSmxaU0J2WmlCamFHRnlaMlVzSUhSdklHRnVlU0J3WlhKemIyNGdiMkowWVdsdWFXNW5JR0ZjYmk4dklHTnZjSGtnYjJZZ2RHaHBjeUJ6YjJaMGQyRnlaU0JoYm1RZ1lYTnpiMk5wWVhSbFpDQmtiMk4xYldWdWRHRjBhVzl1SUdacGJHVnpJQ2gwYUdWY2JpOHZJRndpVTI5bWRIZGhjbVZjSWlrc0lIUnZJR1JsWVd3Z2FXNGdkR2hsSUZOdlpuUjNZWEpsSUhkcGRHaHZkWFFnY21WemRISnBZM1JwYjI0c0lHbHVZMngxWkdsdVoxeHVMeThnZDJsMGFHOTFkQ0JzYVcxcGRHRjBhVzl1SUhSb1pTQnlhV2RvZEhNZ2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJRzFsY21kbExDQndkV0pzYVhOb0xGeHVMeThnWkdsemRISnBZblYwWlN3Z2MzVmliR2xqWlc1elpTd2dZVzVrTDI5eUlITmxiR3dnWTI5d2FXVnpJRzltSUhSb1pTQlRiMlowZDJGeVpTd2dZVzVrSUhSdklIQmxjbTFwZEZ4dUx5OGdjR1Z5YzI5dWN5QjBieUIzYUc5dElIUm9aU0JUYjJaMGQyRnlaU0JwY3lCbWRYSnVhWE5vWldRZ2RHOGdaRzhnYzI4c0lITjFZbXBsWTNRZ2RHOGdkR2hsWEc0dkx5Qm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjenBjYmk4dlhHNHZMeUJVYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU0JoYm1RZ2RHaHBjeUJ3WlhKdGFYTnphVzl1SUc1dmRHbGpaU0J6YUdGc2JDQmlaU0JwYm1Oc2RXUmxaRnh1THk4Z2FXNGdZV3hzSUdOdmNHbGxjeUJ2Y2lCemRXSnpkR0Z1ZEdsaGJDQndiM0owYVc5dWN5QnZaaUIwYUdVZ1UyOW1kSGRoY21VdVhHNHZMMXh1THk4Z1ZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWl3Z1YwbFVTRTlWVkNCWFFWSlNRVTVVV1NCUFJpQkJUbGtnUzBsT1JDd2dSVmhRVWtWVFUxeHVMeThnVDFJZ1NVMVFURWxGUkN3Z1NVNURURlZFU1U1SElFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5QlVTRVVnVjBGU1VrRk9WRWxGVXlCUFJseHVMeThnVFVWU1EwaEJUbFJCUWtsTVNWUlpMQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJUa1FnVGs5T1NVNUdVa2xPUjBWTlJVNVVMaUJKVGx4dUx5OGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVsTWdUMUlnUTA5UVdWSkpSMGhVSUVoUFRFUkZVbE1nUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnUTB4QlNVMHNYRzR2THlCRVFVMUJSMFZUSUU5U0lFOVVTRVZTSUV4SlFVSkpURWxVV1N3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUZSUFVsUWdUMUpjYmk4dklFOVVTRVZTVjBsVFJTd2dRVkpKVTBsT1J5QkdVazlOTENCUFZWUWdUMFlnVDFJZ1NVNGdRMDlPVGtWRFZFbFBUaUJYU1ZSSUlGUklSU0JUVDBaVVYwRlNSU0JQVWlCVVNFVmNiaTh2SUZWVFJTQlBVaUJQVkVoRlVpQkVSVUZNU1U1SFV5QkpUaUJVU0VVZ1UwOUdWRmRCVWtVdVhHNHZMeUJoSUhSeVlXNXpabTl5YlNCemRISmxZVzBnYVhNZ1lTQnlaV0ZrWVdKc1pTOTNjbWwwWVdKc1pTQnpkSEpsWVcwZ2QyaGxjbVVnZVc5MUlHUnZYRzR2THlCemIyMWxkR2hwYm1jZ2QybDBhQ0IwYUdVZ1pHRjBZUzRnSUZOdmJXVjBhVzFsY3lCcGRDZHpJR05oYkd4bFpDQmhJRndpWm1sc2RHVnlYQ0lzWEc0dkx5QmlkWFFnZEdoaGRDZHpJRzV2ZENCaElHZHlaV0YwSUc1aGJXVWdabTl5SUdsMExDQnphVzVqWlNCMGFHRjBJR2x0Y0d4cFpYTWdZU0IwYUdsdVp5QjNhR1Z5WlZ4dUx5OGdjMjl0WlNCaWFYUnpJSEJoYzNNZ2RHaHliM1ZuYUN3Z1lXNWtJRzkwYUdWeWN5QmhjbVVnYzJsdGNHeDVJR2xuYm05eVpXUXVJQ0FvVkdoaGRDQjNiM1ZzWkZ4dUx5OGdZbVVnWVNCMllXeHBaQ0JsZUdGdGNHeGxJRzltSUdFZ2RISmhibk5tYjNKdExDQnZaaUJqYjNWeWMyVXVLVnh1THk5Y2JpOHZJRmRvYVd4bElIUm9aU0J2ZFhSd2RYUWdhWE1nWTJGMWMyRnNiSGtnY21Wc1lYUmxaQ0IwYnlCMGFHVWdhVzV3ZFhRc0lHbDBKM01nYm05MElHRmNiaTh2SUc1bFkyVnpjMkZ5YVd4NUlITjViVzFsZEhKcFl5QnZjaUJ6ZVc1amFISnZibTkxY3lCMGNtRnVjMlp2Y20xaGRHbHZiaTRnSUVadmNpQmxlR0Z0Y0d4bExGeHVMeThnWVNCNmJHbGlJSE4wY21WaGJTQnRhV2RvZENCMFlXdGxJRzExYkhScGNHeGxJSEJzWVdsdUxYUmxlSFFnZDNKcGRHVnpLQ2tzSUdGdVpDQjBhR1Z1WEc0dkx5QmxiV2wwSUdFZ2MybHVaMnhsSUdOdmJYQnlaWE56WldRZ1kyaDFibXNnYzI5dFpTQjBhVzFsSUdsdUlIUm9aU0JtZFhSMWNtVXVYRzR2TDF4dUx5OGdTR1Z5WlNkeklHaHZkeUIwYUdseklIZHZjbXR6T2x4dUx5OWNiaTh2SUZSb1pTQlVjbUZ1YzJadmNtMGdjM1J5WldGdElHaGhjeUJoYkd3Z2RHaGxJR0Z6Y0dWamRITWdiMllnZEdobElISmxZV1JoWW14bElHRnVaQ0IzY21sMFlXSnNaVnh1THk4Z2MzUnlaV0Z0SUdOc1lYTnpaWE11SUNCWGFHVnVJSGx2ZFNCM2NtbDBaU2hqYUhWdWF5a3NJSFJvWVhRZ1kyRnNiSE1nWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1THk4Z2FXNTBaWEp1WVd4c2VTd2dZVzVrSUhKbGRIVnlibk1nWm1Gc2MyVWdhV1lnZEdobGNtVW5jeUJoSUd4dmRDQnZaaUJ3Wlc1a2FXNW5JSGR5YVhSbGMxeHVMeThnWW5WbVptVnlaV1FnZFhBdUlDQlhhR1Z1SUhsdmRTQmpZV3hzSUhKbFlXUW9LU3dnZEdoaGRDQmpZV3hzY3lCZmNtVmhaQ2h1S1NCMWJuUnBiRnh1THk4Z2RHaGxjbVVuY3lCbGJtOTFaMmdnY0dWdVpHbHVaeUJ5WldGa1lXSnNaU0JrWVhSaElHSjFabVpsY21Wa0lIVndMbHh1THk5Y2JpOHZJRWx1SUdFZ2RISmhibk5tYjNKdElITjBjbVZoYlN3Z2RHaGxJSGR5YVhSMFpXNGdaR0YwWVNCcGN5QndiR0ZqWldRZ2FXNGdZU0JpZFdabVpYSXVJQ0JYYUdWdVhHNHZMeUJmY21WaFpDaHVLU0JwY3lCallXeHNaV1FzSUdsMElIUnlZVzV6Wm05eWJYTWdkR2hsSUhGMVpYVmxaQ0IxY0NCa1lYUmhMQ0JqWVd4c2FXNW5JSFJvWlZ4dUx5OGdZblZtWm1WeVpXUWdYM2R5YVhSbElHTmlKM01nWVhNZ2FYUWdZMjl1YzNWdFpYTWdZMmgxYm10ekxpQWdTV1lnWTI5dWMzVnRhVzVuSUdFZ2MybHVaMnhsWEc0dkx5QjNjbWwwZEdWdUlHTm9kVzVySUhkdmRXeGtJSEpsYzNWc2RDQnBiaUJ0ZFd4MGFYQnNaU0J2ZFhSd2RYUWdZMmgxYm10ekxDQjBhR1Z1SUhSb1pTQm1hWEp6ZEZ4dUx5OGdiM1YwY0hWMGRHVmtJR0pwZENCallXeHNjeUIwYUdVZ2NtVmhaR05pTENCaGJtUWdjM1ZpYzJWeGRXVnVkQ0JqYUhWdWEzTWdhblZ6ZENCbmJ5QnBiblJ2WEc0dkx5QjBhR1VnY21WaFpDQmlkV1ptWlhJc0lHRnVaQ0IzYVd4c0lHTmhkWE5sSUdsMElIUnZJR1Z0YVhRZ0ozSmxZV1JoWW14bEp5QnBaaUJ1WldObGMzTmhjbmt1WEc0dkwxeHVMeThnVkdocGN5QjNZWGtzSUdKaFkyc3RjSEpsYzNOMWNtVWdhWE1nWVdOMGRXRnNiSGtnWkdWMFpYSnRhVzVsWkNCaWVTQjBhR1VnY21WaFpHbHVaeUJ6YVdSbExGeHVMeThnYzJsdVkyVWdYM0psWVdRZ2FHRnpJSFJ2SUdKbElHTmhiR3hsWkNCMGJ5QnpkR0Z5ZENCd2NtOWpaWE56YVc1bklHRWdibVYzSUdOb2RXNXJMaUFnU0c5M1pYWmxjaXhjYmk4dklHRWdjR0YwYUc5c2IyZHBZMkZzSUdsdVpteGhkR1VnZEhsd1pTQnZaaUIwY21GdWMyWnZjbTBnWTJGdUlHTmhkWE5sSUdWNFkyVnpjMmwyWlNCaWRXWm1aWEpwYm1kY2JpOHZJR2hsY21VdUlDQkdiM0lnWlhoaGJYQnNaU3dnYVcxaFoybHVaU0JoSUhOMGNtVmhiU0IzYUdWeVpTQmxkbVZ5ZVNCaWVYUmxJRzltSUdsdWNIVjBJR2x6WEc0dkx5QnBiblJsY25CeVpYUmxaQ0JoY3lCaGJpQnBiblJsWjJWeUlHWnliMjBnTUMweU5UVXNJR0Z1WkNCMGFHVnVJSEpsYzNWc2RITWdhVzRnZEdoaGRDQnRZVzU1WEc0dkx5QmllWFJsY3lCdlppQnZkWFJ3ZFhRdUlDQlhjbWwwYVc1bklIUm9aU0EwSUdKNWRHVnpJSHRtWml4bVppeG1aaXhtWm4wZ2QyOTFiR1FnY21WemRXeDBJR2x1WEc0dkx5QXhhMklnYjJZZ1pHRjBZU0JpWldsdVp5QnZkWFJ3ZFhRdUlDQkpiaUIwYUdseklHTmhjMlVzSUhsdmRTQmpiM1ZzWkNCM2NtbDBaU0JoSUhabGNua2djMjFoYkd4Y2JpOHZJR0Z0YjNWdWRDQnZaaUJwYm5CMWRDd2dZVzVrSUdWdVpDQjFjQ0IzYVhSb0lHRWdkbVZ5ZVNCc1lYSm5aU0JoYlc5MWJuUWdiMllnYjNWMGNIVjBMaUFnU1c1Y2JpOHZJSE4xWTJnZ1lTQndZWFJvYjJ4dloybGpZV3dnYVc1bWJHRjBhVzVuSUcxbFkyaGhibWx6YlN3Z2RHaGxjbVVuWkNCaVpTQnVieUIzWVhrZ2RHOGdkR1ZzYkZ4dUx5OGdkR2hsSUhONWMzUmxiU0IwYnlCemRHOXdJR1J2YVc1bklIUm9aU0IwY21GdWMyWnZjbTB1SUNCQklITnBibWRzWlNBMFRVSWdkM0pwZEdVZ1kyOTFiR1JjYmk4dklHTmhkWE5sSUhSb1pTQnplWE4wWlcwZ2RHOGdjblZ1SUc5MWRDQnZaaUJ0WlcxdmNua3VYRzR2TDF4dUx5OGdTRzkzWlhabGNpd2daWFpsYmlCcGJpQnpkV05vSUdFZ2NHRjBhRzlzYjJkcFkyRnNJR05oYzJVc0lHOXViSGtnWVNCemFXNW5iR1VnZDNKcGRIUmxiaUJqYUhWdWExeHVMeThnZDI5MWJHUWdZbVVnWTI5dWMzVnRaV1FzSUdGdVpDQjBhR1Z1SUhSb1pTQnlaWE4wSUhkdmRXeGtJSGRoYVhRZ0tIVnVMWFJ5WVc1elptOXliV1ZrS1NCMWJuUnBiRnh1THk4Z2RHaGxJSEpsYzNWc2RITWdiMllnZEdobElIQnlaWFpwYjNWeklIUnlZVzV6Wm05eWJXVmtJR05vZFc1cklIZGxjbVVnWTI5dWMzVnRaV1F1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVkhKaGJuTm1iM0p0TzF4dVhHNTJZWElnWDNKbGNYVnBjbVVrWTI5a1pYTWdQU0J5WlhGMWFYSmxLQ2N1TGk5bGNuSnZjbk1uS1M1amIyUmxjeXhjYmlBZ0lDQkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDQTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUxGeHVJQ0FnSUVWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5QTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeXhjYmlBZ0lDQkZVbEpmVkZKQlRsTkdUMUpOWDBGTVVrVkJSRmxmVkZKQlRsTkdUMUpOU1U1SElEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMVJTUVU1VFJrOVNUVjlCVEZKRlFVUlpYMVJTUVU1VFJrOVNUVWxPUnl4Y2JpQWdJQ0JGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekFnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekE3WEc1Y2JuWmhjaUJFZFhCc1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmWkhWd2JHVjRKeWs3WEc1Y2JuSmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5a29WSEpoYm5ObWIzSnRMQ0JFZFhCc1pYZ3BPMXh1WEc1bWRXNWpkR2x2YmlCaFpuUmxjbFJ5WVc1elptOXliU2hsY2l3Z1pHRjBZU2tnZTF4dUlDQjJZWElnZEhNZ1BTQjBhR2x6TGw5MGNtRnVjMlp2Y20xVGRHRjBaVHRjYmlBZ2RITXVkSEpoYm5ObWIzSnRhVzVuSUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJqWWlBOUlIUnpMbmR5YVhSbFkySTdYRzVjYmlBZ2FXWWdLR05pSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpXMXBkQ2duWlhKeWIzSW5MQ0J1WlhjZ1JWSlNYMDFWVEZSSlVFeEZYME5CVEV4Q1FVTkxLQ2twTzF4dUlDQjlYRzVjYmlBZ2RITXVkM0pwZEdWamFIVnVheUE5SUc1MWJHdzdYRzRnSUhSekxuZHlhWFJsWTJJZ1BTQnVkV3hzTzF4dUlDQnBaaUFvWkdGMFlTQWhQU0J1ZFd4c0tTQXZMeUJ6YVc1bmJHVWdaWEYxWVd4eklHTm9aV05ySUdadmNpQmliM1JvSUdCdWRXeHNZQ0JoYm1RZ1lIVnVaR1ZtYVc1bFpHQmNiaUFnSUNCMGFHbHpMbkIxYzJnb1pHRjBZU2s3WEc0Z0lHTmlLR1Z5S1R0Y2JpQWdkbUZ5SUhKeklEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2NuTXVjbVZoWkdsdVp5QTlJR1poYkhObE8xeHVYRzRnSUdsbUlDaHljeTV1WldWa1VtVmhaR0ZpYkdVZ2ZId2djbk11YkdWdVozUm9JRHdnY25NdWFHbG5hRmRoZEdWeVRXRnlheWtnZTF4dUlDQWdJSFJvYVhNdVgzSmxZV1FvY25NdWFHbG5hRmRoZEdWeVRXRnlheWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ZISmhibk5tYjNKdEtHOXdkR2x2Ym5NcElIdGNiaUFnYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlGUnlZVzV6Wm05eWJTa3BJSEpsZEhWeWJpQnVaWGNnVkhKaGJuTm1iM0p0S0c5d2RHbHZibk1wTzF4dUlDQkVkWEJzWlhndVkyRnNiQ2gwYUdsekxDQnZjSFJwYjI1ektUdGNiaUFnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVZ1BTQjdYRzRnSUNBZ1lXWjBaWEpVY21GdWMyWnZjbTA2SUdGbWRHVnlWSEpoYm5ObWIzSnRMbUpwYm1Rb2RHaHBjeWtzWEc0Z0lDQWdibVZsWkZSeVlXNXpabTl5YlRvZ1ptRnNjMlVzWEc0Z0lDQWdkSEpoYm5ObWIzSnRhVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQjNjbWwwWldOaU9pQnVkV3hzTEZ4dUlDQWdJSGR5YVhSbFkyaDFibXM2SUc1MWJHd3NYRzRnSUNBZ2QzSnBkR1ZsYm1OdlpHbHVaem9nYm5Wc2JGeHVJQ0I5T3lBdkx5QnpkR0Z5ZENCdmRYUWdZWE5yYVc1bklHWnZjaUJoSUhKbFlXUmhZbXhsSUdWMlpXNTBJRzl1WTJVZ1pHRjBZU0JwY3lCMGNtRnVjMlp2Y20xbFpDNWNibHh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdJQzh2SUhkbElHaGhkbVVnYVcxd2JHVnRaVzUwWldRZ2RHaGxJRjl5WldGa0lHMWxkR2h2WkN3Z1lXNWtJR1J2Ym1VZ2RHaGxJRzkwYUdWeUlIUm9hVzVuYzF4dUlDQXZMeUIwYUdGMElGSmxZV1JoWW14bElIZGhiblJ6SUdKbFptOXlaU0IwYUdVZ1ptbHljM1FnWDNKbFlXUWdZMkZzYkN3Z2MyOGdkVzV6WlhRZ2RHaGxYRzRnSUM4dklITjVibU1nWjNWaGNtUWdabXhoWnk1Y2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5ONWJtTWdQU0JtWVd4elpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NTBjbUZ1YzJadmNtMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNSeVlXNXpabTl5YlNBOUlHOXdkR2x2Ym5NdWRISmhibk5tYjNKdE8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3k1bWJIVnphQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dkR2hwY3k1ZlpteDFjMmdnUFNCdmNIUnBiMjV6TG1ac2RYTm9PMXh1SUNCOUlDOHZJRmRvWlc0Z2RHaGxJSGR5YVhSaFlteGxJSE5wWkdVZ1ptbHVhWE5vWlhNc0lIUm9aVzRnWm14MWMyZ2diM1YwSUdGdWVYUm9hVzVuSUhKbGJXRnBibWx1Wnk1Y2JseHVYRzRnSUhSb2FYTXViMjRvSjNCeVpXWnBibWx6YUNjc0lIQnlaV1pwYm1semFDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQnlaV1pwYm1semFDZ3BJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUhSb2FYTXVYMlpzZFhOb0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJSFJvYVhNdVgyWnNkWE5vS0daMWJtTjBhVzl1SUNobGNpd2daR0YwWVNrZ2UxeHVJQ0FnSUNBZ1pHOXVaU2hmZEdocGN5d2daWElzSUdSaGRHRXBPMXh1SUNBZ0lIMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1J2Ym1Vb2RHaHBjeXdnYm5Wc2JDd2diblZzYkNrN1hHNGdJSDFjYm4xY2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzV3ZFhOb0lEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5a2dlMXh1SUNCMGFHbHpMbDkwY21GdWMyWnZjbTFUZEdGMFpTNXVaV1ZrVkhKaGJuTm1iM0p0SUQwZ1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTG5CMWMyZ3VZMkZzYkNoMGFHbHpMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3BPMXh1ZlRzZ0x5OGdWR2hwY3lCcGN5QjBhR1VnY0dGeWRDQjNhR1Z5WlNCNWIzVWdaRzhnYzNSMVptWWhYRzR2THlCdmRtVnljbWxrWlNCMGFHbHpJR1oxYm1OMGFXOXVJR2x1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR05zWVhOelpYTXVYRzR2THlBblkyaDFibXNuSUdseklHRnVJR2x1Y0hWMElHTm9kVzVyTGx4dUx5OWNiaTh2SUVOaGJHd2dZSEIxYzJnb2JtVjNRMmgxYm1zcFlDQjBieUJ3WVhOeklHRnNiMjVuSUhSeVlXNXpabTl5YldWa0lHOTFkSEIxZEZ4dUx5OGdkRzhnZEdobElISmxZV1JoWW14bElITnBaR1V1SUNCWmIzVWdiV0Y1SUdOaGJHd2dKM0IxYzJnbklIcGxjbThnYjNJZ2JXOXlaU0IwYVcxbGN5NWNiaTh2WEc0dkx5QkRZV3hzSUdCallpaGxjbklwWUNCM2FHVnVJSGx2ZFNCaGNtVWdaRzl1WlNCM2FYUm9JSFJvYVhNZ1kyaDFibXN1SUNCSlppQjViM1VnY0dGemMxeHVMeThnWVc0Z1pYSnliM0lzSUhSb1pXNGdkR2hoZENkc2JDQndkWFFnZEdobElHaDFjblFnYjI0Z2RHaGxJSGRvYjJ4bElHOXdaWEpoZEdsdmJpNGdJRWxtSUhsdmRWeHVMeThnYm1WMlpYSWdZMkZzYkNCallpZ3BMQ0IwYUdWdUlIbHZkU2RzYkNCdVpYWmxjaUJuWlhRZ1lXNXZkR2hsY2lCamFIVnVheTVjYmx4dVhHNVVjbUZ1YzJadmNtMHVjSEp2ZEc5MGVYQmxMbDkwY21GdWMyWnZjbTBnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCallpaHVaWGNnUlZKU1gwMUZWRWhQUkY5T1QxUmZTVTFRVEVWTlJVNVVSVVFvSjE5MGNtRnVjMlp2Y20wb0tTY3BLVHRjYm4wN1hHNWNibFJ5WVc1elptOXliUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnZG1GeUlIUnpJRDBnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVN1hHNGdJSFJ6TG5keWFYUmxZMklnUFNCallqdGNiaUFnZEhNdWQzSnBkR1ZqYUhWdWF5QTlJR05vZFc1ck8xeHVJQ0IwY3k1M2NtbDBaV1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWM3WEc1Y2JpQWdhV1lnS0NGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IyWVhJZ2NuTWdQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQWdJR2xtSUNoMGN5NXVaV1ZrVkhKaGJuTm1iM0p0SUh4OElISnpMbTVsWldSU1pXRmtZV0pzWlNCOGZDQnljeTVzWlc1bmRHZ2dQQ0J5Y3k1b2FXZG9WMkYwWlhKTllYSnJLU0IwYUdsekxsOXlaV0ZrS0hKekxtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dUlDQjlYRzU5T3lBdkx5QkViMlZ6YmlkMElHMWhkSFJsY2lCM2FHRjBJSFJvWlNCaGNtZHpJR0Z5WlNCb1pYSmxMbHh1THk4Z1gzUnlZVzV6Wm05eWJTQmtiMlZ6SUdGc2JDQjBhR1VnZDI5eWF5NWNiaTh2SUZSb1lYUWdkMlVnWjI5MElHaGxjbVVnYldWaGJuTWdkR2hoZENCMGFHVWdjbVZoWkdGaWJHVWdjMmxrWlNCM1lXNTBjeUJ0YjNKbElHUmhkR0V1WEc1Y2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzVmY21WaFpDQTlJR1oxYm1OMGFXOXVJQ2h1S1NCN1hHNGdJSFpoY2lCMGN5QTlJSFJvYVhNdVgzUnlZVzV6Wm05eWJWTjBZWFJsTzF4dVhHNGdJR2xtSUNoMGN5NTNjbWwwWldOb2RXNXJJQ0U5UFNCdWRXeHNJQ1ltSUNGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IwY3k1MGNtRnVjMlp2Y20xcGJtY2dQU0IwY25WbE8xeHVYRzRnSUNBZ2RHaHBjeTVmZEhKaGJuTm1iM0p0S0hSekxuZHlhWFJsWTJoMWJtc3NJSFJ6TG5keWFYUmxaVzVqYjJScGJtY3NJSFJ6TG1GbWRHVnlWSEpoYm5ObWIzSnRLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCdFlYSnJJSFJvWVhRZ2QyVWdibVZsWkNCaElIUnlZVzV6Wm05eWJTd2djMjhnZEdoaGRDQmhibmtnWkdGMFlTQjBhR0YwSUdOdmJXVnpJR2x1WEc0Z0lDQWdMeThnZDJsc2JDQm5aWFFnY0hKdlkyVnpjMlZrTENCdWIzY2dkR2hoZENCM1pTZDJaU0JoYzJ0bFpDQm1iM0lnYVhRdVhHNGdJQ0FnZEhNdWJtVmxaRlJ5WVc1elptOXliU0E5SUhSeWRXVTdYRzRnSUgxY2JuMDdYRzVjYmxSeVlXNXpabTl5YlM1d2NtOTBiM1I1Y0dVdVgyUmxjM1J5YjNrZ1BTQm1kVzVqZEdsdmJpQW9aWEp5TENCallpa2dlMXh1SUNCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTGw5a1pYTjBjbTk1TG1OaGJHd29kR2hwY3l3Z1pYSnlMQ0JtZFc1amRHbHZiaUFvWlhKeU1pa2dlMXh1SUNBZ0lHTmlLR1Z5Y2pJcE8xeHVJQ0I5S1R0Y2JuMDdYRzVjYm1aMWJtTjBhVzl1SUdSdmJtVW9jM1J5WldGdExDQmxjaXdnWkdGMFlTa2dlMXh1SUNCcFppQW9aWElwSUhKbGRIVnliaUJ6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUdsbUlDaGtZWFJoSUNFOUlHNTFiR3dwSUM4dklITnBibWRzWlNCbGNYVmhiSE1nWTJobFkyc2dabTl5SUdKdmRHZ2dZRzUxYkd4Z0lHRnVaQ0JnZFc1a1pXWnBibVZrWUZ4dUlDQWdJSE4wY21WaGJTNXdkWE5vS0dSaGRHRXBPeUF2THlCVVQwUlBLRUp5YVdSblpVRlNLVG9nVjNKcGRHVWdZU0IwWlhOMElHWnZjaUIwYUdWelpTQjBkMjhnWlhKeWIzSWdZMkZ6WlhOY2JpQWdMeThnYVdZZ2RHaGxjbVVuY3lCdWIzUm9hVzVuSUdsdUlIUm9aU0IzY21sMFpTQmlkV1ptWlhJc0lIUm9aVzRnZEdoaGRDQnRaV0Z1YzF4dUlDQXZMeUIwYUdGMElHNXZkR2hwYm1jZ2JXOXlaU0IzYVd4c0lHVjJaWElnWW1VZ2NISnZkbWxrWldSY2JseHVJQ0JwWmlBb2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxMbXhsYm1kMGFDa2dkR2h5YjNjZ2JtVjNJRVZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ2dwTzF4dUlDQnBaaUFvYzNSeVpXRnRMbDkwY21GdWMyWnZjbTFUZEdGMFpTNTBjbUZ1YzJadmNtMXBibWNwSUhSb2NtOTNJRzVsZHlCRlVsSmZWRkpCVGxOR1QxSk5YMEZNVWtWQlJGbGZWRkpCVGxOR1QxSk5TVTVIS0NrN1hHNGdJSEpsZEhWeWJpQnpkSEpsWVcwdWNIVnphQ2h1ZFd4c0tUdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcbi8vIEEgYml0IHNpbXBsZXIgdGhhbiByZWFkYWJsZSBzdHJlYW1zLlxcbi8vIEltcGxlbWVudCBhbiBhc3luYyAuX3dyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpLCBhbmQgaXQnbGwgaGFuZGxlIGFsbFxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XFxuLyogPHJlcGxhY2VtZW50PiAqL1xcblxcbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHRoaXMuY2h1bmsgPSBjaHVuaztcXG4gIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZztcXG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcXG4gIHRoaXMubmV4dCA9IG51bGw7XFxufSAvLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3RcXG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cXG5cXG5cXG5mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KHN0YXRlKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdGhpcy5uZXh0ID0gbnVsbDtcXG4gIHRoaXMuZW50cnkgPSBudWxsO1xcblxcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XFxuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XFxuICB9O1xcbn1cXG4vKiA8L3JlcGxhY2VtZW50PiAqL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIER1cGxleDtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5Xcml0YWJsZS5Xcml0YWJsZVN0YXRlID0gV3JpdGFibGVTdGF0ZTtcXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBpbnRlcm5hbFV0aWwgPSB7XFxuICBkZXByZWNhdGU6IF9fd2VicGFja19yZXF1aXJlX18oLyohIHV0aWwtZGVwcmVjYXRlICovIFxcXCIuL25vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzXFxcIilcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcblxcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XFxuXFxuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcXG59XFxuXFxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcXG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xcbn1cXG5cXG52YXIgZGVzdHJveUltcGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qc1xcXCIpO1xcblxcbnZhciBfcmVxdWlyZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcXFwiKSxcXG4gICAgZ2V0SGlnaFdhdGVyTWFyayA9IF9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcms7XFxuXFxudmFyIF9yZXF1aXJlJGNvZGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLFxcbiAgICBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXFxuICAgIEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELFxcbiAgICBFUlJfU1RSRUFNX05VTExfVkFMVUVTID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxcXG4gICAgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxcXG4gICAgRVJSX1VOS05PV05fRU5DT0RJTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORztcXG5cXG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcXG5cXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpKFdyaXRhYmxlLCBTdHJlYW0pO1xcblxcbmZ1bmN0aW9uIG5vcCgpIHt9XFxuXFxuZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0sXFxuICAvLyBlLmcuIG9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlIHZzLiBvcHRpb25zLndyaXRhYmxlT2JqZWN0TW9kZSwgZXRjLlxcblxcbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDsgLy8gb2JqZWN0IHN0cmVhbSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoaXMgc3RyZWFtXFxuICAvLyBjb250YWlucyBidWZmZXJzIG9yIG9iamVjdHMuXFxuXFxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy53cml0YWJsZU9iamVjdE1vZGU7IC8vIHRoZSBwb2ludCBhdCB3aGljaCB3cml0ZSgpIHN0YXJ0cyByZXR1cm5pbmcgZmFsc2VcXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgdGhhdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIGlmXFxuICAvLyB0aGUgZW50aXJlIGJ1ZmZlciBpcyBub3QgZmx1c2hlZCBpbW1lZGlhdGVseSBvbiB3cml0ZSgpXFxuXFxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSBnZXRIaWdoV2F0ZXJNYXJrKHRoaXMsIG9wdGlvbnMsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCBpc0R1cGxleCk7IC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcXG5cXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTsgLy8gZHJhaW4gZXZlbnQgZmxhZy5cXG5cXG4gIHRoaXMubmVlZERyYWluID0gZmFsc2U7IC8vIGF0IHRoZSBzdGFydCBvZiBjYWxsaW5nIGVuZCgpXFxuXFxuICB0aGlzLmVuZGluZyA9IGZhbHNlOyAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXFxuXFxuICB0aGlzLmVuZGVkID0gZmFsc2U7IC8vIHdoZW4gJ2ZpbmlzaCcgaXMgZW1pdHRlZFxcblxcbiAgdGhpcy5maW5pc2hlZCA9IGZhbHNlOyAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcXG5cXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7IC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xcbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXFxuICAvLyBoYW5kbGluZyBhdCBhIGxvd2VyIGxldmVsLlxcblxcbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTsgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxcbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxcblxcbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7IC8vIG5vdCBhbiBhY3R1YWwgYnVmZmVyIHdlIGtlZXAgdHJhY2sgb2YsIGJ1dCBhIG1lYXN1cmVtZW50XFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXFxuICAvLyBzb2NrZXQgb3IgZmlsZS5cXG5cXG4gIHRoaXMubGVuZ3RoID0gMDsgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cXG5cXG4gIHRoaXMud3JpdGluZyA9IGZhbHNlOyAvLyB3aGVuIHRydWUgYWxsIHdyaXRlcyB3aWxsIGJlIGJ1ZmZlcmVkIHVudGlsIC51bmNvcmsoKSBjYWxsXFxuXFxuICB0aGlzLmNvcmtlZCA9IDA7IC8vIGEgZmxhZyB0byBiZSBhYmxlIHRvIHRlbGwgaWYgdGhlIG9ud3JpdGUgY2IgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LFxcbiAgLy8gb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZSBhbnlcXG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFxcXCJsYXRlclxcXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXFxuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGUgY2FsbC5cXG5cXG4gIHRoaXMuc3luYyA9IHRydWU7IC8vIGEgZmxhZyB0byBrbm93IGlmIHdlJ3JlIHByb2Nlc3NpbmcgcHJldmlvdXNseSBidWZmZXJlZCBpdGVtcywgd2hpY2hcXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cXG5cXG4gIHRoaXMuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlOyAvLyB0aGUgY2FsbGJhY2sgdGhhdCdzIHBhc3NlZCB0byBfd3JpdGUoY2h1bmssY2IpXFxuXFxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcXG4gICAgb253cml0ZShzdHJlYW0sIGVyKTtcXG4gIH07IC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxcblxcblxcbiAgdGhpcy53cml0ZWNiID0gbnVsbDsgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxcblxcbiAgdGhpcy53cml0ZWxlbiA9IDA7XFxuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XFxuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsOyAvLyBudW1iZXIgb2YgcGVuZGluZyB1c2VyLXN1cHBsaWVkIHdyaXRlIGNhbGxiYWNrc1xcbiAgLy8gdGhpcyBtdXN0IGJlIDAgYmVmb3JlICdmaW5pc2gnIGNhbiBiZSBlbWl0dGVkXFxuXFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7IC8vIGVtaXQgcHJlZmluaXNoIGlmIHRoZSBvbmx5IHRoaW5nIHdlJ3JlIHdhaXRpbmcgZm9yIGlzIF93cml0ZSBjYnNcXG4gIC8vIFRoaXMgaXMgcmVsZXZhbnQgZm9yIHN5bmNocm9ub3VzIFRyYW5zZm9ybSBzdHJlYW1zXFxuXFxuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7IC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXFxuXFxuICB0aGlzLmVycm9yRW1pdHRlZCA9IGZhbHNlOyAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxcblxcbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7IC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZmluaXNoJyAoYW5kIHBvdGVudGlhbGx5ICdlbmQnKVxcblxcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTsgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcXG5cXG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwOyAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXFxuICAvLyBvbmUgYWxsb2NhdGVkIGFuZCBmcmVlIHRvIHVzZSwgYW5kIHdlIG1haW50YWluIGF0IG1vc3QgdHdvXFxuXFxuICB0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHRoaXMpO1xcbn1cXG5cXG5Xcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXIgPSBmdW5jdGlvbiBnZXRCdWZmZXIoKSB7XFxuICB2YXIgY3VycmVudCA9IHRoaXMuYnVmZmVyZWRSZXF1ZXN0O1xcbiAgdmFyIG91dCA9IFtdO1xcblxcbiAgd2hpbGUgKGN1cnJlbnQpIHtcXG4gICAgb3V0LnB1c2goY3VycmVudCk7XFxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XFxuICB9XFxuXFxuICByZXR1cm4gb3V0O1xcbn07XFxuXFxuKGZ1bmN0aW9uICgpIHtcXG4gIHRyeSB7XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSwgJ2J1ZmZlcicsIHtcXG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gd3JpdGFibGVTdGF0ZUJ1ZmZlckdldHRlcigpIHtcXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1ZmZlcigpO1xcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxcbiAgICB9KTtcXG4gIH0gY2F0Y2ggKF8pIHt9XFxufSkoKTsgLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXFxuLy8gd2hvc2UgcHJvdG90eXBlIGNoYWluIG9ubHkgcG9pbnRzIHRvIFJlYWRhYmxlLlxcblxcblxcbnZhciByZWFsSGFzSW5zdGFuY2U7XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgcmVhbEhhc0luc3RhbmNlID0gRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV07XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUsIFN5bWJvbC5oYXNJbnN0YW5jZSwge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUob2JqZWN0KSB7XFxuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xcbiAgICAgIGlmICh0aGlzICE9PSBXcml0YWJsZSkgcmV0dXJuIGZhbHNlO1xcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcXG4gICAgfVxcbiAgfSk7XFxufSBlbHNlIHtcXG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIHJlYWxIYXNJbnN0YW5jZShvYmplY3QpIHtcXG4gICAgcmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIHRoaXM7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7IC8vIFdyaXRhYmxlIGN0b3IgaXMgYXBwbGllZCB0byBEdXBsZXhlcywgdG9vLlxcbiAgLy8gYHJlYWxIYXNJbnN0YW5jZWAgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdXNpbmcgcGxhaW4gYGluc3RhbmNlb2ZgXFxuICAvLyB3b3VsZCByZXR1cm4gZmFsc2UsIGFzIG5vIGBfd3JpdGFibGVTdGF0ZWAgcHJvcGVydHkgaXMgYXR0YWNoZWQuXFxuICAvLyBUcnlpbmcgdG8gdXNlIHRoZSBjdXN0b20gYGluc3RhbmNlb2ZgIGZvciBXcml0YWJsZSBoZXJlIHdpbGwgYWxzbyBicmVhayB0aGVcXG4gIC8vIE5vZGUuanMgTGF6eVRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaGFzIGEgbm9uLXRyaXZpYWwgZ2V0dGVyIGZvclxcbiAgLy8gYF93cml0YWJsZVN0YXRlYCB0aGF0IHdvdWxkIGxlYWQgdG8gaW5maW5pdGUgcmVjdXJzaW9uLlxcbiAgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxcbiAgLy8gdGhlIFdyaXRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XFxuXFxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xcbiAgaWYgKCFpc0R1cGxleCAmJiAhcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsIHRoaXMpKSByZXR1cm4gbmV3IFdyaXRhYmxlKG9wdGlvbnMpO1xcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTsgLy8gbGVnYWN5LlxcblxcbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLndyaXRldiA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGV2ID0gb3B0aW9ucy53cml0ZXY7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn0gLy8gT3RoZXJ3aXNlIHBlb3BsZSBjYW4gcGlwZSBXcml0YWJsZSBzdHJlYW1zLCB3aGljaCBpcyBqdXN0IHdyb25nLlxcblxcblxcbldyaXRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKCkge1xcbiAgZXJyb3JPckRlc3Ryb3kodGhpcywgbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUoKSk7XFxufTtcXG5cXG5mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKHN0cmVhbSwgY2IpIHtcXG4gIHZhciBlciA9IG5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCgpOyAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxcblxcbiAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxufSAvLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXFxuLy8gbW9kZSB0aGUgc3RyZWFtIGlzIGluLiBDdXJyZW50bHkgdGhpcyBtZWFucyB0aGF0IGBudWxsYCBpcyBuZXZlciBhY2NlcHRlZFxcbi8vIGFuZCB1bmRlZmluZWQvbm9uLXN0cmluZyB2YWx1ZXMgYXJlIG9ubHkgYWxsb3dlZCBpbiBvYmplY3QgbW9kZS5cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xcbiAgdmFyIGVyO1xcblxcbiAgaWYgKGNodW5rID09PSBudWxsKSB7XFxuICAgIGVyID0gbmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVMoKTtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBlciA9IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnY2h1bmsnLCBbJ3N0cmluZycsICdCdWZmZXInXSwgY2h1bmspO1xcbiAgfVxcblxcbiAgaWYgKGVyKSB7XFxuICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcXG4gIHZhciByZXQgPSBmYWxzZTtcXG5cXG4gIHZhciBpc0J1ZiA9ICFzdGF0ZS5vYmplY3RNb2RlICYmIF9pc1VpbnQ4QXJyYXkoY2h1bmspO1xcblxcbiAgaWYgKGlzQnVmICYmICFCdWZmZXIuaXNCdWZmZXIoY2h1bmspKSB7XFxuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChpc0J1ZikgZW5jb2RpbmcgPSAnYnVmZmVyJztlbHNlIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgY2IgPSBub3A7XFxuICBpZiAoc3RhdGUuZW5kaW5nKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrO1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLnVuY29yayA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZC0tO1xcbiAgICBpZiAoIXN0YXRlLndyaXRpbmcgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG59O1xcblxcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcXG4gIC8vIG5vZGU6OlBhcnNlRW5jb2RpbmcoKSByZXF1aXJlcyBsb3dlciBjYXNlLlxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcXG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlbmNvZGluZyk7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XFxuICB9XFxufSk7XFxuXFxuZnVuY3Rpb24gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZykge1xcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmIHN0YXRlLmRlY29kZVN0cmluZ3MgIT09IGZhbHNlICYmIHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcXG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGNodW5rO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pOyAvLyBpZiB3ZSdyZSBhbHJlYWR5IHdyaXRpbmcgc29tZXRoaW5nLCB0aGVuIGp1c3QgcHV0IHRoaXNcXG4vLyBpbiB0aGUgcXVldWUsIGFuZCB3YWl0IG91ciB0dXJuLiAgT3RoZXJ3aXNlLCBjYWxsIF93cml0ZVxcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXFxuXFxuZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihzdHJlYW0sIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgaWYgKCFpc0J1Zikge1xcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcXG5cXG4gICAgaWYgKGNodW5rICE9PSBuZXdDaHVuaykge1xcbiAgICAgIGlzQnVmID0gdHJ1ZTtcXG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xcbiAgICAgIGNodW5rID0gbmV3Q2h1bms7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gIHN0YXRlLmxlbmd0aCArPSBsZW47XFxuICB2YXIgcmV0ID0gc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyazsgLy8gd2UgbXVzdCBlbnN1cmUgdGhhdCBwcmV2aW91cyBuZWVkRHJhaW4gd2lsbCBub3QgYmUgcmVzZXQgdG8gZmFsc2UuXFxuXFxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcXG5cXG4gIGlmIChzdGF0ZS53cml0aW5nIHx8IHN0YXRlLmNvcmtlZCkge1xcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSB7XFxuICAgICAgY2h1bms6IGNodW5rLFxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcXG4gICAgICBpc0J1ZjogaXNCdWYsXFxuICAgICAgY2FsbGJhY2s6IGNiLFxcbiAgICAgIG5leHQ6IG51bGxcXG4gICAgfTtcXG5cXG4gICAgaWYgKGxhc3QpIHtcXG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIH1cXG5cXG4gICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQgKz0gMTtcXG4gIH0gZWxzZSB7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuXFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBzdGF0ZS53cml0ZWxlbiA9IGxlbjtcXG4gIHN0YXRlLndyaXRlY2IgPSBjYjtcXG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xcbiAgc3RhdGUuc3luYyA9IHRydWU7XFxuICBpZiAoc3RhdGUuZGVzdHJveWVkKSBzdGF0ZS5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgnd3JpdGUnKSk7ZWxzZSBpZiAod3JpdGV2KSBzdHJlYW0uX3dyaXRldihjaHVuaywgc3RhdGUub253cml0ZSk7ZWxzZSBzdHJlYW0uX3dyaXRlKGNodW5rLCBlbmNvZGluZywgc3RhdGUub253cml0ZSk7XFxuICBzdGF0ZS5zeW5jID0gZmFsc2U7XFxufVxcblxcbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcXG4gIC0tc3RhdGUucGVuZGluZ2NiO1xcblxcbiAgaWYgKHN5bmMpIHtcXG4gICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGlmIHdlIGFyZSBiZWluZyBjYWxsZWQgc3luY2hyb25vdXNseVxcbiAgICAvLyB0byBhdm9pZCBwaWxpbmcgdXAgdGhpbmdzIG9uIHRoZSBzdGFja1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBhbmQgaXQgd2lsbCBhbHdheXMgaGFwcGVuXFxuICAgIC8vIGFmdGVyIGVycm9yXFxuXFxuICAgIHByb2Nlc3MubmV4dFRpY2soZmluaXNoTWF5YmUsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICB9IGVsc2Uge1xcbiAgICAvLyB0aGUgY2FsbGVyIGV4cGVjdCB0aGlzIHRvIGhhcHBlbiBiZWZvcmUgaWZcXG4gICAgLy8gaXQgaXMgYXN5bmNcXG4gICAgY2IoZXIpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBidXQgZmluaXNoIG11c3RcXG4gICAgLy8gYWx3YXlzIGZvbGxvdyBlcnJvclxcblxcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XFxuICBzdGF0ZS53cml0aW5nID0gZmFsc2U7XFxuICBzdGF0ZS53cml0ZWNiID0gbnVsbDtcXG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcXG4gIHN0YXRlLndyaXRlbGVuID0gMDtcXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZShzdHJlYW0sIGVyKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XFxuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XFxuICB2YXIgY2IgPSBzdGF0ZS53cml0ZWNiO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpO1xcbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcXG4gIGlmIChlcikgb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYik7ZWxzZSB7XFxuICAgIC8vIENoZWNrIGlmIHdlJ3JlIGFjdHVhbGx5IHJlYWR5IHRvIGZpbmlzaCwgYnV0IGRvbid0IGVtaXQgeWV0XFxuICAgIHZhciBmaW5pc2hlZCA9IG5lZWRGaW5pc2goc3RhdGUpIHx8IHN0cmVhbS5kZXN0cm95ZWQ7XFxuXFxuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcXG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBpZiAoc3luYykge1xcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soYWZ0ZXJXcml0ZSwgc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWZ0ZXJXcml0ZShzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpIHtcXG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcXG4gIHN0YXRlLnBlbmRpbmdjYi0tO1xcbiAgY2IoKTtcXG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbn0gLy8gTXVzdCBmb3JjZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgb24gbmV4dFRpY2ssIHNvIHRoYXQgd2UgZG9uJ3RcXG4vLyBlbWl0ICdkcmFpbicgYmVmb3JlIHRoZSB3cml0ZSgpIGNvbnN1bWVyIGdldHMgdGhlICdmYWxzZScgcmV0dXJuXFxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cXG5cXG5cXG5mdW5jdGlvbiBvbndyaXRlRHJhaW4oc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5uZWVkRHJhaW4pIHtcXG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XFxuICAgIHN0cmVhbS5lbWl0KCdkcmFpbicpO1xcbiAgfVxcbn0gLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcXG5cXG5cXG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gdHJ1ZTtcXG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcXG5cXG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XFxuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcXG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcXG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XFxuICAgIHZhciBjb3VudCA9IDA7XFxuICAgIHZhciBhbGxCdWZmZXJzID0gdHJ1ZTtcXG5cXG4gICAgd2hpbGUgKGVudHJ5KSB7XFxuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xcbiAgICAgIGlmICghZW50cnkuaXNCdWYpIGFsbEJ1ZmZlcnMgPSBmYWxzZTtcXG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICAgICAgY291bnQgKz0gMTtcXG4gICAgfVxcblxcbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTsgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXFxuXFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG5cXG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XFxuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gaG9sZGVyLm5leHQ7XFxuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXFxuICAgIHdoaWxlIChlbnRyeSkge1xcbiAgICAgIHZhciBjaHVuayA9IGVudHJ5LmNodW5rO1xcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICAgIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcXG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tOyAvLyBpZiB3ZSBkaWRuJ3QgY2FsbCB0aGUgb253cml0ZSBpbW1lZGlhdGVseSwgdGhlblxcbiAgICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0IGRvZXMuXFxuICAgICAgLy8gYWxzbywgdGhhdCBtZWFucyB0aGF0IHRoZSBjaHVuayBhbmQgY2IgYXJlIGN1cnJlbnRseVxcbiAgICAgIC8vIGJlaW5nIHByb2Nlc3NlZCwgc28gbW92ZSB0aGUgYnVmZmVyIGNvdW50ZXIgcGFzdCB0aGVtLlxcblxcbiAgICAgIGlmIChzdGF0ZS53cml0aW5nKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGVudHJ5ID09PSBudWxsKSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG4gIH1cXG5cXG4gIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IGVudHJ5O1xcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIGNiKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3dyaXRlKCknKSk7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGNodW5rO1xcbiAgICBjaHVuayA9IG51bGw7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7IC8vIC5lbmQoKSBmdWxseSB1bmNvcmtzXFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZCA9IDE7XFxuICAgIHRoaXMudW5jb3JrKCk7XFxuICB9IC8vIGlnbm9yZSB1bm5lY2Vzc2FyeSBlbmQoKSBjYWxscy5cXG5cXG5cXG4gIGlmICghc3RhdGUuZW5kaW5nKSBlbmRXcml0YWJsZSh0aGlzLCBzdGF0ZSwgY2IpO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVMZW5ndGgnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aDtcXG4gIH1cXG59KTtcXG5cXG5mdW5jdGlvbiBuZWVkRmluaXNoKHN0YXRlKSB7XFxuICByZXR1cm4gc3RhdGUuZW5kaW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPT09IG51bGwgJiYgIXN0YXRlLmZpbmlzaGVkICYmICFzdGF0ZS53cml0aW5nO1xcbn1cXG5cXG5mdW5jdGlvbiBjYWxsRmluYWwoc3RyZWFtLCBzdGF0ZSkge1xcbiAgc3RyZWFtLl9maW5hbChmdW5jdGlvbiAoZXJyKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xcblxcbiAgICBpZiAoZXJyKSB7XFxuICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcnIpO1xcbiAgICB9XFxuXFxuICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLmVtaXQoJ3ByZWZpbmlzaCcpO1xcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBwcmVmaW5pc2goc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKCFzdGF0ZS5wcmVmaW5pc2hlZCAmJiAhc3RhdGUuZmluYWxDYWxsZWQpIHtcXG4gICAgaWYgKHR5cGVvZiBzdHJlYW0uX2ZpbmFsID09PSAnZnVuY3Rpb24nICYmICFzdGF0ZS5kZXN0cm95ZWQpIHtcXG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcXG4gICAgICBzdGF0ZS5maW5hbENhbGxlZCA9IHRydWU7XFxuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xcbiAgdmFyIG5lZWQgPSBuZWVkRmluaXNoKHN0YXRlKTtcXG5cXG4gIGlmIChuZWVkKSB7XFxuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcXG5cXG4gICAgaWYgKHN0YXRlLnBlbmRpbmdjYiA9PT0gMCkge1xcbiAgICAgIHN0YXRlLmZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XFxuXFxuICAgICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XFxuICAgICAgICAvLyBJbiBjYXNlIG9mIGR1cGxleCBzdHJlYW1zIHdlIG5lZWQgYSB3YXkgdG8gZGV0ZWN0XFxuICAgICAgICAvLyBpZiB0aGUgcmVhZGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxcbiAgICAgICAgdmFyIHJTdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gICAgICAgIGlmICghclN0YXRlIHx8IHJTdGF0ZS5hdXRvRGVzdHJveSAmJiByU3RhdGUuZW5kRW1pdHRlZCkge1xcbiAgICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG5lZWQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFdyaXRhYmxlKHN0cmVhbSwgc3RhdGUsIGNiKSB7XFxuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxuXFxuICBpZiAoY2IpIHtcXG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwcm9jZXNzLm5leHRUaWNrKGNiKTtlbHNlIHN0cmVhbS5vbmNlKCdmaW5pc2gnLCBjYik7XFxuICB9XFxuXFxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuICBzdHJlYW0ud3JpdGFibGUgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gb25Db3JrZWRGaW5pc2goY29ya1JlcSwgc3RhdGUsIGVycikge1xcbiAgdmFyIGVudHJ5ID0gY29ya1JlcS5lbnRyeTtcXG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xcblxcbiAgd2hpbGUgKGVudHJ5KSB7XFxuICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcXG4gICAgY2IoZXJyKTtcXG4gICAgZW50cnkgPSBlbnRyeS5uZXh0O1xcbiAgfSAvLyByZXVzZSB0aGUgZnJlZSBjb3JrUmVxLlxcblxcblxcbiAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxcbiAgICBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG5Xcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XFxuV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcXG4gIGNiKGVycik7XFxufTtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5M2NtbDBZV0pzWlM1cWN6ODBabUZpSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNaMFZCUVdkQ08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN08wRkJSVUVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSEZKUVVFeVFqdEJRVU5vUkRzN08wRkJSMEVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk96dEJRVVUzUWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExDdElRVUUwUWpzN1FVRkZkRVFzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMREpJUVVFd1FqdEJRVU5xUkRzN1FVRkZRU3h4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXhuUjBGQlZ6dEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQkxHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3hDT3p0QlFVVkJPMEZCUTBFc2NVSkJRWEZDTEcxQ1FVRlBMRU5CUVVNc01rZEJRV3RDTzBGQlF5OURMREJDUVVFd1FqdEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDVSVUZCZVVVN1FVRkRla1U3TzBGQlJVRTdRVUZEUVN4clJrRkJhMFk3UVVGRGJFWTdRVUZEUVRzN1FVRkZRU3d3UmtGQk1FWTdPMEZCUlRGR0xESkNRVUV5UWpzN1FVRkZNMElzZVVKQlFYbENPenRCUVVWNlFpeHpRa0ZCYzBJN08wRkJSWFJDTEhGQ1FVRnhRanM3UVVGRmNrSXNkMEpCUVhkQ096dEJRVVY0UWl4NVFrRkJlVUk3UVVGRGVrSTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTERKRVFVRXlSRHRCUVVNelJEdEJRVU5CT3p0QlFVVkJMR3RDUVVGclFqczdRVUZGYkVJc2RVSkJRWFZDT3p0QlFVVjJRaXhyUWtGQmEwSTdRVUZEYkVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRanRCUVVOdVFqdEJRVU5CT3p0QlFVVkJMR2REUVVGblF6czdRVUZGYUVNN1FVRkRRVHRCUVVOQkxFbEJRVWs3T3p0QlFVZEtMSE5DUVVGelFqczdRVUZGZEVJN1FVRkRRVHRCUVVOQkxHdERRVUZyUXp0QlFVTnNRenM3UVVGRlFTeHhRa0ZCY1VJN1FVRkRja0k3TzBGQlJVRXNNa0pCUVRKQ096dEJRVVV6UWl3MFFrRkJORUk3TzBGQlJUVkNMQ3REUVVFclF6czdRVUZGTDBNc01rTkJRVEpET3p0QlFVVXpReXhuUTBGQlowTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUUxFdEJRVXM3UVVGRFRDeEhRVUZITzBGQlEwZ3NRMEZCUXl4SlFVRkpPMEZCUTB3N096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2NVSkJRWEZDTEcxQ1FVRlBMRU5CUVVNc01rZEJRV3RDTEVWQlFVVTdRVUZEYWtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUZRVUZ0UlRzN1FVRkZia1U3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXpzN08wRkJSMFE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc05FTkJRVFJET3p0QlFVVTFRenRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xEUVVGcFF6dEJRVU5xUXp0QlFVTkJMRFJEUVVFMFF6dEJRVU0xUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3dyUTBGQkswTTdPMEZCUlM5RE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNSVUZCZDBVc2MwUkJRWE5FTzBGQlF6bElPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cyUWtGQk5rSTdRVUZETjBJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzSzBKQlFTdENPMEZCUXk5Q096dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RU8wRkJRM0JFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN08wRkJSMFE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc01FVkJRVEJGTzBGQlF6RkZPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF6dEJRVU51UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTEhsRlFVRjVSVHM3UVVGRmVrVTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRFpEUVVFMlF6dEJRVU0zUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96czdRVUZIUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRVVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbkp2ZDNObGNtbG1lUzF6YVdkdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZDNKcGRHRmliR1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JpOHZJRUVnWW1sMElITnBiWEJzWlhJZ2RHaGhiaUJ5WldGa1lXSnNaU0J6ZEhKbFlXMXpMbHh1THk4Z1NXMXdiR1Z0Wlc1MElHRnVJR0Z6ZVc1aklDNWZkM0pwZEdVb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa3NJR0Z1WkNCcGRDZHNiQ0JvWVc1a2JHVWdZV3hzWEc0dkx5QjBhR1VnWkhKaGFXNGdaWFpsYm5RZ1pXMXBjM05wYjI0Z1lXNWtJR0oxWm1abGNtbHVaeTVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JYY21sMFlXSnNaVHRjYmk4cUlEeHlaWEJzWVdObGJXVnVkRDRnS2k5Y2JseHVablZ1WTNScGIyNGdWM0pwZEdWU1pYRW9ZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmpZaWtnZTF4dUlDQjBhR2x6TG1Ob2RXNXJJRDBnWTJoMWJtczdYRzRnSUhSb2FYTXVaVzVqYjJScGJtY2dQU0JsYm1OdlpHbHVaenRjYmlBZ2RHaHBjeTVqWVd4c1ltRmpheUE5SUdOaU8xeHVJQ0IwYUdsekxtNWxlSFFnUFNCdWRXeHNPMXh1ZlNBdkx5QkpkQ0J6WldWdGN5QmhJR3hwYm10bFpDQnNhWE4wSUdKMWRDQnBkQ0JwY3lCdWIzUmNiaTh2SUhSb1pYSmxJSGRwYkd3Z1ltVWdiMjVzZVNBeUlHOW1JSFJvWlhObElHWnZjaUJsWVdOb0lITjBjbVZoYlZ4dVhHNWNibVoxYm1OMGFXOXVJRU52Y210bFpGSmxjWFZsYzNRb2MzUmhkR1VwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNCMGFHbHpMbTVsZUhRZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG1WdWRISjVJRDBnYm5Wc2JEdGNibHh1SUNCMGFHbHpMbVpwYm1semFDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J2YmtOdmNtdGxaRVpwYm1semFDaGZkR2hwY3l3Z2MzUmhkR1VwTzF4dUlDQjlPMXh1ZlZ4dUx5b2dQQzl5WlhCc1lXTmxiV1Z1ZEQ0Z0tpOWNibHh1THlvOGNtVndiR0ZqWlcxbGJuUStLaTljYmx4dVhHNTJZWElnUkhWd2JHVjRPMXh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JsZHlhWFJoWW14bExsZHlhWFJoWW14bFUzUmhkR1VnUFNCWGNtbDBZV0pzWlZOMFlYUmxPMXh1THlvOGNtVndiR0ZqWlcxbGJuUStLaTljYmx4dWRtRnlJR2x1ZEdWeWJtRnNWWFJwYkNBOUlIdGNiaUFnWkdWd2NtVmpZWFJsT2lCeVpYRjFhWEpsS0NkMWRHbHNMV1JsY0hKbFkyRjBaU2NwWEc1OU8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JuWmhjaUJUZEhKbFlXMGdQU0J5WlhGMWFYSmxLQ2N1TDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSeVpXRnRKeWs3WEc0dktqd3ZjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5SnlrdVFuVm1abVZ5TzF4dVhHNTJZWElnVDNWeVZXbHVkRGhCY25KaGVTQTlJR2RzYjJKaGJDNVZhVzUwT0VGeWNtRjVJSHg4SUdaMWJtTjBhVzl1SUNncElIdDlPMXh1WEc1bWRXNWpkR2x2YmlCZmRXbHVkRGhCY25KaGVWUnZRblZtWm1WeUtHTm9kVzVyS1NCN1hHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdVpuSnZiU2hqYUhWdWF5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlGOXBjMVZwYm5RNFFYSnlZWGtvYjJKcUtTQjdYRzRnSUhKbGRIVnliaUJDZFdabVpYSXVhWE5DZFdabVpYSW9iMkpxS1NCOGZDQnZZbW9nYVc1emRHRnVZMlZ2WmlCUGRYSlZhVzUwT0VGeWNtRjVPMXh1ZlZ4dVhHNTJZWElnWkdWemRISnZlVWx0Y0d3Z1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZaR1Z6ZEhKdmVTY3BPMXh1WEc1MllYSWdYM0psY1hWcGNtVWdQU0J5WlhGMWFYSmxLQ2N1TDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSaGRHVW5LU3hjYmlBZ0lDQm5aWFJJYVdkb1YyRjBaWEpOWVhKcklEMGdYM0psY1hWcGNtVXVaMlYwU0dsbmFGZGhkR1Z5VFdGeWF6dGNibHh1ZG1GeUlGOXlaWEYxYVhKbEpHTnZaR1Z6SUQwZ2NtVnhkV2x5WlNnbkxpNHZaWEp5YjNKekp5a3VZMjlrWlhNc1hHNGdJQ0FnUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZTVTVXUVV4SlJGOUJVa2RmVkZsUVJTeGNiaUFnSUNCRlVsSmZUVVZVU0U5RVgwNVBWRjlKVFZCTVJVMUZUbFJGUkNBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOU5SVlJJVDBSZlRrOVVYMGxOVUV4RlRVVk9WRVZFTEZ4dUlDQWdJRVZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3lBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5eGNiaUFnSUNCRlVsSmZVMVJTUlVGTlgwTkJUazVQVkY5UVNWQkZJRDBnWDNKbGNYVnBjbVVrWTI5a1pYTXVSVkpTWDFOVVVrVkJUVjlEUVU1T1QxUmZVRWxRUlN4Y2JpQWdJQ0JGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOVRWRkpGUVUxZlJFVlRWRkpQV1VWRUxGeHVJQ0FnSUVWU1VsOVRWRkpGUVUxZlRsVk1URjlXUVV4VlJWTWdQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVTFSU1JVRk5YMDVWVEV4ZlZrRk1WVVZUTEZ4dUlDQWdJRVZTVWw5VFZGSkZRVTFmVjFKSlZFVmZRVVpVUlZKZlJVNUVJRDBnWDNKbGNYVnBjbVVrWTI5a1pYTXVSVkpTWDFOVVVrVkJUVjlYVWtsVVJWOUJSbFJGVWw5RlRrUXNYRzRnSUNBZ1JWSlNYMVZPUzA1UFYwNWZSVTVEVDBSSlRrY2dQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVlU1TFRrOVhUbDlGVGtOUFJFbE9SenRjYmx4dWRtRnlJR1Z5Y205eVQzSkVaWE4wY205NUlEMGdaR1Z6ZEhKdmVVbHRjR3d1WlhKeWIzSlBja1JsYzNSeWIzazdYRzVjYm5KbGNYVnBjbVVvSjJsdWFHVnlhWFJ6Snlrb1YzSnBkR0ZpYkdVc0lGTjBjbVZoYlNrN1hHNWNibVoxYm1OMGFXOXVJRzV2Y0NncElIdDlYRzVjYm1aMWJtTjBhVzl1SUZkeWFYUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2djM1J5WldGdExDQnBjMFIxY0d4bGVDa2dlMXh1SUNCRWRYQnNaWGdnUFNCRWRYQnNaWGdnZkh3Z2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE8xeHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUc2dMeThnUkhWd2JHVjRJSE4wY21WaGJYTWdZWEpsSUdKdmRHZ2djbVZoWkdGaWJHVWdZVzVrSUhkeWFYUmhZbXhsTENCaWRYUWdjMmhoY21WY2JpQWdMeThnZEdobElITmhiV1VnYjNCMGFXOXVjeUJ2WW1wbFkzUXVYRzRnSUM4dklFaHZkMlYyWlhJc0lITnZiV1VnWTJGelpYTWdjbVZ4ZFdseVpTQnpaWFIwYVc1bklHOXdkR2x2Ym5NZ2RHOGdaR2xtWm1WeVpXNTBYRzRnSUM4dklIWmhiSFZsY3lCbWIzSWdkR2hsSUhKbFlXUmhZbXhsSUdGdVpDQjBhR1VnZDNKcGRHRmliR1VnYzJsa1pYTWdiMllnZEdobElHUjFjR3hsZUNCemRISmxZVzBzWEc0Z0lDOHZJR1V1Wnk0Z2IzQjBhVzl1Y3k1eVpXRmtZV0pzWlU5aWFtVmpkRTF2WkdVZ2RuTXVJRzl3ZEdsdmJuTXVkM0pwZEdGaWJHVlBZbXBsWTNSTmIyUmxMQ0JsZEdNdVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGMwUjFjR3hsZUNBaFBUMGdKMkp2YjJ4bFlXNG5LU0JwYzBSMWNHeGxlQ0E5SUhOMGNtVmhiU0JwYm5OMFlXNWpaVzltSUVSMWNHeGxlRHNnTHk4Z2IySnFaV04wSUhOMGNtVmhiU0JtYkdGbklIUnZJR2x1WkdsallYUmxJSGRvWlhSb1pYSWdiM0lnYm05MElIUm9hWE1nYzNSeVpXRnRYRzRnSUM4dklHTnZiblJoYVc1eklHSjFabVpsY25NZ2IzSWdiMkpxWldOMGN5NWNibHh1SUNCMGFHbHpMbTlpYW1WamRFMXZaR1VnUFNBaElXOXdkR2x2Ym5NdWIySnFaV04wVFc5a1pUdGNiaUFnYVdZZ0tHbHpSSFZ3YkdWNEtTQjBhR2x6TG05aWFtVmpkRTF2WkdVZ1BTQjBhR2x6TG05aWFtVmpkRTF2WkdVZ2ZId2dJU0Z2Y0hScGIyNXpMbmR5YVhSaFlteGxUMkpxWldOMFRXOWtaVHNnTHk4Z2RHaGxJSEJ2YVc1MElHRjBJSGRvYVdOb0lIZHlhWFJsS0NrZ2MzUmhjblJ6SUhKbGRIVnlibWx1WnlCbVlXeHpaVnh1SUNBdkx5Qk9iM1JsT2lBd0lHbHpJR0VnZG1Gc2FXUWdkbUZzZFdVc0lHMWxZVzV6SUhSb1lYUWdkMlVnWVd4M1lYbHpJSEpsZEhWeWJpQm1ZV3h6WlNCcFpseHVJQ0F2THlCMGFHVWdaVzUwYVhKbElHSjFabVpsY2lCcGN5QnViM1FnWm14MWMyaGxaQ0JwYlcxbFpHbGhkR1ZzZVNCdmJpQjNjbWwwWlNncFhHNWNiaUFnZEdocGN5NW9hV2RvVjJGMFpYSk5ZWEpySUQwZ1oyVjBTR2xuYUZkaGRHVnlUV0Z5YXloMGFHbHpMQ0J2Y0hScGIyNXpMQ0FuZDNKcGRHRmliR1ZJYVdkb1YyRjBaWEpOWVhKckp5d2dhWE5FZFhCc1pYZ3BPeUF2THlCcFppQmZabWx1WVd3Z2FHRnpJR0psWlc0Z1kyRnNiR1ZrWEc1Y2JpQWdkR2hwY3k1bWFXNWhiRU5oYkd4bFpDQTlJR1poYkhObE95QXZMeUJrY21GcGJpQmxkbVZ1ZENCbWJHRm5MbHh1WEc0Z0lIUm9hWE11Ym1WbFpFUnlZV2x1SUQwZ1ptRnNjMlU3SUM4dklHRjBJSFJvWlNCemRHRnlkQ0J2WmlCallXeHNhVzVuSUdWdVpDZ3BYRzVjYmlBZ2RHaHBjeTVsYm1ScGJtY2dQU0JtWVd4elpUc2dMeThnZDJobGJpQmxibVFvS1NCb1lYTWdZbVZsYmlCallXeHNaV1FzSUdGdVpDQnlaWFIxY201bFpGeHVYRzRnSUhSb2FYTXVaVzVrWldRZ1BTQm1ZV3h6WlRzZ0x5OGdkMmhsYmlBblptbHVhWE5vSnlCcGN5QmxiV2wwZEdWa1hHNWNiaUFnZEdocGN5NW1hVzVwYzJobFpDQTlJR1poYkhObE95QXZMeUJvWVhNZ2FYUWdZbVZsYmlCa1pYTjBjbTk1WldSY2JseHVJQ0IwYUdsekxtUmxjM1J5YjNsbFpDQTlJR1poYkhObE95QXZMeUJ6YUc5MWJHUWdkMlVnWkdWamIyUmxJSE4wY21sdVozTWdhVzUwYnlCaWRXWm1aWEp6SUdKbFptOXlaU0J3WVhOemFXNW5JSFJ2SUY5M2NtbDBaVDljYmlBZ0x5OGdkR2hwY3lCcGN5Qm9aWEpsSUhOdklIUm9ZWFFnYzI5dFpTQnViMlJsTFdOdmNtVWdjM1J5WldGdGN5QmpZVzRnYjNCMGFXMXBlbVVnYzNSeWFXNW5YRzRnSUM4dklHaGhibVJzYVc1bklHRjBJR0VnYkc5M1pYSWdiR1YyWld3dVhHNWNiaUFnZG1GeUlHNXZSR1ZqYjJSbElEMGdiM0IwYVc5dWN5NWtaV052WkdWVGRISnBibWR6SUQwOVBTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1a1pXTnZaR1ZUZEhKcGJtZHpJRDBnSVc1dlJHVmpiMlJsT3lBdkx5QkRjbmx3ZEc4Z2FYTWdhMmx1WkNCdlppQnZiR1FnWVc1a0lHTnlkWE4wZVM0Z0lFaHBjM1J2Y21sallXeHNlU3dnYVhSeklHUmxabUYxYkhRZ2MzUnlhVzVuWEc0Z0lDOHZJR1Z1WTI5a2FXNW5JR2x6SUNkaWFXNWhjbmtuSUhOdklIZGxJR2hoZG1VZ2RHOGdiV0ZyWlNCMGFHbHpJR052Ym1acFozVnlZV0pzWlM1Y2JpQWdMeThnUlhabGNubDBhR2x1WnlCbGJITmxJR2x1SUhSb1pTQjFibWwyWlhKelpTQjFjMlZ6SUNkMWRHWTRKeXdnZEdodmRXZG9MbHh1WEc0Z0lIUm9hWE11WkdWbVlYVnNkRVZ1WTI5a2FXNW5JRDBnYjNCMGFXOXVjeTVrWldaaGRXeDBSVzVqYjJScGJtY2dmSHdnSjNWMFpqZ25PeUF2THlCdWIzUWdZVzRnWVdOMGRXRnNJR0oxWm1abGNpQjNaU0JyWldWd0lIUnlZV05ySUc5bUxDQmlkWFFnWVNCdFpXRnpkWEpsYldWdWRGeHVJQ0F2THlCdlppQm9iM2NnYlhWamFDQjNaU2R5WlNCM1lXbDBhVzVuSUhSdklHZGxkQ0J3ZFhOb1pXUWdkRzhnYzI5dFpTQjFibVJsY214NWFXNW5YRzRnSUM4dklITnZZMnRsZENCdmNpQm1hV3hsTGx4dVhHNGdJSFJvYVhNdWJHVnVaM1JvSUQwZ01Ec2dMeThnWVNCbWJHRm5JSFJ2SUhObFpTQjNhR1Z1SUhkbEozSmxJR2x1SUhSb1pTQnRhV1JrYkdVZ2IyWWdZU0IzY21sMFpTNWNibHh1SUNCMGFHbHpMbmR5YVhScGJtY2dQU0JtWVd4elpUc2dMeThnZDJobGJpQjBjblZsSUdGc2JDQjNjbWwwWlhNZ2QybHNiQ0JpWlNCaWRXWm1aWEpsWkNCMWJuUnBiQ0F1ZFc1amIzSnJLQ2tnWTJGc2JGeHVYRzRnSUhSb2FYTXVZMjl5YTJWa0lEMGdNRHNnTHk4Z1lTQm1iR0ZuSUhSdklHSmxJR0ZpYkdVZ2RHOGdkR1ZzYkNCcFppQjBhR1VnYjI1M2NtbDBaU0JqWWlCcGN5QmpZV3hzWldRZ2FXMXRaV1JwWVhSbGJIa3NYRzRnSUM4dklHOXlJRzl1SUdFZ2JHRjBaWElnZEdsamF5NGdJRmRsSUhObGRDQjBhR2x6SUhSdklIUnlkV1VnWVhRZ1ptbHljM1FzSUdKbFkyRjFjMlVnWVc1NVhHNGdJQzh2SUdGamRHbHZibk1nZEdoaGRDQnphRzkxYkdSdUozUWdhR0Z3Y0dWdUlIVnVkR2xzSUZ3aWJHRjBaWEpjSWlCemFHOTFiR1FnWjJWdVpYSmhiR3g1SUdGc2MyOWNiaUFnTHk4Z2JtOTBJR2hoY0hCbGJpQmlaV1p2Y21VZ2RHaGxJR1pwY25OMElIZHlhWFJsSUdOaGJHd3VYRzVjYmlBZ2RHaHBjeTV6ZVc1aklEMGdkSEoxWlRzZ0x5OGdZU0JtYkdGbklIUnZJR3R1YjNjZ2FXWWdkMlVuY21VZ2NISnZZMlZ6YzJsdVp5QndjbVYyYVc5MWMyeDVJR0oxWm1abGNtVmtJR2wwWlcxekxDQjNhR2xqYUZ4dUlDQXZMeUJ0WVhrZ1kyRnNiQ0IwYUdVZ1gzZHlhWFJsS0NrZ1kyRnNiR0poWTJzZ2FXNGdkR2hsSUhOaGJXVWdkR2xqYXl3Z2MyOGdkR2hoZENCM1pTQmtiMjRuZEZ4dUlDQXZMeUJsYm1RZ2RYQWdhVzRnWVc0Z2IzWmxjbXhoY0hCbFpDQnZibmR5YVhSbElITnBkSFZoZEdsdmJpNWNibHh1SUNCMGFHbHpMbUoxWm1abGNsQnliMk5sYzNOcGJtY2dQU0JtWVd4elpUc2dMeThnZEdobElHTmhiR3hpWVdOcklIUm9ZWFFuY3lCd1lYTnpaV1FnZEc4Z1gzZHlhWFJsS0dOb2RXNXJMR05pS1Z4dVhHNGdJSFJvYVhNdWIyNTNjbWwwWlNBOUlHWjFibU4wYVc5dUlDaGxjaWtnZTF4dUlDQWdJRzl1ZDNKcGRHVW9jM1J5WldGdExDQmxjaWs3WEc0Z0lIMDdJQzh2SUhSb1pTQmpZV3hzWW1GamF5QjBhR0YwSUhSb1pTQjFjMlZ5SUhOMWNIQnNhV1Z6SUhSdklIZHlhWFJsS0dOb2RXNXJMR1Z1WTI5a2FXNW5MR05pS1Z4dVhHNWNiaUFnZEdocGN5NTNjbWwwWldOaUlEMGdiblZzYkRzZ0x5OGdkR2hsSUdGdGIzVnVkQ0IwYUdGMElHbHpJR0psYVc1bklIZHlhWFIwWlc0Z2QyaGxiaUJmZDNKcGRHVWdhWE1nWTJGc2JHVmtMbHh1WEc0Z0lIUm9hWE11ZDNKcGRHVnNaVzRnUFNBd08xeHVJQ0IwYUdsekxtSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlHNTFiR3c3WEc0Z0lIUm9hWE11YkdGemRFSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlHNTFiR3c3SUM4dklHNTFiV0psY2lCdlppQndaVzVrYVc1bklIVnpaWEl0YzNWd2NHeHBaV1FnZDNKcGRHVWdZMkZzYkdKaFkydHpYRzRnSUM4dklIUm9hWE1nYlhWemRDQmlaU0F3SUdKbFptOXlaU0FuWm1sdWFYTm9KeUJqWVc0Z1ltVWdaVzFwZEhSbFpGeHVYRzRnSUhSb2FYTXVjR1Z1WkdsdVoyTmlJRDBnTURzZ0x5OGdaVzFwZENCd2NtVm1hVzVwYzJnZ2FXWWdkR2hsSUc5dWJIa2dkR2hwYm1jZ2QyVW5jbVVnZDJGcGRHbHVaeUJtYjNJZ2FYTWdYM2R5YVhSbElHTmljMXh1SUNBdkx5QlVhR2x6SUdseklISmxiR1YyWVc1MElHWnZjaUJ6ZVc1amFISnZibTkxY3lCVWNtRnVjMlp2Y20wZ2MzUnlaV0Z0YzF4dVhHNGdJSFJvYVhNdWNISmxabWx1YVhOb1pXUWdQU0JtWVd4elpUc2dMeThnVkhKMVpTQnBaaUIwYUdVZ1pYSnliM0lnZDJGeklHRnNjbVZoWkhrZ1pXMXBkSFJsWkNCaGJtUWdjMmh2ZFd4a0lHNXZkQ0JpWlNCMGFISnZkMjRnWVdkaGFXNWNibHh1SUNCMGFHbHpMbVZ5Y205eVJXMXBkSFJsWkNBOUlHWmhiSE5sT3lBdkx5QlRhRzkxYkdRZ1kyeHZjMlVnWW1VZ1pXMXBkSFJsWkNCdmJpQmtaWE4wY205NUxpQkVaV1poZFd4MGN5QjBieUIwY25WbExseHVYRzRnSUhSb2FYTXVaVzFwZEVOc2IzTmxJRDBnYjNCMGFXOXVjeTVsYldsMFEyeHZjMlVnSVQwOUlHWmhiSE5sT3lBdkx5QlRhRzkxYkdRZ0xtUmxjM1J5YjNrb0tTQmlaU0JqWVd4c1pXUWdZV1owWlhJZ0oyWnBibWx6YUNjZ0tHRnVaQ0J3YjNSbGJuUnBZV3hzZVNBblpXNWtKeWxjYmx4dUlDQjBhR2x6TG1GMWRHOUVaWE4wY205NUlEMGdJU0Z2Y0hScGIyNXpMbUYxZEc5RVpYTjBjbTk1T3lBdkx5QmpiM1Z1ZENCaWRXWm1aWEpsWkNCeVpYRjFaWE4wYzF4dVhHNGdJSFJvYVhNdVluVm1abVZ5WldSU1pYRjFaWE4wUTI5MWJuUWdQU0F3T3lBdkx5QmhiR3h2WTJGMFpTQjBhR1VnWm1seWMzUWdRMjl5YTJWa1VtVnhkV1Z6ZEN3Z2RHaGxjbVVnYVhNZ1lXeDNZWGx6WEc0Z0lDOHZJRzl1WlNCaGJHeHZZMkYwWldRZ1lXNWtJR1p5WldVZ2RHOGdkWE5sTENCaGJtUWdkMlVnYldGcGJuUmhhVzRnWVhRZ2JXOXpkQ0IwZDI5Y2JseHVJQ0IwYUdsekxtTnZjbXRsWkZKbGNYVmxjM1J6Um5KbFpTQTlJRzVsZHlCRGIzSnJaV1JTWlhGMVpYTjBLSFJvYVhNcE8xeHVmVnh1WEc1WGNtbDBZV0pzWlZOMFlYUmxMbkJ5YjNSdmRIbHdaUzVuWlhSQ2RXWm1aWElnUFNCbWRXNWpkR2x2YmlCblpYUkNkV1ptWlhJb0tTQjdYRzRnSUhaaGNpQmpkWEp5Wlc1MElEMGdkR2hwY3k1aWRXWm1aWEpsWkZKbGNYVmxjM1E3WEc0Z0lIWmhjaUJ2ZFhRZ1BTQmJYVHRjYmx4dUlDQjNhR2xzWlNBb1kzVnljbVZ1ZENrZ2UxeHVJQ0FnSUc5MWRDNXdkWE5vS0dOMWNuSmxiblFwTzF4dUlDQWdJR04xY25KbGJuUWdQU0JqZFhKeVpXNTBMbTVsZUhRN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2IzVjBPMXh1ZlR0Y2JseHVLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1YzSnBkR0ZpYkdWVGRHRjBaUzV3Y205MGIzUjVjR1VzSUNkaWRXWm1aWEluTENCN1hHNGdJQ0FnSUNCblpYUTZJR2x1ZEdWeWJtRnNWWFJwYkM1a1pYQnlaV05oZEdVb1puVnVZM1JwYjI0Z2QzSnBkR0ZpYkdWVGRHRjBaVUoxWm1abGNrZGxkSFJsY2lncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFFuVm1abVZ5S0NrN1hHNGdJQ0FnSUNCOUxDQW5YM2R5YVhSaFlteGxVM1JoZEdVdVluVm1abVZ5SUdseklHUmxjSEpsWTJGMFpXUXVJRlZ6WlNCZmQzSnBkR0ZpYkdWVGRHRjBaUzVuWlhSQ2RXWm1aWElnSnlBcklDZHBibk4wWldGa0xpY3NJQ2RFUlZBd01EQXpKeWxjYmlBZ0lDQjlLVHRjYmlBZ2ZTQmpZWFJqYUNBb1h5a2dlMzFjYm4wcEtDazdJQzh2SUZSbGMzUWdYM2R5YVhSaFlteGxVM1JoZEdVZ1ptOXlJR2x1YUdWeWFYUmhibU5sSUhSdklHRmpZMjkxYm5RZ1ptOXlJRVIxY0d4bGVDQnpkSEpsWVcxekxGeHVMeThnZDJodmMyVWdjSEp2ZEc5MGVYQmxJR05vWVdsdUlHOXViSGtnY0c5cGJuUnpJSFJ2SUZKbFlXUmhZbXhsTGx4dVhHNWNiblpoY2lCeVpXRnNTR0Z6U1c1emRHRnVZMlU3WEc1Y2JtbG1JQ2gwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGTjViV0p2YkM1b1lYTkpibk4wWVc1alpTQW1KaUIwZVhCbGIyWWdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxXMU41YldKdmJDNW9ZWE5KYm5OMFlXNWpaVjBnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ2NtVmhiRWhoYzBsdWMzUmhibU5sSUQwZ1JuVnVZM1JwYjI0dWNISnZkRzkwZVhCbFcxTjViV0p2YkM1b1lYTkpibk4wWVc1alpWMDdYRzRnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaFhjbWwwWVdKc1pTd2dVM2x0WW05c0xtaGhjMGx1YzNSaGJtTmxMQ0I3WEc0Z0lDQWdkbUZzZFdVNklHWjFibU4wYVc5dUlIWmhiSFZsS0c5aWFtVmpkQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tISmxZV3hJWVhOSmJuTjBZVzVqWlM1allXeHNLSFJvYVhNc0lHOWlhbVZqZENrcElISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTWdJVDA5SUZkeWFYUmhZbXhsS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQnlaWFIxY200Z2IySnFaV04wSUNZbUlHOWlhbVZqZEM1ZmQzSnBkR0ZpYkdWVGRHRjBaU0JwYm5OMFlXNWpaVzltSUZkeWFYUmhZbXhsVTNSaGRHVTdYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JuMGdaV3h6WlNCN1hHNGdJSEpsWVd4SVlYTkpibk4wWVc1alpTQTlJR1oxYm1OMGFXOXVJSEpsWVd4SVlYTkpibk4wWVc1alpTaHZZbXBsWTNRcElIdGNiaUFnSUNCeVpYUjFjbTRnYjJKcVpXTjBJR2x1YzNSaGJtTmxiMllnZEdocGN6dGNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnVjNKcGRHRmliR1VvYjNCMGFXOXVjeWtnZTF4dUlDQkVkWEJzWlhnZ1BTQkVkWEJzWlhnZ2ZId2djbVZ4ZFdseVpTZ25MaTlmYzNSeVpXRnRYMlIxY0d4bGVDY3BPeUF2THlCWGNtbDBZV0pzWlNCamRHOXlJR2x6SUdGd2NHeHBaV1FnZEc4Z1JIVndiR1Y0WlhNc0lIUnZieTVjYmlBZ0x5OGdZSEpsWVd4SVlYTkpibk4wWVc1alpXQWdhWE1nYm1WalpYTnpZWEo1SUdKbFkyRjFjMlVnZFhOcGJtY2djR3hoYVc0Z1lHbHVjM1JoYm1ObGIyWmdYRzRnSUM4dklIZHZkV3hrSUhKbGRIVnliaUJtWVd4elpTd2dZWE1nYm04Z1lGOTNjbWwwWVdKc1pWTjBZWFJsWUNCd2NtOXdaWEowZVNCcGN5QmhkSFJoWTJobFpDNWNiaUFnTHk4Z1ZISjVhVzVuSUhSdklIVnpaU0IwYUdVZ1kzVnpkRzl0SUdCcGJuTjBZVzVqWlc5bVlDQm1iM0lnVjNKcGRHRmliR1VnYUdWeVpTQjNhV3hzSUdGc2MyOGdZbkpsWVdzZ2RHaGxYRzRnSUM4dklFNXZaR1V1YW5NZ1RHRjZlVlJ5WVc1elptOXliU0JwYlhCc1pXMWxiblJoZEdsdmJpd2dkMmhwWTJnZ2FHRnpJR0VnYm05dUxYUnlhWFpwWVd3Z1oyVjBkR1Z5SUdadmNseHVJQ0F2THlCZ1gzZHlhWFJoWW14bFUzUmhkR1ZnSUhSb1lYUWdkMjkxYkdRZ2JHVmhaQ0IwYnlCcGJtWnBibWwwWlNCeVpXTjFjbk5wYjI0dVhHNGdJQzh2SUVOb1pXTnJhVzVuSUdadmNpQmhJRk4wY21WaGJTNUVkWEJzWlhnZ2FXNXpkR0Z1WTJVZ2FYTWdabUZ6ZEdWeUlHaGxjbVVnYVc1emRHVmhaQ0J2WmlCcGJuTnBaR1ZjYmlBZ0x5OGdkR2hsSUZkeWFYUmhZbXhsVTNSaGRHVWdZMjl1YzNSeWRXTjBiM0lzSUdGMElHeGxZWE4wSUhkcGRHZ2dWamdnTmk0MVhHNWNiaUFnZG1GeUlHbHpSSFZ3YkdWNElEMGdkR2hwY3lCcGJuTjBZVzVqWlc5bUlFUjFjR3hsZUR0Y2JpQWdhV1lnS0NGcGMwUjFjR3hsZUNBbUppQWhjbVZoYkVoaGMwbHVjM1JoYm1ObExtTmhiR3dvVjNKcGRHRmliR1VzSUhSb2FYTXBLU0J5WlhSMWNtNGdibVYzSUZkeWFYUmhZbXhsS0c5d2RHbHZibk1wTzF4dUlDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJRDBnYm1WM0lGZHlhWFJoWW14bFUzUmhkR1VvYjNCMGFXOXVjeXdnZEdocGN5d2dhWE5FZFhCc1pYZ3BPeUF2THlCc1pXZGhZM2t1WEc1Y2JpQWdkR2hwY3k1M2NtbDBZV0pzWlNBOUlIUnlkV1U3WEc1Y2JpQWdhV1lnS0c5d2RHbHZibk1wSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11ZDNKcGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNkeWFYUmxJRDBnYjNCMGFXOXVjeTUzY21sMFpUdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NdWQzSnBkR1YySUQwOVBTQW5ablZ1WTNScGIyNG5LU0IwYUdsekxsOTNjbWwwWlhZZ1BTQnZjSFJwYjI1ekxuZHlhWFJsZGp0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11WkdWemRISnZlU0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dkR2hwY3k1ZlpHVnpkSEp2ZVNBOUlHOXdkR2x2Ym5NdVpHVnpkSEp2ZVR0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11Wm1sdVlXd2dQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDJacGJtRnNJRDBnYjNCMGFXOXVjeTVtYVc1aGJEdGNiaUFnZlZ4dVhHNGdJRk4wY21WaGJTNWpZV3hzS0hSb2FYTXBPMXh1ZlNBdkx5QlBkR2hsY25kcGMyVWdjR1Z2Y0d4bElHTmhiaUJ3YVhCbElGZHlhWFJoWW14bElITjBjbVZoYlhNc0lIZG9hV05vSUdseklHcDFjM1FnZDNKdmJtY3VYRzVjYmx4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExuQnBjR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUdWeWNtOXlUM0pFWlhOMGNtOTVLSFJvYVhNc0lHNWxkeUJGVWxKZlUxUlNSVUZOWDBOQlRrNVBWRjlRU1ZCRktDa3BPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdkM0pwZEdWQlpuUmxja1Z1WkNoemRISmxZVzBzSUdOaUtTQjdYRzRnSUhaaGNpQmxjaUE5SUc1bGR5QkZVbEpmVTFSU1JVRk5YMWRTU1ZSRlgwRkdWRVZTWDBWT1JDZ3BPeUF2THlCVVQwUlBPaUJrWldabGNpQmxjbkp2Y2lCbGRtVnVkSE1nWTI5dWMybHpkR1Z1ZEd4NUlHVjJaWEo1ZDJobGNtVXNJRzV2ZENCcWRYTjBJSFJvWlNCallseHVYRzRnSUdWeWNtOXlUM0pFWlhOMGNtOTVLSE4wY21WaGJTd2daWElwTzF4dUlDQndjbTlqWlhOekxtNWxlSFJVYVdOcktHTmlMQ0JsY2lrN1hHNTlJQzh2SUVOb1pXTnJjeUIwYUdGMElHRWdkWE5sY2kxemRYQndiR2xsWkNCamFIVnVheUJwY3lCMllXeHBaQ3dnWlhOd1pXTnBZV3hzZVNCbWIzSWdkR2hsSUhCaGNuUnBZM1ZzWVhKY2JpOHZJRzF2WkdVZ2RHaGxJSE4wY21WaGJTQnBjeUJwYmk0Z1EzVnljbVZ1ZEd4NUlIUm9hWE1nYldWaGJuTWdkR2hoZENCZ2JuVnNiR0FnYVhNZ2JtVjJaWElnWVdOalpYQjBaV1JjYmk4dklHRnVaQ0IxYm1SbFptbHVaV1F2Ym05dUxYTjBjbWx1WnlCMllXeDFaWE1nWVhKbElHOXViSGtnWVd4c2IzZGxaQ0JwYmlCdlltcGxZM1FnYlc5a1pTNWNibHh1WEc1bWRXNWpkR2x2YmlCMllXeHBaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JqWWlrZ2UxeHVJQ0IyWVhJZ1pYSTdYRzVjYmlBZ2FXWWdLR05vZFc1cklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1pYSWdQU0J1WlhjZ1JWSlNYMU5VVWtWQlRWOU9WVXhNWDFaQlRGVkZVeWdwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmphSFZ1YXlBaFBUMGdKM04wY21sdVp5Y2dKaVlnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VwSUh0Y2JpQWdJQ0JsY2lBOUlHNWxkeUJGVWxKZlNVNVdRVXhKUkY5QlVrZGZWRmxRUlNnblkyaDFibXNuTENCYkozTjBjbWx1Wnljc0lDZENkV1ptWlhJblhTd2dZMmgxYm1zcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dWeUtTQjdYRzRnSUNBZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0JsY2lrN1hHNGdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhqWWl3Z1pYSXBPMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIwY25WbE8xeHVmVnh1WEc1WGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjbVYwSUQwZ1ptRnNjMlU3WEc1Y2JpQWdkbUZ5SUdselFuVm1JRDBnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VnSmlZZ1gybHpWV2x1ZERoQmNuSmhlU2hqYUhWdWF5azdYRzVjYmlBZ2FXWWdLR2x6UW5WbUlDWW1JQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZMmgxYm1zcEtTQjdYRzRnSUNBZ1kyaDFibXNnUFNCZmRXbHVkRGhCY25KaGVWUnZRblZtWm1WeUtHTm9kVzVyS1R0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaVzVqYjJScGJtY2dQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCallpQTlJR1Z1WTI5a2FXNW5PMXh1SUNBZ0lHVnVZMjlrYVc1bklEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hwYzBKMVppa2daVzVqYjJScGJtY2dQU0FuWW5WbVptVnlKenRsYkhObElHbG1JQ2doWlc1amIyUnBibWNwSUdWdVkyOWthVzVuSUQwZ2MzUmhkR1V1WkdWbVlYVnNkRVZ1WTI5a2FXNW5PMXh1SUNCcFppQW9kSGx3Wlc5bUlHTmlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQmpZaUE5SUc1dmNEdGNiaUFnYVdZZ0tITjBZWFJsTG1WdVpHbHVaeWtnZDNKcGRHVkJablJsY2tWdVpDaDBhR2x6TENCallpazdaV3h6WlNCcFppQW9hWE5DZFdZZ2ZId2dkbUZzYVdSRGFIVnVheWgwYUdsekxDQnpkR0YwWlN3Z1kyaDFibXNzSUdOaUtTa2dlMXh1SUNBZ0lITjBZWFJsTG5CbGJtUnBibWRqWWlzck8xeHVJQ0FnSUhKbGRDQTlJSGR5YVhSbFQzSkNkV1ptWlhJb2RHaHBjeXdnYzNSaGRHVXNJR2x6UW5WbUxDQmphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZUdGNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG1OdmNtc2dQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WTI5eWEyVmtLeXM3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1ZFc1amIzSnJJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRdExUdGNiaUFnSUNCcFppQW9JWE4wWVhSbExuZHlhWFJwYm1jZ0ppWWdJWE4wWVhSbExtTnZjbXRsWkNBbUppQWhjM1JoZEdVdVluVm1abVZ5VUhKdlkyVnpjMmx1WnlBbUppQnpkR0YwWlM1aWRXWm1aWEpsWkZKbGNYVmxjM1FwSUdOc1pXRnlRblZtWm1WeUtIUm9hWE1zSUhOMFlYUmxLVHRjYmlBZ2ZWeHVmVHRjYmx4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExuTmxkRVJsWm1GMWJIUkZibU52WkdsdVp5QTlJR1oxYm1OMGFXOXVJSE5sZEVSbFptRjFiSFJGYm1OdlpHbHVaeWhsYm1OdlpHbHVaeWtnZTF4dUlDQXZMeUJ1YjJSbE9qcFFZWEp6WlVWdVkyOWthVzVuS0NrZ2NtVnhkV2x5WlhNZ2JHOTNaWElnWTJGelpTNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCbGJtTnZaR2x1WnlBOVBUMGdKM04wY21sdVp5Y3BJR1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWN1ZEc5TWIzZGxja05oYzJVb0tUdGNiaUFnYVdZZ0tDRW9XeWRvWlhnbkxDQW5kWFJtT0Njc0lDZDFkR1l0T0Njc0lDZGhjMk5wYVNjc0lDZGlhVzVoY25rbkxDQW5ZbUZ6WlRZMEp5d2dKM1ZqY3pJbkxDQW5kV056TFRJbkxDQW5kWFJtTVRac1pTY3NJQ2QxZEdZdE1UWnNaU2NzSUNkeVlYY25YUzVwYm1SbGVFOW1LQ2hsYm1OdlpHbHVaeUFySUNjbktTNTBiMHh2ZDJWeVEyRnpaU2dwS1NBK0lDMHhLU2tnZEdoeWIzY2dibVYzSUVWU1VsOVZUa3RPVDFkT1gwVk9RMDlFU1U1SEtHVnVZMjlrYVc1bktUdGNiaUFnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1a1pXWmhkV3gwUlc1amIyUnBibWNnUFNCbGJtTnZaR2x1Wnp0Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1YzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5kM0pwZEdGaWJHVkNkV1ptWlhJbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVoyVjBRblZtWm1WeUtDazdYRzRnSUgxY2JuMHBPMXh1WEc1bWRXNWpkR2x2YmlCa1pXTnZaR1ZEYUhWdWF5aHpkR0YwWlN3Z1kyaDFibXNzSUdWdVkyOWthVzVuS1NCN1hHNGdJR2xtSUNnaGMzUmhkR1V1YjJKcVpXTjBUVzlrWlNBbUppQnpkR0YwWlM1a1pXTnZaR1ZUZEhKcGJtZHpJQ0U5UFNCbVlXeHpaU0FtSmlCMGVYQmxiMllnWTJoMWJtc2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnWTJoMWJtc2dQU0JDZFdabVpYSXVabkp2YlNoamFIVnVheXdnWlc1amIyUnBibWNwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdOb2RXNXJPMXh1ZlZ4dVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmQzSnBkR0ZpYkdWSWFXZG9WMkYwWlhKTllYSnJKeXdnZTF4dUlDQXZMeUJ0WVd0cGJtY2dhWFFnWlhod2JHbGphWFFnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJ1YjNRZ1pXNTFiV1Z5WVdKc1pWeHVJQ0F2THlCaVpXTmhkWE5sSUc5MGFHVnlkMmx6WlNCemIyMWxJSEJ5YjNSdmRIbHdaU0J0WVc1cGNIVnNZWFJwYjI0Z2FXNWNiaUFnTHk4Z2RYTmxjbXhoYm1RZ2QybHNiQ0JtWVdsc1hHNGdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJR2RsZENncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCOVhHNTlLVHNnTHk4Z2FXWWdkMlVuY21VZ1lXeHlaV0ZrZVNCM2NtbDBhVzVuSUhOdmJXVjBhR2x1Wnl3Z2RHaGxiaUJxZFhOMElIQjFkQ0IwYUdselhHNHZMeUJwYmlCMGFHVWdjWFZsZFdVc0lHRnVaQ0IzWVdsMElHOTFjaUIwZFhKdUxpQWdUM1JvWlhKM2FYTmxMQ0JqWVd4c0lGOTNjbWwwWlZ4dUx5OGdTV1lnZDJVZ2NtVjBkWEp1SUdaaGJITmxMQ0IwYUdWdUlIZGxJRzVsWldRZ1lTQmtjbUZwYmlCbGRtVnVkQ3dnYzI4Z2MyVjBJSFJvWVhRZ1pteGhaeTVjYmx4dVpuVnVZM1JwYjI0Z2QzSnBkR1ZQY2tKMVptWmxjaWh6ZEhKbFlXMHNJSE4wWVhSbExDQnBjMEoxWml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCcFppQW9JV2x6UW5WbUtTQjdYRzRnSUNBZ2RtRnlJRzVsZDBOb2RXNXJJRDBnWkdWamIyUmxRMmgxYm1zb2MzUmhkR1VzSUdOb2RXNXJMQ0JsYm1OdlpHbHVaeWs3WEc1Y2JpQWdJQ0JwWmlBb1kyaDFibXNnSVQwOUlHNWxkME5vZFc1cktTQjdYRzRnSUNBZ0lDQnBjMEoxWmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUNkaWRXWm1aWEluTzF4dUlDQWdJQ0FnWTJoMWJtc2dQU0J1WlhkRGFIVnVhenRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IyWVhJZ2JHVnVJRDBnYzNSaGRHVXViMkpxWldOMFRXOWtaU0EvSURFZ09pQmphSFZ1YXk1c1pXNW5kR2c3WEc0Z0lITjBZWFJsTG14bGJtZDBhQ0FyUFNCc1pXNDdYRzRnSUhaaGNpQnlaWFFnUFNCemRHRjBaUzVzWlc1bmRHZ2dQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyT3lBdkx5QjNaU0J0ZFhOMElHVnVjM1Z5WlNCMGFHRjBJSEJ5WlhacGIzVnpJRzVsWldSRWNtRnBiaUIzYVd4c0lHNXZkQ0JpWlNCeVpYTmxkQ0IwYnlCbVlXeHpaUzVjYmx4dUlDQnBaaUFvSVhKbGRDa2djM1JoZEdVdWJtVmxaRVJ5WVdsdUlEMGdkSEoxWlR0Y2JseHVJQ0JwWmlBb2MzUmhkR1V1ZDNKcGRHbHVaeUI4ZkNCemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQjJZWElnYkdGemRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2MzUmhkR1V1YkdGemRFSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlIdGNiaUFnSUNBZ0lHTm9kVzVyT2lCamFIVnVheXhjYmlBZ0lDQWdJR1Z1WTI5a2FXNW5PaUJsYm1OdlpHbHVaeXhjYmlBZ0lDQWdJR2x6UW5WbU9pQnBjMEoxWml4Y2JpQWdJQ0FnSUdOaGJHeGlZV05yT2lCallpeGNiaUFnSUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLR3hoYzNRcElIdGNiaUFnSUNBZ0lHeGhjM1F1Ym1WNGRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzUmhkR1V1WW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RZ0t6MGdNVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JrYjFkeWFYUmxLSE4wY21WaGJTd2djM1JoZEdVc0lHWmhiSE5sTENCc1pXNHNJR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHOVhjbWwwWlNoemRISmxZVzBzSUhOMFlYUmxMQ0IzY21sMFpYWXNJR3hsYml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCemRHRjBaUzUzY21sMFpXeGxiaUE5SUd4bGJqdGNiaUFnYzNSaGRHVXVkM0pwZEdWallpQTlJR05pTzF4dUlDQnpkR0YwWlM1M2NtbDBhVzVuSUQwZ2RISjFaVHRjYmlBZ2MzUmhkR1V1YzNsdVl5QTlJSFJ5ZFdVN1hHNGdJR2xtSUNoemRHRjBaUzVrWlhOMGNtOTVaV1FwSUhOMFlYUmxMbTl1ZDNKcGRHVW9ibVYzSUVWU1VsOVRWRkpGUVUxZlJFVlRWRkpQV1VWRUtDZDNjbWwwWlNjcEtUdGxiSE5sSUdsbUlDaDNjbWwwWlhZcElITjBjbVZoYlM1ZmQzSnBkR1YyS0dOb2RXNXJMQ0J6ZEdGMFpTNXZibmR5YVhSbEtUdGxiSE5sSUhOMGNtVmhiUzVmZDNKcGRHVW9ZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQnpkR0YwWlM1dmJuZHlhWFJsS1R0Y2JpQWdjM1JoZEdVdWMzbHVZeUE5SUdaaGJITmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZibmR5YVhSbFJYSnliM0lvYzNSeVpXRnRMQ0J6ZEdGMFpTd2djM2x1WXl3Z1pYSXNJR05pS1NCN1hHNGdJQzB0YzNSaGRHVXVjR1Z1WkdsdVoyTmlPMXh1WEc0Z0lHbG1JQ2h6ZVc1aktTQjdYRzRnSUNBZ0x5OGdaR1ZtWlhJZ2RHaGxJR05oYkd4aVlXTnJJR2xtSUhkbElHRnlaU0JpWldsdVp5QmpZV3hzWldRZ2MzbHVZMmh5YjI1dmRYTnNlVnh1SUNBZ0lDOHZJSFJ2SUdGMmIybGtJSEJwYkdsdVp5QjFjQ0IwYUdsdVozTWdiMjRnZEdobElITjBZV05yWEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aGpZaXdnWlhJcE95QXZMeUIwYUdseklHTmhiaUJsYldsMElHWnBibWx6YUN3Z1lXNWtJR2wwSUhkcGJHd2dZV3gzWVhseklHaGhjSEJsYmx4dUlDQWdJQzh2SUdGbWRHVnlJR1Z5Y205eVhHNWNiaUFnSUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0dacGJtbHphRTFoZVdKbExDQnpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdJQ0J6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVdVpYSnliM0pGYldsMGRHVmtJRDBnZEhKMVpUdGNiaUFnSUNCbGNuSnZjazl5UkdWemRISnZlU2h6ZEhKbFlXMHNJR1Z5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QjBhR1VnWTJGc2JHVnlJR1Y0Y0dWamRDQjBhR2x6SUhSdklHaGhjSEJsYmlCaVpXWnZjbVVnYVdaY2JpQWdJQ0F2THlCcGRDQnBjeUJoYzNsdVkxeHVJQ0FnSUdOaUtHVnlLVHRjYmlBZ0lDQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnlLVHNnTHk4Z2RHaHBjeUJqWVc0Z1pXMXBkQ0JtYVc1cGMyZ3NJR0oxZENCbWFXNXBjMmdnYlhWemRGeHVJQ0FnSUM4dklHRnNkMkY1Y3lCbWIyeHNiM2NnWlhKeWIzSmNibHh1SUNBZ0lHWnBibWx6YUUxaGVXSmxLSE4wY21WaGJTd2djM1JoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzl1ZDNKcGRHVlRkR0YwWlZWd1pHRjBaU2h6ZEdGMFpTa2dlMXh1SUNCemRHRjBaUzUzY21sMGFXNW5JRDBnWm1Gc2MyVTdYRzRnSUhOMFlYUmxMbmR5YVhSbFkySWdQU0J1ZFd4c08xeHVJQ0J6ZEdGMFpTNXNaVzVuZEdnZ0xUMGdjM1JoZEdVdWQzSnBkR1ZzWlc0N1hHNGdJSE4wWVhSbExuZHlhWFJsYkdWdUlEMGdNRHRjYm4xY2JseHVablZ1WTNScGIyNGdiMjUzY21sMFpTaHpkSEpsWVcwc0lHVnlLU0I3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSE4wY21WaGJTNWZkM0pwZEdGaWJHVlRkR0YwWlR0Y2JpQWdkbUZ5SUhONWJtTWdQU0J6ZEdGMFpTNXplVzVqTzF4dUlDQjJZWElnWTJJZ1BTQnpkR0YwWlM1M2NtbDBaV05pTzF4dUlDQnBaaUFvZEhsd1pXOW1JR05pSUNFOVBTQW5ablZ1WTNScGIyNG5LU0IwYUhKdmR5QnVaWGNnUlZKU1gwMVZURlJKVUV4RlgwTkJURXhDUVVOTEtDazdYRzRnSUc5dWQzSnBkR1ZUZEdGMFpWVndaR0YwWlNoemRHRjBaU2s3WEc0Z0lHbG1JQ2hsY2lrZ2IyNTNjbWwwWlVWeWNtOXlLSE4wY21WaGJTd2djM1JoZEdVc0lITjVibU1zSUdWeUxDQmpZaWs3Wld4elpTQjdYRzRnSUNBZ0x5OGdRMmhsWTJzZ2FXWWdkMlVuY21VZ1lXTjBkV0ZzYkhrZ2NtVmhaSGtnZEc4Z1ptbHVhWE5vTENCaWRYUWdaRzl1SjNRZ1pXMXBkQ0I1WlhSY2JpQWdJQ0IyWVhJZ1ptbHVhWE5vWldRZ1BTQnVaV1ZrUm1sdWFYTm9LSE4wWVhSbEtTQjhmQ0J6ZEhKbFlXMHVaR1Z6ZEhKdmVXVmtPMXh1WEc0Z0lDQWdhV1lnS0NGbWFXNXBjMmhsWkNBbUppQWhjM1JoZEdVdVkyOXlhMlZrSUNZbUlDRnpkR0YwWlM1aWRXWm1aWEpRY205alpYTnphVzVuSUNZbUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkQ2tnZTF4dUlDQWdJQ0FnWTJ4bFlYSkNkV1ptWlhJb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hONWJtTXBJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ZV1owWlhKWGNtbDBaU3dnYzNSeVpXRnRMQ0J6ZEdGMFpTd2dabWx1YVhOb1pXUXNJR05pS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZV1owWlhKWGNtbDBaU2h6ZEhKbFlXMHNJSE4wWVhSbExDQm1hVzVwYzJobFpDd2dZMklwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCaFpuUmxjbGR5YVhSbEtITjBjbVZoYlN3Z2MzUmhkR1VzSUdacGJtbHphR1ZrTENCallpa2dlMXh1SUNCcFppQW9JV1pwYm1semFHVmtLU0J2Ym5keWFYUmxSSEpoYVc0b2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lITjBZWFJsTG5CbGJtUnBibWRqWWkwdE8xeHVJQ0JqWWlncE8xeHVJQ0JtYVc1cGMyaE5ZWGxpWlNoemRISmxZVzBzSUhOMFlYUmxLVHRjYm4wZ0x5OGdUWFZ6ZENCbWIzSmpaU0JqWVd4c1ltRmpheUIwYnlCaVpTQmpZV3hzWldRZ2IyNGdibVY0ZEZScFkyc3NJSE52SUhSb1lYUWdkMlVnWkc5dUozUmNiaTh2SUdWdGFYUWdKMlJ5WVdsdUp5QmlaV1p2Y21VZ2RHaGxJSGR5YVhSbEtDa2dZMjl1YzNWdFpYSWdaMlYwY3lCMGFHVWdKMlpoYkhObEp5QnlaWFIxY201Y2JpOHZJSFpoYkhWbExDQmhibVFnYUdGeklHRWdZMmhoYm1ObElIUnZJR0YwZEdGamFDQmhJQ2RrY21GcGJpY2diR2x6ZEdWdVpYSXVYRzVjYmx4dVpuVnVZM1JwYjI0Z2IyNTNjbWwwWlVSeVlXbHVLSE4wY21WaGJTd2djM1JoZEdVcElIdGNiaUFnYVdZZ0tITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01DQW1KaUJ6ZEdGMFpTNXVaV1ZrUkhKaGFXNHBJSHRjYmlBZ0lDQnpkR0YwWlM1dVpXVmtSSEpoYVc0Z1BTQm1ZV3h6WlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnblpISmhhVzRuS1R0Y2JpQWdmVnh1ZlNBdkx5QnBaaUIwYUdWeVpTZHpJSE52YldWMGFHbHVaeUJwYmlCMGFHVWdZblZtWm1WeUlIZGhhWFJwYm1jc0lIUm9aVzRnY0hKdlkyVnpjeUJwZEZ4dVhHNWNibVoxYm1OMGFXOXVJR05zWldGeVFuVm1abVZ5S0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ2MzUmhkR1V1WW5WbVptVnlVSEp2WTJWemMybHVaeUE5SUhSeWRXVTdYRzRnSUhaaGNpQmxiblJ5ZVNBOUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkRHRjYmx4dUlDQnBaaUFvYzNSeVpXRnRMbDkzY21sMFpYWWdKaVlnWlc1MGNua2dKaVlnWlc1MGNua3VibVY0ZENrZ2UxeHVJQ0FnSUM4dklFWmhjM1FnWTJGelpTd2dkM0pwZEdVZ1pYWmxjbmwwYUdsdVp5QjFjMmx1WnlCZmQzSnBkR1YyS0NsY2JpQWdJQ0IyWVhJZ2JDQTlJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZEVOdmRXNTBPMXh1SUNBZ0lIWmhjaUJpZFdabVpYSWdQU0J1WlhjZ1FYSnlZWGtvYkNrN1hHNGdJQ0FnZG1GeUlHaHZiR1JsY2lBOUlITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlR0Y2JpQWdJQ0JvYjJ4a1pYSXVaVzUwY25rZ1BTQmxiblJ5ZVR0Y2JpQWdJQ0IyWVhJZ1kyOTFiblFnUFNBd08xeHVJQ0FnSUhaaGNpQmhiR3hDZFdabVpYSnpJRDBnZEhKMVpUdGNibHh1SUNBZ0lIZG9hV3hsSUNobGJuUnllU2tnZTF4dUlDQWdJQ0FnWW5WbVptVnlXMk52ZFc1MFhTQTlJR1Z1ZEhKNU8xeHVJQ0FnSUNBZ2FXWWdLQ0ZsYm5SeWVTNXBjMEoxWmlrZ1lXeHNRblZtWm1WeWN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ1pXNTBjbmtnUFNCbGJuUnllUzV1WlhoME8xeHVJQ0FnSUNBZ1kyOTFiblFnS3owZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCaWRXWm1aWEl1WVd4c1FuVm1abVZ5Y3lBOUlHRnNiRUoxWm1abGNuTTdYRzRnSUNBZ1pHOVhjbWwwWlNoemRISmxZVzBzSUhOMFlYUmxMQ0IwY25WbExDQnpkR0YwWlM1c1pXNW5kR2dzSUdKMVptWmxjaXdnSnljc0lHaHZiR1JsY2k1bWFXNXBjMmdwT3lBdkx5QmtiMWR5YVhSbElHbHpJR0ZzYlc5emRDQmhiSGRoZVhNZ1lYTjVibU1zSUdSbFptVnlJSFJvWlhObElIUnZJSE5oZG1VZ1lTQmlhWFFnYjJZZ2RHbHRaVnh1SUNBZ0lDOHZJR0Z6SUhSb1pTQm9iM1FnY0dGMGFDQmxibVJ6SUhkcGRHZ2daRzlYY21sMFpWeHVYRzRnSUNBZ2MzUmhkR1V1Y0dWdVpHbHVaMk5pS3lzN1hHNGdJQ0FnYzNSaGRHVXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdYRzVjYmlBZ0lDQnBaaUFvYUc5c1pHVnlMbTVsZUhRcElIdGNiaUFnSUNBZ0lITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlNBOUlHaHZiR1JsY2k1dVpYaDBPMXh1SUNBZ0lDQWdhRzlzWkdWeUxtNWxlSFFnUFNCdWRXeHNPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCemRHRjBaUzVqYjNKclpXUlNaWEYxWlhOMGMwWnlaV1VnUFNCdVpYY2dRMjl5YTJWa1VtVnhkV1Z6ZENoemRHRjBaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjM1JoZEdVdVluVm1abVZ5WldSU1pYRjFaWE4wUTI5MWJuUWdQU0F3TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGTnNiM2NnWTJGelpTd2dkM0pwZEdVZ1kyaDFibXR6SUc5dVpTMWllUzF2Ym1WY2JpQWdJQ0IzYUdsc1pTQW9aVzUwY25rcElIdGNiaUFnSUNBZ0lIWmhjaUJqYUhWdWF5QTlJR1Z1ZEhKNUxtTm9kVzVyTzF4dUlDQWdJQ0FnZG1GeUlHVnVZMjlrYVc1bklEMGdaVzUwY25rdVpXNWpiMlJwYm1jN1hHNGdJQ0FnSUNCMllYSWdZMklnUFNCbGJuUnllUzVqWVd4c1ltRmphenRjYmlBZ0lDQWdJSFpoY2lCc1pXNGdQU0J6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJRDhnTVNBNklHTm9kVzVyTG14bGJtZDBhRHRjYmlBZ0lDQWdJR1J2VjNKcGRHVW9jM1J5WldGdExDQnpkR0YwWlN3Z1ptRnNjMlVzSUd4bGJpd2dZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmpZaWs3WEc0Z0lDQWdJQ0JsYm5SeWVTQTlJR1Z1ZEhKNUxtNWxlSFE3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNSRGIzVnVkQzB0T3lBdkx5QnBaaUIzWlNCa2FXUnVKM1FnWTJGc2JDQjBhR1VnYjI1M2NtbDBaU0JwYlcxbFpHbGhkR1ZzZVN3Z2RHaGxibHh1SUNBZ0lDQWdMeThnYVhRZ2JXVmhibk1nZEdoaGRDQjNaU0J1WldWa0lIUnZJSGRoYVhRZ2RXNTBhV3dnYVhRZ1pHOWxjeTVjYmlBZ0lDQWdJQzh2SUdGc2MyOHNJSFJvWVhRZ2JXVmhibk1nZEdoaGRDQjBhR1VnWTJoMWJtc2dZVzVrSUdOaUlHRnlaU0JqZFhKeVpXNTBiSGxjYmlBZ0lDQWdJQzh2SUdKbGFXNW5JSEJ5YjJObGMzTmxaQ3dnYzI4Z2JXOTJaU0IwYUdVZ1luVm1abVZ5SUdOdmRXNTBaWElnY0dGemRDQjBhR1Z0TGx4dVhHNGdJQ0FnSUNCcFppQW9jM1JoZEdVdWQzSnBkR2x1WnlrZ2UxeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1pXNTBjbmtnUFQwOUlHNTFiR3dwSUhOMFlYUmxMbXhoYzNSQ2RXWm1aWEpsWkZKbGNYVmxjM1FnUFNCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYzNSaGRHVXVZblZtWm1WeVpXUlNaWEYxWlhOMElEMGdaVzUwY25rN1hHNGdJSE4wWVhSbExtSjFabVpsY2xCeWIyTmxjM05wYm1jZ1BTQm1ZV3h6WlR0Y2JuMWNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTGw5M2NtbDBaU0E5SUdaMWJtTjBhVzl1SUNoamFIVnVheXdnWlc1amIyUnBibWNzSUdOaUtTQjdYRzRnSUdOaUtHNWxkeUJGVWxKZlRVVlVTRTlFWDA1UFZGOUpUVkJNUlUxRlRsUkZSQ2duWDNkeWFYUmxLQ2tuS1NrN1hHNTlPMXh1WEc1WGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dVdVgzZHlhWFJsZGlBOUlHNTFiR3c3WEc1Y2JsZHlhWFJoWW14bExuQnliM1J2ZEhsd1pTNWxibVFnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdZMmgxYm1zZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JqWWlBOUlHTm9kVzVyTzF4dUlDQWdJR05vZFc1cklEMGdiblZzYkR0Y2JpQWdJQ0JsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzRnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdWdVkyOWthVzVuSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdZMklnUFNCbGJtTnZaR2x1Wnp0Y2JpQWdJQ0JsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JwWmlBb1kyaDFibXNnSVQwOUlHNTFiR3dnSmlZZ1kyaDFibXNnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwY3k1M2NtbDBaU2hqYUhWdWF5d2daVzVqYjJScGJtY3BPeUF2THlBdVpXNWtLQ2tnWm5Wc2JIa2dkVzVqYjNKcmMxeHVYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRZ1BTQXhPMXh1SUNBZ0lIUm9hWE11ZFc1amIzSnJLQ2s3WEc0Z0lIMGdMeThnYVdkdWIzSmxJSFZ1Ym1WalpYTnpZWEo1SUdWdVpDZ3BJR05oYkd4ekxseHVYRzVjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNWxibVJwYm1jcElHVnVaRmR5YVhSaFlteGxLSFJvYVhNc0lITjBZWFJsTENCallpazdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRmR5YVhSaFlteGxMbkJ5YjNSdmRIbHdaU3dnSjNkeWFYUmhZbXhsVEdWdVozUm9KeXdnZTF4dUlDQXZMeUJ0WVd0cGJtY2dhWFFnWlhod2JHbGphWFFnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJ1YjNRZ1pXNTFiV1Z5WVdKc1pWeHVJQ0F2THlCaVpXTmhkWE5sSUc5MGFHVnlkMmx6WlNCemIyMWxJSEJ5YjNSdmRIbHdaU0J0WVc1cGNIVnNZWFJwYjI0Z2FXNWNiaUFnTHk4Z2RYTmxjbXhoYm1RZ2QybHNiQ0JtWVdsc1hHNGdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJR2RsZENncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1c1pXNW5kR2c3WEc0Z0lIMWNibjBwTzF4dVhHNW1kVzVqZEdsdmJpQnVaV1ZrUm1sdWFYTm9LSE4wWVhSbEtTQjdYRzRnSUhKbGRIVnliaUJ6ZEdGMFpTNWxibVJwYm1jZ0ppWWdjM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdJQ1ltSUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemRDQTlQVDBnYm5Wc2JDQW1KaUFoYzNSaGRHVXVabWx1YVhOb1pXUWdKaVlnSVhOMFlYUmxMbmR5YVhScGJtYzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTmhiR3hHYVc1aGJDaHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJSE4wY21WaGJTNWZabWx1WVd3b1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJSE4wWVhSbExuQmxibVJwYm1kallpMHRPMXh1WEc0Z0lDQWdhV1lnS0dWeWNpa2dlMXh1SUNBZ0lDQWdaWEp5YjNKUGNrUmxjM1J5YjNrb2MzUnlaV0Z0TENCbGNuSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjBZWFJsTG5CeVpXWnBibWx6YUdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnbmNISmxabWx1YVhOb0p5azdYRzRnSUNBZ1ptbHVhWE5vVFdGNVltVW9jM1J5WldGdExDQnpkR0YwWlNrN1hHNGdJSDBwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3Y21WbWFXNXBjMmdvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9JWE4wWVhSbExuQnlaV1pwYm1semFHVmtJQ1ltSUNGemRHRjBaUzVtYVc1aGJFTmhiR3hsWkNrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2MzUnlaV0Z0TGw5bWFXNWhiQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoYzNSaGRHVXVaR1Z6ZEhKdmVXVmtLU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNXdaVzVrYVc1blkySXJLenRjYmlBZ0lDQWdJSE4wWVhSbExtWnBibUZzUTJGc2JHVmtJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1kyRnNiRVpwYm1Gc0xDQnpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjM1JoZEdVdWNISmxabWx1YVhOb1pXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2MzUnlaV0Z0TG1WdGFYUW9KM0J5WldacGJtbHphQ2NwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWFXNXBjMmhOWVhsaVpTaHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJSFpoY2lCdVpXVmtJRDBnYm1WbFpFWnBibWx6YUNoemRHRjBaU2s3WEc1Y2JpQWdhV1lnS0c1bFpXUXBJSHRjYmlBZ0lDQndjbVZtYVc1cGMyZ29jM1J5WldGdExDQnpkR0YwWlNrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdWNHVnVaR2x1WjJOaUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCemRHRjBaUzVtYVc1cGMyaGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWm1sdWFYTm9KeWs3WEc1Y2JpQWdJQ0FnSUdsbUlDaHpkR0YwWlM1aGRYUnZSR1Z6ZEhKdmVTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCSmJpQmpZWE5sSUc5bUlHUjFjR3hsZUNCemRISmxZVzF6SUhkbElHNWxaV1FnWVNCM1lYa2dkRzhnWkdWMFpXTjBYRzRnSUNBZ0lDQWdJQzh2SUdsbUlIUm9aU0J5WldGa1lXSnNaU0J6YVdSbElHbHpJSEpsWVdSNUlHWnZjaUJoZFhSdlJHVnpkSEp2ZVNCaGN5QjNaV3hzWEc0Z0lDQWdJQ0FnSUhaaGNpQnlVM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0Z5VTNSaGRHVWdmSHdnY2xOMFlYUmxMbUYxZEc5RVpYTjBjbTk1SUNZbUlISlRkR0YwWlM1bGJtUkZiV2wwZEdWa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYzNSeVpXRnRMbVJsYzNSeWIza29LVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1WldWa08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGJtUlhjbWwwWVdKc1pTaHpkSEpsWVcwc0lITjBZWFJsTENCallpa2dlMXh1SUNCemRHRjBaUzVsYm1ScGJtY2dQU0IwY25WbE8xeHVJQ0JtYVc1cGMyaE5ZWGxpWlNoemRISmxZVzBzSUhOMFlYUmxLVHRjYmx4dUlDQnBaaUFvWTJJcElIdGNiaUFnSUNCcFppQW9jM1JoZEdVdVptbHVhWE5vWldRcElIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1kySXBPMlZzYzJVZ2MzUnlaV0Z0TG05dVkyVW9KMlpwYm1semFDY3NJR05pS1R0Y2JpQWdmVnh1WEc0Z0lITjBZWFJsTG1WdVpHVmtJRDBnZEhKMVpUdGNiaUFnYzNSeVpXRnRMbmR5YVhSaFlteGxJRDBnWm1Gc2MyVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOXVRMjl5YTJWa1JtbHVhWE5vS0dOdmNtdFNaWEVzSUhOMFlYUmxMQ0JsY25JcElIdGNiaUFnZG1GeUlHVnVkSEo1SUQwZ1kyOXlhMUpsY1M1bGJuUnllVHRjYmlBZ1kyOXlhMUpsY1M1bGJuUnllU0E5SUc1MWJHdzdYRzVjYmlBZ2QyaHBiR1VnS0dWdWRISjVLU0I3WEc0Z0lDQWdkbUZ5SUdOaUlEMGdaVzUwY25rdVkyRnNiR0poWTJzN1hHNGdJQ0FnYzNSaGRHVXVjR1Z1WkdsdVoyTmlMUzA3WEc0Z0lDQWdZMklvWlhKeUtUdGNiaUFnSUNCbGJuUnllU0E5SUdWdWRISjVMbTVsZUhRN1hHNGdJSDBnTHk4Z2NtVjFjMlVnZEdobElHWnlaV1VnWTI5eWExSmxjUzVjYmx4dVhHNGdJSE4wWVhSbExtTnZjbXRsWkZKbGNYVmxjM1J6Um5KbFpTNXVaWGgwSUQwZ1kyOXlhMUpsY1R0Y2JuMWNibHh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtGZHlhWFJoWW14bExuQnliM1J2ZEhsd1pTd2dKMlJsYzNSeWIzbGxaQ2NzSUh0Y2JpQWdMeThnYldGcmFXNW5JR2wwSUdWNGNHeHBZMmwwSUhSb2FYTWdjSEp2Y0dWeWRIa2dhWE1nYm05MElHVnVkVzFsY21GaWJHVmNiaUFnTHk4Z1ltVmpZWFZ6WlNCdmRHaGxjbmRwYzJVZ2MyOXRaU0J3Y205MGIzUjVjR1VnYldGdWFYQjFiR0YwYVc5dUlHbHVYRzRnSUM4dklIVnpaWEpzWVc1a0lIZHBiR3dnWm1GcGJGeHVJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUJuWlhRb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaRHRjYmlBZ2ZTeGNiaUFnYzJWME9pQm1kVzVqZEdsdmJpQnpaWFFvZG1Gc2RXVXBJSHRjYmlBZ0lDQXZMeUIzWlNCcFoyNXZjbVVnZEdobElIWmhiSFZsSUdsbUlIUm9aU0J6ZEhKbFlXMWNiaUFnSUNBdkx5Qm9ZWE1nYm05MElHSmxaVzRnYVc1cGRHbGhiR2w2WldRZ2VXVjBYRzRnSUNBZ2FXWWdLQ0YwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmU0F2THlCaVlXTnJkMkZ5WkNCamIyMXdZWFJwWW1sc2FYUjVMQ0IwYUdVZ2RYTmxjaUJwY3lCbGVIQnNhV05wZEd4NVhHNGdJQ0FnTHk4Z2JXRnVZV2RwYm1jZ1pHVnpkSEp2ZVdWa1hHNWNibHh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaR1Z6ZEhKdmVXVmtJRDBnZG1Gc2RXVTdYRzRnSUgxY2JuMHBPMXh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG1SbGMzUnliM2tnUFNCa1pYTjBjbTk1U1cxd2JDNWtaWE4wY205NU8xeHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbDkxYm1SbGMzUnliM2tnUFNCa1pYTjBjbTk1U1cxd2JDNTFibVJsYzNSeWIzazdYRzVjYmxkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlM1ZlpHVnpkSEp2ZVNBOUlHWjFibU4wYVc5dUlDaGxjbklzSUdOaUtTQjdYRzRnSUdOaUtHVnljaWs3WEc1OU95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7XFxuXFxudmFyIF9PYmplY3Qkc2V0UHJvdG90eXBlTztcXG5cXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxcblxcbnZhciBmaW5pc2hlZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZW5kLW9mLXN0cmVhbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qc1xcXCIpO1xcblxcbnZhciBrTGFzdFJlc29sdmUgPSBTeW1ib2woJ2xhc3RSZXNvbHZlJyk7XFxudmFyIGtMYXN0UmVqZWN0ID0gU3ltYm9sKCdsYXN0UmVqZWN0Jyk7XFxudmFyIGtFcnJvciA9IFN5bWJvbCgnZXJyb3InKTtcXG52YXIga0VuZGVkID0gU3ltYm9sKCdlbmRlZCcpO1xcbnZhciBrTGFzdFByb21pc2UgPSBTeW1ib2woJ2xhc3RQcm9taXNlJyk7XFxudmFyIGtIYW5kbGVQcm9taXNlID0gU3ltYm9sKCdoYW5kbGVQcm9taXNlJyk7XFxudmFyIGtTdHJlYW0gPSBTeW1ib2woJ3N0cmVhbScpO1xcblxcbmZ1bmN0aW9uIGNyZWF0ZUl0ZXJSZXN1bHQodmFsdWUsIGRvbmUpIHtcXG4gIHJldHVybiB7XFxuICAgIHZhbHVlOiB2YWx1ZSxcXG4gICAgZG9uZTogZG9uZVxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gcmVhZEFuZFJlc29sdmUoaXRlcikge1xcbiAgdmFyIHJlc29sdmUgPSBpdGVyW2tMYXN0UmVzb2x2ZV07XFxuXFxuICBpZiAocmVzb2x2ZSAhPT0gbnVsbCkge1xcbiAgICB2YXIgZGF0YSA9IGl0ZXJba1N0cmVhbV0ucmVhZCgpOyAvLyB3ZSBkZWZlciBpZiBkYXRhIGlzIG51bGxcXG4gICAgLy8gd2UgY2FuIGJlIGV4cGVjdGluZyBlaXRoZXIgJ2VuZCcgb3JcXG4gICAgLy8gJ2Vycm9yJ1xcblxcbiAgICBpZiAoZGF0YSAhPT0gbnVsbCkge1xcbiAgICAgIGl0ZXJba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgaXRlcltrTGFzdFJlc29sdmVdID0gbnVsbDtcXG4gICAgICBpdGVyW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25SZWFkYWJsZShpdGVyKSB7XFxuICAvLyB3ZSB3YWl0IGZvciB0aGUgbmV4dCB0aWNrLCBiZWNhdXNlIGl0IG1pZ2h0XFxuICAvLyBlbWl0IGFuIGVycm9yIHdpdGggcHJvY2Vzcy5uZXh0VGlja1xcbiAgcHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSwgaXRlcik7XFxufVxcblxcbmZ1bmN0aW9uIHdyYXBGb3JOZXh0KGxhc3RQcm9taXNlLCBpdGVyKSB7XFxuICByZXR1cm4gZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xcbiAgICBsYXN0UHJvbWlzZS50aGVuKGZ1bmN0aW9uICgpIHtcXG4gICAgICBpZiAoaXRlcltrRW5kZWRdKSB7XFxuICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIGl0ZXJba0hhbmRsZVByb21pc2VdKHJlc29sdmUsIHJlamVjdCk7XFxuICAgIH0sIHJlamVjdCk7XFxuICB9O1xcbn1cXG5cXG52YXIgQXN5bmNJdGVyYXRvclByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbiAoKSB7fSk7XFxudmFyIFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZSA9IE9iamVjdC5zZXRQcm90b3R5cGVPZigoX09iamVjdCRzZXRQcm90b3R5cGVPID0ge1xcbiAgZ2V0IHN0cmVhbSgpIHtcXG4gICAgcmV0dXJuIHRoaXNba1N0cmVhbV07XFxuICB9LFxcblxcbiAgbmV4dDogZnVuY3Rpb24gbmV4dCgpIHtcXG4gICAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gICAgLy8gaWYgd2UgaGF2ZSBkZXRlY3RlZCBhbiBlcnJvciBpbiB0aGUgbWVhbndoaWxlXFxuICAgIC8vIHJlamVjdCBzdHJhaWdodCBhd2F5XFxuICAgIHZhciBlcnJvciA9IHRoaXNba0Vycm9yXTtcXG5cXG4gICAgaWYgKGVycm9yICE9PSBudWxsKSB7XFxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpc1trRW5kZWRdKSB7XFxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzW2tTdHJlYW1dLmRlc3Ryb3llZCkge1xcbiAgICAgIC8vIFdlIG5lZWQgdG8gZGVmZXIgdmlhIG5leHRUaWNrIGJlY2F1c2UgaWYgLmRlc3Ryb3koZXJyKSBpc1xcbiAgICAgIC8vIGNhbGxlZCwgdGhlIGVycm9yIHdpbGwgYmUgZW1pdHRlZCB2aWEgbmV4dFRpY2ssIGFuZFxcbiAgICAgIC8vIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhhdCB0aGVyZSBpcyBubyBlcnJvciBsaW5nZXJpbmcgYXJvdW5kXFxuICAgICAgLy8gd2FpdGluZyB0byBiZSBlbWl0dGVkLlxcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgaWYgKF90aGlzW2tFcnJvcl0pIHtcXG4gICAgICAgICAgICByZWplY3QoX3RoaXNba0Vycm9yXSk7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9KTtcXG4gICAgICB9KTtcXG4gICAgfSAvLyBpZiB3ZSBoYXZlIG11bHRpcGxlIG5leHQoKSBjYWxsc1xcbiAgICAvLyB3ZSB3aWxsIHdhaXQgZm9yIHRoZSBwcmV2aW91cyBQcm9taXNlIHRvIGZpbmlzaFxcbiAgICAvLyB0aGlzIGxvZ2ljIGlzIG9wdGltaXplZCB0byBzdXBwb3J0IGZvciBhd2FpdCBsb29wcyxcXG4gICAgLy8gd2hlcmUgbmV4dCgpIGlzIG9ubHkgY2FsbGVkIG9uY2UgYXQgYSB0aW1lXFxuXFxuXFxuICAgIHZhciBsYXN0UHJvbWlzZSA9IHRoaXNba0xhc3RQcm9taXNlXTtcXG4gICAgdmFyIHByb21pc2U7XFxuXFxuICAgIGlmIChsYXN0UHJvbWlzZSkge1xcbiAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSh3cmFwRm9yTmV4dChsYXN0UHJvbWlzZSwgdGhpcykpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIGZhc3QgcGF0aCBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0aGlzLnB1c2goKVxcbiAgICAgIC8vIHdpdGhvdXQgdHJpZ2dlcmluZyB0aGUgbmV4dCgpIHF1ZXVlXFxuICAgICAgdmFyIGRhdGEgPSB0aGlzW2tTdHJlYW1dLnJlYWQoKTtcXG5cXG4gICAgICBpZiAoZGF0YSAhPT0gbnVsbCkge1xcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XFxuICAgICAgfVxcblxcbiAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSh0aGlzW2tIYW5kbGVQcm9taXNlXSk7XFxuICAgIH1cXG5cXG4gICAgdGhpc1trTGFzdFByb21pc2VdID0gcHJvbWlzZTtcXG4gICAgcmV0dXJuIHByb21pc2U7XFxuICB9XFxufSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3Qkc2V0UHJvdG90eXBlTywgU3ltYm9sLmFzeW5jSXRlcmF0b3IsIGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzO1xcbn0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLCBcXFwicmV0dXJuXFxcIiwgZnVuY3Rpb24gX3JldHVybigpIHtcXG4gIHZhciBfdGhpczIgPSB0aGlzO1xcblxcbiAgLy8gZGVzdHJveShlcnIsIGNiKSBpcyBhIHByaXZhdGUgQVBJXFxuICAvLyB3ZSBjYW4gZ3VhcmFudGVlIHdlIGhhdmUgdGhhdCBoZXJlLCBiZWNhdXNlIHdlIGNvbnRyb2wgdGhlXFxuICAvLyBSZWFkYWJsZSBjbGFzcyB0aGlzIGlzIGF0dGFjaGVkIHRvXFxuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xcbiAgICBfdGhpczJba1N0cmVhbV0uZGVzdHJveShudWxsLCBmdW5jdGlvbiAoZXJyKSB7XFxuICAgICAgaWYgKGVycikge1xcbiAgICAgICAgcmVqZWN0KGVycik7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcXG4gICAgfSk7XFxuICB9KTtcXG59KSwgX09iamVjdCRzZXRQcm90b3R5cGVPKSwgQXN5bmNJdGVyYXRvclByb3RvdHlwZSk7XFxuXFxudmFyIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9IGZ1bmN0aW9uIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcihzdHJlYW0pIHtcXG4gIHZhciBfT2JqZWN0JGNyZWF0ZTtcXG5cXG4gIHZhciBpdGVyYXRvciA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlLCAoX09iamVjdCRjcmVhdGUgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrU3RyZWFtLCB7XFxuICAgIHZhbHVlOiBzdHJlYW0sXFxuICAgIHdyaXRhYmxlOiB0cnVlXFxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrTGFzdFJlc29sdmUsIHtcXG4gICAgdmFsdWU6IG51bGwsXFxuICAgIHdyaXRhYmxlOiB0cnVlXFxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrTGFzdFJlamVjdCwge1xcbiAgICB2YWx1ZTogbnVsbCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtFcnJvciwge1xcbiAgICB2YWx1ZTogbnVsbCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtFbmRlZCwge1xcbiAgICB2YWx1ZTogc3RyZWFtLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsXFxuICAgIHdyaXRhYmxlOiB0cnVlXFxuICB9KSwgX2RlZmluZVByb3BlcnR5KF9PYmplY3QkY3JlYXRlLCBrSGFuZGxlUHJvbWlzZSwge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgICAgdmFyIGRhdGEgPSBpdGVyYXRvcltrU3RyZWFtXS5yZWFkKCk7XFxuXFxuICAgICAgaWYgKGRhdGEpIHtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IG51bGw7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSBudWxsO1xcbiAgICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KGRhdGEsIGZhbHNlKSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSByZXNvbHZlO1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gcmVqZWN0O1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfT2JqZWN0JGNyZWF0ZSkpO1xcbiAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICBmaW5pc2hlZChzdHJlYW0sIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKGVyciAmJiBlcnIuY29kZSAhPT0gJ0VSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFJykge1xcbiAgICAgIHZhciByZWplY3QgPSBpdGVyYXRvcltrTGFzdFJlamVjdF07IC8vIHJlamVjdCBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgZGF0YSBpbiB0aGUgUHJvbWlzZVxcbiAgICAgIC8vIHJldHVybmVkIGJ5IG5leHQoKSBhbmQgc3RvcmUgdGhlIGVycm9yXFxuXFxuICAgICAgaWYgKHJlamVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlc29sdmVdID0gbnVsbDtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgICByZWplY3QoZXJyKTtcXG4gICAgICB9XFxuXFxuICAgICAgaXRlcmF0b3Jba0Vycm9yXSA9IGVycjtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlc29sdmUgPSBpdGVyYXRvcltrTGFzdFJlc29sdmVdO1xcblxcbiAgICBpZiAocmVzb2x2ZSAhPT0gbnVsbCkge1xcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICB9XFxuXFxuICAgIGl0ZXJhdG9yW2tFbmRlZF0gPSB0cnVlO1xcbiAgfSk7XFxuICBzdHJlYW0ub24oJ3JlYWRhYmxlJywgb25SZWFkYWJsZS5iaW5kKG51bGwsIGl0ZXJhdG9yKSk7XFxuICByZXR1cm4gaXRlcmF0b3I7XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTloYzNsdVkxOXBkR1Z5WVhSdmNpNXFjejh3WmpJM0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMQ3REUVVGaE96dEJRVVZpT3p0QlFVVkJMREpEUVVFeVF5eHJRa0ZCYTBJc2EwTkJRV3RETEhGRlFVRnhSU3hGUVVGRkxFVkJRVVVzVDBGQlR5eHJRa0ZCYTBJc1JVRkJSU3haUVVGWk96dEJRVVV2VFN4bFFVRmxMRzFDUVVGUExFTkJRVU1zTUVoQlFXbENPenRCUVVWNFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlEUVVGdlF6dEJRVU53UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJMR2xGUVVGcFJUdEJRVU5xUlR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVFzVDBGQlR6dEJRVU5RTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRXNRMEZCUXp0QlFVTkVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SFFVRkhPMEZCUTBnc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJMSGxHUVVGNVJqdEJRVU42Ump0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeDVRMEZCZVVNN1FVRkRla003TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUVJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RjMmxuYmk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMkZ6ZVc1algybDBaWEpoZEc5eUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdYMDlpYW1WamRDUnpaWFJRY205MGIzUjVjR1ZQTzF4dVhHNW1kVzVqZEdsdmJpQmZaR1ZtYVc1bFVISnZjR1Z5ZEhrb2IySnFMQ0JyWlhrc0lIWmhiSFZsS1NCN0lHbG1JQ2hyWlhrZ2FXNGdiMkpxS1NCN0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZXlCMllXeDFaVG9nZG1Gc2RXVXNJR1Z1ZFcxbGNtRmliR1U2SUhSeWRXVXNJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaU3dnZDNKcGRHRmliR1U2SUhSeWRXVWdmU2s3SUgwZ1pXeHpaU0I3SUc5aWFsdHJaWGxkSUQwZ2RtRnNkV1U3SUgwZ2NtVjBkWEp1SUc5aWFqc2dmVnh1WEc1MllYSWdabWx1YVhOb1pXUWdQU0J5WlhGMWFYSmxLQ2N1TDJWdVpDMXZaaTF6ZEhKbFlXMG5LVHRjYmx4dWRtRnlJR3RNWVhOMFVtVnpiMngyWlNBOUlGTjViV0p2YkNnbmJHRnpkRkpsYzI5c2RtVW5LVHRjYm5aaGNpQnJUR0Z6ZEZKbGFtVmpkQ0E5SUZONWJXSnZiQ2duYkdGemRGSmxhbVZqZENjcE8xeHVkbUZ5SUd0RmNuSnZjaUE5SUZONWJXSnZiQ2duWlhKeWIzSW5LVHRjYm5aaGNpQnJSVzVrWldRZ1BTQlRlVzFpYjJ3b0oyVnVaR1ZrSnlrN1hHNTJZWElnYTB4aGMzUlFjbTl0YVhObElEMGdVM2x0WW05c0tDZHNZWE4wVUhKdmJXbHpaU2NwTzF4dWRtRnlJR3RJWVc1a2JHVlFjbTl0YVhObElEMGdVM2x0WW05c0tDZG9ZVzVrYkdWUWNtOXRhWE5sSnlrN1hHNTJZWElnYTFOMGNtVmhiU0E5SUZONWJXSnZiQ2duYzNSeVpXRnRKeWs3WEc1Y2JtWjFibU4wYVc5dUlHTnlaV0YwWlVsMFpYSlNaWE4xYkhRb2RtRnNkV1VzSUdSdmJtVXBJSHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0IyWVd4MVpUb2dkbUZzZFdVc1hHNGdJQ0FnWkc5dVpUb2daRzl1WlZ4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaV0ZrUVc1a1VtVnpiMngyWlNocGRHVnlLU0I3WEc0Z0lIWmhjaUJ5WlhOdmJIWmxJRDBnYVhSbGNsdHJUR0Z6ZEZKbGMyOXNkbVZkTzF4dVhHNGdJR2xtSUNoeVpYTnZiSFpsSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHUmhkR0VnUFNCcGRHVnlXMnRUZEhKbFlXMWRMbkpsWVdRb0tUc2dMeThnZDJVZ1pHVm1aWElnYVdZZ1pHRjBZU0JwY3lCdWRXeHNYRzRnSUNBZ0x5OGdkMlVnWTJGdUlHSmxJR1Y0Y0dWamRHbHVaeUJsYVhSb1pYSWdKMlZ1WkNjZ2IzSmNiaUFnSUNBdkx5QW5aWEp5YjNJblhHNWNiaUFnSUNCcFppQW9aR0YwWVNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FYUmxjbHRyVEdGemRGQnliMjFwYzJWZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUdsMFpYSmJhMHhoYzNSU1pYTnZiSFpsWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JwZEdWeVcydE1ZWE4wVW1WcVpXTjBYU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQnlaWE52YkhabEtHTnlaV0YwWlVsMFpYSlNaWE4xYkhRb1pHRjBZU3dnWm1Gc2MyVXBLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYjI1U1pXRmtZV0pzWlNocGRHVnlLU0I3WEc0Z0lDOHZJSGRsSUhkaGFYUWdabTl5SUhSb1pTQnVaWGgwSUhScFkyc3NJR0psWTJGMWMyVWdhWFFnYldsbmFIUmNiaUFnTHk4Z1pXMXBkQ0JoYmlCbGNuSnZjaUIzYVhSb0lIQnliMk5sYzNNdWJtVjRkRlJwWTJ0Y2JpQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aHlaV0ZrUVc1a1VtVnpiMngyWlN3Z2FYUmxjaWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJSGR5WVhCR2IzSk9aWGgwS0d4aGMzUlFjbTl0YVhObExDQnBkR1Z5S1NCN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ2JHRnpkRkJ5YjIxcGMyVXVkR2hsYmlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQnBaaUFvYVhSbGNsdHJSVzVrWldSZEtTQjdYRzRnSUNBZ0lDQWdJSEpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaDFibVJsWm1sdVpXUXNJSFJ5ZFdVcEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBkR1Z5VzJ0SVlXNWtiR1ZRY205dGFYTmxYU2h5WlhOdmJIWmxMQ0J5WldwbFkzUXBPMXh1SUNBZ0lIMHNJSEpsYW1WamRDazdYRzRnSUgwN1hHNTlYRzVjYm5aaGNpQkJjM2x1WTBsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUQwZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LR1oxYm1OMGFXOXVJQ2dwSUh0OUtUdGNiblpoY2lCU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVZ1BTQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllvS0Y5UFltcGxZM1FrYzJWMFVISnZkRzkwZVhCbFR5QTlJSHRjYmlBZ1oyVjBJSE4wY21WaGJTZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjMXRyVTNSeVpXRnRYVHRjYmlBZ2ZTeGNibHh1SUNCdVpYaDBPaUJtZFc1amRHbHZiaUJ1WlhoMEtDa2dlMXh1SUNBZ0lIWmhjaUJmZEdocGN5QTlJSFJvYVhNN1hHNWNiaUFnSUNBdkx5QnBaaUIzWlNCb1lYWmxJR1JsZEdWamRHVmtJR0Z1SUdWeWNtOXlJR2x1SUhSb1pTQnRaV0Z1ZDJocGJHVmNiaUFnSUNBdkx5QnlaV3BsWTNRZ2MzUnlZV2xuYUhRZ1lYZGhlVnh1SUNBZ0lIWmhjaUJsY25KdmNpQTlJSFJvYVhOYmEwVnljbTl5WFR0Y2JseHVJQ0FnSUdsbUlDaGxjbkp2Y2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUZCeWIyMXBjMlV1Y21WcVpXTjBLR1Z5Y205eUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwYzF0clJXNWtaV1JkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzV5WlhOdmJIWmxLR055WldGMFpVbDBaWEpTWlhOMWJIUW9kVzVrWldacGJtVmtMQ0IwY25WbEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhOYmExTjBjbVZoYlYwdVpHVnpkSEp2ZVdWa0tTQjdYRzRnSUNBZ0lDQXZMeUJYWlNCdVpXVmtJSFJ2SUdSbFptVnlJSFpwWVNCdVpYaDBWR2xqYXlCaVpXTmhkWE5sSUdsbUlDNWtaWE4wY205NUtHVnljaWtnYVhOY2JpQWdJQ0FnSUM4dklHTmhiR3hsWkN3Z2RHaGxJR1Z5Y205eUlIZHBiR3dnWW1VZ1pXMXBkSFJsWkNCMmFXRWdibVY0ZEZScFkyc3NJR0Z1WkZ4dUlDQWdJQ0FnTHk4Z2QyVWdZMkZ1Ym05MElHZDFZWEpoYm5SbFpTQjBhR0YwSUhSb1pYSmxJR2x6SUc1dklHVnljbTl5SUd4cGJtZGxjbWx1WnlCaGNtOTFibVJjYmlBZ0lDQWdJQzh2SUhkaGFYUnBibWNnZEc4Z1ltVWdaVzFwZEhSbFpDNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dVSEp2YldselpTaG1kVzVqZEdsdmJpQW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hmZEdocGMxdHJSWEp5YjNKZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpXcGxZM1FvWDNSb2FYTmJhMFZ5Y205eVhTazdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoMWJtUmxabWx1WldRc0lIUnlkV1VwS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlNBdkx5QnBaaUIzWlNCb1lYWmxJRzExYkhScGNHeGxJRzVsZUhRb0tTQmpZV3hzYzF4dUlDQWdJQzh2SUhkbElIZHBiR3dnZDJGcGRDQm1iM0lnZEdobElIQnlaWFpwYjNWeklGQnliMjFwYzJVZ2RHOGdabWx1YVhOb1hHNGdJQ0FnTHk4Z2RHaHBjeUJzYjJkcFl5QnBjeUJ2Y0hScGJXbDZaV1FnZEc4Z2MzVndjRzl5ZENCbWIzSWdZWGRoYVhRZ2JHOXZjSE1zWEc0Z0lDQWdMeThnZDJobGNtVWdibVY0ZENncElHbHpJRzl1YkhrZ1kyRnNiR1ZrSUc5dVkyVWdZWFFnWVNCMGFXMWxYRzVjYmx4dUlDQWdJSFpoY2lCc1lYTjBVSEp2YldselpTQTlJSFJvYVhOYmEweGhjM1JRY205dGFYTmxYVHRjYmlBZ0lDQjJZWElnY0hKdmJXbHpaVHRjYmx4dUlDQWdJR2xtSUNoc1lYTjBVSEp2YldselpTa2dlMXh1SUNBZ0lDQWdjSEp2YldselpTQTlJRzVsZHlCUWNtOXRhWE5sS0hkeVlYQkdiM0pPWlhoMEtHeGhjM1JRY205dGFYTmxMQ0IwYUdsektTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklHWmhjM1FnY0dGMGFDQnVaV1ZrWldRZ2RHOGdjM1Z3Y0c5eWRDQnRkV3gwYVhCc1pTQjBhR2x6TG5CMWMyZ29LVnh1SUNBZ0lDQWdMeThnZDJsMGFHOTFkQ0IwY21sbloyVnlhVzVuSUhSb1pTQnVaWGgwS0NrZ2NYVmxkV1ZjYmlBZ0lDQWdJSFpoY2lCa1lYUmhJRDBnZEdocGMxdHJVM1J5WldGdFhTNXlaV0ZrS0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hrWVhSaElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQlFjbTl0YVhObExuSmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoa1lYUmhMQ0JtWVd4elpTa3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J3Y205dGFYTmxJRDBnYm1WM0lGQnliMjFwYzJVb2RHaHBjMXRyU0dGdVpHeGxVSEp2YldselpWMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE5iYTB4aGMzUlFjbTl0YVhObFhTQTlJSEJ5YjIxcGMyVTdYRzRnSUNBZ2NtVjBkWEp1SUhCeWIyMXBjMlU3WEc0Z0lIMWNibjBzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKSE5sZEZCeWIzUnZkSGx3WlU4c0lGTjViV0p2YkM1aGMzbHVZMGwwWlhKaGRHOXlMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TzF4dWZTa3NJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpITmxkRkJ5YjNSdmRIbHdaVThzSUZ3aWNtVjBkWEp1WENJc0lHWjFibU4wYVc5dUlGOXlaWFIxY200b0tTQjdYRzRnSUhaaGNpQmZkR2hwY3pJZ1BTQjBhR2x6TzF4dVhHNGdJQzh2SUdSbGMzUnliM2tvWlhKeUxDQmpZaWtnYVhNZ1lTQndjbWwyWVhSbElFRlFTVnh1SUNBdkx5QjNaU0JqWVc0Z1ozVmhjbUZ1ZEdWbElIZGxJR2hoZG1VZ2RHaGhkQ0JvWlhKbExDQmlaV05oZFhObElIZGxJR052Ym5SeWIyd2dkR2hsWEc0Z0lDOHZJRkpsWVdSaFlteGxJR05zWVhOeklIUm9hWE1nYVhNZ1lYUjBZV05vWldRZ2RHOWNiaUFnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1SUNoeVpYTnZiSFpsTENCeVpXcGxZM1FwSUh0Y2JpQWdJQ0JmZEdocGN6SmJhMU4wY21WaGJWMHVaR1Z6ZEhKdmVTaHVkV3hzTENCbWRXNWpkR2x2YmlBb1pYSnlLU0I3WEc0Z0lDQWdJQ0JwWmlBb1pYSnlLU0I3WEc0Z0lDQWdJQ0FnSUhKbGFtVmpkQ2hsY25JcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoMWJtUmxabWx1WldRc0lIUnlkV1VwS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdmU2s3WEc1OUtTd2dYMDlpYW1WamRDUnpaWFJRY205MGIzUjVjR1ZQS1N3Z1FYTjVibU5KZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU2s3WEc1Y2JuWmhjaUJqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSWdQU0JtZFc1amRHbHZiaUJqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSW9jM1J5WldGdEtTQjdYRzRnSUhaaGNpQmZUMkpxWldOMEpHTnlaV0YwWlR0Y2JseHVJQ0IyWVhJZ2FYUmxjbUYwYjNJZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0ZKbFlXUmhZbXhsVTNSeVpXRnRRWE41Ym1OSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlN3Z0tGOVBZbXBsWTNRa1kzSmxZWFJsSUQwZ2UzMHNJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpHTnlaV0YwWlN3Z2ExTjBjbVZoYlN3Z2UxeHVJQ0FnSUhaaGJIVmxPaUJ6ZEhKbFlXMHNYRzRnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1ZjYmlBZ2ZTa3NJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpHTnlaV0YwWlN3Z2EweGhjM1JTWlhOdmJIWmxMQ0I3WEc0Z0lDQWdkbUZzZFdVNklHNTFiR3dzWEc0Z0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMHhoYzNSU1pXcGxZM1FzSUh0Y2JpQWdJQ0IyWVd4MVpUb2diblZzYkN4Y2JpQWdJQ0IzY21sMFlXSnNaVG9nZEhKMVpWeHVJQ0I5S1N3Z1gyUmxabWx1WlZCeWIzQmxjblI1S0Y5UFltcGxZM1FrWTNKbFlYUmxMQ0JyUlhKeWIzSXNJSHRjYmlBZ0lDQjJZV3gxWlRvZ2JuVnNiQ3hjYmlBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlZ4dUlDQjlLU3dnWDJSbFptbHVaVkJ5YjNCbGNuUjVLRjlQWW1wbFkzUWtZM0psWVhSbExDQnJSVzVrWldRc0lIdGNiaUFnSUNCMllXeDFaVG9nYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbExtVnVaRVZ0YVhSMFpXUXNYRzRnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1ZjYmlBZ2ZTa3NJRjlrWldacGJtVlFjbTl3WlhKMGVTaGZUMkpxWldOMEpHTnlaV0YwWlN3Z2EwaGhibVJzWlZCeWIyMXBjMlVzSUh0Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdkbUZzZFdVb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NCN1hHNGdJQ0FnSUNCMllYSWdaR0YwWVNBOUlHbDBaWEpoZEc5eVcydFRkSEpsWVcxZExuSmxZV1FvS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLR1JoZEdFcElIdGNiaUFnSUNBZ0lDQWdhWFJsY21GMGIzSmJhMHhoYzNSUWNtOXRhWE5sWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUdsMFpYSmhkRzl5VzJ0TVlYTjBVbVZ6YjJ4MlpWMGdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZKbGFtVmpkRjBnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0J5WlhOdmJIWmxLR055WldGMFpVbDBaWEpTWlhOMWJIUW9aR0YwWVN3Z1ptRnNjMlVwS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdsMFpYSmhkRzl5VzJ0TVlYTjBVbVZ6YjJ4MlpWMGdQU0J5WlhOdmJIWmxPMXh1SUNBZ0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGSmxhbVZqZEYwZ1BTQnlaV3BsWTNRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlN4Y2JpQWdJQ0IzY21sMFlXSnNaVG9nZEhKMVpWeHVJQ0I5S1N3Z1gwOWlhbVZqZENSamNtVmhkR1VwS1R0Y2JpQWdhWFJsY21GMGIzSmJhMHhoYzNSUWNtOXRhWE5sWFNBOUlHNTFiR3c3WEc0Z0lHWnBibWx6YUdWa0tITjBjbVZoYlN3Z1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJR2xtSUNobGNuSWdKaVlnWlhKeUxtTnZaR1VnSVQwOUlDZEZVbEpmVTFSU1JVRk5YMUJTUlUxQlZGVlNSVjlEVEU5VFJTY3BJSHRjYmlBZ0lDQWdJSFpoY2lCeVpXcGxZM1FnUFNCcGRHVnlZWFJ2Y2x0clRHRnpkRkpsYW1WamRGMDdJQzh2SUhKbGFtVmpkQ0JwWmlCM1pTQmhjbVVnZDJGcGRHbHVaeUJtYjNJZ1pHRjBZU0JwYmlCMGFHVWdVSEp2YldselpWeHVJQ0FnSUNBZ0x5OGdjbVYwZFhKdVpXUWdZbmtnYm1WNGRDZ3BJR0Z1WkNCemRHOXlaU0IwYUdVZ1pYSnliM0pjYmx4dUlDQWdJQ0FnYVdZZ0tISmxhbVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZCeWIyMXBjMlZkSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnYVhSbGNtRjBiM0piYTB4aGMzUlNaWE52YkhabFhTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEc5eVcydE1ZWE4wVW1WcVpXTjBYU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSEpsYW1WamRDaGxjbklwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcGRHVnlZWFJ2Y2x0clJYSnliM0pkSUQwZ1pYSnlPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE52YkhabElEMGdhWFJsY21GMGIzSmJhMHhoYzNSU1pYTnZiSFpsWFR0Y2JseHVJQ0FnSUdsbUlDaHlaWE52YkhabElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZCeWIyMXBjMlZkSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJR2wwWlhKaGRHOXlXMnRNWVhOMFVtVnpiMngyWlYwZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnYVhSbGNtRjBiM0piYTB4aGMzUlNaV3BsWTNSZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUhKbGMyOXNkbVVvWTNKbFlYUmxTWFJsY2xKbGMzVnNkQ2gxYm1SbFptbHVaV1FzSUhSeWRXVXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBkR1Z5WVhSdmNsdHJSVzVrWldSZElEMGdkSEoxWlR0Y2JpQWdmU2s3WEc0Z0lITjBjbVZoYlM1dmJpZ25jbVZoWkdGaWJHVW5MQ0J2YmxKbFlXUmhZbXhsTG1KcGJtUW9iblZzYkN3Z2FYUmxjbUYwYjNJcEtUdGNiaUFnY21WMGRYSnVJR2wwWlhKaGRHOXlPMXh1ZlR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJN0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmZ1bmN0aW9uIG93bktleXMob2JqZWN0LCBlbnVtZXJhYmxlT25seSkgeyB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iamVjdCk7IGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7IHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpOyBpZiAoZW51bWVyYWJsZU9ubHkpIHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KTsga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpOyB9IHJldHVybiBrZXlzOyB9XFxuXFxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307IGlmIChpICUgMikgeyBvd25LZXlzKE9iamVjdChzb3VyY2UpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7IH0pOyB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7IH0gZWxzZSB7IG93bktleXMoT2JqZWN0KHNvdXJjZSkpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBrZXkpKTsgfSk7IH0gfSByZXR1cm4gdGFyZ2V0OyB9XFxuXFxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cXG5cXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblxcXCIpOyB9IH1cXG5cXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcXFwidmFsdWVcXFwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfVxcblxcbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XFxuXFxudmFyIF9yZXF1aXJlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKSxcXG4gICAgQnVmZmVyID0gX3JlcXVpcmUuQnVmZmVyO1xcblxcbnZhciBfcmVxdWlyZTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB1dGlsICovIDgpLFxcbiAgICBpbnNwZWN0ID0gX3JlcXVpcmUyLmluc3BlY3Q7XFxuXFxudmFyIGN1c3RvbSA9IGluc3BlY3QgJiYgaW5zcGVjdC5jdXN0b20gfHwgJ2luc3BlY3QnO1xcblxcbmZ1bmN0aW9uIGNvcHlCdWZmZXIoc3JjLCB0YXJnZXQsIG9mZnNldCkge1xcbiAgQnVmZmVyLnByb3RvdHlwZS5jb3B5LmNhbGwoc3JjLCB0YXJnZXQsIG9mZnNldCk7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID1cXG4vKiNfX1BVUkVfXyovXFxuZnVuY3Rpb24gKCkge1xcbiAgZnVuY3Rpb24gQnVmZmVyTGlzdCgpIHtcXG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJ1ZmZlckxpc3QpO1xcblxcbiAgICB0aGlzLmhlYWQgPSBudWxsO1xcbiAgICB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuICB9XFxuXFxuICBfY3JlYXRlQ2xhc3MoQnVmZmVyTGlzdCwgW3tcXG4gICAga2V5OiBcXFwicHVzaFxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBwdXNoKHYpIHtcXG4gICAgICB2YXIgZW50cnkgPSB7XFxuICAgICAgICBkYXRhOiB2LFxcbiAgICAgICAgbmV4dDogbnVsbFxcbiAgICAgIH07XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkgdGhpcy50YWlsLm5leHQgPSBlbnRyeTtlbHNlIHRoaXMuaGVhZCA9IGVudHJ5O1xcbiAgICAgIHRoaXMudGFpbCA9IGVudHJ5O1xcbiAgICAgICsrdGhpcy5sZW5ndGg7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwidW5zaGlmdFxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bnNoaWZ0KHYpIHtcXG4gICAgICB2YXIgZW50cnkgPSB7XFxuICAgICAgICBkYXRhOiB2LFxcbiAgICAgICAgbmV4dDogdGhpcy5oZWFkXFxuICAgICAgfTtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHRoaXMudGFpbCA9IGVudHJ5O1xcbiAgICAgIHRoaXMuaGVhZCA9IGVudHJ5O1xcbiAgICAgICsrdGhpcy5sZW5ndGg7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwic2hpZnRcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gc2hpZnQoKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm47XFxuICAgICAgdmFyIHJldCA9IHRoaXMuaGVhZC5kYXRhO1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSkgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMuaGVhZC5uZXh0O1xcbiAgICAgIC0tdGhpcy5sZW5ndGg7XFxuICAgICAgcmV0dXJuIHJldDtcXG4gICAgfVxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJjbGVhclxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjbGVhcigpIHtcXG4gICAgICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMDtcXG4gICAgfVxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJqb2luXFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGpvaW4ocykge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xcbiAgICAgIHZhciByZXQgPSAnJyArIHAuZGF0YTtcXG5cXG4gICAgICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICAgICAgcmV0ICs9IHMgKyBwLmRhdGE7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiY29uY2F0XFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbmNhdChuKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gQnVmZmVyLmFsbG9jKDApO1xcbiAgICAgIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobiA+Pj4gMCk7XFxuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgICAgdmFyIGkgPSAwO1xcblxcbiAgICAgIHdoaWxlIChwKSB7XFxuICAgICAgICBjb3B5QnVmZmVyKHAuZGF0YSwgcmV0LCBpKTtcXG4gICAgICAgIGkgKz0gcC5kYXRhLmxlbmd0aDtcXG4gICAgICAgIHAgPSBwLm5leHQ7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH0gLy8gQ29uc3VtZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIG9yIGNoYXJhY3RlcnMgZnJvbSB0aGUgYnVmZmVyZWQgZGF0YS5cXG5cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiY29uc3VtZVxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb25zdW1lKG4sIGhhc1N0cmluZ3MpIHtcXG4gICAgICB2YXIgcmV0O1xcblxcbiAgICAgIGlmIChuIDwgdGhpcy5oZWFkLmRhdGEubGVuZ3RoKSB7XFxuICAgICAgICAvLyBgc2xpY2VgIGlzIHRoZSBzYW1lIGZvciBidWZmZXJzIGFuZCBzdHJpbmdzLlxcbiAgICAgICAgcmV0ID0gdGhpcy5oZWFkLmRhdGEuc2xpY2UoMCwgbik7XFxuICAgICAgICB0aGlzLmhlYWQuZGF0YSA9IHRoaXMuaGVhZC5kYXRhLnNsaWNlKG4pO1xcbiAgICAgIH0gZWxzZSBpZiAobiA9PT0gdGhpcy5oZWFkLmRhdGEubGVuZ3RoKSB7XFxuICAgICAgICAvLyBGaXJzdCBjaHVuayBpcyBhIHBlcmZlY3QgbWF0Y2guXFxuICAgICAgICByZXQgPSB0aGlzLnNoaWZ0KCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIFJlc3VsdCBzcGFucyBtb3JlIHRoYW4gb25lIGJ1ZmZlci5cXG4gICAgICAgIHJldCA9IGhhc1N0cmluZ3MgPyB0aGlzLl9nZXRTdHJpbmcobikgOiB0aGlzLl9nZXRCdWZmZXIobik7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiZmlyc3RcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZmlyc3QoKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaGVhZC5kYXRhO1xcbiAgICB9IC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBjaGFyYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXFxuXFxuICB9LCB7XFxuICAgIGtleTogXFxcIl9nZXRTdHJpbmdcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldFN0cmluZyhuKSB7XFxuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgICAgdmFyIGMgPSAxO1xcbiAgICAgIHZhciByZXQgPSBwLmRhdGE7XFxuICAgICAgbiAtPSByZXQubGVuZ3RoO1xcblxcbiAgICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XFxuICAgICAgICB2YXIgc3RyID0gcC5kYXRhO1xcbiAgICAgICAgdmFyIG5iID0gbiA+IHN0ci5sZW5ndGggPyBzdHIubGVuZ3RoIDogbjtcXG4gICAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkgcmV0ICs9IHN0cjtlbHNlIHJldCArPSBzdHIuc2xpY2UoMCwgbik7XFxuICAgICAgICBuIC09IG5iO1xcblxcbiAgICAgICAgaWYgKG4gPT09IDApIHtcXG4gICAgICAgICAgaWYgKG5iID09PSBzdHIubGVuZ3RoKSB7XFxuICAgICAgICAgICAgKytjO1xcbiAgICAgICAgICAgIGlmIChwLm5leHQpIHRoaXMuaGVhZCA9IHAubmV4dDtlbHNlIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdGhpcy5oZWFkID0gcDtcXG4gICAgICAgICAgICBwLmRhdGEgPSBzdHIuc2xpY2UobmIpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgKytjO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmxlbmd0aCAtPSBjO1xcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH0gLy8gQ29uc3VtZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXFxuXFxuICB9LCB7XFxuICAgIGtleTogXFxcIl9nZXRCdWZmZXJcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gX2dldEJ1ZmZlcihuKSB7XFxuICAgICAgdmFyIHJldCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuKTtcXG4gICAgICB2YXIgcCA9IHRoaXMuaGVhZDtcXG4gICAgICB2YXIgYyA9IDE7XFxuICAgICAgcC5kYXRhLmNvcHkocmV0KTtcXG4gICAgICBuIC09IHAuZGF0YS5sZW5ndGg7XFxuXFxuICAgICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcXG4gICAgICAgIHZhciBidWYgPSBwLmRhdGE7XFxuICAgICAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xcbiAgICAgICAgYnVmLmNvcHkocmV0LCByZXQubGVuZ3RoIC0gbiwgMCwgbmIpO1xcbiAgICAgICAgbiAtPSBuYjtcXG5cXG4gICAgICAgIGlmIChuID09PSAwKSB7XFxuICAgICAgICAgIGlmIChuYiA9PT0gYnVmLmxlbmd0aCkge1xcbiAgICAgICAgICAgICsrYztcXG4gICAgICAgICAgICBpZiAocC5uZXh0KSB0aGlzLmhlYWQgPSBwLm5leHQ7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHRoaXMuaGVhZCA9IHA7XFxuICAgICAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICsrYztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5sZW5ndGggLT0gYztcXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9IC8vIE1ha2Ugc3VyZSB0aGUgbGlua2VkIGxpc3Qgb25seSBzaG93cyB0aGUgbWluaW1hbCBuZWNlc3NhcnkgaW5mb3JtYXRpb24uXFxuXFxuICB9LCB7XFxuICAgIGtleTogY3VzdG9tLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUoXywgb3B0aW9ucykge1xcbiAgICAgIHJldHVybiBpbnNwZWN0KHRoaXMsIF9vYmplY3RTcHJlYWQoe30sIG9wdGlvbnMsIHtcXG4gICAgICAgIC8vIE9ubHkgaW5zcGVjdCBvbmUgbGV2ZWwuXFxuICAgICAgICBkZXB0aDogMCxcXG4gICAgICAgIC8vIEl0IHNob3VsZCBub3QgcmVjdXJzZS5cXG4gICAgICAgIGN1c3RvbUluc3BlY3Q6IGZhbHNlXFxuICAgICAgfSkpO1xcbiAgICB9XFxuICB9XSk7XFxuXFxuICByZXR1cm4gQnVmZmVyTGlzdDtcXG59KCk7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5aWRXWm1aWEpmYkdsemRDNXFjejh3Tm1SaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxEQkRRVUV3UXl4blEwRkJaME1zYjBOQlFXOURMRzlFUVVGdlJDdzRSRUZCT0VRc1owVkJRV2RGTEVWQlFVVXNSVUZCUlN4blEwRkJaME1zUlVGQlJTeGhRVUZoT3p0QlFVVnVWaXhuUTBGQlowTXNaMEpCUVdkQ0xITkNRVUZ6UWl4UFFVRlBMSFZFUVVGMVJDeGhRVUZoTEhWRVFVRjFSQ3d5UTBGQk1rTXNSVUZCUlN4RlFVRkZMRVZCUVVVc05rTkJRVFpETERKRlFVRXlSU3hGUVVGRkxFOUJRVThzYVVSQlFXbEVMR3RHUVVGclJpeEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMR1ZCUVdVN08wRkJSWEJvUWl3eVEwRkJNa01zYTBKQlFXdENMR3REUVVGclF5eHhSVUZCY1VVc1JVRkJSU3hGUVVGRkxFOUJRVThzYTBKQlFXdENMRVZCUVVVc1dVRkJXVHM3UVVGRkwwMHNhVVJCUVdsRUxEQkRRVUV3UXl3d1JFRkJNRVFzUlVGQlJUczdRVUZGZGtvc01rTkJRVEpETEdkQ1FVRm5RaXhyUWtGQmEwSXNUMEZCVHl3eVFrRkJNa0lzZDBSQlFYZEVMR2REUVVGblF5eDFSRUZCZFVRc01rUkJRVEpFTEVWQlFVVTdPMEZCUlROVUxEWkVRVUUyUkN4elJVRkJjMFVzT0VSQlFUaEVMRzlDUVVGdlFqczdRVUZGY2s0c1pVRkJaU3h0UWtGQlR5eERRVUZETERoRFFVRlJPMEZCUXk5Q096dEJRVVZCTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEdGQlFVMDdRVUZET1VJN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHJSRUZCYTBRN1FVRkRiRVE3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNRVJCUVRCRU8wRkJRekZFTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMT3p0QlFVVk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FTkJRVEJETzBGQlF6RkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERKRFFVRXlRenRCUVVNelF5eFhRVUZYTzBGQlExZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVEN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d5UTBGQk1rTTdRVUZETTBNc1YwRkJWenRCUVVOWU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN08wRkJSVXdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN3eVEwRkJNa003UVVGRE0wTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFc1EwRkJReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1Wm5WdVkzUnBiMjRnYjNkdVMyVjVjeWh2WW1wbFkzUXNJR1Z1ZFcxbGNtRmliR1ZQYm14NUtTQjdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2IySnFaV04wS1RzZ2FXWWdLRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1wSUhzZ2RtRnlJSE41YldKdmJITWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0c5aWFtVmpkQ2s3SUdsbUlDaGxiblZ0WlhKaFlteGxUMjVzZVNrZ2MzbHRZbTlzY3lBOUlITjViV0p2YkhNdVptbHNkR1Z5S0daMWJtTjBhVzl1SUNoemVXMHBJSHNnY21WMGRYSnVJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2IySnFaV04wTENCemVXMHBMbVZ1ZFcxbGNtRmliR1U3SUgwcE95QnJaWGx6TG5CMWMyZ3VZWEJ3Ykhrb2EyVjVjeXdnYzNsdFltOXNjeWs3SUgwZ2NtVjBkWEp1SUd0bGVYTTdJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyOWlhbVZqZEZOd2NtVmhaQ2gwWVhKblpYUXBJSHNnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BJSHNnZG1GeUlITnZkWEpqWlNBOUlHRnlaM1Z0Wlc1MGMxdHBYU0FoUFNCdWRXeHNJRDhnWVhKbmRXMWxiblJ6VzJsZElEb2dlMzA3SUdsbUlDaHBJQ1VnTWlrZ2V5QnZkMjVMWlhsektFOWlhbVZqZENoemIzVnlZMlVwTENCMGNuVmxLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hyWlhrcElIc2dYMlJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z2EyVjVMQ0J6YjNWeVkyVmJhMlY1WFNrN0lIMHBPeUI5SUdWc2MyVWdhV1lnS0U5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSnpLU0I3SUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGFXVnpLSFJoY21kbGRDd2dUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25Nb2MyOTFjbU5sS1NrN0lIMGdaV3h6WlNCN0lHOTNia3RsZVhNb1QySnFaV04wS0hOdmRYSmpaU2twTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0d0bGVTa2dleUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2MyOTFjbU5sTENCclpYa3BLVHNnZlNrN0lIMGdmU0J5WlhSMWNtNGdkR0Z5WjJWME95QjlYRzVjYm1aMWJtTjBhVzl1SUY5a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZG1Gc2RXVXBJSHNnYVdZZ0tHdGxlU0JwYmlCdlltb3BJSHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOWlhaXdnYTJWNUxDQjdJSFpoYkhWbE9pQjJZV3gxWlN3Z1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExDQjNjbWwwWVdKc1pUb2dkSEoxWlNCOUtUc2dmU0JsYkhObElIc2diMkpxVzJ0bGVWMGdQU0IyWVd4MVpUc2dmU0J5WlhSMWNtNGdiMkpxT3lCOVhHNWNibVoxYm1OMGFXOXVJRjlqYkdGemMwTmhiR3hEYUdWamF5aHBibk4wWVc1alpTd2dRMjl1YzNSeWRXTjBiM0lwSUhzZ2FXWWdLQ0VvYVc1emRHRnVZMlVnYVc1emRHRnVZMlZ2WmlCRGIyNXpkSEoxWTNSdmNpa3BJSHNnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCallXeHNJR0VnWTJ4aGMzTWdZWE1nWVNCbWRXNWpkR2x2Ymx3aUtUc2dmU0I5WEc1Y2JtWjFibU4wYVc5dUlGOWtaV1pwYm1WUWNtOXdaWEowYVdWektIUmhjbWRsZEN3Z2NISnZjSE1wSUhzZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUdrckt5a2dleUIyWVhJZ1pHVnpZM0pwY0hSdmNpQTlJSEJ5YjNCelcybGRPeUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdVZ1BTQmtaWE5qY21sd2RHOXlMbVZ1ZFcxbGNtRmliR1VnZkh3Z1ptRnNjMlU3SUdSbGMyTnlhWEIwYjNJdVkyOXVabWxuZFhKaFlteGxJRDBnZEhKMVpUc2dhV1lnS0Z3aWRtRnNkV1ZjSWlCcGJpQmtaWE5qY21sd2RHOXlLU0JrWlhOamNtbHdkRzl5TG5keWFYUmhZbXhsSUQwZ2RISjFaVHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z1pHVnpZM0pwY0hSdmNpNXJaWGtzSUdSbGMyTnlhWEIwYjNJcE95QjlJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyTnlaV0YwWlVOc1lYTnpLRU52Ym5OMGNuVmpkRzl5TENCd2NtOTBiMUJ5YjNCekxDQnpkR0YwYVdOUWNtOXdjeWtnZXlCcFppQW9jSEp2ZEc5UWNtOXdjeWtnWDJSbFptbHVaVkJ5YjNCbGNuUnBaWE1vUTI5dWMzUnlkV04wYjNJdWNISnZkRzkwZVhCbExDQndjbTkwYjFCeWIzQnpLVHNnYVdZZ0tITjBZWFJwWTFCeWIzQnpLU0JmWkdWbWFXNWxVSEp2Y0dWeWRHbGxjeWhEYjI1emRISjFZM1J2Y2l3Z2MzUmhkR2xqVUhKdmNITXBPeUJ5WlhSMWNtNGdRMjl1YzNSeWRXTjBiM0k3SUgxY2JseHVkbUZ5SUY5eVpYRjFhWEpsSUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5Snlrc1hHNGdJQ0FnUW5WbVptVnlJRDBnWDNKbGNYVnBjbVV1UW5WbVptVnlPMXh1WEc1MllYSWdYM0psY1hWcGNtVXlJRDBnY21WeGRXbHlaU2duZFhScGJDY3BMRnh1SUNBZ0lHbHVjM0JsWTNRZ1BTQmZjbVZ4ZFdseVpUSXVhVzV6Y0dWamREdGNibHh1ZG1GeUlHTjFjM1J2YlNBOUlHbHVjM0JsWTNRZ0ppWWdhVzV6Y0dWamRDNWpkWE4wYjIwZ2ZId2dKMmx1YzNCbFkzUW5PMXh1WEc1bWRXNWpkR2x2YmlCamIzQjVRblZtWm1WeUtITnlZeXdnZEdGeVoyVjBMQ0J2Wm1aelpYUXBJSHRjYmlBZ1FuVm1abVZ5TG5CeWIzUnZkSGx3WlM1amIzQjVMbU5oYkd3b2MzSmpMQ0IwWVhKblpYUXNJRzltWm5ObGRDazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQxY2JpOHFJMTlmVUZWU1JWOWZLaTljYm1aMWJtTjBhVzl1SUNncElIdGNiaUFnWm5WdVkzUnBiMjRnUW5WbVptVnlUR2x6ZENncElIdGNiaUFnSUNCZlkyeGhjM05EWVd4c1EyaGxZMnNvZEdocGN5d2dRblZtWm1WeVRHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtaGxZV1FnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1SUNCOVhHNWNiaUFnWDJOeVpXRjBaVU5zWVhOektFSjFabVpsY2t4cGMzUXNJRnQ3WEc0Z0lDQWdhMlY1T2lCY0luQjFjMmhjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdjSFZ6YUNoMktTQjdYRzRnSUNBZ0lDQjJZWElnWlc1MGNua2dQU0I3WEc0Z0lDQWdJQ0FnSUdSaGRHRTZJSFlzWEc0Z0lDQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBd0tTQjBhR2x6TG5SaGFXd3VibVY0ZENBOUlHVnVkSEo1TzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG5SaGFXd2dQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5WdWMyaHBablJjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdkVzV6YUdsbWRDaDJLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCN1hHNGdJQ0FnSUNBZ0lHUmhkR0U2SUhZc1hHNGdJQ0FnSUNBZ0lHNWxlSFE2SUhSb2FYTXVhR1ZoWkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dkR2hwY3k1MFlXbHNJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG1obFlXUWdQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5Ob2FXWjBYQ0lzWEc0Z0lDQWdkbUZzZFdVNklHWjFibU4wYVc5dUlITm9hV1owS0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1b1pXRmtMbVJoZEdFN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXBJSFJvYVhNdWFHVmhaQ0E5SUhSb2FYTXVkR0ZwYkNBOUlHNTFiR3c3Wld4elpTQjBhR2x6TG1obFlXUWdQU0IwYUdsekxtaGxZV1F1Ym1WNGREdGNiaUFnSUNBZ0lDMHRkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDFjYmlBZ2ZTd2dlMXh1SUNBZ0lHdGxlVG9nWENKamJHVmhjbHdpTEZ4dUlDQWdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQmpiR1ZoY2lncElIdGNiaUFnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltcHZhVzVjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdhbTlwYmloektTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUFuSnp0Y2JpQWdJQ0FnSUhaaGNpQndJRDBnZEdocGN5NW9aV0ZrTzF4dUlDQWdJQ0FnZG1GeUlISmxkQ0E5SUNjbklDc2djQzVrWVhSaE8xeHVYRzRnSUNBZ0lDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhRZ0t6MGdjeUFySUhBdVpHRjBZVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsZER0Y2JpQWdJQ0I5WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVZMkYwWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR052Ym1OaGRDaHVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCQ2RXWm1aWEl1WVd4c2IyTW9NQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NtVjBJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0c0Z1BqNCtJREFwTzF4dUlDQWdJQ0FnZG1GeUlIQWdQU0IwYUdsekxtaGxZV1E3WEc0Z0lDQWdJQ0IyWVhJZ2FTQTlJREE3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZjSGxDZFdabVpYSW9jQzVrWVhSaExDQnlaWFFzSUdrcE8xeHVJQ0FnSUNBZ0lDQnBJQ3M5SUhBdVpHRjBZUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJSEFnUFNCd0xtNWxlSFE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlNBdkx5QkRiMjV6ZFcxbGN5QmhJSE53WldOcFptbGxaQ0JoYlc5MWJuUWdiMllnWW5sMFpYTWdiM0lnWTJoaGNtRmpkR1Z5Y3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVjM1Z0WlZ3aUxGeHVJQ0FnSUhaaGJIVmxPaUJtZFc1amRHbHZiaUJqYjI1emRXMWxLRzRzSUdoaGMxTjBjbWx1WjNNcElIdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1SUR3Z2RHaHBjeTVvWldGa0xtUmhkR0V1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUM4dklHQnpiR2xqWldBZ2FYTWdkR2hsSUhOaGJXVWdabTl5SUdKMVptWmxjbk1nWVc1a0lITjBjbWx1WjNNdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtEQXNJRzRwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbWhsWVdRdVpHRjBZU0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtHNHBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h1SUQwOVBTQjBhR2x6TG1obFlXUXVaR0YwWVM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbWx5YzNRZ1kyaDFibXNnYVhNZ1lTQndaWEptWldOMElHMWhkR05vTGx4dUlDQWdJQ0FnSUNCeVpYUWdQU0IwYUdsekxuTm9hV1owS0NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QlNaWE4xYkhRZ2MzQmhibk1nYlc5eVpTQjBhR0Z1SUc5dVpTQmlkV1ptWlhJdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUdoaGMxTjBjbWx1WjNNZ1B5QjBhR2x6TGw5blpYUlRkSEpwYm1jb2Jpa2dPaUIwYUdsekxsOW5aWFJDZFdabVpYSW9iaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltWnBjbk4wWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR1pwY25OMEtDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YUdWaFpDNWtZWFJoTzF4dUlDQWdJSDBnTHk4Z1EyOXVjM1Z0WlhNZ1lTQnpjR1ZqYVdacFpXUWdZVzF2ZFc1MElHOW1JR05vWVhKaFkzUmxjbk1nWm5KdmJTQjBhR1VnWW5WbVptVnlaV1FnWkdGMFlTNWNibHh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSWw5blpYUlRkSEpwYm1kY0lpeGNiaUFnSUNCMllXeDFaVG9nWm5WdVkzUnBiMjRnWDJkbGRGTjBjbWx1WnlodUtTQjdYRzRnSUNBZ0lDQjJZWElnY0NBOUlIUm9hWE11YUdWaFpEdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ01UdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNCdUlDMDlJSEpsZEM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6ZEhJZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJ6ZEhJdWJHVnVaM1JvSUQ4Z2MzUnlMbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdsbUlDaHVZaUE5UFQwZ2MzUnlMbXhsYm1kMGFDa2djbVYwSUNzOUlITjBjanRsYkhObElISmxkQ0FyUFNCemRISXVjMnhwWTJVb01Dd2diaWs3WEc0Z0lDQWdJQ0FnSUc0Z0xUMGdibUk3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibUlnUFQwOUlITjBjaTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDc3JZenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3TG01bGVIUXBJSFJvYVhNdWFHVmhaQ0E5SUhBdWJtVjRkRHRsYkhObElIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSEE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndMbVJoZEdFZ1BTQnpkSEl1YzJ4cFkyVW9ibUlwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0t5dGpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBdFBTQmpPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxkRHRjYmlBZ0lDQjlJQzh2SUVOdmJuTjFiV1Z6SUdFZ2MzQmxZMmxtYVdWa0lHRnRiM1Z1ZENCdlppQmllWFJsY3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVgyZGxkRUoxWm1abGNsd2lMRnh1SUNBZ0lIWmhiSFZsT2lCbWRXNWpkR2x2YmlCZloyVjBRblZtWm1WeUtHNHBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYUWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYmlrN1hHNGdJQ0FnSUNCMllYSWdjQ0E5SUhSb2FYTXVhR1ZoWkR0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnTVR0Y2JpQWdJQ0FnSUhBdVpHRjBZUzVqYjNCNUtISmxkQ2s3WEc0Z0lDQWdJQ0J1SUMwOUlIQXVaR0YwWVM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJpZFdZZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJpZFdZdWJHVnVaM1JvSUQ4Z1luVm1MbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdKMVppNWpiM0I1S0hKbGRDd2djbVYwTG14bGJtZDBhQ0F0SUc0c0lEQXNJRzVpS1R0Y2JpQWdJQ0FnSUNBZ2JpQXRQU0J1WWp0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h1WWlBOVBUMGdZblZtTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdLeXRqTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hBdWJtVjRkQ2tnZEdocGN5NW9aV0ZrSUQwZ2NDNXVaWGgwTzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnZEdocGN5NTBZV2xzSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1b1pXRmtJRDBnY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEF1WkdGMFlTQTlJR0oxWmk1emJHbGpaU2h1WWlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQXJLMk03WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJR003WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDBnTHk4Z1RXRnJaU0J6ZFhKbElIUm9aU0JzYVc1clpXUWdiR2x6ZENCdmJteDVJSE5vYjNkeklIUm9aU0J0YVc1cGJXRnNJRzVsWTJWemMyRnllU0JwYm1admNtMWhkR2x2Ymk1Y2JseHVJQ0I5TENCN1hHNGdJQ0FnYTJWNU9pQmpkWE4wYjIwc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJSFpoYkhWbEtGOHNJRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnBibk53WldOMEtIUm9hWE1zSUY5dlltcGxZM1JUY0hKbFlXUW9lMzBzSUc5d2RHbHZibk1zSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCcGJuTndaV04wSUc5dVpTQnNaWFpsYkM1Y2JpQWdJQ0FnSUNBZ1pHVndkR2c2SURBc1hHNGdJQ0FnSUNBZ0lDOHZJRWwwSUhOb2IzVnNaQ0J1YjNRZ2NtVmpkWEp6WlM1Y2JpQWdJQ0FnSUNBZ1kzVnpkRzl0U1c1emNHVmpkRG9nWm1Gc2MyVmNiaUFnSUNBZ0lIMHBLVHRjYmlBZ0lDQjlYRzRnSUgxZEtUdGNibHh1SUNCeVpYUjFjbTRnUW5WbVptVnlUR2x6ZER0Y2JuMG9LVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7IC8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcXG5cXG5mdW5jdGlvbiBkZXN0cm95KGVyciwgY2IpIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICB2YXIgcmVhZGFibGVEZXN0cm95ZWQgPSB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgdmFyIHdyaXRhYmxlRGVzdHJveWVkID0gdGhpcy5fd3JpdGFibGVTdGF0ZSAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG5cXG4gIGlmIChyZWFkYWJsZURlc3Ryb3llZCB8fCB3cml0YWJsZURlc3Ryb3llZCkge1xcbiAgICBpZiAoY2IpIHtcXG4gICAgICBjYihlcnIpO1xcbiAgICB9IGVsc2UgaWYgKGVycikge1xcbiAgICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9IC8vIHdlIHNldCBkZXN0cm95ZWQgdG8gdHJ1ZSBiZWZvcmUgZmlyaW5nIGVycm9yIGNhbGxiYWNrcyBpbiBvcmRlclxcbiAgLy8gdG8gbWFrZSBpdCByZS1lbnRyYW5jZSBzYWZlIGluIGNhc2UgZGVzdHJveSgpIGlzIGNhbGxlZCB3aXRoaW4gY2FsbGJhY2tzXFxuXFxuXFxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHRydWU7XFxuICB9IC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcXG5cXG5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKCFjYiAmJiBlcnIpIHtcXG4gICAgICBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQsIF90aGlzLCBlcnIpO1xcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCwgX3RoaXMsIGVycik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsIF90aGlzKTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoY2IpIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgICAgY2IoZXJyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQoc2VsZiwgZXJyKSB7XFxuICBlbWl0RXJyb3JOVChzZWxmLCBlcnIpO1xcbiAgZW1pdENsb3NlTlQoc2VsZik7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRDbG9zZU5UKHNlbGYpIHtcXG4gIGlmIChzZWxmLl93cml0YWJsZVN0YXRlICYmICFzZWxmLl93cml0YWJsZVN0YXRlLmVtaXRDbG9zZSkgcmV0dXJuO1xcbiAgaWYgKHNlbGYuX3JlYWRhYmxlU3RhdGUgJiYgIXNlbGYuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlKSByZXR1cm47XFxuICBzZWxmLmVtaXQoJ2Nsb3NlJyk7XFxufVxcblxcbmZ1bmN0aW9uIHVuZGVzdHJveSgpIHtcXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcXG4gIHNlbGYuZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5mdW5jdGlvbiBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVycikge1xcbiAgLy8gV2UgaGF2ZSB0ZXN0cyB0aGF0IHJlbHkgb24gZXJyb3JzIGJlaW5nIGVtaXR0ZWRcXG4gIC8vIGluIHRoZSBzYW1lIHRpY2ssIHNvIGNoYW5naW5nIHRoaXMgaXMgc2VtdmVyIG1ham9yLlxcbiAgLy8gRm9yIG5vdyB3aGVuIHlvdSBvcHQtaW4gdG8gYXV0b0Rlc3Ryb3kgd2UgYWxsb3dcXG4gIC8vIHRoZSBlcnJvciB0byBiZSBlbWl0dGVkIG5leHRUaWNrLiBJbiBhIGZ1dHVyZVxcbiAgLy8gc2VtdmVyIG1ham9yIHVwZGF0ZSB3ZSBzaG91bGQgY2hhbmdlIHRoZSBkZWZhdWx0IHRvIHRoaXMuXFxuICB2YXIgclN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG4gIGlmIChyU3RhdGUgJiYgclN0YXRlLmF1dG9EZXN0cm95IHx8IHdTdGF0ZSAmJiB3U3RhdGUuYXV0b0Rlc3Ryb3kpIHN0cmVhbS5kZXN0cm95KGVycik7ZWxzZSBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXFxuICB1bmRlc3Ryb3k6IHVuZGVzdHJveSxcXG4gIGVycm9yT3JEZXN0cm95OiBlcnJvck9yRGVzdHJveVxcbn07XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5a1pYTjBjbTk1TG1welB6SmtNMklpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc0swTkJRV0U3TzBGQlJXSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGRHUVVGM1JqdEJRVU40UmpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVVaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WW5KdmQzTmxjbWxtZVMxemFXZHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlpHVnpkSEp2ZVM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6c2dMeThnZFc1a2IyTjFiV1Z1ZEdWa0lHTmlLQ2tnUVZCSkxDQnVaV1ZrWldRZ1ptOXlJR052Y21Vc0lHNXZkQ0JtYjNJZ2NIVmliR2xqSUVGUVNWeHVYRzVtZFc1amRHbHZiaUJrWlhOMGNtOTVLR1Z5Y2l3Z1kySXBJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0IyWVhJZ2NtVmhaR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVJQ0IyWVhJZ2QzSnBkR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVYRzRnSUdsbUlDaHlaV0ZrWVdKc1pVUmxjM1J5YjNsbFpDQjhmQ0IzY21sMFlXSnNaVVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJR2xtSUNoallpa2dlMXh1SUNBZ0lDQWdZMklvWlhKeUtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnljaWtnZTF4dUlDQWdJQ0FnYVdZZ0tDRjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWlcxcGRFVnljbTl5VGxRc0lIUm9hWE1zSUdWeWNpazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0YwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WeWNtOXlSVzFwZEhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WeWNtOXlSVzFwZEhSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1pXMXBkRVZ5Y205eVRsUXNJSFJvYVhNc0lHVnljaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMGdMeThnZDJVZ2MyVjBJR1JsYzNSeWIzbGxaQ0IwYnlCMGNuVmxJR0psWm05eVpTQm1hWEpwYm1jZ1pYSnliM0lnWTJGc2JHSmhZMnR6SUdsdUlHOXlaR1Z5WEc0Z0lDOHZJSFJ2SUcxaGEyVWdhWFFnY21VdFpXNTBjbUZ1WTJVZ2MyRm1aU0JwYmlCallYTmxJR1JsYzNSeWIza29LU0JwY3lCallXeHNaV1FnZDJsMGFHbHVJR05oYkd4aVlXTnJjMXh1WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFJ5ZFdVN1hHNGdJSDBnTHk4Z2FXWWdkR2hwY3lCcGN5QmhJR1IxY0d4bGVDQnpkSEpsWVcwZ2JXRnlheUIwYUdVZ2QzSnBkR0ZpYkdVZ2NHRnlkQ0JoY3lCa1pYTjBjbTk1WldRZ1lYTWdkMlZzYkZ4dVhHNWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ0E5SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0IwYUdsekxsOWtaWE4wY205NUtHVnljaUI4ZkNCdWRXeHNMQ0JtZFc1amRHbHZiaUFvWlhKeUtTQjdYRzRnSUNBZ2FXWWdLQ0ZqWWlBbUppQmxjbklwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hYM1JvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobGJXbDBSWEp5YjNKQmJtUkRiRzl6WlU1VUxDQmZkR2hwY3l3Z1pYSnlLVHRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvSVY5MGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtVnljbTl5UlcxcGRIUmxaQ2tnZTF4dUlDQWdJQ0FnSUNCZmRHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNWxjbkp2Y2tWdGFYUjBaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1Z0YVhSRmNuSnZja0Z1WkVOc2IzTmxUbFFzSUY5MGFHbHpMQ0JsY25JcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobGJXbDBRMnh2YzJWT1ZDd2dYM1JvYVhNcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1kySXBJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29aVzFwZEVOc2IzTmxUbFFzSUY5MGFHbHpLVHRjYmlBZ0lDQWdJR05pS0dWeWNpazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWlcxcGRFTnNiM05sVGxRc0lGOTBhR2x6S1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmxiV2wwUlhKeWIzSkJibVJEYkc5elpVNVVLSE5sYkdZc0lHVnljaWtnZTF4dUlDQmxiV2wwUlhKeWIzSk9WQ2h6Wld4bUxDQmxjbklwTzF4dUlDQmxiV2wwUTJ4dmMyVk9WQ2h6Wld4bUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRU5zYjNObFRsUW9jMlZzWmlrZ2UxeHVJQ0JwWmlBb2MyVnNaaTVmZDNKcGRHRmliR1ZUZEdGMFpTQW1KaUFoYzJWc1ppNWZkM0pwZEdGaWJHVlRkR0YwWlM1bGJXbDBRMnh2YzJVcElISmxkSFZ5Ymp0Y2JpQWdhV1lnS0hObGJHWXVYM0psWVdSaFlteGxVM1JoZEdVZ0ppWWdJWE5sYkdZdVgzSmxZV1JoWW14bFUzUmhkR1V1WlcxcGRFTnNiM05sS1NCeVpYUjFjbTQ3WEc0Z0lITmxiR1l1WlcxcGRDZ25ZMnh2YzJVbktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNWtaWE4wY205NUtDa2dlMXh1SUNCcFppQW9kR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaU2tnZTF4dUlDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzV5WldGa2FXNW5JRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNWxibVJsWkNBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wlc1a1JXMXBkSFJsWkNBOUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2FXWWdLSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtVnVaR2x1WnlBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1Wm1sdVlXeERZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG5CeVpXWnBibWx6YUdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1bWFXNXBjMmhsWkNBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdabUZzYzJVN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdaVzFwZEVWeWNtOXlUbFFvYzJWc1ppd2daWEp5S1NCN1hHNGdJSE5sYkdZdVpXMXBkQ2duWlhKeWIzSW5MQ0JsY25JcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGNuSnZjazl5UkdWemRISnZlU2h6ZEhKbFlXMHNJR1Z5Y2lrZ2UxeHVJQ0F2THlCWFpTQm9ZWFpsSUhSbGMzUnpJSFJvWVhRZ2NtVnNlU0J2YmlCbGNuSnZjbk1nWW1WcGJtY2daVzFwZEhSbFpGeHVJQ0F2THlCcGJpQjBhR1VnYzJGdFpTQjBhV05yTENCemJ5QmphR0Z1WjJsdVp5QjBhR2x6SUdseklITmxiWFpsY2lCdFlXcHZjaTVjYmlBZ0x5OGdSbTl5SUc1dmR5QjNhR1Z1SUhsdmRTQnZjSFF0YVc0Z2RHOGdZWFYwYjBSbGMzUnliM2tnZDJVZ1lXeHNiM2RjYmlBZ0x5OGdkR2hsSUdWeWNtOXlJSFJ2SUdKbElHVnRhWFIwWldRZ2JtVjRkRlJwWTJzdUlFbHVJR0VnWm5WMGRYSmxYRzRnSUM4dklITmxiWFpsY2lCdFlXcHZjaUIxY0dSaGRHVWdkMlVnYzJodmRXeGtJR05vWVc1blpTQjBhR1VnWkdWbVlYVnNkQ0IwYnlCMGFHbHpMbHh1SUNCMllYSWdjbE4wWVhSbElEMGdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQjJZWElnZDFOMFlYUmxJRDBnYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVJQ0JwWmlBb2NsTjBZWFJsSUNZbUlISlRkR0YwWlM1aGRYUnZSR1Z6ZEhKdmVTQjhmQ0IzVTNSaGRHVWdKaVlnZDFOMFlYUmxMbUYxZEc5RVpYTjBjbTk1S1NCemRISmxZVzB1WkdWemRISnZlU2hsY25JcE8yVnNjMlVnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z1pYSnlLVHRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdYRzRnSUdSbGMzUnliM2s2SUdSbGMzUnliM2tzWEc0Z0lIVnVaR1Z6ZEhKdmVUb2dkVzVrWlhOMGNtOTVMRnh1SUNCbGNuSnZjazl5UkdWemRISnZlVG9nWlhKeWIzSlBja1JsYzNSeWIzbGNibjA3SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIFBvcnRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tYWZpbnRvc2gvZW5kLW9mLXN0cmVhbSB3aXRoXFxuLy8gcGVybWlzc2lvbiBmcm9tIHRoZSBhdXRob3IsIE1hdGhpYXMgQnV1cyAoQG1hZmludG9zaCkuXFxuXFxuXFxudmFyIEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vLi4vLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO1xcblxcbmZ1bmN0aW9uIG9uY2UoY2FsbGJhY2spIHtcXG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIGlmIChjYWxsZWQpIHJldHVybjtcXG4gICAgY2FsbGVkID0gdHJ1ZTtcXG5cXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XFxuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcXG4gICAgfVxcblxcbiAgICBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmdzKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIG5vb3AoKSB7fVxcblxcbmZ1bmN0aW9uIGlzUmVxdWVzdChzdHJlYW0pIHtcXG4gIHJldHVybiBzdHJlYW0uc2V0SGVhZGVyICYmIHR5cGVvZiBzdHJlYW0uYWJvcnQgPT09ICdmdW5jdGlvbic7XFxufVxcblxcbmZ1bmN0aW9uIGVvcyhzdHJlYW0sIG9wdHMsIGNhbGxiYWNrKSB7XFxuICBpZiAodHlwZW9mIG9wdHMgPT09ICdmdW5jdGlvbicpIHJldHVybiBlb3Moc3RyZWFtLCBudWxsLCBvcHRzKTtcXG4gIGlmICghb3B0cykgb3B0cyA9IHt9O1xcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrIHx8IG5vb3ApO1xcbiAgdmFyIHJlYWRhYmxlID0gb3B0cy5yZWFkYWJsZSB8fCBvcHRzLnJlYWRhYmxlICE9PSBmYWxzZSAmJiBzdHJlYW0ucmVhZGFibGU7XFxuICB2YXIgd3JpdGFibGUgPSBvcHRzLndyaXRhYmxlIHx8IG9wdHMud3JpdGFibGUgIT09IGZhbHNlICYmIHN0cmVhbS53cml0YWJsZTtcXG5cXG4gIHZhciBvbmxlZ2FjeWZpbmlzaCA9IGZ1bmN0aW9uIG9ubGVnYWN5ZmluaXNoKCkge1xcbiAgICBpZiAoIXN0cmVhbS53cml0YWJsZSkgb25maW5pc2goKTtcXG4gIH07XFxuXFxuICB2YXIgd3JpdGFibGVFbmRlZCA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZSAmJiBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ7XFxuXFxuICB2YXIgb25maW5pc2ggPSBmdW5jdGlvbiBvbmZpbmlzaCgpIHtcXG4gICAgd3JpdGFibGUgPSBmYWxzZTtcXG4gICAgd3JpdGFibGVFbmRlZCA9IHRydWU7XFxuICAgIGlmICghcmVhZGFibGUpIGNhbGxiYWNrLmNhbGwoc3RyZWFtKTtcXG4gIH07XFxuXFxuICB2YXIgcmVhZGFibGVFbmRlZCA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZSAmJiBzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZDtcXG5cXG4gIHZhciBvbmVuZCA9IGZ1bmN0aW9uIG9uZW5kKCkge1xcbiAgICByZWFkYWJsZSA9IGZhbHNlO1xcbiAgICByZWFkYWJsZUVuZGVkID0gdHJ1ZTtcXG4gICAgaWYgKCF3cml0YWJsZSkgY2FsbGJhY2suY2FsbChzdHJlYW0pO1xcbiAgfTtcXG5cXG4gIHZhciBvbmVycm9yID0gZnVuY3Rpb24gb25lcnJvcihlcnIpIHtcXG4gICAgY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XFxuICB9O1xcblxcbiAgdmFyIG9uY2xvc2UgPSBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICB2YXIgZXJyO1xcblxcbiAgICBpZiAocmVhZGFibGUgJiYgIXJlYWRhYmxlRW5kZWQpIHtcXG4gICAgICBpZiAoIXN0cmVhbS5fcmVhZGFibGVTdGF0ZSB8fCAhc3RyZWFtLl9yZWFkYWJsZVN0YXRlLmVuZGVkKSBlcnIgPSBuZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UoKTtcXG4gICAgICByZXR1cm4gY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XFxuICAgIH1cXG5cXG4gICAgaWYgKHdyaXRhYmxlICYmICF3cml0YWJsZUVuZGVkKSB7XFxuICAgICAgaWYgKCFzdHJlYW0uX3dyaXRhYmxlU3RhdGUgfHwgIXN0cmVhbS5fd3JpdGFibGVTdGF0ZS5lbmRlZCkgZXJyID0gbmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKCk7XFxuICAgICAgcmV0dXJuIGNhbGxiYWNrLmNhbGwoc3RyZWFtLCBlcnIpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgdmFyIG9ucmVxdWVzdCA9IGZ1bmN0aW9uIG9ucmVxdWVzdCgpIHtcXG4gICAgc3RyZWFtLnJlcS5vbignZmluaXNoJywgb25maW5pc2gpO1xcbiAgfTtcXG5cXG4gIGlmIChpc1JlcXVlc3Qoc3RyZWFtKSkge1xcbiAgICBzdHJlYW0ub24oJ2NvbXBsZXRlJywgb25maW5pc2gpO1xcbiAgICBzdHJlYW0ub24oJ2Fib3J0Jywgb25jbG9zZSk7XFxuICAgIGlmIChzdHJlYW0ucmVxKSBvbnJlcXVlc3QoKTtlbHNlIHN0cmVhbS5vbigncmVxdWVzdCcsIG9ucmVxdWVzdCk7XFxuICB9IGVsc2UgaWYgKHdyaXRhYmxlICYmICFzdHJlYW0uX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgLy8gbGVnYWN5IHN0cmVhbXNcXG4gICAgc3RyZWFtLm9uKCdlbmQnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICAgIHN0cmVhbS5vbignY2xvc2UnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICB9XFxuXFxuICBzdHJlYW0ub24oJ2VuZCcsIG9uZW5kKTtcXG4gIHN0cmVhbS5vbignZmluaXNoJywgb25maW5pc2gpO1xcbiAgaWYgKG9wdHMuZXJyb3IgIT09IGZhbHNlKSBzdHJlYW0ub24oJ2Vycm9yJywgb25lcnJvcik7XFxuICBzdHJlYW0ub24oJ2Nsb3NlJywgb25jbG9zZSk7XFxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2NvbXBsZXRlJywgb25maW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Fib3J0Jywgb25jbG9zZSk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcigncmVxdWVzdCcsIG9ucmVxdWVzdCk7XFxuICAgIGlmIChzdHJlYW0ucmVxKSBzdHJlYW0ucmVxLnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25sZWdhY3lmaW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25sZWdhY3lmaW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmVuZCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgfTtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBlb3M7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5bGJtUXRiMll0YzNSeVpXRnRMbXB6UHpJNVpqSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5oT3p0QlFVVmlMR2xEUVVGcFF5eHRRa0ZCVHl4RFFVRkRMSE5IUVVGcFFqczdRVUZGTVVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVJVRkJkVVVzWVVGQllUdEJRVU53Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNaME5CUVdkRE8wRkJRMmhETEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSnBabmt0YzJsbmJpOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJWdVpDMXZaaTF6ZEhKbFlXMHVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJRYjNKMFpXUWdabkp2YlNCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJXRm1hVzUwYjNOb0wyVnVaQzF2WmkxemRISmxZVzBnZDJsMGFGeHVMeThnY0dWeWJXbHpjMmx2YmlCbWNtOXRJSFJvWlNCaGRYUm9iM0lzSUUxaGRHaHBZWE1nUW5WMWN5QW9RRzFoWm1sdWRHOXphQ2t1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQkZVbEpmVTFSU1JVRk5YMUJTUlUxQlZGVlNSVjlEVEU5VFJTQTlJSEpsY1hWcGNtVW9KeTR1THk0dUx5NHVMMlZ5Y205eWN5Y3BMbU52WkdWekxrVlNVbDlUVkZKRlFVMWZVRkpGVFVGVVZWSkZYME5NVDFORk8xeHVYRzVtZFc1amRHbHZiaUJ2Ym1ObEtHTmhiR3hpWVdOcktTQjdYRzRnSUhaaGNpQmpZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnBaaUFvWTJGc2JHVmtLU0J5WlhSMWNtNDdYRzRnSUNBZ1kyRnNiR1ZrSUQwZ2RISjFaVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJRjlzWlc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQmhjbWR6SUQwZ2JtVjNJRUZ5Y21GNUtGOXNaVzRwTENCZmEyVjVJRDBnTURzZ1gydGxlU0E4SUY5c1pXNDdJRjlyWlhrckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0ZmEyVjVYU0E5SUdGeVozVnRaVzUwYzF0ZmEyVjVYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpZV3hzWW1GamF5NWhjSEJzZVNoMGFHbHpMQ0JoY21kektUdGNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYm05dmNDZ3BJSHQ5WEc1Y2JtWjFibU4wYVc5dUlHbHpVbVZ4ZFdWemRDaHpkSEpsWVcwcElIdGNiaUFnY21WMGRYSnVJSE4wY21WaGJTNXpaWFJJWldGa1pYSWdKaVlnZEhsd1pXOW1JSE4wY21WaGJTNWhZbTl5ZENBOVBUMGdKMloxYm1OMGFXOXVKenRjYm4xY2JseHVablZ1WTNScGIyNGdaVzl6S0hOMGNtVmhiU3dnYjNCMGN5d2dZMkZzYkdKaFkyc3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnZjSFJ6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0J5WlhSMWNtNGdaVzl6S0hOMGNtVmhiU3dnYm5Wc2JDd2diM0IwY3lrN1hHNGdJR2xtSUNnaGIzQjBjeWtnYjNCMGN5QTlJSHQ5TzF4dUlDQmpZV3hzWW1GamF5QTlJRzl1WTJVb1kyRnNiR0poWTJzZ2ZId2dibTl2Y0NrN1hHNGdJSFpoY2lCeVpXRmtZV0pzWlNBOUlHOXdkSE11Y21WaFpHRmliR1VnZkh3Z2IzQjBjeTV5WldGa1lXSnNaU0FoUFQwZ1ptRnNjMlVnSmlZZ2MzUnlaV0Z0TG5KbFlXUmhZbXhsTzF4dUlDQjJZWElnZDNKcGRHRmliR1VnUFNCdmNIUnpMbmR5YVhSaFlteGxJSHg4SUc5d2RITXVkM0pwZEdGaWJHVWdJVDA5SUdaaGJITmxJQ1ltSUhOMGNtVmhiUzUzY21sMFlXSnNaVHRjYmx4dUlDQjJZWElnYjI1c1pXZGhZM2xtYVc1cGMyZ2dQU0JtZFc1amRHbHZiaUJ2Ym14bFoyRmplV1pwYm1semFDZ3BJSHRjYmlBZ0lDQnBaaUFvSVhOMGNtVmhiUzUzY21sMFlXSnNaU2tnYjI1bWFXNXBjMmdvS1R0Y2JpQWdmVHRjYmx4dUlDQjJZWElnZDNKcGRHRmliR1ZGYm1SbFpDQTlJSE4wY21WaGJTNWZkM0pwZEdGaWJHVlRkR0YwWlNBbUppQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1Wm1sdWFYTm9aV1E3WEc1Y2JpQWdkbUZ5SUc5dVptbHVhWE5vSUQwZ1puVnVZM1JwYjI0Z2IyNW1hVzVwYzJnb0tTQjdYRzRnSUNBZ2QzSnBkR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IzY21sMFlXSnNaVVZ1WkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0JwWmlBb0lYSmxZV1JoWW14bEtTQmpZV3hzWW1GamF5NWpZV3hzS0hOMGNtVmhiU2s3WEc0Z0lIMDdYRzVjYmlBZ2RtRnlJSEpsWVdSaFlteGxSVzVrWldRZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1VnSmlZZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVZ1WkVWdGFYUjBaV1E3WEc1Y2JpQWdkbUZ5SUc5dVpXNWtJRDBnWm5WdVkzUnBiMjRnYjI1bGJtUW9LU0I3WEc0Z0lDQWdjbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnSUNCeVpXRmtZV0pzWlVWdVpHVmtJRDBnZEhKMVpUdGNiaUFnSUNCcFppQW9JWGR5YVhSaFlteGxLU0JqWVd4c1ltRmpheTVqWVd4c0tITjBjbVZoYlNrN1hHNGdJSDA3WEc1Y2JpQWdkbUZ5SUc5dVpYSnliM0lnUFNCbWRXNWpkR2x2YmlCdmJtVnljbTl5S0dWeWNpa2dlMXh1SUNBZ0lHTmhiR3hpWVdOckxtTmhiR3dvYzNSeVpXRnRMQ0JsY25JcE8xeHVJQ0I5TzF4dVhHNGdJSFpoY2lCdmJtTnNiM05sSUQwZ1puVnVZM1JwYjI0Z2IyNWpiRzl6WlNncElIdGNiaUFnSUNCMllYSWdaWEp5TzF4dVhHNGdJQ0FnYVdZZ0tISmxZV1JoWW14bElDWW1JQ0Z5WldGa1lXSnNaVVZ1WkdWa0tTQjdYRzRnSUNBZ0lDQnBaaUFvSVhOMGNtVmhiUzVmY21WaFpHRmliR1ZUZEdGMFpTQjhmQ0FoYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbExtVnVaR1ZrS1NCbGNuSWdQU0J1WlhjZ1JWSlNYMU5VVWtWQlRWOVFVa1ZOUVZSVlVrVmZRMHhQVTBVb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCallXeHNZbUZqYXk1allXeHNLSE4wY21WaGJTd2daWEp5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2QzSnBkR0ZpYkdVZ0ppWWdJWGR5YVhSaFlteGxSVzVrWldRcElIdGNiaUFnSUNBZ0lHbG1JQ2doYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbElIeDhJQ0Z6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVdVpXNWtaV1FwSUdWeWNpQTlJRzVsZHlCRlVsSmZVMVJTUlVGTlgxQlNSVTFCVkZWU1JWOURURTlUUlNncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOaGJHeGlZV05yTG1OaGJHd29jM1J5WldGdExDQmxjbklwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCMllYSWdiMjV5WlhGMVpYTjBJRDBnWm5WdVkzUnBiMjRnYjI1eVpYRjFaWE4wS0NrZ2UxeHVJQ0FnSUhOMGNtVmhiUzV5WlhFdWIyNG9KMlpwYm1semFDY3NJRzl1Wm1sdWFYTm9LVHRjYmlBZ2ZUdGNibHh1SUNCcFppQW9hWE5TWlhGMVpYTjBLSE4wY21WaGJTa3BJSHRjYmlBZ0lDQnpkSEpsWVcwdWIyNG9KMk52YlhCc1pYUmxKeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJSE4wY21WaGJTNXZiaWduWVdKdmNuUW5MQ0J2Ym1Oc2IzTmxLVHRjYmlBZ0lDQnBaaUFvYzNSeVpXRnRMbkpsY1NrZ2IyNXlaWEYxWlhOMEtDazdaV3h6WlNCemRISmxZVzB1YjI0b0ozSmxjWFZsYzNRbkxDQnZibkpsY1hWbGMzUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIZHlhWFJoWW14bElDWW1JQ0Z6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNBdkx5QnNaV2RoWTNrZ2MzUnlaV0Z0YzF4dUlDQWdJSE4wY21WaGJTNXZiaWduWlc1a0p5d2diMjVzWldkaFkzbG1hVzVwYzJncE8xeHVJQ0FnSUhOMGNtVmhiUzV2YmlnblkyeHZjMlVuTENCdmJteGxaMkZqZVdacGJtbHphQ2s3WEc0Z0lIMWNibHh1SUNCemRISmxZVzB1YjI0b0oyVnVaQ2NzSUc5dVpXNWtLVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZG1hVzVwYzJnbkxDQnZibVpwYm1semFDazdYRzRnSUdsbUlDaHZjSFJ6TG1WeWNtOXlJQ0U5UFNCbVlXeHpaU2tnYzNSeVpXRnRMbTl1S0NkbGNuSnZjaWNzSUc5dVpYSnliM0lwTzF4dUlDQnpkSEpsWVcwdWIyNG9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYzNSeVpXRnRMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZGpiMjF3YkdWMFpTY3NJRzl1Wm1sdWFYTm9LVHRjYmlBZ0lDQnpkSEpsWVcwdWNtVnRiM1psVEdsemRHVnVaWElvSjJGaWIzSjBKeXdnYjI1amJHOXpaU2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkeVpYRjFaWE4wSnl3Z2IyNXlaWEYxWlhOMEtUdGNiaUFnSUNCcFppQW9jM1J5WldGdExuSmxjU2tnYzNSeVpXRnRMbkpsY1M1eVpXMXZkbVZNYVhOMFpXNWxjaWduWm1sdWFYTm9KeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJSE4wY21WaGJTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblpXNWtKeXdnYjI1c1pXZGhZM2xtYVc1cGMyZ3BPMXh1SUNBZ0lITjBjbVZoYlM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWTJ4dmMyVW5MQ0J2Ym14bFoyRmplV1pwYm1semFDazdYRzRnSUNBZ2MzUnlaV0Z0TG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RtYVc1cGMyZ25MQ0J2Ym1acGJtbHphQ2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGJtUW5MQ0J2Ym1WdVpDazdYRzRnSUNBZ2MzUnlaV0Z0TG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RsY25KdmNpY3NJRzl1WlhKeWIzSXBPMXh1SUNBZ0lITjBjbVZoYlM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWTJ4dmMyVW5MQ0J2Ym1Oc2IzTmxLVHRjYmlBZ2ZUdGNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbGIzTTdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ1JlYWRhYmxlLmZyb20gaXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgYnJvd3NlcicpXFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTltY205dExXSnliM2R6WlhJdWFuTS9NVGd4TmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlluSnZkM05sY21sbWVTMXphV2R1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZabkp2YlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25VbVZoWkdGaWJHVXVabkp2YlNCcGN5QnViM1FnWVhaaGFXeGhZbXhsSUdsdUlIUm9aU0JpY205M2MyVnlKeWxjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL3B1bXAgd2l0aFxcbi8vIHBlcm1pc3Npb24gZnJvbSB0aGUgYXV0aG9yLCBNYXRoaWFzIEJ1dXMgKEBtYWZpbnRvc2gpLlxcblxcblxcbnZhciBlb3M7XFxuXFxuZnVuY3Rpb24gb25jZShjYWxsYmFjaykge1xcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNhbGxlZCkgcmV0dXJuO1xcbiAgICBjYWxsZWQgPSB0cnVlO1xcbiAgICBjYWxsYmFjay5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XFxuICB9O1xcbn1cXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9NSVNTSU5HX0FSR1MgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTUlTU0lOR19BUkdTLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVEO1xcblxcbmZ1bmN0aW9uIG5vb3AoZXJyKSB7XFxuICAvLyBSZXRocm93IHRoZSBlcnJvciBpZiBpdCBleGlzdHMgdG8gYXZvaWQgc3dhbGxvd2luZyBpdFxcbiAgaWYgKGVycikgdGhyb3cgZXJyO1xcbn1cXG5cXG5mdW5jdGlvbiBpc1JlcXVlc3Qoc3RyZWFtKSB7XFxuICByZXR1cm4gc3RyZWFtLnNldEhlYWRlciAmJiB0eXBlb2Ygc3RyZWFtLmFib3J0ID09PSAnZnVuY3Rpb24nO1xcbn1cXG5cXG5mdW5jdGlvbiBkZXN0cm95ZXIoc3RyZWFtLCByZWFkaW5nLCB3cml0aW5nLCBjYWxsYmFjaykge1xcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrKTtcXG4gIHZhciBjbG9zZWQgPSBmYWxzZTtcXG4gIHN0cmVhbS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XFxuICAgIGNsb3NlZCA9IHRydWU7XFxuICB9KTtcXG4gIGlmIChlb3MgPT09IHVuZGVmaW5lZCkgZW9zID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbmQtb2Ytc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxcIik7XFxuICBlb3Moc3RyZWFtLCB7XFxuICAgIHJlYWRhYmxlOiByZWFkaW5nLFxcbiAgICB3cml0YWJsZTogd3JpdGluZ1xcbiAgfSwgZnVuY3Rpb24gKGVycikge1xcbiAgICBpZiAoZXJyKSByZXR1cm4gY2FsbGJhY2soZXJyKTtcXG4gICAgY2xvc2VkID0gdHJ1ZTtcXG4gICAgY2FsbGJhY2soKTtcXG4gIH0pO1xcbiAgdmFyIGRlc3Ryb3llZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKGNsb3NlZCkgcmV0dXJuO1xcbiAgICBpZiAoZGVzdHJveWVkKSByZXR1cm47XFxuICAgIGRlc3Ryb3llZCA9IHRydWU7IC8vIHJlcXVlc3QuZGVzdHJveSBqdXN0IGRvIC5lbmQgLSAuYWJvcnQgaXMgd2hhdCB3ZSB3YW50XFxuXFxuICAgIGlmIChpc1JlcXVlc3Qoc3RyZWFtKSkgcmV0dXJuIHN0cmVhbS5hYm9ydCgpO1xcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gc3RyZWFtLmRlc3Ryb3koKTtcXG4gICAgY2FsbGJhY2soZXJyIHx8IG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgncGlwZScpKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGNhbGwoZm4pIHtcXG4gIGZuKCk7XFxufVxcblxcbmZ1bmN0aW9uIHBpcGUoZnJvbSwgdG8pIHtcXG4gIHJldHVybiBmcm9tLnBpcGUodG8pO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BDYWxsYmFjayhzdHJlYW1zKSB7XFxuICBpZiAoIXN0cmVhbXMubGVuZ3RoKSByZXR1cm4gbm9vcDtcXG4gIGlmICh0eXBlb2Ygc3RyZWFtc1tzdHJlYW1zLmxlbmd0aCAtIDFdICE9PSAnZnVuY3Rpb24nKSByZXR1cm4gbm9vcDtcXG4gIHJldHVybiBzdHJlYW1zLnBvcCgpO1xcbn1cXG5cXG5mdW5jdGlvbiBwaXBlbGluZSgpIHtcXG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdHJlYW1zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICBzdHJlYW1zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xcbiAgfVxcblxcbiAgdmFyIGNhbGxiYWNrID0gcG9wQ2FsbGJhY2soc3RyZWFtcyk7XFxuICBpZiAoQXJyYXkuaXNBcnJheShzdHJlYW1zWzBdKSkgc3RyZWFtcyA9IHN0cmVhbXNbMF07XFxuXFxuICBpZiAoc3RyZWFtcy5sZW5ndGggPCAyKSB7XFxuICAgIHRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKCdzdHJlYW1zJyk7XFxuICB9XFxuXFxuICB2YXIgZXJyb3I7XFxuICB2YXIgZGVzdHJveXMgPSBzdHJlYW1zLm1hcChmdW5jdGlvbiAoc3RyZWFtLCBpKSB7XFxuICAgIHZhciByZWFkaW5nID0gaSA8IHN0cmVhbXMubGVuZ3RoIC0gMTtcXG4gICAgdmFyIHdyaXRpbmcgPSBpID4gMDtcXG4gICAgcmV0dXJuIGRlc3Ryb3llcihzdHJlYW0sIHJlYWRpbmcsIHdyaXRpbmcsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICBpZiAoIWVycm9yKSBlcnJvciA9IGVycjtcXG4gICAgICBpZiAoZXJyKSBkZXN0cm95cy5mb3JFYWNoKGNhbGwpO1xcbiAgICAgIGlmIChyZWFkaW5nKSByZXR1cm47XFxuICAgICAgZGVzdHJveXMuZm9yRWFjaChjYWxsKTtcXG4gICAgICBjYWxsYmFjayhlcnJvcik7XFxuICAgIH0pO1xcbiAgfSk7XFxuICByZXR1cm4gc3RyZWFtcy5yZWR1Y2UocGlwZSk7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gcGlwZWxpbmU7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5d2FYQmxiR2x1WlM1cWN6ODVPREJoSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFlUczdRVUZGWWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRkNRVUZ4UWl4dFFrRkJUeXhEUVVGRExITkhRVUZwUWp0QlFVTTVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTEN0Q1FVRXJRaXh0UWtGQlR5eERRVUZETERCSVFVRnBRanRCUVVONFJEdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDT3p0QlFVVnlRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSGRGUVVGM1JTeGhRVUZoTzBGQlEzSkdPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZbkp2ZDNObGNtbG1lUzF6YVdkdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12Y0dsd1pXeHBibVV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCUWIzSjBaV1FnWm5KdmJTQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiV0ZtYVc1MGIzTm9MM0IxYlhBZ2QybDBhRnh1THk4Z2NHVnliV2x6YzJsdmJpQm1jbTl0SUhSb1pTQmhkWFJvYjNJc0lFMWhkR2hwWVhNZ1FuVjFjeUFvUUcxaFptbHVkRzl6YUNrdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJsYjNNN1hHNWNibVoxYm1OMGFXOXVJRzl1WTJVb1kyRnNiR0poWTJzcElIdGNiaUFnZG1GeUlHTmhiR3hsWkNBOUlHWmhiSE5sTzF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lHbG1JQ2hqWVd4c1pXUXBJSEpsZEhWeWJqdGNiaUFnSUNCallXeHNaV1FnUFNCMGNuVmxPMXh1SUNBZ0lHTmhiR3hpWVdOckxtRndjR3g1S0hadmFXUWdNQ3dnWVhKbmRXMWxiblJ6S1R0Y2JpQWdmVHRjYm4xY2JseHVkbUZ5SUY5eVpYRjFhWEpsSkdOdlpHVnpJRDBnY21WeGRXbHlaU2duTGk0dkxpNHZMaTR2WlhKeWIzSnpKeWt1WTI5a1pYTXNYRzRnSUNBZ1JWSlNYMDFKVTFOSlRrZGZRVkpIVXlBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOU5TVk5UU1U1SFgwRlNSMU1zWEc0Z0lDQWdSVkpTWDFOVVVrVkJUVjlFUlZOVVVrOVpSVVFnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkR0Y2JseHVablZ1WTNScGIyNGdibTl2Y0NobGNuSXBJSHRjYmlBZ0x5OGdVbVYwYUhKdmR5QjBhR1VnWlhKeWIzSWdhV1lnYVhRZ1pYaHBjM1J6SUhSdklHRjJiMmxrSUhOM1lXeHNiM2RwYm1jZ2FYUmNiaUFnYVdZZ0tHVnljaWtnZEdoeWIzY2daWEp5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFKbGNYVmxjM1FvYzNSeVpXRnRLU0I3WEc0Z0lISmxkSFZ5YmlCemRISmxZVzB1YzJWMFNHVmhaR1Z5SUNZbUlIUjVjR1Z2WmlCemRISmxZVzB1WVdKdmNuUWdQVDA5SUNkbWRXNWpkR2x2YmljN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdSbGMzUnliM2xsY2loemRISmxZVzBzSUhKbFlXUnBibWNzSUhkeWFYUnBibWNzSUdOaGJHeGlZV05yS1NCN1hHNGdJR05oYkd4aVlXTnJJRDBnYjI1alpTaGpZV3hzWW1GamF5azdYRzRnSUhaaGNpQmpiRzl6WldRZ1BTQm1ZV3h6WlR0Y2JpQWdjM1J5WldGdExtOXVLQ2RqYkc5elpTY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JqYkc5elpXUWdQU0IwY25WbE8xeHVJQ0I5S1R0Y2JpQWdhV1lnS0dWdmN5QTlQVDBnZFc1a1pXWnBibVZrS1NCbGIzTWdQU0J5WlhGMWFYSmxLQ2N1TDJWdVpDMXZaaTF6ZEhKbFlXMG5LVHRjYmlBZ1pXOXpLSE4wY21WaGJTd2dlMXh1SUNBZ0lISmxZV1JoWW14bE9pQnlaV0ZrYVc1bkxGeHVJQ0FnSUhkeWFYUmhZbXhsT2lCM2NtbDBhVzVuWEc0Z0lIMHNJR1oxYm1OMGFXOXVJQ2hsY25JcElIdGNiaUFnSUNCcFppQW9aWEp5S1NCeVpYUjFjbTRnWTJGc2JHSmhZMnNvWlhKeUtUdGNiaUFnSUNCamJHOXpaV1FnUFNCMGNuVmxPMXh1SUNBZ0lHTmhiR3hpWVdOcktDazdYRzRnSUgwcE8xeHVJQ0IyWVhJZ1pHVnpkSEp2ZVdWa0lEMGdabUZzYzJVN1hHNGdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9aWEp5S1NCN1hHNGdJQ0FnYVdZZ0tHTnNiM05sWkNrZ2NtVjBkWEp1TzF4dUlDQWdJR2xtSUNoa1pYTjBjbTk1WldRcElISmxkSFZ5Ymp0Y2JpQWdJQ0JrWlhOMGNtOTVaV1FnUFNCMGNuVmxPeUF2THlCeVpYRjFaWE4wTG1SbGMzUnliM2tnYW5WemRDQmtieUF1Wlc1a0lDMGdMbUZpYjNKMElHbHpJSGRvWVhRZ2QyVWdkMkZ1ZEZ4dVhHNGdJQ0FnYVdZZ0tHbHpVbVZ4ZFdWemRDaHpkSEpsWVcwcEtTQnlaWFIxY200Z2MzUnlaV0Z0TG1GaWIzSjBLQ2s3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ6ZEhKbFlXMHVaR1Z6ZEhKdmVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2NtVjBkWEp1SUhOMGNtVmhiUzVrWlhOMGNtOTVLQ2s3WEc0Z0lDQWdZMkZzYkdKaFkyc29aWEp5SUh4OElHNWxkeUJGVWxKZlUxUlNSVUZOWDBSRlUxUlNUMWxGUkNnbmNHbHdaU2NwS1R0Y2JpQWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdZMkZzYkNobWJpa2dlMXh1SUNCbWJpZ3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndhWEJsS0daeWIyMHNJSFJ2S1NCN1hHNGdJSEpsZEhWeWJpQm1jbTl0TG5CcGNHVW9kRzhwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3YjNCRFlXeHNZbUZqYXloemRISmxZVzF6S1NCN1hHNGdJR2xtSUNnaGMzUnlaV0Z0Y3k1c1pXNW5kR2dwSUhKbGRIVnliaUJ1YjI5d08xeHVJQ0JwWmlBb2RIbHdaVzltSUhOMGNtVmhiWE5iYzNSeVpXRnRjeTVzWlc1bmRHZ2dMU0F4WFNBaFBUMGdKMloxYm1OMGFXOXVKeWtnY21WMGRYSnVJRzV2YjNBN1hHNGdJSEpsZEhWeWJpQnpkSEpsWVcxekxuQnZjQ2dwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3YVhCbGJHbHVaU2dwSUh0Y2JpQWdabTl5SUNoMllYSWdYMnhsYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lITjBjbVZoYlhNZ1BTQnVaWGNnUVhKeVlYa29YMnhsYmlrc0lGOXJaWGtnUFNBd095QmZhMlY1SUR3Z1gyeGxianNnWDJ0bGVTc3JLU0I3WEc0Z0lDQWdjM1J5WldGdGMxdGZhMlY1WFNBOUlHRnlaM1Z0Wlc1MGMxdGZhMlY1WFR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJqWVd4c1ltRmpheUE5SUhCdmNFTmhiR3hpWVdOcktITjBjbVZoYlhNcE8xeHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2h6ZEhKbFlXMXpXekJkS1NrZ2MzUnlaV0Z0Y3lBOUlITjBjbVZoYlhOYk1GMDdYRzVjYmlBZ2FXWWdLSE4wY21WaGJYTXViR1Z1WjNSb0lEd2dNaWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJGVWxKZlRVbFRVMGxPUjE5QlVrZFRLQ2R6ZEhKbFlXMXpKeWs3WEc0Z0lIMWNibHh1SUNCMllYSWdaWEp5YjNJN1hHNGdJSFpoY2lCa1pYTjBjbTk1Y3lBOUlITjBjbVZoYlhNdWJXRndLR1oxYm1OMGFXOXVJQ2h6ZEhKbFlXMHNJR2twSUh0Y2JpQWdJQ0IyWVhJZ2NtVmhaR2x1WnlBOUlHa2dQQ0J6ZEhKbFlXMXpMbXhsYm1kMGFDQXRJREU3WEc0Z0lDQWdkbUZ5SUhkeWFYUnBibWNnUFNCcElENGdNRHRjYmlBZ0lDQnlaWFIxY200Z1pHVnpkSEp2ZVdWeUtITjBjbVZoYlN3Z2NtVmhaR2x1Wnl3Z2QzSnBkR2x1Wnl3Z1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJQ0FnYVdZZ0tDRmxjbkp2Y2lrZ1pYSnliM0lnUFNCbGNuSTdYRzRnSUNBZ0lDQnBaaUFvWlhKeUtTQmtaWE4wY205NWN5NW1iM0pGWVdOb0tHTmhiR3dwTzF4dUlDQWdJQ0FnYVdZZ0tISmxZV1JwYm1jcElISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUdSbGMzUnliM2x6TG1admNrVmhZMmdvWTJGc2JDazdYRzRnSUNBZ0lDQmpZV3hzWW1GamF5aGxjbkp2Y2lrN1hHNGdJQ0FnZlNrN1hHNGdJSDBwTzF4dUlDQnlaWFIxY200Z2MzUnlaV0Z0Y3k1eVpXUjFZMlVvY0dsd1pTazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NHbHdaV3hwYm1VN0lsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBFUlJfSU5WQUxJRF9PUFRfVkFMVUUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMuRVJSX0lOVkFMSURfT1BUX1ZBTFVFO1xcblxcbmZ1bmN0aW9uIGhpZ2hXYXRlck1hcmtGcm9tKG9wdGlvbnMsIGlzRHVwbGV4LCBkdXBsZXhLZXkpIHtcXG4gIHJldHVybiBvcHRpb25zLmhpZ2hXYXRlck1hcmsgIT0gbnVsbCA/IG9wdGlvbnMuaGlnaFdhdGVyTWFyayA6IGlzRHVwbGV4ID8gb3B0aW9uc1tkdXBsZXhLZXldIDogbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0SGlnaFdhdGVyTWFyayhzdGF0ZSwgb3B0aW9ucywgZHVwbGV4S2V5LCBpc0R1cGxleCkge1xcbiAgdmFyIGh3bSA9IGhpZ2hXYXRlck1hcmtGcm9tKG9wdGlvbnMsIGlzRHVwbGV4LCBkdXBsZXhLZXkpO1xcblxcbiAgaWYgKGh3bSAhPSBudWxsKSB7XFxuICAgIGlmICghKGlzRmluaXRlKGh3bSkgJiYgTWF0aC5mbG9vcihod20pID09PSBod20pIHx8IGh3bSA8IDApIHtcXG4gICAgICB2YXIgbmFtZSA9IGlzRHVwbGV4ID8gZHVwbGV4S2V5IDogJ2hpZ2hXYXRlck1hcmsnO1xcbiAgICAgIHRocm93IG5ldyBFUlJfSU5WQUxJRF9PUFRfVkFMVUUobmFtZSwgaHdtKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gTWF0aC5mbG9vcihod20pO1xcbiAgfSAvLyBEZWZhdWx0IHZhbHVlXFxuXFxuXFxuICByZXR1cm4gc3RhdGUub2JqZWN0TW9kZSA/IDE2IDogMTYgKiAxMDI0O1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGdldEhpZ2hXYXRlck1hcms6IGdldEhpZ2hXYXRlck1hcmtcXG59Oy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWNtOTNjMlZ5YVdaNUxYTnBaMjR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkR0YwWlM1cWN6OWxNR0UxSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTERSQ1FVRTBRaXh0UWtGQlR5eERRVUZETEhOSFFVRnBRanM3UVVGRmNrUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySnliM2R6WlhKcFpua3RjMmxuYmk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMM04wWVhSbExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdSVkpTWDBsT1ZrRk1TVVJmVDFCVVgxWkJURlZGSUQwZ2NtVnhkV2x5WlNnbkxpNHZMaTR2TGk0dlpYSnliM0p6SnlrdVkyOWtaWE11UlZKU1gwbE9Wa0ZNU1VSZlQxQlVYMVpCVEZWRk8xeHVYRzVtZFc1amRHbHZiaUJvYVdkb1YyRjBaWEpOWVhKclJuSnZiU2h2Y0hScGIyNXpMQ0JwYzBSMWNHeGxlQ3dnWkhWd2JHVjRTMlY1S1NCN1hHNGdJSEpsZEhWeWJpQnZjSFJwYjI1ekxtaHBaMmhYWVhSbGNrMWhjbXNnSVQwZ2JuVnNiQ0EvSUc5d2RHbHZibk11YUdsbmFGZGhkR1Z5VFdGeWF5QTZJR2x6UkhWd2JHVjRJRDhnYjNCMGFXOXVjMXRrZFhCc1pYaExaWGxkSURvZ2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwU0dsbmFGZGhkR1Z5VFdGeWF5aHpkR0YwWlN3Z2IzQjBhVzl1Y3l3Z1pIVndiR1Y0UzJWNUxDQnBjMFIxY0d4bGVDa2dlMXh1SUNCMllYSWdhSGR0SUQwZ2FHbG5hRmRoZEdWeVRXRnlhMFp5YjIwb2IzQjBhVzl1Y3l3Z2FYTkVkWEJzWlhnc0lHUjFjR3hsZUV0bGVTazdYRzVjYmlBZ2FXWWdLR2gzYlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnYVdZZ0tDRW9hWE5HYVc1cGRHVW9hSGR0S1NBbUppQk5ZWFJvTG1ac2IyOXlLR2gzYlNrZ1BUMDlJR2gzYlNrZ2ZId2dhSGR0SUR3Z01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUc1aGJXVWdQU0JwYzBSMWNHeGxlQ0EvSUdSMWNHeGxlRXRsZVNBNklDZG9hV2RvVjJGMFpYSk5ZWEpySnp0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRlVsSmZTVTVXUVV4SlJGOVBVRlJmVmtGTVZVVW9ibUZ0WlN3Z2FIZHRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVtYkc5dmNpaG9kMjBwTzF4dUlDQjlJQzh2SUVSbFptRjFiSFFnZG1Gc2RXVmNibHh1WEc0Z0lISmxkSFZ5YmlCemRHRjBaUzV2WW1wbFkzUk5iMlJsSUQ4Z01UWWdPaUF4TmlBcUlERXdNalE3WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdlMXh1SUNCblpYUklhV2RvVjJGMFpYSk5ZWEpyT2lCblpYUklhV2RvVjJGMFpYSk5ZWEpyWEc1OU95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2ZW50cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qc1xcXCIpLkV2ZW50RW1pdHRlcjtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTl6ZEhKbFlXMHRZbkp2ZDNObGNpNXFjejh5WmpjMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR2xDUVVGcFFpeHRRa0ZCVHl4RFFVRkRMQ3REUVVGUklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJKeWIzZHpaWEpwWm5rdGMybG5iaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzTjBjbVZoYlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2RsZG1WdWRITW5LUzVGZG1WdWRFVnRhWFIwWlhJN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxcIik7XFxuZXhwb3J0cy5TdHJlYW0gPSBleHBvcnRzO1xcbmV4cG9ydHMuUmVhZGFibGUgPSBleHBvcnRzO1xcbmV4cG9ydHMuV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbmV4cG9ydHMuRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcbmV4cG9ydHMuVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcbmV4cG9ydHMuUGFzc1Rocm91Z2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcXCIpO1xcbmV4cG9ydHMuZmluaXNoZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcXFwiKTtcXG5leHBvcnRzLnBpcGVsaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWljbTkzYzJWeWFXWjVMWE5wWjI0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXlaV0ZrWVdKc1pTMWljbTkzYzJWeUxtcHpQMk5sWkRraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNNa0pCUVRKQ0xHMUNRVUZQTEVOQlFVTXNjMGhCUVRKQ08wRkJRemxFTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYlVKQlFVOHNRMEZCUXl4elNFRkJNa0k3UVVGRGRFUXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNhMGhCUVhsQ08wRkJRMnhFTEc5Q1FVRnZRaXh0UWtGQlR5eERRVUZETEhkSVFVRTBRanRCUVVONFJDeHpRa0ZCYzBJc2JVSkJRVThzUTBGQlF5dzBTRUZCT0VJN1FVRkROVVFzYlVKQlFXMUNMRzFDUVVGUExFTkJRVU1zYTBwQlFYbERPMEZCUTNCRkxHMUNRVUZ0UWl4dFFrRkJUeXhEUVVGRExIZEpRVUZ2UXlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlpY205M2MyVnlhV1o1TFhOcFoyNHZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzl5WldGa1lXSnNaUzFpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMGN5QTlJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdjbVZ4ZFdseVpTZ25MaTlzYVdJdlgzTjBjbVZoYlY5eVpXRmtZV0pzWlM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVUZEhKbFlXMGdQU0JsZUhCdmNuUnpPMXh1Wlhod2IzSjBjeTVTWldGa1lXSnNaU0E5SUdWNGNHOXlkSE03WEc1bGVIQnZjblJ6TGxkeWFYUmhZbXhsSUQwZ2NtVnhkV2x5WlNnbkxpOXNhV0l2WDNOMGNtVmhiVjkzY21sMFlXSnNaUzVxY3ljcE8xeHVaWGh3YjNKMGN5NUVkWEJzWlhnZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5ZmMzUnlaV0Z0WDJSMWNHeGxlQzVxY3ljcE8xeHVaWGh3YjNKMGN5NVVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWZjM1J5WldGdFgzUnlZVzV6Wm05eWJTNXFjeWNwTzF4dVpYaHdiM0owY3k1UVlYTnpWR2h5YjNWbmFDQTlJSEpsY1hWcGNtVW9KeTR2YkdsaUwxOXpkSEpsWVcxZmNHRnpjM1JvY205MVoyZ3Vhbk1uS1R0Y2JtVjRjRzl5ZEhNdVptbHVhWE5vWldRZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJWdVpDMXZaaTF6ZEhKbFlXMHVhbk1uS1R0Y2JtVjRjRzl5ZEhNdWNHbHdaV3hwYm1VZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNCcGNHVnNhVzVsTG1wekp5azdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci14b3IvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9idWZmZXIteG9yL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHttb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHhvciAoYSwgYikge1xcbiAgdmFyIGxlbmd0aCA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcXG4gIHZhciBidWZmZXIgPSBuZXcgQnVmZmVyKGxlbmd0aClcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcXG4gICAgYnVmZmVyW2ldID0gYVtpXSBeIGJbaV1cXG4gIH1cXG5cXG4gIHJldHVybiBidWZmZXJcXG59XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vYnVmZmVyL2luZGV4LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXIpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWRXWm1aWEl0ZUc5eUwybHVaR1Y0TG1welB6bG1NMllpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhaUVVGWk8wRkJRemRDTzBGQlEwRTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWlkV1ptWlhJdGVHOXlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCNGIzSWdLR0VzSUdJcElIdGNiaUFnZG1GeUlHeGxibWQwYUNBOUlFMWhkR2d1YldsdUtHRXViR1Z1WjNSb0xDQmlMbXhsYm1kMGFDbGNiaUFnZG1GeUlHSjFabVpsY2lBOUlHNWxkeUJDZFdabVpYSW9iR1Z1WjNSb0tWeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQmlkV1ptWlhKYmFWMGdQU0JoVzJsZElGNGdZbHRwWFZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdKMVptWmxjbHh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvYnVmZmVyLXhvci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihnbG9iYWwpIHsvKiFcXG4gKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci5cXG4gKlxcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwOi8vZmVyb3NzLm9yZz5cXG4gKiBAbGljZW5zZSAgTUlUXFxuICovXFxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG8gKi9cXG5cXG5cXG5cXG52YXIgYmFzZTY0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmFzZTY0LWpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanNcXFwiKVxcbnZhciBpZWVlNzU0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaWVlZTc1NCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qc1xcXCIpXFxudmFyIGlzQXJyYXkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpc2FycmF5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzXFxcIilcXG5cXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxcbmV4cG9ydHMuU2xvd0J1ZmZlciA9IFNsb3dCdWZmZXJcXG5leHBvcnRzLklOU1BFQ1RfTUFYX0JZVEVTID0gNTBcXG5cXG4vKipcXG4gKiBJZiBgQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRgOlxcbiAqICAgPT09IHRydWUgICAgVXNlIFVpbnQ4QXJyYXkgaW1wbGVtZW50YXRpb24gKGZhc3Rlc3QpXFxuICogICA9PT0gZmFsc2UgICBVc2UgT2JqZWN0IGltcGxlbWVudGF0aW9uIChtb3N0IGNvbXBhdGlibGUsIGV2ZW4gSUU2KVxcbiAqXFxuICogQnJvd3NlcnMgdGhhdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBhcmUgSUUgMTArLCBGaXJlZm94IDQrLCBDaHJvbWUgNyssIFNhZmFyaSA1LjErLFxcbiAqIE9wZXJhIDExLjYrLCBpT1MgNC4yKy5cXG4gKlxcbiAqIER1ZSB0byB2YXJpb3VzIGJyb3dzZXIgYnVncywgc29tZXRpbWVzIHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24gd2lsbCBiZSB1c2VkIGV2ZW5cXG4gKiB3aGVuIHRoZSBicm93c2VyIHN1cHBvcnRzIHR5cGVkIGFycmF5cy5cXG4gKlxcbiAqIE5vdGU6XFxuICpcXG4gKiAgIC0gRmlyZWZveCA0LTI5IGxhY2tzIHN1cHBvcnQgZm9yIGFkZGluZyBuZXcgcHJvcGVydGllcyB0byBgVWludDhBcnJheWAgaW5zdGFuY2VzLFxcbiAqICAgICBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOC5cXG4gKlxcbiAqICAgLSBDaHJvbWUgOS0xMCBpcyBtaXNzaW5nIHRoZSBgVHlwZWRBcnJheS5wcm90b3R5cGUuc3ViYXJyYXlgIGZ1bmN0aW9uLlxcbiAqXFxuICogICAtIElFMTAgaGFzIGEgYnJva2VuIGBUeXBlZEFycmF5LnByb3RvdHlwZS5zdWJhcnJheWAgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhcnJheXMgb2ZcXG4gKiAgICAgaW5jb3JyZWN0IGxlbmd0aCBpbiBzb21lIHNpdHVhdGlvbnMuXFxuXFxuICogV2UgZGV0ZWN0IHRoZXNlIGJ1Z2d5IGJyb3dzZXJzIGFuZCBzZXQgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYCB0byBgZmFsc2VgIHNvIHRoZXlcXG4gKiBnZXQgdGhlIE9iamVjdCBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaXMgc2xvd2VyIGJ1dCBiZWhhdmVzIGNvcnJlY3RseS5cXG4gKi9cXG5CdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCA9IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUICE9PSB1bmRlZmluZWRcXG4gID8gZ2xvYmFsLlRZUEVEX0FSUkFZX1NVUFBPUlRcXG4gIDogdHlwZWRBcnJheVN1cHBvcnQoKVxcblxcbi8qXFxuICogRXhwb3J0IGtNYXhMZW5ndGggYWZ0ZXIgdHlwZWQgYXJyYXkgc3VwcG9ydCBpcyBkZXRlcm1pbmVkLlxcbiAqL1xcbmV4cG9ydHMua01heExlbmd0aCA9IGtNYXhMZW5ndGgoKVxcblxcbmZ1bmN0aW9uIHR5cGVkQXJyYXlTdXBwb3J0ICgpIHtcXG4gIHRyeSB7XFxuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheSgxKVxcbiAgICBhcnIuX19wcm90b19fID0ge19fcHJvdG9fXzogVWludDhBcnJheS5wcm90b3R5cGUsIGZvbzogZnVuY3Rpb24gKCkgeyByZXR1cm4gNDIgfX1cXG4gICAgcmV0dXJuIGFyci5mb28oKSA9PT0gNDIgJiYgLy8gdHlwZWQgYXJyYXkgaW5zdGFuY2VzIGNhbiBiZSBhdWdtZW50ZWRcXG4gICAgICAgIHR5cGVvZiBhcnIuc3ViYXJyYXkgPT09ICdmdW5jdGlvbicgJiYgLy8gY2hyb21lIDktMTAgbGFjayBgc3ViYXJyYXlgXFxuICAgICAgICBhcnIuc3ViYXJyYXkoMSwgMSkuYnl0ZUxlbmd0aCA9PT0gMCAvLyBpZTEwIGhhcyBicm9rZW4gYHN1YmFycmF5YFxcbiAgfSBjYXRjaCAoZSkge1xcbiAgICByZXR1cm4gZmFsc2VcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24ga01heExlbmd0aCAoKSB7XFxuICByZXR1cm4gQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRcXG4gICAgPyAweDdmZmZmZmZmXFxuICAgIDogMHgzZmZmZmZmZlxcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVCdWZmZXIgKHRoYXQsIGxlbmd0aCkge1xcbiAgaWYgKGtNYXhMZW5ndGgoKSA8IGxlbmd0aCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgnKVxcbiAgfVxcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxcbiAgICB0aGF0ID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKVxcbiAgICB0aGF0Ll9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcXG4gIH0gZWxzZSB7XFxuICAgIC8vIEZhbGxiYWNrOiBSZXR1cm4gYW4gb2JqZWN0IGluc3RhbmNlIG9mIHRoZSBCdWZmZXIgY2xhc3NcXG4gICAgaWYgKHRoYXQgPT09IG51bGwpIHtcXG4gICAgICB0aGF0ID0gbmV3IEJ1ZmZlcihsZW5ndGgpXFxuICAgIH1cXG4gICAgdGhhdC5sZW5ndGggPSBsZW5ndGhcXG4gIH1cXG5cXG4gIHJldHVybiB0aGF0XFxufVxcblxcbi8qKlxcbiAqIFRoZSBCdWZmZXIgY29uc3RydWN0b3IgcmV0dXJucyBpbnN0YW5jZXMgb2YgYFVpbnQ4QXJyYXlgIHRoYXQgaGF2ZSB0aGVpclxcbiAqIHByb3RvdHlwZSBjaGFuZ2VkIHRvIGBCdWZmZXIucHJvdG90eXBlYC4gRnVydGhlcm1vcmUsIGBCdWZmZXJgIGlzIGEgc3ViY2xhc3Mgb2ZcXG4gKiBgVWludDhBcnJheWAsIHNvIHRoZSByZXR1cm5lZCBpbnN0YW5jZXMgd2lsbCBoYXZlIGFsbCB0aGUgbm9kZSBgQnVmZmVyYCBtZXRob2RzXFxuICogYW5kIHRoZSBgVWludDhBcnJheWAgbWV0aG9kcy4gU3F1YXJlIGJyYWNrZXQgbm90YXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgLS0gaXRcXG4gKiByZXR1cm5zIGEgc2luZ2xlIG9jdGV0LlxcbiAqXFxuICogVGhlIGBVaW50OEFycmF5YCBwcm90b3R5cGUgcmVtYWlucyB1bm1vZGlmaWVkLlxcbiAqL1xcblxcbmZ1bmN0aW9uIEJ1ZmZlciAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiYgISh0aGlzIGluc3RhbmNlb2YgQnVmZmVyKSkge1xcbiAgICByZXR1cm4gbmV3IEJ1ZmZlcihhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG4gIH1cXG5cXG4gIC8vIENvbW1vbiBjYXNlLlxcbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XFxuICAgIGlmICh0eXBlb2YgZW5jb2RpbmdPck9mZnNldCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXFxuICAgICAgICAnSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnXFxuICAgICAgKVxcbiAgICB9XFxuICAgIHJldHVybiBhbGxvY1Vuc2FmZSh0aGlzLCBhcmcpXFxuICB9XFxuICByZXR1cm4gZnJvbSh0aGlzLCBhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuQnVmZmVyLnBvb2xTaXplID0gODE5MiAvLyBub3QgdXNlZCBieSB0aGlzIGltcGxlbWVudGF0aW9uXFxuXFxuLy8gVE9ETzogTGVnYWN5LCBub3QgbmVlZGVkIGFueW1vcmUuIFJlbW92ZSBpbiBuZXh0IG1ham9yIHZlcnNpb24uXFxuQnVmZmVyLl9hdWdtZW50ID0gZnVuY3Rpb24gKGFycikge1xcbiAgYXJyLl9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcXG4gIHJldHVybiBhcnJcXG59XFxuXFxuZnVuY3Rpb24gZnJvbSAodGhhdCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcInZhbHVlXFxcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXFxuICB9XFxuXFxuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XFxuICAgIHJldHVybiBmcm9tQXJyYXlCdWZmZXIodGhhdCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiBmcm9tU3RyaW5nKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxcbiAgfVxcblxcbiAgcmV0dXJuIGZyb21PYmplY3QodGhhdCwgdmFsdWUpXFxufVxcblxcbi8qKlxcbiAqIEZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIEJ1ZmZlcihhcmcsIGVuY29kaW5nKSBidXQgdGhyb3dzIGEgVHlwZUVycm9yXFxuICogaWYgdmFsdWUgaXMgYSBudW1iZXIuXFxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxcbiAqIEJ1ZmZlci5mcm9tKGFycmF5KVxcbiAqIEJ1ZmZlci5mcm9tKGJ1ZmZlcilcXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcXG4gKiovXFxuQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xcbiAgcmV0dXJuIGZyb20obnVsbCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICBCdWZmZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXkucHJvdG90eXBlXFxuICBCdWZmZXIuX19wcm90b19fID0gVWludDhBcnJheVxcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5zcGVjaWVzICYmXFxuICAgICAgQnVmZmVyW1N5bWJvbC5zcGVjaWVzXSA9PT0gQnVmZmVyKSB7XFxuICAgIC8vIEZpeCBzdWJhcnJheSgpIGluIEVTMjAxNi4gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmVyb3NzL2J1ZmZlci9wdWxsLzk3XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIsIFN5bWJvbC5zcGVjaWVzLCB7XFxuICAgICAgdmFsdWU6IG51bGwsXFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXFxuICAgIH0pXFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGFzc2VydFNpemUgKHNpemUpIHtcXG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcInNpemVcXFwiIGFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxcbiAgfSBlbHNlIGlmIChzaXplIDwgMCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFxcInNpemVcXFwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG5lZ2F0aXZlJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWxsb2MgKHRoYXQsIHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XFxuICBhc3NlcnRTaXplKHNpemUpXFxuICBpZiAoc2l6ZSA8PSAwKSB7XFxuICAgIHJldHVybiBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSlcXG4gIH1cXG4gIGlmIChmaWxsICE9PSB1bmRlZmluZWQpIHtcXG4gICAgLy8gT25seSBwYXkgYXR0ZW50aW9uIHRvIGVuY29kaW5nIGlmIGl0J3MgYSBzdHJpbmcuIFRoaXNcXG4gICAgLy8gcHJldmVudHMgYWNjaWRlbnRhbGx5IHNlbmRpbmcgaW4gYSBudW1iZXIgdGhhdCB3b3VsZFxcbiAgICAvLyBiZSBpbnRlcnByZXR0ZWQgYXMgYSBzdGFydCBvZmZzZXQuXFxuICAgIHJldHVybiB0eXBlb2YgZW5jb2RpbmcgPT09ICdzdHJpbmcnXFxuICAgICAgPyBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSkuZmlsbChmaWxsLCBlbmNvZGluZylcXG4gICAgICA6IGNyZWF0ZUJ1ZmZlcih0aGF0LCBzaXplKS5maWxsKGZpbGwpXFxuICB9XFxuICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXFxufVxcblxcbi8qKlxcbiAqIENyZWF0ZXMgYSBuZXcgZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cXG4gKiBhbGxvYyhzaXplWywgZmlsbFssIGVuY29kaW5nXV0pXFxuICoqL1xcbkJ1ZmZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xcbiAgcmV0dXJuIGFsbG9jKG51bGwsIHNpemUsIGZpbGwsIGVuY29kaW5nKVxcbn1cXG5cXG5mdW5jdGlvbiBhbGxvY1Vuc2FmZSAodGhhdCwgc2l6ZSkge1xcbiAgYXNzZXJ0U2l6ZShzaXplKVxcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBzaXplIDwgMCA/IDAgOiBjaGVja2VkKHNpemUpIHwgMClcXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHtcXG4gICAgICB0aGF0W2ldID0gMFxcbiAgICB9XFxuICB9XFxuICByZXR1cm4gdGhhdFxcbn1cXG5cXG4vKipcXG4gKiBFcXVpdmFsZW50IHRvIEJ1ZmZlcihudW0pLCBieSBkZWZhdWx0IGNyZWF0ZXMgYSBub24temVyby1maWxsZWQgQnVmZmVyIGluc3RhbmNlLlxcbiAqICovXFxuQnVmZmVyLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKHNpemUpIHtcXG4gIHJldHVybiBhbGxvY1Vuc2FmZShudWxsLCBzaXplKVxcbn1cXG4vKipcXG4gKiBFcXVpdmFsZW50IHRvIFNsb3dCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cXG4gKi9cXG5CdWZmZXIuYWxsb2NVbnNhZmVTbG93ID0gZnVuY3Rpb24gKHNpemUpIHtcXG4gIHJldHVybiBhbGxvY1Vuc2FmZShudWxsLCBzaXplKVxcbn1cXG5cXG5mdW5jdGlvbiBmcm9tU3RyaW5nICh0aGF0LCBzdHJpbmcsIGVuY29kaW5nKSB7XFxuICBpZiAodHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJyB8fCBlbmNvZGluZyA9PT0gJycpIHtcXG4gICAgZW5jb2RpbmcgPSAndXRmOCdcXG4gIH1cXG5cXG4gIGlmICghQnVmZmVyLmlzRW5jb2RpbmcoZW5jb2RpbmcpKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJlbmNvZGluZ1xcXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpXFxuICB9XFxuXFxuICB2YXIgbGVuZ3RoID0gYnl0ZUxlbmd0aChzdHJpbmcsIGVuY29kaW5nKSB8IDBcXG4gIHRoYXQgPSBjcmVhdGVCdWZmZXIodGhhdCwgbGVuZ3RoKVxcblxcbiAgdmFyIGFjdHVhbCA9IHRoYXQud3JpdGUoc3RyaW5nLCBlbmNvZGluZylcXG5cXG4gIGlmIChhY3R1YWwgIT09IGxlbmd0aCkge1xcbiAgICAvLyBXcml0aW5nIGEgaGV4IHN0cmluZywgZm9yIGV4YW1wbGUsIHRoYXQgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzIHdpbGxcXG4gICAgLy8gY2F1c2UgZXZlcnl0aGluZyBhZnRlciB0aGUgZmlyc3QgaW52YWxpZCBjaGFyYWN0ZXIgdG8gYmUgaWdub3JlZC4gKGUuZy5cXG4gICAgLy8gJ2FieHhjZCcgd2lsbCBiZSB0cmVhdGVkIGFzICdhYicpXFxuICAgIHRoYXQgPSB0aGF0LnNsaWNlKDAsIGFjdHVhbClcXG4gIH1cXG5cXG4gIHJldHVybiB0aGF0XFxufVxcblxcbmZ1bmN0aW9uIGZyb21BcnJheUxpa2UgKHRoYXQsIGFycmF5KSB7XFxuICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoIDwgMCA/IDAgOiBjaGVja2VkKGFycmF5Lmxlbmd0aCkgfCAwXFxuICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIGxlbmd0aClcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcXG4gICAgdGhhdFtpXSA9IGFycmF5W2ldICYgMjU1XFxuICB9XFxuICByZXR1cm4gdGhhdFxcbn1cXG5cXG5mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIgKHRoYXQsIGFycmF5LCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGFycmF5LmJ5dGVMZW5ndGggLy8gdGhpcyB0aHJvd3MgaWYgYGFycmF5YCBpcyBub3QgYSB2YWxpZCBBcnJheUJ1ZmZlclxcblxcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwIHx8IGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0KSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdcXFxcJ29mZnNldFxcXFwnIGlzIG91dCBvZiBib3VuZHMnKVxcbiAgfVxcblxcbiAgaWYgKGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0ICsgKGxlbmd0aCB8fCAwKSkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFxcXCdsZW5ndGhcXFxcJyBpcyBvdXQgb2YgYm91bmRzJylcXG4gIH1cXG5cXG4gIGlmIChieXRlT2Zmc2V0ID09PSB1bmRlZmluZWQgJiYgbGVuZ3RoID09PSB1bmRlZmluZWQpIHtcXG4gICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheSlcXG4gIH0gZWxzZSBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcXG4gICAgYXJyYXkgPSBuZXcgVWludDhBcnJheShhcnJheSwgYnl0ZU9mZnNldClcXG4gIH0gZWxzZSB7XFxuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcXG4gIH1cXG5cXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xcbiAgICAvLyBSZXR1cm4gYW4gYXVnbWVudGVkIGBVaW50OEFycmF5YCBpbnN0YW5jZSwgZm9yIGJlc3QgcGVyZm9ybWFuY2VcXG4gICAgdGhhdCA9IGFycmF5XFxuICAgIHRoYXQuX19wcm90b19fID0gQnVmZmVyLnByb3RvdHlwZVxcbiAgfSBlbHNlIHtcXG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xcbiAgICB0aGF0ID0gZnJvbUFycmF5TGlrZSh0aGF0LCBhcnJheSlcXG4gIH1cXG4gIHJldHVybiB0aGF0XFxufVxcblxcbmZ1bmN0aW9uIGZyb21PYmplY3QgKHRoYXQsIG9iaikge1xcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XFxuICAgIHZhciBsZW4gPSBjaGVja2VkKG9iai5sZW5ndGgpIHwgMFxcbiAgICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIGxlbilcXG5cXG4gICAgaWYgKHRoYXQubGVuZ3RoID09PSAwKSB7XFxuICAgICAgcmV0dXJuIHRoYXRcXG4gICAgfVxcblxcbiAgICBvYmouY29weSh0aGF0LCAwLCAwLCBsZW4pXFxuICAgIHJldHVybiB0aGF0XFxuICB9XFxuXFxuICBpZiAob2JqKSB7XFxuICAgIGlmICgodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJlxcbiAgICAgICAgb2JqLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB8fCAnbGVuZ3RoJyBpbiBvYmopIHtcXG4gICAgICBpZiAodHlwZW9mIG9iai5sZW5ndGggIT09ICdudW1iZXInIHx8IGlzbmFuKG9iai5sZW5ndGgpKSB7XFxuICAgICAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIDApXFxuICAgICAgfVxcbiAgICAgIHJldHVybiBmcm9tQXJyYXlMaWtlKHRoYXQsIG9iailcXG4gICAgfVxcblxcbiAgICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIGlzQXJyYXkob2JqLmRhdGEpKSB7XFxuICAgICAgcmV0dXJuIGZyb21BcnJheUxpa2UodGhhdCwgb2JqLmRhdGEpXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBhcnJheS1saWtlIG9iamVjdC4nKVxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja2VkIChsZW5ndGgpIHtcXG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IGtNYXhMZW5ndGgoKWAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxcbiAgLy8gbGVuZ3RoIGlzIE5hTiAod2hpY2ggaXMgb3RoZXJ3aXNlIGNvZXJjZWQgdG8gemVyby4pXFxuICBpZiAobGVuZ3RoID49IGtNYXhMZW5ndGgoKSkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgJ3NpemU6IDB4JyArIGtNYXhMZW5ndGgoKS50b1N0cmluZygxNikgKyAnIGJ5dGVzJylcXG4gIH1cXG4gIHJldHVybiBsZW5ndGggfCAwXFxufVxcblxcbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xcbiAgaWYgKCtsZW5ndGggIT0gbGVuZ3RoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZXFlcWVxXFxuICAgIGxlbmd0aCA9IDBcXG4gIH1cXG4gIHJldHVybiBCdWZmZXIuYWxsb2MoK2xlbmd0aClcXG59XFxuXFxuQnVmZmVyLmlzQnVmZmVyID0gZnVuY3Rpb24gaXNCdWZmZXIgKGIpIHtcXG4gIHJldHVybiAhIShiICE9IG51bGwgJiYgYi5faXNCdWZmZXIpXFxufVxcblxcbkJ1ZmZlci5jb21wYXJlID0gZnVuY3Rpb24gY29tcGFyZSAoYSwgYikge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYSkgfHwgIUJ1ZmZlci5pc0J1ZmZlcihiKSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudHMgbXVzdCBiZSBCdWZmZXJzJylcXG4gIH1cXG5cXG4gIGlmIChhID09PSBiKSByZXR1cm4gMFxcblxcbiAgdmFyIHggPSBhLmxlbmd0aFxcbiAgdmFyIHkgPSBiLmxlbmd0aFxcblxcbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcXG4gICAgaWYgKGFbaV0gIT09IGJbaV0pIHtcXG4gICAgICB4ID0gYVtpXVxcbiAgICAgIHkgPSBiW2ldXFxuICAgICAgYnJlYWtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHggPCB5KSByZXR1cm4gLTFcXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcXG4gIHJldHVybiAwXFxufVxcblxcbkJ1ZmZlci5pc0VuY29kaW5nID0gZnVuY3Rpb24gaXNFbmNvZGluZyAoZW5jb2RpbmcpIHtcXG4gIHN3aXRjaCAoU3RyaW5nKGVuY29kaW5nKS50b0xvd2VyQ2FzZSgpKSB7XFxuICAgIGNhc2UgJ2hleCc6XFxuICAgIGNhc2UgJ3V0ZjgnOlxcbiAgICBjYXNlICd1dGYtOCc6XFxuICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgY2FzZSAnbGF0aW4xJzpcXG4gICAgY2FzZSAnYmluYXJ5JzpcXG4gICAgY2FzZSAnYmFzZTY0JzpcXG4gICAgY2FzZSAndWNzMic6XFxuICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgY2FzZSAndXRmMTZsZSc6XFxuICAgIGNhc2UgJ3V0Zi0xNmxlJzpcXG4gICAgICByZXR1cm4gdHJ1ZVxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHJldHVybiBmYWxzZVxcbiAgfVxcbn1cXG5cXG5CdWZmZXIuY29uY2F0ID0gZnVuY3Rpb24gY29uY2F0IChsaXN0LCBsZW5ndGgpIHtcXG4gIGlmICghaXNBcnJheShsaXN0KSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcXFwibGlzdFxcXCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcXG4gIH1cXG5cXG4gIGlmIChsaXN0Lmxlbmd0aCA9PT0gMCkge1xcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXFxuICB9XFxuXFxuICB2YXIgaVxcbiAgaWYgKGxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGxlbmd0aCA9IDBcXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcXG4gICAgICBsZW5ndGggKz0gbGlzdFtpXS5sZW5ndGhcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW5ndGgpXFxuICB2YXIgcG9zID0gMFxcbiAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcXG4gICAgdmFyIGJ1ZiA9IGxpc3RbaV1cXG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJsaXN0XFxcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKVxcbiAgICB9XFxuICAgIGJ1Zi5jb3B5KGJ1ZmZlciwgcG9zKVxcbiAgICBwb3MgKz0gYnVmLmxlbmd0aFxcbiAgfVxcbiAgcmV0dXJuIGJ1ZmZlclxcbn1cXG5cXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChzdHJpbmcsIGVuY29kaW5nKSB7XFxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHN0cmluZykpIHtcXG4gICAgcmV0dXJuIHN0cmluZy5sZW5ndGhcXG4gIH1cXG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcgPT09ICdmdW5jdGlvbicgJiZcXG4gICAgICAoQXJyYXlCdWZmZXIuaXNWaWV3KHN0cmluZykgfHwgc3RyaW5nIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XFxuICAgIHJldHVybiBzdHJpbmcuYnl0ZUxlbmd0aFxcbiAgfVxcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XFxuICAgIHN0cmluZyA9ICcnICsgc3RyaW5nXFxuICB9XFxuXFxuICB2YXIgbGVuID0gc3RyaW5nLmxlbmd0aFxcbiAgaWYgKGxlbiA9PT0gMCkgcmV0dXJuIDBcXG5cXG4gIC8vIFVzZSBhIGZvciBsb29wIHRvIGF2b2lkIHJlY3Vyc2lvblxcbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcXG4gIGZvciAoOzspIHtcXG4gICAgc3dpdGNoIChlbmNvZGluZykge1xcbiAgICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgICBjYXNlICdsYXRpbjEnOlxcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XFxuICAgICAgICByZXR1cm4gbGVuXFxuICAgICAgY2FzZSAndXRmOCc6XFxuICAgICAgY2FzZSAndXRmLTgnOlxcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxcbiAgICAgICAgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoXFxuICAgICAgY2FzZSAndWNzMic6XFxuICAgICAgY2FzZSAndWNzLTInOlxcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcXG4gICAgICAgIHJldHVybiBsZW4gKiAyXFxuICAgICAgY2FzZSAnaGV4JzpcXG4gICAgICAgIHJldHVybiBsZW4gPj4+IDFcXG4gICAgICBjYXNlICdiYXNlNjQnOlxcbiAgICAgICAgcmV0dXJuIGJhc2U2NFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSByZXR1cm4gdXRmOFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGggLy8gYXNzdW1lIHV0ZjhcXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcXG4gICAgICAgIGxvd2VyZWRDYXNlID0gdHJ1ZVxcbiAgICB9XFxuICB9XFxufVxcbkJ1ZmZlci5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxcblxcbmZ1bmN0aW9uIHNsb3dUb1N0cmluZyAoZW5jb2RpbmcsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciBsb3dlcmVkQ2FzZSA9IGZhbHNlXFxuXFxuICAvLyBObyBuZWVkIHRvIHZlcmlmeSB0aGF0IFxcXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXFxcIiBzaW5jZSBpdCdzIGEgcmVhZC1vbmx5XFxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxcblxcbiAgLy8gVGhpcyBiZWhhdmVzIG5laXRoZXIgbGlrZSBTdHJpbmcgbm9yIFVpbnQ4QXJyYXkgaW4gdGhhdCB3ZSBzZXQgc3RhcnQvZW5kXFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXFxuICAvLyB1bmRlZmluZWQgaXMgaGFuZGxlZCBzcGVjaWFsbHkgYXMgcGVyIEVDTUEtMjYyIDZ0aCBFZGl0aW9uLFxcbiAgLy8gU2VjdGlvbiAxMy4zLjMuNyBSdW50aW1lIFNlbWFudGljczogS2V5ZWRCaW5kaW5nSW5pdGlhbGl6YXRpb24uXFxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcXG4gICAgc3RhcnQgPSAwXFxuICB9XFxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxcbiAgLy8gY29lcmNpb24gZmFpbCBiZWxvdy5cXG4gIGlmIChzdGFydCA+IHRoaXMubGVuZ3RoKSB7XFxuICAgIHJldHVybiAnJ1xcbiAgfVxcblxcbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XFxuICAgIGVuZCA9IHRoaXMubGVuZ3RoXFxuICB9XFxuXFxuICBpZiAoZW5kIDw9IDApIHtcXG4gICAgcmV0dXJuICcnXFxuICB9XFxuXFxuICAvLyBGb3JjZSBjb2Vyc2lvbiB0byB1aW50MzIuIFRoaXMgd2lsbCBhbHNvIGNvZXJjZSBmYWxzZXkvTmFOIHZhbHVlcyB0byAwLlxcbiAgZW5kID4+Pj0gMFxcbiAgc3RhcnQgPj4+PSAwXFxuXFxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XFxuICAgIHJldHVybiAnJ1xcbiAgfVxcblxcbiAgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSAndXRmOCdcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcXG4gICAgICBjYXNlICdoZXgnOlxcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgY2FzZSAndXRmOCc6XFxuICAgICAgY2FzZSAndXRmLTgnOlxcbiAgICAgICAgcmV0dXJuIHV0ZjhTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxcblxcbiAgICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgICAgIHJldHVybiBhc2NpaVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgY2FzZSAnbGF0aW4xJzpcXG4gICAgICBjYXNlICdiaW5hcnknOlxcbiAgICAgICAgcmV0dXJuIGxhdGluMVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgY2FzZSAnYmFzZTY0JzpcXG4gICAgICAgIHJldHVybiBiYXNlNjRTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxcblxcbiAgICAgIGNhc2UgJ3VjczInOlxcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgICBjYXNlICd1dGYxNmxlJzpcXG4gICAgICBjYXNlICd1dGYtMTZsZSc6XFxuICAgICAgICByZXR1cm4gdXRmMTZsZVNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLy8gVGhlIHByb3BlcnR5IGlzIHVzZWQgYnkgYEJ1ZmZlci5pc0J1ZmZlcmAgYW5kIGBpcy1idWZmZXJgIChpbiBTYWZhcmkgNS03KSB0byBkZXRlY3RcXG4vLyBCdWZmZXIgaW5zdGFuY2VzLlxcbkJ1ZmZlci5wcm90b3R5cGUuX2lzQnVmZmVyID0gdHJ1ZVxcblxcbmZ1bmN0aW9uIHN3YXAgKGIsIG4sIG0pIHtcXG4gIHZhciBpID0gYltuXVxcbiAgYltuXSA9IGJbbV1cXG4gIGJbbV0gPSBpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDE2ID0gZnVuY3Rpb24gc3dhcDE2ICgpIHtcXG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxcbiAgaWYgKGxlbiAlIDIgIT09IDApIHtcXG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzJylcXG4gIH1cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHtcXG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMSlcXG4gIH1cXG4gIHJldHVybiB0aGlzXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyID0gZnVuY3Rpb24gc3dhcDMyICgpIHtcXG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxcbiAgaWYgKGxlbiAlIDQgIT09IDApIHtcXG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcXG4gIH1cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDQpIHtcXG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcXG4gICAgc3dhcCh0aGlzLCBpICsgMSwgaSArIDIpXFxuICB9XFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XFxuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcXG4gIGlmIChsZW4gJSA4ICE9PSAwKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cycpXFxuICB9XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSArPSA4KSB7XFxuICAgIHN3YXAodGhpcywgaSwgaSArIDcpXFxuICAgIHN3YXAodGhpcywgaSArIDEsIGkgKyA2KVxcbiAgICBzd2FwKHRoaXMsIGkgKyAyLCBpICsgNSlcXG4gICAgc3dhcCh0aGlzLCBpICsgMywgaSArIDQpXFxuICB9XFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKCkge1xcbiAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoIHwgMFxcbiAgaWYgKGxlbmd0aCA9PT0gMCkgcmV0dXJuICcnXFxuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHV0ZjhTbGljZSh0aGlzLCAwLCBsZW5ndGgpXFxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcXG4gIGlmICh0aGlzID09PSBiKSByZXR1cm4gdHJ1ZVxcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgdmFyIHN0ciA9ICcnXFxuICB2YXIgbWF4ID0gZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFU1xcbiAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xcbiAgICBzdHIgPSB0aGlzLnRvU3RyaW5nKCdoZXgnLCAwLCBtYXgpLm1hdGNoKC8uezJ9L2cpLmpvaW4oJyAnKVxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBtYXgpIHN0ciArPSAnIC4uLiAnXFxuICB9XFxuICByZXR1cm4gJzxCdWZmZXIgJyArIHN0ciArICc+J1xcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLmNvbXBhcmUgPSBmdW5jdGlvbiBjb21wYXJlICh0YXJnZXQsIHN0YXJ0LCBlbmQsIHRoaXNTdGFydCwgdGhpc0VuZCkge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIodGFyZ2V0KSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcXG4gIH1cXG5cXG4gIGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIHN0YXJ0ID0gMFxcbiAgfVxcbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGVuZCA9IHRhcmdldCA/IHRhcmdldC5sZW5ndGggOiAwXFxuICB9XFxuICBpZiAodGhpc1N0YXJ0ID09PSB1bmRlZmluZWQpIHtcXG4gICAgdGhpc1N0YXJ0ID0gMFxcbiAgfVxcbiAgaWYgKHRoaXNFbmQgPT09IHVuZGVmaW5lZCkge1xcbiAgICB0aGlzRW5kID0gdGhpcy5sZW5ndGhcXG4gIH1cXG5cXG4gIGlmIChzdGFydCA8IDAgfHwgZW5kID4gdGFyZ2V0Lmxlbmd0aCB8fCB0aGlzU3RhcnQgPCAwIHx8IHRoaXNFbmQgPiB0aGlzLmxlbmd0aCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb3V0IG9mIHJhbmdlIGluZGV4JylcXG4gIH1cXG5cXG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCAmJiBzdGFydCA+PSBlbmQpIHtcXG4gICAgcmV0dXJuIDBcXG4gIH1cXG4gIGlmICh0aGlzU3RhcnQgPj0gdGhpc0VuZCkge1xcbiAgICByZXR1cm4gLTFcXG4gIH1cXG4gIGlmIChzdGFydCA+PSBlbmQpIHtcXG4gICAgcmV0dXJuIDFcXG4gIH1cXG5cXG4gIHN0YXJ0ID4+Pj0gMFxcbiAgZW5kID4+Pj0gMFxcbiAgdGhpc1N0YXJ0ID4+Pj0gMFxcbiAgdGhpc0VuZCA+Pj49IDBcXG5cXG4gIGlmICh0aGlzID09PSB0YXJnZXQpIHJldHVybiAwXFxuXFxuICB2YXIgeCA9IHRoaXNFbmQgLSB0aGlzU3RhcnRcXG4gIHZhciB5ID0gZW5kIC0gc3RhcnRcXG4gIHZhciBsZW4gPSBNYXRoLm1pbih4LCB5KVxcblxcbiAgdmFyIHRoaXNDb3B5ID0gdGhpcy5zbGljZSh0aGlzU3RhcnQsIHRoaXNFbmQpXFxuICB2YXIgdGFyZ2V0Q29weSA9IHRhcmdldC5zbGljZShzdGFydCwgZW5kKVxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xcbiAgICBpZiAodGhpc0NvcHlbaV0gIT09IHRhcmdldENvcHlbaV0pIHtcXG4gICAgICB4ID0gdGhpc0NvcHlbaV1cXG4gICAgICB5ID0gdGFyZ2V0Q29weVtpXVxcbiAgICAgIGJyZWFrXFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXFxuICBpZiAoeSA8IHgpIHJldHVybiAxXFxuICByZXR1cm4gMFxcbn1cXG5cXG4vLyBGaW5kcyBlaXRoZXIgdGhlIGZpcnN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA+PSBgYnl0ZU9mZnNldGAsXFxuLy8gT1IgdGhlIGxhc3QgaW5kZXggb2YgYHZhbGAgaW4gYGJ1ZmZlcmAgYXQgb2Zmc2V0IDw9IGBieXRlT2Zmc2V0YC5cXG4vL1xcbi8vIEFyZ3VtZW50czpcXG4vLyAtIGJ1ZmZlciAtIGEgQnVmZmVyIHRvIHNlYXJjaFxcbi8vIC0gdmFsIC0gYSBzdHJpbmcsIEJ1ZmZlciwgb3IgbnVtYmVyXFxuLy8gLSBieXRlT2Zmc2V0IC0gYW4gaW5kZXggaW50byBgYnVmZmVyYDsgd2lsbCBiZSBjbGFtcGVkIHRvIGFuIGludDMyXFxuLy8gLSBlbmNvZGluZyAtIGFuIG9wdGlvbmFsIGVuY29kaW5nLCByZWxldmFudCBpcyB2YWwgaXMgYSBzdHJpbmdcXG4vLyAtIGRpciAtIHRydWUgZm9yIGluZGV4T2YsIGZhbHNlIGZvciBsYXN0SW5kZXhPZlxcbmZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mIChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xcbiAgLy8gRW1wdHkgYnVmZmVyIG1lYW5zIG5vIG1hdGNoXFxuICBpZiAoYnVmZmVyLmxlbmd0aCA9PT0gMCkgcmV0dXJuIC0xXFxuXFxuICAvLyBOb3JtYWxpemUgYnl0ZU9mZnNldFxcbiAgaWYgKHR5cGVvZiBieXRlT2Zmc2V0ID09PSAnc3RyaW5nJykge1xcbiAgICBlbmNvZGluZyA9IGJ5dGVPZmZzZXRcXG4gICAgYnl0ZU9mZnNldCA9IDBcXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA+IDB4N2ZmZmZmZmYpIHtcXG4gICAgYnl0ZU9mZnNldCA9IDB4N2ZmZmZmZmZcXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA8IC0weDgwMDAwMDAwKSB7XFxuICAgIGJ5dGVPZmZzZXQgPSAtMHg4MDAwMDAwMFxcbiAgfVxcbiAgYnl0ZU9mZnNldCA9ICtieXRlT2Zmc2V0ICAvLyBDb2VyY2UgdG8gTnVtYmVyLlxcbiAgaWYgKGlzTmFOKGJ5dGVPZmZzZXQpKSB7XFxuICAgIC8vIGJ5dGVPZmZzZXQ6IGl0IGl0J3MgdW5kZWZpbmVkLCBudWxsLCBOYU4sIFxcXCJmb29cXFwiLCBldGMsIHNlYXJjaCB3aG9sZSBidWZmZXJcXG4gICAgYnl0ZU9mZnNldCA9IGRpciA/IDAgOiAoYnVmZmVyLmxlbmd0aCAtIDEpXFxuICB9XFxuXFxuICAvLyBOb3JtYWxpemUgYnl0ZU9mZnNldDogbmVnYXRpdmUgb2Zmc2V0cyBzdGFydCBmcm9tIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlclxcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gYnVmZmVyLmxlbmd0aCArIGJ5dGVPZmZzZXRcXG4gIGlmIChieXRlT2Zmc2V0ID49IGJ1ZmZlci5sZW5ndGgpIHtcXG4gICAgaWYgKGRpcikgcmV0dXJuIC0xXFxuICAgIGVsc2UgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggLSAxXFxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPCAwKSB7XFxuICAgIGlmIChkaXIpIGJ5dGVPZmZzZXQgPSAwXFxuICAgIGVsc2UgcmV0dXJuIC0xXFxuICB9XFxuXFxuICAvLyBOb3JtYWxpemUgdmFsXFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcXG4gICAgdmFsID0gQnVmZmVyLmZyb20odmFsLCBlbmNvZGluZylcXG4gIH1cXG5cXG4gIC8vIEZpbmFsbHksIHNlYXJjaCBlaXRoZXIgaW5kZXhPZiAoaWYgZGlyIGlzIHRydWUpIG9yIGxhc3RJbmRleE9mXFxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbCkpIHtcXG4gICAgLy8gU3BlY2lhbCBjYXNlOiBsb29raW5nIGZvciBlbXB0eSBzdHJpbmcvYnVmZmVyIGFsd2F5cyBmYWlsc1xcbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMCkge1xcbiAgICAgIHJldHVybiAtMVxcbiAgICB9XFxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXFxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XFxuICAgIHZhbCA9IHZhbCAmIDB4RkYgLy8gU2VhcmNoIGZvciBhIGJ5dGUgdmFsdWUgWzAtMjU1XVxcbiAgICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQgJiZcXG4gICAgICAgIHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgaWYgKGRpcikge1xcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldClcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIFVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiBhcnJheUluZGV4T2YoYnVmZmVyLCBbIHZhbCBdLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKVxcbiAgfVxcblxcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcigndmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyJylcXG59XFxuXFxuZnVuY3Rpb24gYXJyYXlJbmRleE9mIChhcnIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xcbiAgdmFyIGluZGV4U2l6ZSA9IDFcXG4gIHZhciBhcnJMZW5ndGggPSBhcnIubGVuZ3RoXFxuICB2YXIgdmFsTGVuZ3RoID0gdmFsLmxlbmd0aFxcblxcbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIHtcXG4gICAgZW5jb2RpbmcgPSBTdHJpbmcoZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcXG4gICAgaWYgKGVuY29kaW5nID09PSAndWNzMicgfHwgZW5jb2RpbmcgPT09ICd1Y3MtMicgfHxcXG4gICAgICAgIGVuY29kaW5nID09PSAndXRmMTZsZScgfHwgZW5jb2RpbmcgPT09ICd1dGYtMTZsZScpIHtcXG4gICAgICBpZiAoYXJyLmxlbmd0aCA8IDIgfHwgdmFsLmxlbmd0aCA8IDIpIHtcXG4gICAgICAgIHJldHVybiAtMVxcbiAgICAgIH1cXG4gICAgICBpbmRleFNpemUgPSAyXFxuICAgICAgYXJyTGVuZ3RoIC89IDJcXG4gICAgICB2YWxMZW5ndGggLz0gMlxcbiAgICAgIGJ5dGVPZmZzZXQgLz0gMlxcbiAgICB9XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWFkIChidWYsIGkpIHtcXG4gICAgaWYgKGluZGV4U2l6ZSA9PT0gMSkge1xcbiAgICAgIHJldHVybiBidWZbaV1cXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gYnVmLnJlYWRVSW50MTZCRShpICogaW5kZXhTaXplKVxcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgaVxcbiAgaWYgKGRpcikge1xcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xXFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPCBhcnJMZW5ndGg7IGkrKykge1xcbiAgICAgIGlmIChyZWFkKGFyciwgaSkgPT09IHJlYWQodmFsLCBmb3VuZEluZGV4ID09PSAtMSA/IDAgOiBpIC0gZm91bmRJbmRleCkpIHtcXG4gICAgICAgIGlmIChmb3VuZEluZGV4ID09PSAtMSkgZm91bmRJbmRleCA9IGlcXG4gICAgICAgIGlmIChpIC0gZm91bmRJbmRleCArIDEgPT09IHZhbExlbmd0aCkgcmV0dXJuIGZvdW5kSW5kZXggKiBpbmRleFNpemVcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSBpIC09IGkgLSBmb3VuZEluZGV4XFxuICAgICAgICBmb3VuZEluZGV4ID0gLTFcXG4gICAgICB9XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGlmIChieXRlT2Zmc2V0ICsgdmFsTGVuZ3RoID4gYXJyTGVuZ3RoKSBieXRlT2Zmc2V0ID0gYXJyTGVuZ3RoIC0gdmFsTGVuZ3RoXFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGZvdW5kID0gdHJ1ZVxcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsTGVuZ3RoOyBqKyspIHtcXG4gICAgICAgIGlmIChyZWFkKGFyciwgaSArIGopICE9PSByZWFkKHZhbCwgaikpIHtcXG4gICAgICAgICAgZm91bmQgPSBmYWxzZVxcbiAgICAgICAgICBicmVha1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoZm91bmQpIHJldHVybiBpXFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiAtMVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLmluY2x1ZGVzID0gZnVuY3Rpb24gaW5jbHVkZXMgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcXG4gIHJldHVybiB0aGlzLmluZGV4T2YodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykgIT09IC0xXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIGluZGV4T2YgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcXG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCB0cnVlKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLmxhc3RJbmRleE9mID0gZnVuY3Rpb24gbGFzdEluZGV4T2YgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcXG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBmYWxzZSlcXG59XFxuXFxuZnVuY3Rpb24gaGV4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xcbiAgb2Zmc2V0ID0gTnVtYmVyKG9mZnNldCkgfHwgMFxcbiAgdmFyIHJlbWFpbmluZyA9IGJ1Zi5sZW5ndGggLSBvZmZzZXRcXG4gIGlmICghbGVuZ3RoKSB7XFxuICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xcbiAgfSBlbHNlIHtcXG4gICAgbGVuZ3RoID0gTnVtYmVyKGxlbmd0aClcXG4gICAgaWYgKGxlbmd0aCA+IHJlbWFpbmluZykge1xcbiAgICAgIGxlbmd0aCA9IHJlbWFpbmluZ1xcbiAgICB9XFxuICB9XFxuXFxuICAvLyBtdXN0IGJlIGFuIGV2ZW4gbnVtYmVyIG9mIGRpZ2l0c1xcbiAgdmFyIHN0ckxlbiA9IHN0cmluZy5sZW5ndGhcXG4gIGlmIChzdHJMZW4gJSAyICE9PSAwKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIGhleCBzdHJpbmcnKVxcblxcbiAgaWYgKGxlbmd0aCA+IHN0ckxlbiAvIDIpIHtcXG4gICAgbGVuZ3RoID0gc3RyTGVuIC8gMlxcbiAgfVxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xcbiAgICB2YXIgcGFyc2VkID0gcGFyc2VJbnQoc3RyaW5nLnN1YnN0cihpICogMiwgMiksIDE2KVxcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcXG4gICAgYnVmW29mZnNldCArIGldID0gcGFyc2VkXFxuICB9XFxuICByZXR1cm4gaVxcbn1cXG5cXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xcbiAgcmV0dXJuIGJsaXRCdWZmZXIodXRmOFRvQnl0ZXMoc3RyaW5nLCBidWYubGVuZ3RoIC0gb2Zmc2V0KSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuZnVuY3Rpb24gYXNjaWlXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gYmxpdEJ1ZmZlcihhc2NpaVRvQnl0ZXMoc3RyaW5nKSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcXG59XFxuXFxuZnVuY3Rpb24gbGF0aW4xV3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xcbiAgcmV0dXJuIGFzY2lpV3JpdGUoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gYmxpdEJ1ZmZlcihiYXNlNjRUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXFxufVxcblxcbmZ1bmN0aW9uIHVjczJXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGYxNmxlVG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gd3JpdGUgKHN0cmluZywgb2Zmc2V0LCBsZW5ndGgsIGVuY29kaW5nKSB7XFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nKVxcbiAgaWYgKG9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGVuY29kaW5nID0gJ3V0ZjgnXFxuICAgIGxlbmd0aCA9IHRoaXMubGVuZ3RoXFxuICAgIG9mZnNldCA9IDBcXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIGVuY29kaW5nKVxcbiAgfSBlbHNlIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb2Zmc2V0ID09PSAnc3RyaW5nJykge1xcbiAgICBlbmNvZGluZyA9IG9mZnNldFxcbiAgICBsZW5ndGggPSB0aGlzLmxlbmd0aFxcbiAgICBvZmZzZXQgPSAwXFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nLCBvZmZzZXRbLCBsZW5ndGhdWywgZW5jb2RpbmddKVxcbiAgfSBlbHNlIGlmIChpc0Zpbml0ZShvZmZzZXQpKSB7XFxuICAgIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gICAgaWYgKGlzRmluaXRlKGxlbmd0aCkpIHtcXG4gICAgICBsZW5ndGggPSBsZW5ndGggfCAwXFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXFxuICAgIH0gZWxzZSB7XFxuICAgICAgZW5jb2RpbmcgPSBsZW5ndGhcXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcXG4gICAgfVxcbiAgLy8gbGVnYWN5IHdyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldCwgbGVuZ3RoKSAtIHJlbW92ZSBpbiB2MC4xM1xcbiAgfSBlbHNlIHtcXG4gICAgdGhyb3cgbmV3IEVycm9yKFxcbiAgICAgICdCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCdcXG4gICAgKVxcbiAgfVxcblxcbiAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XFxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQgfHwgbGVuZ3RoID4gcmVtYWluaW5nKSBsZW5ndGggPSByZW1haW5pbmdcXG5cXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kcycpXFxuICB9XFxuXFxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xcblxcbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcXG4gIGZvciAoOzspIHtcXG4gICAgc3dpdGNoIChlbmNvZGluZykge1xcbiAgICAgIGNhc2UgJ2hleCc6XFxuICAgICAgICByZXR1cm4gaGV4V3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcXG5cXG4gICAgICBjYXNlICd1dGY4JzpcXG4gICAgICBjYXNlICd1dGYtOCc6XFxuICAgICAgICByZXR1cm4gdXRmOFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXFxuXFxuICAgICAgY2FzZSAnYXNjaWknOlxcbiAgICAgICAgcmV0dXJuIGFzY2lpV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcXG5cXG4gICAgICBjYXNlICdsYXRpbjEnOlxcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XFxuICAgICAgICByZXR1cm4gbGF0aW4xV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcXG5cXG4gICAgICBjYXNlICdiYXNlNjQnOlxcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcXG4gICAgICAgIHJldHVybiBiYXNlNjRXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxcblxcbiAgICAgIGNhc2UgJ3VjczInOlxcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgICBjYXNlICd1dGYxNmxlJzpcXG4gICAgICBjYXNlICd1dGYtMTZsZSc6XFxuICAgICAgICByZXR1cm4gdWNzMldyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxcbiAgICAgICAgZW5jb2RpbmcgPSAoJycgKyBlbmNvZGluZykudG9Mb3dlckNhc2UoKVxcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXFxuICAgIH1cXG4gIH1cXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgcmV0dXJuIHtcXG4gICAgdHlwZTogJ0J1ZmZlcicsXFxuICAgIGRhdGE6IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX2FyciB8fCB0aGlzLCAwKVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XFxuICBpZiAoc3RhcnQgPT09IDAgJiYgZW5kID09PSBidWYubGVuZ3RoKSB7XFxuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYpXFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmLnNsaWNlKHN0YXJ0LCBlbmQpKVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB1dGY4U2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxcbiAgdmFyIHJlcyA9IFtdXFxuXFxuICB2YXIgaSA9IHN0YXJ0XFxuICB3aGlsZSAoaSA8IGVuZCkge1xcbiAgICB2YXIgZmlyc3RCeXRlID0gYnVmW2ldXFxuICAgIHZhciBjb2RlUG9pbnQgPSBudWxsXFxuICAgIHZhciBieXRlc1BlclNlcXVlbmNlID0gKGZpcnN0Qnl0ZSA+IDB4RUYpID8gNFxcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4REYpID8gM1xcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4QkYpID8gMlxcbiAgICAgIDogMVxcblxcbiAgICBpZiAoaSArIGJ5dGVzUGVyU2VxdWVuY2UgPD0gZW5kKSB7XFxuICAgICAgdmFyIHNlY29uZEJ5dGUsIHRoaXJkQnl0ZSwgZm91cnRoQnl0ZSwgdGVtcENvZGVQb2ludFxcblxcbiAgICAgIHN3aXRjaCAoYnl0ZXNQZXJTZXF1ZW5jZSkge1xcbiAgICAgICAgY2FzZSAxOlxcbiAgICAgICAgICBpZiAoZmlyc3RCeXRlIDwgMHg4MCkge1xcbiAgICAgICAgICAgIGNvZGVQb2ludCA9IGZpcnN0Qnl0ZVxcbiAgICAgICAgICB9XFxuICAgICAgICAgIGJyZWFrXFxuICAgICAgICBjYXNlIDI6XFxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXFxuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XFxuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweDFGKSA8PCAweDYgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpXFxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGKSB7XFxuICAgICAgICAgICAgICBjb2RlUG9pbnQgPSB0ZW1wQ29kZVBvaW50XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICAgIGJyZWFrXFxuICAgICAgICBjYXNlIDM6XFxuICAgICAgICAgIHNlY29uZEJ5dGUgPSBidWZbaSArIDFdXFxuICAgICAgICAgIHRoaXJkQnl0ZSA9IGJ1ZltpICsgMl1cXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XFxuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4QyB8IChzZWNvbmRCeXRlICYgMHgzRikgPDwgMHg2IHwgKHRoaXJkQnl0ZSAmIDB4M0YpXFxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweDdGRiAmJiAodGVtcENvZGVQb2ludCA8IDB4RDgwMCB8fCB0ZW1wQ29kZVBvaW50ID4gMHhERkZGKSkge1xcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgICBicmVha1xcbiAgICAgICAgY2FzZSA0OlxcbiAgICAgICAgICBzZWNvbmRCeXRlID0gYnVmW2kgKyAxXVxcbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXFxuICAgICAgICAgIGZvdXJ0aEJ5dGUgPSBidWZbaSArIDNdXFxuICAgICAgICAgIGlmICgoc2Vjb25kQnl0ZSAmIDB4QzApID09PSAweDgwICYmICh0aGlyZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCAmJiAoZm91cnRoQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XFxuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4MTIgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpIDw8IDB4QyB8ICh0aGlyZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAoZm91cnRoQnl0ZSAmIDB4M0YpXFxuICAgICAgICAgICAgaWYgKHRlbXBDb2RlUG9pbnQgPiAweEZGRkYgJiYgdGVtcENvZGVQb2ludCA8IDB4MTEwMDAwKSB7XFxuICAgICAgICAgICAgICBjb2RlUG9pbnQgPSB0ZW1wQ29kZVBvaW50XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChjb2RlUG9pbnQgPT09IG51bGwpIHtcXG4gICAgICAvLyB3ZSBkaWQgbm90IGdlbmVyYXRlIGEgdmFsaWQgY29kZVBvaW50IHNvIGluc2VydCBhXFxuICAgICAgLy8gcmVwbGFjZW1lbnQgY2hhciAoVStGRkZEKSBhbmQgYWR2YW5jZSBvbmx5IDEgYnl0ZVxcbiAgICAgIGNvZGVQb2ludCA9IDB4RkZGRFxcbiAgICAgIGJ5dGVzUGVyU2VxdWVuY2UgPSAxXFxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50ID4gMHhGRkZGKSB7XFxuICAgICAgLy8gZW5jb2RlIHRvIHV0ZjE2IChzdXJyb2dhdGUgcGFpciBkYW5jZSlcXG4gICAgICBjb2RlUG9pbnQgLT0gMHgxMDAwMFxcbiAgICAgIHJlcy5wdXNoKGNvZGVQb2ludCA+Pj4gMTAgJiAweDNGRiB8IDB4RDgwMClcXG4gICAgICBjb2RlUG9pbnQgPSAweERDMDAgfCBjb2RlUG9pbnQgJiAweDNGRlxcbiAgICB9XFxuXFxuICAgIHJlcy5wdXNoKGNvZGVQb2ludClcXG4gICAgaSArPSBieXRlc1BlclNlcXVlbmNlXFxuICB9XFxuXFxuICByZXR1cm4gZGVjb2RlQ29kZVBvaW50c0FycmF5KHJlcylcXG59XFxuXFxuLy8gQmFzZWQgb24gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjI3NDcyNzIvNjgwNzQyLCB0aGUgYnJvd3NlciB3aXRoXFxuLy8gdGhlIGxvd2VzdCBsaW1pdCBpcyBDaHJvbWUsIHdpdGggMHgxMDAwMCBhcmdzLlxcbi8vIFdlIGdvIDEgbWFnbml0dWRlIGxlc3MsIGZvciBzYWZldHlcXG52YXIgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcXG5cXG5mdW5jdGlvbiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkgKGNvZGVQb2ludHMpIHtcXG4gIHZhciBsZW4gPSBjb2RlUG9pbnRzLmxlbmd0aFxcbiAgaWYgKGxlbiA8PSBNQVhfQVJHVU1FTlRTX0xFTkdUSCkge1xcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIGNvZGVQb2ludHMpIC8vIGF2b2lkIGV4dHJhIHNsaWNlKClcXG4gIH1cXG5cXG4gIC8vIERlY29kZSBpbiBjaHVua3MgdG8gYXZvaWQgXFxcImNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZFxcXCIuXFxuICB2YXIgcmVzID0gJydcXG4gIHZhciBpID0gMFxcbiAgd2hpbGUgKGkgPCBsZW4pIHtcXG4gICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoXFxuICAgICAgU3RyaW5nLFxcbiAgICAgIGNvZGVQb2ludHMuc2xpY2UoaSwgaSArPSBNQVhfQVJHVU1FTlRTX0xFTkdUSClcXG4gICAgKVxcbiAgfVxcbiAgcmV0dXJuIHJlc1xcbn1cXG5cXG5mdW5jdGlvbiBhc2NpaVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciByZXQgPSAnJ1xcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxcblxcbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcXG4gICAgcmV0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnVmW2ldICYgMHg3RilcXG4gIH1cXG4gIHJldHVybiByZXRcXG59XFxuXFxuZnVuY3Rpb24gbGF0aW4xU2xpY2UgKGJ1Ziwgc3RhcnQsIGVuZCkge1xcbiAgdmFyIHJldCA9ICcnXFxuICBlbmQgPSBNYXRoLm1pbihidWYubGVuZ3RoLCBlbmQpXFxuXFxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xcbiAgICByZXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pXFxuICB9XFxuICByZXR1cm4gcmV0XFxufVxcblxcbmZ1bmN0aW9uIGhleFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcXG4gIHZhciBsZW4gPSBidWYubGVuZ3RoXFxuXFxuICBpZiAoIXN0YXJ0IHx8IHN0YXJ0IDwgMCkgc3RhcnQgPSAwXFxuICBpZiAoIWVuZCB8fCBlbmQgPCAwIHx8IGVuZCA+IGxlbikgZW5kID0gbGVuXFxuXFxuICB2YXIgb3V0ID0gJydcXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XFxuICAgIG91dCArPSB0b0hleChidWZbaV0pXFxuICB9XFxuICByZXR1cm4gb3V0XFxufVxcblxcbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XFxuICB2YXIgYnl0ZXMgPSBidWYuc2xpY2Uoc3RhcnQsIGVuZClcXG4gIHZhciByZXMgPSAnJ1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikge1xcbiAgICByZXMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1tpXSArIGJ5dGVzW2kgKyAxXSAqIDI1NilcXG4gIH1cXG4gIHJldHVybiByZXNcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIHNsaWNlIChzdGFydCwgZW5kKSB7XFxuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcXG4gIHN0YXJ0ID0gfn5zdGFydFxcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxcblxcbiAgaWYgKHN0YXJ0IDwgMCkge1xcbiAgICBzdGFydCArPSBsZW5cXG4gICAgaWYgKHN0YXJ0IDwgMCkgc3RhcnQgPSAwXFxuICB9IGVsc2UgaWYgKHN0YXJ0ID4gbGVuKSB7XFxuICAgIHN0YXJ0ID0gbGVuXFxuICB9XFxuXFxuICBpZiAoZW5kIDwgMCkge1xcbiAgICBlbmQgKz0gbGVuXFxuICAgIGlmIChlbmQgPCAwKSBlbmQgPSAwXFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xcbiAgICBlbmQgPSBsZW5cXG4gIH1cXG5cXG4gIGlmIChlbmQgPCBzdGFydCkgZW5kID0gc3RhcnRcXG5cXG4gIHZhciBuZXdCdWZcXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xcbiAgICBuZXdCdWYgPSB0aGlzLnN1YmFycmF5KHN0YXJ0LCBlbmQpXFxuICAgIG5ld0J1Zi5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXFxuICB9IGVsc2Uge1xcbiAgICB2YXIgc2xpY2VMZW4gPSBlbmQgLSBzdGFydFxcbiAgICBuZXdCdWYgPSBuZXcgQnVmZmVyKHNsaWNlTGVuLCB1bmRlZmluZWQpXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2xpY2VMZW47ICsraSkge1xcbiAgICAgIG5ld0J1ZltpXSA9IHRoaXNbaSArIHN0YXJ0XVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbmV3QnVmXFxufVxcblxcbi8qXFxuICogTmVlZCB0byBtYWtlIHN1cmUgdGhhdCBidWZmZXIgaXNuJ3QgdHJ5aW5nIHRvIHdyaXRlIG91dCBvZiBib3VuZHMuXFxuICovXFxuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcXG4gIGlmICgob2Zmc2V0ICUgMSkgIT09IDAgfHwgb2Zmc2V0IDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ29mZnNldCBpcyBub3QgdWludCcpXFxuICBpZiAob2Zmc2V0ICsgZXh0ID4gbGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCcpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRMRSA9IGZ1bmN0aW9uIHJlYWRVSW50TEUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCBieXRlTGVuZ3RoLCB0aGlzLmxlbmd0aClcXG5cXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF1cXG4gIHZhciBtdWwgPSAxXFxuICB2YXIgaSA9IDBcXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XFxuICAgIHZhbCArPSB0aGlzW29mZnNldCArIGldICogbXVsXFxuICB9XFxuXFxuICByZXR1cm4gdmFsXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRCRSA9IGZ1bmN0aW9uIHJlYWRVSW50QkUgKG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxcbiAgaWYgKCFub0Fzc2VydCkge1xcbiAgICBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxcbiAgfVxcblxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXVxcbiAgdmFyIG11bCA9IDFcXG4gIHdoaWxlIChieXRlTGVuZ3RoID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyAtLWJ5dGVMZW5ndGhdICogbXVsXFxuICB9XFxuXFxuICByZXR1cm4gdmFsXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gcmVhZFVJbnQ4IChvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDEsIHRoaXMubGVuZ3RoKVxcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiB0aGlzW29mZnNldF0gfCAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiAodGhpc1tvZmZzZXRdIDw8IDgpIHwgdGhpc1tvZmZzZXQgKyAxXVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcXG5cXG4gIHJldHVybiAoKHRoaXNbb2Zmc2V0XSkgfFxcbiAgICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcXG4gICAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikpICtcXG4gICAgICAodGhpc1tvZmZzZXQgKyAzXSAqIDB4MTAwMDAwMClcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyQkUgPSBmdW5jdGlvbiByZWFkVUludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuXFxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xcbiAgICAoKHRoaXNbb2Zmc2V0ICsgMV0gPDwgMTYpIHxcXG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxcbiAgICB0aGlzW29mZnNldCArIDNdKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRSA9IGZ1bmN0aW9uIHJlYWRJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxcblxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XVxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBpID0gMFxcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcXG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgaV0gKiBtdWxcXG4gIH1cXG4gIG11bCAqPSAweDgwXFxuXFxuICBpZiAodmFsID49IG11bCkgdmFsIC09IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKVxcblxcbiAgcmV0dXJuIHZhbFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRCRSA9IGZ1bmN0aW9uIHJlYWRJbnRCRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxcblxcbiAgdmFyIGkgPSBieXRlTGVuZ3RoXFxuICB2YXIgbXVsID0gMVxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1pXVxcbiAgd2hpbGUgKGkgPiAwICYmIChtdWwgKj0gMHgxMDApKSB7XFxuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcXG4gIH1cXG4gIG11bCAqPSAweDgwXFxuXFxuICBpZiAodmFsID49IG11bCkgdmFsIC09IE1hdGgucG93KDIsIDggKiBieXRlTGVuZ3RoKVxcblxcbiAgcmV0dXJuIHZhbFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXFxuICBpZiAoISh0aGlzW29mZnNldF0gJiAweDgwKSkgcmV0dXJuICh0aGlzW29mZnNldF0pXFxuICByZXR1cm4gKCgweGZmIC0gdGhpc1tvZmZzZXRdICsgMSkgKiAtMSlcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRJbnQxNkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxcbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXFxuICByZXR1cm4gKHZhbCAmIDB4ODAwMCkgPyB2YWwgfCAweEZGRkYwMDAwIDogdmFsXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2QkUgPSBmdW5jdGlvbiByZWFkSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldCArIDFdIHwgKHRoaXNbb2Zmc2V0XSA8PCA4KVxcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFID0gZnVuY3Rpb24gcmVhZEludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuXFxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSkgfFxcbiAgICAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KSB8XFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDE2KSB8XFxuICAgICh0aGlzW29mZnNldCArIDNdIDw8IDI0KVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFID0gZnVuY3Rpb24gcmVhZEludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuXFxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxcbiAgICAodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCA4KSB8XFxuICAgICh0aGlzW29mZnNldCArIDNdKVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gcmVhZEZsb2F0TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgNCwgdGhpcy5sZW5ndGgpXFxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgdHJ1ZSwgMjMsIDQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZEZsb2F0QkUgPSBmdW5jdGlvbiByZWFkRmxvYXRCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiBpZWVlNzU0LnJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgMjMsIDQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUxFID0gZnVuY3Rpb24gcmVhZERvdWJsZUxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDUyLCA4KVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRSA9IGZ1bmN0aW9uIHJlYWREb3VibGVCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA4LCB0aGlzLmxlbmd0aClcXG4gIHJldHVybiBpZWVlNzU0LnJlYWQodGhpcywgb2Zmc2V0LCBmYWxzZSwgNTIsIDgpXFxufVxcblxcbmZ1bmN0aW9uIGNoZWNrSW50IChidWYsIHZhbHVlLCBvZmZzZXQsIGV4dCwgbWF4LCBtaW4pIHtcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJidWZmZXJcXFwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKVxcbiAgaWYgKHZhbHVlID4gbWF4IHx8IHZhbHVlIDwgbWluKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFxcInZhbHVlXFxcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcXG4gIGlmIChvZmZzZXQgKyBleHQgPiBidWYubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlJylcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnRMRSA9IGZ1bmN0aW9uIHdyaXRlVUludExFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxcbiAgaWYgKCFub0Fzc2VydCkge1xcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXFxuICAgIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG1heEJ5dGVzLCAwKVxcbiAgfVxcblxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBpID0gMFxcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXFxuICB3aGlsZSAoKytpIDwgYnl0ZUxlbmd0aCAmJiAobXVsICo9IDB4MTAwKSkge1xcbiAgICB0aGlzW29mZnNldCArIGldID0gKHZhbHVlIC8gbXVsKSAmIDB4RkZcXG4gIH1cXG5cXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50QkUgPSBmdW5jdGlvbiB3cml0ZVVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIHtcXG4gICAgdmFyIG1heEJ5dGVzID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpIC0gMVxcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBtYXhCeXRlcywgMClcXG4gIH1cXG5cXG4gIHZhciBpID0gYnl0ZUxlbmd0aCAtIDFcXG4gIHZhciBtdWwgPSAxXFxuICB0aGlzW29mZnNldCArIGldID0gdmFsdWUgJiAweEZGXFxuICB3aGlsZSAoLS1pID49IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcXG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXFxuICB9XFxuXFxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiB3cml0ZVVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDEsIDB4ZmYsIDApXFxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB2YWx1ZSA9IE1hdGguZmxvb3IodmFsdWUpXFxuICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxcbiAgcmV0dXJuIG9mZnNldCArIDFcXG59XFxuXFxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MTYgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XFxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZiArIHZhbHVlICsgMVxcbiAgZm9yICh2YXIgaSA9IDAsIGogPSBNYXRoLm1pbihidWYubGVuZ3RoIC0gb2Zmc2V0LCAyKTsgaSA8IGo7ICsraSkge1xcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSAodmFsdWUgJiAoMHhmZiA8PCAoOCAqIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpKSkpID4+PlxcbiAgICAgIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpICogOFxcbiAgfVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2TEUgPSBmdW5jdGlvbiB3cml0ZVVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4ZmZmZiwgMClcXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSlcXG4gIH1cXG4gIHJldHVybiBvZmZzZXQgKyAyXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHhmZmZmLCAwKVxcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSA+Pj4gOClcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXFxuICB9IGVsc2Uge1xcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSlcXG4gIH1cXG4gIHJldHVybiBvZmZzZXQgKyAyXFxufVxcblxcbmZ1bmN0aW9uIG9iamVjdFdyaXRlVUludDMyIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbikge1xcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmZmZmZmZmICsgdmFsdWUgKyAxXFxuICBmb3IgKHZhciBpID0gMCwgaiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSBvZmZzZXQsIDQpOyBpIDwgajsgKytpKSB7XFxuICAgIGJ1ZltvZmZzZXQgKyBpXSA9ICh2YWx1ZSA+Pj4gKGxpdHRsZUVuZGlhbiA/IGkgOiAzIC0gaSkgKiA4KSAmIDB4ZmZcXG4gIH1cXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweGZmZmZmZmZmLCAwKVxcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgPj4+IDI0KVxcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiAxNilcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcXG4gIH0gZWxzZSB7XFxuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgNFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDMyQkUgPSBmdW5jdGlvbiB3cml0ZVVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4ZmZmZmZmZmYsIDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gMTYpXFxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgNFxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50TEUgPSBmdW5jdGlvbiB3cml0ZUludExFICh2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIHtcXG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxcblxcbiAgICBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBieXRlTGVuZ3RoLCBsaW1pdCAtIDEsIC1saW1pdClcXG4gIH1cXG5cXG4gIHZhciBpID0gMFxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBzdWIgPSAwXFxuICB0aGlzW29mZnNldF0gPSB2YWx1ZSAmIDB4RkZcXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XFxuICAgIGlmICh2YWx1ZSA8IDAgJiYgc3ViID09PSAwICYmIHRoaXNbb2Zmc2V0ICsgaSAtIDFdICE9PSAwKSB7XFxuICAgICAgc3ViID0gMVxcbiAgICB9XFxuICAgIHRoaXNbb2Zmc2V0ICsgaV0gPSAoKHZhbHVlIC8gbXVsKSA+PiAwKSAtIHN1YiAmIDB4RkZcXG4gIH1cXG5cXG4gIHJldHVybiBvZmZzZXQgKyBieXRlTGVuZ3RoXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnRCRSA9IGZ1bmN0aW9uIHdyaXRlSW50QkUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkge1xcbiAgICB2YXIgbGltaXQgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCAtIDEpXFxuXFxuICAgIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIGxpbWl0IC0gMSwgLWxpbWl0KVxcbiAgfVxcblxcbiAgdmFyIGkgPSBieXRlTGVuZ3RoIC0gMVxcbiAgdmFyIG11bCA9IDFcXG4gIHZhciBzdWIgPSAwXFxuICB0aGlzW29mZnNldCArIGldID0gdmFsdWUgJiAweEZGXFxuICB3aGlsZSAoLS1pID49IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcXG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcXG4gICAgICBzdWIgPSAxXFxuICAgIH1cXG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxcbiAgfVxcblxcbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHg3ZiwgLTB4ODApXFxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB2YWx1ZSA9IE1hdGguZmxvb3IodmFsdWUpXFxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmYgKyB2YWx1ZSArIDFcXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXFxuICByZXR1cm4gb2Zmc2V0ICsgMVxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZMRSA9IGZ1bmN0aW9uIHdyaXRlSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweDdmZmYsIC0weDgwMDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcXG4gIH0gZWxzZSB7XFxuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgMlxcbn1cXG5cXG5CdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlSW50MTZCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcXG4gIHZhbHVlID0gK3ZhbHVlXFxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweDdmZmYsIC0weDgwMDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiA4KVxcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlICYgMHhmZilcXG4gIH0gZWxzZSB7XFxuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKVxcbiAgfVxcbiAgcmV0dXJuIG9mZnNldCArIDJcXG59XFxuXFxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICB2YWx1ZSA9ICt2YWx1ZVxcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHg3ZmZmZmZmZiwgLTB4ODAwMDAwMDApXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcXG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgPj4+IDI0KVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSlcXG4gIH1cXG4gIHJldHVybiBvZmZzZXQgKyA0XFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgdmFsdWUgPSArdmFsdWVcXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmZmZmZmZmICsgdmFsdWUgKyAxXFxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcXG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gMTYpXFxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXFxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxcbiAgfSBlbHNlIHtcXG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXFxuICB9XFxuICByZXR1cm4gb2Zmc2V0ICsgNFxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0lFRUU3NTQgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgZXh0LCBtYXgsIG1pbikge1xcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxcbiAgaWYgKG9mZnNldCA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxcbn1cXG5cXG5mdW5jdGlvbiB3cml0ZUZsb2F0IChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcXG4gIGlmICghbm9Bc3NlcnQpIHtcXG4gICAgY2hlY2tJRUVFNzU0KGJ1ZiwgdmFsdWUsIG9mZnNldCwgNCwgMy40MDI4MjM0NjYzODUyODg2ZSszOCwgLTMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgpXFxuICB9XFxuICBpZWVlNzU0LndyaXRlKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCAyMywgNClcXG4gIHJldHVybiBvZmZzZXQgKyA0XFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdExFID0gZnVuY3Rpb24gd3JpdGVGbG9hdExFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UsIG5vQXNzZXJ0KVxcbn1cXG5cXG5mdW5jdGlvbiB3cml0ZURvdWJsZSAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIG5vQXNzZXJ0KSB7XFxuICBpZiAoIW5vQXNzZXJ0KSB7XFxuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDgsIDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4LCAtMS43OTc2OTMxMzQ4NjIzMTU3RSszMDgpXFxuICB9XFxuICBpZWVlNzU0LndyaXRlKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuLCA1MiwgOClcXG4gIHJldHVybiBvZmZzZXQgKyA4XFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICByZXR1cm4gd3JpdGVEb3VibGUodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXFxufVxcblxcbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVCRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlQkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XFxuICByZXR1cm4gd3JpdGVEb3VibGUodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UsIG5vQXNzZXJ0KVxcbn1cXG5cXG4vLyBjb3B5KHRhcmdldEJ1ZmZlciwgdGFyZ2V0U3RhcnQ9MCwgc291cmNlU3RhcnQ9MCwgc291cmNlRW5kPWJ1ZmZlci5sZW5ndGgpXFxuQnVmZmVyLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAodGFyZ2V0LCB0YXJnZXRTdGFydCwgc3RhcnQsIGVuZCkge1xcbiAgaWYgKCFzdGFydCkgc3RhcnQgPSAwXFxuICBpZiAoIWVuZCAmJiBlbmQgIT09IDApIGVuZCA9IHRoaXMubGVuZ3RoXFxuICBpZiAodGFyZ2V0U3RhcnQgPj0gdGFyZ2V0Lmxlbmd0aCkgdGFyZ2V0U3RhcnQgPSB0YXJnZXQubGVuZ3RoXFxuICBpZiAoIXRhcmdldFN0YXJ0KSB0YXJnZXRTdGFydCA9IDBcXG4gIGlmIChlbmQgPiAwICYmIGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxcblxcbiAgLy8gQ29weSAwIGJ5dGVzOyB3ZSdyZSBkb25lXFxuICBpZiAoZW5kID09PSBzdGFydCkgcmV0dXJuIDBcXG4gIGlmICh0YXJnZXQubGVuZ3RoID09PSAwIHx8IHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gMFxcblxcbiAgLy8gRmF0YWwgZXJyb3IgY29uZGl0aW9uc1xcbiAgaWYgKHRhcmdldFN0YXJ0IDwgMCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigndGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kcycpXFxuICB9XFxuICBpZiAoc3RhcnQgPCAwIHx8IHN0YXJ0ID49IHRoaXMubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlU3RhcnQgb3V0IG9mIGJvdW5kcycpXFxuICBpZiAoZW5kIDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NvdXJjZUVuZCBvdXQgb2YgYm91bmRzJylcXG5cXG4gIC8vIEFyZSB3ZSBvb2I/XFxuICBpZiAoZW5kID4gdGhpcy5sZW5ndGgpIGVuZCA9IHRoaXMubGVuZ3RoXFxuICBpZiAodGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0IDwgZW5kIC0gc3RhcnQpIHtcXG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcXG4gIH1cXG5cXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydFxcbiAgdmFyIGlcXG5cXG4gIGlmICh0aGlzID09PSB0YXJnZXQgJiYgc3RhcnQgPCB0YXJnZXRTdGFydCAmJiB0YXJnZXRTdGFydCA8IGVuZCkge1xcbiAgICAvLyBkZXNjZW5kaW5nIGNvcHkgZnJvbSBlbmRcXG4gICAgZm9yIChpID0gbGVuIC0gMTsgaSA+PSAwOyAtLWkpIHtcXG4gICAgICB0YXJnZXRbaSArIHRhcmdldFN0YXJ0XSA9IHRoaXNbaSArIHN0YXJ0XVxcbiAgICB9XFxuICB9IGVsc2UgaWYgKGxlbiA8IDEwMDAgfHwgIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XFxuICAgIC8vIGFzY2VuZGluZyBjb3B5IGZyb20gc3RhcnRcXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKSB7XFxuICAgICAgdGFyZ2V0W2kgKyB0YXJnZXRTdGFydF0gPSB0aGlzW2kgKyBzdGFydF1cXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoXFxuICAgICAgdGFyZ2V0LFxcbiAgICAgIHRoaXMuc3ViYXJyYXkoc3RhcnQsIHN0YXJ0ICsgbGVuKSxcXG4gICAgICB0YXJnZXRTdGFydFxcbiAgICApXFxuICB9XFxuXFxuICByZXR1cm4gbGVuXFxufVxcblxcbi8vIFVzYWdlOlxcbi8vICAgIGJ1ZmZlci5maWxsKG51bWJlclssIG9mZnNldFssIGVuZF1dKVxcbi8vICAgIGJ1ZmZlci5maWxsKGJ1ZmZlclssIG9mZnNldFssIGVuZF1dKVxcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxcbkJ1ZmZlci5wcm90b3R5cGUuZmlsbCA9IGZ1bmN0aW9uIGZpbGwgKHZhbCwgc3RhcnQsIGVuZCwgZW5jb2RpbmcpIHtcXG4gIC8vIEhhbmRsZSBzdHJpbmcgY2FzZXM6XFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcXG4gICAgaWYgKHR5cGVvZiBzdGFydCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICBlbmNvZGluZyA9IHN0YXJ0XFxuICAgICAgc3RhcnQgPSAwXFxuICAgICAgZW5kID0gdGhpcy5sZW5ndGhcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZW5kID09PSAnc3RyaW5nJykge1xcbiAgICAgIGVuY29kaW5nID0gZW5kXFxuICAgICAgZW5kID0gdGhpcy5sZW5ndGhcXG4gICAgfVxcbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xcbiAgICAgIHZhciBjb2RlID0gdmFsLmNoYXJDb2RlQXQoMClcXG4gICAgICBpZiAoY29kZSA8IDI1Nikge1xcbiAgICAgICAgdmFsID0gY29kZVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XFxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZycpXFxuICAgIH1cXG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcXG4gICAgfVxcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xcbiAgICB2YWwgPSB2YWwgJiAyNTVcXG4gIH1cXG5cXG4gIC8vIEludmFsaWQgcmFuZ2VzIGFyZSBub3Qgc2V0IHRvIGEgZGVmYXVsdCwgc28gY2FuIHJhbmdlIGNoZWNrIGVhcmx5LlxcbiAgaWYgKHN0YXJ0IDwgMCB8fCB0aGlzLmxlbmd0aCA8IHN0YXJ0IHx8IHRoaXMubGVuZ3RoIDwgZW5kKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdPdXQgb2YgcmFuZ2UgaW5kZXgnKVxcbiAgfVxcblxcbiAgaWYgKGVuZCA8PSBzdGFydCkge1xcbiAgICByZXR1cm4gdGhpc1xcbiAgfVxcblxcbiAgc3RhcnQgPSBzdGFydCA+Pj4gMFxcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyB0aGlzLmxlbmd0aCA6IGVuZCA+Pj4gMFxcblxcbiAgaWYgKCF2YWwpIHZhbCA9IDBcXG5cXG4gIHZhciBpXFxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcXG4gICAgZm9yIChpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xcbiAgICAgIHRoaXNbaV0gPSB2YWxcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGJ5dGVzID0gQnVmZmVyLmlzQnVmZmVyKHZhbClcXG4gICAgICA/IHZhbFxcbiAgICAgIDogdXRmOFRvQnl0ZXMobmV3IEJ1ZmZlcih2YWwsIGVuY29kaW5nKS50b1N0cmluZygpKVxcbiAgICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoXFxuICAgIGZvciAoaSA9IDA7IGkgPCBlbmQgLSBzdGFydDsgKytpKSB7XFxuICAgICAgdGhpc1tpICsgc3RhcnRdID0gYnl0ZXNbaSAlIGxlbl1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuLy8gSEVMUEVSIEZVTkNUSU9OU1xcbi8vID09PT09PT09PT09PT09PT1cXG5cXG52YXIgSU5WQUxJRF9CQVNFNjRfUkUgPSAvW14rXFxcXC8wLTlBLVphLXotX10vZ1xcblxcbmZ1bmN0aW9uIGJhc2U2NGNsZWFuIChzdHIpIHtcXG4gIC8vIE5vZGUgc3RyaXBzIG91dCBpbnZhbGlkIGNoYXJhY3RlcnMgbGlrZSBcXFxcbiBhbmQgXFxcXHQgZnJvbSB0aGUgc3RyaW5nLCBiYXNlNjQtanMgZG9lcyBub3RcXG4gIHN0ciA9IHN0cmluZ3RyaW0oc3RyKS5yZXBsYWNlKElOVkFMSURfQkFTRTY0X1JFLCAnJylcXG4gIC8vIE5vZGUgY29udmVydHMgc3RyaW5ncyB3aXRoIGxlbmd0aCA8IDIgdG8gJydcXG4gIGlmIChzdHIubGVuZ3RoIDwgMikgcmV0dXJuICcnXFxuICAvLyBOb2RlIGFsbG93cyBmb3Igbm9uLXBhZGRlZCBiYXNlNjQgc3RyaW5ncyAobWlzc2luZyB0cmFpbGluZyA9PT0pLCBiYXNlNjQtanMgZG9lcyBub3RcXG4gIHdoaWxlIChzdHIubGVuZ3RoICUgNCAhPT0gMCkge1xcbiAgICBzdHIgPSBzdHIgKyAnPSdcXG4gIH1cXG4gIHJldHVybiBzdHJcXG59XFxuXFxuZnVuY3Rpb24gc3RyaW5ndHJpbSAoc3RyKSB7XFxuICBpZiAoc3RyLnRyaW0pIHJldHVybiBzdHIudHJpbSgpXFxuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXFxccyt8XFxcXHMrJC9nLCAnJylcXG59XFxuXFxuZnVuY3Rpb24gdG9IZXggKG4pIHtcXG4gIGlmIChuIDwgMTYpIHJldHVybiAnMCcgKyBuLnRvU3RyaW5nKDE2KVxcbiAgcmV0dXJuIG4udG9TdHJpbmcoMTYpXFxufVxcblxcbmZ1bmN0aW9uIHV0ZjhUb0J5dGVzIChzdHJpbmcsIHVuaXRzKSB7XFxuICB1bml0cyA9IHVuaXRzIHx8IEluZmluaXR5XFxuICB2YXIgY29kZVBvaW50XFxuICB2YXIgbGVuZ3RoID0gc3RyaW5nLmxlbmd0aFxcbiAgdmFyIGxlYWRTdXJyb2dhdGUgPSBudWxsXFxuICB2YXIgYnl0ZXMgPSBbXVxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkge1xcbiAgICBjb2RlUG9pbnQgPSBzdHJpbmcuY2hhckNvZGVBdChpKVxcblxcbiAgICAvLyBpcyBzdXJyb2dhdGUgY29tcG9uZW50XFxuICAgIGlmIChjb2RlUG9pbnQgPiAweEQ3RkYgJiYgY29kZVBvaW50IDwgMHhFMDAwKSB7XFxuICAgICAgLy8gbGFzdCBjaGFyIHdhcyBhIGxlYWRcXG4gICAgICBpZiAoIWxlYWRTdXJyb2dhdGUpIHtcXG4gICAgICAgIC8vIG5vIGxlYWQgeWV0XFxuICAgICAgICBpZiAoY29kZVBvaW50ID4gMHhEQkZGKSB7XFxuICAgICAgICAgIC8vIHVuZXhwZWN0ZWQgdHJhaWxcXG4gICAgICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXFxuICAgICAgICAgIGNvbnRpbnVlXFxuICAgICAgICB9IGVsc2UgaWYgKGkgKyAxID09PSBsZW5ndGgpIHtcXG4gICAgICAgICAgLy8gdW5wYWlyZWQgbGVhZFxcbiAgICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcXG4gICAgICAgICAgY29udGludWVcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIC8vIHZhbGlkIGxlYWRcXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcXG5cXG4gICAgICAgIGNvbnRpbnVlXFxuICAgICAgfVxcblxcbiAgICAgIC8vIDIgbGVhZHMgaW4gYSByb3dcXG4gICAgICBpZiAoY29kZVBvaW50IDwgMHhEQzAwKSB7XFxuICAgICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcXG4gICAgICAgIGNvbnRpbnVlXFxuICAgICAgfVxcblxcbiAgICAgIC8vIHZhbGlkIHN1cnJvZ2F0ZSBwYWlyXFxuICAgICAgY29kZVBvaW50ID0gKGxlYWRTdXJyb2dhdGUgLSAweEQ4MDAgPDwgMTAgfCBjb2RlUG9pbnQgLSAweERDMDApICsgMHgxMDAwMFxcbiAgICB9IGVsc2UgaWYgKGxlYWRTdXJyb2dhdGUpIHtcXG4gICAgICAvLyB2YWxpZCBibXAgY2hhciwgYnV0IGxhc3QgY2hhciB3YXMgYSBsZWFkXFxuICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXFxuICAgIH1cXG5cXG4gICAgbGVhZFN1cnJvZ2F0ZSA9IG51bGxcXG5cXG4gICAgLy8gZW5jb2RlIHV0ZjhcXG4gICAgaWYgKGNvZGVQb2ludCA8IDB4ODApIHtcXG4gICAgICBpZiAoKHVuaXRzIC09IDEpIDwgMCkgYnJlYWtcXG4gICAgICBieXRlcy5wdXNoKGNvZGVQb2ludClcXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDgwMCkge1xcbiAgICAgIGlmICgodW5pdHMgLT0gMikgPCAwKSBicmVha1xcbiAgICAgIGJ5dGVzLnB1c2goXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2IHwgMHhDMCxcXG4gICAgICAgIGNvZGVQb2ludCAmIDB4M0YgfCAweDgwXFxuICAgICAgKVxcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4MTAwMDApIHtcXG4gICAgICBpZiAoKHVuaXRzIC09IDMpIDwgMCkgYnJlYWtcXG4gICAgICBieXRlcy5wdXNoKFxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4QyB8IDB4RTAsXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2ICYgMHgzRiB8IDB4ODAsXFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxcbiAgICAgIClcXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPCAweDExMDAwMCkge1xcbiAgICAgIGlmICgodW5pdHMgLT0gNCkgPCAwKSBicmVha1xcbiAgICAgIGJ5dGVzLnB1c2goXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHgxMiB8IDB4RjAsXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDICYgMHgzRiB8IDB4ODAsXFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHg2ICYgMHgzRiB8IDB4ODAsXFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxcbiAgICAgIClcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29kZSBwb2ludCcpXFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBieXRlc1xcbn1cXG5cXG5mdW5jdGlvbiBhc2NpaVRvQnl0ZXMgKHN0cikge1xcbiAgdmFyIGJ5dGVBcnJheSA9IFtdXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cXG4gICAgYnl0ZUFycmF5LnB1c2goc3RyLmNoYXJDb2RlQXQoaSkgJiAweEZGKVxcbiAgfVxcbiAgcmV0dXJuIGJ5dGVBcnJheVxcbn1cXG5cXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xcbiAgdmFyIGMsIGhpLCBsb1xcbiAgdmFyIGJ5dGVBcnJheSA9IFtdXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xcbiAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcXG5cXG4gICAgYyA9IHN0ci5jaGFyQ29kZUF0KGkpXFxuICAgIGhpID0gYyA+PiA4XFxuICAgIGxvID0gYyAlIDI1NlxcbiAgICBieXRlQXJyYXkucHVzaChsbylcXG4gICAgYnl0ZUFycmF5LnB1c2goaGkpXFxuICB9XFxuXFxuICByZXR1cm4gYnl0ZUFycmF5XFxufVxcblxcbmZ1bmN0aW9uIGJhc2U2NFRvQnl0ZXMgKHN0cikge1xcbiAgcmV0dXJuIGJhc2U2NC50b0J5dGVBcnJheShiYXNlNjRjbGVhbihzdHIpKVxcbn1cXG5cXG5mdW5jdGlvbiBibGl0QnVmZmVyIChzcmMsIGRzdCwgb2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcXG4gICAgaWYgKChpICsgb2Zmc2V0ID49IGRzdC5sZW5ndGgpIHx8IChpID49IHNyYy5sZW5ndGgpKSBicmVha1xcbiAgICBkc3RbaSArIG9mZnNldF0gPSBzcmNbaV1cXG4gIH1cXG4gIHJldHVybiBpXFxufVxcblxcbmZ1bmN0aW9uIGlzbmFuICh2YWwpIHtcXG4gIHJldHVybiB2YWwgIT09IHZhbCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5aWRXWm1aWEl2YVc1a1pYZ3Vhbk0vTlRVNE1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZXVHM3UVVGRldpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2IwUkJRVmM3UVVGRGFFTXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHZEVRVUZUTzBGQlF5OUNMR05CUVdNc2JVSkJRVThzUTBGQlF5eG5SRUZCVXpzN1FVRkZMMEk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4dFJFRkJiVVE3UVVGRGVFVTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4VlFVRlZPMEZCUXpkQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4WlFVRlpPMEZCUXpkQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTd3dRa0ZCTUVJN1FVRkRNVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2RVTkJRWFZETEZOQlFWTTdRVUZEYUVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWlVGQlpTeHBRa0ZCYVVJN1FVRkRhRU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHbENRVUZwUWp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRk5CUVZNN1FVRkRNVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4blJFRkJaMFFzUlVGQlJUdEJRVU5zUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1UwRkJVenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNlVU5CUVhsRE8wRkJRM3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUWtGQmQwSXNaVUZCWlR0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeDNRa0ZCZDBJc1VVRkJVVHRCUVVOb1F6dEJRVU5CTEhGQ1FVRnhRaXhsUVVGbE8wRkJRM0JETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4WlFVRlpPMEZCUXpkQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSXNVMEZCVXp0QlFVTTVRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMRk5CUVZNN1FVRkRPVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2NVSkJRWEZDTEZOQlFWTTdRVUZET1VJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEd0Q1FVRnJRanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdOQlFXTTdRVUZEYWtNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMSFZFUVVGMVJDeFBRVUZQTzBGQlF6bEVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3gxUkVGQmRVUXNUMEZCVHp0QlFVTTVSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4clFrRkJhMEk3UVVGRGJFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHhRa0ZCY1VJc1VVRkJVVHRCUVVNM1FqdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1pVRkJaU3hUUVVGVE8wRkJRM2hDTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHVkJRV1VzYVVKQlFXbENPMEZCUTJoRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xGbEJRVms3UVVGRE4wSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhuUWtGQlowSTdRVUZEYWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNaMEpCUVdkQ08wRkJRMnBET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xDUVVGcFFpeFpRVUZaTzBGQlF6ZENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwySjFabVpsY2k5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxSVZ4dUlDb2dWR2hsSUdKMVptWmxjaUJ0YjJSMWJHVWdabkp2YlNCdWIyUmxMbXB6TENCbWIzSWdkR2hsSUdKeWIzZHpaWEl1WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUFnSUVabGNtOXpjeUJCWW05MWEyaGhaR2xxWldnZ1BHaDBkSEE2THk5bVpYSnZjM011YjNKblBseHVJQ29nUUd4cFkyVnVjMlVnSUUxSlZGeHVJQ292WEc0dktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCdWJ5MXdjbTkwYnlBcUwxeHVYRzRuZFhObElITjBjbWxqZENkY2JseHVkbUZ5SUdKaGMyVTJOQ0E5SUhKbGNYVnBjbVVvSjJKaGMyVTJOQzFxY3ljcFhHNTJZWElnYVdWbFpUYzFOQ0E5SUhKbGNYVnBjbVVvSjJsbFpXVTNOVFFuS1Z4dWRtRnlJR2x6UVhKeVlYa2dQU0J5WlhGMWFYSmxLQ2RwYzJGeWNtRjVKeWxjYmx4dVpYaHdiM0owY3k1Q2RXWm1aWElnUFNCQ2RXWm1aWEpjYm1WNGNHOXlkSE11VTJ4dmQwSjFabVpsY2lBOUlGTnNiM2RDZFdabVpYSmNibVY0Y0c5eWRITXVTVTVUVUVWRFZGOU5RVmhmUWxsVVJWTWdQU0ExTUZ4dVhHNHZLaXBjYmlBcUlFbG1JR0JDZFdabVpYSXVWRmxRUlVSZlFWSlNRVmxmVTFWUVVFOVNWR0E2WEc0Z0tpQWdJRDA5UFNCMGNuVmxJQ0FnSUZWelpTQlZhVzUwT0VGeWNtRjVJR2x0Y0d4bGJXVnVkR0YwYVc5dUlDaG1ZWE4wWlhOMEtWeHVJQ29nSUNBOVBUMGdabUZzYzJVZ0lDQlZjMlVnVDJKcVpXTjBJR2x0Y0d4bGJXVnVkR0YwYVc5dUlDaHRiM04wSUdOdmJYQmhkR2xpYkdVc0lHVjJaVzRnU1VVMktWeHVJQ3BjYmlBcUlFSnliM2R6WlhKeklIUm9ZWFFnYzNWd2NHOXlkQ0IwZVhCbFpDQmhjbkpoZVhNZ1lYSmxJRWxGSURFd0t5d2dSbWx5WldadmVDQTBLeXdnUTJoeWIyMWxJRGNyTENCVFlXWmhjbWtnTlM0eEt5eGNiaUFxSUU5d1pYSmhJREV4TGpZckxDQnBUMU1nTkM0eUt5NWNiaUFxWEc0Z0tpQkVkV1VnZEc4Z2RtRnlhVzkxY3lCaWNtOTNjMlZ5SUdKMVozTXNJSE52YldWMGFXMWxjeUIwYUdVZ1QySnFaV04wSUdsdGNHeGxiV1Z1ZEdGMGFXOXVJSGRwYkd3Z1ltVWdkWE5sWkNCbGRtVnVYRzRnS2lCM2FHVnVJSFJvWlNCaWNtOTNjMlZ5SUhOMWNIQnZjblJ6SUhSNWNHVmtJR0Z5Y21GNWN5NWNiaUFxWEc0Z0tpQk9iM1JsT2x4dUlDcGNiaUFxSUNBZ0xTQkdhWEpsWm05NElEUXRNamtnYkdGamEzTWdjM1Z3Y0c5eWRDQm1iM0lnWVdSa2FXNW5JRzVsZHlCd2NtOXdaWEowYVdWeklIUnZJR0JWYVc1ME9FRnljbUY1WUNCcGJuTjBZVzVqWlhNc1hHNGdLaUFnSUNBZ1UyVmxPaUJvZEhSd2N6b3ZMMkoxWjNwcGJHeGhMbTF2ZW1sc2JHRXViM0puTDNOb2IzZGZZblZuTG1ObmFUOXBaRDAyT1RVME16Z3VYRzRnS2x4dUlDb2dJQ0F0SUVOb2NtOXRaU0E1TFRFd0lHbHpJRzFwYzNOcGJtY2dkR2hsSUdCVWVYQmxaRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpkV0poY25KaGVXQWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dJQ0F0SUVsRk1UQWdhR0Z6SUdFZ1luSnZhMlZ1SUdCVWVYQmxaRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpkV0poY25KaGVXQWdablZ1WTNScGIyNGdkMmhwWTJnZ2NtVjBkWEp1Y3lCaGNuSmhlWE1nYjJaY2JpQXFJQ0FnSUNCcGJtTnZjbkpsWTNRZ2JHVnVaM1JvSUdsdUlITnZiV1VnYzJsMGRXRjBhVzl1Y3k1Y2JseHVJQ29nVjJVZ1pHVjBaV04wSUhSb1pYTmxJR0oxWjJkNUlHSnliM2R6WlhKeklHRnVaQ0J6WlhRZ1lFSjFabVpsY2k1VVdWQkZSRjlCVWxKQldWOVRWVkJRVDFKVVlDQjBieUJnWm1Gc2MyVmdJSE52SUhSb1pYbGNiaUFxSUdkbGRDQjBhR1VnVDJKcVpXTjBJR2x0Y0d4bGJXVnVkR0YwYVc5dUxDQjNhR2xqYUNCcGN5QnpiRzkzWlhJZ1luVjBJR0psYUdGMlpYTWdZMjl5Y21WamRHeDVMbHh1SUNvdlhHNUNkV1ptWlhJdVZGbFFSVVJmUVZKU1FWbGZVMVZRVUU5U1ZDQTlJR2RzYjJKaGJDNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVJQ0U5UFNCMWJtUmxabWx1WldSY2JpQWdQeUJuYkc5aVlXd3VWRmxRUlVSZlFWSlNRVmxmVTFWUVVFOVNWRnh1SUNBNklIUjVjR1ZrUVhKeVlYbFRkWEJ3YjNKMEtDbGNibHh1THlwY2JpQXFJRVY0Y0c5eWRDQnJUV0Y0VEdWdVozUm9JR0ZtZEdWeUlIUjVjR1ZrSUdGeWNtRjVJSE4xY0hCdmNuUWdhWE1nWkdWMFpYSnRhVzVsWkM1Y2JpQXFMMXh1Wlhod2IzSjBjeTVyVFdGNFRHVnVaM1JvSUQwZ2EwMWhlRXhsYm1kMGFDZ3BYRzVjYm1aMWJtTjBhVzl1SUhSNWNHVmtRWEp5WVhsVGRYQndiM0owSUNncElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCMllYSWdZWEp5SUQwZ2JtVjNJRlZwYm5RNFFYSnlZWGtvTVNsY2JpQWdJQ0JoY25JdVgxOXdjbTkwYjE5ZklEMGdlMTlmY0hKdmRHOWZYem9nVldsdWREaEJjbkpoZVM1d2NtOTBiM1I1Y0dVc0lHWnZiem9nWm5WdVkzUnBiMjRnS0NrZ2V5QnlaWFIxY200Z05ESWdmWDFjYmlBZ0lDQnlaWFIxY200Z1lYSnlMbVp2YnlncElEMDlQU0EwTWlBbUppQXZMeUIwZVhCbFpDQmhjbkpoZVNCcGJuTjBZVzVqWlhNZ1kyRnVJR0psSUdGMVoyMWxiblJsWkZ4dUlDQWdJQ0FnSUNCMGVYQmxiMllnWVhKeUxuTjFZbUZ5Y21GNUlEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDOHZJR05vY205dFpTQTVMVEV3SUd4aFkyc2dZSE4xWW1GeWNtRjVZRnh1SUNBZ0lDQWdJQ0JoY25JdWMzVmlZWEp5WVhrb01Td2dNU2t1WW5sMFpVeGxibWQwYUNBOVBUMGdNQ0F2THlCcFpURXdJR2hoY3lCaWNtOXJaVzRnWUhOMVltRnljbUY1WUZ4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2EwMWhlRXhsYm1kMGFDQW9LU0I3WEc0Z0lISmxkSFZ5YmlCQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkZ4dUlDQWdJRDhnTUhnM1ptWm1abVptWmx4dUlDQWdJRG9nTUhnelptWm1abVptWmx4dWZWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkNkV1ptWlhJZ0tIUm9ZWFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnBaaUFvYTAxaGVFeGxibWQwYUNncElEd2diR1Z1WjNSb0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGSmhibWRsUlhKeWIzSW9KMGx1ZG1Gc2FXUWdkSGx3WldRZ1lYSnlZWGtnYkdWdVozUm9KeWxjYmlBZ2ZWeHVJQ0JwWmlBb1FuVm1abVZ5TGxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRcElIdGNiaUFnSUNBdkx5QlNaWFIxY200Z1lXNGdZWFZuYldWdWRHVmtJR0JWYVc1ME9FRnljbUY1WUNCcGJuTjBZVzVqWlN3Z1ptOXlJR0psYzNRZ2NHVnlabTl5YldGdVkyVmNiaUFnSUNCMGFHRjBJRDBnYm1WM0lGVnBiblE0UVhKeVlYa29iR1Z1WjNSb0tWeHVJQ0FnSUhSb1lYUXVYMTl3Y205MGIxOWZJRDBnUW5WbVptVnlMbkJ5YjNSdmRIbHdaVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVaaGJHeGlZV05yT2lCU1pYUjFjbTRnWVc0Z2IySnFaV04wSUdsdWMzUmhibU5sSUc5bUlIUm9aU0JDZFdabVpYSWdZMnhoYzNOY2JpQWdJQ0JwWmlBb2RHaGhkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZEdoaGRDQTlJRzVsZHlCQ2RXWm1aWElvYkdWdVozUm9LVnh1SUNBZ0lIMWNiaUFnSUNCMGFHRjBMbXhsYm1kMGFDQTlJR3hsYm1kMGFGeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUm9ZWFJjYm4xY2JseHVMeW9xWEc0Z0tpQlVhR1VnUW5WbVptVnlJR052Ym5OMGNuVmpkRzl5SUhKbGRIVnlibk1nYVc1emRHRnVZMlZ6SUc5bUlHQlZhVzUwT0VGeWNtRjVZQ0IwYUdGMElHaGhkbVVnZEdobGFYSmNiaUFxSUhCeWIzUnZkSGx3WlNCamFHRnVaMlZrSUhSdklHQkNkV1ptWlhJdWNISnZkRzkwZVhCbFlDNGdSblZ5ZEdobGNtMXZjbVVzSUdCQ2RXWm1aWEpnSUdseklHRWdjM1ZpWTJ4aGMzTWdiMlpjYmlBcUlHQlZhVzUwT0VGeWNtRjVZQ3dnYzI4Z2RHaGxJSEpsZEhWeWJtVmtJR2x1YzNSaGJtTmxjeUIzYVd4c0lHaGhkbVVnWVd4c0lIUm9aU0J1YjJSbElHQkNkV1ptWlhKZ0lHMWxkR2h2WkhOY2JpQXFJR0Z1WkNCMGFHVWdZRlZwYm5RNFFYSnlZWGxnSUcxbGRHaHZaSE11SUZOeGRXRnlaU0JpY21GamEyVjBJRzV2ZEdGMGFXOXVJSGR2Y210eklHRnpJR1Y0Y0dWamRHVmtJQzB0SUdsMFhHNGdLaUJ5WlhSMWNtNXpJR0VnYzJsdVoyeGxJRzlqZEdWMExseHVJQ3BjYmlBcUlGUm9aU0JnVldsdWREaEJjbkpoZVdBZ2NISnZkRzkwZVhCbElISmxiV0ZwYm5NZ2RXNXRiMlJwWm1sbFpDNWNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQkNkV1ptWlhJZ0tHRnlaeXdnWlc1amIyUnBibWRQY2s5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHbG1JQ2doUW5WbVptVnlMbFJaVUVWRVgwRlNVa0ZaWDFOVlVGQlBVbFFnSmlZZ0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1FuVm1abVZ5S1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1FuVm1abVZ5S0dGeVp5d2daVzVqYjJScGJtZFBjazltWm5ObGRDd2diR1Z1WjNSb0tWeHVJQ0I5WEc1Y2JpQWdMeThnUTI5dGJXOXVJR05oYzJVdVhHNGdJR2xtSUNoMGVYQmxiMllnWVhKbklEMDlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWlc1amIyUnBibWRQY2s5bVpuTmxkQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0owbG1JR1Z1WTI5a2FXNW5JR2x6SUhOd1pXTnBabWxsWkNCMGFHVnVJSFJvWlNCbWFYSnpkQ0JoY21kMWJXVnVkQ0J0ZFhOMElHSmxJR0VnYzNSeWFXNW5KMXh1SUNBZ0lDQWdLVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWVd4c2IyTlZibk5oWm1Vb2RHaHBjeXdnWVhKbktWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCbWNtOXRLSFJvYVhNc0lHRnlaeXdnWlc1amIyUnBibWRQY2s5bVpuTmxkQ3dnYkdWdVozUm9LVnh1ZlZ4dVhHNUNkV1ptWlhJdWNHOXZiRk5wZW1VZ1BTQTRNVGt5SUM4dklHNXZkQ0IxYzJWa0lHSjVJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjVjYmx4dUx5OGdWRTlFVHpvZ1RHVm5ZV041TENCdWIzUWdibVZsWkdWa0lHRnVlVzF2Y21VdUlGSmxiVzkyWlNCcGJpQnVaWGgwSUcxaGFtOXlJSFpsY25OcGIyNHVYRzVDZFdabVpYSXVYMkYxWjIxbGJuUWdQU0JtZFc1amRHbHZiaUFvWVhKeUtTQjdYRzRnSUdGeWNpNWZYM0J5YjNSdlgxOGdQU0JDZFdabVpYSXVjSEp2ZEc5MGVYQmxYRzRnSUhKbGRIVnliaUJoY25KY2JuMWNibHh1Wm5WdVkzUnBiMjRnWm5KdmJTQW9kR2hoZEN3Z2RtRnNkV1VzSUdWdVkyOWthVzVuVDNKUFptWnpaWFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjF3aWRtRnNkV1ZjSWlCaGNtZDFiV1Z1ZENCdGRYTjBJRzV2ZENCaVpTQmhJRzUxYldKbGNpY3BYRzRnSUgxY2JseHVJQ0JwWmlBb2RIbHdaVzltSUVGeWNtRjVRblZtWm1WeUlDRTlQU0FuZFc1a1pXWnBibVZrSnlBbUppQjJZV3gxWlNCcGJuTjBZVzVqWlc5bUlFRnljbUY1UW5WbVptVnlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWnliMjFCY25KaGVVSjFabVpsY2loMGFHRjBMQ0IyWVd4MVpTd2daVzVqYjJScGJtZFBjazltWm5ObGRDd2diR1Z1WjNSb0tWeHVJQ0I5WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabkp2YlZOMGNtbHVaeWgwYUdGMExDQjJZV3gxWlN3Z1pXNWpiMlJwYm1kUGNrOW1abk5sZENsY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbWNtOXRUMkpxWldOMEtIUm9ZWFFzSUhaaGJIVmxLVnh1ZlZ4dVhHNHZLaXBjYmlBcUlFWjFibU4wYVc5dVlXeHNlU0JsY1hWcGRtRnNaVzUwSUhSdklFSjFabVpsY2loaGNtY3NJR1Z1WTI5a2FXNW5LU0JpZFhRZ2RHaHliM2R6SUdFZ1ZIbHdaVVZ5Y205eVhHNGdLaUJwWmlCMllXeDFaU0JwY3lCaElHNTFiV0psY2k1Y2JpQXFJRUoxWm1abGNpNW1jbTl0S0hOMGNsc3NJR1Z1WTI5a2FXNW5YU2xjYmlBcUlFSjFabVpsY2k1bWNtOXRLR0Z5Y21GNUtWeHVJQ29nUW5WbVptVnlMbVp5YjIwb1luVm1abVZ5S1Z4dUlDb2dRblZtWm1WeUxtWnliMjBvWVhKeVlYbENkV1ptWlhKYkxDQmllWFJsVDJabWMyVjBXeXdnYkdWdVozUm9YVjBwWEc0Z0tpb3ZYRzVDZFdabVpYSXVabkp2YlNBOUlHWjFibU4wYVc5dUlDaDJZV3gxWlN3Z1pXNWpiMlJwYm1kUGNrOW1abk5sZEN3Z2JHVnVaM1JvS1NCN1hHNGdJSEpsZEhWeWJpQm1jbTl0S0c1MWJHd3NJSFpoYkhWbExDQmxibU52WkdsdVowOXlUMlptYzJWMExDQnNaVzVuZEdncFhHNTlYRzVjYm1sbUlDaENkV1ptWlhJdVZGbFFSVVJmUVZKU1FWbGZVMVZRVUU5U1ZDa2dlMXh1SUNCQ2RXWm1aWEl1Y0hKdmRHOTBlWEJsTGw5ZmNISnZkRzlmWHlBOUlGVnBiblE0UVhKeVlYa3VjSEp2ZEc5MGVYQmxYRzRnSUVKMVptWmxjaTVmWDNCeWIzUnZYMThnUFNCVmFXNTBPRUZ5Y21GNVhHNGdJR2xtSUNoMGVYQmxiMllnVTNsdFltOXNJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUJUZVcxaWIyd3VjM0JsWTJsbGN5QW1KbHh1SUNBZ0lDQWdRblZtWm1WeVcxTjViV0p2YkM1emNHVmphV1Z6WFNBOVBUMGdRblZtWm1WeUtTQjdYRzRnSUNBZ0x5OGdSbWw0SUhOMVltRnljbUY1S0NrZ2FXNGdSVk15TURFMkxpQlRaV1U2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVpYSnZjM012WW5WbVptVnlMM0IxYkd3dk9UZGNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29RblZtWm1WeUxDQlRlVzFpYjJ3dWMzQmxZMmxsY3l3Z2UxeHVJQ0FnSUNBZ2RtRnNkV1U2SUc1MWJHd3NYRzRnSUNBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVmNiaUFnSUNCOUtWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR0Z6YzJWeWRGTnBlbVVnS0hOcGVtVXBJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnphWHBsSUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMXdpYzJsNlpWd2lJR0Z5WjNWdFpXNTBJRzExYzNRZ1ltVWdZU0J1ZFcxaVpYSW5LVnh1SUNCOUlHVnNjMlVnYVdZZ0tITnBlbVVnUENBd0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGSmhibWRsUlhKeWIzSW9KMXdpYzJsNlpWd2lJR0Z5WjNWdFpXNTBJRzExYzNRZ2JtOTBJR0psSUc1bFoyRjBhWFpsSnlsY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhiR3h2WXlBb2RHaGhkQ3dnYzJsNlpTd2dabWxzYkN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnWVhOelpYSjBVMmw2WlNoemFYcGxLVnh1SUNCcFppQW9jMmw2WlNBOFBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnlaV0YwWlVKMVptWmxjaWgwYUdGMExDQnphWHBsS1Z4dUlDQjlYRzRnSUdsbUlDaG1hV3hzSUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQXZMeUJQYm14NUlIQmhlU0JoZEhSbGJuUnBiMjRnZEc4Z1pXNWpiMlJwYm1jZ2FXWWdhWFFuY3lCaElITjBjbWx1Wnk0Z1ZHaHBjMXh1SUNBZ0lDOHZJSEJ5WlhabGJuUnpJR0ZqWTJsa1pXNTBZV3hzZVNCelpXNWthVzVuSUdsdUlHRWdiblZ0WW1WeUlIUm9ZWFFnZDI5MWJHUmNiaUFnSUNBdkx5QmlaU0JwYm5SbGNuQnlaWFIwWldRZ1lYTWdZU0J6ZEdGeWRDQnZabVp6WlhRdVhHNGdJQ0FnY21WMGRYSnVJSFI1Y0dWdlppQmxibU52WkdsdVp5QTlQVDBnSjNOMGNtbHVaeWRjYmlBZ0lDQWdJRDhnWTNKbFlYUmxRblZtWm1WeUtIUm9ZWFFzSUhOcGVtVXBMbVpwYkd3b1ptbHNiQ3dnWlc1amIyUnBibWNwWEc0Z0lDQWdJQ0E2SUdOeVpXRjBaVUoxWm1abGNpaDBhR0YwTENCemFYcGxLUzVtYVd4c0tHWnBiR3dwWEc0Z0lIMWNiaUFnY21WMGRYSnVJR055WldGMFpVSjFabVpsY2loMGFHRjBMQ0J6YVhwbEtWeHVmVnh1WEc0dktpcGNiaUFxSUVOeVpXRjBaWE1nWVNCdVpYY2dabWxzYkdWa0lFSjFabVpsY2lCcGJuTjBZVzVqWlM1Y2JpQXFJR0ZzYkc5aktITnBlbVZiTENCbWFXeHNXeXdnWlc1amIyUnBibWRkWFNsY2JpQXFLaTljYmtKMVptWmxjaTVoYkd4dll5QTlJR1oxYm1OMGFXOXVJQ2h6YVhwbExDQm1hV3hzTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0J5WlhSMWNtNGdZV3hzYjJNb2JuVnNiQ3dnYzJsNlpTd2dabWxzYkN3Z1pXNWpiMlJwYm1jcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdGc2JHOWpWVzV6WVdabElDaDBhR0YwTENCemFYcGxLU0I3WEc0Z0lHRnpjMlZ5ZEZOcGVtVW9jMmw2WlNsY2JpQWdkR2hoZENBOUlHTnlaV0YwWlVKMVptWmxjaWgwYUdGMExDQnphWHBsSUR3Z01DQS9JREFnT2lCamFHVmphMlZrS0hOcGVtVXBJSHdnTUNsY2JpQWdhV1lnS0NGQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2MybDZaVHNnS3l0cEtTQjdYRzRnSUNBZ0lDQjBhR0YwVzJsZElEMGdNRnh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z2RHaGhkRnh1ZlZ4dVhHNHZLaXBjYmlBcUlFVnhkV2wyWVd4bGJuUWdkRzhnUW5WbVptVnlLRzUxYlNrc0lHSjVJR1JsWm1GMWJIUWdZM0psWVhSbGN5QmhJRzV2YmkxNlpYSnZMV1pwYkd4bFpDQkNkV1ptWlhJZ2FXNXpkR0Z1WTJVdVhHNGdLaUFxTDF4dVFuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabElEMGdablZ1WTNScGIyNGdLSE5wZW1VcElIdGNiaUFnY21WMGRYSnVJR0ZzYkc5alZXNXpZV1psS0c1MWJHd3NJSE5wZW1VcFhHNTlYRzR2S2lwY2JpQXFJRVZ4ZFdsMllXeGxiblFnZEc4Z1UyeHZkMEoxWm1abGNpaHVkVzBwTENCaWVTQmtaV1poZFd4MElHTnlaV0YwWlhNZ1lTQnViMjR0ZW1WeWJ5MW1hV3hzWldRZ1FuVm1abVZ5SUdsdWMzUmhibU5sTGx4dUlDb3ZYRzVDZFdabVpYSXVZV3hzYjJOVmJuTmhabVZUYkc5M0lEMGdablZ1WTNScGIyNGdLSE5wZW1VcElIdGNiaUFnY21WMGRYSnVJR0ZzYkc5alZXNXpZV1psS0c1MWJHd3NJSE5wZW1VcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdaeWIyMVRkSEpwYm1jZ0tIUm9ZWFFzSUhOMGNtbHVaeXdnWlc1amIyUnBibWNwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYm1OdlpHbHVaeUFoUFQwZ0ozTjBjbWx1WnljZ2ZId2daVzVqYjJScGJtY2dQVDA5SUNjbktTQjdYRzRnSUNBZ1pXNWpiMlJwYm1jZ1BTQW5kWFJtT0NkY2JpQWdmVnh1WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6Ulc1amIyUnBibWNvWlc1amIyUnBibWNwS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblhDSmxibU52WkdsdVoxd2lJRzExYzNRZ1ltVWdZU0IyWVd4cFpDQnpkSEpwYm1jZ1pXNWpiMlJwYm1jbktWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUd4bGJtZDBhQ0E5SUdKNWRHVk1aVzVuZEdnb2MzUnlhVzVuTENCbGJtTnZaR2x1WnlrZ2ZDQXdYRzRnSUhSb1lYUWdQU0JqY21WaGRHVkNkV1ptWlhJb2RHaGhkQ3dnYkdWdVozUm9LVnh1WEc0Z0lIWmhjaUJoWTNSMVlXd2dQU0IwYUdGMExuZHlhWFJsS0hOMGNtbHVaeXdnWlc1amIyUnBibWNwWEc1Y2JpQWdhV1lnS0dGamRIVmhiQ0FoUFQwZ2JHVnVaM1JvS1NCN1hHNGdJQ0FnTHk4Z1YzSnBkR2x1WnlCaElHaGxlQ0J6ZEhKcGJtY3NJR1p2Y2lCbGVHRnRjR3hsTENCMGFHRjBJR052Ym5SaGFXNXpJR2x1ZG1Gc2FXUWdZMmhoY21GamRHVnljeUIzYVd4c1hHNGdJQ0FnTHk4Z1kyRjFjMlVnWlhabGNubDBhR2x1WnlCaFpuUmxjaUIwYUdVZ1ptbHljM1FnYVc1MllXeHBaQ0JqYUdGeVlXTjBaWElnZEc4Z1ltVWdhV2R1YjNKbFpDNGdLR1V1Wnk1Y2JpQWdJQ0F2THlBbllXSjRlR05rSnlCM2FXeHNJR0psSUhSeVpXRjBaV1FnWVhNZ0oyRmlKeWxjYmlBZ0lDQjBhR0YwSUQwZ2RHaGhkQzV6YkdsalpTZ3dMQ0JoWTNSMVlXd3BYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkR2hoZEZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtY205dFFYSnlZWGxNYVd0bElDaDBhR0YwTENCaGNuSmhlU2tnZTF4dUlDQjJZWElnYkdWdVozUm9JRDBnWVhKeVlYa3ViR1Z1WjNSb0lEd2dNQ0EvSURBZ09pQmphR1ZqYTJWa0tHRnljbUY1TG14bGJtZDBhQ2tnZkNBd1hHNGdJSFJvWVhRZ1BTQmpjbVZoZEdWQ2RXWm1aWElvZEdoaGRDd2diR1Z1WjNSb0tWeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4bGJtZDBhRHNnYVNBclBTQXhLU0I3WEc0Z0lDQWdkR2hoZEZ0cFhTQTlJR0Z5Y21GNVcybGRJQ1lnTWpVMVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhSb1lYUmNibjFjYmx4dVpuVnVZM1JwYjI0Z1puSnZiVUZ5Y21GNVFuVm1abVZ5SUNoMGFHRjBMQ0JoY25KaGVTd2dZbmwwWlU5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHRnljbUY1TG1KNWRHVk1aVzVuZEdnZ0x5OGdkR2hwY3lCMGFISnZkM01nYVdZZ1lHRnljbUY1WUNCcGN5QnViM1FnWVNCMllXeHBaQ0JCY25KaGVVSjFabVpsY2x4dVhHNGdJR2xtSUNoaWVYUmxUMlptYzJWMElEd2dNQ0I4ZkNCaGNuSmhlUzVpZVhSbFRHVnVaM1JvSUR3Z1lubDBaVTltWm5ObGRDa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RjWENkdlptWnpaWFJjWENjZ2FYTWdiM1YwSUc5bUlHSnZkVzVrY3ljcFhHNGdJSDFjYmx4dUlDQnBaaUFvWVhKeVlYa3VZbmwwWlV4bGJtZDBhQ0E4SUdKNWRHVlBabVp6WlhRZ0t5QW9iR1Z1WjNSb0lIeDhJREFwS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0oxeGNKMnhsYm1kMGFGeGNKeUJwY3lCdmRYUWdiMllnWW05MWJtUnpKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaGllWFJsVDJabWMyVjBJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdiR1Z1WjNSb0lEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0JoY25KaGVTQTlJRzVsZHlCVmFXNTBPRUZ5Y21GNUtHRnljbUY1S1Z4dUlDQjlJR1ZzYzJVZ2FXWWdLR3hsYm1kMGFDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWVhKeVlYa2dQU0J1WlhjZ1ZXbHVkRGhCY25KaGVTaGhjbkpoZVN3Z1lubDBaVTltWm5ObGRDbGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQmhjbkpoZVNBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0dGeWNtRjVMQ0JpZVhSbFQyWm1jMlYwTENCc1pXNW5kR2dwWEc0Z0lIMWNibHh1SUNCcFppQW9RblZtWm1WeUxsUlpVRVZFWDBGU1VrRlpYMU5WVUZCUFVsUXBJSHRjYmlBZ0lDQXZMeUJTWlhSMWNtNGdZVzRnWVhWbmJXVnVkR1ZrSUdCVmFXNTBPRUZ5Y21GNVlDQnBibk4wWVc1alpTd2dabTl5SUdKbGMzUWdjR1Z5Wm05eWJXRnVZMlZjYmlBZ0lDQjBhR0YwSUQwZ1lYSnlZWGxjYmlBZ0lDQjBhR0YwTGw5ZmNISnZkRzlmWHlBOUlFSjFabVpsY2k1d2NtOTBiM1I1Y0dWY2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QkdZV3hzWW1GamF6b2dVbVYwZFhKdUlHRnVJRzlpYW1WamRDQnBibk4wWVc1alpTQnZaaUIwYUdVZ1FuVm1abVZ5SUdOc1lYTnpYRzRnSUNBZ2RHaGhkQ0E5SUdaeWIyMUJjbkpoZVV4cGEyVW9kR2hoZEN3Z1lYSnlZWGtwWEc0Z0lIMWNiaUFnY21WMGRYSnVJSFJvWVhSY2JuMWNibHh1Wm5WdVkzUnBiMjRnWm5KdmJVOWlhbVZqZENBb2RHaGhkQ3dnYjJKcUtTQjdYRzRnSUdsbUlDaENkV1ptWlhJdWFYTkNkV1ptWlhJb2IySnFLU2tnZTF4dUlDQWdJSFpoY2lCc1pXNGdQU0JqYUdWamEyVmtLRzlpYWk1c1pXNW5kR2dwSUh3Z01GeHVJQ0FnSUhSb1lYUWdQU0JqY21WaGRHVkNkV1ptWlhJb2RHaGhkQ3dnYkdWdUtWeHVYRzRnSUNBZ2FXWWdLSFJvWVhRdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hoZEZ4dUlDQWdJSDFjYmx4dUlDQWdJRzlpYWk1amIzQjVLSFJvWVhRc0lEQXNJREFzSUd4bGJpbGNiaUFnSUNCeVpYUjFjbTRnZEdoaGRGeHVJQ0I5WEc1Y2JpQWdhV1lnS0c5aWFpa2dlMXh1SUNBZ0lHbG1JQ2dvZEhsd1pXOW1JRUZ5Y21GNVFuVm1abVZ5SUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmx4dUlDQWdJQ0FnSUNCdlltb3VZblZtWm1WeUlHbHVjM1JoYm1ObGIyWWdRWEp5WVhsQ2RXWm1aWElwSUh4OElDZHNaVzVuZEdnbklHbHVJRzlpYWlrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnZZbW91YkdWdVozUm9JQ0U5UFNBbmJuVnRZbVZ5SnlCOGZDQnBjMjVoYmlodlltb3ViR1Z1WjNSb0tTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFFuVm1abVZ5S0hSb1lYUXNJREFwWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabkp2YlVGeWNtRjVUR2xyWlNoMGFHRjBMQ0J2WW1vcFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHOWlhaTUwZVhCbElEMDlQU0FuUW5WbVptVnlKeUFtSmlCcGMwRnljbUY1S0c5aWFpNWtZWFJoS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaeWIyMUJjbkpoZVV4cGEyVW9kR2hoZEN3Z2IySnFMbVJoZEdFcFhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25SbWx5YzNRZ1lYSm5kVzFsYm5RZ2JYVnpkQ0JpWlNCaElITjBjbWx1Wnl3Z1FuVm1abVZ5TENCQmNuSmhlVUoxWm1abGNpd2dRWEp5WVhrc0lHOXlJR0Z5Y21GNUxXeHBhMlVnYjJKcVpXTjBMaWNwWEc1OVhHNWNibVoxYm1OMGFXOXVJR05vWldOclpXUWdLR3hsYm1kMGFDa2dlMXh1SUNBdkx5Qk9iM1JsT2lCallXNXViM1FnZFhObElHQnNaVzVuZEdnZ1BDQnJUV0Y0VEdWdVozUm9LQ2xnSUdobGNtVWdZbVZqWVhWelpTQjBhR0YwSUdaaGFXeHpJSGRvWlc1Y2JpQWdMeThnYkdWdVozUm9JR2x6SUU1aFRpQW9kMmhwWTJnZ2FYTWdiM1JvWlhKM2FYTmxJR052WlhKalpXUWdkRzhnZW1WeWJ5NHBYRzRnSUdsbUlDaHNaVzVuZEdnZ1BqMGdhMDFoZUV4bGJtZDBhQ2dwS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0owRjBkR1Z0Y0hRZ2RHOGdZV3hzYjJOaGRHVWdRblZtWm1WeUlHeGhjbWRsY2lCMGFHRnVJRzFoZUdsdGRXMGdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSjNOcGVtVTZJREI0SnlBcklHdE5ZWGhNWlc1bmRHZ29LUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QW5JR0o1ZEdWekp5bGNiaUFnZlZ4dUlDQnlaWFIxY200Z2JHVnVaM1JvSUh3Z01GeHVmVnh1WEc1bWRXNWpkR2x2YmlCVGJHOTNRblZtWm1WeUlDaHNaVzVuZEdncElIdGNiaUFnYVdZZ0tDdHNaVzVuZEdnZ0lUMGdiR1Z1WjNSb0tTQjdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ1pYRmxjV1Z4WEc0Z0lDQWdiR1Z1WjNSb0lEMGdNRnh1SUNCOVhHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdVlXeHNiMk1vSzJ4bGJtZDBhQ2xjYm4xY2JseHVRblZtWm1WeUxtbHpRblZtWm1WeUlEMGdablZ1WTNScGIyNGdhWE5DZFdabVpYSWdLR0lwSUh0Y2JpQWdjbVYwZFhKdUlDRWhLR0lnSVQwZ2JuVnNiQ0FtSmlCaUxsOXBjMEoxWm1abGNpbGNibjFjYmx4dVFuVm1abVZ5TG1OdmJYQmhjbVVnUFNCbWRXNWpkR2x2YmlCamIyMXdZWEpsSUNoaExDQmlLU0I3WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6UW5WbVptVnlLR0VwSUh4OElDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1lpa3BJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RCY21kMWJXVnVkSE1nYlhWemRDQmlaU0JDZFdabVpYSnpKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaGhJRDA5UFNCaUtTQnlaWFIxY200Z01GeHVYRzRnSUhaaGNpQjRJRDBnWVM1c1pXNW5kR2hjYmlBZ2RtRnlJSGtnUFNCaUxteGxibWQwYUZ4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNaVzRnUFNCTllYUm9MbTFwYmloNExDQjVLVHNnYVNBOElHeGxianNnS3l0cEtTQjdYRzRnSUNBZ2FXWWdLR0ZiYVYwZ0lUMDlJR0piYVYwcElIdGNiaUFnSUNBZ0lIZ2dQU0JoVzJsZFhHNGdJQ0FnSUNCNUlEMGdZbHRwWFZ4dUlDQWdJQ0FnWW5KbFlXdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnBaaUFvZUNBOElIa3BJSEpsZEhWeWJpQXRNVnh1SUNCcFppQW9lU0E4SUhncElISmxkSFZ5YmlBeFhHNGdJSEpsZEhWeWJpQXdYRzU5WEc1Y2JrSjFabVpsY2k1cGMwVnVZMjlrYVc1bklEMGdablZ1WTNScGIyNGdhWE5GYm1OdlpHbHVaeUFvWlc1amIyUnBibWNwSUh0Y2JpQWdjM2RwZEdOb0lDaFRkSEpwYm1jb1pXNWpiMlJwYm1jcExuUnZURzkzWlhKRFlYTmxLQ2twSUh0Y2JpQWdJQ0JqWVhObElDZG9aWGduT2x4dUlDQWdJR05oYzJVZ0ozVjBaamduT2x4dUlDQWdJR05oYzJVZ0ozVjBaaTA0SnpwY2JpQWdJQ0JqWVhObElDZGhjMk5wYVNjNlhHNGdJQ0FnWTJGelpTQW5iR0YwYVc0eEp6cGNiaUFnSUNCallYTmxJQ2RpYVc1aGNua25PbHh1SUNBZ0lHTmhjMlVnSjJKaGMyVTJOQ2M2WEc0Z0lDQWdZMkZ6WlNBbmRXTnpNaWM2WEc0Z0lDQWdZMkZ6WlNBbmRXTnpMVEluT2x4dUlDQWdJR05oYzJVZ0ozVjBaakUyYkdVbk9seHVJQ0FnSUdOaGMyVWdKM1YwWmkweE5teGxKenBjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsWEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVnh1SUNCOVhHNTlYRzVjYmtKMVptWmxjaTVqYjI1allYUWdQU0JtZFc1amRHbHZiaUJqYjI1allYUWdLR3hwYzNRc0lHeGxibWQwYUNrZ2UxeHVJQ0JwWmlBb0lXbHpRWEp5WVhrb2JHbHpkQ2twSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0lteHBjM1JjSWlCaGNtZDFiV1Z1ZENCdGRYTjBJR0psSUdGdUlFRnljbUY1SUc5bUlFSjFabVpsY25NbktWeHVJQ0I5WEc1Y2JpQWdhV1lnS0d4cGMzUXViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnY21WMGRYSnVJRUoxWm1abGNpNWhiR3h2WXlnd0tWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdsY2JpQWdhV1lnS0d4bGJtZDBhQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2JHVnVaM1JvSUQwZ01GeHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0JzYVhOMExteGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0JzWlc1bmRHZ2dLejBnYkdsemRGdHBYUzVzWlc1bmRHaGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnWW5WbVptVnlJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0d4bGJtZDBhQ2xjYmlBZ2RtRnlJSEJ2Y3lBOUlEQmNiaUFnWm05eUlDaHBJRDBnTURzZ2FTQThJR3hwYzNRdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQjJZWElnWW5WbUlEMGdiR2x6ZEZ0cFhWeHVJQ0FnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtHSjFaaWtwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxd2liR2x6ZEZ3aUlHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lXNGdRWEp5WVhrZ2IyWWdRblZtWm1WeWN5Y3BYRzRnSUNBZ2ZWeHVJQ0FnSUdKMVppNWpiM0I1S0dKMVptWmxjaXdnY0c5ektWeHVJQ0FnSUhCdmN5QXJQU0JpZFdZdWJHVnVaM1JvWEc0Z0lIMWNiaUFnY21WMGRYSnVJR0oxWm1abGNseHVmVnh1WEc1bWRXNWpkR2x2YmlCaWVYUmxUR1Z1WjNSb0lDaHpkSEpwYm1jc0lHVnVZMjlrYVc1bktTQjdYRzRnSUdsbUlDaENkV1ptWlhJdWFYTkNkV1ptWlhJb2MzUnlhVzVuS1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ6ZEhKcGJtY3ViR1Z1WjNSb1hHNGdJSDFjYmlBZ2FXWWdLSFI1Y0dWdlppQkJjbkpoZVVKMVptWmxjaUFoUFQwZ0ozVnVaR1ZtYVc1bFpDY2dKaVlnZEhsd1pXOW1JRUZ5Y21GNVFuVm1abVZ5TG1selZtbGxkeUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KbHh1SUNBZ0lDQWdLRUZ5Y21GNVFuVm1abVZ5TG1selZtbGxkeWh6ZEhKcGJtY3BJSHg4SUhOMGNtbHVaeUJwYm5OMFlXNWpaVzltSUVGeWNtRjVRblZtWm1WeUtTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCemRISnBibWN1WW5sMFpVeGxibWQwYUZ4dUlDQjlYRzRnSUdsbUlDaDBlWEJsYjJZZ2MzUnlhVzVuSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lITjBjbWx1WnlBOUlDY25JQ3NnYzNSeWFXNW5YRzRnSUgxY2JseHVJQ0IyWVhJZ2JHVnVJRDBnYzNSeWFXNW5MbXhsYm1kMGFGeHVJQ0JwWmlBb2JHVnVJRDA5UFNBd0tTQnlaWFIxY200Z01GeHVYRzRnSUM4dklGVnpaU0JoSUdadmNpQnNiMjl3SUhSdklHRjJiMmxrSUhKbFkzVnljMmx2Ymx4dUlDQjJZWElnYkc5M1pYSmxaRU5oYzJVZ1BTQm1ZV3h6WlZ4dUlDQm1iM0lnS0RzN0tTQjdYRzRnSUNBZ2MzZHBkR05vSUNobGJtTnZaR2x1WnlrZ2UxeHVJQ0FnSUNBZ1kyRnpaU0FuWVhOamFXa25PbHh1SUNBZ0lDQWdZMkZ6WlNBbmJHRjBhVzR4SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMkpwYm1GeWVTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnNaVzVjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaamduT2x4dUlDQWdJQ0FnWTJGelpTQW5kWFJtTFRnbk9seHVJQ0FnSUNBZ1kyRnpaU0IxYm1SbFptbHVaV1E2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIxZEdZNFZHOUNlWFJsY3loemRISnBibWNwTG14bGJtZDBhRnh1SUNBZ0lDQWdZMkZ6WlNBbmRXTnpNaWM2WEc0Z0lDQWdJQ0JqWVhObElDZDFZM010TWljNlhHNGdJQ0FnSUNCallYTmxJQ2QxZEdZeE5teGxKenBjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaaTB4Tm14bEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeGxiaUFxSURKY2JpQWdJQ0FnSUdOaGMyVWdKMmhsZUNjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCc1pXNGdQajQrSURGY2JpQWdJQ0FnSUdOaGMyVWdKMkpoYzJVMk5DYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmlZWE5sTmpSVWIwSjVkR1Z6S0hOMGNtbHVaeWt1YkdWdVozUm9YRzRnSUNBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0lDQnBaaUFvYkc5M1pYSmxaRU5oYzJVcElISmxkSFZ5YmlCMWRHWTRWRzlDZVhSbGN5aHpkSEpwYm1jcExteGxibWQwYUNBdkx5QmhjM04xYldVZ2RYUm1PRnh1SUNBZ0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUNnbkp5QXJJR1Z1WTI5a2FXNW5LUzUwYjB4dmQyVnlRMkZ6WlNncFhHNGdJQ0FnSUNBZ0lHeHZkMlZ5WldSRFlYTmxJRDBnZEhKMVpWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVFuVm1abVZ5TG1KNWRHVk1aVzVuZEdnZ1BTQmllWFJsVEdWdVozUm9YRzVjYm1aMWJtTjBhVzl1SUhOc2IzZFViMU4wY21sdVp5QW9aVzVqYjJScGJtY3NJSE4wWVhKMExDQmxibVFwSUh0Y2JpQWdkbUZ5SUd4dmQyVnlaV1JEWVhObElEMGdabUZzYzJWY2JseHVJQ0F2THlCT2J5QnVaV1ZrSUhSdklIWmxjbWxtZVNCMGFHRjBJRndpZEdocGN5NXNaVzVuZEdnZ1BEMGdUVUZZWDFWSlRsUXpNbHdpSUhOcGJtTmxJR2wwSjNNZ1lTQnlaV0ZrTFc5dWJIbGNiaUFnTHk4Z2NISnZjR1Z5ZEhrZ2IyWWdZU0IwZVhCbFpDQmhjbkpoZVM1Y2JseHVJQ0F2THlCVWFHbHpJR0psYUdGMlpYTWdibVZwZEdobGNpQnNhV3RsSUZOMGNtbHVaeUJ1YjNJZ1ZXbHVkRGhCY25KaGVTQnBiaUIwYUdGMElIZGxJSE5sZENCemRHRnlkQzlsYm1SY2JpQWdMeThnZEc4Z2RHaGxhWElnZFhCd1pYSXZiRzkzWlhJZ1ltOTFibVJ6SUdsbUlIUm9aU0IyWVd4MVpTQndZWE56WldRZ2FYTWdiM1YwSUc5bUlISmhibWRsTGx4dUlDQXZMeUIxYm1SbFptbHVaV1FnYVhNZ2FHRnVaR3hsWkNCemNHVmphV0ZzYkhrZ1lYTWdjR1Z5SUVWRFRVRXRNall5SURaMGFDQkZaR2wwYVc5dUxGeHVJQ0F2THlCVFpXTjBhVzl1SURFekxqTXVNeTQzSUZKMWJuUnBiV1VnVTJWdFlXNTBhV056T2lCTFpYbGxaRUpwYm1ScGJtZEpibWwwYVdGc2FYcGhkR2x2Ymk1Y2JpQWdhV1lnS0hOMFlYSjBJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2djM1JoY25RZ1BDQXdLU0I3WEc0Z0lDQWdjM1JoY25RZ1BTQXdYRzRnSUgxY2JpQWdMeThnVW1WMGRYSnVJR1ZoY214NUlHbG1JSE4wWVhKMElENGdkR2hwY3k1c1pXNW5kR2d1SUVSdmJtVWdhR1Z5WlNCMGJ5QndjbVYyWlc1MElIQnZkR1Z1ZEdsaGJDQjFhVzUwTXpKY2JpQWdMeThnWTI5bGNtTnBiMjRnWm1GcGJDQmlaV3h2ZHk1Y2JpQWdhV1lnS0hOMFlYSjBJRDRnZEdocGN5NXNaVzVuZEdncElIdGNiaUFnSUNCeVpYUjFjbTRnSnlkY2JpQWdmVnh1WEc0Z0lHbG1JQ2hsYm1RZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCbGJtUWdQaUIwYUdsekxteGxibWQwYUNrZ2UxeHVJQ0FnSUdWdVpDQTlJSFJvYVhNdWJHVnVaM1JvWEc0Z0lIMWNibHh1SUNCcFppQW9aVzVrSUR3OUlEQXBJSHRjYmlBZ0lDQnlaWFIxY200Z0p5ZGNiaUFnZlZ4dVhHNGdJQzh2SUVadmNtTmxJR052WlhKemFXOXVJSFJ2SUhWcGJuUXpNaTRnVkdocGN5QjNhV3hzSUdGc2MyOGdZMjlsY21ObElHWmhiSE5sZVM5T1lVNGdkbUZzZFdWeklIUnZJREF1WEc0Z0lHVnVaQ0ErUGo0OUlEQmNiaUFnYzNSaGNuUWdQajQrUFNBd1hHNWNiaUFnYVdZZ0tHVnVaQ0E4UFNCemRHRnlkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW5KMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRmxibU52WkdsdVp5a2daVzVqYjJScGJtY2dQU0FuZFhSbU9DZGNibHh1SUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lITjNhWFJqYUNBb1pXNWpiMlJwYm1jcElIdGNiaUFnSUNBZ0lHTmhjMlVnSjJobGVDYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm9aWGhUYkdsalpTaDBhR2x6TENCemRHRnlkQ3dnWlc1a0tWeHVYRzRnSUNBZ0lDQmpZWE5sSUNkMWRHWTRKenBjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaaTA0SnpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWMFpqaFRiR2xqWlNoMGFHbHpMQ0J6ZEdGeWRDd2daVzVrS1Z4dVhHNGdJQ0FnSUNCallYTmxJQ2RoYzJOcGFTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmhjMk5wYVZOc2FXTmxLSFJvYVhNc0lITjBZWEowTENCbGJtUXBYRzVjYmlBZ0lDQWdJR05oYzJVZ0oyeGhkR2x1TVNjNlhHNGdJQ0FnSUNCallYTmxJQ2RpYVc1aGNua25PbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiR0YwYVc0eFUyeHBZMlVvZEdocGN5d2djM1JoY25Rc0lHVnVaQ2xjYmx4dUlDQWdJQ0FnWTJGelpTQW5ZbUZ6WlRZMEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHSmhjMlUyTkZOc2FXTmxLSFJvYVhNc0lITjBZWEowTENCbGJtUXBYRzVjYmlBZ0lDQWdJR05oYzJVZ0ozVmpjekluT2x4dUlDQWdJQ0FnWTJGelpTQW5kV056TFRJbk9seHVJQ0FnSUNBZ1kyRnpaU0FuZFhSbU1UWnNaU2M2WEc0Z0lDQWdJQ0JqWVhObElDZDFkR1l0TVRac1pTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFkR1l4Tm14bFUyeHBZMlVvZEdocGN5d2djM1JoY25Rc0lHVnVaQ2xjYmx4dUlDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnYVdZZ0tHeHZkMlZ5WldSRFlYTmxLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkVmJtdHViM2R1SUdWdVkyOWthVzVuT2lBbklDc2daVzVqYjJScGJtY3BYRzRnSUNBZ0lDQWdJR1Z1WTI5a2FXNW5JRDBnS0dWdVkyOWthVzVuSUNzZ0p5Y3BMblJ2VEc5M1pYSkRZWE5sS0NsY2JpQWdJQ0FnSUNBZ2JHOTNaWEpsWkVOaGMyVWdQU0IwY25WbFhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JpOHZJRlJvWlNCd2NtOXdaWEowZVNCcGN5QjFjMlZrSUdKNUlHQkNkV1ptWlhJdWFYTkNkV1ptWlhKZ0lHRnVaQ0JnYVhNdFluVm1abVZ5WUNBb2FXNGdVMkZtWVhKcElEVXROeWtnZEc4Z1pHVjBaV04wWEc0dkx5QkNkV1ptWlhJZ2FXNXpkR0Z1WTJWekxseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNWZhWE5DZFdabVpYSWdQU0IwY25WbFhHNWNibVoxYm1OMGFXOXVJSE4zWVhBZ0tHSXNJRzRzSUcwcElIdGNiaUFnZG1GeUlHa2dQU0JpVzI1ZFhHNGdJR0piYmwwZ1BTQmlXMjFkWEc0Z0lHSmJiVjBnUFNCcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1YzNkaGNERTJJRDBnWm5WdVkzUnBiMjRnYzNkaGNERTJJQ2dwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvWEc0Z0lHbG1JQ2hzWlc0Z0pTQXlJQ0U5UFNBd0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGSmhibWRsUlhKeWIzSW9KMEoxWm1abGNpQnphWHBsSUcxMWMzUWdZbVVnWVNCdGRXeDBhWEJzWlNCdlppQXhOaTFpYVhSekp5bGNiaUFnZlZ4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYmpzZ2FTQXJQU0F5S1NCN1hHNGdJQ0FnYzNkaGNDaDBhR2x6TENCcExDQnBJQ3NnTVNsY2JpQWdmVnh1SUNCeVpYUjFjbTRnZEdocGMxeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5OM1lYQXpNaUE5SUdaMWJtTjBhVzl1SUhOM1lYQXpNaUFvS1NCN1hHNGdJSFpoY2lCc1pXNGdQU0IwYUdsekxteGxibWQwYUZ4dUlDQnBaaUFvYkdWdUlDVWdOQ0FoUFQwZ01Da2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RDZFdabVpYSWdjMmw2WlNCdGRYTjBJR0psSUdFZ2JYVnNkR2x3YkdVZ2IyWWdNekl0WW1sMGN5Y3BYRzRnSUgxY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lHa2dLejBnTkNrZ2UxeHVJQ0FnSUhOM1lYQW9kR2hwY3l3Z2FTd2dhU0FySURNcFhHNGdJQ0FnYzNkaGNDaDBhR2x6TENCcElDc2dNU3dnYVNBcklESXBYRzRnSUgxY2JpQWdjbVYwZFhKdUlIUm9hWE5jYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXpkMkZ3TmpRZ1BTQm1kVzVqZEdsdmJpQnpkMkZ3TmpRZ0tDa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHaGNiaUFnYVdZZ0tHeGxiaUFsSURnZ0lUMDlJREFwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnblFuVm1abVZ5SUhOcGVtVWdiWFZ6ZENCaVpTQmhJRzExYkhScGNHeGxJRzltSURZMExXSnBkSE1uS1Z4dUlDQjlYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVPeUJwSUNzOUlEZ3BJSHRjYmlBZ0lDQnpkMkZ3S0hSb2FYTXNJR2tzSUdrZ0t5QTNLVnh1SUNBZ0lITjNZWEFvZEdocGN5d2dhU0FySURFc0lHa2dLeUEyS1Z4dUlDQWdJSE4zWVhBb2RHaHBjeXdnYVNBcklESXNJR2tnS3lBMUtWeHVJQ0FnSUhOM1lYQW9kR2hwY3l3Z2FTQXJJRE1zSUdrZ0t5QTBLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQjBhR2x6WEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvS1NCN1hHNGdJSFpoY2lCc1pXNW5kR2dnUFNCMGFHbHpMbXhsYm1kMGFDQjhJREJjYmlBZ2FXWWdLR3hsYm1kMGFDQTlQVDBnTUNrZ2NtVjBkWEp1SUNjblhHNGdJR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdkWFJtT0ZOc2FXTmxLSFJvYVhNc0lEQXNJR3hsYm1kMGFDbGNiaUFnY21WMGRYSnVJSE5zYjNkVWIxTjBjbWx1Wnk1aGNIQnNlU2gwYUdsekxDQmhjbWQxYldWdWRITXBYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdVpYRjFZV3h6SUQwZ1puVnVZM1JwYjI0Z1pYRjFZV3h6SUNoaUtTQjdYRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtHSXBLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkQmNtZDFiV1Z1ZENCdGRYTjBJR0psSUdFZ1FuVm1abVZ5SnlsY2JpQWdhV1lnS0hSb2FYTWdQVDA5SUdJcElISmxkSFZ5YmlCMGNuVmxYRzRnSUhKbGRIVnliaUJDZFdabVpYSXVZMjl0Y0dGeVpTaDBhR2x6TENCaUtTQTlQVDBnTUZ4dWZWeHVYRzVDZFdabVpYSXVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBJQ2dwSUh0Y2JpQWdkbUZ5SUhOMGNpQTlJQ2NuWEc0Z0lIWmhjaUJ0WVhnZ1BTQmxlSEJ2Y25SekxrbE9VMUJGUTFSZlRVRllYMEpaVkVWVFhHNGdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJREFwSUh0Y2JpQWdJQ0J6ZEhJZ1BTQjBhR2x6TG5SdlUzUnlhVzVuS0Nkb1pYZ25MQ0F3TENCdFlYZ3BMbTFoZEdOb0tDOHVleko5TDJjcExtcHZhVzRvSnlBbktWeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUcxaGVDa2djM1J5SUNzOUlDY2dMaTR1SUNkY2JpQWdmVnh1SUNCeVpYUjFjbTRnSnp4Q2RXWm1aWElnSnlBcklITjBjaUFySUNjK0oxeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG1OdmJYQmhjbVVnUFNCbWRXNWpkR2x2YmlCamIyMXdZWEpsSUNoMFlYSm5aWFFzSUhOMFlYSjBMQ0JsYm1Rc0lIUm9hWE5UZEdGeWRDd2dkR2hwYzBWdVpDa2dlMXh1SUNCcFppQW9JVUoxWm1abGNpNXBjMEoxWm1abGNpaDBZWEpuWlhRcEtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25RWEpuZFcxbGJuUWdiWFZ6ZENCaVpTQmhJRUoxWm1abGNpY3BYRzRnSUgxY2JseHVJQ0JwWmlBb2MzUmhjblFnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lITjBZWEowSUQwZ01GeHVJQ0I5WEc0Z0lHbG1JQ2hsYm1RZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJR1Z1WkNBOUlIUmhjbWRsZENBL0lIUmhjbWRsZEM1c1pXNW5kR2dnT2lBd1hHNGdJSDFjYmlBZ2FXWWdLSFJvYVhOVGRHRnlkQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2RHaHBjMU4wWVhKMElEMGdNRnh1SUNCOVhHNGdJR2xtSUNoMGFHbHpSVzVrSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQjBhR2x6Ulc1a0lEMGdkR2hwY3k1c1pXNW5kR2hjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkR0Z5ZENBOElEQWdmSHdnWlc1a0lENGdkR0Z5WjJWMExteGxibWQwYUNCOGZDQjBhR2x6VTNSaGNuUWdQQ0F3SUh4OElIUm9hWE5GYm1RZ1BpQjBhR2x6TG14bGJtZDBhQ2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkdmRYUWdiMllnY21GdVoyVWdhVzVrWlhnbktWeHVJQ0I5WEc1Y2JpQWdhV1lnS0hSb2FYTlRkR0Z5ZENBK1BTQjBhR2x6Ulc1a0lDWW1JSE4wWVhKMElENDlJR1Z1WkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUF3WEc0Z0lIMWNiaUFnYVdZZ0tIUm9hWE5UZEdGeWRDQStQU0IwYUdselJXNWtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlDMHhYRzRnSUgxY2JpQWdhV1lnS0hOMFlYSjBJRDQ5SUdWdVpDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBeFhHNGdJSDFjYmx4dUlDQnpkR0Z5ZENBK1BqNDlJREJjYmlBZ1pXNWtJRDQrUGowZ01GeHVJQ0IwYUdselUzUmhjblFnUGo0K1BTQXdYRzRnSUhSb2FYTkZibVFnUGo0K1BTQXdYRzVjYmlBZ2FXWWdLSFJvYVhNZ1BUMDlJSFJoY21kbGRDa2djbVYwZFhKdUlEQmNibHh1SUNCMllYSWdlQ0E5SUhSb2FYTkZibVFnTFNCMGFHbHpVM1JoY25SY2JpQWdkbUZ5SUhrZ1BTQmxibVFnTFNCemRHRnlkRnh1SUNCMllYSWdiR1Z1SUQwZ1RXRjBhQzV0YVc0b2VDd2dlU2xjYmx4dUlDQjJZWElnZEdocGMwTnZjSGtnUFNCMGFHbHpMbk5zYVdObEtIUm9hWE5UZEdGeWRDd2dkR2hwYzBWdVpDbGNiaUFnZG1GeUlIUmhjbWRsZEVOdmNIa2dQU0IwWVhKblpYUXVjMnhwWTJVb2MzUmhjblFzSUdWdVpDbGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnS3l0cEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhORGIzQjVXMmxkSUNFOVBTQjBZWEpuWlhSRGIzQjVXMmxkS1NCN1hHNGdJQ0FnSUNCNElEMGdkR2hwYzBOdmNIbGJhVjFjYmlBZ0lDQWdJSGtnUFNCMFlYSm5aWFJEYjNCNVcybGRYRzRnSUNBZ0lDQmljbVZoYTF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaDRJRHdnZVNrZ2NtVjBkWEp1SUMweFhHNGdJR2xtSUNoNUlEd2dlQ2tnY21WMGRYSnVJREZjYmlBZ2NtVjBkWEp1SURCY2JuMWNibHh1THk4Z1JtbHVaSE1nWldsMGFHVnlJSFJvWlNCbWFYSnpkQ0JwYm1SbGVDQnZaaUJnZG1Gc1lDQnBiaUJnWW5WbVptVnlZQ0JoZENCdlptWnpaWFFnUGowZ1lHSjVkR1ZQWm1aelpYUmdMRnh1THk4Z1QxSWdkR2hsSUd4aGMzUWdhVzVrWlhnZ2IyWWdZSFpoYkdBZ2FXNGdZR0oxWm1abGNtQWdZWFFnYjJabWMyVjBJRHc5SUdCaWVYUmxUMlptYzJWMFlDNWNiaTh2WEc0dkx5QkJjbWQxYldWdWRITTZYRzR2THlBdElHSjFabVpsY2lBdElHRWdRblZtWm1WeUlIUnZJSE5sWVhKamFGeHVMeThnTFNCMllXd2dMU0JoSUhOMGNtbHVaeXdnUW5WbVptVnlMQ0J2Y2lCdWRXMWlaWEpjYmk4dklDMGdZbmwwWlU5bVpuTmxkQ0F0SUdGdUlHbHVaR1Y0SUdsdWRHOGdZR0oxWm1abGNtQTdJSGRwYkd3Z1ltVWdZMnhoYlhCbFpDQjBieUJoYmlCcGJuUXpNbHh1THk4Z0xTQmxibU52WkdsdVp5QXRJR0Z1SUc5d2RHbHZibUZzSUdWdVkyOWthVzVuTENCeVpXeGxkbUZ1ZENCcGN5QjJZV3dnYVhNZ1lTQnpkSEpwYm1kY2JpOHZJQzBnWkdseUlDMGdkSEoxWlNCbWIzSWdhVzVrWlhoUFppd2dabUZzYzJVZ1ptOXlJR3hoYzNSSmJtUmxlRTltWEc1bWRXNWpkR2x2YmlCaWFXUnBjbVZqZEdsdmJtRnNTVzVrWlhoUFppQW9ZblZtWm1WeUxDQjJZV3dzSUdKNWRHVlBabVp6WlhRc0lHVnVZMjlrYVc1bkxDQmthWElwSUh0Y2JpQWdMeThnUlcxd2RIa2dZblZtWm1WeUlHMWxZVzV6SUc1dklHMWhkR05vWEc0Z0lHbG1JQ2hpZFdabVpYSXViR1Z1WjNSb0lEMDlQU0F3S1NCeVpYUjFjbTRnTFRGY2JseHVJQ0F2THlCT2IzSnRZV3hwZW1VZ1lubDBaVTltWm5ObGRGeHVJQ0JwWmlBb2RIbHdaVzltSUdKNWRHVlBabVp6WlhRZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdaVzVqYjJScGJtY2dQU0JpZVhSbFQyWm1jMlYwWEc0Z0lDQWdZbmwwWlU5bVpuTmxkQ0E5SURCY2JpQWdmU0JsYkhObElHbG1JQ2hpZVhSbFQyWm1jMlYwSUQ0Z01IZzNabVptWm1abVppa2dlMXh1SUNBZ0lHSjVkR1ZQWm1aelpYUWdQU0F3ZURkbVptWm1abVptWEc0Z0lIMGdaV3h6WlNCcFppQW9ZbmwwWlU5bVpuTmxkQ0E4SUMwd2VEZ3dNREF3TURBd0tTQjdYRzRnSUNBZ1lubDBaVTltWm5ObGRDQTlJQzB3ZURnd01EQXdNREF3WEc0Z0lIMWNiaUFnWW5sMFpVOW1abk5sZENBOUlDdGllWFJsVDJabWMyVjBJQ0F2THlCRGIyVnlZMlVnZEc4Z1RuVnRZbVZ5TGx4dUlDQnBaaUFvYVhOT1lVNG9ZbmwwWlU5bVpuTmxkQ2twSUh0Y2JpQWdJQ0F2THlCaWVYUmxUMlptYzJWME9pQnBkQ0JwZENkeklIVnVaR1ZtYVc1bFpDd2diblZzYkN3Z1RtRk9MQ0JjSW1admIxd2lMQ0JsZEdNc0lITmxZWEpqYUNCM2FHOXNaU0JpZFdabVpYSmNiaUFnSUNCaWVYUmxUMlptYzJWMElEMGdaR2x5SUQ4Z01DQTZJQ2hpZFdabVpYSXViR1Z1WjNSb0lDMGdNU2xjYmlBZ2ZWeHVYRzRnSUM4dklFNXZjbTFoYkdsNlpTQmllWFJsVDJabWMyVjBPaUJ1WldkaGRHbDJaU0J2Wm1aelpYUnpJSE4wWVhKMElHWnliMjBnZEdobElHVnVaQ0J2WmlCMGFHVWdZblZtWm1WeVhHNGdJR2xtSUNoaWVYUmxUMlptYzJWMElEd2dNQ2tnWW5sMFpVOW1abk5sZENBOUlHSjFabVpsY2k1c1pXNW5kR2dnS3lCaWVYUmxUMlptYzJWMFhHNGdJR2xtSUNoaWVYUmxUMlptYzJWMElENDlJR0oxWm1abGNpNXNaVzVuZEdncElIdGNiaUFnSUNCcFppQW9aR2x5S1NCeVpYUjFjbTRnTFRGY2JpQWdJQ0JsYkhObElHSjVkR1ZQWm1aelpYUWdQU0JpZFdabVpYSXViR1Z1WjNSb0lDMGdNVnh1SUNCOUlHVnNjMlVnYVdZZ0tHSjVkR1ZQWm1aelpYUWdQQ0F3S1NCN1hHNGdJQ0FnYVdZZ0tHUnBjaWtnWW5sMFpVOW1abk5sZENBOUlEQmNiaUFnSUNCbGJITmxJSEpsZEhWeWJpQXRNVnh1SUNCOVhHNWNiaUFnTHk4Z1RtOXliV0ZzYVhwbElIWmhiRnh1SUNCcFppQW9kSGx3Wlc5bUlIWmhiQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCMllXd2dQU0JDZFdabVpYSXVabkp2YlNoMllXd3NJR1Z1WTI5a2FXNW5LVnh1SUNCOVhHNWNiaUFnTHk4Z1JtbHVZV3hzZVN3Z2MyVmhjbU5vSUdWcGRHaGxjaUJwYm1SbGVFOW1JQ2hwWmlCa2FYSWdhWE1nZEhKMVpTa2diM0lnYkdGemRFbHVaR1Y0VDJaY2JpQWdhV1lnS0VKMVptWmxjaTVwYzBKMVptWmxjaWgyWVd3cEtTQjdYRzRnSUNBZ0x5OGdVM0JsWTJsaGJDQmpZWE5sT2lCc2IyOXJhVzVuSUdadmNpQmxiWEIwZVNCemRISnBibWN2WW5WbVptVnlJR0ZzZDJGNWN5Qm1ZV2xzYzF4dUlDQWdJR2xtSUNoMllXd3ViR1Z1WjNSb0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnTFRGY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHRnljbUY1U1c1a1pYaFBaaWhpZFdabVpYSXNJSFpoYkN3Z1lubDBaVTltWm5ObGRDd2daVzVqYjJScGJtY3NJR1JwY2lsY2JpQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdkbUZzSUQwOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lIWmhiQ0E5SUhaaGJDQW1JREI0UmtZZ0x5OGdVMlZoY21Ob0lHWnZjaUJoSUdKNWRHVWdkbUZzZFdVZ1d6QXRNalUxWFZ4dUlDQWdJR2xtSUNoQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNBbUpseHVJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1ZXbHVkRGhCY25KaGVTNXdjbTkwYjNSNWNHVXVhVzVrWlhoUFppQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLR1JwY2lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ZXbHVkRGhCY25KaGVTNXdjbTkwYjNSNWNHVXVhVzVrWlhoUFppNWpZV3hzS0dKMVptWmxjaXdnZG1Gc0xDQmllWFJsVDJabWMyVjBLVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGVnBiblE0UVhKeVlYa3VjSEp2ZEc5MGVYQmxMbXhoYzNSSmJtUmxlRTltTG1OaGJHd29ZblZtWm1WeUxDQjJZV3dzSUdKNWRHVlBabVp6WlhRcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmhjbkpoZVVsdVpHVjRUMllvWW5WbVptVnlMQ0JiSUhaaGJDQmRMQ0JpZVhSbFQyWm1jMlYwTENCbGJtTnZaR2x1Wnl3Z1pHbHlLVnh1SUNCOVhHNWNiaUFnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnbmRtRnNJRzExYzNRZ1ltVWdjM1J5YVc1bkxDQnVkVzFpWlhJZ2IzSWdRblZtWm1WeUp5bGNibjFjYmx4dVpuVnVZM1JwYjI0Z1lYSnlZWGxKYm1SbGVFOW1JQ2hoY25Jc0lIWmhiQ3dnWW5sMFpVOW1abk5sZEN3Z1pXNWpiMlJwYm1jc0lHUnBjaWtnZTF4dUlDQjJZWElnYVc1a1pYaFRhWHBsSUQwZ01WeHVJQ0IyWVhJZ1lYSnlUR1Z1WjNSb0lEMGdZWEp5TG14bGJtZDBhRnh1SUNCMllYSWdkbUZzVEdWdVozUm9JRDBnZG1Gc0xteGxibWQwYUZ4dVhHNGdJR2xtSUNobGJtTnZaR2x1WnlBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdaVzVqYjJScGJtY2dQU0JUZEhKcGJtY29aVzVqYjJScGJtY3BMblJ2VEc5M1pYSkRZWE5sS0NsY2JpQWdJQ0JwWmlBb1pXNWpiMlJwYm1jZ1BUMDlJQ2QxWTNNeUp5QjhmQ0JsYm1OdlpHbHVaeUE5UFQwZ0ozVmpjeTB5SnlCOGZGeHVJQ0FnSUNBZ0lDQmxibU52WkdsdVp5QTlQVDBnSjNWMFpqRTJiR1VuSUh4OElHVnVZMjlrYVc1bklEMDlQU0FuZFhSbUxURTJiR1VuS1NCN1hHNGdJQ0FnSUNCcFppQW9ZWEp5TG14bGJtZDBhQ0E4SURJZ2ZId2dkbUZzTG14bGJtZDBhQ0E4SURJcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDMHhYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBibVJsZUZOcGVtVWdQU0F5WEc0Z0lDQWdJQ0JoY25KTVpXNW5kR2dnTHowZ01seHVJQ0FnSUNBZ2RtRnNUR1Z1WjNSb0lDODlJREpjYmlBZ0lDQWdJR0o1ZEdWUFptWnpaWFFnTHowZ01seHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlISmxZV1FnS0dKMVppd2dhU2tnZTF4dUlDQWdJR2xtSUNocGJtUmxlRk5wZW1VZ1BUMDlJREVwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJpZFdaYmFWMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR0oxWmk1eVpXRmtWVWx1ZERFMlFrVW9hU0FxSUdsdVpHVjRVMmw2WlNsY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdhVnh1SUNCcFppQW9aR2x5S1NCN1hHNGdJQ0FnZG1GeUlHWnZkVzVrU1c1a1pYZ2dQU0F0TVZ4dUlDQWdJR1p2Y2lBb2FTQTlJR0o1ZEdWUFptWnpaWFE3SUdrZ1BDQmhjbkpNWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLSEpsWVdRb1lYSnlMQ0JwS1NBOVBUMGdjbVZoWkNoMllXd3NJR1p2ZFc1a1NXNWtaWGdnUFQwOUlDMHhJRDhnTUNBNklHa2dMU0JtYjNWdVpFbHVaR1Y0S1NrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWm05MWJtUkpibVJsZUNBOVBUMGdMVEVwSUdadmRXNWtTVzVrWlhnZ1BTQnBYRzRnSUNBZ0lDQWdJR2xtSUNocElDMGdabTkxYm1SSmJtUmxlQ0FySURFZ1BUMDlJSFpoYkV4bGJtZDBhQ2tnY21WMGRYSnVJR1p2ZFc1a1NXNWtaWGdnS2lCcGJtUmxlRk5wZW1WY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaG1iM1Z1WkVsdVpHVjRJQ0U5UFNBdE1Ta2dhU0F0UFNCcElDMGdabTkxYm1SSmJtUmxlRnh1SUNBZ0lDQWdJQ0JtYjNWdVpFbHVaR1Y0SUQwZ0xURmNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2FXWWdLR0o1ZEdWUFptWnpaWFFnS3lCMllXeE1aVzVuZEdnZ1BpQmhjbkpNWlc1bmRHZ3BJR0o1ZEdWUFptWnpaWFFnUFNCaGNuSk1aVzVuZEdnZ0xTQjJZV3hNWlc1bmRHaGNiaUFnSUNCbWIzSWdLR2tnUFNCaWVYUmxUMlptYzJWME95QnBJRDQ5SURBN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlHWnZkVzVrSUQwZ2RISjFaVnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0IyWVd4TVpXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2NtVmhaQ2hoY25Jc0lHa2dLeUJxS1NBaFBUMGdjbVZoWkNoMllXd3NJR29wS1NCN1hHNGdJQ0FnSUNBZ0lDQWdabTkxYm1RZ1BTQm1ZV3h6WlZ4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaG1iM1Z1WkNrZ2NtVjBkWEp1SUdsY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnTFRGY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzVwYm1Oc2RXUmxjeUE5SUdaMWJtTjBhVzl1SUdsdVkyeDFaR1Z6SUNoMllXd3NJR0o1ZEdWUFptWnpaWFFzSUdWdVkyOWthVzVuS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1sdVpHVjRUMllvZG1Gc0xDQmllWFJsVDJabWMyVjBMQ0JsYm1OdlpHbHVaeWtnSVQwOUlDMHhYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWFXNWtaWGhQWmlBOUlHWjFibU4wYVc5dUlHbHVaR1Y0VDJZZ0tIWmhiQ3dnWW5sMFpVOW1abk5sZEN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnY21WMGRYSnVJR0pwWkdseVpXTjBhVzl1WVd4SmJtUmxlRTltS0hSb2FYTXNJSFpoYkN3Z1lubDBaVTltWm5ObGRDd2daVzVqYjJScGJtY3NJSFJ5ZFdVcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1YkdGemRFbHVaR1Y0VDJZZ1BTQm1kVzVqZEdsdmJpQnNZWE4wU1c1a1pYaFBaaUFvZG1Gc0xDQmllWFJsVDJabWMyVjBMQ0JsYm1OdlpHbHVaeWtnZTF4dUlDQnlaWFIxY200Z1ltbGthWEpsWTNScGIyNWhiRWx1WkdWNFQyWW9kR2hwY3l3Z2RtRnNMQ0JpZVhSbFQyWm1jMlYwTENCbGJtTnZaR2x1Wnl3Z1ptRnNjMlVwWEc1OVhHNWNibVoxYm1OMGFXOXVJR2hsZUZkeWFYUmxJQ2hpZFdZc0lITjBjbWx1Wnl3Z2IyWm1jMlYwTENCc1pXNW5kR2dwSUh0Y2JpQWdiMlptYzJWMElEMGdUblZ0WW1WeUtHOW1abk5sZENrZ2ZId2dNRnh1SUNCMllYSWdjbVZ0WVdsdWFXNW5JRDBnWW5WbUxteGxibWQwYUNBdElHOW1abk5sZEZ4dUlDQnBaaUFvSVd4bGJtZDBhQ2tnZTF4dUlDQWdJR3hsYm1kMGFDQTlJSEpsYldGcGJtbHVaMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR3hsYm1kMGFDQTlJRTUxYldKbGNpaHNaVzVuZEdncFhHNGdJQ0FnYVdZZ0tHeGxibWQwYUNBK0lISmxiV0ZwYm1sdVp5a2dlMXh1SUNBZ0lDQWdiR1Z1WjNSb0lEMGdjbVZ0WVdsdWFXNW5YRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeThnYlhWemRDQmlaU0JoYmlCbGRtVnVJRzUxYldKbGNpQnZaaUJrYVdkcGRITmNiaUFnZG1GeUlITjBja3hsYmlBOUlITjBjbWx1Wnk1c1pXNW5kR2hjYmlBZ2FXWWdLSE4wY2t4bGJpQWxJRElnSVQwOUlEQXBJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjBsdWRtRnNhV1FnYUdWNElITjBjbWx1WnljcFhHNWNiaUFnYVdZZ0tHeGxibWQwYUNBK0lITjBja3hsYmlBdklESXBJSHRjYmlBZ0lDQnNaVzVuZEdnZ1BTQnpkSEpNWlc0Z0x5QXlYRzRnSUgxY2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc1bmRHZzdJQ3NyYVNrZ2UxeHVJQ0FnSUhaaGNpQndZWEp6WldRZ1BTQndZWEp6WlVsdWRDaHpkSEpwYm1jdWMzVmljM1J5S0drZ0tpQXlMQ0F5S1N3Z01UWXBYRzRnSUNBZ2FXWWdLR2x6VG1GT0tIQmhjbk5sWkNrcElISmxkSFZ5YmlCcFhHNGdJQ0FnWW5WbVcyOW1abk5sZENBcklHbGRJRDBnY0dGeWMyVmtYRzRnSUgxY2JpQWdjbVYwZFhKdUlHbGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYUm1PRmR5YVhSbElDaGlkV1lzSUhOMGNtbHVaeXdnYjJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2NtVjBkWEp1SUdKc2FYUkNkV1ptWlhJb2RYUm1PRlJ2UW5sMFpYTW9jM1J5YVc1bkxDQmlkV1l1YkdWdVozUm9JQzBnYjJabWMyVjBLU3dnWW5WbUxDQnZabVp6WlhRc0lHeGxibWQwYUNsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVhOamFXbFhjbWwwWlNBb1luVm1MQ0J6ZEhKcGJtY3NJRzltWm5ObGRDd2diR1Z1WjNSb0tTQjdYRzRnSUhKbGRIVnliaUJpYkdsMFFuVm1abVZ5S0dGelkybHBWRzlDZVhSbGN5aHpkSEpwYm1jcExDQmlkV1lzSUc5bVpuTmxkQ3dnYkdWdVozUm9LVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnNZWFJwYmpGWGNtbDBaU0FvWW5WbUxDQnpkSEpwYm1jc0lHOW1abk5sZEN3Z2JHVnVaM1JvS1NCN1hHNGdJSEpsZEhWeWJpQmhjMk5wYVZkeWFYUmxLR0oxWml3Z2MzUnlhVzVuTENCdlptWnpaWFFzSUd4bGJtZDBhQ2xjYm4xY2JseHVablZ1WTNScGIyNGdZbUZ6WlRZMFYzSnBkR1VnS0dKMVppd2djM1J5YVc1bkxDQnZabVp6WlhRc0lHeGxibWQwYUNrZ2UxeHVJQ0J5WlhSMWNtNGdZbXhwZEVKMVptWmxjaWhpWVhObE5qUlViMEo1ZEdWektITjBjbWx1Wnlrc0lHSjFaaXdnYjJabWMyVjBMQ0JzWlc1bmRHZ3BYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVmpjekpYY21sMFpTQW9ZblZtTENCemRISnBibWNzSUc5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lISmxkSFZ5YmlCaWJHbDBRblZtWm1WeUtIVjBaakUyYkdWVWIwSjVkR1Z6S0hOMGNtbHVaeXdnWW5WbUxteGxibWQwYUNBdElHOW1abk5sZENrc0lHSjFaaXdnYjJabWMyVjBMQ0JzWlc1bmRHZ3BYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmlCM2NtbDBaU0FvYzNSeWFXNW5MQ0J2Wm1aelpYUXNJR3hsYm1kMGFDd2daVzVqYjJScGJtY3BJSHRjYmlBZ0x5OGdRblZtWm1WeUkzZHlhWFJsS0hOMGNtbHVaeWxjYmlBZ2FXWWdLRzltWm5ObGRDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWlc1amIyUnBibWNnUFNBbmRYUm1PQ2RjYmlBZ0lDQnNaVzVuZEdnZ1BTQjBhR2x6TG14bGJtZDBhRnh1SUNBZ0lHOW1abk5sZENBOUlEQmNiaUFnTHk4Z1FuVm1abVZ5STNkeWFYUmxLSE4wY21sdVp5d2daVzVqYjJScGJtY3BYRzRnSUgwZ1pXeHpaU0JwWmlBb2JHVnVaM1JvSUQwOVBTQjFibVJsWm1sdVpXUWdKaVlnZEhsd1pXOW1JRzltWm5ObGRDQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0JsYm1OdlpHbHVaeUE5SUc5bVpuTmxkRnh1SUNBZ0lHeGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9YRzRnSUNBZ2IyWm1jMlYwSUQwZ01GeHVJQ0F2THlCQ2RXWm1aWElqZDNKcGRHVW9jM1J5YVc1bkxDQnZabVp6WlhSYkxDQnNaVzVuZEdoZFd5d2daVzVqYjJScGJtZGRLVnh1SUNCOUlHVnNjMlVnYVdZZ0tHbHpSbWx1YVhSbEtHOW1abk5sZENrcElIdGNiaUFnSUNCdlptWnpaWFFnUFNCdlptWnpaWFFnZkNBd1hHNGdJQ0FnYVdZZ0tHbHpSbWx1YVhSbEtHeGxibWQwYUNrcElIdGNiaUFnSUNBZ0lHeGxibWQwYUNBOUlHeGxibWQwYUNCOElEQmNiaUFnSUNBZ0lHbG1JQ2hsYm1OdlpHbHVaeUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQmxibU52WkdsdVp5QTlJQ2QxZEdZNEoxeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUd4bGJtZDBhRnh1SUNBZ0lDQWdiR1Z1WjNSb0lEMGdkVzVrWldacGJtVmtYRzRnSUNBZ2ZWeHVJQ0F2THlCc1pXZGhZM2tnZDNKcGRHVW9jM1J5YVc1bkxDQmxibU52WkdsdVp5d2diMlptYzJWMExDQnNaVzVuZEdncElDMGdjbVZ0YjNabElHbHVJSFl3TGpFelhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0Z4dUlDQWdJQ0FnSjBKMVptWmxjaTUzY21sMFpTaHpkSEpwYm1jc0lHVnVZMjlrYVc1bkxDQnZabVp6WlhSYkxDQnNaVzVuZEdoZEtTQnBjeUJ1YnlCc2IyNW5aWElnYzNWd2NHOXlkR1ZrSjF4dUlDQWdJQ2xjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaVzFoYVc1cGJtY2dQU0IwYUdsekxteGxibWQwYUNBdElHOW1abk5sZEZ4dUlDQnBaaUFvYkdWdVozUm9JRDA5UFNCMWJtUmxabWx1WldRZ2ZId2diR1Z1WjNSb0lENGdjbVZ0WVdsdWFXNW5LU0JzWlc1bmRHZ2dQU0J5WlcxaGFXNXBibWRjYmx4dUlDQnBaaUFvS0hOMGNtbHVaeTVzWlc1bmRHZ2dQaUF3SUNZbUlDaHNaVzVuZEdnZ1BDQXdJSHg4SUc5bVpuTmxkQ0E4SURBcEtTQjhmQ0J2Wm1aelpYUWdQaUIwYUdsekxteGxibWQwYUNrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCU1lXNW5aVVZ5Y205eUtDZEJkSFJsYlhCMElIUnZJSGR5YVhSbElHOTFkSE5wWkdVZ1luVm1abVZ5SUdKdmRXNWtjeWNwWEc0Z0lIMWNibHh1SUNCcFppQW9JV1Z1WTI5a2FXNW5LU0JsYm1OdlpHbHVaeUE5SUNkMWRHWTRKMXh1WEc0Z0lIWmhjaUJzYjNkbGNtVmtRMkZ6WlNBOUlHWmhiSE5sWEc0Z0lHWnZjaUFvT3pzcElIdGNiaUFnSUNCemQybDBZMmdnS0dWdVkyOWthVzVuS1NCN1hHNGdJQ0FnSUNCallYTmxJQ2RvWlhnbk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FHVjRWM0pwZEdVb2RHaHBjeXdnYzNSeWFXNW5MQ0J2Wm1aelpYUXNJR3hsYm1kMGFDbGNibHh1SUNBZ0lDQWdZMkZ6WlNBbmRYUm1PQ2M2WEc0Z0lDQWdJQ0JqWVhObElDZDFkR1l0T0NjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWRHWTRWM0pwZEdVb2RHaHBjeXdnYzNSeWFXNW5MQ0J2Wm1aelpYUXNJR3hsYm1kMGFDbGNibHh1SUNBZ0lDQWdZMkZ6WlNBbllYTmphV2tuT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVhOamFXbFhjbWwwWlNoMGFHbHpMQ0J6ZEhKcGJtY3NJRzltWm5ObGRDd2diR1Z1WjNSb0tWeHVYRzRnSUNBZ0lDQmpZWE5sSUNkc1lYUnBiakVuT2x4dUlDQWdJQ0FnWTJGelpTQW5ZbWx1WVhKNUp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHeGhkR2x1TVZkeWFYUmxLSFJvYVhNc0lITjBjbWx1Wnl3Z2IyWm1jMlYwTENCc1pXNW5kR2dwWEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMkpoYzJVMk5DYzZYRzRnSUNBZ0lDQWdJQzh2SUZkaGNtNXBibWM2SUcxaGVFeGxibWQwYUNCdWIzUWdkR0ZyWlc0Z2FXNTBieUJoWTJOdmRXNTBJR2x1SUdKaGMyVTJORmR5YVhSbFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaVlYTmxOalJYY21sMFpTaDBhR2x6TENCemRISnBibWNzSUc5bVpuTmxkQ3dnYkdWdVozUm9LVnh1WEc0Z0lDQWdJQ0JqWVhObElDZDFZM015SnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1ZqY3kweUp6cGNiaUFnSUNBZ0lHTmhjMlVnSjNWMFpqRTJiR1VuT2x4dUlDQWdJQ0FnWTJGelpTQW5kWFJtTFRFMmJHVW5PbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkV056TWxkeWFYUmxLSFJvYVhNc0lITjBjbWx1Wnl3Z2IyWm1jMlYwTENCc1pXNW5kR2dwWEc1Y2JpQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUdsbUlDaHNiM2RsY21Wa1EyRnpaU2tnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblZXNXJibTkzYmlCbGJtTnZaR2x1WnpvZ0p5QXJJR1Z1WTI5a2FXNW5LVnh1SUNBZ0lDQWdJQ0JsYm1OdlpHbHVaeUE5SUNnbkp5QXJJR1Z1WTI5a2FXNW5LUzUwYjB4dmQyVnlRMkZ6WlNncFhHNGdJQ0FnSUNBZ0lHeHZkMlZ5WldSRFlYTmxJRDBnZEhKMVpWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuUnZTbE5QVGlBOUlHWjFibU4wYVc5dUlIUnZTbE5QVGlBb0tTQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdkSGx3WlRvZ0owSjFabVpsY2ljc1hHNGdJQ0FnWkdGMFlUb2dRWEp5WVhrdWNISnZkRzkwZVhCbExuTnNhV05sTG1OaGJHd29kR2hwY3k1ZllYSnlJSHg4SUhSb2FYTXNJREFwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRnpaVFkwVTJ4cFkyVWdLR0oxWml3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCcFppQW9jM1JoY25RZ1BUMDlJREFnSmlZZ1pXNWtJRDA5UFNCaWRXWXViR1Z1WjNSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdKaGMyVTJOQzVtY205dFFubDBaVUZ5Y21GNUtHSjFaaWxjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZbUZ6WlRZMExtWnliMjFDZVhSbFFYSnlZWGtvWW5WbUxuTnNhV05sS0hOMFlYSjBMQ0JsYm1RcEtWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFYwWmpoVGJHbGpaU0FvWW5WbUxDQnpkR0Z5ZEN3Z1pXNWtLU0I3WEc0Z0lHVnVaQ0E5SUUxaGRHZ3ViV2x1S0dKMVppNXNaVzVuZEdnc0lHVnVaQ2xjYmlBZ2RtRnlJSEpsY3lBOUlGdGRYRzVjYmlBZ2RtRnlJR2tnUFNCemRHRnlkRnh1SUNCM2FHbHNaU0FvYVNBOElHVnVaQ2tnZTF4dUlDQWdJSFpoY2lCbWFYSnpkRUo1ZEdVZ1BTQmlkV1piYVYxY2JpQWdJQ0IyWVhJZ1kyOWtaVkJ2YVc1MElEMGdiblZzYkZ4dUlDQWdJSFpoY2lCaWVYUmxjMUJsY2xObGNYVmxibU5sSUQwZ0tHWnBjbk4wUW5sMFpTQStJREI0UlVZcElEOGdORnh1SUNBZ0lDQWdPaUFvWm1seWMzUkNlWFJsSUQ0Z01IaEVSaWtnUHlBelhHNGdJQ0FnSUNBNklDaG1hWEp6ZEVKNWRHVWdQaUF3ZUVKR0tTQS9JREpjYmlBZ0lDQWdJRG9nTVZ4dVhHNGdJQ0FnYVdZZ0tHa2dLeUJpZVhSbGMxQmxjbE5sY1hWbGJtTmxJRHc5SUdWdVpDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhObFkyOXVaRUo1ZEdVc0lIUm9hWEprUW5sMFpTd2dabTkxY25Sb1FubDBaU3dnZEdWdGNFTnZaR1ZRYjJsdWRGeHVYRzRnSUNBZ0lDQnpkMmwwWTJnZ0tHSjVkR1Z6VUdWeVUyVnhkV1Z1WTJVcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNBeE9seHVJQ0FnSUNBZ0lDQWdJR2xtSUNobWFYSnpkRUo1ZEdVZ1BDQXdlRGd3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjJSbFVHOXBiblFnUFNCbWFYSnpkRUo1ZEdWY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXdGNiaUFnSUNBZ0lDQWdZMkZ6WlNBeU9seHVJQ0FnSUNBZ0lDQWdJSE5sWTI5dVpFSjVkR1VnUFNCaWRXWmJhU0FySURGZFhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NoelpXTnZibVJDZVhSbElDWWdNSGhETUNrZ1BUMDlJREI0T0RBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSbGJYQkRiMlJsVUc5cGJuUWdQU0FvWm1seWMzUkNlWFJsSUNZZ01IZ3hSaWtnUER3Z01IZzJJSHdnS0hObFkyOXVaRUo1ZEdVZ0ppQXdlRE5HS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSbGJYQkRiMlJsVUc5cGJuUWdQaUF3ZURkR0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJSFJsYlhCRGIyUmxVRzlwYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVd0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0F6T2x4dUlDQWdJQ0FnSUNBZ0lITmxZMjl1WkVKNWRHVWdQU0JpZFdaYmFTQXJJREZkWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjbVJDZVhSbElEMGdZblZtVzJrZ0t5QXlYVnh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ29jMlZqYjI1a1FubDBaU0FtSURCNFF6QXBJRDA5UFNBd2VEZ3dJQ1ltSUNoMGFHbHlaRUo1ZEdVZ0ppQXdlRU13S1NBOVBUMGdNSGc0TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdWdGNFTnZaR1ZRYjJsdWRDQTlJQ2htYVhKemRFSjVkR1VnSmlBd2VFWXBJRHc4SURCNFF5QjhJQ2h6WldOdmJtUkNlWFJsSUNZZ01IZ3pSaWtnUER3Z01IZzJJSHdnS0hSb2FYSmtRbmwwWlNBbUlEQjRNMFlwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdWdGNFTnZaR1ZRYjJsdWRDQStJREI0TjBaR0lDWW1JQ2gwWlcxd1EyOWtaVkJ2YVc1MElEd2dNSGhFT0RBd0lIeDhJSFJsYlhCRGIyUmxVRzlwYm5RZ1BpQXdlRVJHUmtZcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJSFJsYlhCRGIyUmxVRzlwYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVd0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0EwT2x4dUlDQWdJQ0FnSUNBZ0lITmxZMjl1WkVKNWRHVWdQU0JpZFdaYmFTQXJJREZkWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjbVJDZVhSbElEMGdZblZtVzJrZ0t5QXlYVnh1SUNBZ0lDQWdJQ0FnSUdadmRYSjBhRUo1ZEdVZ1BTQmlkV1piYVNBcklETmRYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDaHpaV052Ym1SQ2VYUmxJQ1lnTUhoRE1Da2dQVDA5SURCNE9EQWdKaVlnS0hSb2FYSmtRbmwwWlNBbUlEQjRRekFwSUQwOVBTQXdlRGd3SUNZbUlDaG1iM1Z5ZEdoQ2VYUmxJQ1lnTUhoRE1Da2dQVDA5SURCNE9EQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUmxiWEJEYjJSbFVHOXBiblFnUFNBb1ptbHljM1JDZVhSbElDWWdNSGhHS1NBOFBDQXdlREV5SUh3Z0tITmxZMjl1WkVKNWRHVWdKaUF3ZUROR0tTQThQQ0F3ZUVNZ2ZDQW9kR2hwY21SQ2VYUmxJQ1lnTUhnelJpa2dQRHdnTUhnMklId2dLR1p2ZFhKMGFFSjVkR1VnSmlBd2VETkdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJsYlhCRGIyUmxVRzlwYm5RZ1BpQXdlRVpHUmtZZ0ppWWdkR1Z0Y0VOdlpHVlFiMmx1ZENBOElEQjRNVEV3TURBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJSFJsYlhCRGIyUmxVRzlwYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTnZaR1ZRYjJsdWRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdMeThnZDJVZ1pHbGtJRzV2ZENCblpXNWxjbUYwWlNCaElIWmhiR2xrSUdOdlpHVlFiMmx1ZENCemJ5QnBibk5sY25RZ1lWeHVJQ0FnSUNBZ0x5OGdjbVZ3YkdGalpXMWxiblFnWTJoaGNpQW9WU3RHUmtaRUtTQmhibVFnWVdSMllXNWpaU0J2Ym14NUlERWdZbmwwWlZ4dUlDQWdJQ0FnWTI5a1pWQnZhVzUwSUQwZ01IaEdSa1pFWEc0Z0lDQWdJQ0JpZVhSbGMxQmxjbE5sY1hWbGJtTmxJRDBnTVZ4dUlDQWdJSDBnWld4elpTQnBaaUFvWTI5a1pWQnZhVzUwSUQ0Z01IaEdSa1pHS1NCN1hHNGdJQ0FnSUNBdkx5QmxibU52WkdVZ2RHOGdkWFJtTVRZZ0tITjFjbkp2WjJGMFpTQndZV2x5SUdSaGJtTmxLVnh1SUNBZ0lDQWdZMjlrWlZCdmFXNTBJQzA5SURCNE1UQXdNREJjYmlBZ0lDQWdJSEpsY3k1d2RYTm9LR052WkdWUWIybHVkQ0ErUGo0Z01UQWdKaUF3ZUROR1JpQjhJREI0UkRnd01DbGNiaUFnSUNBZ0lHTnZaR1ZRYjJsdWRDQTlJREI0UkVNd01DQjhJR052WkdWUWIybHVkQ0FtSURCNE0wWkdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVnpMbkIxYzJnb1kyOWtaVkJ2YVc1MEtWeHVJQ0FnSUdrZ0t6MGdZbmwwWlhOUVpYSlRaWEYxWlc1alpWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHUmxZMjlrWlVOdlpHVlFiMmx1ZEhOQmNuSmhlU2h5WlhNcFhHNTlYRzVjYmk4dklFSmhjMlZrSUc5dUlHaDBkSEE2THk5emRHRmphMjkyWlhKbWJHOTNMbU52YlM5aEx6SXlOelEzTWpjeUx6WTRNRGMwTWl3Z2RHaGxJR0p5YjNkelpYSWdkMmwwYUZ4dUx5OGdkR2hsSUd4dmQyVnpkQ0JzYVcxcGRDQnBjeUJEYUhKdmJXVXNJSGRwZEdnZ01IZ3hNREF3TUNCaGNtZHpMbHh1THk4Z1YyVWdaMjhnTVNCdFlXZHVhWFIxWkdVZ2JHVnpjeXdnWm05eUlITmhabVYwZVZ4dWRtRnlJRTFCV0Y5QlVrZFZUVVZPVkZOZlRFVk9SMVJJSUQwZ01IZ3hNREF3WEc1Y2JtWjFibU4wYVc5dUlHUmxZMjlrWlVOdlpHVlFiMmx1ZEhOQmNuSmhlU0FvWTI5a1pWQnZhVzUwY3lrZ2UxeHVJQ0IyWVhJZ2JHVnVJRDBnWTI5a1pWQnZhVzUwY3k1c1pXNW5kR2hjYmlBZ2FXWWdLR3hsYmlBOFBTQk5RVmhmUVZKSFZVMUZUbFJUWDB4RlRrZFVTQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxMbUZ3Y0d4NUtGTjBjbWx1Wnl3Z1kyOWtaVkJ2YVc1MGN5a2dMeThnWVhadmFXUWdaWGgwY21FZ2MyeHBZMlVvS1Z4dUlDQjlYRzVjYmlBZ0x5OGdSR1ZqYjJSbElHbHVJR05vZFc1cmN5QjBieUJoZG05cFpDQmNJbU5oYkd3Z2MzUmhZMnNnYzJsNlpTQmxlR05sWldSbFpGd2lMbHh1SUNCMllYSWdjbVZ6SUQwZ0p5ZGNiaUFnZG1GeUlHa2dQU0F3WEc0Z0lIZG9hV3hsSUNocElEd2diR1Z1S1NCN1hHNGdJQ0FnY21WeklDczlJRk4wY21sdVp5NW1jbTl0UTJoaGNrTnZaR1V1WVhCd2JIa29YRzRnSUNBZ0lDQlRkSEpwYm1jc1hHNGdJQ0FnSUNCamIyUmxVRzlwYm5SekxuTnNhV05sS0drc0lHa2dLejBnVFVGWVgwRlNSMVZOUlU1VVUxOU1SVTVIVkVncFhHNGdJQ0FnS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJ5WlhOY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVhOamFXbFRiR2xqWlNBb1luVm1MQ0J6ZEdGeWRDd2daVzVrS1NCN1hHNGdJSFpoY2lCeVpYUWdQU0FuSjF4dUlDQmxibVFnUFNCTllYUm9MbTFwYmloaWRXWXViR1Z1WjNSb0xDQmxibVFwWEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z1pXNWtPeUFySzJrcElIdGNiaUFnSUNCeVpYUWdLejBnVTNSeWFXNW5MbVp5YjIxRGFHRnlRMjlrWlNoaWRXWmJhVjBnSmlBd2VEZEdLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWFJjYm4xY2JseHVablZ1WTNScGIyNGdiR0YwYVc0eFUyeHBZMlVnS0dKMVppd2djM1JoY25Rc0lHVnVaQ2tnZTF4dUlDQjJZWElnY21WMElEMGdKeWRjYmlBZ1pXNWtJRDBnVFdGMGFDNXRhVzRvWW5WbUxteGxibWQwYUN3Z1pXNWtLVnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGeWREc2dhU0E4SUdWdVpEc2dLeXRwS1NCN1hHNGdJQ0FnY21WMElDczlJRk4wY21sdVp5NW1jbTl0UTJoaGNrTnZaR1VvWW5WbVcybGRLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWFJjYm4xY2JseHVablZ1WTNScGIyNGdhR1Y0VTJ4cFkyVWdLR0oxWml3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ1luVm1MbXhsYm1kMGFGeHVYRzRnSUdsbUlDZ2hjM1JoY25RZ2ZId2djM1JoY25RZ1BDQXdLU0J6ZEdGeWRDQTlJREJjYmlBZ2FXWWdLQ0ZsYm1RZ2ZId2daVzVrSUR3Z01DQjhmQ0JsYm1RZ1BpQnNaVzRwSUdWdVpDQTlJR3hsYmx4dVhHNGdJSFpoY2lCdmRYUWdQU0FuSjF4dUlDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCbGJtUTdJQ3NyYVNrZ2UxeHVJQ0FnSUc5MWRDQXJQU0IwYjBobGVDaGlkV1piYVYwcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5MWRGeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWRHWXhObXhsVTJ4cFkyVWdLR0oxWml3Z2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCMllYSWdZbmwwWlhNZ1BTQmlkV1l1YzJ4cFkyVW9jM1JoY25Rc0lHVnVaQ2xjYmlBZ2RtRnlJSEpsY3lBOUlDY25YRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lubDBaWE11YkdWdVozUm9PeUJwSUNzOUlESXBJSHRjYmlBZ0lDQnlaWE1nS3owZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTaGllWFJsYzF0cFhTQXJJR0o1ZEdWelcya2dLeUF4WFNBcUlESTFOaWxjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVZ6WEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVjMnhwWTJVZ1BTQm1kVzVqZEdsdmJpQnpiR2xqWlNBb2MzUmhjblFzSUdWdVpDa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHaGNiaUFnYzNSaGNuUWdQU0IrZm5OMFlYSjBYRzRnSUdWdVpDQTlJR1Z1WkNBOVBUMGdkVzVrWldacGJtVmtJRDhnYkdWdUlEb2dmbjVsYm1SY2JseHVJQ0JwWmlBb2MzUmhjblFnUENBd0tTQjdYRzRnSUNBZ2MzUmhjblFnS3owZ2JHVnVYRzRnSUNBZ2FXWWdLSE4wWVhKMElEd2dNQ2tnYzNSaGNuUWdQU0F3WEc0Z0lIMGdaV3h6WlNCcFppQW9jM1JoY25RZ1BpQnNaVzRwSUh0Y2JpQWdJQ0J6ZEdGeWRDQTlJR3hsYmx4dUlDQjlYRzVjYmlBZ2FXWWdLR1Z1WkNBOElEQXBJSHRjYmlBZ0lDQmxibVFnS3owZ2JHVnVYRzRnSUNBZ2FXWWdLR1Z1WkNBOElEQXBJR1Z1WkNBOUlEQmNiaUFnZlNCbGJITmxJR2xtSUNobGJtUWdQaUJzWlc0cElIdGNiaUFnSUNCbGJtUWdQU0JzWlc1Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hsYm1RZ1BDQnpkR0Z5ZENrZ1pXNWtJRDBnYzNSaGNuUmNibHh1SUNCMllYSWdibVYzUW5WbVhHNGdJR2xtSUNoQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNrZ2UxeHVJQ0FnSUc1bGQwSjFaaUE5SUhSb2FYTXVjM1ZpWVhKeVlYa29jM1JoY25Rc0lHVnVaQ2xjYmlBZ0lDQnVaWGRDZFdZdVgxOXdjbTkwYjE5ZklEMGdRblZtWm1WeUxuQnliM1J2ZEhsd1pWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhjaUJ6YkdsalpVeGxiaUE5SUdWdVpDQXRJSE4wWVhKMFhHNGdJQ0FnYm1WM1FuVm1JRDBnYm1WM0lFSjFabVpsY2loemJHbGpaVXhsYml3Z2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2MyeHBZMlZNWlc0N0lDc3JhU2tnZTF4dUlDQWdJQ0FnYm1WM1FuVm1XMmxkSUQwZ2RHaHBjMXRwSUNzZ2MzUmhjblJkWEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZDBKMVpseHVmVnh1WEc0dktseHVJQ29nVG1WbFpDQjBieUJ0WVd0bElITjFjbVVnZEdoaGRDQmlkV1ptWlhJZ2FYTnVKM1FnZEhKNWFXNW5JSFJ2SUhkeWFYUmxJRzkxZENCdlppQmliM1Z1WkhNdVhHNGdLaTljYm1aMWJtTjBhVzl1SUdOb1pXTnJUMlptYzJWMElDaHZabVp6WlhRc0lHVjRkQ3dnYkdWdVozUm9LU0I3WEc0Z0lHbG1JQ2dvYjJabWMyVjBJQ1VnTVNrZ0lUMDlJREFnZkh3Z2IyWm1jMlYwSUR3Z01Da2dkR2h5YjNjZ2JtVjNJRkpoYm1kbFJYSnliM0lvSjI5bVpuTmxkQ0JwY3lCdWIzUWdkV2x1ZENjcFhHNGdJR2xtSUNodlptWnpaWFFnS3lCbGVIUWdQaUJzWlc1bmRHZ3BJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkVWNubHBibWNnZEc4Z1lXTmpaWE56SUdKbGVXOXVaQ0JpZFdabVpYSWdiR1Z1WjNSb0p5bGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1eVpXRmtWVWx1ZEV4RklEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUk1SU0FvYjJabWMyVjBMQ0JpZVhSbFRHVnVaM1JvTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0J2Wm1aelpYUWdQU0J2Wm1aelpYUWdmQ0F3WEc0Z0lHSjVkR1ZNWlc1bmRHZ2dQU0JpZVhSbFRHVnVaM1JvSUh3Z01GeHVJQ0JwWmlBb0lXNXZRWE56WlhKMEtTQmphR1ZqYTA5bVpuTmxkQ2h2Wm1aelpYUXNJR0o1ZEdWTVpXNW5kR2dzSUhSb2FYTXViR1Z1WjNSb0tWeHVYRzRnSUhaaGNpQjJZV3dnUFNCMGFHbHpXMjltWm5ObGRGMWNiaUFnZG1GeUlHMTFiQ0E5SURGY2JpQWdkbUZ5SUdrZ1BTQXdYRzRnSUhkb2FXeGxJQ2dySzJrZ1BDQmllWFJsVEdWdVozUm9JQ1ltSUNodGRXd2dLajBnTUhneE1EQXBLU0I3WEc0Z0lDQWdkbUZzSUNzOUlIUm9hWE5iYjJabWMyVjBJQ3NnYVYwZ0tpQnRkV3hjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIyWVd4Y2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WldGa1ZVbHVkRUpGSUQwZ1puVnVZM1JwYjI0Z2NtVmhaRlZKYm5SQ1JTQW9iMlptYzJWMExDQmllWFJsVEdWdVozUm9MQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdKNWRHVk1aVzVuZEdnZ1BTQmllWFJsVEdWdVozUm9JSHdnTUZ4dUlDQnBaaUFvSVc1dlFYTnpaWEowS1NCN1hHNGdJQ0FnWTJobFkydFBabVp6WlhRb2IyWm1jMlYwTENCaWVYUmxUR1Z1WjNSb0xDQjBhR2x6TG14bGJtZDBhQ2xjYmlBZ2ZWeHVYRzRnSUhaaGNpQjJZV3dnUFNCMGFHbHpXMjltWm5ObGRDQXJJQzB0WW5sMFpVeGxibWQwYUYxY2JpQWdkbUZ5SUcxMWJDQTlJREZjYmlBZ2QyaHBiR1VnS0dKNWRHVk1aVzVuZEdnZ1BpQXdJQ1ltSUNodGRXd2dLajBnTUhneE1EQXBLU0I3WEc0Z0lDQWdkbUZzSUNzOUlIUm9hWE5iYjJabWMyVjBJQ3NnTFMxaWVYUmxUR1Z1WjNSb1hTQXFJRzExYkZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhaaGJGeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5KbFlXUlZTVzUwT0NBOUlHWjFibU4wYVc5dUlISmxZV1JWU1c1ME9DQW9iMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0JqYUdWamEwOW1abk5sZENodlptWnpaWFFzSURFc0lIUm9hWE11YkdWdVozUm9LVnh1SUNCeVpYUjFjbTRnZEdocGMxdHZabVp6WlhSZFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Y21WaFpGVkpiblF4Tmt4RklEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUXhOa3hGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dNaXdnZEdocGN5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQjBhR2x6VzI5bVpuTmxkRjBnZkNBb2RHaHBjMXR2Wm1aelpYUWdLeUF4WFNBOFBDQTRLVnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuSmxZV1JWU1c1ME1UWkNSU0E5SUdaMWJtTjBhVzl1SUhKbFlXUlZTVzUwTVRaQ1JTQW9iMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0JqYUdWamEwOW1abk5sZENodlptWnpaWFFzSURJc0lIUm9hWE11YkdWdVozUm9LVnh1SUNCeVpYUjFjbTRnS0hSb2FYTmJiMlptYzJWMFhTQThQQ0E0S1NCOElIUm9hWE5iYjJabWMyVjBJQ3NnTVYxY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WldGa1ZVbHVkRE15VEVVZ1BTQm1kVzVqZEdsdmJpQnlaV0ZrVlVsdWRETXlURVVnS0c5bVpuTmxkQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ1kyaGxZMnRQWm1aelpYUW9iMlptYzJWMExDQTBMQ0IwYUdsekxteGxibWQwYUNsY2JseHVJQ0J5WlhSMWNtNGdLQ2gwYUdselcyOW1abk5sZEYwcElIeGNiaUFnSUNBZ0lDaDBhR2x6VzI5bVpuTmxkQ0FySURGZElEdzhJRGdwSUh4Y2JpQWdJQ0FnSUNoMGFHbHpXMjltWm5ObGRDQXJJREpkSUR3OElERTJLU2tnSzF4dUlDQWdJQ0FnS0hSb2FYTmJiMlptYzJWMElDc2dNMTBnS2lBd2VERXdNREF3TURBcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Y21WaFpGVkpiblF6TWtKRklEMGdablZ1WTNScGIyNGdjbVZoWkZWSmJuUXpNa0pGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dOQ3dnZEdocGN5NXNaVzVuZEdncFhHNWNiaUFnY21WMGRYSnVJQ2gwYUdselcyOW1abk5sZEYwZ0tpQXdlREV3TURBd01EQXBJQ3RjYmlBZ0lDQW9LSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQRHdnTVRZcElIeGNiaUFnSUNBb2RHaHBjMXR2Wm1aelpYUWdLeUF5WFNBOFBDQTRLU0I4WEc0Z0lDQWdkR2hwYzF0dlptWnpaWFFnS3lBelhTbGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1eVpXRmtTVzUwVEVVZ1BTQm1kVzVqZEdsdmJpQnlaV0ZrU1c1MFRFVWdLRzltWm5ObGRDd2dZbmwwWlV4bGJtZDBhQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdiMlptYzJWMElEMGdiMlptYzJWMElId2dNRnh1SUNCaWVYUmxUR1Z1WjNSb0lEMGdZbmwwWlV4bGJtZDBhQ0I4SURCY2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ1kyaGxZMnRQWm1aelpYUW9iMlptYzJWMExDQmllWFJsVEdWdVozUm9MQ0IwYUdsekxteGxibWQwYUNsY2JseHVJQ0IyWVhJZ2RtRnNJRDBnZEdocGMxdHZabVp6WlhSZFhHNGdJSFpoY2lCdGRXd2dQU0F4WEc0Z0lIWmhjaUJwSUQwZ01GeHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lubDBaVXhsYm1kMGFDQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lIWmhiQ0FyUFNCMGFHbHpXMjltWm5ObGRDQXJJR2xkSUNvZ2JYVnNYRzRnSUgxY2JpQWdiWFZzSUNvOUlEQjRPREJjYmx4dUlDQnBaaUFvZG1Gc0lENDlJRzExYkNrZ2RtRnNJQzA5SUUxaGRHZ3VjRzkzS0RJc0lEZ2dLaUJpZVhSbFRHVnVaM1JvS1Z4dVhHNGdJSEpsZEhWeWJpQjJZV3hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1MFFrVWdQU0JtZFc1amRHbHZiaUJ5WldGa1NXNTBRa1VnS0c5bVpuTmxkQ3dnWW5sMFpVeGxibWQwYUN3Z2JtOUJjM05sY25RcElIdGNiaUFnYjJabWMyVjBJRDBnYjJabWMyVjBJSHdnTUZ4dUlDQmllWFJsVEdWdVozUm9JRDBnWW5sMFpVeGxibWQwYUNCOElEQmNiaUFnYVdZZ0tDRnViMEZ6YzJWeWRDa2dZMmhsWTJ0UFptWnpaWFFvYjJabWMyVjBMQ0JpZVhSbFRHVnVaM1JvTENCMGFHbHpMbXhsYm1kMGFDbGNibHh1SUNCMllYSWdhU0E5SUdKNWRHVk1aVzVuZEdoY2JpQWdkbUZ5SUcxMWJDQTlJREZjYmlBZ2RtRnlJSFpoYkNBOUlIUm9hWE5iYjJabWMyVjBJQ3NnTFMxcFhWeHVJQ0IzYUdsc1pTQW9hU0ErSURBZ0ppWWdLRzExYkNBcVBTQXdlREV3TUNrcElIdGNiaUFnSUNCMllXd2dLejBnZEdocGMxdHZabVp6WlhRZ0t5QXRMV2xkSUNvZ2JYVnNYRzRnSUgxY2JpQWdiWFZzSUNvOUlEQjRPREJjYmx4dUlDQnBaaUFvZG1Gc0lENDlJRzExYkNrZ2RtRnNJQzA5SUUxaGRHZ3VjRzkzS0RJc0lEZ2dLaUJpZVhSbFRHVnVaM1JvS1Z4dVhHNGdJSEpsZEhWeWJpQjJZV3hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME9DQTlJR1oxYm1OMGFXOXVJSEpsWVdSSmJuUTRJQ2h2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUdOb1pXTnJUMlptYzJWMEtHOW1abk5sZEN3Z01Td2dkR2hwY3k1c1pXNW5kR2dwWEc0Z0lHbG1JQ2doS0hSb2FYTmJiMlptYzJWMFhTQW1JREI0T0RBcEtTQnlaWFIxY200Z0tIUm9hWE5iYjJabWMyVjBYU2xjYmlBZ2NtVjBkWEp1SUNnb01IaG1aaUF0SUhSb2FYTmJiMlptYzJWMFhTQXJJREVwSUNvZ0xURXBYRzU5WEc1Y2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdWNtVmhaRWx1ZERFMlRFVWdQU0JtZFc1amRHbHZiaUJ5WldGa1NXNTBNVFpNUlNBb2IyWm1jMlYwTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0JwWmlBb0lXNXZRWE56WlhKMEtTQmphR1ZqYTA5bVpuTmxkQ2h2Wm1aelpYUXNJRElzSUhSb2FYTXViR1Z1WjNSb0tWeHVJQ0IyWVhJZ2RtRnNJRDBnZEdocGMxdHZabVp6WlhSZElId2dLSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQRHdnT0NsY2JpQWdjbVYwZFhKdUlDaDJZV3dnSmlBd2VEZ3dNREFwSUQ4Z2RtRnNJSHdnTUhoR1JrWkdNREF3TUNBNklIWmhiRnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuSmxZV1JKYm5ReE5rSkZJRDBnWm5WdVkzUnBiMjRnY21WaFpFbHVkREUyUWtVZ0tHOW1abk5sZEN3Z2JtOUJjM05sY25RcElIdGNiaUFnYVdZZ0tDRnViMEZ6YzJWeWRDa2dZMmhsWTJ0UFptWnpaWFFvYjJabWMyVjBMQ0F5TENCMGFHbHpMbXhsYm1kMGFDbGNiaUFnZG1GeUlIWmhiQ0E5SUhSb2FYTmJiMlptYzJWMElDc2dNVjBnZkNBb2RHaHBjMXR2Wm1aelpYUmRJRHc4SURncFhHNGdJSEpsZEhWeWJpQW9kbUZzSUNZZ01IZzRNREF3S1NBL0lIWmhiQ0I4SURCNFJrWkdSakF3TURBZ09pQjJZV3hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrU1c1ME16Sk1SU0E5SUdaMWJtTjBhVzl1SUhKbFlXUkpiblF6TWt4RklDaHZabVp6WlhRc0lHNXZRWE56WlhKMEtTQjdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclQyWm1jMlYwS0c5bVpuTmxkQ3dnTkN3Z2RHaHBjeTVzWlc1bmRHZ3BYRzVjYmlBZ2NtVjBkWEp1SUNoMGFHbHpXMjltWm5ObGRGMHBJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBeFhTQThQQ0E0S1NCOFhHNGdJQ0FnS0hSb2FYTmJiMlptYzJWMElDc2dNbDBnUER3Z01UWXBJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBelhTQThQQ0F5TkNsY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzV5WldGa1NXNTBNekpDUlNBOUlHWjFibU4wYVc5dUlISmxZV1JKYm5Rek1rSkZJQ2h2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUdOb1pXTnJUMlptYzJWMEtHOW1abk5sZEN3Z05Dd2dkR2hwY3k1c1pXNW5kR2dwWEc1Y2JpQWdjbVYwZFhKdUlDaDBhR2x6VzI5bVpuTmxkRjBnUER3Z01qUXBJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBeFhTQThQQ0F4TmlrZ2ZGeHVJQ0FnSUNoMGFHbHpXMjltWm5ObGRDQXJJREpkSUR3OElEZ3BJSHhjYmlBZ0lDQW9kR2hwYzF0dlptWnpaWFFnS3lBelhTbGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1eVpXRmtSbXh2WVhSTVJTQTlJR1oxYm1OMGFXOXVJSEpsWVdSR2JHOWhkRXhGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dOQ3dnZEdocGN5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQnBaV1ZsTnpVMExuSmxZV1FvZEdocGN5d2diMlptYzJWMExDQjBjblZsTENBeU15d2dOQ2xjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrUm14dllYUkNSU0E5SUdaMWJtTjBhVzl1SUhKbFlXUkdiRzloZEVKRklDaHZabVp6WlhRc0lHNXZRWE56WlhKMEtTQjdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclQyWm1jMlYwS0c5bVpuTmxkQ3dnTkN3Z2RHaHBjeTVzWlc1bmRHZ3BYRzRnSUhKbGRIVnliaUJwWldWbE56VTBMbkpsWVdRb2RHaHBjeXdnYjJabWMyVjBMQ0JtWVd4elpTd2dNak1zSURRcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Y21WaFpFUnZkV0pzWlV4RklEMGdablZ1WTNScGIyNGdjbVZoWkVSdmRXSnNaVXhGSUNodlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yVDJabWMyVjBLRzltWm5ObGRDd2dPQ3dnZEdocGN5NXNaVzVuZEdncFhHNGdJSEpsZEhWeWJpQnBaV1ZsTnpVMExuSmxZV1FvZEdocGN5d2diMlptYzJWMExDQjBjblZsTENBMU1pd2dPQ2xjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNXlaV0ZrUkc5MVlteGxRa1VnUFNCbWRXNWpkR2x2YmlCeVpXRmtSRzkxWW14bFFrVWdLRzltWm5ObGRDd2dibTlCYzNObGNuUXBJSHRjYmlBZ2FXWWdLQ0Z1YjBGemMyVnlkQ2tnWTJobFkydFBabVp6WlhRb2IyWm1jMlYwTENBNExDQjBhR2x6TG14bGJtZDBhQ2xjYmlBZ2NtVjBkWEp1SUdsbFpXVTNOVFF1Y21WaFpDaDBhR2x6TENCdlptWnpaWFFzSUdaaGJITmxMQ0ExTWl3Z09DbGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnRKYm5RZ0tHSjFaaXdnZG1Gc2RXVXNJRzltWm5ObGRDd2daWGgwTENCdFlYZ3NJRzFwYmlrZ2UxeHVJQ0JwWmlBb0lVSjFabVpsY2k1cGMwSjFabVpsY2loaWRXWXBLU0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0ltSjFabVpsY2x3aUlHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQkNkV1ptWlhJZ2FXNXpkR0Z1WTJVbktWeHVJQ0JwWmlBb2RtRnNkV1VnUGlCdFlYZ2dmSHdnZG1Gc2RXVWdQQ0J0YVc0cElIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RjSW5aaGJIVmxYQ0lnWVhKbmRXMWxiblFnYVhNZ2IzVjBJRzltSUdKdmRXNWtjeWNwWEc0Z0lHbG1JQ2h2Wm1aelpYUWdLeUJsZUhRZ1BpQmlkV1l1YkdWdVozUm9LU0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnblNXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEp5bGNibjFjYmx4dVFuVm1abVZ5TG5CeWIzUnZkSGx3WlM1M2NtbDBaVlZKYm5STVJTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFZVbHVkRXhGSUNoMllXeDFaU3dnYjJabWMyVjBMQ0JpZVhSbFRHVnVaM1JvTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0IyWVd4MVpTQTlJQ3QyWVd4MVpWeHVJQ0J2Wm1aelpYUWdQU0J2Wm1aelpYUWdmQ0F3WEc0Z0lHSjVkR1ZNWlc1bmRHZ2dQU0JpZVhSbFRHVnVaM1JvSUh3Z01GeHVJQ0JwWmlBb0lXNXZRWE56WlhKMEtTQjdYRzRnSUNBZ2RtRnlJRzFoZUVKNWRHVnpJRDBnVFdGMGFDNXdiM2NvTWl3Z09DQXFJR0o1ZEdWTVpXNW5kR2dwSUMwZ01WeHVJQ0FnSUdOb1pXTnJTVzUwS0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lHSjVkR1ZNWlc1bmRHZ3NJRzFoZUVKNWRHVnpMQ0F3S1Z4dUlDQjlYRzVjYmlBZ2RtRnlJRzExYkNBOUlERmNiaUFnZG1GeUlHa2dQU0F3WEc0Z0lIUm9hWE5iYjJabWMyVjBYU0E5SUhaaGJIVmxJQ1lnTUhoR1JseHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lubDBaVXhsYm1kMGFDQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnYVYwZ1BTQW9kbUZzZFdVZ0x5QnRkV3dwSUNZZ01IaEdSbHh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzltWm5ObGRDQXJJR0o1ZEdWTVpXNW5kR2hjYm4xY2JseHVRblZtWm1WeUxuQnliM1J2ZEhsd1pTNTNjbWwwWlZWSmJuUkNSU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxWVWx1ZEVKRklDaDJZV3gxWlN3Z2IyWm1jMlYwTENCaWVYUmxUR1Z1WjNSb0xDQnViMEZ6YzJWeWRDa2dlMXh1SUNCMllXeDFaU0E5SUN0MllXeDFaVnh1SUNCdlptWnpaWFFnUFNCdlptWnpaWFFnZkNBd1hHNGdJR0o1ZEdWTVpXNW5kR2dnUFNCaWVYUmxUR1Z1WjNSb0lId2dNRnh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0I3WEc0Z0lDQWdkbUZ5SUcxaGVFSjVkR1Z6SUQwZ1RXRjBhQzV3YjNjb01pd2dPQ0FxSUdKNWRHVk1aVzVuZEdncElDMGdNVnh1SUNBZ0lHTm9aV05yU1c1MEtIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJR0o1ZEdWTVpXNW5kR2dzSUcxaGVFSjVkR1Z6TENBd0tWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdrZ1BTQmllWFJsVEdWdVozUm9JQzBnTVZ4dUlDQjJZWElnYlhWc0lEMGdNVnh1SUNCMGFHbHpXMjltWm5ObGRDQXJJR2xkSUQwZ2RtRnNkV1VnSmlBd2VFWkdYRzRnSUhkb2FXeGxJQ2d0TFdrZ1BqMGdNQ0FtSmlBb2JYVnNJQ285SURCNE1UQXdLU2tnZTF4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ2FWMGdQU0FvZG1Gc2RXVWdMeUJ0ZFd3cElDWWdNSGhHUmx4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc5bVpuTmxkQ0FySUdKNWRHVk1aVzVuZEdoY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzUzY21sMFpWVkpiblE0SUQwZ1puVnVZM1JwYjI0Z2QzSnBkR1ZWU1c1ME9DQW9kbUZzZFdVc0lHOW1abk5sZEN3Z2JtOUJjM05sY25RcElIdGNiaUFnZG1Gc2RXVWdQU0FyZG1Gc2RXVmNiaUFnYjJabWMyVjBJRDBnYjJabWMyVjBJSHdnTUZ4dUlDQnBaaUFvSVc1dlFYTnpaWEowS1NCamFHVmphMGx1ZENoMGFHbHpMQ0IyWVd4MVpTd2diMlptYzJWMExDQXhMQ0F3ZUdabUxDQXdLVnh1SUNCcFppQW9JVUoxWm1abGNpNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVLU0IyWVd4MVpTQTlJRTFoZEdndVpteHZiM0lvZG1Gc2RXVXBYRzRnSUhSb2FYTmJiMlptYzJWMFhTQTlJQ2gyWVd4MVpTQW1JREI0Wm1ZcFhHNGdJSEpsZEhWeWJpQnZabVp6WlhRZ0t5QXhYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOWlhbVZqZEZkeWFYUmxWVWx1ZERFMklDaGlkV1lzSUhaaGJIVmxMQ0J2Wm1aelpYUXNJR3hwZEhSc1pVVnVaR2xoYmlrZ2UxeHVJQ0JwWmlBb2RtRnNkV1VnUENBd0tTQjJZV3gxWlNBOUlEQjRabVptWmlBcklIWmhiSFZsSUNzZ01WeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhaUE5SUUxaGRHZ3ViV2x1S0dKMVppNXNaVzVuZEdnZ0xTQnZabVp6WlhRc0lESXBPeUJwSUR3Z2Fqc2dLeXRwS1NCN1hHNGdJQ0FnWW5WbVcyOW1abk5sZENBcklHbGRJRDBnS0haaGJIVmxJQ1lnS0RCNFptWWdQRHdnS0RnZ0tpQW9iR2wwZEd4bFJXNWthV0Z1SUQ4Z2FTQTZJREVnTFNCcEtTa3BLU0ErUGo1Y2JpQWdJQ0FnSUNoc2FYUjBiR1ZGYm1ScFlXNGdQeUJwSURvZ01TQXRJR2twSUNvZ09GeHVJQ0I5WEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWVlNXNTBNVFpNUlNBOUlHWjFibU4wYVc5dUlIZHlhWFJsVlVsdWRERTJURVVnS0haaGJIVmxMQ0J2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lIWmhiSFZsSUQwZ0szWmhiSFZsWEc0Z0lHOW1abk5sZENBOUlHOW1abk5sZENCOElEQmNiaUFnYVdZZ0tDRnViMEZ6YzJWeWRDa2dZMmhsWTJ0SmJuUW9kR2hwY3l3Z2RtRnNkV1VzSUc5bVpuTmxkQ3dnTWl3Z01IaG1abVptTENBd0tWeHVJQ0JwWmlBb1FuVm1abVZ5TGxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRcElIdGNiaUFnSUNCMGFHbHpXMjltWm5ObGRGMGdQU0FvZG1Gc2RXVWdKaUF3ZUdabUtWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dNVjBnUFNBb2RtRnNkV1VnUGo0K0lEZ3BYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdiMkpxWldOMFYzSnBkR1ZWU1c1ME1UWW9kR2hwY3l3Z2RtRnNkV1VzSUc5bVpuTmxkQ3dnZEhKMVpTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z2IyWm1jMlYwSUNzZ01seHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5keWFYUmxWVWx1ZERFMlFrVWdQU0JtZFc1amRHbHZiaUIzY21sMFpWVkpiblF4TmtKRklDaDJZV3gxWlN3Z2IyWm1jMlYwTENCdWIwRnpjMlZ5ZENrZ2UxeHVJQ0IyWVd4MVpTQTlJQ3QyWVd4MVpWeHVJQ0J2Wm1aelpYUWdQU0J2Wm1aelpYUWdmQ0F3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUdOb1pXTnJTVzUwS0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lESXNJREI0Wm1abVppd2dNQ2xjYmlBZ2FXWWdLRUoxWm1abGNpNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVLU0I3WEc0Z0lDQWdkR2hwYzF0dlptWnpaWFJkSUQwZ0tIWmhiSFZsSUQ0K1BpQTRLVnh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnTVYwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUc5aWFtVmpkRmR5YVhSbFZVbHVkREUyS0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lHWmhiSE5sS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUF5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzlpYW1WamRGZHlhWFJsVlVsdWRETXlJQ2hpZFdZc0lIWmhiSFZsTENCdlptWnpaWFFzSUd4cGRIUnNaVVZ1WkdsaGJpa2dlMXh1SUNCcFppQW9kbUZzZFdVZ1BDQXdLU0IyWVd4MVpTQTlJREI0Wm1abVptWm1abVlnS3lCMllXeDFaU0FySURGY2JpQWdabTl5SUNoMllYSWdhU0E5SURBc0lHb2dQU0JOWVhSb0xtMXBiaWhpZFdZdWJHVnVaM1JvSUMwZ2IyWm1jMlYwTENBMEtUc2dhU0E4SUdvN0lDc3JhU2tnZTF4dUlDQWdJR0oxWmx0dlptWnpaWFFnS3lCcFhTQTlJQ2gyWVd4MVpTQStQajRnS0d4cGRIUnNaVVZ1WkdsaGJpQS9JR2tnT2lBeklDMGdhU2tnS2lBNEtTQW1JREI0Wm1aY2JpQWdmVnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuZHlhWFJsVlVsdWRETXlURVVnUFNCbWRXNWpkR2x2YmlCM2NtbDBaVlZKYm5Rek1reEZJQ2gyWVd4MVpTd2diMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCMllXeDFaU0E5SUN0MllXeDFaVnh1SUNCdlptWnpaWFFnUFNCdlptWnpaWFFnZkNBd1hHNGdJR2xtSUNnaGJtOUJjM05sY25RcElHTm9aV05yU1c1MEtIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJRFFzSURCNFptWm1abVptWm1Zc0lEQXBYRzRnSUdsbUlDaENkV1ptWlhJdVZGbFFSVVJmUVZKU1FWbGZVMVZRVUU5U1ZDa2dlMXh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnTTEwZ1BTQW9kbUZzZFdVZ1BqNCtJREkwS1Z4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ01sMGdQU0FvZG1Gc2RXVWdQajQrSURFMktWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dNVjBnUFNBb2RtRnNkV1VnUGo0K0lEZ3BYRzRnSUNBZ2RHaHBjMXR2Wm1aelpYUmRJRDBnS0haaGJIVmxJQ1lnTUhobVppbGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnZZbXBsWTNSWGNtbDBaVlZKYm5Rek1paDBhR2x6TENCMllXeDFaU3dnYjJabWMyVjBMQ0IwY25WbEtWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdlptWnpaWFFnS3lBMFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVlZTVzUwTXpKQ1JTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFZVbHVkRE15UWtVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJSFpoYkhWbElEMGdLM1poYkhWbFhHNGdJRzltWm5ObGRDQTlJRzltWm5ObGRDQjhJREJjYmlBZ2FXWWdLQ0Z1YjBGemMyVnlkQ2tnWTJobFkydEpiblFvZEdocGN5d2dkbUZzZFdVc0lHOW1abk5sZEN3Z05Dd2dNSGhtWm1abVptWm1aaXdnTUNsY2JpQWdhV1lnS0VKMVptWmxjaTVVV1ZCRlJGOUJVbEpCV1Y5VFZWQlFUMUpVS1NCN1hHNGdJQ0FnZEdocGMxdHZabVp6WlhSZElEMGdLSFpoYkhWbElENCtQaUF5TkNsY2JpQWdJQ0IwYUdselcyOW1abk5sZENBcklERmRJRDBnS0haaGJIVmxJRDQrUGlBeE5pbGNiaUFnSUNCMGFHbHpXMjltWm5ObGRDQXJJREpkSUQwZ0tIWmhiSFZsSUQ0K1BpQTRLVnh1SUNBZ0lIUm9hWE5iYjJabWMyVjBJQ3NnTTEwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUc5aWFtVmpkRmR5YVhSbFZVbHVkRE15S0hSb2FYTXNJSFpoYkhWbExDQnZabVp6WlhRc0lHWmhiSE5sS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUEwWEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWSmJuUk1SU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxTVzUwVEVVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHNXZRWE56WlhKMEtTQjdYRzRnSUhaaGJIVmxJRDBnSzNaaGJIVmxYRzRnSUc5bVpuTmxkQ0E5SUc5bVpuTmxkQ0I4SURCY2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ2UxeHVJQ0FnSUhaaGNpQnNhVzFwZENBOUlFMWhkR2d1Y0c5M0tESXNJRGdnS2lCaWVYUmxUR1Z1WjNSb0lDMGdNU2xjYmx4dUlDQWdJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHeHBiV2wwSUMwZ01Td2dMV3hwYldsMEtWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdrZ1BTQXdYRzRnSUhaaGNpQnRkV3dnUFNBeFhHNGdJSFpoY2lCemRXSWdQU0F3WEc0Z0lIUm9hWE5iYjJabWMyVjBYU0E5SUhaaGJIVmxJQ1lnTUhoR1JseHVJQ0IzYUdsc1pTQW9LeXRwSUR3Z1lubDBaVXhsYm1kMGFDQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQThJREFnSmlZZ2MzVmlJRDA5UFNBd0lDWW1JSFJvYVhOYmIyWm1jMlYwSUNzZ2FTQXRJREZkSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6ZFdJZ1BTQXhYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dhVjBnUFNBb0tIWmhiSFZsSUM4Z2JYVnNLU0ErUGlBd0tTQXRJSE4xWWlBbUlEQjRSa1pjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUJpZVhSbFRHVnVaM1JvWEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWSmJuUkNSU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxTVzUwUWtVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHNXZRWE56WlhKMEtTQjdYRzRnSUhaaGJIVmxJRDBnSzNaaGJIVmxYRzRnSUc5bVpuTmxkQ0E5SUc5bVpuTmxkQ0I4SURCY2JpQWdhV1lnS0NGdWIwRnpjMlZ5ZENrZ2UxeHVJQ0FnSUhaaGNpQnNhVzFwZENBOUlFMWhkR2d1Y0c5M0tESXNJRGdnS2lCaWVYUmxUR1Z1WjNSb0lDMGdNU2xjYmx4dUlDQWdJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSUdKNWRHVk1aVzVuZEdnc0lHeHBiV2wwSUMwZ01Td2dMV3hwYldsMEtWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdrZ1BTQmllWFJsVEdWdVozUm9JQzBnTVZ4dUlDQjJZWElnYlhWc0lEMGdNVnh1SUNCMllYSWdjM1ZpSUQwZ01GeHVJQ0IwYUdselcyOW1abk5sZENBcklHbGRJRDBnZG1Gc2RXVWdKaUF3ZUVaR1hHNGdJSGRvYVd4bElDZ3RMV2tnUGowZ01DQW1KaUFvYlhWc0lDbzlJREI0TVRBd0tTa2dlMXh1SUNBZ0lHbG1JQ2gyWVd4MVpTQThJREFnSmlZZ2MzVmlJRDA5UFNBd0lDWW1JSFJvYVhOYmIyWm1jMlYwSUNzZ2FTQXJJREZkSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6ZFdJZ1BTQXhYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTmJiMlptYzJWMElDc2dhVjBnUFNBb0tIWmhiSFZsSUM4Z2JYVnNLU0ErUGlBd0tTQXRJSE4xWWlBbUlEQjRSa1pjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ2Wm1aelpYUWdLeUJpZVhSbFRHVnVaM1JvWEc1OVhHNWNia0oxWm1abGNpNXdjbTkwYjNSNWNHVXVkM0pwZEdWSmJuUTRJRDBnWm5WdVkzUnBiMjRnZDNKcGRHVkpiblE0SUNoMllXeDFaU3dnYjJabWMyVjBMQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQjJZV3gxWlNBOUlDdDJZV3gxWlZ4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSURFc0lEQjROMllzSUMwd2VEZ3dLVnh1SUNCcFppQW9JVUoxWm1abGNpNVVXVkJGUkY5QlVsSkJXVjlUVlZCUVQxSlVLU0IyWVd4MVpTQTlJRTFoZEdndVpteHZiM0lvZG1Gc2RXVXBYRzRnSUdsbUlDaDJZV3gxWlNBOElEQXBJSFpoYkhWbElEMGdNSGhtWmlBcklIWmhiSFZsSUNzZ01WeHVJQ0IwYUdselcyOW1abk5sZEYwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQnlaWFIxY200Z2IyWm1jMlYwSUNzZ01WeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5keWFYUmxTVzUwTVRaTVJTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFNXNTBNVFpNUlNBb2RtRnNkV1VzSUc5bVpuTmxkQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdkbUZzZFdVZ1BTQXJkbUZzZFdWY2JpQWdiMlptYzJWMElEMGdiMlptYzJWMElId2dNRnh1SUNCcFppQW9JVzV2UVhOelpYSjBLU0JqYUdWamEwbHVkQ2gwYUdsekxDQjJZV3gxWlN3Z2IyWm1jMlYwTENBeUxDQXdlRGRtWm1Zc0lDMHdlRGd3TURBcFhHNGdJR2xtSUNoQ2RXWm1aWEl1VkZsUVJVUmZRVkpTUVZsZlUxVlFVRTlTVkNrZ2UxeHVJQ0FnSUhSb2FYTmJiMlptYzJWMFhTQTlJQ2gyWVd4MVpTQW1JREI0Wm1ZcFhHNGdJQ0FnZEdocGMxdHZabVp6WlhRZ0t5QXhYU0E5SUNoMllXeDFaU0ErUGo0Z09DbGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnZZbXBsWTNSWGNtbDBaVlZKYm5ReE5paDBhR2x6TENCMllXeDFaU3dnYjJabWMyVjBMQ0IwY25WbEtWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdlptWnpaWFFnS3lBeVhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVkpiblF4TmtKRklEMGdablZ1WTNScGIyNGdkM0pwZEdWSmJuUXhOa0pGSUNoMllXeDFaU3dnYjJabWMyVjBMQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQjJZV3gxWlNBOUlDdDJZV3gxWlZ4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSURJc0lEQjROMlptWml3Z0xUQjRPREF3TUNsY2JpQWdhV1lnS0VKMVptWmxjaTVVV1ZCRlJGOUJVbEpCV1Y5VFZWQlFUMUpVS1NCN1hHNGdJQ0FnZEdocGMxdHZabVp6WlhSZElEMGdLSFpoYkhWbElENCtQaUE0S1Z4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQU0FvZG1Gc2RXVWdKaUF3ZUdabUtWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHOWlhbVZqZEZkeWFYUmxWVWx1ZERFMktIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJR1poYkhObEtWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdlptWnpaWFFnS3lBeVhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVkpiblF6TWt4RklEMGdablZ1WTNScGIyNGdkM0pwZEdWSmJuUXpNa3hGSUNoMllXeDFaU3dnYjJabWMyVjBMQ0J1YjBGemMyVnlkQ2tnZTF4dUlDQjJZV3gxWlNBOUlDdDJZV3gxWlZ4dUlDQnZabVp6WlhRZ1BTQnZabVp6WlhRZ2ZDQXdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJR05vWldOclNXNTBLSFJvYVhNc0lIWmhiSFZsTENCdlptWnpaWFFzSURRc0lEQjROMlptWm1abVptWXNJQzB3ZURnd01EQXdNREF3S1Z4dUlDQnBaaUFvUW5WbVptVnlMbFJaVUVWRVgwRlNVa0ZaWDFOVlVGQlBVbFFwSUh0Y2JpQWdJQ0IwYUdselcyOW1abk5sZEYwZ1BTQW9kbUZzZFdVZ0ppQXdlR1ptS1Z4dUlDQWdJSFJvYVhOYmIyWm1jMlYwSUNzZ01WMGdQU0FvZG1Gc2RXVWdQajQrSURncFhHNGdJQ0FnZEdocGMxdHZabVp6WlhRZ0t5QXlYU0E5SUNoMllXeDFaU0ErUGo0Z01UWXBYRzRnSUNBZ2RHaHBjMXR2Wm1aelpYUWdLeUF6WFNBOUlDaDJZV3gxWlNBK1BqNGdNalFwWEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYjJKcVpXTjBWM0pwZEdWVlNXNTBNeklvZEdocGN5d2dkbUZzZFdVc0lHOW1abk5sZEN3Z2RISjFaU2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiMlptYzJWMElDc2dORnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuZHlhWFJsU1c1ME16SkNSU0E5SUdaMWJtTjBhVzl1SUhkeWFYUmxTVzUwTXpKQ1JTQW9kbUZzZFdVc0lHOW1abk5sZEN3Z2JtOUJjM05sY25RcElIdGNiaUFnZG1Gc2RXVWdQU0FyZG1Gc2RXVmNiaUFnYjJabWMyVjBJRDBnYjJabWMyVjBJSHdnTUZ4dUlDQnBaaUFvSVc1dlFYTnpaWEowS1NCamFHVmphMGx1ZENoMGFHbHpMQ0IyWVd4MVpTd2diMlptYzJWMExDQTBMQ0F3ZURkbVptWm1abVptTENBdE1IZzRNREF3TURBd01DbGNiaUFnYVdZZ0tIWmhiSFZsSUR3Z01Da2dkbUZzZFdVZ1BTQXdlR1ptWm1abVptWm1JQ3NnZG1Gc2RXVWdLeUF4WEc0Z0lHbG1JQ2hDZFdabVpYSXVWRmxRUlVSZlFWSlNRVmxmVTFWUVVFOVNWQ2tnZTF4dUlDQWdJSFJvYVhOYmIyWm1jMlYwWFNBOUlDaDJZV3gxWlNBK1BqNGdNalFwWEc0Z0lDQWdkR2hwYzF0dlptWnpaWFFnS3lBeFhTQTlJQ2gyWVd4MVpTQStQajRnTVRZcFhHNGdJQ0FnZEdocGMxdHZabVp6WlhRZ0t5QXlYU0E5SUNoMllXeDFaU0ErUGo0Z09DbGNiaUFnSUNCMGFHbHpXMjltWm5ObGRDQXJJRE5kSUQwZ0tIWmhiSFZsSUNZZ01IaG1aaWxjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J2WW1wbFkzUlhjbWwwWlZWSmJuUXpNaWgwYUdsekxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCbVlXeHpaU2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiMlptYzJWMElDc2dORnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmphR1ZqYTBsRlJVVTNOVFFnS0dKMVppd2dkbUZzZFdVc0lHOW1abk5sZEN3Z1pYaDBMQ0J0WVhnc0lHMXBiaWtnZTF4dUlDQnBaaUFvYjJabWMyVjBJQ3NnWlhoMElENGdZblZtTG14bGJtZDBhQ2tnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0owbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpTY3BYRzRnSUdsbUlDaHZabVp6WlhRZ1BDQXdLU0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnblNXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEp5bGNibjFjYmx4dVpuVnVZM1JwYjI0Z2QzSnBkR1ZHYkc5aGRDQW9ZblZtTENCMllXeDFaU3dnYjJabWMyVjBMQ0JzYVhSMGJHVkZibVJwWVc0c0lHNXZRWE56WlhKMEtTQjdYRzRnSUdsbUlDZ2hibTlCYzNObGNuUXBJSHRjYmlBZ0lDQmphR1ZqYTBsRlJVVTNOVFFvWW5WbUxDQjJZV3gxWlN3Z2IyWm1jMlYwTENBMExDQXpMalF3TWpneU16UTJOak00TlRJNE9EWmxLek00TENBdE15NDBNREk0TWpNME5qWXpPRFV5T0RnMlpTc3pPQ2xjYmlBZ2ZWeHVJQ0JwWldWbE56VTBMbmR5YVhSbEtHSjFaaXdnZG1Gc2RXVXNJRzltWm5ObGRDd2diR2wwZEd4bFJXNWthV0Z1TENBeU15d2dOQ2xjYmlBZ2NtVjBkWEp1SUc5bVpuTmxkQ0FySURSY2JuMWNibHh1UW5WbVptVnlMbkJ5YjNSdmRIbHdaUzUzY21sMFpVWnNiMkYwVEVVZ1BTQm1kVzVqZEdsdmJpQjNjbWwwWlVac2IyRjBURVVnS0haaGJIVmxMQ0J2Wm1aelpYUXNJRzV2UVhOelpYSjBLU0I3WEc0Z0lISmxkSFZ5YmlCM2NtbDBaVVpzYjJGMEtIUm9hWE1zSUhaaGJIVmxMQ0J2Wm1aelpYUXNJSFJ5ZFdVc0lHNXZRWE56WlhKMEtWeHVmVnh1WEc1Q2RXWm1aWEl1Y0hKdmRHOTBlWEJsTG5keWFYUmxSbXh2WVhSQ1JTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFJteHZZWFJDUlNBb2RtRnNkV1VzSUc5bVpuTmxkQ3dnYm05QmMzTmxjblFwSUh0Y2JpQWdjbVYwZFhKdUlIZHlhWFJsUm14dllYUW9kR2hwY3l3Z2RtRnNkV1VzSUc5bVpuTmxkQ3dnWm1Gc2MyVXNJRzV2UVhOelpYSjBLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjNjbWwwWlVSdmRXSnNaU0FvWW5WbUxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCc2FYUjBiR1ZGYm1ScFlXNHNJRzV2UVhOelpYSjBLU0I3WEc0Z0lHbG1JQ2doYm05QmMzTmxjblFwSUh0Y2JpQWdJQ0JqYUdWamEwbEZSVVUzTlRRb1luVm1MQ0IyWVd4MVpTd2diMlptYzJWMExDQTRMQ0F4TGpjNU56WTVNekV6TkRnMk1qTXhOVGRGS3pNd09Dd2dMVEV1TnprM05qa3pNVE0wT0RZeU16RTFOMFVyTXpBNEtWeHVJQ0I5WEc0Z0lHbGxaV1UzTlRRdWQzSnBkR1VvWW5WbUxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCc2FYUjBiR1ZGYm1ScFlXNHNJRFV5TENBNEtWeHVJQ0J5WlhSMWNtNGdiMlptYzJWMElDc2dPRnh1ZlZ4dVhHNUNkV1ptWlhJdWNISnZkRzkwZVhCbExuZHlhWFJsUkc5MVlteGxURVVnUFNCbWRXNWpkR2x2YmlCM2NtbDBaVVJ2ZFdKc1pVeEZJQ2gyWVd4MVpTd2diMlptYzJWMExDQnViMEZ6YzJWeWRDa2dlMXh1SUNCeVpYUjFjbTRnZDNKcGRHVkViM1ZpYkdVb2RHaHBjeXdnZG1Gc2RXVXNJRzltWm5ObGRDd2dkSEoxWlN3Z2JtOUJjM05sY25RcFhHNTlYRzVjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1ZDNKcGRHVkViM1ZpYkdWQ1JTQTlJR1oxYm1OMGFXOXVJSGR5YVhSbFJHOTFZbXhsUWtVZ0tIWmhiSFZsTENCdlptWnpaWFFzSUc1dlFYTnpaWEowS1NCN1hHNGdJSEpsZEhWeWJpQjNjbWwwWlVSdmRXSnNaU2gwYUdsekxDQjJZV3gxWlN3Z2IyWm1jMlYwTENCbVlXeHpaU3dnYm05QmMzTmxjblFwWEc1OVhHNWNiaTh2SUdOdmNIa29kR0Z5WjJWMFFuVm1abVZ5TENCMFlYSm5aWFJUZEdGeWREMHdMQ0J6YjNWeVkyVlRkR0Z5ZEQwd0xDQnpiM1Z5WTJWRmJtUTlZblZtWm1WeUxteGxibWQwYUNsY2JrSjFabVpsY2k1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUdOdmNIa2dLSFJoY21kbGRDd2dkR0Z5WjJWMFUzUmhjblFzSUhOMFlYSjBMQ0JsYm1RcElIdGNiaUFnYVdZZ0tDRnpkR0Z5ZENrZ2MzUmhjblFnUFNBd1hHNGdJR2xtSUNnaFpXNWtJQ1ltSUdWdVpDQWhQVDBnTUNrZ1pXNWtJRDBnZEdocGN5NXNaVzVuZEdoY2JpQWdhV1lnS0hSaGNtZGxkRk4wWVhKMElENDlJSFJoY21kbGRDNXNaVzVuZEdncElIUmhjbWRsZEZOMFlYSjBJRDBnZEdGeVoyVjBMbXhsYm1kMGFGeHVJQ0JwWmlBb0lYUmhjbWRsZEZOMFlYSjBLU0IwWVhKblpYUlRkR0Z5ZENBOUlEQmNiaUFnYVdZZ0tHVnVaQ0ErSURBZ0ppWWdaVzVrSUR3Z2MzUmhjblFwSUdWdVpDQTlJSE4wWVhKMFhHNWNiaUFnTHk4Z1EyOXdlU0F3SUdKNWRHVnpPeUIzWlNkeVpTQmtiMjVsWEc0Z0lHbG1JQ2hsYm1RZ1BUMDlJSE4wWVhKMEtTQnlaWFIxY200Z01GeHVJQ0JwWmlBb2RHRnlaMlYwTG14bGJtZDBhQ0E5UFQwZ01DQjhmQ0IwYUdsekxteGxibWQwYUNBOVBUMGdNQ2tnY21WMGRYSnVJREJjYmx4dUlDQXZMeUJHWVhSaGJDQmxjbkp2Y2lCamIyNWthWFJwYjI1elhHNGdJR2xtSUNoMFlYSm5aWFJUZEdGeWRDQThJREFwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnbmRHRnlaMlYwVTNSaGNuUWdiM1YwSUc5bUlHSnZkVzVrY3ljcFhHNGdJSDFjYmlBZ2FXWWdLSE4wWVhKMElEd2dNQ0I4ZkNCemRHRnlkQ0ErUFNCMGFHbHpMbXhsYm1kMGFDa2dkR2h5YjNjZ2JtVjNJRkpoYm1kbFJYSnliM0lvSjNOdmRYSmpaVk4wWVhKMElHOTFkQ0J2WmlCaWIzVnVaSE1uS1Z4dUlDQnBaaUFvWlc1a0lEd2dNQ2tnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0ozTnZkWEpqWlVWdVpDQnZkWFFnYjJZZ1ltOTFibVJ6SnlsY2JseHVJQ0F2THlCQmNtVWdkMlVnYjI5aVAxeHVJQ0JwWmlBb1pXNWtJRDRnZEdocGN5NXNaVzVuZEdncElHVnVaQ0E5SUhSb2FYTXViR1Z1WjNSb1hHNGdJR2xtSUNoMFlYSm5aWFF1YkdWdVozUm9JQzBnZEdGeVoyVjBVM1JoY25RZ1BDQmxibVFnTFNCemRHRnlkQ2tnZTF4dUlDQWdJR1Z1WkNBOUlIUmhjbWRsZEM1c1pXNW5kR2dnTFNCMFlYSm5aWFJUZEdGeWRDQXJJSE4wWVhKMFhHNGdJSDFjYmx4dUlDQjJZWElnYkdWdUlEMGdaVzVrSUMwZ2MzUmhjblJjYmlBZ2RtRnlJR2xjYmx4dUlDQnBaaUFvZEdocGN5QTlQVDBnZEdGeVoyVjBJQ1ltSUhOMFlYSjBJRHdnZEdGeVoyVjBVM1JoY25RZ0ppWWdkR0Z5WjJWMFUzUmhjblFnUENCbGJtUXBJSHRjYmlBZ0lDQXZMeUJrWlhOalpXNWthVzVuSUdOdmNIa2dabkp2YlNCbGJtUmNiaUFnSUNCbWIzSWdLR2tnUFNCc1pXNGdMU0F4T3lCcElENDlJREE3SUMwdGFTa2dlMXh1SUNBZ0lDQWdkR0Z5WjJWMFcya2dLeUIwWVhKblpYUlRkR0Z5ZEYwZ1BTQjBhR2x6VzJrZ0t5QnpkR0Z5ZEYxY2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCcFppQW9iR1Z1SUR3Z01UQXdNQ0I4ZkNBaFFuVm1abVZ5TGxSWlVFVkVYMEZTVWtGWlgxTlZVRkJQVWxRcElIdGNiaUFnSUNBdkx5QmhjMk5sYm1ScGJtY2dZMjl3ZVNCbWNtOXRJSE4wWVhKMFhHNGdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJR3hsYmpzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0IwWVhKblpYUmJhU0FySUhSaGNtZGxkRk4wWVhKMFhTQTlJSFJvYVhOYmFTQXJJSE4wWVhKMFhWeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCVmFXNTBPRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpaWFF1WTJGc2JDaGNiaUFnSUNBZ0lIUmhjbWRsZEN4Y2JpQWdJQ0FnSUhSb2FYTXVjM1ZpWVhKeVlYa29jM1JoY25Rc0lITjBZWEowSUNzZ2JHVnVLU3hjYmlBZ0lDQWdJSFJoY21kbGRGTjBZWEowWEc0Z0lDQWdLVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR3hsYmx4dWZWeHVYRzR2THlCVmMyRm5aVHBjYmk4dklDQWdJR0oxWm1abGNpNW1hV3hzS0c1MWJXSmxjbHNzSUc5bVpuTmxkRnNzSUdWdVpGMWRLVnh1THk4Z0lDQWdZblZtWm1WeUxtWnBiR3dvWW5WbVptVnlXeXdnYjJabWMyVjBXeXdnWlc1a1hWMHBYRzR2THlBZ0lDQmlkV1ptWlhJdVptbHNiQ2h6ZEhKcGJtZGJMQ0J2Wm1aelpYUmJMQ0JsYm1SZFhWc3NJR1Z1WTI5a2FXNW5YU2xjYmtKMVptWmxjaTV3Y205MGIzUjVjR1V1Wm1sc2JDQTlJR1oxYm1OMGFXOXVJR1pwYkd3Z0tIWmhiQ3dnYzNSaGNuUXNJR1Z1WkN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnTHk4Z1NHRnVaR3hsSUhOMGNtbHVaeUJqWVhObGN6cGNiaUFnYVdZZ0tIUjVjR1Z2WmlCMllXd2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCemRHRnlkQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lHVnVZMjlrYVc1bklEMGdjM1JoY25SY2JpQWdJQ0FnSUhOMFlYSjBJRDBnTUZ4dUlDQWdJQ0FnWlc1a0lEMGdkR2hwY3k1c1pXNW5kR2hjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmxibVFnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQmxibU52WkdsdVp5QTlJR1Z1WkZ4dUlDQWdJQ0FnWlc1a0lEMGdkR2hwY3k1c1pXNW5kR2hjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSFpoYkM1c1pXNW5kR2dnUFQwOUlERXBJSHRjYmlBZ0lDQWdJSFpoY2lCamIyUmxJRDBnZG1Gc0xtTm9ZWEpEYjJSbFFYUW9NQ2xjYmlBZ0lDQWdJR2xtSUNoamIyUmxJRHdnTWpVMktTQjdYRzRnSUNBZ0lDQWdJSFpoYkNBOUlHTnZaR1ZjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR1Z1WTI5a2FXNW5JQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdkSGx3Wlc5bUlHVnVZMjlrYVc1bklDRTlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblpXNWpiMlJwYm1jZ2JYVnpkQ0JpWlNCaElITjBjbWx1WnljcFhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoMGVYQmxiMllnWlc1amIyUnBibWNnUFQwOUlDZHpkSEpwYm1jbklDWW1JQ0ZDZFdabVpYSXVhWE5GYm1OdlpHbHVaeWhsYm1OdlpHbHVaeWtwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxVnVhMjV2ZDI0Z1pXNWpiMlJwYm1jNklDY2dLeUJsYm1OdlpHbHVaeWxjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUhaaGJDQTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0IyWVd3Z1BTQjJZV3dnSmlBeU5UVmNiaUFnZlZ4dVhHNGdJQzh2SUVsdWRtRnNhV1FnY21GdVoyVnpJR0Z5WlNCdWIzUWdjMlYwSUhSdklHRWdaR1ZtWVhWc2RDd2djMjhnWTJGdUlISmhibWRsSUdOb1pXTnJJR1ZoY214NUxseHVJQ0JwWmlBb2MzUmhjblFnUENBd0lIeDhJSFJvYVhNdWJHVnVaM1JvSUR3Z2MzUmhjblFnZkh3Z2RHaHBjeTVzWlc1bmRHZ2dQQ0JsYm1RcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1VtRnVaMlZGY25KdmNpZ25UM1YwSUc5bUlISmhibWRsSUdsdVpHVjRKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaGxibVFnUEQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwYzF4dUlDQjlYRzVjYmlBZ2MzUmhjblFnUFNCemRHRnlkQ0ErUGo0Z01GeHVJQ0JsYm1RZ1BTQmxibVFnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JSFJvYVhNdWJHVnVaM1JvSURvZ1pXNWtJRDQrUGlBd1hHNWNiaUFnYVdZZ0tDRjJZV3dwSUhaaGJDQTlJREJjYmx4dUlDQjJZWElnYVZ4dUlDQnBaaUFvZEhsd1pXOW1JSFpoYkNBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnpkR0Z5ZERzZ2FTQThJR1Z1WkRzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0IwYUdselcybGRJRDBnZG1Gc1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmllWFJsY3lBOUlFSjFabVpsY2k1cGMwSjFabVpsY2loMllXd3BYRzRnSUNBZ0lDQS9JSFpoYkZ4dUlDQWdJQ0FnT2lCMWRHWTRWRzlDZVhSbGN5aHVaWGNnUW5WbVptVnlLSFpoYkN3Z1pXNWpiMlJwYm1jcExuUnZVM1J5YVc1bktDa3BYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHSjVkR1Z6TG14bGJtZDBhRnh1SUNBZ0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCbGJtUWdMU0J6ZEdGeWREc2dLeXRwS1NCN1hHNGdJQ0FnSUNCMGFHbHpXMmtnS3lCemRHRnlkRjBnUFNCaWVYUmxjMXRwSUNVZ2JHVnVYVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBhR2x6WEc1OVhHNWNiaTh2SUVoRlRGQkZVaUJHVlU1RFZFbFBUbE5jYmk4dklEMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JseHVkbUZ5SUVsT1ZrRk1TVVJmUWtGVFJUWTBYMUpGSUQwZ0wxdGVLMXhjTHpBdE9VRXRXbUV0ZWkxZlhTOW5YRzVjYm1aMWJtTjBhVzl1SUdKaGMyVTJOR05zWldGdUlDaHpkSElwSUh0Y2JpQWdMeThnVG05a1pTQnpkSEpwY0hNZ2IzVjBJR2x1ZG1Gc2FXUWdZMmhoY21GamRHVnljeUJzYVd0bElGeGNiaUJoYm1RZ1hGeDBJR1p5YjIwZ2RHaGxJSE4wY21sdVp5d2dZbUZ6WlRZMExXcHpJR1J2WlhNZ2JtOTBYRzRnSUhOMGNpQTlJSE4wY21sdVozUnlhVzBvYzNSeUtTNXlaWEJzWVdObEtFbE9Wa0ZNU1VSZlFrRlRSVFkwWDFKRkxDQW5KeWxjYmlBZ0x5OGdUbTlrWlNCamIyNTJaWEowY3lCemRISnBibWR6SUhkcGRHZ2diR1Z1WjNSb0lEd2dNaUIwYnlBbkoxeHVJQ0JwWmlBb2MzUnlMbXhsYm1kMGFDQThJRElwSUhKbGRIVnliaUFuSjF4dUlDQXZMeUJPYjJSbElHRnNiRzkzY3lCbWIzSWdibTl1TFhCaFpHUmxaQ0JpWVhObE5qUWdjM1J5YVc1bmN5QW9iV2x6YzJsdVp5QjBjbUZwYkdsdVp5QTlQVDBwTENCaVlYTmxOalF0YW5NZ1pHOWxjeUJ1YjNSY2JpQWdkMmhwYkdVZ0tITjBjaTVzWlc1bmRHZ2dKU0EwSUNFOVBTQXdLU0I3WEc0Z0lDQWdjM1J5SUQwZ2MzUnlJQ3NnSnowblhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhOMGNseHVmVnh1WEc1bWRXNWpkR2x2YmlCemRISnBibWQwY21sdElDaHpkSElwSUh0Y2JpQWdhV1lnS0hOMGNpNTBjbWx0S1NCeVpYUjFjbTRnYzNSeUxuUnlhVzBvS1Z4dUlDQnlaWFIxY200Z2MzUnlMbkpsY0d4aFkyVW9MMTVjWEhNcmZGeGNjeXNrTDJjc0lDY25LVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBiMGhsZUNBb2Jpa2dlMXh1SUNCcFppQW9iaUE4SURFMktTQnlaWFIxY200Z0p6QW5JQ3NnYmk1MGIxTjBjbWx1WnlneE5pbGNiaUFnY21WMGRYSnVJRzR1ZEc5VGRISnBibWNvTVRZcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhWMFpqaFViMEo1ZEdWeklDaHpkSEpwYm1jc0lIVnVhWFJ6S1NCN1hHNGdJSFZ1YVhSeklEMGdkVzVwZEhNZ2ZId2dTVzVtYVc1cGRIbGNiaUFnZG1GeUlHTnZaR1ZRYjJsdWRGeHVJQ0IyWVhJZ2JHVnVaM1JvSUQwZ2MzUnlhVzVuTG14bGJtZDBhRnh1SUNCMllYSWdiR1ZoWkZOMWNuSnZaMkYwWlNBOUlHNTFiR3hjYmlBZ2RtRnlJR0o1ZEdWeklEMGdXMTFjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnWTI5a1pWQnZhVzUwSUQwZ2MzUnlhVzVuTG1Ob1lYSkRiMlJsUVhRb2FTbGNibHh1SUNBZ0lDOHZJR2x6SUhOMWNuSnZaMkYwWlNCamIyMXdiMjVsYm5SY2JpQWdJQ0JwWmlBb1kyOWtaVkJ2YVc1MElENGdNSGhFTjBaR0lDWW1JR052WkdWUWIybHVkQ0E4SURCNFJUQXdNQ2tnZTF4dUlDQWdJQ0FnTHk4Z2JHRnpkQ0JqYUdGeUlIZGhjeUJoSUd4bFlXUmNiaUFnSUNBZ0lHbG1JQ2doYkdWaFpGTjFjbkp2WjJGMFpTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCdWJ5QnNaV0ZrSUhsbGRGeHVJQ0FnSUNBZ0lDQnBaaUFvWTI5a1pWQnZhVzUwSUQ0Z01IaEVRa1pHS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnZFc1bGVIQmxZM1JsWkNCMGNtRnBiRnh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ29kVzVwZEhNZ0xUMGdNeWtnUGlBdE1Ta2dZbmwwWlhNdWNIVnphQ2d3ZUVWR0xDQXdlRUpHTENBd2VFSkVLVnh1SUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsWEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FTQXJJREVnUFQwOUlHeGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUhWdWNHRnBjbVZrSUd4bFlXUmNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlETXBJRDRnTFRFcElHSjVkR1Z6TG5CMWMyZ29NSGhGUml3Z01IaENSaXdnTUhoQ1JDbGNiaUFnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdkbUZzYVdRZ2JHVmhaRnh1SUNBZ0lDQWdJQ0JzWldGa1UzVnljbTluWVhSbElEMGdZMjlrWlZCdmFXNTBYRzVjYmlBZ0lDQWdJQ0FnWTI5dWRHbHVkV1ZjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk4Z01pQnNaV0ZrY3lCcGJpQmhJSEp2ZDF4dUlDQWdJQ0FnYVdZZ0tHTnZaR1ZRYjJsdWRDQThJREI0UkVNd01Da2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlETXBJRDRnTFRFcElHSjVkR1Z6TG5CMWMyZ29NSGhGUml3Z01IaENSaXdnTUhoQ1JDbGNiaUFnSUNBZ0lDQWdiR1ZoWkZOMWNuSnZaMkYwWlNBOUlHTnZaR1ZRYjJsdWRGeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUIyWVd4cFpDQnpkWEp5YjJkaGRHVWdjR0ZwY2x4dUlDQWdJQ0FnWTI5a1pWQnZhVzUwSUQwZ0tHeGxZV1JUZFhKeWIyZGhkR1VnTFNBd2VFUTRNREFnUER3Z01UQWdmQ0JqYjJSbFVHOXBiblFnTFNBd2VFUkRNREFwSUNzZ01IZ3hNREF3TUZ4dUlDQWdJSDBnWld4elpTQnBaaUFvYkdWaFpGTjFjbkp2WjJGMFpTa2dlMXh1SUNBZ0lDQWdMeThnZG1Gc2FXUWdZbTF3SUdOb1lYSXNJR0oxZENCc1lYTjBJR05vWVhJZ2QyRnpJR0VnYkdWaFpGeHVJQ0FnSUNBZ2FXWWdLQ2gxYm1sMGN5QXRQU0F6S1NBK0lDMHhLU0JpZVhSbGN5NXdkWE5vS0RCNFJVWXNJREI0UWtZc0lEQjRRa1FwWEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1ZoWkZOMWNuSnZaMkYwWlNBOUlHNTFiR3hjYmx4dUlDQWdJQzh2SUdWdVkyOWtaU0IxZEdZNFhHNGdJQ0FnYVdZZ0tHTnZaR1ZRYjJsdWRDQThJREI0T0RBcElIdGNiaUFnSUNBZ0lHbG1JQ2dvZFc1cGRITWdMVDBnTVNrZ1BDQXdLU0JpY21WaGExeHVJQ0FnSUNBZ1lubDBaWE11Y0hWemFDaGpiMlJsVUc5cGJuUXBYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpiMlJsVUc5cGJuUWdQQ0F3ZURnd01Da2dlMXh1SUNBZ0lDQWdhV1lnS0NoMWJtbDBjeUF0UFNBeUtTQThJREFwSUdKeVpXRnJYRzRnSUNBZ0lDQmllWFJsY3k1d2RYTm9LRnh1SUNBZ0lDQWdJQ0JqYjJSbFVHOXBiblFnUGo0Z01IZzJJSHdnTUhoRE1DeGNiaUFnSUNBZ0lDQWdZMjlrWlZCdmFXNTBJQ1lnTUhnelJpQjhJREI0T0RCY2JpQWdJQ0FnSUNsY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dOdlpHVlFiMmx1ZENBOElEQjRNVEF3TURBcElIdGNiaUFnSUNBZ0lHbG1JQ2dvZFc1cGRITWdMVDBnTXlrZ1BDQXdLU0JpY21WaGExeHVJQ0FnSUNBZ1lubDBaWE11Y0hWemFDaGNiaUFnSUNBZ0lDQWdZMjlrWlZCdmFXNTBJRDQrSURCNFF5QjhJREI0UlRBc1hHNGdJQ0FnSUNBZ0lHTnZaR1ZRYjJsdWRDQStQaUF3ZURZZ0ppQXdlRE5HSUh3Z01IZzRNQ3hjYmlBZ0lDQWdJQ0FnWTI5a1pWQnZhVzUwSUNZZ01IZ3pSaUI4SURCNE9EQmNiaUFnSUNBZ0lDbGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnZaR1ZRYjJsdWRDQThJREI0TVRFd01EQXdLU0I3WEc0Z0lDQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlEUXBJRHdnTUNrZ1luSmxZV3RjYmlBZ0lDQWdJR0o1ZEdWekxuQjFjMmdvWEc0Z0lDQWdJQ0FnSUdOdlpHVlFiMmx1ZENBK1BpQXdlREV5SUh3Z01IaEdNQ3hjYmlBZ0lDQWdJQ0FnWTI5a1pWQnZhVzUwSUQ0K0lEQjRReUFtSURCNE0wWWdmQ0F3ZURnd0xGeHVJQ0FnSUNBZ0lDQmpiMlJsVUc5cGJuUWdQajRnTUhnMklDWWdNSGd6UmlCOElEQjRPREFzWEc0Z0lDQWdJQ0FnSUdOdlpHVlFiMmx1ZENBbUlEQjRNMFlnZkNBd2VEZ3dYRzRnSUNBZ0lDQXBYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduU1c1MllXeHBaQ0JqYjJSbElIQnZhVzUwSnlsY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWW5sMFpYTmNibjFjYmx4dVpuVnVZM1JwYjI0Z1lYTmphV2xVYjBKNWRHVnpJQ2h6ZEhJcElIdGNiaUFnZG1GeUlHSjVkR1ZCY25KaGVTQTlJRnRkWEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djM1J5TG14bGJtZDBhRHNnS3l0cEtTQjdYRzRnSUNBZ0x5OGdUbTlrWlNkeklHTnZaR1VnYzJWbGJYTWdkRzhnWW1VZ1pHOXBibWNnZEdocGN5QmhibVFnYm05MElDWWdNSGczUmk0dVhHNGdJQ0FnWW5sMFpVRnljbUY1TG5CMWMyZ29jM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dKaUF3ZUVaR0tWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCaWVYUmxRWEp5WVhsY2JuMWNibHh1Wm5WdVkzUnBiMjRnZFhSbU1UWnNaVlJ2UW5sMFpYTWdLSE4wY2l3Z2RXNXBkSE1wSUh0Y2JpQWdkbUZ5SUdNc0lHaHBMQ0JzYjF4dUlDQjJZWElnWW5sMFpVRnljbUY1SUQwZ1cxMWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemRISXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0JwWmlBb0tIVnVhWFJ6SUMwOUlESXBJRHdnTUNrZ1luSmxZV3RjYmx4dUlDQWdJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1Z4dUlDQWdJR2hwSUQwZ1l5QStQaUE0WEc0Z0lDQWdiRzhnUFNCaklDVWdNalUyWEc0Z0lDQWdZbmwwWlVGeWNtRjVMbkIxYzJnb2JHOHBYRzRnSUNBZ1lubDBaVUZ5Y21GNUxuQjFjMmdvYUdrcFhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1lubDBaVUZ5Y21GNVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdKaGMyVTJORlJ2UW5sMFpYTWdLSE4wY2lrZ2UxeHVJQ0J5WlhSMWNtNGdZbUZ6WlRZMExuUnZRbmwwWlVGeWNtRjVLR0poYzJVMk5HTnNaV0Z1S0hOMGNpa3BYRzU5WEc1Y2JtWjFibU4wYVc5dUlHSnNhWFJDZFdabVpYSWdLSE55WXl3Z1pITjBMQ0J2Wm1aelpYUXNJR3hsYm1kMGFDa2dlMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxibWQwYURzZ0t5dHBLU0I3WEc0Z0lDQWdhV1lnS0NocElDc2diMlptYzJWMElENDlJR1J6ZEM1c1pXNW5kR2dwSUh4OElDaHBJRDQ5SUhOeVl5NXNaVzVuZEdncEtTQmljbVZoYTF4dUlDQWdJR1J6ZEZ0cElDc2diMlptYzJWMFhTQTlJSE55WTF0cFhWeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdsemJtRnVJQ2gyWVd3cElIdGNiaUFnY21WMGRYSnVJSFpoYkNBaFBUMGdkbUZzSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFd4cGJtVWdibTh0YzJWc1ppMWpiMjF3WVhKbFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9pbmRleC5qc1xcXCIpLlRyYW5zZm9ybVxcbnZhciBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1xcXCIpLlN0cmluZ0RlY29kZXJcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gQ2lwaGVyQmFzZSAoaGFzaE1vZGUpIHtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXFxuICB0aGlzLmhhc2hNb2RlID0gdHlwZW9mIGhhc2hNb2RlID09PSAnc3RyaW5nJ1xcbiAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcXG4gICAgdGhpc1toYXNoTW9kZV0gPSB0aGlzLl9maW5hbE9yRGlnZXN0XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLmZpbmFsID0gdGhpcy5fZmluYWxPckRpZ2VzdFxcbiAgfVxcbiAgaWYgKHRoaXMuX2ZpbmFsKSB7XFxuICAgIHRoaXMuX19maW5hbCA9IHRoaXMuX2ZpbmFsXFxuICAgIHRoaXMuX2ZpbmFsID0gbnVsbFxcbiAgfVxcbiAgdGhpcy5fZGVjb2RlciA9IG51bGxcXG4gIHRoaXMuX2VuY29kaW5nID0gbnVsbFxcbn1cXG5pbmhlcml0cyhDaXBoZXJCYXNlLCBUcmFuc2Zvcm0pXFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEsIGlucHV0RW5jLCBvdXRwdXRFbmMpIHtcXG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcXG4gICAgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGlucHV0RW5jKVxcbiAgfVxcblxcbiAgdmFyIG91dERhdGEgPSB0aGlzLl91cGRhdGUoZGF0YSlcXG4gIGlmICh0aGlzLmhhc2hNb2RlKSByZXR1cm4gdGhpc1xcblxcbiAgaWYgKG91dHB1dEVuYykge1xcbiAgICBvdXREYXRhID0gdGhpcy5fdG9TdHJpbmcob3V0RGF0YSwgb3V0cHV0RW5jKVxcbiAgfVxcblxcbiAgcmV0dXJuIG91dERhdGFcXG59XFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmcgPSBmdW5jdGlvbiAoKSB7fVxcbkNpcGhlckJhc2UucHJvdG90eXBlLmdldEF1dGhUYWcgPSBmdW5jdGlvbiAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ3RyeWluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxcbn1cXG5cXG5DaXBoZXJCYXNlLnByb3RvdHlwZS5zZXRBdXRoVGFnID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCd0cnlpbmcgdG8gc2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlJylcXG59XFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuc2V0QUFEID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCd0cnlpbmcgdG8gc2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXFxufVxcblxcbkNpcGhlckJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZGF0YSwgXywgbmV4dCkge1xcbiAgdmFyIGVyclxcbiAgdHJ5IHtcXG4gICAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcXG4gICAgICB0aGlzLl91cGRhdGUoZGF0YSlcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLnB1c2godGhpcy5fdXBkYXRlKGRhdGEpKVxcbiAgICB9XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIGVyciA9IGVcXG4gIH0gZmluYWxseSB7XFxuICAgIG5leHQoZXJyKVxcbiAgfVxcbn1cXG5DaXBoZXJCYXNlLnByb3RvdHlwZS5fZmx1c2ggPSBmdW5jdGlvbiAoZG9uZSkge1xcbiAgdmFyIGVyclxcbiAgdHJ5IHtcXG4gICAgdGhpcy5wdXNoKHRoaXMuX19maW5hbCgpKVxcbiAgfSBjYXRjaCAoZSkge1xcbiAgICBlcnIgPSBlXFxuICB9XFxuXFxuICBkb25lKGVycilcXG59XFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZpbmFsT3JEaWdlc3QgPSBmdW5jdGlvbiAob3V0cHV0RW5jKSB7XFxuICB2YXIgb3V0RGF0YSA9IHRoaXMuX19maW5hbCgpIHx8IEJ1ZmZlci5hbGxvYygwKVxcbiAgaWYgKG91dHB1dEVuYykge1xcbiAgICBvdXREYXRhID0gdGhpcy5fdG9TdHJpbmcob3V0RGF0YSwgb3V0cHV0RW5jLCB0cnVlKVxcbiAgfVxcbiAgcmV0dXJuIG91dERhdGFcXG59XFxuXFxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX3RvU3RyaW5nID0gZnVuY3Rpb24gKHZhbHVlLCBlbmMsIGZpbikge1xcbiAgaWYgKCF0aGlzLl9kZWNvZGVyKSB7XFxuICAgIHRoaXMuX2RlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihlbmMpXFxuICAgIHRoaXMuX2VuY29kaW5nID0gZW5jXFxuICB9XFxuXFxuICBpZiAodGhpcy5fZW5jb2RpbmcgIT09IGVuYykgdGhyb3cgbmV3IEVycm9yKCdjYW5cXFxcJ3Qgc3dpdGNoIGVuY29kaW5ncycpXFxuXFxuICB2YXIgb3V0ID0gdGhpcy5fZGVjb2Rlci53cml0ZSh2YWx1ZSlcXG4gIGlmIChmaW4pIHtcXG4gICAgb3V0ICs9IHRoaXMuX2RlY29kZXIuZW5kKClcXG4gIH1cXG5cXG4gIHJldHVybiBvdXRcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBDaXBoZXJCYXNlXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYVhCb1pYSXRZbUZ6WlM5cGJtUmxlQzVxY3o5a09XTXhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4NVJFRkJVVHRCUVVOb1F5eHZRa0ZCYjBJc2JVSkJRVThzUTBGQlF5d3lSVUZCWjBJN1FVRkROVU1zWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZxUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJOcGNHaGxjaTFpWVhObEwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzUyWVhJZ1ZISmhibk5tYjNKdElEMGdjbVZ4ZFdseVpTZ25jM1J5WldGdEp5a3VWSEpoYm5ObWIzSnRYRzUyWVhJZ1UzUnlhVzVuUkdWamIyUmxjaUE5SUhKbGNYVnBjbVVvSjNOMGNtbHVaMTlrWldOdlpHVnlKeWt1VTNSeWFXNW5SR1ZqYjJSbGNseHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVYRzVtZFc1amRHbHZiaUJEYVhCb1pYSkNZWE5sSUNob1lYTm9UVzlrWlNrZ2UxeHVJQ0JVY21GdWMyWnZjbTB1WTJGc2JDaDBhR2x6S1Z4dUlDQjBhR2x6TG1oaGMyaE5iMlJsSUQwZ2RIbHdaVzltSUdoaGMyaE5iMlJsSUQwOVBTQW5jM1J5YVc1bkoxeHVJQ0JwWmlBb2RHaHBjeTVvWVhOb1RXOWtaU2tnZTF4dUlDQWdJSFJvYVhOYmFHRnphRTF2WkdWZElEMGdkR2hwY3k1ZlptbHVZV3hQY2tScFoyVnpkRnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJvYVhNdVptbHVZV3dnUFNCMGFHbHpMbDltYVc1aGJFOXlSR2xuWlhOMFhHNGdJSDFjYmlBZ2FXWWdLSFJvYVhNdVgyWnBibUZzS1NCN1hHNGdJQ0FnZEdocGN5NWZYMlpwYm1Gc0lEMGdkR2hwY3k1ZlptbHVZV3hjYmlBZ0lDQjBhR2x6TGw5bWFXNWhiQ0E5SUc1MWJHeGNiaUFnZlZ4dUlDQjBhR2x6TGw5a1pXTnZaR1Z5SUQwZ2JuVnNiRnh1SUNCMGFHbHpMbDlsYm1OdlpHbHVaeUE5SUc1MWJHeGNibjFjYm1sdWFHVnlhWFJ6S0VOcGNHaGxja0poYzJVc0lGUnlZVzV6Wm05eWJTbGNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdWRYQmtZWFJsSUQwZ1puVnVZM1JwYjI0Z0tHUmhkR0VzSUdsdWNIVjBSVzVqTENCdmRYUndkWFJGYm1NcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCa1lYUmhJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUdSaGRHRWdQU0JDZFdabVpYSXVabkp2YlNoa1lYUmhMQ0JwYm5CMWRFVnVZeWxjYmlBZ2ZWeHVYRzRnSUhaaGNpQnZkWFJFWVhSaElEMGdkR2hwY3k1ZmRYQmtZWFJsS0dSaGRHRXBYRzRnSUdsbUlDaDBhR2x6TG1oaGMyaE5iMlJsS1NCeVpYUjFjbTRnZEdocGMxeHVYRzRnSUdsbUlDaHZkWFJ3ZFhSRmJtTXBJSHRjYmlBZ0lDQnZkWFJFWVhSaElEMGdkR2hwY3k1ZmRHOVRkSEpwYm1jb2IzVjBSR0YwWVN3Z2IzVjBjSFYwUlc1aktWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHOTFkRVJoZEdGY2JuMWNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdWMyVjBRWFYwYjFCaFpHUnBibWNnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVnh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdVoyVjBRWFYwYUZSaFp5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZDBjbmxwYm1jZ2RHOGdaMlYwSUdGMWRHZ2dkR0ZuSUdsdUlIVnVjM1Z3Y0c5eWRHVmtJSE4wWVhSbEp5bGNibjFjYmx4dVEybHdhR1Z5UW1GelpTNXdjbTkwYjNSNWNHVXVjMlYwUVhWMGFGUmhaeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QwY25scGJtY2dkRzhnYzJWMElHRjFkR2dnZEdGbklHbHVJSFZ1YzNWd2NHOXlkR1ZrSUhOMFlYUmxKeWxjYm4xY2JseHVRMmx3YUdWeVFtRnpaUzV3Y205MGIzUjVjR1V1YzJWMFFVRkVJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1J5ZVdsdVp5QjBieUJ6WlhRZ1lXRmtJR2x1SUhWdWMzVndjRzl5ZEdWa0lITjBZWFJsSnlsY2JuMWNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdVgzUnlZVzV6Wm05eWJTQTlJR1oxYm1OMGFXOXVJQ2hrWVhSaExDQmZMQ0J1WlhoMEtTQjdYRzRnSUhaaGNpQmxjbkpjYmlBZ2RISjVJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NW9ZWE5vVFc5a1pTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmRYQmtZWFJsS0dSaGRHRXBYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVjSFZ6YUNoMGFHbHpMbDkxY0dSaGRHVW9aR0YwWVNrcFhHNGdJQ0FnZlZ4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdaWEp5SUQwZ1pWeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJRzVsZUhRb1pYSnlLVnh1SUNCOVhHNTlYRzVEYVhCb1pYSkNZWE5sTG5CeWIzUnZkSGx3WlM1ZlpteDFjMmdnUFNCbWRXNWpkR2x2YmlBb1pHOXVaU2tnZTF4dUlDQjJZWElnWlhKeVhHNGdJSFJ5ZVNCN1hHNGdJQ0FnZEdocGN5NXdkWE5vS0hSb2FYTXVYMTltYVc1aGJDZ3BLVnh1SUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ1pYSnlJRDBnWlZ4dUlDQjlYRzVjYmlBZ1pHOXVaU2hsY25JcFhHNTlYRzVEYVhCb1pYSkNZWE5sTG5CeWIzUnZkSGx3WlM1ZlptbHVZV3hQY2tScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUNodmRYUndkWFJGYm1NcElIdGNiaUFnZG1GeUlHOTFkRVJoZEdFZ1BTQjBhR2x6TGw5ZlptbHVZV3dvS1NCOGZDQkNkV1ptWlhJdVlXeHNiMk1vTUNsY2JpQWdhV1lnS0c5MWRIQjFkRVZ1WXlrZ2UxeHVJQ0FnSUc5MWRFUmhkR0VnUFNCMGFHbHpMbDkwYjFOMGNtbHVaeWh2ZFhSRVlYUmhMQ0J2ZFhSd2RYUkZibU1zSUhSeWRXVXBYRzRnSUgxY2JpQWdjbVYwZFhKdUlHOTFkRVJoZEdGY2JuMWNibHh1UTJsd2FHVnlRbUZ6WlM1d2NtOTBiM1I1Y0dVdVgzUnZVM1J5YVc1bklEMGdablZ1WTNScGIyNGdLSFpoYkhWbExDQmxibU1zSUdacGJpa2dlMXh1SUNCcFppQW9JWFJvYVhNdVgyUmxZMjlrWlhJcElIdGNiaUFnSUNCMGFHbHpMbDlrWldOdlpHVnlJRDBnYm1WM0lGTjBjbWx1WjBSbFkyOWtaWElvWlc1aktWeHVJQ0FnSUhSb2FYTXVYMlZ1WTI5a2FXNW5JRDBnWlc1alhHNGdJSDFjYmx4dUlDQnBaaUFvZEdocGN5NWZaVzVqYjJScGJtY2dJVDA5SUdWdVl5a2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGpZVzVjWENkMElITjNhWFJqYUNCbGJtTnZaR2x1WjNNbktWeHVYRzRnSUhaaGNpQnZkWFFnUFNCMGFHbHpMbDlrWldOdlpHVnlMbmR5YVhSbEtIWmhiSFZsS1Z4dUlDQnBaaUFvWm1sdUtTQjdYRzRnSUNBZ2IzVjBJQ3M5SUhSb2FYTXVYMlJsWTI5a1pYSXVaVzVrS0NsY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdmRYUmNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCRGFYQm9aWEpDWVhObFhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvY29udmVyc2lvbnMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2NvbnZlcnNpb25zLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIE1JVCBsaWNlbnNlICovXFxudmFyIGNzc0tleXdvcmRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29sb3ItbmFtZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3ItbmFtZS9pbmRleC5qc1xcXCIpO1xcblxcbi8vIE5PVEU6IGNvbnZlcnNpb25zIHNob3VsZCBvbmx5IHJldHVybiBwcmltaXRpdmUgdmFsdWVzIChpLmUuIGFycmF5cywgb3JcXG4vLyAgICAgICB2YWx1ZXMgdGhhdCBnaXZlIGNvcnJlY3QgYHR5cGVvZmAgcmVzdWx0cykuXFxuLy8gICAgICAgZG8gbm90IHVzZSBib3ggdmFsdWVzIHR5cGVzIChpLmUuIE51bWJlcigpLCBTdHJpbmcoKSwgZXRjLilcXG5cXG52YXIgcmV2ZXJzZUtleXdvcmRzID0ge307XFxuZm9yICh2YXIga2V5IGluIGNzc0tleXdvcmRzKSB7XFxuXFx0aWYgKGNzc0tleXdvcmRzLmhhc093blByb3BlcnR5KGtleSkpIHtcXG5cXHRcXHRyZXZlcnNlS2V5d29yZHNbY3NzS2V5d29yZHNba2V5XV0gPSBrZXk7XFxuXFx0fVxcbn1cXG5cXG52YXIgY29udmVydCA9IG1vZHVsZS5leHBvcnRzID0ge1xcblxcdHJnYjoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdyZ2InfSxcXG5cXHRoc2w6IHtjaGFubmVsczogMywgbGFiZWxzOiAnaHNsJ30sXFxuXFx0aHN2OiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ2hzdid9LFxcblxcdGh3Yjoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdod2InfSxcXG5cXHRjbXlrOiB7Y2hhbm5lbHM6IDQsIGxhYmVsczogJ2NteWsnfSxcXG5cXHR4eXo6IHtjaGFubmVsczogMywgbGFiZWxzOiAneHl6J30sXFxuXFx0bGFiOiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ2xhYid9LFxcblxcdGxjaDoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdsY2gnfSxcXG5cXHRoZXg6IHtjaGFubmVsczogMSwgbGFiZWxzOiBbJ2hleCddfSxcXG5cXHRrZXl3b3JkOiB7Y2hhbm5lbHM6IDEsIGxhYmVsczogWydrZXl3b3JkJ119LFxcblxcdGFuc2kxNjoge2NoYW5uZWxzOiAxLCBsYWJlbHM6IFsnYW5zaTE2J119LFxcblxcdGFuc2kyNTY6IHtjaGFubmVsczogMSwgbGFiZWxzOiBbJ2Fuc2kyNTYnXX0sXFxuXFx0aGNnOiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogWydoJywgJ2MnLCAnZyddfSxcXG5cXHRhcHBsZToge2NoYW5uZWxzOiAzLCBsYWJlbHM6IFsncjE2JywgJ2cxNicsICdiMTYnXX0sXFxuXFx0Z3JheToge2NoYW5uZWxzOiAxLCBsYWJlbHM6IFsnZ3JheSddfVxcbn07XFxuXFxuLy8gaGlkZSAuY2hhbm5lbHMgYW5kIC5sYWJlbHMgcHJvcGVydGllc1xcbmZvciAodmFyIG1vZGVsIGluIGNvbnZlcnQpIHtcXG5cXHRpZiAoY29udmVydC5oYXNPd25Qcm9wZXJ0eShtb2RlbCkpIHtcXG5cXHRcXHRpZiAoISgnY2hhbm5lbHMnIGluIGNvbnZlcnRbbW9kZWxdKSkge1xcblxcdFxcdFxcdHRocm93IG5ldyBFcnJvcignbWlzc2luZyBjaGFubmVscyBwcm9wZXJ0eTogJyArIG1vZGVsKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKCEoJ2xhYmVscycgaW4gY29udmVydFttb2RlbF0pKSB7XFxuXFx0XFx0XFx0dGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIGNoYW5uZWwgbGFiZWxzIHByb3BlcnR5OiAnICsgbW9kZWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoY29udmVydFttb2RlbF0ubGFiZWxzLmxlbmd0aCAhPT0gY29udmVydFttb2RlbF0uY2hhbm5lbHMpIHtcXG5cXHRcXHRcXHR0aHJvdyBuZXcgRXJyb3IoJ2NoYW5uZWwgYW5kIGxhYmVsIGNvdW50cyBtaXNtYXRjaDogJyArIG1vZGVsKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0dmFyIGNoYW5uZWxzID0gY29udmVydFttb2RlbF0uY2hhbm5lbHM7XFxuXFx0XFx0dmFyIGxhYmVscyA9IGNvbnZlcnRbbW9kZWxdLmxhYmVscztcXG5cXHRcXHRkZWxldGUgY29udmVydFttb2RlbF0uY2hhbm5lbHM7XFxuXFx0XFx0ZGVsZXRlIGNvbnZlcnRbbW9kZWxdLmxhYmVscztcXG5cXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFttb2RlbF0sICdjaGFubmVscycsIHt2YWx1ZTogY2hhbm5lbHN9KTtcXG5cXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFttb2RlbF0sICdsYWJlbHMnLCB7dmFsdWU6IGxhYmVsc30pO1xcblxcdH1cXG59XFxuXFxuY29udmVydC5yZ2IuaHNsID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciBtaW4gPSBNYXRoLm1pbihyLCBnLCBiKTtcXG5cXHR2YXIgbWF4ID0gTWF0aC5tYXgociwgZywgYik7XFxuXFx0dmFyIGRlbHRhID0gbWF4IC0gbWluO1xcblxcdHZhciBoO1xcblxcdHZhciBzO1xcblxcdHZhciBsO1xcblxcblxcdGlmIChtYXggPT09IG1pbikge1xcblxcdFxcdGggPSAwO1xcblxcdH0gZWxzZSBpZiAociA9PT0gbWF4KSB7XFxuXFx0XFx0aCA9IChnIC0gYikgLyBkZWx0YTtcXG5cXHR9IGVsc2UgaWYgKGcgPT09IG1heCkge1xcblxcdFxcdGggPSAyICsgKGIgLSByKSAvIGRlbHRhO1xcblxcdH0gZWxzZSBpZiAoYiA9PT0gbWF4KSB7XFxuXFx0XFx0aCA9IDQgKyAociAtIGcpIC8gZGVsdGE7XFxuXFx0fVxcblxcblxcdGggPSBNYXRoLm1pbihoICogNjAsIDM2MCk7XFxuXFxuXFx0aWYgKGggPCAwKSB7XFxuXFx0XFx0aCArPSAzNjA7XFxuXFx0fVxcblxcblxcdGwgPSAobWluICsgbWF4KSAvIDI7XFxuXFxuXFx0aWYgKG1heCA9PT0gbWluKSB7XFxuXFx0XFx0cyA9IDA7XFxuXFx0fSBlbHNlIGlmIChsIDw9IDAuNSkge1xcblxcdFxcdHMgPSBkZWx0YSAvIChtYXggKyBtaW4pO1xcblxcdH0gZWxzZSB7XFxuXFx0XFx0cyA9IGRlbHRhIC8gKDIgLSBtYXggLSBtaW4pO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2gsIHMgKiAxMDAsIGwgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5yZ2IuaHN2ID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByZGlmO1xcblxcdHZhciBnZGlmO1xcblxcdHZhciBiZGlmO1xcblxcdHZhciBoO1xcblxcdHZhciBzO1xcblxcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciB2ID0gTWF0aC5tYXgociwgZywgYik7XFxuXFx0dmFyIGRpZmYgPSB2IC0gTWF0aC5taW4ociwgZywgYik7XFxuXFx0dmFyIGRpZmZjID0gZnVuY3Rpb24gKGMpIHtcXG5cXHRcXHRyZXR1cm4gKHYgLSBjKSAvIDYgLyBkaWZmICsgMSAvIDI7XFxuXFx0fTtcXG5cXG5cXHRpZiAoZGlmZiA9PT0gMCkge1xcblxcdFxcdGggPSBzID0gMDtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdHMgPSBkaWZmIC8gdjtcXG5cXHRcXHRyZGlmID0gZGlmZmMocik7XFxuXFx0XFx0Z2RpZiA9IGRpZmZjKGcpO1xcblxcdFxcdGJkaWYgPSBkaWZmYyhiKTtcXG5cXG5cXHRcXHRpZiAociA9PT0gdikge1xcblxcdFxcdFxcdGggPSBiZGlmIC0gZ2RpZjtcXG5cXHRcXHR9IGVsc2UgaWYgKGcgPT09IHYpIHtcXG5cXHRcXHRcXHRoID0gKDEgLyAzKSArIHJkaWYgLSBiZGlmO1xcblxcdFxcdH0gZWxzZSBpZiAoYiA9PT0gdikge1xcblxcdFxcdFxcdGggPSAoMiAvIDMpICsgZ2RpZiAtIHJkaWY7XFxuXFx0XFx0fVxcblxcdFxcdGlmIChoIDwgMCkge1xcblxcdFxcdFxcdGggKz0gMTtcXG5cXHRcXHR9IGVsc2UgaWYgKGggPiAxKSB7XFxuXFx0XFx0XFx0aCAtPSAxO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0cmV0dXJuIFtcXG5cXHRcXHRoICogMzYwLFxcblxcdFxcdHMgKiAxMDAsXFxuXFx0XFx0diAqIDEwMFxcblxcdF07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5od2IgPSBmdW5jdGlvbiAocmdiKSB7XFxuXFx0dmFyIHIgPSByZ2JbMF07XFxuXFx0dmFyIGcgPSByZ2JbMV07XFxuXFx0dmFyIGIgPSByZ2JbMl07XFxuXFx0dmFyIGggPSBjb252ZXJ0LnJnYi5oc2wocmdiKVswXTtcXG5cXHR2YXIgdyA9IDEgLyAyNTUgKiBNYXRoLm1pbihyLCBNYXRoLm1pbihnLCBiKSk7XFxuXFxuXFx0YiA9IDEgLSAxIC8gMjU1ICogTWF0aC5tYXgociwgTWF0aC5tYXgoZywgYikpO1xcblxcblxcdHJldHVybiBbaCwgdyAqIDEwMCwgYiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5jbXlrID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciBjO1xcblxcdHZhciBtO1xcblxcdHZhciB5O1xcblxcdHZhciBrO1xcblxcblxcdGsgPSBNYXRoLm1pbigxIC0gciwgMSAtIGcsIDEgLSBiKTtcXG5cXHRjID0gKDEgLSByIC0gaykgLyAoMSAtIGspIHx8IDA7XFxuXFx0bSA9ICgxIC0gZyAtIGspIC8gKDEgLSBrKSB8fCAwO1xcblxcdHkgPSAoMSAtIGIgLSBrKSAvICgxIC0gaykgfHwgMDtcXG5cXG5cXHRyZXR1cm4gW2MgKiAxMDAsIG0gKiAxMDAsIHkgKiAxMDAsIGsgKiAxMDBdO1xcbn07XFxuXFxuLyoqXFxuICogU2VlIGh0dHBzOi8vZW4ubS53aWtpcGVkaWEub3JnL3dpa2kvRXVjbGlkZWFuX2Rpc3RhbmNlI1NxdWFyZWRfRXVjbGlkZWFuX2Rpc3RhbmNlXFxuICogKi9cXG5mdW5jdGlvbiBjb21wYXJhdGl2ZURpc3RhbmNlKHgsIHkpIHtcXG5cXHRyZXR1cm4gKFxcblxcdFxcdE1hdGgucG93KHhbMF0gLSB5WzBdLCAyKSArXFxuXFx0XFx0TWF0aC5wb3coeFsxXSAtIHlbMV0sIDIpICtcXG5cXHRcXHRNYXRoLnBvdyh4WzJdIC0geVsyXSwgMilcXG5cXHQpO1xcbn1cXG5cXG5jb252ZXJ0LnJnYi5rZXl3b3JkID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByZXZlcnNlZCA9IHJldmVyc2VLZXl3b3Jkc1tyZ2JdO1xcblxcdGlmIChyZXZlcnNlZCkge1xcblxcdFxcdHJldHVybiByZXZlcnNlZDtcXG5cXHR9XFxuXFxuXFx0dmFyIGN1cnJlbnRDbG9zZXN0RGlzdGFuY2UgPSBJbmZpbml0eTtcXG5cXHR2YXIgY3VycmVudENsb3Nlc3RLZXl3b3JkO1xcblxcblxcdGZvciAodmFyIGtleXdvcmQgaW4gY3NzS2V5d29yZHMpIHtcXG5cXHRcXHRpZiAoY3NzS2V5d29yZHMuaGFzT3duUHJvcGVydHkoa2V5d29yZCkpIHtcXG5cXHRcXHRcXHR2YXIgdmFsdWUgPSBjc3NLZXl3b3Jkc1trZXl3b3JkXTtcXG5cXG5cXHRcXHRcXHQvLyBDb21wdXRlIGNvbXBhcmF0aXZlIGRpc3RhbmNlXFxuXFx0XFx0XFx0dmFyIGRpc3RhbmNlID0gY29tcGFyYXRpdmVEaXN0YW5jZShyZ2IsIHZhbHVlKTtcXG5cXG5cXHRcXHRcXHQvLyBDaGVjayBpZiBpdHMgbGVzcywgaWYgc28gc2V0IGFzIGNsb3Nlc3RcXG5cXHRcXHRcXHRpZiAoZGlzdGFuY2UgPCBjdXJyZW50Q2xvc2VzdERpc3RhbmNlKSB7XFxuXFx0XFx0XFx0XFx0Y3VycmVudENsb3Nlc3REaXN0YW5jZSA9IGRpc3RhbmNlO1xcblxcdFxcdFxcdFxcdGN1cnJlbnRDbG9zZXN0S2V5d29yZCA9IGtleXdvcmQ7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0cmV0dXJuIGN1cnJlbnRDbG9zZXN0S2V5d29yZDtcXG59O1xcblxcbmNvbnZlcnQua2V5d29yZC5yZ2IgPSBmdW5jdGlvbiAoa2V5d29yZCkge1xcblxcdHJldHVybiBjc3NLZXl3b3Jkc1trZXl3b3JkXTtcXG59O1xcblxcbmNvbnZlcnQucmdiLnh5eiA9IGZ1bmN0aW9uIChyZ2IpIHtcXG5cXHR2YXIgciA9IHJnYlswXSAvIDI1NTtcXG5cXHR2YXIgZyA9IHJnYlsxXSAvIDI1NTtcXG5cXHR2YXIgYiA9IHJnYlsyXSAvIDI1NTtcXG5cXG5cXHQvLyBhc3N1bWUgc1JHQlxcblxcdHIgPSByID4gMC4wNDA0NSA/IE1hdGgucG93KCgociArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChyIC8gMTIuOTIpO1xcblxcdGcgPSBnID4gMC4wNDA0NSA/IE1hdGgucG93KCgoZyArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChnIC8gMTIuOTIpO1xcblxcdGIgPSBiID4gMC4wNDA0NSA/IE1hdGgucG93KCgoYiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KSA6IChiIC8gMTIuOTIpO1xcblxcblxcdHZhciB4ID0gKHIgKiAwLjQxMjQpICsgKGcgKiAwLjM1NzYpICsgKGIgKiAwLjE4MDUpO1xcblxcdHZhciB5ID0gKHIgKiAwLjIxMjYpICsgKGcgKiAwLjcxNTIpICsgKGIgKiAwLjA3MjIpO1xcblxcdHZhciB6ID0gKHIgKiAwLjAxOTMpICsgKGcgKiAwLjExOTIpICsgKGIgKiAwLjk1MDUpO1xcblxcblxcdHJldHVybiBbeCAqIDEwMCwgeSAqIDEwMCwgeiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5sYWIgPSBmdW5jdGlvbiAocmdiKSB7XFxuXFx0dmFyIHh5eiA9IGNvbnZlcnQucmdiLnh5eihyZ2IpO1xcblxcdHZhciB4ID0geHl6WzBdO1xcblxcdHZhciB5ID0geHl6WzFdO1xcblxcdHZhciB6ID0geHl6WzJdO1xcblxcdHZhciBsO1xcblxcdHZhciBhO1xcblxcdHZhciBiO1xcblxcblxcdHggLz0gOTUuMDQ3O1xcblxcdHkgLz0gMTAwO1xcblxcdHogLz0gMTA4Ljg4MztcXG5cXG5cXHR4ID0geCA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeCwgMSAvIDMpIDogKDcuNzg3ICogeCkgKyAoMTYgLyAxMTYpO1xcblxcdHkgPSB5ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh5LCAxIC8gMykgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7XFxuXFx0eiA9IHogPiAwLjAwODg1NiA/IE1hdGgucG93KHosIDEgLyAzKSA6ICg3Ljc4NyAqIHopICsgKDE2IC8gMTE2KTtcXG5cXG5cXHRsID0gKDExNiAqIHkpIC0gMTY7XFxuXFx0YSA9IDUwMCAqICh4IC0geSk7XFxuXFx0YiA9IDIwMCAqICh5IC0geik7XFxuXFxuXFx0cmV0dXJuIFtsLCBhLCBiXTtcXG59O1xcblxcbmNvbnZlcnQuaHNsLnJnYiA9IGZ1bmN0aW9uIChoc2wpIHtcXG5cXHR2YXIgaCA9IGhzbFswXSAvIDM2MDtcXG5cXHR2YXIgcyA9IGhzbFsxXSAvIDEwMDtcXG5cXHR2YXIgbCA9IGhzbFsyXSAvIDEwMDtcXG5cXHR2YXIgdDE7XFxuXFx0dmFyIHQyO1xcblxcdHZhciB0MztcXG5cXHR2YXIgcmdiO1xcblxcdHZhciB2YWw7XFxuXFxuXFx0aWYgKHMgPT09IDApIHtcXG5cXHRcXHR2YWwgPSBsICogMjU1O1xcblxcdFxcdHJldHVybiBbdmFsLCB2YWwsIHZhbF07XFxuXFx0fVxcblxcblxcdGlmIChsIDwgMC41KSB7XFxuXFx0XFx0dDIgPSBsICogKDEgKyBzKTtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdHQyID0gbCArIHMgLSBsICogcztcXG5cXHR9XFxuXFxuXFx0dDEgPSAyICogbCAtIHQyO1xcblxcblxcdHJnYiA9IFswLCAwLCAwXTtcXG5cXHRmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdHQzID0gaCArIDEgLyAzICogLShpIC0gMSk7XFxuXFx0XFx0aWYgKHQzIDwgMCkge1xcblxcdFxcdFxcdHQzKys7XFxuXFx0XFx0fVxcblxcdFxcdGlmICh0MyA+IDEpIHtcXG5cXHRcXHRcXHR0My0tO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoNiAqIHQzIDwgMSkge1xcblxcdFxcdFxcdHZhbCA9IHQxICsgKHQyIC0gdDEpICogNiAqIHQzO1xcblxcdFxcdH0gZWxzZSBpZiAoMiAqIHQzIDwgMSkge1xcblxcdFxcdFxcdHZhbCA9IHQyO1xcblxcdFxcdH0gZWxzZSBpZiAoMyAqIHQzIDwgMikge1xcblxcdFxcdFxcdHZhbCA9IHQxICsgKHQyIC0gdDEpICogKDIgLyAzIC0gdDMpICogNjtcXG5cXHRcXHR9IGVsc2Uge1xcblxcdFxcdFxcdHZhbCA9IHQxO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZ2JbaV0gPSB2YWwgKiAyNTU7XFxuXFx0fVxcblxcblxcdHJldHVybiByZ2I7XFxufTtcXG5cXG5jb252ZXJ0LmhzbC5oc3YgPSBmdW5jdGlvbiAoaHNsKSB7XFxuXFx0dmFyIGggPSBoc2xbMF07XFxuXFx0dmFyIHMgPSBoc2xbMV0gLyAxMDA7XFxuXFx0dmFyIGwgPSBoc2xbMl0gLyAxMDA7XFxuXFx0dmFyIHNtaW4gPSBzO1xcblxcdHZhciBsbWluID0gTWF0aC5tYXgobCwgMC4wMSk7XFxuXFx0dmFyIHN2O1xcblxcdHZhciB2O1xcblxcblxcdGwgKj0gMjtcXG5cXHRzICo9IChsIDw9IDEpID8gbCA6IDIgLSBsO1xcblxcdHNtaW4gKj0gbG1pbiA8PSAxID8gbG1pbiA6IDIgLSBsbWluO1xcblxcdHYgPSAobCArIHMpIC8gMjtcXG5cXHRzdiA9IGwgPT09IDAgPyAoMiAqIHNtaW4pIC8gKGxtaW4gKyBzbWluKSA6ICgyICogcykgLyAobCArIHMpO1xcblxcblxcdHJldHVybiBbaCwgc3YgKiAxMDAsIHYgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5oc3YucmdiID0gZnVuY3Rpb24gKGhzdikge1xcblxcdHZhciBoID0gaHN2WzBdIC8gNjA7XFxuXFx0dmFyIHMgPSBoc3ZbMV0gLyAxMDA7XFxuXFx0dmFyIHYgPSBoc3ZbMl0gLyAxMDA7XFxuXFx0dmFyIGhpID0gTWF0aC5mbG9vcihoKSAlIDY7XFxuXFxuXFx0dmFyIGYgPSBoIC0gTWF0aC5mbG9vcihoKTtcXG5cXHR2YXIgcCA9IDI1NSAqIHYgKiAoMSAtIHMpO1xcblxcdHZhciBxID0gMjU1ICogdiAqICgxIC0gKHMgKiBmKSk7XFxuXFx0dmFyIHQgPSAyNTUgKiB2ICogKDEgLSAocyAqICgxIC0gZikpKTtcXG5cXHR2ICo9IDI1NTtcXG5cXG5cXHRzd2l0Y2ggKGhpKSB7XFxuXFx0XFx0Y2FzZSAwOlxcblxcdFxcdFxcdHJldHVybiBbdiwgdCwgcF07XFxuXFx0XFx0Y2FzZSAxOlxcblxcdFxcdFxcdHJldHVybiBbcSwgdiwgcF07XFxuXFx0XFx0Y2FzZSAyOlxcblxcdFxcdFxcdHJldHVybiBbcCwgdiwgdF07XFxuXFx0XFx0Y2FzZSAzOlxcblxcdFxcdFxcdHJldHVybiBbcCwgcSwgdl07XFxuXFx0XFx0Y2FzZSA0OlxcblxcdFxcdFxcdHJldHVybiBbdCwgcCwgdl07XFxuXFx0XFx0Y2FzZSA1OlxcblxcdFxcdFxcdHJldHVybiBbdiwgcCwgcV07XFxuXFx0fVxcbn07XFxuXFxuY29udmVydC5oc3YuaHNsID0gZnVuY3Rpb24gKGhzdikge1xcblxcdHZhciBoID0gaHN2WzBdO1xcblxcdHZhciBzID0gaHN2WzFdIC8gMTAwO1xcblxcdHZhciB2ID0gaHN2WzJdIC8gMTAwO1xcblxcdHZhciB2bWluID0gTWF0aC5tYXgodiwgMC4wMSk7XFxuXFx0dmFyIGxtaW47XFxuXFx0dmFyIHNsO1xcblxcdHZhciBsO1xcblxcblxcdGwgPSAoMiAtIHMpICogdjtcXG5cXHRsbWluID0gKDIgLSBzKSAqIHZtaW47XFxuXFx0c2wgPSBzICogdm1pbjtcXG5cXHRzbCAvPSAobG1pbiA8PSAxKSA/IGxtaW4gOiAyIC0gbG1pbjtcXG5cXHRzbCA9IHNsIHx8IDA7XFxuXFx0bCAvPSAyO1xcblxcblxcdHJldHVybiBbaCwgc2wgKiAxMDAsIGwgKiAxMDBdO1xcbn07XFxuXFxuLy8gaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWNvbG9yLyNod2ItdG8tcmdiXFxuY29udmVydC5od2IucmdiID0gZnVuY3Rpb24gKGh3Yikge1xcblxcdHZhciBoID0gaHdiWzBdIC8gMzYwO1xcblxcdHZhciB3aCA9IGh3YlsxXSAvIDEwMDtcXG5cXHR2YXIgYmwgPSBod2JbMl0gLyAxMDA7XFxuXFx0dmFyIHJhdGlvID0gd2ggKyBibDtcXG5cXHR2YXIgaTtcXG5cXHR2YXIgdjtcXG5cXHR2YXIgZjtcXG5cXHR2YXIgbjtcXG5cXG5cXHQvLyB3aCArIGJsIGNhbnQgYmUgPiAxXFxuXFx0aWYgKHJhdGlvID4gMSkge1xcblxcdFxcdHdoIC89IHJhdGlvO1xcblxcdFxcdGJsIC89IHJhdGlvO1xcblxcdH1cXG5cXG5cXHRpID0gTWF0aC5mbG9vcig2ICogaCk7XFxuXFx0diA9IDEgLSBibDtcXG5cXHRmID0gNiAqIGggLSBpO1xcblxcblxcdGlmICgoaSAmIDB4MDEpICE9PSAwKSB7XFxuXFx0XFx0ZiA9IDEgLSBmO1xcblxcdH1cXG5cXG5cXHRuID0gd2ggKyBmICogKHYgLSB3aCk7IC8vIGxpbmVhciBpbnRlcnBvbGF0aW9uXFxuXFxuXFx0dmFyIHI7XFxuXFx0dmFyIGc7XFxuXFx0dmFyIGI7XFxuXFx0c3dpdGNoIChpKSB7XFxuXFx0XFx0ZGVmYXVsdDpcXG5cXHRcXHRjYXNlIDY6XFxuXFx0XFx0Y2FzZSAwOiByID0gdjsgZyA9IG47IGIgPSB3aDsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAxOiByID0gbjsgZyA9IHY7IGIgPSB3aDsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAyOiByID0gd2g7IGcgPSB2OyBiID0gbjsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAzOiByID0gd2g7IGcgPSBuOyBiID0gdjsgYnJlYWs7XFxuXFx0XFx0Y2FzZSA0OiByID0gbjsgZyA9IHdoOyBiID0gdjsgYnJlYWs7XFxuXFx0XFx0Y2FzZSA1OiByID0gdjsgZyA9IHdoOyBiID0gbjsgYnJlYWs7XFxuXFx0fVxcblxcblxcdHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07XFxufTtcXG5cXG5jb252ZXJ0LmNteWsucmdiID0gZnVuY3Rpb24gKGNteWspIHtcXG5cXHR2YXIgYyA9IGNteWtbMF0gLyAxMDA7XFxuXFx0dmFyIG0gPSBjbXlrWzFdIC8gMTAwO1xcblxcdHZhciB5ID0gY215a1syXSAvIDEwMDtcXG5cXHR2YXIgayA9IGNteWtbM10gLyAxMDA7XFxuXFx0dmFyIHI7XFxuXFx0dmFyIGc7XFxuXFx0dmFyIGI7XFxuXFxuXFx0ciA9IDEgLSBNYXRoLm1pbigxLCBjICogKDEgLSBrKSArIGspO1xcblxcdGcgPSAxIC0gTWF0aC5taW4oMSwgbSAqICgxIC0gaykgKyBrKTtcXG5cXHRiID0gMSAtIE1hdGgubWluKDEsIHkgKiAoMSAtIGspICsgayk7XFxuXFxuXFx0cmV0dXJuIFtyICogMjU1LCBnICogMjU1LCBiICogMjU1XTtcXG59O1xcblxcbmNvbnZlcnQueHl6LnJnYiA9IGZ1bmN0aW9uICh4eXopIHtcXG5cXHR2YXIgeCA9IHh5elswXSAvIDEwMDtcXG5cXHR2YXIgeSA9IHh5elsxXSAvIDEwMDtcXG5cXHR2YXIgeiA9IHh5elsyXSAvIDEwMDtcXG5cXHR2YXIgcjtcXG5cXHR2YXIgZztcXG5cXHR2YXIgYjtcXG5cXG5cXHRyID0gKHggKiAzLjI0MDYpICsgKHkgKiAtMS41MzcyKSArICh6ICogLTAuNDk4Nik7XFxuXFx0ZyA9ICh4ICogLTAuOTY4OSkgKyAoeSAqIDEuODc1OCkgKyAoeiAqIDAuMDQxNSk7XFxuXFx0YiA9ICh4ICogMC4wNTU3KSArICh5ICogLTAuMjA0MCkgKyAoeiAqIDEuMDU3MCk7XFxuXFxuXFx0Ly8gYXNzdW1lIHNSR0JcXG5cXHRyID0gciA+IDAuMDAzMTMwOFxcblxcdFxcdD8gKCgxLjA1NSAqIE1hdGgucG93KHIsIDEuMCAvIDIuNCkpIC0gMC4wNTUpXFxuXFx0XFx0OiByICogMTIuOTI7XFxuXFxuXFx0ZyA9IGcgPiAwLjAwMzEzMDhcXG5cXHRcXHQ/ICgoMS4wNTUgKiBNYXRoLnBvdyhnLCAxLjAgLyAyLjQpKSAtIDAuMDU1KVxcblxcdFxcdDogZyAqIDEyLjkyO1xcblxcblxcdGIgPSBiID4gMC4wMDMxMzA4XFxuXFx0XFx0PyAoKDEuMDU1ICogTWF0aC5wb3coYiwgMS4wIC8gMi40KSkgLSAwLjA1NSlcXG5cXHRcXHQ6IGIgKiAxMi45MjtcXG5cXG5cXHRyID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgciksIDEpO1xcblxcdGcgPSBNYXRoLm1pbihNYXRoLm1heCgwLCBnKSwgMSk7XFxuXFx0YiA9IE1hdGgubWluKE1hdGgubWF4KDAsIGIpLCAxKTtcXG5cXG5cXHRyZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdO1xcbn07XFxuXFxuY29udmVydC54eXoubGFiID0gZnVuY3Rpb24gKHh5eikge1xcblxcdHZhciB4ID0geHl6WzBdO1xcblxcdHZhciB5ID0geHl6WzFdO1xcblxcdHZhciB6ID0geHl6WzJdO1xcblxcdHZhciBsO1xcblxcdHZhciBhO1xcblxcdHZhciBiO1xcblxcblxcdHggLz0gOTUuMDQ3O1xcblxcdHkgLz0gMTAwO1xcblxcdHogLz0gMTA4Ljg4MztcXG5cXG5cXHR4ID0geCA+IDAuMDA4ODU2ID8gTWF0aC5wb3coeCwgMSAvIDMpIDogKDcuNzg3ICogeCkgKyAoMTYgLyAxMTYpO1xcblxcdHkgPSB5ID4gMC4wMDg4NTYgPyBNYXRoLnBvdyh5LCAxIC8gMykgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7XFxuXFx0eiA9IHogPiAwLjAwODg1NiA/IE1hdGgucG93KHosIDEgLyAzKSA6ICg3Ljc4NyAqIHopICsgKDE2IC8gMTE2KTtcXG5cXG5cXHRsID0gKDExNiAqIHkpIC0gMTY7XFxuXFx0YSA9IDUwMCAqICh4IC0geSk7XFxuXFx0YiA9IDIwMCAqICh5IC0geik7XFxuXFxuXFx0cmV0dXJuIFtsLCBhLCBiXTtcXG59O1xcblxcbmNvbnZlcnQubGFiLnh5eiA9IGZ1bmN0aW9uIChsYWIpIHtcXG5cXHR2YXIgbCA9IGxhYlswXTtcXG5cXHR2YXIgYSA9IGxhYlsxXTtcXG5cXHR2YXIgYiA9IGxhYlsyXTtcXG5cXHR2YXIgeDtcXG5cXHR2YXIgeTtcXG5cXHR2YXIgejtcXG5cXG5cXHR5ID0gKGwgKyAxNikgLyAxMTY7XFxuXFx0eCA9IGEgLyA1MDAgKyB5O1xcblxcdHogPSB5IC0gYiAvIDIwMDtcXG5cXG5cXHR2YXIgeTIgPSBNYXRoLnBvdyh5LCAzKTtcXG5cXHR2YXIgeDIgPSBNYXRoLnBvdyh4LCAzKTtcXG5cXHR2YXIgejIgPSBNYXRoLnBvdyh6LCAzKTtcXG5cXHR5ID0geTIgPiAwLjAwODg1NiA/IHkyIDogKHkgLSAxNiAvIDExNikgLyA3Ljc4NztcXG5cXHR4ID0geDIgPiAwLjAwODg1NiA/IHgyIDogKHggLSAxNiAvIDExNikgLyA3Ljc4NztcXG5cXHR6ID0gejIgPiAwLjAwODg1NiA/IHoyIDogKHogLSAxNiAvIDExNikgLyA3Ljc4NztcXG5cXG5cXHR4ICo9IDk1LjA0NztcXG5cXHR5ICo9IDEwMDtcXG5cXHR6ICo9IDEwOC44ODM7XFxuXFxuXFx0cmV0dXJuIFt4LCB5LCB6XTtcXG59O1xcblxcbmNvbnZlcnQubGFiLmxjaCA9IGZ1bmN0aW9uIChsYWIpIHtcXG5cXHR2YXIgbCA9IGxhYlswXTtcXG5cXHR2YXIgYSA9IGxhYlsxXTtcXG5cXHR2YXIgYiA9IGxhYlsyXTtcXG5cXHR2YXIgaHI7XFxuXFx0dmFyIGg7XFxuXFx0dmFyIGM7XFxuXFxuXFx0aHIgPSBNYXRoLmF0YW4yKGIsIGEpO1xcblxcdGggPSBociAqIDM2MCAvIDIgLyBNYXRoLlBJO1xcblxcblxcdGlmIChoIDwgMCkge1xcblxcdFxcdGggKz0gMzYwO1xcblxcdH1cXG5cXG5cXHRjID0gTWF0aC5zcXJ0KGEgKiBhICsgYiAqIGIpO1xcblxcblxcdHJldHVybiBbbCwgYywgaF07XFxufTtcXG5cXG5jb252ZXJ0LmxjaC5sYWIgPSBmdW5jdGlvbiAobGNoKSB7XFxuXFx0dmFyIGwgPSBsY2hbMF07XFxuXFx0dmFyIGMgPSBsY2hbMV07XFxuXFx0dmFyIGggPSBsY2hbMl07XFxuXFx0dmFyIGE7XFxuXFx0dmFyIGI7XFxuXFx0dmFyIGhyO1xcblxcblxcdGhyID0gaCAvIDM2MCAqIDIgKiBNYXRoLlBJO1xcblxcdGEgPSBjICogTWF0aC5jb3MoaHIpO1xcblxcdGIgPSBjICogTWF0aC5zaW4oaHIpO1xcblxcblxcdHJldHVybiBbbCwgYSwgYl07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5hbnNpMTYgPSBmdW5jdGlvbiAoYXJncykge1xcblxcdHZhciByID0gYXJnc1swXTtcXG5cXHR2YXIgZyA9IGFyZ3NbMV07XFxuXFx0dmFyIGIgPSBhcmdzWzJdO1xcblxcdHZhciB2YWx1ZSA9IDEgaW4gYXJndW1lbnRzID8gYXJndW1lbnRzWzFdIDogY29udmVydC5yZ2IuaHN2KGFyZ3MpWzJdOyAvLyBoc3YgLT4gYW5zaTE2IG9wdGltaXphdGlvblxcblxcblxcdHZhbHVlID0gTWF0aC5yb3VuZCh2YWx1ZSAvIDUwKTtcXG5cXG5cXHRpZiAodmFsdWUgPT09IDApIHtcXG5cXHRcXHRyZXR1cm4gMzA7XFxuXFx0fVxcblxcblxcdHZhciBhbnNpID0gMzBcXG5cXHRcXHQrICgoTWF0aC5yb3VuZChiIC8gMjU1KSA8PCAyKVxcblxcdFxcdHwgKE1hdGgucm91bmQoZyAvIDI1NSkgPDwgMSlcXG5cXHRcXHR8IE1hdGgucm91bmQociAvIDI1NSkpO1xcblxcblxcdGlmICh2YWx1ZSA9PT0gMikge1xcblxcdFxcdGFuc2kgKz0gNjA7XFxuXFx0fVxcblxcblxcdHJldHVybiBhbnNpO1xcbn07XFxuXFxuY29udmVydC5oc3YuYW5zaTE2ID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHQvLyBvcHRpbWl6YXRpb24gaGVyZTsgd2UgYWxyZWFkeSBrbm93IHRoZSB2YWx1ZSBhbmQgZG9uJ3QgbmVlZCB0byBnZXRcXG5cXHQvLyBpdCBjb252ZXJ0ZWQgZm9yIHVzLlxcblxcdHJldHVybiBjb252ZXJ0LnJnYi5hbnNpMTYoY29udmVydC5oc3YucmdiKGFyZ3MpLCBhcmdzWzJdKTtcXG59O1xcblxcbmNvbnZlcnQucmdiLmFuc2kyNTYgPSBmdW5jdGlvbiAoYXJncykge1xcblxcdHZhciByID0gYXJnc1swXTtcXG5cXHR2YXIgZyA9IGFyZ3NbMV07XFxuXFx0dmFyIGIgPSBhcmdzWzJdO1xcblxcblxcdC8vIHdlIHVzZSB0aGUgZXh0ZW5kZWQgZ3JleXNjYWxlIHBhbGV0dGUgaGVyZSwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mXFxuXFx0Ly8gYmxhY2sgYW5kIHdoaXRlLiBub3JtYWwgcGFsZXR0ZSBvbmx5IGhhcyA0IGdyZXlzY2FsZSBzaGFkZXMuXFxuXFx0aWYgKHIgPT09IGcgJiYgZyA9PT0gYikge1xcblxcdFxcdGlmIChyIDwgOCkge1xcblxcdFxcdFxcdHJldHVybiAxNjtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKHIgPiAyNDgpIHtcXG5cXHRcXHRcXHRyZXR1cm4gMjMxO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gTWF0aC5yb3VuZCgoKHIgLSA4KSAvIDI0NykgKiAyNCkgKyAyMzI7XFxuXFx0fVxcblxcblxcdHZhciBhbnNpID0gMTZcXG5cXHRcXHQrICgzNiAqIE1hdGgucm91bmQociAvIDI1NSAqIDUpKVxcblxcdFxcdCsgKDYgKiBNYXRoLnJvdW5kKGcgLyAyNTUgKiA1KSlcXG5cXHRcXHQrIE1hdGgucm91bmQoYiAvIDI1NSAqIDUpO1xcblxcblxcdHJldHVybiBhbnNpO1xcbn07XFxuXFxuY29udmVydC5hbnNpMTYucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHR2YXIgY29sb3IgPSBhcmdzICUgMTA7XFxuXFxuXFx0Ly8gaGFuZGxlIGdyZXlzY2FsZVxcblxcdGlmIChjb2xvciA9PT0gMCB8fCBjb2xvciA9PT0gNykge1xcblxcdFxcdGlmIChhcmdzID4gNTApIHtcXG5cXHRcXHRcXHRjb2xvciArPSAzLjU7XFxuXFx0XFx0fVxcblxcblxcdFxcdGNvbG9yID0gY29sb3IgLyAxMC41ICogMjU1O1xcblxcblxcdFxcdHJldHVybiBbY29sb3IsIGNvbG9yLCBjb2xvcl07XFxuXFx0fVxcblxcblxcdHZhciBtdWx0ID0gKH5+KGFyZ3MgPiA1MCkgKyAxKSAqIDAuNTtcXG5cXHR2YXIgciA9ICgoY29sb3IgJiAxKSAqIG11bHQpICogMjU1O1xcblxcdHZhciBnID0gKCgoY29sb3IgPj4gMSkgJiAxKSAqIG11bHQpICogMjU1O1xcblxcdHZhciBiID0gKCgoY29sb3IgPj4gMikgJiAxKSAqIG11bHQpICogMjU1O1xcblxcblxcdHJldHVybiBbciwgZywgYl07XFxufTtcXG5cXG5jb252ZXJ0LmFuc2kyNTYucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHQvLyBoYW5kbGUgZ3JleXNjYWxlXFxuXFx0aWYgKGFyZ3MgPj0gMjMyKSB7XFxuXFx0XFx0dmFyIGMgPSAoYXJncyAtIDIzMikgKiAxMCArIDg7XFxuXFx0XFx0cmV0dXJuIFtjLCBjLCBjXTtcXG5cXHR9XFxuXFxuXFx0YXJncyAtPSAxNjtcXG5cXG5cXHR2YXIgcmVtO1xcblxcdHZhciByID0gTWF0aC5mbG9vcihhcmdzIC8gMzYpIC8gNSAqIDI1NTtcXG5cXHR2YXIgZyA9IE1hdGguZmxvb3IoKHJlbSA9IGFyZ3MgJSAzNikgLyA2KSAvIDUgKiAyNTU7XFxuXFx0dmFyIGIgPSAocmVtICUgNikgLyA1ICogMjU1O1xcblxcblxcdHJldHVybiBbciwgZywgYl07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5oZXggPSBmdW5jdGlvbiAoYXJncykge1xcblxcdHZhciBpbnRlZ2VyID0gKChNYXRoLnJvdW5kKGFyZ3NbMF0pICYgMHhGRikgPDwgMTYpXFxuXFx0XFx0KyAoKE1hdGgucm91bmQoYXJnc1sxXSkgJiAweEZGKSA8PCA4KVxcblxcdFxcdCsgKE1hdGgucm91bmQoYXJnc1syXSkgJiAweEZGKTtcXG5cXG5cXHR2YXIgc3RyaW5nID0gaW50ZWdlci50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtcXG5cXHRyZXR1cm4gJzAwMDAwMCcuc3Vic3RyaW5nKHN0cmluZy5sZW5ndGgpICsgc3RyaW5nO1xcbn07XFxuXFxuY29udmVydC5oZXgucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHR2YXIgbWF0Y2ggPSBhcmdzLnRvU3RyaW5nKDE2KS5tYXRjaCgvW2EtZjAtOV17Nn18W2EtZjAtOV17M30vaSk7XFxuXFx0aWYgKCFtYXRjaCkge1xcblxcdFxcdHJldHVybiBbMCwgMCwgMF07XFxuXFx0fVxcblxcblxcdHZhciBjb2xvclN0cmluZyA9IG1hdGNoWzBdO1xcblxcblxcdGlmIChtYXRjaFswXS5sZW5ndGggPT09IDMpIHtcXG5cXHRcXHRjb2xvclN0cmluZyA9IGNvbG9yU3RyaW5nLnNwbGl0KCcnKS5tYXAoZnVuY3Rpb24gKGNoYXIpIHtcXG5cXHRcXHRcXHRyZXR1cm4gY2hhciArIGNoYXI7XFxuXFx0XFx0fSkuam9pbignJyk7XFxuXFx0fVxcblxcblxcdHZhciBpbnRlZ2VyID0gcGFyc2VJbnQoY29sb3JTdHJpbmcsIDE2KTtcXG5cXHR2YXIgciA9IChpbnRlZ2VyID4+IDE2KSAmIDB4RkY7XFxuXFx0dmFyIGcgPSAoaW50ZWdlciA+PiA4KSAmIDB4RkY7XFxuXFx0dmFyIGIgPSBpbnRlZ2VyICYgMHhGRjtcXG5cXG5cXHRyZXR1cm4gW3IsIGcsIGJdO1xcbn07XFxuXFxuY29udmVydC5yZ2IuaGNnID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciByID0gcmdiWzBdIC8gMjU1O1xcblxcdHZhciBnID0gcmdiWzFdIC8gMjU1O1xcblxcdHZhciBiID0gcmdiWzJdIC8gMjU1O1xcblxcdHZhciBtYXggPSBNYXRoLm1heChNYXRoLm1heChyLCBnKSwgYik7XFxuXFx0dmFyIG1pbiA9IE1hdGgubWluKE1hdGgubWluKHIsIGcpLCBiKTtcXG5cXHR2YXIgY2hyb21hID0gKG1heCAtIG1pbik7XFxuXFx0dmFyIGdyYXlzY2FsZTtcXG5cXHR2YXIgaHVlO1xcblxcblxcdGlmIChjaHJvbWEgPCAxKSB7XFxuXFx0XFx0Z3JheXNjYWxlID0gbWluIC8gKDEgLSBjaHJvbWEpO1xcblxcdH0gZWxzZSB7XFxuXFx0XFx0Z3JheXNjYWxlID0gMDtcXG5cXHR9XFxuXFxuXFx0aWYgKGNocm9tYSA8PSAwKSB7XFxuXFx0XFx0aHVlID0gMDtcXG5cXHR9IGVsc2VcXG5cXHRpZiAobWF4ID09PSByKSB7XFxuXFx0XFx0aHVlID0gKChnIC0gYikgLyBjaHJvbWEpICUgNjtcXG5cXHR9IGVsc2VcXG5cXHRpZiAobWF4ID09PSBnKSB7XFxuXFx0XFx0aHVlID0gMiArIChiIC0gcikgLyBjaHJvbWE7XFxuXFx0fSBlbHNlIHtcXG5cXHRcXHRodWUgPSA0ICsgKHIgLSBnKSAvIGNocm9tYSArIDQ7XFxuXFx0fVxcblxcblxcdGh1ZSAvPSA2O1xcblxcdGh1ZSAlPSAxO1xcblxcblxcdHJldHVybiBbaHVlICogMzYwLCBjaHJvbWEgKiAxMDAsIGdyYXlzY2FsZSAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LmhzbC5oY2cgPSBmdW5jdGlvbiAoaHNsKSB7XFxuXFx0dmFyIHMgPSBoc2xbMV0gLyAxMDA7XFxuXFx0dmFyIGwgPSBoc2xbMl0gLyAxMDA7XFxuXFx0dmFyIGMgPSAxO1xcblxcdHZhciBmID0gMDtcXG5cXG5cXHRpZiAobCA8IDAuNSkge1xcblxcdFxcdGMgPSAyLjAgKiBzICogbDtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdGMgPSAyLjAgKiBzICogKDEuMCAtIGwpO1xcblxcdH1cXG5cXG5cXHRpZiAoYyA8IDEuMCkge1xcblxcdFxcdGYgPSAobCAtIDAuNSAqIGMpIC8gKDEuMCAtIGMpO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2hzbFswXSwgYyAqIDEwMCwgZiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0Lmhzdi5oY2cgPSBmdW5jdGlvbiAoaHN2KSB7XFxuXFx0dmFyIHMgPSBoc3ZbMV0gLyAxMDA7XFxuXFx0dmFyIHYgPSBoc3ZbMl0gLyAxMDA7XFxuXFxuXFx0dmFyIGMgPSBzICogdjtcXG5cXHR2YXIgZiA9IDA7XFxuXFxuXFx0aWYgKGMgPCAxLjApIHtcXG5cXHRcXHRmID0gKHYgLSBjKSAvICgxIC0gYyk7XFxuXFx0fVxcblxcblxcdHJldHVybiBbaHN2WzBdLCBjICogMTAwLCBmICogMTAwXTtcXG59O1xcblxcbmNvbnZlcnQuaGNnLnJnYiA9IGZ1bmN0aW9uIChoY2cpIHtcXG5cXHR2YXIgaCA9IGhjZ1swXSAvIDM2MDtcXG5cXHR2YXIgYyA9IGhjZ1sxXSAvIDEwMDtcXG5cXHR2YXIgZyA9IGhjZ1syXSAvIDEwMDtcXG5cXG5cXHRpZiAoYyA9PT0gMC4wKSB7XFxuXFx0XFx0cmV0dXJuIFtnICogMjU1LCBnICogMjU1LCBnICogMjU1XTtcXG5cXHR9XFxuXFxuXFx0dmFyIHB1cmUgPSBbMCwgMCwgMF07XFxuXFx0dmFyIGhpID0gKGggJSAxKSAqIDY7XFxuXFx0dmFyIHYgPSBoaSAlIDE7XFxuXFx0dmFyIHcgPSAxIC0gdjtcXG5cXHR2YXIgbWcgPSAwO1xcblxcblxcdHN3aXRjaCAoTWF0aC5mbG9vcihoaSkpIHtcXG5cXHRcXHRjYXNlIDA6XFxuXFx0XFx0XFx0cHVyZVswXSA9IDE7IHB1cmVbMV0gPSB2OyBwdXJlWzJdID0gMDsgYnJlYWs7XFxuXFx0XFx0Y2FzZSAxOlxcblxcdFxcdFxcdHB1cmVbMF0gPSB3OyBwdXJlWzFdID0gMTsgcHVyZVsyXSA9IDA7IGJyZWFrO1xcblxcdFxcdGNhc2UgMjpcXG5cXHRcXHRcXHRwdXJlWzBdID0gMDsgcHVyZVsxXSA9IDE7IHB1cmVbMl0gPSB2OyBicmVhaztcXG5cXHRcXHRjYXNlIDM6XFxuXFx0XFx0XFx0cHVyZVswXSA9IDA7IHB1cmVbMV0gPSB3OyBwdXJlWzJdID0gMTsgYnJlYWs7XFxuXFx0XFx0Y2FzZSA0OlxcblxcdFxcdFxcdHB1cmVbMF0gPSB2OyBwdXJlWzFdID0gMDsgcHVyZVsyXSA9IDE7IGJyZWFrO1xcblxcdFxcdGRlZmF1bHQ6XFxuXFx0XFx0XFx0cHVyZVswXSA9IDE7IHB1cmVbMV0gPSAwOyBwdXJlWzJdID0gdztcXG5cXHR9XFxuXFxuXFx0bWcgPSAoMS4wIC0gYykgKiBnO1xcblxcblxcdHJldHVybiBbXFxuXFx0XFx0KGMgKiBwdXJlWzBdICsgbWcpICogMjU1LFxcblxcdFxcdChjICogcHVyZVsxXSArIG1nKSAqIDI1NSxcXG5cXHRcXHQoYyAqIHB1cmVbMl0gKyBtZykgKiAyNTVcXG5cXHRdO1xcbn07XFxuXFxuY29udmVydC5oY2cuaHN2ID0gZnVuY3Rpb24gKGhjZykge1xcblxcdHZhciBjID0gaGNnWzFdIC8gMTAwO1xcblxcdHZhciBnID0gaGNnWzJdIC8gMTAwO1xcblxcblxcdHZhciB2ID0gYyArIGcgKiAoMS4wIC0gYyk7XFxuXFx0dmFyIGYgPSAwO1xcblxcblxcdGlmICh2ID4gMC4wKSB7XFxuXFx0XFx0ZiA9IGMgLyB2O1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2hjZ1swXSwgZiAqIDEwMCwgdiAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LmhjZy5oc2wgPSBmdW5jdGlvbiAoaGNnKSB7XFxuXFx0dmFyIGMgPSBoY2dbMV0gLyAxMDA7XFxuXFx0dmFyIGcgPSBoY2dbMl0gLyAxMDA7XFxuXFxuXFx0dmFyIGwgPSBnICogKDEuMCAtIGMpICsgMC41ICogYztcXG5cXHR2YXIgcyA9IDA7XFxuXFxuXFx0aWYgKGwgPiAwLjAgJiYgbCA8IDAuNSkge1xcblxcdFxcdHMgPSBjIC8gKDIgKiBsKTtcXG5cXHR9IGVsc2VcXG5cXHRpZiAobCA+PSAwLjUgJiYgbCA8IDEuMCkge1xcblxcdFxcdHMgPSBjIC8gKDIgKiAoMSAtIGwpKTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIFtoY2dbMF0sIHMgKiAxMDAsIGwgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5oY2cuaHdiID0gZnVuY3Rpb24gKGhjZykge1xcblxcdHZhciBjID0gaGNnWzFdIC8gMTAwO1xcblxcdHZhciBnID0gaGNnWzJdIC8gMTAwO1xcblxcdHZhciB2ID0gYyArIGcgKiAoMS4wIC0gYyk7XFxuXFx0cmV0dXJuIFtoY2dbMF0sICh2IC0gYykgKiAxMDAsICgxIC0gdikgKiAxMDBdO1xcbn07XFxuXFxuY29udmVydC5od2IuaGNnID0gZnVuY3Rpb24gKGh3Yikge1xcblxcdHZhciB3ID0gaHdiWzFdIC8gMTAwO1xcblxcdHZhciBiID0gaHdiWzJdIC8gMTAwO1xcblxcdHZhciB2ID0gMSAtIGI7XFxuXFx0dmFyIGMgPSB2IC0gdztcXG5cXHR2YXIgZyA9IDA7XFxuXFxuXFx0aWYgKGMgPCAxKSB7XFxuXFx0XFx0ZyA9ICh2IC0gYykgLyAoMSAtIGMpO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gW2h3YlswXSwgYyAqIDEwMCwgZyAqIDEwMF07XFxufTtcXG5cXG5jb252ZXJ0LmFwcGxlLnJnYiA9IGZ1bmN0aW9uIChhcHBsZSkge1xcblxcdHJldHVybiBbKGFwcGxlWzBdIC8gNjU1MzUpICogMjU1LCAoYXBwbGVbMV0gLyA2NTUzNSkgKiAyNTUsIChhcHBsZVsyXSAvIDY1NTM1KSAqIDI1NV07XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5hcHBsZSA9IGZ1bmN0aW9uIChyZ2IpIHtcXG5cXHRyZXR1cm4gWyhyZ2JbMF0gLyAyNTUpICogNjU1MzUsIChyZ2JbMV0gLyAyNTUpICogNjU1MzUsIChyZ2JbMl0gLyAyNTUpICogNjU1MzVdO1xcbn07XFxuXFxuY29udmVydC5ncmF5LnJnYiA9IGZ1bmN0aW9uIChhcmdzKSB7XFxuXFx0cmV0dXJuIFthcmdzWzBdIC8gMTAwICogMjU1LCBhcmdzWzBdIC8gMTAwICogMjU1LCBhcmdzWzBdIC8gMTAwICogMjU1XTtcXG59O1xcblxcbmNvbnZlcnQuZ3JheS5oc2wgPSBjb252ZXJ0LmdyYXkuaHN2ID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHRyZXR1cm4gWzAsIDAsIGFyZ3NbMF1dO1xcbn07XFxuXFxuY29udmVydC5ncmF5Lmh3YiA9IGZ1bmN0aW9uIChncmF5KSB7XFxuXFx0cmV0dXJuIFswLCAxMDAsIGdyYXlbMF1dO1xcbn07XFxuXFxuY29udmVydC5ncmF5LmNteWsgPSBmdW5jdGlvbiAoZ3JheSkge1xcblxcdHJldHVybiBbMCwgMCwgMCwgZ3JheVswXV07XFxufTtcXG5cXG5jb252ZXJ0LmdyYXkubGFiID0gZnVuY3Rpb24gKGdyYXkpIHtcXG5cXHRyZXR1cm4gW2dyYXlbMF0sIDAsIDBdO1xcbn07XFxuXFxuY29udmVydC5ncmF5LmhleCA9IGZ1bmN0aW9uIChncmF5KSB7XFxuXFx0dmFyIHZhbCA9IE1hdGgucm91bmQoZ3JheVswXSAvIDEwMCAqIDI1NSkgJiAweEZGO1xcblxcdHZhciBpbnRlZ2VyID0gKHZhbCA8PCAxNikgKyAodmFsIDw8IDgpICsgdmFsO1xcblxcblxcdHZhciBzdHJpbmcgPSBpbnRlZ2VyLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xcblxcdHJldHVybiAnMDAwMDAwJy5zdWJzdHJpbmcoc3RyaW5nLmxlbmd0aCkgKyBzdHJpbmc7XFxufTtcXG5cXG5jb252ZXJ0LnJnYi5ncmF5ID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHZhciB2YWwgPSAocmdiWzBdICsgcmdiWzFdICsgcmdiWzJdKSAvIDM7XFxuXFx0cmV0dXJuIFt2YWwgLyAyNTUgKiAxMDBdO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjJ4dmNpMWpiMjUyWlhKMEwyTnZiblpsY25OcGIyNXpMbXB6UHpVM09UVWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFTeHJRa0ZCYTBJc2JVSkJRVThzUTBGQlF5eHpSRUZCV1RzN1FVRkZkRU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRkZCUVZFc05FSkJRVFJDTzBGQlEzQkRMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c01rSkJRVEpDTzBGQlEyeERMRTlCUVU4c05rSkJRVFpDTzBGQlEzQkRMRmRCUVZjc2FVTkJRV2xETzBGQlF6VkRMRlZCUVZVc1owTkJRV2RETzBGQlF6RkRMRmRCUVZjc2FVTkJRV2xETzBGQlF6VkRMRTlCUVU4c2NVTkJRWEZETzBGQlF6VkRMRk5CUVZNc01rTkJRVEpETzBGQlEzQkVMRkZCUVZFN1FVRkRVanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZFUVVGeFJDeG5Ra0ZCWjBJN1FVRkRja1VzYlVSQlFXMUVMR05CUVdNN1FVRkRha1U3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFc1JVRkJSVHRCUVVOR08wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPMEZCUTBZN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN4blFrRkJaMElzVDBGQlR6dEJRVU4yUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNkVUpCUVhWQ096dEJRVVYyUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5Ra0ZCWjBJc1QwRkJUeXhSUVVGUk8wRkJReTlDTEdkQ1FVRm5RaXhQUVVGUExGRkJRVkU3UVVGREwwSXNhVUpCUVdsQ0xFOUJRVThzVDBGQlR6dEJRVU12UWl4cFFrRkJhVUlzVDBGQlR5eFBRVUZQTzBGQlF5OUNMR2RDUVVGblFpeFJRVUZSTEU5QlFVODdRVUZETDBJc1owSkJRV2RDTEZGQlFWRXNUMEZCVHp0QlFVTXZRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UlVGQmMwVTdPMEZCUlhSRk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSE5DUVVGelFqdEJRVU4wUWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3clEwRkJLME1zUlVGQlJTeFZRVUZWTEVWQlFVVTdRVUZETjBRN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFVkJRVVU3UVVGRFJqdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdWQlFXVXNZVUZCWVN4aFFVRmhPMEZCUTNwRE8wRkJRMEVzWlVGQlpTeGhRVUZoTEdGQlFXRTdRVUZEZWtNN1FVRkRRU3hsUVVGbExHRkJRV0VzWVVGQllUdEJRVU42UXp0QlFVTkJMR1ZCUVdVc1lVRkJZU3hoUVVGaE8wRkJRM3BETzBGQlEwRXNaVUZCWlN4aFFVRmhMR0ZCUVdFN1FVRkRla003UVVGRFFTeGxRVUZsTEdGQlFXRTdRVUZETlVJN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPMEZCUTBZN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2kxamIyNTJaWEowTDJOdmJuWmxjbk5wYjI1ekxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b2dUVWxVSUd4cFkyVnVjMlVnS2k5Y2JuWmhjaUJqYzNOTFpYbDNiM0prY3lBOUlISmxjWFZwY21Vb0oyTnZiRzl5TFc1aGJXVW5LVHRjYmx4dUx5OGdUazlVUlRvZ1kyOXVkbVZ5YzJsdmJuTWdjMmh2ZFd4a0lHOXViSGtnY21WMGRYSnVJSEJ5YVcxcGRHbDJaU0IyWVd4MVpYTWdLR2t1WlM0Z1lYSnlZWGx6TENCdmNseHVMeThnSUNBZ0lDQWdkbUZzZFdWeklIUm9ZWFFnWjJsMlpTQmpiM0p5WldOMElHQjBlWEJsYjJaZ0lISmxjM1ZzZEhNcExseHVMeThnSUNBZ0lDQWdaRzhnYm05MElIVnpaU0JpYjNnZ2RtRnNkV1Z6SUhSNWNHVnpJQ2hwTG1VdUlFNTFiV0psY2lncExDQlRkSEpwYm1jb0tTd2daWFJqTGlsY2JseHVkbUZ5SUhKbGRtVnljMlZMWlhsM2IzSmtjeUE5SUh0OU8xeHVabTl5SUNoMllYSWdhMlY1SUdsdUlHTnpjMHRsZVhkdmNtUnpLU0I3WEc1Y2RHbG1JQ2hqYzNOTFpYbDNiM0prY3k1b1lYTlBkMjVRY205d1pYSjBlU2hyWlhrcEtTQjdYRzVjZEZ4MGNtVjJaWEp6WlV0bGVYZHZjbVJ6VzJOemMwdGxlWGR2Y21SelcydGxlVjFkSUQwZ2EyVjVPMXh1WEhSOVhHNTlYRzVjYm5aaGNpQmpiMjUyWlhKMElEMGdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQjdYRzVjZEhKbllqb2dlMk5vWVc1dVpXeHpPaUF6TENCc1lXSmxiSE02SUNkeVoySW5mU3hjYmx4MGFITnNPaUI3WTJoaGJtNWxiSE02SURNc0lHeGhZbVZzY3pvZ0oyaHpiQ2Q5TEZ4dVhIUm9jM1k2SUh0amFHRnVibVZzY3pvZ015d2diR0ZpWld4ek9pQW5hSE4ySjMwc1hHNWNkR2gzWWpvZ2UyTm9ZVzV1Wld4ek9pQXpMQ0JzWVdKbGJITTZJQ2RvZDJJbmZTeGNibHgwWTIxNWF6b2dlMk5vWVc1dVpXeHpPaUEwTENCc1lXSmxiSE02SUNkamJYbHJKMzBzWEc1Y2RIaDVlam9nZTJOb1lXNXVaV3h6T2lBekxDQnNZV0psYkhNNklDZDRlWG9uZlN4Y2JseDBiR0ZpT2lCN1kyaGhibTVsYkhNNklETXNJR3hoWW1Wc2N6b2dKMnhoWWlkOUxGeHVYSFJzWTJnNklIdGphR0Z1Ym1Wc2N6b2dNeXdnYkdGaVpXeHpPaUFuYkdOb0ozMHNYRzVjZEdobGVEb2dlMk5vWVc1dVpXeHpPaUF4TENCc1lXSmxiSE02SUZzbmFHVjRKMTE5TEZ4dVhIUnJaWGwzYjNKa09pQjdZMmhoYm01bGJITTZJREVzSUd4aFltVnNjem9nV3lkclpYbDNiM0prSjExOUxGeHVYSFJoYm5OcE1UWTZJSHRqYUdGdWJtVnNjem9nTVN3Z2JHRmlaV3h6T2lCYkoyRnVjMmt4TmlkZGZTeGNibHgwWVc1emFUSTFOam9nZTJOb1lXNXVaV3h6T2lBeExDQnNZV0psYkhNNklGc25ZVzV6YVRJMU5pZGRmU3hjYmx4MGFHTm5PaUI3WTJoaGJtNWxiSE02SURNc0lHeGhZbVZzY3pvZ1d5ZG9KeXdnSjJNbkxDQW5aeWRkZlN4Y2JseDBZWEJ3YkdVNklIdGphR0Z1Ym1Wc2N6b2dNeXdnYkdGaVpXeHpPaUJiSjNJeE5pY3NJQ2RuTVRZbkxDQW5ZakUySjExOUxGeHVYSFJuY21GNU9pQjdZMmhoYm01bGJITTZJREVzSUd4aFltVnNjem9nV3lkbmNtRjVKMTE5WEc1OU8xeHVYRzR2THlCb2FXUmxJQzVqYUdGdWJtVnNjeUJoYm1RZ0xteGhZbVZzY3lCd2NtOXdaWEowYVdWelhHNW1iM0lnS0haaGNpQnRiMlJsYkNCcGJpQmpiMjUyWlhKMEtTQjdYRzVjZEdsbUlDaGpiMjUyWlhKMExtaGhjMDkzYmxCeWIzQmxjblI1S0cxdlpHVnNLU2tnZTF4dVhIUmNkR2xtSUNnaEtDZGphR0Z1Ym1Wc2N5Y2dhVzRnWTI5dWRtVnlkRnR0YjJSbGJGMHBLU0I3WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMjFwYzNOcGJtY2dZMmhoYm01bGJITWdjSEp2Y0dWeWRIazZJQ2NnS3lCdGIyUmxiQ2s3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBhV1lnS0NFb0oyeGhZbVZzY3ljZ2FXNGdZMjl1ZG1WeWRGdHRiMlJsYkYwcEtTQjdYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oyMXBjM05wYm1jZ1kyaGhibTVsYkNCc1lXSmxiSE1nY0hKdmNHVnlkSGs2SUNjZ0t5QnRiMlJsYkNrN1hHNWNkRngwZlZ4dVhHNWNkRngwYVdZZ0tHTnZiblpsY25SYmJXOWtaV3hkTG14aFltVnNjeTVzWlc1bmRHZ2dJVDA5SUdOdmJuWmxjblJiYlc5a1pXeGRMbU5vWVc1dVpXeHpLU0I3WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMk5vWVc1dVpXd2dZVzVrSUd4aFltVnNJR052ZFc1MGN5QnRhWE50WVhSamFEb2dKeUFySUcxdlpHVnNLVHRjYmx4MFhIUjlYRzVjYmx4MFhIUjJZWElnWTJoaGJtNWxiSE1nUFNCamIyNTJaWEowVzIxdlpHVnNYUzVqYUdGdWJtVnNjenRjYmx4MFhIUjJZWElnYkdGaVpXeHpJRDBnWTI5dWRtVnlkRnR0YjJSbGJGMHViR0ZpWld4ek8xeHVYSFJjZEdSbGJHVjBaU0JqYjI1MlpYSjBXMjF2WkdWc1hTNWphR0Z1Ym1Wc2N6dGNibHgwWEhSa1pXeGxkR1VnWTI5dWRtVnlkRnR0YjJSbGJGMHViR0ZpWld4ek8xeHVYSFJjZEU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaGpiMjUyWlhKMFcyMXZaR1ZzWFN3Z0oyTm9ZVzV1Wld4ekp5d2dlM1poYkhWbE9pQmphR0Z1Ym1Wc2MzMHBPMXh1WEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqYjI1MlpYSjBXMjF2WkdWc1hTd2dKMnhoWW1Wc2N5Y3NJSHQyWVd4MVpUb2diR0ZpWld4emZTazdYRzVjZEgxY2JuMWNibHh1WTI5dWRtVnlkQzV5WjJJdWFITnNJRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSMllYSWdjaUE5SUhKbllsc3dYU0F2SURJMU5UdGNibHgwZG1GeUlHY2dQU0J5WjJKYk1WMGdMeUF5TlRVN1hHNWNkSFpoY2lCaUlEMGdjbWRpV3pKZElDOGdNalUxTzF4dVhIUjJZWElnYldsdUlEMGdUV0YwYUM1dGFXNG9jaXdnWnl3Z1lpazdYRzVjZEhaaGNpQnRZWGdnUFNCTllYUm9MbTFoZUNoeUxDQm5MQ0JpS1R0Y2JseDBkbUZ5SUdSbGJIUmhJRDBnYldGNElDMGdiV2x1TzF4dVhIUjJZWElnYUR0Y2JseDBkbUZ5SUhNN1hHNWNkSFpoY2lCc08xeHVYRzVjZEdsbUlDaHRZWGdnUFQwOUlHMXBiaWtnZTF4dVhIUmNkR2dnUFNBd08xeHVYSFI5SUdWc2MyVWdhV1lnS0hJZ1BUMDlJRzFoZUNrZ2UxeHVYSFJjZEdnZ1BTQW9aeUF0SUdJcElDOGdaR1ZzZEdFN1hHNWNkSDBnWld4elpTQnBaaUFvWnlBOVBUMGdiV0Y0S1NCN1hHNWNkRngwYUNBOUlESWdLeUFvWWlBdElISXBJQzhnWkdWc2RHRTdYRzVjZEgwZ1pXeHpaU0JwWmlBb1lpQTlQVDBnYldGNEtTQjdYRzVjZEZ4MGFDQTlJRFFnS3lBb2NpQXRJR2NwSUM4Z1pHVnNkR0U3WEc1Y2RIMWNibHh1WEhSb0lEMGdUV0YwYUM1dGFXNG9hQ0FxSURZd0xDQXpOakFwTzF4dVhHNWNkR2xtSUNob0lEd2dNQ2tnZTF4dVhIUmNkR2dnS3owZ016WXdPMXh1WEhSOVhHNWNibHgwYkNBOUlDaHRhVzRnS3lCdFlYZ3BJQzhnTWp0Y2JseHVYSFJwWmlBb2JXRjRJRDA5UFNCdGFXNHBJSHRjYmx4MFhIUnpJRDBnTUR0Y2JseDBmU0JsYkhObElHbG1JQ2hzSUR3OUlEQXVOU2tnZTF4dVhIUmNkSE1nUFNCa1pXeDBZU0F2SUNodFlYZ2dLeUJ0YVc0cE8xeHVYSFI5SUdWc2MyVWdlMXh1WEhSY2RITWdQU0JrWld4MFlTQXZJQ2d5SUMwZ2JXRjRJQzBnYldsdUtUdGNibHgwZlZ4dVhHNWNkSEpsZEhWeWJpQmJhQ3dnY3lBcUlERXdNQ3dnYkNBcUlERXdNRjA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbkpuWWk1b2MzWWdQU0JtZFc1amRHbHZiaUFvY21kaUtTQjdYRzVjZEhaaGNpQnlaR2xtTzF4dVhIUjJZWElnWjJScFpqdGNibHgwZG1GeUlHSmthV1k3WEc1Y2RIWmhjaUJvTzF4dVhIUjJZWElnY3p0Y2JseHVYSFIyWVhJZ2NpQTlJSEpuWWxzd1hTQXZJREkxTlR0Y2JseDBkbUZ5SUdjZ1BTQnlaMkpiTVYwZ0x5QXlOVFU3WEc1Y2RIWmhjaUJpSUQwZ2NtZGlXekpkSUM4Z01qVTFPMXh1WEhSMllYSWdkaUE5SUUxaGRHZ3ViV0Y0S0hJc0lHY3NJR0lwTzF4dVhIUjJZWElnWkdsbVppQTlJSFlnTFNCTllYUm9MbTFwYmloeUxDQm5MQ0JpS1R0Y2JseDBkbUZ5SUdScFptWmpJRDBnWm5WdVkzUnBiMjRnS0dNcElIdGNibHgwWEhSeVpYUjFjbTRnS0hZZ0xTQmpLU0F2SURZZ0x5QmthV1ptSUNzZ01TQXZJREk3WEc1Y2RIMDdYRzVjYmx4MGFXWWdLR1JwWm1ZZ1BUMDlJREFwSUh0Y2JseDBYSFJvSUQwZ2N5QTlJREE3WEc1Y2RIMGdaV3h6WlNCN1hHNWNkRngwY3lBOUlHUnBabVlnTHlCMk8xeHVYSFJjZEhKa2FXWWdQU0JrYVdabVl5aHlLVHRjYmx4MFhIUm5aR2xtSUQwZ1pHbG1abU1vWnlrN1hHNWNkRngwWW1ScFppQTlJR1JwWm1aaktHSXBPMXh1WEc1Y2RGeDBhV1lnS0hJZ1BUMDlJSFlwSUh0Y2JseDBYSFJjZEdnZ1BTQmlaR2xtSUMwZ1oyUnBaanRjYmx4MFhIUjlJR1ZzYzJVZ2FXWWdLR2NnUFQwOUlIWXBJSHRjYmx4MFhIUmNkR2dnUFNBb01TQXZJRE1wSUNzZ2NtUnBaaUF0SUdKa2FXWTdYRzVjZEZ4MGZTQmxiSE5sSUdsbUlDaGlJRDA5UFNCMktTQjdYRzVjZEZ4MFhIUm9JRDBnS0RJZ0x5QXpLU0FySUdka2FXWWdMU0J5WkdsbU8xeHVYSFJjZEgxY2JseDBYSFJwWmlBb2FDQThJREFwSUh0Y2JseDBYSFJjZEdnZ0t6MGdNVHRjYmx4MFhIUjlJR1ZzYzJVZ2FXWWdLR2dnUGlBeEtTQjdYRzVjZEZ4MFhIUm9JQzA5SURFN1hHNWNkRngwZlZ4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUZ0Y2JseDBYSFJvSUNvZ016WXdMRnh1WEhSY2RITWdLaUF4TURBc1hHNWNkRngwZGlBcUlERXdNRnh1WEhSZE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1eVoySXVhSGRpSUQwZ1puVnVZM1JwYjI0Z0tISm5ZaWtnZTF4dVhIUjJZWElnY2lBOUlISm5ZbHN3WFR0Y2JseDBkbUZ5SUdjZ1BTQnlaMkpiTVYwN1hHNWNkSFpoY2lCaUlEMGdjbWRpV3pKZE8xeHVYSFIyWVhJZ2FDQTlJR052Ym5abGNuUXVjbWRpTG1oemJDaHlaMklwV3pCZE8xeHVYSFIyWVhJZ2R5QTlJREVnTHlBeU5UVWdLaUJOWVhSb0xtMXBiaWh5TENCTllYUm9MbTFwYmlobkxDQmlLU2s3WEc1Y2JseDBZaUE5SURFZ0xTQXhJQzhnTWpVMUlDb2dUV0YwYUM1dFlYZ29jaXdnVFdGMGFDNXRZWGdvWnl3Z1lpa3BPMXh1WEc1Y2RISmxkSFZ5YmlCYmFDd2dkeUFxSURFd01Dd2dZaUFxSURFd01GMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExuSm5ZaTVqYlhscklEMGdablZ1WTNScGIyNGdLSEpuWWlrZ2UxeHVYSFIyWVhJZ2NpQTlJSEpuWWxzd1hTQXZJREkxTlR0Y2JseDBkbUZ5SUdjZ1BTQnlaMkpiTVYwZ0x5QXlOVFU3WEc1Y2RIWmhjaUJpSUQwZ2NtZGlXekpkSUM4Z01qVTFPMXh1WEhSMllYSWdZenRjYmx4MGRtRnlJRzA3WEc1Y2RIWmhjaUI1TzF4dVhIUjJZWElnYXp0Y2JseHVYSFJySUQwZ1RXRjBhQzV0YVc0b01TQXRJSElzSURFZ0xTQm5MQ0F4SUMwZ1lpazdYRzVjZEdNZ1BTQW9NU0F0SUhJZ0xTQnJLU0F2SUNneElDMGdheWtnZkh3Z01EdGNibHgwYlNBOUlDZ3hJQzBnWnlBdElHc3BJQzhnS0RFZ0xTQnJLU0I4ZkNBd08xeHVYSFI1SUQwZ0tERWdMU0JpSUMwZ2F5a2dMeUFvTVNBdElHc3BJSHg4SURBN1hHNWNibHgwY21WMGRYSnVJRnRqSUNvZ01UQXdMQ0J0SUNvZ01UQXdMQ0I1SUNvZ01UQXdMQ0JySUNvZ01UQXdYVHRjYm4wN1hHNWNiaThxS2x4dUlDb2dVMlZsSUdoMGRIQnpPaTh2Wlc0dWJTNTNhV3RwY0dWa2FXRXViM0puTDNkcGEya3ZSWFZqYkdsa1pXRnVYMlJwYzNSaGJtTmxJMU54ZFdGeVpXUmZSWFZqYkdsa1pXRnVYMlJwYzNSaGJtTmxYRzRnS2lBcUwxeHVablZ1WTNScGIyNGdZMjl0Y0dGeVlYUnBkbVZFYVhOMFlXNWpaU2g0TENCNUtTQjdYRzVjZEhKbGRIVnliaUFvWEc1Y2RGeDBUV0YwYUM1d2IzY29lRnN3WFNBdElIbGJNRjBzSURJcElDdGNibHgwWEhSTllYUm9MbkJ2ZHloNFd6RmRJQzBnZVZzeFhTd2dNaWtnSzF4dVhIUmNkRTFoZEdndWNHOTNLSGhiTWwwZ0xTQjVXekpkTENBeUtWeHVYSFFwTzF4dWZWeHVYRzVqYjI1MlpYSjBMbkpuWWk1clpYbDNiM0prSUQwZ1puVnVZM1JwYjI0Z0tISm5ZaWtnZTF4dVhIUjJZWElnY21WMlpYSnpaV1FnUFNCeVpYWmxjbk5sUzJWNWQyOXlaSE5iY21kaVhUdGNibHgwYVdZZ0tISmxkbVZ5YzJWa0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUhKbGRtVnljMlZrTzF4dVhIUjlYRzVjYmx4MGRtRnlJR04xY25KbGJuUkRiRzl6WlhOMFJHbHpkR0Z1WTJVZ1BTQkpibVpwYm1sMGVUdGNibHgwZG1GeUlHTjFjbkpsYm5SRGJHOXpaWE4wUzJWNWQyOXlaRHRjYmx4dVhIUm1iM0lnS0haaGNpQnJaWGwzYjNKa0lHbHVJR056YzB0bGVYZHZjbVJ6S1NCN1hHNWNkRngwYVdZZ0tHTnpjMHRsZVhkdmNtUnpMbWhoYzA5M2JsQnliM0JsY25SNUtHdGxlWGR2Y21RcEtTQjdYRzVjZEZ4MFhIUjJZWElnZG1Gc2RXVWdQU0JqYzNOTFpYbDNiM0prYzF0clpYbDNiM0prWFR0Y2JseHVYSFJjZEZ4MEx5OGdRMjl0Y0hWMFpTQmpiMjF3WVhKaGRHbDJaU0JrYVhOMFlXNWpaVnh1WEhSY2RGeDBkbUZ5SUdScGMzUmhibU5sSUQwZ1kyOXRjR0Z5WVhScGRtVkVhWE4wWVc1alpTaHlaMklzSUhaaGJIVmxLVHRjYmx4dVhIUmNkRngwTHk4Z1EyaGxZMnNnYVdZZ2FYUnpJR3hsYzNNc0lHbG1JSE52SUhObGRDQmhjeUJqYkc5elpYTjBYRzVjZEZ4MFhIUnBaaUFvWkdsemRHRnVZMlVnUENCamRYSnlaVzUwUTJ4dmMyVnpkRVJwYzNSaGJtTmxLU0I3WEc1Y2RGeDBYSFJjZEdOMWNuSmxiblJEYkc5elpYTjBSR2x6ZEdGdVkyVWdQU0JrYVhOMFlXNWpaVHRjYmx4MFhIUmNkRngwWTNWeWNtVnVkRU5zYjNObGMzUkxaWGwzYjNKa0lEMGdhMlY1ZDI5eVpEdGNibHgwWEhSY2RIMWNibHgwWEhSOVhHNWNkSDFjYmx4dVhIUnlaWFIxY200Z1kzVnljbVZ1ZEVOc2IzTmxjM1JMWlhsM2IzSmtPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNXJaWGwzYjNKa0xuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoclpYbDNiM0prS1NCN1hHNWNkSEpsZEhWeWJpQmpjM05MWlhsM2IzSmtjMXRyWlhsM2IzSmtYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG5oNWVpQTlJR1oxYm1OMGFXOXVJQ2h5WjJJcElIdGNibHgwZG1GeUlISWdQU0J5WjJKYk1GMGdMeUF5TlRVN1hHNWNkSFpoY2lCbklEMGdjbWRpV3pGZElDOGdNalUxTzF4dVhIUjJZWElnWWlBOUlISm5ZbHN5WFNBdklESTFOVHRjYmx4dVhIUXZMeUJoYzNOMWJXVWdjMUpIUWx4dVhIUnlJRDBnY2lBK0lEQXVNRFF3TkRVZ1B5Qk5ZWFJvTG5CdmR5Z29LSElnS3lBd0xqQTFOU2tnTHlBeExqQTFOU2tzSURJdU5Da2dPaUFvY2lBdklERXlMamt5S1R0Y2JseDBaeUE5SUdjZ1BpQXdMakEwTURRMUlEOGdUV0YwYUM1d2IzY29LQ2huSUNzZ01DNHdOVFVwSUM4Z01TNHdOVFVwTENBeUxqUXBJRG9nS0djZ0x5QXhNaTQ1TWlrN1hHNWNkR0lnUFNCaUlENGdNQzR3TkRBME5TQS9JRTFoZEdndWNHOTNLQ2dvWWlBcklEQXVNRFUxS1NBdklERXVNRFUxS1N3Z01pNDBLU0E2SUNoaUlDOGdNVEl1T1RJcE8xeHVYRzVjZEhaaGNpQjRJRDBnS0hJZ0tpQXdMalF4TWpRcElDc2dLR2NnS2lBd0xqTTFOellwSUNzZ0tHSWdLaUF3TGpFNE1EVXBPMXh1WEhSMllYSWdlU0E5SUNoeUlDb2dNQzR5TVRJMktTQXJJQ2huSUNvZ01DNDNNVFV5S1NBcklDaGlJQ29nTUM0d056SXlLVHRjYmx4MGRtRnlJSG9nUFNBb2NpQXFJREF1TURFNU15a2dLeUFvWnlBcUlEQXVNVEU1TWlrZ0t5QW9ZaUFxSURBdU9UVXdOU2s3WEc1Y2JseDBjbVYwZFhKdUlGdDRJQ29nTVRBd0xDQjVJQ29nTVRBd0xDQjZJQ29nTVRBd1hUdGNibjA3WEc1Y2JtTnZiblpsY25RdWNtZGlMbXhoWWlBOUlHWjFibU4wYVc5dUlDaHlaMklwSUh0Y2JseDBkbUZ5SUhoNWVpQTlJR052Ym5abGNuUXVjbWRpTG5oNWVpaHlaMklwTzF4dVhIUjJZWElnZUNBOUlIaDVlbHN3WFR0Y2JseDBkbUZ5SUhrZ1BTQjRlWHBiTVYwN1hHNWNkSFpoY2lCNklEMGdlSGw2V3pKZE8xeHVYSFIyWVhJZ2JEdGNibHgwZG1GeUlHRTdYRzVjZEhaaGNpQmlPMXh1WEc1Y2RIZ2dMejBnT1RVdU1EUTNPMXh1WEhSNUlDODlJREV3TUR0Y2JseDBlaUF2UFNBeE1EZ3VPRGd6TzF4dVhHNWNkSGdnUFNCNElENGdNQzR3TURnNE5UWWdQeUJOWVhSb0xuQnZkeWg0TENBeElDOGdNeWtnT2lBb055NDNPRGNnS2lCNEtTQXJJQ2d4TmlBdklERXhOaWs3WEc1Y2RIa2dQU0I1SUQ0Z01DNHdNRGc0TlRZZ1B5Qk5ZWFJvTG5CdmR5aDVMQ0F4SUM4Z015a2dPaUFvTnk0M09EY2dLaUI1S1NBcklDZ3hOaUF2SURFeE5pazdYRzVjZEhvZ1BTQjZJRDRnTUM0d01EZzROVFlnUHlCTllYUm9MbkJ2ZHloNkxDQXhJQzhnTXlrZ09pQW9OeTQzT0RjZ0tpQjZLU0FySUNneE5pQXZJREV4TmlrN1hHNWNibHgwYkNBOUlDZ3hNVFlnS2lCNUtTQXRJREUyTzF4dVhIUmhJRDBnTlRBd0lDb2dLSGdnTFNCNUtUdGNibHgwWWlBOUlESXdNQ0FxSUNoNUlDMGdlaWs3WEc1Y2JseDBjbVYwZFhKdUlGdHNMQ0JoTENCaVhUdGNibjA3WEc1Y2JtTnZiblpsY25RdWFITnNMbkpuWWlBOUlHWjFibU4wYVc5dUlDaG9jMndwSUh0Y2JseDBkbUZ5SUdnZ1BTQm9jMnhiTUYwZ0x5QXpOakE3WEc1Y2RIWmhjaUJ6SUQwZ2FITnNXekZkSUM4Z01UQXdPMXh1WEhSMllYSWdiQ0E5SUdoemJGc3lYU0F2SURFd01EdGNibHgwZG1GeUlIUXhPMXh1WEhSMllYSWdkREk3WEc1Y2RIWmhjaUIwTXp0Y2JseDBkbUZ5SUhKbllqdGNibHgwZG1GeUlIWmhiRHRjYmx4dVhIUnBaaUFvY3lBOVBUMGdNQ2tnZTF4dVhIUmNkSFpoYkNBOUlHd2dLaUF5TlRVN1hHNWNkRngwY21WMGRYSnVJRnQyWVd3c0lIWmhiQ3dnZG1Gc1hUdGNibHgwZlZ4dVhHNWNkR2xtSUNoc0lEd2dNQzQxS1NCN1hHNWNkRngwZERJZ1BTQnNJQ29nS0RFZ0t5QnpLVHRjYmx4MGZTQmxiSE5sSUh0Y2JseDBYSFIwTWlBOUlHd2dLeUJ6SUMwZ2JDQXFJSE03WEc1Y2RIMWNibHh1WEhSME1TQTlJRElnS2lCc0lDMGdkREk3WEc1Y2JseDBjbWRpSUQwZ1d6QXNJREFzSURCZE8xeHVYSFJtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURNN0lHa3JLeWtnZTF4dVhIUmNkSFF6SUQwZ2FDQXJJREVnTHlBeklDb2dMU2hwSUMwZ01TazdYRzVjZEZ4MGFXWWdLSFF6SUR3Z01Da2dlMXh1WEhSY2RGeDBkRE1yS3p0Y2JseDBYSFI5WEc1Y2RGeDBhV1lnS0hReklENGdNU2tnZTF4dVhIUmNkRngwZERNdExUdGNibHgwWEhSOVhHNWNibHgwWEhScFppQW9OaUFxSUhReklEd2dNU2tnZTF4dVhIUmNkRngwZG1Gc0lEMGdkREVnS3lBb2RESWdMU0IwTVNrZ0tpQTJJQ29nZERNN1hHNWNkRngwZlNCbGJITmxJR2xtSUNneUlDb2dkRE1nUENBeEtTQjdYRzVjZEZ4MFhIUjJZV3dnUFNCME1qdGNibHgwWEhSOUlHVnNjMlVnYVdZZ0tETWdLaUIwTXlBOElESXBJSHRjYmx4MFhIUmNkSFpoYkNBOUlIUXhJQ3NnS0hReUlDMGdkREVwSUNvZ0tESWdMeUF6SUMwZ2RETXBJQ29nTmp0Y2JseDBYSFI5SUdWc2MyVWdlMXh1WEhSY2RGeDBkbUZzSUQwZ2RERTdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGNtZGlXMmxkSUQwZ2RtRnNJQ29nTWpVMU8xeHVYSFI5WEc1Y2JseDBjbVYwZFhKdUlISm5ZanRjYm4wN1hHNWNibU52Ym5abGNuUXVhSE5zTG1oemRpQTlJR1oxYm1OMGFXOXVJQ2hvYzJ3cElIdGNibHgwZG1GeUlHZ2dQU0JvYzJ4Yk1GMDdYRzVjZEhaaGNpQnpJRDBnYUhOc1d6RmRJQzhnTVRBd08xeHVYSFIyWVhJZ2JDQTlJR2h6YkZzeVhTQXZJREV3TUR0Y2JseDBkbUZ5SUhOdGFXNGdQU0J6TzF4dVhIUjJZWElnYkcxcGJpQTlJRTFoZEdndWJXRjRLR3dzSURBdU1ERXBPMXh1WEhSMllYSWdjM1k3WEc1Y2RIWmhjaUIyTzF4dVhHNWNkR3dnS2owZ01qdGNibHgwY3lBcVBTQW9iQ0E4UFNBeEtTQS9JR3dnT2lBeUlDMGdiRHRjYmx4MGMyMXBiaUFxUFNCc2JXbHVJRHc5SURFZ1B5QnNiV2x1SURvZ01pQXRJR3h0YVc0N1hHNWNkSFlnUFNBb2JDQXJJSE1wSUM4Z01qdGNibHgwYzNZZ1BTQnNJRDA5UFNBd0lEOGdLRElnS2lCemJXbHVLU0F2SUNoc2JXbHVJQ3NnYzIxcGJpa2dPaUFvTWlBcUlITXBJQzhnS0d3Z0t5QnpLVHRjYmx4dVhIUnlaWFIxY200Z1cyZ3NJSE4ySUNvZ01UQXdMQ0IySUNvZ01UQXdYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVhSE4yTG5KbllpQTlJR1oxYm1OMGFXOXVJQ2hvYzNZcElIdGNibHgwZG1GeUlHZ2dQU0JvYzNaYk1GMGdMeUEyTUR0Y2JseDBkbUZ5SUhNZ1BTQm9jM1piTVYwZ0x5QXhNREE3WEc1Y2RIWmhjaUIySUQwZ2FITjJXekpkSUM4Z01UQXdPMXh1WEhSMllYSWdhR2tnUFNCTllYUm9MbVpzYjI5eUtHZ3BJQ1VnTmp0Y2JseHVYSFIyWVhJZ1ppQTlJR2dnTFNCTllYUm9MbVpzYjI5eUtHZ3BPMXh1WEhSMllYSWdjQ0E5SURJMU5TQXFJSFlnS2lBb01TQXRJSE1wTzF4dVhIUjJZWElnY1NBOUlESTFOU0FxSUhZZ0tpQW9NU0F0SUNoeklDb2daaWtwTzF4dVhIUjJZWElnZENBOUlESTFOU0FxSUhZZ0tpQW9NU0F0SUNoeklDb2dLREVnTFNCbUtTa3BPMXh1WEhSMklDbzlJREkxTlR0Y2JseHVYSFJ6ZDJsMFkyZ2dLR2hwS1NCN1hHNWNkRngwWTJGelpTQXdPbHh1WEhSY2RGeDBjbVYwZFhKdUlGdDJMQ0IwTENCd1hUdGNibHgwWEhSallYTmxJREU2WEc1Y2RGeDBYSFJ5WlhSMWNtNGdXM0VzSUhZc0lIQmRPMXh1WEhSY2RHTmhjMlVnTWpwY2JseDBYSFJjZEhKbGRIVnliaUJiY0N3Z2Rpd2dkRjA3WEc1Y2RGeDBZMkZ6WlNBek9seHVYSFJjZEZ4MGNtVjBkWEp1SUZ0d0xDQnhMQ0IyWFR0Y2JseDBYSFJqWVhObElEUTZYRzVjZEZ4MFhIUnlaWFIxY200Z1czUXNJSEFzSUhaZE8xeHVYSFJjZEdOaGMyVWdOVHBjYmx4MFhIUmNkSEpsZEhWeWJpQmJkaXdnY0N3Z2NWMDdYRzVjZEgxY2JuMDdYRzVjYm1OdmJuWmxjblF1YUhOMkxtaHpiQ0E5SUdaMWJtTjBhVzl1SUNob2MzWXBJSHRjYmx4MGRtRnlJR2dnUFNCb2MzWmJNRjA3WEc1Y2RIWmhjaUJ6SUQwZ2FITjJXekZkSUM4Z01UQXdPMXh1WEhSMllYSWdkaUE5SUdoemRsc3lYU0F2SURFd01EdGNibHgwZG1GeUlIWnRhVzRnUFNCTllYUm9MbTFoZUNoMkxDQXdMakF4S1R0Y2JseDBkbUZ5SUd4dGFXNDdYRzVjZEhaaGNpQnpiRHRjYmx4MGRtRnlJR3c3WEc1Y2JseDBiQ0E5SUNneUlDMGdjeWtnS2lCMk8xeHVYSFJzYldsdUlEMGdLRElnTFNCektTQXFJSFp0YVc0N1hHNWNkSE5zSUQwZ2N5QXFJSFp0YVc0N1hHNWNkSE5zSUM4OUlDaHNiV2x1SUR3OUlERXBJRDhnYkcxcGJpQTZJRElnTFNCc2JXbHVPMXh1WEhSemJDQTlJSE5zSUh4OElEQTdYRzVjZEd3Z0x6MGdNanRjYmx4dVhIUnlaWFIxY200Z1cyZ3NJSE5zSUNvZ01UQXdMQ0JzSUNvZ01UQXdYVHRjYm4wN1hHNWNiaTh2SUdoMGRIQTZMeTlrWlhZdWR6TXViM0puTDJOemMzZG5MMk56Y3kxamIyeHZjaThqYUhkaUxYUnZMWEpuWWx4dVkyOXVkbVZ5ZEM1b2QySXVjbWRpSUQwZ1puVnVZM1JwYjI0Z0tHaDNZaWtnZTF4dVhIUjJZWElnYUNBOUlHaDNZbHN3WFNBdklETTJNRHRjYmx4MGRtRnlJSGRvSUQwZ2FIZGlXekZkSUM4Z01UQXdPMXh1WEhSMllYSWdZbXdnUFNCb2QySmJNbDBnTHlBeE1EQTdYRzVjZEhaaGNpQnlZWFJwYnlBOUlIZG9JQ3NnWW13N1hHNWNkSFpoY2lCcE8xeHVYSFIyWVhJZ2RqdGNibHgwZG1GeUlHWTdYRzVjZEhaaGNpQnVPMXh1WEc1Y2RDOHZJSGRvSUNzZ1ltd2dZMkZ1ZENCaVpTQStJREZjYmx4MGFXWWdLSEpoZEdsdklENGdNU2tnZTF4dVhIUmNkSGRvSUM4OUlISmhkR2x2TzF4dVhIUmNkR0pzSUM4OUlISmhkR2x2TzF4dVhIUjlYRzVjYmx4MGFTQTlJRTFoZEdndVpteHZiM0lvTmlBcUlHZ3BPMXh1WEhSMklEMGdNU0F0SUdKc08xeHVYSFJtSUQwZ05pQXFJR2dnTFNCcE8xeHVYRzVjZEdsbUlDZ29hU0FtSURCNE1ERXBJQ0U5UFNBd0tTQjdYRzVjZEZ4MFppQTlJREVnTFNCbU8xeHVYSFI5WEc1Y2JseDBiaUE5SUhkb0lDc2daaUFxSUNoMklDMGdkMmdwT3lBdkx5QnNhVzVsWVhJZ2FXNTBaWEp3YjJ4aGRHbHZibHh1WEc1Y2RIWmhjaUJ5TzF4dVhIUjJZWElnWnp0Y2JseDBkbUZ5SUdJN1hHNWNkSE4zYVhSamFDQW9hU2tnZTF4dVhIUmNkR1JsWm1GMWJIUTZYRzVjZEZ4MFkyRnpaU0EyT2x4dVhIUmNkR05oYzJVZ01Eb2djaUE5SUhZN0lHY2dQU0J1T3lCaUlEMGdkMmc3SUdKeVpXRnJPMXh1WEhSY2RHTmhjMlVnTVRvZ2NpQTlJRzQ3SUdjZ1BTQjJPeUJpSUQwZ2QyZzdJR0p5WldGck8xeHVYSFJjZEdOaGMyVWdNam9nY2lBOUlIZG9PeUJuSUQwZ2Rqc2dZaUE5SUc0N0lHSnlaV0ZyTzF4dVhIUmNkR05oYzJVZ016b2djaUE5SUhkb095Qm5JRDBnYmpzZ1lpQTlJSFk3SUdKeVpXRnJPMXh1WEhSY2RHTmhjMlVnTkRvZ2NpQTlJRzQ3SUdjZ1BTQjNhRHNnWWlBOUlIWTdJR0p5WldGck8xeHVYSFJjZEdOaGMyVWdOVG9nY2lBOUlIWTdJR2NnUFNCM2FEc2dZaUE5SUc0N0lHSnlaV0ZyTzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUZ0eUlDb2dNalUxTENCbklDb2dNalUxTENCaUlDb2dNalUxWFR0Y2JuMDdYRzVjYm1OdmJuWmxjblF1WTIxNWF5NXlaMklnUFNCbWRXNWpkR2x2YmlBb1kyMTVheWtnZTF4dVhIUjJZWElnWXlBOUlHTnRlV3RiTUYwZ0x5QXhNREE3WEc1Y2RIWmhjaUJ0SUQwZ1kyMTVhMXN4WFNBdklERXdNRHRjYmx4MGRtRnlJSGtnUFNCamJYbHJXekpkSUM4Z01UQXdPMXh1WEhSMllYSWdheUE5SUdOdGVXdGJNMTBnTHlBeE1EQTdYRzVjZEhaaGNpQnlPMXh1WEhSMllYSWdaenRjYmx4MGRtRnlJR0k3WEc1Y2JseDBjaUE5SURFZ0xTQk5ZWFJvTG0xcGJpZ3hMQ0JqSUNvZ0tERWdMU0JyS1NBcklHc3BPMXh1WEhSbklEMGdNU0F0SUUxaGRHZ3ViV2x1S0RFc0lHMGdLaUFvTVNBdElHc3BJQ3NnYXlrN1hHNWNkR0lnUFNBeElDMGdUV0YwYUM1dGFXNG9NU3dnZVNBcUlDZ3hJQzBnYXlrZ0t5QnJLVHRjYmx4dVhIUnlaWFIxY200Z1czSWdLaUF5TlRVc0lHY2dLaUF5TlRVc0lHSWdLaUF5TlRWZE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1NGVYb3VjbWRpSUQwZ1puVnVZM1JwYjI0Z0tIaDVlaWtnZTF4dVhIUjJZWElnZUNBOUlIaDVlbHN3WFNBdklERXdNRHRjYmx4MGRtRnlJSGtnUFNCNGVYcGJNVjBnTHlBeE1EQTdYRzVjZEhaaGNpQjZJRDBnZUhsNld6SmRJQzhnTVRBd08xeHVYSFIyWVhJZ2NqdGNibHgwZG1GeUlHYzdYRzVjZEhaaGNpQmlPMXh1WEc1Y2RISWdQU0FvZUNBcUlETXVNalF3TmlrZ0t5QW9lU0FxSUMweExqVXpOeklwSUNzZ0tIb2dLaUF0TUM0ME9UZzJLVHRjYmx4MFp5QTlJQ2g0SUNvZ0xUQXVPVFk0T1NrZ0t5QW9lU0FxSURFdU9EYzFPQ2tnS3lBb2VpQXFJREF1TURReE5TazdYRzVjZEdJZ1BTQW9lQ0FxSURBdU1EVTFOeWtnS3lBb2VTQXFJQzB3TGpJd05EQXBJQ3NnS0hvZ0tpQXhMakExTnpBcE8xeHVYRzVjZEM4dklHRnpjM1Z0WlNCelVrZENYRzVjZEhJZ1BTQnlJRDRnTUM0d01ETXhNekE0WEc1Y2RGeDBQeUFvS0RFdU1EVTFJQ29nVFdGMGFDNXdiM2NvY2l3Z01TNHdJQzhnTWk0MEtTa2dMU0F3TGpBMU5TbGNibHgwWEhRNklISWdLaUF4TWk0NU1qdGNibHh1WEhSbklEMGdaeUErSURBdU1EQXpNVE13T0Z4dVhIUmNkRDhnS0NneExqQTFOU0FxSUUxaGRHZ3VjRzkzS0djc0lERXVNQ0F2SURJdU5Da3BJQzBnTUM0d05UVXBYRzVjZEZ4ME9pQm5JQ29nTVRJdU9USTdYRzVjYmx4MFlpQTlJR0lnUGlBd0xqQXdNekV6TURoY2JseDBYSFEvSUNnb01TNHdOVFVnS2lCTllYUm9MbkJ2ZHloaUxDQXhMakFnTHlBeUxqUXBLU0F0SURBdU1EVTFLVnh1WEhSY2REb2dZaUFxSURFeUxqa3lPMXh1WEc1Y2RISWdQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2d3TENCeUtTd2dNU2s3WEc1Y2RHY2dQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2d3TENCbktTd2dNU2s3WEc1Y2RHSWdQU0JOWVhSb0xtMXBiaWhOWVhSb0xtMWhlQ2d3TENCaUtTd2dNU2s3WEc1Y2JseDBjbVYwZFhKdUlGdHlJQ29nTWpVMUxDQm5JQ29nTWpVMUxDQmlJQ29nTWpVMVhUdGNibjA3WEc1Y2JtTnZiblpsY25RdWVIbDZMbXhoWWlBOUlHWjFibU4wYVc5dUlDaDRlWG9wSUh0Y2JseDBkbUZ5SUhnZ1BTQjRlWHBiTUYwN1hHNWNkSFpoY2lCNUlEMGdlSGw2V3pGZE8xeHVYSFIyWVhJZ2VpQTlJSGg1ZWxzeVhUdGNibHgwZG1GeUlHdzdYRzVjZEhaaGNpQmhPMXh1WEhSMllYSWdZanRjYmx4dVhIUjRJQzg5SURrMUxqQTBOenRjYmx4MGVTQXZQU0F4TURBN1hHNWNkSG9nTHowZ01UQTRMamc0TXp0Y2JseHVYSFI0SUQwZ2VDQStJREF1TURBNE9EVTJJRDhnVFdGMGFDNXdiM2NvZUN3Z01TQXZJRE1wSURvZ0tEY3VOemczSUNvZ2VDa2dLeUFvTVRZZ0x5QXhNVFlwTzF4dVhIUjVJRDBnZVNBK0lEQXVNREE0T0RVMklEOGdUV0YwYUM1d2IzY29lU3dnTVNBdklETXBJRG9nS0RjdU56ZzNJQ29nZVNrZ0t5QW9NVFlnTHlBeE1UWXBPMXh1WEhSNklEMGdlaUErSURBdU1EQTRPRFUySUQ4Z1RXRjBhQzV3YjNjb2Vpd2dNU0F2SURNcElEb2dLRGN1TnpnM0lDb2dlaWtnS3lBb01UWWdMeUF4TVRZcE8xeHVYRzVjZEd3Z1BTQW9NVEUySUNvZ2VTa2dMU0F4Tmp0Y2JseDBZU0E5SURVd01DQXFJQ2g0SUMwZ2VTazdYRzVjZEdJZ1BTQXlNREFnS2lBb2VTQXRJSG9wTzF4dVhHNWNkSEpsZEhWeWJpQmJiQ3dnWVN3Z1lsMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExteGhZaTU0ZVhvZ1BTQm1kVzVqZEdsdmJpQW9iR0ZpS1NCN1hHNWNkSFpoY2lCc0lEMGdiR0ZpV3pCZE8xeHVYSFIyWVhJZ1lTQTlJR3hoWWxzeFhUdGNibHgwZG1GeUlHSWdQU0JzWVdKYk1sMDdYRzVjZEhaaGNpQjRPMXh1WEhSMllYSWdlVHRjYmx4MGRtRnlJSG83WEc1Y2JseDBlU0E5SUNoc0lDc2dNVFlwSUM4Z01URTJPMXh1WEhSNElEMGdZU0F2SURVd01DQXJJSGs3WEc1Y2RIb2dQU0I1SUMwZ1lpQXZJREl3TUR0Y2JseHVYSFIyWVhJZ2VUSWdQU0JOWVhSb0xuQnZkeWg1TENBektUdGNibHgwZG1GeUlIZ3lJRDBnVFdGMGFDNXdiM2NvZUN3Z015azdYRzVjZEhaaGNpQjZNaUE5SUUxaGRHZ3VjRzkzS0hvc0lETXBPMXh1WEhSNUlEMGdlVElnUGlBd0xqQXdPRGcxTmlBL0lIa3lJRG9nS0hrZ0xTQXhOaUF2SURFeE5pa2dMeUEzTGpjNE56dGNibHgwZUNBOUlIZ3lJRDRnTUM0d01EZzROVFlnUHlCNE1pQTZJQ2g0SUMwZ01UWWdMeUF4TVRZcElDOGdOeTQzT0RjN1hHNWNkSG9nUFNCNk1pQStJREF1TURBNE9EVTJJRDhnZWpJZ09pQW9laUF0SURFMklDOGdNVEUyS1NBdklEY3VOemczTzF4dVhHNWNkSGdnS2owZ09UVXVNRFEzTzF4dVhIUjVJQ285SURFd01EdGNibHgwZWlBcVBTQXhNRGd1T0Rnek8xeHVYRzVjZEhKbGRIVnliaUJiZUN3Z2VTd2dlbDA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbXhoWWk1c1kyZ2dQU0JtZFc1amRHbHZiaUFvYkdGaUtTQjdYRzVjZEhaaGNpQnNJRDBnYkdGaVd6QmRPMXh1WEhSMllYSWdZU0E5SUd4aFlsc3hYVHRjYmx4MGRtRnlJR0lnUFNCc1lXSmJNbDA3WEc1Y2RIWmhjaUJvY2p0Y2JseDBkbUZ5SUdnN1hHNWNkSFpoY2lCak8xeHVYRzVjZEdoeUlEMGdUV0YwYUM1aGRHRnVNaWhpTENCaEtUdGNibHgwYUNBOUlHaHlJQ29nTXpZd0lDOGdNaUF2SUUxaGRHZ3VVRWs3WEc1Y2JseDBhV1lnS0dnZ1BDQXdLU0I3WEc1Y2RGeDBhQ0FyUFNBek5qQTdYRzVjZEgxY2JseHVYSFJqSUQwZ1RXRjBhQzV6Y1hKMEtHRWdLaUJoSUNzZ1lpQXFJR0lwTzF4dVhHNWNkSEpsZEhWeWJpQmJiQ3dnWXl3Z2FGMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExteGphQzVzWVdJZ1BTQm1kVzVqZEdsdmJpQW9iR05vS1NCN1hHNWNkSFpoY2lCc0lEMGdiR05vV3pCZE8xeHVYSFIyWVhJZ1l5QTlJR3hqYUZzeFhUdGNibHgwZG1GeUlHZ2dQU0JzWTJoYk1sMDdYRzVjZEhaaGNpQmhPMXh1WEhSMllYSWdZanRjYmx4MGRtRnlJR2h5TzF4dVhHNWNkR2h5SUQwZ2FDQXZJRE0yTUNBcUlESWdLaUJOWVhSb0xsQkpPMXh1WEhSaElEMGdZeUFxSUUxaGRHZ3VZMjl6S0doeUtUdGNibHgwWWlBOUlHTWdLaUJOWVhSb0xuTnBiaWhvY2lrN1hHNWNibHgwY21WMGRYSnVJRnRzTENCaExDQmlYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG1GdWMya3hOaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RIWmhjaUJ5SUQwZ1lYSm5jMXN3WFR0Y2JseDBkbUZ5SUdjZ1BTQmhjbWR6V3pGZE8xeHVYSFIyWVhJZ1lpQTlJR0Z5WjNOYk1sMDdYRzVjZEhaaGNpQjJZV3gxWlNBOUlERWdhVzRnWVhKbmRXMWxiblJ6SUQ4Z1lYSm5kVzFsYm5Seld6RmRJRG9nWTI5dWRtVnlkQzV5WjJJdWFITjJLR0Z5WjNNcFd6SmRPeUF2THlCb2MzWWdMVDRnWVc1emFURTJJRzl3ZEdsdGFYcGhkR2x2Ymx4dVhHNWNkSFpoYkhWbElEMGdUV0YwYUM1eWIzVnVaQ2gyWVd4MVpTQXZJRFV3S1R0Y2JseHVYSFJwWmlBb2RtRnNkV1VnUFQwOUlEQXBJSHRjYmx4MFhIUnlaWFIxY200Z016QTdYRzVjZEgxY2JseHVYSFIyWVhJZ1lXNXphU0E5SURNd1hHNWNkRngwS3lBb0tFMWhkR2d1Y205MWJtUW9ZaUF2SURJMU5Ta2dQRHdnTWlsY2JseDBYSFI4SUNoTllYUm9Mbkp2ZFc1a0tHY2dMeUF5TlRVcElEdzhJREVwWEc1Y2RGeDBmQ0JOWVhSb0xuSnZkVzVrS0hJZ0x5QXlOVFVwS1R0Y2JseHVYSFJwWmlBb2RtRnNkV1VnUFQwOUlESXBJSHRjYmx4MFhIUmhibk5wSUNzOUlEWXdPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJR0Z1YzJrN1hHNTlPMXh1WEc1amIyNTJaWEowTG1oemRpNWhibk5wTVRZZ1BTQm1kVzVqZEdsdmJpQW9ZWEpuY3lrZ2UxeHVYSFF2THlCdmNIUnBiV2w2WVhScGIyNGdhR1Z5WlRzZ2QyVWdZV3h5WldGa2VTQnJibTkzSUhSb1pTQjJZV3gxWlNCaGJtUWdaRzl1SjNRZ2JtVmxaQ0IwYnlCblpYUmNibHgwTHk4Z2FYUWdZMjl1ZG1WeWRHVmtJR1p2Y2lCMWN5NWNibHgwY21WMGRYSnVJR052Ym5abGNuUXVjbWRpTG1GdWMya3hOaWhqYjI1MlpYSjBMbWh6ZGk1eVoySW9ZWEpuY3lrc0lHRnlaM05iTWwwcE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1eVoySXVZVzV6YVRJMU5pQTlJR1oxYm1OMGFXOXVJQ2hoY21kektTQjdYRzVjZEhaaGNpQnlJRDBnWVhKbmMxc3dYVHRjYmx4MGRtRnlJR2NnUFNCaGNtZHpXekZkTzF4dVhIUjJZWElnWWlBOUlHRnlaM05iTWwwN1hHNWNibHgwTHk4Z2QyVWdkWE5sSUhSb1pTQmxlSFJsYm1SbFpDQm5jbVY1YzJOaGJHVWdjR0ZzWlhSMFpTQm9aWEpsTENCM2FYUm9JSFJvWlNCbGVHTmxjSFJwYjI0Z2IyWmNibHgwTHk4Z1lteGhZMnNnWVc1a0lIZG9hWFJsTGlCdWIzSnRZV3dnY0dGc1pYUjBaU0J2Ym14NUlHaGhjeUEwSUdkeVpYbHpZMkZzWlNCemFHRmtaWE11WEc1Y2RHbG1JQ2h5SUQwOVBTQm5JQ1ltSUdjZ1BUMDlJR0lwSUh0Y2JseDBYSFJwWmlBb2NpQThJRGdwSUh0Y2JseDBYSFJjZEhKbGRIVnliaUF4Tmp0Y2JseDBYSFI5WEc1Y2JseDBYSFJwWmlBb2NpQStJREkwT0NrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1SURJek1UdGNibHgwWEhSOVhHNWNibHgwWEhSeVpYUjFjbTRnVFdGMGFDNXliM1Z1WkNnb0tISWdMU0E0S1NBdklESTBOeWtnS2lBeU5Da2dLeUF5TXpJN1hHNWNkSDFjYmx4dVhIUjJZWElnWVc1emFTQTlJREUyWEc1Y2RGeDBLeUFvTXpZZ0tpQk5ZWFJvTG5KdmRXNWtLSElnTHlBeU5UVWdLaUExS1NsY2JseDBYSFFySUNnMklDb2dUV0YwYUM1eWIzVnVaQ2huSUM4Z01qVTFJQ29nTlNrcFhHNWNkRngwS3lCTllYUm9Mbkp2ZFc1a0tHSWdMeUF5TlRVZ0tpQTFLVHRjYmx4dVhIUnlaWFIxY200Z1lXNXphVHRjYm4wN1hHNWNibU52Ym5abGNuUXVZVzV6YVRFMkxuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RIWmhjaUJqYjJ4dmNpQTlJR0Z5WjNNZ0pTQXhNRHRjYmx4dVhIUXZMeUJvWVc1a2JHVWdaM0psZVhOallXeGxYRzVjZEdsbUlDaGpiMnh2Y2lBOVBUMGdNQ0I4ZkNCamIyeHZjaUE5UFQwZ055a2dlMXh1WEhSY2RHbG1JQ2hoY21keklENGdOVEFwSUh0Y2JseDBYSFJjZEdOdmJHOXlJQ3M5SURNdU5UdGNibHgwWEhSOVhHNWNibHgwWEhSamIyeHZjaUE5SUdOdmJHOXlJQzhnTVRBdU5TQXFJREkxTlR0Y2JseHVYSFJjZEhKbGRIVnliaUJiWTI5c2IzSXNJR052Ykc5eUxDQmpiMnh2Y2wwN1hHNWNkSDFjYmx4dVhIUjJZWElnYlhWc2RDQTlJQ2grZmloaGNtZHpJRDRnTlRBcElDc2dNU2tnS2lBd0xqVTdYRzVjZEhaaGNpQnlJRDBnS0NoamIyeHZjaUFtSURFcElDb2diWFZzZENrZ0tpQXlOVFU3WEc1Y2RIWmhjaUJuSUQwZ0tDZ29ZMjlzYjNJZ1BqNGdNU2tnSmlBeEtTQXFJRzExYkhRcElDb2dNalUxTzF4dVhIUjJZWElnWWlBOUlDZ29LR052Ykc5eUlENCtJRElwSUNZZ01Ta2dLaUJ0ZFd4MEtTQXFJREkxTlR0Y2JseHVYSFJ5WlhSMWNtNGdXM0lzSUdjc0lHSmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNWhibk5wTWpVMkxuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RDOHZJR2hoYm1Sc1pTQm5jbVY1YzJOaGJHVmNibHgwYVdZZ0tHRnlaM01nUGowZ01qTXlLU0I3WEc1Y2RGeDBkbUZ5SUdNZ1BTQW9ZWEpuY3lBdElESXpNaWtnS2lBeE1DQXJJRGc3WEc1Y2RGeDBjbVYwZFhKdUlGdGpMQ0JqTENCalhUdGNibHgwZlZ4dVhHNWNkR0Z5WjNNZ0xUMGdNVFk3WEc1Y2JseDBkbUZ5SUhKbGJUdGNibHgwZG1GeUlISWdQU0JOWVhSb0xtWnNiMjl5S0dGeVozTWdMeUF6TmlrZ0x5QTFJQ29nTWpVMU8xeHVYSFIyWVhJZ1p5QTlJRTFoZEdndVpteHZiM0lvS0hKbGJTQTlJR0Z5WjNNZ0pTQXpOaWtnTHlBMktTQXZJRFVnS2lBeU5UVTdYRzVjZEhaaGNpQmlJRDBnS0hKbGJTQWxJRFlwSUM4Z05TQXFJREkxTlR0Y2JseHVYSFJ5WlhSMWNtNGdXM0lzSUdjc0lHSmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNXlaMkl1YUdWNElEMGdablZ1WTNScGIyNGdLR0Z5WjNNcElIdGNibHgwZG1GeUlHbHVkR1ZuWlhJZ1BTQW9LRTFoZEdndWNtOTFibVFvWVhKbmMxc3dYU2tnSmlBd2VFWkdLU0E4UENBeE5pbGNibHgwWEhRcklDZ29UV0YwYUM1eWIzVnVaQ2hoY21keld6RmRLU0FtSURCNFJrWXBJRHc4SURncFhHNWNkRngwS3lBb1RXRjBhQzV5YjNWdVpDaGhjbWR6V3pKZEtTQW1JREI0UmtZcE8xeHVYRzVjZEhaaGNpQnpkSEpwYm1jZ1BTQnBiblJsWjJWeUxuUnZVM1J5YVc1bktERTJLUzUwYjFWd2NHVnlRMkZ6WlNncE8xeHVYSFJ5WlhSMWNtNGdKekF3TURBd01DY3VjM1ZpYzNSeWFXNW5LSE4wY21sdVp5NXNaVzVuZEdncElDc2djM1J5YVc1bk8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1b1pYZ3VjbWRpSUQwZ1puVnVZM1JwYjI0Z0tHRnlaM01wSUh0Y2JseDBkbUZ5SUcxaGRHTm9JRDBnWVhKbmN5NTBiMU4wY21sdVp5Z3hOaWt1YldGMFkyZ29MMXRoTFdZd0xUbGRlelo5ZkZ0aExXWXdMVGxkZXpOOUwya3BPMXh1WEhScFppQW9JVzFoZEdOb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUZzd0xDQXdMQ0F3WFR0Y2JseDBmVnh1WEc1Y2RIWmhjaUJqYjJ4dmNsTjBjbWx1WnlBOUlHMWhkR05vV3pCZE8xeHVYRzVjZEdsbUlDaHRZWFJqYUZzd1hTNXNaVzVuZEdnZ1BUMDlJRE1wSUh0Y2JseDBYSFJqYjJ4dmNsTjBjbWx1WnlBOUlHTnZiRzl5VTNSeWFXNW5Mbk53YkdsMEtDY25LUzV0WVhBb1puVnVZM1JwYjI0Z0tHTm9ZWElwSUh0Y2JseDBYSFJjZEhKbGRIVnliaUJqYUdGeUlDc2dZMmhoY2p0Y2JseDBYSFI5S1M1cWIybHVLQ2NuS1R0Y2JseDBmVnh1WEc1Y2RIWmhjaUJwYm5SbFoyVnlJRDBnY0dGeWMyVkpiblFvWTI5c2IzSlRkSEpwYm1jc0lERTJLVHRjYmx4MGRtRnlJSElnUFNBb2FXNTBaV2RsY2lBK1BpQXhOaWtnSmlBd2VFWkdPMXh1WEhSMllYSWdaeUE5SUNocGJuUmxaMlZ5SUQ0K0lEZ3BJQ1lnTUhoR1JqdGNibHgwZG1GeUlHSWdQU0JwYm5SbFoyVnlJQ1lnTUhoR1JqdGNibHh1WEhSeVpYUjFjbTRnVzNJc0lHY3NJR0pkTzF4dWZUdGNibHh1WTI5dWRtVnlkQzV5WjJJdWFHTm5JRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSMllYSWdjaUE5SUhKbllsc3dYU0F2SURJMU5UdGNibHgwZG1GeUlHY2dQU0J5WjJKYk1WMGdMeUF5TlRVN1hHNWNkSFpoY2lCaUlEMGdjbWRpV3pKZElDOGdNalUxTzF4dVhIUjJZWElnYldGNElEMGdUV0YwYUM1dFlYZ29UV0YwYUM1dFlYZ29jaXdnWnlrc0lHSXBPMXh1WEhSMllYSWdiV2x1SUQwZ1RXRjBhQzV0YVc0b1RXRjBhQzV0YVc0b2Npd2daeWtzSUdJcE8xeHVYSFIyWVhJZ1kyaHliMjFoSUQwZ0tHMWhlQ0F0SUcxcGJpazdYRzVjZEhaaGNpQm5jbUY1YzJOaGJHVTdYRzVjZEhaaGNpQm9kV1U3WEc1Y2JseDBhV1lnS0dOb2NtOXRZU0E4SURFcElIdGNibHgwWEhSbmNtRjVjMk5oYkdVZ1BTQnRhVzRnTHlBb01TQXRJR05vY205dFlTazdYRzVjZEgwZ1pXeHpaU0I3WEc1Y2RGeDBaM0poZVhOallXeGxJRDBnTUR0Y2JseDBmVnh1WEc1Y2RHbG1JQ2hqYUhKdmJXRWdQRDBnTUNrZ2UxeHVYSFJjZEdoMVpTQTlJREE3WEc1Y2RIMGdaV3h6WlZ4dVhIUnBaaUFvYldGNElEMDlQU0J5S1NCN1hHNWNkRngwYUhWbElEMGdLQ2huSUMwZ1lpa2dMeUJqYUhKdmJXRXBJQ1VnTmp0Y2JseDBmU0JsYkhObFhHNWNkR2xtSUNodFlYZ2dQVDA5SUdjcElIdGNibHgwWEhSb2RXVWdQU0F5SUNzZ0tHSWdMU0J5S1NBdklHTm9jbTl0WVR0Y2JseDBmU0JsYkhObElIdGNibHgwWEhSb2RXVWdQU0EwSUNzZ0tISWdMU0JuS1NBdklHTm9jbTl0WVNBcklEUTdYRzVjZEgxY2JseHVYSFJvZFdVZ0x6MGdOanRjYmx4MGFIVmxJQ1U5SURFN1hHNWNibHgwY21WMGRYSnVJRnRvZFdVZ0tpQXpOakFzSUdOb2NtOXRZU0FxSURFd01Dd2daM0poZVhOallXeGxJQ29nTVRBd1hUdGNibjA3WEc1Y2JtTnZiblpsY25RdWFITnNMbWhqWnlBOUlHWjFibU4wYVc5dUlDaG9jMndwSUh0Y2JseDBkbUZ5SUhNZ1BTQm9jMnhiTVYwZ0x5QXhNREE3WEc1Y2RIWmhjaUJzSUQwZ2FITnNXekpkSUM4Z01UQXdPMXh1WEhSMllYSWdZeUE5SURFN1hHNWNkSFpoY2lCbUlEMGdNRHRjYmx4dVhIUnBaaUFvYkNBOElEQXVOU2tnZTF4dVhIUmNkR01nUFNBeUxqQWdLaUJ6SUNvZ2JEdGNibHgwZlNCbGJITmxJSHRjYmx4MFhIUmpJRDBnTWk0d0lDb2djeUFxSUNneExqQWdMU0JzS1R0Y2JseDBmVnh1WEc1Y2RHbG1JQ2hqSUR3Z01TNHdLU0I3WEc1Y2RGeDBaaUE5SUNoc0lDMGdNQzQxSUNvZ1l5a2dMeUFvTVM0d0lDMGdZeWs3WEc1Y2RIMWNibHh1WEhSeVpYUjFjbTRnVzJoemJGc3dYU3dnWXlBcUlERXdNQ3dnWmlBcUlERXdNRjA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbWh6ZGk1b1kyY2dQU0JtZFc1amRHbHZiaUFvYUhOMktTQjdYRzVjZEhaaGNpQnpJRDBnYUhOMld6RmRJQzhnTVRBd08xeHVYSFIyWVhJZ2RpQTlJR2h6ZGxzeVhTQXZJREV3TUR0Y2JseHVYSFIyWVhJZ1l5QTlJSE1nS2lCMk8xeHVYSFIyWVhJZ1ppQTlJREE3WEc1Y2JseDBhV1lnS0dNZ1BDQXhMakFwSUh0Y2JseDBYSFJtSUQwZ0tIWWdMU0JqS1NBdklDZ3hJQzBnWXlrN1hHNWNkSDFjYmx4dVhIUnlaWFIxY200Z1cyaHpkbHN3WFN3Z1l5QXFJREV3TUN3Z1ppQXFJREV3TUYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1oalp5NXlaMklnUFNCbWRXNWpkR2x2YmlBb2FHTm5LU0I3WEc1Y2RIWmhjaUJvSUQwZ2FHTm5XekJkSUM4Z016WXdPMXh1WEhSMllYSWdZeUE5SUdoaloxc3hYU0F2SURFd01EdGNibHgwZG1GeUlHY2dQU0JvWTJkYk1sMGdMeUF4TURBN1hHNWNibHgwYVdZZ0tHTWdQVDA5SURBdU1Da2dlMXh1WEhSY2RISmxkSFZ5YmlCYlp5QXFJREkxTlN3Z1p5QXFJREkxTlN3Z1p5QXFJREkxTlYwN1hHNWNkSDFjYmx4dVhIUjJZWElnY0hWeVpTQTlJRnN3TENBd0xDQXdYVHRjYmx4MGRtRnlJR2hwSUQwZ0tHZ2dKU0F4S1NBcUlEWTdYRzVjZEhaaGNpQjJJRDBnYUdrZ0pTQXhPMXh1WEhSMllYSWdkeUE5SURFZ0xTQjJPMXh1WEhSMllYSWdiV2NnUFNBd08xeHVYRzVjZEhOM2FYUmphQ0FvVFdGMGFDNW1iRzl2Y2lob2FTa3BJSHRjYmx4MFhIUmpZWE5sSURBNlhHNWNkRngwWEhSd2RYSmxXekJkSUQwZ01Uc2djSFZ5WlZzeFhTQTlJSFk3SUhCMWNtVmJNbDBnUFNBd095QmljbVZoYXp0Y2JseDBYSFJqWVhObElERTZYRzVjZEZ4MFhIUndkWEpsV3pCZElEMGdkenNnY0hWeVpWc3hYU0E5SURFN0lIQjFjbVZiTWwwZ1BTQXdPeUJpY21WaGF6dGNibHgwWEhSallYTmxJREk2WEc1Y2RGeDBYSFJ3ZFhKbFd6QmRJRDBnTURzZ2NIVnlaVnN4WFNBOUlERTdJSEIxY21WYk1sMGdQU0IyT3lCaWNtVmhhenRjYmx4MFhIUmpZWE5sSURNNlhHNWNkRngwWEhSd2RYSmxXekJkSUQwZ01Ec2djSFZ5WlZzeFhTQTlJSGM3SUhCMWNtVmJNbDBnUFNBeE95QmljbVZoYXp0Y2JseDBYSFJqWVhObElEUTZYRzVjZEZ4MFhIUndkWEpsV3pCZElEMGdkanNnY0hWeVpWc3hYU0E5SURBN0lIQjFjbVZiTWwwZ1BTQXhPeUJpY21WaGF6dGNibHgwWEhSa1pXWmhkV3gwT2x4dVhIUmNkRngwY0hWeVpWc3dYU0E5SURFN0lIQjFjbVZiTVYwZ1BTQXdPeUJ3ZFhKbFd6SmRJRDBnZHp0Y2JseDBmVnh1WEc1Y2RHMW5JRDBnS0RFdU1DQXRJR01wSUNvZ1p6dGNibHh1WEhSeVpYUjFjbTRnVzF4dVhIUmNkQ2hqSUNvZ2NIVnlaVnN3WFNBcklHMW5LU0FxSURJMU5TeGNibHgwWEhRb1l5QXFJSEIxY21WYk1WMGdLeUJ0WnlrZ0tpQXlOVFVzWEc1Y2RGeDBLR01nS2lCd2RYSmxXekpkSUNzZ2JXY3BJQ29nTWpVMVhHNWNkRjA3WEc1OU8xeHVYRzVqYjI1MlpYSjBMbWhqWnk1b2MzWWdQU0JtZFc1amRHbHZiaUFvYUdObktTQjdYRzVjZEhaaGNpQmpJRDBnYUdObld6RmRJQzhnTVRBd08xeHVYSFIyWVhJZ1p5QTlJR2hqWjFzeVhTQXZJREV3TUR0Y2JseHVYSFIyWVhJZ2RpQTlJR01nS3lCbklDb2dLREV1TUNBdElHTXBPMXh1WEhSMllYSWdaaUE5SURBN1hHNWNibHgwYVdZZ0tIWWdQaUF3TGpBcElIdGNibHgwWEhSbUlEMGdZeUF2SUhZN1hHNWNkSDFjYmx4dVhIUnlaWFIxY200Z1cyaGpaMXN3WFN3Z1ppQXFJREV3TUN3Z2RpQXFJREV3TUYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1oalp5NW9jMndnUFNCbWRXNWpkR2x2YmlBb2FHTm5LU0I3WEc1Y2RIWmhjaUJqSUQwZ2FHTm5XekZkSUM4Z01UQXdPMXh1WEhSMllYSWdaeUE5SUdoaloxc3lYU0F2SURFd01EdGNibHh1WEhSMllYSWdiQ0E5SUdjZ0tpQW9NUzR3SUMwZ1l5a2dLeUF3TGpVZ0tpQmpPMXh1WEhSMllYSWdjeUE5SURBN1hHNWNibHgwYVdZZ0tHd2dQaUF3TGpBZ0ppWWdiQ0E4SURBdU5Ta2dlMXh1WEhSY2RITWdQU0JqSUM4Z0tESWdLaUJzS1R0Y2JseDBmU0JsYkhObFhHNWNkR2xtSUNoc0lENDlJREF1TlNBbUppQnNJRHdnTVM0d0tTQjdYRzVjZEZ4MGN5QTlJR01nTHlBb01pQXFJQ2d4SUMwZ2JDa3BPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJRnRvWTJkYk1GMHNJSE1nS2lBeE1EQXNJR3dnS2lBeE1EQmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNW9ZMmN1YUhkaUlEMGdablZ1WTNScGIyNGdLR2hqWnlrZ2UxeHVYSFIyWVhJZ1l5QTlJR2hqWjFzeFhTQXZJREV3TUR0Y2JseDBkbUZ5SUdjZ1BTQm9ZMmRiTWwwZ0x5QXhNREE3WEc1Y2RIWmhjaUIySUQwZ1l5QXJJR2NnS2lBb01TNHdJQzBnWXlrN1hHNWNkSEpsZEhWeWJpQmJhR05uV3pCZExDQW9kaUF0SUdNcElDb2dNVEF3TENBb01TQXRJSFlwSUNvZ01UQXdYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVhSGRpTG1oalp5QTlJR1oxYm1OMGFXOXVJQ2hvZDJJcElIdGNibHgwZG1GeUlIY2dQU0JvZDJKYk1WMGdMeUF4TURBN1hHNWNkSFpoY2lCaUlEMGdhSGRpV3pKZElDOGdNVEF3TzF4dVhIUjJZWElnZGlBOUlERWdMU0JpTzF4dVhIUjJZWElnWXlBOUlIWWdMU0IzTzF4dVhIUjJZWElnWnlBOUlEQTdYRzVjYmx4MGFXWWdLR01nUENBeEtTQjdYRzVjZEZ4MFp5QTlJQ2gySUMwZ1l5a2dMeUFvTVNBdElHTXBPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJRnRvZDJKYk1GMHNJR01nS2lBeE1EQXNJR2NnS2lBeE1EQmRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNWhjSEJzWlM1eVoySWdQU0JtZFc1amRHbHZiaUFvWVhCd2JHVXBJSHRjYmx4MGNtVjBkWEp1SUZzb1lYQndiR1ZiTUYwZ0x5QTJOVFV6TlNrZ0tpQXlOVFVzSUNoaGNIQnNaVnN4WFNBdklEWTFOVE0xS1NBcUlESTFOU3dnS0dGd2NHeGxXekpkSUM4Z05qVTFNelVwSUNvZ01qVTFYVHRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG1Gd2NHeGxJRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSeVpYUjFjbTRnV3loeVoySmJNRjBnTHlBeU5UVXBJQ29nTmpVMU16VXNJQ2h5WjJKYk1WMGdMeUF5TlRVcElDb2dOalUxTXpVc0lDaHlaMkpiTWwwZ0x5QXlOVFVwSUNvZ05qVTFNelZkTzF4dWZUdGNibHh1WTI5dWRtVnlkQzVuY21GNUxuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RISmxkSFZ5YmlCYllYSm5jMXN3WFNBdklERXdNQ0FxSURJMU5Td2dZWEpuYzFzd1hTQXZJREV3TUNBcUlESTFOU3dnWVhKbmMxc3dYU0F2SURFd01DQXFJREkxTlYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1keVlYa3VhSE5zSUQwZ1kyOXVkbVZ5ZEM1bmNtRjVMbWh6ZGlBOUlHWjFibU4wYVc5dUlDaGhjbWR6S1NCN1hHNWNkSEpsZEhWeWJpQmJNQ3dnTUN3Z1lYSm5jMXN3WFYwN1hHNTlPMXh1WEc1amIyNTJaWEowTG1keVlYa3VhSGRpSUQwZ1puVnVZM1JwYjI0Z0tHZHlZWGtwSUh0Y2JseDBjbVYwZFhKdUlGc3dMQ0F4TURBc0lHZHlZWGxiTUYxZE8xeHVmVHRjYmx4dVkyOXVkbVZ5ZEM1bmNtRjVMbU50ZVdzZ1BTQm1kVzVqZEdsdmJpQW9aM0poZVNrZ2UxeHVYSFJ5WlhSMWNtNGdXekFzSURBc0lEQXNJR2R5WVhsYk1GMWRPMXh1ZlR0Y2JseHVZMjl1ZG1WeWRDNW5jbUY1TG14aFlpQTlJR1oxYm1OMGFXOXVJQ2huY21GNUtTQjdYRzVjZEhKbGRIVnliaUJiWjNKaGVWc3dYU3dnTUN3Z01GMDdYRzU5TzF4dVhHNWpiMjUyWlhKMExtZHlZWGt1YUdWNElEMGdablZ1WTNScGIyNGdLR2R5WVhrcElIdGNibHgwZG1GeUlIWmhiQ0E5SUUxaGRHZ3VjbTkxYm1Rb1ozSmhlVnN3WFNBdklERXdNQ0FxSURJMU5Ta2dKaUF3ZUVaR08xeHVYSFIyWVhJZ2FXNTBaV2RsY2lBOUlDaDJZV3dnUER3Z01UWXBJQ3NnS0haaGJDQThQQ0E0S1NBcklIWmhiRHRjYmx4dVhIUjJZWElnYzNSeWFXNW5JRDBnYVc1MFpXZGxjaTUwYjFOMGNtbHVaeWd4TmlrdWRHOVZjSEJsY2tOaGMyVW9LVHRjYmx4MGNtVjBkWEp1SUNjd01EQXdNREFuTG5OMVluTjBjbWx1WnloemRISnBibWN1YkdWdVozUm9LU0FySUhOMGNtbHVaenRjYm4wN1hHNWNibU52Ym5abGNuUXVjbWRpTG1keVlYa2dQU0JtZFc1amRHbHZiaUFvY21kaUtTQjdYRzVjZEhaaGNpQjJZV3dnUFNBb2NtZGlXekJkSUNzZ2NtZGlXekZkSUNzZ2NtZGlXekpkS1NBdklETTdYRzVjZEhKbGRIVnliaUJiZG1Gc0lDOGdNalUxSUNvZ01UQXdYVHRjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9jb252ZXJzaW9ucy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGNvbnZlcnNpb25zID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb252ZXJzaW9ucyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9jb252ZXJzaW9ucy5qc1xcXCIpO1xcbnZhciByb3V0ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcm91dGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLWNvbnZlcnQvcm91dGUuanNcXFwiKTtcXG5cXG52YXIgY29udmVydCA9IHt9O1xcblxcbnZhciBtb2RlbHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9ucyk7XFxuXFxuZnVuY3Rpb24gd3JhcFJhdyhmbikge1xcblxcdHZhciB3cmFwcGVkRm4gPSBmdW5jdGlvbiAoYXJncykge1xcblxcdFxcdGlmIChhcmdzID09PSB1bmRlZmluZWQgfHwgYXJncyA9PT0gbnVsbCkge1xcblxcdFxcdFxcdHJldHVybiBhcmdzO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcXG5cXHRcXHRcXHRhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIGZuKGFyZ3MpO1xcblxcdH07XFxuXFxuXFx0Ly8gcHJlc2VydmUgLmNvbnZlcnNpb24gcHJvcGVydHkgaWYgdGhlcmUgaXMgb25lXFxuXFx0aWYgKCdjb252ZXJzaW9uJyBpbiBmbikge1xcblxcdFxcdHdyYXBwZWRGbi5jb252ZXJzaW9uID0gZm4uY29udmVyc2lvbjtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIHdyYXBwZWRGbjtcXG59XFxuXFxuZnVuY3Rpb24gd3JhcFJvdW5kZWQoZm4pIHtcXG5cXHR2YXIgd3JhcHBlZEZuID0gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHRcXHRpZiAoYXJncyA9PT0gdW5kZWZpbmVkIHx8IGFyZ3MgPT09IG51bGwpIHtcXG5cXHRcXHRcXHRyZXR1cm4gYXJncztcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XFxuXFx0XFx0XFx0YXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XFxuXFx0XFx0fVxcblxcblxcdFxcdHZhciByZXN1bHQgPSBmbihhcmdzKTtcXG5cXG5cXHRcXHQvLyB3ZSdyZSBhc3N1bWluZyB0aGUgcmVzdWx0IGlzIGFuIGFycmF5IGhlcmUuXFxuXFx0XFx0Ly8gc2VlIG5vdGljZSBpbiBjb252ZXJzaW9ucy5qczsgZG9uJ3QgdXNlIGJveCB0eXBlc1xcblxcdFxcdC8vIGluIGNvbnZlcnNpb24gZnVuY3Rpb25zLlxcblxcdFxcdGlmICh0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0Jykge1xcblxcdFxcdFxcdGZvciAodmFyIGxlbiA9IHJlc3VsdC5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG5cXHRcXHRcXHRcXHRyZXN1bHRbaV0gPSBNYXRoLnJvdW5kKHJlc3VsdFtpXSk7XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmVzdWx0O1xcblxcdH07XFxuXFxuXFx0Ly8gcHJlc2VydmUgLmNvbnZlcnNpb24gcHJvcGVydHkgaWYgdGhlcmUgaXMgb25lXFxuXFx0aWYgKCdjb252ZXJzaW9uJyBpbiBmbikge1xcblxcdFxcdHdyYXBwZWRGbi5jb252ZXJzaW9uID0gZm4uY29udmVyc2lvbjtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIHdyYXBwZWRGbjtcXG59XFxuXFxubW9kZWxzLmZvckVhY2goZnVuY3Rpb24gKGZyb21Nb2RlbCkge1xcblxcdGNvbnZlcnRbZnJvbU1vZGVsXSA9IHt9O1xcblxcblxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb252ZXJ0W2Zyb21Nb2RlbF0sICdjaGFubmVscycsIHt2YWx1ZTogY29udmVyc2lvbnNbZnJvbU1vZGVsXS5jaGFubmVsc30pO1xcblxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb252ZXJ0W2Zyb21Nb2RlbF0sICdsYWJlbHMnLCB7dmFsdWU6IGNvbnZlcnNpb25zW2Zyb21Nb2RlbF0ubGFiZWxzfSk7XFxuXFxuXFx0dmFyIHJvdXRlcyA9IHJvdXRlKGZyb21Nb2RlbCk7XFxuXFx0dmFyIHJvdXRlTW9kZWxzID0gT2JqZWN0LmtleXMocm91dGVzKTtcXG5cXG5cXHRyb3V0ZU1vZGVscy5mb3JFYWNoKGZ1bmN0aW9uICh0b01vZGVsKSB7XFxuXFx0XFx0dmFyIGZuID0gcm91dGVzW3RvTW9kZWxdO1xcblxcblxcdFxcdGNvbnZlcnRbZnJvbU1vZGVsXVt0b01vZGVsXSA9IHdyYXBSb3VuZGVkKGZuKTtcXG5cXHRcXHRjb252ZXJ0W2Zyb21Nb2RlbF1bdG9Nb2RlbF0ucmF3ID0gd3JhcFJhdyhmbik7XFxuXFx0fSk7XFxufSk7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBjb252ZXJ0O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amIyeHZjaTFqYjI1MlpYSjBMMmx1WkdWNExtcHpQekl5TWpZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNhMFZCUVdVN1FVRkRla01zV1VGQldTeHRRa0ZCVHl4RFFVRkRMSE5FUVVGVE96dEJRVVUzUWpzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3hyUTBGQmEwTTdRVUZEYkVNN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXl4VFFVRlRPMEZCUTJoRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4M1JFRkJkMFFzZFVOQlFYVkRPMEZCUXk5R0xITkVRVUZ6UkN4eFEwRkJjVU03TzBGQlJUTkdPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHRCUVVOR0xFTkJRVU03TzBGQlJVUWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlkyOXNiM0l0WTI5dWRtVnlkQzlwYm1SbGVDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJqYjI1MlpYSnphVzl1Y3lBOUlISmxjWFZwY21Vb0p5NHZZMjl1ZG1WeWMybHZibk1uS1R0Y2JuWmhjaUJ5YjNWMFpTQTlJSEpsY1hWcGNtVW9KeTR2Y205MWRHVW5LVHRjYmx4dWRtRnlJR052Ym5abGNuUWdQU0I3ZlR0Y2JseHVkbUZ5SUcxdlpHVnNjeUE5SUU5aWFtVmpkQzVyWlhsektHTnZiblpsY25OcGIyNXpLVHRjYmx4dVpuVnVZM1JwYjI0Z2QzSmhjRkpoZHlobWJpa2dlMXh1WEhSMllYSWdkM0poY0hCbFpFWnVJRDBnWm5WdVkzUnBiMjRnS0dGeVozTXBJSHRjYmx4MFhIUnBaaUFvWVhKbmN5QTlQVDBnZFc1a1pXWnBibVZrSUh4OElHRnlaM01nUFQwOUlHNTFiR3dwSUh0Y2JseDBYSFJjZEhKbGRIVnliaUJoY21kek8xeHVYSFJjZEgxY2JseHVYSFJjZEdsbUlDaGhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU2tnZTF4dVhIUmNkRngwWVhKbmN5QTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR0Z5WjNWdFpXNTBjeWs3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbVYwZFhKdUlHWnVLR0Z5WjNNcE8xeHVYSFI5TzF4dVhHNWNkQzh2SUhCeVpYTmxjblpsSUM1amIyNTJaWEp6YVc5dUlIQnliM0JsY25SNUlHbG1JSFJvWlhKbElHbHpJRzl1WlZ4dVhIUnBaaUFvSjJOdmJuWmxjbk5wYjI0bklHbHVJR1p1S1NCN1hHNWNkRngwZDNKaGNIQmxaRVp1TG1OdmJuWmxjbk5wYjI0Z1BTQm1iaTVqYjI1MlpYSnphVzl1TzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUhkeVlYQndaV1JHYmp0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZDNKaGNGSnZkVzVrWldRb1ptNHBJSHRjYmx4MGRtRnlJSGR5WVhCd1pXUkdiaUE5SUdaMWJtTjBhVzl1SUNoaGNtZHpLU0I3WEc1Y2RGeDBhV1lnS0dGeVozTWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQmhjbWR6SUQwOVBTQnVkV3hzS1NCN1hHNWNkRngwWEhSeVpYUjFjbTRnWVhKbmN6dGNibHgwWEhSOVhHNWNibHgwWEhScFppQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDQStJREVwSUh0Y2JseDBYSFJjZEdGeVozTWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1wTzF4dVhIUmNkSDFjYmx4dVhIUmNkSFpoY2lCeVpYTjFiSFFnUFNCbWJpaGhjbWR6S1R0Y2JseHVYSFJjZEM4dklIZGxKM0psSUdGemMzVnRhVzVuSUhSb1pTQnlaWE4xYkhRZ2FYTWdZVzRnWVhKeVlYa2dhR1Z5WlM1Y2JseDBYSFF2THlCelpXVWdibTkwYVdObElHbHVJR052Ym5abGNuTnBiMjV6TG1wek95QmtiMjRuZENCMWMyVWdZbTk0SUhSNWNHVnpYRzVjZEZ4MEx5OGdhVzRnWTI5dWRtVnljMmx2YmlCbWRXNWpkR2x2Ym5NdVhHNWNkRngwYVdZZ0tIUjVjR1Z2WmlCeVpYTjFiSFFnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzVjZEZ4MFhIUm1iM0lnS0haaGNpQnNaVzRnUFNCeVpYTjFiSFF1YkdWdVozUm9MQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dhU3NyS1NCN1hHNWNkRngwWEhSY2RISmxjM1ZzZEZ0cFhTQTlJRTFoZEdndWNtOTFibVFvY21WemRXeDBXMmxkS1R0Y2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2JseDBYSFJ5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVYSFI5TzF4dVhHNWNkQzh2SUhCeVpYTmxjblpsSUM1amIyNTJaWEp6YVc5dUlIQnliM0JsY25SNUlHbG1JSFJvWlhKbElHbHpJRzl1WlZ4dVhIUnBaaUFvSjJOdmJuWmxjbk5wYjI0bklHbHVJR1p1S1NCN1hHNWNkRngwZDNKaGNIQmxaRVp1TG1OdmJuWmxjbk5wYjI0Z1BTQm1iaTVqYjI1MlpYSnphVzl1TzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUhkeVlYQndaV1JHYmp0Y2JuMWNibHh1Ylc5a1pXeHpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR1p5YjIxTmIyUmxiQ2tnZTF4dVhIUmpiMjUyWlhKMFcyWnliMjFOYjJSbGJGMGdQU0I3ZlR0Y2JseHVYSFJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1kyOXVkbVZ5ZEZ0bWNtOXRUVzlrWld4ZExDQW5ZMmhoYm01bGJITW5MQ0I3ZG1Gc2RXVTZJR052Ym5abGNuTnBiMjV6VzJaeWIyMU5iMlJsYkYwdVkyaGhibTVsYkhOOUtUdGNibHgwVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHTnZiblpsY25SYlpuSnZiVTF2WkdWc1hTd2dKMnhoWW1Wc2N5Y3NJSHQyWVd4MVpUb2dZMjl1ZG1WeWMybHZibk5iWm5KdmJVMXZaR1ZzWFM1c1lXSmxiSE45S1R0Y2JseHVYSFIyWVhJZ2NtOTFkR1Z6SUQwZ2NtOTFkR1VvWm5KdmJVMXZaR1ZzS1R0Y2JseDBkbUZ5SUhKdmRYUmxUVzlrWld4eklEMGdUMkpxWldOMExtdGxlWE1vY205MWRHVnpLVHRjYmx4dVhIUnliM1YwWlUxdlpHVnNjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2gwYjAxdlpHVnNLU0I3WEc1Y2RGeDBkbUZ5SUdadUlEMGdjbTkxZEdWelczUnZUVzlrWld4ZE8xeHVYRzVjZEZ4MFkyOXVkbVZ5ZEZ0bWNtOXRUVzlrWld4ZFczUnZUVzlrWld4ZElEMGdkM0poY0ZKdmRXNWtaV1FvWm00cE8xeHVYSFJjZEdOdmJuWmxjblJiWm5KdmJVMXZaR1ZzWFZ0MGIwMXZaR1ZzWFM1eVlYY2dQU0IzY21Gd1VtRjNLR1p1S1R0Y2JseDBmU2s3WEc1OUtUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JqYjI1MlpYSjBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L3JvdXRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY29sb3ItY29udmVydC9yb3V0ZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgY29udmVyc2lvbnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbnZlcnNpb25zICovIFxcXCIuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2NvbnZlcnNpb25zLmpzXFxcIik7XFxuXFxuLypcXG5cXHR0aGlzIGZ1bmN0aW9uIHJvdXRlcyBhIG1vZGVsIHRvIGFsbCBvdGhlciBtb2RlbHMuXFxuXFxuXFx0YWxsIGZ1bmN0aW9ucyB0aGF0IGFyZSByb3V0ZWQgaGF2ZSBhIHByb3BlcnR5IGAuY29udmVyc2lvbmAgYXR0YWNoZWRcXG5cXHR0byB0aGUgcmV0dXJuZWQgc3ludGhldGljIGZ1bmN0aW9uLiBUaGlzIHByb3BlcnR5IGlzIGFuIGFycmF5XFxuXFx0b2Ygc3RyaW5ncywgZWFjaCB3aXRoIHRoZSBzdGVwcyBpbiBiZXR3ZWVuIHRoZSAnZnJvbScgYW5kICd0bydcXG5cXHRjb2xvciBtb2RlbHMgKGluY2x1c2l2ZSkuXFxuXFxuXFx0Y29udmVyc2lvbnMgdGhhdCBhcmUgbm90IHBvc3NpYmxlIHNpbXBseSBhcmUgbm90IGluY2x1ZGVkLlxcbiovXFxuXFxuZnVuY3Rpb24gYnVpbGRHcmFwaCgpIHtcXG5cXHR2YXIgZ3JhcGggPSB7fTtcXG5cXHQvLyBodHRwczovL2pzcGVyZi5jb20vb2JqZWN0LWtleXMtdnMtZm9yLWluLXdpdGgtY2xvc3VyZS8zXFxuXFx0dmFyIG1vZGVscyA9IE9iamVjdC5rZXlzKGNvbnZlcnNpb25zKTtcXG5cXG5cXHRmb3IgKHZhciBsZW4gPSBtb2RlbHMubGVuZ3RoLCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuXFx0XFx0Z3JhcGhbbW9kZWxzW2ldXSA9IHtcXG5cXHRcXHRcXHQvLyBodHRwOi8vanNwZXJmLmNvbS8xLXZzLWluZmluaXR5XFxuXFx0XFx0XFx0Ly8gbWljcm8tb3B0LCBidXQgdGhpcyBpcyBzaW1wbGUuXFxuXFx0XFx0XFx0ZGlzdGFuY2U6IC0xLFxcblxcdFxcdFxcdHBhcmVudDogbnVsbFxcblxcdFxcdH07XFxuXFx0fVxcblxcblxcdHJldHVybiBncmFwaDtcXG59XFxuXFxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQnJlYWR0aC1maXJzdF9zZWFyY2hcXG5mdW5jdGlvbiBkZXJpdmVCRlMoZnJvbU1vZGVsKSB7XFxuXFx0dmFyIGdyYXBoID0gYnVpbGRHcmFwaCgpO1xcblxcdHZhciBxdWV1ZSA9IFtmcm9tTW9kZWxdOyAvLyB1bnNoaWZ0IC0+IHF1ZXVlIC0+IHBvcFxcblxcblxcdGdyYXBoW2Zyb21Nb2RlbF0uZGlzdGFuY2UgPSAwO1xcblxcblxcdHdoaWxlIChxdWV1ZS5sZW5ndGgpIHtcXG5cXHRcXHR2YXIgY3VycmVudCA9IHF1ZXVlLnBvcCgpO1xcblxcdFxcdHZhciBhZGphY2VudHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9uc1tjdXJyZW50XSk7XFxuXFxuXFx0XFx0Zm9yICh2YXIgbGVuID0gYWRqYWNlbnRzLmxlbmd0aCwgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcblxcdFxcdFxcdHZhciBhZGphY2VudCA9IGFkamFjZW50c1tpXTtcXG5cXHRcXHRcXHR2YXIgbm9kZSA9IGdyYXBoW2FkamFjZW50XTtcXG5cXG5cXHRcXHRcXHRpZiAobm9kZS5kaXN0YW5jZSA9PT0gLTEpIHtcXG5cXHRcXHRcXHRcXHRub2RlLmRpc3RhbmNlID0gZ3JhcGhbY3VycmVudF0uZGlzdGFuY2UgKyAxO1xcblxcdFxcdFxcdFxcdG5vZGUucGFyZW50ID0gY3VycmVudDtcXG5cXHRcXHRcXHRcXHRxdWV1ZS51bnNoaWZ0KGFkamFjZW50KTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHRyZXR1cm4gZ3JhcGg7XFxufVxcblxcbmZ1bmN0aW9uIGxpbmsoZnJvbSwgdG8pIHtcXG5cXHRyZXR1cm4gZnVuY3Rpb24gKGFyZ3MpIHtcXG5cXHRcXHRyZXR1cm4gdG8oZnJvbShhcmdzKSk7XFxuXFx0fTtcXG59XFxuXFxuZnVuY3Rpb24gd3JhcENvbnZlcnNpb24odG9Nb2RlbCwgZ3JhcGgpIHtcXG5cXHR2YXIgcGF0aCA9IFtncmFwaFt0b01vZGVsXS5wYXJlbnQsIHRvTW9kZWxdO1xcblxcdHZhciBmbiA9IGNvbnZlcnNpb25zW2dyYXBoW3RvTW9kZWxdLnBhcmVudF1bdG9Nb2RlbF07XFxuXFxuXFx0dmFyIGN1ciA9IGdyYXBoW3RvTW9kZWxdLnBhcmVudDtcXG5cXHR3aGlsZSAoZ3JhcGhbY3VyXS5wYXJlbnQpIHtcXG5cXHRcXHRwYXRoLnVuc2hpZnQoZ3JhcGhbY3VyXS5wYXJlbnQpO1xcblxcdFxcdGZuID0gbGluayhjb252ZXJzaW9uc1tncmFwaFtjdXJdLnBhcmVudF1bY3VyXSwgZm4pO1xcblxcdFxcdGN1ciA9IGdyYXBoW2N1cl0ucGFyZW50O1xcblxcdH1cXG5cXG5cXHRmbi5jb252ZXJzaW9uID0gcGF0aDtcXG5cXHRyZXR1cm4gZm47XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZyb21Nb2RlbCkge1xcblxcdHZhciBncmFwaCA9IGRlcml2ZUJGUyhmcm9tTW9kZWwpO1xcblxcdHZhciBjb252ZXJzaW9uID0ge307XFxuXFxuXFx0dmFyIG1vZGVscyA9IE9iamVjdC5rZXlzKGdyYXBoKTtcXG5cXHRmb3IgKHZhciBsZW4gPSBtb2RlbHMubGVuZ3RoLCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuXFx0XFx0dmFyIHRvTW9kZWwgPSBtb2RlbHNbaV07XFxuXFx0XFx0dmFyIG5vZGUgPSBncmFwaFt0b01vZGVsXTtcXG5cXG5cXHRcXHRpZiAobm9kZS5wYXJlbnQgPT09IG51bGwpIHtcXG5cXHRcXHRcXHQvLyBubyBwb3NzaWJsZSBjb252ZXJzaW9uLCBvciB0aGlzIG5vZGUgaXMgdGhlIHNvdXJjZSBtb2RlbC5cXG5cXHRcXHRcXHRjb250aW51ZTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0Y29udmVyc2lvblt0b01vZGVsXSA9IHdyYXBDb252ZXJzaW9uKHRvTW9kZWwsIGdyYXBoKTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIGNvbnZlcnNpb247XFxufTtcXG5cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2kxamIyNTJaWEowTDNKdmRYUmxMbXB6UHpRd01tSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzYTBKQlFXdENMRzFDUVVGUExFTkJRVU1zYTBWQlFXVTdPMEZCUlhwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHhRMEZCY1VNc1UwRkJVenRCUVVNNVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIbENRVUY1UWpzN1FVRkZla0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIbERRVUY1UXl4VFFVRlRPMEZCUTJ4RU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhGRFFVRnhReXhUUVVGVE8wRkJRemxETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJOdmJHOXlMV052Ym5abGNuUXZjbTkxZEdVdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdZMjl1ZG1WeWMybHZibk1nUFNCeVpYRjFhWEpsS0NjdUwyTnZiblpsY25OcGIyNXpKeWs3WEc1Y2JpOHFYRzVjZEhSb2FYTWdablZ1WTNScGIyNGdjbTkxZEdWeklHRWdiVzlrWld3Z2RHOGdZV3hzSUc5MGFHVnlJRzF2WkdWc2N5NWNibHh1WEhSaGJHd2dablZ1WTNScGIyNXpJSFJvWVhRZ1lYSmxJSEp2ZFhSbFpDQm9ZWFpsSUdFZ2NISnZjR1Z5ZEhrZ1lDNWpiMjUyWlhKemFXOXVZQ0JoZEhSaFkyaGxaRnh1WEhSMGJ5QjBhR1VnY21WMGRYSnVaV1FnYzNsdWRHaGxkR2xqSUdaMWJtTjBhVzl1TGlCVWFHbHpJSEJ5YjNCbGNuUjVJR2x6SUdGdUlHRnljbUY1WEc1Y2RHOW1JSE4wY21sdVozTXNJR1ZoWTJnZ2QybDBhQ0IwYUdVZ2MzUmxjSE1nYVc0Z1ltVjBkMlZsYmlCMGFHVWdKMlp5YjIwbklHRnVaQ0FuZEc4blhHNWNkR052Ykc5eUlHMXZaR1ZzY3lBb2FXNWpiSFZ6YVhabEtTNWNibHh1WEhSamIyNTJaWEp6YVc5dWN5QjBhR0YwSUdGeVpTQnViM1FnY0c5emMybGliR1VnYzJsdGNHeDVJR0Z5WlNCdWIzUWdhVzVqYkhWa1pXUXVYRzRxTDF4dVhHNW1kVzVqZEdsdmJpQmlkV2xzWkVkeVlYQm9LQ2tnZTF4dVhIUjJZWElnWjNKaGNHZ2dQU0I3ZlR0Y2JseDBMeThnYUhSMGNITTZMeTlxYzNCbGNtWXVZMjl0TDI5aWFtVmpkQzFyWlhsekxYWnpMV1p2Y2kxcGJpMTNhWFJvTFdOc2IzTjFjbVV2TTF4dVhIUjJZWElnYlc5a1pXeHpJRDBnVDJKcVpXTjBMbXRsZVhNb1kyOXVkbVZ5YzJsdmJuTXBPMXh1WEc1Y2RHWnZjaUFvZG1GeUlHeGxiaUE5SUcxdlpHVnNjeTVzWlc1bmRHZ3NJR2tnUFNBd095QnBJRHdnYkdWdU95QnBLeXNwSUh0Y2JseDBYSFJuY21Gd2FGdHRiMlJsYkhOYmFWMWRJRDBnZTF4dVhIUmNkRngwTHk4Z2FIUjBjRG92TDJwemNHVnlaaTVqYjIwdk1TMTJjeTFwYm1acGJtbDBlVnh1WEhSY2RGeDBMeThnYldsamNtOHRiM0IwTENCaWRYUWdkR2hwY3lCcGN5QnphVzF3YkdVdVhHNWNkRngwWEhSa2FYTjBZVzVqWlRvZ0xURXNYRzVjZEZ4MFhIUndZWEpsYm5RNklHNTFiR3hjYmx4MFhIUjlPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJR2R5WVhCb08xeHVmVnh1WEc0dkx5Qm9kSFJ3Y3pvdkwyVnVMbmRwYTJsd1pXUnBZUzV2Y21jdmQybHJhUzlDY21WaFpIUm9MV1pwY25OMFgzTmxZWEpqYUZ4dVpuVnVZM1JwYjI0Z1pHVnlhWFpsUWtaVEtHWnliMjFOYjJSbGJDa2dlMXh1WEhSMllYSWdaM0poY0dnZ1BTQmlkV2xzWkVkeVlYQm9LQ2s3WEc1Y2RIWmhjaUJ4ZFdWMVpTQTlJRnRtY205dFRXOWtaV3hkT3lBdkx5QjFibk5vYVdaMElDMCtJSEYxWlhWbElDMCtJSEJ2Y0Z4dVhHNWNkR2R5WVhCb1cyWnliMjFOYjJSbGJGMHVaR2x6ZEdGdVkyVWdQU0F3TzF4dVhHNWNkSGRvYVd4bElDaHhkV1YxWlM1c1pXNW5kR2dwSUh0Y2JseDBYSFIyWVhJZ1kzVnljbVZ1ZENBOUlIRjFaWFZsTG5CdmNDZ3BPMXh1WEhSY2RIWmhjaUJoWkdwaFkyVnVkSE1nUFNCUFltcGxZM1F1YTJWNWN5aGpiMjUyWlhKemFXOXVjMXRqZFhKeVpXNTBYU2s3WEc1Y2JseDBYSFJtYjNJZ0tIWmhjaUJzWlc0Z1BTQmhaR3BoWTJWdWRITXViR1Z1WjNSb0xDQnBJRDBnTURzZ2FTQThJR3hsYmpzZ2FTc3JLU0I3WEc1Y2RGeDBYSFIyWVhJZ1lXUnFZV05sYm5RZ1BTQmhaR3BoWTJWdWRITmJhVjA3WEc1Y2RGeDBYSFIyWVhJZ2JtOWtaU0E5SUdkeVlYQm9XMkZrYW1GalpXNTBYVHRjYmx4dVhIUmNkRngwYVdZZ0tHNXZaR1V1WkdsemRHRnVZMlVnUFQwOUlDMHhLU0I3WEc1Y2RGeDBYSFJjZEc1dlpHVXVaR2x6ZEdGdVkyVWdQU0JuY21Gd2FGdGpkWEp5Wlc1MFhTNWthWE4wWVc1alpTQXJJREU3WEc1Y2RGeDBYSFJjZEc1dlpHVXVjR0Z5Wlc1MElEMGdZM1Z5Y21WdWREdGNibHgwWEhSY2RGeDBjWFZsZFdVdWRXNXphR2xtZENoaFpHcGhZMlZ1ZENrN1hHNWNkRngwWEhSOVhHNWNkRngwZlZ4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUdkeVlYQm9PMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnNhVzVyS0daeWIyMHNJSFJ2S1NCN1hHNWNkSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9ZWEpuY3lrZ2UxeHVYSFJjZEhKbGRIVnliaUIwYnlobWNtOXRLR0Z5WjNNcEtUdGNibHgwZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZDNKaGNFTnZiblpsY25OcGIyNG9kRzlOYjJSbGJDd2daM0poY0dncElIdGNibHgwZG1GeUlIQmhkR2dnUFNCYlozSmhjR2hiZEc5TmIyUmxiRjB1Y0dGeVpXNTBMQ0IwYjAxdlpHVnNYVHRjYmx4MGRtRnlJR1p1SUQwZ1kyOXVkbVZ5YzJsdmJuTmJaM0poY0doYmRHOU5iMlJsYkYwdWNHRnlaVzUwWFZ0MGIwMXZaR1ZzWFR0Y2JseHVYSFIyWVhJZ1kzVnlJRDBnWjNKaGNHaGJkRzlOYjJSbGJGMHVjR0Z5Wlc1ME8xeHVYSFIzYUdsc1pTQW9aM0poY0doYlkzVnlYUzV3WVhKbGJuUXBJSHRjYmx4MFhIUndZWFJvTG5WdWMyaHBablFvWjNKaGNHaGJZM1Z5WFM1d1lYSmxiblFwTzF4dVhIUmNkR1p1SUQwZ2JHbHVheWhqYjI1MlpYSnphVzl1YzF0bmNtRndhRnRqZFhKZExuQmhjbVZ1ZEYxYlkzVnlYU3dnWm00cE8xeHVYSFJjZEdOMWNpQTlJR2R5WVhCb1cyTjFjbDB1Y0dGeVpXNTBPMXh1WEhSOVhHNWNibHgwWm00dVkyOXVkbVZ5YzJsdmJpQTlJSEJoZEdnN1hHNWNkSEpsZEhWeWJpQm1ianRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9abkp2YlUxdlpHVnNLU0I3WEc1Y2RIWmhjaUJuY21Gd2FDQTlJR1JsY21sMlpVSkdVeWhtY205dFRXOWtaV3dwTzF4dVhIUjJZWElnWTI5dWRtVnljMmx2YmlBOUlIdDlPMXh1WEc1Y2RIWmhjaUJ0YjJSbGJITWdQU0JQWW1wbFkzUXVhMlY1Y3lobmNtRndhQ2s3WEc1Y2RHWnZjaUFvZG1GeUlHeGxiaUE5SUcxdlpHVnNjeTVzWlc1bmRHZ3NJR2tnUFNBd095QnBJRHdnYkdWdU95QnBLeXNwSUh0Y2JseDBYSFIyWVhJZ2RHOU5iMlJsYkNBOUlHMXZaR1ZzYzF0cFhUdGNibHgwWEhSMllYSWdibTlrWlNBOUlHZHlZWEJvVzNSdlRXOWtaV3hkTzF4dVhHNWNkRngwYVdZZ0tHNXZaR1V1Y0dGeVpXNTBJRDA5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFF2THlCdWJ5QndiM056YVdKc1pTQmpiMjUyWlhKemFXOXVMQ0J2Y2lCMGFHbHpJRzV2WkdVZ2FYTWdkR2hsSUhOdmRYSmpaU0J0YjJSbGJDNWNibHgwWEhSY2RHTnZiblJwYm5WbE8xeHVYSFJjZEgxY2JseHVYSFJjZEdOdmJuWmxjbk5wYjI1YmRHOU5iMlJsYkYwZ1BTQjNjbUZ3UTI5dWRtVnljMmx2YmloMGIwMXZaR1ZzTENCbmNtRndhQ2s3WEc1Y2RIMWNibHh1WEhSeVpYUjFjbTRnWTI5dWRtVnljMmx2Ymp0Y2JuMDdYRzVjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L3JvdXRlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jb2xvci1uYW1lL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY29sb3ItbmFtZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcclxcblxcclxcbm1vZHVsZS5leHBvcnRzID0ge1xcclxcblxcdFxcXCJhbGljZWJsdWVcXFwiOiBbMjQwLCAyNDgsIDI1NV0sXFxyXFxuXFx0XFxcImFudGlxdWV3aGl0ZVxcXCI6IFsyNTAsIDIzNSwgMjE1XSxcXHJcXG5cXHRcXFwiYXF1YVxcXCI6IFswLCAyNTUsIDI1NV0sXFxyXFxuXFx0XFxcImFxdWFtYXJpbmVcXFwiOiBbMTI3LCAyNTUsIDIxMl0sXFxyXFxuXFx0XFxcImF6dXJlXFxcIjogWzI0MCwgMjU1LCAyNTVdLFxcclxcblxcdFxcXCJiZWlnZVxcXCI6IFsyNDUsIDI0NSwgMjIwXSxcXHJcXG5cXHRcXFwiYmlzcXVlXFxcIjogWzI1NSwgMjI4LCAxOTZdLFxcclxcblxcdFxcXCJibGFja1xcXCI6IFswLCAwLCAwXSxcXHJcXG5cXHRcXFwiYmxhbmNoZWRhbG1vbmRcXFwiOiBbMjU1LCAyMzUsIDIwNV0sXFxyXFxuXFx0XFxcImJsdWVcXFwiOiBbMCwgMCwgMjU1XSxcXHJcXG5cXHRcXFwiYmx1ZXZpb2xldFxcXCI6IFsxMzgsIDQzLCAyMjZdLFxcclxcblxcdFxcXCJicm93blxcXCI6IFsxNjUsIDQyLCA0Ml0sXFxyXFxuXFx0XFxcImJ1cmx5d29vZFxcXCI6IFsyMjIsIDE4NCwgMTM1XSxcXHJcXG5cXHRcXFwiY2FkZXRibHVlXFxcIjogWzk1LCAxNTgsIDE2MF0sXFxyXFxuXFx0XFxcImNoYXJ0cmV1c2VcXFwiOiBbMTI3LCAyNTUsIDBdLFxcclxcblxcdFxcXCJjaG9jb2xhdGVcXFwiOiBbMjEwLCAxMDUsIDMwXSxcXHJcXG5cXHRcXFwiY29yYWxcXFwiOiBbMjU1LCAxMjcsIDgwXSxcXHJcXG5cXHRcXFwiY29ybmZsb3dlcmJsdWVcXFwiOiBbMTAwLCAxNDksIDIzN10sXFxyXFxuXFx0XFxcImNvcm5zaWxrXFxcIjogWzI1NSwgMjQ4LCAyMjBdLFxcclxcblxcdFxcXCJjcmltc29uXFxcIjogWzIyMCwgMjAsIDYwXSxcXHJcXG5cXHRcXFwiY3lhblxcXCI6IFswLCAyNTUsIDI1NV0sXFxyXFxuXFx0XFxcImRhcmtibHVlXFxcIjogWzAsIDAsIDEzOV0sXFxyXFxuXFx0XFxcImRhcmtjeWFuXFxcIjogWzAsIDEzOSwgMTM5XSxcXHJcXG5cXHRcXFwiZGFya2dvbGRlbnJvZFxcXCI6IFsxODQsIDEzNCwgMTFdLFxcclxcblxcdFxcXCJkYXJrZ3JheVxcXCI6IFsxNjksIDE2OSwgMTY5XSxcXHJcXG5cXHRcXFwiZGFya2dyZWVuXFxcIjogWzAsIDEwMCwgMF0sXFxyXFxuXFx0XFxcImRhcmtncmV5XFxcIjogWzE2OSwgMTY5LCAxNjldLFxcclxcblxcdFxcXCJkYXJra2hha2lcXFwiOiBbMTg5LCAxODMsIDEwN10sXFxyXFxuXFx0XFxcImRhcmttYWdlbnRhXFxcIjogWzEzOSwgMCwgMTM5XSxcXHJcXG5cXHRcXFwiZGFya29saXZlZ3JlZW5cXFwiOiBbODUsIDEwNywgNDddLFxcclxcblxcdFxcXCJkYXJrb3JhbmdlXFxcIjogWzI1NSwgMTQwLCAwXSxcXHJcXG5cXHRcXFwiZGFya29yY2hpZFxcXCI6IFsxNTMsIDUwLCAyMDRdLFxcclxcblxcdFxcXCJkYXJrcmVkXFxcIjogWzEzOSwgMCwgMF0sXFxyXFxuXFx0XFxcImRhcmtzYWxtb25cXFwiOiBbMjMzLCAxNTAsIDEyMl0sXFxyXFxuXFx0XFxcImRhcmtzZWFncmVlblxcXCI6IFsxNDMsIDE4OCwgMTQzXSxcXHJcXG5cXHRcXFwiZGFya3NsYXRlYmx1ZVxcXCI6IFs3MiwgNjEsIDEzOV0sXFxyXFxuXFx0XFxcImRhcmtzbGF0ZWdyYXlcXFwiOiBbNDcsIDc5LCA3OV0sXFxyXFxuXFx0XFxcImRhcmtzbGF0ZWdyZXlcXFwiOiBbNDcsIDc5LCA3OV0sXFxyXFxuXFx0XFxcImRhcmt0dXJxdW9pc2VcXFwiOiBbMCwgMjA2LCAyMDldLFxcclxcblxcdFxcXCJkYXJrdmlvbGV0XFxcIjogWzE0OCwgMCwgMjExXSxcXHJcXG5cXHRcXFwiZGVlcHBpbmtcXFwiOiBbMjU1LCAyMCwgMTQ3XSxcXHJcXG5cXHRcXFwiZGVlcHNreWJsdWVcXFwiOiBbMCwgMTkxLCAyNTVdLFxcclxcblxcdFxcXCJkaW1ncmF5XFxcIjogWzEwNSwgMTA1LCAxMDVdLFxcclxcblxcdFxcXCJkaW1ncmV5XFxcIjogWzEwNSwgMTA1LCAxMDVdLFxcclxcblxcdFxcXCJkb2RnZXJibHVlXFxcIjogWzMwLCAxNDQsIDI1NV0sXFxyXFxuXFx0XFxcImZpcmVicmlja1xcXCI6IFsxNzgsIDM0LCAzNF0sXFxyXFxuXFx0XFxcImZsb3JhbHdoaXRlXFxcIjogWzI1NSwgMjUwLCAyNDBdLFxcclxcblxcdFxcXCJmb3Jlc3RncmVlblxcXCI6IFszNCwgMTM5LCAzNF0sXFxyXFxuXFx0XFxcImZ1Y2hzaWFcXFwiOiBbMjU1LCAwLCAyNTVdLFxcclxcblxcdFxcXCJnYWluc2Jvcm9cXFwiOiBbMjIwLCAyMjAsIDIyMF0sXFxyXFxuXFx0XFxcImdob3N0d2hpdGVcXFwiOiBbMjQ4LCAyNDgsIDI1NV0sXFxyXFxuXFx0XFxcImdvbGRcXFwiOiBbMjU1LCAyMTUsIDBdLFxcclxcblxcdFxcXCJnb2xkZW5yb2RcXFwiOiBbMjE4LCAxNjUsIDMyXSxcXHJcXG5cXHRcXFwiZ3JheVxcXCI6IFsxMjgsIDEyOCwgMTI4XSxcXHJcXG5cXHRcXFwiZ3JlZW5cXFwiOiBbMCwgMTI4LCAwXSxcXHJcXG5cXHRcXFwiZ3JlZW55ZWxsb3dcXFwiOiBbMTczLCAyNTUsIDQ3XSxcXHJcXG5cXHRcXFwiZ3JleVxcXCI6IFsxMjgsIDEyOCwgMTI4XSxcXHJcXG5cXHRcXFwiaG9uZXlkZXdcXFwiOiBbMjQwLCAyNTUsIDI0MF0sXFxyXFxuXFx0XFxcImhvdHBpbmtcXFwiOiBbMjU1LCAxMDUsIDE4MF0sXFxyXFxuXFx0XFxcImluZGlhbnJlZFxcXCI6IFsyMDUsIDkyLCA5Ml0sXFxyXFxuXFx0XFxcImluZGlnb1xcXCI6IFs3NSwgMCwgMTMwXSxcXHJcXG5cXHRcXFwiaXZvcnlcXFwiOiBbMjU1LCAyNTUsIDI0MF0sXFxyXFxuXFx0XFxcImtoYWtpXFxcIjogWzI0MCwgMjMwLCAxNDBdLFxcclxcblxcdFxcXCJsYXZlbmRlclxcXCI6IFsyMzAsIDIzMCwgMjUwXSxcXHJcXG5cXHRcXFwibGF2ZW5kZXJibHVzaFxcXCI6IFsyNTUsIDI0MCwgMjQ1XSxcXHJcXG5cXHRcXFwibGF3bmdyZWVuXFxcIjogWzEyNCwgMjUyLCAwXSxcXHJcXG5cXHRcXFwibGVtb25jaGlmZm9uXFxcIjogWzI1NSwgMjUwLCAyMDVdLFxcclxcblxcdFxcXCJsaWdodGJsdWVcXFwiOiBbMTczLCAyMTYsIDIzMF0sXFxyXFxuXFx0XFxcImxpZ2h0Y29yYWxcXFwiOiBbMjQwLCAxMjgsIDEyOF0sXFxyXFxuXFx0XFxcImxpZ2h0Y3lhblxcXCI6IFsyMjQsIDI1NSwgMjU1XSxcXHJcXG5cXHRcXFwibGlnaHRnb2xkZW5yb2R5ZWxsb3dcXFwiOiBbMjUwLCAyNTAsIDIxMF0sXFxyXFxuXFx0XFxcImxpZ2h0Z3JheVxcXCI6IFsyMTEsIDIxMSwgMjExXSxcXHJcXG5cXHRcXFwibGlnaHRncmVlblxcXCI6IFsxNDQsIDIzOCwgMTQ0XSxcXHJcXG5cXHRcXFwibGlnaHRncmV5XFxcIjogWzIxMSwgMjExLCAyMTFdLFxcclxcblxcdFxcXCJsaWdodHBpbmtcXFwiOiBbMjU1LCAxODIsIDE5M10sXFxyXFxuXFx0XFxcImxpZ2h0c2FsbW9uXFxcIjogWzI1NSwgMTYwLCAxMjJdLFxcclxcblxcdFxcXCJsaWdodHNlYWdyZWVuXFxcIjogWzMyLCAxNzgsIDE3MF0sXFxyXFxuXFx0XFxcImxpZ2h0c2t5Ymx1ZVxcXCI6IFsxMzUsIDIwNiwgMjUwXSxcXHJcXG5cXHRcXFwibGlnaHRzbGF0ZWdyYXlcXFwiOiBbMTE5LCAxMzYsIDE1M10sXFxyXFxuXFx0XFxcImxpZ2h0c2xhdGVncmV5XFxcIjogWzExOSwgMTM2LCAxNTNdLFxcclxcblxcdFxcXCJsaWdodHN0ZWVsYmx1ZVxcXCI6IFsxNzYsIDE5NiwgMjIyXSxcXHJcXG5cXHRcXFwibGlnaHR5ZWxsb3dcXFwiOiBbMjU1LCAyNTUsIDIyNF0sXFxyXFxuXFx0XFxcImxpbWVcXFwiOiBbMCwgMjU1LCAwXSxcXHJcXG5cXHRcXFwibGltZWdyZWVuXFxcIjogWzUwLCAyMDUsIDUwXSxcXHJcXG5cXHRcXFwibGluZW5cXFwiOiBbMjUwLCAyNDAsIDIzMF0sXFxyXFxuXFx0XFxcIm1hZ2VudGFcXFwiOiBbMjU1LCAwLCAyNTVdLFxcclxcblxcdFxcXCJtYXJvb25cXFwiOiBbMTI4LCAwLCAwXSxcXHJcXG5cXHRcXFwibWVkaXVtYXF1YW1hcmluZVxcXCI6IFsxMDIsIDIwNSwgMTcwXSxcXHJcXG5cXHRcXFwibWVkaXVtYmx1ZVxcXCI6IFswLCAwLCAyMDVdLFxcclxcblxcdFxcXCJtZWRpdW1vcmNoaWRcXFwiOiBbMTg2LCA4NSwgMjExXSxcXHJcXG5cXHRcXFwibWVkaXVtcHVycGxlXFxcIjogWzE0NywgMTEyLCAyMTldLFxcclxcblxcdFxcXCJtZWRpdW1zZWFncmVlblxcXCI6IFs2MCwgMTc5LCAxMTNdLFxcclxcblxcdFxcXCJtZWRpdW1zbGF0ZWJsdWVcXFwiOiBbMTIzLCAxMDQsIDIzOF0sXFxyXFxuXFx0XFxcIm1lZGl1bXNwcmluZ2dyZWVuXFxcIjogWzAsIDI1MCwgMTU0XSxcXHJcXG5cXHRcXFwibWVkaXVtdHVycXVvaXNlXFxcIjogWzcyLCAyMDksIDIwNF0sXFxyXFxuXFx0XFxcIm1lZGl1bXZpb2xldHJlZFxcXCI6IFsxOTksIDIxLCAxMzNdLFxcclxcblxcdFxcXCJtaWRuaWdodGJsdWVcXFwiOiBbMjUsIDI1LCAxMTJdLFxcclxcblxcdFxcXCJtaW50Y3JlYW1cXFwiOiBbMjQ1LCAyNTUsIDI1MF0sXFxyXFxuXFx0XFxcIm1pc3R5cm9zZVxcXCI6IFsyNTUsIDIyOCwgMjI1XSxcXHJcXG5cXHRcXFwibW9jY2FzaW5cXFwiOiBbMjU1LCAyMjgsIDE4MV0sXFxyXFxuXFx0XFxcIm5hdmFqb3doaXRlXFxcIjogWzI1NSwgMjIyLCAxNzNdLFxcclxcblxcdFxcXCJuYXZ5XFxcIjogWzAsIDAsIDEyOF0sXFxyXFxuXFx0XFxcIm9sZGxhY2VcXFwiOiBbMjUzLCAyNDUsIDIzMF0sXFxyXFxuXFx0XFxcIm9saXZlXFxcIjogWzEyOCwgMTI4LCAwXSxcXHJcXG5cXHRcXFwib2xpdmVkcmFiXFxcIjogWzEwNywgMTQyLCAzNV0sXFxyXFxuXFx0XFxcIm9yYW5nZVxcXCI6IFsyNTUsIDE2NSwgMF0sXFxyXFxuXFx0XFxcIm9yYW5nZXJlZFxcXCI6IFsyNTUsIDY5LCAwXSxcXHJcXG5cXHRcXFwib3JjaGlkXFxcIjogWzIxOCwgMTEyLCAyMTRdLFxcclxcblxcdFxcXCJwYWxlZ29sZGVucm9kXFxcIjogWzIzOCwgMjMyLCAxNzBdLFxcclxcblxcdFxcXCJwYWxlZ3JlZW5cXFwiOiBbMTUyLCAyNTEsIDE1Ml0sXFxyXFxuXFx0XFxcInBhbGV0dXJxdW9pc2VcXFwiOiBbMTc1LCAyMzgsIDIzOF0sXFxyXFxuXFx0XFxcInBhbGV2aW9sZXRyZWRcXFwiOiBbMjE5LCAxMTIsIDE0N10sXFxyXFxuXFx0XFxcInBhcGF5YXdoaXBcXFwiOiBbMjU1LCAyMzksIDIxM10sXFxyXFxuXFx0XFxcInBlYWNocHVmZlxcXCI6IFsyNTUsIDIxOCwgMTg1XSxcXHJcXG5cXHRcXFwicGVydVxcXCI6IFsyMDUsIDEzMywgNjNdLFxcclxcblxcdFxcXCJwaW5rXFxcIjogWzI1NSwgMTkyLCAyMDNdLFxcclxcblxcdFxcXCJwbHVtXFxcIjogWzIyMSwgMTYwLCAyMjFdLFxcclxcblxcdFxcXCJwb3dkZXJibHVlXFxcIjogWzE3NiwgMjI0LCAyMzBdLFxcclxcblxcdFxcXCJwdXJwbGVcXFwiOiBbMTI4LCAwLCAxMjhdLFxcclxcblxcdFxcXCJyZWJlY2NhcHVycGxlXFxcIjogWzEwMiwgNTEsIDE1M10sXFxyXFxuXFx0XFxcInJlZFxcXCI6IFsyNTUsIDAsIDBdLFxcclxcblxcdFxcXCJyb3N5YnJvd25cXFwiOiBbMTg4LCAxNDMsIDE0M10sXFxyXFxuXFx0XFxcInJveWFsYmx1ZVxcXCI6IFs2NSwgMTA1LCAyMjVdLFxcclxcblxcdFxcXCJzYWRkbGVicm93blxcXCI6IFsxMzksIDY5LCAxOV0sXFxyXFxuXFx0XFxcInNhbG1vblxcXCI6IFsyNTAsIDEyOCwgMTE0XSxcXHJcXG5cXHRcXFwic2FuZHlicm93blxcXCI6IFsyNDQsIDE2NCwgOTZdLFxcclxcblxcdFxcXCJzZWFncmVlblxcXCI6IFs0NiwgMTM5LCA4N10sXFxyXFxuXFx0XFxcInNlYXNoZWxsXFxcIjogWzI1NSwgMjQ1LCAyMzhdLFxcclxcblxcdFxcXCJzaWVubmFcXFwiOiBbMTYwLCA4MiwgNDVdLFxcclxcblxcdFxcXCJzaWx2ZXJcXFwiOiBbMTkyLCAxOTIsIDE5Ml0sXFxyXFxuXFx0XFxcInNreWJsdWVcXFwiOiBbMTM1LCAyMDYsIDIzNV0sXFxyXFxuXFx0XFxcInNsYXRlYmx1ZVxcXCI6IFsxMDYsIDkwLCAyMDVdLFxcclxcblxcdFxcXCJzbGF0ZWdyYXlcXFwiOiBbMTEyLCAxMjgsIDE0NF0sXFxyXFxuXFx0XFxcInNsYXRlZ3JleVxcXCI6IFsxMTIsIDEyOCwgMTQ0XSxcXHJcXG5cXHRcXFwic25vd1xcXCI6IFsyNTUsIDI1MCwgMjUwXSxcXHJcXG5cXHRcXFwic3ByaW5nZ3JlZW5cXFwiOiBbMCwgMjU1LCAxMjddLFxcclxcblxcdFxcXCJzdGVlbGJsdWVcXFwiOiBbNzAsIDEzMCwgMTgwXSxcXHJcXG5cXHRcXFwidGFuXFxcIjogWzIxMCwgMTgwLCAxNDBdLFxcclxcblxcdFxcXCJ0ZWFsXFxcIjogWzAsIDEyOCwgMTI4XSxcXHJcXG5cXHRcXFwidGhpc3RsZVxcXCI6IFsyMTYsIDE5MSwgMjE2XSxcXHJcXG5cXHRcXFwidG9tYXRvXFxcIjogWzI1NSwgOTksIDcxXSxcXHJcXG5cXHRcXFwidHVycXVvaXNlXFxcIjogWzY0LCAyMjQsIDIwOF0sXFxyXFxuXFx0XFxcInZpb2xldFxcXCI6IFsyMzgsIDEzMCwgMjM4XSxcXHJcXG5cXHRcXFwid2hlYXRcXFwiOiBbMjQ1LCAyMjIsIDE3OV0sXFxyXFxuXFx0XFxcIndoaXRlXFxcIjogWzI1NSwgMjU1LCAyNTVdLFxcclxcblxcdFxcXCJ3aGl0ZXNtb2tlXFxcIjogWzI0NSwgMjQ1LCAyNDVdLFxcclxcblxcdFxcXCJ5ZWxsb3dcXFwiOiBbMjU1LCAyNTUsIDBdLFxcclxcblxcdFxcXCJ5ZWxsb3dncmVlblxcXCI6IFsxNTQsIDIwNSwgNTBdXFxyXFxufTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2kxdVlXMWxMMmx1WkdWNExtcHpQMkpoWWpJaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFWazdPMEZCUlZvN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMk52Ykc5eUxXNWhiV1V2YVc1a1pYZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2RjY2x4dVhISmNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdlMXh5WEc1Y2RGd2lZV3hwWTJWaWJIVmxYQ0k2SUZzeU5EQXNJREkwT0N3Z01qVTFYU3hjY2x4dVhIUmNJbUZ1ZEdseGRXVjNhR2wwWlZ3aU9pQmJNalV3TENBeU16VXNJREl4TlYwc1hISmNibHgwWENKaGNYVmhYQ0k2SUZzd0xDQXlOVFVzSURJMU5WMHNYSEpjYmx4MFhDSmhjWFZoYldGeWFXNWxYQ0k2SUZzeE1qY3NJREkxTlN3Z01qRXlYU3hjY2x4dVhIUmNJbUY2ZFhKbFhDSTZJRnN5TkRBc0lESTFOU3dnTWpVMVhTeGNjbHh1WEhSY0ltSmxhV2RsWENJNklGc3lORFVzSURJME5Td2dNakl3WFN4Y2NseHVYSFJjSW1KcGMzRjFaVndpT2lCYk1qVTFMQ0F5TWpnc0lERTVObDBzWEhKY2JseDBYQ0ppYkdGamExd2lPaUJiTUN3Z01Dd2dNRjBzWEhKY2JseDBYQ0ppYkdGdVkyaGxaR0ZzYlc5dVpGd2lPaUJiTWpVMUxDQXlNelVzSURJd05WMHNYSEpjYmx4MFhDSmliSFZsWENJNklGc3dMQ0F3TENBeU5UVmRMRnh5WEc1Y2RGd2lZbXgxWlhacGIyeGxkRndpT2lCYk1UTTRMQ0EwTXl3Z01qSTJYU3hjY2x4dVhIUmNJbUp5YjNkdVhDSTZJRnN4TmpVc0lEUXlMQ0EwTWwwc1hISmNibHgwWENKaWRYSnNlWGR2YjJSY0lqb2dXekl5TWl3Z01UZzBMQ0F4TXpWZExGeHlYRzVjZEZ3aVkyRmtaWFJpYkhWbFhDSTZJRnM1TlN3Z01UVTRMQ0F4TmpCZExGeHlYRzVjZEZ3aVkyaGhjblJ5WlhWelpWd2lPaUJiTVRJM0xDQXlOVFVzSURCZExGeHlYRzVjZEZ3aVkyaHZZMjlzWVhSbFhDSTZJRnN5TVRBc0lERXdOU3dnTXpCZExGeHlYRzVjZEZ3aVkyOXlZV3hjSWpvZ1d6STFOU3dnTVRJM0xDQTRNRjBzWEhKY2JseDBYQ0pqYjNKdVpteHZkMlZ5WW14MVpWd2lPaUJiTVRBd0xDQXhORGtzSURJek4xMHNYSEpjYmx4MFhDSmpiM0p1YzJsc2Exd2lPaUJiTWpVMUxDQXlORGdzSURJeU1GMHNYSEpjYmx4MFhDSmpjbWx0YzI5dVhDSTZJRnN5TWpBc0lESXdMQ0EyTUYwc1hISmNibHgwWENKamVXRnVYQ0k2SUZzd0xDQXlOVFVzSURJMU5WMHNYSEpjYmx4MFhDSmtZWEpyWW14MVpWd2lPaUJiTUN3Z01Dd2dNVE01WFN4Y2NseHVYSFJjSW1SaGNtdGplV0Z1WENJNklGc3dMQ0F4TXprc0lERXpPVjBzWEhKY2JseDBYQ0prWVhKcloyOXNaR1Z1Y205a1hDSTZJRnN4T0RRc0lERXpOQ3dnTVRGZExGeHlYRzVjZEZ3aVpHRnlhMmR5WVhsY0lqb2dXekUyT1N3Z01UWTVMQ0F4TmpsZExGeHlYRzVjZEZ3aVpHRnlhMmR5WldWdVhDSTZJRnN3TENBeE1EQXNJREJkTEZ4eVhHNWNkRndpWkdGeWEyZHlaWGxjSWpvZ1d6RTJPU3dnTVRZNUxDQXhOamxkTEZ4eVhHNWNkRndpWkdGeWEydG9ZV3RwWENJNklGc3hPRGtzSURFNE15d2dNVEEzWFN4Y2NseHVYSFJjSW1SaGNtdHRZV2RsYm5SaFhDSTZJRnN4TXprc0lEQXNJREV6T1Ywc1hISmNibHgwWENKa1lYSnJiMnhwZG1WbmNtVmxibHdpT2lCYk9EVXNJREV3Tnl3Z05EZGRMRnh5WEc1Y2RGd2laR0Z5YTI5eVlXNW5aVndpT2lCYk1qVTFMQ0F4TkRBc0lEQmRMRnh5WEc1Y2RGd2laR0Z5YTI5eVkyaHBaRndpT2lCYk1UVXpMQ0ExTUN3Z01qQTBYU3hjY2x4dVhIUmNJbVJoY210eVpXUmNJam9nV3pFek9Td2dNQ3dnTUYwc1hISmNibHgwWENKa1lYSnJjMkZzYlc5dVhDSTZJRnN5TXpNc0lERTFNQ3dnTVRJeVhTeGNjbHh1WEhSY0ltUmhjbXR6WldGbmNtVmxibHdpT2lCYk1UUXpMQ0F4T0Rnc0lERTBNMTBzWEhKY2JseDBYQ0prWVhKcmMyeGhkR1ZpYkhWbFhDSTZJRnMzTWl3Z05qRXNJREV6T1Ywc1hISmNibHgwWENKa1lYSnJjMnhoZEdWbmNtRjVYQ0k2SUZzME55d2dOemtzSURjNVhTeGNjbHh1WEhSY0ltUmhjbXR6YkdGMFpXZHlaWGxjSWpvZ1d6UTNMQ0EzT1N3Z056bGRMRnh5WEc1Y2RGd2laR0Z5YTNSMWNuRjFiMmx6WlZ3aU9pQmJNQ3dnTWpBMkxDQXlNRGxkTEZ4eVhHNWNkRndpWkdGeWEzWnBiMnhsZEZ3aU9pQmJNVFE0TENBd0xDQXlNVEZkTEZ4eVhHNWNkRndpWkdWbGNIQnBibXRjSWpvZ1d6STFOU3dnTWpBc0lERTBOMTBzWEhKY2JseDBYQ0prWldWd2MydDVZbXgxWlZ3aU9pQmJNQ3dnTVRreExDQXlOVFZkTEZ4eVhHNWNkRndpWkdsdFozSmhlVndpT2lCYk1UQTFMQ0F4TURVc0lERXdOVjBzWEhKY2JseDBYQ0prYVcxbmNtVjVYQ0k2SUZzeE1EVXNJREV3TlN3Z01UQTFYU3hjY2x4dVhIUmNJbVJ2WkdkbGNtSnNkV1ZjSWpvZ1d6TXdMQ0F4TkRRc0lESTFOVjBzWEhKY2JseDBYQ0ptYVhKbFluSnBZMnRjSWpvZ1d6RTNPQ3dnTXpRc0lETTBYU3hjY2x4dVhIUmNJbVpzYjNKaGJIZG9hWFJsWENJNklGc3lOVFVzSURJMU1Dd2dNalF3WFN4Y2NseHVYSFJjSW1admNtVnpkR2R5WldWdVhDSTZJRnN6TkN3Z01UTTVMQ0F6TkYwc1hISmNibHgwWENKbWRXTm9jMmxoWENJNklGc3lOVFVzSURBc0lESTFOVjBzWEhKY2JseDBYQ0puWVdsdWMySnZjbTljSWpvZ1d6SXlNQ3dnTWpJd0xDQXlNakJkTEZ4eVhHNWNkRndpWjJodmMzUjNhR2wwWlZ3aU9pQmJNalE0TENBeU5EZ3NJREkxTlYwc1hISmNibHgwWENKbmIyeGtYQ0k2SUZzeU5UVXNJREl4TlN3Z01GMHNYSEpjYmx4MFhDSm5iMnhrWlc1eWIyUmNJam9nV3pJeE9Dd2dNVFkxTENBek1sMHNYSEpjYmx4MFhDSm5jbUY1WENJNklGc3hNamdzSURFeU9Dd2dNVEk0WFN4Y2NseHVYSFJjSW1keVpXVnVYQ0k2SUZzd0xDQXhNamdzSURCZExGeHlYRzVjZEZ3aVozSmxaVzU1Wld4c2IzZGNJam9nV3pFM015d2dNalUxTENBME4xMHNYSEpjYmx4MFhDSm5jbVY1WENJNklGc3hNamdzSURFeU9Dd2dNVEk0WFN4Y2NseHVYSFJjSW1odmJtVjVaR1YzWENJNklGc3lOREFzSURJMU5Td2dNalF3WFN4Y2NseHVYSFJjSW1odmRIQnBibXRjSWpvZ1d6STFOU3dnTVRBMUxDQXhPREJkTEZ4eVhHNWNkRndpYVc1a2FXRnVjbVZrWENJNklGc3lNRFVzSURreUxDQTVNbDBzWEhKY2JseDBYQ0pwYm1ScFoyOWNJam9nV3pjMUxDQXdMQ0F4TXpCZExGeHlYRzVjZEZ3aWFYWnZjbmxjSWpvZ1d6STFOU3dnTWpVMUxDQXlOREJkTEZ4eVhHNWNkRndpYTJoaGEybGNJam9nV3pJME1Dd2dNak13TENBeE5EQmRMRnh5WEc1Y2RGd2liR0YyWlc1a1pYSmNJam9nV3pJek1Dd2dNak13TENBeU5UQmRMRnh5WEc1Y2RGd2liR0YyWlc1a1pYSmliSFZ6YUZ3aU9pQmJNalUxTENBeU5EQXNJREkwTlYwc1hISmNibHgwWENKc1lYZHVaM0psWlc1Y0lqb2dXekV5TkN3Z01qVXlMQ0F3WFN4Y2NseHVYSFJjSW14bGJXOXVZMmhwWm1admJsd2lPaUJiTWpVMUxDQXlOVEFzSURJd05WMHNYSEpjYmx4MFhDSnNhV2RvZEdKc2RXVmNJam9nV3pFM015d2dNakUyTENBeU16QmRMRnh5WEc1Y2RGd2liR2xuYUhSamIzSmhiRndpT2lCYk1qUXdMQ0F4TWpnc0lERXlPRjBzWEhKY2JseDBYQ0pzYVdkb2RHTjVZVzVjSWpvZ1d6SXlOQ3dnTWpVMUxDQXlOVFZkTEZ4eVhHNWNkRndpYkdsbmFIUm5iMnhrWlc1eWIyUjVaV3hzYjNkY0lqb2dXekkxTUN3Z01qVXdMQ0F5TVRCZExGeHlYRzVjZEZ3aWJHbG5hSFJuY21GNVhDSTZJRnN5TVRFc0lESXhNU3dnTWpFeFhTeGNjbHh1WEhSY0lteHBaMmgwWjNKbFpXNWNJam9nV3pFME5Dd2dNak00TENBeE5EUmRMRnh5WEc1Y2RGd2liR2xuYUhSbmNtVjVYQ0k2SUZzeU1URXNJREl4TVN3Z01qRXhYU3hjY2x4dVhIUmNJbXhwWjJoMGNHbHVhMXdpT2lCYk1qVTFMQ0F4T0RJc0lERTVNMTBzWEhKY2JseDBYQ0pzYVdkb2RITmhiRzF2Ymx3aU9pQmJNalUxTENBeE5qQXNJREV5TWwwc1hISmNibHgwWENKc2FXZG9kSE5sWVdkeVpXVnVYQ0k2SUZzek1pd2dNVGM0TENBeE56QmRMRnh5WEc1Y2RGd2liR2xuYUhSemEzbGliSFZsWENJNklGc3hNelVzSURJd05pd2dNalV3WFN4Y2NseHVYSFJjSW14cFoyaDBjMnhoZEdWbmNtRjVYQ0k2SUZzeE1Ua3NJREV6Tml3Z01UVXpYU3hjY2x4dVhIUmNJbXhwWjJoMGMyeGhkR1ZuY21WNVhDSTZJRnN4TVRrc0lERXpOaXdnTVRVelhTeGNjbHh1WEhSY0lteHBaMmgwYzNSbFpXeGliSFZsWENJNklGc3hOellzSURFNU5pd2dNakl5WFN4Y2NseHVYSFJjSW14cFoyaDBlV1ZzYkc5M1hDSTZJRnN5TlRVc0lESTFOU3dnTWpJMFhTeGNjbHh1WEhSY0lteHBiV1ZjSWpvZ1d6QXNJREkxTlN3Z01GMHNYSEpjYmx4MFhDSnNhVzFsWjNKbFpXNWNJam9nV3pVd0xDQXlNRFVzSURVd1hTeGNjbHh1WEhSY0lteHBibVZ1WENJNklGc3lOVEFzSURJME1Dd2dNak13WFN4Y2NseHVYSFJjSW0xaFoyVnVkR0ZjSWpvZ1d6STFOU3dnTUN3Z01qVTFYU3hjY2x4dVhIUmNJbTFoY205dmJsd2lPaUJiTVRJNExDQXdMQ0F3WFN4Y2NseHVYSFJjSW0xbFpHbDFiV0Z4ZFdGdFlYSnBibVZjSWpvZ1d6RXdNaXdnTWpBMUxDQXhOekJkTEZ4eVhHNWNkRndpYldWa2FYVnRZbXgxWlZ3aU9pQmJNQ3dnTUN3Z01qQTFYU3hjY2x4dVhIUmNJbTFsWkdsMWJXOXlZMmhwWkZ3aU9pQmJNVGcyTENBNE5Td2dNakV4WFN4Y2NseHVYSFJjSW0xbFpHbDFiWEIxY25Cc1pWd2lPaUJiTVRRM0xDQXhNVElzSURJeE9WMHNYSEpjYmx4MFhDSnRaV1JwZFcxelpXRm5jbVZsYmx3aU9pQmJOakFzSURFM09Td2dNVEV6WFN4Y2NseHVYSFJjSW0xbFpHbDFiWE5zWVhSbFlteDFaVndpT2lCYk1USXpMQ0F4TURRc0lESXpPRjBzWEhKY2JseDBYQ0p0WldScGRXMXpjSEpwYm1kbmNtVmxibHdpT2lCYk1Dd2dNalV3TENBeE5UUmRMRnh5WEc1Y2RGd2liV1ZrYVhWdGRIVnljWFZ2YVhObFhDSTZJRnMzTWl3Z01qQTVMQ0F5TURSZExGeHlYRzVjZEZ3aWJXVmthWFZ0ZG1sdmJHVjBjbVZrWENJNklGc3hPVGtzSURJeExDQXhNek5kTEZ4eVhHNWNkRndpYldsa2JtbG5hSFJpYkhWbFhDSTZJRnN5TlN3Z01qVXNJREV4TWwwc1hISmNibHgwWENKdGFXNTBZM0psWVcxY0lqb2dXekkwTlN3Z01qVTFMQ0F5TlRCZExGeHlYRzVjZEZ3aWJXbHpkSGx5YjNObFhDSTZJRnN5TlRVc0lESXlPQ3dnTWpJMVhTeGNjbHh1WEhSY0ltMXZZMk5oYzJsdVhDSTZJRnN5TlRVc0lESXlPQ3dnTVRneFhTeGNjbHh1WEhSY0ltNWhkbUZxYjNkb2FYUmxYQ0k2SUZzeU5UVXNJREl5TWl3Z01UY3pYU3hjY2x4dVhIUmNJbTVoZG5sY0lqb2dXekFzSURBc0lERXlPRjBzWEhKY2JseDBYQ0p2YkdSc1lXTmxYQ0k2SUZzeU5UTXNJREkwTlN3Z01qTXdYU3hjY2x4dVhIUmNJbTlzYVhabFhDSTZJRnN4TWpnc0lERXlPQ3dnTUYwc1hISmNibHgwWENKdmJHbDJaV1J5WVdKY0lqb2dXekV3Tnl3Z01UUXlMQ0F6TlYwc1hISmNibHgwWENKdmNtRnVaMlZjSWpvZ1d6STFOU3dnTVRZMUxDQXdYU3hjY2x4dVhIUmNJbTl5WVc1blpYSmxaRndpT2lCYk1qVTFMQ0EyT1N3Z01GMHNYSEpjYmx4MFhDSnZjbU5vYVdSY0lqb2dXekl4T0N3Z01URXlMQ0F5TVRSZExGeHlYRzVjZEZ3aWNHRnNaV2R2YkdSbGJuSnZaRndpT2lCYk1qTTRMQ0F5TXpJc0lERTNNRjBzWEhKY2JseDBYQ0p3WVd4bFozSmxaVzVjSWpvZ1d6RTFNaXdnTWpVeExDQXhOVEpkTEZ4eVhHNWNkRndpY0dGc1pYUjFjbkYxYjJselpWd2lPaUJiTVRjMUxDQXlNemdzSURJek9GMHNYSEpjYmx4MFhDSndZV3hsZG1sdmJHVjBjbVZrWENJNklGc3lNVGtzSURFeE1pd2dNVFEzWFN4Y2NseHVYSFJjSW5CaGNHRjVZWGRvYVhCY0lqb2dXekkxTlN3Z01qTTVMQ0F5TVROZExGeHlYRzVjZEZ3aWNHVmhZMmh3ZFdabVhDSTZJRnN5TlRVc0lESXhPQ3dnTVRnMVhTeGNjbHh1WEhSY0luQmxjblZjSWpvZ1d6SXdOU3dnTVRNekxDQTJNMTBzWEhKY2JseDBYQ0p3YVc1clhDSTZJRnN5TlRVc0lERTVNaXdnTWpBelhTeGNjbHh1WEhSY0luQnNkVzFjSWpvZ1d6SXlNU3dnTVRZd0xDQXlNakZkTEZ4eVhHNWNkRndpY0c5M1pHVnlZbXgxWlZ3aU9pQmJNVGMyTENBeU1qUXNJREl6TUYwc1hISmNibHgwWENKd2RYSndiR1ZjSWpvZ1d6RXlPQ3dnTUN3Z01USTRYU3hjY2x4dVhIUmNJbkpsWW1WalkyRndkWEp3YkdWY0lqb2dXekV3TWl3Z05URXNJREUxTTEwc1hISmNibHgwWENKeVpXUmNJam9nV3pJMU5Td2dNQ3dnTUYwc1hISmNibHgwWENKeWIzTjVZbkp2ZDI1Y0lqb2dXekU0T0N3Z01UUXpMQ0F4TkROZExGeHlYRzVjZEZ3aWNtOTVZV3hpYkhWbFhDSTZJRnMyTlN3Z01UQTFMQ0F5TWpWZExGeHlYRzVjZEZ3aWMyRmtaR3hsWW5KdmQyNWNJam9nV3pFek9Td2dOamtzSURFNVhTeGNjbHh1WEhSY0luTmhiRzF2Ymx3aU9pQmJNalV3TENBeE1qZ3NJREV4TkYwc1hISmNibHgwWENKellXNWtlV0p5YjNkdVhDSTZJRnN5TkRRc0lERTJOQ3dnT1RaZExGeHlYRzVjZEZ3aWMyVmhaM0psWlc1Y0lqb2dXelEyTENBeE16a3NJRGczWFN4Y2NseHVYSFJjSW5ObFlYTm9aV3hzWENJNklGc3lOVFVzSURJME5Td2dNak00WFN4Y2NseHVYSFJjSW5OcFpXNXVZVndpT2lCYk1UWXdMQ0E0TWl3Z05EVmRMRnh5WEc1Y2RGd2ljMmxzZG1WeVhDSTZJRnN4T1RJc0lERTVNaXdnTVRreVhTeGNjbHh1WEhSY0luTnJlV0pzZFdWY0lqb2dXekV6TlN3Z01qQTJMQ0F5TXpWZExGeHlYRzVjZEZ3aWMyeGhkR1ZpYkhWbFhDSTZJRnN4TURZc0lEa3dMQ0F5TURWZExGeHlYRzVjZEZ3aWMyeGhkR1ZuY21GNVhDSTZJRnN4TVRJc0lERXlPQ3dnTVRRMFhTeGNjbHh1WEhSY0luTnNZWFJsWjNKbGVWd2lPaUJiTVRFeUxDQXhNamdzSURFME5GMHNYSEpjYmx4MFhDSnpibTkzWENJNklGc3lOVFVzSURJMU1Dd2dNalV3WFN4Y2NseHVYSFJjSW5Od2NtbHVaMmR5WldWdVhDSTZJRnN3TENBeU5UVXNJREV5TjEwc1hISmNibHgwWENKemRHVmxiR0pzZFdWY0lqb2dXemN3TENBeE16QXNJREU0TUYwc1hISmNibHgwWENKMFlXNWNJam9nV3pJeE1Dd2dNVGd3TENBeE5EQmRMRnh5WEc1Y2RGd2lkR1ZoYkZ3aU9pQmJNQ3dnTVRJNExDQXhNamhkTEZ4eVhHNWNkRndpZEdocGMzUnNaVndpT2lCYk1qRTJMQ0F4T1RFc0lESXhObDBzWEhKY2JseDBYQ0owYjIxaGRHOWNJam9nV3pJMU5Td2dPVGtzSURjeFhTeGNjbHh1WEhSY0luUjFjbkYxYjJselpWd2lPaUJiTmpRc0lESXlOQ3dnTWpBNFhTeGNjbHh1WEhSY0luWnBiMnhsZEZ3aU9pQmJNak00TENBeE16QXNJREl6T0Ywc1hISmNibHgwWENKM2FHVmhkRndpT2lCYk1qUTFMQ0F5TWpJc0lERTNPVjBzWEhKY2JseDBYQ0ozYUdsMFpWd2lPaUJiTWpVMUxDQXlOVFVzSURJMU5WMHNYSEpjYmx4MFhDSjNhR2wwWlhOdGIydGxYQ0k2SUZzeU5EVXNJREkwTlN3Z01qUTFYU3hjY2x4dVhIUmNJbmxsYkd4dmQxd2lPaUJiTWpVMUxDQXlOVFVzSURCZExGeHlYRzVjZEZ3aWVXVnNiRzkzWjNKbFpXNWNJam9nV3pFMU5Dd2dNakExTENBMU1GMWNjbHh1ZlR0Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvbG9yLW5hbWUvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLXN0cmluZy9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY29sb3Itc3RyaW5nL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogTUlUIGxpY2Vuc2UgKi9cXG52YXIgY29sb3JOYW1lcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvbG9yLW5hbWUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvbG9yLW5hbWUvaW5kZXguanNcXFwiKTtcXG52YXIgc3dpenpsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNpbXBsZS1zd2l6emxlICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qc1xcXCIpO1xcblxcbnZhciByZXZlcnNlTmFtZXMgPSB7fTtcXG5cXG4vLyBjcmVhdGUgYSBsaXN0IG9mIHJldmVyc2UgY29sb3IgbmFtZXNcXG5mb3IgKHZhciBuYW1lIGluIGNvbG9yTmFtZXMpIHtcXG5cXHRpZiAoY29sb3JOYW1lcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xcblxcdFxcdHJldmVyc2VOYW1lc1tjb2xvck5hbWVzW25hbWVdXSA9IG5hbWU7XFxuXFx0fVxcbn1cXG5cXG52YXIgY3MgPSBtb2R1bGUuZXhwb3J0cyA9IHtcXG5cXHR0bzoge30sXFxuXFx0Z2V0OiB7fVxcbn07XFxuXFxuY3MuZ2V0ID0gZnVuY3Rpb24gKHN0cmluZykge1xcblxcdHZhciBwcmVmaXggPSBzdHJpbmcuc3Vic3RyaW5nKDAsIDMpLnRvTG93ZXJDYXNlKCk7XFxuXFx0dmFyIHZhbDtcXG5cXHR2YXIgbW9kZWw7XFxuXFx0c3dpdGNoIChwcmVmaXgpIHtcXG5cXHRcXHRjYXNlICdoc2wnOlxcblxcdFxcdFxcdHZhbCA9IGNzLmdldC5oc2woc3RyaW5nKTtcXG5cXHRcXHRcXHRtb2RlbCA9ICdoc2wnO1xcblxcdFxcdFxcdGJyZWFrO1xcblxcdFxcdGNhc2UgJ2h3Yic6XFxuXFx0XFx0XFx0dmFsID0gY3MuZ2V0Lmh3YihzdHJpbmcpO1xcblxcdFxcdFxcdG1vZGVsID0gJ2h3Yic7XFxuXFx0XFx0XFx0YnJlYWs7XFxuXFx0XFx0ZGVmYXVsdDpcXG5cXHRcXHRcXHR2YWwgPSBjcy5nZXQucmdiKHN0cmluZyk7XFxuXFx0XFx0XFx0bW9kZWwgPSAncmdiJztcXG5cXHRcXHRcXHRicmVhaztcXG5cXHR9XFxuXFxuXFx0aWYgKCF2YWwpIHtcXG5cXHRcXHRyZXR1cm4gbnVsbDtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIHttb2RlbDogbW9kZWwsIHZhbHVlOiB2YWx9O1xcbn07XFxuXFxuY3MuZ2V0LnJnYiA9IGZ1bmN0aW9uIChzdHJpbmcpIHtcXG5cXHRpZiAoIXN0cmluZykge1xcblxcdFxcdHJldHVybiBudWxsO1xcblxcdH1cXG5cXG5cXHR2YXIgYWJiciA9IC9eIyhbYS1mMC05XXszLDR9KSQvaTtcXG5cXHR2YXIgaGV4ID0gL14jKFthLWYwLTldezZ9KShbYS1mMC05XXsyfSk/JC9pO1xcblxcdHZhciByZ2JhID0gL15yZ2JhP1xcXFwoXFxcXHMqKFsrLV0/XFxcXGQrKVxcXFxzKixcXFxccyooWystXT9cXFxcZCspXFxcXHMqLFxcXFxzKihbKy1dP1xcXFxkKylcXFxccyooPzosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKylcXFxccyopP1xcXFwpJC87XFxuXFx0dmFyIHBlciA9IC9ecmdiYT9cXFxcKFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspXFxcXCVcXFxccyosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKylcXFxcJVxcXFxzKixcXFxccyooWystXT9bXFxcXGRcXFxcLl0rKVxcXFwlXFxcXHMqKD86LFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspXFxcXHMqKT9cXFxcKSQvO1xcblxcdHZhciBrZXl3b3JkID0gLyhcXFxcRCspLztcXG5cXG5cXHR2YXIgcmdiID0gWzAsIDAsIDAsIDFdO1xcblxcdHZhciBtYXRjaDtcXG5cXHR2YXIgaTtcXG5cXHR2YXIgaGV4QWxwaGE7XFxuXFxuXFx0aWYgKG1hdGNoID0gc3RyaW5nLm1hdGNoKGhleCkpIHtcXG5cXHRcXHRoZXhBbHBoYSA9IG1hdGNoWzJdO1xcblxcdFxcdG1hdGNoID0gbWF0Y2hbMV07XFxuXFxuXFx0XFx0Zm9yIChpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdFxcdC8vIGh0dHBzOi8vanNwZXJmLmNvbS9zbGljZS12cy1zdWJzdHItdnMtc3Vic3RyaW5nLW1ldGhvZHMtbG9uZy1zdHJpbmcvMTlcXG5cXHRcXHRcXHR2YXIgaTIgPSBpICogMjtcXG5cXHRcXHRcXHRyZ2JbaV0gPSBwYXJzZUludChtYXRjaC5zbGljZShpMiwgaTIgKyAyKSwgMTYpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoaGV4QWxwaGEpIHtcXG5cXHRcXHRcXHRyZ2JbM10gPSBNYXRoLnJvdW5kKChwYXJzZUludChoZXhBbHBoYSwgMTYpIC8gMjU1KSAqIDEwMCkgLyAxMDA7XFxuXFx0XFx0fVxcblxcdH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2goYWJicikpIHtcXG5cXHRcXHRtYXRjaCA9IG1hdGNoWzFdO1xcblxcdFxcdGhleEFscGhhID0gbWF0Y2hbM107XFxuXFxuXFx0XFx0Zm9yIChpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdFxcdHJnYltpXSA9IHBhcnNlSW50KG1hdGNoW2ldICsgbWF0Y2hbaV0sIDE2KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKGhleEFscGhhKSB7XFxuXFx0XFx0XFx0cmdiWzNdID0gTWF0aC5yb3VuZCgocGFyc2VJbnQoaGV4QWxwaGEgKyBoZXhBbHBoYSwgMTYpIC8gMjU1KSAqIDEwMCkgLyAxMDA7XFxuXFx0XFx0fVxcblxcdH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2gocmdiYSkpIHtcXG5cXHRcXHRmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7XFxuXFx0XFx0XFx0cmdiW2ldID0gcGFyc2VJbnQobWF0Y2hbaSArIDFdLCAwKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKG1hdGNoWzRdKSB7XFxuXFx0XFx0XFx0cmdiWzNdID0gcGFyc2VGbG9hdChtYXRjaFs0XSk7XFxuXFx0XFx0fVxcblxcdH0gZWxzZSBpZiAobWF0Y2ggPSBzdHJpbmcubWF0Y2gocGVyKSkge1xcblxcdFxcdGZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHtcXG5cXHRcXHRcXHRyZ2JbaV0gPSBNYXRoLnJvdW5kKHBhcnNlRmxvYXQobWF0Y2hbaSArIDFdKSAqIDIuNTUpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAobWF0Y2hbNF0pIHtcXG5cXHRcXHRcXHRyZ2JbM10gPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTtcXG5cXHRcXHR9XFxuXFx0fSBlbHNlIGlmIChtYXRjaCA9IHN0cmluZy5tYXRjaChrZXl3b3JkKSkge1xcblxcdFxcdGlmIChtYXRjaFsxXSA9PT0gJ3RyYW5zcGFyZW50Jykge1xcblxcdFxcdFxcdHJldHVybiBbMCwgMCwgMCwgMF07XFxuXFx0XFx0fVxcblxcblxcdFxcdHJnYiA9IGNvbG9yTmFtZXNbbWF0Y2hbMV1dO1xcblxcblxcdFxcdGlmICghcmdiKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG51bGw7XFxuXFx0XFx0fVxcblxcblxcdFxcdHJnYlszXSA9IDE7XFxuXFxuXFx0XFx0cmV0dXJuIHJnYjtcXG5cXHR9IGVsc2Uge1xcblxcdFxcdHJldHVybiBudWxsO1xcblxcdH1cXG5cXG5cXHRmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7XFxuXFx0XFx0cmdiW2ldID0gY2xhbXAocmdiW2ldLCAwLCAyNTUpO1xcblxcdH1cXG5cXHRyZ2JbM10gPSBjbGFtcChyZ2JbM10sIDAsIDEpO1xcblxcblxcdHJldHVybiByZ2I7XFxufTtcXG5cXG5jcy5nZXQuaHNsID0gZnVuY3Rpb24gKHN0cmluZykge1xcblxcdGlmICghc3RyaW5nKSB7XFxuXFx0XFx0cmV0dXJuIG51bGw7XFxuXFx0fVxcblxcblxcdHZhciBoc2wgPSAvXmhzbGE/XFxcXChcXFxccyooWystXT8oPzpcXFxcZCpcXFxcLik/XFxcXGQrKSg/OmRlZyk/XFxcXHMqLFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspJVxcXFxzKixcXFxccyooWystXT9bXFxcXGRcXFxcLl0rKSVcXFxccyooPzosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKylcXFxccyopP1xcXFwpJC87XFxuXFx0dmFyIG1hdGNoID0gc3RyaW5nLm1hdGNoKGhzbCk7XFxuXFxuXFx0aWYgKG1hdGNoKSB7XFxuXFx0XFx0dmFyIGFscGhhID0gcGFyc2VGbG9hdChtYXRjaFs0XSk7XFxuXFx0XFx0dmFyIGggPSAocGFyc2VGbG9hdChtYXRjaFsxXSkgKyAzNjApICUgMzYwO1xcblxcdFxcdHZhciBzID0gY2xhbXAocGFyc2VGbG9hdChtYXRjaFsyXSksIDAsIDEwMCk7XFxuXFx0XFx0dmFyIGwgPSBjbGFtcChwYXJzZUZsb2F0KG1hdGNoWzNdKSwgMCwgMTAwKTtcXG5cXHRcXHR2YXIgYSA9IGNsYW1wKGlzTmFOKGFscGhhKSA/IDEgOiBhbHBoYSwgMCwgMSk7XFxuXFxuXFx0XFx0cmV0dXJuIFtoLCBzLCBsLCBhXTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuIG51bGw7XFxufTtcXG5cXG5jcy5nZXQuaHdiID0gZnVuY3Rpb24gKHN0cmluZykge1xcblxcdGlmICghc3RyaW5nKSB7XFxuXFx0XFx0cmV0dXJuIG51bGw7XFxuXFx0fVxcblxcblxcdHZhciBod2IgPSAvXmh3YlxcXFwoXFxcXHMqKFsrLV0/XFxcXGQqW1xcXFwuXT9cXFxcZCspKD86ZGVnKT9cXFxccyosXFxcXHMqKFsrLV0/W1xcXFxkXFxcXC5dKyklXFxcXHMqLFxcXFxzKihbKy1dP1tcXFxcZFxcXFwuXSspJVxcXFxzKig/OixcXFxccyooWystXT9bXFxcXGRcXFxcLl0rKVxcXFxzKik/XFxcXCkkLztcXG5cXHR2YXIgbWF0Y2ggPSBzdHJpbmcubWF0Y2goaHdiKTtcXG5cXG5cXHRpZiAobWF0Y2gpIHtcXG5cXHRcXHR2YXIgYWxwaGEgPSBwYXJzZUZsb2F0KG1hdGNoWzRdKTtcXG5cXHRcXHR2YXIgaCA9ICgocGFyc2VGbG9hdChtYXRjaFsxXSkgJSAzNjApICsgMzYwKSAlIDM2MDtcXG5cXHRcXHR2YXIgdyA9IGNsYW1wKHBhcnNlRmxvYXQobWF0Y2hbMl0pLCAwLCAxMDApO1xcblxcdFxcdHZhciBiID0gY2xhbXAocGFyc2VGbG9hdChtYXRjaFszXSksIDAsIDEwMCk7XFxuXFx0XFx0dmFyIGEgPSBjbGFtcChpc05hTihhbHBoYSkgPyAxIDogYWxwaGEsIDAsIDEpO1xcblxcdFxcdHJldHVybiBbaCwgdywgYiwgYV07XFxuXFx0fVxcblxcblxcdHJldHVybiBudWxsO1xcbn07XFxuXFxuY3MudG8uaGV4ID0gZnVuY3Rpb24gKCkge1xcblxcdHZhciByZ2JhID0gc3dpenpsZShhcmd1bWVudHMpO1xcblxcblxcdHJldHVybiAoXFxuXFx0XFx0JyMnICtcXG5cXHRcXHRoZXhEb3VibGUocmdiYVswXSkgK1xcblxcdFxcdGhleERvdWJsZShyZ2JhWzFdKSArXFxuXFx0XFx0aGV4RG91YmxlKHJnYmFbMl0pICtcXG5cXHRcXHQocmdiYVszXSA8IDFcXG5cXHRcXHRcXHQ/IChoZXhEb3VibGUoTWF0aC5yb3VuZChyZ2JhWzNdICogMjU1KSkpXFxuXFx0XFx0XFx0OiAnJylcXG5cXHQpO1xcbn07XFxuXFxuY3MudG8ucmdiID0gZnVuY3Rpb24gKCkge1xcblxcdHZhciByZ2JhID0gc3dpenpsZShhcmd1bWVudHMpO1xcblxcblxcdHJldHVybiByZ2JhLmxlbmd0aCA8IDQgfHwgcmdiYVszXSA9PT0gMVxcblxcdFxcdD8gJ3JnYignICsgTWF0aC5yb3VuZChyZ2JhWzBdKSArICcsICcgKyBNYXRoLnJvdW5kKHJnYmFbMV0pICsgJywgJyArIE1hdGgucm91bmQocmdiYVsyXSkgKyAnKSdcXG5cXHRcXHQ6ICdyZ2JhKCcgKyBNYXRoLnJvdW5kKHJnYmFbMF0pICsgJywgJyArIE1hdGgucm91bmQocmdiYVsxXSkgKyAnLCAnICsgTWF0aC5yb3VuZChyZ2JhWzJdKSArICcsICcgKyByZ2JhWzNdICsgJyknO1xcbn07XFxuXFxuY3MudG8ucmdiLnBlcmNlbnQgPSBmdW5jdGlvbiAoKSB7XFxuXFx0dmFyIHJnYmEgPSBzd2l6emxlKGFyZ3VtZW50cyk7XFxuXFxuXFx0dmFyIHIgPSBNYXRoLnJvdW5kKHJnYmFbMF0gLyAyNTUgKiAxMDApO1xcblxcdHZhciBnID0gTWF0aC5yb3VuZChyZ2JhWzFdIC8gMjU1ICogMTAwKTtcXG5cXHR2YXIgYiA9IE1hdGgucm91bmQocmdiYVsyXSAvIDI1NSAqIDEwMCk7XFxuXFxuXFx0cmV0dXJuIHJnYmEubGVuZ3RoIDwgNCB8fCByZ2JhWzNdID09PSAxXFxuXFx0XFx0PyAncmdiKCcgKyByICsgJyUsICcgKyBnICsgJyUsICcgKyBiICsgJyUpJ1xcblxcdFxcdDogJ3JnYmEoJyArIHIgKyAnJSwgJyArIGcgKyAnJSwgJyArIGIgKyAnJSwgJyArIHJnYmFbM10gKyAnKSc7XFxufTtcXG5cXG5jcy50by5oc2wgPSBmdW5jdGlvbiAoKSB7XFxuXFx0dmFyIGhzbGEgPSBzd2l6emxlKGFyZ3VtZW50cyk7XFxuXFx0cmV0dXJuIGhzbGEubGVuZ3RoIDwgNCB8fCBoc2xhWzNdID09PSAxXFxuXFx0XFx0PyAnaHNsKCcgKyBoc2xhWzBdICsgJywgJyArIGhzbGFbMV0gKyAnJSwgJyArIGhzbGFbMl0gKyAnJSknXFxuXFx0XFx0OiAnaHNsYSgnICsgaHNsYVswXSArICcsICcgKyBoc2xhWzFdICsgJyUsICcgKyBoc2xhWzJdICsgJyUsICcgKyBoc2xhWzNdICsgJyknO1xcbn07XFxuXFxuLy8gaHdiIGlzIGEgYml0IGRpZmZlcmVudCB0aGFuIHJnYihhKSAmIGhzbChhKSBzaW5jZSB0aGVyZSBpcyBubyBhbHBoYSBzcGVjaWZpYyBzeW50YXhcXG4vLyAoaHdiIGhhdmUgYWxwaGEgb3B0aW9uYWwgJiAxIGlzIGRlZmF1bHQgdmFsdWUpXFxuY3MudG8uaHdiID0gZnVuY3Rpb24gKCkge1xcblxcdHZhciBod2JhID0gc3dpenpsZShhcmd1bWVudHMpO1xcblxcblxcdHZhciBhID0gJyc7XFxuXFx0aWYgKGh3YmEubGVuZ3RoID49IDQgJiYgaHdiYVszXSAhPT0gMSkge1xcblxcdFxcdGEgPSAnLCAnICsgaHdiYVszXTtcXG5cXHR9XFxuXFxuXFx0cmV0dXJuICdod2IoJyArIGh3YmFbMF0gKyAnLCAnICsgaHdiYVsxXSArICclLCAnICsgaHdiYVsyXSArICclJyArIGEgKyAnKSc7XFxufTtcXG5cXG5jcy50by5rZXl3b3JkID0gZnVuY3Rpb24gKHJnYikge1xcblxcdHJldHVybiByZXZlcnNlTmFtZXNbcmdiLnNsaWNlKDAsIDMpXTtcXG59O1xcblxcbi8vIGhlbHBlcnNcXG5mdW5jdGlvbiBjbGFtcChudW0sIG1pbiwgbWF4KSB7XFxuXFx0cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG1pbiwgbnVtKSwgbWF4KTtcXG59XFxuXFxuZnVuY3Rpb24gaGV4RG91YmxlKG51bSkge1xcblxcdHZhciBzdHIgPSBudW0udG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XFxuXFx0cmV0dXJuIChzdHIubGVuZ3RoIDwgMikgPyAnMCcgKyBzdHIgOiBzdHI7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amIyeHZjaTF6ZEhKcGJtY3ZhVzVrWlhndWFuTS9PVE5sTmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhORVFVRlpPMEZCUTNKRExHTkJRV01zYlVKQlFVOHNRMEZCUXl3NFJFRkJaMEk3TzBGQlJYUkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNVMEZCVXp0QlFVTlVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSGxDUVVGNVFpeEpRVUZKTzBGQlF6ZENMSGRDUVVGM1FpeEZRVUZGTEZkQlFWY3NSVUZCUlR0QlFVTjJRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR0ZCUVdFc1QwRkJUenRCUVVOd1FqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVRzN1FVRkZRU3hoUVVGaExFOUJRVTg3UVVGRGNFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWXNZVUZCWVN4UFFVRlBPMEZCUTNCQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHRCUVVOR0xHRkJRV0VzVDBGQlR6dEJRVU53UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdRVUZEUmp0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNSVUZCUlR0QlFVTkdPMEZCUTBFN08wRkJSVUVzV1VGQldTeFBRVUZQTzBGQlEyNUNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJOdmJHOXlMWE4wY21sdVp5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUlFMUpWQ0JzYVdObGJuTmxJQ292WEc1MllYSWdZMjlzYjNKT1lXMWxjeUE5SUhKbGNYVnBjbVVvSjJOdmJHOXlMVzVoYldVbktUdGNiblpoY2lCemQybDZlbXhsSUQwZ2NtVnhkV2x5WlNnbmMybHRjR3hsTFhOM2FYcDZiR1VuS1R0Y2JseHVkbUZ5SUhKbGRtVnljMlZPWVcxbGN5QTlJSHQ5TzF4dVhHNHZMeUJqY21WaGRHVWdZU0JzYVhOMElHOW1JSEpsZG1WeWMyVWdZMjlzYjNJZ2JtRnRaWE5jYm1admNpQW9kbUZ5SUc1aGJXVWdhVzRnWTI5c2IzSk9ZVzFsY3lrZ2UxeHVYSFJwWmlBb1kyOXNiM0pPWVcxbGN5NW9ZWE5QZDI1UWNtOXdaWEowZVNodVlXMWxLU2tnZTF4dVhIUmNkSEpsZG1WeWMyVk9ZVzFsYzF0amIyeHZjazVoYldWelcyNWhiV1ZkWFNBOUlHNWhiV1U3WEc1Y2RIMWNibjFjYmx4dWRtRnlJR056SUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCN1hHNWNkSFJ2T2lCN2ZTeGNibHgwWjJWME9pQjdmVnh1ZlR0Y2JseHVZM011WjJWMElEMGdablZ1WTNScGIyNGdLSE4wY21sdVp5a2dlMXh1WEhSMllYSWdjSEpsWm1sNElEMGdjM1J5YVc1bkxuTjFZbk4wY21sdVp5Z3dMQ0F6S1M1MGIweHZkMlZ5UTJGelpTZ3BPMXh1WEhSMllYSWdkbUZzTzF4dVhIUjJZWElnYlc5a1pXdzdYRzVjZEhOM2FYUmphQ0FvY0hKbFptbDRLU0I3WEc1Y2RGeDBZMkZ6WlNBbmFITnNKenBjYmx4MFhIUmNkSFpoYkNBOUlHTnpMbWRsZEM1b2Myd29jM1J5YVc1bktUdGNibHgwWEhSY2RHMXZaR1ZzSUQwZ0oyaHpiQ2M3WEc1Y2RGeDBYSFJpY21WaGF6dGNibHgwWEhSallYTmxJQ2RvZDJJbk9seHVYSFJjZEZ4MGRtRnNJRDBnWTNNdVoyVjBMbWgzWWloemRISnBibWNwTzF4dVhIUmNkRngwYlc5a1pXd2dQU0FuYUhkaUp6dGNibHgwWEhSY2RHSnlaV0ZyTzF4dVhIUmNkR1JsWm1GMWJIUTZYRzVjZEZ4MFhIUjJZV3dnUFNCamN5NW5aWFF1Y21kaUtITjBjbWx1WnlrN1hHNWNkRngwWEhSdGIyUmxiQ0E5SUNkeVoySW5PMXh1WEhSY2RGeDBZbkpsWVdzN1hHNWNkSDFjYmx4dVhIUnBaaUFvSVhaaGJDa2dlMXh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJSHR0YjJSbGJEb2diVzlrWld3c0lIWmhiSFZsT2lCMllXeDlPMXh1ZlR0Y2JseHVZM011WjJWMExuSm5ZaUE5SUdaMWJtTjBhVzl1SUNoemRISnBibWNwSUh0Y2JseDBhV1lnS0NGemRISnBibWNwSUh0Y2JseDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2JseDBmVnh1WEc1Y2RIWmhjaUJoWW1KeUlEMGdMMTRqS0Z0aExXWXdMVGxkZXpNc05IMHBKQzlwTzF4dVhIUjJZWElnYUdWNElEMGdMMTRqS0Z0aExXWXdMVGxkZXpaOUtTaGJZUzFtTUMwNVhYc3lmU2svSkM5cE8xeHVYSFIyWVhJZ2NtZGlZU0E5SUM5ZWNtZGlZVDljWENoY1hITXFLRnNyTFYwL1hGeGtLeWxjWEhNcUxGeGNjeW9vV3lzdFhUOWNYR1FyS1Z4Y2N5b3NYRnh6S2loYkt5MWRQMXhjWkNzcFhGeHpLaWcvT2l4Y1hITXFLRnNyTFYwL1cxeGNaRnhjTGwwcktWeGNjeW9wUDF4Y0tTUXZPMXh1WEhSMllYSWdjR1Z5SUQwZ0wxNXlaMkpoUDF4Y0tGeGNjeW9vV3lzdFhUOWJYRnhrWEZ3dVhTc3BYRndsWEZ4ektpeGNYSE1xS0ZzckxWMC9XMXhjWkZ4Y0xsMHJLVnhjSlZ4Y2N5b3NYRnh6S2loYkt5MWRQMXRjWEdSY1hDNWRLeWxjWENWY1hITXFLRDg2TEZ4Y2N5b29XeXN0WFQ5YlhGeGtYRnd1WFNzcFhGeHpLaWsvWEZ3cEpDODdYRzVjZEhaaGNpQnJaWGwzYjNKa0lEMGdMeWhjWEVRcktTODdYRzVjYmx4MGRtRnlJSEpuWWlBOUlGc3dMQ0F3TENBd0xDQXhYVHRjYmx4MGRtRnlJRzFoZEdOb08xeHVYSFIyWVhJZ2FUdGNibHgwZG1GeUlHaGxlRUZzY0doaE8xeHVYRzVjZEdsbUlDaHRZWFJqYUNBOUlITjBjbWx1Wnk1dFlYUmphQ2hvWlhncEtTQjdYRzVjZEZ4MGFHVjRRV3h3YUdFZ1BTQnRZWFJqYUZzeVhUdGNibHgwWEhSdFlYUmphQ0E5SUcxaGRHTm9XekZkTzF4dVhHNWNkRngwWm05eUlDaHBJRDBnTURzZ2FTQThJRE03SUdrckt5a2dlMXh1WEhSY2RGeDBMeThnYUhSMGNITTZMeTlxYzNCbGNtWXVZMjl0TDNOc2FXTmxMWFp6TFhOMVluTjBjaTEyY3kxemRXSnpkSEpwYm1jdGJXVjBhRzlrY3kxc2IyNW5MWE4wY21sdVp5OHhPVnh1WEhSY2RGeDBkbUZ5SUdreUlEMGdhU0FxSURJN1hHNWNkRngwWEhSeVoySmJhVjBnUFNCd1lYSnpaVWx1ZENodFlYUmphQzV6YkdsalpTaHBNaXdnYVRJZ0t5QXlLU3dnTVRZcE8xeHVYSFJjZEgxY2JseHVYSFJjZEdsbUlDaG9aWGhCYkhCb1lTa2dlMXh1WEhSY2RGeDBjbWRpV3pOZElEMGdUV0YwYUM1eWIzVnVaQ2dvY0dGeWMyVkpiblFvYUdWNFFXeHdhR0VzSURFMktTQXZJREkxTlNrZ0tpQXhNREFwSUM4Z01UQXdPMXh1WEhSY2RIMWNibHgwZlNCbGJITmxJR2xtSUNodFlYUmphQ0E5SUhOMGNtbHVaeTV0WVhSamFDaGhZbUp5S1NrZ2UxeHVYSFJjZEcxaGRHTm9JRDBnYldGMFkyaGJNVjA3WEc1Y2RGeDBhR1Y0UVd4d2FHRWdQU0J0WVhSamFGc3pYVHRjYmx4dVhIUmNkR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQXpPeUJwS3lzcElIdGNibHgwWEhSY2RISm5ZbHRwWFNBOUlIQmhjbk5sU1c1MEtHMWhkR05vVzJsZElDc2diV0YwWTJoYmFWMHNJREUyS1R0Y2JseDBYSFI5WEc1Y2JseDBYSFJwWmlBb2FHVjRRV3h3YUdFcElIdGNibHgwWEhSY2RISm5ZbHN6WFNBOUlFMWhkR2d1Y205MWJtUW9LSEJoY25ObFNXNTBLR2hsZUVGc2NHaGhJQ3NnYUdWNFFXeHdhR0VzSURFMktTQXZJREkxTlNrZ0tpQXhNREFwSUM4Z01UQXdPMXh1WEhSY2RIMWNibHgwZlNCbGJITmxJR2xtSUNodFlYUmphQ0E5SUhOMGNtbHVaeTV0WVhSamFDaHlaMkpoS1NrZ2UxeHVYSFJjZEdadmNpQW9hU0E5SURBN0lHa2dQQ0F6T3lCcEt5c3BJSHRjYmx4MFhIUmNkSEpuWWx0cFhTQTlJSEJoY25ObFNXNTBLRzFoZEdOb1cya2dLeUF4WFN3Z01DazdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGFXWWdLRzFoZEdOb1d6UmRLU0I3WEc1Y2RGeDBYSFJ5WjJKYk0xMGdQU0J3WVhKelpVWnNiMkYwS0cxaGRHTm9XelJkS1R0Y2JseDBYSFI5WEc1Y2RIMGdaV3h6WlNCcFppQW9iV0YwWTJnZ1BTQnpkSEpwYm1jdWJXRjBZMmdvY0dWeUtTa2dlMXh1WEhSY2RHWnZjaUFvYVNBOUlEQTdJR2tnUENBek95QnBLeXNwSUh0Y2JseDBYSFJjZEhKbllsdHBYU0E5SUUxaGRHZ3VjbTkxYm1Rb2NHRnljMlZHYkc5aGRDaHRZWFJqYUZ0cElDc2dNVjBwSUNvZ01pNDFOU2s3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBhV1lnS0cxaGRHTm9XelJkS1NCN1hHNWNkRngwWEhSeVoySmJNMTBnUFNCd1lYSnpaVVpzYjJGMEtHMWhkR05vV3pSZEtUdGNibHgwWEhSOVhHNWNkSDBnWld4elpTQnBaaUFvYldGMFkyZ2dQU0J6ZEhKcGJtY3ViV0YwWTJnb2EyVjVkMjl5WkNrcElIdGNibHgwWEhScFppQW9iV0YwWTJoYk1WMGdQVDA5SUNkMGNtRnVjM0JoY21WdWRDY3BJSHRjYmx4MFhIUmNkSEpsZEhWeWJpQmJNQ3dnTUN3Z01Dd2dNRjA3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbWRpSUQwZ1kyOXNiM0pPWVcxbGMxdHRZWFJqYUZzeFhWMDdYRzVjYmx4MFhIUnBaaUFvSVhKbllpa2dlMXh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbWRpV3pOZElEMGdNVHRjYmx4dVhIUmNkSEpsZEhWeWJpQnlaMkk3WEc1Y2RIMGdaV3h6WlNCN1hHNWNkRngwY21WMGRYSnVJRzUxYkd3N1hHNWNkSDFjYmx4dVhIUm1iM0lnS0drZ1BTQXdPeUJwSUR3Z016c2dhU3NyS1NCN1hHNWNkRngwY21kaVcybGRJRDBnWTJ4aGJYQW9jbWRpVzJsZExDQXdMQ0F5TlRVcE8xeHVYSFI5WEc1Y2RISm5ZbHN6WFNBOUlHTnNZVzF3S0hKbllsc3pYU3dnTUN3Z01TazdYRzVjYmx4MGNtVjBkWEp1SUhKbllqdGNibjA3WEc1Y2JtTnpMbWRsZEM1b2Myd2dQU0JtZFc1amRHbHZiaUFvYzNSeWFXNW5LU0I3WEc1Y2RHbG1JQ2doYzNSeWFXNW5LU0I3WEc1Y2RGeDBjbVYwZFhKdUlHNTFiR3c3WEc1Y2RIMWNibHh1WEhSMllYSWdhSE5zSUQwZ0wxNW9jMnhoUDF4Y0tGeGNjeW9vV3lzdFhUOG9QenBjWEdRcVhGd3VLVDljWEdRcktTZy9PbVJsWnlrL1hGeHpLaXhjWEhNcUtGc3JMVjAvVzF4Y1pGeGNMbDByS1NWY1hITXFMRnhjY3lvb1d5c3RYVDliWEZ4a1hGd3VYU3NwSlZ4Y2N5b29Qem9zWEZ4ektpaGJLeTFkUDF0Y1hHUmNYQzVkS3lsY1hITXFLVDljWENra0x6dGNibHgwZG1GeUlHMWhkR05vSUQwZ2MzUnlhVzVuTG0xaGRHTm9LR2h6YkNrN1hHNWNibHgwYVdZZ0tHMWhkR05vS1NCN1hHNWNkRngwZG1GeUlHRnNjR2hoSUQwZ2NHRnljMlZHYkc5aGRDaHRZWFJqYUZzMFhTazdYRzVjZEZ4MGRtRnlJR2dnUFNBb2NHRnljMlZHYkc5aGRDaHRZWFJqYUZzeFhTa2dLeUF6TmpBcElDVWdNell3TzF4dVhIUmNkSFpoY2lCeklEMGdZMnhoYlhBb2NHRnljMlZHYkc5aGRDaHRZWFJqYUZzeVhTa3NJREFzSURFd01DazdYRzVjZEZ4MGRtRnlJR3dnUFNCamJHRnRjQ2h3WVhKelpVWnNiMkYwS0cxaGRHTm9Xek5kS1N3Z01Dd2dNVEF3S1R0Y2JseDBYSFIyWVhJZ1lTQTlJR05zWVcxd0tHbHpUbUZPS0dGc2NHaGhLU0EvSURFZ09pQmhiSEJvWVN3Z01Dd2dNU2s3WEc1Y2JseDBYSFJ5WlhSMWNtNGdXMmdzSUhNc0lHd3NJR0ZkTzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUc1MWJHdzdYRzU5TzF4dVhHNWpjeTVuWlhRdWFIZGlJRDBnWm5WdVkzUnBiMjRnS0hOMGNtbHVaeWtnZTF4dVhIUnBaaUFvSVhOMGNtbHVaeWtnZTF4dVhIUmNkSEpsZEhWeWJpQnVkV3hzTzF4dVhIUjlYRzVjYmx4MGRtRnlJR2gzWWlBOUlDOWVhSGRpWEZ3b1hGeHpLaWhiS3kxZFAxeGNaQ3BiWEZ3dVhUOWNYR1FyS1NnL09tUmxaeWsvWEZ4ektpeGNYSE1xS0ZzckxWMC9XMXhjWkZ4Y0xsMHJLU1ZjWEhNcUxGeGNjeW9vV3lzdFhUOWJYRnhrWEZ3dVhTc3BKVnhjY3lvb1B6b3NYRnh6S2loYkt5MWRQMXRjWEdSY1hDNWRLeWxjWEhNcUtUOWNYQ2trTHp0Y2JseDBkbUZ5SUcxaGRHTm9JRDBnYzNSeWFXNW5MbTFoZEdOb0tHaDNZaWs3WEc1Y2JseDBhV1lnS0cxaGRHTm9LU0I3WEc1Y2RGeDBkbUZ5SUdGc2NHaGhJRDBnY0dGeWMyVkdiRzloZENodFlYUmphRnMwWFNrN1hHNWNkRngwZG1GeUlHZ2dQU0FvS0hCaGNuTmxSbXh2WVhRb2JXRjBZMmhiTVYwcElDVWdNell3S1NBcklETTJNQ2tnSlNBek5qQTdYRzVjZEZ4MGRtRnlJSGNnUFNCamJHRnRjQ2h3WVhKelpVWnNiMkYwS0cxaGRHTm9XekpkS1N3Z01Dd2dNVEF3S1R0Y2JseDBYSFIyWVhJZ1lpQTlJR05zWVcxd0tIQmhjbk5sUm14dllYUW9iV0YwWTJoYk0xMHBMQ0F3TENBeE1EQXBPMXh1WEhSY2RIWmhjaUJoSUQwZ1kyeGhiWEFvYVhOT1lVNG9ZV3h3YUdFcElEOGdNU0E2SUdGc2NHaGhMQ0F3TENBeEtUdGNibHgwWEhSeVpYUjFjbTRnVzJnc0lIY3NJR0lzSUdGZE8xeHVYSFI5WEc1Y2JseDBjbVYwZFhKdUlHNTFiR3c3WEc1OU8xeHVYRzVqY3k1MGJ5NW9aWGdnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzVjZEhaaGNpQnlaMkpoSUQwZ2MzZHBlbnBzWlNoaGNtZDFiV1Z1ZEhNcE8xeHVYRzVjZEhKbGRIVnliaUFvWEc1Y2RGeDBKeU1uSUN0Y2JseDBYSFJvWlhoRWIzVmliR1VvY21kaVlWc3dYU2tnSzF4dVhIUmNkR2hsZUVSdmRXSnNaU2h5WjJKaFd6RmRLU0FyWEc1Y2RGeDBhR1Y0Ukc5MVlteGxLSEpuWW1GYk1sMHBJQ3RjYmx4MFhIUW9jbWRpWVZzelhTQThJREZjYmx4MFhIUmNkRDhnS0dobGVFUnZkV0pzWlNoTllYUm9Mbkp2ZFc1a0tISm5ZbUZiTTEwZ0tpQXlOVFVwS1NsY2JseDBYSFJjZERvZ0p5Y3BYRzVjZENrN1hHNTlPMXh1WEc1amN5NTBieTV5WjJJZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RIWmhjaUJ5WjJKaElEMGdjM2RwZW5wc1pTaGhjbWQxYldWdWRITXBPMXh1WEc1Y2RISmxkSFZ5YmlCeVoySmhMbXhsYm1kMGFDQThJRFFnZkh3Z2NtZGlZVnN6WFNBOVBUMGdNVnh1WEhSY2REOGdKM0puWWlnbklDc2dUV0YwYUM1eWIzVnVaQ2h5WjJKaFd6QmRLU0FySUNjc0lDY2dLeUJOWVhSb0xuSnZkVzVrS0hKblltRmJNVjBwSUNzZ0p5d2dKeUFySUUxaGRHZ3VjbTkxYm1Rb2NtZGlZVnN5WFNrZ0t5QW5LU2RjYmx4MFhIUTZJQ2R5WjJKaEtDY2dLeUJOWVhSb0xuSnZkVzVrS0hKblltRmJNRjBwSUNzZ0p5d2dKeUFySUUxaGRHZ3VjbTkxYm1Rb2NtZGlZVnN4WFNrZ0t5QW5MQ0FuSUNzZ1RXRjBhQzV5YjNWdVpDaHlaMkpoV3pKZEtTQXJJQ2NzSUNjZ0t5QnlaMkpoV3pOZElDc2dKeWtuTzF4dWZUdGNibHh1WTNNdWRHOHVjbWRpTG5CbGNtTmxiblFnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzVjZEhaaGNpQnlaMkpoSUQwZ2MzZHBlbnBzWlNoaGNtZDFiV1Z1ZEhNcE8xeHVYRzVjZEhaaGNpQnlJRDBnVFdGMGFDNXliM1Z1WkNoeVoySmhXekJkSUM4Z01qVTFJQ29nTVRBd0tUdGNibHgwZG1GeUlHY2dQU0JOWVhSb0xuSnZkVzVrS0hKblltRmJNVjBnTHlBeU5UVWdLaUF4TURBcE8xeHVYSFIyWVhJZ1lpQTlJRTFoZEdndWNtOTFibVFvY21kaVlWc3lYU0F2SURJMU5TQXFJREV3TUNrN1hHNWNibHgwY21WMGRYSnVJSEpuWW1FdWJHVnVaM1JvSUR3Z05DQjhmQ0J5WjJKaFd6TmRJRDA5UFNBeFhHNWNkRngwUHlBbmNtZGlLQ2NnS3lCeUlDc2dKeVVzSUNjZ0t5Qm5JQ3NnSnlVc0lDY2dLeUJpSUNzZ0p5VXBKMXh1WEhSY2REb2dKM0puWW1Fb0p5QXJJSElnS3lBbkpTd2dKeUFySUdjZ0t5QW5KU3dnSnlBcklHSWdLeUFuSlN3Z0p5QXJJSEpuWW1GYk0xMGdLeUFuS1NjN1hHNTlPMXh1WEc1amN5NTBieTVvYzJ3Z1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RIWmhjaUJvYzJ4aElEMGdjM2RwZW5wc1pTaGhjbWQxYldWdWRITXBPMXh1WEhSeVpYUjFjbTRnYUhOc1lTNXNaVzVuZEdnZ1BDQTBJSHg4SUdoemJHRmJNMTBnUFQwOUlERmNibHgwWEhRL0lDZG9jMndvSnlBcklHaHpiR0ZiTUYwZ0t5QW5MQ0FuSUNzZ2FITnNZVnN4WFNBcklDY2xMQ0FuSUNzZ2FITnNZVnN5WFNBcklDY2xLU2RjYmx4MFhIUTZJQ2RvYzJ4aEtDY2dLeUJvYzJ4aFd6QmRJQ3NnSnl3Z0p5QXJJR2h6YkdGYk1WMGdLeUFuSlN3Z0p5QXJJR2h6YkdGYk1sMGdLeUFuSlN3Z0p5QXJJR2h6YkdGYk0xMGdLeUFuS1NjN1hHNTlPMXh1WEc0dkx5Qm9kMklnYVhNZ1lTQmlhWFFnWkdsbVptVnlaVzUwSUhSb1lXNGdjbWRpS0dFcElDWWdhSE5zS0dFcElITnBibU5sSUhSb1pYSmxJR2x6SUc1dklHRnNjR2hoSUhOd1pXTnBabWxqSUhONWJuUmhlRnh1THk4Z0tHaDNZaUJvWVhabElHRnNjR2hoSUc5d2RHbHZibUZzSUNZZ01TQnBjeUJrWldaaGRXeDBJSFpoYkhWbEtWeHVZM011ZEc4dWFIZGlJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVYSFIyWVhJZ2FIZGlZU0E5SUhOM2FYcDZiR1VvWVhKbmRXMWxiblJ6S1R0Y2JseHVYSFIyWVhJZ1lTQTlJQ2NuTzF4dVhIUnBaaUFvYUhkaVlTNXNaVzVuZEdnZ1BqMGdOQ0FtSmlCb2QySmhXek5kSUNFOVBTQXhLU0I3WEc1Y2RGeDBZU0E5SUNjc0lDY2dLeUJvZDJKaFd6TmRPMXh1WEhSOVhHNWNibHgwY21WMGRYSnVJQ2RvZDJJb0p5QXJJR2gzWW1GYk1GMGdLeUFuTENBbklDc2dhSGRpWVZzeFhTQXJJQ2NsTENBbklDc2dhSGRpWVZzeVhTQXJJQ2NsSnlBcklHRWdLeUFuS1NjN1hHNTlPMXh1WEc1amN5NTBieTVyWlhsM2IzSmtJRDBnWm5WdVkzUnBiMjRnS0hKbllpa2dlMXh1WEhSeVpYUjFjbTRnY21WMlpYSnpaVTVoYldWelczSm5ZaTV6YkdsalpTZ3dMQ0F6S1YwN1hHNTlPMXh1WEc0dkx5Qm9aV3h3WlhKelhHNW1kVzVqZEdsdmJpQmpiR0Z0Y0NodWRXMHNJRzFwYml3Z2JXRjRLU0I3WEc1Y2RISmxkSFZ5YmlCTllYUm9MbTFwYmloTllYUm9MbTFoZUNodGFXNHNJRzUxYlNrc0lHMWhlQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hsZUVSdmRXSnNaU2h1ZFcwcElIdGNibHgwZG1GeUlITjBjaUE5SUc1MWJTNTBiMU4wY21sdVp5Z3hOaWt1ZEc5VmNIQmxja05oYzJVb0tUdGNibHgwY21WMGRYSnVJQ2h6ZEhJdWJHVnVaM1JvSUR3Z01pa2dQeUFuTUNjZ0t5QnpkSElnT2lCemRISTdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb2xvci1zdHJpbmcvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBjb2xvclN0cmluZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvbG9yLXN0cmluZyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3Itc3RyaW5nL2luZGV4LmpzXFxcIik7XFxudmFyIGNvbnZlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb2xvci1jb252ZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2luZGV4LmpzXFxcIik7XFxuXFxudmFyIF9zbGljZSA9IFtdLnNsaWNlO1xcblxcbnZhciBza2lwcGVkTW9kZWxzID0gW1xcblxcdC8vIHRvIGJlIGhvbmVzdCwgSSBkb24ndCByZWFsbHkgZmVlbCBsaWtlIGtleXdvcmQgYmVsb25ncyBpbiBjb2xvciBjb252ZXJ0LCBidXQgZWguXFxuXFx0J2tleXdvcmQnLFxcblxcblxcdC8vIGdyYXkgY29uZmxpY3RzIHdpdGggc29tZSBtZXRob2QgbmFtZXMsIGFuZCBoYXMgaXRzIG93biBtZXRob2QgZGVmaW5lZC5cXG5cXHQnZ3JheScsXFxuXFxuXFx0Ly8gc2hvdWxkbid0IHJlYWxseSBiZSBpbiBjb2xvci1jb252ZXJ0IGVpdGhlci4uLlxcblxcdCdoZXgnXFxuXTtcXG5cXG52YXIgaGFzaGVkTW9kZWxLZXlzID0ge307XFxuT2JqZWN0LmtleXMoY29udmVydCkuZm9yRWFjaChmdW5jdGlvbiAobW9kZWwpIHtcXG5cXHRoYXNoZWRNb2RlbEtleXNbX3NsaWNlLmNhbGwoY29udmVydFttb2RlbF0ubGFiZWxzKS5zb3J0KCkuam9pbignJyldID0gbW9kZWw7XFxufSk7XFxuXFxudmFyIGxpbWl0ZXJzID0ge307XFxuXFxuZnVuY3Rpb24gQ29sb3Iob2JqLCBtb2RlbCkge1xcblxcdGlmICghKHRoaXMgaW5zdGFuY2VvZiBDb2xvcikpIHtcXG5cXHRcXHRyZXR1cm4gbmV3IENvbG9yKG9iaiwgbW9kZWwpO1xcblxcdH1cXG5cXG5cXHRpZiAobW9kZWwgJiYgbW9kZWwgaW4gc2tpcHBlZE1vZGVscykge1xcblxcdFxcdG1vZGVsID0gbnVsbDtcXG5cXHR9XFxuXFxuXFx0aWYgKG1vZGVsICYmICEobW9kZWwgaW4gY29udmVydCkpIHtcXG5cXHRcXHR0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbW9kZWw6ICcgKyBtb2RlbCk7XFxuXFx0fVxcblxcblxcdHZhciBpO1xcblxcdHZhciBjaGFubmVscztcXG5cXG5cXHRpZiAob2JqID09IG51bGwpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1lcS1udWxsLGVxZXFlcVxcblxcdFxcdHRoaXMubW9kZWwgPSAncmdiJztcXG5cXHRcXHR0aGlzLmNvbG9yID0gWzAsIDAsIDBdO1xcblxcdFxcdHRoaXMudmFscGhhID0gMTtcXG5cXHR9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIENvbG9yKSB7XFxuXFx0XFx0dGhpcy5tb2RlbCA9IG9iai5tb2RlbDtcXG5cXHRcXHR0aGlzLmNvbG9yID0gb2JqLmNvbG9yLnNsaWNlKCk7XFxuXFx0XFx0dGhpcy52YWxwaGEgPSBvYmoudmFscGhhO1xcblxcdH0gZWxzZSBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpIHtcXG5cXHRcXHR2YXIgcmVzdWx0ID0gY29sb3JTdHJpbmcuZ2V0KG9iaik7XFxuXFx0XFx0aWYgKHJlc3VsdCA9PT0gbnVsbCkge1xcblxcdFxcdFxcdHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHBhcnNlIGNvbG9yIGZyb20gc3RyaW5nOiAnICsgb2JqKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0dGhpcy5tb2RlbCA9IHJlc3VsdC5tb2RlbDtcXG5cXHRcXHRjaGFubmVscyA9IGNvbnZlcnRbdGhpcy5tb2RlbF0uY2hhbm5lbHM7XFxuXFx0XFx0dGhpcy5jb2xvciA9IHJlc3VsdC52YWx1ZS5zbGljZSgwLCBjaGFubmVscyk7XFxuXFx0XFx0dGhpcy52YWxwaGEgPSB0eXBlb2YgcmVzdWx0LnZhbHVlW2NoYW5uZWxzXSA9PT0gJ251bWJlcicgPyByZXN1bHQudmFsdWVbY2hhbm5lbHNdIDogMTtcXG5cXHR9IGVsc2UgaWYgKG9iai5sZW5ndGgpIHtcXG5cXHRcXHR0aGlzLm1vZGVsID0gbW9kZWwgfHwgJ3JnYic7XFxuXFx0XFx0Y2hhbm5lbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmNoYW5uZWxzO1xcblxcdFxcdHZhciBuZXdBcnIgPSBfc2xpY2UuY2FsbChvYmosIDAsIGNoYW5uZWxzKTtcXG5cXHRcXHR0aGlzLmNvbG9yID0gemVyb0FycmF5KG5ld0FyciwgY2hhbm5lbHMpO1xcblxcdFxcdHRoaXMudmFscGhhID0gdHlwZW9mIG9ialtjaGFubmVsc10gPT09ICdudW1iZXInID8gb2JqW2NoYW5uZWxzXSA6IDE7XFxuXFx0fSBlbHNlIGlmICh0eXBlb2Ygb2JqID09PSAnbnVtYmVyJykge1xcblxcdFxcdC8vIHRoaXMgaXMgYWx3YXlzIFJHQiAtIGNhbiBiZSBjb252ZXJ0ZWQgbGF0ZXIgb24uXFxuXFx0XFx0b2JqICY9IDB4RkZGRkZGO1xcblxcdFxcdHRoaXMubW9kZWwgPSAncmdiJztcXG5cXHRcXHR0aGlzLmNvbG9yID0gW1xcblxcdFxcdFxcdChvYmogPj4gMTYpICYgMHhGRixcXG5cXHRcXHRcXHQob2JqID4+IDgpICYgMHhGRixcXG5cXHRcXHRcXHRvYmogJiAweEZGXFxuXFx0XFx0XTtcXG5cXHRcXHR0aGlzLnZhbHBoYSA9IDE7XFxuXFx0fSBlbHNlIHtcXG5cXHRcXHR0aGlzLnZhbHBoYSA9IDE7XFxuXFxuXFx0XFx0dmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmopO1xcblxcdFxcdGlmICgnYWxwaGEnIGluIG9iaikge1xcblxcdFxcdFxcdGtleXMuc3BsaWNlKGtleXMuaW5kZXhPZignYWxwaGEnKSwgMSk7XFxuXFx0XFx0XFx0dGhpcy52YWxwaGEgPSB0eXBlb2Ygb2JqLmFscGhhID09PSAnbnVtYmVyJyA/IG9iai5hbHBoYSA6IDA7XFxuXFx0XFx0fVxcblxcblxcdFxcdHZhciBoYXNoZWRLZXlzID0ga2V5cy5zb3J0KCkuam9pbignJyk7XFxuXFx0XFx0aWYgKCEoaGFzaGVkS2V5cyBpbiBoYXNoZWRNb2RlbEtleXMpKSB7XFxuXFx0XFx0XFx0dGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gcGFyc2UgY29sb3IgZnJvbSBvYmplY3Q6ICcgKyBKU09OLnN0cmluZ2lmeShvYmopKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0dGhpcy5tb2RlbCA9IGhhc2hlZE1vZGVsS2V5c1toYXNoZWRLZXlzXTtcXG5cXG5cXHRcXHR2YXIgbGFiZWxzID0gY29udmVydFt0aGlzLm1vZGVsXS5sYWJlbHM7XFxuXFx0XFx0dmFyIGNvbG9yID0gW107XFxuXFx0XFx0Zm9yIChpID0gMDsgaSA8IGxhYmVscy5sZW5ndGg7IGkrKykge1xcblxcdFxcdFxcdGNvbG9yLnB1c2gob2JqW2xhYmVsc1tpXV0pO1xcblxcdFxcdH1cXG5cXG5cXHRcXHR0aGlzLmNvbG9yID0gemVyb0FycmF5KGNvbG9yKTtcXG5cXHR9XFxuXFxuXFx0Ly8gcGVyZm9ybSBsaW1pdGF0aW9ucyAoY2xhbXBpbmcsIGV0Yy4pXFxuXFx0aWYgKGxpbWl0ZXJzW3RoaXMubW9kZWxdKSB7XFxuXFx0XFx0Y2hhbm5lbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmNoYW5uZWxzO1xcblxcdFxcdGZvciAoaSA9IDA7IGkgPCBjaGFubmVsczsgaSsrKSB7XFxuXFx0XFx0XFx0dmFyIGxpbWl0ID0gbGltaXRlcnNbdGhpcy5tb2RlbF1baV07XFxuXFx0XFx0XFx0aWYgKGxpbWl0KSB7XFxuXFx0XFx0XFx0XFx0dGhpcy5jb2xvcltpXSA9IGxpbWl0KHRoaXMuY29sb3JbaV0pO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdHRoaXMudmFscGhhID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgdGhpcy52YWxwaGEpKTtcXG5cXG5cXHRpZiAoT2JqZWN0LmZyZWV6ZSkge1xcblxcdFxcdE9iamVjdC5mcmVlemUodGhpcyk7XFxuXFx0fVxcbn1cXG5cXG5Db2xvci5wcm90b3R5cGUgPSB7XFxuXFx0dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHRyZXR1cm4gdGhpcy5zdHJpbmcoKTtcXG5cXHR9LFxcblxcblxcdHRvSlNPTjogZnVuY3Rpb24gKCkge1xcblxcdFxcdHJldHVybiB0aGlzW3RoaXMubW9kZWxdKCk7XFxuXFx0fSxcXG5cXG5cXHRzdHJpbmc6IGZ1bmN0aW9uIChwbGFjZXMpIHtcXG5cXHRcXHR2YXIgc2VsZiA9IHRoaXMubW9kZWwgaW4gY29sb3JTdHJpbmcudG8gPyB0aGlzIDogdGhpcy5yZ2IoKTtcXG5cXHRcXHRzZWxmID0gc2VsZi5yb3VuZCh0eXBlb2YgcGxhY2VzID09PSAnbnVtYmVyJyA/IHBsYWNlcyA6IDEpO1xcblxcdFxcdHZhciBhcmdzID0gc2VsZi52YWxwaGEgPT09IDEgPyBzZWxmLmNvbG9yIDogc2VsZi5jb2xvci5jb25jYXQodGhpcy52YWxwaGEpO1xcblxcdFxcdHJldHVybiBjb2xvclN0cmluZy50b1tzZWxmLm1vZGVsXShhcmdzKTtcXG5cXHR9LFxcblxcblxcdHBlcmNlbnRTdHJpbmc6IGZ1bmN0aW9uIChwbGFjZXMpIHtcXG5cXHRcXHR2YXIgc2VsZiA9IHRoaXMucmdiKCkucm91bmQodHlwZW9mIHBsYWNlcyA9PT0gJ251bWJlcicgPyBwbGFjZXMgOiAxKTtcXG5cXHRcXHR2YXIgYXJncyA9IHNlbGYudmFscGhhID09PSAxID8gc2VsZi5jb2xvciA6IHNlbGYuY29sb3IuY29uY2F0KHRoaXMudmFscGhhKTtcXG5cXHRcXHRyZXR1cm4gY29sb3JTdHJpbmcudG8ucmdiLnBlcmNlbnQoYXJncyk7XFxuXFx0fSxcXG5cXG5cXHRhcnJheTogZnVuY3Rpb24gKCkge1xcblxcdFxcdHJldHVybiB0aGlzLnZhbHBoYSA9PT0gMSA/IHRoaXMuY29sb3Iuc2xpY2UoKSA6IHRoaXMuY29sb3IuY29uY2F0KHRoaXMudmFscGhhKTtcXG5cXHR9LFxcblxcblxcdG9iamVjdDogZnVuY3Rpb24gKCkge1xcblxcdFxcdHZhciByZXN1bHQgPSB7fTtcXG5cXHRcXHR2YXIgY2hhbm5lbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmNoYW5uZWxzO1xcblxcdFxcdHZhciBsYWJlbHMgPSBjb252ZXJ0W3RoaXMubW9kZWxdLmxhYmVscztcXG5cXG5cXHRcXHRmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5uZWxzOyBpKyspIHtcXG5cXHRcXHRcXHRyZXN1bHRbbGFiZWxzW2ldXSA9IHRoaXMuY29sb3JbaV07XFxuXFx0XFx0fVxcblxcblxcdFxcdGlmICh0aGlzLnZhbHBoYSAhPT0gMSkge1xcblxcdFxcdFxcdHJlc3VsdC5hbHBoYSA9IHRoaXMudmFscGhhO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmVzdWx0O1xcblxcdH0sXFxuXFxuXFx0dW5pdEFycmF5OiBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0dmFyIHJnYiA9IHRoaXMucmdiKCkuY29sb3I7XFxuXFx0XFx0cmdiWzBdIC89IDI1NTtcXG5cXHRcXHRyZ2JbMV0gLz0gMjU1O1xcblxcdFxcdHJnYlsyXSAvPSAyNTU7XFxuXFxuXFx0XFx0aWYgKHRoaXMudmFscGhhICE9PSAxKSB7XFxuXFx0XFx0XFx0cmdiLnB1c2godGhpcy52YWxwaGEpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmdiO1xcblxcdH0sXFxuXFxuXFx0dW5pdE9iamVjdDogZnVuY3Rpb24gKCkge1xcblxcdFxcdHZhciByZ2IgPSB0aGlzLnJnYigpLm9iamVjdCgpO1xcblxcdFxcdHJnYi5yIC89IDI1NTtcXG5cXHRcXHRyZ2IuZyAvPSAyNTU7XFxuXFx0XFx0cmdiLmIgLz0gMjU1O1xcblxcblxcdFxcdGlmICh0aGlzLnZhbHBoYSAhPT0gMSkge1xcblxcdFxcdFxcdHJnYi5hbHBoYSA9IHRoaXMudmFscGhhO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmdiO1xcblxcdH0sXFxuXFxuXFx0cm91bmQ6IGZ1bmN0aW9uIChwbGFjZXMpIHtcXG5cXHRcXHRwbGFjZXMgPSBNYXRoLm1heChwbGFjZXMgfHwgMCwgMCk7XFxuXFx0XFx0cmV0dXJuIG5ldyBDb2xvcih0aGlzLmNvbG9yLm1hcChyb3VuZFRvUGxhY2UocGxhY2VzKSkuY29uY2F0KHRoaXMudmFscGhhKSwgdGhpcy5tb2RlbCk7XFxuXFx0fSxcXG5cXG5cXHRhbHBoYTogZnVuY3Rpb24gKHZhbCkge1xcblxcdFxcdGlmIChhcmd1bWVudHMubGVuZ3RoKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG5ldyBDb2xvcih0aGlzLmNvbG9yLmNvbmNhdChNYXRoLm1heCgwLCBNYXRoLm1pbigxLCB2YWwpKSksIHRoaXMubW9kZWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gdGhpcy52YWxwaGE7XFxuXFx0fSxcXG5cXG5cXHQvLyByZ2JcXG5cXHRyZWQ6IGdldHNldCgncmdiJywgMCwgbWF4Zm4oMjU1KSksXFxuXFx0Z3JlZW46IGdldHNldCgncmdiJywgMSwgbWF4Zm4oMjU1KSksXFxuXFx0Ymx1ZTogZ2V0c2V0KCdyZ2InLCAyLCBtYXhmbigyNTUpKSxcXG5cXG5cXHRodWU6IGdldHNldChbJ2hzbCcsICdoc3YnLCAnaHNsJywgJ2h3YicsICdoY2cnXSwgMCwgZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gKCh2YWwgJSAzNjApICsgMzYwKSAlIDM2MDsgfSksIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgYnJhY2Utc3R5bGVcXG5cXG5cXHRzYXR1cmF0aW9ubDogZ2V0c2V0KCdoc2wnLCAxLCBtYXhmbigxMDApKSxcXG5cXHRsaWdodG5lc3M6IGdldHNldCgnaHNsJywgMiwgbWF4Zm4oMTAwKSksXFxuXFxuXFx0c2F0dXJhdGlvbnY6IGdldHNldCgnaHN2JywgMSwgbWF4Zm4oMTAwKSksXFxuXFx0dmFsdWU6IGdldHNldCgnaHN2JywgMiwgbWF4Zm4oMTAwKSksXFxuXFxuXFx0Y2hyb21hOiBnZXRzZXQoJ2hjZycsIDEsIG1heGZuKDEwMCkpLFxcblxcdGdyYXk6IGdldHNldCgnaGNnJywgMiwgbWF4Zm4oMTAwKSksXFxuXFxuXFx0d2hpdGU6IGdldHNldCgnaHdiJywgMSwgbWF4Zm4oMTAwKSksXFxuXFx0d2JsYWNrOiBnZXRzZXQoJ2h3YicsIDIsIG1heGZuKDEwMCkpLFxcblxcblxcdGN5YW46IGdldHNldCgnY215aycsIDAsIG1heGZuKDEwMCkpLFxcblxcdG1hZ2VudGE6IGdldHNldCgnY215aycsIDEsIG1heGZuKDEwMCkpLFxcblxcdHllbGxvdzogZ2V0c2V0KCdjbXlrJywgMiwgbWF4Zm4oMTAwKSksXFxuXFx0YmxhY2s6IGdldHNldCgnY215aycsIDMsIG1heGZuKDEwMCkpLFxcblxcblxcdHg6IGdldHNldCgneHl6JywgMCwgbWF4Zm4oMTAwKSksXFxuXFx0eTogZ2V0c2V0KCd4eXonLCAxLCBtYXhmbigxMDApKSxcXG5cXHR6OiBnZXRzZXQoJ3h5eicsIDIsIG1heGZuKDEwMCkpLFxcblxcblxcdGw6IGdldHNldCgnbGFiJywgMCwgbWF4Zm4oMTAwKSksXFxuXFx0YTogZ2V0c2V0KCdsYWInLCAxKSxcXG5cXHRiOiBnZXRzZXQoJ2xhYicsIDIpLFxcblxcblxcdGtleXdvcmQ6IGZ1bmN0aW9uICh2YWwpIHtcXG5cXHRcXHRpZiAoYXJndW1lbnRzLmxlbmd0aCkge1xcblxcdFxcdFxcdHJldHVybiBuZXcgQ29sb3IodmFsKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIGNvbnZlcnRbdGhpcy5tb2RlbF0ua2V5d29yZCh0aGlzLmNvbG9yKTtcXG5cXHR9LFxcblxcblxcdGhleDogZnVuY3Rpb24gKHZhbCkge1xcblxcdFxcdGlmIChhcmd1bWVudHMubGVuZ3RoKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG5ldyBDb2xvcih2YWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gY29sb3JTdHJpbmcudG8uaGV4KHRoaXMucmdiKCkucm91bmQoKS5jb2xvcik7XFxuXFx0fSxcXG5cXG5cXHRyZ2JOdW1iZXI6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKS5jb2xvcjtcXG5cXHRcXHRyZXR1cm4gKChyZ2JbMF0gJiAweEZGKSA8PCAxNikgfCAoKHJnYlsxXSAmIDB4RkYpIDw8IDgpIHwgKHJnYlsyXSAmIDB4RkYpO1xcblxcdH0sXFxuXFxuXFx0bHVtaW5vc2l0eTogZnVuY3Rpb24gKCkge1xcblxcdFxcdC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKS5jb2xvcjtcXG5cXG5cXHRcXHR2YXIgbHVtID0gW107XFxuXFx0XFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZ2IubGVuZ3RoOyBpKyspIHtcXG5cXHRcXHRcXHR2YXIgY2hhbiA9IHJnYltpXSAvIDI1NTtcXG5cXHRcXHRcXHRsdW1baV0gPSAoY2hhbiA8PSAwLjAzOTI4KSA/IGNoYW4gLyAxMi45MiA6IE1hdGgucG93KCgoY2hhbiArIDAuMDU1KSAvIDEuMDU1KSwgMi40KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIDAuMjEyNiAqIGx1bVswXSArIDAuNzE1MiAqIGx1bVsxXSArIDAuMDcyMiAqIGx1bVsyXTtcXG5cXHR9LFxcblxcblxcdGNvbnRyYXN0OiBmdW5jdGlvbiAoY29sb3IyKSB7XFxuXFx0XFx0Ly8gaHR0cDovL3d3dy53My5vcmcvVFIvV0NBRzIwLyNjb250cmFzdC1yYXRpb2RlZlxcblxcdFxcdHZhciBsdW0xID0gdGhpcy5sdW1pbm9zaXR5KCk7XFxuXFx0XFx0dmFyIGx1bTIgPSBjb2xvcjIubHVtaW5vc2l0eSgpO1xcblxcblxcdFxcdGlmIChsdW0xID4gbHVtMikge1xcblxcdFxcdFxcdHJldHVybiAobHVtMSArIDAuMDUpIC8gKGx1bTIgKyAwLjA1KTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmV0dXJuIChsdW0yICsgMC4wNSkgLyAobHVtMSArIDAuMDUpO1xcblxcdH0sXFxuXFxuXFx0bGV2ZWw6IGZ1bmN0aW9uIChjb2xvcjIpIHtcXG5cXHRcXHR2YXIgY29udHJhc3RSYXRpbyA9IHRoaXMuY29udHJhc3QoY29sb3IyKTtcXG5cXHRcXHRpZiAoY29udHJhc3RSYXRpbyA+PSA3LjEpIHtcXG5cXHRcXHRcXHRyZXR1cm4gJ0FBQSc7XFxuXFx0XFx0fVxcblxcblxcdFxcdHJldHVybiAoY29udHJhc3RSYXRpbyA+PSA0LjUpID8gJ0FBJyA6ICcnO1xcblxcdH0sXFxuXFxuXFx0aXNEYXJrOiBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0Ly8gWUlRIGVxdWF0aW9uIGZyb20gaHR0cDovLzI0d2F5cy5vcmcvMjAxMC9jYWxjdWxhdGluZy1jb2xvci1jb250cmFzdFxcblxcdFxcdHZhciByZ2IgPSB0aGlzLnJnYigpLmNvbG9yO1xcblxcdFxcdHZhciB5aXEgPSAocmdiWzBdICogMjk5ICsgcmdiWzFdICogNTg3ICsgcmdiWzJdICogMTE0KSAvIDEwMDA7XFxuXFx0XFx0cmV0dXJuIHlpcSA8IDEyODtcXG5cXHR9LFxcblxcblxcdGlzTGlnaHQ6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHRyZXR1cm4gIXRoaXMuaXNEYXJrKCk7XFxuXFx0fSxcXG5cXG5cXHRuZWdhdGU6IGZ1bmN0aW9uICgpIHtcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKTtcXG5cXHRcXHRmb3IgKHZhciBpID0gMDsgaSA8IDM7IGkrKykge1xcblxcdFxcdFxcdHJnYi5jb2xvcltpXSA9IDI1NSAtIHJnYi5jb2xvcltpXTtcXG5cXHRcXHR9XFxuXFx0XFx0cmV0dXJuIHJnYjtcXG5cXHR9LFxcblxcblxcdGxpZ2h0ZW46IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHZhciBoc2wgPSB0aGlzLmhzbCgpO1xcblxcdFxcdGhzbC5jb2xvclsyXSArPSBoc2wuY29sb3JbMl0gKiByYXRpbztcXG5cXHRcXHRyZXR1cm4gaHNsO1xcblxcdH0sXFxuXFxuXFx0ZGFya2VuOiBmdW5jdGlvbiAocmF0aW8pIHtcXG5cXHRcXHR2YXIgaHNsID0gdGhpcy5oc2woKTtcXG5cXHRcXHRoc2wuY29sb3JbMl0gLT0gaHNsLmNvbG9yWzJdICogcmF0aW87XFxuXFx0XFx0cmV0dXJuIGhzbDtcXG5cXHR9LFxcblxcblxcdHNhdHVyYXRlOiBmdW5jdGlvbiAocmF0aW8pIHtcXG5cXHRcXHR2YXIgaHNsID0gdGhpcy5oc2woKTtcXG5cXHRcXHRoc2wuY29sb3JbMV0gKz0gaHNsLmNvbG9yWzFdICogcmF0aW87XFxuXFx0XFx0cmV0dXJuIGhzbDtcXG5cXHR9LFxcblxcblxcdGRlc2F0dXJhdGU6IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHZhciBoc2wgPSB0aGlzLmhzbCgpO1xcblxcdFxcdGhzbC5jb2xvclsxXSAtPSBoc2wuY29sb3JbMV0gKiByYXRpbztcXG5cXHRcXHRyZXR1cm4gaHNsO1xcblxcdH0sXFxuXFxuXFx0d2hpdGVuOiBmdW5jdGlvbiAocmF0aW8pIHtcXG5cXHRcXHR2YXIgaHdiID0gdGhpcy5od2IoKTtcXG5cXHRcXHRod2IuY29sb3JbMV0gKz0gaHdiLmNvbG9yWzFdICogcmF0aW87XFxuXFx0XFx0cmV0dXJuIGh3YjtcXG5cXHR9LFxcblxcblxcdGJsYWNrZW46IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHZhciBod2IgPSB0aGlzLmh3YigpO1xcblxcdFxcdGh3Yi5jb2xvclsyXSArPSBod2IuY29sb3JbMl0gKiByYXRpbztcXG5cXHRcXHRyZXR1cm4gaHdiO1xcblxcdH0sXFxuXFxuXFx0Z3JheXNjYWxlOiBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0Ly8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HcmF5c2NhbGUjQ29udmVydGluZ19jb2xvcl90b19ncmF5c2NhbGVcXG5cXHRcXHR2YXIgcmdiID0gdGhpcy5yZ2IoKS5jb2xvcjtcXG5cXHRcXHR2YXIgdmFsID0gcmdiWzBdICogMC4zICsgcmdiWzFdICogMC41OSArIHJnYlsyXSAqIDAuMTE7XFxuXFx0XFx0cmV0dXJuIENvbG9yLnJnYih2YWwsIHZhbCwgdmFsKTtcXG5cXHR9LFxcblxcblxcdGZhZGU6IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHJldHVybiB0aGlzLmFscGhhKHRoaXMudmFscGhhIC0gKHRoaXMudmFscGhhICogcmF0aW8pKTtcXG5cXHR9LFxcblxcblxcdG9wYXF1ZXI6IGZ1bmN0aW9uIChyYXRpbykge1xcblxcdFxcdHJldHVybiB0aGlzLmFscGhhKHRoaXMudmFscGhhICsgKHRoaXMudmFscGhhICogcmF0aW8pKTtcXG5cXHR9LFxcblxcblxcdHJvdGF0ZTogZnVuY3Rpb24gKGRlZ3JlZXMpIHtcXG5cXHRcXHR2YXIgaHNsID0gdGhpcy5oc2woKTtcXG5cXHRcXHR2YXIgaHVlID0gaHNsLmNvbG9yWzBdO1xcblxcdFxcdGh1ZSA9IChodWUgKyBkZWdyZWVzKSAlIDM2MDtcXG5cXHRcXHRodWUgPSBodWUgPCAwID8gMzYwICsgaHVlIDogaHVlO1xcblxcdFxcdGhzbC5jb2xvclswXSA9IGh1ZTtcXG5cXHRcXHRyZXR1cm4gaHNsO1xcblxcdH0sXFxuXFxuXFx0bWl4OiBmdW5jdGlvbiAobWl4aW5Db2xvciwgd2VpZ2h0KSB7XFxuXFx0XFx0Ly8gcG9ydGVkIGZyb20gc2FzcyBpbXBsZW1lbnRhdGlvbiBpbiBDXFxuXFx0XFx0Ly8gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9ibG9iLzBlNmI0YTI4NTAwOTIzNTZhYTNlY2UwN2M2YjI0OWYwMjIxY2FjZWQvZnVuY3Rpb25zLmNwcCNMMjA5XFxuXFx0XFx0aWYgKCFtaXhpbkNvbG9yIHx8ICFtaXhpbkNvbG9yLnJnYikge1xcblxcdFxcdFxcdHRocm93IG5ldyBFcnJvcignQXJndW1lbnQgdG8gXFxcIm1peFxcXCIgd2FzIG5vdCBhIENvbG9yIGluc3RhbmNlLCBidXQgcmF0aGVyIGFuIGluc3RhbmNlIG9mICcgKyB0eXBlb2YgbWl4aW5Db2xvcik7XFxuXFx0XFx0fVxcblxcdFxcdHZhciBjb2xvcjEgPSBtaXhpbkNvbG9yLnJnYigpO1xcblxcdFxcdHZhciBjb2xvcjIgPSB0aGlzLnJnYigpO1xcblxcdFxcdHZhciBwID0gd2VpZ2h0ID09PSB1bmRlZmluZWQgPyAwLjUgOiB3ZWlnaHQ7XFxuXFxuXFx0XFx0dmFyIHcgPSAyICogcCAtIDE7XFxuXFx0XFx0dmFyIGEgPSBjb2xvcjEuYWxwaGEoKSAtIGNvbG9yMi5hbHBoYSgpO1xcblxcblxcdFxcdHZhciB3MSA9ICgoKHcgKiBhID09PSAtMSkgPyB3IDogKHcgKyBhKSAvICgxICsgdyAqIGEpKSArIDEpIC8gMi4wO1xcblxcdFxcdHZhciB3MiA9IDEgLSB3MTtcXG5cXG5cXHRcXHRyZXR1cm4gQ29sb3IucmdiKFxcblxcdFxcdFxcdFxcdHcxICogY29sb3IxLnJlZCgpICsgdzIgKiBjb2xvcjIucmVkKCksXFxuXFx0XFx0XFx0XFx0dzEgKiBjb2xvcjEuZ3JlZW4oKSArIHcyICogY29sb3IyLmdyZWVuKCksXFxuXFx0XFx0XFx0XFx0dzEgKiBjb2xvcjEuYmx1ZSgpICsgdzIgKiBjb2xvcjIuYmx1ZSgpLFxcblxcdFxcdFxcdFxcdGNvbG9yMS5hbHBoYSgpICogcCArIGNvbG9yMi5hbHBoYSgpICogKDEgLSBwKSk7XFxuXFx0fVxcbn07XFxuXFxuLy8gbW9kZWwgY29udmVyc2lvbiBtZXRob2RzIGFuZCBzdGF0aWMgY29uc3RydWN0b3JzXFxuT2JqZWN0LmtleXMoY29udmVydCkuZm9yRWFjaChmdW5jdGlvbiAobW9kZWwpIHtcXG5cXHRpZiAoc2tpcHBlZE1vZGVscy5pbmRleE9mKG1vZGVsKSAhPT0gLTEpIHtcXG5cXHRcXHRyZXR1cm47XFxuXFx0fVxcblxcblxcdHZhciBjaGFubmVscyA9IGNvbnZlcnRbbW9kZWxdLmNoYW5uZWxzO1xcblxcblxcdC8vIGNvbnZlcnNpb24gbWV0aG9kc1xcblxcdENvbG9yLnByb3RvdHlwZVttb2RlbF0gPSBmdW5jdGlvbiAoKSB7XFxuXFx0XFx0aWYgKHRoaXMubW9kZWwgPT09IG1vZGVsKSB7XFxuXFx0XFx0XFx0cmV0dXJuIG5ldyBDb2xvcih0aGlzKTtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0aWYgKGFyZ3VtZW50cy5sZW5ndGgpIHtcXG5cXHRcXHRcXHRyZXR1cm4gbmV3IENvbG9yKGFyZ3VtZW50cywgbW9kZWwpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHR2YXIgbmV3QWxwaGEgPSB0eXBlb2YgYXJndW1lbnRzW2NoYW5uZWxzXSA9PT0gJ251bWJlcicgPyBjaGFubmVscyA6IHRoaXMudmFscGhhO1xcblxcdFxcdHJldHVybiBuZXcgQ29sb3IoYXNzZXJ0QXJyYXkoY29udmVydFt0aGlzLm1vZGVsXVttb2RlbF0ucmF3KHRoaXMuY29sb3IpKS5jb25jYXQobmV3QWxwaGEpLCBtb2RlbCk7XFxuXFx0fTtcXG5cXG5cXHQvLyAnc3RhdGljJyBjb25zdHJ1Y3Rpb24gbWV0aG9kc1xcblxcdENvbG9yW21vZGVsXSA9IGZ1bmN0aW9uIChjb2xvcikge1xcblxcdFxcdGlmICh0eXBlb2YgY29sb3IgPT09ICdudW1iZXInKSB7XFxuXFx0XFx0XFx0Y29sb3IgPSB6ZXJvQXJyYXkoX3NsaWNlLmNhbGwoYXJndW1lbnRzKSwgY2hhbm5lbHMpO1xcblxcdFxcdH1cXG5cXHRcXHRyZXR1cm4gbmV3IENvbG9yKGNvbG9yLCBtb2RlbCk7XFxuXFx0fTtcXG59KTtcXG5cXG5mdW5jdGlvbiByb3VuZFRvKG51bSwgcGxhY2VzKSB7XFxuXFx0cmV0dXJuIE51bWJlcihudW0udG9GaXhlZChwbGFjZXMpKTtcXG59XFxuXFxuZnVuY3Rpb24gcm91bmRUb1BsYWNlKHBsYWNlcykge1xcblxcdHJldHVybiBmdW5jdGlvbiAobnVtKSB7XFxuXFx0XFx0cmV0dXJuIHJvdW5kVG8obnVtLCBwbGFjZXMpO1xcblxcdH07XFxufVxcblxcbmZ1bmN0aW9uIGdldHNldChtb2RlbCwgY2hhbm5lbCwgbW9kaWZpZXIpIHtcXG5cXHRtb2RlbCA9IEFycmF5LmlzQXJyYXkobW9kZWwpID8gbW9kZWwgOiBbbW9kZWxdO1xcblxcblxcdG1vZGVsLmZvckVhY2goZnVuY3Rpb24gKG0pIHtcXG5cXHRcXHQobGltaXRlcnNbbV0gfHwgKGxpbWl0ZXJzW21dID0gW10pKVtjaGFubmVsXSA9IG1vZGlmaWVyO1xcblxcdH0pO1xcblxcblxcdG1vZGVsID0gbW9kZWxbMF07XFxuXFxuXFx0cmV0dXJuIGZ1bmN0aW9uICh2YWwpIHtcXG5cXHRcXHR2YXIgcmVzdWx0O1xcblxcblxcdFxcdGlmIChhcmd1bWVudHMubGVuZ3RoKSB7XFxuXFx0XFx0XFx0aWYgKG1vZGlmaWVyKSB7XFxuXFx0XFx0XFx0XFx0dmFsID0gbW9kaWZpZXIodmFsKTtcXG5cXHRcXHRcXHR9XFxuXFxuXFx0XFx0XFx0cmVzdWx0ID0gdGhpc1ttb2RlbF0oKTtcXG5cXHRcXHRcXHRyZXN1bHQuY29sb3JbY2hhbm5lbF0gPSB2YWw7XFxuXFx0XFx0XFx0cmV0dXJuIHJlc3VsdDtcXG5cXHRcXHR9XFxuXFxuXFx0XFx0cmVzdWx0ID0gdGhpc1ttb2RlbF0oKS5jb2xvcltjaGFubmVsXTtcXG5cXHRcXHRpZiAobW9kaWZpZXIpIHtcXG5cXHRcXHRcXHRyZXN1bHQgPSBtb2RpZmllcihyZXN1bHQpO1xcblxcdFxcdH1cXG5cXG5cXHRcXHRyZXR1cm4gcmVzdWx0O1xcblxcdH07XFxufVxcblxcbmZ1bmN0aW9uIG1heGZuKG1heCkge1xcblxcdHJldHVybiBmdW5jdGlvbiAodikge1xcblxcdFxcdHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbihtYXgsIHYpKTtcXG5cXHR9O1xcbn1cXG5cXG5mdW5jdGlvbiBhc3NlcnRBcnJheSh2YWwpIHtcXG5cXHRyZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XFxufVxcblxcbmZ1bmN0aW9uIHplcm9BcnJheShhcnIsIGxlbmd0aCkge1xcblxcdGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcXG5cXHRcXHRpZiAodHlwZW9mIGFycltpXSAhPT0gJ251bWJlcicpIHtcXG5cXHRcXHRcXHRhcnJbaV0gPSAwO1xcblxcdFxcdH1cXG5cXHR9XFxuXFxuXFx0cmV0dXJuIGFycjtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBDb2xvcjtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpiMnh2Y2k5cGJtUmxlQzVxY3o4MVpEQmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMREJFUVVGak8wRkJRM2hETEdOQlFXTXNiVUpCUVU4c1EwRkJReXcwUkVGQlpUczdRVUZGY2tNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWp0QlFVTnVRanRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHRCUVVOR08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUdEJRVU5HT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVzFDTzBGQlEyaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hoUVVGaExHTkJRV003UVVGRE0wSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN08wRkJSVVk3UVVGRFFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGT3p0QlFVVkdPMEZCUTBFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4alFVRmpPMEZCUXk5Q08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFVkJRVVU3TzBGQlJVWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN08wRkJSVVk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRkZRVUZ4UlN4clEwRkJhME1zUlVGQlJUczdRVUZGZWtjN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRa0ZCYVVJc1owSkJRV2RDTzBGQlEycERPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVWQlFVVTdPMEZCUlVZN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3TzBGQlJVWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hGUVVGRk96dEJRVVZHTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN08wRkJSVVk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RlFVRkZPenRCUVVWR08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEVzUlVGQlJUczdRVUZGUmp0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3TzBGQlJVWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHZENRVUZuUWl4WlFVRlpPMEZCUXpWQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZMjlzYjNJdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCamIyeHZjbE4wY21sdVp5QTlJSEpsY1hWcGNtVW9KMk52Ykc5eUxYTjBjbWx1WnljcE8xeHVkbUZ5SUdOdmJuWmxjblFnUFNCeVpYRjFhWEpsS0NkamIyeHZjaTFqYjI1MlpYSjBKeWs3WEc1Y2JuWmhjaUJmYzJ4cFkyVWdQU0JiWFM1emJHbGpaVHRjYmx4dWRtRnlJSE5yYVhCd1pXUk5iMlJsYkhNZ1BTQmJYRzVjZEM4dklIUnZJR0psSUdodmJtVnpkQ3dnU1NCa2IyNG5kQ0J5WldGc2JIa2dabVZsYkNCc2FXdGxJR3RsZVhkdmNtUWdZbVZzYjI1bmN5QnBiaUJqYjJ4dmNpQmpiMjUyWlhKMExDQmlkWFFnWldndVhHNWNkQ2RyWlhsM2IzSmtKeXhjYmx4dVhIUXZMeUJuY21GNUlHTnZibVpzYVdOMGN5QjNhWFJvSUhOdmJXVWdiV1YwYUc5a0lHNWhiV1Z6TENCaGJtUWdhR0Z6SUdsMGN5QnZkMjRnYldWMGFHOWtJR1JsWm1sdVpXUXVYRzVjZENkbmNtRjVKeXhjYmx4dVhIUXZMeUJ6YUc5MWJHUnVKM1FnY21WaGJHeDVJR0psSUdsdUlHTnZiRzl5TFdOdmJuWmxjblFnWldsMGFHVnlMaTR1WEc1Y2RDZG9aWGduWEc1ZE8xeHVYRzUyWVhJZ2FHRnphR1ZrVFc5a1pXeExaWGx6SUQwZ2UzMDdYRzVQWW1wbFkzUXVhMlY1Y3loamIyNTJaWEowS1M1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNodGIyUmxiQ2tnZTF4dVhIUm9ZWE5vWldSTmIyUmxiRXRsZVhOYlgzTnNhV05sTG1OaGJHd29ZMjl1ZG1WeWRGdHRiMlJsYkYwdWJHRmlaV3h6S1M1emIzSjBLQ2t1YW05cGJpZ25KeWxkSUQwZ2JXOWtaV3c3WEc1OUtUdGNibHh1ZG1GeUlHeHBiV2wwWlhKeklEMGdlMzA3WEc1Y2JtWjFibU4wYVc5dUlFTnZiRzl5S0c5aWFpd2diVzlrWld3cElIdGNibHgwYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlFTnZiRzl5S1NrZ2UxeHVYSFJjZEhKbGRIVnliaUJ1WlhjZ1EyOXNiM0lvYjJKcUxDQnRiMlJsYkNrN1hHNWNkSDFjYmx4dVhIUnBaaUFvYlc5a1pXd2dKaVlnYlc5a1pXd2dhVzRnYzJ0cGNIQmxaRTF2WkdWc2N5a2dlMXh1WEhSY2RHMXZaR1ZzSUQwZ2JuVnNiRHRjYmx4MGZWeHVYRzVjZEdsbUlDaHRiMlJsYkNBbUppQWhLRzF2WkdWc0lHbHVJR052Ym5abGNuUXBLU0I3WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFZibXR1YjNkdUlHMXZaR1ZzT2lBbklDc2diVzlrWld3cE8xeHVYSFI5WEc1Y2JseDBkbUZ5SUdrN1hHNWNkSFpoY2lCamFHRnVibVZzY3p0Y2JseHVYSFJwWmlBb2IySnFJRDA5SUc1MWJHd3BJSHNnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0YkdsdVpTQnVieTFsY1MxdWRXeHNMR1Z4WlhGbGNWeHVYSFJjZEhSb2FYTXViVzlrWld3Z1BTQW5jbWRpSnp0Y2JseDBYSFIwYUdsekxtTnZiRzl5SUQwZ1d6QXNJREFzSURCZE8xeHVYSFJjZEhSb2FYTXVkbUZzY0doaElEMGdNVHRjYmx4MGZTQmxiSE5sSUdsbUlDaHZZbW9nYVc1emRHRnVZMlZ2WmlCRGIyeHZjaWtnZTF4dVhIUmNkSFJvYVhNdWJXOWtaV3dnUFNCdlltb3ViVzlrWld3N1hHNWNkRngwZEdocGN5NWpiMnh2Y2lBOUlHOWlhaTVqYjJ4dmNpNXpiR2xqWlNncE8xeHVYSFJjZEhSb2FYTXVkbUZzY0doaElEMGdiMkpxTG5aaGJIQm9ZVHRjYmx4MGZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ2IySnFJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVYSFJjZEhaaGNpQnlaWE4xYkhRZ1BTQmpiMnh2Y2xOMGNtbHVaeTVuWlhRb2IySnFLVHRjYmx4MFhIUnBaaUFvY21WemRXeDBJRDA5UFNCdWRXeHNLU0I3WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1WVdKc1pTQjBieUJ3WVhKelpTQmpiMnh2Y2lCbWNtOXRJSE4wY21sdVp6b2dKeUFySUc5aWFpazdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGRHaHBjeTV0YjJSbGJDQTlJSEpsYzNWc2RDNXRiMlJsYkR0Y2JseDBYSFJqYUdGdWJtVnNjeUE5SUdOdmJuWmxjblJiZEdocGN5NXRiMlJsYkYwdVkyaGhibTVsYkhNN1hHNWNkRngwZEdocGN5NWpiMnh2Y2lBOUlISmxjM1ZzZEM1MllXeDFaUzV6YkdsalpTZ3dMQ0JqYUdGdWJtVnNjeWs3WEc1Y2RGeDBkR2hwY3k1MllXeHdhR0VnUFNCMGVYQmxiMllnY21WemRXeDBMblpoYkhWbFcyTm9ZVzV1Wld4elhTQTlQVDBnSjI1MWJXSmxjaWNnUHlCeVpYTjFiSFF1ZG1Gc2RXVmJZMmhoYm01bGJITmRJRG9nTVR0Y2JseDBmU0JsYkhObElHbG1JQ2h2WW1vdWJHVnVaM1JvS1NCN1hHNWNkRngwZEdocGN5NXRiMlJsYkNBOUlHMXZaR1ZzSUh4OElDZHlaMkluTzF4dVhIUmNkR05vWVc1dVpXeHpJRDBnWTI5dWRtVnlkRnQwYUdsekxtMXZaR1ZzWFM1amFHRnVibVZzY3p0Y2JseDBYSFIyWVhJZ2JtVjNRWEp5SUQwZ1gzTnNhV05sTG1OaGJHd29iMkpxTENBd0xDQmphR0Z1Ym1Wc2N5azdYRzVjZEZ4MGRHaHBjeTVqYjJ4dmNpQTlJSHBsY205QmNuSmhlU2h1WlhkQmNuSXNJR05vWVc1dVpXeHpLVHRjYmx4MFhIUjBhR2x6TG5aaGJIQm9ZU0E5SUhSNWNHVnZaaUJ2WW1wYlkyaGhibTVsYkhOZElEMDlQU0FuYm5WdFltVnlKeUEvSUc5aWFsdGphR0Z1Ym1Wc2MxMGdPaUF4TzF4dVhIUjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQnZZbW9nUFQwOUlDZHVkVzFpWlhJbktTQjdYRzVjZEZ4MEx5OGdkR2hwY3lCcGN5QmhiSGRoZVhNZ1VrZENJQzBnWTJGdUlHSmxJR052Ym5abGNuUmxaQ0JzWVhSbGNpQnZiaTVjYmx4MFhIUnZZbW9nSmowZ01IaEdSa1pHUmtZN1hHNWNkRngwZEdocGN5NXRiMlJsYkNBOUlDZHlaMkluTzF4dVhIUmNkSFJvYVhNdVkyOXNiM0lnUFNCYlhHNWNkRngwWEhRb2IySnFJRDQrSURFMktTQW1JREI0UmtZc1hHNWNkRngwWEhRb2IySnFJRDQrSURncElDWWdNSGhHUml4Y2JseDBYSFJjZEc5aWFpQW1JREI0UmtaY2JseDBYSFJkTzF4dVhIUmNkSFJvYVhNdWRtRnNjR2hoSUQwZ01UdGNibHgwZlNCbGJITmxJSHRjYmx4MFhIUjBhR2x6TG5aaGJIQm9ZU0E5SURFN1hHNWNibHgwWEhSMllYSWdhMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpLRzlpYWlrN1hHNWNkRngwYVdZZ0tDZGhiSEJvWVNjZ2FXNGdiMkpxS1NCN1hHNWNkRngwWEhSclpYbHpMbk53YkdsalpTaHJaWGx6TG1sdVpHVjRUMllvSjJGc2NHaGhKeWtzSURFcE8xeHVYSFJjZEZ4MGRHaHBjeTUyWVd4d2FHRWdQU0IwZVhCbGIyWWdiMkpxTG1Gc2NHaGhJRDA5UFNBbmJuVnRZbVZ5SnlBL0lHOWlhaTVoYkhCb1lTQTZJREE3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBkbUZ5SUdoaGMyaGxaRXRsZVhNZ1BTQnJaWGx6TG5OdmNuUW9LUzVxYjJsdUtDY25LVHRjYmx4MFhIUnBaaUFvSVNob1lYTm9aV1JMWlhseklHbHVJR2hoYzJobFpFMXZaR1ZzUzJWNWN5a3BJSHRjYmx4MFhIUmNkSFJvY205M0lHNWxkeUJGY25KdmNpZ25WVzVoWW14bElIUnZJSEJoY25ObElHTnZiRzl5SUdaeWIyMGdiMkpxWldOME9pQW5JQ3NnU2xOUFRpNXpkSEpwYm1kcFpua29iMkpxS1NrN1hHNWNkRngwZlZ4dVhHNWNkRngwZEdocGN5NXRiMlJsYkNBOUlHaGhjMmhsWkUxdlpHVnNTMlY1YzF0b1lYTm9aV1JMWlhselhUdGNibHh1WEhSY2RIWmhjaUJzWVdKbGJITWdQU0JqYjI1MlpYSjBXM1JvYVhNdWJXOWtaV3hkTG14aFltVnNjenRjYmx4MFhIUjJZWElnWTI5c2IzSWdQU0JiWFR0Y2JseDBYSFJtYjNJZ0tHa2dQU0F3T3lCcElEd2diR0ZpWld4ekxteGxibWQwYURzZ2FTc3JLU0I3WEc1Y2RGeDBYSFJqYjJ4dmNpNXdkWE5vS0c5aWFsdHNZV0psYkhOYmFWMWRLVHRjYmx4MFhIUjlYRzVjYmx4MFhIUjBhR2x6TG1OdmJHOXlJRDBnZW1WeWIwRnljbUY1S0dOdmJHOXlLVHRjYmx4MGZWeHVYRzVjZEM4dklIQmxjbVp2Y20wZ2JHbHRhWFJoZEdsdmJuTWdLR05zWVcxd2FXNW5MQ0JsZEdNdUtWeHVYSFJwWmlBb2JHbHRhWFJsY25OYmRHaHBjeTV0YjJSbGJGMHBJSHRjYmx4MFhIUmphR0Z1Ym1Wc2N5QTlJR052Ym5abGNuUmJkR2hwY3k1dGIyUmxiRjB1WTJoaGJtNWxiSE03WEc1Y2RGeDBabTl5SUNocElEMGdNRHNnYVNBOElHTm9ZVzV1Wld4ek95QnBLeXNwSUh0Y2JseDBYSFJjZEhaaGNpQnNhVzFwZENBOUlHeHBiV2wwWlhKelczUm9hWE11Ylc5a1pXeGRXMmxkTzF4dVhIUmNkRngwYVdZZ0tHeHBiV2wwS1NCN1hHNWNkRngwWEhSY2RIUm9hWE11WTI5c2IzSmJhVjBnUFNCc2FXMXBkQ2gwYUdsekxtTnZiRzl5VzJsZEtUdGNibHgwWEhSY2RIMWNibHgwWEhSOVhHNWNkSDFjYmx4dVhIUjBhR2x6TG5aaGJIQm9ZU0E5SUUxaGRHZ3ViV0Y0S0RBc0lFMWhkR2d1YldsdUtERXNJSFJvYVhNdWRtRnNjR2hoS1NrN1hHNWNibHgwYVdZZ0tFOWlhbVZqZEM1bWNtVmxlbVVwSUh0Y2JseDBYSFJQWW1wbFkzUXVabkpsWlhwbEtIUm9hWE1wTzF4dVhIUjlYRzU5WEc1Y2JrTnZiRzl5TG5CeWIzUnZkSGx3WlNBOUlIdGNibHgwZEc5VGRISnBibWM2SUdaMWJtTjBhVzl1SUNncElIdGNibHgwWEhSeVpYUjFjbTRnZEdocGN5NXpkSEpwYm1jb0tUdGNibHgwZlN4Y2JseHVYSFIwYjBwVFQwNDZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwYzF0MGFHbHpMbTF2WkdWc1hTZ3BPMXh1WEhSOUxGeHVYRzVjZEhOMGNtbHVaem9nWm5WdVkzUnBiMjRnS0hCc1lXTmxjeWtnZTF4dVhIUmNkSFpoY2lCelpXeG1JRDBnZEdocGN5NXRiMlJsYkNCcGJpQmpiMnh2Y2xOMGNtbHVaeTUwYnlBL0lIUm9hWE1nT2lCMGFHbHpMbkpuWWlncE8xeHVYSFJjZEhObGJHWWdQU0J6Wld4bUxuSnZkVzVrS0hSNWNHVnZaaUJ3YkdGalpYTWdQVDA5SUNkdWRXMWlaWEluSUQ4Z2NHeGhZMlZ6SURvZ01TazdYRzVjZEZ4MGRtRnlJR0Z5WjNNZ1BTQnpaV3htTG5aaGJIQm9ZU0E5UFQwZ01TQS9JSE5sYkdZdVkyOXNiM0lnT2lCelpXeG1MbU52Ykc5eUxtTnZibU5oZENoMGFHbHpMblpoYkhCb1lTazdYRzVjZEZ4MGNtVjBkWEp1SUdOdmJHOXlVM1J5YVc1bkxuUnZXM05sYkdZdWJXOWtaV3hkS0dGeVozTXBPMXh1WEhSOUxGeHVYRzVjZEhCbGNtTmxiblJUZEhKcGJtYzZJR1oxYm1OMGFXOXVJQ2h3YkdGalpYTXBJSHRjYmx4MFhIUjJZWElnYzJWc1ppQTlJSFJvYVhNdWNtZGlLQ2t1Y205MWJtUW9kSGx3Wlc5bUlIQnNZV05sY3lBOVBUMGdKMjUxYldKbGNpY2dQeUJ3YkdGalpYTWdPaUF4S1R0Y2JseDBYSFIyWVhJZ1lYSm5jeUE5SUhObGJHWXVkbUZzY0doaElEMDlQU0F4SUQ4Z2MyVnNaaTVqYjJ4dmNpQTZJSE5sYkdZdVkyOXNiM0l1WTI5dVkyRjBLSFJvYVhNdWRtRnNjR2hoS1R0Y2JseDBYSFJ5WlhSMWNtNGdZMjlzYjNKVGRISnBibWN1ZEc4dWNtZGlMbkJsY21ObGJuUW9ZWEpuY3lrN1hHNWNkSDBzWEc1Y2JseDBZWEp5WVhrNklHWjFibU4wYVc5dUlDZ3BJSHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTUyWVd4d2FHRWdQVDA5SURFZ1B5QjBhR2x6TG1OdmJHOXlMbk5zYVdObEtDa2dPaUIwYUdsekxtTnZiRzl5TG1OdmJtTmhkQ2gwYUdsekxuWmhiSEJvWVNrN1hHNWNkSDBzWEc1Y2JseDBiMkpxWldOME9pQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBkbUZ5SUhKbGMzVnNkQ0E5SUh0OU8xeHVYSFJjZEhaaGNpQmphR0Z1Ym1Wc2N5QTlJR052Ym5abGNuUmJkR2hwY3k1dGIyUmxiRjB1WTJoaGJtNWxiSE03WEc1Y2RGeDBkbUZ5SUd4aFltVnNjeUE5SUdOdmJuWmxjblJiZEdocGN5NXRiMlJsYkYwdWJHRmlaV3h6TzF4dVhHNWNkRngwWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCamFHRnVibVZzY3pzZ2FTc3JLU0I3WEc1Y2RGeDBYSFJ5WlhOMWJIUmJiR0ZpWld4elcybGRYU0E5SUhSb2FYTXVZMjlzYjNKYmFWMDdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGFXWWdLSFJvYVhNdWRtRnNjR2hoSUNFOVBTQXhLU0I3WEc1Y2RGeDBYSFJ5WlhOMWJIUXVZV3h3YUdFZ1BTQjBhR2x6TG5aaGJIQm9ZVHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWFIxY200Z2NtVnpkV3gwTzF4dVhIUjlMRnh1WEc1Y2RIVnVhWFJCY25KaGVUb2dablZ1WTNScGIyNGdLQ2tnZTF4dVhIUmNkSFpoY2lCeVoySWdQU0IwYUdsekxuSm5ZaWdwTG1OdmJHOXlPMXh1WEhSY2RISm5ZbHN3WFNBdlBTQXlOVFU3WEc1Y2RGeDBjbWRpV3pGZElDODlJREkxTlR0Y2JseDBYSFJ5WjJKYk1sMGdMejBnTWpVMU8xeHVYRzVjZEZ4MGFXWWdLSFJvYVhNdWRtRnNjR2hoSUNFOVBTQXhLU0I3WEc1Y2RGeDBYSFJ5WjJJdWNIVnphQ2gwYUdsekxuWmhiSEJvWVNrN1hHNWNkRngwZlZ4dVhHNWNkRngwY21WMGRYSnVJSEpuWWp0Y2JseDBmU3hjYmx4dVhIUjFibWwwVDJKcVpXTjBPaUJtZFc1amRHbHZiaUFvS1NCN1hHNWNkRngwZG1GeUlISm5ZaUE5SUhSb2FYTXVjbWRpS0NrdWIySnFaV04wS0NrN1hHNWNkRngwY21kaUxuSWdMejBnTWpVMU8xeHVYSFJjZEhKbllpNW5JQzg5SURJMU5UdGNibHgwWEhSeVoySXVZaUF2UFNBeU5UVTdYRzVjYmx4MFhIUnBaaUFvZEdocGN5NTJZV3h3YUdFZ0lUMDlJREVwSUh0Y2JseDBYSFJjZEhKbllpNWhiSEJvWVNBOUlIUm9hWE11ZG1Gc2NHaGhPMXh1WEhSY2RIMWNibHh1WEhSY2RISmxkSFZ5YmlCeVoySTdYRzVjZEgwc1hHNWNibHgwY205MWJtUTZJR1oxYm1OMGFXOXVJQ2h3YkdGalpYTXBJSHRjYmx4MFhIUndiR0ZqWlhNZ1BTQk5ZWFJvTG0xaGVDaHdiR0ZqWlhNZ2ZId2dNQ3dnTUNrN1hHNWNkRngwY21WMGRYSnVJRzVsZHlCRGIyeHZjaWgwYUdsekxtTnZiRzl5TG0xaGNDaHliM1Z1WkZSdlVHeGhZMlVvY0d4aFkyVnpLU2t1WTI5dVkyRjBLSFJvYVhNdWRtRnNjR2hoS1N3Z2RHaHBjeTV0YjJSbGJDazdYRzVjZEgwc1hHNWNibHgwWVd4d2FHRTZJR1oxYm1OMGFXOXVJQ2gyWVd3cElIdGNibHgwWEhScFppQW9ZWEpuZFcxbGJuUnpMbXhsYm1kMGFDa2dlMXh1WEhSY2RGeDBjbVYwZFhKdUlHNWxkeUJEYjJ4dmNpaDBhR2x6TG1OdmJHOXlMbU52Ym1OaGRDaE5ZWFJvTG0xaGVDZ3dMQ0JOWVhSb0xtMXBiaWd4TENCMllXd3BLU2tzSUhSb2FYTXViVzlrWld3cE8xeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUIwYUdsekxuWmhiSEJvWVR0Y2JseDBmU3hjYmx4dVhIUXZMeUJ5WjJKY2JseDBjbVZrT2lCblpYUnpaWFFvSjNKbllpY3NJREFzSUcxaGVHWnVLREkxTlNrcExGeHVYSFJuY21WbGJqb2daMlYwYzJWMEtDZHlaMkluTENBeExDQnRZWGhtYmlneU5UVXBLU3hjYmx4MFlteDFaVG9nWjJWMGMyVjBLQ2R5WjJJbkxDQXlMQ0J0WVhobWJpZ3lOVFVwS1N4Y2JseHVYSFJvZFdVNklHZGxkSE5sZENoYkoyaHpiQ2NzSUNkb2MzWW5MQ0FuYUhOc0p5d2dKMmgzWWljc0lDZG9ZMmNuWFN3Z01Dd2dablZ1WTNScGIyNGdLSFpoYkNrZ2V5QnlaWFIxY200Z0tDaDJZV3dnSlNBek5qQXBJQ3NnTXpZd0tTQWxJRE0yTURzZ2ZTa3NJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ1luSmhZMlV0YzNSNWJHVmNibHh1WEhSellYUjFjbUYwYVc5dWJEb2daMlYwYzJWMEtDZG9jMnduTENBeExDQnRZWGhtYmlneE1EQXBLU3hjYmx4MGJHbG5hSFJ1WlhOek9pQm5aWFJ6WlhRb0oyaHpiQ2NzSURJc0lHMWhlR1p1S0RFd01Da3BMRnh1WEc1Y2RITmhkSFZ5WVhScGIyNTJPaUJuWlhSelpYUW9KMmh6ZGljc0lERXNJRzFoZUdadUtERXdNQ2twTEZ4dVhIUjJZV3gxWlRvZ1oyVjBjMlYwS0Nkb2MzWW5MQ0F5TENCdFlYaG1iaWd4TURBcEtTeGNibHh1WEhSamFISnZiV0U2SUdkbGRITmxkQ2duYUdObkp5d2dNU3dnYldGNFptNG9NVEF3S1Nrc1hHNWNkR2R5WVhrNklHZGxkSE5sZENnbmFHTm5KeXdnTWl3Z2JXRjRabTRvTVRBd0tTa3NYRzVjYmx4MGQyaHBkR1U2SUdkbGRITmxkQ2duYUhkaUp5d2dNU3dnYldGNFptNG9NVEF3S1Nrc1hHNWNkSGRpYkdGamF6b2daMlYwYzJWMEtDZG9kMkluTENBeUxDQnRZWGhtYmlneE1EQXBLU3hjYmx4dVhIUmplV0Z1T2lCblpYUnpaWFFvSjJOdGVXc25MQ0F3TENCdFlYaG1iaWd4TURBcEtTeGNibHgwYldGblpXNTBZVG9nWjJWMGMyVjBLQ2RqYlhsckp5d2dNU3dnYldGNFptNG9NVEF3S1Nrc1hHNWNkSGxsYkd4dmR6b2daMlYwYzJWMEtDZGpiWGxySnl3Z01pd2diV0Y0Wm00b01UQXdLU2tzWEc1Y2RHSnNZV05yT2lCblpYUnpaWFFvSjJOdGVXc25MQ0F6TENCdFlYaG1iaWd4TURBcEtTeGNibHh1WEhSNE9pQm5aWFJ6WlhRb0ozaDVlaWNzSURBc0lHMWhlR1p1S0RFd01Da3BMRnh1WEhSNU9pQm5aWFJ6WlhRb0ozaDVlaWNzSURFc0lHMWhlR1p1S0RFd01Da3BMRnh1WEhSNk9pQm5aWFJ6WlhRb0ozaDVlaWNzSURJc0lHMWhlR1p1S0RFd01Da3BMRnh1WEc1Y2RHdzZJR2RsZEhObGRDZ25iR0ZpSnl3Z01Dd2diV0Y0Wm00b01UQXdLU2tzWEc1Y2RHRTZJR2RsZEhObGRDZ25iR0ZpSnl3Z01Ta3NYRzVjZEdJNklHZGxkSE5sZENnbmJHRmlKeXdnTWlrc1hHNWNibHgwYTJWNWQyOXlaRG9nWm5WdVkzUnBiMjRnS0haaGJDa2dlMXh1WEhSY2RHbG1JQ2hoY21kMWJXVnVkSE11YkdWdVozUm9LU0I3WEc1Y2RGeDBYSFJ5WlhSMWNtNGdibVYzSUVOdmJHOXlLSFpoYkNrN1hHNWNkRngwZlZ4dVhHNWNkRngwY21WMGRYSnVJR052Ym5abGNuUmJkR2hwY3k1dGIyUmxiRjB1YTJWNWQyOXlaQ2gwYUdsekxtTnZiRzl5S1R0Y2JseDBmU3hjYmx4dVhIUm9aWGc2SUdaMWJtTjBhVzl1SUNoMllXd3BJSHRjYmx4MFhIUnBaaUFvWVhKbmRXMWxiblJ6TG14bGJtZDBhQ2tnZTF4dVhIUmNkRngwY21WMGRYSnVJRzVsZHlCRGIyeHZjaWgyWVd3cE8xeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUJqYjJ4dmNsTjBjbWx1Wnk1MGJ5NW9aWGdvZEdocGN5NXlaMklvS1M1eWIzVnVaQ2dwTG1OdmJHOXlLVHRjYmx4MGZTeGNibHh1WEhSeVoySk9kVzFpWlhJNklHWjFibU4wYVc5dUlDZ3BJSHRjYmx4MFhIUjJZWElnY21kaUlEMGdkR2hwY3k1eVoySW9LUzVqYjJ4dmNqdGNibHgwWEhSeVpYUjFjbTRnS0NoeVoySmJNRjBnSmlBd2VFWkdLU0E4UENBeE5pa2dmQ0FvS0hKbllsc3hYU0FtSURCNFJrWXBJRHc4SURncElId2dLSEpuWWxzeVhTQW1JREI0UmtZcE8xeHVYSFI5TEZ4dVhHNWNkR3gxYldsdWIzTnBkSGs2SUdaMWJtTjBhVzl1SUNncElIdGNibHgwWEhRdkx5Qm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTlYUTBGSE1qQXZJM0psYkdGMGFYWmxiSFZ0YVc1aGJtTmxaR1ZtWEc1Y2RGeDBkbUZ5SUhKbllpQTlJSFJvYVhNdWNtZGlLQ2t1WTI5c2IzSTdYRzVjYmx4MFhIUjJZWElnYkhWdElEMGdXMTA3WEc1Y2RGeDBabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J5WjJJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmx4MFhIUmNkSFpoY2lCamFHRnVJRDBnY21kaVcybGRJQzhnTWpVMU8xeHVYSFJjZEZ4MGJIVnRXMmxkSUQwZ0tHTm9ZVzRnUEQwZ01DNHdNemt5T0NrZ1B5QmphR0Z1SUM4Z01USXVPVElnT2lCTllYUm9MbkJ2ZHlnb0tHTm9ZVzRnS3lBd0xqQTFOU2tnTHlBeExqQTFOU2tzSURJdU5DazdYRzVjZEZ4MGZWeHVYRzVjZEZ4MGNtVjBkWEp1SURBdU1qRXlOaUFxSUd4MWJWc3dYU0FySURBdU56RTFNaUFxSUd4MWJWc3hYU0FySURBdU1EY3lNaUFxSUd4MWJWc3lYVHRjYmx4MGZTeGNibHh1WEhSamIyNTBjbUZ6ZERvZ1puVnVZM1JwYjI0Z0tHTnZiRzl5TWlrZ2UxeHVYSFJjZEM4dklHaDBkSEE2THk5M2QzY3Vkek11YjNKbkwxUlNMMWREUVVjeU1DOGpZMjl1ZEhKaGMzUXRjbUYwYVc5a1pXWmNibHgwWEhSMllYSWdiSFZ0TVNBOUlIUm9hWE11YkhWdGFXNXZjMmwwZVNncE8xeHVYSFJjZEhaaGNpQnNkVzB5SUQwZ1kyOXNiM0l5TG14MWJXbHViM05wZEhrb0tUdGNibHh1WEhSY2RHbG1JQ2hzZFcweElENGdiSFZ0TWlrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1SUNoc2RXMHhJQ3NnTUM0d05Ta2dMeUFvYkhWdE1pQXJJREF1TURVcE8xeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUFvYkhWdE1pQXJJREF1TURVcElDOGdLR3gxYlRFZ0t5QXdMakExS1R0Y2JseDBmU3hjYmx4dVhIUnNaWFpsYkRvZ1puVnVZM1JwYjI0Z0tHTnZiRzl5TWlrZ2UxeHVYSFJjZEhaaGNpQmpiMjUwY21GemRGSmhkR2x2SUQwZ2RHaHBjeTVqYjI1MGNtRnpkQ2hqYjJ4dmNqSXBPMXh1WEhSY2RHbG1JQ2hqYjI1MGNtRnpkRkpoZEdsdklENDlJRGN1TVNrZ2UxeHVYSFJjZEZ4MGNtVjBkWEp1SUNkQlFVRW5PMXh1WEhSY2RIMWNibHh1WEhSY2RISmxkSFZ5YmlBb1kyOXVkSEpoYzNSU1lYUnBieUErUFNBMExqVXBJRDhnSjBGQkp5QTZJQ2NuTzF4dVhIUjlMRnh1WEc1Y2RHbHpSR0Z5YXpvZ1puVnVZM1JwYjI0Z0tDa2dlMXh1WEhSY2RDOHZJRmxKVVNCbGNYVmhkR2x2YmlCbWNtOXRJR2gwZEhBNkx5OHlOSGRoZVhNdWIzSm5Mekl3TVRBdlkyRnNZM1ZzWVhScGJtY3RZMjlzYjNJdFkyOXVkSEpoYzNSY2JseDBYSFIyWVhJZ2NtZGlJRDBnZEdocGN5NXlaMklvS1M1amIyeHZjanRjYmx4MFhIUjJZWElnZVdseElEMGdLSEpuWWxzd1hTQXFJREk1T1NBcklISm5ZbHN4WFNBcUlEVTROeUFySUhKbllsc3lYU0FxSURFeE5Da2dMeUF4TURBd08xeHVYSFJjZEhKbGRIVnliaUI1YVhFZ1BDQXhNamc3WEc1Y2RIMHNYRzVjYmx4MGFYTk1hV2RvZERvZ1puVnVZM1JwYjI0Z0tDa2dlMXh1WEhSY2RISmxkSFZ5YmlBaGRHaHBjeTVwYzBSaGNtc29LVHRjYmx4MGZTeGNibHh1WEhSdVpXZGhkR1U2SUdaMWJtTjBhVzl1SUNncElIdGNibHgwWEhSMllYSWdjbWRpSUQwZ2RHaHBjeTV5WjJJb0tUdGNibHgwWEhSbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElETTdJR2tyS3lrZ2UxeHVYSFJjZEZ4MGNtZGlMbU52Ykc5eVcybGRJRDBnTWpVMUlDMGdjbWRpTG1OdmJHOXlXMmxkTzF4dVhIUmNkSDFjYmx4MFhIUnlaWFIxY200Z2NtZGlPMXh1WEhSOUxGeHVYRzVjZEd4cFoyaDBaVzQ2SUdaMWJtTjBhVzl1SUNoeVlYUnBieWtnZTF4dVhIUmNkSFpoY2lCb2Myd2dQU0IwYUdsekxtaHpiQ2dwTzF4dVhIUmNkR2h6YkM1amIyeHZjbHN5WFNBclBTQm9jMnd1WTI5c2IzSmJNbDBnS2lCeVlYUnBienRjYmx4MFhIUnlaWFIxY200Z2FITnNPMXh1WEhSOUxGeHVYRzVjZEdSaGNtdGxiam9nWm5WdVkzUnBiMjRnS0hKaGRHbHZLU0I3WEc1Y2RGeDBkbUZ5SUdoemJDQTlJSFJvYVhNdWFITnNLQ2s3WEc1Y2RGeDBhSE5zTG1OdmJHOXlXekpkSUMwOUlHaHpiQzVqYjJ4dmNsc3lYU0FxSUhKaGRHbHZPMXh1WEhSY2RISmxkSFZ5YmlCb2MydzdYRzVjZEgwc1hHNWNibHgwYzJGMGRYSmhkR1U2SUdaMWJtTjBhVzl1SUNoeVlYUnBieWtnZTF4dVhIUmNkSFpoY2lCb2Myd2dQU0IwYUdsekxtaHpiQ2dwTzF4dVhIUmNkR2h6YkM1amIyeHZjbHN4WFNBclBTQm9jMnd1WTI5c2IzSmJNVjBnS2lCeVlYUnBienRjYmx4MFhIUnlaWFIxY200Z2FITnNPMXh1WEhSOUxGeHVYRzVjZEdSbGMyRjBkWEpoZEdVNklHWjFibU4wYVc5dUlDaHlZWFJwYnlrZ2UxeHVYSFJjZEhaaGNpQm9jMndnUFNCMGFHbHpMbWh6YkNncE8xeHVYSFJjZEdoemJDNWpiMnh2Y2xzeFhTQXRQU0JvYzJ3dVkyOXNiM0piTVYwZ0tpQnlZWFJwYnp0Y2JseDBYSFJ5WlhSMWNtNGdhSE5zTzF4dVhIUjlMRnh1WEc1Y2RIZG9hWFJsYmpvZ1puVnVZM1JwYjI0Z0tISmhkR2x2S1NCN1hHNWNkRngwZG1GeUlHaDNZaUE5SUhSb2FYTXVhSGRpS0NrN1hHNWNkRngwYUhkaUxtTnZiRzl5V3pGZElDczlJR2gzWWk1amIyeHZjbHN4WFNBcUlISmhkR2x2TzF4dVhIUmNkSEpsZEhWeWJpQm9kMkk3WEc1Y2RIMHNYRzVjYmx4MFlteGhZMnRsYmpvZ1puVnVZM1JwYjI0Z0tISmhkR2x2S1NCN1hHNWNkRngwZG1GeUlHaDNZaUE5SUhSb2FYTXVhSGRpS0NrN1hHNWNkRngwYUhkaUxtTnZiRzl5V3pKZElDczlJR2gzWWk1amIyeHZjbHN5WFNBcUlISmhkR2x2TzF4dVhIUmNkSEpsZEhWeWJpQm9kMkk3WEc1Y2RIMHNYRzVjYmx4MFozSmhlWE5qWVd4bE9pQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBMeThnYUhSMGNEb3ZMMlZ1TG5kcGEybHdaV1JwWVM1dmNtY3ZkMmxyYVM5SGNtRjVjMk5oYkdValEyOXVkbVZ5ZEdsdVoxOWpiMnh2Y2w5MGIxOW5jbUY1YzJOaGJHVmNibHgwWEhSMllYSWdjbWRpSUQwZ2RHaHBjeTV5WjJJb0tTNWpiMnh2Y2p0Y2JseDBYSFIyWVhJZ2RtRnNJRDBnY21kaVd6QmRJQ29nTUM0eklDc2djbWRpV3pGZElDb2dNQzQxT1NBcklISm5ZbHN5WFNBcUlEQXVNVEU3WEc1Y2RGeDBjbVYwZFhKdUlFTnZiRzl5TG5KbllpaDJZV3dzSUhaaGJDd2dkbUZzS1R0Y2JseDBmU3hjYmx4dVhIUm1ZV1JsT2lCbWRXNWpkR2x2YmlBb2NtRjBhVzhwSUh0Y2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1aGJIQm9ZU2gwYUdsekxuWmhiSEJvWVNBdElDaDBhR2x6TG5aaGJIQm9ZU0FxSUhKaGRHbHZLU2s3WEc1Y2RIMHNYRzVjYmx4MGIzQmhjWFZsY2pvZ1puVnVZM1JwYjI0Z0tISmhkR2x2S1NCN1hHNWNkRngwY21WMGRYSnVJSFJvYVhNdVlXeHdhR0VvZEdocGN5NTJZV3h3YUdFZ0t5QW9kR2hwY3k1MllXeHdhR0VnS2lCeVlYUnBieWtwTzF4dVhIUjlMRnh1WEc1Y2RISnZkR0YwWlRvZ1puVnVZM1JwYjI0Z0tHUmxaM0psWlhNcElIdGNibHgwWEhSMllYSWdhSE5zSUQwZ2RHaHBjeTVvYzJ3b0tUdGNibHgwWEhSMllYSWdhSFZsSUQwZ2FITnNMbU52Ykc5eVd6QmRPMXh1WEhSY2RHaDFaU0E5SUNob2RXVWdLeUJrWldkeVpXVnpLU0FsSURNMk1EdGNibHgwWEhSb2RXVWdQU0JvZFdVZ1BDQXdJRDhnTXpZd0lDc2dhSFZsSURvZ2FIVmxPMXh1WEhSY2RHaHpiQzVqYjJ4dmNsc3dYU0E5SUdoMVpUdGNibHgwWEhSeVpYUjFjbTRnYUhOc08xeHVYSFI5TEZ4dVhHNWNkRzFwZURvZ1puVnVZM1JwYjI0Z0tHMXBlR2x1UTI5c2IzSXNJSGRsYVdkb2RDa2dlMXh1WEhSY2RDOHZJSEJ2Y25SbFpDQm1jbTl0SUhOaGMzTWdhVzF3YkdWdFpXNTBZWFJwYjI0Z2FXNGdRMXh1WEhSY2RDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl6WVhOekwyeHBZbk5oYzNNdllteHZZaTh3WlRaaU5HRXlPRFV3TURreU16VTJZV0V6WldObE1EZGpObUl5TkRsbU1ESXlNV05oWTJWa0wyWjFibU4wYVc5dWN5NWpjSEFqVERJd09WeHVYSFJjZEdsbUlDZ2hiV2w0YVc1RGIyeHZjaUI4ZkNBaGJXbDRhVzVEYjJ4dmNpNXlaMklwSUh0Y2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWduUVhKbmRXMWxiblFnZEc4Z1hDSnRhWGhjSWlCM1lYTWdibTkwSUdFZ1EyOXNiM0lnYVc1emRHRnVZMlVzSUdKMWRDQnlZWFJvWlhJZ1lXNGdhVzV6ZEdGdVkyVWdiMllnSnlBcklIUjVjR1Z2WmlCdGFYaHBia052Ykc5eUtUdGNibHgwWEhSOVhHNWNkRngwZG1GeUlHTnZiRzl5TVNBOUlHMXBlR2x1UTI5c2IzSXVjbWRpS0NrN1hHNWNkRngwZG1GeUlHTnZiRzl5TWlBOUlIUm9hWE11Y21kaUtDazdYRzVjZEZ4MGRtRnlJSEFnUFNCM1pXbG5hSFFnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JREF1TlNBNklIZGxhV2RvZER0Y2JseHVYSFJjZEhaaGNpQjNJRDBnTWlBcUlIQWdMU0F4TzF4dVhIUmNkSFpoY2lCaElEMGdZMjlzYjNJeExtRnNjR2hoS0NrZ0xTQmpiMnh2Y2pJdVlXeHdhR0VvS1R0Y2JseHVYSFJjZEhaaGNpQjNNU0E5SUNnb0tIY2dLaUJoSUQwOVBTQXRNU2tnUHlCM0lEb2dLSGNnS3lCaEtTQXZJQ2d4SUNzZ2R5QXFJR0VwS1NBcklERXBJQzhnTWk0d08xeHVYSFJjZEhaaGNpQjNNaUE5SURFZ0xTQjNNVHRjYmx4dVhIUmNkSEpsZEhWeWJpQkRiMnh2Y2k1eVoySW9YRzVjZEZ4MFhIUmNkSGN4SUNvZ1kyOXNiM0l4TG5KbFpDZ3BJQ3NnZHpJZ0tpQmpiMnh2Y2pJdWNtVmtLQ2tzWEc1Y2RGeDBYSFJjZEhjeElDb2dZMjlzYjNJeExtZHlaV1Z1S0NrZ0t5QjNNaUFxSUdOdmJHOXlNaTVuY21WbGJpZ3BMRnh1WEhSY2RGeDBYSFIzTVNBcUlHTnZiRzl5TVM1aWJIVmxLQ2tnS3lCM01pQXFJR052Ykc5eU1pNWliSFZsS0Nrc1hHNWNkRngwWEhSY2RHTnZiRzl5TVM1aGJIQm9ZU2dwSUNvZ2NDQXJJR052Ykc5eU1pNWhiSEJvWVNncElDb2dLREVnTFNCd0tTazdYRzVjZEgxY2JuMDdYRzVjYmk4dklHMXZaR1ZzSUdOdmJuWmxjbk5wYjI0Z2JXVjBhRzlrY3lCaGJtUWdjM1JoZEdsaklHTnZibk4wY25WamRHOXljMXh1VDJKcVpXTjBMbXRsZVhNb1kyOXVkbVZ5ZENrdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb2JXOWtaV3dwSUh0Y2JseDBhV1lnS0hOcmFYQndaV1JOYjJSbGJITXVhVzVrWlhoUFppaHRiMlJsYkNrZ0lUMDlJQzB4S1NCN1hHNWNkRngwY21WMGRYSnVPMXh1WEhSOVhHNWNibHgwZG1GeUlHTm9ZVzV1Wld4eklEMGdZMjl1ZG1WeWRGdHRiMlJsYkYwdVkyaGhibTVsYkhNN1hHNWNibHgwTHk4Z1kyOXVkbVZ5YzJsdmJpQnRaWFJvYjJSelhHNWNkRU52Ykc5eUxuQnliM1J2ZEhsd1pWdHRiMlJsYkYwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc1Y2RGeDBhV1lnS0hSb2FYTXViVzlrWld3Z1BUMDlJRzF2WkdWc0tTQjdYRzVjZEZ4MFhIUnlaWFIxY200Z2JtVjNJRU52Ykc5eUtIUm9hWE1wTzF4dVhIUmNkSDFjYmx4dVhIUmNkR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvS1NCN1hHNWNkRngwWEhSeVpYUjFjbTRnYm1WM0lFTnZiRzl5S0dGeVozVnRaVzUwY3l3Z2JXOWtaV3dwTzF4dVhIUmNkSDFjYmx4dVhIUmNkSFpoY2lCdVpYZEJiSEJvWVNBOUlIUjVjR1Z2WmlCaGNtZDFiV1Z1ZEhOYlkyaGhibTVsYkhOZElEMDlQU0FuYm5WdFltVnlKeUEvSUdOb1lXNXVaV3h6SURvZ2RHaHBjeTUyWVd4d2FHRTdYRzVjZEZ4MGNtVjBkWEp1SUc1bGR5QkRiMnh2Y2loaGMzTmxjblJCY25KaGVTaGpiMjUyWlhKMFczUm9hWE11Ylc5a1pXeGRXMjF2WkdWc1hTNXlZWGNvZEdocGN5NWpiMnh2Y2lrcExtTnZibU5oZENodVpYZEJiSEJvWVNrc0lHMXZaR1ZzS1R0Y2JseDBmVHRjYmx4dVhIUXZMeUFuYzNSaGRHbGpKeUJqYjI1emRISjFZM1JwYjI0Z2JXVjBhRzlrYzF4dVhIUkRiMnh2Y2x0dGIyUmxiRjBnUFNCbWRXNWpkR2x2YmlBb1kyOXNiM0lwSUh0Y2JseDBYSFJwWmlBb2RIbHdaVzltSUdOdmJHOXlJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVYSFJjZEZ4MFkyOXNiM0lnUFNCNlpYSnZRWEp5WVhrb1gzTnNhV05sTG1OaGJHd29ZWEpuZFcxbGJuUnpLU3dnWTJoaGJtNWxiSE1wTzF4dVhIUmNkSDFjYmx4MFhIUnlaWFIxY200Z2JtVjNJRU52Ykc5eUtHTnZiRzl5TENCdGIyUmxiQ2s3WEc1Y2RIMDdYRzU5S1R0Y2JseHVablZ1WTNScGIyNGdjbTkxYm1SVWJ5aHVkVzBzSUhCc1lXTmxjeWtnZTF4dVhIUnlaWFIxY200Z1RuVnRZbVZ5S0c1MWJTNTBiMFpwZUdWa0tIQnNZV05sY3lrcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCeWIzVnVaRlJ2VUd4aFkyVW9jR3hoWTJWektTQjdYRzVjZEhKbGRIVnliaUJtZFc1amRHbHZiaUFvYm5WdEtTQjdYRzVjZEZ4MGNtVjBkWEp1SUhKdmRXNWtWRzhvYm5WdExDQndiR0ZqWlhNcE8xeHVYSFI5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSelpYUW9iVzlrWld3c0lHTm9ZVzV1Wld3c0lHMXZaR2xtYVdWeUtTQjdYRzVjZEcxdlpHVnNJRDBnUVhKeVlYa3VhWE5CY25KaGVTaHRiMlJsYkNrZ1B5QnRiMlJsYkNBNklGdHRiMlJsYkYwN1hHNWNibHgwYlc5a1pXd3VabTl5UldGamFDaG1kVzVqZEdsdmJpQW9iU2tnZTF4dVhIUmNkQ2hzYVcxcGRHVnljMXR0WFNCOGZDQW9iR2x0YVhSbGNuTmJiVjBnUFNCYlhTa3BXMk5vWVc1dVpXeGRJRDBnYlc5a2FXWnBaWEk3WEc1Y2RIMHBPMXh1WEc1Y2RHMXZaR1ZzSUQwZ2JXOWtaV3hiTUYwN1hHNWNibHgwY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2gyWVd3cElIdGNibHgwWEhSMllYSWdjbVZ6ZFd4ME8xeHVYRzVjZEZ4MGFXWWdLR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3BJSHRjYmx4MFhIUmNkR2xtSUNodGIyUnBabWxsY2lrZ2UxeHVYSFJjZEZ4MFhIUjJZV3dnUFNCdGIyUnBabWxsY2loMllXd3BPMXh1WEhSY2RGeDBmVnh1WEc1Y2RGeDBYSFJ5WlhOMWJIUWdQU0IwYUdselcyMXZaR1ZzWFNncE8xeHVYSFJjZEZ4MGNtVnpkV3gwTG1OdmJHOXlXMk5vWVc1dVpXeGRJRDBnZG1Gc08xeHVYSFJjZEZ4MGNtVjBkWEp1SUhKbGMzVnNkRHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWE4xYkhRZ1BTQjBhR2x6VzIxdlpHVnNYU2dwTG1OdmJHOXlXMk5vWVc1dVpXeGRPMXh1WEhSY2RHbG1JQ2h0YjJScFptbGxjaWtnZTF4dVhIUmNkRngwY21WemRXeDBJRDBnYlc5a2FXWnBaWElvY21WemRXeDBLVHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWFIxY200Z2NtVnpkV3gwTzF4dVhIUjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRZWGhtYmlodFlYZ3BJSHRjYmx4MGNtVjBkWEp1SUdaMWJtTjBhVzl1SUNoMktTQjdYRzVjZEZ4MGNtVjBkWEp1SUUxaGRHZ3ViV0Y0S0RBc0lFMWhkR2d1YldsdUtHMWhlQ3dnZGlrcE8xeHVYSFI5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJoYzNObGNuUkJjbkpoZVNoMllXd3BJSHRjYmx4MGNtVjBkWEp1SUVGeWNtRjVMbWx6UVhKeVlYa29kbUZzS1NBL0lIWmhiQ0E2SUZ0MllXeGRPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjZaWEp2UVhKeVlYa29ZWEp5TENCc1pXNW5kR2dwSUh0Y2JseDBabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc1bmRHZzdJR2tyS3lrZ2UxeHVYSFJjZEdsbUlDaDBlWEJsYjJZZ1lYSnlXMmxkSUNFOVBTQW5iblZ0WW1WeUp5a2dlMXh1WEhSY2RGeDBZWEp5VzJsZElEMGdNRHRjYmx4MFhIUjlYRzVjZEgxY2JseHVYSFJ5WlhSMWNtNGdZWEp5TzF4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRU52Ykc5eU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jb3JlLXV0aWwtaXMvbGliL3V0aWwuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NvcmUtdXRpbC1pcy9saWIvdXRpbC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHsvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG4vLyBOT1RFOiBUaGVzZSB0eXBlIGNoZWNraW5nIGZ1bmN0aW9ucyBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBgaW5zdGFuY2VvZmBcXG4vLyBiZWNhdXNlIGl0IGlzIGZyYWdpbGUgYW5kIGNhbiBiZSBlYXNpbHkgZmFrZWQgd2l0aCBgT2JqZWN0LmNyZWF0ZSgpYC5cXG5cXG5mdW5jdGlvbiBpc0FycmF5KGFyZykge1xcbiAgaWYgKEFycmF5LmlzQXJyYXkpIHtcXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJnKTtcXG4gIH1cXG4gIHJldHVybiBvYmplY3RUb1N0cmluZyhhcmcpID09PSAnW29iamVjdCBBcnJheV0nO1xcbn1cXG5leHBvcnRzLmlzQXJyYXkgPSBpc0FycmF5O1xcblxcbmZ1bmN0aW9uIGlzQm9vbGVhbihhcmcpIHtcXG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnYm9vbGVhbic7XFxufVxcbmV4cG9ydHMuaXNCb29sZWFuID0gaXNCb29sZWFuO1xcblxcbmZ1bmN0aW9uIGlzTnVsbChhcmcpIHtcXG4gIHJldHVybiBhcmcgPT09IG51bGw7XFxufVxcbmV4cG9ydHMuaXNOdWxsID0gaXNOdWxsO1xcblxcbmZ1bmN0aW9uIGlzTnVsbE9yVW5kZWZpbmVkKGFyZykge1xcbiAgcmV0dXJuIGFyZyA9PSBudWxsO1xcbn1cXG5leHBvcnRzLmlzTnVsbE9yVW5kZWZpbmVkID0gaXNOdWxsT3JVbmRlZmluZWQ7XFxuXFxuZnVuY3Rpb24gaXNOdW1iZXIoYXJnKSB7XFxuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ251bWJlcic7XFxufVxcbmV4cG9ydHMuaXNOdW1iZXIgPSBpc051bWJlcjtcXG5cXG5mdW5jdGlvbiBpc1N0cmluZyhhcmcpIHtcXG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJztcXG59XFxuZXhwb3J0cy5pc1N0cmluZyA9IGlzU3RyaW5nO1xcblxcbmZ1bmN0aW9uIGlzU3ltYm9sKGFyZykge1xcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdzeW1ib2wnO1xcbn1cXG5leHBvcnRzLmlzU3ltYm9sID0gaXNTeW1ib2w7XFxuXFxuZnVuY3Rpb24gaXNVbmRlZmluZWQoYXJnKSB7XFxuICByZXR1cm4gYXJnID09PSB2b2lkIDA7XFxufVxcbmV4cG9ydHMuaXNVbmRlZmluZWQgPSBpc1VuZGVmaW5lZDtcXG5cXG5mdW5jdGlvbiBpc1JlZ0V4cChyZSkge1xcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKHJlKSA9PT0gJ1tvYmplY3QgUmVnRXhwXSc7XFxufVxcbmV4cG9ydHMuaXNSZWdFeHAgPSBpc1JlZ0V4cDtcXG5cXG5mdW5jdGlvbiBpc09iamVjdChhcmcpIHtcXG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiBhcmcgIT09IG51bGw7XFxufVxcbmV4cG9ydHMuaXNPYmplY3QgPSBpc09iamVjdDtcXG5cXG5mdW5jdGlvbiBpc0RhdGUoZCkge1xcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKGQpID09PSAnW29iamVjdCBEYXRlXSc7XFxufVxcbmV4cG9ydHMuaXNEYXRlID0gaXNEYXRlO1xcblxcbmZ1bmN0aW9uIGlzRXJyb3IoZSkge1xcbiAgcmV0dXJuIChvYmplY3RUb1N0cmluZyhlKSA9PT0gJ1tvYmplY3QgRXJyb3JdJyB8fCBlIGluc3RhbmNlb2YgRXJyb3IpO1xcbn1cXG5leHBvcnRzLmlzRXJyb3IgPSBpc0Vycm9yO1xcblxcbmZ1bmN0aW9uIGlzRnVuY3Rpb24oYXJnKSB7XFxuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ2Z1bmN0aW9uJztcXG59XFxuZXhwb3J0cy5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcXG5cXG5mdW5jdGlvbiBpc1ByaW1pdGl2ZShhcmcpIHtcXG4gIHJldHVybiBhcmcgPT09IG51bGwgfHxcXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnYm9vbGVhbicgfHxcXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnbnVtYmVyJyB8fFxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnIHx8XFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3N5bWJvbCcgfHwgIC8vIEVTNiBzeW1ib2xcXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAndW5kZWZpbmVkJztcXG59XFxuZXhwb3J0cy5pc1ByaW1pdGl2ZSA9IGlzUHJpbWl0aXZlO1xcblxcbmV4cG9ydHMuaXNCdWZmZXIgPSBCdWZmZXIuaXNCdWZmZXI7XFxuXFxuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcobykge1xcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKTtcXG59XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vYnVmZmVyL2luZGV4LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXIpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amIzSmxMWFYwYVd3dGFYTXZiR2xpTDNWMGFXd3Vhbk0vTVdGa09TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlqYjNKbExYVjBhV3d0YVhNdmJHbGlMM1YwYVd3dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1THk4Z1RrOVVSVG9nVkdobGMyVWdkSGx3WlNCamFHVmphMmx1WnlCbWRXNWpkR2x2Ym5NZ2FXNTBaVzUwYVc5dVlXeHNlU0JrYjI0bmRDQjFjMlVnWUdsdWMzUmhibU5sYjJaZ1hHNHZMeUJpWldOaGRYTmxJR2wwSUdseklHWnlZV2RwYkdVZ1lXNWtJR05oYmlCaVpTQmxZWE5wYkhrZ1ptRnJaV1FnZDJsMGFDQmdUMkpxWldOMExtTnlaV0YwWlNncFlDNWNibHh1Wm5WdVkzUnBiMjRnYVhOQmNuSmhlU2hoY21jcElIdGNiaUFnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdRWEp5WVhrdWFYTkJjbkpoZVNoaGNtY3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnZZbXBsWTNSVWIxTjBjbWx1WnloaGNtY3BJRDA5UFNBblcyOWlhbVZqZENCQmNuSmhlVjBuTzF4dWZWeHVaWGh3YjNKMGN5NXBjMEZ5Y21GNUlEMGdhWE5CY25KaGVUdGNibHh1Wm5WdVkzUnBiMjRnYVhOQ2IyOXNaV0Z1S0dGeVp5a2dlMXh1SUNCeVpYUjFjbTRnZEhsd1pXOW1JR0Z5WnlBOVBUMGdKMkp2YjJ4bFlXNG5PMXh1ZlZ4dVpYaHdiM0owY3k1cGMwSnZiMnhsWVc0Z1BTQnBjMEp2YjJ4bFlXNDdYRzVjYm1aMWJtTjBhVzl1SUdselRuVnNiQ2hoY21jcElIdGNiaUFnY21WMGRYSnVJR0Z5WnlBOVBUMGdiblZzYkR0Y2JuMWNibVY0Y0c5eWRITXVhWE5PZFd4c0lEMGdhWE5PZFd4c08xeHVYRzVtZFc1amRHbHZiaUJwYzA1MWJHeFBjbFZ1WkdWbWFXNWxaQ2hoY21jcElIdGNiaUFnY21WMGRYSnVJR0Z5WnlBOVBTQnVkV3hzTzF4dWZWeHVaWGh3YjNKMGN5NXBjMDUxYkd4UGNsVnVaR1ZtYVc1bFpDQTlJR2x6VG5Wc2JFOXlWVzVrWldacGJtVmtPMXh1WEc1bWRXNWpkR2x2YmlCcGMwNTFiV0psY2loaGNtY3BJSHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUJoY21jZ1BUMDlJQ2R1ZFcxaVpYSW5PMXh1ZlZ4dVpYaHdiM0owY3k1cGMwNTFiV0psY2lBOUlHbHpUblZ0WW1WeU8xeHVYRzVtZFc1amRHbHZiaUJwYzFOMGNtbHVaeWhoY21jcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQmhjbWNnUFQwOUlDZHpkSEpwYm1jbk8xeHVmVnh1Wlhod2IzSjBjeTVwYzFOMGNtbHVaeUE5SUdselUzUnlhVzVuTzF4dVhHNW1kVzVqZEdsdmJpQnBjMU41YldKdmJDaGhjbWNwSUh0Y2JpQWdjbVYwZFhKdUlIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkemVXMWliMnduTzF4dWZWeHVaWGh3YjNKMGN5NXBjMU41YldKdmJDQTlJR2x6VTNsdFltOXNPMXh1WEc1bWRXNWpkR2x2YmlCcGMxVnVaR1ZtYVc1bFpDaGhjbWNwSUh0Y2JpQWdjbVYwZFhKdUlHRnlaeUE5UFQwZ2RtOXBaQ0F3TzF4dWZWeHVaWGh3YjNKMGN5NXBjMVZ1WkdWbWFXNWxaQ0E5SUdselZXNWtaV1pwYm1Wa08xeHVYRzVtZFc1amRHbHZiaUJwYzFKbFowVjRjQ2h5WlNrZ2UxeHVJQ0J5WlhSMWNtNGdiMkpxWldOMFZHOVRkSEpwYm1jb2NtVXBJRDA5UFNBblcyOWlhbVZqZENCU1pXZEZlSEJkSnp0Y2JuMWNibVY0Y0c5eWRITXVhWE5TWldkRmVIQWdQU0JwYzFKbFowVjRjRHRjYmx4dVpuVnVZM1JwYjI0Z2FYTlBZbXBsWTNRb1lYSm5LU0I3WEc0Z0lISmxkSFZ5YmlCMGVYQmxiMllnWVhKbklEMDlQU0FuYjJKcVpXTjBKeUFtSmlCaGNtY2dJVDA5SUc1MWJHdzdYRzU5WEc1bGVIQnZjblJ6TG1selQySnFaV04wSUQwZ2FYTlBZbXBsWTNRN1hHNWNibVoxYm1OMGFXOXVJR2x6UkdGMFpTaGtLU0I3WEc0Z0lISmxkSFZ5YmlCdlltcGxZM1JVYjFOMGNtbHVaeWhrS1NBOVBUMGdKMXR2WW1wbFkzUWdSR0YwWlYwbk8xeHVmVnh1Wlhod2IzSjBjeTVwYzBSaGRHVWdQU0JwYzBSaGRHVTdYRzVjYm1aMWJtTjBhVzl1SUdselJYSnliM0lvWlNrZ2UxeHVJQ0J5WlhSMWNtNGdLRzlpYW1WamRGUnZVM1J5YVc1bktHVXBJRDA5UFNBblcyOWlhbVZqZENCRmNuSnZjbDBuSUh4OElHVWdhVzV6ZEdGdVkyVnZaaUJGY25KdmNpazdYRzU5WEc1bGVIQnZjblJ6TG1selJYSnliM0lnUFNCcGMwVnljbTl5TzF4dVhHNW1kVzVqZEdsdmJpQnBjMFoxYm1OMGFXOXVLR0Z5WnlrZ2UxeHVJQ0J5WlhSMWNtNGdkSGx3Wlc5bUlHRnlaeUE5UFQwZ0oyWjFibU4wYVc5dUp6dGNibjFjYm1WNGNHOXlkSE11YVhOR2RXNWpkR2x2YmlBOUlHbHpSblZ1WTNScGIyNDdYRzVjYm1aMWJtTjBhVzl1SUdselVISnBiV2wwYVhabEtHRnlaeWtnZTF4dUlDQnlaWFIxY200Z1lYSm5JRDA5UFNCdWRXeHNJSHg4WEc0Z0lDQWdJQ0FnSUNCMGVYQmxiMllnWVhKbklEMDlQU0FuWW05dmJHVmhiaWNnZkh4Y2JpQWdJQ0FnSUNBZ0lIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkdWRXMWlaWEluSUh4OFhHNGdJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1lYSm5JRDA5UFNBbmMzUnlhVzVuSnlCOGZGeHVJQ0FnSUNBZ0lDQWdkSGx3Wlc5bUlHRnlaeUE5UFQwZ0ozTjViV0p2YkNjZ2ZId2dJQzh2SUVWVE5pQnplVzFpYjJ4Y2JpQWdJQ0FnSUNBZ0lIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkMWJtUmxabWx1WldRbk8xeHVmVnh1Wlhod2IzSjBjeTVwYzFCeWFXMXBkR2wyWlNBOUlHbHpVSEpwYldsMGFYWmxPMXh1WEc1bGVIQnZjblJ6TG1selFuVm1abVZ5SUQwZ1FuVm1abVZ5TG1selFuVm1abVZ5TzF4dVhHNW1kVzVqZEdsdmJpQnZZbXBsWTNSVWIxTjBjbWx1WnlodktTQjdYRzRnSUhKbGRIVnliaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b2J5azdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jb3JlLXV0aWwtaXMvbGliL3V0aWwuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1lY2RoL2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihCdWZmZXIpIHt2YXIgZWxsaXB0aWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBlbGxpcHRpYyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljLmpzXFxcIilcXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3JlYXRlLWVjZGgvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVFQ0RIIChjdXJ2ZSkge1xcbiAgcmV0dXJuIG5ldyBFQ0RIKGN1cnZlKVxcbn1cXG5cXG52YXIgYWxpYXNlcyA9IHtcXG4gIHNlY3AyNTZrMToge1xcbiAgICBuYW1lOiAnc2VjcDI1NmsxJyxcXG4gICAgYnl0ZUxlbmd0aDogMzJcXG4gIH0sXFxuICBzZWNwMjI0cjE6IHtcXG4gICAgbmFtZTogJ3AyMjQnLFxcbiAgICBieXRlTGVuZ3RoOiAyOFxcbiAgfSxcXG4gIHByaW1lMjU2djE6IHtcXG4gICAgbmFtZTogJ3AyNTYnLFxcbiAgICBieXRlTGVuZ3RoOiAzMlxcbiAgfSxcXG4gIHByaW1lMTkydjE6IHtcXG4gICAgbmFtZTogJ3AxOTInLFxcbiAgICBieXRlTGVuZ3RoOiAyNFxcbiAgfSxcXG4gIGVkMjU1MTk6IHtcXG4gICAgbmFtZTogJ2VkMjU1MTknLFxcbiAgICBieXRlTGVuZ3RoOiAzMlxcbiAgfSxcXG4gIHNlY3AzODRyMToge1xcbiAgICBuYW1lOiAncDM4NCcsXFxuICAgIGJ5dGVMZW5ndGg6IDQ4XFxuICB9LFxcbiAgc2VjcDUyMXIxOiB7XFxuICAgIG5hbWU6ICdwNTIxJyxcXG4gICAgYnl0ZUxlbmd0aDogNjZcXG4gIH1cXG59XFxuXFxuYWxpYXNlcy5wMjI0ID0gYWxpYXNlcy5zZWNwMjI0cjFcXG5hbGlhc2VzLnAyNTYgPSBhbGlhc2VzLnNlY3AyNTZyMSA9IGFsaWFzZXMucHJpbWUyNTZ2MVxcbmFsaWFzZXMucDE5MiA9IGFsaWFzZXMuc2VjcDE5MnIxID0gYWxpYXNlcy5wcmltZTE5MnYxXFxuYWxpYXNlcy5wMzg0ID0gYWxpYXNlcy5zZWNwMzg0cjFcXG5hbGlhc2VzLnA1MjEgPSBhbGlhc2VzLnNlY3A1MjFyMVxcblxcbmZ1bmN0aW9uIEVDREggKGN1cnZlKSB7XFxuICB0aGlzLmN1cnZlVHlwZSA9IGFsaWFzZXNbY3VydmVdXFxuICBpZiAoIXRoaXMuY3VydmVUeXBlKSB7XFxuICAgIHRoaXMuY3VydmVUeXBlID0ge1xcbiAgICAgIG5hbWU6IGN1cnZlXFxuICAgIH1cXG4gIH1cXG4gIHRoaXMuY3VydmUgPSBuZXcgZWxsaXB0aWMuZWModGhpcy5jdXJ2ZVR5cGUubmFtZSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuZXctY2FwXFxuICB0aGlzLmtleXMgPSB2b2lkIDBcXG59XFxuXFxuRUNESC5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzID0gZnVuY3Rpb24gKGVuYywgZm9ybWF0KSB7XFxuICB0aGlzLmtleXMgPSB0aGlzLmN1cnZlLmdlbktleVBhaXIoKVxcbiAgcmV0dXJuIHRoaXMuZ2V0UHVibGljS2V5KGVuYywgZm9ybWF0KVxcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5jb21wdXRlU2VjcmV0ID0gZnVuY3Rpb24gKG90aGVyLCBpbmVuYywgZW5jKSB7XFxuICBpbmVuYyA9IGluZW5jIHx8ICd1dGY4J1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIob3RoZXIpKSB7XFxuICAgIG90aGVyID0gbmV3IEJ1ZmZlcihvdGhlciwgaW5lbmMpXFxuICB9XFxuICB2YXIgb3RoZXJQdWIgPSB0aGlzLmN1cnZlLmtleUZyb21QdWJsaWMob3RoZXIpLmdldFB1YmxpYygpXFxuICB2YXIgb3V0ID0gb3RoZXJQdWIubXVsKHRoaXMua2V5cy5nZXRQcml2YXRlKCkpLmdldFgoKVxcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKG91dCwgZW5jLCB0aGlzLmN1cnZlVHlwZS5ieXRlTGVuZ3RoKVxcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5nZXRQdWJsaWNLZXkgPSBmdW5jdGlvbiAoZW5jLCBmb3JtYXQpIHtcXG4gIHZhciBrZXkgPSB0aGlzLmtleXMuZ2V0UHVibGljKGZvcm1hdCA9PT0gJ2NvbXByZXNzZWQnLCB0cnVlKVxcbiAgaWYgKGZvcm1hdCA9PT0gJ2h5YnJpZCcpIHtcXG4gICAgaWYgKGtleVtrZXkubGVuZ3RoIC0gMV0gJSAyKSB7XFxuICAgICAga2V5WzBdID0gN1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGtleVswXSA9IDZcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKGtleSwgZW5jKVxcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5nZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gKGVuYykge1xcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMua2V5cy5nZXRQcml2YXRlKCksIGVuYylcXG59XFxuXFxuRUNESC5wcm90b3R5cGUuc2V0UHVibGljS2V5ID0gZnVuY3Rpb24gKHB1YiwgZW5jKSB7XFxuICBlbmMgPSBlbmMgfHwgJ3V0ZjgnXFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwdWIpKSB7XFxuICAgIHB1YiA9IG5ldyBCdWZmZXIocHViLCBlbmMpXFxuICB9XFxuICB0aGlzLmtleXMuX2ltcG9ydFB1YmxpYyhwdWIpXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5FQ0RILnByb3RvdHlwZS5zZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gKHByaXYsIGVuYykge1xcbiAgZW5jID0gZW5jIHx8ICd1dGY4J1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpdikpIHtcXG4gICAgcHJpdiA9IG5ldyBCdWZmZXIocHJpdiwgZW5jKVxcbiAgfVxcblxcbiAgdmFyIF9wcml2ID0gbmV3IEJOKHByaXYpXFxuICBfcHJpdiA9IF9wcml2LnRvU3RyaW5nKDE2KVxcbiAgdGhpcy5rZXlzID0gdGhpcy5jdXJ2ZS5nZW5LZXlQYWlyKClcXG4gIHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShfcHJpdilcXG4gIHJldHVybiB0aGlzXFxufVxcblxcbmZ1bmN0aW9uIGZvcm1hdFJldHVyblZhbHVlIChibiwgZW5jLCBsZW4pIHtcXG4gIGlmICghQXJyYXkuaXNBcnJheShibikpIHtcXG4gICAgYm4gPSBibi50b0FycmF5KClcXG4gIH1cXG4gIHZhciBidWYgPSBuZXcgQnVmZmVyKGJuKVxcbiAgaWYgKGxlbiAmJiBidWYubGVuZ3RoIDwgbGVuKSB7XFxuICAgIHZhciB6ZXJvcyA9IG5ldyBCdWZmZXIobGVuIC0gYnVmLmxlbmd0aClcXG4gICAgemVyb3MuZmlsbCgwKVxcbiAgICBidWYgPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgYnVmXSlcXG4gIH1cXG4gIGlmICghZW5jKSB7XFxuICAgIHJldHVybiBidWZcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBidWYudG9TdHJpbmcoZW5jKVxcbiAgfVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRaV05rYUM5aWNtOTNjMlZ5TG1welB6QTNZV0lpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc05rUkJRV1VzYlVKQlFVOHNRMEZCUXl4NVJFRkJWVHRCUVVOcVF5eFRRVUZUTEcxQ1FVRlBMRU5CUVVNc2MwVkJRVTg3TzBGQlJYaENPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZZM0psWVhSbExXVmpaR2d2WW5KdmQzTmxjaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCbGJHeHBjSFJwWXlBOUlISmxjWFZwY21Vb0oyVnNiR2x3ZEdsakp5bGNiblpoY2lCQ1RpQTlJSEpsY1hWcGNtVW9KMkp1TG1wekp5bGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJqY21WaGRHVkZRMFJJSUNoamRYSjJaU2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJRVZEUkVnb1kzVnlkbVVwWEc1OVhHNWNiblpoY2lCaGJHbGhjMlZ6SUQwZ2UxeHVJQ0J6WldOd01qVTJhekU2SUh0Y2JpQWdJQ0J1WVcxbE9pQW5jMlZqY0RJMU5tc3hKeXhjYmlBZ0lDQmllWFJsVEdWdVozUm9PaUF6TWx4dUlDQjlMRnh1SUNCelpXTndNakkwY2pFNklIdGNiaUFnSUNCdVlXMWxPaUFuY0RJeU5DY3NYRzRnSUNBZ1lubDBaVXhsYm1kMGFEb2dNamhjYmlBZ2ZTeGNiaUFnY0hKcGJXVXlOVFoyTVRvZ2UxeHVJQ0FnSUc1aGJXVTZJQ2R3TWpVMkp5eGNiaUFnSUNCaWVYUmxUR1Z1WjNSb09pQXpNbHh1SUNCOUxGeHVJQ0J3Y21sdFpURTVNbll4T2lCN1hHNGdJQ0FnYm1GdFpUb2dKM0F4T1RJbkxGeHVJQ0FnSUdKNWRHVk1aVzVuZEdnNklESTBYRzRnSUgwc1hHNGdJR1ZrTWpVMU1UazZJSHRjYmlBZ0lDQnVZVzFsT2lBblpXUXlOVFV4T1Njc1hHNGdJQ0FnWW5sMFpVeGxibWQwYURvZ016SmNiaUFnZlN4Y2JpQWdjMlZqY0RNNE5ISXhPaUI3WEc0Z0lDQWdibUZ0WlRvZ0ozQXpPRFFuTEZ4dUlDQWdJR0o1ZEdWTVpXNW5kR2c2SURRNFhHNGdJSDBzWEc0Z0lITmxZM0ExTWpGeU1Ub2dlMXh1SUNBZ0lHNWhiV1U2SUNkd05USXhKeXhjYmlBZ0lDQmllWFJsVEdWdVozUm9PaUEyTmx4dUlDQjlYRzU5WEc1Y2JtRnNhV0Z6WlhNdWNESXlOQ0E5SUdGc2FXRnpaWE11YzJWamNESXlOSEl4WEc1aGJHbGhjMlZ6TG5BeU5UWWdQU0JoYkdsaGMyVnpMbk5sWTNBeU5UWnlNU0E5SUdGc2FXRnpaWE11Y0hKcGJXVXlOVFoyTVZ4dVlXeHBZWE5sY3k1d01Ua3lJRDBnWVd4cFlYTmxjeTV6WldOd01Ua3ljakVnUFNCaGJHbGhjMlZ6TG5CeWFXMWxNVGt5ZGpGY2JtRnNhV0Z6WlhNdWNETTROQ0E5SUdGc2FXRnpaWE11YzJWamNETTROSEl4WEc1aGJHbGhjMlZ6TG5BMU1qRWdQU0JoYkdsaGMyVnpMbk5sWTNBMU1qRnlNVnh1WEc1bWRXNWpkR2x2YmlCRlEwUklJQ2hqZFhKMlpTa2dlMXh1SUNCMGFHbHpMbU4xY25abFZIbHdaU0E5SUdGc2FXRnpaWE5iWTNWeWRtVmRYRzRnSUdsbUlDZ2hkR2hwY3k1amRYSjJaVlI1Y0dVcElIdGNiaUFnSUNCMGFHbHpMbU4xY25abFZIbHdaU0E5SUh0Y2JpQWdJQ0FnSUc1aGJXVTZJR04xY25abFhHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhSb2FYTXVZM1Z5ZG1VZ1BTQnVaWGNnWld4c2FYQjBhV011WldNb2RHaHBjeTVqZFhKMlpWUjVjR1V1Ym1GdFpTa2dMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdVpYY3RZMkZ3WEc0Z0lIUm9hWE11YTJWNWN5QTlJSFp2YVdRZ01GeHVmVnh1WEc1RlEwUklMbkJ5YjNSdmRIbHdaUzVuWlc1bGNtRjBaVXRsZVhNZ1BTQm1kVzVqZEdsdmJpQW9aVzVqTENCbWIzSnRZWFFwSUh0Y2JpQWdkR2hwY3k1clpYbHpJRDBnZEdocGN5NWpkWEoyWlM1blpXNUxaWGxRWVdseUtDbGNiaUFnY21WMGRYSnVJSFJvYVhNdVoyVjBVSFZpYkdsalMyVjVLR1Z1WXl3Z1ptOXliV0YwS1Z4dWZWeHVYRzVGUTBSSUxuQnliM1J2ZEhsd1pTNWpiMjF3ZFhSbFUyVmpjbVYwSUQwZ1puVnVZM1JwYjI0Z0tHOTBhR1Z5TENCcGJtVnVZeXdnWlc1aktTQjdYRzRnSUdsdVpXNWpJRDBnYVc1bGJtTWdmSHdnSjNWMFpqZ25YRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtHOTBhR1Z5S1NrZ2UxeHVJQ0FnSUc5MGFHVnlJRDBnYm1WM0lFSjFabVpsY2lodmRHaGxjaXdnYVc1bGJtTXBYRzRnSUgxY2JpQWdkbUZ5SUc5MGFHVnlVSFZpSUQwZ2RHaHBjeTVqZFhKMlpTNXJaWGxHY205dFVIVmliR2xqS0c5MGFHVnlLUzVuWlhSUWRXSnNhV01vS1Z4dUlDQjJZWElnYjNWMElEMGdiM1JvWlhKUWRXSXViWFZzS0hSb2FYTXVhMlY1Y3k1blpYUlFjbWwyWVhSbEtDa3BMbWRsZEZnb0tWeHVJQ0J5WlhSMWNtNGdabTl5YldGMFVtVjBkWEp1Vm1Gc2RXVW9iM1YwTENCbGJtTXNJSFJvYVhNdVkzVnlkbVZVZVhCbExtSjVkR1ZNWlc1bmRHZ3BYRzU5WEc1Y2JrVkRSRWd1Y0hKdmRHOTBlWEJsTG1kbGRGQjFZbXhwWTB0bGVTQTlJR1oxYm1OMGFXOXVJQ2hsYm1Nc0lHWnZjbTFoZENrZ2UxeHVJQ0IyWVhJZ2EyVjVJRDBnZEdocGN5NXJaWGx6TG1kbGRGQjFZbXhwWXlobWIzSnRZWFFnUFQwOUlDZGpiMjF3Y21WemMyVmtKeXdnZEhKMVpTbGNiaUFnYVdZZ0tHWnZjbTFoZENBOVBUMGdKMmg1WW5KcFpDY3BJSHRjYmlBZ0lDQnBaaUFvYTJWNVcydGxlUzVzWlc1bmRHZ2dMU0F4WFNBbElESXBJSHRjYmlBZ0lDQWdJR3RsZVZzd1hTQTlJRGRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2EyVjVXekJkSUQwZ05seHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWm05eWJXRjBVbVYwZFhKdVZtRnNkV1VvYTJWNUxDQmxibU1wWEc1OVhHNWNia1ZEUkVndWNISnZkRzkwZVhCbExtZGxkRkJ5YVhaaGRHVkxaWGtnUFNCbWRXNWpkR2x2YmlBb1pXNWpLU0I3WEc0Z0lISmxkSFZ5YmlCbWIzSnRZWFJTWlhSMWNtNVdZV3gxWlNoMGFHbHpMbXRsZVhNdVoyVjBVSEpwZG1GMFpTZ3BMQ0JsYm1NcFhHNTlYRzVjYmtWRFJFZ3VjSEp2ZEc5MGVYQmxMbk5sZEZCMVlteHBZMHRsZVNBOUlHWjFibU4wYVc5dUlDaHdkV0lzSUdWdVl5a2dlMXh1SUNCbGJtTWdQU0JsYm1NZ2ZId2dKM1YwWmpnblhHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0hCMVlpa3BJSHRjYmlBZ0lDQndkV0lnUFNCdVpYY2dRblZtWm1WeUtIQjFZaXdnWlc1aktWeHVJQ0I5WEc0Z0lIUm9hWE11YTJWNWN5NWZhVzF3YjNKMFVIVmliR2xqS0hCMVlpbGNiaUFnY21WMGRYSnVJSFJvYVhOY2JuMWNibHh1UlVORVNDNXdjbTkwYjNSNWNHVXVjMlYwVUhKcGRtRjBaVXRsZVNBOUlHWjFibU4wYVc5dUlDaHdjbWwyTENCbGJtTXBJSHRjYmlBZ1pXNWpJRDBnWlc1aklIeDhJQ2QxZEdZNEoxeHVJQ0JwWmlBb0lVSjFabVpsY2k1cGMwSjFabVpsY2lod2NtbDJLU2tnZTF4dUlDQWdJSEJ5YVhZZ1BTQnVaWGNnUW5WbVptVnlLSEJ5YVhZc0lHVnVZeWxjYmlBZ2ZWeHVYRzRnSUhaaGNpQmZjSEpwZGlBOUlHNWxkeUJDVGlod2NtbDJLVnh1SUNCZmNISnBkaUE5SUY5d2NtbDJMblJ2VTNSeWFXNW5LREUyS1Z4dUlDQjBhR2x6TG10bGVYTWdQU0IwYUdsekxtTjFjblpsTG1kbGJrdGxlVkJoYVhJb0tWeHVJQ0IwYUdsekxtdGxlWE11WDJsdGNHOXlkRkJ5YVhaaGRHVW9YM0J5YVhZcFhHNGdJSEpsZEhWeWJpQjBhR2x6WEc1OVhHNWNibVoxYm1OMGFXOXVJR1p2Y20xaGRGSmxkSFZ5YmxaaGJIVmxJQ2hpYml3Z1pXNWpMQ0JzWlc0cElIdGNiaUFnYVdZZ0tDRkJjbkpoZVM1cGMwRnljbUY1S0dKdUtTa2dlMXh1SUNBZ0lHSnVJRDBnWW00dWRHOUJjbkpoZVNncFhHNGdJSDFjYmlBZ2RtRnlJR0oxWmlBOUlHNWxkeUJDZFdabVpYSW9ZbTRwWEc0Z0lHbG1JQ2hzWlc0Z0ppWWdZblZtTG14bGJtZDBhQ0E4SUd4bGJpa2dlMXh1SUNBZ0lIWmhjaUI2WlhKdmN5QTlJRzVsZHlCQ2RXWm1aWElvYkdWdUlDMGdZblZtTG14bGJtZDBhQ2xjYmlBZ0lDQjZaWEp2Y3k1bWFXeHNLREFwWEc0Z0lDQWdZblZtSUQwZ1FuVm1abVZ5TG1OdmJtTmhkQ2hiZW1WeWIzTXNJR0oxWmwwcFhHNGdJSDFjYmlBZ2FXWWdLQ0ZsYm1NcElIdGNiaUFnSUNCeVpYUjFjbTRnWW5WbVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVjBkWEp1SUdKMVppNTBiMU4wY21sdVp5aGxibU1wWEc0Z0lIMWNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWVjZGgvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24obW9kdWxlKSB7KGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcXG4gICd1c2Ugc3RyaWN0JztcXG5cXG4gIC8vIFV0aWxzXFxuICBmdW5jdGlvbiBhc3NlcnQgKHZhbCwgbXNnKSB7XFxuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XFxuICB9XFxuXFxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cXG4gIGZ1bmN0aW9uIGluaGVyaXRzIChjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XFxuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xcbiAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XFxuICB9XFxuXFxuICAvLyBCTlxcblxcbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcXG4gICAgICByZXR1cm4gbnVtYmVyO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxcbiAgICB0aGlzLnJlZCA9IG51bGw7XFxuXFxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcXG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XFxuICAgICAgICBlbmRpYW4gPSBiYXNlO1xcbiAgICAgICAgYmFzZSA9IDEwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XFxuICAgIH1cXG4gIH1cXG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xcbiAgfSBlbHNlIHtcXG4gICAgZXhwb3J0cy5CTiA9IEJOO1xcbiAgfVxcblxcbiAgQk4uQk4gPSBCTjtcXG4gIEJOLndvcmRTaXplID0gMjY7XFxuXFxuICB2YXIgQnVmZmVyO1xcbiAgdHJ5IHtcXG4gICAgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIDEzKS5CdWZmZXI7XFxuICB9IGNhdGNoIChlKSB7XFxuICB9XFxuXFxuICBCTi5pc0JOID0gZnVuY3Rpb24gaXNCTiAobnVtKSB7XFxuICAgIGlmIChudW0gaW5zdGFuY2VvZiBCTikge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gJ29iamVjdCcgJiZcXG4gICAgICBudW0uY29uc3RydWN0b3Iud29yZFNpemUgPT09IEJOLndvcmRTaXplICYmIEFycmF5LmlzQXJyYXkobnVtLndvcmRzKTtcXG4gIH07XFxuXFxuICBCTi5tYXggPSBmdW5jdGlvbiBtYXggKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPiAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLm1pbiA9IGZ1bmN0aW9uIG1pbiAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA8IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdCAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdudW1iZXInKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXROdW1iZXIobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0QXJyYXkobnVtYmVyLCBiYXNlLCBlbmRpYW4pO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIGJhc2UgPSAxNjtcXG4gICAgfVxcbiAgICBhc3NlcnQoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNik7XFxuXFxuICAgIG51bWJlciA9IG51bWJlci50b1N0cmluZygpLnJlcGxhY2UoL1xcXFxzKy9nLCAnJyk7XFxuICAgIHZhciBzdGFydCA9IDA7XFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHN0YXJ0Kys7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IDE2KSB7XFxuICAgICAgdGhpcy5fcGFyc2VIZXgobnVtYmVyLCBzdGFydCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy5fcGFyc2VCYXNlKG51bWJlciwgYmFzZSwgc3RhcnQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChudW1iZXJbMF0gPT09ICctJykge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0TnVtYmVyID0gZnVuY3Rpb24gX2luaXROdW1iZXIgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChudW1iZXIgPCAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgbnVtYmVyID0gLW51bWJlcjtcXG4gICAgfVxcbiAgICBpZiAobnVtYmVyIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFsgbnVtYmVyICYgMHgzZmZmZmZmIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKG51bWJlciA8IDB4MTAwMDAwMDAwMDAwMDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmZcXG4gICAgICBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobnVtYmVyIDwgMHgyMDAwMDAwMDAwMDAwMCk7IC8vIDIgXiA1MyAodW5zYWZlKVxcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZixcXG4gICAgICAgIDFcXG4gICAgICBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMztcXG4gICAgfVxcblxcbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XFxuXFxuICAgIC8vIFJldmVyc2UgdGhlIGJ5dGVzXFxuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXRBcnJheSA9IGZ1bmN0aW9uIF9pbml0QXJyYXkgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIC8vIFBlcmhhcHMgYSBVaW50OEFycmF5XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtYmVyLmxlbmd0aCA9PT0gJ251bWJlcicpO1xcbiAgICBpZiAobnVtYmVyLmxlbmd0aCA8PSAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbChudW1iZXIubGVuZ3RoIC8gMyk7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGlmIChlbmRpYW4gPT09ICdiZScpIHtcXG4gICAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gMSwgaiA9IDA7IGkgPj0gMDsgaSAtPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpIC0gMV0gPDwgOCkgfCAobnVtYmVyW2kgLSAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xcbiAgICAgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAzKSB7XFxuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpICsgMV0gPDwgOCkgfCAobnVtYmVyW2kgKyAyXSA8PCAxNik7XFxuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgICB0aGlzLndvcmRzW2ogKyAxXSA9ICh3ID4+PiAoMjYgLSBvZmYpKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG9mZiArPSAyNDtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBqKys7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VIZXggKHN0ciwgc3RhcnQsIGVuZCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByIDw8PSA0O1xcblxcbiAgICAgIC8vICdhJyAtICdmJ1xcbiAgICAgIGlmIChjID49IDQ5ICYmIGMgPD0gNTQpIHtcXG4gICAgICAgIHIgfD0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJyAtICdGJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNyAmJiBjIDw9IDIyKSB7XFxuICAgICAgICByIHw9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciB8PSBjICYgMHhmO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VIZXggPSBmdW5jdGlvbiBfcGFyc2VIZXggKG51bWJlciwgc3RhcnQpIHtcXG4gICAgLy8gQ3JlYXRlIHBvc3NpYmx5IGJpZ2dlciBhcnJheSB0byBlbnN1cmUgdGhhdCBpdCBmaXRzIHRoZSBudW1iZXJcXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwoKG51bWJlci5sZW5ndGggLSBzdGFydCkgLyA2KTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICAvLyBTY2FuIDI0LWJpdCBjaHVua3MgYW5kIGFkZCB0aGVtIHRvIHRoZSBudW1iZXJcXG4gICAgdmFyIG9mZiA9IDA7XFxuICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSA2LCBqID0gMDsgaSA+PSBzdGFydDsgaSAtPSA2KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgaSwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAvLyBOT1RFOiBgMHgzZmZmZmZgIGlzIGludGVudGlvbmFsIGhlcmUsIDI2Yml0cyBtYXggc2hpZnQgKyAyNGJpdCBoZXggbGltYlxcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgICBvZmYgKz0gMjQ7XFxuICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgaisrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAoaSArIDYgIT09IHN0YXJ0KSB7XFxuICAgICAgdyA9IHBhcnNlSGV4KG51bWJlciwgc3RhcnQsIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBwYXJzZUJhc2UgKHN0ciwgc3RhcnQsIGVuZCwgbXVsKSB7XFxuICAgIHZhciByID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgKj0gbXVsO1xcblxcbiAgICAgIC8vICdhJ1xcbiAgICAgIGlmIChjID49IDQ5KSB7XFxuICAgICAgICByICs9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQSdcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcpIHtcXG4gICAgICAgIHIgKz0gYyAtIDE3ICsgMHhhO1xcblxcbiAgICAgIC8vICcwJyAtICc5J1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByICs9IGM7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUJhc2UgPSBmdW5jdGlvbiBfcGFyc2VCYXNlIChudW1iZXIsIGJhc2UsIHN0YXJ0KSB7XFxuICAgIC8vIEluaXRpYWxpemUgYXMgemVyb1xcbiAgICB0aGlzLndvcmRzID0gWyAwIF07XFxuICAgIHRoaXMubGVuZ3RoID0gMTtcXG5cXG4gICAgLy8gRmluZCBsZW5ndGggb2YgbGltYiBpbiBiYXNlXFxuICAgIGZvciAodmFyIGxpbWJMZW4gPSAwLCBsaW1iUG93ID0gMTsgbGltYlBvdyA8PSAweDNmZmZmZmY7IGxpbWJQb3cgKj0gYmFzZSkge1xcbiAgICAgIGxpbWJMZW4rKztcXG4gICAgfVxcbiAgICBsaW1iTGVuLS07XFxuICAgIGxpbWJQb3cgPSAobGltYlBvdyAvIGJhc2UpIHwgMDtcXG5cXG4gICAgdmFyIHRvdGFsID0gbnVtYmVyLmxlbmd0aCAtIHN0YXJ0O1xcbiAgICB2YXIgbW9kID0gdG90YWwgJSBsaW1iTGVuO1xcbiAgICB2YXIgZW5kID0gTWF0aC5taW4odG90YWwsIHRvdGFsIC0gbW9kKSArIHN0YXJ0O1xcblxcbiAgICB2YXIgd29yZCA9IDA7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSBsaW1iTGVuKSB7XFxuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIGkgKyBsaW1iTGVuLCBiYXNlKTtcXG5cXG4gICAgICB0aGlzLmltdWxuKGxpbWJQb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKG1vZCAhPT0gMCkge1xcbiAgICAgIHZhciBwb3cgPSAxO1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBudW1iZXIubGVuZ3RoLCBiYXNlKTtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgbW9kOyBpKyspIHtcXG4gICAgICAgIHBvdyAqPSBiYXNlO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmltdWxuKHBvdyk7XFxuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAoZGVzdCkge1xcbiAgICBkZXN0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgZGVzdC53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XFxuICAgIH1cXG4gICAgZGVzdC5sZW5ndGggPSB0aGlzLmxlbmd0aDtcXG4gICAgZGVzdC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XFxuICAgIGRlc3QucmVkID0gdGhpcy5yZWQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24gY2xvbmUgKCkge1xcbiAgICB2YXIgciA9IG5ldyBCTihudWxsKTtcXG4gICAgdGhpcy5jb3B5KHIpO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2V4cGFuZCA9IGZ1bmN0aW9uIF9leHBhbmQgKHNpemUpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgc2l6ZSkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFJlbW92ZSBsZWFkaW5nIGAwYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnN0cmlwID0gZnVuY3Rpb24gc3RyaXAgKCkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPiAxICYmIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIHRoaXMubGVuZ3RoLS07XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9ub3JtU2lnbiA9IGZ1bmN0aW9uIF9ub3JtU2lnbiAoKSB7XFxuICAgIC8vIC0wID0gMFxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbnNwZWN0ID0gZnVuY3Rpb24gaW5zcGVjdCAoKSB7XFxuICAgIHJldHVybiAodGhpcy5yZWQgPyAnPEJOLVI6ICcgOiAnPEJOOiAnKSArIHRoaXMudG9TdHJpbmcoMTYpICsgJz4nO1xcbiAgfTtcXG5cXG4gIC8qXFxuXFxuICB2YXIgemVyb3MgPSBbXTtcXG4gIHZhciBncm91cFNpemVzID0gW107XFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtdO1xcblxcbiAgdmFyIHMgPSAnJztcXG4gIHZhciBpID0gLTE7XFxuICB3aGlsZSAoKytpIDwgQk4ud29yZFNpemUpIHtcXG4gICAgemVyb3NbaV0gPSBzO1xcbiAgICBzICs9ICcwJztcXG4gIH1cXG4gIGdyb3VwU2l6ZXNbMF0gPSAwO1xcbiAgZ3JvdXBTaXplc1sxXSA9IDA7XFxuICBncm91cEJhc2VzWzBdID0gMDtcXG4gIGdyb3VwQmFzZXNbMV0gPSAwO1xcbiAgdmFyIGJhc2UgPSAyIC0gMTtcXG4gIHdoaWxlICgrK2Jhc2UgPCAzNiArIDEpIHtcXG4gICAgdmFyIGdyb3VwU2l6ZSA9IDA7XFxuICAgIHZhciBncm91cEJhc2UgPSAxO1xcbiAgICB3aGlsZSAoZ3JvdXBCYXNlIDwgKDEgPDwgQk4ud29yZFNpemUpIC8gYmFzZSkge1xcbiAgICAgIGdyb3VwQmFzZSAqPSBiYXNlO1xcbiAgICAgIGdyb3VwU2l6ZSArPSAxO1xcbiAgICB9XFxuICAgIGdyb3VwU2l6ZXNbYmFzZV0gPSBncm91cFNpemU7XFxuICAgIGdyb3VwQmFzZXNbYmFzZV0gPSBncm91cEJhc2U7XFxuICB9XFxuXFxuICAqL1xcblxcbiAgdmFyIHplcm9zID0gW1xcbiAgICAnJyxcXG4gICAgJzAnLFxcbiAgICAnMDAnLFxcbiAgICAnMDAwJyxcXG4gICAgJzAwMDAnLFxcbiAgICAnMDAwMDAnLFxcbiAgICAnMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnXFxuICBdO1xcblxcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDI1LCAxNiwgMTIsIDExLCAxMCwgOSwgOCxcXG4gICAgOCwgNywgNywgNywgNywgNiwgNixcXG4gICAgNiwgNiwgNiwgNiwgNiwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSxcXG4gICAgNSwgNSwgNSwgNSwgNSwgNSwgNVxcbiAgXTtcXG5cXG4gIHZhciBncm91cEJhc2VzID0gW1xcbiAgICAwLCAwLFxcbiAgICAzMzU1NDQzMiwgNDMwNDY3MjEsIDE2Nzc3MjE2LCA0ODgyODEyNSwgNjA0NjYxNzYsIDQwMzUzNjA3LCAxNjc3NzIxNixcXG4gICAgNDMwNDY3MjEsIDEwMDAwMDAwLCAxOTQ4NzE3MSwgMzU4MzE4MDgsIDYyNzQ4NTE3LCA3NTI5NTM2LCAxMTM5MDYyNSxcXG4gICAgMTY3NzcyMTYsIDI0MTM3NTY5LCAzNDAxMjIyNCwgNDcwNDU4ODEsIDY0MDAwMDAwLCA0MDg0MTAxLCA1MTUzNjMyLFxcbiAgICA2NDM2MzQzLCA3OTYyNjI0LCA5NzY1NjI1LCAxMTg4MTM3NiwgMTQzNDg5MDcsIDE3MjEwMzY4LCAyMDUxMTE0OSxcXG4gICAgMjQzMDAwMDAsIDI4NjI5MTUxLCAzMzU1NDQzMiwgMzkxMzUzOTMsIDQ1NDM1NDI0LCA1MjUyMTg3NSwgNjA0NjYxNzZcXG4gIF07XFxuXFxuICBCTi5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyAoYmFzZSwgcGFkZGluZykge1xcbiAgICBiYXNlID0gYmFzZSB8fCAxMDtcXG4gICAgcGFkZGluZyA9IHBhZGRpbmcgfCAwIHx8IDE7XFxuXFxuICAgIHZhciBvdXQ7XFxuICAgIGlmIChiYXNlID09PSAxNiB8fCBiYXNlID09PSAnaGV4Jykge1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBvZmYgPSAwO1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV07XFxuICAgICAgICB2YXIgd29yZCA9ICgoKHcgPDwgb2ZmKSB8IGNhcnJ5KSAmIDB4ZmZmZmZmKS50b1N0cmluZygxNik7XFxuICAgICAgICBjYXJyeSA9ICh3ID4+PiAoMjQgLSBvZmYpKSAmIDB4ZmZmZmZmO1xcbiAgICAgICAgaWYgKGNhcnJ5ICE9PSAwIHx8IGkgIT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgICBvdXQgPSB6ZXJvc1s2IC0gd29yZC5sZW5ndGhdICsgd29yZCArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHdvcmQgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgICBvZmYgKz0gMjtcXG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgICAgb2ZmIC09IDI2O1xcbiAgICAgICAgICBpLS07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gY2FycnkudG9TdHJpbmcoMTYpICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gKGJhc2UgfCAwKSAmJiBiYXNlID49IDIgJiYgYmFzZSA8PSAzNikge1xcbiAgICAgIC8vIHZhciBncm91cFNpemUgPSBNYXRoLmZsb29yKEJOLndvcmRTaXplICogTWF0aC5MTjIgLyBNYXRoLmxvZyhiYXNlKSk7XFxuICAgICAgdmFyIGdyb3VwU2l6ZSA9IGdyb3VwU2l6ZXNbYmFzZV07XFxuICAgICAgLy8gdmFyIGdyb3VwQmFzZSA9IE1hdGgucG93KGJhc2UsIGdyb3VwU2l6ZSk7XFxuICAgICAgdmFyIGdyb3VwQmFzZSA9IGdyb3VwQmFzZXNbYmFzZV07XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIGMgPSB0aGlzLmNsb25lKCk7XFxuICAgICAgYy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgd2hpbGUgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICB2YXIgciA9IGMubW9kbihncm91cEJhc2UpLnRvU3RyaW5nKGJhc2UpO1xcbiAgICAgICAgYyA9IGMuaWRpdm4oZ3JvdXBCYXNlKTtcXG5cXG4gICAgICAgIGlmICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgICBvdXQgPSB6ZXJvc1tncm91cFNpemUgLSByLmxlbmd0aF0gKyByICsgb3V0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgb3V0ID0gciArIG91dDtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgYXNzZXJ0KGZhbHNlLCAnQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNicpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b051bWJlciA9IGZ1bmN0aW9uIHRvTnVtYmVyICgpIHtcXG4gICAgdmFyIHJldCA9IHRoaXMud29yZHNbMF07XFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMikge1xcbiAgICAgIHJldCArPSB0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID09PSAzICYmIHRoaXMud29yZHNbMl0gPT09IDB4MDEpIHtcXG4gICAgICAvLyBOT1RFOiBhdCB0aGlzIHN0YWdlIGl0IGlzIGtub3duIHRoYXQgdGhlIHRvcCBiaXQgaXMgc2V0XFxuICAgICAgcmV0ICs9IDB4MTAwMDAwMDAwMDAwMDAgKyAodGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMCk7XFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiAyKSB7XFxuICAgICAgYXNzZXJ0KGZhbHNlLCAnTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzJyk7XFxuICAgIH1cXG4gICAgcmV0dXJuICh0aGlzLm5lZ2F0aXZlICE9PSAwKSA/IC1yZXQgOiByZXQ7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9uIHRvSlNPTiAoKSB7XFxuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKDE2KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9CdWZmZXIgPSBmdW5jdGlvbiB0b0J1ZmZlciAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBCdWZmZXIgIT09ICd1bmRlZmluZWQnKTtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQnVmZmVyLCBlbmRpYW4sIGxlbmd0aCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiB0b0FycmF5IChlbmRpYW4sIGxlbmd0aCkge1xcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5TGlrZSA9IGZ1bmN0aW9uIHRvQXJyYXlMaWtlIChBcnJheVR5cGUsIGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHZhciBieXRlTGVuZ3RoID0gdGhpcy5ieXRlTGVuZ3RoKCk7XFxuICAgIHZhciByZXFMZW5ndGggPSBsZW5ndGggfHwgTWF0aC5tYXgoMSwgYnl0ZUxlbmd0aCk7XFxuICAgIGFzc2VydChieXRlTGVuZ3RoIDw9IHJlcUxlbmd0aCwgJ2J5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgnKTtcXG4gICAgYXNzZXJ0KHJlcUxlbmd0aCA+IDAsICdSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAnKTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcbiAgICB2YXIgbGl0dGxlRW5kaWFuID0gZW5kaWFuID09PSAnbGUnO1xcbiAgICB2YXIgcmVzID0gbmV3IEFycmF5VHlwZShyZXFMZW5ndGgpO1xcblxcbiAgICB2YXIgYiwgaTtcXG4gICAgdmFyIHEgPSB0aGlzLmNsb25lKCk7XFxuICAgIGlmICghbGl0dGxlRW5kaWFuKSB7XFxuICAgICAgLy8gQXNzdW1lIGJpZy1lbmRpYW5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgcmVxTGVuZ3RoIC0gYnl0ZUxlbmd0aDsgaSsrKSB7XFxuICAgICAgICByZXNbaV0gPSAwO1xcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW3JlcUxlbmd0aCAtIGkgLSAxXSA9IGI7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGZvciAoaSA9IDA7ICFxLmlzWmVybygpOyBpKyspIHtcXG4gICAgICAgIGIgPSBxLmFuZGxuKDB4ZmYpO1xcbiAgICAgICAgcS5pdXNocm4oOCk7XFxuXFxuICAgICAgICByZXNbaV0gPSBiO1xcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKDsgaSA8IHJlcUxlbmd0aDsgaSsrKSB7XFxuICAgICAgICByZXNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIGlmIChNYXRoLmNsejMyKSB7XFxuICAgIEJOLnByb3RvdHlwZS5fY291bnRCaXRzID0gZnVuY3Rpb24gX2NvdW50Qml0cyAodykge1xcbiAgICAgIHJldHVybiAzMiAtIE1hdGguY2x6MzIodyk7XFxuICAgIH07XFxuICB9IGVsc2Uge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICB2YXIgdCA9IHc7XFxuICAgICAgdmFyIHIgPSAwO1xcbiAgICAgIGlmICh0ID49IDB4MTAwMCkge1xcbiAgICAgICAgciArPSAxMztcXG4gICAgICAgIHQgPj4+PSAxMztcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHg0MCkge1xcbiAgICAgICAgciArPSA3O1xcbiAgICAgICAgdCA+Pj49IDc7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4OCkge1xcbiAgICAgICAgciArPSA0O1xcbiAgICAgICAgdCA+Pj49IDQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4MDIpIHtcXG4gICAgICAgIHIgKz0gMjtcXG4gICAgICAgIHQgPj4+PSAyO1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gciArIHQ7XFxuICAgIH07XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3plcm9CaXRzID0gZnVuY3Rpb24gX3plcm9CaXRzICh3KSB7XFxuICAgIC8vIFNob3J0LWN1dFxcbiAgICBpZiAodyA9PT0gMCkgcmV0dXJuIDI2O1xcblxcbiAgICB2YXIgdCA9IHc7XFxuICAgIHZhciByID0gMDtcXG4gICAgaWYgKCh0ICYgMHgxZmZmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gMTM7XFxuICAgICAgdCA+Pj49IDEzO1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4N2YpID09PSAwKSB7XFxuICAgICAgciArPSA3O1xcbiAgICAgIHQgPj4+PSA3O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4ZikgPT09IDApIHtcXG4gICAgICByICs9IDQ7XFxuICAgICAgdCA+Pj49IDQ7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgzKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gMjtcXG4gICAgICB0ID4+Pj0gMjtcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDEpID09PSAwKSB7XFxuICAgICAgcisrO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBudW1iZXIgb2YgdXNlZCBiaXRzIGluIGEgQk5cXG4gIEJOLnByb3RvdHlwZS5iaXRMZW5ndGggPSBmdW5jdGlvbiBiaXRMZW5ndGggKCkge1xcbiAgICB2YXIgdyA9IHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXTtcXG4gICAgdmFyIGhpID0gdGhpcy5fY291bnRCaXRzKHcpO1xcbiAgICByZXR1cm4gKHRoaXMubGVuZ3RoIC0gMSkgKiAyNiArIGhpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHRvQml0QXJyYXkgKG51bSkge1xcbiAgICB2YXIgdyA9IG5ldyBBcnJheShudW0uYml0TGVuZ3RoKCkpO1xcblxcbiAgICBmb3IgKHZhciBiaXQgPSAwOyBiaXQgPCB3Lmxlbmd0aDsgYml0KyspIHtcXG4gICAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcXG5cXG4gICAgICB3W2JpdF0gPSAobnVtLndvcmRzW29mZl0gJiAoMSA8PCB3Yml0KSkgPj4+IHdiaXQ7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHc7XFxuICB9XFxuXFxuICAvLyBOdW1iZXIgb2YgdHJhaWxpbmcgemVybyBiaXRzXFxuICBCTi5wcm90b3R5cGUuemVyb0JpdHMgPSBmdW5jdGlvbiB6ZXJvQml0cyAoKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gMDtcXG5cXG4gICAgdmFyIHIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgYiA9IHRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbaV0pO1xcbiAgICAgIHIgKz0gYjtcXG4gICAgICBpZiAoYiAhPT0gMjYpIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ieXRlTGVuZ3RoID0gZnVuY3Rpb24gYnl0ZUxlbmd0aCAoKSB7XFxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKSAvIDgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1R3b3MgPSBmdW5jdGlvbiB0b1R3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuYWJzKCkuaW5vdG4od2lkdGgpLmlhZGRuKDEpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21Ud29zID0gZnVuY3Rpb24gZnJvbVR3b3MgKHdpZHRoKSB7XFxuICAgIGlmICh0aGlzLnRlc3RuKHdpZHRoIC0gMSkpIHtcXG4gICAgICByZXR1cm4gdGhpcy5ub3RuKHdpZHRoKS5pYWRkbigxKS5pbmVnKCk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNOZWcgPSBmdW5jdGlvbiBpc05lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLm5lZ2F0aXZlICE9PSAwO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5lZyA9IGZ1bmN0aW9uIGluZWcgKCkge1xcbiAgICBpZiAoIXRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdW9yID0gZnVuY3Rpb24gaXVvciAobnVtKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldIHwgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlvciA9IGZ1bmN0aW9uIGlvciAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdW9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5vciA9IGZ1bmN0aW9uIG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pb3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlvcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW9yID0gZnVuY3Rpb24gdW9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdW9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1YW5kID0gZnVuY3Rpb24gaXVhbmQgKG51bSkge1xcbiAgICAvLyBiID0gbWluLWxlbmd0aChudW0sIHRoaXMpXFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSAmIG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGIubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pYW5kID0gZnVuY3Rpb24gaWFuZCAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdWFuZChudW0pO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmFuZCA9IGZ1bmN0aW9uIGFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFuZCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudWFuZCA9IGZ1bmN0aW9uIHVhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1YW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdWFuZCh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdXhvciA9IGZ1bmN0aW9uIGl1eG9yIChudW0pIHtcXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYTtcXG4gICAgdmFyIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV0gXiBiLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzICE9PSBhKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXhvciA9IGZ1bmN0aW9uIGl4b3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXV4b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBYb3IgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS54b3IgPSBmdW5jdGlvbiB4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnV4b3IgPSBmdW5jdGlvbiB1eG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXV4b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gTm90IGBgdGhpc2BgIHdpdGggYGB3aWR0aGBgIGJpdHdpZHRoXFxuICBCTi5wcm90b3R5cGUuaW5vdG4gPSBmdW5jdGlvbiBpbm90biAod2lkdGgpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgJiYgd2lkdGggPj0gMCk7XFxuXFxuICAgIHZhciBieXRlc05lZWRlZCA9IE1hdGguY2VpbCh3aWR0aCAvIDI2KSB8IDA7XFxuICAgIHZhciBiaXRzTGVmdCA9IHdpZHRoICUgMjY7XFxuXFxuICAgIC8vIEV4dGVuZCB0aGUgYnVmZmVyIHdpdGggbGVhZGluZyB6ZXJvZXNcXG4gICAgdGhpcy5fZXhwYW5kKGJ5dGVzTmVlZGVkKTtcXG5cXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIGJ5dGVzTmVlZGVkLS07XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIGNvbXBsZXRlIHdvcmRzXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXNOZWVkZWQ7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgdGhlIHJlc2lkdWVcXG4gICAgaWYgKGJpdHNMZWZ0ID4gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmICgweDNmZmZmZmYgPj4gKDI2IC0gYml0c0xlZnQpKTtcXG4gICAgfVxcblxcbiAgICAvLyBBbmQgcmVtb3ZlIGxlYWRpbmcgemVyb2VzXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm5vdG4gPSBmdW5jdGlvbiBub3RuICh3aWR0aCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKHdpZHRoKTtcXG4gIH07XFxuXFxuICAvLyBTZXQgYGJpdGAgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc2V0biA9IGZ1bmN0aW9uIHNldG4gKGJpdCwgdmFsKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XFxuXFxuICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcXG4gICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKG9mZiArIDEpO1xcblxcbiAgICBpZiAodmFsKSB7XFxuICAgICAgdGhpcy53b3Jkc1tvZmZdID0gdGhpcy53b3Jkc1tvZmZdIHwgKDEgPDwgd2JpdCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy53b3Jkc1tvZmZdID0gdGhpcy53b3Jkc1tvZmZdICYgfigxIDw8IHdiaXQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChudW0pIHtcXG4gICAgdmFyIHI7XFxuXFxuICAgIC8vIG5lZ2F0aXZlICsgcG9zaXRpdmVcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgXj0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gcG9zaXRpdmUgKyBuZWdhdGl2ZVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgKGIud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGhdID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgLy8gQ29weSB0aGUgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgfSBlbHNlIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAobnVtKSB7XFxuICAgIHZhciByZXM7XFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDAgJiYgdGhpcy5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgcmVzID0gdGhpcy5zdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgXj0gMTtcXG4gICAgICByZXR1cm4gcmVzO1xcbiAgICB9IGVsc2UgaWYgKG51bS5uZWdhdGl2ZSA9PT0gMCAmJiB0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgcmVzID0gbnVtLnN1Yih0aGlzKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gcmVzO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZChudW0pO1xcblxcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFkZCh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlzdWIgPSBmdW5jdGlvbiBpc3ViIChudW0pIHtcXG4gICAgLy8gdGhpcyAtICgtbnVtKSA9IHRoaXMgKyBudW1cXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdmFyIHIgPSB0aGlzLmlhZGQobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyAtdGhpcyAtIG51bSA9IC0odGhpcyArIG51bSlcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pYWRkKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlXFxuICAgIHZhciBjbXAgPSB0aGlzLmNtcChudW0pO1xcblxcbiAgICAvLyBPcHRpbWl6YXRpb24gLSB6ZXJvaWZ5XFxuICAgIGlmIChjbXAgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gYSA+IGJcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmIChjbXAgPiAwKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApIC0gKGIud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gciA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gciA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICAvLyBDb3B5IHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIGlmIChjYXJyeSA9PT0gMCAmJiBpIDwgYS5sZW5ndGggJiYgYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5sZW5ndGgsIGkpO1xcblxcbiAgICBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIobnVtKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBzbWFsbE11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICB2YXIgbGVuID0gKHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aCkgfCAwO1xcbiAgICBvdXQubGVuZ3RoID0gbGVuO1xcbiAgICBsZW4gPSAobGVuIC0gMSkgfCAwO1xcblxcbiAgICAvLyBQZWVsIG9uZSBpdGVyYXRpb24gKGNvbXBpbGVyIGNhbid0IGRvIGl0LCBiZWNhdXNlIG9mIGNvZGUgY29tcGxleGl0eSlcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIGIgPSBudW0ud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xcbiAgICB2YXIgY2FycnkgPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICBvdXQud29yZHNbMF0gPSBsbztcXG5cXG4gICAgZm9yICh2YXIgayA9IDE7IGsgPCBsZW47IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBjYXJyeSA+Pj4gMjY7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSAoayAtIGopIHwgMDtcXG4gICAgICAgIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcXG4gICAgICAgIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgciA9IGEgKiBiICsgcndvcmQ7XFxuICAgICAgICBuY2FycnkgKz0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICB9XFxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQgfCAwO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5IHwgMDtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeSB8IDA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIC8vIFRPRE8oaW5kdXRueSk6IGl0IG1heSBiZSByZWFzb25hYmxlIHRvIG9taXQgaXQgZm9yIHVzZXJzIHdobyBkb24ndCBuZWVkXFxuICAvLyB0byB3b3JrIHdpdGggMjU2LWJpdCBudW1iZXJzLCBvdGhlcndpc2UgaXQgZ2l2ZXMgMjAlIGltcHJvdmVtZW50IGZvciAyNTYtYml0XFxuICAvLyBtdWx0aXBsaWNhdGlvbiAobGlrZSBlbGxpcHRpYyBzZWNwMjU2azEpLlxcbiAgdmFyIGNvbWIxME11bFRvID0gZnVuY3Rpb24gY29tYjEwTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBhID0gc2VsZi53b3JkcztcXG4gICAgdmFyIGIgPSBudW0ud29yZHM7XFxuICAgIHZhciBvID0gb3V0LndvcmRzO1xcbiAgICB2YXIgYyA9IDA7XFxuICAgIHZhciBsbztcXG4gICAgdmFyIG1pZDtcXG4gICAgdmFyIGhpO1xcbiAgICB2YXIgYTAgPSBhWzBdIHwgMDtcXG4gICAgdmFyIGFsMCA9IGEwICYgMHgxZmZmO1xcbiAgICB2YXIgYWgwID0gYTAgPj4+IDEzO1xcbiAgICB2YXIgYTEgPSBhWzFdIHwgMDtcXG4gICAgdmFyIGFsMSA9IGExICYgMHgxZmZmO1xcbiAgICB2YXIgYWgxID0gYTEgPj4+IDEzO1xcbiAgICB2YXIgYTIgPSBhWzJdIHwgMDtcXG4gICAgdmFyIGFsMiA9IGEyICYgMHgxZmZmO1xcbiAgICB2YXIgYWgyID0gYTIgPj4+IDEzO1xcbiAgICB2YXIgYTMgPSBhWzNdIHwgMDtcXG4gICAgdmFyIGFsMyA9IGEzICYgMHgxZmZmO1xcbiAgICB2YXIgYWgzID0gYTMgPj4+IDEzO1xcbiAgICB2YXIgYTQgPSBhWzRdIHwgMDtcXG4gICAgdmFyIGFsNCA9IGE0ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg0ID0gYTQgPj4+IDEzO1xcbiAgICB2YXIgYTUgPSBhWzVdIHwgMDtcXG4gICAgdmFyIGFsNSA9IGE1ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg1ID0gYTUgPj4+IDEzO1xcbiAgICB2YXIgYTYgPSBhWzZdIHwgMDtcXG4gICAgdmFyIGFsNiA9IGE2ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg2ID0gYTYgPj4+IDEzO1xcbiAgICB2YXIgYTcgPSBhWzddIHwgMDtcXG4gICAgdmFyIGFsNyA9IGE3ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg3ID0gYTcgPj4+IDEzO1xcbiAgICB2YXIgYTggPSBhWzhdIHwgMDtcXG4gICAgdmFyIGFsOCA9IGE4ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg4ID0gYTggPj4+IDEzO1xcbiAgICB2YXIgYTkgPSBhWzldIHwgMDtcXG4gICAgdmFyIGFsOSA9IGE5ICYgMHgxZmZmO1xcbiAgICB2YXIgYWg5ID0gYTkgPj4+IDEzO1xcbiAgICB2YXIgYjAgPSBiWzBdIHwgMDtcXG4gICAgdmFyIGJsMCA9IGIwICYgMHgxZmZmO1xcbiAgICB2YXIgYmgwID0gYjAgPj4+IDEzO1xcbiAgICB2YXIgYjEgPSBiWzFdIHwgMDtcXG4gICAgdmFyIGJsMSA9IGIxICYgMHgxZmZmO1xcbiAgICB2YXIgYmgxID0gYjEgPj4+IDEzO1xcbiAgICB2YXIgYjIgPSBiWzJdIHwgMDtcXG4gICAgdmFyIGJsMiA9IGIyICYgMHgxZmZmO1xcbiAgICB2YXIgYmgyID0gYjIgPj4+IDEzO1xcbiAgICB2YXIgYjMgPSBiWzNdIHwgMDtcXG4gICAgdmFyIGJsMyA9IGIzICYgMHgxZmZmO1xcbiAgICB2YXIgYmgzID0gYjMgPj4+IDEzO1xcbiAgICB2YXIgYjQgPSBiWzRdIHwgMDtcXG4gICAgdmFyIGJsNCA9IGI0ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg0ID0gYjQgPj4+IDEzO1xcbiAgICB2YXIgYjUgPSBiWzVdIHwgMDtcXG4gICAgdmFyIGJsNSA9IGI1ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg1ID0gYjUgPj4+IDEzO1xcbiAgICB2YXIgYjYgPSBiWzZdIHwgMDtcXG4gICAgdmFyIGJsNiA9IGI2ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg2ID0gYjYgPj4+IDEzO1xcbiAgICB2YXIgYjcgPSBiWzddIHwgMDtcXG4gICAgdmFyIGJsNyA9IGI3ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg3ID0gYjcgPj4+IDEzO1xcbiAgICB2YXIgYjggPSBiWzhdIHwgMDtcXG4gICAgdmFyIGJsOCA9IGI4ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg4ID0gYjggPj4+IDEzO1xcbiAgICB2YXIgYjkgPSBiWzldIHwgMDtcXG4gICAgdmFyIGJsOSA9IGI5ICYgMHgxZmZmO1xcbiAgICB2YXIgYmg5ID0gYjkgPj4+IDEzO1xcblxcbiAgICBvdXQubmVnYXRpdmUgPSBzZWxmLm5lZ2F0aXZlIF4gbnVtLm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0gMTk7XFxuICAgIC8qIGsgPSAwICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgwLCBiaDApO1xcbiAgICB2YXIgdzAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcwICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwxLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwxLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDEsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMSkpIHwgMDtcXG4gICAgdmFyIHcxID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEgPj4+IDI2KSkgfCAwO1xcbiAgICB3MSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAyICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMiwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMiwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgyLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMikpIHwgMDtcXG4gICAgdmFyIHcyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzIgPj4+IDI2KSkgfCAwO1xcbiAgICB3MiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAzICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgzLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgzKSkgfCAwO1xcbiAgICB2YXIgdzMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MyA+Pj4gMjYpKSB8IDA7XFxuICAgIHczICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw0LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw0LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDQsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNCkpIHwgMDtcXG4gICAgdmFyIHc0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzQgPj4+IDI2KSkgfCAwO1xcbiAgICB3NCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA1ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg1LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNSkpIHwgMDtcXG4gICAgdmFyIHc1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzUgPj4+IDI2KSkgfCAwO1xcbiAgICB3NSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA2ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNiwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNiwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg2LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg2KSkgfCAwO1xcbiAgICB2YXIgdzYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NiA+Pj4gMjYpKSB8IDA7XFxuICAgIHc2ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw3LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw3LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDcsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNykpIHwgMDtcXG4gICAgdmFyIHc3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzcgPj4+IDI2KSkgfCAwO1xcbiAgICB3NyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA4ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg4LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOCkpIHwgMDtcXG4gICAgdmFyIHc4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzggPj4+IDI2KSkgfCAwO1xcbiAgICB3OCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA5ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzkgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OSA+Pj4gMjYpKSB8IDA7XFxuICAgIHc5ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEwICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwxKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgxKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDEpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDIpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgyKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzExID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzExID4+PiAyNikpIHwgMDtcXG4gICAgdzExICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEyICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwzKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgzKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMykpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDMpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEyID4+PiAyNikpIHwgMDtcXG4gICAgdzEyICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDEzICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw0KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg0KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDQpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDUpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg1KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE0ID4+PiAyNikpIHwgMDtcXG4gICAgdzE0ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE1ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw2KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg2KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNikpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDYpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE1ID4+PiAyNikpIHwgMDtcXG4gICAgdzE1ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE2ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw3KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg3KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNykpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDcpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDgpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg4KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE3ID4+PiAyNikpIHwgMDtcXG4gICAgdzE3ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE4ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw5KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg5KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDkpO1xcbiAgICB2YXIgdzE4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE4ID4+PiAyNikpIHwgMDtcXG4gICAgdzE4ICY9IDB4M2ZmZmZmZjtcXG4gICAgb1swXSA9IHcwO1xcbiAgICBvWzFdID0gdzE7XFxuICAgIG9bMl0gPSB3MjtcXG4gICAgb1szXSA9IHczO1xcbiAgICBvWzRdID0gdzQ7XFxuICAgIG9bNV0gPSB3NTtcXG4gICAgb1s2XSA9IHc2O1xcbiAgICBvWzddID0gdzc7XFxuICAgIG9bOF0gPSB3ODtcXG4gICAgb1s5XSA9IHc5O1xcbiAgICBvWzEwXSA9IHcxMDtcXG4gICAgb1sxMV0gPSB3MTE7XFxuICAgIG9bMTJdID0gdzEyO1xcbiAgICBvWzEzXSA9IHcxMztcXG4gICAgb1sxNF0gPSB3MTQ7XFxuICAgIG9bMTVdID0gdzE1O1xcbiAgICBvWzE2XSA9IHcxNjtcXG4gICAgb1sxN10gPSB3MTc7XFxuICAgIG9bMThdID0gdzE4O1xcbiAgICBpZiAoYyAhPT0gMCkge1xcbiAgICAgIG9bMTldID0gYztcXG4gICAgICBvdXQubGVuZ3RoKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIG91dDtcXG4gIH07XFxuXFxuICAvLyBQb2x5ZmlsbCBjb21iXFxuICBpZiAoIU1hdGguaW11bCkge1xcbiAgICBjb21iMTBNdWxUbyA9IHNtYWxsTXVsVG87XFxuICB9XFxuXFxuICBmdW5jdGlvbiBiaWdNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgdmFyIGhuY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBrID0gMDsgayA8IG91dC5sZW5ndGggLSAxOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gaG5jYXJyeTtcXG4gICAgICBobmNhcnJ5ID0gMDtcXG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcXG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XFxuICAgICAgICB2YXIgaSA9IGsgLSBqO1xcbiAgICAgICAgdmFyIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcXG4gICAgICAgIHZhciBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHZhciByID0gYSAqIGI7XFxuXFxuICAgICAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArICgociAvIDB4NDAwMDAwMCkgfCAwKSkgfCAwO1xcbiAgICAgICAgbG8gPSAobG8gKyByd29yZCkgfCAwO1xcbiAgICAgICAgcndvcmQgPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAobG8gPj4+IDI2KSkgfCAwO1xcblxcbiAgICAgICAgaG5jYXJyeSArPSBuY2FycnkgPj4+IDI2O1xcbiAgICAgICAgbmNhcnJ5ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB9XFxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQ7XFxuICAgICAgY2FycnkgPSBuY2Fycnk7XFxuICAgICAgbmNhcnJ5ID0gaG5jYXJyeTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBvdXQud29yZHNba10gPSBjYXJyeTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQubGVuZ3RoLS07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24ganVtYm9NdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgdmFyIGZmdG0gPSBuZXcgRkZUTSgpO1xcbiAgICByZXR1cm4gZmZ0bS5tdWxwKHNlbGYsIG51bSwgb3V0KTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxUbyA9IGZ1bmN0aW9uIG11bFRvIChudW0sIG91dCkge1xcbiAgICB2YXIgcmVzO1xcbiAgICB2YXIgbGVuID0gdGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEwICYmIG51bS5sZW5ndGggPT09IDEwKSB7XFxuICAgICAgcmVzID0gY29tYjEwTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDYzKSB7XFxuICAgICAgcmVzID0gc21hbGxNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgMTAyNCkge1xcbiAgICAgIHJlcyA9IGJpZ011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvb2xleS1UdWtleSBhbGdvcml0aG0gZm9yIEZGVFxcbiAgLy8gc2xpZ2h0bHkgcmV2aXNpdGVkIHRvIHJlbHkgb24gbG9vcGluZyBpbnN0ZWFkIG9mIHJlY3Vyc2lvblxcblxcbiAgZnVuY3Rpb24gRkZUTSAoeCwgeSkge1xcbiAgICB0aGlzLnggPSB4O1xcbiAgICB0aGlzLnkgPSB5O1xcbiAgfVxcblxcbiAgRkZUTS5wcm90b3R5cGUubWFrZVJCVCA9IGZ1bmN0aW9uIG1ha2VSQlQgKE4pIHtcXG4gICAgdmFyIHQgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBsID0gQk4ucHJvdG90eXBlLl9jb3VudEJpdHMoTikgLSAxO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHRbaV0gPSB0aGlzLnJldkJpbihpLCBsLCBOKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm5zIGJpbmFyeS1yZXZlcnNlZCByZXByZXNlbnRhdGlvbiBvZiBgeGBcXG4gIEZGVE0ucHJvdG90eXBlLnJldkJpbiA9IGZ1bmN0aW9uIHJldkJpbiAoeCwgbCwgTikge1xcbiAgICBpZiAoeCA9PT0gMCB8fCB4ID09PSBOIC0gMSkgcmV0dXJuIHg7XFxuXFxuICAgIHZhciByYiA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbDsgaSsrKSB7XFxuICAgICAgcmIgfD0gKHggJiAxKSA8PCAobCAtIGkgLSAxKTtcXG4gICAgICB4ID4+PSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByYjtcXG4gIH07XFxuXFxuICAvLyBQZXJmb3JtcyBcXFwidHdlZWRsaW5nXFxcIiBwaGFzZSwgdGhlcmVmb3JlICdlbXVsYXRpbmcnXFxuICAvLyBiZWhhdmlvdXIgb2YgdGhlIHJlY3Vyc2l2ZSBhbGdvcml0aG1cXG4gIEZGVE0ucHJvdG90eXBlLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlIChyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcnR3c1tpXSA9IHJ3c1tyYnRbaV1dO1xcbiAgICAgIGl0d3NbaV0gPSBpd3NbcmJ0W2ldXTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnRyYW5zZm9ybSA9IGZ1bmN0aW9uIHRyYW5zZm9ybSAocndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4sIHJidCkge1xcbiAgICB0aGlzLnBlcm11dGUocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTik7XFxuXFxuICAgIGZvciAodmFyIHMgPSAxOyBzIDwgTjsgcyA8PD0gMSkge1xcbiAgICAgIHZhciBsID0gcyA8PCAxO1xcblxcbiAgICAgIHZhciBydHdkZiA9IE1hdGguY29zKDIgKiBNYXRoLlBJIC8gbCk7XFxuICAgICAgdmFyIGl0d2RmID0gTWF0aC5zaW4oMiAqIE1hdGguUEkgLyBsKTtcXG5cXG4gICAgICBmb3IgKHZhciBwID0gMDsgcCA8IE47IHAgKz0gbCkge1xcbiAgICAgICAgdmFyIHJ0d2RmXyA9IHJ0d2RmO1xcbiAgICAgICAgdmFyIGl0d2RmXyA9IGl0d2RmO1xcblxcbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzOyBqKyspIHtcXG4gICAgICAgICAgdmFyIHJlID0gcnR3c1twICsgal07XFxuICAgICAgICAgIHZhciBpZSA9IGl0d3NbcCArIGpdO1xcblxcbiAgICAgICAgICB2YXIgcm8gPSBydHdzW3AgKyBqICsgc107XFxuICAgICAgICAgIHZhciBpbyA9IGl0d3NbcCArIGogKyBzXTtcXG5cXG4gICAgICAgICAgdmFyIHJ4ID0gcnR3ZGZfICogcm8gLSBpdHdkZl8gKiBpbztcXG5cXG4gICAgICAgICAgaW8gPSBydHdkZl8gKiBpbyArIGl0d2RmXyAqIHJvO1xcbiAgICAgICAgICBybyA9IHJ4O1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqXSA9IHJlICsgcm87XFxuICAgICAgICAgIGl0d3NbcCArIGpdID0gaWUgKyBpbztcXG5cXG4gICAgICAgICAgcnR3c1twICsgaiArIHNdID0gcmUgLSBybztcXG4gICAgICAgICAgaXR3c1twICsgaiArIHNdID0gaWUgLSBpbztcXG5cXG4gICAgICAgICAgLyoganNoaW50IG1heGRlcHRoIDogZmFsc2UgKi9cXG4gICAgICAgICAgaWYgKGogIT09IGwpIHtcXG4gICAgICAgICAgICByeCA9IHJ0d2RmICogcnR3ZGZfIC0gaXR3ZGYgKiBpdHdkZl87XFxuXFxuICAgICAgICAgICAgaXR3ZGZfID0gcnR3ZGYgKiBpdHdkZl8gKyBpdHdkZiAqIHJ0d2RmXztcXG4gICAgICAgICAgICBydHdkZl8gPSByeDtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiID0gZnVuY3Rpb24gZ3Vlc3NMZW4xM2IgKG4sIG0pIHtcXG4gICAgdmFyIE4gPSBNYXRoLm1heChtLCBuKSB8IDE7XFxuICAgIHZhciBvZGQgPSBOICYgMTtcXG4gICAgdmFyIGkgPSAwO1xcbiAgICBmb3IgKE4gPSBOIC8gMiB8IDA7IE47IE4gPSBOID4+PiAxKSB7XFxuICAgICAgaSsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiAxIDw8IGkgKyAxICsgb2RkO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbmp1Z2F0ZSA9IGZ1bmN0aW9uIGNvbmp1Z2F0ZSAocndzLCBpd3MsIE4pIHtcXG4gICAgaWYgKE4gPD0gMSkgcmV0dXJuO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdCA9IHJ3c1tpXTtcXG5cXG4gICAgICByd3NbaV0gPSByd3NbTiAtIGkgLSAxXTtcXG4gICAgICByd3NbTiAtIGkgLSAxXSA9IHQ7XFxuXFxuICAgICAgdCA9IGl3c1tpXTtcXG5cXG4gICAgICBpd3NbaV0gPSAtaXdzW04gLSBpIC0gMV07XFxuICAgICAgaXdzW04gLSBpIC0gMV0gPSAtdDtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYiA9IGZ1bmN0aW9uIG5vcm1hbGl6ZTEzYiAod3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBNYXRoLnJvdW5kKHdzWzIgKiBpICsgMV0gLyBOKSAqIDB4MjAwMCArXFxuICAgICAgICBNYXRoLnJvdW5kKHdzWzIgKiBpXSAvIE4pICtcXG4gICAgICAgIGNhcnJ5O1xcblxcbiAgICAgIHdzW2ldID0gdyAmIDB4M2ZmZmZmZjtcXG5cXG4gICAgICBpZiAodyA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgY2FycnkgPSAwO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBjYXJyeSA9IHcgLyAweDQwMDAwMDAgfCAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gd3M7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29udmVydDEzYiA9IGZ1bmN0aW9uIGNvbnZlcnQxM2IgKHdzLCBsZW4sIHJ3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgY2FycnkgPSBjYXJyeSArICh3c1tpXSB8IDApO1xcblxcbiAgICAgIHJ3c1syICogaV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgICAgcndzWzIgKiBpICsgMV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XFxuICAgIH1cXG5cXG4gICAgLy8gUGFkIHdpdGggemVyb2VzXFxuICAgIGZvciAoaSA9IDIgKiBsZW47IGkgPCBOOyArK2kpIHtcXG4gICAgICByd3NbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChjYXJyeSA9PT0gMCk7XFxuICAgIGFzc2VydCgoY2FycnkgJiB+MHgxZmZmKSA9PT0gMCk7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuc3R1YiA9IGZ1bmN0aW9uIHN0dWIgKE4pIHtcXG4gICAgdmFyIHBoID0gbmV3IEFycmF5KE4pO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHBoW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcGg7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubXVscCA9IGZ1bmN0aW9uIG11bHAgKHgsIHksIG91dCkge1xcbiAgICB2YXIgTiA9IDIgKiB0aGlzLmd1ZXNzTGVuMTNiKHgubGVuZ3RoLCB5Lmxlbmd0aCk7XFxuXFxuICAgIHZhciByYnQgPSB0aGlzLm1ha2VSQlQoTik7XFxuXFxuICAgIHZhciBfID0gdGhpcy5zdHViKE4pO1xcblxcbiAgICB2YXIgcndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgcndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGl3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBucndzID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbnJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBuaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIHJtd3MgPSBvdXQud29yZHM7XFxuICAgIHJtd3MubGVuZ3RoID0gTjtcXG5cXG4gICAgdGhpcy5jb252ZXJ0MTNiKHgud29yZHMsIHgubGVuZ3RoLCByd3MsIE4pO1xcbiAgICB0aGlzLmNvbnZlcnQxM2IoeS53b3JkcywgeS5sZW5ndGgsIG5yd3MsIE4pO1xcblxcbiAgICB0aGlzLnRyYW5zZm9ybShyd3MsIF8sIHJ3c3QsIGl3c3QsIE4sIHJidCk7XFxuICAgIHRoaXMudHJhbnNmb3JtKG5yd3MsIF8sIG5yd3N0LCBuaXdzdCwgTiwgcmJ0KTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB2YXIgcnggPSByd3N0W2ldICogbnJ3c3RbaV0gLSBpd3N0W2ldICogbml3c3RbaV07XFxuICAgICAgaXdzdFtpXSA9IHJ3c3RbaV0gKiBuaXdzdFtpXSArIGl3c3RbaV0gKiBucndzdFtpXTtcXG4gICAgICByd3N0W2ldID0gcng7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5jb25qdWdhdGUocndzdCwgaXdzdCwgTik7XFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3c3QsIGl3c3QsIHJtd3MsIF8sIE4sIHJidCk7XFxuICAgIHRoaXMuY29uanVnYXRlKHJtd3MsIF8sIE4pO1xcbiAgICB0aGlzLm5vcm1hbGl6ZTEzYihybXdzLCBOKTtcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0geC5uZWdhdGl2ZSBeIHkubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSB4Lmxlbmd0aCArIHkubGVuZ3RoO1xcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgYHRoaXNgIGJ5IGBudW1gXFxuICBCTi5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiB0aGlzLm11bFRvKG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBNdWx0aXBseSBlbXBsb3lpbmcgRkZUXFxuICBCTi5wcm90b3R5cGUubXVsZiA9IGZ1bmN0aW9uIG11bGYgKG51bSkge1xcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcXG4gICAgcmV0dXJuIGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIE11bHRpcGxpY2F0aW9uXFxuICBCTi5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKG51bSwgdGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmltdWxuID0gZnVuY3Rpb24gaW11bG4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICogbnVtO1xcbiAgICAgIHZhciBsbyA9ICh3ICYgMHgzZmZmZmZmKSArIChjYXJyeSAmIDB4M2ZmZmZmZik7XFxuICAgICAgY2FycnkgPj49IDI2O1xcbiAgICAgIGNhcnJ5ICs9ICh3IC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgLy8gTk9URTogbG8gaXMgMjdiaXQgbWF4aW11bVxcbiAgICAgIGNhcnJ5ICs9IGxvID4+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm11bG4gPSBmdW5jdGlvbiBtdWxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIGB0aGlzYCAqIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoKSB7XFxuICAgIHJldHVybiB0aGlzLm11bCh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3FyID0gZnVuY3Rpb24gaXNxciAoKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICAvLyBNYXRoLnBvdyhgdGhpc2AsIGBudW1gKVxcbiAgQk4ucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAobnVtKSB7XFxuICAgIHZhciB3ID0gdG9CaXRBcnJheShudW0pO1xcbiAgICBpZiAody5sZW5ndGggPT09IDApIHJldHVybiBuZXcgQk4oMSk7XFxuXFxuICAgIC8vIFNraXAgbGVhZGluZyB6ZXJvZXNcXG4gICAgdmFyIHJlcyA9IHRoaXM7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdy5sZW5ndGg7IGkrKywgcmVzID0gcmVzLnNxcigpKSB7XFxuICAgICAgaWYgKHdbaV0gIT09IDApIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIGlmICgrK2kgPCB3Lmxlbmd0aCkge1xcbiAgICAgIGZvciAodmFyIHEgPSByZXMuc3FyKCk7IGkgPCB3Lmxlbmd0aDsgaSsrLCBxID0gcS5zcXIoKSkge1xcbiAgICAgICAgaWYgKHdbaV0gPT09IDApIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gcmVzLm11bChxKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0IGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVzaGxuID0gZnVuY3Rpb24gaXVzaGxuIChiaXRzKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xcbiAgICB2YXIgY2FycnlNYXNrID0gKDB4M2ZmZmZmZiA+Pj4gKDI2IC0gcikpIDw8ICgyNiAtIHIpO1xcbiAgICB2YXIgaTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgbmV3Q2FycnkgPSB0aGlzLndvcmRzW2ldICYgY2FycnlNYXNrO1xcbiAgICAgICAgdmFyIGMgPSAoKHRoaXMud29yZHNbaV0gfCAwKSAtIG5ld0NhcnJ5KSA8PCByO1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGMgfCBjYXJyeTtcXG4gICAgICAgIGNhcnJ5ID0gbmV3Q2FycnkgPj4+ICgyNiAtIHIpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoY2FycnkpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChzICE9PSAwKSB7XFxuICAgICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgc10gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgczsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5sZW5ndGggKz0gcztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc2hsbiA9IGZ1bmN0aW9uIGlzaGxuIChiaXRzKSB7XFxuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodCBpbi1wbGFjZVxcbiAgLy8gTk9URTogYGhpbnRgIGlzIGEgbG93ZXN0IGJpdCBiZWZvcmUgdHJhaWxpbmcgemVyb2VzXFxuICAvLyBOT1RFOiBpZiBgZXh0ZW5kZWRgIGlzIHByZXNlbnQgLSBpdCB3aWxsIGJlIGZpbGxlZCB3aXRoIGRlc3Ryb3llZCBiaXRzXFxuICBCTi5wcm90b3R5cGUuaXVzaHJuID0gZnVuY3Rpb24gaXVzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciBoO1xcbiAgICBpZiAoaGludCkge1xcbiAgICAgIGggPSAoaGludCAtIChoaW50ICUgMjYpKSAvIDI2O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGggPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IE1hdGgubWluKChiaXRzIC0gcikgLyAyNiwgdGhpcy5sZW5ndGgpO1xcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgdmFyIG1hc2tlZFdvcmRzID0gZXh0ZW5kZWQ7XFxuXFxuICAgIGggLT0gcztcXG4gICAgaCA9IE1hdGgubWF4KDAsIGgpO1xcblxcbiAgICAvLyBFeHRlbmRlZCBtb2RlLCBjb3B5IG1hc2tlZCBwYXJ0XFxuICAgIGlmIChtYXNrZWRXb3Jkcykge1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgczsgaSsrKSB7XFxuICAgICAgICBtYXNrZWRXb3Jkcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XFxuICAgICAgfVxcbiAgICAgIG1hc2tlZFdvcmRzLmxlbmd0aCA9IHM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHMgPT09IDApIHtcXG4gICAgICAvLyBOby1vcCwgd2Ugc2hvdWxkIG5vdCBtb3ZlIGFueXRoaW5nIGF0IGFsbFxcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gcykge1xcbiAgICAgIHRoaXMubGVuZ3RoIC09IHM7XFxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2kgKyBzXTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwICYmIChjYXJyeSAhPT0gMCB8fCBpID49IGgpOyBpLS0pIHtcXG4gICAgICB2YXIgd29yZCA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAoY2FycnkgPDwgKDI2IC0gcikpIHwgKHdvcmQgPj4+IHIpO1xcbiAgICAgIGNhcnJ5ID0gd29yZCAmIG1hc2s7XFxuICAgIH1cXG5cXG4gICAgLy8gUHVzaCBjYXJyaWVkIGJpdHMgYXMgYSBtYXNrXFxuICAgIGlmIChtYXNrZWRXb3JkcyAmJiBjYXJyeSAhPT0gMCkge1xcbiAgICAgIG1hc2tlZFdvcmRzLndvcmRzW21hc2tlZFdvcmRzLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc2hybiA9IGZ1bmN0aW9uIGlzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNocm4oYml0cywgaGludCwgZXh0ZW5kZWQpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnRcXG4gIEJOLnByb3RvdHlwZS5zaGxuID0gZnVuY3Rpb24gc2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hsbiA9IGZ1bmN0aW9uIHVzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0XFxuICBCTi5wcm90b3R5cGUuc2hybiA9IGZ1bmN0aW9uIHNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNocm4gPSBmdW5jdGlvbiB1c2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBUZXN0IGlmIG4gYml0IGlzIHNldFxcbiAgQk4ucHJvdG90eXBlLnRlc3RuID0gZnVuY3Rpb24gdGVzdG4gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHJldHVybiBmYWxzZTtcXG5cXG4gICAgLy8gQ2hlY2sgYml0IGFuZCByZXR1cm5cXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3NdO1xcblxcbiAgICByZXR1cm4gISEodyAmIHEpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlciAoaW4tcGxhY2UpXFxuICBCTi5wcm90b3R5cGUuaW1hc2tuID0gZnVuY3Rpb24gaW1hc2tuIChiaXRzKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xcblxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ2ltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycycpO1xcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICB9XFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5taW4ocywgdGhpcy5sZW5ndGgpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSAmPSBtYXNrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyXFxuICBCTi5wcm90b3R5cGUubWFza24gPSBmdW5jdGlvbiBtYXNrbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgcGxhaW4gbnVtYmVyIGBudW1gIHRvIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlhZGRuID0gZnVuY3Rpb24gaWFkZG4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlzdWJuKC1udW0pO1xcblxcbiAgICAvLyBQb3NzaWJsZSBzaWduIGNoYW5nZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiAodGhpcy53b3Jkc1swXSB8IDApIDwgbnVtKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdID0gbnVtIC0gKHRoaXMud29yZHNbMF0gfCAwKTtcXG4gICAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgICAgcmV0dXJuIHRoaXM7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaXN1Ym4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgd2l0aG91dCBjaGVja3NcXG4gICAgcmV0dXJuIHRoaXMuX2lhZGRuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pYWRkbiA9IGZ1bmN0aW9uIF9pYWRkbiAobnVtKSB7XFxuICAgIHRoaXMud29yZHNbMF0gKz0gbnVtO1xcblxcbiAgICAvLyBDYXJyeVxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPj0gMHg0MDAwMDAwOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldIC09IDB4NDAwMDAwMDtcXG4gICAgICBpZiAoaSA9PT0gdGhpcy5sZW5ndGggLSAxKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSA9IDE7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdKys7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5sZW5ndGgsIGkgKyAxKTtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgcGxhaW4gbnVtYmVyIGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuaXN1Ym4gPSBmdW5jdGlvbiBpc3VibiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaWFkZG4oLW51bSk7XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pYWRkbihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHRoaXMud29yZHNbMF0gLT0gbnVtO1xcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA8IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gLXRoaXMud29yZHNbMF07XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gQ2FycnlcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPCAwOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gKz0gMHg0MDAwMDAwO1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gLT0gMTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWRkbiA9IGZ1bmN0aW9uIGFkZG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnN1Ym4gPSBmdW5jdGlvbiBzdWJuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3VibihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pYWJzID0gZnVuY3Rpb24gaWFicyAoKSB7XFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYWJzID0gZnVuY3Rpb24gYWJzICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pc2hsbnN1Ym11bCA9IGZ1bmN0aW9uIF9pc2hsbnN1Ym11bCAobnVtLCBtdWwsIHNoaWZ0KSB7XFxuICAgIHZhciBsZW4gPSBudW0ubGVuZ3RoICsgc2hpZnQ7XFxuICAgIHZhciBpO1xcblxcbiAgICB0aGlzLl9leHBhbmQobGVuKTtcXG5cXG4gICAgdmFyIHc7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgdmFyIHJpZ2h0ID0gKG51bS53b3Jkc1tpXSB8IDApICogbXVsO1xcbiAgICAgIHcgLT0gcmlnaHQgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSAodyA+PiAyNikgLSAoKHJpZ2h0IC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGkgPCB0aGlzLmxlbmd0aCAtIHNoaWZ0OyBpKyspIHtcXG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNhcnJ5ID09PSAwKSByZXR1cm4gdGhpcy5zdHJpcCgpO1xcblxcbiAgICAvLyBTdWJ0cmFjdGlvbiBvdmVyZmxvd1xcbiAgICBhc3NlcnQoY2FycnkgPT09IC0xKTtcXG4gICAgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHcgPSAtKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX3dvcmREaXYgPSBmdW5jdGlvbiBfd29yZERpdiAobnVtLCBtb2RlKSB7XFxuICAgIHZhciBzaGlmdCA9IHRoaXMubGVuZ3RoIC0gbnVtLmxlbmd0aDtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtO1xcblxcbiAgICAvLyBOb3JtYWxpemVcXG4gICAgdmFyIGJoaSA9IGIud29yZHNbYi5sZW5ndGggLSAxXSB8IDA7XFxuICAgIHZhciBiaGlCaXRzID0gdGhpcy5fY291bnRCaXRzKGJoaSk7XFxuICAgIHNoaWZ0ID0gMjYgLSBiaGlCaXRzO1xcbiAgICBpZiAoc2hpZnQgIT09IDApIHtcXG4gICAgICBiID0gYi51c2hsbihzaGlmdCk7XFxuICAgICAgYS5pdXNobG4oc2hpZnQpO1xcbiAgICAgIGJoaSA9IGIud29yZHNbYi5sZW5ndGggLSAxXSB8IDA7XFxuICAgIH1cXG5cXG4gICAgLy8gSW5pdGlhbGl6ZSBxdW90aWVudFxcbiAgICB2YXIgbSA9IGEubGVuZ3RoIC0gYi5sZW5ndGg7XFxuICAgIHZhciBxO1xcblxcbiAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICBxID0gbmV3IEJOKG51bGwpO1xcbiAgICAgIHEubGVuZ3RoID0gbSArIDE7XFxuICAgICAgcS53b3JkcyA9IG5ldyBBcnJheShxLmxlbmd0aCk7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICBxLndvcmRzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGRpZmYgPSBhLmNsb25lKCkuX2lzaGxuc3VibXVsKGIsIDEsIG0pO1xcbiAgICBpZiAoZGlmZi5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIGEgPSBkaWZmO1xcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW21dID0gMTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaiA9IG0gLSAxOyBqID49IDA7IGotLSkge1xcbiAgICAgIHZhciBxaiA9IChhLndvcmRzW2IubGVuZ3RoICsgal0gfCAwKSAqIDB4NDAwMDAwMCArXFxuICAgICAgICAoYS53b3Jkc1tiLmxlbmd0aCArIGogLSAxXSB8IDApO1xcblxcbiAgICAgIC8vIE5PVEU6IChxaiAvIGJoaSkgaXMgKDB4M2ZmZmZmZiAqIDB4NDAwMDAwMCArIDB4M2ZmZmZmZikgLyAweDIwMDAwMDAgbWF4XFxuICAgICAgLy8gKDB4N2ZmZmZmZilcXG4gICAgICBxaiA9IE1hdGgubWluKChxaiAvIGJoaSkgfCAwLCAweDNmZmZmZmYpO1xcblxcbiAgICAgIGEuX2lzaGxuc3VibXVsKGIsIHFqLCBqKTtcXG4gICAgICB3aGlsZSAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgcWotLTtcXG4gICAgICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICAgICAgYS5faXNobG5zdWJtdWwoYiwgMSwgaik7XFxuICAgICAgICBpZiAoIWEuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgYS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1tqXSA9IHFqO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICBpZiAocSkge1xcbiAgICAgIHEuc3RyaXAoKTtcXG4gICAgfVxcbiAgICBhLnN0cmlwKCk7XFxuXFxuICAgIC8vIERlbm9ybWFsaXplXFxuICAgIGlmIChtb2RlICE9PSAnZGl2JyAmJiBzaGlmdCAhPT0gMCkge1xcbiAgICAgIGEuaXVzaHJuKHNoaWZ0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4ge1xcbiAgICAgIGRpdjogcSB8fCBudWxsLFxcbiAgICAgIG1vZDogYVxcbiAgICB9O1xcbiAgfTtcXG5cXG4gIC8vIE5PVEU6IDEpIGBtb2RlYCBjYW4gYmUgc2V0IHRvIGBtb2RgIHRvIHJlcXVlc3QgbW9kIG9ubHksXFxuICAvLyAgICAgICB0byBgZGl2YCB0byByZXF1ZXN0IGRpdiBvbmx5LCBvciBiZSBhYnNlbnQgdG9cXG4gIC8vICAgICAgIHJlcXVlc3QgYm90aCBkaXYgJiBtb2RcXG4gIC8vICAgICAgIDIpIGBwb3NpdGl2ZWAgaXMgdHJ1ZSBpZiB1bnNpZ25lZCBtb2QgaXMgcmVxdWVzdGVkXFxuICBCTi5wcm90b3R5cGUuZGl2bW9kID0gZnVuY3Rpb24gZGl2bW9kIChudW0sIG1vZGUsIHBvc2l0aXZlKSB7XFxuICAgIGFzc2VydCghbnVtLmlzWmVybygpKTtcXG5cXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHtcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXFxuICAgICAgICBtb2Q6IG5ldyBCTigwKVxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgdmFyIGRpdiwgbW9kLCByZXM7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcXG4gICAgICAgIG1vZCA9IHJlcy5tb2QubmVnKCk7XFxuICAgICAgICBpZiAocG9zaXRpdmUgJiYgbW9kLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICAgIG1vZC5pYWRkKG51bSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogbW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogZGl2LFxcbiAgICAgICAgbW9kOiByZXMubW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICBpZiAoKHRoaXMubmVnYXRpdmUgJiBudW0ubmVnYXRpdmUpICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcXG4gICAgICAgIG1vZCA9IHJlcy5tb2QubmVnKCk7XFxuICAgICAgICBpZiAocG9zaXRpdmUgJiYgbW9kLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICAgIG1vZC5pc3ViKG51bSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHJlcy5kaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gQm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZSBhdCB0aGlzIHBvaW50XFxuXFxuICAgIC8vIFN0cmlwIGJvdGggbnVtYmVycyB0byBhcHByb3hpbWF0ZSBzaGlmdCB2YWx1ZVxcbiAgICBpZiAobnVtLmxlbmd0aCA+IHRoaXMubGVuZ3RoIHx8IHRoaXMuY21wKG51bSkgPCAwKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiB0aGlzXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICAvLyBWZXJ5IHNob3J0IHJlZHVjdGlvblxcbiAgICBpZiAobnVtLmxlbmd0aCA9PT0gMSkge1xcbiAgICAgIGlmIChtb2RlID09PSAnZGl2Jykge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcXG4gICAgICAgICAgbW9kOiBudWxsXFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobW9kZSA9PT0gJ21vZCcpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogbnVsbCxcXG4gICAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpXFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcXG4gICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3dvcmREaXYobnVtLCBtb2RlKTtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAvIGBudW1gXFxuICBCTi5wcm90b3R5cGUuZGl2ID0gZnVuY3Rpb24gZGl2IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ2RpdicsIGZhbHNlKS5kaXY7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgJSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm1vZCA9IGZ1bmN0aW9uIG1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCBmYWxzZSkubW9kO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51bW9kID0gZnVuY3Rpb24gdW1vZCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCB0cnVlKS5tb2Q7XFxuICB9O1xcblxcbiAgLy8gRmluZCBSb3VuZChgdGhpc2AgLyBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5kaXZSb3VuZCA9IGZ1bmN0aW9uIGRpdlJvdW5kIChudW0pIHtcXG4gICAgdmFyIGRtID0gdGhpcy5kaXZtb2QobnVtKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlIC0gZXhhY3QgZGl2aXNpb25cXG4gICAgaWYgKGRtLm1vZC5pc1plcm8oKSkgcmV0dXJuIGRtLmRpdjtcXG5cXG4gICAgdmFyIG1vZCA9IGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLm1vZC5pc3ViKG51bSkgOiBkbS5tb2Q7XFxuXFxuICAgIHZhciBoYWxmID0gbnVtLnVzaHJuKDEpO1xcbiAgICB2YXIgcjIgPSBudW0uYW5kbG4oMSk7XFxuICAgIHZhciBjbXAgPSBtb2QuY21wKGhhbGYpO1xcblxcbiAgICAvLyBSb3VuZCBkb3duXFxuICAgIGlmIChjbXAgPCAwIHx8IHIyID09PSAxICYmIGNtcCA9PT0gMCkgcmV0dXJuIGRtLmRpdjtcXG5cXG4gICAgLy8gUm91bmQgdXBcXG4gICAgcmV0dXJuIGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLmRpdi5pc3VibigxKSA6IGRtLmRpdi5pYWRkbigxKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubW9kbiA9IGZ1bmN0aW9uIG1vZG4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuICAgIHZhciBwID0gKDEgPDwgMjYpICUgbnVtO1xcblxcbiAgICB2YXIgYWNjID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICBhY2MgPSAocCAqIGFjYyArICh0aGlzLndvcmRzW2ldIHwgMCkpICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBhY2M7XFxuICB9O1xcblxcbiAgLy8gSW4tcGxhY2UgZGl2aXNpb24gYnkgbnVtYmVyXFxuICBCTi5wcm90b3R5cGUuaWRpdm4gPSBmdW5jdGlvbiBpZGl2biAobnVtKSB7XFxuICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmKTtcXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeSAqIDB4NDAwMDAwMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKHcgLyBudW0pIHwgMDtcXG4gICAgICBjYXJyeSA9IHcgJSBudW07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZGl2biA9IGZ1bmN0aW9uIGRpdm4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVnY2QgPSBmdW5jdGlvbiBlZ2NkIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIHggPSB0aGlzO1xcbiAgICB2YXIgeSA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKHgubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB4ID0geC51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHggPSB4LmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gQSAqIHggKyBCICogeSA9IHhcXG4gICAgdmFyIEEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciBCID0gbmV3IEJOKDApO1xcblxcbiAgICAvLyBDICogeCArIEQgKiB5ID0geVxcbiAgICB2YXIgQyA9IG5ldyBCTigwKTtcXG4gICAgdmFyIEQgPSBuZXcgQk4oMSk7XFxuXFxuICAgIHZhciBnID0gMDtcXG5cXG4gICAgd2hpbGUgKHguaXNFdmVuKCkgJiYgeS5pc0V2ZW4oKSkge1xcbiAgICAgIHguaXVzaHJuKDEpO1xcbiAgICAgIHkuaXVzaHJuKDEpO1xcbiAgICAgICsrZztcXG4gICAgfVxcblxcbiAgICB2YXIgeXAgPSB5LmNsb25lKCk7XFxuICAgIHZhciB4cCA9IHguY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKCF4LmlzWmVybygpKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKHgud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIHguaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEEuaXNPZGQoKSB8fCBCLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBBLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEIuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQS5pdXNocm4oMSk7XFxuICAgICAgICAgIEIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoeS53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgeS5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQy5pc09kZCgpIHx8IEQuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEMuaWFkZCh5cCk7XFxuICAgICAgICAgICAgRC5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBDLml1c2hybigxKTtcXG4gICAgICAgICAgRC5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh4LmNtcCh5KSA+PSAwKSB7XFxuICAgICAgICB4LmlzdWIoeSk7XFxuICAgICAgICBBLmlzdWIoQyk7XFxuICAgICAgICBCLmlzdWIoRCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHkuaXN1Yih4KTtcXG4gICAgICAgIEMuaXN1YihBKTtcXG4gICAgICAgIEQuaXN1YihCKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBhOiBDLFxcbiAgICAgIGI6IEQsXFxuICAgICAgZ2NkOiB5Lml1c2hsbihnKVxcbiAgICB9O1xcbiAgfTtcXG5cXG4gIC8vIFRoaXMgaXMgcmVkdWNlZCBpbmNhcm5hdGlvbiBvZiB0aGUgYmluYXJ5IEVFQVxcbiAgLy8gYWJvdmUsIGRlc2lnbmF0ZWQgdG8gaW52ZXJ0IG1lbWJlcnMgb2YgdGhlXFxuICAvLyBfcHJpbWVfIGZpZWxkcyBGKHApIGF0IGEgbWF4aW1hbCBzcGVlZFxcbiAgQk4ucHJvdG90eXBlLl9pbnZtcCA9IGZ1bmN0aW9uIF9pbnZtcCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBhID0gdGhpcztcXG4gICAgdmFyIGIgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgYSA9IGEudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gYS5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIHZhciB4MSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIHgyID0gbmV3IEJOKDApO1xcblxcbiAgICB2YXIgZGVsdGEgPSBiLmNsb25lKCk7XFxuXFxuICAgIHdoaWxlIChhLmNtcG4oMSkgPiAwICYmIGIuY21wbigxKSA+IDApIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoYS53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgYS5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDEuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgxLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgxLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKGIud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIGIuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgyLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4Mi5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4Mi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhLmNtcChiKSA+PSAwKSB7XFxuICAgICAgICBhLmlzdWIoYik7XFxuICAgICAgICB4MS5pc3ViKHgyKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgYi5pc3ViKGEpO1xcbiAgICAgICAgeDIuaXN1Yih4MSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciByZXM7XFxuICAgIGlmIChhLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICByZXMgPSB4MTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXMgPSB4MjtcXG4gICAgfVxcblxcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQocCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ2NkID0gZnVuY3Rpb24gZ2NkIChudW0pIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiBudW0uYWJzKCk7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiB0aGlzLmFicygpO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW0uY2xvbmUoKTtcXG4gICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgIGIubmVnYXRpdmUgPSAwO1xcblxcbiAgICAvLyBSZW1vdmUgY29tbW9uIGZhY3RvciBvZiB0d29cXG4gICAgZm9yICh2YXIgc2hpZnQgPSAwOyBhLmlzRXZlbigpICYmIGIuaXNFdmVuKCk7IHNoaWZ0KyspIHtcXG4gICAgICBhLml1c2hybigxKTtcXG4gICAgICBiLml1c2hybigxKTtcXG4gICAgfVxcblxcbiAgICBkbyB7XFxuICAgICAgd2hpbGUgKGEuaXNFdmVuKCkpIHtcXG4gICAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAoYi5pc0V2ZW4oKSkge1xcbiAgICAgICAgYi5pdXNocm4oMSk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciByID0gYS5jbXAoYik7XFxuICAgICAgaWYgKHIgPCAwKSB7XFxuICAgICAgICAvLyBTd2FwIGBhYCBhbmQgYGJgIHRvIG1ha2UgYGFgIGFsd2F5cyBiaWdnZXIgdGhhbiBgYmBcXG4gICAgICAgIHZhciB0ID0gYTtcXG4gICAgICAgIGEgPSBiO1xcbiAgICAgICAgYiA9IHQ7XFxuICAgICAgfSBlbHNlIGlmIChyID09PSAwIHx8IGIuY21wbigxKSA9PT0gMCkge1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGEuaXN1YihiKTtcXG4gICAgfSB3aGlsZSAodHJ1ZSk7XFxuXFxuICAgIHJldHVybiBiLml1c2hsbihzaGlmdCk7XFxuICB9O1xcblxcbiAgLy8gSW52ZXJ0IG51bWJlciBpbiB0aGUgZmllbGQgRihudW0pXFxuICBCTi5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5lZ2NkKG51bSkuYS51bW9kKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzRXZlbiA9IGZ1bmN0aW9uIGlzRXZlbiAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc09kZCA9IGZ1bmN0aW9uIGlzT2RkICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDE7XFxuICB9O1xcblxcbiAgLy8gQW5kIGZpcnN0IHdvcmQgYW5kIG51bVxcbiAgQk4ucHJvdG90eXBlLmFuZGxuID0gZnVuY3Rpb24gYW5kbG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy53b3Jkc1swXSAmIG51bTtcXG4gIH07XFxuXFxuICAvLyBJbmNyZW1lbnQgYXQgdGhlIGJpdCBwb3NpdGlvbiBpbi1saW5lXFxuICBCTi5wcm90b3R5cGUuYmluY24gPSBmdW5jdGlvbiBiaW5jbiAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xcbiAgICAgIHRoaXMuX2V4cGFuZChzICsgMSk7XFxuICAgICAgdGhpcy53b3Jkc1tzXSB8PSBxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCBiaXQgYW5kIHByb3BhZ2F0ZSwgaWYgbmVlZGVkXFxuICAgIHZhciBjYXJyeSA9IHE7XFxuICAgIGZvciAodmFyIGkgPSBzOyBjYXJyeSAhPT0gMCAmJiBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdyArPSBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4+IDI2O1xcbiAgICAgIHcgJj0gMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc1plcm8gPSBmdW5jdGlvbiBpc1plcm8gKCkge1xcbiAgICByZXR1cm4gdGhpcy5sZW5ndGggPT09IDEgJiYgdGhpcy53b3Jkc1swXSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY21wbiA9IGZ1bmN0aW9uIGNtcG4gKG51bSkge1xcbiAgICB2YXIgbmVnYXRpdmUgPSBudW0gPCAwO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiAhbmVnYXRpdmUpIHJldHVybiAtMTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbmVnYXRpdmUpIHJldHVybiAxO1xcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIHZhciByZXM7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHtcXG4gICAgICByZXMgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGlmIChuZWdhdGl2ZSkge1xcbiAgICAgICAgbnVtID0gLW51bTtcXG4gICAgICB9XFxuXFxuICAgICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYsICdOdW1iZXIgaXMgdG9vIGJpZycpO1xcblxcbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1swXSB8IDA7XFxuICAgICAgcmVzID0gdyA9PT0gbnVtID8gMCA6IHcgPCBudW0gPyAtMSA6IDE7XFxuICAgIH1cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb21wYXJlIHR3byBudW1iZXJzIGFuZCByZXR1cm46XFxuICAvLyAxIC0gaWYgYHRoaXNgID4gYG51bWBcXG4gIC8vIDAgLSBpZiBgdGhpc2AgPT0gYG51bWBcXG4gIC8vIC0xIC0gaWYgYHRoaXNgIDwgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5jbXAgPSBmdW5jdGlvbiBjbXAgKG51bSkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHJldHVybiAtMTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gMTtcXG5cXG4gICAgdmFyIHJlcyA9IHRoaXMudWNtcChudW0pO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIFVuc2lnbmVkIGNvbXBhcmlzb25cXG4gIEJOLnByb3RvdHlwZS51Y21wID0gZnVuY3Rpb24gdWNtcCAobnVtKSB7XFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGhhdmUgdGhlIHNhbWUgc2lnblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gMTtcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkgcmV0dXJuIC0xO1xcblxcbiAgICB2YXIgcmVzID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICB2YXIgYSA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHZhciBiID0gbnVtLndvcmRzW2ldIHwgMDtcXG5cXG4gICAgICBpZiAoYSA9PT0gYikgY29udGludWU7XFxuICAgICAgaWYgKGEgPCBiKSB7XFxuICAgICAgICByZXMgPSAtMTtcXG4gICAgICB9IGVsc2UgaWYgKGEgPiBiKSB7XFxuICAgICAgICByZXMgPSAxO1xcbiAgICAgIH1cXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndG4gPSBmdW5jdGlvbiBndG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ID0gZnVuY3Rpb24gZ3QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RlbiA9IGZ1bmN0aW9uIGd0ZW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPj0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RlID0gZnVuY3Rpb24gZ3RlIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPj0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHRuID0gZnVuY3Rpb24gbHRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAtMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHQgPSBmdW5jdGlvbiBsdCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAtMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHRlbiA9IGZ1bmN0aW9uIGx0ZW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPD0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubHRlID0gZnVuY3Rpb24gbHRlIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPD0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXFuID0gZnVuY3Rpb24gZXFuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDA7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIEEgcmVkdWNlIGNvbnRleHQsIGNvdWxkIGJlIHVzaW5nIG1vbnRnb21lcnkgb3Igc29tZXRoaW5nIGJldHRlciwgZGVwZW5kaW5nXFxuICAvLyBvbiB0aGUgYG1gIGl0c2VsZi5cXG4gIC8vXFxuICBCTi5yZWQgPSBmdW5jdGlvbiByZWQgKG51bSkge1xcbiAgICByZXR1cm4gbmV3IFJlZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1JlZCA9IGZ1bmN0aW9uIHRvUmVkIChjdHgpIHtcXG4gICAgYXNzZXJ0KCF0aGlzLnJlZCwgJ0FscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICByZXR1cm4gY3R4LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoY3R4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZnJvbVJlZCA9IGZ1bmN0aW9uIGZyb21SZWQgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2ZvcmNlUmVkID0gZnVuY3Rpb24gX2ZvcmNlUmVkIChjdHgpIHtcXG4gICAgdGhpcy5yZWQgPSBjdHg7XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mb3JjZVJlZCA9IGZ1bmN0aW9uIGZvcmNlUmVkIChjdHgpIHtcXG4gICAgYXNzZXJ0KCF0aGlzLnJlZCwgJ0FscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZEFkZCA9IGZ1bmN0aW9uIHJlZEFkZCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJQWRkID0gZnVuY3Rpb24gcmVkSUFkZCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pYWRkKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFN1YiA9IGZ1bmN0aW9uIHJlZFN1YiAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3ViID0gZnVuY3Rpb24gcmVkSVN1YiAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pc3ViKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFNobCA9IGZ1bmN0aW9uIHJlZFNobCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNobCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRNdWwgPSBmdW5jdGlvbiByZWRNdWwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5tdWwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSU11bCA9IGZ1bmN0aW9uIHJlZElNdWwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pbXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFNxciA9IGZ1bmN0aW9uIHJlZFNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zcXIodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElTcXIgPSBmdW5jdGlvbiByZWRJU3FyICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFNxdWFyZSByb290IG92ZXIgcFxcbiAgQk4ucHJvdG90eXBlLnJlZFNxcnQgPSBmdW5jdGlvbiByZWRTcXJ0ICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zcXJ0KHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJbnZtID0gZnVuY3Rpb24gcmVkSW52bSAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW52bSh0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgICUgYHJlZCBtb2R1bG9gXFxuICBCTi5wcm90b3R5cGUucmVkTmVnID0gZnVuY3Rpb24gcmVkTmVnICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkUG93ID0gZnVuY3Rpb24gcmVkUG93IChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkICYmICFudW0ucmVkLCAncmVkUG93KG5vcm1hbE51bSknKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5wb3codGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICAvLyBQcmltZSBudW1iZXJzIHdpdGggZWZmaWNpZW50IHJlZHVjdGlvblxcbiAgdmFyIHByaW1lcyA9IHtcXG4gICAgazI1NjogbnVsbCxcXG4gICAgcDIyNDogbnVsbCxcXG4gICAgcDE5MjogbnVsbCxcXG4gICAgcDI1NTE5OiBudWxsXFxuICB9O1xcblxcbiAgLy8gUHNldWRvLU1lcnNlbm5lIHByaW1lXFxuICBmdW5jdGlvbiBNUHJpbWUgKG5hbWUsIHApIHtcXG4gICAgLy8gUCA9IDIgXiBOIC0gS1xcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xcbiAgICB0aGlzLnAgPSBuZXcgQk4ocCwgMTYpO1xcbiAgICB0aGlzLm4gPSB0aGlzLnAuYml0TGVuZ3RoKCk7XFxuICAgIHRoaXMuayA9IG5ldyBCTigxKS5pdXNobG4odGhpcy5uKS5pc3ViKHRoaXMucCk7XFxuXFxuICAgIHRoaXMudG1wID0gdGhpcy5fdG1wKCk7XFxuICB9XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLl90bXAgPSBmdW5jdGlvbiBfdG1wICgpIHtcXG4gICAgdmFyIHRtcCA9IG5ldyBCTihudWxsKTtcXG4gICAgdG1wLndvcmRzID0gbmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4gLyAxMykpO1xcbiAgICByZXR1cm4gdG1wO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaXJlZHVjZSA9IGZ1bmN0aW9uIGlyZWR1Y2UgKG51bSkge1xcbiAgICAvLyBBc3N1bWVzIHRoYXQgYG51bWAgaXMgbGVzcyB0aGFuIGBQXjJgXFxuICAgIC8vIG51bSA9IEhJICogKDIgXiBOIC0gSykgKyBISSAqIEsgKyBMTyA9IEhJICogSyArIExPIChtb2QgUClcXG4gICAgdmFyIHIgPSBudW07XFxuICAgIHZhciBybGVuO1xcblxcbiAgICBkbyB7XFxuICAgICAgdGhpcy5zcGxpdChyLCB0aGlzLnRtcCk7XFxuICAgICAgciA9IHRoaXMuaW11bEsocik7XFxuICAgICAgciA9IHIuaWFkZCh0aGlzLnRtcCk7XFxuICAgICAgcmxlbiA9IHIuYml0TGVuZ3RoKCk7XFxuICAgIH0gd2hpbGUgKHJsZW4gPiB0aGlzLm4pO1xcblxcbiAgICB2YXIgY21wID0gcmxlbiA8IHRoaXMubiA/IC0xIDogci51Y21wKHRoaXMucCk7XFxuICAgIGlmIChjbXAgPT09IDApIHtcXG4gICAgICByLndvcmRzWzBdID0gMDtcXG4gICAgICByLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAoY21wID4gMCkge1xcbiAgICAgIHIuaXN1Yih0aGlzLnApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHIuc3RyaXAoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXQpIHtcXG4gICAgaW5wdXQuaXVzaHJuKHRoaXMubiwgMCwgb3V0KTtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICByZXR1cm4gbnVtLmltdWwodGhpcy5rKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBLMjU2ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAnazI1NicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmJyk7XFxuICB9XFxuICBpbmhlcml0cyhLMjU2LCBNUHJpbWUpO1xcblxcbiAgSzI1Ni5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dHB1dCkge1xcbiAgICAvLyAyNTYgPSA5ICogMjYgKyAyMlxcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmO1xcblxcbiAgICB2YXIgb3V0TGVuID0gTWF0aC5taW4oaW5wdXQubGVuZ3RoLCA5KTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRMZW47IGkrKykge1xcbiAgICAgIG91dHB1dC53b3Jkc1tpXSA9IGlucHV0LndvcmRzW2ldO1xcbiAgICB9XFxuICAgIG91dHB1dC5sZW5ndGggPSBvdXRMZW47XFxuXFxuICAgIGlmIChpbnB1dC5sZW5ndGggPD0gOSkge1xcbiAgICAgIGlucHV0LndvcmRzWzBdID0gMDtcXG4gICAgICBpbnB1dC5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICAvLyBTaGlmdCBieSA5IGxpbWJzXFxuICAgIHZhciBwcmV2ID0gaW5wdXQud29yZHNbOV07XFxuICAgIG91dHB1dC53b3Jkc1tvdXRwdXQubGVuZ3RoKytdID0gcHJldiAmIG1hc2s7XFxuXFxuICAgIGZvciAoaSA9IDEwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgbmV4dCA9IGlucHV0LndvcmRzW2ldIHwgMDtcXG4gICAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gKChuZXh0ICYgbWFzaykgPDwgNCkgfCAocHJldiA+Pj4gMjIpO1xcbiAgICAgIHByZXYgPSBuZXh0O1xcbiAgICB9XFxuICAgIHByZXYgPj4+PSAyMjtcXG4gICAgaW5wdXQud29yZHNbaSAtIDEwXSA9IHByZXY7XFxuICAgIGlmIChwcmV2ID09PSAwICYmIGlucHV0Lmxlbmd0aCA+IDEwKSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDEwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSA5O1xcbiAgICB9XFxuICB9O1xcblxcbiAgSzI1Ni5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEwMDAwMDNkMSA9IFsgMHg0MCwgMHgzZDEgXVxcbiAgICBudW0ud29yZHNbbnVtLmxlbmd0aF0gPSAwO1xcbiAgICBudW0ud29yZHNbbnVtLmxlbmd0aCArIDFdID0gMDtcXG4gICAgbnVtLmxlbmd0aCArPSAyO1xcblxcbiAgICAvLyBib3VuZGVkIGF0OiAweDQwICogMHgzZmZmZmZmICsgMHgzZDAgPSAweDEwMDAwMDM5MFxcbiAgICB2YXIgbG8gPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gbnVtLndvcmRzW2ldIHwgMDtcXG4gICAgICBsbyArPSB3ICogMHgzZDE7XFxuICAgICAgbnVtLndvcmRzW2ldID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgbG8gPSB3ICogMHg0MCArICgobG8gLyAweDQwMDAwMDApIHwgMCk7XFxuICAgIH1cXG5cXG4gICAgLy8gRmFzdCBsZW5ndGggcmVkdWN0aW9uXFxuICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gUDIyNCAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AyMjQnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMScpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDIyNCwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAxOTIgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMTkyJyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAxOTIsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMjU1MTkgKCkge1xcbiAgICAvLyAyIF4gMjU1IC0gMTlcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAnMjU1MTknLFxcbiAgICAgICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjU1MTksIE1QcmltZSk7XFxuXFxuICBQMjU1MTkucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxM1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBoaSA9IChudW0ud29yZHNbaV0gfCAwKSAqIDB4MTMgKyBjYXJyeTtcXG4gICAgICB2YXIgbG8gPSBoaSAmIDB4M2ZmZmZmZjtcXG4gICAgICBoaSA+Pj49IDI2O1xcblxcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvO1xcbiAgICAgIGNhcnJ5ID0gaGk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbnVtLndvcmRzW251bS5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIC8vIEV4cG9ydGVkIG1vc3RseSBmb3IgdGVzdGluZyBwdXJwb3NlcywgdXNlIHBsYWluIG5hbWUgaW5zdGVhZFxcbiAgQk4uX3ByaW1lID0gZnVuY3Rpb24gcHJpbWUgKG5hbWUpIHtcXG4gICAgLy8gQ2FjaGVkIHZlcnNpb24gb2YgcHJpbWVcXG4gICAgaWYgKHByaW1lc1tuYW1lXSkgcmV0dXJuIHByaW1lc1tuYW1lXTtcXG5cXG4gICAgdmFyIHByaW1lO1xcbiAgICBpZiAobmFtZSA9PT0gJ2syNTYnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgSzI1NigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjI0Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyMjQoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDE5MicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMTkyKCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyNTUxOScpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjU1MTkoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcHJpbWUgJyArIG5hbWUpO1xcbiAgICB9XFxuICAgIHByaW1lc1tuYW1lXSA9IHByaW1lO1xcblxcbiAgICByZXR1cm4gcHJpbWU7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIEJhc2UgcmVkdWN0aW9uIGVuZ2luZVxcbiAgLy9cXG4gIGZ1bmN0aW9uIFJlZCAobSkge1xcbiAgICBpZiAodHlwZW9mIG0gPT09ICdzdHJpbmcnKSB7XFxuICAgICAgdmFyIHByaW1lID0gQk4uX3ByaW1lKG0pO1xcbiAgICAgIHRoaXMubSA9IHByaW1lLnA7XFxuICAgICAgdGhpcy5wcmltZSA9IHByaW1lO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChtLmd0bigxKSwgJ21vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMScpO1xcbiAgICAgIHRoaXMubSA9IG07XFxuICAgICAgdGhpcy5wcmltZSA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTEgPSBmdW5jdGlvbiBfdmVyaWZ5MSAoYSkge1xcbiAgICBhc3NlcnQoYS5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkyID0gZnVuY3Rpb24gX3ZlcmlmeTIgKGEsIGIpIHtcXG4gICAgYXNzZXJ0KChhLm5lZ2F0aXZlIHwgYi5uZWdhdGl2ZSkgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQgJiYgYS5yZWQgPT09IGIucmVkLFxcbiAgICAgICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pbW9kID0gZnVuY3Rpb24gaW1vZCAoYSkge1xcbiAgICBpZiAodGhpcy5wcmltZSkgcmV0dXJuIHRoaXMucHJpbWUuaXJlZHVjZShhKS5fZm9yY2VSZWQodGhpcyk7XFxuICAgIHJldHVybiBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKGEpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkpIHtcXG4gICAgICByZXR1cm4gYS5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLm0uc3ViKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5hZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzdWIgPSBmdW5jdGlvbiBpc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlzdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zaGwgPSBmdW5jdGlvbiBzaGwgKGEsIG51bSkge1xcbiAgICB0aGlzLl92ZXJpZnkxKGEpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEudXNobG4obnVtKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEuaW11bChiKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLm11bChiKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3FyID0gZnVuY3Rpb24gaXNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKGEsIGEuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMubXVsKGEsIGEpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FydCA9IGZ1bmN0aW9uIHNxcnQgKGEpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkpIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciBtb2QzID0gdGhpcy5tLmFuZGxuKDMpO1xcbiAgICBhc3NlcnQobW9kMyAlIDIgPT09IDEpO1xcblxcbiAgICAvLyBGYXN0IGNhc2VcXG4gICAgaWYgKG1vZDMgPT09IDMpIHtcXG4gICAgICB2YXIgcG93ID0gdGhpcy5tLmFkZChuZXcgQk4oMSkpLml1c2hybigyKTtcXG4gICAgICByZXR1cm4gdGhpcy5wb3coYSwgcG93KTtcXG4gICAgfVxcblxcbiAgICAvLyBUb25lbGxpLVNoYW5rcyBhbGdvcml0aG0gKFRvdGFsbHkgdW5vcHRpbWl6ZWQgYW5kIHNsb3cpXFxuICAgIC8vXFxuICAgIC8vIEZpbmQgUSBhbmQgUywgdGhhdCBRICogMiBeIFMgPSAoUCAtIDEpXFxuICAgIHZhciBxID0gdGhpcy5tLnN1Ym4oMSk7XFxuICAgIHZhciBzID0gMDtcXG4gICAgd2hpbGUgKCFxLmlzWmVybygpICYmIHEuYW5kbG4oMSkgPT09IDApIHtcXG4gICAgICBzKys7XFxuICAgICAgcS5pdXNocm4oMSk7XFxuICAgIH1cXG4gICAgYXNzZXJ0KCFxLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIG9uZSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgdmFyIG5PbmUgPSBvbmUucmVkTmVnKCk7XFxuXFxuICAgIC8vIEZpbmQgcXVhZHJhdGljIG5vbi1yZXNpZHVlXFxuICAgIC8vIE5PVEU6IE1heCBpcyBzdWNoIGJlY2F1c2Ugb2YgZ2VuZXJhbGl6ZWQgUmllbWFubiBoeXBvdGhlc2lzLlxcbiAgICB2YXIgbHBvdyA9IHRoaXMubS5zdWJuKDEpLml1c2hybigxKTtcXG4gICAgdmFyIHogPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIHogPSBuZXcgQk4oMiAqIHogKiB6KS50b1JlZCh0aGlzKTtcXG5cXG4gICAgd2hpbGUgKHRoaXMucG93KHosIGxwb3cpLmNtcChuT25lKSAhPT0gMCkge1xcbiAgICAgIHoucmVkSUFkZChuT25lKTtcXG4gICAgfVxcblxcbiAgICB2YXIgYyA9IHRoaXMucG93KHosIHEpO1xcbiAgICB2YXIgciA9IHRoaXMucG93KGEsIHEuYWRkbigxKS5pdXNocm4oMSkpO1xcbiAgICB2YXIgdCA9IHRoaXMucG93KGEsIHEpO1xcbiAgICB2YXIgbSA9IHM7XFxuICAgIHdoaWxlICh0LmNtcChvbmUpICE9PSAwKSB7XFxuICAgICAgdmFyIHRtcCA9IHQ7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IHRtcC5jbXAob25lKSAhPT0gMDsgaSsrKSB7XFxuICAgICAgICB0bXAgPSB0bXAucmVkU3FyKCk7XFxuICAgICAgfVxcbiAgICAgIGFzc2VydChpIDwgbSk7XFxuICAgICAgdmFyIGIgPSB0aGlzLnBvdyhjLCBuZXcgQk4oMSkuaXVzaGxuKG0gLSBpIC0gMSkpO1xcblxcbiAgICAgIHIgPSByLnJlZE11bChiKTtcXG4gICAgICBjID0gYi5yZWRTcXIoKTtcXG4gICAgICB0ID0gdC5yZWRNdWwoYyk7XFxuICAgICAgbSA9IGk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICB2YXIgaW52ID0gYS5faW52bXAodGhpcy5tKTtcXG4gICAgaWYgKGludi5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGludi5uZWdhdGl2ZSA9IDA7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpLnJlZE5lZygpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChhLCBudW0pIHtcXG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgaWYgKG51bS5jbXBuKDEpID09PSAwKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgd2luZG93U2l6ZSA9IDQ7XFxuICAgIHZhciB3bmQgPSBuZXcgQXJyYXkoMSA8PCB3aW5kb3dTaXplKTtcXG4gICAgd25kWzBdID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB3bmRbMV0gPSBhO1xcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IHduZC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHduZFtpXSA9IHRoaXMubXVsKHduZFtpIC0gMV0sIGEpO1xcbiAgICB9XFxuXFxuICAgIHZhciByZXMgPSB3bmRbMF07XFxuICAgIHZhciBjdXJyZW50ID0gMDtcXG4gICAgdmFyIGN1cnJlbnRMZW4gPSAwO1xcbiAgICB2YXIgc3RhcnQgPSBudW0uYml0TGVuZ3RoKCkgJSAyNjtcXG4gICAgaWYgKHN0YXJ0ID09PSAwKSB7XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICBmb3IgKGkgPSBudW0ubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICB2YXIgd29yZCA9IG51bS53b3Jkc1tpXTtcXG4gICAgICBmb3IgKHZhciBqID0gc3RhcnQgLSAxOyBqID49IDA7IGotLSkge1xcbiAgICAgICAgdmFyIGJpdCA9ICh3b3JkID4+IGopICYgMTtcXG4gICAgICAgIGlmIChyZXMgIT09IHduZFswXSkge1xcbiAgICAgICAgICByZXMgPSB0aGlzLnNxcihyZXMpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGJpdCA9PT0gMCAmJiBjdXJyZW50ID09PSAwKSB7XFxuICAgICAgICAgIGN1cnJlbnRMZW4gPSAwO1xcbiAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGN1cnJlbnQgPDw9IDE7XFxuICAgICAgICBjdXJyZW50IHw9IGJpdDtcXG4gICAgICAgIGN1cnJlbnRMZW4rKztcXG4gICAgICAgIGlmIChjdXJyZW50TGVuICE9PSB3aW5kb3dTaXplICYmIChpICE9PSAwIHx8IGogIT09IDApKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHRoaXMubXVsKHJlcywgd25kW2N1cnJlbnRdKTtcXG4gICAgICAgIGN1cnJlbnRMZW4gPSAwO1xcbiAgICAgICAgY3VycmVudCA9IDA7XFxuICAgICAgfVxcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHZhciByID0gbnVtLnVtb2QodGhpcy5tKTtcXG5cXG4gICAgcmV0dXJuIHIgPT09IG51bSA/IHIuY2xvbmUoKSA6IHI7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHJlcyA9IG51bS5jbG9uZSgpO1xcbiAgICByZXMucmVkID0gbnVsbDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gTW9udGdvbWVyeSBtZXRob2QgZW5naW5lXFxuICAvL1xcblxcbiAgQk4ubW9udCA9IGZ1bmN0aW9uIG1vbnQgKG51bSkge1xcbiAgICByZXR1cm4gbmV3IE1vbnQobnVtKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBNb250IChtKSB7XFxuICAgIFJlZC5jYWxsKHRoaXMsIG0pO1xcblxcbiAgICB0aGlzLnNoaWZ0ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICBpZiAodGhpcy5zaGlmdCAlIDI2ICE9PSAwKSB7XFxuICAgICAgdGhpcy5zaGlmdCArPSAyNiAtICh0aGlzLnNoaWZ0ICUgMjYpO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuciA9IG5ldyBCTigxKS5pdXNobG4odGhpcy5zaGlmdCk7XFxuICAgIHRoaXMucjIgPSB0aGlzLmltb2QodGhpcy5yLnNxcigpKTtcXG4gICAgdGhpcy5yaW52ID0gdGhpcy5yLl9pbnZtcCh0aGlzLm0pO1xcblxcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSk7XFxuICAgIHRoaXMubWludiA9IHRoaXMubWludi51bW9kKHRoaXMucik7XFxuICAgIHRoaXMubWludiA9IHRoaXMuci5zdWIodGhpcy5taW52KTtcXG4gIH1cXG4gIGluaGVyaXRzKE1vbnQsIFJlZCk7XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKG51bS51c2hsbih0aGlzLnNoaWZ0KSk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByID0gdGhpcy5pbW9kKG51bS5tdWwodGhpcy5yaW52KSk7XFxuICAgIHIucmVkID0gbnVsbDtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkge1xcbiAgICAgIGEud29yZHNbMF0gPSAwO1xcbiAgICAgIGEubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm4gYTtcXG4gICAgfVxcblxcbiAgICB2YXIgdCA9IGEuaW11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG5cXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKGEsIGIpIHtcXG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigwKS5fZm9yY2VSZWQodGhpcyk7XFxuXFxuICAgIHZhciB0ID0gYS5tdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgLy8gKEFSKV4tMSAqIFJeMiA9IChBXi0xICogUl4tMSkgKiBSXjIgPSBBXi0xICogUlxcbiAgICB2YXIgcmVzID0gdGhpcy5pbW9kKGEuX2ludm1wKHRoaXMubSkubXVsKHRoaXMucjIpKTtcXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcbn0pKCBmYWxzZSB8fCBtb2R1bGUsIHRoaXMpO1xcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanNcXFwiKShtb2R1bGUpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWpjbVZoZEdVdFpXTmthQzl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6UHpBeVpqQWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMR2RDUVVGUk8wRkJRemRDTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4M1EwRkJkME03UVVGRGVFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTXNVVUZCVVR0QlFVTm9SRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzZDBKQlFYZENMRzFDUVVGdFFqdEJRVU16UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xGTkJRVk03UVVGRGFFTTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBOQlFYTkRMRmxCUVZrN1FVRkRiRVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVFrRkJkVUlzVTBGQlV6dEJRVU5vUXpzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhORFFVRnpReXh6UWtGQmMwSTdRVUZETlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZFVKQlFYVkNMRk5CUVZNN1FVRkRhRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYVVKQlFXbENMRk5CUVZNN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4cFFrRkJhVUk3UVVGRGRFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl3MFFrRkJORUk3UVVGRE4wTTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNZVUZCWVR0QlFVTTVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c2FVSkJRV2xDTEdGQlFXRTdRVUZET1VJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRmxCUVZrc1pVRkJaVHRCUVVNelFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1owSkJRV2RDTzBGQlEzSkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNhVUpCUVdsQ08wRkJRM0JETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHTkJRV003UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hWUVVGVkxEWkNRVUUyUWp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNVMEZCVXp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYjBKQlFXOUNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlFUVVGdlJDeFhRVUZYTzBGQlF5OUVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVDBGQlR6dEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFBRVUZQTzBGQlF6RkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNjVUpCUVhGQ0xFOUJRVTg3UVVGRE5VSTdRVUZEUVRzN1FVRkZRU3gxUWtGQmRVSXNUMEZCVHp0QlFVTTVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNkVUpCUVhWQ0xFZEJRVWM3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEZkQlFWYzdRVUZET1VJN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEZkQlFWYzdRVUZET1VJN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhUUVVGVE8wRkJRelZDT3p0QlFVVkJMR3REUVVGclF6dEJRVU5zUXl4elEwRkJjME03UVVGRGRFTTdPMEZCUlVFN1FVRkRRU3h4UWtGQmNVSXNUMEZCVHp0QlFVTTFRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRTlCUVU4N1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVDBGQlR6dEJRVU14UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEdOQlFXTTdRVUZETTBNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzYVVKQlFXbENPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMQ3RDUVVFclFpeFJRVUZSTzBGQlEzWkRPMEZCUTBFN08wRkJSVUVzYVVKQlFXbENMRTlCUVU4N1FVRkRlRUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cyUWtGQk5rSXNiVU5CUVcxRE8wRkJRMmhGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl3clEwRkJLME03UVVGRGJFVTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc2NVSkJRWEZDTEhORFFVRnpRenRCUVVNelJEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHVkJRV1VzWjBKQlFXZENPMEZCUXk5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc2VVSkJRWGxDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHVkJRV1VzYVVKQlFXbENPMEZCUTJoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRaXhqUVVGak8wRkJRMjVETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3gxUWtGQmRVSXNVVUZCVVR0QlFVTXZRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTXNVVUZCVVR0QlFVTjZRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNhVU5CUVdsRExGRkJRVkU3UVVGRGVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEcxRFFVRnRRenRCUVVOb1JUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3cyUWtGQk5rSXNiVU5CUVcxRE8wRkJRMmhGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERaQ1FVRTJRaXh0UTBGQmJVTTdRVUZEYUVVN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTERCQ1FVRXdRanRCUVVOcVJEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMT3p0QlFVVk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBOQlFXZERPMEZCUTI1RU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3UVVGRlREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNXVUZCV1R0QlFVTXZRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1owSkJRV2RDTEd0Q1FVRnJRanRCUVVOc1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaMEpCUVdkQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMRzlDUVVGdlFqdEJRVU42UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFJDUVVFMFFpeFJRVUZSTzBGQlEzQkRPMEZCUTBFc05rSkJRVFpDTEZGQlFWRTdRVUZEY2tNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlN4TlFVRTJRaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWpjbVZoZEdVdFpXTmthQzl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lLR1oxYm1OMGFXOXVJQ2h0YjJSMWJHVXNJR1Y0Y0c5eWRITXBJSHRjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHZJRlYwYVd4elhHNGdJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDQW9kbUZzTENCdGMyY3BJSHRjYmlBZ0lDQnBaaUFvSVhaaGJDa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeUI4ZkNBblFYTnpaWEowYVc5dUlHWmhhV3hsWkNjcE8xeHVJQ0I5WEc1Y2JpQWdMeThnUTI5MWJHUWdkWE5sSUdCcGJtaGxjbWwwYzJBZ2JXOWtkV3hsTENCaWRYUWdaRzl1SjNRZ2QyRnVkQ0IwYnlCdGIzWmxJR1p5YjIwZ2MybHVaMnhsSUdacGJHVmNiaUFnTHk4Z1lYSmphR2wwWldOMGRYSmxJSGxsZEM1Y2JpQWdablZ1WTNScGIyNGdhVzVvWlhKcGRITWdLR04wYjNJc0lITjFjR1Z5UTNSdmNpa2dlMXh1SUNBZ0lHTjBiM0l1YzNWd1pYSmZJRDBnYzNWd1pYSkRkRzl5TzF4dUlDQWdJSFpoY2lCVVpXMXdRM1J2Y2lBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dUlDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJQ0FnWTNSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1ZHVnRjRU4wYjNJb0tUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaUzVqYjI1emRISjFZM1J2Y2lBOUlHTjBiM0k3WEc0Z0lIMWNibHh1SUNBdkx5QkNUbHh1WEc0Z0lHWjFibU4wYVc5dUlFSk9JQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaENUaTVwYzBKT0tHNTFiV0psY2lrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXMWlaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1Wa2RXTjBhVzl1SUdOdmJuUmxlSFJjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9iblZ0WW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBaaUFvWW1GelpTQTlQVDBnSjJ4bEp5QjhmQ0JpWVhObElEMDlQU0FuWW1VbktTQjdYRzRnSUNBZ0lDQWdJR1Z1WkdsaGJpQTlJR0poYzJVN1hHNGdJQ0FnSUNBZ0lHSmhjMlVnUFNBeE1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1ZmFXNXBkQ2h1ZFcxaVpYSWdmSHdnTUN3Z1ltRnpaU0I4ZkNBeE1Dd2daVzVrYVdGdUlIeDhJQ2RpWlNjcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCcFppQW9kSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlFSk9PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1Y0Y0c5eWRITXVRazRnUFNCQ1RqdGNiaUFnZlZ4dVhHNGdJRUpPTGtKT0lEMGdRazQ3WEc0Z0lFSk9MbmR2Y21SVGFYcGxJRDBnTWpZN1hHNWNiaUFnZG1GeUlFSjFabVpsY2p0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnZlZ4dVhHNGdJRUpPTG1selFrNGdQU0JtZFc1amRHbHZiaUJwYzBKT0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRJR2x1YzNSaGJtTmxiMllnUWs0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMGdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJRzUxYlM1amIyNXpkSEoxWTNSdmNpNTNiM0prVTJsNlpTQTlQVDBnUWs0dWQyOXlaRk5wZW1VZ0ppWWdRWEp5WVhrdWFYTkJjbkpoZVNodWRXMHVkMjl5WkhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG0xaGVDQTlJR1oxYm1OMGFXOXVJRzFoZUNBb2JHVm1kQ3dnY21sbmFIUXBJSHRjYmlBZ0lDQnBaaUFvYkdWbWRDNWpiWEFvY21sbmFIUXBJRDRnTUNrZ2NtVjBkWEp1SUd4bFpuUTdYRzRnSUNBZ2NtVjBkWEp1SUhKcFoyaDBPMXh1SUNCOU8xeHVYRzRnSUVKT0xtMXBiaUE5SUdaMWJtTjBhVzl1SUcxcGJpQW9iR1ZtZEN3Z2NtbG5hSFFwSUh0Y2JpQWdJQ0JwWmlBb2JHVm1kQzVqYlhBb2NtbG5hSFFwSUR3Z01Da2djbVYwZFhKdUlHeGxablE3WEc0Z0lDQWdjbVYwZFhKdUlISnBaMmgwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRDQTlJR1oxYm1OMGFXOXVJR2x1YVhRZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1ZFcxaVpYSWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZhVzVwZEU1MWJXSmxjaWh1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdWRXMWlaWElnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRFRnljbUY1S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHSmhjMlVnUFNBeE5qdGNiaUFnSUNCOVhHNGdJQ0FnWVhOelpYSjBLR0poYzJVZ1BUMDlJQ2hpWVhObElId2dNQ2tnSmlZZ1ltRnpaU0ErUFNBeUlDWW1JR0poYzJVZ1BEMGdNellwTzF4dVhHNGdJQ0FnYm5WdFltVnlJRDBnYm5WdFltVnlMblJ2VTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2WEZ4ekt5OW5MQ0FuSnlrN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ01EdGNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSE4wWVhKMEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR0poYzJVZ1BUMDlJREUyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVaGxlQ2h1ZFcxaVpYSXNJSE4wWVhKMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWZjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ2RHaHBjeTVmYVc1cGRFRnljbUY1S0hSb2FYTXVkRzlCY25KaGVTZ3BMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNXBkRTUxYldKbGNpQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFRuVnRZbVZ5SUNodWRXMWlaWElzSUdKaGMyVXNJR1Z1WkdsaGJpa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0FnSUc1MWJXSmxjaUE5SUMxdWRXMWlaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaUJkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iblZ0WW1WeUlEd2dNSGd4TURBd01EQXdNREF3TURBd01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZ0Y2JpQWdJQ0FnSUNBZ2JuVnRZbVZ5SUNZZ01IZ3pabVptWm1abUxGeHVJQ0FnSUNBZ0lDQW9iblZ0WW1WeUlDOGdNSGcwTURBd01EQXdLU0FtSURCNE0yWm1abVptWmx4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJXSmxjaUE4SURCNE1qQXdNREF3TURBd01EQXdNREFwT3lBdkx5QXlJRjRnTlRNZ0tIVnVjMkZtWlNsY2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJREZjYmlBZ0lDQWdJRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlETTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdVbVYyWlhKelpTQjBhR1VnWW5sMFpYTmNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQmZhVzVwZEVGeWNtRjVJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUM4dklGQmxjbWhoY0hNZ1lTQlZhVzUwT0VGeWNtRjVYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJ1ZFcxaVpYSXViR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaTVzWlc1bmRHZ2dQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnTUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29iblZ0WW1WeUxteGxibWQwYUNBdklETXBPMXh1SUNBZ0lIUm9hWE11ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NXNaVzVuZEdncE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHb3NJSGM3WEc0Z0lDQWdkbUZ5SUc5bVppQTlJREE3WEc0Z0lDQWdhV1lnS0dWdVpHbGhiaUE5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJREVzSUdvZ1BTQXdPeUJwSUQ0OUlEQTdJR2tnTFQwZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQzBnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0xTQXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMnhsSnlrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Dd2dhaUE5SURBN0lHa2dQQ0J1ZFcxaVpYSXViR1Z1WjNSb095QnBJQ3M5SURNcElIdGNiaUFnSUNBZ0lDQWdkeUE5SUc1MWJXSmxjbHRwWFNCOElDaHVkVzFpWlhKYmFTQXJJREZkSUR3OElEZ3BJSHdnS0c1MWJXSmxjbHRwSUNzZ01sMGdQRHdnTVRZcE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMnBkSUh3OUlDaDNJRHc4SUc5bVppa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUQwZ0tIY2dQajQrSUNneU5pQXRJRzltWmlrcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0t6MGdNalE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZabVlnUGowZ01qWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdlptWWdMVDBnTWpZN1hHNGdJQ0FnSUNBZ0lDQWdhaXNyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZJWlhnZ0tITjBjaXdnYzNSaGNuUXNJR1Z1WkNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzNSeUxteGxibWQwYUN3Z1pXNWtLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1NBdElEUTRPMXh1WEc0Z0lDQWdJQ0J5SUR3OFBTQTBPMXh1WEc0Z0lDQWdJQ0F2THlBbllTY2dMU0FuWmlkY2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURRNUlDWW1JR01nUEQwZ05UUXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTkRrZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDZEJKeUF0SUNkR0oxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0lDWW1JR01nUEQwZ01qSXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQjhQU0JqSUNZZ01IaG1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ3WVhKelpVSmhjMlVnS0hOMGNpd2djM1JoY25Rc0lHVnVaQ3dnYlhWc0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ0tqMGdiWFZzTzF4dVhHNGdJQ0FnSUNBdkx5QW5ZU2RjYmlBZ0lDQWdJR2xtSUNoaklENDlJRFE1S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SUdNZ0xTQXhOeUFySURCNFlUdGNibHh1SUNBZ0lDQWdMeThnSnpBbklDMGdKemtuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVSmhjMlVnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZDWVhObElDaHVkVzFpWlhJc0lHSmhjMlVzSUhOMFlYSjBLU0I3WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCaGN5QjZaWEp2WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZzZ01DQmRPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JseHVJQ0FnSUM4dklFWnBibVFnYkdWdVozUm9JRzltSUd4cGJXSWdhVzRnWW1GelpWeHVJQ0FnSUdadmNpQW9kbUZ5SUd4cGJXSk1aVzRnUFNBd0xDQnNhVzFpVUc5M0lEMGdNVHNnYkdsdFlsQnZkeUE4UFNBd2VETm1abVptWm1ZN0lHeHBiV0pRYjNjZ0tqMGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ2JHbHRZa3hsYmlzck8xeHVJQ0FnSUgxY2JpQWdJQ0JzYVcxaVRHVnVMUzA3WEc0Z0lDQWdiR2x0WWxCdmR5QTlJQ2hzYVcxaVVHOTNJQzhnWW1GelpTa2dmQ0F3TzF4dVhHNGdJQ0FnZG1GeUlIUnZkR0ZzSUQwZ2JuVnRZbVZ5TG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNBZ0lIWmhjaUJ0YjJRZ1BTQjBiM1JoYkNBbElHeHBiV0pNWlc0N1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUUxaGRHZ3ViV2x1S0hSdmRHRnNMQ0IwYjNSaGJDQXRJRzF2WkNrZ0t5QnpkR0Z5ZER0Y2JseHVJQ0FnSUhaaGNpQjNiM0prSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JsYm1RN0lHa2dLejBnYkdsdFlreGxiaWtnZTF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUdrZ0t5QnNhVzFpVEdWdUxDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHNhVzFpVUc5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXOWtJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnY0c5M0lEMGdNVHRjYmlBZ0lDQWdJSGR2Y21RZ1BTQndZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQnBMQ0J1ZFcxaVpYSXViR1Z1WjNSb0xDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdlpEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnZkeUFxUFNCaVlYTmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxtbHRkV3h1S0hCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdZMjl3ZVNBb1pHVnpkQ2tnZTF4dUlDQWdJR1JsYzNRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaR1Z6ZEM1M2IzSmtjMXRwWFNBOUlIUm9hWE11ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHUmxjM1F1YkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSFJvYVhNdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnWkdWemRDNXlaV1FnUFNCMGFHbHpMbkpsWkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTJ4dmJtVWdQU0JtZFc1amRHbHZiaUJqYkc5dVpTQW9LU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVaWGNnUWs0b2JuVnNiQ2s3WEc0Z0lDQWdkR2hwY3k1amIzQjVLSElwTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZaWGh3WVc1a0lEMGdablZ1WTNScGIyNGdYMlY0Y0dGdVpDQW9jMmw2WlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElITnBlbVVwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ3JLMTBnUFNBd08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlcxdmRtVWdiR1ZoWkdsdVp5QmdNR0FnWm5KdmJTQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OMGNtbHdJRDBnWm5WdVkzUnBiMjRnYzNSeWFYQWdLQ2tnZTF4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG14bGJtZDBhQ0ErSURFZ0ppWWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQzB0TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDI1dmNtMVRhV2R1SUQwZ1puVnVZM1JwYjI0Z1gyNXZjbTFUYVdkdUlDZ3BJSHRjYmlBZ0lDQXZMeUF0TUNBOUlEQmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5Od1pXTjBJRDBnWm5WdVkzUnBiMjRnYVc1emNHVmpkQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuSmxaQ0EvSUNjOFFrNHRVam9nSnlBNklDYzhRazQ2SUNjcElDc2dkR2hwY3k1MGIxTjBjbWx1WnlneE5pa2dLeUFuUGljN1hHNGdJSDA3WEc1Y2JpQWdMeXBjYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWFR0Y2JpQWdkbUZ5SUdkeWIzVndVMmw2WlhNZ1BTQmJYVHRjYmlBZ2RtRnlJR2R5YjNWd1FtRnpaWE1nUFNCYlhUdGNibHh1SUNCMllYSWdjeUE5SUNjbk8xeHVJQ0IyWVhJZ2FTQTlJQzB4TzF4dUlDQjNhR2xzWlNBb0t5dHBJRHdnUWs0dWQyOXlaRk5wZW1VcElIdGNiaUFnSUNCNlpYSnZjMXRwWFNBOUlITTdYRzRnSUNBZ2N5QXJQU0FuTUNjN1hHNGdJSDFjYmlBZ1ozSnZkWEJUYVhwbGMxc3dYU0E5SURBN1hHNGdJR2R5YjNWd1UybDZaWE5iTVYwZ1BTQXdPMXh1SUNCbmNtOTFjRUpoYzJWeld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN4WFNBOUlEQTdYRzRnSUhaaGNpQmlZWE5sSUQwZ01pQXRJREU3WEc0Z0lIZG9hV3hsSUNncksySmhjMlVnUENBek5pQXJJREVwSUh0Y2JpQWdJQ0IyWVhJZ1ozSnZkWEJUYVhwbElEMGdNRHRjYmlBZ0lDQjJZWElnWjNKdmRYQkNZWE5sSUQwZ01UdGNiaUFnSUNCM2FHbHNaU0FvWjNKdmRYQkNZWE5sSUR3Z0tERWdQRHdnUWs0dWQyOXlaRk5wZW1VcElDOGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ1ozSnZkWEJDWVhObElDbzlJR0poYzJVN1hHNGdJQ0FnSUNCbmNtOTFjRk5wZW1VZ0t6MGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ozSnZkWEJUYVhwbGMxdGlZWE5sWFNBOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNCbmNtOTFjRUpoYzJWelcySmhjMlZkSUQwZ1ozSnZkWEJDWVhObE8xeHVJQ0I5WEc1Y2JpQWdLaTljYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWEc0Z0lDQWdKeWNzWEc0Z0lDQWdKekFuTEZ4dUlDQWdJQ2N3TUNjc1hHNGdJQ0FnSnpBd01DY3NYRzRnSUNBZ0p6QXdNREFuTEZ4dUlDQWdJQ2N3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuWEc0Z0lGMDdYRzVjYmlBZ2RtRnlJR2R5YjNWd1UybDZaWE1nUFNCYlhHNGdJQ0FnTUN3Z01DeGNiaUFnSUNBeU5Td2dNVFlzSURFeUxDQXhNU3dnTVRBc0lEa3NJRGdzWEc0Z0lDQWdPQ3dnTnl3Z055d2dOeXdnTnl3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMUxDQTFMRnh1SUNBZ0lEVXNJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05WeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNek0xTlRRME16SXNJRFF6TURRMk56SXhMQ0F4TmpjM056SXhOaXdnTkRnNE1qZ3hNalVzSURZd05EWTJNVGMyTENBME1ETTFNell3Tnl3Z01UWTNOemN5TVRZc1hHNGdJQ0FnTkRNd05EWTNNakVzSURFd01EQXdNREF3TENBeE9UUTROekUzTVN3Z016VTRNekU0TURnc0lEWXlOelE0TlRFM0xDQTNOVEk1TlRNMkxDQXhNVE01TURZeU5TeGNiaUFnSUNBeE5qYzNOekl4Tml3Z01qUXhNemMxTmprc0lETTBNREV5TWpJMExDQTBOekEwTlRnNE1Td2dOalF3TURBd01EQXNJRFF3T0RReE1ERXNJRFV4TlRNMk16SXNYRzRnSUNBZ05qUXpOak0wTXl3Z056azJNall5TkN3Z09UYzJOVFl5TlN3Z01URTRPREV6TnpZc0lERTBNelE0T1RBM0xDQXhOekl4TURNMk9Dd2dNakExTVRFeE5Ea3NYRzRnSUNBZ01qUXpNREF3TURBc0lESTROakk1TVRVeExDQXpNelUxTkRRek1pd2dNemt4TXpVek9UTXNJRFExTkRNMU5ESTBMQ0ExTWpVeU1UZzNOU3dnTmpBME5qWXhOelpjYmlBZ1hUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvWW1GelpTd2djR0ZrWkdsdVp5a2dlMXh1SUNBZ0lHSmhjMlVnUFNCaVlYTmxJSHg4SURFd08xeHVJQ0FnSUhCaFpHUnBibWNnUFNCd1lXUmthVzVuSUh3Z01DQjhmQ0F4TzF4dVhHNGdJQ0FnZG1GeUlHOTFkRHRjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZZ2ZId2dZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlEQTdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIZHZjbVFnUFNBb0tDaDNJRHc4SUc5bVppa2dmQ0JqWVhKeWVTa2dKaUF3ZUdabVptWm1aaWt1ZEc5VGRISnBibWNvTVRZcE8xeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrUGlBb01qUWdMU0J2Wm1ZcEtTQW1JREI0Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQWdmSHdnYVNBaFBUMGdkR2hwY3k1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYk5pQXRJSGR2Y21RdWJHVnVaM1JvWFNBcklIZHZjbVFnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCdlptWWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JwTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNCallYSnllUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWtnZTF4dUlDQWdJQ0FnTHk4Z2RtRnlJR2R5YjNWd1UybDZaU0E5SUUxaGRHZ3VabXh2YjNJb1FrNHVkMjl5WkZOcGVtVWdLaUJOWVhSb0xreE9NaUF2SUUxaGRHZ3ViRzluS0dKaGMyVXBLVHRjYmlBZ0lDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZE8xeHVJQ0FnSUNBZ0x5OGdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlFMWhkR2d1Y0c5M0tHSmhjMlVzSUdkeWIzVndVMmw2WlNrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCQ1lYTmxJRDBnWjNKdmRYQkNZWE5sYzF0aVlYTmxYVHRjYmlBZ0lDQWdJRzkxZENBOUlDY25PMXh1SUNBZ0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0JqTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIZG9hV3hsSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR011Ylc5a2JpaG5jbTkxY0VKaGMyVXBMblJ2VTNSeWFXNW5LR0poYzJVcE8xeHVJQ0FnSUNBZ0lDQmpJRDBnWXk1cFpHbDJiaWhuY205MWNFSmhjMlVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWXk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzkxZENBOUlIcGxjbTl6VzJkeWIzVndVMmw2WlNBdElISXViR1Z1WjNSb1hTQXJJSElnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdjaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkMmhwYkdVZ0tHOTFkQzVzWlc1bmRHZ2dKU0J3WVdSa2FXNW5JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3dKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjdEp5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5RbUZ6WlNCemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeUlHRnVaQ0F6TmljcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwNTFiV0psY2lBOUlHWjFibU4wYVc5dUlIUnZUblZ0WW1WeUlDZ3BJSHRjYmlBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lISmxkQ0FyUFNCMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJRE1nSmlZZ2RHaHBjeTUzYjNKa2Mxc3lYU0E5UFQwZ01IZ3dNU2tnZTF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nWVhRZ2RHaHBjeUJ6ZEdGblpTQnBkQ0JwY3lCcmJtOTNiaUIwYUdGMElIUm9aU0IwYjNBZ1ltbDBJR2x6SUhObGRGeHVJQ0FnSUNBZ2NtVjBJQ3M5SURCNE1UQXdNREF3TURBd01EQXdNREFnS3lBb2RHaHBjeTUzYjNKa2Mxc3hYU0FxSURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0FnSUdGemMyVnlkQ2htWVd4elpTd2dKMDUxYldKbGNpQmpZVzRnYjI1c2VTQnpZV1psYkhrZ2MzUnZjbVVnZFhBZ2RHOGdOVE1nWW1sMGN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElEOGdMWEpsZENBNklISmxkRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlLVTA5T0lEMGdablZ1WTNScGIyNGdkRzlLVTA5T0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOUNkV1ptWlhJZ0tHVnVaR2xoYml3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQkNkV1ptWlhJZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaENkV1ptWlhJc0lHVnVaR2xoYml3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0dWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlVXhwYTJVb1FYSnlZWGtzSUdWdVpHbGhiaXdnYkdWdVozUm9LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJpZVhSbFRHVnVaM1JvSUQwZ2RHaHBjeTVpZVhSbFRHVnVaM1JvS0NrN1hHNGdJQ0FnZG1GeUlISmxjVXhsYm1kMGFDQTlJR3hsYm1kMGFDQjhmQ0JOWVhSb0xtMWhlQ2d4TENCaWVYUmxUR1Z1WjNSb0tUdGNiaUFnSUNCaGMzTmxjblFvWW5sMFpVeGxibWQwYUNBOFBTQnlaWEZNWlc1bmRHZ3NJQ2RpZVhSbElHRnljbUY1SUd4dmJtZGxjaUIwYUdGdUlHUmxjMmx5WldRZ2JHVnVaM1JvSnlrN1hHNGdJQ0FnWVhOelpYSjBLSEpsY1V4bGJtZDBhQ0ErSURBc0lDZFNaWEYxWlhOMFpXUWdZWEp5WVhrZ2JHVnVaM1JvSUR3OUlEQW5LVHRjYmx4dUlDQWdJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdJQ0IyWVhJZ2JHbDBkR3hsUlc1a2FXRnVJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5PMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQnVaWGNnUVhKeVlYbFVlWEJsS0hKbGNVeGxibWQwYUNrN1hHNWNiaUFnSUNCMllYSWdZaXdnYVR0Y2JpQWdJQ0IyWVhJZ2NTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0JwWmlBb0lXeHBkSFJzWlVWdVpHbGhiaWtnZTF4dUlDQWdJQ0FnTHk4Z1FYTnpkVzFsSUdKcFp5MWxibVJwWVc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J5WlhGTVpXNW5kR2dnTFNCaWVYUmxUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelczSmxjVXhsYm1kMGFDQXRJR2tnTFNBeFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJQ0Z4TG1seldtVnlieWdwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlIRXVZVzVrYkc0b01IaG1aaWs3WEc0Z0lDQWdJQ0FnSUhFdWFYVnphSEp1S0RncE8xeHVYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z2NtVnhUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNoTllYUm9MbU5zZWpNeUtTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNeklnTFNCTllYUm9MbU5zZWpNeUtIY3BPMXh1SUNBZ0lIMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTGw5amIzVnVkRUpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZZMjkxYm5SQ2FYUnpJQ2gzS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VERXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F4TXp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFFnUGowZ01IZzBNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnNEtTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlREF5S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY2lBcklIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmVtVnliMEpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZlbVZ5YjBKcGRITWdLSGNwSUh0Y2JpQWdJQ0F2THlCVGFHOXlkQzFqZFhSY2JpQWdJQ0JwWmlBb2R5QTlQVDBnTUNrZ2NtVjBkWEp1SURJMk8xeHVYRzRnSUNBZ2RtRnlJSFFnUFNCM08xeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURGbVptWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURkbUtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpQXJQU0EzTzF4dUlDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvZENBbUlEQjRaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lIUWdQajQrUFNBME8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURNcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREk3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdNanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaXNyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm5WdFltVnlJRzltSUhWelpXUWdZbWwwY3lCcGJpQmhJRUpPWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVpYVhSTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWFYUk1aVzVuZEdnZ0tDa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUhaaGNpQm9hU0E5SUhSb2FYTXVYMk52ZFc1MFFtbDBjeWgzS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWJHVnVaM1JvSUMwZ01Ta2dLaUF5TmlBcklHaHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhSdlFtbDBRWEp5WVhrZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCM0lEMGdibVYzSUVGeWNtRjVLRzUxYlM1aWFYUk1aVzVuZEdnb0tTazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmlhWFFnUFNBd095QmlhWFFnUENCM0xteGxibWQwYURzZ1ltbDBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQnZabVlnUFNBb1ltbDBJQzhnTWpZcElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0FnSUhkYlltbDBYU0E5SUNodWRXMHVkMjl5WkhOYmIyWm1YU0FtSUNneElEdzhJSGRpYVhRcEtTQStQajRnZDJKcGREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZHp0Y2JpQWdmVnh1WEc0Z0lDOHZJRTUxYldKbGNpQnZaaUIwY21GcGJHbHVaeUI2WlhKdklHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbnBsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnZW1WeWIwSnBkSE1nS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NWZlbVZ5YjBKcGRITW9kR2hwY3k1M2IzSmtjMXRwWFNrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdJQ0JwWmlBb1lpQWhQVDBnTWpZcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlubDBaVXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtTmxhV3dvZEdocGN5NWlhWFJNWlc1bmRHZ29LU0F2SURncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxUjNiM01nUFNCbWRXNWpkR2x2YmlCMGIxUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUZpY3lncExtbHViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVlIzYjNNZ1BTQm1kVzVqZEdsdmJpQm1jbTl0VkhkdmN5QW9kMmxrZEdncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1MFpYTjBiaWgzYVdSMGFDQXRJREVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLUzVwYm1WbktDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1selRtVm5JRDBnWm5WdVkzUnBiMjRnYVhOT1pXY2dLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJtVm5LQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1WldjZ1BTQm1kVzVqZEdsdmJpQnBibVZuSUNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCUGNpQmdiblZ0WUNCM2FYUm9JR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYVnZjaUE5SUdaMWJtTjBhVzl1SUdsMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdncksxMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saGJtUWdQU0JtZFc1amRHbHZiaUJwWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ2ZDQnVkVzB1Ym1WbllYUnBkbVVwSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFdGdVpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a0lEMGdablZ1WTNScGIyNGdZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saGJtUW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVdGdVpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFdGdVpDQTlJR1oxYm1OMGFXOXVJSFZoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVmhibVFvYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFYVmhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1dHOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkWGh2Y2lBOUlHWjFibU4wYVc5dUlHbDFlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJoTG14bGJtZDBhQ0ErSUdJdWJHVnVaM1JvWEc0Z0lDQWdkbUZ5SUdFN1hHNGdJQ0FnZG1GeUlHSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZU0E5SUhSb2FYTTdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoSUQwZ2JuVnRPMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFNCZUlHSXVkMjl5WkhOYmFWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJR0VwSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYaHZjaUE5SUdaMWJtTjBhVzl1SUdsNGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWVHOXlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnV0c5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NGIzSWdQU0JtZFc1amRHbHZiaUI0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYaHZjaWh1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGVHOXlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWVHOXlJRDBnWm5WdVkzUnBiMjRnZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkWGh2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk9iM1FnWUdCMGFHbHpZR0FnZDJsMGFDQmdZSGRwWkhSb1lHQWdZbWwwZDJsa2RHaGNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHViM1J1SUQwZ1puVnVZM1JwYjI0Z2FXNXZkRzRnS0hkcFpIUm9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCM2FXUjBhQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdkMmxrZEdnZ1BqMGdNQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaWE5PWldWa1pXUWdQU0JOWVhSb0xtTmxhV3dvZDJsa2RHZ2dMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYVhSelRHVm1kQ0E5SUhkcFpIUm9JQ1VnTWpZN1hHNWNiaUFnSUNBdkx5QkZlSFJsYm1RZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR0o1ZEdWelRtVmxaR1ZrS1R0Y2JseHVJQ0FnSUdsbUlDaGlhWFJ6VEdWbWRDQStJREFwSUh0Y2JpQWdJQ0FnSUdKNWRHVnpUbVZsWkdWa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHTnZiWEJzWlhSbElIZHZjbVJ6WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpZVhSbGMwNWxaV1JsWkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdmblJvYVhNdWQyOXlaSE5iYVYwZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUm9aU0J5WlhOcFpIVmxYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnS0RCNE0yWm1abVptWmlBK1BpQW9NallnTFNCaWFYUnpUR1ZtZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRnVaQ0J5WlcxdmRtVWdiR1ZoWkdsdVp5QjZaWEp2WlhOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV1YjNSdUlEMGdablZ1WTNScGIyNGdibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdWIzUnVLSGRwWkhSb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVFpYUWdZR0pwZEdBZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1elpYUnVJRDBnWm5WdVkzUnBiMjRnYzJWMGJpQW9ZbWwwTENCMllXd3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBJRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJoYm1Rb2IyWm1JQ3NnTVNrN1hHNWNiaUFnSUNCcFppQW9kbUZzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnZkNBb01TQThQQ0IzWW1sMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0dlptWmRJRDBnZEdocGN5NTNiM0prYzF0dlptWmRJQ1lnZmlneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVdSa0lHQnVkVzFnSUhSdklHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGa1pDQTlJR1oxYm1OMGFXOXVJR2xoWkdRZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeU8xeHVYRzRnSUNBZ0x5OGdibVZuWVhScGRtVWdLeUJ3YjNOcGRHbDJaVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQnlJRDBnZEdocGN5NXBjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JseHVJQ0FnSUM4dklIQnZjMmwwYVhabElDc2dibVZuWVhScGRtVmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnS3lBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BqNGdNalk3WEc0Z0lDQWdmVnh1SUNBZ0lHWnZjaUFvT3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY2lBOUlDaGhMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFGMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdMeThnUTI5d2VTQjBhR1VnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUIwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1emRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSEpsY3lBOUlHNTFiUzV6ZFdJb2RHaHBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXUmtLRzUxYlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFXRmtaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdMU0FvTFc1MWJTa2dQU0IwYUdseklDc2diblZ0WEc0Z0lDQWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhJdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUF0ZEdocGN5QXRJRzUxYlNBOUlDMG9kR2hwY3lBcklHNTFiU2xjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGMElIUm9hWE1nY0c5cGJuUWdZbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpWeHVJQ0FnSUhaaGNpQmpiWEFnUFNCMGFHbHpMbU50Y0NodWRXMHBPMXh1WEc0Z0lDQWdMeThnVDNCMGFXMXBlbUYwYVc5dUlDMGdlbVZ5YjJsbWVWeHVJQ0FnSUdsbUlDaGpiWEFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhJRDRnWWx4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnTFNBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K0lESTJPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlISWdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUTI5d2VTQnlaWE4wSUc5bUlIUm9aU0IzYjNKa2MxeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZ2dKaVlnWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrcE8xeHVYRzRnSUNBZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZaUE5SUdaMWJtTjBhVzl1SUhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMzVmlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjMjFoYkd4TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNBb2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1NCOElEQTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJR3hsYmp0Y2JpQWdJQ0JzWlc0Z1BTQW9iR1Z1SUMwZ01Ta2dmQ0F3TzF4dVhHNGdJQ0FnTHk4Z1VHVmxiQ0J2Ym1VZ2FYUmxjbUYwYVc5dUlDaGpiMjF3YVd4bGNpQmpZVzRuZENCa2J5QnBkQ3dnWW1WallYVnpaU0J2WmlCamIyUmxJR052YlhCc1pYaHBkSGtwWEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdLSElnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQnZkWFF1ZDI5eVpITmJNRjBnUFNCc2J6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F4T3lCcklEd2diR1Z1T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnWTJGeWNua2dQajQrSURJMk8xeHVJQ0FnSUNBZ2RtRnlJSEozYjNKa0lEMGdZMkZ5Y25rZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjJZWElnYldGNFNpQTlJRTFoZEdndWJXbHVLR3NzSUc1MWJTNXNaVzVuZEdnZ0xTQXhLVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNCTllYUm9MbTFoZUNnd0xDQnJJQzBnYzJWc1ppNXNaVzVuZEdnZ0t5QXhLVHNnYWlBOFBTQnRZWGhLT3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0FvYXlBdElHb3BJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lTQTlJSE5sYkdZdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2JuVnRMbmR2Y21SelcycGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NpQTlJR0VnS2lCaUlDc2djbmR2Y21RN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBclBTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5ZDI5eVpDQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpDQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJRzVqWVhKeWVTQjhJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2IzVjBMbmR2Y21SelcydGRJRDBnWTJGeWNua2dmQ0F3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnTHk4Z1ZFOUVUeWhwYm1SMWRHNTVLVG9nYVhRZ2JXRjVJR0psSUhKbFlYTnZibUZpYkdVZ2RHOGdiMjFwZENCcGRDQm1iM0lnZFhObGNuTWdkMmh2SUdSdmJpZDBJRzVsWldSY2JpQWdMeThnZEc4Z2QyOXlheUIzYVhSb0lESTFOaTFpYVhRZ2JuVnRZbVZ5Y3l3Z2IzUm9aWEozYVhObElHbDBJR2RwZG1WeklESXdKU0JwYlhCeWIzWmxiV1Z1ZENCbWIzSWdNalUyTFdKcGRGeHVJQ0F2THlCdGRXeDBhWEJzYVdOaGRHbHZiaUFvYkdsclpTQmxiR3hwY0hScFl5QnpaV053TWpVMmF6RXBMbHh1SUNCMllYSWdZMjl0WWpFd1RYVnNWRzhnUFNCbWRXNWpkR2x2YmlCamIyMWlNVEJOZFd4VWJ5QW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcElIdGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUc4Z1BTQnZkWFF1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJR01nUFNBd08xeHVJQ0FnSUhaaGNpQnNienRjYmlBZ0lDQjJZWElnYldsa08xeHVJQ0FnSUhaaGNpQm9hVHRjYmlBZ0lDQjJZWElnWVRBZ1BTQmhXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d3SUQwZ1lUQWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTUNBOUlHRXdJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVEVnUFNCaFd6RmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3hJRDBnWVRFZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NU0E5SUdFeElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUSWdQU0JoV3pKZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eUlEMGdZVElnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01pQTlJR0V5SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRNZ1BTQmhXek5kSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d6SUQwZ1lUTWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTXlBOUlHRXpJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFFnUFNCaFd6UmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzBJRDBnWVRRZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OQ0E5SUdFMElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUVWdQU0JoV3pWZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MUlEMGdZVFVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05TQTlJR0UxSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRZZ1BTQmhXelpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cySUQwZ1lUWWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTmlBOUlHRTJJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGNnUFNCaFd6ZGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzNJRDBnWVRjZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OeUE5SUdFM0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUZ2dQU0JoV3poZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3NElEMGdZVGdnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb09DQTlJR0U0SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRrZ1BTQmhXemxkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c1SUQwZ1lUa2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT1NBOUlHRTVJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZakFnUFNCaVd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3dJRDBnWWpBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NQ0E5SUdJd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqRWdQU0JpV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eElEMGdZakVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01TQTlJR0l4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpJZ1BTQmlXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd5SUQwZ1lqSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTWlBOUlHSXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZak1nUFNCaVd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3pJRDBnWWpNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NeUE5SUdJeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqUWdQU0JpV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MElEMGdZalFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05DQTlJR0kwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpVZ1BTQmlXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcxSUQwZ1lqVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTlNBOUlHSTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZallnUFNCaVd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzJJRDBnWWpZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OaUE5SUdJMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqY2dQU0JpV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWW13M0lEMGdZamNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb055QTlJR0kzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpnZ1BTQmlXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXc0SUQwZ1lqZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvT0NBOUlHSTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamtnUFNCaVd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzVJRDBnWWprZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PU0E5SUdJNUlENCtQaUF4TXp0Y2JseHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJSE5sYkdZdWJtVm5ZWFJwZG1VZ1hpQnVkVzB1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SURFNU8xeHVJQ0FnSUM4cUlHc2dQU0F3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01DazdYRzRnSUNBZ2RtRnlJSGN3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTUNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6QWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01pQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdneUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3lJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNaUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3pJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpNZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kelFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ05TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTlNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6VWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTJJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM05pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkellnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EzSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNExDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjNElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM09DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkemdnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0E1SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM1SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT1NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6a2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eEtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhREVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURFcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UQWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNU0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRElwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURJcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXhJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRNcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NeWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTXlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXlJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE15QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEUXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRFFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVE1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TkNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzFLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURVcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEVXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRZcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTmlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TlNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzNLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURjcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEY3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE5pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRZZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE55QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEZ3BPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRGdwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE55QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRrcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT1NrN1hHNGdJQ0FnZG1GeUlIY3hPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekU0SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UZ2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJRzliTUYwZ1BTQjNNRHRjYmlBZ0lDQnZXekZkSUQwZ2R6RTdYRzRnSUNBZ2Ixc3lYU0E5SUhjeU8xeHVJQ0FnSUc5Yk0xMGdQU0IzTXp0Y2JpQWdJQ0J2V3pSZElEMGdkelE3WEc0Z0lDQWdiMXMxWFNBOUlIYzFPMXh1SUNBZ0lHOWJObDBnUFNCM05qdGNiaUFnSUNCdld6ZGRJRDBnZHpjN1hHNGdJQ0FnYjFzNFhTQTlJSGM0TzF4dUlDQWdJRzliT1YwZ1BTQjNPVHRjYmlBZ0lDQnZXekV3WFNBOUlIY3hNRHRjYmlBZ0lDQnZXekV4WFNBOUlIY3hNVHRjYmlBZ0lDQnZXekV5WFNBOUlIY3hNanRjYmlBZ0lDQnZXekV6WFNBOUlIY3hNenRjYmlBZ0lDQnZXekUwWFNBOUlIY3hORHRjYmlBZ0lDQnZXekUxWFNBOUlIY3hOVHRjYmlBZ0lDQnZXekUyWFNBOUlIY3hOanRjYmlBZ0lDQnZXekUzWFNBOUlIY3hOenRjYmlBZ0lDQnZXekU0WFNBOUlIY3hPRHRjYmlBZ0lDQnBaaUFvWXlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjFzeE9WMGdQU0JqTzF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiM1YwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ2YkhsbWFXeHNJR052YldKY2JpQWdhV1lnS0NGTllYUm9MbWx0ZFd3cElIdGNiaUFnSUNCamIyMWlNVEJOZFd4VWJ5QTlJSE50WVd4c1RYVnNWRzg3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaWFXZE5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQnVkVzB1Ym1WbllYUnBkbVVnWGlCelpXeG1MbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0J6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJSFpoY2lCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcklEMGdNRHNnYXlBOElHOTFkQzVzWlc1bmRHZ2dMU0F4T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQWdJR2h1WTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISjNiM0prSUQwZ1kyRnljbmtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMllYSWdiV0Y0U2lBOUlFMWhkR2d1YldsdUtHc3NJRzUxYlM1c1pXNW5kR2dnTFNBeEtUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0JOWVhSb0xtMWhlQ2d3TENCcklDMGdjMlZzWmk1c1pXNW5kR2dnS3lBeEtUc2dhaUE4UFNCdFlYaEtPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQnJJQzBnYWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzVqWVhKeWVTQTlJQ2h1WTJGeWNua2dLeUFvS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrcElId2dNRHRjYmlBZ0lDQWdJQ0FnYkc4Z1BTQW9iRzhnS3lCeWQyOXlaQ2tnZkNBd08xeHVJQ0FnSUNBZ0lDQnlkMjl5WkNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tHeHZJRDQrUGlBeU5pa3BJSHdnTUR0Y2JseHVJQ0FnSUNBZ0lDQm9ibU5oY25KNUlDczlJRzVqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCeWQyOXlaRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNU8xeHVJQ0FnSUNBZ2JtTmhjbko1SUQwZ2FHNWpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2IzVjBMbXhsYm1kMGFDMHRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUXVjM1J5YVhBb0tUdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR3AxYldKdlRYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdabWRHMGdQU0J1WlhjZ1JrWlVUU2dwTzF4dUlDQWdJSEpsZEhWeWJpQm1ablJ0TG0xMWJIQW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmdkR2hwYzJBZ1lua2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXeFVieWh1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2daVzF3Ykc5NWFXNW5JRVpHVkZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ppQTlJR1oxYm1OMGFXOXVJRzExYkdZZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJR3AxYldKdlRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVMWEJzWVdObElFMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzV0ZFd4VWJ5aHVkVzBzSUhSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiWFZzYmlBOUlHWjFibU4wYVc5dUlHbHRkV3h1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeHVJRDBnWm5WdVkzUnBiMjRnYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJYVnNiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdCMGFHbHpZQ0FxSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM0Z5SUQwZ1puVnVZM1JwYjI0Z2MzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMTFiQ2gwYUdsekxtTnNiMjVsS0NrcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxaGRHZ3VjRzkzS0dCMGFHbHpZQ3dnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXdiM2NnUFNCbWRXNWpkR2x2YmlCd2IzY2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEc5Q2FYUkJjbkpoZVNodWRXMHBPMXh1SUNBZ0lHbG1JQ2gzTG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lDOHZJRk5yYVhBZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3p0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEpsY3lBOUlISmxjeTV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdhV1lnS0hkYmFWMGdJVDA5SURBcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNncksya2dQQ0IzTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnY1NBOUlISmxjeTV6Y1hJb0tUc2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEVnUFNCeExuTnhjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gzVzJsZElEMDlQU0F3S1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWE1nUFNCeVpYTXViWFZzS0hFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRiR1ZtZENCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFHeHVJRDBnWm5WdVkzUnBiMjRnYVhWemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZEhNZ0xTQnlLU0F2SURJMk8xeHVJQ0FnSUhaaGNpQmpZWEp5ZVUxaGMyc2dQU0FvTUhnelptWm1abVptSUQ0K1BpQW9NallnTFNCeUtTa2dQRHdnS0RJMklDMGdjaWs3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVsZDBOaGNuSjVJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JR05oY25KNVRXRnphenRjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0FvS0hSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElHNWxkME5oY25KNUtTQThQQ0J5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWXlCOElHTmhjbko1TzF4dUlDQWdJQ0FnSUNCallYSnllU0E5SUc1bGQwTmhjbko1SUQ0K1BpQW9NallnTFNCeUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUNzOUlITTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbHRjR3hsYldWdWRDQnRaVnh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWE5vYkc0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMmhwWm5RdGNtbG5hSFFnYVc0dGNHeGhZMlZjYmlBZ0x5OGdUazlVUlRvZ1lHaHBiblJnSUdseklHRWdiRzkzWlhOMElHSnBkQ0JpWldadmNtVWdkSEpoYVd4cGJtY2dlbVZ5YjJWelhHNGdJQzh2SUU1UFZFVTZJR2xtSUdCbGVIUmxibVJsWkdBZ2FYTWdjSEpsYzJWdWRDQXRJR2wwSUhkcGJHd2dZbVVnWm1sc2JHVmtJSGRwZEdnZ1pHVnpkSEp2ZVdWa0lHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2wxYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkSE1nUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZEhNZ1BqMGdNQ2s3WEc0Z0lDQWdkbUZ5SUdnN1hHNGdJQ0FnYVdZZ0tHaHBiblFwSUh0Y2JpQWdJQ0FnSUdnZ1BTQW9hR2x1ZENBdElDaG9hVzUwSUNVZ01qWXBLU0F2SURJMk8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJRTFoZEdndWJXbHVLQ2hpYVhSeklDMGdjaWtnTHlBeU5pd2dkR2hwY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVptSUY0Z0tDZ3dlRE5tWm1abVptWWdQajQrSUhJcElEdzhJSElwTzF4dUlDQWdJSFpoY2lCdFlYTnJaV1JYYjNKa2N5QTlJR1Y0ZEdWdVpHVmtPMXh1WEc0Z0lDQWdhQ0F0UFNCek8xeHVJQ0FnSUdnZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JvS1R0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkdWa0lHMXZaR1VzSUdOdmNIa2diV0Z6YTJWa0lIQmhjblJjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djenNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG14bGJtZDBhQ0E5SUhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDOHZJRTV2TFc5d0xDQjNaU0J6YUc5MWJHUWdibTkwSUcxdmRtVWdZVzU1ZEdocGJtY2dZWFFnWVd4c1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJSE03WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBZ0ppWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dQajBnYUNrN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIZHZjbVFnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvWTJGeWNua2dQRHdnS0RJMklDMGdjaWtwSUh3Z0tIZHZjbVFnUGo0K0lISXBPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNiM0prSUNZZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRZFhOb0lHTmhjbkpwWldRZ1ltbDBjeUJoY3lCaElHMWhjMnRjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNZ0ppWWdZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGMydGxaRmR2Y21SekxuZHZjbVJ6VzIxaGMydGxaRmR2Y21SekxteGxibWQwYUNzclhTQTlJR05oY25KNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYjI1c2VTQnNiM2RsY25NZ1ltbDBjeUJ2WmlCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTFoYzJ0dUlEMGdablZ1WTNScGIyNGdiV0Z6YTI0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdFlYTnJiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJSFJ2SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV0ZrWkc0Z1BTQm1kVzVqZEdsdmJpQnBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3Z01IZzBNREF3TURBd0tUdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2djbVYwZFhKdUlIUm9hWE11YVhOMVltNG9MVzUxYlNrN1hHNWNiaUFnSUNBdkx5QlFiM056YVdKc1pTQnphV2R1SUdOb1lXNW5aVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnS0hSb2FYTXVkMjl5WkhOYk1GMGdmQ0F3S1NBOElHNTFiU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnYm5WdElDMGdLSFJvYVhNdWQyOXlaSE5iTUYwZ2ZDQXdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVhOMVltNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdodmRYUWdZMmhsWTJ0elhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBZV1JrYmlBOUlHWjFibU4wYVc5dUlGOXBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBclBTQnVkVzA3WEc1Y2JpQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0ErUFNBd2VEUXdNREF3TURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQXRQU0F3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJREZkSUQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySURGZEt5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrZ0t5QXhLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk4xWW5SeVlXTjBJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVltNGdQU0JtZFc1amRHbHZiaUJwYzNWaWJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmlBZ0lDQnBaaUFvYm5WdElEd2dNQ2tnY21WMGRYSnVJSFJvYVhNdWFXRmtaRzRvTFc1MWJTazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdSdUtHNTFiU2s3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0xUMGdiblZ0TzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeElDWW1JSFJvYVhNdWQyOXlaSE5iTUYwZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdMWFJvYVhNdWQyOXlaSE5iTUYwN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnUTJGeWNubGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0E4SURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQ3M5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ0xUMGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhaR1J1SUQwZ1puVnVZM1JwYjI0Z1lXUmtiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZV1JrYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkV0p1SUQwZ1puVnVZM1JwYjI0Z2MzVmliaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBjM1ZpYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV0p6SUQwZ1puVnVZM1JwYjI0Z2FXRmljeUFvS1NCN1hHNGdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdKeklEMGdablZ1WTNScGIyNGdZV0p6SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhZbk1vS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsemFHeHVjM1ZpYlhWc0lEMGdablZ1WTNScGIyNGdYMmx6YUd4dWMzVmliWFZzSUNodWRXMHNJRzExYkN3Z2MyaHBablFwSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYm5WdExteGxibWQwYUNBcklITm9hV1owTzF4dUlDQWdJSFpoY2lCcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR3hsYmlrN1hHNWNiaUFnSUNCMllYSWdkenRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCeWFXZG9kQ0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlHMTFiRHRjYmlBZ0lDQWdJSGNnTFQwZ2NtbG5hSFFnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUNoM0lENCtJREkyS1NBdElDZ29jbWxuYUhRZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDMGdjMmhwWm5RN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnUFQwOUlEQXBJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc1Y2JpQWdJQ0F2THlCVGRXSjBjbUZqZEdsdmJpQnZkbVZ5Wm14dmQxeHVJQ0FnSUdGemMyVnlkQ2hqWVhKeWVTQTlQVDBnTFRFcE8xeHVJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUMwb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZkMjl5WkVScGRpQTlJR1oxYm1OMGFXOXVJRjkzYjNKa1JHbDJJQ2h1ZFcwc0lHMXZaR1VwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCMGFHbHpMbXhsYm1kMGFDQXRJRzUxYlM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFNXZjbTFoYkdsNlpWeHVJQ0FnSUhaaGNpQmlhR2tnUFNCaUxuZHZjbVJ6VzJJdWJHVnVaM1JvSUMwZ01WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWFHbENhWFJ6SUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0dKb2FTazdYRzRnSUNBZ2MyaHBablFnUFNBeU5pQXRJR0pvYVVKcGRITTdYRzRnSUNBZ2FXWWdLSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaUlEMGdZaTUxYzJoc2JpaHphR2xtZENrN1hHNGdJQ0FnSUNCaExtbDFjMmhzYmloemFHbG1kQ2s3WEc0Z0lDQWdJQ0JpYUdrZ1BTQmlMbmR2Y21SelcySXViR1Z1WjNSb0lDMGdNVjBnZkNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdjWFZ2ZEdsbGJuUmNiaUFnSUNCMllYSWdiU0E5SUdFdWJHVnVaM1JvSUMwZ1lpNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlIRTdYRzVjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJSEVnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ0lDQnhMbXhsYm1kMGFDQTlJRzBnS3lBeE8xeHVJQ0FnSUNBZ2NTNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaHhMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHUnBabVlnUFNCaExtTnNiMjVsS0NrdVgybHphR3h1YzNWaWJYVnNLR0lzSURFc0lHMHBPMXh1SUNBZ0lHbG1JQ2hrYVdabUxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdaR2xtWmp0Y2JpQWdJQ0FnSUdsbUlDaHhLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYlYwZ1BTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J0SUMwZ01Uc2dhaUErUFNBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhhaUE5SUNoaExuZHZjbVJ6VzJJdWJHVnVaM1JvSUNzZ2FsMGdmQ0F3S1NBcUlEQjROREF3TURBd01DQXJYRzRnSUNBZ0lDQWdJQ2hoTG5kdmNtUnpXMkl1YkdWdVozUm9JQ3NnYWlBdElERmRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lDOHZJRTVQVkVVNklDaHhhaUF2SUdKb2FTa2dhWE1nS0RCNE0yWm1abVptWmlBcUlEQjROREF3TURBd01DQXJJREI0TTJabVptWm1aaWtnTHlBd2VESXdNREF3TURBZ2JXRjRYRzRnSUNBZ0lDQXZMeUFvTUhnM1ptWm1abVptS1Z4dUlDQWdJQ0FnY1dvZ1BTQk5ZWFJvTG0xcGJpZ29jV29nTHlCaWFHa3BJSHdnTUN3Z01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2djV29zSUdvcE8xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NXb3RMVHRjYmlBZ0lDQWdJQ0FnWVM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQWdJR0V1WDJsemFHeHVjM1ZpYlhWc0tHSXNJREVzSUdvcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeEtTQjdYRzRnSUNBZ0lDQWdJSEV1ZDI5eVpITmJhbDBnUFNCeGFqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJSEV1YzNSeWFYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ1lTNXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdSR1Z1YjNKdFlXeHBlbVZjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY2dKaVlnYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtITm9hV1owS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdaR2wyT2lCeElIeDhJRzUxYkd3c1hHNGdJQ0FnSUNCdGIyUTZJR0ZjYmlBZ0lDQjlPMXh1SUNCOU8xeHVYRzRnSUM4dklFNVBWRVU2SURFcElHQnRiMlJsWUNCallXNGdZbVVnYzJWMElIUnZJR0J0YjJSZ0lIUnZJSEpsY1hWbGMzUWdiVzlrSUc5dWJIa3NYRzRnSUM4dklDQWdJQ0FnSUhSdklHQmthWFpnSUhSdklISmxjWFZsYzNRZ1pHbDJJRzl1Ykhrc0lHOXlJR0psSUdGaWMyVnVkQ0IwYjF4dUlDQXZMeUFnSUNBZ0lDQnlaWEYxWlhOMElHSnZkR2dnWkdsMklDWWdiVzlrWEc0Z0lDOHZJQ0FnSUNBZ0lESXBJR0J3YjNOcGRHbDJaV0FnYVhNZ2RISjFaU0JwWmlCMWJuTnBaMjVsWkNCdGIyUWdhWE1nY21WeGRXVnpkR1ZrWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhadGIyUWdQU0JtZFc1amRHbHZiaUJrYVhadGIyUWdLRzUxYlN3Z2JXOWtaU3dnY0c5emFYUnBkbVVwSUh0Y2JpQWdJQ0JoYzNObGNuUW9JVzUxYlM1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tEQXBYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVhZc0lHMXZaQ3dnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2R0YjJRbktTQjdYRzRnSUNBZ0lDQWdJR1JwZGlBOUlISmxjeTVrYVhZdWJtVm5LQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnRiMlFnUFNCeVpYTXViVzlrTG01bFp5Z3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwZG1VZ0ppWWdiVzlrTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXOWtMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUnBkbTF2WkNodWRXMHVibVZuS0Nrc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2djbVZ6TG0xdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ0ppQnVkVzB1Ym1WbllYUnBkbVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG01bFp5Z3BMbVJwZG0xdlpDaHVkVzB1Ym1WbktDa3NJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCeVpYTXVaR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQ2IzUm9JRzUxYldKbGNuTWdZWEpsSUhCdmMybDBhWFpsSUdGMElIUm9hWE1nY0c5cGJuUmNibHh1SUNBZ0lDOHZJRk4wY21sd0lHSnZkR2dnYm5WdFltVnljeUIwYnlCaGNIQnliM2hwYldGMFpTQnphR2xtZENCMllXeDFaVnh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQ0Z2RHaHBjeTVzWlc1bmRHZ2dmSHdnZEdocGN5NWpiWEFvYm5WdEtTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklIUm9hWE5jYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVm1WeWVTQnphRzl5ZENCeVpXUjFZM1JwYjI1Y2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1MWJHeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdaR2wyT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhSb2FYTXVaR2wyYmlodWRXMHVkMjl5WkhOYk1GMHBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2Wkc0b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnY2pJZ1BUMDlJREVnSmlZZ1kyMXdJRDA5UFNBd0tTQnlaWFIxY200Z1pHMHVaR2wyTzF4dVhHNGdJQ0FnTHk4Z1VtOTFibVFnZFhCY2JpQWdJQ0J5WlhSMWNtNGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHVaR2wyTG1semRXSnVLREVwSURvZ1pHMHVaR2wyTG1saFpHUnVLREVwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0YjJSdUlEMGdablZ1WTNScGIyNGdiVzlrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUhaaGNpQndJRDBnS0RFZ1BEd2dNallwSUNVZ2JuVnRPMXh1WEc0Z0lDQWdkbUZ5SUdGall5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lHRmpZeUE5SUNod0lDb2dZV05qSUNzZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTa2dKU0J1ZFcwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JrYVhacGMybHZiaUJpZVNCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxrYVhadUlEMGdablZ1WTNScGIyNGdhV1JwZG00Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNUlDb2dNSGcwTURBd01EQXdPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlDaDNJQzhnYm5WdEtTQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiaUE5SUdaMWJtTjBhVzl1SUdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXUnBkbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpXZGpaQ0E5SUdaMWJtTjBhVzl1SUdWblkyUWdLSEFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9jQzV1WldkaGRHbDJaU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NGd0xtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUI0SUQwZ2RHaHBjenRjYmlBZ0lDQjJZWElnZVNBOUlIQXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lHbG1JQ2g0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNTFiVzlrS0hBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNWpiRzl1WlNncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRWdLaUI0SUNzZ1FpQXFJSGtnUFNCNFhHNGdJQ0FnZG1GeUlFRWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUVJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQXZMeUJESUNvZ2VDQXJJRVFnS2lCNUlEMGdlVnh1SUNBZ0lIWmhjaUJESUQwZ2JtVjNJRUpPS0RBcE8xeHVJQ0FnSUhaaGNpQkVJRDBnYm1WM0lFSk9LREVwTzF4dVhHNGdJQ0FnZG1GeUlHY2dQU0F3TzF4dVhHNGdJQ0FnZDJocGJHVWdLSGd1YVhORmRtVnVLQ2tnSmlZZ2VTNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdlQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I1TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNzclp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdlWEFnUFNCNUxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlIaHdJRDBnZUM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLQ0Y0TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvZUM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSGd1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hCTG1selQyUmtLQ2tnZkh3Z1FpNXBjMDlrWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxtbGhaR1FvZVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnUWk1cGMzVmlLSGh3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCQkxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdJQ0JDTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTUN3Z2FtMGdQU0F4T3lBb2VTNTNiM0prYzFzd1hTQW1JR3B0S1NBOVBUMGdNQ0FtSmlCcUlEd2dNalk3SUNzcmFpd2dhbTBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0dvZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYVnphSEp1S0dvcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FpMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoRExtbHpUMlJrS0NrZ2ZId2dSQzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkRMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1JDNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCRUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VDNWpiWEFvZVNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbHpkV0lvZVNrN1hHNGdJQ0FnSUNBZ0lFRXVhWE4xWWloREtUdGNiaUFnSUNBZ0lDQWdRaTVwYzNWaUtFUXBPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlUzVwYzNWaUtIZ3BPMXh1SUNBZ0lDQWdJQ0JETG1semRXSW9RU2s3WEc0Z0lDQWdJQ0FnSUVRdWFYTjFZaWhDS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZVG9nUXl4Y2JpQWdJQ0FnSUdJNklFUXNYRzRnSUNBZ0lDQm5ZMlE2SUhrdWFYVnphR3h1S0djcFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJVYUdseklHbHpJSEpsWkhWalpXUWdhVzVqWVhKdVlYUnBiMjRnYjJZZ2RHaGxJR0pwYm1GeWVTQkZSVUZjYmlBZ0x5OGdZV0p2ZG1Vc0lHUmxjMmxuYm1GMFpXUWdkRzhnYVc1MlpYSjBJRzFsYldKbGNuTWdiMllnZEdobFhHNGdJQzh2SUY5d2NtbHRaVjhnWm1sbGJHUnpJRVlvY0NrZ1lYUWdZU0J0WVhocGJXRnNJSE53WldWa1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNTJiWEFnUFNCbWRXNWpkR2x2YmlCZmFXNTJiWEFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoaExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdZUzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaElEMGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI0TVNBOUlHNWxkeUJDVGlneEtUdGNiaUFnSUNCMllYSWdlRElnUFNCdVpYY2dRazRvTUNrN1hHNWNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQmlMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjNhR2xzWlNBb1lTNWpiWEJ1S0RFcElENGdNQ0FtSmlCaUxtTnRjRzRvTVNrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhVzBnUFNBeE95QW9ZUzUzYjNKa2Mxc3dYU0FtSUdsdEtTQTlQVDBnTUNBbUppQnBJRHdnTWpZN0lDc3JhU3dnYVcwZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWFZ6YUhKdUtHa3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hUzB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNUzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNUzVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1TNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLR0l1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmlMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9lREl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlREl1YVdGa1pDaGtaV3gwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2VESXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGhMbU50Y0NoaUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNBZ0lDQWdlREV1YVhOMVlpaDRNaWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JpTG1semRXSW9ZU2s3WEc0Z0lDQWdJQ0FnSUhneUxtbHpkV0lvZURFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdhV1lnS0dFdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdlREU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZGpaQ0E5SUdaMWJtTjBhVzl1SUdkalpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJ1ZFcwdVlXSnpLQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTNXBjMXBsY204b0tTa2djbVYwZFhKdUlIUm9hWE11WVdKektDazdYRzVjYmlBZ0lDQjJZWElnWVNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQjJZWElnWWlBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJR0l1Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ0x5OGdVbVZ0YjNabElHTnZiVzF2YmlCbVlXTjBiM0lnYjJZZ2RIZHZYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2MyaHBablFnUFNBd095QmhMbWx6UlhabGJpZ3BJQ1ltSUdJdWFYTkZkbVZ1S0NrN0lITm9hV1owS3lzcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdZaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnZDJocGJHVWdLR0V1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb1lpNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSElnUFNCaExtTnRjQ2hpS1R0Y2JpQWdJQ0FnSUdsbUlDaHlJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUZDJGd0lHQmhZQ0JoYm1RZ1lHSmdJSFJ2SUcxaGEyVWdZR0ZnSUdGc2QyRjVjeUJpYVdkblpYSWdkR2hoYmlCZ1ltQmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQmhPMXh1SUNBZ0lDQWdJQ0JoSUQwZ1lqdGNiaUFnSUNBZ0lDQWdZaUE5SUhRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISWdQVDA5SURBZ2ZId2dZaTVqYlhCdUtERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2RISjFaU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZaTVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdWRtVnlkQ0J1ZFcxaVpYSWdhVzRnZEdobElHWnBaV3hrSUVZb2JuVnRLVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZuWTJRb2JuVnRLUzVoTG5WdGIyUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhORmRtVnVJRDBnWm5WdVkzUnBiMjRnYVhORmRtVnVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTlBaR1FnUFNCbWRXNWpkR2x2YmlCcGMwOWtaQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuZHZjbVJ6V3pCZElDWWdNU2tnUFQwOUlERTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR1pwY25OMElIZHZjbVFnWVc1a0lHNTFiVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZVzVrYkc0Z1BTQm1kVzVqZEdsdmJpQmhibVJzYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZDI5eVpITmJNRjBnSmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNWpjbVZ0Wlc1MElHRjBJSFJvWlNCaWFYUWdjRzl6YVhScGIyNGdhVzR0YkdsdVpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbHVZMjRnUFNCbWRXNWpkR2x2YmlCaWFXNWpiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkQ0FsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRDQXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJSEVnUFNBeElEdzhJSEk3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVNklHSnBkQ0JwY3lCdGRXTm9JR2hwWjJobGNpQjBhR0Z1SUdGc2JDQmxlR2x6ZEdsdVp5QjNiM0prYzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQThQU0J6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlsZUhCaGJtUW9jeUFySURFcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHpYU0I4UFNCeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKcGRDQmhibVFnY0hKdmNHRm5ZWFJsTENCcFppQnVaV1ZrWldSY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNCeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpPeUJqWVhKeWVTQWhQVDBnTUNBbUppQnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSGNnS3owZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnUGo0K0lESTJPMXh1SUNBZ0lDQWdkeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZHp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOYVpYSnZJRDBnWm5WdVkzUnBiMjRnYVhOYVpYSnZJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTIxd2JpQTlJR1oxYm1OMGFXOXVJR050Y0c0Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdVpXZGhkR2wyWlNBOUlHNTFiU0E4SURBN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlBaGJtVm5ZWFJwZG1VcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lISmxjeUE5SURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNodVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzBnUFNBdGJuVnRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppd2dKMDUxYldKbGNpQnBjeUIwYjI4Z1ltbG5KeWs3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjNJRDA5UFNCdWRXMGdQeUF3SURvZ2R5QThJRzUxYlNBL0lDMHhJRG9nTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdkSGR2SUc1MWJXSmxjbk1nWVc1a0lISmxkSFZ5YmpwY2JpQWdMeThnTVNBdElHbG1JR0IwYUdsellDQStJR0J1ZFcxZ1hHNGdJQzh2SURBZ0xTQnBaaUJnZEdocGMyQWdQVDBnWUc1MWJXQmNiaUFnTHk4Z0xURWdMU0JwWmlCZ2RHaHBjMkFnUENCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZMjF3SUQwZ1puVnVZM1JwYjI0Z1kyMXdJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdQVDA5SURBcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE11ZFdOdGNDaHVkVzBwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQnlaWFIxY200Z0xYSmxjeUI4SURBN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJWYm5OcFoyNWxaQ0JqYjIxd1lYSnBjMjl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWTIxd0lEMGdablZ1WTNScGIyNGdkV050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nYUdGMlpTQjBhR1VnYzJGdFpTQnphV2R1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJREU3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJQzB4TzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJSFpoY2lCaElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHBYU0I4SURBN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoSUQwOVBTQmlLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJR2xtSUNoaElEd2dZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F0TVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lTQStJR0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHNGdQU0JtZFc1amRHbHZiaUJuZEc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1FnUFNCbWRXNWpkR2x2YmlCbmRDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdLRzUxYlNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlc0Z1BTQm1kVzVqZEdsdmJpQm5kR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUGowZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVozUmxJRDBnWm5WdVkzUnBiMjRnWjNSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkRzRnUFNCbWRXNWpkR2x2YmlCc2RHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTFRFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MElEMGdablZ1WTNScGIyNGdiSFFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxiaUE5SUdaMWJtTjBhVzl1SUd4MFpXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQThQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVzZEdVZ1BTQm1kVzVqZEdsdmJpQnNkR1VnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1WeGJpQTlJR1oxYm1OMGFXOXVJR1Z4YmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQklISmxaSFZqWlNCamIyNTBaWGgwTENCamIzVnNaQ0JpWlNCMWMybHVaeUJ0YjI1MFoyOXRaWEo1SUc5eUlITnZiV1YwYUdsdVp5QmlaWFIwWlhJc0lHUmxjR1Z1WkdsdVoxeHVJQ0F2THlCdmJpQjBhR1VnWUcxZ0lHbDBjMlZzWmk1Y2JpQWdMeTljYmlBZ1FrNHVjbVZrSUQwZ1puVnVZM1JwYjI0Z2NtVmtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGSmxaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxSmxaQ0E5SUdaMWJtTjBhVzl1SUhSdlVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZM1I0TG1OdmJuWmxjblJVYnloMGFHbHpLUzVmWm05eVkyVlNaV1FvWTNSNEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVkpsWkNBOUlHWjFibU4wYVc5dUlHWnliMjFTWldRZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0oyWnliMjFTWldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUc1MWJXSmxjbk1nYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WTI5dWRtVnlkRVp5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDltYjNKalpWSmxaQ0E5SUdaMWJtTjBhVzl1SUY5bWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdkR2hwY3k1eVpXUWdQU0JqZEhnN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1admNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1ptOXlZMlZTWldRZ0tHTjBlQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hkR2hwY3k1eVpXUXNJQ2RCYkhKbFlXUjVJR0VnYm5WdFltVnlJR2x1SUhKbFpIVmpkR2x2YmlCamIyNTBaWGgwSnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVGa1pDQTlJR1oxYm1OMGFXOXVJSEpsWkVGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1FXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNWhaR1FvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NVRmtaQ0E5SUdaMWJtTjBhVzl1SUhKbFpFbEJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRWxCWkdRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1saFpHUW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVTNWaUlEMGdablZ1WTNScGIyNGdjbVZrVTNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTjFZaWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzVmlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk4xWWlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOMVlpaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUYUd3Z1BTQm1kVzVqZEdsdmJpQnlaV1JUYUd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOb2JDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMyaHNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkUxMWJDQTlJR1oxYm1OMGFXOXVJSEpsWkUxMWJDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1RYVnNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3lLSFJvYVhNc0lHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtMTFiQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlRYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1NVMTFiQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUWFZzSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt5S0hSb2FYTXNJRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbWx0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtVM0Z5SUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5OeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NWTnhjaUE5SUdaMWJtTjBhVzl1SUhKbFpFbFRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbFRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1semNYSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNGMVlYSmxJSEp2YjNRZ2IzWmxjaUJ3WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGNYSjBJRDBnWm5WdVkzUnBiMjRnY21Wa1UzRnlkQ0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UzRnlkQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeWRDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NXNTJiU0E5SUdaMWJtTjBhVzl1SUhKbFpFbHVkbTBnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbHVkbTBnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1sdWRtMG9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzVsWjJGMGFYWmxJR05zYjI1bElHOW1JR0IwYUdsellDQWxJR0J5WldRZ2JXOWtkV3h2WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RtVm5JRDBnWm5WdVkzUnBiMjRnY21Wa1RtVm5JQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldST1pXY2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVURW9kR2hwY3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbTVsWnloMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVUc5M0lEMGdablZ1WTNScGIyNGdjbVZrVUc5M0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUWdKaVlnSVc1MWJTNXlaV1FzSUNkeVpXUlFiM2NvYm05eWJXRnNUblZ0S1NjcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1d2IzY29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjbWx0WlNCdWRXMWlaWEp6SUhkcGRHZ2daV1ptYVdOcFpXNTBJSEpsWkhWamRHbHZibHh1SUNCMllYSWdjSEpwYldWeklEMGdlMXh1SUNBZ0lHc3lOVFk2SUc1MWJHd3NYRzRnSUNBZ2NESXlORG9nYm5Wc2JDeGNiaUFnSUNCd01Ua3lPaUJ1ZFd4c0xGeHVJQ0FnSUhBeU5UVXhPVG9nYm5Wc2JGeHVJQ0I5TzF4dVhHNGdJQzh2SUZCelpYVmtieTFOWlhKelpXNXVaU0J3Y21sdFpWeHVJQ0JtZFc1amRHbHZiaUJOVUhKcGJXVWdLRzVoYldVc0lIQXBJSHRjYmlBZ0lDQXZMeUJRSUQwZ01pQmVJRTRnTFNCTFhHNGdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG5BZ1BTQnVaWGNnUWs0b2NDd2dNVFlwTzF4dUlDQWdJSFJvYVhNdWJpQTlJSFJvYVhNdWNDNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1zZ1BTQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtIUm9hWE11YmlrdWFYTjFZaWgwYUdsekxuQXBPMXh1WEc0Z0lDQWdkR2hwY3k1MGJYQWdQU0IwYUdsekxsOTBiWEFvS1R0Y2JpQWdmVnh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdVgzUnRjQ0E5SUdaMWJtTjBhVzl1SUY5MGJYQWdLQ2tnZTF4dUlDQWdJSFpoY2lCMGJYQWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnZEcxd0xuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtFMWhkR2d1WTJWcGJDaDBhR2x6TG00Z0x5QXhNeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBiWEE3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z2FYSmxaSFZqWlNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhOemRXMWxjeUIwYUdGMElHQnVkVzFnSUdseklHeGxjM01nZEdoaGJpQmdVRjR5WUZ4dUlDQWdJQzh2SUc1MWJTQTlJRWhKSUNvZ0tESWdYaUJPSUMwZ1N5a2dLeUJJU1NBcUlFc2dLeUJNVHlBOUlFaEpJQ29nU3lBcklFeFBJQ2h0YjJRZ1VDbGNiaUFnSUNCMllYSWdjaUE5SUc1MWJUdGNiaUFnSUNCMllYSWdjbXhsYmp0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIUm9hWE11YzNCc2FYUW9jaXdnZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVcxMWJFc29jaWs3WEc0Z0lDQWdJQ0J5SUQwZ2NpNXBZV1JrS0hSb2FYTXVkRzF3S1R0Y2JpQWdJQ0FnSUhKc1pXNGdQU0J5TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0hKc1pXNGdQaUIwYUdsekxtNHBPMXh1WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJSEpzWlc0Z1BDQjBhR2x6TG00Z1B5QXRNU0E2SUhJdWRXTnRjQ2gwYUdsekxuQXBPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjaTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTIxd0lENGdNQ2tnZTF4dUlDQWdJQ0FnY2k1cGMzVmlLSFJvYVhNdWNDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhJdWMzUnlhWEFvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFFwSUh0Y2JpQWdJQ0JwYm5CMWRDNXBkWE5vY200b2RHaHBjeTV1TENBd0xDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNXBiWFZzS0hSb2FYTXVheWs3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1N6STFOaUFvS1NCN1hHNGdJQ0FnVFZCeWFXMWxMbU5oYkd3b1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdKMnN5TlRZbkxGeHVJQ0FnSUNBZ0oyWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abElHWm1abVptWXpKbUp5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9TekkxTml3Z1RWQnlhVzFsS1R0Y2JseHVJQ0JMTWpVMkxuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMGNIVjBLU0I3WEc0Z0lDQWdMeThnTWpVMklEMGdPU0FxSURJMklDc2dNakpjYmlBZ0lDQjJZWElnYldGemF5QTlJREI0TTJabVptWm1PMXh1WEc0Z0lDQWdkbUZ5SUc5MWRFeGxiaUE5SUUxaGRHZ3ViV2x1S0dsdWNIVjBMbXhsYm1kMGFDd2dPU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2ZFhSTVpXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2IzVjBjSFYwTG5kdmNtUnpXMmxkSUQwZ2FXNXdkWFF1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHOTFkSEIxZEM1c1pXNW5kR2dnUFNCdmRYUk1aVzQ3WEc1Y2JpQWdJQ0JwWmlBb2FXNXdkWFF1YkdWdVozUm9JRHc5SURrcElIdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lHbHVjSFYwTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVTJocFpuUWdZbmtnT1NCc2FXMWljMXh1SUNBZ0lIWmhjaUJ3Y21WMklEMGdhVzV3ZFhRdWQyOXlaSE5iT1YwN1hHNGdJQ0FnYjNWMGNIVjBMbmR2Y21SelcyOTFkSEIxZEM1c1pXNW5kR2dySzEwZ1BTQndjbVYySUNZZ2JXRnphenRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJREV3T3lCcElEd2dhVzV3ZFhRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdVpYaDBJRDBnYVc1d2RYUXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYmFTQXRJREV3WFNBOUlDZ29ibVY0ZENBbUlHMWhjMnNwSUR3OElEUXBJSHdnS0hCeVpYWWdQajQrSURJeUtUdGNiaUFnSUNBZ0lIQnlaWFlnUFNCdVpYaDBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtVjJJRDQrUGowZ01qSTdYRzRnSUNBZ2FXNXdkWFF1ZDI5eVpITmJhU0F0SURFd1hTQTlJSEJ5WlhZN1hHNGdJQ0FnYVdZZ0tIQnlaWFlnUFQwOUlEQWdKaVlnYVc1d2RYUXViR1Z1WjNSb0lENGdNVEFwSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0F4TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlEazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXdNREF3TUROa01TQTlJRnNnTUhnME1Dd2dNSGd6WkRFZ1hWeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb1hTQTlJREE3WEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnS3lBeFhTQTlJREE3WEc0Z0lDQWdiblZ0TG14bGJtZDBhQ0FyUFNBeU8xeHVYRzRnSUNBZ0x5OGdZbTkxYm1SbFpDQmhkRG9nTUhnME1DQXFJREI0TTJabVptWm1aaUFySURCNE0yUXdJRDBnTUhneE1EQXdNREF6T1RCY2JpQWdJQ0IyWVhJZ2JHOGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRzUxYlM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnNieUFyUFNCM0lDb2dNSGd6WkRFN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHeHZJRDBnZHlBcUlEQjROREFnS3lBb0tHeHZJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRVpoYzNRZ2JHVnVaM1JvSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J1ZFcwdWJHVnVaM1JvTFMwN1hHNGdJQ0FnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzB1YkdWdVozUm9MUzA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJeU5DQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXlNalFuTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SURBd01EQXdNREF4SnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VESXlOQ3dnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNVGt5SUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RFNU1pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1abVptWWdabVptWm1abVptWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTVRreUxDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeU5UVXhPU0FvS1NCN1hHNGdJQ0FnTHk4Z01pQmVJREkxTlNBdElERTVYRzRnSUNBZ1RWQnlhVzFsTG1OaGJHd29YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnSnpJMU5URTVKeXhjYmlBZ0lDQWdJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9VREkxTlRFNUxDQk5VSEpwYldVcE8xeHVYRzRnSUZBeU5UVXhPUzV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVROY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVnRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNBb2JuVnRMbmR2Y21SelcybGRJSHdnTUNrZ0tpQXdlREV6SUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JvYVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHaHBJRDQrUGowZ01qWTdYRzVjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQm9hVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDc3JYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVWNGNHOXlkR1ZrSUcxdmMzUnNlU0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3l3Z2RYTmxJSEJzWVdsdUlHNWhiV1VnYVc1emRHVmhaRnh1SUNCQ1RpNWZjSEpwYldVZ1BTQm1kVzVqZEdsdmJpQndjbWx0WlNBb2JtRnRaU2tnZTF4dUlDQWdJQzh2SUVOaFkyaGxaQ0IyWlhKemFXOXVJRzltSUhCeWFXMWxYRzRnSUNBZ2FXWWdLSEJ5YVcxbGMxdHVZVzFsWFNrZ2NtVjBkWEp1SUhCeWFXMWxjMXR1WVcxbFhUdGNibHh1SUNBZ0lIWmhjaUJ3Y21sdFpUdGNiaUFnSUNCcFppQW9ibUZ0WlNBOVBUMGdKMnN5TlRZbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJMTWpVMktDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREl5TkNjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TWpRb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNVGt5SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREU1TWlncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXlOVFV4T1NjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TlRVeE9TZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdWEyNXZkMjRnY0hKcGJXVWdKeUFySUc1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtbHRaWE5iYm1GdFpWMGdQU0J3Y21sdFpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd2NtbHRaVHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQ1lYTmxJSEpsWkhWamRHbHZiaUJsYm1kcGJtVmNiaUFnTHk5Y2JpQWdablZ1WTNScGIyNGdVbVZrSUNodEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YVcxbElEMGdRazR1WDNCeWFXMWxLRzBwTzF4dUlDQWdJQ0FnZEdocGN5NXRJRDBnY0hKcGJXVXVjRHRjYmlBZ0lDQWdJSFJvYVhNdWNISnBiV1VnUFNCd2NtbHRaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0cwdVozUnVLREVwTENBbmJXOWtkV3gxY3lCdGRYTjBJR0psSUdkeVpXRjBaWElnZEdoaGJpQXhKeWs3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J0TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWZkbVZ5YVdaNU1TQTlJR1oxYm1OMGFXOXVJRjkyWlhKcFpua3hJQ2hoS1NCN1hHNGdJQ0FnWVhOelpYSjBLR0V1Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUdGemMyVnlkQ2hoTG5KbFpDd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reUlEMGdablZ1WTNScGIyNGdYM1psY21sbWVUSWdLR0VzSUdJcElIdGNiaUFnSUNCaGMzTmxjblFvS0dFdWJtVm5ZWFJwZG1VZ2ZDQmlMbTVsWjJGMGFYWmxLU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0lDWW1JR0V1Y21Wa0lEMDlQU0JpTG5KbFpDeGNiaUFnSUNBZ0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJXOWtJRDBnWm5WdVkzUnBiMjRnYVcxdlpDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbkJ5YVcxbEtTQnlaWFIxY200Z2RHaHBjeTV3Y21sdFpTNXBjbVZrZFdObEtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnWVM1MWJXOWtLSFJvYVhNdWJTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbklDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJTNXpkV0lvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrSUNoaExDQmlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRtVnlhV1o1TWloaExDQmlLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0JoTG1Ga1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhV0ZrWkNBOUlHWjFibU4wYVc5dUlHbGhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVdGa1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YzNWaUtHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdWFYTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjMmhzSUQwZ1puVnVZM1JwYjI0Z2MyaHNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt4S0dFcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1MWMyaHNiaWh1ZFcwcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRkV3dnUFNCbWRXNWpkR2x2YmlCcGJYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWFXMTFiQ2hpS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzV0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE54Y2lBOUlHWjFibU4wYVc5dUlHbHpjWElnS0dFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0dFc0lHRXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29ZU3dnWVNrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSjBJRDBnWm5WdVkzUnBiMjRnYzNGeWRDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoaExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z1lTNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2RtRnlJRzF2WkRNZ1BTQjBhR2x6TG0wdVlXNWtiRzRvTXlrN1hHNGdJQ0FnWVhOelpYSjBLRzF2WkRNZ0pTQXlJRDA5UFNBeEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaVnh1SUNBZ0lHbG1JQ2h0YjJReklEMDlQU0F6S1NCN1hHNGdJQ0FnSUNCMllYSWdjRzkzSUQwZ2RHaHBjeTV0TG1Ga1pDaHVaWGNnUWs0b01Ta3BMbWwxYzJoeWJpZ3lLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmR5aGhMQ0J3YjNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGUnZibVZzYkdrdFUyaGhibXR6SUdGc1oyOXlhWFJvYlNBb1ZHOTBZV3hzZVNCMWJtOXdkR2x0YVhwbFpDQmhibVFnYzJ4dmR5bGNiaUFnSUNBdkwxeHVJQ0FnSUM4dklFWnBibVFnVVNCaGJtUWdVeXdnZEdoaGRDQlJJQ29nTWlCZUlGTWdQU0FvVUNBdElERXBYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLVHRjYmlBZ0lDQjJZWElnY3lBOUlEQTdYRzRnSUNBZ2QyaHBiR1VnS0NGeExtbHpXbVZ5YnlncElDWW1JSEV1WVc1a2JHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0FnSUhFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9JWEV1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHOXVaU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCMllYSWdiazl1WlNBOUlHOXVaUzV5WldST1pXY29LVHRjYmx4dUlDQWdJQzh2SUVacGJtUWdjWFZoWkhKaGRHbGpJRzV2YmkxeVpYTnBaSFZsWEc0Z0lDQWdMeThnVGs5VVJUb2dUV0Y0SUdseklITjFZMmdnWW1WallYVnpaU0J2WmlCblpXNWxjbUZzYVhwbFpDQlNhV1Z0WVc1dUlHaDVjRzkwYUdWemFYTXVYRzRnSUNBZ2RtRnlJR3h3YjNjZ1BTQjBhR2x6TG0wdWMzVmliaWd4S1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlIb2dQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdlaUE5SUc1bGR5QkNUaWd5SUNvZ2VpQXFJSG9wTG5SdlVtVmtLSFJvYVhNcE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXVjRzkzS0hvc0lHeHdiM2NwTG1OdGNDaHVUMjVsS1NBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZWk1eVpXUkpRV1JrS0c1UGJtVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTV3YjNjb2Vpd2djU2s3WEc0Z0lDQWdkbUZ5SUhJZ1BTQjBhR2x6TG5CdmR5aGhMQ0J4TG1Ga1pHNG9NU2t1YVhWemFISnVLREVwS1R0Y2JpQWdJQ0IyWVhJZ2RDQTlJSFJvYVhNdWNHOTNLR0VzSUhFcE8xeHVJQ0FnSUhaaGNpQnRJRDBnY3p0Y2JpQWdJQ0IzYUdsc1pTQW9kQzVqYlhBb2IyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSFE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dkRzF3TG1OdGNDaHZibVVwSUNFOVBTQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkRzF3SUQwZ2RHMXdMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWE56WlhKMEtHa2dQQ0J0S1R0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NXdiM2NvWXl3Z2JtVjNJRUpPS0RFcExtbDFjMmhzYmlodElDMGdhU0F0SURFcEtUdGNibHh1SUNBZ0lDQWdjaUE5SUhJdWNtVmtUWFZzS0dJcE8xeHVJQ0FnSUNBZ1l5QTlJR0l1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0IwSUQwZ2RDNXlaV1JOZFd3b1l5azdYRzRnSUNBZ0lDQnRJRDBnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ2RtRnlJR2x1ZGlBOUlHRXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNGdJQ0FnYVdZZ0tHbHVkaTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhVzUyTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb2FXNTJLUzV5WldST1pXY29LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9ZU3dnYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlM1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCcFppQW9iblZ0TG1OdGNHNG9NU2tnUFQwOUlEQXBJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnZDJsdVpHOTNVMmw2WlNBOUlEUTdYRzRnSUNBZ2RtRnlJSGR1WkNBOUlHNWxkeUJCY25KaGVTZ3hJRHc4SUhkcGJtUnZkMU5wZW1VcE8xeHVJQ0FnSUhkdVpGc3dYU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCM2JtUmJNVjBnUFNCaE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z2QyNWtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM2JtUmJhVjBnUFNCMGFHbHpMbTExYkNoM2JtUmJhU0F0SURGZExDQmhLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkMjVrV3pCZE8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ2RtRnlJSE4wWVhKMElEMGdiblZ0TG1KcGRFeGxibWQwYUNncElDVWdNalk3WEc0Z0lDQWdhV1lnS0hOMFlYSjBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiUzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdjM1JoY25RZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWW1sMElEMGdLSGR2Y21RZ1BqNGdhaWtnSmlBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WeklDRTlQU0IzYm1SYk1GMHBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTnhjaWh5WlhNcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnBkQ0E5UFQwZ01DQW1KaUJqZFhKeVpXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEdzhQU0F4TzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUh3OUlHSnBkRHRjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlzck8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRXhsYmlBaFBUMGdkMmx1Wkc5M1UybDZaU0FtSmlBb2FTQWhQVDBnTUNCOGZDQnFJQ0U5UFNBd0tTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdkR2hwY3k1dGRXd29jbVZ6TENCM2JtUmJZM1Z5Y21WdWRGMHBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6ZEdGeWRDQTlJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdiblZ0TG5WdGIyUW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCeUlEMDlQU0J1ZFcwZ1B5QnlMbU5zYjI1bEtDa2dPaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lISmxjeTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OWNiaUFnTHk4Z1RXOXVkR2R2YldWeWVTQnRaWFJvYjJRZ1pXNW5hVzVsWEc0Z0lDOHZYRzVjYmlBZ1FrNHViVzl1ZENBOUlHWjFibU4wYVc5dUlHMXZiblFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dUVzl1ZENodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUUxdmJuUWdLRzBwSUh0Y2JpQWdJQ0JTWldRdVkyRnNiQ2gwYUdsekxDQnRLVHRjYmx4dUlDQWdJSFJvYVhNdWMyaHBablFnUFNCMGFHbHpMbTB1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXphR2xtZENBclBTQXlOaUF0SUNoMGFHbHpMbk5vYVdaMElDVWdNallwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWNpQTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkR2hwY3k1eU1pQTlJSFJvYVhNdWFXMXZaQ2gwYUdsekxuSXVjM0Z5S0NrcE8xeHVJQ0FnSUhSb2FYTXVjbWx1ZGlBOUlIUm9hWE11Y2k1ZmFXNTJiWEFvZEdocGN5NXRLVHRjYmx4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjbWx1ZGk1dGRXd29kR2hwY3k1eUtTNXBjM1ZpYmlneEtTNWthWFlvZEdocGN5NXRLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxtMXBibll1ZFcxdlpDaDBhR2x6TG5JcE8xeHVJQ0FnSUhSb2FYTXViV2x1ZGlBOUlIUm9hWE11Y2k1emRXSW9kR2hwY3k1dGFXNTJLVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhOYjI1MExDQlNaV1FwTzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SVWJ5QTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUlVieUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNodWRXMHVkWE5vYkc0b2RHaHBjeTV6YUdsbWRDa3BPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUkdjbTl0SUQwZ1puVnVZM1JwYjI0Z1kyOXVkbVZ5ZEVaeWIyMGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBiVzlrS0c1MWJTNXRkV3dvZEdocGN5NXlhVzUyS1NrN1hHNGdJQ0FnY2k1eVpXUWdQU0J1ZFd4c08xeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa2dmSHdnWWk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ1lTNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JoTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2RDQTlJR0V1YVcxMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNibHh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3dLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXViWFZzS0dJcE8xeHVJQ0FnSUhaaGNpQmpJRDBnZEM1dFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dGFXNTJLUzVwYldGemEyNG9kR2hwY3k1emFHbG1kQ2t1YlhWc0tIUm9hWE11YlNrN1hHNGdJQ0FnZG1GeUlIVWdQU0IwTG1semRXSW9ZeWt1YVhWemFISnVLSFJvYVhNdWMyaHBablFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IxTzF4dUlDQWdJR2xtSUNoMUxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kUzVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXNTJiU0E5SUdaMWJtTjBhVzl1SUdsdWRtMGdLR0VwSUh0Y2JpQWdJQ0F2THlBb1FWSXBYaTB4SUNvZ1VsNHlJRDBnS0VGZUxURWdLaUJTWGkweEtTQXFJRkplTWlBOUlFRmVMVEVnS2lCU1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTXVhVzF2WkNoaExsOXBiblp0Y0NoMGFHbHpMbTBwTG0xMWJDaDBhR2x6TG5JeUtTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1OUtTaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCdGIyUjFiR1VzSUhSb2FYTXBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtZWNkaC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgTUQ1ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWQ1LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9tZDUuanMvaW5kZXguanNcXFwiKVxcbnZhciBSSVBFTUQxNjAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByaXBlbWQxNjAgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qc1xcXCIpXFxudmFyIHNoYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNoYS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzXFxcIilcXG52YXIgQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxuXFxuZnVuY3Rpb24gSGFzaCAoaGFzaCkge1xcbiAgQmFzZS5jYWxsKHRoaXMsICdkaWdlc3QnKVxcblxcbiAgdGhpcy5faGFzaCA9IGhhc2hcXG59XFxuXFxuaW5oZXJpdHMoSGFzaCwgQmFzZSlcXG5cXG5IYXNoLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxufVxcblxcbkhhc2gucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzLl9oYXNoLmRpZ2VzdCgpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3JlYXRlSGFzaCAoYWxnKSB7XFxuICBhbGcgPSBhbGcudG9Mb3dlckNhc2UoKVxcbiAgaWYgKGFsZyA9PT0gJ21kNScpIHJldHVybiBuZXcgTUQ1KClcXG4gIGlmIChhbGcgPT09ICdybWQxNjAnIHx8IGFsZyA9PT0gJ3JpcGVtZDE2MCcpIHJldHVybiBuZXcgUklQRU1EMTYwKClcXG5cXG4gIHJldHVybiBuZXcgSGFzaChzaGEoYWxnKSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhR0Z6YUM5aWNtOTNjMlZ5TG1welAyRTNOMklpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVZrN1FVRkRXaXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRha01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk8wRkJRekZDTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEc5RVFVRlhPMEZCUTI1RExGVkJRVlVzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNeFFpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3TzBGQlJXaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTNKbFlYUmxMV2hoYzJndlluSnZkM05sY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEoxeHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVkbUZ5SUUxRU5TQTlJSEpsY1hWcGNtVW9KMjFrTlM1cWN5Y3BYRzUyWVhJZ1VrbFFSVTFFTVRZd0lEMGdjbVZ4ZFdseVpTZ25jbWx3Wlcxa01UWXdKeWxjYm5aaGNpQnphR0VnUFNCeVpYRjFhWEpsS0NkemFHRXVhbk1uS1Z4dWRtRnlJRUpoYzJVZ1BTQnlaWEYxYVhKbEtDZGphWEJvWlhJdFltRnpaU2NwWEc1Y2JtWjFibU4wYVc5dUlFaGhjMmdnS0doaGMyZ3BJSHRjYmlBZ1FtRnpaUzVqWVd4c0tIUm9hWE1zSUNka2FXZGxjM1FuS1Z4dVhHNGdJSFJvYVhNdVgyaGhjMmdnUFNCb1lYTm9YRzU5WEc1Y2JtbHVhR1Z5YVhSektFaGhjMmdzSUVKaGMyVXBYRzVjYmtoaGMyZ3VjSEp2ZEc5MGVYQmxMbDkxY0dSaGRHVWdQU0JtZFc1amRHbHZiaUFvWkdGMFlTa2dlMXh1SUNCMGFHbHpMbDlvWVhOb0xuVndaR0YwWlNoa1lYUmhLVnh1ZlZ4dVhHNUlZWE5vTG5CeWIzUnZkSGx3WlM1ZlptbHVZV3dnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxsOW9ZWE5vTG1ScFoyVnpkQ2dwWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdZM0psWVhSbFNHRnphQ0FvWVd4bktTQjdYRzRnSUdGc1p5QTlJR0ZzWnk1MGIweHZkMlZ5UTJGelpTZ3BYRzRnSUdsbUlDaGhiR2NnUFQwOUlDZHRaRFVuS1NCeVpYUjFjbTRnYm1WM0lFMUVOU2dwWEc0Z0lHbG1JQ2hoYkdjZ1BUMDlJQ2R5YldReE5qQW5JSHg4SUdGc1p5QTlQVDBnSjNKcGNHVnRaREUyTUNjcElISmxkSFZ5YmlCdVpYY2dVa2xRUlUxRU1UWXdLQ2xjYmx4dUlDQnlaWFIxY200Z2JtVjNJRWhoYzJnb2MyaGhLR0ZzWnlrcFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL21kNS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvbWQ1LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIE1ENSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1kNS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWQ1LmpzL2luZGV4LmpzXFxcIilcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChidWZmZXIpIHtcXG4gIHJldHVybiBuZXcgTUQ1KCkudXBkYXRlKGJ1ZmZlcikuZGlnZXN0KClcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhR0Z6YUM5dFpEVXVhbk0vTW1FeFlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVEZDTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhR0Z6YUM5dFpEVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnVFVRMUlEMGdjbVZ4ZFdseVpTZ25iV1ExTG1wekp5bGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvWW5WbVptVnlLU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dUVVExS0NrdWRYQmtZWFJsS0dKMVptWmxjaWt1WkdsblpYTjBLQ2xjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvbWQ1LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaG1hYy9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhtYWMvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgTGVnYWN5ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9sZWdhY3kgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qc1xcXCIpXFxudmFyIEJhc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjaXBoZXItYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY2lwaGVyLWJhc2UvaW5kZXguanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgbWQ1ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhhc2gvbWQ1ICovIFxcXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9tZDUuanNcXFwiKVxcbnZhciBSSVBFTUQxNjAgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByaXBlbWQxNjAgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qc1xcXCIpXFxuXFxudmFyIHNoYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNoYS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzXFxcIilcXG5cXG52YXIgWkVST1MgPSBCdWZmZXIuYWxsb2MoMTI4KVxcblxcbmZ1bmN0aW9uIEhtYWMgKGFsZywga2V5KSB7XFxuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXFxuICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycpIHtcXG4gICAga2V5ID0gQnVmZmVyLmZyb20oa2V5KVxcbiAgfVxcblxcbiAgdmFyIGJsb2Nrc2l6ZSA9IChhbGcgPT09ICdzaGE1MTInIHx8IGFsZyA9PT0gJ3NoYTM4NCcpID8gMTI4IDogNjRcXG5cXG4gIHRoaXMuX2FsZyA9IGFsZ1xcbiAgdGhpcy5fa2V5ID0ga2V5XFxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xcbiAgICB2YXIgaGFzaCA9IGFsZyA9PT0gJ3JtZDE2MCcgPyBuZXcgUklQRU1EMTYwKCkgOiBzaGEoYWxnKVxcbiAgICBrZXkgPSBoYXNoLnVwZGF0ZShrZXkpLmRpZ2VzdCgpXFxuICB9IGVsc2UgaWYgKGtleS5sZW5ndGggPCBibG9ja3NpemUpIHtcXG4gICAga2V5ID0gQnVmZmVyLmNvbmNhdChba2V5LCBaRVJPU10sIGJsb2Nrc2l6ZSlcXG4gIH1cXG5cXG4gIHZhciBpcGFkID0gdGhpcy5faXBhZCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShibG9ja3NpemUpXFxuICB2YXIgb3BhZCA9IHRoaXMuX29wYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBibG9ja3NpemU7IGkrKykge1xcbiAgICBpcGFkW2ldID0ga2V5W2ldIF4gMHgzNlxcbiAgICBvcGFkW2ldID0ga2V5W2ldIF4gMHg1Q1xcbiAgfVxcbiAgdGhpcy5faGFzaCA9IGFsZyA9PT0gJ3JtZDE2MCcgPyBuZXcgUklQRU1EMTYwKCkgOiBzaGEoYWxnKVxcbiAgdGhpcy5faGFzaC51cGRhdGUoaXBhZClcXG59XFxuXFxuaW5oZXJpdHMoSG1hYywgQmFzZSlcXG5cXG5IbWFjLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXFxufVxcblxcbkhtYWMucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBoID0gdGhpcy5faGFzaC5kaWdlc3QoKVxcbiAgdmFyIGhhc2ggPSB0aGlzLl9hbGcgPT09ICdybWQxNjAnID8gbmV3IFJJUEVNRDE2MCgpIDogc2hhKHRoaXMuX2FsZylcXG4gIHJldHVybiBoYXNoLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoaCkuZGlnZXN0KClcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVIbWFjIChhbGcsIGtleSkge1xcbiAgYWxnID0gYWxnLnRvTG93ZXJDYXNlKClcXG4gIGlmIChhbGcgPT09ICdybWQxNjAnIHx8IGFsZyA9PT0gJ3JpcGVtZDE2MCcpIHtcXG4gICAgcmV0dXJuIG5ldyBIbWFjKCdybWQxNjAnLCBrZXkpXFxuICB9XFxuICBpZiAoYWxnID09PSAnbWQ1Jykge1xcbiAgICByZXR1cm4gbmV3IExlZ2FjeShtZDUsIGtleSlcXG4gIH1cXG4gIHJldHVybiBuZXcgSG1hYyhhbGcsIGtleSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqY21WaGRHVXRhRzFoWXk5aWNtOTNjMlZ5TG1welB6bG1OamNpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVZrN1FVRkRXaXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRha01zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSE5FUVVGVk8wRkJReTlDTEZkQlFWY3NiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5vUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdRVUZEYkVNc1ZVRkJWU3h0UWtGQlR5eERRVUZETERCRVFVRnBRanRCUVVOdVF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSRUZCVnpzN1FVRkZia01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk96dEJRVVV4UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeGxRVUZsTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5amNtVmhkR1V0YUcxaFl5OWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5YRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BYRzUyWVhJZ1RHVm5ZV041SUQwZ2NtVnhkV2x5WlNnbkxpOXNaV2RoWTNrbktWeHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2RqYVhCb1pYSXRZbUZ6WlNjcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JuWmhjaUJ0WkRVZ1BTQnlaWEYxYVhKbEtDZGpjbVZoZEdVdGFHRnphQzl0WkRVbktWeHVkbUZ5SUZKSlVFVk5SREUyTUNBOUlISmxjWFZwY21Vb0ozSnBjR1Z0WkRFMk1DY3BYRzVjYm5aaGNpQnphR0VnUFNCeVpYRjFhWEpsS0NkemFHRXVhbk1uS1Z4dVhHNTJZWElnV2tWU1QxTWdQU0JDZFdabVpYSXVZV3hzYjJNb01USTRLVnh1WEc1bWRXNWpkR2x2YmlCSWJXRmpJQ2hoYkdjc0lHdGxlU2tnZTF4dUlDQkNZWE5sTG1OaGJHd29kR2hwY3l3Z0oyUnBaMlZ6ZENjcFhHNGdJR2xtSUNoMGVYQmxiMllnYTJWNUlEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJR3RsZVNBOUlFSjFabVpsY2k1bWNtOXRLR3RsZVNsY2JpQWdmVnh1WEc0Z0lIWmhjaUJpYkc5amEzTnBlbVVnUFNBb1lXeG5JRDA5UFNBbmMyaGhOVEV5SnlCOGZDQmhiR2NnUFQwOUlDZHphR0V6T0RRbktTQS9JREV5T0NBNklEWTBYRzVjYmlBZ2RHaHBjeTVmWVd4bklEMGdZV3huWEc0Z0lIUm9hWE11WDJ0bGVTQTlJR3RsZVZ4dUlDQnBaaUFvYTJWNUxteGxibWQwYUNBK0lHSnNiMk5yYzJsNlpTa2dlMXh1SUNBZ0lIWmhjaUJvWVhOb0lEMGdZV3huSUQwOVBTQW5jbTFrTVRZd0p5QS9JRzVsZHlCU1NWQkZUVVF4TmpBb0tTQTZJSE5vWVNoaGJHY3BYRzRnSUNBZ2EyVjVJRDBnYUdGemFDNTFjR1JoZEdVb2EyVjVLUzVrYVdkbGMzUW9LVnh1SUNCOUlHVnNjMlVnYVdZZ0tHdGxlUzVzWlc1bmRHZ2dQQ0JpYkc5amEzTnBlbVVwSUh0Y2JpQWdJQ0JyWlhrZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0clpYa3NJRnBGVWs5VFhTd2dZbXh2WTJ0emFYcGxLVnh1SUNCOVhHNWNiaUFnZG1GeUlHbHdZV1FnUFNCMGFHbHpMbDlwY0dGa0lEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOcmMybDZaU2xjYmlBZ2RtRnlJRzl3WVdRZ1BTQjBhR2x6TGw5dmNHRmtJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0dKc2IyTnJjMmw2WlNsY2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKc2IyTnJjMmw2WlRzZ2FTc3JLU0I3WEc0Z0lDQWdhWEJoWkZ0cFhTQTlJR3RsZVZ0cFhTQmVJREI0TXpaY2JpQWdJQ0J2Y0dGa1cybGRJRDBnYTJWNVcybGRJRjRnTUhnMVExeHVJQ0I5WEc0Z0lIUm9hWE11WDJoaGMyZ2dQU0JoYkdjZ1BUMDlJQ2R5YldReE5qQW5JRDhnYm1WM0lGSkpVRVZOUkRFMk1DZ3BJRG9nYzJoaEtHRnNaeWxjYmlBZ2RHaHBjeTVmYUdGemFDNTFjR1JoZEdVb2FYQmhaQ2xjYm4xY2JseHVhVzVvWlhKcGRITW9TRzFoWXl3Z1FtRnpaU2xjYmx4dVNHMWhZeTV3Y205MGIzUjVjR1V1WDNWd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUNoa1lYUmhLU0I3WEc0Z0lIUm9hWE11WDJoaGMyZ3VkWEJrWVhSbEtHUmhkR0VwWEc1OVhHNWNia2h0WVdNdWNISnZkRzkwZVhCbExsOW1hVzVoYkNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJR2dnUFNCMGFHbHpMbDlvWVhOb0xtUnBaMlZ6ZENncFhHNGdJSFpoY2lCb1lYTm9JRDBnZEdocGN5NWZZV3huSUQwOVBTQW5jbTFrTVRZd0p5QS9JRzVsZHlCU1NWQkZUVVF4TmpBb0tTQTZJSE5vWVNoMGFHbHpMbDloYkdjcFhHNGdJSEpsZEhWeWJpQm9ZWE5vTG5Wd1pHRjBaU2gwYUdsekxsOXZjR0ZrS1M1MWNHUmhkR1VvYUNrdVpHbG5aWE4wS0NsY2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJqY21WaGRHVkliV0ZqSUNoaGJHY3NJR3RsZVNrZ2UxeHVJQ0JoYkdjZ1BTQmhiR2N1ZEc5TWIzZGxja05oYzJVb0tWeHVJQ0JwWmlBb1lXeG5JRDA5UFNBbmNtMWtNVFl3SnlCOGZDQmhiR2NnUFQwOUlDZHlhWEJsYldReE5qQW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJJYldGaktDZHliV1F4TmpBbkxDQnJaWGtwWEc0Z0lIMWNiaUFnYVdZZ0tHRnNaeUE5UFQwZ0oyMWtOU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUV4bFoyRmplU2h0WkRVc0lHdGxlU2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdibVYzSUVodFlXTW9ZV3huTENCclpYa3BYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9jcmVhdGUtaG1hYy9icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaG1hYy9sZWdhY3kuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG52YXIgQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNpcGhlci1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9jaXBoZXItYmFzZS9pbmRleC5qc1xcXCIpXFxuXFxudmFyIFpFUk9TID0gQnVmZmVyLmFsbG9jKDEyOClcXG52YXIgYmxvY2tzaXplID0gNjRcXG5cXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSkge1xcbiAgQmFzZS5jYWxsKHRoaXMsICdkaWdlc3QnKVxcbiAgaWYgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnKSB7XFxuICAgIGtleSA9IEJ1ZmZlci5mcm9tKGtleSlcXG4gIH1cXG5cXG4gIHRoaXMuX2FsZyA9IGFsZ1xcbiAgdGhpcy5fa2V5ID0ga2V5XFxuXFxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xcbiAgICBrZXkgPSBhbGcoa2V5KVxcbiAgfSBlbHNlIGlmIChrZXkubGVuZ3RoIDwgYmxvY2tzaXplKSB7XFxuICAgIGtleSA9IEJ1ZmZlci5jb25jYXQoW2tleSwgWkVST1NdLCBibG9ja3NpemUpXFxuICB9XFxuXFxuICB2YXIgaXBhZCA9IHRoaXMuX2lwYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxcbiAgdmFyIG9wYWQgPSB0aGlzLl9vcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSlcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tzaXplOyBpKyspIHtcXG4gICAgaXBhZFtpXSA9IGtleVtpXSBeIDB4MzZcXG4gICAgb3BhZFtpXSA9IGtleVtpXSBeIDB4NUNcXG4gIH1cXG5cXG4gIHRoaXMuX2hhc2ggPSBbaXBhZF1cXG59XFxuXFxuaW5oZXJpdHMoSG1hYywgQmFzZSlcXG5cXG5IbWFjLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcXG4gIHRoaXMuX2hhc2gucHVzaChkYXRhKVxcbn1cXG5cXG5IbWFjLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgaCA9IHRoaXMuX2FsZyhCdWZmZXIuY29uY2F0KHRoaXMuX2hhc2gpKVxcbiAgcmV0dXJuIHRoaXMuX2FsZyhCdWZmZXIuY29uY2F0KFt0aGlzLl9vcGFkLCBoXSkpXFxufVxcbm1vZHVsZS5leHBvcnRzID0gSG1hY1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amNtVmhkR1V0YUcxaFl5OXNaV2RoWTNrdWFuTS9ORGd5T0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQldUdEJRVU5hTEdWQlFXVXNiVUpCUVU4c1EwRkJReXcyUkVGQlZUdEJRVU5xUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RExGZEJRVmNzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHM3UVVGRmFFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xHVkJRV1U3UVVGRGFFTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12WTNKbFlYUmxMV2h0WVdNdmJHVm5ZV041TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JseHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2RqYVhCb1pYSXRZbUZ6WlNjcFhHNWNiblpoY2lCYVJWSlBVeUE5SUVKMVptWmxjaTVoYkd4dll5Z3hNamdwWEc1MllYSWdZbXh2WTJ0emFYcGxJRDBnTmpSY2JseHVablZ1WTNScGIyNGdTRzFoWXlBb1lXeG5MQ0JyWlhrcElIdGNiaUFnUW1GelpTNWpZV3hzS0hSb2FYTXNJQ2RrYVdkbGMzUW5LVnh1SUNCcFppQW9kSGx3Wlc5bUlHdGxlU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCclpYa2dQU0JDZFdabVpYSXVabkp2YlNoclpYa3BYRzRnSUgxY2JseHVJQ0IwYUdsekxsOWhiR2NnUFNCaGJHZGNiaUFnZEdocGN5NWZhMlY1SUQwZ2EyVjVYRzVjYmlBZ2FXWWdLR3RsZVM1c1pXNW5kR2dnUGlCaWJHOWphM05wZW1VcElIdGNiaUFnSUNCclpYa2dQU0JoYkdjb2EyVjVLVnh1SUNCOUlHVnNjMlVnYVdZZ0tHdGxlUzVzWlc1bmRHZ2dQQ0JpYkc5amEzTnBlbVVwSUh0Y2JpQWdJQ0JyWlhrZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0clpYa3NJRnBGVWs5VFhTd2dZbXh2WTJ0emFYcGxLVnh1SUNCOVhHNWNiaUFnZG1GeUlHbHdZV1FnUFNCMGFHbHpMbDlwY0dGa0lEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOcmMybDZaU2xjYmlBZ2RtRnlJRzl3WVdRZ1BTQjBhR2x6TGw5dmNHRmtJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0dKc2IyTnJjMmw2WlNsY2JseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKc2IyTnJjMmw2WlRzZ2FTc3JLU0I3WEc0Z0lDQWdhWEJoWkZ0cFhTQTlJR3RsZVZ0cFhTQmVJREI0TXpaY2JpQWdJQ0J2Y0dGa1cybGRJRDBnYTJWNVcybGRJRjRnTUhnMVExeHVJQ0I5WEc1Y2JpQWdkR2hwY3k1ZmFHRnphQ0E5SUZ0cGNHRmtYVnh1ZlZ4dVhHNXBibWhsY21sMGN5aEliV0ZqTENCQ1lYTmxLVnh1WEc1SWJXRmpMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0dSaGRHRXBJSHRjYmlBZ2RHaHBjeTVmYUdGemFDNXdkWE5vS0dSaGRHRXBYRzU5WEc1Y2JraHRZV011Y0hKdmRHOTBlWEJsTGw5bWFXNWhiQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZG1GeUlHZ2dQU0IwYUdsekxsOWhiR2NvUW5WbVptVnlMbU52Ym1OaGRDaDBhR2x6TGw5b1lYTm9LU2xjYmlBZ2NtVjBkWEp1SUhSb2FYTXVYMkZzWnloQ2RXWm1aWEl1WTI5dVkyRjBLRnQwYUdsekxsOXZjR0ZrTENCb1hTa3BYRzU5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVodFlXTmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2xlZ2FjeS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3J5cHRvLWJyb3dzZXJpZnkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy5yYW5kb21CeXRlcyA9IGV4cG9ydHMucm5nID0gZXhwb3J0cy5wc2V1ZG9SYW5kb21CeXRlcyA9IGV4cG9ydHMucHJuZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWJ5dGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcy9icm93c2VyLmpzXFxcIilcXG5leHBvcnRzLmNyZWF0ZUhhc2ggPSBleHBvcnRzLkhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjcmVhdGUtaGFzaCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvYnJvd3Nlci5qc1xcXCIpXFxuZXhwb3J0cy5jcmVhdGVIbWFjID0gZXhwb3J0cy5IbWFjID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhtYWMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1obWFjL2Jyb3dzZXIuanNcXFwiKVxcblxcbnZhciBhbGdvcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktc2lnbi9hbGdvcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2FsZ29zLmpzXFxcIilcXG52YXIgYWxnb0tleXMgPSBPYmplY3Qua2V5cyhhbGdvcylcXG52YXIgaGFzaGVzID0gWydzaGExJywgJ3NoYTIyNCcsICdzaGEyNTYnLCAnc2hhMzg0JywgJ3NoYTUxMicsICdtZDUnLCAncm1kMTYwJ10uY29uY2F0KGFsZ29LZXlzKVxcbmV4cG9ydHMuZ2V0SGFzaGVzID0gZnVuY3Rpb24gKCkge1xcbiAgcmV0dXJuIGhhc2hlc1xcbn1cXG5cXG52YXIgcCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBia2RmMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanNcXFwiKVxcbmV4cG9ydHMucGJrZGYyID0gcC5wYmtkZjJcXG5leHBvcnRzLnBia2RmMlN5bmMgPSBwLnBia2RmMlN5bmNcXG5cXG52YXIgYWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnJvd3NlcmlmeS1jaXBoZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktY2lwaGVyL2Jyb3dzZXIuanNcXFwiKVxcblxcbmV4cG9ydHMuQ2lwaGVyID0gYWVzLkNpcGhlclxcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyID0gYWVzLmNyZWF0ZUNpcGhlclxcbmV4cG9ydHMuQ2lwaGVyaXYgPSBhZXMuQ2lwaGVyaXZcXG5leHBvcnRzLmNyZWF0ZUNpcGhlcml2ID0gYWVzLmNyZWF0ZUNpcGhlcml2XFxuZXhwb3J0cy5EZWNpcGhlciA9IGFlcy5EZWNpcGhlclxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBhZXMuY3JlYXRlRGVjaXBoZXJcXG5leHBvcnRzLkRlY2lwaGVyaXYgPSBhZXMuRGVjaXBoZXJpdlxcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGFlcy5jcmVhdGVEZWNpcGhlcml2XFxuZXhwb3J0cy5nZXRDaXBoZXJzID0gYWVzLmdldENpcGhlcnNcXG5leHBvcnRzLmxpc3RDaXBoZXJzID0gYWVzLmxpc3RDaXBoZXJzXFxuXFxudmFyIGRoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZGlmZmllLWhlbGxtYW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2Jyb3dzZXIuanNcXFwiKVxcblxcbmV4cG9ydHMuRGlmZmllSGVsbG1hbkdyb3VwID0gZGguRGlmZmllSGVsbG1hbkdyb3VwXFxuZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXAgPSBkaC5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXBcXG5leHBvcnRzLmdldERpZmZpZUhlbGxtYW4gPSBkaC5nZXREaWZmaWVIZWxsbWFuXFxuZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuID0gZGguY3JlYXRlRGlmZmllSGVsbG1hblxcbmV4cG9ydHMuRGlmZmllSGVsbG1hbiA9IGRoLkRpZmZpZUhlbGxtYW5cXG5cXG52YXIgc2lnbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktc2lnbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduL2Jyb3dzZXIvaW5kZXguanNcXFwiKVxcblxcbmV4cG9ydHMuY3JlYXRlU2lnbiA9IHNpZ24uY3JlYXRlU2lnblxcbmV4cG9ydHMuU2lnbiA9IHNpZ24uU2lnblxcbmV4cG9ydHMuY3JlYXRlVmVyaWZ5ID0gc2lnbi5jcmVhdGVWZXJpZnlcXG5leHBvcnRzLlZlcmlmeSA9IHNpZ24uVmVyaWZ5XFxuXFxuZXhwb3J0cy5jcmVhdGVFQ0RIID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWVjZGggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1lY2RoL2Jyb3dzZXIuanNcXFwiKVxcblxcbnZhciBwdWJsaWNFbmNyeXB0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcHVibGljLWVuY3J5cHQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L2Jyb3dzZXIuanNcXFwiKVxcblxcbmV4cG9ydHMucHVibGljRW5jcnlwdCA9IHB1YmxpY0VuY3J5cHQucHVibGljRW5jcnlwdFxcbmV4cG9ydHMucHJpdmF0ZUVuY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnByaXZhdGVFbmNyeXB0XFxuZXhwb3J0cy5wdWJsaWNEZWNyeXB0ID0gcHVibGljRW5jcnlwdC5wdWJsaWNEZWNyeXB0XFxuZXhwb3J0cy5wcml2YXRlRGVjcnlwdCA9IHB1YmxpY0VuY3J5cHQucHJpdmF0ZURlY3J5cHRcXG5cXG4vLyB0aGUgbGVhc3QgSSBjYW4gZG8gaXMgbWFrZSBlcnJvciBtZXNzYWdlcyBmb3IgdGhlIHJlc3Qgb2YgdGhlIG5vZGUuanMvY3J5cHRvIGFwaS5cXG4vLyA7W1xcbi8vICAgJ2NyZWF0ZUNyZWRlbnRpYWxzJ1xcbi8vIF0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbi8vICAgZXhwb3J0c1tuYW1lXSA9IGZ1bmN0aW9uICgpIHtcXG4vLyAgICAgdGhyb3cgbmV3IEVycm9yKFtcXG4vLyAgICAgICAnc29ycnksICcgKyBuYW1lICsgJyBpcyBub3QgaW1wbGVtZW50ZWQgeWV0JyxcXG4vLyAgICAgICAnd2UgYWNjZXB0IHB1bGwgcmVxdWVzdHMnLFxcbi8vICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvLWJyb3dzZXJpZnkvY3J5cHRvLWJyb3dzZXJpZnknXFxuLy8gICAgIF0uam9pbignXFxcXG4nKSlcXG4vLyAgIH1cXG4vLyB9KVxcblxcbnZhciByZiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWZpbGwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWZpbGwvYnJvd3Nlci5qc1xcXCIpXFxuXFxuZXhwb3J0cy5yYW5kb21GaWxsID0gcmYucmFuZG9tRmlsbFxcbmV4cG9ydHMucmFuZG9tRmlsbFN5bmMgPSByZi5yYW5kb21GaWxsU3luY1xcblxcbmV4cG9ydHMuY3JlYXRlQ3JlZGVudGlhbHMgPSBmdW5jdGlvbiAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoW1xcbiAgICAnc29ycnksIGNyZWF0ZUNyZWRlbnRpYWxzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQnLFxcbiAgICAnd2UgYWNjZXB0IHB1bGwgcmVxdWVzdHMnLFxcbiAgICAnaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0by1icm93c2VyaWZ5L2NyeXB0by1icm93c2VyaWZ5J1xcbiAgXS5qb2luKCdcXFxcbicpKVxcbn1cXG5cXG5leHBvcnRzLmNvbnN0YW50cyA9IHtcXG4gICdESF9DSEVDS19QX05PVF9TQUZFX1BSSU1FJzogMixcXG4gICdESF9DSEVDS19QX05PVF9QUklNRSc6IDEsXFxuICAnREhfVU5BQkxFX1RPX0NIRUNLX0dFTkVSQVRPUic6IDQsXFxuICAnREhfTk9UX1NVSVRBQkxFX0dFTkVSQVRPUic6IDgsXFxuICAnTlBOX0VOQUJMRUQnOiAxLFxcbiAgJ0FMUE5fRU5BQkxFRCc6IDEsXFxuICAnUlNBX1BLQ1MxX1BBRERJTkcnOiAxLFxcbiAgJ1JTQV9TU0xWMjNfUEFERElORyc6IDIsXFxuICAnUlNBX05PX1BBRERJTkcnOiAzLFxcbiAgJ1JTQV9QS0NTMV9PQUVQX1BBRERJTkcnOiA0LFxcbiAgJ1JTQV9YOTMxX1BBRERJTkcnOiA1LFxcbiAgJ1JTQV9QS0NTMV9QU1NfUEFERElORyc6IDYsXFxuICAnUE9JTlRfQ09OVkVSU0lPTl9DT01QUkVTU0VEJzogMixcXG4gICdQT0lOVF9DT05WRVJTSU9OX1VOQ09NUFJFU1NFRCc6IDQsXFxuICAnUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQnOiA2XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5amNubHdkRzh0WW5KdmQzTmxjbWxtZVM5cGJtUmxlQzVxY3o5a056TmhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZaT3p0QlFVVmFMQ3RGUVVFclJTeHRRa0ZCVHl4RFFVRkRMREJFUVVGaE8wRkJRM0JITEc5RFFVRnZReXh0UWtGQlR5eERRVUZETERCRVFVRmhPMEZCUTNwRUxHOURRVUZ2UXl4dFFrRkJUeXhEUVVGRExEQkVRVUZoT3p0QlFVVjZSQ3haUVVGWkxHMUNRVUZQTEVOQlFVTXNjMFZCUVhWQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzVVVGQlVTeHRRa0ZCVHl4RFFVRkRMR2RFUVVGUk8wRkJRM2hDTzBGQlEwRTdPMEZCUlVFc1ZVRkJWU3h0UWtGQlR5eERRVUZETEhORlFVRnRRanM3UVVGRmNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1UwRkJVeXh0UWtGQlR5eERRVUZETEdkRlFVRm5RanM3UVVGRmFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc2QwVkJRV2xDT3p0QlFVVndRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl3d1JFRkJZVHM3UVVGRk1VTXNiMEpCUVc5Q0xHMUNRVUZQTEVOQlFVTXNaMFZCUVdkQ096dEJRVVUxUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVsQlFVazdRVUZEU2p0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SlFVRkpPenRCUVVWS0xGTkJRVk1zYlVKQlFVOHNRMEZCUXl4M1JFRkJXVHM3UVVGRk4wSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyTnllWEIwYnkxaWNtOTNjMlZ5YVdaNUwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNWNibVY0Y0c5eWRITXVjbUZ1Wkc5dFFubDBaWE1nUFNCbGVIQnZjblJ6TG5KdVp5QTlJR1Y0Y0c5eWRITXVjSE5sZFdSdlVtRnVaRzl0UW5sMFpYTWdQU0JsZUhCdmNuUnpMbkJ5Ym1jZ1BTQnlaWEYxYVhKbEtDZHlZVzVrYjIxaWVYUmxjeWNwWEc1bGVIQnZjblJ6TG1OeVpXRjBaVWhoYzJnZ1BTQmxlSEJ2Y25SekxraGhjMmdnUFNCeVpYRjFhWEpsS0NkamNtVmhkR1V0YUdGemFDY3BYRzVsZUhCdmNuUnpMbU55WldGMFpVaHRZV01nUFNCbGVIQnZjblJ6TGtodFlXTWdQU0J5WlhGMWFYSmxLQ2RqY21WaGRHVXRhRzFoWXljcFhHNWNiblpoY2lCaGJHZHZjeUE5SUhKbGNYVnBjbVVvSjJKeWIzZHpaWEpwWm5rdGMybG5iaTloYkdkdmN5Y3BYRzUyWVhJZ1lXeG5iMHRsZVhNZ1BTQlBZbXBsWTNRdWEyVjVjeWhoYkdkdmN5bGNiblpoY2lCb1lYTm9aWE1nUFNCYkozTm9ZVEVuTENBbmMyaGhNakkwSnl3Z0ozTm9ZVEkxTmljc0lDZHphR0V6T0RRbkxDQW5jMmhoTlRFeUp5d2dKMjFrTlNjc0lDZHliV1F4TmpBblhTNWpiMjVqWVhRb1lXeG5iMHRsZVhNcFhHNWxlSEJ2Y25SekxtZGxkRWhoYzJobGN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdjbVYwZFhKdUlHaGhjMmhsYzF4dWZWeHVYRzUyWVhJZ2NDQTlJSEpsY1hWcGNtVW9KM0JpYTJSbU1pY3BYRzVsZUhCdmNuUnpMbkJpYTJSbU1pQTlJSEF1Y0dKclpHWXlYRzVsZUhCdmNuUnpMbkJpYTJSbU1sTjVibU1nUFNCd0xuQmlhMlJtTWxONWJtTmNibHh1ZG1GeUlHRmxjeUE5SUhKbGNYVnBjbVVvSjJKeWIzZHpaWEpwWm5rdFkybHdhR1Z5SnlsY2JseHVaWGh3YjNKMGN5NURhWEJvWlhJZ1BTQmhaWE11UTJsd2FHVnlYRzVsZUhCdmNuUnpMbU55WldGMFpVTnBjR2hsY2lBOUlHRmxjeTVqY21WaGRHVkRhWEJvWlhKY2JtVjRjRzl5ZEhNdVEybHdhR1Z5YVhZZ1BTQmhaWE11UTJsd2FHVnlhWFpjYm1WNGNHOXlkSE11WTNKbFlYUmxRMmx3YUdWeWFYWWdQU0JoWlhNdVkzSmxZWFJsUTJsd2FHVnlhWFpjYm1WNGNHOXlkSE11UkdWamFYQm9aWElnUFNCaFpYTXVSR1ZqYVhCb1pYSmNibVY0Y0c5eWRITXVZM0psWVhSbFJHVmphWEJvWlhJZ1BTQmhaWE11WTNKbFlYUmxSR1ZqYVhCb1pYSmNibVY0Y0c5eWRITXVSR1ZqYVhCb1pYSnBkaUE5SUdGbGN5NUVaV05wY0dobGNtbDJYRzVsZUhCdmNuUnpMbU55WldGMFpVUmxZMmx3YUdWeWFYWWdQU0JoWlhNdVkzSmxZWFJsUkdWamFYQm9aWEpwZGx4dVpYaHdiM0owY3k1blpYUkRhWEJvWlhKeklEMGdZV1Z6TG1kbGRFTnBjR2hsY25OY2JtVjRjRzl5ZEhNdWJHbHpkRU5wY0dobGNuTWdQU0JoWlhNdWJHbHpkRU5wY0dobGNuTmNibHh1ZG1GeUlHUm9JRDBnY21WeGRXbHlaU2duWkdsbVptbGxMV2hsYkd4dFlXNG5LVnh1WEc1bGVIQnZjblJ6TGtScFptWnBaVWhsYkd4dFlXNUhjbTkxY0NBOUlHUm9Ma1JwWm1acFpVaGxiR3h0WVc1SGNtOTFjRnh1Wlhod2IzSjBjeTVqY21WaGRHVkVhV1ptYVdWSVpXeHNiV0Z1UjNKdmRYQWdQU0JrYUM1amNtVmhkR1ZFYVdabWFXVklaV3hzYldGdVIzSnZkWEJjYm1WNGNHOXlkSE11WjJWMFJHbG1abWxsU0dWc2JHMWhiaUE5SUdSb0xtZGxkRVJwWm1acFpVaGxiR3h0WVc1Y2JtVjRjRzl5ZEhNdVkzSmxZWFJsUkdsbVptbGxTR1ZzYkcxaGJpQTlJR1JvTG1OeVpXRjBaVVJwWm1acFpVaGxiR3h0WVc1Y2JtVjRjRzl5ZEhNdVJHbG1abWxsU0dWc2JHMWhiaUE5SUdSb0xrUnBabVpwWlVobGJHeHRZVzVjYmx4dWRtRnlJSE5wWjI0Z1BTQnlaWEYxYVhKbEtDZGljbTkzYzJWeWFXWjVMWE5wWjI0bktWeHVYRzVsZUhCdmNuUnpMbU55WldGMFpWTnBaMjRnUFNCemFXZHVMbU55WldGMFpWTnBaMjVjYm1WNGNHOXlkSE11VTJsbmJpQTlJSE5wWjI0dVUybG5ibHh1Wlhod2IzSjBjeTVqY21WaGRHVldaWEpwWm5rZ1BTQnphV2R1TG1OeVpXRjBaVlpsY21sbWVWeHVaWGh3YjNKMGN5NVdaWEpwWm5rZ1BTQnphV2R1TGxabGNtbG1lVnh1WEc1bGVIQnZjblJ6TG1OeVpXRjBaVVZEUkVnZ1BTQnlaWEYxYVhKbEtDZGpjbVZoZEdVdFpXTmthQ2NwWEc1Y2JuWmhjaUJ3ZFdKc2FXTkZibU55ZVhCMElEMGdjbVZ4ZFdseVpTZ25jSFZpYkdsakxXVnVZM0o1Y0hRbktWeHVYRzVsZUhCdmNuUnpMbkIxWW14cFkwVnVZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CMVlteHBZMFZ1WTNKNWNIUmNibVY0Y0c5eWRITXVjSEpwZG1GMFpVVnVZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CeWFYWmhkR1ZGYm1OeWVYQjBYRzVsZUhCdmNuUnpMbkIxWW14cFkwUmxZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CMVlteHBZMFJsWTNKNWNIUmNibVY0Y0c5eWRITXVjSEpwZG1GMFpVUmxZM0o1Y0hRZ1BTQndkV0pzYVdORmJtTnllWEIwTG5CeWFYWmhkR1ZFWldOeWVYQjBYRzVjYmk4dklIUm9aU0JzWldGemRDQkpJR05oYmlCa2J5QnBjeUJ0WVd0bElHVnljbTl5SUcxbGMzTmhaMlZ6SUdadmNpQjBhR1VnY21WemRDQnZaaUIwYUdVZ2JtOWtaUzVxY3k5amNubHdkRzhnWVhCcExseHVMeThnTzF0Y2JpOHZJQ0FnSjJOeVpXRjBaVU55WldSbGJuUnBZV3h6SjF4dUx5OGdYUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzR2THlBZ0lHVjRjRzl5ZEhOYmJtRnRaVjBnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzR2THlBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGdGNiaTh2SUNBZ0lDQWdJQ2R6YjNKeWVTd2dKeUFySUc1aGJXVWdLeUFuSUdseklHNXZkQ0JwYlhCc1pXMWxiblJsWkNCNVpYUW5MRnh1THk4Z0lDQWdJQ0FnSjNkbElHRmpZMlZ3ZENCd2RXeHNJSEpsY1hWbGMzUnpKeXhjYmk4dklDQWdJQ0FnSUNkb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlkzSjVjSFJ2TFdKeWIzZHpaWEpwWm5rdlkzSjVjSFJ2TFdKeWIzZHpaWEpwWm5rblhHNHZMeUFnSUNBZ1hTNXFiMmx1S0NkY1hHNG5LU2xjYmk4dklDQWdmVnh1THk4Z2ZTbGNibHh1ZG1GeUlISm1JRDBnY21WeGRXbHlaU2duY21GdVpHOXRabWxzYkNjcFhHNWNibVY0Y0c5eWRITXVjbUZ1Wkc5dFJtbHNiQ0E5SUhKbUxuSmhibVJ2YlVacGJHeGNibVY0Y0c5eWRITXVjbUZ1Wkc5dFJtbHNiRk41Ym1NZ1BTQnlaaTV5WVc1a2IyMUdhV3hzVTNsdVkxeHVYRzVsZUhCdmNuUnpMbU55WldGMFpVTnlaV1JsYm5ScFlXeHpJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9XMXh1SUNBZ0lDZHpiM0p5ZVN3Z1kzSmxZWFJsUTNKbFpHVnVkR2xoYkhNZ2FYTWdibTkwSUdsdGNHeGxiV1Z1ZEdWa0lIbGxkQ2NzWEc0Z0lDQWdKM2RsSUdGalkyVndkQ0J3ZFd4c0lISmxjWFZsYzNSekp5eGNiaUFnSUNBbmFIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyTnllWEIwYnkxaWNtOTNjMlZ5YVdaNUwyTnllWEIwYnkxaWNtOTNjMlZ5YVdaNUoxeHVJQ0JkTG1wdmFXNG9KMXhjYmljcEtWeHVmVnh1WEc1bGVIQnZjblJ6TG1OdmJuTjBZVzUwY3lBOUlIdGNiaUFnSjBSSVgwTklSVU5MWDFCZlRrOVVYMU5CUmtWZlVGSkpUVVVuT2lBeUxGeHVJQ0FuUkVoZlEwaEZRMHRmVUY5T1QxUmZVRkpKVFVVbk9pQXhMRnh1SUNBblJFaGZWVTVCUWt4RlgxUlBYME5JUlVOTFgwZEZUa1ZTUVZSUFVpYzZJRFFzWEc0Z0lDZEVTRjlPVDFSZlUxVkpWRUZDVEVWZlIwVk9SVkpCVkU5U0p6b2dPQ3hjYmlBZ0owNVFUbDlGVGtGQ1RFVkVKem9nTVN4Y2JpQWdKMEZNVUU1ZlJVNUJRa3hGUkNjNklERXNYRzRnSUNkU1UwRmZVRXREVXpGZlVFRkVSRWxPUnljNklERXNYRzRnSUNkU1UwRmZVMU5NVmpJelgxQkJSRVJKVGtjbk9pQXlMRnh1SUNBblVsTkJYMDVQWDFCQlJFUkpUa2NuT2lBekxGeHVJQ0FuVWxOQlgxQkxRMU14WDA5QlJWQmZVRUZFUkVsT1J5YzZJRFFzWEc0Z0lDZFNVMEZmV0Rrek1WOVFRVVJFU1U1SEp6b2dOU3hjYmlBZ0oxSlRRVjlRUzBOVE1WOVFVMU5mVUVGRVJFbE9SeWM2SURZc1hHNGdJQ2RRVDBsT1ZGOURUMDVXUlZKVFNVOU9YME5QVFZCU1JWTlRSVVFuT2lBeUxGeHVJQ0FuVUU5SlRsUmZRMDlPVmtWU1UwbFBUbDlWVGtOUFRWQlNSVk5UUlVRbk9pQTBMRnh1SUNBblVFOUpUbFJmUTA5T1ZrVlNVMGxQVGw5SVdVSlNTVVFuT2lBMlhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2NyeXB0by1icm93c2VyaWZ5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL0xhbmRpbmcuY3NzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3NyYy9MYW5kaW5nLmNzcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvLyBJbXBvcnRzXFxudmFyIF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1xcXCIpO1xcbmV4cG9ydHMgPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oZmFsc2UpO1xcbi8vIE1vZHVsZVxcbmV4cG9ydHMucHVzaChbbW9kdWxlLmksIFxcXCIuTGFuZGluZ0J1dHRvblxcXFxyXFxcXG57XFxcXHJcXFxcblxcXFx0d2lkdGg6IGZpdC1jb250ZW50O1xcXFxyXFxcXG5cXFxcdGJvcmRlcjogMXB4IHNvbGlkIGRhcmtncmVlbjtcXFxcclxcXFxuXFxcXHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGdyZWVuO1xcXFxyXFxcXG5cXFxcdGJvcmRlci1yYWRpdXM6IDdweDtcXFxcclxcXFxuXFxcXHRwYWRkaW5nOiAzcHg7XFxcXHJcXFxcbn1cXFxcclxcXFxuXFxcXHJcXFxcbi5MYW5kaW5nQnV0dG9uOmhvdmVyXFxcXHJcXFxcbntcXFxcclxcXFxuXFxcXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmE5OTZiO1xcXFxyXFxcXG59XFxcXHJcXFxcblxcXFxyXFxcXG5cXFwiLCBcXFwiXFxcIl0pO1xcbi8vIEV4cG9ydHNcXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHM7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlNWVc1a2FXNW5MbU56Y3o5aVl6RmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRXNhME5CUVd0RExHMUNRVUZQTEVOQlFVTXNjVWRCUVdkRU8wRkJRekZHTzBGQlEwRTdRVUZEUVN4alFVRmpMRkZCUVZNc2MwSkJRWE5DTEhsQ1FVRjVRaXhyUTBGQmEwTXNiVU5CUVcxRExIbENRVUY1UWl4dFFrRkJiVUlzUzBGQlN5eHBRMEZCYVVNc1owTkJRV2RETEV0QlFVczdRVUZEYkZFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWpjM010Ykc5aFpHVnlMMlJwYzNRdlkycHpMbXB6SVM0dmMzSmpMMHhoYm1ScGJtY3VZM056TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnU1cxd2IzSjBjMXh1ZG1GeUlGOWZYME5UVTE5TVQwRkVSVkpmUVZCSlgwbE5VRTlTVkY5Zlh5QTlJSEpsY1hWcGNtVW9YQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZZM056TFd4dllXUmxjaTlrYVhOMEwzSjFiblJwYldVdllYQnBMbXB6WENJcE8xeHVaWGh3YjNKMGN5QTlJRjlmWDBOVFUxOU1UMEZFUlZKZlFWQkpYMGxOVUU5U1ZGOWZYeWhtWVd4elpTazdYRzR2THlCTmIyUjFiR1ZjYm1WNGNHOXlkSE11Y0hWemFDaGJiVzlrZFd4bExtbGtMQ0JjSWk1TVlXNWthVzVuUW5WMGRHOXVYRnh5WEZ4dWUxeGNjbHhjYmx4Y2RIZHBaSFJvT2lCbWFYUXRZMjl1ZEdWdWREdGNYSEpjWEc1Y1hIUmliM0prWlhJNklERndlQ0J6YjJ4cFpDQmtZWEpyWjNKbFpXNDdYRnh5WEZ4dVhGeDBZbUZqYTJkeWIzVnVaQzFqYjJ4dmNqb2diR2xuYUhSbmNtVmxianRjWEhKY1hHNWNYSFJpYjNKa1pYSXRjbUZrYVhWek9pQTNjSGc3WEZ4eVhGeHVYRngwY0dGa1pHbHVaem9nTTNCNE8xeGNjbHhjYm4xY1hISmNYRzVjWEhKY1hHNHVUR0Z1WkdsdVowSjFkSFJ2Ympwb2IzWmxjbHhjY2x4Y2JudGNYSEpjWEc1Y1hIUmlZV05yWjNKdmRXNWtMV052Ykc5eU9pQWpNbUU1T1RaaU8xeGNjbHhjYm4xY1hISmNYRzVjWEhKY1hHNWNJaXdnWENKY0lsMHBPMXh1THk4Z1JYaHdiM0owYzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbGVIQnZjblJ6TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL3NyYy9MYW5kaW5nLmNzc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbi8qXFxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxcbiovXFxuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHVzZVNvdXJjZU1hcCkge1xcbiAgdmFyIGxpc3QgPSBbXTsgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xcblxcbiAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xcbiAgICByZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcXG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSwgdXNlU291cmNlTWFwKTtcXG5cXG4gICAgICBpZiAoaXRlbVsyXSkge1xcbiAgICAgICAgcmV0dXJuIFxcXCJAbWVkaWEgXFxcIi5jb25jYXQoaXRlbVsyXSwgXFxcIiB7XFxcIikuY29uY2F0KGNvbnRlbnQsIFxcXCJ9XFxcIik7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiBjb250ZW50O1xcbiAgICB9KS5qb2luKCcnKTtcXG4gIH07IC8vIGltcG9ydCBhIGxpc3Qgb2YgbW9kdWxlcyBpbnRvIHRoZSBsaXN0XFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xcblxcblxcbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXFxuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgJyddXTtcXG4gICAgfVxcblxcbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xcblxcbiAgICBpZiAoZGVkdXBlKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcXG4gICAgICAgIHZhciBpZCA9IHRoaXNbaV1bMF07XFxuXFxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xcbiAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2ldKTtcXG5cXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250aW51ZVxcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtZWRpYVF1ZXJ5KSB7XFxuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcXG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhUXVlcnk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBpdGVtWzJdID0gXFxcIlxcXCIuY29uY2F0KG1lZGlhUXVlcnksIFxcXCIgYW5kIFxcXCIpLmNvbmNhdChpdGVtWzJdKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xcbiAgICB9XFxuICB9O1xcblxcbiAgcmV0dXJuIGxpc3Q7XFxufTtcXG5cXG5mdW5jdGlvbiBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0sIHVzZVNvdXJjZU1hcCkge1xcbiAgdmFyIGNvbnRlbnQgPSBpdGVtWzFdIHx8ICcnOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcXG5cXG4gIHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcXG5cXG4gIGlmICghY3NzTWFwcGluZykge1xcbiAgICByZXR1cm4gY29udGVudDtcXG4gIH1cXG5cXG4gIGlmICh1c2VTb3VyY2VNYXAgJiYgdHlwZW9mIGJ0b2EgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgdmFyIHNvdXJjZU1hcHBpbmcgPSB0b0NvbW1lbnQoY3NzTWFwcGluZyk7XFxuICAgIHZhciBzb3VyY2VVUkxzID0gY3NzTWFwcGluZy5zb3VyY2VzLm1hcChmdW5jdGlvbiAoc291cmNlKSB7XFxuICAgICAgcmV0dXJuIFxcXCIvKiMgc291cmNlVVJMPVxcXCIuY29uY2F0KGNzc01hcHBpbmcuc291cmNlUm9vdCB8fCAnJykuY29uY2F0KHNvdXJjZSwgXFxcIiAqL1xcXCIpO1xcbiAgICB9KTtcXG4gICAgcmV0dXJuIFtjb250ZW50XS5jb25jYXQoc291cmNlVVJMcykuY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbignXFxcXG4nKTtcXG4gIH1cXG5cXG4gIHJldHVybiBbY29udGVudF0uam9pbignXFxcXG4nKTtcXG59IC8vIEFkYXB0ZWQgZnJvbSBjb252ZXJ0LXNvdXJjZS1tYXAgKE1JVClcXG5cXG5cXG5mdW5jdGlvbiB0b0NvbW1lbnQoc291cmNlTWFwKSB7XFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcXG4gIHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpO1xcbiAgdmFyIGRhdGEgPSBcXFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXFxcIi5jb25jYXQoYmFzZTY0KTtcXG4gIHJldHVybiBcXFwiLyojIFxcXCIuY29uY2F0KGRhdGEsIFxcXCIgKi9cXFwiKTtcXG59Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlqYzNNdGJHOWhaR1Z5TDJScGMzUXZjblZ1ZEdsdFpTOWhjR2t1YW5NL04ySXlOQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2RDUVVGblFqczdRVUZGYUVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNORU5CUVRSRExIRkNRVUZ4UWp0QlFVTnFSVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SlFVRkpPMEZCUTBvN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN4eFFrRkJjVUlzYVVKQlFXbENPMEZCUTNSRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHZRa0ZCYjBJc2NVSkJRWEZDTzBGQlEzcERPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3c0UWtGQk9FSTdPMEZCUlRsQ096dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VSQlFYRkVMR05CUVdNN1FVRkRia1U3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5amMzTXRiRzloWkdWeUwyUnBjM1F2Y25WdWRHbHRaUzloY0drdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKY0luVnpaU0J6ZEhKcFkzUmNJanRjYmx4dUx5cGNiaUFnVFVsVUlFeHBZMlZ1YzJVZ2FIUjBjRG92TDNkM2R5NXZjR1Z1YzI5MWNtTmxMbTl5Wnk5c2FXTmxibk5sY3k5dGFYUXRiR2xqWlc1elpTNXdhSEJjYmlBZ1FYVjBhRzl5SUZSdlltbGhjeUJMYjNCd1pYSnpJRUJ6YjJ0eVlWeHVLaTljYmk4dklHTnpjeUJpWVhObElHTnZaR1VzSUdsdWFtVmpkR1ZrSUdKNUlIUm9aU0JqYzNNdGJHOWhaR1Z5WEc0dkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1puVnVZeTF1WVcxbGMxeHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQW9kWE5sVTI5MWNtTmxUV0Z3S1NCN1hHNGdJSFpoY2lCc2FYTjBJRDBnVzEwN0lDOHZJSEpsZEhWeWJpQjBhR1VnYkdsemRDQnZaaUJ0YjJSMWJHVnpJR0Z6SUdOemN5QnpkSEpwYm1kY2JseHVJQ0JzYVhOMExuUnZVM1J5YVc1bklEMGdablZ1WTNScGIyNGdkRzlUZEhKcGJtY29LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YldGd0tHWjFibU4wYVc5dUlDaHBkR1Z0S1NCN1hHNGdJQ0FnSUNCMllYSWdZMjl1ZEdWdWRDQTlJR056YzFkcGRHaE5ZWEJ3YVc1blZHOVRkSEpwYm1jb2FYUmxiU3dnZFhObFUyOTFjbU5sVFdGd0tUdGNibHh1SUNBZ0lDQWdhV1lnS0dsMFpXMWJNbDBwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVFHMWxaR2xoSUZ3aUxtTnZibU5oZENocGRHVnRXekpkTENCY0lpQjdYQ0lwTG1OdmJtTmhkQ2hqYjI1MFpXNTBMQ0JjSW4xY0lpazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQmpiMjUwWlc1ME8xeHVJQ0FnSUgwcExtcHZhVzRvSnljcE8xeHVJQ0I5T3lBdkx5QnBiWEJ2Y25RZ1lTQnNhWE4wSUc5bUlHMXZaSFZzWlhNZ2FXNTBieUIwYUdVZ2JHbHpkRnh1SUNBdkx5QmxjMnhwYm5RdFpHbHpZV0pzWlMxdVpYaDBMV3hwYm1VZ1puVnVZeTF1WVcxbGMxeHVYRzVjYmlBZ2JHbHpkQzVwSUQwZ1puVnVZM1JwYjI0Z0tHMXZaSFZzWlhNc0lHMWxaR2xoVVhWbGNua3NJR1JsWkhWd1pTa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiVzlrZFd4bGN5QTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlNCdWJ5MXdZWEpoYlMxeVpXRnpjMmxuYmx4dUlDQWdJQ0FnYlc5a2RXeGxjeUE5SUZ0YmJuVnNiQ3dnYlc5a2RXeGxjeXdnSnlkZFhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZV3h5WldGa2VVbHRjRzl5ZEdWa1RXOWtkV3hsY3lBOUlIdDlPMXh1WEc0Z0lDQWdhV1lnS0dSbFpIVndaU2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQndjbVZtWlhJdFpHVnpkSEoxWTNSMWNtbHVaMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FXUWdQU0IwYUdselcybGRXekJkTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwWkNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZV3h5WldGa2VVbHRjRzl5ZEdWa1RXOWtkV3hsYzF0cFpGMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ1gya2dQU0F3T3lCZmFTQThJRzF2WkhWc1pYTXViR1Z1WjNSb095QmZhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhWFJsYlNBOUlGdGRMbU52Ym1OaGRDaHRiMlIxYkdWelcxOXBYU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaGtaV1IxY0dVZ0ppWWdZV3h5WldGa2VVbHRjRzl5ZEdWa1RXOWtkV3hsYzF0cGRHVnRXekJkWFNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0WTI5dWRHbHVkV1ZjYmlBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRaV1JwWVZGMVpYSjVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hhWFJsYlZzeVhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsMFpXMWJNbDBnUFNCdFpXUnBZVkYxWlhKNU8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR2wwWlcxYk1sMGdQU0JjSWx3aUxtTnZibU5oZENodFpXUnBZVkYxWlhKNUxDQmNJaUJoYm1RZ1hDSXBMbU52Ym1OaGRDaHBkR1Z0V3pKZEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JzYVhOMExuQjFjMmdvYVhSbGJTazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJSEpsZEhWeWJpQnNhWE4wTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWTNOelYybDBhRTFoY0hCcGJtZFViMU4wY21sdVp5aHBkR1Z0TENCMWMyVlRiM1Z5WTJWTllYQXBJSHRjYmlBZ2RtRnlJR052Ym5SbGJuUWdQU0JwZEdWdFd6RmRJSHg4SUNjbk95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdjSEpsWm1WeUxXUmxjM1J5ZFdOMGRYSnBibWRjYmx4dUlDQjJZWElnWTNOelRXRndjR2x1WnlBOUlHbDBaVzFiTTEwN1hHNWNiaUFnYVdZZ0tDRmpjM05OWVhCd2FXNW5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJsYm5RN1hHNGdJSDFjYmx4dUlDQnBaaUFvZFhObFUyOTFjbU5sVFdGd0lDWW1JSFI1Y0dWdlppQmlkRzloSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdkbUZ5SUhOdmRYSmpaVTFoY0hCcGJtY2dQU0IwYjBOdmJXMWxiblFvWTNOelRXRndjR2x1WnlrN1hHNGdJQ0FnZG1GeUlITnZkWEpqWlZWU1RITWdQU0JqYzNOTllYQndhVzVuTG5OdmRYSmpaWE11YldGd0tHWjFibU4wYVc5dUlDaHpiM1Z5WTJVcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCY0lpOHFJeUJ6YjNWeVkyVlZVa3c5WENJdVkyOXVZMkYwS0dOemMwMWhjSEJwYm1jdWMyOTFjbU5sVW05dmRDQjhmQ0FuSnlrdVkyOXVZMkYwS0hOdmRYSmpaU3dnWENJZ0tpOWNJaWs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlGdGpiMjUwWlc1MFhTNWpiMjVqWVhRb2MyOTFjbU5sVlZKTWN5a3VZMjl1WTJGMEtGdHpiM1Z5WTJWTllYQndhVzVuWFNrdWFtOXBiaWduWEZ4dUp5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdXMk52Ym5SbGJuUmRMbXB2YVc0b0oxeGNiaWNwTzF4dWZTQXZMeUJCWkdGd2RHVmtJR1p5YjIwZ1kyOXVkbVZ5ZEMxemIzVnlZMlV0YldGd0lDaE5TVlFwWEc1Y2JseHVablZ1WTNScGIyNGdkRzlEYjIxdFpXNTBLSE52ZFhKalpVMWhjQ2tnZTF4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0ZFc1a1pXWmNiaUFnZG1GeUlHSmhjMlUyTkNBOUlHSjBiMkVvZFc1bGMyTmhjR1VvWlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0VwVFQwNHVjM1J5YVc1bmFXWjVLSE52ZFhKalpVMWhjQ2twS1NrN1hHNGdJSFpoY2lCa1lYUmhJRDBnWENKemIzVnlZMlZOWVhCd2FXNW5WVkpNUFdSaGRHRTZZWEJ3YkdsallYUnBiMjR2YW5OdmJqdGphR0Z5YzJWMFBYVjBaaTA0TzJKaGMyVTJOQ3hjSWk1amIyNWpZWFFvWW1GelpUWTBLVHRjYmlBZ2NtVjBkWEp1SUZ3aUx5b2pJRndpTG1OdmJtTmhkQ2hrWVhSaExDQmNJaUFxTDF3aUtUdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2FwaS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy51dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVzL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qc1xcXCIpO1xcbmV4cG9ydHMuQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZXMvY2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jaXBoZXIuanNcXFwiKTtcXG5leHBvcnRzLkRFUyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVzL2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZGVzLmpzXFxcIik7XFxuZXhwb3J0cy5DQkMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Rlcy9jYmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NiYy5qc1xcXCIpO1xcbmV4cG9ydHMuRURFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZXMvZWRlICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9lZGUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k1cWN6OHhaRE5pSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETERKRVFVRmhPMEZCUTNKRExHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExEWkVRVUZqTzBGQlEzWkRMR05CUVdNc2JVSkJRVThzUTBGQlF5eDFSRUZCVnp0QlFVTnFReXhqUVVGakxHMUNRVUZQTEVOQlFVTXNkVVJCUVZjN1FVRkRha01zWTBGQll5eHRRa0ZCVHl4RFFVRkRMSFZFUVVGWElpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJSbGN5NXFjeTlzYVdJdlpHVnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWxlSEJ2Y25SekxuVjBhV3h6SUQwZ2NtVnhkV2x5WlNnbkxpOWtaWE12ZFhScGJITW5LVHRjYm1WNGNHOXlkSE11UTJsd2FHVnlJRDBnY21WeGRXbHlaU2duTGk5a1pYTXZZMmx3YUdWeUp5azdYRzVsZUhCdmNuUnpMa1JGVXlBOUlISmxjWFZwY21Vb0p5NHZaR1Z6TDJSbGN5Y3BPMXh1Wlhod2IzSjBjeTVEUWtNZ1BTQnlaWEYxYVhKbEtDY3VMMlJsY3k5alltTW5LVHRjYm1WNGNHOXlkSE11UlVSRklEMGdjbVZ4ZFdseVpTZ25MaTlrWlhNdlpXUmxKeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvY2JjLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jYmMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBhc3NlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaW5pbWFsaXN0aWMtYXNzZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxcIik7XFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG5cXG52YXIgcHJvdG8gPSB7fTtcXG5cXG5mdW5jdGlvbiBDQkNTdGF0ZShpdikge1xcbiAgYXNzZXJ0LmVxdWFsKGl2Lmxlbmd0aCwgOCwgJ0ludmFsaWQgSVYgbGVuZ3RoJyk7XFxuXFxuICB0aGlzLml2ID0gbmV3IEFycmF5KDgpO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLml2Lmxlbmd0aDsgaSsrKVxcbiAgICB0aGlzLml2W2ldID0gaXZbaV07XFxufVxcblxcbmZ1bmN0aW9uIGluc3RhbnRpYXRlKEJhc2UpIHtcXG4gIGZ1bmN0aW9uIENCQyhvcHRpb25zKSB7XFxuICAgIEJhc2UuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gICAgdGhpcy5fY2JjSW5pdCgpO1xcbiAgfVxcbiAgaW5oZXJpdHMoQ0JDLCBCYXNlKTtcXG5cXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMocHJvdG8pO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xcbiAgICBDQkMucHJvdG90eXBlW2tleV0gPSBwcm90b1trZXldO1xcbiAgfVxcblxcbiAgQ0JDLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XFxuICAgIHJldHVybiBuZXcgQ0JDKG9wdGlvbnMpO1xcbiAgfTtcXG5cXG4gIHJldHVybiBDQkM7XFxufVxcblxcbmV4cG9ydHMuaW5zdGFudGlhdGUgPSBpbnN0YW50aWF0ZTtcXG5cXG5wcm90by5fY2JjSW5pdCA9IGZ1bmN0aW9uIF9jYmNJbml0KCkge1xcbiAgdmFyIHN0YXRlID0gbmV3IENCQ1N0YXRlKHRoaXMub3B0aW9ucy5pdik7XFxuICB0aGlzLl9jYmNTdGF0ZSA9IHN0YXRlO1xcbn07XFxuXFxucHJvdG8uX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2NiY1N0YXRlO1xcbiAgdmFyIHN1cGVyUHJvdG8gPSB0aGlzLmNvbnN0cnVjdG9yLnN1cGVyXy5wcm90b3R5cGU7XFxuXFxuICB2YXIgaXYgPSBzdGF0ZS5pdjtcXG4gIGlmICh0aGlzLnR5cGUgPT09ICdlbmNyeXB0Jykge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYmxvY2tTaXplOyBpKyspXFxuICAgICAgaXZbaV0gXj0gaW5wW2luT2ZmICsgaV07XFxuXFxuICAgIHN1cGVyUHJvdG8uX3VwZGF0ZS5jYWxsKHRoaXMsIGl2LCAwLCBvdXQsIG91dE9mZik7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5ibG9ja1NpemU7IGkrKylcXG4gICAgICBpdltpXSA9IG91dFtvdXRPZmYgKyBpXTtcXG4gIH0gZWxzZSB7XFxuICAgIHN1cGVyUHJvdG8uX3VwZGF0ZS5jYWxsKHRoaXMsIGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxcbiAgICAgIG91dFtvdXRPZmYgKyBpXSBePSBpdltpXTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxcbiAgICAgIGl2W2ldID0gaW5wW2luT2ZmICsgaV07XFxuICB9XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k5alltTXVhbk0vWldWbVlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDTzBGQlF6RkRMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZha003TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4dlFrRkJiMEk3UVVGRGNrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUWtGQmFVSXNhVUpCUVdsQ08wRkJRMnhETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHZRa0ZCYjBJN1FVRkRka003TzBGQlJVRTdPMEZCUlVFc2JVSkJRVzFDTEc5Q1FVRnZRanRCUVVOMlF6dEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRU3h0UWtGQmJVSXNiMEpCUVc5Q08wRkJRM1pET3p0QlFVVkJMRzFDUVVGdFFpeHZRa0ZCYjBJN1FVRkRka003UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMlJsY3k1cWN5OXNhV0l2WkdWekwyTmlZeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdGemMyVnlkQ0E5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWhjM05sY25RbktUdGNiblpoY2lCcGJtaGxjbWwwY3lBOUlISmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5azdYRzVjYm5aaGNpQndjbTkwYnlBOUlIdDlPMXh1WEc1bWRXNWpkR2x2YmlCRFFrTlRkR0YwWlNocGRpa2dlMXh1SUNCaGMzTmxjblF1WlhGMVlXd29hWFl1YkdWdVozUm9MQ0E0TENBblNXNTJZV3hwWkNCSlZpQnNaVzVuZEdnbktUdGNibHh1SUNCMGFHbHpMbWwySUQwZ2JtVjNJRUZ5Y21GNUtEZ3BPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YVhZdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ2RHaHBjeTVwZGx0cFhTQTlJR2wyVzJsZE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJuTjBZVzUwYVdGMFpTaENZWE5sS1NCN1hHNGdJR1oxYm1OMGFXOXVJRU5DUXlodmNIUnBiMjV6S1NCN1hHNGdJQ0FnUW1GelpTNWpZV3hzS0hSb2FYTXNJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lIUm9hWE11WDJOaVkwbHVhWFFvS1R0Y2JpQWdmVnh1SUNCcGJtaGxjbWwwY3loRFFrTXNJRUpoYzJVcE8xeHVYRzRnSUhaaGNpQnJaWGx6SUQwZ1QySnFaV04wTG10bGVYTW9jSEp2ZEc4cE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd0bGVYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0IyWVhJZ2EyVjVJRDBnYTJWNWMxdHBYVHRjYmlBZ0lDQkRRa011Y0hKdmRHOTBlWEJsVzJ0bGVWMGdQU0J3Y205MGIxdHJaWGxkTzF4dUlDQjlYRzVjYmlBZ1EwSkRMbU55WldGMFpTQTlJR1oxYm1OMGFXOXVJR055WldGMFpTaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QkRRa01vYjNCMGFXOXVjeWs3WEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUVOQ1F6dGNibjFjYmx4dVpYaHdiM0owY3k1cGJuTjBZVzUwYVdGMFpTQTlJR2x1YzNSaGJuUnBZWFJsTzF4dVhHNXdjbTkwYnk1ZlkySmpTVzVwZENBOUlHWjFibU4wYVc5dUlGOWpZbU5KYm1sMEtDa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnVaWGNnUTBKRFUzUmhkR1VvZEdocGN5NXZjSFJwYjI1ekxtbDJLVHRjYmlBZ2RHaHBjeTVmWTJKalUzUmhkR1VnUFNCemRHRjBaVHRjYm4wN1hHNWNibkJ5YjNSdkxsOTFjR1JoZEdVZ1BTQm1kVzVqZEdsdmJpQmZkWEJrWVhSbEtHbHVjQ3dnYVc1UFptWXNJRzkxZEN3Z2IzVjBUMlptS1NCN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYMk5pWTFOMFlYUmxPMXh1SUNCMllYSWdjM1Z3WlhKUWNtOTBieUE5SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0l1YzNWd1pYSmZMbkJ5YjNSdmRIbHdaVHRjYmx4dUlDQjJZWElnYVhZZ1BTQnpkR0YwWlM1cGRqdGNiaUFnYVdZZ0tIUm9hWE11ZEhsd1pTQTlQVDBnSjJWdVkzSjVjSFFuS1NCN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbUpzYjJOclUybDZaVHNnYVNzcktWeHVJQ0FnSUNBZ2FYWmJhVjBnWGowZ2FXNXdXMmx1VDJabUlDc2dhVjA3WEc1Y2JpQWdJQ0J6ZFhCbGNsQnliM1J2TGw5MWNHUmhkR1V1WTJGc2JDaDBhR2x6TENCcGRpd2dNQ3dnYjNWMExDQnZkWFJQWm1ZcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1Kc2IyTnJVMmw2WlRzZ2FTc3JLVnh1SUNBZ0lDQWdhWFpiYVYwZ1BTQnZkWFJiYjNWMFQyWm1JQ3NnYVYwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MzVndaWEpRY205MGJ5NWZkWEJrWVhSbExtTmhiR3dvZEdocGN5d2dhVzV3TENCcGJrOW1aaXdnYjNWMExDQnZkWFJQWm1ZcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1Kc2IyTnJVMmw2WlRzZ2FTc3JLVnh1SUNBZ0lDQWdiM1YwVzI5MWRFOW1aaUFySUdsZElGNDlJR2wyVzJsZE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1Kc2IyTnJVMmw2WlRzZ2FTc3JLVnh1SUNBZ0lDQWdhWFpiYVYwZ1BTQnBibkJiYVc1UFptWWdLeUJwWFR0Y2JpQWdmVnh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvY2JjLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jaXBoZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NpcGhlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBDaXBoZXIob3B0aW9ucykge1xcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcXG5cXG4gIHRoaXMudHlwZSA9IHRoaXMub3B0aW9ucy50eXBlO1xcbiAgdGhpcy5ibG9ja1NpemUgPSA4O1xcbiAgdGhpcy5faW5pdCgpO1xcblxcbiAgdGhpcy5idWZmZXIgPSBuZXcgQXJyYXkodGhpcy5ibG9ja1NpemUpO1xcbiAgdGhpcy5idWZmZXJPZmYgPSAwO1xcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IENpcGhlcjtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gX2luaXQoKSB7XFxuICAvLyBNaWdodCBiZSBvdmVycmlkZWRcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKGRhdGEpIHtcXG4gIGlmIChkYXRhLmxlbmd0aCA9PT0gMClcXG4gICAgcmV0dXJuIFtdO1xcblxcbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2RlY3J5cHQnKVxcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlRGVjcnlwdChkYXRhKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuX3VwZGF0ZUVuY3J5cHQoZGF0YSk7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9idWZmZXIgPSBmdW5jdGlvbiBfYnVmZmVyKGRhdGEsIG9mZikge1xcbiAgLy8gQXBwZW5kIGRhdGEgdG8gYnVmZmVyXFxuICB2YXIgbWluID0gTWF0aC5taW4odGhpcy5idWZmZXIubGVuZ3RoIC0gdGhpcy5idWZmZXJPZmYsIGRhdGEubGVuZ3RoIC0gb2ZmKTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbWluOyBpKyspXFxuICAgIHRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyT2ZmICsgaV0gPSBkYXRhW29mZiArIGldO1xcbiAgdGhpcy5idWZmZXJPZmYgKz0gbWluO1xcblxcbiAgLy8gU2hpZnQgbmV4dFxcbiAgcmV0dXJuIG1pbjtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuX2ZsdXNoQnVmZmVyID0gZnVuY3Rpb24gX2ZsdXNoQnVmZmVyKG91dCwgb2ZmKSB7XFxuICB0aGlzLl91cGRhdGUodGhpcy5idWZmZXIsIDAsIG91dCwgb2ZmKTtcXG4gIHRoaXMuYnVmZmVyT2ZmID0gMDtcXG4gIHJldHVybiB0aGlzLmJsb2NrU2l6ZTtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZUVuY3J5cHQgPSBmdW5jdGlvbiBfdXBkYXRlRW5jcnlwdChkYXRhKSB7XFxuICB2YXIgaW5wdXRPZmYgPSAwO1xcbiAgdmFyIG91dHB1dE9mZiA9IDA7XFxuXFxuICB2YXIgY291bnQgPSAoKHRoaXMuYnVmZmVyT2ZmICsgZGF0YS5sZW5ndGgpIC8gdGhpcy5ibG9ja1NpemUpIHwgMDtcXG4gIHZhciBvdXQgPSBuZXcgQXJyYXkoY291bnQgKiB0aGlzLmJsb2NrU2l6ZSk7XFxuXFxuICBpZiAodGhpcy5idWZmZXJPZmYgIT09IDApIHtcXG4gICAgaW5wdXRPZmYgKz0gdGhpcy5fYnVmZmVyKGRhdGEsIGlucHV0T2ZmKTtcXG5cXG4gICAgaWYgKHRoaXMuYnVmZmVyT2ZmID09PSB0aGlzLmJ1ZmZlci5sZW5ndGgpXFxuICAgICAgb3V0cHV0T2ZmICs9IHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgb3V0cHV0T2ZmKTtcXG4gIH1cXG5cXG4gIC8vIFdyaXRlIGJsb2Nrc1xcbiAgdmFyIG1heCA9IGRhdGEubGVuZ3RoIC0gKChkYXRhLmxlbmd0aCAtIGlucHV0T2ZmKSAlIHRoaXMuYmxvY2tTaXplKTtcXG4gIGZvciAoOyBpbnB1dE9mZiA8IG1heDsgaW5wdXRPZmYgKz0gdGhpcy5ibG9ja1NpemUpIHtcXG4gICAgdGhpcy5fdXBkYXRlKGRhdGEsIGlucHV0T2ZmLCBvdXQsIG91dHB1dE9mZik7XFxuICAgIG91dHB1dE9mZiArPSB0aGlzLmJsb2NrU2l6ZTtcXG4gIH1cXG5cXG4gIC8vIFF1ZXVlIHJlc3RcXG4gIGZvciAoOyBpbnB1dE9mZiA8IGRhdGEubGVuZ3RoOyBpbnB1dE9mZisrLCB0aGlzLmJ1ZmZlck9mZisrKVxcbiAgICB0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZl0gPSBkYXRhW2lucHV0T2ZmXTtcXG5cXG4gIHJldHVybiBvdXQ7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl91cGRhdGVEZWNyeXB0ID0gZnVuY3Rpb24gX3VwZGF0ZURlY3J5cHQoZGF0YSkge1xcbiAgdmFyIGlucHV0T2ZmID0gMDtcXG4gIHZhciBvdXRwdXRPZmYgPSAwO1xcblxcbiAgdmFyIGNvdW50ID0gTWF0aC5jZWlsKCh0aGlzLmJ1ZmZlck9mZiArIGRhdGEubGVuZ3RoKSAvIHRoaXMuYmxvY2tTaXplKSAtIDE7XFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KGNvdW50ICogdGhpcy5ibG9ja1NpemUpO1xcblxcbiAgLy8gVE9ETyhpbmR1dG55KTogb3B0aW1pemUgaXQsIHRoaXMgaXMgZmFyIGZyb20gb3B0aW1hbFxcbiAgZm9yICg7IGNvdW50ID4gMDsgY291bnQtLSkge1xcbiAgICBpbnB1dE9mZiArPSB0aGlzLl9idWZmZXIoZGF0YSwgaW5wdXRPZmYpO1xcbiAgICBvdXRwdXRPZmYgKz0gdGhpcy5fZmx1c2hCdWZmZXIob3V0LCBvdXRwdXRPZmYpO1xcbiAgfVxcblxcbiAgLy8gQnVmZmVyIHJlc3Qgb2YgdGhlIGlucHV0XFxuICBpbnB1dE9mZiArPSB0aGlzLl9idWZmZXIoZGF0YSwgaW5wdXRPZmYpO1xcblxcbiAgcmV0dXJuIG91dDtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuZmluYWwgPSBmdW5jdGlvbiBmaW5hbChidWZmZXIpIHtcXG4gIHZhciBmaXJzdDtcXG4gIGlmIChidWZmZXIpXFxuICAgIGZpcnN0ID0gdGhpcy51cGRhdGUoYnVmZmVyKTtcXG5cXG4gIHZhciBsYXN0O1xcbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2VuY3J5cHQnKVxcbiAgICBsYXN0ID0gdGhpcy5fZmluYWxFbmNyeXB0KCk7XFxuICBlbHNlXFxuICAgIGxhc3QgPSB0aGlzLl9maW5hbERlY3J5cHQoKTtcXG5cXG4gIGlmIChmaXJzdClcXG4gICAgcmV0dXJuIGZpcnN0LmNvbmNhdChsYXN0KTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIGxhc3Q7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9wYWQgPSBmdW5jdGlvbiBfcGFkKGJ1ZmZlciwgb2ZmKSB7XFxuICBpZiAob2ZmID09PSAwKVxcbiAgICByZXR1cm4gZmFsc2U7XFxuXFxuICB3aGlsZSAob2ZmIDwgYnVmZmVyLmxlbmd0aClcXG4gICAgYnVmZmVyW29mZisrXSA9IDA7XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbkNpcGhlci5wcm90b3R5cGUuX2ZpbmFsRW5jcnlwdCA9IGZ1bmN0aW9uIF9maW5hbEVuY3J5cHQoKSB7XFxuICBpZiAoIXRoaXMuX3BhZCh0aGlzLmJ1ZmZlciwgdGhpcy5idWZmZXJPZmYpKVxcbiAgICByZXR1cm4gW107XFxuXFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtcXG4gIHRoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwgMCwgb3V0LCAwKTtcXG4gIHJldHVybiBvdXQ7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl91bnBhZCA9IGZ1bmN0aW9uIF91bnBhZChidWZmZXIpIHtcXG4gIHJldHVybiBidWZmZXI7XFxufTtcXG5cXG5DaXBoZXIucHJvdG90eXBlLl9maW5hbERlY3J5cHQgPSBmdW5jdGlvbiBfZmluYWxEZWNyeXB0KCkge1xcbiAgYXNzZXJ0LmVxdWFsKHRoaXMuYnVmZmVyT2ZmLCB0aGlzLmJsb2NrU2l6ZSwgJ05vdCBlbm91Z2ggZGF0YSB0byBkZWNyeXB0Jyk7XFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtcXG4gIHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgMCk7XFxuXFxuICByZXR1cm4gdGhpcy5fdW5wYWQob3V0KTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5a1pYTXVhbk12YkdsaUwyUmxjeTlqYVhCb1pYSXVhbk0vWWpJMllTSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDT3p0QlFVVXhRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1VVRkJVU3huUWtGQlowSTdRVUZEZUVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNVVUZCVVN4M1FrRkJkMEk3UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEZGQlFWRXNWMEZCVnp0QlFVTnVRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlrWlhNdWFuTXZiR2xpTDJSbGN5OWphWEJvWlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQmhjM05sY25RZ1BTQnlaWEYxYVhKbEtDZHRhVzVwYldGc2FYTjBhV010WVhOelpYSjBKeWs3WEc1Y2JtWjFibU4wYVc5dUlFTnBjR2hsY2lodmNIUnBiMjV6S1NCN1hHNGdJSFJvYVhNdWIzQjBhVzl1Y3lBOUlHOXdkR2x2Ym5NN1hHNWNiaUFnZEdocGN5NTBlWEJsSUQwZ2RHaHBjeTV2Y0hScGIyNXpMblI1Y0dVN1hHNGdJSFJvYVhNdVlteHZZMnRUYVhwbElEMGdPRHRjYmlBZ2RHaHBjeTVmYVc1cGRDZ3BPMXh1WEc0Z0lIUm9hWE11WW5WbVptVnlJRDBnYm1WM0lFRnljbUY1S0hSb2FYTXVZbXh2WTJ0VGFYcGxLVHRjYmlBZ2RHaHBjeTVpZFdabVpYSlBabVlnUFNBd08xeHVmVnh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JEYVhCb1pYSTdYRzVjYmtOcGNHaGxjaTV3Y205MGIzUjVjR1V1WDJsdWFYUWdQU0JtZFc1amRHbHZiaUJmYVc1cGRDZ3BJSHRjYmlBZ0x5OGdUV2xuYUhRZ1ltVWdiM1psY25KcFpHVmtYRzU5TzF4dVhHNURhWEJvWlhJdWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNoa1lYUmhLU0I3WEc0Z0lHbG1JQ2hrWVhSaExteGxibWQwYUNBOVBUMGdNQ2xjYmlBZ0lDQnlaWFIxY200Z1cxMDdYRzVjYmlBZ2FXWWdLSFJvYVhNdWRIbHdaU0E5UFQwZ0oyUmxZM0o1Y0hRbktWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTFjR1JoZEdWRVpXTnllWEIwS0dSaGRHRXBPMXh1SUNCbGJITmxYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM1Z3WkdGMFpVVnVZM0o1Y0hRb1pHRjBZU2s3WEc1OU8xeHVYRzVEYVhCb1pYSXVjSEp2ZEc5MGVYQmxMbDlpZFdabVpYSWdQU0JtZFc1amRHbHZiaUJmWW5WbVptVnlLR1JoZEdFc0lHOW1aaWtnZTF4dUlDQXZMeUJCY0hCbGJtUWdaR0YwWVNCMGJ5QmlkV1ptWlhKY2JpQWdkbUZ5SUcxcGJpQTlJRTFoZEdndWJXbHVLSFJvYVhNdVluVm1abVZ5TG14bGJtZDBhQ0F0SUhSb2FYTXVZblZtWm1WeVQyWm1MQ0JrWVhSaExteGxibWQwYUNBdElHOW1aaWs3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diV2x1T3lCcEt5c3BYRzRnSUNBZ2RHaHBjeTVpZFdabVpYSmJkR2hwY3k1aWRXWm1aWEpQWm1ZZ0t5QnBYU0E5SUdSaGRHRmJiMlptSUNzZ2FWMDdYRzRnSUhSb2FYTXVZblZtWm1WeVQyWm1JQ3M5SUcxcGJqdGNibHh1SUNBdkx5QlRhR2xtZENCdVpYaDBYRzRnSUhKbGRIVnliaUJ0YVc0N1hHNTlPMXh1WEc1RGFYQm9aWEl1Y0hKdmRHOTBlWEJsTGw5bWJIVnphRUoxWm1abGNpQTlJR1oxYm1OMGFXOXVJRjltYkhWemFFSjFabVpsY2lodmRYUXNJRzltWmlrZ2UxeHVJQ0IwYUdsekxsOTFjR1JoZEdVb2RHaHBjeTVpZFdabVpYSXNJREFzSUc5MWRDd2diMlptS1R0Y2JpQWdkR2hwY3k1aWRXWm1aWEpQWm1ZZ1BTQXdPMXh1SUNCeVpYUjFjbTRnZEdocGN5NWliRzlqYTFOcGVtVTdYRzU5TzF4dVhHNURhWEJvWlhJdWNISnZkRzkwZVhCbExsOTFjR1JoZEdWRmJtTnllWEIwSUQwZ1puVnVZM1JwYjI0Z1gzVndaR0YwWlVWdVkzSjVjSFFvWkdGMFlTa2dlMXh1SUNCMllYSWdhVzV3ZFhSUFptWWdQU0F3TzF4dUlDQjJZWElnYjNWMGNIVjBUMlptSUQwZ01EdGNibHh1SUNCMllYSWdZMjkxYm5RZ1BTQW9LSFJvYVhNdVluVm1abVZ5VDJabUlDc2daR0YwWVM1c1pXNW5kR2dwSUM4Z2RHaHBjeTVpYkc5amExTnBlbVVwSUh3Z01EdGNiaUFnZG1GeUlHOTFkQ0E5SUc1bGR5QkJjbkpoZVNoamIzVnVkQ0FxSUhSb2FYTXVZbXh2WTJ0VGFYcGxLVHRjYmx4dUlDQnBaaUFvZEdocGN5NWlkV1ptWlhKUFptWWdJVDA5SURBcElIdGNiaUFnSUNCcGJuQjFkRTltWmlBclBTQjBhR2x6TGw5aWRXWm1aWElvWkdGMFlTd2dhVzV3ZFhSUFptWXBPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVZblZtWm1WeVQyWm1JRDA5UFNCMGFHbHpMbUoxWm1abGNpNXNaVzVuZEdncFhHNGdJQ0FnSUNCdmRYUndkWFJQWm1ZZ0t6MGdkR2hwY3k1ZlpteDFjMmhDZFdabVpYSW9iM1YwTENCdmRYUndkWFJQWm1ZcE8xeHVJQ0I5WEc1Y2JpQWdMeThnVjNKcGRHVWdZbXh2WTJ0elhHNGdJSFpoY2lCdFlYZ2dQU0JrWVhSaExteGxibWQwYUNBdElDZ29aR0YwWVM1c1pXNW5kR2dnTFNCcGJuQjFkRTltWmlrZ0pTQjBhR2x6TG1Kc2IyTnJVMmw2WlNrN1hHNGdJR1p2Y2lBb095QnBibkIxZEU5bVppQThJRzFoZURzZ2FXNXdkWFJQWm1ZZ0t6MGdkR2hwY3k1aWJHOWphMU5wZW1VcElIdGNiaUFnSUNCMGFHbHpMbDkxY0dSaGRHVW9aR0YwWVN3Z2FXNXdkWFJQWm1Zc0lHOTFkQ3dnYjNWMGNIVjBUMlptS1R0Y2JpQWdJQ0J2ZFhSd2RYUlBabVlnS3owZ2RHaHBjeTVpYkc5amExTnBlbVU3WEc0Z0lIMWNibHh1SUNBdkx5QlJkV1YxWlNCeVpYTjBYRzRnSUdadmNpQW9PeUJwYm5CMWRFOW1aaUE4SUdSaGRHRXViR1Z1WjNSb095QnBibkIxZEU5bVppc3JMQ0IwYUdsekxtSjFabVpsY2s5bVppc3JLVnh1SUNBZ0lIUm9hWE11WW5WbVptVnlXM1JvYVhNdVluVm1abVZ5VDJabVhTQTlJR1JoZEdGYmFXNXdkWFJQWm1aZE8xeHVYRzRnSUhKbGRIVnliaUJ2ZFhRN1hHNTlPMXh1WEc1RGFYQm9aWEl1Y0hKdmRHOTBlWEJsTGw5MWNHUmhkR1ZFWldOeWVYQjBJRDBnWm5WdVkzUnBiMjRnWDNWd1pHRjBaVVJsWTNKNWNIUW9aR0YwWVNrZ2UxeHVJQ0IyWVhJZ2FXNXdkWFJQWm1ZZ1BTQXdPMXh1SUNCMllYSWdiM1YwY0hWMFQyWm1JRDBnTUR0Y2JseHVJQ0IyWVhJZ1kyOTFiblFnUFNCTllYUm9MbU5sYVd3b0tIUm9hWE11WW5WbVptVnlUMlptSUNzZ1pHRjBZUzVzWlc1bmRHZ3BJQzhnZEdocGN5NWliRzlqYTFOcGVtVXBJQzBnTVR0Y2JpQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQmNuSmhlU2hqYjNWdWRDQXFJSFJvYVhNdVlteHZZMnRUYVhwbEtUdGNibHh1SUNBdkx5QlVUMFJQS0dsdVpIVjBibmtwT2lCdmNIUnBiV2w2WlNCcGRDd2dkR2hwY3lCcGN5Qm1ZWElnWm5KdmJTQnZjSFJwYldGc1hHNGdJR1p2Y2lBb095QmpiM1Z1ZENBK0lEQTdJR052ZFc1MExTMHBJSHRjYmlBZ0lDQnBibkIxZEU5bVppQXJQU0IwYUdsekxsOWlkV1ptWlhJb1pHRjBZU3dnYVc1d2RYUlBabVlwTzF4dUlDQWdJRzkxZEhCMWRFOW1aaUFyUFNCMGFHbHpMbDltYkhWemFFSjFabVpsY2lodmRYUXNJRzkxZEhCMWRFOW1aaWs3WEc0Z0lIMWNibHh1SUNBdkx5QkNkV1ptWlhJZ2NtVnpkQ0J2WmlCMGFHVWdhVzV3ZFhSY2JpQWdhVzV3ZFhSUFptWWdLejBnZEdocGN5NWZZblZtWm1WeUtHUmhkR0VzSUdsdWNIVjBUMlptS1R0Y2JseHVJQ0J5WlhSMWNtNGdiM1YwTzF4dWZUdGNibHh1UTJsd2FHVnlMbkJ5YjNSdmRIbHdaUzVtYVc1aGJDQTlJR1oxYm1OMGFXOXVJR1pwYm1Gc0tHSjFabVpsY2lrZ2UxeHVJQ0IyWVhJZ1ptbHljM1E3WEc0Z0lHbG1JQ2hpZFdabVpYSXBYRzRnSUNBZ1ptbHljM1FnUFNCMGFHbHpMblZ3WkdGMFpTaGlkV1ptWlhJcE8xeHVYRzRnSUhaaGNpQnNZWE4wTzF4dUlDQnBaaUFvZEdocGN5NTBlWEJsSUQwOVBTQW5aVzVqY25sd2RDY3BYRzRnSUNBZ2JHRnpkQ0E5SUhSb2FYTXVYMlpwYm1Gc1JXNWpjbmx3ZENncE8xeHVJQ0JsYkhObFhHNGdJQ0FnYkdGemRDQTlJSFJvYVhNdVgyWnBibUZzUkdWamNubHdkQ2dwTzF4dVhHNGdJR2xtSUNobWFYSnpkQ2xjYmlBZ0lDQnlaWFIxY200Z1ptbHljM1F1WTI5dVkyRjBLR3hoYzNRcE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJR3hoYzNRN1hHNTlPMXh1WEc1RGFYQm9aWEl1Y0hKdmRHOTBlWEJsTGw5d1lXUWdQU0JtZFc1amRHbHZiaUJmY0dGa0tHSjFabVpsY2l3Z2IyWm1LU0I3WEc0Z0lHbG1JQ2h2Wm1ZZ1BUMDlJREFwWEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSGRvYVd4bElDaHZabVlnUENCaWRXWm1aWEl1YkdWdVozUm9LVnh1SUNBZ0lHSjFabVpsY2x0dlptWXJLMTBnUFNBd08xeHVYRzRnSUhKbGRIVnliaUIwY25WbE8xeHVmVHRjYmx4dVEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1ZlptbHVZV3hGYm1OeWVYQjBJRDBnWm5WdVkzUnBiMjRnWDJacGJtRnNSVzVqY25sd2RDZ3BJSHRjYmlBZ2FXWWdLQ0YwYUdsekxsOXdZV1FvZEdocGN5NWlkV1ptWlhJc0lIUm9hWE11WW5WbVptVnlUMlptS1NsY2JpQWdJQ0J5WlhSMWNtNGdXMTA3WEc1Y2JpQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQmNuSmhlU2gwYUdsekxtSnNiMk5yVTJsNlpTazdYRzRnSUhSb2FYTXVYM1Z3WkdGMFpTaDBhR2x6TG1KMVptWmxjaXdnTUN3Z2IzVjBMQ0F3S1R0Y2JpQWdjbVYwZFhKdUlHOTFkRHRjYm4wN1hHNWNia05wY0dobGNpNXdjbTkwYjNSNWNHVXVYM1Z1Y0dGa0lEMGdablZ1WTNScGIyNGdYM1Z1Y0dGa0tHSjFabVpsY2lrZ2UxeHVJQ0J5WlhSMWNtNGdZblZtWm1WeU8xeHVmVHRjYmx4dVEybHdhR1Z5TG5CeWIzUnZkSGx3WlM1ZlptbHVZV3hFWldOeWVYQjBJRDBnWm5WdVkzUnBiMjRnWDJacGJtRnNSR1ZqY25sd2RDZ3BJSHRjYmlBZ1lYTnpaWEowTG1WeGRXRnNLSFJvYVhNdVluVm1abVZ5VDJabUxDQjBhR2x6TG1Kc2IyTnJVMmw2WlN3Z0owNXZkQ0JsYm05MVoyZ2daR0YwWVNCMGJ5QmtaV055ZVhCMEp5azdYRzRnSUhaaGNpQnZkWFFnUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVpYkc5amExTnBlbVVwTzF4dUlDQjBhR2x6TGw5bWJIVnphRUoxWm1abGNpaHZkWFFzSURBcE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxsOTFibkJoWkNodmRYUXBPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvY2lwaGVyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9kZXMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2Rlcy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL3V0aWxzLmpzXFxcIik7XFxudmFyIENpcGhlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2lwaGVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9jaXBoZXIuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBERVNTdGF0ZSgpIHtcXG4gIHRoaXMudG1wID0gbmV3IEFycmF5KDIpO1xcbiAgdGhpcy5rZXlzID0gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gREVTKG9wdGlvbnMpIHtcXG4gIENpcGhlci5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcblxcbiAgdmFyIHN0YXRlID0gbmV3IERFU1N0YXRlKCk7XFxuICB0aGlzLl9kZXNTdGF0ZSA9IHN0YXRlO1xcblxcbiAgdGhpcy5kZXJpdmVLZXlzKHN0YXRlLCBvcHRpb25zLmtleSk7XFxufVxcbmluaGVyaXRzKERFUywgQ2lwaGVyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IERFUztcXG5cXG5ERVMuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKG9wdGlvbnMpIHtcXG4gIHJldHVybiBuZXcgREVTKG9wdGlvbnMpO1xcbn07XFxuXFxudmFyIHNoaWZ0VGFibGUgPSBbXFxuICAxLCAxLCAyLCAyLCAyLCAyLCAyLCAyLFxcbiAgMSwgMiwgMiwgMiwgMiwgMiwgMiwgMVxcbl07XFxuXFxuREVTLnByb3RvdHlwZS5kZXJpdmVLZXlzID0gZnVuY3Rpb24gZGVyaXZlS2V5cyhzdGF0ZSwga2V5KSB7XFxuICBzdGF0ZS5rZXlzID0gbmV3IEFycmF5KDE2ICogMik7XFxuXFxuICBhc3NlcnQuZXF1YWwoa2V5Lmxlbmd0aCwgdGhpcy5ibG9ja1NpemUsICdJbnZhbGlkIGtleSBsZW5ndGgnKTtcXG5cXG4gIHZhciBrTCA9IHV0aWxzLnJlYWRVSW50MzJCRShrZXksIDApO1xcbiAgdmFyIGtSID0gdXRpbHMucmVhZFVJbnQzMkJFKGtleSwgNCk7XFxuXFxuICB1dGlscy5wYzEoa0wsIGtSLCBzdGF0ZS50bXAsIDApO1xcbiAga0wgPSBzdGF0ZS50bXBbMF07XFxuICBrUiA9IHN0YXRlLnRtcFsxXTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGUua2V5cy5sZW5ndGg7IGkgKz0gMikge1xcbiAgICB2YXIgc2hpZnQgPSBzaGlmdFRhYmxlW2kgPj4+IDFdO1xcbiAgICBrTCA9IHV0aWxzLnIyOHNobChrTCwgc2hpZnQpO1xcbiAgICBrUiA9IHV0aWxzLnIyOHNobChrUiwgc2hpZnQpO1xcbiAgICB1dGlscy5wYzIoa0wsIGtSLCBzdGF0ZS5rZXlzLCBpKTtcXG4gIH1cXG59O1xcblxcbkRFUy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2Rlc1N0YXRlO1xcblxcbiAgdmFyIGwgPSB1dGlscy5yZWFkVUludDMyQkUoaW5wLCBpbk9mZik7XFxuICB2YXIgciA9IHV0aWxzLnJlYWRVSW50MzJCRShpbnAsIGluT2ZmICsgNCk7XFxuXFxuICAvLyBJbml0aWFsIFBlcm11dGF0aW9uXFxuICB1dGlscy5pcChsLCByLCBzdGF0ZS50bXAsIDApO1xcbiAgbCA9IHN0YXRlLnRtcFswXTtcXG4gIHIgPSBzdGF0ZS50bXBbMV07XFxuXFxuICBpZiAodGhpcy50eXBlID09PSAnZW5jcnlwdCcpXFxuICAgIHRoaXMuX2VuY3J5cHQoc3RhdGUsIGwsIHIsIHN0YXRlLnRtcCwgMCk7XFxuICBlbHNlXFxuICAgIHRoaXMuX2RlY3J5cHQoc3RhdGUsIGwsIHIsIHN0YXRlLnRtcCwgMCk7XFxuXFxuICBsID0gc3RhdGUudG1wWzBdO1xcbiAgciA9IHN0YXRlLnRtcFsxXTtcXG5cXG4gIHV0aWxzLndyaXRlVUludDMyQkUob3V0LCBsLCBvdXRPZmYpO1xcbiAgdXRpbHMud3JpdGVVSW50MzJCRShvdXQsIHIsIG91dE9mZiArIDQpO1xcbn07XFxuXFxuREVTLnByb3RvdHlwZS5fcGFkID0gZnVuY3Rpb24gX3BhZChidWZmZXIsIG9mZikge1xcbiAgdmFyIHZhbHVlID0gYnVmZmVyLmxlbmd0aCAtIG9mZjtcXG4gIGZvciAodmFyIGkgPSBvZmY7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspXFxuICAgIGJ1ZmZlcltpXSA9IHZhbHVlO1xcblxcbiAgcmV0dXJuIHRydWU7XFxufTtcXG5cXG5ERVMucHJvdG90eXBlLl91bnBhZCA9IGZ1bmN0aW9uIF91bnBhZChidWZmZXIpIHtcXG4gIHZhciBwYWQgPSBidWZmZXJbYnVmZmVyLmxlbmd0aCAtIDFdO1xcbiAgZm9yICh2YXIgaSA9IGJ1ZmZlci5sZW5ndGggLSBwYWQ7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspXFxuICAgIGFzc2VydC5lcXVhbChidWZmZXJbaV0sIHBhZCk7XFxuXFxuICByZXR1cm4gYnVmZmVyLnNsaWNlKDAsIGJ1ZmZlci5sZW5ndGggLSBwYWQpO1xcbn07XFxuXFxuREVTLnByb3RvdHlwZS5fZW5jcnlwdCA9IGZ1bmN0aW9uIF9lbmNyeXB0KHN0YXRlLCBsU3RhcnQsIHJTdGFydCwgb3V0LCBvZmYpIHtcXG4gIHZhciBsID0gbFN0YXJ0O1xcbiAgdmFyIHIgPSByU3RhcnQ7XFxuXFxuICAvLyBBcHBseSBmKCkgeDE2IHRpbWVzXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXRlLmtleXMubGVuZ3RoOyBpICs9IDIpIHtcXG4gICAgdmFyIGtleUwgPSBzdGF0ZS5rZXlzW2ldO1xcbiAgICB2YXIga2V5UiA9IHN0YXRlLmtleXNbaSArIDFdO1xcblxcbiAgICAvLyBmKHIsIGspXFxuICAgIHV0aWxzLmV4cGFuZChyLCBzdGF0ZS50bXAsIDApO1xcblxcbiAgICBrZXlMIF49IHN0YXRlLnRtcFswXTtcXG4gICAga2V5UiBePSBzdGF0ZS50bXBbMV07XFxuICAgIHZhciBzID0gdXRpbHMuc3Vic3RpdHV0ZShrZXlMLCBrZXlSKTtcXG4gICAgdmFyIGYgPSB1dGlscy5wZXJtdXRlKHMpO1xcblxcbiAgICB2YXIgdCA9IHI7XFxuICAgIHIgPSAobCBeIGYpID4+PiAwO1xcbiAgICBsID0gdDtcXG4gIH1cXG5cXG4gIC8vIFJldmVyc2UgSW5pdGlhbCBQZXJtdXRhdGlvblxcbiAgdXRpbHMucmlwKHIsIGwsIG91dCwgb2ZmKTtcXG59O1xcblxcbkRFUy5wcm90b3R5cGUuX2RlY3J5cHQgPSBmdW5jdGlvbiBfZGVjcnlwdChzdGF0ZSwgbFN0YXJ0LCByU3RhcnQsIG91dCwgb2ZmKSB7XFxuICB2YXIgbCA9IHJTdGFydDtcXG4gIHZhciByID0gbFN0YXJ0O1xcblxcbiAgLy8gQXBwbHkgZigpIHgxNiB0aW1lc1xcbiAgZm9yICh2YXIgaSA9IHN0YXRlLmtleXMubGVuZ3RoIC0gMjsgaSA+PSAwOyBpIC09IDIpIHtcXG4gICAgdmFyIGtleUwgPSBzdGF0ZS5rZXlzW2ldO1xcbiAgICB2YXIga2V5UiA9IHN0YXRlLmtleXNbaSArIDFdO1xcblxcbiAgICAvLyBmKHIsIGspXFxuICAgIHV0aWxzLmV4cGFuZChsLCBzdGF0ZS50bXAsIDApO1xcblxcbiAgICBrZXlMIF49IHN0YXRlLnRtcFswXTtcXG4gICAga2V5UiBePSBzdGF0ZS50bXBbMV07XFxuICAgIHZhciBzID0gdXRpbHMuc3Vic3RpdHV0ZShrZXlMLCBrZXlSKTtcXG4gICAgdmFyIGYgPSB1dGlscy5wZXJtdXRlKHMpO1xcblxcbiAgICB2YXIgdCA9IGw7XFxuICAgIGwgPSAociBeIGYpID4+PiAwO1xcbiAgICByID0gdDtcXG4gIH1cXG5cXG4gIC8vIFJldmVyc2UgSW5pdGlhbCBQZXJtdXRhdGlvblxcbiAgdXRpbHMucmlwKGwsIHIsIG91dCwgb2ZmKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5a1pYTXVhbk12YkdsaUwyUmxjeTlrWlhNdWFuTS9Oamd3WmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBWQlFYRkNPMEZCUXpGRExHVkJRV1VzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHM3UVVGRmFrTXNXVUZCV1N4dFFrRkJUeXhEUVVGRExIVkVRVUZUTzBGQlF6ZENMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVlRzN1FVRkZMMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMSFZDUVVGMVFqdEJRVU40UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNiVUpCUVcxQ08wRkJRM1JET3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxRFFVRnRReXh0UWtGQmJVSTdRVUZEZEVRN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRa0ZCYVVJc2RVSkJRWFZDTzBGQlEzaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VOQlFYRkRMRkZCUVZFN1FVRkROME03UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlrWlhNdWFuTXZiR2xpTDJSbGN5OWtaWE11YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCaGMzTmxjblFnUFNCeVpYRjFhWEpsS0NkdGFXNXBiV0ZzYVhOMGFXTXRZWE56WlhKMEp5azdYRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BPMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMM1YwYVd4ekp5azdYRzUyWVhJZ1EybHdhR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWphWEJvWlhJbktUdGNibHh1Wm5WdVkzUnBiMjRnUkVWVFUzUmhkR1VvS1NCN1hHNGdJSFJvYVhNdWRHMXdJRDBnYm1WM0lFRnljbUY1S0RJcE8xeHVJQ0IwYUdsekxtdGxlWE1nUFNCdWRXeHNPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkVSVk1vYjNCMGFXOXVjeWtnZTF4dUlDQkRhWEJvWlhJdVkyRnNiQ2gwYUdsekxDQnZjSFJwYjI1ektUdGNibHh1SUNCMllYSWdjM1JoZEdVZ1BTQnVaWGNnUkVWVFUzUmhkR1VvS1R0Y2JpQWdkR2hwY3k1ZlpHVnpVM1JoZEdVZ1BTQnpkR0YwWlR0Y2JseHVJQ0IwYUdsekxtUmxjbWwyWlV0bGVYTW9jM1JoZEdVc0lHOXdkR2x2Ym5NdWEyVjVLVHRjYm4xY2JtbHVhR1Z5YVhSektFUkZVeXdnUTJsd2FHVnlLVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUkVWVE8xeHVYRzVFUlZNdVkzSmxZWFJsSUQwZ1puVnVZM1JwYjI0Z1kzSmxZWFJsS0c5d2RHbHZibk1wSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJFUlZNb2IzQjBhVzl1Y3lrN1hHNTlPMXh1WEc1MllYSWdjMmhwWm5SVVlXSnNaU0E5SUZ0Y2JpQWdNU3dnTVN3Z01pd2dNaXdnTWl3Z01pd2dNaXdnTWl4Y2JpQWdNU3dnTWl3Z01pd2dNaXdnTWl3Z01pd2dNaXdnTVZ4dVhUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWtaWEpwZG1WTFpYbHpJRDBnWm5WdVkzUnBiMjRnWkdWeWFYWmxTMlY1Y3loemRHRjBaU3dnYTJWNUtTQjdYRzRnSUhOMFlYUmxMbXRsZVhNZ1BTQnVaWGNnUVhKeVlYa29NVFlnS2lBeUtUdGNibHh1SUNCaGMzTmxjblF1WlhGMVlXd29hMlY1TG14bGJtZDBhQ3dnZEdocGN5NWliRzlqYTFOcGVtVXNJQ2RKYm5aaGJHbGtJR3RsZVNCc1pXNW5kR2duS1R0Y2JseHVJQ0IyWVhJZ2Ewd2dQU0IxZEdsc2N5NXlaV0ZrVlVsdWRETXlRa1VvYTJWNUxDQXdLVHRjYmlBZ2RtRnlJR3RTSUQwZ2RYUnBiSE11Y21WaFpGVkpiblF6TWtKRktHdGxlU3dnTkNrN1hHNWNiaUFnZFhScGJITXVjR014S0d0TUxDQnJVaXdnYzNSaGRHVXVkRzF3TENBd0tUdGNiaUFnYTB3Z1BTQnpkR0YwWlM1MGJYQmJNRjA3WEc0Z0lHdFNJRDBnYzNSaGRHVXVkRzF3V3pGZE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhOMFlYUmxMbXRsZVhNdWJHVnVaM1JvT3lCcElDczlJRElwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCemFHbG1kRlJoWW14bFcya2dQajQrSURGZE8xeHVJQ0FnSUd0TUlEMGdkWFJwYkhNdWNqSTRjMmhzS0d0TUxDQnphR2xtZENrN1hHNGdJQ0FnYTFJZ1BTQjFkR2xzY3k1eU1qaHphR3dvYTFJc0lITm9hV1owS1R0Y2JpQWdJQ0IxZEdsc2N5NXdZeklvYTB3c0lHdFNMQ0J6ZEdGMFpTNXJaWGx6TENCcEtUdGNiaUFnZlZ4dWZUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWZkWEJrWVhSbElEMGdablZ1WTNScGIyNGdYM1Z3WkdGMFpTaHBibkFzSUdsdVQyWm1MQ0J2ZFhRc0lHOTFkRTltWmlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDlrWlhOVGRHRjBaVHRjYmx4dUlDQjJZWElnYkNBOUlIVjBhV3h6TG5KbFlXUlZTVzUwTXpKQ1JTaHBibkFzSUdsdVQyWm1LVHRjYmlBZ2RtRnlJSElnUFNCMWRHbHNjeTV5WldGa1ZVbHVkRE15UWtVb2FXNXdMQ0JwYms5bVppQXJJRFFwTzF4dVhHNGdJQzh2SUVsdWFYUnBZV3dnVUdWeWJYVjBZWFJwYjI1Y2JpQWdkWFJwYkhNdWFYQW9iQ3dnY2l3Z2MzUmhkR1V1ZEcxd0xDQXdLVHRjYmlBZ2JDQTlJSE4wWVhSbExuUnRjRnN3WFR0Y2JpQWdjaUE5SUhOMFlYUmxMblJ0Y0ZzeFhUdGNibHh1SUNCcFppQW9kR2hwY3k1MGVYQmxJRDA5UFNBblpXNWpjbmx3ZENjcFhHNGdJQ0FnZEdocGN5NWZaVzVqY25sd2RDaHpkR0YwWlN3Z2JDd2djaXdnYzNSaGRHVXVkRzF3TENBd0tUdGNiaUFnWld4elpWeHVJQ0FnSUhSb2FYTXVYMlJsWTNKNWNIUW9jM1JoZEdVc0lHd3NJSElzSUhOMFlYUmxMblJ0Y0N3Z01DazdYRzVjYmlBZ2JDQTlJSE4wWVhSbExuUnRjRnN3WFR0Y2JpQWdjaUE5SUhOMFlYUmxMblJ0Y0ZzeFhUdGNibHh1SUNCMWRHbHNjeTUzY21sMFpWVkpiblF6TWtKRktHOTFkQ3dnYkN3Z2IzVjBUMlptS1R0Y2JpQWdkWFJwYkhNdWQzSnBkR1ZWU1c1ME16SkNSU2h2ZFhRc0lISXNJRzkxZEU5bVppQXJJRFFwTzF4dWZUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWZjR0ZrSUQwZ1puVnVZM1JwYjI0Z1gzQmhaQ2hpZFdabVpYSXNJRzltWmlrZ2UxeHVJQ0IyWVhJZ2RtRnNkV1VnUFNCaWRXWm1aWEl1YkdWdVozUm9JQzBnYjJabU8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2IyWm1PeUJwSUR3Z1luVm1abVZ5TG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUdKMVptWmxjbHRwWFNBOUlIWmhiSFZsTzF4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZUdGNibHh1UkVWVExuQnliM1J2ZEhsd1pTNWZkVzV3WVdRZ1BTQm1kVzVqZEdsdmJpQmZkVzV3WVdRb1luVm1abVZ5S1NCN1hHNGdJSFpoY2lCd1lXUWdQU0JpZFdabVpYSmJZblZtWm1WeUxteGxibWQwYUNBdElERmRPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdZblZtWm1WeUxteGxibWQwYUNBdElIQmhaRHNnYVNBOElHSjFabVpsY2k1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCaGMzTmxjblF1WlhGMVlXd29ZblZtWm1WeVcybGRMQ0J3WVdRcE8xeHVYRzRnSUhKbGRIVnliaUJpZFdabVpYSXVjMnhwWTJVb01Dd2dZblZtWm1WeUxteGxibWQwYUNBdElIQmhaQ2s3WEc1OU8xeHVYRzVFUlZNdWNISnZkRzkwZVhCbExsOWxibU55ZVhCMElEMGdablZ1WTNScGIyNGdYMlZ1WTNKNWNIUW9jM1JoZEdVc0lHeFRkR0Z5ZEN3Z2NsTjBZWEowTENCdmRYUXNJRzltWmlrZ2UxeHVJQ0IyWVhJZ2JDQTlJR3hUZEdGeWREdGNiaUFnZG1GeUlISWdQU0J5VTNSaGNuUTdYRzVjYmlBZ0x5OGdRWEJ3YkhrZ1ppZ3BJSGd4TmlCMGFXMWxjMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElITjBZWFJsTG10bGVYTXViR1Z1WjNSb095QnBJQ3M5SURJcElIdGNiaUFnSUNCMllYSWdhMlY1VENBOUlITjBZWFJsTG10bGVYTmJhVjA3WEc0Z0lDQWdkbUZ5SUd0bGVWSWdQU0J6ZEdGMFpTNXJaWGx6VzJrZ0t5QXhYVHRjYmx4dUlDQWdJQzh2SUdZb2Npd2dheWxjYmlBZ0lDQjFkR2xzY3k1bGVIQmhibVFvY2l3Z2MzUmhkR1V1ZEcxd0xDQXdLVHRjYmx4dUlDQWdJR3RsZVV3Z1hqMGdjM1JoZEdVdWRHMXdXekJkTzF4dUlDQWdJR3RsZVZJZ1hqMGdjM1JoZEdVdWRHMXdXekZkTzF4dUlDQWdJSFpoY2lCeklEMGdkWFJwYkhNdWMzVmljM1JwZEhWMFpTaHJaWGxNTENCclpYbFNLVHRjYmlBZ0lDQjJZWElnWmlBOUlIVjBhV3h6TG5CbGNtMTFkR1VvY3lrN1hHNWNiaUFnSUNCMllYSWdkQ0E5SUhJN1hHNGdJQ0FnY2lBOUlDaHNJRjRnWmlrZ1BqNCtJREE3WEc0Z0lDQWdiQ0E5SUhRN1hHNGdJSDFjYmx4dUlDQXZMeUJTWlhabGNuTmxJRWx1YVhScFlXd2dVR1Z5YlhWMFlYUnBiMjVjYmlBZ2RYUnBiSE11Y21sd0tISXNJR3dzSUc5MWRDd2diMlptS1R0Y2JuMDdYRzVjYmtSRlV5NXdjbTkwYjNSNWNHVXVYMlJsWTNKNWNIUWdQU0JtZFc1amRHbHZiaUJmWkdWamNubHdkQ2h6ZEdGMFpTd2diRk4wWVhKMExDQnlVM1JoY25Rc0lHOTFkQ3dnYjJabUtTQjdYRzRnSUhaaGNpQnNJRDBnY2xOMFlYSjBPMXh1SUNCMllYSWdjaUE5SUd4VGRHRnlkRHRjYmx4dUlDQXZMeUJCY0hCc2VTQm1LQ2tnZURFMklIUnBiV1Z6WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGMFpTNXJaWGx6TG14bGJtZDBhQ0F0SURJN0lHa2dQajBnTURzZ2FTQXRQU0F5S1NCN1hHNGdJQ0FnZG1GeUlHdGxlVXdnUFNCemRHRjBaUzVyWlhselcybGRPMXh1SUNBZ0lIWmhjaUJyWlhsU0lEMGdjM1JoZEdVdWEyVjVjMXRwSUNzZ01WMDdYRzVjYmlBZ0lDQXZMeUJtS0hJc0lHc3BYRzRnSUNBZ2RYUnBiSE11Wlhod1lXNWtLR3dzSUhOMFlYUmxMblJ0Y0N3Z01DazdYRzVjYmlBZ0lDQnJaWGxNSUY0OUlITjBZWFJsTG5SdGNGc3dYVHRjYmlBZ0lDQnJaWGxTSUY0OUlITjBZWFJsTG5SdGNGc3hYVHRjYmlBZ0lDQjJZWElnY3lBOUlIVjBhV3h6TG5OMVluTjBhWFIxZEdVb2EyVjVUQ3dnYTJWNVVpazdYRzRnSUNBZ2RtRnlJR1lnUFNCMWRHbHNjeTV3WlhKdGRYUmxLSE1wTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0JzTzF4dUlDQWdJR3dnUFNBb2NpQmVJR1lwSUQ0K1BpQXdPMXh1SUNBZ0lISWdQU0IwTzF4dUlDQjlYRzVjYmlBZ0x5OGdVbVYyWlhKelpTQkpibWwwYVdGc0lGQmxjbTExZEdGMGFXOXVYRzRnSUhWMGFXeHpMbkpwY0Noc0xDQnlMQ0J2ZFhRc0lHOW1aaWs3WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2Rlcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZWRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy9lZGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBhc3NlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaW5pbWFsaXN0aWMtYXNzZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxcIik7XFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG5cXG52YXIgQ2lwaGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jaXBoZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Rlcy5qcy9saWIvZGVzL2NpcGhlci5qc1xcXCIpO1xcbnZhciBERVMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZGVzLmpzXFxcIik7XFxuXFxuZnVuY3Rpb24gRURFU3RhdGUodHlwZSwga2V5KSB7XFxuICBhc3NlcnQuZXF1YWwoa2V5Lmxlbmd0aCwgMjQsICdJbnZhbGlkIGtleSBsZW5ndGgnKTtcXG5cXG4gIHZhciBrMSA9IGtleS5zbGljZSgwLCA4KTtcXG4gIHZhciBrMiA9IGtleS5zbGljZSg4LCAxNik7XFxuICB2YXIgazMgPSBrZXkuc2xpY2UoMTYsIDI0KTtcXG5cXG4gIGlmICh0eXBlID09PSAnZW5jcnlwdCcpIHtcXG4gICAgdGhpcy5jaXBoZXJzID0gW1xcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZW5jcnlwdCcsIGtleTogazEgfSksXFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMiB9KSxcXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGszIH0pXFxuICAgIF07XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLmNpcGhlcnMgPSBbXFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMyB9KSxcXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGsyIH0pLFxcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZGVjcnlwdCcsIGtleTogazEgfSlcXG4gICAgXTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gRURFKG9wdGlvbnMpIHtcXG4gIENpcGhlci5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcblxcbiAgdmFyIHN0YXRlID0gbmV3IEVERVN0YXRlKHRoaXMudHlwZSwgdGhpcy5vcHRpb25zLmtleSk7XFxuICB0aGlzLl9lZGVTdGF0ZSA9IHN0YXRlO1xcbn1cXG5pbmhlcml0cyhFREUsIENpcGhlcik7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBFREU7XFxuXFxuRURFLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XFxuICByZXR1cm4gbmV3IEVERShvcHRpb25zKTtcXG59O1xcblxcbkVERS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX2VkZVN0YXRlO1xcblxcbiAgc3RhdGUuY2lwaGVyc1swXS5fdXBkYXRlKGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKTtcXG4gIHN0YXRlLmNpcGhlcnNbMV0uX3VwZGF0ZShvdXQsIG91dE9mZiwgb3V0LCBvdXRPZmYpO1xcbiAgc3RhdGUuY2lwaGVyc1syXS5fdXBkYXRlKG91dCwgb3V0T2ZmLCBvdXQsIG91dE9mZik7XFxufTtcXG5cXG5FREUucHJvdG90eXBlLl9wYWQgPSBERVMucHJvdG90eXBlLl9wYWQ7XFxuRURFLnByb3RvdHlwZS5fdW5wYWQgPSBERVMucHJvdG90eXBlLl91bnBhZDtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k5bFpHVXVhbk0vWVdGbE1DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDTzBGQlF6RkRMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZha01zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGxFUVVGVk8wRkJReTlDTEZWQlFWVXNiVUpCUVU4c1EwRkJReXh0UkVGQlR6czdRVUZGZWtJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHdENRVUZyUWl3eVFrRkJNa0k3UVVGRE4wTXNhMEpCUVd0Q0xESkNRVUV5UWp0QlFVTTNReXhyUWtGQmEwSXNNa0pCUVRKQ08wRkJRemRETzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc2EwSkJRV3RDTERKQ1FVRXlRanRCUVVNM1F5eHJRa0ZCYTBJc01rSkJRVEpDTzBGQlF6ZERMR3RDUVVGclFpd3lRa0ZCTWtJN1FVRkROME03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWtaWE11YW5NdmJHbGlMMlJsY3k5bFpHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJoYzNObGNuUWdQU0J5WlhGMWFYSmxLQ2R0YVc1cGJXRnNhWE4wYVdNdFlYTnpaWEowSnlrN1hHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcE8xeHVYRzUyWVhJZ1EybHdhR1Z5SUQwZ2NtVnhkV2x5WlNnbkxpOWphWEJvWlhJbktUdGNiblpoY2lCRVJWTWdQU0J5WlhGMWFYSmxLQ2N1TDJSbGN5Y3BPMXh1WEc1bWRXNWpkR2x2YmlCRlJFVlRkR0YwWlNoMGVYQmxMQ0JyWlhrcElIdGNiaUFnWVhOelpYSjBMbVZ4ZFdGc0tHdGxlUzVzWlc1bmRHZ3NJREkwTENBblNXNTJZV3hwWkNCclpYa2diR1Z1WjNSb0p5azdYRzVjYmlBZ2RtRnlJR3N4SUQwZ2EyVjVMbk5zYVdObEtEQXNJRGdwTzF4dUlDQjJZWElnYXpJZ1BTQnJaWGt1YzJ4cFkyVW9PQ3dnTVRZcE8xeHVJQ0IyWVhJZ2F6TWdQU0JyWlhrdWMyeHBZMlVvTVRZc0lESTBLVHRjYmx4dUlDQnBaaUFvZEhsd1pTQTlQVDBnSjJWdVkzSjVjSFFuS1NCN1hHNGdJQ0FnZEdocGN5NWphWEJvWlhKeklEMGdXMXh1SUNBZ0lDQWdSRVZUTG1OeVpXRjBaU2g3SUhSNWNHVTZJQ2RsYm1OeWVYQjBKeXdnYTJWNU9pQnJNU0I5S1N4Y2JpQWdJQ0FnSUVSRlV5NWpjbVZoZEdVb2V5QjBlWEJsT2lBblpHVmpjbmx3ZENjc0lHdGxlVG9nYXpJZ2ZTa3NYRzRnSUNBZ0lDQkVSVk11WTNKbFlYUmxLSHNnZEhsd1pUb2dKMlZ1WTNKNWNIUW5MQ0JyWlhrNklHc3pJSDBwWEc0Z0lDQWdYVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUdsekxtTnBjR2hsY25NZ1BTQmJYRzRnSUNBZ0lDQkVSVk11WTNKbFlYUmxLSHNnZEhsd1pUb2dKMlJsWTNKNWNIUW5MQ0JyWlhrNklHc3pJSDBwTEZ4dUlDQWdJQ0FnUkVWVExtTnlaV0YwWlNoN0lIUjVjR1U2SUNkbGJtTnllWEIwSnl3Z2EyVjVPaUJyTWlCOUtTeGNiaUFnSUNBZ0lFUkZVeTVqY21WaGRHVW9leUIwZVhCbE9pQW5aR1ZqY25sd2RDY3NJR3RsZVRvZ2F6RWdmU2xjYmlBZ0lDQmRPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUVWRVJTaHZjSFJwYjI1ektTQjdYRzRnSUVOcGNHaGxjaTVqWVd4c0tIUm9hWE1zSUc5d2RHbHZibk1wTzF4dVhHNGdJSFpoY2lCemRHRjBaU0E5SUc1bGR5QkZSRVZUZEdGMFpTaDBhR2x6TG5SNWNHVXNJSFJvYVhNdWIzQjBhVzl1Y3k1clpYa3BPMXh1SUNCMGFHbHpMbDlsWkdWVGRHRjBaU0E5SUhOMFlYUmxPMXh1ZlZ4dWFXNW9aWEpwZEhNb1JVUkZMQ0JEYVhCb1pYSXBPMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVWRVJUdGNibHh1UlVSRkxtTnlaV0YwWlNBOUlHWjFibU4wYVc5dUlHTnlaV0YwWlNodmNIUnBiMjV6S1NCN1hHNGdJSEpsZEhWeWJpQnVaWGNnUlVSRktHOXdkR2x2Ym5NcE8xeHVmVHRjYmx4dVJVUkZMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnWDNWd1pHRjBaU2hwYm5Bc0lHbHVUMlptTENCdmRYUXNJRzkxZEU5bVppa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5bFpHVlRkR0YwWlR0Y2JseHVJQ0J6ZEdGMFpTNWphWEJvWlhKeld6QmRMbDkxY0dSaGRHVW9hVzV3TENCcGJrOW1aaXdnYjNWMExDQnZkWFJQWm1ZcE8xeHVJQ0J6ZEdGMFpTNWphWEJvWlhKeld6RmRMbDkxY0dSaGRHVW9iM1YwTENCdmRYUlBabVlzSUc5MWRDd2diM1YwVDJabUtUdGNiaUFnYzNSaGRHVXVZMmx3YUdWeWMxc3lYUzVmZFhCa1lYUmxLRzkxZEN3Z2IzVjBUMlptTENCdmRYUXNJRzkxZEU5bVppazdYRzU5TzF4dVhHNUZSRVV1Y0hKdmRHOTBlWEJsTGw5d1lXUWdQU0JFUlZNdWNISnZkRzkwZVhCbExsOXdZV1E3WEc1RlJFVXVjSEp2ZEc5MGVYQmxMbDkxYm5CaFpDQTlJRVJGVXk1d2NtOTBiM1I1Y0dVdVgzVnVjR0ZrTzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGVzLmpzL2xpYi9kZXMvZWRlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5leHBvcnRzLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJCRShieXRlcywgb2ZmKSB7XFxuICB2YXIgcmVzID0gIChieXRlc1swICsgb2ZmXSA8PCAyNCkgfFxcbiAgICAgICAgICAgICAoYnl0ZXNbMSArIG9mZl0gPDwgMTYpIHxcXG4gICAgICAgICAgICAgKGJ5dGVzWzIgKyBvZmZdIDw8IDgpIHxcXG4gICAgICAgICAgICAgYnl0ZXNbMyArIG9mZl07XFxuICByZXR1cm4gcmVzID4+PiAwO1xcbn07XFxuXFxuZXhwb3J0cy53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRShieXRlcywgdmFsdWUsIG9mZikge1xcbiAgYnl0ZXNbMCArIG9mZl0gPSB2YWx1ZSA+Pj4gMjQ7XFxuICBieXRlc1sxICsgb2ZmXSA9ICh2YWx1ZSA+Pj4gMTYpICYgMHhmZjtcXG4gIGJ5dGVzWzIgKyBvZmZdID0gKHZhbHVlID4+PiA4KSAmIDB4ZmY7XFxuICBieXRlc1szICsgb2ZmXSA9IHZhbHVlICYgMHhmZjtcXG59O1xcblxcbmV4cG9ydHMuaXAgPSBmdW5jdGlvbiBpcChpbkwsIGluUiwgb3V0LCBvZmYpIHtcXG4gIHZhciBvdXRMID0gMDtcXG4gIHZhciBvdXRSID0gMDtcXG5cXG4gIGZvciAodmFyIGkgPSA2OyBpID49IDA7IGkgLT0gMikge1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpblIgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgZm9yICh2YXIgaSA9IDY7IGkgPj0gMDsgaSAtPSAyKSB7XFxuICAgIGZvciAodmFyIGogPSAxOyBqIDw9IDI1OyBqICs9IDgpIHtcXG4gICAgICBvdXRSIDw8PSAxO1xcbiAgICAgIG91dFIgfD0gKGluUiA+Pj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICAgIGZvciAodmFyIGogPSAxOyBqIDw9IDI1OyBqICs9IDgpIHtcXG4gICAgICBvdXRSIDw8PSAxO1xcbiAgICAgIG91dFIgfD0gKGluTCA+Pj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICB9XFxuXFxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xcbiAgb3V0W29mZiArIDFdID0gb3V0UiA+Pj4gMDtcXG59O1xcblxcbmV4cG9ydHMucmlwID0gZnVuY3Rpb24gcmlwKGluTCwgaW5SLCBvdXQsIG9mZikge1xcbiAgdmFyIG91dEwgPSAwO1xcbiAgdmFyIG91dFIgPSAwO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcXG4gICAgZm9yICh2YXIgaiA9IDI0OyBqID49IDA7IGogLT0gOCkge1xcbiAgICAgIG91dEwgPDw9IDE7XFxuICAgICAgb3V0TCB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgfVxcbiAgZm9yICh2YXIgaSA9IDQ7IGkgPCA4OyBpKyspIHtcXG4gICAgZm9yICh2YXIgaiA9IDI0OyBqID49IDA7IGogLT0gOCkge1xcbiAgICAgIG91dFIgPDw9IDE7XFxuICAgICAgb3V0UiB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XFxuICAgICAgb3V0UiA8PD0gMTtcXG4gICAgICBvdXRSIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgb3V0W29mZiArIDBdID0gb3V0TCA+Pj4gMDtcXG4gIG91dFtvZmYgKyAxXSA9IG91dFIgPj4+IDA7XFxufTtcXG5cXG5leHBvcnRzLnBjMSA9IGZ1bmN0aW9uIHBjMShpbkwsIGluUiwgb3V0LCBvZmYpIHtcXG4gIHZhciBvdXRMID0gMDtcXG4gIHZhciBvdXRSID0gMDtcXG5cXG4gIC8vIDcsIDE1LCAyMywgMzEsIDM5LCA0NywgNTUsIDYzXFxuICAvLyA2LCAxNCwgMjIsIDMwLCAzOSwgNDcsIDU1LCA2M1xcbiAgLy8gNSwgMTMsIDIxLCAyOSwgMzksIDQ3LCA1NSwgNjNcXG4gIC8vIDQsIDEyLCAyMCwgMjhcXG4gIGZvciAodmFyIGkgPSA3OyBpID49IDU7IGktLSkge1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0TCA8PD0gMTtcXG4gICAgICBvdXRMIHw9IChpblIgPj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgICBvdXRMIDw8PSAxO1xcbiAgICAgIG91dEwgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XFxuICAgIH1cXG4gIH1cXG4gIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgb3V0TCA8PD0gMTtcXG4gICAgb3V0TCB8PSAoaW5SID4+IChqICsgaSkpICYgMTtcXG4gIH1cXG5cXG4gIC8vIDEsIDksIDE3LCAyNSwgMzMsIDQxLCA0OSwgNTdcXG4gIC8vIDIsIDEwLCAxOCwgMjYsIDM0LCA0MiwgNTAsIDU4XFxuICAvLyAzLCAxMSwgMTksIDI3LCAzNSwgNDMsIDUxLCA1OVxcbiAgLy8gMzYsIDQ0LCA1MiwgNjBcXG4gIGZvciAodmFyIGkgPSAxOyBpIDw9IDM7IGkrKykge1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XFxuICAgICAgb3V0UiA8PD0gMTtcXG4gICAgICBvdXRSIHw9IChpblIgPj4gKGogKyBpKSkgJiAxO1xcbiAgICB9XFxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgICBvdXRSIDw8PSAxO1xcbiAgICAgIG91dFIgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XFxuICAgIH1cXG4gIH1cXG4gIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcXG4gICAgb3V0UiA8PD0gMTtcXG4gICAgb3V0UiB8PSAoaW5MID4+IChqICsgaSkpICYgMTtcXG4gIH1cXG5cXG4gIG91dFtvZmYgKyAwXSA9IG91dEwgPj4+IDA7XFxuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xcbn07XFxuXFxuZXhwb3J0cy5yMjhzaGwgPSBmdW5jdGlvbiByMjhzaGwobnVtLCBzaGlmdCkge1xcbiAgcmV0dXJuICgobnVtIDw8IHNoaWZ0KSAmIDB4ZmZmZmZmZikgfCAobnVtID4+PiAoMjggLSBzaGlmdCkpO1xcbn07XFxuXFxudmFyIHBjMnRhYmxlID0gW1xcbiAgLy8gaW5MID0+IG91dExcXG4gIDE0LCAxMSwgMTcsIDQsIDI3LCAyMywgMjUsIDAsXFxuICAxMywgMjIsIDcsIDE4LCA1LCA5LCAxNiwgMjQsXFxuICAyLCAyMCwgMTIsIDIxLCAxLCA4LCAxNSwgMjYsXFxuXFxuICAvLyBpblIgPT4gb3V0UlxcbiAgMTUsIDQsIDI1LCAxOSwgOSwgMSwgMjYsIDE2LFxcbiAgNSwgMTEsIDIzLCA4LCAxMiwgNywgMTcsIDAsXFxuICAyMiwgMywgMTAsIDE0LCA2LCAyMCwgMjcsIDI0XFxuXTtcXG5cXG5leHBvcnRzLnBjMiA9IGZ1bmN0aW9uIHBjMihpbkwsIGluUiwgb3V0LCBvZmYpIHtcXG4gIHZhciBvdXRMID0gMDtcXG4gIHZhciBvdXRSID0gMDtcXG5cXG4gIHZhciBsZW4gPSBwYzJ0YWJsZS5sZW5ndGggPj4+IDE7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgIG91dEwgPDw9IDE7XFxuICAgIG91dEwgfD0gKGluTCA+Pj4gcGMydGFibGVbaV0pICYgMHgxO1xcbiAgfVxcbiAgZm9yICh2YXIgaSA9IGxlbjsgaSA8IHBjMnRhYmxlLmxlbmd0aDsgaSsrKSB7XFxuICAgIG91dFIgPDw9IDE7XFxuICAgIG91dFIgfD0gKGluUiA+Pj4gcGMydGFibGVbaV0pICYgMHgxO1xcbiAgfVxcblxcbiAgb3V0W29mZiArIDBdID0gb3V0TCA+Pj4gMDtcXG4gIG91dFtvZmYgKyAxXSA9IG91dFIgPj4+IDA7XFxufTtcXG5cXG5leHBvcnRzLmV4cGFuZCA9IGZ1bmN0aW9uIGV4cGFuZChyLCBvdXQsIG9mZikge1xcbiAgdmFyIG91dEwgPSAwO1xcbiAgdmFyIG91dFIgPSAwO1xcblxcbiAgb3V0TCA9ICgociAmIDEpIDw8IDUpIHwgKHIgPj4+IDI3KTtcXG4gIGZvciAodmFyIGkgPSAyMzsgaSA+PSAxNTsgaSAtPSA0KSB7XFxuICAgIG91dEwgPDw9IDY7XFxuICAgIG91dEwgfD0gKHIgPj4+IGkpICYgMHgzZjtcXG4gIH1cXG4gIGZvciAodmFyIGkgPSAxMTsgaSA+PSAzOyBpIC09IDQpIHtcXG4gICAgb3V0UiB8PSAociA+Pj4gaSkgJiAweDNmO1xcbiAgICBvdXRSIDw8PSA2O1xcbiAgfVxcbiAgb3V0UiB8PSAoKHIgJiAweDFmKSA8PCAxKSB8IChyID4+PiAzMSk7XFxuXFxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xcbiAgb3V0W29mZiArIDFdID0gb3V0UiA+Pj4gMDtcXG59O1xcblxcbnZhciBzVGFibGUgPSBbXFxuICAxNCwgMCwgNCwgMTUsIDEzLCA3LCAxLCA0LCAyLCAxNCwgMTUsIDIsIDExLCAxMywgOCwgMSxcXG4gIDMsIDEwLCAxMCwgNiwgNiwgMTIsIDEyLCAxMSwgNSwgOSwgOSwgNSwgMCwgMywgNywgOCxcXG4gIDQsIDE1LCAxLCAxMiwgMTQsIDgsIDgsIDIsIDEzLCA0LCA2LCA5LCAyLCAxLCAxMSwgNyxcXG4gIDE1LCA1LCAxMiwgMTEsIDksIDMsIDcsIDE0LCAzLCAxMCwgMTAsIDAsIDUsIDYsIDAsIDEzLFxcblxcbiAgMTUsIDMsIDEsIDEzLCA4LCA0LCAxNCwgNywgNiwgMTUsIDExLCAyLCAzLCA4LCA0LCAxNCxcXG4gIDksIDEyLCA3LCAwLCAyLCAxLCAxMywgMTAsIDEyLCA2LCAwLCA5LCA1LCAxMSwgMTAsIDUsXFxuICAwLCAxMywgMTQsIDgsIDcsIDEwLCAxMSwgMSwgMTAsIDMsIDQsIDE1LCAxMywgNCwgMSwgMixcXG4gIDUsIDExLCA4LCA2LCAxMiwgNywgNiwgMTIsIDksIDAsIDMsIDUsIDIsIDE0LCAxNSwgOSxcXG5cXG4gIDEwLCAxMywgMCwgNywgOSwgMCwgMTQsIDksIDYsIDMsIDMsIDQsIDE1LCA2LCA1LCAxMCxcXG4gIDEsIDIsIDEzLCA4LCAxMiwgNSwgNywgMTQsIDExLCAxMiwgNCwgMTEsIDIsIDE1LCA4LCAxLFxcbiAgMTMsIDEsIDYsIDEwLCA0LCAxMywgOSwgMCwgOCwgNiwgMTUsIDksIDMsIDgsIDAsIDcsXFxuICAxMSwgNCwgMSwgMTUsIDIsIDE0LCAxMiwgMywgNSwgMTEsIDEwLCA1LCAxNCwgMiwgNywgMTIsXFxuXFxuICA3LCAxMywgMTMsIDgsIDE0LCAxMSwgMywgNSwgMCwgNiwgNiwgMTUsIDksIDAsIDEwLCAzLFxcbiAgMSwgNCwgMiwgNywgOCwgMiwgNSwgMTIsIDExLCAxLCAxMiwgMTAsIDQsIDE0LCAxNSwgOSxcXG4gIDEwLCAzLCA2LCAxNSwgOSwgMCwgMCwgNiwgMTIsIDEwLCAxMSwgMSwgNywgMTMsIDEzLCA4LFxcbiAgMTUsIDksIDEsIDQsIDMsIDUsIDE0LCAxMSwgNSwgMTIsIDIsIDcsIDgsIDIsIDQsIDE0LFxcblxcbiAgMiwgMTQsIDEyLCAxMSwgNCwgMiwgMSwgMTIsIDcsIDQsIDEwLCA3LCAxMSwgMTMsIDYsIDEsXFxuICA4LCA1LCA1LCAwLCAzLCAxNSwgMTUsIDEwLCAxMywgMywgMCwgOSwgMTQsIDgsIDksIDYsXFxuICA0LCAxMSwgMiwgOCwgMSwgMTIsIDExLCA3LCAxMCwgMSwgMTMsIDE0LCA3LCAyLCA4LCAxMyxcXG4gIDE1LCA2LCA5LCAxNSwgMTIsIDAsIDUsIDksIDYsIDEwLCAzLCA0LCAwLCA1LCAxNCwgMyxcXG5cXG4gIDEyLCAxMCwgMSwgMTUsIDEwLCA0LCAxNSwgMiwgOSwgNywgMiwgMTIsIDYsIDksIDgsIDUsXFxuICAwLCA2LCAxMywgMSwgMywgMTMsIDQsIDE0LCAxNCwgMCwgNywgMTEsIDUsIDMsIDExLCA4LFxcbiAgOSwgNCwgMTQsIDMsIDE1LCAyLCA1LCAxMiwgMiwgOSwgOCwgNSwgMTIsIDE1LCAzLCAxMCxcXG4gIDcsIDExLCAwLCAxNCwgNCwgMSwgMTAsIDcsIDEsIDYsIDEzLCAwLCAxMSwgOCwgNiwgMTMsXFxuXFxuICA0LCAxMywgMTEsIDAsIDIsIDExLCAxNCwgNywgMTUsIDQsIDAsIDksIDgsIDEsIDEzLCAxMCxcXG4gIDMsIDE0LCAxMiwgMywgOSwgNSwgNywgMTIsIDUsIDIsIDEwLCAxNSwgNiwgOCwgMSwgNixcXG4gIDEsIDYsIDQsIDExLCAxMSwgMTMsIDEzLCA4LCAxMiwgMSwgMywgNCwgNywgMTAsIDE0LCA3LFxcbiAgMTAsIDksIDE1LCA1LCA2LCAwLCA4LCAxNSwgMCwgMTQsIDUsIDIsIDksIDMsIDIsIDEyLFxcblxcbiAgMTMsIDEsIDIsIDE1LCA4LCAxMywgNCwgOCwgNiwgMTAsIDE1LCAzLCAxMSwgNywgMSwgNCxcXG4gIDEwLCAxMiwgOSwgNSwgMywgNiwgMTQsIDExLCA1LCAwLCAwLCAxNCwgMTIsIDksIDcsIDIsXFxuICA3LCAyLCAxMSwgMSwgNCwgMTQsIDEsIDcsIDksIDQsIDEyLCAxMCwgMTQsIDgsIDIsIDEzLFxcbiAgMCwgMTUsIDYsIDEyLCAxMCwgOSwgMTMsIDAsIDE1LCAzLCAzLCA1LCA1LCA2LCA4LCAxMVxcbl07XFxuXFxuZXhwb3J0cy5zdWJzdGl0dXRlID0gZnVuY3Rpb24gc3Vic3RpdHV0ZShpbkwsIGluUikge1xcbiAgdmFyIG91dCA9IDA7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICB2YXIgYiA9IChpbkwgPj4+ICgxOCAtIGkgKiA2KSkgJiAweDNmO1xcbiAgICB2YXIgc2IgPSBzVGFibGVbaSAqIDB4NDAgKyBiXTtcXG5cXG4gICAgb3V0IDw8PSA0O1xcbiAgICBvdXQgfD0gc2I7XFxuICB9XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICB2YXIgYiA9IChpblIgPj4+ICgxOCAtIGkgKiA2KSkgJiAweDNmO1xcbiAgICB2YXIgc2IgPSBzVGFibGVbNCAqIDB4NDAgKyBpICogMHg0MCArIGJdO1xcblxcbiAgICBvdXQgPDw9IDQ7XFxuICAgIG91dCB8PSBzYjtcXG4gIH1cXG4gIHJldHVybiBvdXQgPj4+IDA7XFxufTtcXG5cXG52YXIgcGVybXV0ZVRhYmxlID0gW1xcbiAgMTYsIDI1LCAxMiwgMTEsIDMsIDIwLCA0LCAxNSwgMzEsIDE3LCA5LCA2LCAyNywgMTQsIDEsIDIyLFxcbiAgMzAsIDI0LCA4LCAxOCwgMCwgNSwgMjksIDIzLCAxMywgMTksIDIsIDI2LCAxMCwgMjEsIDI4LCA3XFxuXTtcXG5cXG5leHBvcnRzLnBlcm11dGUgPSBmdW5jdGlvbiBwZXJtdXRlKG51bSkge1xcbiAgdmFyIG91dCA9IDA7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBlcm11dGVUYWJsZS5sZW5ndGg7IGkrKykge1xcbiAgICBvdXQgPDw9IDE7XFxuICAgIG91dCB8PSAobnVtID4+PiBwZXJtdXRlVGFibGVbaV0pICYgMHgxO1xcbiAgfVxcbiAgcmV0dXJuIG91dCA+Pj4gMDtcXG59O1xcblxcbmV4cG9ydHMucGFkU3BsaXQgPSBmdW5jdGlvbiBwYWRTcGxpdChudW0sIHNpemUsIGdyb3VwKSB7XFxuICB2YXIgc3RyID0gbnVtLnRvU3RyaW5nKDIpO1xcbiAgd2hpbGUgKHN0ci5sZW5ndGggPCBzaXplKVxcbiAgICBzdHIgPSAnMCcgKyBzdHI7XFxuXFxuICB2YXIgb3V0ID0gW107XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHNpemU7IGkgKz0gZ3JvdXApXFxuICAgIG91dC5wdXNoKHN0ci5zbGljZShpLCBpICsgZ3JvdXApKTtcXG4gIHJldHVybiBvdXQuam9pbignICcpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlrWlhNdWFuTXZiR2xpTDJSbGN5OTFkR2xzY3k1cWN6ODNNRE16SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJc2JVSkJRVzFDTEZOQlFWTTdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJc2JVSkJRVzFDTEZOQlFWTTdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRaXh2UWtGQmIwSXNVVUZCVVR0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVDBGQlR6dEJRVU40UWl4dlFrRkJiMElzVVVGQlVUdEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ0xHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ08wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhUUVVGVE8wRkJRelZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJc2JVSkJRVzFDTEZOQlFWTTdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzVTBGQlV6dEJRVU14UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEhGQ1FVRnhRanRCUVVONFF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHdENRVUZyUWl4VFFVRlRPMEZCUXpOQ08wRkJRMEU3UVVGRFFUdEJRVU5CTEd0Q1FVRnJRaXhSUVVGUk8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhQUVVGUE8wRkJRM2hDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRTlCUVU4N1FVRkRlRUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2VVSkJRWGxDTzBGQlF6RkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRa0ZCYVVJc1ZVRkJWVHRCUVVNelFqdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpHVnpMbXB6TDJ4cFlpOWtaWE12ZFhScGJITXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtVjRjRzl5ZEhNdWNtVmhaRlZKYm5Rek1rSkZJRDBnWm5WdVkzUnBiMjRnY21WaFpGVkpiblF6TWtKRktHSjVkR1Z6TENCdlptWXBJSHRjYmlBZ2RtRnlJSEpsY3lBOUlDQW9ZbmwwWlhOYk1DQXJJRzltWmwwZ1BEd2dNalFwSUh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FvWW5sMFpYTmJNU0FySUc5bVpsMGdQRHdnTVRZcElIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBb1lubDBaWE5iTWlBcklHOW1abDBnUER3Z09Da2dmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lHSjVkR1Z6V3pNZ0t5QnZabVpkTzF4dUlDQnlaWFIxY200Z2NtVnpJRDQrUGlBd08xeHVmVHRjYmx4dVpYaHdiM0owY3k1M2NtbDBaVlZKYm5Rek1rSkZJRDBnWm5WdVkzUnBiMjRnZDNKcGRHVlZTVzUwTXpKQ1JTaGllWFJsY3l3Z2RtRnNkV1VzSUc5bVppa2dlMXh1SUNCaWVYUmxjMXN3SUNzZ2IyWm1YU0E5SUhaaGJIVmxJRDQrUGlBeU5EdGNiaUFnWW5sMFpYTmJNU0FySUc5bVpsMGdQU0FvZG1Gc2RXVWdQajQrSURFMktTQW1JREI0Wm1ZN1hHNGdJR0o1ZEdWeld6SWdLeUJ2Wm1aZElEMGdLSFpoYkhWbElENCtQaUE0S1NBbUlEQjRabVk3WEc0Z0lHSjVkR1Z6V3pNZ0t5QnZabVpkSUQwZ2RtRnNkV1VnSmlBd2VHWm1PMXh1ZlR0Y2JseHVaWGh3YjNKMGN5NXBjQ0E5SUdaMWJtTjBhVzl1SUdsd0tHbHVUQ3dnYVc1U0xDQnZkWFFzSUc5bVppa2dlMXh1SUNCMllYSWdiM1YwVENBOUlEQTdYRzRnSUhaaGNpQnZkWFJTSUQwZ01EdGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdOanNnYVNBK1BTQXdPeUJwSUMwOUlESXBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTURzZ2FpQThQU0F5TkRzZ2FpQXJQU0E0S1NCN1hHNGdJQ0FnSUNCdmRYUk1JRHc4UFNBeE8xeHVJQ0FnSUNBZ2IzVjBUQ0I4UFNBb2FXNVNJRDQrUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3OUlESTBPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEV3Z1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSTUlIdzlJQ2hwYmt3Z1BqNCtJQ2hxSUNzZ2FTa3BJQ1lnTVR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdOanNnYVNBK1BTQXdPeUJwSUMwOUlESXBJSHRjYmlBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTVRzZ2FpQThQU0F5TlRzZ2FpQXJQU0E0S1NCN1hHNGdJQ0FnSUNCdmRYUlNJRHc4UFNBeE8xeHVJQ0FnSUNBZ2IzVjBVaUI4UFNBb2FXNVNJRDQrUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXhPeUJxSUR3OUlESTFPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEZJZ1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSU0lIdzlJQ2hwYmt3Z1BqNCtJQ2hxSUNzZ2FTa3BJQ1lnTVR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCdmRYUmJiMlptSUNzZ01GMGdQU0J2ZFhSTUlENCtQaUF3TzF4dUlDQnZkWFJiYjJabUlDc2dNVjBnUFNCdmRYUlNJRDQrUGlBd08xeHVmVHRjYmx4dVpYaHdiM0owY3k1eWFYQWdQU0JtZFc1amRHbHZiaUJ5YVhBb2FXNU1MQ0JwYmxJc0lHOTFkQ3dnYjJabUtTQjdYRzRnSUhaaGNpQnZkWFJNSUQwZ01EdGNiaUFnZG1GeUlHOTFkRklnUFNBd08xeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hHNGdJQ0FnWm05eUlDaDJZWElnYWlBOUlESTBPeUJxSUQ0OUlEQTdJR29nTFQwZ09Da2dlMXh1SUNBZ0lDQWdiM1YwVENBOFBEMGdNVHRjYmlBZ0lDQWdJRzkxZEV3Z2ZEMGdLR2x1VWlBK1BqNGdLR29nS3lCcEtTa2dKaUF4TzF4dUlDQWdJQ0FnYjNWMFRDQThQRDBnTVR0Y2JpQWdJQ0FnSUc5MWRFd2dmRDBnS0dsdVRDQStQajRnS0dvZ0t5QnBLU2tnSmlBeE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCbWIzSWdLSFpoY2lCcElEMGdORHNnYVNBOElEZzdJR2tyS3lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXlORHNnYWlBK1BTQXdPeUJxSUMwOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEZJZ1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSU0lIdzlJQ2hwYmxJZ1BqNCtJQ2hxSUNzZ2FTa3BJQ1lnTVR0Y2JpQWdJQ0FnSUc5MWRGSWdQRHc5SURFN1hHNGdJQ0FnSUNCdmRYUlNJSHc5SUNocGJrd2dQajQrSUNocUlDc2dhU2twSUNZZ01UdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnZkWFJiYjJabUlDc2dNRjBnUFNCdmRYUk1JRDQrUGlBd08xeHVJQ0J2ZFhSYmIyWm1JQ3NnTVYwZ1BTQnZkWFJTSUQ0K1BpQXdPMXh1ZlR0Y2JseHVaWGh3YjNKMGN5NXdZekVnUFNCbWRXNWpkR2x2YmlCd1l6RW9hVzVNTENCcGJsSXNJRzkxZEN3Z2IyWm1LU0I3WEc0Z0lIWmhjaUJ2ZFhSTUlEMGdNRHRjYmlBZ2RtRnlJRzkxZEZJZ1BTQXdPMXh1WEc0Z0lDOHZJRGNzSURFMUxDQXlNeXdnTXpFc0lETTVMQ0EwTnl3Z05UVXNJRFl6WEc0Z0lDOHZJRFlzSURFMExDQXlNaXdnTXpBc0lETTVMQ0EwTnl3Z05UVXNJRFl6WEc0Z0lDOHZJRFVzSURFekxDQXlNU3dnTWprc0lETTVMQ0EwTnl3Z05UVXNJRFl6WEc0Z0lDOHZJRFFzSURFeUxDQXlNQ3dnTWpoY2JpQWdabTl5SUNoMllYSWdhU0E5SURjN0lHa2dQajBnTlRzZ2FTMHRLU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQRDBnTWpRN0lHb2dLejBnT0NrZ2UxeHVJQ0FnSUNBZ2IzVjBUQ0E4UEQwZ01UdGNiaUFnSUNBZ0lHOTFkRXdnZkQwZ0tHbHVVaUErUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3OUlESTBPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQWdJRzkxZEV3Z1BEdzlJREU3WEc0Z0lDQWdJQ0J2ZFhSTUlIdzlJQ2hwYmt3Z1BqNGdLR29nS3lCcEtTa2dKaUF4TzF4dUlDQWdJSDFjYmlBZ2ZWeHVJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4UFNBeU5Ec2dhaUFyUFNBNEtTQjdYRzRnSUNBZ2IzVjBUQ0E4UEQwZ01UdGNiaUFnSUNCdmRYUk1JSHc5SUNocGJsSWdQajRnS0dvZ0t5QnBLU2tnSmlBeE8xeHVJQ0I5WEc1Y2JpQWdMeThnTVN3Z09Td2dNVGNzSURJMUxDQXpNeXdnTkRFc0lEUTVMQ0ExTjF4dUlDQXZMeUF5TENBeE1Dd2dNVGdzSURJMkxDQXpOQ3dnTkRJc0lEVXdMQ0ExT0Z4dUlDQXZMeUF6TENBeE1Td2dNVGtzSURJM0xDQXpOU3dnTkRNc0lEVXhMQ0ExT1Z4dUlDQXZMeUF6Tml3Z05EUXNJRFV5TENBMk1GeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Uc2dhU0E4UFNBek95QnBLeXNwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4UFNBeU5Ec2dhaUFyUFNBNEtTQjdYRzRnSUNBZ0lDQnZkWFJTSUR3OFBTQXhPMXh1SUNBZ0lDQWdiM1YwVWlCOFBTQW9hVzVTSUQ0K0lDaHFJQ3NnYVNrcElDWWdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BEMGdNalE3SUdvZ0t6MGdPQ2tnZTF4dUlDQWdJQ0FnYjNWMFVpQThQRDBnTVR0Y2JpQWdJQ0FnSUc5MWRGSWdmRDBnS0dsdVRDQStQaUFvYWlBcklHa3BLU0FtSURFN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3OUlESTBPeUJxSUNzOUlEZ3BJSHRjYmlBZ0lDQnZkWFJTSUR3OFBTQXhPMXh1SUNBZ0lHOTFkRklnZkQwZ0tHbHVUQ0ErUGlBb2FpQXJJR2twS1NBbUlERTdYRzRnSUgxY2JseHVJQ0J2ZFhSYmIyWm1JQ3NnTUYwZ1BTQnZkWFJNSUQ0K1BpQXdPMXh1SUNCdmRYUmJiMlptSUNzZ01WMGdQU0J2ZFhSU0lENCtQaUF3TzF4dWZUdGNibHh1Wlhod2IzSjBjeTV5TWpoemFHd2dQU0JtZFc1amRHbHZiaUJ5TWpoemFHd29iblZ0TENCemFHbG1kQ2tnZTF4dUlDQnlaWFIxY200Z0tDaHVkVzBnUER3Z2MyaHBablFwSUNZZ01IaG1abVptWm1abUtTQjhJQ2h1ZFcwZ1BqNCtJQ2d5T0NBdElITm9hV1owS1NrN1hHNTlPMXh1WEc1MllYSWdjR015ZEdGaWJHVWdQU0JiWEc0Z0lDOHZJR2x1VENBOVBpQnZkWFJNWEc0Z0lERTBMQ0F4TVN3Z01UY3NJRFFzSURJM0xDQXlNeXdnTWpVc0lEQXNYRzRnSURFekxDQXlNaXdnTnl3Z01UZ3NJRFVzSURrc0lERTJMQ0F5TkN4Y2JpQWdNaXdnTWpBc0lERXlMQ0F5TVN3Z01Td2dPQ3dnTVRVc0lESTJMRnh1WEc0Z0lDOHZJR2x1VWlBOVBpQnZkWFJTWEc0Z0lERTFMQ0EwTENBeU5Td2dNVGtzSURrc0lERXNJREkyTENBeE5peGNiaUFnTlN3Z01URXNJREl6TENBNExDQXhNaXdnTnl3Z01UY3NJREFzWEc0Z0lESXlMQ0F6TENBeE1Dd2dNVFFzSURZc0lESXdMQ0F5Tnl3Z01qUmNibDA3WEc1Y2JtVjRjRzl5ZEhNdWNHTXlJRDBnWm5WdVkzUnBiMjRnY0dNeUtHbHVUQ3dnYVc1U0xDQnZkWFFzSUc5bVppa2dlMXh1SUNCMllYSWdiM1YwVENBOUlEQTdYRzRnSUhaaGNpQnZkWFJTSUQwZ01EdGNibHh1SUNCMllYSWdiR1Z1SUQwZ2NHTXlkR0ZpYkdVdWJHVnVaM1JvSUQ0K1BpQXhPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ2IzVjBUQ0E4UEQwZ01UdGNiaUFnSUNCdmRYUk1JSHc5SUNocGJrd2dQajQrSUhCak1uUmhZbXhsVzJsZEtTQW1JREI0TVR0Y2JpQWdmVnh1SUNCbWIzSWdLSFpoY2lCcElEMGdiR1Z1T3lCcElEd2djR015ZEdGaWJHVXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0J2ZFhSU0lEdzhQU0F4TzF4dUlDQWdJRzkxZEZJZ2ZEMGdLR2x1VWlBK1BqNGdjR015ZEdGaWJHVmJhVjBwSUNZZ01IZ3hPMXh1SUNCOVhHNWNiaUFnYjNWMFcyOW1aaUFySURCZElEMGdiM1YwVENBK1BqNGdNRHRjYmlBZ2IzVjBXMjltWmlBcklERmRJRDBnYjNWMFVpQStQajRnTUR0Y2JuMDdYRzVjYm1WNGNHOXlkSE11Wlhod1lXNWtJRDBnWm5WdVkzUnBiMjRnWlhod1lXNWtLSElzSUc5MWRDd2diMlptS1NCN1hHNGdJSFpoY2lCdmRYUk1JRDBnTUR0Y2JpQWdkbUZ5SUc5MWRGSWdQU0F3TzF4dVhHNGdJRzkxZEV3Z1BTQW9LSElnSmlBeEtTQThQQ0ExS1NCOElDaHlJRDQrUGlBeU55azdYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXlNenNnYVNBK1BTQXhOVHNnYVNBdFBTQTBLU0I3WEc0Z0lDQWdiM1YwVENBOFBEMGdOanRjYmlBZ0lDQnZkWFJNSUh3OUlDaHlJRDQrUGlCcEtTQW1JREI0TTJZN1hHNGdJSDFjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREV4T3lCcElENDlJRE03SUdrZ0xUMGdOQ2tnZTF4dUlDQWdJRzkxZEZJZ2ZEMGdLSElnUGo0K0lHa3BJQ1lnTUhnelpqdGNiaUFnSUNCdmRYUlNJRHc4UFNBMk8xeHVJQ0I5WEc0Z0lHOTFkRklnZkQwZ0tDaHlJQ1lnTUhneFppa2dQRHdnTVNrZ2ZDQW9jaUErUGo0Z016RXBPMXh1WEc0Z0lHOTFkRnR2Wm1ZZ0t5QXdYU0E5SUc5MWRFd2dQajQrSURBN1hHNGdJRzkxZEZ0dlptWWdLeUF4WFNBOUlHOTFkRklnUGo0K0lEQTdYRzU5TzF4dVhHNTJZWElnYzFSaFlteGxJRDBnVzF4dUlDQXhOQ3dnTUN3Z05Dd2dNVFVzSURFekxDQTNMQ0F4TENBMExDQXlMQ0F4TkN3Z01UVXNJRElzSURFeExDQXhNeXdnT0N3Z01TeGNiaUFnTXl3Z01UQXNJREV3TENBMkxDQTJMQ0F4TWl3Z01USXNJREV4TENBMUxDQTVMQ0E1TENBMUxDQXdMQ0F6TENBM0xDQTRMRnh1SUNBMExDQXhOU3dnTVN3Z01USXNJREUwTENBNExDQTRMQ0F5TENBeE15d2dOQ3dnTml3Z09Td2dNaXdnTVN3Z01URXNJRGNzWEc0Z0lERTFMQ0ExTENBeE1pd2dNVEVzSURrc0lETXNJRGNzSURFMExDQXpMQ0F4TUN3Z01UQXNJREFzSURVc0lEWXNJREFzSURFekxGeHVYRzRnSURFMUxDQXpMQ0F4TENBeE15d2dPQ3dnTkN3Z01UUXNJRGNzSURZc0lERTFMQ0F4TVN3Z01pd2dNeXdnT0N3Z05Dd2dNVFFzWEc0Z0lEa3NJREV5TENBM0xDQXdMQ0F5TENBeExDQXhNeXdnTVRBc0lERXlMQ0EyTENBd0xDQTVMQ0ExTENBeE1Td2dNVEFzSURVc1hHNGdJREFzSURFekxDQXhOQ3dnT0N3Z055d2dNVEFzSURFeExDQXhMQ0F4TUN3Z015d2dOQ3dnTVRVc0lERXpMQ0EwTENBeExDQXlMRnh1SUNBMUxDQXhNU3dnT0N3Z05pd2dNVElzSURjc0lEWXNJREV5TENBNUxDQXdMQ0F6TENBMUxDQXlMQ0F4TkN3Z01UVXNJRGtzWEc1Y2JpQWdNVEFzSURFekxDQXdMQ0EzTENBNUxDQXdMQ0F4TkN3Z09Td2dOaXdnTXl3Z015d2dOQ3dnTVRVc0lEWXNJRFVzSURFd0xGeHVJQ0F4TENBeUxDQXhNeXdnT0N3Z01USXNJRFVzSURjc0lERTBMQ0F4TVN3Z01USXNJRFFzSURFeExDQXlMQ0F4TlN3Z09Dd2dNU3hjYmlBZ01UTXNJREVzSURZc0lERXdMQ0EwTENBeE15d2dPU3dnTUN3Z09Dd2dOaXdnTVRVc0lEa3NJRE1zSURnc0lEQXNJRGNzWEc0Z0lERXhMQ0EwTENBeExDQXhOU3dnTWl3Z01UUXNJREV5TENBekxDQTFMQ0F4TVN3Z01UQXNJRFVzSURFMExDQXlMQ0EzTENBeE1peGNibHh1SUNBM0xDQXhNeXdnTVRNc0lEZ3NJREUwTENBeE1Td2dNeXdnTlN3Z01Dd2dOaXdnTml3Z01UVXNJRGtzSURBc0lERXdMQ0F6TEZ4dUlDQXhMQ0EwTENBeUxDQTNMQ0E0TENBeUxDQTFMQ0F4TWl3Z01URXNJREVzSURFeUxDQXhNQ3dnTkN3Z01UUXNJREUxTENBNUxGeHVJQ0F4TUN3Z015d2dOaXdnTVRVc0lEa3NJREFzSURBc0lEWXNJREV5TENBeE1Dd2dNVEVzSURFc0lEY3NJREV6TENBeE15d2dPQ3hjYmlBZ01UVXNJRGtzSURFc0lEUXNJRE1zSURVc0lERTBMQ0F4TVN3Z05Td2dNVElzSURJc0lEY3NJRGdzSURJc0lEUXNJREUwTEZ4dVhHNGdJRElzSURFMExDQXhNaXdnTVRFc0lEUXNJRElzSURFc0lERXlMQ0EzTENBMExDQXhNQ3dnTnl3Z01URXNJREV6TENBMkxDQXhMRnh1SUNBNExDQTFMQ0ExTENBd0xDQXpMQ0F4TlN3Z01UVXNJREV3TENBeE15d2dNeXdnTUN3Z09Td2dNVFFzSURnc0lEa3NJRFlzWEc0Z0lEUXNJREV4TENBeUxDQTRMQ0F4TENBeE1pd2dNVEVzSURjc0lERXdMQ0F4TENBeE15d2dNVFFzSURjc0lESXNJRGdzSURFekxGeHVJQ0F4TlN3Z05pd2dPU3dnTVRVc0lERXlMQ0F3TENBMUxDQTVMQ0EyTENBeE1Dd2dNeXdnTkN3Z01Dd2dOU3dnTVRRc0lETXNYRzVjYmlBZ01USXNJREV3TENBeExDQXhOU3dnTVRBc0lEUXNJREUxTENBeUxDQTVMQ0EzTENBeUxDQXhNaXdnTml3Z09Td2dPQ3dnTlN4Y2JpQWdNQ3dnTml3Z01UTXNJREVzSURNc0lERXpMQ0EwTENBeE5Dd2dNVFFzSURBc0lEY3NJREV4TENBMUxDQXpMQ0F4TVN3Z09DeGNiaUFnT1N3Z05Dd2dNVFFzSURNc0lERTFMQ0F5TENBMUxDQXhNaXdnTWl3Z09Td2dPQ3dnTlN3Z01USXNJREUxTENBekxDQXhNQ3hjYmlBZ055d2dNVEVzSURBc0lERTBMQ0EwTENBeExDQXhNQ3dnTnl3Z01Td2dOaXdnTVRNc0lEQXNJREV4TENBNExDQTJMQ0F4TXl4Y2JseHVJQ0EwTENBeE15d2dNVEVzSURBc0lESXNJREV4TENBeE5Dd2dOeXdnTVRVc0lEUXNJREFzSURrc0lEZ3NJREVzSURFekxDQXhNQ3hjYmlBZ015d2dNVFFzSURFeUxDQXpMQ0E1TENBMUxDQTNMQ0F4TWl3Z05Td2dNaXdnTVRBc0lERTFMQ0EyTENBNExDQXhMQ0EyTEZ4dUlDQXhMQ0EyTENBMExDQXhNU3dnTVRFc0lERXpMQ0F4TXl3Z09Dd2dNVElzSURFc0lETXNJRFFzSURjc0lERXdMQ0F4TkN3Z055eGNiaUFnTVRBc0lEa3NJREUxTENBMUxDQTJMQ0F3TENBNExDQXhOU3dnTUN3Z01UUXNJRFVzSURJc0lEa3NJRE1zSURJc0lERXlMRnh1WEc0Z0lERXpMQ0F4TENBeUxDQXhOU3dnT0N3Z01UTXNJRFFzSURnc0lEWXNJREV3TENBeE5Td2dNeXdnTVRFc0lEY3NJREVzSURRc1hHNGdJREV3TENBeE1pd2dPU3dnTlN3Z015d2dOaXdnTVRRc0lERXhMQ0ExTENBd0xDQXdMQ0F4TkN3Z01USXNJRGtzSURjc0lESXNYRzRnSURjc0lESXNJREV4TENBeExDQTBMQ0F4TkN3Z01Td2dOeXdnT1N3Z05Dd2dNVElzSURFd0xDQXhOQ3dnT0N3Z01pd2dNVE1zWEc0Z0lEQXNJREUxTENBMkxDQXhNaXdnTVRBc0lEa3NJREV6TENBd0xDQXhOU3dnTXl3Z015d2dOU3dnTlN3Z05pd2dPQ3dnTVRGY2JsMDdYRzVjYm1WNGNHOXlkSE11YzNWaWMzUnBkSFYwWlNBOUlHWjFibU4wYVc5dUlITjFZbk4wYVhSMWRHVW9hVzVNTENCcGJsSXBJSHRjYmlBZ2RtRnlJRzkxZENBOUlEQTdYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z05Ec2dhU3NyS1NCN1hHNGdJQ0FnZG1GeUlHSWdQU0FvYVc1TUlENCtQaUFvTVRnZ0xTQnBJQ29nTmlrcElDWWdNSGd6Wmp0Y2JpQWdJQ0IyWVhJZ2MySWdQU0J6VkdGaWJHVmJhU0FxSURCNE5EQWdLeUJpWFR0Y2JseHVJQ0FnSUc5MWRDQThQRDBnTkR0Y2JpQWdJQ0J2ZFhRZ2ZEMGdjMkk3WEc0Z0lIMWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBME95QnBLeXNwSUh0Y2JpQWdJQ0IyWVhJZ1lpQTlJQ2hwYmxJZ1BqNCtJQ2d4T0NBdElHa2dLaUEyS1NrZ0ppQXdlRE5tTzF4dUlDQWdJSFpoY2lCellpQTlJSE5VWVdKc1pWczBJQ29nTUhnME1DQXJJR2tnS2lBd2VEUXdJQ3NnWWwwN1hHNWNiaUFnSUNCdmRYUWdQRHc5SURRN1hHNGdJQ0FnYjNWMElIdzlJSE5pTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ2ZFhRZ1BqNCtJREE3WEc1OU8xeHVYRzUyWVhJZ2NHVnliWFYwWlZSaFlteGxJRDBnVzF4dUlDQXhOaXdnTWpVc0lERXlMQ0F4TVN3Z015d2dNakFzSURRc0lERTFMQ0F6TVN3Z01UY3NJRGtzSURZc0lESTNMQ0F4TkN3Z01Td2dNaklzWEc0Z0lETXdMQ0F5TkN3Z09Dd2dNVGdzSURBc0lEVXNJREk1TENBeU15d2dNVE1zSURFNUxDQXlMQ0F5Tml3Z01UQXNJREl4TENBeU9Dd2dOMXh1WFR0Y2JseHVaWGh3YjNKMGN5NXdaWEp0ZFhSbElEMGdablZ1WTNScGIyNGdjR1Z5YlhWMFpTaHVkVzBwSUh0Y2JpQWdkbUZ5SUc5MWRDQTlJREE3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djR1Z5YlhWMFpWUmhZbXhsTG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ2IzVjBJRHc4UFNBeE8xeHVJQ0FnSUc5MWRDQjhQU0FvYm5WdElENCtQaUJ3WlhKdGRYUmxWR0ZpYkdWYmFWMHBJQ1lnTUhneE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdmRYUWdQajQrSURBN1hHNTlPMXh1WEc1bGVIQnZjblJ6TG5CaFpGTndiR2wwSUQwZ1puVnVZM1JwYjI0Z2NHRmtVM0JzYVhRb2JuVnRMQ0J6YVhwbExDQm5jbTkxY0NrZ2UxeHVJQ0IyWVhJZ2MzUnlJRDBnYm5WdExuUnZVM1J5YVc1bktESXBPMXh1SUNCM2FHbHNaU0FvYzNSeUxteGxibWQwYUNBOElITnBlbVVwWEc0Z0lDQWdjM1J5SUQwZ0p6QW5JQ3NnYzNSeU8xeHVYRzRnSUhaaGNpQnZkWFFnUFNCYlhUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemFYcGxPeUJwSUNzOUlHZHliM1Z3S1Z4dUlDQWdJRzkxZEM1d2RYTm9LSE4wY2k1emJHbGpaU2hwTENCcElDc2daM0p2ZFhBcEtUdGNiaUFnY21WMGRYSnVJRzkxZEM1cWIybHVLQ2NnSnlrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9kZXMuanMvbGliL2Rlcy91dGlscy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKEJ1ZmZlcikge3ZhciBnZW5lcmF0ZVByaW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvZ2VuZXJhdGVQcmltZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2dlbmVyYXRlUHJpbWUuanNcXFwiKVxcbnZhciBwcmltZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9wcmltZXMuanNvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL3ByaW1lcy5qc29uXFxcIilcXG5cXG52YXIgREggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9kaCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2RoLmpzXFxcIilcXG5cXG5mdW5jdGlvbiBnZXREaWZmaWVIZWxsbWFuIChtb2QpIHtcXG4gIHZhciBwcmltZSA9IG5ldyBCdWZmZXIocHJpbWVzW21vZF0ucHJpbWUsICdoZXgnKVxcbiAgdmFyIGdlbiA9IG5ldyBCdWZmZXIocHJpbWVzW21vZF0uZ2VuLCAnaGV4JylcXG5cXG4gIHJldHVybiBuZXcgREgocHJpbWUsIGdlbilcXG59XFxuXFxudmFyIEVOQ09ESU5HUyA9IHtcXG4gICdiaW5hcnknOiB0cnVlLCAnaGV4JzogdHJ1ZSwgJ2Jhc2U2NCc6IHRydWVcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlRGlmZmllSGVsbG1hbiAocHJpbWUsIGVuYywgZ2VuZXJhdG9yLCBnZW5jKSB7XFxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKGVuYykgfHwgRU5DT0RJTkdTW2VuY10gPT09IHVuZGVmaW5lZCkge1xcbiAgICByZXR1cm4gY3JlYXRlRGlmZmllSGVsbG1hbihwcmltZSwgJ2JpbmFyeScsIGVuYywgZ2VuZXJhdG9yKVxcbiAgfVxcblxcbiAgZW5jID0gZW5jIHx8ICdiaW5hcnknXFxuICBnZW5jID0gZ2VuYyB8fCAnYmluYXJ5J1xcbiAgZ2VuZXJhdG9yID0gZ2VuZXJhdG9yIHx8IG5ldyBCdWZmZXIoWzJdKVxcblxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoZ2VuZXJhdG9yKSkge1xcbiAgICBnZW5lcmF0b3IgPSBuZXcgQnVmZmVyKGdlbmVyYXRvciwgZ2VuYylcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgcHJpbWUgPT09ICdudW1iZXInKSB7XFxuICAgIHJldHVybiBuZXcgREgoZ2VuZXJhdGVQcmltZShwcmltZSwgZ2VuZXJhdG9yKSwgZ2VuZXJhdG9yLCB0cnVlKVxcbiAgfVxcblxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpbWUpKSB7XFxuICAgIHByaW1lID0gbmV3IEJ1ZmZlcihwcmltZSwgZW5jKVxcbiAgfVxcblxcbiAgcmV0dXJuIG5ldyBESChwcmltZSwgZ2VuZXJhdG9yLCB0cnVlKVxcbn1cXG5cXG5leHBvcnRzLkRpZmZpZUhlbGxtYW5Hcm91cCA9IGV4cG9ydHMuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwID0gZXhwb3J0cy5nZXREaWZmaWVIZWxsbWFuID0gZ2V0RGlmZmllSGVsbG1hblxcbmV4cG9ydHMuY3JlYXRlRGlmZmllSGVsbG1hbiA9IGV4cG9ydHMuRGlmZmllSGVsbG1hbiA9IGNyZWF0ZURpZmZpZUhlbGxtYW5cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlrYVdabWFXVXRhR1ZzYkcxaGJpOWljbTkzYzJWeUxtcHpQemN4WkRnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNhMFZCUVc5Q0xHMUNRVUZQTEVOQlFVTXNLMFZCUVhGQ08wRkJRMnBFTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUlVGQmJVSTdPMEZCUlhoRExGTkJRVk1zYlVKQlFVOHNRMEZCUXl4NVJFRkJWVHM3UVVGRk0wSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpHbG1abWxsTFdobGJHeHRZVzR2WW5KdmQzTmxjaTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCblpXNWxjbUYwWlZCeWFXMWxJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZaMlZ1WlhKaGRHVlFjbWx0WlNjcFhHNTJZWElnY0hKcGJXVnpJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZjSEpwYldWekxtcHpiMjRuS1Z4dVhHNTJZWElnUkVnZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5a2FDY3BYRzVjYm1aMWJtTjBhVzl1SUdkbGRFUnBabVpwWlVobGJHeHRZVzRnS0cxdlpDa2dlMXh1SUNCMllYSWdjSEpwYldVZ1BTQnVaWGNnUW5WbVptVnlLSEJ5YVcxbGMxdHRiMlJkTG5CeWFXMWxMQ0FuYUdWNEp5bGNiaUFnZG1GeUlHZGxiaUE5SUc1bGR5QkNkV1ptWlhJb2NISnBiV1Z6VzIxdlpGMHVaMlZ1TENBbmFHVjRKeWxjYmx4dUlDQnlaWFIxY200Z2JtVjNJRVJJS0hCeWFXMWxMQ0JuWlc0cFhHNTlYRzVjYm5aaGNpQkZUa05QUkVsT1IxTWdQU0I3WEc0Z0lDZGlhVzVoY25rbk9pQjBjblZsTENBbmFHVjRKem9nZEhKMVpTd2dKMkpoYzJVMk5DYzZJSFJ5ZFdWY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSR2xtWm1sbFNHVnNiRzFoYmlBb2NISnBiV1VzSUdWdVl5d2daMlZ1WlhKaGRHOXlMQ0JuWlc1aktTQjdYRzRnSUdsbUlDaENkV1ptWlhJdWFYTkNkV1ptWlhJb1pXNWpLU0I4ZkNCRlRrTlBSRWxPUjFOYlpXNWpYU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdOeVpXRjBaVVJwWm1acFpVaGxiR3h0WVc0b2NISnBiV1VzSUNkaWFXNWhjbmtuTENCbGJtTXNJR2RsYm1WeVlYUnZjaWxjYmlBZ2ZWeHVYRzRnSUdWdVl5QTlJR1Z1WXlCOGZDQW5ZbWx1WVhKNUoxeHVJQ0JuWlc1aklEMGdaMlZ1WXlCOGZDQW5ZbWx1WVhKNUoxeHVJQ0JuWlc1bGNtRjBiM0lnUFNCblpXNWxjbUYwYjNJZ2ZId2dibVYzSUVKMVptWmxjaWhiTWwwcFhHNWNiaUFnYVdZZ0tDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1oyVnVaWEpoZEc5eUtTa2dlMXh1SUNBZ0lHZGxibVZ5WVhSdmNpQTlJRzVsZHlCQ2RXWm1aWElvWjJWdVpYSmhkRzl5TENCblpXNWpLVnh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCd2NtbHRaU0E5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lFUklLR2RsYm1WeVlYUmxVSEpwYldVb2NISnBiV1VzSUdkbGJtVnlZWFJ2Y2lrc0lHZGxibVZ5WVhSdmNpd2dkSEoxWlNsY2JpQWdmVnh1WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6UW5WbVptVnlLSEJ5YVcxbEtTa2dlMXh1SUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRUoxWm1abGNpaHdjbWx0WlN3Z1pXNWpLVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZHlCRVNDaHdjbWx0WlN3Z1oyVnVaWEpoZEc5eUxDQjBjblZsS1Z4dWZWeHVYRzVsZUhCdmNuUnpMa1JwWm1acFpVaGxiR3h0WVc1SGNtOTFjQ0E5SUdWNGNHOXlkSE11WTNKbFlYUmxSR2xtWm1sbFNHVnNiRzFoYmtkeWIzVndJRDBnWlhod2IzSjBjeTVuWlhSRWFXWm1hV1ZJWld4c2JXRnVJRDBnWjJWMFJHbG1abWxsU0dWc2JHMWhibHh1Wlhod2IzSjBjeTVqY21WaGRHVkVhV1ptYVdWSVpXeHNiV0Z1SUQwZ1pYaHdiM0owY3k1RWFXWm1hV1ZJWld4c2JXRnVJRDBnWTNKbFlYUmxSR2xtWm1sbFNHVnNiRzFoYmx4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2RoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZGguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oQnVmZmVyKSB7dmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgTWlsbGVyUmFiaW4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaWxsZXItcmFiaW4gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbGxlci1yYWJpbi9saWIvbXIuanNcXFwiKTtcXG52YXIgbWlsbGVyUmFiaW4gPSBuZXcgTWlsbGVyUmFiaW4oKTtcXG52YXIgVFdFTlRZRk9VUiA9IG5ldyBCTigyNCk7XFxudmFyIEVMRVZFTiA9IG5ldyBCTigxMSk7XFxudmFyIFRFTiA9IG5ldyBCTigxMCk7XFxudmFyIFRIUkVFID0gbmV3IEJOKDMpO1xcbnZhciBTRVZFTiA9IG5ldyBCTig3KTtcXG52YXIgcHJpbWVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9nZW5lcmF0ZVByaW1lICovIFxcXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZ2VuZXJhdGVQcmltZS5qc1xcXCIpO1xcbnZhciByYW5kb21CeXRlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWJ5dGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcy9icm93c2VyLmpzXFxcIik7XFxubW9kdWxlLmV4cG9ydHMgPSBESDtcXG5cXG5mdW5jdGlvbiBzZXRQdWJsaWNLZXkocHViLCBlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwdWIpKSB7XFxuICAgIHB1YiA9IG5ldyBCdWZmZXIocHViLCBlbmMpO1xcbiAgfVxcbiAgdGhpcy5fcHViID0gbmV3IEJOKHB1Yik7XFxuICByZXR1cm4gdGhpcztcXG59XFxuXFxuZnVuY3Rpb24gc2V0UHJpdmF0ZUtleShwcml2LCBlbmMpIHtcXG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwcml2KSkge1xcbiAgICBwcml2ID0gbmV3IEJ1ZmZlcihwcml2LCBlbmMpO1xcbiAgfVxcbiAgdGhpcy5fcHJpdiA9IG5ldyBCTihwcml2KTtcXG4gIHJldHVybiB0aGlzO1xcbn1cXG5cXG52YXIgcHJpbWVDYWNoZSA9IHt9O1xcbmZ1bmN0aW9uIGNoZWNrUHJpbWUocHJpbWUsIGdlbmVyYXRvcikge1xcbiAgdmFyIGdlbiA9IGdlbmVyYXRvci50b1N0cmluZygnaGV4Jyk7XFxuICB2YXIgaGV4ID0gW2dlbiwgcHJpbWUudG9TdHJpbmcoMTYpXS5qb2luKCdfJyk7XFxuICBpZiAoaGV4IGluIHByaW1lQ2FjaGUpIHtcXG4gICAgcmV0dXJuIHByaW1lQ2FjaGVbaGV4XTtcXG4gIH1cXG4gIHZhciBlcnJvciA9IDA7XFxuXFxuICBpZiAocHJpbWUuaXNFdmVuKCkgfHxcXG4gICAgIXByaW1lcy5zaW1wbGVTaWV2ZSB8fFxcbiAgICAhcHJpbWVzLmZlcm1hdFRlc3QocHJpbWUpIHx8XFxuICAgICFtaWxsZXJSYWJpbi50ZXN0KHByaW1lKSkge1xcbiAgICAvL25vdCBhIHByaW1lIHNvICsxXFxuICAgIGVycm9yICs9IDE7XFxuXFxuICAgIGlmIChnZW4gPT09ICcwMicgfHwgZ2VuID09PSAnMDUnKSB7XFxuICAgICAgLy8gd2UnZCBiZSBhYmxlIHRvIGNoZWNrIHRoZSBnZW5lcmF0b3JcXG4gICAgICAvLyBpdCB3b3VsZCBmYWlsIHNvICs4XFxuICAgICAgZXJyb3IgKz0gODtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvL3dlIHdvdWxkbid0IGJlIGFibGUgdG8gdGVzdCB0aGUgZ2VuZXJhdG9yXFxuICAgICAgLy8gc28gKzRcXG4gICAgICBlcnJvciArPSA0O1xcbiAgICB9XFxuICAgIHByaW1lQ2FjaGVbaGV4XSA9IGVycm9yO1xcbiAgICByZXR1cm4gZXJyb3I7XFxuICB9XFxuICBpZiAoIW1pbGxlclJhYmluLnRlc3QocHJpbWUuc2hybigxKSkpIHtcXG4gICAgLy9ub3QgYSBzYWZlIHByaW1lXFxuICAgIGVycm9yICs9IDI7XFxuICB9XFxuICB2YXIgcmVtO1xcbiAgc3dpdGNoIChnZW4pIHtcXG4gICAgY2FzZSAnMDInOlxcbiAgICAgIGlmIChwcmltZS5tb2QoVFdFTlRZRk9VUikuY21wKEVMRVZFTikpIHtcXG4gICAgICAgIC8vIHVuc3VpZGFibGUgZ2VuZXJhdG9yXFxuICAgICAgICBlcnJvciArPSA4O1xcbiAgICAgIH1cXG4gICAgICBicmVhaztcXG4gICAgY2FzZSAnMDUnOlxcbiAgICAgIHJlbSA9IHByaW1lLm1vZChURU4pO1xcbiAgICAgIGlmIChyZW0uY21wKFRIUkVFKSAmJiByZW0uY21wKFNFVkVOKSkge1xcbiAgICAgICAgLy8gcHJpbWUgbW9kIDEwIG5lZWRzIHRvIGVxdWFsIDMgb3IgN1xcbiAgICAgICAgZXJyb3IgKz0gODtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIGRlZmF1bHQ6XFxuICAgICAgZXJyb3IgKz0gNDtcXG4gIH1cXG4gIHByaW1lQ2FjaGVbaGV4XSA9IGVycm9yO1xcbiAgcmV0dXJuIGVycm9yO1xcbn1cXG5cXG5mdW5jdGlvbiBESChwcmltZSwgZ2VuZXJhdG9yLCBtYWxsZWFibGUpIHtcXG4gIHRoaXMuc2V0R2VuZXJhdG9yKGdlbmVyYXRvcik7XFxuICB0aGlzLl9fcHJpbWUgPSBuZXcgQk4ocHJpbWUpO1xcbiAgdGhpcy5fcHJpbWUgPSBCTi5tb250KHRoaXMuX19wcmltZSk7XFxuICB0aGlzLl9wcmltZUxlbiA9IHByaW1lLmxlbmd0aDtcXG4gIHRoaXMuX3B1YiA9IHVuZGVmaW5lZDtcXG4gIHRoaXMuX3ByaXYgPSB1bmRlZmluZWQ7XFxuICB0aGlzLl9wcmltZUNvZGUgPSB1bmRlZmluZWQ7XFxuICBpZiAobWFsbGVhYmxlKSB7XFxuICAgIHRoaXMuc2V0UHVibGljS2V5ID0gc2V0UHVibGljS2V5O1xcbiAgICB0aGlzLnNldFByaXZhdGVLZXkgPSBzZXRQcml2YXRlS2V5O1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5fcHJpbWVDb2RlID0gODtcXG4gIH1cXG59XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KERILnByb3RvdHlwZSwgJ3ZlcmlmeUVycm9yJywge1xcbiAgZW51bWVyYWJsZTogdHJ1ZSxcXG4gIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICBpZiAodHlwZW9mIHRoaXMuX3ByaW1lQ29kZSAhPT0gJ251bWJlcicpIHtcXG4gICAgICB0aGlzLl9wcmltZUNvZGUgPSBjaGVja1ByaW1lKHRoaXMuX19wcmltZSwgdGhpcy5fX2dlbik7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX3ByaW1lQ29kZTtcXG4gIH1cXG59KTtcXG5ESC5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzID0gZnVuY3Rpb24gKCkge1xcbiAgaWYgKCF0aGlzLl9wcml2KSB7XFxuICAgIHRoaXMuX3ByaXYgPSBuZXcgQk4ocmFuZG9tQnl0ZXModGhpcy5fcHJpbWVMZW4pKTtcXG4gIH1cXG4gIHRoaXMuX3B1YiA9IHRoaXMuX2dlbi50b1JlZCh0aGlzLl9wcmltZSkucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKTtcXG4gIHJldHVybiB0aGlzLmdldFB1YmxpY0tleSgpO1xcbn07XFxuXFxuREgucHJvdG90eXBlLmNvbXB1dGVTZWNyZXQgPSBmdW5jdGlvbiAob3RoZXIpIHtcXG4gIG90aGVyID0gbmV3IEJOKG90aGVyKTtcXG4gIG90aGVyID0gb3RoZXIudG9SZWQodGhpcy5fcHJpbWUpO1xcbiAgdmFyIHNlY3JldCA9IG90aGVyLnJlZFBvdyh0aGlzLl9wcml2KS5mcm9tUmVkKCk7XFxuICB2YXIgb3V0ID0gbmV3IEJ1ZmZlcihzZWNyZXQudG9BcnJheSgpKTtcXG4gIHZhciBwcmltZSA9IHRoaXMuZ2V0UHJpbWUoKTtcXG4gIGlmIChvdXQubGVuZ3RoIDwgcHJpbWUubGVuZ3RoKSB7XFxuICAgIHZhciBmcm9udCA9IG5ldyBCdWZmZXIocHJpbWUubGVuZ3RoIC0gb3V0Lmxlbmd0aCk7XFxuICAgIGZyb250LmZpbGwoMCk7XFxuICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW2Zyb250LCBvdXRdKTtcXG4gIH1cXG4gIHJldHVybiBvdXQ7XFxufTtcXG5cXG5ESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5ID0gZnVuY3Rpb24gZ2V0UHVibGljS2V5KGVuYykge1xcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX3B1YiwgZW5jKTtcXG59O1xcblxcbkRILnByb3RvdHlwZS5nZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gZ2V0UHJpdmF0ZUtleShlbmMpIHtcXG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZSh0aGlzLl9wcml2LCBlbmMpO1xcbn07XFxuXFxuREgucHJvdG90eXBlLmdldFByaW1lID0gZnVuY3Rpb24gKGVuYykge1xcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX19wcmltZSwgZW5jKTtcXG59O1xcblxcbkRILnByb3RvdHlwZS5nZXRHZW5lcmF0b3IgPSBmdW5jdGlvbiAoZW5jKSB7XFxuICByZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fZ2VuLCBlbmMpO1xcbn07XFxuXFxuREgucHJvdG90eXBlLnNldEdlbmVyYXRvciA9IGZ1bmN0aW9uIChnZW4sIGVuYykge1xcbiAgZW5jID0gZW5jIHx8ICd1dGY4JztcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGdlbikpIHtcXG4gICAgZ2VuID0gbmV3IEJ1ZmZlcihnZW4sIGVuYyk7XFxuICB9XFxuICB0aGlzLl9fZ2VuID0gZ2VuO1xcbiAgdGhpcy5fZ2VuID0gbmV3IEJOKGdlbik7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIGZvcm1hdFJldHVyblZhbHVlKGJuLCBlbmMpIHtcXG4gIHZhciBidWYgPSBuZXcgQnVmZmVyKGJuLnRvQXJyYXkoKSk7XFxuICBpZiAoIWVuYykge1xcbiAgICByZXR1cm4gYnVmO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIGJ1Zi50b1N0cmluZyhlbmMpO1xcbiAgfVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlrYVdabWFXVXRhR1ZzYkcxaGJpOXNhV0l2WkdndWFuTS9aV0prTWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeDFSRUZCVXl4dFFrRkJUeXhEUVVGRExIbEZRVUZQTzBGQlEzaENMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMREpFUVVGak8wRkJRM2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3eVJVRkJhVUk3UVVGRGRFTXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNNRVJCUVdFN1FVRkRka003TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJScFptWnBaUzFvWld4c2JXRnVMMnhwWWk5a2FDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlrN1hHNTJZWElnVFdsc2JHVnlVbUZpYVc0Z1BTQnlaWEYxYVhKbEtDZHRhV3hzWlhJdGNtRmlhVzRuS1R0Y2JuWmhjaUJ0YVd4c1pYSlNZV0pwYmlBOUlHNWxkeUJOYVd4c1pYSlNZV0pwYmlncE8xeHVkbUZ5SUZSWFJVNVVXVVpQVlZJZ1BTQnVaWGNnUWs0b01qUXBPMXh1ZG1GeUlFVk1SVlpGVGlBOUlHNWxkeUJDVGlneE1TazdYRzUyWVhJZ1ZFVk9JRDBnYm1WM0lFSk9LREV3S1R0Y2JuWmhjaUJVU0ZKRlJTQTlJRzVsZHlCQ1RpZ3pLVHRjYm5aaGNpQlRSVlpGVGlBOUlHNWxkeUJDVGlnM0tUdGNiblpoY2lCd2NtbHRaWE1nUFNCeVpYRjFhWEpsS0NjdUwyZGxibVZ5WVhSbFVISnBiV1VuS1R0Y2JuWmhjaUJ5WVc1a2IyMUNlWFJsY3lBOUlISmxjWFZwY21Vb0ozSmhibVJ2YldKNWRHVnpKeWs3WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSSU8xeHVYRzVtZFc1amRHbHZiaUJ6WlhSUWRXSnNhV05MWlhrb2NIVmlMQ0JsYm1NcElIdGNiaUFnWlc1aklEMGdaVzVqSUh4OElDZDFkR1k0Snp0Y2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0hWaUtTa2dlMXh1SUNBZ0lIQjFZaUE5SUc1bGR5QkNkV1ptWlhJb2NIVmlMQ0JsYm1NcE8xeHVJQ0I5WEc0Z0lIUm9hWE11WDNCMVlpQTlJRzVsZHlCQ1RpaHdkV0lwTzF4dUlDQnlaWFIxY200Z2RHaHBjenRjYm4xY2JseHVablZ1WTNScGIyNGdjMlYwVUhKcGRtRjBaVXRsZVNod2NtbDJMQ0JsYm1NcElIdGNiaUFnWlc1aklEMGdaVzVqSUh4OElDZDFkR1k0Snp0Y2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0hKcGRpa3BJSHRjYmlBZ0lDQndjbWwySUQwZ2JtVjNJRUoxWm1abGNpaHdjbWwyTENCbGJtTXBPMXh1SUNCOVhHNGdJSFJvYVhNdVgzQnlhWFlnUFNCdVpYY2dRazRvY0hKcGRpazdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVnh1WEc1MllYSWdjSEpwYldWRFlXTm9aU0E5SUh0OU8xeHVablZ1WTNScGIyNGdZMmhsWTJ0UWNtbHRaU2h3Y21sdFpTd2daMlZ1WlhKaGRHOXlLU0I3WEc0Z0lIWmhjaUJuWlc0Z1BTQm5aVzVsY21GMGIzSXVkRzlUZEhKcGJtY29KMmhsZUNjcE8xeHVJQ0IyWVhJZ2FHVjRJRDBnVzJkbGJpd2djSEpwYldVdWRHOVRkSEpwYm1jb01UWXBYUzVxYjJsdUtDZGZKeWs3WEc0Z0lHbG1JQ2hvWlhnZ2FXNGdjSEpwYldWRFlXTm9aU2tnZTF4dUlDQWdJSEpsZEhWeWJpQndjbWx0WlVOaFkyaGxXMmhsZUYwN1hHNGdJSDFjYmlBZ2RtRnlJR1Z5Y205eUlEMGdNRHRjYmx4dUlDQnBaaUFvY0hKcGJXVXVhWE5GZG1WdUtDa2dmSHhjYmlBZ0lDQWhjSEpwYldWekxuTnBiWEJzWlZOcFpYWmxJSHg4WEc0Z0lDQWdJWEJ5YVcxbGN5NW1aWEp0WVhSVVpYTjBLSEJ5YVcxbEtTQjhmRnh1SUNBZ0lDRnRhV3hzWlhKU1lXSnBiaTUwWlhOMEtIQnlhVzFsS1NrZ2UxeHVJQ0FnSUM4dmJtOTBJR0VnY0hKcGJXVWdjMjhnS3pGY2JpQWdJQ0JsY25KdmNpQXJQU0F4TzF4dVhHNGdJQ0FnYVdZZ0tHZGxiaUE5UFQwZ0p6QXlKeUI4ZkNCblpXNGdQVDA5SUNjd05TY3BJSHRjYmlBZ0lDQWdJQzh2SUhkbEoyUWdZbVVnWVdKc1pTQjBieUJqYUdWamF5QjBhR1VnWjJWdVpYSmhkRzl5WEc0Z0lDQWdJQ0F2THlCcGRDQjNiM1ZzWkNCbVlXbHNJSE52SUNzNFhHNGdJQ0FnSUNCbGNuSnZjaUFyUFNBNE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2TDNkbElIZHZkV3hrYmlkMElHSmxJR0ZpYkdVZ2RHOGdkR1Z6ZENCMGFHVWdaMlZ1WlhKaGRHOXlYRzRnSUNBZ0lDQXZMeUJ6YnlBck5GeHVJQ0FnSUNBZ1pYSnliM0lnS3owZ05EdGNiaUFnSUNCOVhHNGdJQ0FnY0hKcGJXVkRZV05vWlZ0b1pYaGRJRDBnWlhKeWIzSTdYRzRnSUNBZ2NtVjBkWEp1SUdWeWNtOXlPMXh1SUNCOVhHNGdJR2xtSUNnaGJXbHNiR1Z5VW1GaWFXNHVkR1Z6ZENod2NtbHRaUzV6YUhKdUtERXBLU2tnZTF4dUlDQWdJQzh2Ym05MElHRWdjMkZtWlNCd2NtbHRaVnh1SUNBZ0lHVnljbTl5SUNzOUlESTdYRzRnSUgxY2JpQWdkbUZ5SUhKbGJUdGNiaUFnYzNkcGRHTm9JQ2huWlc0cElIdGNiaUFnSUNCallYTmxJQ2N3TWljNlhHNGdJQ0FnSUNCcFppQW9jSEpwYldVdWJXOWtLRlJYUlU1VVdVWlBWVklwTG1OdGNDaEZURVZXUlU0cEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUhWdWMzVnBaR0ZpYkdVZ1oyVnVaWEpoZEc5eVhHNGdJQ0FnSUNBZ0lHVnljbTl5SUNzOUlEZzdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0JqWVhObElDY3dOU2M2WEc0Z0lDQWdJQ0J5WlcwZ1BTQndjbWx0WlM1dGIyUW9WRVZPS1R0Y2JpQWdJQ0FnSUdsbUlDaHlaVzB1WTIxd0tGUklVa1ZGS1NBbUppQnlaVzB1WTIxd0tGTkZWa1ZPS1NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJ3Y21sdFpTQnRiMlFnTVRBZ2JtVmxaSE1nZEc4Z1pYRjFZV3dnTXlCdmNpQTNYRzRnSUNBZ0lDQWdJR1Z5Y205eUlDczlJRGc3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnWlhKeWIzSWdLejBnTkR0Y2JpQWdmVnh1SUNCd2NtbHRaVU5oWTJobFcyaGxlRjBnUFNCbGNuSnZjanRjYmlBZ2NtVjBkWEp1SUdWeWNtOXlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkVTQ2h3Y21sdFpTd2daMlZ1WlhKaGRHOXlMQ0J0WVd4c1pXRmliR1VwSUh0Y2JpQWdkR2hwY3k1elpYUkhaVzVsY21GMGIzSW9aMlZ1WlhKaGRHOXlLVHRjYmlBZ2RHaHBjeTVmWDNCeWFXMWxJRDBnYm1WM0lFSk9LSEJ5YVcxbEtUdGNiaUFnZEdocGN5NWZjSEpwYldVZ1BTQkNUaTV0YjI1MEtIUm9hWE11WDE5d2NtbHRaU2s3WEc0Z0lIUm9hWE11WDNCeWFXMWxUR1Z1SUQwZ2NISnBiV1V1YkdWdVozUm9PMXh1SUNCMGFHbHpMbDl3ZFdJZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUhSb2FYTXVYM0J5YVhZZ1BTQjFibVJsWm1sdVpXUTdYRzRnSUhSb2FYTXVYM0J5YVcxbFEyOWtaU0E5SUhWdVpHVm1hVzVsWkR0Y2JpQWdhV1lnS0cxaGJHeGxZV0pzWlNrZ2UxeHVJQ0FnSUhSb2FYTXVjMlYwVUhWaWJHbGpTMlY1SUQwZ2MyVjBVSFZpYkdsalMyVjVPMXh1SUNBZ0lIUm9hWE11YzJWMFVISnBkbUYwWlV0bGVTQTlJSE5sZEZCeWFYWmhkR1ZMWlhrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RHaHBjeTVmY0hKcGJXVkRiMlJsSUQwZ09EdGNiaUFnZlZ4dWZWeHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSSUxuQnliM1J2ZEhsd1pTd2dKM1psY21sbWVVVnljbTl5Snl3Z2UxeHVJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhSb2FYTXVYM0J5YVcxbFEyOWtaU0FoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCeWFXMWxRMjlrWlNBOUlHTm9aV05yVUhKcGJXVW9kR2hwY3k1ZlgzQnlhVzFsTENCMGFHbHpMbDlmWjJWdUtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzQnlhVzFsUTI5a1pUdGNiaUFnZlZ4dWZTazdYRzVFU0M1d2NtOTBiM1I1Y0dVdVoyVnVaWEpoZEdWTFpYbHpJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0JwWmlBb0lYUm9hWE11WDNCeWFYWXBJSHRjYmlBZ0lDQjBhR2x6TGw5d2NtbDJJRDBnYm1WM0lFSk9LSEpoYm1SdmJVSjVkR1Z6S0hSb2FYTXVYM0J5YVcxbFRHVnVLU2s3WEc0Z0lIMWNiaUFnZEdocGN5NWZjSFZpSUQwZ2RHaHBjeTVmWjJWdUxuUnZVbVZrS0hSb2FYTXVYM0J5YVcxbEtTNXlaV1JRYjNjb2RHaHBjeTVmY0hKcGRpa3Vabkp2YlZKbFpDZ3BPMXh1SUNCeVpYUjFjbTRnZEdocGN5NW5aWFJRZFdKc2FXTkxaWGtvS1R0Y2JuMDdYRzVjYmtSSUxuQnliM1J2ZEhsd1pTNWpiMjF3ZFhSbFUyVmpjbVYwSUQwZ1puVnVZM1JwYjI0Z0tHOTBhR1Z5S1NCN1hHNGdJRzkwYUdWeUlEMGdibVYzSUVKT0tHOTBhR1Z5S1R0Y2JpQWdiM1JvWlhJZ1BTQnZkR2hsY2k1MGIxSmxaQ2gwYUdsekxsOXdjbWx0WlNrN1hHNGdJSFpoY2lCelpXTnlaWFFnUFNCdmRHaGxjaTV5WldSUWIzY29kR2hwY3k1ZmNISnBkaWt1Wm5KdmJWSmxaQ2dwTzF4dUlDQjJZWElnYjNWMElEMGdibVYzSUVKMVptWmxjaWh6WldOeVpYUXVkRzlCY25KaGVTZ3BLVHRjYmlBZ2RtRnlJSEJ5YVcxbElEMGdkR2hwY3k1blpYUlFjbWx0WlNncE8xeHVJQ0JwWmlBb2IzVjBMbXhsYm1kMGFDQThJSEJ5YVcxbExteGxibWQwYUNrZ2UxeHVJQ0FnSUhaaGNpQm1jbTl1ZENBOUlHNWxkeUJDZFdabVpYSW9jSEpwYldVdWJHVnVaM1JvSUMwZ2IzVjBMbXhsYm1kMGFDazdYRzRnSUNBZ1puSnZiblF1Wm1sc2JDZ3dLVHRjYmlBZ0lDQnZkWFFnUFNCQ2RXWm1aWEl1WTI5dVkyRjBLRnRtY205dWRDd2diM1YwWFNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc5MWREdGNibjA3WEc1Y2JrUklMbkJ5YjNSdmRIbHdaUzVuWlhSUWRXSnNhV05MWlhrZ1BTQm1kVzVqZEdsdmJpQm5aWFJRZFdKc2FXTkxaWGtvWlc1aktTQjdYRzRnSUhKbGRIVnliaUJtYjNKdFlYUlNaWFIxY201V1lXeDFaU2gwYUdsekxsOXdkV0lzSUdWdVl5azdYRzU5TzF4dVhHNUVTQzV3Y205MGIzUjVjR1V1WjJWMFVISnBkbUYwWlV0bGVTQTlJR1oxYm1OMGFXOXVJR2RsZEZCeWFYWmhkR1ZMWlhrb1pXNWpLU0I3WEc0Z0lISmxkSFZ5YmlCbWIzSnRZWFJTWlhSMWNtNVdZV3gxWlNoMGFHbHpMbDl3Y21sMkxDQmxibU1wTzF4dWZUdGNibHh1UkVndWNISnZkRzkwZVhCbExtZGxkRkJ5YVcxbElEMGdablZ1WTNScGIyNGdLR1Z1WXlrZ2UxeHVJQ0J5WlhSMWNtNGdabTl5YldGMFVtVjBkWEp1Vm1Gc2RXVW9kR2hwY3k1ZlgzQnlhVzFsTENCbGJtTXBPMXh1ZlR0Y2JseHVSRWd1Y0hKdmRHOTBlWEJsTG1kbGRFZGxibVZ5WVhSdmNpQTlJR1oxYm1OMGFXOXVJQ2hsYm1NcElIdGNiaUFnY21WMGRYSnVJR1p2Y20xaGRGSmxkSFZ5YmxaaGJIVmxLSFJvYVhNdVgyZGxiaXdnWlc1aktUdGNibjA3WEc1Y2JrUklMbkJ5YjNSdmRIbHdaUzV6WlhSSFpXNWxjbUYwYjNJZ1BTQm1kVzVqZEdsdmJpQW9aMlZ1TENCbGJtTXBJSHRjYmlBZ1pXNWpJRDBnWlc1aklIeDhJQ2QxZEdZNEp6dGNiaUFnYVdZZ0tDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1oyVnVLU2tnZTF4dUlDQWdJR2RsYmlBOUlHNWxkeUJDZFdabVpYSW9aMlZ1TENCbGJtTXBPMXh1SUNCOVhHNGdJSFJvYVhNdVgxOW5aVzRnUFNCblpXNDdYRzRnSUhSb2FYTXVYMmRsYmlBOUlHNWxkeUJDVGloblpXNHBPMXh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JtWjFibU4wYVc5dUlHWnZjbTFoZEZKbGRIVnlibFpoYkhWbEtHSnVMQ0JsYm1NcElIdGNiaUFnZG1GeUlHSjFaaUE5SUc1bGR5QkNkV1ptWlhJb1ltNHVkRzlCY25KaGVTZ3BLVHRjYmlBZ2FXWWdLQ0ZsYm1NcElIdGNiaUFnSUNCeVpYUjFjbTRnWW5WbU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCaWRXWXVkRzlUZEhKcGJtY29aVzVqS1R0Y2JpQWdmVnh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL2RoLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZ2VuZXJhdGVQcmltZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvZ2VuZXJhdGVQcmltZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHJhbmRvbUJ5dGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmFuZG9tYnl0ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanNcXFwiKTtcXG5tb2R1bGUuZXhwb3J0cyA9IGZpbmRQcmltZTtcXG5maW5kUHJpbWUuc2ltcGxlU2lldmUgPSBzaW1wbGVTaWV2ZTtcXG5maW5kUHJpbWUuZmVybWF0VGVzdCA9IGZlcm1hdFRlc3Q7XFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgVFdFTlRZRk9VUiA9IG5ldyBCTigyNCk7XFxudmFyIE1pbGxlclJhYmluID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWlsbGVyLXJhYmluICovIFxcXCIuL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbGliL21yLmpzXFxcIik7XFxudmFyIG1pbGxlclJhYmluID0gbmV3IE1pbGxlclJhYmluKCk7XFxudmFyIE9ORSA9IG5ldyBCTigxKTtcXG52YXIgVFdPID0gbmV3IEJOKDIpO1xcbnZhciBGSVZFID0gbmV3IEJOKDUpO1xcbnZhciBTSVhURUVOID0gbmV3IEJOKDE2KTtcXG52YXIgRUlHSFQgPSBuZXcgQk4oOCk7XFxudmFyIFRFTiA9IG5ldyBCTigxMCk7XFxudmFyIFRIUkVFID0gbmV3IEJOKDMpO1xcbnZhciBTRVZFTiA9IG5ldyBCTig3KTtcXG52YXIgRUxFVkVOID0gbmV3IEJOKDExKTtcXG52YXIgRk9VUiA9IG5ldyBCTig0KTtcXG52YXIgVFdFTFZFID0gbmV3IEJOKDEyKTtcXG52YXIgcHJpbWVzID0gbnVsbDtcXG5cXG5mdW5jdGlvbiBfZ2V0UHJpbWVzKCkge1xcbiAgaWYgKHByaW1lcyAhPT0gbnVsbClcXG4gICAgcmV0dXJuIHByaW1lcztcXG5cXG4gIHZhciBsaW1pdCA9IDB4MTAwMDAwO1xcbiAgdmFyIHJlcyA9IFtdO1xcbiAgcmVzWzBdID0gMjtcXG4gIGZvciAodmFyIGkgPSAxLCBrID0gMzsgayA8IGxpbWl0OyBrICs9IDIpIHtcXG4gICAgdmFyIHNxcnQgPSBNYXRoLmNlaWwoTWF0aC5zcXJ0KGspKTtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBpICYmIHJlc1tqXSA8PSBzcXJ0OyBqKyspXFxuICAgICAgaWYgKGsgJSByZXNbal0gPT09IDApXFxuICAgICAgICBicmVhaztcXG5cXG4gICAgaWYgKGkgIT09IGogJiYgcmVzW2pdIDw9IHNxcnQpXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIHJlc1tpKytdID0gaztcXG4gIH1cXG4gIHByaW1lcyA9IHJlcztcXG4gIHJldHVybiByZXM7XFxufVxcblxcbmZ1bmN0aW9uIHNpbXBsZVNpZXZlKHApIHtcXG4gIHZhciBwcmltZXMgPSBfZ2V0UHJpbWVzKCk7XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHByaW1lcy5sZW5ndGg7IGkrKylcXG4gICAgaWYgKHAubW9kbihwcmltZXNbaV0pID09PSAwKSB7XFxuICAgICAgaWYgKHAuY21wbihwcmltZXNbaV0pID09PSAwKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcblxcbmZ1bmN0aW9uIGZlcm1hdFRlc3QocCkge1xcbiAgdmFyIHJlZCA9IEJOLm1vbnQocCk7XFxuICByZXR1cm4gVFdPLnRvUmVkKHJlZCkucmVkUG93KHAuc3VibigxKSkuZnJvbVJlZCgpLmNtcG4oMSkgPT09IDA7XFxufVxcblxcbmZ1bmN0aW9uIGZpbmRQcmltZShiaXRzLCBnZW4pIHtcXG4gIGlmIChiaXRzIDwgMTYpIHtcXG4gICAgLy8gdGhpcyBpcyB3aGF0IG9wZW5zc2wgZG9lc1xcbiAgICBpZiAoZ2VuID09PSAyIHx8IGdlbiA9PT0gNSkge1xcbiAgICAgIHJldHVybiBuZXcgQk4oWzB4OGMsIDB4N2JdKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gbmV3IEJOKFsweDhjLCAweDI3XSk7XFxuICAgIH1cXG4gIH1cXG4gIGdlbiA9IG5ldyBCTihnZW4pO1xcblxcbiAgdmFyIG51bSwgbjI7XFxuXFxuICB3aGlsZSAodHJ1ZSkge1xcbiAgICBudW0gPSBuZXcgQk4ocmFuZG9tQnl0ZXMoTWF0aC5jZWlsKGJpdHMgLyA4KSkpO1xcbiAgICB3aGlsZSAobnVtLmJpdExlbmd0aCgpID4gYml0cykge1xcbiAgICAgIG51bS5pc2hybigxKTtcXG4gICAgfVxcbiAgICBpZiAobnVtLmlzRXZlbigpKSB7XFxuICAgICAgbnVtLmlhZGQoT05FKTtcXG4gICAgfVxcbiAgICBpZiAoIW51bS50ZXN0bigxKSkge1xcbiAgICAgIG51bS5pYWRkKFRXTyk7XFxuICAgIH1cXG4gICAgaWYgKCFnZW4uY21wKFRXTykpIHtcXG4gICAgICB3aGlsZSAobnVtLm1vZChUV0VOVFlGT1VSKS5jbXAoRUxFVkVOKSkge1xcbiAgICAgICAgbnVtLmlhZGQoRk9VUik7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFnZW4uY21wKEZJVkUpKSB7XFxuICAgICAgd2hpbGUgKG51bS5tb2QoVEVOKS5jbXAoVEhSRUUpKSB7XFxuICAgICAgICBudW0uaWFkZChGT1VSKTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgbjIgPSBudW0uc2hybigxKTtcXG4gICAgaWYgKHNpbXBsZVNpZXZlKG4yKSAmJiBzaW1wbGVTaWV2ZShudW0pICYmXFxuICAgICAgZmVybWF0VGVzdChuMikgJiYgZmVybWF0VGVzdChudW0pICYmXFxuICAgICAgbWlsbGVyUmFiaW4udGVzdChuMikgJiYgbWlsbGVyUmFiaW4udGVzdChudW0pKSB7XFxuICAgICAgcmV0dXJuIG51bTtcXG4gICAgfVxcbiAgfVxcblxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWthV1ptYVdVdGFHVnNiRzFoYmk5c2FXSXZaMlZ1WlhKaGRHVlFjbWx0WlM1cWN6OWpOR00zSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHdENRVUZyUWl4dFFrRkJUeXhEUVVGRExEQkVRVUZoTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk1zYlVKQlFVOHNRMEZCUXl4NVJVRkJUenRCUVVONFFqdEJRVU5CTEd0Q1FVRnJRaXh0UWtGQlR5eERRVUZETERKRVFVRmpPMEZCUTNoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4M1FrRkJkMElzVjBGQlZ6dEJRVU51UXp0QlFVTkJMRzFDUVVGdFFpeDVRa0ZCZVVJN1FVRkROVU03UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2JVSkJRVzFDTzBGQlEzQkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDJScFptWnBaUzFvWld4c2JXRnVMMnhwWWk5blpXNWxjbUYwWlZCeWFXMWxMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUhKaGJtUnZiVUo1ZEdWeklEMGdjbVZ4ZFdseVpTZ25jbUZ1Wkc5dFlubDBaWE1uS1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1ptbHVaRkJ5YVcxbE8xeHVabWx1WkZCeWFXMWxMbk5wYlhCc1pWTnBaWFpsSUQwZ2MybHRjR3hsVTJsbGRtVTdYRzVtYVc1a1VISnBiV1V1Wm1WeWJXRjBWR1Z6ZENBOUlHWmxjbTFoZEZSbGMzUTdYRzUyWVhJZ1FrNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BPMXh1ZG1GeUlGUlhSVTVVV1VaUFZWSWdQU0J1WlhjZ1FrNG9NalFwTzF4dWRtRnlJRTFwYkd4bGNsSmhZbWx1SUQwZ2NtVnhkV2x5WlNnbmJXbHNiR1Z5TFhKaFltbHVKeWs3WEc1MllYSWdiV2xzYkdWeVVtRmlhVzRnUFNCdVpYY2dUV2xzYkdWeVVtRmlhVzRvS1R0Y2JuWmhjaUJQVGtVZ1BTQnVaWGNnUWs0b01TazdYRzUyWVhJZ1ZGZFBJRDBnYm1WM0lFSk9LRElwTzF4dWRtRnlJRVpKVmtVZ1BTQnVaWGNnUWs0b05TazdYRzUyWVhJZ1UwbFlWRVZGVGlBOUlHNWxkeUJDVGlneE5pazdYRzUyWVhJZ1JVbEhTRlFnUFNCdVpYY2dRazRvT0NrN1hHNTJZWElnVkVWT0lEMGdibVYzSUVKT0tERXdLVHRjYm5aaGNpQlVTRkpGUlNBOUlHNWxkeUJDVGlnektUdGNiblpoY2lCVFJWWkZUaUE5SUc1bGR5QkNUaWczS1R0Y2JuWmhjaUJGVEVWV1JVNGdQU0J1WlhjZ1FrNG9NVEVwTzF4dWRtRnlJRVpQVlZJZ1BTQnVaWGNnUWs0b05DazdYRzUyWVhJZ1ZGZEZURlpGSUQwZ2JtVjNJRUpPS0RFeUtUdGNiblpoY2lCd2NtbHRaWE1nUFNCdWRXeHNPMXh1WEc1bWRXNWpkR2x2YmlCZloyVjBVSEpwYldWektDa2dlMXh1SUNCcFppQW9jSEpwYldWeklDRTlQU0J1ZFd4c0tWeHVJQ0FnSUhKbGRIVnliaUJ3Y21sdFpYTTdYRzVjYmlBZ2RtRnlJR3hwYldsMElEMGdNSGd4TURBd01EQTdYRzRnSUhaaGNpQnlaWE1nUFNCYlhUdGNiaUFnY21Weld6QmRJRDBnTWp0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURFc0lHc2dQU0F6T3lCcklEd2diR2x0YVhRN0lHc2dLejBnTWlrZ2UxeHVJQ0FnSUhaaGNpQnpjWEowSUQwZ1RXRjBhQzVqWldsc0tFMWhkR2d1YzNGeWRDaHJLU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0JwSUNZbUlISmxjMXRxWFNBOFBTQnpjWEowT3lCcUt5c3BYRzRnSUNBZ0lDQnBaaUFvYXlBbElISmxjMXRxWFNBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQnBaaUFvYVNBaFBUMGdhaUFtSmlCeVpYTmJhbDBnUEQwZ2MzRnlkQ2xjYmlBZ0lDQWdJR052Ym5ScGJuVmxPMXh1WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0JyTzF4dUlDQjlYRzRnSUhCeWFXMWxjeUE5SUhKbGN6dGNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJsdGNHeGxVMmxsZG1Vb2NDa2dlMXh1SUNCMllYSWdjSEpwYldWeklEMGdYMmRsZEZCeWFXMWxjeWdwTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnY0hKcGJXVnpMbXhsYm1kMGFEc2dhU3NyS1Z4dUlDQWdJR2xtSUNod0xtMXZaRzRvY0hKcGJXVnpXMmxkS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tIQXVZMjF3Ymlod2NtbHRaWE5iYVYwcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQnlaWFIxY200Z2RISjFaVHRjYm4xY2JseHVablZ1WTNScGIyNGdabVZ5YldGMFZHVnpkQ2h3S1NCN1hHNGdJSFpoY2lCeVpXUWdQU0JDVGk1dGIyNTBLSEFwTzF4dUlDQnlaWFIxY200Z1ZGZFBMblJ2VW1Wa0tISmxaQ2t1Y21Wa1VHOTNLSEF1YzNWaWJpZ3hLU2t1Wm5KdmJWSmxaQ2dwTG1OdGNHNG9NU2tnUFQwOUlEQTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnBibVJRY21sdFpTaGlhWFJ6TENCblpXNHBJSHRjYmlBZ2FXWWdLR0pwZEhNZ1BDQXhOaWtnZTF4dUlDQWdJQzh2SUhSb2FYTWdhWE1nZDJoaGRDQnZjR1Z1YzNOc0lHUnZaWE5jYmlBZ0lDQnBaaUFvWjJWdUlEMDlQU0F5SUh4OElHZGxiaUE5UFQwZ05Ta2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJDVGloYk1IZzRZeXdnTUhnM1lsMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lFSk9LRnN3ZURoakxDQXdlREkzWFNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUdkbGJpQTlJRzVsZHlCQ1RpaG5aVzRwTzF4dVhHNGdJSFpoY2lCdWRXMHNJRzR5TzF4dVhHNGdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnYm5WdElEMGdibVYzSUVKT0tISmhibVJ2YlVKNWRHVnpLRTFoZEdndVkyVnBiQ2hpYVhSeklDOGdPQ2twS1R0Y2JpQWdJQ0IzYUdsc1pTQW9iblZ0TG1KcGRFeGxibWQwYUNncElENGdZbWwwY3lrZ2UxeHVJQ0FnSUNBZ2JuVnRMbWx6YUhKdUtERXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9iblZ0TG1selJYWmxiaWdwS1NCN1hHNGdJQ0FnSUNCdWRXMHVhV0ZrWkNoUFRrVXBPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9JVzUxYlM1MFpYTjBiaWd4S1NrZ2UxeHVJQ0FnSUNBZ2JuVnRMbWxoWkdRb1ZGZFBLVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ0ZuWlc0dVkyMXdLRlJYVHlrcElIdGNiaUFnSUNBZ0lIZG9hV3hsSUNodWRXMHViVzlrS0ZSWFJVNVVXVVpQVlZJcExtTnRjQ2hGVEVWV1JVNHBLU0I3WEc0Z0lDQWdJQ0FnSUc1MWJTNXBZV1JrS0VaUFZWSXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9JV2RsYmk1amJYQW9Sa2xXUlNrcElIdGNiaUFnSUNBZ0lIZG9hV3hsSUNodWRXMHViVzlrS0ZSRlRpa3VZMjF3S0ZSSVVrVkZLU2tnZTF4dUlDQWdJQ0FnSUNCdWRXMHVhV0ZrWkNoR1QxVlNLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2JqSWdQU0J1ZFcwdWMyaHliaWd4S1R0Y2JpQWdJQ0JwWmlBb2MybHRjR3hsVTJsbGRtVW9iaklwSUNZbUlITnBiWEJzWlZOcFpYWmxLRzUxYlNrZ0ppWmNiaUFnSUNBZ0lHWmxjbTFoZEZSbGMzUW9iaklwSUNZbUlHWmxjbTFoZEZSbGMzUW9iblZ0S1NBbUpseHVJQ0FnSUNBZ2JXbHNiR1Z5VW1GaWFXNHVkR1Z6ZENodU1pa2dKaVlnYldsc2JHVnlVbUZpYVc0dWRHVnpkQ2h1ZFcwcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnRPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2xpYi9nZW5lcmF0ZVByaW1lLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9saWIvcHJpbWVzLmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2RpZmZpZS1oZWxsbWFuL2xpYi9wcmltZXMuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogbW9kcDEsIG1vZHAyLCBtb2RwNSwgbW9kcDE0LCBtb2RwMTUsIG1vZHAxNiwgbW9kcDE3LCBtb2RwMTgsIGRlZmF1bHQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gSlNPTi5wYXJzZShcXFwie1xcXFxcXFwibW9kcDFcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzYTM2MjBmZmZmZmZmZmZmZmZmZmZmXFxcXFxcXCJ9LFxcXFxcXFwibW9kcDJcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTY1MzgxZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHA1XFxcXFxcXCI6e1xcXFxcXFwiZ2VuXFxcXFxcXCI6XFxcXFxcXCIwMlxcXFxcXFwiLFxcXFxcXFwicHJpbWVcXFxcXFxcIjpcXFxcXFxcImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMjM3MzI3ZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHAxNFxcXFxcXFwiOntcXFxcXFxcImdlblxcXFxcXFwiOlxcXFxcXFwiMDJcXFxcXFxcIixcXFxcXFxcInByaW1lXFxcXFxcXCI6XFxcXFxcXCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWNhYTY4ZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHAxNVxcXFxcXFwiOntcXFxcXFxcImdlblxcXFxcXFwiOlxcXFxcXFwiMDJcXFxcXFxcIixcXFxcXFxcInByaW1lXFxcXFxcXCI6XFxcXFxcXCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTNhZDJjYWZmZmZmZmZmZmZmZmZmZmZcXFxcXFxcIn0sXFxcXFxcXCJtb2RwMTZcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDYzMTk5ZmZmZmZmZmZmZmZmZmZmZlxcXFxcXFwifSxcXFxcXFxcIm1vZHAxN1xcXFxcXFwiOntcXFxcXFxcImdlblxcXFxcXFwiOlxcXFxcXFwiMDJcXFxcXFxcIixcXFxcXFxcInByaW1lXFxcXFxcXCI6XFxcXFxcXCJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjM3ZWQ2YjBiZmY1Y2I2ZjQwNmI3ZWRlZTM4NmJmYjVhODk5ZmE1YWU5ZjI0MTE3YzRiMWZlNjQ5Mjg2NjUxZWNlNDViM2RjMjAwN2NiOGExNjNiZjA1OThkYTQ4MzYxYzU1ZDM5YTY5MTYzZmE4ZmQyNGNmNWY4MzY1NWQyM2RjYTNhZDk2MWM2MmYzNTYyMDg1NTJiYjllZDUyOTA3NzA5Njk2NmQ2NzBjMzU0ZTRhYmM5ODA0ZjE3NDZjMDhjYTE4MjE3YzMyOTA1ZTQ2MmUzNmNlM2JlMzllNzcyYzE4MGU4NjAzOWIyNzgzYTJlYzA3YTI4ZmI1YzU1ZGYwNmY0YzUyYzlkZTJiY2JmNjk1NTgxNzE4Mzk5NTQ5N2NlYTk1NmFlNTE1ZDIyNjE4OThmYTA1MTAxNTcyOGU1YThhYWFjNDJkYWQzMzE3MGQwNDUwN2EzM2E4NTUyMWFiZGYxY2JhNjRlY2ZiODUwNDU4ZGJlZjBhOGFlYTcxNTc1ZDA2MGM3ZGIzOTcwZjg1YTZlMWU0YzdhYmY1YWU4Y2RiMDkzM2Q3MWU4Yzk0ZTA0YTI1NjE5ZGNlZTNkMjI2MWFkMmVlNmJmMTJmZmEwNmQ5OGEwODY0ZDg3NjAyNzMzZWM4NmE2NDUyMWYyYjE4MTc3YjIwMGNiYmUxMTc1NzdhNjE1ZDZjNzcwOTg4YzBiYWQ5NDZlMjA4ZTI0ZmEwNzRlNWFiMzE0M2RiNWJmY2UwZmQxMDhlNGI4MmQxMjBhOTIxMDgwMTFhNzIzYzEyYTc4N2U2ZDc4ODcxOWExMGJkYmE1YjI2OTljMzI3MTg2YWY0ZTIzYzFhOTQ2ODM0YjYxNTBiZGEyNTgzZTljYTJhZDQ0Y2U4ZGJiYmMyZGIwNGRlOGVmOTJlOGVmYzE0MWZiZWNhYTYyODdjNTk0NzRlNmJjMDVkOTliMjk2NGZhMDkwYzNhMjIzM2JhMTg2NTE1YmU3ZWQxZjYxMjk3MGNlZTJkN2FmYjgxYmRkNzYyMTcwNDgxY2QwMDY5MTI3ZDViMDVhYTk5M2I0ZWE5ODhkOGZkZGMxODZmZmI3ZGM5MGE2YzA4ZjRkZjQzNWM5MzQwMjg0OTIzNmMzZmFiNGQyN2M3MDI2YzFkNGRjYjI2MDI2NDZkZWM5NzUxZTc2M2RiYTM3YmRmOGZmOTQwNmFkOWU1MzBlZTVkYjM4MmY0MTMwMDFhZWIwNmE1M2VkOTAyN2Q4MzExNzk3MjdiMDg2NWE4OTE4ZGEzZWRiZWJjZjliMTRlZDQ0Y2U2Y2JhY2VkNGJiMWJkYjdmMTQ0N2U2Y2MyNTRiMzMyMDUxNTEyYmQ3YWY0MjZmYjhmNDAxMzc4Y2QyYmY1OTgzY2EwMWM2NGI5MmVjZjAzMmVhMTVkMTcyMWQwM2Y0ODJkN2NlNmU3NGZlZjZkNTVlNzAyZjQ2OTgwYzgyYjVhODQwMzE5MDBiMWM5ZTU5ZTdjOTdmYmVjN2U4ZjMyM2E5N2E3ZTM2Y2M4OGJlMGYxZDQ1YjdmZjU4NWFjNTRiZDQwN2IyMmI0MTU0YWFjYzhmNmQ3ZWJmNDhlMWQ4MTRjYzVlZDIwZjgwMzdlMGE3OTcxNWVlZjI5YmUzMjgwNmExZDU4YmI3YzVkYTc2ZjU1MGFhM2Q4YTFmYmZmMGViMTljY2IxYTMxM2Q1NWNkYTU2YzllYzJlZjI5NjMyMzg3ZmU4ZDc2ZTNjMDQ2ODA0M2U4ZjY2M2Y0ODYwZWUxMmJmMmQ1YjBiNzQ3NGQ2ZTY5NGY5MWU2ZGNjNDAyNGZmZmZmZmZmZmZmZmZmZmZcXFxcXFxcIn0sXFxcXFxcXCJtb2RwMThcXFxcXFxcIjp7XFxcXFxcXCJnZW5cXFxcXFxcIjpcXFxcXFxcIjAyXFxcXFxcXCIsXFxcXFxcXCJwcmltZVxcXFxcXFwiOlxcXFxcXFwiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDI4NDkyMzZjM2ZhYjRkMjdjNzAyNmMxZDRkY2IyNjAyNjQ2ZGVjOTc1MWU3NjNkYmEzN2JkZjhmZjk0MDZhZDllNTMwZWU1ZGIzODJmNDEzMDAxYWViMDZhNTNlZDkwMjdkODMxMTc5NzI3YjA4NjVhODkxOGRhM2VkYmViY2Y5YjE0ZWQ0NGNlNmNiYWNlZDRiYjFiZGI3ZjE0NDdlNmNjMjU0YjMzMjA1MTUxMmJkN2FmNDI2ZmI4ZjQwMTM3OGNkMmJmNTk4M2NhMDFjNjRiOTJlY2YwMzJlYTE1ZDE3MjFkMDNmNDgyZDdjZTZlNzRmZWY2ZDU1ZTcwMmY0Njk4MGM4MmI1YTg0MDMxOTAwYjFjOWU1OWU3Yzk3ZmJlYzdlOGYzMjNhOTdhN2UzNmNjODhiZTBmMWQ0NWI3ZmY1ODVhYzU0YmQ0MDdiMjJiNDE1NGFhY2M4ZjZkN2ViZjQ4ZTFkODE0Y2M1ZWQyMGY4MDM3ZTBhNzk3MTVlZWYyOWJlMzI4MDZhMWQ1OGJiN2M1ZGE3NmY1NTBhYTNkOGExZmJmZjBlYjE5Y2NiMWEzMTNkNTVjZGE1NmM5ZWMyZWYyOTYzMjM4N2ZlOGQ3NmUzYzA0NjgwNDNlOGY2NjNmNDg2MGVlMTJiZjJkNWIwYjc0NzRkNmU2OTRmOTFlNmRiZTExNTk3NGEzOTI2ZjEyZmVlNWU0Mzg3NzdjYjZhOTMyZGY4Y2Q4YmVjNGQwNzNiOTMxYmEzYmM4MzJiNjhkOWRkMzAwNzQxZmE3YmY4YWZjNDdlZDI1NzZmNjkzNmJhNDI0NjYzYWFiNjM5YzVhZTRmNTY4MzQyM2I0NzQyYmYxYzk3ODIzOGYxNmNiZTM5ZDY1MmRlM2ZkYjhiZWZjODQ4YWQ5MjIyMjJlMDRhNDAzN2MwNzEzZWI1N2E4MWEyM2YwYzczNDczZmM2NDZjZWEzMDZiNGJjYmM4ODYyZjgzODVkZGZhOWQ0YjdmYTJjMDg3ZTg3OTY4MzMwM2VkNWJkZDNhMDYyYjNjZjViM2EyNzhhNjZkMmExM2Y4M2Y0NGY4MmRkZjMxMGVlMDc0YWI2YTM2NDU5N2U4OTlhMDI1NWRjMTY0ZjMxY2M1MDg0Njg1MWRmOWFiNDgxOTVkZWQ3ZWExYjFkNTEwYmQ3ZWU3NGQ3M2ZhZjM2YmMzMWVjZmEyNjgzNTkwNDZmNGViODc5ZjkyNDAwOTQzOGI0ODFjNmNkNzg4OWEwMDJlZDVlZTM4MmJjOTE5MGRhNmZjMDI2ZTQ3OTU1OGU0NDc1Njc3ZTlhYTllMzA1MGUyNzY1Njk0ZGZjODFmNTZlODgwYjk2ZTcxNjBjOTgwZGQ5OGVkZDNkZmZmZmZmZmZmZmZmZmZmZmZcXFxcXFxcIn19XFxcIik7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYlhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlrYVdabWFXVXRhR1ZzYkcxaGJpOXNhV0l2Y0hKcGJXVnpMbXB6YjI0dWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbGliL3ByaW1lcy5qc29uXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZGlmZmllLWhlbGxtYW4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24obW9kdWxlKSB7KGZ1bmN0aW9uIChtb2R1bGUsIGV4cG9ydHMpIHtcXG4gICd1c2Ugc3RyaWN0JztcXG5cXG4gIC8vIFV0aWxzXFxuICBmdW5jdGlvbiBhc3NlcnQgKHZhbCwgbXNnKSB7XFxuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XFxuICB9XFxuXFxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxcbiAgLy8gYXJjaGl0ZWN0dXJlIHlldC5cXG4gIGZ1bmN0aW9uIGluaGVyaXRzIChjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XFxuICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9O1xcbiAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlO1xcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xcbiAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3I7XFxuICB9XFxuXFxuICAvLyBCTlxcblxcbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmIChCTi5pc0JOKG51bWJlcikpIHtcXG4gICAgICByZXR1cm4gbnVtYmVyO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxcbiAgICB0aGlzLnJlZCA9IG51bGw7XFxuXFxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcXG4gICAgICBpZiAoYmFzZSA9PT0gJ2xlJyB8fCBiYXNlID09PSAnYmUnKSB7XFxuICAgICAgICBlbmRpYW4gPSBiYXNlO1xcbiAgICAgICAgYmFzZSA9IDEwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XFxuICAgIH1cXG4gIH1cXG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xcbiAgICBtb2R1bGUuZXhwb3J0cyA9IEJOO1xcbiAgfSBlbHNlIHtcXG4gICAgZXhwb3J0cy5CTiA9IEJOO1xcbiAgfVxcblxcbiAgQk4uQk4gPSBCTjtcXG4gIEJOLndvcmRTaXplID0gMjY7XFxuXFxuICB2YXIgQnVmZmVyO1xcbiAgdHJ5IHtcXG4gICAgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIDQpLkJ1ZmZlcjtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG5cXG4gIEJOLmlzQk4gPSBmdW5jdGlvbiBpc0JOIChudW0pIHtcXG4gICAgaWYgKG51bSBpbnN0YW5jZW9mIEJOKSB7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bSAhPT0gbnVsbCAmJiB0eXBlb2YgbnVtID09PSAnb2JqZWN0JyAmJlxcbiAgICAgIG51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZSA9PT0gQk4ud29yZFNpemUgJiYgQXJyYXkuaXNBcnJheShudW0ud29yZHMpO1xcbiAgfTtcXG5cXG4gIEJOLm1heCA9IGZ1bmN0aW9uIG1heCAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA+IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ubWluID0gZnVuY3Rpb24gbWluIChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpIDwgMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ251bWJlcicpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdE51bWJlcihudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdvYmplY3QnKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXRBcnJheShudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgYmFzZSA9IDE2O1xcbiAgICB9XFxuICAgIGFzc2VydChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KTtcXG5cXG4gICAgbnVtYmVyID0gbnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxcXHMrL2csICcnKTtcXG4gICAgdmFyIHN0YXJ0ID0gMDtcXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgc3RhcnQrKztcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gMTYpIHtcXG4gICAgICB0aGlzLl9wYXJzZUhleChudW1iZXIsIHN0YXJ0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLl9wYXJzZUJhc2UobnVtYmVyLCBiYXNlLCBzdGFydCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XFxuXFxuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXROdW1iZXIgPSBmdW5jdGlvbiBfaW5pdE51bWJlciAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKG51bWJlciA8IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICBudW1iZXIgPSAtbnVtYmVyO1xcbiAgICB9XFxuICAgIGlmIChudW1iZXIgPCAweDQwMDAwMDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyBudW1iZXIgJiAweDNmZmZmZmYgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChudW1iZXIgPCAweDIwMDAwMDAwMDAwMDAwKTsgLy8gMiBeIDUzICh1bnNhZmUpXFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmLFxcbiAgICAgICAgMVxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAzO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdEFycmF5ID0gZnVuY3Rpb24gX2luaXRBcnJheSAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XFxuICAgIGlmIChudW1iZXIubGVuZ3RoIDw9IDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyAwIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKG51bWJlci5sZW5ndGggLyAzKTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xcbiAgICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSAxLCBqID0gMDsgaSA+PSAwOyBpIC09IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgLSAxXSA8PCA4KSB8IChudW1iZXJbaSAtIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZW5kaWFuID09PSAnbGUnKSB7XFxuICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBudW1iZXIubGVuZ3RoOyBpICs9IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgKyAxXSA8PCA4KSB8IChudW1iZXJbaSArIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBwYXJzZUhleCAoc3RyLCBzdGFydCwgZW5kKSB7XFxuICAgIHZhciByID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgPDw9IDQ7XFxuXFxuICAgICAgLy8gJ2EnIC0gJ2YnXFxuICAgICAgaWYgKGMgPj0gNDkgJiYgYyA8PSA1NCkge1xcbiAgICAgICAgciB8PSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnIC0gJ0YnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3ICYmIGMgPD0gMjIpIHtcXG4gICAgICAgIHIgfD0gYyAtIDE3ICsgMHhhO1xcblxcbiAgICAgIC8vICcwJyAtICc5J1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByIHw9IGMgJiAweGY7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUhleCA9IGZ1bmN0aW9uIF9wYXJzZUhleCAobnVtYmVyLCBzdGFydCkge1xcbiAgICAvLyBDcmVhdGUgcG9zc2libHkgYmlnZ2VyIGFycmF5IHRvIGVuc3VyZSB0aGF0IGl0IGZpdHMgdGhlIG51bWJlclxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbCgobnVtYmVyLmxlbmd0aCAtIHN0YXJ0KSAvIDYpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIC8vIFNjYW4gMjQtYml0IGNodW5rcyBhbmQgYWRkIHRoZW0gdG8gdGhlIG51bWJlclxcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDYsIGogPSAwOyBpID49IHN0YXJ0OyBpIC09IDYpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBpLCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIC8vIE5PVEU6IGAweDNmZmZmZmAgaXMgaW50ZW50aW9uYWwgaGVyZSwgMjZiaXRzIG1heCBzaGlmdCArIDI0Yml0IGhleCBsaW1iXFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICAgIG9mZiArPSAyNDtcXG4gICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICBqKys7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChpICsgNiAhPT0gc3RhcnQpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBzdGFydCwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlQmFzZSAoc3RyLCBzdGFydCwgZW5kLCBtdWwpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciAqPSBtdWw7XFxuXFxuICAgICAgLy8gJ2EnXFxuICAgICAgaWYgKGMgPj0gNDkpIHtcXG4gICAgICAgIHIgKz0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xcbiAgICAgICAgciArPSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgKz0gYztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlQmFzZSA9IGZ1bmN0aW9uIF9wYXJzZUJhc2UgKG51bWJlciwgYmFzZSwgc3RhcnQpIHtcXG4gICAgLy8gSW5pdGlhbGl6ZSBhcyB6ZXJvXFxuICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgdGhpcy5sZW5ndGggPSAxO1xcblxcbiAgICAvLyBGaW5kIGxlbmd0aCBvZiBsaW1iIGluIGJhc2VcXG4gICAgZm9yICh2YXIgbGltYkxlbiA9IDAsIGxpbWJQb3cgPSAxOyBsaW1iUG93IDw9IDB4M2ZmZmZmZjsgbGltYlBvdyAqPSBiYXNlKSB7XFxuICAgICAgbGltYkxlbisrO1xcbiAgICB9XFxuICAgIGxpbWJMZW4tLTtcXG4gICAgbGltYlBvdyA9IChsaW1iUG93IC8gYmFzZSkgfCAwO1xcblxcbiAgICB2YXIgdG90YWwgPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XFxuICAgIHZhciBtb2QgPSB0b3RhbCAlIGxpbWJMZW47XFxuICAgIHZhciBlbmQgPSBNYXRoLm1pbih0b3RhbCwgdG90YWwgLSBtb2QpICsgc3RhcnQ7XFxuXFxuICAgIHZhciB3b3JkID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IGxpbWJMZW4pIHtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgaSArIGxpbWJMZW4sIGJhc2UpO1xcblxcbiAgICAgIHRoaXMuaW11bG4obGltYlBvdyk7XFxuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobW9kICE9PSAwKSB7XFxuICAgICAgdmFyIHBvdyA9IDE7XFxuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIG51bWJlci5sZW5ndGgsIGJhc2UpO1xcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBtb2Q7IGkrKykge1xcbiAgICAgICAgcG93ICo9IGJhc2U7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuaW11bG4ocG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiBjb3B5IChkZXN0KSB7XFxuICAgIGRlc3Qud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBkZXN0LndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBkZXN0Lmxlbmd0aCA9IHRoaXMubGVuZ3RoO1xcbiAgICBkZXN0Lm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcXG4gICAgZGVzdC5yZWQgPSB0aGlzLnJlZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSAoKSB7XFxuICAgIHZhciByID0gbmV3IEJOKG51bGwpO1xcbiAgICB0aGlzLmNvcHkocik7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZXhwYW5kID0gZnVuY3Rpb24gX2V4cGFuZCAoc2l6ZSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBzaXplKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gUmVtb3ZlIGxlYWRpbmcgYDBgIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3RyaXAgPSBmdW5jdGlvbiBzdHJpcCAoKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA+IDEgJiYgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgdGhpcy5sZW5ndGgtLTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX25vcm1TaWduID0gZnVuY3Rpb24gX25vcm1TaWduICgpIHtcXG4gICAgLy8gLTAgPSAwXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLnJlZCA/ICc8Qk4tUjogJyA6ICc8Qk46ICcpICsgdGhpcy50b1N0cmluZygxNikgKyAnPic7XFxuICB9O1xcblxcbiAgLypcXG5cXG4gIHZhciB6ZXJvcyA9IFtdO1xcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXTtcXG4gIHZhciBncm91cEJhc2VzID0gW107XFxuXFxuICB2YXIgcyA9ICcnO1xcbiAgdmFyIGkgPSAtMTtcXG4gIHdoaWxlICgrK2kgPCBCTi53b3JkU2l6ZSkge1xcbiAgICB6ZXJvc1tpXSA9IHM7XFxuICAgIHMgKz0gJzAnO1xcbiAgfVxcbiAgZ3JvdXBTaXplc1swXSA9IDA7XFxuICBncm91cFNpemVzWzFdID0gMDtcXG4gIGdyb3VwQmFzZXNbMF0gPSAwO1xcbiAgZ3JvdXBCYXNlc1sxXSA9IDA7XFxuICB2YXIgYmFzZSA9IDIgLSAxO1xcbiAgd2hpbGUgKCsrYmFzZSA8IDM2ICsgMSkge1xcbiAgICB2YXIgZ3JvdXBTaXplID0gMDtcXG4gICAgdmFyIGdyb3VwQmFzZSA9IDE7XFxuICAgIHdoaWxlIChncm91cEJhc2UgPCAoMSA8PCBCTi53b3JkU2l6ZSkgLyBiYXNlKSB7XFxuICAgICAgZ3JvdXBCYXNlICo9IGJhc2U7XFxuICAgICAgZ3JvdXBTaXplICs9IDE7XFxuICAgIH1cXG4gICAgZ3JvdXBTaXplc1tiYXNlXSA9IGdyb3VwU2l6ZTtcXG4gICAgZ3JvdXBCYXNlc1tiYXNlXSA9IGdyb3VwQmFzZTtcXG4gIH1cXG5cXG4gICovXFxuXFxuICB2YXIgemVyb3MgPSBbXFxuICAgICcnLFxcbiAgICAnMCcsXFxuICAgICcwMCcsXFxuICAgICcwMDAnLFxcbiAgICAnMDAwMCcsXFxuICAgICcwMDAwMCcsXFxuICAgICcwMDAwMDAnLFxcbiAgICAnMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBTaXplcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMjUsIDE2LCAxMiwgMTEsIDEwLCA5LCA4LFxcbiAgICA4LCA3LCA3LCA3LCA3LCA2LCA2LFxcbiAgICA2LCA2LCA2LCA2LCA2LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1XFxuICBdO1xcblxcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDMzNTU0NDMyLCA0MzA0NjcyMSwgMTY3NzcyMTYsIDQ4ODI4MTI1LCA2MDQ2NjE3NiwgNDAzNTM2MDcsIDE2Nzc3MjE2LFxcbiAgICA0MzA0NjcyMSwgMTAwMDAwMDAsIDE5NDg3MTcxLCAzNTgzMTgwOCwgNjI3NDg1MTcsIDc1Mjk1MzYsIDExMzkwNjI1LFxcbiAgICAxNjc3NzIxNiwgMjQxMzc1NjksIDM0MDEyMjI0LCA0NzA0NTg4MSwgNjQwMDAwMDAsIDQwODQxMDEsIDUxNTM2MzIsXFxuICAgIDY0MzYzNDMsIDc5NjI2MjQsIDk3NjU2MjUsIDExODgxMzc2LCAxNDM0ODkwNywgMTcyMTAzNjgsIDIwNTExMTQ5LFxcbiAgICAyNDMwMDAwMCwgMjg2MjkxNTEsIDMzNTU0NDMyLCAzOTEzNTM5MywgNDU0MzU0MjQsIDUyNTIxODc1LCA2MDQ2NjE3NlxcbiAgXTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChiYXNlLCBwYWRkaW5nKSB7XFxuICAgIGJhc2UgPSBiYXNlIHx8IDEwO1xcbiAgICBwYWRkaW5nID0gcGFkZGluZyB8IDAgfHwgMTtcXG5cXG4gICAgdmFyIG91dDtcXG4gICAgaWYgKGJhc2UgPT09IDE2IHx8IGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIG9mZiA9IDA7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICAgIHZhciB3b3JkID0gKCgodyA8PCBvZmYpIHwgY2FycnkpICYgMHhmZmZmZmYpLnRvU3RyaW5nKDE2KTtcXG4gICAgICAgIGNhcnJ5ID0gKHcgPj4+ICgyNCAtIG9mZikpICYgMHhmZmZmZmY7XFxuICAgICAgICBpZiAoY2FycnkgIT09IDAgfHwgaSAhPT0gdGhpcy5sZW5ndGggLSAxKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zWzYgLSB3b3JkLmxlbmd0aF0gKyB3b3JkICsgb3V0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgb3V0ID0gd29yZCArIG91dDtcXG4gICAgICAgIH1cXG4gICAgICAgIG9mZiArPSAyO1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGktLTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSBjYXJyeS50b1N0cmluZygxNikgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KSB7XFxuICAgICAgLy8gdmFyIGdyb3VwU2l6ZSA9IE1hdGguZmxvb3IoQk4ud29yZFNpemUgKiBNYXRoLkxOMiAvIE1hdGgubG9nKGJhc2UpKTtcXG4gICAgICB2YXIgZ3JvdXBTaXplID0gZ3JvdXBTaXplc1tiYXNlXTtcXG4gICAgICAvLyB2YXIgZ3JvdXBCYXNlID0gTWF0aC5wb3coYmFzZSwgZ3JvdXBTaXplKTtcXG4gICAgICB2YXIgZ3JvdXBCYXNlID0gZ3JvdXBCYXNlc1tiYXNlXTtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgYyA9IHRoaXMuY2xvbmUoKTtcXG4gICAgICBjLm5lZ2F0aXZlID0gMDtcXG4gICAgICB3aGlsZSAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgIHZhciByID0gYy5tb2RuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7XFxuICAgICAgICBjID0gYy5pZGl2bihncm91cEJhc2UpO1xcblxcbiAgICAgICAgaWYgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zW2dyb3VwU2l6ZSAtIHIubGVuZ3RoXSArIHIgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSByICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoZmFsc2UsICdCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Jyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvTnVtYmVyID0gZnVuY3Rpb24gdG9OdW1iZXIgKCkge1xcbiAgICB2YXIgcmV0ID0gdGhpcy53b3Jkc1swXTtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAyKSB7XFxuICAgICAgcmV0ICs9IHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDA7XFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPT09IDMgJiYgdGhpcy53b3Jkc1syXSA9PT0gMHgwMSkge1xcbiAgICAgIC8vIE5PVEU6IGF0IHRoaXMgc3RhZ2UgaXQgaXMga25vd24gdGhhdCB0aGUgdG9wIGJpdCBpcyBzZXRcXG4gICAgICByZXQgKz0gMHgxMDAwMDAwMDAwMDAwMCArICh0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwKTtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IDIpIHtcXG4gICAgICBhc3NlcnQoZmFsc2UsICdOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gKHRoaXMubmVnYXRpdmUgIT09IDApID8gLXJldCA6IHJldDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0J1ZmZlciA9IGZ1bmN0aW9uIHRvQnVmZmVyIChlbmRpYW4sIGxlbmd0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpO1xcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIHRvQXJyYXkgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LCBlbmRpYW4sIGxlbmd0aCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQXJyYXlMaWtlID0gZnVuY3Rpb24gdG9BcnJheUxpa2UgKEFycmF5VHlwZSwgZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgdmFyIGJ5dGVMZW5ndGggPSB0aGlzLmJ5dGVMZW5ndGgoKTtcXG4gICAgdmFyIHJlcUxlbmd0aCA9IGxlbmd0aCB8fCBNYXRoLm1heCgxLCBieXRlTGVuZ3RoKTtcXG4gICAgYXNzZXJ0KGJ5dGVMZW5ndGggPD0gcmVxTGVuZ3RoLCAnYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCcpO1xcbiAgICBhc3NlcnQocmVxTGVuZ3RoID4gMCwgJ1JlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCcpO1xcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICAgIHZhciBsaXR0bGVFbmRpYW4gPSBlbmRpYW4gPT09ICdsZSc7XFxuICAgIHZhciByZXMgPSBuZXcgQXJyYXlUeXBlKHJlcUxlbmd0aCk7XFxuXFxuICAgIHZhciBiLCBpO1xcbiAgICB2YXIgcSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgaWYgKCFsaXR0bGVFbmRpYW4pIHtcXG4gICAgICAvLyBBc3N1bWUgYmlnLWVuZGlhblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCByZXFMZW5ndGggLSBieXRlTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7ICFxLmlzWmVybygpOyBpKyspIHtcXG4gICAgICAgIGIgPSBxLmFuZGxuKDB4ZmYpO1xcbiAgICAgICAgcS5pdXNocm4oOCk7XFxuXFxuICAgICAgICByZXNbcmVxTGVuZ3RoIC0gaSAtIDFdID0gYjtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tpXSA9IGI7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoOyBpIDwgcmVxTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgaWYgKE1hdGguY2x6MzIpIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgcmV0dXJuIDMyIC0gTWF0aC5jbHozMih3KTtcXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIEJOLnByb3RvdHlwZS5fY291bnRCaXRzID0gZnVuY3Rpb24gX2NvdW50Qml0cyAodykge1xcbiAgICAgIHZhciB0ID0gdztcXG4gICAgICB2YXIgciA9IDA7XFxuICAgICAgaWYgKHQgPj0gMHgxMDAwKSB7XFxuICAgICAgICByICs9IDEzO1xcbiAgICAgICAgdCA+Pj49IDEzO1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDQwKSB7XFxuICAgICAgICByICs9IDc7XFxuICAgICAgICB0ID4+Pj0gNztcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHg4KSB7XFxuICAgICAgICByICs9IDQ7XFxuICAgICAgICB0ID4+Pj0gNDtcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHgwMikge1xcbiAgICAgICAgciArPSAyO1xcbiAgICAgICAgdCA+Pj49IDI7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiByICsgdDtcXG4gICAgfTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5femVyb0JpdHMgPSBmdW5jdGlvbiBfemVyb0JpdHMgKHcpIHtcXG4gICAgLy8gU2hvcnQtY3V0XFxuICAgIGlmICh3ID09PSAwKSByZXR1cm4gMjY7XFxuXFxuICAgIHZhciB0ID0gdztcXG4gICAgdmFyIHIgPSAwO1xcbiAgICBpZiAoKHQgJiAweDFmZmYpID09PSAwKSB7XFxuICAgICAgciArPSAxMztcXG4gICAgICB0ID4+Pj0gMTM7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHg3ZikgPT09IDApIHtcXG4gICAgICByICs9IDc7XFxuICAgICAgdCA+Pj49IDc7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHhmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNDtcXG4gICAgICB0ID4+Pj0gNDtcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDMpID09PSAwKSB7XFxuICAgICAgciArPSAyO1xcbiAgICAgIHQgPj4+PSAyO1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MSkgPT09IDApIHtcXG4gICAgICByKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG51bWJlciBvZiB1c2VkIGJpdHMgaW4gYSBCTlxcbiAgQk4ucHJvdG90eXBlLmJpdExlbmd0aCA9IGZ1bmN0aW9uIGJpdExlbmd0aCAoKSB7XFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdO1xcbiAgICB2YXIgaGkgPSB0aGlzLl9jb3VudEJpdHModyk7XFxuICAgIHJldHVybiAodGhpcy5sZW5ndGggLSAxKSAqIDI2ICsgaGk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gdG9CaXRBcnJheSAobnVtKSB7XFxuICAgIHZhciB3ID0gbmV3IEFycmF5KG51bS5iaXRMZW5ndGgoKSk7XFxuXFxuICAgIGZvciAodmFyIGJpdCA9IDA7IGJpdCA8IHcubGVuZ3RoOyBiaXQrKykge1xcbiAgICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcXG4gICAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICAgIHdbYml0XSA9IChudW0ud29yZHNbb2ZmXSAmICgxIDw8IHdiaXQpKSA+Pj4gd2JpdDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdztcXG4gIH1cXG5cXG4gIC8vIE51bWJlciBvZiB0cmFpbGluZyB6ZXJvIGJpdHNcXG4gIEJOLnByb3RvdHlwZS56ZXJvQml0cyA9IGZ1bmN0aW9uIHplcm9CaXRzICgpIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiAwO1xcblxcbiAgICB2YXIgciA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBiID0gdGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7XFxuICAgICAgciArPSBiO1xcbiAgICAgIGlmIChiICE9PSAyNikgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmJ5dGVMZW5ndGggPSBmdW5jdGlvbiBieXRlTGVuZ3RoICgpIHtcXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpIC8gOCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvVHdvcyA9IGZ1bmN0aW9uIHRvVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICByZXR1cm4gdGhpcy5hYnMoKS5pbm90bih3aWR0aCkuaWFkZG4oMSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZnJvbVR3b3MgPSBmdW5jdGlvbiBmcm9tVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMudGVzdG4od2lkdGggLSAxKSkge1xcbiAgICAgIHJldHVybiB0aGlzLm5vdG4od2lkdGgpLmlhZGRuKDEpLmluZWcoKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc05lZyA9IGZ1bmN0aW9uIGlzTmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubmVnYXRpdmUgIT09IDA7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5lZygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbmVnID0gZnVuY3Rpb24gaW5lZyAoKSB7XFxuICAgIGlmICghdGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgXj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1b3IgPSBmdW5jdGlvbiBpdW9yIChudW0pIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gfCBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW9yID0gZnVuY3Rpb24gaW9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm9yID0gZnVuY3Rpb24gb3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaW9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51b3IgPSBmdW5jdGlvbiB1b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVhbmQgPSBmdW5jdGlvbiBpdWFuZCAobnVtKSB7XFxuICAgIC8vIGIgPSBtaW4tbGVuZ3RoKG51bSwgdGhpcylcXG4gICAgdmFyIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldICYgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYi5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1YW5kKG51bSk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51YW5kID0gZnVuY3Rpb24gdWFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1eG9yID0gZnVuY3Rpb24gaXV4b3IgKG51bSkge1xcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhO1xcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5peG9yID0gZnVuY3Rpb24gaXhvciAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXhvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnhvciA9IGZ1bmN0aW9uIHhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXhvciA9IGZ1bmN0aW9uIHV4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1eG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBOb3QgYGB0aGlzYGAgd2l0aCBgYHdpZHRoYGAgYml0d2lkdGhcXG4gIEJOLnByb3RvdHlwZS5pbm90biA9IGZ1bmN0aW9uIGlub3RuICh3aWR0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJyAmJiB3aWR0aCA+PSAwKTtcXG5cXG4gICAgdmFyIGJ5dGVzTmVlZGVkID0gTWF0aC5jZWlsKHdpZHRoIC8gMjYpIHwgMDtcXG4gICAgdmFyIGJpdHNMZWZ0ID0gd2lkdGggJSAyNjtcXG5cXG4gICAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgd2l0aCBsZWFkaW5nIHplcm9lc1xcbiAgICB0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO1xcblxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgYnl0ZXNOZWVkZWQtLTtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgY29tcGxldGUgd29yZHNcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlc05lZWRlZDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSB0aGUgcmVzaWR1ZVxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgKDB4M2ZmZmZmZiA+PiAoMjYgLSBiaXRzTGVmdCkpO1xcbiAgICB9XFxuXFxuICAgIC8vIEFuZCByZW1vdmUgbGVhZGluZyB6ZXJvZXNcXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubm90biA9IGZ1bmN0aW9uIG5vdG4gKHdpZHRoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpO1xcbiAgfTtcXG5cXG4gIC8vIFNldCBgYml0YCBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zZXRuID0gZnVuY3Rpb24gc2V0biAoYml0LCB2YWwpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG5cXG4gICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICB0aGlzLl9leHBhbmQob2ZmICsgMSk7XFxuXFxuICAgIGlmICh2YWwpIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gfCAoMSA8PCB3Yml0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gJiB+KDEgPDwgd2JpdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xcbiAgICB2YXIgcjtcXG5cXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAvLyBDb3B5IHRoZSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSB0aGlzLnN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0gZWxzZSBpZiAobnVtLm5lZ2F0aXZlID09PSAwICYmIHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XFxuXFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYWRkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIC10aGlzIC0gbnVtID0gLSh0aGlzICsgbnVtKVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGQobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcXG4gICAgdmFyIGNtcCA9IHRoaXMuY21wKG51bSk7XFxuXFxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBhID4gYlxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKGNtcCA+IDApIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgaWYgKGNhcnJ5ID09PSAwICYmIGkgPCBhLmxlbmd0aCAmJiBhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSk7XFxuXFxuICAgIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHNtYWxsTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIHZhciBsZW4gPSAoc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoKSB8IDA7XFxuICAgIG91dC5sZW5ndGggPSBsZW47XFxuICAgIGxlbiA9IChsZW4gLSAxKSB8IDA7XFxuXFxuICAgIC8vIFBlZWwgb25lIGl0ZXJhdGlvbiAoY29tcGlsZXIgY2FuJ3QgZG8gaXQsIGJlY2F1c2Ugb2YgY29kZSBjb21wbGV4aXR5KVxcbiAgICB2YXIgYSA9IHNlbGYud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgYiA9IG51bS53b3Jkc1swXSB8IDA7XFxuICAgIHZhciByID0gYSAqIGI7XFxuXFxuICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgIHZhciBjYXJyeSA9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgIG91dC53b3Jkc1swXSA9IGxvO1xcblxcbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGxlbjsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGNhcnJ5ID4+PiAyNjtcXG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcXG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XFxuICAgICAgICB2YXIgaSA9IChrIC0gaikgfCAwO1xcbiAgICAgICAgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICByID0gYSAqIGIgKyByd29yZDtcXG4gICAgICAgIG5jYXJyeSArPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgICAgcndvcmQgPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZCB8IDA7XFxuICAgICAgY2FycnkgPSBuY2FycnkgfCAwO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5IHwgMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQubGVuZ3RoLS07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfVxcblxcbiAgLy8gVE9ETyhpbmR1dG55KTogaXQgbWF5IGJlIHJlYXNvbmFibGUgdG8gb21pdCBpdCBmb3IgdXNlcnMgd2hvIGRvbid0IG5lZWRcXG4gIC8vIHRvIHdvcmsgd2l0aCAyNTYtYml0IG51bWJlcnMsIG90aGVyd2lzZSBpdCBnaXZlcyAyMCUgaW1wcm92ZW1lbnQgZm9yIDI1Ni1iaXRcXG4gIC8vIG11bHRpcGxpY2F0aW9uIChsaWtlIGVsbGlwdGljIHNlY3AyNTZrMSkuXFxuICB2YXIgY29tYjEwTXVsVG8gPSBmdW5jdGlvbiBjb21iMTBNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzO1xcbiAgICB2YXIgYiA9IG51bS53b3JkcztcXG4gICAgdmFyIG8gPSBvdXQud29yZHM7XFxuICAgIHZhciBjID0gMDtcXG4gICAgdmFyIGxvO1xcbiAgICB2YXIgbWlkO1xcbiAgICB2YXIgaGk7XFxuICAgIHZhciBhMCA9IGFbMF0gfCAwO1xcbiAgICB2YXIgYWwwID0gYTAgJiAweDFmZmY7XFxuICAgIHZhciBhaDAgPSBhMCA+Pj4gMTM7XFxuICAgIHZhciBhMSA9IGFbMV0gfCAwO1xcbiAgICB2YXIgYWwxID0gYTEgJiAweDFmZmY7XFxuICAgIHZhciBhaDEgPSBhMSA+Pj4gMTM7XFxuICAgIHZhciBhMiA9IGFbMl0gfCAwO1xcbiAgICB2YXIgYWwyID0gYTIgJiAweDFmZmY7XFxuICAgIHZhciBhaDIgPSBhMiA+Pj4gMTM7XFxuICAgIHZhciBhMyA9IGFbM10gfCAwO1xcbiAgICB2YXIgYWwzID0gYTMgJiAweDFmZmY7XFxuICAgIHZhciBhaDMgPSBhMyA+Pj4gMTM7XFxuICAgIHZhciBhNCA9IGFbNF0gfCAwO1xcbiAgICB2YXIgYWw0ID0gYTQgJiAweDFmZmY7XFxuICAgIHZhciBhaDQgPSBhNCA+Pj4gMTM7XFxuICAgIHZhciBhNSA9IGFbNV0gfCAwO1xcbiAgICB2YXIgYWw1ID0gYTUgJiAweDFmZmY7XFxuICAgIHZhciBhaDUgPSBhNSA+Pj4gMTM7XFxuICAgIHZhciBhNiA9IGFbNl0gfCAwO1xcbiAgICB2YXIgYWw2ID0gYTYgJiAweDFmZmY7XFxuICAgIHZhciBhaDYgPSBhNiA+Pj4gMTM7XFxuICAgIHZhciBhNyA9IGFbN10gfCAwO1xcbiAgICB2YXIgYWw3ID0gYTcgJiAweDFmZmY7XFxuICAgIHZhciBhaDcgPSBhNyA+Pj4gMTM7XFxuICAgIHZhciBhOCA9IGFbOF0gfCAwO1xcbiAgICB2YXIgYWw4ID0gYTggJiAweDFmZmY7XFxuICAgIHZhciBhaDggPSBhOCA+Pj4gMTM7XFxuICAgIHZhciBhOSA9IGFbOV0gfCAwO1xcbiAgICB2YXIgYWw5ID0gYTkgJiAweDFmZmY7XFxuICAgIHZhciBhaDkgPSBhOSA+Pj4gMTM7XFxuICAgIHZhciBiMCA9IGJbMF0gfCAwO1xcbiAgICB2YXIgYmwwID0gYjAgJiAweDFmZmY7XFxuICAgIHZhciBiaDAgPSBiMCA+Pj4gMTM7XFxuICAgIHZhciBiMSA9IGJbMV0gfCAwO1xcbiAgICB2YXIgYmwxID0gYjEgJiAweDFmZmY7XFxuICAgIHZhciBiaDEgPSBiMSA+Pj4gMTM7XFxuICAgIHZhciBiMiA9IGJbMl0gfCAwO1xcbiAgICB2YXIgYmwyID0gYjIgJiAweDFmZmY7XFxuICAgIHZhciBiaDIgPSBiMiA+Pj4gMTM7XFxuICAgIHZhciBiMyA9IGJbM10gfCAwO1xcbiAgICB2YXIgYmwzID0gYjMgJiAweDFmZmY7XFxuICAgIHZhciBiaDMgPSBiMyA+Pj4gMTM7XFxuICAgIHZhciBiNCA9IGJbNF0gfCAwO1xcbiAgICB2YXIgYmw0ID0gYjQgJiAweDFmZmY7XFxuICAgIHZhciBiaDQgPSBiNCA+Pj4gMTM7XFxuICAgIHZhciBiNSA9IGJbNV0gfCAwO1xcbiAgICB2YXIgYmw1ID0gYjUgJiAweDFmZmY7XFxuICAgIHZhciBiaDUgPSBiNSA+Pj4gMTM7XFxuICAgIHZhciBiNiA9IGJbNl0gfCAwO1xcbiAgICB2YXIgYmw2ID0gYjYgJiAweDFmZmY7XFxuICAgIHZhciBiaDYgPSBiNiA+Pj4gMTM7XFxuICAgIHZhciBiNyA9IGJbN10gfCAwO1xcbiAgICB2YXIgYmw3ID0gYjcgJiAweDFmZmY7XFxuICAgIHZhciBiaDcgPSBiNyA+Pj4gMTM7XFxuICAgIHZhciBiOCA9IGJbOF0gfCAwO1xcbiAgICB2YXIgYmw4ID0gYjggJiAweDFmZmY7XFxuICAgIHZhciBiaDggPSBiOCA+Pj4gMTM7XFxuICAgIHZhciBiOSA9IGJbOV0gfCAwO1xcbiAgICB2YXIgYmw5ID0gYjkgJiAweDFmZmY7XFxuICAgIHZhciBiaDkgPSBiOSA+Pj4gMTM7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHNlbGYubmVnYXRpdmUgXiBudW0ubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSAxOTtcXG4gICAgLyogayA9IDAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwwLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwwLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDAsIGJoMCk7XFxuICAgIHZhciB3MCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcwID4+PiAyNikpIHwgMDtcXG4gICAgdzAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDEsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDEsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgxKSkgfCAwO1xcbiAgICB2YXIgdzEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwyLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwyLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDIsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgyKSkgfCAwO1xcbiAgICB2YXIgdzIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcyICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwzLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwzLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDMsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDMpKSB8IDA7XFxuICAgIHZhciB3MyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHczID4+PiAyNikpIHwgMDtcXG4gICAgdzMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDQsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDQsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg0KSkgfCAwO1xcbiAgICB2YXIgdzQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc0ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw1LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw1LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDUsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg1KSkgfCAwO1xcbiAgICB2YXIgdzUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NSA+Pj4gMjYpKSB8IDA7XFxuICAgIHc1ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw2LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw2LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDYsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDYpKSB8IDA7XFxuICAgIHZhciB3NiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc2ID4+PiAyNikpIHwgMDtcXG4gICAgdzYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDcsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDcsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg3KSkgfCAwO1xcbiAgICB2YXIgdzcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NyA+Pj4gMjYpKSB8IDA7XFxuICAgIHc3ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw4LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw4LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDgsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg4KSkgfCAwO1xcbiAgICB2YXIgdzggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc4ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDkgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3OSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc5ID4+PiAyNikpIHwgMDtcXG4gICAgdzkgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDEpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDEpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEwID4+PiAyNikpIHwgMDtcXG4gICAgdzEwICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDExICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwyKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgyKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMikpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDIpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTEgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDMpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDMpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTIgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDQpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDQpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEzID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEzID4+PiAyNikpIHwgMDtcXG4gICAgdzEzICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw1KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg1KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDUpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTQgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDYpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDYpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTUgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDcpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDcpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE2ID4+PiAyNikpIHwgMDtcXG4gICAgdzE2ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw4KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg4KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDgpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTcgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDkpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDkpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOSk7XFxuICAgIHZhciB3MTggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTggPj4+IDI2KSkgfCAwO1xcbiAgICB3MTggJj0gMHgzZmZmZmZmO1xcbiAgICBvWzBdID0gdzA7XFxuICAgIG9bMV0gPSB3MTtcXG4gICAgb1syXSA9IHcyO1xcbiAgICBvWzNdID0gdzM7XFxuICAgIG9bNF0gPSB3NDtcXG4gICAgb1s1XSA9IHc1O1xcbiAgICBvWzZdID0gdzY7XFxuICAgIG9bN10gPSB3NztcXG4gICAgb1s4XSA9IHc4O1xcbiAgICBvWzldID0gdzk7XFxuICAgIG9bMTBdID0gdzEwO1xcbiAgICBvWzExXSA9IHcxMTtcXG4gICAgb1sxMl0gPSB3MTI7XFxuICAgIG9bMTNdID0gdzEzO1xcbiAgICBvWzE0XSA9IHcxNDtcXG4gICAgb1sxNV0gPSB3MTU7XFxuICAgIG9bMTZdID0gdzE2O1xcbiAgICBvWzE3XSA9IHcxNztcXG4gICAgb1sxOF0gPSB3MTg7XFxuICAgIGlmIChjICE9PSAwKSB7XFxuICAgICAgb1sxOV0gPSBjO1xcbiAgICAgIG91dC5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gb3V0O1xcbiAgfTtcXG5cXG4gIC8vIFBvbHlmaWxsIGNvbWJcXG4gIGlmICghTWF0aC5pbXVsKSB7XFxuICAgIGNvbWIxME11bFRvID0gc21hbGxNdWxUbztcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGJpZ011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0gc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICB2YXIgaG5jYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb3V0Lmxlbmd0aCAtIDE7IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICAgIGhuY2FycnkgPSAwO1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gayAtIGo7XFxuICAgICAgICB2YXIgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgdmFyIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKChyIC8gMHg0MDAwMDAwKSB8IDApKSB8IDA7XFxuICAgICAgICBsbyA9IChsbyArIHJ3b3JkKSB8IDA7XFxuICAgICAgICByd29yZCA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArIChsbyA+Pj4gMjYpKSB8IDA7XFxuXFxuICAgICAgICBobmNhcnJ5ICs9IG5jYXJyeSA+Pj4gMjY7XFxuICAgICAgICBuY2FycnkgJj0gMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeTtcXG4gICAgICBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgZmZ0bSA9IG5ldyBGRlRNKCk7XFxuICAgIHJldHVybiBmZnRtLm11bHAoc2VsZiwgbnVtLCBvdXQpO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLm11bFRvID0gZnVuY3Rpb24gbXVsVG8gKG51bSwgb3V0KSB7XFxuICAgIHZhciByZXM7XFxuICAgIHZhciBsZW4gPSB0aGlzLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMTAgJiYgbnVtLmxlbmd0aCA9PT0gMTApIHtcXG4gICAgICByZXMgPSBjb21iMTBNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgNjMpIHtcXG4gICAgICByZXMgPSBzbWFsbE11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCAxMDI0KSB7XFxuICAgICAgcmVzID0gYmlnTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29vbGV5LVR1a2V5IGFsZ29yaXRobSBmb3IgRkZUXFxuICAvLyBzbGlnaHRseSByZXZpc2l0ZWQgdG8gcmVseSBvbiBsb29waW5nIGluc3RlYWQgb2YgcmVjdXJzaW9uXFxuXFxuICBmdW5jdGlvbiBGRlRNICh4LCB5KSB7XFxuICAgIHRoaXMueCA9IHg7XFxuICAgIHRoaXMueSA9IHk7XFxuICB9XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tYWtlUkJUID0gZnVuY3Rpb24gbWFrZVJCVCAoTikge1xcbiAgICB2YXIgdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGwgPSBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKSAtIDE7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdFtpXSA9IHRoaXMucmV2QmluKGksIGwsIE4pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0O1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybnMgYmluYXJ5LXJldmVyc2VkIHJlcHJlc2VudGF0aW9uIG9mIGB4YFxcbiAgRkZUTS5wcm90b3R5cGUucmV2QmluID0gZnVuY3Rpb24gcmV2QmluICh4LCBsLCBOKSB7XFxuICAgIGlmICh4ID09PSAwIHx8IHggPT09IE4gLSAxKSByZXR1cm4geDtcXG5cXG4gICAgdmFyIHJiID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcXG4gICAgICByYiB8PSAoeCAmIDEpIDw8IChsIC0gaSAtIDEpO1xcbiAgICAgIHggPj49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJiO1xcbiAgfTtcXG5cXG4gIC8vIFBlcmZvcm1zIFxcXCJ0d2VlZGxpbmdcXFwiIHBoYXNlLCB0aGVyZWZvcmUgJ2VtdWxhdGluZydcXG4gIC8vIGJlaGF2aW91ciBvZiB0aGUgcmVjdXJzaXZlIGFsZ29yaXRobVxcbiAgRkZUTS5wcm90b3R5cGUucGVybXV0ZSA9IGZ1bmN0aW9uIHBlcm11dGUgKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBydHdzW2ldID0gcndzW3JidFtpXV07XFxuICAgICAgaXR3c1tpXSA9IGl3c1tyYnRbaV1dO1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24gdHJhbnNmb3JtIChyd3MsIGl3cywgcnR3cywgaXR3cywgTiwgcmJ0KSB7XFxuICAgIHRoaXMucGVybXV0ZShyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKTtcXG5cXG4gICAgZm9yICh2YXIgcyA9IDE7IHMgPCBOOyBzIDw8PSAxKSB7XFxuICAgICAgdmFyIGwgPSBzIDw8IDE7XFxuXFxuICAgICAgdmFyIHJ0d2RmID0gTWF0aC5jb3MoMiAqIE1hdGguUEkgLyBsKTtcXG4gICAgICB2YXIgaXR3ZGYgPSBNYXRoLnNpbigyICogTWF0aC5QSSAvIGwpO1xcblxcbiAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgTjsgcCArPSBsKSB7XFxuICAgICAgICB2YXIgcnR3ZGZfID0gcnR3ZGY7XFxuICAgICAgICB2YXIgaXR3ZGZfID0gaXR3ZGY7XFxuXFxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHM7IGorKykge1xcbiAgICAgICAgICB2YXIgcmUgPSBydHdzW3AgKyBqXTtcXG4gICAgICAgICAgdmFyIGllID0gaXR3c1twICsgal07XFxuXFxuICAgICAgICAgIHZhciBybyA9IHJ0d3NbcCArIGogKyBzXTtcXG4gICAgICAgICAgdmFyIGlvID0gaXR3c1twICsgaiArIHNdO1xcblxcbiAgICAgICAgICB2YXIgcnggPSBydHdkZl8gKiBybyAtIGl0d2RmXyAqIGlvO1xcblxcbiAgICAgICAgICBpbyA9IHJ0d2RmXyAqIGlvICsgaXR3ZGZfICogcm87XFxuICAgICAgICAgIHJvID0gcng7XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGpdID0gcmUgKyBybztcXG4gICAgICAgICAgaXR3c1twICsgal0gPSBpZSArIGlvO1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqICsgc10gPSByZSAtIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqICsgc10gPSBpZSAtIGlvO1xcblxcbiAgICAgICAgICAvKiBqc2hpbnQgbWF4ZGVwdGggOiBmYWxzZSAqL1xcbiAgICAgICAgICBpZiAoaiAhPT0gbCkge1xcbiAgICAgICAgICAgIHJ4ID0gcnR3ZGYgKiBydHdkZl8gLSBpdHdkZiAqIGl0d2RmXztcXG5cXG4gICAgICAgICAgICBpdHdkZl8gPSBydHdkZiAqIGl0d2RmXyArIGl0d2RmICogcnR3ZGZfO1xcbiAgICAgICAgICAgIHJ0d2RmXyA9IHJ4O1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuZ3Vlc3NMZW4xM2IgPSBmdW5jdGlvbiBndWVzc0xlbjEzYiAobiwgbSkge1xcbiAgICB2YXIgTiA9IE1hdGgubWF4KG0sIG4pIHwgMTtcXG4gICAgdmFyIG9kZCA9IE4gJiAxO1xcbiAgICB2YXIgaSA9IDA7XFxuICAgIGZvciAoTiA9IE4gLyAyIHwgMDsgTjsgTiA9IE4gPj4+IDEpIHtcXG4gICAgICBpKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIDEgPDwgaSArIDEgKyBvZGQ7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29uanVnYXRlID0gZnVuY3Rpb24gY29uanVnYXRlIChyd3MsIGl3cywgTikge1xcbiAgICBpZiAoTiA8PSAxKSByZXR1cm47XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB0ID0gcndzW2ldO1xcblxcbiAgICAgIHJ3c1tpXSA9IHJ3c1tOIC0gaSAtIDFdO1xcbiAgICAgIHJ3c1tOIC0gaSAtIDFdID0gdDtcXG5cXG4gICAgICB0ID0gaXdzW2ldO1xcblxcbiAgICAgIGl3c1tpXSA9IC1pd3NbTiAtIGkgLSAxXTtcXG4gICAgICBpd3NbTiAtIGkgLSAxXSA9IC10O1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubm9ybWFsaXplMTNiID0gZnVuY3Rpb24gbm9ybWFsaXplMTNiICh3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IE1hdGgucm91bmQod3NbMiAqIGkgKyAxXSAvIE4pICogMHgyMDAwICtcXG4gICAgICAgIE1hdGgucm91bmQod3NbMiAqIGldIC8gTikgK1xcbiAgICAgICAgY2Fycnk7XFxuXFxuICAgICAgd3NbaV0gPSB3ICYgMHgzZmZmZmZmO1xcblxcbiAgICAgIGlmICh3IDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICBjYXJyeSA9IDA7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGNhcnJ5ID0gdyAvIDB4NDAwMDAwMCB8IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB3cztcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiID0gZnVuY3Rpb24gY29udmVydDEzYiAod3MsIGxlbiwgcndzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBjYXJyeSA9IGNhcnJ5ICsgKHdzW2ldIHwgMCk7XFxuXFxuICAgICAgcndzWzIgKiBpXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgICByd3NbMiAqIGkgKyAxXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgfVxcblxcbiAgICAvLyBQYWQgd2l0aCB6ZXJvZXNcXG4gICAgZm9yIChpID0gMiAqIGxlbjsgaSA8IE47ICsraSkge1xcbiAgICAgIHJ3c1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAwKTtcXG4gICAgYXNzZXJ0KChjYXJyeSAmIH4weDFmZmYpID09PSAwKTtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5zdHViID0gZnVuY3Rpb24gc3R1YiAoTikge1xcbiAgICB2YXIgcGggPSBuZXcgQXJyYXkoTik7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcGhbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBwaDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tdWxwID0gZnVuY3Rpb24gbXVscCAoeCwgeSwgb3V0KSB7XFxuICAgIHZhciBOID0gMiAqIHRoaXMuZ3Vlc3NMZW4xM2IoeC5sZW5ndGgsIHkubGVuZ3RoKTtcXG5cXG4gICAgdmFyIHJidCA9IHRoaXMubWFrZVJCVChOKTtcXG5cXG4gICAgdmFyIF8gPSB0aGlzLnN0dWIoTik7XFxuXFxuICAgIHZhciByd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciByd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIG5yd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBucndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5pd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgcm13cyA9IG91dC53b3JkcztcXG4gICAgcm13cy5sZW5ndGggPSBOO1xcblxcbiAgICB0aGlzLmNvbnZlcnQxM2IoeC53b3JkcywgeC5sZW5ndGgsIHJ3cywgTik7XFxuICAgIHRoaXMuY29udmVydDEzYih5LndvcmRzLCB5Lmxlbmd0aCwgbnJ3cywgTik7XFxuXFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3cywgXywgcndzdCwgaXdzdCwgTiwgcmJ0KTtcXG4gICAgdGhpcy50cmFuc2Zvcm0obnJ3cywgXywgbnJ3c3QsIG5pd3N0LCBOLCByYnQpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHZhciByeCA9IHJ3c3RbaV0gKiBucndzdFtpXSAtIGl3c3RbaV0gKiBuaXdzdFtpXTtcXG4gICAgICBpd3N0W2ldID0gcndzdFtpXSAqIG5pd3N0W2ldICsgaXdzdFtpXSAqIG5yd3N0W2ldO1xcbiAgICAgIHJ3c3RbaV0gPSByeDtcXG4gICAgfVxcblxcbiAgICB0aGlzLmNvbmp1Z2F0ZShyd3N0LCBpd3N0LCBOKTtcXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzdCwgaXdzdCwgcm13cywgXywgTiwgcmJ0KTtcXG4gICAgdGhpcy5jb25qdWdhdGUocm13cywgXywgTik7XFxuICAgIHRoaXMubm9ybWFsaXplMTNiKHJtd3MsIE4pO1xcblxcbiAgICBvdXQubmVnYXRpdmUgPSB4Lm5lZ2F0aXZlIF4geS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IHgubGVuZ3RoICsgeS5sZW5ndGg7XFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBNdWx0aXBseSBgdGhpc2AgYnkgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKG51bSkge1xcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcXG4gICAgcmV0dXJuIHRoaXMubXVsVG8obnVtLCBvdXQpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGVtcGxveWluZyBGRlRcXG4gIEJOLnByb3RvdHlwZS5tdWxmID0gZnVuY3Rpb24gbXVsZiAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gSW4tcGxhY2UgTXVsdGlwbGljYXRpb25cXG4gIEJOLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkubXVsVG8obnVtLCB0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW11bG4gPSBmdW5jdGlvbiBpbXVsbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcblxcbiAgICAvLyBDYXJyeVxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKiBudW07XFxuICAgICAgdmFyIGxvID0gKHcgJiAweDNmZmZmZmYpICsgKGNhcnJ5ICYgMHgzZmZmZmZmKTtcXG4gICAgICBjYXJyeSA+Pj0gMjY7XFxuICAgICAgY2FycnkgKz0gKHcgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAvLyBOT1RFOiBsbyBpcyAyN2JpdCBtYXhpbXVtXFxuICAgICAgY2FycnkgKz0gbG8gPj4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubXVsbiA9IGZ1bmN0aW9uIG11bG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKG51bSk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubXVsKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIGB0aGlzYCAqIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIC8vIE1hdGgucG93KGB0aGlzYCwgYG51bWApXFxuICBCTi5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChudW0pIHtcXG4gICAgdmFyIHcgPSB0b0JpdEFycmF5KG51bSk7XFxuICAgIGlmICh3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBCTigxKTtcXG5cXG4gICAgLy8gU2tpcCBsZWFkaW5nIHplcm9lc1xcbiAgICB2YXIgcmVzID0gdGhpcztcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3Lmxlbmd0aDsgaSsrLCByZXMgPSByZXMuc3FyKCkpIHtcXG4gICAgICBpZiAod1tpXSAhPT0gMCkgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKCsraSA8IHcubGVuZ3RoKSB7XFxuICAgICAgZm9yICh2YXIgcSA9IHJlcy5zcXIoKTsgaSA8IHcubGVuZ3RoOyBpKyssIHEgPSBxLnNxcigpKSB7XFxuICAgICAgICBpZiAod1tpXSA9PT0gMCkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSByZXMubXVsKHEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnQgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdXNobG4gPSBmdW5jdGlvbiBpdXNobG4gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuICAgIHZhciBjYXJyeU1hc2sgPSAoMHgzZmZmZmZmID4+PiAoMjYgLSByKSkgPDwgKDI2IC0gcik7XFxuICAgIHZhciBpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciBuZXdDYXJyeSA9IHRoaXMud29yZHNbaV0gJiBjYXJyeU1hc2s7XFxuICAgICAgICB2YXIgYyA9ICgodGhpcy53b3Jkc1tpXSB8IDApIC0gbmV3Q2FycnkpIDw8IHI7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYyB8IGNhcnJ5O1xcbiAgICAgICAgY2FycnkgPSBuZXdDYXJyeSA+Pj4gKDI2IC0gcik7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjYXJyeSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHMgIT09IDApIHtcXG4gICAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyBzXSA9IHRoaXMud29yZHNbaV07XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmxlbmd0aCArPSBzO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXFxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcXG4gIC8vIE5PVEU6IGlmIGBleHRlbmRlZGAgaXMgcHJlc2VudCAtIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggZGVzdHJveWVkIGJpdHNcXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIGg7XFxuICAgIGlmIChoaW50KSB7XFxuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaCA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcXG5cXG4gICAgaCAtPSBzO1xcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XFxuXFxuICAgIC8vIEV4dGVuZGVkIG1vZGUsIGNvcHkgbWFza2VkIHBhcnRcXG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIG1hc2tlZFdvcmRzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcXG4gICAgfVxcblxcbiAgICBpZiAocyA9PT0gMCkge1xcbiAgICAgIC8vIE5vLW9wLCB3ZSBzaG91bGQgbm90IG1vdmUgYW55dGhpbmcgYXQgYWxsXFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XFxuICAgICAgdGhpcy5sZW5ndGggLT0gcztcXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDAgJiYgKGNhcnJ5ICE9PSAwIHx8IGkgPj0gaCk7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XFxuICAgICAgY2FycnkgPSB3b3JkICYgbWFzaztcXG4gICAgfVxcblxcbiAgICAvLyBQdXNoIGNhcnJpZWQgYml0cyBhcyBhIG1hc2tcXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaHJuID0gZnVuY3Rpb24gaXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1c2hybihiaXRzLCBoaW50LCBleHRlbmRlZCk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdFxcbiAgQk4ucHJvdG90eXBlLnNobG4gPSBmdW5jdGlvbiBzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaGxuID0gZnVuY3Rpb24gdXNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHRcXG4gIEJOLnByb3RvdHlwZS5zaHJuID0gZnVuY3Rpb24gc2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hybiA9IGZ1bmN0aW9uIHVzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFRlc3QgaWYgbiBiaXQgaXMgc2V0XFxuICBCTi5wcm90b3R5cGUudGVzdG4gPSBmdW5jdGlvbiB0ZXN0biAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykgcmV0dXJuIGZhbHNlO1xcblxcbiAgICAvLyBDaGVjayBiaXQgYW5kIHJldHVyblxcbiAgICB2YXIgdyA9IHRoaXMud29yZHNbc107XFxuXFxuICAgIHJldHVybiAhISh3ICYgcSk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyIChpbi1wbGFjZSlcXG4gIEJOLnByb3RvdHlwZS5pbWFza24gPSBmdW5jdGlvbiBpbWFza24gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAnaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzJyk7XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICBzKys7XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1pbihzLCB0aGlzLmxlbmd0aCk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdICY9IG1hc2s7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5tYXNrbiA9IGZ1bmN0aW9uIG1hc2tuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBwbGFpbiBudW1iZXIgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuaWFkZG4gPSBmdW5jdGlvbiBpYWRkbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaXN1Ym4oLW51bSk7XFxuXFxuICAgIC8vIFBvc3NpYmxlIHNpZ24gY2hhbmdlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmICh0aGlzLndvcmRzWzBdIHwgMCkgPCBudW0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pc3VibihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcXG4gICAgdGhpcy53b3Jkc1swXSArPSBudW07XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA+PSAweDQwMDAwMDA7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdID0gMTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGRuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDYXJyeVxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA8IDA7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hZGRuID0gZnVuY3Rpb24gYWRkbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuc3VibiA9IGZ1bmN0aW9uIHN1Ym4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhYnMgPSBmdW5jdGlvbiBpYWJzICgpIHtcXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hYnMgPSBmdW5jdGlvbiBhYnMgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsID0gZnVuY3Rpb24gX2lzaGxuc3VibXVsIChudW0sIG11bCwgc2hpZnQpIHtcXG4gICAgdmFyIGxlbiA9IG51bS5sZW5ndGggKyBzaGlmdDtcXG4gICAgdmFyIGk7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChsZW4pO1xcblxcbiAgICB2YXIgdztcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICB2YXIgcmlnaHQgPSAobnVtLndvcmRzW2ldIHwgMCkgKiBtdWw7XFxuICAgICAgdyAtPSByaWdodCAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9ICh3ID4+IDI2KSAtICgocmlnaHQgLyAweDQwMDAwMDApIHwgMCk7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICBmb3IgKDsgaSA8IHRoaXMubGVuZ3RoIC0gc2hpZnQ7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgPT09IDApIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIC8vIFN1YnRyYWN0aW9uIG92ZXJmbG93XFxuICAgIGFzc2VydChjYXJyeSA9PT0gLTEpO1xcbiAgICBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9IC0odGhpcy53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fd29yZERpdiA9IGZ1bmN0aW9uIF93b3JkRGl2IChudW0sIG1vZGUpIHtcXG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW07XFxuXFxuICAgIC8vIE5vcm1hbGl6ZVxcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcXG4gICAgc2hpZnQgPSAyNiAtIGJoaUJpdHM7XFxuICAgIGlmIChzaGlmdCAhPT0gMCkge1xcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcXG4gICAgICBhLml1c2hsbihzaGlmdCk7XFxuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgfVxcblxcbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcXG4gICAgdmFyIHE7XFxuXFxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgIHEgPSBuZXcgQk4obnVsbCk7XFxuICAgICAgcS5sZW5ndGggPSBtICsgMTtcXG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XFxuICAgIGlmIChkaWZmLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgYSA9IGRpZmY7XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbbV0gPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcXG4gICAgICAgIChhLndvcmRzW2IubGVuZ3RoICsgaiAtIDFdIHwgMCk7XFxuXFxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcXG4gICAgICAvLyAoMHg3ZmZmZmZmKVxcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XFxuXFxuICAgICAgYS5faXNobG5zdWJtdWwoYiwgcWosIGopO1xcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBxai0tO1xcbiAgICAgICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcXG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xcbiAgICAgICAgICBhLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW2pdID0gcWo7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChxKSB7XFxuICAgICAgcS5zdHJpcCgpO1xcbiAgICB9XFxuICAgIGEuc3RyaXAoKTtcXG5cXG4gICAgLy8gRGVub3JtYWxpemVcXG4gICAgaWYgKG1vZGUgIT09ICdkaXYnICYmIHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYS5pdXNocm4oc2hpZnQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgZGl2OiBxIHx8IG51bGwsXFxuICAgICAgbW9kOiBhXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gTk9URTogMSkgYG1vZGVgIGNhbiBiZSBzZXQgdG8gYG1vZGAgdG8gcmVxdWVzdCBtb2Qgb25seSxcXG4gIC8vICAgICAgIHRvIGBkaXZgIHRvIHJlcXVlc3QgZGl2IG9ubHksIG9yIGJlIGFic2VudCB0b1xcbiAgLy8gICAgICAgcmVxdWVzdCBib3RoIGRpdiAmIG1vZFxcbiAgLy8gICAgICAgMikgYHBvc2l0aXZlYCBpcyB0cnVlIGlmIHVuc2lnbmVkIG1vZCBpcyByZXF1ZXN0ZWRcXG4gIEJOLnByb3RvdHlwZS5kaXZtb2QgPSBmdW5jdGlvbiBkaXZtb2QgKG51bSwgbW9kZSwgcG9zaXRpdmUpIHtcXG4gICAgYXNzZXJ0KCFudW0uaXNaZXJvKCkpO1xcblxcbiAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogbmV3IEJOKDApXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICB2YXIgZGl2LCBtb2QsIHJlcztcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlhZGQobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IHJlcy5tb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICgodGhpcy5uZWdhdGl2ZSAmIG51bS5uZWdhdGl2ZSkgIT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlzdWIobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogcmVzLmRpdixcXG4gICAgICAgIG1vZDogbW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICAvLyBCb3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlIGF0IHRoaXMgcG9pbnRcXG5cXG4gICAgLy8gU3RyaXAgYm90aCBudW1iZXJzIHRvIGFwcHJveGltYXRlIHNoaWZ0IHZhbHVlXFxuICAgIGlmIChudW0ubGVuZ3RoID4gdGhpcy5sZW5ndGggfHwgdGhpcy5jbXAobnVtKSA8IDApIHtcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXFxuICAgICAgICBtb2Q6IHRoaXNcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIFZlcnkgc2hvcnQgcmVkdWN0aW9uXFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAxKSB7XFxuICAgICAgaWYgKG1vZGUgPT09ICdkaXYnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgICBtb2Q6IG51bGxcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlID09PSAnbW9kJykge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgZGl2OiBudWxsLFxcbiAgICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fd29yZERpdihudW0sIG1vZGUpO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgIC8gYG51bWBcXG4gIEJOLnByb3RvdHlwZS5kaXYgPSBmdW5jdGlvbiBkaXYgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnZGl2JywgZmFsc2UpLmRpdjtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAlIGBudW1gXFxuICBCTi5wcm90b3R5cGUubW9kID0gZnVuY3Rpb24gbW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIGZhbHNlKS5tb2Q7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVtb2QgPSBmdW5jdGlvbiB1bW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIHRydWUpLm1vZDtcXG4gIH07XFxuXFxuICAvLyBGaW5kIFJvdW5kKGB0aGlzYCAvIGBudW1gKVxcbiAgQk4ucHJvdG90eXBlLmRpdlJvdW5kID0gZnVuY3Rpb24gZGl2Um91bmQgKG51bSkge1xcbiAgICB2YXIgZG0gPSB0aGlzLmRpdm1vZChudW0pO1xcblxcbiAgICAvLyBGYXN0IGNhc2UgLSBleGFjdCBkaXZpc2lvblxcbiAgICBpZiAoZG0ubW9kLmlzWmVybygpKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICB2YXIgbW9kID0gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0ubW9kLmlzdWIobnVtKSA6IGRtLm1vZDtcXG5cXG4gICAgdmFyIGhhbGYgPSBudW0udXNocm4oMSk7XFxuICAgIHZhciByMiA9IG51bS5hbmRsbigxKTtcXG4gICAgdmFyIGNtcCA9IG1vZC5jbXAoaGFsZik7XFxuXFxuICAgIC8vIFJvdW5kIGRvd25cXG4gICAgaWYgKGNtcCA8IDAgfHwgcjIgPT09IDEgJiYgY21wID09PSAwKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICAvLyBSb3VuZCB1cFxcbiAgICByZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0uZGl2LmlzdWJuKDEpIDogZG0uZGl2LmlhZGRuKDEpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tb2RuID0gZnVuY3Rpb24gbW9kbiAobnVtKSB7XFxuICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmKTtcXG4gICAgdmFyIHAgPSAoMSA8PCAyNikgJSBudW07XFxuXFxuICAgIHZhciBhY2MgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIGFjYyA9IChwICogYWNjICsgKHRoaXMud29yZHNbaV0gfCAwKSkgJSBudW07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGFjYztcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5pZGl2biA9IGZ1bmN0aW9uIGlkaXZuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5ICogMHg0MDAwMDAwO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAodyAvIG51bSkgfCAwO1xcbiAgICAgIGNhcnJ5ID0gdyAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5kaXZuID0gZnVuY3Rpb24gZGl2biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWRpdm4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZWdjZCA9IGZ1bmN0aW9uIGVnY2QgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgeCA9IHRoaXM7XFxuICAgIHZhciB5ID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoeC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHggPSB4LnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgeCA9IHguY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICAvLyBBICogeCArIEIgKiB5ID0geFxcbiAgICB2YXIgQSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIEIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIC8vIEMgKiB4ICsgRCAqIHkgPSB5XFxuICAgIHZhciBDID0gbmV3IEJOKDApO1xcbiAgICB2YXIgRCA9IG5ldyBCTigxKTtcXG5cXG4gICAgdmFyIGcgPSAwO1xcblxcbiAgICB3aGlsZSAoeC5pc0V2ZW4oKSAmJiB5LmlzRXZlbigpKSB7XFxuICAgICAgeC5pdXNocm4oMSk7XFxuICAgICAgeS5pdXNocm4oMSk7XFxuICAgICAgKytnO1xcbiAgICB9XFxuXFxuICAgIHZhciB5cCA9IHkuY2xvbmUoKTtcXG4gICAgdmFyIHhwID0geC5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoIXguaXNaZXJvKCkpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoeC53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgeC5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQS5pc09kZCgpIHx8IEIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEEuaWFkZCh5cCk7XFxuICAgICAgICAgICAgQi5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBBLml1c2hybigxKTtcXG4gICAgICAgICAgQi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7ICh5LndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICB5Lml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChDLmlzT2RkKCkgfHwgRC5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQy5pYWRkKHlwKTtcXG4gICAgICAgICAgICBELmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEMuaXVzaHJuKDEpO1xcbiAgICAgICAgICBELml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHguY21wKHkpID49IDApIHtcXG4gICAgICAgIHguaXN1Yih5KTtcXG4gICAgICAgIEEuaXN1YihDKTtcXG4gICAgICAgIEIuaXN1YihEKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgeS5pc3ViKHgpO1xcbiAgICAgICAgQy5pc3ViKEEpO1xcbiAgICAgICAgRC5pc3ViKEIpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4ge1xcbiAgICAgIGE6IEMsXFxuICAgICAgYjogRCxcXG4gICAgICBnY2Q6IHkuaXVzaGxuKGcpXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gVGhpcyBpcyByZWR1Y2VkIGluY2FybmF0aW9uIG9mIHRoZSBiaW5hcnkgRUVBXFxuICAvLyBhYm92ZSwgZGVzaWduYXRlZCB0byBpbnZlcnQgbWVtYmVycyBvZiB0aGVcXG4gIC8vIF9wcmltZV8gZmllbGRzIEYocCkgYXQgYSBtYXhpbWFsIHNwZWVkXFxuICBCTi5wcm90b3R5cGUuX2ludm1wID0gZnVuY3Rpb24gX2ludm1wIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzO1xcbiAgICB2YXIgYiA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBhID0gYS51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHgxID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgeDIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIHZhciBkZWx0YSA9IGIuY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKGEuY21wbigxKSA+IDAgJiYgYi5jbXBuKDEpID4gMCkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7IChhLndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICBhLml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4MS5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDEuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDEuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoYi53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgYi5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgyLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgyLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGEuY21wKGIpID49IDApIHtcXG4gICAgICAgIGEuaXN1YihiKTtcXG4gICAgICAgIHgxLmlzdWIoeDIpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBiLmlzdWIoYSk7XFxuICAgICAgICB4Mi5pc3ViKHgxKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKGEuY21wbigxKSA9PT0gMCkge1xcbiAgICAgIHJlcyA9IHgxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IHgyO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZChwKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5nY2QgPSBmdW5jdGlvbiBnY2QgKG51bSkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIG51bS5hYnMoKTtcXG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIHRoaXMuYWJzKCk7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bS5jbG9uZSgpO1xcbiAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgYi5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIC8vIFJlbW92ZSBjb21tb24gZmFjdG9yIG9mIHR3b1xcbiAgICBmb3IgKHZhciBzaGlmdCA9IDA7IGEuaXNFdmVuKCkgJiYgYi5pc0V2ZW4oKTsgc2hpZnQrKykge1xcbiAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICB9XFxuXFxuICAgIGRvIHtcXG4gICAgICB3aGlsZSAoYS5pc0V2ZW4oKSkge1xcbiAgICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChiLmlzRXZlbigpKSB7XFxuICAgICAgICBiLml1c2hybigxKTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIHIgPSBhLmNtcChiKTtcXG4gICAgICBpZiAociA8IDApIHtcXG4gICAgICAgIC8vIFN3YXAgYGFgIGFuZCBgYmAgdG8gbWFrZSBgYWAgYWx3YXlzIGJpZ2dlciB0aGFuIGBiYFxcbiAgICAgICAgdmFyIHQgPSBhO1xcbiAgICAgICAgYSA9IGI7XFxuICAgICAgICBiID0gdDtcXG4gICAgICB9IGVsc2UgaWYgKHIgPT09IDAgfHwgYi5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgYS5pc3ViKGIpO1xcbiAgICB9IHdoaWxlICh0cnVlKTtcXG5cXG4gICAgcmV0dXJuIGIuaXVzaGxuKHNoaWZ0KTtcXG4gIH07XFxuXFxuICAvLyBJbnZlcnQgbnVtYmVyIGluIHRoZSBmaWVsZCBGKG51bSlcXG4gIEJOLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmVnY2QobnVtKS5hLnVtb2QobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNFdmVuID0gZnVuY3Rpb24gaXNFdmVuICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzT2RkID0gZnVuY3Rpb24gaXNPZGQgKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMTtcXG4gIH07XFxuXFxuICAvLyBBbmQgZmlyc3Qgd29yZCBhbmQgbnVtXFxuICBCTi5wcm90b3R5cGUuYW5kbG4gPSBmdW5jdGlvbiBhbmRsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLndvcmRzWzBdICYgbnVtO1xcbiAgfTtcXG5cXG4gIC8vIEluY3JlbWVudCBhdCB0aGUgYml0IHBvc2l0aW9uIGluLWxpbmVcXG4gIEJOLnByb3RvdHlwZS5iaW5jbiA9IGZ1bmN0aW9uIGJpbmNuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgdGhpcy5fZXhwYW5kKHMgKyAxKTtcXG4gICAgICB0aGlzLndvcmRzW3NdIHw9IHE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIGJpdCBhbmQgcHJvcGFnYXRlLCBpZiBuZWVkZWRcXG4gICAgdmFyIGNhcnJ5ID0gcTtcXG4gICAgZm9yICh2YXIgaSA9IHM7IGNhcnJ5ICE9PSAwICYmIGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB3ICs9IGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+Pj4gMjY7XFxuICAgICAgdyAmPSAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHc7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzWmVybyA9IGZ1bmN0aW9uIGlzWmVybyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbXBuID0gZnVuY3Rpb24gY21wbiAobnVtKSB7XFxuICAgIHZhciBuZWdhdGl2ZSA9IG51bSA8IDA7XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmICFuZWdhdGl2ZSkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBuZWdhdGl2ZSkgcmV0dXJuIDE7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gMSkge1xcbiAgICAgIHJlcyA9IDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKG5lZ2F0aXZlKSB7XFxuICAgICAgICBudW0gPSAtbnVtO1xcbiAgICAgIH1cXG5cXG4gICAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZiwgJ051bWJlciBpcyB0b28gYmlnJyk7XFxuXFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzWzBdIHwgMDtcXG4gICAgICByZXMgPSB3ID09PSBudW0gPyAwIDogdyA8IG51bSA/IC0xIDogMTtcXG4gICAgfVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvbXBhcmUgdHdvIG51bWJlcnMgYW5kIHJldHVybjpcXG4gIC8vIDEgLSBpZiBgdGhpc2AgPiBgbnVtYFxcbiAgLy8gMCAtIGlmIGB0aGlzYCA9PSBgbnVtYFxcbiAgLy8gLTEgLSBpZiBgdGhpc2AgPCBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmNtcCA9IGZ1bmN0aW9uIGNtcCAobnVtKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHJldHVybiAxO1xcblxcbiAgICB2YXIgcmVzID0gdGhpcy51Y21wKG51bSk7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gVW5zaWduZWQgY29tcGFyaXNvblxcbiAgQk4ucHJvdG90eXBlLnVjbXAgPSBmdW5jdGlvbiB1Y21wIChudW0pIHtcXG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgaGF2ZSB0aGUgc2FtZSBzaWduXFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiAxO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSByZXR1cm4gLTE7XFxuXFxuICAgIHZhciByZXMgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciBhID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdmFyIGIgPSBudW0ud29yZHNbaV0gfCAwO1xcblxcbiAgICAgIGlmIChhID09PSBiKSBjb250aW51ZTtcXG4gICAgICBpZiAoYSA8IGIpIHtcXG4gICAgICAgIHJlcyA9IC0xO1xcbiAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcXG4gICAgICAgIHJlcyA9IDE7XFxuICAgICAgfVxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0biA9IGZ1bmN0aW9uIGd0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3QgPSBmdW5jdGlvbiBndCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGVuID0gZnVuY3Rpb24gZ3RlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGUgPSBmdW5jdGlvbiBndGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdG4gPSBmdW5jdGlvbiBsdG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdCA9IGZ1bmN0aW9uIGx0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGVuID0gZnVuY3Rpb24gbHRlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGUgPSBmdW5jdGlvbiBsdGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lcW4gPSBmdW5jdGlvbiBlcW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQSByZWR1Y2UgY29udGV4dCwgY291bGQgYmUgdXNpbmcgbW9udGdvbWVyeSBvciBzb21ldGhpbmcgYmV0dGVyLCBkZXBlbmRpbmdcXG4gIC8vIG9uIHRoZSBgbWAgaXRzZWxmLlxcbiAgLy9cXG4gIEJOLnJlZCA9IGZ1bmN0aW9uIHJlZCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgUmVkKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvUmVkID0gZnVuY3Rpb24gdG9SZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIHJldHVybiBjdHguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tUmVkID0gZnVuY3Rpb24gZnJvbVJlZCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ2Zyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZm9yY2VSZWQgPSBmdW5jdGlvbiBfZm9yY2VSZWQgKGN0eCkge1xcbiAgICB0aGlzLnJlZCA9IGN0eDtcXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZvcmNlUmVkID0gZnVuY3Rpb24gZm9yY2VSZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5fZm9yY2VSZWQoY3R4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkQWRkID0gZnVuY3Rpb24gcmVkQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElBZGQgPSBmdW5jdGlvbiByZWRJQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3ViID0gZnVuY3Rpb24gcmVkU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElTdWIgPSBmdW5jdGlvbiByZWRJU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU2hsID0gZnVuY3Rpb24gcmVkU2hsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZE11bCA9IGZ1bmN0aW9uIHJlZE11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJTXVsID0gZnVuY3Rpb24gcmVkSU11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmltdWwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3FyID0gZnVuY3Rpb24gcmVkU3FyICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVNxciA9IGZ1bmN0aW9uIHJlZElTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3F1YXJlIHJvb3Qgb3ZlciBwXFxuICBCTi5wcm90b3R5cGUucmVkU3FydCA9IGZ1bmN0aW9uIHJlZFNxcnQgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcnQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZEludm0gPSBmdW5jdGlvbiByZWRJbnZtICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2AgJSBgcmVkIG1vZHVsb2BcXG4gIEJOLnByb3RvdHlwZS5yZWROZWcgPSBmdW5jdGlvbiByZWROZWcgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubmVnKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRQb3cgPSBmdW5jdGlvbiByZWRQb3cgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQgJiYgIW51bS5yZWQsICdyZWRQb3cobm9ybWFsTnVtKScpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnBvdyh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFByaW1lIG51bWJlcnMgd2l0aCBlZmZpY2llbnQgcmVkdWN0aW9uXFxuICB2YXIgcHJpbWVzID0ge1xcbiAgICBrMjU2OiBudWxsLFxcbiAgICBwMjI0OiBudWxsLFxcbiAgICBwMTkyOiBudWxsLFxcbiAgICBwMjU1MTk6IG51bGxcXG4gIH07XFxuXFxuICAvLyBQc2V1ZG8tTWVyc2VubmUgcHJpbWVcXG4gIGZ1bmN0aW9uIE1QcmltZSAobmFtZSwgcCkge1xcbiAgICAvLyBQID0gMiBeIE4gLSBLXFxuICAgIHRoaXMubmFtZSA9IG5hbWU7XFxuICAgIHRoaXMucCA9IG5ldyBCTihwLCAxNik7XFxuICAgIHRoaXMubiA9IHRoaXMucC5iaXRMZW5ndGgoKTtcXG4gICAgdGhpcy5rID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKTtcXG5cXG4gICAgdGhpcy50bXAgPSB0aGlzLl90bXAoKTtcXG4gIH1cXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuX3RtcCA9IGZ1bmN0aW9uIF90bXAgKCkge1xcbiAgICB2YXIgdG1wID0gbmV3IEJOKG51bGwpO1xcbiAgICB0bXAud29yZHMgPSBuZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubiAvIDEzKSk7XFxuICAgIHJldHVybiB0bXA7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pcmVkdWNlID0gZnVuY3Rpb24gaXJlZHVjZSAobnVtKSB7XFxuICAgIC8vIEFzc3VtZXMgdGhhdCBgbnVtYCBpcyBsZXNzIHRoYW4gYFBeMmBcXG4gICAgLy8gbnVtID0gSEkgKiAoMiBeIE4gLSBLKSArIEhJICogSyArIExPID0gSEkgKiBLICsgTE8gKG1vZCBQKVxcbiAgICB2YXIgciA9IG51bTtcXG4gICAgdmFyIHJsZW47XFxuXFxuICAgIGRvIHtcXG4gICAgICB0aGlzLnNwbGl0KHIsIHRoaXMudG1wKTtcXG4gICAgICByID0gdGhpcy5pbXVsSyhyKTtcXG4gICAgICByID0gci5pYWRkKHRoaXMudG1wKTtcXG4gICAgICBybGVuID0gci5iaXRMZW5ndGgoKTtcXG4gICAgfSB3aGlsZSAocmxlbiA+IHRoaXMubik7XFxuXFxuICAgIHZhciBjbXAgPSBybGVuIDwgdGhpcy5uID8gLTEgOiByLnVjbXAodGhpcy5wKTtcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHIud29yZHNbMF0gPSAwO1xcbiAgICAgIHIubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChjbXAgPiAwKSB7XFxuICAgICAgci5pc3ViKHRoaXMucCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgci5zdHJpcCgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIHJldHVybiBudW0uaW11bCh0aGlzLmspO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIEsyNTYgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdrMjU2JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKEsyNTYsIE1QcmltZSk7XFxuXFxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XFxuICAgIC8vIDI1NiA9IDkgKiAyNiArIDIyXFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XFxuXFxuICAgIHZhciBvdXRMZW4gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIDkpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XFxuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XFxuICAgIH1cXG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcXG5cXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8PSA5KSB7XFxuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIFNoaWZ0IGJ5IDkgbGltYnNcXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcXG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcXG5cXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xcbiAgICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSAoKG5leHQgJiBtYXNrKSA8PCA0KSB8IChwcmV2ID4+PiAyMik7XFxuICAgICAgcHJldiA9IG5leHQ7XFxuICAgIH1cXG4gICAgcHJldiA+Pj49IDIyO1xcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcXG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gMTA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XFxuICAgIH1cXG4gIH07XFxuXFxuICBLMjU2LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoICsgMV0gPSAwO1xcbiAgICBudW0ubGVuZ3RoICs9IDI7XFxuXFxuICAgIC8vIGJvdW5kZWQgYXQ6IDB4NDAgKiAweDNmZmZmZmYgKyAweDNkMCA9IDB4MTAwMDAwMzkwXFxuICAgIHZhciBsbyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBudW0ud29yZHNbaV0gfCAwO1xcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcXG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICBsbyA9IHcgKiAweDQwICsgKChsbyAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgfVxcblxcbiAgICAvLyBGYXN0IGxlbmd0aCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBQMjI0ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDIyNCcsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDE5MiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AxOTInLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDE5MiwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XFxuICAgIC8vIDIgXiAyNTUgLSAxOVxcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICcyNTUxOScsXFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyNTUxOSwgTVByaW1lKTtcXG5cXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEzXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGhpID0gKG51bS53b3Jkc1tpXSB8IDApICogMHgxMyArIGNhcnJ5O1xcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xcbiAgICAgIGhpID4+Pj0gMjY7XFxuXFxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XFxuICAgICAgY2FycnkgPSBoaTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xcbiAgICAvLyBDYWNoZWQgdmVyc2lvbiBvZiBwcmltZVxcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xcblxcbiAgICB2YXIgcHJpbWU7XFxuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyMjQnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xcbiAgICAgIHByaW1lID0gbmV3IFAxOTIoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XFxuICAgIH1cXG4gICAgcHJpbWVzW25hbWVdID0gcHJpbWU7XFxuXFxuICAgIHJldHVybiBwcmltZTtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQmFzZSByZWR1Y3Rpb24gZW5naW5lXFxuICAvL1xcbiAgZnVuY3Rpb24gUmVkIChtKSB7XFxuICAgIGlmICh0eXBlb2YgbSA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XFxuICAgICAgdGhpcy5tID0gcHJpbWUucDtcXG4gICAgICB0aGlzLnByaW1lID0gcHJpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XFxuICAgICAgdGhpcy5tID0gbTtcXG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XFxuICAgIGFzc2VydChhLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCAmJiBhLnJlZCA9PT0gYi5yZWQsXFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XFxuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG4gICAgcmV0dXJuIGEudW1vZCh0aGlzLm0pLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5zdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTEoYSk7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwoYSwgYS5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XFxuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZVxcbiAgICBpZiAobW9kMyA9PT0gMykge1xcbiAgICAgIHZhciBwb3cgPSB0aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO1xcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xcbiAgICB9XFxuXFxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcXG4gICAgLy9cXG4gICAgLy8gRmluZCBRIGFuZCBTLCB0aGF0IFEgKiAyIF4gUyA9IChQIC0gMSlcXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcXG4gICAgdmFyIHMgPSAwO1xcbiAgICB3aGlsZSAoIXEuaXNaZXJvKCkgJiYgcS5hbmRsbigxKSA9PT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgICBxLml1c2hybigxKTtcXG4gICAgfVxcbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgb25lID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcXG5cXG4gICAgLy8gRmluZCBxdWFkcmF0aWMgbm9uLXJlc2lkdWVcXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXFxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xcbiAgICB2YXIgeiA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xcblxcbiAgICB3aGlsZSAodGhpcy5wb3coeiwgbHBvdykuY21wKG5PbmUpICE9PSAwKSB7XFxuICAgICAgei5yZWRJQWRkKG5PbmUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XFxuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XFxuICAgIHZhciB0ID0gdGhpcy5wb3coYSwgcSk7XFxuICAgIHZhciBtID0gcztcXG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcXG4gICAgICB2YXIgdG1wID0gdDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcXG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcXG4gICAgICB9XFxuICAgICAgYXNzZXJ0KGkgPCBtKTtcXG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XFxuXFxuICAgICAgciA9IHIucmVkTXVsKGIpO1xcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xcbiAgICAgIHQgPSB0LnJlZE11bChjKTtcXG4gICAgICBtID0gaTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xcbiAgICBpZiAoaW52Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciB3aW5kb3dTaXplID0gNDtcXG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHduZFsxXSA9IGE7XFxuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcyA9IHduZFswXTtcXG4gICAgdmFyIGN1cnJlbnQgPSAwO1xcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XFxuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xcbiAgICBpZiAoc3RhcnQgPT09IDApIHtcXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xcbiAgICAgIGZvciAodmFyIGogPSBzdGFydCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XFxuICAgICAgICAgIHJlcyA9IHRoaXMuc3FyKHJlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoYml0ID09PSAwICYmIGN1cnJlbnQgPT09IDApIHtcXG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY3VycmVudCA8PD0gMTtcXG4gICAgICAgIGN1cnJlbnQgfD0gYml0O1xcbiAgICAgICAgY3VycmVudExlbisrO1xcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xcbiAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICBjdXJyZW50ID0gMDtcXG4gICAgICB9XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgdmFyIHIgPSBudW0udW1vZCh0aGlzLm0pO1xcblxcbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgcmVzID0gbnVtLmNsb25lKCk7XFxuICAgIHJlcy5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBNb250Z29tZXJ5IG1ldGhvZCBlbmdpbmVcXG4gIC8vXFxuXFxuICBCTi5tb250ID0gZnVuY3Rpb24gbW9udCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcXG4gICAgUmVkLmNhbGwodGhpcywgbSk7XFxuXFxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcXG4gICAgICB0aGlzLnNoaWZ0ICs9IDI2IC0gKHRoaXMuc2hpZnQgJSAyNik7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5yID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTtcXG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XFxuXFxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5yLnN1Yih0aGlzLm1pbnYpO1xcbiAgfVxcbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHIgPSB0aGlzLmltb2QobnVtLm11bCh0aGlzLnJpbnYpKTtcXG4gICAgci5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSB7XFxuICAgICAgYS53b3Jkc1swXSA9IDA7XFxuICAgICAgYS5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiBhO1xcbiAgICB9XFxuXFxuICAgIHZhciB0ID0gYS5pbXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcblxcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgdmFyIHQgPSBhLm11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXFxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxufSkoIGZhbHNlIHx8IG1vZHVsZSwgdGhpcyk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vd2VicGFjay9idWlsZGluL21vZHVsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1xcXCIpKG1vZHVsZSkpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5a2FXWm1hV1V0YUdWc2JHMWhiaTl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6UHpVMllqa2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWVVGQllTeHRRa0ZCVHl4RFFVRkRMR1ZCUVZFN1FVRkROMElzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEhkRFFVRjNRenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eFJRVUZSTzBGQlEyaEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUWtGQmQwSXNiVUpCUVcxQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UTBGQmMwTXNXVUZCV1R0QlFVTnNSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWQ1FVRjFRaXhUUVVGVE8wRkJRMmhET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHM3UVVGRlFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYzBOQlFYTkRMSE5DUVVGelFqdEJRVU0xUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3gxUWtGQmRVSXNVMEZCVXp0QlFVTm9RenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdsQ1FVRnBRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTERSQ1FVRTBRanRCUVVNM1F6dEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeGhRVUZoTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNXVUZCV1N4bFFVRmxPMEZCUXpOQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxIRkNRVUZ4UWl4blFrRkJaMEk3UVVGRGNrTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN3MlFrRkJOa0k3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3haUVVGWkxHTkJRV003UVVGRE1VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1kwRkJZenRCUVVOcVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc05rSkJRVFpDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4WlFVRlpMR05CUVdNN1FVRkRNVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHZSRUZCYjBRc1YwRkJWenRCUVVNdlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXh2UWtGQmIwSTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiMFJCUVc5RUxGZEJRVmM3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFBRVUZQTzBGQlF6bENPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1IwRkJSenRCUVVNeFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWpzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzVjBGQlZ6dEJRVU01UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3TzBGQlJVRXNhME5CUVd0RE8wRkJRMnhETEhORFFVRnpRenRCUVVOMFF6czdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeFBRVUZQTzBGQlF6VkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4alFVRmpPMEZCUTJwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzWTBGQll6dEJRVU16UXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNLMEpCUVN0Q0xGRkJRVkU3UVVGRGRrTTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNUMEZCVHp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzYVVKQlFXbENMR2xDUVVGcFFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEN0RFFVRXJRenRCUVVOc1JUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4eFFrRkJjVUlzYzBOQlFYTkRPMEZCUXpORU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3huUWtGQlowSTdRVUZETDBJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWVUZCVlN4NVFrRkJlVUk3UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaU3hwUWtGQmFVSTdRVUZEYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNMR05CUVdNN1FVRkRia003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpeFJRVUZSTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF5eFJRVUZSTzBGQlEzcERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVFrRkJkVUlzTUVKQlFUQkNPMEZCUTJwRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3TzBGQlJVdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhuUTBGQlowTTdRVUZEYmtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbERRVUZwUXl4UlFVRlJPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeFpRVUZaTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4blFrRkJaMElzYTBKQlFXdENPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeG5Ra0ZCWjBJN1FVRkRia003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSXNiMEpCUVc5Q08wRkJRM3BETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNORUpCUVRSQ0xGRkJRVkU3UVVGRGNFTTdRVUZEUVN3MlFrRkJOa0lzVVVGQlVUdEJRVU55UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGTEUxQlFUWkNJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyUnBabVpwWlMxb1pXeHNiV0Z1TDI1dlpHVmZiVzlrZFd4bGN5OWliaTVxY3k5c2FXSXZZbTR1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUlvWm5WdVkzUnBiMjRnS0cxdlpIVnNaU3dnWlhod2IzSjBjeWtnZTF4dUlDQW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpQWdMeThnVlhScGJITmNiaUFnWm5WdVkzUnBiMjRnWVhOelpYSjBJQ2gyWVd3c0lHMXpaeWtnZTF4dUlDQWdJR2xtSUNnaGRtRnNLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9iWE5uSUh4OElDZEJjM05sY25ScGIyNGdabUZwYkdWa0p5azdYRzRnSUgxY2JseHVJQ0F2THlCRGIzVnNaQ0IxYzJVZ1lHbHVhR1Z5YVhSellDQnRiMlIxYkdVc0lHSjFkQ0JrYjI0bmRDQjNZVzUwSUhSdklHMXZkbVVnWm5KdmJTQnphVzVuYkdVZ1ptbHNaVnh1SUNBdkx5QmhjbU5vYVhSbFkzUjFjbVVnZVdWMExseHVJQ0JtZFc1amRHbHZiaUJwYm1obGNtbDBjeUFvWTNSdmNpd2djM1Z3WlhKRGRHOXlLU0I3WEc0Z0lDQWdZM1J2Y2k1emRYQmxjbDhnUFNCemRYQmxja04wYjNJN1hHNGdJQ0FnZG1GeUlGUmxiWEJEZEc5eUlEMGdablZ1WTNScGIyNGdLQ2tnZTMwN1hHNGdJQ0FnVkdWdGNFTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ2MzVndaWEpEZEc5eUxuQnliM1J2ZEhsd1pUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaU0E5SUc1bGR5QlVaVzF3UTNSdmNpZ3BPMXh1SUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsTG1OdmJuTjBjblZqZEc5eUlEMGdZM1J2Y2p0Y2JpQWdmVnh1WEc0Z0lDOHZJRUpPWEc1Y2JpQWdablZ1WTNScGIyNGdRazRnS0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtTQjdYRzRnSUNBZ2FXWWdLRUpPTG1selFrNG9iblZ0WW1WeUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiV0psY2p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnYm5Wc2JEdGNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREE3WEc1Y2JpQWdJQ0F2THlCU1pXUjFZM1JwYjI0Z1kyOXVkR1Y0ZEZ4dUlDQWdJSFJvYVhNdWNtVmtJRDBnYm5Wc2JEdGNibHh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2xtSUNoaVlYTmxJRDA5UFNBbmJHVW5JSHg4SUdKaGMyVWdQVDA5SUNkaVpTY3BJSHRjYmlBZ0lDQWdJQ0FnWlc1a2FXRnVJRDBnWW1GelpUdGNiaUFnSUNBZ0lDQWdZbUZ6WlNBOUlERXdPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxsOXBibWwwS0c1MWJXSmxjaUI4ZkNBd0xDQmlZWE5sSUh4OElERXdMQ0JsYm1ScFlXNGdmSHdnSjJKbEp5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc0Z0lHbG1JQ2gwZVhCbGIyWWdiVzlrZFd4bElEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdRazQ3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWlhod2IzSjBjeTVDVGlBOUlFSk9PMXh1SUNCOVhHNWNiaUFnUWs0dVFrNGdQU0JDVGp0Y2JpQWdRazR1ZDI5eVpGTnBlbVVnUFNBeU5qdGNibHh1SUNCMllYSWdRblZtWm1WeU8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjJKMVptWmxjaWNwTGtKMVptWmxjanRjYmlBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNCOVhHNWNiaUFnUWs0dWFYTkNUaUE5SUdaMWJtTjBhVzl1SUdselFrNGdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaHVkVzBnYVc1emRHRnVZMlZ2WmlCQ1Rpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiU0FoUFQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnYm5WdElEMDlQU0FuYjJKcVpXTjBKeUFtSmx4dUlDQWdJQ0FnYm5WdExtTnZibk4wY25WamRHOXlMbmR2Y21SVGFYcGxJRDA5UFNCQ1RpNTNiM0prVTJsNlpTQW1KaUJCY25KaGVTNXBjMEZ5Y21GNUtHNTFiUzUzYjNKa2N5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWJXRjRJRDBnWm5WdVkzUnBiMjRnYldGNElDaHNaV1owTENCeWFXZG9kQ2tnZTF4dUlDQWdJR2xtSUNoc1pXWjBMbU50Y0NoeWFXZG9kQ2tnUGlBd0tTQnlaWFIxY200Z2JHVm1kRHRjYmlBZ0lDQnlaWFIxY200Z2NtbG5hSFE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHViV2x1SUQwZ1puVnVZM1JwYjI0Z2JXbHVJQ2hzWldaMExDQnlhV2RvZENrZ2UxeHVJQ0FnSUdsbUlDaHNaV1owTG1OdGNDaHlhV2RvZENrZ1BDQXdLU0J5WlhSMWNtNGdiR1ZtZER0Y2JpQWdJQ0J5WlhSMWNtNGdjbWxuYUhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBJRDBnWm5WdVkzUnBiMjRnYVc1cGRDQW9iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1MWJXSmxjaUE5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYm1sMFRuVnRZbVZ5S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNTFiV0psY2lBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5cGJtbDBRWEp5WVhrb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FuYUdWNEp5a2dlMXh1SUNBZ0lDQWdZbUZ6WlNBOUlERTJPMXh1SUNBZ0lIMWNiaUFnSUNCaGMzTmxjblFvWW1GelpTQTlQVDBnS0dKaGMyVWdmQ0F3S1NBbUppQmlZWE5sSUQ0OUlESWdKaVlnWW1GelpTQThQU0F6TmlrN1hHNWNiaUFnSUNCdWRXMWlaWElnUFNCdWRXMWlaWEl1ZEc5VGRISnBibWNvS1M1eVpYQnNZV05sS0M5Y1hITXJMMmNzSUNjbktUdGNiaUFnSUNCMllYSWdjM1JoY25RZ1BTQXdPMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSmJNRjBnUFQwOUlDY3RKeWtnZTF4dUlDQWdJQ0FnYzNSaGNuUXJLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZcElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYzNSaGNuUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVSmhjMlVvYm5WdFltVnlMQ0JpWVhObExDQnpkR0Z5ZENrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHNTFiV0psY2xzd1hTQTlQVDBnSnkwbktTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQnBaaUFvWlc1a2FXRnVJQ0U5UFNBbmJHVW5LU0J5WlhSMWNtNDdYRzVjYmlBZ0lDQjBhR2x6TGw5cGJtbDBRWEp5WVhrb2RHaHBjeTUwYjBGeWNtRjVLQ2tzSUdKaGMyVXNJR1Z1WkdsaGJpazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBibWwwVG5WdFltVnlJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUk9kVzFpWlhJZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUE4SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2JuVnRZbVZ5SUQwZ0xXNTFiV0psY2p0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUE4SURCNE5EQXdNREF3TUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnYm5WdFltVnlJQ1lnTUhnelptWm1abVptSUYwN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURFd01EQXdNREF3TURBd01EQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ1cxeHVJQ0FnSUNBZ0lDQnVkVzFpWlhJZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJQ2h1ZFcxaVpYSWdMeUF3ZURRd01EQXdNREFwSUNZZ01IZ3pabVptWm1abVhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F5TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb2JuVnRZbVZ5SUR3Z01IZ3lNREF3TURBd01EQXdNREF3TUNrN0lDOHZJRElnWGlBMU15QW9kVzV6WVdabEtWeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnRjYmlBZ0lDQWdJQ0FnYm5WdFltVnlJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBb2JuVnRZbVZ5SUM4Z01IZzBNREF3TURBd0tTQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnTVZ4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWlc1a2FXRnVJQ0U5UFNBbmJHVW5LU0J5WlhSMWNtNDdYRzVjYmlBZ0lDQXZMeUJTWlhabGNuTmxJSFJvWlNCaWVYUmxjMXh1SUNBZ0lIUm9hWE11WDJsdWFYUkJjbkpoZVNoMGFHbHpMblJ2UVhKeVlYa29LU3dnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHVhWFJCY25KaGVTQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFFYSnlZWGtnS0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtTQjdYRzRnSUNBZ0x5OGdVR1Z5YUdGd2N5QmhJRlZwYm5RNFFYSnlZWGxjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJXSmxjaTVzWlc1bmRHZ2dQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5TG14bGJtZDBhQ0E4UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lBd0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2h1ZFcxaVpYSXViR1Z1WjNSb0lDOGdNeWs3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbXhsYm1kMGFDazdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdhaXdnZHp0Y2JpQWdJQ0IyWVhJZ2IyWm1JRDBnTUR0Y2JpQWdJQ0JwWmlBb1pXNWthV0Z1SUQwOVBTQW5ZbVVuS1NCN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNCdWRXMWlaWEl1YkdWdVozUm9JQzBnTVN3Z2FpQTlJREE3SUdrZ1BqMGdNRHNnYVNBdFBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnTFNBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXRJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9aVzVrYVdGdUlEMDlQU0FuYkdVbktTQjdYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdMQ0JxSUQwZ01Ec2dhU0E4SUc1MWJXSmxjaTVzWlc1bmRHZzdJR2tnS3owZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQ3NnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0t5QXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQndZWEp6WlVobGVDQW9jM1J5TENCemRHRnlkQ3dnWlc1a0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ1BEdzlJRFE3WEc1Y2JpQWdJQ0FnSUM4dklDZGhKeUF0SUNkbUoxeHVJQ0FnSUNBZ2FXWWdLR01nUGowZ05Ea2dKaVlnWXlBOFBTQTFOQ2tnZTF4dUlDQWdJQ0FnSUNCeUlIdzlJR01nTFNBME9TQXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKMEVuSUMwZ0owWW5YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUGowZ01UY2dKaVlnWXlBOFBTQXlNaWtnZTF4dUlDQWdJQ0FnSUNCeUlIdzlJR01nTFNBeE55QXJJREI0WVR0Y2JseHVJQ0FnSUNBZ0x5OGdKekFuSUMwZ0p6a25YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlJSHc5SUdNZ0ppQXdlR1k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeU8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5d1lYSnpaVWhsZUNBOUlHWjFibU4wYVc5dUlGOXdZWEp6WlVobGVDQW9iblZ0WW1WeUxDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUM4dklFTnlaV0YwWlNCd2IzTnphV0pzZVNCaWFXZG5aWElnWVhKeVlYa2dkRzhnWlc1emRYSmxJSFJvWVhRZ2FYUWdabWwwY3lCMGFHVWdiblZ0WW1WeVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29LRzUxYldKbGNpNXNaVzVuZEdnZ0xTQnpkR0Z5ZENrZ0x5QTJLVHRjYmlBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnYm1WM0lFRnljbUY1S0hSb2FYTXViR1Z1WjNSb0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnFMQ0IzTzF4dUlDQWdJQzh2SUZOallXNGdNalF0WW1sMElHTm9kVzVyY3lCaGJtUWdZV1JrSUhSb1pXMGdkRzhnZEdobElHNTFiV0psY2x4dUlDQWdJSFpoY2lCdlptWWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJRzUxYldKbGNpNXNaVzVuZEdnZ0xTQTJMQ0JxSUQwZ01Ec2dhU0ErUFNCemRHRnlkRHNnYVNBdFBTQTJLU0I3WEc0Z0lDQWdJQ0IzSUQwZ2NHRnljMlZJWlhnb2JuVnRZbVZ5TENCcExDQnBJQ3NnTmlrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcycGRJSHc5SUNoM0lEdzhJRzltWmlrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQmdNSGd6Wm1abVptWmdJR2x6SUdsdWRHVnVkR2x2Ym1Gc0lHaGxjbVVzSURJMlltbDBjeUJ0WVhnZ2MyaHBablFnS3lBeU5HSnBkQ0JvWlhnZ2JHbHRZbHh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxSUNzZ01WMGdmRDBnZHlBK1BqNGdLREkySUMwZ2IyWm1LU0FtSURCNE0yWm1abVptTzF4dUlDQWdJQ0FnYjJabUlDczlJREkwTzF4dUlDQWdJQ0FnYVdZZ0tHOW1aaUErUFNBeU5pa2dlMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tHa2dLeUEySUNFOVBTQnpkR0Z5ZENrZ2UxeHVJQ0FnSUNBZ2R5QTlJSEJoY25ObFNHVjRLRzUxYldKbGNpd2djM1JoY25Rc0lHa2dLeUEyS1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFsMGdmRDBnS0hjZ1BEd2diMlptS1NBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhCaGNuTmxRbUZ6WlNBb2MzUnlMQ0J6ZEdGeWRDd2daVzVrTENCdGRXd3BJSHRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlFMWhkR2d1YldsdUtITjBjaTVzWlc1bmRHZ3NJR1Z1WkNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITjBZWEowT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCaklEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dMU0EwT0R0Y2JseHVJQ0FnSUNBZ2NpQXFQU0J0ZFd3N1hHNWNiaUFnSUNBZ0lDOHZJQ2RoSjF4dUlDQWdJQ0FnYVdZZ0tHTWdQajBnTkRrcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNCaklDMGdORGtnS3lBd2VHRTdYRzVjYmlBZ0lDQWdJQzh2SUNkQkoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0tTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ1l5QXRJREUzSUNzZ01IaGhPMXh1WEc0Z0lDQWdJQ0F2THlBbk1DY2dMU0FuT1NkY2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhJZ0t6MGdZenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDFjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNCaGNuTmxRbUZ6WlNBOUlHWjFibU4wYVc5dUlGOXdZWEp6WlVKaGMyVWdLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCSmJtbDBhV0ZzYVhwbElHRnpJSHBsY205Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ1d5QXdJRjA3WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVYRzRnSUNBZ0x5OGdSbWx1WkNCc1pXNW5kR2dnYjJZZ2JHbHRZaUJwYmlCaVlYTmxYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2JHbHRZa3hsYmlBOUlEQXNJR3hwYldKUWIzY2dQU0F4T3lCc2FXMWlVRzkzSUR3OUlEQjRNMlptWm1abVpqc2diR2x0WWxCdmR5QXFQU0JpWVhObEtTQjdYRzRnSUNBZ0lDQnNhVzFpVEdWdUt5czdYRzRnSUNBZ2ZWeHVJQ0FnSUd4cGJXSk1aVzR0TFR0Y2JpQWdJQ0JzYVcxaVVHOTNJRDBnS0d4cGJXSlFiM2NnTHlCaVlYTmxLU0I4SURBN1hHNWNiaUFnSUNCMllYSWdkRzkwWVd3Z1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblE3WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJSFJ2ZEdGc0lDVWdiR2x0WWt4bGJqdGNiaUFnSUNCMllYSWdaVzVrSUQwZ1RXRjBhQzV0YVc0b2RHOTBZV3dzSUhSdmRHRnNJQzBnYlc5a0tTQXJJSE4wWVhKME8xeHVYRzRnSUNBZ2RtRnlJSGR2Y21RZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0J6ZEdGeWREc2dhU0E4SUdWdVpEc2dhU0FyUFNCc2FXMWlUR1Z1S1NCN1hHNGdJQ0FnSUNCM2IzSmtJRDBnY0dGeWMyVkNZWE5sS0c1MWJXSmxjaXdnYVN3Z2FTQXJJR3hwYldKTVpXNHNJR0poYzJVcE8xeHVYRzRnSUNBZ0lDQjBhR2x6TG1sdGRXeHVLR3hwYldKUWIzY3BPMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVkMjl5WkhOYk1GMGdLeUIzYjNKa0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnZDI5eVpEdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11WDJsaFpHUnVLSGR2Y21RcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHRiMlFnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCd2IzY2dQU0F4TzF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUc1MWJXSmxjaTVzWlc1bmRHZ3NJR0poYzJVcE8xeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2JXOWtPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjRzkzSUNvOUlHSmhjMlU3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXVhVzExYkc0b2NHOTNLVHRjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbmR2Y21Seld6QmRJQ3NnZDI5eVpDQThJREI0TkRBd01EQXdNQ2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJQ3M5SUhkdmNtUTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5cFlXUmtiaWgzYjNKa0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdmNIa2dQU0JtZFc1amRHbHZiaUJqYjNCNUlDaGtaWE4wS1NCN1hHNGdJQ0FnWkdWemRDNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG14bGJtZDBhQ2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JrWlhOMExuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdaR1Z6ZEM1c1pXNW5kR2dnUFNCMGFHbHpMbXhsYm1kMGFEdGNiaUFnSUNCa1pYTjBMbTVsWjJGMGFYWmxJRDBnZEdocGN5NXVaV2RoZEdsMlpUdGNiaUFnSUNCa1pYTjBMbkpsWkNBOUlIUm9hWE11Y21Wa08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1amJHOXVaU0E5SUdaMWJtTjBhVzl1SUdOc2IyNWxJQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2NpQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0IwYUdsekxtTnZjSGtvY2lrN1hHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlsZUhCaGJtUWdQU0JtZFc1amRHbHZiaUJmWlhod1lXNWtJQ2h6YVhwbEtTQjdYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXViR1Z1WjNSb0lEd2djMmw2WlNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ3NyWFNBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGJXOTJaU0JzWldGa2FXNW5JR0F3WUNCbWNtOXRJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMzUnlhWEFnUFNCbWRXNWpkR2x2YmlCemRISnBjQ0FvS1NCN1hHNGdJQ0FnZDJocGJHVWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z01TQW1KaUIwYUdsekxuZHZjbVJ6VzNSb2FYTXViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvTFMwN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRVMmxuYmlncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmJtOXliVk5wWjI0Z1BTQm1kVzVqZEdsdmJpQmZibTl5YlZOcFoyNGdLQ2tnZTF4dUlDQWdJQzh2SUMwd0lEMGdNRnh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWMzQmxZM1FnUFNCbWRXNWpkR2x2YmlCcGJuTndaV04wSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVjbVZrSUQ4Z0p6eENUaTFTT2lBbklEb2dKenhDVGpvZ0p5a2dLeUIwYUdsekxuUnZVM1J5YVc1bktERTJLU0FySUNjK0p6dGNiaUFnZlR0Y2JseHVJQ0F2S2x4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0ZE8xeHVJQ0IyWVhJZ1ozSnZkWEJUYVhwbGN5QTlJRnRkTzF4dUlDQjJZWElnWjNKdmRYQkNZWE5sY3lBOUlGdGRPMXh1WEc0Z0lIWmhjaUJ6SUQwZ0p5YzdYRzRnSUhaaGNpQnBJRDBnTFRFN1hHNGdJSGRvYVd4bElDZ3JLMmtnUENCQ1RpNTNiM0prVTJsNlpTa2dlMXh1SUNBZ0lIcGxjbTl6VzJsZElEMGdjenRjYmlBZ0lDQnpJQ3M5SUNjd0p6dGNiaUFnZlZ4dUlDQm5jbTkxY0ZOcGVtVnpXekJkSUQwZ01EdGNiaUFnWjNKdmRYQlRhWHBsYzFzeFhTQTlJREE3WEc0Z0lHZHliM1Z3UW1GelpYTmJNRjBnUFNBd08xeHVJQ0JuY205MWNFSmhjMlZ6V3pGZElEMGdNRHRjYmlBZ2RtRnlJR0poYzJVZ1BTQXlJQzBnTVR0Y2JpQWdkMmhwYkdVZ0tDc3JZbUZ6WlNBOElETTJJQ3NnTVNrZ2UxeHVJQ0FnSUhaaGNpQm5jbTkxY0ZOcGVtVWdQU0F3TzF4dUlDQWdJSFpoY2lCbmNtOTFjRUpoYzJVZ1BTQXhPMXh1SUNBZ0lIZG9hV3hsSUNobmNtOTFjRUpoYzJVZ1BDQW9NU0E4UENCQ1RpNTNiM0prVTJsNlpTa2dMeUJpWVhObEtTQjdYRzRnSUNBZ0lDQm5jbTkxY0VKaGMyVWdLajBnWW1GelpUdGNiaUFnSUNBZ0lHZHliM1Z3VTJsNlpTQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ0lDQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZElEMGdaM0p2ZFhCVGFYcGxPMXh1SUNBZ0lHZHliM1Z3UW1GelpYTmJZbUZ6WlYwZ1BTQm5jbTkxY0VKaGMyVTdYRzRnSUgxY2JseHVJQ0FxTDF4dVhHNGdJSFpoY2lCNlpYSnZjeUE5SUZ0Y2JpQWdJQ0FuSnl4Y2JpQWdJQ0FuTUNjc1hHNGdJQ0FnSnpBd0p5eGNiaUFnSUNBbk1EQXdKeXhjYmlBZ0lDQW5NREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3Snl4Y2JpQWdJQ0FuTURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdKeXhjYmlBZ0lDQW5NREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNkY2JpQWdYVHRjYmx4dUlDQjJZWElnWjNKdmRYQlRhWHBsY3lBOUlGdGNiaUFnSUNBd0xDQXdMRnh1SUNBZ0lESTFMQ0F4Tml3Z01USXNJREV4TENBeE1Dd2dPU3dnT0N4Y2JpQWdJQ0E0TENBM0xDQTNMQ0EzTENBM0xDQTJMQ0EyTEZ4dUlDQWdJRFlzSURZc0lEWXNJRFlzSURZc0lEVXNJRFVzWEc0Z0lDQWdOU3dnTlN3Z05Td2dOU3dnTlN3Z05Td2dOU3hjYmlBZ0lDQTFMQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFYRzRnSUYwN1hHNWNiaUFnZG1GeUlHZHliM1Z3UW1GelpYTWdQU0JiWEc0Z0lDQWdNQ3dnTUN4Y2JpQWdJQ0F6TXpVMU5EUXpNaXdnTkRNd05EWTNNakVzSURFMk56YzNNakUyTENBME9EZ3lPREV5TlN3Z05qQTBOall4TnpZc0lEUXdNelV6TmpBM0xDQXhOamMzTnpJeE5peGNiaUFnSUNBME16QTBOamN5TVN3Z01UQXdNREF3TURBc0lERTVORGczTVRjeExDQXpOVGd6TVRnd09Dd2dOakkzTkRnMU1UY3NJRGMxTWprMU16WXNJREV4TXprd05qSTFMRnh1SUNBZ0lERTJOemMzTWpFMkxDQXlOREV6TnpVMk9Td2dNelF3TVRJeU1qUXNJRFEzTURRMU9EZ3hMQ0EyTkRBd01EQXdNQ3dnTkRBNE5ERXdNU3dnTlRFMU16WXpNaXhjYmlBZ0lDQTJORE0yTXpRekxDQTNPVFl5TmpJMExDQTVOelkxTmpJMUxDQXhNVGc0TVRNM05pd2dNVFF6TkRnNU1EY3NJREUzTWpFd016WTRMQ0F5TURVeE1URTBPU3hjYmlBZ0lDQXlORE13TURBd01Dd2dNamcyTWpreE5URXNJRE16TlRVME5ETXlMQ0F6T1RFek5UTTVNeXdnTkRVME16VTBNalFzSURVeU5USXhPRGMxTENBMk1EUTJOakUzTmx4dUlDQmRPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjFOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUhSdlUzUnlhVzVuSUNoaVlYTmxMQ0J3WVdSa2FXNW5LU0I3WEc0Z0lDQWdZbUZ6WlNBOUlHSmhjMlVnZkh3Z01UQTdYRzRnSUNBZ2NHRmtaR2x1WnlBOUlIQmhaR1JwYm1jZ2ZDQXdJSHg4SURFN1hHNWNiaUFnSUNCMllYSWdiM1YwTzF4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pQjhmQ0JpWVhObElEMDlQU0FuYUdWNEp5a2dlMXh1SUNBZ0lDQWdiM1YwSUQwZ0p5YzdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnSUNCMllYSWdkMjl5WkNBOUlDZ29LSGNnUER3Z2IyWm1LU0I4SUdOaGNuSjVLU0FtSURCNFptWm1abVptS1M1MGIxTjBjbWx1WnlneE5pazdYRzRnSUNBZ0lDQWdJR05oY25KNUlEMGdLSGNnUGo0K0lDZ3lOQ0F0SUc5bVppa3BJQ1lnTUhobVptWm1abVk3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ0I4ZkNCcElDRTlQU0IwYUdsekxteGxibWQwYUNBdElERXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxczJJQzBnZDI5eVpDNXNaVzVuZEdoZElDc2dkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0IzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lHOW1aaUFyUFNBeU8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdrdExUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlHTmhjbko1TG5SdlUzUnlhVzVuS0RFMktTQXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWVhObElEMDlQU0FvWW1GelpTQjhJREFwSUNZbUlHSmhjMlVnUGowZ01pQW1KaUJpWVhObElEdzlJRE0yS1NCN1hHNGdJQ0FnSUNBdkx5QjJZWElnWjNKdmRYQlRhWHBsSUQwZ1RXRjBhQzVtYkc5dmNpaENUaTUzYjNKa1UybDZaU0FxSUUxaGRHZ3VURTR5SUM4Z1RXRjBhQzVzYjJjb1ltRnpaU2twTzF4dUlDQWdJQ0FnZG1GeUlHZHliM1Z3VTJsNlpTQTlJR2R5YjNWd1UybDZaWE5iWW1GelpWMDdYRzRnSUNBZ0lDQXZMeUIyWVhJZ1ozSnZkWEJDWVhObElEMGdUV0YwYUM1d2IzY29ZbUZ6WlN3Z1ozSnZkWEJUYVhwbEtUdGNiaUFnSUNBZ0lIWmhjaUJuY205MWNFSmhjMlVnUFNCbmNtOTFjRUpoYzJWelcySmhjMlZkTzF4dUlDQWdJQ0FnYjNWMElEMGdKeWM3WEc0Z0lDQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0FnSUdNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tDRmpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlJRDBnWXk1dGIyUnVLR2R5YjNWd1FtRnpaU2t1ZEc5VGRISnBibWNvWW1GelpTazdYRzRnSUNBZ0lDQWdJR01nUFNCakxtbGthWFp1S0dkeWIzVndRbUZ6WlNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGakxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYlozSnZkWEJUYVhwbElDMGdjaTVzWlc1bmRHaGRJQ3NnY2lBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0J5SUNzZ2IzVjBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVwYzFwbGNtOG9LU2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCaGMzTmxjblFvWm1Gc2MyVXNJQ2RDWVhObElITm9iM1ZzWkNCaVpTQmlaWFIzWldWdUlESWdZVzVrSURNMkp5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZUblZ0WW1WeUlEMGdablZ1WTNScGIyNGdkRzlPZFcxaVpYSWdLQ2tnZTF4dUlDQWdJSFpoY2lCeVpYUWdQU0IwYUdsekxuZHZjbVJ6V3pCZE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01pa2dlMXh1SUNBZ0lDQWdjbVYwSUNzOUlIUm9hWE11ZDI5eVpITmJNVjBnS2lBd2VEUXdNREF3TURBN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTXlBbUppQjBhR2x6TG5kdmNtUnpXekpkSUQwOVBTQXdlREF4S1NCN1hHNGdJQ0FnSUNBdkx5Qk9UMVJGT2lCaGRDQjBhR2x6SUhOMFlXZGxJR2wwSUdseklHdHViM2R1SUhSb1lYUWdkR2hsSUhSdmNDQmlhWFFnYVhNZ2MyVjBYRzRnSUNBZ0lDQnlaWFFnS3owZ01IZ3hNREF3TURBd01EQXdNREF3TUNBcklDaDBhR2x6TG5kdmNtUnpXekZkSUNvZ01IZzBNREF3TURBd0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnTWlrZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0daaGJITmxMQ0FuVG5WdFltVnlJR05oYmlCdmJteDVJSE5oWm1Wc2VTQnpkRzl5WlNCMWNDQjBieUExTXlCaWFYUnpKeWs3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dQeUF0Y21WMElEb2djbVYwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBwVFQwNGdQU0JtZFc1amRHbHZiaUIwYjBwVFQwNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5SdlUzUnlhVzVuS0RFMktUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRHOUNkV1ptWlhJZ1BTQm1kVzVqZEdsdmJpQjBiMEoxWm1abGNpQW9aVzVrYVdGdUxDQnNaVzVuZEdncElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRUoxWm1abGNpQWhQVDBnSjNWdVpHVm1hVzVsWkNjcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZRWEp5WVhsTWFXdGxLRUoxWm1abGNpd2daVzVrYVdGdUxDQnNaVzVuZEdncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwRnljbUY1SUQwZ1puVnVZM1JwYjI0Z2RHOUJjbkpoZVNBb1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaEJjbkpoZVN3Z1pXNWthV0Z1TENCc1pXNW5kR2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwYjBGeWNtRjVUR2xyWlNBOUlHWjFibU4wYVc5dUlIUnZRWEp5WVhsTWFXdGxJQ2hCY25KaGVWUjVjR1VzSUdWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdkbUZ5SUdKNWRHVk1aVzVuZEdnZ1BTQjBhR2x6TG1KNWRHVk1aVzVuZEdnb0tUdGNiaUFnSUNCMllYSWdjbVZ4VEdWdVozUm9JRDBnYkdWdVozUm9JSHg4SUUxaGRHZ3ViV0Y0S0RFc0lHSjVkR1ZNWlc1bmRHZ3BPMXh1SUNBZ0lHRnpjMlZ5ZENoaWVYUmxUR1Z1WjNSb0lEdzlJSEpsY1V4bGJtZDBhQ3dnSjJKNWRHVWdZWEp5WVhrZ2JHOXVaMlZ5SUhSb1lXNGdaR1Z6YVhKbFpDQnNaVzVuZEdnbktUdGNiaUFnSUNCaGMzTmxjblFvY21WeFRHVnVaM1JvSUQ0Z01Dd2dKMUpsY1hWbGMzUmxaQ0JoY25KaGVTQnNaVzVuZEdnZ1BEMGdNQ2NwTzF4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0FnSUhaaGNpQnNhWFIwYkdWRmJtUnBZVzRnUFNCbGJtUnBZVzRnUFQwOUlDZHNaU2M3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJRzVsZHlCQmNuSmhlVlI1Y0dVb2NtVnhUR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJpTENCcE8xeHVJQ0FnSUhaaGNpQnhJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUdsbUlDZ2hiR2wwZEd4bFJXNWthV0Z1S1NCN1hHNGdJQ0FnSUNBdkx5QkJjM04xYldVZ1ltbG5MV1Z1WkdsaGJseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhKbGNVeGxibWQwYUNBdElHSjVkR1ZNWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lBaGNTNXBjMXBsY204b0tUc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHSWdQU0J4TG1GdVpHeHVLREI0Wm1ZcE8xeHVJQ0FnSUNBZ0lDQnhMbWwxYzJoeWJpZzRLVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTmJjbVZ4VEdWdVozUm9JQzBnYVNBdElERmRJRDBnWWp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelcybGRJRDBnWWp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQnlaWEZNWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnYVdZZ0tFMWhkR2d1WTJ4Nk16SXBJSHRjYmlBZ0lDQkNUaTV3Y205MGIzUjVjR1V1WDJOdmRXNTBRbWwwY3lBOUlHWjFibU4wYVc5dUlGOWpiM1Z1ZEVKcGRITWdLSGNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUF6TWlBdElFMWhkR2d1WTJ4Nk16SW9keWs3WEc0Z0lDQWdmVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgyTnZkVzUwUW1sMGN5QTlJR1oxYm1OMGFXOXVJRjlqYjNWdWRFSnBkSE1nS0hjcElIdGNiaUFnSUNBZ0lIWmhjaUIwSUQwZ2R6dGNiaUFnSUNBZ0lIWmhjaUJ5SUQwZ01EdGNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRNVEF3TUNrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ01UTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlRFF3S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTnp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURjN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VEZ3BJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQTBPMXh1SUNBZ0lDQWdJQ0IwSUQ0K1BqMGdORHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMElENDlJREI0TURJcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBeU8xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ01qdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lISmxkSFZ5YmlCeUlDc2dkRHRjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOTZaWEp2UW1sMGN5QTlJR1oxYm1OMGFXOXVJRjk2WlhKdlFtbDBjeUFvZHlrZ2UxeHVJQ0FnSUM4dklGTm9iM0owTFdOMWRGeHVJQ0FnSUdsbUlDaDNJRDA5UFNBd0tTQnlaWFIxY200Z01qWTdYRzVjYmlBZ0lDQjJZWElnZENBOUlIYzdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNE1XWm1aaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ01UTTdYRzRnSUNBZ0lDQjBJRDQrUGowZ01UTTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNE4yWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURjN1hHNGdJQ0FnSUNCMElENCtQajBnTnp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0NoMElDWWdNSGhtS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQTBPMXh1SUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDZ29kQ0FtSURCNE15a2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUhRZ1BqNCtQU0F5TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvS0hRZ0ppQXdlREVwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdWRXMWlaWElnYjJZZ2RYTmxaQ0JpYVhSeklHbHVJR0VnUWs1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1KcGRFeGxibWQwYUNBOUlHWjFibU4wYVc5dUlHSnBkRXhsYm1kMGFDQW9LU0I3WEc0Z0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvSUMwZ01WMDdYRzRnSUNBZ2RtRnlJR2hwSUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0hjcE8xeHVJQ0FnSUhKbGRIVnliaUFvZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0FxSURJMklDc2dhR2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2RHOUNhWFJCY25KaGVTQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlIY2dQU0J1WlhjZ1FYSnlZWGtvYm5WdExtSnBkRXhsYm1kMGFDZ3BLVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR0pwZENBOUlEQTdJR0pwZENBOElIY3ViR1Z1WjNSb095QmlhWFFyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlIZGlhWFFnUFNCaWFYUWdKU0F5Tmp0Y2JseHVJQ0FnSUNBZ2QxdGlhWFJkSUQwZ0tHNTFiUzUzYjNKa2MxdHZabVpkSUNZZ0tERWdQRHdnZDJKcGRDa3BJRDQrUGlCM1ltbDBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCM08xeHVJQ0I5WEc1Y2JpQWdMeThnVG5WdFltVnlJRzltSUhSeVlXbHNhVzVuSUhwbGNtOGdZbWwwYzF4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZW1WeWIwSnBkSE1nUFNCbWRXNWpkR2x2YmlCNlpYSnZRbWwwY3lBb0tTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlBd08xeHVYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR0lnUFNCMGFHbHpMbDk2WlhKdlFtbDBjeWgwYUdsekxuZHZjbVJ6VzJsZEtUdGNiaUFnSUNBZ0lISWdLejBnWWp0Y2JpQWdJQ0FnSUdsbUlDaGlJQ0U5UFNBeU5pa2dZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWllWFJsVEdWdVozUm9JRDBnWm5WdVkzUnBiMjRnWW5sMFpVeGxibWQwYUNBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUUxaGRHZ3VZMlZwYkNoMGFHbHpMbUpwZEV4bGJtZDBhQ2dwSUM4Z09DazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZWSGR2Y3lBOUlHWjFibU4wYVc5dUlIUnZWSGR2Y3lBb2QybGtkR2dwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WVdKektDa3VhVzV2ZEc0b2QybGtkR2dwTG1saFpHUnVLREVwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1jbTl0VkhkdmN5QTlJR1oxYm1OMGFXOXVJR1p5YjIxVWQyOXpJQ2gzYVdSMGFDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxuUmxjM1J1S0hkcFpIUm9JQzBnTVNrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTV2ZEc0b2QybGtkR2dwTG1saFpHUnVLREVwTG1sdVpXY29LVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTk9aV2NnUFNCbWRXNWpkR2x2YmlCcGMwNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHNWxaMkYwYVhabElHTnNiMjVsSUc5bUlHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Ym1WbklEMGdablZ1WTNScGIyNGdibVZuSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHVaV2NvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc1bFp5QTlJR1oxYm1OMGFXOXVJR2x1WldjZ0tDa2dlMXh1SUNBZ0lHbG1JQ2doZEdocGN5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNCZVBTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUM4dklFOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkVzl5SUQwZ1puVnVZM1JwYjI0Z2FYVnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFDc3JYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCdWRXMHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJsZElId2diblZ0TG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx2Y2lBOUlHWjFibU4wYVc5dUlHbHZjaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVnZjaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUU5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dmNpQTlJR1oxYm1OMGFXOXVJRzl5SUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdmNpaHVkVzBwTzF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1WTJ4dmJtVW9LUzVwYjNJb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ2Y2lBOUlHWjFibU4wYVc5dUlIVnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwZFc5eUtHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxYjNJb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRVzVrSUdCdWRXMWdJSGRwZEdnZ1lIUm9hWE5nSUdsdUxYQnNZV05sWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwZFdGdVpDQTlJR1oxYm1OMGFXOXVJR2wxWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCaUlEMGdiV2x1TFd4bGJtZDBhQ2h1ZFcwc0lIUm9hWE1wWEc0Z0lDQWdkbUZ5SUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lpQTlJRzUxYlR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JRzUxYlM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHSXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXRnVaQ0E5SUdaMWJtTjBhVzl1SUdsaGJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMVlXNWtLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVc1a0lHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aGJtUWdQU0JtZFc1amRHbHZiaUJoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXRnVaQ2h1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cFlXNWtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MVlXNWtJRDBnWm5WdVkzUnBiMjRnZFdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkV0Z1WkNodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkV0Z1WkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlliM0lnWUc1MWJXQWdkMmwwYUNCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxZUc5eUlEMGdablZ1WTNScGIyNGdhWFY0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lUdGNiaUFnSUNCMllYSWdZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0l1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZElGNGdZaTUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5QWhQVDBnWVNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBlRzl5SUQwZ1puVnVZM1JwYjI0Z2FYaHZjaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVjRiM0lvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCWWIzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuaHZjaUE5SUdaMWJtTjBhVzl1SUhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBlRzl5S0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbDRiM0lvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVjRiM0lnUFNCbWRXNWpkR2x2YmlCMWVHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxZUc5eUtHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxZUc5eUtIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTV2ZENCZ1lIUm9hWE5nWUNCM2FYUm9JR0JnZDJsa2RHaGdZQ0JpYVhSM2FXUjBhRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzV2ZEc0Z1BTQm1kVzVqZEdsdmJpQnBibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlIZHBaSFJvSUQwOVBTQW5iblZ0WW1WeUp5QW1KaUIzYVdSMGFDQStQU0F3S1R0Y2JseHVJQ0FnSUhaaGNpQmllWFJsYzA1bFpXUmxaQ0E5SUUxaGRHZ3VZMlZwYkNoM2FXUjBhQ0F2SURJMktTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKcGRITk1aV1owSUQwZ2QybGtkR2dnSlNBeU5qdGNibHh1SUNBZ0lDOHZJRVY0ZEdWdVpDQjBhR1VnWW5WbVptVnlJSGRwZEdnZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjBhR2x6TGw5bGVIQmhibVFvWW5sMFpYTk9aV1ZrWldRcE8xeHVYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lubDBaWE5PWldWa1pXUXRMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdZMjl0Y0d4bGRHVWdkMjl5WkhOY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdKNWRHVnpUbVZsWkdWa095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IrZEdocGN5NTNiM0prYzF0cFhTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdkR2hsSUhKbGMybGtkV1ZjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2ZuUm9hWE11ZDI5eVpITmJhVjBnSmlBb01IZ3pabVptWm1abUlENCtJQ2d5TmlBdElHSnBkSE5NWldaMEtTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRVzVrSUhKbGJXOTJaU0JzWldGa2FXNW5JSHBsY205bGMxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG01dmRHNGdQU0JtZFc1amRHbHZiaUJ1YjNSdUlDaDNhV1IwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXNXZkRzRvZDJsa2RHZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklGTmxkQ0JnWW1sMFlDQnZaaUJnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTmxkRzRnUFNCbWRXNWpkR2x2YmlCelpYUnVJQ2hpYVhRc0lIWmhiQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQmlhWFFnUGowZ01DazdYRzVjYmlBZ0lDQjJZWElnYjJabUlEMGdLR0pwZENBdklESTJLU0I4SURBN1hHNGdJQ0FnZG1GeUlIZGlhWFFnUFNCaWFYUWdKU0F5Tmp0Y2JseHVJQ0FnSUhSb2FYTXVYMlY0Y0dGdVpDaHZabVlnS3lBeEtUdGNibHh1SUNBZ0lHbG1JQ2gyWVd3cElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJiMlptWFNBOUlIUm9hWE11ZDI5eVpITmJiMlptWFNCOElDZ3hJRHc4SUhkaWFYUXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnSmlCK0tERWdQRHdnZDJKcGRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdZRzUxYldBZ2RHOGdZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFlXUmtJRDBnWm5WdVkzUnBiMjRnYVdGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISTdYRzVjYmlBZ0lDQXZMeUJ1WldkaGRHbDJaU0FySUhCdmMybDBhWFpsWEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSElnUFNCMGFHbHpMbWx6ZFdJb2JuVnRLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1hqMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5dWIzSnRVMmxuYmlncE8xeHVYRzRnSUNBZ0x5OGdjRzl6YVhScGRtVWdLeUJ1WldkaGRHbDJaVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeUlEMGdkR2hwY3k1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEl1WDI1dmNtMVRhV2R1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1lTNXNaVzVuZEdnZ1BpQmlMbXhsYm1kMGFGeHVJQ0FnSUhaaGNpQmhMQ0JpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklDaGlMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc0Z0lDQWdabTl5SUNnN0lHTmhjbko1SUNFOVBTQXdJQ1ltSUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCeUlEMGdLR0V1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZUzVzWlc1bmRHZzdYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9YU0E5SUdOaGNuSjVPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0F2THlCRGIzQjVJSFJvWlNCeVpYTjBJRzltSUhSb1pTQjNiM0prYzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVGa1pDQmdiblZ0WUNCMGJ5QmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1Ga1pDQTlJR1oxYm1OMGFXOXVJR0ZrWkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCcFppQW9iblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUhSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTjFZaWh1ZFcwcE8xeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRjQ5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JuVnRMbTVsWjJGMGFYWmxJRDA5UFNBd0lDWW1JSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdiblZ0TG5OMVlpaDBhR2x6S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhaR1FvYm5WdEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBZV1JrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTjFZblJ5WVdOMElHQnVkVzFnSUdaeWIyMGdZSFJvYVhOZ0lHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMzVmlJRDBnWm5WdVkzUnBiMjRnYVhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z2RHaHBjeUF0SUNndGJuVnRLU0E5SUhSb2FYTWdLeUJ1ZFcxY2JpQWdJQ0JwWmlBb2JuVnRMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ2RtRnlJSElnUFNCMGFHbHpMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2NpNWZibTl5YlZOcFoyNG9LVHRjYmx4dUlDQWdJQzh2SUMxMGFHbHpJQzBnYm5WdElEMGdMU2gwYUdseklDc2diblZ0S1Z4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDI1dmNtMVRhV2R1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FYUWdkR2hwY3lCd2IybHVkQ0JpYjNSb0lHNTFiV0psY25NZ1lYSmxJSEJ2YzJsMGFYWmxYRzRnSUNBZ2RtRnlJR050Y0NBOUlIUm9hWE11WTIxd0tHNTFiU2s3WEc1Y2JpQWdJQ0F2THlCUGNIUnBiV2w2WVhScGIyNGdMU0I2WlhKdmFXWjVYRzRnSUNBZ2FXWWdLR050Y0NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR0VnUGlCaVhHNGdJQ0FnZG1GeUlHRXNJR0k3WEc0Z0lDQWdhV1lnS0dOdGNDQStJREFwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaUxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElDaGlMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BpQXlOanRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQm1iM0lnS0RzZ1kyRnljbmtnSVQwOUlEQWdKaVlnYVNBOElHRXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhJZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCRGIzQjVJSEpsYzNRZ2IyWWdkR2hsSUhkdmNtUnpYRzRnSUNBZ2FXWWdLR05oY25KNUlEMDlQU0F3SUNZbUlHa2dQQ0JoTG14bGJtZDBhQ0FtSmlCaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JOWVhSb0xtMWhlQ2gwYUdsekxteGxibWQwYUN3Z2FTazdYRzVjYmlBZ0lDQnBaaUFvWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUZFdKMGNtRmpkQ0JnYm5WdFlDQm1jbTl0SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM1ZpSUQwZ1puVnVZM1JwYjI0Z2MzVmlJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHpkV0lvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ6YldGc2JFMTFiRlJ2SUNoelpXeG1MQ0J1ZFcwc0lHOTFkQ2tnZTF4dUlDQWdJRzkxZEM1dVpXZGhkR2wyWlNBOUlHNTFiUzV1WldkaGRHbDJaU0JlSUhObGJHWXVibVZuWVhScGRtVTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlDaHpaV3htTG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdncElId2dNRHRjYmlBZ0lDQnZkWFF1YkdWdVozUm9JRDBnYkdWdU8xeHVJQ0FnSUd4bGJpQTlJQ2hzWlc0Z0xTQXhLU0I4SURBN1hHNWNiaUFnSUNBdkx5QlFaV1ZzSUc5dVpTQnBkR1Z5WVhScGIyNGdLR052YlhCcGJHVnlJR05oYmlkMElHUnZJR2wwTENCaVpXTmhkWE5sSUc5bUlHTnZaR1VnWTI5dGNHeGxlR2wwZVNsY2JpQWdJQ0IyWVhJZ1lTQTlJSE5sYkdZdWQyOXlaSE5iTUYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21Seld6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2NpQTlJR0VnS2lCaU8xeHVYRzRnSUNBZ2RtRnlJR3h2SUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0FvY2lBdklEQjROREF3TURBd01Da2dmQ0F3TzF4dUlDQWdJRzkxZEM1M2IzSmtjMXN3WFNBOUlHeHZPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURFN0lHc2dQQ0JzWlc0N0lHc3JLeWtnZTF4dUlDQWdJQ0FnTHk4Z1UzVnRJR0ZzYkNCM2IzSmtjeUIzYVhSb0lIUm9aU0J6WVcxbElHQnBJQ3NnYWlBOUlHdGdJR0Z1WkNCaFkyTjFiWFZzWVhSbElHQnVZMkZ5Y25sZ0xGeHVJQ0FnSUNBZ0x5OGdibTkwWlNCMGFHRjBJRzVqWVhKeWVTQmpiM1ZzWkNCaVpTQStQU0F3ZURObVptWm1abVpjYmlBZ0lDQWdJSFpoY2lCdVkyRnljbmtnUFNCallYSnllU0ErUGo0Z01qWTdYRzRnSUNBZ0lDQjJZWElnY25kdmNtUWdQU0JqWVhKeWVTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJSFpoY2lCdFlYaEtJRDBnVFdGMGFDNXRhVzRvYXl3Z2JuVnRMbXhsYm1kMGFDQXRJREVwTzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlFMWhkR2d1YldGNEtEQXNJR3NnTFNCelpXeG1MbXhsYm1kMGFDQXJJREVwT3lCcUlEdzlJRzFoZUVvN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNCMllYSWdhU0E5SUNocklDMGdhaWtnZkNBd08xeHVJQ0FnSUNBZ0lDQmhJRDBnYzJWc1ppNTNiM0prYzF0cFhTQjhJREE3WEc0Z0lDQWdJQ0FnSUdJZ1BTQnVkVzB1ZDI5eVpITmJhbDBnZkNBd08xeHVJQ0FnSUNBZ0lDQnlJRDBnWVNBcUlHSWdLeUJ5ZDI5eVpEdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlDczlJQ2h5SUM4Z01IZzBNREF3TURBd0tTQjhJREE3WEc0Z0lDQWdJQ0FnSUhKM2IzSmtJRDBnY2lBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHOTFkQzUzYjNKa2MxdHJYU0E5SUhKM2IzSmtJSHdnTUR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnYm1OaGNuSjVJSHdnTUR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllU0I4SURBN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzkxZEM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiM1YwTG5OMGNtbHdLQ2s3WEc0Z0lIMWNibHh1SUNBdkx5QlVUMFJQS0dsdVpIVjBibmtwT2lCcGRDQnRZWGtnWW1VZ2NtVmhjMjl1WVdKc1pTQjBieUJ2YldsMElHbDBJR1p2Y2lCMWMyVnljeUIzYUc4Z1pHOXVKM1FnYm1WbFpGeHVJQ0F2THlCMGJ5QjNiM0pySUhkcGRHZ2dNalUyTFdKcGRDQnVkVzFpWlhKekxDQnZkR2hsY25kcGMyVWdhWFFnWjJsMlpYTWdNakFsSUdsdGNISnZkbVZ0Wlc1MElHWnZjaUF5TlRZdFltbDBYRzRnSUM4dklHMTFiSFJwY0d4cFkyRjBhVzl1SUNoc2FXdGxJR1ZzYkdsd2RHbGpJSE5sWTNBeU5UWnJNU2t1WEc0Z0lIWmhjaUJqYjIxaU1UQk5kV3hVYnlBOUlHWjFibU4wYVc5dUlHTnZiV0l4TUUxMWJGUnZJQ2h6Wld4bUxDQnVkVzBzSUc5MWRDa2dlMXh1SUNBZ0lIWmhjaUJoSUQwZ2MyVnNaaTUzYjNKa2N6dGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prY3p0Y2JpQWdJQ0IyWVhJZ2J5QTlJRzkxZEM1M2IzSmtjenRjYmlBZ0lDQjJZWElnWXlBOUlEQTdYRzRnSUNBZ2RtRnlJR3h2TzF4dUlDQWdJSFpoY2lCdGFXUTdYRzRnSUNBZ2RtRnlJR2hwTzF4dUlDQWdJSFpoY2lCaE1DQTlJR0ZiTUYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRBZ1BTQmhNQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnd0lEMGdZVEFnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTVNBOUlHRmJNVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiREVnUFNCaE1TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2d4SUQwZ1lURWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhNaUE5SUdGYk1sMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJESWdQU0JoTWlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZ3lJRDBnWVRJZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE15QTlJR0ZiTTEwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRNZ1BTQmhNeUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdneklEMGdZVE1nUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTkNBOUlHRmJORjBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRFFnUFNCaE5DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2cwSUQwZ1lUUWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhOU0E5SUdGYk5WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEVWdQU0JoTlNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzFJRDBnWVRVZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE5pQTlJR0ZiTmwwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRZZ1BTQmhOaUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnMklEMGdZVFlnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJoTnlBOUlHRmJOMTBnZkNBd08xeHVJQ0FnSUhaaGNpQmhiRGNnUFNCaE55QW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZV2czSUQwZ1lUY2dQajQrSURFek8xeHVJQ0FnSUhaaGNpQmhPQ0E5SUdGYk9GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaGJEZ2dQU0JoT0NBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1lXZzRJRDBnWVRnZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaE9TQTlJR0ZiT1YwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJoYkRrZ1BTQmhPU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWVdnNUlEMGdZVGtnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTUNBOUlHSmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliREFnUFNCaU1DQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWd3SUQwZ1lqQWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlNU0E5SUdKYk1WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJERWdQU0JpTVNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZ3hJRDBnWWpFZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU1pQTlJR0piTWwwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRJZ1BTQmlNaUFtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1neUlEMGdZaklnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTXlBOUlHSmJNMTBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRE1nUFNCaU15QW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWd6SUQwZ1lqTWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlOQ0E5SUdKYk5GMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEUWdQU0JpTkNBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzBJRDBnWWpRZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU5TQTlJR0piTlYwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRVZ1BTQmlOU0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nMUlEMGdZalVnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpTmlBOUlHSmJObDBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRFlnUFNCaU5pQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWcySUQwZ1lqWWdQajQrSURFek8xeHVJQ0FnSUhaaGNpQmlOeUE5SUdKYk4xMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWJEY2dQU0JpTnlBbUlEQjRNV1ptWmp0Y2JpQWdJQ0IyWVhJZ1ltZzNJRDBnWWpjZ1BqNCtJREV6TzF4dUlDQWdJSFpoY2lCaU9DQTlJR0piT0YwZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYkRnZ1BTQmlPQ0FtSURCNE1XWm1aanRjYmlBZ0lDQjJZWElnWW1nNElEMGdZamdnUGo0K0lERXpPMXh1SUNBZ0lIWmhjaUJpT1NBOUlHSmJPVjBnZkNBd08xeHVJQ0FnSUhaaGNpQmliRGtnUFNCaU9TQW1JREI0TVdabVpqdGNiaUFnSUNCMllYSWdZbWc1SUQwZ1lqa2dQajQrSURFek8xeHVYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnYzJWc1ppNXVaV2RoZEdsMlpTQmVJRzUxYlM1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ01UazdYRzRnSUNBZ0x5b2dheUE5SURBZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3dLVHRjYmlBZ0lDQjJZWElnZHpBZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjd0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCMllYSWdkeklnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN5SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01pQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlETWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCMllYSWdkek1nUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN6SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM015QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlEUWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzTUNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3dLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd3S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWd3S1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMwSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTkNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6UWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpVZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRFlnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6WWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIYzJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTmlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURjZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMzSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTnlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6Y2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6Z2dQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIYzRJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzT0NBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURrZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNQ2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1nd0tUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3dLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3dLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHprZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjNUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNPU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREV3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJERXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTVNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01TazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCMllYSWdkekV3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRBZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hNQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJREV4SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJESXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTWlrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01pazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVEVnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TVNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RXhJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVElnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc015azdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWd6S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nektUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRE1zSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXlJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVElnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1pQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXpJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRRcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTkNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFeklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UTWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TXlBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRFVwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb05TazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OU2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVFFnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TkNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTBJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVFVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc05pazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWcyS1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nMktUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFMUlEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM01UVWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN4TlNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0x5b2dheUE5SURFMklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmliRGNwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKb055azdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURrc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURrc0lHSm9OeWs3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTJJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFlnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5pQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTNJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRncE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT0NrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVGNnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TnlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTNJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVGdnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc09TazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWc1S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nNUtUdGNiaUFnSUNCMllYSWdkekU0SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTVRnZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3hPQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnYjFzd1hTQTlJSGN3TzF4dUlDQWdJRzliTVYwZ1BTQjNNVHRjYmlBZ0lDQnZXekpkSUQwZ2R6STdYRzRnSUNBZ2Ixc3pYU0E5SUhjek8xeHVJQ0FnSUc5Yk5GMGdQU0IzTkR0Y2JpQWdJQ0J2V3pWZElEMGdkelU3WEc0Z0lDQWdiMXMyWFNBOUlIYzJPMXh1SUNBZ0lHOWJOMTBnUFNCM056dGNiaUFnSUNCdld6aGRJRDBnZHpnN1hHNGdJQ0FnYjFzNVhTQTlJSGM1TzF4dUlDQWdJRzliTVRCZElEMGdkekV3TzF4dUlDQWdJRzliTVRGZElEMGdkekV4TzF4dUlDQWdJRzliTVRKZElEMGdkekV5TzF4dUlDQWdJRzliTVROZElEMGdkekV6TzF4dUlDQWdJRzliTVRSZElEMGdkekUwTzF4dUlDQWdJRzliTVRWZElEMGdkekUxTzF4dUlDQWdJRzliTVRaZElEMGdkekUyTzF4dUlDQWdJRzliTVRkZElEMGdkekUzTzF4dUlDQWdJRzliTVRoZElEMGdkekU0TzF4dUlDQWdJR2xtSUNoaklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdld6RTVYU0E5SUdNN1hHNGdJQ0FnSUNCdmRYUXViR1Z1WjNSb0t5czdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUc5c2VXWnBiR3dnWTI5dFlseHVJQ0JwWmlBb0lVMWhkR2d1YVcxMWJDa2dlMXh1SUNBZ0lHTnZiV0l4TUUxMWJGUnZJRDBnYzIxaGJHeE5kV3hVYnp0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHSnBaMDExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJRzUxYlM1dVpXZGhkR2wyWlNCZUlITmxiR1l1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SUhObGJHWXViR1Z1WjNSb0lDc2diblZ0TG14bGJtZDBhRHRjYmx4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnZG1GeUlHaHVZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F3T3lCcklEd2diM1YwTG14bGJtZDBhQ0F0SURFN0lHc3JLeWtnZTF4dUlDQWdJQ0FnTHk4Z1UzVnRJR0ZzYkNCM2IzSmtjeUIzYVhSb0lIUm9aU0J6WVcxbElHQnBJQ3NnYWlBOUlHdGdJR0Z1WkNCaFkyTjFiWFZzWVhSbElHQnVZMkZ5Y25sZ0xGeHVJQ0FnSUNBZ0x5OGdibTkwWlNCMGFHRjBJRzVqWVhKeWVTQmpiM1ZzWkNCaVpTQStQU0F3ZURObVptWm1abVpjYmlBZ0lDQWdJSFpoY2lCdVkyRnljbmtnUFNCb2JtTmhjbko1TzF4dUlDQWdJQ0FnYUc1allYSnllU0E5SURBN1hHNGdJQ0FnSUNCMllYSWdjbmR2Y21RZ1BTQmpZWEp5ZVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIWmhjaUJ0WVhoS0lEMGdUV0YwYUM1dGFXNG9heXdnYm5WdExteGxibWQwYUNBdElERXBPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUUxaGRHZ3ViV0Y0S0RBc0lHc2dMU0J6Wld4bUxteGxibWQwYUNBcklERXBPeUJxSUR3OUlHMWhlRW83SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FTQTlJR3NnTFNCcU8xeHVJQ0FnSUNBZ0lDQjJZWElnWVNBOUlITmxiR1l1ZDI5eVpITmJhVjBnZkNBd08xeHVJQ0FnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHFYU0I4SURBN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ5SUQwZ1lTQXFJR0k3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJR3h2SUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQ0FnYm1OaGNuSjVJRDBnS0c1allYSnllU0FySUNnb2NpQXZJREI0TkRBd01EQXdNQ2tnZkNBd0tTa2dmQ0F3TzF4dUlDQWdJQ0FnSUNCc2J5QTlJQ2hzYnlBcklISjNiM0prS1NCOElEQTdYRzRnSUNBZ0lDQWdJSEozYjNKa0lEMGdiRzhnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBOUlDaHVZMkZ5Y25rZ0t5QW9iRzhnUGo0K0lESTJLU2tnZkNBd08xeHVYRzRnSUNBZ0lDQWdJR2h1WTJGeWNua2dLejBnYm1OaGNuSjVJRDQrUGlBeU5qdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlISjNiM0prTzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J1WTJGeWNuazdYRzRnSUNBZ0lDQnVZMkZ5Y25rZ1BTQm9ibU5oY25KNU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlHTmhjbko1TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYW5WdFltOU5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0IyWVhJZ1ptWjBiU0E5SUc1bGR5QkdSbFJOS0NrN1hHNGdJQ0FnY21WMGRYSnVJR1ptZEcwdWJYVnNjQ2h6Wld4bUxDQnVkVzBzSUc5MWRDazdYRzRnSUgxY2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJYVnNWRzhnUFNCbWRXNWpkR2x2YmlCdGRXeFVieUFvYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQjBhR2x6TG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdnN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeE1DQW1KaUJ1ZFcwdWJHVnVaM1JvSUQwOVBTQXhNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdZMjl0WWpFd1RYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iR1Z1SUR3Z05qTXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlITnRZV3hzVFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JHVnVJRHdnTVRBeU5Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ1ltbG5UWFZzVkc4b2RHaHBjeXdnYm5WdExDQnZkWFFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCcWRXMWliMDExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YjJ4bGVTMVVkV3RsZVNCaGJHZHZjbWwwYUcwZ1ptOXlJRVpHVkZ4dUlDQXZMeUJ6YkdsbmFIUnNlU0J5WlhacGMybDBaV1FnZEc4Z2NtVnNlU0J2YmlCc2IyOXdhVzVuSUdsdWMzUmxZV1FnYjJZZ2NtVmpkWEp6YVc5dVhHNWNiaUFnWm5WdVkzUnBiMjRnUmtaVVRTQW9lQ3dnZVNrZ2UxeHVJQ0FnSUhSb2FYTXVlQ0E5SUhnN1hHNGdJQ0FnZEdocGN5NTVJRDBnZVR0Y2JpQWdmVnh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG0xaGEyVlNRbFFnUFNCbWRXNWpkR2x2YmlCdFlXdGxVa0pVSUNoT0tTQjdYRzRnSUNBZ2RtRnlJSFFnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJR3dnUFNCQ1RpNXdjbTkwYjNSNWNHVXVYMk52ZFc1MFFtbDBjeWhPS1NBdElERTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUmJhVjBnUFNCMGFHbHpMbkpsZGtKcGJpaHBMQ0JzTENCT0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZER0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNXpJR0pwYm1GeWVTMXlaWFpsY25ObFpDQnlaWEJ5WlhObGJuUmhkR2x2YmlCdlppQmdlR0JjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1Y21WMlFtbHVJRDBnWm5WdVkzUnBiMjRnY21WMlFtbHVJQ2g0TENCc0xDQk9LU0I3WEc0Z0lDQWdhV1lnS0hnZ1BUMDlJREFnZkh3Z2VDQTlQVDBnVGlBdElERXBJSEpsZEhWeWJpQjRPMXh1WEc0Z0lDQWdkbUZ5SUhKaUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjbUlnZkQwZ0tIZ2dKaUF4S1NBOFBDQW9iQ0F0SUdrZ0xTQXhLVHRjYmlBZ0lDQWdJSGdnUGo0OUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKaU8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZCbGNtWnZjbTF6SUZ3aWRIZGxaV1JzYVc1blhDSWdjR2hoYzJVc0lIUm9aWEpsWm05eVpTQW5aVzExYkdGMGFXNW5KMXh1SUNBdkx5QmlaV2hoZG1sdmRYSWdiMllnZEdobElISmxZM1Z5YzJsMlpTQmhiR2R2Y21sMGFHMWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXVjR1Z5YlhWMFpTQTlJR1oxYm1OMGFXOXVJSEJsY20xMWRHVWdLSEppZEN3Z2NuZHpMQ0JwZDNNc0lISjBkM01zSUdsMGQzTXNJRTRwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnY25SM2MxdHBYU0E5SUhKM2MxdHlZblJiYVYxZE8xeHVJQ0FnSUNBZ2FYUjNjMXRwWFNBOUlHbDNjMXR5WW5SYmFWMWRPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JHUmxSTkxuQnliM1J2ZEhsd1pTNTBjbUZ1YzJadmNtMGdQU0JtZFc1amRHbHZiaUIwY21GdWMyWnZjbTBnS0hKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9MQ0J5WW5RcElIdGNiaUFnSUNCMGFHbHpMbkJsY20xMWRHVW9jbUowTENCeWQzTXNJR2wzY3l3Z2NuUjNjeXdnYVhSM2N5d2dUaWs3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJ6SUQwZ01Uc2djeUE4SUU0N0lITWdQRHc5SURFcElIdGNiaUFnSUNBZ0lIWmhjaUJzSUQwZ2N5QThQQ0F4TzF4dVhHNGdJQ0FnSUNCMllYSWdjblIzWkdZZ1BTQk5ZWFJvTG1OdmN5Z3lJQ29nVFdGMGFDNVFTU0F2SUd3cE8xeHVJQ0FnSUNBZ2RtRnlJR2wwZDJSbUlEMGdUV0YwYUM1emFXNG9NaUFxSUUxaGRHZ3VVRWtnTHlCc0tUdGNibHh1SUNBZ0lDQWdabTl5SUNoMllYSWdjQ0E5SURBN0lIQWdQQ0JPT3lCd0lDczlJR3dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEowZDJSbVh5QTlJSEowZDJSbU8xeHVJQ0FnSUNBZ0lDQjJZWElnYVhSM1pHWmZJRDBnYVhSM1pHWTdYRzVjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENCek95QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY21VZ1BTQnlkSGR6VzNBZ0t5QnFYVHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdhV1VnUFNCcGRIZHpXM0FnS3lCcVhUdGNibHh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnlieUE5SUhKMGQzTmJjQ0FySUdvZ0t5QnpYVHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdhVzhnUFNCcGRIZHpXM0FnS3lCcUlDc2djMTA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY25nZ1BTQnlkSGRrWmw4Z0tpQnlieUF0SUdsMGQyUm1YeUFxSUdsdk8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVc4Z1BTQnlkSGRrWmw4Z0tpQnBieUFySUdsMGQyUm1YeUFxSUhKdk8xeHVJQ0FnSUNBZ0lDQWdJSEp2SUQwZ2NuZzdYRzVjYmlBZ0lDQWdJQ0FnSUNCeWRIZHpXM0FnS3lCcVhTQTlJSEpsSUNzZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWwwZ1BTQnBaU0FySUdsdk8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWlBcklITmRJRDBnY21VZ0xTQnlienRjYmlBZ0lDQWdJQ0FnSUNCcGRIZHpXM0FnS3lCcUlDc2djMTBnUFNCcFpTQXRJR2x2TzF4dVhHNGdJQ0FnSUNBZ0lDQWdMeW9nYW5Ob2FXNTBJRzFoZUdSbGNIUm9JRG9nWm1Gc2MyVWdLaTljYmlBZ0lDQWdJQ0FnSUNCcFppQW9haUFoUFQwZ2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NuZ2dQU0J5ZEhka1ppQXFJSEowZDJSbVh5QXRJR2wwZDJSbUlDb2dhWFIzWkdaZk8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcGRIZGtabDhnUFNCeWRIZGtaaUFxSUdsMGQyUm1YeUFySUdsMGQyUm1JQ29nY25SM1pHWmZPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NuUjNaR1pmSUQwZ2NuZzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG1kMVpYTnpUR1Z1TVROaUlEMGdablZ1WTNScGIyNGdaM1ZsYzNOTVpXNHhNMklnS0c0c0lHMHBJSHRjYmlBZ0lDQjJZWElnVGlBOUlFMWhkR2d1YldGNEtHMHNJRzRwSUh3Z01UdGNiaUFnSUNCMllYSWdiMlJrSUQwZ1RpQW1JREU3WEc0Z0lDQWdkbUZ5SUdrZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvVGlBOUlFNGdMeUF5SUh3Z01Ec2dUanNnVGlBOUlFNGdQajQrSURFcElIdGNiaUFnSUNBZ0lHa3JLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z01TQThQQ0JwSUNzZ01TQXJJRzlrWkR0Y2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1amIyNXFkV2RoZEdVZ1BTQm1kVzVqZEdsdmJpQmpiMjVxZFdkaGRHVWdLSEozY3l3Z2FYZHpMQ0JPS1NCN1hHNGdJQ0FnYVdZZ0tFNGdQRDBnTVNrZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCT0lDOGdNanNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnZENBOUlISjNjMXRwWFR0Y2JseHVJQ0FnSUNBZ2NuZHpXMmxkSUQwZ2NuZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0J5ZDNOYlRpQXRJR2tnTFNBeFhTQTlJSFE3WEc1Y2JpQWdJQ0FnSUhRZ1BTQnBkM05iYVYwN1hHNWNiaUFnSUNBZ0lHbDNjMXRwWFNBOUlDMXBkM05iVGlBdElHa2dMU0F4WFR0Y2JpQWdJQ0FnSUdsM2MxdE9JQzBnYVNBdElERmRJRDBnTFhRN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG01dmNtMWhiR2w2WlRFellpQTlJR1oxYm1OMGFXOXVJRzV2Y20xaGJHbDZaVEV6WWlBb2QzTXNJRTRwSUh0Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1RpQXZJREk3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQk5ZWFJvTG5KdmRXNWtLSGR6V3pJZ0tpQnBJQ3NnTVYwZ0x5Qk9LU0FxSURCNE1qQXdNQ0FyWEc0Z0lDQWdJQ0FnSUUxaGRHZ3VjbTkxYm1Rb2QzTmJNaUFxSUdsZElDOGdUaWtnSzF4dUlDQWdJQ0FnSUNCallYSnllVHRjYmx4dUlDQWdJQ0FnZDNOYmFWMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVYRzRnSUNBZ0lDQnBaaUFvZHlBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0JqWVhKeWVTQTlJREE3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JqWVhKeWVTQTlJSGNnTHlBd2VEUXdNREF3TURBZ2ZDQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCM2N6dGNiaUFnZlR0Y2JseHVJQ0JHUmxSTkxuQnliM1J2ZEhsd1pTNWpiMjUyWlhKME1UTmlJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkREV6WWlBb2QzTXNJR3hsYml3Z2NuZHpMQ0JPS1NCN1hHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlHTmhjbko1SUNzZ0tIZHpXMmxkSUh3Z01DazdYRzVjYmlBZ0lDQWdJSEozYzFzeUlDb2dhVjBnUFNCallYSnllU0FtSURCNE1XWm1aanNnWTJGeWNua2dQU0JqWVhKeWVTQStQajRnTVRNN1hHNGdJQ0FnSUNCeWQzTmJNaUFxSUdrZ0t5QXhYU0E5SUdOaGNuSjVJQ1lnTUhneFptWm1PeUJqWVhKeWVTQTlJR05oY25KNUlENCtQaUF4TXp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCUVlXUWdkMmwwYUNCNlpYSnZaWE5jYmlBZ0lDQm1iM0lnS0drZ1BTQXlJQ29nYkdWdU95QnBJRHdnVGpzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0J5ZDNOYmFWMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR0Z6YzJWeWRDaGpZWEp5ZVNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDaGpZWEp5ZVNBbUlINHdlREZtWm1ZcElEMDlQU0F3S1R0Y2JpQWdmVHRjYmx4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1emRIVmlJRDBnWm5WdVkzUnBiMjRnYzNSMVlpQW9UaWtnZTF4dUlDQWdJSFpoY2lCd2FDQTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnY0doYmFWMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQndhRHRjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0ZFd4d0lEMGdablZ1WTNScGIyNGdiWFZzY0NBb2VDd2dlU3dnYjNWMEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNBeUlDb2dkR2hwY3k1bmRXVnpjMHhsYmpFellpaDRMbXhsYm1kMGFDd2dlUzVzWlc1bmRHZ3BPMXh1WEc0Z0lDQWdkbUZ5SUhKaWRDQTlJSFJvYVhNdWJXRnJaVkpDVkNoT0tUdGNibHh1SUNBZ0lIWmhjaUJmSUQwZ2RHaHBjeTV6ZEhWaUtFNHBPMXh1WEc0Z0lDQWdkbUZ5SUhKM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2NuZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNiaUFnSUNCMllYSWdhWGR6ZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmx4dUlDQWdJSFpoY2lCdWNuZHpJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnVjbmR6ZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnYm1sM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNWNiaUFnSUNCMllYSWdjbTEzY3lBOUlHOTFkQzUzYjNKa2N6dGNiaUFnSUNCeWJYZHpMbXhsYm1kMGFDQTlJRTQ3WEc1Y2JpQWdJQ0IwYUdsekxtTnZiblpsY25ReE0ySW9lQzUzYjNKa2N5d2dlQzVzWlc1bmRHZ3NJSEozY3l3Z1RpazdYRzRnSUNBZ2RHaHBjeTVqYjI1MlpYSjBNVE5pS0hrdWQyOXlaSE1zSUhrdWJHVnVaM1JvTENCdWNuZHpMQ0JPS1R0Y2JseHVJQ0FnSUhSb2FYTXVkSEpoYm5ObWIzSnRLSEozY3l3Z1h5d2djbmR6ZEN3Z2FYZHpkQ3dnVGl3Z2NtSjBLVHRjYmlBZ0lDQjBhR2x6TG5SeVlXNXpabTl5YlNodWNuZHpMQ0JmTENCdWNuZHpkQ3dnYm1sM2MzUXNJRTRzSUhKaWRDazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhKNElEMGdjbmR6ZEZ0cFhTQXFJRzV5ZDNOMFcybGRJQzBnYVhkemRGdHBYU0FxSUc1cGQzTjBXMmxkTzF4dUlDQWdJQ0FnYVhkemRGdHBYU0E5SUhKM2MzUmJhVjBnS2lCdWFYZHpkRnRwWFNBcklHbDNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhUdGNiaUFnSUNBZ0lISjNjM1JiYVYwZ1BTQnllRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG1OdmJtcDFaMkYwWlNoeWQzTjBMQ0JwZDNOMExDQk9LVHRjYmlBZ0lDQjBhR2x6TG5SeVlXNXpabTl5YlNoeWQzTjBMQ0JwZDNOMExDQnliWGR6TENCZkxDQk9MQ0J5WW5RcE8xeHVJQ0FnSUhSb2FYTXVZMjl1YW5WbllYUmxLSEp0ZDNNc0lGOHNJRTRwTzF4dUlDQWdJSFJvYVhNdWJtOXliV0ZzYVhwbE1UTmlLSEp0ZDNNc0lFNHBPMXh1WEc0Z0lDQWdiM1YwTG01bFoyRjBhWFpsSUQwZ2VDNXVaV2RoZEdsMlpTQmVJSGt1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SUhndWJHVnVaM1JvSUNzZ2VTNXNaVzVuZEdnN1hHNGdJQ0FnY21WMGRYSnVJRzkxZEM1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRTExYkhScGNHeDVJR0IwYUdsellDQmllU0JnYm5WdFlGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJYVnNJRDBnWm5WdVkzUnBiMjRnYlhWc0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2IzVjBJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUc5MWRDNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG14bGJtZDBhQ0FySUc1MWJTNXNaVzVuZEdncE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtMTFiRlJ2S0c1MWJTd2diM1YwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJOZFd4MGFYQnNlU0JsYlhCc2IzbHBibWNnUmtaVVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeG1JRDBnWm5WdVkzUnBiMjRnYlhWc1ppQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlHOTFkQ0E5SUc1bGR5QkNUaWh1ZFd4c0tUdGNiaUFnSUNCdmRYUXVkMjl5WkhNZ1BTQnVaWGNnUVhKeVlYa29kR2hwY3k1c1pXNW5kR2dnS3lCdWRXMHViR1Z1WjNSb0tUdGNiaUFnSUNCeVpYUjFjbTRnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdTVzR0Y0d4aFkyVWdUWFZzZEdsd2JHbGpZWFJwYjI1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG0xMWJGUnZLRzUxYlN3Z2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx0ZFd4dUlEMGdablZ1WTNScGIyNGdhVzExYkc0Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOElEQjROREF3TURBd01DazdYRzVjYmlBZ0lDQXZMeUJEWVhKeWVWeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dLaUJ1ZFcwN1hHNGdJQ0FnSUNCMllYSWdiRzhnUFNBb2R5QW1JREI0TTJabVptWm1aaWtnS3lBb1kyRnljbmtnSmlBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUNBZ1kyRnljbmtnUGo0OUlESTJPMXh1SUNBZ0lDQWdZMkZ5Y25rZ0t6MGdLSGNnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQWdJQzh2SUU1UFZFVTZJR3h2SUdseklESTNZbWwwSUcxaGVHbHRkVzFjYmlBZ0lDQWdJR05oY25KNUlDczlJR3h2SUQ0K1BpQXlOanRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQnNieUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtMTFiRzRnUFNCbWRXNWpkR2x2YmlCdGRXeHVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHRkV3h1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1lIUm9hWE5nSUNvZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6Y1hJZ1BTQm1kVzVqZEdsdmJpQnpjWElnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtMTFiQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCZ2RHaHBjMkFnS2lCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6Y1hJZ1BTQm1kVzVqZEdsdmJpQnBjM0Z5SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0hSb2FYTXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1RXRjBhQzV3YjNjb1lIUm9hWE5nTENCZ2JuVnRZQ2xjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkJ2ZHlBOUlHWjFibU4wYVc5dUlIQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSGNnUFNCMGIwSnBkRUZ5Y21GNUtHNTFiU2s3WEc0Z0lDQWdhV1lnS0hjdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdibVYzSUVKT0tERXBPMXh1WEc0Z0lDQWdMeThnVTJ0cGNDQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsek8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2R5NXNaVzVuZEdnN0lHa3JLeXdnY21WeklEMGdjbVZ6TG5OeGNpZ3BLU0I3WEc0Z0lDQWdJQ0JwWmlBb2QxdHBYU0FoUFQwZ01Da2dZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tDc3JhU0E4SUhjdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCeElEMGdjbVZ6TG5OeGNpZ3BPeUJwSUR3Z2R5NXNaVzVuZEdnN0lHa3JLeXdnY1NBOUlIRXVjM0Z5S0NrcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hkYmFWMGdQVDA5SURBcElHTnZiblJwYm5WbE8xeHVYRzRnSUNBZ0lDQWdJSEpsY3lBOUlISmxjeTV0ZFd3b2NTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCVGFHbG1kQzFzWldaMElHbHVMWEJzWVdObFhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGRYTm9iRzRnS0dKcGRITXBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRITWdQVDA5SUNkdWRXMWlaWEluSUNZbUlHSnBkSE1nUGowZ01DazdYRzRnSUNBZ2RtRnlJSElnUFNCaWFYUnpJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMGN5QXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJR05oY25KNVRXRnpheUE5SUNnd2VETm1abVptWm1ZZ1BqNCtJQ2d5TmlBdElISXBLU0E4UENBb01qWWdMU0J5S1R0Y2JpQWdJQ0IyWVhJZ2FUdGNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnYm1WM1EyRnljbmtnUFNCMGFHbHpMbmR2Y21SelcybGRJQ1lnWTJGeWNubE5ZWE5yTzF4dUlDQWdJQ0FnSUNCMllYSWdZeUE5SUNnb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDMGdibVYzUTJGeWNua3BJRHc4SUhJN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaklId2dZMkZ5Y25rN1hHNGdJQ0FnSUNBZ0lHTmhjbko1SUQwZ2JtVjNRMkZ5Y25rZ1BqNCtJQ2d5TmlBdElISXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kyRnljbmtwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUdOaGNuSjVPMXh1SUNBZ0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHpJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5kSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJSE03SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdNRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ0t6MGdjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMmhzYmlBOUlHWjFibU4wYVc5dUlHbHphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdMeThnVkU5RVR5aHBibVIxZEc1NUtUb2dhVzF3YkdWdFpXNTBJRzFsWEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWwxYzJoc2JpaGlhWFJ6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXlhV2RvZENCcGJpMXdiR0ZqWlZ4dUlDQXZMeUJPVDFSRk9pQmdhR2x1ZEdBZ2FYTWdZU0JzYjNkbGMzUWdZbWwwSUdKbFptOXlaU0IwY21GcGJHbHVaeUI2WlhKdlpYTmNiaUFnTHk4Z1RrOVVSVG9nYVdZZ1lHVjRkR1Z1WkdWa1lDQnBjeUJ3Y21WelpXNTBJQzBnYVhRZ2QybHNiQ0JpWlNCbWFXeHNaV1FnZDJsMGFDQmtaWE4wY205NVpXUWdZbWwwYzF4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFISnVJRDBnWm5WdVkzUnBiMjRnYVhWemFISnVJQ2hpYVhSekxDQm9hVzUwTENCbGVIUmxibVJsWkNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdZbWwwY3lBOVBUMGdKMjUxYldKbGNpY2dKaVlnWW1sMGN5QStQU0F3S1R0Y2JpQWdJQ0IyWVhJZ2FEdGNiaUFnSUNCcFppQW9hR2x1ZENrZ2UxeHVJQ0FnSUNBZ2FDQTlJQ2hvYVc1MElDMGdLR2hwYm5RZ0pTQXlOaWtwSUM4Z01qWTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdnZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBjeUFsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnVFdGMGFDNXRhVzRvS0dKcGRITWdMU0J5S1NBdklESTJMQ0IwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnZG1GeUlHMWhjMnNnUFNBd2VETm1abVptWm1ZZ1hpQW9LREI0TTJabVptWm1aaUErUGo0Z2Npa2dQRHdnY2lrN1hHNGdJQ0FnZG1GeUlHMWhjMnRsWkZkdmNtUnpJRDBnWlhoMFpXNWtaV1E3WEc1Y2JpQWdJQ0JvSUMwOUlITTdYRzRnSUNBZ2FDQTlJRTFoZEdndWJXRjRLREFzSUdncE8xeHVYRzRnSUNBZ0x5OGdSWGgwWlc1a1pXUWdiVzlrWlN3Z1kyOXdlU0J0WVhOclpXUWdjR0Z5ZEZ4dUlDQWdJR2xtSUNodFlYTnJaV1JYYjNKa2N5a2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J6T3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWQyOXlaSE5iYVYwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYldGemEyVmtWMjl5WkhNdWJHVnVaM1JvSUQwZ2N6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jeUE5UFQwZ01Da2dlMXh1SUNBZ0lDQWdMeThnVG04dGIzQXNJSGRsSUhOb2IzVnNaQ0J1YjNRZ2JXOTJaU0JoYm5sMGFHbHVaeUJoZENCaGJHeGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnY3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dMVDBnY3p0Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQTlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01DQW1KaUFvWTJGeWNua2dJVDA5SURBZ2ZId2dhU0ErUFNCb0tUc2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdkMjl5WkNBOUlIUm9hWE11ZDI5eVpITmJhVjBnZkNBd08xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUNoallYSnllU0E4UENBb01qWWdMU0J5S1NrZ2ZDQW9kMjl5WkNBK1BqNGdjaWs3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGR2Y21RZ0ppQnRZWE5yTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZCMWMyZ2dZMkZ5Y21sbFpDQmlhWFJ6SUdGeklHRWdiV0Z6YTF4dUlDQWdJR2xtSUNodFlYTnJaV1JYYjNKa2N5QW1KaUJqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JXRnphMlZrVjI5eVpITXVkMjl5WkhOYmJXRnphMlZrVjI5eVpITXViR1Z1WjNSb0t5dGRJRDBnWTJGeWNuazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdNRHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMyaHliaUE5SUdaMWJtTjBhVzl1SUdsemFISnVJQ2hpYVhSekxDQm9hVzUwTENCbGVIUmxibVJsWkNrZ2UxeHVJQ0FnSUM4dklGUlBSRThvYVc1a2RYUnVlU2s2SUdsdGNHeGxiV1Z1ZENCdFpWeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGRYTm9jbTRvWW1sMGN5d2dhR2x1ZEN3Z1pYaDBaVzVrWldRcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOb2FXWjBMV3hsWm5SY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5Ob2JHNGdQU0JtZFc1amRHbHZiaUJ6YUd4dUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMyaHNiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRYTm9iRzRnUFNCbWRXNWpkR2x2YmlCMWMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ6YUd4dUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk5vYVdaMExYSnBaMmgwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUhKdUlEMGdablZ1WTNScGIyNGdjMmh5YmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2NtNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFISnVJRDBnWm5WdVkzUnBiMjRnZFhOb2NtNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmh5YmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlVaWE4wSUdsbUlHNGdZbWwwSUdseklITmxkRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkR1Z6ZEc0Z1BTQm1kVzVqZEdsdmJpQjBaWE4wYmlBb1ltbDBLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUWdQVDA5SUNkdWRXMWlaWEluSUNZbUlHSnBkQ0ErUFNBd0tUdGNiaUFnSUNCMllYSWdjaUE5SUdKcGRDQWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZENBdElISXBJQzhnTWpZN1hHNGdJQ0FnZG1GeUlIRWdQU0F4SUR3OElISTdYRzVjYmlBZ0lDQXZMeUJHWVhOMElHTmhjMlU2SUdKcGRDQnBjeUJ0ZFdOb0lHaHBaMmhsY2lCMGFHRnVJR0ZzYkNCbGVHbHpkR2x1WnlCM2IzSmtjMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOFBTQnpLU0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNBdkx5QkRhR1ZqYXlCaWFYUWdZVzVrSUhKbGRIVnlibHh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHpYVHRjYmx4dUlDQWdJSEpsZEhWeWJpQWhJU2gzSUNZZ2NTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVjBkWEp1SUc5dWJIa2diRzkzWlhKeklHSnBkSE1nYjJZZ2JuVnRZbVZ5SUNocGJpMXdiR0ZqWlNsY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdFlYTnJiaUE5SUdaMWJtTjBhVzl1SUdsdFlYTnJiaUFvWW1sMGN5a2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMGN5QTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBjeUErUFNBd0tUdGNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJQ2hpYVhSeklDMGdjaWtnTHlBeU5qdGNibHh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5hVzFoYzJ0dUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCd2IzTnBkR2wyWlNCdWRXMWlaWEp6SnlrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hJZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhNckt6dGNiaUFnSUNCOVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG0xcGJpaHpMQ0IwYUdsekxteGxibWQwYUNrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUcxaGMyc2dQU0F3ZURObVptWm1abVlnWGlBb0tEQjRNMlptWm1abVppQStQajRnY2lrZ1BEd2djaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzNSb2FYTXViR1Z1WjNSb0lDMGdNVjBnSmowZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdmJteDVJR3h2ZDJWeWN5QmlhWFJ6SUc5bUlHNTFiV0psY2x4dUlDQkNUaTV3Y205MGIzUjVjR1V1YldGemEyNGdQU0JtZFc1amRHbHZiaUJ0WVhOcmJpQW9ZbWwwY3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXMWhjMnR1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0J3YkdGcGJpQnVkVzFpWlhJZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwWVdSa2JpQTlJR1oxYm1OMGFXOXVJR2xoWkdSdUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHNTFiU0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BDQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwZ1BDQXdLU0J5WlhSMWNtNGdkR2hwY3k1cGMzVmliaWd0Ym5WdEtUdGNibHh1SUNBZ0lDOHZJRkJ2YzNOcFlteGxJSE5wWjI0Z1kyaGhibWRsWEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0I4SURBcElEd2diblZ0S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnUFNCdWRXMGdMU0FvZEdocGN5NTNiM0prYzFzd1hTQjhJREFwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cGMzVmliaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJaR1FnZDJsMGFHOTFkQ0JqYUdWamEzTmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZhV0ZrWkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmxoWkdSdUlEMGdablZ1WTNScGIyNGdYMmxoWkdSdUlDaHVkVzBwSUh0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUQ0OUlEQjROREF3TURBd01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQzA5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUdsbUlDaHBJRDA5UFNCMGFHbHpMbXhsYm1kMGFDQXRJREVwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ1BTQXhPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ01WMHJLenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JOWVhSb0xtMWhlQ2gwYUdsekxteGxibWQwYUN3Z2FTQXJJREVwTzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNWaWRISmhZM1FnY0d4aGFXNGdiblZ0WW1WeUlHQnVkVzFnSUdaeWIyMGdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMzVmliaUE5SUdaMWJtTjBhVzl1SUdsemRXSnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjUxYldKbGNpY3BPMXh1SUNBZ0lHRnpjMlZ5ZENodWRXMGdQQ0F3ZURRd01EQXdNREFwTzF4dUlDQWdJR2xtSUNodWRXMGdQQ0F3S1NCeVpYUjFjbTRnZEdocGN5NXBZV1JrYmlndGJuVnRLVHRjYmx4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pHNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXRQU0J1ZFcwN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQThJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F0ZEdocGN5NTNiM0prYzFzd1hUdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYUNBbUppQjBhR2x6TG5kdmNtUnpXMmxkSUR3Z01Ec2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnS3owZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQXRQU0F4TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUZrWkc0Z1BTQm1kVzVqZEdsdmJpQmhaR1J1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxoWkdSdUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbk4xWW00Z1BTQm1kVzVqZEdsdmJpQnpkV0p1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6ZFdKdUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxoWW5NZ1BTQm1kVzVqZEdsdmJpQnBZV0p6SUNncElIdGNiaUFnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1aFluTWdQU0JtZFc1amRHbHZiaUJoWW5NZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZpY3lncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFYTm9iRzV6ZFdKdGRXd2dQU0JtZFc1amRHbHZiaUJmYVhOb2JHNXpkV0p0ZFd3Z0tHNTFiU3dnYlhWc0xDQnphR2xtZENrZ2UxeHVJQ0FnSUhaaGNpQnNaVzRnUFNCdWRXMHViR1Z1WjNSb0lDc2djMmhwWm5RN1hHNGdJQ0FnZG1GeUlHazdYRzVjYmlBZ0lDQjBhR2x6TGw5bGVIQmhibVFvYkdWdUtUdGNibHh1SUNBZ0lIWmhjaUIzTzF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaHBJRDBnTURzZ2FTQThJRzUxYlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUNoMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnZG1GeUlISnBaMmgwSUQwZ0tHNTFiUzUzYjNKa2MxdHBYU0I4SURBcElDb2diWFZzTzF4dUlDQWdJQ0FnZHlBdFBTQnlhV2RvZENBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ0tIY2dQajRnTWpZcElDMGdLQ2h5YVdkb2RDQXZJREI0TkRBd01EQXdNQ2tnZkNBd0tUdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUdadmNpQW9PeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZ2dMU0J6YUdsbWREc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM0lEMGdLSFJvYVhNdWQyOXlaSE5iYVNBcklITm9hV1owWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlIY2dQajRnTWpZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ2tnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JseHVJQ0FnSUM4dklGTjFZblJ5WVdOMGFXOXVJRzkyWlhKbWJHOTNYRzRnSUNBZ1lYTnpaWEowS0dOaGNuSjVJRDA5UFNBdE1TazdYRzRnSUNBZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0IwYUdsekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0xTaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2R5QStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDkzYjNKa1JHbDJJRDBnWm5WdVkzUnBiMjRnWDNkdmNtUkVhWFlnS0c1MWJTd2diVzlrWlNrZ2UxeHVJQ0FnSUhaaGNpQnphR2xtZENBOUlIUm9hWE11YkdWdVozUm9JQzBnYm5WdExteGxibWQwYUR0Y2JseHVJQ0FnSUhaaGNpQmhJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUhaaGNpQmlJRDBnYm5WdE8xeHVYRzRnSUNBZ0x5OGdUbTl5YldGc2FYcGxYRzRnSUNBZ2RtRnlJR0pvYVNBOUlHSXVkMjl5WkhOYllpNXNaVzVuZEdnZ0xTQXhYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSm9hVUpwZEhNZ1BTQjBhR2x6TGw5amIzVnVkRUpwZEhNb1ltaHBLVHRjYmlBZ0lDQnphR2xtZENBOUlESTJJQzBnWW1ocFFtbDBjenRjYmlBZ0lDQnBaaUFvYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHSWdQU0JpTG5WemFHeHVLSE5vYVdaMEtUdGNiaUFnSUNBZ0lHRXVhWFZ6YUd4dUtITm9hV1owS1R0Y2JpQWdJQ0FnSUdKb2FTQTlJR0l1ZDI5eVpITmJZaTVzWlc1bmRHZ2dMU0F4WFNCOElEQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTVzVwZEdsaGJHbDZaU0J4ZFc5MGFXVnVkRnh1SUNBZ0lIWmhjaUJ0SUQwZ1lTNXNaVzVuZEdnZ0xTQmlMbXhsYm1kMGFEdGNiaUFnSUNCMllYSWdjVHRjYmx4dUlDQWdJR2xtSUNodGIyUmxJQ0U5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnY1NBOUlHNWxkeUJDVGlodWRXeHNLVHRjYmlBZ0lDQWdJSEV1YkdWdVozUm9JRDBnYlNBcklERTdYRzRnSUNBZ0lDQnhMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSEV1YkdWdVozUm9LVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnY1M1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0J4TG5kdmNtUnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdaR2xtWmlBOUlHRXVZMnh2Ym1Vb0tTNWZhWE5vYkc1emRXSnRkV3dvWWl3Z01Td2diU2s3WEc0Z0lDQWdhV1lnS0dScFptWXVibVZuWVhScGRtVWdQVDA5SURBcElIdGNiaUFnSUNBZ0lHRWdQU0JrYVdabU8xeHVJQ0FnSUNBZ2FXWWdLSEVwSUh0Y2JpQWdJQ0FnSUNBZ2NTNTNiM0prYzF0dFhTQTlJREU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SUcwZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEZxSUQwZ0tHRXVkMjl5WkhOYllpNXNaVzVuZEdnZ0t5QnFYU0I4SURBcElDb2dNSGcwTURBd01EQXdJQ3RjYmlBZ0lDQWdJQ0FnS0dFdWQyOXlaSE5iWWk1c1pXNW5kR2dnS3lCcUlDMGdNVjBnZkNBd0tUdGNibHh1SUNBZ0lDQWdMeThnVGs5VVJUb2dLSEZxSUM4Z1ltaHBLU0JwY3lBb01IZ3pabVptWm1abUlDb2dNSGcwTURBd01EQXdJQ3NnTUhnelptWm1abVptS1NBdklEQjRNakF3TURBd01DQnRZWGhjYmlBZ0lDQWdJQzh2SUNnd2VEZG1abVptWm1ZcFhHNGdJQ0FnSUNCeGFpQTlJRTFoZEdndWJXbHVLQ2h4YWlBdklHSm9hU2tnZkNBd0xDQXdlRE5tWm1abVptWXBPMXh1WEc0Z0lDQWdJQ0JoTGw5cGMyaHNibk4xWW0xMWJDaGlMQ0J4YWl3Z2FpazdYRzRnSUNBZ0lDQjNhR2xzWlNBb1lTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnhhaTB0TzF4dUlDQWdJQ0FnSUNCaExtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJQ0FnWVM1ZmFYTm9iRzV6ZFdKdGRXd29ZaXdnTVN3Z2FpazdYRzRnSUNBZ0lDQWdJR2xtSUNnaFlTNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdFdWJtVm5ZWFJwZG1VZ1hqMGdNVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJQ0FnY1M1M2IzSmtjMXRxWFNBOUlIRnFPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9jU2tnZTF4dUlDQWdJQ0FnY1M1emRISnBjQ2dwTzF4dUlDQWdJSDFjYmlBZ0lDQmhMbk4wY21sd0tDazdYRzVjYmlBZ0lDQXZMeUJFWlc1dmNtMWhiR2w2WlZ4dUlDQWdJR2xtSUNodGIyUmxJQ0U5UFNBblpHbDJKeUFtSmlCemFHbG1kQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZUzVwZFhOb2NtNG9jMmhwWm5RcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JrYVhZNklIRWdmSHdnYm5Wc2JDeGNiaUFnSUNBZ0lHMXZaRG9nWVZ4dUlDQWdJSDA3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUazlVUlRvZ01Ta2dZRzF2WkdWZ0lHTmhiaUJpWlNCelpYUWdkRzhnWUcxdlpHQWdkRzhnY21WeGRXVnpkQ0J0YjJRZ2IyNXNlU3hjYmlBZ0x5OGdJQ0FnSUNBZ2RHOGdZR1JwZG1BZ2RHOGdjbVZ4ZFdWemRDQmthWFlnYjI1c2VTd2diM0lnWW1VZ1lXSnpaVzUwSUhSdlhHNGdJQzh2SUNBZ0lDQWdJSEpsY1hWbGMzUWdZbTkwYUNCa2FYWWdKaUJ0YjJSY2JpQWdMeThnSUNBZ0lDQWdNaWtnWUhCdmMybDBhWFpsWUNCcGN5QjBjblZsSUdsbUlIVnVjMmxuYm1Wa0lHMXZaQ0JwY3lCeVpYRjFaWE4wWldSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1ScGRtMXZaQ0E5SUdaMWJtTjBhVzl1SUdScGRtMXZaQ0FvYm5WdExDQnRiMlJsTENCd2IzTnBkR2wyWlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2doYm5WdExtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUc1bGR5QkNUaWd3S1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9NQ2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdScGRpd2diVzlrTENCeVpYTTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2JuVnRMbTVsWjJGMGFYWmxJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMGFHbHpMbTVsWnlncExtUnBkbTF2WkNodWRXMHNJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJQ0FnWkdsMklEMGdjbVZ6TG1ScGRpNXVaV2NvS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJRzF2WkNBOUlISmxjeTV0YjJRdWJtVm5LQ2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaHdiM05wZEdsMlpTQW1KaUJ0YjJRdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnRiMlF1YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nWkdsMkxGeHVJQ0FnSUNBZ0lDQnRiMlE2SUcxdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVaR2wyYlc5a0tHNTFiUzV1Wldjb0tTd2diVzlrWlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElDRTlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdJQ0JrYVhZZ1BTQnlaWE11WkdsMkxtNWxaeWdwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ5WlhNdWJXOWtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2dvZEdocGN5NXVaV2RoZEdsMlpTQW1JRzUxYlM1dVpXZGhkR2wyWlNrZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFJvYVhNdWJtVm5LQ2t1WkdsMmJXOWtLRzUxYlM1dVpXY29LU3dnYlc5a1pTazdYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJQ0U5UFNBblpHbDJKeWtnZTF4dUlDQWdJQ0FnSUNCdGIyUWdQU0J5WlhNdWJXOWtMbTVsWnlncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY0c5emFYUnBkbVVnSmlZZ2JXOWtMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYlc5a0xtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0JrYVhZNklISmxjeTVrYVhZc1hHNGdJQ0FnSUNBZ0lHMXZaRG9nYlc5a1hHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFSnZkR2dnYm5WdFltVnljeUJoY21VZ2NHOXphWFJwZG1VZ1lYUWdkR2hwY3lCd2IybHVkRnh1WEc0Z0lDQWdMeThnVTNSeWFYQWdZbTkwYUNCdWRXMWlaWEp6SUhSdklHRndjSEp2ZUdsdFlYUmxJSE5vYVdaMElIWmhiSFZsWEc0Z0lDQWdhV1lnS0c1MWJTNXNaVzVuZEdnZ1BpQjBhR2x6TG14bGJtZDBhQ0I4ZkNCMGFHbHpMbU50Y0NodWRXMHBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dkR2hwYzF4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCV1pYSjVJSE5vYjNKMElISmxaSFZqZEdsdmJseHVJQ0FnSUdsbUlDaHVkVzB1YkdWdVozUm9JRDA5UFNBeEtTQjdYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQTlQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNCa2FYWTZJSFJvYVhNdVpHbDJiaWh1ZFcwdWQyOXlaSE5iTUYwcExGeHVJQ0FnSUNBZ0lDQWdJRzF2WkRvZ2JuVnNiRnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBOVBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdJQ0JrYVhZNklHNTFiR3dzWEc0Z0lDQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9kR2hwY3k1dGIyUnVLRzUxYlM1M2IzSmtjMXN3WFNrcFhHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ2RHaHBjeTVrYVhadUtHNTFiUzUzYjNKa2Mxc3dYU2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmQyOXlaRVJwZGlodWRXMHNJRzF2WkdVcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVacGJtUWdZSFJvYVhOZ0lDOGdZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1ScGRpQTlJR1oxYm1OMGFXOXVJR1JwZGlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WkdsMmJXOWtLRzUxYlN3Z0oyUnBkaWNzSUdaaGJITmxLUzVrYVhZN1hHNGdJSDA3WEc1Y2JpQWdMeThnUm1sdVpDQmdkR2hwYzJBZ0pTQmdiblZ0WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Ylc5a0lEMGdablZ1WTNScGIyNGdiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnWm1Gc2MyVXBMbTF2WkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFcxdlpDQTlJR1oxYm1OMGFXOXVJSFZ0YjJRZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGRtMXZaQ2h1ZFcwc0lDZHRiMlFuTENCMGNuVmxLUzV0YjJRN1hHNGdJSDA3WEc1Y2JpQWdMeThnUm1sdVpDQlNiM1Z1WkNoZ2RHaHBjMkFnTHlCZ2JuVnRZQ2xjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZGxKdmRXNWtJRDBnWm5WdVkzUnBiMjRnWkdsMlVtOTFibVFnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJrYlNBOUlIUm9hWE11WkdsMmJXOWtLRzUxYlNrN1hHNWNiaUFnSUNBdkx5QkdZWE4wSUdOaGMyVWdMU0JsZUdGamRDQmthWFpwYzJsdmJseHVJQ0FnSUdsbUlDaGtiUzV0YjJRdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCa2JTNWthWFk3WEc1Y2JpQWdJQ0IyWVhJZ2JXOWtJRDBnWkcwdVpHbDJMbTVsWjJGMGFYWmxJQ0U5UFNBd0lEOGdaRzB1Ylc5a0xtbHpkV0lvYm5WdEtTQTZJR1J0TG0xdlpEdGNibHh1SUNBZ0lIWmhjaUJvWVd4bUlEMGdiblZ0TG5WemFISnVLREVwTzF4dUlDQWdJSFpoY2lCeU1pQTlJRzUxYlM1aGJtUnNiaWd4S1R0Y2JpQWdJQ0IyWVhJZ1kyMXdJRDBnYlc5a0xtTnRjQ2hvWVd4bUtUdGNibHh1SUNBZ0lDOHZJRkp2ZFc1a0lHUnZkMjVjYmlBZ0lDQnBaaUFvWTIxd0lEd2dNQ0I4ZkNCeU1pQTlQVDBnTVNBbUppQmpiWEFnUFQwOUlEQXBJSEpsZEhWeWJpQmtiUzVrYVhZN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCMWNGeHVJQ0FnSUhKbGRIVnliaUJrYlM1a2FYWXVibVZuWVhScGRtVWdJVDA5SURBZ1B5QmtiUzVrYVhZdWFYTjFZbTRvTVNrZ09pQmtiUzVrYVhZdWFXRmtaRzRvTVNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xdlpHNGdQU0JtZFc1amRHbHZiaUJ0YjJSdUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppazdYRzRnSUNBZ2RtRnlJSEFnUFNBb01TQThQQ0F5TmlrZ0pTQnVkVzA3WEc1Y2JpQWdJQ0IyWVhJZ1lXTmpJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdZV05qSUQwZ0tIQWdLaUJoWTJNZ0t5QW9kR2hwY3k1M2IzSmtjMXRwWFNCOElEQXBLU0FsSUc1MWJUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWVdOak8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdUxYQnNZV05sSUdScGRtbHphVzl1SUdKNUlHNTFiV0psY2x4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdScGRtNGdQU0JtZFc1amRHbHZiaUJwWkdsMmJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLRzUxYlNBOFBTQXdlRE5tWm1abVptWXBPMXh1WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQW9kR2hwY3k1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNua2dLaUF3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdLSGNnTHlCdWRXMHBJSHdnTUR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBbElHNTFiVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFp1SUQwZ1puVnVZM1JwYjI0Z1pHbDJiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBaR2wyYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxaMk5rSUQwZ1puVnVZM1JwYjI0Z1pXZGpaQ0FvY0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h3TG01bFoyRjBhWFpsSUQwOVBTQXdLVHRjYmlBZ0lDQmhjM05sY25Rb0lYQXVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdkbUZ5SUhnZ1BTQjBhR2x6TzF4dUlDQWdJSFpoY2lCNUlEMGdjQzVqYkc5dVpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0hndWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhnZ1BTQjRMblZ0YjJRb2NDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhnZ1BTQjRMbU5zYjI1bEtDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRU0FxSUhnZ0t5QkNJQ29nZVNBOUlIaGNiaUFnSUNCMllYSWdRU0E5SUc1bGR5QkNUaWd4S1R0Y2JpQWdJQ0IyWVhJZ1FpQTlJRzVsZHlCQ1RpZ3dLVHRjYmx4dUlDQWdJQzh2SUVNZ0tpQjRJQ3NnUkNBcUlIa2dQU0I1WEc0Z0lDQWdkbUZ5SUVNZ1BTQnVaWGNnUWs0b01DazdYRzRnSUNBZ2RtRnlJRVFnUFNCdVpYY2dRazRvTVNrN1hHNWNiaUFnSUNCMllYSWdaeUE5SURBN1hHNWNiaUFnSUNCM2FHbHNaU0FvZUM1cGMwVjJaVzRvS1NBbUppQjVMbWx6UlhabGJpZ3BLU0I3WEc0Z0lDQWdJQ0I0TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUhrdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0t5dG5PMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI1Y0NBOUlIa3VZMnh2Ym1Vb0tUdGNiaUFnSUNCMllYSWdlSEFnUFNCNExtTnNiMjVsS0NrN1hHNWNiaUFnSUNCM2FHbHNaU0FvSVhndWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3TENCcGJTQTlJREU3SUNoNExuZHZjbVJ6V3pCZElDWWdhVzBwSUQwOVBTQXdJQ1ltSUdrZ1BDQXlOanNnS3l0cExDQnBiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYVNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnZUM1cGRYTm9jbTRvYVNrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocExTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0VFdWFYTlBaR1FvS1NCOGZDQkNMbWx6VDJSa0tDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFRXVhV0ZrWkNoNWNDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCQ0xtbHpkV0lvZUhBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lFRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0FnSUVJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd0xDQnFiU0E5SURFN0lDaDVMbmR2Y21Seld6QmRJQ1lnYW0wcElEMDlQU0F3SUNZbUlHb2dQQ0F5TmpzZ0t5dHFMQ0JxYlNBOFBEMGdNU2s3WEc0Z0lDQWdJQ0JwWmlBb2FpQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ2VTNXBkWE5vY200b2FpazdYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaHFMUzBnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tFTXVhWE5QWkdRb0tTQjhmQ0JFTG1selQyUmtLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRU11YVdGa1pDaDVjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkVMbWx6ZFdJb2VIQXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJRU11YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNBZ0lFUXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaDRMbU50Y0NoNUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lIZ3VhWE4xWWloNUtUdGNiaUFnSUNBZ0lDQWdRUzVwYzNWaUtFTXBPMXh1SUNBZ0lDQWdJQ0JDTG1semRXSW9SQ2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0I1TG1semRXSW9lQ2s3WEc0Z0lDQWdJQ0FnSUVNdWFYTjFZaWhCS1R0Y2JpQWdJQ0FnSUNBZ1JDNXBjM1ZpS0VJcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JoT2lCRExGeHVJQ0FnSUNBZ1lqb2dSQ3hjYmlBZ0lDQWdJR2RqWkRvZ2VTNXBkWE5vYkc0b1p5bGNiaUFnSUNCOU8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZSb2FYTWdhWE1nY21Wa2RXTmxaQ0JwYm1OaGNtNWhkR2x2YmlCdlppQjBhR1VnWW1sdVlYSjVJRVZGUVZ4dUlDQXZMeUJoWW05MlpTd2daR1Z6YVdkdVlYUmxaQ0IwYnlCcGJuWmxjblFnYldWdFltVnljeUJ2WmlCMGFHVmNiaUFnTHk4Z1gzQnlhVzFsWHlCbWFXVnNaSE1nUmlod0tTQmhkQ0JoSUcxaGVHbHRZV3dnYzNCbFpXUmNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBiblp0Y0NBOUlHWjFibU4wYVc5dUlGOXBiblp0Y0NBb2NDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENod0xtNWxaMkYwYVhabElEMDlQU0F3S1R0Y2JpQWdJQ0JoYzNObGNuUW9JWEF1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0IwYUdsek8xeHVJQ0FnSUhaaGNpQmlJRDBnY0M1amJHOXVaU2dwTzF4dVhHNGdJQ0FnYVdZZ0tHRXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRWdQU0JoTG5WdGIyUW9jQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHRWdQU0JoTG1Oc2IyNWxLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhneElEMGdibVYzSUVKT0tERXBPMXh1SUNBZ0lIWmhjaUI0TWlBOUlHNWxkeUJDVGlnd0tUdGNibHh1SUNBZ0lIWmhjaUJrWld4MFlTQTlJR0l1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSGRvYVd4bElDaGhMbU50Y0c0b01Ta2dQaUF3SUNZbUlHSXVZMjF3YmlneEtTQStJREFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JwYlNBOUlERTdJQ2hoTG5kdmNtUnpXekJkSUNZZ2FXMHBJRDA5UFNBd0lDWW1JR2tnUENBeU5qc2dLeXRwTENCcGJTQThQRDBnTVNrN1hHNGdJQ0FnSUNCcFppQW9hU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdZUzVwZFhOb2NtNG9hU2s3WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2hwTFMwZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSGd4TG1selQyUmtLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGd4TG1saFpHUW9aR1ZzZEdFcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIZ3hMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNQ3dnYW0wZ1BTQXhPeUFvWWk1M2IzSmtjMXN3WFNBbUlHcHRLU0E5UFQwZ01DQW1KaUJxSUR3Z01qWTdJQ3NyYWl3Z2FtMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR29nUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR0l1YVhWemFISnVLR29wTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYWkwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2g0TWk1cGMwOWtaQ2dwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I0TWk1cFlXUmtLR1JsYkhSaEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQjRNaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLR0V1WTIxd0tHSXBJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdZUzVwYzNWaUtHSXBPMXh1SUNBZ0lDQWdJQ0I0TVM1cGMzVmlLSGd5S1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdJdWFYTjFZaWhoS1R0Y2JpQWdJQ0FnSUNBZ2VESXVhWE4xWWloNE1TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSEpsY3p0Y2JpQWdJQ0JwWmlBb1lTNWpiWEJ1S0RFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0I0TVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2VESTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9jQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaMk5rSUQwZ1puVnVZM1JwYjI0Z1oyTmtJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1MWJTNWhZbk1vS1R0Y2JpQWdJQ0JwWmlBb2JuVnRMbWx6V21WeWJ5Z3BLU0J5WlhSMWNtNGdkR2hwY3k1aFluTW9LVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3k1amJHOXVaU2dwTzF4dUlDQWdJSFpoY2lCaUlEMGdiblZ0TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdZUzV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnWWk1dVpXZGhkR2wyWlNBOUlEQTdYRzVjYmlBZ0lDQXZMeUJTWlcxdmRtVWdZMjl0Ylc5dUlHWmhZM1J2Y2lCdlppQjBkMjljYmlBZ0lDQm1iM0lnS0haaGNpQnphR2xtZENBOUlEQTdJR0V1YVhORmRtVnVLQ2tnSmlZZ1lpNXBjMFYyWlc0b0tUc2djMmhwWm5Rckt5a2dlMXh1SUNBZ0lDQWdZUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JrYnlCN1hHNGdJQ0FnSUNCM2FHbHNaU0FvWVM1cGMwVjJaVzRvS1NrZ2UxeHVJQ0FnSUNBZ0lDQmhMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSGRvYVd4bElDaGlMbWx6UlhabGJpZ3BLU0I3WEc0Z0lDQWdJQ0FnSUdJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjJZWElnY2lBOUlHRXVZMjF3S0dJcE8xeHVJQ0FnSUNBZ2FXWWdLSElnUENBd0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUZOM1lYQWdZR0ZnSUdGdVpDQmdZbUFnZEc4Z2JXRnJaU0JnWVdBZ1lXeDNZWGx6SUdKcFoyZGxjaUIwYUdGdUlHQmlZRnh1SUNBZ0lDQWdJQ0IyWVhJZ2RDQTlJR0U3WEc0Z0lDQWdJQ0FnSUdFZ1BTQmlPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2REdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jaUE5UFQwZ01DQjhmQ0JpTG1OdGNHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR0V1YVhOMVlpaGlLVHRjYmlBZ0lDQjlJSGRvYVd4bElDaDBjblZsS1R0Y2JseHVJQ0FnSUhKbGRIVnliaUJpTG1sMWMyaHNiaWh6YUdsbWRDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNTJaWEowSUc1MWJXSmxjaUJwYmlCMGFHVWdabWxsYkdRZ1JpaHVkVzBwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5adElEMGdablZ1WTNScGIyNGdhVzUyYlNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WldkalpDaHVkVzBwTG1FdWRXMXZaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMwVjJaVzRnUFNCbWRXNWpkR2x2YmlCcGMwVjJaVzRnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUFvZEdocGN5NTNiM0prYzFzd1hTQW1JREVwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMDlrWkNBOUlHWjFibU4wYVc5dUlHbHpUMlJrSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVkMjl5WkhOYk1GMGdKaUF4S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkJibVFnWm1seWMzUWdkMjl5WkNCaGJtUWdiblZ0WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoYm1Sc2JpQTlJR1oxYm1OMGFXOXVJR0Z1Wkd4dUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1M2IzSmtjMXN3WFNBbUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpibU55WlcxbGJuUWdZWFFnZEdobElHSnBkQ0J3YjNOcGRHbHZiaUJwYmkxc2FXNWxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWlhVzVqYmlBOUlHWjFibU4wYVc5dUlHSnBibU51SUNoaWFYUXBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJSFpoY2lCeUlEMGdZbWwwSUNVZ01qWTdYRzRnSUNBZ2RtRnlJSE1nUFNBb1ltbDBJQzBnY2lrZ0x5QXlOanRjYmlBZ0lDQjJZWElnY1NBOUlERWdQRHdnY2p0Y2JseHVJQ0FnSUM4dklFWmhjM1FnWTJGelpUb2dZbWwwSUdseklHMTFZMmdnYUdsbmFHVnlJSFJvWVc0Z1lXeHNJR1Y0YVhOMGFXNW5JSGR2Y21SelhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lIUm9hWE11WDJWNGNHRnVaQ2h6SUNzZ01TazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM05kSUh3OUlIRTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCWkdRZ1ltbDBJR0Z1WkNCd2NtOXdZV2RoZEdVc0lHbG1JRzVsWldSbFpGeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlIRTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJSE03SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZHlBclBTQmpZWEp5ZVR0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZHlBK1BqNGdNalk3WEc0Z0lDQWdJQ0IzSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCM08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGMxcGxjbThnUFNCbWRXNWpkR2x2YmlCcGMxcGxjbThnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRDA5UFNBd08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1amJYQnVJRDBnWm5WdVkzUnBiMjRnWTIxd2JpQW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlHNWxaMkYwYVhabElEMGdiblZ0SUR3Z01EdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlDRnVaV2RoZEdsMlpTa2djbVYwZFhKdUlDMHhPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNWxaMkYwYVhabEtTQnlaWFIxY200Z01UdGNibHh1SUNBZ0lIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJSFpoY2lCeVpYTTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYVdZZ0tHNWxaMkYwYVhabEtTQjdYRzRnSUNBZ0lDQWdJRzUxYlNBOUlDMXVkVzA3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BEMGdNSGd6Wm1abVptWm1MQ0FuVG5WdFltVnlJR2x6SUhSdmJ5QmlhV2NuS1R0Y2JseHVJQ0FnSUNBZ2RtRnlJSGNnUFNCMGFHbHpMbmR2Y21Seld6QmRJSHdnTUR0Y2JpQWdJQ0FnSUhKbGN5QTlJSGNnUFQwOUlHNTFiU0EvSURBZ09pQjNJRHdnYm5WdElEOGdMVEVnT2lBeE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2djbVYwZFhKdUlDMXlaWE1nZkNBd08xeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnUTI5dGNHRnlaU0IwZDI4Z2JuVnRZbVZ5Y3lCaGJtUWdjbVYwZFhKdU9seHVJQ0F2THlBeElDMGdhV1lnWUhSb2FYTmdJRDRnWUc1MWJXQmNiaUFnTHk4Z01DQXRJR2xtSUdCMGFHbHpZQ0E5UFNCZ2JuVnRZRnh1SUNBdkx5QXRNU0F0SUdsbUlHQjBhR2x6WUNBOElHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYlhBZ1BTQm1kVzVqZEdsdmJpQmpiWEFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2djbVYwZFhKdUlDMHhPMXh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2djbVYwZFhKdUlERTdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3k1MVkyMXdLRzUxYlNrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSEpsZEhWeWJpQXRjbVZ6SUh3Z01EdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZWdWMybG5ibVZrSUdOdmJYQmhjbWx6YjI1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WamJYQWdQU0JtZFc1amRHbHZiaUIxWTIxd0lDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCQmRDQjBhR2x6SUhCdmFXNTBJR0p2ZEdnZ2JuVnRZbVZ5Y3lCb1lYWmxJSFJvWlNCellXMWxJSE5wWjI1Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQaUJ1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnTVR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J1ZFcwdWJHVnVaM1JvS1NCeVpYUjFjbTRnTFRFN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlHRWdQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXMmxkSUh3Z01EdGNibHh1SUNBZ0lDQWdhV1lnS0dFZ1BUMDlJR0lwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnYVdZZ0tHRWdQQ0JpS1NCN1hHNGdJQ0FnSUNBZ0lISmxjeUE5SUMweE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGhJRDRnWWlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWE1nUFNBeE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZDBiaUE5SUdaMWJtTjBhVzl1SUdkMGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElEMDlQU0F4TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVuZENBOUlHWjFibU4wYVc5dUlHZDBJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEFvYm5WdEtTQTlQVDBnTVR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WjNSbGJpQTlJR1oxYm1OMGFXOXVJR2QwWlc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW5kR1VnUFNCbWRXNWpkR2x2YmlCbmRHVWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjQ2h1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwYmlBOUlHWjFibU4wYVc5dUlHeDBiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3YmlodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUWdQU0JtZFc1amRHbHZiaUJzZENBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd0tHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkR1Z1SUQwZ1puVnVZM1JwYjI0Z2JIUmxiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3YmlodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MFpTQTlJR1oxYm1OMGFXOXVJR3gwWlNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd0tHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpYRnVJRDBnWm5WdVkzUnBiMjRnWlhGdUlDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQnVLRzUxYlNrZ1BUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVZ4SUQwZ1puVnVZM1JwYjI0Z1pYRWdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjQ2h1ZFcwcElEMDlQU0F3TzF4dUlDQjlPMXh1WEc0Z0lDOHZYRzRnSUM4dklFRWdjbVZrZFdObElHTnZiblJsZUhRc0lHTnZkV3hrSUdKbElIVnphVzVuSUcxdmJuUm5iMjFsY25rZ2IzSWdjMjl0WlhSb2FXNW5JR0psZEhSbGNpd2daR1Z3Wlc1a2FXNW5YRzRnSUM4dklHOXVJSFJvWlNCZ2JXQWdhWFJ6Wld4bUxseHVJQ0F2TDF4dUlDQkNUaTV5WldRZ1BTQm1kVzVqZEdsdmJpQnlaV1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dVbVZrS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZVbVZrSUQwZ1puVnVZM1JwYjI0Z2RHOVNaV1FnS0dOMGVDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENnaGRHaHBjeTV5WldRc0lDZEJiSEpsWVdSNUlHRWdiblZ0WW1WeUlHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUhKbGRIVnliaUJqZEhndVkyOXVkbVZ5ZEZSdktIUm9hWE1wTGw5bWIzSmpaVkpsWkNoamRIZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1jbTl0VW1Wa0lEMGdablZ1WTNScGIyNGdabkp2YlZKbFpDQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5abkp2YlZKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2JuVnRZbVZ5Y3lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1amIyNTJaWEowUm5KdmJTaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJadmNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1gyWnZjbU5sVW1Wa0lDaGpkSGdwSUh0Y2JpQWdJQ0IwYUdsekxuSmxaQ0E5SUdOMGVEdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQm1iM0pqWlZKbFpDQW9ZM1I0S1NCN1hHNGdJQ0FnWVhOelpYSjBLQ0YwYUdsekxuSmxaQ3dnSjBGc2NtVmhaSGtnWVNCdWRXMWlaWElnYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZabTl5WTJWU1pXUW9ZM1I0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1FXUmtJRDBnWm5WdVkzUnBiMjRnY21Wa1FXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUkJaR1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbUZrWkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkpRV1JrSUQwZ1puVnVZM1JwYjI0Z2NtVmtTVUZrWkNBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrU1VGa1pDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWFXRmtaQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGRXSWdQU0JtZFc1amRHbHZiaUJ5WldSVGRXSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpGTjFZaUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjM1ZpS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpFbFRkV0lnUFNCbWRXNWpkR2x2YmlCeVpXUkpVM1ZpSUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNWaUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGMzVmlLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOb2JDQTlJR1oxYm1OMGFXOXVJSEpsWkZOb2JDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UyaHNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXphR3dvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1RYVnNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUk5kV3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVElvZEdocGN5d2diblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXViWFZzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpFbE5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUkpUWFZzSUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JOZFd3Z2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRJb2RHaHBjeXdnYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVcxMWJDaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JUY1hJZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y2lCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TVNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMzRnlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkpVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtTVk54Y2lBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk54Y2lCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TVNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWFYTnhjaWgwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGNYVmhjbVVnY205dmRDQnZkbVZ5SUhCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTnhjblFnUFNCbWRXNWpkR2x2YmlCeVpXUlRjWEowSUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWEowSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1emNYSjBLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkpiblp0SUQwZ1puVnVZM1JwYjI0Z2NtVmtTVzUyYlNBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVzUyYlNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TVNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWFXNTJiU2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm1WbllYUnBkbVVnWTJ4dmJtVWdiMllnWUhSb2FYTmdJQ1VnWUhKbFpDQnRiMlIxYkc5Z1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk9aV2NnUFNCbWRXNWpkR2x2YmlCeVpXUk9aV2NnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFNWxaeUIzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1Ym1WbktIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSUWIzY2dQU0JtZFc1amRHbHZiaUJ5WldSUWIzY2dLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ0FtSmlBaGJuVnRMbkpsWkN3Z0ozSmxaRkJ2ZHlodWIzSnRZV3hPZFcwcEp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuQnZkeWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ5YVcxbElHNTFiV0psY25NZ2QybDBhQ0JsWm1acFkybGxiblFnY21Wa2RXTjBhVzl1WEc0Z0lIWmhjaUJ3Y21sdFpYTWdQU0I3WEc0Z0lDQWdhekkxTmpvZ2JuVnNiQ3hjYmlBZ0lDQndNakkwT2lCdWRXeHNMRnh1SUNBZ0lIQXhPVEk2SUc1MWJHd3NYRzRnSUNBZ2NESTFOVEU1T2lCdWRXeHNYRzRnSUgwN1hHNWNiaUFnTHk4Z1VITmxkV1J2TFUxbGNuTmxibTVsSUhCeWFXMWxYRzRnSUdaMWJtTjBhVzl1SUUxUWNtbHRaU0FvYm1GdFpTd2djQ2tnZTF4dUlDQWdJQzh2SUZBZ1BTQXlJRjRnVGlBdElFdGNiaUFnSUNCMGFHbHpMbTVoYldVZ1BTQnVZVzFsTzF4dUlDQWdJSFJvYVhNdWNDQTlJRzVsZHlCQ1RpaHdMQ0F4TmlrN1hHNGdJQ0FnZEdocGN5NXVJRDBnZEdocGN5NXdMbUpwZEV4bGJtZDBhQ2dwTzF4dUlDQWdJSFJvYVhNdWF5QTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1dUtTNXBjM1ZpS0hSb2FYTXVjQ2s3WEc1Y2JpQWdJQ0IwYUdsekxuUnRjQ0E5SUhSb2FYTXVYM1J0Y0NncE8xeHVJQ0I5WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNWZkRzF3SUQwZ1puVnVZM1JwYjI0Z1gzUnRjQ0FvS1NCN1hHNGdJQ0FnZG1GeUlIUnRjQ0E5SUc1bGR5QkNUaWh1ZFd4c0tUdGNiaUFnSUNCMGJYQXVkMjl5WkhNZ1BTQnVaWGNnUVhKeVlYa29UV0YwYUM1alpXbHNLSFJvYVhNdWJpQXZJREV6S1NrN1hHNGdJQ0FnY21WMGRYSnVJSFJ0Y0R0Y2JpQWdmVHRjYmx4dUlDQk5VSEpwYldVdWNISnZkRzkwZVhCbExtbHlaV1IxWTJVZ1BTQm1kVzVqZEdsdmJpQnBjbVZrZFdObElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCQmMzTjFiV1Z6SUhSb1lYUWdZRzUxYldBZ2FYTWdiR1Z6Y3lCMGFHRnVJR0JRWGpKZ1hHNGdJQ0FnTHk4Z2JuVnRJRDBnU0VrZ0tpQW9NaUJlSUU0Z0xTQkxLU0FySUVoSklDb2dTeUFySUV4UElEMGdTRWtnS2lCTElDc2dURThnS0cxdlpDQlFLVnh1SUNBZ0lIWmhjaUJ5SUQwZ2JuVnRPMXh1SUNBZ0lIWmhjaUJ5YkdWdU8xeHVYRzRnSUNBZ1pHOGdlMXh1SUNBZ0lDQWdkR2hwY3k1emNHeHBkQ2h5TENCMGFHbHpMblJ0Y0NrN1hHNGdJQ0FnSUNCeUlEMGdkR2hwY3k1cGJYVnNTeWh5S1R0Y2JpQWdJQ0FnSUhJZ1BTQnlMbWxoWkdRb2RHaHBjeTUwYlhBcE8xeHVJQ0FnSUNBZ2NteGxiaUE5SUhJdVltbDBUR1Z1WjNSb0tDazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2NteGxiaUErSUhSb2FYTXViaWs3WEc1Y2JpQWdJQ0IyWVhJZ1kyMXdJRDBnY214bGJpQThJSFJvYVhNdWJpQS9JQzB4SURvZ2NpNTFZMjF3S0hSb2FYTXVjQ2s3WEc0Z0lDQWdhV1lnS0dOdGNDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0J5TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoamJYQWdQaUF3S1NCN1hHNGdJQ0FnSUNCeUxtbHpkV0lvZEdocGN5NXdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NpNXpkSEpwY0NncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWMzQnNhWFFnUFNCbWRXNWpkR2x2YmlCemNHeHBkQ0FvYVc1d2RYUXNJRzkxZENrZ2UxeHVJQ0FnSUdsdWNIVjBMbWwxYzJoeWJpaDBhR2x6TG00c0lEQXNJRzkxZENrN1hHNGdJSDA3WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNXBiWFZzU3lBOUlHWjFibU4wYVc5dUlHbHRkV3hMSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbWx0ZFd3b2RHaHBjeTVyS1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQkxNalUySUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuYXpJMU5pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1aak1tWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhMTWpVMkxDQk5VSEpwYldVcE8xeHVYRzRnSUVzeU5UWXVjSEp2ZEc5MGVYQmxMbk53YkdsMElEMGdablZ1WTNScGIyNGdjM0JzYVhRZ0tHbHVjSFYwTENCdmRYUndkWFFwSUh0Y2JpQWdJQ0F2THlBeU5UWWdQU0E1SUNvZ01qWWdLeUF5TWx4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVk3WEc1Y2JpQWdJQ0IyWVhJZ2IzVjBUR1Z1SUQwZ1RXRjBhQzV0YVc0b2FXNXdkWFF1YkdWdVozUm9MQ0E1S1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUc5MWRFeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQnZkWFJ3ZFhRdWQyOXlaSE5iYVYwZ1BTQnBibkIxZEM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0I5WEc0Z0lDQWdiM1YwY0hWMExteGxibWQwYUNBOUlHOTFkRXhsYmp0Y2JseHVJQ0FnSUdsbUlDaHBibkIxZEM1c1pXNW5kR2dnUEQwZ09Ta2dlMXh1SUNBZ0lDQWdhVzV3ZFhRdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCVGFHbG1kQ0JpZVNBNUlHeHBiV0p6WEc0Z0lDQWdkbUZ5SUhCeVpYWWdQU0JwYm5CMWRDNTNiM0prYzFzNVhUdGNiaUFnSUNCdmRYUndkWFF1ZDI5eVpITmJiM1YwY0hWMExteGxibWQwYUNzclhTQTlJSEJ5WlhZZ0ppQnRZWE5yTzF4dVhHNGdJQ0FnWm05eUlDaHBJRDBnTVRBN0lHa2dQQ0JwYm5CMWRDNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHNWxlSFFnUFNCcGJuQjFkQzUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNCcGJuQjFkQzUzYjNKa2MxdHBJQzBnTVRCZElEMGdLQ2h1WlhoMElDWWdiV0Z6YXlrZ1BEd2dOQ2tnZkNBb2NISmxkaUErUGo0Z01qSXBPMXh1SUNBZ0lDQWdjSEpsZGlBOUlHNWxlSFE3WEc0Z0lDQWdmVnh1SUNBZ0lIQnlaWFlnUGo0K1BTQXlNanRjYmlBZ0lDQnBibkIxZEM1M2IzSmtjMXRwSUMwZ01UQmRJRDBnY0hKbGRqdGNiaUFnSUNCcFppQW9jSEpsZGlBOVBUMGdNQ0FtSmlCcGJuQjFkQzVzWlc1bmRHZ2dQaUF4TUNrZ2UxeHVJQ0FnSUNBZ2FXNXdkWFF1YkdWdVozUm9JQzA5SURFd08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwYm5CMWRDNXNaVzVuZEdnZ0xUMGdPVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnU3pJMU5pNXdjbTkwYjNSNWNHVXVhVzExYkVzZ1BTQm1kVzVqZEdsdmJpQnBiWFZzU3lBb2JuVnRLU0I3WEc0Z0lDQWdMeThnU3lBOUlEQjRNVEF3TURBd00yUXhJRDBnV3lBd2VEUXdMQ0F3ZUROa01TQmRYRzRnSUNBZ2JuVnRMbmR2Y21SelcyNTFiUzVzWlc1bmRHaGRJRDBnTUR0Y2JpQWdJQ0J1ZFcwdWQyOXlaSE5iYm5WdExteGxibWQwYUNBcklERmRJRDBnTUR0Y2JpQWdJQ0J1ZFcwdWJHVnVaM1JvSUNzOUlESTdYRzVjYmlBZ0lDQXZMeUJpYjNWdVpHVmtJR0YwT2lBd2VEUXdJQ29nTUhnelptWm1abVptSUNzZ01IZ3paREFnUFNBd2VERXdNREF3TURNNU1GeHVJQ0FnSUhaaGNpQnNieUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCdWRXMHViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnYm5WdExuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJR3h2SUNzOUlIY2dLaUF3ZUROa01UdGNiaUFnSUNBZ0lHNTFiUzUzYjNKa2MxdHBYU0E5SUd4dklDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdiRzhnUFNCM0lDb2dNSGcwTUNBcklDZ29iRzhnTHlBd2VEUXdNREF3TURBcElId2dNQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUm1GemRDQnNaVzVuZEdnZ2NtVmtkV04wYVc5dVhHNGdJQ0FnYVdZZ0tHNTFiUzUzYjNKa2MxdHVkVzB1YkdWdVozUm9JQzBnTVYwZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUc1MWJTNXNaVzVuZEdndExUdGNiaUFnSUNBZ0lHbG1JQ2h1ZFcwdWQyOXlaSE5iYm5WdExteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzUxYlM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCUU1qSTBJQ2dwSUh0Y2JpQWdJQ0JOVUhKcGJXVXVZMkZzYkNoY2JpQWdJQ0FnSUhSb2FYTXNYRzRnSUNBZ0lDQW5jREl5TkNjc1hHNGdJQ0FnSUNBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ01EQXdNREF3TURBZ01EQXdNREF3TURBZ01EQXdNREF3TURFbktUdGNiaUFnZlZ4dUlDQnBibWhsY21sMGN5aFFNakkwTENCTlVISnBiV1VwTzF4dVhHNGdJR1oxYm1OMGFXOXVJRkF4T1RJZ0tDa2dlMXh1SUNBZ0lFMVFjbWx0WlM1allXeHNLRnh1SUNBZ0lDQWdkR2hwY3l4Y2JpQWdJQ0FnSUNkd01Ua3lKeXhjYmlBZ0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptWm1aaUJtWm1abVptWm1aaWNwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0ZBeE9USXNJRTFRY21sdFpTazdYRzVjYmlBZ1puVnVZM1JwYjI0Z1VESTFOVEU1SUNncElIdGNiaUFnSUNBdkx5QXlJRjRnTWpVMUlDMGdNVGxjYmlBZ0lDQk5VSEpwYldVdVkyRnNiQ2hjYmlBZ0lDQWdJSFJvYVhNc1hHNGdJQ0FnSUNBbk1qVTFNVGtuTEZ4dUlDQWdJQ0FnSnpkbVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWm1aaUJtWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVpXUW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTWpVMU1Ua3NJRTFRY21sdFpTazdYRzVjYmlBZ1VESTFOVEU1TG5CeWIzUnZkSGx3WlM1cGJYVnNTeUE5SUdaMWJtTjBhVzl1SUdsdGRXeExJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QkxJRDBnTUhneE0xeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJvYVNBOUlDaHVkVzB1ZDI5eVpITmJhVjBnZkNBd0tTQXFJREI0TVRNZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhaaGNpQnNieUE5SUdocElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdhR2tnUGo0K1BTQXlOanRjYmx4dUlDQWdJQ0FnYm5WdExuZHZjbVJ6VzJsZElEMGdiRzg3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJR2hwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lHNTFiUzUzYjNKa2MxdHVkVzB1YkdWdVozUm9LeXRkSUQwZ1kyRnljbms3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1JYaHdiM0owWldRZ2JXOXpkR3g1SUdadmNpQjBaWE4wYVc1bklIQjFjbkJ2YzJWekxDQjFjMlVnY0d4aGFXNGdibUZ0WlNCcGJuTjBaV0ZrWEc0Z0lFSk9MbDl3Y21sdFpTQTlJR1oxYm1OMGFXOXVJSEJ5YVcxbElDaHVZVzFsS1NCN1hHNGdJQ0FnTHk4Z1EyRmphR1ZrSUhabGNuTnBiMjRnYjJZZ2NISnBiV1ZjYmlBZ0lDQnBaaUFvY0hKcGJXVnpXMjVoYldWZEtTQnlaWFIxY200Z2NISnBiV1Z6VzI1aGJXVmRPMXh1WEc0Z0lDQWdkbUZ5SUhCeWFXMWxPMXh1SUNBZ0lHbG1JQ2h1WVcxbElEMDlQU0FuYXpJMU5pY3BJSHRjYmlBZ0lDQWdJSEJ5YVcxbElEMGdibVYzSUVzeU5UWW9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVoYldVZ1BUMDlJQ2R3TWpJMEp5a2dlMXh1SUNBZ0lDQWdjSEpwYldVZ1BTQnVaWGNnVURJeU5DZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ibUZ0WlNBOVBUMGdKM0F4T1RJbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJRTVRreUtDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREkxTlRFNUp5a2dlMXh1SUNBZ0lDQWdjSEpwYldVZ1BTQnVaWGNnVURJMU5URTVLQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblZXNXJibTkzYmlCd2NtbHRaU0FuSUNzZ2JtRnRaU2s3WEc0Z0lDQWdmVnh1SUNBZ0lIQnlhVzFsYzF0dVlXMWxYU0E5SUhCeWFXMWxPMXh1WEc0Z0lDQWdjbVYwZFhKdUlIQnlhVzFsTzF4dUlDQjlPMXh1WEc0Z0lDOHZYRzRnSUM4dklFSmhjMlVnY21Wa2RXTjBhVzl1SUdWdVoybHVaVnh1SUNBdkwxeHVJQ0JtZFc1amRHbHZiaUJTWldRZ0tHMHBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzBnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQjJZWElnY0hKcGJXVWdQU0JDVGk1ZmNISnBiV1VvYlNrN1hHNGdJQ0FnSUNCMGFHbHpMbTBnUFNCd2NtbHRaUzV3TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlIQnlhVzFsTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb2JTNW5kRzRvTVNrc0lDZHRiMlIxYkhWeklHMTFjM1FnWW1VZ1ozSmxZWFJsY2lCMGFHRnVJREVuS1R0Y2JpQWdJQ0FnSUhSb2FYTXViU0E5SUcwN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YVcxbElEMGdiblZzYkR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbDkyWlhKcFpua3hJRDBnWm5WdVkzUnBiMjRnWDNabGNtbG1lVEVnS0dFcElIdGNiaUFnSUNCaGMzTmxjblFvWVM1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ1lYTnpaWEowS0dFdWNtVmtMQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVYM1psY21sbWVUSWdQU0JtZFc1amRHbHZiaUJmZG1WeWFXWjVNaUFvWVN3Z1lpa2dlMXh1SUNBZ0lHRnpjMlZ5ZENnb1lTNXVaV2RoZEdsMlpTQjhJR0l1Ym1WbllYUnBkbVVwSUQwOVBTQXdMQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCd2IzTnBkR2wyWlhNbktUdGNiaUFnSUNCaGMzTmxjblFvWVM1eVpXUWdKaVlnWVM1eVpXUWdQVDA5SUdJdWNtVmtMRnh1SUNBZ0lDQWdKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRiMlFnUFNCbWRXNWpkR2x2YmlCcGJXOWtJQ2hoS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11Y0hKcGJXVXBJSEpsZEhWeWJpQjBhR2x6TG5CeWFXMWxMbWx5WldSMVkyVW9ZU2t1WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCaExuVnRiMlFvZEdocGN5NXRLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXVaV2NnUFNCbWRXNWpkR2x2YmlCdVpXY2dLR0VwSUh0Y2JpQWdJQ0JwWmlBb1lTNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRXVZMnh2Ym1Vb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXRMbk4xWWloaEtTNWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1aFpHUWdQU0JtZFc1amRHbHZiaUJoWkdRZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdVlXUmtLR0lwTzF4dUlDQWdJR2xtSUNoeVpYTXVZMjF3S0hSb2FYTXViU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1semRXSW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwWVdSa0lEMGdablZ1WTNScGIyNGdhV0ZrWkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWVM1cFlXUmtLR0lwTzF4dUlDQWdJR2xtSUNoeVpYTXVZMjF3S0hSb2FYTXViU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1semRXSW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5OMVlpQTlJR1oxYm1OMGFXOXVJSE4xWWlBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnWVM1emRXSW9ZaWs3WEc0Z0lDQWdhV1lnS0hKbGN5NWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WekxtbGhaR1FvZEdocGN5NXRLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGMzVmlJRDBnWm5WdVkzUnBiMjRnYVhOMVlpQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lTNXBjM1ZpS0dJcE8xeHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6YUd3Z1BTQm1kVzVqZEdsdmJpQnphR3dnS0dFc0lHNTFiU2tnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRFb1lTazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNoaExuVnphR3h1S0c1MWJTa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzExYkNBOUlHWjFibU4wYVc5dUlHbHRkV3dnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb1lTNXBiWFZzS0dJcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMXZaQ2hoTG0xMWJDaGlLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYzNGeUlEMGdablZ1WTNScGIyNGdhWE54Y2lBb1lTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0ZFd3b1lTd2dZUzVqYkc5dVpTZ3BLVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbk54Y2lBOUlHWjFibU4wYVc5dUlITnhjaUFvWVNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtMTFiQ2hoTENCaEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuTnhjblFnUFNCbWRXNWpkR2x2YmlCemNYSjBJQ2hoS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa3BJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnYlc5a015QTlJSFJvYVhNdWJTNWhibVJzYmlnektUdGNiaUFnSUNCaGMzTmxjblFvYlc5a015QWxJRElnUFQwOUlERXBPMXh1WEc0Z0lDQWdMeThnUm1GemRDQmpZWE5sWEc0Z0lDQWdhV1lnS0cxdlpETWdQVDA5SURNcElIdGNiaUFnSUNBZ0lIWmhjaUJ3YjNjZ1BTQjBhR2x6TG0wdVlXUmtLRzVsZHlCQ1RpZ3hLU2t1YVhWemFISnVLRElwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdWNHOTNLR0VzSUhCdmR5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdWRzl1Wld4c2FTMVRhR0Z1YTNNZ1lXeG5iM0pwZEdodElDaFViM1JoYkd4NUlIVnViM0IwYVcxcGVtVmtJR0Z1WkNCemJHOTNLVnh1SUNBZ0lDOHZYRzRnSUNBZ0x5OGdSbWx1WkNCUklHRnVaQ0JUTENCMGFHRjBJRkVnS2lBeUlGNGdVeUE5SUNoUUlDMGdNU2xjYmlBZ0lDQjJZWElnY1NBOUlIUm9hWE11YlM1emRXSnVLREVwTzF4dUlDQWdJSFpoY2lCeklEMGdNRHRjYmlBZ0lDQjNhR2xzWlNBb0lYRXVhWE5hWlhKdktDa2dKaVlnY1M1aGJtUnNiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY3lzck8xeHVJQ0FnSUNBZ2NTNXBkWE5vY200b01TazdYRzRnSUNBZ2ZWeHVJQ0FnSUdGemMyVnlkQ2doY1M1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCMllYSWdiMjVsSUQwZ2JtVjNJRUpPS0RFcExuUnZVbVZrS0hSb2FYTXBPMXh1SUNBZ0lIWmhjaUJ1VDI1bElEMGdiMjVsTG5KbFpFNWxaeWdwTzF4dVhHNGdJQ0FnTHk4Z1JtbHVaQ0J4ZFdGa2NtRjBhV01nYm05dUxYSmxjMmxrZFdWY2JpQWdJQ0F2THlCT1QxUkZPaUJOWVhnZ2FYTWdjM1ZqYUNCaVpXTmhkWE5sSUc5bUlHZGxibVZ5WVd4cGVtVmtJRkpwWlcxaGJtNGdhSGx3YjNSb1pYTnBjeTVjYmlBZ0lDQjJZWElnYkhCdmR5QTlJSFJvYVhNdWJTNXpkV0p1S0RFcExtbDFjMmh5YmlneEtUdGNiaUFnSUNCMllYSWdlaUE5SUhSb2FYTXViUzVpYVhSTVpXNW5kR2dvS1R0Y2JpQWdJQ0I2SUQwZ2JtVjNJRUpPS0RJZ0tpQjZJQ29nZWlrdWRHOVNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTV3YjNjb2Vpd2diSEJ2ZHlrdVkyMXdLRzVQYm1VcElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCNkxuSmxaRWxCWkdRb2JrOXVaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG5CdmR5aDZMQ0J4S1R0Y2JpQWdJQ0IyWVhJZ2NpQTlJSFJvYVhNdWNHOTNLR0VzSUhFdVlXUmtiaWd4S1M1cGRYTm9jbTRvTVNrcE8xeHVJQ0FnSUhaaGNpQjBJRDBnZEdocGN5NXdiM2NvWVN3Z2NTazdYRzRnSUNBZ2RtRnlJRzBnUFNCek8xeHVJQ0FnSUhkb2FXeGxJQ2gwTG1OdGNDaHZibVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RHMXdJRDBnZER0Y2JpQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUIwYlhBdVkyMXdLRzl1WlNrZ0lUMDlJREE3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYlhBZ1BTQjBiWEF1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JoYzNObGNuUW9hU0E4SUcwcE8xeHVJQ0FnSUNBZ2RtRnlJR0lnUFNCMGFHbHpMbkJ2ZHloakxDQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtHMGdMU0JwSUMwZ01Ta3BPMXh1WEc0Z0lDQWdJQ0J5SUQwZ2NpNXlaV1JOZFd3b1lpazdYRzRnSUNBZ0lDQmpJRDBnWWk1eVpXUlRjWElvS1R0Y2JpQWdJQ0FnSUhRZ1BTQjBMbkpsWkUxMWJDaGpLVHRjYmlBZ0lDQWdJRzBnUFNCcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVc1MmJTQTlJR1oxYm1OMGFXOXVJR2x1ZG0wZ0tHRXBJSHRjYmlBZ0lDQjJZWElnYVc1MklEMGdZUzVmYVc1MmJYQW9kR2hwY3k1dEtUdGNiaUFnSUNCcFppQW9hVzUyTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0JwYm5ZdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaHBibllwTG5KbFpFNWxaeWdwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHbHVkaWs3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjRzkzSUQwZ1puVnVZM1JwYjI0Z2NHOTNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQnBaaUFvYm5WdExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2JtVjNJRUpPS0RFcExuUnZVbVZrS0hSb2FYTXBPMXh1SUNBZ0lHbG1JQ2h1ZFcwdVkyMXdiaWd4S1NBOVBUMGdNQ2tnY21WMGRYSnVJR0V1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSFpoY2lCM2FXNWtiM2RUYVhwbElEMGdORHRjYmlBZ0lDQjJZWElnZDI1a0lEMGdibVYzSUVGeWNtRjVLREVnUER3Z2QybHVaRzkzVTJsNlpTazdYRzRnSUNBZ2QyNWtXekJkSUQwZ2JtVjNJRUpPS0RFcExuUnZVbVZrS0hSb2FYTXBPMXh1SUNBZ0lIZHVaRnN4WFNBOUlHRTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREk3SUdrZ1BDQjNibVF1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIZHVaRnRwWFNBOUlIUm9hWE11YlhWc0tIZHVaRnRwSUMwZ01WMHNJR0VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IzYm1SYk1GMDdYRzRnSUNBZ2RtRnlJR04xY25KbGJuUWdQU0F3TzF4dUlDQWdJSFpoY2lCamRYSnlaVzUwVEdWdUlEMGdNRHRjYmlBZ0lDQjJZWElnYzNSaGNuUWdQU0J1ZFcwdVltbDBUR1Z1WjNSb0tDa2dKU0F5Tmp0Y2JpQWdJQ0JwWmlBb2MzUmhjblFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE4wWVhKMElEMGdNalk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdabTl5SUNocElEMGdiblZ0TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyOXlaQ0E5SUc1MWJTNTNiM0prYzF0cFhUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J6ZEdGeWRDQXRJREU3SUdvZ1BqMGdNRHNnYWkwdEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCaWFYUWdQU0FvZDI5eVpDQStQaUJxS1NBbUlERTdYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYTWdJVDA5SUhkdVpGc3dYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM0Z5S0hKbGN5azdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9ZbWwwSUQwOVBTQXdJQ1ltSUdOMWNuSmxiblFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamRYSnlaVzUwVEdWdUlEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR04xY25KbGJuUWdQRHc5SURFN1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5RZ2ZEMGdZbWwwTzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwVEdWdUt5czdYRzRnSUNBZ0lDQWdJR2xtSUNoamRYSnlaVzUwVEdWdUlDRTlQU0IzYVc1a2IzZFRhWHBsSUNZbUlDaHBJQ0U5UFNBd0lIeDhJR29nSVQwOUlEQXBLU0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtMTFiQ2h5WlhNc0lIZHVaRnRqZFhKeVpXNTBYU2s3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblJNWlc0Z1BTQXdPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBJRDBnTUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhOMFlYSjBJRDBnTWpZN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1OdmJuWmxjblJVYnlBOUlHWjFibU4wYVc5dUlHTnZiblpsY25SVWJ5QW9iblZ0S1NCN1hHNGdJQ0FnZG1GeUlISWdQU0J1ZFcwdWRXMXZaQ2gwYUdsekxtMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlISWdQVDA5SUc1MWJTQS9JSEl1WTJ4dmJtVW9LU0E2SUhJN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowUm5KdmJTQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUkdjbTl0SUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnY21WeklEMGdiblZ0TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdjbVZ6TG5KbFpDQTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMMXh1SUNBdkx5Qk5iMjUwWjI5dFpYSjVJRzFsZEdodlpDQmxibWRwYm1WY2JpQWdMeTljYmx4dUlDQkNUaTV0YjI1MElEMGdablZ1WTNScGIyNGdiVzl1ZENBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJOYjI1MEtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1RXOXVkQ0FvYlNrZ2UxeHVJQ0FnSUZKbFpDNWpZV3hzS0hSb2FYTXNJRzBwTzF4dVhHNGdJQ0FnZEdocGN5NXphR2xtZENBOUlIUm9hWE11YlM1aWFYUk1aVzVuZEdnb0tUdGNiaUFnSUNCcFppQW9kR2hwY3k1emFHbG1kQ0FsSURJMklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbk5vYVdaMElDczlJREkySUMwZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXlJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxuTm9hV1owS1R0Y2JpQWdJQ0IwYUdsekxuSXlJRDBnZEdocGN5NXBiVzlrS0hSb2FYTXVjaTV6Y1hJb0tTazdYRzRnSUNBZ2RHaHBjeTV5YVc1MklEMGdkR2hwY3k1eUxsOXBiblp0Y0NoMGFHbHpMbTBwTzF4dVhHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV5YVc1MkxtMTFiQ2gwYUdsekxuSXBMbWx6ZFdKdUtERXBMbVJwZGloMGFHbHpMbTBwTzF4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXViV2x1ZGk1MWJXOWtLSFJvYVhNdWNpazdYRzRnSUNBZ2RHaHBjeTV0YVc1MklEMGdkR2hwY3k1eUxuTjFZaWgwYUdsekxtMXBibllwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0UxdmJuUXNJRkpsWkNrN1hHNWNiaUFnVFc5dWRDNXdjbTkwYjNSNWNHVXVZMjl1ZG1WeWRGUnZJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRlJ2SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHNTFiUzUxYzJoc2JpaDBhR2x6TG5Ob2FXWjBLU2s3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSElnUFNCMGFHbHpMbWx0YjJRb2JuVnRMbTExYkNoMGFHbHpMbkpwYm5ZcEtUdGNiaUFnSUNCeUxuSmxaQ0E5SUc1MWJHdzdYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLR0VzSUdJcElIdGNiaUFnSUNCcFppQW9ZUzVwYzFwbGNtOG9LU0I4ZkNCaUxtbHpXbVZ5YnlncEtTQjdYRzRnSUNBZ0lDQmhMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUdFdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQjBJRDBnWVM1cGJYVnNLR0lwTzF4dUlDQWdJSFpoY2lCaklEMGdkQzV0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0YVc1MktTNXBiV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViU2s3WEc0Z0lDQWdkbUZ5SUhVZ1BTQjBMbWx6ZFdJb1l5a3VhWFZ6YUhKdUtIUm9hWE11YzJocFpuUXBPMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjFPMXh1WEc0Z0lDQWdhV1lnS0hVdVkyMXdLSFJvYVhNdWJTa2dQajBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cGMzVmlLSFJvYVhNdWJTazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDFMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IxTG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0JwWmlBb1lTNXBjMXBsY204b0tTQjhmQ0JpTG1seldtVnlieWdwS1NCeVpYUjFjbTRnYm1WM0lFSk9LREFwTGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmx4dUlDQWdJSFpoY2lCMElEMGdZUzV0ZFd3b1lpazdYRzRnSUNBZ2RtRnlJR01nUFNCMExtMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMXBibllwTG1sdFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dEtUdGNiaUFnSUNCMllYSWdkU0E5SUhRdWFYTjFZaWhqS1M1cGRYTm9jbTRvZEdocGN5NXphR2xtZENrN1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhVN1hHNGdJQ0FnYVdZZ0tIVXVZMjF3S0hSb2FYTXViU2tnUGowZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RTNXBjM1ZpS0hSb2FYTXViU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gxTG1OdGNHNG9NQ2tnUENBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMUxtbGhaR1FvZEdocGN5NXRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JOYjI1MExuQnliM1J2ZEhsd1pTNXBiblp0SUQwZ1puVnVZM1JwYjI0Z2FXNTJiU0FvWVNrZ2UxeHVJQ0FnSUM4dklDaEJVaWxlTFRFZ0tpQlNYaklnUFNBb1FWNHRNU0FxSUZKZUxURXBJQ29nVWw0eUlEMGdRVjR0TVNBcUlGSmNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RHaHBjeTVwYlc5a0tHRXVYMmx1ZG0xd0tIUm9hWE11YlNrdWJYVnNLSFJvYVhNdWNqSXBLVHRjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JuMHBLSFI1Y0dWdlppQnRiMlIxYkdVZ1BUMDlJQ2QxYm1SbFptbHVaV1FuSUh4OElHMXZaSFZzWlN3Z2RHaHBjeWs3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9kaWZmaWUtaGVsbG1hbi9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGVsbGlwdGljID0gZXhwb3J0cztcXG5cXG5lbGxpcHRpYy52ZXJzaW9uID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vcGFja2FnZS5qc29uICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9wYWNrYWdlLmpzb25cXFwiKS52ZXJzaW9uO1xcbmVsbGlwdGljLnV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbGxpcHRpYy91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxuZWxsaXB0aWMucmFuZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3JhbmQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanNcXFwiKTtcXG5lbGxpcHRpYy5jdXJ2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWxsaXB0aWMvY3VydmUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9pbmRleC5qc1xcXCIpO1xcbmVsbGlwdGljLmN1cnZlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWxsaXB0aWMvY3VydmVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzXFxcIik7XFxuXFxuLy8gUHJvdG9jb2xzXFxuZWxsaXB0aWMuZWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2VsbGlwdGljL2VjICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanNcXFwiKTtcXG5lbGxpcHRpYy5lZGRzYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZWxsaXB0aWMvZWRkc2EgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9pbmRleC5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXVhbk0vTm1GbU5TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllqczdRVUZGUVN4dFFrRkJiVUlzYlVKQlFVOHNRMEZCUXl3MlJFRkJhVUk3UVVGRE5VTXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNkVVZCUVd0Q08wRkJRek5ETEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETEdkRVFVRlRPMEZCUTJwRExHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExEWkZRVUZyUWp0QlFVTXpReXhyUWtGQmEwSXNiVUpCUVU4c1EwRkJReXg1UlVGQmJVSTdPMEZCUlRkRE8wRkJRMEVzWTBGQll5eHRRa0ZCVHl4RFFVRkRMSFZGUVVGbE8wRkJRM0pETEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETERaRlFVRnJRaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV011YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCbGJHeHBjSFJwWXlBOUlHVjRjRzl5ZEhNN1hHNWNibVZzYkdsd2RHbGpMblpsY25OcGIyNGdQU0J5WlhGMWFYSmxLQ2N1TGk5d1lXTnJZV2RsTG1wemIyNG5LUzUyWlhKemFXOXVPMXh1Wld4c2FYQjBhV011ZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TDJWc2JHbHdkR2xqTDNWMGFXeHpKeWs3WEc1bGJHeHBjSFJwWXk1eVlXNWtJRDBnY21WeGRXbHlaU2duWW5KdmNtRnVaQ2NwTzF4dVpXeHNhWEIwYVdNdVkzVnlkbVVnUFNCeVpYRjFhWEpsS0NjdUwyVnNiR2x3ZEdsakwyTjFjblpsSnlrN1hHNWxiR3hwY0hScFl5NWpkWEoyWlhNZ1BTQnlaWEYxYVhKbEtDY3VMMlZzYkdsd2RHbGpMMk4xY25abGN5Y3BPMXh1WEc0dkx5QlFjbTkwYjJOdmJITmNibVZzYkdsd2RHbGpMbVZqSUQwZ2NtVnhkV2x5WlNnbkxpOWxiR3hwY0hScFl5OWxZeWNwTzF4dVpXeHNhWEIwYVdNdVpXUmtjMkVnUFNCeVpYRjFhWEpsS0NjdUwyVnNiR2x3ZEdsakwyVmtaSE5oSnlrN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgZ2V0TkFGID0gdXRpbHMuZ2V0TkFGO1xcbnZhciBnZXRKU0YgPSB1dGlscy5nZXRKU0Y7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG5cXG5mdW5jdGlvbiBCYXNlQ3VydmUodHlwZSwgY29uZikge1xcbiAgdGhpcy50eXBlID0gdHlwZTtcXG4gIHRoaXMucCA9IG5ldyBCTihjb25mLnAsIDE2KTtcXG5cXG4gIC8vIFVzZSBNb250Z29tZXJ5LCB3aGVuIHRoZXJlIGlzIG5vIGZhc3QgcmVkdWN0aW9uIGZvciB0aGUgcHJpbWVcXG4gIHRoaXMucmVkID0gY29uZi5wcmltZSA/IEJOLnJlZChjb25mLnByaW1lKSA6IEJOLm1vbnQodGhpcy5wKTtcXG5cXG4gIC8vIFVzZWZ1bCBmb3IgbWFueSBjdXJ2ZXNcXG4gIHRoaXMuemVybyA9IG5ldyBCTigwKS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLm9uZSA9IG5ldyBCTigxKS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XFxuXFxuICAvLyBDdXJ2ZSBjb25maWd1cmF0aW9uLCBvcHRpb25hbFxcbiAgdGhpcy5uID0gY29uZi5uICYmIG5ldyBCTihjb25mLm4sIDE2KTtcXG4gIHRoaXMuZyA9IGNvbmYuZyAmJiB0aGlzLnBvaW50RnJvbUpTT04oY29uZi5nLCBjb25mLmdSZWQpO1xcblxcbiAgLy8gVGVtcG9yYXJ5IGFycmF5c1xcbiAgdGhpcy5fd25hZlQxID0gbmV3IEFycmF5KDQpO1xcbiAgdGhpcy5fd25hZlQyID0gbmV3IEFycmF5KDQpO1xcbiAgdGhpcy5fd25hZlQzID0gbmV3IEFycmF5KDQpO1xcbiAgdGhpcy5fd25hZlQ0ID0gbmV3IEFycmF5KDQpO1xcblxcbiAgdGhpcy5fYml0TGVuZ3RoID0gdGhpcy5uID8gdGhpcy5uLmJpdExlbmd0aCgpIDogMDtcXG5cXG4gIC8vIEdlbmVyYWxpemVkIEdyZWcgTWF4d2VsbCdzIHRyaWNrXFxuICB2YXIgYWRqdXN0Q291bnQgPSB0aGlzLm4gJiYgdGhpcy5wLmRpdih0aGlzLm4pO1xcbiAgaWYgKCFhZGp1c3RDb3VudCB8fCBhZGp1c3RDb3VudC5jbXBuKDEwMCkgPiAwKSB7XFxuICAgIHRoaXMucmVkTiA9IG51bGw7XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLl9tYXh3ZWxsVHJpY2sgPSB0cnVlO1xcbiAgICB0aGlzLnJlZE4gPSB0aGlzLm4udG9SZWQodGhpcy5yZWQpO1xcbiAgfVxcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IEJhc2VDdXJ2ZTtcXG5cXG5CYXNlQ3VydmUucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24gcG9pbnQoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCcpO1xcbn07XFxuXFxuQmFzZUN1cnZlLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcXG59O1xcblxcbkJhc2VDdXJ2ZS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsID0gZnVuY3Rpb24gX2ZpeGVkTmFmTXVsKHAsIGspIHtcXG4gIGFzc2VydChwLnByZWNvbXB1dGVkKTtcXG4gIHZhciBkb3VibGVzID0gcC5fZ2V0RG91YmxlcygpO1xcblxcbiAgdmFyIG5hZiA9IGdldE5BRihrLCAxLCB0aGlzLl9iaXRMZW5ndGgpO1xcbiAgdmFyIEkgPSAoMSA8PCAoZG91Ymxlcy5zdGVwICsgMSkpIC0gKGRvdWJsZXMuc3RlcCAlIDIgPT09IDAgPyAyIDogMSk7XFxuICBJIC89IDM7XFxuXFxuICAvLyBUcmFuc2xhdGUgaW50byBtb3JlIHdpbmRvd2VkIGZvcm1cXG4gIHZhciByZXByID0gW107XFxuICBmb3IgKHZhciBqID0gMDsgaiA8IG5hZi5sZW5ndGg7IGogKz0gZG91Ymxlcy5zdGVwKSB7XFxuICAgIHZhciBuYWZXID0gMDtcXG4gICAgZm9yICh2YXIgayA9IGogKyBkb3VibGVzLnN0ZXAgLSAxOyBrID49IGo7IGstLSlcXG4gICAgICBuYWZXID0gKG5hZlcgPDwgMSkgKyBuYWZba107XFxuICAgIHJlcHIucHVzaChuYWZXKTtcXG4gIH1cXG5cXG4gIHZhciBhID0gdGhpcy5qcG9pbnQobnVsbCwgbnVsbCwgbnVsbCk7XFxuICB2YXIgYiA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xcbiAgZm9yICh2YXIgaSA9IEk7IGkgPiAwOyBpLS0pIHtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCByZXByLmxlbmd0aDsgaisrKSB7XFxuICAgICAgdmFyIG5hZlcgPSByZXByW2pdO1xcbiAgICAgIGlmIChuYWZXID09PSBpKVxcbiAgICAgICAgYiA9IGIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0pO1xcbiAgICAgIGVsc2UgaWYgKG5hZlcgPT09IC1pKVxcbiAgICAgICAgYiA9IGIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0ubmVnKCkpO1xcbiAgICB9XFxuICAgIGEgPSBhLmFkZChiKTtcXG4gIH1cXG4gIHJldHVybiBhLnRvUCgpO1xcbn07XFxuXFxuQmFzZUN1cnZlLnByb3RvdHlwZS5fd25hZk11bCA9IGZ1bmN0aW9uIF93bmFmTXVsKHAsIGspIHtcXG4gIHZhciB3ID0gNDtcXG5cXG4gIC8vIFByZWNvbXB1dGUgd2luZG93XFxuICB2YXIgbmFmUG9pbnRzID0gcC5fZ2V0TkFGUG9pbnRzKHcpO1xcbiAgdyA9IG5hZlBvaW50cy53bmQ7XFxuICB2YXIgd25kID0gbmFmUG9pbnRzLnBvaW50cztcXG5cXG4gIC8vIEdldCBOQUYgZm9ybVxcbiAgdmFyIG5hZiA9IGdldE5BRihrLCB3LCB0aGlzLl9iaXRMZW5ndGgpO1xcblxcbiAgLy8gQWRkIGB0aGlzYCooTisxKSBmb3IgZXZlcnkgdy1OQUYgaW5kZXhcXG4gIHZhciBhY2MgPSB0aGlzLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gIGZvciAodmFyIGkgPSBuYWYubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgLy8gQ291bnQgemVyb2VzXFxuICAgIGZvciAodmFyIGsgPSAwOyBpID49IDAgJiYgbmFmW2ldID09PSAwOyBpLS0pXFxuICAgICAgaysrO1xcbiAgICBpZiAoaSA+PSAwKVxcbiAgICAgIGsrKztcXG4gICAgYWNjID0gYWNjLmRibHAoayk7XFxuXFxuICAgIGlmIChpIDwgMClcXG4gICAgICBicmVhaztcXG4gICAgdmFyIHogPSBuYWZbaV07XFxuICAgIGFzc2VydCh6ICE9PSAwKTtcXG4gICAgaWYgKHAudHlwZSA9PT0gJ2FmZmluZScpIHtcXG4gICAgICAvLyBKICstIFBcXG4gICAgICBpZiAoeiA+IDApXFxuICAgICAgICBhY2MgPSBhY2MubWl4ZWRBZGQod25kWyh6IC0gMSkgPj4gMV0pO1xcbiAgICAgIGVsc2VcXG4gICAgICAgIGFjYyA9IGFjYy5taXhlZEFkZCh3bmRbKC16IC0gMSkgPj4gMV0ubmVnKCkpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEogKy0gSlxcbiAgICAgIGlmICh6ID4gMClcXG4gICAgICAgIGFjYyA9IGFjYy5hZGQod25kWyh6IC0gMSkgPj4gMV0pO1xcbiAgICAgIGVsc2VcXG4gICAgICAgIGFjYyA9IGFjYy5hZGQod25kWygteiAtIDEpID4+IDFdLm5lZygpKTtcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIHAudHlwZSA9PT0gJ2FmZmluZScgPyBhY2MudG9QKCkgOiBhY2M7XFxufTtcXG5cXG5CYXNlQ3VydmUucHJvdG90eXBlLl93bmFmTXVsQWRkID0gZnVuY3Rpb24gX3duYWZNdWxBZGQoZGVmVyxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzLFxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2VmZnMsXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgamFjb2JpYW5SZXN1bHQpIHtcXG4gIHZhciB3bmRXaWR0aCA9IHRoaXMuX3duYWZUMTtcXG4gIHZhciB3bmQgPSB0aGlzLl93bmFmVDI7XFxuICB2YXIgbmFmID0gdGhpcy5fd25hZlQzO1xcblxcbiAgLy8gRmlsbCBhbGwgYXJyYXlzXFxuICB2YXIgbWF4ID0gMDtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgdmFyIHAgPSBwb2ludHNbaV07XFxuICAgIHZhciBuYWZQb2ludHMgPSBwLl9nZXROQUZQb2ludHMoZGVmVyk7XFxuICAgIHduZFdpZHRoW2ldID0gbmFmUG9pbnRzLnduZDtcXG4gICAgd25kW2ldID0gbmFmUG9pbnRzLnBvaW50cztcXG4gIH1cXG5cXG4gIC8vIENvbWIgc21hbGwgd2luZG93IE5BRnNcXG4gIGZvciAodmFyIGkgPSBsZW4gLSAxOyBpID49IDE7IGkgLT0gMikge1xcbiAgICB2YXIgYSA9IGkgLSAxO1xcbiAgICB2YXIgYiA9IGk7XFxuICAgIGlmICh3bmRXaWR0aFthXSAhPT0gMSB8fCB3bmRXaWR0aFtiXSAhPT0gMSkge1xcbiAgICAgIG5hZlthXSA9IGdldE5BRihjb2VmZnNbYV0sIHduZFdpZHRoW2FdLCB0aGlzLl9iaXRMZW5ndGgpO1xcbiAgICAgIG5hZltiXSA9IGdldE5BRihjb2VmZnNbYl0sIHduZFdpZHRoW2JdLCB0aGlzLl9iaXRMZW5ndGgpO1xcbiAgICAgIG1heCA9IE1hdGgubWF4KG5hZlthXS5sZW5ndGgsIG1heCk7XFxuICAgICAgbWF4ID0gTWF0aC5tYXgobmFmW2JdLmxlbmd0aCwgbWF4KTtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICB2YXIgY29tYiA9IFtcXG4gICAgICBwb2ludHNbYV0sIC8qIDEgKi9cXG4gICAgICBudWxsLCAvKiAzICovXFxuICAgICAgbnVsbCwgLyogNSAqL1xcbiAgICAgIHBvaW50c1tiXSAvKiA3ICovXFxuICAgIF07XFxuXFxuICAgIC8vIFRyeSB0byBhdm9pZCBQcm9qZWN0aXZlIHBvaW50cywgaWYgcG9zc2libGVcXG4gICAgaWYgKHBvaW50c1thXS55LmNtcChwb2ludHNbYl0ueSkgPT09IDApIHtcXG4gICAgICBjb21iWzFdID0gcG9pbnRzW2FdLmFkZChwb2ludHNbYl0pO1xcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcXG4gICAgfSBlbHNlIGlmIChwb2ludHNbYV0ueS5jbXAocG9pbnRzW2JdLnkucmVkTmVnKCkpID09PSAwKSB7XFxuICAgICAgY29tYlsxXSA9IHBvaW50c1thXS50b0ooKS5taXhlZEFkZChwb2ludHNbYl0pO1xcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0uYWRkKHBvaW50c1tiXS5uZWcoKSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgY29tYlsxXSA9IHBvaW50c1thXS50b0ooKS5taXhlZEFkZChwb2ludHNbYl0pO1xcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcXG4gICAgfVxcblxcbiAgICB2YXIgaW5kZXggPSBbXFxuICAgICAgLTMsIC8qIC0xIC0xICovXFxuICAgICAgLTEsIC8qIC0xIDAgKi9cXG4gICAgICAtNSwgLyogLTEgMSAqL1xcbiAgICAgIC03LCAvKiAwIC0xICovXFxuICAgICAgMCwgLyogMCAwICovXFxuICAgICAgNywgLyogMCAxICovXFxuICAgICAgNSwgLyogMSAtMSAqL1xcbiAgICAgIDEsIC8qIDEgMCAqL1xcbiAgICAgIDMgIC8qIDEgMSAqL1xcbiAgICBdO1xcblxcbiAgICB2YXIganNmID0gZ2V0SlNGKGNvZWZmc1thXSwgY29lZmZzW2JdKTtcXG4gICAgbWF4ID0gTWF0aC5tYXgoanNmWzBdLmxlbmd0aCwgbWF4KTtcXG4gICAgbmFmW2FdID0gbmV3IEFycmF5KG1heCk7XFxuICAgIG5hZltiXSA9IG5ldyBBcnJheShtYXgpO1xcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IG1heDsgaisrKSB7XFxuICAgICAgdmFyIGphID0ganNmWzBdW2pdIHwgMDtcXG4gICAgICB2YXIgamIgPSBqc2ZbMV1bal0gfCAwO1xcblxcbiAgICAgIG5hZlthXVtqXSA9IGluZGV4WyhqYSArIDEpICogMyArIChqYiArIDEpXTtcXG4gICAgICBuYWZbYl1bal0gPSAwO1xcbiAgICAgIHduZFthXSA9IGNvbWI7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBhY2MgPSB0aGlzLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gIHZhciB0bXAgPSB0aGlzLl93bmFmVDQ7XFxuICBmb3IgKHZhciBpID0gbWF4OyBpID49IDA7IGktLSkge1xcbiAgICB2YXIgayA9IDA7XFxuXFxuICAgIHdoaWxlIChpID49IDApIHtcXG4gICAgICB2YXIgemVybyA9IHRydWU7XFxuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW47IGorKykge1xcbiAgICAgICAgdG1wW2pdID0gbmFmW2pdW2ldIHwgMDtcXG4gICAgICAgIGlmICh0bXBbal0gIT09IDApXFxuICAgICAgICAgIHplcm8gPSBmYWxzZTtcXG4gICAgICB9XFxuICAgICAgaWYgKCF6ZXJvKVxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgaysrO1xcbiAgICAgIGktLTtcXG4gICAgfVxcbiAgICBpZiAoaSA+PSAwKVxcbiAgICAgIGsrKztcXG4gICAgYWNjID0gYWNjLmRibHAoayk7XFxuICAgIGlmIChpIDwgMClcXG4gICAgICBicmVhaztcXG5cXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW47IGorKykge1xcbiAgICAgIHZhciB6ID0gdG1wW2pdO1xcbiAgICAgIHZhciBwO1xcbiAgICAgIGlmICh6ID09PSAwKVxcbiAgICAgICAgY29udGludWU7XFxuICAgICAgZWxzZSBpZiAoeiA+IDApXFxuICAgICAgICBwID0gd25kW2pdWyh6IC0gMSkgPj4gMV07XFxuICAgICAgZWxzZSBpZiAoeiA8IDApXFxuICAgICAgICBwID0gd25kW2pdWygteiAtIDEpID4+IDFdLm5lZygpO1xcblxcbiAgICAgIGlmIChwLnR5cGUgPT09ICdhZmZpbmUnKVxcbiAgICAgICAgYWNjID0gYWNjLm1peGVkQWRkKHApO1xcbiAgICAgIGVsc2VcXG4gICAgICAgIGFjYyA9IGFjYy5hZGQocCk7XFxuICAgIH1cXG4gIH1cXG4gIC8vIFplcm9pZnkgcmVmZXJlbmNlc1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKylcXG4gICAgd25kW2ldID0gbnVsbDtcXG5cXG4gIGlmIChqYWNvYmlhblJlc3VsdClcXG4gICAgcmV0dXJuIGFjYztcXG4gIGVsc2VcXG4gICAgcmV0dXJuIGFjYy50b1AoKTtcXG59O1xcblxcbmZ1bmN0aW9uIEJhc2VQb2ludChjdXJ2ZSwgdHlwZSkge1xcbiAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xcbiAgdGhpcy50eXBlID0gdHlwZTtcXG4gIHRoaXMucHJlY29tcHV0ZWQgPSBudWxsO1xcbn1cXG5CYXNlQ3VydmUuQmFzZVBvaW50ID0gQmFzZVBvaW50O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSgvKm90aGVyKi8pIHtcXG4gIHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkJyk7XFxufTtcXG5cXG5CYXNlUG9pbnQucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUoKSB7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS52YWxpZGF0ZSh0aGlzKTtcXG59O1xcblxcbkJhc2VDdXJ2ZS5wcm90b3R5cGUuZGVjb2RlUG9pbnQgPSBmdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcywgZW5jKSB7XFxuICBieXRlcyA9IHV0aWxzLnRvQXJyYXkoYnl0ZXMsIGVuYyk7XFxuXFxuICB2YXIgbGVuID0gdGhpcy5wLmJ5dGVMZW5ndGgoKTtcXG5cXG4gIC8vIHVuY29tcHJlc3NlZCwgaHlicmlkLW9kZCwgaHlicmlkLWV2ZW5cXG4gIGlmICgoYnl0ZXNbMF0gPT09IDB4MDQgfHwgYnl0ZXNbMF0gPT09IDB4MDYgfHwgYnl0ZXNbMF0gPT09IDB4MDcpICYmXFxuICAgICAgYnl0ZXMubGVuZ3RoIC0gMSA9PT0gMiAqIGxlbikge1xcbiAgICBpZiAoYnl0ZXNbMF0gPT09IDB4MDYpXFxuICAgICAgYXNzZXJ0KGJ5dGVzW2J5dGVzLmxlbmd0aCAtIDFdICUgMiA9PT0gMCk7XFxuICAgIGVsc2UgaWYgKGJ5dGVzWzBdID09PSAweDA3KVxcbiAgICAgIGFzc2VydChieXRlc1tieXRlcy5sZW5ndGggLSAxXSAlIDIgPT09IDEpO1xcblxcbiAgICB2YXIgcmVzID0gIHRoaXMucG9pbnQoYnl0ZXMuc2xpY2UoMSwgMSArIGxlbiksXFxuICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlcy5zbGljZSgxICsgbGVuLCAxICsgMiAqIGxlbikpO1xcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfSBlbHNlIGlmICgoYnl0ZXNbMF0gPT09IDB4MDIgfHwgYnl0ZXNbMF0gPT09IDB4MDMpICYmXFxuICAgICAgICAgICAgICBieXRlcy5sZW5ndGggLSAxID09PSBsZW4pIHtcXG4gICAgcmV0dXJuIHRoaXMucG9pbnRGcm9tWChieXRlcy5zbGljZSgxLCAxICsgbGVuKSwgYnl0ZXNbMF0gPT09IDB4MDMpO1xcbiAgfVxcbiAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHBvaW50IGZvcm1hdCcpO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGVDb21wcmVzc2VkID0gZnVuY3Rpb24gZW5jb2RlQ29tcHJlc3NlZChlbmMpIHtcXG4gIHJldHVybiB0aGlzLmVuY29kZShlbmMsIHRydWUpO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5fZW5jb2RlID0gZnVuY3Rpb24gX2VuY29kZShjb21wYWN0KSB7XFxuICB2YXIgbGVuID0gdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKTtcXG4gIHZhciB4ID0gdGhpcy5nZXRYKCkudG9BcnJheSgnYmUnLCBsZW4pO1xcblxcbiAgaWYgKGNvbXBhY3QpXFxuICAgIHJldHVybiBbIHRoaXMuZ2V0WSgpLmlzRXZlbigpID8gMHgwMiA6IDB4MDMgXS5jb25jYXQoeCk7XFxuXFxuICByZXR1cm4gWyAweDA0IF0uY29uY2F0KHgsIHRoaXMuZ2V0WSgpLnRvQXJyYXkoJ2JlJywgbGVuKSkgO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZW5jLCBjb21wYWN0KSB7XFxuICByZXR1cm4gdXRpbHMuZW5jb2RlKHRoaXMuX2VuY29kZShjb21wYWN0KSwgZW5jKTtcXG59O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUucHJlY29tcHV0ZSA9IGZ1bmN0aW9uIHByZWNvbXB1dGUocG93ZXIpIHtcXG4gIGlmICh0aGlzLnByZWNvbXB1dGVkKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIHZhciBwcmVjb21wdXRlZCA9IHtcXG4gICAgZG91YmxlczogbnVsbCxcXG4gICAgbmFmOiBudWxsLFxcbiAgICBiZXRhOiBudWxsXFxuICB9O1xcbiAgcHJlY29tcHV0ZWQubmFmID0gdGhpcy5fZ2V0TkFGUG9pbnRzKDgpO1xcbiAgcHJlY29tcHV0ZWQuZG91YmxlcyA9IHRoaXMuX2dldERvdWJsZXMoNCwgcG93ZXIpO1xcbiAgcHJlY29tcHV0ZWQuYmV0YSA9IHRoaXMuX2dldEJldGEoKTtcXG4gIHRoaXMucHJlY29tcHV0ZWQgPSBwcmVjb21wdXRlZDtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5faGFzRG91YmxlcyA9IGZ1bmN0aW9uIF9oYXNEb3VibGVzKGspIHtcXG4gIGlmICghdGhpcy5wcmVjb21wdXRlZClcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgdmFyIGRvdWJsZXMgPSB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7XFxuICBpZiAoIWRvdWJsZXMpXFxuICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIHJldHVybiBkb3VibGVzLnBvaW50cy5sZW5ndGggPj0gTWF0aC5jZWlsKChrLmJpdExlbmd0aCgpICsgMSkgLyBkb3VibGVzLnN0ZXApO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5fZ2V0RG91YmxlcyA9IGZ1bmN0aW9uIF9nZXREb3VibGVzKHN0ZXAsIHBvd2VyKSB7XFxuICBpZiAodGhpcy5wcmVjb21wdXRlZCAmJiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMpXFxuICAgIHJldHVybiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7XFxuXFxuICB2YXIgZG91YmxlcyA9IFsgdGhpcyBdO1xcbiAgdmFyIGFjYyA9IHRoaXM7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBvd2VyOyBpICs9IHN0ZXApIHtcXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdGVwOyBqKyspXFxuICAgICAgYWNjID0gYWNjLmRibCgpO1xcbiAgICBkb3VibGVzLnB1c2goYWNjKTtcXG4gIH1cXG4gIHJldHVybiB7XFxuICAgIHN0ZXA6IHN0ZXAsXFxuICAgIHBvaW50czogZG91Ymxlc1xcbiAgfTtcXG59O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldE5BRlBvaW50cyA9IGZ1bmN0aW9uIF9nZXROQUZQb2ludHMod25kKSB7XFxuICBpZiAodGhpcy5wcmVjb21wdXRlZCAmJiB0aGlzLnByZWNvbXB1dGVkLm5hZilcXG4gICAgcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQubmFmO1xcblxcbiAgdmFyIHJlcyA9IFsgdGhpcyBdO1xcbiAgdmFyIG1heCA9ICgxIDw8IHduZCkgLSAxO1xcbiAgdmFyIGRibCA9IG1heCA9PT0gMSA/IG51bGwgOiB0aGlzLmRibCgpO1xcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBtYXg7IGkrKylcXG4gICAgcmVzW2ldID0gcmVzW2kgLSAxXS5hZGQoZGJsKTtcXG4gIHJldHVybiB7XFxuICAgIHduZDogd25kLFxcbiAgICBwb2ludHM6IHJlc1xcbiAgfTtcXG59O1xcblxcbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldEJldGEgPSBmdW5jdGlvbiBfZ2V0QmV0YSgpIHtcXG4gIHJldHVybiBudWxsO1xcbn07XFxuXFxuQmFzZVBvaW50LnByb3RvdHlwZS5kYmxwID0gZnVuY3Rpb24gZGJscChrKSB7XFxuICB2YXIgciA9IHRoaXM7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGs7IGkrKylcXG4gICAgciA9IHIuZGJsKCk7XFxuICByZXR1cm4gcjtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdlltRnpaUzVxY3o5alpEQmlJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMRk5CUVZNc2JVSkJRVThzUTBGQlF5eHRSVUZCVHp0QlFVTjRRaXhaUVVGWkxHMUNRVUZQTEVOQlFVTXNLMFJCUVZVN1FVRkRPVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNaMEpCUVdkQ08wRkJRMnBETzBGQlEwRXNjME5CUVhORExGRkJRVkU3UVVGRE9VTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1QwRkJUenRCUVVONFFpeHRRa0ZCYlVJc2FVSkJRV2xDTzBGQlEzQkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc09FSkJRVGhDTEZGQlFWRTdRVUZEZEVNN1FVRkRRU3h0UWtGQmJVSXNkMEpCUVhkQ08wRkJRek5ETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNVMEZCVXp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTEZGQlFWRTdRVUZETDBJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGTkJRVk03UVVGRE5VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNVVUZCVVR0QlFVTXpRanM3UVVGRlFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xGTkJRVk03UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1UwRkJVenRCUVVNMVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRk5CUVZNN1FVRkRNVUk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeFhRVUZYTzBGQlF6VkNMRzFDUVVGdFFpeFZRVUZWTzBGQlF6ZENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeFRRVUZUTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhQUVVGUE8wRkJRM2hDTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2WW1GelpTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRUpPSUQwZ2NtVnhkV2x5WlNnblltNHVhbk1uS1R0Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR1TDNWMGFXeHpKeWs3WEc1MllYSWdaMlYwVGtGR0lEMGdkWFJwYkhNdVoyVjBUa0ZHTzF4dWRtRnlJR2RsZEVwVFJpQTlJSFYwYVd4ekxtZGxkRXBUUmp0Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRUpoYzJWRGRYSjJaU2gwZVhCbExDQmpiMjVtS1NCN1hHNGdJSFJvYVhNdWRIbHdaU0E5SUhSNWNHVTdYRzRnSUhSb2FYTXVjQ0E5SUc1bGR5QkNUaWhqYjI1bUxuQXNJREUyS1R0Y2JseHVJQ0F2THlCVmMyVWdUVzl1ZEdkdmJXVnllU3dnZDJobGJpQjBhR1Z5WlNCcGN5QnVieUJtWVhOMElISmxaSFZqZEdsdmJpQm1iM0lnZEdobElIQnlhVzFsWEc0Z0lIUm9hWE11Y21Wa0lEMGdZMjl1Wmk1d2NtbHRaU0EvSUVKT0xuSmxaQ2hqYjI1bUxuQnlhVzFsS1NBNklFSk9MbTF2Ym5Rb2RHaHBjeTV3S1R0Y2JseHVJQ0F2THlCVmMyVm1kV3dnWm05eUlHMWhibmtnWTNWeWRtVnpYRzRnSUhSb2FYTXVlbVZ5YnlBOUlHNWxkeUJDVGlnd0tTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSFJvYVhNdWIyNWxJRDBnYm1WM0lFSk9LREVwTG5SdlVtVmtLSFJvYVhNdWNtVmtLVHRjYmlBZ2RHaHBjeTUwZDI4Z1BTQnVaWGNnUWs0b01pa3VkRzlTWldRb2RHaHBjeTV5WldRcE8xeHVYRzRnSUM4dklFTjFjblpsSUdOdmJtWnBaM1Z5WVhScGIyNHNJRzl3ZEdsdmJtRnNYRzRnSUhSb2FYTXViaUE5SUdOdmJtWXViaUFtSmlCdVpYY2dRazRvWTI5dVppNXVMQ0F4TmlrN1hHNGdJSFJvYVhNdVp5QTlJR052Ym1ZdVp5QW1KaUIwYUdsekxuQnZhVzUwUm5KdmJVcFRUMDRvWTI5dVppNW5MQ0JqYjI1bUxtZFNaV1FwTzF4dVhHNGdJQzh2SUZSbGJYQnZjbUZ5ZVNCaGNuSmhlWE5jYmlBZ2RHaHBjeTVmZDI1aFpsUXhJRDBnYm1WM0lFRnljbUY1S0RRcE8xeHVJQ0IwYUdsekxsOTNibUZtVkRJZ1BTQnVaWGNnUVhKeVlYa29OQ2s3WEc0Z0lIUm9hWE11WDNkdVlXWlVNeUE5SUc1bGR5QkJjbkpoZVNnMEtUdGNiaUFnZEdocGN5NWZkMjVoWmxRMElEMGdibVYzSUVGeWNtRjVLRFFwTzF4dVhHNGdJSFJvYVhNdVgySnBkRXhsYm1kMGFDQTlJSFJvYVhNdWJpQS9JSFJvYVhNdWJpNWlhWFJNWlc1bmRHZ29LU0E2SURBN1hHNWNiaUFnTHk4Z1IyVnVaWEpoYkdsNlpXUWdSM0psWnlCTllYaDNaV3hzSjNNZ2RISnBZMnRjYmlBZ2RtRnlJR0ZrYW5WemRFTnZkVzUwSUQwZ2RHaHBjeTV1SUNZbUlIUm9hWE11Y0M1a2FYWW9kR2hwY3k1dUtUdGNiaUFnYVdZZ0tDRmhaR3AxYzNSRGIzVnVkQ0I4ZkNCaFpHcDFjM1JEYjNWdWRDNWpiWEJ1S0RFd01Da2dQaUF3S1NCN1hHNGdJQ0FnZEdocGN5NXlaV1JPSUQwZ2JuVnNiRHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUdsekxsOXRZWGgzWld4c1ZISnBZMnNnUFNCMGNuVmxPMXh1SUNBZ0lIUm9hWE11Y21Wa1RpQTlJSFJvYVhNdWJpNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSDFjYm4xY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1FtRnpaVU4xY25abE8xeHVYRzVDWVhObFEzVnlkbVV1Y0hKdmRHOTBlWEJsTG5CdmFXNTBJRDBnWm5WdVkzUnBiMjRnY0c5cGJuUW9LU0I3WEc0Z0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlrN1hHNTlPMXh1WEc1Q1lYTmxRM1Z5ZG1VdWNISnZkRzkwZVhCbExuWmhiR2xrWVhSbElEMGdablZ1WTNScGIyNGdkbUZzYVdSaGRHVW9LU0I3WEc0Z0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlrN1hHNTlPMXh1WEc1Q1lYTmxRM1Z5ZG1VdWNISnZkRzkwZVhCbExsOW1hWGhsWkU1aFprMTFiQ0E5SUdaMWJtTjBhVzl1SUY5bWFYaGxaRTVoWmsxMWJDaHdMQ0JyS1NCN1hHNGdJR0Z6YzJWeWRDaHdMbkJ5WldOdmJYQjFkR1ZrS1R0Y2JpQWdkbUZ5SUdSdmRXSnNaWE1nUFNCd0xsOW5aWFJFYjNWaWJHVnpLQ2s3WEc1Y2JpQWdkbUZ5SUc1aFppQTlJR2RsZEU1QlJpaHJMQ0F4TENCMGFHbHpMbDlpYVhSTVpXNW5kR2dwTzF4dUlDQjJZWElnU1NBOUlDZ3hJRHc4SUNoa2IzVmliR1Z6TG5OMFpYQWdLeUF4S1NrZ0xTQW9aRzkxWW14bGN5NXpkR1Z3SUNVZ01pQTlQVDBnTUNBL0lESWdPaUF4S1R0Y2JpQWdTU0F2UFNBek8xeHVYRzRnSUM4dklGUnlZVzV6YkdGMFpTQnBiblJ2SUcxdmNtVWdkMmx1Wkc5M1pXUWdabTl5YlZ4dUlDQjJZWElnY21Wd2NpQTlJRnRkTzF4dUlDQm1iM0lnS0haaGNpQnFJRDBnTURzZ2FpQThJRzVoWmk1c1pXNW5kR2c3SUdvZ0t6MGdaRzkxWW14bGN5NXpkR1Z3S1NCN1hHNGdJQ0FnZG1GeUlHNWhabGNnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdzZ1BTQnFJQ3NnWkc5MVlteGxjeTV6ZEdWd0lDMGdNVHNnYXlBK1BTQnFPeUJyTFMwcFhHNGdJQ0FnSUNCdVlXWlhJRDBnS0c1aFpsY2dQRHdnTVNrZ0t5QnVZV1piYTEwN1hHNGdJQ0FnY21Wd2NpNXdkWE5vS0c1aFpsY3BPMXh1SUNCOVhHNWNiaUFnZG1GeUlHRWdQU0IwYUdsekxtcHdiMmx1ZENodWRXeHNMQ0J1ZFd4c0xDQnVkV3hzS1R0Y2JpQWdkbUZ5SUdJZ1BTQjBhR2x6TG1wd2IybHVkQ2h1ZFd4c0xDQnVkV3hzTENCdWRXeHNLVHRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJRWs3SUdrZ1BpQXdPeUJwTFMwcElIdGNiaUFnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElISmxjSEl1YkdWdVozUm9PeUJxS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ1WVdaWElEMGdjbVZ3Y2x0cVhUdGNiaUFnSUNBZ0lHbG1JQ2h1WVdaWElEMDlQU0JwS1Z4dUlDQWdJQ0FnSUNCaUlEMGdZaTV0YVhobFpFRmtaQ2hrYjNWaWJHVnpMbkJ2YVc1MGMxdHFYU2s3WEc0Z0lDQWdJQ0JsYkhObElHbG1JQ2h1WVdaWElEMDlQU0F0YVNsY2JpQWdJQ0FnSUNBZ1lpQTlJR0l1YldsNFpXUkJaR1FvWkc5MVlteGxjeTV3YjJsdWRITmJhbDB1Ym1WbktDa3BPMXh1SUNBZ0lIMWNiaUFnSUNCaElEMGdZUzVoWkdRb1lpazdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHRXVkRzlRS0NrN1hHNTlPMXh1WEc1Q1lYTmxRM1Z5ZG1VdWNISnZkRzkwZVhCbExsOTNibUZtVFhWc0lEMGdablZ1WTNScGIyNGdYM2R1WVdaTmRXd29jQ3dnYXlrZ2UxeHVJQ0IyWVhJZ2R5QTlJRFE3WEc1Y2JpQWdMeThnVUhKbFkyOXRjSFYwWlNCM2FXNWtiM2RjYmlBZ2RtRnlJRzVoWmxCdmFXNTBjeUE5SUhBdVgyZGxkRTVCUmxCdmFXNTBjeWgzS1R0Y2JpQWdkeUE5SUc1aFpsQnZhVzUwY3k1M2JtUTdYRzRnSUhaaGNpQjNibVFnUFNCdVlXWlFiMmx1ZEhNdWNHOXBiblJ6TzF4dVhHNGdJQzh2SUVkbGRDQk9RVVlnWm05eWJWeHVJQ0IyWVhJZ2JtRm1JRDBnWjJWMFRrRkdLR3NzSUhjc0lIUm9hWE11WDJKcGRFeGxibWQwYUNrN1hHNWNiaUFnTHk4Z1FXUmtJR0IwYUdsellDb29UaXN4S1NCbWIzSWdaWFpsY25rZ2R5MU9RVVlnYVc1a1pYaGNiaUFnZG1GeUlHRmpZeUE5SUhSb2FYTXVhbkJ2YVc1MEtHNTFiR3dzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2JtRm1MbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnYVMwdEtTQjdYRzRnSUNBZ0x5OGdRMjkxYm5RZ2VtVnliMlZ6WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURBN0lHa2dQajBnTUNBbUppQnVZV1piYVYwZ1BUMDlJREE3SUdrdExTbGNiaUFnSUNBZ0lHc3JLenRjYmlBZ0lDQnBaaUFvYVNBK1BTQXdLVnh1SUNBZ0lDQWdheXNyTzF4dUlDQWdJR0ZqWXlBOUlHRmpZeTVrWW14d0tHc3BPMXh1WEc0Z0lDQWdhV1lnS0drZ1BDQXdLVnh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZG1GeUlIb2dQU0J1WVdaYmFWMDdYRzRnSUNBZ1lYTnpaWEowS0hvZ0lUMDlJREFwTzF4dUlDQWdJR2xtSUNod0xuUjVjR1VnUFQwOUlDZGhabVpwYm1VbktTQjdYRzRnSUNBZ0lDQXZMeUJLSUNzdElGQmNiaUFnSUNBZ0lHbG1JQ2g2SUQ0Z01DbGNiaUFnSUNBZ0lDQWdZV05qSUQwZ1lXTmpMbTFwZUdWa1FXUmtLSGR1WkZzb2VpQXRJREVwSUQ0K0lERmRLVHRjYmlBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ1lXTmpJRDBnWVdOakxtMXBlR1ZrUVdSa0tIZHVaRnNvTFhvZ0xTQXhLU0ErUGlBeFhTNXVaV2NvS1NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUVvZ0t5MGdTbHh1SUNBZ0lDQWdhV1lnS0hvZ1BpQXdLVnh1SUNBZ0lDQWdJQ0JoWTJNZ1BTQmhZMk11WVdSa0tIZHVaRnNvZWlBdElERXBJRDQrSURGZEtUdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnWVdOaklEMGdZV05qTG1Ga1pDaDNibVJiS0MxNklDMGdNU2tnUGo0Z01WMHVibVZuS0NrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY0M1MGVYQmxJRDA5UFNBbllXWm1hVzVsSnlBL0lHRmpZeTUwYjFBb0tTQTZJR0ZqWXp0Y2JuMDdYRzVjYmtKaGMyVkRkWEoyWlM1d2NtOTBiM1I1Y0dVdVgzZHVZV1pOZFd4QlpHUWdQU0JtZFc1amRHbHZiaUJmZDI1aFprMTFiRUZrWkNoa1pXWlhMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCdmFXNTBjeXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyVm1abk1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2JHVnVMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdwaFkyOWlhV0Z1VW1WemRXeDBLU0I3WEc0Z0lIWmhjaUIzYm1SWGFXUjBhQ0E5SUhSb2FYTXVYM2R1WVdaVU1UdGNiaUFnZG1GeUlIZHVaQ0E5SUhSb2FYTXVYM2R1WVdaVU1qdGNiaUFnZG1GeUlHNWhaaUE5SUhSb2FYTXVYM2R1WVdaVU16dGNibHh1SUNBdkx5QkdhV3hzSUdGc2JDQmhjbkpoZVhOY2JpQWdkbUZ5SUcxaGVDQTlJREE3WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQjJZWElnY0NBOUlIQnZhVzUwYzF0cFhUdGNiaUFnSUNCMllYSWdibUZtVUc5cGJuUnpJRDBnY0M1ZloyVjBUa0ZHVUc5cGJuUnpLR1JsWmxjcE8xeHVJQ0FnSUhkdVpGZHBaSFJvVzJsZElEMGdibUZtVUc5cGJuUnpMbmR1WkR0Y2JpQWdJQ0IzYm1SYmFWMGdQU0J1WVdaUWIybHVkSE11Y0c5cGJuUnpPMXh1SUNCOVhHNWNiaUFnTHk4Z1EyOXRZaUJ6YldGc2JDQjNhVzVrYjNjZ1RrRkdjMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdiR1Z1SUMwZ01Uc2dhU0ErUFNBeE95QnBJQzA5SURJcElIdGNiaUFnSUNCMllYSWdZU0E5SUdrZ0xTQXhPMXh1SUNBZ0lIWmhjaUJpSUQwZ2FUdGNiaUFnSUNCcFppQW9kMjVrVjJsa2RHaGJZVjBnSVQwOUlERWdmSHdnZDI1a1YybGtkR2hiWWwwZ0lUMDlJREVwSUh0Y2JpQWdJQ0FnSUc1aFpsdGhYU0E5SUdkbGRFNUJSaWhqYjJWbVpuTmJZVjBzSUhkdVpGZHBaSFJvVzJGZExDQjBhR2x6TGw5aWFYUk1aVzVuZEdncE8xeHVJQ0FnSUNBZ2JtRm1XMkpkSUQwZ1oyVjBUa0ZHS0dOdlpXWm1jMXRpWFN3Z2QyNWtWMmxrZEdoYllsMHNJSFJvYVhNdVgySnBkRXhsYm1kMGFDazdYRzRnSUNBZ0lDQnRZWGdnUFNCTllYUm9MbTFoZUNodVlXWmJZVjB1YkdWdVozUm9MQ0J0WVhncE8xeHVJQ0FnSUNBZ2JXRjRJRDBnVFdGMGFDNXRZWGdvYm1GbVcySmRMbXhsYm1kMGFDd2diV0Y0S1R0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCamIyMWlJRDBnVzF4dUlDQWdJQ0FnY0c5cGJuUnpXMkZkTENBdktpQXhJQ292WEc0Z0lDQWdJQ0J1ZFd4c0xDQXZLaUF6SUNvdlhHNGdJQ0FnSUNCdWRXeHNMQ0F2S2lBMUlDb3ZYRzRnSUNBZ0lDQndiMmx1ZEhOYllsMGdMeW9nTnlBcUwxeHVJQ0FnSUYwN1hHNWNiaUFnSUNBdkx5QlVjbmtnZEc4Z1lYWnZhV1FnVUhKdmFtVmpkR2wyWlNCd2IybHVkSE1zSUdsbUlIQnZjM05wWW14bFhHNGdJQ0FnYVdZZ0tIQnZhVzUwYzF0aFhTNTVMbU50Y0Nod2IybHVkSE5iWWwwdWVTa2dQVDA5SURBcElIdGNiaUFnSUNBZ0lHTnZiV0piTVYwZ1BTQndiMmx1ZEhOYllWMHVZV1JrS0hCdmFXNTBjMXRpWFNrN1hHNGdJQ0FnSUNCamIyMWlXekpkSUQwZ2NHOXBiblJ6VzJGZExuUnZTaWdwTG0xcGVHVmtRV1JrS0hCdmFXNTBjMXRpWFM1dVpXY29LU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h3YjJsdWRITmJZVjB1ZVM1amJYQW9jRzlwYm5SelcySmRMbmt1Y21Wa1RtVm5LQ2twSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0JqYjIxaVd6RmRJRDBnY0c5cGJuUnpXMkZkTG5SdlNpZ3BMbTFwZUdWa1FXUmtLSEJ2YVc1MGMxdGlYU2s3WEc0Z0lDQWdJQ0JqYjIxaVd6SmRJRDBnY0c5cGJuUnpXMkZkTG1Ga1pDaHdiMmx1ZEhOYllsMHVibVZuS0NrcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjIxaVd6RmRJRDBnY0c5cGJuUnpXMkZkTG5SdlNpZ3BMbTFwZUdWa1FXUmtLSEJ2YVc1MGMxdGlYU2s3WEc0Z0lDQWdJQ0JqYjIxaVd6SmRJRDBnY0c5cGJuUnpXMkZkTG5SdlNpZ3BMbTFwZUdWa1FXUmtLSEJ2YVc1MGMxdGlYUzV1Wldjb0tTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR2x1WkdWNElEMGdXMXh1SUNBZ0lDQWdMVE1zSUM4cUlDMHhJQzB4SUNvdlhHNGdJQ0FnSUNBdE1Td2dMeW9nTFRFZ01DQXFMMXh1SUNBZ0lDQWdMVFVzSUM4cUlDMHhJREVnS2k5Y2JpQWdJQ0FnSUMwM0xDQXZLaUF3SUMweElDb3ZYRzRnSUNBZ0lDQXdMQ0F2S2lBd0lEQWdLaTljYmlBZ0lDQWdJRGNzSUM4cUlEQWdNU0FxTDF4dUlDQWdJQ0FnTlN3Z0x5b2dNU0F0TVNBcUwxeHVJQ0FnSUNBZ01Td2dMeW9nTVNBd0lDb3ZYRzRnSUNBZ0lDQXpJQ0F2S2lBeElERWdLaTljYmlBZ0lDQmRPMXh1WEc0Z0lDQWdkbUZ5SUdwelppQTlJR2RsZEVwVFJpaGpiMlZtWm5OYllWMHNJR052WldabWMxdGlYU2s3WEc0Z0lDQWdiV0Y0SUQwZ1RXRjBhQzV0WVhnb2FuTm1XekJkTG14bGJtZDBhQ3dnYldGNEtUdGNiaUFnSUNCdVlXWmJZVjBnUFNCdVpYY2dRWEp5WVhrb2JXRjRLVHRjYmlBZ0lDQnVZV1piWWwwZ1BTQnVaWGNnUVhKeVlYa29iV0Y0S1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4SUcxaGVEc2dhaXNyS1NCN1hHNGdJQ0FnSUNCMllYSWdhbUVnUFNCcWMyWmJNRjFiYWwwZ2ZDQXdPMXh1SUNBZ0lDQWdkbUZ5SUdwaUlEMGdhbk5tV3pGZFcycGRJSHdnTUR0Y2JseHVJQ0FnSUNBZ2JtRm1XMkZkVzJwZElEMGdhVzVrWlhoYktHcGhJQ3NnTVNrZ0tpQXpJQ3NnS0dwaUlDc2dNU2xkTzF4dUlDQWdJQ0FnYm1GbVcySmRXMnBkSUQwZ01EdGNiaUFnSUNBZ0lIZHVaRnRoWFNBOUlHTnZiV0k3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnZG1GeUlHRmpZeUE5SUhSb2FYTXVhbkJ2YVc1MEtHNTFiR3dzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0IyWVhJZ2RHMXdJRDBnZEdocGN5NWZkMjVoWmxRME8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ2JXRjRPeUJwSUQ0OUlEQTdJR2t0TFNrZ2UxeHVJQ0FnSUhaaGNpQnJJRDBnTUR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2hwSUQ0OUlEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCNlpYSnZJRDBnZEhKMVpUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3T3lCcUlEd2diR1Z1T3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZEcxd1cycGRJRDBnYm1GbVcycGRXMmxkSUh3Z01EdGNiaUFnSUNBZ0lDQWdhV1lnS0hSdGNGdHFYU0FoUFQwZ01DbGNiaUFnSUNBZ0lDQWdJQ0I2WlhKdklEMGdabUZzYzJVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9JWHBsY204cFhHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnYXlzck8xeHVJQ0FnSUNBZ2FTMHRPMXh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hU0ErUFNBd0tWeHVJQ0FnSUNBZ2F5c3JPMXh1SUNBZ0lHRmpZeUE5SUdGall5NWtZbXh3S0dzcE8xeHVJQ0FnSUdsbUlDaHBJRHdnTUNsY2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhaUE5SURBN0lHb2dQQ0JzWlc0N0lHb3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIb2dQU0IwYlhCYmFsMDdYRzRnSUNBZ0lDQjJZWElnY0R0Y2JpQWdJQ0FnSUdsbUlDaDZJRDA5UFNBd0tWeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lHVnNjMlVnYVdZZ0tIb2dQaUF3S1Z4dUlDQWdJQ0FnSUNCd0lEMGdkMjVrVzJwZFd5aDZJQzBnTVNrZ1BqNGdNVjA3WEc0Z0lDQWdJQ0JsYkhObElHbG1JQ2g2SUR3Z01DbGNiaUFnSUNBZ0lDQWdjQ0E5SUhkdVpGdHFYVnNvTFhvZ0xTQXhLU0ErUGlBeFhTNXVaV2NvS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLSEF1ZEhsd1pTQTlQVDBnSjJGbVptbHVaU2NwWEc0Z0lDQWdJQ0FnSUdGall5QTlJR0ZqWXk1dGFYaGxaRUZrWkNod0tUdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnWVdOaklEMGdZV05qTG1Ga1pDaHdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdMeThnV21WeWIybG1lU0J5WldabGNtVnVZMlZ6WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BYRzRnSUNBZ2QyNWtXMmxkSUQwZ2JuVnNiRHRjYmx4dUlDQnBaaUFvYW1GamIySnBZVzVTWlhOMWJIUXBYRzRnSUNBZ2NtVjBkWEp1SUdGall6dGNiaUFnWld4elpWeHVJQ0FnSUhKbGRIVnliaUJoWTJNdWRHOVFLQ2s3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJDWVhObFVHOXBiblFvWTNWeWRtVXNJSFI1Y0dVcElIdGNiaUFnZEdocGN5NWpkWEoyWlNBOUlHTjFjblpsTzF4dUlDQjBhR2x6TG5SNWNHVWdQU0IwZVhCbE8xeHVJQ0IwYUdsekxuQnlaV052YlhCMWRHVmtJRDBnYm5Wc2JEdGNibjFjYmtKaGMyVkRkWEoyWlM1Q1lYTmxVRzlwYm5RZ1BTQkNZWE5sVUc5cGJuUTdYRzVjYmtKaGMyVlFiMmx1ZEM1d2NtOTBiM1I1Y0dVdVpYRWdQU0JtZFc1amRHbHZiaUJsY1NndkttOTBhR1Z5S2k4cElIdGNiaUFnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RPYjNRZ2FXMXdiR1Z0Wlc1MFpXUW5LVHRjYm4wN1hHNWNia0poYzJWUWIybHVkQzV3Y205MGIzUjVjR1V1ZG1Gc2FXUmhkR1VnUFNCbWRXNWpkR2x2YmlCMllXeHBaR0YwWlNncElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1ZG1Gc2FXUmhkR1VvZEdocGN5azdYRzU5TzF4dVhHNUNZWE5sUTNWeWRtVXVjSEp2ZEc5MGVYQmxMbVJsWTI5a1pWQnZhVzUwSUQwZ1puVnVZM1JwYjI0Z1pHVmpiMlJsVUc5cGJuUW9ZbmwwWlhNc0lHVnVZeWtnZTF4dUlDQmllWFJsY3lBOUlIVjBhV3h6TG5SdlFYSnlZWGtvWW5sMFpYTXNJR1Z1WXlrN1hHNWNiaUFnZG1GeUlHeGxiaUE5SUhSb2FYTXVjQzVpZVhSbFRHVnVaM1JvS0NrN1hHNWNiaUFnTHk4Z2RXNWpiMjF3Y21WemMyVmtMQ0JvZVdKeWFXUXRiMlJrTENCb2VXSnlhV1F0WlhabGJseHVJQ0JwWmlBb0tHSjVkR1Z6V3pCZElEMDlQU0F3ZURBMElIeDhJR0o1ZEdWeld6QmRJRDA5UFNBd2VEQTJJSHg4SUdKNWRHVnpXekJkSUQwOVBTQXdlREEzS1NBbUpseHVJQ0FnSUNBZ1lubDBaWE11YkdWdVozUm9JQzBnTVNBOVBUMGdNaUFxSUd4bGJpa2dlMXh1SUNBZ0lHbG1JQ2hpZVhSbGMxc3dYU0E5UFQwZ01IZ3dOaWxjYmlBZ0lDQWdJR0Z6YzJWeWRDaGllWFJsYzF0aWVYUmxjeTVzWlc1bmRHZ2dMU0F4WFNBbElESWdQVDA5SURBcE8xeHVJQ0FnSUdWc2MyVWdhV1lnS0dKNWRHVnpXekJkSUQwOVBTQXdlREEzS1Z4dUlDQWdJQ0FnWVhOelpYSjBLR0o1ZEdWelcySjVkR1Z6TG14bGJtZDBhQ0F0SURGZElDVWdNaUE5UFQwZ01TazdYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdJSFJvYVhNdWNHOXBiblFvWW5sMFpYTXVjMnhwWTJVb01Td2dNU0FySUd4bGJpa3NYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0o1ZEdWekxuTnNhV05sS0RFZ0t5QnNaVzRzSURFZ0t5QXlJQ29nYkdWdUtTazdYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOUlHVnNjMlVnYVdZZ0tDaGllWFJsYzFzd1hTQTlQVDBnTUhnd01pQjhmQ0JpZVhSbGMxc3dYU0E5UFQwZ01IZ3dNeWtnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5sMFpYTXViR1Z1WjNSb0lDMGdNU0E5UFQwZ2JHVnVLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y0c5cGJuUkdjbTl0V0NoaWVYUmxjeTV6YkdsalpTZ3hMQ0F4SUNzZ2JHVnVLU3dnWW5sMFpYTmJNRjBnUFQwOUlEQjRNRE1wTzF4dUlDQjlYRzRnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1cmJtOTNiaUJ3YjJsdWRDQm1iM0p0WVhRbktUdGNibjA3WEc1Y2JrSmhjMlZRYjJsdWRDNXdjbTkwYjNSNWNHVXVaVzVqYjJSbFEyOXRjSEpsYzNObFpDQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pVTnZiWEJ5WlhOelpXUW9aVzVqS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1WdVkyOWtaU2hsYm1Nc0lIUnlkV1VwTzF4dWZUdGNibHh1UW1GelpWQnZhVzUwTG5CeWIzUnZkSGx3WlM1ZlpXNWpiMlJsSUQwZ1puVnVZM1JwYjI0Z1gyVnVZMjlrWlNoamIyMXdZV04wS1NCN1hHNGdJSFpoY2lCc1pXNGdQU0IwYUdsekxtTjFjblpsTG5BdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNCMllYSWdlQ0E5SUhSb2FYTXVaMlYwV0NncExuUnZRWEp5WVhrb0oySmxKeXdnYkdWdUtUdGNibHh1SUNCcFppQW9ZMjl0Y0dGamRDbGNiaUFnSUNCeVpYUjFjbTRnV3lCMGFHbHpMbWRsZEZrb0tTNXBjMFYyWlc0b0tTQS9JREI0TURJZ09pQXdlREF6SUYwdVkyOXVZMkYwS0hncE8xeHVYRzRnSUhKbGRIVnliaUJiSURCNE1EUWdYUzVqYjI1allYUW9lQ3dnZEdocGN5NW5aWFJaS0NrdWRHOUJjbkpoZVNnblltVW5MQ0JzWlc0cEtTQTdYRzU5TzF4dVhHNUNZWE5sVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbVZ1WTI5a1pTQTlJR1oxYm1OMGFXOXVJR1Z1WTI5a1pTaGxibU1zSUdOdmJYQmhZM1FwSUh0Y2JpQWdjbVYwZFhKdUlIVjBhV3h6TG1WdVkyOWtaU2gwYUdsekxsOWxibU52WkdVb1kyOXRjR0ZqZENrc0lHVnVZeWs3WEc1OU8xeHVYRzVDWVhObFVHOXBiblF1Y0hKdmRHOTBlWEJsTG5CeVpXTnZiWEIxZEdVZ1BTQm1kVzVqZEdsdmJpQndjbVZqYjIxd2RYUmxLSEJ2ZDJWeUtTQjdYRzRnSUdsbUlDaDBhR2x6TG5CeVpXTnZiWEIxZEdWa0tWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUhaaGNpQndjbVZqYjIxd2RYUmxaQ0E5SUh0Y2JpQWdJQ0JrYjNWaWJHVnpPaUJ1ZFd4c0xGeHVJQ0FnSUc1aFpqb2diblZzYkN4Y2JpQWdJQ0JpWlhSaE9pQnVkV3hzWEc0Z0lIMDdYRzRnSUhCeVpXTnZiWEIxZEdWa0xtNWhaaUE5SUhSb2FYTXVYMmRsZEU1QlJsQnZhVzUwY3lnNEtUdGNiaUFnY0hKbFkyOXRjSFYwWldRdVpHOTFZbXhsY3lBOUlIUm9hWE11WDJkbGRFUnZkV0pzWlhNb05Dd2djRzkzWlhJcE8xeHVJQ0J3Y21WamIyMXdkWFJsWkM1aVpYUmhJRDBnZEdocGN5NWZaMlYwUW1WMFlTZ3BPMXh1SUNCMGFHbHpMbkJ5WldOdmJYQjFkR1ZrSUQwZ2NISmxZMjl0Y0hWMFpXUTdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNUNZWE5sVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlvWVhORWIzVmliR1Z6SUQwZ1puVnVZM1JwYjI0Z1gyaGhjMFJ2ZFdKc1pYTW9heWtnZTF4dUlDQnBaaUFvSVhSb2FYTXVjSEpsWTI5dGNIVjBaV1FwWEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSFpoY2lCa2IzVmliR1Z6SUQwZ2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1a2IzVmliR1Z6TzF4dUlDQnBaaUFvSVdSdmRXSnNaWE1wWEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJSEpsZEhWeWJpQmtiM1ZpYkdWekxuQnZhVzUwY3k1c1pXNW5kR2dnUGowZ1RXRjBhQzVqWldsc0tDaHJMbUpwZEV4bGJtZDBhQ2dwSUNzZ01Ta2dMeUJrYjNWaWJHVnpMbk4wWlhBcE8xeHVmVHRjYmx4dVFtRnpaVkJ2YVc1MExuQnliM1J2ZEhsd1pTNWZaMlYwUkc5MVlteGxjeUE5SUdaMWJtTjBhVzl1SUY5blpYUkViM1ZpYkdWektITjBaWEFzSUhCdmQyVnlLU0I3WEc0Z0lHbG1JQ2gwYUdsekxuQnlaV052YlhCMWRHVmtJQ1ltSUhSb2FYTXVjSEpsWTI5dGNIVjBaV1F1Wkc5MVlteGxjeWxjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1a2IzVmliR1Z6TzF4dVhHNGdJSFpoY2lCa2IzVmliR1Z6SUQwZ1d5QjBhR2x6SUYwN1hHNGdJSFpoY2lCaFkyTWdQU0IwYUdsek8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhCdmQyVnlPeUJwSUNzOUlITjBaWEFwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Ec2dhaUE4SUhOMFpYQTdJR29yS3lsY2JpQWdJQ0FnSUdGall5QTlJR0ZqWXk1a1ltd29LVHRjYmlBZ0lDQmtiM1ZpYkdWekxuQjFjMmdvWVdOaktUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUhOMFpYQTZJSE4wWlhBc1hHNGdJQ0FnY0c5cGJuUnpPaUJrYjNWaWJHVnpYRzRnSUgwN1hHNTlPMXh1WEc1Q1lYTmxVRzlwYm5RdWNISnZkRzkwZVhCbExsOW5aWFJPUVVaUWIybHVkSE1nUFNCbWRXNWpkR2x2YmlCZloyVjBUa0ZHVUc5cGJuUnpLSGR1WkNrZ2UxeHVJQ0JwWmlBb2RHaHBjeTV3Y21WamIyMXdkWFJsWkNBbUppQjBhR2x6TG5CeVpXTnZiWEIxZEdWa0xtNWhaaWxjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1dVlXWTdYRzVjYmlBZ2RtRnlJSEpsY3lBOUlGc2dkR2hwY3lCZE8xeHVJQ0IyWVhJZ2JXRjRJRDBnS0RFZ1BEd2dkMjVrS1NBdElERTdYRzRnSUhaaGNpQmtZbXdnUFNCdFlYZ2dQVDA5SURFZ1B5QnVkV3hzSURvZ2RHaHBjeTVrWW13b0tUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCdFlYZzdJR2tyS3lsY2JpQWdJQ0J5WlhOYmFWMGdQU0J5WlhOYmFTQXRJREZkTG1Ga1pDaGtZbXdwTzF4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUhkdVpEb2dkMjVrTEZ4dUlDQWdJSEJ2YVc1MGN6b2djbVZ6WEc0Z0lIMDdYRzU5TzF4dVhHNUNZWE5sVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDluWlhSQ1pYUmhJRDBnWm5WdVkzUnBiMjRnWDJkbGRFSmxkR0VvS1NCN1hHNGdJSEpsZEhWeWJpQnVkV3hzTzF4dWZUdGNibHh1UW1GelpWQnZhVzUwTG5CeWIzUnZkSGx3WlM1a1lteHdJRDBnWm5WdVkzUnBiMjRnWkdKc2NDaHJLU0I3WEc0Z0lIWmhjaUJ5SUQwZ2RHaHBjenRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnJPeUJwS3lzcFhHNGdJQ0FnY2lBOUlISXVaR0pzS0NrN1hHNGdJSEpsZEhWeWJpQnlPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL2Jhc2UuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9lZHdhcmRzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9lZHdhcmRzLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxudmFyIEJhc2UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Jhc2UgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9iYXNlLmpzXFxcIik7XFxuXFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG5cXG5mdW5jdGlvbiBFZHdhcmRzQ3VydmUoY29uZikge1xcbiAgLy8gTk9URTogSW1wb3J0YW50IGFzIHdlIGFyZSBjcmVhdGluZyBwb2ludCBpbiBCYXNlLmNhbGwoKVxcbiAgdGhpcy50d2lzdGVkID0gKGNvbmYuYSB8IDApICE9PSAxO1xcbiAgdGhpcy5tT25lQSA9IHRoaXMudHdpc3RlZCAmJiAoY29uZi5hIHwgMCkgPT09IC0xO1xcbiAgdGhpcy5leHRlbmRlZCA9IHRoaXMubU9uZUE7XFxuXFxuICBCYXNlLmNhbGwodGhpcywgJ2Vkd2FyZHMnLCBjb25mKTtcXG5cXG4gIHRoaXMuYSA9IG5ldyBCTihjb25mLmEsIDE2KS51bW9kKHRoaXMucmVkLm0pO1xcbiAgdGhpcy5hID0gdGhpcy5hLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMuYyA9IG5ldyBCTihjb25mLmMsIDE2KS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLmMyID0gdGhpcy5jLnJlZFNxcigpO1xcbiAgdGhpcy5kID0gbmV3IEJOKGNvbmYuZCwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMuZGQgPSB0aGlzLmQucmVkQWRkKHRoaXMuZCk7XFxuXFxuICBhc3NlcnQoIXRoaXMudHdpc3RlZCB8fCB0aGlzLmMuZnJvbVJlZCgpLmNtcG4oMSkgPT09IDApO1xcbiAgdGhpcy5vbmVDID0gKGNvbmYuYyB8IDApID09PSAxO1xcbn1cXG5pbmhlcml0cyhFZHdhcmRzQ3VydmUsIEJhc2UpO1xcbm1vZHVsZS5leHBvcnRzID0gRWR3YXJkc0N1cnZlO1xcblxcbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUuX211bEEgPSBmdW5jdGlvbiBfbXVsQShudW0pIHtcXG4gIGlmICh0aGlzLm1PbmVBKVxcbiAgICByZXR1cm4gbnVtLnJlZE5lZygpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5hLnJlZE11bChudW0pO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5fbXVsQyA9IGZ1bmN0aW9uIF9tdWxDKG51bSkge1xcbiAgaWYgKHRoaXMub25lQylcXG4gICAgcmV0dXJuIG51bTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuYy5yZWRNdWwobnVtKTtcXG59O1xcblxcbi8vIEp1c3QgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBTaG9ydCBjdXJ2ZVxcbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUuanBvaW50ID0gZnVuY3Rpb24ganBvaW50KHgsIHksIHosIHQpIHtcXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHksIHosIHQpO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YID0gZnVuY3Rpb24gcG9pbnRGcm9tWCh4LCBvZGQpIHtcXG4gIHggPSBuZXcgQk4oeCwgMTYpO1xcbiAgaWYgKCF4LnJlZClcXG4gICAgeCA9IHgudG9SZWQodGhpcy5yZWQpO1xcblxcbiAgdmFyIHgyID0geC5yZWRTcXIoKTtcXG4gIHZhciByaHMgPSB0aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKHgyKSk7XFxuICB2YXIgbGhzID0gdGhpcy5vbmUucmVkU3ViKHRoaXMuYzIucmVkTXVsKHRoaXMuZCkucmVkTXVsKHgyKSk7XFxuXFxuICB2YXIgeTIgPSByaHMucmVkTXVsKGxocy5yZWRJbnZtKCkpO1xcbiAgdmFyIHkgPSB5Mi5yZWRTcXJ0KCk7XFxuICBpZiAoeS5yZWRTcXIoKS5yZWRTdWIoeTIpLmNtcCh0aGlzLnplcm8pICE9PSAwKVxcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcXG5cXG4gIHZhciBpc09kZCA9IHkuZnJvbVJlZCgpLmlzT2RkKCk7XFxuICBpZiAob2RkICYmICFpc09kZCB8fCAhb2RkICYmIGlzT2RkKVxcbiAgICB5ID0geS5yZWROZWcoKTtcXG5cXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21ZID0gZnVuY3Rpb24gcG9pbnRGcm9tWSh5LCBvZGQpIHtcXG4gIHkgPSBuZXcgQk4oeSwgMTYpO1xcbiAgaWYgKCF5LnJlZClcXG4gICAgeSA9IHkudG9SZWQodGhpcy5yZWQpO1xcblxcbiAgLy8geF4yID0gKHleMiAtIGNeMikgLyAoY14yIGQgeV4yIC0gYSlcXG4gIHZhciB5MiA9IHkucmVkU3FyKCk7XFxuICB2YXIgbGhzID0geTIucmVkU3ViKHRoaXMuYzIpO1xcbiAgdmFyIHJocyA9IHkyLnJlZE11bCh0aGlzLmQpLnJlZE11bCh0aGlzLmMyKS5yZWRTdWIodGhpcy5hKTtcXG4gIHZhciB4MiA9IGxocy5yZWRNdWwocmhzLnJlZEludm0oKSk7XFxuXFxuICBpZiAoeDIuY21wKHRoaXMuemVybykgPT09IDApIHtcXG4gICAgaWYgKG9kZClcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcXG4gICAgZWxzZVxcbiAgICAgIHJldHVybiB0aGlzLnBvaW50KHRoaXMuemVybywgeSk7XFxuICB9XFxuXFxuICB2YXIgeCA9IHgyLnJlZFNxcnQoKTtcXG4gIGlmICh4LnJlZFNxcigpLnJlZFN1Yih4MikuY21wKHRoaXMuemVybykgIT09IDApXFxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xcblxcbiAgaWYgKHguZnJvbVJlZCgpLmlzT2RkKCkgIT09IG9kZClcXG4gICAgeCA9IHgucmVkTmVnKCk7XFxuXFxuICByZXR1cm4gdGhpcy5wb2ludCh4LCB5KTtcXG59O1xcblxcbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZShwb2ludCkge1xcbiAgaWYgKHBvaW50LmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIHRydWU7XFxuXFxuICAvLyBDdXJ2ZTogQSAqIFheMiArIFleMiA9IENeMiAqICgxICsgRCAqIFheMiAqIFleMilcXG4gIHBvaW50Lm5vcm1hbGl6ZSgpO1xcblxcbiAgdmFyIHgyID0gcG9pbnQueC5yZWRTcXIoKTtcXG4gIHZhciB5MiA9IHBvaW50LnkucmVkU3FyKCk7XFxuICB2YXIgbGhzID0geDIucmVkTXVsKHRoaXMuYSkucmVkQWRkKHkyKTtcXG4gIHZhciByaHMgPSB0aGlzLmMyLnJlZE11bCh0aGlzLm9uZS5yZWRBZGQodGhpcy5kLnJlZE11bCh4MikucmVkTXVsKHkyKSkpO1xcblxcbiAgcmV0dXJuIGxocy5jbXAocmhzKSA9PT0gMDtcXG59O1xcblxcbmZ1bmN0aW9uIFBvaW50KGN1cnZlLCB4LCB5LCB6LCB0KSB7XFxuICBCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsIGN1cnZlLCAncHJvamVjdGl2ZScpO1xcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XFxuICAgIHRoaXMueCA9IHRoaXMuY3VydmUuemVybztcXG4gICAgdGhpcy55ID0gdGhpcy5jdXJ2ZS5vbmU7XFxuICAgIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xcbiAgICB0aGlzLnQgPSB0aGlzLmN1cnZlLnplcm87XFxuICAgIHRoaXMuek9uZSA9IHRydWU7XFxuICB9IGVsc2Uge1xcbiAgICB0aGlzLnggPSBuZXcgQk4oeCwgMTYpO1xcbiAgICB0aGlzLnkgPSBuZXcgQk4oeSwgMTYpO1xcbiAgICB0aGlzLnogPSB6ID8gbmV3IEJOKHosIDE2KSA6IHRoaXMuY3VydmUub25lO1xcbiAgICB0aGlzLnQgPSB0ICYmIG5ldyBCTih0LCAxNik7XFxuICAgIGlmICghdGhpcy54LnJlZClcXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICBpZiAoIXRoaXMueS5yZWQpXFxuICAgICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgaWYgKCF0aGlzLnoucmVkKVxcbiAgICAgIHRoaXMueiA9IHRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XFxuICAgIGlmICh0aGlzLnQgJiYgIXRoaXMudC5yZWQpXFxuICAgICAgdGhpcy50ID0gdGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgdGhpcy56T25lID0gdGhpcy56ID09PSB0aGlzLmN1cnZlLm9uZTtcXG5cXG4gICAgLy8gVXNlIGV4dGVuZGVkIGNvb3JkaW5hdGVzXFxuICAgIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkICYmICF0aGlzLnQpIHtcXG4gICAgICB0aGlzLnQgPSB0aGlzLngucmVkTXVsKHRoaXMueSk7XFxuICAgICAgaWYgKCF0aGlzLnpPbmUpXFxuICAgICAgICB0aGlzLnQgPSB0aGlzLnQucmVkTXVsKHRoaXMuei5yZWRJbnZtKCkpO1xcbiAgICB9XFxuICB9XFxufVxcbmluaGVyaXRzKFBvaW50LCBCYXNlLkJhc2VQb2ludCk7XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21KU09OID0gZnVuY3Rpb24gcG9pbnRGcm9tSlNPTihvYmopIHtcXG4gIHJldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLCBvYmopO1xcbn07XFxuXFxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludCA9IGZ1bmN0aW9uIHBvaW50KHgsIHksIHosIHQpIHtcXG4gIHJldHVybiBuZXcgUG9pbnQodGhpcywgeCwgeSwgeiwgdCk7XFxufTtcXG5cXG5Qb2ludC5mcm9tSlNPTiA9IGZ1bmN0aW9uIGZyb21KU09OKGN1cnZlLCBvYmopIHtcXG4gIHJldHVybiBuZXcgUG9pbnQoY3VydmUsIG9ialswXSwgb2JqWzFdLCBvYmpbMl0pO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gJzxFQyBQb2ludCBJbmZpbml0eT4nO1xcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcXG4gICAgICAnIHk6ICcgKyB0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB6OiAnICsgdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgKyAnPic7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XFxuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxcbiAgcmV0dXJuIHRoaXMueC5jbXBuKDApID09PSAwICYmXFxuICAgICh0aGlzLnkuY21wKHRoaXMueikgPT09IDAgfHxcXG4gICAgKHRoaXMuek9uZSAmJiB0aGlzLnkuY21wKHRoaXMuY3VydmUuYykgPT09IDApKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5fZXh0RGJsID0gZnVuY3Rpb24gX2V4dERibCgpIHtcXG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by10d2lzdGVkLWV4dGVuZGVkLTEuaHRtbFxcbiAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOC1od2NkXFxuICAvLyA0TSArIDRTXFxuXFxuICAvLyBBID0gWDFeMlxcbiAgdmFyIGEgPSB0aGlzLngucmVkU3FyKCk7XFxuICAvLyBCID0gWTFeMlxcbiAgdmFyIGIgPSB0aGlzLnkucmVkU3FyKCk7XFxuICAvLyBDID0gMiAqIFoxXjJcXG4gIHZhciBjID0gdGhpcy56LnJlZFNxcigpO1xcbiAgYyA9IGMucmVkSUFkZChjKTtcXG4gIC8vIEQgPSBhICogQVxcbiAgdmFyIGQgPSB0aGlzLmN1cnZlLl9tdWxBKGEpO1xcbiAgLy8gRSA9IChYMSArIFkxKV4yIC0gQSAtIEJcXG4gIHZhciBlID0gdGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZFNxcigpLnJlZElTdWIoYSkucmVkSVN1YihiKTtcXG4gIC8vIEcgPSBEICsgQlxcbiAgdmFyIGcgPSBkLnJlZEFkZChiKTtcXG4gIC8vIEYgPSBHIC0gQ1xcbiAgdmFyIGYgPSBnLnJlZFN1YihjKTtcXG4gIC8vIEggPSBEIC0gQlxcbiAgdmFyIGggPSBkLnJlZFN1YihiKTtcXG4gIC8vIFgzID0gRSAqIEZcXG4gIHZhciBueCA9IGUucmVkTXVsKGYpO1xcbiAgLy8gWTMgPSBHICogSFxcbiAgdmFyIG55ID0gZy5yZWRNdWwoaCk7XFxuICAvLyBUMyA9IEUgKiBIXFxuICB2YXIgbnQgPSBlLnJlZE11bChoKTtcXG4gIC8vIFozID0gRiAqIEdcXG4gIHZhciBueiA9IGYucmVkTXVsKGcpO1xcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG55LCBueiwgbnQpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLl9wcm9qRGJsID0gZnVuY3Rpb24gX3Byb2pEYmwoKSB7XFxuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1wcm9qZWN0aXZlLmh0bWxcXG4gIC8vICAgICAjZG91YmxpbmctZGJsLTIwMDgtYmJqbHBcXG4gIC8vICAgICAjZG91YmxpbmctZGJsLTIwMDctYmxcXG4gIC8vIGFuZCBvdGhlcnNcXG4gIC8vIEdlbmVyYWxseSAzTSArIDRTIG9yIDJNICsgNFNcXG5cXG4gIC8vIEIgPSAoWDEgKyBZMSleMlxcbiAgdmFyIGIgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCk7XFxuICAvLyBDID0gWDFeMlxcbiAgdmFyIGMgPSB0aGlzLngucmVkU3FyKCk7XFxuICAvLyBEID0gWTFeMlxcbiAgdmFyIGQgPSB0aGlzLnkucmVkU3FyKCk7XFxuXFxuICB2YXIgbng7XFxuICB2YXIgbnk7XFxuICB2YXIgbno7XFxuICBpZiAodGhpcy5jdXJ2ZS50d2lzdGVkKSB7XFxuICAgIC8vIEUgPSBhICogQ1xcbiAgICB2YXIgZSA9IHRoaXMuY3VydmUuX211bEEoYyk7XFxuICAgIC8vIEYgPSBFICsgRFxcbiAgICB2YXIgZiA9IGUucmVkQWRkKGQpO1xcbiAgICBpZiAodGhpcy56T25lKSB7XFxuICAgICAgLy8gWDMgPSAoQiAtIEMgLSBEKSAqIChGIC0gMilcXG4gICAgICBueCA9IGIucmVkU3ViKGMpLnJlZFN1YihkKS5yZWRNdWwoZi5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKTtcXG4gICAgICAvLyBZMyA9IEYgKiAoRSAtIEQpXFxuICAgICAgbnkgPSBmLnJlZE11bChlLnJlZFN1YihkKSk7XFxuICAgICAgLy8gWjMgPSBGXjIgLSAyICogRlxcbiAgICAgIG56ID0gZi5yZWRTcXIoKS5yZWRTdWIoZikucmVkU3ViKGYpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEggPSBaMV4yXFxuICAgICAgdmFyIGggPSB0aGlzLnoucmVkU3FyKCk7XFxuICAgICAgLy8gSiA9IEYgLSAyICogSFxcbiAgICAgIHZhciBqID0gZi5yZWRTdWIoaCkucmVkSVN1YihoKTtcXG4gICAgICAvLyBYMyA9IChCLUMtRCkqSlxcbiAgICAgIG54ID0gYi5yZWRTdWIoYykucmVkSVN1YihkKS5yZWRNdWwoaik7XFxuICAgICAgLy8gWTMgPSBGICogKEUgLSBEKVxcbiAgICAgIG55ID0gZi5yZWRNdWwoZS5yZWRTdWIoZCkpO1xcbiAgICAgIC8vIFozID0gRiAqIEpcXG4gICAgICBueiA9IGYucmVkTXVsKGopO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBFID0gQyArIERcXG4gICAgdmFyIGUgPSBjLnJlZEFkZChkKTtcXG4gICAgLy8gSCA9IChjICogWjEpXjJcXG4gICAgdmFyIGggPSB0aGlzLmN1cnZlLl9tdWxDKHRoaXMueikucmVkU3FyKCk7XFxuICAgIC8vIEogPSBFIC0gMiAqIEhcXG4gICAgdmFyIGogPSBlLnJlZFN1YihoKS5yZWRTdWIoaCk7XFxuICAgIC8vIFgzID0gYyAqIChCIC0gRSkgKiBKXFxuICAgIG54ID0gdGhpcy5jdXJ2ZS5fbXVsQyhiLnJlZElTdWIoZSkpLnJlZE11bChqKTtcXG4gICAgLy8gWTMgPSBjICogRSAqIChDIC0gRClcXG4gICAgbnkgPSB0aGlzLmN1cnZlLl9tdWxDKGUpLnJlZE11bChjLnJlZElTdWIoZCkpO1xcbiAgICAvLyBaMyA9IEUgKiBKXFxuICAgIG56ID0gZS5yZWRNdWwoaik7XFxuICB9XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56KTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5kYmwgPSBmdW5jdGlvbiBkYmwoKSB7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gRG91YmxlIGluIGV4dGVuZGVkIGNvb3JkaW5hdGVzXFxuICBpZiAodGhpcy5jdXJ2ZS5leHRlbmRlZClcXG4gICAgcmV0dXJuIHRoaXMuX2V4dERibCgpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5fcHJvakRibCgpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLl9leHRBZGQgPSBmdW5jdGlvbiBfZXh0QWRkKHApIHtcXG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by10d2lzdGVkLWV4dGVuZGVkLTEuaHRtbFxcbiAgLy8gICAgICNhZGRpdGlvbi1hZGQtMjAwOC1od2NkLTNcXG4gIC8vIDhNXFxuXFxuICAvLyBBID0gKFkxIC0gWDEpICogKFkyIC0gWDIpXFxuICB2YXIgYSA9IHRoaXMueS5yZWRTdWIodGhpcy54KS5yZWRNdWwocC55LnJlZFN1YihwLngpKTtcXG4gIC8vIEIgPSAoWTEgKyBYMSkgKiAoWTIgKyBYMilcXG4gIHZhciBiID0gdGhpcy55LnJlZEFkZCh0aGlzLngpLnJlZE11bChwLnkucmVkQWRkKHAueCkpO1xcbiAgLy8gQyA9IFQxICogayAqIFQyXFxuICB2YXIgYyA9IHRoaXMudC5yZWRNdWwodGhpcy5jdXJ2ZS5kZCkucmVkTXVsKHAudCk7XFxuICAvLyBEID0gWjEgKiAyICogWjJcXG4gIHZhciBkID0gdGhpcy56LnJlZE11bChwLnoucmVkQWRkKHAueikpO1xcbiAgLy8gRSA9IEIgLSBBXFxuICB2YXIgZSA9IGIucmVkU3ViKGEpO1xcbiAgLy8gRiA9IEQgLSBDXFxuICB2YXIgZiA9IGQucmVkU3ViKGMpO1xcbiAgLy8gRyA9IEQgKyBDXFxuICB2YXIgZyA9IGQucmVkQWRkKGMpO1xcbiAgLy8gSCA9IEIgKyBBXFxuICB2YXIgaCA9IGIucmVkQWRkKGEpO1xcbiAgLy8gWDMgPSBFICogRlxcbiAgdmFyIG54ID0gZS5yZWRNdWwoZik7XFxuICAvLyBZMyA9IEcgKiBIXFxuICB2YXIgbnkgPSBnLnJlZE11bChoKTtcXG4gIC8vIFQzID0gRSAqIEhcXG4gIHZhciBudCA9IGUucmVkTXVsKGgpO1xcbiAgLy8gWjMgPSBGICogR1xcbiAgdmFyIG56ID0gZi5yZWRNdWwoZyk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56LCBudCk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuX3Byb2pBZGQgPSBmdW5jdGlvbiBfcHJvakFkZChwKSB7XFxuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1wcm9qZWN0aXZlLmh0bWxcXG4gIC8vICAgICAjYWRkaXRpb24tYWRkLTIwMDgtYmJqbHBcXG4gIC8vICAgICAjYWRkaXRpb24tYWRkLTIwMDctYmxcXG4gIC8vIDEwTSArIDFTXFxuXFxuICAvLyBBID0gWjEgKiBaMlxcbiAgdmFyIGEgPSB0aGlzLnoucmVkTXVsKHAueik7XFxuICAvLyBCID0gQV4yXFxuICB2YXIgYiA9IGEucmVkU3FyKCk7XFxuICAvLyBDID0gWDEgKiBYMlxcbiAgdmFyIGMgPSB0aGlzLngucmVkTXVsKHAueCk7XFxuICAvLyBEID0gWTEgKiBZMlxcbiAgdmFyIGQgPSB0aGlzLnkucmVkTXVsKHAueSk7XFxuICAvLyBFID0gZCAqIEMgKiBEXFxuICB2YXIgZSA9IHRoaXMuY3VydmUuZC5yZWRNdWwoYykucmVkTXVsKGQpO1xcbiAgLy8gRiA9IEIgLSBFXFxuICB2YXIgZiA9IGIucmVkU3ViKGUpO1xcbiAgLy8gRyA9IEIgKyBFXFxuICB2YXIgZyA9IGIucmVkQWRkKGUpO1xcbiAgLy8gWDMgPSBBICogRiAqICgoWDEgKyBZMSkgKiAoWDIgKyBZMikgLSBDIC0gRClcXG4gIHZhciB0bXAgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkTXVsKHAueC5yZWRBZGQocC55KSkucmVkSVN1YihjKS5yZWRJU3ViKGQpO1xcbiAgdmFyIG54ID0gYS5yZWRNdWwoZikucmVkTXVsKHRtcCk7XFxuICB2YXIgbnk7XFxuICB2YXIgbno7XFxuICBpZiAodGhpcy5jdXJ2ZS50d2lzdGVkKSB7XFxuICAgIC8vIFkzID0gQSAqIEcgKiAoRCAtIGEgKiBDKVxcbiAgICBueSA9IGEucmVkTXVsKGcpLnJlZE11bChkLnJlZFN1Yih0aGlzLmN1cnZlLl9tdWxBKGMpKSk7XFxuICAgIC8vIFozID0gRiAqIEdcXG4gICAgbnogPSBmLnJlZE11bChnKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIFkzID0gQSAqIEcgKiAoRCAtIEMpXFxuICAgIG55ID0gYS5yZWRNdWwoZykucmVkTXVsKGQucmVkU3ViKGMpKTtcXG4gICAgLy8gWjMgPSBjICogRiAqIEdcXG4gICAgbnogPSB0aGlzLmN1cnZlLl9tdWxDKGYpLnJlZE11bChnKTtcXG4gIH1cXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG54LCBueSwgbnopO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZChwKSB7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiBwO1xcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkKVxcbiAgICByZXR1cm4gdGhpcy5fZXh0QWRkKHApO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5fcHJvakFkZChwKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xcbiAgaWYgKHRoaXMuX2hhc0RvdWJsZXMoaykpXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLCBrKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWwodGhpcywgayk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubXVsQWRkID0gZnVuY3Rpb24gbXVsQWRkKGsxLCBwLCBrMikge1xcbiAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSwgWyB0aGlzLCBwIF0sIFsgazEsIGsyIF0sIDIsIGZhbHNlKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5qbXVsQWRkID0gZnVuY3Rpb24gam11bEFkZChrMSwgcCwgazIpIHtcXG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIFsgdGhpcywgcCBdLCBbIGsxLCBrMiBdLCAyLCB0cnVlKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiBub3JtYWxpemUoKSB7XFxuICBpZiAodGhpcy56T25lKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIC8vIE5vcm1hbGl6ZSBjb29yZGluYXRlc1xcbiAgdmFyIHppID0gdGhpcy56LnJlZEludm0oKTtcXG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwoemkpO1xcbiAgdGhpcy55ID0gdGhpcy55LnJlZE11bCh6aSk7XFxuICBpZiAodGhpcy50KVxcbiAgICB0aGlzLnQgPSB0aGlzLnQucmVkTXVsKHppKTtcXG4gIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xcbiAgdGhpcy56T25lID0gdHJ1ZTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWROZWcoKSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMueSxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMueixcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudCAmJiB0aGlzLnQucmVkTmVnKCkpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xcbiAgdGhpcy5ub3JtYWxpemUoKTtcXG4gIHJldHVybiB0aGlzLnguZnJvbVJlZCgpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFkgPSBmdW5jdGlvbiBnZXRZKCkge1xcbiAgdGhpcy5ub3JtYWxpemUoKTtcXG4gIHJldHVybiB0aGlzLnkuZnJvbVJlZCgpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEob3RoZXIpIHtcXG4gIHJldHVybiB0aGlzID09PSBvdGhlciB8fFxcbiAgICAgICAgIHRoaXMuZ2V0WCgpLmNtcChvdGhlci5nZXRYKCkpID09PSAwICYmXFxuICAgICAgICAgdGhpcy5nZXRZKCkuY21wKG90aGVyLmdldFkoKSkgPT09IDA7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZXFYVG9QID0gZnVuY3Rpb24gZXFYVG9QKHgpIHtcXG4gIHZhciByeCA9IHgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO1xcbiAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxcbiAgICByZXR1cm4gdHJ1ZTtcXG5cXG4gIHZhciB4YyA9IHguY2xvbmUoKTtcXG4gIHZhciB0ID0gdGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh0aGlzLnopO1xcbiAgZm9yICg7Oykge1xcbiAgICB4Yy5pYWRkKHRoaXMuY3VydmUubik7XFxuICAgIGlmICh4Yy5jbXAodGhpcy5jdXJ2ZS5wKSA+PSAwKVxcbiAgICAgIHJldHVybiBmYWxzZTtcXG5cXG4gICAgcngucmVkSUFkZCh0KTtcXG4gICAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgfVxcbn07XFxuXFxuLy8gQ29tcGF0aWJpbGl0eSB3aXRoIEJhc2VDdXJ2ZVxcblBvaW50LnByb3RvdHlwZS50b1AgPSBQb2ludC5wcm90b3R5cGUubm9ybWFsaXplO1xcblBvaW50LnByb3RvdHlwZS5taXhlZEFkZCA9IFBvaW50LnByb3RvdHlwZS5hZGQ7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2WldSM1lYSmtjeTVxY3o4MFpqUXhJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRaXhUUVVGVExHMUNRVUZQTEVOQlFVTXNiVVZCUVU4N1FVRkRlRUlzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXhyUlVGQlVUczdRVUZGTTBJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2WldSM1lYSmtjeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUhWMGFXeHpJRDBnY21WeGRXbHlaU2duTGk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlrN1hHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcE8xeHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2N1TDJKaGMyVW5LVHRjYmx4dWRtRnlJR0Z6YzJWeWRDQTlJSFYwYVd4ekxtRnpjMlZ5ZER0Y2JseHVablZ1WTNScGIyNGdSV1IzWVhKa2MwTjFjblpsS0dOdmJtWXBJSHRjYmlBZ0x5OGdUazlVUlRvZ1NXMXdiM0owWVc1MElHRnpJSGRsSUdGeVpTQmpjbVZoZEdsdVp5QndiMmx1ZENCcGJpQkNZWE5sTG1OaGJHd29LVnh1SUNCMGFHbHpMblIzYVhOMFpXUWdQU0FvWTI5dVppNWhJSHdnTUNrZ0lUMDlJREU3WEc0Z0lIUm9hWE11YlU5dVpVRWdQU0IwYUdsekxuUjNhWE4wWldRZ0ppWWdLR052Ym1ZdVlTQjhJREFwSUQwOVBTQXRNVHRjYmlBZ2RHaHBjeTVsZUhSbGJtUmxaQ0E5SUhSb2FYTXViVTl1WlVFN1hHNWNiaUFnUW1GelpTNWpZV3hzS0hSb2FYTXNJQ2RsWkhkaGNtUnpKeXdnWTI5dVppazdYRzVjYmlBZ2RHaHBjeTVoSUQwZ2JtVjNJRUpPS0dOdmJtWXVZU3dnTVRZcExuVnRiMlFvZEdocGN5NXlaV1F1YlNrN1hHNGdJSFJvYVhNdVlTQTlJSFJvYVhNdVlTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSFJvYVhNdVl5QTlJRzVsZHlCQ1RpaGpiMjVtTG1Nc0lERTJLUzUwYjFKbFpDaDBhR2x6TG5KbFpDazdYRzRnSUhSb2FYTXVZeklnUFNCMGFHbHpMbU11Y21Wa1UzRnlLQ2s3WEc0Z0lIUm9hWE11WkNBOUlHNWxkeUJDVGloamIyNW1MbVFzSURFMktTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSFJvYVhNdVpHUWdQU0IwYUdsekxtUXVjbVZrUVdSa0tIUm9hWE11WkNrN1hHNWNiaUFnWVhOelpYSjBLQ0YwYUdsekxuUjNhWE4wWldRZ2ZId2dkR2hwY3k1akxtWnliMjFTWldRb0tTNWpiWEJ1S0RFcElEMDlQU0F3S1R0Y2JpQWdkR2hwY3k1dmJtVkRJRDBnS0dOdmJtWXVZeUI4SURBcElEMDlQU0F4TzF4dWZWeHVhVzVvWlhKcGRITW9SV1IzWVhKa2MwTjFjblpsTENCQ1lYTmxLVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUldSM1lYSmtjME4xY25abE8xeHVYRzVGWkhkaGNtUnpRM1Z5ZG1VdWNISnZkRzkwZVhCbExsOXRkV3hCSUQwZ1puVnVZM1JwYjI0Z1gyMTFiRUVvYm5WdEtTQjdYRzRnSUdsbUlDaDBhR2x6TG0xUGJtVkJLVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVjbVZrVG1WbktDazdYRzRnSUdWc2MyVmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWhMbkpsWkUxMWJDaHVkVzBwTzF4dWZUdGNibHh1UldSM1lYSmtjME4xY25abExuQnliM1J2ZEhsd1pTNWZiWFZzUXlBOUlHWjFibU4wYVc5dUlGOXRkV3hES0c1MWJTa2dlMXh1SUNCcFppQW9kR2hwY3k1dmJtVkRLVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUdWc2MyVmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpMbkpsWkUxMWJDaHVkVzBwTzF4dWZUdGNibHh1THk4Z1NuVnpkQ0JtYjNJZ1kyOXRjR0YwYVdKcGJHbDBlU0IzYVhSb0lGTm9iM0owSUdOMWNuWmxYRzVGWkhkaGNtUnpRM1Z5ZG1VdWNISnZkRzkwZVhCbExtcHdiMmx1ZENBOUlHWjFibU4wYVc5dUlHcHdiMmx1ZENoNExDQjVMQ0I2TENCMEtTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxuQnZhVzUwS0hnc0lIa3NJSG9zSUhRcE8xeHVmVHRjYmx4dVJXUjNZWEprYzBOMWNuWmxMbkJ5YjNSdmRIbHdaUzV3YjJsdWRFWnliMjFZSUQwZ1puVnVZM1JwYjI0Z2NHOXBiblJHY205dFdDaDRMQ0J2WkdRcElIdGNiaUFnZUNBOUlHNWxkeUJDVGloNExDQXhOaWs3WEc0Z0lHbG1JQ2doZUM1eVpXUXBYRzRnSUNBZ2VDQTlJSGd1ZEc5U1pXUW9kR2hwY3k1eVpXUXBPMXh1WEc0Z0lIWmhjaUI0TWlBOUlIZ3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQnlhSE1nUFNCMGFHbHpMbU15TG5KbFpGTjFZaWgwYUdsekxtRXVjbVZrVFhWc0tIZ3lLU2s3WEc0Z0lIWmhjaUJzYUhNZ1BTQjBhR2x6TG05dVpTNXlaV1JUZFdJb2RHaHBjeTVqTWk1eVpXUk5kV3dvZEdocGN5NWtLUzV5WldSTmRXd29lRElwS1R0Y2JseHVJQ0IyWVhJZ2VUSWdQU0J5YUhNdWNtVmtUWFZzS0d4b2N5NXlaV1JKYm5adEtDa3BPMXh1SUNCMllYSWdlU0E5SUhreUxuSmxaRk54Y25Rb0tUdGNiaUFnYVdZZ0tIa3VjbVZrVTNGeUtDa3VjbVZrVTNWaUtIa3lLUzVqYlhBb2RHaHBjeTU2WlhKdktTQWhQVDBnTUNsY2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMmx1ZG1Gc2FXUWdjRzlwYm5RbktUdGNibHh1SUNCMllYSWdhWE5QWkdRZ1BTQjVMbVp5YjIxU1pXUW9LUzVwYzA5a1pDZ3BPMXh1SUNCcFppQW9iMlJrSUNZbUlDRnBjMDlrWkNCOGZDQWhiMlJrSUNZbUlHbHpUMlJrS1Z4dUlDQWdJSGtnUFNCNUxuSmxaRTVsWnlncE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxuQnZhVzUwS0hnc0lIa3BPMXh1ZlR0Y2JseHVSV1IzWVhKa2MwTjFjblpsTG5CeWIzUnZkSGx3WlM1d2IybHVkRVp5YjIxWklEMGdablZ1WTNScGIyNGdjRzlwYm5SR2NtOXRXU2g1TENCdlpHUXBJSHRjYmlBZ2VTQTlJRzVsZHlCQ1RpaDVMQ0F4TmlrN1hHNGdJR2xtSUNnaGVTNXlaV1FwWEc0Z0lDQWdlU0E5SUhrdWRHOVNaV1FvZEdocGN5NXlaV1FwTzF4dVhHNGdJQzh2SUhoZU1pQTlJQ2g1WGpJZ0xTQmpYaklwSUM4Z0tHTmVNaUJrSUhsZU1pQXRJR0VwWEc0Z0lIWmhjaUI1TWlBOUlIa3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQnNhSE1nUFNCNU1pNXlaV1JUZFdJb2RHaHBjeTVqTWlrN1hHNGdJSFpoY2lCeWFITWdQU0I1TWk1eVpXUk5kV3dvZEdocGN5NWtLUzV5WldSTmRXd29kR2hwY3k1ak1pa3VjbVZrVTNWaUtIUm9hWE11WVNrN1hHNGdJSFpoY2lCNE1pQTlJR3hvY3k1eVpXUk5kV3dvY21oekxuSmxaRWx1ZG0wb0tTazdYRzVjYmlBZ2FXWWdLSGd5TG1OdGNDaDBhR2x6TG5wbGNtOHBJRDA5UFNBd0tTQjdYRzRnSUNBZ2FXWWdLRzlrWkNsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduYVc1MllXeHBaQ0J3YjJsdWRDY3BPMXh1SUNBZ0lHVnNjMlZjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmFXNTBLSFJvYVhNdWVtVnlieXdnZVNrN1hHNGdJSDFjYmx4dUlDQjJZWElnZUNBOUlIZ3lMbkpsWkZOeGNuUW9LVHRjYmlBZ2FXWWdLSGd1Y21Wa1UzRnlLQ2t1Y21Wa1UzVmlLSGd5S1M1amJYQW9kR2hwY3k1NlpYSnZLU0FoUFQwZ01DbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjJsdWRtRnNhV1FnY0c5cGJuUW5LVHRjYmx4dUlDQnBaaUFvZUM1bWNtOXRVbVZrS0NrdWFYTlBaR1FvS1NBaFBUMGdiMlJrS1Z4dUlDQWdJSGdnUFNCNExuSmxaRTVsWnlncE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxuQnZhVzUwS0hnc0lIa3BPMXh1ZlR0Y2JseHVSV1IzWVhKa2MwTjFjblpsTG5CeWIzUnZkSGx3WlM1MllXeHBaR0YwWlNBOUlHWjFibU4wYVc5dUlIWmhiR2xrWVhSbEtIQnZhVzUwS1NCN1hHNGdJR2xtSUNod2IybHVkQzVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNWNiaUFnTHk4Z1EzVnlkbVU2SUVFZ0tpQllYaklnS3lCWlhqSWdQU0JEWGpJZ0tpQW9NU0FySUVRZ0tpQllYaklnS2lCWlhqSXBYRzRnSUhCdmFXNTBMbTV2Y20xaGJHbDZaU2dwTzF4dVhHNGdJSFpoY2lCNE1pQTlJSEJ2YVc1MExuZ3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQjVNaUE5SUhCdmFXNTBMbmt1Y21Wa1UzRnlLQ2s3WEc0Z0lIWmhjaUJzYUhNZ1BTQjRNaTV5WldSTmRXd29kR2hwY3k1aEtTNXlaV1JCWkdRb2VUSXBPMXh1SUNCMllYSWdjbWh6SUQwZ2RHaHBjeTVqTWk1eVpXUk5kV3dvZEdocGN5NXZibVV1Y21Wa1FXUmtLSFJvYVhNdVpDNXlaV1JOZFd3b2VESXBMbkpsWkUxMWJDaDVNaWtwS1R0Y2JseHVJQ0J5WlhSMWNtNGdiR2h6TG1OdGNDaHlhSE1wSUQwOVBTQXdPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdVRzlwYm5Rb1kzVnlkbVVzSUhnc0lIa3NJSG9zSUhRcElIdGNiaUFnUW1GelpTNUNZWE5sVUc5cGJuUXVZMkZzYkNoMGFHbHpMQ0JqZFhKMlpTd2dKM0J5YjJwbFkzUnBkbVVuS1R0Y2JpQWdhV1lnS0hnZ1BUMDlJRzUxYkd3Z0ppWWdlU0E5UFQwZ2JuVnNiQ0FtSmlCNklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2RHaHBjeTVqZFhKMlpTNTZaWEp2TzF4dUlDQWdJSFJvYVhNdWVTQTlJSFJvYVhNdVkzVnlkbVV1YjI1bE8xeHVJQ0FnSUhSb2FYTXVlaUE5SUhSb2FYTXVZM1Z5ZG1VdWIyNWxPMXh1SUNBZ0lIUm9hWE11ZENBOUlIUm9hWE11WTNWeWRtVXVlbVZ5Ynp0Y2JpQWdJQ0IwYUdsekxucFBibVVnUFNCMGNuVmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJvYVhNdWVDQTlJRzVsZHlCQ1RpaDRMQ0F4TmlrN1hHNGdJQ0FnZEdocGN5NTVJRDBnYm1WM0lFSk9LSGtzSURFMktUdGNiaUFnSUNCMGFHbHpMbm9nUFNCNklEOGdibVYzSUVKT0tIb3NJREUyS1NBNklIUm9hWE11WTNWeWRtVXViMjVsTzF4dUlDQWdJSFJvYVhNdWRDQTlJSFFnSmlZZ2JtVjNJRUpPS0hRc0lERTJLVHRjYmlBZ0lDQnBaaUFvSVhSb2FYTXVlQzV5WldRcFhHNGdJQ0FnSUNCMGFHbHpMbmdnUFNCMGFHbHpMbmd1ZEc5U1pXUW9kR2hwY3k1amRYSjJaUzV5WldRcE8xeHVJQ0FnSUdsbUlDZ2hkR2hwY3k1NUxuSmxaQ2xjYmlBZ0lDQWdJSFJvYVhNdWVTQTlJSFJvYVhNdWVTNTBiMUpsWkNoMGFHbHpMbU4xY25abExuSmxaQ2s3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbm91Y21Wa0tWeHVJQ0FnSUNBZ2RHaHBjeTU2SUQwZ2RHaHBjeTU2TG5SdlVtVmtLSFJvYVhNdVkzVnlkbVV1Y21Wa0tUdGNiaUFnSUNCcFppQW9kR2hwY3k1MElDWW1JQ0YwYUdsekxuUXVjbVZrS1Z4dUlDQWdJQ0FnZEdocGN5NTBJRDBnZEdocGN5NTBMblJ2VW1Wa0tIUm9hWE11WTNWeWRtVXVjbVZrS1R0Y2JpQWdJQ0IwYUdsekxucFBibVVnUFNCMGFHbHpMbm9nUFQwOUlIUm9hWE11WTNWeWRtVXViMjVsTzF4dVhHNGdJQ0FnTHk4Z1ZYTmxJR1Y0ZEdWdVpHVmtJR052YjNKa2FXNWhkR1Z6WEc0Z0lDQWdhV1lnS0hSb2FYTXVZM1Z5ZG1VdVpYaDBaVzVrWldRZ0ppWWdJWFJvYVhNdWRDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1MElEMGdkR2hwY3k1NExuSmxaRTExYkNoMGFHbHpMbmtwTzF4dUlDQWdJQ0FnYVdZZ0tDRjBhR2x6TG5wUGJtVXBYRzRnSUNBZ0lDQWdJSFJvYVhNdWRDQTlJSFJvYVhNdWRDNXlaV1JOZFd3b2RHaHBjeTU2TG5KbFpFbHVkbTBvS1NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1cGJtaGxjbWwwY3loUWIybHVkQ3dnUW1GelpTNUNZWE5sVUc5cGJuUXBPMXh1WEc1RlpIZGhjbVJ6UTNWeWRtVXVjSEp2ZEc5MGVYQmxMbkJ2YVc1MFJuSnZiVXBUVDA0Z1BTQm1kVzVqZEdsdmJpQndiMmx1ZEVaeWIyMUtVMDlPS0c5aWFpa2dlMXh1SUNCeVpYUjFjbTRnVUc5cGJuUXVabkp2YlVwVFQwNG9kR2hwY3l3Z2IySnFLVHRjYm4wN1hHNWNia1ZrZDJGeVpITkRkWEoyWlM1d2NtOTBiM1I1Y0dVdWNHOXBiblFnUFNCbWRXNWpkR2x2YmlCd2IybHVkQ2g0TENCNUxDQjZMQ0IwS1NCN1hHNGdJSEpsZEhWeWJpQnVaWGNnVUc5cGJuUW9kR2hwY3l3Z2VDd2dlU3dnZWl3Z2RDazdYRzU5TzF4dVhHNVFiMmx1ZEM1bWNtOXRTbE5QVGlBOUlHWjFibU4wYVc5dUlHWnliMjFLVTA5T0tHTjFjblpsTENCdlltb3BJSHRjYmlBZ2NtVjBkWEp1SUc1bGR5QlFiMmx1ZENoamRYSjJaU3dnYjJKcVd6QmRMQ0J2WW1wYk1WMHNJRzlpYWxzeVhTazdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdWFXNXpjR1ZqZENBOUlHWjFibU4wYVc5dUlHbHVjM0JsWTNRb0tTQjdYRzRnSUdsbUlDaDBhR2x6TG1selNXNW1hVzVwZEhrb0tTbGNiaUFnSUNCeVpYUjFjbTRnSnp4RlF5QlFiMmx1ZENCSmJtWnBibWwwZVQ0bk8xeHVJQ0J5WlhSMWNtNGdKenhGUXlCUWIybHVkQ0I0T2lBbklDc2dkR2hwY3k1NExtWnliMjFTWldRb0tTNTBiMU4wY21sdVp5Z3hOaXdnTWlrZ0sxeHVJQ0FnSUNBZ0p5QjVPaUFuSUNzZ2RHaHBjeTU1TG1aeWIyMVNaV1FvS1M1MGIxTjBjbWx1WnlneE5pd2dNaWtnSzF4dUlDQWdJQ0FnSnlCNk9pQW5JQ3NnZEdocGN5NTZMbVp5YjIxU1pXUW9LUzUwYjFOMGNtbHVaeWd4Tml3Z01pa2dLeUFuUGljN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1YVhOSmJtWnBibWwwZVNBOUlHWjFibU4wYVc5dUlHbHpTVzVtYVc1cGRIa29LU0I3WEc0Z0lDOHZJRmhZV0NCVWFHbHpJR052WkdVZ1lYTnpkVzFsY3lCMGFHRjBJSHBsY204Z2FYTWdZV3gzWVhseklIcGxjbThnYVc0Z2NtVmtYRzRnSUhKbGRIVnliaUIwYUdsekxuZ3VZMjF3Ymlnd0tTQTlQVDBnTUNBbUpseHVJQ0FnSUNoMGFHbHpMbmt1WTIxd0tIUm9hWE11ZWlrZ1BUMDlJREFnZkh4Y2JpQWdJQ0FvZEdocGN5NTZUMjVsSUNZbUlIUm9hWE11ZVM1amJYQW9kR2hwY3k1amRYSjJaUzVqS1NBOVBUMGdNQ2twTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlsZUhSRVltd2dQU0JtZFc1amRHbHZiaUJmWlhoMFJHSnNLQ2tnZTF4dUlDQXZMeUJvZVhCbGNtVnNiR2x3ZEdsakxtOXlaeTlGUmtRdlp6RndMMkYxZEc4dGRIZHBjM1JsWkMxbGVIUmxibVJsWkMweExtaDBiV3hjYmlBZ0x5OGdJQ0FnSUNOa2IzVmliR2x1Wnkxa1ltd3RNakF3T0Mxb2QyTmtYRzRnSUM4dklEUk5JQ3NnTkZOY2JseHVJQ0F2THlCQklEMGdXREZlTWx4dUlDQjJZWElnWVNBOUlIUm9hWE11ZUM1eVpXUlRjWElvS1R0Y2JpQWdMeThnUWlBOUlGa3hYakpjYmlBZ2RtRnlJR0lnUFNCMGFHbHpMbmt1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRU1nUFNBeUlDb2dXakZlTWx4dUlDQjJZWElnWXlBOUlIUm9hWE11ZWk1eVpXUlRjWElvS1R0Y2JpQWdZeUE5SUdNdWNtVmtTVUZrWkNoaktUdGNiaUFnTHk4Z1JDQTlJR0VnS2lCQlhHNGdJSFpoY2lCa0lEMGdkR2hwY3k1amRYSjJaUzVmYlhWc1FTaGhLVHRjYmlBZ0x5OGdSU0E5SUNoWU1TQXJJRmt4S1Y0eUlDMGdRU0F0SUVKY2JpQWdkbUZ5SUdVZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hSb2FYTXVlU2t1Y21Wa1UzRnlLQ2t1Y21Wa1NWTjFZaWhoS1M1eVpXUkpVM1ZpS0dJcE8xeHVJQ0F2THlCSElEMGdSQ0FySUVKY2JpQWdkbUZ5SUdjZ1BTQmtMbkpsWkVGa1pDaGlLVHRjYmlBZ0x5OGdSaUE5SUVjZ0xTQkRYRzRnSUhaaGNpQm1JRDBnWnk1eVpXUlRkV0lvWXlrN1hHNGdJQzh2SUVnZ1BTQkVJQzBnUWx4dUlDQjJZWElnYUNBOUlHUXVjbVZrVTNWaUtHSXBPMXh1SUNBdkx5QllNeUE5SUVVZ0tpQkdYRzRnSUhaaGNpQnVlQ0E5SUdVdWNtVmtUWFZzS0dZcE8xeHVJQ0F2THlCWk15QTlJRWNnS2lCSVhHNGdJSFpoY2lCdWVTQTlJR2N1Y21Wa1RYVnNLR2dwTzF4dUlDQXZMeUJVTXlBOUlFVWdLaUJJWEc0Z0lIWmhjaUJ1ZENBOUlHVXVjbVZrVFhWc0tHZ3BPMXh1SUNBdkx5QmFNeUE5SUVZZ0tpQkhYRzRnSUhaaGNpQnVlaUE5SUdZdWNtVmtUWFZzS0djcE8xeHVJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzV3YjJsdWRDaHVlQ3dnYm5rc0lHNTZMQ0J1ZENrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WDNCeWIycEVZbXdnUFNCbWRXNWpkR2x2YmlCZmNISnZha1JpYkNncElIdGNiaUFnTHk4Z2FIbHdaWEpsYkd4cGNIUnBZeTV2Y21jdlJVWkVMMmN4Y0M5aGRYUnZMWFIzYVhOMFpXUXRjSEp2YW1WamRHbDJaUzVvZEcxc1hHNGdJQzh2SUNBZ0lDQWpaRzkxWW14cGJtY3RaR0pzTFRJd01EZ3RZbUpxYkhCY2JpQWdMeThnSUNBZ0lDTmtiM1ZpYkdsdVp5MWtZbXd0TWpBd055MWliRnh1SUNBdkx5QmhibVFnYjNSb1pYSnpYRzRnSUM4dklFZGxibVZ5WVd4c2VTQXpUU0FySURSVElHOXlJREpOSUNzZ05GTmNibHh1SUNBdkx5QkNJRDBnS0ZneElDc2dXVEVwWGpKY2JpQWdkbUZ5SUdJZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hSb2FYTXVlU2t1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRU1nUFNCWU1WNHlYRzRnSUhaaGNpQmpJRDBnZEdocGN5NTRMbkpsWkZOeGNpZ3BPMXh1SUNBdkx5QkVJRDBnV1RGZU1seHVJQ0IyWVhJZ1pDQTlJSFJvYVhNdWVTNXlaV1JUY1hJb0tUdGNibHh1SUNCMllYSWdibmc3WEc0Z0lIWmhjaUJ1ZVR0Y2JpQWdkbUZ5SUc1Nk8xeHVJQ0JwWmlBb2RHaHBjeTVqZFhKMlpTNTBkMmx6ZEdWa0tTQjdYRzRnSUNBZ0x5OGdSU0E5SUdFZ0tpQkRYRzRnSUNBZ2RtRnlJR1VnUFNCMGFHbHpMbU4xY25abExsOXRkV3hCS0dNcE8xeHVJQ0FnSUM4dklFWWdQU0JGSUNzZ1JGeHVJQ0FnSUhaaGNpQm1JRDBnWlM1eVpXUkJaR1FvWkNrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11ZWs5dVpTa2dlMXh1SUNBZ0lDQWdMeThnV0RNZ1BTQW9RaUF0SUVNZ0xTQkVLU0FxSUNoR0lDMGdNaWxjYmlBZ0lDQWdJRzU0SUQwZ1lpNXlaV1JUZFdJb1l5a3VjbVZrVTNWaUtHUXBMbkpsWkUxMWJDaG1MbkpsWkZOMVlpaDBhR2x6TG1OMWNuWmxMblIzYnlrcE8xeHVJQ0FnSUNBZ0x5OGdXVE1nUFNCR0lDb2dLRVVnTFNCRUtWeHVJQ0FnSUNBZ2Jua2dQU0JtTG5KbFpFMTFiQ2hsTG5KbFpGTjFZaWhrS1NrN1hHNGdJQ0FnSUNBdkx5QmFNeUE5SUVaZU1pQXRJRElnS2lCR1hHNGdJQ0FnSUNCdWVpQTlJR1l1Y21Wa1UzRnlLQ2t1Y21Wa1UzVmlLR1lwTG5KbFpGTjFZaWhtS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnU0NBOUlGb3hYakpjYmlBZ0lDQWdJSFpoY2lCb0lEMGdkR2hwY3k1NkxuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ0x5OGdTaUE5SUVZZ0xTQXlJQ29nU0Z4dUlDQWdJQ0FnZG1GeUlHb2dQU0JtTG5KbFpGTjFZaWhvS1M1eVpXUkpVM1ZpS0dncE8xeHVJQ0FnSUNBZ0x5OGdXRE1nUFNBb1FpMURMVVFwS2twY2JpQWdJQ0FnSUc1NElEMGdZaTV5WldSVGRXSW9ZeWt1Y21Wa1NWTjFZaWhrS1M1eVpXUk5kV3dvYWlrN1hHNGdJQ0FnSUNBdkx5QlpNeUE5SUVZZ0tpQW9SU0F0SUVRcFhHNGdJQ0FnSUNCdWVTQTlJR1l1Y21Wa1RYVnNLR1V1Y21Wa1UzVmlLR1FwS1R0Y2JpQWdJQ0FnSUM4dklGb3pJRDBnUmlBcUlFcGNiaUFnSUNBZ0lHNTZJRDBnWmk1eVpXUk5kV3dvYWlrN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFVWdQU0JESUNzZ1JGeHVJQ0FnSUhaaGNpQmxJRDBnWXk1eVpXUkJaR1FvWkNrN1hHNGdJQ0FnTHk4Z1NDQTlJQ2hqSUNvZ1dqRXBYakpjYmlBZ0lDQjJZWElnYUNBOUlIUm9hWE11WTNWeWRtVXVYMjExYkVNb2RHaHBjeTU2S1M1eVpXUlRjWElvS1R0Y2JpQWdJQ0F2THlCS0lEMGdSU0F0SURJZ0tpQklYRzRnSUNBZ2RtRnlJR29nUFNCbExuSmxaRk4xWWlob0tTNXlaV1JUZFdJb2FDazdYRzRnSUNBZ0x5OGdXRE1nUFNCaklDb2dLRUlnTFNCRktTQXFJRXBjYmlBZ0lDQnVlQ0E5SUhSb2FYTXVZM1Z5ZG1VdVgyMTFiRU1vWWk1eVpXUkpVM1ZpS0dVcEtTNXlaV1JOZFd3b2FpazdYRzRnSUNBZ0x5OGdXVE1nUFNCaklDb2dSU0FxSUNoRElDMGdSQ2xjYmlBZ0lDQnVlU0E5SUhSb2FYTXVZM1Z5ZG1VdVgyMTFiRU1vWlNrdWNtVmtUWFZzS0dNdWNtVmtTVk4xWWloa0tTazdYRzRnSUNBZ0x5OGdXak1nUFNCRklDb2dTbHh1SUNBZ0lHNTZJRDBnWlM1eVpXUk5kV3dvYWlrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhSb2FYTXVZM1Z5ZG1VdWNHOXBiblFvYm5nc0lHNTVMQ0J1ZWlrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WkdKc0lEMGdablZ1WTNScGIyNGdaR0pzS0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnTHk4Z1JHOTFZbXhsSUdsdUlHVjRkR1Z1WkdWa0lHTnZiM0prYVc1aGRHVnpYRzRnSUdsbUlDaDBhR2x6TG1OMWNuWmxMbVY0ZEdWdVpHVmtLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlsZUhSRVltd29LVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl3Y205cVJHSnNLQ2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVYMlY0ZEVGa1pDQTlJR1oxYm1OMGFXOXVJRjlsZUhSQlpHUW9jQ2tnZTF4dUlDQXZMeUJvZVhCbGNtVnNiR2x3ZEdsakxtOXlaeTlGUmtRdlp6RndMMkYxZEc4dGRIZHBjM1JsWkMxbGVIUmxibVJsWkMweExtaDBiV3hjYmlBZ0x5OGdJQ0FnSUNOaFpHUnBkR2x2YmkxaFpHUXRNakF3T0Mxb2QyTmtMVE5jYmlBZ0x5OGdPRTFjYmx4dUlDQXZMeUJCSUQwZ0tGa3hJQzBnV0RFcElDb2dLRmt5SUMwZ1dESXBYRzRnSUhaaGNpQmhJRDBnZEdocGN5NTVMbkpsWkZOMVlpaDBhR2x6TG5ncExuSmxaRTExYkNod0xua3VjbVZrVTNWaUtIQXVlQ2twTzF4dUlDQXZMeUJDSUQwZ0tGa3hJQ3NnV0RFcElDb2dLRmt5SUNzZ1dESXBYRzRnSUhaaGNpQmlJRDBnZEdocGN5NTVMbkpsWkVGa1pDaDBhR2x6TG5ncExuSmxaRTExYkNod0xua3VjbVZrUVdSa0tIQXVlQ2twTzF4dUlDQXZMeUJESUQwZ1ZERWdLaUJySUNvZ1ZESmNiaUFnZG1GeUlHTWdQU0IwYUdsekxuUXVjbVZrVFhWc0tIUm9hWE11WTNWeWRtVXVaR1FwTG5KbFpFMTFiQ2h3TG5RcE8xeHVJQ0F2THlCRUlEMGdXakVnS2lBeUlDb2dXakpjYmlBZ2RtRnlJR1FnUFNCMGFHbHpMbm91Y21Wa1RYVnNLSEF1ZWk1eVpXUkJaR1FvY0M1NktTazdYRzRnSUM4dklFVWdQU0JDSUMwZ1FWeHVJQ0IyWVhJZ1pTQTlJR0l1Y21Wa1UzVmlLR0VwTzF4dUlDQXZMeUJHSUQwZ1JDQXRJRU5jYmlBZ2RtRnlJR1lnUFNCa0xuSmxaRk4xWWloaktUdGNiaUFnTHk4Z1J5QTlJRVFnS3lCRFhHNGdJSFpoY2lCbklEMGdaQzV5WldSQlpHUW9ZeWs3WEc0Z0lDOHZJRWdnUFNCQ0lDc2dRVnh1SUNCMllYSWdhQ0E5SUdJdWNtVmtRV1JrS0dFcE8xeHVJQ0F2THlCWU15QTlJRVVnS2lCR1hHNGdJSFpoY2lCdWVDQTlJR1V1Y21Wa1RYVnNLR1lwTzF4dUlDQXZMeUJaTXlBOUlFY2dLaUJJWEc0Z0lIWmhjaUJ1ZVNBOUlHY3VjbVZrVFhWc0tHZ3BPMXh1SUNBdkx5QlVNeUE5SUVVZ0tpQklYRzRnSUhaaGNpQnVkQ0E5SUdVdWNtVmtUWFZzS0dncE8xeHVJQ0F2THlCYU15QTlJRVlnS2lCSFhHNGdJSFpoY2lCdWVpQTlJR1l1Y21Wa1RYVnNLR2NwTzF4dUlDQnlaWFIxY200Z2RHaHBjeTVqZFhKMlpTNXdiMmx1ZENodWVDd2dibmtzSUc1NkxDQnVkQ2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVYM0J5YjJwQlpHUWdQU0JtZFc1amRHbHZiaUJmY0hKdmFrRmtaQ2h3S1NCN1hHNGdJQzh2SUdoNWNHVnlaV3hzYVhCMGFXTXViM0puTDBWR1JDOW5NWEF2WVhWMGJ5MTBkMmx6ZEdWa0xYQnliMnBsWTNScGRtVXVhSFJ0YkZ4dUlDQXZMeUFnSUNBZ0kyRmtaR2wwYVc5dUxXRmtaQzB5TURBNExXSmlhbXh3WEc0Z0lDOHZJQ0FnSUNBallXUmthWFJwYjI0dFlXUmtMVEl3TURjdFlteGNiaUFnTHk4Z01UQk5JQ3NnTVZOY2JseHVJQ0F2THlCQklEMGdXakVnS2lCYU1seHVJQ0IyWVhJZ1lTQTlJSFJvYVhNdWVpNXlaV1JOZFd3b2NDNTZLVHRjYmlBZ0x5OGdRaUE5SUVGZU1seHVJQ0IyWVhJZ1lpQTlJR0V1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRU1nUFNCWU1TQXFJRmd5WEc0Z0lIWmhjaUJqSUQwZ2RHaHBjeTU0TG5KbFpFMTFiQ2h3TG5ncE8xeHVJQ0F2THlCRUlEMGdXVEVnS2lCWk1seHVJQ0IyWVhJZ1pDQTlJSFJvYVhNdWVTNXlaV1JOZFd3b2NDNTVLVHRjYmlBZ0x5OGdSU0E5SUdRZ0tpQkRJQ29nUkZ4dUlDQjJZWElnWlNBOUlIUm9hWE11WTNWeWRtVXVaQzV5WldSTmRXd29ZeWt1Y21Wa1RYVnNLR1FwTzF4dUlDQXZMeUJHSUQwZ1FpQXRJRVZjYmlBZ2RtRnlJR1lnUFNCaUxuSmxaRk4xWWlobEtUdGNiaUFnTHk4Z1J5QTlJRUlnS3lCRlhHNGdJSFpoY2lCbklEMGdZaTV5WldSQlpHUW9aU2s3WEc0Z0lDOHZJRmd6SUQwZ1FTQXFJRVlnS2lBb0tGZ3hJQ3NnV1RFcElDb2dLRmd5SUNzZ1dUSXBJQzBnUXlBdElFUXBYRzRnSUhaaGNpQjBiWEFnUFNCMGFHbHpMbmd1Y21Wa1FXUmtLSFJvYVhNdWVTa3VjbVZrVFhWc0tIQXVlQzV5WldSQlpHUW9jQzU1S1NrdWNtVmtTVk4xWWloaktTNXlaV1JKVTNWaUtHUXBPMXh1SUNCMllYSWdibmdnUFNCaExuSmxaRTExYkNobUtTNXlaV1JOZFd3b2RHMXdLVHRjYmlBZ2RtRnlJRzU1TzF4dUlDQjJZWElnYm5vN1hHNGdJR2xtSUNoMGFHbHpMbU4xY25abExuUjNhWE4wWldRcElIdGNiaUFnSUNBdkx5QlpNeUE5SUVFZ0tpQkhJQ29nS0VRZ0xTQmhJQ29nUXlsY2JpQWdJQ0J1ZVNBOUlHRXVjbVZrVFhWc0tHY3BMbkpsWkUxMWJDaGtMbkpsWkZOMVlpaDBhR2x6TG1OMWNuWmxMbDl0ZFd4QktHTXBLU2s3WEc0Z0lDQWdMeThnV2pNZ1BTQkdJQ29nUjF4dUlDQWdJRzU2SUQwZ1ppNXlaV1JOZFd3b1p5azdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnV1RNZ1BTQkJJQ29nUnlBcUlDaEVJQzBnUXlsY2JpQWdJQ0J1ZVNBOUlHRXVjbVZrVFhWc0tHY3BMbkpsWkUxMWJDaGtMbkpsWkZOMVlpaGpLU2s3WEc0Z0lDQWdMeThnV2pNZ1BTQmpJQ29nUmlBcUlFZGNiaUFnSUNCdWVpQTlJSFJvYVhNdVkzVnlkbVV1WDIxMWJFTW9aaWt1Y21Wa1RYVnNLR2NwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTG5CdmFXNTBLRzU0TENCdWVTd2dibm9wTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbUZrWkNBOUlHWjFibU4wYVc5dUlHRmtaQ2h3S1NCN1hHNGdJR2xtSUNoMGFHbHpMbWx6U1c1bWFXNXBkSGtvS1NsY2JpQWdJQ0J5WlhSMWNtNGdjRHRjYmlBZ2FXWWdLSEF1YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUdsbUlDaDBhR2x6TG1OMWNuWmxMbVY0ZEdWdVpHVmtLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlsZUhSQlpHUW9jQ2s3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmY0hKdmFrRmtaQ2h3S1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dvYXlrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVmYUdGelJHOTFZbXhsY3locktTbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1ZlptbDRaV1JPWVdaTmRXd29kR2hwY3l3Z2F5azdYRzRnSUdWc2MyVmNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1ZmQyNWhaazExYkNoMGFHbHpMQ0JyS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV0ZFd4QlpHUWdQU0JtZFc1amRHbHZiaUJ0ZFd4QlpHUW9hekVzSUhBc0lHc3lLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOTNibUZtVFhWc1FXUmtLREVzSUZzZ2RHaHBjeXdnY0NCZExDQmJJR3N4TENCck1pQmRMQ0F5TENCbVlXeHpaU2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVhbTExYkVGa1pDQTlJR1oxYm1OMGFXOXVJR3B0ZFd4QlpHUW9hekVzSUhBc0lHc3lLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOTNibUZtVFhWc1FXUmtLREVzSUZzZ2RHaHBjeXdnY0NCZExDQmJJR3N4TENCck1pQmRMQ0F5TENCMGNuVmxLVHRjYm4wN1hHNWNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNXViM0p0WVd4cGVtVWdQU0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvS1NCN1hHNGdJR2xtSUNoMGFHbHpMbnBQYm1VcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnTHk4Z1RtOXliV0ZzYVhwbElHTnZiM0prYVc1aGRHVnpYRzRnSUhaaGNpQjZhU0E5SUhSb2FYTXVlaTV5WldSSmJuWnRLQ2s3WEc0Z0lIUm9hWE11ZUNBOUlIUm9hWE11ZUM1eVpXUk5kV3dvZW1rcE8xeHVJQ0IwYUdsekxua2dQU0IwYUdsekxua3VjbVZrVFhWc0tIcHBLVHRjYmlBZ2FXWWdLSFJvYVhNdWRDbGNiaUFnSUNCMGFHbHpMblFnUFNCMGFHbHpMblF1Y21Wa1RYVnNLSHBwS1R0Y2JpQWdkR2hwY3k1NklEMGdkR2hwY3k1amRYSjJaUzV2Ym1VN1hHNGdJSFJvYVhNdWVrOXVaU0E5SUhSeWRXVTdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVVHOXBiblF1Y0hKdmRHOTBlWEJsTG01bFp5QTlJR1oxYm1OMGFXOXVJRzVsWnlncElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1Y0c5cGJuUW9kR2hwY3k1NExuSmxaRTVsWnlncExGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG5rc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11ZWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTUwSUNZbUlIUm9hWE11ZEM1eVpXUk9aV2NvS1NrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WjJWMFdDQTlJR1oxYm1OMGFXOXVJR2RsZEZnb0tTQjdYRzRnSUhSb2FYTXVibTl5YldGc2FYcGxLQ2s3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbmd1Wm5KdmJWSmxaQ2dwTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbWRsZEZrZ1BTQm1kVzVqZEdsdmJpQm5aWFJaS0NrZ2UxeHVJQ0IwYUdsekxtNXZjbTFoYkdsNlpTZ3BPMXh1SUNCeVpYUjFjbTRnZEdocGN5NTVMbVp5YjIxU1pXUW9LVHRjYm4wN1hHNWNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeEtHOTBhR1Z5S1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6SUQwOVBTQnZkR2hsY2lCOGZGeHVJQ0FnSUNBZ0lDQWdkR2hwY3k1blpYUllLQ2t1WTIxd0tHOTBhR1Z5TG1kbGRGZ29LU2tnUFQwOUlEQWdKaVpjYmlBZ0lDQWdJQ0FnSUhSb2FYTXVaMlYwV1NncExtTnRjQ2h2ZEdobGNpNW5aWFJaS0NrcElEMDlQU0F3TzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbVZ4V0ZSdlVDQTlJR1oxYm1OMGFXOXVJR1Z4V0ZSdlVDaDRLU0I3WEc0Z0lIWmhjaUJ5ZUNBOUlIZ3VkRzlTWldRb2RHaHBjeTVqZFhKMlpTNXlaV1FwTG5KbFpFMTFiQ2gwYUdsekxub3BPMXh1SUNCcFppQW9kR2hwY3k1NExtTnRjQ2h5ZUNrZ1BUMDlJREFwWEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc1Y2JpQWdkbUZ5SUhoaklEMGdlQzVqYkc5dVpTZ3BPMXh1SUNCMllYSWdkQ0E5SUhSb2FYTXVZM1Z5ZG1VdWNtVmtUaTV5WldSTmRXd29kR2hwY3k1NktUdGNiaUFnWm05eUlDZzdPeWtnZTF4dUlDQWdJSGhqTG1saFpHUW9kR2hwY3k1amRYSjJaUzV1S1R0Y2JpQWdJQ0JwWmlBb2VHTXVZMjF3S0hSb2FYTXVZM1Z5ZG1VdWNDa2dQajBnTUNsY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lISjRMbkpsWkVsQlpHUW9kQ2s3WEc0Z0lDQWdhV1lnS0hSb2FYTXVlQzVqYlhBb2NuZ3BJRDA5UFNBd0tWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgxY2JuMDdYRzVjYmk4dklFTnZiWEJoZEdsaWFXeHBkSGtnZDJsMGFDQkNZWE5sUTNWeWRtVmNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNTBiMUFnUFNCUWIybHVkQzV3Y205MGIzUjVjR1V1Ym05eWJXRnNhWHBsTzF4dVVHOXBiblF1Y0hKdmRHOTBlWEJsTG0xcGVHVmtRV1JrSUQwZ1VHOXBiblF1Y0hKdmRHOTBlWEJsTG1Ga1pEdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9lZHdhcmRzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGN1cnZlID0gZXhwb3J0cztcXG5cXG5jdXJ2ZS5iYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qc1xcXCIpO1xcbmN1cnZlLnNob3J0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaG9ydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzXFxcIik7XFxuY3VydmUubW9udCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbW9udCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL21vbnQuanNcXFwiKTtcXG5jdXJ2ZS5lZHdhcmRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lZHdhcmRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvZWR3YXJkcy5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdmFXNWtaWGd1YW5NL1pEVmlaaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2EwVkJRVkU3UVVGRE4wSXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHOUZRVUZUTzBGQlF5OUNMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eHJSVUZCVVR0QlFVTTNRaXhuUWtGQlowSXNiVUpCUVU4c1EwRkJReXgzUlVGQlZ5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCamRYSjJaU0E5SUdWNGNHOXlkSE03WEc1Y2JtTjFjblpsTG1KaGMyVWdQU0J5WlhGMWFYSmxLQ2N1TDJKaGMyVW5LVHRjYm1OMWNuWmxMbk5vYjNKMElEMGdjbVZ4ZFdseVpTZ25MaTl6YUc5eWRDY3BPMXh1WTNWeWRtVXViVzl1ZENBOUlISmxjWFZwY21Vb0p5NHZiVzl1ZENjcE8xeHVZM1Z5ZG1VdVpXUjNZWEprY3lBOUlISmxjWFZwY21Vb0p5NHZaV1IzWVhKa2N5Y3BPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9tb250LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9tb250LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxcIik7XFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG52YXIgQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL2Jhc2UuanNcXFwiKTtcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxuXFxuZnVuY3Rpb24gTW9udEN1cnZlKGNvbmYpIHtcXG4gIEJhc2UuY2FsbCh0aGlzLCAnbW9udCcsIGNvbmYpO1xcblxcbiAgdGhpcy5hID0gbmV3IEJOKGNvbmYuYSwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMuYiA9IG5ldyBCTihjb25mLmIsIDE2KS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLmk0ID0gbmV3IEJOKDQpLnRvUmVkKHRoaXMucmVkKS5yZWRJbnZtKCk7XFxuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XFxuICB0aGlzLmEyNCA9IHRoaXMuaTQucmVkTXVsKHRoaXMuYS5yZWRBZGQodGhpcy50d28pKTtcXG59XFxuaW5oZXJpdHMoTW9udEN1cnZlLCBCYXNlKTtcXG5tb2R1bGUuZXhwb3J0cyA9IE1vbnRDdXJ2ZTtcXG5cXG5Nb250Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUocG9pbnQpIHtcXG4gIHZhciB4ID0gcG9pbnQubm9ybWFsaXplKCkueDtcXG4gIHZhciB4MiA9IHgucmVkU3FyKCk7XFxuICB2YXIgcmhzID0geDIucmVkTXVsKHgpLnJlZEFkZCh4Mi5yZWRNdWwodGhpcy5hKSkucmVkQWRkKHgpO1xcbiAgdmFyIHkgPSByaHMucmVkU3FydCgpO1xcblxcbiAgcmV0dXJuIHkucmVkU3FyKCkuY21wKHJocykgPT09IDA7XFxufTtcXG5cXG5mdW5jdGlvbiBQb2ludChjdXJ2ZSwgeCwgeikge1xcbiAgQmFzZS5CYXNlUG9pbnQuY2FsbCh0aGlzLCBjdXJ2ZSwgJ3Byb2plY3RpdmUnKTtcXG4gIGlmICh4ID09PSBudWxsICYmIHogPT09IG51bGwpIHtcXG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS5vbmU7XFxuICAgIHRoaXMueiA9IHRoaXMuY3VydmUuemVybztcXG4gIH0gZWxzZSB7XFxuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XFxuICAgIHRoaXMueiA9IG5ldyBCTih6LCAxNik7XFxuICAgIGlmICghdGhpcy54LnJlZClcXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICBpZiAoIXRoaXMuei5yZWQpXFxuICAgICAgdGhpcy56ID0gdGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gIH1cXG59XFxuaW5oZXJpdHMoUG9pbnQsIEJhc2UuQmFzZVBvaW50KTtcXG5cXG5Nb250Q3VydmUucHJvdG90eXBlLmRlY29kZVBvaW50ID0gZnVuY3Rpb24gZGVjb2RlUG9pbnQoYnl0ZXMsIGVuYykge1xcbiAgcmV0dXJuIHRoaXMucG9pbnQodXRpbHMudG9BcnJheShieXRlcywgZW5jKSwgMSk7XFxufTtcXG5cXG5Nb250Q3VydmUucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24gcG9pbnQoeCwgeikge1xcbiAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLCB4LCB6KTtcXG59O1xcblxcbk1vbnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTiA9IGZ1bmN0aW9uIHBvaW50RnJvbUpTT04ob2JqKSB7XFxuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5wcmVjb21wdXRlID0gZnVuY3Rpb24gcHJlY29tcHV0ZSgpIHtcXG4gIC8vIE5vLW9wXFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuX2VuY29kZSA9IGZ1bmN0aW9uIF9lbmNvZGUoKSB7XFxuICByZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgnYmUnLCB0aGlzLmN1cnZlLnAuYnl0ZUxlbmd0aCgpKTtcXG59O1xcblxcblBvaW50LmZyb21KU09OID0gZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsIG9iaikge1xcbiAgcmV0dXJuIG5ldyBQb2ludChjdXJ2ZSwgb2JqWzBdLCBvYmpbMV0gfHwgY3VydmUub25lKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5pbnNwZWN0ID0gZnVuY3Rpb24gaW5zcGVjdCgpIHtcXG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuICc8RUMgUG9pbnQgSW5maW5pdHk+JztcXG4gIHJldHVybiAnPEVDIFBvaW50IHg6ICcgKyB0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB6OiAnICsgdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgKyAnPic7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XFxuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxcbiAgcmV0dXJuIHRoaXMuei5jbXBuKDApID09PSAwO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmRibCA9IGZ1bmN0aW9uIGRibCgpIHtcXG4gIC8vIGh0dHA6Ly9oeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tbW9udGdvbS14ei5odG1sI2RvdWJsaW5nLWRibC0xOTg3LW0tM1xcbiAgLy8gMk0gKyAyUyArIDRBXFxuXFxuICAvLyBBID0gWDEgKyBaMVxcbiAgdmFyIGEgPSB0aGlzLngucmVkQWRkKHRoaXMueik7XFxuICAvLyBBQSA9IEFeMlxcbiAgdmFyIGFhID0gYS5yZWRTcXIoKTtcXG4gIC8vIEIgPSBYMSAtIFoxXFxuICB2YXIgYiA9IHRoaXMueC5yZWRTdWIodGhpcy56KTtcXG4gIC8vIEJCID0gQl4yXFxuICB2YXIgYmIgPSBiLnJlZFNxcigpO1xcbiAgLy8gQyA9IEFBIC0gQkJcXG4gIHZhciBjID0gYWEucmVkU3ViKGJiKTtcXG4gIC8vIFgzID0gQUEgKiBCQlxcbiAgdmFyIG54ID0gYWEucmVkTXVsKGJiKTtcXG4gIC8vIFozID0gQyAqIChCQiArIEEyNCAqIEMpXFxuICB2YXIgbnogPSBjLnJlZE11bChiYi5yZWRBZGQodGhpcy5jdXJ2ZS5hMjQucmVkTXVsKGMpKSk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnopO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZCgpIHtcXG4gIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlJyk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZGlmZkFkZCA9IGZ1bmN0aW9uIGRpZmZBZGQocCwgZGlmZikge1xcbiAgLy8gaHR0cDovL2h5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1tb250Z29tLXh6Lmh0bWwjZGlmZmFkZC1kYWRkLTE5ODctbS0zXFxuICAvLyA0TSArIDJTICsgNkFcXG5cXG4gIC8vIEEgPSBYMiArIFoyXFxuICB2YXIgYSA9IHRoaXMueC5yZWRBZGQodGhpcy56KTtcXG4gIC8vIEIgPSBYMiAtIFoyXFxuICB2YXIgYiA9IHRoaXMueC5yZWRTdWIodGhpcy56KTtcXG4gIC8vIEMgPSBYMyArIFozXFxuICB2YXIgYyA9IHAueC5yZWRBZGQocC56KTtcXG4gIC8vIEQgPSBYMyAtIFozXFxuICB2YXIgZCA9IHAueC5yZWRTdWIocC56KTtcXG4gIC8vIERBID0gRCAqIEFcXG4gIHZhciBkYSA9IGQucmVkTXVsKGEpO1xcbiAgLy8gQ0IgPSBDICogQlxcbiAgdmFyIGNiID0gYy5yZWRNdWwoYik7XFxuICAvLyBYNSA9IFoxICogKERBICsgQ0IpXjJcXG4gIHZhciBueCA9IGRpZmYuei5yZWRNdWwoZGEucmVkQWRkKGNiKS5yZWRTcXIoKSk7XFxuICAvLyBaNSA9IFgxICogKERBIC0gQ0IpXjJcXG4gIHZhciBueiA9IGRpZmYueC5yZWRNdWwoZGEucmVkSVN1YihjYikucmVkU3FyKCkpO1xcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG56KTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xcbiAgdmFyIHQgPSBrLmNsb25lKCk7XFxuICB2YXIgYSA9IHRoaXM7IC8vIChOIC8gMikgKiBRICsgUVxcbiAgdmFyIGIgPSB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpOyAvLyAoTiAvIDIpICogUVxcbiAgdmFyIGMgPSB0aGlzOyAvLyBRXFxuXFxuICBmb3IgKHZhciBiaXRzID0gW107IHQuY21wbigwKSAhPT0gMDsgdC5pdXNocm4oMSkpXFxuICAgIGJpdHMucHVzaCh0LmFuZGxuKDEpKTtcXG5cXG4gIGZvciAodmFyIGkgPSBiaXRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgIGlmIChiaXRzW2ldID09PSAwKSB7XFxuICAgICAgLy8gTiAqIFEgKyBRID0gKChOIC8gMikgKiBRICsgUSkpICsgKE4gLyAyKSAqIFFcXG4gICAgICBhID0gYS5kaWZmQWRkKGIsIGMpO1xcbiAgICAgIC8vIE4gKiBRID0gMiAqICgoTiAvIDIpICogUSArIFEpKVxcbiAgICAgIGIgPSBiLmRibCgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIE4gKiBRID0gKChOIC8gMikgKiBRICsgUSkgKyAoKE4gLyAyKSAqIFEpXFxuICAgICAgYiA9IGEuZGlmZkFkZChiLCBjKTtcXG4gICAgICAvLyBOICogUSArIFEgPSAyICogKChOIC8gMikgKiBRICsgUSlcXG4gICAgICBhID0gYS5kYmwoKTtcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIGI7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubXVsQWRkID0gZnVuY3Rpb24gbXVsQWRkKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUnKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5qdW1sQWRkID0gZnVuY3Rpb24ganVtbEFkZCgpIHtcXG4gIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlJyk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcShvdGhlcikge1xcbiAgcmV0dXJuIHRoaXMuZ2V0WCgpLmNtcChvdGhlci5nZXRYKCkpID09PSAwO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uIG5vcm1hbGl6ZSgpIHtcXG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwodGhpcy56LnJlZEludm0oKSk7XFxuICB0aGlzLnogPSB0aGlzLmN1cnZlLm9uZTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xcbiAgLy8gTm9ybWFsaXplIGNvb3JkaW5hdGVzXFxuICB0aGlzLm5vcm1hbGl6ZSgpO1xcblxcbiAgcmV0dXJuIHRoaXMueC5mcm9tUmVkKCk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WTNWeWRtVXZiVzl1ZEM1cWN6OHlNVFV4SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZOQlFWTXNiVUpCUVU4c1EwRkJReXh0UlVGQlR6dEJRVU40UWl4bFFVRmxMRzFDUVVGUExFTkJRVU1zTmtSQlFWVTdRVUZEYWtNc1YwRkJWeXh0UWtGQlR5eERRVUZETEd0RlFVRlJPenRCUVVVelFpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc0swUkJRVlU3TzBGQlJUbENPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNaVUZCWlR0QlFVTm1MSFZEUVVGMVF6dEJRVU4yUXl4bFFVRmxPenRCUVVWbUxIRkNRVUZ4UWl4cFFrRkJhVUk3UVVGRGRFTTdPMEZCUlVFc0swSkJRU3RDTEZGQlFWRTdRVUZEZGtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wld4c2FYQjBhV012YkdsaUwyVnNiR2x3ZEdsakwyTjFjblpsTDIxdmJuUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJDVGlBOUlISmxjWFZwY21Vb0oySnVMbXB6SnlrN1hHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcE8xeHVkbUZ5SUVKaGMyVWdQU0J5WlhGMWFYSmxLQ2N1TDJKaGMyVW5LVHRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYmx4dVpuVnVZM1JwYjI0Z1RXOXVkRU4xY25abEtHTnZibVlwSUh0Y2JpQWdRbUZ6WlM1allXeHNLSFJvYVhNc0lDZHRiMjUwSnl3Z1kyOXVaaWs3WEc1Y2JpQWdkR2hwY3k1aElEMGdibVYzSUVKT0tHTnZibVl1WVN3Z01UWXBMblJ2VW1Wa0tIUm9hWE11Y21Wa0tUdGNiaUFnZEdocGN5NWlJRDBnYm1WM0lFSk9LR052Ym1ZdVlpd2dNVFlwTG5SdlVtVmtLSFJvYVhNdWNtVmtLVHRjYmlBZ2RHaHBjeTVwTkNBOUlHNWxkeUJDVGlnMEtTNTBiMUpsWkNoMGFHbHpMbkpsWkNrdWNtVmtTVzUyYlNncE8xeHVJQ0IwYUdsekxuUjNieUE5SUc1bGR5QkNUaWd5S1M1MGIxSmxaQ2gwYUdsekxuSmxaQ2s3WEc0Z0lIUm9hWE11WVRJMElEMGdkR2hwY3k1cE5DNXlaV1JOZFd3b2RHaHBjeTVoTG5KbFpFRmtaQ2gwYUdsekxuUjNieWtwTzF4dWZWeHVhVzVvWlhKcGRITW9UVzl1ZEVOMWNuWmxMQ0JDWVhObEtUdGNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdUVzl1ZEVOMWNuWmxPMXh1WEc1TmIyNTBRM1Z5ZG1VdWNISnZkRzkwZVhCbExuWmhiR2xrWVhSbElEMGdablZ1WTNScGIyNGdkbUZzYVdSaGRHVW9jRzlwYm5RcElIdGNiaUFnZG1GeUlIZ2dQU0J3YjJsdWRDNXViM0p0WVd4cGVtVW9LUzU0TzF4dUlDQjJZWElnZURJZ1BTQjRMbkpsWkZOeGNpZ3BPMXh1SUNCMllYSWdjbWh6SUQwZ2VESXVjbVZrVFhWc0tIZ3BMbkpsWkVGa1pDaDRNaTV5WldSTmRXd29kR2hwY3k1aEtTa3VjbVZrUVdSa0tIZ3BPMXh1SUNCMllYSWdlU0E5SUhKb2N5NXlaV1JUY1hKMEtDazdYRzVjYmlBZ2NtVjBkWEp1SUhrdWNtVmtVM0Z5S0NrdVkyMXdLSEpvY3lrZ1BUMDlJREE3WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJRYjJsdWRDaGpkWEoyWlN3Z2VDd2dlaWtnZTF4dUlDQkNZWE5sTGtKaGMyVlFiMmx1ZEM1allXeHNLSFJvYVhNc0lHTjFjblpsTENBbmNISnZhbVZqZEdsMlpTY3BPMXh1SUNCcFppQW9lQ0E5UFQwZ2JuVnNiQ0FtSmlCNklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2RHaHBjeTVqZFhKMlpTNXZibVU3WEc0Z0lDQWdkR2hwY3k1NklEMGdkR2hwY3k1amRYSjJaUzU2WlhKdk8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIUm9hWE11ZUNBOUlHNWxkeUJDVGloNExDQXhOaWs3WEc0Z0lDQWdkR2hwY3k1NklEMGdibVYzSUVKT0tIb3NJREUyS1R0Y2JpQWdJQ0JwWmlBb0lYUm9hWE11ZUM1eVpXUXBYRzRnSUNBZ0lDQjBhR2x6TG5nZ1BTQjBhR2x6TG5ndWRHOVNaV1FvZEdocGN5NWpkWEoyWlM1eVpXUXBPMXh1SUNBZ0lHbG1JQ2doZEdocGN5NTZMbkpsWkNsY2JpQWdJQ0FnSUhSb2FYTXVlaUE5SUhSb2FYTXVlaTUwYjFKbFpDaDBhR2x6TG1OMWNuWmxMbkpsWkNrN1hHNGdJSDFjYm4xY2JtbHVhR1Z5YVhSektGQnZhVzUwTENCQ1lYTmxMa0poYzJWUWIybHVkQ2s3WEc1Y2JrMXZiblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVaR1ZqYjJSbFVHOXBiblFnUFNCbWRXNWpkR2x2YmlCa1pXTnZaR1ZRYjJsdWRDaGllWFJsY3l3Z1pXNWpLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbkJ2YVc1MEtIVjBhV3h6TG5SdlFYSnlZWGtvWW5sMFpYTXNJR1Z1WXlrc0lERXBPMXh1ZlR0Y2JseHVUVzl1ZEVOMWNuWmxMbkJ5YjNSdmRIbHdaUzV3YjJsdWRDQTlJR1oxYm1OMGFXOXVJSEJ2YVc1MEtIZ3NJSG9wSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJRYjJsdWRDaDBhR2x6TENCNExDQjZLVHRjYm4wN1hHNWNiazF2Ym5SRGRYSjJaUzV3Y205MGIzUjVjR1V1Y0c5cGJuUkdjbTl0U2xOUFRpQTlJR1oxYm1OMGFXOXVJSEJ2YVc1MFJuSnZiVXBUVDA0b2IySnFLU0I3WEc0Z0lISmxkSFZ5YmlCUWIybHVkQzVtY205dFNsTlBUaWgwYUdsekxDQnZZbW9wTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbkJ5WldOdmJYQjFkR1VnUFNCbWRXNWpkR2x2YmlCd2NtVmpiMjF3ZFhSbEtDa2dlMXh1SUNBdkx5Qk9ieTF2Y0Z4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlsYm1OdlpHVWdQU0JtZFc1amRHbHZiaUJmWlc1amIyUmxLQ2tnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTVuWlhSWUtDa3VkRzlCY25KaGVTZ25ZbVVuTENCMGFHbHpMbU4xY25abExuQXVZbmwwWlV4bGJtZDBhQ2dwS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbVp5YjIxS1UwOU9JRDBnWm5WdVkzUnBiMjRnWm5KdmJVcFRUMDRvWTNWeWRtVXNJRzlpYWlrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUZCdmFXNTBLR04xY25abExDQnZZbXBiTUYwc0lHOWlhbHN4WFNCOGZDQmpkWEoyWlM1dmJtVXBPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtbHVjM0JsWTNRZ1BTQm1kVzVqZEdsdmJpQnBibk53WldOMEtDa2dlMXh1SUNCcFppQW9kR2hwY3k1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUNjOFJVTWdVRzlwYm5RZ1NXNW1hVzVwZEhrK0p6dGNiaUFnY21WMGRYSnVJQ2M4UlVNZ1VHOXBiblFnZURvZ0p5QXJJSFJvYVhNdWVDNW1jbTl0VW1Wa0tDa3VkRzlUZEhKcGJtY29NVFlzSURJcElDdGNiaUFnSUNBZ0lDY2dlam9nSnlBcklIUm9hWE11ZWk1bWNtOXRVbVZrS0NrdWRHOVRkSEpwYm1jb01UWXNJRElwSUNzZ0p6NG5PMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtbHpTVzVtYVc1cGRIa2dQU0JtZFc1amRHbHZiaUJwYzBsdVptbHVhWFI1S0NrZ2UxeHVJQ0F2THlCWVdGZ2dWR2hwY3lCamIyUmxJR0Z6YzNWdFpYTWdkR2hoZENCNlpYSnZJR2x6SUdGc2QyRjVjeUI2WlhKdklHbHVJSEpsWkZ4dUlDQnlaWFIxY200Z2RHaHBjeTU2TG1OdGNHNG9NQ2tnUFQwOUlEQTdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdVpHSnNJRDBnWm5WdVkzUnBiMjRnWkdKc0tDa2dlMXh1SUNBdkx5Qm9kSFJ3T2k4dmFIbHdaWEpsYkd4cGNIUnBZeTV2Y21jdlJVWkVMMmN4Y0M5aGRYUnZMVzF2Ym5SbmIyMHRlSG91YUhSdGJDTmtiM1ZpYkdsdVp5MWtZbXd0TVRrNE55MXRMVE5jYmlBZ0x5OGdNazBnS3lBeVV5QXJJRFJCWEc1Y2JpQWdMeThnUVNBOUlGZ3hJQ3NnV2pGY2JpQWdkbUZ5SUdFZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hSb2FYTXVlaWs3WEc0Z0lDOHZJRUZCSUQwZ1FWNHlYRzRnSUhaaGNpQmhZU0E5SUdFdWNtVmtVM0Z5S0NrN1hHNGdJQzh2SUVJZ1BTQllNU0F0SUZveFhHNGdJSFpoY2lCaUlEMGdkR2hwY3k1NExuSmxaRk4xWWloMGFHbHpMbm9wTzF4dUlDQXZMeUJDUWlBOUlFSmVNbHh1SUNCMllYSWdZbUlnUFNCaUxuSmxaRk54Y2lncE8xeHVJQ0F2THlCRElEMGdRVUVnTFNCQ1FseHVJQ0IyWVhJZ1l5QTlJR0ZoTG5KbFpGTjFZaWhpWWlrN1hHNGdJQzh2SUZneklEMGdRVUVnS2lCQ1FseHVJQ0IyWVhJZ2JuZ2dQU0JoWVM1eVpXUk5kV3dvWW1JcE8xeHVJQ0F2THlCYU15QTlJRU1nS2lBb1FrSWdLeUJCTWpRZ0tpQkRLVnh1SUNCMllYSWdibm9nUFNCakxuSmxaRTExYkNoaVlpNXlaV1JCWkdRb2RHaHBjeTVqZFhKMlpTNWhNalF1Y21Wa1RYVnNLR01wS1NrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbkJ2YVc1MEtHNTRMQ0J1ZWlrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMDV2ZENCemRYQndiM0owWldRZ2IyNGdUVzl1ZEdkdmJXVnllU0JqZFhKMlpTY3BPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtUnBabVpCWkdRZ1BTQm1kVzVqZEdsdmJpQmthV1ptUVdSa0tIQXNJR1JwWm1ZcElIdGNiaUFnTHk4Z2FIUjBjRG92TDJoNWNHVnlaV3hzYVhCMGFXTXViM0puTDBWR1JDOW5NWEF2WVhWMGJ5MXRiMjUwWjI5dExYaDZMbWgwYld3alpHbG1abUZrWkMxa1lXUmtMVEU1T0RjdGJTMHpYRzRnSUM4dklEUk5JQ3NnTWxNZ0t5QTJRVnh1WEc0Z0lDOHZJRUVnUFNCWU1pQXJJRm95WEc0Z0lIWmhjaUJoSUQwZ2RHaHBjeTU0TG5KbFpFRmtaQ2gwYUdsekxub3BPMXh1SUNBdkx5QkNJRDBnV0RJZ0xTQmFNbHh1SUNCMllYSWdZaUE5SUhSb2FYTXVlQzV5WldSVGRXSW9kR2hwY3k1NktUdGNiaUFnTHk4Z1F5QTlJRmd6SUNzZ1dqTmNiaUFnZG1GeUlHTWdQU0J3TG5ndWNtVmtRV1JrS0hBdWVpazdYRzRnSUM4dklFUWdQU0JZTXlBdElGb3pYRzRnSUhaaGNpQmtJRDBnY0M1NExuSmxaRk4xWWlod0xub3BPMXh1SUNBdkx5QkVRU0E5SUVRZ0tpQkJYRzRnSUhaaGNpQmtZU0E5SUdRdWNtVmtUWFZzS0dFcE8xeHVJQ0F2THlCRFFpQTlJRU1nS2lCQ1hHNGdJSFpoY2lCallpQTlJR011Y21Wa1RYVnNLR0lwTzF4dUlDQXZMeUJZTlNBOUlGb3hJQ29nS0VSQklDc2dRMElwWGpKY2JpQWdkbUZ5SUc1NElEMGdaR2xtWmk1NkxuSmxaRTExYkNoa1lTNXlaV1JCWkdRb1kySXBMbkpsWkZOeGNpZ3BLVHRjYmlBZ0x5OGdXalVnUFNCWU1TQXFJQ2hFUVNBdElFTkNLVjR5WEc0Z0lIWmhjaUJ1ZWlBOUlHUnBabVl1ZUM1eVpXUk5kV3dvWkdFdWNtVmtTVk4xWWloallpa3VjbVZrVTNGeUtDa3BPMXh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1d2IybHVkQ2h1ZUN3Z2Jub3BPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDaHJLU0I3WEc0Z0lIWmhjaUIwSUQwZ2F5NWpiRzl1WlNncE8xeHVJQ0IyWVhJZ1lTQTlJSFJvYVhNN0lDOHZJQ2hPSUM4Z01pa2dLaUJSSUNzZ1VWeHVJQ0IyWVhJZ1lpQTlJSFJvYVhNdVkzVnlkbVV1Y0c5cGJuUW9iblZzYkN3Z2JuVnNiQ2s3SUM4dklDaE9JQzhnTWlrZ0tpQlJYRzRnSUhaaGNpQmpJRDBnZEdocGN6c2dMeThnVVZ4dVhHNGdJR1p2Y2lBb2RtRnlJR0pwZEhNZ1BTQmJYVHNnZEM1amJYQnVLREFwSUNFOVBTQXdPeUIwTG1sMWMyaHliaWd4S1NsY2JpQWdJQ0JpYVhSekxuQjFjMmdvZEM1aGJtUnNiaWd4S1NrN1hHNWNiaUFnWm05eUlDaDJZWElnYVNBOUlHSnBkSE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQnBaaUFvWW1sMGMxdHBYU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdMeThnVGlBcUlGRWdLeUJSSUQwZ0tDaE9JQzhnTWlrZ0tpQlJJQ3NnVVNrcElDc2dLRTRnTHlBeUtTQXFJRkZjYmlBZ0lDQWdJR0VnUFNCaExtUnBabVpCWkdRb1lpd2dZeWs3WEc0Z0lDQWdJQ0F2THlCT0lDb2dVU0E5SURJZ0tpQW9LRTRnTHlBeUtTQXFJRkVnS3lCUktTbGNiaUFnSUNBZ0lHSWdQU0JpTG1SaWJDZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5Qk9JQ29nVVNBOUlDZ29UaUF2SURJcElDb2dVU0FySUZFcElDc2dLQ2hPSUM4Z01pa2dLaUJSS1Z4dUlDQWdJQ0FnWWlBOUlHRXVaR2xtWmtGa1pDaGlMQ0JqS1R0Y2JpQWdJQ0FnSUM4dklFNGdLaUJSSUNzZ1VTQTlJRElnS2lBb0tFNGdMeUF5S1NBcUlGRWdLeUJSS1Z4dUlDQWdJQ0FnWVNBOUlHRXVaR0pzS0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzRnSUhKbGRIVnliaUJpTzF4dWZUdGNibHh1VUc5cGJuUXVjSEp2ZEc5MGVYQmxMbTExYkVGa1pDQTlJR1oxYm1OMGFXOXVJRzExYkVGa1pDZ3BJSHRjYmlBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkT2IzUWdjM1Z3Y0c5eWRHVmtJRzl1SUUxdmJuUm5iMjFsY25rZ1kzVnlkbVVuS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzVxZFcxc1FXUmtJRDBnWm5WdVkzUnBiMjRnYW5WdGJFRmtaQ2dwSUh0Y2JpQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE9iM1FnYzNWd2NHOXlkR1ZrSUc5dUlFMXZiblJuYjIxbGNua2dZM1Z5ZG1VbktUdGNibjA3WEc1Y2JsQnZhVzUwTG5CeWIzUnZkSGx3WlM1bGNTQTlJR1oxYm1OMGFXOXVJR1Z4S0c5MGFHVnlLU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbWRsZEZnb0tTNWpiWEFvYjNSb1pYSXVaMlYwV0NncEtTQTlQVDBnTUR0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVVnUFNCbWRXNWpkR2x2YmlCdWIzSnRZV3hwZW1Vb0tTQjdYRzRnSUhSb2FYTXVlQ0E5SUhSb2FYTXVlQzV5WldSTmRXd29kR2hwY3k1NkxuSmxaRWx1ZG0wb0tTazdYRzRnSUhSb2FYTXVlaUE5SUhSb2FYTXVZM1Z5ZG1VdWIyNWxPMXh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JsQnZhVzUwTG5CeWIzUnZkSGx3WlM1blpYUllJRDBnWm5WdVkzUnBiMjRnWjJWMFdDZ3BJSHRjYmlBZ0x5OGdUbTl5YldGc2FYcGxJR052YjNKa2FXNWhkR1Z6WEc0Z0lIUm9hWE11Ym05eWJXRnNhWHBsS0NrN1hHNWNiaUFnY21WMGRYSnVJSFJvYVhNdWVDNW1jbTl0VW1Wa0tDazdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL21vbnQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9zaG9ydC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcbnZhciBCYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmUvYmFzZS5qc1xcXCIpO1xcblxcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XFxuXFxuZnVuY3Rpb24gU2hvcnRDdXJ2ZShjb25mKSB7XFxuICBCYXNlLmNhbGwodGhpcywgJ3Nob3J0JywgY29uZik7XFxuXFxuICB0aGlzLmEgPSBuZXcgQk4oY29uZi5hLCAxNikudG9SZWQodGhpcy5yZWQpO1xcbiAgdGhpcy5iID0gbmV3IEJOKGNvbmYuYiwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIHRoaXMudGludiA9IHRoaXMudHdvLnJlZEludm0oKTtcXG5cXG4gIHRoaXMuemVyb0EgPSB0aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCkgPT09IDA7XFxuICB0aGlzLnRocmVlQSA9IHRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMykgPT09IDA7XFxuXFxuICAvLyBJZiB0aGUgY3VydmUgaXMgZW5kb21vcnBoaWMsIHByZWNhbGN1bGF0ZSBiZXRhIGFuZCBsYW1iZGFcXG4gIHRoaXMuZW5kbyA9IHRoaXMuX2dldEVuZG9tb3JwaGlzbShjb25mKTtcXG4gIHRoaXMuX2VuZG9XbmFmVDEgPSBuZXcgQXJyYXkoNCk7XFxuICB0aGlzLl9lbmRvV25hZlQyID0gbmV3IEFycmF5KDQpO1xcbn1cXG5pbmhlcml0cyhTaG9ydEN1cnZlLCBCYXNlKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFNob3J0Q3VydmU7XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9tb3JwaGlzbSA9IGZ1bmN0aW9uIF9nZXRFbmRvbW9ycGhpc20oY29uZikge1xcbiAgLy8gTm8gZWZmaWNpZW50IGVuZG9tb3JwaGlzbVxcbiAgaWYgKCF0aGlzLnplcm9BIHx8ICF0aGlzLmcgfHwgIXRoaXMubiB8fCB0aGlzLnAubW9kbigzKSAhPT0gMSlcXG4gICAgcmV0dXJuO1xcblxcbiAgLy8gQ29tcHV0ZSBiZXRhIGFuZCBsYW1iZGEsIHRoYXQgbGFtYmRhICogUCA9IChiZXRhICogUHg7IFB5KVxcbiAgdmFyIGJldGE7XFxuICB2YXIgbGFtYmRhO1xcbiAgaWYgKGNvbmYuYmV0YSkge1xcbiAgICBiZXRhID0gbmV3IEJOKGNvbmYuYmV0YSwgMTYpLnRvUmVkKHRoaXMucmVkKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBiZXRhcyA9IHRoaXMuX2dldEVuZG9Sb290cyh0aGlzLnApO1xcbiAgICAvLyBDaG9vc2UgdGhlIHNtYWxsZXN0IGJldGFcXG4gICAgYmV0YSA9IGJldGFzWzBdLmNtcChiZXRhc1sxXSkgPCAwID8gYmV0YXNbMF0gOiBiZXRhc1sxXTtcXG4gICAgYmV0YSA9IGJldGEudG9SZWQodGhpcy5yZWQpO1xcbiAgfVxcbiAgaWYgKGNvbmYubGFtYmRhKSB7XFxuICAgIGxhbWJkYSA9IG5ldyBCTihjb25mLmxhbWJkYSwgMTYpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQ2hvb3NlIHRoZSBsYW1iZGEgdGhhdCBpcyBtYXRjaGluZyBzZWxlY3RlZCBiZXRhXFxuICAgIHZhciBsYW1iZGFzID0gdGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMubik7XFxuICAgIGlmICh0aGlzLmcubXVsKGxhbWJkYXNbMF0pLnguY21wKHRoaXMuZy54LnJlZE11bChiZXRhKSkgPT09IDApIHtcXG4gICAgICBsYW1iZGEgPSBsYW1iZGFzWzBdO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGxhbWJkYSA9IGxhbWJkYXNbMV07XFxuICAgICAgYXNzZXJ0KHRoaXMuZy5tdWwobGFtYmRhKS54LmNtcCh0aGlzLmcueC5yZWRNdWwoYmV0YSkpID09PSAwKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gR2V0IGJhc2lzIHZlY3RvcnMsIHVzZWQgZm9yIGJhbGFuY2VkIGxlbmd0aC10d28gcmVwcmVzZW50YXRpb25cXG4gIHZhciBiYXNpcztcXG4gIGlmIChjb25mLmJhc2lzKSB7XFxuICAgIGJhc2lzID0gY29uZi5iYXNpcy5tYXAoZnVuY3Rpb24odmVjKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGE6IG5ldyBCTih2ZWMuYSwgMTYpLFxcbiAgICAgICAgYjogbmV3IEJOKHZlYy5iLCAxNilcXG4gICAgICB9O1xcbiAgICB9KTtcXG4gIH0gZWxzZSB7XFxuICAgIGJhc2lzID0gdGhpcy5fZ2V0RW5kb0Jhc2lzKGxhbWJkYSk7XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICBiZXRhOiBiZXRhLFxcbiAgICBsYW1iZGE6IGxhbWJkYSxcXG4gICAgYmFzaXM6IGJhc2lzXFxuICB9O1xcbn07XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9Sb290cyA9IGZ1bmN0aW9uIF9nZXRFbmRvUm9vdHMobnVtKSB7XFxuICAvLyBGaW5kIHJvb3RzIG9mIGZvciB4XjIgKyB4ICsgMSBpbiBGXFxuICAvLyBSb290ID0gKC0xICstIFNxcnQoLTMpKSAvIDJcXG4gIC8vXFxuICB2YXIgcmVkID0gbnVtID09PSB0aGlzLnAgPyB0aGlzLnJlZCA6IEJOLm1vbnQobnVtKTtcXG4gIHZhciB0aW52ID0gbmV3IEJOKDIpLnRvUmVkKHJlZCkucmVkSW52bSgpO1xcbiAgdmFyIG50aW52ID0gdGludi5yZWROZWcoKTtcXG5cXG4gIHZhciBzID0gbmV3IEJOKDMpLnRvUmVkKHJlZCkucmVkTmVnKCkucmVkU3FydCgpLnJlZE11bCh0aW52KTtcXG5cXG4gIHZhciBsMSA9IG50aW52LnJlZEFkZChzKS5mcm9tUmVkKCk7XFxuICB2YXIgbDIgPSBudGludi5yZWRTdWIocykuZnJvbVJlZCgpO1xcbiAgcmV0dXJuIFsgbDEsIGwyIF07XFxufTtcXG5cXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzID0gZnVuY3Rpb24gX2dldEVuZG9CYXNpcyhsYW1iZGEpIHtcXG4gIC8vIGFwcnhTcXJ0ID49IHNxcnQodGhpcy5uKVxcbiAgdmFyIGFwcnhTcXJ0ID0gdGhpcy5uLnVzaHJuKE1hdGguZmxvb3IodGhpcy5uLmJpdExlbmd0aCgpIC8gMikpO1xcblxcbiAgLy8gMy43NFxcbiAgLy8gUnVuIEVHQ0QsIHVudGlsIHIoTCArIDEpIDwgYXByeFNxcnRcXG4gIHZhciB1ID0gbGFtYmRhO1xcbiAgdmFyIHYgPSB0aGlzLm4uY2xvbmUoKTtcXG4gIHZhciB4MSA9IG5ldyBCTigxKTtcXG4gIHZhciB5MSA9IG5ldyBCTigwKTtcXG4gIHZhciB4MiA9IG5ldyBCTigwKTtcXG4gIHZhciB5MiA9IG5ldyBCTigxKTtcXG5cXG4gIC8vIE5PVEU6IGFsbCB2ZWN0b3JzIGFyZSByb290cyBvZjogYSArIGIgKiBsYW1iZGEgPSAwIChtb2QgbilcXG4gIHZhciBhMDtcXG4gIHZhciBiMDtcXG4gIC8vIEZpcnN0IHZlY3RvclxcbiAgdmFyIGExO1xcbiAgdmFyIGIxO1xcbiAgLy8gU2Vjb25kIHZlY3RvclxcbiAgdmFyIGEyO1xcbiAgdmFyIGIyO1xcblxcbiAgdmFyIHByZXZSO1xcbiAgdmFyIGkgPSAwO1xcbiAgdmFyIHI7XFxuICB2YXIgeDtcXG4gIHdoaWxlICh1LmNtcG4oMCkgIT09IDApIHtcXG4gICAgdmFyIHEgPSB2LmRpdih1KTtcXG4gICAgciA9IHYuc3ViKHEubXVsKHUpKTtcXG4gICAgeCA9IHgyLnN1YihxLm11bCh4MSkpO1xcbiAgICB2YXIgeSA9IHkyLnN1YihxLm11bCh5MSkpO1xcblxcbiAgICBpZiAoIWExICYmIHIuY21wKGFwcnhTcXJ0KSA8IDApIHtcXG4gICAgICBhMCA9IHByZXZSLm5lZygpO1xcbiAgICAgIGIwID0geDE7XFxuICAgICAgYTEgPSByLm5lZygpO1xcbiAgICAgIGIxID0geDtcXG4gICAgfSBlbHNlIGlmIChhMSAmJiArK2kgPT09IDIpIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgICBwcmV2UiA9IHI7XFxuXFxuICAgIHYgPSB1O1xcbiAgICB1ID0gcjtcXG4gICAgeDIgPSB4MTtcXG4gICAgeDEgPSB4O1xcbiAgICB5MiA9IHkxO1xcbiAgICB5MSA9IHk7XFxuICB9XFxuICBhMiA9IHIubmVnKCk7XFxuICBiMiA9IHg7XFxuXFxuICB2YXIgbGVuMSA9IGExLnNxcigpLmFkZChiMS5zcXIoKSk7XFxuICB2YXIgbGVuMiA9IGEyLnNxcigpLmFkZChiMi5zcXIoKSk7XFxuICBpZiAobGVuMi5jbXAobGVuMSkgPj0gMCkge1xcbiAgICBhMiA9IGEwO1xcbiAgICBiMiA9IGIwO1xcbiAgfVxcblxcbiAgLy8gTm9ybWFsaXplIHNpZ25zXFxuICBpZiAoYTEubmVnYXRpdmUpIHtcXG4gICAgYTEgPSBhMS5uZWcoKTtcXG4gICAgYjEgPSBiMS5uZWcoKTtcXG4gIH1cXG4gIGlmIChhMi5uZWdhdGl2ZSkge1xcbiAgICBhMiA9IGEyLm5lZygpO1xcbiAgICBiMiA9IGIyLm5lZygpO1xcbiAgfVxcblxcbiAgcmV0dXJuIFtcXG4gICAgeyBhOiBhMSwgYjogYjEgfSxcXG4gICAgeyBhOiBhMiwgYjogYjIgfVxcbiAgXTtcXG59O1xcblxcblNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvU3BsaXQgPSBmdW5jdGlvbiBfZW5kb1NwbGl0KGspIHtcXG4gIHZhciBiYXNpcyA9IHRoaXMuZW5kby5iYXNpcztcXG4gIHZhciB2MSA9IGJhc2lzWzBdO1xcbiAgdmFyIHYyID0gYmFzaXNbMV07XFxuXFxuICB2YXIgYzEgPSB2Mi5iLm11bChrKS5kaXZSb3VuZCh0aGlzLm4pO1xcbiAgdmFyIGMyID0gdjEuYi5uZWcoKS5tdWwoaykuZGl2Um91bmQodGhpcy5uKTtcXG5cXG4gIHZhciBwMSA9IGMxLm11bCh2MS5hKTtcXG4gIHZhciBwMiA9IGMyLm11bCh2Mi5hKTtcXG4gIHZhciBxMSA9IGMxLm11bCh2MS5iKTtcXG4gIHZhciBxMiA9IGMyLm11bCh2Mi5iKTtcXG5cXG4gIC8vIENhbGN1bGF0ZSBhbnN3ZXJcXG4gIHZhciBrMSA9IGsuc3ViKHAxKS5zdWIocDIpO1xcbiAgdmFyIGsyID0gcTEuYWRkKHEyKS5uZWcoKTtcXG4gIHJldHVybiB7IGsxOiBrMSwgazI6IGsyIH07XFxufTtcXG5cXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YID0gZnVuY3Rpb24gcG9pbnRGcm9tWCh4LCBvZGQpIHtcXG4gIHggPSBuZXcgQk4oeCwgMTYpO1xcbiAgaWYgKCF4LnJlZClcXG4gICAgeCA9IHgudG9SZWQodGhpcy5yZWQpO1xcblxcbiAgdmFyIHkyID0geC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZCh4LnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYik7XFxuICB2YXIgeSA9IHkyLnJlZFNxcnQoKTtcXG4gIGlmICh5LnJlZFNxcigpLnJlZFN1Yih5MikuY21wKHRoaXMuemVybykgIT09IDApXFxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xcblxcbiAgLy8gWFhYIElzIHRoZXJlIGFueSB3YXkgdG8gdGVsbCBpZiB0aGUgbnVtYmVyIGlzIG9kZCB3aXRob3V0IGNvbnZlcnRpbmcgaXRcXG4gIC8vIHRvIG5vbi1yZWQgZm9ybT9cXG4gIHZhciBpc09kZCA9IHkuZnJvbVJlZCgpLmlzT2RkKCk7XFxuICBpZiAob2RkICYmICFpc09kZCB8fCAhb2RkICYmIGlzT2RkKVxcbiAgICB5ID0geS5yZWROZWcoKTtcXG5cXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xcbn07XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZShwb2ludCkge1xcbiAgaWYgKHBvaW50LmluZilcXG4gICAgcmV0dXJuIHRydWU7XFxuXFxuICB2YXIgeCA9IHBvaW50Lng7XFxuICB2YXIgeSA9IHBvaW50Lnk7XFxuXFxuICB2YXIgYXggPSB0aGlzLmEucmVkTXVsKHgpO1xcbiAgdmFyIHJocyA9IHgucmVkU3FyKCkucmVkTXVsKHgpLnJlZElBZGQoYXgpLnJlZElBZGQodGhpcy5iKTtcXG4gIHJldHVybiB5LnJlZFNxcigpLnJlZElTdWIocmhzKS5jbXBuKDApID09PSAwO1xcbn07XFxuXFxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2VuZG9XbmFmTXVsQWRkID1cXG4gICAgZnVuY3Rpb24gX2VuZG9XbmFmTXVsQWRkKHBvaW50cywgY29lZmZzLCBqYWNvYmlhblJlc3VsdCkge1xcbiAgdmFyIG5wb2ludHMgPSB0aGlzLl9lbmRvV25hZlQxO1xcbiAgdmFyIG5jb2VmZnMgPSB0aGlzLl9lbmRvV25hZlQyO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHNwbGl0ID0gdGhpcy5fZW5kb1NwbGl0KGNvZWZmc1tpXSk7XFxuICAgIHZhciBwID0gcG9pbnRzW2ldO1xcbiAgICB2YXIgYmV0YSA9IHAuX2dldEJldGEoKTtcXG5cXG4gICAgaWYgKHNwbGl0LmsxLm5lZ2F0aXZlKSB7XFxuICAgICAgc3BsaXQuazEuaW5lZygpO1xcbiAgICAgIHAgPSBwLm5lZyh0cnVlKTtcXG4gICAgfVxcbiAgICBpZiAoc3BsaXQuazIubmVnYXRpdmUpIHtcXG4gICAgICBzcGxpdC5rMi5pbmVnKCk7XFxuICAgICAgYmV0YSA9IGJldGEubmVnKHRydWUpO1xcbiAgICB9XFxuXFxuICAgIG5wb2ludHNbaSAqIDJdID0gcDtcXG4gICAgbnBvaW50c1tpICogMiArIDFdID0gYmV0YTtcXG4gICAgbmNvZWZmc1tpICogMl0gPSBzcGxpdC5rMTtcXG4gICAgbmNvZWZmc1tpICogMiArIDFdID0gc3BsaXQuazI7XFxuICB9XFxuICB2YXIgcmVzID0gdGhpcy5fd25hZk11bEFkZCgxLCBucG9pbnRzLCBuY29lZmZzLCBpICogMiwgamFjb2JpYW5SZXN1bHQpO1xcblxcbiAgLy8gQ2xlYW4tdXAgcmVmZXJlbmNlcyB0byBwb2ludHMgYW5kIGNvZWZmaWNpZW50c1xcbiAgZm9yICh2YXIgaiA9IDA7IGogPCBpICogMjsgaisrKSB7XFxuICAgIG5wb2ludHNbal0gPSBudWxsO1xcbiAgICBuY29lZmZzW2pdID0gbnVsbDtcXG4gIH1cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5mdW5jdGlvbiBQb2ludChjdXJ2ZSwgeCwgeSwgaXNSZWQpIHtcXG4gIEJhc2UuQmFzZVBvaW50LmNhbGwodGhpcywgY3VydmUsICdhZmZpbmUnKTtcXG4gIGlmICh4ID09PSBudWxsICYmIHkgPT09IG51bGwpIHtcXG4gICAgdGhpcy54ID0gbnVsbDtcXG4gICAgdGhpcy55ID0gbnVsbDtcXG4gICAgdGhpcy5pbmYgPSB0cnVlO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy54ID0gbmV3IEJOKHgsIDE2KTtcXG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcXG4gICAgLy8gRm9yY2UgcmVkZ29tZXJ5IHJlcHJlc2VudGF0aW9uIHdoZW4gbG9hZGluZyBmcm9tIEpTT05cXG4gICAgaWYgKGlzUmVkKSB7XFxuICAgICAgdGhpcy54LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgICB0aGlzLnkuZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICB9XFxuICAgIGlmICghdGhpcy54LnJlZClcXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xcbiAgICBpZiAoIXRoaXMueS5yZWQpXFxuICAgICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gICAgdGhpcy5pbmYgPSBmYWxzZTtcXG4gIH1cXG59XFxuaW5oZXJpdHMoUG9pbnQsIEJhc2UuQmFzZVBvaW50KTtcXG5cXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludCA9IGZ1bmN0aW9uIHBvaW50KHgsIHksIGlzUmVkKSB7XFxuICByZXR1cm4gbmV3IFBvaW50KHRoaXMsIHgsIHksIGlzUmVkKTtcXG59O1xcblxcblNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT04gPSBmdW5jdGlvbiBwb2ludEZyb21KU09OKG9iaiwgcmVkKSB7XFxuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqLCByZWQpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhID0gZnVuY3Rpb24gX2dldEJldGEoKSB7XFxuICBpZiAoIXRoaXMuY3VydmUuZW5kbylcXG4gICAgcmV0dXJuO1xcblxcbiAgdmFyIHByZSA9IHRoaXMucHJlY29tcHV0ZWQ7XFxuICBpZiAocHJlICYmIHByZS5iZXRhKVxcbiAgICByZXR1cm4gcHJlLmJldGE7XFxuXFxuICB2YXIgYmV0YSA9IHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE11bCh0aGlzLmN1cnZlLmVuZG8uYmV0YSksIHRoaXMueSk7XFxuICBpZiAocHJlKSB7XFxuICAgIHZhciBjdXJ2ZSA9IHRoaXMuY3VydmU7XFxuICAgIHZhciBlbmRvTXVsID0gZnVuY3Rpb24ocCkge1xcbiAgICAgIHJldHVybiBjdXJ2ZS5wb2ludChwLngucmVkTXVsKGN1cnZlLmVuZG8uYmV0YSksIHAueSk7XFxuICAgIH07XFxuICAgIHByZS5iZXRhID0gYmV0YTtcXG4gICAgYmV0YS5wcmVjb21wdXRlZCA9IHtcXG4gICAgICBiZXRhOiBudWxsLFxcbiAgICAgIG5hZjogcHJlLm5hZiAmJiB7XFxuICAgICAgICB3bmQ6IHByZS5uYWYud25kLFxcbiAgICAgICAgcG9pbnRzOiBwcmUubmFmLnBvaW50cy5tYXAoZW5kb011bClcXG4gICAgICB9LFxcbiAgICAgIGRvdWJsZXM6IHByZS5kb3VibGVzICYmIHtcXG4gICAgICAgIHN0ZXA6IHByZS5kb3VibGVzLnN0ZXAsXFxuICAgICAgICBwb2ludHM6IHByZS5kb3VibGVzLnBvaW50cy5tYXAoZW5kb011bClcXG4gICAgICB9XFxuICAgIH07XFxuICB9XFxuICByZXR1cm4gYmV0YTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04oKSB7XFxuICBpZiAoIXRoaXMucHJlY29tcHV0ZWQpXFxuICAgIHJldHVybiBbIHRoaXMueCwgdGhpcy55IF07XFxuXFxuICByZXR1cm4gWyB0aGlzLngsIHRoaXMueSwgdGhpcy5wcmVjb21wdXRlZCAmJiB7XFxuICAgIGRvdWJsZXM6IHRoaXMucHJlY29tcHV0ZWQuZG91YmxlcyAmJiB7XFxuICAgICAgc3RlcDogdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAsXFxuICAgICAgcG9pbnRzOiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMucG9pbnRzLnNsaWNlKDEpXFxuICAgIH0sXFxuICAgIG5hZjogdGhpcy5wcmVjb21wdXRlZC5uYWYgJiYge1xcbiAgICAgIHduZDogdGhpcy5wcmVjb21wdXRlZC5uYWYud25kLFxcbiAgICAgIHBvaW50czogdGhpcy5wcmVjb21wdXRlZC5uYWYucG9pbnRzLnNsaWNlKDEpXFxuICAgIH1cXG4gIH0gXTtcXG59O1xcblxcblBvaW50LmZyb21KU09OID0gZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsIG9iaiwgcmVkKSB7XFxuICBpZiAodHlwZW9mIG9iaiA9PT0gJ3N0cmluZycpXFxuICAgIG9iaiA9IEpTT04ucGFyc2Uob2JqKTtcXG4gIHZhciByZXMgPSBjdXJ2ZS5wb2ludChvYmpbMF0sIG9ialsxXSwgcmVkKTtcXG4gIGlmICghb2JqWzJdKVxcbiAgICByZXR1cm4gcmVzO1xcblxcbiAgZnVuY3Rpb24gb2JqMnBvaW50KG9iaikge1xcbiAgICByZXR1cm4gY3VydmUucG9pbnQob2JqWzBdLCBvYmpbMV0sIHJlZCk7XFxuICB9XFxuXFxuICB2YXIgcHJlID0gb2JqWzJdO1xcbiAgcmVzLnByZWNvbXB1dGVkID0ge1xcbiAgICBiZXRhOiBudWxsLFxcbiAgICBkb3VibGVzOiBwcmUuZG91YmxlcyAmJiB7XFxuICAgICAgc3RlcDogcHJlLmRvdWJsZXMuc3RlcCxcXG4gICAgICBwb2ludHM6IFsgcmVzIF0uY29uY2F0KHByZS5kb3VibGVzLnBvaW50cy5tYXAob2JqMnBvaW50KSlcXG4gICAgfSxcXG4gICAgbmFmOiBwcmUubmFmICYmIHtcXG4gICAgICB3bmQ6IHByZS5uYWYud25kLFxcbiAgICAgIHBvaW50czogWyByZXMgXS5jb25jYXQocHJlLm5hZi5wb2ludHMubWFwKG9iajJwb2ludCkpXFxuICAgIH1cXG4gIH07XFxuICByZXR1cm4gcmVzO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gJzxFQyBQb2ludCBJbmZpbml0eT4nO1xcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcXG4gICAgICAnIHk6ICcgKyB0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LCAyKSArICc+JztcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5pc0luZmluaXR5ID0gZnVuY3Rpb24gaXNJbmZpbml0eSgpIHtcXG4gIHJldHVybiB0aGlzLmluZjtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQocCkge1xcbiAgLy8gTyArIFAgPSBQXFxuICBpZiAodGhpcy5pbmYpXFxuICAgIHJldHVybiBwO1xcblxcbiAgLy8gUCArIE8gPSBQXFxuICBpZiAocC5pbmYpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gUCArIFAgPSAyUFxcbiAgaWYgKHRoaXMuZXEocCkpXFxuICAgIHJldHVybiB0aGlzLmRibCgpO1xcblxcbiAgLy8gUCArICgtUCkgPSBPXFxuICBpZiAodGhpcy5uZWcoKS5lcShwKSlcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7XFxuXFxuICAvLyBQICsgUSA9IE9cXG4gIGlmICh0aGlzLnguY21wKHAueCkgPT09IDApXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpO1xcblxcbiAgdmFyIGMgPSB0aGlzLnkucmVkU3ViKHAueSk7XFxuICBpZiAoYy5jbXBuKDApICE9PSAwKVxcbiAgICBjID0gYy5yZWRNdWwodGhpcy54LnJlZFN1YihwLngpLnJlZEludm0oKSk7XFxuICB2YXIgbnggPSBjLnJlZFNxcigpLnJlZElTdWIodGhpcy54KS5yZWRJU3ViKHAueCk7XFxuICB2YXIgbnkgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKG54KSkucmVkSVN1Yih0aGlzLnkpO1xcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG55KTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5kYmwgPSBmdW5jdGlvbiBkYmwoKSB7XFxuICBpZiAodGhpcy5pbmYpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gMlAgPSBPXFxuICB2YXIgeXMxID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xcbiAgaWYgKHlzMS5jbXBuKDApID09PSAwKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLCBudWxsKTtcXG5cXG4gIHZhciBhID0gdGhpcy5jdXJ2ZS5hO1xcblxcbiAgdmFyIHgyID0gdGhpcy54LnJlZFNxcigpO1xcbiAgdmFyIGR5aW52ID0geXMxLnJlZEludm0oKTtcXG4gIHZhciBjID0geDIucmVkQWRkKHgyKS5yZWRJQWRkKHgyKS5yZWRJQWRkKGEpLnJlZE11bChkeWludik7XFxuXFxuICB2YXIgbnggPSBjLnJlZFNxcigpLnJlZElTdWIodGhpcy54LnJlZEFkZCh0aGlzLngpKTtcXG4gIHZhciBueSA9IGMucmVkTXVsKHRoaXMueC5yZWRTdWIobngpKS5yZWRJU3ViKHRoaXMueSk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnkpO1xcbn07XFxuXFxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xcbiAgcmV0dXJuIHRoaXMueC5mcm9tUmVkKCk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZ2V0WSA9IGZ1bmN0aW9uIGdldFkoKSB7XFxuICByZXR1cm4gdGhpcy55LmZyb21SZWQoKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xcbiAgayA9IG5ldyBCTihrLCAxNik7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcbiAgZWxzZSBpZiAodGhpcy5faGFzRG91YmxlcyhrKSlcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX2ZpeGVkTmFmTXVsKHRoaXMsIGspO1xcbiAgZWxzZSBpZiAodGhpcy5jdXJ2ZS5lbmRvKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoWyB0aGlzIF0sIFsgayBdKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWwodGhpcywgayk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubXVsQWRkID0gZnVuY3Rpb24gbXVsQWRkKGsxLCBwMiwgazIpIHtcXG4gIHZhciBwb2ludHMgPSBbIHRoaXMsIHAyIF07XFxuICB2YXIgY29lZmZzID0gWyBrMSwgazIgXTtcXG4gIGlmICh0aGlzLmN1cnZlLmVuZG8pXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChwb2ludHMsIGNvZWZmcyk7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIHBvaW50cywgY29lZmZzLCAyKTtcXG59O1xcblxcblBvaW50LnByb3RvdHlwZS5qbXVsQWRkID0gZnVuY3Rpb24gam11bEFkZChrMSwgcDIsIGsyKSB7XFxuICB2YXIgcG9pbnRzID0gWyB0aGlzLCBwMiBdO1xcbiAgdmFyIGNvZWZmcyA9IFsgazEsIGsyIF07XFxuICBpZiAodGhpcy5jdXJ2ZS5lbmRvKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQocG9pbnRzLCBjb2VmZnMsIHRydWUpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLCBwb2ludHMsIGNvZWZmcywgMiwgdHJ1ZSk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcShwKSB7XFxuICByZXR1cm4gdGhpcyA9PT0gcCB8fFxcbiAgICAgICAgIHRoaXMuaW5mID09PSBwLmluZiAmJlxcbiAgICAgICAgICAgICAodGhpcy5pbmYgfHwgdGhpcy54LmNtcChwLngpID09PSAwICYmIHRoaXMueS5jbXAocC55KSA9PT0gMCk7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnKF9wcmVjb21wdXRlKSB7XFxuICBpZiAodGhpcy5pbmYpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgdmFyIHJlcyA9IHRoaXMuY3VydmUucG9pbnQodGhpcy54LCB0aGlzLnkucmVkTmVnKCkpO1xcbiAgaWYgKF9wcmVjb21wdXRlICYmIHRoaXMucHJlY29tcHV0ZWQpIHtcXG4gICAgdmFyIHByZSA9IHRoaXMucHJlY29tcHV0ZWQ7XFxuICAgIHZhciBuZWdhdGUgPSBmdW5jdGlvbihwKSB7XFxuICAgICAgcmV0dXJuIHAubmVnKCk7XFxuICAgIH07XFxuICAgIHJlcy5wcmVjb21wdXRlZCA9IHtcXG4gICAgICBuYWY6IHByZS5uYWYgJiYge1xcbiAgICAgICAgd25kOiBwcmUubmFmLnduZCxcXG4gICAgICAgIHBvaW50czogcHJlLm5hZi5wb2ludHMubWFwKG5lZ2F0ZSlcXG4gICAgICB9LFxcbiAgICAgIGRvdWJsZXM6IHByZS5kb3VibGVzICYmIHtcXG4gICAgICAgIHN0ZXA6IHByZS5kb3VibGVzLnN0ZXAsXFxuICAgICAgICBwb2ludHM6IHByZS5kb3VibGVzLnBvaW50cy5tYXAobmVnYXRlKVxcbiAgICAgIH1cXG4gICAgfTtcXG4gIH1cXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5Qb2ludC5wcm90b3R5cGUudG9KID0gZnVuY3Rpb24gdG9KKCkge1xcbiAgaWYgKHRoaXMuaW5mKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCwgbnVsbCwgbnVsbCk7XFxuXFxuICB2YXIgcmVzID0gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LCB0aGlzLnksIHRoaXMuY3VydmUub25lKTtcXG4gIHJldHVybiByZXM7XFxufTtcXG5cXG5mdW5jdGlvbiBKUG9pbnQoY3VydmUsIHgsIHksIHopIHtcXG4gIEJhc2UuQmFzZVBvaW50LmNhbGwodGhpcywgY3VydmUsICdqYWNvYmlhbicpO1xcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XFxuICAgIHRoaXMueCA9IHRoaXMuY3VydmUub25lO1xcbiAgICB0aGlzLnkgPSB0aGlzLmN1cnZlLm9uZTtcXG4gICAgdGhpcy56ID0gbmV3IEJOKDApO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy54ID0gbmV3IEJOKHgsIDE2KTtcXG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcXG4gICAgdGhpcy56ID0gbmV3IEJOKHosIDE2KTtcXG4gIH1cXG4gIGlmICghdGhpcy54LnJlZClcXG4gICAgdGhpcy54ID0gdGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gIGlmICghdGhpcy55LnJlZClcXG4gICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG4gIGlmICghdGhpcy56LnJlZClcXG4gICAgdGhpcy56ID0gdGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcXG5cXG4gIHRoaXMuek9uZSA9IHRoaXMueiA9PT0gdGhpcy5jdXJ2ZS5vbmU7XFxufVxcbmluaGVyaXRzKEpQb2ludCwgQmFzZS5CYXNlUG9pbnQpO1xcblxcblNob3J0Q3VydmUucHJvdG90eXBlLmpwb2ludCA9IGZ1bmN0aW9uIGpwb2ludCh4LCB5LCB6KSB7XFxuICByZXR1cm4gbmV3IEpQb2ludCh0aGlzLCB4LCB5LCB6KTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUudG9QID0gZnVuY3Rpb24gdG9QKCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLCBudWxsKTtcXG5cXG4gIHZhciB6aW52ID0gdGhpcy56LnJlZEludm0oKTtcXG4gIHZhciB6aW52MiA9IHppbnYucmVkU3FyKCk7XFxuICB2YXIgYXggPSB0aGlzLngucmVkTXVsKHppbnYyKTtcXG4gIHZhciBheSA9IHRoaXMueS5yZWRNdWwoemludjIpLnJlZE11bCh6aW52KTtcXG5cXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KGF4LCBheSk7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsIHRoaXMueS5yZWROZWcoKSwgdGhpcy56KTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkKHApIHtcXG4gIC8vIE8gKyBQID0gUFxcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gcDtcXG5cXG4gIC8vIFAgKyBPID0gUFxcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gdGhpcztcXG5cXG4gIC8vIDEyTSArIDRTICsgN0FcXG4gIHZhciBwejIgPSBwLnoucmVkU3FyKCk7XFxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgdTEgPSB0aGlzLngucmVkTXVsKHB6Mik7XFxuICB2YXIgdTIgPSBwLngucmVkTXVsKHoyKTtcXG4gIHZhciBzMSA9IHRoaXMueS5yZWRNdWwocHoyLnJlZE11bChwLnopKTtcXG4gIHZhciBzMiA9IHAueS5yZWRNdWwoejIucmVkTXVsKHRoaXMueikpO1xcblxcbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xcbiAgdmFyIHIgPSBzMS5yZWRTdWIoczIpO1xcbiAgaWYgKGguY21wbigwKSA9PT0gMCkge1xcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxcbiAgICAgIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gICAgZWxzZVxcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xcbiAgfVxcblxcbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcXG4gIHZhciBoMyA9IGgyLnJlZE11bChoKTtcXG4gIHZhciB2ID0gdTEucmVkTXVsKGgyKTtcXG5cXG4gIHZhciBueCA9IHIucmVkU3FyKCkucmVkSUFkZChoMykucmVkSVN1Yih2KS5yZWRJU3ViKHYpO1xcbiAgdmFyIG55ID0gci5yZWRNdWwodi5yZWRJU3ViKG54KSkucmVkSVN1YihzMS5yZWRNdWwoaDMpKTtcXG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwocC56KS5yZWRNdWwoaCk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLm1peGVkQWRkID0gZnVuY3Rpb24gbWl4ZWRBZGQocCkge1xcbiAgLy8gTyArIFAgPSBQXFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiBwLnRvSigpO1xcblxcbiAgLy8gUCArIE8gPSBQXFxuICBpZiAocC5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgLy8gOE0gKyAzUyArIDdBXFxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgdTEgPSB0aGlzLng7XFxuICB2YXIgdTIgPSBwLngucmVkTXVsKHoyKTtcXG4gIHZhciBzMSA9IHRoaXMueTtcXG4gIHZhciBzMiA9IHAueS5yZWRNdWwoejIpLnJlZE11bCh0aGlzLnopO1xcblxcbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xcbiAgdmFyIHIgPSBzMS5yZWRTdWIoczIpO1xcbiAgaWYgKGguY21wbigwKSA9PT0gMCkge1xcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxcbiAgICAgIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcXG4gICAgZWxzZVxcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xcbiAgfVxcblxcbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcXG4gIHZhciBoMyA9IGgyLnJlZE11bChoKTtcXG4gIHZhciB2ID0gdTEucmVkTXVsKGgyKTtcXG5cXG4gIHZhciBueCA9IHIucmVkU3FyKCkucmVkSUFkZChoMykucmVkSVN1Yih2KS5yZWRJU3ViKHYpO1xcbiAgdmFyIG55ID0gci5yZWRNdWwodi5yZWRJU3ViKG54KSkucmVkSVN1YihzMS5yZWRNdWwoaDMpKTtcXG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwoaCk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLmRibHAgPSBmdW5jdGlvbiBkYmxwKHBvdykge1xcbiAgaWYgKHBvdyA9PT0gMClcXG4gICAgcmV0dXJuIHRoaXM7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcbiAgaWYgKCFwb3cpXFxuICAgIHJldHVybiB0aGlzLmRibCgpO1xcblxcbiAgaWYgKHRoaXMuY3VydmUuemVyb0EgfHwgdGhpcy5jdXJ2ZS50aHJlZUEpIHtcXG4gICAgdmFyIHIgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBvdzsgaSsrKVxcbiAgICAgIHIgPSByLmRibCgpO1xcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIC8vIDFNICsgMlMgKyAxQSArIE4gKiAoNFMgKyA1TSArIDhBKVxcbiAgLy8gTiA9IDEgPT4gNk0gKyA2UyArIDlBXFxuICB2YXIgYSA9IHRoaXMuY3VydmUuYTtcXG4gIHZhciB0aW52ID0gdGhpcy5jdXJ2ZS50aW52O1xcblxcbiAgdmFyIGp4ID0gdGhpcy54O1xcbiAgdmFyIGp5ID0gdGhpcy55O1xcbiAgdmFyIGp6ID0gdGhpcy56O1xcbiAgdmFyIGp6NCA9IGp6LnJlZFNxcigpLnJlZFNxcigpO1xcblxcbiAgLy8gUmV1c2UgcmVzdWx0c1xcbiAgdmFyIGp5ZCA9IGp5LnJlZEFkZChqeSk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBvdzsgaSsrKSB7XFxuICAgIHZhciBqeDIgPSBqeC5yZWRTcXIoKTtcXG4gICAgdmFyIGp5ZDIgPSBqeWQucmVkU3FyKCk7XFxuICAgIHZhciBqeWQ0ID0ganlkMi5yZWRTcXIoKTtcXG4gICAgdmFyIGMgPSBqeDIucmVkQWRkKGp4MikucmVkSUFkZChqeDIpLnJlZElBZGQoYS5yZWRNdWwoano0KSk7XFxuXFxuICAgIHZhciB0MSA9IGp4LnJlZE11bChqeWQyKTtcXG4gICAgdmFyIG54ID0gYy5yZWRTcXIoKS5yZWRJU3ViKHQxLnJlZEFkZCh0MSkpO1xcbiAgICB2YXIgdDIgPSB0MS5yZWRJU3ViKG54KTtcXG4gICAgdmFyIGRueSA9IGMucmVkTXVsKHQyKTtcXG4gICAgZG55ID0gZG55LnJlZElBZGQoZG55KS5yZWRJU3ViKGp5ZDQpO1xcbiAgICB2YXIgbnogPSBqeWQucmVkTXVsKGp6KTtcXG4gICAgaWYgKGkgKyAxIDwgcG93KVxcbiAgICAgIGp6NCA9IGp6NC5yZWRNdWwoanlkNCk7XFxuXFxuICAgIGp4ID0gbng7XFxuICAgIGp6ID0gbno7XFxuICAgIGp5ZCA9IGRueTtcXG4gIH1cXG5cXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChqeCwganlkLnJlZE11bCh0aW52KSwganopO1xcbn07XFxuXFxuSlBvaW50LnByb3RvdHlwZS5kYmwgPSBmdW5jdGlvbiBkYmwoKSB7XFxuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXFxuICAgIHJldHVybiB0aGlzO1xcblxcbiAgaWYgKHRoaXMuY3VydmUuemVyb0EpXFxuICAgIHJldHVybiB0aGlzLl96ZXJvRGJsKCk7XFxuICBlbHNlIGlmICh0aGlzLmN1cnZlLnRocmVlQSlcXG4gICAgcmV0dXJuIHRoaXMuX3RocmVlRGJsKCk7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLl9kYmwoKTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuX3plcm9EYmwgPSBmdW5jdGlvbiBfemVyb0RibCgpIHtcXG4gIHZhciBueDtcXG4gIHZhciBueTtcXG4gIHZhciBuejtcXG4gIC8vIFogPSAxXFxuICBpZiAodGhpcy56T25lKSB7XFxuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMC5odG1sXFxuICAgIC8vICAgICAjZG91YmxpbmctbWRibC0yMDA3LWJsXFxuICAgIC8vIDFNICsgNVMgKyAxNEFcXG5cXG4gICAgLy8gWFggPSBYMV4yXFxuICAgIHZhciB4eCA9IHRoaXMueC5yZWRTcXIoKTtcXG4gICAgLy8gWVkgPSBZMV4yXFxuICAgIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gICAgLy8gWVlZWSA9IFlZXjJcXG4gICAgdmFyIHl5eXkgPSB5eS5yZWRTcXIoKTtcXG4gICAgLy8gUyA9IDIgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpXFxuICAgIHZhciBzID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcXG4gICAgcyA9IHMucmVkSUFkZChzKTtcXG4gICAgLy8gTSA9IDMgKiBYWCArIGE7IGEgPSAwXFxuICAgIHZhciBtID0geHgucmVkQWRkKHh4KS5yZWRJQWRkKHh4KTtcXG4gICAgLy8gVCA9IE0gXiAyIC0gMipTXFxuICAgIHZhciB0ID0gbS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7XFxuXFxuICAgIC8vIDggKiBZWVlZXFxuICAgIHZhciB5eXl5OCA9IHl5eXkucmVkSUFkZCh5eXl5KTtcXG4gICAgeXl5eTggPSB5eXl5OC5yZWRJQWRkKHl5eXk4KTtcXG4gICAgeXl5eTggPSB5eXl5OC5yZWRJQWRkKHl5eXk4KTtcXG5cXG4gICAgLy8gWDMgPSBUXFxuICAgIG54ID0gdDtcXG4gICAgLy8gWTMgPSBNICogKFMgLSBUKSAtIDggKiBZWVlZXFxuICAgIG55ID0gbS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtcXG4gICAgLy8gWjMgPSAyKlkxXFxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy1qYWNvYmlhbi0wLmh0bWxcXG4gICAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOS1sXFxuICAgIC8vIDJNICsgNVMgKyAxM0FcXG5cXG4gICAgLy8gQSA9IFgxXjJcXG4gICAgdmFyIGEgPSB0aGlzLngucmVkU3FyKCk7XFxuICAgIC8vIEIgPSBZMV4yXFxuICAgIHZhciBiID0gdGhpcy55LnJlZFNxcigpO1xcbiAgICAvLyBDID0gQl4yXFxuICAgIHZhciBjID0gYi5yZWRTcXIoKTtcXG4gICAgLy8gRCA9IDIgKiAoKFgxICsgQileMiAtIEEgLSBDKVxcbiAgICB2YXIgZCA9IHRoaXMueC5yZWRBZGQoYikucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGMpO1xcbiAgICBkID0gZC5yZWRJQWRkKGQpO1xcbiAgICAvLyBFID0gMyAqIEFcXG4gICAgdmFyIGUgPSBhLnJlZEFkZChhKS5yZWRJQWRkKGEpO1xcbiAgICAvLyBGID0gRV4yXFxuICAgIHZhciBmID0gZS5yZWRTcXIoKTtcXG5cXG4gICAgLy8gOCAqIENcXG4gICAgdmFyIGM4ID0gYy5yZWRJQWRkKGMpO1xcbiAgICBjOCA9IGM4LnJlZElBZGQoYzgpO1xcbiAgICBjOCA9IGM4LnJlZElBZGQoYzgpO1xcblxcbiAgICAvLyBYMyA9IEYgLSAyICogRFxcbiAgICBueCA9IGYucmVkSVN1YihkKS5yZWRJU3ViKGQpO1xcbiAgICAvLyBZMyA9IEUgKiAoRCAtIFgzKSAtIDggKiBDXFxuICAgIG55ID0gZS5yZWRNdWwoZC5yZWRJU3ViKG54KSkucmVkSVN1YihjOCk7XFxuICAgIC8vIFozID0gMiAqIFkxICogWjFcXG4gICAgbnogPSB0aGlzLnkucmVkTXVsKHRoaXMueik7XFxuICAgIG56ID0gbnoucmVkSUFkZChueik7XFxuICB9XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLl90aHJlZURibCA9IGZ1bmN0aW9uIF90aHJlZURibCgpIHtcXG4gIHZhciBueDtcXG4gIHZhciBueTtcXG4gIHZhciBuejtcXG4gIC8vIFogPSAxXFxuICBpZiAodGhpcy56T25lKSB7XFxuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMy5odG1sXFxuICAgIC8vICAgICAjZG91YmxpbmctbWRibC0yMDA3LWJsXFxuICAgIC8vIDFNICsgNVMgKyAxNUFcXG5cXG4gICAgLy8gWFggPSBYMV4yXFxuICAgIHZhciB4eCA9IHRoaXMueC5yZWRTcXIoKTtcXG4gICAgLy8gWVkgPSBZMV4yXFxuICAgIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gICAgLy8gWVlZWSA9IFlZXjJcXG4gICAgdmFyIHl5eXkgPSB5eS5yZWRTcXIoKTtcXG4gICAgLy8gUyA9IDIgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpXFxuICAgIHZhciBzID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcXG4gICAgcyA9IHMucmVkSUFkZChzKTtcXG4gICAgLy8gTSA9IDMgKiBYWCArIGFcXG4gICAgdmFyIG0gPSB4eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpLnJlZElBZGQodGhpcy5jdXJ2ZS5hKTtcXG4gICAgLy8gVCA9IE1eMiAtIDIgKiBTXFxuICAgIHZhciB0ID0gbS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7XFxuICAgIC8vIFgzID0gVFxcbiAgICBueCA9IHQ7XFxuICAgIC8vIFkzID0gTSAqIChTIC0gVCkgLSA4ICogWVlZWVxcbiAgICB2YXIgeXl5eTggPSB5eXl5LnJlZElBZGQoeXl5eSk7XFxuICAgIHl5eXk4ID0geXl5eTgucmVkSUFkZCh5eXl5OCk7XFxuICAgIHl5eXk4ID0geXl5eTgucmVkSUFkZCh5eXl5OCk7XFxuICAgIG55ID0gbS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtcXG4gICAgLy8gWjMgPSAyICogWTFcXG4gICAgbnogPSB0aGlzLnkucmVkQWRkKHRoaXMueSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTMuaHRtbCNkb3VibGluZy1kYmwtMjAwMS1iXFxuICAgIC8vIDNNICsgNVNcXG5cXG4gICAgLy8gZGVsdGEgPSBaMV4yXFxuICAgIHZhciBkZWx0YSA9IHRoaXMuei5yZWRTcXIoKTtcXG4gICAgLy8gZ2FtbWEgPSBZMV4yXFxuICAgIHZhciBnYW1tYSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gICAgLy8gYmV0YSA9IFgxICogZ2FtbWFcXG4gICAgdmFyIGJldGEgPSB0aGlzLngucmVkTXVsKGdhbW1hKTtcXG4gICAgLy8gYWxwaGEgPSAzICogKFgxIC0gZGVsdGEpICogKFgxICsgZGVsdGEpXFxuICAgIHZhciBhbHBoYSA9IHRoaXMueC5yZWRTdWIoZGVsdGEpLnJlZE11bCh0aGlzLngucmVkQWRkKGRlbHRhKSk7XFxuICAgIGFscGhhID0gYWxwaGEucmVkQWRkKGFscGhhKS5yZWRJQWRkKGFscGhhKTtcXG4gICAgLy8gWDMgPSBhbHBoYV4yIC0gOCAqIGJldGFcXG4gICAgdmFyIGJldGE0ID0gYmV0YS5yZWRJQWRkKGJldGEpO1xcbiAgICBiZXRhNCA9IGJldGE0LnJlZElBZGQoYmV0YTQpO1xcbiAgICB2YXIgYmV0YTggPSBiZXRhNC5yZWRBZGQoYmV0YTQpO1xcbiAgICBueCA9IGFscGhhLnJlZFNxcigpLnJlZElTdWIoYmV0YTgpO1xcbiAgICAvLyBaMyA9IChZMSArIFoxKV4yIC0gZ2FtbWEgLSBkZWx0YVxcbiAgICBueiA9IHRoaXMueS5yZWRBZGQodGhpcy56KS5yZWRTcXIoKS5yZWRJU3ViKGdhbW1hKS5yZWRJU3ViKGRlbHRhKTtcXG4gICAgLy8gWTMgPSBhbHBoYSAqICg0ICogYmV0YSAtIFgzKSAtIDggKiBnYW1tYV4yXFxuICAgIHZhciBnZ2FtbWE4ID0gZ2FtbWEucmVkU3FyKCk7XFxuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XFxuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XFxuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XFxuICAgIG55ID0gYWxwaGEucmVkTXVsKGJldGE0LnJlZElTdWIobngpKS5yZWRJU3ViKGdnYW1tYTgpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xcbn07XFxuXFxuSlBvaW50LnByb3RvdHlwZS5fZGJsID0gZnVuY3Rpb24gX2RibCgpIHtcXG4gIHZhciBhID0gdGhpcy5jdXJ2ZS5hO1xcblxcbiAgLy8gNE0gKyA2UyArIDEwQVxcbiAgdmFyIGp4ID0gdGhpcy54O1xcbiAgdmFyIGp5ID0gdGhpcy55O1xcbiAgdmFyIGp6ID0gdGhpcy56O1xcbiAgdmFyIGp6NCA9IGp6LnJlZFNxcigpLnJlZFNxcigpO1xcblxcbiAgdmFyIGp4MiA9IGp4LnJlZFNxcigpO1xcbiAgdmFyIGp5MiA9IGp5LnJlZFNxcigpO1xcblxcbiAgdmFyIGMgPSBqeDIucmVkQWRkKGp4MikucmVkSUFkZChqeDIpLnJlZElBZGQoYS5yZWRNdWwoano0KSk7XFxuXFxuICB2YXIganhkNCA9IGp4LnJlZEFkZChqeCk7XFxuICBqeGQ0ID0ganhkNC5yZWRJQWRkKGp4ZDQpO1xcbiAgdmFyIHQxID0ganhkNC5yZWRNdWwoankyKTtcXG4gIHZhciBueCA9IGMucmVkU3FyKCkucmVkSVN1Yih0MS5yZWRBZGQodDEpKTtcXG4gIHZhciB0MiA9IHQxLnJlZElTdWIobngpO1xcblxcbiAgdmFyIGp5ZDggPSBqeTIucmVkU3FyKCk7XFxuICBqeWQ4ID0ganlkOC5yZWRJQWRkKGp5ZDgpO1xcbiAganlkOCA9IGp5ZDgucmVkSUFkZChqeWQ4KTtcXG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XFxuICB2YXIgbnkgPSBjLnJlZE11bCh0MikucmVkSVN1YihqeWQ4KTtcXG4gIHZhciBueiA9IGp5LnJlZEFkZChqeSkucmVkTXVsKGp6KTtcXG5cXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCwgbnksIG56KTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUudHJwbCA9IGZ1bmN0aW9uIHRycGwoKSB7XFxuICBpZiAoIXRoaXMuY3VydmUuemVyb0EpXFxuICAgIHJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTtcXG5cXG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMC5odG1sI3RyaXBsaW5nLXRwbC0yMDA3LWJsXFxuICAvLyA1TSArIDEwUyArIC4uLlxcblxcbiAgLy8gWFggPSBYMV4yXFxuICB2YXIgeHggPSB0aGlzLngucmVkU3FyKCk7XFxuICAvLyBZWSA9IFkxXjJcXG4gIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcXG4gIC8vIFpaID0gWjFeMlxcbiAgdmFyIHp6ID0gdGhpcy56LnJlZFNxcigpO1xcbiAgLy8gWVlZWSA9IFlZXjJcXG4gIHZhciB5eXl5ID0geXkucmVkU3FyKCk7XFxuICAvLyBNID0gMyAqIFhYICsgYSAqIFpaMjsgYSA9IDBcXG4gIHZhciBtID0geHgucmVkQWRkKHh4KS5yZWRJQWRkKHh4KTtcXG4gIC8vIE1NID0gTV4yXFxuICB2YXIgbW0gPSBtLnJlZFNxcigpO1xcbiAgLy8gRSA9IDYgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpIC0gTU1cXG4gIHZhciBlID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcXG4gIGUgPSBlLnJlZElBZGQoZSk7XFxuICBlID0gZS5yZWRBZGQoZSkucmVkSUFkZChlKTtcXG4gIGUgPSBlLnJlZElTdWIobW0pO1xcbiAgLy8gRUUgPSBFXjJcXG4gIHZhciBlZSA9IGUucmVkU3FyKCk7XFxuICAvLyBUID0gMTYqWVlZWVxcbiAgdmFyIHQgPSB5eXl5LnJlZElBZGQoeXl5eSk7XFxuICB0ID0gdC5yZWRJQWRkKHQpO1xcbiAgdCA9IHQucmVkSUFkZCh0KTtcXG4gIHQgPSB0LnJlZElBZGQodCk7XFxuICAvLyBVID0gKE0gKyBFKV4yIC0gTU0gLSBFRSAtIFRcXG4gIHZhciB1ID0gbS5yZWRJQWRkKGUpLnJlZFNxcigpLnJlZElTdWIobW0pLnJlZElTdWIoZWUpLnJlZElTdWIodCk7XFxuICAvLyBYMyA9IDQgKiAoWDEgKiBFRSAtIDQgKiBZWSAqIFUpXFxuICB2YXIgeXl1NCA9IHl5LnJlZE11bCh1KTtcXG4gIHl5dTQgPSB5eXU0LnJlZElBZGQoeXl1NCk7XFxuICB5eXU0ID0geXl1NC5yZWRJQWRkKHl5dTQpO1xcbiAgdmFyIG54ID0gdGhpcy54LnJlZE11bChlZSkucmVkSVN1Yih5eXU0KTtcXG4gIG54ID0gbngucmVkSUFkZChueCk7XFxuICBueCA9IG54LnJlZElBZGQobngpO1xcbiAgLy8gWTMgPSA4ICogWTEgKiAoVSAqIChUIC0gVSkgLSBFICogRUUpXFxuICB2YXIgbnkgPSB0aGlzLnkucmVkTXVsKHUucmVkTXVsKHQucmVkSVN1Yih1KSkucmVkSVN1YihlLnJlZE11bChlZSkpKTtcXG4gIG55ID0gbnkucmVkSUFkZChueSk7XFxuICBueSA9IG55LnJlZElBZGQobnkpO1xcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcXG4gIC8vIFozID0gKFoxICsgRSleMiAtIFpaIC0gRUVcXG4gIHZhciBueiA9IHRoaXMuei5yZWRBZGQoZSkucmVkU3FyKCkucmVkSVN1Yih6eikucmVkSVN1YihlZSk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bChrLCBrYmFzZSkge1xcbiAgayA9IG5ldyBCTihrLCBrYmFzZSk7XFxuXFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLCBrKTtcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcShwKSB7XFxuICBpZiAocC50eXBlID09PSAnYWZmaW5lJylcXG4gICAgcmV0dXJuIHRoaXMuZXEocC50b0ooKSk7XFxuXFxuICBpZiAodGhpcyA9PT0gcClcXG4gICAgcmV0dXJuIHRydWU7XFxuXFxuICAvLyB4MSAqIHoyXjIgPT0geDIgKiB6MV4yXFxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgcHoyID0gcC56LnJlZFNxcigpO1xcbiAgaWYgKHRoaXMueC5yZWRNdWwocHoyKS5yZWRJU3ViKHAueC5yZWRNdWwoejIpKS5jbXBuKDApICE9PSAwKVxcbiAgICByZXR1cm4gZmFsc2U7XFxuXFxuICAvLyB5MSAqIHoyXjMgPT0geTIgKiB6MV4zXFxuICB2YXIgejMgPSB6Mi5yZWRNdWwodGhpcy56KTtcXG4gIHZhciBwejMgPSBwejIucmVkTXVsKHAueik7XFxuICByZXR1cm4gdGhpcy55LnJlZE11bChwejMpLnJlZElTdWIocC55LnJlZE11bCh6MykpLmNtcG4oMCkgPT09IDA7XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLmVxWFRvUCA9IGZ1bmN0aW9uIGVxWFRvUCh4KSB7XFxuICB2YXIgenMgPSB0aGlzLnoucmVkU3FyKCk7XFxuICB2YXIgcnggPSB4LnRvUmVkKHRoaXMuY3VydmUucmVkKS5yZWRNdWwoenMpO1xcbiAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxcbiAgICByZXR1cm4gdHJ1ZTtcXG5cXG4gIHZhciB4YyA9IHguY2xvbmUoKTtcXG4gIHZhciB0ID0gdGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh6cyk7XFxuICBmb3IgKDs7KSB7XFxuICAgIHhjLmlhZGQodGhpcy5jdXJ2ZS5uKTtcXG4gICAgaWYgKHhjLmNtcCh0aGlzLmN1cnZlLnApID49IDApXFxuICAgICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgICByeC5yZWRJQWRkKHQpO1xcbiAgICBpZiAodGhpcy54LmNtcChyeCkgPT09IDApXFxuICAgICAgcmV0dXJuIHRydWU7XFxuICB9XFxufTtcXG5cXG5KUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxcbiAgICByZXR1cm4gJzxFQyBKUG9pbnQgSW5maW5pdHk+JztcXG4gIHJldHVybiAnPEVDIEpQb2ludCB4OiAnICsgdGhpcy54LnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB5OiAnICsgdGhpcy55LnRvU3RyaW5nKDE2LCAyKSArXFxuICAgICAgJyB6OiAnICsgdGhpcy56LnRvU3RyaW5nKDE2LCAyKSArICc+JztcXG59O1xcblxcbkpQb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XFxuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxcbiAgcmV0dXJuIHRoaXMuei5jbXBuKDApID09PSAwO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlkzVnlkbVV2YzJodmNuUXVhbk0vTlROaE1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc0swUkJRVlU3UVVGRE9VSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExHMUZRVUZQTzBGQlEzaENMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhYUVVGWExHMUNRVUZQTEVOQlFVTXNhMFZCUVZFN08wRkJSVE5DT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc01rUkJRVEpFTzBGQlF6TkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTEdWQlFXVTdRVUZEY0VJc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEcxQ1FVRnRRanRCUVVOd1F6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUWtGQmFVSXNWMEZCVnp0QlFVTTFRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1UwRkJVenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UWtGQmMwSTdRVUZEZEVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d3UWtGQk1FSTdRVUZETVVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZZM1Z5ZG1VdmMyaHZjblF1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dUwzVjBhV3h6SnlrN1hHNTJZWElnUWs0Z1BTQnlaWEYxYVhKbEtDZGliaTVxY3ljcE8xeHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktUdGNiblpoY2lCQ1lYTmxJRDBnY21WeGRXbHlaU2duTGk5aVlYTmxKeWs3WEc1Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRk5vYjNKMFEzVnlkbVVvWTI5dVppa2dlMXh1SUNCQ1lYTmxMbU5oYkd3b2RHaHBjeXdnSjNOb2IzSjBKeXdnWTI5dVppazdYRzVjYmlBZ2RHaHBjeTVoSUQwZ2JtVjNJRUpPS0dOdmJtWXVZU3dnTVRZcExuUnZVbVZrS0hSb2FYTXVjbVZrS1R0Y2JpQWdkR2hwY3k1aUlEMGdibVYzSUVKT0tHTnZibVl1WWl3Z01UWXBMblJ2VW1Wa0tIUm9hWE11Y21Wa0tUdGNiaUFnZEdocGN5NTBhVzUySUQwZ2RHaHBjeTUwZDI4dWNtVmtTVzUyYlNncE8xeHVYRzRnSUhSb2FYTXVlbVZ5YjBFZ1BTQjBhR2x6TG1FdVpuSnZiVkpsWkNncExtTnRjRzRvTUNrZ1BUMDlJREE3WEc0Z0lIUm9hWE11ZEdoeVpXVkJJRDBnZEdocGN5NWhMbVp5YjIxU1pXUW9LUzV6ZFdJb2RHaHBjeTV3S1M1amJYQnVLQzB6S1NBOVBUMGdNRHRjYmx4dUlDQXZMeUJKWmlCMGFHVWdZM1Z5ZG1VZ2FYTWdaVzVrYjIxdmNuQm9hV01zSUhCeVpXTmhiR04xYkdGMFpTQmlaWFJoSUdGdVpDQnNZVzFpWkdGY2JpQWdkR2hwY3k1bGJtUnZJRDBnZEdocGN5NWZaMlYwUlc1a2IyMXZjbkJvYVhOdEtHTnZibVlwTzF4dUlDQjBhR2x6TGw5bGJtUnZWMjVoWmxReElEMGdibVYzSUVGeWNtRjVLRFFwTzF4dUlDQjBhR2x6TGw5bGJtUnZWMjVoWmxReUlEMGdibVYzSUVGeWNtRjVLRFFwTzF4dWZWeHVhVzVvWlhKcGRITW9VMmh2Y25SRGRYSjJaU3dnUW1GelpTazdYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRk5vYjNKMFEzVnlkbVU3WEc1Y2JsTm9iM0owUTNWeWRtVXVjSEp2ZEc5MGVYQmxMbDluWlhSRmJtUnZiVzl5Y0docGMyMGdQU0JtZFc1amRHbHZiaUJmWjJWMFJXNWtiMjF2Y25Cb2FYTnRLR052Ym1ZcElIdGNiaUFnTHk4Z1RtOGdaV1ptYVdOcFpXNTBJR1Z1Wkc5dGIzSndhR2x6YlZ4dUlDQnBaaUFvSVhSb2FYTXVlbVZ5YjBFZ2ZId2dJWFJvYVhNdVp5QjhmQ0FoZEdocGN5NXVJSHg4SUhSb2FYTXVjQzV0YjJSdUtETXBJQ0U5UFNBeEtWeHVJQ0FnSUhKbGRIVnlianRjYmx4dUlDQXZMeUJEYjIxd2RYUmxJR0psZEdFZ1lXNWtJR3hoYldKa1lTd2dkR2hoZENCc1lXMWlaR0VnS2lCUUlEMGdLR0psZEdFZ0tpQlFlRHNnVUhrcFhHNGdJSFpoY2lCaVpYUmhPMXh1SUNCMllYSWdiR0Z0WW1SaE8xeHVJQ0JwWmlBb1kyOXVaaTVpWlhSaEtTQjdYRzRnSUNBZ1ltVjBZU0E5SUc1bGR5QkNUaWhqYjI1bUxtSmxkR0VzSURFMktTNTBiMUpsWkNoMGFHbHpMbkpsWkNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJR0psZEdGeklEMGdkR2hwY3k1ZloyVjBSVzVrYjFKdmIzUnpLSFJvYVhNdWNDazdYRzRnSUNBZ0x5OGdRMmh2YjNObElIUm9aU0J6YldGc2JHVnpkQ0JpWlhSaFhHNGdJQ0FnWW1WMFlTQTlJR0psZEdGeld6QmRMbU50Y0NoaVpYUmhjMXN4WFNrZ1BDQXdJRDhnWW1WMFlYTmJNRjBnT2lCaVpYUmhjMXN4WFR0Y2JpQWdJQ0JpWlhSaElEMGdZbVYwWVM1MGIxSmxaQ2gwYUdsekxuSmxaQ2s3WEc0Z0lIMWNiaUFnYVdZZ0tHTnZibVl1YkdGdFltUmhLU0I3WEc0Z0lDQWdiR0Z0WW1SaElEMGdibVYzSUVKT0tHTnZibVl1YkdGdFltUmhMQ0F4TmlrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdRMmh2YjNObElIUm9aU0JzWVcxaVpHRWdkR2hoZENCcGN5QnRZWFJqYUdsdVp5QnpaV3hsWTNSbFpDQmlaWFJoWEc0Z0lDQWdkbUZ5SUd4aGJXSmtZWE1nUFNCMGFHbHpMbDluWlhSRmJtUnZVbTl2ZEhNb2RHaHBjeTV1S1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVuTG0xMWJDaHNZVzFpWkdGeld6QmRLUzU0TG1OdGNDaDBhR2x6TG1jdWVDNXlaV1JOZFd3b1ltVjBZU2twSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0JzWVcxaVpHRWdQU0JzWVcxaVpHRnpXekJkTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnNZVzFpWkdFZ1BTQnNZVzFpWkdGeld6RmRPMXh1SUNBZ0lDQWdZWE56WlhKMEtIUm9hWE11Wnk1dGRXd29iR0Z0WW1SaEtTNTRMbU50Y0NoMGFHbHpMbWN1ZUM1eVpXUk5kV3dvWW1WMFlTa3BJRDA5UFNBd0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZMeUJIWlhRZ1ltRnphWE1nZG1WamRHOXljeXdnZFhObFpDQm1iM0lnWW1Gc1lXNWpaV1FnYkdWdVozUm9MWFIzYnlCeVpYQnlaWE5sYm5SaGRHbHZibHh1SUNCMllYSWdZbUZ6YVhNN1hHNGdJR2xtSUNoamIyNW1MbUpoYzJsektTQjdYRzRnSUNBZ1ltRnphWE1nUFNCamIyNW1MbUpoYzJsekxtMWhjQ2htZFc1amRHbHZiaWgyWldNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHRTZJRzVsZHlCQ1RpaDJaV011WVN3Z01UWXBMRnh1SUNBZ0lDQWdJQ0JpT2lCdVpYY2dRazRvZG1WakxtSXNJREUyS1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCaVlYTnBjeUE5SUhSb2FYTXVYMmRsZEVWdVpHOUNZWE5wY3loc1lXMWlaR0VwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0JpWlhSaE9pQmlaWFJoTEZ4dUlDQWdJR3hoYldKa1lUb2diR0Z0WW1SaExGeHVJQ0FnSUdKaGMybHpPaUJpWVhOcGMxeHVJQ0I5TzF4dWZUdGNibHh1VTJodmNuUkRkWEoyWlM1d2NtOTBiM1I1Y0dVdVgyZGxkRVZ1Wkc5U2IyOTBjeUE5SUdaMWJtTjBhVzl1SUY5blpYUkZibVJ2VW05dmRITW9iblZ0S1NCN1hHNGdJQzh2SUVacGJtUWdjbTl2ZEhNZ2IyWWdabTl5SUhoZU1pQXJJSGdnS3lBeElHbHVJRVpjYmlBZ0x5OGdVbTl2ZENBOUlDZ3RNU0FyTFNCVGNYSjBLQzB6S1NrZ0x5QXlYRzRnSUM4dlhHNGdJSFpoY2lCeVpXUWdQU0J1ZFcwZ1BUMDlJSFJvYVhNdWNDQS9JSFJvYVhNdWNtVmtJRG9nUWs0dWJXOXVkQ2h1ZFcwcE8xeHVJQ0IyWVhJZ2RHbHVkaUE5SUc1bGR5QkNUaWd5S1M1MGIxSmxaQ2h5WldRcExuSmxaRWx1ZG0wb0tUdGNiaUFnZG1GeUlHNTBhVzUySUQwZ2RHbHVkaTV5WldST1pXY29LVHRjYmx4dUlDQjJZWElnY3lBOUlHNWxkeUJDVGlnektTNTBiMUpsWkNoeVpXUXBMbkpsWkU1bFp5Z3BMbkpsWkZOeGNuUW9LUzV5WldSTmRXd29kR2x1ZGlrN1hHNWNiaUFnZG1GeUlHd3hJRDBnYm5ScGJuWXVjbVZrUVdSa0tITXBMbVp5YjIxU1pXUW9LVHRjYmlBZ2RtRnlJR3d5SUQwZ2JuUnBibll1Y21Wa1UzVmlLSE1wTG1aeWIyMVNaV1FvS1R0Y2JpQWdjbVYwZFhKdUlGc2diREVzSUd3eUlGMDdYRzU5TzF4dVhHNVRhRzl5ZEVOMWNuWmxMbkJ5YjNSdmRIbHdaUzVmWjJWMFJXNWtiMEpoYzJseklEMGdablZ1WTNScGIyNGdYMmRsZEVWdVpHOUNZWE5wY3loc1lXMWlaR0VwSUh0Y2JpQWdMeThnWVhCeWVGTnhjblFnUGowZ2MzRnlkQ2gwYUdsekxtNHBYRzRnSUhaaGNpQmhjSEo0VTNGeWRDQTlJSFJvYVhNdWJpNTFjMmh5YmloTllYUm9MbVpzYjI5eUtIUm9hWE11Ymk1aWFYUk1aVzVuZEdnb0tTQXZJRElwS1R0Y2JseHVJQ0F2THlBekxqYzBYRzRnSUM4dklGSjFiaUJGUjBORUxDQjFiblJwYkNCeUtFd2dLeUF4S1NBOElHRndjbmhUY1hKMFhHNGdJSFpoY2lCMUlEMGdiR0Z0WW1SaE8xeHVJQ0IyWVhJZ2RpQTlJSFJvYVhNdWJpNWpiRzl1WlNncE8xeHVJQ0IyWVhJZ2VERWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lIWmhjaUI1TVNBOUlHNWxkeUJDVGlnd0tUdGNiaUFnZG1GeUlIZ3lJRDBnYm1WM0lFSk9LREFwTzF4dUlDQjJZWElnZVRJZ1BTQnVaWGNnUWs0b01TazdYRzVjYmlBZ0x5OGdUazlVUlRvZ1lXeHNJSFpsWTNSdmNuTWdZWEpsSUhKdmIzUnpJRzltT2lCaElDc2dZaUFxSUd4aGJXSmtZU0E5SURBZ0tHMXZaQ0J1S1Z4dUlDQjJZWElnWVRBN1hHNGdJSFpoY2lCaU1EdGNiaUFnTHk4Z1JtbHljM1FnZG1WamRHOXlYRzRnSUhaaGNpQmhNVHRjYmlBZ2RtRnlJR0l4TzF4dUlDQXZMeUJUWldOdmJtUWdkbVZqZEc5eVhHNGdJSFpoY2lCaE1qdGNiaUFnZG1GeUlHSXlPMXh1WEc0Z0lIWmhjaUJ3Y21WMlVqdGNiaUFnZG1GeUlHa2dQU0F3TzF4dUlDQjJZWElnY2p0Y2JpQWdkbUZ5SUhnN1hHNGdJSGRvYVd4bElDaDFMbU50Y0c0b01Da2dJVDA5SURBcElIdGNiaUFnSUNCMllYSWdjU0E5SUhZdVpHbDJLSFVwTzF4dUlDQWdJSElnUFNCMkxuTjFZaWh4TG0xMWJDaDFLU2s3WEc0Z0lDQWdlQ0E5SUhneUxuTjFZaWh4TG0xMWJDaDRNU2twTzF4dUlDQWdJSFpoY2lCNUlEMGdlVEl1YzNWaUtIRXViWFZzS0hreEtTazdYRzVjYmlBZ0lDQnBaaUFvSVdFeElDWW1JSEl1WTIxd0tHRndjbmhUY1hKMEtTQThJREFwSUh0Y2JpQWdJQ0FnSUdFd0lEMGdjSEpsZGxJdWJtVm5LQ2s3WEc0Z0lDQWdJQ0JpTUNBOUlIZ3hPMXh1SUNBZ0lDQWdZVEVnUFNCeUxtNWxaeWdwTzF4dUlDQWdJQ0FnWWpFZ1BTQjRPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZVEVnSmlZZ0t5dHBJRDA5UFNBeUtTQjdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpsZGxJZ1BTQnlPMXh1WEc0Z0lDQWdkaUE5SUhVN1hHNGdJQ0FnZFNBOUlISTdYRzRnSUNBZ2VESWdQU0I0TVR0Y2JpQWdJQ0I0TVNBOUlIZzdYRzRnSUNBZ2VUSWdQU0I1TVR0Y2JpQWdJQ0I1TVNBOUlIazdYRzRnSUgxY2JpQWdZVElnUFNCeUxtNWxaeWdwTzF4dUlDQmlNaUE5SUhnN1hHNWNiaUFnZG1GeUlHeGxiakVnUFNCaE1TNXpjWElvS1M1aFpHUW9ZakV1YzNGeUtDa3BPMXh1SUNCMllYSWdiR1Z1TWlBOUlHRXlMbk54Y2lncExtRmtaQ2hpTWk1emNYSW9LU2s3WEc0Z0lHbG1JQ2hzWlc0eUxtTnRjQ2hzWlc0eEtTQStQU0F3S1NCN1hHNGdJQ0FnWVRJZ1BTQmhNRHRjYmlBZ0lDQmlNaUE5SUdJd08xeHVJQ0I5WEc1Y2JpQWdMeThnVG05eWJXRnNhWHBsSUhOcFoyNXpYRzRnSUdsbUlDaGhNUzV1WldkaGRHbDJaU2tnZTF4dUlDQWdJR0V4SUQwZ1lURXVibVZuS0NrN1hHNGdJQ0FnWWpFZ1BTQmlNUzV1Wldjb0tUdGNiaUFnZlZ4dUlDQnBaaUFvWVRJdWJtVm5ZWFJwZG1VcElIdGNiaUFnSUNCaE1pQTlJR0V5TG01bFp5Z3BPMXh1SUNBZ0lHSXlJRDBnWWpJdWJtVm5LQ2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnVzF4dUlDQWdJSHNnWVRvZ1lURXNJR0k2SUdJeElIMHNYRzRnSUNBZ2V5QmhPaUJoTWl3Z1lqb2dZaklnZlZ4dUlDQmRPMXh1ZlR0Y2JseHVVMmh2Y25SRGRYSjJaUzV3Y205MGIzUjVjR1V1WDJWdVpHOVRjR3hwZENBOUlHWjFibU4wYVc5dUlGOWxibVJ2VTNCc2FYUW9heWtnZTF4dUlDQjJZWElnWW1GemFYTWdQU0IwYUdsekxtVnVaRzh1WW1GemFYTTdYRzRnSUhaaGNpQjJNU0E5SUdKaGMybHpXekJkTzF4dUlDQjJZWElnZGpJZ1BTQmlZWE5wYzFzeFhUdGNibHh1SUNCMllYSWdZekVnUFNCMk1pNWlMbTExYkNocktTNWthWFpTYjNWdVpDaDBhR2x6TG00cE8xeHVJQ0IyWVhJZ1l6SWdQU0IyTVM1aUxtNWxaeWdwTG0xMWJDaHJLUzVrYVhaU2IzVnVaQ2gwYUdsekxtNHBPMXh1WEc0Z0lIWmhjaUJ3TVNBOUlHTXhMbTExYkNoMk1TNWhLVHRjYmlBZ2RtRnlJSEF5SUQwZ1l6SXViWFZzS0hZeUxtRXBPMXh1SUNCMllYSWdjVEVnUFNCak1TNXRkV3dvZGpFdVlpazdYRzRnSUhaaGNpQnhNaUE5SUdNeUxtMTFiQ2gyTWk1aUtUdGNibHh1SUNBdkx5QkRZV3hqZFd4aGRHVWdZVzV6ZDJWeVhHNGdJSFpoY2lCck1TQTlJR3N1YzNWaUtIQXhLUzV6ZFdJb2NESXBPMXh1SUNCMllYSWdheklnUFNCeE1TNWhaR1FvY1RJcExtNWxaeWdwTzF4dUlDQnlaWFIxY200Z2V5QnJNVG9nYXpFc0lHc3lPaUJyTWlCOU8xeHVmVHRjYmx4dVUyaHZjblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVjRzlwYm5SR2NtOXRXQ0E5SUdaMWJtTjBhVzl1SUhCdmFXNTBSbkp2YlZnb2VDd2diMlJrS1NCN1hHNGdJSGdnUFNCdVpYY2dRazRvZUN3Z01UWXBPMXh1SUNCcFppQW9JWGd1Y21Wa0tWeHVJQ0FnSUhnZ1BTQjRMblJ2VW1Wa0tIUm9hWE11Y21Wa0tUdGNibHh1SUNCMllYSWdlVElnUFNCNExuSmxaRk54Y2lncExuSmxaRTExYkNoNEtTNXlaV1JKUVdSa0tIZ3VjbVZrVFhWc0tIUm9hWE11WVNrcExuSmxaRWxCWkdRb2RHaHBjeTVpS1R0Y2JpQWdkbUZ5SUhrZ1BTQjVNaTV5WldSVGNYSjBLQ2s3WEc0Z0lHbG1JQ2g1TG5KbFpGTnhjaWdwTG5KbFpGTjFZaWg1TWlrdVkyMXdLSFJvYVhNdWVtVnlieWtnSVQwOUlEQXBYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkcGJuWmhiR2xrSUhCdmFXNTBKeWs3WEc1Y2JpQWdMeThnV0ZoWUlFbHpJSFJvWlhKbElHRnVlU0IzWVhrZ2RHOGdkR1ZzYkNCcFppQjBhR1VnYm5WdFltVnlJR2x6SUc5a1pDQjNhWFJvYjNWMElHTnZiblpsY25ScGJtY2dhWFJjYmlBZ0x5OGdkRzhnYm05dUxYSmxaQ0JtYjNKdFAxeHVJQ0IyWVhJZ2FYTlBaR1FnUFNCNUxtWnliMjFTWldRb0tTNXBjMDlrWkNncE8xeHVJQ0JwWmlBb2IyUmtJQ1ltSUNGcGMwOWtaQ0I4ZkNBaGIyUmtJQ1ltSUdselQyUmtLVnh1SUNBZ0lIa2dQU0I1TG5KbFpFNWxaeWdwTzF4dVhHNGdJSEpsZEhWeWJpQjBhR2x6TG5CdmFXNTBLSGdzSUhrcE8xeHVmVHRjYmx4dVUyaHZjblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVkbUZzYVdSaGRHVWdQU0JtZFc1amRHbHZiaUIyWVd4cFpHRjBaU2h3YjJsdWRDa2dlMXh1SUNCcFppQW9jRzlwYm5RdWFXNW1LVnh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1WEc0Z0lIWmhjaUI0SUQwZ2NHOXBiblF1ZUR0Y2JpQWdkbUZ5SUhrZ1BTQndiMmx1ZEM1NU8xeHVYRzRnSUhaaGNpQmhlQ0E5SUhSb2FYTXVZUzV5WldSTmRXd29lQ2s3WEc0Z0lIWmhjaUJ5YUhNZ1BTQjRMbkpsWkZOeGNpZ3BMbkpsWkUxMWJDaDRLUzV5WldSSlFXUmtLR0Y0S1M1eVpXUkpRV1JrS0hSb2FYTXVZaWs3WEc0Z0lISmxkSFZ5YmlCNUxuSmxaRk54Y2lncExuSmxaRWxUZFdJb2NtaHpLUzVqYlhCdUtEQXBJRDA5UFNBd08xeHVmVHRjYmx4dVUyaHZjblJEZFhKMlpTNXdjbTkwYjNSNWNHVXVYMlZ1Wkc5WGJtRm1UWFZzUVdSa0lEMWNiaUFnSUNCbWRXNWpkR2x2YmlCZlpXNWtiMWR1WVdaTmRXeEJaR1FvY0c5cGJuUnpMQ0JqYjJWbVpuTXNJR3BoWTI5aWFXRnVVbVZ6ZFd4MEtTQjdYRzRnSUhaaGNpQnVjRzlwYm5SeklEMGdkR2hwY3k1ZlpXNWtiMWR1WVdaVU1UdGNiaUFnZG1GeUlHNWpiMlZtWm5NZ1BTQjBhR2x6TGw5bGJtUnZWMjVoWmxReU8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhCdmFXNTBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQnpjR3hwZENBOUlIUm9hWE11WDJWdVpHOVRjR3hwZENoamIyVm1abk5iYVYwcE8xeHVJQ0FnSUhaaGNpQndJRDBnY0c5cGJuUnpXMmxkTzF4dUlDQWdJSFpoY2lCaVpYUmhJRDBnY0M1ZloyVjBRbVYwWVNncE8xeHVYRzRnSUNBZ2FXWWdLSE53YkdsMExtc3hMbTVsWjJGMGFYWmxLU0I3WEc0Z0lDQWdJQ0J6Y0d4cGRDNXJNUzVwYm1WbktDazdYRzRnSUNBZ0lDQndJRDBnY0M1dVpXY29kSEoxWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoemNHeHBkQzVyTWk1dVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ2MzQnNhWFF1YXpJdWFXNWxaeWdwTzF4dUlDQWdJQ0FnWW1WMFlTQTlJR0psZEdFdWJtVm5LSFJ5ZFdVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUc1d2IybHVkSE5iYVNBcUlESmRJRDBnY0R0Y2JpQWdJQ0J1Y0c5cGJuUnpXMmtnS2lBeUlDc2dNVjBnUFNCaVpYUmhPMXh1SUNBZ0lHNWpiMlZtWm5OYmFTQXFJREpkSUQwZ2MzQnNhWFF1YXpFN1hHNGdJQ0FnYm1OdlpXWm1jMXRwSUNvZ01pQXJJREZkSUQwZ2MzQnNhWFF1YXpJN1hHNGdJSDFjYmlBZ2RtRnlJSEpsY3lBOUlIUm9hWE11WDNkdVlXWk5kV3hCWkdRb01Td2dibkJ2YVc1MGN5d2dibU52WldabWN5d2dhU0FxSURJc0lHcGhZMjlpYVdGdVVtVnpkV3gwS1R0Y2JseHVJQ0F2THlCRGJHVmhiaTExY0NCeVpXWmxjbVZ1WTJWeklIUnZJSEJ2YVc1MGN5QmhibVFnWTI5bFptWnBZMmxsYm5SelhHNGdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnYVNBcUlESTdJR29yS3lrZ2UxeHVJQ0FnSUc1d2IybHVkSE5iYWwwZ1BTQnVkV3hzTzF4dUlDQWdJRzVqYjJWbVpuTmJhbDBnUFNCdWRXeHNPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWE03WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJRYjJsdWRDaGpkWEoyWlN3Z2VDd2dlU3dnYVhOU1pXUXBJSHRjYmlBZ1FtRnpaUzVDWVhObFVHOXBiblF1WTJGc2JDaDBhR2x6TENCamRYSjJaU3dnSjJGbVptbHVaU2NwTzF4dUlDQnBaaUFvZUNBOVBUMGdiblZzYkNBbUppQjVJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdkR2hwY3k1NElEMGdiblZzYkR0Y2JpQWdJQ0IwYUdsekxua2dQU0J1ZFd4c08xeHVJQ0FnSUhSb2FYTXVhVzVtSUQwZ2RISjFaVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0J1WlhjZ1FrNG9lQ3dnTVRZcE8xeHVJQ0FnSUhSb2FYTXVlU0E5SUc1bGR5QkNUaWg1TENBeE5pazdYRzRnSUNBZ0x5OGdSbTl5WTJVZ2NtVmtaMjl0WlhKNUlISmxjSEpsYzJWdWRHRjBhVzl1SUhkb1pXNGdiRzloWkdsdVp5Qm1jbTl0SUVwVFQwNWNiaUFnSUNCcFppQW9hWE5TWldRcElIdGNiaUFnSUNBZ0lIUm9hWE11ZUM1bWIzSmpaVkpsWkNoMGFHbHpMbU4xY25abExuSmxaQ2s3WEc0Z0lDQWdJQ0IwYUdsekxua3VabTl5WTJWU1pXUW9kR2hwY3k1amRYSjJaUzV5WldRcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0lYUm9hWE11ZUM1eVpXUXBYRzRnSUNBZ0lDQjBhR2x6TG5nZ1BTQjBhR2x6TG5ndWRHOVNaV1FvZEdocGN5NWpkWEoyWlM1eVpXUXBPMXh1SUNBZ0lHbG1JQ2doZEdocGN5NTVMbkpsWkNsY2JpQWdJQ0FnSUhSb2FYTXVlU0E5SUhSb2FYTXVlUzUwYjFKbFpDaDBhR2x6TG1OMWNuWmxMbkpsWkNrN1hHNGdJQ0FnZEdocGN5NXBibVlnUFNCbVlXeHpaVHRjYmlBZ2ZWeHVmVnh1YVc1b1pYSnBkSE1vVUc5cGJuUXNJRUpoYzJVdVFtRnpaVkJ2YVc1MEtUdGNibHh1VTJodmNuUkRkWEoyWlM1d2NtOTBiM1I1Y0dVdWNHOXBiblFnUFNCbWRXNWpkR2x2YmlCd2IybHVkQ2g0TENCNUxDQnBjMUpsWkNrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUZCdmFXNTBLSFJvYVhNc0lIZ3NJSGtzSUdselVtVmtLVHRjYm4wN1hHNWNibE5vYjNKMFEzVnlkbVV1Y0hKdmRHOTBlWEJsTG5CdmFXNTBSbkp2YlVwVFQwNGdQU0JtZFc1amRHbHZiaUJ3YjJsdWRFWnliMjFLVTA5T0tHOWlhaXdnY21Wa0tTQjdYRzRnSUhKbGRIVnliaUJRYjJsdWRDNW1jbTl0U2xOUFRpaDBhR2x6TENCdlltb3NJSEpsWkNrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WDJkbGRFSmxkR0VnUFNCbWRXNWpkR2x2YmlCZloyVjBRbVYwWVNncElIdGNiaUFnYVdZZ0tDRjBhR2x6TG1OMWNuWmxMbVZ1Wkc4cFhHNGdJQ0FnY21WMGRYSnVPMXh1WEc0Z0lIWmhjaUJ3Y21VZ1BTQjBhR2x6TG5CeVpXTnZiWEIxZEdWa08xeHVJQ0JwWmlBb2NISmxJQ1ltSUhCeVpTNWlaWFJoS1Z4dUlDQWdJSEpsZEhWeWJpQndjbVV1WW1WMFlUdGNibHh1SUNCMllYSWdZbVYwWVNBOUlIUm9hWE11WTNWeWRtVXVjRzlwYm5Rb2RHaHBjeTU0TG5KbFpFMTFiQ2gwYUdsekxtTjFjblpsTG1WdVpHOHVZbVYwWVNrc0lIUm9hWE11ZVNrN1hHNGdJR2xtSUNod2NtVXBJSHRjYmlBZ0lDQjJZWElnWTNWeWRtVWdQU0IwYUdsekxtTjFjblpsTzF4dUlDQWdJSFpoY2lCbGJtUnZUWFZzSUQwZ1puVnVZM1JwYjI0b2NDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTjFjblpsTG5CdmFXNTBLSEF1ZUM1eVpXUk5kV3dvWTNWeWRtVXVaVzVrYnk1aVpYUmhLU3dnY0M1NUtUdGNiaUFnSUNCOU8xeHVJQ0FnSUhCeVpTNWlaWFJoSUQwZ1ltVjBZVHRjYmlBZ0lDQmlaWFJoTG5CeVpXTnZiWEIxZEdWa0lEMGdlMXh1SUNBZ0lDQWdZbVYwWVRvZ2JuVnNiQ3hjYmlBZ0lDQWdJRzVoWmpvZ2NISmxMbTVoWmlBbUppQjdYRzRnSUNBZ0lDQWdJSGR1WkRvZ2NISmxMbTVoWmk1M2JtUXNYRzRnSUNBZ0lDQWdJSEJ2YVc1MGN6b2djSEpsTG01aFppNXdiMmx1ZEhNdWJXRndLR1Z1Wkc5TmRXd3BYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdaRzkxWW14bGN6b2djSEpsTG1SdmRXSnNaWE1nSmlZZ2UxeHVJQ0FnSUNBZ0lDQnpkR1Z3T2lCd2NtVXVaRzkxWW14bGN5NXpkR1Z3TEZ4dUlDQWdJQ0FnSUNCd2IybHVkSE02SUhCeVpTNWtiM1ZpYkdWekxuQnZhVzUwY3k1dFlYQW9aVzVrYjAxMWJDbGNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCaVpYUmhPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExuUnZTbE5QVGlBOUlHWjFibU4wYVc5dUlIUnZTbE5QVGlncElIdGNiaUFnYVdZZ0tDRjBhR2x6TG5CeVpXTnZiWEIxZEdWa0tWeHVJQ0FnSUhKbGRIVnliaUJiSUhSb2FYTXVlQ3dnZEdocGN5NTVJRjA3WEc1Y2JpQWdjbVYwZFhKdUlGc2dkR2hwY3k1NExDQjBhR2x6TG5rc0lIUm9hWE11Y0hKbFkyOXRjSFYwWldRZ0ppWWdlMXh1SUNBZ0lHUnZkV0pzWlhNNklIUm9hWE11Y0hKbFkyOXRjSFYwWldRdVpHOTFZbXhsY3lBbUppQjdYRzRnSUNBZ0lDQnpkR1Z3T2lCMGFHbHpMbkJ5WldOdmJYQjFkR1ZrTG1SdmRXSnNaWE11YzNSbGNDeGNiaUFnSUNBZ0lIQnZhVzUwY3pvZ2RHaHBjeTV3Y21WamIyMXdkWFJsWkM1a2IzVmliR1Z6TG5CdmFXNTBjeTV6YkdsalpTZ3hLVnh1SUNBZ0lIMHNYRzRnSUNBZ2JtRm1PaUIwYUdsekxuQnlaV052YlhCMWRHVmtMbTVoWmlBbUppQjdYRzRnSUNBZ0lDQjNibVE2SUhSb2FYTXVjSEpsWTI5dGNIVjBaV1F1Ym1GbUxuZHVaQ3hjYmlBZ0lDQWdJSEJ2YVc1MGN6b2dkR2hwY3k1d2NtVmpiMjF3ZFhSbFpDNXVZV1l1Y0c5cGJuUnpMbk5zYVdObEtERXBYRzRnSUNBZ2ZWeHVJQ0I5SUYwN1hHNTlPMXh1WEc1UWIybHVkQzVtY205dFNsTlBUaUE5SUdaMWJtTjBhVzl1SUdaeWIyMUtVMDlPS0dOMWNuWmxMQ0J2WW1vc0lISmxaQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JRzlpYWlBOVBUMGdKM04wY21sdVp5Y3BYRzRnSUNBZ2IySnFJRDBnU2xOUFRpNXdZWEp6WlNodlltb3BPMXh1SUNCMllYSWdjbVZ6SUQwZ1kzVnlkbVV1Y0c5cGJuUW9iMkpxV3pCZExDQnZZbXBiTVYwc0lISmxaQ2s3WEc0Z0lHbG1JQ2doYjJKcVd6SmRLVnh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzVjYmlBZ1puVnVZM1JwYjI0Z2IySnFNbkJ2YVc1MEtHOWlhaWtnZTF4dUlDQWdJSEpsZEhWeWJpQmpkWEoyWlM1d2IybHVkQ2h2WW1wYk1GMHNJRzlpYWxzeFhTd2djbVZrS1R0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21VZ1BTQnZZbXBiTWwwN1hHNGdJSEpsY3k1d2NtVmpiMjF3ZFhSbFpDQTlJSHRjYmlBZ0lDQmlaWFJoT2lCdWRXeHNMRnh1SUNBZ0lHUnZkV0pzWlhNNklIQnlaUzVrYjNWaWJHVnpJQ1ltSUh0Y2JpQWdJQ0FnSUhOMFpYQTZJSEJ5WlM1a2IzVmliR1Z6TG5OMFpYQXNYRzRnSUNBZ0lDQndiMmx1ZEhNNklGc2djbVZ6SUYwdVkyOXVZMkYwS0hCeVpTNWtiM1ZpYkdWekxuQnZhVzUwY3k1dFlYQW9iMkpxTW5CdmFXNTBLU2xjYmlBZ0lDQjlMRnh1SUNBZ0lHNWhaam9nY0hKbExtNWhaaUFtSmlCN1hHNGdJQ0FnSUNCM2JtUTZJSEJ5WlM1dVlXWXVkMjVrTEZ4dUlDQWdJQ0FnY0c5cGJuUnpPaUJiSUhKbGN5QmRMbU52Ym1OaGRDaHdjbVV1Ym1GbUxuQnZhVzUwY3k1dFlYQW9iMkpxTW5CdmFXNTBLU2xjYmlBZ0lDQjlYRzRnSUgwN1hHNGdJSEpsZEhWeWJpQnlaWE03WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVhVzV6Y0dWamRDQTlJR1oxYm1OMGFXOXVJR2x1YzNCbFkzUW9LU0I3WEc0Z0lHbG1JQ2gwYUdsekxtbHpTVzVtYVc1cGRIa29LU2xjYmlBZ0lDQnlaWFIxY200Z0p6eEZReUJRYjJsdWRDQkpibVpwYm1sMGVUNG5PMXh1SUNCeVpYUjFjbTRnSnp4RlF5QlFiMmx1ZENCNE9pQW5JQ3NnZEdocGN5NTRMbVp5YjIxU1pXUW9LUzUwYjFOMGNtbHVaeWd4Tml3Z01pa2dLMXh1SUNBZ0lDQWdKeUI1T2lBbklDc2dkR2hwY3k1NUxtWnliMjFTWldRb0tTNTBiMU4wY21sdVp5Z3hOaXdnTWlrZ0t5QW5QaWM3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVhWE5KYm1acGJtbDBlU0E5SUdaMWJtTjBhVzl1SUdselNXNW1hVzVwZEhrb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxtbHVaanRjYm4wN1hHNWNibEJ2YVc1MExuQnliM1J2ZEhsd1pTNWhaR1FnUFNCbWRXNWpkR2x2YmlCaFpHUW9jQ2tnZTF4dUlDQXZMeUJQSUNzZ1VDQTlJRkJjYmlBZ2FXWWdLSFJvYVhNdWFXNW1LVnh1SUNBZ0lISmxkSFZ5YmlCd08xeHVYRzRnSUM4dklGQWdLeUJQSUQwZ1VGeHVJQ0JwWmlBb2NDNXBibVlwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc1Y2JpQWdMeThnVUNBcklGQWdQU0F5VUZ4dUlDQnBaaUFvZEdocGN5NWxjU2h3S1NsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a1ltd29LVHRjYmx4dUlDQXZMeUJRSUNzZ0tDMVFLU0E5SUU5Y2JpQWdhV1lnS0hSb2FYTXVibVZuS0NrdVpYRW9jQ2twWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVjRzlwYm5Rb2JuVnNiQ3dnYm5Wc2JDazdYRzVjYmlBZ0x5OGdVQ0FySUZFZ1BTQlBYRzRnSUdsbUlDaDBhR2x6TG5ndVkyMXdLSEF1ZUNrZ1BUMDlJREFwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVjRzlwYm5Rb2JuVnNiQ3dnYm5Wc2JDazdYRzVjYmlBZ2RtRnlJR01nUFNCMGFHbHpMbmt1Y21Wa1UzVmlLSEF1ZVNrN1hHNGdJR2xtSUNoakxtTnRjRzRvTUNrZ0lUMDlJREFwWEc0Z0lDQWdZeUE5SUdNdWNtVmtUWFZzS0hSb2FYTXVlQzV5WldSVGRXSW9jQzU0S1M1eVpXUkpiblp0S0NrcE8xeHVJQ0IyWVhJZ2JuZ2dQU0JqTG5KbFpGTnhjaWdwTG5KbFpFbFRkV0lvZEdocGN5NTRLUzV5WldSSlUzVmlLSEF1ZUNrN1hHNGdJSFpoY2lCdWVTQTlJR011Y21Wa1RYVnNLSFJvYVhNdWVDNXlaV1JUZFdJb2JuZ3BLUzV5WldSSlUzVmlLSFJvYVhNdWVTazdYRzRnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTG5CdmFXNTBLRzU0TENCdWVTazdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdVpHSnNJRDBnWm5WdVkzUnBiMjRnWkdKc0tDa2dlMXh1SUNCcFppQW9kR2hwY3k1cGJtWXBYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzVjYmlBZ0x5OGdNbEFnUFNCUFhHNGdJSFpoY2lCNWN6RWdQU0IwYUdsekxua3VjbVZrUVdSa0tIUm9hWE11ZVNrN1hHNGdJR2xtSUNoNWN6RXVZMjF3Ymlnd0tTQTlQVDBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzV3YjJsdWRDaHVkV3hzTENCdWRXeHNLVHRjYmx4dUlDQjJZWElnWVNBOUlIUm9hWE11WTNWeWRtVXVZVHRjYmx4dUlDQjJZWElnZURJZ1BTQjBhR2x6TG5ndWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCa2VXbHVkaUE5SUhsek1TNXlaV1JKYm5adEtDazdYRzRnSUhaaGNpQmpJRDBnZURJdWNtVmtRV1JrS0hneUtTNXlaV1JKUVdSa0tIZ3lLUzV5WldSSlFXUmtLR0VwTG5KbFpFMTFiQ2hrZVdsdWRpazdYRzVjYmlBZ2RtRnlJRzU0SUQwZ1l5NXlaV1JUY1hJb0tTNXlaV1JKVTNWaUtIUm9hWE11ZUM1eVpXUkJaR1FvZEdocGN5NTRLU2s3WEc0Z0lIWmhjaUJ1ZVNBOUlHTXVjbVZrVFhWc0tIUm9hWE11ZUM1eVpXUlRkV0lvYm5ncEtTNXlaV1JKVTNWaUtIUm9hWE11ZVNrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbkJ2YVc1MEtHNTRMQ0J1ZVNrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WjJWMFdDQTlJR1oxYm1OMGFXOXVJR2RsZEZnb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsekxuZ3Vabkp2YlZKbFpDZ3BPMXh1ZlR0Y2JseHVVRzlwYm5RdWNISnZkRzkwZVhCbExtZGxkRmtnUFNCbWRXNWpkR2x2YmlCblpYUlpLQ2tnZTF4dUlDQnlaWFIxY200Z2RHaHBjeTU1TG1aeWIyMVNaV1FvS1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzV0ZFd3Z1BTQm1kVzVqZEdsdmJpQnRkV3dvYXlrZ2UxeHVJQ0JySUQwZ2JtVjNJRUpPS0dzc0lERTJLVHRjYmlBZ2FXWWdLSFJvYVhNdWFYTkpibVpwYm1sMGVTZ3BLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCbGJITmxJR2xtSUNoMGFHbHpMbDlvWVhORWIzVmliR1Z6S0dzcEtWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTGw5bWFYaGxaRTVoWmsxMWJDaDBhR2x6TENCcktUdGNiaUFnWld4elpTQnBaaUFvZEdocGN5NWpkWEoyWlM1bGJtUnZLVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOWxibVJ2VjI1aFprMTFiRUZrWkNoYklIUm9hWE1nWFN3Z1d5QnJJRjBwTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVYM2R1WVdaTmRXd29kR2hwY3l3Z2F5azdYRzU5TzF4dVhHNVFiMmx1ZEM1d2NtOTBiM1I1Y0dVdWJYVnNRV1JrSUQwZ1puVnVZM1JwYjI0Z2JYVnNRV1JrS0dzeExDQndNaXdnYXpJcElIdGNiaUFnZG1GeUlIQnZhVzUwY3lBOUlGc2dkR2hwY3l3Z2NESWdYVHRjYmlBZ2RtRnlJR052WldabWN5QTlJRnNnYXpFc0lHc3lJRjA3WEc0Z0lHbG1JQ2gwYUdsekxtTjFjblpsTG1WdVpHOHBYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZM1Z5ZG1VdVgyVnVaRzlYYm1GbVRYVnNRV1JrS0hCdmFXNTBjeXdnWTI5bFptWnpLVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExsOTNibUZtVFhWc1FXUmtLREVzSUhCdmFXNTBjeXdnWTI5bFptWnpMQ0F5S1R0Y2JuMDdYRzVjYmxCdmFXNTBMbkJ5YjNSdmRIbHdaUzVxYlhWc1FXUmtJRDBnWm5WdVkzUnBiMjRnYW0xMWJFRmtaQ2hyTVN3Z2NESXNJR3N5S1NCN1hHNGdJSFpoY2lCd2IybHVkSE1nUFNCYklIUm9hWE1zSUhBeUlGMDdYRzRnSUhaaGNpQmpiMlZtWm5NZ1BTQmJJR3N4TENCck1pQmRPMXh1SUNCcFppQW9kR2hwY3k1amRYSjJaUzVsYm1SdktWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTGw5bGJtUnZWMjVoWmsxMWJFRmtaQ2h3YjJsdWRITXNJR052WldabWN5d2dkSEoxWlNrN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzVmZDI1aFprMTFiRUZrWkNneExDQndiMmx1ZEhNc0lHTnZaV1ptY3l3Z01pd2dkSEoxWlNrN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU2h3S1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6SUQwOVBTQndJSHg4WEc0Z0lDQWdJQ0FnSUNCMGFHbHpMbWx1WmlBOVBUMGdjQzVwYm1ZZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBb2RHaHBjeTVwYm1ZZ2ZId2dkR2hwY3k1NExtTnRjQ2h3TG5ncElEMDlQU0F3SUNZbUlIUm9hWE11ZVM1amJYQW9jQzU1S1NBOVBUMGdNQ2s3WEc1OU8xeHVYRzVRYjJsdWRDNXdjbTkwYjNSNWNHVXVibVZuSUQwZ1puVnVZM1JwYjI0Z2JtVm5LRjl3Y21WamIyMXdkWFJsS1NCN1hHNGdJR2xtSUNoMGFHbHpMbWx1WmlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JseHVJQ0IyWVhJZ2NtVnpJRDBnZEdocGN5NWpkWEoyWlM1d2IybHVkQ2gwYUdsekxuZ3NJSFJvYVhNdWVTNXlaV1JPWldjb0tTazdYRzRnSUdsbUlDaGZjSEpsWTI5dGNIVjBaU0FtSmlCMGFHbHpMbkJ5WldOdmJYQjFkR1ZrS1NCN1hHNGdJQ0FnZG1GeUlIQnlaU0E5SUhSb2FYTXVjSEpsWTI5dGNIVjBaV1E3WEc0Z0lDQWdkbUZ5SUc1bFoyRjBaU0E5SUdaMWJtTjBhVzl1S0hBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCd0xtNWxaeWdwTzF4dUlDQWdJSDA3WEc0Z0lDQWdjbVZ6TG5CeVpXTnZiWEIxZEdWa0lEMGdlMXh1SUNBZ0lDQWdibUZtT2lCd2NtVXVibUZtSUNZbUlIdGNiaUFnSUNBZ0lDQWdkMjVrT2lCd2NtVXVibUZtTG5kdVpDeGNiaUFnSUNBZ0lDQWdjRzlwYm5Sek9pQndjbVV1Ym1GbUxuQnZhVzUwY3k1dFlYQW9ibVZuWVhSbEtWeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHUnZkV0pzWlhNNklIQnlaUzVrYjNWaWJHVnpJQ1ltSUh0Y2JpQWdJQ0FnSUNBZ2MzUmxjRG9nY0hKbExtUnZkV0pzWlhNdWMzUmxjQ3hjYmlBZ0lDQWdJQ0FnY0c5cGJuUnpPaUJ3Y21VdVpHOTFZbXhsY3k1d2IybHVkSE11YldGd0tHNWxaMkYwWlNsY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5TzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1WEc1UWIybHVkQzV3Y205MGIzUjVjR1V1ZEc5S0lEMGdablZ1WTNScGIyNGdkRzlLS0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVwYm1ZcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1YW5CdmFXNTBLRzUxYkd3c0lHNTFiR3dzSUc1MWJHd3BPMXh1WEc0Z0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TG1OMWNuWmxMbXB3YjJsdWRDaDBhR2x6TG5nc0lIUm9hWE11ZVN3Z2RHaHBjeTVqZFhKMlpTNXZibVVwTzF4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdTbEJ2YVc1MEtHTjFjblpsTENCNExDQjVMQ0I2S1NCN1hHNGdJRUpoYzJVdVFtRnpaVkJ2YVc1MExtTmhiR3dvZEdocGN5d2dZM1Z5ZG1Vc0lDZHFZV052WW1saGJpY3BPMXh1SUNCcFppQW9lQ0E5UFQwZ2JuVnNiQ0FtSmlCNUlEMDlQU0J1ZFd4c0lDWW1JSG9nUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0IwYUdsekxtTjFjblpsTG05dVpUdGNiaUFnSUNCMGFHbHpMbmtnUFNCMGFHbHpMbU4xY25abExtOXVaVHRjYmlBZ0lDQjBhR2x6TG5vZ1BTQnVaWGNnUWs0b01DazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkR2hwY3k1NElEMGdibVYzSUVKT0tIZ3NJREUyS1R0Y2JpQWdJQ0IwYUdsekxua2dQU0J1WlhjZ1FrNG9lU3dnTVRZcE8xeHVJQ0FnSUhSb2FYTXVlaUE5SUc1bGR5QkNUaWg2TENBeE5pazdYRzRnSUgxY2JpQWdhV1lnS0NGMGFHbHpMbmd1Y21Wa0tWeHVJQ0FnSUhSb2FYTXVlQ0E5SUhSb2FYTXVlQzUwYjFKbFpDaDBhR2x6TG1OMWNuWmxMbkpsWkNrN1hHNGdJR2xtSUNnaGRHaHBjeTU1TG5KbFpDbGNiaUFnSUNCMGFHbHpMbmtnUFNCMGFHbHpMbmt1ZEc5U1pXUW9kR2hwY3k1amRYSjJaUzV5WldRcE8xeHVJQ0JwWmlBb0lYUm9hWE11ZWk1eVpXUXBYRzRnSUNBZ2RHaHBjeTU2SUQwZ2RHaHBjeTU2TG5SdlVtVmtLSFJvYVhNdVkzVnlkbVV1Y21Wa0tUdGNibHh1SUNCMGFHbHpMbnBQYm1VZ1BTQjBhR2x6TG5vZ1BUMDlJSFJvYVhNdVkzVnlkbVV1YjI1bE8xeHVmVnh1YVc1b1pYSnBkSE1vU2xCdmFXNTBMQ0JDWVhObExrSmhjMlZRYjJsdWRDazdYRzVjYmxOb2IzSjBRM1Z5ZG1VdWNISnZkRzkwZVhCbExtcHdiMmx1ZENBOUlHWjFibU4wYVc5dUlHcHdiMmx1ZENoNExDQjVMQ0I2S1NCN1hHNGdJSEpsZEhWeWJpQnVaWGNnU2xCdmFXNTBLSFJvYVhNc0lIZ3NJSGtzSUhvcE8xeHVmVHRjYmx4dVNsQnZhVzUwTG5CeWIzUnZkSGx3WlM1MGIxQWdQU0JtZFc1amRHbHZiaUIwYjFBb0tTQjdYRzRnSUdsbUlDaDBhR2x6TG1selNXNW1hVzVwZEhrb0tTbGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1d2IybHVkQ2h1ZFd4c0xDQnVkV3hzS1R0Y2JseHVJQ0IyWVhJZ2VtbHVkaUE5SUhSb2FYTXVlaTV5WldSSmJuWnRLQ2s3WEc0Z0lIWmhjaUI2YVc1Mk1pQTlJSHBwYm5ZdWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCaGVDQTlJSFJvYVhNdWVDNXlaV1JOZFd3b2VtbHVkaklwTzF4dUlDQjJZWElnWVhrZ1BTQjBhR2x6TG5rdWNtVmtUWFZzS0hwcGJuWXlLUzV5WldSTmRXd29lbWx1ZGlrN1hHNWNiaUFnY21WMGRYSnVJSFJvYVhNdVkzVnlkbVV1Y0c5cGJuUW9ZWGdzSUdGNUtUdGNibjA3WEc1Y2JrcFFiMmx1ZEM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbktDa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1cWNHOXBiblFvZEdocGN5NTRMQ0IwYUdsekxua3VjbVZrVG1WbktDa3NJSFJvYVhNdWVpazdYRzU5TzF4dVhHNUtVRzlwYm5RdWNISnZkRzkwZVhCbExtRmtaQ0E5SUdaMWJtTjBhVzl1SUdGa1pDaHdLU0I3WEc0Z0lDOHZJRThnS3lCUUlEMGdVRnh1SUNCcFppQW9kR2hwY3k1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUhBN1hHNWNiaUFnTHk4Z1VDQXJJRThnUFNCUVhHNGdJR2xtSUNod0xtbHpTVzVtYVc1cGRIa29LU2xjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmx4dUlDQXZMeUF4TWswZ0t5QTBVeUFySURkQlhHNGdJSFpoY2lCd2VqSWdQU0J3TG5vdWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCNk1pQTlJSFJvYVhNdWVpNXlaV1JUY1hJb0tUdGNiaUFnZG1GeUlIVXhJRDBnZEdocGN5NTRMbkpsWkUxMWJDaHdlaklwTzF4dUlDQjJZWElnZFRJZ1BTQndMbmd1Y21Wa1RYVnNLSG95S1R0Y2JpQWdkbUZ5SUhNeElEMGdkR2hwY3k1NUxuSmxaRTExYkNod2VqSXVjbVZrVFhWc0tIQXVlaWtwTzF4dUlDQjJZWElnY3pJZ1BTQndMbmt1Y21Wa1RYVnNLSG95TG5KbFpFMTFiQ2gwYUdsekxub3BLVHRjYmx4dUlDQjJZWElnYUNBOUlIVXhMbkpsWkZOMVlpaDFNaWs3WEc0Z0lIWmhjaUJ5SUQwZ2N6RXVjbVZrVTNWaUtITXlLVHRjYmlBZ2FXWWdLR2d1WTIxd2JpZ3dLU0E5UFQwZ01Da2dlMXh1SUNBZ0lHbG1JQ2h5TG1OdGNHNG9NQ2tnSVQwOUlEQXBYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVqZFhKMlpTNXFjRzlwYm5Rb2JuVnNiQ3dnYm5Wc2JDd2diblZzYkNrN1hHNGdJQ0FnWld4elpWeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR0pzS0NrN1hHNGdJSDFjYmx4dUlDQjJZWElnYURJZ1BTQm9MbkpsWkZOeGNpZ3BPMXh1SUNCMllYSWdhRE1nUFNCb01pNXlaV1JOZFd3b2FDazdYRzRnSUhaaGNpQjJJRDBnZFRFdWNtVmtUWFZzS0dneUtUdGNibHh1SUNCMllYSWdibmdnUFNCeUxuSmxaRk54Y2lncExuSmxaRWxCWkdRb2FETXBMbkpsWkVsVGRXSW9kaWt1Y21Wa1NWTjFZaWgyS1R0Y2JpQWdkbUZ5SUc1NUlEMGdjaTV5WldSTmRXd29kaTV5WldSSlUzVmlLRzU0S1NrdWNtVmtTVk4xWWloek1TNXlaV1JOZFd3b2FETXBLVHRjYmlBZ2RtRnlJRzU2SUQwZ2RHaHBjeTU2TG5KbFpFMTFiQ2h3TG5vcExuSmxaRTExYkNob0tUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1cWNHOXBiblFvYm5nc0lHNTVMQ0J1ZWlrN1hHNTlPMXh1WEc1S1VHOXBiblF1Y0hKdmRHOTBlWEJsTG0xcGVHVmtRV1JrSUQwZ1puVnVZM1JwYjI0Z2JXbDRaV1JCWkdRb2NDa2dlMXh1SUNBdkx5QlBJQ3NnVUNBOUlGQmNiaUFnYVdZZ0tIUm9hWE11YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUhKbGRIVnliaUJ3TG5SdlNpZ3BPMXh1WEc0Z0lDOHZJRkFnS3lCUElEMGdVRnh1SUNCcFppQW9jQzVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnTHk4Z09FMGdLeUF6VXlBcklEZEJYRzRnSUhaaGNpQjZNaUE5SUhSb2FYTXVlaTV5WldSVGNYSW9LVHRjYmlBZ2RtRnlJSFV4SUQwZ2RHaHBjeTU0TzF4dUlDQjJZWElnZFRJZ1BTQndMbmd1Y21Wa1RYVnNLSG95S1R0Y2JpQWdkbUZ5SUhNeElEMGdkR2hwY3k1NU8xeHVJQ0IyWVhJZ2N6SWdQU0J3TG5rdWNtVmtUWFZzS0hveUtTNXlaV1JOZFd3b2RHaHBjeTU2S1R0Y2JseHVJQ0IyWVhJZ2FDQTlJSFV4TG5KbFpGTjFZaWgxTWlrN1hHNGdJSFpoY2lCeUlEMGdjekV1Y21Wa1UzVmlLSE15S1R0Y2JpQWdhV1lnS0dndVkyMXdiaWd3S1NBOVBUMGdNQ2tnZTF4dUlDQWdJR2xtSUNoeUxtTnRjRzRvTUNrZ0lUMDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzVxY0c5cGJuUW9iblZzYkN3Z2JuVnNiQ3dnYm5Wc2JDazdYRzRnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WkdKc0tDazdYRzRnSUgxY2JseHVJQ0IyWVhJZ2FESWdQU0JvTG5KbFpGTnhjaWdwTzF4dUlDQjJZWElnYURNZ1BTQm9NaTV5WldSTmRXd29hQ2s3WEc0Z0lIWmhjaUIySUQwZ2RURXVjbVZrVFhWc0tHZ3lLVHRjYmx4dUlDQjJZWElnYm5nZ1BTQnlMbkpsWkZOeGNpZ3BMbkpsWkVsQlpHUW9hRE1wTG5KbFpFbFRkV0lvZGlrdWNtVmtTVk4xWWloMktUdGNiaUFnZG1GeUlHNTVJRDBnY2k1eVpXUk5kV3dvZGk1eVpXUkpVM1ZpS0c1NEtTa3VjbVZrU1ZOMVlpaHpNUzV5WldSTmRXd29hRE1wS1R0Y2JpQWdkbUZ5SUc1NklEMGdkR2hwY3k1NkxuSmxaRTExYkNob0tUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN5NWpkWEoyWlM1cWNHOXBiblFvYm5nc0lHNTVMQ0J1ZWlrN1hHNTlPMXh1WEc1S1VHOXBiblF1Y0hKdmRHOTBlWEJsTG1SaWJIQWdQU0JtZFc1amRHbHZiaUJrWW14d0tIQnZkeWtnZTF4dUlDQnBaaUFvY0c5M0lEMDlQU0F3S1Z4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQnBaaUFvZEdocGN5NXBjMGx1Wm1sdWFYUjVLQ2twWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lHbG1JQ2doY0c5M0tWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtUmliQ2dwTzF4dVhHNGdJR2xtSUNoMGFHbHpMbU4xY25abExucGxjbTlCSUh4OElIUm9hWE11WTNWeWRtVXVkR2h5WldWQktTQjdYRzRnSUNBZ2RtRnlJSElnUFNCMGFHbHpPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djRzkzT3lCcEt5c3BYRzRnSUNBZ0lDQnlJRDBnY2k1a1ltd29LVHRjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlZ4dVhHNGdJQzh2SURGTklDc2dNbE1nS3lBeFFTQXJJRTRnS2lBb05GTWdLeUExVFNBcklEaEJLVnh1SUNBdkx5Qk9JRDBnTVNBOVBpQTJUU0FySURaVElDc2dPVUZjYmlBZ2RtRnlJR0VnUFNCMGFHbHpMbU4xY25abExtRTdYRzRnSUhaaGNpQjBhVzUySUQwZ2RHaHBjeTVqZFhKMlpTNTBhVzUyTzF4dVhHNGdJSFpoY2lCcWVDQTlJSFJvYVhNdWVEdGNiaUFnZG1GeUlHcDVJRDBnZEdocGN5NTVPMXh1SUNCMllYSWdhbm9nUFNCMGFHbHpMbm83WEc0Z0lIWmhjaUJxZWpRZ1BTQnFlaTV5WldSVGNYSW9LUzV5WldSVGNYSW9LVHRjYmx4dUlDQXZMeUJTWlhWelpTQnlaWE4xYkhSelhHNGdJSFpoY2lCcWVXUWdQU0JxZVM1eVpXUkJaR1FvYW5rcE8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhCdmR6c2dhU3NyS1NCN1hHNGdJQ0FnZG1GeUlHcDRNaUE5SUdwNExuSmxaRk54Y2lncE8xeHVJQ0FnSUhaaGNpQnFlV1F5SUQwZ2FubGtMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lIWmhjaUJxZVdRMElEMGdhbmxrTWk1eVpXUlRjWElvS1R0Y2JpQWdJQ0IyWVhJZ1l5QTlJR3A0TWk1eVpXUkJaR1FvYW5neUtTNXlaV1JKUVdSa0tHcDRNaWt1Y21Wa1NVRmtaQ2hoTG5KbFpFMTFiQ2hxZWpRcEtUdGNibHh1SUNBZ0lIWmhjaUIwTVNBOUlHcDRMbkpsWkUxMWJDaHFlV1F5S1R0Y2JpQWdJQ0IyWVhJZ2JuZ2dQU0JqTG5KbFpGTnhjaWdwTG5KbFpFbFRkV0lvZERFdWNtVmtRV1JrS0hReEtTazdYRzRnSUNBZ2RtRnlJSFF5SUQwZ2RERXVjbVZrU1ZOMVlpaHVlQ2s3WEc0Z0lDQWdkbUZ5SUdSdWVTQTlJR011Y21Wa1RYVnNLSFF5S1R0Y2JpQWdJQ0JrYm5rZ1BTQmtibmt1Y21Wa1NVRmtaQ2hrYm5rcExuSmxaRWxUZFdJb2FubGtOQ2s3WEc0Z0lDQWdkbUZ5SUc1NklEMGdhbmxrTG5KbFpFMTFiQ2hxZWlrN1hHNGdJQ0FnYVdZZ0tHa2dLeUF4SUR3Z2NHOTNLVnh1SUNBZ0lDQWdhbm8wSUQwZ2FubzBMbkpsWkUxMWJDaHFlV1EwS1R0Y2JseHVJQ0FnSUdwNElEMGdibmc3WEc0Z0lDQWdhbm9nUFNCdWVqdGNiaUFnSUNCcWVXUWdQU0JrYm5rN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RHaHBjeTVqZFhKMlpTNXFjRzlwYm5Rb2FuZ3NJR3A1WkM1eVpXUk5kV3dvZEdsdWRpa3NJR3A2S1R0Y2JuMDdYRzVjYmtwUWIybHVkQzV3Y205MGIzUjVjR1V1WkdKc0lEMGdablZ1WTNScGIyNGdaR0pzS0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVwYzBsdVptbHVhWFI1S0NrcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNWNiaUFnYVdZZ0tIUm9hWE11WTNWeWRtVXVlbVZ5YjBFcFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzcGxjbTlFWW13b0tUdGNiaUFnWld4elpTQnBaaUFvZEdocGN5NWpkWEoyWlM1MGFISmxaVUVwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNSb2NtVmxSR0pzS0NrN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHSnNLQ2s3WEc1OU8xeHVYRzVLVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDk2WlhKdlJHSnNJRDBnWm5WdVkzUnBiMjRnWDNwbGNtOUVZbXdvS1NCN1hHNGdJSFpoY2lCdWVEdGNiaUFnZG1GeUlHNTVPMXh1SUNCMllYSWdibm83WEc0Z0lDOHZJRm9nUFNBeFhHNGdJR2xtSUNoMGFHbHpMbnBQYm1VcElIdGNiaUFnSUNBdkx5Qm9lWEJsY21Wc2JHbHdkR2xqTG05eVp5OUZSa1F2WnpGd0wyRjFkRzh0YzJodmNuUjNMV3BoWTI5aWFXRnVMVEF1YUhSdGJGeHVJQ0FnSUM4dklDQWdJQ0FqWkc5MVlteHBibWN0YldSaWJDMHlNREEzTFdKc1hHNGdJQ0FnTHk4Z01VMGdLeUExVXlBcklERTBRVnh1WEc0Z0lDQWdMeThnV0ZnZ1BTQllNVjR5WEc0Z0lDQWdkbUZ5SUhoNElEMGdkR2hwY3k1NExuSmxaRk54Y2lncE8xeHVJQ0FnSUM4dklGbFpJRDBnV1RGZU1seHVJQ0FnSUhaaGNpQjVlU0E5SUhSb2FYTXVlUzV5WldSVGNYSW9LVHRjYmlBZ0lDQXZMeUJaV1ZsWklEMGdXVmxlTWx4dUlDQWdJSFpoY2lCNWVYbDVJRDBnZVhrdWNtVmtVM0Z5S0NrN1hHNGdJQ0FnTHk4Z1V5QTlJRElnS2lBb0tGZ3hJQ3NnV1ZrcFhqSWdMU0JZV0NBdElGbFpXVmtwWEc0Z0lDQWdkbUZ5SUhNZ1BTQjBhR2x6TG5ndWNtVmtRV1JrS0hsNUtTNXlaV1JUY1hJb0tTNXlaV1JKVTNWaUtIaDRLUzV5WldSSlUzVmlLSGw1ZVhrcE8xeHVJQ0FnSUhNZ1BTQnpMbkpsWkVsQlpHUW9jeWs3WEc0Z0lDQWdMeThnVFNBOUlETWdLaUJZV0NBcklHRTdJR0VnUFNBd1hHNGdJQ0FnZG1GeUlHMGdQU0I0ZUM1eVpXUkJaR1FvZUhncExuSmxaRWxCWkdRb2VIZ3BPMXh1SUNBZ0lDOHZJRlFnUFNCTklGNGdNaUF0SURJcVUxeHVJQ0FnSUhaaGNpQjBJRDBnYlM1eVpXUlRjWElvS1M1eVpXUkpVM1ZpS0hNcExuSmxaRWxUZFdJb2N5azdYRzVjYmlBZ0lDQXZMeUE0SUNvZ1dWbFpXVnh1SUNBZ0lIWmhjaUI1ZVhsNU9DQTlJSGw1ZVhrdWNtVmtTVUZrWkNoNWVYbDVLVHRjYmlBZ0lDQjVlWGw1T0NBOUlIbDVlWGs0TG5KbFpFbEJaR1FvZVhsNWVUZ3BPMXh1SUNBZ0lIbDVlWGs0SUQwZ2VYbDVlVGd1Y21Wa1NVRmtaQ2g1ZVhsNU9DazdYRzVjYmlBZ0lDQXZMeUJZTXlBOUlGUmNiaUFnSUNCdWVDQTlJSFE3WEc0Z0lDQWdMeThnV1RNZ1BTQk5JQ29nS0ZNZ0xTQlVLU0F0SURnZ0tpQlpXVmxaWEc0Z0lDQWdibmtnUFNCdExuSmxaRTExYkNoekxuSmxaRWxUZFdJb2RDa3BMbkpsWkVsVGRXSW9lWGw1ZVRncE8xeHVJQ0FnSUM4dklGb3pJRDBnTWlwWk1WeHVJQ0FnSUc1NklEMGdkR2hwY3k1NUxuSmxaRUZrWkNoMGFHbHpMbmtwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklHaDVjR1Z5Wld4c2FYQjBhV011YjNKbkwwVkdSQzluTVhBdllYVjBieTF6YUc5eWRIY3RhbUZqYjJKcFlXNHRNQzVvZEcxc1hHNGdJQ0FnTHk4Z0lDQWdJQ05rYjNWaWJHbHVaeTFrWW13dE1qQXdPUzFzWEc0Z0lDQWdMeThnTWswZ0t5QTFVeUFySURFelFWeHVYRzRnSUNBZ0x5OGdRU0E5SUZneFhqSmNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTXVlQzV5WldSVGNYSW9LVHRjYmlBZ0lDQXZMeUJDSUQwZ1dURmVNbHh1SUNBZ0lIWmhjaUJpSUQwZ2RHaHBjeTU1TG5KbFpGTnhjaWdwTzF4dUlDQWdJQzh2SUVNZ1BTQkNYakpjYmlBZ0lDQjJZWElnWXlBOUlHSXVjbVZrVTNGeUtDazdYRzRnSUNBZ0x5OGdSQ0E5SURJZ0tpQW9LRmd4SUNzZ1FpbGVNaUF0SUVFZ0xTQkRLVnh1SUNBZ0lIWmhjaUJrSUQwZ2RHaHBjeTU0TG5KbFpFRmtaQ2hpS1M1eVpXUlRjWElvS1M1eVpXUkpVM1ZpS0dFcExuSmxaRWxUZFdJb1l5azdYRzRnSUNBZ1pDQTlJR1F1Y21Wa1NVRmtaQ2hrS1R0Y2JpQWdJQ0F2THlCRklEMGdNeUFxSUVGY2JpQWdJQ0IyWVhJZ1pTQTlJR0V1Y21Wa1FXUmtLR0VwTG5KbFpFbEJaR1FvWVNrN1hHNGdJQ0FnTHk4Z1JpQTlJRVZlTWx4dUlDQWdJSFpoY2lCbUlEMGdaUzV5WldSVGNYSW9LVHRjYmx4dUlDQWdJQzh2SURnZ0tpQkRYRzRnSUNBZ2RtRnlJR000SUQwZ1l5NXlaV1JKUVdSa0tHTXBPMXh1SUNBZ0lHTTRJRDBnWXpndWNtVmtTVUZrWkNoak9DazdYRzRnSUNBZ1l6Z2dQU0JqT0M1eVpXUkpRV1JrS0dNNEtUdGNibHh1SUNBZ0lDOHZJRmd6SUQwZ1JpQXRJRElnS2lCRVhHNGdJQ0FnYm5nZ1BTQm1MbkpsWkVsVGRXSW9aQ2t1Y21Wa1NWTjFZaWhrS1R0Y2JpQWdJQ0F2THlCWk15QTlJRVVnS2lBb1JDQXRJRmd6S1NBdElEZ2dLaUJEWEc0Z0lDQWdibmtnUFNCbExuSmxaRTExYkNoa0xuSmxaRWxUZFdJb2JuZ3BLUzV5WldSSlUzVmlLR000S1R0Y2JpQWdJQ0F2THlCYU15QTlJRElnS2lCWk1TQXFJRm94WEc0Z0lDQWdibm9nUFNCMGFHbHpMbmt1Y21Wa1RYVnNLSFJvYVhNdWVpazdYRzRnSUNBZ2Jub2dQU0J1ZWk1eVpXUkpRV1JrS0c1NktUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbXB3YjJsdWRDaHVlQ3dnYm5rc0lHNTZLVHRjYm4wN1hHNWNia3BRYjJsdWRDNXdjbTkwYjNSNWNHVXVYM1JvY21WbFJHSnNJRDBnWm5WdVkzUnBiMjRnWDNSb2NtVmxSR0pzS0NrZ2UxeHVJQ0IyWVhJZ2JuZzdYRzRnSUhaaGNpQnVlVHRjYmlBZ2RtRnlJRzU2TzF4dUlDQXZMeUJhSUQwZ01WeHVJQ0JwWmlBb2RHaHBjeTU2VDI1bEtTQjdYRzRnSUNBZ0x5OGdhSGx3WlhKbGJHeHBjSFJwWXk1dmNtY3ZSVVpFTDJjeGNDOWhkWFJ2TFhOb2IzSjBkeTFxWVdOdlltbGhiaTB6TG1oMGJXeGNiaUFnSUNBdkx5QWdJQ0FnSTJSdmRXSnNhVzVuTFcxa1ltd3RNakF3TnkxaWJGeHVJQ0FnSUM4dklERk5JQ3NnTlZNZ0t5QXhOVUZjYmx4dUlDQWdJQzh2SUZoWUlEMGdXREZlTWx4dUlDQWdJSFpoY2lCNGVDQTlJSFJvYVhNdWVDNXlaV1JUY1hJb0tUdGNiaUFnSUNBdkx5QlpXU0E5SUZreFhqSmNiaUFnSUNCMllYSWdlWGtnUFNCMGFHbHpMbmt1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdMeThnV1ZsWldTQTlJRmxaWGpKY2JpQWdJQ0IyWVhJZ2VYbDVlU0E5SUhsNUxuSmxaRk54Y2lncE8xeHVJQ0FnSUM4dklGTWdQU0F5SUNvZ0tDaFlNU0FySUZsWktWNHlJQzBnV0ZnZ0xTQlpXVmxaS1Z4dUlDQWdJSFpoY2lCeklEMGdkR2hwY3k1NExuSmxaRUZrWkNoNWVTa3VjbVZrVTNGeUtDa3VjbVZrU1ZOMVlpaDRlQ2t1Y21Wa1NWTjFZaWg1ZVhsNUtUdGNiaUFnSUNCeklEMGdjeTV5WldSSlFXUmtLSE1wTzF4dUlDQWdJQzh2SUUwZ1BTQXpJQ29nV0ZnZ0t5QmhYRzRnSUNBZ2RtRnlJRzBnUFNCNGVDNXlaV1JCWkdRb2VIZ3BMbkpsWkVsQlpHUW9lSGdwTG5KbFpFbEJaR1FvZEdocGN5NWpkWEoyWlM1aEtUdGNiaUFnSUNBdkx5QlVJRDBnVFY0eUlDMGdNaUFxSUZOY2JpQWdJQ0IyWVhJZ2RDQTlJRzB1Y21Wa1UzRnlLQ2t1Y21Wa1NWTjFZaWh6S1M1eVpXUkpVM1ZpS0hNcE8xeHVJQ0FnSUM4dklGZ3pJRDBnVkZ4dUlDQWdJRzU0SUQwZ2REdGNiaUFnSUNBdkx5QlpNeUE5SUUwZ0tpQW9VeUF0SUZRcElDMGdPQ0FxSUZsWldWbGNiaUFnSUNCMllYSWdlWGw1ZVRnZ1BTQjVlWGw1TG5KbFpFbEJaR1FvZVhsNWVTazdYRzRnSUNBZ2VYbDVlVGdnUFNCNWVYbDVPQzV5WldSSlFXUmtLSGw1ZVhrNEtUdGNiaUFnSUNCNWVYbDVPQ0E5SUhsNWVYazRMbkpsWkVsQlpHUW9lWGw1ZVRncE8xeHVJQ0FnSUc1NUlEMGdiUzV5WldSTmRXd29jeTV5WldSSlUzVmlLSFFwS1M1eVpXUkpVM1ZpS0hsNWVYazRLVHRjYmlBZ0lDQXZMeUJhTXlBOUlESWdLaUJaTVZ4dUlDQWdJRzU2SUQwZ2RHaHBjeTU1TG5KbFpFRmtaQ2gwYUdsekxua3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUdoNWNHVnlaV3hzYVhCMGFXTXViM0puTDBWR1JDOW5NWEF2WVhWMGJ5MXphRzl5ZEhjdGFtRmpiMkpwWVc0dE15NW9kRzFzSTJSdmRXSnNhVzVuTFdSaWJDMHlNREF4TFdKY2JpQWdJQ0F2THlBelRTQXJJRFZUWEc1Y2JpQWdJQ0F2THlCa1pXeDBZU0E5SUZveFhqSmNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQjBhR2x6TG5vdWNtVmtVM0Z5S0NrN1hHNGdJQ0FnTHk4Z1oyRnRiV0VnUFNCWk1WNHlYRzRnSUNBZ2RtRnlJR2RoYlcxaElEMGdkR2hwY3k1NUxuSmxaRk54Y2lncE8xeHVJQ0FnSUM4dklHSmxkR0VnUFNCWU1TQXFJR2RoYlcxaFhHNGdJQ0FnZG1GeUlHSmxkR0VnUFNCMGFHbHpMbmd1Y21Wa1RYVnNLR2RoYlcxaEtUdGNiaUFnSUNBdkx5QmhiSEJvWVNBOUlETWdLaUFvV0RFZ0xTQmtaV3gwWVNrZ0tpQW9XREVnS3lCa1pXeDBZU2xjYmlBZ0lDQjJZWElnWVd4d2FHRWdQU0IwYUdsekxuZ3VjbVZrVTNWaUtHUmxiSFJoS1M1eVpXUk5kV3dvZEdocGN5NTRMbkpsWkVGa1pDaGtaV3gwWVNrcE8xeHVJQ0FnSUdGc2NHaGhJRDBnWVd4d2FHRXVjbVZrUVdSa0tHRnNjR2hoS1M1eVpXUkpRV1JrS0dGc2NHaGhLVHRjYmlBZ0lDQXZMeUJZTXlBOUlHRnNjR2hoWGpJZ0xTQTRJQ29nWW1WMFlWeHVJQ0FnSUhaaGNpQmlaWFJoTkNBOUlHSmxkR0V1Y21Wa1NVRmtaQ2hpWlhSaEtUdGNiaUFnSUNCaVpYUmhOQ0E5SUdKbGRHRTBMbkpsWkVsQlpHUW9ZbVYwWVRRcE8xeHVJQ0FnSUhaaGNpQmlaWFJoT0NBOUlHSmxkR0UwTG5KbFpFRmtaQ2hpWlhSaE5DazdYRzRnSUNBZ2JuZ2dQU0JoYkhCb1lTNXlaV1JUY1hJb0tTNXlaV1JKVTNWaUtHSmxkR0U0S1R0Y2JpQWdJQ0F2THlCYU15QTlJQ2haTVNBcklGb3hLVjR5SUMwZ1oyRnRiV0VnTFNCa1pXeDBZVnh1SUNBZ0lHNTZJRDBnZEdocGN5NTVMbkpsWkVGa1pDaDBhR2x6TG5vcExuSmxaRk54Y2lncExuSmxaRWxUZFdJb1oyRnRiV0VwTG5KbFpFbFRkV0lvWkdWc2RHRXBPMXh1SUNBZ0lDOHZJRmt6SUQwZ1lXeHdhR0VnS2lBb05DQXFJR0psZEdFZ0xTQllNeWtnTFNBNElDb2daMkZ0YldGZU1seHVJQ0FnSUhaaGNpQm5aMkZ0YldFNElEMGdaMkZ0YldFdWNtVmtVM0Z5S0NrN1hHNGdJQ0FnWjJkaGJXMWhPQ0E5SUdkbllXMXRZVGd1Y21Wa1NVRmtaQ2huWjJGdGJXRTRLVHRjYmlBZ0lDQm5aMkZ0YldFNElEMGdaMmRoYlcxaE9DNXlaV1JKUVdSa0tHZG5ZVzF0WVRncE8xeHVJQ0FnSUdkbllXMXRZVGdnUFNCbloyRnRiV0U0TG5KbFpFbEJaR1FvWjJkaGJXMWhPQ2s3WEc0Z0lDQWdibmtnUFNCaGJIQm9ZUzV5WldSTmRXd29ZbVYwWVRRdWNtVmtTVk4xWWlodWVDa3BMbkpsWkVsVGRXSW9aMmRoYlcxaE9DazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkR2hwY3k1amRYSjJaUzVxY0c5cGJuUW9ibmdzSUc1NUxDQnVlaWs3WEc1OU8xeHVYRzVLVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbDlrWW13Z1BTQm1kVzVqZEdsdmJpQmZaR0pzS0NrZ2UxeHVJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkzVnlkbVV1WVR0Y2JseHVJQ0F2THlBMFRTQXJJRFpUSUNzZ01UQkJYRzRnSUhaaGNpQnFlQ0E5SUhSb2FYTXVlRHRjYmlBZ2RtRnlJR3A1SUQwZ2RHaHBjeTU1TzF4dUlDQjJZWElnYW5vZ1BTQjBhR2x6TG5vN1hHNGdJSFpoY2lCcWVqUWdQU0JxZWk1eVpXUlRjWElvS1M1eVpXUlRjWElvS1R0Y2JseHVJQ0IyWVhJZ2FuZ3lJRDBnYW5ndWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCcWVUSWdQU0JxZVM1eVpXUlRjWElvS1R0Y2JseHVJQ0IyWVhJZ1l5QTlJR3A0TWk1eVpXUkJaR1FvYW5neUtTNXlaV1JKUVdSa0tHcDRNaWt1Y21Wa1NVRmtaQ2hoTG5KbFpFMTFiQ2hxZWpRcEtUdGNibHh1SUNCMllYSWdhbmhrTkNBOUlHcDRMbkpsWkVGa1pDaHFlQ2s3WEc0Z0lHcDRaRFFnUFNCcWVHUTBMbkpsWkVsQlpHUW9hbmhrTkNrN1hHNGdJSFpoY2lCME1TQTlJR3A0WkRRdWNtVmtUWFZzS0dwNU1pazdYRzRnSUhaaGNpQnVlQ0E5SUdNdWNtVmtVM0Z5S0NrdWNtVmtTVk4xWWloME1TNXlaV1JCWkdRb2RERXBLVHRjYmlBZ2RtRnlJSFF5SUQwZ2RERXVjbVZrU1ZOMVlpaHVlQ2s3WEc1Y2JpQWdkbUZ5SUdwNVpEZ2dQU0JxZVRJdWNtVmtVM0Z5S0NrN1hHNGdJR3A1WkRnZ1BTQnFlV1E0TG5KbFpFbEJaR1FvYW5sa09DazdYRzRnSUdwNVpEZ2dQU0JxZVdRNExuSmxaRWxCWkdRb2FubGtPQ2s3WEc0Z0lHcDVaRGdnUFNCcWVXUTRMbkpsWkVsQlpHUW9hbmxrT0NrN1hHNGdJSFpoY2lCdWVTQTlJR011Y21Wa1RYVnNLSFF5S1M1eVpXUkpVM1ZpS0dwNVpEZ3BPMXh1SUNCMllYSWdibm9nUFNCcWVTNXlaV1JCWkdRb2Fua3BMbkpsWkUxMWJDaHFlaWs3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE11WTNWeWRtVXVhbkJ2YVc1MEtHNTRMQ0J1ZVN3Z2Jub3BPMXh1ZlR0Y2JseHVTbEJ2YVc1MExuQnliM1J2ZEhsd1pTNTBjbkJzSUQwZ1puVnVZM1JwYjI0Z2RISndiQ2dwSUh0Y2JpQWdhV1lnS0NGMGFHbHpMbU4xY25abExucGxjbTlCS1Z4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1SaWJDZ3BMbUZrWkNoMGFHbHpLVHRjYmx4dUlDQXZMeUJvZVhCbGNtVnNiR2x3ZEdsakxtOXlaeTlGUmtRdlp6RndMMkYxZEc4dGMyaHZjblIzTFdwaFkyOWlhV0Z1TFRBdWFIUnRiQ04wY21sd2JHbHVaeTEwY0d3dE1qQXdOeTFpYkZ4dUlDQXZMeUExVFNBcklERXdVeUFySUM0dUxseHVYRzRnSUM4dklGaFlJRDBnV0RGZU1seHVJQ0IyWVhJZ2VIZ2dQU0IwYUdsekxuZ3VjbVZrVTNGeUtDazdYRzRnSUM4dklGbFpJRDBnV1RGZU1seHVJQ0IyWVhJZ2VYa2dQU0IwYUdsekxua3VjbVZrVTNGeUtDazdYRzRnSUM4dklGcGFJRDBnV2pGZU1seHVJQ0IyWVhJZ2Vub2dQU0IwYUdsekxub3VjbVZrVTNGeUtDazdYRzRnSUM4dklGbFpXVmtnUFNCWldWNHlYRzRnSUhaaGNpQjVlWGw1SUQwZ2VYa3VjbVZrVTNGeUtDazdYRzRnSUM4dklFMGdQU0F6SUNvZ1dGZ2dLeUJoSUNvZ1dsb3lPeUJoSUQwZ01GeHVJQ0IyWVhJZ2JTQTlJSGg0TG5KbFpFRmtaQ2g0ZUNrdWNtVmtTVUZrWkNoNGVDazdYRzRnSUM4dklFMU5JRDBnVFY0eVhHNGdJSFpoY2lCdGJTQTlJRzB1Y21Wa1UzRnlLQ2s3WEc0Z0lDOHZJRVVnUFNBMklDb2dLQ2hZTVNBcklGbFpLVjR5SUMwZ1dGZ2dMU0JaV1ZsWktTQXRJRTFOWEc0Z0lIWmhjaUJsSUQwZ2RHaHBjeTU0TG5KbFpFRmtaQ2g1ZVNrdWNtVmtVM0Z5S0NrdWNtVmtTVk4xWWloNGVDa3VjbVZrU1ZOMVlpaDVlWGw1S1R0Y2JpQWdaU0E5SUdVdWNtVmtTVUZrWkNobEtUdGNiaUFnWlNBOUlHVXVjbVZrUVdSa0tHVXBMbkpsWkVsQlpHUW9aU2s3WEc0Z0lHVWdQU0JsTG5KbFpFbFRkV0lvYlcwcE8xeHVJQ0F2THlCRlJTQTlJRVZlTWx4dUlDQjJZWElnWldVZ1BTQmxMbkpsWkZOeGNpZ3BPMXh1SUNBdkx5QlVJRDBnTVRZcVdWbFpXVnh1SUNCMllYSWdkQ0E5SUhsNWVYa3VjbVZrU1VGa1pDaDVlWGw1S1R0Y2JpQWdkQ0E5SUhRdWNtVmtTVUZrWkNoMEtUdGNiaUFnZENBOUlIUXVjbVZrU1VGa1pDaDBLVHRjYmlBZ2RDQTlJSFF1Y21Wa1NVRmtaQ2gwS1R0Y2JpQWdMeThnVlNBOUlDaE5JQ3NnUlNsZU1pQXRJRTFOSUMwZ1JVVWdMU0JVWEc0Z0lIWmhjaUIxSUQwZ2JTNXlaV1JKUVdSa0tHVXBMbkpsWkZOeGNpZ3BMbkpsWkVsVGRXSW9iVzBwTG5KbFpFbFRkV0lvWldVcExuSmxaRWxUZFdJb2RDazdYRzRnSUM4dklGZ3pJRDBnTkNBcUlDaFlNU0FxSUVWRklDMGdOQ0FxSUZsWklDb2dWU2xjYmlBZ2RtRnlJSGw1ZFRRZ1BTQjVlUzV5WldSTmRXd29kU2s3WEc0Z0lIbDVkVFFnUFNCNWVYVTBMbkpsWkVsQlpHUW9lWGwxTkNrN1hHNGdJSGw1ZFRRZ1BTQjVlWFUwTG5KbFpFbEJaR1FvZVhsMU5DazdYRzRnSUhaaGNpQnVlQ0E5SUhSb2FYTXVlQzV5WldSTmRXd29aV1VwTG5KbFpFbFRkV0lvZVhsMU5DazdYRzRnSUc1NElEMGdibmd1Y21Wa1NVRmtaQ2h1ZUNrN1hHNGdJRzU0SUQwZ2JuZ3VjbVZrU1VGa1pDaHVlQ2s3WEc0Z0lDOHZJRmt6SUQwZ09DQXFJRmt4SUNvZ0tGVWdLaUFvVkNBdElGVXBJQzBnUlNBcUlFVkZLVnh1SUNCMllYSWdibmtnUFNCMGFHbHpMbmt1Y21Wa1RYVnNLSFV1Y21Wa1RYVnNLSFF1Y21Wa1NWTjFZaWgxS1NrdWNtVmtTVk4xWWlobExuSmxaRTExYkNobFpTa3BLVHRjYmlBZ2Jua2dQU0J1ZVM1eVpXUkpRV1JrS0c1NUtUdGNiaUFnYm5rZ1BTQnVlUzV5WldSSlFXUmtLRzU1S1R0Y2JpQWdibmtnUFNCdWVTNXlaV1JKUVdSa0tHNTVLVHRjYmlBZ0x5OGdXak1nUFNBb1dqRWdLeUJGS1Y0eUlDMGdXbG9nTFNCRlJWeHVJQ0IyWVhJZ2Jub2dQU0IwYUdsekxub3VjbVZrUVdSa0tHVXBMbkpsWkZOeGNpZ3BMbkpsWkVsVGRXSW9lbm9wTG5KbFpFbFRkV0lvWldVcE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsekxtTjFjblpsTG1wd2IybHVkQ2h1ZUN3Z2Jua3NJRzU2S1R0Y2JuMDdYRzVjYmtwUWIybHVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzS0dzc0lHdGlZWE5sS1NCN1hHNGdJR3NnUFNCdVpYY2dRazRvYXl3Z2EySmhjMlVwTzF4dVhHNGdJSEpsZEhWeWJpQjBhR2x6TG1OMWNuWmxMbDkzYm1GbVRYVnNLSFJvYVhNc0lHc3BPMXh1ZlR0Y2JseHVTbEJ2YVc1MExuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeEtIQXBJSHRjYmlBZ2FXWWdLSEF1ZEhsd1pTQTlQVDBnSjJGbVptbHVaU2NwWEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WlhFb2NDNTBiMG9vS1NrN1hHNWNiaUFnYVdZZ0tIUm9hWE1nUFQwOUlIQXBYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzVjYmlBZ0x5OGdlREVnS2lCNk1sNHlJRDA5SUhneUlDb2dlakZlTWx4dUlDQjJZWElnZWpJZ1BTQjBhR2x6TG5vdWNtVmtVM0Z5S0NrN1hHNGdJSFpoY2lCd2VqSWdQU0J3TG5vdWNtVmtVM0Z5S0NrN1hHNGdJR2xtSUNoMGFHbHpMbmd1Y21Wa1RYVnNLSEI2TWlrdWNtVmtTVk4xWWlod0xuZ3VjbVZrVFhWc0tIb3lLU2t1WTIxd2JpZ3dLU0FoUFQwZ01DbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdlVEVnS2lCNk1sNHpJRDA5SUhreUlDb2dlakZlTTF4dUlDQjJZWElnZWpNZ1BTQjZNaTV5WldSTmRXd29kR2hwY3k1NktUdGNiaUFnZG1GeUlIQjZNeUE5SUhCNk1pNXlaV1JOZFd3b2NDNTZLVHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVlUzV5WldSTmRXd29jSG96S1M1eVpXUkpVM1ZpS0hBdWVTNXlaV1JOZFd3b2VqTXBLUzVqYlhCdUtEQXBJRDA5UFNBd08xeHVmVHRjYmx4dVNsQnZhVzUwTG5CeWIzUnZkSGx3WlM1bGNWaFViMUFnUFNCbWRXNWpkR2x2YmlCbGNWaFViMUFvZUNrZ2UxeHVJQ0IyWVhJZ2VuTWdQU0IwYUdsekxub3VjbVZrVTNGeUtDazdYRzRnSUhaaGNpQnllQ0E5SUhndWRHOVNaV1FvZEdocGN5NWpkWEoyWlM1eVpXUXBMbkpsWkUxMWJDaDZjeWs3WEc0Z0lHbG1JQ2gwYUdsekxuZ3VZMjF3S0hKNEtTQTlQVDBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JseHVJQ0IyWVhJZ2VHTWdQU0I0TG1Oc2IyNWxLQ2s3WEc0Z0lIWmhjaUIwSUQwZ2RHaHBjeTVqZFhKMlpTNXlaV1JPTG5KbFpFMTFiQ2g2Y3lrN1hHNGdJR1p2Y2lBb096c3BJSHRjYmlBZ0lDQjRZeTVwWVdSa0tIUm9hWE11WTNWeWRtVXViaWs3WEc0Z0lDQWdhV1lnS0hoakxtTnRjQ2gwYUdsekxtTjFjblpsTG5BcElENDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNCeWVDNXlaV1JKUVdSa0tIUXBPMXh1SUNBZ0lHbG1JQ2gwYUdsekxuZ3VZMjF3S0hKNEtTQTlQVDBnTUNsY2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1OU8xeHVYRzVLVUc5cGJuUXVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBLQ2tnZTF4dUlDQnBaaUFvZEdocGN5NXBjMGx1Wm1sdWFYUjVLQ2twWEc0Z0lDQWdjbVYwZFhKdUlDYzhSVU1nU2xCdmFXNTBJRWx1Wm1sdWFYUjVQaWM3WEc0Z0lISmxkSFZ5YmlBblBFVkRJRXBRYjJsdWRDQjRPaUFuSUNzZ2RHaHBjeTU0TG5SdlUzUnlhVzVuS0RFMkxDQXlLU0FyWEc0Z0lDQWdJQ0FuSUhrNklDY2dLeUIwYUdsekxua3VkRzlUZEhKcGJtY29NVFlzSURJcElDdGNiaUFnSUNBZ0lDY2dlam9nSnlBcklIUm9hWE11ZWk1MGIxTjBjbWx1WnlneE5pd2dNaWtnS3lBblBpYzdYRzU5TzF4dVhHNUtVRzlwYm5RdWNISnZkRzkwZVhCbExtbHpTVzVtYVc1cGRIa2dQU0JtZFc1amRHbHZiaUJwYzBsdVptbHVhWFI1S0NrZ2UxeHVJQ0F2THlCWVdGZ2dWR2hwY3lCamIyUmxJR0Z6YzNWdFpYTWdkR2hoZENCNlpYSnZJR2x6SUdGc2QyRjVjeUI2WlhKdklHbHVJSEpsWkZ4dUlDQnlaWFIxY200Z2RHaHBjeTU2TG1OdGNHNG9NQ2tnUFQwOUlEQTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlL3Nob3J0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2N1cnZlcy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBjdXJ2ZXMgPSBleHBvcnRzO1xcblxcbnZhciBoYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1xcXCIpO1xcbnZhciBjdXJ2ZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY3VydmUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZS9pbmRleC5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy91dGlscy5qc1xcXCIpO1xcblxcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XFxuXFxuZnVuY3Rpb24gUHJlc2V0Q3VydmUob3B0aW9ucykge1xcbiAgaWYgKG9wdGlvbnMudHlwZSA9PT0gJ3Nob3J0JylcXG4gICAgdGhpcy5jdXJ2ZSA9IG5ldyBjdXJ2ZS5zaG9ydChvcHRpb25zKTtcXG4gIGVsc2UgaWYgKG9wdGlvbnMudHlwZSA9PT0gJ2Vkd2FyZHMnKVxcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLmVkd2FyZHMob3B0aW9ucyk7XFxuICBlbHNlXFxuICAgIHRoaXMuY3VydmUgPSBuZXcgY3VydmUubW9udChvcHRpb25zKTtcXG4gIHRoaXMuZyA9IHRoaXMuY3VydmUuZztcXG4gIHRoaXMubiA9IHRoaXMuY3VydmUubjtcXG4gIHRoaXMuaGFzaCA9IG9wdGlvbnMuaGFzaDtcXG5cXG4gIGFzc2VydCh0aGlzLmcudmFsaWRhdGUoKSwgJ0ludmFsaWQgY3VydmUnKTtcXG4gIGFzc2VydCh0aGlzLmcubXVsKHRoaXMubikuaXNJbmZpbml0eSgpLCAnSW52YWxpZCBjdXJ2ZSwgRypOICE9IE8nKTtcXG59XFxuY3VydmVzLlByZXNldEN1cnZlID0gUHJlc2V0Q3VydmU7XFxuXFxuZnVuY3Rpb24gZGVmaW5lQ3VydmUobmFtZSwgb3B0aW9ucykge1xcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGN1cnZlcywgbmFtZSwge1xcbiAgICBjb25maWd1cmFibGU6IHRydWUsXFxuICAgIGVudW1lcmFibGU6IHRydWUsXFxuICAgIGdldDogZnVuY3Rpb24oKSB7XFxuICAgICAgdmFyIGN1cnZlID0gbmV3IFByZXNldEN1cnZlKG9wdGlvbnMpO1xcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJ2ZXMsIG5hbWUsIHtcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXFxuICAgICAgICB2YWx1ZTogY3VydmVcXG4gICAgICB9KTtcXG4gICAgICByZXR1cm4gY3VydmU7XFxuICAgIH1cXG4gIH0pO1xcbn1cXG5cXG5kZWZpbmVDdXJ2ZSgncDE5MicsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogJ3AxOTInLFxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyxcXG4gIGE6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmYycsXFxuICBiOiAnNjQyMTA1MTkgZTU5YzgwZTcgMGZhN2U5YWIgNzIyNDMwNDkgZmViOGRlZWMgYzE0NmI5YjEnLFxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDk5ZGVmODM2IDE0NmJjOWIxIGI0ZDIyODMxJyxcXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxcbiAgZ1JlZDogZmFsc2UsXFxuICBnOiBbXFxuICAgICcxODhkYTgwZSBiMDMwOTBmNiA3Y2JmMjBlYiA0M2ExODgwMCBmNGZmMGFmZCA4MmZmMTAxMicsXFxuICAgICcwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgncDIyNCcsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogJ3AyMjQnLFxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyxcXG4gIGE6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZScsXFxuICBiOiAnYjQwNTBhODUgMGMwNGIzYWIgZjU0MTMyNTYgNTA0NGIwYjcgZDdiZmQ4YmEgMjcwYjM5NDMgMjM1NWZmYjQnLFxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkJyxcXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxcbiAgZ1JlZDogZmFsc2UsXFxuICBnOiBbXFxuICAgICdiNzBlMGNiZCA2YmI0YmY3ZiAzMjEzOTBiOSA0YTAzYzFkMyA1NmMyMTEyMiAzNDMyODBkNiAxMTVjMWQyMScsXFxuICAgICdiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgncDI1NicsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogbnVsbCxcXG4gIHA6ICdmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZicsXFxuICBhOiAnZmZmZmZmZmYgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMnLFxcbiAgYjogJzVhYzYzNWQ4IGFhM2E5M2U3IGIzZWJiZDU1IDc2OTg4NmJjIDY1MWQwNmIwIGNjNTNiMGY2IDNiY2UzYzNlIDI3ZDI2MDRiJyxcXG4gIG46ICdmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBiY2U2ZmFhZCBhNzE3OWU4NCBmM2I5Y2FjMiBmYzYzMjU1MScsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnNmIxN2QxZjIgZTEyYzQyNDcgZjhiY2U2ZTUgNjNhNDQwZjIgNzcwMzdkODEgMmRlYjMzYTAgZjRhMTM5NDUgZDg5OGMyOTYnLFxcbiAgICAnNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUnXFxuICBdXFxufSk7XFxuXFxuZGVmaW5lQ3VydmUoJ3AzODQnLCB7XFxuICB0eXBlOiAnc2hvcnQnLFxcbiAgcHJpbWU6IG51bGwsXFxuICBwOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXFxuICAgICAnZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYnLFxcbiAgYTogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICcgK1xcbiAgICAgJ2ZmZmZmZmZlIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZjJyxcXG4gIGI6ICdiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiAnICtcXG4gICAgICc1MDEzODc1YSBjNjU2Mzk4ZCA4YTJlZDE5ZCAyYTg1YzhlZCBkM2VjMmFlZicsXFxuICBuOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgYzc2MzRkODEgJyArXFxuICAgICAnZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzMnLFxcbiAgaGFzaDogaGFzaC5zaGEzODQsXFxuICBnUmVkOiBmYWxzZSxcXG4gIGc6IFtcXG4gICAgJ2FhODdjYTIyIGJlOGIwNTM3IDhlYjFjNzFlIGYzMjBhZDc0IDZlMWQzYjYyIDhiYTc5Yjk4IDU5Zjc0MWUwIDgyNTQyYTM4ICcgK1xcbiAgICAnNTUwMmYyNWQgYmY1NTI5NmMgM2E1NDVlMzggNzI3NjBhYjcnLFxcbiAgICAnMzYxN2RlNGEgOTYyNjJjNmYgNWQ5ZTk4YmYgOTI5MmRjMjkgZjhmNDFkYmQgMjg5YTE0N2MgZTlkYTMxMTMgYjVmMGI4YzAgJyArXFxuICAgICcwYTYwYjFjZSAxZDdlODE5ZCA3YTQzMWQ3YyA5MGVhMGU1ZidcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgncDUyMScsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogbnVsbCxcXG4gIHA6ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZicsXFxuICBhOiAnMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXFxuICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXFxuICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmMnLFxcbiAgYjogJzAwMDAwMDUxIDk1M2ViOTYxIDhlMWM5YTFmIDkyOWEyMWEwIGI2ODU0MGVlIGEyZGE3MjViICcgK1xcbiAgICAgJzk5YjMxNWYzIGI4YjQ4OTkxIDhlZjEwOWUxIDU2MTkzOTUxIGVjN2U5MzdiIDE2NTJjMGJkICcgK1xcbiAgICAgJzNiYjFiZjA3IDM1NzNkZjg4IDNkMmMzNGYxIGVmNDUxZmQ0IDZiNTAzZjAwJyxcXG4gIG46ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYSA1MTg2ODc4MyBiZjJmOTY2YiA3ZmNjMDE0OCAnICtcXG4gICAgICdmNzA5YTVkMCAzYmI1YzliOCA4OTljNDdhZSBiYjZmYjcxZSA5MTM4NjQwOScsXFxuICBoYXNoOiBoYXNoLnNoYTUxMixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgJyArXFxuICAgICcwNTNmYjUyMSBmODI4YWY2MCA2YjRkM2RiYSBhMTRiNWU3NyBlZmU3NTkyOCBmZTFkYzEyNyAnICtcXG4gICAgJ2EyZmZhOGRlIDMzNDhiM2MxIDg1NmE0MjliIGY5N2U3ZTMxIGMyZTViZDY2JyxcXG4gICAgJzAwMDAwMTE4IDM5Mjk2YTc4IDlhM2JjMDA0IDVjOGE1ZmI0IDJjN2QxYmQ5IDk4ZjU0NDQ5ICcgK1xcbiAgICAnNTc5YjQ0NjggMTdhZmJkMTcgMjczZTY2MmMgOTdlZTcyOTkgNWVmNDI2NDAgYzU1MGI5MDEgJyArXFxuICAgICczZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgnY3VydmUyNTUxOScsIHtcXG4gIHR5cGU6ICdtb250JyxcXG4gIHByaW1lOiAncDI1NTE5JyxcXG4gIHA6ICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyxcXG4gIGE6ICc3NmQwNicsXFxuICBiOiAnMScsXFxuICBuOiAnMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCcsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnOSdcXG4gIF1cXG59KTtcXG5cXG5kZWZpbmVDdXJ2ZSgnZWQyNTUxOScsIHtcXG4gIHR5cGU6ICdlZHdhcmRzJyxcXG4gIHByaW1lOiAncDI1NTE5JyxcXG4gIHA6ICc3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkJyxcXG4gIGE6ICctMScsXFxuICBjOiAnMScsXFxuICAvLyAtMTIxNjY1ICogKDEyMTY2Nl4oLTEpKSAobW9kIFApXFxuICBkOiAnNTIwMzZjZWUyYjZmZmU3MyA4Y2M3NDA3OTc3NzllODk4IDAwNzAwYTRkNDE0MWQ4YWIgNzVlYjRkY2ExMzU5NzhhMycsXFxuICBuOiAnMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCcsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG4gIGdSZWQ6IGZhbHNlLFxcbiAgZzogW1xcbiAgICAnMjE2OTM2ZDNjZDZlNTNmZWMwYTRlMjMxZmRkNmRjNWM2OTJjYzc2MDk1MjVhN2IyYzk1NjJkNjA4ZjI1ZDUxYScsXFxuXFxuICAgIC8vIDQvNVxcbiAgICAnNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCdcXG4gIF1cXG59KTtcXG5cXG52YXIgcHJlO1xcbnRyeSB7XFxuICBwcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ByZWNvbXB1dGVkL3NlY3AyNTZrMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3ByZWNvbXB1dGVkL3NlY3AyNTZrMS5qc1xcXCIpO1xcbn0gY2F0Y2ggKGUpIHtcXG4gIHByZSA9IHVuZGVmaW5lZDtcXG59XFxuXFxuZGVmaW5lQ3VydmUoJ3NlY3AyNTZrMScsIHtcXG4gIHR5cGU6ICdzaG9ydCcsXFxuICBwcmltZTogJ2syNTYnLFxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmJyxcXG4gIGE6ICcwJyxcXG4gIGI6ICc3JyxcXG4gIG46ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBiYWFlZGNlNiBhZjQ4YTAzYiBiZmQyNWU4YyBkMDM2NDE0MScsXFxuICBoOiAnMScsXFxuICBoYXNoOiBoYXNoLnNoYTI1NixcXG5cXG4gIC8vIFByZWNvbXB1dGVkIGVuZG9tb3JwaGlzbVxcbiAgYmV0YTogJzdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUnLFxcbiAgbGFtYmRhOiAnNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MicsXFxuICBiYXNpczogW1xcbiAgICB7XFxuICAgICAgYTogJzMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1JyxcXG4gICAgICBiOiAnLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzJ1xcbiAgICB9LFxcbiAgICB7XFxuICAgICAgYTogJzExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCcsXFxuICAgICAgYjogJzMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1J1xcbiAgICB9XFxuICBdLFxcblxcbiAgZ1JlZDogZmFsc2UsXFxuICBnOiBbXFxuICAgICc3OWJlNjY3ZWY5ZGNiYmFjNTVhMDYyOTVjZTg3MGIwNzAyOWJmY2RiMmRjZTI4ZDk1OWYyODE1YjE2ZjgxNzk4JyxcXG4gICAgJzQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgnLFxcbiAgICBwcmVcXG4gIF1cXG59KTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WTNWeWRtVnpMbXB6UHpsaVpXTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSTdPMEZCUlVFc1YwRkJWeXh0UWtGQlR5eERRVUZETEcxRVFVRlRPMEZCUXpWQ0xGbEJRVmtzYlVKQlFVOHNRMEZCUXl4dlJVRkJVenRCUVVNM1FpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc09FUkJRVk03TzBGQlJUZENPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQkxGRkJRVkVzYlVKQlFVOHNRMEZCUXl3NFJrRkJlVUk3UVVGRGVrTXNRMEZCUXp0QlFVTkVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WTNWeWRtVnpMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWTNWeWRtVnpJRDBnWlhod2IzSjBjenRjYmx4dWRtRnlJR2hoYzJnZ1BTQnlaWEYxYVhKbEtDZG9ZWE5vTG1wekp5azdYRzUyWVhJZ1kzVnlkbVVnUFNCeVpYRjFhWEpsS0NjdUwyTjFjblpsSnlrN1hHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TDNWMGFXeHpKeWs3WEc1Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRkJ5WlhObGRFTjFjblpsS0c5d2RHbHZibk1wSUh0Y2JpQWdhV1lnS0c5d2RHbHZibk11ZEhsd1pTQTlQVDBnSjNOb2IzSjBKeWxjYmlBZ0lDQjBhR2x6TG1OMWNuWmxJRDBnYm1WM0lHTjFjblpsTG5Ob2IzSjBLRzl3ZEdsdmJuTXBPMXh1SUNCbGJITmxJR2xtSUNodmNIUnBiMjV6TG5SNWNHVWdQVDA5SUNkbFpIZGhjbVJ6SnlsY2JpQWdJQ0IwYUdsekxtTjFjblpsSUQwZ2JtVjNJR04xY25abExtVmtkMkZ5WkhNb2IzQjBhVzl1Y3lrN1hHNGdJR1ZzYzJWY2JpQWdJQ0IwYUdsekxtTjFjblpsSUQwZ2JtVjNJR04xY25abExtMXZiblFvYjNCMGFXOXVjeWs3WEc0Z0lIUm9hWE11WnlBOUlIUm9hWE11WTNWeWRtVXVaenRjYmlBZ2RHaHBjeTV1SUQwZ2RHaHBjeTVqZFhKMlpTNXVPMXh1SUNCMGFHbHpMbWhoYzJnZ1BTQnZjSFJwYjI1ekxtaGhjMmc3WEc1Y2JpQWdZWE56WlhKMEtIUm9hWE11Wnk1MllXeHBaR0YwWlNncExDQW5TVzUyWVd4cFpDQmpkWEoyWlNjcE8xeHVJQ0JoYzNObGNuUW9kR2hwY3k1bkxtMTFiQ2gwYUdsekxtNHBMbWx6U1c1bWFXNXBkSGtvS1N3Z0owbHVkbUZzYVdRZ1kzVnlkbVVzSUVjcVRpQWhQU0JQSnlrN1hHNTlYRzVqZFhKMlpYTXVVSEpsYzJWMFEzVnlkbVVnUFNCUWNtVnpaWFJEZFhKMlpUdGNibHh1Wm5WdVkzUnBiMjRnWkdWbWFXNWxRM1Z5ZG1Vb2JtRnRaU3dnYjNCMGFXOXVjeWtnZTF4dUlDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvWTNWeWRtVnpMQ0J1WVcxbExDQjdYRzRnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExGeHVJQ0FnSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzWEc0Z0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lIWmhjaUJqZFhKMlpTQTlJRzVsZHlCUWNtVnpaWFJEZFhKMlpTaHZjSFJwYjI1ektUdGNiaUFnSUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqZFhKMlpYTXNJRzVoYldVc0lIdGNiaUFnSUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0IyWVd4MVpUb2dZM1Z5ZG1WY2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOMWNuWmxPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNTlYRzVjYm1SbFptbHVaVU4xY25abEtDZHdNVGt5Snl3Z2UxeHVJQ0IwZVhCbE9pQW5jMmh2Y25RbkxGeHVJQ0J3Y21sdFpUb2dKM0F4T1RJbkxGeHVJQ0J3T2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZbkxGeHVJQ0JoT2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1NbkxGeHVJQ0JpT2lBbk5qUXlNVEExTVRrZ1pUVTVZemd3WlRjZ01HWmhOMlU1WVdJZ056SXlORE13TkRrZ1ptVmlPR1JsWldNZ1l6RTBObUk1WWpFbkxGeHVJQ0J1T2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ09UbGtaV1k0TXpZZ01UUTJZbU01WWpFZ1lqUmtNakk0TXpFbkxGeHVJQ0JvWVhOb09pQm9ZWE5vTG5Ob1lUSTFOaXhjYmlBZ1oxSmxaRG9nWm1Gc2MyVXNYRzRnSUdjNklGdGNiaUFnSUNBbk1UZzRaR0U0TUdVZ1lqQXpNRGt3WmpZZ04yTmlaakl3WldJZ05ETmhNVGc0TURBZ1pqUm1aakJoWm1RZ09ESm1aakV3TVRJbkxGeHVJQ0FnSUNjd056RTVNbUk1TlNCbVptTTRaR0UzT0NBMk16RXdNVEZsWkNBMllqSTBZMlJrTlNBM00yWTVOemRoTVNBeFpUYzVORGd4TVNkY2JpQWdYVnh1ZlNrN1hHNWNibVJsWm1sdVpVTjFjblpsS0Nkd01qSTBKeXdnZTF4dUlDQjBlWEJsT2lBbmMyaHZjblFuTEZ4dUlDQndjbWx0WlRvZ0ozQXlNalFuTEZ4dUlDQndPaUFuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnTURBd01EQXdNREFnTURBd01EQXdNREFnTURBd01EQXdNREVuTEZ4dUlDQmhPaUFuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVVnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVVuTEZ4dUlDQmlPaUFuWWpRd05UQmhPRFVnTUdNd05HSXpZV0lnWmpVME1UTXlOVFlnTlRBME5HSXdZamNnWkRkaVptUTRZbUVnTWpjd1lqTTVORE1nTWpNMU5XWm1ZalFuTEZ4dUlDQnVPaUFuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVpqRTJZVElnWlRCaU9HWXdNMlVnTVROa1pESTVORFVnTldNMVl6SmhNMlFuTEZ4dUlDQm9ZWE5vT2lCb1lYTm9Mbk5vWVRJMU5peGNiaUFnWjFKbFpEb2dabUZzYzJVc1hHNGdJR2M2SUZ0Y2JpQWdJQ0FuWWpjd1pUQmpZbVFnTm1KaU5HSm1OMllnTXpJeE16a3dZamtnTkdFd00yTXhaRE1nTlRaak1qRXhNaklnTXpRek1qZ3daRFlnTVRFMVl6RmtNakVuTEZ4dUlDQWdJQ2RpWkRNM05qTTRPQ0JpTldZM01qTm1ZaUEwWXpJeVpHWmxOaUJqWkRRek56VmhNQ0ExWVRBM05EYzJOQ0EwTkdRMU9ERTVPU0E0TlRBd04yVXpOQ2RjYmlBZ1hWeHVmU2s3WEc1Y2JtUmxabWx1WlVOMWNuWmxLQ2R3TWpVMkp5d2dlMXh1SUNCMGVYQmxPaUFuYzJodmNuUW5MRnh1SUNCd2NtbHRaVG9nYm5Wc2JDeGNiaUFnY0RvZ0oyWm1abVptWm1abUlEQXdNREF3TURBeElEQXdNREF3TURBd0lEQXdNREF3TURBd0lEQXdNREF3TURBd0lHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUp5eGNiaUFnWVRvZ0oyWm1abVptWm1abUlEQXdNREF3TURBeElEQXdNREF3TURBd0lEQXdNREF3TURBd0lEQXdNREF3TURBd0lHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1aakp5eGNiaUFnWWpvZ0p6VmhZell6TldRNElHRmhNMkU1TTJVM0lHSXpaV0ppWkRVMUlEYzJPVGc0Tm1KaklEWTFNV1F3Tm1Jd0lHTmpOVE5pTUdZMklETmlZMlV6WXpObElESTNaREkyTURSaUp5eGNiaUFnYmpvZ0oyWm1abVptWm1abUlEQXdNREF3TURBd0lHWm1abVptWm1abUlHWm1abVptWm1abUlHSmpaVFptWVdGa0lHRTNNVGM1WlRnMElHWXpZamxqWVdNeUlHWmpOak15TlRVeEp5eGNiaUFnYUdGemFEb2dhR0Z6YUM1emFHRXlOVFlzWEc0Z0lHZFNaV1E2SUdaaGJITmxMRnh1SUNCbk9pQmJYRzRnSUNBZ0p6WmlNVGRrTVdZeUlHVXhNbU0wTWpRM0lHWTRZbU5sTm1VMUlEWXpZVFEwTUdZeUlEYzNNRE0zWkRneElESmtaV0l6TTJFd0lHWTBZVEV6T1RRMUlHUTRPVGhqTWprMkp5eGNiaUFnSUNBbk5HWmxNelF5WlRJZ1ptVXhZVGRtT1dJZ09HVmxOMlZpTkdFZ04yTXdaamxsTVRZZ01tSmpaVE16TlRjZ05tSXpNVFZsWTJVZ1kySmlOalF3TmpnZ016ZGlaalV4WmpVblhHNGdJRjFjYm4wcE8xeHVYRzVrWldacGJtVkRkWEoyWlNnbmNETTROQ2NzSUh0Y2JpQWdkSGx3WlRvZ0ozTm9iM0owSnl4Y2JpQWdjSEpwYldVNklHNTFiR3dzWEc0Z0lIQTZJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUFuSUN0Y2JpQWdJQ0FnSjJabVptWm1abVpsSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SUdabVptWm1abVptSnl4Y2JpQWdZVG9nSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUNjZ0sxeHVJQ0FnSUNBblptWm1abVptWm1VZ1ptWm1abVptWm1ZZ01EQXdNREF3TURBZ01EQXdNREF3TURBZ1ptWm1abVptWm1NbkxGeHVJQ0JpT2lBbllqTXpNVEptWVRjZ1pUSXpaV1UzWlRRZ09UZzRaVEExTm1JZ1pUTm1PREprTVRrZ01UZ3haRGxqTm1VZ1ptVTRNVFF4TVRJZ01ETXhOREE0T0dZZ0p5QXJYRzRnSUNBZ0lDYzFNREV6T0RjMVlTQmpOalUyTXprNFpDQTRZVEpsWkRFNVpDQXlZVGcxWXpobFpDQmtNMlZqTW1GbFppY3NYRzRnSUc0NklDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQmpOell6TkdRNE1TQW5JQ3RjYmlBZ0lDQWdKMlkwTXpjeVpHUm1JRFU0TVdFd1pHSXlJRFE0WWpCaE56ZGhJR1ZqWldNeE9UWmhJR05qWXpVeU9UY3pKeXhjYmlBZ2FHRnphRG9nYUdGemFDNXphR0V6T0RRc1hHNGdJR2RTWldRNklHWmhiSE5sTEZ4dUlDQm5PaUJiWEc0Z0lDQWdKMkZoT0RkallUSXlJR0psT0dJd05UTTNJRGhsWWpGak56RmxJR1l6TWpCaFpEYzBJRFpsTVdRellqWXlJRGhpWVRjNVlqazRJRFU1WmpjME1XVXdJRGd5TlRReVlUTTRJQ2NnSzF4dUlDQWdJQ2MxTlRBeVpqSTFaQ0JpWmpVMU1qazJZeUF6WVRVME5XVXpPQ0EzTWpjMk1HRmlOeWNzWEc0Z0lDQWdKek0yTVRka1pUUmhJRGsyTWpZeVl6Wm1JRFZrT1dVNU9HSm1JRGt5T1RKa1l6STVJR1k0WmpReFpHSmtJREk0T1dFeE5EZGpJR1U1WkdFek1URXpJR0kxWmpCaU9HTXdJQ2NnSzF4dUlDQWdJQ2N3WVRZd1lqRmpaU0F4WkRkbE9ERTVaQ0EzWVRRek1XUTNZeUE1TUdWaE1HVTFaaWRjYmlBZ1hWeHVmU2s3WEc1Y2JtUmxabWx1WlVOMWNuWmxLQ2R3TlRJeEp5d2dlMXh1SUNCMGVYQmxPaUFuYzJodmNuUW5MRnh1SUNCd2NtbHRaVG9nYm5Wc2JDeGNiaUFnY0RvZ0p6QXdNREF3TVdabUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlDY2dLMXh1SUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdKeUFyWEc0Z0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaWNzWEc0Z0lHRTZJQ2N3TURBd01ERm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUFuSUN0Y2JpQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUNjZ0sxeHVJQ0FnSUNBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1NbkxGeHVJQ0JpT2lBbk1EQXdNREF3TlRFZ09UVXpaV0k1TmpFZ09HVXhZemxoTVdZZ09USTVZVEl4WVRBZ1lqWTROVFF3WldVZ1lUSmtZVGN5TldJZ0p5QXJYRzRnSUNBZ0lDYzVPV0l6TVRWbU15QmlPR0kwT0RrNU1TQTRaV1l4TURsbE1TQTFOakU1TXprMU1TQmxZemRsT1RNM1lpQXhOalV5WXpCaVpDQW5JQ3RjYmlBZ0lDQWdKek5pWWpGaVpqQTNJRE0xTnpOa1pqZzRJRE5rTW1Nek5HWXhJR1ZtTkRVeFptUTBJRFppTlRBelpqQXdKeXhjYmlBZ2Jqb2dKekF3TURBd01XWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JR1ptWm1abVptWm1JQ2NnSzF4dUlDQWdJQ0FuWm1abVptWm1abVlnWm1abVptWm1abVlnWm1abVptWm1abUVnTlRFNE5qZzNPRE1nWW1ZeVpqazJObUlnTjJaall6QXhORGdnSnlBclhHNGdJQ0FnSUNkbU56QTVZVFZrTUNBelltSTFZemxpT0NBNE9UbGpORGRoWlNCaVlqWm1ZamN4WlNBNU1UTTROalF3T1Njc1hHNGdJR2hoYzJnNklHaGhjMmd1YzJoaE5URXlMRnh1SUNCblVtVmtPaUJtWVd4elpTeGNiaUFnWnpvZ1cxeHVJQ0FnSUNjd01EQXdNREJqTmlBNE5UaGxNRFppTnlBd05EQTBaVGxqWkNBNVpUTmxZMkkyTmlBeU16azFZalEwTWlBNVl6WTBPREV6T1NBbklDdGNiaUFnSUNBbk1EVXpabUkxTWpFZ1pqZ3lPR0ZtTmpBZ05tSTBaRE5rWW1FZ1lURTBZalZsTnpjZ1pXWmxOelU1TWpnZ1ptVXhaR014TWpjZ0p5QXJYRzRnSUNBZ0oyRXlabVpoT0dSbElETXpORGhpTTJNeElEZzFObUUwTWpsaUlHWTVOMlUzWlRNeElHTXlaVFZpWkRZMkp5eGNiaUFnSUNBbk1EQXdNREF4TVRnZ016a3lPVFpoTnpnZ09XRXpZbU13TURRZ05XTTRZVFZtWWpRZ01tTTNaREZpWkRrZ09UaG1OVFEwTkRrZ0p5QXJYRzRnSUNBZ0p6VTNPV0kwTkRZNElERTNZV1ppWkRFM0lESTNNMlUyTmpKaklEazNaV1UzTWprNUlEVmxaalF5TmpRd0lHTTFOVEJpT1RBeElDY2dLMXh1SUNBZ0lDY3pabUZrTURjMk1TQXpOVE5qTnpBNE5pQmhNamN5WXpJME1DQTRPR0psT1RRM05pQTVabVF4TmpZMU1DZGNiaUFnWFZ4dWZTazdYRzVjYm1SbFptbHVaVU4xY25abEtDZGpkWEoyWlRJMU5URTVKeXdnZTF4dUlDQjBlWEJsT2lBbmJXOXVkQ2NzWEc0Z0lIQnlhVzFsT2lBbmNESTFOVEU1Snl4Y2JpQWdjRG9nSnpkbVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWm1aaUJtWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVpXUW5MRnh1SUNCaE9pQW5OelprTURZbkxGeHVJQ0JpT2lBbk1TY3NYRzRnSUc0NklDY3hNREF3TURBd01EQXdNREF3TURBd0lEQXdNREF3TURBd01EQXdNREF3TURBZ01UUmtaV1k1WkdWaE1tWTNPV05rTmlBMU9ERXlOak14WVRWalpqVmtNMlZrSnl4Y2JpQWdhR0Z6YURvZ2FHRnphQzV6YUdFeU5UWXNYRzRnSUdkU1pXUTZJR1poYkhObExGeHVJQ0JuT2lCYlhHNGdJQ0FnSnprblhHNGdJRjFjYm4wcE8xeHVYRzVrWldacGJtVkRkWEoyWlNnblpXUXlOVFV4T1Njc0lIdGNiaUFnZEhsd1pUb2dKMlZrZDJGeVpITW5MRnh1SUNCd2NtbHRaVG9nSjNBeU5UVXhPU2NzWEc0Z0lIQTZJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5eGNiaUFnWVRvZ0p5MHhKeXhjYmlBZ1l6b2dKekVuTEZ4dUlDQXZMeUF0TVRJeE5qWTFJQ29nS0RFeU1UWTJObDRvTFRFcEtTQW9iVzlrSUZBcFhHNGdJR1E2SUNjMU1qQXpObU5sWlRKaU5tWm1aVGN6SURoall6YzBNRGM1TnpjM09XVTRPVGdnTURBM01EQmhOR1EwTVRReFpEaGhZaUEzTldWaU5HUmpZVEV6TlRrM09HRXpKeXhjYmlBZ2Jqb2dKekV3TURBd01EQXdNREF3TURBd01EQWdNREF3TURBd01EQXdNREF3TURBd01DQXhOR1JsWmpsa1pXRXlaamM1WTJRMklEVTRNVEkyTXpGaE5XTm1OV1F6WldRbkxGeHVJQ0JvWVhOb09pQm9ZWE5vTG5Ob1lUSTFOaXhjYmlBZ1oxSmxaRG9nWm1Gc2MyVXNYRzRnSUdjNklGdGNiaUFnSUNBbk1qRTJPVE0yWkROalpEWmxOVE5tWldNd1lUUmxNak14Wm1Sa05tUmpOV00yT1RKall6YzJNRGsxTWpWaE4ySXlZemsxTmpKa05qQTRaakkxWkRVeFlTY3NYRzVjYmlBZ0lDQXZMeUEwTHpWY2JpQWdJQ0FuTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkyTmpZMk5qWTJOalkxT0NkY2JpQWdYVnh1ZlNrN1hHNWNiblpoY2lCd2NtVTdYRzUwY25rZ2UxeHVJQ0J3Y21VZ1BTQnlaWEYxYVhKbEtDY3VMM0J5WldOdmJYQjFkR1ZrTDNObFkzQXlOVFpyTVNjcE8xeHVmU0JqWVhSamFDQW9aU2tnZTF4dUlDQndjbVVnUFNCMWJtUmxabWx1WldRN1hHNTlYRzVjYm1SbFptbHVaVU4xY25abEtDZHpaV053TWpVMmF6RW5MQ0I3WEc0Z0lIUjVjR1U2SUNkemFHOXlkQ2NzWEc0Z0lIQnlhVzFsT2lBbmF6STFOaWNzWEc0Z0lIQTZJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptTXlaaWNzWEc0Z0lHRTZJQ2N3Snl4Y2JpQWdZam9nSnpjbkxGeHVJQ0J1T2lBblptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1ZZ1ptWm1abVptWm1VZ1ltRmhaV1JqWlRZZ1lXWTBPR0V3TTJJZ1ltWmtNalZsT0dNZ1pEQXpOalF4TkRFbkxGeHVJQ0JvT2lBbk1TY3NYRzRnSUdoaGMyZzZJR2hoYzJndWMyaGhNalUyTEZ4dVhHNGdJQzh2SUZCeVpXTnZiWEIxZEdWa0lHVnVaRzl0YjNKd2FHbHpiVnh1SUNCaVpYUmhPaUFuTjJGbE9UWmhNbUkyTlRkak1EY3hNRFpsTmpRME56bGxZV016TkRNMFpUazVZMll3TkRrM05URXlaalU0T1RrMVl6RXpPVFpqTWpnM01UazFNREZsWlNjc1hHNGdJR3hoYldKa1lUb2dKelV6TmpOaFpEUmpZekExWXpNd1pUQmhOVEkyTVdNd01qZzRNVEkyTkRWaE1USXlaVEl5WldFeU1EZ3hOalkzT0dSbU1ESTVOamRqTVdJeU0ySmtOekluTEZ4dUlDQmlZWE5wY3pvZ1cxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUdFNklDY3pNRGcyWkRJeU1XRTNaRFEyWW1Oa1pUZzJZemt3WlRRNU1qZzBaV0l4TlNjc1hHNGdJQ0FnSUNCaU9pQW5MV1UwTkRNM1pXUTJNREV3WlRnNE1qZzJaalUwTjJaaE9UQmhZbVpsTkdNekoxeHVJQ0FnSUgwc1hHNGdJQ0FnZTF4dUlDQWdJQ0FnWVRvZ0p6RXhOR05oTlRCbU4yRTRaVEptTTJZMk5UZGpNVEV3T0dRNVpEUTBZMlprT0Njc1hHNGdJQ0FnSUNCaU9pQW5NekE0Tm1ReU1qRmhOMlEwTm1KalpHVTRObU01TUdVME9USTROR1ZpTVRVblhHNGdJQ0FnZlZ4dUlDQmRMRnh1WEc0Z0lHZFNaV1E2SUdaaGJITmxMRnh1SUNCbk9pQmJYRzRnSUNBZ0p6YzVZbVUyTmpkbFpqbGtZMkppWVdNMU5XRXdOakk1TldObE9EY3dZakEzTURJNVltWmpaR0l5WkdObE1qaGtPVFU1WmpJNE1UVmlNVFptT0RFM09UZ25MRnh1SUNBZ0lDYzBPRE5oWkdFM056STJZVE5qTkRZMU5XUmhOR1ppWm1Nd1pURXhNRGhoT0daa01UZGlORFE0WVRZNE5UVTBNVGs1WXpRM1pEQTRabVppTVRCa05HSTRKeXhjYmlBZ0lDQndjbVZjYmlBZ1hWeHVmU2s3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvY3VydmVzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgSG1hY0RSQkcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBobWFjLWRyYmcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2htYWMtZHJiZy9saWIvaG1hYy1kcmJnLmpzXFxcIik7XFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy91dGlscy5qc1xcXCIpO1xcbnZhciBjdXJ2ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jdXJ2ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZXMuanNcXFwiKTtcXG52YXIgcmFuZCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3JhbmQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Jyb3JhbmQvaW5kZXguanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xcblxcbnZhciBLZXlQYWlyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9rZXkgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9rZXkuanNcXFwiKTtcXG52YXIgU2lnbmF0dXJlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaWduYXR1cmUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9zaWduYXR1cmUuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBFQyhvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgRUMpKVxcbiAgICByZXR1cm4gbmV3IEVDKG9wdGlvbnMpO1xcblxcbiAgLy8gU2hvcnRjdXQgYGVsbGlwdGljLmVjKGN1cnZlLW5hbWUpYFxcbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xcbiAgICBhc3NlcnQoY3VydmVzLmhhc093blByb3BlcnR5KG9wdGlvbnMpLCAnVW5rbm93biBjdXJ2ZSAnICsgb3B0aW9ucyk7XFxuXFxuICAgIG9wdGlvbnMgPSBjdXJ2ZXNbb3B0aW9uc107XFxuICB9XFxuXFxuICAvLyBTaG9ydGN1dCBmb3IgYGVsbGlwdGljLmVjKGVsbGlwdGljLmN1cnZlcy5jdXJ2ZU5hbWUpYFxcbiAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBjdXJ2ZXMuUHJlc2V0Q3VydmUpXFxuICAgIG9wdGlvbnMgPSB7IGN1cnZlOiBvcHRpb25zIH07XFxuXFxuICB0aGlzLmN1cnZlID0gb3B0aW9ucy5jdXJ2ZS5jdXJ2ZTtcXG4gIHRoaXMubiA9IHRoaXMuY3VydmUubjtcXG4gIHRoaXMubmggPSB0aGlzLm4udXNocm4oMSk7XFxuICB0aGlzLmcgPSB0aGlzLmN1cnZlLmc7XFxuXFxuICAvLyBQb2ludCBvbiBjdXJ2ZVxcbiAgdGhpcy5nID0gb3B0aW9ucy5jdXJ2ZS5nO1xcbiAgdGhpcy5nLnByZWNvbXB1dGUob3B0aW9ucy5jdXJ2ZS5uLmJpdExlbmd0aCgpICsgMSk7XFxuXFxuICAvLyBIYXNoIGZvciBmdW5jdGlvbiBmb3IgRFJCR1xcbiAgdGhpcy5oYXNoID0gb3B0aW9ucy5oYXNoIHx8IG9wdGlvbnMuY3VydmUuaGFzaDtcXG59XFxubW9kdWxlLmV4cG9ydHMgPSBFQztcXG5cXG5FQy5wcm90b3R5cGUua2V5UGFpciA9IGZ1bmN0aW9uIGtleVBhaXIob3B0aW9ucykge1xcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKHRoaXMsIG9wdGlvbnMpO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLmtleUZyb21Qcml2YXRlID0gZnVuY3Rpb24ga2V5RnJvbVByaXZhdGUocHJpdiwgZW5jKSB7XFxuICByZXR1cm4gS2V5UGFpci5mcm9tUHJpdmF0ZSh0aGlzLCBwcml2LCBlbmMpO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLmtleUZyb21QdWJsaWMgPSBmdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1YiwgZW5jKSB7XFxuICByZXR1cm4gS2V5UGFpci5mcm9tUHVibGljKHRoaXMsIHB1YiwgZW5jKTtcXG59O1xcblxcbkVDLnByb3RvdHlwZS5nZW5LZXlQYWlyID0gZnVuY3Rpb24gZ2VuS2V5UGFpcihvcHRpb25zKSB7XFxuICBpZiAoIW9wdGlvbnMpXFxuICAgIG9wdGlvbnMgPSB7fTtcXG5cXG4gIC8vIEluc3RhbnRpYXRlIEhtYWNfRFJCR1xcbiAgdmFyIGRyYmcgPSBuZXcgSG1hY0RSQkcoe1xcbiAgICBoYXNoOiB0aGlzLmhhc2gsXFxuICAgIHBlcnM6IG9wdGlvbnMucGVycyxcXG4gICAgcGVyc0VuYzogb3B0aW9ucy5wZXJzRW5jIHx8ICd1dGY4JyxcXG4gICAgZW50cm9weTogb3B0aW9ucy5lbnRyb3B5IHx8IHJhbmQodGhpcy5oYXNoLmhtYWNTdHJlbmd0aCksXFxuICAgIGVudHJvcHlFbmM6IG9wdGlvbnMuZW50cm9weSAmJiBvcHRpb25zLmVudHJvcHlFbmMgfHwgJ3V0ZjgnLFxcbiAgICBub25jZTogdGhpcy5uLnRvQXJyYXkoKVxcbiAgfSk7XFxuXFxuICB2YXIgYnl0ZXMgPSB0aGlzLm4uYnl0ZUxlbmd0aCgpO1xcbiAgdmFyIG5zMiA9IHRoaXMubi5zdWIobmV3IEJOKDIpKTtcXG4gIGRvIHtcXG4gICAgdmFyIHByaXYgPSBuZXcgQk4oZHJiZy5nZW5lcmF0ZShieXRlcykpO1xcbiAgICBpZiAocHJpdi5jbXAobnMyKSA+IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIHByaXYuaWFkZG4oMSk7XFxuICAgIHJldHVybiB0aGlzLmtleUZyb21Qcml2YXRlKHByaXYpO1xcbiAgfSB3aGlsZSAodHJ1ZSk7XFxufTtcXG5cXG5FQy5wcm90b3R5cGUuX3RydW5jYXRlVG9OID0gZnVuY3Rpb24gdHJ1bmNhdGVUb04obXNnLCB0cnVuY09ubHkpIHtcXG4gIHZhciBkZWx0YSA9IG1zZy5ieXRlTGVuZ3RoKCkgKiA4IC0gdGhpcy5uLmJpdExlbmd0aCgpO1xcbiAgaWYgKGRlbHRhID4gMClcXG4gICAgbXNnID0gbXNnLnVzaHJuKGRlbHRhKTtcXG4gIGlmICghdHJ1bmNPbmx5ICYmIG1zZy5jbXAodGhpcy5uKSA+PSAwKVxcbiAgICByZXR1cm4gbXNnLnN1Yih0aGlzLm4pO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gbXNnO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLnNpZ24gPSBmdW5jdGlvbiBzaWduKG1zZywga2V5LCBlbmMsIG9wdGlvbnMpIHtcXG4gIGlmICh0eXBlb2YgZW5jID09PSAnb2JqZWN0Jykge1xcbiAgICBvcHRpb25zID0gZW5jO1xcbiAgICBlbmMgPSBudWxsO1xcbiAgfVxcbiAgaWYgKCFvcHRpb25zKVxcbiAgICBvcHRpb25zID0ge307XFxuXFxuICBrZXkgPSB0aGlzLmtleUZyb21Qcml2YXRlKGtleSwgZW5jKTtcXG4gIG1zZyA9IHRoaXMuX3RydW5jYXRlVG9OKG5ldyBCTihtc2csIDE2KSk7XFxuXFxuICAvLyBaZXJvLWV4dGVuZCBrZXkgdG8gcHJvdmlkZSBlbm91Z2ggZW50cm9weVxcbiAgdmFyIGJ5dGVzID0gdGhpcy5uLmJ5dGVMZW5ndGgoKTtcXG4gIHZhciBia2V5ID0ga2V5LmdldFByaXZhdGUoKS50b0FycmF5KCdiZScsIGJ5dGVzKTtcXG5cXG4gIC8vIFplcm8tZXh0ZW5kIG5vbmNlIHRvIGhhdmUgdGhlIHNhbWUgYnl0ZSBzaXplIGFzIE5cXG4gIHZhciBub25jZSA9IG1zZy50b0FycmF5KCdiZScsIGJ5dGVzKTtcXG5cXG4gIC8vIEluc3RhbnRpYXRlIEhtYWNfRFJCR1xcbiAgdmFyIGRyYmcgPSBuZXcgSG1hY0RSQkcoe1xcbiAgICBoYXNoOiB0aGlzLmhhc2gsXFxuICAgIGVudHJvcHk6IGJrZXksXFxuICAgIG5vbmNlOiBub25jZSxcXG4gICAgcGVyczogb3B0aW9ucy5wZXJzLFxcbiAgICBwZXJzRW5jOiBvcHRpb25zLnBlcnNFbmMgfHwgJ3V0ZjgnXFxuICB9KTtcXG5cXG4gIC8vIE51bWJlciBvZiBieXRlcyB0byBnZW5lcmF0ZVxcbiAgdmFyIG5zMSA9IHRoaXMubi5zdWIobmV3IEJOKDEpKTtcXG5cXG4gIGZvciAodmFyIGl0ZXIgPSAwOyB0cnVlOyBpdGVyKyspIHtcXG4gICAgdmFyIGsgPSBvcHRpb25zLmsgP1xcbiAgICAgICAgb3B0aW9ucy5rKGl0ZXIpIDpcXG4gICAgICAgIG5ldyBCTihkcmJnLmdlbmVyYXRlKHRoaXMubi5ieXRlTGVuZ3RoKCkpKTtcXG4gICAgayA9IHRoaXMuX3RydW5jYXRlVG9OKGssIHRydWUpO1xcbiAgICBpZiAoay5jbXBuKDEpIDw9IDAgfHwgay5jbXAobnMxKSA+PSAwKVxcbiAgICAgIGNvbnRpbnVlO1xcblxcbiAgICB2YXIga3AgPSB0aGlzLmcubXVsKGspO1xcbiAgICBpZiAoa3AuaXNJbmZpbml0eSgpKVxcbiAgICAgIGNvbnRpbnVlO1xcblxcbiAgICB2YXIga3BYID0ga3AuZ2V0WCgpO1xcbiAgICB2YXIgciA9IGtwWC51bW9kKHRoaXMubik7XFxuICAgIGlmIChyLmNtcG4oMCkgPT09IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIHZhciBzID0gay5pbnZtKHRoaXMubikubXVsKHIubXVsKGtleS5nZXRQcml2YXRlKCkpLmlhZGQobXNnKSk7XFxuICAgIHMgPSBzLnVtb2QodGhpcy5uKTtcXG4gICAgaWYgKHMuY21wbigwKSA9PT0gMClcXG4gICAgICBjb250aW51ZTtcXG5cXG4gICAgdmFyIHJlY292ZXJ5UGFyYW0gPSAoa3AuZ2V0WSgpLmlzT2RkKCkgPyAxIDogMCkgfFxcbiAgICAgICAgICAgICAgICAgICAgICAgIChrcFguY21wKHIpICE9PSAwID8gMiA6IDApO1xcblxcbiAgICAvLyBVc2UgY29tcGxlbWVudCBvZiBgc2AsIGlmIGl0IGlzID4gYG4gLyAyYFxcbiAgICBpZiAob3B0aW9ucy5jYW5vbmljYWwgJiYgcy5jbXAodGhpcy5uaCkgPiAwKSB7XFxuICAgICAgcyA9IHRoaXMubi5zdWIocyk7XFxuICAgICAgcmVjb3ZlcnlQYXJhbSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBuZXcgU2lnbmF0dXJlKHsgcjogciwgczogcywgcmVjb3ZlcnlQYXJhbTogcmVjb3ZlcnlQYXJhbSB9KTtcXG4gIH1cXG59O1xcblxcbkVDLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobXNnLCBzaWduYXR1cmUsIGtleSwgZW5jKSB7XFxuICBtc2cgPSB0aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4obXNnLCAxNikpO1xcbiAga2V5ID0gdGhpcy5rZXlGcm9tUHVibGljKGtleSwgZW5jKTtcXG4gIHNpZ25hdHVyZSA9IG5ldyBTaWduYXR1cmUoc2lnbmF0dXJlLCAnaGV4Jyk7XFxuXFxuICAvLyBQZXJmb3JtIHByaW1pdGl2ZSB2YWx1ZXMgdmFsaWRhdGlvblxcbiAgdmFyIHIgPSBzaWduYXR1cmUucjtcXG4gIHZhciBzID0gc2lnbmF0dXJlLnM7XFxuICBpZiAoci5jbXBuKDEpIDwgMCB8fCByLmNtcCh0aGlzLm4pID49IDApXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIGlmIChzLmNtcG4oMSkgPCAwIHx8IHMuY21wKHRoaXMubikgPj0gMClcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgLy8gVmFsaWRhdGUgc2lnbmF0dXJlXFxuICB2YXIgc2ludiA9IHMuaW52bSh0aGlzLm4pO1xcbiAgdmFyIHUxID0gc2ludi5tdWwobXNnKS51bW9kKHRoaXMubik7XFxuICB2YXIgdTIgPSBzaW52Lm11bChyKS51bW9kKHRoaXMubik7XFxuXFxuICBpZiAoIXRoaXMuY3VydmUuX21heHdlbGxUcmljaykge1xcbiAgICB2YXIgcCA9IHRoaXMuZy5tdWxBZGQodTEsIGtleS5nZXRQdWJsaWMoKSwgdTIpO1xcbiAgICBpZiAocC5pc0luZmluaXR5KCkpXFxuICAgICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgICByZXR1cm4gcC5nZXRYKCkudW1vZCh0aGlzLm4pLmNtcChyKSA9PT0gMDtcXG4gIH1cXG5cXG4gIC8vIE5PVEU6IEdyZWcgTWF4d2VsbCdzIHRyaWNrLCBpbnNwaXJlZCBieTpcXG4gIC8vIGh0dHBzOi8vZ2l0LmlvL3ZhZDNLXFxuXFxuICB2YXIgcCA9IHRoaXMuZy5qbXVsQWRkKHUxLCBrZXkuZ2V0UHVibGljKCksIHUyKTtcXG4gIGlmIChwLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIGZhbHNlO1xcblxcbiAgLy8gQ29tcGFyZSBgcC54YCBvZiBKYWNvYmlhbiBwb2ludCB3aXRoIGByYCxcXG4gIC8vIHRoaXMgd2lsbCBkbyBgcC54ID09IHIgKiBwLnpeMmAgaW5zdGVhZCBvZiBtdWx0aXBseWluZyBgcC54YCBieSB0aGVcXG4gIC8vIGludmVyc2Ugb2YgYHAuel4yYFxcbiAgcmV0dXJuIHAuZXFYVG9QKHIpO1xcbn07XFxuXFxuRUMucHJvdG90eXBlLnJlY292ZXJQdWJLZXkgPSBmdW5jdGlvbihtc2csIHNpZ25hdHVyZSwgaiwgZW5jKSB7XFxuICBhc3NlcnQoKDMgJiBqKSA9PT0gaiwgJ1RoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHMnKTtcXG4gIHNpZ25hdHVyZSA9IG5ldyBTaWduYXR1cmUoc2lnbmF0dXJlLCBlbmMpO1xcblxcbiAgdmFyIG4gPSB0aGlzLm47XFxuICB2YXIgZSA9IG5ldyBCTihtc2cpO1xcbiAgdmFyIHIgPSBzaWduYXR1cmUucjtcXG4gIHZhciBzID0gc2lnbmF0dXJlLnM7XFxuXFxuICAvLyBBIHNldCBMU0Igc2lnbmlmaWVzIHRoYXQgdGhlIHktY29vcmRpbmF0ZSBpcyBvZGRcXG4gIHZhciBpc1lPZGQgPSBqICYgMTtcXG4gIHZhciBpc1NlY29uZEtleSA9IGogPj4gMTtcXG4gIGlmIChyLmNtcCh0aGlzLmN1cnZlLnAudW1vZCh0aGlzLmN1cnZlLm4pKSA+PSAwICYmIGlzU2Vjb25kS2V5KVxcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBmaW5kIHNlbmNvbmQga2V5IGNhbmRpbmF0ZScpO1xcblxcbiAgLy8gMS4xLiBMZXQgeCA9IHIgKyBqbi5cXG4gIGlmIChpc1NlY29uZEtleSlcXG4gICAgciA9IHRoaXMuY3VydmUucG9pbnRGcm9tWChyLmFkZCh0aGlzLmN1cnZlLm4pLCBpc1lPZGQpO1xcbiAgZWxzZVxcbiAgICByID0gdGhpcy5jdXJ2ZS5wb2ludEZyb21YKHIsIGlzWU9kZCk7XFxuXFxuICB2YXIgckludiA9IHNpZ25hdHVyZS5yLmludm0obik7XFxuICB2YXIgczEgPSBuLnN1YihlKS5tdWwockludikudW1vZChuKTtcXG4gIHZhciBzMiA9IHMubXVsKHJJbnYpLnVtb2Qobik7XFxuXFxuICAvLyAxLjYuMSBDb21wdXRlIFEgPSByXi0xIChzUiAtICBlRylcXG4gIC8vICAgICAgICAgICAgICAgUSA9IHJeLTEgKHNSICsgLWVHKVxcbiAgcmV0dXJuIHRoaXMuZy5tdWxBZGQoczEsIHIsIHMyKTtcXG59O1xcblxcbkVDLnByb3RvdHlwZS5nZXRLZXlSZWNvdmVyeVBhcmFtID0gZnVuY3Rpb24oZSwgc2lnbmF0dXJlLCBRLCBlbmMpIHtcXG4gIHNpZ25hdHVyZSA9IG5ldyBTaWduYXR1cmUoc2lnbmF0dXJlLCBlbmMpO1xcbiAgaWYgKHNpZ25hdHVyZS5yZWNvdmVyeVBhcmFtICE9PSBudWxsKVxcbiAgICByZXR1cm4gc2lnbmF0dXJlLnJlY292ZXJ5UGFyYW07XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xcbiAgICB2YXIgUXByaW1lO1xcbiAgICB0cnkge1xcbiAgICAgIFFwcmltZSA9IHRoaXMucmVjb3ZlclB1YktleShlLCBzaWduYXR1cmUsIGkpO1xcbiAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKFFwcmltZS5lcShRKSlcXG4gICAgICByZXR1cm4gaTtcXG4gIH1cXG4gIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgdmFsaWQgcmVjb3ZlcnkgZmFjdG9yJyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldNdmFXNWtaWGd1YW5NL1pXUmtZaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZaXhUUVVGVExHMUNRVUZQTEVOQlFVTXNiVVZCUVU4N1FVRkRlRUlzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFJFUVVGWE8wRkJRMnhETEZsQlFWa3NiVUpCUVU4c1EwRkJReXdyUkVGQlZUdEJRVU01UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zYVVWQlFWYzdRVUZEYUVNc1YwRkJWeXh0UWtGQlR5eERRVUZETEdkRVFVRlRPMEZCUXpWQ096dEJRVVZCTEdOQlFXTXNiVUpCUVU4c1EwRkJReXcyUkVGQlR6dEJRVU0zUWl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4NVJVRkJZVHM3UVVGRmNrTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeGxRVUZsT3p0QlFVVm1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN08wRkJSVUVzYjBKQlFXOUNMRTFCUVUwN1FVRkRNVUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzTUVKQlFUQkNMREpEUVVFeVF6dEJRVU55UlR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNUMEZCVHp0QlFVTjRRanRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMlZzYkdsd2RHbGpMMnhwWWk5bGJHeHBjSFJwWXk5bFl5OXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlFSk9JRDBnY21WeGRXbHlaU2duWW00dWFuTW5LVHRjYm5aaGNpQkliV0ZqUkZKQ1J5QTlJSEpsY1hWcGNtVW9KMmh0WVdNdFpISmlaeWNwTzF4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQmpkWEoyWlhNZ1BTQnlaWEYxYVhKbEtDY3VMaTlqZFhKMlpYTW5LVHRjYm5aaGNpQnlZVzVrSUQwZ2NtVnhkV2x5WlNnblluSnZjbUZ1WkNjcE8xeHVkbUZ5SUdGemMyVnlkQ0E5SUhWMGFXeHpMbUZ6YzJWeWREdGNibHh1ZG1GeUlFdGxlVkJoYVhJZ1BTQnlaWEYxYVhKbEtDY3VMMnRsZVNjcE8xeHVkbUZ5SUZOcFoyNWhkSFZ5WlNBOUlISmxjWFZwY21Vb0p5NHZjMmxuYm1GMGRYSmxKeWs3WEc1Y2JtWjFibU4wYVc5dUlFVkRLRzl3ZEdsdmJuTXBJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVZES1NsY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUVWREtHOXdkR2x2Ym5NcE8xeHVYRzRnSUM4dklGTm9iM0owWTNWMElHQmxiR3hwY0hScFl5NWxZeWhqZFhKMlpTMXVZVzFsS1dCY2JpQWdhV1lnS0hSNWNHVnZaaUJ2Y0hScGIyNXpJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUdGemMyVnlkQ2hqZFhKMlpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2IzQjBhVzl1Y3lrc0lDZFZibXR1YjNkdUlHTjFjblpsSUNjZ0t5QnZjSFJwYjI1ektUdGNibHh1SUNBZ0lHOXdkR2x2Ym5NZ1BTQmpkWEoyWlhOYmIzQjBhVzl1YzEwN1hHNGdJSDFjYmx4dUlDQXZMeUJUYUc5eWRHTjFkQ0JtYjNJZ1lHVnNiR2x3ZEdsakxtVmpLR1ZzYkdsd2RHbGpMbU4xY25abGN5NWpkWEoyWlU1aGJXVXBZRnh1SUNCcFppQW9iM0IwYVc5dWN5QnBibk4wWVc1alpXOW1JR04xY25abGN5NVFjbVZ6WlhSRGRYSjJaU2xjYmlBZ0lDQnZjSFJwYjI1eklEMGdleUJqZFhKMlpUb2diM0IwYVc5dWN5QjlPMXh1WEc0Z0lIUm9hWE11WTNWeWRtVWdQU0J2Y0hScGIyNXpMbU4xY25abExtTjFjblpsTzF4dUlDQjBhR2x6TG00Z1BTQjBhR2x6TG1OMWNuWmxMbTQ3WEc0Z0lIUm9hWE11Ym1nZ1BTQjBhR2x6TG00dWRYTm9jbTRvTVNrN1hHNGdJSFJvYVhNdVp5QTlJSFJvYVhNdVkzVnlkbVV1Wnp0Y2JseHVJQ0F2THlCUWIybHVkQ0J2YmlCamRYSjJaVnh1SUNCMGFHbHpMbWNnUFNCdmNIUnBiMjV6TG1OMWNuWmxMbWM3WEc0Z0lIUm9hWE11Wnk1d2NtVmpiMjF3ZFhSbEtHOXdkR2x2Ym5NdVkzVnlkbVV1Ymk1aWFYUk1aVzVuZEdnb0tTQXJJREVwTzF4dVhHNGdJQzh2SUVoaGMyZ2dabTl5SUdaMWJtTjBhVzl1SUdadmNpQkVVa0pIWEc0Z0lIUm9hWE11YUdGemFDQTlJRzl3ZEdsdmJuTXVhR0Z6YUNCOGZDQnZjSFJwYjI1ekxtTjFjblpsTG1oaGMyZzdYRzU5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVWRE8xeHVYRzVGUXk1d2NtOTBiM1I1Y0dVdWEyVjVVR0ZwY2lBOUlHWjFibU4wYVc5dUlHdGxlVkJoYVhJb2IzQjBhVzl1Y3lrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUV0bGVWQmhhWElvZEdocGN5d2diM0IwYVc5dWN5azdYRzU5TzF4dVhHNUZReTV3Y205MGIzUjVjR1V1YTJWNVJuSnZiVkJ5YVhaaGRHVWdQU0JtZFc1amRHbHZiaUJyWlhsR2NtOXRVSEpwZG1GMFpTaHdjbWwyTENCbGJtTXBJSHRjYmlBZ2NtVjBkWEp1SUV0bGVWQmhhWEl1Wm5KdmJWQnlhWFpoZEdVb2RHaHBjeXdnY0hKcGRpd2daVzVqS1R0Y2JuMDdYRzVjYmtWRExuQnliM1J2ZEhsd1pTNXJaWGxHY205dFVIVmliR2xqSUQwZ1puVnVZM1JwYjI0Z2EyVjVSbkp2YlZCMVlteHBZeWh3ZFdJc0lHVnVZeWtnZTF4dUlDQnlaWFIxY200Z1MyVjVVR0ZwY2k1bWNtOXRVSFZpYkdsaktIUm9hWE1zSUhCMVlpd2daVzVqS1R0Y2JuMDdYRzVjYmtWRExuQnliM1J2ZEhsd1pTNW5aVzVMWlhsUVlXbHlJRDBnWm5WdVkzUnBiMjRnWjJWdVMyVjVVR0ZwY2lodmNIUnBiMjV6S1NCN1hHNGdJR2xtSUNnaGIzQjBhVzl1Y3lsY2JpQWdJQ0J2Y0hScGIyNXpJRDBnZTMwN1hHNWNiaUFnTHk4Z1NXNXpkR0Z1ZEdsaGRHVWdTRzFoWTE5RVVrSkhYRzRnSUhaaGNpQmtjbUpuSUQwZ2JtVjNJRWh0WVdORVVrSkhLSHRjYmlBZ0lDQm9ZWE5vT2lCMGFHbHpMbWhoYzJnc1hHNGdJQ0FnY0dWeWN6b2diM0IwYVc5dWN5NXdaWEp6TEZ4dUlDQWdJSEJsY25ORmJtTTZJRzl3ZEdsdmJuTXVjR1Z5YzBWdVl5QjhmQ0FuZFhSbU9DY3NYRzRnSUNBZ1pXNTBjbTl3ZVRvZ2IzQjBhVzl1Y3k1bGJuUnliM0I1SUh4OElISmhibVFvZEdocGN5NW9ZWE5vTG1odFlXTlRkSEpsYm1kMGFDa3NYRzRnSUNBZ1pXNTBjbTl3ZVVWdVl6b2diM0IwYVc5dWN5NWxiblJ5YjNCNUlDWW1JRzl3ZEdsdmJuTXVaVzUwY205d2VVVnVZeUI4ZkNBbmRYUm1PQ2NzWEc0Z0lDQWdibTl1WTJVNklIUm9hWE11Ymk1MGIwRnljbUY1S0NsY2JpQWdmU2s3WEc1Y2JpQWdkbUZ5SUdKNWRHVnpJRDBnZEdocGN5NXVMbUo1ZEdWTVpXNW5kR2dvS1R0Y2JpQWdkbUZ5SUc1ek1pQTlJSFJvYVhNdWJpNXpkV0lvYm1WM0lFSk9LRElwS1R0Y2JpQWdaRzhnZTF4dUlDQWdJSFpoY2lCd2NtbDJJRDBnYm1WM0lFSk9LR1J5WW1jdVoyVnVaWEpoZEdVb1lubDBaWE1wS1R0Y2JpQWdJQ0JwWmlBb2NISnBkaTVqYlhBb2JuTXlLU0ErSURBcFhHNGdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUhCeWFYWXVhV0ZrWkc0b01TazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhMlY1Um5KdmJWQnlhWFpoZEdVb2NISnBkaWs3WEc0Z0lIMGdkMmhwYkdVZ0tIUnlkV1VwTzF4dWZUdGNibHh1UlVNdWNISnZkRzkwZVhCbExsOTBjblZ1WTJGMFpWUnZUaUE5SUdaMWJtTjBhVzl1SUhSeWRXNWpZWFJsVkc5T0tHMXpaeXdnZEhKMWJtTlBibXg1S1NCN1hHNGdJSFpoY2lCa1pXeDBZU0E5SUcxelp5NWllWFJsVEdWdVozUm9LQ2tnS2lBNElDMGdkR2hwY3k1dUxtSnBkRXhsYm1kMGFDZ3BPMXh1SUNCcFppQW9aR1ZzZEdFZ1BpQXdLVnh1SUNBZ0lHMXpaeUE5SUcxelp5NTFjMmh5Ymloa1pXeDBZU2s3WEc0Z0lHbG1JQ2doZEhKMWJtTlBibXg1SUNZbUlHMXpaeTVqYlhBb2RHaHBjeTV1S1NBK1BTQXdLVnh1SUNBZ0lISmxkSFZ5YmlCdGMyY3VjM1ZpS0hSb2FYTXViaWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2JYTm5PMXh1ZlR0Y2JseHVSVU11Y0hKdmRHOTBlWEJsTG5OcFoyNGdQU0JtZFc1amRHbHZiaUJ6YVdkdUtHMXpaeXdnYTJWNUxDQmxibU1zSUc5d2RHbHZibk1wSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYm1NZ1BUMDlJQ2R2WW1wbFkzUW5LU0I3WEc0Z0lDQWdiM0IwYVc5dWN5QTlJR1Z1WXp0Y2JpQWdJQ0JsYm1NZ1BTQnVkV3hzTzF4dUlDQjlYRzRnSUdsbUlDZ2hiM0IwYVc5dWN5bGNiaUFnSUNCdmNIUnBiMjV6SUQwZ2UzMDdYRzVjYmlBZ2EyVjVJRDBnZEdocGN5NXJaWGxHY205dFVISnBkbUYwWlNoclpYa3NJR1Z1WXlrN1hHNGdJRzF6WnlBOUlIUm9hWE11WDNSeWRXNWpZWFJsVkc5T0tHNWxkeUJDVGlodGMyY3NJREUyS1NrN1hHNWNiaUFnTHk4Z1dtVnlieTFsZUhSbGJtUWdhMlY1SUhSdklIQnliM1pwWkdVZ1pXNXZkV2RvSUdWdWRISnZjSGxjYmlBZ2RtRnlJR0o1ZEdWeklEMGdkR2hwY3k1dUxtSjVkR1ZNWlc1bmRHZ29LVHRjYmlBZ2RtRnlJR0pyWlhrZ1BTQnJaWGt1WjJWMFVISnBkbUYwWlNncExuUnZRWEp5WVhrb0oySmxKeXdnWW5sMFpYTXBPMXh1WEc0Z0lDOHZJRnBsY204dFpYaDBaVzVrSUc1dmJtTmxJSFJ2SUdoaGRtVWdkR2hsSUhOaGJXVWdZbmwwWlNCemFYcGxJR0Z6SUU1Y2JpQWdkbUZ5SUc1dmJtTmxJRDBnYlhObkxuUnZRWEp5WVhrb0oySmxKeXdnWW5sMFpYTXBPMXh1WEc0Z0lDOHZJRWx1YzNSaGJuUnBZWFJsSUVodFlXTmZSRkpDUjF4dUlDQjJZWElnWkhKaVp5QTlJRzVsZHlCSWJXRmpSRkpDUnloN1hHNGdJQ0FnYUdGemFEb2dkR2hwY3k1b1lYTm9MRnh1SUNBZ0lHVnVkSEp2Y0hrNklHSnJaWGtzWEc0Z0lDQWdibTl1WTJVNklHNXZibU5sTEZ4dUlDQWdJSEJsY25NNklHOXdkR2x2Ym5NdWNHVnljeXhjYmlBZ0lDQndaWEp6Ulc1ak9pQnZjSFJwYjI1ekxuQmxjbk5GYm1NZ2ZId2dKM1YwWmpnblhHNGdJSDBwTzF4dVhHNGdJQzh2SUU1MWJXSmxjaUJ2WmlCaWVYUmxjeUIwYnlCblpXNWxjbUYwWlZ4dUlDQjJZWElnYm5NeElEMGdkR2hwY3k1dUxuTjFZaWh1WlhjZ1FrNG9NU2twTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2wwWlhJZ1BTQXdPeUIwY25WbE95QnBkR1Z5S3lzcElIdGNiaUFnSUNCMllYSWdheUE5SUc5d2RHbHZibk11YXlBL1hHNGdJQ0FnSUNBZ0lHOXdkR2x2Ym5NdWF5aHBkR1Z5S1NBNlhHNGdJQ0FnSUNBZ0lHNWxkeUJDVGloa2NtSm5MbWRsYm1WeVlYUmxLSFJvYVhNdWJpNWllWFJsVEdWdVozUm9LQ2twS1R0Y2JpQWdJQ0JySUQwZ2RHaHBjeTVmZEhKMWJtTmhkR1ZVYjA0b2F5d2dkSEoxWlNrN1hHNGdJQ0FnYVdZZ0tHc3VZMjF3YmlneEtTQThQU0F3SUh4OElHc3VZMjF3S0c1ek1Ta2dQajBnTUNsY2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnZG1GeUlHdHdJRDBnZEdocGN5NW5MbTExYkNocktUdGNiaUFnSUNCcFppQW9hM0F1YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNWNiaUFnSUNCMllYSWdhM0JZSUQwZ2EzQXVaMlYwV0NncE8xeHVJQ0FnSUhaaGNpQnlJRDBnYTNCWUxuVnRiMlFvZEdocGN5NXVLVHRjYmlBZ0lDQnBaaUFvY2k1amJYQnVLREFwSUQwOVBTQXdLVnh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQjJZWElnY3lBOUlHc3VhVzUyYlNoMGFHbHpMbTRwTG0xMWJDaHlMbTExYkNoclpYa3VaMlYwVUhKcGRtRjBaU2dwS1M1cFlXUmtLRzF6WnlrcE8xeHVJQ0FnSUhNZ1BTQnpMblZ0YjJRb2RHaHBjeTV1S1R0Y2JpQWdJQ0JwWmlBb2N5NWpiWEJ1S0RBcElEMDlQU0F3S1Z4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0IyWVhJZ2NtVmpiM1psY25sUVlYSmhiU0E5SUNocmNDNW5aWFJaS0NrdWFYTlBaR1FvS1NBL0lERWdPaUF3S1NCOFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBb2EzQllMbU50Y0NoeUtTQWhQVDBnTUNBL0lESWdPaUF3S1R0Y2JseHVJQ0FnSUM4dklGVnpaU0JqYjIxd2JHVnRaVzUwSUc5bUlHQnpZQ3dnYVdZZ2FYUWdhWE1nUGlCZ2JpQXZJREpnWEc0Z0lDQWdhV1lnS0c5d2RHbHZibk11WTJGdWIyNXBZMkZzSUNZbUlITXVZMjF3S0hSb2FYTXVibWdwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdjeUE5SUhSb2FYTXViaTV6ZFdJb2N5azdYRzRnSUNBZ0lDQnlaV052ZG1WeWVWQmhjbUZ0SUY0OUlERTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlRhV2R1WVhSMWNtVW9leUJ5T2lCeUxDQnpPaUJ6TENCeVpXTnZkbVZ5ZVZCaGNtRnRPaUJ5WldOdmRtVnllVkJoY21GdElIMHBPMXh1SUNCOVhHNTlPMXh1WEc1RlF5NXdjbTkwYjNSNWNHVXVkbVZ5YVdaNUlEMGdablZ1WTNScGIyNGdkbVZ5YVdaNUtHMXpaeXdnYzJsbmJtRjBkWEpsTENCclpYa3NJR1Z1WXlrZ2UxeHVJQ0J0YzJjZ1BTQjBhR2x6TGw5MGNuVnVZMkYwWlZSdlRpaHVaWGNnUWs0b2JYTm5MQ0F4TmlrcE8xeHVJQ0JyWlhrZ1BTQjBhR2x6TG10bGVVWnliMjFRZFdKc2FXTW9hMlY1TENCbGJtTXBPMXh1SUNCemFXZHVZWFIxY21VZ1BTQnVaWGNnVTJsbmJtRjBkWEpsS0hOcFoyNWhkSFZ5WlN3Z0oyaGxlQ2NwTzF4dVhHNGdJQzh2SUZCbGNtWnZjbTBnY0hKcGJXbDBhWFpsSUhaaGJIVmxjeUIyWVd4cFpHRjBhVzl1WEc0Z0lIWmhjaUJ5SUQwZ2MybG5ibUYwZFhKbExuSTdYRzRnSUhaaGNpQnpJRDBnYzJsbmJtRjBkWEpsTG5NN1hHNGdJR2xtSUNoeUxtTnRjRzRvTVNrZ1BDQXdJSHg4SUhJdVkyMXdLSFJvYVhNdWJpa2dQajBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJR2xtSUNoekxtTnRjRzRvTVNrZ1BDQXdJSHg4SUhNdVkyMXdLSFJvYVhNdWJpa2dQajBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnTHk4Z1ZtRnNhV1JoZEdVZ2MybG5ibUYwZFhKbFhHNGdJSFpoY2lCemFXNTJJRDBnY3k1cGJuWnRLSFJvYVhNdWJpazdYRzRnSUhaaGNpQjFNU0E5SUhOcGJuWXViWFZzS0cxelp5a3VkVzF2WkNoMGFHbHpMbTRwTzF4dUlDQjJZWElnZFRJZ1BTQnphVzUyTG0xMWJDaHlLUzUxYlc5a0tIUm9hWE11YmlrN1hHNWNiaUFnYVdZZ0tDRjBhR2x6TG1OMWNuWmxMbDl0WVhoM1pXeHNWSEpwWTJzcElIdGNiaUFnSUNCMllYSWdjQ0E5SUhSb2FYTXVaeTV0ZFd4QlpHUW9kVEVzSUd0bGVTNW5aWFJRZFdKc2FXTW9LU3dnZFRJcE8xeHVJQ0FnSUdsbUlDaHdMbWx6U1c1bWFXNXBkSGtvS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd0xtZGxkRmdvS1M1MWJXOWtLSFJvYVhNdWJpa3VZMjF3S0hJcElEMDlQU0F3TzF4dUlDQjlYRzVjYmlBZ0x5OGdUazlVUlRvZ1IzSmxaeUJOWVhoM1pXeHNKM01nZEhKcFkyc3NJR2x1YzNCcGNtVmtJR0o1T2x4dUlDQXZMeUJvZEhSd2N6b3ZMMmRwZEM1cGJ5OTJZV1F6UzF4dVhHNGdJSFpoY2lCd0lEMGdkR2hwY3k1bkxtcHRkV3hCWkdRb2RURXNJR3RsZVM1blpYUlFkV0pzYVdNb0tTd2dkVElwTzF4dUlDQnBaaUFvY0M1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdZSEF1ZUdBZ2IyWWdTbUZqYjJKcFlXNGdjRzlwYm5RZ2QybDBhQ0JnY21Bc1hHNGdJQzh2SUhSb2FYTWdkMmxzYkNCa2J5QmdjQzU0SUQwOUlISWdLaUJ3TG5wZU1tQWdhVzV6ZEdWaFpDQnZaaUJ0ZFd4MGFYQnNlV2x1WnlCZ2NDNTRZQ0JpZVNCMGFHVmNiaUFnTHk4Z2FXNTJaWEp6WlNCdlppQmdjQzU2WGpKZ1hHNGdJSEpsZEhWeWJpQndMbVZ4V0ZSdlVDaHlLVHRjYm4wN1hHNWNia1ZETG5CeWIzUnZkSGx3WlM1eVpXTnZkbVZ5VUhWaVMyVjVJRDBnWm5WdVkzUnBiMjRvYlhObkxDQnphV2R1WVhSMWNtVXNJR29zSUdWdVl5a2dlMXh1SUNCaGMzTmxjblFvS0RNZ0ppQnFLU0E5UFQwZ2Fpd2dKMVJvWlNCeVpXTnZkbVZ5ZVNCd1lYSmhiU0JwY3lCdGIzSmxJSFJvWVc0Z2RIZHZJR0pwZEhNbktUdGNiaUFnYzJsbmJtRjBkWEpsSUQwZ2JtVjNJRk5wWjI1aGRIVnlaU2h6YVdkdVlYUjFjbVVzSUdWdVl5azdYRzVjYmlBZ2RtRnlJRzRnUFNCMGFHbHpMbTQ3WEc0Z0lIWmhjaUJsSUQwZ2JtVjNJRUpPS0cxelp5azdYRzRnSUhaaGNpQnlJRDBnYzJsbmJtRjBkWEpsTG5JN1hHNGdJSFpoY2lCeklEMGdjMmxuYm1GMGRYSmxMbk03WEc1Y2JpQWdMeThnUVNCelpYUWdURk5DSUhOcFoyNXBabWxsY3lCMGFHRjBJSFJvWlNCNUxXTnZiM0prYVc1aGRHVWdhWE1nYjJSa1hHNGdJSFpoY2lCcGMxbFBaR1FnUFNCcUlDWWdNVHRjYmlBZ2RtRnlJR2x6VTJWamIyNWtTMlY1SUQwZ2FpQStQaUF4TzF4dUlDQnBaaUFvY2k1amJYQW9kR2hwY3k1amRYSjJaUzV3TG5WdGIyUW9kR2hwY3k1amRYSjJaUzV1S1NrZ1BqMGdNQ0FtSmlCcGMxTmxZMjl1WkV0bGVTbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdVlXSnNaU0IwYnlCbWFXNWtJSE5sYm1OdmJtUWdhMlY1SUdOaGJtUnBibUYwWlNjcE8xeHVYRzRnSUM4dklERXVNUzRnVEdWMElIZ2dQU0J5SUNzZ2FtNHVYRzRnSUdsbUlDaHBjMU5sWTI5dVpFdGxlU2xjYmlBZ0lDQnlJRDBnZEdocGN5NWpkWEoyWlM1d2IybHVkRVp5YjIxWUtISXVZV1JrS0hSb2FYTXVZM1Z5ZG1VdWJpa3NJR2x6V1U5a1pDazdYRzRnSUdWc2MyVmNiaUFnSUNCeUlEMGdkR2hwY3k1amRYSjJaUzV3YjJsdWRFWnliMjFZS0hJc0lHbHpXVTlrWkNrN1hHNWNiaUFnZG1GeUlISkpibllnUFNCemFXZHVZWFIxY21VdWNpNXBiblp0S0c0cE8xeHVJQ0IyWVhJZ2N6RWdQU0J1TG5OMVlpaGxLUzV0ZFd3b2NrbHVkaWt1ZFcxdlpDaHVLVHRjYmlBZ2RtRnlJSE15SUQwZ2N5NXRkV3dvY2tsdWRpa3VkVzF2WkNodUtUdGNibHh1SUNBdkx5QXhMall1TVNCRGIyMXdkWFJsSUZFZ1BTQnlYaTB4SUNoelVpQXRJQ0JsUnlsY2JpQWdMeThnSUNBZ0lDQWdJQ0FnSUNBZ0lDQlJJRDBnY2w0dE1TQW9jMUlnS3lBdFpVY3BYRzRnSUhKbGRIVnliaUIwYUdsekxtY3ViWFZzUVdSa0tITXhMQ0J5TENCek1pazdYRzU5TzF4dVhHNUZReTV3Y205MGIzUjVjR1V1WjJWMFMyVjVVbVZqYjNabGNubFFZWEpoYlNBOUlHWjFibU4wYVc5dUtHVXNJSE5wWjI1aGRIVnlaU3dnVVN3Z1pXNWpLU0I3WEc0Z0lITnBaMjVoZEhWeVpTQTlJRzVsZHlCVGFXZHVZWFIxY21Vb2MybG5ibUYwZFhKbExDQmxibU1wTzF4dUlDQnBaaUFvYzJsbmJtRjBkWEpsTG5KbFkyOTJaWEo1VUdGeVlXMGdJVDA5SUc1MWJHd3BYRzRnSUNBZ2NtVjBkWEp1SUhOcFoyNWhkSFZ5WlM1eVpXTnZkbVZ5ZVZCaGNtRnRPMXh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dORHNnYVNzcktTQjdYRzRnSUNBZ2RtRnlJRkZ3Y21sdFpUdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdVWEJ5YVcxbElEMGdkR2hwY3k1eVpXTnZkbVZ5VUhWaVMyVjVLR1VzSUhOcFoyNWhkSFZ5WlN3Z2FTazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRkZ3Y21sdFpTNWxjU2hSS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJwTzF4dUlDQjlYRzRnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1aFlteGxJSFJ2SUdacGJtUWdkbUZzYVdRZ2NtVmpiM1psY25rZ1ptRmpkRzl5SnlrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9rZXkuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWMva2V5LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKTtcXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG5cXG5mdW5jdGlvbiBLZXlQYWlyKGVjLCBvcHRpb25zKSB7XFxuICB0aGlzLmVjID0gZWM7XFxuICB0aGlzLnByaXYgPSBudWxsO1xcbiAgdGhpcy5wdWIgPSBudWxsO1xcblxcbiAgLy8gS2V5UGFpcihlYywgeyBwcml2OiAuLi4sIHB1YjogLi4uIH0pXFxuICBpZiAob3B0aW9ucy5wcml2KVxcbiAgICB0aGlzLl9pbXBvcnRQcml2YXRlKG9wdGlvbnMucHJpdiwgb3B0aW9ucy5wcml2RW5jKTtcXG4gIGlmIChvcHRpb25zLnB1YilcXG4gICAgdGhpcy5faW1wb3J0UHVibGljKG9wdGlvbnMucHViLCBvcHRpb25zLnB1YkVuYyk7XFxufVxcbm1vZHVsZS5leHBvcnRzID0gS2V5UGFpcjtcXG5cXG5LZXlQYWlyLmZyb21QdWJsaWMgPSBmdW5jdGlvbiBmcm9tUHVibGljKGVjLCBwdWIsIGVuYykge1xcbiAgaWYgKHB1YiBpbnN0YW5jZW9mIEtleVBhaXIpXFxuICAgIHJldHVybiBwdWI7XFxuXFxuICByZXR1cm4gbmV3IEtleVBhaXIoZWMsIHtcXG4gICAgcHViOiBwdWIsXFxuICAgIHB1YkVuYzogZW5jXFxuICB9KTtcXG59O1xcblxcbktleVBhaXIuZnJvbVByaXZhdGUgPSBmdW5jdGlvbiBmcm9tUHJpdmF0ZShlYywgcHJpdiwgZW5jKSB7XFxuICBpZiAocHJpdiBpbnN0YW5jZW9mIEtleVBhaXIpXFxuICAgIHJldHVybiBwcml2O1xcblxcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKGVjLCB7XFxuICAgIHByaXY6IHByaXYsXFxuICAgIHByaXZFbmM6IGVuY1xcbiAgfSk7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKCkge1xcbiAgdmFyIHB1YiA9IHRoaXMuZ2V0UHVibGljKCk7XFxuXFxuICBpZiAocHViLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnSW52YWxpZCBwdWJsaWMga2V5JyB9O1xcbiAgaWYgKCFwdWIudmFsaWRhdGUoKSlcXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnUHVibGljIGtleSBpcyBub3QgYSBwb2ludCcgfTtcXG4gIGlmICghcHViLm11bCh0aGlzLmVjLmN1cnZlLm4pLmlzSW5maW5pdHkoKSlcXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnUHVibGljIGtleSAqIE4gIT0gTycgfTtcXG5cXG4gIHJldHVybiB7IHJlc3VsdDogdHJ1ZSwgcmVhc29uOiBudWxsIH07XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5nZXRQdWJsaWMgPSBmdW5jdGlvbiBnZXRQdWJsaWMoY29tcGFjdCwgZW5jKSB7XFxuICAvLyBjb21wYWN0IGlzIG9wdGlvbmFsIGFyZ3VtZW50XFxuICBpZiAodHlwZW9mIGNvbXBhY3QgPT09ICdzdHJpbmcnKSB7XFxuICAgIGVuYyA9IGNvbXBhY3Q7XFxuICAgIGNvbXBhY3QgPSBudWxsO1xcbiAgfVxcblxcbiAgaWYgKCF0aGlzLnB1YilcXG4gICAgdGhpcy5wdWIgPSB0aGlzLmVjLmcubXVsKHRoaXMucHJpdik7XFxuXFxuICBpZiAoIWVuYylcXG4gICAgcmV0dXJuIHRoaXMucHViO1xcblxcbiAgcmV0dXJuIHRoaXMucHViLmVuY29kZShlbmMsIGNvbXBhY3QpO1xcbn07XFxuXFxuS2V5UGFpci5wcm90b3R5cGUuZ2V0UHJpdmF0ZSA9IGZ1bmN0aW9uIGdldFByaXZhdGUoZW5jKSB7XFxuICBpZiAoZW5jID09PSAnaGV4JylcXG4gICAgcmV0dXJuIHRoaXMucHJpdi50b1N0cmluZygxNiwgMik7XFxuICBlbHNlXFxuICAgIHJldHVybiB0aGlzLnByaXY7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHJpdmF0ZSA9IGZ1bmN0aW9uIF9pbXBvcnRQcml2YXRlKGtleSwgZW5jKSB7XFxuICB0aGlzLnByaXYgPSBuZXcgQk4oa2V5LCBlbmMgfHwgMTYpO1xcblxcbiAgLy8gRW5zdXJlIHRoYXQgdGhlIHByaXYgd29uJ3QgYmUgYmlnZ2VyIHRoYW4gbiwgb3RoZXJ3aXNlIHdlIG1heSBmYWlsXFxuICAvLyBpbiBmaXhlZCBtdWx0aXBsaWNhdGlvbiBtZXRob2RcXG4gIHRoaXMucHJpdiA9IHRoaXMucHJpdi51bW9kKHRoaXMuZWMuY3VydmUubik7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHVibGljID0gZnVuY3Rpb24gX2ltcG9ydFB1YmxpYyhrZXksIGVuYykge1xcbiAgaWYgKGtleS54IHx8IGtleS55KSB7XFxuICAgIC8vIE1vbnRnb21lcnkgcG9pbnRzIG9ubHkgaGF2ZSBhbiBgeGAgY29vcmRpbmF0ZS5cXG4gICAgLy8gV2VpZXJzdHJhc3MvRWR3YXJkcyBwb2ludHMgb24gdGhlIG90aGVyIGhhbmQgaGF2ZSBib3RoIGB4YCBhbmRcXG4gICAgLy8gYHlgIGNvb3JkaW5hdGVzLlxcbiAgICBpZiAodGhpcy5lYy5jdXJ2ZS50eXBlID09PSAnbW9udCcpIHtcXG4gICAgICBhc3NlcnQoa2V5LngsICdOZWVkIHggY29vcmRpbmF0ZScpO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWMuY3VydmUudHlwZSA9PT0gJ3Nob3J0JyB8fFxcbiAgICAgICAgICAgICAgIHRoaXMuZWMuY3VydmUudHlwZSA9PT0gJ2Vkd2FyZHMnKSB7XFxuICAgICAgYXNzZXJ0KGtleS54ICYmIGtleS55LCAnTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZScpO1xcbiAgICB9XFxuICAgIHRoaXMucHViID0gdGhpcy5lYy5jdXJ2ZS5wb2ludChrZXkueCwga2V5LnkpO1xcbiAgICByZXR1cm47XFxuICB9XFxuICB0aGlzLnB1YiA9IHRoaXMuZWMuY3VydmUuZGVjb2RlUG9pbnQoa2V5LCBlbmMpO1xcbn07XFxuXFxuLy8gRUNESFxcbktleVBhaXIucHJvdG90eXBlLmRlcml2ZSA9IGZ1bmN0aW9uIGRlcml2ZShwdWIpIHtcXG4gIHJldHVybiBwdWIubXVsKHRoaXMucHJpdikuZ2V0WCgpO1xcbn07XFxuXFxuLy8gRUNEU0FcXG5LZXlQYWlyLnByb3RvdHlwZS5zaWduID0gZnVuY3Rpb24gc2lnbihtc2csIGVuYywgb3B0aW9ucykge1xcbiAgcmV0dXJuIHRoaXMuZWMuc2lnbihtc2csIHRoaXMsIGVuYywgb3B0aW9ucyk7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobXNnLCBzaWduYXR1cmUpIHtcXG4gIHJldHVybiB0aGlzLmVjLnZlcmlmeShtc2csIHNpZ25hdHVyZSwgdGhpcyk7XFxufTtcXG5cXG5LZXlQYWlyLnByb3RvdHlwZS5pbnNwZWN0ID0gZnVuY3Rpb24gaW5zcGVjdCgpIHtcXG4gIHJldHVybiAnPEtleSBwcml2OiAnICsgKHRoaXMucHJpdiAmJiB0aGlzLnByaXYudG9TdHJpbmcoMTYsIDIpKSArXFxuICAgICAgICAgJyBwdWI6ICcgKyAodGhpcy5wdWIgJiYgdGhpcy5wdWIuaW5zcGVjdCgpKSArICcgPic7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldNdmEyVjVMbXB6UHpnd1pXWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExHMUZRVUZQTzBGQlEzaENMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hyUWtGQmEwSXNjMEpCUVhOQ08wRkJRM2hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRmxCUVZrN1FVRkRXanRCUVVOQkxGbEJRVms3UVVGRFdqdEJRVU5CTEZsQlFWazdPMEZCUlZvc1ZVRkJWVHRCUVVOV096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldNdmEyVjVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnUWs0Z1BTQnlaWEYxYVhKbEtDZGliaTVxY3ljcE8xeHVkbUZ5SUhWMGFXeHpJRDBnY21WeGRXbHlaU2duTGk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJoYzNObGNuUWdQU0IxZEdsc2N5NWhjM05sY25RN1hHNWNibVoxYm1OMGFXOXVJRXRsZVZCaGFYSW9aV01zSUc5d2RHbHZibk1wSUh0Y2JpQWdkR2hwY3k1bFl5QTlJR1ZqTzF4dUlDQjBhR2x6TG5CeWFYWWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxuQjFZaUE5SUc1MWJHdzdYRzVjYmlBZ0x5OGdTMlY1VUdGcGNpaGxZeXdnZXlCd2NtbDJPaUF1TGk0c0lIQjFZam9nTGk0dUlIMHBYRzRnSUdsbUlDaHZjSFJwYjI1ekxuQnlhWFlwWEc0Z0lDQWdkR2hwY3k1ZmFXMXdiM0owVUhKcGRtRjBaU2h2Y0hScGIyNXpMbkJ5YVhZc0lHOXdkR2x2Ym5NdWNISnBka1Z1WXlrN1hHNGdJR2xtSUNodmNIUnBiMjV6TG5CMVlpbGNiaUFnSUNCMGFHbHpMbDlwYlhCdmNuUlFkV0pzYVdNb2IzQjBhVzl1Y3k1d2RXSXNJRzl3ZEdsdmJuTXVjSFZpUlc1aktUdGNibjFjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnUzJWNVVHRnBjanRjYmx4dVMyVjVVR0ZwY2k1bWNtOXRVSFZpYkdsaklEMGdablZ1WTNScGIyNGdabkp2YlZCMVlteHBZeWhsWXl3Z2NIVmlMQ0JsYm1NcElIdGNiaUFnYVdZZ0tIQjFZaUJwYm5OMFlXNWpaVzltSUV0bGVWQmhhWElwWEc0Z0lDQWdjbVYwZFhKdUlIQjFZanRjYmx4dUlDQnlaWFIxY200Z2JtVjNJRXRsZVZCaGFYSW9aV01zSUh0Y2JpQWdJQ0J3ZFdJNklIQjFZaXhjYmlBZ0lDQndkV0pGYm1NNklHVnVZMXh1SUNCOUtUdGNibjA3WEc1Y2JrdGxlVkJoYVhJdVpuSnZiVkJ5YVhaaGRHVWdQU0JtZFc1amRHbHZiaUJtY205dFVISnBkbUYwWlNobFl5d2djSEpwZGl3Z1pXNWpLU0I3WEc0Z0lHbG1JQ2h3Y21sMklHbHVjM1JoYm1ObGIyWWdTMlY1VUdGcGNpbGNiaUFnSUNCeVpYUjFjbTRnY0hKcGRqdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lFdGxlVkJoYVhJb1pXTXNJSHRjYmlBZ0lDQndjbWwyT2lCd2NtbDJMRnh1SUNBZ0lIQnlhWFpGYm1NNklHVnVZMXh1SUNCOUtUdGNibjA3WEc1Y2JrdGxlVkJoYVhJdWNISnZkRzkwZVhCbExuWmhiR2xrWVhSbElEMGdablZ1WTNScGIyNGdkbUZzYVdSaGRHVW9LU0I3WEc0Z0lIWmhjaUJ3ZFdJZ1BTQjBhR2x6TG1kbGRGQjFZbXhwWXlncE8xeHVYRzRnSUdsbUlDaHdkV0l1YVhOSmJtWnBibWwwZVNncEtWeHVJQ0FnSUhKbGRIVnliaUI3SUhKbGMzVnNkRG9nWm1Gc2MyVXNJSEpsWVhOdmJqb2dKMGx1ZG1Gc2FXUWdjSFZpYkdsaklHdGxlU2NnZlR0Y2JpQWdhV1lnS0NGd2RXSXVkbUZzYVdSaGRHVW9LU2xjYmlBZ0lDQnlaWFIxY200Z2V5QnlaWE4xYkhRNklHWmhiSE5sTENCeVpXRnpiMjQ2SUNkUWRXSnNhV01nYTJWNUlHbHpJRzV2ZENCaElIQnZhVzUwSnlCOU8xeHVJQ0JwWmlBb0lYQjFZaTV0ZFd3b2RHaHBjeTVsWXk1amRYSjJaUzV1S1M1cGMwbHVabWx1YVhSNUtDa3BYRzRnSUNBZ2NtVjBkWEp1SUhzZ2NtVnpkV3gwT2lCbVlXeHpaU3dnY21WaGMyOXVPaUFuVUhWaWJHbGpJR3RsZVNBcUlFNGdJVDBnVHljZ2ZUdGNibHh1SUNCeVpYUjFjbTRnZXlCeVpYTjFiSFE2SUhSeWRXVXNJSEpsWVhOdmJqb2diblZzYkNCOU8xeHVmVHRjYmx4dVMyVjVVR0ZwY2k1d2NtOTBiM1I1Y0dVdVoyVjBVSFZpYkdsaklEMGdablZ1WTNScGIyNGdaMlYwVUhWaWJHbGpLR052YlhCaFkzUXNJR1Z1WXlrZ2UxeHVJQ0F2THlCamIyMXdZV04wSUdseklHOXdkR2x2Ym1Gc0lHRnlaM1Z0Wlc1MFhHNGdJR2xtSUNoMGVYQmxiMllnWTI5dGNHRmpkQ0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCbGJtTWdQU0JqYjIxd1lXTjBPMXh1SUNBZ0lHTnZiWEJoWTNRZ1BTQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0YwYUdsekxuQjFZaWxjYmlBZ0lDQjBhR2x6TG5CMVlpQTlJSFJvYVhNdVpXTXVaeTV0ZFd3b2RHaHBjeTV3Y21sMktUdGNibHh1SUNCcFppQW9JV1Z1WXlsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1d2RXSTdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTXVjSFZpTG1WdVkyOWtaU2hsYm1Nc0lHTnZiWEJoWTNRcE8xeHVmVHRjYmx4dVMyVjVVR0ZwY2k1d2NtOTBiM1I1Y0dVdVoyVjBVSEpwZG1GMFpTQTlJR1oxYm1OMGFXOXVJR2RsZEZCeWFYWmhkR1VvWlc1aktTQjdYRzRnSUdsbUlDaGxibU1nUFQwOUlDZG9aWGduS1Z4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5CeWFYWXVkRzlUZEhKcGJtY29NVFlzSURJcE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNISnBkanRjYm4wN1hHNWNia3RsZVZCaGFYSXVjSEp2ZEc5MGVYQmxMbDlwYlhCdmNuUlFjbWwyWVhSbElEMGdablZ1WTNScGIyNGdYMmx0Y0c5eWRGQnlhWFpoZEdVb2EyVjVMQ0JsYm1NcElIdGNiaUFnZEdocGN5NXdjbWwySUQwZ2JtVjNJRUpPS0d0bGVTd2daVzVqSUh4OElERTJLVHRjYmx4dUlDQXZMeUJGYm5OMWNtVWdkR2hoZENCMGFHVWdjSEpwZGlCM2IyNG5kQ0JpWlNCaWFXZG5aWElnZEdoaGJpQnVMQ0J2ZEdobGNuZHBjMlVnZDJVZ2JXRjVJR1poYVd4Y2JpQWdMeThnYVc0Z1ptbDRaV1FnYlhWc2RHbHdiR2xqWVhScGIyNGdiV1YwYUc5a1hHNGdJSFJvYVhNdWNISnBkaUE5SUhSb2FYTXVjSEpwZGk1MWJXOWtLSFJvYVhNdVpXTXVZM1Z5ZG1VdWJpazdYRzU5TzF4dVhHNUxaWGxRWVdseUxuQnliM1J2ZEhsd1pTNWZhVzF3YjNKMFVIVmliR2xqSUQwZ1puVnVZM1JwYjI0Z1gybHRjRzl5ZEZCMVlteHBZeWhyWlhrc0lHVnVZeWtnZTF4dUlDQnBaaUFvYTJWNUxuZ2dmSHdnYTJWNUxua3BJSHRjYmlBZ0lDQXZMeUJOYjI1MFoyOXRaWEo1SUhCdmFXNTBjeUJ2Ym14NUlHaGhkbVVnWVc0Z1lIaGdJR052YjNKa2FXNWhkR1V1WEc0Z0lDQWdMeThnVjJWcFpYSnpkSEpoYzNNdlJXUjNZWEprY3lCd2IybHVkSE1nYjI0Z2RHaGxJRzkwYUdWeUlHaGhibVFnYUdGMlpTQmliM1JvSUdCNFlDQmhibVJjYmlBZ0lDQXZMeUJnZVdBZ1kyOXZjbVJwYm1GMFpYTXVYRzRnSUNBZ2FXWWdLSFJvYVhNdVpXTXVZM1Z5ZG1VdWRIbHdaU0E5UFQwZ0oyMXZiblFuS1NCN1hHNGdJQ0FnSUNCaGMzTmxjblFvYTJWNUxuZ3NJQ2RPWldWa0lIZ2dZMjl2Y21ScGJtRjBaU2NwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NWxZeTVqZFhKMlpTNTBlWEJsSUQwOVBTQW5jMmh2Y25RbklIeDhYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhR2x6TG1WakxtTjFjblpsTG5SNWNHVWdQVDA5SUNkbFpIZGhjbVJ6SnlrZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0d0bGVTNTRJQ1ltSUd0bGVTNTVMQ0FuVG1WbFpDQmliM1JvSUhnZ1lXNWtJSGtnWTI5dmNtUnBibUYwWlNjcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwYUdsekxuQjFZaUE5SUhSb2FYTXVaV011WTNWeWRtVXVjRzlwYm5Rb2EyVjVMbmdzSUd0bGVTNTVLVHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmlBZ2RHaHBjeTV3ZFdJZ1BTQjBhR2x6TG1WakxtTjFjblpsTG1SbFkyOWtaVkJ2YVc1MEtHdGxlU3dnWlc1aktUdGNibjA3WEc1Y2JpOHZJRVZEUkVoY2JrdGxlVkJoYVhJdWNISnZkRzkwZVhCbExtUmxjbWwyWlNBOUlHWjFibU4wYVc5dUlHUmxjbWwyWlNod2RXSXBJSHRjYmlBZ2NtVjBkWEp1SUhCMVlpNXRkV3dvZEdocGN5NXdjbWwyS1M1blpYUllLQ2s3WEc1OU8xeHVYRzR2THlCRlEwUlRRVnh1UzJWNVVHRnBjaTV3Y205MGIzUjVjR1V1YzJsbmJpQTlJR1oxYm1OMGFXOXVJSE5wWjI0b2JYTm5MQ0JsYm1Nc0lHOXdkR2x2Ym5NcElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVpXTXVjMmxuYmlodGMyY3NJSFJvYVhNc0lHVnVZeXdnYjNCMGFXOXVjeWs3WEc1OU8xeHVYRzVMWlhsUVlXbHlMbkJ5YjNSdmRIbHdaUzUyWlhKcFpua2dQU0JtZFc1amRHbHZiaUIyWlhKcFpua29iWE5uTENCemFXZHVZWFIxY21VcElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVpXTXVkbVZ5YVdaNUtHMXpaeXdnYzJsbmJtRjBkWEpsTENCMGFHbHpLVHRjYm4wN1hHNWNia3RsZVZCaGFYSXVjSEp2ZEc5MGVYQmxMbWx1YzNCbFkzUWdQU0JtZFc1amRHbHZiaUJwYm5Od1pXTjBLQ2tnZTF4dUlDQnlaWFIxY200Z0p6eExaWGtnY0hKcGRqb2dKeUFySUNoMGFHbHpMbkJ5YVhZZ0ppWWdkR2hwY3k1d2NtbDJMblJ2VTNSeWFXNW5LREUyTENBeUtTa2dLMXh1SUNBZ0lDQWdJQ0FnSnlCd2RXSTZJQ2NnS3lBb2RHaHBjeTV3ZFdJZ0ppWWdkR2hwY3k1d2RXSXVhVzV6Y0dWamRDZ3BLU0FySUNjZ1BpYzdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VjL2tleS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VjL3NpZ25hdHVyZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lYy9zaWduYXR1cmUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xcblxcbmZ1bmN0aW9uIFNpZ25hdHVyZShvcHRpb25zLCBlbmMpIHtcXG4gIGlmIChvcHRpb25zIGluc3RhbmNlb2YgU2lnbmF0dXJlKVxcbiAgICByZXR1cm4gb3B0aW9ucztcXG5cXG4gIGlmICh0aGlzLl9pbXBvcnRERVIob3B0aW9ucywgZW5jKSlcXG4gICAgcmV0dXJuO1xcblxcbiAgYXNzZXJ0KG9wdGlvbnMuciAmJiBvcHRpb25zLnMsICdTaWduYXR1cmUgd2l0aG91dCByIG9yIHMnKTtcXG4gIHRoaXMuciA9IG5ldyBCTihvcHRpb25zLnIsIDE2KTtcXG4gIHRoaXMucyA9IG5ldyBCTihvcHRpb25zLnMsIDE2KTtcXG4gIGlmIChvcHRpb25zLnJlY292ZXJ5UGFyYW0gPT09IHVuZGVmaW5lZClcXG4gICAgdGhpcy5yZWNvdmVyeVBhcmFtID0gbnVsbDtcXG4gIGVsc2VcXG4gICAgdGhpcy5yZWNvdmVyeVBhcmFtID0gb3B0aW9ucy5yZWNvdmVyeVBhcmFtO1xcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hdHVyZTtcXG5cXG5mdW5jdGlvbiBQb3NpdGlvbigpIHtcXG4gIHRoaXMucGxhY2UgPSAwO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRMZW5ndGgoYnVmLCBwKSB7XFxuICB2YXIgaW5pdGlhbCA9IGJ1ZltwLnBsYWNlKytdO1xcbiAgaWYgKCEoaW5pdGlhbCAmIDB4ODApKSB7XFxuICAgIHJldHVybiBpbml0aWFsO1xcbiAgfVxcbiAgdmFyIG9jdGV0TGVuID0gaW5pdGlhbCAmIDB4ZjtcXG4gIHZhciB2YWwgPSAwO1xcbiAgZm9yICh2YXIgaSA9IDAsIG9mZiA9IHAucGxhY2U7IGkgPCBvY3RldExlbjsgaSsrLCBvZmYrKykge1xcbiAgICB2YWwgPDw9IDg7XFxuICAgIHZhbCB8PSBidWZbb2ZmXTtcXG4gIH1cXG4gIHAucGxhY2UgPSBvZmY7XFxuICByZXR1cm4gdmFsO1xcbn1cXG5cXG5mdW5jdGlvbiBybVBhZGRpbmcoYnVmKSB7XFxuICB2YXIgaSA9IDA7XFxuICB2YXIgbGVuID0gYnVmLmxlbmd0aCAtIDE7XFxuICB3aGlsZSAoIWJ1ZltpXSAmJiAhKGJ1ZltpICsgMV0gJiAweDgwKSAmJiBpIDwgbGVuKSB7XFxuICAgIGkrKztcXG4gIH1cXG4gIGlmIChpID09PSAwKSB7XFxuICAgIHJldHVybiBidWY7XFxuICB9XFxuICByZXR1cm4gYnVmLnNsaWNlKGkpO1xcbn1cXG5cXG5TaWduYXR1cmUucHJvdG90eXBlLl9pbXBvcnRERVIgPSBmdW5jdGlvbiBfaW1wb3J0REVSKGRhdGEsIGVuYykge1xcbiAgZGF0YSA9IHV0aWxzLnRvQXJyYXkoZGF0YSwgZW5jKTtcXG4gIHZhciBwID0gbmV3IFBvc2l0aW9uKCk7XFxuICBpZiAoZGF0YVtwLnBsYWNlKytdICE9PSAweDMwKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciBsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XFxuICBpZiAoKGxlbiArIHAucGxhY2UpICE9PSBkYXRhLmxlbmd0aCkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuICBpZiAoZGF0YVtwLnBsYWNlKytdICE9PSAweDAyKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciBybGVuID0gZ2V0TGVuZ3RoKGRhdGEsIHApO1xcbiAgdmFyIHIgPSBkYXRhLnNsaWNlKHAucGxhY2UsIHJsZW4gKyBwLnBsYWNlKTtcXG4gIHAucGxhY2UgKz0gcmxlbjtcXG4gIGlmIChkYXRhW3AucGxhY2UrK10gIT09IDB4MDIpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbiAgdmFyIHNsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XFxuICBpZiAoZGF0YS5sZW5ndGggIT09IHNsZW4gKyBwLnBsYWNlKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciBzID0gZGF0YS5zbGljZShwLnBsYWNlLCBzbGVuICsgcC5wbGFjZSk7XFxuICBpZiAoclswXSA9PT0gMCAmJiAoclsxXSAmIDB4ODApKSB7XFxuICAgIHIgPSByLnNsaWNlKDEpO1xcbiAgfVxcbiAgaWYgKHNbMF0gPT09IDAgJiYgKHNbMV0gJiAweDgwKSkge1xcbiAgICBzID0gcy5zbGljZSgxKTtcXG4gIH1cXG5cXG4gIHRoaXMuciA9IG5ldyBCTihyKTtcXG4gIHRoaXMucyA9IG5ldyBCTihzKTtcXG4gIHRoaXMucmVjb3ZlcnlQYXJhbSA9IG51bGw7XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbmZ1bmN0aW9uIGNvbnN0cnVjdExlbmd0aChhcnIsIGxlbikge1xcbiAgaWYgKGxlbiA8IDB4ODApIHtcXG4gICAgYXJyLnB1c2gobGVuKTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcbiAgdmFyIG9jdGV0cyA9IDEgKyAoTWF0aC5sb2cobGVuKSAvIE1hdGguTE4yID4+PiAzKTtcXG4gIGFyci5wdXNoKG9jdGV0cyB8IDB4ODApO1xcbiAgd2hpbGUgKC0tb2N0ZXRzKSB7XFxuICAgIGFyci5wdXNoKChsZW4gPj4+IChvY3RldHMgPDwgMykpICYgMHhmZik7XFxuICB9XFxuICBhcnIucHVzaChsZW4pO1xcbn1cXG5cXG5TaWduYXR1cmUucHJvdG90eXBlLnRvREVSID0gZnVuY3Rpb24gdG9ERVIoZW5jKSB7XFxuICB2YXIgciA9IHRoaXMuci50b0FycmF5KCk7XFxuICB2YXIgcyA9IHRoaXMucy50b0FycmF5KCk7XFxuXFxuICAvLyBQYWQgdmFsdWVzXFxuICBpZiAoclswXSAmIDB4ODApXFxuICAgIHIgPSBbIDAgXS5jb25jYXQocik7XFxuICAvLyBQYWQgdmFsdWVzXFxuICBpZiAoc1swXSAmIDB4ODApXFxuICAgIHMgPSBbIDAgXS5jb25jYXQocyk7XFxuXFxuICByID0gcm1QYWRkaW5nKHIpO1xcbiAgcyA9IHJtUGFkZGluZyhzKTtcXG5cXG4gIHdoaWxlICghc1swXSAmJiAhKHNbMV0gJiAweDgwKSkge1xcbiAgICBzID0gcy5zbGljZSgxKTtcXG4gIH1cXG4gIHZhciBhcnIgPSBbIDB4MDIgXTtcXG4gIGNvbnN0cnVjdExlbmd0aChhcnIsIHIubGVuZ3RoKTtcXG4gIGFyciA9IGFyci5jb25jYXQocik7XFxuICBhcnIucHVzaCgweDAyKTtcXG4gIGNvbnN0cnVjdExlbmd0aChhcnIsIHMubGVuZ3RoKTtcXG4gIHZhciBiYWNrSGFsZiA9IGFyci5jb25jYXQocyk7XFxuICB2YXIgcmVzID0gWyAweDMwIF07XFxuICBjb25zdHJ1Y3RMZW5ndGgocmVzLCBiYWNrSGFsZi5sZW5ndGgpO1xcbiAgcmVzID0gcmVzLmNvbmNhdChiYWNrSGFsZik7XFxuICByZXR1cm4gdXRpbHMuZW5jb2RlKHJlcywgZW5jKTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZaV012YzJsbmJtRjBkWEpsTG1welB6QXhaREVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVdFN08wRkJSV0lzVTBGQlV5eHRRa0ZCVHl4RFFVRkRMRzFGUVVGUE96dEJRVVY0UWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zSzBSQlFWVTdRVUZET1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2REUVVGblF5eGpRVUZqTzBGQlF6bERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpXeHNhWEIwYVdNdmJHbGlMMlZzYkdsd2RHbGpMMlZqTDNOcFoyNWhkSFZ5WlM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1ZG1GeUlFSk9JRDBnY21WeGRXbHlaU2duWW00dWFuTW5LVHRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQmhjM05sY25RZ1BTQjFkR2xzY3k1aGMzTmxjblE3WEc1Y2JtWjFibU4wYVc5dUlGTnBaMjVoZEhWeVpTaHZjSFJwYjI1ekxDQmxibU1wSUh0Y2JpQWdhV1lnS0c5d2RHbHZibk1nYVc1emRHRnVZMlZ2WmlCVGFXZHVZWFIxY21VcFhHNGdJQ0FnY21WMGRYSnVJRzl3ZEdsdmJuTTdYRzVjYmlBZ2FXWWdLSFJvYVhNdVgybHRjRzl5ZEVSRlVpaHZjSFJwYjI1ekxDQmxibU1wS1Z4dUlDQWdJSEpsZEhWeWJqdGNibHh1SUNCaGMzTmxjblFvYjNCMGFXOXVjeTV5SUNZbUlHOXdkR2x2Ym5NdWN5d2dKMU5wWjI1aGRIVnlaU0IzYVhSb2IzVjBJSElnYjNJZ2N5Y3BPMXh1SUNCMGFHbHpMbklnUFNCdVpYY2dRazRvYjNCMGFXOXVjeTV5TENBeE5pazdYRzRnSUhSb2FYTXVjeUE5SUc1bGR5QkNUaWh2Y0hScGIyNXpMbk1zSURFMktUdGNiaUFnYVdZZ0tHOXdkR2x2Ym5NdWNtVmpiM1psY25sUVlYSmhiU0E5UFQwZ2RXNWtaV1pwYm1Wa0tWeHVJQ0FnSUhSb2FYTXVjbVZqYjNabGNubFFZWEpoYlNBOUlHNTFiR3c3WEc0Z0lHVnNjMlZjYmlBZ0lDQjBhR2x6TG5KbFkyOTJaWEo1VUdGeVlXMGdQU0J2Y0hScGIyNXpMbkpsWTI5MlpYSjVVR0Z5WVcwN1hHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRk5wWjI1aGRIVnlaVHRjYmx4dVpuVnVZM1JwYjI0Z1VHOXphWFJwYjI0b0tTQjdYRzRnSUhSb2FYTXVjR3hoWTJVZ1BTQXdPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJNWlc1bmRHZ29ZblZtTENCd0tTQjdYRzRnSUhaaGNpQnBibWwwYVdGc0lEMGdZblZtVzNBdWNHeGhZMlVySzEwN1hHNGdJR2xtSUNnaEtHbHVhWFJwWVd3Z0ppQXdlRGd3S1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJwYm1sMGFXRnNPMXh1SUNCOVhHNGdJSFpoY2lCdlkzUmxkRXhsYmlBOUlHbHVhWFJwWVd3Z0ppQXdlR1k3WEc0Z0lIWmhjaUIyWVd3Z1BTQXdPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYjJabUlEMGdjQzV3YkdGalpUc2dhU0E4SUc5amRHVjBUR1Z1T3lCcEt5c3NJRzltWmlzcktTQjdYRzRnSUNBZ2RtRnNJRHc4UFNBNE8xeHVJQ0FnSUhaaGJDQjhQU0JpZFdaYmIyWm1YVHRjYmlBZ2ZWeHVJQ0J3TG5Cc1lXTmxJRDBnYjJabU8xeHVJQ0J5WlhSMWNtNGdkbUZzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5YlZCaFpHUnBibWNvWW5WbUtTQjdYRzRnSUhaaGNpQnBJRDBnTUR0Y2JpQWdkbUZ5SUd4bGJpQTlJR0oxWmk1c1pXNW5kR2dnTFNBeE8xeHVJQ0IzYUdsc1pTQW9JV0oxWmx0cFhTQW1KaUFoS0dKMVpsdHBJQ3NnTVYwZ0ppQXdlRGd3S1NBbUppQnBJRHdnYkdWdUtTQjdYRzRnSUNBZ2FTc3JPMXh1SUNCOVhHNGdJR2xtSUNocElEMDlQU0F3S1NCN1hHNGdJQ0FnY21WMGRYSnVJR0oxWmp0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnWW5WbUxuTnNhV05sS0drcE8xeHVmVnh1WEc1VGFXZHVZWFIxY21VdWNISnZkRzkwZVhCbExsOXBiWEJ2Y25SRVJWSWdQU0JtZFc1amRHbHZiaUJmYVcxd2IzSjBSRVZTS0dSaGRHRXNJR1Z1WXlrZ2UxeHVJQ0JrWVhSaElEMGdkWFJwYkhNdWRHOUJjbkpoZVNoa1lYUmhMQ0JsYm1NcE8xeHVJQ0IyWVhJZ2NDQTlJRzVsZHlCUWIzTnBkR2x2YmlncE8xeHVJQ0JwWmlBb1pHRjBZVnR3TG5Cc1lXTmxLeXRkSUNFOVBTQXdlRE13S1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc0Z0lIWmhjaUJzWlc0Z1BTQm5aWFJNWlc1bmRHZ29aR0YwWVN3Z2NDazdYRzRnSUdsbUlDZ29iR1Z1SUNzZ2NDNXdiR0ZqWlNrZ0lUMDlJR1JoZEdFdWJHVnVaM1JvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc0Z0lHbG1JQ2hrWVhSaFczQXVjR3hoWTJVcksxMGdJVDA5SURCNE1ESXBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNiaUFnZG1GeUlISnNaVzRnUFNCblpYUk1aVzVuZEdnb1pHRjBZU3dnY0NrN1hHNGdJSFpoY2lCeUlEMGdaR0YwWVM1emJHbGpaU2h3TG5Cc1lXTmxMQ0J5YkdWdUlDc2djQzV3YkdGalpTazdYRzRnSUhBdWNHeGhZMlVnS3owZ2NteGxianRjYmlBZ2FXWWdLR1JoZEdGYmNDNXdiR0ZqWlNzclhTQWhQVDBnTUhnd01pa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVJQ0IyWVhJZ2MyeGxiaUE5SUdkbGRFeGxibWQwYUNoa1lYUmhMQ0J3S1R0Y2JpQWdhV1lnS0dSaGRHRXViR1Z1WjNSb0lDRTlQU0J6YkdWdUlDc2djQzV3YkdGalpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVJQ0IyWVhJZ2N5QTlJR1JoZEdFdWMyeHBZMlVvY0M1d2JHRmpaU3dnYzJ4bGJpQXJJSEF1Y0d4aFkyVXBPMXh1SUNCcFppQW9jbHN3WFNBOVBUMGdNQ0FtSmlBb2Nsc3hYU0FtSURCNE9EQXBLU0I3WEc0Z0lDQWdjaUE5SUhJdWMyeHBZMlVvTVNrN1hHNGdJSDFjYmlBZ2FXWWdLSE5iTUYwZ1BUMDlJREFnSmlZZ0tITmJNVjBnSmlBd2VEZ3dLU2tnZTF4dUlDQWdJSE1nUFNCekxuTnNhV05sS0RFcE8xeHVJQ0I5WEc1Y2JpQWdkR2hwY3k1eUlEMGdibVYzSUVKT0tISXBPMXh1SUNCMGFHbHpMbk1nUFNCdVpYY2dRazRvY3lrN1hHNGdJSFJvYVhNdWNtVmpiM1psY25sUVlYSmhiU0E5SUc1MWJHdzdYRzVjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQmpiMjV6ZEhKMVkzUk1aVzVuZEdnb1lYSnlMQ0JzWlc0cElIdGNiaUFnYVdZZ0tHeGxiaUE4SURCNE9EQXBJSHRjYmlBZ0lDQmhjbkl1Y0hWemFDaHNaVzRwTzF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dUlDQjJZWElnYjJOMFpYUnpJRDBnTVNBcklDaE5ZWFJvTG14dlp5aHNaVzRwSUM4Z1RXRjBhQzVNVGpJZ1BqNCtJRE1wTzF4dUlDQmhjbkl1Y0hWemFDaHZZM1JsZEhNZ2ZDQXdlRGd3S1R0Y2JpQWdkMmhwYkdVZ0tDMHRiMk4wWlhSektTQjdYRzRnSUNBZ1lYSnlMbkIxYzJnb0tHeGxiaUErUGo0Z0tHOWpkR1YwY3lBOFBDQXpLU2tnSmlBd2VHWm1LVHRjYmlBZ2ZWeHVJQ0JoY25JdWNIVnphQ2hzWlc0cE8xeHVmVnh1WEc1VGFXZHVZWFIxY21VdWNISnZkRzkwZVhCbExuUnZSRVZTSUQwZ1puVnVZM1JwYjI0Z2RHOUVSVklvWlc1aktTQjdYRzRnSUhaaGNpQnlJRDBnZEdocGN5NXlMblJ2UVhKeVlYa29LVHRjYmlBZ2RtRnlJSE1nUFNCMGFHbHpMbk11ZEc5QmNuSmhlU2dwTzF4dVhHNGdJQzh2SUZCaFpDQjJZV3gxWlhOY2JpQWdhV1lnS0hKYk1GMGdKaUF3ZURnd0tWeHVJQ0FnSUhJZ1BTQmJJREFnWFM1amIyNWpZWFFvY2lrN1hHNGdJQzh2SUZCaFpDQjJZV3gxWlhOY2JpQWdhV1lnS0hOYk1GMGdKaUF3ZURnd0tWeHVJQ0FnSUhNZ1BTQmJJREFnWFM1amIyNWpZWFFvY3lrN1hHNWNiaUFnY2lBOUlISnRVR0ZrWkdsdVp5aHlLVHRjYmlBZ2N5QTlJSEp0VUdGa1pHbHVaeWh6S1R0Y2JseHVJQ0IzYUdsc1pTQW9JWE5iTUYwZ0ppWWdJU2h6V3pGZElDWWdNSGc0TUNrcElIdGNiaUFnSUNCeklEMGdjeTV6YkdsalpTZ3hLVHRjYmlBZ2ZWeHVJQ0IyWVhJZ1lYSnlJRDBnV3lBd2VEQXlJRjA3WEc0Z0lHTnZibk4wY25WamRFeGxibWQwYUNoaGNuSXNJSEl1YkdWdVozUm9LVHRjYmlBZ1lYSnlJRDBnWVhKeUxtTnZibU5oZENoeUtUdGNiaUFnWVhKeUxuQjFjMmdvTUhnd01pazdYRzRnSUdOdmJuTjBjblZqZEV4bGJtZDBhQ2hoY25Jc0lITXViR1Z1WjNSb0tUdGNiaUFnZG1GeUlHSmhZMnRJWVd4bUlEMGdZWEp5TG1OdmJtTmhkQ2h6S1R0Y2JpQWdkbUZ5SUhKbGN5QTlJRnNnTUhnek1DQmRPMXh1SUNCamIyNXpkSEoxWTNSTVpXNW5kR2dvY21WekxDQmlZV05yU0dGc1ppNXNaVzVuZEdncE8xeHVJQ0J5WlhNZ1BTQnlaWE11WTI5dVkyRjBLR0poWTJ0SVlXeG1LVHRjYmlBZ2NtVjBkWEp1SUhWMGFXeHpMbVZ1WTI5a1pTaHlaWE1zSUdWdVl5azdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VjL3NpZ25hdHVyZS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvZWRkc2EvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBoYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1xcXCIpO1xcbnZhciBjdXJ2ZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jdXJ2ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9jdXJ2ZXMuanNcXFwiKTtcXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG52YXIgcGFyc2VCeXRlcyA9IHV0aWxzLnBhcnNlQnl0ZXM7XFxudmFyIEtleVBhaXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2tleSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qc1xcXCIpO1xcbnZhciBTaWduYXR1cmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NpZ25hdHVyZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL3NpZ25hdHVyZS5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIEVERFNBKGN1cnZlKSB7XFxuICBhc3NlcnQoY3VydmUgPT09ICdlZDI1NTE5JywgJ29ubHkgdGVzdGVkIHdpdGggZWQyNTUxOSBzbyBmYXInKTtcXG5cXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBFRERTQSkpXFxuICAgIHJldHVybiBuZXcgRUREU0EoY3VydmUpO1xcblxcbiAgdmFyIGN1cnZlID0gY3VydmVzW2N1cnZlXS5jdXJ2ZTtcXG4gIHRoaXMuY3VydmUgPSBjdXJ2ZTtcXG4gIHRoaXMuZyA9IGN1cnZlLmc7XFxuICB0aGlzLmcucHJlY29tcHV0ZShjdXJ2ZS5uLmJpdExlbmd0aCgpICsgMSk7XFxuXFxuICB0aGlzLnBvaW50Q2xhc3MgPSBjdXJ2ZS5wb2ludCgpLmNvbnN0cnVjdG9yO1xcbiAgdGhpcy5lbmNvZGluZ0xlbmd0aCA9IE1hdGguY2VpbChjdXJ2ZS5uLmJpdExlbmd0aCgpIC8gOCk7XFxuICB0aGlzLmhhc2ggPSBoYXNoLnNoYTUxMjtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBFRERTQTtcXG5cXG4vKipcXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfSBtZXNzYWdlIC0gbWVzc2FnZSBieXRlc1xcbiogQHBhcmFtIHtBcnJheXxTdHJpbmd8S2V5UGFpcn0gc2VjcmV0IC0gc2VjcmV0IGJ5dGVzIG9yIGEga2V5cGFpclxcbiogQHJldHVybnMge1NpZ25hdHVyZX0gLSBzaWduYXR1cmVcXG4qL1xcbkVERFNBLnByb3RvdHlwZS5zaWduID0gZnVuY3Rpb24gc2lnbihtZXNzYWdlLCBzZWNyZXQpIHtcXG4gIG1lc3NhZ2UgPSBwYXJzZUJ5dGVzKG1lc3NhZ2UpO1xcbiAgdmFyIGtleSA9IHRoaXMua2V5RnJvbVNlY3JldChzZWNyZXQpO1xcbiAgdmFyIHIgPSB0aGlzLmhhc2hJbnQoa2V5Lm1lc3NhZ2VQcmVmaXgoKSwgbWVzc2FnZSk7XFxuICB2YXIgUiA9IHRoaXMuZy5tdWwocik7XFxuICB2YXIgUmVuY29kZWQgPSB0aGlzLmVuY29kZVBvaW50KFIpO1xcbiAgdmFyIHNfID0gdGhpcy5oYXNoSW50KFJlbmNvZGVkLCBrZXkucHViQnl0ZXMoKSwgbWVzc2FnZSlcXG4gICAgICAgICAgICAgICAubXVsKGtleS5wcml2KCkpO1xcbiAgdmFyIFMgPSByLmFkZChzXykudW1vZCh0aGlzLmN1cnZlLm4pO1xcbiAgcmV0dXJuIHRoaXMubWFrZVNpZ25hdHVyZSh7IFI6IFIsIFM6IFMsIFJlbmNvZGVkOiBSZW5jb2RlZCB9KTtcXG59O1xcblxcbi8qKlxcbiogQHBhcmFtIHtBcnJheX0gbWVzc2FnZSAtIG1lc3NhZ2UgYnl0ZXNcXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfFNpZ25hdHVyZX0gc2lnIC0gc2lnIGJ5dGVzXFxuKiBAcGFyYW0ge0FycmF5fFN0cmluZ3xQb2ludHxLZXlQYWlyfSBwdWIgLSBwdWJsaWMga2V5XFxuKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSB0cnVlIGlmIHB1YmxpYyBrZXkgbWF0Y2hlcyBzaWcgb2YgbWVzc2FnZVxcbiovXFxuRUREU0EucHJvdG90eXBlLnZlcmlmeSA9IGZ1bmN0aW9uIHZlcmlmeShtZXNzYWdlLCBzaWcsIHB1Yikge1xcbiAgbWVzc2FnZSA9IHBhcnNlQnl0ZXMobWVzc2FnZSk7XFxuICBzaWcgPSB0aGlzLm1ha2VTaWduYXR1cmUoc2lnKTtcXG4gIHZhciBrZXkgPSB0aGlzLmtleUZyb21QdWJsaWMocHViKTtcXG4gIHZhciBoID0gdGhpcy5oYXNoSW50KHNpZy5SZW5jb2RlZCgpLCBrZXkucHViQnl0ZXMoKSwgbWVzc2FnZSk7XFxuICB2YXIgU0cgPSB0aGlzLmcubXVsKHNpZy5TKCkpO1xcbiAgdmFyIFJwbHVzQWggPSBzaWcuUigpLmFkZChrZXkucHViKCkubXVsKGgpKTtcXG4gIHJldHVybiBScGx1c0FoLmVxKFNHKTtcXG59O1xcblxcbkVERFNBLnByb3RvdHlwZS5oYXNoSW50ID0gZnVuY3Rpb24gaGFzaEludCgpIHtcXG4gIHZhciBoYXNoID0gdGhpcy5oYXNoKCk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcXG4gICAgaGFzaC51cGRhdGUoYXJndW1lbnRzW2ldKTtcXG4gIHJldHVybiB1dGlscy5pbnRGcm9tTEUoaGFzaC5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLmtleUZyb21QdWJsaWMgPSBmdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1Yikge1xcbiAgcmV0dXJuIEtleVBhaXIuZnJvbVB1YmxpYyh0aGlzLCBwdWIpO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLmtleUZyb21TZWNyZXQgPSBmdW5jdGlvbiBrZXlGcm9tU2VjcmV0KHNlY3JldCkge1xcbiAgcmV0dXJuIEtleVBhaXIuZnJvbVNlY3JldCh0aGlzLCBzZWNyZXQpO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLm1ha2VTaWduYXR1cmUgPSBmdW5jdGlvbiBtYWtlU2lnbmF0dXJlKHNpZykge1xcbiAgaWYgKHNpZyBpbnN0YW5jZW9mIFNpZ25hdHVyZSlcXG4gICAgcmV0dXJuIHNpZztcXG4gIHJldHVybiBuZXcgU2lnbmF0dXJlKHRoaXMsIHNpZyk7XFxufTtcXG5cXG4vKipcXG4qICogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWpvc2Vmc3Nvbi1lZGRzYS1lZDI1NTE5LTAzI3NlY3Rpb24tNS4yXFxuKlxcbiogRUREU0EgZGVmaW5lcyBtZXRob2RzIGZvciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgcG9pbnRzIGFuZCBpbnRlZ2Vycy4gVGhlc2UgYXJlXFxuKiBoZWxwZXIgY29udmVuaWVuY2UgbWV0aG9kcywgdGhhdCBwYXNzIGFsb25nIHRvIHV0aWxpdHkgZnVuY3Rpb25zIGltcGxpZWRcXG4qIHBhcmFtZXRlcnMuXFxuKlxcbiovXFxuRUREU0EucHJvdG90eXBlLmVuY29kZVBvaW50ID0gZnVuY3Rpb24gZW5jb2RlUG9pbnQocG9pbnQpIHtcXG4gIHZhciBlbmMgPSBwb2ludC5nZXRZKCkudG9BcnJheSgnbGUnLCB0aGlzLmVuY29kaW5nTGVuZ3RoKTtcXG4gIGVuY1t0aGlzLmVuY29kaW5nTGVuZ3RoIC0gMV0gfD0gcG9pbnQuZ2V0WCgpLmlzT2RkKCkgPyAweDgwIDogMDtcXG4gIHJldHVybiBlbmM7XFxufTtcXG5cXG5FRERTQS5wcm90b3R5cGUuZGVjb2RlUG9pbnQgPSBmdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcykge1xcbiAgYnl0ZXMgPSB1dGlscy5wYXJzZUJ5dGVzKGJ5dGVzKTtcXG5cXG4gIHZhciBsYXN0SXggPSBieXRlcy5sZW5ndGggLSAxO1xcbiAgdmFyIG5vcm1lZCA9IGJ5dGVzLnNsaWNlKDAsIGxhc3RJeCkuY29uY2F0KGJ5dGVzW2xhc3RJeF0gJiB+MHg4MCk7XFxuICB2YXIgeElzT2RkID0gKGJ5dGVzW2xhc3RJeF0gJiAweDgwKSAhPT0gMDtcXG5cXG4gIHZhciB5ID0gdXRpbHMuaW50RnJvbUxFKG5vcm1lZCk7XFxuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKHksIHhJc09kZCk7XFxufTtcXG5cXG5FRERTQS5wcm90b3R5cGUuZW5jb2RlSW50ID0gZnVuY3Rpb24gZW5jb2RlSW50KG51bSkge1xcbiAgcmV0dXJuIG51bS50b0FycmF5KCdsZScsIHRoaXMuZW5jb2RpbmdMZW5ndGgpO1xcbn07XFxuXFxuRUREU0EucHJvdG90eXBlLmRlY29kZUludCA9IGZ1bmN0aW9uIGRlY29kZUludChieXRlcykge1xcbiAgcmV0dXJuIHV0aWxzLmludEZyb21MRShieXRlcyk7XFxufTtcXG5cXG5FRERTQS5wcm90b3R5cGUuaXNQb2ludCA9IGZ1bmN0aW9uIGlzUG9pbnQodmFsKSB7XFxuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgdGhpcy5wb2ludENsYXNzO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTlzYVdJdlpXeHNhWEIwYVdNdlpXUmtjMkV2YVc1a1pYZ3Vhbk0vTnpJeFpDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc2JVUkJRVk03UVVGRE5VSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHbEZRVUZYTzBGQlEyaERMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRanRCUVVOQk8wRkJRMEVzWTBGQll5eHRRa0ZCVHl4RFFVRkRMR2RGUVVGUE8wRkJRemRDTEdkQ1FVRm5RaXh0UWtGQlR5eERRVUZETERSRlFVRmhPenRCUVVWeVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3hWUVVGVkxHRkJRV0U3UVVGRGRrSXNWVUZCVlN4eFFrRkJjVUk3UVVGREwwSXNXVUZCV1N4VlFVRlZPMEZCUTNSQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTmtKQlFUWkNMR2xEUVVGcFF6dEJRVU01UkRzN1FVRkZRVHRCUVVOQkxGVkJRVlVzVFVGQlRUdEJRVU5vUWl4VlFVRlZMSFZDUVVGMVFqdEJRVU5xUXl4VlFVRlZMREpDUVVFeVFqdEJRVU55UXl4WlFVRlpMRkZCUVZFN1FVRkRjRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeHpRa0ZCYzBJN1FVRkRka003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZaV3hzYVhCMGFXTXZiR2xpTDJWc2JHbHdkR2xqTDJWa1pITmhMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdhR0Z6YUNBOUlISmxjWFZwY21Vb0oyaGhjMmd1YW5NbktUdGNiblpoY2lCamRYSjJaWE1nUFNCeVpYRjFhWEpsS0NjdUxpOWpkWEoyWlhNbktUdGNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dUwzVjBhV3h6SnlrN1hHNTJZWElnWVhOelpYSjBJRDBnZFhScGJITXVZWE56WlhKME8xeHVkbUZ5SUhCaGNuTmxRbmwwWlhNZ1BTQjFkR2xzY3k1d1lYSnpaVUo1ZEdWek8xeHVkbUZ5SUV0bGVWQmhhWElnUFNCeVpYRjFhWEpsS0NjdUwydGxlU2NwTzF4dWRtRnlJRk5wWjI1aGRIVnlaU0E5SUhKbGNYVnBjbVVvSnk0dmMybG5ibUYwZFhKbEp5azdYRzVjYm1aMWJtTjBhVzl1SUVWRVJGTkJLR04xY25abEtTQjdYRzRnSUdGemMyVnlkQ2hqZFhKMlpTQTlQVDBnSjJWa01qVTFNVGtuTENBbmIyNXNlU0IwWlhOMFpXUWdkMmwwYUNCbFpESTFOVEU1SUhOdklHWmhjaWNwTzF4dVhHNGdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCRlJFUlRRU2twWEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJGUkVSVFFTaGpkWEoyWlNrN1hHNWNiaUFnZG1GeUlHTjFjblpsSUQwZ1kzVnlkbVZ6VzJOMWNuWmxYUzVqZFhKMlpUdGNiaUFnZEdocGN5NWpkWEoyWlNBOUlHTjFjblpsTzF4dUlDQjBhR2x6TG1jZ1BTQmpkWEoyWlM1bk8xeHVJQ0IwYUdsekxtY3VjSEpsWTI5dGNIVjBaU2hqZFhKMlpTNXVMbUpwZEV4bGJtZDBhQ2dwSUNzZ01TazdYRzVjYmlBZ2RHaHBjeTV3YjJsdWRFTnNZWE56SUQwZ1kzVnlkbVV1Y0c5cGJuUW9LUzVqYjI1emRISjFZM1J2Y2p0Y2JpQWdkR2hwY3k1bGJtTnZaR2x1WjB4bGJtZDBhQ0E5SUUxaGRHZ3VZMlZwYkNoamRYSjJaUzV1TG1KcGRFeGxibWQwYUNncElDOGdPQ2s3WEc0Z0lIUm9hWE11YUdGemFDQTlJR2hoYzJndWMyaGhOVEV5TzF4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRVZFUkZOQk8xeHVYRzR2S2lwY2Jpb2dRSEJoY21GdElIdEJjbkpoZVh4VGRISnBibWQ5SUcxbGMzTmhaMlVnTFNCdFpYTnpZV2RsSUdKNWRHVnpYRzRxSUVCd1lYSmhiU0I3UVhKeVlYbDhVM1J5YVc1bmZFdGxlVkJoYVhKOUlITmxZM0psZENBdElITmxZM0psZENCaWVYUmxjeUJ2Y2lCaElHdGxlWEJoYVhKY2Jpb2dRSEpsZEhWeWJuTWdlMU5wWjI1aGRIVnlaWDBnTFNCemFXZHVZWFIxY21WY2Jpb3ZYRzVGUkVSVFFTNXdjbTkwYjNSNWNHVXVjMmxuYmlBOUlHWjFibU4wYVc5dUlITnBaMjRvYldWemMyRm5aU3dnYzJWamNtVjBLU0I3WEc0Z0lHMWxjM05oWjJVZ1BTQndZWEp6WlVKNWRHVnpLRzFsYzNOaFoyVXBPMXh1SUNCMllYSWdhMlY1SUQwZ2RHaHBjeTVyWlhsR2NtOXRVMlZqY21WMEtITmxZM0psZENrN1hHNGdJSFpoY2lCeUlEMGdkR2hwY3k1b1lYTm9TVzUwS0d0bGVTNXRaWE56WVdkbFVISmxabWw0S0Nrc0lHMWxjM05oWjJVcE8xeHVJQ0IyWVhJZ1VpQTlJSFJvYVhNdVp5NXRkV3dvY2lrN1hHNGdJSFpoY2lCU1pXNWpiMlJsWkNBOUlIUm9hWE11Wlc1amIyUmxVRzlwYm5Rb1VpazdYRzRnSUhaaGNpQnpYeUE5SUhSb2FYTXVhR0Z6YUVsdWRDaFNaVzVqYjJSbFpDd2dhMlY1TG5CMVlrSjVkR1Z6S0Nrc0lHMWxjM05oWjJVcFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdWJYVnNLR3RsZVM1d2NtbDJLQ2twTzF4dUlDQjJZWElnVXlBOUlISXVZV1JrS0hOZktTNTFiVzlrS0hSb2FYTXVZM1Z5ZG1VdWJpazdYRzRnSUhKbGRIVnliaUIwYUdsekxtMWhhMlZUYVdkdVlYUjFjbVVvZXlCU09pQlNMQ0JUT2lCVExDQlNaVzVqYjJSbFpEb2dVbVZ1WTI5a1pXUWdmU2s3WEc1OU8xeHVYRzR2S2lwY2Jpb2dRSEJoY21GdElIdEJjbkpoZVgwZ2JXVnpjMkZuWlNBdElHMWxjM05oWjJVZ1lubDBaWE5jYmlvZ1FIQmhjbUZ0SUh0QmNuSmhlWHhUZEhKcGJtZDhVMmxuYm1GMGRYSmxmU0J6YVdjZ0xTQnphV2NnWW5sMFpYTmNiaW9nUUhCaGNtRnRJSHRCY25KaGVYeFRkSEpwYm1kOFVHOXBiblI4UzJWNVVHRnBjbjBnY0hWaUlDMGdjSFZpYkdsaklHdGxlVnh1S2lCQWNtVjBkWEp1Y3lCN1FtOXZiR1ZoYm4wZ0xTQjBjblZsSUdsbUlIQjFZbXhwWXlCclpYa2diV0YwWTJobGN5QnphV2NnYjJZZ2JXVnpjMkZuWlZ4dUtpOWNia1ZFUkZOQkxuQnliM1J2ZEhsd1pTNTJaWEpwWm5rZ1BTQm1kVzVqZEdsdmJpQjJaWEpwWm5rb2JXVnpjMkZuWlN3Z2MybG5MQ0J3ZFdJcElIdGNiaUFnYldWemMyRm5aU0E5SUhCaGNuTmxRbmwwWlhNb2JXVnpjMkZuWlNrN1hHNGdJSE5wWnlBOUlIUm9hWE11YldGclpWTnBaMjVoZEhWeVpTaHphV2NwTzF4dUlDQjJZWElnYTJWNUlEMGdkR2hwY3k1clpYbEdjbTl0VUhWaWJHbGpLSEIxWWlrN1hHNGdJSFpoY2lCb0lEMGdkR2hwY3k1b1lYTm9TVzUwS0hOcFp5NVNaVzVqYjJSbFpDZ3BMQ0JyWlhrdWNIVmlRbmwwWlhNb0tTd2diV1Z6YzJGblpTazdYRzRnSUhaaGNpQlRSeUE5SUhSb2FYTXVaeTV0ZFd3b2MybG5MbE1vS1NrN1hHNGdJSFpoY2lCU2NHeDFjMEZvSUQwZ2MybG5MbElvS1M1aFpHUW9hMlY1TG5CMVlpZ3BMbTExYkNob0tTazdYRzRnSUhKbGRIVnliaUJTY0d4MWMwRm9MbVZ4S0ZOSEtUdGNibjA3WEc1Y2JrVkVSRk5CTG5CeWIzUnZkSGx3WlM1b1lYTm9TVzUwSUQwZ1puVnVZM1JwYjI0Z2FHRnphRWx1ZENncElIdGNiaUFnZG1GeUlHaGhjMmdnUFNCMGFHbHpMbWhoYzJnb0tUdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ2FHRnphQzUxY0dSaGRHVW9ZWEpuZFcxbGJuUnpXMmxkS1R0Y2JpQWdjbVYwZFhKdUlIVjBhV3h6TG1sdWRFWnliMjFNUlNob1lYTm9MbVJwWjJWemRDZ3BLUzUxYlc5a0tIUm9hWE11WTNWeWRtVXViaWs3WEc1OU8xeHVYRzVGUkVSVFFTNXdjbTkwYjNSNWNHVXVhMlY1Um5KdmJWQjFZbXhwWXlBOUlHWjFibU4wYVc5dUlHdGxlVVp5YjIxUWRXSnNhV01vY0hWaUtTQjdYRzRnSUhKbGRIVnliaUJMWlhsUVlXbHlMbVp5YjIxUWRXSnNhV01vZEdocGN5d2djSFZpS1R0Y2JuMDdYRzVjYmtWRVJGTkJMbkJ5YjNSdmRIbHdaUzVyWlhsR2NtOXRVMlZqY21WMElEMGdablZ1WTNScGIyNGdhMlY1Um5KdmJWTmxZM0psZENoelpXTnlaWFFwSUh0Y2JpQWdjbVYwZFhKdUlFdGxlVkJoYVhJdVpuSnZiVk5sWTNKbGRDaDBhR2x6TENCelpXTnlaWFFwTzF4dWZUdGNibHh1UlVSRVUwRXVjSEp2ZEc5MGVYQmxMbTFoYTJWVGFXZHVZWFIxY21VZ1BTQm1kVzVqZEdsdmJpQnRZV3RsVTJsbmJtRjBkWEpsS0hOcFp5a2dlMXh1SUNCcFppQW9jMmxuSUdsdWMzUmhibU5sYjJZZ1UybG5ibUYwZFhKbEtWeHVJQ0FnSUhKbGRIVnliaUJ6YVdjN1hHNGdJSEpsZEhWeWJpQnVaWGNnVTJsbmJtRjBkWEpsS0hSb2FYTXNJSE5wWnlrN1hHNTlPMXh1WEc0dktpcGNiaW9nS2lCb2RIUndjem92TDNSdmIyeHpMbWxsZEdZdWIzSm5MMmgwYld3dlpISmhablF0YW05elpXWnpjMjl1TFdWa1pITmhMV1ZrTWpVMU1Ua3RNRE1qYzJWamRHbHZiaTAxTGpKY2JpcGNiaW9nUlVSRVUwRWdaR1ZtYVc1bGN5QnRaWFJvYjJSeklHWnZjaUJsYm1OdlpHbHVaeUJoYm1RZ1pHVmpiMlJwYm1jZ2NHOXBiblJ6SUdGdVpDQnBiblJsWjJWeWN5NGdWR2hsYzJVZ1lYSmxYRzRxSUdobGJIQmxjaUJqYjI1MlpXNXBaVzVqWlNCdFpYUm9iMlJ6TENCMGFHRjBJSEJoYzNNZ1lXeHZibWNnZEc4Z2RYUnBiR2wwZVNCbWRXNWpkR2x2Ym5NZ2FXMXdiR2xsWkZ4dUtpQndZWEpoYldWMFpYSnpMbHh1S2x4dUtpOWNia1ZFUkZOQkxuQnliM1J2ZEhsd1pTNWxibU52WkdWUWIybHVkQ0E5SUdaMWJtTjBhVzl1SUdWdVkyOWtaVkJ2YVc1MEtIQnZhVzUwS1NCN1hHNGdJSFpoY2lCbGJtTWdQU0J3YjJsdWRDNW5aWFJaS0NrdWRHOUJjbkpoZVNnbmJHVW5MQ0IwYUdsekxtVnVZMjlrYVc1blRHVnVaM1JvS1R0Y2JpQWdaVzVqVzNSb2FYTXVaVzVqYjJScGJtZE1aVzVuZEdnZ0xTQXhYU0I4UFNCd2IybHVkQzVuWlhSWUtDa3VhWE5QWkdRb0tTQS9JREI0T0RBZ09pQXdPMXh1SUNCeVpYUjFjbTRnWlc1ak8xeHVmVHRjYmx4dVJVUkVVMEV1Y0hKdmRHOTBlWEJsTG1SbFkyOWtaVkJ2YVc1MElEMGdablZ1WTNScGIyNGdaR1ZqYjJSbFVHOXBiblFvWW5sMFpYTXBJSHRjYmlBZ1lubDBaWE1nUFNCMWRHbHNjeTV3WVhKelpVSjVkR1Z6S0dKNWRHVnpLVHRjYmx4dUlDQjJZWElnYkdGemRFbDRJRDBnWW5sMFpYTXViR1Z1WjNSb0lDMGdNVHRjYmlBZ2RtRnlJRzV2Y20xbFpDQTlJR0o1ZEdWekxuTnNhV05sS0RBc0lHeGhjM1JKZUNrdVkyOXVZMkYwS0dKNWRHVnpXMnhoYzNSSmVGMGdKaUIrTUhnNE1DazdYRzRnSUhaaGNpQjRTWE5QWkdRZ1BTQW9ZbmwwWlhOYmJHRnpkRWw0WFNBbUlEQjRPREFwSUNFOVBTQXdPMXh1WEc0Z0lIWmhjaUI1SUQwZ2RYUnBiSE11YVc1MFJuSnZiVXhGS0c1dmNtMWxaQ2s3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbU4xY25abExuQnZhVzUwUm5KdmJWa29lU3dnZUVselQyUmtLVHRjYm4wN1hHNWNia1ZFUkZOQkxuQnliM1J2ZEhsd1pTNWxibU52WkdWSmJuUWdQU0JtZFc1amRHbHZiaUJsYm1OdlpHVkpiblFvYm5WdEtTQjdYRzRnSUhKbGRIVnliaUJ1ZFcwdWRHOUJjbkpoZVNnbmJHVW5MQ0IwYUdsekxtVnVZMjlrYVc1blRHVnVaM1JvS1R0Y2JuMDdYRzVjYmtWRVJGTkJMbkJ5YjNSdmRIbHdaUzVrWldOdlpHVkpiblFnUFNCbWRXNWpkR2x2YmlCa1pXTnZaR1ZKYm5Rb1lubDBaWE1wSUh0Y2JpQWdjbVYwZFhKdUlIVjBhV3h6TG1sdWRFWnliMjFNUlNoaWVYUmxjeWs3WEc1OU8xeHVYRzVGUkVSVFFTNXdjbTkwYjNSNWNHVXVhWE5RYjJsdWRDQTlJR1oxYm1OMGFXOXVJR2x6VUc5cGJuUW9kbUZzS1NCN1hHNGdJSEpsZEhWeWJpQjJZV3dnYVc1emRHRnVZMlZ2WmlCMGFHbHpMbkJ2YVc1MFEyeGhjM003WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9rZXkuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcXG52YXIgcGFyc2VCeXRlcyA9IHV0aWxzLnBhcnNlQnl0ZXM7XFxudmFyIGNhY2hlZFByb3BlcnR5ID0gdXRpbHMuY2FjaGVkUHJvcGVydHk7XFxuXFxuLyoqXFxuKiBAcGFyYW0ge0VERFNBfSBlZGRzYSAtIGluc3RhbmNlXFxuKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gcHVibGljL3ByaXZhdGUga2V5IHBhcmFtZXRlcnNcXG4qXFxuKiBAcGFyYW0ge0FycmF5PEJ5dGU+fSBbcGFyYW1zLnNlY3JldF0gLSBzZWNyZXQgc2VlZCBieXRlc1xcbiogQHBhcmFtIHtQb2ludH0gW3BhcmFtcy5wdWJdIC0gcHVibGljIGtleSBwb2ludCAoYWthIGBBYCBpbiBlZGRzYSB0ZXJtcylcXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZT59IFtwYXJhbXMucHViXSAtIHB1YmxpYyBrZXkgcG9pbnQgZW5jb2RlZCBhcyBieXRlc1xcbipcXG4qL1xcbmZ1bmN0aW9uIEtleVBhaXIoZWRkc2EsIHBhcmFtcykge1xcbiAgdGhpcy5lZGRzYSA9IGVkZHNhO1xcbiAgdGhpcy5fc2VjcmV0ID0gcGFyc2VCeXRlcyhwYXJhbXMuc2VjcmV0KTtcXG4gIGlmIChlZGRzYS5pc1BvaW50KHBhcmFtcy5wdWIpKVxcbiAgICB0aGlzLl9wdWIgPSBwYXJhbXMucHViO1xcbiAgZWxzZVxcbiAgICB0aGlzLl9wdWJCeXRlcyA9IHBhcnNlQnl0ZXMocGFyYW1zLnB1Yik7XFxufVxcblxcbktleVBhaXIuZnJvbVB1YmxpYyA9IGZ1bmN0aW9uIGZyb21QdWJsaWMoZWRkc2EsIHB1Yikge1xcbiAgaWYgKHB1YiBpbnN0YW5jZW9mIEtleVBhaXIpXFxuICAgIHJldHVybiBwdWI7XFxuICByZXR1cm4gbmV3IEtleVBhaXIoZWRkc2EsIHsgcHViOiBwdWIgfSk7XFxufTtcXG5cXG5LZXlQYWlyLmZyb21TZWNyZXQgPSBmdW5jdGlvbiBmcm9tU2VjcmV0KGVkZHNhLCBzZWNyZXQpIHtcXG4gIGlmIChzZWNyZXQgaW5zdGFuY2VvZiBLZXlQYWlyKVxcbiAgICByZXR1cm4gc2VjcmV0O1xcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKGVkZHNhLCB7IHNlY3JldDogc2VjcmV0IH0pO1xcbn07XFxuXFxuS2V5UGFpci5wcm90b3R5cGUuc2VjcmV0ID0gZnVuY3Rpb24gc2VjcmV0KCkge1xcbiAgcmV0dXJuIHRoaXMuX3NlY3JldDtcXG59O1xcblxcbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdwdWJCeXRlcycsIGZ1bmN0aW9uIHB1YkJ5dGVzKCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5wdWIoKSk7XFxufSk7XFxuXFxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3B1YicsIGZ1bmN0aW9uIHB1YigpIHtcXG4gIGlmICh0aGlzLl9wdWJCeXRlcylcXG4gICAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlUG9pbnQodGhpcy5fcHViQnl0ZXMpO1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZy5tdWwodGhpcy5wcml2KCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdwcml2Qnl0ZXMnLCBmdW5jdGlvbiBwcml2Qnl0ZXMoKSB7XFxuICB2YXIgZWRkc2EgPSB0aGlzLmVkZHNhO1xcbiAgdmFyIGhhc2ggPSB0aGlzLmhhc2goKTtcXG4gIHZhciBsYXN0SXggPSBlZGRzYS5lbmNvZGluZ0xlbmd0aCAtIDE7XFxuXFxuICB2YXIgYSA9IGhhc2guc2xpY2UoMCwgZWRkc2EuZW5jb2RpbmdMZW5ndGgpO1xcbiAgYVswXSAmPSAyNDg7XFxuICBhW2xhc3RJeF0gJj0gMTI3O1xcbiAgYVtsYXN0SXhdIHw9IDY0O1xcblxcbiAgcmV0dXJuIGE7XFxufSk7XFxuXFxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3ByaXYnLCBmdW5jdGlvbiBwcml2KCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlSW50KHRoaXMucHJpdkJ5dGVzKCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdoYXNoJywgZnVuY3Rpb24gaGFzaCgpIHtcXG4gIHJldHVybiB0aGlzLmVkZHNhLmhhc2goKS51cGRhdGUodGhpcy5zZWNyZXQoKSkuZGlnZXN0KCk7XFxufSk7XFxuXFxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ21lc3NhZ2VQcmVmaXgnLCBmdW5jdGlvbiBtZXNzYWdlUHJlZml4KCkge1xcbiAgcmV0dXJuIHRoaXMuaGFzaCgpLnNsaWNlKHRoaXMuZWRkc2EuZW5jb2RpbmdMZW5ndGgpO1xcbn0pO1xcblxcbktleVBhaXIucHJvdG90eXBlLnNpZ24gPSBmdW5jdGlvbiBzaWduKG1lc3NhZ2UpIHtcXG4gIGFzc2VydCh0aGlzLl9zZWNyZXQsICdLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeScpO1xcbiAgcmV0dXJuIHRoaXMuZWRkc2Euc2lnbihtZXNzYWdlLCB0aGlzKTtcXG59O1xcblxcbktleVBhaXIucHJvdG90eXBlLnZlcmlmeSA9IGZ1bmN0aW9uIHZlcmlmeShtZXNzYWdlLCBzaWcpIHtcXG4gIHJldHVybiB0aGlzLmVkZHNhLnZlcmlmeShtZXNzYWdlLCBzaWcsIHRoaXMpO1xcbn07XFxuXFxuS2V5UGFpci5wcm90b3R5cGUuZ2V0U2VjcmV0ID0gZnVuY3Rpb24gZ2V0U2VjcmV0KGVuYykge1xcbiAgYXNzZXJ0KHRoaXMuX3NlY3JldCwgJ0tleVBhaXIgaXMgcHVibGljIG9ubHknKTtcXG4gIHJldHVybiB1dGlscy5lbmNvZGUodGhpcy5zZWNyZXQoKSwgZW5jKTtcXG59O1xcblxcbktleVBhaXIucHJvdG90eXBlLmdldFB1YmxpYyA9IGZ1bmN0aW9uIGdldFB1YmxpYyhlbmMpIHtcXG4gIHJldHVybiB1dGlscy5lbmNvZGUodGhpcy5wdWJCeXRlcygpLCBlbmMpO1xcbn07XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBLZXlQYWlyO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZaV1JrYzJFdmEyVjVMbXB6UHpneFkyTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNXVUZCV1N4dFFrRkJUeXhEUVVGRExDdEVRVUZWTzBGQlF6bENPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEZWQlFWVXNUVUZCVFR0QlFVTm9RaXhWUVVGVkxFOUJRVTg3UVVGRGFrSTdRVUZEUVN4VlFVRlZMRmxCUVZrN1FVRkRkRUlzVlVGQlZTeE5RVUZOTzBGQlEyaENMRlZCUVZVc1dVRkJXVHRCUVVOMFFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cyUWtGQk5rSXNWMEZCVnp0QlFVTjRRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0lzYVVKQlFXbENPMEZCUXpsRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wld4c2FYQjBhV012YkdsaUwyVnNiR2x3ZEdsakwyVmtaSE5oTDJ0bGVTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQmhjM05sY25RZ1BTQjFkR2xzY3k1aGMzTmxjblE3WEc1MllYSWdjR0Z5YzJWQ2VYUmxjeUE5SUhWMGFXeHpMbkJoY25ObFFubDBaWE03WEc1MllYSWdZMkZqYUdWa1VISnZjR1Z5ZEhrZ1BTQjFkR2xzY3k1allXTm9aV1JRY205d1pYSjBlVHRjYmx4dUx5b3FYRzRxSUVCd1lYSmhiU0I3UlVSRVUwRjlJR1ZrWkhOaElDMGdhVzV6ZEdGdVkyVmNiaW9nUUhCaGNtRnRJSHRQWW1wbFkzUjlJSEJoY21GdGN5QXRJSEIxWW14cFl5OXdjbWwyWVhSbElHdGxlU0J3WVhKaGJXVjBaWEp6WEc0cVhHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaVDU5SUZ0d1lYSmhiWE11YzJWamNtVjBYU0F0SUhObFkzSmxkQ0J6WldWa0lHSjVkR1Z6WEc0cUlFQndZWEpoYlNCN1VHOXBiblI5SUZ0d1lYSmhiWE11Y0hWaVhTQXRJSEIxWW14cFl5QnJaWGtnY0c5cGJuUWdLR0ZyWVNCZ1FXQWdhVzRnWldSa2MyRWdkR1Z5YlhNcFhHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaVDU5SUZ0d1lYSmhiWE11Y0hWaVhTQXRJSEIxWW14cFl5QnJaWGtnY0c5cGJuUWdaVzVqYjJSbFpDQmhjeUJpZVhSbGMxeHVLbHh1S2k5Y2JtWjFibU4wYVc5dUlFdGxlVkJoYVhJb1pXUmtjMkVzSUhCaGNtRnRjeWtnZTF4dUlDQjBhR2x6TG1Wa1pITmhJRDBnWldSa2MyRTdYRzRnSUhSb2FYTXVYM05sWTNKbGRDQTlJSEJoY25ObFFubDBaWE1vY0dGeVlXMXpMbk5sWTNKbGRDazdYRzRnSUdsbUlDaGxaR1J6WVM1cGMxQnZhVzUwS0hCaGNtRnRjeTV3ZFdJcEtWeHVJQ0FnSUhSb2FYTXVYM0IxWWlBOUlIQmhjbUZ0Y3k1d2RXSTdYRzRnSUdWc2MyVmNiaUFnSUNCMGFHbHpMbDl3ZFdKQ2VYUmxjeUE5SUhCaGNuTmxRbmwwWlhNb2NHRnlZVzF6TG5CMVlpazdYRzU5WEc1Y2JrdGxlVkJoYVhJdVpuSnZiVkIxWW14cFl5QTlJR1oxYm1OMGFXOXVJR1p5YjIxUWRXSnNhV01vWldSa2MyRXNJSEIxWWlrZ2UxeHVJQ0JwWmlBb2NIVmlJR2x1YzNSaGJtTmxiMllnUzJWNVVHRnBjaWxjYmlBZ0lDQnlaWFIxY200Z2NIVmlPMXh1SUNCeVpYUjFjbTRnYm1WM0lFdGxlVkJoYVhJb1pXUmtjMkVzSUhzZ2NIVmlPaUJ3ZFdJZ2ZTazdYRzU5TzF4dVhHNUxaWGxRWVdseUxtWnliMjFUWldOeVpYUWdQU0JtZFc1amRHbHZiaUJtY205dFUyVmpjbVYwS0dWa1pITmhMQ0J6WldOeVpYUXBJSHRjYmlBZ2FXWWdLSE5sWTNKbGRDQnBibk4wWVc1alpXOW1JRXRsZVZCaGFYSXBYRzRnSUNBZ2NtVjBkWEp1SUhObFkzSmxkRHRjYmlBZ2NtVjBkWEp1SUc1bGR5QkxaWGxRWVdseUtHVmtaSE5oTENCN0lITmxZM0psZERvZ2MyVmpjbVYwSUgwcE8xeHVmVHRjYmx4dVMyVjVVR0ZwY2k1d2NtOTBiM1I1Y0dVdWMyVmpjbVYwSUQwZ1puVnVZM1JwYjI0Z2MyVmpjbVYwS0NrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1ZmMyVmpjbVYwTzF4dWZUdGNibHh1WTJGamFHVmtVSEp2Y0dWeWRIa29TMlY1VUdGcGNpd2dKM0IxWWtKNWRHVnpKeXdnWm5WdVkzUnBiMjRnY0hWaVFubDBaWE1vS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMbVZ1WTI5a1pWQnZhVzUwS0hSb2FYTXVjSFZpS0NrcE8xeHVmU2s3WEc1Y2JtTmhZMmhsWkZCeWIzQmxjblI1S0V0bGVWQmhhWElzSUNkd2RXSW5MQ0JtZFc1amRHbHZiaUJ3ZFdJb0tTQjdYRzRnSUdsbUlDaDBhR2x6TGw5d2RXSkNlWFJsY3lsY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFpHUnpZUzVrWldOdlpHVlFiMmx1ZENoMGFHbHpMbDl3ZFdKQ2VYUmxjeWs3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbVZrWkhOaExtY3ViWFZzS0hSb2FYTXVjSEpwZGlncEtUdGNibjBwTzF4dVhHNWpZV05vWldSUWNtOXdaWEowZVNoTFpYbFFZV2x5TENBbmNISnBka0o1ZEdWekp5d2dablZ1WTNScGIyNGdjSEpwZGtKNWRHVnpLQ2tnZTF4dUlDQjJZWElnWldSa2MyRWdQU0IwYUdsekxtVmtaSE5oTzF4dUlDQjJZWElnYUdGemFDQTlJSFJvYVhNdWFHRnphQ2dwTzF4dUlDQjJZWElnYkdGemRFbDRJRDBnWldSa2MyRXVaVzVqYjJScGJtZE1aVzVuZEdnZ0xTQXhPMXh1WEc0Z0lIWmhjaUJoSUQwZ2FHRnphQzV6YkdsalpTZ3dMQ0JsWkdSellTNWxibU52WkdsdVoweGxibWQwYUNrN1hHNGdJR0ZiTUYwZ0pqMGdNalE0TzF4dUlDQmhXMnhoYzNSSmVGMGdKajBnTVRJM08xeHVJQ0JoVzJ4aGMzUkplRjBnZkQwZ05qUTdYRzVjYmlBZ2NtVjBkWEp1SUdFN1hHNTlLVHRjYmx4dVkyRmphR1ZrVUhKdmNHVnlkSGtvUzJWNVVHRnBjaXdnSjNCeWFYWW5MQ0JtZFc1amRHbHZiaUJ3Y21sMktDa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWxaR1J6WVM1a1pXTnZaR1ZKYm5Rb2RHaHBjeTV3Y21sMlFubDBaWE1vS1NrN1hHNTlLVHRjYmx4dVkyRmphR1ZrVUhKdmNHVnlkSGtvUzJWNVVHRnBjaXdnSjJoaGMyZ25MQ0JtZFc1amRHbHZiaUJvWVhOb0tDa2dlMXh1SUNCeVpYUjFjbTRnZEdocGN5NWxaR1J6WVM1b1lYTm9LQ2t1ZFhCa1lYUmxLSFJvYVhNdWMyVmpjbVYwS0NrcExtUnBaMlZ6ZENncE8xeHVmU2s3WEc1Y2JtTmhZMmhsWkZCeWIzQmxjblI1S0V0bGVWQmhhWElzSUNkdFpYTnpZV2RsVUhKbFptbDRKeXdnWm5WdVkzUnBiMjRnYldWemMyRm5aVkJ5WldacGVDZ3BJSHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVhR0Z6YUNncExuTnNhV05sS0hSb2FYTXVaV1JrYzJFdVpXNWpiMlJwYm1kTVpXNW5kR2dwTzF4dWZTazdYRzVjYmt0bGVWQmhhWEl1Y0hKdmRHOTBlWEJsTG5OcFoyNGdQU0JtZFc1amRHbHZiaUJ6YVdkdUtHMWxjM05oWjJVcElIdGNiaUFnWVhOelpYSjBLSFJvYVhNdVgzTmxZM0psZEN3Z0owdGxlVkJoYVhJZ1kyRnVJRzl1YkhrZ2RtVnlhV1o1SnlrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMbk5wWjI0b2JXVnpjMkZuWlN3Z2RHaHBjeWs3WEc1OU8xeHVYRzVMWlhsUVlXbHlMbkJ5YjNSdmRIbHdaUzUyWlhKcFpua2dQU0JtZFc1amRHbHZiaUIyWlhKcFpua29iV1Z6YzJGblpTd2djMmxuS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMblpsY21sbWVTaHRaWE56WVdkbExDQnphV2NzSUhSb2FYTXBPMXh1ZlR0Y2JseHVTMlY1VUdGcGNpNXdjbTkwYjNSNWNHVXVaMlYwVTJWamNtVjBJRDBnWm5WdVkzUnBiMjRnWjJWMFUyVmpjbVYwS0dWdVl5a2dlMXh1SUNCaGMzTmxjblFvZEdocGN5NWZjMlZqY21WMExDQW5TMlY1VUdGcGNpQnBjeUJ3ZFdKc2FXTWdiMjVzZVNjcE8xeHVJQ0J5WlhSMWNtNGdkWFJwYkhNdVpXNWpiMlJsS0hSb2FYTXVjMlZqY21WMEtDa3NJR1Z1WXlrN1hHNTlPMXh1WEc1TFpYbFFZV2x5TG5CeWIzUnZkSGx3WlM1blpYUlFkV0pzYVdNZ1BTQm1kVzVqZEdsdmJpQm5aWFJRZFdKc2FXTW9aVzVqS1NCN1hHNGdJSEpsZEhWeWJpQjFkR2xzY3k1bGJtTnZaR1VvZEdocGN5NXdkV0pDZVhSbGN5Z3BMQ0JsYm1NcE8xeHVmVHRjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCTFpYbFFZV2x5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL2tleS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbGliL2VsbGlwdGljL2VkZHNhL3NpZ25hdHVyZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9zaWduYXR1cmUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xcbnZhciBjYWNoZWRQcm9wZXJ0eSA9IHV0aWxzLmNhY2hlZFByb3BlcnR5O1xcbnZhciBwYXJzZUJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcztcXG5cXG4vKipcXG4qIEBwYXJhbSB7RUREU0F9IGVkZHNhIC0gZWRkc2EgaW5zdGFuY2VcXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZXM+fE9iamVjdH0gc2lnIC1cXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZXM+fFBvaW50fSBbc2lnLlJdIC0gUiBwb2ludCBhcyBQb2ludCBvciBieXRlc1xcbiogQHBhcmFtIHtBcnJheTxCeXRlcz58Ym59IFtzaWcuU10gLSBTIHNjYWxhciBhcyBibiBvciBieXRlc1xcbiogQHBhcmFtIHtBcnJheTxCeXRlcz59IFtzaWcuUmVuY29kZWRdIC0gUiBwb2ludCBlbmNvZGVkXFxuKiBAcGFyYW0ge0FycmF5PEJ5dGVzPn0gW3NpZy5TZW5jb2RlZF0gLSBTIHNjYWxhciBlbmNvZGVkXFxuKi9cXG5mdW5jdGlvbiBTaWduYXR1cmUoZWRkc2EsIHNpZykge1xcbiAgdGhpcy5lZGRzYSA9IGVkZHNhO1xcblxcbiAgaWYgKHR5cGVvZiBzaWcgIT09ICdvYmplY3QnKVxcbiAgICBzaWcgPSBwYXJzZUJ5dGVzKHNpZyk7XFxuXFxuICBpZiAoQXJyYXkuaXNBcnJheShzaWcpKSB7XFxuICAgIHNpZyA9IHtcXG4gICAgICBSOiBzaWcuc2xpY2UoMCwgZWRkc2EuZW5jb2RpbmdMZW5ndGgpLFxcbiAgICAgIFM6IHNpZy5zbGljZShlZGRzYS5lbmNvZGluZ0xlbmd0aClcXG4gICAgfTtcXG4gIH1cXG5cXG4gIGFzc2VydChzaWcuUiAmJiBzaWcuUywgJ1NpZ25hdHVyZSB3aXRob3V0IFIgb3IgUycpO1xcblxcbiAgaWYgKGVkZHNhLmlzUG9pbnQoc2lnLlIpKVxcbiAgICB0aGlzLl9SID0gc2lnLlI7XFxuICBpZiAoc2lnLlMgaW5zdGFuY2VvZiBCTilcXG4gICAgdGhpcy5fUyA9IHNpZy5TO1xcblxcbiAgdGhpcy5fUmVuY29kZWQgPSBBcnJheS5pc0FycmF5KHNpZy5SKSA/IHNpZy5SIDogc2lnLlJlbmNvZGVkO1xcbiAgdGhpcy5fU2VuY29kZWQgPSBBcnJheS5pc0FycmF5KHNpZy5TKSA/IHNpZy5TIDogc2lnLlNlbmNvZGVkO1xcbn1cXG5cXG5jYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsICdTJywgZnVuY3Rpb24gUygpIHtcXG4gIHJldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLlNlbmNvZGVkKCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwgJ1InLCBmdW5jdGlvbiBSKCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlUG9pbnQodGhpcy5SZW5jb2RlZCgpKTtcXG59KTtcXG5cXG5jYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsICdSZW5jb2RlZCcsIGZ1bmN0aW9uIFJlbmNvZGVkKCkge1xcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpO1xcbn0pO1xcblxcbmNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwgJ1NlbmNvZGVkJywgZnVuY3Rpb24gU2VuY29kZWQoKSB7XFxuICByZXR1cm4gdGhpcy5lZGRzYS5lbmNvZGVJbnQodGhpcy5TKCkpO1xcbn0pO1xcblxcblNpZ25hdHVyZS5wcm90b3R5cGUudG9CeXRlcyA9IGZ1bmN0aW9uIHRvQnl0ZXMoKSB7XFxuICByZXR1cm4gdGhpcy5SZW5jb2RlZCgpLmNvbmNhdCh0aGlzLlNlbmNvZGVkKCkpO1xcbn07XFxuXFxuU2lnbmF0dXJlLnByb3RvdHlwZS50b0hleCA9IGZ1bmN0aW9uIHRvSGV4KCkge1xcbiAgcmV0dXJuIHV0aWxzLmVuY29kZSh0aGlzLnRvQnl0ZXMoKSwgJ2hleCcpLnRvVXBwZXJDYXNlKCk7XFxufTtcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hdHVyZTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012WldSa2MyRXZjMmxuYm1GMGRYSmxMbXB6UDJReFlUa2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNVMEZCVXl4dFFrRkJUeXhEUVVGRExHMUZRVUZQTzBGQlEzaENMRmxCUVZrc2JVSkJRVThzUTBGQlF5d3JSRUZCVlR0QlFVTTVRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VlFVRlZMRTFCUVUwN1FVRkRhRUlzVlVGQlZTeHZRa0ZCYjBJN1FVRkRPVUlzVlVGQlZTeHRRa0ZCYlVJN1FVRkROMElzVlVGQlZTeG5Ra0ZCWjBJN1FVRkRNVUlzVlVGQlZTeGhRVUZoTzBGQlEzWkNMRlZCUVZVc1lVRkJZVHRCUVVOMlFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdlpXeHNhWEIwYVdNdmJHbGlMMlZzYkdsd2RHbGpMMlZrWkhOaEwzTnBaMjVoZEhWeVpTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJRUpPSUQwZ2NtVnhkV2x5WlNnblltNHVhbk1uS1R0Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR1TDNWMGFXeHpKeWs3WEc1MllYSWdZWE56WlhKMElEMGdkWFJwYkhNdVlYTnpaWEowTzF4dWRtRnlJR05oWTJobFpGQnliM0JsY25SNUlEMGdkWFJwYkhNdVkyRmphR1ZrVUhKdmNHVnlkSGs3WEc1MllYSWdjR0Z5YzJWQ2VYUmxjeUE5SUhWMGFXeHpMbkJoY25ObFFubDBaWE03WEc1Y2JpOHFLbHh1S2lCQWNHRnlZVzBnZTBWRVJGTkJmU0JsWkdSellTQXRJR1ZrWkhOaElHbHVjM1JoYm1ObFhHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaWE0rZkU5aWFtVmpkSDBnYzJsbklDMWNiaW9nUUhCaGNtRnRJSHRCY25KaGVUeENlWFJsY3o1OFVHOXBiblI5SUZ0emFXY3VVbDBnTFNCU0lIQnZhVzUwSUdGeklGQnZhVzUwSUc5eUlHSjVkR1Z6WEc0cUlFQndZWEpoYlNCN1FYSnlZWGs4UW5sMFpYTStmR0p1ZlNCYmMybG5MbE5kSUMwZ1V5QnpZMkZzWVhJZ1lYTWdZbTRnYjNJZ1lubDBaWE5jYmlvZ1FIQmhjbUZ0SUh0QmNuSmhlVHhDZVhSbGN6NTlJRnR6YVdjdVVtVnVZMjlrWldSZElDMGdVaUJ3YjJsdWRDQmxibU52WkdWa1hHNHFJRUJ3WVhKaGJTQjdRWEp5WVhrOFFubDBaWE0rZlNCYmMybG5MbE5sYm1OdlpHVmtYU0F0SUZNZ2MyTmhiR0Z5SUdWdVkyOWtaV1JjYmlvdlhHNW1kVzVqZEdsdmJpQlRhV2R1WVhSMWNtVW9aV1JrYzJFc0lITnBaeWtnZTF4dUlDQjBhR2x6TG1Wa1pITmhJRDBnWldSa2MyRTdYRzVjYmlBZ2FXWWdLSFI1Y0dWdlppQnphV2NnSVQwOUlDZHZZbXBsWTNRbktWeHVJQ0FnSUhOcFp5QTlJSEJoY25ObFFubDBaWE1vYzJsbktUdGNibHh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNoemFXY3BLU0I3WEc0Z0lDQWdjMmxuSUQwZ2UxeHVJQ0FnSUNBZ1Vqb2djMmxuTG5Oc2FXTmxLREFzSUdWa1pITmhMbVZ1WTI5a2FXNW5UR1Z1WjNSb0tTeGNiaUFnSUNBZ0lGTTZJSE5wWnk1emJHbGpaU2hsWkdSellTNWxibU52WkdsdVoweGxibWQwYUNsY2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ1lYTnpaWEowS0hOcFp5NVNJQ1ltSUhOcFp5NVRMQ0FuVTJsbmJtRjBkWEpsSUhkcGRHaHZkWFFnVWlCdmNpQlRKeWs3WEc1Y2JpQWdhV1lnS0dWa1pITmhMbWx6VUc5cGJuUW9jMmxuTGxJcEtWeHVJQ0FnSUhSb2FYTXVYMUlnUFNCemFXY3VVanRjYmlBZ2FXWWdLSE5wWnk1VElHbHVjM1JoYm1ObGIyWWdRazRwWEc0Z0lDQWdkR2hwY3k1ZlV5QTlJSE5wWnk1VE8xeHVYRzRnSUhSb2FYTXVYMUpsYm1OdlpHVmtJRDBnUVhKeVlYa3VhWE5CY25KaGVTaHphV2N1VWlrZ1B5QnphV2N1VWlBNklITnBaeTVTWlc1amIyUmxaRHRjYmlBZ2RHaHBjeTVmVTJWdVkyOWtaV1FnUFNCQmNuSmhlUzVwYzBGeWNtRjVLSE5wWnk1VEtTQS9JSE5wWnk1VElEb2djMmxuTGxObGJtTnZaR1ZrTzF4dWZWeHVYRzVqWVdOb1pXUlFjbTl3WlhKMGVTaFRhV2R1WVhSMWNtVXNJQ2RUSnl3Z1puVnVZM1JwYjI0Z1V5Z3BJSHRjYmlBZ2NtVjBkWEp1SUhSb2FYTXVaV1JrYzJFdVpHVmpiMlJsU1c1MEtIUm9hWE11VTJWdVkyOWtaV1FvS1NrN1hHNTlLVHRjYmx4dVkyRmphR1ZrVUhKdmNHVnlkSGtvVTJsbmJtRjBkWEpsTENBblVpY3NJR1oxYm1OMGFXOXVJRklvS1NCN1hHNGdJSEpsZEhWeWJpQjBhR2x6TG1Wa1pITmhMbVJsWTI5a1pWQnZhVzUwS0hSb2FYTXVVbVZ1WTI5a1pXUW9LU2s3WEc1OUtUdGNibHh1WTJGamFHVmtVSEp2Y0dWeWRIa29VMmxuYm1GMGRYSmxMQ0FuVW1WdVkyOWtaV1FuTENCbWRXNWpkR2x2YmlCU1pXNWpiMlJsWkNncElIdGNiaUFnY21WMGRYSnVJSFJvYVhNdVpXUmtjMkV1Wlc1amIyUmxVRzlwYm5Rb2RHaHBjeTVTS0NrcE8xeHVmU2s3WEc1Y2JtTmhZMmhsWkZCeWIzQmxjblI1S0ZOcFoyNWhkSFZ5WlN3Z0oxTmxibU52WkdWa0p5d2dablZ1WTNScGIyNGdVMlZ1WTI5a1pXUW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbVZrWkhOaExtVnVZMjlrWlVsdWRDaDBhR2x6TGxNb0tTazdYRzU5S1R0Y2JseHVVMmxuYm1GMGRYSmxMbkJ5YjNSdmRIbHdaUzUwYjBKNWRHVnpJRDBnWm5WdVkzUnBiMjRnZEc5Q2VYUmxjeWdwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11VW1WdVkyOWtaV1FvS1M1amIyNWpZWFFvZEdocGN5NVRaVzVqYjJSbFpDZ3BLVHRjYm4wN1hHNWNibE5wWjI1aGRIVnlaUzV3Y205MGIzUjVjR1V1ZEc5SVpYZ2dQU0JtZFc1amRHbHZiaUIwYjBobGVDZ3BJSHRjYmlBZ2NtVjBkWEp1SUhWMGFXeHpMbVZ1WTI5a1pTaDBhR2x6TG5SdlFubDBaWE1vS1N3Z0oyaGxlQ2NwTG5SdlZYQndaWEpEWVhObEtDazdYRzU5TzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGTnBaMjVoZEhWeVpUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9lZGRzYS9zaWduYXR1cmUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy9wcmVjb21wdXRlZC9zZWNwMjU2azEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvcHJlY29tcHV0ZWQvc2VjcDI1NmsxLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0ge1xcbiAgZG91Ymxlczoge1xcbiAgICBzdGVwOiA0LFxcbiAgICBwb2ludHM6IFtcXG4gICAgICBbXFxuICAgICAgICAnZTYwZmNlOTNiNTllOWVjNTMwMTFhYWJjMjFjMjNlOTdiMmEzMTM2OWI4N2E1YWU5YzQ0ZWU4OWUyYTZkZWMwYScsXFxuICAgICAgICAnZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4MjgyMjYzMjEyYzYwOWQ5ZWEyYTZlM2UxNzJkZTIzOGQ4YzM5Y2FiZDVhYzFjYTEwNjQ2ZTIzZmQ1ZjUxNTA4JyxcXG4gICAgICAgICcxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE3NWUxNTlmNzI4Yjg2NWE3MmY5OWNjNmM2ZmM4NDZkZTBiOTM4MzNmZDIyMjJlZDczZmNlNWI1NTFlNWI3MzknLFxcbiAgICAgICAgJ2QzNTA2ZTBkOWUzYzc5ZWJhNGVmOTdhNTFmZjcxZjVlYWNiNTk1NWFkZDI0MzQ1YzZlZmE2ZmZlZTlmZWQ2OTUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzYzZDkwZDQ0N2IwMGM5Yzk5Y2VhYzA1YjYyNjJlZTA1MzQ0MWM3ZTU1NTUyZmZlNTI2YmFkOGY4M2ZmNDY0MCcsXFxuICAgICAgICAnNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhiNGI1ZjE2NWRmM2MyYmU4YzYyNDRiNWI3NDU2Mzg4NDNlNGE3ODFhMTViY2QxYjY5Zjc5YTU1ZGZmZGY4MGMnLFxcbiAgICAgICAgJzRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzIzY2JhYTZlNWRiOTk2ZDZiZjc3MWMwMGJkNTQ4YzdiNzAwZGJmZmE2YzBlNzdiY2I2MTE1OTI1MjMyZmNkYScsXFxuICAgICAgICAnOTZlODY3YjU1OTVjYzQ5OGE5MjExMzc0ODg4MjRkNmUyNjYwYTA2NTM3Nzk0OTQ4MDFkYzA2OWQ5ZWIzOWY1ZidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlZWJmYTRkNDkzYmViZjk4YmE1ZmVlYzgxMmMyZDNiNTA5NDc5NjEyMzdhOTE5ODM5YTUzM2VjYTBlN2RkN2ZhJyxcXG4gICAgICAgICc1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzEwMGY0NGRhNjk2ZTcxNjcyNzkxZDBhMDliN2JkZTQ1OWYxMjE1YTI5YjNjMDNiZmVmZDc4MzViMzlhNDhkYjAnLFxcbiAgICAgICAgJ2NkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTEwMzFiZTI2MmM3ZWQxYjFkYzkyMjdhNGEwNGMwMTdhNzdmOGQ0NDY0ZjNiMzg1MmM4YWNkZTZlNTM0ZmQyZCcsXFxuICAgICAgICAnOWQ3MDYxOTI4OTQwNDA1ZTZiYjZhNDE3NjU5NzUzNWFmMjkyZGQ0MTllMWNlZDc5YTQ0ZjE4ZjI5NDU2YTAwZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdmZWVhNmNhZTQ2ZDU1YjUzMGFjMjgzOWYxNDNiZDdlYzVjZjhiMjY2YTQxZDZhZjUyZDVlNjg4ZDkwOTQ2OTZkJyxcXG4gICAgICAgICdlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2RhNjdhOTFkOTEwNDljZGNiMzY3YmU0YmU2ZmZjYTNjZmVlZDY1N2Q4MDg1ODNkZTMzZmE5NzhiYzFlYzZjYjEnLFxcbiAgICAgICAgJzliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNTM5MDRmYWEwYjMzNGNkZGE2ZTAwMDkzNWVmMjIxNTFlYzA4ZDBmN2JiMTEwNjlmNTc1NDVjY2MxYTM3YjdjMCcsXFxuICAgICAgICAnNWJjMDg3ZDBiYzgwMTA2ZDg4YzllY2NhYzIwZDNjMWMxMzk5OTk4MWUxNDQzNDY5OWRjYjA5NmIwMjI3NzFjOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4ZTdiY2QwYmQzNTk4M2E3NzE5Y2NhNzc2NGNhOTA2Nzc5YjUzYTA0M2E5YjhiY2FlZmY5NTlmNDNhZDg2MDQ3JyxcXG4gICAgICAgICcxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzM4NWVlZDM0YzFjZGZmMjFlNmQwODE4Njg5YjgxYmRlNzFhN2Y0ZjE4Mzk3ZTY2OTBhODQxZTE1OTljNDM4NjInLFxcbiAgICAgICAgJzI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNmY5ZDliODAzZWNmMTkxNjM3YzczYTQ0MTNkZmExODBmZGRmODRhNTk0N2ZiYzljNjA2ZWQ4NmMzZmFjM2E3JyxcXG4gICAgICAgICc3YzgwYzY4ZTYwMzA1OWJhNjliOGUyYTMwZTQ1YzRkNDdlYTRkZDJmNWMyODEwMDJkODY4OTA2MDNhODQyMTYwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMzMjJkNDAxMjQzYzRlMjU4MmEyMTQ3YzEwNGQ2ZWNiZjc3NGQxNjNkYjBmNWU1MzEzYjdlMGU3NDJkMGU2YmQnLFxcbiAgICAgICAgJzU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODU2NzJjN2QyZGUwYjdkYTJiZDE3NzBkODk2NjU4Njg3NDFiM2Y5YWY3NjQzMzk3NzIxZDc0ZDI4MTM0YWI4MycsXFxuICAgICAgICAnN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5NDhiZjgwOWIxOTg4YTQ2YjA2YzlmMTkxOTQxM2IxMGY5MjI2YzYwZjY2ODgzMmZmZDk1OWFmNjBjODJhMGEnLFxcbiAgICAgICAgJzUzYTU2Mjg1NmRjYjY2NDZkYzZiNzRjNWQxYzM0MThjNmQ0ZGZmMDhjOTdjZDJiZWQ0Y2I3Zjg4ZDhjOGU1ODknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNjI2MGNlN2Y0NjE4MDFjMzRmMDY3Y2UwZjAyODczYThmMWIwZTQ0ZGZjNjk3NTJhY2NlY2Q4MTlmMzhmZDhlOCcsXFxuICAgICAgICAnYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlNTAzN2RlMGFmYzFkOGQ0M2Q4MzQ4NDE0YmJmNDEwMzA0M2VjOGY1NzViZmRjNDMyOTUzY2M4ZDIwMzdmYTJkJyxcXG4gICAgICAgICc0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2UwNjM3MmIwZjRhMjA3YWRmNWVhOTA1ZThmMTc3MWI0ZTdlOGRiZDFjNmE2YzViNzI1ODY2YTBhZTRmY2U3MjUnLFxcbiAgICAgICAgJzdhOTA4OTc0YmNlMThjZmUxMmEyN2JiMmFkNWE0ODhjZDc0ODRhNzc4NzEwNDg3MGIyNzAzNGY5NGVlZTMxZGQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMjEzYzdhNzE1Y2Q1ZDQ1MzU4ZDBiYmY5ZGMwY2UwMjIwNGIxMGJkZGUyYTNmNTg1NDBhZDY5MDhkMDU1OTc1NCcsXFxuICAgICAgICAnNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0ZTdjMjcyYTdhZjRiMzRlOGRiYjkzNTJhNTQxOWE4N2UyODM4YzcwYWRjNjJjZGRmMGNjM2EzYjA4ZmJkNTNjJyxcXG4gICAgICAgICcxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ZlYTc0ZTNkYmU3NzhiMWIxMGYyMzhhZDYxNjg2YWE1Yzc2ZTNkYjJiZTQzMDU3NjMyNDI3ZTI4NDBmYjI3YjYnLFxcbiAgICAgICAgJzZlMDU2OGRiOWIwYjEzMjk3Y2Y2NzRkZWNjYjZhZjkzMTI2YjU5NmI5NzNmN2I3NzcwMWQzZGI3ZjIzY2I5NmYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzZlNjQxMTNmNjc3Y2YwZTEwYTI1NzBkNTk5OTY4ZDMxNTQ0ZTE3OWI3NjA0MzI5NTJjMDJhNDQxN2JkZGUzOScsXFxuICAgICAgICAnYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdjNzM4YzU2YjAzYjJhYmUxZTgyODFiYWE3NDNmOGY5YThmN2NjNjQzZGYyNmNiZWUzYWIxNTAyNDJiY2JiODkxJyxcXG4gICAgICAgICc4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Q4OTU2MjY1NDhiNjViODFlMjY0Yzc2MzdjOTcyODc3ZDFkNzJlNWYzYTkyNTAxNDM3MmU5ZjY1ODhmNmMxNGInLFxcbiAgICAgICAgJ2ZlYmZhYTM4ZjJiYzdlYWU3MjhlYzYwODE4YzM0MGViMDM0MjhkNjMyYmIwNjdlMTc5MzYzZWQ3NWQ3ZDk5MWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjhkYTk0MDMyYTk1NzUxOGViMGY2NDMzNTcxZTg3NjFjZWZmYzczNjkzZTg0ZWRkNDkxNTBhNTY0ZjY3NmUwMycsXFxuICAgICAgICAnMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlODBmZWExNDQ0MWZiMzNhN2Q4YWRhYjk0NzVkN2ZhYjIwMTllZmZiNTE1NmE3OTJmMWExMTc3OGUzYzBkZjVkJyxcXG4gICAgICAgICdlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2EzMDE2OTdiZGZjZDcwNDMxM2JhNDhlNTFkNTY3NTQzZjJhMTgyMDMxZWZkNjkxNWRkYzA3YmJjYzRlMTYwNzAnLFxcbiAgICAgICAgJzczNzBmOTFjZmI2N2U0ZjUwODE4MDlmYTI1ZDQwZjliMTczNWRiZjdjMGExMWExMzBjMGQxYTA0MWUxNzdlYTEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOTBhZDg1YjM4OWQ2YjkzNjQ2M2Y5ZDA1MTI2NzhkZTIwOGNjMzMwYjExMzA3ZmZmYWI3YWM2M2UzZmIwNGVkNCcsXFxuICAgICAgICAnZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhmNjhiOWQyZjYzYjVmMzM5MjM5YzFhZDk4MWYxNjJlZTg4YzU2Nzg3MjNlYTMzNTFiN2I0NDRjOWVjNGMwZGEnLFxcbiAgICAgICAgJzY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTRmM2ZiMDE3NmFmODVkNjVmZjk5ZmY5MTk4YzM2MDkxZjQ4ZTg2NTAzNjgxZTNlNjY4NmZkNTA1MzIzMWUxMScsXFxuICAgICAgICAnMWU2MzYzM2FkMGVmNGYxYzE2NjFhNmQwZWEwMmI3Mjg2Y2M3ZTc0ZWM5NTFkMWM5ODIyYzM4NTc2ZmViNzNiYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4YzAwZmE5YjE4ZWJmMzMxZWI5NjE1MzdhNDVhNDI2NmM3MDM0ZjJmMGQ0ZTFkMDcxNmZiNmVhZTIwZWFlMjllJyxcXG4gICAgICAgICdlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U3YTI2Y2U2OWRkNDgyOWYzZTEwY2VjMGE5ZTk4ZWQzMTQzZDA4NGYzMDhiOTJjMDk5N2ZkZGZjNjBjYjNlNDEnLFxcbiAgICAgICAgJzJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjY0NTllMGVlMzY2MmVjOGQyMzU0MGMyMjNiY2JkYzU3MWNiY2I5NjdkNzk0MjRmM2NmMjllYjNkZTZiODBlZicsXFxuICAgICAgICAnNjdjODc2ZDA2ZjNlMDZkZTFkYWRmMTZlNTY2MWRiM2M0YjNhZTZkNDhlMzViMmZmMzBiZjBiNjFhNzFiYTQ1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Q2OGE4MGM4MjgwYmI4NDA3OTMyMzRhYTExOGYwNjIzMWQ2ZjFmYzY3ZTczYzVhNWRlZGEwZjViNDk2OTQzZTgnLFxcbiAgICAgICAgJ2RiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzI0YWVkN2RmNjVjODA0MjUyZGMwMjcwOTA3YTMwYjA5NjEyYWViOTczNDQ5Y2VhNDA5NTk4MGZjMjhkM2Q1ZCcsXFxuICAgICAgICAnNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0ZGY5YzE0OTE5Y2RlNjFmNmQ1MWRmZGJlNWZlZTVkY2VlYzQxNDNiYThkMWNhODg4ZThiZDM3M2ZkMDU0Yzk2JyxcXG4gICAgICAgICczNWVjNTEwOTJkODcyODA1MDk3NGMyM2ExZDg1ZDRiNWQ1MDZjZGMyODg0OTAxOTJlYmFjMDZjYWQxMGQ1ZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5YzM5MTlhODRhNDc0ODcwZmFlZDhhOWMxY2M2NjAyMTUyMzQ4OTA1NGQ3ZjAzMDhjYmZjOTljOGFjMWY5OGNkJyxcXG4gICAgICAgICdkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzYwNTcxNzBiMWRkMTJmZGY4ZGUwNWYyODFkOGUwNmJiOTFlMTQ5M2E4YjkxZDRjYzVhMjEzODIxMjBhOTU5ZTUnLFxcbiAgICAgICAgJzlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYTgnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYTU3NmRmOGUyM2EwODQxMTQyMTQzOWE0NTE4ZGEzMTg4MGNlZjBmYmE3ZDRkZjEyYjFhNjk3M2VlY2I5NDI2NicsXFxuICAgICAgICAnNDBhNmJmMjBlNzY2NDBiMmM5MmI5N2FmZTU4Y2Q4MmM0MzJlMTBhN2Y1MTRkOWYzZWU4YmUxMWFlMWIyOGVjOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc3Nzc4YTc4YzI4ZGVjM2UzMGEwNWZlOTYyOWRlOGMzOGJiMzBkMWY1Y2Y5YTNhMjA4Zjc2Mzg4OWJlNThhZDcxJyxcXG4gICAgICAgICczNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzkyODk1NWVlNjM3YTg0NDYzNzI5ZmQzMGU3YWZkMmVkNWY5NjI3NGU1YWQ3ZTVjYjA5ZWRhOWMwNmQ5MDNhYycsXFxuICAgICAgICAnYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4NWQwZmVmM2VjNmRiMTA5Mzk5MDY0ZjNhMGUzYjI4NTU2NDViNGE5MDdhZDM1NDUyN2FhZTc1MTYzZDgyNzUxJyxcXG4gICAgICAgICcxZjAzNjQ4NDEzYTM4YzBiZTI5ZDQ5NmU1ODJjZjU2NjNlODc1MWU5Njg3NzMzMTU4MmMyMzdhMjRlYjFmOTYyJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ZmMmIwZGNlOTdlZWNlOTdjMWM5YjYwNDE3OThiODVkZmRmYjZkODg4MmRhMjAzMDhmNTQwNDgyNDUyNjA4N2UnLFxcbiAgICAgICAgJzQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODI3ZmJiZTRiMWU4ODBlYTllZDJiMmU2MzAxYjIxMmI1N2YxZWUxNDhjZDZkZDI4NzgwZTVlMmNmODU2ZTI0MScsXFxuICAgICAgICAnYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlYWE2NDlmMjFmNTFiZGJhZTdiZTRhZTM0Y2U2ZTUyMTdhNThmZGNlN2Y0N2Y5YWE3ZjNiNThmYTIxMjBlMmIzJyxcXG4gICAgICAgICdiZTMyNzllZDViYmJiMDNhYzY5YTgwZjg5ODc5YWE1YTAxYTZiOTY1ZjEzZjdlNTlkNDdhNTMwNWJhNWFkOTNkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U0YTQyZDQzYzVjZjE2OWQ5MzkxZGY2ZGVjZjQyZWU1NDFiNmQ4ZjBjOWExMzc0MDFlMjM2MzJkZGEzNGQyNGYnLFxcbiAgICAgICAgJzRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMWVjODBmZWYzNjBjYmRkOTU0MTYwZmFkYWIzNTJiNmI5MmI1MzU3NmE4OGZlYTQ5NDcxNzNiOWQ0MzAwYmYxOScsXFxuICAgICAgICAnYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNDZhNzc4YzA0NjcwYzJmOTFiMDBhZjQ2ODBkZmE4YmNlMzQ5MDcxN2Q1OGJhODg5ZGRiNTkyODM2NjY0MmJlJyxcXG4gICAgICAgICdiMzE4ZTBlYzMzNTQwMjhhZGQ2Njk4MjdmOWQ0YjI4NzBhYWE5NzFkMmY3ZTVlZDFkMGIyOTc0ODNkODNlZmQwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ZhNTBjMGY2MWQyMmU1ZjA3ZTNhY2ViYjFhYTA3YjEyOGQwMDEyMjA5YTI4Yjk3NzZkNzZhODc5MzE4MGVlZjknLFxcbiAgICAgICAgJzZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZGExZDYxZDBjYTcyMWExMWIxYTViZjZiN2Q4OGU4NDIxYTI4OGFiNWQ1YmJhNTIyMGU1M2QzMmI1ZjA2N2VjMicsXFxuICAgICAgICAnODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdhOGUyODJmZjBjOTcwNjkwNzIxNWZmOThlOGZkNDE2NjE1MzExZGUwNDQ2ZjFlMDYyYTczYjA2MTBkMDY0ZTEzJyxcXG4gICAgICAgICc3Zjk3MzU1YjhkYjgxYzA5YWJmYjdmM2M1YjI1MTU4ODhiNjc5YTNlNTBkZDZiZDZjZWY3YzczMTExZjRjYzBjJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE3NGE1M2I5YzlhMjg1ODcyZDM5ZTU2ZTY5MTNjYWIxNWQ1OWIxZmE1MTI1MDhjMDIyZjM4MmRlODMxOTQ5N2MnLFxcbiAgICAgICAgJ2NjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOTU5Mzk2OTgxOTQzNzg1YzNkM2U1N2VkZjUwMThjZGJlMDM5ZTczMGU0OTE4YjNkODg0ZmRmZjA5NDc1YjdiYScsXFxuICAgICAgICAnMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkMmE2M2E1MGFlNDAxZTU2ZDY0NWExMTUzYjEwOWE4ZmNjYTBhNDNkNTYxZmJhMmRiYjUxMzQwYzlkODJiMTUxJyxcXG4gICAgICAgICdlODJkODZmYjY0NDNmY2I3NTY1YWVlNThiMjk0ODIyMGE3MGY3NTBhZjQ4NGNhNTJkNDE0MjE3NGRjZjg5NDA1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzY0NTg3ZTIzMzU0NzFlYjg5MGVlNzg5NmQ3Y2ZkYzg2NmJhY2JkYmQzODM5MzE3YjM0MzZmOWI0NTYxN2UwNzMnLFxcbiAgICAgICAgJ2Q5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODQ4MWJkZTBlNGU0ZDg4NWIzYTU0NmQzZTU0OWRlMDQyZjBhYTZjZWEyNTBlN2ZkMzU4ZDZjODZkZDQ1ZTQ1OCcsXFxuICAgICAgICAnMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxMzQ2NGE1N2E3ODEwMmFhNjJiNjk3OWFlODE3ZjQ2MzdmZmNmZWQzYzRiMWNlMzBiY2Q2MzAzZjZjYWY2NjZiJyxcXG4gICAgICAgICc2OWJlMTU5MDA0NjE0NTgwZWY3ZTQzMzQ1M2NjYjBjYTQ4ZjMwMGE4MWQwOTQyZTEzZjQ5NWE5MDdmNmVjYzI3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2JjNGE5ZGY1YjcxM2ZlMmU5YWVmNDMwYmNjMWRjOTdhMGNkOWNjZWRlMmYyODU4OGNhZGEzYTBkMmQ4M2YzNjYnLFxcbiAgICAgICAgJ2QzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4YzI4YTk3YmY4Mjk4YmMwZDIzZDhjNzQ5NDUyYTMyZTY5NGI2NWUzMGE5NDcyYTM5NTRhYjMwZmU1MzI0Y2FhJyxcXG4gICAgICAgICc0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhlYTk2NjYxMzk1MjdhOGMxZGQ5NGNlNGYwNzFmZDIzYzhiMzUwYzVhNGJiMzM3NDhjNGJhMTExZmFjY2FlMCcsXFxuICAgICAgICAnNjIwZWZhYmJjOGVlMjc4MmUyNGU3YzBjZmI5NWM1ZDczNWI3ODNiZTljZjBmOGU5NTVhZjM0YTMwZTYyYjk0NSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkZDM2MjVmYWVmNWJhMDYwNzQ2Njk3MTZiYmQzNzg4ZDg5YmRkZTgxNTk1OTk2ODA5MmY3NmNjNGViOWE5Nzg3JyxcXG4gICAgICAgICc3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Y3MTBkNzlkOWViOTYyMjk3ZTRmNjIzMmI0MGU4ZjdmZWIyYmM2MzgxNDYxNGQ2OTJjMTJkZTc1MjQwODIyMWUnLFxcbiAgICAgICAgJ2VhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODInXFxuICAgICAgXVxcbiAgICBdXFxuICB9LFxcbiAgbmFmOiB7XFxuICAgIHduZDogNyxcXG4gICAgcG9pbnRzOiBbXFxuICAgICAgW1xcbiAgICAgICAgJ2Y5MzA4YTAxOTI1OGMzMTA0OTM0NGY4NWY4OWQ1MjI5YjUzMWM4NDU4MzZmOTliMDg2MDFmMTEzYmNlMDM2ZjknLFxcbiAgICAgICAgJzM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMmY4YmRlNGQxYTA3MjA5MzU1YjRhNzI1MGE1YzUxMjhlODhiODRiZGRjNjE5YWI3Y2JhOGQ1NjliMjQwZWZlNCcsXFxuICAgICAgICAnZDhhYzIyMjYzNmU1ZTNkNmQ0ZGJhOWRkYTZjOWM0MjZmNzg4MjcxYmFiMGQ2ODQwZGNhODdkM2FhNmFjNjJkNidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc1Y2JkZjA2NDZlNWRiNGVhYTM5OGYzNjVmMmVhN2EwZTNkNDE5YjdlMDMzMGUzOWNlOTJiZGRlZGNhYzRmOWJjJyxcXG4gICAgICAgICc2YWViY2E0MGJhMjU1OTYwYTMxNzhkNmQ4NjFhNTRkYmE4MTNkMGI4MTNmZGU3YjVhNTA4MjYyODA4NzI2NGRhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2FjZDQ4NGUyZjBjN2Y2NTMwOWFkMTc4YTlmNTU5YWJkZTA5Nzk2OTc0YzU3ZTcxNGMzNWYxMTBkZmMyN2NjYmUnLFxcbiAgICAgICAgJ2NjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzc0YWU3Zjg1OGE5NDExZTVlZjQyNDZiNzBjNjVhYWM1NjQ5OTgwYmU1YzE3ODkxYmJlYzE3ODk1ZGEwMDhjYicsXFxuICAgICAgICAnZDk4NGEwMzJlYjZiNWUxOTAyNDNkZDU2ZDdiN2IzNjUzNzJkYjFlMmRmZjlkNmE4MzAxZDc0YzljOTUzYzYxYidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdmMjg3NzNjMmQ5NzUyODhiYzdkMWQyMDVjMzc0ODY1MWIwNzVmYmM2NjEwZTU4Y2RkZWVkZGY4ZjE5NDA1YWE4JyxcXG4gICAgICAgICdhYjA5MDJlOGQ4ODBhODk3NTgyMTJlYjY1Y2RhZjQ3M2ExYTA2ZGE1MjFmYTkxZjI5YjVjYjUyZGIwM2VkODEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDc5MjRkNGY3ZDQzZWE5NjVhNDY1YWUzMDk1ZmY0MTEzMWU1OTQ2ZjNjODVmNzllNDRhZGJjZjhlMjdlMDgwZScsXFxuICAgICAgICAnNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkZWZkZWE0Y2RiNjc3NzUwYTQyMGZlZTgwN2VhY2YyMWViOTg5OGFlNzliOTc2ODc2NmU0ZmFhMDRhMmQ0YTM0JyxcXG4gICAgICAgICc0MjExYWIwNjk0NjM1MTY4ZTk5N2IwZWFkMmE5M2RhZWNlZDFmNGEwNGE5NWMwZjZjZmIxOTlmNjllNTZlYjc3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzJiNGVhMGE3OTdhNDQzZDI5M2VmNWNmZjQ0NGY0OTc5ZjA2YWNmZWJkN2U4NmQyNzc0NzU2NTYxMzgzODViNmMnLFxcbiAgICAgICAgJzg1ZTg5YmMwMzc5NDVkOTNiMzQzMDgzYjVhMWM4NjEzMWEwMWY2MGM1MDI2OTc2M2I1NzBjODU0ZTVjMDliN2EnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzUyYmJmNGE0Y2RkMTI1NjRmOTNmYTMzMmNlMzMzMzAxZDlhZDQwMjcxZjgxMDcxODEzNDBhZWYyNWJlNTlkNScsXFxuICAgICAgICAnMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyZmEyMTA0ZDZiMzhkMTFiMDIzMDAxMDU1OTg3OTEyNGU0MmFiOGRmZWZmNWZmMjlkYzljZGFkZDRlY2FjYzNmJyxcXG4gICAgICAgICcyZGUxMDY4Mjk1ZGQ4NjViNjQ1NjkzMzViZDVkZDgwMTgxZDcwZWNmYzg4MjY0ODQyM2JhNzZiNTMyYjdkNjcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOTI0ODI3OWIwOWI0ZDY4ZGFiMjFhOWIwNjZlZGRhODMyNjNjM2Q4NGUwOTU3MmUyNjljYTBjZDdmNTQ1MzcxNCcsXFxuICAgICAgICAnNzMwMTZmN2JmMjM0YWFkZTVkMWFhNzFiZGVhMmIxZmYzZmMwZGUyYTg4NzkxMmZmZTU0YTMyY2U5N2NiMzQwMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkYWVkNGYyYmUzYThiZjI3OGU3MDEzMmZiMGJlYjc1MjJmNTcwZTE0NGJmNjE1YzA3ZTk5NmQ0NDNkZWU4NzI5JyxcXG4gICAgICAgICdhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQwZTUyMjkwYmUxYzU1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2M0NGQxMmM3MDY1ZDgxMmU4YWNmMjhkN2NiYjE5ZjkwMTFlY2Q5ZTlmZGYyODFiMGU2YTNiNWU4N2QyMmU3ZGInLFxcbiAgICAgICAgJzIxMTlhNDYwY2UzMjZjZGM3NmM0NTkyNmM5ODJmZGFjMGUxMDZlODYxZWRmNjFjNWEwMzkwNjNmMGUwZTY0ODInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNmEyNDViZjZkYzY5ODUwNGM4OWEyMGNmZGVkNjA4NTMxNTJiNjk1MzM2YzI4MDYzYjYxYzY1Y2JkMjY5ZTZiNCcsXFxuICAgICAgICAnZTAyMmNmNDJjMmJkNGE3MDhiM2Y1MTI2ZjE2YTI0YWQ4YjMzYmE0OGQwNDIzYjZlZmQ1ZTYzNDgxMDBkOGE4MidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNjk3ZmZhNmZkOWRlNjI3YzA3N2UzZDJmZTU0MTA4NGNlMTMzMDBiMGJlYzExNDZmOTVhZTU3ZjBkMGJkNmE1JyxcXG4gICAgICAgICdiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzYwNWJkYjAxOTk4MTcxOGI5ODZkMGYwN2U4MzRjYjBkOWRlYjgzNjBmZmI3ZjYxZGY5ODIzNDVlZjI3YTc0NzknLFxcbiAgICAgICAgJzI5NzJkMmRlNGY4ZDIwNjgxYTc4ZDkzZWM5NmZlMjNjMjZiZmFlODRmYjE0ZGI0M2IwMWUxZTkwNTZiOGM0OSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc2MmQxNGRhYjQxNTBiZjQ5NzQwMmZkYzQ1YTIxNWUxMGRjYjAxYzM1NDk1OWIxMGNmZTMxYzdlOWQ4N2ZmMzNkJyxcXG4gICAgICAgICc4MGZjMDZiZDhjYzViMDEwOTgwODhhMTk1MGVlZDBkYjAxYWExMzI5NjdhYjQ3MjIzNWY1NjQyNDgzYjI1ZWFmJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzgwYzYwYWQwMDQwZjI3ZGFkZTViNGIwNmM0MDhlNTZiMmM1MGU5ZjU2YjliOGI0MjVlNTU1YzJmODYzMDhiNmYnLFxcbiAgICAgICAgJzFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1N2EnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnN2E5Mzc1YWQ2MTY3YWQ1NGFhNzRjNjM0OGNjNTRkMzQ0Y2M1ZGM5NDg3ZDg0NzA0OWQ1ZWFiYjBmYTAzYzhmYicsXFxuICAgICAgICAnZDBlM2ZhOWVjYTg3MjY5MDk1NTllMGQ3OTI2OTA0NmJkYzU5ZWExMGM3MGNlMmIwMmQ0OTllYzIyNGRjN2Y3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2Q1MjhlY2Q5YjY5NmI1NGM5MDdhOWVkMDQ1NDQ3YTc5YmI0MDhlYzM5YjY4ZGY1MDRiYjUxZjQ1OWJjM2ZmYzknLFxcbiAgICAgICAgJ2VlY2Y0MTI1MzEzNmU1Zjk5OTY2ZjIxODgxZmQ2NTZlYmM0MzQ1NDA1YzUyMGRiYzA2MzQ2NWI1MjE0MDk5MzMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNDkzNzBhNGI1ZjQzNDEyZWEyNWY1MTRlOGVjZGFkMDUyNjYxMTVlNGE3ZWNiMTM4NzIzMTgwOGY4YjQ1OTYzJyxcXG4gICAgICAgICc3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc3ZjIzMDkzNmVlODhjYmJkNzNkZjkzMGQ2NDcwMmVmODgxZDgxMWUwZTE0OThlMmYxYzEzZWIxZmMzNDVkNzQnLFxcbiAgICAgICAgJzk1OGVmNDJhNzg4NmI2NDAwYTA4MjY2ZTliYTFiMzc4OTZjOTUzMzBkOTcwNzdjYmJlOGViM2M3NjcxYzYwZDYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZjJkYWM5OTFjYzRjZTRiOWVhNDQ4ODdlNWM3YzBiY2U1OGM4MDA3NGFiOWQ0ZGJhZWIyODUzMWI3NzM5ZjUzMCcsXFxuICAgICAgICAnZTBkZWRjOWIzYjJmOGRhZDRkYTFmMzJkZWMyNTMxZGY5ZWI1ZmJlYjA1OThlNGZkMWExMTdkYmE3MDNhM2MzNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0NjNiM2Q5ZjY2MjYyMWZiMWI0YmU4ZmJiZTI1MjAxMjVhMjE2Y2RmYzlkYWUzZGViY2JhNDg1MGM2OTBkNDViJyxcXG4gICAgICAgICc1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2YxNmY4MDQyNDRlNDZlMmEwOTIzMmQ0YWZmM2I1OTk3NmI5OGZhYzE0MzI4YTJkMWEzMjQ5NmI0OTk5OGYyNDcnLFxcbiAgICAgICAgJ2NlZGFiZDliODIyMDNmN2UxM2QyMDZmY2RmNGUzM2Q5MmE2YzUzYzI2ZTVjY2UyNmQ2NTc5OTYyYzRlMzFkZjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnY2FmNzU0MjcyZGM4NDU2M2IwMzUyYjdhMTQzMTFhZjU1ZDI0NTMxNWFjZTI3YzY1MzY5ZTE1ZjcxNTFkNDFkMScsXFxuICAgICAgICAnY2I0NzQ2NjBlZjM1ZjVmMmE0MWI2NDNmYTVlNDYwNTc1ZjRmYTliNzk2MjIzMmE1YzMyZjkwODMxOGEwNDQ3NidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyNjAwY2E0YjI4MmNiOTg2Zjg1ZDBmMTcwOTk3OWQ4YjQ0YTA5YzA3Y2I4NmQ3YzEyNDQ5N2JjODZmMDgyMTIwJyxcXG4gICAgICAgICc0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc2MzVjYTcyZDdlODQzMmMzMzhlYzUzY2QxMjIyMGJjMDFjNDg2ODVlMjRmN2RjOGM2MDJhNzc0Njk5OGU0MzUnLFxcbiAgICAgICAgJzkxYjY0OTYwOTQ4OWQ2MTNkMWQ1ZTU5MGY3OGU2ZDc0ZWNmYzA2MWQ1NzA0OGJhZDllNzZmMzAyYzViOWM2MSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc3NTRlMzIzOWYzMjU1NzBjZGJiZjRhODdkZWVlOGE2NmI3ZjJiMzM0NzlkNDY4ZmJjMWE1MDc0M2JmNTZjYzE4JyxcXG4gICAgICAgICc2NzNmYjg2ZTViZGEzMGZiM2NkMGVkMzA0ZWE0OWEwMjNlZTMzZDAxOTdhNjk1ZDBjNWQ5ODA5M2M1MzY2ODMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTNlNmJkMTA3MWExZTk2YWZmNTc4NTljODJkNTcwZjAzMzA4MDA2NjFkMWM5NTJmOWZlMjY5NDY5MWQ5YjllOCcsXFxuICAgICAgICAnNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxODZiNDgzZDA1NmEwMzM4MjZhZTczZDg4ZjczMjk4NWM0Y2NiMWYzMmJhMzVmNGI0Y2M0N2ZkY2YwNGFhNmViJyxcXG4gICAgICAgICczYjk1MmQzMmM2N2NmNzdlMmUxNzQ0NmUyMDQxODBhYjIxZmI4MDkwODk1MTM4YjRhNGE3OTdmODZlODA4ODhiJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2RmOWQ3MGE2Yjk4NzZjZTU0NGM5ODU2MWY0YmU0ZjcyNTQ0MmU2ZDJiNzM3ZDljOTFhODMyMTcyNGNlMDk2M2YnLFxcbiAgICAgICAgJzU1ZWIyZGFmZDg0ZDZjY2Q1Zjg2MmI3ODVkYzM5ZDRhYjE1NzIyMjcyMGVmOWRhMjE3YjhjNDVjZjJiYTI0MTcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNWVkZDVjYzIzYzUxZTg3YTQ5N2NhODE1ZDVkY2UwZjhhYjUyNTU0Zjg0OWVkODk5NWRlNjRjNWYzNGNlNzE0MycsXFxuICAgICAgICAnZWZhZTljOGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyOTA3OThjMmI2NDc2ODMwZGExMmZlMDIyODdlOWU3NzdhYTNmYmExYzM1NWIxN2E3MjJkMzYyZjg0NjE0ZmJhJyxcXG4gICAgICAgICdlMzhkYTc2ZGNkNDQwNjIxOTg4ZDAwYmNmNzlhZjI1ZDViMjljMDk0ZGIyYTIzMTQ2ZDAwM2FmZDQxOTQzZTdhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2FmM2M0MjNhOTVkOWY1YjMwNTQ3NTRlZmExNTBhYzM5Y2QyOTU1MmZlMzYwMjU3MzYyZGZkZWNlZjQwNTNiNDUnLFxcbiAgICAgICAgJ2Y5OGEzZmQ4MzFlYjJiNzQ5YTkzYjBlNmYzNWNmYjQwYzhjZDVhYTY2N2ExNTU4MWJjMmZlZGVkNDk4ZmQ5YzYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzY2ZGJiMjRkMTM0ZTc0NWNjY2FhMjhjOTliZjI3NDkwNmJiNjZiMjZkY2Y5OGRmOGQyZmVkNTBkODg0MjQ5YScsXFxuICAgICAgICAnNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc1OWRiZjQ2ZjhjOTQ3NTliYTIxMjc3YzMzNzg0ZjQxNjQ1ZjdiNDRmNmM1OTZhNThjZTkyZTY2NjE5MWFiZTNlJyxcXG4gICAgICAgICdjNTM0YWQ0NDE3NWZiYzMwMGY0ZWE2Y2U2NDgzMDlhMDQyY2U3MzlhNzkxOTc5OGNkODVlMjE2YzRhMzA3ZjZlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2YxM2FkYTk1MTAzYzQ1MzczMDVlNjkxZTc0ZTlhNGE4ZGQ2NDdlNzExYTk1ZTczY2I2MmRjNjAxOGNmZDg3YjgnLFxcbiAgICAgICAgJ2UxMzgxN2I0NGVlMTRkZTY2M2JmNGJjODA4MzQxZjMyNjk0OWUyMWE2YTc1YzI1NzA3Nzg0MTliZGFmNTczM2QnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzc1NGI0ZmEwZThhY2VkMDZkNDE2N2EyYzU5Y2NhNGNkYTE4NjljMDZlYmFkZmI2NDg4NTUwMDE1YTg4NTIyYycsXFxuICAgICAgICAnMzBlOTNlODY0ZTY2OWQ4MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5NDhkY2FkZjU5OTBlMDQ4YWEzODc0ZDQ2YWJlZjlkNzAxODU4Zjk1ZGU4MDQxZDJhNjgyOGM5OWUyMjYyNTE5JyxcXG4gICAgICAgICdlNDkxYTQyNTM3ZjZlNTk3ZDVkMjhhMzIyNGIxYmMyNWRmOTE1NGVmYmQyZWYxZDJjYmJhMmNhZTUzNDdkNTdlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc5NjI0MTQ0NTBjNzZjMTY4OWM3YjQ4ZjgyMDJlYzM3ZmIyMjRjZjVhYzBiZmExNTcwMzI4YThhM2Q3Yzc3YWInLFxcbiAgICAgICAgJzEwMGI2MTBlYzRmZmI0NzYwZDVjMWZjMTMzZWY2ZjZiMTI1MDdhMDUxZjA0YWM1NzYwYWZhNWIyOWRiODM0MzcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzUxNDA4NzgzNDk2NGI1NGIxNWIxNjA2NDRkOTE1NDg1YTE2OTc3MjI1Yjg4NDdiYjBkZDA4NTEzN2VjNDdjYScsXFxuICAgICAgICAnZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkM2NjMzBhZDZiNDgzZTRiYzc5Y2UyYzlkZDhiYzU0OTkzZTk0N2ViOGRmNzg3YjQ0Mjk0M2QzZjdiNTI3ZWFmJyxcXG4gICAgICAgICc4YjM3OGEyMmQ4MjcyNzhkODljNWU5YmU4Zjk1MDhhZTNjMmFkNDYyOTAzNTg2MzBhZmIzNGRiMDRlZWRlMGE0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE2MjRkODQ3ODA3MzI4NjBjZTFjNzhmY2JmZWZlMDhiMmIyOTgyM2RiOTEzZjY0OTM5NzViYTBmZjQ4NDc2MTAnLFxcbiAgICAgICAgJzY4NjUxY2Y5YjZkYTkwM2UwOTE0NDQ4YzZjZDlkNGNhODk2ODc4ZjUyODJiZTRjOGNjMDZlMmE0MDQwNzg1NzUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzMzY2U4MGRhOTU1YThhMjY5MDJjOTU2MzNlNjJhOTg1MTkyNDc0YjVhZjIwN2RhNmRmN2I0ZmQ1ZmM2MWNkNCcsXFxuICAgICAgICAnZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhiOGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNWQ5NDQxMjU0OTQ1MDY0Y2YxYTFjMzNiYmQzYjQ5Zjg5NjZjNTA5MjE3MWU2OTllZjI1OGRmYWI4MWMwNDVjJyxcXG4gICAgICAgICdkNTZlYjMwYjY5NDYzZTcyMzRmNTEzN2I3M2I4NDE3NzQzNDgwMGJhY2ViZmM2ODVmYzM3YmJlOWVmZTQwNzBkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2ExZDBmY2YyZWM5ZGU2NzViNjEyMTM2ZTVjZTcwZDI3MWMyMTQxN2M5ZDJiOGFhYWFjMTM4NTk5ZDA3MTc5NDAnLFxcbiAgICAgICAgJ2VkZDc3ZjUwYmNiNWEzY2FiMmU5MDczNzMwOTY2N2YyNjQxNDYyYTU0MDcwZjNkNTE5MjEyZDM5YzE5N2E2MjknXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTIyZmJlMTVjMGFmOGNjYzU3ODBjMDczNWY4NGRiZTlhNzkwYmFkZWU4MjQ1YzA2YzdjYTM3MzMxY2IzNjk4MCcsXFxuICAgICAgICAnYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMxMTA5MWRkOTg2MGU4ZTIwZWUxMzQ3M2MxMTU1ZjVmNjk2MzVlMzk0NzA0ZWFhNzQwMDk0NTIyNDZjZmE5YjMnLFxcbiAgICAgICAgJzY2ZGI2NTZmODdkMWYwNGZmZmQxZjA0Nzg4YzA2ODMwODcxZWM1YTY0ZmVlZTY4NWJkODBmMGIxMjg2ZDgzNzQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzRjMWZkMDRkMzAxYmU4OWIzMWMwNDQyZDNlNmFjMjQ4ODM5MjhiNDVhOTM0MDc4MTg2N2Q0MjMyZWMyZGJkZicsXFxuICAgICAgICAnOTQxNDY4NWU5N2IxYjU5NTRiZDQ2ZjczMDE3NDEzNmQ1N2YxY2VlYjQ4NzQ0M2RjNTMyMTg1N2JhNzNhYmVlJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2YyMTllYTVkNmI1NDcwMWMxYzE0ZGU1YjU1N2ViNDJhOGQxM2YzYWJiY2QwOGFmZmNjMmE1ZTZiMDQ5YjhkNjMnLFxcbiAgICAgICAgJzRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRiMDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDdiODc0MGY3NGE4ZmJhYWIxZjY4M2RiOGY0NWRlMjY1NDNhNTQ5MGJjYTYyNzA4NzIzNjkxMjQ2OWEwYjQ0OCcsXFxuICAgICAgICAnZmE3Nzk2ODEyOGQ5YzkyZWUxMDEwZjMzN2FkNDcxN2VmZjE1ZGI1ZWQzYzA0OWIzNDExZTAzMTVlYWE0NTkzYidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczMmQzMWMyMjJmOGY2ZjBlZjg2ZjdjOThkM2EzMzM1ZWFkNWJjZDMyYWJkZDk0Mjg5ZmU0ZDMwOTFhYTgyNGJmJyxcXG4gICAgICAgICc1ZjMwMzJmNTg5MjE1NmUzOWNjZDNkNzkxNWI5ZTFkYTJlNmRhYzllNmYyNmU5NjExMThkMTRiODQ2MmUxNjYxJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzc0NjFmMzcxOTE0YWIzMjY3MTA0NWExNTVkOTgzMWVhODc5M2Q3N2NkNTk1OTJjNDM0MGY4NmNiYzE4MzQ3YjUnLFxcbiAgICAgICAgJzhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZWUwNzlhZGIxZGYxODYwMDc0MzU2YTI1YWEzODIwNmE2ZDcxNmIyYzNlNjc0NTNkMjg3Njk4YmFkN2IyYjJkNicsXFxuICAgICAgICAnOGRjMjQxMmFhZmUzYmU1YzRjNWYzN2UwZWNjNWY5ZjZhNDQ2OTg5YWYwNGM0ZTI1ZWJhYWM0NzllYzFjOGMxZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxNmVjOTNlNDQ3ZWM4M2YwNDY3YjE4MzAyZWU2MjBmN2U2NWRlMzMxODc0YzlkYzcyYmZkODYxNmJhOWRhNmI1JyxcXG4gICAgICAgICc1ZTQ2MzExNTBlNjJmYjQwZDBlOGMyYTdjYTU4MDRhMzlkNTgxODZhNTBlNDk3MTM5NjI2Nzc4ZTI1YjA2NzRkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2VhYTVmOTgwYzI0NWY2ZjAzODk3ODI5MGFmYTcwYjZiZDg4NTU4OTdmOThiNmFhNDg1Yjk2MDY1ZDUzN2JkOTknLFxcbiAgICAgICAgJ2Y2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZlYTY3ZmIxODA0MTAyNGVkYzA3ZGMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzhjOTQwNzU0NGFjMTMyNjkyZWUxOTEwYTAyNDM5OTU4YWUwNDg3NzE1MTM0MmVhOTZjNGI2YjM1YTQ5ZjUxJyxcXG4gICAgICAgICdmM2UwMzE5MTY5ZWI5Yjg1ZDU0MDQ3OTU1MzlhNWU2OGZhMWZiZDU4M2MwNjRkMjQ2MmI2NzVmMTk0YTNkZGI0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzQ5NGY0YmUyMTlhMWE3NzAxNmRjZDgzODQzMWFlYTAwMDFjZGM4YWU3YTZmYzY4ODcyNjU3OGQ5NzAyODU3YTUnLFxcbiAgICAgICAgJzQyMjQyYTk2OTI4M2E1ZjMzOWJhN2YwNzVlMzZiYTJhZjkyNWNlMzBkNzY3ZWQ2ZTU1ZjRiMDMxODgwZDU2MmMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYTU5OGE4MDMwZGE2ZDg2YzZiYzdmMmY1MTQ0ZWE1NDlkMjgyMTFlYTU4ZmFhNzBlYmY0YzFlNjY1YzFmZTliNScsXFxuICAgICAgICAnMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdjNDE5MTYzNjVhYmIyYjVkMDkxOTJmNWYyZGJlYWZlYzIwOGYwMjBmMTI1NzBhMTg0ZGJhZGMzZTU4NTk1OTk3JyxcXG4gICAgICAgICc0ZjE0MzUxZDAwODdlZmE0OWQyNDViMzI4OTg0OTg5ZDVjYWY5NDUwZjM0YmZjMGVkMTZlOTZiNThmYTk5MTMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODQxZDYwNjNhNTg2ZmE0NzVhNzI0NjA0ZGEwM2JjNWI5MmEyZTBkMmUwYTM2YWNmZTRjNzNhNTUxNDc0Mjg4MScsXFxuICAgICAgICAnNzM4NjdmNTljMDY1OWU4MTkwNGY5YTFjNzU0MzY5OGU2MjU2MmQ2NzQ0YzE2OWNlN2EzNmRlMDFhOGQ2MTU0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzVlOTViYjM5OWE2OTcxZDM3NjAyNjk0N2Y4OWJkZTJmMjgyYjMzODEwOTI4YmU0ZGVkMTEyYWM0ZDcwZTIwZDUnLFxcbiAgICAgICAgJzM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3NDYwMTI4NjUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzZlNDY0MWE1Mzk0OGZkNDc2YzM5ZjhhOTlmZDk3NGU1ZWMwNzU2NGI1MzE1ZDhiZjk5NDcxYmNhMGVmMmY2NicsXFxuICAgICAgICAnZDI0MjRiMWIxYWJlNGViODE2NDIyN2IwODVjOWFhOTQ1NmVhMTM0OTNmZDU2M2UwNmZkNTFjZjU2OTRjNzhmYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczMzY1ODFlYTdiZmJiYjI5MGMxOTFhMmY1MDdhNDFjZjU2NDM4NDIxNzBlOTE0ZmFlYWIyN2MyYzU3OWY3MjYnLFxcbiAgICAgICAgJ2VhZDEyMTY4NTk1ZmUxYmU5OTI1MjEyOWI2ZTU2YjMzOTFmN2FiMTQxMGNkMWUwZWYzZGNkY2FiZDJmZGEyMjQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOGFiODk4MTZkYWRmZDZiNmExZjI2MzRmY2YwMGVjODQwMzc4MTAyNWVkNjg5MGM0ODQ5NzQyNzA2YmQ0M2VkZScsXFxuICAgICAgICAnNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxZTMzZjFhNzQ2YzljNTc3ODEzMzM0NGQ5Mjk5ZmNhYTIwYjA5MzhlOGFjZmYyNTQ0YmI0MDI4NGI4YzVmYjk0JyxcXG4gICAgICAgICc2MDY2MDI1N2RkMTFiM2FhOWM4ZWQ2MThkMjRlZGZmMjMwNmQzMjBmMWQwMzAxMGUzM2E3ZDIwNTdmM2IzYjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnODViN2MxZGNiM2NlYzFiN2VlN2YzMGRlZDc5ZGQyMGEwZWQxZjRjYzE4Y2JjZmNmYTQxMDM2MWZkOGYwOGYzMScsXFxuICAgICAgICAnM2Q5OGE5Y2RkMDI2ZGQ0M2YzOTA0OGYyNWE4ODQ3ZjRmY2FmYWQxODk1ZDdhNjMzYzZmZWQzYzM1ZTk5OTUxMSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcyOWRmOWZiZDhkOWU0NjUwOTI3NWY0YjEyNWQ2ZDQ1ZDdmYmU5YTNiODc4YTdhZjg3MmEyODAwNjYxYWM1ZjUxJyxcXG4gICAgICAgICdiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYTBiMWNhZTA2YjBhODQ3YTNmZWE2ZTY3MWFhZjhhZGZkZmU1OGNhMmY3NjgxMDVjODA4MmIyZTQ0OWZjZTI1MicsXFxuICAgICAgICAnYWU0MzQxMDJlZGRlMDk1OGVjNGIxOWQ5MTdhNmEyOGU2YjcyZGExODM0YWZmMGU2NTBmMDQ5NTAzYTI5NmNmMidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc0ZThjZWFmYjliM2U5YTEzNmRjN2ZmNjdlODQwMjk1YjQ5OWRmYjNiMjEzM2U0YmExMTNmMmU0YzBlMTIxZTUnLFxcbiAgICAgICAgJ2NmMjE3NDExOGM4YjZkN2E0YjQ4ZjZkNTM0Y2U1Yzc5NDIyYzA4NmE2MzQ2MDUwMmI4MjdjZTYyYTMyNjY4M2MnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDI0YTQ0ZTA0N2UxOWI2ZjVhZmI4MWM3Y2EyZjY5MDgwYTUwNzY2ODlhMDEwOTE5ZjQyNzI1YzJiNzg5YTMzYicsXFxuICAgICAgICAnNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlYTAxNjA2YTdhNmM5Y2RkMjQ5ZmRmY2ZhY2I5OTU4NDAwMWVkZDI4YWJiYWI3N2I1MTA0ZTk4ZThlM2IzNWQ0JyxcXG4gICAgICAgICczMjJhZjQ5MDhjNzMxMmIwY2ZiZmUzNjlmN2E3YjNjZGI3ZDQ0OTRiYzI4MjM3MDBjZmQ2NTIxODhhM2VhOThkJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2FmOGFkZGJmMmI2NjFjOGE2YzYzMjg2NTVlYjk2NjUxMjUyMDA3ZDhjNWVhMzFiZTRhZDE5NmRlOGNlMjEzMWYnLFxcbiAgICAgICAgJzY3NDllNjdjMDI5Yjg1ZjUyYTAzNGVhZmQwOTY4MzZiMjUyMDgxODY4MGUyNmFjOGYzZGZiY2RiNzE3NDk3MDAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZTNhZTE5NzQ1NjZjYTA2Y2M1MTZkNDdlMGZiMTY1YTY3NGEzZGFiY2ZjYTE1ZTcyMmYwZTM0NTBmNDU4ODknLFxcbiAgICAgICAgJzJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNTkxZWUzNTUzMTNkOTk3MjFjZjY5OTNmZmVkMWUzZTMwMTk5M2ZmM2VkMjU4ODAyMDc1ZWE4Y2VkMzk3ZTI0NicsXFxuICAgICAgICAnYjBlYTU1OGExMTNjMzBiZWE2MGZjNDc3NTQ2MGM3OTAxZmYwYjA1M2QyNWNhMmJkZWVlOThmMWE0YmU1ZDE5NidcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxMTM5NmQ1NWZkYTU0YzQ5ZjE5YWE5NzMxOGQ4ZGE2MWZhODU4NGU0N2IwODQ5NDUwNzdjZjAzMjU1YjUyOTg0JyxcXG4gICAgICAgICc5OThjNzRhOGNkNDVhYzAxMjg5ZDU4MzNhN2JlYjQ3NDRmZjUzNmIwMWIyNTdiZTRjNTc2N2JlYTkzZWE1N2E0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzNjNWQyYTFiYTM5YzVhMTc5MDAwMDczOGM5ZTBjNDBiOGRjZGZkNTQ2ODc1NGI2NDA1NTQwMTU3ZTAxN2FhN2EnLFxcbiAgICAgICAgJ2IyMjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnY2M4NzA0YjhhNjBhMGRlZmEzYTk5YTcyOTlmMmU5YzNmYmMzOTVhZmIwNGFjMDc4NDI1ZWY4YTE3OTNjYzAzMCcsXFxuICAgICAgICAnYmRkNDYwMzlmZWVkMTc4ODFkMWUwODYyZGIzNDdmOGNmMzk1Yjc0ZmM0YmNkYzRlOTQwYjc0ZTNhYzFmMWIxMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdjNTMzZTRmN2VhODU1NWFhY2Q5Nzc3YWM1Y2FkMjliOTdkZDRkZWZjY2M1M2VlN2VhMjA0MTE5YjI4ODliMTk3JyxcXG4gICAgICAgICc2ZjBhMjU2YmM1ZWZkZjQyOWEyZmI2MjQyZjFhNDNhMmQ5YjkyNWJiNGE0YjNhMjZiYjhlMGY0NWViNTk2MDk2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2MxNGY4ZjJjY2IyN2Q2ZjEwOWY2ZDA4ZDAzY2M5NmE2OWJhOGMzNGVlYzA3YmJjZjU2NmQ0OGUzM2RhNjU5MycsXFxuICAgICAgICAnYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdhNmNiYzMwNDZiYzZhNDUwYmFjMjQ3ODlmYTE3MTE1YTRjOTczOWVkNzVmOGYyMWNlNDQxZjcyZTBiOTBlNmVmJyxcXG4gICAgICAgICcyMWFlN2Y0NjgwZTg4OWJiMTMwNjE5ZTJjMGY5NWEzNjBjZWI1NzNjNzA2MDMxMzk4NjJhZmQ2MTdmYTliOWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzQ3ZDZkOWEwMmM0ODkyN2ViZmI4NmMxMzU5YjFjYWYxMzBhM2MwMjY3ZDExY2U2MzQ0YjM5Zjk5ZDQzY2MzOCcsXFxuICAgICAgICAnNjBlYTdmNjFhMzUzNTI0ZDFjOTg3ZjZlY2VjOTJmMDg2ZDU2NWFiNjg3ODcwY2IxMjY4OWZmMWUzMWM3NDQ0OCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkYTY1NDVkMjE4MWRiOGQ5ODNmN2RjYjM3NWVmNTg2NmQ0N2M2N2IxYmYzMWM4Y2Y4NTVlZjc0MzdiNzI2NTZhJyxcXG4gICAgICAgICc0OWI5NjcxNWFiNjg3OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2M0MDc0N2NjOWQwMTJjYjFhMTNiODE0ODMwOWM2ZGU3ZWMyNWQ2OTQ1ZDY1NzE0NmI5ZDU5OTRiOGZlYjExMTEnLFxcbiAgICAgICAgJzVjYTU2MDc1M2JlMmExMmZjNmRlNmNhZjJjYjQ4OTU2NWRiOTM2MTU2Yjk1MTRlMWJiNWU4MzAzN2UwZmEyZDQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNGU0MmM4ZWM4MmM5OTc5OGNjZjNhNjEwYmU4NzBlNzgzMzhjN2Y3MTMzNDhiZDM0YzgyMDNlZjQwMzdmMzUwMicsXFxuICAgICAgICAnNzU3MWQ3NGVlNWUwZmI5MmE3YThiMzNhMDc3ODMzNDFhNTQ5MjE0NGNjNTRiY2M0MGE5NDQ3MzY5MzYwNjQzNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczNzc1YWI3MDg5YmM2YWY4MjNhYmEyZTFhZjcwYjIzNmQyNTFjYWRiMGM4Njc0MzI4NzUyMmExYjNiMGRlZGVhJyxcXG4gICAgICAgICdiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2NlZTMxY2JmN2UzNGVjMzc5ZDk0ZmI4MTRkM2Q3NzVhZDk1NDU5NWQxMzE0YmE4ODQ2OTU5ZTNlODJmNzRlMjYnLFxcbiAgICAgICAgJzhmZDY0YTE0YzA2YjU4OWMyNmI5NDdhZTJiY2Y2YmZhMDE0OWVmMGJlMTRlZDRkODBmNDQ4YTAxYzQzYjFjNmQnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjRmOWVhZWEwOWI2OTE3NjE5ZjZlYTZhNGViNTQ2NGVmZGRiNThmZDQ1YjFlYmVmY2RjMWEwMWQwOGI0Nzk4NicsXFxuICAgICAgICAnMzllNWM5OTI1YjVhNTRiMDc0MzNhNGYxOGM2MTcyNmY4YmIxMzFjMDEyY2E1NDJlYjI0YThhYzA3MjAwNjgyYSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkNDI2M2RmYzNkMmRmOTIzYTAxNzlhNDg5NjZkMzBjZTg0ZTI1MTVhZmMzZGNjYzFiNzc5MDc3OTJlYmNjNjBlJyxcXG4gICAgICAgICc2MmRmYWYwN2EwZjc4ZmViMzBlMzBkNjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzQ4NDU3NTI0ODIwZmE2NWE0ZjhkMzVlYjY5MzA4NTdjMDAzMmFjYzBhNGEyZGU0MjIyMzNlZWRhODk3NjEyYzQnLFxcbiAgICAgICAgJzI1YTc0OGFiMzY3OTc5ZDk4NzMzYzM4YTFmYTFjMmU3ZGM2Y2MwN2RiMmQ2MGE5YWU3YTc2YWFhNDliZDBmNzcnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZGZlZWVmMTg4MTEwMWYyY2IxMTY0NGYzYTJhZmRmYzIwNDVlMTk5MTkxNTI5MjNmMzY3YTE3NjdjMTFjY2VkYScsXFxuICAgICAgICAnZWNmYjcwNTZjZjFkZTA0MmY5NDIwYmFiMzk2NzkzYzBjMzkwYmRlNzRiNGJiZGZmMTZhODNhZTA5YTlhNzUxNydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc2ZDdlZjZiMTc1NDNmODM3M2M1NzNmNDRlMWYzODk4MzVkODliY2JjNjA2MmNlZDM2YzgyZGY4M2I4ZmFlODU5JyxcXG4gICAgICAgICdjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U3NTYwNWQ1OTEwMmE1YTI2ODQ1MDBkM2I5OTFmMmUzZjNjODhiOTMyMjU1NDcwMzVhZjI1YWY2NmUwNDU0MWYnLFxcbiAgICAgICAgJ2Y1YzU0NzU0YThmNzFlZTU0MGI5YjQ4NzI4NDczZTMxNGY3MjlhYzUzMDhiMDY5MzgzNjA5OTBlMmJmYWQxMjUnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZWI5ODY2MGY0YzRkZmFhMDZhMmJlNDUzZDUwMjBiYzk5YTBjMmU2MGFiZTM4ODQ1N2RkNDNmZWZiMWVkNjIwYycsXFxuICAgICAgICAnNmNiOWE4ODc2ZDljYjg1MjA2MDlhZjNhZGQyNmNkMjBhMGE3Y2Q4YTk0MTExMzFjZTg1ZjQ0MTAwMDk5MjIzZSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICcxM2U4N2IwMjdkODUxNGQzNTkzOWYyZTY4OTJiMTk5MjIxNTQ1OTY5NDE4ODgzMzZkYzM1NjNlM2I4ZGJhOTQyJyxcXG4gICAgICAgICdmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkxYWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2VlMTYzMDI2ZTlmZDZmZTAxN2MzOGYwNmE1YmU2ZmMxMjU0MjRiMzcxY2UyNzA4ZTdiZjQ0OTE2OTFlNTc2NGEnLFxcbiAgICAgICAgJzFhY2IyNTBmMjU1ZGQ2MWM0M2Q5NGNjYzY3MGQwZjU4ZjQ5YWUzZmExNWI5NjYyM2U1NDMwZGEwYWQ2YzYyYjInXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYjI2OGY1ZWY5YWQ1MWU0ZDc4ZGUzYTc1MGMyZGM4OWIxZTYyNmQ0MzUwNTg2Nzk5OTkzMmU1ZGIzM2FmM2Q4MCcsXFxuICAgICAgICAnNWYzMTBkNGIzYzk5YjllYmIxOWY3N2Q0MWMxZGVlMDE4Y2YwZDM0ZmQ0MTkxNjE0MDAzZTk0NWExMjE2ZTQyMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdmZjA3ZjMxMThhOWRmMDM1ZTlmYWQ4NWViNmM3YmZlNDJiMDJmMDFjYTk5Y2VlYTNiZjdmZmRiYTkzYzQ3NTBkJyxcXG4gICAgICAgICc0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzhkOGI5ODU1YzdjMDUyYTM0MTQ2ZmQyMGZmYjY1OGJlYTRiOWY2OWUwZDgyNWViZWMxNmU4YzNjZTJiNTI2YTEnLFxcbiAgICAgICAgJ2NkYjU1OWVlZGMyZDc5ZjkyNmJhZjQ0ZmI4NGVhNGQ0NGJjZjUwZmVlNTFkN2NlYjMwZTJlN2Y0NjMwMzY3NTgnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNTJkYjBiNTM4NGRmYmYwNWJmYTlkNDcyZDdhZTI2ZGZlNGI4NTFjZWNhOTFiMWViYTU0MjYzMTgwZGEzMmI2MycsXFxuICAgICAgICAnYzNiOTk3ZDA1MGVlNWQ0MjNlYmFmNjZhNmRiOWY1N2IzMTgwYzkwMjg3NTY3OWRlOTI0YjY5ZDg0YTdiMzc1J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2U2MmY5NDkwZDNkNTFkYTYzOTVlZmQyNGU4MDkxOWNjN2QwZjI5YzNmM2ZhNDhjNmZmZjU0M2JlY2JkNDMzNTInLFxcbiAgICAgICAgJzZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkxZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnN2YzMGVhMjQ3NmIzOTliNDk1NzUwOWM4OGY3N2QwMTkxYWZhMmZmNWNiN2IxNGZkNmQ4ZTdkNjVhYWFiMTE5MycsXFxuICAgICAgICAnY2E1ZWY3ZDRiMjMxYzk0YzNiMTUzODlhNWY2MzExZTlkYWZmN2JiNjdiMTAzZTk4ODBlZjRiZmY2MzdhY2FlYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc1MDk4ZmYxZTFkOWYxNGZiNDZhMjEwZmFkYTZjOTAzZmVmMGZiN2I0YTFkZDFkOWFjNjBhMDM2MTgwMGI3YTAwJyxcXG4gICAgICAgICc5NzMxMTQxZDgxZmM4ZjgwODRkMzdjNmU3NTQyMDA2YjNlZTFiNDBkNjBkZmU1MzYyYTViMTMyZmQxN2RkYzAnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnMzJiNzhjN2RlOWVlNTEyYTcyODk1YmU2YjljYmVmYTZlMmYzYzRjY2NlNDQ1Yzk2YjlmMmM4MWUyNzc4YWQ1OCcsXFxuICAgICAgICAnZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdlMmNiNzRmZGRjOGU5ZmJjZDA3NmVlZjJhN2M3MmIwY2UzN2Q1MGYwODI2OWRmYzA3NGI1ODE1NTA1NDdhNGY3JyxcXG4gICAgICAgICdkM2FhMmVkNzFjOWRkMjI0N2E2MmRmMDYyNzM2ZWIwYmFkZGVhOWUzNjEyMmQyYmU4NjQxYWJjYjAwNWNjNGE0J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzg0Mzg0NDc1NjZkNGQ3YmVkYWRjMjk5NDk2YWIzNTc0MjYwMDlhMzVmMjM1Y2IxNDFiZTBkOTljZDEwYWUzYTgnLFxcbiAgICAgICAgJ2M0ZTEwMjA5MTY5ODBhNGRhNWQwMWFjNWU2YWQzMzA3MzRlZjBkNzkwNjYzMWM0ZjIzOTA0MjZiMmVkZDc5MWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNDE2MmQ0ODhiODk0MDIwMzliNTg0YzZmYzZjMzA4ODcwNTg3ZDljNDZmNjYwYjg3OGFiNjVjODJjNzExZDY3ZScsXFxuICAgICAgICAnNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRhNDdhZTVhMDg1MjY0OSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICczZmFkM2ZhODRjYWYwZjM0ZjBmODliZmQyZGNmNTRmYzE3NWQ3NjdhZWMzZTUwNjg0ZjNiYTRhNGJmNWY2ODNkJyxcXG4gICAgICAgICdjZDFiYzdjYjZjYzQwN2JiMmYwY2E2NDdjNzE4YTczMGNmNzE4NzJlN2QwZDJhNTNmYTIwZWZjZGZlNjE4MjYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNjc0ZjI2MDBhMzAwN2EwMDU2OGMxYTdjZTA1ZDA4MTZjMWZiODRiZjEzNzA3OThmMWM2OTUzMmZhZWIxYTg2YicsXFxuICAgICAgICAnMjk5ZDIxZjk0MTNmMzNiM2VkZjQzYjI1NzAwNDU4MGI3MGRiNTdkYTBiMTgyMjU5ZTA5ZWVjYzY5ZTBkMzhhNSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkMzJmNGRhNTRhZGU3NGFiYjgxYjgxNWFkMWZiM2IyNjNkODJkNmM2OTI3MTRiY2ZmODdkMjliZDVlZTlmMDhmJyxcXG4gICAgICAgICdmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMwZTRlNjcwNDM1Mzg1NTU2ZTU5MzY1NzEzNTg0NWQzNmZiYjY5MzFmNzJiMDhjYjFlZDk1NGYxZTNjZTNmZjYnLFxcbiAgICAgICAgJzQ2MmY5YmNlNjE5ODk4NjM4NDk5MzUwMTEzYmJjOWIxMGE4NzhkMzVkYTcwNzQwZGM2OTVhNTU5ZWI4OGRiN2InXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnYmUyMDYyMDAzYzUxY2MzMDA0NjgyOTA0MzMwZTRkZWU3ZjNkY2QxMGIwMWU1ODBiZjE5NzFiMDRkNGNhZDI5NycsXFxuICAgICAgICAnNjIxODhiYzQ5ZDYxZTU0Mjg1NzNkNDhhNzRlMWM2NTViMWM2MTA5MDkwNTY4MmEwZDU1NThlZDcyZGNjYjliYydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc5MzE0NDQyM2FjZTM0NTFlZDI5ZTBmYjlhYzJhZjIxMWNiNmU4NGE2MDFkZjU5OTNjNDE5ODU5ZmZmNWRmMDRhJyxcXG4gICAgICAgICc3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdiNDdjJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJ2IwMTVmODA0NGY1ZmNiZGNmMjFjYTI2ZDZjMzRmYjgxOTc4MjkyMDVjN2I3ZDJhN2NiNjY0MThjMTU3YjExMmMnLFxcbiAgICAgICAgJ2FiOGMxZTA4NmQwNGU4MTM3NDRhNjU1YjJkZjhkNWY4M2IzY2RjNmZhYTMwODhjMWQzYWVhMTQ1NGUzYTFkNWYnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnZDVlOWUxZGE2NDlkOTdkODllNDg2ODExN2E0NjVhM2E0ZjhhMThkZTU3YTE0MGQzNmIzZjJhZjM0MWEyMWI1MicsXFxuICAgICAgICAnNGNiMDQ0MzdmMzkxZWQ3MzExMWExM2NjMWQ0ZGQwZGIxNjkzNDY1YzIyNDA0ODBkODk1NWU4NTkyZjI3NDQ3YSdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICdkM2FlNDEwNDdkZDdjYTA2NWRiZjhlZDc3Yjk5MjQzOTk4MzAwNWNkNzJlMTZkNmY5OTZhNTMxNmQzNjk2NmJiJyxcXG4gICAgICAgICdiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzQ2M2UyNzYzZDg4NWY5NThmYzY2Y2RkMjI4MDBmMGE0ODcxOTdkMGE4MmUzNzdiNDlmODBhZjg3Yzg5N2IwNjUnLFxcbiAgICAgICAgJ2JmZWZhY2RiMGU1ZDBmZDdkZjNhMzExYTk0ZGUwNjJiMjZiODBjNjFmYmM5NzUwOGI3OTk5MjY3MWVmN2NhN2YnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzk4NWZkZmQxMjdjMDU2N2M2ZjUzZWMxYmI2M2VjMzE1OGU1OTdjNDBiZmU3NDdjODNjZGRmYzkxMDY0MTkxNycsXFxuICAgICAgICAnNjAzYzEyZGFmM2Q5ODYyZWYyYjI1ZmUxZGUyODlhZWQyNGVkMjkxZTBlYzY3MDg3MDNhNWJkNTY3ZjMyZWQwMydcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc3NGExYWQ2YjVmNzZlMzlkYjJkZDI0OTQxMGVhYzdmOTllNzRjNTljYjgzZDJkMGVkNWZmMTU0M2RhNzcwM2U5JyxcXG4gICAgICAgICdjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4J1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzMwNjgyYTUwNzAzMzc1ZjYwMmQ0MTY2NjRiYTE5YjdmYzliYWI0MmM3Mjc0NzQ2M2E3MWQwODk2YjIyZjZkYTMnLFxcbiAgICAgICAgJzU1M2UwNGY2YjAxOGI0ZmE2YzhmMzllN2YzMTFkMzE3NjI5MGQwZTBmMTljYTczZjE3NzE0ZDk5NzdhMjJmZjgnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnOWUyMTU4ZjBkN2MwZDVmMjZjMzc5MWVmZWZhNzk1OTc2NTRlN2EyYjI0NjRmNTJiMWVlNmMxMzQ3NzY5ZWY1NycsXFxuICAgICAgICAnNzEyZmNkZDFiOTA1M2YwOTAwM2EzNDgxZmE3NzYyZTlmZmQ3YzhlZjM1YTM4NTA5ZTJmYmYyNjI5MDA4MzczJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzE3NmUyNjk4OWE0M2M5Y2ZlYmE0MDI5YzIwMjUzOGMyODE3MmU1NjZlM2M0ZmNlNzMyMjg1N2YzYmUzMjdkNjYnLFxcbiAgICAgICAgJ2VkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMnXFxuICAgICAgXSxcXG4gICAgICBbXFxuICAgICAgICAnNzVkNDZlZmVhMzc3MWU2ZTY4YWJiODlhMTNhZDc0N2VjZjE4OTIzOTNkZmM0ZjFiNzAwNDc4OGM1MDM3NGRhOCcsXFxuICAgICAgICAnOTg1MjM5MGE5OTUwNzY3OWZkMGI4NmZkMmIzOWE4NjhkN2VmYzIyMTUxMzQ2ZTFhM2NhNDcyNjU4NmE2YmVkOCdcXG4gICAgICBdLFxcbiAgICAgIFtcXG4gICAgICAgICc4MDlhMjBjNjdkNjQ5MDBmZmI2OThjNGM4MjVmNmQ1ZjIzMTBmYjA0NTFjODY5MzQ1YjczMTlmNjQ1NjA1NzIxJyxcXG4gICAgICAgICc5ZTk5NDk4MGQ5OTE3ZTIyYjc2YjA2MTkyN2ZhMDQxNDNkMDk2Y2NjNTQ5NjNlNmE1ZWJmYTVmM2Y4ZTI4NmMxJ1xcbiAgICAgIF0sXFxuICAgICAgW1xcbiAgICAgICAgJzFiMzg5MDNhNDNmN2YxMTRlZDQ1MDBiNGVhYzcwODNmZGVmZWNlMWNmMjljNjM1MjhkNTYzNDQ2Zjk3MmMxODAnLFxcbiAgICAgICAgJzQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjknXFxuICAgICAgXVxcbiAgICBdXFxuICB9XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012Y0hKbFkyOXRjSFYwWldRdmMyVmpjREkxTm1zeExtcHpQemRqTUdZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZaV3hzYVhCMGFXTXZiR2xpTDJWc2JHbHdkR2xqTDNCeVpXTnZiWEIxZEdWa0wzTmxZM0F5TlRack1TNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JrYjNWaWJHVnpPaUI3WEc0Z0lDQWdjM1JsY0RvZ05DeGNiaUFnSUNCd2IybHVkSE02SUZ0Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVTJNR1pqWlRrellqVTVaVGxsWXpVek1ERXhZV0ZpWXpJeFl6SXpaVGszWWpKaE16RXpOamxpT0RkaE5XRmxPV00wTkdWbE9EbGxNbUUyWkdWak1HRW5MRnh1SUNBZ0lDQWdJQ0FuWmpkbE16VXdOek01T1dVMU9UVTVNamxrWWprNVpqTTBaalUzT1RNM01UQXhNamsyT0RreFpUUTBaREl6WmpCaVpURm1NekpqWTJVMk9UWXhOamd5TVNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzRNamd5TWpZek1qRXlZell3T1dRNVpXRXlZVFpsTTJVeE56SmtaVEl6T0dRNFl6TTVZMkZpWkRWaFl6RmpZVEV3TmpRMlpUSXpabVExWmpVeE5UQTRKeXhjYmlBZ0lDQWdJQ0FnSnpFeFpqaGhPREE1T0RVMU4yUm1aVFExWlRneU5UWmxPRE13WWpZd1lXTmxOakprTmpFellXTXlaamRpTVRkaVpXUXpNV0kyWldGbVpqWmxNalpqWVdZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5NVGMxWlRFMU9XWTNNamhpT0RZMVlUY3laams1WTJNMll6Wm1ZemcwTm1SbE1HSTVNemd6TTJaa01qSXlNbVZrTnpObVkyVTFZalUxTVdVMVlqY3pPU2NzWEc0Z0lDQWdJQ0FnSUNka016VXdObVV3WkRsbE0yTTNPV1ZpWVRSbFpqazNZVFV4Wm1ZM01XWTFaV0ZqWWpVNU5UVmhaR1F5TkRNME5XTTJaV1poTm1abVpXVTVabVZrTmprMUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek0yTTJRNU1HUTBORGRpTURCak9XTTVPV05sWVdNd05XSTJNall5WldVd05UTTBOREZqTjJVMU5UVTFNbVptWlRVeU5tSmhaRGhtT0RObVpqUTJOREFuTEZ4dUlDQWdJQ0FnSUNBbk5HVXlOek5oWkdaak56TXlNakl4T1RVellqUTBOVE01TjJZek16WXpNVFExWWpsaE9Ea3dNRGd4T1RsbFkySTJNakF3TTJNM1pqTmlaV1U1WkdVNUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemhpTkdJMVpqRTJOV1JtTTJNeVltVTRZell5TkRSaU5XSTNORFUyTXpnNE5ETmxOR0UzT0RGaE1UVmlZMlF4WWpZNVpqYzVZVFUxWkdabVpHWTRNR01uTEZ4dUlDQWdJQ0FnSUNBbk5HRmhaREJoTm1ZMk9HUXpNRGhpTkdJelptSmtOemd4TTJGaU1HUmhNRFJtT1dVek16WTFORFl4TmpKbFpUVTJZak5sWm1Zd1l6WTFabVEwWm1Rek5pZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzTWpOalltRmhObVUxWkdJNU9UWmtObUptTnpjeFl6QXdZbVExTkRoak4ySTNNREJrWW1abVlUWmpNR1UzTjJKallqWXhNVFU1TWpVeU16Sm1ZMlJoSnl4Y2JpQWdJQ0FnSUNBZ0p6azJaVGcyTjJJMU5UazFZMk0wT1RoaE9USXhNVE0zTkRnNE9ESTBaRFpsTWpZMk1HRXdOalV6TnpjNU5EazBPREF4WkdNd05qbGtPV1ZpTXpsbU5XWW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuWldWaVptRTBaRFE1TTJKbFltWTVPR0poTldabFpXTTRNVEpqTW1RellqVXdPVFEzT1RZeE1qTTNZVGt4T1Rnek9XRTFNek5sWTJFd1pUZGtaRGRtWVNjc1hHNGdJQ0FnSUNBZ0lDYzFaRGxoT0dOaE16azNNR1ZtTUdZeU5qbGxaVGRsWkdGbU1UYzRNRGc1WkRsaFpUUmpaR016WVRjeE1XWTNNVEprWkdaa05HWmtZV1V4WkdVNE9UazVKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFd01HWTBOR1JoTmprMlpUY3hOamN5TnpreFpEQmhNRGxpTjJKa1pUUTFPV1l4TWpFMVlUSTVZak5qTUROaVptVm1aRGM0TXpWaU16bGhORGhrWWpBbkxGeHVJQ0FnSUNBZ0lDQW5ZMlJrT1dVeE16RTVNbUV3TUdJM056SmxZemhtTXpNd01HTXdPVEEyTmpaaU4yWm1OR0V4T0dabU5URTVOV0ZqTUdaaVpEVmpaRFl5WW1NMk5XRXdPU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbE1UQXpNV0psTWpZeVl6ZGxaREZpTVdSak9USXlOMkUwWVRBMFl6QXhOMkUzTjJZNFpEUTBOalJtTTJJek9EVXlZemhoWTJSbE5tVTFNelJtWkRKa0p5eGNiaUFnSUNBZ0lDQWdKemxrTnpBMk1Ua3lPRGswTURRd05XVTJZbUkyWVRReE56WTFPVGMxTXpWaFpqSTVNbVJrTkRFNVpURmpaV1EzT1dFME5HWXhPR1l5T1RRMU5tRXdNR1FuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblptVmxZVFpqWVdVME5tUTFOV0kxTXpCaFl6STRNemxtTVRRelltUTNaV00xWTJZNFlqSTJObUUwTVdRMllXWTFNbVExWlRZNE9HUTVNRGswTmprMlpDY3NYRzRnSUNBZ0lDQWdJQ2RsTlRkak5tSTJZemszWkdObE1XSmhZakEyWlRSbE1USmlaak5sWTJRMVl6azRNV000T1RVM1kyTTBNVFEwTW1Rek1UVTFaR1ZpWmpFNE1Ea3dNRGc0SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyUmhOamRoT1RGa09URXdORGxqWkdOaU16WTNZbVUwWW1VMlptWmpZVE5qWm1WbFpEWTFOMlE0TURnMU9ETmtaVE16Wm1FNU56aGlZekZsWXpaallqRW5MRnh1SUNBZ0lDQWdJQ0FuT1dKaFkyRmhNelUwT0RFMk5ESmlZelF4WmpRMk0yWTNaV001Tnpnd1pUVmtaV00zWVdSak5UQTRaamMwTUdFeE4yVTVaV0U0WlRJM1lUWTRZbVV4WkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzFNemt3TkdaaFlUQmlNek0wWTJSa1lUWmxNREF3T1RNMVpXWXlNakUxTVdWak1EaGtNR1kzWW1JeE1UQTJPV1kxTnpVME5XTmpZekZoTXpkaU4yTXdKeXhjYmlBZ0lDQWdJQ0FnSnpWaVl6QTROMlF3WW1NNE1ERXdObVE0T0dNNVpXTmpZV015TUdRell6RmpNVE01T1RrNU9ERmxNVFEwTXpRMk9UbGtZMkl3T1RaaU1ESXlOemN4WXpnblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PR1UzWW1Oa01HSmtNelU1T0ROaE56Y3hPV05qWVRjM05qUmpZVGt3TmpjM09XSTFNMkV3TkROaE9XSTRZbU5oWldabU9UVTVaalF6WVdRNE5qQTBOeWNzWEc0Z0lDQWdJQ0FnSUNjeE1HSTNOemN3WWpKaE0yUmhOR0l6T1RRd016RXdOREl3WTJFNU5URTBOVGM1WlRnNFpUSmxORGRtWkRZNFlqTmxZVEV3TURRM1pUZzBOakF6TnpKaEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek00TldWbFpETTBZekZqWkdabU1qRmxObVF3T0RFNE5qZzVZamd4WW1SbE56RmhOMlkwWmpFNE16azNaVFkyT1RCaE9EUXhaVEUxT1Rsak5ETTROakluTEZ4dUlDQWdJQ0FnSUNBbk1qZ3pZbVZpWXpObE9HVmhNak5tTlRZM01ERmtaVEU1WlRsbFltWTBOVGMyWWpNd05HVmxZekl3T0Raa1l6aGpZekEwTlRobVpUVTFOREpsTlRRMU15ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MyWmpsa09XSTRNRE5sWTJZeE9URTJNemRqTnpOaE5EUXhNMlJtWVRFNE1HWmtaR1k0TkdFMU9UUTNabUpqT1dNMk1EWmxaRGcyWXpObVlXTXpZVGNuTEZ4dUlDQWdJQ0FnSUNBbk4yTTRNR00yT0dVMk1ETXdOVGxpWVRZNVlqaGxNbUV6TUdVME5XTTBaRFEzWldFMFpHUXlaalZqTWpneE1EQXlaRGcyT0Rrd05qQXpZVGcwTWpFMk1DZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2N6TXpJeVpEUXdNVEkwTTJNMFpUSTFPREpoTWpFME4yTXhNRFJrTm1WalltWTNOelJrTVRZelpHSXdaalZsTlRNeE0ySTNaVEJsTnpReVpEQmxObUprSnl4Y2JpQWdJQ0FnSUNBZ0p6VTJaVGN3TnprM1pUazJOalJsWmpWaVptSXdNVGxpWXpSa1pHRm1PV0kzTWpnd05XWTJNMlZoTWpnM00yRm1OakkwWmpOaE1tVTVObU15T0dJeVlUQW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0RVMk56SmpOMlF5WkdVd1lqZGtZVEppWkRFM056QmtPRGsyTmpVNE5qZzNOREZpTTJZNVlXWTNOalF6TXprM056SXhaRGMwWkRJNE1UTTBZV0k0TXljc1hHNGdJQ0FnSUNBZ0lDYzNZelE0TVdJNVlqVmlORE5pTW1WaU5qTTNOREEwT1dKbVlUWXlZekpsTldVM04yWXhOMlpqWXpVeU9UaG1ORFJqT0dVek1EazBaamM1TURNeE0yRTJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnprME9HSm1PREE1WWpFNU9EaGhORFppTURaak9XWXhPVEU1TkRFellqRXdaamt5TWpaak5qQm1Oalk0T0RNeVptWmtPVFU1WVdZMk1HTTRNbUV3WVNjc1hHNGdJQ0FnSUNBZ0lDYzFNMkUxTmpJNE5UWmtZMkkyTmpRMlpHTTJZamMwWXpWa01XTXpOREU0WXpaa05HUm1aakE0WXprM1kyUXlZbVZrTkdOaU4yWTRPR1E0WXpobE5UZzVKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpZeU5qQmpaVGRtTkRZeE9EQXhZek0wWmpBMk4yTmxNR1l3TWpnM00yRTRaakZpTUdVME5HUm1Zelk1TnpVeVlXTmpaV05rT0RFNVpqTTRabVE0WlRnbkxGeHVJQ0FnSUNBZ0lDQW5ZbU15WkdFNE1tSTJabUUxWWpVM01XRTNaakE1TURRNU56YzJZVEZsWmpkbFkyUXlPVEl5TXpnd05URmpNVGs0WXpGaE9EUmxPVFZpTW1JMFlXVXhOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbE5UQXpOMlJsTUdGbVl6RmtPR1EwTTJRNE16UTROREUwWW1KbU5ERXdNekEwTTJWak9HWTFOelZpWm1Sak5ETXlPVFV6WTJNNFpESXdNemRtWVRKa0p5eGNiaUFnSUNBZ0lDQWdKelExTnpFMU16UmlZV0U1TkdRellqVm1PV1k1T0dRd09XWmlPVGt3WW1Sa1ltUTFaalZpTURObFl6UTRNV1l4TUdVd1pUVmtZemcwTVdRM05UVmlaR0VuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpUQTJNemN5WWpCbU5HRXlNRGRoWkdZMVpXRTVNRFZsT0dZeE56Y3hZalJsTjJVNFpHSmtNV00yWVRaak5XSTNNalU0TmpaaE1HRmxOR1pqWlRjeU5TY3NYRzRnSUNBZ0lDQWdJQ2MzWVRrd09EazNOR0pqWlRFNFkyWmxNVEpoTWpkaVlqSmhaRFZoTkRnNFkyUTNORGcwWVRjM09EY3hNRFE0TnpCaU1qY3dNelJtT1RSbFpXVXpNV1JrSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6SXhNMk0zWVRjeE5XTmtOV1EwTlRNMU9HUXdZbUptT1dSak1HTmxNREl5TURSaU1UQmlaR1JsTW1FelpqVTROVFF3WVdRMk9UQTRaREExTlRrM05UUW5MRnh1SUNBZ0lDQWdJQ0FuTkdJMlpHRmtNR0kxWVdVME5qSTFNRGN3TVROaFpEQTJNalExWW1FeE9UQmlZalE0TlRCbU5XWXpObUUzWldWa1pHWm1NbU15TnpVek5HSTBOVGhtTWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzBaVGRqTWpjeVlUZGhaalJpTXpSbE9HUmlZamt6TlRKaE5UUXhPV0U0TjJVeU9ETTRZemN3WVdSak5qSmpaR1JtTUdOak0yRXpZakE0Wm1Ka05UTmpKeXhjYmlBZ0lDQWdJQ0FnSnpFM056UTVZemMyTm1NNVpEQmlNVGhsTVRabVpEQTVaalprWldZMk9ERmlOVE13WWprMk1UUmlabVkzWkdRek0yVXdZak01TkRFNE1UZGtZMkZoWlRZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5abVZoTnpSbE0yUmlaVGMzT0dJeFlqRXdaakl6T0dGa05qRTJPRFpoWVRWak56WmxNMlJpTW1KbE5ETXdOVGMyTXpJME1qZGxNamcwTUdaaU1qZGlOaWNzWEc0Z0lDQWdJQ0FnSUNjMlpUQTFOamhrWWpsaU1HSXhNekk1TjJObU5qYzBaR1ZqWTJJMllXWTVNekV5Tm1JMU9UWmlPVGN6WmpkaU56YzNNREZrTTJSaU4yWXlNMk5pT1RabUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemMyWlRZME1URXpaalkzTjJObU1HVXhNR0V5TlRjd1pEVTVPVGsyT0dRek1UVTBOR1V4TnpsaU56WXdORE15T1RVeVl6QXlZVFEwTVRkaVpHUmxNemtuTEZ4dUlDQWdJQ0FnSUNBbll6a3daR1JtT0dSbFpUUmxPVFZqWmpVM056QTJObVEzTURZNE1XWXdaRE0xWlRKaE16TmtNbUkxTm1ReU1ETXlZalJpTVRjMU1tUXhPVEF4WVdNd01TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RqTnpNNFl6VTJZakF6WWpKaFltVXhaVGd5T0RGaVlXRTNORE5tT0dZNVlUaG1OMk5qTmpRelpHWXlObU5pWldVellXSXhOVEF5TkRKaVkySmlPRGt4Snl4Y2JpQWdJQ0FnSUNBZ0p6ZzVNMlppTlRjNE9UVXhZV1F5TlRNM1pqY3hPR1l5WldGalltWmlZbUppT0RJek1UUmxaV1kzT0Rnd1kyWmxPVEUzWlRjek5XUTVOams1WVRnMFl6TW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuWkRnNU5UWXlOalUwT0dJMk5XSTRNV1V5TmpSak56WXpOMk01TnpJNE56ZGtNV1EzTW1VMVpqTmhPVEkxTURFME16Y3laVGxtTmpVNE9HWTJZekUwWWljc1hHNGdJQ0FnSUNBZ0lDZG1aV0ptWVdFek9HWXlZbU0zWldGbE56STRaV00yTURneE9HTXpOREJsWWpBek5ESTRaRFl6TW1KaU1EWTNaVEUzT1RNMk0yVmtOelZrTjJRNU9URm1KMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJJNFpHRTVOREF6TW1FNU5UYzFNVGhsWWpCbU5qUXpNelUzTVdVNE56WXhZMlZtWm1NM016WTVNMlU0TkdWa1pEUTVNVFV3WVRVMk5HWTJOelpsTURNbkxGeHVJQ0FnSUNBZ0lDQW5Namd3TkdSbVlUUTBPREExWVRGbE5HUTNZems1WTJNNU56WXlPREE0WWpBNU1tTmpOVGcwWkRrMVptWXpZalV4TVRRNE9HVTBaVGMwWldaa1pqWmxOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbE9EQm1aV0V4TkRRME1XWmlNek5oTjJRNFlXUmhZamswTnpWa04yWmhZakl3TVRsbFptWmlOVEUxTm1FM09USm1NV0V4TVRjM09HVXpZekJrWmpWa0p5eGNiaUFnSUNBZ0lDQWdKMlZsWkRGa1pUZG1Oak00WlRBd056Y3haVGc1TnpZNFkyRXpZMkU1TkRRM01tUXhOVFZsT0RCaFpqTXlNbVZoT1daallqUXlPVEZpTm1Gak9XVmpOemduWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbllUTXdNVFk1TjJKa1ptTmtOekEwTXpFelltRTBPR1UxTVdRMU5qYzFORE5tTW1FeE9ESXdNekZsWm1RMk9URTFaR1JqTURkaVltTmpOR1V4TmpBM01DY3NYRzRnSUNBZ0lDQWdJQ2MzTXpjd1pqa3hZMlppTmpkbE5HWTFNRGd4T0RBNVptRXlOV1EwTUdZNVlqRTNNelZrWW1ZM1l6QmhNVEZoTVRNd1l6QmtNV0V3TkRGbE1UYzNaV0V4SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6a3dZV1E0TldJek9EbGtObUk1TXpZME5qTm1PV1F3TlRFeU5qYzRaR1V5TURoall6TXpNR0l4TVRNd04yWm1abUZpTjJGak5qTmxNMlppTURSbFpEUW5MRnh1SUNBZ0lDQWdJQ0FuWlRVd04yRXpOakl3WVRNNE1qWXhZV1ptWkdOaVpEazBNamN5TWpKaU9ETTVZV1ZtWVdKbE1UVTRNamc1TkdRNU9URmtOR1EwT0dOaU5tVm1NVFV3SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6aG1OamhpT1dReVpqWXpZalZtTXpNNU1qTTVZekZoWkRrNE1XWXhOakpsWlRnNFl6VTJOemczTWpObFlUTXpOVEZpTjJJME5EUmpPV1ZqTkdNd1pHRW5MRnh1SUNBZ0lDQWdJQ0FuTmpZeVlUbG1NbVJpWVRBMk16azRObVJsTVdRNU1HTXlZalppWlRJeE5XUmlZbVZoTW1ObVpUazFOVEV3WW1aa1pqSXpZMkptTnprMU1ERm1abVk0TWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGxOR1l6Wm1Jd01UYzJZV1k0TldRMk5XWm1PVGxtWmpreE9UaGpNell3T1RGbU5EaGxPRFkxTURNMk9ERmxNMlUyTmpnMlptUTFNRFV6TWpNeFpURXhKeXhjYmlBZ0lDQWdJQ0FnSnpGbE5qTTJNek5oWkRCbFpqUm1NV014TmpZeFlUWmtNR1ZoTURKaU56STRObU5qTjJVM05HVmpPVFV4WkRGak9UZ3lNbU16T0RVM05tWmxZamN6WW1NblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PR013TUdaaE9XSXhPR1ZpWmpNek1XVmlPVFl4TlRNM1lUUTFZVFF5Tmpaak56QXpOR1l5WmpCa05HVXhaREEzTVRabVlqWmxZV1V5TUdWaFpUSTVaU2NzWEc0Z0lDQWdJQ0FnSUNkbFptRTBOekkyTjJabFlUVXlNV0V4WVRsa1l6TTBNMkV6TnpNMll6azNOR015Wm1Ga1lXWmhPREZsTXpaak5UUmxOMlF5WVRSak5qWTNNREkwTVRSaUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlUzWVRJMlkyVTJPV1JrTkRneU9XWXpaVEV3WTJWak1HRTVaVGs0WldRek1UUXpaREE0TkdZek1EaGlPVEpqTURrNU4yWmtaR1pqTmpCallqTmxOREVuTEZ4dUlDQWdJQ0FnSUNBbk1tRTNOVGhsTXpBd1ptRTNPVGcwWWpRM01XSXdNRFpoTVdGaFptSmlNVGhrTUdFMllqSmpNRFF5TUdVNE0yVXlNR1U0WVRrME1qRmpaakpqWm1RMU1TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RpTmpRMU9XVXdaV1V6TmpZeVpXTTRaREl6TlRRd1l6SXlNMkpqWW1Sak5UY3hZMkpqWWprMk4yUTNPVFF5TkdZelkyWXlPV1ZpTTJSbE5tSTRNR1ZtSnl4Y2JpQWdJQ0FnSUNBZ0p6WTNZemczTm1Rd05tWXpaVEEyWkdVeFpHRmtaakUyWlRVMk5qRmtZak5qTkdJellXVTJaRFE0WlRNMVlqSm1aak13WW1Zd1lqWXhZVGN4WW1FME5TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTmpoaE9EQmpPREk0TUdKaU9EUXdOemt6TWpNMFlXRXhNVGhtTURZeU16RmtObVl4Wm1NMk4yVTNNMk0xWVRWa1pXUmhNR1kxWWpRNU5qazBNMlU0Snl4Y2JpQWdJQ0FnSUNBZ0oyUmlPR0poT1dabVpqUmlOVGcyWkRBd1l6UmlNV1k1TVRjM1lqQmxNamhpTldJd1pUZGlPR1kzT0RRMU1qazFZVEk1TkdNNE5ESTJObUl4TXpNeE1qQW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpJMFlXVmtOMlJtTmpWak9EQTBNalV5WkdNd01qY3dPVEEzWVRNd1lqQTVOakV5WVdWaU9UY3pORFE1WTJWaE5EQTVOVGs0TUdaak1qaGtNMlExWkNjc1hHNGdJQ0FnSUNBZ0lDYzJORGhoTXpZMU56YzBZall4WmpKbVpqRXpNR013WXpNMVlXVmpNV1kwWmpFNU1qRXpZakJqTjJVek16STRORE01TmpjeU1qUmhaamsyWVdJM1l6ZzBKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpSa1pqbGpNVFE1TVRsalpHVTJNV1kyWkRVeFpHWmtZbVUxWm1WbE5XUmpaV1ZqTkRFME0ySmhPR1F4WTJFNE9EaGxPR0prTXpjelptUXdOVFJqT1RZbkxGeHVJQ0FnSUNBZ0lDQW5NelZsWXpVeE1Ea3laRGczTWpnd05UQTVOelJqTWpOaE1XUTROV1EwWWpWa05UQTJZMlJqTWpnNE5Ea3dNVGt5WldKaFl6QTJZMkZrTVRCa05XUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT1dNek9URTVZVGcwWVRRM05EZzNNR1poWldRNFlUbGpNV05qTmpZd01qRTFNak0wT0Rrd05UUmtOMll3TXpBNFkySm1Zems1WXpoaFl6Rm1PVGhqWkNjc1hHNGdJQ0FnSUNBZ0lDZGtaR0k0TkdZd1pqUmhOR1JrWkRVM05UZzBaakEwTkdKbU1qWXdaVFkwTVRrd05UTXlObVkzTm1NMk5HTTRaVFppWlRkbE5XVXdNMlEwWm1NMU9UbGtKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpZd05UY3hOekJpTVdSa01USm1aR1k0WkdVd05XWXlPREZrT0dVd05tSmlPVEZsTVRRNU0yRTRZamt4WkRSall6VmhNakV6T0RJeE1qQmhPVFU1WlRVbkxGeHVJQ0FnSUNBZ0lDQW5PV0V4WVdZd1lqSTJZVFpoTkRnd04yRmtaRGxoTW1SaFpqY3haR1l5TmpJME5qVXhOVEppWXpObFpUSTBZelkxWlRnNU9XSmxPVE15TXpnMVlUSmhPQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaE5UYzJaR1k0WlRJellUQTROREV4TkRJeE5ETTVZVFExTVRoa1lUTXhPRGd3WTJWbU1HWmlZVGRrTkdSbU1USmlNV0UyT1RjelpXVmpZamswTWpZMkp5eGNiaUFnSUNBZ0lDQWdKelF3WVRaaVpqSXdaVGMyTmpRd1lqSmpPVEppT1RkaFptVTFPR05rT0RKak5ETXlaVEV3WVRkbU5URTBaRGxtTTJWbE9HSmxNVEZoWlRGaU1qaGxZemduWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk56YzNPR0UzT0dNeU9HUmxZek5sTXpCaE1EVm1aVGsyTWpsa1pUaGpNemhpWWpNd1pERm1OV05tT1dFellUSXdPR1kzTmpNNE9EbGlaVFU0WVdRM01TY3NYRzRnSUNBZ0lDQWdJQ2N6TkRZeU5tUTVZV0kxWVRWaU1qSm1aamN3T1RobE1USm1NbVptTlRnd01EZzNZak00TkRFeFptWXlOR0ZqTlRZellqVXhNMlpqTVdaa09XWTBNMkZqSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6a3lPRGsxTldWbE5qTTNZVGcwTkRZek56STVabVF6TUdVM1lXWmtNbVZrTldZNU5qSTNOR1UxWVdRM1pUVmpZakE1WldSaE9XTXdObVE1TUROaFl5Y3NYRzRnSUNBZ0lDQWdJQ2RqTWpVMk1qRXdNRE5rTTJZME1tRTRNamRpTnpoaE1UTXdPVE5oT1RWbFpXRmpNMlF5Tm1WbVlUaGhPR1E0TTJaak5URTRNR1U1TXpWaVkyUXdPVEZtSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6ZzFaREJtWldZelpXTTJaR0l4TURrek9Ua3dOalJtTTJFd1pUTmlNamcxTlRZME5XSTBZVGt3TjJGa016VTBOVEkzWVdGbE56VXhOak5rT0RJM05URW5MRnh1SUNBZ0lDQWdJQ0FuTVdZd016WTBPRFF4TTJFek9HTXdZbVV5T1dRME9UWmxOVGd5WTJZMU5qWXpaVGczTlRGbE9UWTROemN6TXpFMU9ESmpNak0zWVRJMFpXSXhaamsyTWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZG1aakppTUdSalpUazNaV1ZqWlRrM1l6RmpPV0kyTURReE56azRZamcxWkdaa1ptSTJaRGc0T0RKa1lUSXdNekE0WmpVME1EUTRNalExTWpZd09EZGxKeXhjYmlBZ0lDQWdJQ0FnSnpRNU0yUXhNMlpsWmpVeU5HSmhNVGc0WVdZMFl6UmtZelUwWkRBM09UTTJZemRpTjJWa05tWmlPVEJsTW1ObFlqSmpPVFV4WlRBeFpqQmpNams1TURjblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PREkzWm1KaVpUUmlNV1U0T0RCbFlUbGxaREppTW1VMk16QXhZakl4TW1JMU4yWXhaV1V4TkRoalpEWmtaREk0Tnpnd1pUVmxNbU5tT0RVMlpUSTBNU2NzWEc0Z0lDQWdJQ0FnSUNkak5qQm1PV001TWpOak56STNZakJpTnpGaVpXWXlZelkzWkRGa01USTJPRGRtWmpkaE5qTXhPRFk1TURNeE5qWmtOakExWWpZNFltRmxZekk1TTJWakoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlZoWVRZME9XWXlNV1kxTVdKa1ltRmxOMkpsTkdGbE16UmpaVFpsTlRJeE4yRTFPR1prWTJVM1pqUTNaamxoWVRkbU0ySTFPR1poTWpFeU1HVXlZak1uTEZ4dUlDQWdJQ0FnSUNBblltVXpNamM1WldRMVltSmlZakF6WVdNMk9XRTRNR1k0T1RnM09XRmhOV0V3TVdFMllqazJOV1l4TTJZM1pUVTVaRFEzWVRVek1EVmlZVFZoWkRrelpDZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RsTkdFME1tUTBNMk0xWTJZeE5qbGtPVE01TVdSbU5tUmxZMlkwTW1WbE5UUXhZalprT0dZd1l6bGhNVE0zTkRBeFpUSXpOak15WkdSaE16UmtNalJtSnl4Y2JpQWdJQ0FnSUNBZ0p6UmtPV1k1TW1VM01UWmtNV00zTXpVeU5tWmpPVGxqWTJaaU9HRmtNelJqWlRnNE5tVmxaR1poT0dRNFpUUm1NVE5oTjJZM01UTXhaR1ZpWVRrME1UUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTVdWak9EQm1aV1l6TmpCalltUmtPVFUwTVRZd1ptRmtZV0l6TlRKaU5tSTVNbUkxTXpVM05tRTRPR1psWVRRNU5EY3hOek5pT1dRME16QXdZbVl4T1Njc1hHNGdJQ0FnSUNBZ0lDZGhaV1ZtWlRrek56VTJZalV6TkRCa01tWXpZVFE1TlRoaE4yRmlZbVkxWlRBeE5EWmxOemRtTmpJNU5XRXdOMkkyTnpGalpHTXhZMk14TURkalpXWmtKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFME5tRTNOemhqTURRMk56QmpNbVk1TVdJd01HRm1ORFk0TUdSbVlUaGlZMlV6TkRrd056RTNaRFU0WW1FNE9EbGtaR0kxT1RJNE16WTJOalF5WW1VbkxGeHVJQ0FnSUNBZ0lDQW5Zak14T0dVd1pXTXpNelUwTURJNFlXUmtOalk1T0RJM1pqbGtOR0l5T0Rjd1lXRmhPVGN4WkRKbU4yVTFaV1F4WkRCaU1qazNORGd6WkRnelpXWmtNQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbVlUVXdZekJtTmpGa01qSmxOV1l3TjJVellXTmxZbUl4WVdFd04ySXhNamhrTURBeE1qSXdPV0V5T0dJNU56YzJaRGMyWVRnM09UTXhPREJsWldZNUp5eGNiaUFnSUNBZ0lDQWdKelppT0RSak5qa3lNak01TjJWaVlUbGlOekpqWkRJNE56SXlPREZoTmpoaE5XVTJPRE15T1ROaE5UZGhNakV6WWpNNFkyUTRaRGRrTTJZMFpqSTRNVEVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpHRXhaRFl4WkRCallUY3lNV0V4TVdJeFlUVmlaalppTjJRNE9HVTROREl4WVRJNE9HRmlOV1ExWW1KaE5USXlNR1UxTTJRek1tSTFaakEyTjJWak1pY3NYRzRnSUNBZ0lDQWdJQ2M0TVRVM1pqVTFZVGRqT1Rrek1EWmpOemxqTURjMk5qRTJNV001TVdVeU9UWTJZVGN6T0RrNVpESTNPV0kwT0dFMk5UVm1ZbUV3WmpGaFpEZ3pObVl4SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyRTRaVEk0TW1abU1HTTVOekEyT1RBM01qRTFabVk1T0dVNFptUTBNVFkyTVRVek1URmtaVEEwTkRabU1XVXdOakpoTnpOaU1EWXhNR1F3TmpSbE1UTW5MRnh1SUNBZ0lDQWdJQ0FuTjJZNU56TTFOV0k0WkdJNE1XTXdPV0ZpWm1JM1pqTmpOV0l5TlRFMU9EZzRZalkzT1dFelpUVXdaR1EyWW1RMlkyVm1OMk0zTXpFeE1XWTBZMk13WXlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3hOelJoTlROaU9XTTVZVEk0TlRnM01tUXpPV1UxTm1VMk9URXpZMkZpTVRWa05UbGlNV1poTlRFeU5UQTRZekF5TW1Zek9ESmtaVGd6TVRrME9UZGpKeXhjYmlBZ0lDQWdJQ0FnSjJOall6bGtZek0zWVdKbVl6bGpNVFkxTjJJME1UVTFaakpqTkRkbU9XVTJOalEyWWpOaE1XUTRZMkk1T0RVME16Z3paR0V4TTJGak1EYzVZV1poTnpNblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5PVFU1TXprMk9UZ3hPVFF6TnpnMVl6TmtNMlUxTjJWa1pqVXdNVGhqWkdKbE1ETTVaVGN6TUdVME9URTRZak5rT0RnMFptUm1aakE1TkRjMVlqZGlZU2NzWEc0Z0lDQWdJQ0FnSUNjeVpUZGxOVFV5T0RnNFl6TXpNV1JrT0dKaE1ETTRObUUwWWpsalpEWTRORGxqTmpVelpqWTBZemczTURrek9EVmxPV0k0WVdKbU9EYzFNalJtTW1aa0oxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlF5WVRZellUVXdZV1UwTURGbE5UWmtOalExWVRFeE5UTmlNVEE1WVRobVkyTmhNR0UwTTJRMU5qRm1ZbUV5WkdKaU5URXpOREJqT1dRNE1tSXhOVEVuTEZ4dUlDQWdJQ0FnSUNBblpUZ3laRGcyWm1JMk5EUXpabU5pTnpVMk5XRmxaVFU0WWpJNU5EZ3lNakJoTnpCbU56VXdZV1kwT0RSallUVXlaRFF4TkRJeE56UmtZMlk0T1RRd05TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MyTkRVNE4yVXlNek0xTkRjeFpXSTRPVEJsWlRjNE9UWmtOMk5tWkdNNE5qWmlZV05pWkdKa016Z3pPVE14TjJJek5ETTJaamxpTkRVMk1UZGxNRGN6Snl4Y2JpQWdJQ0FnSUNBZ0oyUTVPV1pqWkdRMVltWTJPVEF5WlRKaFpUazJaR1EyTkRRM1l6STVPV0V4T0RWaU9UQmhNemt4TXpOaFpXRmlNelU0TWprNVpUVmxPV1poWmpZMU9Ea25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0RRNE1XSmtaVEJsTkdVMFpEZzROV0l6WVRVME5tUXpaVFUwT1dSbE1EUXlaakJoWVRaalpXRXlOVEJsTjJaa016VTRaRFpqT0Raa1pEUTFaVFExT0Njc1hHNGdJQ0FnSUNBZ0lDY3pPR1ZsTjJJNFkySmhOVFF3TkdSa09EUmhNalZpWmpNNVkyVmpZakpqWVRrd01HRTNPV00wTW1JeU5qSmxOVFUyWkRZMFlqRmlOVGszTnprd05UZGxKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFek5EWTBZVFUzWVRjNE1UQXlZV0UyTW1JMk9UYzVZV1U0TVRkbU5EWXpOMlptWTJabFpETmpOR0l4WTJVek1HSmpaRFl6TURObU5tTmhaalkyTm1JbkxGeHVJQ0FnSUNBZ0lDQW5OamxpWlRFMU9UQXdORFl4TkRVNE1HVm1OMlUwTXpNME5UTmpZMkl3WTJFME9HWXpNREJoT0RGa01EazBNbVV4TTJZME9UVmhPVEEzWmpabFkyTXlOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaVl6UmhPV1JtTldJM01UTm1aVEpsT1dGbFpqUXpNR0pqWXpGa1l6azNZVEJqWkRsalkyVmtaVEptTWpnMU9EaGpZV1JoTTJFd1pESmtPRE5tTXpZMkp5eGNiaUFnSUNBZ0lDQWdKMlF6WVRneFkyRTJaVGM0TldNd05qTTRNemt6TjJGa1pqUmlOems0WTJGaE5tVTRZVGxtWW1aaE5UUTNZakUyWkRjMU9HUTJOalkxT0RGbU16TmpNU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjNFl6STRZVGszWW1ZNE1qazRZbU13WkRJelpEaGpOelE1TkRVeVlUTXlaVFk1TkdJMk5XVXpNR0U1TkRjeVlUTTVOVFJoWWpNd1ptVTFNekkwWTJGaEp5eGNiaUFnSUNBZ0lDQWdKelF3WVRNd05EWXpZVE16TURVeE9UTXpOemhtWldSbU16Rm1OMk5qTUdWaU4yRmxOemcwWmpBME5URmpZamswTlRsbE56RmtZemN6WTJKbFpqazBPREluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk9HVmhPVFkyTmpFek9UVXlOMkU0WXpGa1pEazBZMlUwWmpBM01XWmtNak5qT0dJek5UQmpOV0UwWW1Jek16YzBPR00wWW1FeE1URm1ZV05qWVdVd0p5eGNiaUFnSUNBZ0lDQWdKell5TUdWbVlXSmlZemhsWlRJM09ESmxNalJsTjJNd1kyWmlPVFZqTldRM016VmlOemd6WW1VNVkyWXdaamhsT1RVMVlXWXpOR0V6TUdVMk1tSTVORFVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpHUXpOakkxWm1GbFpqVmlZVEEyTURjME5qWTVOekUyWW1Ka016YzRPR1E0T1dKa1pHVTRNVFU1TlRrNU5qZ3dPVEptTnpaall6UmxZamxoT1RjNE55Y3NYRzRnSUNBZ0lDQWdJQ2MzWVRFNE9HWmhNelV5TUdVek1HUTBOakZrWVRJMU1ERXdORFUzTXpGallUazBNVFEyTVRrNE1qZzRNek01TlRrek4yWTJPR1F3TUdNMk5EUmhOVGN6SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyWTNNVEJrTnpsa09XVmlPVFl5TWprM1pUUm1Oakl6TW1JME1HVTRaamRtWldJeVltTTJNemd4TkRZeE5HUTJPVEpqTVRKa1pUYzFNalF3T0RJeU1XVW5MRnh1SUNBZ0lDQWdJQ0FuWldFNU9HVTJOekl6TW1RellqTXlPVFZrTTJJMU16VTFNekl4TVRWalkyRmpPRFl4TW1NM01qRTROVEUyTVRjMU1qWmhaVFEzWVRsak56ZGlabU00TWlkY2JpQWdJQ0FnSUYxY2JpQWdJQ0JkWEc0Z0lIMHNYRzRnSUc1aFpqb2dlMXh1SUNBZ0lIZHVaRG9nTnl4Y2JpQWdJQ0J3YjJsdWRITTZJRnRjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJZNU16QTRZVEF4T1RJMU9HTXpNVEEwT1RNME5HWTROV1k0T1dRMU1qSTVZalV6TVdNNE5EVTRNelptT1RsaU1EZzJNREZtTVRFelltTmxNRE0yWmprbkxGeHVJQ0FnSUNBZ0lDQW5Nemc0WmpkaU1HWTJNekprWlRneE5EQm1aVE16TjJVMk1tRXpOMll6TlRZMk5UQXdZVGs1T1RNMFl6SXlNekZpTm1OaU9XWmtOelU0TkdJNFpUWTNNaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjeVpqaGlaR1UwWkRGaE1EY3lNRGt6TlRWaU5HRTNNalV3WVRWak5URXlPR1U0T0dJNE5HSmtaR00yTVRsaFlqZGpZbUU0WkRVMk9XSXlOREJsWm1VMEp5eGNiaUFnSUNBZ0lDQWdKMlE0WVdNeU1qSTJNelpsTldVelpEWmtOR1JpWVRsa1pHRTJZemxqTkRJMlpqYzRPREkzTVdKaFlqQmtOamcwTUdSallUZzNaRE5oWVRaaFl6WXlaRFluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk5XTmlaR1l3TmpRMlpUVmtZalJsWVdFek9UaG1NelkxWmpKbFlUZGhNR1V6WkRReE9XSTNaVEF6TXpCbE16bGpaVGt5WW1Sa1pXUmpZV00wWmpsaVl5Y3NYRzRnSUNBZ0lDQWdJQ2MyWVdWaVkyRTBNR0poTWpVMU9UWXdZVE14Tnpoa05tUTROakZoTlRSa1ltRTRNVE5rTUdJNE1UTm1aR1UzWWpWaE5UQTRNall5T0RBNE56STJOR1JoSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyRmpaRFE0TkdVeVpqQmpOMlkyTlRNd09XRmtNVGM0WVRsbU5UVTVZV0prWlRBNU56azJPVGMwWXpVM1pUY3hOR016TldZeE1UQmtabU15TjJOalltVW5MRnh1SUNBZ0lDQWdJQ0FuWTJNek16ZzVNakZpTUdFM1pEbG1aRFkwTXpnd09UY3hOell6WWpZeFpUbGhaR1E0T0RoaE5ETTNOV1k0WlRCbU1EVmpZekkyTW1Gak5qUm1PV016TnlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzNOelJoWlRkbU9EVTRZVGswTVRGbE5XVm1OREkwTm1JM01HTTJOV0ZoWXpVMk5EazVPREJpWlRWak1UYzRPVEZpWW1Wak1UYzRPVFZrWVRBd09HTmlKeXhjYmlBZ0lDQWdJQ0FnSjJRNU9EUmhNRE15WldJMllqVmxNVGt3TWpRelpHUTFObVEzWWpkaU16WTFNemN5WkdJeFpUSmtabVk1WkRaaE9ETXdNV1EzTkdNNVl6azFNMk0yTVdJblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aakk0Tnpjell6SmtPVGMxTWpnNFltTTNaREZrTWpBMVl6TTNORGcyTlRGaU1EYzFabUpqTmpZeE1HVTFPR05rWkdWbFpHUm1PR1l4T1RRd05XRmhPQ2NzWEc0Z0lDQWdJQ0FnSUNkaFlqQTVNREpsT0dRNE9EQmhPRGszTlRneU1USmxZalkxWTJSaFpqUTNNMkV4WVRBMlpHRTFNakZtWVRreFpqSTVZalZqWWpVeVpHSXdNMlZrT0RFblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aRGM1TWpSa05HWTNaRFF6WldFNU5qVmhORFkxWVdVek1EazFabVkwTVRFek1XVTFPVFEyWmpOak9EVm1OemxsTkRSaFpHSmpaamhsTWpkbE1EZ3daU2NzWEc0Z0lDQWdJQ0FnSUNjMU9ERmxNamczTW1FNE5tTTNNbUUyT0RNNE5ESmxZekl5T0dOak5tUmxabVZoTkRCaFpqSmlaRGc1Tm1RellUVmpOVEEwWkdNNVptWTJZVEkyWWpVNEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMlJsWm1SbFlUUmpaR0kyTnpjM05UQmhOREl3Wm1WbE9EQTNaV0ZqWmpJeFpXSTVPRGs0WVdVM09XSTVOelk0TnpZMlpUUm1ZV0V3TkdFeVpEUmhNelFuTEZ4dUlDQWdJQ0FnSUNBbk5ESXhNV0ZpTURZNU5EWXpOVEUyT0dVNU9UZGlNR1ZoWkRKaE9UTmtZV1ZqWldReFpqUmhNRFJoT1RWak1HWTJZMlppTVRrNVpqWTVaVFUyWldJM055ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2N5WWpSbFlUQmhOemszWVRRME0yUXlPVE5sWmpWalptWTBORFJtTkRrM09XWXdObUZqWm1WaVpEZGxPRFprTWpjM05EYzFOalUyTVRNNE16ZzFZalpqSnl4Y2JpQWdJQ0FnSUNBZ0p6ZzFaVGc1WW1Nd016YzVORFZrT1ROaU16UXpNRGd6WWpWaE1XTTROakV6TVdFd01XWTJNR00xTURJMk9UYzJNMkkxTnpCak9EVTBaVFZqTURsaU4yRW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpVeVltSm1OR0UwWTJSa01USTFOalJtT1RObVlUTXpNbU5sTXpNek16QXhaRGxoWkRRd01qY3haamd4TURjeE9ERXpOREJoWldZeU5XSmxOVGxrTlNjc1hHNGdJQ0FnSUNBZ0lDY3pNakZsWWpRd056VXpORGhtTlRNMFpEVTVZekU0TWpVNVpHUmhNMlV4WmpSaE1XSXpZakpsTnpGaU1UQXpPV00yTjJKa00yUTRZbU5tT0RFNU9UaGpKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpKbVlUSXhNRFJrTm1Jek9HUXhNV0l3TWpNd01ERXdOVFU1T0RjNU1USTBaVFF5WVdJNFpHWmxabVkxWm1ZeU9XUmpPV05rWVdSa05HVmpZV05qTTJZbkxGeHVJQ0FnSUNBZ0lDQW5NbVJsTVRBMk9ESTVOV1JrT0RZMVlqWTBOVFk1TXpNMVltUTFaR1E0TURFNE1XUTNNR1ZqWm1NNE9ESTJORGcwTWpOaVlUYzJZalV6TW1JM1pEWTNKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpreU5EZ3lOemxpTURsaU5HUTJPR1JoWWpJeFlUbGlNRFkyWldSa1lUZ3pNall6WXpOa09EUmxNRGsxTnpKbE1qWTVZMkV3WTJRM1pqVTBOVE0zTVRRbkxGeHVJQ0FnSUNBZ0lDQW5Oek13TVRabU4ySm1Nak0wWVdGa1pUVmtNV0ZoTnpGaVpHVmhNbUl4Wm1ZelptTXdaR1V5WVRnNE56a3hNbVptWlRVMFlUTXlZMlU1TjJOaU16UXdNaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNka1lXVmtOR1l5WW1VellUaGlaakkzT0dVM01ERXpNbVppTUdKbFlqYzFNakptTlRjd1pURTBOR0ptTmpFMVl6QTNaVGs1Tm1RME5ETmtaV1U0TnpJNUp5eGNiaUFnSUNBZ0lDQWdKMkUyT1dSalpUUmhOMlEyWXprNFpUaGtOR0V4WVdOaE9EZGxaamhrTnpBd00yWTRNMk15TXpCbU0yRm1ZVGN5Tm1GaU5EQmxOVEl5T1RCaVpURmpOVFVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbll6UTBaREV5WXpjd05qVmtPREV5WlRoaFkyWXlPR1EzWTJKaU1UbG1PVEF4TVdWalpEbGxPV1prWmpJNE1XSXdaVFpoTTJJMVpUZzNaREl5WlRka1lpY3NYRzRnSUNBZ0lDQWdJQ2N5TVRFNVlUUTJNR05sTXpJMlkyUmpOelpqTkRVNU1qWmpPVGd5Wm1SaFl6QmxNVEEyWlRnMk1XVmtaall4WXpWaE1ETTVNRFl6WmpCbE1HVTJORGd5SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6WmhNalExWW1ZMlpHTTJPVGcxTURSak9EbGhNakJqWm1SbFpEWXdPRFV6TVRVeVlqWTVOVE16Tm1NeU9EQTJNMkkyTVdNMk5XTmlaREkyT1dVMllqUW5MRnh1SUNBZ0lDQWdJQ0FuWlRBeU1tTm1OREpqTW1Ka05HRTNNRGhpTTJZMU1USTJaakUyWVRJMFlXUTRZak16WW1FME9HUXdOREl6WWpabFptUTFaVFl6TkRneE1EQmtPR0U0TWlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3hOamszWm1aaE5tWmtPV1JsTmpJM1l6QTNOMlV6WkRKbVpUVTBNVEE0TkdObE1UTXpNREJpTUdKbFl6RXhORFptT1RWaFpUVTNaakJrTUdKa05tRTFKeXhjYmlBZ0lDQWdJQ0FnSjJJNVl6TTVPR1l4T0RZNE1EWm1OV1F5TnpVMk1UVXdObVUwTlRVM05ETXpZVEpqWmpFMU1EQTVaVFE1T0dGbE4yRmtaV1U1WkRZelpEQXhZakl6T1RZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OakExWW1SaU1ERTVPVGd4TnpFNFlqazRObVF3WmpBM1pUZ3pOR05pTUdRNVpHVmlPRE0yTUdabVlqZG1OakZrWmprNE1qTTBOV1ZtTWpkaE56UTNPU2NzWEc0Z0lDQWdJQ0FnSUNjeU9UY3laREprWlRSbU9HUXlNRFk0TVdFM09HUTVNMlZqT1RabVpUSXpZekkyWW1aaFpUZzBabUl4TkdSaU5ETmlNREZsTVdVNU1EVTJZamhqTkRrblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OakprTVRSa1lXSTBNVFV3WW1ZME9UYzBNREptWkdNME5XRXlNVFZsTVRCa1kySXdNV016TlRRNU5UbGlNVEJqWm1Vek1XTTNaVGxrT0RkbVpqTXpaQ2NzWEc0Z0lDQWdJQ0FnSUNjNE1HWmpNRFppWkRoall6VmlNREV3T1Rnd09EaGhNVGsxTUdWbFpEQmtZakF4WVdFeE16STVOamRoWWpRM01qSXpOV1kxTmpReU5EZ3pZakkxWldGbUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemd3WXpZd1lXUXdNRFF3WmpJM1pHRmtaVFZpTkdJd05tTTBNRGhsTlRaaU1tTTFNR1U1WmpVMllqbGlPR0kwTWpWbE5UVTFZekptT0RZek1EaGlObVluTEZ4dUlDQWdJQ0FnSUNBbk1XTXpPRE13TTJZeFkyTTFZek13WmpJMlpUWTJZbUZrTjJabE56Sm1OekJoTmpWbFpXUTBZMkpsTnpBeU5HVmlNV0ZoTURGbU5UWTBNekJpWkRVM1lTZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzWVRrek56VmhaRFl4TmpkaFpEVTBZV0UzTkdNMk16UTRZMk0xTkdRek5EUmpZelZrWXprME9EZGtPRFEzTURRNVpEVmxZV0ppTUdaaE1ETmpPR1ppSnl4Y2JpQWdJQ0FnSUNBZ0oyUXdaVE5tWVRsbFkyRTROekkyT1RBNU5UVTVaVEJrTnpreU5qa3dORFppWkdNMU9XVmhNVEJqTnpCalpUSmlNREprTkRrNVpXTXlNalJrWXpkbU55ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTlRJNFpXTmtPV0kyT1RaaU5UUmpPVEEzWVRsbFpEQTBOVFEwTjJFM09XSmlOREE0WldNek9XSTJPR1JtTlRBMFltSTFNV1kwTlRsaVl6Tm1abU01Snl4Y2JpQWdJQ0FnSUNBZ0oyVmxZMlkwTVRJMU16RXpObVUxWmprNU9UWTJaakl4T0RneFptUTJOVFpsWW1NME16UTFOREExWXpVeU1HUmlZekEyTXpRMk5XSTFNakUwTURrNU16TW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTkRrek56QmhOR0kxWmpRek5ERXlaV0V5TldZMU1UUmxPR1ZqWkdGa01EVXlOall4TVRWbE5HRTNaV05pTVRNNE56SXpNVGd3T0dZNFlqUTFPVFl6Snl4Y2JpQWdJQ0FnSUNBZ0p6YzFPR1l6WmpReFlXWmtObVZrTkRJNFlqTXdPREZpTURVeE1tWmtOakpoTlRSak0yWXpZV1ppWWpWaU5qYzJOR0kyTlRNd05USmhNVEk1TkRsak9XRW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTnpkbU1qTXdPVE0yWldVNE9HTmlZbVEzTTJSbU9UTXdaRFkwTnpBeVpXWTRPREZrT0RFeFpUQmxNVFE1T0dVeVpqRmpNVE5sWWpGbVl6TTBOV1EzTkNjc1hHNGdJQ0FnSUNBZ0lDYzVOVGhsWmpReVlUYzRPRFppTmpRd01HRXdPREkyTm1VNVltRXhZak0zT0RrMll6azFNek13WkRrM01EYzNZMkppWlRobFlqTmpOelkzTVdNMk1HUTJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJZeVpHRmpPVGt4WTJNMFkyVTBZamxsWVRRME9EZzNaVFZqTjJNd1ltTmxOVGhqT0RBd056UmhZamxrTkdSaVlXVmlNamcxTXpGaU56Y3pPV1kxTXpBbkxGeHVJQ0FnSUNBZ0lDQW5aVEJrWldSak9XSXpZakptT0dSaFpEUmtZVEZtTXpKa1pXTXlOVE14WkdZNVpXSTFabUpsWWpBMU9UaGxOR1prTVdFeE1UZGtZbUUzTUROaE0yTXpOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjME5qTmlNMlE1WmpZMk1qWXlNV1ppTVdJMFltVTRabUppWlRJMU1qQXhNalZoTWpFMlkyUm1ZemxrWVdVelpHVmlZMkpoTkRnMU1HTTJPVEJrTkRWaUp5eGNiaUFnSUNBZ0lDQWdKelZsWkRRek1HUTNPR015T1Raak16VTBNekV4TkRNd05tUmtPRFl5TW1RM1l6WXlNbVV5TjJNNU56QmhNV1JsTXpGallqTTNOMkl3TVdGbU56TXdOMlVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpqRTJaamd3TkRJME5HVTBObVV5WVRBNU1qTXlaRFJoWm1ZellqVTVPVGMyWWprNFptRmpNVFF6TWpoaE1tUXhZVE15TkRrMllqUTVPVGs0WmpJME55Y3NYRzRnSUNBZ0lDQWdJQ2RqWldSaFltUTVZamd5TWpBelpqZGxNVE5rTWpBMlptTmtaalJsTXpOa09USmhObU0xTTJNeU5tVTFZMk5sTWpaa05qVTNPVGsyTW1NMFpUTXhaR1kySjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyTmhaamMxTkRJM01tUmpPRFExTmpOaU1ETTFNbUkzWVRFME16RXhZV1kxTldReU5EVXpNVFZoWTJVeU4yTTJOVE0yT1dVeE5XWTNNVFV4WkRReFpERW5MRnh1SUNBZ0lDQWdJQ0FuWTJJME56UTJOakJsWmpNMVpqVm1NbUUwTVdJMk5ETm1ZVFZsTkRZd05UYzFaalJtWVRsaU56azJNakl6TW1FMVl6TXlaamt3T0RNeE9HRXdORFEzTmlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3lOakF3WTJFMFlqSTRNbU5pT1RnMlpqZzFaREJtTVRjd09UazNPV1E0WWpRMFlUQTVZekEzWTJJNE5tUTNZekV5TkRRNU4ySmpPRFptTURneU1USXdKeXhjYmlBZ0lDQWdJQ0FnSnpReE1UbGlPRGczTlROak1UVmlaRFpoTmprellqQXpabU5rWkdKaU5EVmtOV0ZqTm1KbE56UmhZalZtTUdWbU5EUmlNR0psT1RRM05XRTNaVFJpTkRBblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5Oell6TldOaE56SmtOMlU0TkRNeVl6TXpPR1ZqTlROalpERXlNakl3WW1Nd01XTTBPRFk0TldVeU5HWTNaR000WXpZd01tRTNOelEyT1RrNFpUUXpOU2NzWEc0Z0lDQWdJQ0FnSUNjNU1XSTJORGsyTURrME9EbGtOakV6WkRGa05XVTFPVEJtTnpobE5tUTNOR1ZqWm1Nd05qRmtOVGN3TkRoaVlXUTVaVGMyWmpNd01tTTFZamxqTmpFblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OelUwWlRNeU16bG1NekkxTlRjd1kyUmlZbVkwWVRnM1pHVmxaVGhoTmpaaU4yWXlZak16TkRjNVpEUTJPR1ppWXpGaE5UQTNORE5pWmpVMlkyTXhPQ2NzWEc0Z0lDQWdJQ0FnSUNjMk56Tm1ZamcyWlRWaVpHRXpNR1ppTTJOa01HVmtNekEwWldFME9XRXdNak5sWlRNelpEQXhPVGRoTmprMVpEQmpOV1E1T0RBNU0yTTFNelkyT0RNblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aVE5sTm1Ka01UQTNNV0V4WlRrMllXWm1OVGM0TlRsak9ESmtOVGN3WmpBek16QTRNREEyTmpGa01XTTVOVEptT1dabE1qWTVORFk1TVdRNVlqbGxPQ2NzWEc0Z0lDQWdJQ0FnSUNjMU9XTTVaVEJpWW1Fek9UUmxOelptTkRCak1HRmhOVGd6TnpsaE0yTmlObUUxWVRJeU9ETTVPVE5sT1RCak5ERTJOekF3TW1GbU5Ea3lNR1V6TjJZMUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKekU0Tm1JME9ETmtNRFUyWVRBek16Z3lObUZsTnpOa09EaG1Oek15T1RnMVl6UmpZMkl4WmpNeVltRXpOV1kwWWpSall6UTNabVJqWmpBMFlXRTJaV0luTEZ4dUlDQWdJQ0FnSUNBbk0ySTVOVEprTXpKak5qZGpaamMzWlRKbE1UYzBORFpsTWpBME1UZ3dZV0l5TVdaaU9EQTVNRGc1TlRFek9HSTBZVFJoTnprM1pqZzJaVGd3T0RnNFlpZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrWmpsa056QmhObUk1T0RjMlkyVTFORFJqT1RnMU5qRm1OR0psTkdZM01qVTBOREpsTm1ReVlqY3pOMlE1WXpreFlUZ3pNakUzTWpSalpUQTVOak5tSnl4Y2JpQWdJQ0FnSUNBZ0p6VTFaV0l5WkdGbVpEZzBaRFpqWTJRMVpqZzJNbUkzT0RWa1l6TTVaRFJoWWpFMU56SXlNamN5TUdWbU9XUmhNakUzWWpoak5EVmpaakppWVRJME1UY25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTldWa1pEVmpZekl6WXpVeFpUZzNZVFE1TjJOaE9ERTFaRFZrWTJVd1pqaGhZalV5TlRVMFpqZzBPV1ZrT0RrNU5XUmxOalJqTldZek5HTmxOekUwTXljc1hHNGdJQ0FnSUNBZ0lDZGxabUZsT1dNNFpHSmpNVFF4TXpBMk5qRmxPR05sWXpBek1HTTRPV0ZrTUdNeE0yTTJObU13WkRFM1lUSTVNRFZqWkdNM01EWmhZamN6T1RsaE9EWTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpJNU1EYzVPR015WWpZME56WTRNekJrWVRFeVptVXdNakk0TjJVNVpUYzNOMkZoTTJaaVlURmpNelUxWWpFM1lUY3lNbVF6TmpKbU9EUTJNVFJtWW1FbkxGeHVJQ0FnSUNBZ0lDQW5aVE00WkdFM05tUmpaRFEwTURZeU1UazRPR1F3TUdKalpqYzVZV1l5TldRMVlqSTVZekE1TkdSaU1tRXlNekUwTm1Rd01ETmhabVEwTVRrME0yVTNZU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaFpqTmpOREl6WVRrMVpEbG1OV0l6TURVME56VTBaV1poTVRVd1lXTXpPV05rTWprMU5USm1aVE0yTURJMU56TTJNbVJtWkdWalpXWTBNRFV6WWpRMUp5eGNiaUFnSUNBZ0lDQWdKMlk1T0dFelptUTRNekZsWWpKaU56UTVZVGt6WWpCbE5tWXpOV05tWWpRd1l6aGpaRFZoWVRZMk4yRXhOVFU0TVdKak1tWmxaR1ZrTkRrNFptUTVZelluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk56WTJaR0ppTWpSa01UTTBaVGMwTldOalkyRmhNamhqT1RsaVpqSTNORGt3Tm1KaU5qWmlNalprWTJZNU9HUm1PR1F5Wm1Wa05UQmtPRGcwTWpRNVlTY3NYRzRnSUNBZ0lDQWdJQ2MzTkRSaU1URTFNbVZoWTJKbE5XVXpPR1JqWXpnNE56azRNR1JoTXpoaU9EazNOVGcwWVRZMVptRXdObU5sWkdReVl6a3lOR1k1TjJOaVlXTTFPVGsySjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6VTVaR0ptTkRabU9HTTVORGMxT1dKaE1qRXlOemRqTXpNM09EUm1OREUyTkRWbU4ySTBOR1kyWXpVNU5tRTFPR05sT1RKbE5qWTJNVGt4WVdKbE0yVW5MRnh1SUNBZ0lDQWdJQ0FuWXpVek5HRmtORFF4TnpWbVltTXpNREJtTkdWaE5tTmxOalE0TXpBNVlUQTBNbU5sTnpNNVlUYzVNVGszT1RoalpEZzFaVEl4Tm1NMFlUTXdOMlkyWlNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZG1NVE5oWkdFNU5URXdNMk0wTlRNM016QTFaVFk1TVdVM05HVTVZVFJoT0dSa05qUTNaVGN4TVdFNU5XVTNNMk5pTmpKa1l6WXdNVGhqWm1RNE4ySTRKeXhjYmlBZ0lDQWdJQ0FnSjJVeE16Z3hOMkkwTkdWbE1UUmtaVFkyTTJKbU5HSmpPREE0TXpReFpqTXlOamswT1dVeU1XRTJZVGMxWXpJMU56QTNOemcwTVRsaVpHRm1OVGN6TTJRblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OemMxTkdJMFptRXdaVGhoWTJWa01EWmtOREUyTjJFeVl6VTVZMk5oTkdOa1lURTROamxqTURabFltRmtabUkyTkRnNE5UVXdNREUxWVRnNE5USXlZeWNzWEc0Z0lDQWdJQ0FnSUNjek1HVTVNMlU0TmpSbE5qWTVaRGd5TWpJMFlqazJOMk16TURJd1lqaG1ZVGhrTVdVMFpUTTFNR0kyWTJKall6VXpOMkUwT0dJMU56ZzBNVEUyTTJFeUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemswT0dSallXUm1OVGs1TUdVd05EaGhZVE00TnpSa05EWmhZbVZtT1dRM01ERTROVGhtT1RWa1pUZ3dOREZrTW1FMk9ESTRZems1WlRJeU5qSTFNVGtuTEZ4dUlDQWdJQ0FnSUNBblpUUTVNV0UwTWpVek4yWTJaVFU1TjJRMVpESTRZVE15TWpSaU1XSmpNalZrWmpreE5UUmxabUprTW1WbU1XUXlZMkppWVRKallXVTFNelEzWkRVM1pTZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzT1RZeU5ERTBORFV3WXpjMll6RTJPRGxqTjJJME9HWTRNakF5WldNek4yWmlNakkwWTJZMVlXTXdZbVpoTVRVM01ETXlPR0U0WVROa04yTTNOMkZpSnl4Y2JpQWdJQ0FnSUNBZ0p6RXdNR0kyTVRCbFl6Um1abUkwTnpZd1pEVmpNV1pqTVRNelpXWTJaalppTVRJMU1EZGhNRFV4WmpBMFlXTTFOell3WVdaaE5XSXlPV1JpT0RNME16Y25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpVeE5EQTROemd6TkRrMk5HSTFOR0l4TldJeE5qQTJORFJrT1RFMU5EZzFZVEUyT1RjM01qSTFZamc0TkRkaVlqQmtaREE0TlRFek4yVmpORGRqWVNjc1hHNGdJQ0FnSUNBZ0lDZGxaakJoWm1KaU1qQTFOakl3TlRRME9HVXhOalV5WXpRNFpUZ3hNamRtWXpZd016bGxOemRqTVRWak1qTTNPR0kzWlRka01UVmhNR1JsTWprek16RXhKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJRelkyTXpNR0ZrTm1JME9ETmxOR0pqTnpsalpUSmpPV1JrT0dKak5UUTVPVE5sT1RRM1pXSTRaR1kzT0RkaU5EUXlPVFF6WkRObU4ySTFNamRsWVdZbkxGeHVJQ0FnSUNBZ0lDQW5PR0l6TnpoaE1qSmtPREkzTWpjNFpEZzVZelZsT1dKbE9HWTVOVEE0WVdVell6SmhaRFEyTWprd016VTROak13WVdaaU16UmtZakEwWldWa1pUQmhOQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjeE5qSTBaRGcwTnpnd056TXlPRFl3WTJVeFl6YzRabU5pWm1WbVpUQTRZakppTWprNE1qTmtZamt4TTJZMk5Ea3pPVGMxWW1Fd1ptWTBPRFEzTmpFd0p5eGNiaUFnSUNBZ0lDQWdKelk0TmpVeFkyWTVZalprWVRrd00yVXdPVEUwTkRRNFl6WmpaRGxrTkdOaE9EazJPRGM0WmpVeU9ESmlaVFJqT0dOak1EWmxNbUUwTURRd056ZzFOelVuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk56TXpZMlU0TUdSaE9UVTFZVGhoTWpZNU1ESmpPVFUyTXpObE5qSmhPVGcxTVRreU5EYzBZalZoWmpJd04yUmhObVJtTjJJMFptUTFabU0yTVdOa05DY3NYRzRnSUNBZ0lDQWdJQ2RtTlRRek5XRXlZbVF5WW1Ga1pqZGtORGcxWVRSa09HSTRaR0k1Wm1OalpUTmxNV1ZtT0dVd01qQXhaVFExTnpoak5UUTJOek5pWXpGa1l6VmxZVEZrSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6RTFaRGswTkRFeU5UUTVORFV3TmpSalpqRmhNV016TTJKaVpETmlORGxtT0RrMk5tTTFNRGt5TVRjeFpUWTVPV1ZtTWpVNFpHWmhZamd4WXpBME5XTW5MRnh1SUNBZ0lDQWdJQ0FuWkRVMlpXSXpNR0kyT1RRMk0yVTNNak0wWmpVeE16ZGlOek5pT0RReE56YzBNelE0TURCaVlXTmxZbVpqTmpnMVptTXpOMkppWlRsbFptVTBNRGN3WkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGhNV1F3Wm1ObU1tVmpPV1JsTmpjMVlqWXhNakV6Tm1VMVkyVTNNR1F5TnpGak1qRTBNVGRqT1dReVlqaGhZV0ZoWXpFek9EVTVPV1F3TnpFM09UUXdKeXhjYmlBZ0lDQWdJQ0FnSjJWa1pEYzNaalV3WW1OaU5XRXpZMkZpTW1VNU1EY3pOek13T1RZMk4yWXlOalF4TkRZeVlUVTBNRGN3WmpOa05URTVNakV5WkRNNVl6RTVOMkUyTWprblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aVEl5Wm1KbE1UVmpNR0ZtT0dOall6VTNPREJqTURjek5XWTROR1JpWlRsaE56a3dZbUZrWldVNE1qUTFZekEyWXpkallUTTNNek14WTJJek5qazRNQ2NzWEc0Z0lDQWdJQ0FnSUNkaE9EVTFZbUZpWVdRMVkyUTJNR000T0dJME16QmhOamxtTlROaE1XRTNZVE00TWpnNU1UVTBPVFkwTnprNVltVTBNMlF3Tm1RM04yUXpNV1JoTURZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5NekV4TURreFpHUTVPRFl3WlRobE1qQmxaVEV6TkRjell6RXhOVFZtTldZMk9UWXpOV1V6T1RRM01EUmxZV0UzTkRBd09UUTFNakkwTm1ObVlUbGlNeWNzWEc0Z0lDQWdJQ0FnSUNjMk5tUmlOalUyWmpnM1pERm1NRFJtWm1aa01XWXdORGM0T0dNd05qZ3pNRGczTVdWak5XRTJOR1psWldVMk9EVmlaRGd3WmpCaU1USTRObVE0TXpjMEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek0wWXpGbVpEQTBaRE13TVdKbE9EbGlNekZqTURRME1tUXpaVFpoWXpJME9EZ3pPVEk0WWpRMVlUa3pOREEzT0RFNE5qZGtOREl6TW1Wak1tUmlaR1luTEZ4dUlDQWdJQ0FnSUNBbk9UUXhORFk0TldVNU4ySXhZalU1TlRSaVpEUTJaamN6TURFM05ERXpObVExTjJZeFkyVmxZalE0TnpRME0yUmpOVE15TVRnMU4ySmhOek5oWW1WbEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMll5TVRsbFlUVmtObUkxTkRjd01XTXhZekUwWkdVMVlqVTFOMlZpTkRKaE9HUXhNMll6WVdKaVkyUXdPR0ZtWm1Oak1tRTFaVFppTURRNVlqaGtOak1uTEZ4dUlDQWdJQ0FnSUNBbk5HTmlPVFU1TlRkbE9ETmtOREJpTUdZM00yRm1ORFUwTkdOalkyWTJZakZtTkdJd09HUXpZekEzWWpJM1ptSTRaRGhqTWprMk1tRTBNREEzTmpaa01TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTjJJNE56UXdaamMwWVRobVltRmhZakZtTmpnelpHSTRaalExWkdVeU5qVTBNMkUxTkRrd1ltTmhOakkzTURnM01qTTJPVEV5TkRZNVlUQmlORFE0Snl4Y2JpQWdJQ0FnSUNBZ0oyWmhOemM1TmpneE1qaGtPV001TW1WbE1UQXhNR1l6TXpkaFpEUTNNVGRsWm1ZeE5XUmlOV1ZrTTJNd05EbGlNelF4TVdVd016RTFaV0ZoTkRVNU0ySW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpKa016RmpNakl5WmpobU5tWXdaV1k0Tm1ZM1l6azRaRE5oTXpNek5XVmhaRFZpWTJRek1tRmlaR1E1TkRJNE9XWmxOR1F6TURreFlXRTRNalJpWmljc1hHNGdJQ0FnSUNBZ0lDYzFaak13TXpKbU5UZzVNakUxTm1Vek9XTmpaRE5rTnpreE5XSTVaVEZrWVRKbE5tUmhZemxsTm1ZeU5tVTVOakV4TVRoa01UUmlPRFEyTW1VeE5qWXhKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpjME5qRm1NemN4T1RFMFlXSXpNalkzTVRBME5XRXhOVFZrT1Rnek1XVmhPRGM1TTJRM04yTmtOVGsxT1RKak5ETTBNR1k0Tm1OaVl6RTRNelEzWWpVbkxGeHVJQ0FnSUNBZ0lDQW5PR1ZqTUdKaE1qTTRZamsyWW1Wak1HTmlaR1JrWTJGbE1HRmhORFF5TlRReVpXVmxNV1ptTlRCak9UZzJaV0UyWWpNNU9EUTNZak5qWXpBNU1tWm1OaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkbFpUQTNPV0ZrWWpGa1pqRTROakF3TnpRek5UWmhNalZoWVRNNE1qQTJZVFprTnpFMllqSmpNMlUyTnpRMU0yUXlPRGMyT1RoaVlXUTNZakppTW1RMkp5eGNiaUFnSUNBZ0lDQWdKemhrWXpJME1USmhZV1psTTJKbE5XTTBZelZtTXpkbE1HVmpZelZtT1dZMllUUTBOams0T1dGbU1EUmpOR1V5TldWaVlXRmpORGM1WldNeFl6aGpNV1VuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk1UWmxZemt6WlRRME4yVmpPRE5tTURRMk4ySXhPRE13TW1WbE5qSXdaamRsTmpWa1pUTXpNVGczTkdNNVpHTTNNbUptWkRnMk1UWmlZVGxrWVRaaU5TY3NYRzRnSUNBZ0lDQWdJQ2MxWlRRMk16RXhOVEJsTmpKbVlqUXdaREJsT0dNeVlUZGpZVFU0TURSaE16bGtOVGd4T0RaaE5UQmxORGszTVRNNU5qSTJOemM0WlRJMVlqQTJOelJrSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVmhZVFZtT1Rnd1l6STBOV1kyWmpBek9EazNPREk1TUdGbVlUY3dZalppWkRnNE5UVTRPVGRtT1RoaU5tRmhORGcxWWprMk1EWTFaRFV6TjJKa09Ua25MRnh1SUNBZ0lDQWdJQ0FuWmpZMVpqVmtNMlV5T1RKak1tVXdPREU1WVRVeU9ETTVNV001T1RRMk1qUmtOemcwT0RZNVpEZGxObVZoTmpkbVlqRTRNRFF4TURJMFpXUmpNRGRrWXlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzNPR001TkRBM05UUTBZV014TXpJMk9USmxaVEU1TVRCaE1ESTBNems1TlRoaFpUQTBPRGMzTVRVeE16UXlaV0U1Tm1NMFlqWmlNelZoTkRsbU5URW5MRnh1SUNBZ0lDQWdJQ0FuWmpObE1ETXhPVEUyT1dWaU9XSTROV1ExTkRBME56azFOVE01WVRWbE5qaG1ZVEZtWW1RMU9ETmpNRFkwWkRJME5qSmlOamMxWmpFNU5HRXpaR1JpTkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzBPVFJtTkdKbE1qRTVZVEZoTnpjd01UWmtZMlE0TXpnME16RmhaV0V3TURBeFkyUmpPR0ZsTjJFMlptTTJPRGczTWpZMU56aGtPVGN3TWpnMU4yRTFKeXhjYmlBZ0lDQWdJQ0FnSnpReU1qUXlZVGsyT1RJNE0yRTFaak16T1dKaE4yWXdOelZsTXpaaVlUSmhaamt5TldObE16QmtOelkzWldRMlpUVTFaalJpTURNeE9EZ3daRFUyTW1NblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5ZVFU1T0dFNE1ETXdaR0UyWkRnMll6WmlZemRtTW1ZMU1UUTBaV0UxTkRsa01qZ3lNVEZsWVRVNFptRmhOekJsWW1ZMFl6RmxOalkxWXpGbVpUbGlOU2NzWEc0Z0lDQWdJQ0FnSUNjeU1EUmlOV1EyWmpnME9ESXlZek13TjJVMFlqUmhOekUwTURjek4yRmxZekl6Wm1NMk0ySTJOV0l6TldZNE5tRXhNREF5Tm1SaVpESmtPRFkwWlRaaUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMk0wTVRreE5qTTJOV0ZpWWpKaU5XUXdPVEU1TW1ZMVpqSmtZbVZoWm1Wak1qQTRaakF5TUdZeE1qVTNNR0V4T0RSa1ltRmtZek5sTlRnMU9UVTVPVGNuTEZ4dUlDQWdJQ0FnSUNBbk5HWXhORE0xTVdRd01EZzNaV1poTkRsa01qUTFZak15T0RrNE5EazRPV1ExWTJGbU9UUTFNR1l6TkdKbVl6QmxaREUyWlRrMllqVTRabUU1T1RFekoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemcwTVdRMk1EWXpZVFU0Tm1aaE5EYzFZVGN5TkRZd05HUmhNRE5pWXpWaU9USmhNbVV3WkRKbE1HRXpObUZqWm1VMFl6Y3pZVFUxTVRRM05ESTRPREVuTEZ4dUlDQWdJQ0FnSUNBbk56TTROamRtTlRsak1EWTFPV1U0TVRrd05HWTVZVEZqTnpVME16WTVPR1UyTWpVMk1tUTJOelEwWXpFMk9XTmxOMkV6Tm1SbE1ERmhPR1EyTVRVMEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKelZsT1RWaVlqTTVPV0UyT1RjeFpETTNOakF5TmprME4yWTRPV0prWlRKbU1qZ3lZak16T0RFd09USTRZbVUwWkdWa01URXlZV00wWkRjd1pUSXdaRFVuTEZ4dUlDQWdJQ0FnSUNBbk16bG1Nak5tTXpZMk9EQTVNRGcxWW1WbFltWmpOekV4T0RFek1UTTNOelZoT1Rsak9XRmxaRGRrT0dKaE16aGlNVFl4TXpnMFl6YzBOakF4TWpnMk5TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2N6Tm1VME5qUXhZVFV6T1RRNFptUTBOelpqTXpsbU9HRTVPV1prT1RjMFpUVmxZekEzTlRZMFlqVXpNVFZrT0dKbU9UazBOekZpWTJFd1pXWXlaalkySnl4Y2JpQWdJQ0FnSUNBZ0oyUXlOREkwWWpGaU1XRmlaVFJsWWpneE5qUXlNamRpTURnMVl6bGhZVGswTlRabFlURXpORGt6Wm1RMU5qTmxNRFptWkRVeFkyWTFOamswWXpjNFptTW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpNMk5UZ3haV0UzWW1aaVltSXlPVEJqTVRreFlUSm1OVEEzWVRReFkyWTFOalF6T0RReU1UY3daVGt4TkdaaFpXRmlNamRqTW1NMU56bG1OekkySnl4Y2JpQWdJQ0FnSUNBZ0oyVmhaREV5TVRZNE5UazFabVV4WW1VNU9USTFNakV5T1dJMlpUVTJZak16T1RGbU4yRmlNVFF4TUdOa01XVXdaV1l6WkdOa1kyRmlaREptWkdFeU1qUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0dGaU9EazRNVFprWVdSbVpEWmlObUV4WmpJMk16Um1ZMll3TUdWak9EUXdNemM0TVRBeU5XVmtOamc1TUdNME9EUTVOelF5TnpBMlltUTBNMlZrWlNjc1hHNGdJQ0FnSUNBZ0lDYzJabVJqWldZd09XWXlaalprTUdFd05EUmxOalUwWVdWbU5qSTBNVE0yWmpVd00yUTBOVGxqTTJVNE9UZzBOVGcxT0dFME4yRTVNVEk1WTJSa01qUmxKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpGbE16Tm1NV0UzTkRaak9XTTFOemM0TVRNek16UTBaRGt5T1RsbVkyRmhNakJpTURrek9HVTRZV05tWmpJMU5EUmlZalF3TWpnMFlqaGpOV1ppT1RRbkxGeHVJQ0FnSUNBZ0lDQW5OakEyTmpBeU5UZGtaREV4WWpOaFlUbGpPR1ZrTmpFNFpESTBaV1JtWmpJek1EWmtNekl3WmpGa01ETXdNVEJsTXpOaE4yUXlNRFUzWmpOaU0ySTJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpnMVlqZGpNV1JqWWpOalpXTXhZamRsWlRkbU16QmtaV1EzT1dSa01qQmhNR1ZrTVdZMFkyTXhPR05pWTJaalptRTBNVEF6TmpGbVpEaG1NRGhtTXpFbkxGeHVJQ0FnSUNBZ0lDQW5NMlE1T0dFNVkyUmtNREkyWkdRME0yWXpPVEEwT0dZeU5XRTRPRFEzWmpSbVkyRm1ZV1F4T0RrMVpEZGhOak16WXpabVpXUXpZek0xWlRrNU9UVXhNU2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjeU9XUm1PV1ppWkRoa09XVTBOalV3T1RJM05XWTBZakV5TldRMlpEUTFaRGRtWW1VNVlUTmlPRGM0WVRkaFpqZzNNbUV5T0RBd05qWXhZV00xWmpVeEp5eGNiaUFnSUNBZ0lDQWdKMkkwWXpSbVpUazVZemMzTldFMk1EWmxNbVE0T0RZeU1UYzVNVE01Wm1aa1lUWXhaR000TmpGak1ERTVaVFUxWTJReU9EYzJaV0l5WVRJM1pEZzBZaWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNkaE1HSXhZMkZsTURaaU1HRTRORGRoTTJabFlUWmxOamN4WVdGbU9HRmtabVJtWlRVNFkyRXlaamMyT0RFd05XTTRNRGd5WWpKbE5EUTVabU5sTWpVeUp5eGNiaUFnSUNBZ0lDQWdKMkZsTkRNME1UQXlaV1JrWlRBNU5UaGxZelJpTVRsa09URTNZVFpoTWpobE5tSTNNbVJoTVRnek5HRm1aakJsTmpVd1pqQTBPVFV3TTJFeU9UWmpaakluWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk5HVTRZMlZoWm1JNVlqTmxPV0V4TXpaa1l6ZG1aalkzWlRnME1ESTVOV0kwT1Rsa1ptSXpZakl4TXpObE5HSmhNVEV6WmpKbE5HTXdaVEV5TVdVMUp5eGNiaUFnSUNBZ0lDQWdKMk5tTWpFM05ERXhPR000WWpaa04yRTBZalE0Wmpaa05UTTBZMlUxWXpjNU5ESXlZekE0Tm1FMk16UTJNRFV3TW1JNE1qZGpaVFl5WVRNeU5qWTRNMk1uWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpESTBZVFEwWlRBME4yVXhPV0kyWmpWaFptSTRNV00zWTJFeVpqWTVNRGd3WVRVd056WTJPRGxoTURFd09URTVaalF5TnpJMVl6SmlOemc1WVRNellpY3NYRzRnSUNBZ0lDQWdJQ2MyWm1JNFpEVTFPVEZpTkRZMlpqaG1Zell6WkdJMU1HWXhZekJtTVdNMk9UQXhNMlk1T1RZNE9EZGlPREkwTkdReVkyUmxZelF4TjJGbVpXRTRabUV6SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVmhNREUyTURaaE4yRTJZemxqWkdReU5EbG1aR1pqWm1GallqazVOVGcwTURBeFpXUmtNamhoWW1KaFlqYzNZalV4TURSbE9UaGxPR1V6WWpNMVpEUW5MRnh1SUNBZ0lDQWdJQ0FuTXpJeVlXWTBPVEE0WXpjek1USmlNR05tWW1abE16WTVaamRoTjJJelkyUmlOMlEwTkRrMFltTXlPREl6TnpBd1kyWmtOalV5TVRnNFlUTmxZVGs0WkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGhaamhoWkdSaVpqSmlOall4WXpoaE5tTTJNekk0TmpVMVpXSTVOalkxTVRJMU1qQXdOMlE0WXpWbFlUTXhZbVUwWVdReE9UWmtaVGhqWlRJeE16Rm1KeXhjYmlBZ0lDQWdJQ0FnSnpZM05EbGxOamRqTURJNVlqZzFaalV5WVRBek5HVmhabVF3T1RZNE16WmlNalV5TURneE9EWTRNR1V5Tm1Gak9HWXpaR1ppWTJSaU56RTNORGszTURBblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aVE5oWlRFNU56UTFOalpqWVRBMlkyTTFNVFprTkRkbE1HWmlNVFkxWVRZM05HRXpaR0ZpWTJaallURTFaVGN5TW1Zd1pUTTBOVEJtTkRVNE9Ea25MRnh1SUNBZ0lDQWdJQ0FuTW1GbFlXSmxOMlUwTlRNeE5URXdNVEUyTWpFM1pqQTNZbVkwWkRBM016QXdaR1U1TjJVME9EYzBaamd4WmpVek16UXlNR0UzTW1WbFlqQmlaRFpoTkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzFPVEZsWlRNMU5UTXhNMlE1T1RjeU1XTm1Oams1TTJabVpXUXhaVE5sTXpBeE9Ua3pabVl6WldReU5UZzRNREl3TnpWbFlUaGpaV1F6T1RkbE1qUTJKeXhjYmlBZ0lDQWdJQ0FnSjJJd1pXRTFOVGhoTVRFell6TXdZbVZoTmpCbVl6UTNOelUwTmpCak56a3dNV1ptTUdJd05UTmtNalZqWVRKaVpHVmxaVGs0WmpGaE5HSmxOV1F4T1RZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5NVEV6T1Raa05UVm1aR0UxTkdNME9XWXhPV0ZoT1Rjek1UaGtPR1JoTmpGbVlUZzFPRFJsTkRkaU1EZzBPVFExTURjM1kyWXdNekkxTldJMU1qazROQ2NzWEc0Z0lDQWdJQ0FnSUNjNU9UaGpOelJoT0dOa05EVmhZekF4TWpnNVpEVTRNek5oTjJKbFlqUTNORFJtWmpVek5tSXdNV0l5TlRkaVpUUmpOVGMyTjJKbFlUa3paV0UxTjJFMEoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek5qTldReVlURmlZVE01WXpWaE1UYzVNREF3TURjek9HTTVaVEJqTkRCaU9HUmpaR1prTlRRMk9EYzFOR0kyTkRBMU5UUXdNVFUzWlRBeE4yRmhOMkVuTEZ4dUlDQWdJQ0FnSUNBbllqSXlPRFF5TnprNU9UVmhNelJsTW1ZNVpEUmtaVGN6T1RabVl6RTRZamd3WmpsaU9HSTVabVJrTWpjd1pqWTJOakZtTnpsallUUmpPREZpWkRJMU55ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RqWXpnM01EUmlPR0UyTUdFd1pHVm1ZVE5oT1RsaE56STVPV1l5WlRsak0yWmlZek01TldGbVlqQTBZV013TnpnME1qVmxaamhoTVRjNU0yTmpNRE13Snl4Y2JpQWdJQ0FnSUNBZ0oySmtaRFEyTURNNVptVmxaREUzT0RneFpERmxNRGcyTW1SaU16UTNaamhqWmpNNU5XSTNOR1pqTkdKalpHTTBaVGswTUdJM05HVXpZV014WmpGaU1UTW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuWXpVek0yVTBaamRsWVRnMU5UVmhZV05rT1RjM04yRmpOV05oWkRJNVlqazNaR1EwWkdWbVkyTmpOVE5sWlRkbFlUSXdOREV4T1dJeU9EZzVZakU1Tnljc1hHNGdJQ0FnSUNBZ0lDYzJaakJoTWpVMlltTTFaV1prWmpReU9XRXlabUkyTWpReVpqRmhORE5oTW1RNVlqa3lOV0ppTkdFMFlqTmhNalppWWpobE1HWTBOV1ZpTlRrMk1EazJKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJNeE5HWTRaakpqWTJJeU4yUTJaakV3T1dZMlpEQTRaREF6WTJNNU5tRTJPV0poT0dNek5HVmxZekEzWW1KalpqVTJObVEwT0dVek0yUmhOalU1TXljc1hHNGdJQ0FnSUNBZ0lDZGpNelU1WkRZNU1qTmlZak01T0dZM1ptUTBORGN6WlRFMlptVXhZekk0TkRjMVlqYzBNR1JrTURrNE1EYzFaVFpqTUdVNE5qUTVNVEV6WkdNellUTTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJFMlkySmpNekEwTm1Kak5tRTBOVEJpWVdNeU5EYzRPV1poTVRjeE1UVmhOR001TnpNNVpXUTNOV1k0WmpJeFkyVTBOREZtTnpKbE1HSTVNR1UyWldZbkxGeHVJQ0FnSUNBZ0lDQW5NakZoWlRkbU5EWTRNR1U0T0RsaVlqRXpNRFl4T1dVeVl6Qm1PVFZoTXpZd1kyVmlOVGN6WXpjd05qQXpNVE01T0RZeVlXWmtOakUzWm1FNVlqbG1KMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpNME4yUTJaRGxoTURKak5EZzVNamRsWW1aaU9EWmpNVE0xT1dJeFkyRm1NVE13WVROak1ESTJOMlF4TVdObE5qTTBOR0l6T1dZNU9XUTBNMk5qTXpnbkxGeHVJQ0FnSUNBZ0lDQW5OakJsWVRkbU5qRmhNelV6TlRJMFpERmpPVGczWmpabFkyVmpPVEptTURnMlpEVTJOV0ZpTmpnM09EY3dZMkl4TWpZNE9XWm1NV1V6TVdNM05EUTBPQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNka1lUWTFORFZrTWpFNE1XUmlPR1E1T0RObU4yUmpZak0zTldWbU5UZzJObVEwTjJNMk4ySXhZbVl6TVdNNFkyWTROVFZsWmpjME16ZGlOekkyTlRaaEp5eGNiaUFnSUNBZ0lDQWdKelE1WWprMk56RTFZV0kyT0RjNFlUYzVaVGM0WmpBM1kyVTFOamd3WXpWa05qWTNNekExTVdJME9UTTFZbVE0T1RkbVpXRTRNalJpTnpka1l6SXdPR0VuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbll6UXdOelEzWTJNNVpEQXhNbU5pTVdFeE0ySTRNVFE0TXpBNVl6WmtaVGRsWXpJMVpEWTVORFZrTmpVM01UUTJZamxrTlRrNU5HSTRabVZpTVRFeE1TY3NYRzRnSUNBZ0lDQWdJQ2MxWTJFMU5qQTNOVE5pWlRKaE1USm1ZelprWlRaallXWXlZMkkwT0RrMU5qVmtZamt6TmpFMU5tSTVOVEUwWlRGaVlqVmxPRE13TXpkbE1HWmhNbVEwSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6UmxOREpqT0dWak9ESmpPVGszT1RoalkyWXpZVFl4TUdKbE9EY3daVGM0TXpNNFl6ZG1OekV6TXpRNFltUXpOR000TWpBelpXWTBNRE0zWmpNMU1ESW5MRnh1SUNBZ0lDQWdJQ0FuTnpVM01XUTNOR1ZsTldVd1ptSTVNbUUzWVRoaU16TmhNRGMzT0RNek5ERmhOVFE1TWpFME5HTmpOVFJpWTJNME1HRTVORFEzTXpZNU16WXdOalF6TnlkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3pOemMxWVdJM01EZzVZbU0yWVdZNE1qTmhZbUV5WlRGaFpqY3dZakl6Tm1ReU5URmpZV1JpTUdNNE5qYzBNekk0TnpVeU1tRXhZak5pTUdSbFpHVmhKeXhjYmlBZ0lDQWdJQ0FnSjJKbE5USmtNVEEzWW1ObVlUQTVaRGhpWTJJNU56TTJZVGd5T0dObVlUZG1ZV000WkdJeE4ySm1OMkUzTm1FeVl6UXlZV1E1TmpFME1Ea3dNVGhqWmpjblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5ZMlZsTXpGalltWTNaVE0wWldNek56bGtPVFJtWWpneE5HUXpaRGMzTldGa09UVTBOVGsxWkRFek1UUmlZVGc0TkRZNU5UbGxNMlU0TW1ZM05HVXlOaWNzWEc0Z0lDQWdJQ0FnSUNjNFptUTJOR0V4TkdNd05tSTFPRGxqTWpaaU9UUTNZV1V5WW1ObU5tSm1ZVEF4TkRsbFpqQmlaVEUwWldRMFpEZ3daalEwT0dFd01XTTBNMkl4WXpaa0oxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMkkwWmpsbFlXVmhNRGxpTmpreE56WXhPV1kyWldFMllUUmxZalUwTmpSbFptUmtZalU0Wm1RME5XSXhaV0psWm1Oa1l6RmhNREZrTURoaU5EYzVPRFluTEZ4dUlDQWdJQ0FnSUNBbk16bGxOV001T1RJMVlqVmhOVFJpTURjME16TmhOR1l4T0dNMk1UY3lObVk0WW1JeE16RmpNREV5WTJFMU5ESmxZakkwWVRoaFl6QTNNakF3TmpneVlTZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTkRJMk0yUm1Zek5rTW1SbU9USXpZVEF4TnpsaE5EZzVOalprTXpCalpUZzBaVEkxTVRWaFptTXpaR05qWXpGaU56YzVNRGMzT1RKbFltTmpOakJsSnl4Y2JpQWdJQ0FnSUNBZ0p6WXlaR1poWmpBM1lUQm1OemhtWldJek1HVXpNR1EyTWprMU9EVXpZMlV4T0RsbE1USTNOell3WVdRMlkyWTNabUZsTVRZMFpURXlNbUV5TURoa05UUW5YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTkRnME5UYzFNalE0TWpCbVlUWTFZVFJtT0dRek5XVmlOamt6TURnMU4yTXdNRE15WVdOak1HRTBZVEprWlRReU1qSXpNMlZsWkdFNE9UYzJNVEpqTkNjc1hHNGdJQ0FnSUNBZ0lDY3lOV0UzTkRoaFlqTTJOemszT1dRNU9EY3pNMk16T0dFeFptRXhZekpsTjJSak5tTmpNRGRrWWpKa05qQmhPV0ZsTjJFM05tRmhZVFE1WW1Rd1pqYzNKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJSbVpXVmxaakU0T0RFeE1ERm1NbU5pTVRFMk5EUm1NMkV5WVdaa1ptTXlNRFExWlRFNU9URTVNVFV5T1RJelpqTTJOMkV4TnpZM1l6RXhZMk5sWkdFbkxGeHVJQ0FnSUNBZ0lDQW5aV05tWWpjd05UWmpaakZrWlRBME1tWTVOREl3WW1GaU16azJOemt6WXpCak16a3dZbVJsTnpSaU5HSmlaR1ptTVRaaE9ETmhaVEE1WVRsaE56VXhOeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjMlpEZGxaalppTVRjMU5ETm1PRE0zTTJNMU56Tm1ORFJsTVdZek9EazRNelZrT0RsaVkySmpOakEyTW1ObFpETTJZemd5WkdZNE0ySTRabUZsT0RVNUp5eGNiaUFnSUNBZ0lDQWdKMk5rTkRVd1pXTXpNelUwTXpnNU9EWmtabVZtWVRFd1l6VTNabVZoT1dKall6VXlNV0V3T1RVNVlqSmtPREJpWW1ZM05HSXhPVEJrWTJFM01USmtNVEFuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBblpUYzFOakExWkRVNU1UQXlZVFZoTWpZNE5EVXdNR1F6WWprNU1XWXlaVE5tTTJNNE9HSTVNekl5TlRVME56QXpOV0ZtTWpWaFpqWTJaVEEwTlRReFppY3NYRzRnSUNBZ0lDQWdJQ2RtTldNMU5EYzFOR0U0WmpjeFpXVTFOREJpT1dJME9EY3lPRFEzTTJVek1UUm1Oekk1WVdNMU16QTRZakEyT1RNNE16WXdPVGt3WlRKaVptRmtNVEkxSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVmlPVGcyTmpCbU5HTTBaR1poWVRBMllUSmlaVFExTTJRMU1ESXdZbU01T1dFd1l6SmxOakJoWW1Vek9EZzBOVGRrWkRRelptVm1ZakZsWkRZeU1HTW5MRnh1SUNBZ0lDQWdJQ0FuTm1OaU9XRTRPRGMyWkRsallqZzFNakEyTURsaFpqTmhaR1F5Tm1Oa01qQmhNR0UzWTJRNFlUazBNVEV4TXpGalpUZzFaalEwTVRBd01EazVNakl6WlNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDY3hNMlU0TjJJd01qZGtPRFV4TkdRek5Ua3pPV1l5WlRZNE9USmlNVGs1TWpJeE5UUTFPVFk1TkRFNE9EZ3pNelprWXpNMU5qTmxNMkk0WkdKaE9UUXlKeXhjYmlBZ0lDQWdJQ0FnSjJabFpqVmhNMk0yT0RBMU9XRTJaR1ZqTldRMk1qUXhNVFJpWmpGbE9URmhZV015WWpsa1lUVTJPR1EyWVdKbFlqSTFOekJrTlRVMk5EWmlPR0ZrWmpFblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5aV1V4TmpNd01qWmxPV1prTm1abE1ERTNZek00WmpBMllUVmlaVFptWXpFeU5UUXlOR0l6TnpGalpUSTNNRGhsTjJKbU5EUTVNVFk1TVdVMU56WTBZU2NzWEc0Z0lDQWdJQ0FnSUNjeFlXTmlNalV3WmpJMU5XUmtOakZqTkROa09UUmpZMk0yTnpCa01HWTFPR1kwT1dGbE0yWmhNVFZpT1RZMk1qTmxOVFF6TUdSaE1HRmtObU0yTW1JeUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKMkl5TmpobU5XVm1PV0ZrTlRGbE5HUTNPR1JsTTJFM05UQmpNbVJqT0RsaU1XVTJNalprTkRNMU1EVTROamM1T1RrNU16SmxOV1JpTXpOaFpqTmtPREFuTEZ4dUlDQWdJQ0FnSUNBbk5XWXpNVEJrTkdJell6azVZamxsWW1JeE9XWTNOMlEwTVdNeFpHVmxNREU0WTJZd1pETTBabVEwTVRreE5qRTBNREF6WlRrME5XRXhNakUyWlRReU15ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RtWmpBM1pqTXhNVGhoT1dSbU1ETTFaVGxtWVdRNE5XVmlObU0zWW1abE5ESmlNREptTURGallUazVZMlZsWVROaVpqZG1abVJpWVRrell6UTNOVEJrSnl4Y2JpQWdJQ0FnSUNBZ0p6UXpPREV6Tm1RMk1ETmxPRFU0WVROaE5XTTBOREJqTXpobFkyTmlZV1JrWXpGa01qazBNakV4TkdVeVpXUmtaRFEzTkRCa01EazRZMlZrTVdZd1pEZ25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuT0dRNFlqazROVFZqTjJNd05USmhNelF4TkRabVpESXdabVppTmpVNFltVmhOR0k1WmpZNVpUQmtPREkxWldKbFl6RTJaVGhqTTJObE1tSTFNalpoTVNjc1hHNGdJQ0FnSUNBZ0lDZGpaR0kxTlRsbFpXUmpNbVEzT1dZNU1qWmlZV1kwTkdaaU9EUmxZVFJrTkRSaVkyWTFNR1psWlRVeFpEZGpaV0l6TUdVeVpUZG1ORFl6TURNMk56VTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpVeVpHSXdZalV6T0RSa1ptSm1NRFZpWm1FNVpEUTNNbVEzWVdVeU5tUm1aVFJpT0RVeFkyVmpZVGt4WWpGbFltRTFOREkyTXpFNE1HUmhNekppTmpNbkxGeHVJQ0FnSUNBZ0lDQW5Zek5pT1RrM1pEQTFNR1ZsTldRME1qTmxZbUZtTmpaaE5tUmlPV1kxTjJJek1UZ3dZemt3TWpnM05UWTNPV1JsT1RJMFlqWTVaRGcwWVRkaU16YzFKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJVMk1tWTVORGt3WkROa05URmtZVFl6T1RWbFptUXlOR1U0TURreE9XTmpOMlF3WmpJNVl6Tm1NMlpoTkRoak5tWm1aalUwTTJKbFkySmtORE16TlRJbkxGeHVJQ0FnSUNBZ0lDQW5ObVE0T1dGa04ySmhORGczTm1Jd1lqSXlZekpqWVRJNE1HTTJPREk0TmpKbU16UXlZemcxT1RGbU1XUmhaalV4TnpCbE1EZGlabVE1WTJOaFptRTNaQ2RjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjM1pqTXdaV0V5TkRjMllqTTVPV0kwT1RVM05UQTVZemc0WmpjM1pEQXhPVEZoWm1FeVptWTFZMkkzWWpFMFptUTJaRGhsTjJRMk5XRmhZV0l4TVRrekp5eGNiaUFnSUNBZ0lDQWdKMk5oTldWbU4yUTBZakl6TVdNNU5HTXpZakUxTXpnNVlUVm1Oak14TVdVNVpHRm1aamRpWWpZM1lqRXdNMlU1T0Rnd1pXWTBZbVptTmpNM1lXTmhaV01uWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk5UQTVPR1ptTVdVeFpEbG1NVFJtWWpRMllUSXhNR1poWkdFMll6a3dNMlpsWmpCbVlqZGlOR0V4WkdReFpEbGhZell3WVRBek5qRTRNREJpTjJFd01DY3NYRzRnSUNBZ0lDQWdJQ2M1TnpNeE1UUXhaRGd4Wm1NNFpqZ3dPRFJrTXpkak5tVTNOVFF5TURBMllqTmxaVEZpTkRCa05qQmtabVUxTXpZeVlUVmlNVE15Wm1ReE4yUmtZekFuWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk16SmlOemhqTjJSbE9XVmxOVEV5WVRjeU9EazFZbVUyWWpsalltVm1ZVFpsTW1Zell6UmpZMk5sTkRRMVl6azJZamxtTW1NNE1XVXlOemM0WVdRMU9DY3NYRzRnSUNBZ0lDQWdJQ2RsWlRFNE5EbG1OVEV6WkdZM01XVXpNbVZtWXpNNE9UWmxaVEk0TWpZd1l6Y3pZbUk0TURVME4yRmxNakkzTldKaE5EazNNak0zTnprMFl6ZzNOVE5qSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyVXlZMkkzTkdaa1pHTTRaVGxtWW1Oa01EYzJaV1ZtTW1FM1l6Y3lZakJqWlRNM1pEVXdaakE0TWpZNVpHWmpNRGMwWWpVNE1UVTFNRFUwTjJFMFpqY25MRnh1SUNBZ0lDQWdJQ0FuWkROaFlUSmxaRGN4WXpsa1pESXlORGRoTmpKa1pqQTJNamN6Tm1WaU1HSmhaR1JsWVRsbE16WXhNakprTW1KbE9EWTBNV0ZpWTJJd01EVmpZelJoTkNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDYzRORE00TkRRM05UWTJaRFJrTjJKbFpHRmtZekk1T1RRNU5tRmlNelUzTkRJMk1EQTVZVE0xWmpJek5XTmlNVFF4WW1Vd1pEazVZMlF4TUdGbE0yRTRKeXhjYmlBZ0lDQWdJQ0FnSjJNMFpURXdNakE1TVRZNU9EQmhOR1JoTldRd01XRmpOV1UyWVdRek16QTNNelJsWmpCa056a3dOall6TVdNMFpqSXpPVEEwTWpaaU1tVmtaRGM1TVdZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5OREUyTW1RME9EaGlPRGswTURJd016bGlOVGcwWXpabVl6WmpNekE0T0Rjd05UZzNaRGxqTkRabU5qWXdZamczT0dGaU5qVmpPREpqTnpFeFpEWTNaU2NzWEc0Z0lDQWdJQ0FnSUNjMk56RTJNMlU1TURNeU16WXlPRGxtTnpjMlpqSXlZekkxWm1JNFlUTmhabU14TnpNeVpqSmlPRFJpTkdVNU5XUmlaR0UwTjJGbE5XRXdPRFV5TmpRNUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKek5tWVdRelptRTROR05oWmpCbU16Um1NR1k0T1dKbVpESmtZMlkxTkdaak1UYzFaRGMyTjJGbFl6TmxOVEEyT0RSbU0ySmhOR0UwWW1ZMVpqWTRNMlFuTEZ4dUlDQWdJQ0FnSUNBblkyUXhZbU0zWTJJMlkyTTBNRGRpWWpKbU1HTmhOalEzWXpjeE9HRTNNekJqWmpjeE9EY3laVGRrTUdReVlUVXpabUV5TUdWbVkyUm1aVFl4T0RJMkoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKelkzTkdZeU5qQXdZVE13TURkaE1EQTFOamhqTVdFM1kyVXdOV1F3T0RFMll6Rm1ZamcwWW1ZeE16Y3dOems0WmpGak5qazFNekptWVdWaU1XRTRObUluTEZ4dUlDQWdJQ0FnSUNBbk1qazVaREl4WmprME1UTm1Nek5pTTJWa1pqUXpZakkxTnpBd05EVTRNR0kzTUdSaU5UZGtZVEJpTVRneU1qVTVaVEE1WldWall6WTVaVEJrTXpoaE5TZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2RrTXpKbU5HUmhOVFJoWkdVM05HRmlZamd4WWpneE5XRmtNV1ppTTJJeU5qTmtPREprTm1NMk9USTNNVFJpWTJabU9EZGtNamxpWkRWbFpUbG1NRGhtSnl4Y2JpQWdJQ0FnSUNBZ0oyWTVOREk1WlRjek9HSTRaVFV6WWprMk9HVTVPVEF4Tm1Nd05UazNNRGMzT0RKbE1UUm1ORFV6TlRNMU9XUTFPREptWXpReE5qa3hNR0l6WldWaE9EY25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpCbE5HVTJOekEwTXpVek9EVTFOVFpsTlRrek5qVTNNVE0xT0RRMVpETTJabUppTmprek1XWTNNbUl3T0dOaU1XVmtPVFUwWmpGbE0yTmxNMlptTmljc1hHNGdJQ0FnSUNBZ0lDYzBOakptT1dKalpUWXhPVGc1T0RZek9EUTVPVE0xTURFeE0ySmlZemxpTVRCaE9EYzRaRE0xWkdFM01EYzBNR1JqTmprMVlUVTFPV1ZpT0Roa1lqZGlKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSjJKbE1qQTJNakF3TTJNMU1XTmpNekF3TkRZNE1qa3dORE16TUdVMFpHVmxOMll6WkdOa01UQmlNREZsTlRnd1ltWXhPVGN4WWpBMFpEUmpZV1F5T1RjbkxGeHVJQ0FnSUNBZ0lDQW5Oakl4T0RoaVl6UTVaRFl4WlRVME1qZzFOek5rTkRoaE56UmxNV00yTlRWaU1XTTJNVEE1TURrd05UWTRNbUV3WkRVMU5UaGxaRGN5WkdOallqbGlZeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjNU16RTBORFF5TTJGalpUTTBOVEZsWkRJNVpUQm1ZamxoWXpKaFpqSXhNV05pTm1VNE5HRTJNREZrWmpVNU9UTmpOREU1T0RVNVptWm1OV1JtTURSaEp5eGNiaUFnSUNBZ0lDQWdKemRqTVRCa1ptSXhOalJqTXpReU5XWTFZemN4WVRObU9XUTNPVGt5TURNNFpqRXdOalV5TWpSbU56SmlZamxrTVdRNU1ESmhObVF4TXpBek4ySTBOMk1uWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbllqQXhOV1k0TURRMFpqVm1ZMkprWTJZeU1XTmhNalprTm1Nek5HWmlPREU1TnpneU9USXdOV00zWWpka01tRTNZMkkyTmpReE9HTXhOVGRpTVRFeVl5Y3NYRzRnSUNBZ0lDQWdJQ2RoWWpoak1XVXdPRFprTURSbE9ERXpOelEwWVRZMU5XSXlaR1k0WkRWbU9ETmlNMk5rWXpabVlXRXpNRGc0WXpGa00yRmxZVEUwTlRSbE0yRXhaRFZtSjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0oyUTFaVGxsTVdSaE5qUTVaRGszWkRnNVpUUTROamd4TVRkaE5EWTFZVE5oTkdZNFlURTRaR1UxTjJFeE5EQmtNelppTTJZeVlXWXpOREZoTWpGaU5USW5MRnh1SUNBZ0lDQWdJQ0FuTkdOaU1EUTBNemRtTXpreFpXUTNNekV4TVdFeE0yTmpNV1EwWkdRd1pHSXhOamt6TkRZMVl6SXlOREEwT0RCa09EazFOV1U0TlRreVpqSTNORFEzWVNkY2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCYlhHNGdJQ0FnSUNBZ0lDZGtNMkZsTkRFd05EZGtaRGRqWVRBMk5XUmlaamhsWkRjM1lqazVNalF6T1RrNE16QXdOV05rTnpKbE1UWmtObVk1T1RaaE5UTXhObVF6TmprMk5tSmlKeXhjYmlBZ0lDQWdJQ0FnSjJKa01XRmxZakl4WVdReU1tVmlZakl5WVRFd1pqQXpNRE0wTVRkak5tUTVOalJtT0dOa1pEZGtaakJoWTJFMk1UUmlNVEJrWXpFMFpERXlOV0ZqTkRZblhHNGdJQ0FnSUNCZExGeHVJQ0FnSUNBZ1cxeHVJQ0FnSUNBZ0lDQW5ORFl6WlRJM05qTmtPRGcxWmprMU9HWmpOalpqWkdReU1qZ3dNR1l3WVRRNE56RTVOMlF3WVRneVpUTTNOMkkwT1dZNE1HRm1PRGRqT0RrM1lqQTJOU2NzWEc0Z0lDQWdJQ0FnSUNkaVptVm1ZV05rWWpCbE5XUXdabVEzWkdZellUTXhNV0U1TkdSbE1EWXlZakkyWWpnd1l6WXhabUpqT1RjMU1EaGlOems1T1RJMk56RmxaamRqWVRkbUoxeHVJQ0FnSUNBZ1hTeGNiaUFnSUNBZ0lGdGNiaUFnSUNBZ0lDQWdKemM1T0RWbVpHWmtNVEkzWXpBMU5qZGpObVkxTTJWak1XSmlOak5sWXpNeE5UaGxOVGszWXpRd1ltWmxOelEzWXpnelkyUmtabU01TVRBMk5ERTVNVGNuTEZ4dUlDQWdJQ0FnSUNBbk5qQXpZekV5WkdGbU0yUTVPRFl5WldZeVlqSTFabVV4WkdVeU9EbGhaV1F5TkdWa01qa3haVEJsWXpZM01EZzNNRE5oTldKa05UWTNaak15WldRd015ZGNiaUFnSUNBZ0lGMHNYRzRnSUNBZ0lDQmJYRzRnSUNBZ0lDQWdJQ2MzTkdFeFlXUTJZalZtTnpabE16bGtZakprWkRJME9UUXhNR1ZoWXpkbU9UbGxOelJqTlRsallqZ3paREprTUdWa05XWm1NVFUwTTJSaE56Y3dNMlU1Snl4Y2JpQWdJQ0FnSUNBZ0oyTmpOakUxTjJWbU1UaGpPV00yTTJOa05qRTVNMlE0TXpZek1XSmlaV0V3TURrelpUQTVOamc1TkRKbE9HTXpNMlExTnpNM1ptUTNPVEJsTUdSaU1EZ25YRzRnSUNBZ0lDQmRMRnh1SUNBZ0lDQWdXMXh1SUNBZ0lDQWdJQ0FuTXpBMk9ESmhOVEEzTURNek56Vm1OakF5WkRReE5qWTJOR0poTVRsaU4yWmpPV0poWWpReVl6Y3lOelEzTkRZellUY3haREE0T1RaaU1qSm1ObVJoTXljc1hHNGdJQ0FnSUNBZ0lDYzFOVE5sTURSbU5tSXdNVGhpTkdaaE5tTTRaak01WlRkbU16RXhaRE14TnpZeU9UQmtNR1V3WmpFNVkyRTNNMll4TnpjeE5HUTVPVGMzWVRJeVptWTRKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpsbE1qRTFPR1l3WkRkak1HUTFaakkyWXpNM09URmxabVZtWVRjNU5UazNOalUwWlRkaE1tSXlORFkwWmpVeVlqRmxaVFpqTVRNME56YzJPV1ZtTlRjbkxGeHVJQ0FnSUNBZ0lDQW5OekV5Wm1Oa1pERmlPVEExTTJZd09UQXdNMkV6TkRneFptRTNOell5WlRsbVptUTNZemhsWmpNMVlUTTROVEE1WlRKbVltWXlOakk1TURBNE16Y3pKMXh1SUNBZ0lDQWdYU3hjYmlBZ0lDQWdJRnRjYmlBZ0lDQWdJQ0FnSnpFM05tVXlOams0T1dFME0yTTVZMlpsWW1FME1ESTVZekl3TWpVek9HTXlPREUzTW1VMU5qWmxNMk0wWm1ObE56TXlNamcxTjJZelltVXpNamRrTmpZbkxGeHVJQ0FnSUNBZ0lDQW5aV1E0WTJNNVpEQTBZakk1WldJNE56ZGtNamN3WWpRNE56aGtZelF6WXpFNVlXVm1aRE14WmpSbFpXVXdPV1ZsTjJJME56Z3pOR014Wm1FMFlqRmpNeWRjYmlBZ0lDQWdJRjBzWEc0Z0lDQWdJQ0JiWEc0Z0lDQWdJQ0FnSUNjM05XUTBObVZtWldFek56Y3haVFpsTmpoaFltSTRPV0V4TTJGa056UTNaV05tTVRnNU1qTTVNMlJtWXpSbU1XSTNNREEwTnpnNFl6VXdNemMwWkdFNEp5eGNiaUFnSUNBZ0lDQWdKems0TlRJek9UQmhPVGsxTURjMk56bG1aREJpT0RabVpESmlNemxoT0RZNFpEZGxabU15TWpFMU1UTTBObVV4WVROallUUTNNalkxT0RaaE5tSmxaRGduWEc0Z0lDQWdJQ0JkTEZ4dUlDQWdJQ0FnVzF4dUlDQWdJQ0FnSUNBbk9EQTVZVEl3WXpZM1pEWTBPVEF3Wm1aaU5qazRZelJqT0RJMVpqWmtOV1l5TXpFd1ptSXdORFV4WXpnMk9UTTBOV0kzTXpFNVpqWTBOVFl3TlRjeU1TY3NYRzRnSUNBZ0lDQWdJQ2M1WlRrNU5EazRNR1E1T1RFM1pUSXlZamMyWWpBMk1Ua3lOMlpoTURReE5ETmtNRGsyWTJOak5UUTVOak5sTm1FMVpXSm1ZVFZtTTJZNFpUSTRObU14SjF4dUlDQWdJQ0FnWFN4Y2JpQWdJQ0FnSUZ0Y2JpQWdJQ0FnSUNBZ0p6RmlNemc1TUROaE5ETm1OMll4TVRSbFpEUTFNREJpTkdWaFl6Y3dPRE5tWkdWbVpXTmxNV05tTWpsak5qTTFNamhrTlRZek5EUTJaamszTW1NeE9EQW5MRnh1SUNBZ0lDQWdJQ0FuTkRBek5tVmtZemt6TVdFMk1HRmxPRGc1TXpVelpqYzNabVExTTJSbE5HRXlOekE0WWpJMllqWm1OV1JoTnpKaFpETXpPVFF4TVRsa1lXWTBNRGhtT1NkY2JpQWdJQ0FnSUYxY2JpQWdJQ0JkWEc0Z0lIMWNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvcHJlY29tcHV0ZWQvc2VjcDI1NmsxLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL2xpYi9lbGxpcHRpYy91dGlscy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gZXhwb3J0cztcXG52YXIgQk4gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBibi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZWxsaXB0aWMvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciBtaW5Bc3NlcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtaW5pbWFsaXN0aWMtYXNzZXJ0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxcIik7XFxudmFyIG1pblV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWNyeXB0by11dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWNyeXB0by11dGlscy9saWIvdXRpbHMuanNcXFwiKTtcXG5cXG51dGlscy5hc3NlcnQgPSBtaW5Bc3NlcnQ7XFxudXRpbHMudG9BcnJheSA9IG1pblV0aWxzLnRvQXJyYXk7XFxudXRpbHMuemVybzIgPSBtaW5VdGlscy56ZXJvMjtcXG51dGlscy50b0hleCA9IG1pblV0aWxzLnRvSGV4O1xcbnV0aWxzLmVuY29kZSA9IG1pblV0aWxzLmVuY29kZTtcXG5cXG4vLyBSZXByZXNlbnQgbnVtIGluIGEgdy1OQUYgZm9ybVxcbmZ1bmN0aW9uIGdldE5BRihudW0sIHcsIGJpdHMpIHtcXG4gIHZhciBuYWYgPSBuZXcgQXJyYXkoTWF0aC5tYXgobnVtLmJpdExlbmd0aCgpLCBiaXRzKSArIDEpO1xcbiAgbmFmLmZpbGwoMCk7XFxuXFxuICB2YXIgd3MgPSAxIDw8ICh3ICsgMSk7XFxuICB2YXIgayA9IG51bS5jbG9uZSgpO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBuYWYubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHo7XFxuICAgIHZhciBtb2QgPSBrLmFuZGxuKHdzIC0gMSk7XFxuICAgIGlmIChrLmlzT2RkKCkpIHtcXG4gICAgICBpZiAobW9kID4gKHdzID4+IDEpIC0gMSlcXG4gICAgICAgIHogPSAod3MgPj4gMSkgLSBtb2Q7XFxuICAgICAgZWxzZVxcbiAgICAgICAgeiA9IG1vZDtcXG4gICAgICBrLmlzdWJuKHopO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHogPSAwO1xcbiAgICB9XFxuXFxuICAgIG5hZltpXSA9IHo7XFxuICAgIGsuaXVzaHJuKDEpO1xcbiAgfVxcblxcbiAgcmV0dXJuIG5hZjtcXG59XFxudXRpbHMuZ2V0TkFGID0gZ2V0TkFGO1xcblxcbi8vIFJlcHJlc2VudCBrMSwgazIgaW4gYSBKb2ludCBTcGFyc2UgRm9ybVxcbmZ1bmN0aW9uIGdldEpTRihrMSwgazIpIHtcXG4gIHZhciBqc2YgPSBbXFxuICAgIFtdLFxcbiAgICBbXVxcbiAgXTtcXG5cXG4gIGsxID0gazEuY2xvbmUoKTtcXG4gIGsyID0gazIuY2xvbmUoKTtcXG4gIHZhciBkMSA9IDA7XFxuICB2YXIgZDIgPSAwO1xcbiAgd2hpbGUgKGsxLmNtcG4oLWQxKSA+IDAgfHwgazIuY21wbigtZDIpID4gMCkge1xcblxcbiAgICAvLyBGaXJzdCBwaGFzZVxcbiAgICB2YXIgbTE0ID0gKGsxLmFuZGxuKDMpICsgZDEpICYgMztcXG4gICAgdmFyIG0yNCA9IChrMi5hbmRsbigzKSArIGQyKSAmIDM7XFxuICAgIGlmIChtMTQgPT09IDMpXFxuICAgICAgbTE0ID0gLTE7XFxuICAgIGlmIChtMjQgPT09IDMpXFxuICAgICAgbTI0ID0gLTE7XFxuICAgIHZhciB1MTtcXG4gICAgaWYgKChtMTQgJiAxKSA9PT0gMCkge1xcbiAgICAgIHUxID0gMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgbTggPSAoazEuYW5kbG4oNykgKyBkMSkgJiA3O1xcbiAgICAgIGlmICgobTggPT09IDMgfHwgbTggPT09IDUpICYmIG0yNCA9PT0gMilcXG4gICAgICAgIHUxID0gLW0xNDtcXG4gICAgICBlbHNlXFxuICAgICAgICB1MSA9IG0xNDtcXG4gICAgfVxcbiAgICBqc2ZbMF0ucHVzaCh1MSk7XFxuXFxuICAgIHZhciB1MjtcXG4gICAgaWYgKChtMjQgJiAxKSA9PT0gMCkge1xcbiAgICAgIHUyID0gMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgbTggPSAoazIuYW5kbG4oNykgKyBkMikgJiA3O1xcbiAgICAgIGlmICgobTggPT09IDMgfHwgbTggPT09IDUpICYmIG0xNCA9PT0gMilcXG4gICAgICAgIHUyID0gLW0yNDtcXG4gICAgICBlbHNlXFxuICAgICAgICB1MiA9IG0yNDtcXG4gICAgfVxcbiAgICBqc2ZbMV0ucHVzaCh1Mik7XFxuXFxuICAgIC8vIFNlY29uZCBwaGFzZVxcbiAgICBpZiAoMiAqIGQxID09PSB1MSArIDEpXFxuICAgICAgZDEgPSAxIC0gZDE7XFxuICAgIGlmICgyICogZDIgPT09IHUyICsgMSlcXG4gICAgICBkMiA9IDEgLSBkMjtcXG4gICAgazEuaXVzaHJuKDEpO1xcbiAgICBrMi5pdXNocm4oMSk7XFxuICB9XFxuXFxuICByZXR1cm4ganNmO1xcbn1cXG51dGlscy5nZXRKU0YgPSBnZXRKU0Y7XFxuXFxuZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkob2JqLCBuYW1lLCBjb21wdXRlcikge1xcbiAgdmFyIGtleSA9ICdfJyArIG5hbWU7XFxuICBvYmoucHJvdG90eXBlW25hbWVdID0gZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkoKSB7XFxuICAgIHJldHVybiB0aGlzW2tleV0gIT09IHVuZGVmaW5lZCA/IHRoaXNba2V5XSA6XFxuICAgICAgICAgICB0aGlzW2tleV0gPSBjb21wdXRlci5jYWxsKHRoaXMpO1xcbiAgfTtcXG59XFxudXRpbHMuY2FjaGVkUHJvcGVydHkgPSBjYWNoZWRQcm9wZXJ0eTtcXG5cXG5mdW5jdGlvbiBwYXJzZUJ5dGVzKGJ5dGVzKSB7XFxuICByZXR1cm4gdHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJyA/IHV0aWxzLnRvQXJyYXkoYnl0ZXMsICdoZXgnKSA6XFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzO1xcbn1cXG51dGlscy5wYXJzZUJ5dGVzID0gcGFyc2VCeXRlcztcXG5cXG5mdW5jdGlvbiBpbnRGcm9tTEUoYnl0ZXMpIHtcXG4gIHJldHVybiBuZXcgQk4oYnl0ZXMsICdoZXgnLCAnbGUnKTtcXG59XFxudXRpbHMuaW50RnJvbUxFID0gaW50RnJvbUxFO1xcblxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5c2FXSXZaV3hzYVhCMGFXTXZkWFJwYkhNdWFuTS9NVGcyTnlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWp0QlFVTkJMRk5CUVZNc2JVSkJRVThzUTBGQlF5eHRSVUZCVHp0QlFVTjRRaXhuUWtGQlowSXNiVUpCUVU4c1EwRkJReXgzUlVGQmNVSTdRVUZETjBNc1pVRkJaU3h0UWtGQlR5eERRVUZETEhkR1FVRXlRanM3UVVGRmJFUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhuUWtGQlowSTdRVUZEYWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OWxiR3hwY0hScFl5OXNhV0l2Wld4c2FYQjBhV012ZFhScGJITXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJR1Y0Y0c5eWRITTdYRzUyWVhJZ1FrNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BPMXh1ZG1GeUlHMXBia0Z6YzJWeWRDQTlJSEpsY1hWcGNtVW9KMjFwYm1sdFlXeHBjM1JwWXkxaGMzTmxjblFuS1R0Y2JuWmhjaUJ0YVc1VmRHbHNjeUE5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWpjbmx3ZEc4dGRYUnBiSE1uS1R0Y2JseHVkWFJwYkhNdVlYTnpaWEowSUQwZ2JXbHVRWE56WlhKME8xeHVkWFJwYkhNdWRHOUJjbkpoZVNBOUlHMXBibFYwYVd4ekxuUnZRWEp5WVhrN1hHNTFkR2xzY3k1NlpYSnZNaUE5SUcxcGJsVjBhV3h6TG5wbGNtOHlPMXh1ZFhScGJITXVkRzlJWlhnZ1BTQnRhVzVWZEdsc2N5NTBiMGhsZUR0Y2JuVjBhV3h6TG1WdVkyOWtaU0E5SUcxcGJsVjBhV3h6TG1WdVkyOWtaVHRjYmx4dUx5OGdVbVZ3Y21WelpXNTBJRzUxYlNCcGJpQmhJSGN0VGtGR0lHWnZjbTFjYm1aMWJtTjBhVzl1SUdkbGRFNUJSaWh1ZFcwc0lIY3NJR0pwZEhNcElIdGNiaUFnZG1GeUlHNWhaaUE5SUc1bGR5QkJjbkpoZVNoTllYUm9MbTFoZUNodWRXMHVZbWwwVEdWdVozUm9LQ2tzSUdKcGRITXBJQ3NnTVNrN1hHNGdJRzVoWmk1bWFXeHNLREFwTzF4dVhHNGdJSFpoY2lCM2N5QTlJREVnUER3Z0tIY2dLeUF4S1R0Y2JpQWdkbUZ5SUdzZ1BTQnVkVzB1WTJ4dmJtVW9LVHRjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzVoWmk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lIWmhjaUI2TzF4dUlDQWdJSFpoY2lCdGIyUWdQU0JyTG1GdVpHeHVLSGR6SUMwZ01TazdYRzRnSUNBZ2FXWWdLR3N1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHMXZaQ0ErSUNoM2N5QStQaUF4S1NBdElERXBYRzRnSUNBZ0lDQWdJSG9nUFNBb2QzTWdQajRnTVNrZ0xTQnRiMlE3WEc0Z0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lIb2dQU0J0YjJRN1hHNGdJQ0FnSUNCckxtbHpkV0p1S0hvcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I2SUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCdVlXWmJhVjBnUFNCNk8xeHVJQ0FnSUdzdWFYVnphSEp1S0RFcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNWhaanRjYm4xY2JuVjBhV3h6TG1kbGRFNUJSaUE5SUdkbGRFNUJSanRjYmx4dUx5OGdVbVZ3Y21WelpXNTBJR3N4TENCck1pQnBiaUJoSUVwdmFXNTBJRk53WVhKelpTQkdiM0p0WEc1bWRXNWpkR2x2YmlCblpYUktVMFlvYXpFc0lHc3lLU0I3WEc0Z0lIWmhjaUJxYzJZZ1BTQmJYRzRnSUNBZ1cxMHNYRzRnSUNBZ1cxMWNiaUFnWFR0Y2JseHVJQ0JyTVNBOUlHc3hMbU5zYjI1bEtDazdYRzRnSUdzeUlEMGdhekl1WTJ4dmJtVW9LVHRjYmlBZ2RtRnlJR1F4SUQwZ01EdGNiaUFnZG1GeUlHUXlJRDBnTUR0Y2JpQWdkMmhwYkdVZ0tHc3hMbU50Y0c0b0xXUXhLU0ErSURBZ2ZId2dhekl1WTIxd2JpZ3RaRElwSUQ0Z01Da2dlMXh1WEc0Z0lDQWdMeThnUm1seWMzUWdjR2hoYzJWY2JpQWdJQ0IyWVhJZ2JURTBJRDBnS0dzeExtRnVaR3h1S0RNcElDc2daREVwSUNZZ016dGNiaUFnSUNCMllYSWdiVEkwSUQwZ0tHc3lMbUZ1Wkd4dUtETXBJQ3NnWkRJcElDWWdNenRjYmlBZ0lDQnBaaUFvYlRFMElEMDlQU0F6S1Z4dUlDQWdJQ0FnYlRFMElEMGdMVEU3WEc0Z0lDQWdhV1lnS0cweU5DQTlQVDBnTXlsY2JpQWdJQ0FnSUcweU5DQTlJQzB4TzF4dUlDQWdJSFpoY2lCMU1UdGNiaUFnSUNCcFppQW9LRzB4TkNBbUlERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjFNU0E5SURBN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFpoY2lCdE9DQTlJQ2hyTVM1aGJtUnNiaWczS1NBcklHUXhLU0FtSURjN1hHNGdJQ0FnSUNCcFppQW9LRzA0SUQwOVBTQXpJSHg4SUcwNElEMDlQU0ExS1NBbUppQnRNalFnUFQwOUlESXBYRzRnSUNBZ0lDQWdJSFV4SUQwZ0xXMHhORHRjYmlBZ0lDQWdJR1ZzYzJWY2JpQWdJQ0FnSUNBZ2RURWdQU0J0TVRRN1hHNGdJQ0FnZlZ4dUlDQWdJR3B6Wmxzd1hTNXdkWE5vS0hVeEtUdGNibHh1SUNBZ0lIWmhjaUIxTWp0Y2JpQWdJQ0JwWmlBb0tHMHlOQ0FtSURFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMU1pQTlJREE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIWmhjaUJ0T0NBOUlDaHJNaTVoYm1Sc2JpZzNLU0FySUdReUtTQW1JRGM3WEc0Z0lDQWdJQ0JwWmlBb0tHMDRJRDA5UFNBeklIeDhJRzA0SUQwOVBTQTFLU0FtSmlCdE1UUWdQVDA5SURJcFhHNGdJQ0FnSUNBZ0lIVXlJRDBnTFcweU5EdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnZFRJZ1BTQnRNalE3WEc0Z0lDQWdmVnh1SUNBZ0lHcHpabHN4WFM1d2RYTm9LSFV5S1R0Y2JseHVJQ0FnSUM4dklGTmxZMjl1WkNCd2FHRnpaVnh1SUNBZ0lHbG1JQ2d5SUNvZ1pERWdQVDA5SUhVeElDc2dNU2xjYmlBZ0lDQWdJR1F4SUQwZ01TQXRJR1F4TzF4dUlDQWdJR2xtSUNneUlDb2daRElnUFQwOUlIVXlJQ3NnTVNsY2JpQWdJQ0FnSUdReUlEMGdNU0F0SUdReU8xeHVJQ0FnSUdzeExtbDFjMmh5YmlneEtUdGNiaUFnSUNCck1pNXBkWE5vY200b01TazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdhbk5tTzF4dWZWeHVkWFJwYkhNdVoyVjBTbE5HSUQwZ1oyVjBTbE5HTzF4dVhHNW1kVzVqZEdsdmJpQmpZV05vWldSUWNtOXdaWEowZVNodlltb3NJRzVoYldVc0lHTnZiWEIxZEdWeUtTQjdYRzRnSUhaaGNpQnJaWGtnUFNBblh5Y2dLeUJ1WVcxbE8xeHVJQ0J2WW1vdWNISnZkRzkwZVhCbFcyNWhiV1ZkSUQwZ1puVnVZM1JwYjI0Z1kyRmphR1ZrVUhKdmNHVnlkSGtvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhOYmEyVjVYU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdkR2hwYzF0clpYbGRJRHBjYmlBZ0lDQWdJQ0FnSUNBZ2RHaHBjMXRyWlhsZElEMGdZMjl0Y0hWMFpYSXVZMkZzYkNoMGFHbHpLVHRjYmlBZ2ZUdGNibjFjYm5WMGFXeHpMbU5oWTJobFpGQnliM0JsY25SNUlEMGdZMkZqYUdWa1VISnZjR1Z5ZEhrN1hHNWNibVoxYm1OMGFXOXVJSEJoY25ObFFubDBaWE1vWW5sMFpYTXBJSHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUJpZVhSbGN5QTlQVDBnSjNOMGNtbHVaeWNnUHlCMWRHbHNjeTUwYjBGeWNtRjVLR0o1ZEdWekxDQW5hR1Y0SnlrZ09seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0o1ZEdWek8xeHVmVnh1ZFhScGJITXVjR0Z5YzJWQ2VYUmxjeUE5SUhCaGNuTmxRbmwwWlhNN1hHNWNibVoxYm1OMGFXOXVJR2x1ZEVaeWIyMU1SU2hpZVhSbGN5a2dlMXh1SUNCeVpYUjFjbTRnYm1WM0lFSk9LR0o1ZEdWekxDQW5hR1Y0Snl3Z0oyeGxKeWs3WEc1OVhHNTFkR2xzY3k1cGJuUkdjbTl0VEVVZ1BTQnBiblJHY205dFRFVTdYRzVjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9saWIvZWxsaXB0aWMvdXRpbHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihtb2R1bGUpIHsoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xcbiAgJ3VzZSBzdHJpY3QnO1xcblxcbiAgLy8gVXRpbHNcXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcXG4gICAgaWYgKCF2YWwpIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG4gIH1cXG5cXG4gIC8vIENvdWxkIHVzZSBgaW5oZXJpdHNgIG1vZHVsZSwgYnV0IGRvbid0IHdhbnQgdG8gbW92ZSBmcm9tIHNpbmdsZSBmaWxlXFxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxcbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xcbiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcXG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XFxuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XFxuICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XFxuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcXG4gIH1cXG5cXG4gIC8vIEJOXFxuXFxuICBmdW5jdGlvbiBCTiAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xcbiAgICAgIHJldHVybiBudW1iZXI7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIHRoaXMud29yZHMgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuXFxuICAgIC8vIFJlZHVjdGlvbiBjb250ZXh0XFxuICAgIHRoaXMucmVkID0gbnVsbDtcXG5cXG4gICAgaWYgKG51bWJlciAhPT0gbnVsbCkge1xcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcXG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XFxuICAgICAgICBiYXNlID0gMTA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuX2luaXQobnVtYmVyIHx8IDAsIGJhc2UgfHwgMTAsIGVuZGlhbiB8fCAnYmUnKTtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKSB7XFxuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XFxuICB9IGVsc2Uge1xcbiAgICBleHBvcnRzLkJOID0gQk47XFxuICB9XFxuXFxuICBCTi5CTiA9IEJOO1xcbiAgQk4ud29yZFNpemUgPSAyNjtcXG5cXG4gIHZhciBCdWZmZXI7XFxuICB0cnkge1xcbiAgICBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gMTApLkJ1ZmZlcjtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG5cXG4gIEJOLmlzQk4gPSBmdW5jdGlvbiBpc0JOIChudW0pIHtcXG4gICAgaWYgKG51bSBpbnN0YW5jZW9mIEJOKSB7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bSAhPT0gbnVsbCAmJiB0eXBlb2YgbnVtID09PSAnb2JqZWN0JyAmJlxcbiAgICAgIG51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZSA9PT0gQk4ud29yZFNpemUgJiYgQXJyYXkuaXNBcnJheShudW0ud29yZHMpO1xcbiAgfTtcXG5cXG4gIEJOLm1heCA9IGZ1bmN0aW9uIG1heCAobGVmdCwgcmlnaHQpIHtcXG4gICAgaWYgKGxlZnQuY21wKHJpZ2h0KSA+IDApIHJldHVybiBsZWZ0O1xcbiAgICByZXR1cm4gcmlnaHQ7XFxuICB9O1xcblxcbiAgQk4ubWluID0gZnVuY3Rpb24gbWluIChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpIDwgMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ251bWJlcicpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdE51bWJlcihudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdvYmplY3QnKSB7XFxuICAgICAgcmV0dXJuIHRoaXMuX2luaXRBcnJheShudW1iZXIsIGJhc2UsIGVuZGlhbik7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgYmFzZSA9IDE2O1xcbiAgICB9XFxuICAgIGFzc2VydChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KTtcXG5cXG4gICAgbnVtYmVyID0gbnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxcXHMrL2csICcnKTtcXG4gICAgdmFyIHN0YXJ0ID0gMDtcXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgc3RhcnQrKztcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gMTYpIHtcXG4gICAgICB0aGlzLl9wYXJzZUhleChudW1iZXIsIHN0YXJ0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLl9wYXJzZUJhc2UobnVtYmVyLCBiYXNlLCBzdGFydCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKG51bWJlclswXSA9PT0gJy0nKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XFxuXFxuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2luaXROdW1iZXIgPSBmdW5jdGlvbiBfaW5pdE51bWJlciAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKG51bWJlciA8IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICBudW1iZXIgPSAtbnVtYmVyO1xcbiAgICB9XFxuICAgIGlmIChudW1iZXIgPCAweDQwMDAwMDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyBudW1iZXIgJiAweDNmZmZmZmYgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH0gZWxzZSBpZiAobnVtYmVyIDwgMHgxMDAwMDAwMDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbXFxuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZlxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAyO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFzc2VydChudW1iZXIgPCAweDIwMDAwMDAwMDAwMDAwKTsgLy8gMiBeIDUzICh1bnNhZmUpXFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmLFxcbiAgICAgICAgMVxcbiAgICAgIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAzO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgLy8gUmV2ZXJzZSB0aGUgYnl0ZXNcXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdEFycmF5ID0gZnVuY3Rpb24gX2luaXRBcnJheSAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW1iZXIubGVuZ3RoID09PSAnbnVtYmVyJyk7XFxuICAgIGlmIChudW1iZXIubGVuZ3RoIDw9IDApIHtcXG4gICAgICB0aGlzLndvcmRzID0gWyAwIF07XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKG51bWJlci5sZW5ndGggLyAzKTtcXG4gICAgdGhpcy53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHZhciBqLCB3O1xcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xcbiAgICAgIGZvciAoaSA9IG51bWJlci5sZW5ndGggLSAxLCBqID0gMDsgaSA+PSAwOyBpIC09IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgLSAxXSA8PCA4KSB8IChudW1iZXJbaSAtIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZW5kaWFuID09PSAnbGUnKSB7XFxuICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBudW1iZXIubGVuZ3RoOyBpICs9IDMpIHtcXG4gICAgICAgIHcgPSBudW1iZXJbaV0gfCAobnVtYmVyW2kgKyAxXSA8PCA4KSB8IChudW1iZXJbaSArIDJdIDw8IDE2KTtcXG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgb2ZmICs9IDI0O1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGorKztcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBwYXJzZUhleCAoc3RyLCBzdGFydCwgZW5kKSB7XFxuICAgIHZhciByID0gMDtcXG4gICAgdmFyIGxlbiA9IE1hdGgubWluKHN0ci5sZW5ndGgsIGVuZCk7XFxuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgdmFyIGMgPSBzdHIuY2hhckNvZGVBdChpKSAtIDQ4O1xcblxcbiAgICAgIHIgPDw9IDQ7XFxuXFxuICAgICAgLy8gJ2EnIC0gJ2YnXFxuICAgICAgaWYgKGMgPj0gNDkgJiYgYyA8PSA1NCkge1xcbiAgICAgICAgciB8PSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnIC0gJ0YnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3ICYmIGMgPD0gMjIpIHtcXG4gICAgICAgIHIgfD0gYyAtIDE3ICsgMHhhO1xcblxcbiAgICAgIC8vICcwJyAtICc5J1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByIHw9IGMgJiAweGY7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIHJldHVybiByO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl9wYXJzZUhleCA9IGZ1bmN0aW9uIF9wYXJzZUhleCAobnVtYmVyLCBzdGFydCkge1xcbiAgICAvLyBDcmVhdGUgcG9zc2libHkgYmlnZ2VyIGFycmF5IHRvIGVuc3VyZSB0aGF0IGl0IGZpdHMgdGhlIG51bWJlclxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGguY2VpbCgobnVtYmVyLmxlbmd0aCAtIHN0YXJ0KSAvIDYpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIC8vIFNjYW4gMjQtYml0IGNodW5rcyBhbmQgYWRkIHRoZW0gdG8gdGhlIG51bWJlclxcbiAgICB2YXIgb2ZmID0gMDtcXG4gICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDYsIGogPSAwOyBpID49IHN0YXJ0OyBpIC09IDYpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBpLCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIC8vIE5PVEU6IGAweDNmZmZmZmAgaXMgaW50ZW50aW9uYWwgaGVyZSwgMjZiaXRzIG1heCBzaGlmdCArIDI0Yml0IGhleCBsaW1iXFxuICAgICAgdGhpcy53b3Jkc1tqICsgMV0gfD0gdyA+Pj4gKDI2IC0gb2ZmKSAmIDB4M2ZmZmZmO1xcbiAgICAgIG9mZiArPSAyNDtcXG4gICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICBqKys7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChpICsgNiAhPT0gc3RhcnQpIHtcXG4gICAgICB3ID0gcGFyc2VIZXgobnVtYmVyLCBzdGFydCwgaSArIDYpO1xcbiAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlQmFzZSAoc3RyLCBzdGFydCwgZW5kLCBtdWwpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciAqPSBtdWw7XFxuXFxuICAgICAgLy8gJ2EnXFxuICAgICAgaWYgKGMgPj0gNDkpIHtcXG4gICAgICAgIHIgKz0gYyAtIDQ5ICsgMHhhO1xcblxcbiAgICAgIC8vICdBJ1xcbiAgICAgIH0gZWxzZSBpZiAoYyA+PSAxNykge1xcbiAgICAgICAgciArPSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgKz0gYztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlQmFzZSA9IGZ1bmN0aW9uIF9wYXJzZUJhc2UgKG51bWJlciwgYmFzZSwgc3RhcnQpIHtcXG4gICAgLy8gSW5pdGlhbGl6ZSBhcyB6ZXJvXFxuICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgdGhpcy5sZW5ndGggPSAxO1xcblxcbiAgICAvLyBGaW5kIGxlbmd0aCBvZiBsaW1iIGluIGJhc2VcXG4gICAgZm9yICh2YXIgbGltYkxlbiA9IDAsIGxpbWJQb3cgPSAxOyBsaW1iUG93IDw9IDB4M2ZmZmZmZjsgbGltYlBvdyAqPSBiYXNlKSB7XFxuICAgICAgbGltYkxlbisrO1xcbiAgICB9XFxuICAgIGxpbWJMZW4tLTtcXG4gICAgbGltYlBvdyA9IChsaW1iUG93IC8gYmFzZSkgfCAwO1xcblxcbiAgICB2YXIgdG90YWwgPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XFxuICAgIHZhciBtb2QgPSB0b3RhbCAlIGxpbWJMZW47XFxuICAgIHZhciBlbmQgPSBNYXRoLm1pbih0b3RhbCwgdG90YWwgLSBtb2QpICsgc3RhcnQ7XFxuXFxuICAgIHZhciB3b3JkID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpICs9IGxpbWJMZW4pIHtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgaSArIGxpbWJMZW4sIGJhc2UpO1xcblxcbiAgICAgIHRoaXMuaW11bG4obGltYlBvdyk7XFxuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobW9kICE9PSAwKSB7XFxuICAgICAgdmFyIHBvdyA9IDE7XFxuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIG51bWJlci5sZW5ndGgsIGJhc2UpO1xcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBtb2Q7IGkrKykge1xcbiAgICAgICAgcG93ICo9IGJhc2U7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuaW11bG4ocG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNvcHkgPSBmdW5jdGlvbiBjb3B5IChkZXN0KSB7XFxuICAgIGRlc3Qud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBkZXN0LndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBkZXN0Lmxlbmd0aCA9IHRoaXMubGVuZ3RoO1xcbiAgICBkZXN0Lm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZTtcXG4gICAgZGVzdC5yZWQgPSB0aGlzLnJlZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSAoKSB7XFxuICAgIHZhciByID0gbmV3IEJOKG51bGwpO1xcbiAgICB0aGlzLmNvcHkocik7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZXhwYW5kID0gZnVuY3Rpb24gX2V4cGFuZCAoc2l6ZSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBzaXplKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgLy8gUmVtb3ZlIGxlYWRpbmcgYDBgIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3RyaXAgPSBmdW5jdGlvbiBzdHJpcCAoKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA+IDEgJiYgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdID09PSAwKSB7XFxuICAgICAgdGhpcy5sZW5ndGgtLTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX25vcm1TaWduID0gZnVuY3Rpb24gX25vcm1TaWduICgpIHtcXG4gICAgLy8gLTAgPSAwXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLnJlZCA/ICc8Qk4tUjogJyA6ICc8Qk46ICcpICsgdGhpcy50b1N0cmluZygxNikgKyAnPic7XFxuICB9O1xcblxcbiAgLypcXG5cXG4gIHZhciB6ZXJvcyA9IFtdO1xcbiAgdmFyIGdyb3VwU2l6ZXMgPSBbXTtcXG4gIHZhciBncm91cEJhc2VzID0gW107XFxuXFxuICB2YXIgcyA9ICcnO1xcbiAgdmFyIGkgPSAtMTtcXG4gIHdoaWxlICgrK2kgPCBCTi53b3JkU2l6ZSkge1xcbiAgICB6ZXJvc1tpXSA9IHM7XFxuICAgIHMgKz0gJzAnO1xcbiAgfVxcbiAgZ3JvdXBTaXplc1swXSA9IDA7XFxuICBncm91cFNpemVzWzFdID0gMDtcXG4gIGdyb3VwQmFzZXNbMF0gPSAwO1xcbiAgZ3JvdXBCYXNlc1sxXSA9IDA7XFxuICB2YXIgYmFzZSA9IDIgLSAxO1xcbiAgd2hpbGUgKCsrYmFzZSA8IDM2ICsgMSkge1xcbiAgICB2YXIgZ3JvdXBTaXplID0gMDtcXG4gICAgdmFyIGdyb3VwQmFzZSA9IDE7XFxuICAgIHdoaWxlIChncm91cEJhc2UgPCAoMSA8PCBCTi53b3JkU2l6ZSkgLyBiYXNlKSB7XFxuICAgICAgZ3JvdXBCYXNlICo9IGJhc2U7XFxuICAgICAgZ3JvdXBTaXplICs9IDE7XFxuICAgIH1cXG4gICAgZ3JvdXBTaXplc1tiYXNlXSA9IGdyb3VwU2l6ZTtcXG4gICAgZ3JvdXBCYXNlc1tiYXNlXSA9IGdyb3VwQmFzZTtcXG4gIH1cXG5cXG4gICovXFxuXFxuICB2YXIgemVyb3MgPSBbXFxuICAgICcnLFxcbiAgICAnMCcsXFxuICAgICcwMCcsXFxuICAgICcwMDAnLFxcbiAgICAnMDAwMCcsXFxuICAgICcwMDAwMCcsXFxuICAgICcwMDAwMDAnLFxcbiAgICAnMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCdcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBTaXplcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMjUsIDE2LCAxMiwgMTEsIDEwLCA5LCA4LFxcbiAgICA4LCA3LCA3LCA3LCA3LCA2LCA2LFxcbiAgICA2LCA2LCA2LCA2LCA2LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LFxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1XFxuICBdO1xcblxcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXFxuICAgIDAsIDAsXFxuICAgIDMzNTU0NDMyLCA0MzA0NjcyMSwgMTY3NzcyMTYsIDQ4ODI4MTI1LCA2MDQ2NjE3NiwgNDAzNTM2MDcsIDE2Nzc3MjE2LFxcbiAgICA0MzA0NjcyMSwgMTAwMDAwMDAsIDE5NDg3MTcxLCAzNTgzMTgwOCwgNjI3NDg1MTcsIDc1Mjk1MzYsIDExMzkwNjI1LFxcbiAgICAxNjc3NzIxNiwgMjQxMzc1NjksIDM0MDEyMjI0LCA0NzA0NTg4MSwgNjQwMDAwMDAsIDQwODQxMDEsIDUxNTM2MzIsXFxuICAgIDY0MzYzNDMsIDc5NjI2MjQsIDk3NjU2MjUsIDExODgxMzc2LCAxNDM0ODkwNywgMTcyMTAzNjgsIDIwNTExMTQ5LFxcbiAgICAyNDMwMDAwMCwgMjg2MjkxNTEsIDMzNTU0NDMyLCAzOTEzNTM5MywgNDU0MzU0MjQsIDUyNTIxODc1LCA2MDQ2NjE3NlxcbiAgXTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nIChiYXNlLCBwYWRkaW5nKSB7XFxuICAgIGJhc2UgPSBiYXNlIHx8IDEwO1xcbiAgICBwYWRkaW5nID0gcGFkZGluZyB8IDAgfHwgMTtcXG5cXG4gICAgdmFyIG91dDtcXG4gICAgaWYgKGJhc2UgPT09IDE2IHx8IGJhc2UgPT09ICdoZXgnKSB7XFxuICAgICAgb3V0ID0gJyc7XFxuICAgICAgdmFyIG9mZiA9IDA7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICAgIHZhciB3b3JkID0gKCgodyA8PCBvZmYpIHwgY2FycnkpICYgMHhmZmZmZmYpLnRvU3RyaW5nKDE2KTtcXG4gICAgICAgIGNhcnJ5ID0gKHcgPj4+ICgyNCAtIG9mZikpICYgMHhmZmZmZmY7XFxuICAgICAgICBpZiAoY2FycnkgIT09IDAgfHwgaSAhPT0gdGhpcy5sZW5ndGggLSAxKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zWzYgLSB3b3JkLmxlbmd0aF0gKyB3b3JkICsgb3V0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgb3V0ID0gd29yZCArIG91dDtcXG4gICAgICAgIH1cXG4gICAgICAgIG9mZiArPSAyO1xcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xcbiAgICAgICAgICBvZmYgLT0gMjY7XFxuICAgICAgICAgIGktLTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSBjYXJyeS50b1N0cmluZygxNikgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAoYmFzZSB8IDApICYmIGJhc2UgPj0gMiAmJiBiYXNlIDw9IDM2KSB7XFxuICAgICAgLy8gdmFyIGdyb3VwU2l6ZSA9IE1hdGguZmxvb3IoQk4ud29yZFNpemUgKiBNYXRoLkxOMiAvIE1hdGgubG9nKGJhc2UpKTtcXG4gICAgICB2YXIgZ3JvdXBTaXplID0gZ3JvdXBTaXplc1tiYXNlXTtcXG4gICAgICAvLyB2YXIgZ3JvdXBCYXNlID0gTWF0aC5wb3coYmFzZSwgZ3JvdXBTaXplKTtcXG4gICAgICB2YXIgZ3JvdXBCYXNlID0gZ3JvdXBCYXNlc1tiYXNlXTtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgYyA9IHRoaXMuY2xvbmUoKTtcXG4gICAgICBjLm5lZ2F0aXZlID0gMDtcXG4gICAgICB3aGlsZSAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgIHZhciByID0gYy5tb2RuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7XFxuICAgICAgICBjID0gYy5pZGl2bihncm91cEJhc2UpO1xcblxcbiAgICAgICAgaWYgKCFjLmlzWmVybygpKSB7XFxuICAgICAgICAgIG91dCA9IHplcm9zW2dyb3VwU2l6ZSAtIHIubGVuZ3RoXSArIHIgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSByICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIG91dCA9ICctJyArIG91dDtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIG91dDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoZmFsc2UsICdCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Jyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvTnVtYmVyID0gZnVuY3Rpb24gdG9OdW1iZXIgKCkge1xcbiAgICB2YXIgcmV0ID0gdGhpcy53b3Jkc1swXTtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAyKSB7XFxuICAgICAgcmV0ICs9IHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDA7XFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPT09IDMgJiYgdGhpcy53b3Jkc1syXSA9PT0gMHgwMSkge1xcbiAgICAgIC8vIE5PVEU6IGF0IHRoaXMgc3RhZ2UgaXQgaXMga25vd24gdGhhdCB0aGUgdG9wIGJpdCBpcyBzZXRcXG4gICAgICByZXQgKz0gMHgxMDAwMDAwMDAwMDAwMCArICh0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwKTtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IDIpIHtcXG4gICAgICBhc3NlcnQoZmFsc2UsICdOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMnKTtcXG4gICAgfVxcbiAgICByZXR1cm4gKHRoaXMubmVnYXRpdmUgIT09IDApID8gLXJldCA6IHJldDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0J1ZmZlciA9IGZ1bmN0aW9uIHRvQnVmZmVyIChlbmRpYW4sIGxlbmd0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpO1xcbiAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uIHRvQXJyYXkgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LCBlbmRpYW4sIGxlbmd0aCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQXJyYXlMaWtlID0gZnVuY3Rpb24gdG9BcnJheUxpa2UgKEFycmF5VHlwZSwgZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgdmFyIGJ5dGVMZW5ndGggPSB0aGlzLmJ5dGVMZW5ndGgoKTtcXG4gICAgdmFyIHJlcUxlbmd0aCA9IGxlbmd0aCB8fCBNYXRoLm1heCgxLCBieXRlTGVuZ3RoKTtcXG4gICAgYXNzZXJ0KGJ5dGVMZW5ndGggPD0gcmVxTGVuZ3RoLCAnYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCcpO1xcbiAgICBhc3NlcnQocmVxTGVuZ3RoID4gMCwgJ1JlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCcpO1xcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICAgIHZhciBsaXR0bGVFbmRpYW4gPSBlbmRpYW4gPT09ICdsZSc7XFxuICAgIHZhciByZXMgPSBuZXcgQXJyYXlUeXBlKHJlcUxlbmd0aCk7XFxuXFxuICAgIHZhciBiLCBpO1xcbiAgICB2YXIgcSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgaWYgKCFsaXR0bGVFbmRpYW4pIHtcXG4gICAgICAvLyBBc3N1bWUgYmlnLWVuZGlhblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCByZXFMZW5ndGggLSBieXRlTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7ICFxLmlzWmVybygpOyBpKyspIHtcXG4gICAgICAgIGIgPSBxLmFuZGxuKDB4ZmYpO1xcbiAgICAgICAgcS5pdXNocm4oOCk7XFxuXFxuICAgICAgICByZXNbcmVxTGVuZ3RoIC0gaSAtIDFdID0gYjtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tpXSA9IGI7XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoOyBpIDwgcmVxTGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHJlc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgaWYgKE1hdGguY2x6MzIpIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgcmV0dXJuIDMyIC0gTWF0aC5jbHozMih3KTtcXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIEJOLnByb3RvdHlwZS5fY291bnRCaXRzID0gZnVuY3Rpb24gX2NvdW50Qml0cyAodykge1xcbiAgICAgIHZhciB0ID0gdztcXG4gICAgICB2YXIgciA9IDA7XFxuICAgICAgaWYgKHQgPj0gMHgxMDAwKSB7XFxuICAgICAgICByICs9IDEzO1xcbiAgICAgICAgdCA+Pj49IDEzO1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDQwKSB7XFxuICAgICAgICByICs9IDc7XFxuICAgICAgICB0ID4+Pj0gNztcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHg4KSB7XFxuICAgICAgICByICs9IDQ7XFxuICAgICAgICB0ID4+Pj0gNDtcXG4gICAgICB9XFxuICAgICAgaWYgKHQgPj0gMHgwMikge1xcbiAgICAgICAgciArPSAyO1xcbiAgICAgICAgdCA+Pj49IDI7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiByICsgdDtcXG4gICAgfTtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5femVyb0JpdHMgPSBmdW5jdGlvbiBfemVyb0JpdHMgKHcpIHtcXG4gICAgLy8gU2hvcnQtY3V0XFxuICAgIGlmICh3ID09PSAwKSByZXR1cm4gMjY7XFxuXFxuICAgIHZhciB0ID0gdztcXG4gICAgdmFyIHIgPSAwO1xcbiAgICBpZiAoKHQgJiAweDFmZmYpID09PSAwKSB7XFxuICAgICAgciArPSAxMztcXG4gICAgICB0ID4+Pj0gMTM7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHg3ZikgPT09IDApIHtcXG4gICAgICByICs9IDc7XFxuICAgICAgdCA+Pj49IDc7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHhmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNDtcXG4gICAgICB0ID4+Pj0gNDtcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDMpID09PSAwKSB7XFxuICAgICAgciArPSAyO1xcbiAgICAgIHQgPj4+PSAyO1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MSkgPT09IDApIHtcXG4gICAgICByKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG51bWJlciBvZiB1c2VkIGJpdHMgaW4gYSBCTlxcbiAgQk4ucHJvdG90eXBlLmJpdExlbmd0aCA9IGZ1bmN0aW9uIGJpdExlbmd0aCAoKSB7XFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdO1xcbiAgICB2YXIgaGkgPSB0aGlzLl9jb3VudEJpdHModyk7XFxuICAgIHJldHVybiAodGhpcy5sZW5ndGggLSAxKSAqIDI2ICsgaGk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gdG9CaXRBcnJheSAobnVtKSB7XFxuICAgIHZhciB3ID0gbmV3IEFycmF5KG51bS5iaXRMZW5ndGgoKSk7XFxuXFxuICAgIGZvciAodmFyIGJpdCA9IDA7IGJpdCA8IHcubGVuZ3RoOyBiaXQrKykge1xcbiAgICAgIHZhciBvZmYgPSAoYml0IC8gMjYpIHwgMDtcXG4gICAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICAgIHdbYml0XSA9IChudW0ud29yZHNbb2ZmXSAmICgxIDw8IHdiaXQpKSA+Pj4gd2JpdDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdztcXG4gIH1cXG5cXG4gIC8vIE51bWJlciBvZiB0cmFpbGluZyB6ZXJvIGJpdHNcXG4gIEJOLnByb3RvdHlwZS56ZXJvQml0cyA9IGZ1bmN0aW9uIHplcm9CaXRzICgpIHtcXG4gICAgaWYgKHRoaXMuaXNaZXJvKCkpIHJldHVybiAwO1xcblxcbiAgICB2YXIgciA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBiID0gdGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tpXSk7XFxuICAgICAgciArPSBiO1xcbiAgICAgIGlmIChiICE9PSAyNikgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmJ5dGVMZW5ndGggPSBmdW5jdGlvbiBieXRlTGVuZ3RoICgpIHtcXG4gICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpIC8gOCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvVHdvcyA9IGZ1bmN0aW9uIHRvVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICByZXR1cm4gdGhpcy5hYnMoKS5pbm90bih3aWR0aCkuaWFkZG4oMSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZnJvbVR3b3MgPSBmdW5jdGlvbiBmcm9tVHdvcyAod2lkdGgpIHtcXG4gICAgaWYgKHRoaXMudGVzdG4od2lkdGggLSAxKSkge1xcbiAgICAgIHJldHVybiB0aGlzLm5vdG4od2lkdGgpLmlhZGRuKDEpLmluZWcoKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc05lZyA9IGZ1bmN0aW9uIGlzTmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubmVnYXRpdmUgIT09IDA7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5lZygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbmVnID0gZnVuY3Rpb24gaW5lZyAoKSB7XFxuICAgIGlmICghdGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgXj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1b3IgPSBmdW5jdGlvbiBpdW9yIChudW0pIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkge1xcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gfCBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW9yID0gZnVuY3Rpb24gaW9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1b3IobnVtKTtcXG4gIH07XFxuXFxuICAvLyBPciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLm9yID0gZnVuY3Rpb24gb3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaW9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51b3IgPSBmdW5jdGlvbiB1b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVhbmQgPSBmdW5jdGlvbiBpdWFuZCAobnVtKSB7XFxuICAgIC8vIGIgPSBtaW4tbGVuZ3RoKG51bSwgdGhpcylcXG4gICAgdmFyIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldICYgbnVtLndvcmRzW2ldO1xcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYi5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1YW5kKG51bSk7XFxuICB9O1xcblxcbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYW5kKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51YW5kID0gZnVuY3Rpb24gdWFuZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1YW5kKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1eG9yID0gZnVuY3Rpb24gaXV4b3IgKG51bSkge1xcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXFxuICAgIHZhciBhO1xcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5peG9yID0gZnVuY3Rpb24gaXhvciAobnVtKSB7XFxuICAgIGFzc2VydCgodGhpcy5uZWdhdGl2ZSB8IG51bS5uZWdhdGl2ZSkgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXhvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnhvciA9IGZ1bmN0aW9uIHhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXhvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXhvciA9IGZ1bmN0aW9uIHV4b3IgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml1eG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pdXhvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBOb3QgYGB0aGlzYGAgd2l0aCBgYHdpZHRoYGAgYml0d2lkdGhcXG4gIEJOLnByb3RvdHlwZS5pbm90biA9IGZ1bmN0aW9uIGlub3RuICh3aWR0aCkge1xcbiAgICBhc3NlcnQodHlwZW9mIHdpZHRoID09PSAnbnVtYmVyJyAmJiB3aWR0aCA+PSAwKTtcXG5cXG4gICAgdmFyIGJ5dGVzTmVlZGVkID0gTWF0aC5jZWlsKHdpZHRoIC8gMjYpIHwgMDtcXG4gICAgdmFyIGJpdHNMZWZ0ID0gd2lkdGggJSAyNjtcXG5cXG4gICAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgd2l0aCBsZWFkaW5nIHplcm9lc1xcbiAgICB0aGlzLl9leHBhbmQoYnl0ZXNOZWVkZWQpO1xcblxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgYnl0ZXNOZWVkZWQtLTtcXG4gICAgfVxcblxcbiAgICAvLyBIYW5kbGUgY29tcGxldGUgd29yZHNcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlc05lZWRlZDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSB0aGUgcmVzaWR1ZVxcbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgKDB4M2ZmZmZmZiA+PiAoMjYgLSBiaXRzTGVmdCkpO1xcbiAgICB9XFxuXFxuICAgIC8vIEFuZCByZW1vdmUgbGVhZGluZyB6ZXJvZXNcXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubm90biA9IGZ1bmN0aW9uIG5vdG4gKHdpZHRoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpO1xcbiAgfTtcXG5cXG4gIC8vIFNldCBgYml0YCBvZiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zZXRuID0gZnVuY3Rpb24gc2V0biAoYml0LCB2YWwpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG5cXG4gICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICB2YXIgd2JpdCA9IGJpdCAlIDI2O1xcblxcbiAgICB0aGlzLl9leHBhbmQob2ZmICsgMSk7XFxuXFxuICAgIGlmICh2YWwpIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gfCAoMSA8PCB3Yml0KTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gJiB+KDEgPDwgd2JpdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xcbiAgICB2YXIgcjtcXG5cXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcblxcbiAgICAvLyBwb3NpdGl2ZSArIG5lZ2F0aXZlXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGEsIGI7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcbiAgICBmb3IgKDsgY2FycnkgIT09IDAgJiYgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBhLmxlbmd0aDtcXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAvLyBDb3B5IHRoZSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChudW0pIHtcXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSB0aGlzLnN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH0gZWxzZSBpZiAobnVtLm5lZ2F0aXZlID09PSAwICYmIHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXMgPSBudW0uc3ViKHRoaXMpO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiByZXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XFxuXFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pYWRkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xcbiAgICAvLyB0aGlzIC0gKC1udW0pID0gdGhpcyArIG51bVxcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcXG4gICAgICB2YXIgciA9IHRoaXMuaWFkZChudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIC10aGlzIC0gbnVtID0gLSh0aGlzICsgbnVtKVxcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGQobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcXG4gICAgfVxcblxcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmVcXG4gICAgdmFyIGNtcCA9IHRoaXMuY21wKG51bSk7XFxuXFxuICAgIC8vIE9wdGltaXphdGlvbiAtIHplcm9pZnlcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBhID4gYlxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKGNtcCA+IDApIHtcXG4gICAgICBhID0gdGhpcztcXG4gICAgICBiID0gbnVtO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBudW07XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSByID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIC8vIENvcHkgcmVzdCBvZiB0aGUgd29yZHNcXG4gICAgaWYgKGNhcnJ5ID09PSAwICYmIGkgPCBhLmxlbmd0aCAmJiBhICE9PSB0aGlzKSB7XFxuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSk7XFxuXFxuICAgIGlmIChhICE9PSB0aGlzKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHNtYWxsTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIHZhciBsZW4gPSAoc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoKSB8IDA7XFxuICAgIG91dC5sZW5ndGggPSBsZW47XFxuICAgIGxlbiA9IChsZW4gLSAxKSB8IDA7XFxuXFxuICAgIC8vIFBlZWwgb25lIGl0ZXJhdGlvbiAoY29tcGlsZXIgY2FuJ3QgZG8gaXQsIGJlY2F1c2Ugb2YgY29kZSBjb21wbGV4aXR5KVxcbiAgICB2YXIgYSA9IHNlbGYud29yZHNbMF0gfCAwO1xcbiAgICB2YXIgYiA9IG51bS53b3Jkc1swXSB8IDA7XFxuICAgIHZhciByID0gYSAqIGI7XFxuXFxuICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgIHZhciBjYXJyeSA9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgIG91dC53b3Jkc1swXSA9IGxvO1xcblxcbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGxlbjsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGNhcnJ5ID4+PiAyNjtcXG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcXG4gICAgICB2YXIgbWF4SiA9IE1hdGgubWluKGssIG51bS5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XFxuICAgICAgICB2YXIgaSA9IChrIC0gaikgfCAwO1xcbiAgICAgICAgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICByID0gYSAqIGIgKyByd29yZDtcXG4gICAgICAgIG5jYXJyeSArPSAociAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgICAgcndvcmQgPSByICYgMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZCB8IDA7XFxuICAgICAgY2FycnkgPSBuY2FycnkgfCAwO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5IHwgMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBvdXQubGVuZ3RoLS07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfVxcblxcbiAgLy8gVE9ETyhpbmR1dG55KTogaXQgbWF5IGJlIHJlYXNvbmFibGUgdG8gb21pdCBpdCBmb3IgdXNlcnMgd2hvIGRvbid0IG5lZWRcXG4gIC8vIHRvIHdvcmsgd2l0aCAyNTYtYml0IG51bWJlcnMsIG90aGVyd2lzZSBpdCBnaXZlcyAyMCUgaW1wcm92ZW1lbnQgZm9yIDI1Ni1iaXRcXG4gIC8vIG11bHRpcGxpY2F0aW9uIChsaWtlIGVsbGlwdGljIHNlY3AyNTZrMSkuXFxuICB2YXIgY29tYjEwTXVsVG8gPSBmdW5jdGlvbiBjb21iMTBNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgdmFyIGEgPSBzZWxmLndvcmRzO1xcbiAgICB2YXIgYiA9IG51bS53b3JkcztcXG4gICAgdmFyIG8gPSBvdXQud29yZHM7XFxuICAgIHZhciBjID0gMDtcXG4gICAgdmFyIGxvO1xcbiAgICB2YXIgbWlkO1xcbiAgICB2YXIgaGk7XFxuICAgIHZhciBhMCA9IGFbMF0gfCAwO1xcbiAgICB2YXIgYWwwID0gYTAgJiAweDFmZmY7XFxuICAgIHZhciBhaDAgPSBhMCA+Pj4gMTM7XFxuICAgIHZhciBhMSA9IGFbMV0gfCAwO1xcbiAgICB2YXIgYWwxID0gYTEgJiAweDFmZmY7XFxuICAgIHZhciBhaDEgPSBhMSA+Pj4gMTM7XFxuICAgIHZhciBhMiA9IGFbMl0gfCAwO1xcbiAgICB2YXIgYWwyID0gYTIgJiAweDFmZmY7XFxuICAgIHZhciBhaDIgPSBhMiA+Pj4gMTM7XFxuICAgIHZhciBhMyA9IGFbM10gfCAwO1xcbiAgICB2YXIgYWwzID0gYTMgJiAweDFmZmY7XFxuICAgIHZhciBhaDMgPSBhMyA+Pj4gMTM7XFxuICAgIHZhciBhNCA9IGFbNF0gfCAwO1xcbiAgICB2YXIgYWw0ID0gYTQgJiAweDFmZmY7XFxuICAgIHZhciBhaDQgPSBhNCA+Pj4gMTM7XFxuICAgIHZhciBhNSA9IGFbNV0gfCAwO1xcbiAgICB2YXIgYWw1ID0gYTUgJiAweDFmZmY7XFxuICAgIHZhciBhaDUgPSBhNSA+Pj4gMTM7XFxuICAgIHZhciBhNiA9IGFbNl0gfCAwO1xcbiAgICB2YXIgYWw2ID0gYTYgJiAweDFmZmY7XFxuICAgIHZhciBhaDYgPSBhNiA+Pj4gMTM7XFxuICAgIHZhciBhNyA9IGFbN10gfCAwO1xcbiAgICB2YXIgYWw3ID0gYTcgJiAweDFmZmY7XFxuICAgIHZhciBhaDcgPSBhNyA+Pj4gMTM7XFxuICAgIHZhciBhOCA9IGFbOF0gfCAwO1xcbiAgICB2YXIgYWw4ID0gYTggJiAweDFmZmY7XFxuICAgIHZhciBhaDggPSBhOCA+Pj4gMTM7XFxuICAgIHZhciBhOSA9IGFbOV0gfCAwO1xcbiAgICB2YXIgYWw5ID0gYTkgJiAweDFmZmY7XFxuICAgIHZhciBhaDkgPSBhOSA+Pj4gMTM7XFxuICAgIHZhciBiMCA9IGJbMF0gfCAwO1xcbiAgICB2YXIgYmwwID0gYjAgJiAweDFmZmY7XFxuICAgIHZhciBiaDAgPSBiMCA+Pj4gMTM7XFxuICAgIHZhciBiMSA9IGJbMV0gfCAwO1xcbiAgICB2YXIgYmwxID0gYjEgJiAweDFmZmY7XFxuICAgIHZhciBiaDEgPSBiMSA+Pj4gMTM7XFxuICAgIHZhciBiMiA9IGJbMl0gfCAwO1xcbiAgICB2YXIgYmwyID0gYjIgJiAweDFmZmY7XFxuICAgIHZhciBiaDIgPSBiMiA+Pj4gMTM7XFxuICAgIHZhciBiMyA9IGJbM10gfCAwO1xcbiAgICB2YXIgYmwzID0gYjMgJiAweDFmZmY7XFxuICAgIHZhciBiaDMgPSBiMyA+Pj4gMTM7XFxuICAgIHZhciBiNCA9IGJbNF0gfCAwO1xcbiAgICB2YXIgYmw0ID0gYjQgJiAweDFmZmY7XFxuICAgIHZhciBiaDQgPSBiNCA+Pj4gMTM7XFxuICAgIHZhciBiNSA9IGJbNV0gfCAwO1xcbiAgICB2YXIgYmw1ID0gYjUgJiAweDFmZmY7XFxuICAgIHZhciBiaDUgPSBiNSA+Pj4gMTM7XFxuICAgIHZhciBiNiA9IGJbNl0gfCAwO1xcbiAgICB2YXIgYmw2ID0gYjYgJiAweDFmZmY7XFxuICAgIHZhciBiaDYgPSBiNiA+Pj4gMTM7XFxuICAgIHZhciBiNyA9IGJbN10gfCAwO1xcbiAgICB2YXIgYmw3ID0gYjcgJiAweDFmZmY7XFxuICAgIHZhciBiaDcgPSBiNyA+Pj4gMTM7XFxuICAgIHZhciBiOCA9IGJbOF0gfCAwO1xcbiAgICB2YXIgYmw4ID0gYjggJiAweDFmZmY7XFxuICAgIHZhciBiaDggPSBiOCA+Pj4gMTM7XFxuICAgIHZhciBiOSA9IGJbOV0gfCAwO1xcbiAgICB2YXIgYmw5ID0gYjkgJiAweDFmZmY7XFxuICAgIHZhciBiaDkgPSBiOSA+Pj4gMTM7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHNlbGYubmVnYXRpdmUgXiBudW0ubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSAxOTtcXG4gICAgLyogayA9IDAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwwLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwwLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDAsIGJoMCk7XFxuICAgIHZhciB3MCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcwID4+PiAyNikpIHwgMDtcXG4gICAgdzAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDEsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDEsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgxKSkgfCAwO1xcbiAgICB2YXIgdzEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwyLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwyLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDIsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmgyKSkgfCAwO1xcbiAgICB2YXIgdzIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcyICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWwzLCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWwzLCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDMsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDMpKSB8IDA7XFxuICAgIHZhciB3MyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHczID4+PiAyNikpIHwgMDtcXG4gICAgdzMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDQsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDQsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg0KSkgfCAwO1xcbiAgICB2YXIgdzQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc0ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw1LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw1LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDUsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg1KSkgfCAwO1xcbiAgICB2YXIgdzUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NSA+Pj4gMjYpKSB8IDA7XFxuICAgIHc1ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw2LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw2LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDYsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDYpKSB8IDA7XFxuICAgIHZhciB3NiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc2ID4+PiAyNikpIHwgMDtcXG4gICAgdzYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDcsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDcsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg3KSkgfCAwO1xcbiAgICB2YXIgdzcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NyA+Pj4gMjYpKSB8IDA7XFxuICAgIHc3ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw4LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw4LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDgsIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwwLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMCwgYmg4KSkgfCAwO1xcbiAgICB2YXIgdzggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3OCA+Pj4gMjYpKSB8IDA7XFxuICAgIHc4ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDkgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDApO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDApO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwwKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgxKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3OSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc5ID4+PiAyNikpIHwgMDtcXG4gICAgdzkgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTAgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDEpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDEpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwxKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEwID4+PiAyNikpIHwgMDtcXG4gICAgdzEwICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDExICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmwyKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgyKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMikpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDIpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwzLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTEgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTIgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDMpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDMpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTIgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTMgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDQpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDQpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDcpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzEzID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzEzID4+PiAyNikpIHwgMDtcXG4gICAgdzEzICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw1KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg1KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNSkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDUpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw2LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTQgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTUgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDYpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDYpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTUgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTYgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDcpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDcpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNyk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg4KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDkpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDkpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg5KSkgfCAwO1xcbiAgICB2YXIgdzE2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzE2ID4+PiAyNikpIHwgMDtcXG4gICAgdzE2ICY9IDB4M2ZmZmZmZjtcXG4gICAgLyogayA9IDE3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsOSwgYmw4KTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg4KTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg5LCBiaDgpO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTcgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTggKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDkpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDkpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOSk7XFxuICAgIHZhciB3MTggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTggPj4+IDI2KSkgfCAwO1xcbiAgICB3MTggJj0gMHgzZmZmZmZmO1xcbiAgICBvWzBdID0gdzA7XFxuICAgIG9bMV0gPSB3MTtcXG4gICAgb1syXSA9IHcyO1xcbiAgICBvWzNdID0gdzM7XFxuICAgIG9bNF0gPSB3NDtcXG4gICAgb1s1XSA9IHc1O1xcbiAgICBvWzZdID0gdzY7XFxuICAgIG9bN10gPSB3NztcXG4gICAgb1s4XSA9IHc4O1xcbiAgICBvWzldID0gdzk7XFxuICAgIG9bMTBdID0gdzEwO1xcbiAgICBvWzExXSA9IHcxMTtcXG4gICAgb1sxMl0gPSB3MTI7XFxuICAgIG9bMTNdID0gdzEzO1xcbiAgICBvWzE0XSA9IHcxNDtcXG4gICAgb1sxNV0gPSB3MTU7XFxuICAgIG9bMTZdID0gdzE2O1xcbiAgICBvWzE3XSA9IHcxNztcXG4gICAgb1sxOF0gPSB3MTg7XFxuICAgIGlmIChjICE9PSAwKSB7XFxuICAgICAgb1sxOV0gPSBjO1xcbiAgICAgIG91dC5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gb3V0O1xcbiAgfTtcXG5cXG4gIC8vIFBvbHlmaWxsIGNvbWJcXG4gIGlmICghTWF0aC5pbXVsKSB7XFxuICAgIGNvbWIxME11bFRvID0gc21hbGxNdWxUbztcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGJpZ011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICBvdXQubmVnYXRpdmUgPSBudW0ubmVnYXRpdmUgXiBzZWxmLm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0gc2VsZi5sZW5ndGggKyBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICB2YXIgaG5jYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb3V0Lmxlbmd0aCAtIDE7IGsrKykge1xcbiAgICAgIC8vIFN1bSBhbGwgd29yZHMgd2l0aCB0aGUgc2FtZSBgaSArIGogPSBrYCBhbmQgYWNjdW11bGF0ZSBgbmNhcnJ5YCxcXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxcbiAgICAgIHZhciBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICAgIGhuY2FycnkgPSAwO1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gayAtIGo7XFxuICAgICAgICB2YXIgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xcbiAgICAgICAgdmFyIGIgPSBudW0ud29yZHNbal0gfCAwO1xcbiAgICAgICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgICAgIHZhciBsbyA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKChyIC8gMHg0MDAwMDAwKSB8IDApKSB8IDA7XFxuICAgICAgICBsbyA9IChsbyArIHJ3b3JkKSB8IDA7XFxuICAgICAgICByd29yZCA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArIChsbyA+Pj4gMjYpKSB8IDA7XFxuXFxuICAgICAgICBobmNhcnJ5ICs9IG5jYXJyeSA+Pj4gMjY7XFxuICAgICAgICBuY2FycnkgJj0gMHgzZmZmZmZmO1xcbiAgICAgIH1cXG4gICAgICBvdXQud29yZHNba10gPSByd29yZDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeTtcXG4gICAgICBuY2FycnkgPSBobmNhcnJ5O1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBqdW1ib011bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgZmZ0bSA9IG5ldyBGRlRNKCk7XFxuICAgIHJldHVybiBmZnRtLm11bHAoc2VsZiwgbnVtLCBvdXQpO1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLm11bFRvID0gZnVuY3Rpb24gbXVsVG8gKG51bSwgb3V0KSB7XFxuICAgIHZhciByZXM7XFxuICAgIHZhciBsZW4gPSB0aGlzLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMTAgJiYgbnVtLmxlbmd0aCA9PT0gMTApIHtcXG4gICAgICByZXMgPSBjb21iMTBNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSBpZiAobGVuIDwgNjMpIHtcXG4gICAgICByZXMgPSBzbWFsbE11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCAxMDI0KSB7XFxuICAgICAgcmVzID0gYmlnTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29vbGV5LVR1a2V5IGFsZ29yaXRobSBmb3IgRkZUXFxuICAvLyBzbGlnaHRseSByZXZpc2l0ZWQgdG8gcmVseSBvbiBsb29waW5nIGluc3RlYWQgb2YgcmVjdXJzaW9uXFxuXFxuICBmdW5jdGlvbiBGRlRNICh4LCB5KSB7XFxuICAgIHRoaXMueCA9IHg7XFxuICAgIHRoaXMueSA9IHk7XFxuICB9XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tYWtlUkJUID0gZnVuY3Rpb24gbWFrZVJCVCAoTikge1xcbiAgICB2YXIgdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIGwgPSBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKSAtIDE7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdFtpXSA9IHRoaXMucmV2QmluKGksIGwsIE4pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0O1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybnMgYmluYXJ5LXJldmVyc2VkIHJlcHJlc2VudGF0aW9uIG9mIGB4YFxcbiAgRkZUTS5wcm90b3R5cGUucmV2QmluID0gZnVuY3Rpb24gcmV2QmluICh4LCBsLCBOKSB7XFxuICAgIGlmICh4ID09PSAwIHx8IHggPT09IE4gLSAxKSByZXR1cm4geDtcXG5cXG4gICAgdmFyIHJiID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcXG4gICAgICByYiB8PSAoeCAmIDEpIDw8IChsIC0gaSAtIDEpO1xcbiAgICAgIHggPj49IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJiO1xcbiAgfTtcXG5cXG4gIC8vIFBlcmZvcm1zIFxcXCJ0d2VlZGxpbmdcXFwiIHBoYXNlLCB0aGVyZWZvcmUgJ2VtdWxhdGluZydcXG4gIC8vIGJlaGF2aW91ciBvZiB0aGUgcmVjdXJzaXZlIGFsZ29yaXRobVxcbiAgRkZUTS5wcm90b3R5cGUucGVybXV0ZSA9IGZ1bmN0aW9uIHBlcm11dGUgKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBydHdzW2ldID0gcndzW3JidFtpXV07XFxuICAgICAgaXR3c1tpXSA9IGl3c1tyYnRbaV1dO1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUudHJhbnNmb3JtID0gZnVuY3Rpb24gdHJhbnNmb3JtIChyd3MsIGl3cywgcnR3cywgaXR3cywgTiwgcmJ0KSB7XFxuICAgIHRoaXMucGVybXV0ZShyYnQsIHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOKTtcXG5cXG4gICAgZm9yICh2YXIgcyA9IDE7IHMgPCBOOyBzIDw8PSAxKSB7XFxuICAgICAgdmFyIGwgPSBzIDw8IDE7XFxuXFxuICAgICAgdmFyIHJ0d2RmID0gTWF0aC5jb3MoMiAqIE1hdGguUEkgLyBsKTtcXG4gICAgICB2YXIgaXR3ZGYgPSBNYXRoLnNpbigyICogTWF0aC5QSSAvIGwpO1xcblxcbiAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgTjsgcCArPSBsKSB7XFxuICAgICAgICB2YXIgcnR3ZGZfID0gcnR3ZGY7XFxuICAgICAgICB2YXIgaXR3ZGZfID0gaXR3ZGY7XFxuXFxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHM7IGorKykge1xcbiAgICAgICAgICB2YXIgcmUgPSBydHdzW3AgKyBqXTtcXG4gICAgICAgICAgdmFyIGllID0gaXR3c1twICsgal07XFxuXFxuICAgICAgICAgIHZhciBybyA9IHJ0d3NbcCArIGogKyBzXTtcXG4gICAgICAgICAgdmFyIGlvID0gaXR3c1twICsgaiArIHNdO1xcblxcbiAgICAgICAgICB2YXIgcnggPSBydHdkZl8gKiBybyAtIGl0d2RmXyAqIGlvO1xcblxcbiAgICAgICAgICBpbyA9IHJ0d2RmXyAqIGlvICsgaXR3ZGZfICogcm87XFxuICAgICAgICAgIHJvID0gcng7XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGpdID0gcmUgKyBybztcXG4gICAgICAgICAgaXR3c1twICsgal0gPSBpZSArIGlvO1xcblxcbiAgICAgICAgICBydHdzW3AgKyBqICsgc10gPSByZSAtIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqICsgc10gPSBpZSAtIGlvO1xcblxcbiAgICAgICAgICAvKiBqc2hpbnQgbWF4ZGVwdGggOiBmYWxzZSAqL1xcbiAgICAgICAgICBpZiAoaiAhPT0gbCkge1xcbiAgICAgICAgICAgIHJ4ID0gcnR3ZGYgKiBydHdkZl8gLSBpdHdkZiAqIGl0d2RmXztcXG5cXG4gICAgICAgICAgICBpdHdkZl8gPSBydHdkZiAqIGl0d2RmXyArIGl0d2RmICogcnR3ZGZfO1xcbiAgICAgICAgICAgIHJ0d2RmXyA9IHJ4O1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuZ3Vlc3NMZW4xM2IgPSBmdW5jdGlvbiBndWVzc0xlbjEzYiAobiwgbSkge1xcbiAgICB2YXIgTiA9IE1hdGgubWF4KG0sIG4pIHwgMTtcXG4gICAgdmFyIG9kZCA9IE4gJiAxO1xcbiAgICB2YXIgaSA9IDA7XFxuICAgIGZvciAoTiA9IE4gLyAyIHwgMDsgTjsgTiA9IE4gPj4+IDEpIHtcXG4gICAgICBpKys7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIDEgPDwgaSArIDEgKyBvZGQ7XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUuY29uanVnYXRlID0gZnVuY3Rpb24gY29uanVnYXRlIChyd3MsIGl3cywgTikge1xcbiAgICBpZiAoTiA8PSAxKSByZXR1cm47XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB0ID0gcndzW2ldO1xcblxcbiAgICAgIHJ3c1tpXSA9IHJ3c1tOIC0gaSAtIDFdO1xcbiAgICAgIHJ3c1tOIC0gaSAtIDFdID0gdDtcXG5cXG4gICAgICB0ID0gaXdzW2ldO1xcblxcbiAgICAgIGl3c1tpXSA9IC1pd3NbTiAtIGkgLSAxXTtcXG4gICAgICBpd3NbTiAtIGkgLSAxXSA9IC10O1xcbiAgICB9XFxuICB9O1xcblxcbiAgRkZUTS5wcm90b3R5cGUubm9ybWFsaXplMTNiID0gZnVuY3Rpb24gbm9ybWFsaXplMTNiICh3cywgTikge1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE4gLyAyOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IE1hdGgucm91bmQod3NbMiAqIGkgKyAxXSAvIE4pICogMHgyMDAwICtcXG4gICAgICAgIE1hdGgucm91bmQod3NbMiAqIGldIC8gTikgK1xcbiAgICAgICAgY2Fycnk7XFxuXFxuICAgICAgd3NbaV0gPSB3ICYgMHgzZmZmZmZmO1xcblxcbiAgICAgIGlmICh3IDwgMHg0MDAwMDAwKSB7XFxuICAgICAgICBjYXJyeSA9IDA7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGNhcnJ5ID0gdyAvIDB4NDAwMDAwMCB8IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB3cztcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiID0gZnVuY3Rpb24gY29udmVydDEzYiAod3MsIGxlbiwgcndzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBjYXJyeSA9IGNhcnJ5ICsgKHdzW2ldIHwgMCk7XFxuXFxuICAgICAgcndzWzIgKiBpXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgICByd3NbMiAqIGkgKyAxXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcXG4gICAgfVxcblxcbiAgICAvLyBQYWQgd2l0aCB6ZXJvZXNcXG4gICAgZm9yIChpID0gMiAqIGxlbjsgaSA8IE47ICsraSkge1xcbiAgICAgIHJ3c1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAwKTtcXG4gICAgYXNzZXJ0KChjYXJyeSAmIH4weDFmZmYpID09PSAwKTtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5zdHViID0gZnVuY3Rpb24gc3R1YiAoTikge1xcbiAgICB2YXIgcGggPSBuZXcgQXJyYXkoTik7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgcGhbaV0gPSAwO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBwaDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5tdWxwID0gZnVuY3Rpb24gbXVscCAoeCwgeSwgb3V0KSB7XFxuICAgIHZhciBOID0gMiAqIHRoaXMuZ3Vlc3NMZW4xM2IoeC5sZW5ndGgsIHkubGVuZ3RoKTtcXG5cXG4gICAgdmFyIHJidCA9IHRoaXMubWFrZVJCVChOKTtcXG5cXG4gICAgdmFyIF8gPSB0aGlzLnN0dWIoTik7XFxuXFxuICAgIHZhciByd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciByd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgaXdzdCA9IG5ldyBBcnJheShOKTtcXG5cXG4gICAgdmFyIG5yd3MgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBucndzdCA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5pd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgcm13cyA9IG91dC53b3JkcztcXG4gICAgcm13cy5sZW5ndGggPSBOO1xcblxcbiAgICB0aGlzLmNvbnZlcnQxM2IoeC53b3JkcywgeC5sZW5ndGgsIHJ3cywgTik7XFxuICAgIHRoaXMuY29udmVydDEzYih5LndvcmRzLCB5Lmxlbmd0aCwgbnJ3cywgTik7XFxuXFxuICAgIHRoaXMudHJhbnNmb3JtKHJ3cywgXywgcndzdCwgaXdzdCwgTiwgcmJ0KTtcXG4gICAgdGhpcy50cmFuc2Zvcm0obnJ3cywgXywgbnJ3c3QsIG5pd3N0LCBOLCByYnQpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHZhciByeCA9IHJ3c3RbaV0gKiBucndzdFtpXSAtIGl3c3RbaV0gKiBuaXdzdFtpXTtcXG4gICAgICBpd3N0W2ldID0gcndzdFtpXSAqIG5pd3N0W2ldICsgaXdzdFtpXSAqIG5yd3N0W2ldO1xcbiAgICAgIHJ3c3RbaV0gPSByeDtcXG4gICAgfVxcblxcbiAgICB0aGlzLmNvbmp1Z2F0ZShyd3N0LCBpd3N0LCBOKTtcXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzdCwgaXdzdCwgcm13cywgXywgTiwgcmJ0KTtcXG4gICAgdGhpcy5jb25qdWdhdGUocm13cywgXywgTik7XFxuICAgIHRoaXMubm9ybWFsaXplMTNiKHJtd3MsIE4pO1xcblxcbiAgICBvdXQubmVnYXRpdmUgPSB4Lm5lZ2F0aXZlIF4geS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IHgubGVuZ3RoICsgeS5sZW5ndGg7XFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBNdWx0aXBseSBgdGhpc2AgYnkgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKG51bSkge1xcbiAgICB2YXIgb3V0ID0gbmV3IEJOKG51bGwpO1xcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcXG4gICAgcmV0dXJuIHRoaXMubXVsVG8obnVtLCBvdXQpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGVtcGxveWluZyBGRlRcXG4gIEJOLnByb3RvdHlwZS5tdWxmID0gZnVuY3Rpb24gbXVsZiAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gSW4tcGxhY2UgTXVsdGlwbGljYXRpb25cXG4gIEJOLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkubXVsVG8obnVtLCB0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW11bG4gPSBmdW5jdGlvbiBpbXVsbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcblxcbiAgICAvLyBDYXJyeVxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKiBudW07XFxuICAgICAgdmFyIGxvID0gKHcgJiAweDNmZmZmZmYpICsgKGNhcnJ5ICYgMHgzZmZmZmZmKTtcXG4gICAgICBjYXJyeSA+Pj0gMjY7XFxuICAgICAgY2FycnkgKz0gKHcgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgICAvLyBOT1RFOiBsbyBpcyAyN2JpdCBtYXhpbXVtXFxuICAgICAgY2FycnkgKz0gbG8gPj4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUubXVsbiA9IGZ1bmN0aW9uIG11bG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKG51bSk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubXVsKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIGB0aGlzYCAqIGB0aGlzYCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIC8vIE1hdGgucG93KGB0aGlzYCwgYG51bWApXFxuICBCTi5wcm90b3R5cGUucG93ID0gZnVuY3Rpb24gcG93IChudW0pIHtcXG4gICAgdmFyIHcgPSB0b0JpdEFycmF5KG51bSk7XFxuICAgIGlmICh3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBCTigxKTtcXG5cXG4gICAgLy8gU2tpcCBsZWFkaW5nIHplcm9lc1xcbiAgICB2YXIgcmVzID0gdGhpcztcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3Lmxlbmd0aDsgaSsrLCByZXMgPSByZXMuc3FyKCkpIHtcXG4gICAgICBpZiAod1tpXSAhPT0gMCkgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKCsraSA8IHcubGVuZ3RoKSB7XFxuICAgICAgZm9yICh2YXIgcSA9IHJlcy5zcXIoKTsgaSA8IHcubGVuZ3RoOyBpKyssIHEgPSBxLnNxcigpKSB7XFxuICAgICAgICBpZiAod1tpXSA9PT0gMCkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSByZXMubXVsKHEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LWxlZnQgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdXNobG4gPSBmdW5jdGlvbiBpdXNobG4gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuICAgIHZhciBjYXJyeU1hc2sgPSAoMHgzZmZmZmZmID4+PiAoMjYgLSByKSkgPDwgKDI2IC0gcik7XFxuICAgIHZhciBpO1xcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHZhciBjYXJyeSA9IDA7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHZhciBuZXdDYXJyeSA9IHRoaXMud29yZHNbaV0gJiBjYXJyeU1hc2s7XFxuICAgICAgICB2YXIgYyA9ICgodGhpcy53b3Jkc1tpXSB8IDApIC0gbmV3Q2FycnkpIDw8IHI7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gYyB8IGNhcnJ5O1xcbiAgICAgICAgY2FycnkgPSBuZXdDYXJyeSA+Pj4gKDI2IC0gcik7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjYXJyeSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHMgIT09IDApIHtcXG4gICAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyBzXSA9IHRoaXMud29yZHNbaV07XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLmxlbmd0aCArPSBzO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXFxuICAvLyBOT1RFOiBgaGludGAgaXMgYSBsb3dlc3QgYml0IGJlZm9yZSB0cmFpbGluZyB6ZXJvZXNcXG4gIC8vIE5PVEU6IGlmIGBleHRlbmRlZGAgaXMgcHJlc2VudCAtIGl0IHdpbGwgYmUgZmlsbGVkIHdpdGggZGVzdHJveWVkIGJpdHNcXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcXG4gICAgdmFyIGg7XFxuICAgIGlmIChoaW50KSB7XFxuICAgICAgaCA9IChoaW50IC0gKGhpbnQgJSAyNikpIC8gMjY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaCA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XFxuICAgIHZhciBzID0gTWF0aC5taW4oKGJpdHMgLSByKSAvIDI2LCB0aGlzLmxlbmd0aCk7XFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmZmIF4gKCgweDNmZmZmZmYgPj4+IHIpIDw8IHIpO1xcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcXG5cXG4gICAgaCAtPSBzO1xcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XFxuXFxuICAgIC8vIEV4dGVuZGVkIG1vZGUsIGNvcHkgbWFza2VkIHBhcnRcXG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzOyBpKyspIHtcXG4gICAgICAgIG1hc2tlZFdvcmRzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuICAgICAgbWFza2VkV29yZHMubGVuZ3RoID0gcztcXG4gICAgfVxcblxcbiAgICBpZiAocyA9PT0gMCkge1xcbiAgICAgIC8vIE5vLW9wLCB3ZSBzaG91bGQgbm90IG1vdmUgYW55dGhpbmcgYXQgYWxsXFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XFxuICAgICAgdGhpcy5sZW5ndGggLT0gcztcXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDAgJiYgKGNhcnJ5ICE9PSAwIHx8IGkgPj0gaCk7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IChjYXJyeSA8PCAoMjYgLSByKSkgfCAod29yZCA+Pj4gcik7XFxuICAgICAgY2FycnkgPSB3b3JkICYgbWFzaztcXG4gICAgfVxcblxcbiAgICAvLyBQdXNoIGNhcnJpZWQgYml0cyBhcyBhIG1hc2tcXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgbWFza2VkV29yZHMud29yZHNbbWFza2VkV29yZHMubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzaHJuID0gZnVuY3Rpb24gaXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XFxuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1c2hybihiaXRzLCBoaW50LCBleHRlbmRlZCk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdFxcbiAgQk4ucHJvdG90eXBlLnNobG4gPSBmdW5jdGlvbiBzaGxuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaGxuID0gZnVuY3Rpb24gdXNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHRcXG4gIEJOLnByb3RvdHlwZS5zaHJuID0gZnVuY3Rpb24gc2hybiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51c2hybiA9IGZ1bmN0aW9uIHVzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIFRlc3QgaWYgbiBiaXQgaXMgc2V0XFxuICBCTi5wcm90b3R5cGUudGVzdG4gPSBmdW5jdGlvbiB0ZXN0biAoYml0KSB7XFxuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XFxuICAgIHZhciByID0gYml0ICUgMjY7XFxuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XFxuICAgIHZhciBxID0gMSA8PCByO1xcblxcbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xcbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykgcmV0dXJuIGZhbHNlO1xcblxcbiAgICAvLyBDaGVjayBiaXQgYW5kIHJldHVyblxcbiAgICB2YXIgdyA9IHRoaXMud29yZHNbc107XFxuXFxuICAgIHJldHVybiAhISh3ICYgcSk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyIChpbi1wbGFjZSlcXG4gIEJOLnByb3RvdHlwZS5pbWFza24gPSBmdW5jdGlvbiBpbWFza24gKGJpdHMpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0cyAtIHIpIC8gMjY7XFxuXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAnaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzJyk7XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICBzKys7XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1pbihzLCB0aGlzLmxlbmd0aCk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCAtIDFdICY9IG1hc2s7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5tYXNrbiA9IGZ1bmN0aW9uIG1hc2tuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKGJpdHMpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBwbGFpbiBudW1iZXIgYG51bWAgdG8gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuaWFkZG4gPSBmdW5jdGlvbiBpYWRkbiAobnVtKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XFxuICAgIGFzc2VydChudW0gPCAweDQwMDAwMDApO1xcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaXN1Ym4oLW51bSk7XFxuXFxuICAgIC8vIFBvc3NpYmxlIHNpZ24gY2hhbmdlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmICh0aGlzLndvcmRzWzBdIHwgMCkgPCBudW0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gPSBudW0gLSAodGhpcy53b3Jkc1swXSB8IDApO1xcbiAgICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5pc3VibihudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xcbiAgICByZXR1cm4gdGhpcy5faWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lhZGRuID0gZnVuY3Rpb24gX2lhZGRuIChudW0pIHtcXG4gICAgdGhpcy53b3Jkc1swXSArPSBudW07XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA+PSAweDQwMDAwMDA7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xcbiAgICAgIGlmIChpID09PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdID0gMTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0rKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1heCh0aGlzLmxlbmd0aCwgaSArIDEpO1xcblxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pc3VibiA9IGZ1bmN0aW9uIGlzdWJuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pYWRkbigtbnVtKTtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlhZGRuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy53b3Jkc1swXSAtPSBudW07XFxuXFxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAtdGhpcy53b3Jkc1swXTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDYXJyeVxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGggJiYgdGhpcy53b3Jkc1tpXSA8IDA7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSAtPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hZGRuID0gZnVuY3Rpb24gYWRkbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFkZG4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuc3VibiA9IGZ1bmN0aW9uIHN1Ym4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlhYnMgPSBmdW5jdGlvbiBpYWJzICgpIHtcXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5hYnMgPSBmdW5jdGlvbiBhYnMgKCkge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuX2lzaGxuc3VibXVsID0gZnVuY3Rpb24gX2lzaGxuc3VibXVsIChudW0sIG11bCwgc2hpZnQpIHtcXG4gICAgdmFyIGxlbiA9IG51bS5sZW5ndGggKyBzaGlmdDtcXG4gICAgdmFyIGk7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChsZW4pO1xcblxcbiAgICB2YXIgdztcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICB2YXIgcmlnaHQgPSAobnVtLndvcmRzW2ldIHwgMCkgKiBtdWw7XFxuICAgICAgdyAtPSByaWdodCAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9ICh3ID4+IDI2KSAtICgocmlnaHQgLyAweDQwMDAwMDApIHwgMCk7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcbiAgICBmb3IgKDsgaSA8IHRoaXMubGVuZ3RoIC0gc2hpZnQ7IGkrKykge1xcbiAgICAgIHcgPSAodGhpcy53b3Jkc1tpICsgc2hpZnRdIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpICsgc2hpZnRdID0gdyAmIDB4M2ZmZmZmZjtcXG4gICAgfVxcblxcbiAgICBpZiAoY2FycnkgPT09IDApIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIC8vIFN1YnRyYWN0aW9uIG92ZXJmbG93XFxuICAgIGFzc2VydChjYXJyeSA9PT0gLTEpO1xcbiAgICBjYXJyeSA9IDA7XFxuICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9IC0odGhpcy53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+IDI2O1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fd29yZERpdiA9IGZ1bmN0aW9uIF93b3JkRGl2IChudW0sIG1vZGUpIHtcXG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xcblxcbiAgICB2YXIgYSA9IHRoaXMuY2xvbmUoKTtcXG4gICAgdmFyIGIgPSBudW07XFxuXFxuICAgIC8vIE5vcm1hbGl6ZVxcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgdmFyIGJoaUJpdHMgPSB0aGlzLl9jb3VudEJpdHMoYmhpKTtcXG4gICAgc2hpZnQgPSAyNiAtIGJoaUJpdHM7XFxuICAgIGlmIChzaGlmdCAhPT0gMCkge1xcbiAgICAgIGIgPSBiLnVzaGxuKHNoaWZ0KTtcXG4gICAgICBhLml1c2hsbihzaGlmdCk7XFxuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcXG4gICAgfVxcblxcbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XFxuICAgIHZhciBtID0gYS5sZW5ndGggLSBiLmxlbmd0aDtcXG4gICAgdmFyIHE7XFxuXFxuICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgIHEgPSBuZXcgQk4obnVsbCk7XFxuICAgICAgcS5sZW5ndGggPSBtICsgMTtcXG4gICAgICBxLndvcmRzID0gbmV3IEFycmF5KHEubGVuZ3RoKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgZGlmZiA9IGEuY2xvbmUoKS5faXNobG5zdWJtdWwoYiwgMSwgbSk7XFxuICAgIGlmIChkaWZmLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgYSA9IGRpZmY7XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbbV0gPSAxO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgdmFyIHFqID0gKGEud29yZHNbYi5sZW5ndGggKyBqXSB8IDApICogMHg0MDAwMDAwICtcXG4gICAgICAgIChhLndvcmRzW2IubGVuZ3RoICsgaiAtIDFdIHwgMCk7XFxuXFxuICAgICAgLy8gTk9URTogKHFqIC8gYmhpKSBpcyAoMHgzZmZmZmZmICogMHg0MDAwMDAwICsgMHgzZmZmZmZmKSAvIDB4MjAwMDAwMCBtYXhcXG4gICAgICAvLyAoMHg3ZmZmZmZmKVxcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XFxuXFxuICAgICAgYS5faXNobG5zdWJtdWwoYiwgcWosIGopO1xcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBxai0tO1xcbiAgICAgICAgYS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcXG4gICAgICAgIGlmICghYS5pc1plcm8oKSkge1xcbiAgICAgICAgICBhLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmIChxKSB7XFxuICAgICAgICBxLndvcmRzW2pdID0gcWo7XFxuICAgICAgfVxcbiAgICB9XFxuICAgIGlmIChxKSB7XFxuICAgICAgcS5zdHJpcCgpO1xcbiAgICB9XFxuICAgIGEuc3RyaXAoKTtcXG5cXG4gICAgLy8gRGVub3JtYWxpemVcXG4gICAgaWYgKG1vZGUgIT09ICdkaXYnICYmIHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYS5pdXNocm4oc2hpZnQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgZGl2OiBxIHx8IG51bGwsXFxuICAgICAgbW9kOiBhXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gTk9URTogMSkgYG1vZGVgIGNhbiBiZSBzZXQgdG8gYG1vZGAgdG8gcmVxdWVzdCBtb2Qgb25seSxcXG4gIC8vICAgICAgIHRvIGBkaXZgIHRvIHJlcXVlc3QgZGl2IG9ubHksIG9yIGJlIGFic2VudCB0b1xcbiAgLy8gICAgICAgcmVxdWVzdCBib3RoIGRpdiAmIG1vZFxcbiAgLy8gICAgICAgMikgYHBvc2l0aXZlYCBpcyB0cnVlIGlmIHVuc2lnbmVkIG1vZCBpcyByZXF1ZXN0ZWRcXG4gIEJOLnByb3RvdHlwZS5kaXZtb2QgPSBmdW5jdGlvbiBkaXZtb2QgKG51bSwgbW9kZSwgcG9zaXRpdmUpIHtcXG4gICAgYXNzZXJ0KCFudW0uaXNaZXJvKCkpO1xcblxcbiAgICBpZiAodGhpcy5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogbmV3IEJOKDApXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICB2YXIgZGl2LCBtb2QsIHJlcztcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlhZGQobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgICBkaXYgPSByZXMuZGl2Lm5lZygpO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IHJlcy5tb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGlmICgodGhpcy5uZWdhdGl2ZSAmIG51bS5uZWdhdGl2ZSkgIT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcXG4gICAgICAgIGlmIChwb3NpdGl2ZSAmJiBtb2QubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgICAgbW9kLmlzdWIobnVtKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogcmVzLmRpdixcXG4gICAgICAgIG1vZDogbW9kXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICAvLyBCb3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlIGF0IHRoaXMgcG9pbnRcXG5cXG4gICAgLy8gU3RyaXAgYm90aCBudW1iZXJzIHRvIGFwcHJveGltYXRlIHNoaWZ0IHZhbHVlXFxuICAgIGlmIChudW0ubGVuZ3RoID4gdGhpcy5sZW5ndGggfHwgdGhpcy5jbXAobnVtKSA8IDApIHtcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXFxuICAgICAgICBtb2Q6IHRoaXNcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIFZlcnkgc2hvcnQgcmVkdWN0aW9uXFxuICAgIGlmIChudW0ubGVuZ3RoID09PSAxKSB7XFxuICAgICAgaWYgKG1vZGUgPT09ICdkaXYnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgICBtb2Q6IG51bGxcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChtb2RlID09PSAnbW9kJykge1xcbiAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgZGl2OiBudWxsLFxcbiAgICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICAgIH07XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IHRoaXMuZGl2bihudW0ud29yZHNbMF0pLFxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RuKG51bS53b3Jkc1swXSkpXFxuICAgICAgfTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5fd29yZERpdihudW0sIG1vZGUpO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgIC8gYG51bWBcXG4gIEJOLnByb3RvdHlwZS5kaXYgPSBmdW5jdGlvbiBkaXYgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnZGl2JywgZmFsc2UpLmRpdjtcXG4gIH07XFxuXFxuICAvLyBGaW5kIGB0aGlzYCAlIGBudW1gXFxuICBCTi5wcm90b3R5cGUubW9kID0gZnVuY3Rpb24gbW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIGZhbHNlKS5tb2Q7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVtb2QgPSBmdW5jdGlvbiB1bW9kIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ21vZCcsIHRydWUpLm1vZDtcXG4gIH07XFxuXFxuICAvLyBGaW5kIFJvdW5kKGB0aGlzYCAvIGBudW1gKVxcbiAgQk4ucHJvdG90eXBlLmRpdlJvdW5kID0gZnVuY3Rpb24gZGl2Um91bmQgKG51bSkge1xcbiAgICB2YXIgZG0gPSB0aGlzLmRpdm1vZChudW0pO1xcblxcbiAgICAvLyBGYXN0IGNhc2UgLSBleGFjdCBkaXZpc2lvblxcbiAgICBpZiAoZG0ubW9kLmlzWmVybygpKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICB2YXIgbW9kID0gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0ubW9kLmlzdWIobnVtKSA6IGRtLm1vZDtcXG5cXG4gICAgdmFyIGhhbGYgPSBudW0udXNocm4oMSk7XFxuICAgIHZhciByMiA9IG51bS5hbmRsbigxKTtcXG4gICAgdmFyIGNtcCA9IG1vZC5jbXAoaGFsZik7XFxuXFxuICAgIC8vIFJvdW5kIGRvd25cXG4gICAgaWYgKGNtcCA8IDAgfHwgcjIgPT09IDEgJiYgY21wID09PSAwKSByZXR1cm4gZG0uZGl2O1xcblxcbiAgICAvLyBSb3VuZCB1cFxcbiAgICByZXR1cm4gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0uZGl2LmlzdWJuKDEpIDogZG0uZGl2LmlhZGRuKDEpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tb2RuID0gZnVuY3Rpb24gbW9kbiAobnVtKSB7XFxuICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmKTtcXG4gICAgdmFyIHAgPSAoMSA8PCAyNikgJSBudW07XFxuXFxuICAgIHZhciBhY2MgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIGFjYyA9IChwICogYWNjICsgKHRoaXMud29yZHNbaV0gfCAwKSkgJSBudW07XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGFjYztcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBkaXZpc2lvbiBieSBudW1iZXJcXG4gIEJOLnByb3RvdHlwZS5pZGl2biA9IGZ1bmN0aW9uIGlkaXZuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSArIGNhcnJ5ICogMHg0MDAwMDAwO1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSAodyAvIG51bSkgfCAwO1xcbiAgICAgIGNhcnJ5ID0gdyAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5kaXZuID0gZnVuY3Rpb24gZGl2biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWRpdm4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZWdjZCA9IGZ1bmN0aW9uIGVnY2QgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgeCA9IHRoaXM7XFxuICAgIHZhciB5ID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoeC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHggPSB4LnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgeCA9IHguY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICAvLyBBICogeCArIEIgKiB5ID0geFxcbiAgICB2YXIgQSA9IG5ldyBCTigxKTtcXG4gICAgdmFyIEIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIC8vIEMgKiB4ICsgRCAqIHkgPSB5XFxuICAgIHZhciBDID0gbmV3IEJOKDApO1xcbiAgICB2YXIgRCA9IG5ldyBCTigxKTtcXG5cXG4gICAgdmFyIGcgPSAwO1xcblxcbiAgICB3aGlsZSAoeC5pc0V2ZW4oKSAmJiB5LmlzRXZlbigpKSB7XFxuICAgICAgeC5pdXNocm4oMSk7XFxuICAgICAgeS5pdXNocm4oMSk7XFxuICAgICAgKytnO1xcbiAgICB9XFxuXFxuICAgIHZhciB5cCA9IHkuY2xvbmUoKTtcXG4gICAgdmFyIHhwID0geC5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoIXguaXNaZXJvKCkpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMCwgaW0gPSAxOyAoeC53b3Jkc1swXSAmIGltKSA9PT0gMCAmJiBpIDwgMjY7ICsraSwgaW0gPDw9IDEpO1xcbiAgICAgIGlmIChpID4gMCkge1xcbiAgICAgICAgeC5pdXNocm4oaSk7XFxuICAgICAgICB3aGlsZSAoaS0tID4gMCkge1xcbiAgICAgICAgICBpZiAoQS5pc09kZCgpIHx8IEIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIEEuaWFkZCh5cCk7XFxuICAgICAgICAgICAgQi5pc3ViKHhwKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBBLml1c2hybigxKTtcXG4gICAgICAgICAgQi5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7ICh5LndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICB5Lml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChDLmlzT2RkKCkgfHwgRC5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQy5pYWRkKHlwKTtcXG4gICAgICAgICAgICBELmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEMuaXVzaHJuKDEpO1xcbiAgICAgICAgICBELml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHguY21wKHkpID49IDApIHtcXG4gICAgICAgIHguaXN1Yih5KTtcXG4gICAgICAgIEEuaXN1YihDKTtcXG4gICAgICAgIEIuaXN1YihEKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgeS5pc3ViKHgpO1xcbiAgICAgICAgQy5pc3ViKEEpO1xcbiAgICAgICAgRC5pc3ViKEIpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4ge1xcbiAgICAgIGE6IEMsXFxuICAgICAgYjogRCxcXG4gICAgICBnY2Q6IHkuaXVzaGxuKGcpXFxuICAgIH07XFxuICB9O1xcblxcbiAgLy8gVGhpcyBpcyByZWR1Y2VkIGluY2FybmF0aW9uIG9mIHRoZSBiaW5hcnkgRUVBXFxuICAvLyBhYm92ZSwgZGVzaWduYXRlZCB0byBpbnZlcnQgbWVtYmVycyBvZiB0aGVcXG4gIC8vIF9wcmltZV8gZmllbGRzIEYocCkgYXQgYSBtYXhpbWFsIHNwZWVkXFxuICBCTi5wcm90b3R5cGUuX2ludm1wID0gZnVuY3Rpb24gX2ludm1wIChwKSB7XFxuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgYXNzZXJ0KCFwLmlzWmVybygpKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzO1xcbiAgICB2YXIgYiA9IHAuY2xvbmUoKTtcXG5cXG4gICAgaWYgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBhID0gYS51bW9kKHApO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGEgPSBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHgxID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgeDIgPSBuZXcgQk4oMCk7XFxuXFxuICAgIHZhciBkZWx0YSA9IGIuY2xvbmUoKTtcXG5cXG4gICAgd2hpbGUgKGEuY21wbigxKSA+IDAgJiYgYi5jbXBuKDEpID4gMCkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7IChhLndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICBhLml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4MS5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDEuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDEuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoYi53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xcbiAgICAgIGlmIChqID4gMCkge1xcbiAgICAgICAgYi5pdXNocm4oaik7XFxuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xcbiAgICAgICAgICBpZiAoeDIuaXNPZGQoKSkge1xcbiAgICAgICAgICAgIHgyLmlhZGQoZGVsdGEpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHgyLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGEuY21wKGIpID49IDApIHtcXG4gICAgICAgIGEuaXN1YihiKTtcXG4gICAgICAgIHgxLmlzdWIoeDIpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBiLmlzdWIoYSk7XFxuICAgICAgICB4Mi5pc3ViKHgxKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKGEuY21wbigxKSA9PT0gMCkge1xcbiAgICAgIHJlcyA9IHgxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlcyA9IHgyO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZChwKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5nY2QgPSBmdW5jdGlvbiBnY2QgKG51bSkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIG51bS5hYnMoKTtcXG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIHRoaXMuYWJzKCk7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bS5jbG9uZSgpO1xcbiAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgYi5uZWdhdGl2ZSA9IDA7XFxuXFxuICAgIC8vIFJlbW92ZSBjb21tb24gZmFjdG9yIG9mIHR3b1xcbiAgICBmb3IgKHZhciBzaGlmdCA9IDA7IGEuaXNFdmVuKCkgJiYgYi5pc0V2ZW4oKTsgc2hpZnQrKykge1xcbiAgICAgIGEuaXVzaHJuKDEpO1xcbiAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICB9XFxuXFxuICAgIGRvIHtcXG4gICAgICB3aGlsZSAoYS5pc0V2ZW4oKSkge1xcbiAgICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChiLmlzRXZlbigpKSB7XFxuICAgICAgICBiLml1c2hybigxKTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIHIgPSBhLmNtcChiKTtcXG4gICAgICBpZiAociA8IDApIHtcXG4gICAgICAgIC8vIFN3YXAgYGFgIGFuZCBgYmAgdG8gbWFrZSBgYWAgYWx3YXlzIGJpZ2dlciB0aGFuIGBiYFxcbiAgICAgICAgdmFyIHQgPSBhO1xcbiAgICAgICAgYSA9IGI7XFxuICAgICAgICBiID0gdDtcXG4gICAgICB9IGVsc2UgaWYgKHIgPT09IDAgfHwgYi5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgYS5pc3ViKGIpO1xcbiAgICB9IHdoaWxlICh0cnVlKTtcXG5cXG4gICAgcmV0dXJuIGIuaXVzaGxuKHNoaWZ0KTtcXG4gIH07XFxuXFxuICAvLyBJbnZlcnQgbnVtYmVyIGluIHRoZSBmaWVsZCBGKG51bSlcXG4gIEJOLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmVnY2QobnVtKS5hLnVtb2QobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNFdmVuID0gZnVuY3Rpb24gaXNFdmVuICgpIHtcXG4gICAgcmV0dXJuICh0aGlzLndvcmRzWzBdICYgMSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzT2RkID0gZnVuY3Rpb24gaXNPZGQgKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMTtcXG4gIH07XFxuXFxuICAvLyBBbmQgZmlyc3Qgd29yZCBhbmQgbnVtXFxuICBCTi5wcm90b3R5cGUuYW5kbG4gPSBmdW5jdGlvbiBhbmRsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLndvcmRzWzBdICYgbnVtO1xcbiAgfTtcXG5cXG4gIC8vIEluY3JlbWVudCBhdCB0aGUgYml0IHBvc2l0aW9uIGluLWxpbmVcXG4gIEJOLnByb3RvdHlwZS5iaW5jbiA9IGZ1bmN0aW9uIGJpbmNuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSB7XFxuICAgICAgdGhpcy5fZXhwYW5kKHMgKyAxKTtcXG4gICAgICB0aGlzLndvcmRzW3NdIHw9IHE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIGJpdCBhbmQgcHJvcGFnYXRlLCBpZiBuZWVkZWRcXG4gICAgdmFyIGNhcnJ5ID0gcTtcXG4gICAgZm9yICh2YXIgaSA9IHM7IGNhcnJ5ICE9PSAwICYmIGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB3ICs9IGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+Pj4gMjY7XFxuICAgICAgdyAmPSAweDNmZmZmZmY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHc7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzWmVybyA9IGZ1bmN0aW9uIGlzWmVybyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbXBuID0gZnVuY3Rpb24gY21wbiAobnVtKSB7XFxuICAgIHZhciBuZWdhdGl2ZSA9IG51bSA8IDA7XFxuXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmICFuZWdhdGl2ZSkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBuZWdhdGl2ZSkgcmV0dXJuIDE7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgdmFyIHJlcztcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gMSkge1xcbiAgICAgIHJlcyA9IDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKG5lZ2F0aXZlKSB7XFxuICAgICAgICBudW0gPSAtbnVtO1xcbiAgICAgIH1cXG5cXG4gICAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZiwgJ051bWJlciBpcyB0b28gYmlnJyk7XFxuXFxuICAgICAgdmFyIHcgPSB0aGlzLndvcmRzWzBdIHwgMDtcXG4gICAgICByZXMgPSB3ID09PSBudW0gPyAwIDogdyA8IG51bSA/IC0xIDogMTtcXG4gICAgfVxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIC1yZXMgfCAwO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vIENvbXBhcmUgdHdvIG51bWJlcnMgYW5kIHJldHVybjpcXG4gIC8vIDEgLSBpZiBgdGhpc2AgPiBgbnVtYFxcbiAgLy8gMCAtIGlmIGB0aGlzYCA9PSBgbnVtYFxcbiAgLy8gLTEgLSBpZiBgdGhpc2AgPCBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmNtcCA9IGZ1bmN0aW9uIGNtcCAobnVtKSB7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkgcmV0dXJuIC0xO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHJldHVybiAxO1xcblxcbiAgICB2YXIgcmVzID0gdGhpcy51Y21wKG51bSk7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gVW5zaWduZWQgY29tcGFyaXNvblxcbiAgQk4ucHJvdG90eXBlLnVjbXAgPSBmdW5jdGlvbiB1Y21wIChudW0pIHtcXG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgaGF2ZSB0aGUgc2FtZSBzaWduXFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiAxO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSByZXR1cm4gLTE7XFxuXFxuICAgIHZhciByZXMgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciBhID0gdGhpcy53b3Jkc1tpXSB8IDA7XFxuICAgICAgdmFyIGIgPSBudW0ud29yZHNbaV0gfCAwO1xcblxcbiAgICAgIGlmIChhID09PSBiKSBjb250aW51ZTtcXG4gICAgICBpZiAoYSA8IGIpIHtcXG4gICAgICAgIHJlcyA9IC0xO1xcbiAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcXG4gICAgICAgIHJlcyA9IDE7XFxuICAgICAgfVxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0biA9IGZ1bmN0aW9uIGd0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3QgPSBmdW5jdGlvbiBndCAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGVuID0gZnVuY3Rpb24gZ3RlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndGUgPSBmdW5jdGlvbiBndGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA+PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdG4gPSBmdW5jdGlvbiBsdG4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdCA9IGZ1bmN0aW9uIGx0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IC0xO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGVuID0gZnVuY3Rpb24gbHRlbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5sdGUgPSBmdW5jdGlvbiBsdGUgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA8PSAwO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lcW4gPSBmdW5jdGlvbiBlcW4gKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQSByZWR1Y2UgY29udGV4dCwgY291bGQgYmUgdXNpbmcgbW9udGdvbWVyeSBvciBzb21ldGhpbmcgYmV0dGVyLCBkZXBlbmRpbmdcXG4gIC8vIG9uIHRoZSBgbWAgaXRzZWxmLlxcbiAgLy9cXG4gIEJOLnJlZCA9IGZ1bmN0aW9uIHJlZCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgUmVkKG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvUmVkID0gZnVuY3Rpb24gdG9SZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIHJldHVybiBjdHguY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tUmVkID0gZnVuY3Rpb24gZnJvbVJlZCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ2Zyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fZm9yY2VSZWQgPSBmdW5jdGlvbiBfZm9yY2VSZWQgKGN0eCkge1xcbiAgICB0aGlzLnJlZCA9IGN0eDtcXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZvcmNlUmVkID0gZnVuY3Rpb24gZm9yY2VSZWQgKGN0eCkge1xcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5fZm9yY2VSZWQoY3R4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkQWRkID0gZnVuY3Rpb24gcmVkQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuYWRkKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElBZGQgPSBmdW5jdGlvbiByZWRJQWRkIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3ViID0gZnVuY3Rpb24gcmVkU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3ViKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElTdWIgPSBmdW5jdGlvbiByZWRJU3ViIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU2hsID0gZnVuY3Rpb24gcmVkU2hsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZE11bCA9IGZ1bmN0aW9uIHJlZE11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJTXVsID0gZnVuY3Rpb24gcmVkSU11bCAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTIodGhpcywgbnVtKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmltdWwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkU3FyID0gZnVuY3Rpb24gcmVkU3FyICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcih0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVNxciA9IGZ1bmN0aW9uIHJlZElTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3F1YXJlIHJvb3Qgb3ZlciBwXFxuICBCTi5wcm90b3R5cGUucmVkU3FydCA9IGZ1bmN0aW9uIHJlZFNxcnQgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcnQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZEludm0gPSBmdW5jdGlvbiByZWRJbnZtICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5pbnZtKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBuZWdhdGl2ZSBjbG9uZSBvZiBgdGhpc2AgJSBgcmVkIG1vZHVsb2BcXG4gIEJOLnByb3RvdHlwZS5yZWROZWcgPSBmdW5jdGlvbiByZWROZWcgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubmVnKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRQb3cgPSBmdW5jdGlvbiByZWRQb3cgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQgJiYgIW51bS5yZWQsICdyZWRQb3cobm9ybWFsTnVtKScpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLnBvdyh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIC8vIFByaW1lIG51bWJlcnMgd2l0aCBlZmZpY2llbnQgcmVkdWN0aW9uXFxuICB2YXIgcHJpbWVzID0ge1xcbiAgICBrMjU2OiBudWxsLFxcbiAgICBwMjI0OiBudWxsLFxcbiAgICBwMTkyOiBudWxsLFxcbiAgICBwMjU1MTk6IG51bGxcXG4gIH07XFxuXFxuICAvLyBQc2V1ZG8tTWVyc2VubmUgcHJpbWVcXG4gIGZ1bmN0aW9uIE1QcmltZSAobmFtZSwgcCkge1xcbiAgICAvLyBQID0gMiBeIE4gLSBLXFxuICAgIHRoaXMubmFtZSA9IG5hbWU7XFxuICAgIHRoaXMucCA9IG5ldyBCTihwLCAxNik7XFxuICAgIHRoaXMubiA9IHRoaXMucC5iaXRMZW5ndGgoKTtcXG4gICAgdGhpcy5rID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKTtcXG5cXG4gICAgdGhpcy50bXAgPSB0aGlzLl90bXAoKTtcXG4gIH1cXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuX3RtcCA9IGZ1bmN0aW9uIF90bXAgKCkge1xcbiAgICB2YXIgdG1wID0gbmV3IEJOKG51bGwpO1xcbiAgICB0bXAud29yZHMgPSBuZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubiAvIDEzKSk7XFxuICAgIHJldHVybiB0bXA7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pcmVkdWNlID0gZnVuY3Rpb24gaXJlZHVjZSAobnVtKSB7XFxuICAgIC8vIEFzc3VtZXMgdGhhdCBgbnVtYCBpcyBsZXNzIHRoYW4gYFBeMmBcXG4gICAgLy8gbnVtID0gSEkgKiAoMiBeIE4gLSBLKSArIEhJICogSyArIExPID0gSEkgKiBLICsgTE8gKG1vZCBQKVxcbiAgICB2YXIgciA9IG51bTtcXG4gICAgdmFyIHJsZW47XFxuXFxuICAgIGRvIHtcXG4gICAgICB0aGlzLnNwbGl0KHIsIHRoaXMudG1wKTtcXG4gICAgICByID0gdGhpcy5pbXVsSyhyKTtcXG4gICAgICByID0gci5pYWRkKHRoaXMudG1wKTtcXG4gICAgICBybGVuID0gci5iaXRMZW5ndGgoKTtcXG4gICAgfSB3aGlsZSAocmxlbiA+IHRoaXMubik7XFxuXFxuICAgIHZhciBjbXAgPSBybGVuIDwgdGhpcy5uID8gLTEgOiByLnVjbXAodGhpcy5wKTtcXG4gICAgaWYgKGNtcCA9PT0gMCkge1xcbiAgICAgIHIud29yZHNbMF0gPSAwO1xcbiAgICAgIHIubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChjbXAgPiAwKSB7XFxuICAgICAgci5pc3ViKHRoaXMucCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgci5zdHJpcCgpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xcbiAgICBpbnB1dC5pdXNocm4odGhpcy5uLCAwLCBvdXQpO1xcbiAgfTtcXG5cXG4gIE1QcmltZS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIHJldHVybiBudW0uaW11bCh0aGlzLmspO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIEsyNTYgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdrMjU2JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcXG4gIH1cXG4gIGluaGVyaXRzKEsyNTYsIE1QcmltZSk7XFxuXFxuICBLMjU2LnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0cHV0KSB7XFxuICAgIC8vIDI1NiA9IDkgKiAyNiArIDIyXFxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XFxuXFxuICAgIHZhciBvdXRMZW4gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIDkpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XFxuICAgICAgb3V0cHV0LndvcmRzW2ldID0gaW5wdXQud29yZHNbaV07XFxuICAgIH1cXG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcXG5cXG4gICAgaWYgKGlucHV0Lmxlbmd0aCA8PSA5KSB7XFxuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xcbiAgICAgIGlucHV0Lmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIFNoaWZ0IGJ5IDkgbGltYnNcXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcXG4gICAgb3V0cHV0LndvcmRzW291dHB1dC5sZW5ndGgrK10gPSBwcmV2ICYgbWFzaztcXG5cXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBuZXh0ID0gaW5wdXQud29yZHNbaV0gfCAwO1xcbiAgICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSAoKG5leHQgJiBtYXNrKSA8PCA0KSB8IChwcmV2ID4+PiAyMik7XFxuICAgICAgcHJldiA9IG5leHQ7XFxuICAgIH1cXG4gICAgcHJldiA+Pj49IDIyO1xcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcXG4gICAgaWYgKHByZXYgPT09IDAgJiYgaW5wdXQubGVuZ3RoID4gMTApIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gMTA7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5wdXQubGVuZ3RoIC09IDk7XFxuICAgIH1cXG4gIH07XFxuXFxuICBLMjU2LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoXSA9IDA7XFxuICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoICsgMV0gPSAwO1xcbiAgICBudW0ubGVuZ3RoICs9IDI7XFxuXFxuICAgIC8vIGJvdW5kZWQgYXQ6IDB4NDAgKiAweDNmZmZmZmYgKyAweDNkMCA9IDB4MTAwMDAwMzkwXFxuICAgIHZhciBsbyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHcgPSBudW0ud29yZHNbaV0gfCAwO1xcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcXG4gICAgICBudW0ud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcXG4gICAgICBsbyA9IHcgKiAweDQwICsgKChsbyAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgfVxcblxcbiAgICAvLyBGYXN0IGxlbmd0aCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICBudW0ubGVuZ3RoLS07XFxuICAgICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiBQMjI0ICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDIyNCcsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDE5MiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ3AxOTInLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDE5MiwgTVByaW1lKTtcXG5cXG4gIGZ1bmN0aW9uIFAyNTUxOSAoKSB7XFxuICAgIC8vIDIgXiAyNTUgLSAxOVxcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICcyNTUxOScsXFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyNTUxOSwgTVByaW1lKTtcXG5cXG4gIFAyNTUxOS5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XFxuICAgIC8vIEsgPSAweDEzXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGhpID0gKG51bS53b3Jkc1tpXSB8IDApICogMHgxMyArIGNhcnJ5O1xcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xcbiAgICAgIGhpID4+Pj0gMjY7XFxuXFxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XFxuICAgICAgY2FycnkgPSBoaTtcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICBudW0ud29yZHNbbnVtLmxlbmd0aCsrXSA9IGNhcnJ5O1xcbiAgICB9XFxuICAgIHJldHVybiBudW07XFxuICB9O1xcblxcbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXFxuICBCTi5fcHJpbWUgPSBmdW5jdGlvbiBwcmltZSAobmFtZSkge1xcbiAgICAvLyBDYWNoZWQgdmVyc2lvbiBvZiBwcmltZVxcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xcblxcbiAgICB2YXIgcHJpbWU7XFxuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcXG4gICAgICBwcmltZSA9IG5ldyBLMjU2KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AyMjQnKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMTkyJykge1xcbiAgICAgIHByaW1lID0gbmV3IFAxOTIoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xcbiAgICAgIHByaW1lID0gbmV3IFAyNTUxOSgpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XFxuICAgIH1cXG4gICAgcHJpbWVzW25hbWVdID0gcHJpbWU7XFxuXFxuICAgIHJldHVybiBwcmltZTtcXG4gIH07XFxuXFxuICAvL1xcbiAgLy8gQmFzZSByZWR1Y3Rpb24gZW5naW5lXFxuICAvL1xcbiAgZnVuY3Rpb24gUmVkIChtKSB7XFxuICAgIGlmICh0eXBlb2YgbSA9PT0gJ3N0cmluZycpIHtcXG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XFxuICAgICAgdGhpcy5tID0gcHJpbWUucDtcXG4gICAgICB0aGlzLnByaW1lID0gcHJpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG0uZ3RuKDEpLCAnbW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxJyk7XFxuICAgICAgdGhpcy5tID0gbTtcXG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MSA9IGZ1bmN0aW9uIF92ZXJpZnkxIChhKSB7XFxuICAgIGFzc2VydChhLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xcbiAgICBhc3NlcnQoKGEubmVnYXRpdmUgfCBiLm5lZ2F0aXZlKSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XFxuICAgIGFzc2VydChhLnJlZCAmJiBhLnJlZCA9PT0gYi5yZWQsXFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XFxuICAgIGlmICh0aGlzLnByaW1lKSByZXR1cm4gdGhpcy5wcmltZS5pcmVkdWNlKGEpLl9mb3JjZVJlZCh0aGlzKTtcXG4gICAgcmV0dXJuIGEudW1vZCh0aGlzLm0pLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkge1xcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlhZGQgPSBmdW5jdGlvbiBpYWRkIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLmlhZGQoYik7XFxuICAgIGlmIChyZXMuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnN1YiA9IGZ1bmN0aW9uIHN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5zdWIoYik7XFxuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNobCA9IGZ1bmN0aW9uIHNobCAoYSwgbnVtKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTEoYSk7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5pbXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEubXVsKGIpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmlzcXIgPSBmdW5jdGlvbiBpc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLmltdWwoYSwgYS5jbG9uZSgpKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxciA9IGZ1bmN0aW9uIHNxciAoYSkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xcbiAgICBpZiAoYS5pc1plcm8oKSkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XFxuICAgIGFzc2VydChtb2QzICUgMiA9PT0gMSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZVxcbiAgICBpZiAobW9kMyA9PT0gMykge1xcbiAgICAgIHZhciBwb3cgPSB0aGlzLm0uYWRkKG5ldyBCTigxKSkuaXVzaHJuKDIpO1xcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xcbiAgICB9XFxuXFxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcXG4gICAgLy9cXG4gICAgLy8gRmluZCBRIGFuZCBTLCB0aGF0IFEgKiAyIF4gUyA9IChQIC0gMSlcXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcXG4gICAgdmFyIHMgPSAwO1xcbiAgICB3aGlsZSAoIXEuaXNaZXJvKCkgJiYgcS5hbmRsbigxKSA9PT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgICBxLml1c2hybigxKTtcXG4gICAgfVxcbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgb25lID0gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcXG5cXG4gICAgLy8gRmluZCBxdWFkcmF0aWMgbm9uLXJlc2lkdWVcXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXFxuICAgIHZhciBscG93ID0gdGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpO1xcbiAgICB2YXIgeiA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xcblxcbiAgICB3aGlsZSAodGhpcy5wb3coeiwgbHBvdykuY21wKG5PbmUpICE9PSAwKSB7XFxuICAgICAgei5yZWRJQWRkKG5PbmUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XFxuICAgIHZhciByID0gdGhpcy5wb3coYSwgcS5hZGRuKDEpLml1c2hybigxKSk7XFxuICAgIHZhciB0ID0gdGhpcy5wb3coYSwgcSk7XFxuICAgIHZhciBtID0gcztcXG4gICAgd2hpbGUgKHQuY21wKG9uZSkgIT09IDApIHtcXG4gICAgICB2YXIgdG1wID0gdDtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcXG4gICAgICAgIHRtcCA9IHRtcC5yZWRTcXIoKTtcXG4gICAgICB9XFxuICAgICAgYXNzZXJ0KGkgPCBtKTtcXG4gICAgICB2YXIgYiA9IHRoaXMucG93KGMsIG5ldyBCTigxKS5pdXNobG4obSAtIGkgLSAxKSk7XFxuXFxuICAgICAgciA9IHIucmVkTXVsKGIpO1xcbiAgICAgIGMgPSBiLnJlZFNxcigpO1xcbiAgICAgIHQgPSB0LnJlZE11bChjKTtcXG4gICAgICBtID0gaTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIHZhciBpbnYgPSBhLl9pbnZtcCh0aGlzLm0pO1xcbiAgICBpZiAoaW52Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludikucmVkTmVnKCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKGEsIG51bSkge1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDEpLnRvUmVkKHRoaXMpO1xcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XFxuXFxuICAgIHZhciB3aW5kb3dTaXplID0gNDtcXG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xcbiAgICB3bmRbMF0gPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHduZFsxXSA9IGE7XFxuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgd25kW2ldID0gdGhpcy5tdWwod25kW2kgLSAxXSwgYSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlcyA9IHduZFswXTtcXG4gICAgdmFyIGN1cnJlbnQgPSAwO1xcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XFxuICAgIHZhciBzdGFydCA9IG51bS5iaXRMZW5ndGgoKSAlIDI2O1xcbiAgICBpZiAoc3RhcnQgPT09IDApIHtcXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xcbiAgICAgIHZhciB3b3JkID0gbnVtLndvcmRzW2ldO1xcbiAgICAgIGZvciAodmFyIGogPSBzdGFydCAtIDE7IGogPj0gMDsgai0tKSB7XFxuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xcbiAgICAgICAgaWYgKHJlcyAhPT0gd25kWzBdKSB7XFxuICAgICAgICAgIHJlcyA9IHRoaXMuc3FyKHJlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoYml0ID09PSAwICYmIGN1cnJlbnQgPT09IDApIHtcXG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY3VycmVudCA8PD0gMTtcXG4gICAgICAgIGN1cnJlbnQgfD0gYml0O1xcbiAgICAgICAgY3VycmVudExlbisrO1xcbiAgICAgICAgaWYgKGN1cnJlbnRMZW4gIT09IHdpbmRvd1NpemUgJiYgKGkgIT09IDAgfHwgaiAhPT0gMCkpIGNvbnRpbnVlO1xcblxcbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xcbiAgICAgICAgY3VycmVudExlbiA9IDA7XFxuICAgICAgICBjdXJyZW50ID0gMDtcXG4gICAgICB9XFxuICAgICAgc3RhcnQgPSAyNjtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgdmFyIHIgPSBudW0udW1vZCh0aGlzLm0pO1xcblxcbiAgICByZXR1cm4gciA9PT0gbnVtID8gci5jbG9uZSgpIDogcjtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgcmVzID0gbnVtLmNsb25lKCk7XFxuICAgIHJlcy5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBNb250Z29tZXJ5IG1ldGhvZCBlbmdpbmVcXG4gIC8vXFxuXFxuICBCTi5tb250ID0gZnVuY3Rpb24gbW9udCAobnVtKSB7XFxuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcXG4gICAgUmVkLmNhbGwodGhpcywgbSk7XFxuXFxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XFxuICAgIGlmICh0aGlzLnNoaWZ0ICUgMjYgIT09IDApIHtcXG4gICAgICB0aGlzLnNoaWZ0ICs9IDI2IC0gKHRoaXMuc2hpZnQgJSAyNik7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5yID0gbmV3IEJOKDEpLml1c2hsbih0aGlzLnNoaWZ0KTtcXG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xcbiAgICB0aGlzLnJpbnYgPSB0aGlzLnIuX2ludm1wKHRoaXMubSk7XFxuXFxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5taW52LnVtb2QodGhpcy5yKTtcXG4gICAgdGhpcy5taW52ID0gdGhpcy5yLnN1Yih0aGlzLm1pbnYpO1xcbiAgfVxcbiAgaW5oZXJpdHMoTW9udCwgUmVkKTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmltb2QobnVtLnVzaGxuKHRoaXMuc2hpZnQpKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5jb252ZXJ0RnJvbSA9IGZ1bmN0aW9uIGNvbnZlcnRGcm9tIChudW0pIHtcXG4gICAgdmFyIHIgPSB0aGlzLmltb2QobnVtLm11bCh0aGlzLnJpbnYpKTtcXG4gICAgci5yZWQgPSBudWxsO1xcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSB7XFxuICAgICAgYS53b3Jkc1swXSA9IDA7XFxuICAgICAgYS5sZW5ndGggPSAxO1xcbiAgICAgIHJldHVybiBhO1xcbiAgICB9XFxuXFxuICAgIHZhciB0ID0gYS5pbXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcblxcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAoYSwgYikge1xcbiAgICBpZiAoYS5pc1plcm8oKSB8fCBiLmlzWmVybygpKSByZXR1cm4gbmV3IEJOKDApLl9mb3JjZVJlZCh0aGlzKTtcXG5cXG4gICAgdmFyIHQgPSBhLm11bChiKTtcXG4gICAgdmFyIGMgPSB0Lm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKTtcXG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xcbiAgICB2YXIgcmVzID0gdTtcXG4gICAgaWYgKHUuY21wKHRoaXMubSkgPj0gMCkge1xcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xcbiAgICB9IGVsc2UgaWYgKHUuY21wbigwKSA8IDApIHtcXG4gICAgICByZXMgPSB1LmlhZGQodGhpcy5tKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxuXFxuICBNb250LnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAoYSkge1xcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXFxuICAgIHZhciByZXMgPSB0aGlzLmltb2QoYS5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpO1xcbiAgICByZXR1cm4gcmVzLl9mb3JjZVJlZCh0aGlzKTtcXG4gIH07XFxufSkoIGZhbHNlIHx8IG1vZHVsZSwgdGhpcyk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vd2VicGFjay9idWlsZGluL21vZHVsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1xcXCIpKG1vZHVsZSkpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5dWIyUmxYMjF2WkhWc1pYTXZZbTR1YW5NdmJHbGlMMkp1TG1welAyTTVOMklpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1lVRkJZU3h0UWtGQlR5eERRVUZETEdkQ1FVRlJPMEZCUXpkQ0xFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeDNRMEZCZDBNN1FVRkRlRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4M1EwRkJkME1zVVVGQlVUdEJRVU5vUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c2QwSkJRWGRDTEcxQ1FVRnRRanRCUVVNelF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRk5CUVZNN1FVRkRhRU03TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2MwTkJRWE5ETEZsQlFWazdRVUZEYkVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxITkRRVUZ6UXl4elFrRkJjMEk3UVVGRE5VUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTEZOQlFWTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZDUVVGeFFpeHBRa0ZCYVVJN1FVRkRkRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpdzBRa0ZCTkVJN1FVRkROME03UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NhVUpCUVdsQ0xHRkJRV0U3UVVGRE9VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEZsQlFWa3NaVUZCWlR0QlFVTXpRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSXNaMEpCUVdkQ08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNOa0pCUVRaQ08wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMR05CUVdNN1FVRkRha003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZMRFpDUVVFMlFqdEJRVU4yUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVTBGQlV6dEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVMRmRCUVZjN1FVRkRMMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2IwSkJRVzlDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RVFVRnZSQ3hYUVVGWE8wRkJReTlFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVDBGQlR6dEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRWRCUVVjN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ096dEJRVVZCTEd0RFFVRnJRenRCUVVOc1F5eHpRMEZCYzBNN1FVRkRkRU03TzBGQlJVRTdRVUZEUVN4eFFrRkJjVUlzVDBGQlR6dEJRVU0xUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHTkJRV003UVVGRE0wTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEN0Q1FVRXJRaXhSUVVGUk8wRkJRM1pETzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxHbENRVUZwUWl4cFFrRkJhVUk3UVVGRGJFTTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpd3JRMEZCSzBNN1FVRkRiRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNjVUpCUVhGQ0xITkRRVUZ6UXp0QlFVTXpSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc1owSkJRV2RDTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNlVUpCUVhsQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc2FVSkJRV2xDTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4alFVRmpPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVVVGQlVUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVOQlFXbERMRkZCUVZFN1FVRkRla003UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xEQkNRVUV3UWp0QlFVTnFSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owTkJRV2RETzBGQlEyNUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTXNVVUZCVVR0QlFVTjZRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzV1VGQldUdEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaMEpCUVdkQ0xHdENRVUZyUWp0QlFVTnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEc5Q1FVRnZRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERSQ1FVRTBRaXhSUVVGUk8wRkJRM0JETzBGQlEwRXNOa0pCUVRaQ0xGRkJRVkU3UVVGRGNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlVGQlJTeE5RVUUyUWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlsYkd4cGNIUnBZeTl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lLR1oxYm1OMGFXOXVJQ2h0YjJSMWJHVXNJR1Y0Y0c5eWRITXBJSHRjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHZJRlYwYVd4elhHNGdJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDQW9kbUZzTENCdGMyY3BJSHRjYmlBZ0lDQnBaaUFvSVhaaGJDa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeUI4ZkNBblFYTnpaWEowYVc5dUlHWmhhV3hsWkNjcE8xeHVJQ0I5WEc1Y2JpQWdMeThnUTI5MWJHUWdkWE5sSUdCcGJtaGxjbWwwYzJBZ2JXOWtkV3hsTENCaWRYUWdaRzl1SjNRZ2QyRnVkQ0IwYnlCdGIzWmxJR1p5YjIwZ2MybHVaMnhsSUdacGJHVmNiaUFnTHk4Z1lYSmphR2wwWldOMGRYSmxJSGxsZEM1Y2JpQWdablZ1WTNScGIyNGdhVzVvWlhKcGRITWdLR04wYjNJc0lITjFjR1Z5UTNSdmNpa2dlMXh1SUNBZ0lHTjBiM0l1YzNWd1pYSmZJRDBnYzNWd1pYSkRkRzl5TzF4dUlDQWdJSFpoY2lCVVpXMXdRM1J2Y2lBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dUlDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJQ0FnWTNSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1ZHVnRjRU4wYjNJb0tUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaUzVqYjI1emRISjFZM1J2Y2lBOUlHTjBiM0k3WEc0Z0lIMWNibHh1SUNBdkx5QkNUbHh1WEc0Z0lHWjFibU4wYVc5dUlFSk9JQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaENUaTVwYzBKT0tHNTFiV0psY2lrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXMWlaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1Wa2RXTjBhVzl1SUdOdmJuUmxlSFJjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9iblZ0WW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBaaUFvWW1GelpTQTlQVDBnSjJ4bEp5QjhmQ0JpWVhObElEMDlQU0FuWW1VbktTQjdYRzRnSUNBZ0lDQWdJR1Z1WkdsaGJpQTlJR0poYzJVN1hHNGdJQ0FnSUNBZ0lHSmhjMlVnUFNBeE1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1ZmFXNXBkQ2h1ZFcxaVpYSWdmSHdnTUN3Z1ltRnpaU0I4ZkNBeE1Dd2daVzVrYVdGdUlIeDhJQ2RpWlNjcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCcFppQW9kSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlFSk9PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1Y0Y0c5eWRITXVRazRnUFNCQ1RqdGNiaUFnZlZ4dVhHNGdJRUpPTGtKT0lEMGdRazQ3WEc0Z0lFSk9MbmR2Y21SVGFYcGxJRDBnTWpZN1hHNWNiaUFnZG1GeUlFSjFabVpsY2p0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnZlZ4dVhHNGdJRUpPTG1selFrNGdQU0JtZFc1amRHbHZiaUJwYzBKT0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRJR2x1YzNSaGJtTmxiMllnUWs0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMGdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJRzUxYlM1amIyNXpkSEoxWTNSdmNpNTNiM0prVTJsNlpTQTlQVDBnUWs0dWQyOXlaRk5wZW1VZ0ppWWdRWEp5WVhrdWFYTkJjbkpoZVNodWRXMHVkMjl5WkhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG0xaGVDQTlJR1oxYm1OMGFXOXVJRzFoZUNBb2JHVm1kQ3dnY21sbmFIUXBJSHRjYmlBZ0lDQnBaaUFvYkdWbWRDNWpiWEFvY21sbmFIUXBJRDRnTUNrZ2NtVjBkWEp1SUd4bFpuUTdYRzRnSUNBZ2NtVjBkWEp1SUhKcFoyaDBPMXh1SUNCOU8xeHVYRzRnSUVKT0xtMXBiaUE5SUdaMWJtTjBhVzl1SUcxcGJpQW9iR1ZtZEN3Z2NtbG5hSFFwSUh0Y2JpQWdJQ0JwWmlBb2JHVm1kQzVqYlhBb2NtbG5hSFFwSUR3Z01Da2djbVYwZFhKdUlHeGxablE3WEc0Z0lDQWdjbVYwZFhKdUlISnBaMmgwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRDQTlJR1oxYm1OMGFXOXVJR2x1YVhRZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1ZFcxaVpYSWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZhVzVwZEU1MWJXSmxjaWh1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdWRXMWlaWElnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRFRnljbUY1S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHSmhjMlVnUFNBeE5qdGNiaUFnSUNCOVhHNGdJQ0FnWVhOelpYSjBLR0poYzJVZ1BUMDlJQ2hpWVhObElId2dNQ2tnSmlZZ1ltRnpaU0ErUFNBeUlDWW1JR0poYzJVZ1BEMGdNellwTzF4dVhHNGdJQ0FnYm5WdFltVnlJRDBnYm5WdFltVnlMblJ2VTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2WEZ4ekt5OW5MQ0FuSnlrN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ01EdGNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSE4wWVhKMEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR0poYzJVZ1BUMDlJREUyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVaGxlQ2h1ZFcxaVpYSXNJSE4wWVhKMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWZjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ2RHaHBjeTVmYVc1cGRFRnljbUY1S0hSb2FYTXVkRzlCY25KaGVTZ3BMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNXBkRTUxYldKbGNpQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFRuVnRZbVZ5SUNodWRXMWlaWElzSUdKaGMyVXNJR1Z1WkdsaGJpa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0FnSUc1MWJXSmxjaUE5SUMxdWRXMWlaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaUJkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iblZ0WW1WeUlEd2dNSGd4TURBd01EQXdNREF3TURBd01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZ0Y2JpQWdJQ0FnSUNBZ2JuVnRZbVZ5SUNZZ01IZ3pabVptWm1abUxGeHVJQ0FnSUNBZ0lDQW9iblZ0WW1WeUlDOGdNSGcwTURBd01EQXdLU0FtSURCNE0yWm1abVptWmx4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJXSmxjaUE4SURCNE1qQXdNREF3TURBd01EQXdNREFwT3lBdkx5QXlJRjRnTlRNZ0tIVnVjMkZtWlNsY2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJREZjYmlBZ0lDQWdJRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlETTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdVbVYyWlhKelpTQjBhR1VnWW5sMFpYTmNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQmZhVzVwZEVGeWNtRjVJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUM4dklGQmxjbWhoY0hNZ1lTQlZhVzUwT0VGeWNtRjVYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJ1ZFcxaVpYSXViR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaTVzWlc1bmRHZ2dQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnTUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29iblZ0WW1WeUxteGxibWQwYUNBdklETXBPMXh1SUNBZ0lIUm9hWE11ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NXNaVzVuZEdncE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHb3NJSGM3WEc0Z0lDQWdkbUZ5SUc5bVppQTlJREE3WEc0Z0lDQWdhV1lnS0dWdVpHbGhiaUE5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJREVzSUdvZ1BTQXdPeUJwSUQ0OUlEQTdJR2tnTFQwZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQzBnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0xTQXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMnhsSnlrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Dd2dhaUE5SURBN0lHa2dQQ0J1ZFcxaVpYSXViR1Z1WjNSb095QnBJQ3M5SURNcElIdGNiaUFnSUNBZ0lDQWdkeUE5SUc1MWJXSmxjbHRwWFNCOElDaHVkVzFpWlhKYmFTQXJJREZkSUR3OElEZ3BJSHdnS0c1MWJXSmxjbHRwSUNzZ01sMGdQRHdnTVRZcE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMnBkSUh3OUlDaDNJRHc4SUc5bVppa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUQwZ0tIY2dQajQrSUNneU5pQXRJRzltWmlrcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0t6MGdNalE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZabVlnUGowZ01qWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdlptWWdMVDBnTWpZN1hHNGdJQ0FnSUNBZ0lDQWdhaXNyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZJWlhnZ0tITjBjaXdnYzNSaGNuUXNJR1Z1WkNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzNSeUxteGxibWQwYUN3Z1pXNWtLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1NBdElEUTRPMXh1WEc0Z0lDQWdJQ0J5SUR3OFBTQTBPMXh1WEc0Z0lDQWdJQ0F2THlBbllTY2dMU0FuWmlkY2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURRNUlDWW1JR01nUEQwZ05UUXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTkRrZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDZEJKeUF0SUNkR0oxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0lDWW1JR01nUEQwZ01qSXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQjhQU0JqSUNZZ01IaG1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ3WVhKelpVSmhjMlVnS0hOMGNpd2djM1JoY25Rc0lHVnVaQ3dnYlhWc0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ0tqMGdiWFZzTzF4dVhHNGdJQ0FnSUNBdkx5QW5ZU2RjYmlBZ0lDQWdJR2xtSUNoaklENDlJRFE1S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SUdNZ0xTQXhOeUFySURCNFlUdGNibHh1SUNBZ0lDQWdMeThnSnpBbklDMGdKemtuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVSmhjMlVnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZDWVhObElDaHVkVzFpWlhJc0lHSmhjMlVzSUhOMFlYSjBLU0I3WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCaGN5QjZaWEp2WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZzZ01DQmRPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JseHVJQ0FnSUM4dklFWnBibVFnYkdWdVozUm9JRzltSUd4cGJXSWdhVzRnWW1GelpWeHVJQ0FnSUdadmNpQW9kbUZ5SUd4cGJXSk1aVzRnUFNBd0xDQnNhVzFpVUc5M0lEMGdNVHNnYkdsdFlsQnZkeUE4UFNBd2VETm1abVptWm1ZN0lHeHBiV0pRYjNjZ0tqMGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ2JHbHRZa3hsYmlzck8xeHVJQ0FnSUgxY2JpQWdJQ0JzYVcxaVRHVnVMUzA3WEc0Z0lDQWdiR2x0WWxCdmR5QTlJQ2hzYVcxaVVHOTNJQzhnWW1GelpTa2dmQ0F3TzF4dVhHNGdJQ0FnZG1GeUlIUnZkR0ZzSUQwZ2JuVnRZbVZ5TG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNBZ0lIWmhjaUJ0YjJRZ1BTQjBiM1JoYkNBbElHeHBiV0pNWlc0N1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUUxaGRHZ3ViV2x1S0hSdmRHRnNMQ0IwYjNSaGJDQXRJRzF2WkNrZ0t5QnpkR0Z5ZER0Y2JseHVJQ0FnSUhaaGNpQjNiM0prSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JsYm1RN0lHa2dLejBnYkdsdFlreGxiaWtnZTF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUdrZ0t5QnNhVzFpVEdWdUxDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHNhVzFpVUc5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXOWtJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnY0c5M0lEMGdNVHRjYmlBZ0lDQWdJSGR2Y21RZ1BTQndZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQnBMQ0J1ZFcxaVpYSXViR1Z1WjNSb0xDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdlpEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnZkeUFxUFNCaVlYTmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxtbHRkV3h1S0hCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdZMjl3ZVNBb1pHVnpkQ2tnZTF4dUlDQWdJR1JsYzNRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaR1Z6ZEM1M2IzSmtjMXRwWFNBOUlIUm9hWE11ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHUmxjM1F1YkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSFJvYVhNdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnWkdWemRDNXlaV1FnUFNCMGFHbHpMbkpsWkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTJ4dmJtVWdQU0JtZFc1amRHbHZiaUJqYkc5dVpTQW9LU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVaWGNnUWs0b2JuVnNiQ2s3WEc0Z0lDQWdkR2hwY3k1amIzQjVLSElwTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZaWGh3WVc1a0lEMGdablZ1WTNScGIyNGdYMlY0Y0dGdVpDQW9jMmw2WlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElITnBlbVVwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ3JLMTBnUFNBd08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlcxdmRtVWdiR1ZoWkdsdVp5QmdNR0FnWm5KdmJTQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OMGNtbHdJRDBnWm5WdVkzUnBiMjRnYzNSeWFYQWdLQ2tnZTF4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG14bGJtZDBhQ0ErSURFZ0ppWWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQzB0TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDI1dmNtMVRhV2R1SUQwZ1puVnVZM1JwYjI0Z1gyNXZjbTFUYVdkdUlDZ3BJSHRjYmlBZ0lDQXZMeUF0TUNBOUlEQmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5Od1pXTjBJRDBnWm5WdVkzUnBiMjRnYVc1emNHVmpkQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuSmxaQ0EvSUNjOFFrNHRVam9nSnlBNklDYzhRazQ2SUNjcElDc2dkR2hwY3k1MGIxTjBjbWx1WnlneE5pa2dLeUFuUGljN1hHNGdJSDA3WEc1Y2JpQWdMeXBjYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWFR0Y2JpQWdkbUZ5SUdkeWIzVndVMmw2WlhNZ1BTQmJYVHRjYmlBZ2RtRnlJR2R5YjNWd1FtRnpaWE1nUFNCYlhUdGNibHh1SUNCMllYSWdjeUE5SUNjbk8xeHVJQ0IyWVhJZ2FTQTlJQzB4TzF4dUlDQjNhR2xzWlNBb0t5dHBJRHdnUWs0dWQyOXlaRk5wZW1VcElIdGNiaUFnSUNCNlpYSnZjMXRwWFNBOUlITTdYRzRnSUNBZ2N5QXJQU0FuTUNjN1hHNGdJSDFjYmlBZ1ozSnZkWEJUYVhwbGMxc3dYU0E5SURBN1hHNGdJR2R5YjNWd1UybDZaWE5iTVYwZ1BTQXdPMXh1SUNCbmNtOTFjRUpoYzJWeld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN4WFNBOUlEQTdYRzRnSUhaaGNpQmlZWE5sSUQwZ01pQXRJREU3WEc0Z0lIZG9hV3hsSUNncksySmhjMlVnUENBek5pQXJJREVwSUh0Y2JpQWdJQ0IyWVhJZ1ozSnZkWEJUYVhwbElEMGdNRHRjYmlBZ0lDQjJZWElnWjNKdmRYQkNZWE5sSUQwZ01UdGNiaUFnSUNCM2FHbHNaU0FvWjNKdmRYQkNZWE5sSUR3Z0tERWdQRHdnUWs0dWQyOXlaRk5wZW1VcElDOGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ1ozSnZkWEJDWVhObElDbzlJR0poYzJVN1hHNGdJQ0FnSUNCbmNtOTFjRk5wZW1VZ0t6MGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ozSnZkWEJUYVhwbGMxdGlZWE5sWFNBOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNCbmNtOTFjRUpoYzJWelcySmhjMlZkSUQwZ1ozSnZkWEJDWVhObE8xeHVJQ0I5WEc1Y2JpQWdLaTljYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWEc0Z0lDQWdKeWNzWEc0Z0lDQWdKekFuTEZ4dUlDQWdJQ2N3TUNjc1hHNGdJQ0FnSnpBd01DY3NYRzRnSUNBZ0p6QXdNREFuTEZ4dUlDQWdJQ2N3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuWEc0Z0lGMDdYRzVjYmlBZ2RtRnlJR2R5YjNWd1UybDZaWE1nUFNCYlhHNGdJQ0FnTUN3Z01DeGNiaUFnSUNBeU5Td2dNVFlzSURFeUxDQXhNU3dnTVRBc0lEa3NJRGdzWEc0Z0lDQWdPQ3dnTnl3Z055d2dOeXdnTnl3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMUxDQTFMRnh1SUNBZ0lEVXNJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05WeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNek0xTlRRME16SXNJRFF6TURRMk56SXhMQ0F4TmpjM056SXhOaXdnTkRnNE1qZ3hNalVzSURZd05EWTJNVGMyTENBME1ETTFNell3Tnl3Z01UWTNOemN5TVRZc1hHNGdJQ0FnTkRNd05EWTNNakVzSURFd01EQXdNREF3TENBeE9UUTROekUzTVN3Z016VTRNekU0TURnc0lEWXlOelE0TlRFM0xDQTNOVEk1TlRNMkxDQXhNVE01TURZeU5TeGNiaUFnSUNBeE5qYzNOekl4Tml3Z01qUXhNemMxTmprc0lETTBNREV5TWpJMExDQTBOekEwTlRnNE1Td2dOalF3TURBd01EQXNJRFF3T0RReE1ERXNJRFV4TlRNMk16SXNYRzRnSUNBZ05qUXpOak0wTXl3Z056azJNall5TkN3Z09UYzJOVFl5TlN3Z01URTRPREV6TnpZc0lERTBNelE0T1RBM0xDQXhOekl4TURNMk9Dd2dNakExTVRFeE5Ea3NYRzRnSUNBZ01qUXpNREF3TURBc0lESTROakk1TVRVeExDQXpNelUxTkRRek1pd2dNemt4TXpVek9UTXNJRFExTkRNMU5ESTBMQ0ExTWpVeU1UZzNOU3dnTmpBME5qWXhOelpjYmlBZ1hUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvWW1GelpTd2djR0ZrWkdsdVp5a2dlMXh1SUNBZ0lHSmhjMlVnUFNCaVlYTmxJSHg4SURFd08xeHVJQ0FnSUhCaFpHUnBibWNnUFNCd1lXUmthVzVuSUh3Z01DQjhmQ0F4TzF4dVhHNGdJQ0FnZG1GeUlHOTFkRHRjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZZ2ZId2dZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlEQTdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIZHZjbVFnUFNBb0tDaDNJRHc4SUc5bVppa2dmQ0JqWVhKeWVTa2dKaUF3ZUdabVptWm1aaWt1ZEc5VGRISnBibWNvTVRZcE8xeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrUGlBb01qUWdMU0J2Wm1ZcEtTQW1JREI0Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQWdmSHdnYVNBaFBUMGdkR2hwY3k1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYk5pQXRJSGR2Y21RdWJHVnVaM1JvWFNBcklIZHZjbVFnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCdlptWWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JwTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNCallYSnllUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWtnZTF4dUlDQWdJQ0FnTHk4Z2RtRnlJR2R5YjNWd1UybDZaU0E5SUUxaGRHZ3VabXh2YjNJb1FrNHVkMjl5WkZOcGVtVWdLaUJOWVhSb0xreE9NaUF2SUUxaGRHZ3ViRzluS0dKaGMyVXBLVHRjYmlBZ0lDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZE8xeHVJQ0FnSUNBZ0x5OGdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlFMWhkR2d1Y0c5M0tHSmhjMlVzSUdkeWIzVndVMmw2WlNrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCQ1lYTmxJRDBnWjNKdmRYQkNZWE5sYzF0aVlYTmxYVHRjYmlBZ0lDQWdJRzkxZENBOUlDY25PMXh1SUNBZ0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0JqTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIZG9hV3hsSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR011Ylc5a2JpaG5jbTkxY0VKaGMyVXBMblJ2VTNSeWFXNW5LR0poYzJVcE8xeHVJQ0FnSUNBZ0lDQmpJRDBnWXk1cFpHbDJiaWhuY205MWNFSmhjMlVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWXk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzkxZENBOUlIcGxjbTl6VzJkeWIzVndVMmw2WlNBdElISXViR1Z1WjNSb1hTQXJJSElnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdjaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkMmhwYkdVZ0tHOTFkQzVzWlc1bmRHZ2dKU0J3WVdSa2FXNW5JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3dKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjdEp5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5RbUZ6WlNCemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeUlHRnVaQ0F6TmljcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwNTFiV0psY2lBOUlHWjFibU4wYVc5dUlIUnZUblZ0WW1WeUlDZ3BJSHRjYmlBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lISmxkQ0FyUFNCMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJRE1nSmlZZ2RHaHBjeTUzYjNKa2Mxc3lYU0E5UFQwZ01IZ3dNU2tnZTF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nWVhRZ2RHaHBjeUJ6ZEdGblpTQnBkQ0JwY3lCcmJtOTNiaUIwYUdGMElIUm9aU0IwYjNBZ1ltbDBJR2x6SUhObGRGeHVJQ0FnSUNBZ2NtVjBJQ3M5SURCNE1UQXdNREF3TURBd01EQXdNREFnS3lBb2RHaHBjeTUzYjNKa2Mxc3hYU0FxSURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0FnSUdGemMyVnlkQ2htWVd4elpTd2dKMDUxYldKbGNpQmpZVzRnYjI1c2VTQnpZV1psYkhrZ2MzUnZjbVVnZFhBZ2RHOGdOVE1nWW1sMGN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElEOGdMWEpsZENBNklISmxkRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlLVTA5T0lEMGdablZ1WTNScGIyNGdkRzlLVTA5T0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOUNkV1ptWlhJZ0tHVnVaR2xoYml3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQkNkV1ptWlhJZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaENkV1ptWlhJc0lHVnVaR2xoYml3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0dWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlVXhwYTJVb1FYSnlZWGtzSUdWdVpHbGhiaXdnYkdWdVozUm9LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJpZVhSbFRHVnVaM1JvSUQwZ2RHaHBjeTVpZVhSbFRHVnVaM1JvS0NrN1hHNGdJQ0FnZG1GeUlISmxjVXhsYm1kMGFDQTlJR3hsYm1kMGFDQjhmQ0JOWVhSb0xtMWhlQ2d4TENCaWVYUmxUR1Z1WjNSb0tUdGNiaUFnSUNCaGMzTmxjblFvWW5sMFpVeGxibWQwYUNBOFBTQnlaWEZNWlc1bmRHZ3NJQ2RpZVhSbElHRnljbUY1SUd4dmJtZGxjaUIwYUdGdUlHUmxjMmx5WldRZ2JHVnVaM1JvSnlrN1hHNGdJQ0FnWVhOelpYSjBLSEpsY1V4bGJtZDBhQ0ErSURBc0lDZFNaWEYxWlhOMFpXUWdZWEp5WVhrZ2JHVnVaM1JvSUR3OUlEQW5LVHRjYmx4dUlDQWdJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdJQ0IyWVhJZ2JHbDBkR3hsUlc1a2FXRnVJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5PMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQnVaWGNnUVhKeVlYbFVlWEJsS0hKbGNVeGxibWQwYUNrN1hHNWNiaUFnSUNCMllYSWdZaXdnYVR0Y2JpQWdJQ0IyWVhJZ2NTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0JwWmlBb0lXeHBkSFJzWlVWdVpHbGhiaWtnZTF4dUlDQWdJQ0FnTHk4Z1FYTnpkVzFsSUdKcFp5MWxibVJwWVc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J5WlhGTVpXNW5kR2dnTFNCaWVYUmxUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelczSmxjVXhsYm1kMGFDQXRJR2tnTFNBeFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJQ0Z4TG1seldtVnlieWdwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlIRXVZVzVrYkc0b01IaG1aaWs3WEc0Z0lDQWdJQ0FnSUhFdWFYVnphSEp1S0RncE8xeHVYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z2NtVnhUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNoTllYUm9MbU5zZWpNeUtTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNeklnTFNCTllYUm9MbU5zZWpNeUtIY3BPMXh1SUNBZ0lIMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTGw5amIzVnVkRUpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZZMjkxYm5SQ2FYUnpJQ2gzS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VERXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F4TXp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFFnUGowZ01IZzBNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnNEtTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlREF5S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY2lBcklIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmVtVnliMEpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZlbVZ5YjBKcGRITWdLSGNwSUh0Y2JpQWdJQ0F2THlCVGFHOXlkQzFqZFhSY2JpQWdJQ0JwWmlBb2R5QTlQVDBnTUNrZ2NtVjBkWEp1SURJMk8xeHVYRzRnSUNBZ2RtRnlJSFFnUFNCM08xeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURGbVptWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURkbUtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpQXJQU0EzTzF4dUlDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvZENBbUlEQjRaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lIUWdQajQrUFNBME8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURNcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREk3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdNanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaXNyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm5WdFltVnlJRzltSUhWelpXUWdZbWwwY3lCcGJpQmhJRUpPWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVpYVhSTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWFYUk1aVzVuZEdnZ0tDa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUhaaGNpQm9hU0E5SUhSb2FYTXVYMk52ZFc1MFFtbDBjeWgzS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWJHVnVaM1JvSUMwZ01Ta2dLaUF5TmlBcklHaHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhSdlFtbDBRWEp5WVhrZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCM0lEMGdibVYzSUVGeWNtRjVLRzUxYlM1aWFYUk1aVzVuZEdnb0tTazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmlhWFFnUFNBd095QmlhWFFnUENCM0xteGxibWQwYURzZ1ltbDBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQnZabVlnUFNBb1ltbDBJQzhnTWpZcElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0FnSUhkYlltbDBYU0E5SUNodWRXMHVkMjl5WkhOYmIyWm1YU0FtSUNneElEdzhJSGRpYVhRcEtTQStQajRnZDJKcGREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZHp0Y2JpQWdmVnh1WEc0Z0lDOHZJRTUxYldKbGNpQnZaaUIwY21GcGJHbHVaeUI2WlhKdklHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbnBsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnZW1WeWIwSnBkSE1nS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NWZlbVZ5YjBKcGRITW9kR2hwY3k1M2IzSmtjMXRwWFNrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdJQ0JwWmlBb1lpQWhQVDBnTWpZcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlubDBaVXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtTmxhV3dvZEdocGN5NWlhWFJNWlc1bmRHZ29LU0F2SURncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxUjNiM01nUFNCbWRXNWpkR2x2YmlCMGIxUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUZpY3lncExtbHViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVlIzYjNNZ1BTQm1kVzVqZEdsdmJpQm1jbTl0VkhkdmN5QW9kMmxrZEdncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1MFpYTjBiaWgzYVdSMGFDQXRJREVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLUzVwYm1WbktDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1selRtVm5JRDBnWm5WdVkzUnBiMjRnYVhOT1pXY2dLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJtVm5LQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1WldjZ1BTQm1kVzVqZEdsdmJpQnBibVZuSUNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCUGNpQmdiblZ0WUNCM2FYUm9JR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYVnZjaUE5SUdaMWJtTjBhVzl1SUdsMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdncksxMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saGJtUWdQU0JtZFc1amRHbHZiaUJwWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ2ZDQnVkVzB1Ym1WbllYUnBkbVVwSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFdGdVpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a0lEMGdablZ1WTNScGIyNGdZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saGJtUW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVdGdVpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFdGdVpDQTlJR1oxYm1OMGFXOXVJSFZoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVmhibVFvYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFYVmhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1dHOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkWGh2Y2lBOUlHWjFibU4wYVc5dUlHbDFlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJoTG14bGJtZDBhQ0ErSUdJdWJHVnVaM1JvWEc0Z0lDQWdkbUZ5SUdFN1hHNGdJQ0FnZG1GeUlHSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZU0E5SUhSb2FYTTdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoSUQwZ2JuVnRPMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFNCZUlHSXVkMjl5WkhOYmFWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJR0VwSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYaHZjaUE5SUdaMWJtTjBhVzl1SUdsNGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWVHOXlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnV0c5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NGIzSWdQU0JtZFc1amRHbHZiaUI0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYaHZjaWh1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGVHOXlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWVHOXlJRDBnWm5WdVkzUnBiMjRnZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkWGh2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk9iM1FnWUdCMGFHbHpZR0FnZDJsMGFDQmdZSGRwWkhSb1lHQWdZbWwwZDJsa2RHaGNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHViM1J1SUQwZ1puVnVZM1JwYjI0Z2FXNXZkRzRnS0hkcFpIUm9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCM2FXUjBhQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdkMmxrZEdnZ1BqMGdNQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaWE5PWldWa1pXUWdQU0JOWVhSb0xtTmxhV3dvZDJsa2RHZ2dMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYVhSelRHVm1kQ0E5SUhkcFpIUm9JQ1VnTWpZN1hHNWNiaUFnSUNBdkx5QkZlSFJsYm1RZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR0o1ZEdWelRtVmxaR1ZrS1R0Y2JseHVJQ0FnSUdsbUlDaGlhWFJ6VEdWbWRDQStJREFwSUh0Y2JpQWdJQ0FnSUdKNWRHVnpUbVZsWkdWa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHTnZiWEJzWlhSbElIZHZjbVJ6WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpZVhSbGMwNWxaV1JsWkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdmblJvYVhNdWQyOXlaSE5iYVYwZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUm9aU0J5WlhOcFpIVmxYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnS0RCNE0yWm1abVptWmlBK1BpQW9NallnTFNCaWFYUnpUR1ZtZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRnVaQ0J5WlcxdmRtVWdiR1ZoWkdsdVp5QjZaWEp2WlhOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV1YjNSdUlEMGdablZ1WTNScGIyNGdibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdWIzUnVLSGRwWkhSb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVFpYUWdZR0pwZEdBZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1elpYUnVJRDBnWm5WdVkzUnBiMjRnYzJWMGJpQW9ZbWwwTENCMllXd3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBJRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJoYm1Rb2IyWm1JQ3NnTVNrN1hHNWNiaUFnSUNCcFppQW9kbUZzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnZkNBb01TQThQQ0IzWW1sMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0dlptWmRJRDBnZEdocGN5NTNiM0prYzF0dlptWmRJQ1lnZmlneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVdSa0lHQnVkVzFnSUhSdklHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGa1pDQTlJR1oxYm1OMGFXOXVJR2xoWkdRZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeU8xeHVYRzRnSUNBZ0x5OGdibVZuWVhScGRtVWdLeUJ3YjNOcGRHbDJaVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQnlJRDBnZEdocGN5NXBjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JseHVJQ0FnSUM4dklIQnZjMmwwYVhabElDc2dibVZuWVhScGRtVmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnS3lBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BqNGdNalk3WEc0Z0lDQWdmVnh1SUNBZ0lHWnZjaUFvT3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY2lBOUlDaGhMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFGMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdMeThnUTI5d2VTQjBhR1VnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUIwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1emRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSEpsY3lBOUlHNTFiUzV6ZFdJb2RHaHBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXUmtLRzUxYlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFXRmtaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdMU0FvTFc1MWJTa2dQU0IwYUdseklDc2diblZ0WEc0Z0lDQWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhJdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUF0ZEdocGN5QXRJRzUxYlNBOUlDMG9kR2hwY3lBcklHNTFiU2xjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGMElIUm9hWE1nY0c5cGJuUWdZbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpWeHVJQ0FnSUhaaGNpQmpiWEFnUFNCMGFHbHpMbU50Y0NodWRXMHBPMXh1WEc0Z0lDQWdMeThnVDNCMGFXMXBlbUYwYVc5dUlDMGdlbVZ5YjJsbWVWeHVJQ0FnSUdsbUlDaGpiWEFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhJRDRnWWx4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnTFNBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K0lESTJPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlISWdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUTI5d2VTQnlaWE4wSUc5bUlIUm9aU0IzYjNKa2MxeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZ2dKaVlnWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrcE8xeHVYRzRnSUNBZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZaUE5SUdaMWJtTjBhVzl1SUhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMzVmlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjMjFoYkd4TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNBb2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1NCOElEQTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJR3hsYmp0Y2JpQWdJQ0JzWlc0Z1BTQW9iR1Z1SUMwZ01Ta2dmQ0F3TzF4dVhHNGdJQ0FnTHk4Z1VHVmxiQ0J2Ym1VZ2FYUmxjbUYwYVc5dUlDaGpiMjF3YVd4bGNpQmpZVzRuZENCa2J5QnBkQ3dnWW1WallYVnpaU0J2WmlCamIyUmxJR052YlhCc1pYaHBkSGtwWEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdLSElnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQnZkWFF1ZDI5eVpITmJNRjBnUFNCc2J6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F4T3lCcklEd2diR1Z1T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnWTJGeWNua2dQajQrSURJMk8xeHVJQ0FnSUNBZ2RtRnlJSEozYjNKa0lEMGdZMkZ5Y25rZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjJZWElnYldGNFNpQTlJRTFoZEdndWJXbHVLR3NzSUc1MWJTNXNaVzVuZEdnZ0xTQXhLVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNCTllYUm9MbTFoZUNnd0xDQnJJQzBnYzJWc1ppNXNaVzVuZEdnZ0t5QXhLVHNnYWlBOFBTQnRZWGhLT3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0FvYXlBdElHb3BJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lTQTlJSE5sYkdZdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2JuVnRMbmR2Y21SelcycGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NpQTlJR0VnS2lCaUlDc2djbmR2Y21RN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBclBTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5ZDI5eVpDQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpDQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJRzVqWVhKeWVTQjhJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2IzVjBMbmR2Y21SelcydGRJRDBnWTJGeWNua2dmQ0F3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnTHk4Z1ZFOUVUeWhwYm1SMWRHNTVLVG9nYVhRZ2JXRjVJR0psSUhKbFlYTnZibUZpYkdVZ2RHOGdiMjFwZENCcGRDQm1iM0lnZFhObGNuTWdkMmh2SUdSdmJpZDBJRzVsWldSY2JpQWdMeThnZEc4Z2QyOXlheUIzYVhSb0lESTFOaTFpYVhRZ2JuVnRZbVZ5Y3l3Z2IzUm9aWEozYVhObElHbDBJR2RwZG1WeklESXdKU0JwYlhCeWIzWmxiV1Z1ZENCbWIzSWdNalUyTFdKcGRGeHVJQ0F2THlCdGRXeDBhWEJzYVdOaGRHbHZiaUFvYkdsclpTQmxiR3hwY0hScFl5QnpaV053TWpVMmF6RXBMbHh1SUNCMllYSWdZMjl0WWpFd1RYVnNWRzhnUFNCbWRXNWpkR2x2YmlCamIyMWlNVEJOZFd4VWJ5QW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcElIdGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUc4Z1BTQnZkWFF1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJR01nUFNBd08xeHVJQ0FnSUhaaGNpQnNienRjYmlBZ0lDQjJZWElnYldsa08xeHVJQ0FnSUhaaGNpQm9hVHRjYmlBZ0lDQjJZWElnWVRBZ1BTQmhXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d3SUQwZ1lUQWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTUNBOUlHRXdJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVEVnUFNCaFd6RmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3hJRDBnWVRFZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NU0E5SUdFeElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUSWdQU0JoV3pKZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eUlEMGdZVElnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01pQTlJR0V5SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRNZ1BTQmhXek5kSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d6SUQwZ1lUTWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTXlBOUlHRXpJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFFnUFNCaFd6UmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzBJRDBnWVRRZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OQ0E5SUdFMElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUVWdQU0JoV3pWZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MUlEMGdZVFVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05TQTlJR0UxSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRZZ1BTQmhXelpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cySUQwZ1lUWWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTmlBOUlHRTJJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGNnUFNCaFd6ZGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzNJRDBnWVRjZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OeUE5SUdFM0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUZ2dQU0JoV3poZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3NElEMGdZVGdnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb09DQTlJR0U0SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRrZ1BTQmhXemxkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c1SUQwZ1lUa2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT1NBOUlHRTVJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZakFnUFNCaVd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3dJRDBnWWpBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NQ0E5SUdJd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqRWdQU0JpV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eElEMGdZakVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01TQTlJR0l4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpJZ1BTQmlXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd5SUQwZ1lqSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTWlBOUlHSXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZak1nUFNCaVd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3pJRDBnWWpNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NeUE5SUdJeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqUWdQU0JpV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MElEMGdZalFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05DQTlJR0kwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpVZ1BTQmlXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcxSUQwZ1lqVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTlNBOUlHSTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZallnUFNCaVd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzJJRDBnWWpZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OaUE5SUdJMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqY2dQU0JpV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWW13M0lEMGdZamNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb055QTlJR0kzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpnZ1BTQmlXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXc0SUQwZ1lqZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvT0NBOUlHSTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamtnUFNCaVd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzVJRDBnWWprZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PU0E5SUdJNUlENCtQaUF4TXp0Y2JseHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJSE5sYkdZdWJtVm5ZWFJwZG1VZ1hpQnVkVzB1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SURFNU8xeHVJQ0FnSUM4cUlHc2dQU0F3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01DazdYRzRnSUNBZ2RtRnlJSGN3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTUNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6QWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01pQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdneUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3lJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNaUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3pJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpNZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kelFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ05TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTlNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6VWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTJJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM05pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkellnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EzSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNExDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjNElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM09DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkemdnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0E1SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM1SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT1NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6a2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eEtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhREVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURFcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UQWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNU0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRElwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURJcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXhJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRNcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NeWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTXlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXlJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE15QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEUXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRFFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVE1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TkNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzFLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURVcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEVXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRZcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTmlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TlNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzNLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURjcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEY3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE5pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRZZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE55QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEZ3BPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRGdwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE55QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRrcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT1NrN1hHNGdJQ0FnZG1GeUlIY3hPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekU0SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UZ2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJRzliTUYwZ1BTQjNNRHRjYmlBZ0lDQnZXekZkSUQwZ2R6RTdYRzRnSUNBZ2Ixc3lYU0E5SUhjeU8xeHVJQ0FnSUc5Yk0xMGdQU0IzTXp0Y2JpQWdJQ0J2V3pSZElEMGdkelE3WEc0Z0lDQWdiMXMxWFNBOUlIYzFPMXh1SUNBZ0lHOWJObDBnUFNCM05qdGNiaUFnSUNCdld6ZGRJRDBnZHpjN1hHNGdJQ0FnYjFzNFhTQTlJSGM0TzF4dUlDQWdJRzliT1YwZ1BTQjNPVHRjYmlBZ0lDQnZXekV3WFNBOUlIY3hNRHRjYmlBZ0lDQnZXekV4WFNBOUlIY3hNVHRjYmlBZ0lDQnZXekV5WFNBOUlIY3hNanRjYmlBZ0lDQnZXekV6WFNBOUlIY3hNenRjYmlBZ0lDQnZXekUwWFNBOUlIY3hORHRjYmlBZ0lDQnZXekUxWFNBOUlIY3hOVHRjYmlBZ0lDQnZXekUyWFNBOUlIY3hOanRjYmlBZ0lDQnZXekUzWFNBOUlIY3hOenRjYmlBZ0lDQnZXekU0WFNBOUlIY3hPRHRjYmlBZ0lDQnBaaUFvWXlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjFzeE9WMGdQU0JqTzF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiM1YwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ2YkhsbWFXeHNJR052YldKY2JpQWdhV1lnS0NGTllYUm9MbWx0ZFd3cElIdGNiaUFnSUNCamIyMWlNVEJOZFd4VWJ5QTlJSE50WVd4c1RYVnNWRzg3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaWFXZE5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQnVkVzB1Ym1WbllYUnBkbVVnWGlCelpXeG1MbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0J6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJSFpoY2lCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcklEMGdNRHNnYXlBOElHOTFkQzVzWlc1bmRHZ2dMU0F4T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQWdJR2h1WTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISjNiM0prSUQwZ1kyRnljbmtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMllYSWdiV0Y0U2lBOUlFMWhkR2d1YldsdUtHc3NJRzUxYlM1c1pXNW5kR2dnTFNBeEtUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0JOWVhSb0xtMWhlQ2d3TENCcklDMGdjMlZzWmk1c1pXNW5kR2dnS3lBeEtUc2dhaUE4UFNCdFlYaEtPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQnJJQzBnYWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzVqWVhKeWVTQTlJQ2h1WTJGeWNua2dLeUFvS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrcElId2dNRHRjYmlBZ0lDQWdJQ0FnYkc4Z1BTQW9iRzhnS3lCeWQyOXlaQ2tnZkNBd08xeHVJQ0FnSUNBZ0lDQnlkMjl5WkNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tHeHZJRDQrUGlBeU5pa3BJSHdnTUR0Y2JseHVJQ0FnSUNBZ0lDQm9ibU5oY25KNUlDczlJRzVqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCeWQyOXlaRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNU8xeHVJQ0FnSUNBZ2JtTmhjbko1SUQwZ2FHNWpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2IzVjBMbXhsYm1kMGFDMHRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUXVjM1J5YVhBb0tUdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR3AxYldKdlRYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdabWRHMGdQU0J1WlhjZ1JrWlVUU2dwTzF4dUlDQWdJSEpsZEhWeWJpQm1ablJ0TG0xMWJIQW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmdkR2hwYzJBZ1lua2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXeFVieWh1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2daVzF3Ykc5NWFXNW5JRVpHVkZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ppQTlJR1oxYm1OMGFXOXVJRzExYkdZZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJR3AxYldKdlRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVMWEJzWVdObElFMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzV0ZFd4VWJ5aHVkVzBzSUhSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiWFZzYmlBOUlHWjFibU4wYVc5dUlHbHRkV3h1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeHVJRDBnWm5WdVkzUnBiMjRnYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJYVnNiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdCMGFHbHpZQ0FxSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM0Z5SUQwZ1puVnVZM1JwYjI0Z2MzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMTFiQ2gwYUdsekxtTnNiMjVsS0NrcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxaGRHZ3VjRzkzS0dCMGFHbHpZQ3dnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXdiM2NnUFNCbWRXNWpkR2x2YmlCd2IzY2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEc5Q2FYUkJjbkpoZVNodWRXMHBPMXh1SUNBZ0lHbG1JQ2gzTG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lDOHZJRk5yYVhBZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3p0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEpsY3lBOUlISmxjeTV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdhV1lnS0hkYmFWMGdJVDA5SURBcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNncksya2dQQ0IzTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnY1NBOUlISmxjeTV6Y1hJb0tUc2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEVnUFNCeExuTnhjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gzVzJsZElEMDlQU0F3S1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWE1nUFNCeVpYTXViWFZzS0hFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRiR1ZtZENCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFHeHVJRDBnWm5WdVkzUnBiMjRnYVhWemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZEhNZ0xTQnlLU0F2SURJMk8xeHVJQ0FnSUhaaGNpQmpZWEp5ZVUxaGMyc2dQU0FvTUhnelptWm1abVptSUQ0K1BpQW9NallnTFNCeUtTa2dQRHdnS0RJMklDMGdjaWs3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVsZDBOaGNuSjVJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JR05oY25KNVRXRnphenRjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0FvS0hSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElHNWxkME5oY25KNUtTQThQQ0J5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWXlCOElHTmhjbko1TzF4dUlDQWdJQ0FnSUNCallYSnllU0E5SUc1bGQwTmhjbko1SUQ0K1BpQW9NallnTFNCeUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUNzOUlITTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbHRjR3hsYldWdWRDQnRaVnh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWE5vYkc0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMmhwWm5RdGNtbG5hSFFnYVc0dGNHeGhZMlZjYmlBZ0x5OGdUazlVUlRvZ1lHaHBiblJnSUdseklHRWdiRzkzWlhOMElHSnBkQ0JpWldadmNtVWdkSEpoYVd4cGJtY2dlbVZ5YjJWelhHNGdJQzh2SUU1UFZFVTZJR2xtSUdCbGVIUmxibVJsWkdBZ2FYTWdjSEpsYzJWdWRDQXRJR2wwSUhkcGJHd2dZbVVnWm1sc2JHVmtJSGRwZEdnZ1pHVnpkSEp2ZVdWa0lHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2wxYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkSE1nUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZEhNZ1BqMGdNQ2s3WEc0Z0lDQWdkbUZ5SUdnN1hHNGdJQ0FnYVdZZ0tHaHBiblFwSUh0Y2JpQWdJQ0FnSUdnZ1BTQW9hR2x1ZENBdElDaG9hVzUwSUNVZ01qWXBLU0F2SURJMk8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJRTFoZEdndWJXbHVLQ2hpYVhSeklDMGdjaWtnTHlBeU5pd2dkR2hwY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVptSUY0Z0tDZ3dlRE5tWm1abVptWWdQajQrSUhJcElEdzhJSElwTzF4dUlDQWdJSFpoY2lCdFlYTnJaV1JYYjNKa2N5QTlJR1Y0ZEdWdVpHVmtPMXh1WEc0Z0lDQWdhQ0F0UFNCek8xeHVJQ0FnSUdnZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JvS1R0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkdWa0lHMXZaR1VzSUdOdmNIa2diV0Z6YTJWa0lIQmhjblJjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djenNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG14bGJtZDBhQ0E5SUhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDOHZJRTV2TFc5d0xDQjNaU0J6YUc5MWJHUWdibTkwSUcxdmRtVWdZVzU1ZEdocGJtY2dZWFFnWVd4c1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJSE03WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBZ0ppWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dQajBnYUNrN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIZHZjbVFnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvWTJGeWNua2dQRHdnS0RJMklDMGdjaWtwSUh3Z0tIZHZjbVFnUGo0K0lISXBPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNiM0prSUNZZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRZFhOb0lHTmhjbkpwWldRZ1ltbDBjeUJoY3lCaElHMWhjMnRjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNZ0ppWWdZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGMydGxaRmR2Y21SekxuZHZjbVJ6VzIxaGMydGxaRmR2Y21SekxteGxibWQwYUNzclhTQTlJR05oY25KNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYjI1c2VTQnNiM2RsY25NZ1ltbDBjeUJ2WmlCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTFoYzJ0dUlEMGdablZ1WTNScGIyNGdiV0Z6YTI0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdFlYTnJiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJSFJ2SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV0ZrWkc0Z1BTQm1kVzVqZEdsdmJpQnBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3Z01IZzBNREF3TURBd0tUdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2djbVYwZFhKdUlIUm9hWE11YVhOMVltNG9MVzUxYlNrN1hHNWNiaUFnSUNBdkx5QlFiM056YVdKc1pTQnphV2R1SUdOb1lXNW5aVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnS0hSb2FYTXVkMjl5WkhOYk1GMGdmQ0F3S1NBOElHNTFiU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnYm5WdElDMGdLSFJvYVhNdWQyOXlaSE5iTUYwZ2ZDQXdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVhOMVltNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdodmRYUWdZMmhsWTJ0elhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBZV1JrYmlBOUlHWjFibU4wYVc5dUlGOXBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBclBTQnVkVzA3WEc1Y2JpQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0ErUFNBd2VEUXdNREF3TURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQXRQU0F3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJREZkSUQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySURGZEt5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrZ0t5QXhLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk4xWW5SeVlXTjBJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVltNGdQU0JtZFc1amRHbHZiaUJwYzNWaWJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmlBZ0lDQnBaaUFvYm5WdElEd2dNQ2tnY21WMGRYSnVJSFJvYVhNdWFXRmtaRzRvTFc1MWJTazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdSdUtHNTFiU2s3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0xUMGdiblZ0TzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeElDWW1JSFJvYVhNdWQyOXlaSE5iTUYwZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdMWFJvYVhNdWQyOXlaSE5iTUYwN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnUTJGeWNubGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0E4SURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQ3M5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ0xUMGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhaR1J1SUQwZ1puVnVZM1JwYjI0Z1lXUmtiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZV1JrYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkV0p1SUQwZ1puVnVZM1JwYjI0Z2MzVmliaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBjM1ZpYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV0p6SUQwZ1puVnVZM1JwYjI0Z2FXRmljeUFvS1NCN1hHNGdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdKeklEMGdablZ1WTNScGIyNGdZV0p6SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhZbk1vS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsemFHeHVjM1ZpYlhWc0lEMGdablZ1WTNScGIyNGdYMmx6YUd4dWMzVmliWFZzSUNodWRXMHNJRzExYkN3Z2MyaHBablFwSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYm5WdExteGxibWQwYUNBcklITm9hV1owTzF4dUlDQWdJSFpoY2lCcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR3hsYmlrN1hHNWNiaUFnSUNCMllYSWdkenRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCeWFXZG9kQ0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlHMTFiRHRjYmlBZ0lDQWdJSGNnTFQwZ2NtbG5hSFFnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUNoM0lENCtJREkyS1NBdElDZ29jbWxuYUhRZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDMGdjMmhwWm5RN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnUFQwOUlEQXBJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc1Y2JpQWdJQ0F2THlCVGRXSjBjbUZqZEdsdmJpQnZkbVZ5Wm14dmQxeHVJQ0FnSUdGemMyVnlkQ2hqWVhKeWVTQTlQVDBnTFRFcE8xeHVJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUMwb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZkMjl5WkVScGRpQTlJR1oxYm1OMGFXOXVJRjkzYjNKa1JHbDJJQ2h1ZFcwc0lHMXZaR1VwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCMGFHbHpMbXhsYm1kMGFDQXRJRzUxYlM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFNXZjbTFoYkdsNlpWeHVJQ0FnSUhaaGNpQmlhR2tnUFNCaUxuZHZjbVJ6VzJJdWJHVnVaM1JvSUMwZ01WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWFHbENhWFJ6SUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0dKb2FTazdYRzRnSUNBZ2MyaHBablFnUFNBeU5pQXRJR0pvYVVKcGRITTdYRzRnSUNBZ2FXWWdLSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaUlEMGdZaTUxYzJoc2JpaHphR2xtZENrN1hHNGdJQ0FnSUNCaExtbDFjMmhzYmloemFHbG1kQ2s3WEc0Z0lDQWdJQ0JpYUdrZ1BTQmlMbmR2Y21SelcySXViR1Z1WjNSb0lDMGdNVjBnZkNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdjWFZ2ZEdsbGJuUmNiaUFnSUNCMllYSWdiU0E5SUdFdWJHVnVaM1JvSUMwZ1lpNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlIRTdYRzVjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJSEVnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ0lDQnhMbXhsYm1kMGFDQTlJRzBnS3lBeE8xeHVJQ0FnSUNBZ2NTNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaHhMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHUnBabVlnUFNCaExtTnNiMjVsS0NrdVgybHphR3h1YzNWaWJYVnNLR0lzSURFc0lHMHBPMXh1SUNBZ0lHbG1JQ2hrYVdabUxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdaR2xtWmp0Y2JpQWdJQ0FnSUdsbUlDaHhLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYlYwZ1BTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J0SUMwZ01Uc2dhaUErUFNBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhhaUE5SUNoaExuZHZjbVJ6VzJJdWJHVnVaM1JvSUNzZ2FsMGdmQ0F3S1NBcUlEQjROREF3TURBd01DQXJYRzRnSUNBZ0lDQWdJQ2hoTG5kdmNtUnpXMkl1YkdWdVozUm9JQ3NnYWlBdElERmRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lDOHZJRTVQVkVVNklDaHhhaUF2SUdKb2FTa2dhWE1nS0RCNE0yWm1abVptWmlBcUlEQjROREF3TURBd01DQXJJREI0TTJabVptWm1aaWtnTHlBd2VESXdNREF3TURBZ2JXRjRYRzRnSUNBZ0lDQXZMeUFvTUhnM1ptWm1abVptS1Z4dUlDQWdJQ0FnY1dvZ1BTQk5ZWFJvTG0xcGJpZ29jV29nTHlCaWFHa3BJSHdnTUN3Z01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2djV29zSUdvcE8xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NXb3RMVHRjYmlBZ0lDQWdJQ0FnWVM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQWdJR0V1WDJsemFHeHVjM1ZpYlhWc0tHSXNJREVzSUdvcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeEtTQjdYRzRnSUNBZ0lDQWdJSEV1ZDI5eVpITmJhbDBnUFNCeGFqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJSEV1YzNSeWFYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ1lTNXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdSR1Z1YjNKdFlXeHBlbVZjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY2dKaVlnYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtITm9hV1owS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdaR2wyT2lCeElIeDhJRzUxYkd3c1hHNGdJQ0FnSUNCdGIyUTZJR0ZjYmlBZ0lDQjlPMXh1SUNCOU8xeHVYRzRnSUM4dklFNVBWRVU2SURFcElHQnRiMlJsWUNCallXNGdZbVVnYzJWMElIUnZJR0J0YjJSZ0lIUnZJSEpsY1hWbGMzUWdiVzlrSUc5dWJIa3NYRzRnSUM4dklDQWdJQ0FnSUhSdklHQmthWFpnSUhSdklISmxjWFZsYzNRZ1pHbDJJRzl1Ykhrc0lHOXlJR0psSUdGaWMyVnVkQ0IwYjF4dUlDQXZMeUFnSUNBZ0lDQnlaWEYxWlhOMElHSnZkR2dnWkdsMklDWWdiVzlrWEc0Z0lDOHZJQ0FnSUNBZ0lESXBJR0J3YjNOcGRHbDJaV0FnYVhNZ2RISjFaU0JwWmlCMWJuTnBaMjVsWkNCdGIyUWdhWE1nY21WeGRXVnpkR1ZrWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhadGIyUWdQU0JtZFc1amRHbHZiaUJrYVhadGIyUWdLRzUxYlN3Z2JXOWtaU3dnY0c5emFYUnBkbVVwSUh0Y2JpQWdJQ0JoYzNObGNuUW9JVzUxYlM1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tEQXBYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVhZc0lHMXZaQ3dnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2R0YjJRbktTQjdYRzRnSUNBZ0lDQWdJR1JwZGlBOUlISmxjeTVrYVhZdWJtVm5LQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnRiMlFnUFNCeVpYTXViVzlrTG01bFp5Z3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwZG1VZ0ppWWdiVzlrTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXOWtMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUnBkbTF2WkNodWRXMHVibVZuS0Nrc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2djbVZ6TG0xdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ0ppQnVkVzB1Ym1WbllYUnBkbVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG01bFp5Z3BMbVJwZG0xdlpDaHVkVzB1Ym1WbktDa3NJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCeVpYTXVaR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQ2IzUm9JRzUxYldKbGNuTWdZWEpsSUhCdmMybDBhWFpsSUdGMElIUm9hWE1nY0c5cGJuUmNibHh1SUNBZ0lDOHZJRk4wY21sd0lHSnZkR2dnYm5WdFltVnljeUIwYnlCaGNIQnliM2hwYldGMFpTQnphR2xtZENCMllXeDFaVnh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQ0Z2RHaHBjeTVzWlc1bmRHZ2dmSHdnZEdocGN5NWpiWEFvYm5WdEtTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklIUm9hWE5jYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVm1WeWVTQnphRzl5ZENCeVpXUjFZM1JwYjI1Y2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1MWJHeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdaR2wyT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhSb2FYTXVaR2wyYmlodWRXMHVkMjl5WkhOYk1GMHBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2Wkc0b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnY2pJZ1BUMDlJREVnSmlZZ1kyMXdJRDA5UFNBd0tTQnlaWFIxY200Z1pHMHVaR2wyTzF4dVhHNGdJQ0FnTHk4Z1VtOTFibVFnZFhCY2JpQWdJQ0J5WlhSMWNtNGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHVaR2wyTG1semRXSnVLREVwSURvZ1pHMHVaR2wyTG1saFpHUnVLREVwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0YjJSdUlEMGdablZ1WTNScGIyNGdiVzlrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUhaaGNpQndJRDBnS0RFZ1BEd2dNallwSUNVZ2JuVnRPMXh1WEc0Z0lDQWdkbUZ5SUdGall5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lHRmpZeUE5SUNod0lDb2dZV05qSUNzZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTa2dKU0J1ZFcwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JrYVhacGMybHZiaUJpZVNCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxrYVhadUlEMGdablZ1WTNScGIyNGdhV1JwZG00Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNUlDb2dNSGcwTURBd01EQXdPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlDaDNJQzhnYm5WdEtTQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiaUE5SUdaMWJtTjBhVzl1SUdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXUnBkbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpXZGpaQ0E5SUdaMWJtTjBhVzl1SUdWblkyUWdLSEFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9jQzV1WldkaGRHbDJaU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NGd0xtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUI0SUQwZ2RHaHBjenRjYmlBZ0lDQjJZWElnZVNBOUlIQXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lHbG1JQ2g0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNTFiVzlrS0hBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNWpiRzl1WlNncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRWdLaUI0SUNzZ1FpQXFJSGtnUFNCNFhHNGdJQ0FnZG1GeUlFRWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUVJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQXZMeUJESUNvZ2VDQXJJRVFnS2lCNUlEMGdlVnh1SUNBZ0lIWmhjaUJESUQwZ2JtVjNJRUpPS0RBcE8xeHVJQ0FnSUhaaGNpQkVJRDBnYm1WM0lFSk9LREVwTzF4dVhHNGdJQ0FnZG1GeUlHY2dQU0F3TzF4dVhHNGdJQ0FnZDJocGJHVWdLSGd1YVhORmRtVnVLQ2tnSmlZZ2VTNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdlQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I1TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNzclp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdlWEFnUFNCNUxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlIaHdJRDBnZUM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLQ0Y0TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvZUM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSGd1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hCTG1selQyUmtLQ2tnZkh3Z1FpNXBjMDlrWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxtbGhaR1FvZVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnUWk1cGMzVmlLSGh3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCQkxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdJQ0JDTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTUN3Z2FtMGdQU0F4T3lBb2VTNTNiM0prYzFzd1hTQW1JR3B0S1NBOVBUMGdNQ0FtSmlCcUlEd2dNalk3SUNzcmFpd2dhbTBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0dvZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYVnphSEp1S0dvcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FpMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoRExtbHpUMlJrS0NrZ2ZId2dSQzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkRMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1JDNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCRUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VDNWpiWEFvZVNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbHpkV0lvZVNrN1hHNGdJQ0FnSUNBZ0lFRXVhWE4xWWloREtUdGNiaUFnSUNBZ0lDQWdRaTVwYzNWaUtFUXBPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlUzVwYzNWaUtIZ3BPMXh1SUNBZ0lDQWdJQ0JETG1semRXSW9RU2s3WEc0Z0lDQWdJQ0FnSUVRdWFYTjFZaWhDS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZVG9nUXl4Y2JpQWdJQ0FnSUdJNklFUXNYRzRnSUNBZ0lDQm5ZMlE2SUhrdWFYVnphR3h1S0djcFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJVYUdseklHbHpJSEpsWkhWalpXUWdhVzVqWVhKdVlYUnBiMjRnYjJZZ2RHaGxJR0pwYm1GeWVTQkZSVUZjYmlBZ0x5OGdZV0p2ZG1Vc0lHUmxjMmxuYm1GMFpXUWdkRzhnYVc1MlpYSjBJRzFsYldKbGNuTWdiMllnZEdobFhHNGdJQzh2SUY5d2NtbHRaVjhnWm1sbGJHUnpJRVlvY0NrZ1lYUWdZU0J0WVhocGJXRnNJSE53WldWa1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNTJiWEFnUFNCbWRXNWpkR2x2YmlCZmFXNTJiWEFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoaExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdZUzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaElEMGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI0TVNBOUlHNWxkeUJDVGlneEtUdGNiaUFnSUNCMllYSWdlRElnUFNCdVpYY2dRazRvTUNrN1hHNWNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQmlMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjNhR2xzWlNBb1lTNWpiWEJ1S0RFcElENGdNQ0FtSmlCaUxtTnRjRzRvTVNrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhVzBnUFNBeE95QW9ZUzUzYjNKa2Mxc3dYU0FtSUdsdEtTQTlQVDBnTUNBbUppQnBJRHdnTWpZN0lDc3JhU3dnYVcwZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWFZ6YUhKdUtHa3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hUzB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNUzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNUzVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1TNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLR0l1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmlMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9lREl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlREl1YVdGa1pDaGtaV3gwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2VESXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGhMbU50Y0NoaUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNBZ0lDQWdlREV1YVhOMVlpaDRNaWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JpTG1semRXSW9ZU2s3WEc0Z0lDQWdJQ0FnSUhneUxtbHpkV0lvZURFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdhV1lnS0dFdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdlREU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZGpaQ0E5SUdaMWJtTjBhVzl1SUdkalpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJ1ZFcwdVlXSnpLQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTNXBjMXBsY204b0tTa2djbVYwZFhKdUlIUm9hWE11WVdKektDazdYRzVjYmlBZ0lDQjJZWElnWVNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQjJZWElnWWlBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJR0l1Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ0x5OGdVbVZ0YjNabElHTnZiVzF2YmlCbVlXTjBiM0lnYjJZZ2RIZHZYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2MyaHBablFnUFNBd095QmhMbWx6UlhabGJpZ3BJQ1ltSUdJdWFYTkZkbVZ1S0NrN0lITm9hV1owS3lzcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdZaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnZDJocGJHVWdLR0V1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb1lpNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSElnUFNCaExtTnRjQ2hpS1R0Y2JpQWdJQ0FnSUdsbUlDaHlJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUZDJGd0lHQmhZQ0JoYm1RZ1lHSmdJSFJ2SUcxaGEyVWdZR0ZnSUdGc2QyRjVjeUJpYVdkblpYSWdkR2hoYmlCZ1ltQmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQmhPMXh1SUNBZ0lDQWdJQ0JoSUQwZ1lqdGNiaUFnSUNBZ0lDQWdZaUE5SUhRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISWdQVDA5SURBZ2ZId2dZaTVqYlhCdUtERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2RISjFaU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZaTVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdWRtVnlkQ0J1ZFcxaVpYSWdhVzRnZEdobElHWnBaV3hrSUVZb2JuVnRLVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZuWTJRb2JuVnRLUzVoTG5WdGIyUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhORmRtVnVJRDBnWm5WdVkzUnBiMjRnYVhORmRtVnVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTlBaR1FnUFNCbWRXNWpkR2x2YmlCcGMwOWtaQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuZHZjbVJ6V3pCZElDWWdNU2tnUFQwOUlERTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR1pwY25OMElIZHZjbVFnWVc1a0lHNTFiVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZVzVrYkc0Z1BTQm1kVzVqZEdsdmJpQmhibVJzYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZDI5eVpITmJNRjBnSmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNWpjbVZ0Wlc1MElHRjBJSFJvWlNCaWFYUWdjRzl6YVhScGIyNGdhVzR0YkdsdVpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbHVZMjRnUFNCbWRXNWpkR2x2YmlCaWFXNWpiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkQ0FsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRDQXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJSEVnUFNBeElEdzhJSEk3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVNklHSnBkQ0JwY3lCdGRXTm9JR2hwWjJobGNpQjBhR0Z1SUdGc2JDQmxlR2x6ZEdsdVp5QjNiM0prYzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQThQU0J6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlsZUhCaGJtUW9jeUFySURFcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHpYU0I4UFNCeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKcGRDQmhibVFnY0hKdmNHRm5ZWFJsTENCcFppQnVaV1ZrWldSY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNCeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpPeUJqWVhKeWVTQWhQVDBnTUNBbUppQnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSGNnS3owZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnUGo0K0lESTJPMXh1SUNBZ0lDQWdkeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZHp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOYVpYSnZJRDBnWm5WdVkzUnBiMjRnYVhOYVpYSnZJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTIxd2JpQTlJR1oxYm1OMGFXOXVJR050Y0c0Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdVpXZGhkR2wyWlNBOUlHNTFiU0E4SURBN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlBaGJtVm5ZWFJwZG1VcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lISmxjeUE5SURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNodVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzBnUFNBdGJuVnRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppd2dKMDUxYldKbGNpQnBjeUIwYjI4Z1ltbG5KeWs3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjNJRDA5UFNCdWRXMGdQeUF3SURvZ2R5QThJRzUxYlNBL0lDMHhJRG9nTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdkSGR2SUc1MWJXSmxjbk1nWVc1a0lISmxkSFZ5YmpwY2JpQWdMeThnTVNBdElHbG1JR0IwYUdsellDQStJR0J1ZFcxZ1hHNGdJQzh2SURBZ0xTQnBaaUJnZEdocGMyQWdQVDBnWUc1MWJXQmNiaUFnTHk4Z0xURWdMU0JwWmlCZ2RHaHBjMkFnUENCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZMjF3SUQwZ1puVnVZM1JwYjI0Z1kyMXdJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdQVDA5SURBcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE11ZFdOdGNDaHVkVzBwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQnlaWFIxY200Z0xYSmxjeUI4SURBN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJWYm5OcFoyNWxaQ0JqYjIxd1lYSnBjMjl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWTIxd0lEMGdablZ1WTNScGIyNGdkV050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nYUdGMlpTQjBhR1VnYzJGdFpTQnphV2R1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJREU3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJQzB4TzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJSFpoY2lCaElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHBYU0I4SURBN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoSUQwOVBTQmlLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJR2xtSUNoaElEd2dZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F0TVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lTQStJR0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHNGdQU0JtZFc1amRHbHZiaUJuZEc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1FnUFNCbWRXNWpkR2x2YmlCbmRDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdLRzUxYlNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlc0Z1BTQm1kVzVqZEdsdmJpQm5kR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUGowZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVozUmxJRDBnWm5WdVkzUnBiMjRnWjNSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkRzRnUFNCbWRXNWpkR2x2YmlCc2RHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTFRFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MElEMGdablZ1WTNScGIyNGdiSFFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxiaUE5SUdaMWJtTjBhVzl1SUd4MFpXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQThQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVzZEdVZ1BTQm1kVzVqZEdsdmJpQnNkR1VnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1WeGJpQTlJR1oxYm1OMGFXOXVJR1Z4YmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQklISmxaSFZqWlNCamIyNTBaWGgwTENCamIzVnNaQ0JpWlNCMWMybHVaeUJ0YjI1MFoyOXRaWEo1SUc5eUlITnZiV1YwYUdsdVp5QmlaWFIwWlhJc0lHUmxjR1Z1WkdsdVoxeHVJQ0F2THlCdmJpQjBhR1VnWUcxZ0lHbDBjMlZzWmk1Y2JpQWdMeTljYmlBZ1FrNHVjbVZrSUQwZ1puVnVZM1JwYjI0Z2NtVmtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGSmxaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxSmxaQ0E5SUdaMWJtTjBhVzl1SUhSdlVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZM1I0TG1OdmJuWmxjblJVYnloMGFHbHpLUzVmWm05eVkyVlNaV1FvWTNSNEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVkpsWkNBOUlHWjFibU4wYVc5dUlHWnliMjFTWldRZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0oyWnliMjFTWldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUc1MWJXSmxjbk1nYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WTI5dWRtVnlkRVp5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDltYjNKalpWSmxaQ0E5SUdaMWJtTjBhVzl1SUY5bWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdkR2hwY3k1eVpXUWdQU0JqZEhnN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1admNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1ptOXlZMlZTWldRZ0tHTjBlQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hkR2hwY3k1eVpXUXNJQ2RCYkhKbFlXUjVJR0VnYm5WdFltVnlJR2x1SUhKbFpIVmpkR2x2YmlCamIyNTBaWGgwSnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVGa1pDQTlJR1oxYm1OMGFXOXVJSEpsWkVGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1FXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNWhaR1FvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NVRmtaQ0E5SUdaMWJtTjBhVzl1SUhKbFpFbEJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRWxCWkdRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1saFpHUW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVTNWaUlEMGdablZ1WTNScGIyNGdjbVZrVTNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTjFZaWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzVmlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk4xWWlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOMVlpaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUYUd3Z1BTQm1kVzVqZEdsdmJpQnlaV1JUYUd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOb2JDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMyaHNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkUxMWJDQTlJR1oxYm1OMGFXOXVJSEpsWkUxMWJDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1RYVnNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3lLSFJvYVhNc0lHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtMTFiQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlRYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1NVMTFiQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUWFZzSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt5S0hSb2FYTXNJRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbWx0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtVM0Z5SUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5OeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NWTnhjaUE5SUdaMWJtTjBhVzl1SUhKbFpFbFRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbFRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1semNYSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNGMVlYSmxJSEp2YjNRZ2IzWmxjaUJ3WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGNYSjBJRDBnWm5WdVkzUnBiMjRnY21Wa1UzRnlkQ0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UzRnlkQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeWRDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NXNTJiU0E5SUdaMWJtTjBhVzl1SUhKbFpFbHVkbTBnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbHVkbTBnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1sdWRtMG9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzVsWjJGMGFYWmxJR05zYjI1bElHOW1JR0IwYUdsellDQWxJR0J5WldRZ2JXOWtkV3h2WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RtVm5JRDBnWm5WdVkzUnBiMjRnY21Wa1RtVm5JQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldST1pXY2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVURW9kR2hwY3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbTVsWnloMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVUc5M0lEMGdablZ1WTNScGIyNGdjbVZrVUc5M0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUWdKaVlnSVc1MWJTNXlaV1FzSUNkeVpXUlFiM2NvYm05eWJXRnNUblZ0S1NjcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1d2IzY29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjbWx0WlNCdWRXMWlaWEp6SUhkcGRHZ2daV1ptYVdOcFpXNTBJSEpsWkhWamRHbHZibHh1SUNCMllYSWdjSEpwYldWeklEMGdlMXh1SUNBZ0lHc3lOVFk2SUc1MWJHd3NYRzRnSUNBZ2NESXlORG9nYm5Wc2JDeGNiaUFnSUNCd01Ua3lPaUJ1ZFd4c0xGeHVJQ0FnSUhBeU5UVXhPVG9nYm5Wc2JGeHVJQ0I5TzF4dVhHNGdJQzh2SUZCelpYVmtieTFOWlhKelpXNXVaU0J3Y21sdFpWeHVJQ0JtZFc1amRHbHZiaUJOVUhKcGJXVWdLRzVoYldVc0lIQXBJSHRjYmlBZ0lDQXZMeUJRSUQwZ01pQmVJRTRnTFNCTFhHNGdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG5BZ1BTQnVaWGNnUWs0b2NDd2dNVFlwTzF4dUlDQWdJSFJvYVhNdWJpQTlJSFJvYVhNdWNDNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1zZ1BTQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtIUm9hWE11YmlrdWFYTjFZaWgwYUdsekxuQXBPMXh1WEc0Z0lDQWdkR2hwY3k1MGJYQWdQU0IwYUdsekxsOTBiWEFvS1R0Y2JpQWdmVnh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdVgzUnRjQ0E5SUdaMWJtTjBhVzl1SUY5MGJYQWdLQ2tnZTF4dUlDQWdJSFpoY2lCMGJYQWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnZEcxd0xuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtFMWhkR2d1WTJWcGJDaDBhR2x6TG00Z0x5QXhNeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBiWEE3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z2FYSmxaSFZqWlNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhOemRXMWxjeUIwYUdGMElHQnVkVzFnSUdseklHeGxjM01nZEdoaGJpQmdVRjR5WUZ4dUlDQWdJQzh2SUc1MWJTQTlJRWhKSUNvZ0tESWdYaUJPSUMwZ1N5a2dLeUJJU1NBcUlFc2dLeUJNVHlBOUlFaEpJQ29nU3lBcklFeFBJQ2h0YjJRZ1VDbGNiaUFnSUNCMllYSWdjaUE5SUc1MWJUdGNiaUFnSUNCMllYSWdjbXhsYmp0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIUm9hWE11YzNCc2FYUW9jaXdnZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVcxMWJFc29jaWs3WEc0Z0lDQWdJQ0J5SUQwZ2NpNXBZV1JrS0hSb2FYTXVkRzF3S1R0Y2JpQWdJQ0FnSUhKc1pXNGdQU0J5TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0hKc1pXNGdQaUIwYUdsekxtNHBPMXh1WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJSEpzWlc0Z1BDQjBhR2x6TG00Z1B5QXRNU0E2SUhJdWRXTnRjQ2gwYUdsekxuQXBPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjaTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTIxd0lENGdNQ2tnZTF4dUlDQWdJQ0FnY2k1cGMzVmlLSFJvYVhNdWNDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhJdWMzUnlhWEFvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFFwSUh0Y2JpQWdJQ0JwYm5CMWRDNXBkWE5vY200b2RHaHBjeTV1TENBd0xDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNXBiWFZzS0hSb2FYTXVheWs3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1N6STFOaUFvS1NCN1hHNGdJQ0FnVFZCeWFXMWxMbU5oYkd3b1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdKMnN5TlRZbkxGeHVJQ0FnSUNBZ0oyWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abElHWm1abVptWXpKbUp5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9TekkxTml3Z1RWQnlhVzFsS1R0Y2JseHVJQ0JMTWpVMkxuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMGNIVjBLU0I3WEc0Z0lDQWdMeThnTWpVMklEMGdPU0FxSURJMklDc2dNakpjYmlBZ0lDQjJZWElnYldGemF5QTlJREI0TTJabVptWm1PMXh1WEc0Z0lDQWdkbUZ5SUc5MWRFeGxiaUE5SUUxaGRHZ3ViV2x1S0dsdWNIVjBMbXhsYm1kMGFDd2dPU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2ZFhSTVpXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2IzVjBjSFYwTG5kdmNtUnpXMmxkSUQwZ2FXNXdkWFF1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHOTFkSEIxZEM1c1pXNW5kR2dnUFNCdmRYUk1aVzQ3WEc1Y2JpQWdJQ0JwWmlBb2FXNXdkWFF1YkdWdVozUm9JRHc5SURrcElIdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lHbHVjSFYwTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVTJocFpuUWdZbmtnT1NCc2FXMWljMXh1SUNBZ0lIWmhjaUJ3Y21WMklEMGdhVzV3ZFhRdWQyOXlaSE5iT1YwN1hHNGdJQ0FnYjNWMGNIVjBMbmR2Y21SelcyOTFkSEIxZEM1c1pXNW5kR2dySzEwZ1BTQndjbVYySUNZZ2JXRnphenRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJREV3T3lCcElEd2dhVzV3ZFhRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdVpYaDBJRDBnYVc1d2RYUXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYmFTQXRJREV3WFNBOUlDZ29ibVY0ZENBbUlHMWhjMnNwSUR3OElEUXBJSHdnS0hCeVpYWWdQajQrSURJeUtUdGNiaUFnSUNBZ0lIQnlaWFlnUFNCdVpYaDBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtVjJJRDQrUGowZ01qSTdYRzRnSUNBZ2FXNXdkWFF1ZDI5eVpITmJhU0F0SURFd1hTQTlJSEJ5WlhZN1hHNGdJQ0FnYVdZZ0tIQnlaWFlnUFQwOUlEQWdKaVlnYVc1d2RYUXViR1Z1WjNSb0lENGdNVEFwSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0F4TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlEazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXdNREF3TUROa01TQTlJRnNnTUhnME1Dd2dNSGd6WkRFZ1hWeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb1hTQTlJREE3WEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnS3lBeFhTQTlJREE3WEc0Z0lDQWdiblZ0TG14bGJtZDBhQ0FyUFNBeU8xeHVYRzRnSUNBZ0x5OGdZbTkxYm1SbFpDQmhkRG9nTUhnME1DQXFJREI0TTJabVptWm1aaUFySURCNE0yUXdJRDBnTUhneE1EQXdNREF6T1RCY2JpQWdJQ0IyWVhJZ2JHOGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRzUxYlM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnNieUFyUFNCM0lDb2dNSGd6WkRFN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHeHZJRDBnZHlBcUlEQjROREFnS3lBb0tHeHZJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRVpoYzNRZ2JHVnVaM1JvSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J1ZFcwdWJHVnVaM1JvTFMwN1hHNGdJQ0FnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzB1YkdWdVozUm9MUzA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJeU5DQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXlNalFuTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SURBd01EQXdNREF4SnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VESXlOQ3dnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNVGt5SUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RFNU1pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1abVptWWdabVptWm1abVptWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTVRreUxDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeU5UVXhPU0FvS1NCN1hHNGdJQ0FnTHk4Z01pQmVJREkxTlNBdElERTVYRzRnSUNBZ1RWQnlhVzFsTG1OaGJHd29YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnSnpJMU5URTVKeXhjYmlBZ0lDQWdJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9VREkxTlRFNUxDQk5VSEpwYldVcE8xeHVYRzRnSUZBeU5UVXhPUzV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVROY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVnRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNBb2JuVnRMbmR2Y21SelcybGRJSHdnTUNrZ0tpQXdlREV6SUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JvYVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHaHBJRDQrUGowZ01qWTdYRzVjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQm9hVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDc3JYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVWNGNHOXlkR1ZrSUcxdmMzUnNlU0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3l3Z2RYTmxJSEJzWVdsdUlHNWhiV1VnYVc1emRHVmhaRnh1SUNCQ1RpNWZjSEpwYldVZ1BTQm1kVzVqZEdsdmJpQndjbWx0WlNBb2JtRnRaU2tnZTF4dUlDQWdJQzh2SUVOaFkyaGxaQ0IyWlhKemFXOXVJRzltSUhCeWFXMWxYRzRnSUNBZ2FXWWdLSEJ5YVcxbGMxdHVZVzFsWFNrZ2NtVjBkWEp1SUhCeWFXMWxjMXR1WVcxbFhUdGNibHh1SUNBZ0lIWmhjaUJ3Y21sdFpUdGNiaUFnSUNCcFppQW9ibUZ0WlNBOVBUMGdKMnN5TlRZbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJMTWpVMktDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREl5TkNjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TWpRb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNVGt5SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREU1TWlncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXlOVFV4T1NjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TlRVeE9TZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdWEyNXZkMjRnY0hKcGJXVWdKeUFySUc1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtbHRaWE5iYm1GdFpWMGdQU0J3Y21sdFpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd2NtbHRaVHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQ1lYTmxJSEpsWkhWamRHbHZiaUJsYm1kcGJtVmNiaUFnTHk5Y2JpQWdablZ1WTNScGIyNGdVbVZrSUNodEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YVcxbElEMGdRazR1WDNCeWFXMWxLRzBwTzF4dUlDQWdJQ0FnZEdocGN5NXRJRDBnY0hKcGJXVXVjRHRjYmlBZ0lDQWdJSFJvYVhNdWNISnBiV1VnUFNCd2NtbHRaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0cwdVozUnVLREVwTENBbmJXOWtkV3gxY3lCdGRYTjBJR0psSUdkeVpXRjBaWElnZEdoaGJpQXhKeWs3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J0TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWZkbVZ5YVdaNU1TQTlJR1oxYm1OMGFXOXVJRjkyWlhKcFpua3hJQ2hoS1NCN1hHNGdJQ0FnWVhOelpYSjBLR0V1Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUdGemMyVnlkQ2hoTG5KbFpDd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reUlEMGdablZ1WTNScGIyNGdYM1psY21sbWVUSWdLR0VzSUdJcElIdGNiaUFnSUNCaGMzTmxjblFvS0dFdWJtVm5ZWFJwZG1VZ2ZDQmlMbTVsWjJGMGFYWmxLU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0lDWW1JR0V1Y21Wa0lEMDlQU0JpTG5KbFpDeGNiaUFnSUNBZ0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJXOWtJRDBnWm5WdVkzUnBiMjRnYVcxdlpDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbkJ5YVcxbEtTQnlaWFIxY200Z2RHaHBjeTV3Y21sdFpTNXBjbVZrZFdObEtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnWVM1MWJXOWtLSFJvYVhNdWJTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbklDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJTNXpkV0lvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrSUNoaExDQmlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRtVnlhV1o1TWloaExDQmlLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0JoTG1Ga1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhV0ZrWkNBOUlHWjFibU4wYVc5dUlHbGhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVdGa1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YzNWaUtHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdWFYTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjMmhzSUQwZ1puVnVZM1JwYjI0Z2MyaHNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt4S0dFcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1MWMyaHNiaWh1ZFcwcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRkV3dnUFNCbWRXNWpkR2x2YmlCcGJYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWFXMTFiQ2hpS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzV0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE54Y2lBOUlHWjFibU4wYVc5dUlHbHpjWElnS0dFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0dFc0lHRXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29ZU3dnWVNrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSjBJRDBnWm5WdVkzUnBiMjRnYzNGeWRDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoaExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z1lTNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2RtRnlJRzF2WkRNZ1BTQjBhR2x6TG0wdVlXNWtiRzRvTXlrN1hHNGdJQ0FnWVhOelpYSjBLRzF2WkRNZ0pTQXlJRDA5UFNBeEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaVnh1SUNBZ0lHbG1JQ2h0YjJReklEMDlQU0F6S1NCN1hHNGdJQ0FnSUNCMllYSWdjRzkzSUQwZ2RHaHBjeTV0TG1Ga1pDaHVaWGNnUWs0b01Ta3BMbWwxYzJoeWJpZ3lLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmR5aGhMQ0J3YjNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGUnZibVZzYkdrdFUyaGhibXR6SUdGc1oyOXlhWFJvYlNBb1ZHOTBZV3hzZVNCMWJtOXdkR2x0YVhwbFpDQmhibVFnYzJ4dmR5bGNiaUFnSUNBdkwxeHVJQ0FnSUM4dklFWnBibVFnVVNCaGJtUWdVeXdnZEdoaGRDQlJJQ29nTWlCZUlGTWdQU0FvVUNBdElERXBYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLVHRjYmlBZ0lDQjJZWElnY3lBOUlEQTdYRzRnSUNBZ2QyaHBiR1VnS0NGeExtbHpXbVZ5YnlncElDWW1JSEV1WVc1a2JHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0FnSUhFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9JWEV1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHOXVaU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCMllYSWdiazl1WlNBOUlHOXVaUzV5WldST1pXY29LVHRjYmx4dUlDQWdJQzh2SUVacGJtUWdjWFZoWkhKaGRHbGpJRzV2YmkxeVpYTnBaSFZsWEc0Z0lDQWdMeThnVGs5VVJUb2dUV0Y0SUdseklITjFZMmdnWW1WallYVnpaU0J2WmlCblpXNWxjbUZzYVhwbFpDQlNhV1Z0WVc1dUlHaDVjRzkwYUdWemFYTXVYRzRnSUNBZ2RtRnlJR3h3YjNjZ1BTQjBhR2x6TG0wdWMzVmliaWd4S1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlIb2dQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdlaUE5SUc1bGR5QkNUaWd5SUNvZ2VpQXFJSG9wTG5SdlVtVmtLSFJvYVhNcE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXVjRzkzS0hvc0lHeHdiM2NwTG1OdGNDaHVUMjVsS1NBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZWk1eVpXUkpRV1JrS0c1UGJtVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTV3YjNjb2Vpd2djU2s3WEc0Z0lDQWdkbUZ5SUhJZ1BTQjBhR2x6TG5CdmR5aGhMQ0J4TG1Ga1pHNG9NU2t1YVhWemFISnVLREVwS1R0Y2JpQWdJQ0IyWVhJZ2RDQTlJSFJvYVhNdWNHOTNLR0VzSUhFcE8xeHVJQ0FnSUhaaGNpQnRJRDBnY3p0Y2JpQWdJQ0IzYUdsc1pTQW9kQzVqYlhBb2IyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSFE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dkRzF3TG1OdGNDaHZibVVwSUNFOVBTQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkRzF3SUQwZ2RHMXdMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWE56WlhKMEtHa2dQQ0J0S1R0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NXdiM2NvWXl3Z2JtVjNJRUpPS0RFcExtbDFjMmhzYmlodElDMGdhU0F0SURFcEtUdGNibHh1SUNBZ0lDQWdjaUE5SUhJdWNtVmtUWFZzS0dJcE8xeHVJQ0FnSUNBZ1l5QTlJR0l1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0IwSUQwZ2RDNXlaV1JOZFd3b1l5azdYRzRnSUNBZ0lDQnRJRDBnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ2RtRnlJR2x1ZGlBOUlHRXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNGdJQ0FnYVdZZ0tHbHVkaTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhVzUyTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb2FXNTJLUzV5WldST1pXY29LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9ZU3dnYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlM1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCcFppQW9iblZ0TG1OdGNHNG9NU2tnUFQwOUlEQXBJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnZDJsdVpHOTNVMmw2WlNBOUlEUTdYRzRnSUNBZ2RtRnlJSGR1WkNBOUlHNWxkeUJCY25KaGVTZ3hJRHc4SUhkcGJtUnZkMU5wZW1VcE8xeHVJQ0FnSUhkdVpGc3dYU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCM2JtUmJNVjBnUFNCaE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z2QyNWtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM2JtUmJhVjBnUFNCMGFHbHpMbTExYkNoM2JtUmJhU0F0SURGZExDQmhLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkMjVrV3pCZE8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ2RtRnlJSE4wWVhKMElEMGdiblZ0TG1KcGRFeGxibWQwYUNncElDVWdNalk3WEc0Z0lDQWdhV1lnS0hOMFlYSjBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiUzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdjM1JoY25RZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWW1sMElEMGdLSGR2Y21RZ1BqNGdhaWtnSmlBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WeklDRTlQU0IzYm1SYk1GMHBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTnhjaWh5WlhNcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnBkQ0E5UFQwZ01DQW1KaUJqZFhKeVpXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEdzhQU0F4TzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUh3OUlHSnBkRHRjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlzck8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRXhsYmlBaFBUMGdkMmx1Wkc5M1UybDZaU0FtSmlBb2FTQWhQVDBnTUNCOGZDQnFJQ0U5UFNBd0tTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdkR2hwY3k1dGRXd29jbVZ6TENCM2JtUmJZM1Z5Y21WdWRGMHBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6ZEdGeWRDQTlJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdiblZ0TG5WdGIyUW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCeUlEMDlQU0J1ZFcwZ1B5QnlMbU5zYjI1bEtDa2dPaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lISmxjeTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OWNiaUFnTHk4Z1RXOXVkR2R2YldWeWVTQnRaWFJvYjJRZ1pXNW5hVzVsWEc0Z0lDOHZYRzVjYmlBZ1FrNHViVzl1ZENBOUlHWjFibU4wYVc5dUlHMXZiblFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dUVzl1ZENodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUUxdmJuUWdLRzBwSUh0Y2JpQWdJQ0JTWldRdVkyRnNiQ2gwYUdsekxDQnRLVHRjYmx4dUlDQWdJSFJvYVhNdWMyaHBablFnUFNCMGFHbHpMbTB1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXphR2xtZENBclBTQXlOaUF0SUNoMGFHbHpMbk5vYVdaMElDVWdNallwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWNpQTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkR2hwY3k1eU1pQTlJSFJvYVhNdWFXMXZaQ2gwYUdsekxuSXVjM0Z5S0NrcE8xeHVJQ0FnSUhSb2FYTXVjbWx1ZGlBOUlIUm9hWE11Y2k1ZmFXNTJiWEFvZEdocGN5NXRLVHRjYmx4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjbWx1ZGk1dGRXd29kR2hwY3k1eUtTNXBjM1ZpYmlneEtTNWthWFlvZEdocGN5NXRLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxtMXBibll1ZFcxdlpDaDBhR2x6TG5JcE8xeHVJQ0FnSUhSb2FYTXViV2x1ZGlBOUlIUm9hWE11Y2k1emRXSW9kR2hwY3k1dGFXNTJLVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhOYjI1MExDQlNaV1FwTzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SVWJ5QTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUlVieUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNodWRXMHVkWE5vYkc0b2RHaHBjeTV6YUdsbWRDa3BPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUkdjbTl0SUQwZ1puVnVZM1JwYjI0Z1kyOXVkbVZ5ZEVaeWIyMGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBiVzlrS0c1MWJTNXRkV3dvZEdocGN5NXlhVzUyS1NrN1hHNGdJQ0FnY2k1eVpXUWdQU0J1ZFd4c08xeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa2dmSHdnWWk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ1lTNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JoTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2RDQTlJR0V1YVcxMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNibHh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3dLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXViWFZzS0dJcE8xeHVJQ0FnSUhaaGNpQmpJRDBnZEM1dFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dGFXNTJLUzVwYldGemEyNG9kR2hwY3k1emFHbG1kQ2t1YlhWc0tIUm9hWE11YlNrN1hHNGdJQ0FnZG1GeUlIVWdQU0IwTG1semRXSW9ZeWt1YVhWemFISnVLSFJvYVhNdWMyaHBablFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IxTzF4dUlDQWdJR2xtSUNoMUxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kUzVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXNTJiU0E5SUdaMWJtTjBhVzl1SUdsdWRtMGdLR0VwSUh0Y2JpQWdJQ0F2THlBb1FWSXBYaTB4SUNvZ1VsNHlJRDBnS0VGZUxURWdLaUJTWGkweEtTQXFJRkplTWlBOUlFRmVMVEVnS2lCU1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTXVhVzF2WkNoaExsOXBiblp0Y0NoMGFHbHpMbTBwTG0xMWJDaDBhR2x6TG5JeUtTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1OUtTaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCdGIyUjFiR1VzSUhSb2FYTXBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9lbGxpcHRpYy9wYWNrYWdlLmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL3BhY2thZ2UuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogX2FyZ3MsIF9kZXZlbG9wbWVudCwgX2Zyb20sIF9pZCwgX2luQnVuZGxlLCBfaW50ZWdyaXR5LCBfbG9jYXRpb24sIF9waGFudG9tQ2hpbGRyZW4sIF9yZXF1ZXN0ZWQsIF9yZXF1aXJlZEJ5LCBfcmVzb2x2ZWQsIF9zcGVjLCBfd2hlcmUsIGF1dGhvciwgYnVncywgZGVwZW5kZW5jaWVzLCBkZXNjcmlwdGlvbiwgZGV2RGVwZW5kZW5jaWVzLCBmaWxlcywgaG9tZXBhZ2UsIGtleXdvcmRzLCBsaWNlbnNlLCBtYWluLCBuYW1lLCByZXBvc2l0b3J5LCBzY3JpcHRzLCB2ZXJzaW9uLCBkZWZhdWx0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IEpTT04ucGFyc2UoXFxcIntcXFxcXFxcIl9hcmdzXFxcXFxcXCI6W1tcXFxcXFxcImVsbGlwdGljQDYuNS4yXFxcXFxcXCIsXFxcXFxcXCJFOlxcXFxcXFxcXFxcXFxcXFxob21lZGV2XFxcXFxcXFxcXFxcXFxcXHBhY2thZ2VidWlsZFxcXFxcXFxcXFxcXFxcXFxwYWNrYWdlc1xcXFxcXFxcXFxcXFxcXFxhYXJkdmFyay1yZWFjdFxcXFxcXFwiXV0sXFxcXFxcXCJfZGV2ZWxvcG1lbnRcXFxcXFxcIjp0cnVlLFxcXFxcXFwiX2Zyb21cXFxcXFxcIjpcXFxcXFxcImVsbGlwdGljQDYuNS4yXFxcXFxcXCIsXFxcXFxcXCJfaWRcXFxcXFxcIjpcXFxcXFxcImVsbGlwdGljQDYuNS4yXFxcXFxcXCIsXFxcXFxcXCJfaW5CdW5kbGVcXFxcXFxcIjpmYWxzZSxcXFxcXFxcIl9pbnRlZ3JpdHlcXFxcXFxcIjpcXFxcXFxcInNoYTUxMi1mNHg3MG9relpiSVFsL05TUkxrSS8rdHRlVi85V3FMOTh6eCtTUTY5S2JYeG1Wcm1qd3NOVVBuL2dZSkowc0h2RWFrMjRjWmdISVBlZ1JlUEF0QS94dz09XFxcXFxcXCIsXFxcXFxcXCJfbG9jYXRpb25cXFxcXFxcIjpcXFxcXFxcIi9lbGxpcHRpY1xcXFxcXFwiLFxcXFxcXFwiX3BoYW50b21DaGlsZHJlblxcXFxcXFwiOnt9LFxcXFxcXFwiX3JlcXVlc3RlZFxcXFxcXFwiOntcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcInZlcnNpb25cXFxcXFxcIixcXFxcXFxcInJlZ2lzdHJ5XFxcXFxcXCI6dHJ1ZSxcXFxcXFxcInJhd1xcXFxcXFwiOlxcXFxcXFwiZWxsaXB0aWNANi41LjJcXFxcXFxcIixcXFxcXFxcIm5hbWVcXFxcXFxcIjpcXFxcXFxcImVsbGlwdGljXFxcXFxcXCIsXFxcXFxcXCJlc2NhcGVkTmFtZVxcXFxcXFwiOlxcXFxcXFwiZWxsaXB0aWNcXFxcXFxcIixcXFxcXFxcInJhd1NwZWNcXFxcXFxcIjpcXFxcXFxcIjYuNS4yXFxcXFxcXCIsXFxcXFxcXCJzYXZlU3BlY1xcXFxcXFwiOm51bGwsXFxcXFxcXCJmZXRjaFNwZWNcXFxcXFxcIjpcXFxcXFxcIjYuNS4yXFxcXFxcXCJ9LFxcXFxcXFwiX3JlcXVpcmVkQnlcXFxcXFxcIjpbXFxcXFxcXCIvYnJvd3NlcmlmeS1zaWduXFxcXFxcXCIsXFxcXFxcXCIvY3JlYXRlLWVjZGhcXFxcXFxcIl0sXFxcXFxcXCJfcmVzb2x2ZWRcXFxcXFxcIjpcXFxcXFxcImh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VsbGlwdGljLy0vZWxsaXB0aWMtNi41LjIudGd6XFxcXFxcXCIsXFxcXFxcXCJfc3BlY1xcXFxcXFwiOlxcXFxcXFwiNi41LjJcXFxcXFxcIixcXFxcXFxcIl93aGVyZVxcXFxcXFwiOlxcXFxcXFwiRTpcXFxcXFxcXFxcXFxcXFxcaG9tZWRldlxcXFxcXFxcXFxcXFxcXFxwYWNrYWdlYnVpbGRcXFxcXFxcXFxcXFxcXFxccGFja2FnZXNcXFxcXFxcXFxcXFxcXFxcYWFyZHZhcmstcmVhY3RcXFxcXFxcIixcXFxcXFxcImF1dGhvclxcXFxcXFwiOntcXFxcXFxcIm5hbWVcXFxcXFxcIjpcXFxcXFxcIkZlZG9yIEluZHV0bnlcXFxcXFxcIixcXFxcXFxcImVtYWlsXFxcXFxcXCI6XFxcXFxcXCJmZWRvckBpbmR1dG55LmNvbVxcXFxcXFwifSxcXFxcXFxcImJ1Z3NcXFxcXFxcIjp7XFxcXFxcXCJ1cmxcXFxcXFxcIjpcXFxcXFxcImh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljL2lzc3Vlc1xcXFxcXFwifSxcXFxcXFxcImRlcGVuZGVuY2llc1xcXFxcXFwiOntcXFxcXFxcImJuLmpzXFxcXFxcXCI6XFxcXFxcXCJeNC40LjBcXFxcXFxcIixcXFxcXFxcImJyb3JhbmRcXFxcXFxcIjpcXFxcXFxcIl4xLjAuMVxcXFxcXFwiLFxcXFxcXFwiaGFzaC5qc1xcXFxcXFwiOlxcXFxcXFwiXjEuMC4wXFxcXFxcXCIsXFxcXFxcXCJobWFjLWRyYmdcXFxcXFxcIjpcXFxcXFxcIl4xLjAuMFxcXFxcXFwiLFxcXFxcXFwiaW5oZXJpdHNcXFxcXFxcIjpcXFxcXFxcIl4yLjAuMVxcXFxcXFwiLFxcXFxcXFwibWluaW1hbGlzdGljLWFzc2VydFxcXFxcXFwiOlxcXFxcXFwiXjEuMC4wXFxcXFxcXCIsXFxcXFxcXCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzXFxcXFxcXCI6XFxcXFxcXCJeMS4wLjBcXFxcXFxcIn0sXFxcXFxcXCJkZXNjcmlwdGlvblxcXFxcXFwiOlxcXFxcXFwiRUMgY3J5cHRvZ3JhcGh5XFxcXFxcXCIsXFxcXFxcXCJkZXZEZXBlbmRlbmNpZXNcXFxcXFxcIjp7XFxcXFxcXCJicmZzXFxcXFxcXCI6XFxcXFxcXCJeMS40LjNcXFxcXFxcIixcXFxcXFxcImNvdmVyYWxsc1xcXFxcXFwiOlxcXFxcXFwiXjMuMC44XFxcXFxcXCIsXFxcXFxcXCJncnVudFxcXFxcXFwiOlxcXFxcXFwiXjEuMC40XFxcXFxcXCIsXFxcXFxcXCJncnVudC1icm93c2VyaWZ5XFxcXFxcXCI6XFxcXFxcXCJeNS4wLjBcXFxcXFxcIixcXFxcXFxcImdydW50LWNsaVxcXFxcXFwiOlxcXFxcXFwiXjEuMi4wXFxcXFxcXCIsXFxcXFxcXCJncnVudC1jb250cmliLWNvbm5lY3RcXFxcXFxcIjpcXFxcXFxcIl4xLjAuMFxcXFxcXFwiLFxcXFxcXFwiZ3J1bnQtY29udHJpYi1jb3B5XFxcXFxcXCI6XFxcXFxcXCJeMS4wLjBcXFxcXFxcIixcXFxcXFxcImdydW50LWNvbnRyaWItdWdsaWZ5XFxcXFxcXCI6XFxcXFxcXCJeMS4wLjFcXFxcXFxcIixcXFxcXFxcImdydW50LW1vY2hhLWlzdGFuYnVsXFxcXFxcXCI6XFxcXFxcXCJeMy4wLjFcXFxcXFxcIixcXFxcXFxcImdydW50LXNhdWNlbGFic1xcXFxcXFwiOlxcXFxcXFwiXjkuMC4xXFxcXFxcXCIsXFxcXFxcXCJpc3RhbmJ1bFxcXFxcXFwiOlxcXFxcXFwiXjAuNC4yXFxcXFxcXCIsXFxcXFxcXCJqc2NzXFxcXFxcXCI6XFxcXFxcXCJeMy4wLjdcXFxcXFxcIixcXFxcXFxcImpzaGludFxcXFxcXFwiOlxcXFxcXFwiXjIuMTAuM1xcXFxcXFwiLFxcXFxcXFwibW9jaGFcXFxcXFxcIjpcXFxcXFxcIl42LjIuMlxcXFxcXFwifSxcXFxcXFxcImZpbGVzXFxcXFxcXCI6W1xcXFxcXFwibGliXFxcXFxcXCJdLFxcXFxcXFwiaG9tZXBhZ2VcXFxcXFxcIjpcXFxcXFxcImh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljXFxcXFxcXCIsXFxcXFxcXCJrZXl3b3Jkc1xcXFxcXFwiOltcXFxcXFxcIkVDXFxcXFxcXCIsXFxcXFxcXCJFbGxpcHRpY1xcXFxcXFwiLFxcXFxcXFwiY3VydmVcXFxcXFxcIixcXFxcXFxcIkNyeXB0b2dyYXBoeVxcXFxcXFwiXSxcXFxcXFxcImxpY2Vuc2VcXFxcXFxcIjpcXFxcXFxcIk1JVFxcXFxcXFwiLFxcXFxcXFwibWFpblxcXFxcXFwiOlxcXFxcXFwibGliL2VsbGlwdGljLmpzXFxcXFxcXCIsXFxcXFxcXCJuYW1lXFxcXFxcXCI6XFxcXFxcXCJlbGxpcHRpY1xcXFxcXFwiLFxcXFxcXFwicmVwb3NpdG9yeVxcXFxcXFwiOntcXFxcXFxcInR5cGVcXFxcXFxcIjpcXFxcXFxcImdpdFxcXFxcXFwiLFxcXFxcXFwidXJsXFxcXFxcXCI6XFxcXFxcXCJnaXQrc3NoOi8vZ2l0QGdpdGh1Yi5jb20vaW5kdXRueS9lbGxpcHRpYy5naXRcXFxcXFxcIn0sXFxcXFxcXCJzY3JpcHRzXFxcXFxcXCI6e1xcXFxcXFwianNjc1xcXFxcXFwiOlxcXFxcXFwianNjcyBiZW5jaG1hcmtzLyouanMgbGliLyouanMgbGliLyoqLyouanMgbGliLyoqLyoqLyouanMgdGVzdC9pbmRleC5qc1xcXFxcXFwiLFxcXFxcXFwianNoaW50XFxcXFxcXCI6XFxcXFxcXCJqc2NzIGJlbmNobWFya3MvKi5qcyBsaWIvKi5qcyBsaWIvKiovKi5qcyBsaWIvKiovKiovKi5qcyB0ZXN0L2luZGV4LmpzXFxcXFxcXCIsXFxcXFxcXCJsaW50XFxcXFxcXCI6XFxcXFxcXCJucG0gcnVuIGpzY3MgJiYgbnBtIHJ1biBqc2hpbnRcXFxcXFxcIixcXFxcXFxcInRlc3RcXFxcXFxcIjpcXFxcXFxcIm5wbSBydW4gbGludCAmJiBucG0gcnVuIHVuaXRcXFxcXFxcIixcXFxcXFxcInVuaXRcXFxcXFxcIjpcXFxcXFxcImlzdGFuYnVsIHRlc3QgX21vY2hhIC0tcmVwb3J0ZXI9c3BlYyB0ZXN0L2luZGV4LmpzXFxcXFxcXCIsXFxcXFxcXCJ2ZXJzaW9uXFxcXFxcXCI6XFxcXFxcXCJncnVudCBkaXN0ICYmIGdpdCBhZGQgZGlzdC9cXFxcXFxcIn0sXFxcXFxcXCJ2ZXJzaW9uXFxcXFxcXCI6XFxcXFxcXCI2LjUuMlxcXFxcXFwifVxcXCIpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5bGJHeHBjSFJwWXk5d1lXTnJZV2RsTG1wemIyNHVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2VsbGlwdGljL3BhY2thZ2UuanNvblxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG5cXG5cXG52YXIgUiA9IHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyA/IFJlZmxlY3QgOiBudWxsXFxudmFyIFJlZmxlY3RBcHBseSA9IFIgJiYgdHlwZW9mIFIuYXBwbHkgPT09ICdmdW5jdGlvbidcXG4gID8gUi5hcHBseVxcbiAgOiBmdW5jdGlvbiBSZWZsZWN0QXBwbHkodGFyZ2V0LCByZWNlaXZlciwgYXJncykge1xcbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodGFyZ2V0LCByZWNlaXZlciwgYXJncyk7XFxuICB9XFxuXFxudmFyIFJlZmxlY3RPd25LZXlzXFxuaWYgKFIgJiYgdHlwZW9mIFIub3duS2V5cyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgUmVmbGVjdE93bktleXMgPSBSLm93bktleXNcXG59IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcXG4gIFJlZmxlY3RPd25LZXlzID0gZnVuY3Rpb24gUmVmbGVjdE93bktleXModGFyZ2V0KSB7XFxuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQpXFxuICAgICAgLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkpO1xcbiAgfTtcXG59IGVsc2Uge1xcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcXG4gICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRhcmdldCk7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBQcm9jZXNzRW1pdFdhcm5pbmcod2FybmluZykge1xcbiAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS53YXJuKSBjb25zb2xlLndhcm4od2FybmluZyk7XFxufVxcblxcbnZhciBOdW1iZXJJc05hTiA9IE51bWJlci5pc05hTiB8fCBmdW5jdGlvbiBOdW1iZXJJc05hTih2YWx1ZSkge1xcbiAgcmV0dXJuIHZhbHVlICE9PSB2YWx1ZTtcXG59XFxuXFxuZnVuY3Rpb24gRXZlbnRFbWl0dGVyKCkge1xcbiAgRXZlbnRFbWl0dGVyLmluaXQuY2FsbCh0aGlzKTtcXG59XFxubW9kdWxlLmV4cG9ydHMgPSBFdmVudEVtaXR0ZXI7XFxuXFxuLy8gQmFja3dhcmRzLWNvbXBhdCB3aXRoIG5vZGUgMC4xMC54XFxuRXZlbnRFbWl0dGVyLkV2ZW50RW1pdHRlciA9IEV2ZW50RW1pdHRlcjtcXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHMgPSB1bmRlZmluZWQ7XFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fZXZlbnRzQ291bnQgPSAwO1xcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHVuZGVmaW5lZDtcXG5cXG4vLyBCeSBkZWZhdWx0IEV2ZW50RW1pdHRlcnMgd2lsbCBwcmludCBhIHdhcm5pbmcgaWYgbW9yZSB0aGFuIDEwIGxpc3RlbmVycyBhcmVcXG4vLyBhZGRlZCB0byBpdC4gVGhpcyBpcyBhIHVzZWZ1bCBkZWZhdWx0IHdoaWNoIGhlbHBzIGZpbmRpbmcgbWVtb3J5IGxlYWtzLlxcbnZhciBkZWZhdWx0TWF4TGlzdGVuZXJzID0gMTA7XFxuXFxuZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcikge1xcbiAgaWYgKHR5cGVvZiBsaXN0ZW5lciAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXFxcImxpc3RlbmVyXFxcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBsaXN0ZW5lcik7XFxuICB9XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFdmVudEVtaXR0ZXIsICdkZWZhdWx0TWF4TGlzdGVuZXJzJywge1xcbiAgZW51bWVyYWJsZTogdHJ1ZSxcXG4gIGdldDogZnVuY3Rpb24oKSB7XFxuICAgIHJldHVybiBkZWZhdWx0TWF4TGlzdGVuZXJzO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24oYXJnKSB7XFxuICAgIGlmICh0eXBlb2YgYXJnICE9PSAnbnVtYmVyJyB8fCBhcmcgPCAwIHx8IE51bWJlcklzTmFOKGFyZykpIHtcXG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mIFxcXCJkZWZhdWx0TWF4TGlzdGVuZXJzXFxcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnICsgYXJnICsgJy4nKTtcXG4gICAgfVxcbiAgICBkZWZhdWx0TWF4TGlzdGVuZXJzID0gYXJnO1xcbiAgfVxcbn0pO1xcblxcbkV2ZW50RW1pdHRlci5pbml0ID0gZnVuY3Rpb24oKSB7XFxuXFxuICBpZiAodGhpcy5fZXZlbnRzID09PSB1bmRlZmluZWQgfHxcXG4gICAgICB0aGlzLl9ldmVudHMgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSB7XFxuICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XFxuICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcXG4gIH1cXG5cXG4gIHRoaXMuX21heExpc3RlbmVycyA9IHRoaXMuX21heExpc3RlbmVycyB8fCB1bmRlZmluZWQ7XFxufTtcXG5cXG4vLyBPYnZpb3VzbHkgbm90IGFsbCBFbWl0dGVycyBzaG91bGQgYmUgbGltaXRlZCB0byAxMC4gVGhpcyBmdW5jdGlvbiBhbGxvd3NcXG4vLyB0aGF0IHRvIGJlIGluY3JlYXNlZC4gU2V0IHRvIHplcm8gZm9yIHVubGltaXRlZC5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnNldE1heExpc3RlbmVycyA9IGZ1bmN0aW9uIHNldE1heExpc3RlbmVycyhuKSB7XFxuICBpZiAodHlwZW9mIG4gIT09ICdudW1iZXInIHx8IG4gPCAwIHx8IE51bWJlcklzTmFOKG4pKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXFxcIm5cXFwiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcgKyBuICsgJy4nKTtcXG4gIH1cXG4gIHRoaXMuX21heExpc3RlbmVycyA9IG47XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIF9nZXRNYXhMaXN0ZW5lcnModGhhdCkge1xcbiAgaWYgKHRoYXQuX21heExpc3RlbmVycyA9PT0gdW5kZWZpbmVkKVxcbiAgICByZXR1cm4gRXZlbnRFbWl0dGVyLmRlZmF1bHRNYXhMaXN0ZW5lcnM7XFxuICByZXR1cm4gdGhhdC5fbWF4TGlzdGVuZXJzO1xcbn1cXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmdldE1heExpc3RlbmVycyA9IGZ1bmN0aW9uIGdldE1heExpc3RlbmVycygpIHtcXG4gIHJldHVybiBfZ2V0TWF4TGlzdGVuZXJzKHRoaXMpO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24gZW1pdCh0eXBlKSB7XFxuICB2YXIgYXJncyA9IFtdO1xcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIGFyZ3MucHVzaChhcmd1bWVudHNbaV0pO1xcbiAgdmFyIGRvRXJyb3IgPSAodHlwZSA9PT0gJ2Vycm9yJyk7XFxuXFxuICB2YXIgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcbiAgaWYgKGV2ZW50cyAhPT0gdW5kZWZpbmVkKVxcbiAgICBkb0Vycm9yID0gKGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQpO1xcbiAgZWxzZSBpZiAoIWRvRXJyb3IpXFxuICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIC8vIElmIHRoZXJlIGlzIG5vICdlcnJvcicgZXZlbnQgbGlzdGVuZXIgdGhlbiB0aHJvdy5cXG4gIGlmIChkb0Vycm9yKSB7XFxuICAgIHZhciBlcjtcXG4gICAgaWYgKGFyZ3MubGVuZ3RoID4gMClcXG4gICAgICBlciA9IGFyZ3NbMF07XFxuICAgIGlmIChlciBpbnN0YW5jZW9mIEVycm9yKSB7XFxuICAgICAgLy8gTm90ZTogVGhlIGNvbW1lbnRzIG9uIHRoZSBgdGhyb3dgIGxpbmVzIGFyZSBpbnRlbnRpb25hbCwgdGhleSBzaG93XFxuICAgICAgLy8gdXAgaW4gTm9kZSdzIG91dHB1dCBpZiB0aGlzIHJlc3VsdHMgaW4gYW4gdW5oYW5kbGVkIGV4Y2VwdGlvbi5cXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkICdlcnJvcicgZXZlbnRcXG4gICAgfVxcbiAgICAvLyBBdCBsZWFzdCBnaXZlIHNvbWUga2luZCBvZiBjb250ZXh0IHRvIHRoZSB1c2VyXFxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1VuaGFuZGxlZCBlcnJvci4nICsgKGVyID8gJyAoJyArIGVyLm1lc3NhZ2UgKyAnKScgOiAnJykpO1xcbiAgICBlcnIuY29udGV4dCA9IGVyO1xcbiAgICB0aHJvdyBlcnI7IC8vIFVuaGFuZGxlZCAnZXJyb3InIGV2ZW50XFxuICB9XFxuXFxuICB2YXIgaGFuZGxlciA9IGV2ZW50c1t0eXBlXTtcXG5cXG4gIGlmIChoYW5kbGVyID09PSB1bmRlZmluZWQpXFxuICAgIHJldHVybiBmYWxzZTtcXG5cXG4gIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBSZWZsZWN0QXBwbHkoaGFuZGxlciwgdGhpcywgYXJncyk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgbGVuID0gaGFuZGxlci5sZW5ndGg7XFxuICAgIHZhciBsaXN0ZW5lcnMgPSBhcnJheUNsb25lKGhhbmRsZXIsIGxlbik7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpXFxuICAgICAgUmVmbGVjdEFwcGx5KGxpc3RlbmVyc1tpXSwgdGhpcywgYXJncyk7XFxuICB9XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbmZ1bmN0aW9uIF9hZGRMaXN0ZW5lcih0YXJnZXQsIHR5cGUsIGxpc3RlbmVyLCBwcmVwZW5kKSB7XFxuICB2YXIgbTtcXG4gIHZhciBldmVudHM7XFxuICB2YXIgZXhpc3Rpbmc7XFxuXFxuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcXG5cXG4gIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzO1xcbiAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXG4gICAgdGFyZ2V0Ll9ldmVudHNDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBUbyBhdm9pZCByZWN1cnNpb24gaW4gdGhlIGNhc2UgdGhhdCB0eXBlID09PSBcXFwibmV3TGlzdGVuZXJcXFwiISBCZWZvcmVcXG4gICAgLy8gYWRkaW5nIGl0IHRvIHRoZSBsaXN0ZW5lcnMsIGZpcnN0IGVtaXQgXFxcIm5ld0xpc3RlbmVyXFxcIi5cXG4gICAgaWYgKGV2ZW50cy5uZXdMaXN0ZW5lciAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgdGFyZ2V0LmVtaXQoJ25ld0xpc3RlbmVyJywgdHlwZSxcXG4gICAgICAgICAgICAgICAgICBsaXN0ZW5lci5saXN0ZW5lciA/IGxpc3RlbmVyLmxpc3RlbmVyIDogbGlzdGVuZXIpO1xcblxcbiAgICAgIC8vIFJlLWFzc2lnbiBgZXZlbnRzYCBiZWNhdXNlIGEgbmV3TGlzdGVuZXIgaGFuZGxlciBjb3VsZCBoYXZlIGNhdXNlZCB0aGVcXG4gICAgICAvLyB0aGlzLl9ldmVudHMgdG8gYmUgYXNzaWduZWQgdG8gYSBuZXcgb2JqZWN0XFxuICAgICAgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHM7XFxuICAgIH1cXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV07XFxuICB9XFxuXFxuICBpZiAoZXhpc3RpbmcgPT09IHVuZGVmaW5lZCkge1xcbiAgICAvLyBPcHRpbWl6ZSB0aGUgY2FzZSBvZiBvbmUgbGlzdGVuZXIuIERvbid0IG5lZWQgdGhlIGV4dHJhIGFycmF5IG9iamVjdC5cXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV0gPSBsaXN0ZW5lcjtcXG4gICAgKyt0YXJnZXQuX2V2ZW50c0NvdW50O1xcbiAgfSBlbHNlIHtcXG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIC8vIEFkZGluZyB0aGUgc2Vjb25kIGVsZW1lbnQsIG5lZWQgdG8gY2hhbmdlIHRvIGFycmF5LlxcbiAgICAgIGV4aXN0aW5nID0gZXZlbnRzW3R5cGVdID1cXG4gICAgICAgIHByZXBlbmQgPyBbbGlzdGVuZXIsIGV4aXN0aW5nXSA6IFtleGlzdGluZywgbGlzdGVuZXJdO1xcbiAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgZ290IGFuIGFycmF5LCBqdXN0IGFwcGVuZC5cXG4gICAgfSBlbHNlIGlmIChwcmVwZW5kKSB7XFxuICAgICAgZXhpc3RpbmcudW5zaGlmdChsaXN0ZW5lcik7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZXhpc3RpbmcucHVzaChsaXN0ZW5lcik7XFxuICAgIH1cXG5cXG4gICAgLy8gQ2hlY2sgZm9yIGxpc3RlbmVyIGxlYWtcXG4gICAgbSA9IF9nZXRNYXhMaXN0ZW5lcnModGFyZ2V0KTtcXG4gICAgaWYgKG0gPiAwICYmIGV4aXN0aW5nLmxlbmd0aCA+IG0gJiYgIWV4aXN0aW5nLndhcm5lZCkge1xcbiAgICAgIGV4aXN0aW5nLndhcm5lZCA9IHRydWU7XFxuICAgICAgLy8gTm8gZXJyb3IgY29kZSBmb3IgdGhpcyBzaW5jZSBpdCBpcyBhIFdhcm5pbmdcXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcXG4gICAgICB2YXIgdyA9IG5ldyBFcnJvcignUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLmxlbmd0aCArICcgJyArIFN0cmluZyh0eXBlKSArICcgbGlzdGVuZXJzICcgK1xcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byAnICtcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdpbmNyZWFzZSBsaW1pdCcpO1xcbiAgICAgIHcubmFtZSA9ICdNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmcnO1xcbiAgICAgIHcuZW1pdHRlciA9IHRhcmdldDtcXG4gICAgICB3LnR5cGUgPSB0eXBlO1xcbiAgICAgIHcuY291bnQgPSBleGlzdGluZy5sZW5ndGg7XFxuICAgICAgUHJvY2Vzc0VtaXRXYXJuaW5nKHcpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdGFyZ2V0O1xcbn1cXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyID0gZnVuY3Rpb24gYWRkTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcXG4gIHJldHVybiBfYWRkTGlzdGVuZXIodGhpcywgdHlwZSwgbGlzdGVuZXIsIGZhbHNlKTtcXG59O1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyO1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucHJlcGVuZExpc3RlbmVyID1cXG4gICAgZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XFxuICAgICAgcmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLCB0eXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XFxuICAgIH07XFxuXFxuZnVuY3Rpb24gb25jZVdyYXBwZXIoKSB7XFxuICBpZiAoIXRoaXMuZmlyZWQpIHtcXG4gICAgdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLCB0aGlzLndyYXBGbik7XFxuICAgIHRoaXMuZmlyZWQgPSB0cnVlO1xcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMClcXG4gICAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTtcXG4gICAgcmV0dXJuIHRoaXMubGlzdGVuZXIuYXBwbHkodGhpcy50YXJnZXQsIGFyZ3VtZW50cyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIF9vbmNlV3JhcCh0YXJnZXQsIHR5cGUsIGxpc3RlbmVyKSB7XFxuICB2YXIgc3RhdGUgPSB7IGZpcmVkOiBmYWxzZSwgd3JhcEZuOiB1bmRlZmluZWQsIHRhcmdldDogdGFyZ2V0LCB0eXBlOiB0eXBlLCBsaXN0ZW5lcjogbGlzdGVuZXIgfTtcXG4gIHZhciB3cmFwcGVkID0gb25jZVdyYXBwZXIuYmluZChzdGF0ZSk7XFxuICB3cmFwcGVkLmxpc3RlbmVyID0gbGlzdGVuZXI7XFxuICBzdGF0ZS53cmFwRm4gPSB3cmFwcGVkO1xcbiAgcmV0dXJuIHdyYXBwZWQ7XFxufVxcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub25jZSA9IGZ1bmN0aW9uIG9uY2UodHlwZSwgbGlzdGVuZXIpIHtcXG4gIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xcbiAgdGhpcy5vbih0eXBlLCBfb25jZVdyYXAodGhpcywgdHlwZSwgbGlzdGVuZXIpKTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyID1cXG4gICAgZnVuY3Rpb24gcHJlcGVuZE9uY2VMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcikge1xcbiAgICAgIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xcbiAgICAgIHRoaXMucHJlcGVuZExpc3RlbmVyKHR5cGUsIF9vbmNlV3JhcCh0aGlzLCB0eXBlLCBsaXN0ZW5lcikpO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9O1xcblxcbi8vIEVtaXRzIGEgJ3JlbW92ZUxpc3RlbmVyJyBldmVudCBpZiBhbmQgb25seSBpZiB0aGUgbGlzdGVuZXIgd2FzIHJlbW92ZWQuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XFxuICAgIGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XFxuICAgICAgdmFyIGxpc3QsIGV2ZW50cywgcG9zaXRpb24sIGksIG9yaWdpbmFsTGlzdGVuZXI7XFxuXFxuICAgICAgY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcik7XFxuXFxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcbiAgICAgIGlmIChldmVudHMgPT09IHVuZGVmaW5lZClcXG4gICAgICAgIHJldHVybiB0aGlzO1xcblxcbiAgICAgIGxpc3QgPSBldmVudHNbdHlwZV07XFxuICAgICAgaWYgKGxpc3QgPT09IHVuZGVmaW5lZClcXG4gICAgICAgIHJldHVybiB0aGlzO1xcblxcbiAgICAgIGlmIChsaXN0ID09PSBsaXN0ZW5lciB8fCBsaXN0Lmxpc3RlbmVyID09PSBsaXN0ZW5lcikge1xcbiAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXFxuICAgICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XFxuICAgICAgICBlbHNlIHtcXG4gICAgICAgICAgZGVsZXRlIGV2ZW50c1t0eXBlXTtcXG4gICAgICAgICAgaWYgKGV2ZW50cy5yZW1vdmVMaXN0ZW5lcilcXG4gICAgICAgICAgICB0aGlzLmVtaXQoJ3JlbW92ZUxpc3RlbmVyJywgdHlwZSwgbGlzdC5saXN0ZW5lciB8fCBsaXN0ZW5lcik7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbGlzdCAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgcG9zaXRpb24gPSAtMTtcXG5cXG4gICAgICAgIGZvciAoaSA9IGxpc3QubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgICAgaWYgKGxpc3RbaV0gPT09IGxpc3RlbmVyIHx8IGxpc3RbaV0ubGlzdGVuZXIgPT09IGxpc3RlbmVyKSB7XFxuICAgICAgICAgICAgb3JpZ2luYWxMaXN0ZW5lciA9IGxpc3RbaV0ubGlzdGVuZXI7XFxuICAgICAgICAgICAgcG9zaXRpb24gPSBpO1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAocG9zaXRpb24gPCAwKVxcbiAgICAgICAgICByZXR1cm4gdGhpcztcXG5cXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMClcXG4gICAgICAgICAgbGlzdC5zaGlmdCgpO1xcbiAgICAgICAgZWxzZSB7XFxuICAgICAgICAgIHNwbGljZU9uZShsaXN0LCBwb3NpdGlvbik7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPT09IDEpXFxuICAgICAgICAgIGV2ZW50c1t0eXBlXSA9IGxpc3RbMF07XFxuXFxuICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpXFxuICAgICAgICAgIHRoaXMuZW1pdCgncmVtb3ZlTGlzdGVuZXInLCB0eXBlLCBvcmlnaW5hbExpc3RlbmVyIHx8IGxpc3RlbmVyKTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vZmYgPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyO1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cXG4gICAgZnVuY3Rpb24gcmVtb3ZlQWxsTGlzdGVuZXJzKHR5cGUpIHtcXG4gICAgICB2YXIgbGlzdGVuZXJzLCBldmVudHMsIGk7XFxuXFxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcbiAgICAgIGlmIChldmVudHMgPT09IHVuZGVmaW5lZClcXG4gICAgICAgIHJldHVybiB0aGlzO1xcblxcbiAgICAgIC8vIG5vdCBsaXN0ZW5pbmcgZm9yIHJlbW92ZUxpc3RlbmVyLCBubyBuZWVkIHRvIGVtaXRcXG4gICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XFxuICAgICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XFxuICAgICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnRzW3R5cGVdICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXFxuICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXG4gICAgICAgICAgZWxzZVxcbiAgICAgICAgICAgIGRlbGV0ZSBldmVudHNbdHlwZV07XFxuICAgICAgICB9XFxuICAgICAgICByZXR1cm4gdGhpcztcXG4gICAgICB9XFxuXFxuICAgICAgLy8gZW1pdCByZW1vdmVMaXN0ZW5lciBmb3IgYWxsIGxpc3RlbmVycyBvbiBhbGwgZXZlbnRzXFxuICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcXG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcXG4gICAgICAgIHZhciBrZXk7XFxuICAgICAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7ICsraSkge1xcbiAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xcbiAgICAgICAgICBpZiAoa2V5ID09PSAncmVtb3ZlTGlzdGVuZXInKSBjb250aW51ZTtcXG4gICAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoa2V5KTtcXG4gICAgICAgIH1cXG4gICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCdyZW1vdmVMaXN0ZW5lcicpO1xcbiAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcXG4gICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICBsaXN0ZW5lcnMgPSBldmVudHNbdHlwZV07XFxuXFxuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lcnMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXJzKTtcXG4gICAgICB9IGVsc2UgaWYgKGxpc3RlbmVycyAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAvLyBMSUZPIG9yZGVyXFxuICAgICAgICBmb3IgKGkgPSBsaXN0ZW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnNbaV0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfTtcXG5cXG5mdW5jdGlvbiBfbGlzdGVuZXJzKHRhcmdldCwgdHlwZSwgdW53cmFwKSB7XFxuICB2YXIgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHM7XFxuXFxuICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXFxuICAgIHJldHVybiBbXTtcXG5cXG4gIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xcbiAgaWYgKGV2bGlzdGVuZXIgPT09IHVuZGVmaW5lZClcXG4gICAgcmV0dXJuIFtdO1xcblxcbiAgaWYgKHR5cGVvZiBldmxpc3RlbmVyID09PSAnZnVuY3Rpb24nKVxcbiAgICByZXR1cm4gdW53cmFwID8gW2V2bGlzdGVuZXIubGlzdGVuZXIgfHwgZXZsaXN0ZW5lcl0gOiBbZXZsaXN0ZW5lcl07XFxuXFxuICByZXR1cm4gdW53cmFwID9cXG4gICAgdW53cmFwTGlzdGVuZXJzKGV2bGlzdGVuZXIpIDogYXJyYXlDbG9uZShldmxpc3RlbmVyLCBldmxpc3RlbmVyLmxlbmd0aCk7XFxufVxcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJzID0gZnVuY3Rpb24gbGlzdGVuZXJzKHR5cGUpIHtcXG4gIHJldHVybiBfbGlzdGVuZXJzKHRoaXMsIHR5cGUsIHRydWUpO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnMgPSBmdW5jdGlvbiByYXdMaXN0ZW5lcnModHlwZSkge1xcbiAgcmV0dXJuIF9saXN0ZW5lcnModGhpcywgdHlwZSwgZmFsc2UpO1xcbn07XFxuXFxuRXZlbnRFbWl0dGVyLmxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbihlbWl0dGVyLCB0eXBlKSB7XFxuICBpZiAodHlwZW9mIGVtaXR0ZXIubGlzdGVuZXJDb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICByZXR1cm4gZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIGxpc3RlbmVyQ291bnQuY2FsbChlbWl0dGVyLCB0eXBlKTtcXG4gIH1cXG59O1xcblxcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IGxpc3RlbmVyQ291bnQ7XFxuZnVuY3Rpb24gbGlzdGVuZXJDb3VudCh0eXBlKSB7XFxuICB2YXIgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xcblxcbiAgaWYgKGV2ZW50cyAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xcblxcbiAgICBpZiAodHlwZW9mIGV2bGlzdGVuZXIgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICByZXR1cm4gMTtcXG4gICAgfSBlbHNlIGlmIChldmxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZXZsaXN0ZW5lci5sZW5ndGg7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiAwO1xcbn1cXG5cXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmV2ZW50TmFtZXMgPSBmdW5jdGlvbiBldmVudE5hbWVzKCkge1xcbiAgcmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50ID4gMCA/IFJlZmxlY3RPd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcXG59O1xcblxcbmZ1bmN0aW9uIGFycmF5Q2xvbmUoYXJyLCBuKSB7XFxuICB2YXIgY29weSA9IG5ldyBBcnJheShuKTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKVxcbiAgICBjb3B5W2ldID0gYXJyW2ldO1xcbiAgcmV0dXJuIGNvcHk7XFxufVxcblxcbmZ1bmN0aW9uIHNwbGljZU9uZShsaXN0LCBpbmRleCkge1xcbiAgZm9yICg7IGluZGV4ICsgMSA8IGxpc3QubGVuZ3RoOyBpbmRleCsrKVxcbiAgICBsaXN0W2luZGV4XSA9IGxpc3RbaW5kZXggKyAxXTtcXG4gIGxpc3QucG9wKCk7XFxufVxcblxcbmZ1bmN0aW9uIHVud3JhcExpc3RlbmVycyhhcnIpIHtcXG4gIHZhciByZXQgPSBuZXcgQXJyYXkoYXJyLmxlbmd0aCk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHJldC5sZW5ndGg7ICsraSkge1xcbiAgICByZXRbaV0gPSBhcnJbaV0ubGlzdGVuZXIgfHwgYXJyW2ldO1xcbiAgfVxcbiAgcmV0dXJuIHJldDtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlsZG1WdWRITXZaWFpsYm5SekxtcHpQMlpsTVdNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZZVHM3UVVGRllqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2MwSkJRWE5DTzBGQlEzWkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVN1FVRkRaanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdOQlFXTTdRVUZEWkRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhUUVVGVE8wRkJRelZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeGxRVUZsTzBGQlEyWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRXNhVU5CUVdsRExGRkJRVkU3UVVGRGVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeHpRMEZCYzBNc1VVRkJVVHRCUVVNNVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMRTlCUVU4N1FVRkRlRUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1VVRkJVU3g1UWtGQmVVSTdRVUZEYWtNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzWjBKQlFXZENPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMlYyWlc1MGN5OWxkbVZ1ZEhNdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1VpQTlJSFI1Y0dWdlppQlNaV1pzWldOMElEMDlQU0FuYjJKcVpXTjBKeUEvSUZKbFpteGxZM1FnT2lCdWRXeHNYRzUyWVhJZ1VtVm1iR1ZqZEVGd2NHeDVJRDBnVWlBbUppQjBlWEJsYjJZZ1VpNWhjSEJzZVNBOVBUMGdKMloxYm1OMGFXOXVKMXh1SUNBL0lGSXVZWEJ3YkhsY2JpQWdPaUJtZFc1amRHbHZiaUJTWldac1pXTjBRWEJ3Ykhrb2RHRnlaMlYwTENCeVpXTmxhWFpsY2l3Z1lYSm5jeWtnZTF4dUlDQWdJSEpsZEhWeWJpQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVXVZWEJ3YkhrdVkyRnNiQ2gwWVhKblpYUXNJSEpsWTJWcGRtVnlMQ0JoY21kektUdGNiaUFnZlZ4dVhHNTJZWElnVW1WbWJHVmpkRTkzYmt0bGVYTmNibWxtSUNoU0lDWW1JSFI1Y0dWdlppQlNMbTkzYmt0bGVYTWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnVW1WbWJHVmpkRTkzYmt0bGVYTWdQU0JTTG05M2JrdGxlWE5jYm4wZ1pXeHpaU0JwWmlBb1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5a2dlMXh1SUNCU1pXWnNaV04wVDNkdVMyVjVjeUE5SUdaMWJtTjBhVzl1SUZKbFpteGxZM1JQZDI1TFpYbHpLSFJoY21kbGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3loMFlYSm5aWFFwWEc0Z0lDQWdJQ0F1WTI5dVkyRjBLRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1vZEdGeVoyVjBLU2s3WEc0Z0lIMDdYRzU5SUdWc2MyVWdlMXh1SUNCU1pXWnNaV04wVDNkdVMyVjVjeUE5SUdaMWJtTjBhVzl1SUZKbFpteGxZM1JQZDI1TFpYbHpLSFJoY21kbGRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCUFltcGxZM1F1WjJWMFQzZHVVSEp2Y0dWeWRIbE9ZVzFsY3loMFlYSm5aWFFwTzF4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQlFjbTlqWlhOelJXMXBkRmRoY201cGJtY29kMkZ5Ym1sdVp5a2dlMXh1SUNCcFppQW9ZMjl1YzI5c1pTQW1KaUJqYjI1emIyeGxMbmRoY200cElHTnZibk52YkdVdWQyRnliaWgzWVhKdWFXNW5LVHRjYm4xY2JseHVkbUZ5SUU1MWJXSmxja2x6VG1GT0lEMGdUblZ0WW1WeUxtbHpUbUZPSUh4OElHWjFibU4wYVc5dUlFNTFiV0psY2tselRtRk9LSFpoYkhWbEtTQjdYRzRnSUhKbGRIVnliaUIyWVd4MVpTQWhQVDBnZG1Gc2RXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlFVjJaVzUwUlcxcGRIUmxjaWdwSUh0Y2JpQWdSWFpsYm5SRmJXbDBkR1Z5TG1sdWFYUXVZMkZzYkNoMGFHbHpLVHRjYm4xY2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1JYWmxiblJGYldsMGRHVnlPMXh1WEc0dkx5QkNZV05yZDJGeVpITXRZMjl0Y0dGMElIZHBkR2dnYm05a1pTQXdMakV3TG5oY2JrVjJaVzUwUlcxcGRIUmxjaTVGZG1WdWRFVnRhWFIwWlhJZ1BTQkZkbVZ1ZEVWdGFYUjBaWEk3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1WDJWMlpXNTBjeUE5SUhWdVpHVm1hVzVsWkR0Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1WDJWMlpXNTBjME52ZFc1MElEMGdNRHRjYmtWMlpXNTBSVzFwZEhSbGNpNXdjbTkwYjNSNWNHVXVYMjFoZUV4cGMzUmxibVZ5Y3lBOUlIVnVaR1ZtYVc1bFpEdGNibHh1THk4Z1Fua2daR1ZtWVhWc2RDQkZkbVZ1ZEVWdGFYUjBaWEp6SUhkcGJHd2djSEpwYm5RZ1lTQjNZWEp1YVc1bklHbG1JRzF2Y21VZ2RHaGhiaUF4TUNCc2FYTjBaVzVsY25NZ1lYSmxYRzR2THlCaFpHUmxaQ0IwYnlCcGRDNGdWR2hwY3lCcGN5QmhJSFZ6WldaMWJDQmtaV1poZFd4MElIZG9hV05vSUdobGJIQnpJR1pwYm1ScGJtY2diV1Z0YjNKNUlHeGxZV3R6TGx4dWRtRnlJR1JsWm1GMWJIUk5ZWGhNYVhOMFpXNWxjbk1nUFNBeE1EdGNibHh1Wm5WdVkzUnBiMjRnWTJobFkydE1hWE4wWlc1bGNpaHNhWE4wWlc1bGNpa2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlHeHBjM1JsYm1WeUlDRTlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblZHaGxJRndpYkdsemRHVnVaWEpjSWlCaGNtZDFiV1Z1ZENCdGRYTjBJR0psSUc5bUlIUjVjR1VnUm5WdVkzUnBiMjR1SUZKbFkyVnBkbVZrSUhSNWNHVWdKeUFySUhSNWNHVnZaaUJzYVhOMFpXNWxjaWs3WEc0Z0lIMWNibjFjYmx4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRVYyWlc1MFJXMXBkSFJsY2l3Z0oyUmxabUYxYkhSTllYaE1hWE4wWlc1bGNuTW5MQ0I3WEc0Z0lHVnVkVzFsY21GaWJHVTZJSFJ5ZFdVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdSbFptRjFiSFJOWVhoTWFYTjBaVzVsY25NN1hHNGdJSDBzWEc0Z0lITmxkRG9nWm5WdVkzUnBiMjRvWVhKbktTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmhjbWNnSVQwOUlDZHVkVzFpWlhJbklIeDhJR0Z5WnlBOElEQWdmSHdnVG5WdFltVnlTWE5PWVU0b1lYSm5LU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZKaGJtZGxSWEp5YjNJb0oxUm9aU0IyWVd4MVpTQnZaaUJjSW1SbFptRjFiSFJOWVhoTWFYTjBaVzVsY25OY0lpQnBjeUJ2ZFhRZ2IyWWdjbUZ1WjJVdUlFbDBJRzExYzNRZ1ltVWdZU0J1YjI0dGJtVm5ZWFJwZG1VZ2JuVnRZbVZ5TGlCU1pXTmxhWFpsWkNBbklDc2dZWEpuSUNzZ0p5NG5LVHRjYmlBZ0lDQjlYRzRnSUNBZ1pHVm1ZWFZzZEUxaGVFeHBjM1JsYm1WeWN5QTlJR0Z5Wnp0Y2JpQWdmVnh1ZlNrN1hHNWNia1YyWlc1MFJXMXBkSFJsY2k1cGJtbDBJRDBnWm5WdVkzUnBiMjRvS1NCN1hHNWNiaUFnYVdZZ0tIUm9hWE11WDJWMlpXNTBjeUE5UFQwZ2RXNWtaV1pwYm1Wa0lIeDhYRzRnSUNBZ0lDQjBhR2x6TGw5bGRtVnVkSE1nUFQwOUlFOWlhbVZqZEM1blpYUlFjbTkwYjNSNWNHVlBaaWgwYUdsektTNWZaWFpsYm5SektTQjdYRzRnSUNBZ2RHaHBjeTVmWlhabGJuUnpJRDBnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1R0Y2JpQWdJQ0IwYUdsekxsOWxkbVZ1ZEhORGIzVnVkQ0E5SURBN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5dFlYaE1hWE4wWlc1bGNuTWdQU0IwYUdsekxsOXRZWGhNYVhOMFpXNWxjbk1nZkh3Z2RXNWtaV1pwYm1Wa08xeHVmVHRjYmx4dUx5OGdUMkoyYVc5MWMyeDVJRzV2ZENCaGJHd2dSVzFwZEhSbGNuTWdjMmh2ZFd4a0lHSmxJR3hwYldsMFpXUWdkRzhnTVRBdUlGUm9hWE1nWm5WdVkzUnBiMjRnWVd4c2IzZHpYRzR2THlCMGFHRjBJSFJ2SUdKbElHbHVZM0psWVhObFpDNGdVMlYwSUhSdklIcGxjbThnWm05eUlIVnViR2x0YVhSbFpDNWNia1YyWlc1MFJXMXBkSFJsY2k1d2NtOTBiM1I1Y0dVdWMyVjBUV0Y0VEdsemRHVnVaWEp6SUQwZ1puVnVZM1JwYjI0Z2MyVjBUV0Y0VEdsemRHVnVaWEp6S0c0cElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCdUlDRTlQU0FuYm5WdFltVnlKeUI4ZkNCdUlEd2dNQ0I4ZkNCT2RXMWlaWEpKYzA1aFRpaHVLU2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkVWFHVWdkbUZzZFdVZ2IyWWdYQ0p1WENJZ2FYTWdiM1YwSUc5bUlISmhibWRsTGlCSmRDQnRkWE4wSUdKbElHRWdibTl1TFc1bFoyRjBhWFpsSUc1MWJXSmxjaTRnVW1WalpXbDJaV1FnSnlBcklHNGdLeUFuTGljcE8xeHVJQ0I5WEc0Z0lIUm9hWE11WDIxaGVFeHBjM1JsYm1WeWN5QTlJRzQ3WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdYMmRsZEUxaGVFeHBjM1JsYm1WeWN5aDBhR0YwS1NCN1hHNGdJR2xtSUNoMGFHRjBMbDl0WVhoTWFYTjBaVzVsY25NZ1BUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQnlaWFIxY200Z1JYWmxiblJGYldsMGRHVnlMbVJsWm1GMWJIUk5ZWGhNYVhOMFpXNWxjbk03WEc0Z0lISmxkSFZ5YmlCMGFHRjBMbDl0WVhoTWFYTjBaVzVsY25NN1hHNTlYRzVjYmtWMlpXNTBSVzFwZEhSbGNpNXdjbTkwYjNSNWNHVXVaMlYwVFdGNFRHbHpkR1Z1WlhKeklEMGdablZ1WTNScGIyNGdaMlYwVFdGNFRHbHpkR1Z1WlhKektDa2dlMXh1SUNCeVpYUjFjbTRnWDJkbGRFMWhlRXhwYzNSbGJtVnljeWgwYUdsektUdGNibjA3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1WlcxcGRDQTlJR1oxYm1OMGFXOXVJR1Z0YVhRb2RIbHdaU2tnZTF4dUlDQjJZWElnWVhKbmN5QTlJRnRkTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTVRzZ2FTQThJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZzdJR2tyS3lrZ1lYSm5jeTV3ZFhOb0tHRnlaM1Z0Wlc1MGMxdHBYU2s3WEc0Z0lIWmhjaUJrYjBWeWNtOXlJRDBnS0hSNWNHVWdQVDA5SUNkbGNuSnZjaWNwTzF4dVhHNGdJSFpoY2lCbGRtVnVkSE1nUFNCMGFHbHpMbDlsZG1WdWRITTdYRzRnSUdsbUlDaGxkbVZ1ZEhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ2xjYmlBZ0lDQmtiMFZ5Y205eUlEMGdLR1J2UlhKeWIzSWdKaVlnWlhabGJuUnpMbVZ5Y205eUlEMDlQU0IxYm1SbFptbHVaV1FwTzF4dUlDQmxiSE5sSUdsbUlDZ2haRzlGY25KdmNpbGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdTV1lnZEdobGNtVWdhWE1nYm04Z0oyVnljbTl5SnlCbGRtVnVkQ0JzYVhOMFpXNWxjaUIwYUdWdUlIUm9jbTkzTGx4dUlDQnBaaUFvWkc5RmNuSnZjaWtnZTF4dUlDQWdJSFpoY2lCbGNqdGNiaUFnSUNCcFppQW9ZWEpuY3k1c1pXNW5kR2dnUGlBd0tWeHVJQ0FnSUNBZ1pYSWdQU0JoY21keld6QmRPMXh1SUNBZ0lHbG1JQ2hsY2lCcGJuTjBZVzVqWlc5bUlFVnljbTl5S1NCN1hHNGdJQ0FnSUNBdkx5Qk9iM1JsT2lCVWFHVWdZMjl0YldWdWRITWdiMjRnZEdobElHQjBhSEp2ZDJBZ2JHbHVaWE1nWVhKbElHbHVkR1Z1ZEdsdmJtRnNMQ0IwYUdWNUlITm9iM2RjYmlBZ0lDQWdJQzh2SUhWd0lHbHVJRTV2WkdVbmN5QnZkWFJ3ZFhRZ2FXWWdkR2hwY3lCeVpYTjFiSFJ6SUdsdUlHRnVJSFZ1YUdGdVpHeGxaQ0JsZUdObGNIUnBiMjR1WEc0Z0lDQWdJQ0IwYUhKdmR5QmxjanNnTHk4Z1ZXNW9ZVzVrYkdWa0lDZGxjbkp2Y2ljZ1pYWmxiblJjYmlBZ0lDQjlYRzRnSUNBZ0x5OGdRWFFnYkdWaGMzUWdaMmwyWlNCemIyMWxJR3RwYm1RZ2IyWWdZMjl1ZEdWNGRDQjBieUIwYUdVZ2RYTmxjbHh1SUNBZ0lIWmhjaUJsY25JZ1BTQnVaWGNnUlhKeWIzSW9KMVZ1YUdGdVpHeGxaQ0JsY25KdmNpNG5JQ3NnS0dWeUlEOGdKeUFvSnlBcklHVnlMbTFsYzNOaFoyVWdLeUFuS1NjZ09pQW5KeWtwTzF4dUlDQWdJR1Z5Y2k1amIyNTBaWGgwSUQwZ1pYSTdYRzRnSUNBZ2RHaHliM2NnWlhKeU95QXZMeUJWYm1oaGJtUnNaV1FnSjJWeWNtOXlKeUJsZG1WdWRGeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdoaGJtUnNaWElnUFNCbGRtVnVkSE5iZEhsd1pWMDdYRzVjYmlBZ2FXWWdLR2hoYm1Sc1pYSWdQVDA5SUhWdVpHVm1hVzVsWkNsY2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCb1lXNWtiR1Z5SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdVbVZtYkdWamRFRndjR3g1S0doaGJtUnNaWElzSUhSb2FYTXNJR0Z5WjNNcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIWmhjaUJzWlc0Z1BTQm9ZVzVrYkdWeUxteGxibWQwYUR0Y2JpQWdJQ0IyWVhJZ2JHbHpkR1Z1WlhKeklEMGdZWEp5WVhsRGJHOXVaU2hvWVc1a2JHVnlMQ0JzWlc0cE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHVnVPeUFySzJrcFhHNGdJQ0FnSUNCU1pXWnNaV04wUVhCd2JIa29iR2x6ZEdWdVpYSnpXMmxkTENCMGFHbHpMQ0JoY21kektUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWDJGa1pFeHBjM1JsYm1WeUtIUmhjbWRsZEN3Z2RIbHdaU3dnYkdsemRHVnVaWElzSUhCeVpYQmxibVFwSUh0Y2JpQWdkbUZ5SUcwN1hHNGdJSFpoY2lCbGRtVnVkSE03WEc0Z0lIWmhjaUJsZUdsemRHbHVaenRjYmx4dUlDQmphR1ZqYTB4cGMzUmxibVZ5S0d4cGMzUmxibVZ5S1R0Y2JseHVJQ0JsZG1WdWRITWdQU0IwWVhKblpYUXVYMlYyWlc1MGN6dGNiaUFnYVdZZ0tHVjJaVzUwY3lBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdaWFpsYm5SeklEMGdkR0Z5WjJWMExsOWxkbVZ1ZEhNZ1BTQlBZbXBsWTNRdVkzSmxZWFJsS0c1MWJHd3BPMXh1SUNBZ0lIUmhjbWRsZEM1ZlpYWmxiblJ6UTI5MWJuUWdQU0F3TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGUnZJR0YyYjJsa0lISmxZM1Z5YzJsdmJpQnBiaUIwYUdVZ1kyRnpaU0IwYUdGMElIUjVjR1VnUFQwOUlGd2libVYzVEdsemRHVnVaWEpjSWlFZ1FtVm1iM0psWEc0Z0lDQWdMeThnWVdSa2FXNW5JR2wwSUhSdklIUm9aU0JzYVhOMFpXNWxjbk1zSUdacGNuTjBJR1Z0YVhRZ1hDSnVaWGRNYVhOMFpXNWxjbHdpTGx4dUlDQWdJR2xtSUNobGRtVnVkSE11Ym1WM1RHbHpkR1Z1WlhJZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnZEdGeVoyVjBMbVZ0YVhRb0oyNWxkMHhwYzNSbGJtVnlKeXdnZEhsd1pTeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3hwYzNSbGJtVnlMbXhwYzNSbGJtVnlJRDhnYkdsemRHVnVaWEl1YkdsemRHVnVaWElnT2lCc2FYTjBaVzVsY2lrN1hHNWNiaUFnSUNBZ0lDOHZJRkpsTFdGemMybG5iaUJnWlhabGJuUnpZQ0JpWldOaGRYTmxJR0VnYm1WM1RHbHpkR1Z1WlhJZ2FHRnVaR3hsY2lCamIzVnNaQ0JvWVhabElHTmhkWE5sWkNCMGFHVmNiaUFnSUNBZ0lDOHZJSFJvYVhNdVgyVjJaVzUwY3lCMGJ5QmlaU0JoYzNOcFoyNWxaQ0IwYnlCaElHNWxkeUJ2WW1wbFkzUmNiaUFnSUNBZ0lHVjJaVzUwY3lBOUlIUmhjbWRsZEM1ZlpYWmxiblJ6TzF4dUlDQWdJSDFjYmlBZ0lDQmxlR2x6ZEdsdVp5QTlJR1YyWlc1MGMxdDBlWEJsWFR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hsZUdsemRHbHVaeUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0x5OGdUM0IwYVcxcGVtVWdkR2hsSUdOaGMyVWdiMllnYjI1bElHeHBjM1JsYm1WeUxpQkViMjRuZENCdVpXVmtJSFJvWlNCbGVIUnlZU0JoY25KaGVTQnZZbXBsWTNRdVhHNGdJQ0FnWlhocGMzUnBibWNnUFNCbGRtVnVkSE5iZEhsd1pWMGdQU0JzYVhOMFpXNWxjanRjYmlBZ0lDQXJLM1JoY21kbGRDNWZaWFpsYm5SelEyOTFiblE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCbGVHbHpkR2x1WnlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnTHk4Z1FXUmthVzVuSUhSb1pTQnpaV052Ym1RZ1pXeGxiV1Z1ZEN3Z2JtVmxaQ0IwYnlCamFHRnVaMlVnZEc4Z1lYSnlZWGt1WEc0Z0lDQWdJQ0JsZUdsemRHbHVaeUE5SUdWMlpXNTBjMXQwZVhCbFhTQTlYRzRnSUNBZ0lDQWdJSEJ5WlhCbGJtUWdQeUJiYkdsemRHVnVaWElzSUdWNGFYTjBhVzVuWFNBNklGdGxlR2x6ZEdsdVp5d2diR2x6ZEdWdVpYSmRPMXh1SUNBZ0lDQWdMeThnU1dZZ2QyVW5kbVVnWVd4eVpXRmtlU0JuYjNRZ1lXNGdZWEp5WVhrc0lHcDFjM1FnWVhCd1pXNWtMbHh1SUNBZ0lIMGdaV3h6WlNCcFppQW9jSEpsY0dWdVpDa2dlMXh1SUNBZ0lDQWdaWGhwYzNScGJtY3VkVzV6YUdsbWRDaHNhWE4wWlc1bGNpazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdWNGFYTjBhVzVuTG5CMWMyZ29iR2x6ZEdWdVpYSXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRU5vWldOcklHWnZjaUJzYVhOMFpXNWxjaUJzWldGclhHNGdJQ0FnYlNBOUlGOW5aWFJOWVhoTWFYTjBaVzVsY25Nb2RHRnlaMlYwS1R0Y2JpQWdJQ0JwWmlBb2JTQStJREFnSmlZZ1pYaHBjM1JwYm1jdWJHVnVaM1JvSUQ0Z2JTQW1KaUFoWlhocGMzUnBibWN1ZDJGeWJtVmtLU0I3WEc0Z0lDQWdJQ0JsZUdsemRHbHVaeTUzWVhKdVpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0x5OGdUbThnWlhKeWIzSWdZMjlrWlNCbWIzSWdkR2hwY3lCemFXNWpaU0JwZENCcGN5QmhJRmRoY201cGJtZGNiaUFnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTF5WlhOMGNtbGpkR1ZrTFhONWJuUmhlRnh1SUNBZ0lDQWdkbUZ5SUhjZ1BTQnVaWGNnUlhKeWIzSW9KMUJ2YzNOcFlteGxJRVYyWlc1MFJXMXBkSFJsY2lCdFpXMXZjbmtnYkdWaGF5QmtaWFJsWTNSbFpDNGdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWNGFYTjBhVzVuTG14bGJtZDBhQ0FySUNjZ0p5QXJJRk4wY21sdVp5aDBlWEJsS1NBcklDY2diR2x6ZEdWdVpYSnpJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBbllXUmtaV1F1SUZWelpTQmxiV2wwZEdWeUxuTmxkRTFoZUV4cGMzUmxibVZ5Y3lncElIUnZJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBbmFXNWpjbVZoYzJVZ2JHbHRhWFFuS1R0Y2JpQWdJQ0FnSUhjdWJtRnRaU0E5SUNkTllYaE1hWE4wWlc1bGNuTkZlR05sWldSbFpGZGhjbTVwYm1jbk8xeHVJQ0FnSUNBZ2R5NWxiV2wwZEdWeUlEMGdkR0Z5WjJWME8xeHVJQ0FnSUNBZ2R5NTBlWEJsSUQwZ2RIbHdaVHRjYmlBZ0lDQWdJSGN1WTI5MWJuUWdQU0JsZUdsemRHbHVaeTVzWlc1bmRHZzdYRzRnSUNBZ0lDQlFjbTlqWlhOelJXMXBkRmRoY201cGJtY29keWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFJoY21kbGREdGNibjFjYmx4dVJYWmxiblJGYldsMGRHVnlMbkJ5YjNSdmRIbHdaUzVoWkdSTWFYTjBaVzVsY2lBOUlHWjFibU4wYVc5dUlHRmtaRXhwYzNSbGJtVnlLSFI1Y0dVc0lHeHBjM1JsYm1WeUtTQjdYRzRnSUhKbGRIVnliaUJmWVdSa1RHbHpkR1Z1WlhJb2RHaHBjeXdnZEhsd1pTd2diR2x6ZEdWdVpYSXNJR1poYkhObEtUdGNibjA3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1YjI0Z1BTQkZkbVZ1ZEVWdGFYUjBaWEl1Y0hKdmRHOTBlWEJsTG1Ga1pFeHBjM1JsYm1WeU8xeHVYRzVGZG1WdWRFVnRhWFIwWlhJdWNISnZkRzkwZVhCbExuQnlaWEJsYm1STWFYTjBaVzVsY2lBOVhHNGdJQ0FnWm5WdVkzUnBiMjRnY0hKbGNHVnVaRXhwYzNSbGJtVnlLSFI1Y0dVc0lHeHBjM1JsYm1WeUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1gyRmtaRXhwYzNSbGJtVnlLSFJvYVhNc0lIUjVjR1VzSUd4cGMzUmxibVZ5TENCMGNuVmxLVHRjYmlBZ0lDQjlPMXh1WEc1bWRXNWpkR2x2YmlCdmJtTmxWM0poY0hCbGNpZ3BJSHRjYmlBZ2FXWWdLQ0YwYUdsekxtWnBjbVZrS1NCN1hHNGdJQ0FnZEdocGN5NTBZWEpuWlhRdWNtVnRiM1psVEdsemRHVnVaWElvZEdocGN5NTBlWEJsTENCMGFHbHpMbmR5WVhCR2JpazdYRzRnSUNBZ2RHaHBjeTVtYVhKbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnYVdZZ0tHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BUMDlJREFwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c2FYTjBaVzVsY2k1allXeHNLSFJvYVhNdWRHRnlaMlYwS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c2FYTjBaVzVsY2k1aGNIQnNlU2gwYUdsekxuUmhjbWRsZEN3Z1lYSm5kVzFsYm5SektUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJmYjI1alpWZHlZWEFvZEdGeVoyVjBMQ0IwZVhCbExDQnNhWE4wWlc1bGNpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjdJR1pwY21Wa09pQm1ZV3h6WlN3Z2QzSmhjRVp1T2lCMWJtUmxabWx1WldRc0lIUmhjbWRsZERvZ2RHRnlaMlYwTENCMGVYQmxPaUIwZVhCbExDQnNhWE4wWlc1bGNqb2diR2x6ZEdWdVpYSWdmVHRjYmlBZ2RtRnlJSGR5WVhCd1pXUWdQU0J2Ym1ObFYzSmhjSEJsY2k1aWFXNWtLSE4wWVhSbEtUdGNiaUFnZDNKaGNIQmxaQzVzYVhOMFpXNWxjaUE5SUd4cGMzUmxibVZ5TzF4dUlDQnpkR0YwWlM1M2NtRndSbTRnUFNCM2NtRndjR1ZrTzF4dUlDQnlaWFIxY200Z2QzSmhjSEJsWkR0Y2JuMWNibHh1UlhabGJuUkZiV2wwZEdWeUxuQnliM1J2ZEhsd1pTNXZibU5sSUQwZ1puVnVZM1JwYjI0Z2IyNWpaU2gwZVhCbExDQnNhWE4wWlc1bGNpa2dlMXh1SUNCamFHVmphMHhwYzNSbGJtVnlLR3hwYzNSbGJtVnlLVHRjYmlBZ2RHaHBjeTV2YmloMGVYQmxMQ0JmYjI1alpWZHlZWEFvZEdocGN5d2dkSGx3WlN3Z2JHbHpkR1Z1WlhJcEtUdGNiaUFnY21WMGRYSnVJSFJvYVhNN1hHNTlPMXh1WEc1RmRtVnVkRVZ0YVhSMFpYSXVjSEp2ZEc5MGVYQmxMbkJ5WlhCbGJtUlBibU5sVEdsemRHVnVaWElnUFZ4dUlDQWdJR1oxYm1OMGFXOXVJSEJ5WlhCbGJtUlBibU5sVEdsemRHVnVaWElvZEhsd1pTd2diR2x6ZEdWdVpYSXBJSHRjYmlBZ0lDQWdJR05vWldOclRHbHpkR1Z1WlhJb2JHbHpkR1Z1WlhJcE8xeHVJQ0FnSUNBZ2RHaHBjeTV3Y21Wd1pXNWtUR2x6ZEdWdVpYSW9kSGx3WlN3Z1gyOXVZMlZYY21Gd0tIUm9hWE1zSUhSNWNHVXNJR3hwYzNSbGJtVnlLU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5TzF4dVhHNHZMeUJGYldsMGN5QmhJQ2R5WlcxdmRtVk1hWE4wWlc1bGNpY2daWFpsYm5RZ2FXWWdZVzVrSUc5dWJIa2dhV1lnZEdobElHeHBjM1JsYm1WeUlIZGhjeUJ5WlcxdmRtVmtMbHh1UlhabGJuUkZiV2wwZEdWeUxuQnliM1J2ZEhsd1pTNXlaVzF2ZG1WTWFYTjBaVzVsY2lBOVhHNGdJQ0FnWm5WdVkzUnBiMjRnY21WdGIzWmxUR2x6ZEdWdVpYSW9kSGx3WlN3Z2JHbHpkR1Z1WlhJcElIdGNiaUFnSUNBZ0lIWmhjaUJzYVhOMExDQmxkbVZ1ZEhNc0lIQnZjMmwwYVc5dUxDQnBMQ0J2Y21sbmFXNWhiRXhwYzNSbGJtVnlPMXh1WEc0Z0lDQWdJQ0JqYUdWamEweHBjM1JsYm1WeUtHeHBjM1JsYm1WeUtUdGNibHh1SUNBZ0lDQWdaWFpsYm5SeklEMGdkR2hwY3k1ZlpYWmxiblJ6TzF4dUlDQWdJQ0FnYVdZZ0tHVjJaVzUwY3lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JseHVJQ0FnSUNBZ2JHbHpkQ0E5SUdWMlpXNTBjMXQwZVhCbFhUdGNiaUFnSUNBZ0lHbG1JQ2hzYVhOMElEMDlQU0IxYm1SbFptbHVaV1FwWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ0lDQnBaaUFvYkdsemRDQTlQVDBnYkdsemRHVnVaWElnZkh3Z2JHbHpkQzVzYVhOMFpXNWxjaUE5UFQwZ2JHbHpkR1Z1WlhJcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0MwdGRHaHBjeTVmWlhabGJuUnpRMjkxYm5RZ1BUMDlJREFwWEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTVmWlhabGJuUnpJRDBnVDJKcVpXTjBMbU55WldGMFpTaHVkV3hzS1R0Y2JpQWdJQ0FnSUNBZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1pHVnNaWFJsSUdWMlpXNTBjMXQwZVhCbFhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1pYWmxiblJ6TG5KbGJXOTJaVXhwYzNSbGJtVnlLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVsYldsMEtDZHlaVzF2ZG1WTWFYTjBaVzVsY2ljc0lIUjVjR1VzSUd4cGMzUXViR2x6ZEdWdVpYSWdmSHdnYkdsemRHVnVaWElwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCc2FYTjBJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVJRDBnTFRFN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNocElEMGdiR2x6ZEM1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lHa3RMU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hzYVhOMFcybGRJRDA5UFNCc2FYTjBaVzVsY2lCOGZDQnNhWE4wVzJsZExteHBjM1JsYm1WeUlEMDlQU0JzYVhOMFpXNWxjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiM0pwWjJsdVlXeE1hWE4wWlc1bGNpQTlJR3hwYzNSYmFWMHViR2x6ZEdWdVpYSTdYRzRnSUNBZ0lDQWdJQ0FnSUNCd2IzTnBkR2x2YmlBOUlHazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwYjI0Z1BDQXdLVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2x2YmlBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnSUNCc2FYTjBMbk5vYVdaMEtDazdYRzRnSUNBZ0lDQWdJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJSE53YkdsalpVOXVaU2hzYVhOMExDQndiM05wZEdsdmJpazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9iR2x6ZEM1c1pXNW5kR2dnUFQwOUlERXBYRzRnSUNBZ0lDQWdJQ0FnWlhabGJuUnpXM1I1Y0dWZElEMGdiR2x6ZEZzd1hUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1pYWmxiblJ6TG5KbGJXOTJaVXhwYzNSbGJtVnlJQ0U5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1bGJXbDBLQ2R5WlcxdmRtVk1hWE4wWlc1bGNpY3NJSFI1Y0dVc0lHOXlhV2RwYm1Gc1RHbHpkR1Z1WlhJZ2ZId2diR2x6ZEdWdVpYSXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5TzF4dVhHNUZkbVZ1ZEVWdGFYUjBaWEl1Y0hKdmRHOTBlWEJsTG05bVppQTlJRVYyWlc1MFJXMXBkSFJsY2k1d2NtOTBiM1I1Y0dVdWNtVnRiM1psVEdsemRHVnVaWEk3WEc1Y2JrVjJaVzUwUlcxcGRIUmxjaTV3Y205MGIzUjVjR1V1Y21WdGIzWmxRV3hzVEdsemRHVnVaWEp6SUQxY2JpQWdJQ0JtZFc1amRHbHZiaUJ5WlcxdmRtVkJiR3hNYVhOMFpXNWxjbk1vZEhsd1pTa2dlMXh1SUNBZ0lDQWdkbUZ5SUd4cGMzUmxibVZ5Y3l3Z1pYWmxiblJ6TENCcE8xeHVYRzRnSUNBZ0lDQmxkbVZ1ZEhNZ1BTQjBhR2x6TGw5bGRtVnVkSE03WEc0Z0lDQWdJQ0JwWmlBb1pYWmxiblJ6SUQwOVBTQjFibVJsWm1sdVpXUXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dVhHNGdJQ0FnSUNBdkx5QnViM1FnYkdsemRHVnVhVzVuSUdadmNpQnlaVzF2ZG1WTWFYTjBaVzVsY2l3Z2JtOGdibVZsWkNCMGJ5QmxiV2wwWEc0Z0lDQWdJQ0JwWmlBb1pYWmxiblJ6TG5KbGJXOTJaVXhwYzNSbGJtVnlJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dGeVozVnRaVzUwY3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbDlsZG1WdWRITWdQU0JQWW1wbFkzUXVZM0psWVhSbEtHNTFiR3dwTzF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11WDJWMlpXNTBjME52ZFc1MElEMGdNRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNobGRtVnVkSE5iZEhsd1pWMGdJVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNndExYUm9hWE11WDJWMlpXNTBjME52ZFc1MElEMDlQU0F3S1Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1ZlpYWmxiblJ6SUQwZ1QySnFaV04wTG1OeVpXRjBaU2h1ZFd4c0tUdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0JrWld4bGRHVWdaWFpsYm5SelczUjVjR1ZkTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0F2THlCbGJXbDBJSEpsYlc5MlpVeHBjM1JsYm1WeUlHWnZjaUJoYkd3Z2JHbHpkR1Z1WlhKeklHOXVJR0ZzYkNCbGRtVnVkSE5jYmlBZ0lDQWdJR2xtSUNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJaWGx6SUQwZ1QySnFaV04wTG10bGVYTW9aWFpsYm5SektUdGNiaUFnSUNBZ0lDQWdkbUZ5SUd0bGVUdGNiaUFnSUNBZ0lDQWdabTl5SUNocElEMGdNRHNnYVNBOElHdGxlWE11YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0JyWlhrZ1BTQnJaWGx6VzJsZE8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoclpYa2dQVDA5SUNkeVpXMXZkbVZNYVhOMFpXNWxjaWNwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11Y21WdGIzWmxRV3hzVEdsemRHVnVaWEp6S0d0bGVTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaVzF2ZG1WQmJHeE1hWE4wWlc1bGNuTW9KM0psYlc5MlpVeHBjM1JsYm1WeUp5azdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgyVjJaVzUwY3lBOUlFOWlhbVZqZEM1amNtVmhkR1VvYm5Wc2JDazdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgyVjJaVzUwYzBOdmRXNTBJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR3hwYzNSbGJtVnljeUE5SUdWMlpXNTBjMXQwZVhCbFhUdGNibHh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJzYVhOMFpXNWxjbk1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXlaVzF2ZG1WTWFYTjBaVzVsY2loMGVYQmxMQ0JzYVhOMFpXNWxjbk1wTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoc2FYTjBaVzVsY25NZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5Qk1TVVpQSUc5eVpHVnlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2FTQTlJR3hwYzNSbGJtVnljeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVjbVZ0YjNabFRHbHpkR1Z1WlhJb2RIbHdaU3dnYkdsemRHVnVaWEp6VzJsZEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5TzF4dVhHNW1kVzVqZEdsdmJpQmZiR2x6ZEdWdVpYSnpLSFJoY21kbGRDd2dkSGx3WlN3Z2RXNTNjbUZ3S1NCN1hHNGdJSFpoY2lCbGRtVnVkSE1nUFNCMFlYSm5aWFF1WDJWMlpXNTBjenRjYmx4dUlDQnBaaUFvWlhabGJuUnpJRDA5UFNCMWJtUmxabWx1WldRcFhHNGdJQ0FnY21WMGRYSnVJRnRkTzF4dVhHNGdJSFpoY2lCbGRteHBjM1JsYm1WeUlEMGdaWFpsYm5SelczUjVjR1ZkTzF4dUlDQnBaaUFvWlhac2FYTjBaVzVsY2lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lISmxkSFZ5YmlCYlhUdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHVjJiR2x6ZEdWdVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcFhHNGdJQ0FnY21WMGRYSnVJSFZ1ZDNKaGNDQS9JRnRsZG14cGMzUmxibVZ5TG14cGMzUmxibVZ5SUh4OElHVjJiR2x6ZEdWdVpYSmRJRG9nVzJWMmJHbHpkR1Z1WlhKZE8xeHVYRzRnSUhKbGRIVnliaUIxYm5keVlYQWdQMXh1SUNBZ0lIVnVkM0poY0V4cGMzUmxibVZ5Y3lobGRteHBjM1JsYm1WeUtTQTZJR0Z5Y21GNVEyeHZibVVvWlhac2FYTjBaVzVsY2l3Z1pYWnNhWE4wWlc1bGNpNXNaVzVuZEdncE8xeHVmVnh1WEc1RmRtVnVkRVZ0YVhSMFpYSXVjSEp2ZEc5MGVYQmxMbXhwYzNSbGJtVnljeUE5SUdaMWJtTjBhVzl1SUd4cGMzUmxibVZ5Y3loMGVYQmxLU0I3WEc0Z0lISmxkSFZ5YmlCZmJHbHpkR1Z1WlhKektIUm9hWE1zSUhSNWNHVXNJSFJ5ZFdVcE8xeHVmVHRjYmx4dVJYWmxiblJGYldsMGRHVnlMbkJ5YjNSdmRIbHdaUzV5WVhkTWFYTjBaVzVsY25NZ1BTQm1kVzVqZEdsdmJpQnlZWGRNYVhOMFpXNWxjbk1vZEhsd1pTa2dlMXh1SUNCeVpYUjFjbTRnWDJ4cGMzUmxibVZ5Y3loMGFHbHpMQ0IwZVhCbExDQm1ZV3h6WlNrN1hHNTlPMXh1WEc1RmRtVnVkRVZ0YVhSMFpYSXViR2x6ZEdWdVpYSkRiM1Z1ZENBOUlHWjFibU4wYVc5dUtHVnRhWFIwWlhJc0lIUjVjR1VwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYldsMGRHVnlMbXhwYzNSbGJtVnlRMjkxYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaVzFwZEhSbGNpNXNhWE4wWlc1bGNrTnZkVzUwS0hSNWNHVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQnNhWE4wWlc1bGNrTnZkVzUwTG1OaGJHd29aVzFwZEhSbGNpd2dkSGx3WlNrN1hHNGdJSDFjYm4wN1hHNWNia1YyWlc1MFJXMXBkSFJsY2k1d2NtOTBiM1I1Y0dVdWJHbHpkR1Z1WlhKRGIzVnVkQ0E5SUd4cGMzUmxibVZ5UTI5MWJuUTdYRzVtZFc1amRHbHZiaUJzYVhOMFpXNWxja052ZFc1MEtIUjVjR1VwSUh0Y2JpQWdkbUZ5SUdWMlpXNTBjeUE5SUhSb2FYTXVYMlYyWlc1MGN6dGNibHh1SUNCcFppQW9aWFpsYm5SeklDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0IyWVhJZ1pYWnNhWE4wWlc1bGNpQTlJR1YyWlc1MGMxdDBlWEJsWFR0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1pYWnNhWE4wWlc1bGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURFN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNobGRteHBjM1JsYm1WeUlDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJsZG14cGMzUmxibVZ5TG14bGJtZDBhRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdNRHRjYm4xY2JseHVSWFpsYm5SRmJXbDBkR1Z5TG5CeWIzUnZkSGx3WlM1bGRtVnVkRTVoYldWeklEMGdablZ1WTNScGIyNGdaWFpsYm5ST1lXMWxjeWdwSUh0Y2JpQWdjbVYwZFhKdUlIUm9hWE11WDJWMlpXNTBjME52ZFc1MElENGdNQ0EvSUZKbFpteGxZM1JQZDI1TFpYbHpLSFJvYVhNdVgyVjJaVzUwY3lrZ09pQmJYVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJR0Z5Y21GNVEyeHZibVVvWVhKeUxDQnVLU0I3WEc0Z0lIWmhjaUJqYjNCNUlEMGdibVYzSUVGeWNtRjVLRzRwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzQ3SUNzcmFTbGNiaUFnSUNCamIzQjVXMmxkSUQwZ1lYSnlXMmxkTzF4dUlDQnlaWFIxY200Z1kyOXdlVHRjYm4xY2JseHVablZ1WTNScGIyNGdjM0JzYVdObFQyNWxLR3hwYzNRc0lHbHVaR1Y0S1NCN1hHNGdJR1p2Y2lBb095QnBibVJsZUNBcklERWdQQ0JzYVhOMExteGxibWQwYURzZ2FXNWtaWGdyS3lsY2JpQWdJQ0JzYVhOMFcybHVaR1Y0WFNBOUlHeHBjM1JiYVc1a1pYZ2dLeUF4WFR0Y2JpQWdiR2x6ZEM1d2IzQW9LVHRjYm4xY2JseHVablZ1WTNScGIyNGdkVzUzY21Gd1RHbHpkR1Z1WlhKektHRnljaWtnZTF4dUlDQjJZWElnY21WMElEMGdibVYzSUVGeWNtRjVLR0Z5Y2k1c1pXNW5kR2dwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEpsZEM1c1pXNW5kR2c3SUNzcmFTa2dlMXh1SUNBZ0lISmxkRnRwWFNBOUlHRnljbHRwWFM1c2FYTjBaVzVsY2lCOGZDQmhjbkpiYVYwN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBNRDUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBtZDUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21kNS5qcy9pbmRleC5qc1xcXCIpXFxuXFxuLyogZXNsaW50LWRpc2FibGUgY2FtZWxjYXNlICovXFxuZnVuY3Rpb24gRVZQX0J5dGVzVG9LZXkgKHBhc3N3b3JkLCBzYWx0LCBrZXlCaXRzLCBpdkxlbikge1xcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocGFzc3dvcmQpKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkLCAnYmluYXJ5JylcXG4gIGlmIChzYWx0KSB7XFxuICAgIGlmICghQnVmZmVyLmlzQnVmZmVyKHNhbHQpKSBzYWx0ID0gQnVmZmVyLmZyb20oc2FsdCwgJ2JpbmFyeScpXFxuICAgIGlmIChzYWx0Lmxlbmd0aCAhPT0gOCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NhbHQgc2hvdWxkIGJlIEJ1ZmZlciB3aXRoIDggYnl0ZSBsZW5ndGgnKVxcbiAgfVxcblxcbiAgdmFyIGtleUxlbiA9IGtleUJpdHMgLyA4XFxuICB2YXIga2V5ID0gQnVmZmVyLmFsbG9jKGtleUxlbilcXG4gIHZhciBpdiA9IEJ1ZmZlci5hbGxvYyhpdkxlbiB8fCAwKVxcbiAgdmFyIHRtcCA9IEJ1ZmZlci5hbGxvYygwKVxcblxcbiAgd2hpbGUgKGtleUxlbiA+IDAgfHwgaXZMZW4gPiAwKSB7XFxuICAgIHZhciBoYXNoID0gbmV3IE1ENSgpXFxuICAgIGhhc2gudXBkYXRlKHRtcClcXG4gICAgaGFzaC51cGRhdGUocGFzc3dvcmQpXFxuICAgIGlmIChzYWx0KSBoYXNoLnVwZGF0ZShzYWx0KVxcbiAgICB0bXAgPSBoYXNoLmRpZ2VzdCgpXFxuXFxuICAgIHZhciB1c2VkID0gMFxcblxcbiAgICBpZiAoa2V5TGVuID4gMCkge1xcbiAgICAgIHZhciBrZXlTdGFydCA9IGtleS5sZW5ndGggLSBrZXlMZW5cXG4gICAgICB1c2VkID0gTWF0aC5taW4oa2V5TGVuLCB0bXAubGVuZ3RoKVxcbiAgICAgIHRtcC5jb3B5KGtleSwga2V5U3RhcnQsIDAsIHVzZWQpXFxuICAgICAga2V5TGVuIC09IHVzZWRcXG4gICAgfVxcblxcbiAgICBpZiAodXNlZCA8IHRtcC5sZW5ndGggJiYgaXZMZW4gPiAwKSB7XFxuICAgICAgdmFyIGl2U3RhcnQgPSBpdi5sZW5ndGggLSBpdkxlblxcbiAgICAgIHZhciBsZW5ndGggPSBNYXRoLm1pbihpdkxlbiwgdG1wLmxlbmd0aCAtIHVzZWQpXFxuICAgICAgdG1wLmNvcHkoaXYsIGl2U3RhcnQsIHVzZWQsIHVzZWQgKyBsZW5ndGgpXFxuICAgICAgaXZMZW4gLT0gbGVuZ3RoXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRtcC5maWxsKDApXFxuICByZXR1cm4geyBrZXk6IGtleSwgaXY6IGl2IH1cXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBFVlBfQnl0ZXNUb0tleVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5bGRuQmZZbmwwWlhOMGIydGxlUzlwYm1SbGVDNXFjejlrTnpobUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnNReXhWUVVGVkxHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVEZDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFZRVUZWTzBGQlExWTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Wlhad1gySjVkR1Z6ZEc5clpYa3ZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25jMkZtWlMxaWRXWm1aWEluS1M1Q2RXWm1aWEpjYm5aaGNpQk5SRFVnUFNCeVpYRjFhWEpsS0NkdFpEVXVhbk1uS1Z4dVhHNHZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQmpZVzFsYkdOaGMyVWdLaTljYm1aMWJtTjBhVzl1SUVWV1VGOUNlWFJsYzFSdlMyVjVJQ2h3WVhOemQyOXlaQ3dnYzJGc2RDd2dhMlY1UW1sMGN5d2dhWFpNWlc0cElIdGNiaUFnYVdZZ0tDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb2NHRnpjM2R2Y21RcEtTQndZWE56ZDI5eVpDQTlJRUoxWm1abGNpNW1jbTl0S0hCaGMzTjNiM0prTENBblltbHVZWEo1SnlsY2JpQWdhV1lnS0hOaGJIUXBJSHRjYmlBZ0lDQnBaaUFvSVVKMVptWmxjaTVwYzBKMVptWmxjaWh6WVd4MEtTa2djMkZzZENBOUlFSjFabVpsY2k1bWNtOXRLSE5oYkhRc0lDZGlhVzVoY25rbktWeHVJQ0FnSUdsbUlDaHpZV3gwTG14bGJtZDBhQ0FoUFQwZ09Da2dkR2h5YjNjZ2JtVjNJRkpoYm1kbFJYSnliM0lvSjNOaGJIUWdjMmh2ZFd4a0lHSmxJRUoxWm1abGNpQjNhWFJvSURnZ1lubDBaU0JzWlc1bmRHZ25LVnh1SUNCOVhHNWNiaUFnZG1GeUlHdGxlVXhsYmlBOUlHdGxlVUpwZEhNZ0x5QTRYRzRnSUhaaGNpQnJaWGtnUFNCQ2RXWm1aWEl1WVd4c2IyTW9hMlY1VEdWdUtWeHVJQ0IyWVhJZ2FYWWdQU0JDZFdabVpYSXVZV3hzYjJNb2FYWk1aVzRnZkh3Z01DbGNiaUFnZG1GeUlIUnRjQ0E5SUVKMVptWmxjaTVoYkd4dll5Z3dLVnh1WEc0Z0lIZG9hV3hsSUNoclpYbE1aVzRnUGlBd0lIeDhJR2wyVEdWdUlENGdNQ2tnZTF4dUlDQWdJSFpoY2lCb1lYTm9JRDBnYm1WM0lFMUVOU2dwWEc0Z0lDQWdhR0Z6YUM1MWNHUmhkR1VvZEcxd0tWeHVJQ0FnSUdoaGMyZ3VkWEJrWVhSbEtIQmhjM04zYjNKa0tWeHVJQ0FnSUdsbUlDaHpZV3gwS1NCb1lYTm9MblZ3WkdGMFpTaHpZV3gwS1Z4dUlDQWdJSFJ0Y0NBOUlHaGhjMmd1WkdsblpYTjBLQ2xjYmx4dUlDQWdJSFpoY2lCMWMyVmtJRDBnTUZ4dVhHNGdJQ0FnYVdZZ0tHdGxlVXhsYmlBK0lEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCclpYbFRkR0Z5ZENBOUlHdGxlUzVzWlc1bmRHZ2dMU0JyWlhsTVpXNWNiaUFnSUNBZ0lIVnpaV1FnUFNCTllYUm9MbTFwYmloclpYbE1aVzRzSUhSdGNDNXNaVzVuZEdncFhHNGdJQ0FnSUNCMGJYQXVZMjl3ZVNoclpYa3NJR3RsZVZOMFlYSjBMQ0F3TENCMWMyVmtLVnh1SUNBZ0lDQWdhMlY1VEdWdUlDMDlJSFZ6WldSY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RYTmxaQ0E4SUhSdGNDNXNaVzVuZEdnZ0ppWWdhWFpNWlc0Z1BpQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2FYWlRkR0Z5ZENBOUlHbDJMbXhsYm1kMGFDQXRJR2wyVEdWdVhHNGdJQ0FnSUNCMllYSWdiR1Z1WjNSb0lEMGdUV0YwYUM1dGFXNG9hWFpNWlc0c0lIUnRjQzVzWlc1bmRHZ2dMU0IxYzJWa0tWeHVJQ0FnSUNBZ2RHMXdMbU52Y0hrb2FYWXNJR2wyVTNSaGNuUXNJSFZ6WldRc0lIVnpaV1FnS3lCc1pXNW5kR2dwWEc0Z0lDQWdJQ0JwZGt4bGJpQXRQU0JzWlc1bmRHaGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjBiWEF1Wm1sc2JDZ3dLVnh1SUNCeVpYUjFjbTRnZXlCclpYazZJR3RsZVN3Z2FYWTZJR2wySUgxY2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JGVmxCZlFubDBaWE5VYjB0bGVWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2V2cF9ieXRlc3Rva2V5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9mYXN0LWRlZXAtZXF1YWwvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2Zhc3QtZGVlcC1lcXVhbC9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xcbnZhciBrZXlMaXN0ID0gT2JqZWN0LmtleXM7XFxudmFyIGhhc1Byb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZXF1YWwoYSwgYikge1xcbiAgaWYgKGEgPT09IGIpIHJldHVybiB0cnVlO1xcblxcbiAgaWYgKGEgJiYgYiAmJiB0eXBlb2YgYSA9PSAnb2JqZWN0JyAmJiB0eXBlb2YgYiA9PSAnb2JqZWN0Jykge1xcbiAgICB2YXIgYXJyQSA9IGlzQXJyYXkoYSlcXG4gICAgICAsIGFyckIgPSBpc0FycmF5KGIpXFxuICAgICAgLCBpXFxuICAgICAgLCBsZW5ndGhcXG4gICAgICAsIGtleTtcXG5cXG4gICAgaWYgKGFyckEgJiYgYXJyQikge1xcbiAgICAgIGxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICAgIGlmIChsZW5ndGggIT0gYi5sZW5ndGgpIHJldHVybiBmYWxzZTtcXG4gICAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspXFxuICAgICAgICBpZiAoIWVxdWFsKGFbaV0sIGJbaV0pKSByZXR1cm4gZmFsc2U7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKGFyckEgIT0gYXJyQikgcmV0dXJuIGZhbHNlO1xcblxcbiAgICB2YXIgZGF0ZUEgPSBhIGluc3RhbmNlb2YgRGF0ZVxcbiAgICAgICwgZGF0ZUIgPSBiIGluc3RhbmNlb2YgRGF0ZTtcXG4gICAgaWYgKGRhdGVBICE9IGRhdGVCKSByZXR1cm4gZmFsc2U7XFxuICAgIGlmIChkYXRlQSAmJiBkYXRlQikgcmV0dXJuIGEuZ2V0VGltZSgpID09IGIuZ2V0VGltZSgpO1xcblxcbiAgICB2YXIgcmVnZXhwQSA9IGEgaW5zdGFuY2VvZiBSZWdFeHBcXG4gICAgICAsIHJlZ2V4cEIgPSBiIGluc3RhbmNlb2YgUmVnRXhwO1xcbiAgICBpZiAocmVnZXhwQSAhPSByZWdleHBCKSByZXR1cm4gZmFsc2U7XFxuICAgIGlmIChyZWdleHBBICYmIHJlZ2V4cEIpIHJldHVybiBhLnRvU3RyaW5nKCkgPT0gYi50b1N0cmluZygpO1xcblxcbiAgICB2YXIga2V5cyA9IGtleUxpc3QoYSk7XFxuICAgIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xcblxcbiAgICBpZiAobGVuZ3RoICE9PSBrZXlMaXN0KGIpLmxlbmd0aClcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuXFxuICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOylcXG4gICAgICBpZiAoIWhhc1Byb3AuY2FsbChiLCBrZXlzW2ldKSkgcmV0dXJuIGZhbHNlO1xcblxcbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcXG4gICAgICBrZXkgPSBrZXlzW2ldO1xcbiAgICAgIGlmICghZXF1YWwoYVtrZXldLCBiW2tleV0pKSByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICByZXR1cm4gYSE9PWEgJiYgYiE9PWI7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW1ZWE4wTFdSbFpYQXRaWEYxWVd3dmFXNWtaWGd1YW5NL01HUmtOeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBKQlFYTkNMRmRCUVZjN1FVRkRha003UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHZRa0ZCYjBJc1YwRkJWenRCUVVNdlFqczdRVUZGUVN4dlFrRkJiMElzVjBGQlZ6dEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyWmhjM1F0WkdWbGNDMWxjWFZoYkM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdselFYSnlZWGtnUFNCQmNuSmhlUzVwYzBGeWNtRjVPMXh1ZG1GeUlHdGxlVXhwYzNRZ1BTQlBZbXBsWTNRdWEyVjVjenRjYm5aaGNpQm9ZWE5RY205d0lEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVR0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQm1kVzVqZEdsdmJpQmxjWFZoYkNoaExDQmlLU0I3WEc0Z0lHbG1JQ2hoSUQwOVBTQmlLU0J5WlhSMWNtNGdkSEoxWlR0Y2JseHVJQ0JwWmlBb1lTQW1KaUJpSUNZbUlIUjVjR1Z2WmlCaElEMDlJQ2R2WW1wbFkzUW5JQ1ltSUhSNWNHVnZaaUJpSUQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ2RtRnlJR0Z5Y2tFZ1BTQnBjMEZ5Y21GNUtHRXBYRzRnSUNBZ0lDQXNJR0Z5Y2tJZ1BTQnBjMEZ5Y21GNUtHSXBYRzRnSUNBZ0lDQXNJR2xjYmlBZ0lDQWdJQ3dnYkdWdVozUm9YRzRnSUNBZ0lDQXNJR3RsZVR0Y2JseHVJQ0FnSUdsbUlDaGhjbkpCSUNZbUlHRnlja0lwSUh0Y2JpQWdJQ0FnSUd4bGJtZDBhQ0E5SUdFdWJHVnVaM1JvTzF4dUlDQWdJQ0FnYVdZZ0tHeGxibWQwYUNBaFBTQmlMbXhsYm1kMGFDa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYkdWdVozUm9PeUJwTFMwZ0lUMDlJREE3S1Z4dUlDQWdJQ0FnSUNCcFppQW9JV1Z4ZFdGc0tHRmJhVjBzSUdKYmFWMHBLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZWEp5UVNBaFBTQmhjbkpDS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzVjYmlBZ0lDQjJZWElnWkdGMFpVRWdQU0JoSUdsdWMzUmhibU5sYjJZZ1JHRjBaVnh1SUNBZ0lDQWdMQ0JrWVhSbFFpQTlJR0lnYVc1emRHRnVZMlZ2WmlCRVlYUmxPMXh1SUNBZ0lHbG1JQ2hrWVhSbFFTQWhQU0JrWVhSbFFpa2djbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJR2xtSUNoa1lYUmxRU0FtSmlCa1lYUmxRaWtnY21WMGRYSnVJR0V1WjJWMFZHbHRaU2dwSUQwOUlHSXVaMlYwVkdsdFpTZ3BPMXh1WEc0Z0lDQWdkbUZ5SUhKbFoyVjRjRUVnUFNCaElHbHVjM1JoYm1ObGIyWWdVbVZuUlhod1hHNGdJQ0FnSUNBc0lISmxaMlY0Y0VJZ1BTQmlJR2x1YzNSaGJtTmxiMllnVW1WblJYaHdPMXh1SUNBZ0lHbG1JQ2h5WldkbGVIQkJJQ0U5SUhKbFoyVjRjRUlwSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCcFppQW9jbVZuWlhod1FTQW1KaUJ5WldkbGVIQkNLU0J5WlhSMWNtNGdZUzUwYjFOMGNtbHVaeWdwSUQwOUlHSXVkRzlUZEhKcGJtY29LVHRjYmx4dUlDQWdJSFpoY2lCclpYbHpJRDBnYTJWNVRHbHpkQ2hoS1R0Y2JpQWdJQ0JzWlc1bmRHZ2dQU0JyWlhsekxteGxibWQwYUR0Y2JseHVJQ0FnSUdsbUlDaHNaVzVuZEdnZ0lUMDlJR3RsZVV4cGMzUW9ZaWt1YkdWdVozUm9LVnh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnWm05eUlDaHBJRDBnYkdWdVozUm9PeUJwTFMwZ0lUMDlJREE3S1Z4dUlDQWdJQ0FnYVdZZ0tDRm9ZWE5RY205d0xtTmhiR3dvWWl3Z2EyVjVjMXRwWFNrcElISmxkSFZ5YmlCbVlXeHpaVHRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJR3hsYm1kMGFEc2dhUzB0SUNFOVBTQXdPeWtnZTF4dUlDQWdJQ0FnYTJWNUlEMGdhMlY1YzF0cFhUdGNiaUFnSUNBZ0lHbG1JQ2doWlhGMVlXd29ZVnRyWlhsZExDQmlXMnRsZVYwcEtTQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWVNFOVBXRWdKaVlnWWlFOVBXSTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvZmFzdC1kZWVwLWVxdWFsL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2UvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWRhYmxlLXN0cmVhbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtYnJvd3Nlci5qc1xcXCIpLlRyYW5zZm9ybVxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG5cXG5mdW5jdGlvbiB0aHJvd0lmTm90U3RyaW5nT3JCdWZmZXIgKHZhbCwgcHJlZml4KSB7XFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWwpICYmIHR5cGVvZiB2YWwgIT09ICdzdHJpbmcnKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocHJlZml4ICsgJyBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gSGFzaEJhc2UgKGJsb2NrU2l6ZSkge1xcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcXG5cXG4gIHRoaXMuX2Jsb2NrID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2NrU2l6ZSlcXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxcbiAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXFxuICB0aGlzLl9sZW5ndGggPSBbMCwgMCwgMCwgMF1cXG5cXG4gIHRoaXMuX2ZpbmFsaXplZCA9IGZhbHNlXFxufVxcblxcbmluaGVyaXRzKEhhc2hCYXNlLCBUcmFuc2Zvcm0pXFxuXFxuSGFzaEJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykge1xcbiAgdmFyIGVycm9yID0gbnVsbFxcbiAgdHJ5IHtcXG4gICAgdGhpcy51cGRhdGUoY2h1bmssIGVuY29kaW5nKVxcbiAgfSBjYXRjaCAoZXJyKSB7XFxuICAgIGVycm9yID0gZXJyXFxuICB9XFxuXFxuICBjYWxsYmFjayhlcnJvcilcXG59XFxuXFxuSGFzaEJhc2UucHJvdG90eXBlLl9mbHVzaCA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xcbiAgdmFyIGVycm9yID0gbnVsbFxcbiAgdHJ5IHtcXG4gICAgdGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpXFxuICB9IGNhdGNoIChlcnIpIHtcXG4gICAgZXJyb3IgPSBlcnJcXG4gIH1cXG5cXG4gIGNhbGxiYWNrKGVycm9yKVxcbn1cXG5cXG5IYXNoQmFzZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEsIGVuY29kaW5nKSB7XFxuICB0aHJvd0lmTm90U3RyaW5nT3JCdWZmZXIoZGF0YSwgJ0RhdGEnKVxcbiAgaWYgKHRoaXMuX2ZpbmFsaXplZCkgdGhyb3cgbmV3IEVycm9yKCdEaWdlc3QgYWxyZWFkeSBjYWxsZWQnKVxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoZGF0YSkpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmNvZGluZylcXG5cXG4gIC8vIGNvbnN1bWUgZGF0YVxcbiAgdmFyIGJsb2NrID0gdGhpcy5fYmxvY2tcXG4gIHZhciBvZmZzZXQgPSAwXFxuICB3aGlsZSAodGhpcy5fYmxvY2tPZmZzZXQgKyBkYXRhLmxlbmd0aCAtIG9mZnNldCA+PSB0aGlzLl9ibG9ja1NpemUpIHtcXG4gICAgZm9yICh2YXIgaSA9IHRoaXMuX2Jsb2NrT2Zmc2V0OyBpIDwgdGhpcy5fYmxvY2tTaXplOykgYmxvY2tbaSsrXSA9IGRhdGFbb2Zmc2V0KytdXFxuICAgIHRoaXMuX3VwZGF0ZSgpXFxuICAgIHRoaXMuX2Jsb2NrT2Zmc2V0ID0gMFxcbiAgfVxcbiAgd2hpbGUgKG9mZnNldCA8IGRhdGEubGVuZ3RoKSBibG9ja1t0aGlzLl9ibG9ja09mZnNldCsrXSA9IGRhdGFbb2Zmc2V0KytdXFxuXFxuICAvLyB1cGRhdGUgbGVuZ3RoXFxuICBmb3IgKHZhciBqID0gMCwgY2FycnkgPSBkYXRhLmxlbmd0aCAqIDg7IGNhcnJ5ID4gMDsgKytqKSB7XFxuICAgIHRoaXMuX2xlbmd0aFtqXSArPSBjYXJyeVxcbiAgICBjYXJyeSA9ICh0aGlzLl9sZW5ndGhbal0gLyAweDAxMDAwMDAwMDApIHwgMFxcbiAgICBpZiAoY2FycnkgPiAwKSB0aGlzLl9sZW5ndGhbal0gLT0gMHgwMTAwMDAwMDAwICogY2FycnlcXG4gIH1cXG5cXG4gIHJldHVybiB0aGlzXFxufVxcblxcbkhhc2hCYXNlLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCcpXFxufVxcblxcbkhhc2hCYXNlLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcXG4gIGlmICh0aGlzLl9maW5hbGl6ZWQpIHRocm93IG5ldyBFcnJvcignRGlnZXN0IGFscmVhZHkgY2FsbGVkJylcXG4gIHRoaXMuX2ZpbmFsaXplZCA9IHRydWVcXG5cXG4gIHZhciBkaWdlc3QgPSB0aGlzLl9kaWdlc3QoKVxcbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIGRpZ2VzdCA9IGRpZ2VzdC50b1N0cmluZyhlbmNvZGluZylcXG5cXG4gIC8vIHJlc2V0IHN0YXRlXFxuICB0aGlzLl9ibG9jay5maWxsKDApXFxuICB0aGlzLl9ibG9ja09mZnNldCA9IDBcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgKytpKSB0aGlzLl9sZW5ndGhbaV0gPSAwXFxuXFxuICByZXR1cm4gZGlnZXN0XFxufVxcblxcbkhhc2hCYXNlLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZCcpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gSGFzaEJhc2VcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZhVzVrWlhndWFuTS9aVFF4TXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQldUdEJRVU5hTEdGQlFXRXNiVUpCUVU4c1EwRkJReXdyUlVGQllUdEJRVU5zUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl4clIwRkJhVUk3UVVGRGVrTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExEWkVRVUZWT3p0QlFVVnFRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVTkJRVzFETEhGQ1FVRnhRanRCUVVONFJEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEQkRRVUV3UXl4WFFVRlhPMEZCUTNKRU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4UFFVRlBPenRCUVVWNFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmFXNWtaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENkY2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2R6WVdabExXSjFabVpsY2ljcExrSjFabVpsY2x4dWRtRnlJRlJ5WVc1elptOXliU0E5SUhKbGNYVnBjbVVvSjNKbFlXUmhZbXhsTFhOMGNtVmhiU2NwTGxSeVlXNXpabTl5YlZ4dWRtRnlJR2x1YUdWeWFYUnpJRDBnY21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1Z4dVhHNW1kVzVqZEdsdmJpQjBhSEp2ZDBsbVRtOTBVM1J5YVc1blQzSkNkV1ptWlhJZ0tIWmhiQ3dnY0hKbFptbDRLU0I3WEc0Z0lHbG1JQ2doUW5WbVptVnlMbWx6UW5WbVptVnlLSFpoYkNrZ0ppWWdkSGx3Wlc5bUlIWmhiQ0FoUFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtIQnlaV1pwZUNBcklDY2diWFZ6ZENCaVpTQmhJSE4wY21sdVp5QnZjaUJoSUdKMVptWmxjaWNwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1NHRnphRUpoYzJVZ0tHSnNiMk5yVTJsNlpTa2dlMXh1SUNCVWNtRnVjMlp2Y20wdVkyRnNiQ2gwYUdsektWeHVYRzRnSUhSb2FYTXVYMkpzYjJOcklEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOclUybDZaU2xjYmlBZ2RHaHBjeTVmWW14dlkydFRhWHBsSUQwZ1lteHZZMnRUYVhwbFhHNGdJSFJvYVhNdVgySnNiMk5yVDJabWMyVjBJRDBnTUZ4dUlDQjBhR2x6TGw5c1pXNW5kR2dnUFNCYk1Dd2dNQ3dnTUN3Z01GMWNibHh1SUNCMGFHbHpMbDltYVc1aGJHbDZaV1FnUFNCbVlXeHpaVnh1ZlZ4dVhHNXBibWhsY21sMGN5aElZWE5vUW1GelpTd2dWSEpoYm5ObWIzSnRLVnh1WEc1SVlYTm9RbUZ6WlM1d2NtOTBiM1I1Y0dVdVgzUnlZVzV6Wm05eWJTQTlJR1oxYm1OMGFXOXVJQ2hqYUhWdWF5d2daVzVqYjJScGJtY3NJR05oYkd4aVlXTnJLU0I3WEc0Z0lIWmhjaUJsY25KdmNpQTlJRzUxYkd4Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IwYUdsekxuVndaR0YwWlNoamFIVnVheXdnWlc1amIyUnBibWNwWEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTF4dUlDQWdJR1Z5Y205eUlEMGdaWEp5WEc0Z0lIMWNibHh1SUNCallXeHNZbUZqYXlobGNuSnZjaWxjYm4xY2JseHVTR0Z6YUVKaGMyVXVjSEp2ZEc5MGVYQmxMbDltYkhWemFDQTlJR1oxYm1OMGFXOXVJQ2hqWVd4c1ltRmpheWtnZTF4dUlDQjJZWElnWlhKeWIzSWdQU0J1ZFd4c1hHNGdJSFJ5ZVNCN1hHNGdJQ0FnZEdocGN5NXdkWE5vS0hSb2FYTXVaR2xuWlhOMEtDa3BYRzRnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lHVnljbTl5SUQwZ1pYSnlYRzRnSUgxY2JseHVJQ0JqWVd4c1ltRmpheWhsY25KdmNpbGNibjFjYmx4dVNHRnphRUpoYzJVdWNISnZkRzkwZVhCbExuVndaR0YwWlNBOUlHWjFibU4wYVc5dUlDaGtZWFJoTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0IwYUhKdmQwbG1UbTkwVTNSeWFXNW5UM0pDZFdabVpYSW9aR0YwWVN3Z0owUmhkR0VuS1Z4dUlDQnBaaUFvZEdocGN5NWZabWx1WVd4cGVtVmtLU0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMFJwWjJWemRDQmhiSEpsWVdSNUlHTmhiR3hsWkNjcFhHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dSaGRHRXBLU0JrWVhSaElEMGdRblZtWm1WeUxtWnliMjBvWkdGMFlTd2daVzVqYjJScGJtY3BYRzVjYmlBZ0x5OGdZMjl1YzNWdFpTQmtZWFJoWEc0Z0lIWmhjaUJpYkc5amF5QTlJSFJvYVhNdVgySnNiMk5yWEc0Z0lIWmhjaUJ2Wm1aelpYUWdQU0F3WEc0Z0lIZG9hV3hsSUNoMGFHbHpMbDlpYkc5amEwOW1abk5sZENBcklHUmhkR0V1YkdWdVozUm9JQzBnYjJabWMyVjBJRDQ5SUhSb2FYTXVYMkpzYjJOclUybDZaU2tnZTF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCMGFHbHpMbDlpYkc5amEwOW1abk5sZERzZ2FTQThJSFJvYVhNdVgySnNiMk5yVTJsNlpUc3BJR0pzYjJOclcya3JLMTBnUFNCa1lYUmhXMjltWm5ObGRDc3JYVnh1SUNBZ0lIUm9hWE11WDNWd1pHRjBaU2dwWEc0Z0lDQWdkR2hwY3k1ZllteHZZMnRQWm1aelpYUWdQU0F3WEc0Z0lIMWNiaUFnZDJocGJHVWdLRzltWm5ObGRDQThJR1JoZEdFdWJHVnVaM1JvS1NCaWJHOWphMXQwYUdsekxsOWliRzlqYTA5bVpuTmxkQ3NyWFNBOUlHUmhkR0ZiYjJabWMyVjBLeXRkWEc1Y2JpQWdMeThnZFhCa1lYUmxJR3hsYm1kMGFGeHVJQ0JtYjNJZ0tIWmhjaUJxSUQwZ01Dd2dZMkZ5Y25rZ1BTQmtZWFJoTG14bGJtZDBhQ0FxSURnN0lHTmhjbko1SUQ0Z01Ec2dLeXRxS1NCN1hHNGdJQ0FnZEdocGN5NWZiR1Z1WjNSb1cycGRJQ3M5SUdOaGNuSjVYRzRnSUNBZ1kyRnljbmtnUFNBb2RHaHBjeTVmYkdWdVozUm9XMnBkSUM4Z01IZ3dNVEF3TURBd01EQXdLU0I4SURCY2JpQWdJQ0JwWmlBb1kyRnljbmtnUGlBd0tTQjBhR2x6TGw5c1pXNW5kR2hiYWwwZ0xUMGdNSGd3TVRBd01EQXdNREF3SUNvZ1kyRnljbmxjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIwYUdselhHNTlYRzVjYmtoaGMyaENZWE5sTG5CeWIzUnZkSGx3WlM1ZmRYQmtZWFJsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjE5MWNHUmhkR1VnYVhNZ2JtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlsY2JuMWNibHh1U0dGemFFSmhjMlV1Y0hKdmRHOTBlWEJsTG1ScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUNobGJtTnZaR2x1WnlrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVmWm1sdVlXeHBlbVZrS1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjBScFoyVnpkQ0JoYkhKbFlXUjVJR05oYkd4bFpDY3BYRzRnSUhSb2FYTXVYMlpwYm1Gc2FYcGxaQ0E5SUhSeWRXVmNibHh1SUNCMllYSWdaR2xuWlhOMElEMGdkR2hwY3k1ZlpHbG5aWE4wS0NsY2JpQWdhV1lnS0dWdVkyOWthVzVuSUNFOVBTQjFibVJsWm1sdVpXUXBJR1JwWjJWemRDQTlJR1JwWjJWemRDNTBiMU4wY21sdVp5aGxibU52WkdsdVp5bGNibHh1SUNBdkx5QnlaWE5sZENCemRHRjBaVnh1SUNCMGFHbHpMbDlpYkc5amF5NW1hV3hzS0RBcFhHNGdJSFJvYVhNdVgySnNiMk5yVDJabWMyVjBJRDBnTUZ4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRFE3SUNzcmFTa2dkR2hwY3k1ZmJHVnVaM1JvVzJsZElEMGdNRnh1WEc0Z0lISmxkSFZ5YmlCa2FXZGxjM1JjYm4xY2JseHVTR0Z6YUVKaGMyVXVjSEp2ZEc5MGVYQmxMbDlrYVdkbGMzUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25YMlJwWjJWemRDQnBjeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUW5LVnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFaGhjMmhDWVhObFhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5mdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MucHJvdG90eXBlKTsgc3ViQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gc3ViQ2xhc3M7IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cXG5cXG52YXIgY29kZXMgPSB7fTtcXG5cXG5mdW5jdGlvbiBjcmVhdGVFcnJvclR5cGUoY29kZSwgbWVzc2FnZSwgQmFzZSkge1xcbiAgaWYgKCFCYXNlKSB7XFxuICAgIEJhc2UgPSBFcnJvcjtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGdldE1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMykge1xcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgcmV0dXJuIG1lc3NhZ2U7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIG1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBOb2RlRXJyb3IgPVxcbiAgLyojX19QVVJFX18qL1xcbiAgZnVuY3Rpb24gKF9CYXNlKSB7XFxuICAgIF9pbmhlcml0c0xvb3NlKE5vZGVFcnJvciwgX0Jhc2UpO1xcblxcbiAgICBmdW5jdGlvbiBOb2RlRXJyb3IoYXJnMSwgYXJnMiwgYXJnMykge1xcbiAgICAgIHJldHVybiBfQmFzZS5jYWxsKHRoaXMsIGdldE1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMykpIHx8IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIE5vZGVFcnJvcjtcXG4gIH0oQmFzZSk7XFxuXFxuICBOb2RlRXJyb3IucHJvdG90eXBlLm5hbWUgPSBCYXNlLm5hbWU7XFxuICBOb2RlRXJyb3IucHJvdG90eXBlLmNvZGUgPSBjb2RlO1xcbiAgY29kZXNbY29kZV0gPSBOb2RlRXJyb3I7XFxufSAvLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi92MTAuOC4wL2xpYi9pbnRlcm5hbC9lcnJvcnMuanNcXG5cXG5cXG5mdW5jdGlvbiBvbmVPZihleHBlY3RlZCwgdGhpbmcpIHtcXG4gIGlmIChBcnJheS5pc0FycmF5KGV4cGVjdGVkKSkge1xcbiAgICB2YXIgbGVuID0gZXhwZWN0ZWQubGVuZ3RoO1xcbiAgICBleHBlY3RlZCA9IGV4cGVjdGVkLm1hcChmdW5jdGlvbiAoaSkge1xcbiAgICAgIHJldHVybiBTdHJpbmcoaSk7XFxuICAgIH0pO1xcblxcbiAgICBpZiAobGVuID4gMikge1xcbiAgICAgIHJldHVybiBcXFwib25lIG9mIFxcXCIuY29uY2F0KHRoaW5nLCBcXFwiIFxcXCIpLmNvbmNhdChleHBlY3RlZC5zbGljZSgwLCBsZW4gLSAxKS5qb2luKCcsICcpLCBcXFwiLCBvciBcXFwiKSArIGV4cGVjdGVkW2xlbiAtIDFdO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA9PT0gMikge1xcbiAgICAgIHJldHVybiBcXFwib25lIG9mIFxcXCIuY29uY2F0KHRoaW5nLCBcXFwiIFxcXCIpLmNvbmNhdChleHBlY3RlZFswXSwgXFxcIiBvciBcXFwiKS5jb25jYXQoZXhwZWN0ZWRbMV0pO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiBcXFwib2YgXFxcIi5jb25jYXQodGhpbmcsIFxcXCIgXFxcIikuY29uY2F0KGV4cGVjdGVkWzBdKTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIFxcXCJvZiBcXFwiLmNvbmNhdCh0aGluZywgXFxcIiBcXFwiKS5jb25jYXQoU3RyaW5nKGV4cGVjdGVkKSk7XFxuICB9XFxufSAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvc3RhcnRzV2l0aFxcblxcblxcbmZ1bmN0aW9uIHN0YXJ0c1dpdGgoc3RyLCBzZWFyY2gsIHBvcykge1xcbiAgcmV0dXJuIHN0ci5zdWJzdHIoIXBvcyB8fCBwb3MgPCAwID8gMCA6ICtwb3MsIHNlYXJjaC5sZW5ndGgpID09PSBzZWFyY2g7XFxufSAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvZW5kc1dpdGhcXG5cXG5cXG5mdW5jdGlvbiBlbmRzV2l0aChzdHIsIHNlYXJjaCwgdGhpc19sZW4pIHtcXG4gIGlmICh0aGlzX2xlbiA9PT0gdW5kZWZpbmVkIHx8IHRoaXNfbGVuID4gc3RyLmxlbmd0aCkge1xcbiAgICB0aGlzX2xlbiA9IHN0ci5sZW5ndGg7XFxuICB9XFxuXFxuICByZXR1cm4gc3RyLnN1YnN0cmluZyh0aGlzX2xlbiAtIHNlYXJjaC5sZW5ndGgsIHRoaXNfbGVuKSA9PT0gc2VhcmNoO1xcbn0gLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvU3RyaW5nL2luY2x1ZGVzXFxuXFxuXFxuZnVuY3Rpb24gaW5jbHVkZXMoc3RyLCBzZWFyY2gsIHN0YXJ0KSB7XFxuICBpZiAodHlwZW9mIHN0YXJ0ICE9PSAnbnVtYmVyJykge1xcbiAgICBzdGFydCA9IDA7XFxuICB9XFxuXFxuICBpZiAoc3RhcnQgKyBzZWFyY2gubGVuZ3RoID4gc3RyLmxlbmd0aCkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gc3RyLmluZGV4T2Yoc2VhcmNoLCBzdGFydCkgIT09IC0xO1xcbiAgfVxcbn1cXG5cXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9JTlZBTElEX09QVF9WQUxVRScsIGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xcbiAgcmV0dXJuICdUaGUgdmFsdWUgXFxcIicgKyB2YWx1ZSArICdcXFwiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcXFwiJyArIG5hbWUgKyAnXFxcIic7XFxufSwgVHlwZUVycm9yKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9JTlZBTElEX0FSR19UWVBFJywgZnVuY3Rpb24gKG5hbWUsIGV4cGVjdGVkLCBhY3R1YWwpIHtcXG4gIC8vIGRldGVybWluZXI6ICdtdXN0IGJlJyBvciAnbXVzdCBub3QgYmUnXFxuICB2YXIgZGV0ZXJtaW5lcjtcXG5cXG4gIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT09ICdzdHJpbmcnICYmIHN0YXJ0c1dpdGgoZXhwZWN0ZWQsICdub3QgJykpIHtcXG4gICAgZGV0ZXJtaW5lciA9ICdtdXN0IG5vdCBiZSc7XFxuICAgIGV4cGVjdGVkID0gZXhwZWN0ZWQucmVwbGFjZSgvXm5vdCAvLCAnJyk7XFxuICB9IGVsc2Uge1xcbiAgICBkZXRlcm1pbmVyID0gJ211c3QgYmUnO1xcbiAgfVxcblxcbiAgdmFyIG1zZztcXG5cXG4gIGlmIChlbmRzV2l0aChuYW1lLCAnIGFyZ3VtZW50JykpIHtcXG4gICAgLy8gRm9yIGNhc2VzIGxpa2UgJ2ZpcnN0IGFyZ3VtZW50J1xcbiAgICBtc2cgPSBcXFwiVGhlIFxcXCIuY29uY2F0KG5hbWUsIFxcXCIgXFxcIikuY29uY2F0KGRldGVybWluZXIsIFxcXCIgXFxcIikuY29uY2F0KG9uZU9mKGV4cGVjdGVkLCAndHlwZScpKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciB0eXBlID0gaW5jbHVkZXMobmFtZSwgJy4nKSA/ICdwcm9wZXJ0eScgOiAnYXJndW1lbnQnO1xcbiAgICBtc2cgPSBcXFwiVGhlIFxcXFxcXFwiXFxcIi5jb25jYXQobmFtZSwgXFxcIlxcXFxcXFwiIFxcXCIpLmNvbmNhdCh0eXBlLCBcXFwiIFxcXCIpLmNvbmNhdChkZXRlcm1pbmVyLCBcXFwiIFxcXCIpLmNvbmNhdChvbmVPZihleHBlY3RlZCwgJ3R5cGUnKSk7XFxuICB9XFxuXFxuICBtc2cgKz0gXFxcIi4gUmVjZWl2ZWQgdHlwZSBcXFwiLmNvbmNhdCh0eXBlb2YgYWN0dWFsKTtcXG4gIHJldHVybiBtc2c7XFxufSwgVHlwZUVycm9yKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YnLCAnc3RyZWFtLnB1c2goKSBhZnRlciBFT0YnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEJywgZnVuY3Rpb24gKG5hbWUpIHtcXG4gIHJldHVybiAnVGhlICcgKyBuYW1lICsgJyBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkJztcXG59KTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFJywgJ1ByZW1hdHVyZSBjbG9zZScpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9ERVNUUk9ZRUQnLCBmdW5jdGlvbiAobmFtZSkge1xcbiAgcmV0dXJuICdDYW5ub3QgY2FsbCAnICsgbmFtZSArICcgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZCc7XFxufSk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfTVVMVElQTEVfQ0FMTEJBQ0snLCAnQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzJyk7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX0NBTk5PVF9QSVBFJywgJ0Nhbm5vdCBwaXBlLCBub3QgcmVhZGFibGUnKTtcXG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EJywgJ3dyaXRlIGFmdGVyIGVuZCcpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUycsICdNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbScsIFR5cGVFcnJvcik7XFxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfVU5LTk9XTl9FTkNPRElORycsIGZ1bmN0aW9uIChhcmcpIHtcXG4gIHJldHVybiAnVW5rbm93biBlbmNvZGluZzogJyArIGFyZztcXG59LCBUeXBlRXJyb3IpO1xcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCcsICdzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCcpO1xcbm1vZHVsZS5leHBvcnRzLmNvZGVzID0gY29kZXM7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5bGNuSnZjbk10WW5KdmQzTmxjaTVxY3o5allUZzFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMQ3REUVVFclF5d3dSRUZCTUVRc01rTkJRVEpETEdsRFFVRnBRenM3UVVGRmNrdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzFpWVhObEwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZaWEp5YjNKekxXSnliM2R6WlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJbmRYTmxJSE4wY21samRDYzdYRzVjYm1aMWJtTjBhVzl1SUY5cGJtaGxjbWwwYzB4dmIzTmxLSE4xWWtOc1lYTnpMQ0J6ZFhCbGNrTnNZWE56S1NCN0lITjFZa05zWVhOekxuQnliM1J2ZEhsd1pTQTlJRTlpYW1WamRDNWpjbVZoZEdVb2MzVndaWEpEYkdGemN5NXdjbTkwYjNSNWNHVXBPeUJ6ZFdKRGJHRnpjeTV3Y205MGIzUjVjR1V1WTI5dWMzUnlkV04wYjNJZ1BTQnpkV0pEYkdGemN6c2djM1ZpUTJ4aGMzTXVYMTl3Y205MGIxOWZJRDBnYzNWd1pYSkRiR0Z6Y3pzZ2ZWeHVYRzUyWVhJZ1kyOWtaWE1nUFNCN2ZUdGNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSWEp5YjNKVWVYQmxLR052WkdVc0lHMWxjM05oWjJVc0lFSmhjMlVwSUh0Y2JpQWdhV1lnS0NGQ1lYTmxLU0I3WEc0Z0lDQWdRbUZ6WlNBOUlFVnljbTl5TzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z1oyVjBUV1Z6YzJGblpTaGhjbWN4TENCaGNtY3lMQ0JoY21jektTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRaWE56WVdkbElEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzFsYzNOaFoyVTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0WlhOellXZGxLR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCT2IyUmxSWEp5YjNJZ1BWeHVJQ0F2S2lOZlgxQlZVa1ZmWHlvdlhHNGdJR1oxYm1OMGFXOXVJQ2hmUW1GelpTa2dlMXh1SUNBZ0lGOXBibWhsY21sMGMweHZiM05sS0U1dlpHVkZjbkp2Y2l3Z1gwSmhjMlVwTzF4dVhHNGdJQ0FnWm5WdVkzUnBiMjRnVG05a1pVVnljbTl5S0dGeVp6RXNJR0Z5WnpJc0lHRnlaek1wSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJmUW1GelpTNWpZV3hzS0hSb2FYTXNJR2RsZEUxbGMzTmhaMlVvWVhKbk1Td2dZWEpuTWl3Z1lYSm5NeWtwSUh4OElIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlFNXZaR1ZGY25KdmNqdGNiaUFnZlNoQ1lYTmxLVHRjYmx4dUlDQk9iMlJsUlhKeWIzSXVjSEp2ZEc5MGVYQmxMbTVoYldVZ1BTQkNZWE5sTG01aGJXVTdYRzRnSUU1dlpHVkZjbkp2Y2k1d2NtOTBiM1I1Y0dVdVkyOWtaU0E5SUdOdlpHVTdYRzRnSUdOdlpHVnpXMk52WkdWZElEMGdUbTlrWlVWeWNtOXlPMXh1ZlNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZibTlrWldwekwyNXZaR1V2WW14dllpOTJNVEF1T0M0d0wyeHBZaTlwYm5SbGNtNWhiQzlsY25KdmNuTXVhbk5jYmx4dVhHNW1kVzVqZEdsdmJpQnZibVZQWmlobGVIQmxZM1JsWkN3Z2RHaHBibWNwSUh0Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29aWGh3WldOMFpXUXBLU0I3WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJR1Y0Y0dWamRHVmtMbXhsYm1kMGFEdGNiaUFnSUNCbGVIQmxZM1JsWkNBOUlHVjRjR1ZqZEdWa0xtMWhjQ2htZFc1amRHbHZiaUFvYVNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUZOMGNtbHVaeWhwS1R0Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdsbUlDaHNaVzRnUGlBeUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1hDSnZibVVnYjJZZ1hDSXVZMjl1WTJGMEtIUm9hVzVuTENCY0lpQmNJaWt1WTI5dVkyRjBLR1Y0Y0dWamRHVmtMbk5zYVdObEtEQXNJR3hsYmlBdElERXBMbXB2YVc0b0p5d2dKeWtzSUZ3aUxDQnZjaUJjSWlrZ0t5QmxlSEJsWTNSbFpGdHNaVzRnTFNBeFhUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE5UFQwZ01pa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlGd2liMjVsSUc5bUlGd2lMbU52Ym1OaGRDaDBhR2x1Wnl3Z1hDSWdYQ0lwTG1OdmJtTmhkQ2hsZUhCbFkzUmxaRnN3WFN3Z1hDSWdiM0lnWENJcExtTnZibU5oZENobGVIQmxZM1JsWkZzeFhTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJjSW05bUlGd2lMbU52Ym1OaGRDaDBhR2x1Wnl3Z1hDSWdYQ0lwTG1OdmJtTmhkQ2hsZUhCbFkzUmxaRnN3WFNrN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUJjSW05bUlGd2lMbU52Ym1OaGRDaDBhR2x1Wnl3Z1hDSWdYQ0lwTG1OdmJtTmhkQ2hUZEhKcGJtY29aWGh3WldOMFpXUXBLVHRjYmlBZ2ZWeHVmU0F2THlCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5S1lYWmhVMk55YVhCMEwxSmxabVZ5Wlc1alpTOUhiRzlpWVd4ZlQySnFaV04wY3k5VGRISnBibWN2YzNSaGNuUnpWMmwwYUZ4dVhHNWNibVoxYm1OMGFXOXVJSE4wWVhKMGMxZHBkR2dvYzNSeUxDQnpaV0Z5WTJnc0lIQnZjeWtnZTF4dUlDQnlaWFIxY200Z2MzUnlMbk4xWW5OMGNpZ2hjRzl6SUh4OElIQnZjeUE4SURBZ1B5QXdJRG9nSzNCdmN5d2djMlZoY21Ob0xteGxibWQwYUNrZ1BUMDlJSE5sWVhKamFEdGNibjBnTHk4Z2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlNtRjJZVk5qY21sd2RDOVNaV1psY21WdVkyVXZSMnh2WW1Gc1gwOWlhbVZqZEhNdlUzUnlhVzVuTDJWdVpITlhhWFJvWEc1Y2JseHVablZ1WTNScGIyNGdaVzVrYzFkcGRHZ29jM1J5TENCelpXRnlZMmdzSUhSb2FYTmZiR1Z1S1NCN1hHNGdJR2xtSUNoMGFHbHpYMnhsYmlBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhSb2FYTmZiR1Z1SUQ0Z2MzUnlMbXhsYm1kMGFDa2dlMXh1SUNBZ0lIUm9hWE5mYkdWdUlEMGdjM1J5TG14bGJtZDBhRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ6ZEhJdWMzVmljM1J5YVc1bktIUm9hWE5mYkdWdUlDMGdjMlZoY21Ob0xteGxibWQwYUN3Z2RHaHBjMTlzWlc0cElEMDlQU0J6WldGeVkyZzdYRzU5SUM4dklHaDBkSEJ6T2k4dlpHVjJaV3h2Y0dWeUxtMXZlbWxzYkdFdWIzSm5MMlZ1TFZWVEwyUnZZM012VjJWaUwwcGhkbUZUWTNKcGNIUXZVbVZtWlhKbGJtTmxMMGRzYjJKaGJGOVBZbXBsWTNSekwxTjBjbWx1Wnk5cGJtTnNkV1JsYzF4dVhHNWNibVoxYm1OMGFXOXVJR2x1WTJ4MVpHVnpLSE4wY2l3Z2MyVmhjbU5vTENCemRHRnlkQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSE4wWVhKMElDRTlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJSE4wWVhKMElEMGdNRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkR0Z5ZENBcklITmxZWEpqYUM1c1pXNW5kR2dnUGlCemRISXViR1Z1WjNSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQnpkSEl1YVc1a1pYaFBaaWh6WldGeVkyZ3NJSE4wWVhKMEtTQWhQVDBnTFRFN1hHNGdJSDFjYm4xY2JseHVZM0psWVhSbFJYSnliM0pVZVhCbEtDZEZVbEpmU1U1V1FVeEpSRjlQVUZSZlZrRk1WVVVuTENCbWRXNWpkR2x2YmlBb2JtRnRaU3dnZG1Gc2RXVXBJSHRjYmlBZ2NtVjBkWEp1SUNkVWFHVWdkbUZzZFdVZ1hDSW5JQ3NnZG1Gc2RXVWdLeUFuWENJZ2FYTWdhVzUyWVd4cFpDQm1iM0lnYjNCMGFXOXVJRndpSnlBcklHNWhiV1VnS3lBblhDSW5PMXh1ZlN3Z1ZIbHdaVVZ5Y205eUtUdGNibU55WldGMFpVVnljbTl5Vkhsd1pTZ25SVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVuTENCbWRXNWpkR2x2YmlBb2JtRnRaU3dnWlhod1pXTjBaV1FzSUdGamRIVmhiQ2tnZTF4dUlDQXZMeUJrWlhSbGNtMXBibVZ5T2lBbmJYVnpkQ0JpWlNjZ2IzSWdKMjExYzNRZ2JtOTBJR0psSjF4dUlDQjJZWElnWkdWMFpYSnRhVzVsY2p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdWNGNHVmpkR1ZrSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJ6ZEdGeWRITlhhWFJvS0dWNGNHVmpkR1ZrTENBbmJtOTBJQ2NwS1NCN1hHNGdJQ0FnWkdWMFpYSnRhVzVsY2lBOUlDZHRkWE4wSUc1dmRDQmlaU2M3WEc0Z0lDQWdaWGh3WldOMFpXUWdQU0JsZUhCbFkzUmxaQzV5WlhCc1lXTmxLQzllYm05MElDOHNJQ2NuS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCa1pYUmxjbTFwYm1WeUlEMGdKMjExYzNRZ1ltVW5PMXh1SUNCOVhHNWNiaUFnZG1GeUlHMXpaenRjYmx4dUlDQnBaaUFvWlc1a2MxZHBkR2dvYm1GdFpTd2dKeUJoY21kMWJXVnVkQ2NwS1NCN1hHNGdJQ0FnTHk4Z1JtOXlJR05oYzJWeklHeHBhMlVnSjJacGNuTjBJR0Z5WjNWdFpXNTBKMXh1SUNBZ0lHMXpaeUE5SUZ3aVZHaGxJRndpTG1OdmJtTmhkQ2h1WVcxbExDQmNJaUJjSWlrdVkyOXVZMkYwS0dSbGRHVnliV2x1WlhJc0lGd2lJRndpS1M1amIyNWpZWFFvYjI1bFQyWW9aWGh3WldOMFpXUXNJQ2QwZVhCbEp5a3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCMGVYQmxJRDBnYVc1amJIVmtaWE1vYm1GdFpTd2dKeTRuS1NBL0lDZHdjbTl3WlhKMGVTY2dPaUFuWVhKbmRXMWxiblFuTzF4dUlDQWdJRzF6WnlBOUlGd2lWR2hsSUZ4Y1hDSmNJaTVqYjI1allYUW9ibUZ0WlN3Z1hDSmNYRndpSUZ3aUtTNWpiMjVqWVhRb2RIbHdaU3dnWENJZ1hDSXBMbU52Ym1OaGRDaGtaWFJsY20xcGJtVnlMQ0JjSWlCY0lpa3VZMjl1WTJGMEtHOXVaVTltS0dWNGNHVmpkR1ZrTENBbmRIbHdaU2NwS1R0Y2JpQWdmVnh1WEc0Z0lHMXpaeUFyUFNCY0lpNGdVbVZqWldsMlpXUWdkSGx3WlNCY0lpNWpiMjVqWVhRb2RIbHdaVzltSUdGamRIVmhiQ2s3WEc0Z0lISmxkSFZ5YmlCdGMyYzdYRzU5TENCVWVYQmxSWEp5YjNJcE8xeHVZM0psWVhSbFJYSnliM0pVZVhCbEtDZEZVbEpmVTFSU1JVRk5YMUJWVTBoZlFVWlVSVkpmUlU5R0p5d2dKM04wY21WaGJTNXdkWE5vS0NrZ1lXWjBaWElnUlU5R0p5azdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVKeXdnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NtVjBkWEp1SUNkVWFHVWdKeUFySUc1aGJXVWdLeUFuSUcxbGRHaHZaQ0JwY3lCdWIzUWdhVzF3YkdWdFpXNTBaV1FuTzF4dWZTazdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5VFZGSkZRVTFmVUZKRlRVRlVWVkpGWDBOTVQxTkZKeXdnSjFCeVpXMWhkSFZ5WlNCamJHOXpaU2NwTzF4dVkzSmxZWFJsUlhKeWIzSlVlWEJsS0NkRlVsSmZVMVJTUlVGTlgwUkZVMVJTVDFsRlJDY3NJR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhKbGRIVnliaUFuUTJGdWJtOTBJR05oYkd3Z0p5QXJJRzVoYldVZ0t5QW5JR0ZtZEdWeUlHRWdjM1J5WldGdElIZGhjeUJrWlhOMGNtOTVaV1FuTzF4dWZTazdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3ljc0lDZERZV3hzWW1GamF5QmpZV3hzWldRZ2JYVnNkR2x3YkdVZ2RHbHRaWE1uS1R0Y2JtTnlaV0YwWlVWeWNtOXlWSGx3WlNnblJWSlNYMU5VVWtWQlRWOURRVTVPVDFSZlVFbFFSU2NzSUNkRFlXNXViM1FnY0dsd1pTd2dibTkwSUhKbFlXUmhZbXhsSnlrN1hHNWpjbVZoZEdWRmNuSnZjbFI1Y0dVb0owVlNVbDlUVkZKRlFVMWZWMUpKVkVWZlFVWlVSVkpmUlU1RUp5d2dKM2R5YVhSbElHRm1kR1Z5SUdWdVpDY3BPMXh1WTNKbFlYUmxSWEp5YjNKVWVYQmxLQ2RGVWxKZlUxUlNSVUZOWDA1VlRFeGZWa0ZNVlVWVEp5d2dKMDFoZVNCdWIzUWdkM0pwZEdVZ2JuVnNiQ0IyWVd4MVpYTWdkRzhnYzNSeVpXRnRKeXdnVkhsd1pVVnljbTl5S1R0Y2JtTnlaV0YwWlVWeWNtOXlWSGx3WlNnblJWSlNYMVZPUzA1UFYwNWZSVTVEVDBSSlRrY25MQ0JtZFc1amRHbHZiaUFvWVhKbktTQjdYRzRnSUhKbGRIVnliaUFuVlc1cmJtOTNiaUJsYm1OdlpHbHVaem9nSnlBcklHRnlaenRjYm4wc0lGUjVjR1ZGY25KdmNpazdYRzVqY21WaGRHVkZjbkp2Y2xSNWNHVW9KMFZTVWw5VFZGSkZRVTFmVlU1VFNFbEdWRjlCUmxSRlVsOUZUa1JmUlZaRlRsUW5MQ0FuYzNSeVpXRnRMblZ1YzJocFpuUW9LU0JoWm5SbGNpQmxibVFnWlhabGJuUW5LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpMbU52WkdWeklEMGdZMjlrWlhNN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24ocHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcbi8vIGEgZHVwbGV4IHN0cmVhbSBpcyBqdXN0IGEgc3RyZWFtIHRoYXQgaXMgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUuXFxuLy8gU2luY2UgSlMgZG9lc24ndCBoYXZlIG11bHRpcGxlIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UsIHRoaXMgY2xhc3NcXG4vLyBwcm90b3R5cGFsbHkgaW5oZXJpdHMgZnJvbSBSZWFkYWJsZSwgYW5kIHRoZW4gcGFyYXNpdGljYWxseSBmcm9tXFxuLy8gV3JpdGFibGUuXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgb2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIChvYmopIHtcXG4gIHZhciBrZXlzID0gW107XFxuXFxuICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XFxuICAgIGtleXMucHVzaChrZXkpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGtleXM7XFxufTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IER1cGxleDtcXG5cXG52YXIgUmVhZGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxcIik7XFxuXFxudmFyIFdyaXRhYmxlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX3dyaXRhYmxlICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoRHVwbGV4LCBSZWFkYWJsZSk7XFxuXFxue1xcbiAgLy8gQWxsb3cgdGhlIGtleXMgYXJyYXkgdG8gYmUgR0MnZWQuXFxuICB2YXIga2V5cyA9IG9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKTtcXG5cXG4gIGZvciAodmFyIHYgPSAwOyB2IDwga2V5cy5sZW5ndGg7IHYrKykge1xcbiAgICB2YXIgbWV0aG9kID0ga2V5c1t2XTtcXG4gICAgaWYgKCFEdXBsZXgucHJvdG90eXBlW21ldGhvZF0pIER1cGxleC5wcm90b3R5cGVbbWV0aG9kXSA9IFdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBEdXBsZXgob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHJldHVybiBuZXcgRHVwbGV4KG9wdGlvbnMpO1xcbiAgUmVhZGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gIFdyaXRhYmxlLmNhbGwodGhpcywgb3B0aW9ucyk7XFxuICB0aGlzLmFsbG93SGFsZk9wZW4gPSB0cnVlO1xcblxcbiAgaWYgKG9wdGlvbnMpIHtcXG4gICAgaWYgKG9wdGlvbnMucmVhZGFibGUgPT09IGZhbHNlKSB0aGlzLnJlYWRhYmxlID0gZmFsc2U7XFxuICAgIGlmIChvcHRpb25zLndyaXRhYmxlID09PSBmYWxzZSkgdGhpcy53cml0YWJsZSA9IGZhbHNlO1xcblxcbiAgICBpZiAob3B0aW9ucy5hbGxvd0hhbGZPcGVuID09PSBmYWxzZSkge1xcbiAgICAgIHRoaXMuYWxsb3dIYWxmT3BlbiA9IGZhbHNlO1xcbiAgICAgIHRoaXMub25jZSgnZW5kJywgb25lbmQpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pO1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XFxuICB9XFxufSk7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUxlbmd0aCcsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RoO1xcbiAgfVxcbn0pOyAvLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXFxuXFxuZnVuY3Rpb24gb25lbmQoKSB7XFxuICAvLyBJZiB0aGUgd3JpdGFibGUgc2lkZSBlbmRlZCwgdGhlbiB3ZSdyZSBvay5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKSByZXR1cm47IC8vIG5vIG1vcmUgZGF0YSBjYW4gYmUgd3JpdHRlbi5cXG4gIC8vIEJ1dCBhbGxvdyBtb3JlIHdyaXRlcyB0byBoYXBwZW4gaW4gdGhpcyB0aWNrLlxcblxcbiAgcHJvY2Vzcy5uZXh0VGljayhvbkVuZE5ULCB0aGlzKTtcXG59XFxuXFxuZnVuY3Rpb24gb25FbmROVChzZWxmKSB7XFxuICBzZWxmLmVuZCgpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ2Rlc3Ryb3llZCcsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcXG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXFxuXFxuXFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICB9XFxufSk7XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOWtkWEJzWlhndWFuTS9ORFkxWkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRZVHRCUVVOaU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3TzBGQlJVRXNaVUZCWlN4dFFrRkJUeXhEUVVGRExIbEhRVUZ2UWpzN1FVRkZNME1zWlVGQlpTeHRRa0ZCVHl4RFFVRkRMSGxIUVVGdlFqczdRVUZGTTBNc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZiRUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeHBRa0ZCYVVJN1FVRkRiRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGT3p0QlFVVklPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTTdRVUZEZUVNN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5a2RYQnNaWGd1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JpOHZJR0VnWkhWd2JHVjRJSE4wY21WaGJTQnBjeUJxZFhOMElHRWdjM1J5WldGdElIUm9ZWFFnYVhNZ1ltOTBhQ0J5WldGa1lXSnNaU0JoYm1RZ2QzSnBkR0ZpYkdVdVhHNHZMeUJUYVc1alpTQktVeUJrYjJWemJpZDBJR2hoZG1VZ2JYVnNkR2x3YkdVZ2NISnZkRzkwZVhCaGJDQnBibWhsY21sMFlXNWpaU3dnZEdocGN5QmpiR0Z6YzF4dUx5OGdjSEp2ZEc5MGVYQmhiR3g1SUdsdWFHVnlhWFJ6SUdaeWIyMGdVbVZoWkdGaWJHVXNJR0Z1WkNCMGFHVnVJSEJoY21GemFYUnBZMkZzYkhrZ1puSnZiVnh1THk4Z1YzSnBkR0ZpYkdVdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnYjJKcVpXTjBTMlY1Y3lBOUlFOWlhbVZqZEM1clpYbHpJSHg4SUdaMWJtTjBhVzl1SUNodlltb3BJSHRjYmlBZ2RtRnlJR3RsZVhNZ1BTQmJYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnJaWGtnYVc0Z2IySnFLU0I3WEc0Z0lDQWdhMlY1Y3k1d2RYTm9LR3RsZVNrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2EyVjVjenRjYm4wN1hHNHZLand2Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVSMWNHeGxlRHRjYmx4dWRtRnlJRkpsWVdSaFlteGxJRDBnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDNKbFlXUmhZbXhsSnlrN1hHNWNiblpoY2lCWGNtbDBZV0pzWlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21WaGJWOTNjbWwwWVdKc1pTY3BPMXh1WEc1eVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcEtFUjFjR3hsZUN3Z1VtVmhaR0ZpYkdVcE8xeHVYRzU3WEc0Z0lDOHZJRUZzYkc5M0lIUm9aU0JyWlhseklHRnljbUY1SUhSdklHSmxJRWRESjJWa0xseHVJQ0IyWVhJZ2EyVjVjeUE5SUc5aWFtVmpkRXRsZVhNb1YzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbEtUdGNibHh1SUNCbWIzSWdLSFpoY2lCMklEMGdNRHNnZGlBOElHdGxlWE11YkdWdVozUm9PeUIyS3lzcElIdGNiaUFnSUNCMllYSWdiV1YwYUc5a0lEMGdhMlY1YzF0MlhUdGNiaUFnSUNCcFppQW9JVVIxY0d4bGVDNXdjbTkwYjNSNWNHVmJiV1YwYUc5a1hTa2dSSFZ3YkdWNExuQnliM1J2ZEhsd1pWdHRaWFJvYjJSZElEMGdWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxXMjFsZEdodlpGMDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnUkhWd2JHVjRLRzl3ZEdsdmJuTXBJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVIxY0d4bGVDa3BJSEpsZEhWeWJpQnVaWGNnUkhWd2JHVjRLRzl3ZEdsdmJuTXBPMXh1SUNCU1pXRmtZV0pzWlM1allXeHNLSFJvYVhNc0lHOXdkR2x2Ym5NcE8xeHVJQ0JYY21sMFlXSnNaUzVqWVd4c0tIUm9hWE1zSUc5d2RHbHZibk1wTzF4dUlDQjBhR2x6TG1Gc2JHOTNTR0ZzWms5d1pXNGdQU0IwY25WbE8xeHVYRzRnSUdsbUlDaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLRzl3ZEdsdmJuTXVjbVZoWkdGaWJHVWdQVDA5SUdaaGJITmxLU0IwYUdsekxuSmxZV1JoWW14bElEMGdabUZzYzJVN1hHNGdJQ0FnYVdZZ0tHOXdkR2x2Ym5NdWQzSnBkR0ZpYkdVZ1BUMDlJR1poYkhObEtTQjBhR2x6TG5keWFYUmhZbXhsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3k1aGJHeHZkMGhoYkdaUGNHVnVJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJQ0FnZEdocGN5NWhiR3h2ZDBoaGJHWlBjR1Z1SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IwYUdsekxtOXVZMlVvSjJWdVpDY3NJRzl1Wlc1a0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNkM2NtbDBZV0pzWlVocFoyaFhZWFJsY2sxaGNtc25MQ0I3WEc0Z0lDOHZJRzFoYTJsdVp5QnBkQ0JsZUhCc2FXTnBkQ0IwYUdseklIQnliM0JsY25SNUlHbHpJRzV2ZENCbGJuVnRaWEpoWW14bFhHNGdJQzh2SUdKbFkyRjFjMlVnYjNSb1pYSjNhWE5sSUhOdmJXVWdjSEp2ZEc5MGVYQmxJRzFoYm1sd2RXeGhkR2x2YmlCcGJseHVJQ0F2THlCMWMyVnliR0Z1WkNCM2FXeHNJR1poYVd4Y2JpQWdaVzUxYldWeVlXSnNaVG9nWm1Gc2MyVXNYRzRnSUdkbGREb2dablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1ocFoyaFhZWFJsY2sxaGNtczdYRzRnSUgxY2JuMHBPMXh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtFUjFjR3hsZUM1d2NtOTBiM1I1Y0dVc0lDZDNjbWwwWVdKc1pVSjFabVpsY2ljc0lIdGNiaUFnTHk4Z2JXRnJhVzVuSUdsMElHVjRjR3hwWTJsMElIUm9hWE1nY0hKdmNHVnlkSGtnYVhNZ2JtOTBJR1Z1ZFcxbGNtRmliR1ZjYmlBZ0x5OGdZbVZqWVhWelpTQnZkR2hsY25kcGMyVWdjMjl0WlNCd2NtOTBiM1I1Y0dVZ2JXRnVhWEIxYkdGMGFXOXVJR2x1WEc0Z0lDOHZJSFZ6WlhKc1lXNWtJSGRwYkd3Z1ptRnBiRnh1SUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdaMlYwT2lCbWRXNWpkR2x2YmlCblpYUW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdKaVlnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1blpYUkNkV1ptWlhJb0tUdGNiaUFnZlZ4dWZTazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1JIVndiR1Y0TG5CeWIzUnZkSGx3WlN3Z0ozZHlhWFJoWW14bFRHVnVaM1JvSnl3Z2UxeHVJQ0F2THlCdFlXdHBibWNnYVhRZ1pYaHdiR2xqYVhRZ2RHaHBjeUJ3Y205d1pYSjBlU0JwY3lCdWIzUWdaVzUxYldWeVlXSnNaVnh1SUNBdkx5QmlaV05oZFhObElHOTBhR1Z5ZDJselpTQnpiMjFsSUhCeWIzUnZkSGx3WlNCdFlXNXBjSFZzWVhScGIyNGdhVzVjYmlBZ0x5OGdkWE5sY214aGJtUWdkMmxzYkNCbVlXbHNYRzRnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUdkbGRDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNXNaVzVuZEdnN1hHNGdJSDFjYm4wcE95QXZMeUIwYUdVZ2JtOHRhR0ZzWmkxdmNHVnVJR1Z1Wm05eVkyVnlYRzVjYm1aMWJtTjBhVzl1SUc5dVpXNWtLQ2tnZTF4dUlDQXZMeUJKWmlCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlNCbGJtUmxaQ3dnZEdobGJpQjNaU2R5WlNCdmF5NWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRcElISmxkSFZ5YmpzZ0x5OGdibThnYlc5eVpTQmtZWFJoSUdOaGJpQmlaU0IzY21sMGRHVnVMbHh1SUNBdkx5QkNkWFFnWVd4c2IzY2diVzl5WlNCM2NtbDBaWE1nZEc4Z2FHRndjR1Z1SUdsdUlIUm9hWE1nZEdsamF5NWNibHh1SUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0c5dVJXNWtUbFFzSUhSb2FYTXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnZia1Z1WkU1VUtITmxiR1lwSUh0Y2JpQWdjMlZzWmk1bGJtUW9LVHRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0VSMWNHeGxlQzV3Y205MGIzUjVjR1VzSUNka1pYTjBjbTk1WldRbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dUlDQjlMRnh1SUNCelpYUTZJR1oxYm1OMGFXOXVJSE5sZENoMllXeDFaU2tnZTF4dUlDQWdJQzh2SUhkbElHbG5ibTl5WlNCMGFHVWdkbUZzZFdVZ2FXWWdkR2hsSUhOMGNtVmhiVnh1SUNBZ0lDOHZJR2hoY3lCdWIzUWdZbVZsYmlCcGJtbDBhV0ZzYVhwbFpDQjVaWFJjYmlBZ0lDQnBaaUFvZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnWW1GamEzZGhjbVFnWTI5dGNHRjBhV0pwYkdsMGVTd2dkR2hsSUhWelpYSWdhWE1nWlhod2JHbGphWFJzZVZ4dUlDQWdJQzh2SUcxaGJtRm5hVzVuSUdSbGMzUnliM2xsWkZ4dVhHNWNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFpoYkhWbE8xeHVJQ0FnSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE95SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cXG4vLyBiYXNpY2FsbHkganVzdCB0aGUgbW9zdCBtaW5pbWFsIHNvcnQgb2YgVHJhbnNmb3JtIHN0cmVhbS5cXG4vLyBFdmVyeSB3cml0dGVuIGNodW5rIGdldHMgb3V0cHV0IGFzLWlzLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gUGFzc1Rocm91Z2g7XFxuXFxudmFyIFRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV90cmFuc2Zvcm0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XFxuXFxuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbn1cXG5cXG5QYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihudWxsLCBjaHVuayk7XFxufTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5d1lYTnpkR2h5YjNWbmFDNXFjejloTlRnMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFlUczdRVUZGWWpzN1FVRkZRU3huUWtGQlowSXNiVUpCUVU4c1EwRkJReXd5UjBGQmNVSTdPMEZCUlRkRExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3hDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl3WVhOemRHaHliM1ZuYUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFTnZjSGx5YVdkb2RDQktiM2xsYm5Rc0lFbHVZeTRnWVc1a0lHOTBhR1Z5SUU1dlpHVWdZMjl1ZEhKcFluVjBiM0p6TGx4dUx5OWNiaTh2SUZCbGNtMXBjM05wYjI0Z2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRc0lHWnlaV1VnYjJZZ1kyaGhjbWRsTENCMGJ5QmhibmtnY0dWeWMyOXVJRzlpZEdGcGJtbHVaeUJoWEc0dkx5QmpiM0I1SUc5bUlIUm9hWE1nYzI5bWRIZGhjbVVnWVc1a0lHRnpjMjlqYVdGMFpXUWdaRzlqZFcxbGJuUmhkR2x2YmlCbWFXeGxjeUFvZEdobFhHNHZMeUJjSWxOdlpuUjNZWEpsWENJcExDQjBieUJrWldGc0lHbHVJSFJvWlNCVGIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhKbGMzUnlhV04wYVc5dUxDQnBibU5zZFdScGJtZGNiaTh2SUhkcGRHaHZkWFFnYkdsdGFYUmhkR2x2YmlCMGFHVWdjbWxuYUhSeklIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0J0WlhKblpTd2djSFZpYkdsemFDeGNiaTh2SUdScGMzUnlhV0oxZEdVc0lITjFZbXhwWTJWdWMyVXNJR0Z1WkM5dmNpQnpaV3hzSUdOdmNHbGxjeUJ2WmlCMGFHVWdVMjltZEhkaGNtVXNJR0Z1WkNCMGJ5QndaWEp0YVhSY2JpOHZJSEJsY25OdmJuTWdkRzhnZDJodmJTQjBhR1VnVTI5bWRIZGhjbVVnYVhNZ1puVnlibWx6YUdWa0lIUnZJR1J2SUhOdkxDQnpkV0pxWldOMElIUnZJSFJvWlZ4dUx5OGdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk02WEc0dkwxeHVMeThnVkdobElHRmliM1psSUdOdmNIbHlhV2RvZENCdWIzUnBZMlVnWVc1a0lIUm9hWE1nY0dWeWJXbHpjMmx2YmlCdWIzUnBZMlVnYzJoaGJHd2dZbVVnYVc1amJIVmtaV1JjYmk4dklHbHVJR0ZzYkNCamIzQnBaWE1nYjNJZ2MzVmljM1JoYm5ScFlXd2djRzl5ZEdsdmJuTWdiMllnZEdobElGTnZablIzWVhKbExseHVMeTljYmk4dklGUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJc0lGZEpWRWhQVlZRZ1YwRlNVa0ZPVkZrZ1QwWWdRVTVaSUV0SlRrUXNJRVZZVUZKRlUxTmNiaTh2SUU5U0lFbE5VRXhKUlVRc0lFbE9RMHhWUkVsT1J5QkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOGdWRWhGSUZkQlVsSkJUbFJKUlZNZ1QwWmNiaTh2SUUxRlVrTklRVTVVUVVKSlRFbFVXU3dnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVTVFSUU1UFRrbE9SbEpKVGtkRlRVVk9WQzRnU1U1Y2JpOHZJRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSlRJRTlTSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUVOTVFVbE5MRnh1THk4Z1JFRk5RVWRGVXlCUFVpQlBWRWhGVWlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCVVQxSlVJRTlTWEc0dkx5QlBWRWhGVWxkSlUwVXNJRUZTU1ZOSlRrY2dSbEpQVFN3Z1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVTA5R1ZGZEJVa1VnVDFJZ1ZFaEZYRzR2THlCVlUwVWdUMUlnVDFSSVJWSWdSRVZCVEVsT1IxTWdTVTRnVkVoRklGTlBSbFJYUVZKRkxseHVMeThnWVNCd1lYTnpkR2h5YjNWbmFDQnpkSEpsWVcwdVhHNHZMeUJpWVhOcFkyRnNiSGtnYW5WemRDQjBhR1VnYlc5emRDQnRhVzVwYldGc0lITnZjblFnYjJZZ1ZISmhibk5tYjNKdElITjBjbVZoYlM1Y2JpOHZJRVYyWlhKNUlIZHlhWFIwWlc0Z1kyaDFibXNnWjJWMGN5QnZkWFJ3ZFhRZ1lYTXRhWE11WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVUdGemMxUm9jbTkxWjJnN1hHNWNiblpoY2lCVWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDY3VMMTl6ZEhKbFlXMWZkSEpoYm5ObWIzSnRKeWs3WEc1Y2JuSmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5a29VR0Z6YzFSb2NtOTFaMmdzSUZSeVlXNXpabTl5YlNrN1hHNWNibVoxYm1OMGFXOXVJRkJoYzNOVWFISnZkV2RvS0c5d2RHbHZibk1wSUh0Y2JpQWdhV1lnS0NFb2RHaHBjeUJwYm5OMFlXNWpaVzltSUZCaGMzTlVhSEp2ZFdkb0tTa2djbVYwZFhKdUlHNWxkeUJRWVhOelZHaHliM1ZuYUNodmNIUnBiMjV6S1R0Y2JpQWdWSEpoYm5ObWIzSnRMbU5oYkd3b2RHaHBjeXdnYjNCMGFXOXVjeWs3WEc1OVhHNWNibEJoYzNOVWFISnZkV2RvTG5CeWIzUnZkSGx3WlM1ZmRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwSUh0Y2JpQWdZMklvYm5Wc2JDd2dZMmgxYm1zcE8xeHVmVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7Ly8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBSZWFkYWJsZTtcXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBEdXBsZXg7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuUmVhZGFibGUuUmVhZGFibGVTdGF0ZSA9IFJlYWRhYmxlU3RhdGU7XFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgRUUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBldmVudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanNcXFwiKS5FdmVudEVtaXR0ZXI7XFxuXFxudmFyIEVFbGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uIEVFbGlzdGVuZXJDb3VudChlbWl0dGVyLCB0eXBlKSB7XFxuICByZXR1cm4gZW1pdHRlci5saXN0ZW5lcnModHlwZSkubGVuZ3RoO1xcbn07XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG5cXG52YXIgU3RyZWFtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5cXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuXFxudmFyIE91clVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcXG5cXG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XFxuICByZXR1cm4gQnVmZmVyLmZyb20oY2h1bmspO1xcbn1cXG5cXG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xcbiAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihvYmopIHx8IG9iaiBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXk7XFxufVxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIGRlYnVnVXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHV0aWwgKi8gMCk7XFxuXFxudmFyIGRlYnVnO1xcblxcbmlmIChkZWJ1Z1V0aWwgJiYgZGVidWdVdGlsLmRlYnVnbG9nKSB7XFxuICBkZWJ1ZyA9IGRlYnVnVXRpbC5kZWJ1Z2xvZygnc3RyZWFtJyk7XFxufSBlbHNlIHtcXG4gIGRlYnVnID0gZnVuY3Rpb24gZGVidWcoKSB7fTtcXG59XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlckxpc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXFxcIik7XFxuXFxudmFyIGRlc3Ryb3lJbXBsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcXFwiKTtcXG5cXG52YXIgX3JlcXVpcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvc3RhdGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzXFxcIiksXFxuICAgIGdldEhpZ2hXYXRlck1hcmsgPSBfcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrO1xcblxcbnZhciBfcmVxdWlyZSRjb2RlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2Vycm9ycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcXFwiKS5jb2RlcyxcXG4gICAgRVJSX0lOVkFMSURfQVJHX1RZUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRSxcXG4gICAgRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRiA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YsXFxuICAgIEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEID0gX3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsXFxuICAgIEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UOyAvLyBMYXp5IGxvYWRlZCB0byBpbXByb3ZlIHRoZSBzdGFydHVwIHBlcmZvcm1hbmNlLlxcblxcblxcbnZhciBTdHJpbmdEZWNvZGVyO1xcbnZhciBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I7XFxudmFyIGZyb207XFxuXFxuX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKShSZWFkYWJsZSwgU3RyZWFtKTtcXG5cXG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcXG52YXIga1Byb3h5RXZlbnRzID0gWydlcnJvcicsICdjbG9zZScsICdkZXN0cm95JywgJ3BhdXNlJywgJ3Jlc3VtZSddO1xcblxcbmZ1bmN0aW9uIHByZXBlbmRMaXN0ZW5lcihlbWl0dGVyLCBldmVudCwgZm4pIHtcXG4gIC8vIFNhZGx5IHRoaXMgaXMgbm90IGNhY2hlYWJsZSBhcyBzb21lIGxpYnJhcmllcyBidW5kbGUgdGhlaXIgb3duXFxuICAvLyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uIHdpdGggdGhlbS5cXG4gIGlmICh0eXBlb2YgZW1pdHRlci5wcmVwZW5kTGlzdGVuZXIgPT09ICdmdW5jdGlvbicpIHJldHVybiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lcihldmVudCwgZm4pOyAvLyBUaGlzIGlzIGEgaGFjayB0byBtYWtlIHN1cmUgdGhhdCBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgYW55XFxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcXG4gIC8vIHRvIGNvbnRpbnVlIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBOb2RlLmpzIHRoYXQgZG8gbm90IGluY2x1ZGVcXG4gIC8vIHRoZSBwcmVwZW5kTGlzdGVuZXIoKSBtZXRob2QuIFRoZSBnb2FsIGlzIHRvIGV2ZW50dWFsbHkgcmVtb3ZlIHRoaXMgaGFjay5cXG5cXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoQXJyYXkuaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xcbn1cXG5cXG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSwgaXNEdXBsZXgpIHtcXG4gIER1cGxleCA9IER1cGxleCB8fCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fZHVwbGV4ICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9OyAvLyBEdXBsZXggc3RyZWFtcyBhcmUgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUsIGJ1dCBzaGFyZVxcbiAgLy8gdGhlIHNhbWUgb3B0aW9ucyBvYmplY3QuXFxuICAvLyBIb3dldmVyLCBzb21lIGNhc2VzIHJlcXVpcmUgc2V0dGluZyBvcHRpb25zIHRvIGRpZmZlcmVudFxcbiAgLy8gdmFsdWVzIGZvciB0aGUgcmVhZGFibGUgYW5kIHRoZSB3cml0YWJsZSBzaWRlcyBvZiB0aGUgZHVwbGV4IHN0cmVhbS5cXG4gIC8vIFRoZXNlIG9wdGlvbnMgY2FuIGJlIHByb3ZpZGVkIHNlcGFyYXRlbHkgYXMgcmVhZGFibGVYWFggYW5kIHdyaXRhYmxlWFhYLlxcblxcbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDsgLy8gb2JqZWN0IHN0cmVhbSBmbGFnLiBVc2VkIHRvIG1ha2UgcmVhZChuKSBpZ25vcmUgbiBhbmQgdG9cXG4gIC8vIG1ha2UgYWxsIHRoZSBidWZmZXIgbWVyZ2luZyBhbmQgbGVuZ3RoIGNoZWNrcyBnbyBhd2F5XFxuXFxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy5yZWFkYWJsZU9iamVjdE1vZGU7IC8vIHRoZSBwb2ludCBhdCB3aGljaCBpdCBzdG9wcyBjYWxsaW5nIF9yZWFkKCkgdG8gZmlsbCB0aGUgYnVmZmVyXFxuICAvLyBOb3RlOiAwIGlzIGEgdmFsaWQgdmFsdWUsIG1lYW5zIFxcXCJkb24ndCBjYWxsIF9yZWFkIHByZWVtcHRpdmVseSBldmVyXFxcIlxcblxcbiAgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZ2V0SGlnaFdhdGVyTWFyayh0aGlzLCBvcHRpb25zLCAncmVhZGFibGVIaWdoV2F0ZXJNYXJrJywgaXNEdXBsZXgpOyAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxcbiAgLy8gbGlua2VkIGxpc3QgY2FuIHJlbW92ZSBlbGVtZW50cyBmcm9tIHRoZSBiZWdpbm5pbmcgZmFzdGVyIHRoYW5cXG4gIC8vIGFycmF5LnNoaWZ0KClcXG5cXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcXG4gIHRoaXMubGVuZ3RoID0gMDtcXG4gIHRoaXMucGlwZXMgPSBudWxsO1xcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcXG4gIHRoaXMuZmxvd2luZyA9IG51bGw7XFxuICB0aGlzLmVuZGVkID0gZmFsc2U7XFxuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcXG4gIHRoaXMucmVhZGluZyA9IGZhbHNlOyAvLyBhIGZsYWcgdG8gYmUgYWJsZSB0byB0ZWxsIGlmIHRoZSBldmVudCAncmVhZGFibGUnLydkYXRhJyBpcyBlbWl0dGVkXFxuICAvLyBpbW1lZGlhdGVseSwgb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZVxcbiAgLy8gYW55IGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFxcXCJsYXRlclxcXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXFxuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3QgcmVhZCBjYWxsLlxcblxcbiAgdGhpcy5zeW5jID0gdHJ1ZTsgLy8gd2hlbmV2ZXIgd2UgcmV0dXJuIG51bGwsIHRoZW4gd2Ugc2V0IGEgZmxhZyB0byBzYXlcXG4gIC8vIHRoYXQgd2UncmUgYXdhaXRpbmcgYSAncmVhZGFibGUnIGV2ZW50IGVtaXNzaW9uLlxcblxcbiAgdGhpcy5uZWVkUmVhZGFibGUgPSBmYWxzZTtcXG4gIHRoaXMuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICB0aGlzLnJlYWRhYmxlTGlzdGVuaW5nID0gZmFsc2U7XFxuICB0aGlzLnJlc3VtZVNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgdGhpcy5wYXVzZWQgPSB0cnVlOyAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxcblxcbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7IC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZW5kJyAoYW5kIHBvdGVudGlhbGx5ICdmaW5pc2gnKVxcblxcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTsgLy8gaGFzIGl0IGJlZW4gZGVzdHJveWVkXFxuXFxuICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlOyAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXFxuICAvLyBlbmNvZGluZyBpcyAnYmluYXJ5JyBzbyB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBjb25maWd1cmFibGUuXFxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaW4gdGhlIHVuaXZlcnNlIHVzZXMgJ3V0ZjgnLCB0aG91Z2guXFxuXFxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JzsgLy8gdGhlIG51bWJlciBvZiB3cml0ZXJzIHRoYXQgYXJlIGF3YWl0aW5nIGEgZHJhaW4gZXZlbnQgaW4gLnBpcGUoKXNcXG5cXG4gIHRoaXMuYXdhaXREcmFpbiA9IDA7IC8vIGlmIHRydWUsIGEgbWF5YmVSZWFkTW9yZSBoYXMgYmVlbiBzY2hlZHVsZWRcXG5cXG4gIHRoaXMucmVhZGluZ01vcmUgPSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlciA9IG51bGw7XFxuICB0aGlzLmVuY29kaW5nID0gbnVsbDtcXG5cXG4gIGlmIChvcHRpb25zLmVuY29kaW5nKSB7XFxuICAgIGlmICghU3RyaW5nRGVjb2RlcikgU3RyaW5nRGVjb2RlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHN0cmluZ19kZWNvZGVyLyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzXFxcIikuU3RyaW5nRGVjb2RlcjtcXG4gICAgdGhpcy5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIob3B0aW9ucy5lbmNvZGluZyk7XFxuICAgIHRoaXMuZW5jb2RpbmcgPSBvcHRpb25zLmVuY29kaW5nO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBSZWFkYWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKSByZXR1cm4gbmV3IFJlYWRhYmxlKG9wdGlvbnMpOyAvLyBDaGVja2luZyBmb3IgYSBTdHJlYW0uRHVwbGV4IGluc3RhbmNlIGlzIGZhc3RlciBoZXJlIGluc3RlYWQgb2YgaW5zaWRlXFxuICAvLyB0aGUgUmVhZGFibGVTdGF0ZSBjb25zdHJ1Y3RvciwgYXQgbGVhc3Qgd2l0aCBWOCA2LjVcXG5cXG4gIHZhciBpc0R1cGxleCA9IHRoaXMgaW5zdGFuY2VvZiBEdXBsZXg7XFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlID0gbmV3IFJlYWRhYmxlU3RhdGUob3B0aW9ucywgdGhpcywgaXNEdXBsZXgpOyAvLyBsZWdhY3lcXG5cXG4gIHRoaXMucmVhZGFibGUgPSB0cnVlO1xcblxcbiAgaWYgKG9wdGlvbnMpIHtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLnJlYWQgPT09ICdmdW5jdGlvbicpIHRoaXMuX3JlYWQgPSBvcHRpb25zLnJlYWQ7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xcbiAgfVxcblxcbiAgU3RyZWFtLmNhbGwodGhpcyk7XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICghdGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfSAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XFxuICAgIC8vIG1hbmFnaW5nIGRlc3Ryb3llZFxcblxcblxcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xcbiAgfVxcbn0pO1xcblJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLnVuZGVzdHJveTtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgY2IoZXJyKTtcXG59OyAvLyBNYW51YWxseSBzaG92ZSBzb21ldGhpbmcgaW50byB0aGUgcmVhZCgpIGJ1ZmZlci5cXG4vLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB0aGUgaGlnaFdhdGVyTWFyayBoYXMgbm90IGJlZW4gaGl0IHlldCxcXG4vLyBzaW1pbGFyIHRvIGhvdyBXcml0YWJsZS53cml0ZSgpIHJldHVybnMgdHJ1ZSBpZiB5b3Ugc2hvdWxkXFxuLy8gd3JpdGUoKSBzb21lIG1vcmUuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHNraXBDaHVua0NoZWNrO1xcblxcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlKSB7XFxuICAgIGlmICh0eXBlb2YgY2h1bmsgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZyB8fCBzdGF0ZS5kZWZhdWx0RW5jb2Rpbmc7XFxuXFxuICAgICAgaWYgKGVuY29kaW5nICE9PSBzdGF0ZS5lbmNvZGluZykge1xcbiAgICAgICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xcbiAgICAgICAgZW5jb2RpbmcgPSAnJztcXG4gICAgICB9XFxuXFxuICAgICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBza2lwQ2h1bmtDaGVjayA9IHRydWU7XFxuICB9XFxuXFxuICByZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLCBjaHVuaywgZW5jb2RpbmcsIGZhbHNlLCBza2lwQ2h1bmtDaGVjayk7XFxufTsgLy8gVW5zaGlmdCBzaG91bGQgKmFsd2F5cyogYmUgc29tZXRoaW5nIGRpcmVjdGx5IG91dCBvZiByZWFkKClcXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uIChjaHVuaykge1xcbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIG51bGwsIHRydWUsIGZhbHNlKTtcXG59O1xcblxcbmZ1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoc3RyZWFtLCBjaHVuaywgZW5jb2RpbmcsIGFkZFRvRnJvbnQsIHNraXBDaHVua0NoZWNrKSB7XFxuICBkZWJ1ZygncmVhZGFibGVBZGRDaHVuaycsIGNodW5rKTtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xcbiAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuICAgIG9uRW9mQ2h1bmsoc3RyZWFtLCBzdGF0ZSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgZXI7XFxuICAgIGlmICghc2tpcENodW5rQ2hlY2spIGVyID0gY2h1bmtJbnZhbGlkKHN0YXRlLCBjaHVuayk7XFxuXFxuICAgIGlmIChlcikge1xcbiAgICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xcbiAgICB9IGVsc2UgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsgJiYgY2h1bmsubGVuZ3RoID4gMCkge1xcbiAgICAgIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmICFzdGF0ZS5vYmplY3RNb2RlICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihjaHVuaykgIT09IEJ1ZmZlci5wcm90b3R5cGUpIHtcXG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XFxuICAgICAgICBpZiAoc3RhdGUuZW5kRW1pdHRlZCkgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBuZXcgRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCgpKTtlbHNlIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCB0cnVlKTtcXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmVuZGVkKSB7XFxuICAgICAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIG5ldyBFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GKCkpO1xcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUuZGVzdHJveWVkKSB7XFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcXG5cXG4gICAgICAgIGlmIChzdGF0ZS5kZWNvZGVyICYmICFlbmNvZGluZykge1xcbiAgICAgICAgICBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xcbiAgICAgICAgICBpZiAoc3RhdGUub2JqZWN0TW9kZSB8fCBjaHVuay5sZW5ndGggIT09IDApIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7ZWxzZSBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoIWFkZFRvRnJvbnQpIHtcXG4gICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuICAgICAgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcbiAgfSAvLyBXZSBjYW4gcHVzaCBtb3JlIGRhdGEgaWYgd2UgYXJlIGJlbG93IHRoZSBoaWdoV2F0ZXJNYXJrLlxcbiAgLy8gQWxzbywgaWYgd2UgaGF2ZSBubyBkYXRhIHlldCwgd2UgY2FuIHN0YW5kIHNvbWUgbW9yZSBieXRlcy5cXG4gIC8vIFRoaXMgaXMgdG8gd29yayBhcm91bmQgY2FzZXMgd2hlcmUgaHdtPTAsIHN1Y2ggYXMgdGhlIHJlcGwuXFxuXFxuXFxuICByZXR1cm4gIXN0YXRlLmVuZGVkICYmIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCk7XFxufVxcblxcbmZ1bmN0aW9uIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBhZGRUb0Zyb250KSB7XFxuICBpZiAoc3RhdGUuZmxvd2luZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgIXN0YXRlLnN5bmMpIHtcXG4gICAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XFxuICAgIHN0cmVhbS5lbWl0KCdkYXRhJywgY2h1bmspO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gdXBkYXRlIHRoZSBidWZmZXIgaW5mby5cXG4gICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xcbiAgICBpZiAoYWRkVG9Gcm9udCkgc3RhdGUuYnVmZmVyLnVuc2hpZnQoY2h1bmspO2Vsc2Ugc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xcbiAgICBpZiAoc3RhdGUubmVlZFJlYWRhYmxlKSBlbWl0UmVhZGFibGUoc3RyZWFtKTtcXG4gIH1cXG5cXG4gIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XFxufVxcblxcbmZ1bmN0aW9uIGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspIHtcXG4gIHZhciBlcjtcXG5cXG4gIGlmICghX2lzVWludDhBcnJheShjaHVuaykgJiYgdHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiBjaHVuayAhPT0gdW5kZWZpbmVkICYmICFzdGF0ZS5vYmplY3RNb2RlKSB7XFxuICAgIGVyID0gbmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKCdjaHVuaycsIFsnc3RyaW5nJywgJ0J1ZmZlcicsICdVaW50OEFycmF5J10sIGNodW5rKTtcXG4gIH1cXG5cXG4gIHJldHVybiBlcjtcXG59XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLmlzUGF1c2VkID0gZnVuY3Rpb24gKCkge1xcbiAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9PT0gZmFsc2U7XFxufTsgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nID0gZnVuY3Rpb24gKGVuYykge1xcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIvICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanNcXFwiKS5TdHJpbmdEZWNvZGVyO1xcbiAgdmFyIGRlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihlbmMpO1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gZGVjb2RlcjsgLy8gSWYgc2V0RW5jb2RpbmcobnVsbCksIGRlY29kZXIuZW5jb2RpbmcgZXF1YWxzIHV0ZjhcXG5cXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2RpbmcgPSB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXIuZW5jb2Rpbmc7IC8vIEl0ZXJhdGUgb3ZlciBjdXJyZW50IGJ1ZmZlciB0byBjb252ZXJ0IGFscmVhZHkgc3RvcmVkIEJ1ZmZlcnM6XFxuXFxuICB2YXIgcCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmhlYWQ7XFxuICB2YXIgY29udGVudCA9ICcnO1xcblxcbiAgd2hpbGUgKHAgIT09IG51bGwpIHtcXG4gICAgY29udGVudCArPSBkZWNvZGVyLndyaXRlKHAuZGF0YSk7XFxuICAgIHAgPSBwLm5leHQ7XFxuICB9XFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5jbGVhcigpO1xcblxcbiAgaWYgKGNvbnRlbnQgIT09ICcnKSB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5wdXNoKGNvbnRlbnQpO1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGggPSBjb250ZW50Lmxlbmd0aDtcXG4gIHJldHVybiB0aGlzO1xcbn07IC8vIERvbid0IHJhaXNlIHRoZSBod20gPiAxR0JcXG5cXG5cXG52YXIgTUFYX0hXTSA9IDB4NDAwMDAwMDA7XFxuXFxuZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobikge1xcbiAgaWYgKG4gPj0gTUFYX0hXTSkge1xcbiAgICAvLyBUT0RPKHJvbmFnKTogVGhyb3cgRVJSX1ZBTFVFX09VVF9PRl9SQU5HRS5cXG4gICAgbiA9IE1BWF9IV007XFxuICB9IGVsc2Uge1xcbiAgICAvLyBHZXQgdGhlIG5leHQgaGlnaGVzdCBwb3dlciBvZiAyIHRvIHByZXZlbnQgaW5jcmVhc2luZyBod20gZXhjZXNzaXZlbHkgaW5cXG4gICAgLy8gdGlueSBhbW91bnRzXFxuICAgIG4tLTtcXG4gICAgbiB8PSBuID4+PiAxO1xcbiAgICBuIHw9IG4gPj4+IDI7XFxuICAgIG4gfD0gbiA+Pj4gNDtcXG4gICAgbiB8PSBuID4+PiA4O1xcbiAgICBuIHw9IG4gPj4+IDE2O1xcbiAgICBuKys7XFxuICB9XFxuXFxuICByZXR1cm4gbjtcXG59IC8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXFxuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cXG5cXG5cXG5mdW5jdGlvbiBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKSB7XFxuICBpZiAobiA8PSAwIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkgcmV0dXJuIDA7XFxuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0dXJuIDE7XFxuXFxuICBpZiAobiAhPT0gbikge1xcbiAgICAvLyBPbmx5IGZsb3cgb25lIGJ1ZmZlciBhdCBhIHRpbWVcXG4gICAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoKSByZXR1cm4gc3RhdGUuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg7ZWxzZSByZXR1cm4gc3RhdGUubGVuZ3RoO1xcbiAgfSAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cXG5cXG5cXG4gIGlmIChuID4gc3RhdGUuaGlnaFdhdGVyTWFyaykgc3RhdGUuaGlnaFdhdGVyTWFyayA9IGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pO1xcbiAgaWYgKG4gPD0gc3RhdGUubGVuZ3RoKSByZXR1cm4gbjsgLy8gRG9uJ3QgaGF2ZSBlbm91Z2hcXG5cXG4gIGlmICghc3RhdGUuZW5kZWQpIHtcXG4gICAgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcXG4gICAgcmV0dXJuIDA7XFxuICB9XFxuXFxuICByZXR1cm4gc3RhdGUubGVuZ3RoO1xcbn0gLy8geW91IGNhbiBvdmVycmlkZSBlaXRoZXIgdGhpcyBtZXRob2QsIG9yIHRoZSBhc3luYyBfcmVhZChuKSBiZWxvdy5cXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICBkZWJ1ZygncmVhZCcsIG4pO1xcbiAgbiA9IHBhcnNlSW50KG4sIDEwKTtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgbk9yaWcgPSBuO1xcbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlOyAvLyBpZiB3ZSdyZSBkb2luZyByZWFkKDApIHRvIHRyaWdnZXIgYSByZWFkYWJsZSBldmVudCwgYnV0IHdlXFxuICAvLyBhbHJlYWR5IGhhdmUgYSBidW5jaCBvZiBkYXRhIGluIHRoZSBidWZmZXIsIHRoZW4ganVzdCB0cmlnZ2VyXFxuICAvLyB0aGUgJ3JlYWRhYmxlJyBldmVudCBhbmQgbW92ZSBvbi5cXG5cXG4gIGlmIChuID09PSAwICYmIHN0YXRlLm5lZWRSZWFkYWJsZSAmJiAoKHN0YXRlLmhpZ2hXYXRlck1hcmsgIT09IDAgPyBzdGF0ZS5sZW5ndGggPj0gc3RhdGUuaGlnaFdhdGVyTWFyayA6IHN0YXRlLmxlbmd0aCA+IDApIHx8IHN0YXRlLmVuZGVkKSkge1xcbiAgICBkZWJ1ZygncmVhZDogZW1pdFJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO2Vsc2UgZW1pdFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIG4gPSBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKTsgLy8gaWYgd2UndmUgZW5kZWQsIGFuZCB3ZSdyZSBub3cgY2xlYXIsIHRoZW4gZmluaXNoIGl0IHVwLlxcblxcbiAgaWYgKG4gPT09IDAgJiYgc3RhdGUuZW5kZWQpIHtcXG4gICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgZW5kUmVhZGFibGUodGhpcyk7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSAvLyBBbGwgdGhlIGFjdHVhbCBjaHVuayBnZW5lcmF0aW9uIGxvZ2ljIG5lZWRzIHRvIGJlXFxuICAvLyAqYmVsb3cqIHRoZSBjYWxsIHRvIF9yZWFkLiAgVGhlIHJlYXNvbiBpcyB0aGF0IGluIGNlcnRhaW5cXG4gIC8vIHN5bnRoZXRpYyBzdHJlYW0gY2FzZXMsIHN1Y2ggYXMgcGFzc3Rocm91Z2ggc3RyZWFtcywgX3JlYWRcXG4gIC8vIG1heSBiZSBhIGNvbXBsZXRlbHkgc3luY2hyb25vdXMgb3BlcmF0aW9uIHdoaWNoIG1heSBjaGFuZ2VcXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgcmVhZCBidWZmZXIsIHByb3ZpZGluZyBlbm91Z2ggZGF0YSB3aGVuXFxuICAvLyBiZWZvcmUgdGhlcmUgd2FzICpub3QqIGVub3VnaC5cXG4gIC8vXFxuICAvLyBTbywgdGhlIHN0ZXBzIGFyZTpcXG4gIC8vIDEuIEZpZ3VyZSBvdXQgd2hhdCB0aGUgc3RhdGUgb2YgdGhpbmdzIHdpbGwgYmUgYWZ0ZXIgd2UgZG9cXG4gIC8vIGEgcmVhZCBmcm9tIHRoZSBidWZmZXIuXFxuICAvL1xcbiAgLy8gMi4gSWYgdGhhdCByZXN1bHRpbmcgc3RhdGUgd2lsbCB0cmlnZ2VyIGEgX3JlYWQsIHRoZW4gY2FsbCBfcmVhZC5cXG4gIC8vIE5vdGUgdGhhdCB0aGlzIG1heSBiZSBhc3luY2hyb25vdXMsIG9yIHN5bmNocm9ub3VzLiAgWWVzLCBpdCBpc1xcbiAgLy8gZGVlcGx5IHVnbHkgdG8gd3JpdGUgQVBJcyB0aGlzIHdheSwgYnV0IHRoYXQgc3RpbGwgZG9lc24ndCBtZWFuXFxuICAvLyB0aGF0IHRoZSBSZWFkYWJsZSBjbGFzcyBzaG91bGQgYmVoYXZlIGltcHJvcGVybHksIGFzIHN0cmVhbXMgYXJlXFxuICAvLyBkZXNpZ25lZCB0byBiZSBzeW5jL2FzeW5jIGFnbm9zdGljLlxcbiAgLy8gVGFrZSBub3RlIGlmIHRoZSBfcmVhZCBjYWxsIGlzIHN5bmMgb3IgYXN5bmMgKGllLCBpZiB0aGUgcmVhZCBjYWxsXFxuICAvLyBoYXMgcmV0dXJuZWQgeWV0KSwgc28gdGhhdCB3ZSBrbm93IHdoZXRoZXIgb3Igbm90IGl0J3Mgc2FmZSB0byBlbWl0XFxuICAvLyAncmVhZGFibGUnIGV0Yy5cXG4gIC8vXFxuICAvLyAzLiBBY3R1YWxseSBwdWxsIHRoZSByZXF1ZXN0ZWQgY2h1bmtzIG91dCBvZiB0aGUgYnVmZmVyIGFuZCByZXR1cm4uXFxuICAvLyBpZiB3ZSBuZWVkIGEgcmVhZGFibGUgZXZlbnQsIHRoZW4gd2UgbmVlZCB0byBkbyBzb21lIHJlYWRpbmcuXFxuXFxuXFxuICB2YXIgZG9SZWFkID0gc3RhdGUubmVlZFJlYWRhYmxlO1xcbiAgZGVidWcoJ25lZWQgcmVhZGFibGUnLCBkb1JlYWQpOyAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcXG5cXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgfHwgc3RhdGUubGVuZ3RoIC0gbiA8IHN0YXRlLmhpZ2hXYXRlck1hcmspIHtcXG4gICAgZG9SZWFkID0gdHJ1ZTtcXG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcXG4gIH0gLy8gaG93ZXZlciwgaWYgd2UndmUgZW5kZWQsIHRoZW4gdGhlcmUncyBubyBwb2ludCwgYW5kIGlmIHdlJ3JlIGFscmVhZHlcXG4gIC8vIHJlYWRpbmcsIHRoZW4gaXQncyB1bm5lY2Vzc2FyeS5cXG5cXG5cXG4gIGlmIChzdGF0ZS5lbmRlZCB8fCBzdGF0ZS5yZWFkaW5nKSB7XFxuICAgIGRvUmVhZCA9IGZhbHNlO1xcbiAgICBkZWJ1ZygncmVhZGluZyBvciBlbmRlZCcsIGRvUmVhZCk7XFxuICB9IGVsc2UgaWYgKGRvUmVhZCkge1xcbiAgICBkZWJ1ZygnZG8gcmVhZCcpO1xcbiAgICBzdGF0ZS5yZWFkaW5nID0gdHJ1ZTtcXG4gICAgc3RhdGUuc3luYyA9IHRydWU7IC8vIGlmIHRoZSBsZW5ndGggaXMgY3VycmVudGx5IHplcm8sIHRoZW4gd2UgKm5lZWQqIGEgcmVhZGFibGUgZXZlbnQuXFxuXFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7IC8vIGNhbGwgaW50ZXJuYWwgcmVhZCBtZXRob2RcXG5cXG4gICAgdGhpcy5fcmVhZChzdGF0ZS5oaWdoV2F0ZXJNYXJrKTtcXG5cXG4gICAgc3RhdGUuc3luYyA9IGZhbHNlOyAvLyBJZiBfcmVhZCBwdXNoZWQgZGF0YSBzeW5jaHJvbm91c2x5LCB0aGVuIGByZWFkaW5nYCB3aWxsIGJlIGZhbHNlLFxcbiAgICAvLyBhbmQgd2UgbmVlZCB0byByZS1ldmFsdWF0ZSBob3cgbXVjaCBkYXRhIHdlIGNhbiByZXR1cm4gdG8gdGhlIHVzZXIuXFxuXFxuICAgIGlmICghc3RhdGUucmVhZGluZykgbiA9IGhvd011Y2hUb1JlYWQobk9yaWcsIHN0YXRlKTtcXG4gIH1cXG5cXG4gIHZhciByZXQ7XFxuICBpZiAobiA+IDApIHJldCA9IGZyb21MaXN0KG4sIHN0YXRlKTtlbHNlIHJldCA9IG51bGw7XFxuXFxuICBpZiAocmV0ID09PSBudWxsKSB7XFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHN0YXRlLmxlbmd0aCA8PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgICBuID0gMDtcXG4gIH0gZWxzZSB7XFxuICAgIHN0YXRlLmxlbmd0aCAtPSBuO1xcbiAgICBzdGF0ZS5hd2FpdERyYWluID0gMDtcXG4gIH1cXG5cXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHtcXG4gICAgLy8gSWYgd2UgaGF2ZSBub3RoaW5nIGluIHRoZSBidWZmZXIsIHRoZW4gd2Ugd2FudCB0byBrbm93XFxuICAgIC8vIGFzIHNvb24gYXMgd2UgKmRvKiBnZXQgc29tZXRoaW5nIGludG8gdGhlIGJ1ZmZlci5cXG4gICAgaWYgKCFzdGF0ZS5lbmRlZCkgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTsgLy8gSWYgd2UgdHJpZWQgdG8gcmVhZCgpIHBhc3QgdGhlIEVPRiwgdGhlbiBlbWl0IGVuZCBvbiB0aGUgbmV4dCB0aWNrLlxcblxcbiAgICBpZiAobk9yaWcgIT09IG4gJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO1xcbiAgfVxcblxcbiAgaWYgKHJldCAhPT0gbnVsbCkgdGhpcy5lbWl0KCdkYXRhJywgcmV0KTtcXG4gIHJldHVybiByZXQ7XFxufTtcXG5cXG5mdW5jdGlvbiBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGRlYnVnKCdvbkVvZkNodW5rJyk7XFxuICBpZiAoc3RhdGUuZW5kZWQpIHJldHVybjtcXG5cXG4gIGlmIChzdGF0ZS5kZWNvZGVyKSB7XFxuICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XFxuXFxuICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIHtcXG4gICAgICBzdGF0ZS5idWZmZXIucHVzaChjaHVuayk7XFxuICAgICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xcbiAgICB9XFxuICB9XFxuXFxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuXFxuICBpZiAoc3RhdGUuc3luYykge1xcbiAgICAvLyBpZiB3ZSBhcmUgc3luYywgd2FpdCB1bnRpbCBuZXh0IHRpY2sgdG8gZW1pdCB0aGUgZGF0YS5cXG4gICAgLy8gT3RoZXJ3aXNlIHdlIHJpc2sgZW1pdHRpbmcgZGF0YSBpbiB0aGUgZmxvdygpXFxuICAgIC8vIHRoZSByZWFkYWJsZSBjb2RlIHRyaWdnZXJzIGR1cmluZyBhIHJlYWQoKSBjYWxsXFxuICAgIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgICBpZiAoIXN0YXRlLmVtaXR0ZWRSZWFkYWJsZSkge1xcbiAgICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgICAgZW1pdFJlYWRhYmxlXyhzdHJlYW0pO1xcbiAgICB9XFxuICB9XFxufSAvLyBEb24ndCBlbWl0IHJlYWRhYmxlIHJpZ2h0IGF3YXkgaW4gc3luYyBtb2RlLCBiZWNhdXNlIHRoaXMgY2FuIHRyaWdnZXJcXG4vLyBhbm90aGVyIHJlYWQoKSBjYWxsID0+IHN0YWNrIG92ZXJmbG93LiAgVGhpcyB3YXksIGl0IG1pZ2h0IHRyaWdnZXJcXG4vLyBhIG5leHRUaWNrIHJlY3Vyc2lvbiB3YXJuaW5nLCBidXQgdGhhdCdzIG5vdCBzbyBiYWQuXFxuXFxuXFxuZnVuY3Rpb24gZW1pdFJlYWRhYmxlKHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLm5lZWRSZWFkYWJsZSwgc3RhdGUuZW1pdHRlZFJlYWRhYmxlKTtcXG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcXG4gICAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLmZsb3dpbmcpO1xcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sIHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oc3RyZWFtKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuICBkZWJ1ZygnZW1pdFJlYWRhYmxlXycsIHN0YXRlLmRlc3Ryb3llZCwgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XFxuXFxuICBpZiAoIXN0YXRlLmRlc3Ryb3llZCAmJiAoc3RhdGUubGVuZ3RoIHx8IHN0YXRlLmVuZGVkKSkge1xcbiAgICBzdHJlYW0uZW1pdCgncmVhZGFibGUnKTtcXG4gICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICB9IC8vIFRoZSBzdHJlYW0gbmVlZHMgYW5vdGhlciByZWFkYWJsZSBldmVudCBpZlxcbiAgLy8gMS4gSXQgaXMgbm90IGZsb3dpbmcsIGFzIHRoZSBmbG93IG1lY2hhbmlzbSB3aWxsIHRha2VcXG4gIC8vICAgIGNhcmUgb2YgaXQuXFxuICAvLyAyLiBJdCBpcyBub3QgZW5kZWQuXFxuICAvLyAzLiBJdCBpcyBiZWxvdyB0aGUgaGlnaFdhdGVyTWFyaywgc28gd2UgY2FuIHNjaGVkdWxlXFxuICAvLyAgICBhbm90aGVyIHJlYWRhYmxlIGxhdGVyLlxcblxcblxcbiAgc3RhdGUubmVlZFJlYWRhYmxlID0gIXN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLmVuZGVkICYmIHN0YXRlLmxlbmd0aCA8PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgZmxvdyhzdHJlYW0pO1xcbn0gLy8gYXQgdGhpcyBwb2ludCwgdGhlIHVzZXIgaGFzIHByZXN1bWFibHkgc2VlbiB0aGUgJ3JlYWRhYmxlJyBldmVudCxcXG4vLyBhbmQgY2FsbGVkIHJlYWQoKSB0byBjb25zdW1lIHNvbWUgZGF0YS4gIHRoYXQgbWF5IGhhdmUgdHJpZ2dlcmVkXFxuLy8gaW4gdHVybiBhbm90aGVyIF9yZWFkKG4pIGNhbGwsIGluIHdoaWNoIGNhc2UgcmVhZGluZyA9IHRydWUgaWZcXG4vLyBpdCdzIGluIHByb2dyZXNzLlxcbi8vIEhvd2V2ZXIsIGlmIHdlJ3JlIG5vdCBlbmRlZCwgb3IgcmVhZGluZywgYW5kIHRoZSBsZW5ndGggPCBod20sXFxuLy8gdGhlbiBnbyBhaGVhZCBhbmQgdHJ5IHRvIHJlYWQgc29tZSBtb3JlIHByZWVtcHRpdmVseS5cXG5cXG5cXG5mdW5jdGlvbiBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmICghc3RhdGUucmVhZGluZ01vcmUpIHtcXG4gICAgc3RhdGUucmVhZGluZ01vcmUgPSB0cnVlO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLCBzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xcbiAgLy8gQXR0ZW1wdCB0byByZWFkIG1vcmUgZGF0YSBpZiB3ZSBzaG91bGQuXFxuICAvL1xcbiAgLy8gVGhlIGNvbmRpdGlvbnMgZm9yIHJlYWRpbmcgbW9yZSBkYXRhIGFyZSAob25lIG9mKTpcXG4gIC8vIC0gTm90IGVub3VnaCBkYXRhIGJ1ZmZlcmVkIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrKS4gVGhlIGxvb3BcXG4gIC8vICAgaXMgcmVzcG9uc2libGUgZm9yIGZpbGxpbmcgdGhlIGJ1ZmZlciB3aXRoIGVub3VnaCBkYXRhIGlmIHN1Y2ggZGF0YVxcbiAgLy8gICBpcyBhdmFpbGFibGUuIElmIGhpZ2hXYXRlck1hcmsgaXMgMCBhbmQgd2UgYXJlIG5vdCBpbiB0aGUgZmxvd2luZyBtb2RlXFxuICAvLyAgIHdlIHNob3VsZCBfbm90XyBhdHRlbXB0IHRvIGJ1ZmZlciBhbnkgZXh0cmEgZGF0YS4gV2UnbGwgZ2V0IG1vcmUgZGF0YVxcbiAgLy8gICB3aGVuIHRoZSBzdHJlYW0gY29uc3VtZXIgY2FsbHMgcmVhZCgpIGluc3RlYWQuXFxuICAvLyAtIE5vIGRhdGEgaW4gdGhlIGJ1ZmZlciwgYW5kIHRoZSBzdHJlYW0gaXMgaW4gZmxvd2luZyBtb2RlLiBJbiB0aGlzIG1vZGVcXG4gIC8vICAgdGhlIGxvb3AgYmVsb3cgaXMgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHJlYWQoKSBpcyBjYWxsZWQuIEZhaWxpbmcgdG9cXG4gIC8vICAgY2FsbCByZWFkIGhlcmUgd291bGQgYWJvcnQgdGhlIGZsb3cgYW5kIHRoZXJlJ3Mgbm8gb3RoZXIgbWVjaGFuaXNtIGZvclxcbiAgLy8gICBjb250aW51aW5nIHRoZSBmbG93IGlmIHRoZSBzdHJlYW0gY29uc3VtZXIgaGFzIGp1c3Qgc3Vic2NyaWJlZCB0byB0aGVcXG4gIC8vICAgJ2RhdGEnIGV2ZW50LlxcbiAgLy9cXG4gIC8vIEluIGFkZGl0aW9uIHRvIHRoZSBhYm92ZSBjb25kaXRpb25zIHRvIGtlZXAgcmVhZGluZyBkYXRhLCB0aGUgZm9sbG93aW5nXFxuICAvLyBjb25kaXRpb25zIHByZXZlbnQgdGhlIGRhdGEgZnJvbSBiZWluZyByZWFkOlxcbiAgLy8gLSBUaGUgc3RyZWFtIGhhcyBlbmRlZCAoc3RhdGUuZW5kZWQpLlxcbiAgLy8gLSBUaGVyZSBpcyBhbHJlYWR5IGEgcGVuZGluZyAncmVhZCcgb3BlcmF0aW9uIChzdGF0ZS5yZWFkaW5nKS4gVGhpcyBpcyBhXFxuICAvLyAgIGNhc2Ugd2hlcmUgdGhlIHRoZSBzdHJlYW0gaGFzIGNhbGxlZCB0aGUgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBfcmVhZCgpXFxuICAvLyAgIG1ldGhvZCwgYnV0IHRoZXkgYXJlIHByb2Nlc3NpbmcgdGhlIGNhbGwgYXN5bmNocm9ub3VzbHkgYW5kIGhhdmUgX25vdF9cXG4gIC8vICAgY2FsbGVkIHB1c2goKSB3aXRoIG5ldyBkYXRhLiBJbiB0aGlzIGNhc2Ugd2Ugc2tpcCBwZXJmb3JtaW5nIG1vcmVcXG4gIC8vICAgcmVhZCgpcy4gVGhlIGV4ZWN1dGlvbiBlbmRzIGluIHRoaXMgbWV0aG9kIGFnYWluIGFmdGVyIHRoZSBfcmVhZCgpIGVuZHNcXG4gIC8vICAgdXAgY2FsbGluZyBwdXNoKCkgd2l0aCBtb3JlIGRhdGEuXFxuICB3aGlsZSAoIXN0YXRlLnJlYWRpbmcgJiYgIXN0YXRlLmVuZGVkICYmIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwKSkge1xcbiAgICB2YXIgbGVuID0gc3RhdGUubGVuZ3RoO1xcbiAgICBkZWJ1ZygnbWF5YmVSZWFkTW9yZSByZWFkIDAnKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICAgIGlmIChsZW4gPT09IHN0YXRlLmxlbmd0aCkgLy8gZGlkbid0IGdldCBhbnkgZGF0YSwgc3RvcCBzcGlubmluZy5cXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHN0YXRlLnJlYWRpbmdNb3JlID0gZmFsc2U7XFxufSAvLyBhYnN0cmFjdCBtZXRob2QuICB0byBiZSBvdmVycmlkZGVuIGluIHNwZWNpZmljIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXFxuLy8gY2FsbCBjYihlciwgZGF0YSkgd2hlcmUgZGF0YSBpcyA8PSBuIGluIGxlbmd0aC5cXG4vLyBmb3IgdmlydHVhbCAobm9uLXN0cmluZywgbm9uLWJ1ZmZlcikgc3RyZWFtcywgXFxcImxlbmd0aFxcXCIgaXMgc29tZXdoYXRcXG4vLyBhcmJpdHJhcnksIGFuZCBwZXJoYXBzIG5vdCB2ZXJ5IG1lYW5pbmdmdWwuXFxuXFxuXFxuUmVhZGFibGUucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gIGVycm9yT3JEZXN0cm95KHRoaXMsIG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3JlYWQoKScpKTtcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XFxuICB2YXIgc3JjID0gdGhpcztcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuXFxuICBzd2l0Y2ggKHN0YXRlLnBpcGVzQ291bnQpIHtcXG4gICAgY2FzZSAwOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gZGVzdDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAxOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gW3N0YXRlLnBpcGVzLCBkZXN0XTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBzdGF0ZS5waXBlcy5wdXNoKGRlc3QpO1xcbiAgICAgIGJyZWFrO1xcbiAgfVxcblxcbiAgc3RhdGUucGlwZXNDb3VudCArPSAxO1xcbiAgZGVidWcoJ3BpcGUgY291bnQ9JWQgb3B0cz0laicsIHN0YXRlLnBpcGVzQ291bnQsIHBpcGVPcHRzKTtcXG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XFxuICB2YXIgZW5kRm4gPSBkb0VuZCA/IG9uZW5kIDogdW5waXBlO1xcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHByb2Nlc3MubmV4dFRpY2soZW5kRm4pO2Vsc2Ugc3JjLm9uY2UoJ2VuZCcsIGVuZEZuKTtcXG4gIGRlc3Qub24oJ3VucGlwZScsIG9udW5waXBlKTtcXG5cXG4gIGZ1bmN0aW9uIG9udW5waXBlKHJlYWRhYmxlLCB1bnBpcGVJbmZvKSB7XFxuICAgIGRlYnVnKCdvbnVucGlwZScpO1xcblxcbiAgICBpZiAocmVhZGFibGUgPT09IHNyYykge1xcbiAgICAgIGlmICh1bnBpcGVJbmZvICYmIHVucGlwZUluZm8uaGFzVW5waXBlZCA9PT0gZmFsc2UpIHtcXG4gICAgICAgIHVucGlwZUluZm8uaGFzVW5waXBlZCA9IHRydWU7XFxuICAgICAgICBjbGVhbnVwKCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICBmdW5jdGlvbiBvbmVuZCgpIHtcXG4gICAgZGVidWcoJ29uZW5kJyk7XFxuICAgIGRlc3QuZW5kKCk7XFxuICB9IC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcXG4gIC8vIG9uIHRoZSBzb3VyY2UuICBUaGlzIHdvdWxkIGJlIG1vcmUgZWxlZ2FudCB3aXRoIGEgLm9uY2UoKVxcbiAgLy8gaGFuZGxlciBpbiBmbG93KCksIGJ1dCBhZGRpbmcgYW5kIHJlbW92aW5nIHJlcGVhdGVkbHkgaXNcXG4gIC8vIHRvbyBzbG93LlxcblxcblxcbiAgdmFyIG9uZHJhaW4gPSBwaXBlT25EcmFpbihzcmMpO1xcbiAgZGVzdC5vbignZHJhaW4nLCBvbmRyYWluKTtcXG4gIHZhciBjbGVhbmVkVXAgPSBmYWxzZTtcXG5cXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XFxuICAgIGRlYnVnKCdjbGVhbnVwJyk7IC8vIGNsZWFudXAgZXZlbnQgaGFuZGxlcnMgb25jZSB0aGUgcGlwZSBpcyBicm9rZW5cXG5cXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdkcmFpbicsIG9uZHJhaW4pO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCd1bnBpcGUnLCBvbnVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIHVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XFxuICAgIGNsZWFuZWRVcCA9IHRydWU7IC8vIGlmIHRoZSByZWFkZXIgaXMgd2FpdGluZyBmb3IgYSBkcmFpbiBldmVudCBmcm9tIHRoaXNcXG4gICAgLy8gc3BlY2lmaWMgd3JpdGVyLCB0aGVuIGl0IHdvdWxkIGNhdXNlIGl0IHRvIG5ldmVyIHN0YXJ0XFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXFxuICAgIC8vIFNvLCBpZiB0aGlzIGlzIGF3YWl0aW5nIGEgZHJhaW4sIHRoZW4gd2UganVzdCBjYWxsIGl0IG5vdy5cXG4gICAgLy8gSWYgd2UgZG9uJ3Qga25vdywgdGhlbiBhc3N1bWUgdGhhdCB3ZSBhcmUgd2FpdGluZyBmb3Igb25lLlxcblxcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XFxuICB9XFxuXFxuICBzcmMub24oJ2RhdGEnLCBvbmRhdGEpO1xcblxcbiAgZnVuY3Rpb24gb25kYXRhKGNodW5rKSB7XFxuICAgIGRlYnVnKCdvbmRhdGEnKTtcXG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xcbiAgICBkZWJ1ZygnZGVzdC53cml0ZScsIHJldCk7XFxuXFxuICAgIGlmIChyZXQgPT09IGZhbHNlKSB7XFxuICAgICAgLy8gSWYgdGhlIHVzZXIgdW5waXBlZCBkdXJpbmcgYGRlc3Qud3JpdGUoKWAsIGl0IGlzIHBvc3NpYmxlXFxuICAgICAgLy8gdG8gZ2V0IHN0dWNrIGluIGEgcGVybWFuZW50bHkgcGF1c2VkIHN0YXRlIGlmIHRoYXQgd3JpdGVcXG4gICAgICAvLyBhbHNvIHJldHVybmVkIGZhbHNlLlxcbiAgICAgIC8vID0+IENoZWNrIHdoZXRoZXIgYGRlc3RgIGlzIHN0aWxsIGEgcGlwaW5nIGRlc3RpbmF0aW9uLlxcbiAgICAgIGlmICgoc3RhdGUucGlwZXNDb3VudCA9PT0gMSAmJiBzdGF0ZS5waXBlcyA9PT0gZGVzdCB8fCBzdGF0ZS5waXBlc0NvdW50ID4gMSAmJiBpbmRleE9mKHN0YXRlLnBpcGVzLCBkZXN0KSAhPT0gLTEpICYmICFjbGVhbmVkVXApIHtcXG4gICAgICAgIGRlYnVnKCdmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UnLCBzdGF0ZS5hd2FpdERyYWluKTtcXG4gICAgICAgIHN0YXRlLmF3YWl0RHJhaW4rKztcXG4gICAgICB9XFxuXFxuICAgICAgc3JjLnBhdXNlKCk7XFxuICAgIH1cXG4gIH0gLy8gaWYgdGhlIGRlc3QgaGFzIGFuIGVycm9yLCB0aGVuIHN0b3AgcGlwaW5nIGludG8gaXQuXFxuICAvLyBob3dldmVyLCBkb24ndCBzdXBwcmVzcyB0aGUgdGhyb3dpbmcgYmVoYXZpb3IgZm9yIHRoaXMuXFxuXFxuXFxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XFxuICAgIGRlYnVnKCdvbmVycm9yJywgZXIpO1xcbiAgICB1bnBpcGUoKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgaWYgKEVFbGlzdGVuZXJDb3VudChkZXN0LCAnZXJyb3InKSA9PT0gMCkgZXJyb3JPckRlc3Ryb3koZGVzdCwgZXIpO1xcbiAgfSAvLyBNYWtlIHN1cmUgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIHVzZXJsYW5kIG9uZXMuXFxuXFxuXFxuICBwcmVwZW5kTGlzdGVuZXIoZGVzdCwgJ2Vycm9yJywgb25lcnJvcik7IC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXFxuXFxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICAgIHVucGlwZSgpO1xcbiAgfVxcblxcbiAgZGVzdC5vbmNlKCdjbG9zZScsIG9uY2xvc2UpO1xcblxcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XFxuICAgIGRlYnVnKCdvbmZpbmlzaCcpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgICB1bnBpcGUoKTtcXG4gIH1cXG5cXG4gIGRlc3Qub25jZSgnZmluaXNoJywgb25maW5pc2gpO1xcblxcbiAgZnVuY3Rpb24gdW5waXBlKCkge1xcbiAgICBkZWJ1ZygndW5waXBlJyk7XFxuICAgIHNyYy51bnBpcGUoZGVzdCk7XFxuICB9IC8vIHRlbGwgdGhlIGRlc3QgdGhhdCBpdCdzIGJlaW5nIHBpcGVkIHRvXFxuXFxuXFxuICBkZXN0LmVtaXQoJ3BpcGUnLCBzcmMpOyAvLyBzdGFydCB0aGUgZmxvdyBpZiBpdCBoYXNuJ3QgYmVlbiBzdGFydGVkIGFscmVhZHkuXFxuXFxuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcXG4gICAgZGVidWcoJ3BpcGUgcmVzdW1lJyk7XFxuICAgIHNyYy5yZXN1bWUoKTtcXG4gIH1cXG5cXG4gIHJldHVybiBkZXN0O1xcbn07XFxuXFxuZnVuY3Rpb24gcGlwZU9uRHJhaW4oc3JjKSB7XFxuICByZXR1cm4gZnVuY3Rpb24gcGlwZU9uRHJhaW5GdW5jdGlvblJlc3VsdCgpIHtcXG4gICAgdmFyIHN0YXRlID0gc3JjLl9yZWFkYWJsZVN0YXRlO1xcbiAgICBkZWJ1ZygncGlwZU9uRHJhaW4nLCBzdGF0ZS5hd2FpdERyYWluKTtcXG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4pIHN0YXRlLmF3YWl0RHJhaW4tLTtcXG5cXG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4gPT09IDAgJiYgRUVsaXN0ZW5lckNvdW50KHNyYywgJ2RhdGEnKSkge1xcbiAgICAgIHN0YXRlLmZsb3dpbmcgPSB0cnVlO1xcbiAgICAgIGZsb3coc3JjKTtcXG4gICAgfVxcbiAgfTtcXG59XFxuXFxuUmVhZGFibGUucHJvdG90eXBlLnVucGlwZSA9IGZ1bmN0aW9uIChkZXN0KSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHVucGlwZUluZm8gPSB7XFxuICAgIGhhc1VucGlwZWQ6IGZhbHNlXFxuICB9OyAvLyBpZiB3ZSdyZSBub3QgcGlwaW5nIGFueXdoZXJlLCB0aGVuIGRvIG5vdGhpbmcuXFxuXFxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMCkgcmV0dXJuIHRoaXM7IC8vIGp1c3Qgb25lIGRlc3RpbmF0aW9uLiAgbW9zdCBjb21tb24gY2FzZS5cXG5cXG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAxKSB7XFxuICAgIC8vIHBhc3NlZCBpbiBvbmUsIGJ1dCBpdCdzIG5vdCB0aGUgcmlnaHQgb25lLlxcbiAgICBpZiAoZGVzdCAmJiBkZXN0ICE9PSBzdGF0ZS5waXBlcykgcmV0dXJuIHRoaXM7XFxuICAgIGlmICghZGVzdCkgZGVzdCA9IHN0YXRlLnBpcGVzOyAvLyBnb3QgYSBtYXRjaC5cXG5cXG4gICAgc3RhdGUucGlwZXMgPSBudWxsO1xcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcXG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xcbiAgICBpZiAoZGVzdCkgZGVzdC5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9IC8vIHNsb3cgY2FzZS4gbXVsdGlwbGUgcGlwZSBkZXN0aW5hdGlvbnMuXFxuXFxuXFxuICBpZiAoIWRlc3QpIHtcXG4gICAgLy8gcmVtb3ZlIGFsbC5cXG4gICAgdmFyIGRlc3RzID0gc3RhdGUucGlwZXM7XFxuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xcbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XFxuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB7XFxuICAgICAgICBoYXNVbnBpcGVkOiBmYWxzZVxcbiAgICAgIH0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfSAvLyB0cnkgdG8gZmluZCB0aGUgcmlnaHQgb25lLlxcblxcblxcbiAgdmFyIGluZGV4ID0gaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCk7XFxuICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm4gdGhpcztcXG4gIHN0YXRlLnBpcGVzLnNwbGljZShpbmRleCwgMSk7XFxuICBzdGF0ZS5waXBlc0NvdW50IC09IDE7XFxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkgc3RhdGUucGlwZXMgPSBzdGF0ZS5waXBlc1swXTtcXG4gIGRlc3QuZW1pdCgndW5waXBlJywgdGhpcywgdW5waXBlSW5mbyk7XFxuICByZXR1cm4gdGhpcztcXG59OyAvLyBzZXQgdXAgZGF0YSBldmVudHMgaWYgdGhleSBhcmUgYXNrZWQgZm9yXFxuLy8gRW5zdXJlIHJlYWRhYmxlIGxpc3RlbmVycyBldmVudHVhbGx5IGdldCBzb21ldGhpbmdcXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUub24gPSBmdW5jdGlvbiAoZXYsIGZuKSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsIGV2LCBmbik7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgaWYgKGV2ID09PSAnZGF0YScpIHtcXG4gICAgLy8gdXBkYXRlIHJlYWRhYmxlTGlzdGVuaW5nIHNvIHRoYXQgcmVzdW1lKCkgbWF5IGJlIGEgbm8tb3BcXG4gICAgLy8gYSBmZXcgbGluZXMgZG93bi4gVGhpcyBpcyBuZWVkZWQgdG8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScpLlxcbiAgICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHRoaXMubGlzdGVuZXJDb3VudCgncmVhZGFibGUnKSA+IDA7IC8vIFRyeSBzdGFydCBmbG93aW5nIG9uIG5leHQgdGljayBpZiBzdHJlYW0gaXNuJ3QgZXhwbGljaXRseSBwYXVzZWRcXG5cXG4gICAgaWYgKHN0YXRlLmZsb3dpbmcgIT09IGZhbHNlKSB0aGlzLnJlc3VtZSgpO1xcbiAgfSBlbHNlIGlmIChldiA9PT0gJ3JlYWRhYmxlJykge1xcbiAgICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQgJiYgIXN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nKSB7XFxuICAgICAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICAgIHN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTtcXG4gICAgICBkZWJ1Zygnb24gcmVhZGFibGUnLCBzdGF0ZS5sZW5ndGgsIHN0YXRlLnJlYWRpbmcpO1xcblxcbiAgICAgIGlmIChzdGF0ZS5sZW5ndGgpIHtcXG4gICAgICAgIGVtaXRSZWFkYWJsZSh0aGlzKTtcXG4gICAgICB9IGVsc2UgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKG5SZWFkaW5nTmV4dFRpY2ssIHRoaXMpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IFJlYWRhYmxlLnByb3RvdHlwZS5vbjtcXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIgPSBmdW5jdGlvbiAoZXYsIGZuKSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsIGV2LCBmbik7XFxuXFxuICBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcXG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBpcyBzb21lb25lIHN0aWxsIGxpc3RlbmluZyB0b1xcbiAgICAvLyByZWFkYWJsZSBhbmQgcmVzZXQgdGhlIHN0YXRlLiBIb3dldmVyIHRoaXMgbmVlZHMgdG8gaGFwcGVuXFxuICAgIC8vIGFmdGVyIHJlYWRhYmxlIGhhcyBiZWVuIGVtaXR0ZWQgYnV0IGJlZm9yZSBJL08gKG5leHRUaWNrKSB0b1xcbiAgICAvLyBzdXBwb3J0IG9uY2UoJ3JlYWRhYmxlJywgZm4pIGN5Y2xlcy4gVGhpcyBtZWFucyB0aGF0IGNhbGxpbmdcXG4gICAgLy8gcmVzdW1lIHdpdGhpbiB0aGUgc2FtZSB0aWNrIHdpbGwgaGF2ZSBub1xcbiAgICAvLyBlZmZlY3QuXFxuICAgIHByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsIHRoaXMpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBmdW5jdGlvbiAoZXYpIHtcXG4gIHZhciByZXMgPSBTdHJlYW0ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcblxcbiAgaWYgKGV2ID09PSAncmVhZGFibGUnIHx8IGV2ID09PSB1bmRlZmluZWQpIHtcXG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBpcyBzb21lb25lIHN0aWxsIGxpc3RlbmluZyB0b1xcbiAgICAvLyByZWFkYWJsZSBhbmQgcmVzZXQgdGhlIHN0YXRlLiBIb3dldmVyIHRoaXMgbmVlZHMgdG8gaGFwcGVuXFxuICAgIC8vIGFmdGVyIHJlYWRhYmxlIGhhcyBiZWVuIGVtaXR0ZWQgYnV0IGJlZm9yZSBJL08gKG5leHRUaWNrKSB0b1xcbiAgICAvLyBzdXBwb3J0IG9uY2UoJ3JlYWRhYmxlJywgZm4pIGN5Y2xlcy4gVGhpcyBtZWFucyB0aGF0IGNhbGxpbmdcXG4gICAgLy8gcmVzdW1lIHdpdGhpbiB0aGUgc2FtZSB0aWNrIHdpbGwgaGF2ZSBub1xcbiAgICAvLyBlZmZlY3QuXFxuICAgIHByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsIHRoaXMpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlcztcXG59O1xcblxcbmZ1bmN0aW9uIHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nKHNlbGYpIHtcXG4gIHZhciBzdGF0ZSA9IHNlbGYuX3JlYWRhYmxlU3RhdGU7XFxuICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHNlbGYubGlzdGVuZXJDb3VudCgncmVhZGFibGUnKSA+IDA7XFxuXFxuICBpZiAoc3RhdGUucmVzdW1lU2NoZWR1bGVkICYmICFzdGF0ZS5wYXVzZWQpIHtcXG4gICAgLy8gZmxvd2luZyBuZWVkcyB0byBiZSBzZXQgdG8gdHJ1ZSBub3csIG90aGVyd2lzZVxcbiAgICAvLyB0aGUgdXBjb21pbmcgcmVzdW1lIHdpbGwgbm90IGZsb3cuXFxuICAgIHN0YXRlLmZsb3dpbmcgPSB0cnVlOyAvLyBjcnVkZSB3YXkgdG8gY2hlY2sgaWYgd2Ugc2hvdWxkIHJlc3VtZVxcbiAgfSBlbHNlIGlmIChzZWxmLmxpc3RlbmVyQ291bnQoJ2RhdGEnKSA+IDApIHtcXG4gICAgc2VsZi5yZXN1bWUoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhzZWxmKSB7XFxuICBkZWJ1ZygncmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwJyk7XFxuICBzZWxmLnJlYWQoMCk7XFxufSAvLyBwYXVzZSgpIGFuZCByZXN1bWUoKSBhcmUgcmVtbmFudHMgb2YgdGhlIGxlZ2FjeSByZWFkYWJsZSBzdHJlYW0gQVBJXFxuLy8gSWYgdGhlIHVzZXIgdXNlcyB0aGVtLCB0aGVuIHN3aXRjaCBpbnRvIG9sZCBtb2RlLlxcblxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWUgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XFxuICAgIGRlYnVnKCdyZXN1bWUnKTsgLy8gd2UgZmxvdyBvbmx5IGlmIHRoZXJlIGlzIG5vIG9uZSBsaXN0ZW5pbmdcXG4gICAgLy8gZm9yIHJlYWRhYmxlLCBidXQgd2Ugc3RpbGwgaGF2ZSB0byBjYWxsXFxuICAgIC8vIHJlc3VtZSgpXFxuXFxuICAgIHN0YXRlLmZsb3dpbmcgPSAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmc7XFxuICAgIHJlc3VtZSh0aGlzLCBzdGF0ZSk7XFxuICB9XFxuXFxuICBzdGF0ZS5wYXVzZWQgPSBmYWxzZTtcXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuZnVuY3Rpb24gcmVzdW1lKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XFxuICAgIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IHRydWU7XFxuICAgIHByb2Nlc3MubmV4dFRpY2socmVzdW1lXywgc3RyZWFtLCBzdGF0ZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHJlc3VtZV8oc3RyZWFtLCBzdGF0ZSkge1xcbiAgZGVidWcoJ3Jlc3VtZScsIHN0YXRlLnJlYWRpbmcpO1xcblxcbiAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XFxuICAgIHN0cmVhbS5yZWFkKDApO1xcbiAgfVxcblxcbiAgc3RhdGUucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XFxuICBzdHJlYW0uZW1pdCgncmVzdW1lJyk7XFxuICBmbG93KHN0cmVhbSk7XFxuICBpZiAoc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUucmVhZGluZykgc3RyZWFtLnJlYWQoMCk7XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uICgpIHtcXG4gIGRlYnVnKCdjYWxsIHBhdXNlIGZsb3dpbmc9JWonLCB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpO1xcblxcbiAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAhPT0gZmFsc2UpIHtcXG4gICAgZGVidWcoJ3BhdXNlJyk7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9IGZhbHNlO1xcbiAgICB0aGlzLmVtaXQoJ3BhdXNlJyk7XFxuICB9XFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZCA9IHRydWU7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbmZ1bmN0aW9uIGZsb3coc3RyZWFtKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XFxuICBkZWJ1ZygnZmxvdycsIHN0YXRlLmZsb3dpbmcpO1xcblxcbiAgd2hpbGUgKHN0YXRlLmZsb3dpbmcgJiYgc3RyZWFtLnJlYWQoKSAhPT0gbnVsbCkge1xcbiAgICA7XFxuICB9XFxufSAvLyB3cmFwIGFuIG9sZC1zdHlsZSBzdHJlYW0gYXMgdGhlIGFzeW5jIGRhdGEgc291cmNlLlxcbi8vIFRoaXMgaXMgKm5vdCogcGFydCBvZiB0aGUgcmVhZGFibGUgc3RyZWFtIGludGVyZmFjZS5cXG4vLyBJdCBpcyBhbiB1Z2x5IHVuZm9ydHVuYXRlIG1lc3Mgb2YgaGlzdG9yeS5cXG5cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUud3JhcCA9IGZ1bmN0aW9uIChzdHJlYW0pIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHBhdXNlZCA9IGZhbHNlO1xcbiAgc3RyZWFtLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XFxuICAgIGRlYnVnKCd3cmFwcGVkIGVuZCcpO1xcblxcbiAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhc3RhdGUuZW5kZWQpIHtcXG4gICAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xcbiAgICAgIGlmIChjaHVuayAmJiBjaHVuay5sZW5ndGgpIF90aGlzLnB1c2goY2h1bmspO1xcbiAgICB9XFxuXFxuICAgIF90aGlzLnB1c2gobnVsbCk7XFxuICB9KTtcXG4gIHN0cmVhbS5vbignZGF0YScsIGZ1bmN0aW9uIChjaHVuaykge1xcbiAgICBkZWJ1Zygnd3JhcHBlZCBkYXRhJyk7XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspOyAvLyBkb24ndCBza2lwIG92ZXIgZmFsc3kgdmFsdWVzIGluIG9iamVjdE1vZGVcXG5cXG4gICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgJiYgKGNodW5rID09PSBudWxsIHx8IGNodW5rID09PSB1bmRlZmluZWQpKSByZXR1cm47ZWxzZSBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgKCFjaHVuayB8fCAhY2h1bmsubGVuZ3RoKSkgcmV0dXJuO1xcblxcbiAgICB2YXIgcmV0ID0gX3RoaXMucHVzaChjaHVuayk7XFxuXFxuICAgIGlmICghcmV0KSB7XFxuICAgICAgcGF1c2VkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0ucGF1c2UoKTtcXG4gICAgfVxcbiAgfSk7IC8vIHByb3h5IGFsbCB0aGUgb3RoZXIgbWV0aG9kcy5cXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxcblxcbiAgZm9yICh2YXIgaSBpbiBzdHJlYW0pIHtcXG4gICAgaWYgKHRoaXNbaV0gPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygc3RyZWFtW2ldID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIG1ldGhvZFdyYXAobWV0aG9kKSB7XFxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gbWV0aG9kV3JhcFJldHVybkZ1bmN0aW9uKCkge1xcbiAgICAgICAgICByZXR1cm4gc3RyZWFtW21ldGhvZF0uYXBwbHkoc3RyZWFtLCBhcmd1bWVudHMpO1xcbiAgICAgICAgfTtcXG4gICAgICB9KGkpO1xcbiAgICB9XFxuICB9IC8vIHByb3h5IGNlcnRhaW4gaW1wb3J0YW50IGV2ZW50cy5cXG5cXG5cXG4gIGZvciAodmFyIG4gPSAwOyBuIDwga1Byb3h5RXZlbnRzLmxlbmd0aDsgbisrKSB7XFxuICAgIHN0cmVhbS5vbihrUHJveHlFdmVudHNbbl0sIHRoaXMuZW1pdC5iaW5kKHRoaXMsIGtQcm94eUV2ZW50c1tuXSkpO1xcbiAgfSAvLyB3aGVuIHdlIHRyeSB0byBjb25zdW1lIHNvbWUgbW9yZSBieXRlcywgc2ltcGx5IHVucGF1c2UgdGhlXFxuICAvLyB1bmRlcmx5aW5nIHN0cmVhbS5cXG5cXG5cXG4gIHRoaXMuX3JlYWQgPSBmdW5jdGlvbiAobikge1xcbiAgICBkZWJ1Zygnd3JhcHBlZCBfcmVhZCcsIG4pO1xcblxcbiAgICBpZiAocGF1c2VkKSB7XFxuICAgICAgcGF1c2VkID0gZmFsc2U7XFxuICAgICAgc3RyZWFtLnJlc3VtZSgpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgUmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvci5qc1xcXCIpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IodGhpcyk7XFxuICB9O1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pO1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUJ1ZmZlcicsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXI7XFxuICB9XFxufSk7XFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlRmxvd2luZycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZztcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldChzdGF0ZSkge1xcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9IHN0YXRlO1xcbiAgICB9XFxuICB9XFxufSk7IC8vIGV4cG9zZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS5cXG5cXG5SZWFkYWJsZS5fZnJvbUxpc3QgPSBmcm9tTGlzdDtcXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVMZW5ndGgnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aDtcXG4gIH1cXG59KTsgLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxcbi8vIExlbmd0aCBpcyB0aGUgY29tYmluZWQgbGVuZ3RocyBvZiBhbGwgdGhlIGJ1ZmZlcnMgaW4gdGhlIGxpc3QuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcblxcbmZ1bmN0aW9uIGZyb21MaXN0KG4sIHN0YXRlKSB7XFxuICAvLyBub3RoaW5nIGJ1ZmZlcmVkXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcXG4gIHZhciByZXQ7XFxuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0ID0gc3RhdGUuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZiAoIW4gfHwgbiA+PSBzdGF0ZS5sZW5ndGgpIHtcXG4gICAgLy8gcmVhZCBpdCBhbGwsIHRydW5jYXRlIHRoZSBsaXN0XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSByZXQgPSBzdGF0ZS5idWZmZXIuam9pbignJyk7ZWxzZSBpZiAoc3RhdGUuYnVmZmVyLmxlbmd0aCA9PT0gMSkgcmV0ID0gc3RhdGUuYnVmZmVyLmZpcnN0KCk7ZWxzZSByZXQgPSBzdGF0ZS5idWZmZXIuY29uY2F0KHN0YXRlLmxlbmd0aCk7XFxuICAgIHN0YXRlLmJ1ZmZlci5jbGVhcigpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gcmVhZCBwYXJ0IG9mIGxpc3RcXG4gICAgcmV0ID0gc3RhdGUuYnVmZmVyLmNvbnN1bWUobiwgc3RhdGUuZGVjb2Rlcik7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG5mdW5jdGlvbiBlbmRSZWFkYWJsZShzdHJlYW0pIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG4gIGRlYnVnKCdlbmRSZWFkYWJsZScsIHN0YXRlLmVuZEVtaXR0ZWQpO1xcblxcbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkKSB7XFxuICAgIHN0YXRlLmVuZGVkID0gdHJ1ZTtcXG4gICAgcHJvY2Vzcy5uZXh0VGljayhlbmRSZWFkYWJsZU5ULCBzdGF0ZSwgc3RyZWFtKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZW5kUmVhZGFibGVOVChzdGF0ZSwgc3RyZWFtKSB7XFxuICBkZWJ1ZygnZW5kUmVhZGFibGVOVCcsIHN0YXRlLmVuZEVtaXR0ZWQsIHN0YXRlLmxlbmd0aCk7IC8vIENoZWNrIHRoYXQgd2UgZGlkbid0IGdldCBvbmUgbGFzdCB1bnNoaWZ0LlxcblxcbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkge1xcbiAgICBzdGF0ZS5lbmRFbWl0dGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLnJlYWRhYmxlID0gZmFsc2U7XFxuICAgIHN0cmVhbS5lbWl0KCdlbmQnKTtcXG5cXG4gICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XFxuICAgICAgLy8gSW4gY2FzZSBvZiBkdXBsZXggc3RyZWFtcyB3ZSBuZWVkIGEgd2F5IHRvIGRldGVjdFxcbiAgICAgIC8vIGlmIHRoZSB3cml0YWJsZSBzaWRlIGlzIHJlYWR5IGZvciBhdXRvRGVzdHJveSBhcyB3ZWxsXFxuICAgICAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG5cXG4gICAgICBpZiAoIXdTdGF0ZSB8fCB3U3RhdGUuYXV0b0Rlc3Ryb3kgJiYgd1N0YXRlLmZpbmlzaGVkKSB7XFxuICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgUmVhZGFibGUuZnJvbSA9IGZ1bmN0aW9uIChpdGVyYWJsZSwgb3B0cykge1xcbiAgICBpZiAoZnJvbSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgZnJvbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9mcm9tICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9mcm9tLWJyb3dzZXIuanNcXFwiKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZnJvbShSZWFkYWJsZSwgaXRlcmFibGUsIG9wdHMpO1xcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gaW5kZXhPZih4cywgeCkge1xcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB4cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcXG4gICAgaWYgKHhzW2ldID09PSB4KSByZXR1cm4gaTtcXG4gIH1cXG5cXG4gIHJldHVybiAtMTtcXG59XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcXCIpLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3o5aVlUTmpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc0swTkJRVkU3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNLMGhCUVRKQ08wRkJRMmhFT3pzN1FVRkhRU3hoUVVGaExHMUNRVUZQTEVOQlFVTXNPRU5CUVZFN08wRkJSVGRDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEVzWjBKQlFXZENMRzFDUVVGUExFTkJRVU1zWVVGQlRUczdRVUZGT1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN096dEJRVWRCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEdsSlFVRm5RenM3UVVGRmVrUXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNlVWhCUVRSQ096dEJRVVYwUkN4bFFVRmxMRzFDUVVGUExFTkJRVU1zY1VoQlFUQkNPMEZCUTJwRU96dEJRVVZCTEhGQ1FVRnhRaXh0UWtGQlR5eERRVUZETERCR1FVRlhPMEZCUTNoRE8wRkJRMEU3UVVGRFFUdEJRVU5CTERKR1FVRXlSanM3TzBGQlJ6TkdPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZzUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEN0R1FVRXJSanRCUVVNdlJqdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2VVVkJRWGxGTEcxR1FVRnRSanRCUVVNMVNqczdRVUZGUVR0QlFVTkJMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMSEZIUVVGclFqdEJRVU12UXl3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzZVVWQlFYbEZPMEZCUTNwRk96dEJRVVZCTzBGQlEwRXNhMFpCUVd0R08wRkJRMnhHT3p0QlFVVkJMREJHUVVFd1JqdEJRVU14Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTzBGQlEzWkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJN1FVRkRia0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ0xDdERRVUVyUXpzN1FVRkZMME1zTWtOQlFUSkRPenRCUVVVelF5eDVRa0ZCZVVJN1FVRkRla0k3UVVGRFFUczdRVUZGUVN3eVJFRkJNa1E3TzBGQlJUTkVMSE5DUVVGelFqczdRVUZGZEVJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkME5CUVhkRExHMUNRVUZQTEVOQlFVTXNORVZCUVdsQ08wRkJRMnBGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zY1VkQlFXdENPMEZCUXk5RExHZEZRVUZuUlR0QlFVTm9SVHM3UVVGRlFUdEJRVU5CTEcxRlFVRnRSVHM3UVVGRmJrVTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hGUVVGRk8wRkJRMFk3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJMRVZCUVVVN096dEJRVWRHTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3clJrRkJLMFk3UVVGREwwWXNUMEZCVHp0QlFVTlFPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUmtGQk5FWTdRVUZETlVZc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RlFVRkZPenM3UVVGSFJqdEJRVU5CTEhORFFVRnpReXh0UWtGQlR5eERRVUZETERSRlFVRnBRanRCUVVNdlJEdEJRVU5CTEhkRFFVRjNRenM3UVVGRmVFTXNjMFZCUVhORk96dEJRVVYwUlR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVWQlFVVTdPenRCUVVkR096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXp0QlFVTkVPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxEUkZRVUUwUlR0QlFVTTFSU3hIUVVGSE96czdRVUZIU0R0QlFVTkJMR3REUVVGclF6czdRVUZGYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4RFFVRkRPenM3UVVGSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05rTkJRVFpETzBGQlF6ZERPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERaRVFVRTJSRHRCUVVNM1JEdEJRVU5CT3p0QlFVVkJMRGhDUVVFNFFqczdRVUZGT1VJN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFTeHBRMEZCYVVNN08wRkJSV3BETzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeHpRa0ZCYzBJN08wRkJSWFJDTEhORVFVRnpSRHM3UVVGRmRFUTdPMEZCUlVFc2RVSkJRWFZDTzBGQlEzWkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4elEwRkJjME03TzBGQlJYUkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPenRCUVVWb1JEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5SRUZCWjBRN1FVRkRhRVE3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h4UWtGQmNVSTdPMEZCUlhKQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0N4NVFrRkJlVUk3TzBGQlJYcENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hKUVVGSk96dEJRVVZLTERCRFFVRXdRenM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFc2EwTkJRV3RET3p0QlFVVnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMRk5CUVZNN1FVRkROVUk3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVURzN1FVRkZRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlR0QlFVTkdPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVWQlFXbEZPenRCUVVWcVJUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhsQ1FVRjVRanRCUVVONlFpeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlDUVVGdlFqdEJRVU53UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMREJFUVVFd1JEczdRVUZGTVVRc05FVkJRVFJGT3p0QlFVVTFSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjc1JVRkJSVHRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTEVkQlFVYzdPenRCUVVkSUxHbENRVUZwUWl4NVFrRkJlVUk3UVVGRE1VTTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERCRFFVRXdReXh0UWtGQlR5eERRVUZETEhWSlFVRnRRenRCUVVOeVJqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXl4RlFVRkZPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVUkJRVzFFTzBGQlEyNUVPMEZCUTBFc2JVUkJRVzFFTEN0RVFVRXJSRHRCUVVOc1NEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2VVUkJRWGxFT3p0QlFVVjZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExESklRVUY1UWp0QlFVTTVRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3huUTBGQlowTXNUMEZCVHp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNReUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdlgzTjBjbVZoYlY5eVpXRmtZV0pzWlM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFTnZjSGx5YVdkb2RDQktiM2xsYm5Rc0lFbHVZeTRnWVc1a0lHOTBhR1Z5SUU1dlpHVWdZMjl1ZEhKcFluVjBiM0p6TGx4dUx5OWNiaTh2SUZCbGNtMXBjM05wYjI0Z2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRc0lHWnlaV1VnYjJZZ1kyaGhjbWRsTENCMGJ5QmhibmtnY0dWeWMyOXVJRzlpZEdGcGJtbHVaeUJoWEc0dkx5QmpiM0I1SUc5bUlIUm9hWE1nYzI5bWRIZGhjbVVnWVc1a0lHRnpjMjlqYVdGMFpXUWdaRzlqZFcxbGJuUmhkR2x2YmlCbWFXeGxjeUFvZEdobFhHNHZMeUJjSWxOdlpuUjNZWEpsWENJcExDQjBieUJrWldGc0lHbHVJSFJvWlNCVGIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhKbGMzUnlhV04wYVc5dUxDQnBibU5zZFdScGJtZGNiaTh2SUhkcGRHaHZkWFFnYkdsdGFYUmhkR2x2YmlCMGFHVWdjbWxuYUhSeklIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0J0WlhKblpTd2djSFZpYkdsemFDeGNiaTh2SUdScGMzUnlhV0oxZEdVc0lITjFZbXhwWTJWdWMyVXNJR0Z1WkM5dmNpQnpaV3hzSUdOdmNHbGxjeUJ2WmlCMGFHVWdVMjltZEhkaGNtVXNJR0Z1WkNCMGJ5QndaWEp0YVhSY2JpOHZJSEJsY25OdmJuTWdkRzhnZDJodmJTQjBhR1VnVTI5bWRIZGhjbVVnYVhNZ1puVnlibWx6YUdWa0lIUnZJR1J2SUhOdkxDQnpkV0pxWldOMElIUnZJSFJvWlZ4dUx5OGdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk02WEc0dkwxeHVMeThnVkdobElHRmliM1psSUdOdmNIbHlhV2RvZENCdWIzUnBZMlVnWVc1a0lIUm9hWE1nY0dWeWJXbHpjMmx2YmlCdWIzUnBZMlVnYzJoaGJHd2dZbVVnYVc1amJIVmtaV1JjYmk4dklHbHVJR0ZzYkNCamIzQnBaWE1nYjNJZ2MzVmljM1JoYm5ScFlXd2djRzl5ZEdsdmJuTWdiMllnZEdobElGTnZablIzWVhKbExseHVMeTljYmk4dklGUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJc0lGZEpWRWhQVlZRZ1YwRlNVa0ZPVkZrZ1QwWWdRVTVaSUV0SlRrUXNJRVZZVUZKRlUxTmNiaTh2SUU5U0lFbE5VRXhKUlVRc0lFbE9RMHhWUkVsT1J5QkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOGdWRWhGSUZkQlVsSkJUbFJKUlZNZ1QwWmNiaTh2SUUxRlVrTklRVTVVUVVKSlRFbFVXU3dnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVTVFSUU1UFRrbE9SbEpKVGtkRlRVVk9WQzRnU1U1Y2JpOHZJRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSlRJRTlTSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUVOTVFVbE5MRnh1THk4Z1JFRk5RVWRGVXlCUFVpQlBWRWhGVWlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCVVQxSlVJRTlTWEc0dkx5QlBWRWhGVWxkSlUwVXNJRUZTU1ZOSlRrY2dSbEpQVFN3Z1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVTA5R1ZGZEJVa1VnVDFJZ1ZFaEZYRzR2THlCVlUwVWdUMUlnVDFSSVJWSWdSRVZCVEVsT1IxTWdTVTRnVkVoRklGTlBSbFJYUVZKRkxseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGSmxZV1JoWW14bE8xeHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlFUjFjR3hsZUR0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzVTWldGa1lXSnNaUzVTWldGa1lXSnNaVk4wWVhSbElEMGdVbVZoWkdGaWJHVlRkR0YwWlR0Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNWNiblpoY2lCRlJTQTlJSEpsY1hWcGNtVW9KMlYyWlc1MGN5Y3BMa1YyWlc1MFJXMXBkSFJsY2p0Y2JseHVkbUZ5SUVWRmJHbHpkR1Z1WlhKRGIzVnVkQ0E5SUdaMWJtTjBhVzl1SUVWRmJHbHpkR1Z1WlhKRGIzVnVkQ2hsYldsMGRHVnlMQ0IwZVhCbEtTQjdYRzRnSUhKbGRIVnliaUJsYldsMGRHVnlMbXhwYzNSbGJtVnljeWgwZVhCbEtTNXNaVzVuZEdnN1hHNTlPMXh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNWNibHh1ZG1GeUlGTjBjbVZoYlNBOUlISmxjWFZwY21Vb0p5NHZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkSEpsWVcwbktUdGNiaThxUEM5eVpYQnNZV05sYldWdWRENHFMMXh1WEc1Y2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzVjYm5aaGNpQlBkWEpWYVc1ME9FRnljbUY1SUQwZ1oyeHZZbUZzTGxWcGJuUTRRWEp5WVhrZ2ZId2dablZ1WTNScGIyNGdLQ2tnZTMwN1hHNWNibVoxYm1OMGFXOXVJRjkxYVc1ME9FRnljbUY1Vkc5Q2RXWm1aWElvWTJoMWJtc3BJSHRjYmlBZ2NtVjBkWEp1SUVKMVptWmxjaTVtY205dEtHTm9kVzVyS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWDJselZXbHVkRGhCY25KaGVTaHZZbW9wSUh0Y2JpQWdjbVYwZFhKdUlFSjFabVpsY2k1cGMwSjFabVpsY2lodlltb3BJSHg4SUc5aWFpQnBibk4wWVc1alpXOW1JRTkxY2xWcGJuUTRRWEp5WVhrN1hHNTlYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1WEc1Y2JuWmhjaUJrWldKMVoxVjBhV3dnUFNCeVpYRjFhWEpsS0NkMWRHbHNKeWs3WEc1Y2JuWmhjaUJrWldKMVp6dGNibHh1YVdZZ0tHUmxZblZuVlhScGJDQW1KaUJrWldKMVoxVjBhV3d1WkdWaWRXZHNiMmNwSUh0Y2JpQWdaR1ZpZFdjZ1BTQmtaV0oxWjFWMGFXd3VaR1ZpZFdkc2IyY29KM04wY21WaGJTY3BPMXh1ZlNCbGJITmxJSHRjYmlBZ1pHVmlkV2NnUFNCbWRXNWpkR2x2YmlCa1pXSjFaeWdwSUh0OU8xeHVmVnh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JseHVkbUZ5SUVKMVptWmxja3hwYzNRZ1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZZblZtWm1WeVgyeHBjM1FuS1R0Y2JseHVkbUZ5SUdSbGMzUnliM2xKYlhCc0lEMGdjbVZ4ZFdseVpTZ25MaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlJsYzNSeWIza25LVHRjYmx4dWRtRnlJRjl5WlhGMWFYSmxJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNOMFlYUmxKeWtzWEc0Z0lDQWdaMlYwU0dsbmFGZGhkR1Z5VFdGeWF5QTlJRjl5WlhGMWFYSmxMbWRsZEVocFoyaFhZWFJsY2sxaGNtczdYRzVjYm5aaGNpQmZjbVZ4ZFdseVpTUmpiMlJsY3lBOUlISmxjWFZwY21Vb0p5NHVMMlZ5Y205eWN5Y3BMbU52WkdWekxGeHVJQ0FnSUVWU1VsOUpUbFpCVEVsRVgwRlNSMTlVV1ZCRklEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMGxPVmtGTVNVUmZRVkpIWDFSWlVFVXNYRzRnSUNBZ1JWSlNYMU5VVWtWQlRWOVFWVk5JWDBGR1ZFVlNYMFZQUmlBOUlGOXlaWEYxYVhKbEpHTnZaR1Z6TGtWU1VsOVRWRkpGUVUxZlVGVlRTRjlCUmxSRlVsOUZUMFlzWEc0Z0lDQWdSVkpTWDAxRlZFaFBSRjlPVDFSZlNVMVFURVZOUlU1VVJVUWdQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDeGNiaUFnSUNCRlVsSmZVMVJTUlVGTlgxVk9VMGhKUmxSZlFVWlVSVkpmUlU1RVgwVldSVTVVSUQwZ1gzSmxjWFZwY21Va1kyOWtaWE11UlZKU1gxTlVVa1ZCVFY5VlRsTklTVVpVWDBGR1ZFVlNYMFZPUkY5RlZrVk9WRHNnTHk4Z1RHRjZlU0JzYjJGa1pXUWdkRzhnYVcxd2NtOTJaU0IwYUdVZ2MzUmhjblIxY0NCd1pYSm1iM0p0WVc1alpTNWNibHh1WEc1MllYSWdVM1J5YVc1blJHVmpiMlJsY2p0Y2JuWmhjaUJqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSTdYRzUyWVhJZ1puSnZiVHRjYmx4dWNtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktTaFNaV0ZrWVdKc1pTd2dVM1J5WldGdEtUdGNibHh1ZG1GeUlHVnljbTl5VDNKRVpYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VaWEp5YjNKUGNrUmxjM1J5YjNrN1hHNTJZWElnYTFCeWIzaDVSWFpsYm5SeklEMGdXeWRsY25KdmNpY3NJQ2RqYkc5elpTY3NJQ2RrWlhOMGNtOTVKeXdnSjNCaGRYTmxKeXdnSjNKbGMzVnRaU2RkTzF4dVhHNW1kVzVqZEdsdmJpQndjbVZ3Wlc1a1RHbHpkR1Z1WlhJb1pXMXBkSFJsY2l3Z1pYWmxiblFzSUdadUtTQjdYRzRnSUM4dklGTmhaR3g1SUhSb2FYTWdhWE1nYm05MElHTmhZMmhsWVdKc1pTQmhjeUJ6YjIxbElHeHBZbkpoY21sbGN5QmlkVzVrYkdVZ2RHaGxhWElnYjNkdVhHNGdJQzh2SUdWMlpXNTBJR1Z0YVhSMFpYSWdhVzF3YkdWdFpXNTBZWFJwYjI0Z2QybDBhQ0IwYUdWdExseHVJQ0JwWmlBb2RIbHdaVzltSUdWdGFYUjBaWEl1Y0hKbGNHVnVaRXhwYzNSbGJtVnlJRDA5UFNBblpuVnVZM1JwYjI0bktTQnlaWFIxY200Z1pXMXBkSFJsY2k1d2NtVndaVzVrVEdsemRHVnVaWElvWlhabGJuUXNJR1p1S1RzZ0x5OGdWR2hwY3lCcGN5QmhJR2hoWTJzZ2RHOGdiV0ZyWlNCemRYSmxJSFJvWVhRZ2IzVnlJR1Z5Y205eUlHaGhibVJzWlhJZ2FYTWdZWFIwWVdOb1pXUWdZbVZtYjNKbElHRnVlVnh1SUNBdkx5QjFjMlZ5YkdGdVpDQnZibVZ6TGlBZ1RrVldSVklnUkU4Z1ZFaEpVeTRnVkdocGN5QnBjeUJvWlhKbElHOXViSGtnWW1WallYVnpaU0IwYUdseklHTnZaR1VnYm1WbFpITmNiaUFnTHk4Z2RHOGdZMjl1ZEdsdWRXVWdkRzhnZDI5eWF5QjNhWFJvSUc5c1pHVnlJSFpsY25OcGIyNXpJRzltSUU1dlpHVXVhbk1nZEdoaGRDQmtieUJ1YjNRZ2FXNWpiSFZrWlZ4dUlDQXZMeUIwYUdVZ2NISmxjR1Z1WkV4cGMzUmxibVZ5S0NrZ2JXVjBhRzlrTGlCVWFHVWdaMjloYkNCcGN5QjBieUJsZG1WdWRIVmhiR3g1SUhKbGJXOTJaU0IwYUdseklHaGhZMnN1WEc1Y2JpQWdhV1lnS0NGbGJXbDBkR1Z5TGw5bGRtVnVkSE1nZkh3Z0lXVnRhWFIwWlhJdVgyVjJaVzUwYzF0bGRtVnVkRjBwSUdWdGFYUjBaWEl1YjI0b1pYWmxiblFzSUdadUtUdGxiSE5sSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0dWdGFYUjBaWEl1WDJWMlpXNTBjMXRsZG1WdWRGMHBLU0JsYldsMGRHVnlMbDlsZG1WdWRITmJaWFpsYm5SZExuVnVjMmhwWm5Rb1ptNHBPMlZzYzJVZ1pXMXBkSFJsY2k1ZlpYWmxiblJ6VzJWMlpXNTBYU0E5SUZ0bWJpd2daVzFwZEhSbGNpNWZaWFpsYm5SelcyVjJaVzUwWFYwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUZKbFlXUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2djM1J5WldGdExDQnBjMFIxY0d4bGVDa2dlMXh1SUNCRWRYQnNaWGdnUFNCRWRYQnNaWGdnZkh3Z2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE8xeHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUc2dMeThnUkhWd2JHVjRJSE4wY21WaGJYTWdZWEpsSUdKdmRHZ2djbVZoWkdGaWJHVWdZVzVrSUhkeWFYUmhZbXhsTENCaWRYUWdjMmhoY21WY2JpQWdMeThnZEdobElITmhiV1VnYjNCMGFXOXVjeUJ2WW1wbFkzUXVYRzRnSUM4dklFaHZkMlYyWlhJc0lITnZiV1VnWTJGelpYTWdjbVZ4ZFdseVpTQnpaWFIwYVc1bklHOXdkR2x2Ym5NZ2RHOGdaR2xtWm1WeVpXNTBYRzRnSUM4dklIWmhiSFZsY3lCbWIzSWdkR2hsSUhKbFlXUmhZbXhsSUdGdVpDQjBhR1VnZDNKcGRHRmliR1VnYzJsa1pYTWdiMllnZEdobElHUjFjR3hsZUNCemRISmxZVzB1WEc0Z0lDOHZJRlJvWlhObElHOXdkR2x2Ym5NZ1kyRnVJR0psSUhCeWIzWnBaR1ZrSUhObGNHRnlZWFJsYkhrZ1lYTWdjbVZoWkdGaWJHVllXRmdnWVc1a0lIZHlhWFJoWW14bFdGaFlMbHh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdhWE5FZFhCc1pYZ2dJVDA5SUNkaWIyOXNaV0Z1SnlrZ2FYTkVkWEJzWlhnZ1BTQnpkSEpsWVcwZ2FXNXpkR0Z1WTJWdlppQkVkWEJzWlhnN0lDOHZJRzlpYW1WamRDQnpkSEpsWVcwZ1pteGhaeTRnVlhObFpDQjBieUJ0WVd0bElISmxZV1FvYmlrZ2FXZHViM0psSUc0Z1lXNWtJSFJ2WEc0Z0lDOHZJRzFoYTJVZ1lXeHNJSFJvWlNCaWRXWm1aWElnYldWeVoybHVaeUJoYm1RZ2JHVnVaM1JvSUdOb1pXTnJjeUJuYnlCaGQyRjVYRzVjYmlBZ2RHaHBjeTV2WW1wbFkzUk5iMlJsSUQwZ0lTRnZjSFJwYjI1ekxtOWlhbVZqZEUxdlpHVTdYRzRnSUdsbUlDaHBjMFIxY0d4bGVDa2dkR2hwY3k1dlltcGxZM1JOYjJSbElEMGdkR2hwY3k1dlltcGxZM1JOYjJSbElIeDhJQ0VoYjNCMGFXOXVjeTV5WldGa1lXSnNaVTlpYW1WamRFMXZaR1U3SUM4dklIUm9aU0J3YjJsdWRDQmhkQ0IzYUdsamFDQnBkQ0J6ZEc5d2N5QmpZV3hzYVc1bklGOXlaV0ZrS0NrZ2RHOGdabWxzYkNCMGFHVWdZblZtWm1WeVhHNGdJQzh2SUU1dmRHVTZJREFnYVhNZ1lTQjJZV3hwWkNCMllXeDFaU3dnYldWaGJuTWdYQ0prYjI0bmRDQmpZV3hzSUY5eVpXRmtJSEJ5WldWdGNIUnBkbVZzZVNCbGRtVnlYQ0pjYmx4dUlDQjBhR2x6TG1ocFoyaFhZWFJsY2sxaGNtc2dQU0JuWlhSSWFXZG9WMkYwWlhKTllYSnJLSFJvYVhNc0lHOXdkR2x2Ym5Nc0lDZHlaV0ZrWVdKc1pVaHBaMmhYWVhSbGNrMWhjbXNuTENCcGMwUjFjR3hsZUNrN0lDOHZJRUVnYkdsdWEyVmtJR3hwYzNRZ2FYTWdkWE5sWkNCMGJ5QnpkRzl5WlNCa1lYUmhJR05vZFc1cmN5QnBibk4wWldGa0lHOW1JR0Z1SUdGeWNtRjVJR0psWTJGMWMyVWdkR2hsWEc0Z0lDOHZJR3hwYm10bFpDQnNhWE4wSUdOaGJpQnlaVzF2ZG1VZ1pXeGxiV1Z1ZEhNZ1puSnZiU0IwYUdVZ1ltVm5hVzV1YVc1bklHWmhjM1JsY2lCMGFHRnVYRzRnSUM4dklHRnljbUY1TG5Ob2FXWjBLQ2xjYmx4dUlDQjBhR2x6TG1KMVptWmxjaUE5SUc1bGR5QkNkV1ptWlhKTWFYTjBLQ2s3WEc0Z0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JpQWdkR2hwY3k1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXVjR2x3WlhORGIzVnVkQ0E5SURBN1hHNGdJSFJvYVhNdVpteHZkMmx1WnlBOUlHNTFiR3c3WEc0Z0lIUm9hWE11Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxibVJGYldsMGRHVmtJRDBnWm1Gc2MyVTdYRzRnSUhSb2FYTXVjbVZoWkdsdVp5QTlJR1poYkhObE95QXZMeUJoSUdac1lXY2dkRzhnWW1VZ1lXSnNaU0IwYnlCMFpXeHNJR2xtSUhSb1pTQmxkbVZ1ZENBbmNtVmhaR0ZpYkdVbkx5ZGtZWFJoSnlCcGN5QmxiV2wwZEdWa1hHNGdJQzh2SUdsdGJXVmthV0YwWld4NUxDQnZjaUJ2YmlCaElHeGhkR1Z5SUhScFkyc3VJQ0JYWlNCelpYUWdkR2hwY3lCMGJ5QjBjblZsSUdGMElHWnBjbk4wTENCaVpXTmhkWE5sWEc0Z0lDOHZJR0Z1ZVNCaFkzUnBiMjV6SUhSb1lYUWdjMmh2ZFd4a2JpZDBJR2hoY0hCbGJpQjFiblJwYkNCY0lteGhkR1Z5WENJZ2MyaHZkV3hrSUdkbGJtVnlZV3hzZVNCaGJITnZYRzRnSUM4dklHNXZkQ0JvWVhCd1pXNGdZbVZtYjNKbElIUm9aU0JtYVhKemRDQnlaV0ZrSUdOaGJHd3VYRzVjYmlBZ2RHaHBjeTV6ZVc1aklEMGdkSEoxWlRzZ0x5OGdkMmhsYm1WMlpYSWdkMlVnY21WMGRYSnVJRzUxYkd3c0lIUm9aVzRnZDJVZ2MyVjBJR0VnWm14aFp5QjBieUJ6WVhsY2JpQWdMeThnZEdoaGRDQjNaU2R5WlNCaGQyRnBkR2x1WnlCaElDZHlaV0ZrWVdKc1pTY2daWFpsYm5RZ1pXMXBjM05wYjI0dVhHNWNiaUFnZEdocGN5NXVaV1ZrVW1WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ2RHaHBjeTVsYldsMGRHVmtVbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NXlaV0ZrWVdKc1pVeHBjM1JsYm1sdVp5QTlJR1poYkhObE8xeHVJQ0IwYUdsekxuSmxjM1Z0WlZOamFHVmtkV3hsWkNBOUlHWmhiSE5sTzF4dUlDQjBhR2x6TG5CaGRYTmxaQ0E5SUhSeWRXVTdJQzh2SUZOb2IzVnNaQ0JqYkc5elpTQmlaU0JsYldsMGRHVmtJRzl1SUdSbGMzUnliM2t1SUVSbFptRjFiSFJ6SUhSdklIUnlkV1V1WEc1Y2JpQWdkR2hwY3k1bGJXbDBRMnh2YzJVZ1BTQnZjSFJwYjI1ekxtVnRhWFJEYkc5elpTQWhQVDBnWm1Gc2MyVTdJQzh2SUZOb2IzVnNaQ0F1WkdWemRISnZlU2dwSUdKbElHTmhiR3hsWkNCaFpuUmxjaUFuWlc1a0p5QW9ZVzVrSUhCdmRHVnVkR2xoYkd4NUlDZG1hVzVwYzJnbktWeHVYRzRnSUhSb2FYTXVZWFYwYjBSbGMzUnliM2tnUFNBaElXOXdkR2x2Ym5NdVlYVjBiMFJsYzNSeWIzazdJQzh2SUdoaGN5QnBkQ0JpWldWdUlHUmxjM1J5YjNsbFpGeHVYRzRnSUhSb2FYTXVaR1Z6ZEhKdmVXVmtJRDBnWm1Gc2MyVTdJQzh2SUVOeWVYQjBieUJwY3lCcmFXNWtJRzltSUc5c1pDQmhibVFnWTNKMWMzUjVMaUFnU0dsemRHOXlhV05oYkd4NUxDQnBkSE1nWkdWbVlYVnNkQ0J6ZEhKcGJtZGNiaUFnTHk4Z1pXNWpiMlJwYm1jZ2FYTWdKMkpwYm1GeWVTY2djMjhnZDJVZ2FHRjJaU0IwYnlCdFlXdGxJSFJvYVhNZ1kyOXVabWxuZFhKaFlteGxMbHh1SUNBdkx5QkZkbVZ5ZVhSb2FXNW5JR1ZzYzJVZ2FXNGdkR2hsSUhWdWFYWmxjbk5sSUhWelpYTWdKM1YwWmpnbkxDQjBhRzkxWjJndVhHNWNiaUFnZEdocGN5NWtaV1poZFd4MFJXNWpiMlJwYm1jZ1BTQnZjSFJwYjI1ekxtUmxabUYxYkhSRmJtTnZaR2x1WnlCOGZDQW5kWFJtT0NjN0lDOHZJSFJvWlNCdWRXMWlaWElnYjJZZ2QzSnBkR1Z5Y3lCMGFHRjBJR0Z5WlNCaGQyRnBkR2x1WnlCaElHUnlZV2x1SUdWMlpXNTBJR2x1SUM1d2FYQmxLQ2x6WEc1Y2JpQWdkR2hwY3k1aGQyRnBkRVJ5WVdsdUlEMGdNRHNnTHk4Z2FXWWdkSEoxWlN3Z1lTQnRZWGxpWlZKbFlXUk5iM0psSUdoaGN5QmlaV1Z1SUhOamFHVmtkV3hsWkZ4dVhHNGdJSFJvYVhNdWNtVmhaR2x1WjAxdmNtVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWtaV052WkdWeUlEMGdiblZzYkR0Y2JpQWdkR2hwY3k1bGJtTnZaR2x1WnlBOUlHNTFiR3c3WEc1Y2JpQWdhV1lnS0c5d2RHbHZibk11Wlc1amIyUnBibWNwSUh0Y2JpQWdJQ0JwWmlBb0lWTjBjbWx1WjBSbFkyOWtaWElwSUZOMGNtbHVaMFJsWTI5a1pYSWdQU0J5WlhGMWFYSmxLQ2R6ZEhKcGJtZGZaR1ZqYjJSbGNpOG5LUzVUZEhKcGJtZEVaV052WkdWeU8xeHVJQ0FnSUhSb2FYTXVaR1ZqYjJSbGNpQTlJRzVsZHlCVGRISnBibWRFWldOdlpHVnlLRzl3ZEdsdmJuTXVaVzVqYjJScGJtY3BPMXh1SUNBZ0lIUm9hWE11Wlc1amIyUnBibWNnUFNCdmNIUnBiMjV6TG1WdVkyOWthVzVuTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlGSmxZV1JoWW14bEtHOXdkR2x2Ym5NcElIdGNiaUFnUkhWd2JHVjRJRDBnUkhWd2JHVjRJSHg4SUhKbGNYVnBjbVVvSnk0dlgzTjBjbVZoYlY5a2RYQnNaWGduS1R0Y2JpQWdhV1lnS0NFb2RHaHBjeUJwYm5OMFlXNWpaVzltSUZKbFlXUmhZbXhsS1NrZ2NtVjBkWEp1SUc1bGR5QlNaV0ZrWVdKc1pTaHZjSFJwYjI1ektUc2dMeThnUTJobFkydHBibWNnWm05eUlHRWdVM1J5WldGdExrUjFjR3hsZUNCcGJuTjBZVzVqWlNCcGN5Qm1ZWE4wWlhJZ2FHVnlaU0JwYm5OMFpXRmtJRzltSUdsdWMybGtaVnh1SUNBdkx5QjBhR1VnVW1WaFpHRmliR1ZUZEdGMFpTQmpiMjV6ZEhKMVkzUnZjaXdnWVhRZ2JHVmhjM1FnZDJsMGFDQldPQ0EyTGpWY2JseHVJQ0IyWVhJZ2FYTkVkWEJzWlhnZ1BTQjBhR2x6SUdsdWMzUmhibU5sYjJZZ1JIVndiR1Y0TzF4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJRDBnYm1WM0lGSmxZV1JoWW14bFUzUmhkR1VvYjNCMGFXOXVjeXdnZEdocGN5d2dhWE5FZFhCc1pYZ3BPeUF2THlCc1pXZGhZM2xjYmx4dUlDQjBhR2x6TG5KbFlXUmhZbXhsSUQwZ2RISjFaVHRjYmx4dUlDQnBaaUFvYjNCMGFXOXVjeWtnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeTV5WldGa0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCMGFHbHpMbDl5WldGa0lEMGdiM0IwYVc5dWN5NXlaV0ZrTzF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeTVrWlhOMGNtOTVJRDA5UFNBblpuVnVZM1JwYjI0bktTQjBhR2x6TGw5a1pYTjBjbTk1SUQwZ2IzQjBhVzl1Y3k1a1pYTjBjbTk1TzF4dUlDQjlYRzVjYmlBZ1UzUnlaV0Z0TG1OaGJHd29kR2hwY3lrN1hHNTlYRzVjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaFNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXNJQ2RrWlhOMGNtOTVaV1FuTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzVrWlhOMGNtOTVaV1E3WEc0Z0lIMHNYRzRnSUhObGREb2dablZ1WTNScGIyNGdjMlYwS0haaGJIVmxLU0I3WEc0Z0lDQWdMeThnZDJVZ2FXZHViM0psSUhSb1pTQjJZV3gxWlNCcFppQjBhR1VnYzNSeVpXRnRYRzRnSUNBZ0x5OGdhR0Z6SUc1dmRDQmlaV1Z1SUdsdWFYUnBZV3hwZW1Wa0lIbGxkRnh1SUNBZ0lHbG1JQ2doZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDBnTHk4Z1ltRmphM2RoY21RZ1kyOXRjR0YwYVdKcGJHbDBlU3dnZEdobElIVnpaWElnYVhNZ1pYaHdiR2xqYVhSc2VWeHVJQ0FnSUM4dklHMWhibUZuYVc1bklHUmxjM1J5YjNsbFpGeHVYRzVjYmlBZ0lDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ0E5SUhaaGJIVmxPMXh1SUNCOVhHNTlLVHRjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1a1pYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VaR1Z6ZEhKdmVUdGNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVmZFc1a1pYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VkVzVrWlhOMGNtOTVPMXh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdVgyUmxjM1J5YjNrZ1BTQm1kVzVqZEdsdmJpQW9aWEp5TENCallpa2dlMXh1SUNCallpaGxjbklwTzF4dWZUc2dMeThnVFdGdWRXRnNiSGtnYzJodmRtVWdjMjl0WlhSb2FXNW5JR2x1ZEc4Z2RHaGxJSEpsWVdRb0tTQmlkV1ptWlhJdVhHNHZMeUJVYUdseklISmxkSFZ5Ym5NZ2RISjFaU0JwWmlCMGFHVWdhR2xuYUZkaGRHVnlUV0Z5YXlCb1lYTWdibTkwSUdKbFpXNGdhR2wwSUhsbGRDeGNiaTh2SUhOcGJXbHNZWElnZEc4Z2FHOTNJRmR5YVhSaFlteGxMbmR5YVhSbEtDa2djbVYwZFhKdWN5QjBjblZsSUdsbUlIbHZkU0J6YUc5MWJHUmNiaTh2SUhkeWFYUmxLQ2tnYzI5dFpTQnRiM0psTGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV3ZFhOb0lEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5a2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjMnRwY0VOb2RXNXJRMmhsWTJzN1hHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1dlltcGxZM1JOYjJSbEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmphSFZ1YXlBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJR1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWNnZkh3Z2MzUmhkR1V1WkdWbVlYVnNkRVZ1WTI5a2FXNW5PMXh1WEc0Z0lDQWdJQ0JwWmlBb1pXNWpiMlJwYm1jZ0lUMDlJSE4wWVhSbExtVnVZMjlrYVc1bktTQjdYRzRnSUNBZ0lDQWdJR05vZFc1cklEMGdRblZtWm1WeUxtWnliMjBvWTJoMWJtc3NJR1Z1WTI5a2FXNW5LVHRjYmlBZ0lDQWdJQ0FnWlc1amIyUnBibWNnUFNBbkp6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjMnRwY0VOb2RXNXJRMmhsWTJzZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J6YTJsd1EyaDFibXREYUdWamF5QTlJSFJ5ZFdVN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2NtVmhaR0ZpYkdWQlpHUkRhSFZ1YXloMGFHbHpMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3NJR1poYkhObExDQnphMmx3UTJoMWJtdERhR1ZqYXlrN1hHNTlPeUF2THlCVmJuTm9hV1owSUhOb2IzVnNaQ0FxWVd4M1lYbHpLaUJpWlNCemIyMWxkR2hwYm1jZ1pHbHlaV04wYkhrZ2IzVjBJRzltSUhKbFlXUW9LVnh1WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNTFibk5vYVdaMElEMGdablZ1WTNScGIyNGdLR05vZFc1cktTQjdYRzRnSUhKbGRIVnliaUJ5WldGa1lXSnNaVUZrWkVOb2RXNXJLSFJvYVhNc0lHTm9kVzVyTENCdWRXeHNMQ0IwY25WbExDQm1ZV3h6WlNrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCeVpXRmtZV0pzWlVGa1pFTm9kVzVyS0hOMGNtVmhiU3dnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JoWkdSVWIwWnliMjUwTENCemEybHdRMmgxYm10RGFHVmpheWtnZTF4dUlDQmtaV0oxWnlnbmNtVmhaR0ZpYkdWQlpHUkRhSFZ1YXljc0lHTm9kVzVyS1R0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaGphSFZ1YXlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhOMFlYUmxMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCdmJrVnZaa05vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmxjanRjYmlBZ0lDQnBaaUFvSVhOcmFYQkRhSFZ1YTBOb1pXTnJLU0JsY2lBOUlHTm9kVzVyU1c1MllXeHBaQ2h6ZEdGMFpTd2dZMmgxYm1zcE8xeHVYRzRnSUNBZ2FXWWdLR1Z5S1NCN1hHNGdJQ0FnSUNCbGNuSnZjazl5UkdWemRISnZlU2h6ZEhKbFlXMHNJR1Z5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hOMFlYUmxMbTlpYW1WamRFMXZaR1VnZkh3Z1kyaDFibXNnSmlZZ1kyaDFibXN1YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQmphSFZ1YXlBaFBUMGdKM04wY21sdVp5Y2dKaVlnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VnSmlZZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LR05vZFc1cktTQWhQVDBnUW5WbVptVnlMbkJ5YjNSdmRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNCamFIVnVheUE5SUY5MWFXNTBPRUZ5Y21GNVZHOUNkV1ptWlhJb1kyaDFibXNwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9ZV1JrVkc5R2NtOXVkQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9jM1JoZEdVdVpXNWtSVzFwZEhSbFpDa2daWEp5YjNKUGNrUmxjM1J5YjNrb2MzUnlaV0Z0TENCdVpYY2dSVkpTWDFOVVVrVkJUVjlWVGxOSVNVWlVYMEZHVkVWU1gwVk9SRjlGVmtWT1ZDZ3BLVHRsYkhObElHRmtaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0IwY25WbEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jM1JoZEdVdVpXNWtaV1FwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0J1WlhjZ1JWSlNYMU5VVWtWQlRWOVFWVk5JWDBGR1ZFVlNYMFZQUmlncEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9jM1JoZEdVdVpHVnpkSEp2ZVdWa0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYUmxMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2MzUmhkR1V1WkdWamIyUmxjaUFtSmlBaFpXNWpiMlJwYm1jcElIdGNiaUFnSUNBZ0lDQWdJQ0JqYUhWdWF5QTlJSE4wWVhSbExtUmxZMjlrWlhJdWQzSnBkR1VvWTJoMWJtc3BPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHpkR0YwWlM1dlltcGxZM1JOYjJSbElIeDhJR05vZFc1ckxteGxibWQwYUNBaFBUMGdNQ2tnWVdSa1EyaDFibXNvYzNSeVpXRnRMQ0J6ZEdGMFpTd2dZMmgxYm1zc0lHWmhiSE5sS1R0bGJITmxJRzFoZVdKbFVtVmhaRTF2Y21Vb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lXUmtRMmgxYm1zb2MzUnlaV0Z0TENCemRHRjBaU3dnWTJoMWJtc3NJR1poYkhObEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9JV0ZrWkZSdlJuSnZiblFwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNiaUFnSUNBZ0lHMWhlV0psVW1WaFpFMXZjbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklGZGxJR05oYmlCd2RYTm9JRzF2Y21VZ1pHRjBZU0JwWmlCM1pTQmhjbVVnWW1Wc2IzY2dkR2hsSUdocFoyaFhZWFJsY2sxaGNtc3VYRzRnSUM4dklFRnNjMjhzSUdsbUlIZGxJR2hoZG1VZ2JtOGdaR0YwWVNCNVpYUXNJSGRsSUdOaGJpQnpkR0Z1WkNCemIyMWxJRzF2Y21VZ1lubDBaWE11WEc0Z0lDOHZJRlJvYVhNZ2FYTWdkRzhnZDI5eWF5QmhjbTkxYm1RZ1kyRnpaWE1nZDJobGNtVWdhSGR0UFRBc0lITjFZMmdnWVhNZ2RHaGxJSEpsY0d3dVhHNWNibHh1SUNCeVpYUjFjbTRnSVhOMFlYUmxMbVZ1WkdWa0lDWW1JQ2h6ZEdGMFpTNXNaVzVuZEdnZ1BDQnpkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJJSHg4SUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQmhaR1JVYjBaeWIyNTBLU0I3WEc0Z0lHbG1JQ2h6ZEdGMFpTNW1iRzkzYVc1bklDWW1JSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ0FtSmlBaGMzUmhkR1V1YzNsdVl5a2dlMXh1SUNBZ0lITjBZWFJsTG1GM1lXbDBSSEpoYVc0Z1BTQXdPMXh1SUNBZ0lITjBjbVZoYlM1bGJXbDBLQ2RrWVhSaEp5d2dZMmgxYm1zcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJSFZ3WkdGMFpTQjBhR1VnWW5WbVptVnlJR2x1Wm04dVhHNGdJQ0FnYzNSaGRHVXViR1Z1WjNSb0lDczlJSE4wWVhSbExtOWlhbVZqZEUxdlpHVWdQeUF4SURvZ1kyaDFibXN1YkdWdVozUm9PMXh1SUNBZ0lHbG1JQ2hoWkdSVWIwWnliMjUwS1NCemRHRjBaUzVpZFdabVpYSXVkVzV6YUdsbWRDaGphSFZ1YXlrN1pXeHpaU0J6ZEdGMFpTNWlkV1ptWlhJdWNIVnphQ2hqYUhWdWF5azdYRzRnSUNBZ2FXWWdLSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU2tnWlcxcGRGSmxZV1JoWW14bEtITjBjbVZoYlNrN1hHNGdJSDFjYmx4dUlDQnRZWGxpWlZKbFlXUk5iM0psS0hOMGNtVmhiU3dnYzNSaGRHVXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmphSFZ1YTBsdWRtRnNhV1FvYzNSaGRHVXNJR05vZFc1cktTQjdYRzRnSUhaaGNpQmxjanRjYmx4dUlDQnBaaUFvSVY5cGMxVnBiblE0UVhKeVlYa29ZMmgxYm1zcElDWW1JSFI1Y0dWdlppQmphSFZ1YXlBaFBUMGdKM04wY21sdVp5Y2dKaVlnWTJoMWJtc2dJVDA5SUhWdVpHVm1hVzVsWkNBbUppQWhjM1JoZEdVdWIySnFaV04wVFc5a1pTa2dlMXh1SUNBZ0lHVnlJRDBnYm1WM0lFVlNVbDlKVGxaQlRFbEVYMEZTUjE5VVdWQkZLQ2RqYUhWdWF5Y3NJRnNuYzNSeWFXNW5KeXdnSjBKMVptWmxjaWNzSUNkVmFXNTBPRUZ5Y21GNUoxMHNJR05vZFc1cktUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxjanRjYm4xY2JseHVVbVZoWkdGaWJHVXVjSEp2ZEc5MGVYQmxMbWx6VUdGMWMyVmtJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzVtYkc5M2FXNW5JRDA5UFNCbVlXeHpaVHRjYm4wN0lDOHZJR0poWTJ0M1lYSmtjeUJqYjIxd1lYUnBZbWxzYVhSNUxseHVYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1elpYUkZibU52WkdsdVp5QTlJR1oxYm1OMGFXOXVJQ2hsYm1NcElIdGNiaUFnYVdZZ0tDRlRkSEpwYm1kRVpXTnZaR1Z5S1NCVGRISnBibWRFWldOdlpHVnlJRDBnY21WeGRXbHlaU2duYzNSeWFXNW5YMlJsWTI5a1pYSXZKeWt1VTNSeWFXNW5SR1ZqYjJSbGNqdGNiaUFnZG1GeUlHUmxZMjlrWlhJZ1BTQnVaWGNnVTNSeWFXNW5SR1ZqYjJSbGNpaGxibU1wTzF4dUlDQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsWTI5a1pYSWdQU0JrWldOdlpHVnlPeUF2THlCSlppQnpaWFJGYm1OdlpHbHVaeWh1ZFd4c0tTd2daR1ZqYjJSbGNpNWxibU52WkdsdVp5QmxjWFZoYkhNZ2RYUm1PRnh1WEc0Z0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaVzVqYjJScGJtY2dQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1SbFkyOWtaWEl1Wlc1amIyUnBibWM3SUM4dklFbDBaWEpoZEdVZ2IzWmxjaUJqZFhKeVpXNTBJR0oxWm1abGNpQjBieUJqYjI1MlpYSjBJR0ZzY21WaFpIa2djM1J2Y21Wa0lFSjFabVpsY25NNlhHNWNiaUFnZG1GeUlIQWdQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1KMVptWmxjaTVvWldGa08xeHVJQ0IyWVhJZ1kyOXVkR1Z1ZENBOUlDY25PMXh1WEc0Z0lIZG9hV3hsSUNod0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1kyOXVkR1Z1ZENBclBTQmtaV052WkdWeUxuZHlhWFJsS0hBdVpHRjBZU2s3WEc0Z0lDQWdjQ0E5SUhBdWJtVjRkRHRjYmlBZ2ZWeHVYRzRnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVluVm1abVZ5TG1Oc1pXRnlLQ2s3WEc1Y2JpQWdhV1lnS0dOdmJuUmxiblFnSVQwOUlDY25LU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1KMVptWmxjaTV3ZFhOb0tHTnZiblJsYm5RcE8xeHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG14bGJtZDBhQ0E5SUdOdmJuUmxiblF1YkdWdVozUm9PMXh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3SUM4dklFUnZiaWQwSUhKaGFYTmxJSFJvWlNCb2QyMGdQaUF4UjBKY2JseHVYRzUyWVhJZ1RVRllYMGhYVFNBOUlEQjROREF3TURBd01EQTdYRzVjYm1aMWJtTjBhVzl1SUdOdmJYQjFkR1ZPWlhkSWFXZG9WMkYwWlhKTllYSnJLRzRwSUh0Y2JpQWdhV1lnS0c0Z1BqMGdUVUZZWDBoWFRTa2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2NtOXVZV2NwT2lCVWFISnZkeUJGVWxKZlZrRk1WVVZmVDFWVVgwOUdYMUpCVGtkRkxseHVJQ0FnSUc0Z1BTQk5RVmhmU0ZkTk8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRWRsZENCMGFHVWdibVY0ZENCb2FXZG9aWE4wSUhCdmQyVnlJRzltSURJZ2RHOGdjSEpsZG1WdWRDQnBibU55WldGemFXNW5JR2gzYlNCbGVHTmxjM05wZG1Wc2VTQnBibHh1SUNBZ0lDOHZJSFJwYm5rZ1lXMXZkVzUwYzF4dUlDQWdJRzR0TFR0Y2JpQWdJQ0J1SUh3OUlHNGdQajQrSURFN1hHNGdJQ0FnYmlCOFBTQnVJRDQrUGlBeU8xeHVJQ0FnSUc0Z2ZEMGdiaUErUGo0Z05EdGNiaUFnSUNCdUlIdzlJRzRnUGo0K0lEZzdYRzRnSUNBZ2JpQjhQU0J1SUQ0K1BpQXhOanRjYmlBZ0lDQnVLeXM3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYmp0Y2JuMGdMeThnVkdocGN5Qm1kVzVqZEdsdmJpQnBjeUJrWlhOcFoyNWxaQ0IwYnlCaVpTQnBibXhwYm1GaWJHVXNJSE52SUhCc1pXRnpaU0IwWVd0bElHTmhjbVVnZDJobGJpQnRZV3RwYm1kY2JpOHZJR05vWVc1blpYTWdkRzhnZEdobElHWjFibU4wYVc5dUlHSnZaSGt1WEc1Y2JseHVablZ1WTNScGIyNGdhRzkzVFhWamFGUnZVbVZoWkNodUxDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb2JpQThQU0F3SUh4OElITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01DQW1KaUJ6ZEdGMFpTNWxibVJsWkNrZ2NtVjBkWEp1SURBN1hHNGdJR2xtSUNoemRHRjBaUzV2WW1wbFkzUk5iMlJsS1NCeVpYUjFjbTRnTVR0Y2JseHVJQ0JwWmlBb2JpQWhQVDBnYmlrZ2UxeHVJQ0FnSUM4dklFOXViSGtnWm14dmR5QnZibVVnWW5WbVptVnlJR0YwSUdFZ2RHbHRaVnh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNW1iRzkzYVc1bklDWW1JSE4wWVhSbExteGxibWQwYUNrZ2NtVjBkWEp1SUhOMFlYUmxMbUoxWm1abGNpNW9aV0ZrTG1SaGRHRXViR1Z1WjNSb08yVnNjMlVnY21WMGRYSnVJSE4wWVhSbExteGxibWQwYUR0Y2JpQWdmU0F2THlCSlppQjNaU2R5WlNCaGMydHBibWNnWm05eUlHMXZjbVVnZEdoaGJpQjBhR1VnWTNWeWNtVnVkQ0JvZDIwc0lIUm9aVzRnY21GcGMyVWdkR2hsSUdoM2JTNWNibHh1WEc0Z0lHbG1JQ2h1SUQ0Z2MzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF5a2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUE5SUdOdmJYQjFkR1ZPWlhkSWFXZG9WMkYwWlhKTllYSnJLRzRwTzF4dUlDQnBaaUFvYmlBOFBTQnpkR0YwWlM1c1pXNW5kR2dwSUhKbGRIVnliaUJ1T3lBdkx5QkViMjRuZENCb1lYWmxJR1Z1YjNWbmFGeHVYRzRnSUdsbUlDZ2hjM1JoZEdVdVpXNWtaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNXVaV1ZrVW1WaFpHRmliR1VnUFNCMGNuVmxPMXh1SUNBZ0lISmxkSFZ5YmlBd08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlITjBZWFJsTG14bGJtZDBhRHRjYm4wZ0x5OGdlVzkxSUdOaGJpQnZkbVZ5Y21sa1pTQmxhWFJvWlhJZ2RHaHBjeUJ0WlhSb2IyUXNJRzl5SUhSb1pTQmhjM2x1WXlCZmNtVmhaQ2h1S1NCaVpXeHZkeTVjYmx4dVhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVjbVZoWkNBOUlHWjFibU4wYVc5dUlDaHVLU0I3WEc0Z0lHUmxZblZuS0NkeVpXRmtKeXdnYmlrN1hHNGdJRzRnUFNCd1lYSnpaVWx1ZENodUxDQXhNQ2s3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lIWmhjaUJ1VDNKcFp5QTlJRzQ3WEc0Z0lHbG1JQ2h1SUNFOVBTQXdLU0J6ZEdGMFpTNWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlRzZ0x5OGdhV1lnZDJVbmNtVWdaRzlwYm1jZ2NtVmhaQ2d3S1NCMGJ5QjBjbWxuWjJWeUlHRWdjbVZoWkdGaWJHVWdaWFpsYm5Rc0lHSjFkQ0IzWlZ4dUlDQXZMeUJoYkhKbFlXUjVJR2hoZG1VZ1lTQmlkVzVqYUNCdlppQmtZWFJoSUdsdUlIUm9aU0JpZFdabVpYSXNJSFJvWlc0Z2FuVnpkQ0IwY21sbloyVnlYRzRnSUM4dklIUm9aU0FuY21WaFpHRmliR1VuSUdWMlpXNTBJR0Z1WkNCdGIzWmxJRzl1TGx4dVhHNGdJR2xtSUNodUlEMDlQU0F3SUNZbUlITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTQW1KaUFvS0hOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zZ0lUMDlJREFnUHlCemRHRjBaUzVzWlc1bmRHZ2dQajBnYzNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXlBNklITjBZWFJsTG14bGJtZDBhQ0ErSURBcElIeDhJSE4wWVhSbExtVnVaR1ZrS1NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R5WldGa09pQmxiV2wwVW1WaFpHRmliR1VuTENCemRHRjBaUzVzWlc1bmRHZ3NJSE4wWVhSbExtVnVaR1ZrS1R0Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0lDWW1JSE4wWVhSbExtVnVaR1ZrS1NCbGJtUlNaV0ZrWVdKc1pTaDBhR2x6S1R0bGJITmxJR1Z0YVhSU1pXRmtZV0pzWlNoMGFHbHpLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUc0Z1BTQm9iM2ROZFdOb1ZHOVNaV0ZrS0c0c0lITjBZWFJsS1RzZ0x5OGdhV1lnZDJVbmRtVWdaVzVrWldRc0lHRnVaQ0IzWlNkeVpTQnViM2NnWTJ4bFlYSXNJSFJvWlc0Z1ptbHVhWE5vSUdsMElIVndMbHh1WEc0Z0lHbG1JQ2h1SUQwOVBTQXdJQ1ltSUhOMFlYUmxMbVZ1WkdWa0tTQjdYRzRnSUNBZ2FXWWdLSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ2tnWlc1a1VtVmhaR0ZpYkdVb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdMeThnUVd4c0lIUm9aU0JoWTNSMVlXd2dZMmgxYm1zZ1oyVnVaWEpoZEdsdmJpQnNiMmRwWXlCdVpXVmtjeUIwYnlCaVpWeHVJQ0F2THlBcVltVnNiM2NxSUhSb1pTQmpZV3hzSUhSdklGOXlaV0ZrTGlBZ1ZHaGxJSEpsWVhOdmJpQnBjeUIwYUdGMElHbHVJR05sY25SaGFXNWNiaUFnTHk4Z2MzbHVkR2hsZEdsaklITjBjbVZoYlNCallYTmxjeXdnYzNWamFDQmhjeUJ3WVhOemRHaHliM1ZuYUNCemRISmxZVzF6TENCZmNtVmhaRnh1SUNBdkx5QnRZWGtnWW1VZ1lTQmpiMjF3YkdWMFpXeDVJSE41Ym1Ob2NtOXViM1Z6SUc5d1pYSmhkR2x2YmlCM2FHbGphQ0J0WVhrZ1kyaGhibWRsWEc0Z0lDOHZJSFJvWlNCemRHRjBaU0J2WmlCMGFHVWdjbVZoWkNCaWRXWm1aWElzSUhCeWIzWnBaR2x1WnlCbGJtOTFaMmdnWkdGMFlTQjNhR1Z1WEc0Z0lDOHZJR0psWm05eVpTQjBhR1Z5WlNCM1lYTWdLbTV2ZENvZ1pXNXZkV2RvTGx4dUlDQXZMMXh1SUNBdkx5QlRieXdnZEdobElITjBaWEJ6SUdGeVpUcGNiaUFnTHk4Z01TNGdSbWxuZFhKbElHOTFkQ0IzYUdGMElIUm9aU0J6ZEdGMFpTQnZaaUIwYUdsdVozTWdkMmxzYkNCaVpTQmhablJsY2lCM1pTQmtiMXh1SUNBdkx5QmhJSEpsWVdRZ1puSnZiU0IwYUdVZ1luVm1abVZ5TGx4dUlDQXZMMXh1SUNBdkx5QXlMaUJKWmlCMGFHRjBJSEpsYzNWc2RHbHVaeUJ6ZEdGMFpTQjNhV3hzSUhSeWFXZG5aWElnWVNCZmNtVmhaQ3dnZEdobGJpQmpZV3hzSUY5eVpXRmtMbHh1SUNBdkx5Qk9iM1JsSUhSb1lYUWdkR2hwY3lCdFlYa2dZbVVnWVhONWJtTm9jbTl1YjNWekxDQnZjaUJ6ZVc1amFISnZibTkxY3k0Z0lGbGxjeXdnYVhRZ2FYTmNiaUFnTHk4Z1pHVmxjR3g1SUhWbmJIa2dkRzhnZDNKcGRHVWdRVkJKY3lCMGFHbHpJSGRoZVN3Z1luVjBJSFJvWVhRZ2MzUnBiR3dnWkc5bGMyNG5kQ0J0WldGdVhHNGdJQzh2SUhSb1lYUWdkR2hsSUZKbFlXUmhZbXhsSUdOc1lYTnpJSE5vYjNWc1pDQmlaV2hoZG1VZ2FXMXdjbTl3WlhKc2VTd2dZWE1nYzNSeVpXRnRjeUJoY21WY2JpQWdMeThnWkdWemFXZHVaV1FnZEc4Z1ltVWdjM2x1WXk5aGMzbHVZeUJoWjI1dmMzUnBZeTVjYmlBZ0x5OGdWR0ZyWlNCdWIzUmxJR2xtSUhSb1pTQmZjbVZoWkNCallXeHNJR2x6SUhONWJtTWdiM0lnWVhONWJtTWdLR2xsTENCcFppQjBhR1VnY21WaFpDQmpZV3hzWEc0Z0lDOHZJR2hoY3lCeVpYUjFjbTVsWkNCNVpYUXBMQ0J6YnlCMGFHRjBJSGRsSUd0dWIzY2dkMmhsZEdobGNpQnZjaUJ1YjNRZ2FYUW5jeUJ6WVdabElIUnZJR1Z0YVhSY2JpQWdMeThnSjNKbFlXUmhZbXhsSnlCbGRHTXVYRzRnSUM4dlhHNGdJQzh2SURNdUlFRmpkSFZoYkd4NUlIQjFiR3dnZEdobElISmxjWFZsYzNSbFpDQmphSFZ1YTNNZ2IzVjBJRzltSUhSb1pTQmlkV1ptWlhJZ1lXNWtJSEpsZEhWeWJpNWNiaUFnTHk4Z2FXWWdkMlVnYm1WbFpDQmhJSEpsWVdSaFlteGxJR1YyWlc1MExDQjBhR1Z1SUhkbElHNWxaV1FnZEc4Z1pHOGdjMjl0WlNCeVpXRmthVzVuTGx4dVhHNWNiaUFnZG1GeUlHUnZVbVZoWkNBOUlITjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pUdGNiaUFnWkdWaWRXY29KMjVsWldRZ2NtVmhaR0ZpYkdVbkxDQmtiMUpsWVdRcE95QXZMeUJwWmlCM1pTQmpkWEp5Wlc1MGJIa2dhR0YyWlNCc1pYTnpJSFJvWVc0Z2RHaGxJR2hwWjJoWFlYUmxjazFoY21zc0lIUm9aVzRnWVd4emJ5QnlaV0ZrSUhOdmJXVmNibHh1SUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdJSHg4SUhOMFlYUmxMbXhsYm1kMGFDQXRJRzRnUENCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKcktTQjdYRzRnSUNBZ1pHOVNaV0ZrSUQwZ2RISjFaVHRjYmlBZ0lDQmtaV0oxWnlnbmJHVnVaM1JvSUd4bGMzTWdkR2hoYmlCM1lYUmxjbTFoY21zbkxDQmtiMUpsWVdRcE8xeHVJQ0I5SUM4dklHaHZkMlYyWlhJc0lHbG1JSGRsSjNabElHVnVaR1ZrTENCMGFHVnVJSFJvWlhKbEozTWdibThnY0c5cGJuUXNJR0Z1WkNCcFppQjNaU2R5WlNCaGJISmxZV1I1WEc0Z0lDOHZJSEpsWVdScGJtY3NJSFJvWlc0Z2FYUW5jeUIxYm01bFkyVnpjMkZ5ZVM1Y2JseHVYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUmxaQ0I4ZkNCemRHRjBaUzV5WldGa2FXNW5LU0I3WEc0Z0lDQWdaRzlTWldGa0lEMGdabUZzYzJVN1hHNGdJQ0FnWkdWaWRXY29KM0psWVdScGJtY2diM0lnWlc1a1pXUW5MQ0JrYjFKbFlXUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHUnZVbVZoWkNrZ2UxeHVJQ0FnSUdSbFluVm5LQ2RrYnlCeVpXRmtKeWs3WEc0Z0lDQWdjM1JoZEdVdWNtVmhaR2x1WnlBOUlIUnlkV1U3WEc0Z0lDQWdjM1JoZEdVdWMzbHVZeUE5SUhSeWRXVTdJQzh2SUdsbUlIUm9aU0JzWlc1bmRHZ2dhWE1nWTNWeWNtVnVkR3g1SUhwbGNtOHNJSFJvWlc0Z2QyVWdLbTVsWldRcUlHRWdjbVZoWkdGaWJHVWdaWFpsYm5RdVhHNWNiaUFnSUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdLU0J6ZEdGMFpTNXVaV1ZrVW1WaFpHRmliR1VnUFNCMGNuVmxPeUF2THlCallXeHNJR2x1ZEdWeWJtRnNJSEpsWVdRZ2JXVjBhRzlrWEc1Y2JpQWdJQ0IwYUdsekxsOXlaV0ZrS0hOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zcE8xeHVYRzRnSUNBZ2MzUmhkR1V1YzNsdVl5QTlJR1poYkhObE95QXZMeUJKWmlCZmNtVmhaQ0J3ZFhOb1pXUWdaR0YwWVNCemVXNWphSEp2Ym05MWMyeDVMQ0IwYUdWdUlHQnlaV0ZrYVc1bllDQjNhV3hzSUdKbElHWmhiSE5sTEZ4dUlDQWdJQzh2SUdGdVpDQjNaU0J1WldWa0lIUnZJSEpsTFdWMllXeDFZWFJsSUdodmR5QnRkV05vSUdSaGRHRWdkMlVnWTJGdUlISmxkSFZ5YmlCMGJ5QjBhR1VnZFhObGNpNWNibHh1SUNBZ0lHbG1JQ2doYzNSaGRHVXVjbVZoWkdsdVp5a2diaUE5SUdodmQwMTFZMmhVYjFKbFlXUW9iazl5YVdjc0lITjBZWFJsS1R0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ5WlhRN1hHNGdJR2xtSUNodUlENGdNQ2tnY21WMElEMGdabkp2YlV4cGMzUW9iaXdnYzNSaGRHVXBPMlZzYzJVZ2NtVjBJRDBnYm5Wc2JEdGNibHh1SUNCcFppQW9jbVYwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnYzNSaGRHVXVibVZsWkZKbFlXUmhZbXhsSUQwZ2MzUmhkR1V1YkdWdVozUm9JRHc5SUhOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zN1hHNGdJQ0FnYmlBOUlEQTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjM1JoZEdVdWJHVnVaM1JvSUMwOUlHNDdYRzRnSUNBZ2MzUmhkR1V1WVhkaGFYUkVjbUZwYmlBOUlEQTdYRzRnSUgxY2JseHVJQ0JwWmlBb2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVZ2FHRjJaU0J1YjNSb2FXNW5JR2x1SUhSb1pTQmlkV1ptWlhJc0lIUm9aVzRnZDJVZ2QyRnVkQ0IwYnlCcmJtOTNYRzRnSUNBZ0x5OGdZWE1nYzI5dmJpQmhjeUIzWlNBcVpHOHFJR2RsZENCemIyMWxkR2hwYm1jZ2FXNTBieUIwYUdVZ1luVm1abVZ5TGx4dUlDQWdJR2xtSUNnaGMzUmhkR1V1Wlc1a1pXUXBJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdJQzh2SUVsbUlIZGxJSFJ5YVdWa0lIUnZJSEpsWVdRb0tTQndZWE4wSUhSb1pTQkZUMFlzSUhSb1pXNGdaVzFwZENCbGJtUWdiMjRnZEdobElHNWxlSFFnZEdsamF5NWNibHh1SUNBZ0lHbG1JQ2h1VDNKcFp5QWhQVDBnYmlBbUppQnpkR0YwWlM1bGJtUmxaQ2tnWlc1a1VtVmhaR0ZpYkdVb2RHaHBjeWs3WEc0Z0lIMWNibHh1SUNCcFppQW9jbVYwSUNFOVBTQnVkV3hzS1NCMGFHbHpMbVZ0YVhRb0oyUmhkR0VuTENCeVpYUXBPMXh1SUNCeVpYUjFjbTRnY21WME8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2IyNUZiMlpEYUhWdWF5aHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJR1JsWW5WbktDZHZia1Z2WmtOb2RXNXJKeWs3WEc0Z0lHbG1JQ2h6ZEdGMFpTNWxibVJsWkNrZ2NtVjBkWEp1TzF4dVhHNGdJR2xtSUNoemRHRjBaUzVrWldOdlpHVnlLU0I3WEc0Z0lDQWdkbUZ5SUdOb2RXNXJJRDBnYzNSaGRHVXVaR1ZqYjJSbGNpNWxibVFvS1R0Y2JseHVJQ0FnSUdsbUlDaGphSFZ1YXlBbUppQmphSFZ1YXk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbUoxWm1abGNpNXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQWdJSE4wWVhSbExteGxibWQwYUNBclBTQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNU0E2SUdOb2RXNXJMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnpkR0YwWlM1bGJtUmxaQ0E5SUhSeWRXVTdYRzVjYmlBZ2FXWWdLSE4wWVhSbExuTjVibU1wSUh0Y2JpQWdJQ0F2THlCcFppQjNaU0JoY21VZ2MzbHVZeXdnZDJGcGRDQjFiblJwYkNCdVpYaDBJSFJwWTJzZ2RHOGdaVzFwZENCMGFHVWdaR0YwWVM1Y2JpQWdJQ0F2THlCUGRHaGxjbmRwYzJVZ2QyVWdjbWx6YXlCbGJXbDBkR2x1WnlCa1lYUmhJR2x1SUhSb1pTQm1iRzkzS0NsY2JpQWdJQ0F2THlCMGFHVWdjbVZoWkdGaWJHVWdZMjlrWlNCMGNtbG5aMlZ5Y3lCa2RYSnBibWNnWVNCeVpXRmtLQ2tnWTJGc2JGeHVJQ0FnSUdWdGFYUlNaV0ZrWVdKc1pTaHpkSEpsWVcwcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJR1Z0YVhRZ0ozSmxZV1JoWW14bEp5QnViM2NnZEc4Z2JXRnJaU0J6ZFhKbElHbDBJR2RsZEhNZ2NHbGphMlZrSUhWd0xseHVJQ0FnSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBOUlHWmhiSE5sTzF4dVhHNGdJQ0FnYVdZZ0tDRnpkR0YwWlM1bGJXbDBkR1ZrVW1WaFpHRmliR1VwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCbGJXbDBVbVZoWkdGaWJHVmZLSE4wY21WaGJTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OUlDOHZJRVJ2YmlkMElHVnRhWFFnY21WaFpHRmliR1VnY21sbmFIUWdZWGRoZVNCcGJpQnplVzVqSUcxdlpHVXNJR0psWTJGMWMyVWdkR2hwY3lCallXNGdkSEpwWjJkbGNseHVMeThnWVc1dmRHaGxjaUJ5WldGa0tDa2dZMkZzYkNBOVBpQnpkR0ZqYXlCdmRtVnlabXh2ZHk0Z0lGUm9hWE1nZDJGNUxDQnBkQ0J0YVdkb2RDQjBjbWxuWjJWeVhHNHZMeUJoSUc1bGVIUlVhV05ySUhKbFkzVnljMmx2YmlCM1lYSnVhVzVuTENCaWRYUWdkR2hoZENkeklHNXZkQ0J6YnlCaVlXUXVYRzVjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRkpsWVdSaFlteGxLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lHUmxZblZuS0NkbGJXbDBVbVZoWkdGaWJHVW5MQ0J6ZEdGMFpTNXVaV1ZrVW1WaFpHRmliR1VzSUhOMFlYUmxMbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTazdYRzRnSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBOUlHWmhiSE5sTzF4dVhHNGdJR2xtSUNnaGMzUmhkR1V1WlcxcGRIUmxaRkpsWVdSaFlteGxLU0I3WEc0Z0lDQWdaR1ZpZFdjb0oyVnRhWFJTWldGa1lXSnNaU2NzSUhOMFlYUmxMbVpzYjNkcGJtY3BPMXh1SUNBZ0lITjBZWFJsTG1WdGFYUjBaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobGJXbDBVbVZoWkdGaWJHVmZMQ0J6ZEhKbFlXMHBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdWdGFYUlNaV0ZrWVdKc1pWOG9jM1J5WldGdEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlITjBjbVZoYlM1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ1pHVmlkV2NvSjJWdGFYUlNaV0ZrWVdKc1pWOG5MQ0J6ZEdGMFpTNWtaWE4wY205NVpXUXNJSE4wWVhSbExteGxibWQwYUN3Z2MzUmhkR1V1Wlc1a1pXUXBPMXh1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaR1Z6ZEhKdmVXVmtJQ1ltSUNoemRHRjBaUzVzWlc1bmRHZ2dmSHdnYzNSaGRHVXVaVzVrWldRcEtTQjdYRzRnSUNBZ2MzUnlaV0Z0TG1WdGFYUW9KM0psWVdSaFlteGxKeWs3WEc0Z0lDQWdjM1JoZEdVdVpXMXBkSFJsWkZKbFlXUmhZbXhsSUQwZ1ptRnNjMlU3WEc0Z0lIMGdMeThnVkdobElITjBjbVZoYlNCdVpXVmtjeUJoYm05MGFHVnlJSEpsWVdSaFlteGxJR1YyWlc1MElHbG1YRzRnSUM4dklERXVJRWwwSUdseklHNXZkQ0JtYkc5M2FXNW5MQ0JoY3lCMGFHVWdabXh2ZHlCdFpXTm9ZVzVwYzIwZ2QybHNiQ0IwWVd0bFhHNGdJQzh2SUNBZ0lHTmhjbVVnYjJZZ2FYUXVYRzRnSUM4dklESXVJRWwwSUdseklHNXZkQ0JsYm1SbFpDNWNiaUFnTHk4Z015NGdTWFFnYVhNZ1ltVnNiM2NnZEdobElHaHBaMmhYWVhSbGNrMWhjbXNzSUhOdklIZGxJR05oYmlCelkyaGxaSFZzWlZ4dUlDQXZMeUFnSUNCaGJtOTBhR1Z5SUhKbFlXUmhZbXhsSUd4aGRHVnlMbHh1WEc1Y2JpQWdjM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxJRDBnSVhOMFlYUmxMbVpzYjNkcGJtY2dKaVlnSVhOMFlYUmxMbVZ1WkdWa0lDWW1JSE4wWVhSbExteGxibWQwYUNBOFBTQnpkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCbWJHOTNLSE4wY21WaGJTazdYRzU5SUM4dklHRjBJSFJvYVhNZ2NHOXBiblFzSUhSb1pTQjFjMlZ5SUdoaGN5QndjbVZ6ZFcxaFlteDVJSE5sWlc0Z2RHaGxJQ2R5WldGa1lXSnNaU2NnWlhabGJuUXNYRzR2THlCaGJtUWdZMkZzYkdWa0lISmxZV1FvS1NCMGJ5QmpiMjV6ZFcxbElITnZiV1VnWkdGMFlTNGdJSFJvWVhRZ2JXRjVJR2hoZG1VZ2RISnBaMmRsY21Wa1hHNHZMeUJwYmlCMGRYSnVJR0Z1YjNSb1pYSWdYM0psWVdRb2Jpa2dZMkZzYkN3Z2FXNGdkMmhwWTJnZ1kyRnpaU0J5WldGa2FXNW5JRDBnZEhKMVpTQnBabHh1THk4Z2FYUW5jeUJwYmlCd2NtOW5jbVZ6Y3k1Y2JpOHZJRWh2ZDJWMlpYSXNJR2xtSUhkbEozSmxJRzV2ZENCbGJtUmxaQ3dnYjNJZ2NtVmhaR2x1Wnl3Z1lXNWtJSFJvWlNCc1pXNW5kR2dnUENCb2QyMHNYRzR2THlCMGFHVnVJR2R2SUdGb1pXRmtJR0Z1WkNCMGNua2dkRzhnY21WaFpDQnpiMjFsSUcxdmNtVWdjSEpsWlcxd2RHbDJaV3g1TGx4dVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFVtVmhaRTF2Y21Vb2MzUnlaV0Z0TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvSVhOMFlYUmxMbkpsWVdScGJtZE5iM0psS1NCN1hHNGdJQ0FnYzNSaGRHVXVjbVZoWkdsdVowMXZjbVVnUFNCMGNuVmxPMXh1SUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb2JXRjVZbVZTWldGa1RXOXlaVjhzSUhOMGNtVmhiU3dnYzNSaGRHVXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUcxaGVXSmxVbVZoWkUxdmNtVmZLSE4wY21WaGJTd2djM1JoZEdVcElIdGNiaUFnTHk4Z1FYUjBaVzF3ZENCMGJ5QnlaV0ZrSUcxdmNtVWdaR0YwWVNCcFppQjNaU0J6YUc5MWJHUXVYRzRnSUM4dlhHNGdJQzh2SUZSb1pTQmpiMjVrYVhScGIyNXpJR1p2Y2lCeVpXRmthVzVuSUcxdmNtVWdaR0YwWVNCaGNtVWdLRzl1WlNCdlppazZYRzRnSUM4dklDMGdUbTkwSUdWdWIzVm5hQ0JrWVhSaElHSjFabVpsY21Wa0lDaHpkR0YwWlM1c1pXNW5kR2dnUENCemRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKcktTNGdWR2hsSUd4dmIzQmNiaUFnTHk4Z0lDQnBjeUJ5WlhOd2IyNXphV0pzWlNCbWIzSWdabWxzYkdsdVp5QjBhR1VnWW5WbVptVnlJSGRwZEdnZ1pXNXZkV2RvSUdSaGRHRWdhV1lnYzNWamFDQmtZWFJoWEc0Z0lDOHZJQ0FnYVhNZ1lYWmhhV3hoWW14bExpQkpaaUJvYVdkb1YyRjBaWEpOWVhKcklHbHpJREFnWVc1a0lIZGxJR0Z5WlNCdWIzUWdhVzRnZEdobElHWnNiM2RwYm1jZ2JXOWtaVnh1SUNBdkx5QWdJSGRsSUhOb2IzVnNaQ0JmYm05MFh5QmhkSFJsYlhCMElIUnZJR0oxWm1abGNpQmhibmtnWlhoMGNtRWdaR0YwWVM0Z1YyVW5iR3dnWjJWMElHMXZjbVVnWkdGMFlWeHVJQ0F2THlBZ0lIZG9aVzRnZEdobElITjBjbVZoYlNCamIyNXpkVzFsY2lCallXeHNjeUJ5WldGa0tDa2dhVzV6ZEdWaFpDNWNiaUFnTHk4Z0xTQk9ieUJrWVhSaElHbHVJSFJvWlNCaWRXWm1aWElzSUdGdVpDQjBhR1VnYzNSeVpXRnRJR2x6SUdsdUlHWnNiM2RwYm1jZ2JXOWtaUzRnU1c0Z2RHaHBjeUJ0YjJSbFhHNGdJQzh2SUNBZ2RHaGxJR3h2YjNBZ1ltVnNiM2NnYVhNZ2NtVnpjRzl1YzJsaWJHVWdabTl5SUdWdWMzVnlhVzVuSUhKbFlXUW9LU0JwY3lCallXeHNaV1F1SUVaaGFXeHBibWNnZEc5Y2JpQWdMeThnSUNCallXeHNJSEpsWVdRZ2FHVnlaU0IzYjNWc1pDQmhZbTl5ZENCMGFHVWdabXh2ZHlCaGJtUWdkR2hsY21VbmN5QnVieUJ2ZEdobGNpQnRaV05vWVc1cGMyMGdabTl5WEc0Z0lDOHZJQ0FnWTI5dWRHbHVkV2x1WnlCMGFHVWdabXh2ZHlCcFppQjBhR1VnYzNSeVpXRnRJR052Ym5OMWJXVnlJR2hoY3lCcWRYTjBJSE4xWW5OamNtbGlaV1FnZEc4Z2RHaGxYRzRnSUM4dklDQWdKMlJoZEdFbklHVjJaVzUwTGx4dUlDQXZMMXh1SUNBdkx5QkpiaUJoWkdScGRHbHZiaUIwYnlCMGFHVWdZV0p2ZG1VZ1kyOXVaR2wwYVc5dWN5QjBieUJyWldWd0lISmxZV1JwYm1jZ1pHRjBZU3dnZEdobElHWnZiR3h2ZDJsdVoxeHVJQ0F2THlCamIyNWthWFJwYjI1eklIQnlaWFpsYm5RZ2RHaGxJR1JoZEdFZ1puSnZiU0JpWldsdVp5QnlaV0ZrT2x4dUlDQXZMeUF0SUZSb1pTQnpkSEpsWVcwZ2FHRnpJR1Z1WkdWa0lDaHpkR0YwWlM1bGJtUmxaQ2t1WEc0Z0lDOHZJQzBnVkdobGNtVWdhWE1nWVd4eVpXRmtlU0JoSUhCbGJtUnBibWNnSjNKbFlXUW5JRzl3WlhKaGRHbHZiaUFvYzNSaGRHVXVjbVZoWkdsdVp5a3VJRlJvYVhNZ2FYTWdZVnh1SUNBdkx5QWdJR05oYzJVZ2QyaGxjbVVnZEdobElIUm9aU0J6ZEhKbFlXMGdhR0Z6SUdOaGJHeGxaQ0IwYUdVZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWkdWbWFXNWxaQ0JmY21WaFpDZ3BYRzRnSUM4dklDQWdiV1YwYUc5a0xDQmlkWFFnZEdobGVTQmhjbVVnY0hKdlkyVnpjMmx1WnlCMGFHVWdZMkZzYkNCaGMzbHVZMmh5YjI1dmRYTnNlU0JoYm1RZ2FHRjJaU0JmYm05MFgxeHVJQ0F2THlBZ0lHTmhiR3hsWkNCd2RYTm9LQ2tnZDJsMGFDQnVaWGNnWkdGMFlTNGdTVzRnZEdocGN5QmpZWE5sSUhkbElITnJhWEFnY0dWeVptOXliV2x1WnlCdGIzSmxYRzRnSUM4dklDQWdjbVZoWkNncGN5NGdWR2hsSUdWNFpXTjFkR2x2YmlCbGJtUnpJR2x1SUhSb2FYTWdiV1YwYUc5a0lHRm5ZV2x1SUdGbWRHVnlJSFJvWlNCZmNtVmhaQ2dwSUdWdVpITmNiaUFnTHk4Z0lDQjFjQ0JqWVd4c2FXNW5JSEIxYzJnb0tTQjNhWFJvSUcxdmNtVWdaR0YwWVM1Y2JpQWdkMmhwYkdVZ0tDRnpkR0YwWlM1eVpXRmthVzVuSUNZbUlDRnpkR0YwWlM1bGJtUmxaQ0FtSmlBb2MzUmhkR1V1YkdWdVozUm9JRHdnYzNSaGRHVXVhR2xuYUZkaGRHVnlUV0Z5YXlCOGZDQnpkR0YwWlM1bWJHOTNhVzVuSUNZbUlITjBZWFJsTG14bGJtZDBhQ0E5UFQwZ01Da3BJSHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdjM1JoZEdVdWJHVnVaM1JvTzF4dUlDQWdJR1JsWW5WbktDZHRZWGxpWlZKbFlXUk5iM0psSUhKbFlXUWdNQ2NwTzF4dUlDQWdJSE4wY21WaGJTNXlaV0ZrS0RBcE8xeHVJQ0FnSUdsbUlDaHNaVzRnUFQwOUlITjBZWFJsTG14bGJtZDBhQ2tnTHk4Z1pHbGtiaWQwSUdkbGRDQmhibmtnWkdGMFlTd2djM1J2Y0NCemNHbHVibWx1Wnk1Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNWNiaUFnYzNSaGRHVXVjbVZoWkdsdVowMXZjbVVnUFNCbVlXeHpaVHRjYm4wZ0x5OGdZV0p6ZEhKaFkzUWdiV1YwYUc5a0xpQWdkRzhnWW1VZ2IzWmxjbkpwWkdSbGJpQnBiaUJ6Y0dWamFXWnBZeUJwYlhCc1pXMWxiblJoZEdsdmJpQmpiR0Z6YzJWekxseHVMeThnWTJGc2JDQmpZaWhsY2l3Z1pHRjBZU2tnZDJobGNtVWdaR0YwWVNCcGN5QThQU0J1SUdsdUlHeGxibWQwYUM1Y2JpOHZJR1p2Y2lCMmFYSjBkV0ZzSUNodWIyNHRjM1J5YVc1bkxDQnViMjR0WW5WbVptVnlLU0J6ZEhKbFlXMXpMQ0JjSW14bGJtZDBhRndpSUdseklITnZiV1YzYUdGMFhHNHZMeUJoY21KcGRISmhjbmtzSUdGdVpDQndaWEpvWVhCeklHNXZkQ0IyWlhKNUlHMWxZVzVwYm1kbWRXd3VYRzVjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExsOXlaV0ZrSUQwZ1puVnVZM1JwYjI0Z0tHNHBJSHRjYmlBZ1pYSnliM0pQY2tSbGMzUnliM2tvZEdocGN5d2dibVYzSUVWU1VsOU5SVlJJVDBSZlRrOVVYMGxOVUV4RlRVVk9WRVZFS0NkZmNtVmhaQ2dwSnlrcE8xeHVmVHRjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuQnBjR1VnUFNCbWRXNWpkR2x2YmlBb1pHVnpkQ3dnY0dsd1pVOXdkSE1wSUh0Y2JpQWdkbUZ5SUhOeVl5QTlJSFJvYVhNN1hHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNWNiaUFnYzNkcGRHTm9JQ2h6ZEdGMFpTNXdhWEJsYzBOdmRXNTBLU0I3WEc0Z0lDQWdZMkZ6WlNBd09seHVJQ0FnSUNBZ2MzUmhkR1V1Y0dsd1pYTWdQU0JrWlhOME8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElERTZYRzRnSUNBZ0lDQnpkR0YwWlM1d2FYQmxjeUE5SUZ0emRHRjBaUzV3YVhCbGN5d2daR1Z6ZEYwN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQnpkR0YwWlM1d2FYQmxjeTV3ZFhOb0tHUmxjM1FwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUgxY2JseHVJQ0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJQ3M5SURFN1hHNGdJR1JsWW5WbktDZHdhWEJsSUdOdmRXNTBQU1ZrSUc5d2RITTlKV29uTENCemRHRjBaUzV3YVhCbGMwTnZkVzUwTENCd2FYQmxUM0IwY3lrN1hHNGdJSFpoY2lCa2IwVnVaQ0E5SUNnaGNHbHdaVTl3ZEhNZ2ZId2djR2x3WlU5d2RITXVaVzVrSUNFOVBTQm1ZV3h6WlNrZ0ppWWdaR1Z6ZENBaFBUMGdjSEp2WTJWemN5NXpkR1J2ZFhRZ0ppWWdaR1Z6ZENBaFBUMGdjSEp2WTJWemN5NXpkR1JsY25JN1hHNGdJSFpoY2lCbGJtUkdiaUE5SUdSdlJXNWtJRDhnYjI1bGJtUWdPaUIxYm5CcGNHVTdYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUkZiV2wwZEdWa0tTQndjbTlqWlhOekxtNWxlSFJVYVdOcktHVnVaRVp1S1R0bGJITmxJSE55WXk1dmJtTmxLQ2RsYm1RbkxDQmxibVJHYmlrN1hHNGdJR1JsYzNRdWIyNG9KM1Z1Y0dsd1pTY3NJRzl1ZFc1d2FYQmxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQnZiblZ1Y0dsd1pTaHlaV0ZrWVdKc1pTd2dkVzV3YVhCbFNXNW1ieWtnZTF4dUlDQWdJR1JsWW5WbktDZHZiblZ1Y0dsd1pTY3BPMXh1WEc0Z0lDQWdhV1lnS0hKbFlXUmhZbXhsSUQwOVBTQnpjbU1wSUh0Y2JpQWdJQ0FnSUdsbUlDaDFibkJwY0dWSmJtWnZJQ1ltSUhWdWNHbHdaVWx1Wm04dWFHRnpWVzV3YVhCbFpDQTlQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQWdJQ0FnZFc1d2FYQmxTVzVtYnk1b1lYTlZibkJwY0dWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ1kyeGxZVzUxY0NncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHOXVaVzVrS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R2Ym1WdVpDY3BPMXh1SUNBZ0lHUmxjM1F1Wlc1a0tDazdYRzRnSUgwZ0x5OGdkMmhsYmlCMGFHVWdaR1Z6ZENCa2NtRnBibk1zSUdsMElISmxaSFZqWlhNZ2RHaGxJR0YzWVdsMFJISmhhVzRnWTI5MWJuUmxjbHh1SUNBdkx5QnZiaUIwYUdVZ2MyOTFjbU5sTGlBZ1ZHaHBjeUIzYjNWc1pDQmlaU0J0YjNKbElHVnNaV2RoYm5RZ2QybDBhQ0JoSUM1dmJtTmxLQ2xjYmlBZ0x5OGdhR0Z1Wkd4bGNpQnBiaUJtYkc5M0tDa3NJR0oxZENCaFpHUnBibWNnWVc1a0lISmxiVzkyYVc1bklISmxjR1ZoZEdWa2JIa2dhWE5jYmlBZ0x5OGdkRzl2SUhOc2IzY3VYRzVjYmx4dUlDQjJZWElnYjI1a2NtRnBiaUE5SUhCcGNHVlBia1J5WVdsdUtITnlZeWs3WEc0Z0lHUmxjM1F1YjI0b0oyUnlZV2x1Snl3Z2IyNWtjbUZwYmlrN1hHNGdJSFpoY2lCamJHVmhibVZrVlhBZ1BTQm1ZV3h6WlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJqYkdWaGJuVndLQ2tnZTF4dUlDQWdJR1JsWW5WbktDZGpiR1ZoYm5Wd0p5azdJQzh2SUdOc1pXRnVkWEFnWlhabGJuUWdhR0Z1Wkd4bGNuTWdiMjVqWlNCMGFHVWdjR2x3WlNCcGN5QmljbTlyWlc1Y2JseHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyTnNiM05sSnl3Z2IyNWpiRzl6WlNrN1hHNGdJQ0FnWkdWemRDNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblptbHVhWE5vSnl3Z2IyNW1hVzVwYzJncE8xeHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyUnlZV2x1Snl3Z2IyNWtjbUZwYmlrN1hHNGdJQ0FnWkdWemRDNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblpYSnliM0luTENCdmJtVnljbTl5S1R0Y2JpQWdJQ0JrWlhOMExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkMWJuQnBjR1VuTENCdmJuVnVjR2x3WlNrN1hHNGdJQ0FnYzNKakxuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGJtUW5MQ0J2Ym1WdVpDazdYRzRnSUNBZ2MzSmpMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZGxibVFuTENCMWJuQnBjR1VwTzF4dUlDQWdJSE55WXk1eVpXMXZkbVZNYVhOMFpXNWxjaWduWkdGMFlTY3NJRzl1WkdGMFlTazdYRzRnSUNBZ1kyeGxZVzVsWkZWd0lEMGdkSEoxWlRzZ0x5OGdhV1lnZEdobElISmxZV1JsY2lCcGN5QjNZV2wwYVc1bklHWnZjaUJoSUdSeVlXbHVJR1YyWlc1MElHWnliMjBnZEdocGMxeHVJQ0FnSUM4dklITndaV05wWm1saklIZHlhWFJsY2l3Z2RHaGxiaUJwZENCM2IzVnNaQ0JqWVhWelpTQnBkQ0IwYnlCdVpYWmxjaUJ6ZEdGeWRGeHVJQ0FnSUM4dklHWnNiM2RwYm1jZ1lXZGhhVzR1WEc0Z0lDQWdMeThnVTI4c0lHbG1JSFJvYVhNZ2FYTWdZWGRoYVhScGJtY2dZU0JrY21GcGJpd2dkR2hsYmlCM1pTQnFkWE4wSUdOaGJHd2dhWFFnYm05M0xseHVJQ0FnSUM4dklFbG1JSGRsSUdSdmJpZDBJR3R1YjNjc0lIUm9aVzRnWVhOemRXMWxJSFJvWVhRZ2QyVWdZWEpsSUhkaGFYUnBibWNnWm05eUlHOXVaUzVjYmx4dUlDQWdJR2xtSUNoemRHRjBaUzVoZDJGcGRFUnlZV2x1SUNZbUlDZ2haR1Z6ZEM1ZmQzSnBkR0ZpYkdWVGRHRjBaU0I4ZkNCa1pYTjBMbDkzY21sMFlXSnNaVk4wWVhSbExtNWxaV1JFY21GcGJpa3BJRzl1WkhKaGFXNG9LVHRjYmlBZ2ZWeHVYRzRnSUhOeVl5NXZiaWduWkdGMFlTY3NJRzl1WkdGMFlTazdYRzVjYmlBZ1puVnVZM1JwYjI0Z2IyNWtZWFJoS0dOb2RXNXJLU0I3WEc0Z0lDQWdaR1ZpZFdjb0oyOXVaR0YwWVNjcE8xeHVJQ0FnSUhaaGNpQnlaWFFnUFNCa1pYTjBMbmR5YVhSbEtHTm9kVzVyS1R0Y2JpQWdJQ0JrWldKMVp5Z25aR1Z6ZEM1M2NtbDBaU2NzSUhKbGRDazdYRzVjYmlBZ0lDQnBaaUFvY21WMElEMDlQU0JtWVd4elpTa2dlMXh1SUNBZ0lDQWdMeThnU1dZZ2RHaGxJSFZ6WlhJZ2RXNXdhWEJsWkNCa2RYSnBibWNnWUdSbGMzUXVkM0pwZEdVb0tXQXNJR2wwSUdseklIQnZjM05wWW14bFhHNGdJQ0FnSUNBdkx5QjBieUJuWlhRZ2MzUjFZMnNnYVc0Z1lTQndaWEp0WVc1bGJuUnNlU0J3WVhWelpXUWdjM1JoZEdVZ2FXWWdkR2hoZENCM2NtbDBaVnh1SUNBZ0lDQWdMeThnWVd4emJ5QnlaWFIxY201bFpDQm1ZV3h6WlM1Y2JpQWdJQ0FnSUM4dklEMCtJRU5vWldOcklIZG9aWFJvWlhJZ1lHUmxjM1JnSUdseklITjBhV3hzSUdFZ2NHbHdhVzVuSUdSbGMzUnBibUYwYVc5dUxseHVJQ0FnSUNBZ2FXWWdLQ2h6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJRDA5UFNBeElDWW1JSE4wWVhSbExuQnBjR1Z6SUQwOVBTQmtaWE4wSUh4OElITjBZWFJsTG5CcGNHVnpRMjkxYm5RZ1BpQXhJQ1ltSUdsdVpHVjRUMllvYzNSaGRHVXVjR2x3WlhNc0lHUmxjM1FwSUNFOVBTQXRNU2tnSmlZZ0lXTnNaV0Z1WldSVmNDa2dlMXh1SUNBZ0lDQWdJQ0JrWldKMVp5Z25abUZzYzJVZ2QzSnBkR1VnY21WemNHOXVjMlVzSUhCaGRYTmxKeXdnYzNSaGRHVXVZWGRoYVhSRWNtRnBiaWs3WEc0Z0lDQWdJQ0FnSUhOMFlYUmxMbUYzWVdsMFJISmhhVzRyS3p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MzSmpMbkJoZFhObEtDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklHbG1JSFJvWlNCa1pYTjBJR2hoY3lCaGJpQmxjbkp2Y2l3Z2RHaGxiaUJ6ZEc5d0lIQnBjR2x1WnlCcGJuUnZJR2wwTGx4dUlDQXZMeUJvYjNkbGRtVnlMQ0JrYjI0bmRDQnpkWEJ3Y21WemN5QjBhR1VnZEdoeWIzZHBibWNnWW1Wb1lYWnBiM0lnWm05eUlIUm9hWE11WEc1Y2JseHVJQ0JtZFc1amRHbHZiaUJ2Ym1WeWNtOXlLR1Z5S1NCN1hHNGdJQ0FnWkdWaWRXY29KMjl1WlhKeWIzSW5MQ0JsY2lrN1hHNGdJQ0FnZFc1d2FYQmxLQ2s3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlhKeWIzSW5MQ0J2Ym1WeWNtOXlLVHRjYmlBZ0lDQnBaaUFvUlVWc2FYTjBaVzVsY2tOdmRXNTBLR1JsYzNRc0lDZGxjbkp2Y2ljcElEMDlQU0F3S1NCbGNuSnZjazl5UkdWemRISnZlU2hrWlhOMExDQmxjaWs3WEc0Z0lIMGdMeThnVFdGclpTQnpkWEpsSUc5MWNpQmxjbkp2Y2lCb1lXNWtiR1Z5SUdseklHRjBkR0ZqYUdWa0lHSmxabTl5WlNCMWMyVnliR0Z1WkNCdmJtVnpMbHh1WEc1Y2JpQWdjSEpsY0dWdVpFeHBjM1JsYm1WeUtHUmxjM1FzSUNkbGNuSnZjaWNzSUc5dVpYSnliM0lwT3lBdkx5QkNiM1JvSUdOc2IzTmxJR0Z1WkNCbWFXNXBjMmdnYzJodmRXeGtJSFJ5YVdkblpYSWdkVzV3YVhCbExDQmlkWFFnYjI1c2VTQnZibU5sTGx4dVhHNGdJR1oxYm1OMGFXOXVJRzl1WTJ4dmMyVW9LU0I3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWm1sdWFYTm9KeXdnYjI1bWFXNXBjMmdwTzF4dUlDQWdJSFZ1Y0dsd1pTZ3BPMXh1SUNCOVhHNWNiaUFnWkdWemRDNXZibU5sS0NkamJHOXpaU2NzSUc5dVkyeHZjMlVwTzF4dVhHNGdJR1oxYm1OMGFXOXVJRzl1Wm1sdWFYTm9LQ2tnZTF4dUlDQWdJR1JsWW5WbktDZHZibVpwYm1semFDY3BPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzRnSUNBZ2RXNXdhWEJsS0NrN1hHNGdJSDFjYmx4dUlDQmtaWE4wTG05dVkyVW9KMlpwYm1semFDY3NJRzl1Wm1sdWFYTm9LVHRjYmx4dUlDQm1kVzVqZEdsdmJpQjFibkJwY0dVb0tTQjdYRzRnSUNBZ1pHVmlkV2NvSjNWdWNHbHdaU2NwTzF4dUlDQWdJSE55WXk1MWJuQnBjR1VvWkdWemRDazdYRzRnSUgwZ0x5OGdkR1ZzYkNCMGFHVWdaR1Z6ZENCMGFHRjBJR2wwSjNNZ1ltVnBibWNnY0dsd1pXUWdkRzljYmx4dVhHNGdJR1JsYzNRdVpXMXBkQ2duY0dsd1pTY3NJSE55WXlrN0lDOHZJSE4wWVhKMElIUm9aU0JtYkc5M0lHbG1JR2wwSUdoaGMyNG5kQ0JpWldWdUlITjBZWEowWldRZ1lXeHlaV0ZrZVM1Y2JseHVJQ0JwWmlBb0lYTjBZWFJsTG1ac2IzZHBibWNwSUh0Y2JpQWdJQ0JrWldKMVp5Z25jR2x3WlNCeVpYTjFiV1VuS1R0Y2JpQWdJQ0J6Y21NdWNtVnpkVzFsS0NrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1pHVnpkRHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJSEJwY0dWUGJrUnlZV2x1S0hOeVl5a2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnY0dsd1pVOXVSSEpoYVc1R2RXNWpkR2x2YmxKbGMzVnNkQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2MzUmhkR1VnUFNCemNtTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJQ0FnWkdWaWRXY29KM0JwY0dWUGJrUnlZV2x1Snl3Z2MzUmhkR1V1WVhkaGFYUkVjbUZwYmlrN1hHNGdJQ0FnYVdZZ0tITjBZWFJsTG1GM1lXbDBSSEpoYVc0cElITjBZWFJsTG1GM1lXbDBSSEpoYVc0dExUdGNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWhkMkZwZEVSeVlXbHVJRDA5UFNBd0lDWW1JRVZGYkdsemRHVnVaWEpEYjNWdWRDaHpjbU1zSUNka1lYUmhKeWtwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbVpzYjNkcGJtY2dQU0IwY25WbE8xeHVJQ0FnSUNBZ1pteHZkeWh6Y21NcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYm4xY2JseHVVbVZoWkdGaWJHVXVjSEp2ZEc5MGVYQmxMblZ1Y0dsd1pTQTlJR1oxYm1OMGFXOXVJQ2hrWlhOMEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzRnSUhaaGNpQjFibkJwY0dWSmJtWnZJRDBnZTF4dUlDQWdJR2hoYzFWdWNHbHdaV1E2SUdaaGJITmxYRzRnSUgwN0lDOHZJR2xtSUhkbEozSmxJRzV2ZENCd2FYQnBibWNnWVc1NWQyaGxjbVVzSUhSb1pXNGdaRzhnYm05MGFHbHVaeTVjYmx4dUlDQnBaaUFvYzNSaGRHVXVjR2x3WlhORGIzVnVkQ0E5UFQwZ01Da2djbVYwZFhKdUlIUm9hWE03SUM4dklHcDFjM1FnYjI1bElHUmxjM1JwYm1GMGFXOXVMaUFnYlc5emRDQmpiMjF0YjI0Z1kyRnpaUzVjYmx4dUlDQnBaaUFvYzNSaGRHVXVjR2x3WlhORGIzVnVkQ0E5UFQwZ01Ta2dlMXh1SUNBZ0lDOHZJSEJoYzNObFpDQnBiaUJ2Ym1Vc0lHSjFkQ0JwZENkeklHNXZkQ0IwYUdVZ2NtbG5hSFFnYjI1bExseHVJQ0FnSUdsbUlDaGtaWE4wSUNZbUlHUmxjM1FnSVQwOUlITjBZWFJsTG5CcGNHVnpLU0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0JwWmlBb0lXUmxjM1FwSUdSbGMzUWdQU0J6ZEdGMFpTNXdhWEJsY3pzZ0x5OGdaMjkwSUdFZ2JXRjBZMmd1WEc1Y2JpQWdJQ0J6ZEdGMFpTNXdhWEJsY3lBOUlHNTFiR3c3WEc0Z0lDQWdjM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlJREE3WEc0Z0lDQWdjM1JoZEdVdVpteHZkMmx1WnlBOUlHWmhiSE5sTzF4dUlDQWdJR2xtSUNoa1pYTjBLU0JrWlhOMExtVnRhWFFvSjNWdWNHbHdaU2NzSUhSb2FYTXNJSFZ1Y0dsd1pVbHVabThwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlJQzh2SUhOc2IzY2dZMkZ6WlM0Z2JYVnNkR2x3YkdVZ2NHbHdaU0JrWlhOMGFXNWhkR2x2Ym5NdVhHNWNibHh1SUNCcFppQW9JV1JsYzNRcElIdGNiaUFnSUNBdkx5QnlaVzF2ZG1VZ1lXeHNMbHh1SUNBZ0lIWmhjaUJrWlhOMGN5QTlJSE4wWVhSbExuQnBjR1Z6TzF4dUlDQWdJSFpoY2lCc1pXNGdQU0J6ZEdGMFpTNXdhWEJsYzBOdmRXNTBPMXh1SUNBZ0lITjBZWFJsTG5CcGNHVnpJRDBnYm5Wc2JEdGNiaUFnSUNCemRHRjBaUzV3YVhCbGMwTnZkVzUwSUQwZ01EdGNiaUFnSUNCemRHRjBaUzVtYkc5M2FXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hsYmpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JrWlhOMGMxdHBYUzVsYldsMEtDZDFibkJwY0dVbkxDQjBhR2x6TENCN1hHNGdJQ0FnSUNBZ0lHaGhjMVZ1Y0dsd1pXUTZJR1poYkhObFhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlNBdkx5QjBjbmtnZEc4Z1ptbHVaQ0IwYUdVZ2NtbG5hSFFnYjI1bExseHVYRzVjYmlBZ2RtRnlJR2x1WkdWNElEMGdhVzVrWlhoUFppaHpkR0YwWlM1d2FYQmxjeXdnWkdWemRDazdYRzRnSUdsbUlDaHBibVJsZUNBOVBUMGdMVEVwSUhKbGRIVnliaUIwYUdsek8xeHVJQ0J6ZEdGMFpTNXdhWEJsY3k1emNHeHBZMlVvYVc1a1pYZ3NJREVwTzF4dUlDQnpkR0YwWlM1d2FYQmxjME52ZFc1MElDMDlJREU3WEc0Z0lHbG1JQ2h6ZEdGMFpTNXdhWEJsYzBOdmRXNTBJRDA5UFNBeEtTQnpkR0YwWlM1d2FYQmxjeUE5SUhOMFlYUmxMbkJwY0dWeld6QmRPMXh1SUNCa1pYTjBMbVZ0YVhRb0ozVnVjR2x3WlNjc0lIUm9hWE1zSUhWdWNHbHdaVWx1Wm04cE8xeHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdJQzh2SUhObGRDQjFjQ0JrWVhSaElHVjJaVzUwY3lCcFppQjBhR1Y1SUdGeVpTQmhjMnRsWkNCbWIzSmNiaTh2SUVWdWMzVnlaU0J5WldGa1lXSnNaU0JzYVhOMFpXNWxjbk1nWlhabGJuUjFZV3hzZVNCblpYUWdjMjl0WlhSb2FXNW5YRzVjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExtOXVJRDBnWm5WdVkzUnBiMjRnS0dWMkxDQm1iaWtnZTF4dUlDQjJZWElnY21WeklEMGdVM1J5WldGdExuQnliM1J2ZEhsd1pTNXZiaTVqWVd4c0tIUm9hWE1zSUdWMkxDQm1iaWs3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdhV1lnS0dWMklEMDlQU0FuWkdGMFlTY3BJSHRjYmlBZ0lDQXZMeUIxY0dSaGRHVWdjbVZoWkdGaWJHVk1hWE4wWlc1cGJtY2djMjhnZEdoaGRDQnlaWE4xYldVb0tTQnRZWGtnWW1VZ1lTQnVieTF2Y0Z4dUlDQWdJQzh2SUdFZ1ptVjNJR3hwYm1WeklHUnZkMjR1SUZSb2FYTWdhWE1nYm1WbFpHVmtJSFJ2SUhOMWNIQnZjblFnYjI1alpTZ25jbVZoWkdGaWJHVW5LUzVjYmlBZ0lDQnpkR0YwWlM1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlIUm9hWE11YkdsemRHVnVaWEpEYjNWdWRDZ25jbVZoWkdGaWJHVW5LU0ErSURBN0lDOHZJRlJ5ZVNCemRHRnlkQ0JtYkc5M2FXNW5JRzl1SUc1bGVIUWdkR2xqYXlCcFppQnpkSEpsWVcwZ2FYTnVKM1FnWlhod2JHbGphWFJzZVNCd1lYVnpaV1JjYmx4dUlDQWdJR2xtSUNoemRHRjBaUzVtYkc5M2FXNW5JQ0U5UFNCbVlXeHpaU2tnZEdocGN5NXlaWE4xYldVb0tUdGNiaUFnZlNCbGJITmxJR2xtSUNobGRpQTlQVDBnSjNKbFlXUmhZbXhsSnlrZ2UxeHVJQ0FnSUdsbUlDZ2hjM1JoZEdVdVpXNWtSVzFwZEhSbFpDQW1KaUFoYzNSaGRHVXVjbVZoWkdGaWJHVk1hWE4wWlc1cGJtY3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExuSmxZV1JoWW14bFRHbHpkR1Z1YVc1bklEMGdjM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lITjBZWFJsTG1ac2IzZHBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJSE4wWVhSbExtVnRhWFIwWldSU1pXRmtZV0pzWlNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnWkdWaWRXY29KMjl1SUhKbFlXUmhZbXhsSnl3Z2MzUmhkR1V1YkdWdVozUm9MQ0J6ZEdGMFpTNXlaV0ZrYVc1bktUdGNibHh1SUNBZ0lDQWdhV1lnS0hOMFlYUmxMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0JsYldsMFVtVmhaR0ZpYkdVb2RHaHBjeWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0NGemRHRjBaUzV5WldGa2FXNW5LU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvYmxKbFlXUnBibWRPWlhoMFZHbGpheXdnZEdocGN5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlISmxjenRjYm4wN1hHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVoWkdSTWFYTjBaVzVsY2lBOUlGSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXZianRjYmx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuSmxiVzkyWlV4cGMzUmxibVZ5SUQwZ1puVnVZM1JwYjI0Z0tHVjJMQ0JtYmlrZ2UxeHVJQ0IyWVhJZ2NtVnpJRDBnVTNSeVpXRnRMbkJ5YjNSdmRIbHdaUzV5WlcxdmRtVk1hWE4wWlc1bGNpNWpZV3hzS0hSb2FYTXNJR1YyTENCbWJpazdYRzVjYmlBZ2FXWWdLR1YySUQwOVBTQW5jbVZoWkdGaWJHVW5LU0I3WEc0Z0lDQWdMeThnVjJVZ2JtVmxaQ0IwYnlCamFHVmpheUJwWmlCMGFHVnlaU0JwY3lCemIyMWxiMjVsSUhOMGFXeHNJR3hwYzNSbGJtbHVaeUIwYjF4dUlDQWdJQzh2SUhKbFlXUmhZbXhsSUdGdVpDQnlaWE5sZENCMGFHVWdjM1JoZEdVdUlFaHZkMlYyWlhJZ2RHaHBjeUJ1WldWa2N5QjBieUJvWVhCd1pXNWNiaUFnSUNBdkx5QmhablJsY2lCeVpXRmtZV0pzWlNCb1lYTWdZbVZsYmlCbGJXbDBkR1ZrSUdKMWRDQmlaV1p2Y21VZ1NTOVBJQ2h1WlhoMFZHbGpheWtnZEc5Y2JpQWdJQ0F2THlCemRYQndiM0owSUc5dVkyVW9KM0psWVdSaFlteGxKeXdnWm00cElHTjVZMnhsY3k0Z1ZHaHBjeUJ0WldGdWN5QjBhR0YwSUdOaGJHeHBibWRjYmlBZ0lDQXZMeUJ5WlhOMWJXVWdkMmwwYUdsdUlIUm9aU0J6WVcxbElIUnBZMnNnZDJsc2JDQm9ZWFpsSUc1dlhHNGdJQ0FnTHk4Z1pXWm1aV04wTGx4dUlDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29kWEJrWVhSbFVtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jc0lIUm9hWE1wTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXlaVzF2ZG1WQmJHeE1hWE4wWlc1bGNuTWdQU0JtZFc1amRHbHZiaUFvWlhZcElIdGNiaUFnZG1GeUlISmxjeUE5SUZOMGNtVmhiUzV3Y205MGIzUjVjR1V1Y21WdGIzWmxRV3hzVEdsemRHVnVaWEp6TG1Gd2NHeDVLSFJvYVhNc0lHRnlaM1Z0Wlc1MGN5azdYRzVjYmlBZ2FXWWdLR1YySUQwOVBTQW5jbVZoWkdGaWJHVW5JSHg4SUdWMklEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0F2THlCWFpTQnVaV1ZrSUhSdklHTm9aV05ySUdsbUlIUm9aWEpsSUdseklITnZiV1Z2Ym1VZ2MzUnBiR3dnYkdsemRHVnVhVzVuSUhSdlhHNGdJQ0FnTHk4Z2NtVmhaR0ZpYkdVZ1lXNWtJSEpsYzJWMElIUm9aU0J6ZEdGMFpTNGdTRzkzWlhabGNpQjBhR2x6SUc1bFpXUnpJSFJ2SUdoaGNIQmxibHh1SUNBZ0lDOHZJR0ZtZEdWeUlISmxZV1JoWW14bElHaGhjeUJpWldWdUlHVnRhWFIwWldRZ1luVjBJR0psWm05eVpTQkpMMDhnS0c1bGVIUlVhV05yS1NCMGIxeHVJQ0FnSUM4dklITjFjSEJ2Y25RZ2IyNWpaU2duY21WaFpHRmliR1VuTENCbWJpa2dZM2xqYkdWekxpQlVhR2x6SUcxbFlXNXpJSFJvWVhRZ1kyRnNiR2x1WjF4dUlDQWdJQzh2SUhKbGMzVnRaU0IzYVhSb2FXNGdkR2hsSUhOaGJXVWdkR2xqYXlCM2FXeHNJR2hoZG1VZ2JtOWNiaUFnSUNBdkx5QmxabVpsWTNRdVhHNGdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWgxY0dSaGRHVlNaV0ZrWVdKc1pVeHBjM1JsYm1sdVp5d2dkR2hwY3lrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVmhaR0ZpYkdWTWFYTjBaVzVwYm1jb2MyVnNaaWtnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0J6Wld4bUxsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQnpkR0YwWlM1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlITmxiR1l1YkdsemRHVnVaWEpEYjNWdWRDZ25jbVZoWkdGaWJHVW5LU0ErSURBN1hHNWNiaUFnYVdZZ0tITjBZWFJsTG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0FtSmlBaGMzUmhkR1V1Y0dGMWMyVmtLU0I3WEc0Z0lDQWdMeThnWm14dmQybHVaeUJ1WldWa2N5QjBieUJpWlNCelpYUWdkRzhnZEhKMVpTQnViM2NzSUc5MGFHVnlkMmx6WlZ4dUlDQWdJQzh2SUhSb1pTQjFjR052YldsdVp5QnlaWE4xYldVZ2QybHNiQ0J1YjNRZ1pteHZkeTVjYmlBZ0lDQnpkR0YwWlM1bWJHOTNhVzVuSUQwZ2RISjFaVHNnTHk4Z1kzSjFaR1VnZDJGNUlIUnZJR05vWldOcklHbG1JSGRsSUhOb2IzVnNaQ0J5WlhOMWJXVmNiaUFnZlNCbGJITmxJR2xtSUNoelpXeG1MbXhwYzNSbGJtVnlRMjkxYm5Rb0oyUmhkR0VuS1NBK0lEQXBJSHRjYmlBZ0lDQnpaV3htTG5KbGMzVnRaU2dwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHNVNaV0ZrYVc1blRtVjRkRlJwWTJzb2MyVnNaaWtnZTF4dUlDQmtaV0oxWnlnbmNtVmhaR0ZpYkdVZ2JtVjRkSFJwWTJzZ2NtVmhaQ0F3SnlrN1hHNGdJSE5sYkdZdWNtVmhaQ2d3S1R0Y2JuMGdMeThnY0dGMWMyVW9LU0JoYm1RZ2NtVnpkVzFsS0NrZ1lYSmxJSEpsYlc1aGJuUnpJRzltSUhSb1pTQnNaV2RoWTNrZ2NtVmhaR0ZpYkdVZ2MzUnlaV0Z0SUVGUVNWeHVMeThnU1dZZ2RHaGxJSFZ6WlhJZ2RYTmxjeUIwYUdWdExDQjBhR1Z1SUhOM2FYUmphQ0JwYm5SdklHOXNaQ0J0YjJSbExseHVYRzVjYmxKbFlXUmhZbXhsTG5CeWIzUnZkSGx3WlM1eVpYTjFiV1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNW1iRzkzYVc1bktTQjdYRzRnSUNBZ1pHVmlkV2NvSjNKbGMzVnRaU2NwT3lBdkx5QjNaU0JtYkc5M0lHOXViSGtnYVdZZ2RHaGxjbVVnYVhNZ2JtOGdiMjVsSUd4cGMzUmxibWx1WjF4dUlDQWdJQzh2SUdadmNpQnlaV0ZrWVdKc1pTd2dZblYwSUhkbElITjBhV3hzSUdoaGRtVWdkRzhnWTJGc2JGeHVJQ0FnSUM4dklISmxjM1Z0WlNncFhHNWNiaUFnSUNCemRHRjBaUzVtYkc5M2FXNW5JRDBnSVhOMFlYUmxMbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5PMXh1SUNBZ0lISmxjM1Z0WlNoMGFHbHpMQ0J6ZEdGMFpTazdYRzRnSUgxY2JseHVJQ0J6ZEdGMFpTNXdZWFZ6WldRZ1BTQm1ZV3h6WlR0Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJ5WlhOMWJXVW9jM1J5WldGdExDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb0lYTjBZWFJsTG5KbGMzVnRaVk5qYUdWa2RXeGxaQ2tnZTF4dUlDQWdJSE4wWVhSbExuSmxjM1Z0WlZOamFHVmtkV3hsWkNBOUlIUnlkV1U3WEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aHlaWE4xYldWZkxDQnpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWE4xYldWZktITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdaR1ZpZFdjb0ozSmxjM1Z0WlNjc0lITjBZWFJsTG5KbFlXUnBibWNwTzF4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Y21WaFpHbHVaeWtnZTF4dUlDQWdJSE4wY21WaGJTNXlaV0ZrS0RBcE8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdWNtVnpkVzFsVTJOb1pXUjFiR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lITjBjbVZoYlM1bGJXbDBLQ2R5WlhOMWJXVW5LVHRjYmlBZ1pteHZkeWh6ZEhKbFlXMHBPMXh1SUNCcFppQW9jM1JoZEdVdVpteHZkMmx1WnlBbUppQWhjM1JoZEdVdWNtVmhaR2x1WnlrZ2MzUnlaV0Z0TG5KbFlXUW9NQ2s3WEc1OVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzV3WVhWelpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdaR1ZpZFdjb0oyTmhiR3dnY0dGMWMyVWdabXh2ZDJsdVp6MGxhaWNzSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpteHZkMmx1WnlrN1hHNWNiaUFnYVdZZ0tIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVabXh2ZDJsdVp5QWhQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQmtaV0oxWnlnbmNHRjFjMlVuS1R0Y2JpQWdJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1ac2IzZHBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQjBhR2x6TG1WdGFYUW9KM0JoZFhObEp5azdYRzRnSUgxY2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5CaGRYTmxaQ0E5SUhSeWRXVTdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z1pteHZkeWh6ZEhKbFlXMHBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQmtaV0oxWnlnblpteHZkeWNzSUhOMFlYUmxMbVpzYjNkcGJtY3BPMXh1WEc0Z0lIZG9hV3hsSUNoemRHRjBaUzVtYkc5M2FXNW5JQ1ltSUhOMGNtVmhiUzV5WldGa0tDa2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQTdYRzRnSUgxY2JuMGdMeThnZDNKaGNDQmhiaUJ2YkdRdGMzUjViR1VnYzNSeVpXRnRJR0Z6SUhSb1pTQmhjM2x1WXlCa1lYUmhJSE52ZFhKalpTNWNiaTh2SUZSb2FYTWdhWE1nS201dmRDb2djR0Z5ZENCdlppQjBhR1VnY21WaFpHRmliR1VnYzNSeVpXRnRJR2x1ZEdWeVptRmpaUzVjYmk4dklFbDBJR2x6SUdGdUlIVm5iSGtnZFc1bWIzSjBkVzVoZEdVZ2JXVnpjeUJ2WmlCb2FYTjBiM0o1TGx4dVhHNWNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzUzY21Gd0lEMGdablZ1WTNScGIyNGdLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdYM1JvYVhNZ1BTQjBhR2x6TzF4dVhHNGdJSFpoY2lCemRHRjBaU0E5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJSFpoY2lCd1lYVnpaV1FnUFNCbVlXeHpaVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZGxibVFuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ1pHVmlkV2NvSjNkeVlYQndaV1FnWlc1a0p5azdYRzVjYmlBZ0lDQnBaaUFvYzNSaGRHVXVaR1ZqYjJSbGNpQW1KaUFoYzNSaGRHVXVaVzVrWldRcElIdGNiaUFnSUNBZ0lIWmhjaUJqYUhWdWF5QTlJSE4wWVhSbExtUmxZMjlrWlhJdVpXNWtLQ2s3WEc0Z0lDQWdJQ0JwWmlBb1kyaDFibXNnSmlZZ1kyaDFibXN1YkdWdVozUm9LU0JmZEdocGN5NXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmZkR2hwY3k1d2RYTm9LRzUxYkd3cE8xeHVJQ0I5S1R0Y2JpQWdjM1J5WldGdExtOXVLQ2RrWVhSaEp5d2dablZ1WTNScGIyNGdLR05vZFc1cktTQjdYRzRnSUNBZ1pHVmlkV2NvSjNkeVlYQndaV1FnWkdGMFlTY3BPMXh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWtaV052WkdWeUtTQmphSFZ1YXlBOUlITjBZWFJsTG1SbFkyOWtaWEl1ZDNKcGRHVW9ZMmgxYm1zcE95QXZMeUJrYjI0bmRDQnphMmx3SUc5MlpYSWdabUZzYzNrZ2RtRnNkV1Z6SUdsdUlHOWlhbVZqZEUxdlpHVmNibHh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJQ1ltSUNoamFIVnVheUE5UFQwZ2JuVnNiQ0I4ZkNCamFIVnVheUE5UFQwZ2RXNWtaV1pwYm1Wa0tTa2djbVYwZFhKdU8yVnNjMlVnYVdZZ0tDRnpkR0YwWlM1dlltcGxZM1JOYjJSbElDWW1JQ2doWTJoMWJtc2dmSHdnSVdOb2RXNXJMbXhsYm1kMGFDa3BJSEpsZEhWeWJqdGNibHh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQmZkR2hwY3k1d2RYTm9LR05vZFc1cktUdGNibHh1SUNBZ0lHbG1JQ2doY21WMEtTQjdYRzRnSUNBZ0lDQndZWFZ6WldRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnYzNSeVpXRnRMbkJoZFhObEtDazdYRzRnSUNBZ2ZWeHVJQ0I5S1RzZ0x5OGdjSEp2ZUhrZ1lXeHNJSFJvWlNCdmRHaGxjaUJ0WlhSb2IyUnpMbHh1SUNBdkx5QnBiWEJ2Y25SaGJuUWdkMmhsYmlCM2NtRndjR2x1WnlCbWFXeDBaWEp6SUdGdVpDQmtkWEJzWlhobGN5NWNibHh1SUNCbWIzSWdLSFpoY2lCcElHbHVJSE4wY21WaGJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdselcybGRJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdkSGx3Wlc5bUlITjBjbVZoYlZ0cFhTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjMXRwWFNBOUlHWjFibU4wYVc5dUlHMWxkR2h2WkZkeVlYQW9iV1YwYUc5a0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnRaWFJvYjJSWGNtRndVbVYwZFhKdVJuVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSE4wY21WaGJWdHRaWFJvYjJSZExtRndjR3g1S0hOMGNtVmhiU3dnWVhKbmRXMWxiblJ6S1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lIMG9hU2s3WEc0Z0lDQWdmVnh1SUNCOUlDOHZJSEJ5YjNoNUlHTmxjblJoYVc0Z2FXMXdiM0owWVc1MElHVjJaVzUwY3k1Y2JseHVYRzRnSUdadmNpQW9kbUZ5SUc0Z1BTQXdPeUJ1SUR3Z2ExQnliM2g1UlhabGJuUnpMbXhsYm1kMGFEc2diaXNyS1NCN1hHNGdJQ0FnYzNSeVpXRnRMbTl1S0d0UWNtOTRlVVYyWlc1MGMxdHVYU3dnZEdocGN5NWxiV2wwTG1KcGJtUW9kR2hwY3l3Z2ExQnliM2g1UlhabGJuUnpXMjVkS1NrN1hHNGdJSDBnTHk4Z2QyaGxiaUIzWlNCMGNua2dkRzhnWTI5dWMzVnRaU0J6YjIxbElHMXZjbVVnWW5sMFpYTXNJSE5wYlhCc2VTQjFibkJoZFhObElIUm9aVnh1SUNBdkx5QjFibVJsY214NWFXNW5JSE4wY21WaGJTNWNibHh1WEc0Z0lIUm9hWE11WDNKbFlXUWdQU0JtZFc1amRHbHZiaUFvYmlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QzY21Gd2NHVmtJRjl5WldGa0p5d2diaWs3WEc1Y2JpQWdJQ0JwWmlBb2NHRjFjMlZrS1NCN1hHNGdJQ0FnSUNCd1lYVnpaV1FnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJSE4wY21WaGJTNXlaWE4xYldVb0tUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVwWmlBb2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNCU1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dWYlUzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSmRJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdsbUlDaGpjbVZoZEdWU1pXRmtZV0pzWlZOMGNtVmhiVUZ6ZVc1alNYUmxjbUYwYjNJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnWTNKbFlYUmxVbVZoWkdGaWJHVlRkSEpsWVcxQmMzbHVZMGwwWlhKaGRHOXlJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJGemVXNWpYMmwwWlhKaGRHOXlKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHTnlaV0YwWlZKbFlXUmhZbXhsVTNSeVpXRnRRWE41Ym1OSmRHVnlZWFJ2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibjFjYmx4dVQySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRkpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaU3dnSjNKbFlXUmhZbXhsU0dsbmFGZGhkR1Z5VFdGeWF5Y3NJSHRjYmlBZ0x5OGdiV0ZyYVc1bklHbDBJR1Y0Y0d4cFkybDBJSFJvYVhNZ2NISnZjR1Z5ZEhrZ2FYTWdibTkwSUdWdWRXMWxjbUZpYkdWY2JpQWdMeThnWW1WallYVnpaU0J2ZEdobGNuZHBjMlVnYzI5dFpTQndjbTkwYjNSNWNHVWdiV0Z1YVhCMWJHRjBhVzl1SUdsdVhHNGdJQzh2SUhWelpYSnNZVzVrSUhkcGJHd2dabUZwYkZ4dUlDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNiaUFnWjJWME9pQm1kVzVqZEdsdmJpQm5aWFFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZlZ4dWZTazdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1VtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5jbVZoWkdGaWJHVkNkV1ptWlhJbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVluVm1abVZ5TzF4dUlDQjlYRzU5S1R0Y2JrOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hTWldGa1lXSnNaUzV3Y205MGIzUjVjR1VzSUNkeVpXRmtZV0pzWlVac2IzZHBibWNuTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtWnNiM2RwYm1jN1hHNGdJSDBzWEc0Z0lITmxkRG9nWm5WdVkzUnBiMjRnYzJWMEtITjBZWFJsS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wm14dmQybHVaeUE5SUhOMFlYUmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZTazdJQzh2SUdWNGNHOXpaV1FnWm05eUlIUmxjM1JwYm1jZ2NIVnljRzl6WlhNZ2IyNXNlUzVjYmx4dVVtVmhaR0ZpYkdVdVgyWnliMjFNYVhOMElEMGdabkp2YlV4cGMzUTdYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1VtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5jbVZoWkdGaWJHVk1aVzVuZEdnbkxDQjdYRzRnSUM4dklHMWhhMmx1WnlCcGRDQmxlSEJzYVdOcGRDQjBhR2x6SUhCeWIzQmxjblI1SUdseklHNXZkQ0JsYm5WdFpYSmhZbXhsWEc0Z0lDOHZJR0psWTJGMWMyVWdiM1JvWlhKM2FYTmxJSE52YldVZ2NISnZkRzkwZVhCbElHMWhibWx3ZFd4aGRHbHZiaUJwYmx4dUlDQXZMeUIxYzJWeWJHRnVaQ0IzYVd4c0lHWmhhV3hjYmlBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJR2RsZERvZ1puVnVZM1JwYjI0Z1oyVjBLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbXhsYm1kMGFEdGNiaUFnZlZ4dWZTazdJQzh2SUZCc2RXTnJJRzltWmlCdUlHSjVkR1Z6SUdaeWIyMGdZVzRnWVhKeVlYa2diMllnWW5WbVptVnljeTVjYmk4dklFeGxibWQwYUNCcGN5QjBhR1VnWTI5dFltbHVaV1FnYkdWdVozUm9jeUJ2WmlCaGJHd2dkR2hsSUdKMVptWmxjbk1nYVc0Z2RHaGxJR3hwYzNRdVhHNHZMeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR1JsYzJsbmJtVmtJSFJ2SUdKbElHbHViR2x1WVdKc1pTd2djMjhnY0d4bFlYTmxJSFJoYTJVZ1kyRnlaU0IzYUdWdUlHMWhhMmx1WjF4dUx5OGdZMmhoYm1kbGN5QjBieUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlUzVjYmx4dVpuVnVZM1JwYjI0Z1puSnZiVXhwYzNRb2Jpd2djM1JoZEdVcElIdGNiaUFnTHk4Z2JtOTBhR2x1WnlCaWRXWm1aWEpsWkZ4dUlDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZG1GeUlISmxkRHRjYmlBZ2FXWWdLSE4wWVhSbExtOWlhbVZqZEUxdlpHVXBJSEpsZENBOUlITjBZWFJsTG1KMVptWmxjaTV6YUdsbWRDZ3BPMlZzYzJVZ2FXWWdLQ0Z1SUh4OElHNGdQajBnYzNSaGRHVXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0x5OGdjbVZoWkNCcGRDQmhiR3dzSUhSeWRXNWpZWFJsSUhSb1pTQnNhWE4wWEc0Z0lDQWdhV1lnS0hOMFlYUmxMbVJsWTI5a1pYSXBJSEpsZENBOUlITjBZWFJsTG1KMVptWmxjaTVxYjJsdUtDY25LVHRsYkhObElHbG1JQ2h6ZEdGMFpTNWlkV1ptWlhJdWJHVnVaM1JvSUQwOVBTQXhLU0J5WlhRZ1BTQnpkR0YwWlM1aWRXWm1aWEl1Wm1seWMzUW9LVHRsYkhObElISmxkQ0E5SUhOMFlYUmxMbUoxWm1abGNpNWpiMjVqWVhRb2MzUmhkR1V1YkdWdVozUm9LVHRjYmlBZ0lDQnpkR0YwWlM1aWRXWm1aWEl1WTJ4bFlYSW9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCeVpXRmtJSEJoY25RZ2IyWWdiR2x6ZEZ4dUlDQWdJSEpsZENBOUlITjBZWFJsTG1KMVptWmxjaTVqYjI1emRXMWxLRzRzSUhOMFlYUmxMbVJsWTI5a1pYSXBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnlaWFE3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1Z1WkZKbFlXUmhZbXhsS0hOMGNtVmhiU2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0J6ZEhKbFlXMHVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJR1JsWW5WbktDZGxibVJTWldGa1lXSnNaU2NzSUhOMFlYUmxMbVZ1WkVWdGFYUjBaV1FwTzF4dVhHNGdJR2xtSUNnaGMzUmhkR1V1Wlc1a1JXMXBkSFJsWkNrZ2UxeHVJQ0FnSUhOMFlYUmxMbVZ1WkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1Z1WkZKbFlXUmhZbXhsVGxRc0lITjBZWFJsTENCemRISmxZVzBwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVnVaRkpsWVdSaFlteGxUbFFvYzNSaGRHVXNJSE4wY21WaGJTa2dlMXh1SUNCa1pXSjFaeWduWlc1a1VtVmhaR0ZpYkdWT1ZDY3NJSE4wWVhSbExtVnVaRVZ0YVhSMFpXUXNJSE4wWVhSbExteGxibWQwYUNrN0lDOHZJRU5vWldOcklIUm9ZWFFnZDJVZ1pHbGtiaWQwSUdkbGRDQnZibVVnYkdGemRDQjFibk5vYVdaMExseHVYRzRnSUdsbUlDZ2hjM1JoZEdVdVpXNWtSVzFwZEhSbFpDQW1KaUJ6ZEdGMFpTNXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWxibVJGYldsMGRHVmtJRDBnZEhKMVpUdGNiaUFnSUNCemRISmxZVzB1Y21WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWlc1a0p5azdYRzVjYmlBZ0lDQnBaaUFvYzNSaGRHVXVZWFYwYjBSbGMzUnliM2twSUh0Y2JpQWdJQ0FnSUM4dklFbHVJR05oYzJVZ2IyWWdaSFZ3YkdWNElITjBjbVZoYlhNZ2QyVWdibVZsWkNCaElIZGhlU0IwYnlCa1pYUmxZM1JjYmlBZ0lDQWdJQzh2SUdsbUlIUm9aU0IzY21sMFlXSnNaU0J6YVdSbElHbHpJSEpsWVdSNUlHWnZjaUJoZFhSdlJHVnpkSEp2ZVNCaGN5QjNaV3hzWEc0Z0lDQWdJQ0IyWVhJZ2QxTjBZWFJsSUQwZ2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYZFRkR0YwWlNCOGZDQjNVM1JoZEdVdVlYVjBiMFJsYzNSeWIza2dKaVlnZDFOMFlYUmxMbVpwYm1semFHVmtLU0I3WEc0Z0lDQWdJQ0FnSUhOMGNtVmhiUzVrWlhOMGNtOTVLQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1sbUlDaDBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lGSmxZV1JoWW14bExtWnliMjBnUFNCbWRXNWpkR2x2YmlBb2FYUmxjbUZpYkdVc0lHOXdkSE1wSUh0Y2JpQWdJQ0JwWmlBb1puSnZiU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQm1jbTl0SUQwZ2NtVnhkV2x5WlNnbkxpOXBiblJsY201aGJDOXpkSEpsWVcxekwyWnliMjBuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdabkp2YlNoU1pXRmtZV0pzWlN3Z2FYUmxjbUZpYkdVc0lHOXdkSE1wTzF4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBibVJsZUU5bUtIaHpMQ0I0S1NCN1hHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQnNJRDBnZUhNdWJHVnVaM1JvT3lCcElEd2diRHNnYVNzcktTQjdYRzRnSUNBZ2FXWWdLSGh6VzJsZElEMDlQU0I0S1NCeVpYUjFjbTRnYVR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlBdE1UdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuLy8gYSB0cmFuc2Zvcm0gc3RyZWFtIGlzIGEgcmVhZGFibGUvd3JpdGFibGUgc3RyZWFtIHdoZXJlIHlvdSBkb1xcbi8vIHNvbWV0aGluZyB3aXRoIHRoZSBkYXRhLiAgU29tZXRpbWVzIGl0J3MgY2FsbGVkIGEgXFxcImZpbHRlclxcXCIsXFxuLy8gYnV0IHRoYXQncyBub3QgYSBncmVhdCBuYW1lIGZvciBpdCwgc2luY2UgdGhhdCBpbXBsaWVzIGEgdGhpbmcgd2hlcmVcXG4vLyBzb21lIGJpdHMgcGFzcyB0aHJvdWdoLCBhbmQgb3RoZXJzIGFyZSBzaW1wbHkgaWdub3JlZC4gIChUaGF0IHdvdWxkXFxuLy8gYmUgYSB2YWxpZCBleGFtcGxlIG9mIGEgdHJhbnNmb3JtLCBvZiBjb3Vyc2UuKVxcbi8vXFxuLy8gV2hpbGUgdGhlIG91dHB1dCBpcyBjYXVzYWxseSByZWxhdGVkIHRvIHRoZSBpbnB1dCwgaXQncyBub3QgYVxcbi8vIG5lY2Vzc2FyaWx5IHN5bW1ldHJpYyBvciBzeW5jaHJvbm91cyB0cmFuc2Zvcm1hdGlvbi4gIEZvciBleGFtcGxlLFxcbi8vIGEgemxpYiBzdHJlYW0gbWlnaHQgdGFrZSBtdWx0aXBsZSBwbGFpbi10ZXh0IHdyaXRlcygpLCBhbmQgdGhlblxcbi8vIGVtaXQgYSBzaW5nbGUgY29tcHJlc3NlZCBjaHVuayBzb21lIHRpbWUgaW4gdGhlIGZ1dHVyZS5cXG4vL1xcbi8vIEhlcmUncyBob3cgdGhpcyB3b3JrczpcXG4vL1xcbi8vIFRoZSBUcmFuc2Zvcm0gc3RyZWFtIGhhcyBhbGwgdGhlIGFzcGVjdHMgb2YgdGhlIHJlYWRhYmxlIGFuZCB3cml0YWJsZVxcbi8vIHN0cmVhbSBjbGFzc2VzLiAgV2hlbiB5b3Ugd3JpdGUoY2h1bmspLCB0aGF0IGNhbGxzIF93cml0ZShjaHVuayxjYilcXG4vLyBpbnRlcm5hbGx5LCBhbmQgcmV0dXJucyBmYWxzZSBpZiB0aGVyZSdzIGEgbG90IG9mIHBlbmRpbmcgd3JpdGVzXFxuLy8gYnVmZmVyZWQgdXAuICBXaGVuIHlvdSBjYWxsIHJlYWQoKSwgdGhhdCBjYWxscyBfcmVhZChuKSB1bnRpbFxcbi8vIHRoZXJlJ3MgZW5vdWdoIHBlbmRpbmcgcmVhZGFibGUgZGF0YSBidWZmZXJlZCB1cC5cXG4vL1xcbi8vIEluIGEgdHJhbnNmb3JtIHN0cmVhbSwgdGhlIHdyaXR0ZW4gZGF0YSBpcyBwbGFjZWQgaW4gYSBidWZmZXIuICBXaGVuXFxuLy8gX3JlYWQobikgaXMgY2FsbGVkLCBpdCB0cmFuc2Zvcm1zIHRoZSBxdWV1ZWQgdXAgZGF0YSwgY2FsbGluZyB0aGVcXG4vLyBidWZmZXJlZCBfd3JpdGUgY2IncyBhcyBpdCBjb25zdW1lcyBjaHVua3MuICBJZiBjb25zdW1pbmcgYSBzaW5nbGVcXG4vLyB3cml0dGVuIGNodW5rIHdvdWxkIHJlc3VsdCBpbiBtdWx0aXBsZSBvdXRwdXQgY2h1bmtzLCB0aGVuIHRoZSBmaXJzdFxcbi8vIG91dHB1dHRlZCBiaXQgY2FsbHMgdGhlIHJlYWRjYiwgYW5kIHN1YnNlcXVlbnQgY2h1bmtzIGp1c3QgZ28gaW50b1xcbi8vIHRoZSByZWFkIGJ1ZmZlciwgYW5kIHdpbGwgY2F1c2UgaXQgdG8gZW1pdCAncmVhZGFibGUnIGlmIG5lY2Vzc2FyeS5cXG4vL1xcbi8vIFRoaXMgd2F5LCBiYWNrLXByZXNzdXJlIGlzIGFjdHVhbGx5IGRldGVybWluZWQgYnkgdGhlIHJlYWRpbmcgc2lkZSxcXG4vLyBzaW5jZSBfcmVhZCBoYXMgdG8gYmUgY2FsbGVkIHRvIHN0YXJ0IHByb2Nlc3NpbmcgYSBuZXcgY2h1bmsuICBIb3dldmVyLFxcbi8vIGEgcGF0aG9sb2dpY2FsIGluZmxhdGUgdHlwZSBvZiB0cmFuc2Zvcm0gY2FuIGNhdXNlIGV4Y2Vzc2l2ZSBidWZmZXJpbmdcXG4vLyBoZXJlLiAgRm9yIGV4YW1wbGUsIGltYWdpbmUgYSBzdHJlYW0gd2hlcmUgZXZlcnkgYnl0ZSBvZiBpbnB1dCBpc1xcbi8vIGludGVycHJldGVkIGFzIGFuIGludGVnZXIgZnJvbSAwLTI1NSwgYW5kIHRoZW4gcmVzdWx0cyBpbiB0aGF0IG1hbnlcXG4vLyBieXRlcyBvZiBvdXRwdXQuICBXcml0aW5nIHRoZSA0IGJ5dGVzIHtmZixmZixmZixmZn0gd291bGQgcmVzdWx0IGluXFxuLy8gMWtiIG9mIGRhdGEgYmVpbmcgb3V0cHV0LiAgSW4gdGhpcyBjYXNlLCB5b3UgY291bGQgd3JpdGUgYSB2ZXJ5IHNtYWxsXFxuLy8gYW1vdW50IG9mIGlucHV0LCBhbmQgZW5kIHVwIHdpdGggYSB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBvdXRwdXQuICBJblxcbi8vIHN1Y2ggYSBwYXRob2xvZ2ljYWwgaW5mbGF0aW5nIG1lY2hhbmlzbSwgdGhlcmUnZCBiZSBubyB3YXkgdG8gdGVsbFxcbi8vIHRoZSBzeXN0ZW0gdG8gc3RvcCBkb2luZyB0aGUgdHJhbnNmb3JtLiAgQSBzaW5nbGUgNE1CIHdyaXRlIGNvdWxkXFxuLy8gY2F1c2UgdGhlIHN5c3RlbSB0byBydW4gb3V0IG9mIG1lbW9yeS5cXG4vL1xcbi8vIEhvd2V2ZXIsIGV2ZW4gaW4gc3VjaCBhIHBhdGhvbG9naWNhbCBjYXNlLCBvbmx5IGEgc2luZ2xlIHdyaXR0ZW4gY2h1bmtcXG4vLyB3b3VsZCBiZSBjb25zdW1lZCwgYW5kIHRoZW4gdGhlIHJlc3Qgd291bGQgd2FpdCAodW4tdHJhbnNmb3JtZWQpIHVudGlsXFxuLy8gdGhlIHJlc3VsdHMgb2YgdGhlIHByZXZpb3VzIHRyYW5zZm9ybWVkIGNodW5rIHdlcmUgY29uc3VtZWQuXFxuXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBUcmFuc2Zvcm07XFxuXFxudmFyIF9yZXF1aXJlJGNvZGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXFxuICAgIEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLFxcbiAgICBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7XFxuXFxudmFyIER1cGxleCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcblxcbl9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIikoVHJhbnNmb3JtLCBEdXBsZXgpO1xcblxcbmZ1bmN0aW9uIGFmdGVyVHJhbnNmb3JtKGVyLCBkYXRhKSB7XFxuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcXG4gIHRzLnRyYW5zZm9ybWluZyA9IGZhbHNlO1xcbiAgdmFyIGNiID0gdHMud3JpdGVjYjtcXG5cXG4gIGlmIChjYiA9PT0gbnVsbCkge1xcbiAgICByZXR1cm4gdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFUlJfTVVMVElQTEVfQ0FMTEJBQ0soKSk7XFxuICB9XFxuXFxuICB0cy53cml0ZWNodW5rID0gbnVsbDtcXG4gIHRzLndyaXRlY2IgPSBudWxsO1xcbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXFxuICAgIHRoaXMucHVzaChkYXRhKTtcXG4gIGNiKGVyKTtcXG4gIHZhciBycyA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICBycy5yZWFkaW5nID0gZmFsc2U7XFxuXFxuICBpZiAocnMubmVlZFJlYWRhYmxlIHx8IHJzLmxlbmd0aCA8IHJzLmhpZ2hXYXRlck1hcmspIHtcXG4gICAgdGhpcy5fcmVhZChycy5oaWdoV2F0ZXJNYXJrKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gVHJhbnNmb3JtKG9wdGlvbnMpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBUcmFuc2Zvcm0pKSByZXR1cm4gbmV3IFRyYW5zZm9ybShvcHRpb25zKTtcXG4gIER1cGxleC5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUgPSB7XFxuICAgIGFmdGVyVHJhbnNmb3JtOiBhZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLFxcbiAgICBuZWVkVHJhbnNmb3JtOiBmYWxzZSxcXG4gICAgdHJhbnNmb3JtaW5nOiBmYWxzZSxcXG4gICAgd3JpdGVjYjogbnVsbCxcXG4gICAgd3JpdGVjaHVuazogbnVsbCxcXG4gICAgd3JpdGVlbmNvZGluZzogbnVsbFxcbiAgfTsgLy8gc3RhcnQgb3V0IGFza2luZyBmb3IgYSByZWFkYWJsZSBldmVudCBvbmNlIGRhdGEgaXMgdHJhbnNmb3JtZWQuXFxuXFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7IC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xcbiAgLy8gdGhhdCBSZWFkYWJsZSB3YW50cyBiZWZvcmUgdGhlIGZpcnN0IF9yZWFkIGNhbGwsIHNvIHVuc2V0IHRoZVxcbiAgLy8gc3luYyBndWFyZCBmbGFnLlxcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmZsdXNoID09PSAnZnVuY3Rpb24nKSB0aGlzLl9mbHVzaCA9IG9wdGlvbnMuZmx1c2g7XFxuICB9IC8vIFdoZW4gdGhlIHdyaXRhYmxlIHNpZGUgZmluaXNoZXMsIHRoZW4gZmx1c2ggb3V0IGFueXRoaW5nIHJlbWFpbmluZy5cXG5cXG5cXG4gIHRoaXMub24oJ3ByZWZpbmlzaCcsIHByZWZpbmlzaCk7XFxufVxcblxcbmZ1bmN0aW9uIHByZWZpbmlzaCgpIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICBpZiAodHlwZW9mIHRoaXMuX2ZsdXNoID09PSAnZnVuY3Rpb24nICYmICF0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCkge1xcbiAgICB0aGlzLl9mbHVzaChmdW5jdGlvbiAoZXIsIGRhdGEpIHtcXG4gICAgICBkb25lKF90aGlzLCBlciwgZGF0YSk7XFxuICAgIH0pO1xcbiAgfSBlbHNlIHtcXG4gICAgZG9uZSh0aGlzLCBudWxsLCBudWxsKTtcXG4gIH1cXG59XFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybSA9IGZhbHNlO1xcbiAgcmV0dXJuIER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsIGNodW5rLCBlbmNvZGluZyk7XFxufTsgLy8gVGhpcyBpcyB0aGUgcGFydCB3aGVyZSB5b3UgZG8gc3R1ZmYhXFxuLy8gb3ZlcnJpZGUgdGhpcyBmdW5jdGlvbiBpbiBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxcbi8vICdjaHVuaycgaXMgYW4gaW5wdXQgY2h1bmsuXFxuLy9cXG4vLyBDYWxsIGBwdXNoKG5ld0NodW5rKWAgdG8gcGFzcyBhbG9uZyB0cmFuc2Zvcm1lZCBvdXRwdXRcXG4vLyB0byB0aGUgcmVhZGFibGUgc2lkZS4gIFlvdSBtYXkgY2FsbCAncHVzaCcgemVybyBvciBtb3JlIHRpbWVzLlxcbi8vXFxuLy8gQ2FsbCBgY2IoZXJyKWAgd2hlbiB5b3UgYXJlIGRvbmUgd2l0aCB0aGlzIGNodW5rLiAgSWYgeW91IHBhc3NcXG4vLyBhbiBlcnJvciwgdGhlbiB0aGF0J2xsIHB1dCB0aGUgaHVydCBvbiB0aGUgd2hvbGUgb3BlcmF0aW9uLiAgSWYgeW91XFxuLy8gbmV2ZXIgY2FsbCBjYigpLCB0aGVuIHlvdSdsbCBuZXZlciBnZXQgYW5vdGhlciBjaHVuay5cXG5cXG5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgY2IobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKCdfdHJhbnNmb3JtKCknKSk7XFxufTtcXG5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl93cml0ZSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcXG4gIHRzLndyaXRlY2IgPSBjYjtcXG4gIHRzLndyaXRlY2h1bmsgPSBjaHVuaztcXG4gIHRzLndyaXRlZW5jb2RpbmcgPSBlbmNvZGluZztcXG5cXG4gIGlmICghdHMudHJhbnNmb3JtaW5nKSB7XFxuICAgIHZhciBycyA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICAgIGlmICh0cy5uZWVkVHJhbnNmb3JtIHx8IHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xcbiAgfVxcbn07IC8vIERvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIGFyZ3MgYXJlIGhlcmUuXFxuLy8gX3RyYW5zZm9ybSBkb2VzIGFsbCB0aGUgd29yay5cXG4vLyBUaGF0IHdlIGdvdCBoZXJlIG1lYW5zIHRoYXQgdGhlIHJlYWRhYmxlIHNpZGUgd2FudHMgbW9yZSBkYXRhLlxcblxcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAobikge1xcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XFxuXFxuICBpZiAodHMud3JpdGVjaHVuayAhPT0gbnVsbCAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XFxuICAgIHRzLnRyYW5zZm9ybWluZyA9IHRydWU7XFxuXFxuICAgIHRoaXMuX3RyYW5zZm9ybSh0cy53cml0ZWNodW5rLCB0cy53cml0ZWVuY29kaW5nLCB0cy5hZnRlclRyYW5zZm9ybSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBtYXJrIHRoYXQgd2UgbmVlZCBhIHRyYW5zZm9ybSwgc28gdGhhdCBhbnkgZGF0YSB0aGF0IGNvbWVzIGluXFxuICAgIC8vIHdpbGwgZ2V0IHByb2Nlc3NlZCwgbm93IHRoYXQgd2UndmUgYXNrZWQgZm9yIGl0LlxcbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcXG4gIH1cXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsIGVyciwgZnVuY3Rpb24gKGVycjIpIHtcXG4gICAgY2IoZXJyMik7XFxuICB9KTtcXG59O1xcblxcbmZ1bmN0aW9uIGRvbmUoc3RyZWFtLCBlciwgZGF0YSkge1xcbiAgaWYgKGVyKSByZXR1cm4gc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXFxuICAgIHN0cmVhbS5wdXNoKGRhdGEpOyAvLyBUT0RPKEJyaWRnZUFSKTogV3JpdGUgYSB0ZXN0IGZvciB0aGVzZSB0d28gZXJyb3IgY2FzZXNcXG4gIC8vIGlmIHRoZXJlJ3Mgbm90aGluZyBpbiB0aGUgd3JpdGUgYnVmZmVyLCB0aGVuIHRoYXQgbWVhbnNcXG4gIC8vIHRoYXQgbm90aGluZyBtb3JlIHdpbGwgZXZlciBiZSBwcm92aWRlZFxcblxcbiAgaWYgKHN0cmVhbS5fd3JpdGFibGVTdGF0ZS5sZW5ndGgpIHRocm93IG5ldyBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAoKTtcXG4gIGlmIChzdHJlYW0uX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZykgdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcoKTtcXG4gIHJldHVybiBzdHJlYW0ucHVzaChudWxsKTtcXG59Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOTBjbUZ1YzJadmNtMHVhbk0vTVdSalppSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3d1EwRkJNRU1zV1VGQldUdEJRVU4wUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEWVRzN1FVRkZZanM3UVVGRlFTeHhRa0ZCY1VJc2JVSkJRVThzUTBGQlF5d3dSa0ZCVnp0QlFVTjRRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4aFFVRmhMRzFDUVVGUExFTkJRVU1zY1VkQlFXdENPenRCUVVWMlF5eHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk96dEJRVVZzUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SlFVRkpPenRCUVVWS0xEQkRRVUV3UXp0QlFVTXhRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRVZCUVVVN1FVRkRSanRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2MwSkJRWE5DTzBGQlEzUkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzFpWVhObEwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZEhKaGJuTm1iM0p0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1EyOXdlWEpwWjJoMElFcHZlV1Z1ZEN3Z1NXNWpMaUJoYm1RZ2IzUm9aWElnVG05a1pTQmpiMjUwY21saWRYUnZjbk11WEc0dkwxeHVMeThnVUdWeWJXbHpjMmx2YmlCcGN5Qm9aWEpsWW5rZ1ozSmhiblJsWkN3Z1puSmxaU0J2WmlCamFHRnlaMlVzSUhSdklHRnVlU0J3WlhKemIyNGdiMkowWVdsdWFXNW5JR0ZjYmk4dklHTnZjSGtnYjJZZ2RHaHBjeUJ6YjJaMGQyRnlaU0JoYm1RZ1lYTnpiMk5wWVhSbFpDQmtiMk4xYldWdWRHRjBhVzl1SUdacGJHVnpJQ2gwYUdWY2JpOHZJRndpVTI5bWRIZGhjbVZjSWlrc0lIUnZJR1JsWVd3Z2FXNGdkR2hsSUZOdlpuUjNZWEpsSUhkcGRHaHZkWFFnY21WemRISnBZM1JwYjI0c0lHbHVZMngxWkdsdVoxeHVMeThnZDJsMGFHOTFkQ0JzYVcxcGRHRjBhVzl1SUhSb1pTQnlhV2RvZEhNZ2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJRzFsY21kbExDQndkV0pzYVhOb0xGeHVMeThnWkdsemRISnBZblYwWlN3Z2MzVmliR2xqWlc1elpTd2dZVzVrTDI5eUlITmxiR3dnWTI5d2FXVnpJRzltSUhSb1pTQlRiMlowZDJGeVpTd2dZVzVrSUhSdklIQmxjbTFwZEZ4dUx5OGdjR1Z5YzI5dWN5QjBieUIzYUc5dElIUm9aU0JUYjJaMGQyRnlaU0JwY3lCbWRYSnVhWE5vWldRZ2RHOGdaRzhnYzI4c0lITjFZbXBsWTNRZ2RHOGdkR2hsWEc0dkx5Qm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjenBjYmk4dlhHNHZMeUJVYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU0JoYm1RZ2RHaHBjeUJ3WlhKdGFYTnphVzl1SUc1dmRHbGpaU0J6YUdGc2JDQmlaU0JwYm1Oc2RXUmxaRnh1THk4Z2FXNGdZV3hzSUdOdmNHbGxjeUJ2Y2lCemRXSnpkR0Z1ZEdsaGJDQndiM0owYVc5dWN5QnZaaUIwYUdVZ1UyOW1kSGRoY21VdVhHNHZMMXh1THk4Z1ZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWl3Z1YwbFVTRTlWVkNCWFFWSlNRVTVVV1NCUFJpQkJUbGtnUzBsT1JDd2dSVmhRVWtWVFUxeHVMeThnVDFJZ1NVMVFURWxGUkN3Z1NVNURURlZFU1U1SElFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5QlVTRVVnVjBGU1VrRk9WRWxGVXlCUFJseHVMeThnVFVWU1EwaEJUbFJCUWtsTVNWUlpMQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJUa1FnVGs5T1NVNUdVa2xPUjBWTlJVNVVMaUJKVGx4dUx5OGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVsTWdUMUlnUTA5UVdWSkpSMGhVSUVoUFRFUkZVbE1nUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnUTB4QlNVMHNYRzR2THlCRVFVMUJSMFZUSUU5U0lFOVVTRVZTSUV4SlFVSkpURWxVV1N3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUZSUFVsUWdUMUpjYmk4dklFOVVTRVZTVjBsVFJTd2dRVkpKVTBsT1J5QkdVazlOTENCUFZWUWdUMFlnVDFJZ1NVNGdRMDlPVGtWRFZFbFBUaUJYU1ZSSUlGUklSU0JUVDBaVVYwRlNSU0JQVWlCVVNFVmNiaTh2SUZWVFJTQlBVaUJQVkVoRlVpQkVSVUZNU1U1SFV5QkpUaUJVU0VVZ1UwOUdWRmRCVWtVdVhHNHZMeUJoSUhSeVlXNXpabTl5YlNCemRISmxZVzBnYVhNZ1lTQnlaV0ZrWVdKc1pTOTNjbWwwWVdKc1pTQnpkSEpsWVcwZ2QyaGxjbVVnZVc5MUlHUnZYRzR2THlCemIyMWxkR2hwYm1jZ2QybDBhQ0IwYUdVZ1pHRjBZUzRnSUZOdmJXVjBhVzFsY3lCcGRDZHpJR05oYkd4bFpDQmhJRndpWm1sc2RHVnlYQ0lzWEc0dkx5QmlkWFFnZEdoaGRDZHpJRzV2ZENCaElHZHlaV0YwSUc1aGJXVWdabTl5SUdsMExDQnphVzVqWlNCMGFHRjBJR2x0Y0d4cFpYTWdZU0IwYUdsdVp5QjNhR1Z5WlZ4dUx5OGdjMjl0WlNCaWFYUnpJSEJoYzNNZ2RHaHliM1ZuYUN3Z1lXNWtJRzkwYUdWeWN5QmhjbVVnYzJsdGNHeDVJR2xuYm05eVpXUXVJQ0FvVkdoaGRDQjNiM1ZzWkZ4dUx5OGdZbVVnWVNCMllXeHBaQ0JsZUdGdGNHeGxJRzltSUdFZ2RISmhibk5tYjNKdExDQnZaaUJqYjNWeWMyVXVLVnh1THk5Y2JpOHZJRmRvYVd4bElIUm9aU0J2ZFhSd2RYUWdhWE1nWTJGMWMyRnNiSGtnY21Wc1lYUmxaQ0IwYnlCMGFHVWdhVzV3ZFhRc0lHbDBKM01nYm05MElHRmNiaTh2SUc1bFkyVnpjMkZ5YVd4NUlITjViVzFsZEhKcFl5QnZjaUJ6ZVc1amFISnZibTkxY3lCMGNtRnVjMlp2Y20xaGRHbHZiaTRnSUVadmNpQmxlR0Z0Y0d4bExGeHVMeThnWVNCNmJHbGlJSE4wY21WaGJTQnRhV2RvZENCMFlXdGxJRzExYkhScGNHeGxJSEJzWVdsdUxYUmxlSFFnZDNKcGRHVnpLQ2tzSUdGdVpDQjBhR1Z1WEc0dkx5QmxiV2wwSUdFZ2MybHVaMnhsSUdOdmJYQnlaWE56WldRZ1kyaDFibXNnYzI5dFpTQjBhVzFsSUdsdUlIUm9aU0JtZFhSMWNtVXVYRzR2TDF4dUx5OGdTR1Z5WlNkeklHaHZkeUIwYUdseklIZHZjbXR6T2x4dUx5OWNiaTh2SUZSb1pTQlVjbUZ1YzJadmNtMGdjM1J5WldGdElHaGhjeUJoYkd3Z2RHaGxJR0Z6Y0dWamRITWdiMllnZEdobElISmxZV1JoWW14bElHRnVaQ0IzY21sMFlXSnNaVnh1THk4Z2MzUnlaV0Z0SUdOc1lYTnpaWE11SUNCWGFHVnVJSGx2ZFNCM2NtbDBaU2hqYUhWdWF5a3NJSFJvWVhRZ1kyRnNiSE1nWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1THk4Z2FXNTBaWEp1WVd4c2VTd2dZVzVrSUhKbGRIVnlibk1nWm1Gc2MyVWdhV1lnZEdobGNtVW5jeUJoSUd4dmRDQnZaaUJ3Wlc1a2FXNW5JSGR5YVhSbGMxeHVMeThnWW5WbVptVnlaV1FnZFhBdUlDQlhhR1Z1SUhsdmRTQmpZV3hzSUhKbFlXUW9LU3dnZEdoaGRDQmpZV3hzY3lCZmNtVmhaQ2h1S1NCMWJuUnBiRnh1THk4Z2RHaGxjbVVuY3lCbGJtOTFaMmdnY0dWdVpHbHVaeUJ5WldGa1lXSnNaU0JrWVhSaElHSjFabVpsY21Wa0lIVndMbHh1THk5Y2JpOHZJRWx1SUdFZ2RISmhibk5tYjNKdElITjBjbVZoYlN3Z2RHaGxJSGR5YVhSMFpXNGdaR0YwWVNCcGN5QndiR0ZqWldRZ2FXNGdZU0JpZFdabVpYSXVJQ0JYYUdWdVhHNHZMeUJmY21WaFpDaHVLU0JwY3lCallXeHNaV1FzSUdsMElIUnlZVzV6Wm05eWJYTWdkR2hsSUhGMVpYVmxaQ0IxY0NCa1lYUmhMQ0JqWVd4c2FXNW5JSFJvWlZ4dUx5OGdZblZtWm1WeVpXUWdYM2R5YVhSbElHTmlKM01nWVhNZ2FYUWdZMjl1YzNWdFpYTWdZMmgxYm10ekxpQWdTV1lnWTI5dWMzVnRhVzVuSUdFZ2MybHVaMnhsWEc0dkx5QjNjbWwwZEdWdUlHTm9kVzVySUhkdmRXeGtJSEpsYzNWc2RDQnBiaUJ0ZFd4MGFYQnNaU0J2ZFhSd2RYUWdZMmgxYm10ekxDQjBhR1Z1SUhSb1pTQm1hWEp6ZEZ4dUx5OGdiM1YwY0hWMGRHVmtJR0pwZENCallXeHNjeUIwYUdVZ2NtVmhaR05pTENCaGJtUWdjM1ZpYzJWeGRXVnVkQ0JqYUhWdWEzTWdhblZ6ZENCbmJ5QnBiblJ2WEc0dkx5QjBhR1VnY21WaFpDQmlkV1ptWlhJc0lHRnVaQ0IzYVd4c0lHTmhkWE5sSUdsMElIUnZJR1Z0YVhRZ0ozSmxZV1JoWW14bEp5QnBaaUJ1WldObGMzTmhjbmt1WEc0dkwxeHVMeThnVkdocGN5QjNZWGtzSUdKaFkyc3RjSEpsYzNOMWNtVWdhWE1nWVdOMGRXRnNiSGtnWkdWMFpYSnRhVzVsWkNCaWVTQjBhR1VnY21WaFpHbHVaeUJ6YVdSbExGeHVMeThnYzJsdVkyVWdYM0psWVdRZ2FHRnpJSFJ2SUdKbElHTmhiR3hsWkNCMGJ5QnpkR0Z5ZENCd2NtOWpaWE56YVc1bklHRWdibVYzSUdOb2RXNXJMaUFnU0c5M1pYWmxjaXhjYmk4dklHRWdjR0YwYUc5c2IyZHBZMkZzSUdsdVpteGhkR1VnZEhsd1pTQnZaaUIwY21GdWMyWnZjbTBnWTJGdUlHTmhkWE5sSUdWNFkyVnpjMmwyWlNCaWRXWm1aWEpwYm1kY2JpOHZJR2hsY21VdUlDQkdiM0lnWlhoaGJYQnNaU3dnYVcxaFoybHVaU0JoSUhOMGNtVmhiU0IzYUdWeVpTQmxkbVZ5ZVNCaWVYUmxJRzltSUdsdWNIVjBJR2x6WEc0dkx5QnBiblJsY25CeVpYUmxaQ0JoY3lCaGJpQnBiblJsWjJWeUlHWnliMjBnTUMweU5UVXNJR0Z1WkNCMGFHVnVJSEpsYzNWc2RITWdhVzRnZEdoaGRDQnRZVzU1WEc0dkx5QmllWFJsY3lCdlppQnZkWFJ3ZFhRdUlDQlhjbWwwYVc1bklIUm9aU0EwSUdKNWRHVnpJSHRtWml4bVppeG1aaXhtWm4wZ2QyOTFiR1FnY21WemRXeDBJR2x1WEc0dkx5QXhhMklnYjJZZ1pHRjBZU0JpWldsdVp5QnZkWFJ3ZFhRdUlDQkpiaUIwYUdseklHTmhjMlVzSUhsdmRTQmpiM1ZzWkNCM2NtbDBaU0JoSUhabGNua2djMjFoYkd4Y2JpOHZJR0Z0YjNWdWRDQnZaaUJwYm5CMWRDd2dZVzVrSUdWdVpDQjFjQ0IzYVhSb0lHRWdkbVZ5ZVNCc1lYSm5aU0JoYlc5MWJuUWdiMllnYjNWMGNIVjBMaUFnU1c1Y2JpOHZJSE4xWTJnZ1lTQndZWFJvYjJ4dloybGpZV3dnYVc1bWJHRjBhVzVuSUcxbFkyaGhibWx6YlN3Z2RHaGxjbVVuWkNCaVpTQnVieUIzWVhrZ2RHOGdkR1ZzYkZ4dUx5OGdkR2hsSUhONWMzUmxiU0IwYnlCemRHOXdJR1J2YVc1bklIUm9aU0IwY21GdWMyWnZjbTB1SUNCQklITnBibWRzWlNBMFRVSWdkM0pwZEdVZ1kyOTFiR1JjYmk4dklHTmhkWE5sSUhSb1pTQnplWE4wWlcwZ2RHOGdjblZ1SUc5MWRDQnZaaUJ0WlcxdmNua3VYRzR2TDF4dUx5OGdTRzkzWlhabGNpd2daWFpsYmlCcGJpQnpkV05vSUdFZ2NHRjBhRzlzYjJkcFkyRnNJR05oYzJVc0lHOXViSGtnWVNCemFXNW5iR1VnZDNKcGRIUmxiaUJqYUhWdWExeHVMeThnZDI5MWJHUWdZbVVnWTI5dWMzVnRaV1FzSUdGdVpDQjBhR1Z1SUhSb1pTQnlaWE4wSUhkdmRXeGtJSGRoYVhRZ0tIVnVMWFJ5WVc1elptOXliV1ZrS1NCMWJuUnBiRnh1THk4Z2RHaGxJSEpsYzNWc2RITWdiMllnZEdobElIQnlaWFpwYjNWeklIUnlZVzV6Wm05eWJXVmtJR05vZFc1cklIZGxjbVVnWTI5dWMzVnRaV1F1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVkhKaGJuTm1iM0p0TzF4dVhHNTJZWElnWDNKbGNYVnBjbVVrWTI5a1pYTWdQU0J5WlhGMWFYSmxLQ2N1TGk5bGNuSnZjbk1uS1M1amIyUmxjeXhjYmlBZ0lDQkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDQTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUxGeHVJQ0FnSUVWU1VsOU5WVXhVU1ZCTVJWOURRVXhNUWtGRFN5QTlJRjl5WlhGMWFYSmxKR052WkdWekxrVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeXhjYmlBZ0lDQkZVbEpmVkZKQlRsTkdUMUpOWDBGTVVrVkJSRmxmVkZKQlRsTkdUMUpOU1U1SElEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMVJTUVU1VFJrOVNUVjlCVEZKRlFVUlpYMVJTUVU1VFJrOVNUVWxPUnl4Y2JpQWdJQ0JGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekFnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlZGSkJUbE5HVDFKTlgxZEpWRWhmVEVWT1IxUklYekE3WEc1Y2JuWmhjaUJFZFhCc1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmWkhWd2JHVjRKeWs3WEc1Y2JuSmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5a29WSEpoYm5ObWIzSnRMQ0JFZFhCc1pYZ3BPMXh1WEc1bWRXNWpkR2x2YmlCaFpuUmxjbFJ5WVc1elptOXliU2hsY2l3Z1pHRjBZU2tnZTF4dUlDQjJZWElnZEhNZ1BTQjBhR2x6TGw5MGNtRnVjMlp2Y20xVGRHRjBaVHRjYmlBZ2RITXVkSEpoYm5ObWIzSnRhVzVuSUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJqWWlBOUlIUnpMbmR5YVhSbFkySTdYRzVjYmlBZ2FXWWdLR05pSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpXMXBkQ2duWlhKeWIzSW5MQ0J1WlhjZ1JWSlNYMDFWVEZSSlVFeEZYME5CVEV4Q1FVTkxLQ2twTzF4dUlDQjlYRzVjYmlBZ2RITXVkM0pwZEdWamFIVnVheUE5SUc1MWJHdzdYRzRnSUhSekxuZHlhWFJsWTJJZ1BTQnVkV3hzTzF4dUlDQnBaaUFvWkdGMFlTQWhQU0J1ZFd4c0tTQXZMeUJ6YVc1bmJHVWdaWEYxWVd4eklHTm9aV05ySUdadmNpQmliM1JvSUdCdWRXeHNZQ0JoYm1RZ1lIVnVaR1ZtYVc1bFpHQmNiaUFnSUNCMGFHbHpMbkIxYzJnb1pHRjBZU2s3WEc0Z0lHTmlLR1Z5S1R0Y2JpQWdkbUZ5SUhKeklEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2NuTXVjbVZoWkdsdVp5QTlJR1poYkhObE8xeHVYRzRnSUdsbUlDaHljeTV1WldWa1VtVmhaR0ZpYkdVZ2ZId2djbk11YkdWdVozUm9JRHdnY25NdWFHbG5hRmRoZEdWeVRXRnlheWtnZTF4dUlDQWdJSFJvYVhNdVgzSmxZV1FvY25NdWFHbG5hRmRoZEdWeVRXRnlheWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ZISmhibk5tYjNKdEtHOXdkR2x2Ym5NcElIdGNiaUFnYVdZZ0tDRW9kR2hwY3lCcGJuTjBZVzVqWlc5bUlGUnlZVzV6Wm05eWJTa3BJSEpsZEhWeWJpQnVaWGNnVkhKaGJuTm1iM0p0S0c5d2RHbHZibk1wTzF4dUlDQkVkWEJzWlhndVkyRnNiQ2gwYUdsekxDQnZjSFJwYjI1ektUdGNiaUFnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVZ1BTQjdYRzRnSUNBZ1lXWjBaWEpVY21GdWMyWnZjbTA2SUdGbWRHVnlWSEpoYm5ObWIzSnRMbUpwYm1Rb2RHaHBjeWtzWEc0Z0lDQWdibVZsWkZSeVlXNXpabTl5YlRvZ1ptRnNjMlVzWEc0Z0lDQWdkSEpoYm5ObWIzSnRhVzVuT2lCbVlXeHpaU3hjYmlBZ0lDQjNjbWwwWldOaU9pQnVkV3hzTEZ4dUlDQWdJSGR5YVhSbFkyaDFibXM2SUc1MWJHd3NYRzRnSUNBZ2QzSnBkR1ZsYm1OdlpHbHVaem9nYm5Wc2JGeHVJQ0I5T3lBdkx5QnpkR0Z5ZENCdmRYUWdZWE5yYVc1bklHWnZjaUJoSUhKbFlXUmhZbXhsSUdWMlpXNTBJRzl1WTJVZ1pHRjBZU0JwY3lCMGNtRnVjMlp2Y20xbFpDNWNibHh1SUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdJQzh2SUhkbElHaGhkbVVnYVcxd2JHVnRaVzUwWldRZ2RHaGxJRjl5WldGa0lHMWxkR2h2WkN3Z1lXNWtJR1J2Ym1VZ2RHaGxJRzkwYUdWeUlIUm9hVzVuYzF4dUlDQXZMeUIwYUdGMElGSmxZV1JoWW14bElIZGhiblJ6SUdKbFptOXlaU0IwYUdVZ1ptbHljM1FnWDNKbFlXUWdZMkZzYkN3Z2MyOGdkVzV6WlhRZ2RHaGxYRzRnSUM4dklITjVibU1nWjNWaGNtUWdabXhoWnk1Y2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5ONWJtTWdQU0JtWVd4elpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NTBjbUZ1YzJadmNtMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNSeVlXNXpabTl5YlNBOUlHOXdkR2x2Ym5NdWRISmhibk5tYjNKdE8xeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3k1bWJIVnphQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dkR2hwY3k1ZlpteDFjMmdnUFNCdmNIUnBiMjV6TG1ac2RYTm9PMXh1SUNCOUlDOHZJRmRvWlc0Z2RHaGxJSGR5YVhSaFlteGxJSE5wWkdVZ1ptbHVhWE5vWlhNc0lIUm9aVzRnWm14MWMyZ2diM1YwSUdGdWVYUm9hVzVuSUhKbGJXRnBibWx1Wnk1Y2JseHVYRzRnSUhSb2FYTXViMjRvSjNCeVpXWnBibWx6YUNjc0lIQnlaV1pwYm1semFDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQnlaV1pwYm1semFDZ3BJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUhSb2FYTXVYMlpzZFhOb0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJSFJvYVhNdVgyWnNkWE5vS0daMWJtTjBhVzl1SUNobGNpd2daR0YwWVNrZ2UxeHVJQ0FnSUNBZ1pHOXVaU2hmZEdocGN5d2daWElzSUdSaGRHRXBPMXh1SUNBZ0lIMHBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1J2Ym1Vb2RHaHBjeXdnYm5Wc2JDd2diblZzYkNrN1hHNGdJSDFjYm4xY2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzV3ZFhOb0lEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5a2dlMXh1SUNCMGFHbHpMbDkwY21GdWMyWnZjbTFUZEdGMFpTNXVaV1ZrVkhKaGJuTm1iM0p0SUQwZ1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTG5CMWMyZ3VZMkZzYkNoMGFHbHpMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3BPMXh1ZlRzZ0x5OGdWR2hwY3lCcGN5QjBhR1VnY0dGeWRDQjNhR1Z5WlNCNWIzVWdaRzhnYzNSMVptWWhYRzR2THlCdmRtVnljbWxrWlNCMGFHbHpJR1oxYm1OMGFXOXVJR2x1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR05zWVhOelpYTXVYRzR2THlBblkyaDFibXNuSUdseklHRnVJR2x1Y0hWMElHTm9kVzVyTGx4dUx5OWNiaTh2SUVOaGJHd2dZSEIxYzJnb2JtVjNRMmgxYm1zcFlDQjBieUJ3WVhOeklHRnNiMjVuSUhSeVlXNXpabTl5YldWa0lHOTFkSEIxZEZ4dUx5OGdkRzhnZEdobElISmxZV1JoWW14bElITnBaR1V1SUNCWmIzVWdiV0Y1SUdOaGJHd2dKM0IxYzJnbklIcGxjbThnYjNJZ2JXOXlaU0IwYVcxbGN5NWNiaTh2WEc0dkx5QkRZV3hzSUdCallpaGxjbklwWUNCM2FHVnVJSGx2ZFNCaGNtVWdaRzl1WlNCM2FYUm9JSFJvYVhNZ1kyaDFibXN1SUNCSlppQjViM1VnY0dGemMxeHVMeThnWVc0Z1pYSnliM0lzSUhSb1pXNGdkR2hoZENkc2JDQndkWFFnZEdobElHaDFjblFnYjI0Z2RHaGxJSGRvYjJ4bElHOXdaWEpoZEdsdmJpNGdJRWxtSUhsdmRWeHVMeThnYm1WMlpYSWdZMkZzYkNCallpZ3BMQ0IwYUdWdUlIbHZkU2RzYkNCdVpYWmxjaUJuWlhRZ1lXNXZkR2hsY2lCamFIVnVheTVjYmx4dVhHNVVjbUZ1YzJadmNtMHVjSEp2ZEc5MGVYQmxMbDkwY21GdWMyWnZjbTBnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCallpaHVaWGNnUlZKU1gwMUZWRWhQUkY5T1QxUmZTVTFRVEVWTlJVNVVSVVFvSjE5MGNtRnVjMlp2Y20wb0tTY3BLVHRjYm4wN1hHNWNibFJ5WVc1elptOXliUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnZG1GeUlIUnpJRDBnZEdocGN5NWZkSEpoYm5ObWIzSnRVM1JoZEdVN1hHNGdJSFJ6TG5keWFYUmxZMklnUFNCallqdGNiaUFnZEhNdWQzSnBkR1ZqYUhWdWF5QTlJR05vZFc1ck8xeHVJQ0IwY3k1M2NtbDBaV1Z1WTI5a2FXNW5JRDBnWlc1amIyUnBibWM3WEc1Y2JpQWdhV1lnS0NGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IyWVhJZ2NuTWdQU0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTzF4dUlDQWdJR2xtSUNoMGN5NXVaV1ZrVkhKaGJuTm1iM0p0SUh4OElISnpMbTVsWldSU1pXRmtZV0pzWlNCOGZDQnljeTVzWlc1bmRHZ2dQQ0J5Y3k1b2FXZG9WMkYwWlhKTllYSnJLU0IwYUdsekxsOXlaV0ZrS0hKekxtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dUlDQjlYRzU5T3lBdkx5QkViMlZ6YmlkMElHMWhkSFJsY2lCM2FHRjBJSFJvWlNCaGNtZHpJR0Z5WlNCb1pYSmxMbHh1THk4Z1gzUnlZVzV6Wm05eWJTQmtiMlZ6SUdGc2JDQjBhR1VnZDI5eWF5NWNiaTh2SUZSb1lYUWdkMlVnWjI5MElHaGxjbVVnYldWaGJuTWdkR2hoZENCMGFHVWdjbVZoWkdGaWJHVWdjMmxrWlNCM1lXNTBjeUJ0YjNKbElHUmhkR0V1WEc1Y2JseHVWSEpoYm5ObWIzSnRMbkJ5YjNSdmRIbHdaUzVmY21WaFpDQTlJR1oxYm1OMGFXOXVJQ2h1S1NCN1hHNGdJSFpoY2lCMGN5QTlJSFJvYVhNdVgzUnlZVzV6Wm05eWJWTjBZWFJsTzF4dVhHNGdJR2xtSUNoMGN5NTNjbWwwWldOb2RXNXJJQ0U5UFNCdWRXeHNJQ1ltSUNGMGN5NTBjbUZ1YzJadmNtMXBibWNwSUh0Y2JpQWdJQ0IwY3k1MGNtRnVjMlp2Y20xcGJtY2dQU0IwY25WbE8xeHVYRzRnSUNBZ2RHaHBjeTVmZEhKaGJuTm1iM0p0S0hSekxuZHlhWFJsWTJoMWJtc3NJSFJ6TG5keWFYUmxaVzVqYjJScGJtY3NJSFJ6TG1GbWRHVnlWSEpoYm5ObWIzSnRLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCdFlYSnJJSFJvWVhRZ2QyVWdibVZsWkNCaElIUnlZVzV6Wm05eWJTd2djMjhnZEdoaGRDQmhibmtnWkdGMFlTQjBhR0YwSUdOdmJXVnpJR2x1WEc0Z0lDQWdMeThnZDJsc2JDQm5aWFFnY0hKdlkyVnpjMlZrTENCdWIzY2dkR2hoZENCM1pTZDJaU0JoYzJ0bFpDQm1iM0lnYVhRdVhHNGdJQ0FnZEhNdWJtVmxaRlJ5WVc1elptOXliU0E5SUhSeWRXVTdYRzRnSUgxY2JuMDdYRzVjYmxSeVlXNXpabTl5YlM1d2NtOTBiM1I1Y0dVdVgyUmxjM1J5YjNrZ1BTQm1kVzVqZEdsdmJpQW9aWEp5TENCallpa2dlMXh1SUNCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTGw5a1pYTjBjbTk1TG1OaGJHd29kR2hwY3l3Z1pYSnlMQ0JtZFc1amRHbHZiaUFvWlhKeU1pa2dlMXh1SUNBZ0lHTmlLR1Z5Y2pJcE8xeHVJQ0I5S1R0Y2JuMDdYRzVjYm1aMWJtTjBhVzl1SUdSdmJtVW9jM1J5WldGdExDQmxjaXdnWkdGMFlTa2dlMXh1SUNCcFppQW9aWElwSUhKbGRIVnliaUJ6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUdsbUlDaGtZWFJoSUNFOUlHNTFiR3dwSUM4dklITnBibWRzWlNCbGNYVmhiSE1nWTJobFkyc2dabTl5SUdKdmRHZ2dZRzUxYkd4Z0lHRnVaQ0JnZFc1a1pXWnBibVZrWUZ4dUlDQWdJSE4wY21WaGJTNXdkWE5vS0dSaGRHRXBPeUF2THlCVVQwUlBLRUp5YVdSblpVRlNLVG9nVjNKcGRHVWdZU0IwWlhOMElHWnZjaUIwYUdWelpTQjBkMjhnWlhKeWIzSWdZMkZ6WlhOY2JpQWdMeThnYVdZZ2RHaGxjbVVuY3lCdWIzUm9hVzVuSUdsdUlIUm9aU0IzY21sMFpTQmlkV1ptWlhJc0lIUm9aVzRnZEdoaGRDQnRaV0Z1YzF4dUlDQXZMeUIwYUdGMElHNXZkR2hwYm1jZ2JXOXlaU0IzYVd4c0lHVjJaWElnWW1VZ2NISnZkbWxrWldSY2JseHVJQ0JwWmlBb2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxMbXhsYm1kMGFDa2dkR2h5YjNjZ2JtVjNJRVZTVWw5VVVrRk9VMFpQVWsxZlYwbFVTRjlNUlU1SFZFaGZNQ2dwTzF4dUlDQnBaaUFvYzNSeVpXRnRMbDkwY21GdWMyWnZjbTFUZEdGMFpTNTBjbUZ1YzJadmNtMXBibWNwSUhSb2NtOTNJRzVsZHlCRlVsSmZWRkpCVGxOR1QxSk5YMEZNVWtWQlJGbGZWRkpCVGxOR1QxSk5TVTVIS0NrN1hHNGdJSEpsZEhWeWJpQnpkSEpsWVcwdWNIVnphQ2h1ZFd4c0tUdGNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykgey8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcbi8vIEEgYml0IHNpbXBsZXIgdGhhbiByZWFkYWJsZSBzdHJlYW1zLlxcbi8vIEltcGxlbWVudCBhbiBhc3luYyAuX3dyaXRlKGNodW5rLCBlbmNvZGluZywgY2IpLCBhbmQgaXQnbGwgaGFuZGxlIGFsbFxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XFxuLyogPHJlcGxhY2VtZW50PiAqL1xcblxcbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHRoaXMuY2h1bmsgPSBjaHVuaztcXG4gIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZztcXG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcXG4gIHRoaXMubmV4dCA9IG51bGw7XFxufSAvLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3RcXG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cXG5cXG5cXG5mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KHN0YXRlKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdGhpcy5uZXh0ID0gbnVsbDtcXG4gIHRoaXMuZW50cnkgPSBudWxsO1xcblxcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XFxuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XFxuICB9O1xcbn1cXG4vKiA8L3JlcGxhY2VtZW50PiAqL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIER1cGxleDtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5Xcml0YWJsZS5Xcml0YWJsZVN0YXRlID0gV3JpdGFibGVTdGF0ZTtcXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBpbnRlcm5hbFV0aWwgPSB7XFxuICBkZXByZWNhdGU6IF9fd2VicGFja19yZXF1aXJlX18oLyohIHV0aWwtZGVwcmVjYXRlICovIFxcXCIuL25vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzXFxcIilcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbS1icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcblxcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XFxuXFxuZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuaykge1xcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcXG59XFxuXFxuZnVuY3Rpb24gX2lzVWludDhBcnJheShvYmopIHtcXG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xcbn1cXG5cXG52YXIgZGVzdHJveUltcGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qc1xcXCIpO1xcblxcbnZhciBfcmVxdWlyZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcXFwiKSxcXG4gICAgZ2V0SGlnaFdhdGVyTWFyayA9IF9yZXF1aXJlLmdldEhpZ2hXYXRlck1hcms7XFxuXFxudmFyIF9yZXF1aXJlJGNvZGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vZXJyb3JzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qc1xcXCIpLmNvZGVzLFxcbiAgICBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLFxcbiAgICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxcbiAgICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXFxuICAgIEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELFxcbiAgICBFUlJfU1RSRUFNX05VTExfVkFMVUVTID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxcXG4gICAgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxcXG4gICAgRVJSX1VOS05PV05fRU5DT0RJTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORztcXG5cXG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcXG5cXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpKFdyaXRhYmxlLCBTdHJlYW0pO1xcblxcbmZ1bmN0aW9uIG5vcCgpIHt9XFxuXFxuZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0sIGlzRHVwbGV4KSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0sXFxuICAvLyBlLmcuIG9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlIHZzLiBvcHRpb25zLndyaXRhYmxlT2JqZWN0TW9kZSwgZXRjLlxcblxcbiAgaWYgKHR5cGVvZiBpc0R1cGxleCAhPT0gJ2Jvb2xlYW4nKSBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDsgLy8gb2JqZWN0IHN0cmVhbSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoaXMgc3RyZWFtXFxuICAvLyBjb250YWlucyBidWZmZXJzIG9yIG9iamVjdHMuXFxuXFxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy53cml0YWJsZU9iamVjdE1vZGU7IC8vIHRoZSBwb2ludCBhdCB3aGljaCB3cml0ZSgpIHN0YXJ0cyByZXR1cm5pbmcgZmFsc2VcXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgdGhhdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIGlmXFxuICAvLyB0aGUgZW50aXJlIGJ1ZmZlciBpcyBub3QgZmx1c2hlZCBpbW1lZGlhdGVseSBvbiB3cml0ZSgpXFxuXFxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSBnZXRIaWdoV2F0ZXJNYXJrKHRoaXMsIG9wdGlvbnMsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCBpc0R1cGxleCk7IC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcXG5cXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTsgLy8gZHJhaW4gZXZlbnQgZmxhZy5cXG5cXG4gIHRoaXMubmVlZERyYWluID0gZmFsc2U7IC8vIGF0IHRoZSBzdGFydCBvZiBjYWxsaW5nIGVuZCgpXFxuXFxuICB0aGlzLmVuZGluZyA9IGZhbHNlOyAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXFxuXFxuICB0aGlzLmVuZGVkID0gZmFsc2U7IC8vIHdoZW4gJ2ZpbmlzaCcgaXMgZW1pdHRlZFxcblxcbiAgdGhpcy5maW5pc2hlZCA9IGZhbHNlOyAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcXG5cXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7IC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xcbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXFxuICAvLyBoYW5kbGluZyBhdCBhIGxvd2VyIGxldmVsLlxcblxcbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTsgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxcbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxcblxcbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7IC8vIG5vdCBhbiBhY3R1YWwgYnVmZmVyIHdlIGtlZXAgdHJhY2sgb2YsIGJ1dCBhIG1lYXN1cmVtZW50XFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXFxuICAvLyBzb2NrZXQgb3IgZmlsZS5cXG5cXG4gIHRoaXMubGVuZ3RoID0gMDsgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cXG5cXG4gIHRoaXMud3JpdGluZyA9IGZhbHNlOyAvLyB3aGVuIHRydWUgYWxsIHdyaXRlcyB3aWxsIGJlIGJ1ZmZlcmVkIHVudGlsIC51bmNvcmsoKSBjYWxsXFxuXFxuICB0aGlzLmNvcmtlZCA9IDA7IC8vIGEgZmxhZyB0byBiZSBhYmxlIHRvIHRlbGwgaWYgdGhlIG9ud3JpdGUgY2IgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LFxcbiAgLy8gb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZSBhbnlcXG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFxcXCJsYXRlclxcXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXFxuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3Qgd3JpdGUgY2FsbC5cXG5cXG4gIHRoaXMuc3luYyA9IHRydWU7IC8vIGEgZmxhZyB0byBrbm93IGlmIHdlJ3JlIHByb2Nlc3NpbmcgcHJldmlvdXNseSBidWZmZXJlZCBpdGVtcywgd2hpY2hcXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cXG5cXG4gIHRoaXMuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlOyAvLyB0aGUgY2FsbGJhY2sgdGhhdCdzIHBhc3NlZCB0byBfd3JpdGUoY2h1bmssY2IpXFxuXFxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcXG4gICAgb253cml0ZShzdHJlYW0sIGVyKTtcXG4gIH07IC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxcblxcblxcbiAgdGhpcy53cml0ZWNiID0gbnVsbDsgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxcblxcbiAgdGhpcy53cml0ZWxlbiA9IDA7XFxuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XFxuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsOyAvLyBudW1iZXIgb2YgcGVuZGluZyB1c2VyLXN1cHBsaWVkIHdyaXRlIGNhbGxiYWNrc1xcbiAgLy8gdGhpcyBtdXN0IGJlIDAgYmVmb3JlICdmaW5pc2gnIGNhbiBiZSBlbWl0dGVkXFxuXFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7IC8vIGVtaXQgcHJlZmluaXNoIGlmIHRoZSBvbmx5IHRoaW5nIHdlJ3JlIHdhaXRpbmcgZm9yIGlzIF93cml0ZSBjYnNcXG4gIC8vIFRoaXMgaXMgcmVsZXZhbnQgZm9yIHN5bmNocm9ub3VzIFRyYW5zZm9ybSBzdHJlYW1zXFxuXFxuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7IC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXFxuXFxuICB0aGlzLmVycm9yRW1pdHRlZCA9IGZhbHNlOyAvLyBTaG91bGQgY2xvc2UgYmUgZW1pdHRlZCBvbiBkZXN0cm95LiBEZWZhdWx0cyB0byB0cnVlLlxcblxcbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7IC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZmluaXNoJyAoYW5kIHBvdGVudGlhbGx5ICdlbmQnKVxcblxcbiAgdGhpcy5hdXRvRGVzdHJveSA9ICEhb3B0aW9ucy5hdXRvRGVzdHJveTsgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcXG5cXG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwOyAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXFxuICAvLyBvbmUgYWxsb2NhdGVkIGFuZCBmcmVlIHRvIHVzZSwgYW5kIHdlIG1haW50YWluIGF0IG1vc3QgdHdvXFxuXFxuICB0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHRoaXMpO1xcbn1cXG5cXG5Xcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXIgPSBmdW5jdGlvbiBnZXRCdWZmZXIoKSB7XFxuICB2YXIgY3VycmVudCA9IHRoaXMuYnVmZmVyZWRSZXF1ZXN0O1xcbiAgdmFyIG91dCA9IFtdO1xcblxcbiAgd2hpbGUgKGN1cnJlbnQpIHtcXG4gICAgb3V0LnB1c2goY3VycmVudCk7XFxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XFxuICB9XFxuXFxuICByZXR1cm4gb3V0O1xcbn07XFxuXFxuKGZ1bmN0aW9uICgpIHtcXG4gIHRyeSB7XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSwgJ2J1ZmZlcicsIHtcXG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gd3JpdGFibGVTdGF0ZUJ1ZmZlckdldHRlcigpIHtcXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1ZmZlcigpO1xcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxcbiAgICB9KTtcXG4gIH0gY2F0Y2ggKF8pIHt9XFxufSkoKTsgLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXFxuLy8gd2hvc2UgcHJvdG90eXBlIGNoYWluIG9ubHkgcG9pbnRzIHRvIFJlYWRhYmxlLlxcblxcblxcbnZhciByZWFsSGFzSW5zdGFuY2U7XFxuXFxuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgcmVhbEhhc0luc3RhbmNlID0gRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV07XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUsIFN5bWJvbC5oYXNJbnN0YW5jZSwge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gdmFsdWUob2JqZWN0KSB7XFxuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xcbiAgICAgIGlmICh0aGlzICE9PSBXcml0YWJsZSkgcmV0dXJuIGZhbHNlO1xcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcXG4gICAgfVxcbiAgfSk7XFxufSBlbHNlIHtcXG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIHJlYWxIYXNJbnN0YW5jZShvYmplY3QpIHtcXG4gICAgcmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIHRoaXM7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7IC8vIFdyaXRhYmxlIGN0b3IgaXMgYXBwbGllZCB0byBEdXBsZXhlcywgdG9vLlxcbiAgLy8gYHJlYWxIYXNJbnN0YW5jZWAgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdXNpbmcgcGxhaW4gYGluc3RhbmNlb2ZgXFxuICAvLyB3b3VsZCByZXR1cm4gZmFsc2UsIGFzIG5vIGBfd3JpdGFibGVTdGF0ZWAgcHJvcGVydHkgaXMgYXR0YWNoZWQuXFxuICAvLyBUcnlpbmcgdG8gdXNlIHRoZSBjdXN0b20gYGluc3RhbmNlb2ZgIGZvciBXcml0YWJsZSBoZXJlIHdpbGwgYWxzbyBicmVhayB0aGVcXG4gIC8vIE5vZGUuanMgTGF6eVRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaGFzIGEgbm9uLXRyaXZpYWwgZ2V0dGVyIGZvclxcbiAgLy8gYF93cml0YWJsZVN0YXRlYCB0aGF0IHdvdWxkIGxlYWQgdG8gaW5maW5pdGUgcmVjdXJzaW9uLlxcbiAgLy8gQ2hlY2tpbmcgZm9yIGEgU3RyZWFtLkR1cGxleCBpbnN0YW5jZSBpcyBmYXN0ZXIgaGVyZSBpbnN0ZWFkIG9mIGluc2lkZVxcbiAgLy8gdGhlIFdyaXRhYmxlU3RhdGUgY29uc3RydWN0b3IsIGF0IGxlYXN0IHdpdGggVjggNi41XFxuXFxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xcbiAgaWYgKCFpc0R1cGxleCAmJiAhcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsIHRoaXMpKSByZXR1cm4gbmV3IFdyaXRhYmxlKG9wdGlvbnMpO1xcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMsIGlzRHVwbGV4KTsgLy8gbGVnYWN5LlxcblxcbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLndyaXRldiA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGV2ID0gb3B0aW9ucy53cml0ZXY7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn0gLy8gT3RoZXJ3aXNlIHBlb3BsZSBjYW4gcGlwZSBXcml0YWJsZSBzdHJlYW1zLCB3aGljaCBpcyBqdXN0IHdyb25nLlxcblxcblxcbldyaXRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKCkge1xcbiAgZXJyb3JPckRlc3Ryb3kodGhpcywgbmV3IEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUoKSk7XFxufTtcXG5cXG5mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKHN0cmVhbSwgY2IpIHtcXG4gIHZhciBlciA9IG5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCgpOyAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxcblxcbiAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxufSAvLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXFxuLy8gbW9kZSB0aGUgc3RyZWFtIGlzIGluLiBDdXJyZW50bHkgdGhpcyBtZWFucyB0aGF0IGBudWxsYCBpcyBuZXZlciBhY2NlcHRlZFxcbi8vIGFuZCB1bmRlZmluZWQvbm9uLXN0cmluZyB2YWx1ZXMgYXJlIG9ubHkgYWxsb3dlZCBpbiBvYmplY3QgbW9kZS5cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xcbiAgdmFyIGVyO1xcblxcbiAgaWYgKGNodW5rID09PSBudWxsKSB7XFxuICAgIGVyID0gbmV3IEVSUl9TVFJFQU1fTlVMTF9WQUxVRVMoKTtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xcbiAgICBlciA9IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnY2h1bmsnLCBbJ3N0cmluZycsICdCdWZmZXInXSwgY2h1bmspO1xcbiAgfVxcblxcbiAgaWYgKGVyKSB7XFxuICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXIpO1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcXG4gIHZhciByZXQgPSBmYWxzZTtcXG5cXG4gIHZhciBpc0J1ZiA9ICFzdGF0ZS5vYmplY3RNb2RlICYmIF9pc1VpbnQ4QXJyYXkoY2h1bmspO1xcblxcbiAgaWYgKGlzQnVmICYmICFCdWZmZXIuaXNCdWZmZXIoY2h1bmspKSB7XFxuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChpc0J1ZikgZW5jb2RpbmcgPSAnYnVmZmVyJztlbHNlIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgY2IgPSBub3A7XFxuICBpZiAoc3RhdGUuZW5kaW5nKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrO1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLnVuY29yayA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZC0tO1xcbiAgICBpZiAoIXN0YXRlLndyaXRpbmcgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG59O1xcblxcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcXG4gIC8vIG5vZGU6OlBhcnNlRW5jb2RpbmcoKSByZXF1aXJlcyBsb3dlciBjYXNlLlxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcXG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlbmNvZGluZyk7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XFxuICB9XFxufSk7XFxuXFxuZnVuY3Rpb24gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZykge1xcbiAgaWYgKCFzdGF0ZS5vYmplY3RNb2RlICYmIHN0YXRlLmRlY29kZVN0cmluZ3MgIT09IGZhbHNlICYmIHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcXG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGNodW5rO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xcbiAgfVxcbn0pOyAvLyBpZiB3ZSdyZSBhbHJlYWR5IHdyaXRpbmcgc29tZXRoaW5nLCB0aGVuIGp1c3QgcHV0IHRoaXNcXG4vLyBpbiB0aGUgcXVldWUsIGFuZCB3YWl0IG91ciB0dXJuLiAgT3RoZXJ3aXNlLCBjYWxsIF93cml0ZVxcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXFxuXFxuZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihzdHJlYW0sIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgaWYgKCFpc0J1Zikge1xcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcXG5cXG4gICAgaWYgKGNodW5rICE9PSBuZXdDaHVuaykge1xcbiAgICAgIGlzQnVmID0gdHJ1ZTtcXG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xcbiAgICAgIGNodW5rID0gbmV3Q2h1bms7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gIHN0YXRlLmxlbmd0aCArPSBsZW47XFxuICB2YXIgcmV0ID0gc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyazsgLy8gd2UgbXVzdCBlbnN1cmUgdGhhdCBwcmV2aW91cyBuZWVkRHJhaW4gd2lsbCBub3QgYmUgcmVzZXQgdG8gZmFsc2UuXFxuXFxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcXG5cXG4gIGlmIChzdGF0ZS53cml0aW5nIHx8IHN0YXRlLmNvcmtlZCkge1xcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSB7XFxuICAgICAgY2h1bms6IGNodW5rLFxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcXG4gICAgICBpc0J1ZjogaXNCdWYsXFxuICAgICAgY2FsbGJhY2s6IGNiLFxcbiAgICAgIG5leHQ6IG51bGxcXG4gICAgfTtcXG5cXG4gICAgaWYgKGxhc3QpIHtcXG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIH1cXG5cXG4gICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQgKz0gMTtcXG4gIH0gZWxzZSB7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuXFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBzdGF0ZS53cml0ZWxlbiA9IGxlbjtcXG4gIHN0YXRlLndyaXRlY2IgPSBjYjtcXG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xcbiAgc3RhdGUuc3luYyA9IHRydWU7XFxuICBpZiAoc3RhdGUuZGVzdHJveWVkKSBzdGF0ZS5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgnd3JpdGUnKSk7ZWxzZSBpZiAod3JpdGV2KSBzdHJlYW0uX3dyaXRldihjaHVuaywgc3RhdGUub253cml0ZSk7ZWxzZSBzdHJlYW0uX3dyaXRlKGNodW5rLCBlbmNvZGluZywgc3RhdGUub253cml0ZSk7XFxuICBzdGF0ZS5zeW5jID0gZmFsc2U7XFxufVxcblxcbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcXG4gIC0tc3RhdGUucGVuZGluZ2NiO1xcblxcbiAgaWYgKHN5bmMpIHtcXG4gICAgLy8gZGVmZXIgdGhlIGNhbGxiYWNrIGlmIHdlIGFyZSBiZWluZyBjYWxsZWQgc3luY2hyb25vdXNseVxcbiAgICAvLyB0byBhdm9pZCBwaWxpbmcgdXAgdGhpbmdzIG9uIHRoZSBzdGFja1xcbiAgICBwcm9jZXNzLm5leHRUaWNrKGNiLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBhbmQgaXQgd2lsbCBhbHdheXMgaGFwcGVuXFxuICAgIC8vIGFmdGVyIGVycm9yXFxuXFxuICAgIHByb2Nlc3MubmV4dFRpY2soZmluaXNoTWF5YmUsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XFxuICB9IGVsc2Uge1xcbiAgICAvLyB0aGUgY2FsbGVyIGV4cGVjdCB0aGlzIHRvIGhhcHBlbiBiZWZvcmUgaWZcXG4gICAgLy8gaXQgaXMgYXN5bmNcXG4gICAgY2IoZXIpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7IC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBidXQgZmluaXNoIG11c3RcXG4gICAgLy8gYWx3YXlzIGZvbGxvdyBlcnJvclxcblxcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XFxuICBzdGF0ZS53cml0aW5nID0gZmFsc2U7XFxuICBzdGF0ZS53cml0ZWNiID0gbnVsbDtcXG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcXG4gIHN0YXRlLndyaXRlbGVuID0gMDtcXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZShzdHJlYW0sIGVyKSB7XFxuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XFxuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XFxuICB2YXIgY2IgPSBzdGF0ZS53cml0ZWNiO1xcbiAgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykgdGhyb3cgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpO1xcbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcXG4gIGlmIChlcikgb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYik7ZWxzZSB7XFxuICAgIC8vIENoZWNrIGlmIHdlJ3JlIGFjdHVhbGx5IHJlYWR5IHRvIGZpbmlzaCwgYnV0IGRvbid0IGVtaXQgeWV0XFxuICAgIHZhciBmaW5pc2hlZCA9IG5lZWRGaW5pc2goc3RhdGUpIHx8IHN0cmVhbS5kZXN0cm95ZWQ7XFxuXFxuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcXG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBpZiAoc3luYykge1xcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soYWZ0ZXJXcml0ZSwgc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWZ0ZXJXcml0ZShzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpIHtcXG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcXG4gIHN0YXRlLnBlbmRpbmdjYi0tO1xcbiAgY2IoKTtcXG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbn0gLy8gTXVzdCBmb3JjZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgb24gbmV4dFRpY2ssIHNvIHRoYXQgd2UgZG9uJ3RcXG4vLyBlbWl0ICdkcmFpbicgYmVmb3JlIHRoZSB3cml0ZSgpIGNvbnN1bWVyIGdldHMgdGhlICdmYWxzZScgcmV0dXJuXFxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cXG5cXG5cXG5mdW5jdGlvbiBvbndyaXRlRHJhaW4oc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5uZWVkRHJhaW4pIHtcXG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XFxuICAgIHN0cmVhbS5lbWl0KCdkcmFpbicpO1xcbiAgfVxcbn0gLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcXG5cXG5cXG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gdHJ1ZTtcXG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcXG5cXG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XFxuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcXG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcXG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XFxuICAgIHZhciBjb3VudCA9IDA7XFxuICAgIHZhciBhbGxCdWZmZXJzID0gdHJ1ZTtcXG5cXG4gICAgd2hpbGUgKGVudHJ5KSB7XFxuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xcbiAgICAgIGlmICghZW50cnkuaXNCdWYpIGFsbEJ1ZmZlcnMgPSBmYWxzZTtcXG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICAgICAgY291bnQgKz0gMTtcXG4gICAgfVxcblxcbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTsgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXFxuXFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG5cXG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XFxuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gaG9sZGVyLm5leHQ7XFxuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXFxuICAgIHdoaWxlIChlbnRyeSkge1xcbiAgICAgIHZhciBjaHVuayA9IGVudHJ5LmNodW5rO1xcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICAgIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcXG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tOyAvLyBpZiB3ZSBkaWRuJ3QgY2FsbCB0aGUgb253cml0ZSBpbW1lZGlhdGVseSwgdGhlblxcbiAgICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0IGRvZXMuXFxuICAgICAgLy8gYWxzbywgdGhhdCBtZWFucyB0aGF0IHRoZSBjaHVuayBhbmQgY2IgYXJlIGN1cnJlbnRseVxcbiAgICAgIC8vIGJlaW5nIHByb2Nlc3NlZCwgc28gbW92ZSB0aGUgYnVmZmVyIGNvdW50ZXIgcGFzdCB0aGVtLlxcblxcbiAgICAgIGlmIChzdGF0ZS53cml0aW5nKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGVudHJ5ID09PSBudWxsKSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG4gIH1cXG5cXG4gIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdCA9IGVudHJ5O1xcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xcbn1cXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIGNiKG5ldyBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCgnX3dyaXRlKCknKSk7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGNodW5rO1xcbiAgICBjaHVuayA9IG51bGw7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7IC8vIC5lbmQoKSBmdWxseSB1bmNvcmtzXFxuXFxuICBpZiAoc3RhdGUuY29ya2VkKSB7XFxuICAgIHN0YXRlLmNvcmtlZCA9IDE7XFxuICAgIHRoaXMudW5jb3JrKCk7XFxuICB9IC8vIGlnbm9yZSB1bm5lY2Vzc2FyeSBlbmQoKSBjYWxscy5cXG5cXG5cXG4gIGlmICghc3RhdGUuZW5kaW5nKSBlbmRXcml0YWJsZSh0aGlzLCBzdGF0ZSwgY2IpO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnd3JpdGFibGVMZW5ndGgnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aDtcXG4gIH1cXG59KTtcXG5cXG5mdW5jdGlvbiBuZWVkRmluaXNoKHN0YXRlKSB7XFxuICByZXR1cm4gc3RhdGUuZW5kaW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPT09IG51bGwgJiYgIXN0YXRlLmZpbmlzaGVkICYmICFzdGF0ZS53cml0aW5nO1xcbn1cXG5cXG5mdW5jdGlvbiBjYWxsRmluYWwoc3RyZWFtLCBzdGF0ZSkge1xcbiAgc3RyZWFtLl9maW5hbChmdW5jdGlvbiAoZXJyKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xcblxcbiAgICBpZiAoZXJyKSB7XFxuICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcnIpO1xcbiAgICB9XFxuXFxuICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLmVtaXQoJ3ByZWZpbmlzaCcpO1xcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBwcmVmaW5pc2goc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKCFzdGF0ZS5wcmVmaW5pc2hlZCAmJiAhc3RhdGUuZmluYWxDYWxsZWQpIHtcXG4gICAgaWYgKHR5cGVvZiBzdHJlYW0uX2ZpbmFsID09PSAnZnVuY3Rpb24nICYmICFzdGF0ZS5kZXN0cm95ZWQpIHtcXG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcXG4gICAgICBzdGF0ZS5maW5hbENhbGxlZCA9IHRydWU7XFxuICAgICAgcHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xcbiAgdmFyIG5lZWQgPSBuZWVkRmluaXNoKHN0YXRlKTtcXG5cXG4gIGlmIChuZWVkKSB7XFxuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcXG5cXG4gICAgaWYgKHN0YXRlLnBlbmRpbmdjYiA9PT0gMCkge1xcbiAgICAgIHN0YXRlLmZpbmlzaGVkID0gdHJ1ZTtcXG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XFxuXFxuICAgICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XFxuICAgICAgICAvLyBJbiBjYXNlIG9mIGR1cGxleCBzdHJlYW1zIHdlIG5lZWQgYSB3YXkgdG8gZGV0ZWN0XFxuICAgICAgICAvLyBpZiB0aGUgcmVhZGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxcbiAgICAgICAgdmFyIHJTdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG5cXG4gICAgICAgIGlmICghclN0YXRlIHx8IHJTdGF0ZS5hdXRvRGVzdHJveSAmJiByU3RhdGUuZW5kRW1pdHRlZCkge1xcbiAgICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG5lZWQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFdyaXRhYmxlKHN0cmVhbSwgc3RhdGUsIGNiKSB7XFxuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxuXFxuICBpZiAoY2IpIHtcXG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwcm9jZXNzLm5leHRUaWNrKGNiKTtlbHNlIHN0cmVhbS5vbmNlKCdmaW5pc2gnLCBjYik7XFxuICB9XFxuXFxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XFxuICBzdHJlYW0ud3JpdGFibGUgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gb25Db3JrZWRGaW5pc2goY29ya1JlcSwgc3RhdGUsIGVycikge1xcbiAgdmFyIGVudHJ5ID0gY29ya1JlcS5lbnRyeTtcXG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xcblxcbiAgd2hpbGUgKGVudHJ5KSB7XFxuICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcXG4gICAgY2IoZXJyKTtcXG4gICAgZW50cnkgPSBlbnRyeS5uZXh0O1xcbiAgfSAvLyByZXVzZSB0aGUgZnJlZSBjb3JrUmVxLlxcblxcblxcbiAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxcbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xcbiAgICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG4gIH0sXFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxcbiAgICBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcXG5cXG5cXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcXG4gIH1cXG59KTtcXG5Xcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XFxuV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcXG4gIGNiKGVycik7XFxufTtcXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOTNjbWwwWVdKc1pTNXFjejgzTWpWa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFlUczdRVUZGWWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4aFFVRmhMRzFDUVVGUExFTkJRVU1zWjBWQlFXZENPMEZCUTNKRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETEN0SVFVRXlRanRCUVVOb1JEczdPMEZCUjBFc1lVRkJZU3h0UWtGQlR5eERRVUZETERoRFFVRlJPenRCUVVVM1FqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR3RDUVVGclFpeHRRa0ZCVHl4RFFVRkRMSGxJUVVFMFFqczdRVUZGZEVRc1pVRkJaU3h0UWtGQlR5eERRVUZETEhGSVFVRXdRanRCUVVOcVJEczdRVUZGUVN4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl3d1JrRkJWenRCUVVONFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJMRzFDUVVGUExFTkJRVU1zTmtSQlFWVTdPMEZCUld4Q096dEJRVVZCTzBGQlEwRXNjVUpCUVhGQ0xHMUNRVUZQTEVOQlFVTXNjVWRCUVd0Q08wRkJReTlETERCQ1FVRXdRanRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3g1UlVGQmVVVTdRVUZEZWtVN08wRkJSVUU3UVVGRFFTeHJSa0ZCYTBZN1FVRkRiRVk3UVVGRFFUczdRVUZGUVN3d1JrRkJNRVk3TzBGQlJURkdMREpDUVVFeVFqczdRVUZGTTBJc2VVSkJRWGxDT3p0QlFVVjZRaXh6UWtGQmMwSTdPMEZCUlhSQ0xIRkNRVUZ4UWpzN1FVRkZja0lzZDBKQlFYZENPenRCUVVWNFFpeDVRa0ZCZVVJN1FVRkRla0k3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF6dEJRVU5xUXp0QlFVTkJPenRCUVVWQkxESkVRVUV5UkR0QlFVTXpSRHRCUVVOQk96dEJRVVZCTEd0Q1FVRnJRanM3UVVGRmJFSXNkVUpCUVhWQ096dEJRVVYyUWl4clFrRkJhMEk3UVVGRGJFSTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWp0QlFVTnVRanRCUVVOQk96dEJRVVZCTEdkRFFVRm5RenM3UVVGRmFFTTdRVUZEUVR0QlFVTkJMRWxCUVVrN096dEJRVWRLTEhOQ1FVRnpRanM3UVVGRmRFSTdRVUZEUVR0QlFVTkJMR3REUVVGclF6dEJRVU5zUXpzN1FVRkZRU3h4UWtGQmNVSTdRVUZEY2tJN08wRkJSVUVzTWtKQlFUSkNPenRCUVVVelFpdzBRa0ZCTkVJN08wRkJSVFZDTEN0RFFVRXJRenM3UVVGRkwwTXNNa05CUVRKRE96dEJRVVV6UXl4blEwRkJaME03UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFMRXRCUVVzN1FVRkRUQ3hIUVVGSE8wRkJRMGdzUTBGQlF5eEpRVUZKTzBGQlEwdzdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZ3NRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNjVUpCUVhGQ0xHMUNRVUZQTEVOQlFVTXNjVWRCUVd0Q0xFVkJRVVU3UVVGRGFrUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFGUVVGdFJUczdRVUZGYmtVN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNORU5CUVRSRE96dEJRVVUxUXp0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRFFVRnBRenRCUVVOcVF6dEJRVU5CTERSRFFVRTBRenRCUVVNMVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGTzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3clEwRkJLME03TzBGQlJTOURPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUlVGQmQwVXNjMFJCUVhORU8wRkJRemxJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0k3UVVGRE4wSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc0swSkJRU3RDTzBGQlF5OUNPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVPMEZCUTNCRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdPMEZCUjBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNNRVZCUVRCRk8wRkJRekZGT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRFFVRnRRenRCUVVOdVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQkxIbEZRVUY1UlRzN1FVRkZla1U3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERaRFFVRTJRenRCUVVNM1F6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenM3UVVGSFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVVaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDMWlZWE5sTDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMTl6ZEhKbFlXMWZkM0pwZEdGaWJHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJEYjNCNWNtbG5hSFFnU205NVpXNTBMQ0JKYm1NdUlHRnVaQ0J2ZEdobGNpQk9iMlJsSUdOdmJuUnlhV0oxZEc5eWN5NWNiaTh2WEc0dkx5QlFaWEp0YVhOemFXOXVJR2x6SUdobGNtVmllU0JuY21GdWRHVmtMQ0JtY21WbElHOW1JR05vWVhKblpTd2dkRzhnWVc1NUlIQmxjbk52YmlCdlluUmhhVzVwYm1jZ1lWeHVMeThnWTI5d2VTQnZaaUIwYUdseklITnZablIzWVhKbElHRnVaQ0JoYzNOdlkybGhkR1ZrSUdSdlkzVnRaVzUwWVhScGIyNGdabWxzWlhNZ0tIUm9aVnh1THk4Z1hDSlRiMlowZDJGeVpWd2lLU3dnZEc4Z1pHVmhiQ0JwYmlCMGFHVWdVMjltZEhkaGNtVWdkMmwwYUc5MWRDQnlaWE4wY21samRHbHZiaXdnYVc1amJIVmthVzVuWEc0dkx5QjNhWFJvYjNWMElHeHBiV2wwWVhScGIyNGdkR2hsSUhKcFoyaDBjeUIwYnlCMWMyVXNJR052Y0hrc0lHMXZaR2xtZVN3Z2JXVnlaMlVzSUhCMVlteHBjMmdzWEc0dkx5QmthWE4wY21saWRYUmxMQ0J6ZFdKc2FXTmxibk5sTENCaGJtUXZiM0lnYzJWc2JDQmpiM0JwWlhNZ2IyWWdkR2hsSUZOdlpuUjNZWEpsTENCaGJtUWdkRzhnY0dWeWJXbDBYRzR2THlCd1pYSnpiMjV6SUhSdklIZG9iMjBnZEdobElGTnZablIzWVhKbElHbHpJR1oxY201cGMyaGxaQ0IwYnlCa2J5QnpieXdnYzNWaWFtVmpkQ0IwYnlCMGFHVmNiaTh2SUdadmJHeHZkMmx1WnlCamIyNWthWFJwYjI1ek9seHVMeTljYmk4dklGUm9aU0JoWW05MlpTQmpiM0I1Y21sbmFIUWdibTkwYVdObElHRnVaQ0IwYUdseklIQmxjbTFwYzNOcGIyNGdibTkwYVdObElITm9ZV3hzSUdKbElHbHVZMngxWkdWa1hHNHZMeUJwYmlCaGJHd2dZMjl3YVdWeklHOXlJSE4xWW5OMFlXNTBhV0ZzSUhCdmNuUnBiMjV6SUc5bUlIUm9aU0JUYjJaMGQyRnlaUzVjYmk4dlhHNHZMeUJVU0VVZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdYQ0pCVXlCSlUxd2lMQ0JYU1ZSSVQxVlVJRmRCVWxKQlRsUlpJRTlHSUVGT1dTQkxTVTVFTENCRldGQlNSVk5UWEc0dkx5QlBVaUJKVFZCTVNVVkVMQ0JKVGtOTVZVUkpUa2NnUWxWVUlFNVBWQ0JNU1UxSlZFVkVJRlJQSUZSSVJTQlhRVkpTUVU1VVNVVlRJRTlHWEc0dkx5Qk5SVkpEU0VGT1ZFRkNTVXhKVkZrc0lFWkpWRTVGVTFNZ1JrOVNJRUVnVUVGU1ZFbERWVXhCVWlCUVZWSlFUMU5GSUVGT1JDQk9UMDVKVGtaU1NVNUhSVTFGVGxRdUlFbE9YRzR2THlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1FWVlVTRTlTVXlCUFVpQkRUMUJaVWtsSFNGUWdTRTlNUkVWU1V5QkNSU0JNU1VGQ1RFVWdSazlTSUVGT1dTQkRURUZKVFN4Y2JpOHZJRVJCVFVGSFJWTWdUMUlnVDFSSVJWSWdURWxCUWtsTVNWUlpMQ0JYU0VWVVNFVlNJRWxPSUVGT0lFRkRWRWxQVGlCUFJpQkRUMDVVVWtGRFZDd2dWRTlTVkNCUFVseHVMeThnVDFSSVJWSlhTVk5GTENCQlVrbFRTVTVISUVaU1QwMHNJRTlWVkNCUFJpQlBVaUJKVGlCRFQwNU9SVU5VU1U5T0lGZEpWRWdnVkVoRklGTlBSbFJYUVZKRklFOVNJRlJJUlZ4dUx5OGdWVk5GSUU5U0lFOVVTRVZTSUVSRlFVeEpUa2RUSUVsT0lGUklSU0JUVDBaVVYwRlNSUzVjYmk4dklFRWdZbWwwSUhOcGJYQnNaWElnZEdoaGJpQnlaV0ZrWVdKc1pTQnpkSEpsWVcxekxseHVMeThnU1cxd2JHVnRaVzUwSUdGdUlHRnplVzVqSUM1ZmQzSnBkR1VvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrc0lHRnVaQ0JwZENkc2JDQm9ZVzVrYkdVZ1lXeHNYRzR2THlCMGFHVWdaSEpoYVc0Z1pYWmxiblFnWlcxcGMzTnBiMjRnWVc1a0lHSjFabVpsY21sdVp5NWNiaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlhjbWwwWVdKc1pUdGNiaThxSUR4eVpYQnNZV05sYldWdWRENGdLaTljYmx4dVpuVnVZM1JwYjI0Z1YzSnBkR1ZTWlhFb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMGFHbHpMbU5vZFc1cklEMGdZMmgxYm1zN1hHNGdJSFJvYVhNdVpXNWpiMlJwYm1jZ1BTQmxibU52WkdsdVp6dGNiaUFnZEdocGN5NWpZV3hzWW1GamF5QTlJR05pTzF4dUlDQjBhR2x6TG01bGVIUWdQU0J1ZFd4c08xeHVmU0F2THlCSmRDQnpaV1Z0Y3lCaElHeHBibXRsWkNCc2FYTjBJR0oxZENCcGRDQnBjeUJ1YjNSY2JpOHZJSFJvWlhKbElIZHBiR3dnWW1VZ2IyNXNlU0F5SUc5bUlIUm9aWE5sSUdadmNpQmxZV05vSUhOMGNtVmhiVnh1WEc1Y2JtWjFibU4wYVc5dUlFTnZjbXRsWkZKbGNYVmxjM1FvYzNSaGRHVXBJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0IwYUdsekxtNWxlSFFnUFNCdWRXeHNPMXh1SUNCMGFHbHpMbVZ1ZEhKNUlEMGdiblZzYkR0Y2JseHVJQ0IwYUdsekxtWnBibWx6YUNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnZia052Y210bFpFWnBibWx6YUNoZmRHaHBjeXdnYzNSaGRHVXBPMXh1SUNCOU8xeHVmVnh1THlvZ1BDOXlaWEJzWVdObGJXVnVkRDRnS2k5Y2JseHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1WEc1MllYSWdSSFZ3YkdWNE8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYmxkeWFYUmhZbXhsTGxkeWFYUmhZbXhsVTNSaGRHVWdQU0JYY21sMFlXSnNaVk4wWVhSbE8xeHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlHbHVkR1Z5Ym1Gc1ZYUnBiQ0E5SUh0Y2JpQWdaR1Z3Y21WallYUmxPaUJ5WlhGMWFYSmxLQ2QxZEdsc0xXUmxjSEpsWTJGMFpTY3BYRzU5TzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYm5aaGNpQlRkSEpsWVcwZ1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1J5WldGdEp5azdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dVhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlKeWt1UW5WbVptVnlPMXh1WEc1MllYSWdUM1Z5VldsdWREaEJjbkpoZVNBOUlHZHNiMkpoYkM1VmFXNTBPRUZ5Y21GNUlIeDhJR1oxYm1OMGFXOXVJQ2dwSUh0OU8xeHVYRzVtZFc1amRHbHZiaUJmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5S0dOb2RXNXJLU0I3WEc0Z0lISmxkSFZ5YmlCQ2RXWm1aWEl1Wm5KdmJTaGphSFZ1YXlrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUY5cGMxVnBiblE0UVhKeVlYa29iMkpxS1NCN1hHNGdJSEpsZEhWeWJpQkNkV1ptWlhJdWFYTkNkV1ptWlhJb2IySnFLU0I4ZkNCdlltb2dhVzV6ZEdGdVkyVnZaaUJQZFhKVmFXNTBPRUZ5Y21GNU8xeHVmVnh1WEc1MllYSWdaR1Z6ZEhKdmVVbHRjR3dnUFNCeVpYRjFhWEpsS0NjdUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlpHVnpkSEp2ZVNjcE8xeHVYRzUyWVhJZ1gzSmxjWFZwY21VZ1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1JoZEdVbktTeGNiaUFnSUNCblpYUklhV2RvVjJGMFpYSk5ZWEpySUQwZ1gzSmxjWFZwY21VdVoyVjBTR2xuYUZkaGRHVnlUV0Z5YXp0Y2JseHVkbUZ5SUY5eVpYRjFhWEpsSkdOdlpHVnpJRDBnY21WeGRXbHlaU2duTGk0dlpYSnliM0p6SnlrdVkyOWtaWE1zWEc0Z0lDQWdSVkpTWDBsT1ZrRk1TVVJmUVZKSFgxUlpVRVVnUFNCZmNtVnhkV2x5WlNSamIyUmxjeTVGVWxKZlNVNVdRVXhKUkY5QlVrZGZWRmxRUlN4Y2JpQWdJQ0JGVWxKZlRVVlVTRTlFWDA1UFZGOUpUVkJNUlUxRlRsUkZSQ0E5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5TlJWUklUMFJmVGs5VVgwbE5VRXhGVFVWT1ZFVkVMRnh1SUNBZ0lFVlNVbDlOVlV4VVNWQk1SVjlEUVV4TVFrRkRTeUE5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3l4Y2JpQWdJQ0JGVWxKZlUxUlNSVUZOWDBOQlRrNVBWRjlRU1ZCRklEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMU5VVWtWQlRWOURRVTVPVDFSZlVFbFFSU3hjYmlBZ0lDQkZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSQ0E5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5VFZGSkZRVTFmUkVWVFZGSlBXVVZFTEZ4dUlDQWdJRVZTVWw5VFZGSkZRVTFmVGxWTVRGOVdRVXhWUlZNZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZVMVJTUlVGTlgwNVZURXhmVmtGTVZVVlRMRnh1SUNBZ0lFVlNVbDlUVkZKRlFVMWZWMUpKVkVWZlFVWlVSVkpmUlU1RUlEMGdYM0psY1hWcGNtVWtZMjlrWlhNdVJWSlNYMU5VVWtWQlRWOVhVa2xVUlY5QlJsUkZVbDlGVGtRc1hHNGdJQ0FnUlZKU1gxVk9TMDVQVjA1ZlJVNURUMFJKVGtjZ1BTQmZjbVZ4ZFdseVpTUmpiMlJsY3k1RlVsSmZWVTVMVGs5WFRsOUZUa05QUkVsT1J6dGNibHh1ZG1GeUlHVnljbTl5VDNKRVpYTjBjbTk1SUQwZ1pHVnpkSEp2ZVVsdGNHd3VaWEp5YjNKUGNrUmxjM1J5YjNrN1hHNWNibkpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWtvVjNKcGRHRmliR1VzSUZOMGNtVmhiU2s3WEc1Y2JtWjFibU4wYVc5dUlHNXZjQ2dwSUh0OVhHNWNibVoxYm1OMGFXOXVJRmR5YVhSaFlteGxVM1JoZEdVb2IzQjBhVzl1Y3l3Z2MzUnlaV0Z0TENCcGMwUjFjR3hsZUNrZ2UxeHVJQ0JFZFhCc1pYZ2dQU0JFZFhCc1pYZ2dmSHdnY21WeGRXbHlaU2duTGk5ZmMzUnlaV0Z0WDJSMWNHeGxlQ2NwTzF4dUlDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5QjhmQ0I3ZlRzZ0x5OGdSSFZ3YkdWNElITjBjbVZoYlhNZ1lYSmxJR0p2ZEdnZ2NtVmhaR0ZpYkdVZ1lXNWtJSGR5YVhSaFlteGxMQ0JpZFhRZ2MyaGhjbVZjYmlBZ0x5OGdkR2hsSUhOaGJXVWdiM0IwYVc5dWN5QnZZbXBsWTNRdVhHNGdJQzh2SUVodmQyVjJaWElzSUhOdmJXVWdZMkZ6WlhNZ2NtVnhkV2x5WlNCelpYUjBhVzVuSUc5d2RHbHZibk1nZEc4Z1pHbG1abVZ5Wlc1MFhHNGdJQzh2SUhaaGJIVmxjeUJtYjNJZ2RHaGxJSEpsWVdSaFlteGxJR0Z1WkNCMGFHVWdkM0pwZEdGaWJHVWdjMmxrWlhNZ2IyWWdkR2hsSUdSMWNHeGxlQ0J6ZEhKbFlXMHNYRzRnSUM4dklHVXVaeTRnYjNCMGFXOXVjeTV5WldGa1lXSnNaVTlpYW1WamRFMXZaR1VnZG5NdUlHOXdkR2x2Ym5NdWQzSnBkR0ZpYkdWUFltcGxZM1JOYjJSbExDQmxkR011WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUJwYzBSMWNHeGxlQ0FoUFQwZ0oySnZiMnhsWVc0bktTQnBjMFIxY0d4bGVDQTlJSE4wY21WaGJTQnBibk4wWVc1alpXOW1JRVIxY0d4bGVEc2dMeThnYjJKcVpXTjBJSE4wY21WaGJTQm1iR0ZuSUhSdklHbHVaR2xqWVhSbElIZG9aWFJvWlhJZ2IzSWdibTkwSUhSb2FYTWdjM1J5WldGdFhHNGdJQzh2SUdOdmJuUmhhVzV6SUdKMVptWmxjbk1nYjNJZ2IySnFaV04wY3k1Y2JseHVJQ0IwYUdsekxtOWlhbVZqZEUxdlpHVWdQU0FoSVc5d2RHbHZibk11YjJKcVpXTjBUVzlrWlR0Y2JpQWdhV1lnS0dselJIVndiR1Y0S1NCMGFHbHpMbTlpYW1WamRFMXZaR1VnUFNCMGFHbHpMbTlpYW1WamRFMXZaR1VnZkh3Z0lTRnZjSFJwYjI1ekxuZHlhWFJoWW14bFQySnFaV04wVFc5a1pUc2dMeThnZEdobElIQnZhVzUwSUdGMElIZG9hV05vSUhkeWFYUmxLQ2tnYzNSaGNuUnpJSEpsZEhWeWJtbHVaeUJtWVd4elpWeHVJQ0F2THlCT2IzUmxPaUF3SUdseklHRWdkbUZzYVdRZ2RtRnNkV1VzSUcxbFlXNXpJSFJvWVhRZ2QyVWdZV3gzWVhseklISmxkSFZ5YmlCbVlXeHpaU0JwWmx4dUlDQXZMeUIwYUdVZ1pXNTBhWEpsSUdKMVptWmxjaUJwY3lCdWIzUWdabXgxYzJobFpDQnBiVzFsWkdsaGRHVnNlU0J2YmlCM2NtbDBaU2dwWEc1Y2JpQWdkR2hwY3k1b2FXZG9WMkYwWlhKTllYSnJJRDBnWjJWMFNHbG5hRmRoZEdWeVRXRnlheWgwYUdsekxDQnZjSFJwYjI1ekxDQW5kM0pwZEdGaWJHVklhV2RvVjJGMFpYSk5ZWEpySnl3Z2FYTkVkWEJzWlhncE95QXZMeUJwWmlCZlptbHVZV3dnYUdGeklHSmxaVzRnWTJGc2JHVmtYRzVjYmlBZ2RHaHBjeTVtYVc1aGJFTmhiR3hsWkNBOUlHWmhiSE5sT3lBdkx5QmtjbUZwYmlCbGRtVnVkQ0JtYkdGbkxseHVYRzRnSUhSb2FYTXVibVZsWkVSeVlXbHVJRDBnWm1Gc2MyVTdJQzh2SUdGMElIUm9aU0J6ZEdGeWRDQnZaaUJqWVd4c2FXNW5JR1Z1WkNncFhHNWNiaUFnZEdocGN5NWxibVJwYm1jZ1BTQm1ZV3h6WlRzZ0x5OGdkMmhsYmlCbGJtUW9LU0JvWVhNZ1ltVmxiaUJqWVd4c1pXUXNJR0Z1WkNCeVpYUjFjbTVsWkZ4dVhHNGdJSFJvYVhNdVpXNWtaV1FnUFNCbVlXeHpaVHNnTHk4Z2QyaGxiaUFuWm1sdWFYTm9KeUJwY3lCbGJXbDBkR1ZrWEc1Y2JpQWdkR2hwY3k1bWFXNXBjMmhsWkNBOUlHWmhiSE5sT3lBdkx5Qm9ZWE1nYVhRZ1ltVmxiaUJrWlhOMGNtOTVaV1JjYmx4dUlDQjBhR2x6TG1SbGMzUnliM2xsWkNBOUlHWmhiSE5sT3lBdkx5QnphRzkxYkdRZ2QyVWdaR1ZqYjJSbElITjBjbWx1WjNNZ2FXNTBieUJpZFdabVpYSnpJR0psWm05eVpTQndZWE56YVc1bklIUnZJRjkzY21sMFpUOWNiaUFnTHk4Z2RHaHBjeUJwY3lCb1pYSmxJSE52SUhSb1lYUWdjMjl0WlNCdWIyUmxMV052Y21VZ2MzUnlaV0Z0Y3lCallXNGdiM0IwYVcxcGVtVWdjM1J5YVc1blhHNGdJQzh2SUdoaGJtUnNhVzVuSUdGMElHRWdiRzkzWlhJZ2JHVjJaV3d1WEc1Y2JpQWdkbUZ5SUc1dlJHVmpiMlJsSUQwZ2IzQjBhVzl1Y3k1a1pXTnZaR1ZUZEhKcGJtZHpJRDA5UFNCbVlXeHpaVHRjYmlBZ2RHaHBjeTVrWldOdlpHVlRkSEpwYm1keklEMGdJVzV2UkdWamIyUmxPeUF2THlCRGNubHdkRzhnYVhNZ2EybHVaQ0J2WmlCdmJHUWdZVzVrSUdOeWRYTjBlUzRnSUVocGMzUnZjbWxqWVd4c2VTd2dhWFJ6SUdSbFptRjFiSFFnYzNSeWFXNW5YRzRnSUM4dklHVnVZMjlrYVc1bklHbHpJQ2RpYVc1aGNua25JSE52SUhkbElHaGhkbVVnZEc4Z2JXRnJaU0IwYUdseklHTnZibVpwWjNWeVlXSnNaUzVjYmlBZ0x5OGdSWFpsY25sMGFHbHVaeUJsYkhObElHbHVJSFJvWlNCMWJtbDJaWEp6WlNCMWMyVnpJQ2QxZEdZNEp5d2dkR2h2ZFdkb0xseHVYRzRnSUhSb2FYTXVaR1ZtWVhWc2RFVnVZMjlrYVc1bklEMGdiM0IwYVc5dWN5NWtaV1poZFd4MFJXNWpiMlJwYm1jZ2ZId2dKM1YwWmpnbk95QXZMeUJ1YjNRZ1lXNGdZV04wZFdGc0lHSjFabVpsY2lCM1pTQnJaV1Z3SUhSeVlXTnJJRzltTENCaWRYUWdZU0J0WldGemRYSmxiV1Z1ZEZ4dUlDQXZMeUJ2WmlCb2IzY2diWFZqYUNCM1pTZHlaU0IzWVdsMGFXNW5JSFJ2SUdkbGRDQndkWE5vWldRZ2RHOGdjMjl0WlNCMWJtUmxjbXg1YVc1blhHNGdJQzh2SUhOdlkydGxkQ0J2Y2lCbWFXeGxMbHh1WEc0Z0lIUm9hWE11YkdWdVozUm9JRDBnTURzZ0x5OGdZU0JtYkdGbklIUnZJSE5sWlNCM2FHVnVJSGRsSjNKbElHbHVJSFJvWlNCdGFXUmtiR1VnYjJZZ1lTQjNjbWwwWlM1Y2JseHVJQ0IwYUdsekxuZHlhWFJwYm1jZ1BTQm1ZV3h6WlRzZ0x5OGdkMmhsYmlCMGNuVmxJR0ZzYkNCM2NtbDBaWE1nZDJsc2JDQmlaU0JpZFdabVpYSmxaQ0IxYm5ScGJDQXVkVzVqYjNKcktDa2dZMkZzYkZ4dVhHNGdJSFJvYVhNdVkyOXlhMlZrSUQwZ01Ec2dMeThnWVNCbWJHRm5JSFJ2SUdKbElHRmliR1VnZEc4Z2RHVnNiQ0JwWmlCMGFHVWdiMjUzY21sMFpTQmpZaUJwY3lCallXeHNaV1FnYVcxdFpXUnBZWFJsYkhrc1hHNGdJQzh2SUc5eUlHOXVJR0VnYkdGMFpYSWdkR2xqYXk0Z0lGZGxJSE5sZENCMGFHbHpJSFJ2SUhSeWRXVWdZWFFnWm1seWMzUXNJR0psWTJGMWMyVWdZVzU1WEc0Z0lDOHZJR0ZqZEdsdmJuTWdkR2hoZENCemFHOTFiR1J1SjNRZ2FHRndjR1Z1SUhWdWRHbHNJRndpYkdGMFpYSmNJaUJ6YUc5MWJHUWdaMlZ1WlhKaGJHeDVJR0ZzYzI5Y2JpQWdMeThnYm05MElHaGhjSEJsYmlCaVpXWnZjbVVnZEdobElHWnBjbk4wSUhkeWFYUmxJR05oYkd3dVhHNWNiaUFnZEdocGN5NXplVzVqSUQwZ2RISjFaVHNnTHk4Z1lTQm1iR0ZuSUhSdklHdHViM2NnYVdZZ2QyVW5jbVVnY0hKdlkyVnpjMmx1WnlCd2NtVjJhVzkxYzJ4NUlHSjFabVpsY21Wa0lHbDBaVzF6TENCM2FHbGphRnh1SUNBdkx5QnRZWGtnWTJGc2JDQjBhR1VnWDNkeWFYUmxLQ2tnWTJGc2JHSmhZMnNnYVc0Z2RHaGxJSE5oYldVZ2RHbGpheXdnYzI4Z2RHaGhkQ0IzWlNCa2IyNG5kRnh1SUNBdkx5QmxibVFnZFhBZ2FXNGdZVzRnYjNabGNteGhjSEJsWkNCdmJuZHlhWFJsSUhOcGRIVmhkR2x2Ymk1Y2JseHVJQ0IwYUdsekxtSjFabVpsY2xCeWIyTmxjM05wYm1jZ1BTQm1ZV3h6WlRzZ0x5OGdkR2hsSUdOaGJHeGlZV05ySUhSb1lYUW5jeUJ3WVhOelpXUWdkRzhnWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1WEc0Z0lIUm9hWE11YjI1M2NtbDBaU0E5SUdaMWJtTjBhVzl1SUNobGNpa2dlMXh1SUNBZ0lHOXVkM0pwZEdVb2MzUnlaV0Z0TENCbGNpazdYRzRnSUgwN0lDOHZJSFJvWlNCallXeHNZbUZqYXlCMGFHRjBJSFJvWlNCMWMyVnlJSE4xY0hCc2FXVnpJSFJ2SUhkeWFYUmxLR05vZFc1ckxHVnVZMjlrYVc1bkxHTmlLVnh1WEc1Y2JpQWdkR2hwY3k1M2NtbDBaV05pSUQwZ2JuVnNiRHNnTHk4Z2RHaGxJR0Z0YjNWdWRDQjBhR0YwSUdseklHSmxhVzVuSUhkeWFYUjBaVzRnZDJobGJpQmZkM0pwZEdVZ2FYTWdZMkZzYkdWa0xseHVYRzRnSUhSb2FYTXVkM0pwZEdWc1pXNGdQU0F3TzF4dUlDQjBhR2x6TG1KMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdYRzRnSUhSb2FYTXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdJQzh2SUc1MWJXSmxjaUJ2WmlCd1pXNWthVzVuSUhWelpYSXRjM1Z3Y0d4cFpXUWdkM0pwZEdVZ1kyRnNiR0poWTJ0elhHNGdJQzh2SUhSb2FYTWdiWFZ6ZENCaVpTQXdJR0psWm05eVpTQW5abWx1YVhOb0p5QmpZVzRnWW1VZ1pXMXBkSFJsWkZ4dVhHNGdJSFJvYVhNdWNHVnVaR2x1WjJOaUlEMGdNRHNnTHk4Z1pXMXBkQ0J3Y21WbWFXNXBjMmdnYVdZZ2RHaGxJRzl1YkhrZ2RHaHBibWNnZDJVbmNtVWdkMkZwZEdsdVp5Qm1iM0lnYVhNZ1gzZHlhWFJsSUdOaWMxeHVJQ0F2THlCVWFHbHpJR2x6SUhKbGJHVjJZVzUwSUdadmNpQnplVzVqYUhKdmJtOTFjeUJVY21GdWMyWnZjbTBnYzNSeVpXRnRjMXh1WEc0Z0lIUm9hWE11Y0hKbFptbHVhWE5vWldRZ1BTQm1ZV3h6WlRzZ0x5OGdWSEoxWlNCcFppQjBhR1VnWlhKeWIzSWdkMkZ6SUdGc2NtVmhaSGtnWlcxcGRIUmxaQ0JoYm1RZ2MyaHZkV3hrSUc1dmRDQmlaU0IwYUhKdmQyNGdZV2RoYVc1Y2JseHVJQ0IwYUdsekxtVnljbTl5UlcxcGRIUmxaQ0E5SUdaaGJITmxPeUF2THlCVGFHOTFiR1FnWTJ4dmMyVWdZbVVnWlcxcGRIUmxaQ0J2YmlCa1pYTjBjbTk1TGlCRVpXWmhkV3gwY3lCMGJ5QjBjblZsTGx4dVhHNGdJSFJvYVhNdVpXMXBkRU5zYjNObElEMGdiM0IwYVc5dWN5NWxiV2wwUTJ4dmMyVWdJVDA5SUdaaGJITmxPeUF2THlCVGFHOTFiR1FnTG1SbGMzUnliM2tvS1NCaVpTQmpZV3hzWldRZ1lXWjBaWElnSjJacGJtbHphQ2NnS0dGdVpDQndiM1JsYm5ScFlXeHNlU0FuWlc1a0p5bGNibHh1SUNCMGFHbHpMbUYxZEc5RVpYTjBjbTk1SUQwZ0lTRnZjSFJwYjI1ekxtRjFkRzlFWlhOMGNtOTVPeUF2THlCamIzVnVkQ0JpZFdabVpYSmxaQ0J5WlhGMVpYTjBjMXh1WEc0Z0lIUm9hWE11WW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RZ1BTQXdPeUF2THlCaGJHeHZZMkYwWlNCMGFHVWdabWx5YzNRZ1EyOXlhMlZrVW1WeGRXVnpkQ3dnZEdobGNtVWdhWE1nWVd4M1lYbHpYRzRnSUM4dklHOXVaU0JoYkd4dlkyRjBaV1FnWVc1a0lHWnlaV1VnZEc4Z2RYTmxMQ0JoYm1RZ2QyVWdiV0ZwYm5SaGFXNGdZWFFnYlc5emRDQjBkMjljYmx4dUlDQjBhR2x6TG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlNBOUlHNWxkeUJEYjNKclpXUlNaWEYxWlhOMEtIUm9hWE1wTzF4dWZWeHVYRzVYY21sMFlXSnNaVk4wWVhSbExuQnliM1J2ZEhsd1pTNW5aWFJDZFdabVpYSWdQU0JtZFc1amRHbHZiaUJuWlhSQ2RXWm1aWElvS1NCN1hHNGdJSFpoY2lCamRYSnlaVzUwSUQwZ2RHaHBjeTVpZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUhaaGNpQnZkWFFnUFNCYlhUdGNibHh1SUNCM2FHbHNaU0FvWTNWeWNtVnVkQ2tnZTF4dUlDQWdJRzkxZEM1d2RYTm9LR04xY25KbGJuUXBPMXh1SUNBZ0lHTjFjbkpsYm5RZ1BTQmpkWEp5Wlc1MExtNWxlSFE3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYjNWME8xeHVmVHRjYmx4dUtHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RISjVJSHRjYmlBZ0lDQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVjNKcGRHRmliR1ZUZEdGMFpTNXdjbTkwYjNSNWNHVXNJQ2RpZFdabVpYSW5MQ0I3WEc0Z0lDQWdJQ0JuWlhRNklHbHVkR1Z5Ym1Gc1ZYUnBiQzVrWlhCeVpXTmhkR1VvWm5WdVkzUnBiMjRnZDNKcGRHRmliR1ZUZEdGMFpVSjFabVpsY2tkbGRIUmxjaWdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaMlYwUW5WbVptVnlLQ2s3WEc0Z0lDQWdJQ0I5TENBblgzZHlhWFJoWW14bFUzUmhkR1V1WW5WbVptVnlJR2x6SUdSbGNISmxZMkYwWldRdUlGVnpaU0JmZDNKcGRHRmliR1ZUZEdGMFpTNW5aWFJDZFdabVpYSWdKeUFySUNkcGJuTjBaV0ZrTGljc0lDZEVSVkF3TURBekp5bGNiaUFnSUNCOUtUdGNiaUFnZlNCallYUmphQ0FvWHlrZ2UzMWNibjBwS0NrN0lDOHZJRlJsYzNRZ1gzZHlhWFJoWW14bFUzUmhkR1VnWm05eUlHbHVhR1Z5YVhSaGJtTmxJSFJ2SUdGalkyOTFiblFnWm05eUlFUjFjR3hsZUNCemRISmxZVzF6TEZ4dUx5OGdkMmh2YzJVZ2NISnZkRzkwZVhCbElHTm9ZV2x1SUc5dWJIa2djRzlwYm5SeklIUnZJRkpsWVdSaFlteGxMbHh1WEc1Y2JuWmhjaUJ5WldGc1NHRnpTVzV6ZEdGdVkyVTdYRzVjYm1sbUlDaDBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUZONWJXSnZiQzVvWVhOSmJuTjBZVzVqWlNBbUppQjBlWEJsYjJZZ1JuVnVZM1JwYjI0dWNISnZkRzkwZVhCbFcxTjViV0p2YkM1b1lYTkpibk4wWVc1alpWMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnY21WaGJFaGhjMGx1YzNSaGJtTmxJRDBnUm5WdVkzUnBiMjR1Y0hKdmRHOTBlWEJsVzFONWJXSnZiQzVvWVhOSmJuTjBZVzVqWlYwN1hHNGdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoWGNtbDBZV0pzWlN3Z1UzbHRZbTlzTG1oaGMwbHVjM1JoYm1ObExDQjdYRzRnSUNBZ2RtRnNkV1U2SUdaMWJtTjBhVzl1SUhaaGJIVmxLRzlpYW1WamRDa2dlMXh1SUNBZ0lDQWdhV1lnS0hKbFlXeElZWE5KYm5OMFlXNWpaUzVqWVd4c0tIUm9hWE1zSUc5aWFtVmpkQ2twSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJRmR5YVhSaFlteGxLU0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYjJKcVpXTjBJQ1ltSUc5aWFtVmpkQzVmZDNKcGRHRmliR1ZUZEdGMFpTQnBibk4wWVc1alpXOW1JRmR5YVhSaFlteGxVM1JoZEdVN1hHNGdJQ0FnZlZ4dUlDQjlLVHRjYm4wZ1pXeHpaU0I3WEc0Z0lISmxZV3hJWVhOSmJuTjBZVzVqWlNBOUlHWjFibU4wYVc5dUlISmxZV3hJWVhOSmJuTjBZVzVqWlNodlltcGxZM1FwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdiMkpxWldOMElHbHVjM1JoYm1ObGIyWWdkR2hwY3p0Y2JpQWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdWM0pwZEdGaWJHVW9iM0IwYVc5dWN5a2dlMXh1SUNCRWRYQnNaWGdnUFNCRWRYQnNaWGdnZkh3Z2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE95QXZMeUJYY21sMFlXSnNaU0JqZEc5eUlHbHpJR0Z3Y0d4cFpXUWdkRzhnUkhWd2JHVjRaWE1zSUhSdmJ5NWNiaUFnTHk4Z1lISmxZV3hJWVhOSmJuTjBZVzVqWldBZ2FYTWdibVZqWlhOellYSjVJR0psWTJGMWMyVWdkWE5wYm1jZ2NHeGhhVzRnWUdsdWMzUmhibU5sYjJaZ1hHNGdJQzh2SUhkdmRXeGtJSEpsZEhWeWJpQm1ZV3h6WlN3Z1lYTWdibThnWUY5M2NtbDBZV0pzWlZOMFlYUmxZQ0J3Y205d1pYSjBlU0JwY3lCaGRIUmhZMmhsWkM1Y2JpQWdMeThnVkhKNWFXNW5JSFJ2SUhWelpTQjBhR1VnWTNWemRHOXRJR0JwYm5OMFlXNWpaVzltWUNCbWIzSWdWM0pwZEdGaWJHVWdhR1Z5WlNCM2FXeHNJR0ZzYzI4Z1luSmxZV3NnZEdobFhHNGdJQzh2SUU1dlpHVXVhbk1nVEdGNmVWUnlZVzV6Wm05eWJTQnBiWEJzWlcxbGJuUmhkR2x2Yml3Z2QyaHBZMmdnYUdGeklHRWdibTl1TFhSeWFYWnBZV3dnWjJWMGRHVnlJR1p2Y2x4dUlDQXZMeUJnWDNkeWFYUmhZbXhsVTNSaGRHVmdJSFJvWVhRZ2QyOTFiR1FnYkdWaFpDQjBieUJwYm1acGJtbDBaU0J5WldOMWNuTnBiMjR1WEc0Z0lDOHZJRU5vWldOcmFXNW5JR1p2Y2lCaElGTjBjbVZoYlM1RWRYQnNaWGdnYVc1emRHRnVZMlVnYVhNZ1ptRnpkR1Z5SUdobGNtVWdhVzV6ZEdWaFpDQnZaaUJwYm5OcFpHVmNiaUFnTHk4Z2RHaGxJRmR5YVhSaFlteGxVM1JoZEdVZ1kyOXVjM1J5ZFdOMGIzSXNJR0YwSUd4bFlYTjBJSGRwZEdnZ1ZqZ2dOaTQxWEc1Y2JpQWdkbUZ5SUdselJIVndiR1Y0SUQwZ2RHaHBjeUJwYm5OMFlXNWpaVzltSUVSMWNHeGxlRHRjYmlBZ2FXWWdLQ0ZwYzBSMWNHeGxlQ0FtSmlBaGNtVmhiRWhoYzBsdWMzUmhibU5sTG1OaGJHd29WM0pwZEdGaWJHVXNJSFJvYVhNcEtTQnlaWFIxY200Z2JtVjNJRmR5YVhSaFlteGxLRzl3ZEdsdmJuTXBPMXh1SUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbElEMGdibVYzSUZkeWFYUmhZbXhsVTNSaGRHVW9iM0IwYVc5dWN5d2dkR2hwY3l3Z2FYTkVkWEJzWlhncE95QXZMeUJzWldkaFkza3VYRzVjYmlBZ2RHaHBjeTUzY21sMFlXSnNaU0E5SUhSeWRXVTdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVkM0pwZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUhSb2FYTXVYM2R5YVhSbElEMGdiM0IwYVc5dWN5NTNjbWwwWlR0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc5d2RHbHZibk11ZDNKcGRHVjJJRDA5UFNBblpuVnVZM1JwYjI0bktTQjBhR2x6TGw5M2NtbDBaWFlnUFNCdmNIUnBiMjV6TG5keWFYUmxkanRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVaR1Z6ZEhKdmVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2RHaHBjeTVmWkdWemRISnZlU0E5SUc5d2RHbHZibk11WkdWemRISnZlVHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVabWx1WVd3Z1BUMDlJQ2RtZFc1amRHbHZiaWNwSUhSb2FYTXVYMlpwYm1Gc0lEMGdiM0IwYVc5dWN5NW1hVzVoYkR0Y2JpQWdmVnh1WEc0Z0lGTjBjbVZoYlM1allXeHNLSFJvYVhNcE8xeHVmU0F2THlCUGRHaGxjbmRwYzJVZ2NHVnZjR3hsSUdOaGJpQndhWEJsSUZkeWFYUmhZbXhsSUhOMGNtVmhiWE1zSUhkb2FXTm9JR2x6SUdwMWMzUWdkM0p2Ym1jdVhHNWNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG5CcGNHVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJR1Z5Y205eVQzSkVaWE4wY205NUtIUm9hWE1zSUc1bGR5QkZVbEpmVTFSU1JVRk5YME5CVGs1UFZGOVFTVkJGS0NrcE8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2QzSnBkR1ZCWm5SbGNrVnVaQ2h6ZEhKbFlXMHNJR05pS1NCN1hHNGdJSFpoY2lCbGNpQTlJRzVsZHlCRlVsSmZVMVJTUlVGTlgxZFNTVlJGWDBGR1ZFVlNYMFZPUkNncE95QXZMeUJVVDBSUE9pQmtaV1psY2lCbGNuSnZjaUJsZG1WdWRITWdZMjl1YzJsemRHVnVkR3g1SUdWMlpYSjVkMmhsY21Vc0lHNXZkQ0JxZFhOMElIUm9aU0JqWWx4dVhHNGdJR1Z5Y205eVQzSkVaWE4wY205NUtITjBjbVZoYlN3Z1pYSXBPMXh1SUNCd2NtOWpaWE56TG01bGVIUlVhV05yS0dOaUxDQmxjaWs3WEc1OUlDOHZJRU5vWldOcmN5QjBhR0YwSUdFZ2RYTmxjaTF6ZFhCd2JHbGxaQ0JqYUhWdWF5QnBjeUIyWVd4cFpDd2daWE53WldOcFlXeHNlU0JtYjNJZ2RHaGxJSEJoY25ScFkzVnNZWEpjYmk4dklHMXZaR1VnZEdobElITjBjbVZoYlNCcGN5QnBiaTRnUTNWeWNtVnVkR3g1SUhSb2FYTWdiV1ZoYm5NZ2RHaGhkQ0JnYm5Wc2JHQWdhWE1nYm1WMlpYSWdZV05qWlhCMFpXUmNiaTh2SUdGdVpDQjFibVJsWm1sdVpXUXZibTl1TFhOMGNtbHVaeUIyWVd4MVpYTWdZWEpsSUc5dWJIa2dZV3hzYjNkbFpDQnBiaUJ2WW1wbFkzUWdiVzlrWlM1Y2JseHVYRzVtZFc1amRHbHZiaUIyWVd4cFpFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQmpZaWtnZTF4dUlDQjJZWElnWlhJN1hHNWNiaUFnYVdZZ0tHTm9kVzVySUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWlhJZ1BTQnVaWGNnUlZKU1gxTlVVa1ZCVFY5T1ZVeE1YMVpCVEZWRlV5Z3BPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUFoUFQwZ0ozTjBjbWx1WnljZ0ppWWdJWE4wWVhSbExtOWlhbVZqZEUxdlpHVXBJSHRjYmlBZ0lDQmxjaUE5SUc1bGR5QkZVbEpmU1U1V1FVeEpSRjlCVWtkZlZGbFFSU2duWTJoMWJtc25MQ0JiSjNOMGNtbHVaeWNzSUNkQ2RXWm1aWEluWFN3Z1kyaDFibXNwTzF4dUlDQjlYRzVjYmlBZ2FXWWdLR1Z5S1NCN1hHNGdJQ0FnWlhKeWIzSlBja1JsYzNSeWIza29jM1J5WldGdExDQmxjaWs3WEc0Z0lDQWdjSEp2WTJWemN5NXVaWGgwVkdsamF5aGpZaXdnWlhJcE8xeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBjblZsTzF4dWZWeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaUFvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVJQ0IyWVhJZ2NtVjBJRDBnWm1Gc2MyVTdYRzVjYmlBZ2RtRnlJR2x6UW5WbUlEMGdJWE4wWVhSbExtOWlhbVZqZEUxdlpHVWdKaVlnWDJselZXbHVkRGhCY25KaGVTaGphSFZ1YXlrN1hHNWNiaUFnYVdZZ0tHbHpRblZtSUNZbUlDRkNkV1ptWlhJdWFYTkNkV1ptWlhJb1kyaDFibXNwS1NCN1hHNGdJQ0FnWTJoMWJtc2dQU0JmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5S0dOb2RXNXJLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1pXNWpiMlJwYm1jZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JqWWlBOUlHVnVZMjlrYVc1bk8xeHVJQ0FnSUdWdVkyOWthVzVuSUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHBjMEoxWmlrZ1pXNWpiMlJwYm1jZ1BTQW5ZblZtWm1WeUp6dGxiSE5sSUdsbUlDZ2haVzVqYjJScGJtY3BJR1Z1WTI5a2FXNW5JRDBnYzNSaGRHVXVaR1ZtWVhWc2RFVnVZMjlrYVc1bk8xeHVJQ0JwWmlBb2RIbHdaVzltSUdOaUlDRTlQU0FuWm5WdVkzUnBiMjRuS1NCallpQTlJRzV2Y0R0Y2JpQWdhV1lnS0hOMFlYUmxMbVZ1WkdsdVp5a2dkM0pwZEdWQlpuUmxja1Z1WkNoMGFHbHpMQ0JqWWlrN1pXeHpaU0JwWmlBb2FYTkNkV1lnZkh3Z2RtRnNhV1JEYUhWdWF5aDBhR2x6TENCemRHRjBaU3dnWTJoMWJtc3NJR05pS1NrZ2UxeHVJQ0FnSUhOMFlYUmxMbkJsYm1ScGJtZGpZaXNyTzF4dUlDQWdJSEpsZENBOUlIZHlhWFJsVDNKQ2RXWm1aWElvZEdocGN5d2djM1JoZEdVc0lHbHpRblZtTENCamFIVnVheXdnWlc1amIyUnBibWNzSUdOaUtUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVjBPMXh1ZlR0Y2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbU52Y21zZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVZMjl5YTJWa0t5czdYRzU5TzF4dVhHNVhjbWwwWVdKc1pTNXdjbTkwYjNSNWNHVXVkVzVqYjNKcklEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnYzNSaGRHVWdQU0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTzF4dVhHNGdJR2xtSUNoemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQnpkR0YwWlM1amIzSnJaV1F0TFR0Y2JpQWdJQ0JwWmlBb0lYTjBZWFJsTG5keWFYUnBibWNnSmlZZ0lYTjBZWFJsTG1OdmNtdGxaQ0FtSmlBaGMzUmhkR1V1WW5WbVptVnlVSEp2WTJWemMybHVaeUFtSmlCemRHRjBaUzVpZFdabVpYSmxaRkpsY1hWbGMzUXBJR05zWldGeVFuVm1abVZ5S0hSb2FYTXNJSE4wWVhSbEtUdGNiaUFnZlZ4dWZUdGNibHh1VjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTG5ObGRFUmxabUYxYkhSRmJtTnZaR2x1WnlBOUlHWjFibU4wYVc5dUlITmxkRVJsWm1GMWJIUkZibU52WkdsdVp5aGxibU52WkdsdVp5a2dlMXh1SUNBdkx5QnViMlJsT2pwUVlYSnpaVVZ1WTI5a2FXNW5LQ2tnY21WeGRXbHlaWE1nYkc5M1pYSWdZMkZ6WlM1Y2JpQWdhV1lnS0hSNWNHVnZaaUJsYm1OdlpHbHVaeUE5UFQwZ0ozTjBjbWx1WnljcElHVnVZMjlrYVc1bklEMGdaVzVqYjJScGJtY3VkRzlNYjNkbGNrTmhjMlVvS1R0Y2JpQWdhV1lnS0NFb1d5ZG9aWGduTENBbmRYUm1PQ2NzSUNkMWRHWXRPQ2NzSUNkaGMyTnBhU2NzSUNkaWFXNWhjbmtuTENBblltRnpaVFkwSnl3Z0ozVmpjekluTENBbmRXTnpMVEluTENBbmRYUm1NVFpzWlNjc0lDZDFkR1l0TVRac1pTY3NJQ2R5WVhjblhTNXBibVJsZUU5bUtDaGxibU52WkdsdVp5QXJJQ2NuS1M1MGIweHZkMlZ5UTJGelpTZ3BLU0ErSUMweEtTa2dkR2h5YjNjZ2JtVjNJRVZTVWw5VlRrdE9UMWRPWDBWT1EwOUVTVTVIS0dWdVkyOWthVzVuS1R0Y2JpQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVrWldaaGRXeDBSVzVqYjJScGJtY2dQU0JsYm1OdlpHbHVaenRjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVjNKcGRHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmQzSnBkR0ZpYkdWQ2RXWm1aWEluTENCN1hHNGdJQzh2SUcxaGEybHVaeUJwZENCbGVIQnNhV05wZENCMGFHbHpJSEJ5YjNCbGNuUjVJR2x6SUc1dmRDQmxiblZ0WlhKaFlteGxYRzRnSUM4dklHSmxZMkYxYzJVZ2IzUm9aWEozYVhObElITnZiV1VnY0hKdmRHOTBlWEJsSUcxaGJtbHdkV3hoZEdsdmJpQnBibHh1SUNBdkx5QjFjMlZ5YkdGdVpDQjNhV3hzSUdaaGFXeGNiaUFnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lHZGxkRG9nWm5WdVkzUnBiMjRnWjJWMEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WjJWMFFuVm1abVZ5S0NrN1hHNGdJSDFjYm4wcE8xeHVYRzVtZFc1amRHbHZiaUJrWldOdlpHVkRhSFZ1YXloemRHRjBaU3dnWTJoMWJtc3NJR1Z1WTI5a2FXNW5LU0I3WEc0Z0lHbG1JQ2doYzNSaGRHVXViMkpxWldOMFRXOWtaU0FtSmlCemRHRjBaUzVrWldOdlpHVlRkSEpwYm1keklDRTlQU0JtWVd4elpTQW1KaUIwZVhCbGIyWWdZMmgxYm1zZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdZMmgxYm1zZ1BTQkNkV1ptWlhJdVpuSnZiU2hqYUhWdWF5d2daVzVqYjJScGJtY3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR05vZFc1ck8xeHVmVnh1WEc1UFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29WM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMQ0FuZDNKcGRHRmliR1ZJYVdkb1YyRjBaWEpOWVhKckp5d2dlMXh1SUNBdkx5QnRZV3RwYm1jZ2FYUWdaWGh3YkdsamFYUWdkR2hwY3lCd2NtOXdaWEowZVNCcGN5QnViM1FnWlc1MWJXVnlZV0pzWlZ4dUlDQXZMeUJpWldOaGRYTmxJRzkwYUdWeWQybHpaU0J6YjIxbElIQnliM1J2ZEhsd1pTQnRZVzVwY0hWc1lYUnBiMjRnYVc1Y2JpQWdMeThnZFhObGNteGhibVFnZDJsc2JDQm1ZV2xzWEc0Z0lHVnVkVzFsY21GaWJHVTZJR1poYkhObExGeHVJQ0JuWlhRNklHWjFibU4wYVc5dUlHZGxkQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKck8xeHVJQ0I5WEc1OUtUc2dMeThnYVdZZ2QyVW5jbVVnWVd4eVpXRmtlU0IzY21sMGFXNW5JSE52YldWMGFHbHVaeXdnZEdobGJpQnFkWE4wSUhCMWRDQjBhR2x6WEc0dkx5QnBiaUIwYUdVZ2NYVmxkV1VzSUdGdVpDQjNZV2wwSUc5MWNpQjBkWEp1TGlBZ1QzUm9aWEozYVhObExDQmpZV3hzSUY5M2NtbDBaVnh1THk4Z1NXWWdkMlVnY21WMGRYSnVJR1poYkhObExDQjBhR1Z1SUhkbElHNWxaV1FnWVNCa2NtRnBiaUJsZG1WdWRDd2djMjhnYzJWMElIUm9ZWFFnWm14aFp5NWNibHh1Wm5WdVkzUnBiMjRnZDNKcGRHVlBja0oxWm1abGNpaHpkSEpsWVcwc0lITjBZWFJsTENCcGMwSjFaaXdnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0JwWmlBb0lXbHpRblZtS1NCN1hHNGdJQ0FnZG1GeUlHNWxkME5vZFc1cklEMGdaR1ZqYjJSbFEyaDFibXNvYzNSaGRHVXNJR05vZFc1ckxDQmxibU52WkdsdVp5azdYRzVjYmlBZ0lDQnBaaUFvWTJoMWJtc2dJVDA5SUc1bGQwTm9kVzVyS1NCN1hHNGdJQ0FnSUNCcGMwSjFaaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQmxibU52WkdsdVp5QTlJQ2RpZFdabVpYSW5PMXh1SUNBZ0lDQWdZMmgxYm1zZ1BTQnVaWGREYUhWdWF6dGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnYkdWdUlEMGdjM1JoZEdVdWIySnFaV04wVFc5a1pTQS9JREVnT2lCamFIVnVheTVzWlc1bmRHZzdYRzRnSUhOMFlYUmxMbXhsYm1kMGFDQXJQU0JzWlc0N1hHNGdJSFpoY2lCeVpYUWdQU0J6ZEdGMFpTNXNaVzVuZEdnZ1BDQnpkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPeUF2THlCM1pTQnRkWE4wSUdWdWMzVnlaU0IwYUdGMElIQnlaWFpwYjNWeklHNWxaV1JFY21GcGJpQjNhV3hzSUc1dmRDQmlaU0J5WlhObGRDQjBieUJtWVd4elpTNWNibHh1SUNCcFppQW9JWEpsZENrZ2MzUmhkR1V1Ym1WbFpFUnlZV2x1SUQwZ2RISjFaVHRjYmx4dUlDQnBaaUFvYzNSaGRHVXVkM0pwZEdsdVp5QjhmQ0J6ZEdGMFpTNWpiM0pyWldRcElIdGNiaUFnSUNCMllYSWdiR0Z6ZENBOUlITjBZWFJsTG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRN1hHNGdJQ0FnYzNSaGRHVXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUh0Y2JpQWdJQ0FnSUdOb2RXNXJPaUJqYUhWdWF5eGNiaUFnSUNBZ0lHVnVZMjlrYVc1bk9pQmxibU52WkdsdVp5eGNiaUFnSUNBZ0lHbHpRblZtT2lCcGMwSjFaaXhjYmlBZ0lDQWdJR05oYkd4aVlXTnJPaUJqWWl4Y2JpQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnYVdZZ0tHeGhjM1FwSUh0Y2JpQWdJQ0FnSUd4aGMzUXVibVY0ZENBOUlITjBZWFJsTG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlITjBZWFJsTG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYzNSaGRHVXVZblZtWm1WeVpXUlNaWEYxWlhOMFEyOTFiblFnS3owZ01UdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQmtiMWR5YVhSbEtITjBjbVZoYlN3Z2MzUmhkR1VzSUdaaGJITmxMQ0JzWlc0c0lHTm9kVzVyTENCbGJtTnZaR2x1Wnl3Z1kySXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsZER0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWkc5WGNtbDBaU2h6ZEhKbFlXMHNJSE4wWVhSbExDQjNjbWwwWlhZc0lHeGxiaXdnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0J6ZEdGMFpTNTNjbWwwWld4bGJpQTlJR3hsYmp0Y2JpQWdjM1JoZEdVdWQzSnBkR1ZqWWlBOUlHTmlPMXh1SUNCemRHRjBaUzUzY21sMGFXNW5JRDBnZEhKMVpUdGNiaUFnYzNSaGRHVXVjM2x1WXlBOUlIUnlkV1U3WEc0Z0lHbG1JQ2h6ZEdGMFpTNWtaWE4wY205NVpXUXBJSE4wWVhSbExtOXVkM0pwZEdVb2JtVjNJRVZTVWw5VFZGSkZRVTFmUkVWVFZGSlBXVVZFS0NkM2NtbDBaU2NwS1R0bGJITmxJR2xtSUNoM2NtbDBaWFlwSUhOMGNtVmhiUzVmZDNKcGRHVjJLR05vZFc1ckxDQnpkR0YwWlM1dmJuZHlhWFJsS1R0bGJITmxJSE4wY21WaGJTNWZkM0pwZEdVb1kyaDFibXNzSUdWdVkyOWthVzVuTENCemRHRjBaUzV2Ym5keWFYUmxLVHRjYmlBZ2MzUmhkR1V1YzNsdVl5QTlJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJuZHlhWFJsUlhKeWIzSW9jM1J5WldGdExDQnpkR0YwWlN3Z2MzbHVZeXdnWlhJc0lHTmlLU0I3WEc0Z0lDMHRjM1JoZEdVdWNHVnVaR2x1WjJOaU8xeHVYRzRnSUdsbUlDaHplVzVqS1NCN1hHNGdJQ0FnTHk4Z1pHVm1aWElnZEdobElHTmhiR3hpWVdOcklHbG1JSGRsSUdGeVpTQmlaV2x1WnlCallXeHNaV1FnYzNsdVkyaHliMjV2ZFhOc2VWeHVJQ0FnSUM4dklIUnZJR0YyYjJsa0lIQnBiR2x1WnlCMWNDQjBhR2x1WjNNZ2IyNGdkR2hsSUhOMFlXTnJYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXloallpd2daWElwT3lBdkx5QjBhR2x6SUdOaGJpQmxiV2wwSUdacGJtbHphQ3dnWVc1a0lHbDBJSGRwYkd3Z1lXeDNZWGx6SUdoaGNIQmxibHh1SUNBZ0lDOHZJR0ZtZEdWeUlHVnljbTl5WEc1Y2JpQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1pwYm1semFFMWhlV0psTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ0lDQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnlLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCMGFHVWdZMkZzYkdWeUlHVjRjR1ZqZENCMGFHbHpJSFJ2SUdoaGNIQmxiaUJpWldadmNtVWdhV1pjYmlBZ0lDQXZMeUJwZENCcGN5QmhjM2x1WTF4dUlDQWdJR05pS0dWeUtUdGNiaUFnSUNCemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXVaWEp5YjNKRmJXbDBkR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQmxjbkp2Y2s5eVJHVnpkSEp2ZVNoemRISmxZVzBzSUdWeUtUc2dMeThnZEdocGN5QmpZVzRnWlcxcGRDQm1hVzVwYzJnc0lHSjFkQ0JtYVc1cGMyZ2diWFZ6ZEZ4dUlDQWdJQzh2SUdGc2QyRjVjeUJtYjJ4c2IzY2daWEp5YjNKY2JseHVJQ0FnSUdacGJtbHphRTFoZVdKbEtITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOXVkM0pwZEdWVGRHRjBaVlZ3WkdGMFpTaHpkR0YwWlNrZ2UxeHVJQ0J6ZEdGMFpTNTNjbWwwYVc1bklEMGdabUZzYzJVN1hHNGdJSE4wWVhSbExuZHlhWFJsWTJJZ1BTQnVkV3hzTzF4dUlDQnpkR0YwWlM1c1pXNW5kR2dnTFQwZ2MzUmhkR1V1ZDNKcGRHVnNaVzQ3WEc0Z0lITjBZWFJsTG5keWFYUmxiR1Z1SUQwZ01EdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNTNjbWwwWlNoemRISmxZVzBzSUdWeUtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlITjBjbVZoYlM1ZmQzSnBkR0ZpYkdWVGRHRjBaVHRjYmlBZ2RtRnlJSE41Ym1NZ1BTQnpkR0YwWlM1emVXNWpPMXh1SUNCMllYSWdZMklnUFNCemRHRjBaUzUzY21sMFpXTmlPMXh1SUNCcFppQW9kSGx3Wlc5bUlHTmlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjBhSEp2ZHlCdVpYY2dSVkpTWDAxVlRGUkpVRXhGWDBOQlRFeENRVU5MS0NrN1hHNGdJRzl1ZDNKcGRHVlRkR0YwWlZWd1pHRjBaU2h6ZEdGMFpTazdYRzRnSUdsbUlDaGxjaWtnYjI1M2NtbDBaVVZ5Y205eUtITjBjbVZoYlN3Z2MzUmhkR1VzSUhONWJtTXNJR1Z5TENCallpazdaV3h6WlNCN1hHNGdJQ0FnTHk4Z1EyaGxZMnNnYVdZZ2QyVW5jbVVnWVdOMGRXRnNiSGtnY21WaFpIa2dkRzhnWm1sdWFYTm9MQ0JpZFhRZ1pHOXVKM1FnWlcxcGRDQjVaWFJjYmlBZ0lDQjJZWElnWm1sdWFYTm9aV1FnUFNCdVpXVmtSbWx1YVhOb0tITjBZWFJsS1NCOGZDQnpkSEpsWVcwdVpHVnpkSEp2ZVdWa08xeHVYRzRnSUNBZ2FXWWdLQ0ZtYVc1cGMyaGxaQ0FtSmlBaGMzUmhkR1V1WTI5eWEyVmtJQ1ltSUNGemRHRjBaUzVpZFdabVpYSlFjbTlqWlhOemFXNW5JQ1ltSUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemRDa2dlMXh1SUNBZ0lDQWdZMnhsWVhKQ2RXWm1aWElvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE41Ym1NcElIdGNiaUFnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1lXWjBaWEpYY21sMFpTd2djM1J5WldGdExDQnpkR0YwWlN3Z1ptbHVhWE5vWldRc0lHTmlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lXWjBaWEpYY21sMFpTaHpkSEpsWVcwc0lITjBZWFJsTENCbWFXNXBjMmhsWkN3Z1kySXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJoWm5SbGNsZHlhWFJsS0hOMGNtVmhiU3dnYzNSaGRHVXNJR1pwYm1semFHVmtMQ0JqWWlrZ2UxeHVJQ0JwWmlBb0lXWnBibWx6YUdWa0tTQnZibmR5YVhSbFJISmhhVzRvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUhOMFlYUmxMbkJsYm1ScGJtZGpZaTB0TzF4dUlDQmpZaWdwTzF4dUlDQm1hVzVwYzJoTllYbGlaU2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNibjBnTHk4Z1RYVnpkQ0JtYjNKalpTQmpZV3hzWW1GamF5QjBieUJpWlNCallXeHNaV1FnYjI0Z2JtVjRkRlJwWTJzc0lITnZJSFJvWVhRZ2QyVWdaRzl1SjNSY2JpOHZJR1Z0YVhRZ0oyUnlZV2x1SnlCaVpXWnZjbVVnZEdobElIZHlhWFJsS0NrZ1kyOXVjM1Z0WlhJZ1oyVjBjeUIwYUdVZ0oyWmhiSE5sSnlCeVpYUjFjbTVjYmk4dklIWmhiSFZsTENCaGJtUWdhR0Z6SUdFZ1kyaGhibU5sSUhSdklHRjBkR0ZqYUNCaElDZGtjbUZwYmljZ2JHbHpkR1Z1WlhJdVhHNWNibHh1Wm5WdVkzUnBiMjRnYjI1M2NtbDBaVVJ5WVdsdUtITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdhV1lnS0hOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNBbUppQnpkR0YwWlM1dVpXVmtSSEpoYVc0cElIdGNiaUFnSUNCemRHRjBaUzV1WldWa1JISmhhVzRnUFNCbVlXeHpaVHRjYmlBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWkhKaGFXNG5LVHRjYmlBZ2ZWeHVmU0F2THlCcFppQjBhR1Z5WlNkeklITnZiV1YwYUdsdVp5QnBiaUIwYUdVZ1luVm1abVZ5SUhkaGFYUnBibWNzSUhSb1pXNGdjSEp2WTJWemN5QnBkRnh1WEc1Y2JtWjFibU4wYVc5dUlHTnNaV0Z5UW5WbVptVnlLSE4wY21WaGJTd2djM1JoZEdVcElIdGNiaUFnYzNSaGRHVXVZblZtWm1WeVVISnZZMlZ6YzJsdVp5QTlJSFJ5ZFdVN1hHNGdJSFpoY2lCbGJuUnllU0E5SUhOMFlYUmxMbUoxWm1abGNtVmtVbVZ4ZFdWemREdGNibHh1SUNCcFppQW9jM1J5WldGdExsOTNjbWwwWlhZZ0ppWWdaVzUwY25rZ0ppWWdaVzUwY25rdWJtVjRkQ2tnZTF4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlN3Z2QzSnBkR1VnWlhabGNubDBhR2x1WnlCMWMybHVaeUJmZDNKcGRHVjJLQ2xjYmlBZ0lDQjJZWElnYkNBOUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkRU52ZFc1ME8xeHVJQ0FnSUhaaGNpQmlkV1ptWlhJZ1BTQnVaWGNnUVhKeVlYa29iQ2s3WEc0Z0lDQWdkbUZ5SUdodmJHUmxjaUE5SUhOMFlYUmxMbU52Y210bFpGSmxjWFZsYzNSelJuSmxaVHRjYmlBZ0lDQm9iMnhrWlhJdVpXNTBjbmtnUFNCbGJuUnllVHRjYmlBZ0lDQjJZWElnWTI5MWJuUWdQU0F3TzF4dUlDQWdJSFpoY2lCaGJHeENkV1ptWlhKeklEMGdkSEoxWlR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2hsYm5SeWVTa2dlMXh1SUNBZ0lDQWdZblZtWm1WeVcyTnZkVzUwWFNBOUlHVnVkSEo1TzF4dUlDQWdJQ0FnYVdZZ0tDRmxiblJ5ZVM1cGMwSjFaaWtnWVd4c1FuVm1abVZ5Y3lBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnWlc1MGNua2dQU0JsYm5SeWVTNXVaWGgwTzF4dUlDQWdJQ0FnWTI5MWJuUWdLejBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JpZFdabVpYSXVZV3hzUW5WbVptVnljeUE5SUdGc2JFSjFabVpsY25NN1hHNGdJQ0FnWkc5WGNtbDBaU2h6ZEhKbFlXMHNJSE4wWVhSbExDQjBjblZsTENCemRHRjBaUzVzWlc1bmRHZ3NJR0oxWm1abGNpd2dKeWNzSUdodmJHUmxjaTVtYVc1cGMyZ3BPeUF2THlCa2IxZHlhWFJsSUdseklHRnNiVzl6ZENCaGJIZGhlWE1nWVhONWJtTXNJR1JsWm1WeUlIUm9aWE5sSUhSdklITmhkbVVnWVNCaWFYUWdiMllnZEdsdFpWeHVJQ0FnSUM4dklHRnpJSFJvWlNCb2IzUWdjR0YwYUNCbGJtUnpJSGRwZEdnZ1pHOVhjbWwwWlZ4dVhHNGdJQ0FnYzNSaGRHVXVjR1Z1WkdsdVoyTmlLeXM3WEc0Z0lDQWdjM1JoZEdVdWJHRnpkRUoxWm1abGNtVmtVbVZ4ZFdWemRDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9hRzlzWkdWeUxtNWxlSFFwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbU52Y210bFpGSmxjWFZsYzNSelJuSmxaU0E5SUdodmJHUmxjaTV1WlhoME8xeHVJQ0FnSUNBZ2FHOXNaR1Z5TG01bGVIUWdQU0J1ZFd4c08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWpiM0pyWldSU1pYRjFaWE4wYzBaeVpXVWdQU0J1WlhjZ1EyOXlhMlZrVW1WeGRXVnpkQ2h6ZEdGMFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzUmhkR1V1WW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RZ1BTQXdPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUZOc2IzY2dZMkZ6WlN3Z2QzSnBkR1VnWTJoMWJtdHpJRzl1WlMxaWVTMXZibVZjYmlBZ0lDQjNhR2xzWlNBb1pXNTBjbmtwSUh0Y2JpQWdJQ0FnSUhaaGNpQmphSFZ1YXlBOUlHVnVkSEo1TG1Ob2RXNXJPMXh1SUNBZ0lDQWdkbUZ5SUdWdVkyOWthVzVuSUQwZ1pXNTBjbmt1Wlc1amIyUnBibWM3WEc0Z0lDQWdJQ0IyWVhJZ1kySWdQU0JsYm5SeWVTNWpZV3hzWW1GamF6dGNiaUFnSUNBZ0lIWmhjaUJzWlc0Z1BTQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNU0E2SUdOb2RXNXJMbXhsYm1kMGFEdGNiaUFnSUNBZ0lHUnZWM0pwZEdVb2MzUnlaV0Z0TENCemRHRjBaU3dnWm1Gc2MyVXNJR3hsYml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpazdYRzRnSUNBZ0lDQmxiblJ5ZVNBOUlHVnVkSEo1TG01bGVIUTdYRzRnSUNBZ0lDQnpkR0YwWlM1aWRXWm1aWEpsWkZKbGNYVmxjM1JEYjNWdWRDMHRPeUF2THlCcFppQjNaU0JrYVdSdUozUWdZMkZzYkNCMGFHVWdiMjUzY21sMFpTQnBiVzFsWkdsaGRHVnNlU3dnZEdobGJseHVJQ0FnSUNBZ0x5OGdhWFFnYldWaGJuTWdkR2hoZENCM1pTQnVaV1ZrSUhSdklIZGhhWFFnZFc1MGFXd2dhWFFnWkc5bGN5NWNiaUFnSUNBZ0lDOHZJR0ZzYzI4c0lIUm9ZWFFnYldWaGJuTWdkR2hoZENCMGFHVWdZMmgxYm1zZ1lXNWtJR05pSUdGeVpTQmpkWEp5Wlc1MGJIbGNiaUFnSUNBZ0lDOHZJR0psYVc1bklIQnliMk5sYzNObFpDd2djMjhnYlc5MlpTQjBhR1VnWW5WbVptVnlJR052ZFc1MFpYSWdjR0Z6ZENCMGFHVnRMbHh1WEc0Z0lDQWdJQ0JwWmlBb2MzUmhkR1V1ZDNKcGRHbHVaeWtnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWlc1MGNua2dQVDA5SUc1MWJHd3BJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUWdQU0J1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdVluVm1abVZ5WldSU1pYRjFaWE4wSUQwZ1pXNTBjbms3WEc0Z0lITjBZWFJsTG1KMVptWmxjbEJ5YjJObGMzTnBibWNnUFNCbVlXeHpaVHRjYm4xY2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbDkzY21sMFpTQTlJR1oxYm1OMGFXOXVJQ2hqYUhWdWF5d2daVzVqYjJScGJtY3NJR05pS1NCN1hHNGdJR05pS0c1bGR5QkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDZ25YM2R5YVhSbEtDa25LU2s3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxkaUE5SUc1MWJHdzdYRzVjYmxkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlM1bGJtUWdQU0JtZFc1amRHbHZiaUFvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1kyaDFibXNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQmpZaUE5SUdOb2RXNXJPMXh1SUNBZ0lHTm9kVzVySUQwZ2JuVnNiRHRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR1Z1WTI5a2FXNW5JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ1kySWdQU0JsYm1OdlpHbHVaenRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnBaaUFvWTJoMWJtc2dJVDA5SUc1MWJHd2dKaVlnWTJoMWJtc2dJVDA5SUhWdVpHVm1hVzVsWkNrZ2RHaHBjeTUzY21sMFpTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jcE95QXZMeUF1Wlc1a0tDa2dablZzYkhrZ2RXNWpiM0pyYzF4dVhHNGdJR2xtSUNoemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQnpkR0YwWlM1amIzSnJaV1FnUFNBeE8xeHVJQ0FnSUhSb2FYTXVkVzVqYjNKcktDazdYRzRnSUgwZ0x5OGdhV2R1YjNKbElIVnVibVZqWlhOellYSjVJR1Z1WkNncElHTmhiR3h6TGx4dVhHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1bGJtUnBibWNwSUdWdVpGZHlhWFJoWW14bEtIUm9hWE1zSUhOMFlYUmxMQ0JqWWlrN1hHNGdJSEpsZEhWeWJpQjBhR2x6TzF4dWZUdGNibHh1VDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtGZHlhWFJoWW14bExuQnliM1J2ZEhsd1pTd2dKM2R5YVhSaFlteGxUR1Z1WjNSb0p5d2dlMXh1SUNBdkx5QnRZV3RwYm1jZ2FYUWdaWGh3YkdsamFYUWdkR2hwY3lCd2NtOXdaWEowZVNCcGN5QnViM1FnWlc1MWJXVnlZV0pzWlZ4dUlDQXZMeUJpWldOaGRYTmxJRzkwYUdWeWQybHpaU0J6YjIxbElIQnliM1J2ZEhsd1pTQnRZVzVwY0hWc1lYUnBiMjRnYVc1Y2JpQWdMeThnZFhObGNteGhibVFnZDJsc2JDQm1ZV2xzWEc0Z0lHVnVkVzFsY21GaWJHVTZJR1poYkhObExGeHVJQ0JuWlhRNklHWjFibU4wYVc5dUlHZGxkQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVzWlc1bmRHZzdYRzRnSUgxY2JuMHBPMXh1WEc1bWRXNWpkR2x2YmlCdVpXVmtSbWx1YVhOb0tITjBZWFJsS1NCN1hHNGdJSEpsZEhWeWJpQnpkR0YwWlM1bGJtUnBibWNnSmlZZ2MzUmhkR1V1YkdWdVozUm9JRDA5UFNBd0lDWW1JSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZENBOVBUMGdiblZzYkNBbUppQWhjM1JoZEdVdVptbHVhWE5vWldRZ0ppWWdJWE4wWVhSbExuZHlhWFJwYm1jN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOaGJHeEdhVzVoYkNoemRISmxZVzBzSUhOMFlYUmxLU0I3WEc0Z0lITjBjbVZoYlM1ZlptbHVZV3dvWm5WdVkzUnBiMjRnS0dWeWNpa2dlMXh1SUNBZ0lITjBZWFJsTG5CbGJtUnBibWRqWWkwdE8xeHVYRzRnSUNBZ2FXWWdLR1Z5Y2lrZ2UxeHVJQ0FnSUNBZ1pYSnliM0pQY2tSbGMzUnliM2tvYzNSeVpXRnRMQ0JsY25JcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhOMFlYUmxMbkJ5WldacGJtbHphR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duY0hKbFptbHVhWE5vSnlrN1hHNGdJQ0FnWm1sdWFYTm9UV0Y1WW1Vb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lIMHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndjbVZtYVc1cGMyZ29jM1J5WldGdExDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb0lYTjBZWFJsTG5CeVpXWnBibWx6YUdWa0lDWW1JQ0Z6ZEdGMFpTNW1hVzVoYkVOaGJHeGxaQ2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYzNSeVpXRnRMbDltYVc1aGJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQWhjM1JoZEdVdVpHVnpkSEp2ZVdWa0tTQjdYRzRnSUNBZ0lDQnpkR0YwWlM1d1pXNWthVzVuWTJJckt6dGNiaUFnSUNBZ0lITjBZWFJsTG1acGJtRnNRMkZzYkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWTJGc2JFWnBibUZzTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2MzUmhkR1V1Y0hKbFptbHVhWE5vWldRZ1BTQjBjblZsTzF4dUlDQWdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0ozQnlaV1pwYm1semFDY3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtYVc1cGMyaE5ZWGxpWlNoemRISmxZVzBzSUhOMFlYUmxLU0I3WEc0Z0lIWmhjaUJ1WldWa0lEMGdibVZsWkVacGJtbHphQ2h6ZEdGMFpTazdYRzVjYmlBZ2FXWWdLRzVsWldRcElIdGNiaUFnSUNCd2NtVm1hVzVwYzJnb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc1Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1Y0dWdVpHbHVaMk5pSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNW1hVzVwYzJobFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCemRISmxZVzB1WlcxcGRDZ25abWx1YVhOb0p5azdYRzVjYmlBZ0lDQWdJR2xtSUNoemRHRjBaUzVoZFhSdlJHVnpkSEp2ZVNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJKYmlCallYTmxJRzltSUdSMWNHeGxlQ0J6ZEhKbFlXMXpJSGRsSUc1bFpXUWdZU0IzWVhrZ2RHOGdaR1YwWldOMFhHNGdJQ0FnSUNBZ0lDOHZJR2xtSUhSb1pTQnlaV0ZrWVdKc1pTQnphV1JsSUdseklISmxZV1I1SUdadmNpQmhkWFJ2UkdWemRISnZlU0JoY3lCM1pXeHNYRzRnSUNBZ0lDQWdJSFpoY2lCeVUzUmhkR1VnUFNCemRISmxZVzB1WDNKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRnlVM1JoZEdVZ2ZId2djbE4wWVhSbExtRjFkRzlFWlhOMGNtOTVJQ1ltSUhKVGRHRjBaUzVsYm1SRmJXbDBkR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjM1J5WldGdExtUmxjM1J5YjNrb0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnVaV1ZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsYm1SWGNtbDBZV0pzWlNoemRISmxZVzBzSUhOMFlYUmxMQ0JqWWlrZ2UxeHVJQ0J6ZEdGMFpTNWxibVJwYm1jZ1BTQjBjblZsTzF4dUlDQm1hVzVwYzJoTllYbGlaU2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNibHh1SUNCcFppQW9ZMklwSUh0Y2JpQWdJQ0JwWmlBb2MzUmhkR1V1Wm1sdWFYTm9aV1FwSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWTJJcE8yVnNjMlVnYzNSeVpXRnRMbTl1WTJVb0oyWnBibWx6YUNjc0lHTmlLVHRjYmlBZ2ZWeHVYRzRnSUhOMFlYUmxMbVZ1WkdWa0lEMGdkSEoxWlR0Y2JpQWdjM1J5WldGdExuZHlhWFJoWW14bElEMGdabUZzYzJVN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUc5dVEyOXlhMlZrUm1sdWFYTm9LR052Y210U1pYRXNJSE4wWVhSbExDQmxjbklwSUh0Y2JpQWdkbUZ5SUdWdWRISjVJRDBnWTI5eWExSmxjUzVsYm5SeWVUdGNiaUFnWTI5eWExSmxjUzVsYm5SeWVTQTlJRzUxYkd3N1hHNWNiaUFnZDJocGJHVWdLR1Z1ZEhKNUtTQjdYRzRnSUNBZ2RtRnlJR05pSUQwZ1pXNTBjbmt1WTJGc2JHSmhZMnM3WEc0Z0lDQWdjM1JoZEdVdWNHVnVaR2x1WjJOaUxTMDdYRzRnSUNBZ1kySW9aWEp5S1R0Y2JpQWdJQ0JsYm5SeWVTQTlJR1Z1ZEhKNUxtNWxlSFE3WEc0Z0lIMGdMeThnY21WMWMyVWdkR2hsSUdaeVpXVWdZMjl5YTFKbGNTNWNibHh1WEc0Z0lITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlM1dVpYaDBJRDBnWTI5eWExSmxjVHRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlN3Z0oyUmxjM1J5YjNsbFpDY3NJSHRjYmlBZ0x5OGdiV0ZyYVc1bklHbDBJR1Y0Y0d4cFkybDBJSFJvYVhNZ2NISnZjR1Z5ZEhrZ2FYTWdibTkwSUdWdWRXMWxjbUZpYkdWY2JpQWdMeThnWW1WallYVnpaU0J2ZEdobGNuZHBjMlVnYzI5dFpTQndjbTkwYjNSNWNHVWdiV0Z1YVhCMWJHRjBhVzl1SUdsdVhHNGdJQzh2SUhWelpYSnNZVzVrSUhkcGJHd2dabUZwYkZ4dUlDQmxiblZ0WlhKaFlteGxPaUJtWVd4elpTeGNiaUFnWjJWME9pQm1kVzVqZEdsdmJpQm5aWFFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpEdGNiaUFnZlN4Y2JpQWdjMlYwT2lCbWRXNWpkR2x2YmlCelpYUW9kbUZzZFdVcElIdGNiaUFnSUNBdkx5QjNaU0JwWjI1dmNtVWdkR2hsSUhaaGJIVmxJR2xtSUhSb1pTQnpkSEpsWVcxY2JpQWdJQ0F2THlCb1lYTWdibTkwSUdKbFpXNGdhVzVwZEdsaGJHbDZaV1FnZVdWMFhHNGdJQ0FnYVdZZ0tDRjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQXZMeUJpWVdOcmQyRnlaQ0JqYjIxd1lYUnBZbWxzYVhSNUxDQjBhR1VnZFhObGNpQnBjeUJsZUhCc2FXTnBkR3g1WEc0Z0lDQWdMeThnYldGdVlXZHBibWNnWkdWemRISnZlV1ZrWEc1Y2JseHVJQ0FnSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE8xeHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1a1pYTjBjbTk1TzF4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExsOTFibVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1MWJtUmxjM1J5YjNrN1hHNWNibGR5YVhSaFlteGxMbkJ5YjNSdmRIbHdaUzVmWkdWemRISnZlU0E5SUdaMWJtTjBhVzl1SUNobGNuSXNJR05pS1NCN1hHNGdJR05pS0dWeWNpazdYRzU5T3lKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3IuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKHByb2Nlc3MpIHtcXG5cXG52YXIgX09iamVjdCRzZXRQcm90b3R5cGVPO1xcblxcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XFxuXFxudmFyIGZpbmlzaGVkID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbmQtb2Ytc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxcIik7XFxuXFxudmFyIGtMYXN0UmVzb2x2ZSA9IFN5bWJvbCgnbGFzdFJlc29sdmUnKTtcXG52YXIga0xhc3RSZWplY3QgPSBTeW1ib2woJ2xhc3RSZWplY3QnKTtcXG52YXIga0Vycm9yID0gU3ltYm9sKCdlcnJvcicpO1xcbnZhciBrRW5kZWQgPSBTeW1ib2woJ2VuZGVkJyk7XFxudmFyIGtMYXN0UHJvbWlzZSA9IFN5bWJvbCgnbGFzdFByb21pc2UnKTtcXG52YXIga0hhbmRsZVByb21pc2UgPSBTeW1ib2woJ2hhbmRsZVByb21pc2UnKTtcXG52YXIga1N0cmVhbSA9IFN5bWJvbCgnc3RyZWFtJyk7XFxuXFxuZnVuY3Rpb24gY3JlYXRlSXRlclJlc3VsdCh2YWx1ZSwgZG9uZSkge1xcbiAgcmV0dXJuIHtcXG4gICAgdmFsdWU6IHZhbHVlLFxcbiAgICBkb25lOiBkb25lXFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiByZWFkQW5kUmVzb2x2ZShpdGVyKSB7XFxuICB2YXIgcmVzb2x2ZSA9IGl0ZXJba0xhc3RSZXNvbHZlXTtcXG5cXG4gIGlmIChyZXNvbHZlICE9PSBudWxsKSB7XFxuICAgIHZhciBkYXRhID0gaXRlcltrU3RyZWFtXS5yZWFkKCk7IC8vIHdlIGRlZmVyIGlmIGRhdGEgaXMgbnVsbFxcbiAgICAvLyB3ZSBjYW4gYmUgZXhwZWN0aW5nIGVpdGhlciAnZW5kJyBvclxcbiAgICAvLyAnZXJyb3InXFxuXFxuICAgIGlmIChkYXRhICE9PSBudWxsKSB7XFxuICAgICAgaXRlcltrTGFzdFByb21pc2VdID0gbnVsbDtcXG4gICAgICBpdGVyW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xcbiAgICAgIGl0ZXJba0xhc3RSZWplY3RdID0gbnVsbDtcXG4gICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvblJlYWRhYmxlKGl0ZXIpIHtcXG4gIC8vIHdlIHdhaXQgZm9yIHRoZSBuZXh0IHRpY2ssIGJlY2F1c2UgaXQgbWlnaHRcXG4gIC8vIGVtaXQgYW4gZXJyb3Igd2l0aCBwcm9jZXNzLm5leHRUaWNrXFxuICBwcm9jZXNzLm5leHRUaWNrKHJlYWRBbmRSZXNvbHZlLCBpdGVyKTtcXG59XFxuXFxuZnVuY3Rpb24gd3JhcEZvck5leHQobGFzdFByb21pc2UsIGl0ZXIpIHtcXG4gIHJldHVybiBmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgIGxhc3RQcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkge1xcbiAgICAgIGlmIChpdGVyW2tFbmRlZF0pIHtcXG4gICAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdCh1bmRlZmluZWQsIHRydWUpKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgaXRlcltrSGFuZGxlUHJvbWlzZV0ocmVzb2x2ZSwgcmVqZWN0KTtcXG4gICAgfSwgcmVqZWN0KTtcXG4gIH07XFxufVxcblxcbnZhciBBc3luY0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGZ1bmN0aW9uICgpIHt9KTtcXG52YXIgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LnNldFByb3RvdHlwZU9mKChfT2JqZWN0JHNldFByb3RvdHlwZU8gPSB7XFxuICBnZXQgc3RyZWFtKCkge1xcbiAgICByZXR1cm4gdGhpc1trU3RyZWFtXTtcXG4gIH0sXFxuXFxuICBuZXh0OiBmdW5jdGlvbiBuZXh0KCkge1xcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgICAvLyBpZiB3ZSBoYXZlIGRldGVjdGVkIGFuIGVycm9yIGluIHRoZSBtZWFud2hpbGVcXG4gICAgLy8gcmVqZWN0IHN0cmFpZ2h0IGF3YXlcXG4gICAgdmFyIGVycm9yID0gdGhpc1trRXJyb3JdO1xcblxcbiAgICBpZiAoZXJyb3IgIT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0aGlzW2tFbmRlZF0pIHtcXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXNba1N0cmVhbV0uZGVzdHJveWVkKSB7XFxuICAgICAgLy8gV2UgbmVlZCB0byBkZWZlciB2aWEgbmV4dFRpY2sgYmVjYXVzZSBpZiAuZGVzdHJveShlcnIpIGlzXFxuICAgICAgLy8gY2FsbGVkLCB0aGUgZXJyb3Igd2lsbCBiZSBlbWl0dGVkIHZpYSBuZXh0VGljaywgYW5kXFxuICAgICAgLy8gd2UgY2Fubm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIGlzIG5vIGVycm9yIGxpbmdlcmluZyBhcm91bmRcXG4gICAgICAvLyB3YWl0aW5nIHRvIGJlIGVtaXR0ZWQuXFxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICBpZiAoX3RoaXNba0Vycm9yXSkge1xcbiAgICAgICAgICAgIHJlamVjdChfdGhpc1trRXJyb3JdKTtcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgIH0pO1xcbiAgICB9IC8vIGlmIHdlIGhhdmUgbXVsdGlwbGUgbmV4dCgpIGNhbGxzXFxuICAgIC8vIHdlIHdpbGwgd2FpdCBmb3IgdGhlIHByZXZpb3VzIFByb21pc2UgdG8gZmluaXNoXFxuICAgIC8vIHRoaXMgbG9naWMgaXMgb3B0aW1pemVkIHRvIHN1cHBvcnQgZm9yIGF3YWl0IGxvb3BzLFxcbiAgICAvLyB3aGVyZSBuZXh0KCkgaXMgb25seSBjYWxsZWQgb25jZSBhdCBhIHRpbWVcXG5cXG5cXG4gICAgdmFyIGxhc3RQcm9taXNlID0gdGhpc1trTGFzdFByb21pc2VdO1xcbiAgICB2YXIgcHJvbWlzZTtcXG5cXG4gICAgaWYgKGxhc3RQcm9taXNlKSB7XFxuICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHdyYXBGb3JOZXh0KGxhc3RQcm9taXNlLCB0aGlzKSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gZmFzdCBwYXRoIG5lZWRlZCB0byBzdXBwb3J0IG11bHRpcGxlIHRoaXMucHVzaCgpXFxuICAgICAgLy8gd2l0aG91dCB0cmlnZ2VyaW5nIHRoZSBuZXh0KCkgcXVldWVcXG4gICAgICB2YXIgZGF0YSA9IHRoaXNba1N0cmVhbV0ucmVhZCgpO1xcblxcbiAgICAgIGlmIChkYXRhICE9PSBudWxsKSB7XFxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcXG4gICAgICB9XFxuXFxuICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHRoaXNba0hhbmRsZVByb21pc2VdKTtcXG4gICAgfVxcblxcbiAgICB0aGlzW2tMYXN0UHJvbWlzZV0gPSBwcm9taXNlO1xcbiAgICByZXR1cm4gcHJvbWlzZTtcXG4gIH1cXG59LCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRzZXRQcm90b3R5cGVPLCBTeW1ib2wuYXN5bmNJdGVyYXRvciwgZnVuY3Rpb24gKCkge1xcbiAgcmV0dXJuIHRoaXM7XFxufSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU8sIFxcXCJyZXR1cm5cXFwiLCBmdW5jdGlvbiBfcmV0dXJuKCkge1xcbiAgdmFyIF90aGlzMiA9IHRoaXM7XFxuXFxuICAvLyBkZXN0cm95KGVyciwgY2IpIGlzIGEgcHJpdmF0ZSBBUElcXG4gIC8vIHdlIGNhbiBndWFyYW50ZWUgd2UgaGF2ZSB0aGF0IGhlcmUsIGJlY2F1c2Ugd2UgY29udHJvbCB0aGVcXG4gIC8vIFJlYWRhYmxlIGNsYXNzIHRoaXMgaXMgYXR0YWNoZWQgdG9cXG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XFxuICAgIF90aGlzMltrU3RyZWFtXS5kZXN0cm95KG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICBpZiAoZXJyKSB7XFxuICAgICAgICByZWplY3QoZXJyKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xcbiAgICB9KTtcXG4gIH0pO1xcbn0pLCBfT2JqZWN0JHNldFByb3RvdHlwZU8pLCBBc3luY0l0ZXJhdG9yUHJvdG90eXBlKTtcXG5cXG52YXIgY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yID0gZnVuY3Rpb24gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHN0cmVhbSkge1xcbiAgdmFyIF9PYmplY3QkY3JlYXRlO1xcblxcbiAgdmFyIGl0ZXJhdG9yID0gT2JqZWN0LmNyZWF0ZShSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGUsIChfT2JqZWN0JGNyZWF0ZSA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtTdHJlYW0sIHtcXG4gICAgdmFsdWU6IHN0cmVhbSxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtMYXN0UmVzb2x2ZSwge1xcbiAgICB2YWx1ZTogbnVsbCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtMYXN0UmVqZWN0LCB7XFxuICAgIHZhbHVlOiBudWxsLFxcbiAgICB3cml0YWJsZTogdHJ1ZVxcbiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JGNyZWF0ZSwga0Vycm9yLCB7XFxuICAgIHZhbHVlOiBudWxsLFxcbiAgICB3cml0YWJsZTogdHJ1ZVxcbiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JGNyZWF0ZSwga0VuZGVkLCB7XFxuICAgIHZhbHVlOiBzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxcXG4gICAgd3JpdGFibGU6IHRydWVcXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtIYW5kbGVQcm9taXNlLCB7XFxuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShyZXNvbHZlLCByZWplY3QpIHtcXG4gICAgICB2YXIgZGF0YSA9IGl0ZXJhdG9yW2tTdHJlYW1dLnJlYWQoKTtcXG5cXG4gICAgICBpZiAoZGF0YSkge1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlc29sdmVdID0gbnVsbDtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XFxuICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IHJlc29sdmU7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSByZWplY3Q7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB3cml0YWJsZTogdHJ1ZVxcbiAgfSksIF9PYmplY3QkY3JlYXRlKSk7XFxuICBpdGVyYXRvcltrTGFzdFByb21pc2VdID0gbnVsbDtcXG4gIGZpbmlzaGVkKHN0cmVhbSwgZnVuY3Rpb24gKGVycikge1xcbiAgICBpZiAoZXJyICYmIGVyci5jb2RlICE9PSAnRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UnKSB7XFxuICAgICAgdmFyIHJlamVjdCA9IGl0ZXJhdG9yW2tMYXN0UmVqZWN0XTsgLy8gcmVqZWN0IGlmIHdlIGFyZSB3YWl0aW5nIGZvciBkYXRhIGluIHRoZSBQcm9taXNlXFxuICAgICAgLy8gcmV0dXJuZWQgYnkgbmV4dCgpIGFuZCBzdG9yZSB0aGUgZXJyb3JcXG5cXG4gICAgICBpZiAocmVqZWN0ICE9PSBudWxsKSB7XFxuICAgICAgICBpdGVyYXRvcltrTGFzdFByb21pc2VdID0gbnVsbDtcXG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gbnVsbDtcXG4gICAgICAgIHJlamVjdChlcnIpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpdGVyYXRvcltrRXJyb3JdID0gZXJyO1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzb2x2ZSA9IGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV07XFxuXFxuICAgIGlmIChyZXNvbHZlICE9PSBudWxsKSB7XFxuICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XFxuICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IG51bGw7XFxuICAgICAgaXRlcmF0b3Jba0xhc3RSZWplY3RdID0gbnVsbDtcXG4gICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XFxuICAgIH1cXG5cXG4gICAgaXRlcmF0b3Jba0VuZGVkXSA9IHRydWU7XFxuICB9KTtcXG4gIHN0cmVhbS5vbigncmVhZGFibGUnLCBvblJlYWRhYmxlLmJpbmQobnVsbCwgaXRlcmF0b3IpKTtcXG4gIHJldHVybiBpdGVyYXRvcjtcXG59O1xcblxcbm1vZHVsZS5leHBvcnRzID0gY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yO1xcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTloYzNsdVkxOXBkR1Z5WVhSdmNpNXFjejg0Tm1SbUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMQ3REUVVGaE96dEJRVVZpT3p0QlFVVkJMREpEUVVFeVF5eHJRa0ZCYTBJc2EwTkJRV3RETEhGRlFVRnhSU3hGUVVGRkxFVkJRVVVzVDBGQlR5eHJRa0ZCYTBJc1JVRkJSU3haUVVGWk96dEJRVVV2VFN4bFFVRmxMRzFDUVVGUExFTkJRVU1zYjBoQlFXbENPenRCUVVWNFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzlEUVVGdlF6dEJRVU53UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJMR2xGUVVGcFJUdEJRVU5xUlR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVFzVDBGQlR6dEJRVU5RTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRXNRMEZCUXp0QlFVTkVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SFFVRkhPMEZCUTBnc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJMSGxHUVVGNVJqdEJRVU42Ump0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeDVRMEZCZVVNN1FVRkRla003TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQkxHMUVJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd0WW1GelpTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJGemVXNWpYMmwwWlhKaGRHOXlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWDA5aWFtVmpkQ1J6WlhSUWNtOTBiM1I1Y0dWUE8xeHVYRzVtZFc1amRHbHZiaUJmWkdWbWFXNWxVSEp2Y0dWeWRIa29iMkpxTENCclpYa3NJSFpoYkhWbEtTQjdJR2xtSUNoclpYa2dhVzRnYjJKcUtTQjdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodlltb3NJR3RsZVN3Z2V5QjJZV3gxWlRvZ2RtRnNkV1VzSUdWdWRXMWxjbUZpYkdVNklIUnlkV1VzSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN3Z2QzSnBkR0ZpYkdVNklIUnlkV1VnZlNrN0lIMGdaV3h6WlNCN0lHOWlhbHRyWlhsZElEMGdkbUZzZFdVN0lIMGdjbVYwZFhKdUlHOWlhanNnZlZ4dVhHNTJZWElnWm1sdWFYTm9aV1FnUFNCeVpYRjFhWEpsS0NjdUwyVnVaQzF2WmkxemRISmxZVzBuS1R0Y2JseHVkbUZ5SUd0TVlYTjBVbVZ6YjJ4MlpTQTlJRk41YldKdmJDZ25iR0Z6ZEZKbGMyOXNkbVVuS1R0Y2JuWmhjaUJyVEdGemRGSmxhbVZqZENBOUlGTjViV0p2YkNnbmJHRnpkRkpsYW1WamRDY3BPMXh1ZG1GeUlHdEZjbkp2Y2lBOUlGTjViV0p2YkNnblpYSnliM0luS1R0Y2JuWmhjaUJyUlc1a1pXUWdQU0JUZVcxaWIyd29KMlZ1WkdWa0p5azdYRzUyWVhJZ2EweGhjM1JRY205dGFYTmxJRDBnVTNsdFltOXNLQ2RzWVhOMFVISnZiV2x6WlNjcE8xeHVkbUZ5SUd0SVlXNWtiR1ZRY205dGFYTmxJRDBnVTNsdFltOXNLQ2RvWVc1a2JHVlFjbTl0YVhObEp5azdYRzUyWVhJZ2ExTjBjbVZoYlNBOUlGTjViV0p2YkNnbmMzUnlaV0Z0SnlrN1hHNWNibVoxYm1OMGFXOXVJR055WldGMFpVbDBaWEpTWlhOMWJIUW9kbUZzZFdVc0lHUnZibVVwSUh0Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCMllXeDFaVG9nZG1Gc2RXVXNYRzRnSUNBZ1pHOXVaVG9nWkc5dVpWeHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldGa1FXNWtVbVZ6YjJ4MlpTaHBkR1Z5S1NCN1hHNGdJSFpoY2lCeVpYTnZiSFpsSUQwZ2FYUmxjbHRyVEdGemRGSmxjMjlzZG1WZE8xeHVYRzRnSUdsbUlDaHlaWE52YkhabElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR1JoZEdFZ1BTQnBkR1Z5VzJ0VGRISmxZVzFkTG5KbFlXUW9LVHNnTHk4Z2QyVWdaR1ZtWlhJZ2FXWWdaR0YwWVNCcGN5QnVkV3hzWEc0Z0lDQWdMeThnZDJVZ1kyRnVJR0psSUdWNGNHVmpkR2x1WnlCbGFYUm9aWElnSjJWdVpDY2diM0pjYmlBZ0lDQXZMeUFuWlhKeWIzSW5YRzVjYmlBZ0lDQnBaaUFvWkdGMFlTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhWFJsY2x0clRHRnpkRkJ5YjIxcGMyVmRJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lHbDBaWEpiYTB4aGMzUlNaWE52YkhabFhTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCcGRHVnlXMnRNWVhOMFVtVnFaV04wWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0J5WlhOdmJIWmxLR055WldGMFpVbDBaWEpTWlhOMWJIUW9aR0YwWVN3Z1ptRnNjMlVwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNVNaV0ZrWVdKc1pTaHBkR1Z5S1NCN1hHNGdJQzh2SUhkbElIZGhhWFFnWm05eUlIUm9aU0J1WlhoMElIUnBZMnNzSUdKbFkyRjFjMlVnYVhRZ2JXbG5hSFJjYmlBZ0x5OGdaVzFwZENCaGJpQmxjbkp2Y2lCM2FYUm9JSEJ5YjJObGMzTXVibVY0ZEZScFkydGNiaUFnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWh5WldGa1FXNWtVbVZ6YjJ4MlpTd2dhWFJsY2lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhkeVlYQkdiM0pPWlhoMEtHeGhjM1JRY205dGFYTmxMQ0JwZEdWeUtTQjdYRzRnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0I3WEc0Z0lDQWdiR0Z6ZEZCeWIyMXBjMlV1ZEdobGJpaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0JwWmlBb2FYUmxjbHRyUlc1a1pXUmRLU0I3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVVvWTNKbFlYUmxTWFJsY2xKbGMzVnNkQ2gxYm1SbFptbHVaV1FzSUhSeWRXVXBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwZEdWeVcydElZVzVrYkdWUWNtOXRhWE5sWFNoeVpYTnZiSFpsTENCeVpXcGxZM1FwTzF4dUlDQWdJSDBzSUhKbGFtVmpkQ2s3WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJCYzNsdVkwbDBaWEpoZEc5eVVISnZkRzkwZVhCbElEMGdUMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltS0daMWJtTjBhVzl1SUNncElIdDlLVHRjYm5aaGNpQlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWdQU0JQWW1wbFkzUXVjMlYwVUhKdmRHOTBlWEJsVDJZb0tGOVBZbXBsWTNRa2MyVjBVSEp2ZEc5MGVYQmxUeUE5SUh0Y2JpQWdaMlYwSUhOMGNtVmhiU2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwYzF0clUzUnlaV0Z0WFR0Y2JpQWdmU3hjYmx4dUlDQnVaWGgwT2lCbWRXNWpkR2x2YmlCdVpYaDBLQ2tnZTF4dUlDQWdJSFpoY2lCZmRHaHBjeUE5SUhSb2FYTTdYRzVjYmlBZ0lDQXZMeUJwWmlCM1pTQm9ZWFpsSUdSbGRHVmpkR1ZrSUdGdUlHVnljbTl5SUdsdUlIUm9aU0J0WldGdWQyaHBiR1ZjYmlBZ0lDQXZMeUJ5WldwbFkzUWdjM1J5WVdsbmFIUWdZWGRoZVZ4dUlDQWdJSFpoY2lCbGNuSnZjaUE5SUhSb2FYTmJhMFZ5Y205eVhUdGNibHh1SUNBZ0lHbG1JQ2hsY25KdmNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlGQnliMjFwYzJVdWNtVnFaV04wS0dWeWNtOXlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGMxdHJSVzVrWldSZEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1VISnZiV2x6WlM1eVpYTnZiSFpsS0dOeVpXRjBaVWwwWlhKU1pYTjFiSFFvZFc1a1pXWnBibVZrTENCMGNuVmxLU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTmJhMU4wY21WaGJWMHVaR1Z6ZEhKdmVXVmtLU0I3WEc0Z0lDQWdJQ0F2THlCWFpTQnVaV1ZrSUhSdklHUmxabVZ5SUhacFlTQnVaWGgwVkdsamF5QmlaV05oZFhObElHbG1JQzVrWlhOMGNtOTVLR1Z5Y2lrZ2FYTmNiaUFnSUNBZ0lDOHZJR05oYkd4bFpDd2dkR2hsSUdWeWNtOXlJSGRwYkd3Z1ltVWdaVzFwZEhSbFpDQjJhV0VnYm1WNGRGUnBZMnNzSUdGdVpGeHVJQ0FnSUNBZ0x5OGdkMlVnWTJGdWJtOTBJR2QxWVhKaGJuUmxaU0IwYUdGMElIUm9aWEpsSUdseklHNXZJR1Z5Y205eUlHeHBibWRsY21sdVp5QmhjbTkxYm1SY2JpQWdJQ0FnSUM4dklIZGhhWFJwYm1jZ2RHOGdZbVVnWlcxcGRIUmxaQzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2htZFc1amRHbHZiaUFvY21WemIyeDJaU3dnY21WcVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoZmRHaHBjMXRyUlhKeWIzSmRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaV3BsWTNRb1gzUm9hWE5iYTBWeWNtOXlYU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaDFibVJsWm1sdVpXUXNJSFJ5ZFdVcEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTQXZMeUJwWmlCM1pTQm9ZWFpsSUcxMWJIUnBjR3hsSUc1bGVIUW9LU0JqWVd4c2MxeHVJQ0FnSUM4dklIZGxJSGRwYkd3Z2QyRnBkQ0JtYjNJZ2RHaGxJSEJ5WlhacGIzVnpJRkJ5YjIxcGMyVWdkRzhnWm1sdWFYTm9YRzRnSUNBZ0x5OGdkR2hwY3lCc2IyZHBZeUJwY3lCdmNIUnBiV2w2WldRZ2RHOGdjM1Z3Y0c5eWRDQm1iM0lnWVhkaGFYUWdiRzl2Y0hNc1hHNGdJQ0FnTHk4Z2QyaGxjbVVnYm1WNGRDZ3BJR2x6SUc5dWJIa2dZMkZzYkdWa0lHOXVZMlVnWVhRZ1lTQjBhVzFsWEc1Y2JseHVJQ0FnSUhaaGNpQnNZWE4wVUhKdmJXbHpaU0E5SUhSb2FYTmJhMHhoYzNSUWNtOXRhWE5sWFR0Y2JpQWdJQ0IyWVhJZ2NISnZiV2x6WlR0Y2JseHVJQ0FnSUdsbUlDaHNZWE4wVUhKdmJXbHpaU2tnZTF4dUlDQWdJQ0FnY0hKdmJXbHpaU0E5SUc1bGR5QlFjbTl0YVhObEtIZHlZWEJHYjNKT1pYaDBLR3hoYzNSUWNtOXRhWE5sTENCMGFHbHpLU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJR1poYzNRZ2NHRjBhQ0J1WldWa1pXUWdkRzhnYzNWd2NHOXlkQ0J0ZFd4MGFYQnNaU0IwYUdsekxuQjFjMmdvS1Z4dUlDQWdJQ0FnTHk4Z2QybDBhRzkxZENCMGNtbG5aMlZ5YVc1bklIUm9aU0J1WlhoMEtDa2djWFZsZFdWY2JpQWdJQ0FnSUhaaGNpQmtZWFJoSUQwZ2RHaHBjMXRyVTNSeVpXRnRYUzV5WldGa0tDazdYRzVjYmlBZ0lDQWdJR2xtSUNoa1lYUmhJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaGtZWFJoTENCbVlXeHpaU2twTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCd2NtOXRhWE5sSUQwZ2JtVjNJRkJ5YjIxcGMyVW9kR2hwYzF0clNHRnVaR3hsVUhKdmJXbHpaVjBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhOYmEweGhjM1JRY205dGFYTmxYU0E5SUhCeWIyMXBjMlU3WEc0Z0lDQWdjbVYwZFhKdUlIQnliMjFwYzJVN1hHNGdJSDFjYm4wc0lGOWtaV1pwYm1WUWNtOXdaWEowZVNoZlQySnFaV04wSkhObGRGQnliM1J2ZEhsd1pVOHNJRk41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKSE5sZEZCeWIzUnZkSGx3WlU4c0lGd2ljbVYwZFhKdVhDSXNJR1oxYm1OMGFXOXVJRjl5WlhSMWNtNG9LU0I3WEc0Z0lIWmhjaUJmZEdocGN6SWdQU0IwYUdsek8xeHVYRzRnSUM4dklHUmxjM1J5YjNrb1pYSnlMQ0JqWWlrZ2FYTWdZU0J3Y21sMllYUmxJRUZRU1Z4dUlDQXZMeUIzWlNCallXNGdaM1ZoY21GdWRHVmxJSGRsSUdoaGRtVWdkR2hoZENCb1pYSmxMQ0JpWldOaGRYTmxJSGRsSUdOdmJuUnliMndnZEdobFhHNGdJQzh2SUZKbFlXUmhZbXhsSUdOc1lYTnpJSFJvYVhNZ2FYTWdZWFIwWVdOb1pXUWdkRzljYmlBZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaHlaWE52YkhabExDQnlaV3BsWTNRcElIdGNiaUFnSUNCZmRHaHBjekpiYTFOMGNtVmhiVjB1WkdWemRISnZlU2h1ZFd4c0xDQm1kVzVqZEdsdmJpQW9aWEp5S1NCN1hHNGdJQ0FnSUNCcFppQW9aWEp5S1NCN1hHNGdJQ0FnSUNBZ0lISmxhbVZqZENobGNuSXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsYzI5c2RtVW9ZM0psWVhSbFNYUmxjbEpsYzNWc2RDaDFibVJsWm1sdVpXUXNJSFJ5ZFdVcEtUdGNiaUFnSUNCOUtUdGNiaUFnZlNrN1hHNTlLU3dnWDA5aWFtVmpkQ1J6WlhSUWNtOTBiM1I1Y0dWUEtTd2dRWE41Ym1OSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlNrN1hHNWNiblpoY2lCamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lnUFNCbWRXNWpkR2x2YmlCamNtVmhkR1ZTWldGa1lXSnNaVk4wY21WaGJVRnplVzVqU1hSbGNtRjBiM0lvYzNSeVpXRnRLU0I3WEc0Z0lIWmhjaUJmVDJKcVpXTjBKR055WldGMFpUdGNibHh1SUNCMllYSWdhWFJsY21GMGIzSWdQU0JQWW1wbFkzUXVZM0psWVhSbEtGSmxZV1JoWW14bFUzUnlaV0Z0UVhONWJtTkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTd2dLRjlQWW1wbFkzUWtZM0psWVhSbElEMGdlMzBzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMU4wY21WaGJTd2dlMXh1SUNBZ0lIWmhiSFZsT2lCemRISmxZVzBzWEc0Z0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMHhoYzNSU1pYTnZiSFpsTENCN1hHNGdJQ0FnZG1Gc2RXVTZJRzUxYkd3c1hHNGdJQ0FnZDNKcGRHRmliR1U2SUhSeWRXVmNiaUFnZlNrc0lGOWtaV1pwYm1WUWNtOXdaWEowZVNoZlQySnFaV04wSkdOeVpXRjBaU3dnYTB4aGMzUlNaV3BsWTNRc0lIdGNiaUFnSUNCMllXeDFaVG9nYm5Wc2JDeGNiaUFnSUNCM2NtbDBZV0pzWlRvZ2RISjFaVnh1SUNCOUtTd2dYMlJsWm1sdVpWQnliM0JsY25SNUtGOVBZbXBsWTNRa1kzSmxZWFJsTENCclJYSnliM0lzSUh0Y2JpQWdJQ0IyWVd4MVpUb2diblZzYkN4Y2JpQWdJQ0IzY21sMFlXSnNaVG9nZEhKMVpWeHVJQ0I5S1N3Z1gyUmxabWx1WlZCeWIzQmxjblI1S0Y5UFltcGxZM1FrWTNKbFlYUmxMQ0JyUlc1a1pXUXNJSHRjYmlBZ0lDQjJZV3gxWlRvZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVZ1WkVWdGFYUjBaV1FzWEc0Z0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdmU2tzSUY5a1pXWnBibVZRY205d1pYSjBlU2hmVDJKcVpXTjBKR055WldGMFpTd2dhMGhoYm1Sc1pWQnliMjFwYzJVc0lIdGNiaUFnSUNCMllXeDFaVG9nWm5WdVkzUnBiMjRnZG1Gc2RXVW9jbVZ6YjJ4MlpTd2djbVZxWldOMEtTQjdYRzRnSUNBZ0lDQjJZWElnWkdGMFlTQTlJR2wwWlhKaGRHOXlXMnRUZEhKbFlXMWRMbkpsWVdRb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0dSaGRHRXBJSHRjYmlBZ0lDQWdJQ0FnYVhSbGNtRjBiM0piYTB4aGMzUlFjbTl0YVhObFhTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEc5eVcydE1ZWE4wVW1WemIyeDJaVjBnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGSmxhbVZqZEYwZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCeVpYTnZiSFpsS0dOeVpXRjBaVWwwWlhKU1pYTjFiSFFvWkdGMFlTd2dabUZzYzJVcEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHbDBaWEpoZEc5eVcydE1ZWE4wVW1WemIyeDJaVjBnUFNCeVpYTnZiSFpsTzF4dUlDQWdJQ0FnSUNCcGRHVnlZWFJ2Y2x0clRHRnpkRkpsYW1WamRGMGdQU0J5WldwbFkzUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCM2NtbDBZV0pzWlRvZ2RISjFaVnh1SUNCOUtTd2dYMDlpYW1WamRDUmpjbVZoZEdVcEtUdGNiaUFnYVhSbGNtRjBiM0piYTB4aGMzUlFjbTl0YVhObFhTQTlJRzUxYkd3N1hHNGdJR1pwYm1semFHVmtLSE4wY21WaGJTd2dablZ1WTNScGIyNGdLR1Z5Y2lrZ2UxeHVJQ0FnSUdsbUlDaGxjbklnSmlZZ1pYSnlMbU52WkdVZ0lUMDlJQ2RGVWxKZlUxUlNSVUZOWDFCU1JVMUJWRlZTUlY5RFRFOVRSU2NwSUh0Y2JpQWdJQ0FnSUhaaGNpQnlaV3BsWTNRZ1BTQnBkR1Z5WVhSdmNsdHJUR0Z6ZEZKbGFtVmpkRjA3SUM4dklISmxhbVZqZENCcFppQjNaU0JoY21VZ2QyRnBkR2x1WnlCbWIzSWdaR0YwWVNCcGJpQjBhR1VnVUhKdmJXbHpaVnh1SUNBZ0lDQWdMeThnY21WMGRYSnVaV1FnWW5rZ2JtVjRkQ2dwSUdGdVpDQnpkRzl5WlNCMGFHVWdaWEp5YjNKY2JseHVJQ0FnSUNBZ2FXWWdLSEpsYW1WamRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGQnliMjFwYzJWZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ2FYUmxjbUYwYjNKYmEweGhjM1JTWlhOdmJIWmxYU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJR2wwWlhKaGRHOXlXMnRNWVhOMFVtVnFaV04wWFNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUhKbGFtVmpkQ2hsY25JcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBkR1Z5WVhSdmNsdHJSWEp5YjNKZElEMGdaWEp5TzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ5WlhOdmJIWmxJRDBnYVhSbGNtRjBiM0piYTB4aGMzUlNaWE52YkhabFhUdGNibHh1SUNBZ0lHbG1JQ2h5WlhOdmJIWmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JwZEdWeVlYUnZjbHRyVEdGemRGQnliMjFwYzJWZElEMGdiblZzYkR0Y2JpQWdJQ0FnSUdsMFpYSmhkRzl5VzJ0TVlYTjBVbVZ6YjJ4MlpWMGdQU0J1ZFd4c08xeHVJQ0FnSUNBZ2FYUmxjbUYwYjNKYmEweGhjM1JTWldwbFkzUmRJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lISmxjMjlzZG1Vb1kzSmxZWFJsU1hSbGNsSmxjM1ZzZENoMWJtUmxabWx1WldRc0lIUnlkV1VwS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwZEdWeVlYUnZjbHRyUlc1a1pXUmRJRDBnZEhKMVpUdGNiaUFnZlNrN1hHNGdJSE4wY21WaGJTNXZiaWduY21WaFpHRmliR1VuTENCdmJsSmxZV1JoWW14bExtSnBibVFvYm5Wc2JDd2dhWFJsY21GMGIzSXBLVHRjYmlBZ2NtVjBkWEp1SUdsMFpYSmhkRzl5TzF4dWZUdGNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSTdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkgeyByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTsgfSk7IGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxcblxcbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9OyBpZiAoaSAlIDIpIHsgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7IF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pOyB9KTsgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykgeyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpOyB9IGVsc2UgeyBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IH0gcmV0dXJuIHRhcmdldDsgfVxcblxcbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XFxuXFxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cXFwiKTsgfSB9XFxuXFxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXFxcInZhbHVlXFxcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH1cXG5cXG5mdW5jdGlvbiBfY3JlYXRlQ2xhc3MoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBfZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfVxcblxcbnZhciBfcmVxdWlyZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnVmZmVyL2luZGV4LmpzXFxcIiksXFxuICAgIEJ1ZmZlciA9IF9yZXF1aXJlLkJ1ZmZlcjtcXG5cXG52YXIgX3JlcXVpcmUyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdXRpbCAqLyAxKSxcXG4gICAgaW5zcGVjdCA9IF9yZXF1aXJlMi5pbnNwZWN0O1xcblxcbnZhciBjdXN0b20gPSBpbnNwZWN0ICYmIGluc3BlY3QuY3VzdG9tIHx8ICdpbnNwZWN0JztcXG5cXG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcXG4gIEJ1ZmZlci5wcm90b3R5cGUuY29weS5jYWxsKHNyYywgdGFyZ2V0LCBvZmZzZXQpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9XFxuLyojX19QVVJFX18qL1xcbmZ1bmN0aW9uICgpIHtcXG4gIGZ1bmN0aW9uIEJ1ZmZlckxpc3QoKSB7XFxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBCdWZmZXJMaXN0KTtcXG5cXG4gICAgdGhpcy5oZWFkID0gbnVsbDtcXG4gICAgdGhpcy50YWlsID0gbnVsbDtcXG4gICAgdGhpcy5sZW5ndGggPSAwO1xcbiAgfVxcblxcbiAgX2NyZWF0ZUNsYXNzKEJ1ZmZlckxpc3QsIFt7XFxuICAgIGtleTogXFxcInB1c2hcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcHVzaCh2KSB7XFxuICAgICAgdmFyIGVudHJ5ID0ge1xcbiAgICAgICAgZGF0YTogdixcXG4gICAgICAgIG5leHQ6IG51bGxcXG4gICAgICB9O1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgICB0aGlzLnRhaWwgPSBlbnRyeTtcXG4gICAgICArK3RoaXMubGVuZ3RoO1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcInVuc2hpZnRcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdW5zaGlmdCh2KSB7XFxuICAgICAgdmFyIGVudHJ5ID0ge1xcbiAgICAgICAgZGF0YTogdixcXG4gICAgICAgIG5leHQ6IHRoaXMuaGVhZFxcbiAgICAgIH07XFxuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSB0aGlzLnRhaWwgPSBlbnRyeTtcXG4gICAgICB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgICArK3RoaXMubGVuZ3RoO1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcInNoaWZ0XFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNoaWZ0KCkge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xcbiAgICAgIHZhciByZXQgPSB0aGlzLmhlYWQuZGF0YTtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcXG4gICAgICAtLXRoaXMubGVuZ3RoO1xcbiAgICAgIHJldHVybiByZXQ7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiY2xlYXJcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2xlYXIoKSB7XFxuICAgICAgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDA7XFxuICAgIH1cXG4gIH0sIHtcXG4gICAga2V5OiBcXFwiam9pblxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBqb2luKHMpIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiAnJztcXG4gICAgICB2YXIgcCA9IHRoaXMuaGVhZDtcXG4gICAgICB2YXIgcmV0ID0gJycgKyBwLmRhdGE7XFxuXFxuICAgICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcXG4gICAgICAgIHJldCArPSBzICsgcC5kYXRhO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcImNvbmNhdFxcXCIsXFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb25jYXQobikge1xcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcXG4gICAgICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4gPj4+IDApO1xcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xcbiAgICAgIHZhciBpID0gMDtcXG5cXG4gICAgICB3aGlsZSAocCkge1xcbiAgICAgICAgY29weUJ1ZmZlcihwLmRhdGEsIHJldCwgaSk7XFxuICAgICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XFxuICAgICAgICBwID0gcC5uZXh0O1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9IC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBieXRlcyBvciBjaGFyYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXFxuXFxuICB9LCB7XFxuICAgIGtleTogXFxcImNvbnN1bWVcXFwiLFxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29uc3VtZShuLCBoYXNTdHJpbmdzKSB7XFxuICAgICAgdmFyIHJldDtcXG5cXG4gICAgICBpZiAobiA8IHRoaXMuaGVhZC5kYXRhLmxlbmd0aCkge1xcbiAgICAgICAgLy8gYHNsaWNlYCBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5ncy5cXG4gICAgICAgIHJldCA9IHRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsIG4pO1xcbiAgICAgICAgdGhpcy5oZWFkLmRhdGEgPSB0aGlzLmhlYWQuZGF0YS5zbGljZShuKTtcXG4gICAgICB9IGVsc2UgaWYgKG4gPT09IHRoaXMuaGVhZC5kYXRhLmxlbmd0aCkge1xcbiAgICAgICAgLy8gRmlyc3QgY2h1bmsgaXMgYSBwZXJmZWN0IG1hdGNoLlxcbiAgICAgICAgcmV0ID0gdGhpcy5zaGlmdCgpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBSZXN1bHQgc3BhbnMgbW9yZSB0aGFuIG9uZSBidWZmZXIuXFxuICAgICAgICByZXQgPSBoYXNTdHJpbmdzID8gdGhpcy5fZ2V0U3RyaW5nKG4pIDogdGhpcy5fZ2V0QnVmZmVyKG4pO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9XFxuICB9LCB7XFxuICAgIGtleTogXFxcImZpcnN0XFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZpcnN0KCkge1xcbiAgICAgIHJldHVybiB0aGlzLmhlYWQuZGF0YTtcXG4gICAgfSAvLyBDb25zdW1lcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBidWZmZXJlZCBkYXRhLlxcblxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJfZ2V0U3RyaW5nXFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRTdHJpbmcobikge1xcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xcbiAgICAgIHZhciBjID0gMTtcXG4gICAgICB2YXIgcmV0ID0gcC5kYXRhO1xcbiAgICAgIG4gLT0gcmV0Lmxlbmd0aDtcXG5cXG4gICAgICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICAgICAgdmFyIHN0ciA9IHAuZGF0YTtcXG4gICAgICAgIHZhciBuYiA9IG4gPiBzdHIubGVuZ3RoID8gc3RyLmxlbmd0aCA6IG47XFxuICAgICAgICBpZiAobmIgPT09IHN0ci5sZW5ndGgpIHJldCArPSBzdHI7ZWxzZSByZXQgKz0gc3RyLnNsaWNlKDAsIG4pO1xcbiAgICAgICAgbiAtPSBuYjtcXG5cXG4gICAgICAgIGlmIChuID09PSAwKSB7XFxuICAgICAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkge1xcbiAgICAgICAgICAgICsrYztcXG4gICAgICAgICAgICBpZiAocC5uZXh0KSB0aGlzLmhlYWQgPSBwLm5leHQ7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHRoaXMuaGVhZCA9IHA7XFxuICAgICAgICAgICAgcC5kYXRhID0gc3RyLnNsaWNlKG5iKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgICsrYztcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5sZW5ndGggLT0gYztcXG4gICAgICByZXR1cm4gcmV0O1xcbiAgICB9IC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBieXRlcyBmcm9tIHRoZSBidWZmZXJlZCBkYXRhLlxcblxcbiAgfSwge1xcbiAgICBrZXk6IFxcXCJfZ2V0QnVmZmVyXFxcIixcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIF9nZXRCdWZmZXIobikge1xcbiAgICAgIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobik7XFxuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgICAgdmFyIGMgPSAxO1xcbiAgICAgIHAuZGF0YS5jb3B5KHJldCk7XFxuICAgICAgbiAtPSBwLmRhdGEubGVuZ3RoO1xcblxcbiAgICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XFxuICAgICAgICB2YXIgYnVmID0gcC5kYXRhO1xcbiAgICAgICAgdmFyIG5iID0gbiA+IGJ1Zi5sZW5ndGggPyBidWYubGVuZ3RoIDogbjtcXG4gICAgICAgIGJ1Zi5jb3B5KHJldCwgcmV0Lmxlbmd0aCAtIG4sIDAsIG5iKTtcXG4gICAgICAgIG4gLT0gbmI7XFxuXFxuICAgICAgICBpZiAobiA9PT0gMCkge1xcbiAgICAgICAgICBpZiAobmIgPT09IGJ1Zi5sZW5ndGgpIHtcXG4gICAgICAgICAgICArK2M7XFxuICAgICAgICAgICAgaWYgKHAubmV4dCkgdGhpcy5oZWFkID0gcC5uZXh0O2Vsc2UgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbDtcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICB0aGlzLmhlYWQgPSBwO1xcbiAgICAgICAgICAgIHAuZGF0YSA9IGJ1Zi5zbGljZShuYik7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgICArK2M7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoIC09IGM7XFxuICAgICAgcmV0dXJuIHJldDtcXG4gICAgfSAvLyBNYWtlIHN1cmUgdGhlIGxpbmtlZCBsaXN0IG9ubHkgc2hvd3MgdGhlIG1pbmltYWwgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLlxcblxcbiAgfSwge1xcbiAgICBrZXk6IGN1c3RvbSxcXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKF8sIG9wdGlvbnMpIHtcXG4gICAgICByZXR1cm4gaW5zcGVjdCh0aGlzLCBfb2JqZWN0U3ByZWFkKHt9LCBvcHRpb25zLCB7XFxuICAgICAgICAvLyBPbmx5IGluc3BlY3Qgb25lIGxldmVsLlxcbiAgICAgICAgZGVwdGg6IDAsXFxuICAgICAgICAvLyBJdCBzaG91bGQgbm90IHJlY3Vyc2UuXFxuICAgICAgICBjdXN0b21JbnNwZWN0OiBmYWxzZVxcbiAgICAgIH0pKTtcXG4gICAgfVxcbiAgfV0pO1xcblxcbiAgcmV0dXJuIEJ1ZmZlckxpc3Q7XFxufSgpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN6OW1ZbVV6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTERCRFFVRXdReXhuUTBGQlowTXNiME5CUVc5RExHOUVRVUZ2UkN3NFJFRkJPRVFzWjBWQlFXZEZMRVZCUVVVc1JVRkJSU3huUTBGQlowTXNSVUZCUlN4aFFVRmhPenRCUVVWdVZpeG5RMEZCWjBNc1owSkJRV2RDTEhOQ1FVRnpRaXhQUVVGUExIVkVRVUYxUkN4aFFVRmhMSFZFUVVGMVJDd3lRMEZCTWtNc1JVRkJSU3hGUVVGRkxFVkJRVVVzTmtOQlFUWkRMREpGUVVFeVJTeEZRVUZGTEU5QlFVOHNhVVJCUVdsRUxHdEdRVUZyUml4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxHVkJRV1U3TzBGQlJYQm9RaXd5UTBGQk1rTXNhMEpCUVd0Q0xHdERRVUZyUXl4eFJVRkJjVVVzUlVGQlJTeEZRVUZGTEU5QlFVOHNhMEpCUVd0Q0xFVkJRVVVzV1VGQldUczdRVUZGTDAwc2FVUkJRV2xFTERCRFFVRXdReXd3UkVGQk1FUXNSVUZCUlRzN1FVRkZka29zTWtOQlFUSkRMR2RDUVVGblFpeHJRa0ZCYTBJc1QwRkJUeXd5UWtGQk1rSXNkMFJCUVhkRUxHZERRVUZuUXl4MVJFRkJkVVFzTWtSQlFUSkVMRVZCUVVVN08wRkJSVE5VTERaRVFVRTJSQ3h6UlVGQmMwVXNPRVJCUVRoRUxHOUNRVUZ2UWpzN1FVRkZjazRzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk8wRkJReTlDT3p0QlFVVkJMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMR0ZCUVUwN1FVRkRPVUk3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4clJFRkJhMFE3UVVGRGJFUTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FUkJRVEJFTzBGQlF6RkVPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPenRCUVVWTUxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTUVOQlFUQkRPMEZCUXpGRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMREpEUVVFeVF6dEJRVU16UXl4WFFVRlhPMEZCUTFnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZUQ3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3lRMEZCTWtNN1FVRkRNME1zVjBGQlZ6dEJRVU5ZTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3TzBGQlJVd3NSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3d5UTBGQk1rTTdRVUZETTBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEVzUTBGQlF5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlpZFdabVpYSmZiR2x6ZEM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1Wm5WdVkzUnBiMjRnYjNkdVMyVjVjeWh2WW1wbFkzUXNJR1Z1ZFcxbGNtRmliR1ZQYm14NUtTQjdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb2IySnFaV04wS1RzZ2FXWWdLRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVZONWJXSnZiSE1wSUhzZ2RtRnlJSE41YldKdmJITWdQU0JQWW1wbFkzUXVaMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6S0c5aWFtVmpkQ2s3SUdsbUlDaGxiblZ0WlhKaFlteGxUMjVzZVNrZ2MzbHRZbTlzY3lBOUlITjViV0p2YkhNdVptbHNkR1Z5S0daMWJtTjBhVzl1SUNoemVXMHBJSHNnY21WMGRYSnVJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2IySnFaV04wTENCemVXMHBMbVZ1ZFcxbGNtRmliR1U3SUgwcE95QnJaWGx6TG5CMWMyZ3VZWEJ3Ykhrb2EyVjVjeXdnYzNsdFltOXNjeWs3SUgwZ2NtVjBkWEp1SUd0bGVYTTdJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyOWlhbVZqZEZOd2NtVmhaQ2gwWVhKblpYUXBJSHNnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BJSHNnZG1GeUlITnZkWEpqWlNBOUlHRnlaM1Z0Wlc1MGMxdHBYU0FoUFNCdWRXeHNJRDhnWVhKbmRXMWxiblJ6VzJsZElEb2dlMzA3SUdsbUlDaHBJQ1VnTWlrZ2V5QnZkMjVMWlhsektFOWlhbVZqZENoemIzVnlZMlVwTENCMGNuVmxLUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2hyWlhrcElIc2dYMlJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z2EyVjVMQ0J6YjNWeVkyVmJhMlY1WFNrN0lIMHBPeUI5SUdWc2MyVWdhV1lnS0U5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSnpLU0I3SUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGFXVnpLSFJoY21kbGRDd2dUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y25Nb2MyOTFjbU5sS1NrN0lIMGdaV3h6WlNCN0lHOTNia3RsZVhNb1QySnFaV04wS0hOdmRYSmpaU2twTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0d0bGVTa2dleUJQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHRnlaMlYwTENCclpYa3NJRTlpYW1WamRDNW5aWFJQZDI1UWNtOXdaWEowZVVSbGMyTnlhWEIwYjNJb2MyOTFjbU5sTENCclpYa3BLVHNnZlNrN0lIMGdmU0J5WlhSMWNtNGdkR0Z5WjJWME95QjlYRzVjYm1aMWJtTjBhVzl1SUY5a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZG1Gc2RXVXBJSHNnYVdZZ0tHdGxlU0JwYmlCdlltb3BJSHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOWlhaXdnYTJWNUxDQjdJSFpoYkhWbE9pQjJZV3gxWlN3Z1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN3Z1kyOXVabWxuZFhKaFlteGxPaUIwY25WbExDQjNjbWwwWVdKc1pUb2dkSEoxWlNCOUtUc2dmU0JsYkhObElIc2diMkpxVzJ0bGVWMGdQU0IyWVd4MVpUc2dmU0J5WlhSMWNtNGdiMkpxT3lCOVhHNWNibVoxYm1OMGFXOXVJRjlqYkdGemMwTmhiR3hEYUdWamF5aHBibk4wWVc1alpTd2dRMjl1YzNSeWRXTjBiM0lwSUhzZ2FXWWdLQ0VvYVc1emRHRnVZMlVnYVc1emRHRnVZMlZ2WmlCRGIyNXpkSEoxWTNSdmNpa3BJSHNnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0lrTmhibTV2ZENCallXeHNJR0VnWTJ4aGMzTWdZWE1nWVNCbWRXNWpkR2x2Ymx3aUtUc2dmU0I5WEc1Y2JtWjFibU4wYVc5dUlGOWtaV1pwYm1WUWNtOXdaWEowYVdWektIUmhjbWRsZEN3Z2NISnZjSE1wSUhzZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUdrckt5a2dleUIyWVhJZ1pHVnpZM0pwY0hSdmNpQTlJSEJ5YjNCelcybGRPeUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdVZ1BTQmtaWE5qY21sd2RHOXlMbVZ1ZFcxbGNtRmliR1VnZkh3Z1ptRnNjMlU3SUdSbGMyTnlhWEIwYjNJdVkyOXVabWxuZFhKaFlteGxJRDBnZEhKMVpUc2dhV1lnS0Z3aWRtRnNkV1ZjSWlCcGJpQmtaWE5qY21sd2RHOXlLU0JrWlhOamNtbHdkRzl5TG5keWFYUmhZbXhsSUQwZ2RISjFaVHNnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIUmhjbWRsZEN3Z1pHVnpZM0pwY0hSdmNpNXJaWGtzSUdSbGMyTnlhWEIwYjNJcE95QjlJSDFjYmx4dVpuVnVZM1JwYjI0Z1gyTnlaV0YwWlVOc1lYTnpLRU52Ym5OMGNuVmpkRzl5TENCd2NtOTBiMUJ5YjNCekxDQnpkR0YwYVdOUWNtOXdjeWtnZXlCcFppQW9jSEp2ZEc5UWNtOXdjeWtnWDJSbFptbHVaVkJ5YjNCbGNuUnBaWE1vUTI5dWMzUnlkV04wYjNJdWNISnZkRzkwZVhCbExDQndjbTkwYjFCeWIzQnpLVHNnYVdZZ0tITjBZWFJwWTFCeWIzQnpLU0JmWkdWbWFXNWxVSEp2Y0dWeWRHbGxjeWhEYjI1emRISjFZM1J2Y2l3Z2MzUmhkR2xqVUhKdmNITXBPeUJ5WlhSMWNtNGdRMjl1YzNSeWRXTjBiM0k3SUgxY2JseHVkbUZ5SUY5eVpYRjFhWEpsSUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5Snlrc1hHNGdJQ0FnUW5WbVptVnlJRDBnWDNKbGNYVnBjbVV1UW5WbVptVnlPMXh1WEc1MllYSWdYM0psY1hWcGNtVXlJRDBnY21WeGRXbHlaU2duZFhScGJDY3BMRnh1SUNBZ0lHbHVjM0JsWTNRZ1BTQmZjbVZ4ZFdseVpUSXVhVzV6Y0dWamREdGNibHh1ZG1GeUlHTjFjM1J2YlNBOUlHbHVjM0JsWTNRZ0ppWWdhVzV6Y0dWamRDNWpkWE4wYjIwZ2ZId2dKMmx1YzNCbFkzUW5PMXh1WEc1bWRXNWpkR2x2YmlCamIzQjVRblZtWm1WeUtITnlZeXdnZEdGeVoyVjBMQ0J2Wm1aelpYUXBJSHRjYmlBZ1FuVm1abVZ5TG5CeWIzUnZkSGx3WlM1amIzQjVMbU5oYkd3b2MzSmpMQ0IwWVhKblpYUXNJRzltWm5ObGRDazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQxY2JpOHFJMTlmVUZWU1JWOWZLaTljYm1aMWJtTjBhVzl1SUNncElIdGNiaUFnWm5WdVkzUnBiMjRnUW5WbVptVnlUR2x6ZENncElIdGNiaUFnSUNCZlkyeGhjM05EWVd4c1EyaGxZMnNvZEdocGN5d2dRblZtWm1WeVRHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtaGxZV1FnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1SUNCOVhHNWNiaUFnWDJOeVpXRjBaVU5zWVhOektFSjFabVpsY2t4cGMzUXNJRnQ3WEc0Z0lDQWdhMlY1T2lCY0luQjFjMmhjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdjSFZ6YUNoMktTQjdYRzRnSUNBZ0lDQjJZWElnWlc1MGNua2dQU0I3WEc0Z0lDQWdJQ0FnSUdSaGRHRTZJSFlzWEc0Z0lDQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBd0tTQjBhR2x6TG5SaGFXd3VibVY0ZENBOUlHVnVkSEo1TzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG5SaGFXd2dQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5WdWMyaHBablJjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdkVzV6YUdsbWRDaDJLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCN1hHNGdJQ0FnSUNBZ0lHUmhkR0U2SUhZc1hHNGdJQ0FnSUNBZ0lHNWxlSFE2SUhSb2FYTXVhR1ZoWkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dkR2hwY3k1MFlXbHNJRDBnWlc1MGNuazdYRzRnSUNBZ0lDQjBhR2x6TG1obFlXUWdQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDc3JkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdmVnh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSW5Ob2FXWjBYQ0lzWEc0Z0lDQWdkbUZzZFdVNklHWjFibU4wYVc5dUlITm9hV1owS0NrZ2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1b1pXRmtMbVJoZEdFN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXBJSFJvYVhNdWFHVmhaQ0E5SUhSb2FYTXVkR0ZwYkNBOUlHNTFiR3c3Wld4elpTQjBhR2x6TG1obFlXUWdQU0IwYUdsekxtaGxZV1F1Ym1WNGREdGNiaUFnSUNBZ0lDMHRkR2hwY3k1c1pXNW5kR2c3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDFjYmlBZ2ZTd2dlMXh1SUNBZ0lHdGxlVG9nWENKamJHVmhjbHdpTEZ4dUlDQWdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQmpiR1ZoY2lncElIdGNiaUFnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltcHZhVzVjSWl4Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdhbTlwYmloektTQjdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUFuSnp0Y2JpQWdJQ0FnSUhaaGNpQndJRDBnZEdocGN5NW9aV0ZrTzF4dUlDQWdJQ0FnZG1GeUlISmxkQ0E5SUNjbklDc2djQzVrWVhSaE8xeHVYRzRnSUNBZ0lDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhRZ0t6MGdjeUFySUhBdVpHRjBZVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsZER0Y2JpQWdJQ0I5WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVZMkYwWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR052Ym1OaGRDaHVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURBcElISmxkSFZ5YmlCQ2RXWm1aWEl1WVd4c2IyTW9NQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NtVjBJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0c0Z1BqNCtJREFwTzF4dUlDQWdJQ0FnZG1GeUlIQWdQU0IwYUdsekxtaGxZV1E3WEc0Z0lDQWdJQ0IyWVhJZ2FTQTlJREE3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZjSGxDZFdabVpYSW9jQzVrWVhSaExDQnlaWFFzSUdrcE8xeHVJQ0FnSUNBZ0lDQnBJQ3M5SUhBdVpHRjBZUzVzWlc1bmRHZzdYRzRnSUNBZ0lDQWdJSEFnUFNCd0xtNWxlSFE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlNBdkx5QkRiMjV6ZFcxbGN5QmhJSE53WldOcFptbGxaQ0JoYlc5MWJuUWdiMllnWW5sMFpYTWdiM0lnWTJoaGNtRmpkR1Z5Y3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVkyOXVjM1Z0WlZ3aUxGeHVJQ0FnSUhaaGJIVmxPaUJtZFc1amRHbHZiaUJqYjI1emRXMWxLRzRzSUdoaGMxTjBjbWx1WjNNcElIdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1SUR3Z2RHaHBjeTVvWldGa0xtUmhkR0V1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUM4dklHQnpiR2xqWldBZ2FYTWdkR2hsSUhOaGJXVWdabTl5SUdKMVptWmxjbk1nWVc1a0lITjBjbWx1WjNNdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtEQXNJRzRwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbWhsWVdRdVpHRjBZU0E5SUhSb2FYTXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtHNHBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h1SUQwOVBTQjBhR2x6TG1obFlXUXVaR0YwWVM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbWx5YzNRZ1kyaDFibXNnYVhNZ1lTQndaWEptWldOMElHMWhkR05vTGx4dUlDQWdJQ0FnSUNCeVpYUWdQU0IwYUdsekxuTm9hV1owS0NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QlNaWE4xYkhRZ2MzQmhibk1nYlc5eVpTQjBhR0Z1SUc5dVpTQmlkV1ptWlhJdVhHNGdJQ0FnSUNBZ0lISmxkQ0E5SUdoaGMxTjBjbWx1WjNNZ1B5QjBhR2x6TGw5blpYUlRkSEpwYm1jb2Jpa2dPaUIwYUdsekxsOW5aWFJDZFdabVpYSW9iaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJQ0FnZlZ4dUlDQjlMQ0I3WEc0Z0lDQWdhMlY1T2lCY0ltWnBjbk4wWENJc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJR1pwY25OMEtDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YUdWaFpDNWtZWFJoTzF4dUlDQWdJSDBnTHk4Z1EyOXVjM1Z0WlhNZ1lTQnpjR1ZqYVdacFpXUWdZVzF2ZFc1MElHOW1JR05vWVhKaFkzUmxjbk1nWm5KdmJTQjBhR1VnWW5WbVptVnlaV1FnWkdGMFlTNWNibHh1SUNCOUxDQjdYRzRnSUNBZ2EyVjVPaUJjSWw5blpYUlRkSEpwYm1kY0lpeGNiaUFnSUNCMllXeDFaVG9nWm5WdVkzUnBiMjRnWDJkbGRGTjBjbWx1WnlodUtTQjdYRzRnSUNBZ0lDQjJZWElnY0NBOUlIUm9hWE11YUdWaFpEdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ01UdGNiaUFnSUNBZ0lIWmhjaUJ5WlhRZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNCdUlDMDlJSEpsZEM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6ZEhJZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJ6ZEhJdWJHVnVaM1JvSUQ4Z2MzUnlMbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdsbUlDaHVZaUE5UFQwZ2MzUnlMbXhsYm1kMGFDa2djbVYwSUNzOUlITjBjanRsYkhObElISmxkQ0FyUFNCemRISXVjMnhwWTJVb01Dd2diaWs3WEc0Z0lDQWdJQ0FnSUc0Z0xUMGdibUk3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibUlnUFQwOUlITjBjaTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDc3JZenRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h3TG01bGVIUXBJSFJvYVhNdWFHVmhaQ0E5SUhBdWJtVjRkRHRsYkhObElIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11YUdWaFpDQTlJSEE3WEc0Z0lDQWdJQ0FnSUNBZ0lDQndMbVJoZEdFZ1BTQnpkSEl1YzJ4cFkyVW9ibUlwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0t5dGpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBdFBTQmpPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxkRHRjYmlBZ0lDQjlJQzh2SUVOdmJuTjFiV1Z6SUdFZ2MzQmxZMmxtYVdWa0lHRnRiM1Z1ZENCdlppQmllWFJsY3lCbWNtOXRJSFJvWlNCaWRXWm1aWEpsWkNCa1lYUmhMbHh1WEc0Z0lIMHNJSHRjYmlBZ0lDQnJaWGs2SUZ3aVgyZGxkRUoxWm1abGNsd2lMRnh1SUNBZ0lIWmhiSFZsT2lCbWRXNWpkR2x2YmlCZloyVjBRblZtWm1WeUtHNHBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYUWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYmlrN1hHNGdJQ0FnSUNCMllYSWdjQ0E5SUhSb2FYTXVhR1ZoWkR0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnTVR0Y2JpQWdJQ0FnSUhBdVpHRjBZUzVqYjNCNUtISmxkQ2s3WEc0Z0lDQWdJQ0J1SUMwOUlIQXVaR0YwWVM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h3SUQwZ2NDNXVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJpZFdZZ1BTQndMbVJoZEdFN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ1WWlBOUlHNGdQaUJpZFdZdWJHVnVaM1JvSUQ4Z1luVm1MbXhsYm1kMGFDQTZJRzQ3WEc0Z0lDQWdJQ0FnSUdKMVppNWpiM0I1S0hKbGRDd2djbVYwTG14bGJtZDBhQ0F0SUc0c0lEQXNJRzVpS1R0Y2JpQWdJQ0FnSUNBZ2JpQXRQU0J1WWp0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h1WWlBOVBUMGdZblZtTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdLeXRqTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hBdWJtVjRkQ2tnZEdocGN5NW9aV0ZrSUQwZ2NDNXVaWGgwTzJWc2MyVWdkR2hwY3k1b1pXRmtJRDBnZEdocGN5NTBZV2xzSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1b1pXRmtJRDBnY0R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEF1WkdGMFlTQTlJR0oxWmk1emJHbGpaU2h1WWlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQXJLMk03WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJR003WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVYwTzF4dUlDQWdJSDBnTHk4Z1RXRnJaU0J6ZFhKbElIUm9aU0JzYVc1clpXUWdiR2x6ZENCdmJteDVJSE5vYjNkeklIUm9aU0J0YVc1cGJXRnNJRzVsWTJWemMyRnllU0JwYm1admNtMWhkR2x2Ymk1Y2JseHVJQ0I5TENCN1hHNGdJQ0FnYTJWNU9pQmpkWE4wYjIwc1hHNGdJQ0FnZG1Gc2RXVTZJR1oxYm1OMGFXOXVJSFpoYkhWbEtGOHNJRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnBibk53WldOMEtIUm9hWE1zSUY5dlltcGxZM1JUY0hKbFlXUW9lMzBzSUc5d2RHbHZibk1zSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCcGJuTndaV04wSUc5dVpTQnNaWFpsYkM1Y2JpQWdJQ0FnSUNBZ1pHVndkR2c2SURBc1hHNGdJQ0FnSUNBZ0lDOHZJRWwwSUhOb2IzVnNaQ0J1YjNRZ2NtVmpkWEp6WlM1Y2JpQWdJQ0FnSUNBZ1kzVnpkRzl0U1c1emNHVmpkRG9nWm1Gc2MyVmNiaUFnSUNBZ0lIMHBLVHRjYmlBZ0lDQjlYRzRnSUgxZEtUdGNibHh1SUNCeVpYUjFjbTRnUW5WbVptVnlUR2x6ZER0Y2JuMG9LVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2J1ZmZlcl9saXN0LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7IC8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcXG5cXG5mdW5jdGlvbiBkZXN0cm95KGVyciwgY2IpIHtcXG4gIHZhciBfdGhpcyA9IHRoaXM7XFxuXFxuICB2YXIgcmVhZGFibGVEZXN0cm95ZWQgPSB0aGlzLl9yZWFkYWJsZVN0YXRlICYmIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgdmFyIHdyaXRhYmxlRGVzdHJveWVkID0gdGhpcy5fd3JpdGFibGVTdGF0ZSAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcXG5cXG4gIGlmIChyZWFkYWJsZURlc3Ryb3llZCB8fCB3cml0YWJsZURlc3Ryb3llZCkge1xcbiAgICBpZiAoY2IpIHtcXG4gICAgICBjYihlcnIpO1xcbiAgICB9IGVsc2UgaWYgKGVycikge1xcbiAgICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9IC8vIHdlIHNldCBkZXN0cm95ZWQgdG8gdHJ1ZSBiZWZvcmUgZmlyaW5nIGVycm9yIGNhbGxiYWNrcyBpbiBvcmRlclxcbiAgLy8gdG8gbWFrZSBpdCByZS1lbnRyYW5jZSBzYWZlIGluIGNhc2UgZGVzdHJveSgpIGlzIGNhbGxlZCB3aXRoaW4gY2FsbGJhY2tzXFxuXFxuXFxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHRydWU7XFxuICB9IC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcXG5cXG5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKCFjYiAmJiBlcnIpIHtcXG4gICAgICBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQsIF90aGlzLCBlcnIpO1xcbiAgICAgIH0gZWxzZSBpZiAoIV90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCkge1xcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCwgX3RoaXMsIGVycik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdENsb3NlTlQsIF90aGlzKTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoY2IpIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgICAgY2IoZXJyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRFcnJvckFuZENsb3NlTlQoc2VsZiwgZXJyKSB7XFxuICBlbWl0RXJyb3JOVChzZWxmLCBlcnIpO1xcbiAgZW1pdENsb3NlTlQoc2VsZik7XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRDbG9zZU5UKHNlbGYpIHtcXG4gIGlmIChzZWxmLl93cml0YWJsZVN0YXRlICYmICFzZWxmLl93cml0YWJsZVN0YXRlLmVtaXRDbG9zZSkgcmV0dXJuO1xcbiAgaWYgKHNlbGYuX3JlYWRhYmxlU3RhdGUgJiYgIXNlbGYuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlKSByZXR1cm47XFxuICBzZWxmLmVtaXQoJ2Nsb3NlJyk7XFxufVxcblxcbmZ1bmN0aW9uIHVuZGVzdHJveSgpIHtcXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcXG4gIHNlbGYuZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5mdW5jdGlvbiBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVycikge1xcbiAgLy8gV2UgaGF2ZSB0ZXN0cyB0aGF0IHJlbHkgb24gZXJyb3JzIGJlaW5nIGVtaXR0ZWRcXG4gIC8vIGluIHRoZSBzYW1lIHRpY2ssIHNvIGNoYW5naW5nIHRoaXMgaXMgc2VtdmVyIG1ham9yLlxcbiAgLy8gRm9yIG5vdyB3aGVuIHlvdSBvcHQtaW4gdG8gYXV0b0Rlc3Ryb3kgd2UgYWxsb3dcXG4gIC8vIHRoZSBlcnJvciB0byBiZSBlbWl0dGVkIG5leHRUaWNrLiBJbiBhIGZ1dHVyZVxcbiAgLy8gc2VtdmVyIG1ham9yIHVwZGF0ZSB3ZSBzaG91bGQgY2hhbmdlIHRoZSBkZWZhdWx0IHRvIHRoaXMuXFxuICB2YXIgclN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG4gIGlmIChyU3RhdGUgJiYgclN0YXRlLmF1dG9EZXN0cm95IHx8IHdTdGF0ZSAmJiB3U3RhdGUuYXV0b0Rlc3Ryb3kpIHN0cmVhbS5kZXN0cm95KGVycik7ZWxzZSBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXFxuICB1bmRlc3Ryb3k6IHVuZGVzdHJveSxcXG4gIGVycm9yT3JEZXN0cm95OiBlcnJvck9yRGVzdHJveVxcbn07XFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OWtaWE4wY205NUxtcHpQMkV6TkRFaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNLME5CUVdFN08wRkJSV0k3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhkR1FVRjNSanRCUVVONFJqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzFpWVhObEwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12WkdWemRISnZlUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnpzZ0x5OGdkVzVrYjJOMWJXVnVkR1ZrSUdOaUtDa2dRVkJKTENCdVpXVmtaV1FnWm05eUlHTnZjbVVzSUc1dmRDQm1iM0lnY0hWaWJHbGpJRUZRU1Z4dVhHNW1kVzVqZEdsdmJpQmtaWE4wY205NUtHVnljaXdnWTJJcElIdGNiaUFnZG1GeUlGOTBhR2x6SUQwZ2RHaHBjenRjYmx4dUlDQjJZWElnY21WaFpHRmliR1ZFWlhOMGNtOTVaV1FnUFNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dUlDQjJZWElnZDNKcGRHRmliR1ZFWlhOMGNtOTVaV1FnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbElDWW1JSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WkdWemRISnZlV1ZrTzF4dVhHNGdJR2xtSUNoeVpXRmtZV0pzWlVSbGMzUnliM2xsWkNCOGZDQjNjbWwwWVdKc1pVUmxjM1J5YjNsbFpDa2dlMXh1SUNBZ0lHbG1JQ2hqWWlrZ2UxeHVJQ0FnSUNBZ1kySW9aWEp5S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dWeWNpa2dlMXh1SUNBZ0lDQWdhV1lnS0NGMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbEtTQjdYRzRnSUNBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29aVzFwZEVWeWNtOXlUbFFzSUhSb2FYTXNJR1Z5Y2lrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tDRjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVZ5Y205eVJXMXBkSFJsWkNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVZ5Y205eVJXMXBkSFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWlcxcGRFVnljbTl5VGxRc0lIUm9hWE1zSUdWeWNpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwZ0x5OGdkMlVnYzJWMElHUmxjM1J5YjNsbFpDQjBieUIwY25WbElHSmxabTl5WlNCbWFYSnBibWNnWlhKeWIzSWdZMkZzYkdKaFkydHpJR2x1SUc5eVpHVnlYRzRnSUM4dklIUnZJRzFoYTJVZ2FYUWdjbVV0Wlc1MGNtRnVZMlVnYzJGbVpTQnBiaUJqWVhObElHUmxjM1J5YjNrb0tTQnBjeUJqWVd4c1pXUWdkMmwwYUdsdUlHTmhiR3hpWVdOcmMxeHVYRzVjYmlBZ2FXWWdLSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlIUnlkV1U3WEc0Z0lIMGdMeThnYVdZZ2RHaHBjeUJwY3lCaElHUjFjR3hsZUNCemRISmxZVzBnYldGeWF5QjBhR1VnZDNKcGRHRmliR1VnY0dGeWRDQmhjeUJrWlhOMGNtOTVaV1FnWVhNZ2QyVnNiRnh1WEc1Y2JpQWdhV1lnS0hSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJSFJ5ZFdVN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5a1pYTjBjbTk1S0dWeWNpQjhmQ0J1ZFd4c0xDQm1kVzVqZEdsdmJpQW9aWEp5S1NCN1hHNGdJQ0FnYVdZZ0tDRmpZaUFtSmlCbGNuSXBJSHRjYmlBZ0lDQWdJR2xtSUNnaFgzUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQWdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhsYldsMFJYSnliM0pCYm1SRGJHOXpaVTVVTENCZmRHaHBjeXdnWlhKeUtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9JVjkwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WeWNtOXlSVzFwZEhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0JmZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1bGNuSnZja1Z0YVhSMFpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQndjbTlqWlhOekxtNWxlSFJVYVdOcktHVnRhWFJGY25KdmNrRnVaRU5zYjNObFRsUXNJRjkwYUdsekxDQmxjbklwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnY0hKdlkyVnpjeTV1WlhoMFZHbGpheWhsYldsMFEyeHZjMlZPVkN3Z1gzUm9hWE1wTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQnBaaUFvWTJJcElIdGNiaUFnSUNBZ0lIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1pXMXBkRU5zYjNObFRsUXNJRjkwYUdsektUdGNiaUFnSUNBZ0lHTmlLR1Z5Y2lrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29aVzFwZEVOc2IzTmxUbFFzSUY5MGFHbHpLVHRjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGJXbDBSWEp5YjNKQmJtUkRiRzl6WlU1VUtITmxiR1lzSUdWeWNpa2dlMXh1SUNCbGJXbDBSWEp5YjNKT1ZDaHpaV3htTENCbGNuSXBPMXh1SUNCbGJXbDBRMnh2YzJWT1ZDaHpaV3htS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlcxcGRFTnNiM05sVGxRb2MyVnNaaWtnZTF4dUlDQnBaaUFvYzJWc1ppNWZkM0pwZEdGaWJHVlRkR0YwWlNBbUppQWhjMlZzWmk1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVsYldsMFEyeHZjMlVwSUhKbGRIVnlianRjYmlBZ2FXWWdLSE5sYkdZdVgzSmxZV1JoWW14bFUzUmhkR1VnSmlZZ0lYTmxiR1l1WDNKbFlXUmhZbXhsVTNSaGRHVXVaVzFwZEVOc2IzTmxLU0J5WlhSMWNtNDdYRzRnSUhObGJHWXVaVzFwZENnblkyeHZjMlVuS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1a1pYTjBjbTk1S0NrZ2UxeHVJQ0JwWmlBb2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTa2dlMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaR1Z6ZEhKdmVXVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTNXlaV0ZrYVc1bklEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlM1bGJtUmxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaVzVrUlcxcGRIUmxaQ0E5SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbVJsYzNSeWIzbGxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1WdVpHbHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVabWx1WVd4RFlXeHNaV1FnUFNCbVlXeHpaVHRjYmlBZ0lDQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxMbkJ5WldacGJtbHphR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVtYVc1cGMyaGxaQ0E5SUdaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVXVaWEp5YjNKRmJXbDBkR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRVZ5Y205eVRsUW9jMlZzWml3Z1pYSnlLU0I3WEc0Z0lITmxiR1l1WlcxcGRDZ25aWEp5YjNJbkxDQmxjbklwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsY25KdmNrOXlSR1Z6ZEhKdmVTaHpkSEpsWVcwc0lHVnljaWtnZTF4dUlDQXZMeUJYWlNCb1lYWmxJSFJsYzNSeklIUm9ZWFFnY21Wc2VTQnZiaUJsY25KdmNuTWdZbVZwYm1jZ1pXMXBkSFJsWkZ4dUlDQXZMeUJwYmlCMGFHVWdjMkZ0WlNCMGFXTnJMQ0J6YnlCamFHRnVaMmx1WnlCMGFHbHpJR2x6SUhObGJYWmxjaUJ0WVdwdmNpNWNiaUFnTHk4Z1JtOXlJRzV2ZHlCM2FHVnVJSGx2ZFNCdmNIUXRhVzRnZEc4Z1lYVjBiMFJsYzNSeWIza2dkMlVnWVd4c2IzZGNiaUFnTHk4Z2RHaGxJR1Z5Y205eUlIUnZJR0psSUdWdGFYUjBaV1FnYm1WNGRGUnBZMnN1SUVsdUlHRWdablYwZFhKbFhHNGdJQzh2SUhObGJYWmxjaUJ0WVdwdmNpQjFjR1JoZEdVZ2QyVWdjMmh2ZFd4a0lHTm9ZVzVuWlNCMGFHVWdaR1ZtWVhWc2RDQjBieUIwYUdsekxseHVJQ0IyWVhJZ2NsTjBZWFJsSUQwZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdkMU4wWVhSbElEMGdjM1J5WldGdExsOTNjbWwwWVdKc1pWTjBZWFJsTzF4dUlDQnBaaUFvY2xOMFlYUmxJQ1ltSUhKVGRHRjBaUzVoZFhSdlJHVnpkSEp2ZVNCOGZDQjNVM1JoZEdVZ0ppWWdkMU4wWVhSbExtRjFkRzlFWlhOMGNtOTVLU0J6ZEhKbFlXMHVaR1Z6ZEhKdmVTaGxjbklwTzJWc2MyVWdjM1J5WldGdExtVnRhWFFvSjJWeWNtOXlKeXdnWlhKeUtUdGNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCN1hHNGdJR1JsYzNSeWIzazZJR1JsYzNSeWIza3NYRzRnSUhWdVpHVnpkSEp2ZVRvZ2RXNWtaWE4wY205NUxGeHVJQ0JsY25KdmNrOXlSR1Z6ZEhKdmVUb2daWEp5YjNKUGNrUmxjM1J5YjNsY2JuMDdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLy8gUG9ydGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL21hZmludG9zaC9lbmQtb2Ytc3RyZWFtIHdpdGhcXG4vLyBwZXJtaXNzaW9uIGZyb20gdGhlIGF1dGhvciwgTWF0aGlhcyBCdXVzIChAbWFmaW50b3NoKS5cXG5cXG5cXG52YXIgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7XFxuXFxuZnVuY3Rpb24gb25jZShjYWxsYmFjaykge1xcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNhbGxlZCkgcmV0dXJuO1xcbiAgICBjYWxsZWQgPSB0cnVlO1xcblxcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcXG4gICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xcbiAgICB9XFxuXFxuICAgIGNhbGxiYWNrLmFwcGx5KHRoaXMsIGFyZ3MpO1xcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gbm9vcCgpIHt9XFxuXFxuZnVuY3Rpb24gaXNSZXF1ZXN0KHN0cmVhbSkge1xcbiAgcmV0dXJuIHN0cmVhbS5zZXRIZWFkZXIgJiYgdHlwZW9mIHN0cmVhbS5hYm9ydCA9PT0gJ2Z1bmN0aW9uJztcXG59XFxuXFxuZnVuY3Rpb24gZW9zKHN0cmVhbSwgb3B0cywgY2FsbGJhY2spIHtcXG4gIGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVvcyhzdHJlYW0sIG51bGwsIG9wdHMpO1xcbiAgaWYgKCFvcHRzKSBvcHRzID0ge307XFxuICBjYWxsYmFjayA9IG9uY2UoY2FsbGJhY2sgfHwgbm9vcCk7XFxuICB2YXIgcmVhZGFibGUgPSBvcHRzLnJlYWRhYmxlIHx8IG9wdHMucmVhZGFibGUgIT09IGZhbHNlICYmIHN0cmVhbS5yZWFkYWJsZTtcXG4gIHZhciB3cml0YWJsZSA9IG9wdHMud3JpdGFibGUgfHwgb3B0cy53cml0YWJsZSAhPT0gZmFsc2UgJiYgc3RyZWFtLndyaXRhYmxlO1xcblxcbiAgdmFyIG9ubGVnYWN5ZmluaXNoID0gZnVuY3Rpb24gb25sZWdhY3lmaW5pc2goKSB7XFxuICAgIGlmICghc3RyZWFtLndyaXRhYmxlKSBvbmZpbmlzaCgpO1xcbiAgfTtcXG5cXG4gIHZhciB3cml0YWJsZUVuZGVkID0gc3RyZWFtLl93cml0YWJsZVN0YXRlICYmIHN0cmVhbS5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZDtcXG5cXG4gIHZhciBvbmZpbmlzaCA9IGZ1bmN0aW9uIG9uZmluaXNoKCkge1xcbiAgICB3cml0YWJsZSA9IGZhbHNlO1xcbiAgICB3cml0YWJsZUVuZGVkID0gdHJ1ZTtcXG4gICAgaWYgKCFyZWFkYWJsZSkgY2FsbGJhY2suY2FsbChzdHJlYW0pO1xcbiAgfTtcXG5cXG4gIHZhciByZWFkYWJsZUVuZGVkID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlICYmIHN0cmVhbS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkO1xcblxcbiAgdmFyIG9uZW5kID0gZnVuY3Rpb24gb25lbmQoKSB7XFxuICAgIHJlYWRhYmxlID0gZmFsc2U7XFxuICAgIHJlYWRhYmxlRW5kZWQgPSB0cnVlO1xcbiAgICBpZiAoIXdyaXRhYmxlKSBjYWxsYmFjay5jYWxsKHN0cmVhbSk7XFxuICB9O1xcblxcbiAgdmFyIG9uZXJyb3IgPSBmdW5jdGlvbiBvbmVycm9yKGVycikge1xcbiAgICBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcXG4gIH07XFxuXFxuICB2YXIgb25jbG9zZSA9IGZ1bmN0aW9uIG9uY2xvc2UoKSB7XFxuICAgIHZhciBlcnI7XFxuXFxuICAgIGlmIChyZWFkYWJsZSAmJiAhcmVhZGFibGVFbmRlZCkge1xcbiAgICAgIGlmICghc3RyZWFtLl9yZWFkYWJsZVN0YXRlIHx8ICFzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kZWQpIGVyciA9IG5ldyBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSgpO1xcbiAgICAgIHJldHVybiBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcXG4gICAgfVxcblxcbiAgICBpZiAod3JpdGFibGUgJiYgIXdyaXRhYmxlRW5kZWQpIHtcXG4gICAgICBpZiAoIXN0cmVhbS5fd3JpdGFibGVTdGF0ZSB8fCAhc3RyZWFtLl93cml0YWJsZVN0YXRlLmVuZGVkKSBlcnIgPSBuZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UoKTtcXG4gICAgICByZXR1cm4gY2FsbGJhY2suY2FsbChzdHJlYW0sIGVycik7XFxuICAgIH1cXG4gIH07XFxuXFxuICB2YXIgb25yZXF1ZXN0ID0gZnVuY3Rpb24gb25yZXF1ZXN0KCkge1xcbiAgICBzdHJlYW0ucmVxLm9uKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICB9O1xcblxcbiAgaWYgKGlzUmVxdWVzdChzdHJlYW0pKSB7XFxuICAgIHN0cmVhbS5vbignY29tcGxldGUnLCBvbmZpbmlzaCk7XFxuICAgIHN0cmVhbS5vbignYWJvcnQnLCBvbmNsb3NlKTtcXG4gICAgaWYgKHN0cmVhbS5yZXEpIG9ucmVxdWVzdCgpO2Vsc2Ugc3RyZWFtLm9uKCdyZXF1ZXN0Jywgb25yZXF1ZXN0KTtcXG4gIH0gZWxzZSBpZiAod3JpdGFibGUgJiYgIXN0cmVhbS5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAvLyBsZWdhY3kgc3RyZWFtc1xcbiAgICBzdHJlYW0ub24oJ2VuZCcsIG9ubGVnYWN5ZmluaXNoKTtcXG4gICAgc3RyZWFtLm9uKCdjbG9zZScsIG9ubGVnYWN5ZmluaXNoKTtcXG4gIH1cXG5cXG4gIHN0cmVhbS5vbignZW5kJywgb25lbmQpO1xcbiAgc3RyZWFtLm9uKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICBpZiAob3B0cy5lcnJvciAhPT0gZmFsc2UpIHN0cmVhbS5vbignZXJyb3InLCBvbmVycm9yKTtcXG4gIHN0cmVhbS5vbignY2xvc2UnLCBvbmNsb3NlKTtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignY29tcGxldGUnLCBvbmZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignYWJvcnQnLCBvbmNsb3NlKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdyZXF1ZXN0Jywgb25yZXF1ZXN0KTtcXG4gICAgaWYgKHN0cmVhbS5yZXEpIHN0cmVhbS5yZXEucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmxlZ2FjeWZpbmlzaCk7XFxuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9uZW5kKTtcXG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XFxuICB9O1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGVvczsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5bGJtUXRiMll0YzNSeVpXRnRMbXB6UHpnMVpUWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5oT3p0QlFVVmlMR2xEUVVGcFF5eHRRa0ZCVHl4RFFVRkRMR2RIUVVGcFFqczdRVUZGTVVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVJVRkJkVVVzWVVGQllUdEJRVU53Ump0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNaME5CUVdkRE8wRkJRMmhETEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmhoYzJndFltRnpaUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwyVnVaQzF2WmkxemRISmxZVzB1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCUWIzSjBaV1FnWm5KdmJTQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZiV0ZtYVc1MGIzTm9MMlZ1WkMxdlppMXpkSEpsWVcwZ2QybDBhRnh1THk4Z2NHVnliV2x6YzJsdmJpQm1jbTl0SUhSb1pTQmhkWFJvYjNJc0lFMWhkR2hwWVhNZ1FuVjFjeUFvUUcxaFptbHVkRzl6YUNrdVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJGVWxKZlUxUlNSVUZOWDFCU1JVMUJWRlZTUlY5RFRFOVRSU0E5SUhKbGNYVnBjbVVvSnk0dUx5NHVMeTR1TDJWeWNtOXljeWNwTG1OdlpHVnpMa1ZTVWw5VFZGSkZRVTFmVUZKRlRVRlVWVkpGWDBOTVQxTkZPMXh1WEc1bWRXNWpkR2x2YmlCdmJtTmxLR05oYkd4aVlXTnJLU0I3WEc0Z0lIWmhjaUJqWVd4c1pXUWdQU0JtWVd4elpUdGNiaUFnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JwWmlBb1kyRnNiR1ZrS1NCeVpYUjFjbTQ3WEc0Z0lDQWdZMkZzYkdWa0lEMGdkSEoxWlR0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUY5c1pXNGdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9MQ0JoY21keklEMGdibVYzSUVGeWNtRjVLRjlzWlc0cExDQmZhMlY1SUQwZ01Ec2dYMnRsZVNBOElGOXNaVzQ3SUY5clpYa3JLeWtnZTF4dUlDQWdJQ0FnWVhKbmMxdGZhMlY1WFNBOUlHRnlaM1Z0Wlc1MGMxdGZhMlY1WFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqWVd4c1ltRmpheTVoY0hCc2VTaDBhR2x6TENCaGNtZHpLVHRjYmlBZ2ZUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JtOXZjQ2dwSUh0OVhHNWNibVoxYm1OMGFXOXVJR2x6VW1WeGRXVnpkQ2h6ZEhKbFlXMHBJSHRjYmlBZ2NtVjBkWEp1SUhOMGNtVmhiUzV6WlhSSVpXRmtaWElnSmlZZ2RIbHdaVzltSUhOMGNtVmhiUzVoWW05eWRDQTlQVDBnSjJaMWJtTjBhVzl1Snp0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWlc5ektITjBjbVZoYlN3Z2IzQjBjeXdnWTJGc2JHSmhZMnNwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJ2Y0hSeklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCeVpYUjFjbTRnWlc5ektITjBjbVZoYlN3Z2JuVnNiQ3dnYjNCMGN5azdYRzRnSUdsbUlDZ2hiM0IwY3lrZ2IzQjBjeUE5SUh0OU8xeHVJQ0JqWVd4c1ltRmpheUE5SUc5dVkyVW9ZMkZzYkdKaFkyc2dmSHdnYm05dmNDazdYRzRnSUhaaGNpQnlaV0ZrWVdKc1pTQTlJRzl3ZEhNdWNtVmhaR0ZpYkdVZ2ZId2diM0IwY3k1eVpXRmtZV0pzWlNBaFBUMGdabUZzYzJVZ0ppWWdjM1J5WldGdExuSmxZV1JoWW14bE8xeHVJQ0IyWVhJZ2QzSnBkR0ZpYkdVZ1BTQnZjSFJ6TG5keWFYUmhZbXhsSUh4OElHOXdkSE11ZDNKcGRHRmliR1VnSVQwOUlHWmhiSE5sSUNZbUlITjBjbVZoYlM1M2NtbDBZV0pzWlR0Y2JseHVJQ0IyWVhJZ2IyNXNaV2RoWTNsbWFXNXBjMmdnUFNCbWRXNWpkR2x2YmlCdmJteGxaMkZqZVdacGJtbHphQ2dwSUh0Y2JpQWdJQ0JwWmlBb0lYTjBjbVZoYlM1M2NtbDBZV0pzWlNrZ2IyNW1hVzVwYzJnb0tUdGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2QzSnBkR0ZpYkdWRmJtUmxaQ0E5SUhOMGNtVmhiUzVmZDNKcGRHRmliR1ZUZEdGMFpTQW1KaUJ6ZEhKbFlXMHVYM2R5YVhSaFlteGxVM1JoZEdVdVptbHVhWE5vWldRN1hHNWNiaUFnZG1GeUlHOXVabWx1YVhOb0lEMGdablZ1WTNScGIyNGdiMjVtYVc1cGMyZ29LU0I3WEc0Z0lDQWdkM0pwZEdGaWJHVWdQU0JtWVd4elpUdGNiaUFnSUNCM2NtbDBZV0pzWlVWdVpHVmtJRDBnZEhKMVpUdGNiaUFnSUNCcFppQW9JWEpsWVdSaFlteGxLU0JqWVd4c1ltRmpheTVqWVd4c0tITjBjbVZoYlNrN1hHNGdJSDA3WEc1Y2JpQWdkbUZ5SUhKbFlXUmhZbXhsUlc1a1pXUWdQU0J6ZEhKbFlXMHVYM0psWVdSaFlteGxVM1JoZEdVZ0ppWWdjM1J5WldGdExsOXlaV0ZrWVdKc1pWTjBZWFJsTG1WdVpFVnRhWFIwWldRN1hHNWNiaUFnZG1GeUlHOXVaVzVrSUQwZ1puVnVZM1JwYjI0Z2IyNWxibVFvS1NCN1hHNGdJQ0FnY21WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ0lDQnlaV0ZrWVdKc1pVVnVaR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQnBaaUFvSVhkeWFYUmhZbXhsS1NCallXeHNZbUZqYXk1allXeHNLSE4wY21WaGJTazdYRzRnSUgwN1hHNWNiaUFnZG1GeUlHOXVaWEp5YjNJZ1BTQm1kVzVqZEdsdmJpQnZibVZ5Y205eUtHVnljaWtnZTF4dUlDQWdJR05oYkd4aVlXTnJMbU5oYkd3b2MzUnlaV0Z0TENCbGNuSXBPMXh1SUNCOU8xeHVYRzRnSUhaaGNpQnZibU5zYjNObElEMGdablZ1WTNScGIyNGdiMjVqYkc5elpTZ3BJSHRjYmlBZ0lDQjJZWElnWlhKeU8xeHVYRzRnSUNBZ2FXWWdLSEpsWVdSaFlteGxJQ1ltSUNGeVpXRmtZV0pzWlVWdVpHVmtLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lYTjBjbVZoYlM1ZmNtVmhaR0ZpYkdWVGRHRjBaU0I4ZkNBaGMzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVZ1WkdWa0tTQmxjbklnUFNCdVpYY2dSVkpTWDFOVVVrVkJUVjlRVWtWTlFWUlZVa1ZmUTB4UFUwVW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpZV3hzWW1GamF5NWpZV3hzS0hOMGNtVmhiU3dnWlhKeUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kM0pwZEdGaWJHVWdKaVlnSVhkeWFYUmhZbXhsUlc1a1pXUXBJSHRjYmlBZ0lDQWdJR2xtSUNnaGMzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxJSHg4SUNGemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXVaVzVrWldRcElHVnljaUE5SUc1bGR5QkZVbEpmVTFSU1JVRk5YMUJTUlUxQlZGVlNSVjlEVEU5VFJTZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTmhiR3hpWVdOckxtTmhiR3dvYzNSeVpXRnRMQ0JsY25JcE8xeHVJQ0FnSUgxY2JpQWdmVHRjYmx4dUlDQjJZWElnYjI1eVpYRjFaWE4wSUQwZ1puVnVZM1JwYjI0Z2IyNXlaWEYxWlhOMEtDa2dlMXh1SUNBZ0lITjBjbVZoYlM1eVpYRXViMjRvSjJacGJtbHphQ2NzSUc5dVptbHVhWE5vS1R0Y2JpQWdmVHRjYmx4dUlDQnBaaUFvYVhOU1pYRjFaWE4wS0hOMGNtVmhiU2twSUh0Y2JpQWdJQ0J6ZEhKbFlXMHViMjRvSjJOdmJYQnNaWFJsSnl3Z2IyNW1hVzVwYzJncE8xeHVJQ0FnSUhOMGNtVmhiUzV2YmlnbllXSnZjblFuTENCdmJtTnNiM05sS1R0Y2JpQWdJQ0JwWmlBb2MzUnlaV0Z0TG5KbGNTa2diMjV5WlhGMVpYTjBLQ2s3Wld4elpTQnpkSEpsWVcwdWIyNG9KM0psY1hWbGMzUW5MQ0J2Ym5KbGNYVmxjM1FwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSGR5YVhSaFlteGxJQ1ltSUNGemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXBJSHRjYmlBZ0lDQXZMeUJzWldkaFkza2djM1J5WldGdGMxeHVJQ0FnSUhOMGNtVmhiUzV2YmlnblpXNWtKeXdnYjI1c1pXZGhZM2xtYVc1cGMyZ3BPMXh1SUNBZ0lITjBjbVZoYlM1dmJpZ25ZMnh2YzJVbkxDQnZibXhsWjJGamVXWnBibWx6YUNrN1hHNGdJSDFjYmx4dUlDQnpkSEpsWVcwdWIyNG9KMlZ1WkNjc0lHOXVaVzVrS1R0Y2JpQWdjM1J5WldGdExtOXVLQ2RtYVc1cGMyZ25MQ0J2Ym1acGJtbHphQ2s3WEc0Z0lHbG1JQ2h2Y0hSekxtVnljbTl5SUNFOVBTQm1ZV3h6WlNrZ2MzUnlaV0Z0TG05dUtDZGxjbkp2Y2ljc0lHOXVaWEp5YjNJcE8xeHVJQ0J6ZEhKbFlXMHViMjRvSjJOc2IzTmxKeXdnYjI1amJHOXpaU2s3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2MzUnlaV0Z0TG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RqYjIxd2JHVjBaU2NzSUc5dVptbHVhWE5vS1R0Y2JpQWdJQ0J6ZEhKbFlXMHVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyRmliM0owSnl3Z2IyNWpiRzl6WlNrN1hHNGdJQ0FnYzNSeVpXRnRMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZHlaWEYxWlhOMEp5d2diMjV5WlhGMVpYTjBLVHRjYmlBZ0lDQnBaaUFvYzNSeVpXRnRMbkpsY1NrZ2MzUnlaV0Z0TG5KbGNTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblptbHVhWE5vSnl3Z2IyNW1hVzVwYzJncE8xeHVJQ0FnSUhOMGNtVmhiUzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aVzVrSnl3Z2IyNXNaV2RoWTNsbWFXNXBjMmdwTzF4dUlDQWdJSE4wY21WaGJTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblkyeHZjMlVuTENCdmJteGxaMkZqZVdacGJtbHphQ2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbWFXNXBjMmduTENCdmJtWnBibWx6YUNrN1hHNGdJQ0FnYzNSeVpXRnRMbkpsYlc5MlpVeHBjM1JsYm1WeUtDZGxibVFuTENCdmJtVnVaQ2s3WEc0Z0lDQWdjM1J5WldGdExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGNuSnZjaWNzSUc5dVpYSnliM0lwTzF4dUlDQWdJSE4wY21WaGJTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblkyeHZjMlVuTENCdmJtTnNiM05sS1R0Y2JpQWdmVHRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmxiM003SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9mcm9tLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXInKVxcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OW1jbTl0TFdKeWIzZHpaWEl1YW5NL05tVmlaaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDMWlZWE5sTDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZabkp2YlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25VbVZoWkdGaWJHVXVabkp2YlNCcGN5QnViM1FnWVhaaGFXeGhZbXhsSUdsdUlIUm9aU0JpY205M2MyVnlKeWxjYm4wN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZnJvbS1icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWFmaW50b3NoL3B1bXAgd2l0aFxcbi8vIHBlcm1pc3Npb24gZnJvbSB0aGUgYXV0aG9yLCBNYXRoaWFzIEJ1dXMgKEBtYWZpbnRvc2gpLlxcblxcblxcbnZhciBlb3M7XFxuXFxuZnVuY3Rpb24gb25jZShjYWxsYmFjaykge1xcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKGNhbGxlZCkgcmV0dXJuO1xcbiAgICBjYWxsZWQgPSB0cnVlO1xcbiAgICBjYWxsYmFjay5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XFxuICB9O1xcbn1cXG5cXG52YXIgX3JlcXVpcmUkY29kZXMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi8uLi8uLi9lcnJvcnMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2Vycm9ycy1icm93c2VyLmpzXFxcIikuY29kZXMsXFxuICAgIEVSUl9NSVNTSU5HX0FSR1MgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTUlTU0lOR19BUkdTLFxcbiAgICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVEO1xcblxcbmZ1bmN0aW9uIG5vb3AoZXJyKSB7XFxuICAvLyBSZXRocm93IHRoZSBlcnJvciBpZiBpdCBleGlzdHMgdG8gYXZvaWQgc3dhbGxvd2luZyBpdFxcbiAgaWYgKGVycikgdGhyb3cgZXJyO1xcbn1cXG5cXG5mdW5jdGlvbiBpc1JlcXVlc3Qoc3RyZWFtKSB7XFxuICByZXR1cm4gc3RyZWFtLnNldEhlYWRlciAmJiB0eXBlb2Ygc3RyZWFtLmFib3J0ID09PSAnZnVuY3Rpb24nO1xcbn1cXG5cXG5mdW5jdGlvbiBkZXN0cm95ZXIoc3RyZWFtLCByZWFkaW5nLCB3cml0aW5nLCBjYWxsYmFjaykge1xcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrKTtcXG4gIHZhciBjbG9zZWQgPSBmYWxzZTtcXG4gIHN0cmVhbS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XFxuICAgIGNsb3NlZCA9IHRydWU7XFxuICB9KTtcXG4gIGlmIChlb3MgPT09IHVuZGVmaW5lZCkgZW9zID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9lbmQtb2Ytc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9lbmQtb2Ytc3RyZWFtLmpzXFxcIik7XFxuICBlb3Moc3RyZWFtLCB7XFxuICAgIHJlYWRhYmxlOiByZWFkaW5nLFxcbiAgICB3cml0YWJsZTogd3JpdGluZ1xcbiAgfSwgZnVuY3Rpb24gKGVycikge1xcbiAgICBpZiAoZXJyKSByZXR1cm4gY2FsbGJhY2soZXJyKTtcXG4gICAgY2xvc2VkID0gdHJ1ZTtcXG4gICAgY2FsbGJhY2soKTtcXG4gIH0pO1xcbiAgdmFyIGRlc3Ryb3llZCA9IGZhbHNlO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKGNsb3NlZCkgcmV0dXJuO1xcbiAgICBpZiAoZGVzdHJveWVkKSByZXR1cm47XFxuICAgIGRlc3Ryb3llZCA9IHRydWU7IC8vIHJlcXVlc3QuZGVzdHJveSBqdXN0IGRvIC5lbmQgLSAuYWJvcnQgaXMgd2hhdCB3ZSB3YW50XFxuXFxuICAgIGlmIChpc1JlcXVlc3Qoc3RyZWFtKSkgcmV0dXJuIHN0cmVhbS5hYm9ydCgpO1xcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSByZXR1cm4gc3RyZWFtLmRlc3Ryb3koKTtcXG4gICAgY2FsbGJhY2soZXJyIHx8IG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgncGlwZScpKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGNhbGwoZm4pIHtcXG4gIGZuKCk7XFxufVxcblxcbmZ1bmN0aW9uIHBpcGUoZnJvbSwgdG8pIHtcXG4gIHJldHVybiBmcm9tLnBpcGUodG8pO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BDYWxsYmFjayhzdHJlYW1zKSB7XFxuICBpZiAoIXN0cmVhbXMubGVuZ3RoKSByZXR1cm4gbm9vcDtcXG4gIGlmICh0eXBlb2Ygc3RyZWFtc1tzdHJlYW1zLmxlbmd0aCAtIDFdICE9PSAnZnVuY3Rpb24nKSByZXR1cm4gbm9vcDtcXG4gIHJldHVybiBzdHJlYW1zLnBvcCgpO1xcbn1cXG5cXG5mdW5jdGlvbiBwaXBlbGluZSgpIHtcXG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdHJlYW1zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICBzdHJlYW1zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xcbiAgfVxcblxcbiAgdmFyIGNhbGxiYWNrID0gcG9wQ2FsbGJhY2soc3RyZWFtcyk7XFxuICBpZiAoQXJyYXkuaXNBcnJheShzdHJlYW1zWzBdKSkgc3RyZWFtcyA9IHN0cmVhbXNbMF07XFxuXFxuICBpZiAoc3RyZWFtcy5sZW5ndGggPCAyKSB7XFxuICAgIHRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKCdzdHJlYW1zJyk7XFxuICB9XFxuXFxuICB2YXIgZXJyb3I7XFxuICB2YXIgZGVzdHJveXMgPSBzdHJlYW1zLm1hcChmdW5jdGlvbiAoc3RyZWFtLCBpKSB7XFxuICAgIHZhciByZWFkaW5nID0gaSA8IHN0cmVhbXMubGVuZ3RoIC0gMTtcXG4gICAgdmFyIHdyaXRpbmcgPSBpID4gMDtcXG4gICAgcmV0dXJuIGRlc3Ryb3llcihzdHJlYW0sIHJlYWRpbmcsIHdyaXRpbmcsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICBpZiAoIWVycm9yKSBlcnJvciA9IGVycjtcXG4gICAgICBpZiAoZXJyKSBkZXN0cm95cy5mb3JFYWNoKGNhbGwpO1xcbiAgICAgIGlmIChyZWFkaW5nKSByZXR1cm47XFxuICAgICAgZGVzdHJveXMuZm9yRWFjaChjYWxsKTtcXG4gICAgICBjYWxsYmFjayhlcnJvcik7XFxuICAgIH0pO1xcbiAgfSk7XFxuICByZXR1cm4gc3RyZWFtcy5yZWR1Y2UocGlwZSk7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gcGlwZWxpbmU7Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXdhWEJsYkdsdVpTNXFjejltTjJReklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRZVHM3UVVGRllqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMR2RIUVVGcFFqdEJRVU01UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSUxDdENRVUVyUWl4dFFrRkJUeXhEUVVGRExHOUlRVUZwUWp0QlFVTjRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ096dEJRVVZ5UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhkRlFVRjNSU3hoUVVGaE8wRkJRM0pHTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDMWlZWE5sTDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjR2x3Wld4cGJtVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJRYjNKMFpXUWdabkp2YlNCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdmJXRm1hVzUwYjNOb0wzQjFiWEFnZDJsMGFGeHVMeThnY0dWeWJXbHpjMmx2YmlCbWNtOXRJSFJvWlNCaGRYUm9iM0lzSUUxaGRHaHBZWE1nUW5WMWN5QW9RRzFoWm1sdWRHOXphQ2t1WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQmxiM003WEc1Y2JtWjFibU4wYVc5dUlHOXVZMlVvWTJGc2JHSmhZMnNwSUh0Y2JpQWdkbUZ5SUdOaGJHeGxaQ0E5SUdaaGJITmxPMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdsbUlDaGpZV3hzWldRcElISmxkSFZ5Ymp0Y2JpQWdJQ0JqWVd4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUdOaGJHeGlZV05yTG1Gd2NHeDVLSFp2YVdRZ01Dd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ2ZUdGNibjFjYmx4dWRtRnlJRjl5WlhGMWFYSmxKR052WkdWeklEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dkxpNHZaWEp5YjNKekp5a3VZMjlrWlhNc1hHNGdJQ0FnUlZKU1gwMUpVMU5KVGtkZlFWSkhVeUE5SUY5eVpYRjFhWEpsSkdOdlpHVnpMa1ZTVWw5TlNWTlRTVTVIWDBGU1IxTXNYRzRnSUNBZ1JWSlNYMU5VVWtWQlRWOUVSVk5VVWs5WlJVUWdQU0JmY21WeGRXbHlaU1JqYjJSbGN5NUZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSRHRjYmx4dVpuVnVZM1JwYjI0Z2JtOXZjQ2hsY25JcElIdGNiaUFnTHk4Z1VtVjBhSEp2ZHlCMGFHVWdaWEp5YjNJZ2FXWWdhWFFnWlhocGMzUnpJSFJ2SUdGMmIybGtJSE4zWVd4c2IzZHBibWNnYVhSY2JpQWdhV1lnS0dWeWNpa2dkR2h5YjNjZ1pYSnlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBjMUpsY1hWbGMzUW9jM1J5WldGdEtTQjdYRzRnSUhKbGRIVnliaUJ6ZEhKbFlXMHVjMlYwU0dWaFpHVnlJQ1ltSUhSNWNHVnZaaUJ6ZEhKbFlXMHVZV0p2Y25RZ1BUMDlJQ2RtZFc1amRHbHZiaWM3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1JsYzNSeWIzbGxjaWh6ZEhKbFlXMHNJSEpsWVdScGJtY3NJSGR5YVhScGJtY3NJR05oYkd4aVlXTnJLU0I3WEc0Z0lHTmhiR3hpWVdOcklEMGdiMjVqWlNoallXeHNZbUZqYXlrN1hHNGdJSFpoY2lCamJHOXpaV1FnUFNCbVlXeHpaVHRjYmlBZ2MzUnlaV0Z0TG05dUtDZGpiRzl6WlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQmpiRzl6WldRZ1BTQjBjblZsTzF4dUlDQjlLVHRjYmlBZ2FXWWdLR1Z2Y3lBOVBUMGdkVzVrWldacGJtVmtLU0JsYjNNZ1BTQnlaWEYxYVhKbEtDY3VMMlZ1WkMxdlppMXpkSEpsWVcwbktUdGNiaUFnWlc5ektITjBjbVZoYlN3Z2UxeHVJQ0FnSUhKbFlXUmhZbXhsT2lCeVpXRmthVzVuTEZ4dUlDQWdJSGR5YVhSaFlteGxPaUIzY21sMGFXNW5YRzRnSUgwc0lHWjFibU4wYVc5dUlDaGxjbklwSUh0Y2JpQWdJQ0JwWmlBb1pYSnlLU0J5WlhSMWNtNGdZMkZzYkdKaFkyc29aWEp5S1R0Y2JpQWdJQ0JqYkc5elpXUWdQU0IwY25WbE8xeHVJQ0FnSUdOaGJHeGlZV05yS0NrN1hHNGdJSDBwTzF4dUlDQjJZWElnWkdWemRISnZlV1ZrSUQwZ1ptRnNjMlU3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb1pYSnlLU0I3WEc0Z0lDQWdhV1lnS0dOc2IzTmxaQ2tnY21WMGRYSnVPMXh1SUNBZ0lHbG1JQ2hrWlhOMGNtOTVaV1FwSUhKbGRIVnlianRjYmlBZ0lDQmtaWE4wY205NVpXUWdQU0IwY25WbE95QXZMeUJ5WlhGMVpYTjBMbVJsYzNSeWIza2dhblZ6ZENCa2J5QXVaVzVrSUMwZ0xtRmliM0owSUdseklIZG9ZWFFnZDJVZ2QyRnVkRnh1WEc0Z0lDQWdhV1lnS0dselVtVnhkV1Z6ZENoemRISmxZVzBwS1NCeVpYUjFjbTRnYzNSeVpXRnRMbUZpYjNKMEtDazdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnpkSEpsWVcwdVpHVnpkSEp2ZVNBOVBUMGdKMloxYm1OMGFXOXVKeWtnY21WMGRYSnVJSE4wY21WaGJTNWtaWE4wY205NUtDazdYRzRnSUNBZ1kyRnNiR0poWTJzb1pYSnlJSHg4SUc1bGR5QkZVbEpmVTFSU1JVRk5YMFJGVTFSU1QxbEZSQ2duY0dsd1pTY3BLVHRjYmlBZ2ZUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyRnNiQ2htYmlrZ2UxeHVJQ0JtYmlncE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2FYQmxLR1p5YjIwc0lIUnZLU0I3WEc0Z0lISmxkSFZ5YmlCbWNtOXRMbkJwY0dVb2RHOHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndiM0JEWVd4c1ltRmpheWh6ZEhKbFlXMXpLU0I3WEc0Z0lHbG1JQ2doYzNSeVpXRnRjeTVzWlc1bmRHZ3BJSEpsZEhWeWJpQnViMjl3TzF4dUlDQnBaaUFvZEhsd1pXOW1JSE4wY21WaGJYTmJjM1J5WldGdGN5NXNaVzVuZEdnZ0xTQXhYU0FoUFQwZ0oyWjFibU4wYVc5dUp5a2djbVYwZFhKdUlHNXZiM0E3WEc0Z0lISmxkSFZ5YmlCemRISmxZVzF6TG5CdmNDZ3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndhWEJsYkdsdVpTZ3BJSHRjYmlBZ1ptOXlJQ2gyWVhJZ1gyeGxiaUE5SUdGeVozVnRaVzUwY3k1c1pXNW5kR2dzSUhOMGNtVmhiWE1nUFNCdVpYY2dRWEp5WVhrb1gyeGxiaWtzSUY5clpYa2dQU0F3T3lCZmEyVjVJRHdnWDJ4bGJqc2dYMnRsZVNzcktTQjdYRzRnSUNBZ2MzUnlaV0Z0YzF0ZmEyVjVYU0E5SUdGeVozVnRaVzUwYzF0ZmEyVjVYVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQmpZV3hzWW1GamF5QTlJSEJ2Y0VOaGJHeGlZV05yS0hOMGNtVmhiWE1wTzF4dUlDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaHpkSEpsWVcxeld6QmRLU2tnYzNSeVpXRnRjeUE5SUhOMGNtVmhiWE5iTUYwN1hHNWNiaUFnYVdZZ0tITjBjbVZoYlhNdWJHVnVaM1JvSUR3Z01pa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZVbEpmVFVsVFUwbE9SMTlCVWtkVEtDZHpkSEpsWVcxekp5azdYRzRnSUgxY2JseHVJQ0IyWVhJZ1pYSnliM0k3WEc0Z0lIWmhjaUJrWlhOMGNtOTVjeUE5SUhOMGNtVmhiWE11YldGd0tHWjFibU4wYVc5dUlDaHpkSEpsWVcwc0lHa3BJSHRjYmlBZ0lDQjJZWElnY21WaFpHbHVaeUE5SUdrZ1BDQnpkSEpsWVcxekxteGxibWQwYUNBdElERTdYRzRnSUNBZ2RtRnlJSGR5YVhScGJtY2dQU0JwSUQ0Z01EdGNiaUFnSUNCeVpYUjFjbTRnWkdWemRISnZlV1Z5S0hOMGNtVmhiU3dnY21WaFpHbHVaeXdnZDNKcGRHbHVaeXdnWm5WdVkzUnBiMjRnS0dWeWNpa2dlMXh1SUNBZ0lDQWdhV1lnS0NGbGNuSnZjaWtnWlhKeWIzSWdQU0JsY25JN1hHNGdJQ0FnSUNCcFppQW9aWEp5S1NCa1pYTjBjbTk1Y3k1bWIzSkZZV05vS0dOaGJHd3BPMXh1SUNBZ0lDQWdhV1lnS0hKbFlXUnBibWNwSUhKbGRIVnlianRjYmlBZ0lDQWdJR1JsYzNSeWIzbHpMbVp2Y2tWaFkyZ29ZMkZzYkNrN1hHNGdJQ0FnSUNCallXeHNZbUZqYXlobGNuSnZjaWs3WEc0Z0lDQWdmU2s3WEc0Z0lIMHBPMXh1SUNCeVpYUjFjbTRnYzNSeVpXRnRjeTV5WldSMVkyVW9jR2x3WlNrN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY0dsd1pXeHBibVU3SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIEVSUl9JTlZBTElEX09QVF9WQUxVRSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uLy4uLy4uL2Vycm9ycyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZXJyb3JzLWJyb3dzZXIuanNcXFwiKS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7XFxuXFxuZnVuY3Rpb24gaGlnaFdhdGVyTWFya0Zyb20ob3B0aW9ucywgaXNEdXBsZXgsIGR1cGxleEtleSkge1xcbiAgcmV0dXJuIG9wdGlvbnMuaGlnaFdhdGVyTWFyayAhPSBudWxsID8gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrIDogaXNEdXBsZXggPyBvcHRpb25zW2R1cGxleEtleV0gOiBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRIaWdoV2F0ZXJNYXJrKHN0YXRlLCBvcHRpb25zLCBkdXBsZXhLZXksIGlzRHVwbGV4KSB7XFxuICB2YXIgaHdtID0gaGlnaFdhdGVyTWFya0Zyb20ob3B0aW9ucywgaXNEdXBsZXgsIGR1cGxleEtleSk7XFxuXFxuICBpZiAoaHdtICE9IG51bGwpIHtcXG4gICAgaWYgKCEoaXNGaW5pdGUoaHdtKSAmJiBNYXRoLmZsb29yKGh3bSkgPT09IGh3bSkgfHwgaHdtIDwgMCkge1xcbiAgICAgIHZhciBuYW1lID0gaXNEdXBsZXggPyBkdXBsZXhLZXkgOiAnaGlnaFdhdGVyTWFyayc7XFxuICAgICAgdGhyb3cgbmV3IEVSUl9JTlZBTElEX09QVF9WQUxVRShuYW1lLCBod20pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBNYXRoLmZsb29yKGh3bSk7XFxuICB9IC8vIERlZmF1bHQgdmFsdWVcXG5cXG5cXG4gIHJldHVybiBzdGF0ZS5vYmplY3RNb2RlID8gMTYgOiAxNiAqIDEwMjQ7XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0ge1xcbiAgZ2V0SGlnaFdhdGVyTWFyazogZ2V0SGlnaFdhdGVyTWFya1xcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkR0YwWlM1cWN6ODJPR00xSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTERSQ1FVRTBRaXh0UWtGQlR5eERRVUZETEdkSFFVRnBRanM3UVVGRmNrUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd0WW1GelpTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNOMFlYUmxMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnUlZKU1gwbE9Wa0ZNU1VSZlQxQlVYMVpCVEZWRklEMGdjbVZ4ZFdseVpTZ25MaTR2TGk0dkxpNHZaWEp5YjNKekp5a3VZMjlrWlhNdVJWSlNYMGxPVmtGTVNVUmZUMUJVWDFaQlRGVkZPMXh1WEc1bWRXNWpkR2x2YmlCb2FXZG9WMkYwWlhKTllYSnJSbkp2YlNodmNIUnBiMjV6TENCcGMwUjFjR3hsZUN3Z1pIVndiR1Y0UzJWNUtTQjdYRzRnSUhKbGRIVnliaUJ2Y0hScGIyNXpMbWhwWjJoWFlYUmxjazFoY21zZ0lUMGdiblZzYkNBL0lHOXdkR2x2Ym5NdWFHbG5hRmRoZEdWeVRXRnlheUE2SUdselJIVndiR1Y0SUQ4Z2IzQjBhVzl1YzF0a2RYQnNaWGhMWlhsZElEb2diblZzYkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFNHbG5hRmRoZEdWeVRXRnlheWh6ZEdGMFpTd2diM0IwYVc5dWN5d2daSFZ3YkdWNFMyVjVMQ0JwYzBSMWNHeGxlQ2tnZTF4dUlDQjJZWElnYUhkdElEMGdhR2xuYUZkaGRHVnlUV0Z5YTBaeWIyMG9iM0IwYVc5dWN5d2dhWE5FZFhCc1pYZ3NJR1IxY0d4bGVFdGxlU2s3WEc1Y2JpQWdhV1lnS0doM2JTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLQ0VvYVhOR2FXNXBkR1VvYUhkdEtTQW1KaUJOWVhSb0xtWnNiMjl5S0doM2JTa2dQVDA5SUdoM2JTa2dmSHdnYUhkdElEd2dNQ2tnZTF4dUlDQWdJQ0FnZG1GeUlHNWhiV1VnUFNCcGMwUjFjR3hsZUNBL0lHUjFjR3hsZUV0bGVTQTZJQ2RvYVdkb1YyRjBaWEpOWVhKckp6dGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZVbEpmU1U1V1FVeEpSRjlQVUZSZlZrRk1WVVVvYm1GdFpTd2dhSGR0S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdUV0YwYUM1bWJHOXZjaWhvZDIwcE8xeHVJQ0I5SUM4dklFUmxabUYxYkhRZ2RtRnNkV1ZjYmx4dVhHNGdJSEpsZEhWeWJpQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNVFlnT2lBeE5pQXFJREV3TWpRN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnZTF4dUlDQm5aWFJJYVdkb1YyRjBaWEpOWVhKck9pQm5aWFJJYVdkb1YyRjBaWEpOWVhKclhHNTlPeUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBldmVudHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanNcXFwiKS5FdmVudEVtaXR0ZXI7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xXSmhjMlV2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkSEpsWVcwdFluSnZkM05sY2k1cWN6OHpPVFk1SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExDdERRVUZSSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmhoYzJndFltRnpaUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwzTjBjbVZoYlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2RsZG1WdWRITW5LUzVGZG1WdWRFVnRhWFIwWlhJN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxcIik7XFxuZXhwb3J0cy5TdHJlYW0gPSBleHBvcnRzO1xcbmV4cG9ydHMuUmVhZGFibGUgPSBleHBvcnRzO1xcbmV4cG9ydHMuV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbmV4cG9ydHMuRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcbmV4cG9ydHMuVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcbmV4cG9ydHMuUGFzc1Rocm91Z2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2Uvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcXCIpO1xcbmV4cG9ydHMuZmluaXNoZWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcXFwiKTtcXG5leHBvcnRzLnBpcGVsaW5lID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvaW50ZXJuYWwvc3RyZWFtcy9waXBlbGluZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzl5WldGa1lXSnNaUzFpY205M2MyVnlMbXB6UHpBNU9EZ2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzTWtKQlFUSkNMRzFDUVVGUExFTkJRVU1zWjBoQlFUSkNPMEZCUXpsRU8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2JVSkJRVThzUTBGQlF5eG5TRUZCTWtJN1FVRkRkRVFzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zTkVkQlFYbENPMEZCUTJ4RUxHOUNRVUZ2UWl4dFFrRkJUeXhEUVVGRExHdElRVUUwUWp0QlFVTjRSQ3h6UWtGQmMwSXNiVUpCUVU4c1EwRkJReXh6U0VGQk9FSTdRVUZETlVRc2JVSkJRVzFDTEcxQ1FVRlBMRU5CUVVNc05FbEJRWGxETzBGQlEzQkZMRzFDUVVGdFFpeHRRa0ZCVHl4RFFVRkRMR3RKUVVGdlF5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXlaV0ZrWVdKc1pTMWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVpYaHdiM0owY3lBOUlHMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2NtVnhkV2x5WlNnbkxpOXNhV0l2WDNOMGNtVmhiVjl5WldGa1lXSnNaUzVxY3ljcE8xeHVaWGh3YjNKMGN5NVRkSEpsWVcwZ1BTQmxlSEJ2Y25Sek8xeHVaWGh3YjNKMGN5NVNaV0ZrWVdKc1pTQTlJR1Y0Y0c5eWRITTdYRzVsZUhCdmNuUnpMbGR5YVhSaFlteGxJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZYM04wY21WaGJWOTNjbWwwWVdKc1pTNXFjeWNwTzF4dVpYaHdiM0owY3k1RWRYQnNaWGdnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlmYzNSeVpXRnRYMlIxY0d4bGVDNXFjeWNwTzF4dVpYaHdiM0owY3k1VWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5ZmMzUnlaV0Z0WDNSeVlXNXpabTl5YlM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVRWVhOelZHaHliM1ZuYUNBOUlISmxjWFZwY21Vb0p5NHZiR2xpTDE5emRISmxZVzFmY0dGemMzUm9jbTkxWjJndWFuTW5LVHRjYm1WNGNHOXlkSE11Wm1sdWFYTm9aV1FnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlZ1WkMxdlppMXpkSEpsWVcwdWFuTW5LVHRjYm1WNGNHOXlkSE11Y0dsd1pXeHBibVVnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMM0JwY0dWc2FXNWxMbXB6SnlrN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2gtYmFzZS9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyohIHNhZmUtYnVmZmVyLiBNSVQgTGljZW5zZS4gRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cHM6Ly9mZXJvc3Mub3JnL29wZW5zb3VyY2U+ICovXFxuLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xcbnZhciBidWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IGJ1ZmZlci5CdWZmZXJcXG5cXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXFxuZnVuY3Rpb24gY29weVByb3BzIChzcmMsIGRzdCkge1xcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXFxuICB9XFxufVxcbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcXG4gIG1vZHVsZS5leHBvcnRzID0gYnVmZmVyXFxufSBlbHNlIHtcXG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXFxuICBjb3B5UHJvcHMoYnVmZmVyLCBleHBvcnRzKVxcbiAgZXhwb3J0cy5CdWZmZXIgPSBTYWZlQnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIFNhZmVCdWZmZXIgKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5TYWZlQnVmZmVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSlcXG5cXG4vLyBDb3B5IHN0YXRpYyBtZXRob2RzIGZyb20gQnVmZmVyXFxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcXG5cXG5TYWZlQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXFxuICB9XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XFxuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxcbiAgfVxcbiAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxcbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGJ1Zi5maWxsKDApXFxuICB9XFxuICByZXR1cm4gYnVmXFxufVxcblxcblNhZmVCdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcXG59XFxuXFxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBidWZmZXIuU2xvd0J1ZmZlcihzaXplKVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTFdKaGMyVXZibTlrWlY5dGIyUjFiR1Z6TDNOaFptVXRZblZtWm1WeUwybHVaR1Y0TG1welAySmxNalFpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNM1FqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MV0poYzJVdmJtOWtaVjl0YjJSMWJHVnpMM05oWm1VdFluVm1abVZ5TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9oSUhOaFptVXRZblZtWm1WeUxpQk5TVlFnVEdsalpXNXpaUzRnUm1WeWIzTnpJRUZpYjNWcmFHRmthV3BsYUNBOGFIUjBjSE02THk5bVpYSnZjM011YjNKbkwyOXdaVzV6YjNWeVkyVStJQ292WEc0dktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCdWIyUmxMMjV2TFdSbGNISmxZMkYwWldRdFlYQnBJQ292WEc1MllYSWdZblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5bGNiblpoY2lCQ2RXWm1aWElnUFNCaWRXWm1aWEl1UW5WbVptVnlYRzVjYmk4dklHRnNkR1Z5Ym1GMGFYWmxJSFJ2SUhWemFXNW5JRTlpYW1WamRDNXJaWGx6SUdadmNpQnZiR1FnWW5KdmQzTmxjbk5jYm1aMWJtTjBhVzl1SUdOdmNIbFFjbTl3Y3lBb2MzSmpMQ0JrYzNRcElIdGNiaUFnWm05eUlDaDJZWElnYTJWNUlHbHVJSE55WXlrZ2UxeHVJQ0FnSUdSemRGdHJaWGxkSUQwZ2MzSmpXMnRsZVYxY2JpQWdmVnh1ZlZ4dWFXWWdLRUoxWm1abGNpNW1jbTl0SUNZbUlFSjFabVpsY2k1aGJHeHZZeUFtSmlCQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1VZ0ppWWdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxVMnh2ZHlrZ2UxeHVJQ0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR0oxWm1abGNseHVmU0JsYkhObElIdGNiaUFnTHk4Z1EyOXdlU0J3Y205d1pYSjBhV1Z6SUdaeWIyMGdjbVZ4ZFdseVpTZ25ZblZtWm1WeUp5bGNiaUFnWTI5d2VWQnliM0J6S0dKMVptWmxjaXdnWlhod2IzSjBjeWxjYmlBZ1pYaHdiM0owY3k1Q2RXWm1aWElnUFNCVFlXWmxRblZtWm1WeVhHNTlYRzVjYm1aMWJtTjBhVzl1SUZOaFptVkNkV1ptWlhJZ0tHRnlaeXdnWlc1amIyUnBibWRQY2s5bVpuTmxkQ3dnYkdWdVozUm9LU0I3WEc0Z0lISmxkSFZ5YmlCQ2RXWm1aWElvWVhKbkxDQmxibU52WkdsdVowOXlUMlptYzJWMExDQnNaVzVuZEdncFhHNTlYRzVjYmxOaFptVkNkV1ptWlhJdWNISnZkRzkwZVhCbElEMGdUMkpxWldOMExtTnlaV0YwWlNoQ2RXWm1aWEl1Y0hKdmRHOTBlWEJsS1Z4dVhHNHZMeUJEYjNCNUlITjBZWFJwWXlCdFpYUm9iMlJ6SUdaeWIyMGdRblZtWm1WeVhHNWpiM0I1VUhKdmNITW9RblZtWm1WeUxDQlRZV1psUW5WbVptVnlLVnh1WEc1VFlXWmxRblZtWm1WeUxtWnliMjBnUFNCbWRXNWpkR2x2YmlBb1lYSm5MQ0JsYm1OdlpHbHVaMDl5VDJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQmhjbWNnUFQwOUlDZHVkVzFpWlhJbktTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25RWEpuZFcxbGJuUWdiWFZ6ZENCdWIzUWdZbVVnWVNCdWRXMWlaWEluS1Z4dUlDQjlYRzRnSUhKbGRIVnliaUJDZFdabVpYSW9ZWEpuTENCbGJtTnZaR2x1WjA5eVQyWm1jMlYwTENCc1pXNW5kR2dwWEc1OVhHNWNibE5oWm1WQ2RXWm1aWEl1WVd4c2IyTWdQU0JtZFc1amRHbHZiaUFvYzJsNlpTd2dabWxzYkN3Z1pXNWpiMlJwYm1jcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCemFYcGxJQ0U5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0owRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQnVkVzFpWlhJbktWeHVJQ0I5WEc0Z0lIWmhjaUJpZFdZZ1BTQkNkV1ptWlhJb2MybDZaU2xjYmlBZ2FXWWdLR1pwYkd3Z0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWlc1amIyUnBibWNnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQmlkV1l1Wm1sc2JDaG1hV3hzTENCbGJtTnZaR2x1WnlsY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZblZtTG1acGJHd29abWxzYkNsY2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWW5WbUxtWnBiR3dvTUNsY2JpQWdmVnh1SUNCeVpYUjFjbTRnWW5WbVhHNTlYRzVjYmxOaFptVkNkV1ptWlhJdVlXeHNiMk5WYm5OaFptVWdQU0JtZFc1amRHbHZiaUFvYzJsNlpTa2dlMXh1SUNCcFppQW9kSGx3Wlc5bUlITnBlbVVnSVQwOUlDZHVkVzFpWlhJbktTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25RWEpuZFcxbGJuUWdiWFZ6ZENCaVpTQmhJRzUxYldKbGNpY3BYRzRnSUgxY2JpQWdjbVYwZFhKdUlFSjFabVpsY2loemFYcGxLVnh1ZlZ4dVhHNVRZV1psUW5WbVptVnlMbUZzYkc5alZXNXpZV1psVTJ4dmR5QTlJR1oxYm1OMGFXOXVJQ2h6YVhwbEtTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ2MybDZaU0FoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZEJjbWQxYldWdWRDQnRkWE4wSUdKbElHRWdiblZ0WW1WeUp5bGNiaUFnZlZ4dUlDQnlaWFIxY200Z1luVm1abVZ5TGxOc2IzZENkV1ptWlhJb2MybDZaU2xjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2guanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGhhc2ggPSBleHBvcnRzO1xcblxcbmhhc2gudXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2gvdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG5oYXNoLmNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaGFzaC9jb21tb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXFxcIik7XFxuaGFzaC5zaGEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2gvc2hhICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS5qc1xcXCIpO1xcbmhhc2gucmlwZW1kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oYXNoL3JpcGVtZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9yaXBlbWQuanNcXFwiKTtcXG5oYXNoLmhtYWMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2gvaG1hYyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9obWFjLmpzXFxcIik7XFxuXFxuLy8gUHJveHkgaGFzaCBmdW5jdGlvbnMgdG8gdGhlIG1haW4gb2JqZWN0XFxuaGFzaC5zaGExID0gaGFzaC5zaGEuc2hhMTtcXG5oYXNoLnNoYTI1NiA9IGhhc2guc2hhLnNoYTI1NjtcXG5oYXNoLnNoYTIyNCA9IGhhc2guc2hhLnNoYTIyNDtcXG5oYXNoLnNoYTM4NCA9IGhhc2guc2hhLnNoYTM4NDtcXG5oYXNoLnNoYTUxMiA9IGhhc2guc2hhLnNoYTUxMjtcXG5oYXNoLnJpcGVtZDE2MCA9IGhhc2gucmlwZW1kLnJpcGVtZDE2MDtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0xtcHpQMlU0TlRRaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETERoRVFVRmpPMEZCUTI1RExHTkJRV01zYlVKQlFVOHNRMEZCUXl4blJVRkJaVHRCUVVOeVF5eFhRVUZYTEcxQ1FVRlBMRU5CUVVNc01FUkJRVms3UVVGREwwSXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHZEZRVUZsTzBGQlEzSkRMRmxCUVZrc2JVSkJRVThzUTBGQlF5dzBSRUZCWVRzN1FVRkZha003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDNXFjeTlzYVdJdmFHRnphQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCb1lYTm9JRDBnWlhod2IzSjBjenRjYmx4dWFHRnphQzUxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR2YUdGemFDOTFkR2xzY3ljcE8xeHVhR0Z6YUM1amIyMXRiMjRnUFNCeVpYRjFhWEpsS0NjdUwyaGhjMmd2WTI5dGJXOXVKeWs3WEc1b1lYTm9Mbk5vWVNBOUlISmxjWFZwY21Vb0p5NHZhR0Z6YUM5emFHRW5LVHRjYm1oaGMyZ3VjbWx3Wlcxa0lEMGdjbVZ4ZFdseVpTZ25MaTlvWVhOb0wzSnBjR1Z0WkNjcE8xeHVhR0Z6YUM1b2JXRmpJRDBnY21WeGRXbHlaU2duTGk5b1lYTm9MMmh0WVdNbktUdGNibHh1THk4Z1VISnZlSGtnYUdGemFDQm1kVzVqZEdsdmJuTWdkRzhnZEdobElHMWhhVzRnYjJKcVpXTjBYRzVvWVhOb0xuTm9ZVEVnUFNCb1lYTm9Mbk5vWVM1emFHRXhPMXh1YUdGemFDNXphR0V5TlRZZ1BTQm9ZWE5vTG5Ob1lTNXphR0V5TlRZN1hHNW9ZWE5vTG5Ob1lUSXlOQ0E5SUdoaGMyZ3VjMmhoTG5Ob1lUSXlORHRjYm1oaGMyZ3VjMmhoTXpnMElEMGdhR0Z6YUM1emFHRXVjMmhoTXpnME8xeHVhR0Z6YUM1emFHRTFNVElnUFNCb1lYTm9Mbk5vWVM1emFHRTFNVEk3WEc1b1lYTm9MbkpwY0dWdFpERTJNQ0E5SUdoaGMyZ3VjbWx3Wlcxa0xuSnBjR1Z0WkRFMk1EdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2guanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIEJsb2NrSGFzaCgpIHtcXG4gIHRoaXMucGVuZGluZyA9IG51bGw7XFxuICB0aGlzLnBlbmRpbmdUb3RhbCA9IDA7XFxuICB0aGlzLmJsb2NrU2l6ZSA9IHRoaXMuY29uc3RydWN0b3IuYmxvY2tTaXplO1xcbiAgdGhpcy5vdXRTaXplID0gdGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplO1xcbiAgdGhpcy5obWFjU3RyZW5ndGggPSB0aGlzLmNvbnN0cnVjdG9yLmhtYWNTdHJlbmd0aDtcXG4gIHRoaXMucGFkTGVuZ3RoID0gdGhpcy5jb25zdHJ1Y3Rvci5wYWRMZW5ndGggLyA4O1xcbiAgdGhpcy5lbmRpYW4gPSAnYmlnJztcXG5cXG4gIHRoaXMuX2RlbHRhOCA9IHRoaXMuYmxvY2tTaXplIC8gODtcXG4gIHRoaXMuX2RlbHRhMzIgPSB0aGlzLmJsb2NrU2l6ZSAvIDMyO1xcbn1cXG5leHBvcnRzLkJsb2NrSGFzaCA9IEJsb2NrSGFzaDtcXG5cXG5CbG9ja0hhc2gucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShtc2csIGVuYykge1xcbiAgLy8gQ29udmVydCBtZXNzYWdlIHRvIGFycmF5LCBwYWQgaXQsIGFuZCBqb2luIGludG8gMzJiaXQgYmxvY2tzXFxuICBtc2cgPSB1dGlscy50b0FycmF5KG1zZywgZW5jKTtcXG4gIGlmICghdGhpcy5wZW5kaW5nKVxcbiAgICB0aGlzLnBlbmRpbmcgPSBtc2c7XFxuICBlbHNlXFxuICAgIHRoaXMucGVuZGluZyA9IHRoaXMucGVuZGluZy5jb25jYXQobXNnKTtcXG4gIHRoaXMucGVuZGluZ1RvdGFsICs9IG1zZy5sZW5ndGg7XFxuXFxuICAvLyBFbm91Z2ggZGF0YSwgdHJ5IHVwZGF0aW5nXFxuICBpZiAodGhpcy5wZW5kaW5nLmxlbmd0aCA+PSB0aGlzLl9kZWx0YTgpIHtcXG4gICAgbXNnID0gdGhpcy5wZW5kaW5nO1xcblxcbiAgICAvLyBQcm9jZXNzIHBlbmRpbmcgZGF0YSBpbiBibG9ja3NcXG4gICAgdmFyIHIgPSBtc2cubGVuZ3RoICUgdGhpcy5fZGVsdGE4O1xcbiAgICB0aGlzLnBlbmRpbmcgPSBtc2cuc2xpY2UobXNnLmxlbmd0aCAtIHIsIG1zZy5sZW5ndGgpO1xcbiAgICBpZiAodGhpcy5wZW5kaW5nLmxlbmd0aCA9PT0gMClcXG4gICAgICB0aGlzLnBlbmRpbmcgPSBudWxsO1xcblxcbiAgICBtc2cgPSB1dGlscy5qb2luMzIobXNnLCAwLCBtc2cubGVuZ3RoIC0gciwgdGhpcy5lbmRpYW4pO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkgKz0gdGhpcy5fZGVsdGEzMilcXG4gICAgICB0aGlzLl91cGRhdGUobXNnLCBpLCBpICsgdGhpcy5fZGVsdGEzMik7XFxuICB9XFxuXFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbkJsb2NrSGFzaC5wcm90b3R5cGUuZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgdGhpcy51cGRhdGUodGhpcy5fcGFkKCkpO1xcbiAgYXNzZXJ0KHRoaXMucGVuZGluZyA9PT0gbnVsbCk7XFxuXFxuICByZXR1cm4gdGhpcy5fZGlnZXN0KGVuYyk7XFxufTtcXG5cXG5CbG9ja0hhc2gucHJvdG90eXBlLl9wYWQgPSBmdW5jdGlvbiBwYWQoKSB7XFxuICB2YXIgbGVuID0gdGhpcy5wZW5kaW5nVG90YWw7XFxuICB2YXIgYnl0ZXMgPSB0aGlzLl9kZWx0YTg7XFxuICB2YXIgayA9IGJ5dGVzIC0gKChsZW4gKyB0aGlzLnBhZExlbmd0aCkgJSBieXRlcyk7XFxuICB2YXIgcmVzID0gbmV3IEFycmF5KGsgKyB0aGlzLnBhZExlbmd0aCk7XFxuICByZXNbMF0gPSAweDgwO1xcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBrOyBpKyspXFxuICAgIHJlc1tpXSA9IDA7XFxuXFxuICAvLyBBcHBlbmQgbGVuZ3RoXFxuICBsZW4gPDw9IDM7XFxuICBpZiAodGhpcy5lbmRpYW4gPT09ICdiaWcnKSB7XFxuICAgIGZvciAodmFyIHQgPSA4OyB0IDwgdGhpcy5wYWRMZW5ndGg7IHQrKylcXG4gICAgICByZXNbaSsrXSA9IDA7XFxuXFxuICAgIHJlc1tpKytdID0gMDtcXG4gICAgcmVzW2krK10gPSAwO1xcbiAgICByZXNbaSsrXSA9IDA7XFxuICAgIHJlc1tpKytdID0gMDtcXG4gICAgcmVzW2krK10gPSAobGVuID4+PiAyNCkgJiAweGZmO1xcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDE2KSAmIDB4ZmY7XFxuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gOCkgJiAweGZmO1xcbiAgICByZXNbaSsrXSA9IGxlbiAmIDB4ZmY7XFxuICB9IGVsc2Uge1xcbiAgICByZXNbaSsrXSA9IGxlbiAmIDB4ZmY7XFxuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gOCkgJiAweGZmO1xcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDE2KSAmIDB4ZmY7XFxuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gMjQpICYgMHhmZjtcXG4gICAgcmVzW2krK10gPSAwO1xcbiAgICByZXNbaSsrXSA9IDA7XFxuICAgIHJlc1tpKytdID0gMDtcXG4gICAgcmVzW2krK10gPSAwO1xcblxcbiAgICBmb3IgKHQgPSA4OyB0IDwgdGhpcy5wYWRMZW5ndGg7IHQrKylcXG4gICAgICByZXNbaSsrXSA9IDA7XFxuICB9XFxuXFxuICByZXR1cm4gcmVzO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MMk52YlcxdmJpNXFjejg1TkRrNUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4NVJFRkJVenRCUVVNM1FpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwVkJRWEZDT3p0QlFVVXhRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1QwRkJUenRCUVVONFFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNiMEpCUVc5Q08wRkJRM1pET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hsUVVGbExHOUNRVUZ2UWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzVxY3k5c2FXSXZhR0Z6YUM5amIyMXRiMjR1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJoYzNObGNuUWdQU0J5WlhGMWFYSmxLQ2R0YVc1cGJXRnNhWE4wYVdNdFlYTnpaWEowSnlrN1hHNWNibVoxYm1OMGFXOXVJRUpzYjJOclNHRnphQ2dwSUh0Y2JpQWdkR2hwY3k1d1pXNWthVzVuSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTV3Wlc1a2FXNW5WRzkwWVd3Z1BTQXdPMXh1SUNCMGFHbHpMbUpzYjJOclUybDZaU0E5SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0l1WW14dlkydFRhWHBsTzF4dUlDQjBhR2x6TG05MWRGTnBlbVVnUFNCMGFHbHpMbU52Ym5OMGNuVmpkRzl5TG05MWRGTnBlbVU3WEc0Z0lIUm9hWE11YUcxaFkxTjBjbVZ1WjNSb0lEMGdkR2hwY3k1amIyNXpkSEoxWTNSdmNpNW9iV0ZqVTNSeVpXNW5kR2c3WEc0Z0lIUm9hWE11Y0dGa1RHVnVaM1JvSUQwZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2k1d1lXUk1aVzVuZEdnZ0x5QTRPMXh1SUNCMGFHbHpMbVZ1WkdsaGJpQTlJQ2RpYVdjbk8xeHVYRzRnSUhSb2FYTXVYMlJsYkhSaE9DQTlJSFJvYVhNdVlteHZZMnRUYVhwbElDOGdPRHRjYmlBZ2RHaHBjeTVmWkdWc2RHRXpNaUE5SUhSb2FYTXVZbXh2WTJ0VGFYcGxJQzhnTXpJN1hHNTlYRzVsZUhCdmNuUnpMa0pzYjJOclNHRnphQ0E5SUVKc2IyTnJTR0Z6YUR0Y2JseHVRbXh2WTJ0SVlYTm9MbkJ5YjNSdmRIbHdaUzUxY0dSaGRHVWdQU0JtZFc1amRHbHZiaUIxY0dSaGRHVW9iWE5uTENCbGJtTXBJSHRjYmlBZ0x5OGdRMjl1ZG1WeWRDQnRaWE56WVdkbElIUnZJR0Z5Y21GNUxDQndZV1FnYVhRc0lHRnVaQ0JxYjJsdUlHbHVkRzhnTXpKaWFYUWdZbXh2WTJ0elhHNGdJRzF6WnlBOUlIVjBhV3h6TG5SdlFYSnlZWGtvYlhObkxDQmxibU1wTzF4dUlDQnBaaUFvSVhSb2FYTXVjR1Z1WkdsdVp5bGNiaUFnSUNCMGFHbHpMbkJsYm1ScGJtY2dQU0J0YzJjN1hHNGdJR1ZzYzJWY2JpQWdJQ0IwYUdsekxuQmxibVJwYm1jZ1BTQjBhR2x6TG5CbGJtUnBibWN1WTI5dVkyRjBLRzF6WnlrN1hHNGdJSFJvYVhNdWNHVnVaR2x1WjFSdmRHRnNJQ3M5SUcxelp5NXNaVzVuZEdnN1hHNWNiaUFnTHk4Z1JXNXZkV2RvSUdSaGRHRXNJSFJ5ZVNCMWNHUmhkR2x1WjF4dUlDQnBaaUFvZEdocGN5NXdaVzVrYVc1bkxteGxibWQwYUNBK1BTQjBhR2x6TGw5a1pXeDBZVGdwSUh0Y2JpQWdJQ0J0YzJjZ1BTQjBhR2x6TG5CbGJtUnBibWM3WEc1Y2JpQWdJQ0F2THlCUWNtOWpaWE56SUhCbGJtUnBibWNnWkdGMFlTQnBiaUJpYkc5amEzTmNiaUFnSUNCMllYSWdjaUE5SUcxelp5NXNaVzVuZEdnZ0pTQjBhR2x6TGw5a1pXeDBZVGc3WEc0Z0lDQWdkR2hwY3k1d1pXNWthVzVuSUQwZ2JYTm5Mbk5zYVdObEtHMXpaeTVzWlc1bmRHZ2dMU0J5TENCdGMyY3ViR1Z1WjNSb0tUdGNiaUFnSUNCcFppQW9kR2hwY3k1d1pXNWthVzVuTG14bGJtZDBhQ0E5UFQwZ01DbGNiaUFnSUNBZ0lIUm9hWE11Y0dWdVpHbHVaeUE5SUc1MWJHdzdYRzVjYmlBZ0lDQnRjMmNnUFNCMWRHbHNjeTVxYjJsdU16SW9iWE5uTENBd0xDQnRjMmN1YkdWdVozUm9JQzBnY2l3Z2RHaHBjeTVsYm1ScFlXNHBPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diWE5uTG14bGJtZDBhRHNnYVNBclBTQjBhR2x6TGw5a1pXeDBZVE15S1Z4dUlDQWdJQ0FnZEdocGN5NWZkWEJrWVhSbEtHMXpaeXdnYVN3Z2FTQXJJSFJvYVhNdVgyUmxiSFJoTXpJcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OU8xeHVYRzVDYkc5amEwaGhjMmd1Y0hKdmRHOTBlWEJsTG1ScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUdScFoyVnpkQ2hsYm1NcElIdGNiaUFnZEdocGN5NTFjR1JoZEdVb2RHaHBjeTVmY0dGa0tDa3BPMXh1SUNCaGMzTmxjblFvZEdocGN5NXdaVzVrYVc1bklEMDlQU0J1ZFd4c0tUdGNibHh1SUNCeVpYUjFjbTRnZEdocGN5NWZaR2xuWlhOMEtHVnVZeWs3WEc1OU8xeHVYRzVDYkc5amEwaGhjMmd1Y0hKdmRHOTBlWEJsTGw5d1lXUWdQU0JtZFc1amRHbHZiaUJ3WVdRb0tTQjdYRzRnSUhaaGNpQnNaVzRnUFNCMGFHbHpMbkJsYm1ScGJtZFViM1JoYkR0Y2JpQWdkbUZ5SUdKNWRHVnpJRDBnZEdocGN5NWZaR1ZzZEdFNE8xeHVJQ0IyWVhJZ2F5QTlJR0o1ZEdWeklDMGdLQ2hzWlc0Z0t5QjBhR2x6TG5CaFpFeGxibWQwYUNrZ0pTQmllWFJsY3lrN1hHNGdJSFpoY2lCeVpYTWdQU0J1WlhjZ1FYSnlZWGtvYXlBcklIUm9hWE11Y0dGa1RHVnVaM1JvS1R0Y2JpQWdjbVZ6V3pCZElEMGdNSGc0TUR0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURFN0lHa2dQQ0JyT3lCcEt5c3BYRzRnSUNBZ2NtVnpXMmxkSUQwZ01EdGNibHh1SUNBdkx5QkJjSEJsYm1RZ2JHVnVaM1JvWEc0Z0lHeGxiaUE4UEQwZ016dGNiaUFnYVdZZ0tIUm9hWE11Wlc1a2FXRnVJRDA5UFNBblltbG5KeWtnZTF4dUlDQWdJR1p2Y2lBb2RtRnlJSFFnUFNBNE95QjBJRHdnZEdocGN5NXdZV1JNWlc1bmRHZzdJSFFyS3lsY2JpQWdJQ0FnSUhKbGMxdHBLeXRkSUQwZ01EdGNibHh1SUNBZ0lISmxjMXRwS3l0ZElEMGdNRHRjYmlBZ0lDQnlaWE5iYVNzclhTQTlJREE3WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0F3TzF4dUlDQWdJSEpsYzF0cEt5dGRJRDBnTUR0Y2JpQWdJQ0J5WlhOYmFTc3JYU0E5SUNoc1pXNGdQajQrSURJMEtTQW1JREI0Wm1ZN1hHNGdJQ0FnY21Welcya3JLMTBnUFNBb2JHVnVJRDQrUGlBeE5pa2dKaUF3ZUdabU8xeHVJQ0FnSUhKbGMxdHBLeXRkSUQwZ0tHeGxiaUErUGo0Z09Da2dKaUF3ZUdabU8xeHVJQ0FnSUhKbGMxdHBLeXRkSUQwZ2JHVnVJQ1lnTUhobVpqdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWE5iYVNzclhTQTlJR3hsYmlBbUlEQjRabVk3WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0FvYkdWdUlENCtQaUE0S1NBbUlEQjRabVk3WEc0Z0lDQWdjbVZ6VzJrcksxMGdQU0FvYkdWdUlENCtQaUF4TmlrZ0ppQXdlR1ptTzF4dUlDQWdJSEpsYzF0cEt5dGRJRDBnS0d4bGJpQStQajRnTWpRcElDWWdNSGhtWmp0Y2JpQWdJQ0J5WlhOYmFTc3JYU0E5SURBN1hHNGdJQ0FnY21Welcya3JLMTBnUFNBd08xeHVJQ0FnSUhKbGMxdHBLeXRkSUQwZ01EdGNiaUFnSUNCeVpYTmJhU3NyWFNBOUlEQTdYRzVjYmlBZ0lDQm1iM0lnS0hRZ1BTQTRPeUIwSUR3Z2RHaHBjeTV3WVdSTVpXNW5kR2c3SUhRckt5bGNiaUFnSUNBZ0lISmxjMXRwS3l0ZElEMGdNRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ5WlhNN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL2NvbW1vbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9obWFjLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL2htYWMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIEhtYWMoaGFzaCwga2V5LCBlbmMpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBIbWFjKSlcXG4gICAgcmV0dXJuIG5ldyBIbWFjKGhhc2gsIGtleSwgZW5jKTtcXG4gIHRoaXMuSGFzaCA9IGhhc2g7XFxuICB0aGlzLmJsb2NrU2l6ZSA9IGhhc2guYmxvY2tTaXplIC8gODtcXG4gIHRoaXMub3V0U2l6ZSA9IGhhc2gub3V0U2l6ZSAvIDg7XFxuICB0aGlzLmlubmVyID0gbnVsbDtcXG4gIHRoaXMub3V0ZXIgPSBudWxsO1xcblxcbiAgdGhpcy5faW5pdCh1dGlscy50b0FycmF5KGtleSwgZW5jKSk7XFxufVxcbm1vZHVsZS5leHBvcnRzID0gSG1hYztcXG5cXG5IbWFjLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQoa2V5KSB7XFxuICAvLyBTaG9ydGVuIGtleSwgaWYgbmVlZGVkXFxuICBpZiAoa2V5Lmxlbmd0aCA+IHRoaXMuYmxvY2tTaXplKVxcbiAgICBrZXkgPSBuZXcgdGhpcy5IYXNoKCkudXBkYXRlKGtleSkuZGlnZXN0KCk7XFxuICBhc3NlcnQoa2V5Lmxlbmd0aCA8PSB0aGlzLmJsb2NrU2l6ZSk7XFxuXFxuICAvLyBBZGQgcGFkZGluZyB0byBrZXlcXG4gIGZvciAodmFyIGkgPSBrZXkubGVuZ3RoOyBpIDwgdGhpcy5ibG9ja1NpemU7IGkrKylcXG4gICAga2V5LnB1c2goMCk7XFxuXFxuICBmb3IgKGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKVxcbiAgICBrZXlbaV0gXj0gMHgzNjtcXG4gIHRoaXMuaW5uZXIgPSBuZXcgdGhpcy5IYXNoKCkudXBkYXRlKGtleSk7XFxuXFxuICAvLyAweDM2IF4gMHg1YyA9IDB4NmFcXG4gIGZvciAoaSA9IDA7IGkgPCBrZXkubGVuZ3RoOyBpKyspXFxuICAgIGtleVtpXSBePSAweDZhO1xcbiAgdGhpcy5vdXRlciA9IG5ldyB0aGlzLkhhc2goKS51cGRhdGUoa2V5KTtcXG59O1xcblxcbkhtYWMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShtc2csIGVuYykge1xcbiAgdGhpcy5pbm5lci51cGRhdGUobXNnLCBlbmMpO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5IbWFjLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XFxuICB0aGlzLm91dGVyLnVwZGF0ZSh0aGlzLmlubmVyLmRpZ2VzdCgpKTtcXG4gIHJldHVybiB0aGlzLm91dGVyLmRpZ2VzdChlbmMpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MMmh0WVdNdWFuTS9NRGswWXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zZVVSQlFWTTdRVUZETjBJc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRlFVRnhRanM3UVVGRk1VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEQkNRVUV3UWl4dlFrRkJiMEk3UVVGRE9VTTdPMEZCUlVFc1lVRkJZU3huUWtGQlowSTdRVUZETjBJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdGQlFXRXNaMEpCUVdkQ08wRkJRemRDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wyaHRZV011YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dmRYUnBiSE1uS1R0Y2JuWmhjaUJoYzNObGNuUWdQU0J5WlhGMWFYSmxLQ2R0YVc1cGJXRnNhWE4wYVdNdFlYTnpaWEowSnlrN1hHNWNibVoxYm1OMGFXOXVJRWh0WVdNb2FHRnphQ3dnYTJWNUxDQmxibU1wSUh0Y2JpQWdhV1lnS0NFb2RHaHBjeUJwYm5OMFlXNWpaVzltSUVodFlXTXBLVnh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dTRzFoWXlob1lYTm9MQ0JyWlhrc0lHVnVZeWs3WEc0Z0lIUm9hWE11U0dGemFDQTlJR2hoYzJnN1hHNGdJSFJvYVhNdVlteHZZMnRUYVhwbElEMGdhR0Z6YUM1aWJHOWphMU5wZW1VZ0x5QTRPMXh1SUNCMGFHbHpMbTkxZEZOcGVtVWdQU0JvWVhOb0xtOTFkRk5wZW1VZ0x5QTRPMXh1SUNCMGFHbHpMbWx1Ym1WeUlEMGdiblZzYkR0Y2JpQWdkR2hwY3k1dmRYUmxjaUE5SUc1MWJHdzdYRzVjYmlBZ2RHaHBjeTVmYVc1cGRDaDFkR2xzY3k1MGIwRnljbUY1S0d0bGVTd2daVzVqS1NrN1hHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRWh0WVdNN1hHNWNia2h0WVdNdWNISnZkRzkwZVhCbExsOXBibWwwSUQwZ1puVnVZM1JwYjI0Z2FXNXBkQ2hyWlhrcElIdGNiaUFnTHk4Z1UyaHZjblJsYmlCclpYa3NJR2xtSUc1bFpXUmxaRnh1SUNCcFppQW9hMlY1TG14bGJtZDBhQ0ErSUhSb2FYTXVZbXh2WTJ0VGFYcGxLVnh1SUNBZ0lHdGxlU0E5SUc1bGR5QjBhR2x6TGtoaGMyZ29LUzUxY0dSaGRHVW9hMlY1S1M1a2FXZGxjM1FvS1R0Y2JpQWdZWE56WlhKMEtHdGxlUzVzWlc1bmRHZ2dQRDBnZEdocGN5NWliRzlqYTFOcGVtVXBPMXh1WEc0Z0lDOHZJRUZrWkNCd1lXUmthVzVuSUhSdklHdGxlVnh1SUNCbWIzSWdLSFpoY2lCcElEMGdhMlY1TG14bGJtZDBhRHNnYVNBOElIUm9hWE11WW14dlkydFRhWHBsT3lCcEt5c3BYRzRnSUNBZ2EyVjVMbkIxYzJnb01DazdYRzVjYmlBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUd0bGVTNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnJaWGxiYVYwZ1hqMGdNSGd6Tmp0Y2JpQWdkR2hwY3k1cGJtNWxjaUE5SUc1bGR5QjBhR2x6TGtoaGMyZ29LUzUxY0dSaGRHVW9hMlY1S1R0Y2JseHVJQ0F2THlBd2VETTJJRjRnTUhnMVl5QTlJREI0Tm1GY2JpQWdabTl5SUNocElEMGdNRHNnYVNBOElHdGxlUzVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0JyWlhsYmFWMGdYajBnTUhnMllUdGNiaUFnZEdocGN5NXZkWFJsY2lBOUlHNWxkeUIwYUdsekxraGhjMmdvS1M1MWNHUmhkR1VvYTJWNUtUdGNibjA3WEc1Y2JraHRZV011Y0hKdmRHOTBlWEJsTG5Wd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUhWd1pHRjBaU2h0YzJjc0lHVnVZeWtnZTF4dUlDQjBhR2x6TG1sdWJtVnlMblZ3WkdGMFpTaHRjMmNzSUdWdVl5azdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dVNHMWhZeTV3Y205MGIzUjVjR1V1WkdsblpYTjBJRDBnWm5WdVkzUnBiMjRnWkdsblpYTjBLR1Z1WXlrZ2UxeHVJQ0IwYUdsekxtOTFkR1Z5TG5Wd1pHRjBaU2gwYUdsekxtbHVibVZ5TG1ScFoyVnpkQ2dwS1R0Y2JpQWdjbVYwZFhKdUlIUm9hWE11YjNWMFpYSXVaR2xuWlhOMEtHVnVZeWs3WEc1OU8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvaG1hYy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9yaXBlbWQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9yaXBlbWQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciBjb21tb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbW1vbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9jb21tb24uanNcXFwiKTtcXG5cXG52YXIgcm90bDMyID0gdXRpbHMucm90bDMyO1xcbnZhciBzdW0zMiA9IHV0aWxzLnN1bTMyO1xcbnZhciBzdW0zMl8zID0gdXRpbHMuc3VtMzJfMztcXG52YXIgc3VtMzJfNCA9IHV0aWxzLnN1bTMyXzQ7XFxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XFxuXFxuZnVuY3Rpb24gUklQRU1EMTYwKCkge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJJUEVNRDE2MCkpXFxuICAgIHJldHVybiBuZXcgUklQRU1EMTYwKCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG5cXG4gIHRoaXMuaCA9IFsgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSwgMHgxMDMyNTQ3NiwgMHhjM2QyZTFmMCBdO1xcbiAgdGhpcy5lbmRpYW4gPSAnbGl0dGxlJztcXG59XFxudXRpbHMuaW5oZXJpdHMoUklQRU1EMTYwLCBCbG9ja0hhc2gpO1xcbmV4cG9ydHMucmlwZW1kMTYwID0gUklQRU1EMTYwO1xcblxcblJJUEVNRDE2MC5ibG9ja1NpemUgPSA1MTI7XFxuUklQRU1EMTYwLm91dFNpemUgPSAxNjA7XFxuUklQRU1EMTYwLmhtYWNTdHJlbmd0aCA9IDE5MjtcXG5SSVBFTUQxNjAucGFkTGVuZ3RoID0gNjQ7XFxuXFxuUklQRU1EMTYwLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKG1zZywgc3RhcnQpIHtcXG4gIHZhciBBID0gdGhpcy5oWzBdO1xcbiAgdmFyIEIgPSB0aGlzLmhbMV07XFxuICB2YXIgQyA9IHRoaXMuaFsyXTtcXG4gIHZhciBEID0gdGhpcy5oWzNdO1xcbiAgdmFyIEUgPSB0aGlzLmhbNF07XFxuICB2YXIgQWggPSBBO1xcbiAgdmFyIEJoID0gQjtcXG4gIHZhciBDaCA9IEM7XFxuICB2YXIgRGggPSBEO1xcbiAgdmFyIEVoID0gRTtcXG4gIGZvciAodmFyIGogPSAwOyBqIDwgODA7IGorKykge1xcbiAgICB2YXIgVCA9IHN1bTMyKFxcbiAgICAgIHJvdGwzMihcXG4gICAgICAgIHN1bTMyXzQoQSwgZihqLCBCLCBDLCBEKSwgbXNnW3Jbal0gKyBzdGFydF0sIEsoaikpLFxcbiAgICAgICAgc1tqXSksXFxuICAgICAgRSk7XFxuICAgIEEgPSBFO1xcbiAgICBFID0gRDtcXG4gICAgRCA9IHJvdGwzMihDLCAxMCk7XFxuICAgIEMgPSBCO1xcbiAgICBCID0gVDtcXG4gICAgVCA9IHN1bTMyKFxcbiAgICAgIHJvdGwzMihcXG4gICAgICAgIHN1bTMyXzQoQWgsIGYoNzkgLSBqLCBCaCwgQ2gsIERoKSwgbXNnW3JoW2pdICsgc3RhcnRdLCBLaChqKSksXFxuICAgICAgICBzaFtqXSksXFxuICAgICAgRWgpO1xcbiAgICBBaCA9IEVoO1xcbiAgICBFaCA9IERoO1xcbiAgICBEaCA9IHJvdGwzMihDaCwgMTApO1xcbiAgICBDaCA9IEJoO1xcbiAgICBCaCA9IFQ7XFxuICB9XFxuICBUID0gc3VtMzJfMyh0aGlzLmhbMV0sIEMsIERoKTtcXG4gIHRoaXMuaFsxXSA9IHN1bTMyXzModGhpcy5oWzJdLCBELCBFaCk7XFxuICB0aGlzLmhbMl0gPSBzdW0zMl8zKHRoaXMuaFszXSwgRSwgQWgpO1xcbiAgdGhpcy5oWzNdID0gc3VtMzJfMyh0aGlzLmhbNF0sIEEsIEJoKTtcXG4gIHRoaXMuaFs0XSA9IHN1bTMyXzModGhpcy5oWzBdLCBCLCBDaCk7XFxuICB0aGlzLmhbMF0gPSBUO1xcbn07XFxuXFxuUklQRU1EMTYwLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXFxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaCwgJ2xpdHRsZScpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gdXRpbHMuc3BsaXQzMih0aGlzLmgsICdsaXR0bGUnKTtcXG59O1xcblxcbmZ1bmN0aW9uIGYoaiwgeCwgeSwgeikge1xcbiAgaWYgKGogPD0gMTUpXFxuICAgIHJldHVybiB4IF4geSBeIHo7XFxuICBlbHNlIGlmIChqIDw9IDMxKVxcbiAgICByZXR1cm4gKHggJiB5KSB8ICgofngpICYgeik7XFxuICBlbHNlIGlmIChqIDw9IDQ3KVxcbiAgICByZXR1cm4gKHggfCAofnkpKSBeIHo7XFxuICBlbHNlIGlmIChqIDw9IDYzKVxcbiAgICByZXR1cm4gKHggJiB6KSB8ICh5ICYgKH56KSk7XFxuICBlbHNlXFxuICAgIHJldHVybiB4IF4gKHkgfCAofnopKTtcXG59XFxuXFxuZnVuY3Rpb24gSyhqKSB7XFxuICBpZiAoaiA8PSAxNSlcXG4gICAgcmV0dXJuIDB4MDAwMDAwMDA7XFxuICBlbHNlIGlmIChqIDw9IDMxKVxcbiAgICByZXR1cm4gMHg1YTgyNzk5OTtcXG4gIGVsc2UgaWYgKGogPD0gNDcpXFxuICAgIHJldHVybiAweDZlZDllYmExO1xcbiAgZWxzZSBpZiAoaiA8PSA2MylcXG4gICAgcmV0dXJuIDB4OGYxYmJjZGM7XFxuICBlbHNlXFxuICAgIHJldHVybiAweGE5NTNmZDRlO1xcbn1cXG5cXG5mdW5jdGlvbiBLaChqKSB7XFxuICBpZiAoaiA8PSAxNSlcXG4gICAgcmV0dXJuIDB4NTBhMjhiZTY7XFxuICBlbHNlIGlmIChqIDw9IDMxKVxcbiAgICByZXR1cm4gMHg1YzRkZDEyNDtcXG4gIGVsc2UgaWYgKGogPD0gNDcpXFxuICAgIHJldHVybiAweDZkNzAzZWYzO1xcbiAgZWxzZSBpZiAoaiA8PSA2MylcXG4gICAgcmV0dXJuIDB4N2E2ZDc2ZTk7XFxuICBlbHNlXFxuICAgIHJldHVybiAweDAwMDAwMDAwO1xcbn1cXG5cXG52YXIgciA9IFtcXG4gIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsXFxuICA3LCA0LCAxMywgMSwgMTAsIDYsIDE1LCAzLCAxMiwgMCwgOSwgNSwgMiwgMTQsIDExLCA4LFxcbiAgMywgMTAsIDE0LCA0LCA5LCAxNSwgOCwgMSwgMiwgNywgMCwgNiwgMTMsIDExLCA1LCAxMixcXG4gIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsXFxuICA0LCAwLCA1LCA5LCA3LCAxMiwgMiwgMTAsIDE0LCAxLCAzLCA4LCAxMSwgNiwgMTUsIDEzXFxuXTtcXG5cXG52YXIgcmggPSBbXFxuICA1LCAxNCwgNywgMCwgOSwgMiwgMTEsIDQsIDEzLCA2LCAxNSwgOCwgMSwgMTAsIDMsIDEyLFxcbiAgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMixcXG4gIDE1LCA1LCAxLCAzLCA3LCAxNCwgNiwgOSwgMTEsIDgsIDEyLCAyLCAxMCwgMCwgNCwgMTMsXFxuICA4LCA2LCA0LCAxLCAzLCAxMSwgMTUsIDAsIDUsIDEyLCAyLCAxMywgOSwgNywgMTAsIDE0LFxcbiAgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMVxcbl07XFxuXFxudmFyIHMgPSBbXFxuICAxMSwgMTQsIDE1LCAxMiwgNSwgOCwgNywgOSwgMTEsIDEzLCAxNCwgMTUsIDYsIDcsIDksIDgsXFxuICA3LCA2LCA4LCAxMywgMTEsIDksIDcsIDE1LCA3LCAxMiwgMTUsIDksIDExLCA3LCAxMywgMTIsXFxuICAxMSwgMTMsIDYsIDcsIDE0LCA5LCAxMywgMTUsIDE0LCA4LCAxMywgNiwgNSwgMTIsIDcsIDUsXFxuICAxMSwgMTIsIDE0LCAxNSwgMTQsIDE1LCA5LCA4LCA5LCAxNCwgNSwgNiwgOCwgNiwgNSwgMTIsXFxuICA5LCAxNSwgNSwgMTEsIDYsIDgsIDEzLCAxMiwgNSwgMTIsIDEzLCAxNCwgMTEsIDgsIDUsIDZcXG5dO1xcblxcbnZhciBzaCA9IFtcXG4gIDgsIDksIDksIDExLCAxMywgMTUsIDE1LCA1LCA3LCA3LCA4LCAxMSwgMTQsIDE0LCAxMiwgNixcXG4gIDksIDEzLCAxNSwgNywgMTIsIDgsIDksIDExLCA3LCA3LCAxMiwgNywgNiwgMTUsIDEzLCAxMSxcXG4gIDksIDcsIDE1LCAxMSwgOCwgNiwgNiwgMTQsIDEyLCAxMywgNSwgMTQsIDEzLCAxMywgNywgNSxcXG4gIDE1LCA1LCA4LCAxMSwgMTQsIDE0LCA2LCAxNCwgNiwgOSwgMTIsIDksIDEyLCA1LCAxNSwgOCxcXG4gIDgsIDUsIDEyLCA5LCAxMiwgNSwgMTQsIDYsIDgsIDEzLCA2LCA1LCAxNSwgMTMsIDExLCAxMVxcbl07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM0pwY0dWdFpDNXFjejh4Tm1NMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxGbEJRVmtzYlVKQlFVOHNRMEZCUXl4NVJFRkJVenRCUVVNM1FpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc01rUkJRVlU3TzBGQlJTOUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM0pwY0dWdFpDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTkxZEdsc2N5Y3BPMXh1ZG1GeUlHTnZiVzF2YmlBOUlISmxjWFZwY21Vb0p5NHZZMjl0Ylc5dUp5azdYRzVjYm5aaGNpQnliM1JzTXpJZ1BTQjFkR2xzY3k1eWIzUnNNekk3WEc1MllYSWdjM1Z0TXpJZ1BTQjFkR2xzY3k1emRXMHpNanRjYm5aaGNpQnpkVzB6TWw4eklEMGdkWFJwYkhNdWMzVnRNekpmTXp0Y2JuWmhjaUJ6ZFcwek1sODBJRDBnZFhScGJITXVjM1Z0TXpKZk5EdGNiblpoY2lCQ2JHOWphMGhoYzJnZ1BTQmpiMjF0YjI0dVFteHZZMnRJWVhOb08xeHVYRzVtZFc1amRHbHZiaUJTU1ZCRlRVUXhOakFvS1NCN1hHNGdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCU1NWQkZUVVF4TmpBcEtWeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VrbFFSVTFFTVRZd0tDazdYRzVjYmlBZ1FteHZZMnRJWVhOb0xtTmhiR3dvZEdocGN5azdYRzVjYmlBZ2RHaHBjeTVvSUQwZ1d5QXdlRFkzTkRVeU16QXhMQ0F3ZUdWbVkyUmhZamc1TENBd2VEazRZbUZrWTJabExDQXdlREV3TXpJMU5EYzJMQ0F3ZUdNelpESmxNV1l3SUYwN1hHNGdJSFJvYVhNdVpXNWthV0Z1SUQwZ0oyeHBkSFJzWlNjN1hHNTlYRzUxZEdsc2N5NXBibWhsY21sMGN5aFNTVkJGVFVReE5qQXNJRUpzYjJOclNHRnphQ2s3WEc1bGVIQnZjblJ6TG5KcGNHVnRaREUyTUNBOUlGSkpVRVZOUkRFMk1EdGNibHh1VWtsUVJVMUVNVFl3TG1Kc2IyTnJVMmw2WlNBOUlEVXhNanRjYmxKSlVFVk5SREUyTUM1dmRYUlRhWHBsSUQwZ01UWXdPMXh1VWtsUVJVMUVNVFl3TG1odFlXTlRkSEpsYm1kMGFDQTlJREU1TWp0Y2JsSkpVRVZOUkRFMk1DNXdZV1JNWlc1bmRHZ2dQU0EyTkR0Y2JseHVVa2xRUlUxRU1UWXdMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnZFhCa1lYUmxLRzF6Wnl3Z2MzUmhjblFwSUh0Y2JpQWdkbUZ5SUVFZ1BTQjBhR2x6TG1oYk1GMDdYRzRnSUhaaGNpQkNJRDBnZEdocGN5NW9XekZkTzF4dUlDQjJZWElnUXlBOUlIUm9hWE11YUZzeVhUdGNiaUFnZG1GeUlFUWdQU0IwYUdsekxtaGJNMTA3WEc0Z0lIWmhjaUJGSUQwZ2RHaHBjeTVvV3pSZE8xeHVJQ0IyWVhJZ1FXZ2dQU0JCTzF4dUlDQjJZWElnUW1nZ1BTQkNPMXh1SUNCMllYSWdRMmdnUFNCRE8xeHVJQ0IyWVhJZ1JHZ2dQU0JFTzF4dUlDQjJZWElnUldnZ1BTQkZPMXh1SUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElEZ3dPeUJxS3lzcElIdGNiaUFnSUNCMllYSWdWQ0E5SUhOMWJUTXlLRnh1SUNBZ0lDQWdjbTkwYkRNeUtGeHVJQ0FnSUNBZ0lDQnpkVzB6TWw4MEtFRXNJR1lvYWl3Z1Fpd2dReXdnUkNrc0lHMXpaMXR5VzJwZElDc2djM1JoY25SZExDQkxLR29wS1N4Y2JpQWdJQ0FnSUNBZ2MxdHFYU2tzWEc0Z0lDQWdJQ0JGS1R0Y2JpQWdJQ0JCSUQwZ1JUdGNiaUFnSUNCRklEMGdSRHRjYmlBZ0lDQkVJRDBnY205MGJETXlLRU1zSURFd0tUdGNiaUFnSUNCRElEMGdRanRjYmlBZ0lDQkNJRDBnVkR0Y2JpQWdJQ0JVSUQwZ2MzVnRNeklvWEc0Z0lDQWdJQ0J5YjNSc016SW9YRzRnSUNBZ0lDQWdJSE4xYlRNeVh6UW9RV2dzSUdZb056a2dMU0JxTENCQ2FDd2dRMmdzSUVSb0tTd2diWE5uVzNKb1cycGRJQ3NnYzNSaGNuUmRMQ0JMYUNocUtTa3NYRzRnSUNBZ0lDQWdJSE5vVzJwZEtTeGNiaUFnSUNBZ0lFVm9LVHRjYmlBZ0lDQkJhQ0E5SUVWb08xeHVJQ0FnSUVWb0lEMGdSR2c3WEc0Z0lDQWdSR2dnUFNCeWIzUnNNeklvUTJnc0lERXdLVHRjYmlBZ0lDQkRhQ0E5SUVKb08xeHVJQ0FnSUVKb0lEMGdWRHRjYmlBZ2ZWeHVJQ0JVSUQwZ2MzVnRNekpmTXloMGFHbHpMbWhiTVYwc0lFTXNJRVJvS1R0Y2JpQWdkR2hwY3k1b1d6RmRJRDBnYzNWdE16SmZNeWgwYUdsekxtaGJNbDBzSUVRc0lFVm9LVHRjYmlBZ2RHaHBjeTVvV3pKZElEMGdjM1Z0TXpKZk15aDBhR2x6TG1oYk0xMHNJRVVzSUVGb0tUdGNiaUFnZEdocGN5NW9Xek5kSUQwZ2MzVnRNekpmTXloMGFHbHpMbWhiTkYwc0lFRXNJRUpvS1R0Y2JpQWdkR2hwY3k1b1d6UmRJRDBnYzNWdE16SmZNeWgwYUdsekxtaGJNRjBzSUVJc0lFTm9LVHRjYmlBZ2RHaHBjeTVvV3pCZElEMGdWRHRjYm4wN1hHNWNibEpKVUVWTlJERTJNQzV3Y205MGIzUjVjR1V1WDJScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUdScFoyVnpkQ2hsYm1NcElIdGNiaUFnYVdZZ0tHVnVZeUE5UFQwZ0oyaGxlQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5SdlNHVjRNeklvZEdocGN5NW9MQ0FuYkdsMGRHeGxKeWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2RYUnBiSE11YzNCc2FYUXpNaWgwYUdsekxtZ3NJQ2RzYVhSMGJHVW5LVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJR1lvYWl3Z2VDd2dlU3dnZWlrZ2UxeHVJQ0JwWmlBb2FpQThQU0F4TlNsY2JpQWdJQ0J5WlhSMWNtNGdlQ0JlSUhrZ1hpQjZPMXh1SUNCbGJITmxJR2xtSUNocUlEdzlJRE14S1Z4dUlDQWdJSEpsZEhWeWJpQW9lQ0FtSUhrcElId2dLQ2grZUNrZ0ppQjZLVHRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0EwTnlsY2JpQWdJQ0J5WlhSMWNtNGdLSGdnZkNBb2Zua3BLU0JlSUhvN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ05qTXBYRzRnSUNBZ2NtVjBkWEp1SUNoNElDWWdlaWtnZkNBb2VTQW1JQ2grZWlrcE8xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJSGdnWGlBb2VTQjhJQ2grZWlrcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCTEtHb3BJSHRjYmlBZ2FXWWdLR29nUEQwZ01UVXBYRzRnSUNBZ2NtVjBkWEp1SURCNE1EQXdNREF3TURBN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ016RXBYRzRnSUNBZ2NtVjBkWEp1SURCNE5XRTRNamM1T1RrN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ05EY3BYRzRnSUNBZ2NtVjBkWEp1SURCNE5tVmtPV1ZpWVRFN1hHNGdJR1ZzYzJVZ2FXWWdLR29nUEQwZ05qTXBYRzRnSUNBZ2NtVjBkWEp1SURCNE9HWXhZbUpqWkdNN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdNSGhoT1RVelptUTBaVHRjYm4xY2JseHVablZ1WTNScGIyNGdTMmdvYWlrZ2UxeHVJQ0JwWmlBb2FpQThQU0F4TlNsY2JpQWdJQ0J5WlhSMWNtNGdNSGcxTUdFeU9HSmxOanRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0F6TVNsY2JpQWdJQ0J5WlhSMWNtNGdNSGcxWXpSa1pERXlORHRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0EwTnlsY2JpQWdJQ0J5WlhSMWNtNGdNSGcyWkRjd00yVm1NenRjYmlBZ1pXeHpaU0JwWmlBb2FpQThQU0EyTXlsY2JpQWdJQ0J5WlhSMWNtNGdNSGczWVRaa056WmxPVHRjYmlBZ1pXeHpaVnh1SUNBZ0lISmxkSFZ5YmlBd2VEQXdNREF3TURBd08xeHVmVnh1WEc1MllYSWdjaUE5SUZ0Y2JpQWdNQ3dnTVN3Z01pd2dNeXdnTkN3Z05Td2dOaXdnTnl3Z09Dd2dPU3dnTVRBc0lERXhMQ0F4TWl3Z01UTXNJREUwTENBeE5TeGNiaUFnTnl3Z05Dd2dNVE1zSURFc0lERXdMQ0EyTENBeE5Td2dNeXdnTVRJc0lEQXNJRGtzSURVc0lESXNJREUwTENBeE1Td2dPQ3hjYmlBZ015d2dNVEFzSURFMExDQTBMQ0E1TENBeE5Td2dPQ3dnTVN3Z01pd2dOeXdnTUN3Z05pd2dNVE1zSURFeExDQTFMQ0F4TWl4Y2JpQWdNU3dnT1N3Z01URXNJREV3TENBd0xDQTRMQ0F4TWl3Z05Dd2dNVE1zSURNc0lEY3NJREUxTENBeE5Dd2dOU3dnTml3Z01peGNiaUFnTkN3Z01Dd2dOU3dnT1N3Z055d2dNVElzSURJc0lERXdMQ0F4TkN3Z01Td2dNeXdnT0N3Z01URXNJRFlzSURFMUxDQXhNMXh1WFR0Y2JseHVkbUZ5SUhKb0lEMGdXMXh1SUNBMUxDQXhOQ3dnTnl3Z01Dd2dPU3dnTWl3Z01URXNJRFFzSURFekxDQTJMQ0F4TlN3Z09Dd2dNU3dnTVRBc0lETXNJREV5TEZ4dUlDQTJMQ0F4TVN3Z015d2dOeXdnTUN3Z01UTXNJRFVzSURFd0xDQXhOQ3dnTVRVc0lEZ3NJREV5TENBMExDQTVMQ0F4TENBeUxGeHVJQ0F4TlN3Z05Td2dNU3dnTXl3Z055d2dNVFFzSURZc0lEa3NJREV4TENBNExDQXhNaXdnTWl3Z01UQXNJREFzSURRc0lERXpMRnh1SUNBNExDQTJMQ0EwTENBeExDQXpMQ0F4TVN3Z01UVXNJREFzSURVc0lERXlMQ0F5TENBeE15d2dPU3dnTnl3Z01UQXNJREUwTEZ4dUlDQXhNaXdnTVRVc0lERXdMQ0EwTENBeExDQTFMQ0E0TENBM0xDQTJMQ0F5TENBeE15d2dNVFFzSURBc0lETXNJRGtzSURFeFhHNWRPMXh1WEc1MllYSWdjeUE5SUZ0Y2JpQWdNVEVzSURFMExDQXhOU3dnTVRJc0lEVXNJRGdzSURjc0lEa3NJREV4TENBeE15d2dNVFFzSURFMUxDQTJMQ0EzTENBNUxDQTRMRnh1SUNBM0xDQTJMQ0E0TENBeE15d2dNVEVzSURrc0lEY3NJREUxTENBM0xDQXhNaXdnTVRVc0lEa3NJREV4TENBM0xDQXhNeXdnTVRJc1hHNGdJREV4TENBeE15d2dOaXdnTnl3Z01UUXNJRGtzSURFekxDQXhOU3dnTVRRc0lEZ3NJREV6TENBMkxDQTFMQ0F4TWl3Z055d2dOU3hjYmlBZ01URXNJREV5TENBeE5Dd2dNVFVzSURFMExDQXhOU3dnT1N3Z09Dd2dPU3dnTVRRc0lEVXNJRFlzSURnc0lEWXNJRFVzSURFeUxGeHVJQ0E1TENBeE5Td2dOU3dnTVRFc0lEWXNJRGdzSURFekxDQXhNaXdnTlN3Z01USXNJREV6TENBeE5Dd2dNVEVzSURnc0lEVXNJRFpjYmwwN1hHNWNiblpoY2lCemFDQTlJRnRjYmlBZ09Dd2dPU3dnT1N3Z01URXNJREV6TENBeE5Td2dNVFVzSURVc0lEY3NJRGNzSURnc0lERXhMQ0F4TkN3Z01UUXNJREV5TENBMkxGeHVJQ0E1TENBeE15d2dNVFVzSURjc0lERXlMQ0E0TENBNUxDQXhNU3dnTnl3Z055d2dNVElzSURjc0lEWXNJREUxTENBeE15d2dNVEVzWEc0Z0lEa3NJRGNzSURFMUxDQXhNU3dnT0N3Z05pd2dOaXdnTVRRc0lERXlMQ0F4TXl3Z05Td2dNVFFzSURFekxDQXhNeXdnTnl3Z05TeGNiaUFnTVRVc0lEVXNJRGdzSURFeExDQXhOQ3dnTVRRc0lEWXNJREUwTENBMkxDQTVMQ0F4TWl3Z09Td2dNVElzSURVc0lERTFMQ0E0TEZ4dUlDQTRMQ0ExTENBeE1pd2dPU3dnTVRJc0lEVXNJREUwTENBMkxDQTRMQ0F4TXl3Z05pd2dOU3dnTVRVc0lERXpMQ0F4TVN3Z01URmNibDA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3JpcGVtZC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuZXhwb3J0cy5zaGExID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEvMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMS5qc1xcXCIpO1xcbmV4cG9ydHMuc2hhMjI0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEvMjI0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8yMjQuanNcXFwiKTtcXG5leHBvcnRzLnNoYTI1NiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhLzI1NiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMjU2LmpzXFxcIik7XFxuZXhwb3J0cy5zaGEzODQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoYS8zODQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzM4NC5qc1xcXCIpO1xcbmV4cG9ydHMuc2hhNTEyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEvNTEyICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wzTm9ZUzVxY3o5aE16VXpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlMR1ZCUVdVc2JVSkJRVThzUTBGQlF5eDVSRUZCVXp0QlFVTm9ReXhwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXcyUkVGQlZ6dEJRVU53UXl4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl3MlJFRkJWenRCUVVOd1F5eHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5dzJSRUZCVnp0QlFVTndReXhwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXcyUkVGQlZ5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MbXB6TDJ4cFlpOW9ZWE5vTDNOb1lTNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dVpYaHdiM0owY3k1emFHRXhJRDBnY21WeGRXbHlaU2duTGk5emFHRXZNU2NwTzF4dVpYaHdiM0owY3k1emFHRXlNalFnUFNCeVpYRjFhWEpsS0NjdUwzTm9ZUzh5TWpRbktUdGNibVY0Y0c5eWRITXVjMmhoTWpVMklEMGdjbVZ4ZFdseVpTZ25MaTl6YUdFdk1qVTJKeWs3WEc1bGVIQnZjblJ6TG5Ob1lUTTROQ0E5SUhKbGNYVnBjbVVvSnk0dmMyaGhMek00TkNjcE8xeHVaWGh3YjNKMGN5NXphR0UxTVRJZ1BTQnlaWEYxYVhKbEtDY3VMM05vWVM4MU1USW5LVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzEuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciBjb21tb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jb21tb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXFxcIik7XFxudmFyIHNoYUNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tbW9uICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS9jb21tb24uanNcXFwiKTtcXG5cXG52YXIgcm90bDMyID0gdXRpbHMucm90bDMyO1xcbnZhciBzdW0zMiA9IHV0aWxzLnN1bTMyO1xcbnZhciBzdW0zMl81ID0gdXRpbHMuc3VtMzJfNTtcXG52YXIgZnRfMSA9IHNoYUNvbW1vbi5mdF8xO1xcbnZhciBCbG9ja0hhc2ggPSBjb21tb24uQmxvY2tIYXNoO1xcblxcbnZhciBzaGExX0sgPSBbXFxuICAweDVBODI3OTk5LCAweDZFRDlFQkExLFxcbiAgMHg4RjFCQkNEQywgMHhDQTYyQzFENlxcbl07XFxuXFxuZnVuY3Rpb24gU0hBMSgpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTSEExKSlcXG4gICAgcmV0dXJuIG5ldyBTSEExKCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG4gIHRoaXMuaCA9IFtcXG4gICAgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSxcXG4gICAgMHgxMDMyNTQ3NiwgMHhjM2QyZTFmMCBdO1xcbiAgdGhpcy5XID0gbmV3IEFycmF5KDgwKTtcXG59XFxuXFxudXRpbHMuaW5oZXJpdHMoU0hBMSwgQmxvY2tIYXNoKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFNIQTE7XFxuXFxuU0hBMS5ibG9ja1NpemUgPSA1MTI7XFxuU0hBMS5vdXRTaXplID0gMTYwO1xcblNIQTEuaG1hY1N0cmVuZ3RoID0gODA7XFxuU0hBMS5wYWRMZW5ndGggPSA2NDtcXG5cXG5TSEExLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XFxuICB2YXIgVyA9IHRoaXMuVztcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKylcXG4gICAgV1tpXSA9IG1zZ1tzdGFydCArIGldO1xcblxcbiAgZm9yKDsgaSA8IFcubGVuZ3RoOyBpKyspXFxuICAgIFdbaV0gPSByb3RsMzIoV1tpIC0gM10gXiBXW2kgLSA4XSBeIFdbaSAtIDE0XSBeIFdbaSAtIDE2XSwgMSk7XFxuXFxuICB2YXIgYSA9IHRoaXMuaFswXTtcXG4gIHZhciBiID0gdGhpcy5oWzFdO1xcbiAgdmFyIGMgPSB0aGlzLmhbMl07XFxuICB2YXIgZCA9IHRoaXMuaFszXTtcXG4gIHZhciBlID0gdGhpcy5oWzRdO1xcblxcbiAgZm9yIChpID0gMDsgaSA8IFcubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIHMgPSB+fihpIC8gMjApO1xcbiAgICB2YXIgdCA9IHN1bTMyXzUocm90bDMyKGEsIDUpLCBmdF8xKHMsIGIsIGMsIGQpLCBlLCBXW2ldLCBzaGExX0tbc10pO1xcbiAgICBlID0gZDtcXG4gICAgZCA9IGM7XFxuICAgIGMgPSByb3RsMzIoYiwgMzApO1xcbiAgICBiID0gYTtcXG4gICAgYSA9IHQ7XFxuICB9XFxuXFxuICB0aGlzLmhbMF0gPSBzdW0zMih0aGlzLmhbMF0sIGEpO1xcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcXG4gIHRoaXMuaFsyXSA9IHN1bTMyKHRoaXMuaFsyXSwgYyk7XFxuICB0aGlzLmhbM10gPSBzdW0zMih0aGlzLmhbM10sIGQpO1xcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcXG59O1xcblxcblNIQTEucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XFxuICBpZiAoZW5jID09PSAnaGV4JylcXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLCAnYmlnJyk7XFxuICBlbHNlXFxuICAgIHJldHVybiB1dGlscy5zcGxpdDMyKHRoaXMuaCwgJ2JpZycpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4eExtcHpQemswWXpjaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFXRTdPMEZCUldJc1dVRkJXU3h0UWtGQlR5eERRVUZETERCRVFVRlZPMEZCUXpsQ0xHRkJRV0VzYlVKQlFVOHNRMEZCUXl3MFJFRkJWenRCUVVOb1F5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5d3JSRUZCVlRzN1FVRkZiRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzVVVGQlVUdEJRVU42UWpzN1FVRkZRU3hQUVVGUExHTkJRV003UVVGRGNrSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4aFFVRmhMR05CUVdNN1FVRkRNMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd1YW5NdmJHbGlMMmhoYzJndmMyaGhMekV1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENjN1hHNWNiblpoY2lCMWRHbHNjeUE5SUhKbGNYVnBjbVVvSnk0dUwzVjBhV3h6SnlrN1hHNTJZWElnWTI5dGJXOXVJRDBnY21WeGRXbHlaU2duTGk0dlkyOXRiVzl1SnlrN1hHNTJZWElnYzJoaFEyOXRiVzl1SUQwZ2NtVnhkV2x5WlNnbkxpOWpiMjF0YjI0bktUdGNibHh1ZG1GeUlISnZkR3d6TWlBOUlIVjBhV3h6TG5KdmRHd3pNanRjYm5aaGNpQnpkVzB6TWlBOUlIVjBhV3h6TG5OMWJUTXlPMXh1ZG1GeUlITjFiVE15WHpVZ1BTQjFkR2xzY3k1emRXMHpNbDgxTzF4dWRtRnlJR1owWHpFZ1BTQnphR0ZEYjIxdGIyNHVablJmTVR0Y2JuWmhjaUJDYkc5amEwaGhjMmdnUFNCamIyMXRiMjR1UW14dlkydElZWE5vTzF4dVhHNTJZWElnYzJoaE1WOUxJRDBnVzF4dUlDQXdlRFZCT0RJM09UazVMQ0F3ZURaRlJEbEZRa0V4TEZ4dUlDQXdlRGhHTVVKQ1EwUkRMQ0F3ZUVOQk5qSkRNVVEyWEc1ZE8xeHVYRzVtZFc1amRHbHZiaUJUU0VFeEtDa2dlMXh1SUNCcFppQW9JU2gwYUdseklHbHVjM1JoYm1ObGIyWWdVMGhCTVNrcFhHNGdJQ0FnY21WMGRYSnVJRzVsZHlCVFNFRXhLQ2s3WEc1Y2JpQWdRbXh2WTJ0SVlYTm9MbU5oYkd3b2RHaHBjeWs3WEc0Z0lIUm9hWE11YUNBOUlGdGNiaUFnSUNBd2VEWTNORFV5TXpBeExDQXdlR1ZtWTJSaFlqZzVMQ0F3ZURrNFltRmtZMlpsTEZ4dUlDQWdJREI0TVRBek1qVTBOellzSURCNFl6TmtNbVV4WmpBZ1hUdGNiaUFnZEdocGN5NVhJRDBnYm1WM0lFRnljbUY1S0Rnd0tUdGNibjFjYmx4dWRYUnBiSE11YVc1b1pYSnBkSE1vVTBoQk1Td2dRbXh2WTJ0SVlYTm9LVHRjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVTBoQk1UdGNibHh1VTBoQk1TNWliRzlqYTFOcGVtVWdQU0ExTVRJN1hHNVRTRUV4TG05MWRGTnBlbVVnUFNBeE5qQTdYRzVUU0VFeExtaHRZV05UZEhKbGJtZDBhQ0E5SURnd08xeHVVMGhCTVM1d1lXUk1aVzVuZEdnZ1BTQTJORHRjYmx4dVUwaEJNUzV3Y205MGIzUjVjR1V1WDNWd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUY5MWNHUmhkR1VvYlhObkxDQnpkR0Z5ZENrZ2UxeHVJQ0IyWVhJZ1Z5QTlJSFJvYVhNdVZ6dGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElERTJPeUJwS3lzcFhHNGdJQ0FnVjF0cFhTQTlJRzF6WjF0emRHRnlkQ0FySUdsZE8xeHVYRzRnSUdadmNpZzdJR2tnUENCWExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lGZGJhVjBnUFNCeWIzUnNNeklvVjF0cElDMGdNMTBnWGlCWFcya2dMU0E0WFNCZUlGZGJhU0F0SURFMFhTQmVJRmRiYVNBdElERTJYU3dnTVNrN1hHNWNiaUFnZG1GeUlHRWdQU0IwYUdsekxtaGJNRjA3WEc0Z0lIWmhjaUJpSUQwZ2RHaHBjeTVvV3pGZE8xeHVJQ0IyWVhJZ1l5QTlJSFJvYVhNdWFGc3lYVHRjYmlBZ2RtRnlJR1FnUFNCMGFHbHpMbWhiTTEwN1hHNGdJSFpoY2lCbElEMGdkR2hwY3k1b1d6UmRPMXh1WEc0Z0lHWnZjaUFvYVNBOUlEQTdJR2tnUENCWExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUhNZ1BTQitmaWhwSUM4Z01qQXBPMXh1SUNBZ0lIWmhjaUIwSUQwZ2MzVnRNekpmTlNoeWIzUnNNeklvWVN3Z05Ta3NJR1owWHpFb2N5d2dZaXdnWXl3Z1pDa3NJR1VzSUZkYmFWMHNJSE5vWVRGZlMxdHpYU2s3WEc0Z0lDQWdaU0E5SUdRN1hHNGdJQ0FnWkNBOUlHTTdYRzRnSUNBZ1l5QTlJSEp2ZEd3ek1paGlMQ0F6TUNrN1hHNGdJQ0FnWWlBOUlHRTdYRzRnSUNBZ1lTQTlJSFE3WEc0Z0lIMWNibHh1SUNCMGFHbHpMbWhiTUYwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTUYwc0lHRXBPMXh1SUNCMGFHbHpMbWhiTVYwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTVYwc0lHSXBPMXh1SUNCMGFHbHpMbWhiTWwwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTWwwc0lHTXBPMXh1SUNCMGFHbHpMbWhiTTEwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTTEwc0lHUXBPMXh1SUNCMGFHbHpMbWhiTkYwZ1BTQnpkVzB6TWloMGFHbHpMbWhiTkYwc0lHVXBPMXh1ZlR0Y2JseHVVMGhCTVM1d2NtOTBiM1I1Y0dVdVgyUnBaMlZ6ZENBOUlHWjFibU4wYVc5dUlHUnBaMlZ6ZENobGJtTXBJSHRjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcFhHNGdJQ0FnY21WMGRYSnVJSFYwYVd4ekxuUnZTR1Y0TXpJb2RHaHBjeTVvTENBblltbG5KeWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2RYUnBiSE11YzNCc2FYUXpNaWgwYUdsekxtZ3NJQ2RpYVdjbktUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8xLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8yMjQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzIyNC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIHV0aWxzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi4vdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXFwiKTtcXG52YXIgU0hBMjU2ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8yNTYgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzI1Ni5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIFNIQTIyNCgpIHtcXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTSEEyMjQpKVxcbiAgICByZXR1cm4gbmV3IFNIQTIyNCgpO1xcblxcbiAgU0hBMjU2LmNhbGwodGhpcyk7XFxuICB0aGlzLmggPSBbXFxuICAgIDB4YzEwNTllZDgsIDB4MzY3Y2Q1MDcsIDB4MzA3MGRkMTcsIDB4ZjcwZTU5MzksXFxuICAgIDB4ZmZjMDBiMzEsIDB4Njg1ODE1MTEsIDB4NjRmOThmYTcsIDB4YmVmYTRmYTQgXTtcXG59XFxudXRpbHMuaW5oZXJpdHMoU0hBMjI0LCBTSEEyNTYpO1xcbm1vZHVsZS5leHBvcnRzID0gU0hBMjI0O1xcblxcblNIQTIyNC5ibG9ja1NpemUgPSA1MTI7XFxuU0hBMjI0Lm91dFNpemUgPSAyMjQ7XFxuU0hBMjI0LmhtYWNTdHJlbmd0aCA9IDE5MjtcXG5TSEEyMjQucGFkTGVuZ3RoID0gNjQ7XFxuXFxuU0hBMjI0LnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgLy8gSnVzdCB0cnVuY2F0ZSBvdXRwdXRcXG4gIGlmIChlbmMgPT09ICdoZXgnKVxcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmguc2xpY2UoMCwgNyksICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsIDcpLCAnYmlnJyk7XFxufTtcXG5cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wzTm9ZUzh5TWpRdWFuTS9OV1JsTXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zTUVSQlFWVTdRVUZET1VJc1lVRkJZU3h0UWtGQlR5eERRVUZETEhsRVFVRlBPenRCUVVVMVFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhR0Z6YUM1cWN5OXNhV0l2YUdGemFDOXphR0V2TWpJMExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMaTkxZEdsc2N5Y3BPMXh1ZG1GeUlGTklRVEkxTmlBOUlISmxjWFZwY21Vb0p5NHZNalUySnlrN1hHNWNibVoxYm1OMGFXOXVJRk5JUVRJeU5DZ3BJSHRjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRk5JUVRJeU5Da3BYRzRnSUNBZ2NtVjBkWEp1SUc1bGR5QlRTRUV5TWpRb0tUdGNibHh1SUNCVFNFRXlOVFl1WTJGc2JDaDBhR2x6S1R0Y2JpQWdkR2hwY3k1b0lEMGdXMXh1SUNBZ0lEQjRZekV3TlRsbFpEZ3NJREI0TXpZM1kyUTFNRGNzSURCNE16QTNNR1JrTVRjc0lEQjRaamN3WlRVNU16a3NYRzRnSUNBZ01IaG1abU13TUdJek1Td2dNSGcyT0RVNE1UVXhNU3dnTUhnMk5HWTVPR1poTnl3Z01IaGlaV1poTkdaaE5DQmRPMXh1ZlZ4dWRYUnBiSE11YVc1b1pYSnBkSE1vVTBoQk1qSTBMQ0JUU0VFeU5UWXBPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JUU0VFeU1qUTdYRzVjYmxOSVFUSXlOQzVpYkc5amExTnBlbVVnUFNBMU1USTdYRzVUU0VFeU1qUXViM1YwVTJsNlpTQTlJREl5TkR0Y2JsTklRVEl5TkM1b2JXRmpVM1J5Wlc1bmRHZ2dQU0F4T1RJN1hHNVRTRUV5TWpRdWNHRmtUR1Z1WjNSb0lEMGdOalE3WEc1Y2JsTklRVEl5TkM1d2NtOTBiM1I1Y0dVdVgyUnBaMlZ6ZENBOUlHWjFibU4wYVc5dUlHUnBaMlZ6ZENobGJtTXBJSHRjYmlBZ0x5OGdTblZ6ZENCMGNuVnVZMkYwWlNCdmRYUndkWFJjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcFhHNGdJQ0FnY21WMGRYSnVJSFYwYVd4ekxuUnZTR1Y0TXpJb2RHaHBjeTVvTG5Oc2FXTmxLREFzSURjcExDQW5ZbWxuSnlrN1hHNGdJR1ZzYzJWY2JpQWdJQ0J5WlhSMWNtNGdkWFJwYkhNdWMzQnNhWFF6TWloMGFHbHpMbWd1YzJ4cFkyVW9NQ3dnTnlrc0lDZGlhV2NuS1R0Y2JuMDdYRzVjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8yMjQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzI1Ni5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMjU2LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciBjb21tb24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi9jb21tb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvY29tbW9uLmpzXFxcIik7XFxudmFyIHNoYUNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tbW9uICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS9jb21tb24uanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbnZhciBzdW0zMiA9IHV0aWxzLnN1bTMyO1xcbnZhciBzdW0zMl80ID0gdXRpbHMuc3VtMzJfNDtcXG52YXIgc3VtMzJfNSA9IHV0aWxzLnN1bTMyXzU7XFxudmFyIGNoMzIgPSBzaGFDb21tb24uY2gzMjtcXG52YXIgbWFqMzIgPSBzaGFDb21tb24ubWFqMzI7XFxudmFyIHMwXzI1NiA9IHNoYUNvbW1vbi5zMF8yNTY7XFxudmFyIHMxXzI1NiA9IHNoYUNvbW1vbi5zMV8yNTY7XFxudmFyIGcwXzI1NiA9IHNoYUNvbW1vbi5nMF8yNTY7XFxudmFyIGcxXzI1NiA9IHNoYUNvbW1vbi5nMV8yNTY7XFxuXFxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XFxuXFxudmFyIHNoYTI1Nl9LID0gW1xcbiAgMHg0MjhhMmY5OCwgMHg3MTM3NDQ5MSwgMHhiNWMwZmJjZiwgMHhlOWI1ZGJhNSxcXG4gIDB4Mzk1NmMyNWIsIDB4NTlmMTExZjEsIDB4OTIzZjgyYTQsIDB4YWIxYzVlZDUsXFxuICAweGQ4MDdhYTk4LCAweDEyODM1YjAxLCAweDI0MzE4NWJlLCAweDU1MGM3ZGMzLFxcbiAgMHg3MmJlNWQ3NCwgMHg4MGRlYjFmZSwgMHg5YmRjMDZhNywgMHhjMTliZjE3NCxcXG4gIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsXFxuICAweDJkZTkyYzZmLCAweDRhNzQ4NGFhLCAweDVjYjBhOWRjLCAweDc2Zjk4OGRhLFxcbiAgMHg5ODNlNTE1MiwgMHhhODMxYzY2ZCwgMHhiMDAzMjdjOCwgMHhiZjU5N2ZjNyxcXG4gIDB4YzZlMDBiZjMsIDB4ZDVhNzkxNDcsIDB4MDZjYTYzNTEsIDB4MTQyOTI5NjcsXFxuICAweDI3YjcwYTg1LCAweDJlMWIyMTM4LCAweDRkMmM2ZGZjLCAweDUzMzgwZDEzLFxcbiAgMHg2NTBhNzM1NCwgMHg3NjZhMGFiYiwgMHg4MWMyYzkyZSwgMHg5MjcyMmM4NSxcXG4gIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsXFxuICAweGQxOTJlODE5LCAweGQ2OTkwNjI0LCAweGY0MGUzNTg1LCAweDEwNmFhMDcwLFxcbiAgMHgxOWE0YzExNiwgMHgxZTM3NmMwOCwgMHgyNzQ4Nzc0YywgMHgzNGIwYmNiNSxcXG4gIDB4MzkxYzBjYjMsIDB4NGVkOGFhNGEsIDB4NWI5Y2NhNGYsIDB4NjgyZTZmZjMsXFxuICAweDc0OGY4MmVlLCAweDc4YTU2MzZmLCAweDg0Yzg3ODE0LCAweDhjYzcwMjA4LFxcbiAgMHg5MGJlZmZmYSwgMHhhNDUwNmNlYiwgMHhiZWY5YTNmNywgMHhjNjcxNzhmMlxcbl07XFxuXFxuZnVuY3Rpb24gU0hBMjU2KCkge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTI1NikpXFxuICAgIHJldHVybiBuZXcgU0hBMjU2KCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG4gIHRoaXMuaCA9IFtcXG4gICAgMHg2YTA5ZTY2NywgMHhiYjY3YWU4NSwgMHgzYzZlZjM3MiwgMHhhNTRmZjUzYSxcXG4gICAgMHg1MTBlNTI3ZiwgMHg5YjA1Njg4YywgMHgxZjgzZDlhYiwgMHg1YmUwY2QxOVxcbiAgXTtcXG4gIHRoaXMuayA9IHNoYTI1Nl9LO1xcbiAgdGhpcy5XID0gbmV3IEFycmF5KDY0KTtcXG59XFxudXRpbHMuaW5oZXJpdHMoU0hBMjU2LCBCbG9ja0hhc2gpO1xcbm1vZHVsZS5leHBvcnRzID0gU0hBMjU2O1xcblxcblNIQTI1Ni5ibG9ja1NpemUgPSA1MTI7XFxuU0hBMjU2Lm91dFNpemUgPSAyNTY7XFxuU0hBMjU2LmhtYWNTdHJlbmd0aCA9IDE5MjtcXG5TSEEyNTYucGFkTGVuZ3RoID0gNjQ7XFxuXFxuU0hBMjU2LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XFxuICB2YXIgVyA9IHRoaXMuVztcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKylcXG4gICAgV1tpXSA9IG1zZ1tzdGFydCArIGldO1xcbiAgZm9yICg7IGkgPCBXLmxlbmd0aDsgaSsrKVxcbiAgICBXW2ldID0gc3VtMzJfNChnMV8yNTYoV1tpIC0gMl0pLCBXW2kgLSA3XSwgZzBfMjU2KFdbaSAtIDE1XSksIFdbaSAtIDE2XSk7XFxuXFxuICB2YXIgYSA9IHRoaXMuaFswXTtcXG4gIHZhciBiID0gdGhpcy5oWzFdO1xcbiAgdmFyIGMgPSB0aGlzLmhbMl07XFxuICB2YXIgZCA9IHRoaXMuaFszXTtcXG4gIHZhciBlID0gdGhpcy5oWzRdO1xcbiAgdmFyIGYgPSB0aGlzLmhbNV07XFxuICB2YXIgZyA9IHRoaXMuaFs2XTtcXG4gIHZhciBoID0gdGhpcy5oWzddO1xcblxcbiAgYXNzZXJ0KHRoaXMuay5sZW5ndGggPT09IFcubGVuZ3RoKTtcXG4gIGZvciAoaSA9IDA7IGkgPCBXLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciBUMSA9IHN1bTMyXzUoaCwgczFfMjU2KGUpLCBjaDMyKGUsIGYsIGcpLCB0aGlzLmtbaV0sIFdbaV0pO1xcbiAgICB2YXIgVDIgPSBzdW0zMihzMF8yNTYoYSksIG1hajMyKGEsIGIsIGMpKTtcXG4gICAgaCA9IGc7XFxuICAgIGcgPSBmO1xcbiAgICBmID0gZTtcXG4gICAgZSA9IHN1bTMyKGQsIFQxKTtcXG4gICAgZCA9IGM7XFxuICAgIGMgPSBiO1xcbiAgICBiID0gYTtcXG4gICAgYSA9IHN1bTMyKFQxLCBUMik7XFxuICB9XFxuXFxuICB0aGlzLmhbMF0gPSBzdW0zMih0aGlzLmhbMF0sIGEpO1xcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcXG4gIHRoaXMuaFsyXSA9IHN1bTMyKHRoaXMuaFsyXSwgYyk7XFxuICB0aGlzLmhbM10gPSBzdW0zMih0aGlzLmhbM10sIGQpO1xcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcXG4gIHRoaXMuaFs1XSA9IHN1bTMyKHRoaXMuaFs1XSwgZik7XFxuICB0aGlzLmhbNl0gPSBzdW0zMih0aGlzLmhbNl0sIGcpO1xcbiAgdGhpcy5oWzddID0gc3VtMzIodGhpcy5oWzddLCBoKTtcXG59O1xcblxcblNIQTI1Ni5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcXG4gIGlmIChlbmMgPT09ICdoZXgnKVxcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnYmlnJyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9ZWE5vTG1wekwyeHBZaTlvWVhOb0wzTm9ZUzh5TlRZdWFuTS9PRFV5TnlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zTUVSQlFWVTdRVUZET1VJc1lVRkJZU3h0UWtGQlR5eERRVUZETERSRVFVRlhPMEZCUTJoRExHZENRVUZuUWl4dFFrRkJUeXhEUVVGRExDdEVRVUZWTzBGQlEyeERMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSVUZCY1VJN08wRkJSVEZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzYVVKQlFXbENMRkZCUVZFN1FVRkRla0k3UVVGRFFTeFJRVUZSTEdOQlFXTTdRVUZEZEVJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdGQlFXRXNZMEZCWXp0QlFVTXpRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhR0Z6YUM1cWN5OXNhV0l2YUdGemFDOXphR0V2TWpVMkxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQnlaWEYxYVhKbEtDY3VMaTkxZEdsc2N5Y3BPMXh1ZG1GeUlHTnZiVzF2YmlBOUlISmxjWFZwY21Vb0p5NHVMMk52YlcxdmJpY3BPMXh1ZG1GeUlITm9ZVU52YlcxdmJpQTlJSEpsY1hWcGNtVW9KeTR2WTI5dGJXOXVKeWs3WEc1MllYSWdZWE56WlhKMElEMGdjbVZ4ZFdseVpTZ25iV2x1YVcxaGJHbHpkR2xqTFdGemMyVnlkQ2NwTzF4dVhHNTJZWElnYzNWdE16SWdQU0IxZEdsc2N5NXpkVzB6TWp0Y2JuWmhjaUJ6ZFcwek1sODBJRDBnZFhScGJITXVjM1Z0TXpKZk5EdGNiblpoY2lCemRXMHpNbDgxSUQwZ2RYUnBiSE11YzNWdE16SmZOVHRjYm5aaGNpQmphRE15SUQwZ2MyaGhRMjl0Ylc5dUxtTm9Nekk3WEc1MllYSWdiV0ZxTXpJZ1BTQnphR0ZEYjIxdGIyNHViV0ZxTXpJN1hHNTJZWElnY3pCZk1qVTJJRDBnYzJoaFEyOXRiVzl1TG5Nd1h6STFOanRjYm5aaGNpQnpNVjh5TlRZZ1BTQnphR0ZEYjIxdGIyNHVjekZmTWpVMk8xeHVkbUZ5SUdjd1h6STFOaUE5SUhOb1lVTnZiVzF2Ymk1bk1GOHlOVFk3WEc1MllYSWdaekZmTWpVMklEMGdjMmhoUTI5dGJXOXVMbWN4WHpJMU5qdGNibHh1ZG1GeUlFSnNiMk5yU0dGemFDQTlJR052YlcxdmJpNUNiRzlqYTBoaGMyZzdYRzVjYm5aaGNpQnphR0V5TlRaZlN5QTlJRnRjYmlBZ01IZzBNamhoTW1ZNU9Dd2dNSGczTVRNM05EUTVNU3dnTUhoaU5XTXdabUpqWml3Z01IaGxPV0kxWkdKaE5TeGNiaUFnTUhnek9UVTJZekkxWWl3Z01IZzFPV1l4TVRGbU1Td2dNSGc1TWpObU9ESmhOQ3dnTUhoaFlqRmpOV1ZrTlN4Y2JpQWdNSGhrT0RBM1lXRTVPQ3dnTUhneE1qZ3pOV0l3TVN3Z01IZ3lORE14T0RWaVpTd2dNSGcxTlRCak4yUmpNeXhjYmlBZ01IZzNNbUpsTldRM05Dd2dNSGc0TUdSbFlqRm1aU3dnTUhnNVltUmpNRFpoTnl3Z01IaGpNVGxpWmpFM05DeGNiaUFnTUhobE5EbGlOamxqTVN3Z01IaGxabUpsTkRjNE5pd2dNSGd3Wm1NeE9XUmpOaXdnTUhneU5EQmpZVEZqWXl4Y2JpQWdNSGd5WkdVNU1tTTJaaXdnTUhnMFlUYzBPRFJoWVN3Z01IZzFZMkl3WVRsa1l5d2dNSGczTm1ZNU9EaGtZU3hjYmlBZ01IZzVPRE5sTlRFMU1pd2dNSGhoT0RNeFl6WTJaQ3dnTUhoaU1EQXpNamRqT0N3Z01IaGlaalU1TjJaak55eGNiaUFnTUhoak5tVXdNR0ptTXl3Z01IaGtOV0UzT1RFME55d2dNSGd3Tm1OaE5qTTFNU3dnTUhneE5ESTVNamsyTnl4Y2JpQWdNSGd5TjJJM01HRTROU3dnTUhneVpURmlNakV6T0N3Z01IZzBaREpqTm1SbVl5d2dNSGcxTXpNNE1HUXhNeXhjYmlBZ01IZzJOVEJoTnpNMU5Dd2dNSGczTmpaaE1HRmlZaXdnTUhnNE1XTXlZemt5WlN3Z01IZzVNamN5TW1NNE5TeGNiaUFnTUhoaE1tSm1aVGhoTVN3Z01IaGhPREZoTmpZMFlpd2dNSGhqTWpSaU9HSTNNQ3dnTUhoak56WmpOVEZoTXl4Y2JpQWdNSGhrTVRreVpUZ3hPU3dnTUhoa05qazVNRFl5TkN3Z01IaG1OREJsTXpVNE5Td2dNSGd4TURaaFlUQTNNQ3hjYmlBZ01IZ3hPV0UwWXpFeE5pd2dNSGd4WlRNM05tTXdPQ3dnTUhneU56UTROemMwWXl3Z01IZ3pOR0l3WW1OaU5TeGNiaUFnTUhnek9URmpNR05pTXl3Z01IZzBaV1E0WVdFMFlTd2dNSGcxWWpsalkyRTBaaXdnTUhnMk9ESmxObVptTXl4Y2JpQWdNSGczTkRobU9ESmxaU3dnTUhnM09HRTFOak0yWml3Z01IZzROR000TnpneE5Dd2dNSGc0WTJNM01ESXdPQ3hjYmlBZ01IZzVNR0psWm1abVlTd2dNSGhoTkRVd05tTmxZaXdnTUhoaVpXWTVZVE5tTnl3Z01IaGpOamN4TnpobU1seHVYVHRjYmx4dVpuVnVZM1JwYjI0Z1UwaEJNalUyS0NrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1UwaEJNalUyS1NsY2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZOSVFUSTFOaWdwTzF4dVhHNGdJRUpzYjJOclNHRnphQzVqWVd4c0tIUm9hWE1wTzF4dUlDQjBhR2x6TG1nZ1BTQmJYRzRnSUNBZ01IZzJZVEE1WlRZMk55d2dNSGhpWWpZM1lXVTROU3dnTUhnell6Wmxaak0zTWl3Z01IaGhOVFJtWmpVellTeGNiaUFnSUNBd2VEVXhNR1UxTWpkbUxDQXdlRGxpTURVMk9EaGpMQ0F3ZURGbU9ETmtPV0ZpTENBd2VEVmlaVEJqWkRFNVhHNGdJRjA3WEc0Z0lIUm9hWE11YXlBOUlITm9ZVEkxTmw5TE8xeHVJQ0IwYUdsekxsY2dQU0J1WlhjZ1FYSnlZWGtvTmpRcE8xeHVmVnh1ZFhScGJITXVhVzVvWlhKcGRITW9VMGhCTWpVMkxDQkNiRzlqYTBoaGMyZ3BPMXh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JUU0VFeU5UWTdYRzVjYmxOSVFUSTFOaTVpYkc5amExTnBlbVVnUFNBMU1USTdYRzVUU0VFeU5UWXViM1YwVTJsNlpTQTlJREkxTmp0Y2JsTklRVEkxTmk1b2JXRmpVM1J5Wlc1bmRHZ2dQU0F4T1RJN1hHNVRTRUV5TlRZdWNHRmtUR1Z1WjNSb0lEMGdOalE3WEc1Y2JsTklRVEkxTmk1d2NtOTBiM1I1Y0dVdVgzVndaR0YwWlNBOUlHWjFibU4wYVc5dUlGOTFjR1JoZEdVb2JYTm5MQ0J6ZEdGeWRDa2dlMXh1SUNCMllYSWdWeUE5SUhSb2FYTXVWenRjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJREUyT3lCcEt5c3BYRzRnSUNBZ1YxdHBYU0E5SUcxeloxdHpkR0Z5ZENBcklHbGRPMXh1SUNCbWIzSWdLRHNnYVNBOElGY3ViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdWMXRwWFNBOUlITjFiVE15WHpRb1p6RmZNalUyS0ZkYmFTQXRJREpkS1N3Z1YxdHBJQzBnTjEwc0lHY3dYekkxTmloWFcya2dMU0F4TlYwcExDQlhXMmtnTFNBeE5sMHBPMXh1WEc0Z0lIWmhjaUJoSUQwZ2RHaHBjeTVvV3pCZE8xeHVJQ0IyWVhJZ1lpQTlJSFJvYVhNdWFGc3hYVHRjYmlBZ2RtRnlJR01nUFNCMGFHbHpMbWhiTWwwN1hHNGdJSFpoY2lCa0lEMGdkR2hwY3k1b1d6TmRPMXh1SUNCMllYSWdaU0E5SUhSb2FYTXVhRnMwWFR0Y2JpQWdkbUZ5SUdZZ1BTQjBhR2x6TG1oYk5WMDdYRzRnSUhaaGNpQm5JRDBnZEdocGN5NW9XelpkTzF4dUlDQjJZWElnYUNBOUlIUm9hWE11YUZzM1hUdGNibHh1SUNCaGMzTmxjblFvZEdocGN5NXJMbXhsYm1kMGFDQTlQVDBnVnk1c1pXNW5kR2dwTzF4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z1Z5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJSFpoY2lCVU1TQTlJSE4xYlRNeVh6VW9hQ3dnY3pGZk1qVTJLR1VwTENCamFETXlLR1VzSUdZc0lHY3BMQ0IwYUdsekxtdGJhVjBzSUZkYmFWMHBPMXh1SUNBZ0lIWmhjaUJVTWlBOUlITjFiVE15S0hNd1h6STFOaWhoS1N3Z2JXRnFNeklvWVN3Z1lpd2dZeWtwTzF4dUlDQWdJR2dnUFNCbk8xeHVJQ0FnSUdjZ1BTQm1PMXh1SUNBZ0lHWWdQU0JsTzF4dUlDQWdJR1VnUFNCemRXMHpNaWhrTENCVU1TazdYRzRnSUNBZ1pDQTlJR003WEc0Z0lDQWdZeUE5SUdJN1hHNGdJQ0FnWWlBOUlHRTdYRzRnSUNBZ1lTQTlJSE4xYlRNeUtGUXhMQ0JVTWlrN1hHNGdJSDFjYmx4dUlDQjBhR2x6TG1oYk1GMGdQU0J6ZFcwek1paDBhR2x6TG1oYk1GMHNJR0VwTzF4dUlDQjBhR2x6TG1oYk1WMGdQU0J6ZFcwek1paDBhR2x6TG1oYk1WMHNJR0lwTzF4dUlDQjBhR2x6TG1oYk1sMGdQU0J6ZFcwek1paDBhR2x6TG1oYk1sMHNJR01wTzF4dUlDQjBhR2x6TG1oYk0xMGdQU0J6ZFcwek1paDBhR2x6TG1oYk0xMHNJR1FwTzF4dUlDQjBhR2x6TG1oYk5GMGdQU0J6ZFcwek1paDBhR2x6TG1oYk5GMHNJR1VwTzF4dUlDQjBhR2x6TG1oYk5WMGdQU0J6ZFcwek1paDBhR2x6TG1oYk5WMHNJR1lwTzF4dUlDQjBhR2x6TG1oYk5sMGdQU0J6ZFcwek1paDBhR2x6TG1oYk5sMHNJR2NwTzF4dUlDQjBhR2x6TG1oYk4xMGdQU0J6ZFcwek1paDBhR2x6TG1oYk4xMHNJR2dwTzF4dWZUdGNibHh1VTBoQk1qVTJMbkJ5YjNSdmRIbHdaUzVmWkdsblpYTjBJRDBnWm5WdVkzUnBiMjRnWkdsblpYTjBLR1Z1WXlrZ2UxeHVJQ0JwWmlBb1pXNWpJRDA5UFNBbmFHVjRKeWxjYmlBZ0lDQnlaWFIxY200Z2RYUnBiSE11ZEc5SVpYZ3pNaWgwYUdsekxtZ3NJQ2RpYVdjbktUdGNiaUFnWld4elpWeHVJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NXpjR3hwZERNeUtIUm9hWE11YUN3Z0oySnBaeWNwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzI1Ni5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvMzg0LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS8zODQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3V0aWxzLmpzXFxcIik7XFxuXFxudmFyIFNIQTUxMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vNTEyICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBTSEEzODQoKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU0hBMzg0KSlcXG4gICAgcmV0dXJuIG5ldyBTSEEzODQoKTtcXG5cXG4gIFNIQTUxMi5jYWxsKHRoaXMpO1xcbiAgdGhpcy5oID0gW1xcbiAgICAweGNiYmI5ZDVkLCAweGMxMDU5ZWQ4LFxcbiAgICAweDYyOWEyOTJhLCAweDM2N2NkNTA3LFxcbiAgICAweDkxNTkwMTVhLCAweDMwNzBkZDE3LFxcbiAgICAweDE1MmZlY2Q4LCAweGY3MGU1OTM5LFxcbiAgICAweDY3MzMyNjY3LCAweGZmYzAwYjMxLFxcbiAgICAweDhlYjQ0YTg3LCAweDY4NTgxNTExLFxcbiAgICAweGRiMGMyZTBkLCAweDY0Zjk4ZmE3LFxcbiAgICAweDQ3YjU0ODFkLCAweGJlZmE0ZmE0IF07XFxufVxcbnV0aWxzLmluaGVyaXRzKFNIQTM4NCwgU0hBNTEyKTtcXG5tb2R1bGUuZXhwb3J0cyA9IFNIQTM4NDtcXG5cXG5TSEEzODQuYmxvY2tTaXplID0gMTAyNDtcXG5TSEEzODQub3V0U2l6ZSA9IDM4NDtcXG5TSEEzODQuaG1hY1N0cmVuZ3RoID0gMTkyO1xcblNIQTM4NC5wYWRMZW5ndGggPSAxMjg7XFxuXFxuU0hBMzg0LnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXFxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaC5zbGljZSgwLCAxMiksICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsIDEyKSwgJ2JpZycpO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4ek9EUXVhbk0vWkRoaFlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc01FUkJRVlU3TzBGQlJUbENMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDVSRUZCVHpzN1FVRkZOVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4ek9EUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUIxZEdsc2N5QTlJSEpsY1hWcGNtVW9KeTR1TDNWMGFXeHpKeWs3WEc1Y2JuWmhjaUJUU0VFMU1USWdQU0J5WlhGMWFYSmxLQ2N1THpVeE1pY3BPMXh1WEc1bWRXNWpkR2x2YmlCVFNFRXpPRFFvS1NCN1hHNGdJR2xtSUNnaEtIUm9hWE1nYVc1emRHRnVZMlZ2WmlCVFNFRXpPRFFwS1Z4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVTBoQk16ZzBLQ2s3WEc1Y2JpQWdVMGhCTlRFeUxtTmhiR3dvZEdocGN5azdYRzRnSUhSb2FYTXVhQ0E5SUZ0Y2JpQWdJQ0F3ZUdOaVltSTVaRFZrTENBd2VHTXhNRFU1WldRNExGeHVJQ0FnSURCNE5qSTVZVEk1TW1Fc0lEQjRNelkzWTJRMU1EY3NYRzRnSUNBZ01IZzVNVFU1TURFMVlTd2dNSGd6TURjd1pHUXhOeXhjYmlBZ0lDQXdlREUxTW1abFkyUTRMQ0F3ZUdZM01HVTFPVE01TEZ4dUlDQWdJREI0Tmpjek16STJOamNzSURCNFptWmpNREJpTXpFc1hHNGdJQ0FnTUhnNFpXSTBOR0U0Tnl3Z01IZzJPRFU0TVRVeE1TeGNiaUFnSUNBd2VHUmlNR015WlRCa0xDQXdlRFkwWmprNFptRTNMRnh1SUNBZ0lEQjRORGRpTlRRNE1XUXNJREI0WW1WbVlUUm1ZVFFnWFR0Y2JuMWNiblYwYVd4ekxtbHVhR1Z5YVhSektGTklRVE00TkN3Z1UwaEJOVEV5S1R0Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1UwaEJNemcwTzF4dVhHNVRTRUV6T0RRdVlteHZZMnRUYVhwbElEMGdNVEF5TkR0Y2JsTklRVE00TkM1dmRYUlRhWHBsSUQwZ016ZzBPMXh1VTBoQk16ZzBMbWh0WVdOVGRISmxibWQwYUNBOUlERTVNanRjYmxOSVFUTTROQzV3WVdSTVpXNW5kR2dnUFNBeE1qZzdYRzVjYmxOSVFUTTROQzV3Y205MGIzUjVjR1V1WDJScFoyVnpkQ0E5SUdaMWJtTjBhVzl1SUdScFoyVnpkQ2hsYm1NcElIdGNiaUFnYVdZZ0tHVnVZeUE5UFQwZ0oyaGxlQ2NwWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5SdlNHVjRNeklvZEdocGN5NW9Mbk5zYVdObEtEQXNJREV5S1N3Z0oySnBaeWNwTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5Od2JHbDBNeklvZEdocGN5NW9Mbk5zYVdObEtEQXNJREV5S1N3Z0oySnBaeWNwTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhLzM4NC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvNTEyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL3V0aWxzICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3V0aWxzLmpzXFxcIik7XFxudmFyIGNvbW1vbiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL2NvbW1vbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9jb21tb24uanNcXFwiKTtcXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcblxcbnZhciByb3RyNjRfaGkgPSB1dGlscy5yb3RyNjRfaGk7XFxudmFyIHJvdHI2NF9sbyA9IHV0aWxzLnJvdHI2NF9sbztcXG52YXIgc2hyNjRfaGkgPSB1dGlscy5zaHI2NF9oaTtcXG52YXIgc2hyNjRfbG8gPSB1dGlscy5zaHI2NF9sbztcXG52YXIgc3VtNjQgPSB1dGlscy5zdW02NDtcXG52YXIgc3VtNjRfaGkgPSB1dGlscy5zdW02NF9oaTtcXG52YXIgc3VtNjRfbG8gPSB1dGlscy5zdW02NF9sbztcXG52YXIgc3VtNjRfNF9oaSA9IHV0aWxzLnN1bTY0XzRfaGk7XFxudmFyIHN1bTY0XzRfbG8gPSB1dGlscy5zdW02NF80X2xvO1xcbnZhciBzdW02NF81X2hpID0gdXRpbHMuc3VtNjRfNV9oaTtcXG52YXIgc3VtNjRfNV9sbyA9IHV0aWxzLnN1bTY0XzVfbG87XFxuXFxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XFxuXFxudmFyIHNoYTUxMl9LID0gW1xcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcXG4gIDB4YjVjMGZiY2YsIDB4ZWM0ZDNiMmYsIDB4ZTliNWRiYTUsIDB4ODE4OWRiYmMsXFxuICAweDM5NTZjMjViLCAweGYzNDhiNTM4LCAweDU5ZjExMWYxLCAweGI2MDVkMDE5LFxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcXG4gIDB4ZDgwN2FhOTgsIDB4YTMwMzAyNDIsIDB4MTI4MzViMDEsIDB4NDU3MDZmYmUsXFxuICAweDI0MzE4NWJlLCAweDRlZTRiMjhjLCAweDU1MGM3ZGMzLCAweGQ1ZmZiNGUyLFxcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcXG4gIDB4OWJkYzA2YTcsIDB4MjVjNzEyMzUsIDB4YzE5YmYxNzQsIDB4Y2Y2OTI2OTQsXFxuICAweGU0OWI2OWMxLCAweDllZjE0YWQyLCAweGVmYmU0Nzg2LCAweDM4NGYyNWUzLFxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcXG4gIDB4MmRlOTJjNmYsIDB4NTkyYjAyNzUsIDB4NGE3NDg0YWEsIDB4NmVhNmU0ODMsXFxuICAweDVjYjBhOWRjLCAweGJkNDFmYmQ0LCAweDc2Zjk4OGRhLCAweDgzMTE1M2I1LFxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcXG4gIDB4YjAwMzI3YzgsIDB4OThmYjIxM2YsIDB4YmY1OTdmYzcsIDB4YmVlZjBlZTQsXFxuICAweGM2ZTAwYmYzLCAweDNkYTg4ZmMyLCAweGQ1YTc5MTQ3LCAweDkzMGFhNzI1LFxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcXG4gIDB4MjdiNzBhODUsIDB4NDZkMjJmZmMsIDB4MmUxYjIxMzgsIDB4NWMyNmM5MjYsXFxuICAweDRkMmM2ZGZjLCAweDVhYzQyYWVkLCAweDUzMzgwZDEzLCAweDlkOTViM2RmLFxcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcXG4gIDB4ODFjMmM5MmUsIDB4NDdlZGFlZTYsIDB4OTI3MjJjODUsIDB4MTQ4MjM1M2IsXFxuICAweGEyYmZlOGExLCAweDRjZjEwMzY0LCAweGE4MWE2NjRiLCAweGJjNDIzMDAxLFxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcXG4gIDB4ZDE5MmU4MTksIDB4ZDZlZjUyMTgsIDB4ZDY5OTA2MjQsIDB4NTU2NWE5MTAsXFxuICAweGY0MGUzNTg1LCAweDU3NzEyMDJhLCAweDEwNmFhMDcwLCAweDMyYmJkMWI4LFxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcXG4gIDB4Mjc0ODc3NGMsIDB4ZGY4ZWViOTksIDB4MzRiMGJjYjUsIDB4ZTE5YjQ4YTgsXFxuICAweDM5MWMwY2IzLCAweGM1Yzk1YTYzLCAweDRlZDhhYTRhLCAweGUzNDE4YWNiLFxcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcXG4gIDB4NzQ4ZjgyZWUsIDB4NWRlZmIyZmMsIDB4NzhhNTYzNmYsIDB4NDMxNzJmNjAsXFxuICAweDg0Yzg3ODE0LCAweGExZjBhYjcyLCAweDhjYzcwMjA4LCAweDFhNjQzOWVjLFxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcXG4gIDB4YmVmOWEzZjcsIDB4YjJjNjc5MTUsIDB4YzY3MTc4ZjIsIDB4ZTM3MjUzMmIsXFxuICAweGNhMjczZWNlLCAweGVhMjY2MTljLCAweGQxODZiOGM3LCAweDIxYzBjMjA3LFxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcXG4gIDB4MDZmMDY3YWEsIDB4NzIxNzZmYmEsIDB4MGE2MzdkYzUsIDB4YTJjODk4YTYsXFxuICAweDExM2Y5ODA0LCAweGJlZjkwZGFlLCAweDFiNzEwYjM1LCAweDEzMWM0NzFiLFxcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcXG4gIDB4M2M5ZWJlMGEsIDB4MTVjOWJlYmMsIDB4NDMxZDY3YzQsIDB4OWMxMDBkNGMsXFxuICAweDRjYzVkNGJlLCAweGNiM2U0MmI2LCAweDU5N2YyOTljLCAweGZjNjU3ZTJhLFxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xcbl07XFxuXFxuZnVuY3Rpb24gU0hBNTEyKCkge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTUxMikpXFxuICAgIHJldHVybiBuZXcgU0hBNTEyKCk7XFxuXFxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcXG4gIHRoaXMuaCA9IFtcXG4gICAgMHg2YTA5ZTY2NywgMHhmM2JjYzkwOCxcXG4gICAgMHhiYjY3YWU4NSwgMHg4NGNhYTczYixcXG4gICAgMHgzYzZlZjM3MiwgMHhmZTk0ZjgyYixcXG4gICAgMHhhNTRmZjUzYSwgMHg1ZjFkMzZmMSxcXG4gICAgMHg1MTBlNTI3ZiwgMHhhZGU2ODJkMSxcXG4gICAgMHg5YjA1Njg4YywgMHgyYjNlNmMxZixcXG4gICAgMHgxZjgzZDlhYiwgMHhmYjQxYmQ2YixcXG4gICAgMHg1YmUwY2QxOSwgMHgxMzdlMjE3OSBdO1xcbiAgdGhpcy5rID0gc2hhNTEyX0s7XFxuICB0aGlzLlcgPSBuZXcgQXJyYXkoMTYwKTtcXG59XFxudXRpbHMuaW5oZXJpdHMoU0hBNTEyLCBCbG9ja0hhc2gpO1xcbm1vZHVsZS5leHBvcnRzID0gU0hBNTEyO1xcblxcblNIQTUxMi5ibG9ja1NpemUgPSAxMDI0O1xcblNIQTUxMi5vdXRTaXplID0gNTEyO1xcblNIQTUxMi5obWFjU3RyZW5ndGggPSAxOTI7XFxuU0hBNTEyLnBhZExlbmd0aCA9IDEyODtcXG5cXG5TSEE1MTIucHJvdG90eXBlLl9wcmVwYXJlQmxvY2sgPSBmdW5jdGlvbiBfcHJlcGFyZUJsb2NrKG1zZywgc3RhcnQpIHtcXG4gIHZhciBXID0gdGhpcy5XO1xcblxcbiAgLy8gMzIgeCAzMmJpdCB3b3Jkc1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMjsgaSsrKVxcbiAgICBXW2ldID0gbXNnW3N0YXJ0ICsgaV07XFxuICBmb3IgKDsgaSA8IFcubGVuZ3RoOyBpICs9IDIpIHtcXG4gICAgdmFyIGMwX2hpID0gZzFfNTEyX2hpKFdbaSAtIDRdLCBXW2kgLSAzXSk7ICAvLyBpIC0gMlxcbiAgICB2YXIgYzBfbG8gPSBnMV81MTJfbG8oV1tpIC0gNF0sIFdbaSAtIDNdKTtcXG4gICAgdmFyIGMxX2hpID0gV1tpIC0gMTRdOyAgLy8gaSAtIDdcXG4gICAgdmFyIGMxX2xvID0gV1tpIC0gMTNdO1xcbiAgICB2YXIgYzJfaGkgPSBnMF81MTJfaGkoV1tpIC0gMzBdLCBXW2kgLSAyOV0pOyAgLy8gaSAtIDE1XFxuICAgIHZhciBjMl9sbyA9IGcwXzUxMl9sbyhXW2kgLSAzMF0sIFdbaSAtIDI5XSk7XFxuICAgIHZhciBjM19oaSA9IFdbaSAtIDMyXTsgIC8vIGkgLSAxNlxcbiAgICB2YXIgYzNfbG8gPSBXW2kgLSAzMV07XFxuXFxuICAgIFdbaV0gPSBzdW02NF80X2hpKFxcbiAgICAgIGMwX2hpLCBjMF9sbyxcXG4gICAgICBjMV9oaSwgYzFfbG8sXFxuICAgICAgYzJfaGksIGMyX2xvLFxcbiAgICAgIGMzX2hpLCBjM19sbyk7XFxuICAgIFdbaSArIDFdID0gc3VtNjRfNF9sbyhcXG4gICAgICBjMF9oaSwgYzBfbG8sXFxuICAgICAgYzFfaGksIGMxX2xvLFxcbiAgICAgIGMyX2hpLCBjMl9sbyxcXG4gICAgICBjM19oaSwgYzNfbG8pO1xcbiAgfVxcbn07XFxuXFxuU0hBNTEyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XFxuICB0aGlzLl9wcmVwYXJlQmxvY2sobXNnLCBzdGFydCk7XFxuXFxuICB2YXIgVyA9IHRoaXMuVztcXG5cXG4gIHZhciBhaCA9IHRoaXMuaFswXTtcXG4gIHZhciBhbCA9IHRoaXMuaFsxXTtcXG4gIHZhciBiaCA9IHRoaXMuaFsyXTtcXG4gIHZhciBibCA9IHRoaXMuaFszXTtcXG4gIHZhciBjaCA9IHRoaXMuaFs0XTtcXG4gIHZhciBjbCA9IHRoaXMuaFs1XTtcXG4gIHZhciBkaCA9IHRoaXMuaFs2XTtcXG4gIHZhciBkbCA9IHRoaXMuaFs3XTtcXG4gIHZhciBlaCA9IHRoaXMuaFs4XTtcXG4gIHZhciBlbCA9IHRoaXMuaFs5XTtcXG4gIHZhciBmaCA9IHRoaXMuaFsxMF07XFxuICB2YXIgZmwgPSB0aGlzLmhbMTFdO1xcbiAgdmFyIGdoID0gdGhpcy5oWzEyXTtcXG4gIHZhciBnbCA9IHRoaXMuaFsxM107XFxuICB2YXIgaGggPSB0aGlzLmhbMTRdO1xcbiAgdmFyIGhsID0gdGhpcy5oWzE1XTtcXG5cXG4gIGFzc2VydCh0aGlzLmsubGVuZ3RoID09PSBXLmxlbmd0aCk7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IFcubGVuZ3RoOyBpICs9IDIpIHtcXG4gICAgdmFyIGMwX2hpID0gaGg7XFxuICAgIHZhciBjMF9sbyA9IGhsO1xcbiAgICB2YXIgYzFfaGkgPSBzMV81MTJfaGkoZWgsIGVsKTtcXG4gICAgdmFyIGMxX2xvID0gczFfNTEyX2xvKGVoLCBlbCk7XFxuICAgIHZhciBjMl9oaSA9IGNoNjRfaGkoZWgsIGVsLCBmaCwgZmwsIGdoLCBnbCk7XFxuICAgIHZhciBjMl9sbyA9IGNoNjRfbG8oZWgsIGVsLCBmaCwgZmwsIGdoLCBnbCk7XFxuICAgIHZhciBjM19oaSA9IHRoaXMua1tpXTtcXG4gICAgdmFyIGMzX2xvID0gdGhpcy5rW2kgKyAxXTtcXG4gICAgdmFyIGM0X2hpID0gV1tpXTtcXG4gICAgdmFyIGM0X2xvID0gV1tpICsgMV07XFxuXFxuICAgIHZhciBUMV9oaSA9IHN1bTY0XzVfaGkoXFxuICAgICAgYzBfaGksIGMwX2xvLFxcbiAgICAgIGMxX2hpLCBjMV9sbyxcXG4gICAgICBjMl9oaSwgYzJfbG8sXFxuICAgICAgYzNfaGksIGMzX2xvLFxcbiAgICAgIGM0X2hpLCBjNF9sbyk7XFxuICAgIHZhciBUMV9sbyA9IHN1bTY0XzVfbG8oXFxuICAgICAgYzBfaGksIGMwX2xvLFxcbiAgICAgIGMxX2hpLCBjMV9sbyxcXG4gICAgICBjMl9oaSwgYzJfbG8sXFxuICAgICAgYzNfaGksIGMzX2xvLFxcbiAgICAgIGM0X2hpLCBjNF9sbyk7XFxuXFxuICAgIGMwX2hpID0gczBfNTEyX2hpKGFoLCBhbCk7XFxuICAgIGMwX2xvID0gczBfNTEyX2xvKGFoLCBhbCk7XFxuICAgIGMxX2hpID0gbWFqNjRfaGkoYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCk7XFxuICAgIGMxX2xvID0gbWFqNjRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCk7XFxuXFxuICAgIHZhciBUMl9oaSA9IHN1bTY0X2hpKGMwX2hpLCBjMF9sbywgYzFfaGksIGMxX2xvKTtcXG4gICAgdmFyIFQyX2xvID0gc3VtNjRfbG8oYzBfaGksIGMwX2xvLCBjMV9oaSwgYzFfbG8pO1xcblxcbiAgICBoaCA9IGdoO1xcbiAgICBobCA9IGdsO1xcblxcbiAgICBnaCA9IGZoO1xcbiAgICBnbCA9IGZsO1xcblxcbiAgICBmaCA9IGVoO1xcbiAgICBmbCA9IGVsO1xcblxcbiAgICBlaCA9IHN1bTY0X2hpKGRoLCBkbCwgVDFfaGksIFQxX2xvKTtcXG4gICAgZWwgPSBzdW02NF9sbyhkbCwgZGwsIFQxX2hpLCBUMV9sbyk7XFxuXFxuICAgIGRoID0gY2g7XFxuICAgIGRsID0gY2w7XFxuXFxuICAgIGNoID0gYmg7XFxuICAgIGNsID0gYmw7XFxuXFxuICAgIGJoID0gYWg7XFxuICAgIGJsID0gYWw7XFxuXFxuICAgIGFoID0gc3VtNjRfaGkoVDFfaGksIFQxX2xvLCBUMl9oaSwgVDJfbG8pO1xcbiAgICBhbCA9IHN1bTY0X2xvKFQxX2hpLCBUMV9sbywgVDJfaGksIFQyX2xvKTtcXG4gIH1cXG5cXG4gIHN1bTY0KHRoaXMuaCwgMCwgYWgsIGFsKTtcXG4gIHN1bTY0KHRoaXMuaCwgMiwgYmgsIGJsKTtcXG4gIHN1bTY0KHRoaXMuaCwgNCwgY2gsIGNsKTtcXG4gIHN1bTY0KHRoaXMuaCwgNiwgZGgsIGRsKTtcXG4gIHN1bTY0KHRoaXMuaCwgOCwgZWgsIGVsKTtcXG4gIHN1bTY0KHRoaXMuaCwgMTAsIGZoLCBmbCk7XFxuICBzdW02NCh0aGlzLmgsIDEyLCBnaCwgZ2wpO1xcbiAgc3VtNjQodGhpcy5oLCAxNCwgaGgsIGhsKTtcXG59O1xcblxcblNIQTUxMi5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcXG4gIGlmIChlbmMgPT09ICdoZXgnKVxcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsICdiaWcnKTtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnYmlnJyk7XFxufTtcXG5cXG5mdW5jdGlvbiBjaDY0X2hpKHhoLCB4bCwgeWgsIHlsLCB6aCkge1xcbiAgdmFyIHIgPSAoeGggJiB5aCkgXiAoKH54aCkgJiB6aCk7XFxuICBpZiAociA8IDApXFxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XFxuICByZXR1cm4gcjtcXG59XFxuXFxuZnVuY3Rpb24gY2g2NF9sbyh4aCwgeGwsIHloLCB5bCwgemgsIHpsKSB7XFxuICB2YXIgciA9ICh4bCAmIHlsKSBeICgofnhsKSAmIHpsKTtcXG4gIGlmIChyIDwgMClcXG4gICAgciArPSAweDEwMDAwMDAwMDtcXG4gIHJldHVybiByO1xcbn1cXG5cXG5mdW5jdGlvbiBtYWo2NF9oaSh4aCwgeGwsIHloLCB5bCwgemgpIHtcXG4gIHZhciByID0gKHhoICYgeWgpIF4gKHhoICYgemgpIF4gKHloICYgemgpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIG1hajY0X2xvKHhoLCB4bCwgeWgsIHlsLCB6aCwgemwpIHtcXG4gIHZhciByID0gKHhsICYgeWwpIF4gKHhsICYgemwpIF4gKHlsICYgemwpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMwXzUxMl9oaSh4aCwgeGwpIHtcXG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDI4KTtcXG4gIHZhciBjMV9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDIpOyAgLy8gMzRcXG4gIHZhciBjMl9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDcpOyAgLy8gMzlcXG5cXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMwXzUxMl9sbyh4aCwgeGwpIHtcXG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDI4KTtcXG4gIHZhciBjMV9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDIpOyAgLy8gMzRcXG4gIHZhciBjMl9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDcpOyAgLy8gMzlcXG5cXG4gIHZhciByID0gYzBfbG8gXiBjMV9sbyBeIGMyX2xvO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMxXzUxMl9oaSh4aCwgeGwpIHtcXG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE0KTtcXG4gIHZhciBjMV9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE4KTtcXG4gIHZhciBjMl9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDkpOyAgLy8gNDFcXG5cXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIHMxXzUxMl9sbyh4aCwgeGwpIHtcXG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE0KTtcXG4gIHZhciBjMV9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE4KTtcXG4gIHZhciBjMl9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDkpOyAgLy8gNDFcXG5cXG4gIHZhciByID0gYzBfbG8gXiBjMV9sbyBeIGMyX2xvO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIGcwXzUxMl9oaSh4aCwgeGwpIHtcXG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDEpO1xcbiAgdmFyIGMxX2hpID0gcm90cjY0X2hpKHhoLCB4bCwgOCk7XFxuICB2YXIgYzJfaGkgPSBzaHI2NF9oaSh4aCwgeGwsIDcpO1xcblxcbiAgdmFyIHIgPSBjMF9oaSBeIGMxX2hpIF4gYzJfaGk7XFxuICBpZiAociA8IDApXFxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XFxuICByZXR1cm4gcjtcXG59XFxuXFxuZnVuY3Rpb24gZzBfNTEyX2xvKHhoLCB4bCkge1xcbiAgdmFyIGMwX2xvID0gcm90cjY0X2xvKHhoLCB4bCwgMSk7XFxuICB2YXIgYzFfbG8gPSByb3RyNjRfbG8oeGgsIHhsLCA4KTtcXG4gIHZhciBjMl9sbyA9IHNocjY0X2xvKHhoLCB4bCwgNyk7XFxuXFxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcXG4gIGlmIChyIDwgMClcXG4gICAgciArPSAweDEwMDAwMDAwMDtcXG4gIHJldHVybiByO1xcbn1cXG5cXG5mdW5jdGlvbiBnMV81MTJfaGkoeGgsIHhsKSB7XFxuICB2YXIgYzBfaGkgPSByb3RyNjRfaGkoeGgsIHhsLCAxOSk7XFxuICB2YXIgYzFfaGkgPSByb3RyNjRfaGkoeGwsIHhoLCAyOSk7ICAvLyA2MVxcbiAgdmFyIGMyX2hpID0gc2hyNjRfaGkoeGgsIHhsLCA2KTtcXG5cXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xcbiAgaWYgKHIgPCAwKVxcbiAgICByICs9IDB4MTAwMDAwMDAwO1xcbiAgcmV0dXJuIHI7XFxufVxcblxcbmZ1bmN0aW9uIGcxXzUxMl9sbyh4aCwgeGwpIHtcXG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE5KTtcXG4gIHZhciBjMV9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDI5KTsgIC8vIDYxXFxuICB2YXIgYzJfbG8gPSBzaHI2NF9sbyh4aCwgeGwsIDYpO1xcblxcbiAgdmFyIHIgPSBjMF9sbyBeIGMxX2xvIF4gYzJfbG87XFxuICBpZiAociA8IDApXFxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XFxuICByZXR1cm4gcjtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlvWVhOb0xtcHpMMnhwWWk5b1lYTm9MM05vWVM4MU1USXVhbk0vT1dZME1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeFpRVUZaTEcxQ1FVRlBMRU5CUVVNc01FUkJRVlU3UVVGRE9VSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExEUkVRVUZYTzBGQlEyaERMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSVUZCY1VJN08wRkJSVEZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xDUVVGcFFpeFJRVUZSTzBGQlEzcENPMEZCUTBFc1VVRkJVU3hqUVVGak8wRkJRM1JDTERoRFFVRTRRenRCUVVNNVF6dEJRVU5CTERCQ1FVRXdRanRCUVVNeFFqdEJRVU5CTEdkRVFVRm5SRHRCUVVOb1JEdEJRVU5CTERCQ1FVRXdRanRCUVVNeFFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHbENRVUZwUWl4alFVRmpPMEZCUXk5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFEwRkJiVU03UVVGRGJrTXNiVU5CUVcxRE96dEJRVVZ1UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFEwRkJiVU03UVVGRGJrTXNiVU5CUVcxRE96dEJRVVZ1UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzFEUVVGdFF6czdRVUZGYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UTBGQmJVTTdPMEZCUlc1RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h2UTBGQmIwTTdRVUZEY0VNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYjBOQlFXOURPMEZCUTNCRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YUdGemFDNXFjeTlzYVdJdmFHRnphQzl6YUdFdk5URXlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnZFhScGJITWdQU0J5WlhGMWFYSmxLQ2N1TGk5MWRHbHNjeWNwTzF4dWRtRnlJR052YlcxdmJpQTlJSEpsY1hWcGNtVW9KeTR1TDJOdmJXMXZiaWNwTzF4dWRtRnlJR0Z6YzJWeWRDQTlJSEpsY1hWcGNtVW9KMjFwYm1sdFlXeHBjM1JwWXkxaGMzTmxjblFuS1R0Y2JseHVkbUZ5SUhKdmRISTJORjlvYVNBOUlIVjBhV3h6TG5KdmRISTJORjlvYVR0Y2JuWmhjaUJ5YjNSeU5qUmZiRzhnUFNCMWRHbHNjeTV5YjNSeU5qUmZiRzg3WEc1MllYSWdjMmh5TmpSZmFHa2dQU0IxZEdsc2N5NXphSEkyTkY5b2FUdGNiblpoY2lCemFISTJORjlzYnlBOUlIVjBhV3h6TG5Ob2NqWTBYMnh2TzF4dWRtRnlJSE4xYlRZMElEMGdkWFJwYkhNdWMzVnROalE3WEc1MllYSWdjM1Z0TmpSZmFHa2dQU0IxZEdsc2N5NXpkVzAyTkY5b2FUdGNiblpoY2lCemRXMDJORjlzYnlBOUlIVjBhV3h6TG5OMWJUWTBYMnh2TzF4dWRtRnlJSE4xYlRZMFh6UmZhR2tnUFNCMWRHbHNjeTV6ZFcwMk5GODBYMmhwTzF4dWRtRnlJSE4xYlRZMFh6UmZiRzhnUFNCMWRHbHNjeTV6ZFcwMk5GODBYMnh2TzF4dWRtRnlJSE4xYlRZMFh6VmZhR2tnUFNCMWRHbHNjeTV6ZFcwMk5GODFYMmhwTzF4dWRtRnlJSE4xYlRZMFh6VmZiRzhnUFNCMWRHbHNjeTV6ZFcwMk5GODFYMnh2TzF4dVhHNTJZWElnUW14dlkydElZWE5vSUQwZ1kyOXRiVzl1TGtKc2IyTnJTR0Z6YUR0Y2JseHVkbUZ5SUhOb1lUVXhNbDlMSUQwZ1cxeHVJQ0F3ZURReU9HRXlaams0TENBd2VHUTNNamhoWlRJeUxDQXdlRGN4TXpjME5Ea3hMQ0F3ZURJelpXWTJOV05rTEZ4dUlDQXdlR0kxWXpCbVltTm1MQ0F3ZUdWak5HUXpZakptTENBd2VHVTVZalZrWW1FMUxDQXdlRGd4T0Rsa1ltSmpMRnh1SUNBd2VETTVOVFpqTWpWaUxDQXdlR1l6TkRoaU5UTTRMQ0F3ZURVNVpqRXhNV1l4TENBd2VHSTJNRFZrTURFNUxGeHVJQ0F3ZURreU0yWTRNbUUwTENBd2VHRm1NVGswWmpsaUxDQXdlR0ZpTVdNMVpXUTFMQ0F3ZUdSaE5tUTRNVEU0TEZ4dUlDQXdlR1E0TURkaFlUazRMQ0F3ZUdFek1ETXdNalF5TENBd2VERXlPRE0xWWpBeExDQXdlRFExTnpBMlptSmxMRnh1SUNBd2VESTBNekU0TldKbExDQXdlRFJsWlRSaU1qaGpMQ0F3ZURVMU1HTTNaR016TENBd2VHUTFabVppTkdVeUxGeHVJQ0F3ZURjeVltVTFaRGMwTENBd2VHWXlOMkk0T1RabUxDQXdlRGd3WkdWaU1XWmxMQ0F3ZUROaU1UWTVObUl4TEZ4dUlDQXdlRGxpWkdNd05tRTNMQ0F3ZURJMVl6Y3hNak0xTENBd2VHTXhPV0ptTVRjMExDQXdlR05tTmpreU5qazBMRnh1SUNBd2VHVTBPV0kyT1dNeExDQXdlRGxsWmpFMFlXUXlMQ0F3ZUdWbVltVTBOemcyTENBd2VETTROR1l5TldVekxGeHVJQ0F3ZURCbVl6RTVaR00yTENBd2VEaGlPR05rTldJMUxDQXdlREkwTUdOaE1XTmpMQ0F3ZURjM1lXTTVZelkxTEZ4dUlDQXdlREprWlRreVl6Wm1MQ0F3ZURVNU1tSXdNamMxTENBd2VEUmhOelE0TkdGaExDQXdlRFpsWVRabE5EZ3pMRnh1SUNBd2VEVmpZakJoT1dSakxDQXdlR0prTkRGbVltUTBMQ0F3ZURjMlpqazRPR1JoTENBd2VEZ3pNVEUxTTJJMUxGeHVJQ0F3ZURrNE0yVTFNVFV5TENBd2VHVmxOalprWm1GaUxDQXdlR0U0TXpGak5qWmtMQ0F3ZURKa1lqUXpNakV3TEZ4dUlDQXdlR0l3TURNeU4yTTRMQ0F3ZURrNFptSXlNVE5tTENBd2VHSm1OVGszWm1NM0xDQXdlR0psWldZd1pXVTBMRnh1SUNBd2VHTTJaVEF3WW1ZekxDQXdlRE5rWVRnNFptTXlMQ0F3ZUdRMVlUYzVNVFEzTENBd2VEa3pNR0ZoTnpJMUxGeHVJQ0F3ZURBMlkyRTJNelV4TENBd2VHVXdNRE00TWpabUxDQXdlREUwTWpreU9UWTNMQ0F3ZURCaE1HVTJaVGN3TEZ4dUlDQXdlREkzWWpjd1lUZzFMQ0F3ZURRMlpESXlabVpqTENBd2VESmxNV0l5TVRNNExDQXdlRFZqTWpaak9USTJMRnh1SUNBd2VEUmtNbU0yWkdaakxDQXdlRFZoWXpReVlXVmtMQ0F3ZURVek16Z3daREV6TENBd2VEbGtPVFZpTTJSbUxGeHVJQ0F3ZURZMU1HRTNNelUwTENBd2VEaGlZV1kyTTJSbExDQXdlRGMyTm1Fd1lXSmlMQ0F3ZUROak56ZGlNbUU0TEZ4dUlDQXdlRGd4WXpKak9USmxMQ0F3ZURRM1pXUmhaV1UyTENBd2VEa3lOekl5WXpnMUxDQXdlREUwT0RJek5UTmlMRnh1SUNBd2VHRXlZbVpsT0dFeExDQXdlRFJqWmpFd016WTBMQ0F3ZUdFNE1XRTJOalJpTENBd2VHSmpOREl6TURBeExGeHVJQ0F3ZUdNeU5HSTRZamN3TENBd2VHUXdaamc1TnpreExDQXdlR00zTm1NMU1XRXpMQ0F3ZURBMk5UUmlaVE13TEZ4dUlDQXdlR1F4T1RKbE9ERTVMQ0F3ZUdRMlpXWTFNakU0TENBd2VHUTJPVGt3TmpJMExDQXdlRFUxTmpWaE9URXdMRnh1SUNBd2VHWTBNR1V6TlRnMUxDQXdlRFUzTnpFeU1ESmhMQ0F3ZURFd05tRmhNRGN3TENBd2VETXlZbUprTVdJNExGeHVJQ0F3ZURFNVlUUmpNVEUyTENBd2VHSTRaREprTUdNNExDQXdlREZsTXpjMll6QTRMQ0F3ZURVeE5ERmhZalV6TEZ4dUlDQXdlREkzTkRnM056UmpMQ0F3ZUdSbU9HVmxZams1TENBd2VETTBZakJpWTJJMUxDQXdlR1V4T1dJME9HRTRMRnh1SUNBd2VETTVNV013WTJJekxDQXdlR00xWXprMVlUWXpMQ0F3ZURSbFpEaGhZVFJoTENBd2VHVXpOREU0WVdOaUxGeHVJQ0F3ZURWaU9XTmpZVFJtTENBd2VEYzNOak5sTXpjekxDQXdlRFk0TW1VMlptWXpMQ0F3ZUdRMllqSmlPR0V6TEZ4dUlDQXdlRGMwT0dZNE1tVmxMQ0F3ZURWa1pXWmlNbVpqTENBd2VEYzRZVFUyTXpabUxDQXdlRFF6TVRjeVpqWXdMRnh1SUNBd2VEZzBZemczT0RFMExDQXdlR0V4WmpCaFlqY3lMQ0F3ZURoall6Y3dNakE0TENBd2VERmhOalF6T1dWakxGeHVJQ0F3ZURrd1ltVm1abVpoTENBd2VESXpOak14WlRJNExDQXdlR0UwTlRBMlkyVmlMQ0F3ZUdSbE9ESmlaR1U1TEZ4dUlDQXdlR0psWmpsaE0yWTNMQ0F3ZUdJeVl6WTNPVEUxTENBd2VHTTJOekUzT0dZeUxDQXdlR1V6TnpJMU16SmlMRnh1SUNBd2VHTmhNamN6WldObExDQXdlR1ZoTWpZMk1UbGpMQ0F3ZUdReE9EWmlPR00zTENBd2VESXhZekJqTWpBM0xGeHVJQ0F3ZUdWaFpHRTNaR1EyTENBd2VHTmtaVEJsWWpGbExDQXdlR1kxTjJRMFpqZG1MQ0F3ZUdWbE5tVmtNVGM0TEZ4dUlDQXdlREEyWmpBMk4yRmhMQ0F3ZURjeU1UYzJabUpoTENBd2VEQmhOak0zWkdNMUxDQXdlR0V5WXpnNU9HRTJMRnh1SUNBd2VERXhNMlk1T0RBMExDQXdlR0psWmprd1pHRmxMQ0F3ZURGaU56RXdZak0xTENBd2VERXpNV00wTnpGaUxGeHVJQ0F3ZURJNFpHSTNOMlkxTENBd2VESXpNRFEzWkRnMExDQXdlRE15WTJGaFlqZGlMQ0F3ZURRd1l6Y3lORGt6TEZ4dUlDQXdlRE5qT1dWaVpUQmhMQ0F3ZURFMVl6bGlaV0pqTENBd2VEUXpNV1EyTjJNMExDQXdlRGxqTVRBd1pEUmpMRnh1SUNBd2VEUmpZelZrTkdKbExDQXdlR05pTTJVME1tSTJMQ0F3ZURVNU4yWXlPVGxqTENBd2VHWmpOalUzWlRKaExGeHVJQ0F3ZURWbVkySTJabUZpTENBd2VETmhaRFptWVdWakxDQXdlRFpqTkRReE9UaGpMQ0F3ZURSaE5EYzFPREUzWEc1ZE8xeHVYRzVtZFc1amRHbHZiaUJUU0VFMU1USW9LU0I3WEc0Z0lHbG1JQ2doS0hSb2FYTWdhVzV6ZEdGdVkyVnZaaUJUU0VFMU1USXBLVnh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dVMGhCTlRFeUtDazdYRzVjYmlBZ1FteHZZMnRJWVhOb0xtTmhiR3dvZEdocGN5azdYRzRnSUhSb2FYTXVhQ0E5SUZ0Y2JpQWdJQ0F3ZURaaE1EbGxOalkzTENBd2VHWXpZbU5qT1RBNExGeHVJQ0FnSURCNFltSTJOMkZsT0RVc0lEQjRPRFJqWVdFM00ySXNYRzRnSUNBZ01IZ3pZelpsWmpNM01pd2dNSGhtWlRrMFpqZ3lZaXhjYmlBZ0lDQXdlR0UxTkdabU5UTmhMQ0F3ZURWbU1XUXpObVl4TEZ4dUlDQWdJREI0TlRFd1pUVXlOMllzSURCNFlXUmxOamd5WkRFc1hHNGdJQ0FnTUhnNVlqQTFOamc0WXl3Z01IZ3lZak5sTm1NeFppeGNiaUFnSUNBd2VERm1PRE5rT1dGaUxDQXdlR1ppTkRGaVpEWmlMRnh1SUNBZ0lEQjROV0psTUdOa01Ua3NJREI0TVRNM1pUSXhOemtnWFR0Y2JpQWdkR2hwY3k1cklEMGdjMmhoTlRFeVgwczdYRzRnSUhSb2FYTXVWeUE5SUc1bGR5QkJjbkpoZVNneE5qQXBPMXh1ZlZ4dWRYUnBiSE11YVc1b1pYSnBkSE1vVTBoQk5URXlMQ0JDYkc5amEwaGhjMmdwTzF4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCVFNFRTFNVEk3WEc1Y2JsTklRVFV4TWk1aWJHOWphMU5wZW1VZ1BTQXhNREkwTzF4dVUwaEJOVEV5TG05MWRGTnBlbVVnUFNBMU1USTdYRzVUU0VFMU1USXVhRzFoWTFOMGNtVnVaM1JvSUQwZ01Ua3lPMXh1VTBoQk5URXlMbkJoWkV4bGJtZDBhQ0E5SURFeU9EdGNibHh1VTBoQk5URXlMbkJ5YjNSdmRIbHdaUzVmY0hKbGNHRnlaVUpzYjJOcklEMGdablZ1WTNScGIyNGdYM0J5WlhCaGNtVkNiRzlqYXlodGMyY3NJSE4wWVhKMEtTQjdYRzRnSUhaaGNpQlhJRDBnZEdocGN5NVhPMXh1WEc0Z0lDOHZJRE15SUhnZ016SmlhWFFnZDI5eVpITmNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBek1qc2dhU3NyS1Z4dUlDQWdJRmRiYVYwZ1BTQnRjMmRiYzNSaGNuUWdLeUJwWFR0Y2JpQWdabTl5SUNnN0lHa2dQQ0JYTG14bGJtZDBhRHNnYVNBclBTQXlLU0I3WEc0Z0lDQWdkbUZ5SUdNd1gyaHBJRDBnWnpGZk5URXlYMmhwS0ZkYmFTQXRJRFJkTENCWFcya2dMU0F6WFNrN0lDQXZMeUJwSUMwZ01seHVJQ0FnSUhaaGNpQmpNRjlzYnlBOUlHY3hYelV4TWw5c2J5aFhXMmtnTFNBMFhTd2dWMXRwSUMwZ00xMHBPMXh1SUNBZ0lIWmhjaUJqTVY5b2FTQTlJRmRiYVNBdElERTBYVHNnSUM4dklHa2dMU0EzWEc0Z0lDQWdkbUZ5SUdNeFgyeHZJRDBnVjF0cElDMGdNVE5kTzF4dUlDQWdJSFpoY2lCak1sOW9hU0E5SUdjd1h6VXhNbDlvYVNoWFcya2dMU0F6TUYwc0lGZGJhU0F0SURJNVhTazdJQ0F2THlCcElDMGdNVFZjYmlBZ0lDQjJZWElnWXpKZmJHOGdQU0JuTUY4MU1USmZiRzhvVjF0cElDMGdNekJkTENCWFcya2dMU0F5T1YwcE8xeHVJQ0FnSUhaaGNpQmpNMTlvYVNBOUlGZGJhU0F0SURNeVhUc2dJQzh2SUdrZ0xTQXhObHh1SUNBZ0lIWmhjaUJqTTE5c2J5QTlJRmRiYVNBdElETXhYVHRjYmx4dUlDQWdJRmRiYVYwZ1BTQnpkVzAyTkY4MFgyaHBLRnh1SUNBZ0lDQWdZekJmYUdrc0lHTXdYMnh2TEZ4dUlDQWdJQ0FnWXpGZmFHa3NJR014WDJ4dkxGeHVJQ0FnSUNBZ1l6SmZhR2tzSUdNeVgyeHZMRnh1SUNBZ0lDQWdZek5mYUdrc0lHTXpYMnh2S1R0Y2JpQWdJQ0JYVzJrZ0t5QXhYU0E5SUhOMWJUWTBYelJmYkc4b1hHNGdJQ0FnSUNCak1GOW9hU3dnWXpCZmJHOHNYRzRnSUNBZ0lDQmpNVjlvYVN3Z1l6RmZiRzhzWEc0Z0lDQWdJQ0JqTWw5b2FTd2dZekpmYkc4c1hHNGdJQ0FnSUNCak0xOW9hU3dnWXpOZmJHOHBPMXh1SUNCOVhHNTlPMXh1WEc1VFNFRTFNVEl1Y0hKdmRHOTBlWEJsTGw5MWNHUmhkR1VnUFNCbWRXNWpkR2x2YmlCZmRYQmtZWFJsS0cxelp5d2djM1JoY25RcElIdGNiaUFnZEdocGN5NWZjSEpsY0dGeVpVSnNiMk5yS0cxelp5d2djM1JoY25RcE8xeHVYRzRnSUhaaGNpQlhJRDBnZEdocGN5NVhPMXh1WEc0Z0lIWmhjaUJoYUNBOUlIUm9hWE11YUZzd1hUdGNiaUFnZG1GeUlHRnNJRDBnZEdocGN5NW9XekZkTzF4dUlDQjJZWElnWW1nZ1BTQjBhR2x6TG1oYk1sMDdYRzRnSUhaaGNpQmliQ0E5SUhSb2FYTXVhRnN6WFR0Y2JpQWdkbUZ5SUdOb0lEMGdkR2hwY3k1b1d6UmRPMXh1SUNCMllYSWdZMndnUFNCMGFHbHpMbWhiTlYwN1hHNGdJSFpoY2lCa2FDQTlJSFJvYVhNdWFGczJYVHRjYmlBZ2RtRnlJR1JzSUQwZ2RHaHBjeTVvV3pkZE8xeHVJQ0IyWVhJZ1pXZ2dQU0IwYUdsekxtaGJPRjA3WEc0Z0lIWmhjaUJsYkNBOUlIUm9hWE11YUZzNVhUdGNiaUFnZG1GeUlHWm9JRDBnZEdocGN5NW9XekV3WFR0Y2JpQWdkbUZ5SUdac0lEMGdkR2hwY3k1b1d6RXhYVHRjYmlBZ2RtRnlJR2RvSUQwZ2RHaHBjeTVvV3pFeVhUdGNiaUFnZG1GeUlHZHNJRDBnZEdocGN5NW9XekV6WFR0Y2JpQWdkbUZ5SUdob0lEMGdkR2hwY3k1b1d6RTBYVHRjYmlBZ2RtRnlJR2hzSUQwZ2RHaHBjeTVvV3pFMVhUdGNibHh1SUNCaGMzTmxjblFvZEdocGN5NXJMbXhsYm1kMGFDQTlQVDBnVnk1c1pXNW5kR2dwTzF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRmN1YkdWdVozUm9PeUJwSUNzOUlESXBJSHRjYmlBZ0lDQjJZWElnWXpCZmFHa2dQU0JvYUR0Y2JpQWdJQ0IyWVhJZ1l6QmZiRzhnUFNCb2JEdGNiaUFnSUNCMllYSWdZekZmYUdrZ1BTQnpNVjgxTVRKZmFHa29aV2dzSUdWc0tUdGNiaUFnSUNCMllYSWdZekZmYkc4Z1BTQnpNVjgxTVRKZmJHOG9aV2dzSUdWc0tUdGNiaUFnSUNCMllYSWdZekpmYUdrZ1BTQmphRFkwWDJocEtHVm9MQ0JsYkN3Z1ptZ3NJR1pzTENCbmFDd2daMndwTzF4dUlDQWdJSFpoY2lCak1sOXNieUE5SUdOb05qUmZiRzhvWldnc0lHVnNMQ0JtYUN3Z1ptd3NJR2RvTENCbmJDazdYRzRnSUNBZ2RtRnlJR016WDJocElEMGdkR2hwY3k1clcybGRPMXh1SUNBZ0lIWmhjaUJqTTE5c2J5QTlJSFJvYVhNdWExdHBJQ3NnTVYwN1hHNGdJQ0FnZG1GeUlHTTBYMmhwSUQwZ1YxdHBYVHRjYmlBZ0lDQjJZWElnWXpSZmJHOGdQU0JYVzJrZ0t5QXhYVHRjYmx4dUlDQWdJSFpoY2lCVU1WOW9hU0E5SUhOMWJUWTBYelZmYUdrb1hHNGdJQ0FnSUNCak1GOW9hU3dnWXpCZmJHOHNYRzRnSUNBZ0lDQmpNVjlvYVN3Z1l6RmZiRzhzWEc0Z0lDQWdJQ0JqTWw5b2FTd2dZekpmYkc4c1hHNGdJQ0FnSUNCak0xOW9hU3dnWXpOZmJHOHNYRzRnSUNBZ0lDQmpORjlvYVN3Z1l6UmZiRzhwTzF4dUlDQWdJSFpoY2lCVU1WOXNieUE5SUhOMWJUWTBYelZmYkc4b1hHNGdJQ0FnSUNCak1GOW9hU3dnWXpCZmJHOHNYRzRnSUNBZ0lDQmpNVjlvYVN3Z1l6RmZiRzhzWEc0Z0lDQWdJQ0JqTWw5b2FTd2dZekpmYkc4c1hHNGdJQ0FnSUNCak0xOW9hU3dnWXpOZmJHOHNYRzRnSUNBZ0lDQmpORjlvYVN3Z1l6UmZiRzhwTzF4dVhHNGdJQ0FnWXpCZmFHa2dQU0J6TUY4MU1USmZhR2tvWVdnc0lHRnNLVHRjYmlBZ0lDQmpNRjlzYnlBOUlITXdYelV4TWw5c2J5aGhhQ3dnWVd3cE8xeHVJQ0FnSUdNeFgyaHBJRDBnYldGcU5qUmZhR2tvWVdnc0lHRnNMQ0JpYUN3Z1ltd3NJR05vTENCamJDazdYRzRnSUNBZ1l6RmZiRzhnUFNCdFlXbzJORjlzYnloaGFDd2dZV3dzSUdKb0xDQmliQ3dnWTJnc0lHTnNLVHRjYmx4dUlDQWdJSFpoY2lCVU1sOW9hU0E5SUhOMWJUWTBYMmhwS0dNd1gyaHBMQ0JqTUY5c2J5d2dZekZmYUdrc0lHTXhYMnh2S1R0Y2JpQWdJQ0IyWVhJZ1ZESmZiRzhnUFNCemRXMDJORjlzYnloak1GOW9hU3dnWXpCZmJHOHNJR014WDJocExDQmpNVjlzYnlrN1hHNWNiaUFnSUNCb2FDQTlJR2RvTzF4dUlDQWdJR2hzSUQwZ1oydzdYRzVjYmlBZ0lDQm5hQ0E5SUdab08xeHVJQ0FnSUdkc0lEMGdabXc3WEc1Y2JpQWdJQ0JtYUNBOUlHVm9PMXh1SUNBZ0lHWnNJRDBnWld3N1hHNWNiaUFnSUNCbGFDQTlJSE4xYlRZMFgyaHBLR1JvTENCa2JDd2dWREZmYUdrc0lGUXhYMnh2S1R0Y2JpQWdJQ0JsYkNBOUlITjFiVFkwWDJ4dktHUnNMQ0JrYkN3Z1ZERmZhR2tzSUZReFgyeHZLVHRjYmx4dUlDQWdJR1JvSUQwZ1kyZzdYRzRnSUNBZ1pHd2dQU0JqYkR0Y2JseHVJQ0FnSUdOb0lEMGdZbWc3WEc0Z0lDQWdZMndnUFNCaWJEdGNibHh1SUNBZ0lHSm9JRDBnWVdnN1hHNGdJQ0FnWW13Z1BTQmhiRHRjYmx4dUlDQWdJR0ZvSUQwZ2MzVnROalJmYUdrb1ZERmZhR2tzSUZReFgyeHZMQ0JVTWw5b2FTd2dWREpmYkc4cE8xeHVJQ0FnSUdGc0lEMGdjM1Z0TmpSZmJHOG9WREZmYUdrc0lGUXhYMnh2TENCVU1sOW9hU3dnVkRKZmJHOHBPMXh1SUNCOVhHNWNiaUFnYzNWdE5qUW9kR2hwY3k1b0xDQXdMQ0JoYUN3Z1lXd3BPMXh1SUNCemRXMDJOQ2gwYUdsekxtZ3NJRElzSUdKb0xDQmliQ2s3WEc0Z0lITjFiVFkwS0hSb2FYTXVhQ3dnTkN3Z1kyZ3NJR05zS1R0Y2JpQWdjM1Z0TmpRb2RHaHBjeTVvTENBMkxDQmthQ3dnWkd3cE8xeHVJQ0J6ZFcwMk5DaDBhR2x6TG1nc0lEZ3NJR1ZvTENCbGJDazdYRzRnSUhOMWJUWTBLSFJvYVhNdWFDd2dNVEFzSUdab0xDQm1iQ2s3WEc0Z0lITjFiVFkwS0hSb2FYTXVhQ3dnTVRJc0lHZG9MQ0JuYkNrN1hHNGdJSE4xYlRZMEtIUm9hWE11YUN3Z01UUXNJR2hvTENCb2JDazdYRzU5TzF4dVhHNVRTRUUxTVRJdWNISnZkRzkwZVhCbExsOWthV2RsYzNRZ1BTQm1kVzVqZEdsdmJpQmthV2RsYzNRb1pXNWpLU0I3WEc0Z0lHbG1JQ2hsYm1NZ1BUMDlJQ2RvWlhnbktWeHVJQ0FnSUhKbGRIVnliaUIxZEdsc2N5NTBiMGhsZURNeUtIUm9hWE11YUN3Z0oySnBaeWNwTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIVjBhV3h6TG5Od2JHbDBNeklvZEdocGN5NW9MQ0FuWW1sbkp5azdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQmphRFkwWDJocEtIaG9MQ0I0YkN3Z2VXZ3NJSGxzTENCNmFDa2dlMXh1SUNCMllYSWdjaUE5SUNoNGFDQW1JSGxvS1NCZUlDZ29mbmhvS1NBbUlIcG9LVHRjYmlBZ2FXWWdLSElnUENBd0tWeHVJQ0FnSUhJZ0t6MGdNSGd4TURBd01EQXdNREE3WEc0Z0lISmxkSFZ5YmlCeU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamFEWTBYMnh2S0hob0xDQjRiQ3dnZVdnc0lIbHNMQ0I2YUN3Z2Vtd3BJSHRjYmlBZ2RtRnlJSElnUFNBb2VHd2dKaUI1YkNrZ1hpQW9LSDU0YkNrZ0ppQjZiQ2s3WEc0Z0lHbG1JQ2h5SUR3Z01DbGNiaUFnSUNCeUlDczlJREI0TVRBd01EQXdNREF3TzF4dUlDQnlaWFIxY200Z2NqdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnFOalJmYUdrb2VHZ3NJSGhzTENCNWFDd2dlV3dzSUhwb0tTQjdYRzRnSUhaaGNpQnlJRDBnS0hob0lDWWdlV2dwSUY0Z0tIaG9JQ1lnZW1ncElGNGdLSGxvSUNZZ2VtZ3BPMXh1SUNCcFppQW9jaUE4SURBcFhHNGdJQ0FnY2lBclBTQXdlREV3TURBd01EQXdNRHRjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxaGFqWTBYMnh2S0hob0xDQjRiQ3dnZVdnc0lIbHNMQ0I2YUN3Z2Vtd3BJSHRjYmlBZ2RtRnlJSElnUFNBb2VHd2dKaUI1YkNrZ1hpQW9lR3dnSmlCNmJDa2dYaUFvZVd3Z0ppQjZiQ2s3WEc0Z0lHbG1JQ2h5SUR3Z01DbGNiaUFnSUNCeUlDczlJREI0TVRBd01EQXdNREF3TzF4dUlDQnlaWFIxY200Z2NqdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2N6QmZOVEV5WDJocEtIaG9MQ0I0YkNrZ2UxeHVJQ0IyWVhJZ1l6QmZhR2tnUFNCeWIzUnlOalJmYUdrb2VHZ3NJSGhzTENBeU9DazdYRzRnSUhaaGNpQmpNVjlvYVNBOUlISnZkSEkyTkY5b2FTaDRiQ3dnZUdnc0lESXBPeUFnTHk4Z016UmNiaUFnZG1GeUlHTXlYMmhwSUQwZ2NtOTBjalkwWDJocEtIaHNMQ0I0YUN3Z055azdJQ0F2THlBek9WeHVYRzRnSUhaaGNpQnlJRDBnWXpCZmFHa2dYaUJqTVY5b2FTQmVJR015WDJocE8xeHVJQ0JwWmlBb2NpQThJREFwWEc0Z0lDQWdjaUFyUFNBd2VERXdNREF3TURBd01EdGNiaUFnY21WMGRYSnVJSEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJSE13WHpVeE1sOXNieWg0YUN3Z2VHd3BJSHRjYmlBZ2RtRnlJR013WDJ4dklEMGdjbTkwY2pZMFgyeHZLSGhvTENCNGJDd2dNamdwTzF4dUlDQjJZWElnWXpGZmJHOGdQU0J5YjNSeU5qUmZiRzhvZUd3c0lIaG9MQ0F5S1RzZ0lDOHZJRE0wWEc0Z0lIWmhjaUJqTWw5c2J5QTlJSEp2ZEhJMk5GOXNieWg0YkN3Z2VHZ3NJRGNwT3lBZ0x5OGdNemxjYmx4dUlDQjJZWElnY2lBOUlHTXdYMnh2SUY0Z1l6RmZiRzhnWGlCak1sOXNienRjYmlBZ2FXWWdLSElnUENBd0tWeHVJQ0FnSUhJZ0t6MGdNSGd4TURBd01EQXdNREE3WEc0Z0lISmxkSFZ5YmlCeU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCek1WODFNVEpmYUdrb2VHZ3NJSGhzS1NCN1hHNGdJSFpoY2lCak1GOW9hU0E5SUhKdmRISTJORjlvYVNoNGFDd2dlR3dzSURFMEtUdGNiaUFnZG1GeUlHTXhYMmhwSUQwZ2NtOTBjalkwWDJocEtIaG9MQ0I0YkN3Z01UZ3BPMXh1SUNCMllYSWdZekpmYUdrZ1BTQnliM1J5TmpSZmFHa29lR3dzSUhob0xDQTVLVHNnSUM4dklEUXhYRzVjYmlBZ2RtRnlJSElnUFNCak1GOW9hU0JlSUdNeFgyaHBJRjRnWXpKZmFHazdYRzRnSUdsbUlDaHlJRHdnTUNsY2JpQWdJQ0J5SUNzOUlEQjRNVEF3TURBd01EQXdPMXh1SUNCeVpYUjFjbTRnY2p0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY3pGZk5URXlYMnh2S0hob0xDQjRiQ2tnZTF4dUlDQjJZWElnWXpCZmJHOGdQU0J5YjNSeU5qUmZiRzhvZUdnc0lIaHNMQ0F4TkNrN1hHNGdJSFpoY2lCak1WOXNieUE5SUhKdmRISTJORjlzYnloNGFDd2dlR3dzSURFNEtUdGNiaUFnZG1GeUlHTXlYMnh2SUQwZ2NtOTBjalkwWDJ4dktIaHNMQ0I0YUN3Z09TazdJQ0F2THlBME1WeHVYRzRnSUhaaGNpQnlJRDBnWXpCZmJHOGdYaUJqTVY5c2J5QmVJR015WDJ4dk8xeHVJQ0JwWmlBb2NpQThJREFwWEc0Z0lDQWdjaUFyUFNBd2VERXdNREF3TURBd01EdGNiaUFnY21WMGRYSnVJSEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2N3WHpVeE1sOW9hU2g0YUN3Z2VHd3BJSHRjYmlBZ2RtRnlJR013WDJocElEMGdjbTkwY2pZMFgyaHBLSGhvTENCNGJDd2dNU2s3WEc0Z0lIWmhjaUJqTVY5b2FTQTlJSEp2ZEhJMk5GOW9hU2g0YUN3Z2VHd3NJRGdwTzF4dUlDQjJZWElnWXpKZmFHa2dQU0J6YUhJMk5GOW9hU2g0YUN3Z2VHd3NJRGNwTzF4dVhHNGdJSFpoY2lCeUlEMGdZekJmYUdrZ1hpQmpNVjlvYVNCZUlHTXlYMmhwTzF4dUlDQnBaaUFvY2lBOElEQXBYRzRnSUNBZ2NpQXJQU0F3ZURFd01EQXdNREF3TUR0Y2JpQWdjbVYwZFhKdUlISTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHY3dYelV4TWw5c2J5aDRhQ3dnZUd3cElIdGNiaUFnZG1GeUlHTXdYMnh2SUQwZ2NtOTBjalkwWDJ4dktIaG9MQ0I0YkN3Z01TazdYRzRnSUhaaGNpQmpNVjlzYnlBOUlISnZkSEkyTkY5c2J5aDRhQ3dnZUd3c0lEZ3BPMXh1SUNCMllYSWdZekpmYkc4Z1BTQnphSEkyTkY5c2J5aDRhQ3dnZUd3c0lEY3BPMXh1WEc0Z0lIWmhjaUJ5SUQwZ1l6QmZiRzhnWGlCak1WOXNieUJlSUdNeVgyeHZPMXh1SUNCcFppQW9jaUE4SURBcFhHNGdJQ0FnY2lBclBTQXdlREV3TURBd01EQXdNRHRjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdjeFh6VXhNbDlvYVNoNGFDd2dlR3dwSUh0Y2JpQWdkbUZ5SUdNd1gyaHBJRDBnY205MGNqWTBYMmhwS0hob0xDQjRiQ3dnTVRrcE8xeHVJQ0IyWVhJZ1l6RmZhR2tnUFNCeWIzUnlOalJmYUdrb2VHd3NJSGhvTENBeU9TazdJQ0F2THlBMk1WeHVJQ0IyWVhJZ1l6SmZhR2tnUFNCemFISTJORjlvYVNoNGFDd2dlR3dzSURZcE8xeHVYRzRnSUhaaGNpQnlJRDBnWXpCZmFHa2dYaUJqTVY5b2FTQmVJR015WDJocE8xeHVJQ0JwWmlBb2NpQThJREFwWEc0Z0lDQWdjaUFyUFNBd2VERXdNREF3TURBd01EdGNiaUFnY21WMGRYSnVJSEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2N4WHpVeE1sOXNieWg0YUN3Z2VHd3BJSHRjYmlBZ2RtRnlJR013WDJ4dklEMGdjbTkwY2pZMFgyeHZLSGhvTENCNGJDd2dNVGtwTzF4dUlDQjJZWElnWXpGZmJHOGdQU0J5YjNSeU5qUmZiRzhvZUd3c0lIaG9MQ0F5T1NrN0lDQXZMeUEyTVZ4dUlDQjJZWElnWXpKZmJHOGdQU0J6YUhJMk5GOXNieWg0YUN3Z2VHd3NJRFlwTzF4dVhHNGdJSFpoY2lCeUlEMGdZekJmYkc4Z1hpQmpNVjlzYnlCZUlHTXlYMnh2TzF4dUlDQnBaaUFvY2lBOElEQXBYRzRnSUNBZ2NpQXJQU0F3ZURFd01EQXdNREF3TUR0Y2JpQWdjbVYwZFhKdUlISTdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9oYXNoLmpzL2xpYi9oYXNoL3NoYS81MTIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhL2NvbW1vbi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC9zaGEvY29tbW9uLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLi91dGlscyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1xcXCIpO1xcbnZhciByb3RyMzIgPSB1dGlscy5yb3RyMzI7XFxuXFxuZnVuY3Rpb24gZnRfMShzLCB4LCB5LCB6KSB7XFxuICBpZiAocyA9PT0gMClcXG4gICAgcmV0dXJuIGNoMzIoeCwgeSwgeik7XFxuICBpZiAocyA9PT0gMSB8fCBzID09PSAzKVxcbiAgICByZXR1cm4gcDMyKHgsIHksIHopO1xcbiAgaWYgKHMgPT09IDIpXFxuICAgIHJldHVybiBtYWozMih4LCB5LCB6KTtcXG59XFxuZXhwb3J0cy5mdF8xID0gZnRfMTtcXG5cXG5mdW5jdGlvbiBjaDMyKHgsIHksIHopIHtcXG4gIHJldHVybiAoeCAmIHkpIF4gKCh+eCkgJiB6KTtcXG59XFxuZXhwb3J0cy5jaDMyID0gY2gzMjtcXG5cXG5mdW5jdGlvbiBtYWozMih4LCB5LCB6KSB7XFxuICByZXR1cm4gKHggJiB5KSBeICh4ICYgeikgXiAoeSAmIHopO1xcbn1cXG5leHBvcnRzLm1hajMyID0gbWFqMzI7XFxuXFxuZnVuY3Rpb24gcDMyKHgsIHksIHopIHtcXG4gIHJldHVybiB4IF4geSBeIHo7XFxufVxcbmV4cG9ydHMucDMyID0gcDMyO1xcblxcbmZ1bmN0aW9uIHMwXzI1Nih4KSB7XFxuICByZXR1cm4gcm90cjMyKHgsIDIpIF4gcm90cjMyKHgsIDEzKSBeIHJvdHIzMih4LCAyMik7XFxufVxcbmV4cG9ydHMuczBfMjU2ID0gczBfMjU2O1xcblxcbmZ1bmN0aW9uIHMxXzI1Nih4KSB7XFxuICByZXR1cm4gcm90cjMyKHgsIDYpIF4gcm90cjMyKHgsIDExKSBeIHJvdHIzMih4LCAyNSk7XFxufVxcbmV4cG9ydHMuczFfMjU2ID0gczFfMjU2O1xcblxcbmZ1bmN0aW9uIGcwXzI1Nih4KSB7XFxuICByZXR1cm4gcm90cjMyKHgsIDcpIF4gcm90cjMyKHgsIDE4KSBeICh4ID4+PiAzKTtcXG59XFxuZXhwb3J0cy5nMF8yNTYgPSBnMF8yNTY7XFxuXFxuZnVuY3Rpb24gZzFfMjU2KHgpIHtcXG4gIHJldHVybiByb3RyMzIoeCwgMTcpIF4gcm90cjMyKHgsIDE5KSBeICh4ID4+PiAxMCk7XFxufVxcbmV4cG9ydHMuZzFfMjU2ID0gZzFfMjU2O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MbXB6TDJ4cFlpOW9ZWE5vTDNOb1lTOWpiMjF0YjI0dWFuTS9aRGN3TVNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQllUczdRVUZGWWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zTUVSQlFWVTdRVUZET1VJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyaGhjMmd1YW5NdmJHbGlMMmhoYzJndmMyaGhMMk52YlcxdmJpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJSFYwYVd4eklEMGdjbVZ4ZFdseVpTZ25MaTR2ZFhScGJITW5LVHRjYm5aaGNpQnliM1J5TXpJZ1BTQjFkR2xzY3k1eWIzUnlNekk3WEc1Y2JtWjFibU4wYVc5dUlHWjBYekVvY3l3Z2VDd2dlU3dnZWlrZ2UxeHVJQ0JwWmlBb2N5QTlQVDBnTUNsY2JpQWdJQ0J5WlhSMWNtNGdZMmd6TWloNExDQjVMQ0I2S1R0Y2JpQWdhV1lnS0hNZ1BUMDlJREVnZkh3Z2N5QTlQVDBnTXlsY2JpQWdJQ0J5WlhSMWNtNGdjRE15S0hnc0lIa3NJSG9wTzF4dUlDQnBaaUFvY3lBOVBUMGdNaWxjYmlBZ0lDQnlaWFIxY200Z2JXRnFNeklvZUN3Z2VTd2dlaWs3WEc1OVhHNWxlSEJ2Y25SekxtWjBYekVnUFNCbWRGOHhPMXh1WEc1bWRXNWpkR2x2YmlCamFETXlLSGdzSUhrc0lIb3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElDWWdlU2tnWGlBb0tINTRLU0FtSUhvcE8xeHVmVnh1Wlhod2IzSjBjeTVqYURNeUlEMGdZMmd6TWp0Y2JseHVablZ1WTNScGIyNGdiV0ZxTXpJb2VDd2dlU3dnZWlrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnSmlCNUtTQmVJQ2g0SUNZZ2Vpa2dYaUFvZVNBbUlIb3BPMXh1ZlZ4dVpYaHdiM0owY3k1dFlXb3pNaUE5SUcxaGFqTXlPMXh1WEc1bWRXNWpkR2x2YmlCd016SW9lQ3dnZVN3Z2Vpa2dlMXh1SUNCeVpYUjFjbTRnZUNCZUlIa2dYaUI2TzF4dWZWeHVaWGh3YjNKMGN5NXdNeklnUFNCd016STdYRzVjYm1aMWJtTjBhVzl1SUhNd1h6STFOaWg0S1NCN1hHNGdJSEpsZEhWeWJpQnliM1J5TXpJb2VDd2dNaWtnWGlCeWIzUnlNeklvZUN3Z01UTXBJRjRnY205MGNqTXlLSGdzSURJeUtUdGNibjFjYm1WNGNHOXlkSE11Y3pCZk1qVTJJRDBnY3pCZk1qVTJPMXh1WEc1bWRXNWpkR2x2YmlCek1WOHlOVFlvZUNrZ2UxeHVJQ0J5WlhSMWNtNGdjbTkwY2pNeUtIZ3NJRFlwSUY0Z2NtOTBjak15S0hnc0lERXhLU0JlSUhKdmRISXpNaWg0TENBeU5TazdYRzU5WEc1bGVIQnZjblJ6TG5NeFh6STFOaUE5SUhNeFh6STFOanRjYmx4dVpuVnVZM1JwYjI0Z1p6QmZNalUyS0hncElIdGNiaUFnY21WMGRYSnVJSEp2ZEhJek1paDRMQ0EzS1NCZUlISnZkSEl6TWloNExDQXhPQ2tnWGlBb2VDQStQajRnTXlrN1hHNTlYRzVsZUhCdmNuUnpMbWN3WHpJMU5pQTlJR2N3WHpJMU5qdGNibHh1Wm5WdVkzUnBiMjRnWnpGZk1qVTJLSGdwSUh0Y2JpQWdjbVYwZFhKdUlISnZkSEl6TWloNExDQXhOeWtnWGlCeWIzUnlNeklvZUN3Z01Ua3BJRjRnS0hnZ1BqNCtJREV3S1R0Y2JuMWNibVY0Y0c5eWRITXVaekZmTWpVMklEMGdaekZmTWpVMk8xeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvc2hhL2NvbW1vbi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgYXNzZXJ0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgbWluaW1hbGlzdGljLWFzc2VydCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWFzc2VydC9pbmRleC5qc1xcXCIpO1xcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuXFxuZXhwb3J0cy5pbmhlcml0cyA9IGluaGVyaXRzO1xcblxcbmZ1bmN0aW9uIGlzU3Vycm9nYXRlUGFpcihtc2csIGkpIHtcXG4gIGlmICgobXNnLmNoYXJDb2RlQXQoaSkgJiAweEZDMDApICE9PSAweEQ4MDApIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbiAgaWYgKGkgPCAwIHx8IGkgKyAxID49IG1zZy5sZW5ndGgpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbiAgcmV0dXJuIChtc2cuY2hhckNvZGVBdChpICsgMSkgJiAweEZDMDApID09PSAweERDMDA7XFxufVxcblxcbmZ1bmN0aW9uIHRvQXJyYXkobXNnLCBlbmMpIHtcXG4gIGlmIChBcnJheS5pc0FycmF5KG1zZykpXFxuICAgIHJldHVybiBtc2cuc2xpY2UoKTtcXG4gIGlmICghbXNnKVxcbiAgICByZXR1cm4gW107XFxuICB2YXIgcmVzID0gW107XFxuICBpZiAodHlwZW9mIG1zZyA9PT0gJ3N0cmluZycpIHtcXG4gICAgaWYgKCFlbmMpIHtcXG4gICAgICAvLyBJbnNwaXJlZCBieSBzdHJpbmdUb1V0ZjhCeXRlQXJyYXkoKSBpbiBjbG9zdXJlLWxpYnJhcnkgYnkgR29vZ2xlXFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9jbG9zdXJlLWxpYnJhcnkvYmxvYi84NTk4ZDg3MjQyYWY1OWFhYzIzMzI3MDc0MmM4OTg0ZTJiMmJkYmUwL2Nsb3N1cmUvZ29vZy9jcnlwdC9jcnlwdC5qcyNMMTE3LUwxNDNcXG4gICAgICAvLyBBcGFjaGUgTGljZW5zZSAyLjBcXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtbGlicmFyeS9ibG9iL21hc3Rlci9MSUNFTlNFXFxuICAgICAgdmFyIHAgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB2YXIgYyA9IG1zZy5jaGFyQ29kZUF0KGkpO1xcbiAgICAgICAgaWYgKGMgPCAxMjgpIHtcXG4gICAgICAgICAgcmVzW3ArK10gPSBjO1xcbiAgICAgICAgfSBlbHNlIGlmIChjIDwgMjA0OCkge1xcbiAgICAgICAgICByZXNbcCsrXSA9IChjID4+IDYpIHwgMTkyO1xcbiAgICAgICAgICByZXNbcCsrXSA9IChjICYgNjMpIHwgMTI4O1xcbiAgICAgICAgfSBlbHNlIGlmIChpc1N1cnJvZ2F0ZVBhaXIobXNnLCBpKSkge1xcbiAgICAgICAgICBjID0gMHgxMDAwMCArICgoYyAmIDB4MDNGRikgPDwgMTApICsgKG1zZy5jaGFyQ29kZUF0KCsraSkgJiAweDAzRkYpO1xcbiAgICAgICAgICByZXNbcCsrXSA9IChjID4+IDE4KSB8IDI0MDtcXG4gICAgICAgICAgcmVzW3ArK10gPSAoKGMgPj4gMTIpICYgNjMpIHwgMTI4O1xcbiAgICAgICAgICByZXNbcCsrXSA9ICgoYyA+PiA2KSAmIDYzKSB8IDEyODtcXG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHJlc1twKytdID0gKGMgPj4gMTIpIHwgMjI0O1xcbiAgICAgICAgICByZXNbcCsrXSA9ICgoYyA+PiA2KSAmIDYzKSB8IDEyODtcXG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZW5jID09PSAnaGV4Jykge1xcbiAgICAgIG1zZyA9IG1zZy5yZXBsYWNlKC9bXmEtejAtOV0rL2lnLCAnJyk7XFxuICAgICAgaWYgKG1zZy5sZW5ndGggJSAyICE9PSAwKVxcbiAgICAgICAgbXNnID0gJzAnICsgbXNnO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpICs9IDIpXFxuICAgICAgICByZXMucHVzaChwYXJzZUludChtc2dbaV0gKyBtc2dbaSArIDFdLCAxNikpO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxcbiAgICAgIHJlc1tpXSA9IG1zZ1tpXSB8IDA7XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG5leHBvcnRzLnRvQXJyYXkgPSB0b0FycmF5O1xcblxcbmZ1bmN0aW9uIHRvSGV4KG1zZykge1xcbiAgdmFyIHJlcyA9ICcnO1xcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpKyspXFxuICAgIHJlcyArPSB6ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtcXG4gIHJldHVybiByZXM7XFxufVxcbmV4cG9ydHMudG9IZXggPSB0b0hleDtcXG5cXG5mdW5jdGlvbiBodG9ubCh3KSB7XFxuICB2YXIgcmVzID0gKHcgPj4+IDI0KSB8XFxuICAgICAgICAgICAgKCh3ID4+PiA4KSAmIDB4ZmYwMCkgfFxcbiAgICAgICAgICAgICgodyA8PCA4KSAmIDB4ZmYwMDAwKSB8XFxuICAgICAgICAgICAgKCh3ICYgMHhmZikgPDwgMjQpO1xcbiAgcmV0dXJuIHJlcyA+Pj4gMDtcXG59XFxuZXhwb3J0cy5odG9ubCA9IGh0b25sO1xcblxcbmZ1bmN0aW9uIHRvSGV4MzIobXNnLCBlbmRpYW4pIHtcXG4gIHZhciByZXMgPSAnJztcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhciB3ID0gbXNnW2ldO1xcbiAgICBpZiAoZW5kaWFuID09PSAnbGl0dGxlJylcXG4gICAgICB3ID0gaHRvbmwodyk7XFxuICAgIHJlcyArPSB6ZXJvOCh3LnRvU3RyaW5nKDE2KSk7XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG5leHBvcnRzLnRvSGV4MzIgPSB0b0hleDMyO1xcblxcbmZ1bmN0aW9uIHplcm8yKHdvcmQpIHtcXG4gIGlmICh3b3JkLmxlbmd0aCA9PT0gMSlcXG4gICAgcmV0dXJuICcwJyArIHdvcmQ7XFxuICBlbHNlXFxuICAgIHJldHVybiB3b3JkO1xcbn1cXG5leHBvcnRzLnplcm8yID0gemVybzI7XFxuXFxuZnVuY3Rpb24gemVybzgod29yZCkge1xcbiAgaWYgKHdvcmQubGVuZ3RoID09PSA3KVxcbiAgICByZXR1cm4gJzAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSA2KVxcbiAgICByZXR1cm4gJzAwJyArIHdvcmQ7XFxuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gNSlcXG4gICAgcmV0dXJuICcwMDAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSA0KVxcbiAgICByZXR1cm4gJzAwMDAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSAzKVxcbiAgICByZXR1cm4gJzAwMDAwJyArIHdvcmQ7XFxuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gMilcXG4gICAgcmV0dXJuICcwMDAwMDAnICsgd29yZDtcXG4gIGVsc2UgaWYgKHdvcmQubGVuZ3RoID09PSAxKVxcbiAgICByZXR1cm4gJzAwMDAwMDAnICsgd29yZDtcXG4gIGVsc2VcXG4gICAgcmV0dXJuIHdvcmQ7XFxufVxcbmV4cG9ydHMuemVybzggPSB6ZXJvODtcXG5cXG5mdW5jdGlvbiBqb2luMzIobXNnLCBzdGFydCwgZW5kLCBlbmRpYW4pIHtcXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydDtcXG4gIGFzc2VydChsZW4gJSA0ID09PSAwKTtcXG4gIHZhciByZXMgPSBuZXcgQXJyYXkobGVuIC8gNCk7XFxuICBmb3IgKHZhciBpID0gMCwgayA9IHN0YXJ0OyBpIDwgcmVzLmxlbmd0aDsgaSsrLCBrICs9IDQpIHtcXG4gICAgdmFyIHc7XFxuICAgIGlmIChlbmRpYW4gPT09ICdiaWcnKVxcbiAgICAgIHcgPSAobXNnW2tdIDw8IDI0KSB8IChtc2dbayArIDFdIDw8IDE2KSB8IChtc2dbayArIDJdIDw8IDgpIHwgbXNnW2sgKyAzXTtcXG4gICAgZWxzZVxcbiAgICAgIHcgPSAobXNnW2sgKyAzXSA8PCAyNCkgfCAobXNnW2sgKyAyXSA8PCAxNikgfCAobXNnW2sgKyAxXSA8PCA4KSB8IG1zZ1trXTtcXG4gICAgcmVzW2ldID0gdyA+Pj4gMDtcXG4gIH1cXG4gIHJldHVybiByZXM7XFxufVxcbmV4cG9ydHMuam9pbjMyID0gam9pbjMyO1xcblxcbmZ1bmN0aW9uIHNwbGl0MzIobXNnLCBlbmRpYW4pIHtcXG4gIHZhciByZXMgPSBuZXcgQXJyYXkobXNnLmxlbmd0aCAqIDQpO1xcbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrLCBrICs9IDQpIHtcXG4gICAgdmFyIG0gPSBtc2dbaV07XFxuICAgIGlmIChlbmRpYW4gPT09ICdiaWcnKSB7XFxuICAgICAgcmVzW2tdID0gbSA+Pj4gMjQ7XFxuICAgICAgcmVzW2sgKyAxXSA9IChtID4+PiAxNikgJiAweGZmO1xcbiAgICAgIHJlc1trICsgMl0gPSAobSA+Pj4gOCkgJiAweGZmO1xcbiAgICAgIHJlc1trICsgM10gPSBtICYgMHhmZjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXNbayArIDNdID0gbSA+Pj4gMjQ7XFxuICAgICAgcmVzW2sgKyAyXSA9IChtID4+PiAxNikgJiAweGZmO1xcbiAgICAgIHJlc1trICsgMV0gPSAobSA+Pj4gOCkgJiAweGZmO1xcbiAgICAgIHJlc1trXSA9IG0gJiAweGZmO1xcbiAgICB9XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG5leHBvcnRzLnNwbGl0MzIgPSBzcGxpdDMyO1xcblxcbmZ1bmN0aW9uIHJvdHIzMih3LCBiKSB7XFxuICByZXR1cm4gKHcgPj4+IGIpIHwgKHcgPDwgKDMyIC0gYikpO1xcbn1cXG5leHBvcnRzLnJvdHIzMiA9IHJvdHIzMjtcXG5cXG5mdW5jdGlvbiByb3RsMzIodywgYikge1xcbiAgcmV0dXJuICh3IDw8IGIpIHwgKHcgPj4+ICgzMiAtIGIpKTtcXG59XFxuZXhwb3J0cy5yb3RsMzIgPSByb3RsMzI7XFxuXFxuZnVuY3Rpb24gc3VtMzIoYSwgYikge1xcbiAgcmV0dXJuIChhICsgYikgPj4+IDA7XFxufVxcbmV4cG9ydHMuc3VtMzIgPSBzdW0zMjtcXG5cXG5mdW5jdGlvbiBzdW0zMl8zKGEsIGIsIGMpIHtcXG4gIHJldHVybiAoYSArIGIgKyBjKSA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW0zMl8zID0gc3VtMzJfMztcXG5cXG5mdW5jdGlvbiBzdW0zMl80KGEsIGIsIGMsIGQpIHtcXG4gIHJldHVybiAoYSArIGIgKyBjICsgZCkgPj4+IDA7XFxufVxcbmV4cG9ydHMuc3VtMzJfNCA9IHN1bTMyXzQ7XFxuXFxuZnVuY3Rpb24gc3VtMzJfNShhLCBiLCBjLCBkLCBlKSB7XFxuICByZXR1cm4gKGEgKyBiICsgYyArIGQgKyBlKSA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW0zMl81ID0gc3VtMzJfNTtcXG5cXG5mdW5jdGlvbiBzdW02NChidWYsIHBvcywgYWgsIGFsKSB7XFxuICB2YXIgYmggPSBidWZbcG9zXTtcXG4gIHZhciBibCA9IGJ1Zltwb3MgKyAxXTtcXG5cXG4gIHZhciBsbyA9IChhbCArIGJsKSA+Pj4gMDtcXG4gIHZhciBoaSA9IChsbyA8IGFsID8gMSA6IDApICsgYWggKyBiaDtcXG4gIGJ1Zltwb3NdID0gaGkgPj4+IDA7XFxuICBidWZbcG9zICsgMV0gPSBsbztcXG59XFxuZXhwb3J0cy5zdW02NCA9IHN1bTY0O1xcblxcbmZ1bmN0aW9uIHN1bTY0X2hpKGFoLCBhbCwgYmgsIGJsKSB7XFxuICB2YXIgbG8gPSAoYWwgKyBibCkgPj4+IDA7XFxuICB2YXIgaGkgPSAobG8gPCBhbCA/IDEgOiAwKSArIGFoICsgYmg7XFxuICByZXR1cm4gaGkgPj4+IDA7XFxufVxcbmV4cG9ydHMuc3VtNjRfaGkgPSBzdW02NF9oaTtcXG5cXG5mdW5jdGlvbiBzdW02NF9sbyhhaCwgYWwsIGJoLCBibCkge1xcbiAgdmFyIGxvID0gYWwgKyBibDtcXG4gIHJldHVybiBsbyA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW02NF9sbyA9IHN1bTY0X2xvO1xcblxcbmZ1bmN0aW9uIHN1bTY0XzRfaGkoYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XFxuICB2YXIgY2FycnkgPSAwO1xcbiAgdmFyIGxvID0gYWw7XFxuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcXG4gIGNhcnJ5ICs9IGxvIDwgYWwgPyAxIDogMDtcXG4gIGxvID0gKGxvICsgY2wpID4+PiAwO1xcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xcbiAgbG8gPSAobG8gKyBkbCkgPj4+IDA7XFxuICBjYXJyeSArPSBsbyA8IGRsID8gMSA6IDA7XFxuXFxuICB2YXIgaGkgPSBhaCArIGJoICsgY2ggKyBkaCArIGNhcnJ5O1xcbiAgcmV0dXJuIGhpID4+PiAwO1xcbn1cXG5leHBvcnRzLnN1bTY0XzRfaGkgPSBzdW02NF80X2hpO1xcblxcbmZ1bmN0aW9uIHN1bTY0XzRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XFxuICB2YXIgbG8gPSBhbCArIGJsICsgY2wgKyBkbDtcXG4gIHJldHVybiBsbyA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW02NF80X2xvID0gc3VtNjRfNF9sbztcXG5cXG5mdW5jdGlvbiBzdW02NF81X2hpKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wsIGRoLCBkbCwgZWgsIGVsKSB7XFxuICB2YXIgY2FycnkgPSAwO1xcbiAgdmFyIGxvID0gYWw7XFxuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcXG4gIGNhcnJ5ICs9IGxvIDwgYWwgPyAxIDogMDtcXG4gIGxvID0gKGxvICsgY2wpID4+PiAwO1xcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xcbiAgbG8gPSAobG8gKyBkbCkgPj4+IDA7XFxuICBjYXJyeSArPSBsbyA8IGRsID8gMSA6IDA7XFxuICBsbyA9IChsbyArIGVsKSA+Pj4gMDtcXG4gIGNhcnJ5ICs9IGxvIDwgZWwgPyAxIDogMDtcXG5cXG4gIHZhciBoaSA9IGFoICsgYmggKyBjaCArIGRoICsgZWggKyBjYXJyeTtcXG4gIHJldHVybiBoaSA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zdW02NF81X2hpID0gc3VtNjRfNV9oaTtcXG5cXG5mdW5jdGlvbiBzdW02NF81X2xvKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wsIGRoLCBkbCwgZWgsIGVsKSB7XFxuICB2YXIgbG8gPSBhbCArIGJsICsgY2wgKyBkbCArIGVsO1xcblxcbiAgcmV0dXJuIGxvID4+PiAwO1xcbn1cXG5leHBvcnRzLnN1bTY0XzVfbG8gPSBzdW02NF81X2xvO1xcblxcbmZ1bmN0aW9uIHJvdHI2NF9oaShhaCwgYWwsIG51bSkge1xcbiAgdmFyIHIgPSAoYWwgPDwgKDMyIC0gbnVtKSkgfCAoYWggPj4+IG51bSk7XFxuICByZXR1cm4gciA+Pj4gMDtcXG59XFxuZXhwb3J0cy5yb3RyNjRfaGkgPSByb3RyNjRfaGk7XFxuXFxuZnVuY3Rpb24gcm90cjY0X2xvKGFoLCBhbCwgbnVtKSB7XFxuICB2YXIgciA9IChhaCA8PCAoMzIgLSBudW0pKSB8IChhbCA+Pj4gbnVtKTtcXG4gIHJldHVybiByID4+PiAwO1xcbn1cXG5leHBvcnRzLnJvdHI2NF9sbyA9IHJvdHI2NF9sbztcXG5cXG5mdW5jdGlvbiBzaHI2NF9oaShhaCwgYWwsIG51bSkge1xcbiAgcmV0dXJuIGFoID4+PiBudW07XFxufVxcbmV4cG9ydHMuc2hyNjRfaGkgPSBzaHI2NF9oaTtcXG5cXG5mdW5jdGlvbiBzaHI2NF9sbyhhaCwgYWwsIG51bSkge1xcbiAgdmFyIHIgPSAoYWggPDwgKDMyIC0gbnVtKSkgfCAoYWwgPj4+IG51bSk7XFxuICByZXR1cm4gciA+Pj4gMDtcXG59XFxuZXhwb3J0cy5zaHI2NF9sbyA9IHNocjY0X2xvO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5b1lYTm9MbXB6TDJ4cFlpOW9ZWE5vTDNWMGFXeHpMbXB6UHpRek1qUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRV0U3TzBGQlJXSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEZRVUZ4UWp0QlFVTXhReXhsUVVGbExHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN08wRkJSV3BET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRaXhuUWtGQlowSTdRVUZEY2tNN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeG5Ra0ZCWjBJN1FVRkRha003UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0N4bFFVRmxMR2RDUVVGblFqdEJRVU12UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzWjBKQlFXZENPMEZCUTJwRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4blFrRkJaMEk3UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERSQ1FVRTBRaXhuUWtGQlowSTdRVUZETlVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEhkQ1FVRjNRaXhuUWtGQlowSTdRVUZEZUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFHRnphQzVxY3k5c2FXSXZhR0Z6YUM5MWRHbHNjeTVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVkbUZ5SUdGemMyVnlkQ0E5SUhKbGNYVnBjbVVvSjIxcGJtbHRZV3hwYzNScFl5MWhjM05sY25RbktUdGNiblpoY2lCcGJtaGxjbWwwY3lBOUlISmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5azdYRzVjYm1WNGNHOXlkSE11YVc1b1pYSnBkSE1nUFNCcGJtaGxjbWwwY3p0Y2JseHVablZ1WTNScGIyNGdhWE5UZFhKeWIyZGhkR1ZRWVdseUtHMXpaeXdnYVNrZ2UxeHVJQ0JwWmlBb0tHMXpaeTVqYUdGeVEyOWtaVUYwS0drcElDWWdNSGhHUXpBd0tTQWhQVDBnTUhoRU9EQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzRnSUdsbUlDaHBJRHdnTUNCOGZDQnBJQ3NnTVNBK1BTQnRjMmN1YkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzRnSUhKbGRIVnliaUFvYlhObkxtTm9ZWEpEYjJSbFFYUW9hU0FySURFcElDWWdNSGhHUXpBd0tTQTlQVDBnTUhoRVF6QXdPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBiMEZ5Y21GNUtHMXpaeXdnWlc1aktTQjdYRzRnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0cxelp5a3BYRzRnSUNBZ2NtVjBkWEp1SUcxelp5NXpiR2xqWlNncE8xeHVJQ0JwWmlBb0lXMXpaeWxjYmlBZ0lDQnlaWFIxY200Z1cxMDdYRzRnSUhaaGNpQnlaWE1nUFNCYlhUdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCdGMyY2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnYVdZZ0tDRmxibU1wSUh0Y2JpQWdJQ0FnSUM4dklFbHVjM0JwY21Wa0lHSjVJSE4wY21sdVoxUnZWWFJtT0VKNWRHVkJjbkpoZVNncElHbHVJR05zYjNOMWNtVXRiR2xpY21GeWVTQmllU0JIYjI5bmJHVmNiaUFnSUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzluYjI5bmJHVXZZMnh2YzNWeVpTMXNhV0p5WVhKNUwySnNiMkl2T0RVNU9HUTROekkwTW1GbU5UbGhZV015TXpNeU56QTNOREpqT0RrNE5HVXlZakppWkdKbE1DOWpiRzl6ZFhKbEwyZHZiMmN2WTNKNWNIUXZZM0o1Y0hRdWFuTWpUREV4TnkxTU1UUXpYRzRnSUNBZ0lDQXZMeUJCY0dGamFHVWdUR2xqWlc1elpTQXlMakJjYmlBZ0lDQWdJQzh2SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bmIyOW5iR1V2WTJ4dmMzVnlaUzFzYVdKeVlYSjVMMkpzYjJJdmJXRnpkR1Z5TDB4SlEwVk9VMFZjYmlBZ0lDQWdJSFpoY2lCd0lEMGdNRHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYlhObkxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmpJRDBnYlhObkxtTm9ZWEpEYjJSbFFYUW9hU2s3WEc0Z0lDQWdJQ0FnSUdsbUlDaGpJRHdnTVRJNEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WelczQXJLMTBnUFNCak8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUENBeU1EUTRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0FySzEwZ1BTQW9ZeUErUGlBMktTQjhJREU1TWp0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5iY0NzclhTQTlJQ2hqSUNZZ05qTXBJSHdnTVRJNE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x6VTNWeWNtOW5ZWFJsVUdGcGNpaHRjMmNzSUdrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWXlBOUlEQjRNVEF3TURBZ0t5QW9LR01nSmlBd2VEQXpSa1lwSUR3OElERXdLU0FySUNodGMyY3VZMmhoY2tOdlpHVkJkQ2dySzJrcElDWWdNSGd3TTBaR0tUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmNDc3JYU0E5SUNoaklENCtJREU0S1NCOElESTBNRHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTmJjQ3NyWFNBOUlDZ29ZeUErUGlBeE1pa2dKaUEyTXlrZ2ZDQXhNamc3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0FySzEwZ1BTQW9LR01nUGo0Z05pa2dKaUEyTXlrZ2ZDQXhNamc3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpXM0FySzEwZ1BTQW9ZeUFtSURZektTQjhJREV5T0R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5iY0NzclhTQTlJQ2hqSUQ0K0lERXlLU0I4SURJeU5EdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmNDc3JYU0E5SUNnb1l5QStQaUEyS1NBbUlEWXpLU0I4SURFeU9EdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOYmNDc3JYU0E5SUNoaklDWWdOak1wSUh3Z01USTRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hsYm1NZ1BUMDlJQ2RvWlhnbktTQjdYRzRnSUNBZ0lDQnRjMmNnUFNCdGMyY3VjbVZ3YkdGalpTZ3ZXMTVoTFhvd0xUbGRLeTlwWnl3Z0p5Y3BPMXh1SUNBZ0lDQWdhV1lnS0cxelp5NXNaVzVuZEdnZ0pTQXlJQ0U5UFNBd0tWeHVJQ0FnSUNBZ0lDQnRjMmNnUFNBbk1DY2dLeUJ0YzJjN1hHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYlhObkxteGxibWQwYURzZ2FTQXJQU0F5S1Z4dUlDQWdJQ0FnSUNCeVpYTXVjSFZ6YUNod1lYSnpaVWx1ZENodGMyZGJhVjBnS3lCdGMyZGJhU0FySURGZExDQXhOaWtwTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2diWE5uTG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ2NtVnpXMmxkSUQwZ2JYTm5XMmxkSUh3Z01EdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlZ4dVpYaHdiM0owY3k1MGIwRnljbUY1SUQwZ2RHOUJjbkpoZVR0Y2JseHVablZ1WTNScGIyNGdkRzlJWlhnb2JYTm5LU0I3WEc0Z0lIWmhjaUJ5WlhNZ1BTQW5KenRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnRjMmN1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnY21WeklDczlJSHBsY204eUtHMXpaMXRwWFM1MGIxTjBjbWx1WnlneE5pa3BPMXh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1Wlhod2IzSjBjeTUwYjBobGVDQTlJSFJ2U0dWNE8xeHVYRzVtZFc1amRHbHZiaUJvZEc5dWJDaDNLU0I3WEc0Z0lIWmhjaUJ5WlhNZ1BTQW9keUErUGo0Z01qUXBJSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ29keUErUGo0Z09Da2dKaUF3ZUdabU1EQXBJSHhjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ29keUE4UENBNEtTQW1JREI0Wm1Zd01EQXdLU0I4WEc0Z0lDQWdJQ0FnSUNBZ0lDQW9LSGNnSmlBd2VHWm1LU0E4UENBeU5DazdYRzRnSUhKbGRIVnliaUJ5WlhNZ1BqNCtJREE3WEc1OVhHNWxlSEJ2Y25SekxtaDBiMjVzSUQwZ2FIUnZibXc3WEc1Y2JtWjFibU4wYVc5dUlIUnZTR1Y0TXpJb2JYTm5MQ0JsYm1ScFlXNHBJSHRjYmlBZ2RtRnlJSEpsY3lBOUlDY25PMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHMXpaeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnYlhOblcybGRPMXh1SUNBZ0lHbG1JQ2hsYm1ScFlXNGdQVDA5SUNkc2FYUjBiR1VuS1Z4dUlDQWdJQ0FnZHlBOUlHaDBiMjVzS0hjcE8xeHVJQ0FnSUhKbGN5QXJQU0I2WlhKdk9DaDNMblJ2VTNSeWFXNW5LREUyS1NrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjFjYm1WNGNHOXlkSE11ZEc5SVpYZ3pNaUE5SUhSdlNHVjRNekk3WEc1Y2JtWjFibU4wYVc5dUlIcGxjbTh5S0hkdmNtUXBJSHRjYmlBZ2FXWWdLSGR2Y21RdWJHVnVaM1JvSUQwOVBTQXhLVnh1SUNBZ0lISmxkSFZ5YmlBbk1DY2dLeUIzYjNKa08xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJSGR2Y21RN1hHNTlYRzVsZUhCdmNuUnpMbnBsY204eUlEMGdlbVZ5YnpJN1hHNWNibVoxYm1OMGFXOXVJSHBsY204NEtIZHZjbVFwSUh0Y2JpQWdhV1lnS0hkdmNtUXViR1Z1WjNSb0lEMDlQU0EzS1Z4dUlDQWdJSEpsZEhWeWJpQW5NQ2NnS3lCM2IzSmtPMXh1SUNCbGJITmxJR2xtSUNoM2IzSmtMbXhsYm1kMGFDQTlQVDBnTmlsY2JpQWdJQ0J5WlhSMWNtNGdKekF3SnlBcklIZHZjbVE3WEc0Z0lHVnNjMlVnYVdZZ0tIZHZjbVF1YkdWdVozUm9JRDA5UFNBMUtWeHVJQ0FnSUhKbGRIVnliaUFuTURBd0p5QXJJSGR2Y21RN1hHNGdJR1ZzYzJVZ2FXWWdLSGR2Y21RdWJHVnVaM1JvSUQwOVBTQTBLVnh1SUNBZ0lISmxkSFZ5YmlBbk1EQXdNQ2NnS3lCM2IzSmtPMXh1SUNCbGJITmxJR2xtSUNoM2IzSmtMbXhsYm1kMGFDQTlQVDBnTXlsY2JpQWdJQ0J5WlhSMWNtNGdKekF3TURBd0p5QXJJSGR2Y21RN1hHNGdJR1ZzYzJVZ2FXWWdLSGR2Y21RdWJHVnVaM1JvSUQwOVBTQXlLVnh1SUNBZ0lISmxkSFZ5YmlBbk1EQXdNREF3SnlBcklIZHZjbVE3WEc0Z0lHVnNjMlVnYVdZZ0tIZHZjbVF1YkdWdVozUm9JRDA5UFNBeEtWeHVJQ0FnSUhKbGRIVnliaUFuTURBd01EQXdNQ2NnS3lCM2IzSmtPMXh1SUNCbGJITmxYRzRnSUNBZ2NtVjBkWEp1SUhkdmNtUTdYRzU5WEc1bGVIQnZjblJ6TG5wbGNtODRJRDBnZW1WeWJ6ZzdYRzVjYm1aMWJtTjBhVzl1SUdwdmFXNHpNaWh0YzJjc0lITjBZWEowTENCbGJtUXNJR1Z1WkdsaGJpa2dlMXh1SUNCMllYSWdiR1Z1SUQwZ1pXNWtJQzBnYzNSaGNuUTdYRzRnSUdGemMyVnlkQ2hzWlc0Z0pTQTBJRDA5UFNBd0tUdGNiaUFnZG1GeUlISmxjeUE5SUc1bGR5QkJjbkpoZVNoc1pXNGdMeUEwS1R0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBc0lHc2dQU0J6ZEdGeWREc2dhU0E4SUhKbGN5NXNaVzVuZEdnN0lHa3JLeXdnYXlBclBTQTBLU0I3WEc0Z0lDQWdkbUZ5SUhjN1hHNGdJQ0FnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMkpwWnljcFhHNGdJQ0FnSUNCM0lEMGdLRzF6WjF0clhTQThQQ0F5TkNrZ2ZDQW9iWE5uVzJzZ0t5QXhYU0E4UENBeE5pa2dmQ0FvYlhOblcyc2dLeUF5WFNBOFBDQTRLU0I4SUcxeloxdHJJQ3NnTTEwN1hHNGdJQ0FnWld4elpWeHVJQ0FnSUNBZ2R5QTlJQ2h0YzJkYmF5QXJJRE5kSUR3OElESTBLU0I4SUNodGMyZGJheUFySURKZElEdzhJREUyS1NCOElDaHRjMmRiYXlBcklERmRJRHc4SURncElId2diWE5uVzJ0ZE8xeHVJQ0FnSUhKbGMxdHBYU0E5SUhjZ1BqNCtJREE3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsY3p0Y2JuMWNibVY0Y0c5eWRITXVhbTlwYmpNeUlEMGdhbTlwYmpNeU8xeHVYRzVtZFc1amRHbHZiaUJ6Y0d4cGRETXlLRzF6Wnl3Z1pXNWthV0Z1S1NCN1hHNGdJSFpoY2lCeVpYTWdQU0J1WlhjZ1FYSnlZWGtvYlhObkxteGxibWQwYUNBcUlEUXBPMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYXlBOUlEQTdJR2tnUENCdGMyY3ViR1Z1WjNSb095QnBLeXNzSUdzZ0t6MGdOQ2tnZTF4dUlDQWdJSFpoY2lCdElEMGdiWE5uVzJsZE8xeHVJQ0FnSUdsbUlDaGxibVJwWVc0Z1BUMDlJQ2RpYVdjbktTQjdYRzRnSUNBZ0lDQnlaWE5iYTEwZ1BTQnRJRDQrUGlBeU5EdGNiaUFnSUNBZ0lISmxjMXRySUNzZ01WMGdQU0FvYlNBK1BqNGdNVFlwSUNZZ01IaG1aanRjYmlBZ0lDQWdJSEpsYzF0cklDc2dNbDBnUFNBb2JTQStQajRnT0NrZ0ppQXdlR1ptTzF4dUlDQWdJQ0FnY21Welcyc2dLeUF6WFNBOUlHMGdKaUF3ZUdabU8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhOYmF5QXJJRE5kSUQwZ2JTQStQajRnTWpRN1hHNGdJQ0FnSUNCeVpYTmJheUFySURKZElEMGdLRzBnUGo0K0lERTJLU0FtSURCNFptWTdYRzRnSUNBZ0lDQnlaWE5iYXlBcklERmRJRDBnS0cwZ1BqNCtJRGdwSUNZZ01IaG1aanRjYmlBZ0lDQWdJSEpsYzF0clhTQTlJRzBnSmlBd2VHWm1PMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z2NtVnpPMXh1ZlZ4dVpYaHdiM0owY3k1emNHeHBkRE15SUQwZ2MzQnNhWFF6TWp0Y2JseHVablZ1WTNScGIyNGdjbTkwY2pNeUtIY3NJR0lwSUh0Y2JpQWdjbVYwZFhKdUlDaDNJRDQrUGlCaUtTQjhJQ2gzSUR3OElDZ3pNaUF0SUdJcEtUdGNibjFjYm1WNGNHOXlkSE11Y205MGNqTXlJRDBnY205MGNqTXlPMXh1WEc1bWRXNWpkR2x2YmlCeWIzUnNNeklvZHl3Z1lpa2dlMXh1SUNCeVpYUjFjbTRnS0hjZ1BEd2dZaWtnZkNBb2R5QStQajRnS0RNeUlDMGdZaWtwTzF4dWZWeHVaWGh3YjNKMGN5NXliM1JzTXpJZ1BTQnliM1JzTXpJN1hHNWNibVoxYm1OMGFXOXVJSE4xYlRNeUtHRXNJR0lwSUh0Y2JpQWdjbVYwZFhKdUlDaGhJQ3NnWWlrZ1BqNCtJREE3WEc1OVhHNWxlSEJ2Y25SekxuTjFiVE15SUQwZ2MzVnRNekk3WEc1Y2JtWjFibU4wYVc5dUlITjFiVE15WHpNb1lTd2dZaXdnWXlrZ2UxeHVJQ0J5WlhSMWNtNGdLR0VnS3lCaUlDc2dZeWtnUGo0K0lEQTdYRzU5WEc1bGVIQnZjblJ6TG5OMWJUTXlYek1nUFNCemRXMHpNbDh6TzF4dVhHNW1kVzVqZEdsdmJpQnpkVzB6TWw4MEtHRXNJR0lzSUdNc0lHUXBJSHRjYmlBZ2NtVjBkWEp1SUNoaElDc2dZaUFySUdNZ0t5QmtLU0ErUGo0Z01EdGNibjFjYm1WNGNHOXlkSE11YzNWdE16SmZOQ0E5SUhOMWJUTXlYelE3WEc1Y2JtWjFibU4wYVc5dUlITjFiVE15WHpVb1lTd2dZaXdnWXl3Z1pDd2daU2tnZTF4dUlDQnlaWFIxY200Z0tHRWdLeUJpSUNzZ1l5QXJJR1FnS3lCbEtTQStQajRnTUR0Y2JuMWNibVY0Y0c5eWRITXVjM1Z0TXpKZk5TQTlJSE4xYlRNeVh6VTdYRzVjYm1aMWJtTjBhVzl1SUhOMWJUWTBLR0oxWml3Z2NHOXpMQ0JoYUN3Z1lXd3BJSHRjYmlBZ2RtRnlJR0pvSUQwZ1luVm1XM0J2YzEwN1hHNGdJSFpoY2lCaWJDQTlJR0oxWmx0d2IzTWdLeUF4WFR0Y2JseHVJQ0IyWVhJZ2JHOGdQU0FvWVd3Z0t5QmliQ2tnUGo0K0lEQTdYRzRnSUhaaGNpQm9hU0E5SUNoc2J5QThJR0ZzSUQ4Z01TQTZJREFwSUNzZ1lXZ2dLeUJpYUR0Y2JpQWdZblZtVzNCdmMxMGdQU0JvYVNBK1BqNGdNRHRjYmlBZ1luVm1XM0J2Y3lBcklERmRJRDBnYkc4N1hHNTlYRzVsZUhCdmNuUnpMbk4xYlRZMElEMGdjM1Z0TmpRN1hHNWNibVoxYm1OMGFXOXVJSE4xYlRZMFgyaHBLR0ZvTENCaGJDd2dZbWdzSUdKc0tTQjdYRzRnSUhaaGNpQnNieUE5SUNoaGJDQXJJR0pzS1NBK1BqNGdNRHRjYmlBZ2RtRnlJR2hwSUQwZ0tHeHZJRHdnWVd3Z1B5QXhJRG9nTUNrZ0t5QmhhQ0FySUdKb08xeHVJQ0J5WlhSMWNtNGdhR2tnUGo0K0lEQTdYRzU5WEc1bGVIQnZjblJ6TG5OMWJUWTBYMmhwSUQwZ2MzVnROalJmYUdrN1hHNWNibVoxYm1OMGFXOXVJSE4xYlRZMFgyeHZLR0ZvTENCaGJDd2dZbWdzSUdKc0tTQjdYRzRnSUhaaGNpQnNieUE5SUdGc0lDc2dZbXc3WEc0Z0lISmxkSFZ5YmlCc2J5QStQajRnTUR0Y2JuMWNibVY0Y0c5eWRITXVjM1Z0TmpSZmJHOGdQU0J6ZFcwMk5GOXNienRjYmx4dVpuVnVZM1JwYjI0Z2MzVnROalJmTkY5b2FTaGhhQ3dnWVd3c0lHSm9MQ0JpYkN3Z1kyZ3NJR05zTENCa2FDd2daR3dwSUh0Y2JpQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdkbUZ5SUd4dklEMGdZV3c3WEc0Z0lHeHZJRDBnS0d4dklDc2dZbXdwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR0ZzSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2dZMndwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR05zSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2daR3dwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR1JzSUQ4Z01TQTZJREE3WEc1Y2JpQWdkbUZ5SUdocElEMGdZV2dnS3lCaWFDQXJJR05vSUNzZ1pHZ2dLeUJqWVhKeWVUdGNiaUFnY21WMGRYSnVJR2hwSUQ0K1BpQXdPMXh1ZlZ4dVpYaHdiM0owY3k1emRXMDJORjgwWDJocElEMGdjM1Z0TmpSZk5GOW9hVHRjYmx4dVpuVnVZM1JwYjI0Z2MzVnROalJmTkY5c2J5aGhhQ3dnWVd3c0lHSm9MQ0JpYkN3Z1kyZ3NJR05zTENCa2FDd2daR3dwSUh0Y2JpQWdkbUZ5SUd4dklEMGdZV3dnS3lCaWJDQXJJR05zSUNzZ1pHdzdYRzRnSUhKbGRIVnliaUJzYnlBK1BqNGdNRHRjYm4xY2JtVjRjRzl5ZEhNdWMzVnROalJmTkY5c2J5QTlJSE4xYlRZMFh6UmZiRzg3WEc1Y2JtWjFibU4wYVc5dUlITjFiVFkwWHpWZmFHa29ZV2dzSUdGc0xDQmlhQ3dnWW13c0lHTm9MQ0JqYkN3Z1pHZ3NJR1JzTENCbGFDd2daV3dwSUh0Y2JpQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdkbUZ5SUd4dklEMGdZV3c3WEc0Z0lHeHZJRDBnS0d4dklDc2dZbXdwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR0ZzSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2dZMndwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR05zSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2daR3dwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR1JzSUQ4Z01TQTZJREE3WEc0Z0lHeHZJRDBnS0d4dklDc2daV3dwSUQ0K1BpQXdPMXh1SUNCallYSnllU0FyUFNCc2J5QThJR1ZzSUQ4Z01TQTZJREE3WEc1Y2JpQWdkbUZ5SUdocElEMGdZV2dnS3lCaWFDQXJJR05vSUNzZ1pHZ2dLeUJsYUNBcklHTmhjbko1TzF4dUlDQnlaWFIxY200Z2FHa2dQajQrSURBN1hHNTlYRzVsZUhCdmNuUnpMbk4xYlRZMFh6VmZhR2tnUFNCemRXMDJORjgxWDJocE8xeHVYRzVtZFc1amRHbHZiaUJ6ZFcwMk5GODFYMnh2S0dGb0xDQmhiQ3dnWW1nc0lHSnNMQ0JqYUN3Z1kyd3NJR1JvTENCa2JDd2daV2dzSUdWc0tTQjdYRzRnSUhaaGNpQnNieUE5SUdGc0lDc2dZbXdnS3lCamJDQXJJR1JzSUNzZ1pXdzdYRzVjYmlBZ2NtVjBkWEp1SUd4dklENCtQaUF3TzF4dWZWeHVaWGh3YjNKMGN5NXpkVzAyTkY4MVgyeHZJRDBnYzNWdE5qUmZOVjlzYnp0Y2JseHVablZ1WTNScGIyNGdjbTkwY2pZMFgyaHBLR0ZvTENCaGJDd2diblZ0S1NCN1hHNGdJSFpoY2lCeUlEMGdLR0ZzSUR3OElDZ3pNaUF0SUc1MWJTa3BJSHdnS0dGb0lENCtQaUJ1ZFcwcE8xeHVJQ0J5WlhSMWNtNGdjaUErUGo0Z01EdGNibjFjYm1WNGNHOXlkSE11Y205MGNqWTBYMmhwSUQwZ2NtOTBjalkwWDJocE8xeHVYRzVtZFc1amRHbHZiaUJ5YjNSeU5qUmZiRzhvWVdnc0lHRnNMQ0J1ZFcwcElIdGNiaUFnZG1GeUlISWdQU0FvWVdnZ1BEd2dLRE15SUMwZ2JuVnRLU2tnZkNBb1lXd2dQajQrSUc1MWJTazdYRzRnSUhKbGRIVnliaUJ5SUQ0K1BpQXdPMXh1ZlZ4dVpYaHdiM0owY3k1eWIzUnlOalJmYkc4Z1BTQnliM1J5TmpSZmJHODdYRzVjYm1aMWJtTjBhVzl1SUhOb2NqWTBYMmhwS0dGb0xDQmhiQ3dnYm5WdEtTQjdYRzRnSUhKbGRIVnliaUJoYUNBK1BqNGdiblZ0TzF4dWZWeHVaWGh3YjNKMGN5NXphSEkyTkY5b2FTQTlJSE5vY2pZMFgyaHBPMXh1WEc1bWRXNWpkR2x2YmlCemFISTJORjlzYnloaGFDd2dZV3dzSUc1MWJTa2dlMXh1SUNCMllYSWdjaUE5SUNoaGFDQThQQ0FvTXpJZ0xTQnVkVzBwS1NCOElDaGhiQ0ErUGo0Z2JuVnRLVHRjYmlBZ2NtVjBkWEp1SUhJZ1BqNCtJREE3WEc1OVhHNWxlSEJ2Y25SekxuTm9jalkwWDJ4dklEMGdjMmh5TmpSZmJHODdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2hhc2guanMvbGliL2hhc2gvdXRpbHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2htYWMtZHJiZy9saWIvaG1hYy1kcmJnLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2htYWMtZHJiZy9saWIvaG1hYy1kcmJnLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbnZhciBoYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC5qcy9saWIvaGFzaC5qc1xcXCIpO1xcbnZhciB1dGlscyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMvbGliL3V0aWxzLmpzXFxcIik7XFxudmFyIGFzc2VydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIG1pbmltYWxpc3RpYy1hc3NlcnQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcXFwiKTtcXG5cXG5mdW5jdGlvbiBIbWFjRFJCRyhvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgSG1hY0RSQkcpKVxcbiAgICByZXR1cm4gbmV3IEhtYWNEUkJHKG9wdGlvbnMpO1xcbiAgdGhpcy5oYXNoID0gb3B0aW9ucy5oYXNoO1xcbiAgdGhpcy5wcmVkUmVzaXN0ID0gISFvcHRpb25zLnByZWRSZXNpc3Q7XFxuXFxuICB0aGlzLm91dExlbiA9IHRoaXMuaGFzaC5vdXRTaXplO1xcbiAgdGhpcy5taW5FbnRyb3B5ID0gb3B0aW9ucy5taW5FbnRyb3B5IHx8IHRoaXMuaGFzaC5obWFjU3RyZW5ndGg7XFxuXFxuICB0aGlzLl9yZXNlZWQgPSBudWxsO1xcbiAgdGhpcy5yZXNlZWRJbnRlcnZhbCA9IG51bGw7XFxuICB0aGlzLksgPSBudWxsO1xcbiAgdGhpcy5WID0gbnVsbDtcXG5cXG4gIHZhciBlbnRyb3B5ID0gdXRpbHMudG9BcnJheShvcHRpb25zLmVudHJvcHksIG9wdGlvbnMuZW50cm9weUVuYyB8fCAnaGV4Jyk7XFxuICB2YXIgbm9uY2UgPSB1dGlscy50b0FycmF5KG9wdGlvbnMubm9uY2UsIG9wdGlvbnMubm9uY2VFbmMgfHwgJ2hleCcpO1xcbiAgdmFyIHBlcnMgPSB1dGlscy50b0FycmF5KG9wdGlvbnMucGVycywgb3B0aW9ucy5wZXJzRW5jIHx8ICdoZXgnKTtcXG4gIGFzc2VydChlbnRyb3B5Lmxlbmd0aCA+PSAodGhpcy5taW5FbnRyb3B5IC8gOCksXFxuICAgICAgICAgJ05vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogJyArIHRoaXMubWluRW50cm9weSArICcgYml0cycpO1xcbiAgdGhpcy5faW5pdChlbnRyb3B5LCBub25jZSwgcGVycyk7XFxufVxcbm1vZHVsZS5leHBvcnRzID0gSG1hY0RSQkc7XFxuXFxuSG1hY0RSQkcucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdChlbnRyb3B5LCBub25jZSwgcGVycykge1xcbiAgdmFyIHNlZWQgPSBlbnRyb3B5LmNvbmNhdChub25jZSkuY29uY2F0KHBlcnMpO1xcblxcbiAgdGhpcy5LID0gbmV3IEFycmF5KHRoaXMub3V0TGVuIC8gOCk7XFxuICB0aGlzLlYgPSBuZXcgQXJyYXkodGhpcy5vdXRMZW4gLyA4KTtcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5WLmxlbmd0aDsgaSsrKSB7XFxuICAgIHRoaXMuS1tpXSA9IDB4MDA7XFxuICAgIHRoaXMuVltpXSA9IDB4MDE7XFxuICB9XFxuXFxuICB0aGlzLl91cGRhdGUoc2VlZCk7XFxuICB0aGlzLl9yZXNlZWQgPSAxO1xcbiAgdGhpcy5yZXNlZWRJbnRlcnZhbCA9IDB4MTAwMDAwMDAwMDAwMDsgIC8vIDJeNDhcXG59O1xcblxcbkhtYWNEUkJHLnByb3RvdHlwZS5faG1hYyA9IGZ1bmN0aW9uIGhtYWMoKSB7XFxuICByZXR1cm4gbmV3IGhhc2guaG1hYyh0aGlzLmhhc2gsIHRoaXMuSyk7XFxufTtcXG5cXG5IbWFjRFJCRy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShzZWVkKSB7XFxuICB2YXIga21hYyA9IHRoaXMuX2htYWMoKVxcbiAgICAgICAgICAgICAgICAgLnVwZGF0ZSh0aGlzLlYpXFxuICAgICAgICAgICAgICAgICAudXBkYXRlKFsgMHgwMCBdKTtcXG4gIGlmIChzZWVkKVxcbiAgICBrbWFjID0ga21hYy51cGRhdGUoc2VlZCk7XFxuICB0aGlzLksgPSBrbWFjLmRpZ2VzdCgpO1xcbiAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xcbiAgaWYgKCFzZWVkKVxcbiAgICByZXR1cm47XFxuXFxuICB0aGlzLksgPSB0aGlzLl9obWFjKClcXG4gICAgICAgICAgICAgICAudXBkYXRlKHRoaXMuVilcXG4gICAgICAgICAgICAgICAudXBkYXRlKFsgMHgwMSBdKVxcbiAgICAgICAgICAgICAgIC51cGRhdGUoc2VlZClcXG4gICAgICAgICAgICAgICAuZGlnZXN0KCk7XFxuICB0aGlzLlYgPSB0aGlzLl9obWFjKCkudXBkYXRlKHRoaXMuVikuZGlnZXN0KCk7XFxufTtcXG5cXG5IbWFjRFJCRy5wcm90b3R5cGUucmVzZWVkID0gZnVuY3Rpb24gcmVzZWVkKGVudHJvcHksIGVudHJvcHlFbmMsIGFkZCwgYWRkRW5jKSB7XFxuICAvLyBPcHRpb25hbCBlbnRyb3B5IGVuY1xcbiAgaWYgKHR5cGVvZiBlbnRyb3B5RW5jICE9PSAnc3RyaW5nJykge1xcbiAgICBhZGRFbmMgPSBhZGQ7XFxuICAgIGFkZCA9IGVudHJvcHlFbmM7XFxuICAgIGVudHJvcHlFbmMgPSBudWxsO1xcbiAgfVxcblxcbiAgZW50cm9weSA9IHV0aWxzLnRvQXJyYXkoZW50cm9weSwgZW50cm9weUVuYyk7XFxuICBhZGQgPSB1dGlscy50b0FycmF5KGFkZCwgYWRkRW5jKTtcXG5cXG4gIGFzc2VydChlbnRyb3B5Lmxlbmd0aCA+PSAodGhpcy5taW5FbnRyb3B5IC8gOCksXFxuICAgICAgICAgJ05vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogJyArIHRoaXMubWluRW50cm9weSArICcgYml0cycpO1xcblxcbiAgdGhpcy5fdXBkYXRlKGVudHJvcHkuY29uY2F0KGFkZCB8fCBbXSkpO1xcbiAgdGhpcy5fcmVzZWVkID0gMTtcXG59O1xcblxcbkhtYWNEUkJHLnByb3RvdHlwZS5nZW5lcmF0ZSA9IGZ1bmN0aW9uIGdlbmVyYXRlKGxlbiwgZW5jLCBhZGQsIGFkZEVuYykge1xcbiAgaWYgKHRoaXMuX3Jlc2VlZCA+IHRoaXMucmVzZWVkSW50ZXJ2YWwpXFxuICAgIHRocm93IG5ldyBFcnJvcignUmVzZWVkIGlzIHJlcXVpcmVkJyk7XFxuXFxuICAvLyBPcHRpb25hbCBlbmNvZGluZ1xcbiAgaWYgKHR5cGVvZiBlbmMgIT09ICdzdHJpbmcnKSB7XFxuICAgIGFkZEVuYyA9IGFkZDtcXG4gICAgYWRkID0gZW5jO1xcbiAgICBlbmMgPSBudWxsO1xcbiAgfVxcblxcbiAgLy8gT3B0aW9uYWwgYWRkaXRpb25hbCBkYXRhXFxuICBpZiAoYWRkKSB7XFxuICAgIGFkZCA9IHV0aWxzLnRvQXJyYXkoYWRkLCBhZGRFbmMgfHwgJ2hleCcpO1xcbiAgICB0aGlzLl91cGRhdGUoYWRkKTtcXG4gIH1cXG5cXG4gIHZhciB0ZW1wID0gW107XFxuICB3aGlsZSAodGVtcC5sZW5ndGggPCBsZW4pIHtcXG4gICAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xcbiAgICB0ZW1wID0gdGVtcC5jb25jYXQodGhpcy5WKTtcXG4gIH1cXG5cXG4gIHZhciByZXMgPSB0ZW1wLnNsaWNlKDAsIGxlbik7XFxuICB0aGlzLl91cGRhdGUoYWRkKTtcXG4gIHRoaXMuX3Jlc2VlZCsrO1xcbiAgcmV0dXJuIHV0aWxzLmVuY29kZShyZXMsIGVuYyk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OW9iV0ZqTFdSeVltY3ZiR2xpTDJodFlXTXRaSEppWnk1cWN6ODRNVEV5SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEZkQlFWY3NiVUpCUVU4c1EwRkJReXh0UkVGQlV6dEJRVU0xUWl4WlFVRlpMRzFDUVVGUExFTkJRVU1zZDBaQlFUSkNPMEZCUXk5RExHRkJRV0VzYlVKQlFVOHNRMEZCUXl4M1JVRkJjVUk3TzBGQlJURkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXh0UWtGQmJVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4M1EwRkJkME03UVVGRGVFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTlvYldGakxXUnlZbWN2YkdsaUwyaHRZV010WkhKaVp5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR2hoYzJnZ1BTQnlaWEYxYVhKbEtDZG9ZWE5vTG1wekp5azdYRzUyWVhJZ2RYUnBiSE1nUFNCeVpYRjFhWEpsS0NkdGFXNXBiV0ZzYVhOMGFXTXRZM0o1Y0hSdkxYVjBhV3h6SnlrN1hHNTJZWElnWVhOelpYSjBJRDBnY21WeGRXbHlaU2duYldsdWFXMWhiR2x6ZEdsakxXRnpjMlZ5ZENjcE8xeHVYRzVtZFc1amRHbHZiaUJJYldGalJGSkNSeWh2Y0hScGIyNXpLU0I3WEc0Z0lHbG1JQ2doS0hSb2FYTWdhVzV6ZEdGdVkyVnZaaUJJYldGalJGSkNSeWtwWEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJJYldGalJGSkNSeWh2Y0hScGIyNXpLVHRjYmlBZ2RHaHBjeTVvWVhOb0lEMGdiM0IwYVc5dWN5NW9ZWE5vTzF4dUlDQjBhR2x6TG5CeVpXUlNaWE5wYzNRZ1BTQWhJVzl3ZEdsdmJuTXVjSEpsWkZKbGMybHpkRHRjYmx4dUlDQjBhR2x6TG05MWRFeGxiaUE5SUhSb2FYTXVhR0Z6YUM1dmRYUlRhWHBsTzF4dUlDQjBhR2x6TG0xcGJrVnVkSEp2Y0hrZ1BTQnZjSFJwYjI1ekxtMXBia1Z1ZEhKdmNIa2dmSHdnZEdocGN5NW9ZWE5vTG1odFlXTlRkSEpsYm1kMGFEdGNibHh1SUNCMGFHbHpMbDl5WlhObFpXUWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxuSmxjMlZsWkVsdWRHVnlkbUZzSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVMSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVXSUQwZ2JuVnNiRHRjYmx4dUlDQjJZWElnWlc1MGNtOXdlU0E5SUhWMGFXeHpMblJ2UVhKeVlYa29iM0IwYVc5dWN5NWxiblJ5YjNCNUxDQnZjSFJwYjI1ekxtVnVkSEp2Y0hsRmJtTWdmSHdnSjJobGVDY3BPMXh1SUNCMllYSWdibTl1WTJVZ1BTQjFkR2xzY3k1MGIwRnljbUY1S0c5d2RHbHZibk11Ym05dVkyVXNJRzl3ZEdsdmJuTXVibTl1WTJWRmJtTWdmSHdnSjJobGVDY3BPMXh1SUNCMllYSWdjR1Z5Y3lBOUlIVjBhV3h6TG5SdlFYSnlZWGtvYjNCMGFXOXVjeTV3WlhKekxDQnZjSFJwYjI1ekxuQmxjbk5GYm1NZ2ZId2dKMmhsZUNjcE8xeHVJQ0JoYzNObGNuUW9aVzUwY205d2VTNXNaVzVuZEdnZ1BqMGdLSFJvYVhNdWJXbHVSVzUwY205d2VTQXZJRGdwTEZ4dUlDQWdJQ0FnSUNBZ0owNXZkQ0JsYm05MVoyZ2daVzUwY205d2VTNGdUV2x1YVcxMWJTQnBjem9nSnlBcklIUm9hWE11YldsdVJXNTBjbTl3ZVNBcklDY2dZbWwwY3ljcE8xeHVJQ0IwYUdsekxsOXBibWwwS0dWdWRISnZjSGtzSUc1dmJtTmxMQ0J3WlhKektUdGNibjFjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnU0cxaFkwUlNRa2M3WEc1Y2JraHRZV05FVWtKSExuQnliM1J2ZEhsd1pTNWZhVzVwZENBOUlHWjFibU4wYVc5dUlHbHVhWFFvWlc1MGNtOXdlU3dnYm05dVkyVXNJSEJsY25NcElIdGNiaUFnZG1GeUlITmxaV1FnUFNCbGJuUnliM0I1TG1OdmJtTmhkQ2h1YjI1alpTa3VZMjl1WTJGMEtIQmxjbk1wTzF4dVhHNGdJSFJvYVhNdVN5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxtOTFkRXhsYmlBdklEZ3BPMXh1SUNCMGFHbHpMbFlnUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTV2ZFhSTVpXNGdMeUE0S1R0Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0IwYUdsekxsWXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0IwYUdsekxrdGJhVjBnUFNBd2VEQXdPMXh1SUNBZ0lIUm9hWE11Vmx0cFhTQTlJREI0TURFN1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5MWNHUmhkR1VvYzJWbFpDazdYRzRnSUhSb2FYTXVYM0psYzJWbFpDQTlJREU3WEc0Z0lIUm9hWE11Y21WelpXVmtTVzUwWlhKMllXd2dQU0F3ZURFd01EQXdNREF3TURBd01EQTdJQ0F2THlBeVhqUTRYRzU5TzF4dVhHNUliV0ZqUkZKQ1J5NXdjbTkwYjNSNWNHVXVYMmh0WVdNZ1BTQm1kVzVqZEdsdmJpQm9iV0ZqS0NrZ2UxeHVJQ0J5WlhSMWNtNGdibVYzSUdoaGMyZ3VhRzFoWXloMGFHbHpMbWhoYzJnc0lIUm9hWE11U3lrN1hHNTlPMXh1WEc1SWJXRmpSRkpDUnk1d2NtOTBiM1I1Y0dVdVgzVndaR0YwWlNBOUlHWjFibU4wYVc5dUlIVndaR0YwWlNoelpXVmtLU0I3WEc0Z0lIWmhjaUJyYldGaklEMGdkR2hwY3k1ZmFHMWhZeWdwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM1MWNHUmhkR1VvZEdocGN5NVdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1ZFhCa1lYUmxLRnNnTUhnd01DQmRLVHRjYmlBZ2FXWWdLSE5sWldRcFhHNGdJQ0FnYTIxaFl5QTlJR3R0WVdNdWRYQmtZWFJsS0hObFpXUXBPMXh1SUNCMGFHbHpMa3NnUFNCcmJXRmpMbVJwWjJWemRDZ3BPMXh1SUNCMGFHbHpMbFlnUFNCMGFHbHpMbDlvYldGaktDa3VkWEJrWVhSbEtIUm9hWE11VmlrdVpHbG5aWE4wS0NrN1hHNGdJR2xtSUNnaGMyVmxaQ2xjYmlBZ0lDQnlaWFIxY200N1hHNWNiaUFnZEdocGN5NUxJRDBnZEdocGN5NWZhRzFoWXlncFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdWRYQmtZWFJsS0hSb2FYTXVWaWxjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzUxY0dSaGRHVW9XeUF3ZURBeElGMHBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXVkWEJrWVhSbEtITmxaV1FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0F1WkdsblpYTjBLQ2s3WEc0Z0lIUm9hWE11VmlBOUlIUm9hWE11WDJodFlXTW9LUzUxY0dSaGRHVW9kR2hwY3k1V0tTNWthV2RsYzNRb0tUdGNibjA3WEc1Y2JraHRZV05FVWtKSExuQnliM1J2ZEhsd1pTNXlaWE5sWldRZ1BTQm1kVzVqZEdsdmJpQnlaWE5sWldRb1pXNTBjbTl3ZVN3Z1pXNTBjbTl3ZVVWdVl5d2dZV1JrTENCaFpHUkZibU1wSUh0Y2JpQWdMeThnVDNCMGFXOXVZV3dnWlc1MGNtOXdlU0JsYm1OY2JpQWdhV1lnS0hSNWNHVnZaaUJsYm5SeWIzQjVSVzVqSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lHRmtaRVZ1WXlBOUlHRmtaRHRjYmlBZ0lDQmhaR1FnUFNCbGJuUnliM0I1Ulc1ak8xeHVJQ0FnSUdWdWRISnZjSGxGYm1NZ1BTQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1pXNTBjbTl3ZVNBOUlIVjBhV3h6TG5SdlFYSnlZWGtvWlc1MGNtOXdlU3dnWlc1MGNtOXdlVVZ1WXlrN1hHNGdJR0ZrWkNBOUlIVjBhV3h6TG5SdlFYSnlZWGtvWVdSa0xDQmhaR1JGYm1NcE8xeHVYRzRnSUdGemMyVnlkQ2hsYm5SeWIzQjVMbXhsYm1kMGFDQStQU0FvZEdocGN5NXRhVzVGYm5SeWIzQjVJQzhnT0Nrc1hHNGdJQ0FnSUNBZ0lDQW5UbTkwSUdWdWIzVm5hQ0JsYm5SeWIzQjVMaUJOYVc1cGJYVnRJR2x6T2lBbklDc2dkR2hwY3k1dGFXNUZiblJ5YjNCNUlDc2dKeUJpYVhSekp5azdYRzVjYmlBZ2RHaHBjeTVmZFhCa1lYUmxLR1Z1ZEhKdmNIa3VZMjl1WTJGMEtHRmtaQ0I4ZkNCYlhTa3BPMXh1SUNCMGFHbHpMbDl5WlhObFpXUWdQU0F4TzF4dWZUdGNibHh1U0cxaFkwUlNRa2N1Y0hKdmRHOTBlWEJsTG1kbGJtVnlZWFJsSUQwZ1puVnVZM1JwYjI0Z1oyVnVaWEpoZEdVb2JHVnVMQ0JsYm1Nc0lHRmtaQ3dnWVdSa1JXNWpLU0I3WEc0Z0lHbG1JQ2gwYUdsekxsOXlaWE5sWldRZ1BpQjBhR2x6TG5KbGMyVmxaRWx1ZEdWeWRtRnNLVnh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblVtVnpaV1ZrSUdseklISmxjWFZwY21Wa0p5azdYRzVjYmlBZ0x5OGdUM0IwYVc5dVlXd2daVzVqYjJScGJtZGNiaUFnYVdZZ0tIUjVjR1Z2WmlCbGJtTWdJVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnWVdSa1JXNWpJRDBnWVdSa08xeHVJQ0FnSUdGa1pDQTlJR1Z1WXp0Y2JpQWdJQ0JsYm1NZ1BTQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ0x5OGdUM0IwYVc5dVlXd2dZV1JrYVhScGIyNWhiQ0JrWVhSaFhHNGdJR2xtSUNoaFpHUXBJSHRjYmlBZ0lDQmhaR1FnUFNCMWRHbHNjeTUwYjBGeWNtRjVLR0ZrWkN3Z1lXUmtSVzVqSUh4OElDZG9aWGduS1R0Y2JpQWdJQ0IwYUdsekxsOTFjR1JoZEdVb1lXUmtLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQjBaVzF3SUQwZ1cxMDdYRzRnSUhkb2FXeGxJQ2gwWlcxd0xteGxibWQwYUNBOElHeGxiaWtnZTF4dUlDQWdJSFJvYVhNdVZpQTlJSFJvYVhNdVgyaHRZV01vS1M1MWNHUmhkR1VvZEdocGN5NVdLUzVrYVdkbGMzUW9LVHRjYmlBZ0lDQjBaVzF3SUQwZ2RHVnRjQzVqYjI1allYUW9kR2hwY3k1V0tUdGNiaUFnZlZ4dVhHNGdJSFpoY2lCeVpYTWdQU0IwWlcxd0xuTnNhV05sS0RBc0lHeGxiaWs3WEc0Z0lIUm9hWE11WDNWd1pHRjBaU2hoWkdRcE8xeHVJQ0IwYUdsekxsOXlaWE5sWldRckt6dGNiaUFnY21WMGRYSnVJSFYwYVd4ekxtVnVZMjlrWlNoeVpYTXNJR1Z1WXlrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9obWFjLWRyYmcvbGliL2htYWMtZHJiZy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaWVlZTc1NC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiZXhwb3J0cy5yZWFkID0gZnVuY3Rpb24gKGJ1ZmZlciwgb2Zmc2V0LCBpc0xFLCBtTGVuLCBuQnl0ZXMpIHtcXG4gIHZhciBlLCBtXFxuICB2YXIgZUxlbiA9IChuQnl0ZXMgKiA4KSAtIG1MZW4gLSAxXFxuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMVxcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxXFxuICB2YXIgbkJpdHMgPSAtN1xcbiAgdmFyIGkgPSBpc0xFID8gKG5CeXRlcyAtIDEpIDogMFxcbiAgdmFyIGQgPSBpc0xFID8gLTEgOiAxXFxuICB2YXIgcyA9IGJ1ZmZlcltvZmZzZXQgKyBpXVxcblxcbiAgaSArPSBkXFxuXFxuICBlID0gcyAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxcbiAgcyA+Pj0gKC1uQml0cylcXG4gIG5CaXRzICs9IGVMZW5cXG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSAoZSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cXG5cXG4gIG0gPSBlICYgKCgxIDw8ICgtbkJpdHMpKSAtIDEpXFxuICBlID4+PSAoLW5CaXRzKVxcbiAgbkJpdHMgKz0gbUxlblxcbiAgZm9yICg7IG5CaXRzID4gMDsgbSA9IChtICogMjU2KSArIGJ1ZmZlcltvZmZzZXQgKyBpXSwgaSArPSBkLCBuQml0cyAtPSA4KSB7fVxcblxcbiAgaWYgKGUgPT09IDApIHtcXG4gICAgZSA9IDEgLSBlQmlhc1xcbiAgfSBlbHNlIGlmIChlID09PSBlTWF4KSB7XFxuICAgIHJldHVybiBtID8gTmFOIDogKChzID8gLTEgOiAxKSAqIEluZmluaXR5KVxcbiAgfSBlbHNlIHtcXG4gICAgbSA9IG0gKyBNYXRoLnBvdygyLCBtTGVuKVxcbiAgICBlID0gZSAtIGVCaWFzXFxuICB9XFxuICByZXR1cm4gKHMgPyAtMSA6IDEpICogbSAqIE1hdGgucG93KDIsIGUgLSBtTGVuKVxcbn1cXG5cXG5leHBvcnRzLndyaXRlID0gZnVuY3Rpb24gKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XFxuICB2YXIgZSwgbSwgY1xcbiAgdmFyIGVMZW4gPSAobkJ5dGVzICogOCkgLSBtTGVuIC0gMVxcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDFcXG4gIHZhciBlQmlhcyA9IGVNYXggPj4gMVxcbiAgdmFyIHJ0ID0gKG1MZW4gPT09IDIzID8gTWF0aC5wb3coMiwgLTI0KSAtIE1hdGgucG93KDIsIC03NykgOiAwKVxcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKVxcbiAgdmFyIGQgPSBpc0xFID8gMSA6IC0xXFxuICB2YXIgcyA9IHZhbHVlIDwgMCB8fCAodmFsdWUgPT09IDAgJiYgMSAvIHZhbHVlIDwgMCkgPyAxIDogMFxcblxcbiAgdmFsdWUgPSBNYXRoLmFicyh2YWx1ZSlcXG5cXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5KSB7XFxuICAgIG0gPSBpc05hTih2YWx1ZSkgPyAxIDogMFxcbiAgICBlID0gZU1heFxcbiAgfSBlbHNlIHtcXG4gICAgZSA9IE1hdGguZmxvb3IoTWF0aC5sb2codmFsdWUpIC8gTWF0aC5MTjIpXFxuICAgIGlmICh2YWx1ZSAqIChjID0gTWF0aC5wb3coMiwgLWUpKSA8IDEpIHtcXG4gICAgICBlLS1cXG4gICAgICBjICo9IDJcXG4gICAgfVxcbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcXG4gICAgICB2YWx1ZSArPSBydCAvIGNcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YWx1ZSArPSBydCAqIE1hdGgucG93KDIsIDEgLSBlQmlhcylcXG4gICAgfVxcbiAgICBpZiAodmFsdWUgKiBjID49IDIpIHtcXG4gICAgICBlKytcXG4gICAgICBjIC89IDJcXG4gICAgfVxcblxcbiAgICBpZiAoZSArIGVCaWFzID49IGVNYXgpIHtcXG4gICAgICBtID0gMFxcbiAgICAgIGUgPSBlTWF4XFxuICAgIH0gZWxzZSBpZiAoZSArIGVCaWFzID49IDEpIHtcXG4gICAgICBtID0gKCh2YWx1ZSAqIGMpIC0gMSkgKiBNYXRoLnBvdygyLCBtTGVuKVxcbiAgICAgIGUgPSBlICsgZUJpYXNcXG4gICAgfSBlbHNlIHtcXG4gICAgICBtID0gdmFsdWUgKiBNYXRoLnBvdygyLCBlQmlhcyAtIDEpICogTWF0aC5wb3coMiwgbUxlbilcXG4gICAgICBlID0gMFxcbiAgICB9XFxuICB9XFxuXFxuICBmb3IgKDsgbUxlbiA+PSA4OyBidWZmZXJbb2Zmc2V0ICsgaV0gPSBtICYgMHhmZiwgaSArPSBkLCBtIC89IDI1NiwgbUxlbiAtPSA4KSB7fVxcblxcbiAgZSA9IChlIDw8IG1MZW4pIHwgbVxcbiAgZUxlbiArPSBtTGVuXFxuICBmb3IgKDsgZUxlbiA+IDA7IGJ1ZmZlcltvZmZzZXQgKyBpXSA9IGUgJiAweGZmLCBpICs9IGQsIGUgLz0gMjU2LCBlTGVuIC09IDgpIHt9XFxuXFxuICBidWZmZXJbb2Zmc2V0ICsgaSAtIGRdIHw9IHMgKiAxMjhcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlwWldWbE56VTBMMmx1WkdWNExtcHpQMlkyWkRVaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZGQlFWRXNWMEZCVnpzN1FVRkZia0k3UVVGRFFUdEJRVU5CTzBGQlEwRXNVVUZCVVN4WFFVRlhPenRCUVVWdVFqdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNVVUZCVVN4WFFVRlhPenRCUVVWdVFqdEJRVU5CTzBGQlEwRXNVVUZCVVN4VlFVRlZPenRCUVVWc1FqdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmxsWldVM05UUXZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKbGVIQnZjblJ6TG5KbFlXUWdQU0JtZFc1amRHbHZiaUFvWW5WbVptVnlMQ0J2Wm1aelpYUXNJR2x6VEVVc0lHMU1aVzRzSUc1Q2VYUmxjeWtnZTF4dUlDQjJZWElnWlN3Z2JWeHVJQ0IyWVhJZ1pVeGxiaUE5SUNodVFubDBaWE1nS2lBNEtTQXRJRzFNWlc0Z0xTQXhYRzRnSUhaaGNpQmxUV0Y0SUQwZ0tERWdQRHdnWlV4bGJpa2dMU0F4WEc0Z0lIWmhjaUJsUW1saGN5QTlJR1ZOWVhnZ1BqNGdNVnh1SUNCMllYSWdia0pwZEhNZ1BTQXROMXh1SUNCMllYSWdhU0E5SUdselRFVWdQeUFvYmtKNWRHVnpJQzBnTVNrZ09pQXdYRzRnSUhaaGNpQmtJRDBnYVhOTVJTQS9JQzB4SURvZ01WeHVJQ0IyWVhJZ2N5QTlJR0oxWm1abGNsdHZabVp6WlhRZ0t5QnBYVnh1WEc0Z0lHa2dLejBnWkZ4dVhHNGdJR1VnUFNCeklDWWdLQ2d4SUR3OElDZ3Ria0pwZEhNcEtTQXRJREVwWEc0Z0lITWdQajQ5SUNndGJrSnBkSE1wWEc0Z0lHNUNhWFJ6SUNzOUlHVk1aVzVjYmlBZ1ptOXlJQ2c3SUc1Q2FYUnpJRDRnTURzZ1pTQTlJQ2hsSUNvZ01qVTJLU0FySUdKMVptWmxjbHR2Wm1aelpYUWdLeUJwWFN3Z2FTQXJQU0JrTENCdVFtbDBjeUF0UFNBNEtTQjdmVnh1WEc0Z0lHMGdQU0JsSUNZZ0tDZ3hJRHc4SUNndGJrSnBkSE1wS1NBdElERXBYRzRnSUdVZ1BqNDlJQ2d0YmtKcGRITXBYRzRnSUc1Q2FYUnpJQ3M5SUcxTVpXNWNiaUFnWm05eUlDZzdJRzVDYVhSeklENGdNRHNnYlNBOUlDaHRJQ29nTWpVMktTQXJJR0oxWm1abGNsdHZabVp6WlhRZ0t5QnBYU3dnYVNBclBTQmtMQ0J1UW1sMGN5QXRQU0E0S1NCN2ZWeHVYRzRnSUdsbUlDaGxJRDA5UFNBd0tTQjdYRzRnSUNBZ1pTQTlJREVnTFNCbFFtbGhjMXh1SUNCOUlHVnNjMlVnYVdZZ0tHVWdQVDA5SUdWTllYZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2JTQS9JRTVoVGlBNklDZ29jeUEvSUMweElEb2dNU2tnS2lCSmJtWnBibWwwZVNsY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCdElEMGdiU0FySUUxaGRHZ3VjRzkzS0RJc0lHMU1aVzRwWEc0Z0lDQWdaU0E5SUdVZ0xTQmxRbWxoYzF4dUlDQjlYRzRnSUhKbGRIVnliaUFvY3lBL0lDMHhJRG9nTVNrZ0tpQnRJQ29nVFdGMGFDNXdiM2NvTWl3Z1pTQXRJRzFNWlc0cFhHNTlYRzVjYm1WNGNHOXlkSE11ZDNKcGRHVWdQU0JtZFc1amRHbHZiaUFvWW5WbVptVnlMQ0IyWVd4MVpTd2diMlptYzJWMExDQnBjMHhGTENCdFRHVnVMQ0J1UW5sMFpYTXBJSHRjYmlBZ2RtRnlJR1VzSUcwc0lHTmNiaUFnZG1GeUlHVk1aVzRnUFNBb2JrSjVkR1Z6SUNvZ09Da2dMU0J0VEdWdUlDMGdNVnh1SUNCMllYSWdaVTFoZUNBOUlDZ3hJRHc4SUdWTVpXNHBJQzBnTVZ4dUlDQjJZWElnWlVKcFlYTWdQU0JsVFdGNElENCtJREZjYmlBZ2RtRnlJSEowSUQwZ0tHMU1aVzRnUFQwOUlESXpJRDhnVFdGMGFDNXdiM2NvTWl3Z0xUSTBLU0F0SUUxaGRHZ3VjRzkzS0RJc0lDMDNOeWtnT2lBd0tWeHVJQ0IyWVhJZ2FTQTlJR2x6VEVVZ1B5QXdJRG9nS0c1Q2VYUmxjeUF0SURFcFhHNGdJSFpoY2lCa0lEMGdhWE5NUlNBL0lERWdPaUF0TVZ4dUlDQjJZWElnY3lBOUlIWmhiSFZsSUR3Z01DQjhmQ0FvZG1Gc2RXVWdQVDA5SURBZ0ppWWdNU0F2SUhaaGJIVmxJRHdnTUNrZ1B5QXhJRG9nTUZ4dVhHNGdJSFpoYkhWbElEMGdUV0YwYUM1aFluTW9kbUZzZFdVcFhHNWNiaUFnYVdZZ0tHbHpUbUZPS0haaGJIVmxLU0I4ZkNCMllXeDFaU0E5UFQwZ1NXNW1hVzVwZEhrcElIdGNiaUFnSUNCdElEMGdhWE5PWVU0b2RtRnNkV1VwSUQ4Z01TQTZJREJjYmlBZ0lDQmxJRDBnWlUxaGVGeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHVWdQU0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3ViRzluS0haaGJIVmxLU0F2SUUxaGRHZ3VURTR5S1Z4dUlDQWdJR2xtSUNoMllXeDFaU0FxSUNoaklEMGdUV0YwYUM1d2IzY29NaXdnTFdVcEtTQThJREVwSUh0Y2JpQWdJQ0FnSUdVdExWeHVJQ0FnSUNBZ1l5QXFQU0F5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hsSUNzZ1pVSnBZWE1nUGowZ01Ta2dlMXh1SUNBZ0lDQWdkbUZzZFdVZ0t6MGdjblFnTHlCalhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSFpoYkhWbElDczlJSEowSUNvZ1RXRjBhQzV3YjNjb01pd2dNU0F0SUdWQ2FXRnpLVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9kbUZzZFdVZ0tpQmpJRDQ5SURJcElIdGNiaUFnSUNBZ0lHVXJLMXh1SUNBZ0lDQWdZeUF2UFNBeVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHVWdLeUJsUW1saGN5QStQU0JsVFdGNEtTQjdYRzRnSUNBZ0lDQnRJRDBnTUZ4dUlDQWdJQ0FnWlNBOUlHVk5ZWGhjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1VnS3lCbFFtbGhjeUErUFNBeEtTQjdYRzRnSUNBZ0lDQnRJRDBnS0NoMllXeDFaU0FxSUdNcElDMGdNU2tnS2lCTllYUm9MbkJ2ZHlneUxDQnRUR1Z1S1Z4dUlDQWdJQ0FnWlNBOUlHVWdLeUJsUW1saGMxeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J0SUQwZ2RtRnNkV1VnS2lCTllYUm9MbkJ2ZHlneUxDQmxRbWxoY3lBdElERXBJQ29nVFdGMGFDNXdiM2NvTWl3Z2JVeGxiaWxjYmlBZ0lDQWdJR1VnUFNBd1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1ptOXlJQ2c3SUcxTVpXNGdQajBnT0RzZ1luVm1abVZ5VzI5bVpuTmxkQ0FySUdsZElEMGdiU0FtSURCNFptWXNJR2tnS3owZ1pDd2diU0F2UFNBeU5UWXNJRzFNWlc0Z0xUMGdPQ2tnZTMxY2JseHVJQ0JsSUQwZ0tHVWdQRHdnYlV4bGJpa2dmQ0J0WEc0Z0lHVk1aVzRnS3owZ2JVeGxibHh1SUNCbWIzSWdLRHNnWlV4bGJpQStJREE3SUdKMVptWmxjbHR2Wm1aelpYUWdLeUJwWFNBOUlHVWdKaUF3ZUdabUxDQnBJQ3M5SUdRc0lHVWdMejBnTWpVMkxDQmxUR1Z1SUMwOUlEZ3BJSHQ5WEc1Y2JpQWdZblZtWm1WeVcyOW1abk5sZENBcklHa2dMU0JrWFNCOFBTQnpJQ29nTVRJNFhHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcImlmICh0eXBlb2YgT2JqZWN0LmNyZWF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgLy8gaW1wbGVtZW50YXRpb24gZnJvbSBzdGFuZGFyZCBub2RlLmpzICd1dGlsJyBtb2R1bGVcXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XFxuICAgIGlmIChzdXBlckN0b3IpIHtcXG4gICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvclxcbiAgICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7XFxuICAgICAgICBjb25zdHJ1Y3Rvcjoge1xcbiAgICAgICAgICB2YWx1ZTogY3RvcixcXG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcXG4gICAgICAgIH1cXG4gICAgICB9KVxcbiAgICB9XFxuICB9O1xcbn0gZWxzZSB7XFxuICAvLyBvbGQgc2Nob29sIHNoaW0gZm9yIG9sZCBicm93c2Vyc1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpbmhlcml0cyhjdG9yLCBzdXBlckN0b3IpIHtcXG4gICAgaWYgKHN1cGVyQ3Rvcikge1xcbiAgICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yXFxuICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge31cXG4gICAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlXFxuICAgICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKVxcbiAgICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvclxcbiAgICB9XFxuICB9XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5cGJtaGxjbWwwY3k5cGJtaGxjbWwwYzE5aWNtOTNjMlZ5TG1welB6a3lOVElpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXBibWhsY21sMGN5OXBibWhsY21sMGMxOWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXWWdLSFI1Y0dWdlppQlBZbXBsWTNRdVkzSmxZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDOHZJR2x0Y0d4bGJXVnVkR0YwYVc5dUlHWnliMjBnYzNSaGJtUmhjbVFnYm05a1pTNXFjeUFuZFhScGJDY2diVzlrZFd4bFhHNGdJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdhVzVvWlhKcGRITW9ZM1J2Y2l3Z2MzVndaWEpEZEc5eUtTQjdYRzRnSUNBZ2FXWWdLSE4xY0dWeVEzUnZjaWtnZTF4dUlDQWdJQ0FnWTNSdmNpNXpkWEJsY2w4Z1BTQnpkWEJsY2tOMGIzSmNiaUFnSUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ1QySnFaV04wTG1OeVpXRjBaU2h6ZFhCbGNrTjBiM0l1Y0hKdmRHOTBlWEJsTENCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wY25WamRHOXlPaUI3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUdOMGIzSXNYRzRnSUNBZ0lDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0FnSUNBZ2QzSnBkR0ZpYkdVNklIUnlkV1VzWEc0Z0lDQWdJQ0FnSUNBZ1kyOXVabWxuZFhKaFlteGxPaUIwY25WbFhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBYRzRnSUNBZ2ZWeHVJQ0I5TzF4dWZTQmxiSE5sSUh0Y2JpQWdMeThnYjJ4a0lITmphRzl2YkNCemFHbHRJR1p2Y2lCdmJHUWdZbkp2ZDNObGNuTmNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JtZFc1amRHbHZiaUJwYm1obGNtbDBjeWhqZEc5eUxDQnpkWEJsY2tOMGIzSXBJSHRjYmlBZ0lDQnBaaUFvYzNWd1pYSkRkRzl5S1NCN1hHNGdJQ0FnSUNCamRHOXlMbk4xY0dWeVh5QTlJSE4xY0dWeVEzUnZjbHh1SUNBZ0lDQWdkbUZ5SUZSbGJYQkRkRzl5SUQwZ1puVnVZM1JwYjI0Z0tDa2dlMzFjYmlBZ0lDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dWY2JpQWdJQ0FnSUdOMGIzSXVjSEp2ZEc5MGVYQmxJRDBnYm1WM0lGUmxiWEJEZEc5eUtDbGNiaUFnSUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsTG1OdmJuTjBjblZqZEc5eUlEMGdZM1J2Y2x4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9pcy1hcnJheWlzaC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9pcy1hcnJheWlzaC9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpc0FycmF5aXNoKG9iaikge1xcblxcdGlmICghb2JqIHx8IHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XFxuXFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdH1cXG5cXG5cXHRyZXR1cm4gb2JqIGluc3RhbmNlb2YgQXJyYXkgfHwgQXJyYXkuaXNBcnJheShvYmopIHx8XFxuXFx0XFx0KG9iai5sZW5ndGggPj0gMCAmJiAob2JqLnNwbGljZSBpbnN0YW5jZW9mIEZ1bmN0aW9uIHx8XFxuXFx0XFx0XFx0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAob2JqLmxlbmd0aCAtIDEpKSAmJiBvYmouY29uc3RydWN0b3IubmFtZSAhPT0gJ1N0cmluZycpKSk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXBjeTFoY25KaGVXbHphQzlwYm1SbGVDNXFjejloT1RjMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwybHpMV0Z5Y21GNWFYTm9MMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCcGMwRnljbUY1YVhOb0tHOWlhaWtnZTF4dVhIUnBaaUFvSVc5aWFpQjhmQ0IwZVhCbGIyWWdiMkpxSUQwOVBTQW5jM1J5YVc1bkp5a2dlMXh1WEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MGZWeHVYRzVjZEhKbGRIVnliaUJ2WW1vZ2FXNXpkR0Z1WTJWdlppQkJjbkpoZVNCOGZDQkJjbkpoZVM1cGMwRnljbUY1S0c5aWFpa2dmSHhjYmx4MFhIUW9iMkpxTG14bGJtZDBhQ0ErUFNBd0lDWW1JQ2h2WW1vdWMzQnNhV05sSUdsdWMzUmhibU5sYjJZZ1JuVnVZM1JwYjI0Z2ZIeGNibHgwWEhSY2RDaFBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxFWlhOamNtbHdkRzl5S0c5aWFpd2dLRzlpYWk1c1pXNW5kR2dnTFNBeEtTa2dKaVlnYjJKcUxtTnZibk4wY25WamRHOXlMbTVoYldVZ0lUMDlJQ2RUZEhKcGJtY25LU2twTzF4dWZUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2lzLWFycmF5aXNoL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9pcy1idWZmZXIvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2lzLWJ1ZmZlci9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIVxcbiAqIERldGVybWluZSBpZiBhbiBvYmplY3QgaXMgYSBCdWZmZXJcXG4gKlxcbiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwczovL2Zlcm9zcy5vcmc+XFxuICogQGxpY2Vuc2UgIE1JVFxcbiAqL1xcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNCdWZmZXIgKG9iaikge1xcbiAgcmV0dXJuIG9iaiAhPSBudWxsICYmIG9iai5jb25zdHJ1Y3RvciAhPSBudWxsICYmXFxuICAgIHR5cGVvZiBvYmouY29uc3RydWN0b3IuaXNCdWZmZXIgPT09ICdmdW5jdGlvbicgJiYgb2JqLmNvbnN0cnVjdG9yLmlzQnVmZmVyKG9iailcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTlwY3kxaWRXWm1aWEl2YVc1a1pYZ3Vhbk0vTkRKaVl5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZhWE10WW5WbVptVnlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b2hYRzRnS2lCRVpYUmxjbTFwYm1VZ2FXWWdZVzRnYjJKcVpXTjBJR2x6SUdFZ1FuVm1abVZ5WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUFnSUVabGNtOXpjeUJCWW05MWEyaGhaR2xxWldnZ1BHaDBkSEJ6T2k4dlptVnliM056TG05eVp6NWNiaUFxSUVCc2FXTmxibk5sSUNCTlNWUmNiaUFxTDF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlHWjFibU4wYVc5dUlHbHpRblZtWm1WeUlDaHZZbW9wSUh0Y2JpQWdjbVYwZFhKdUlHOWlhaUFoUFNCdWRXeHNJQ1ltSUc5aWFpNWpiMjV6ZEhKMVkzUnZjaUFoUFNCdWRXeHNJQ1ltWEc0Z0lDQWdkSGx3Wlc5bUlHOWlhaTVqYjI1emRISjFZM1J2Y2k1cGMwSjFabVpsY2lBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCdlltb3VZMjl1YzNSeWRXTjBiM0l1YVhOQ2RXWm1aWElvYjJKcUtWeHVmVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pcy1idWZmZXIvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL2lzLXVybC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvaXMtdXJsL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiXFxuLyoqXFxuICogRXhwb3NlIGBpc1VybGAuXFxuICovXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBpc1VybDtcXG5cXG4vKipcXG4gKiBSZWdFeHBzLlxcbiAqIEEgVVJMIG11c3QgbWF0Y2ggIzEgYW5kIHRoZW4gYXQgbGVhc3Qgb25lIG9mICMyLyMzLlxcbiAqIFVzZSB0d28gbGV2ZWxzIG9mIFJFcyB0byBhdm9pZCBSRURPUy5cXG4gKi9cXG5cXG52YXIgcHJvdG9jb2xBbmREb21haW5SRSA9IC9eKD86XFxcXHcrOik/XFxcXC9cXFxcLyhcXFxcUyspJC87XFxuXFxudmFyIGxvY2FsaG9zdERvbWFpblJFID0gL15sb2NhbGhvc3RbXFxcXDo/XFxcXGRdKig/OlteXFxcXDo/XFxcXGRdXFxcXFMqKT8kL1xcbnZhciBub25Mb2NhbGhvc3REb21haW5SRSA9IC9eW15cXFxcc1xcXFwuXStcXFxcLlxcXFxTezIsfSQvO1xcblxcbi8qKlxcbiAqIExvb3NlbHkgdmFsaWRhdGUgYSBVUkwgYHN0cmluZ2AuXFxuICpcXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyaW5nXFxuICogQHJldHVybiB7Qm9vbGVhbn1cXG4gKi9cXG5cXG5mdW5jdGlvbiBpc1VybChzdHJpbmcpe1xcbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBtYXRjaCA9IHN0cmluZy5tYXRjaChwcm90b2NvbEFuZERvbWFpblJFKTtcXG4gIGlmICghbWF0Y2gpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIGV2ZXJ5dGhpbmdBZnRlclByb3RvY29sID0gbWF0Y2hbMV07XFxuICBpZiAoIWV2ZXJ5dGhpbmdBZnRlclByb3RvY29sKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmIChsb2NhbGhvc3REb21haW5SRS50ZXN0KGV2ZXJ5dGhpbmdBZnRlclByb3RvY29sKSB8fFxcbiAgICAgIG5vbkxvY2FsaG9zdERvbWFpblJFLnRlc3QoZXZlcnl0aGluZ0FmdGVyUHJvdG9jb2wpKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXBjeTExY213dmFXNWtaWGd1YW5NL1lUZzFPQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3d3UTBGQk1FTXNSMEZCUnpzN1FVRkZOME03UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGbEJRVms3UVVGRFdqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMmx6TFhWeWJDOXBibVJsZUM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWx4dUx5b3FYRzRnS2lCRmVIQnZjMlVnWUdselZYSnNZQzVjYmlBcUwxeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR2x6VlhKc08xeHVYRzR2S2lwY2JpQXFJRkpsWjBWNGNITXVYRzRnS2lCQklGVlNUQ0J0ZFhOMElHMWhkR05vSUNNeElHRnVaQ0IwYUdWdUlHRjBJR3hsWVhOMElHOXVaU0J2WmlBak1pOGpNeTVjYmlBcUlGVnpaU0IwZDI4Z2JHVjJaV3h6SUc5bUlGSkZjeUIwYnlCaGRtOXBaQ0JTUlVSUFV5NWNiaUFxTDF4dVhHNTJZWElnY0hKdmRHOWpiMnhCYm1SRWIyMWhhVzVTUlNBOUlDOWVLRDg2WEZ4M0t6b3BQMXhjTDF4Y0x5aGNYRk1yS1NRdk8xeHVYRzUyWVhJZ2JHOWpZV3hvYjNOMFJHOXRZV2x1VWtVZ1BTQXZYbXh2WTJGc2FHOXpkRnRjWERvL1hGeGtYU29vUHpwYlhseGNPajljWEdSZFhGeFRLaWsvSkM5Y2JuWmhjaUJ1YjI1TWIyTmhiR2h2YzNSRWIyMWhhVzVTUlNBOUlDOWVXMTVjWEhOY1hDNWRLMXhjTGx4Y1Uzc3lMSDBrTHp0Y2JseHVMeW9xWEc0Z0tpQk1iMjl6Wld4NUlIWmhiR2xrWVhSbElHRWdWVkpNSUdCemRISnBibWRnTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3VTNSeWFXNW5mU0J6ZEhKcGJtZGNiaUFxSUVCeVpYUjFjbTRnZTBKdmIyeGxZVzU5WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnYVhOVmNtd29jM1J5YVc1bktYdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCemRISnBibWNnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnZG1GeUlHMWhkR05vSUQwZ2MzUnlhVzVuTG0xaGRHTm9LSEJ5YjNSdlkyOXNRVzVrUkc5dFlXbHVVa1VwTzF4dUlDQnBaaUFvSVcxaGRHTm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR1YyWlhKNWRHaHBibWRCWm5SbGNsQnliM1J2WTI5c0lEMGdiV0YwWTJoYk1WMDdYRzRnSUdsbUlDZ2haWFpsY25sMGFHbHVaMEZtZEdWeVVISnZkRzlqYjJ3cElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0JwWmlBb2JHOWpZV3hvYjNOMFJHOXRZV2x1VWtVdWRHVnpkQ2hsZG1WeWVYUm9hVzVuUVdaMFpYSlFjbTkwYjJOdmJDa2dmSHhjYmlBZ0lDQWdJRzV2Ymt4dlkyRnNhRzl6ZEVSdmJXRnBibEpGTG5SbGMzUW9aWFpsY25sMGFHbHVaMEZtZEdWeVVISnZkRzlqYjJ3cEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL2lzLXVybC9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvaXNhcnJheS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL2lzYXJyYXkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBBcnJheS5pc0FycmF5IHx8IGZ1bmN0aW9uIChhcnIpIHtcXG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGFycikgPT0gJ1tvYmplY3QgQXJyYXldJztcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5cGMyRnljbUY1TDJsdVpHVjRMbXB6UHpSbVkyTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzYVVKQlFXbENPenRCUVVWcVFqdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmFYTmhjbkpoZVM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCMGIxTjBjbWx1WnlBOUlIdDlMblJ2VTNSeWFXNW5PMXh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUVGeWNtRjVMbWx6UVhKeVlYa2dmSHdnWm5WdVkzUnBiMjRnS0dGeWNpa2dlMXh1SUNCeVpYUjFjbTRnZEc5VGRISnBibWN1WTJGc2JDaGhjbklwSUQwOUlDZGJiMkpxWldOMElFRnljbUY1WFNjN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9tZDUuanMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL21kNS5qcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxudmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBIYXNoQmFzZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGhhc2gtYmFzZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaGFzaC1iYXNlL2luZGV4LmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIEFSUkFZMTYgPSBuZXcgQXJyYXkoMTYpXFxuXFxuZnVuY3Rpb24gTUQ1ICgpIHtcXG4gIEhhc2hCYXNlLmNhbGwodGhpcywgNjQpXFxuXFxuICAvLyBzdGF0ZVxcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcXG4gIHRoaXMuX2IgPSAweGVmY2RhYjg5XFxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcXG59XFxuXFxuaW5oZXJpdHMoTUQ1LCBIYXNoQmFzZSlcXG5cXG5NRDUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgTSA9IEFSUkFZMTZcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgTVtpXSA9IHRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKGkgKiA0KVxcblxcbiAgdmFyIGEgPSB0aGlzLl9hXFxuICB2YXIgYiA9IHRoaXMuX2JcXG4gIHZhciBjID0gdGhpcy5fY1xcbiAgdmFyIGQgPSB0aGlzLl9kXFxuXFxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bMF0sIDB4ZDc2YWE0NzgsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMV0sIDB4ZThjN2I3NTYsIDEyKVxcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzJdLCAweDI0MjA3MGRiLCAxNylcXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVszXSwgMHhjMWJkY2VlZSwgMjIpXFxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bNF0sIDB4ZjU3YzBmYWYsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bNV0sIDB4NDc4N2M2MmEsIDEyKVxcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzZdLCAweGE4MzA0NjEzLCAxNylcXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVs3XSwgMHhmZDQ2OTUwMSwgMjIpXFxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bOF0sIDB4Njk4MDk4ZDgsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bOV0sIDB4OGI0NGY3YWYsIDEyKVxcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzEwXSwgMHhmZmZmNWJiMSwgMTcpXFxuICBiID0gZm5GKGIsIGMsIGQsIGEsIE1bMTFdLCAweDg5NWNkN2JlLCAyMilcXG4gIGEgPSBmbkYoYSwgYiwgYywgZCwgTVsxMl0sIDB4NmI5MDExMjIsIDcpXFxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMTNdLCAweGZkOTg3MTkzLCAxMilcXG4gIGMgPSBmbkYoYywgZCwgYSwgYiwgTVsxNF0sIDB4YTY3OTQzOGUsIDE3KVxcbiAgYiA9IGZuRihiLCBjLCBkLCBhLCBNWzE1XSwgMHg0OWI0MDgyMSwgMjIpXFxuXFxuICBhID0gZm5HKGEsIGIsIGMsIGQsIE1bMV0sIDB4ZjYxZTI1NjIsIDUpXFxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bNl0sIDB4YzA0MGIzNDAsIDkpXFxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bMTFdLCAweDI2NWU1YTUxLCAxNClcXG4gIGIgPSBmbkcoYiwgYywgZCwgYSwgTVswXSwgMHhlOWI2YzdhYSwgMjApXFxuICBhID0gZm5HKGEsIGIsIGMsIGQsIE1bNV0sIDB4ZDYyZjEwNWQsIDUpXFxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMTBdLCAweDAyNDQxNDUzLCA5KVxcbiAgYyA9IGZuRyhjLCBkLCBhLCBiLCBNWzE1XSwgMHhkOGExZTY4MSwgMTQpXFxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bNF0sIDB4ZTdkM2ZiYzgsIDIwKVxcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzldLCAweDIxZTFjZGU2LCA1KVxcbiAgZCA9IGZuRyhkLCBhLCBiLCBjLCBNWzE0XSwgMHhjMzM3MDdkNiwgOSlcXG4gIGMgPSBmbkcoYywgZCwgYSwgYiwgTVszXSwgMHhmNGQ1MGQ4NywgMTQpXFxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bOF0sIDB4NDU1YTE0ZWQsIDIwKVxcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzEzXSwgMHhhOWUzZTkwNSwgNSlcXG4gIGQgPSBmbkcoZCwgYSwgYiwgYywgTVsyXSwgMHhmY2VmYTNmOCwgOSlcXG4gIGMgPSBmbkcoYywgZCwgYSwgYiwgTVs3XSwgMHg2NzZmMDJkOSwgMTQpXFxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bMTJdLCAweDhkMmE0YzhhLCAyMClcXG5cXG4gIGEgPSBmbkgoYSwgYiwgYywgZCwgTVs1XSwgMHhmZmZhMzk0MiwgNClcXG4gIGQgPSBmbkgoZCwgYSwgYiwgYywgTVs4XSwgMHg4NzcxZjY4MSwgMTEpXFxuICBjID0gZm5IKGMsIGQsIGEsIGIsIE1bMTFdLCAweDZkOWQ2MTIyLCAxNilcXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVsxNF0sIDB4ZmRlNTM4MGMsIDIzKVxcbiAgYSA9IGZuSChhLCBiLCBjLCBkLCBNWzFdLCAweGE0YmVlYTQ0LCA0KVxcbiAgZCA9IGZuSChkLCBhLCBiLCBjLCBNWzRdLCAweDRiZGVjZmE5LCAxMSlcXG4gIGMgPSBmbkgoYywgZCwgYSwgYiwgTVs3XSwgMHhmNmJiNGI2MCwgMTYpXFxuICBiID0gZm5IKGIsIGMsIGQsIGEsIE1bMTBdLCAweGJlYmZiYzcwLCAyMylcXG4gIGEgPSBmbkgoYSwgYiwgYywgZCwgTVsxM10sIDB4Mjg5YjdlYzYsIDQpXFxuICBkID0gZm5IKGQsIGEsIGIsIGMsIE1bMF0sIDB4ZWFhMTI3ZmEsIDExKVxcbiAgYyA9IGZuSChjLCBkLCBhLCBiLCBNWzNdLCAweGQ0ZWYzMDg1LCAxNilcXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVs2XSwgMHgwNDg4MWQwNSwgMjMpXFxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bOV0sIDB4ZDlkNGQwMzksIDQpXFxuICBkID0gZm5IKGQsIGEsIGIsIGMsIE1bMTJdLCAweGU2ZGI5OWU1LCAxMSlcXG4gIGMgPSBmbkgoYywgZCwgYSwgYiwgTVsxNV0sIDB4MWZhMjdjZjgsIDE2KVxcbiAgYiA9IGZuSChiLCBjLCBkLCBhLCBNWzJdLCAweGM0YWM1NjY1LCAyMylcXG5cXG4gIGEgPSBmbkkoYSwgYiwgYywgZCwgTVswXSwgMHhmNDI5MjI0NCwgNilcXG4gIGQgPSBmbkkoZCwgYSwgYiwgYywgTVs3XSwgMHg0MzJhZmY5NywgMTApXFxuICBjID0gZm5JKGMsIGQsIGEsIGIsIE1bMTRdLCAweGFiOTQyM2E3LCAxNSlcXG4gIGIgPSBmbkkoYiwgYywgZCwgYSwgTVs1XSwgMHhmYzkzYTAzOSwgMjEpXFxuICBhID0gZm5JKGEsIGIsIGMsIGQsIE1bMTJdLCAweDY1NWI1OWMzLCA2KVxcbiAgZCA9IGZuSShkLCBhLCBiLCBjLCBNWzNdLCAweDhmMGNjYzkyLCAxMClcXG4gIGMgPSBmbkkoYywgZCwgYSwgYiwgTVsxMF0sIDB4ZmZlZmY0N2QsIDE1KVxcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzFdLCAweDg1ODQ1ZGQxLCAyMSlcXG4gIGEgPSBmbkkoYSwgYiwgYywgZCwgTVs4XSwgMHg2ZmE4N2U0ZiwgNilcXG4gIGQgPSBmbkkoZCwgYSwgYiwgYywgTVsxNV0sIDB4ZmUyY2U2ZTAsIDEwKVxcbiAgYyA9IGZuSShjLCBkLCBhLCBiLCBNWzZdLCAweGEzMDE0MzE0LCAxNSlcXG4gIGIgPSBmbkkoYiwgYywgZCwgYSwgTVsxM10sIDB4NGUwODExYTEsIDIxKVxcbiAgYSA9IGZuSShhLCBiLCBjLCBkLCBNWzRdLCAweGY3NTM3ZTgyLCA2KVxcbiAgZCA9IGZuSShkLCBhLCBiLCBjLCBNWzExXSwgMHhiZDNhZjIzNSwgMTApXFxuICBjID0gZm5JKGMsIGQsIGEsIGIsIE1bMl0sIDB4MmFkN2QyYmIsIDE1KVxcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzldLCAweGViODZkMzkxLCAyMSlcXG5cXG4gIHRoaXMuX2EgPSAodGhpcy5fYSArIGEpIHwgMFxcbiAgdGhpcy5fYiA9ICh0aGlzLl9iICsgYikgfCAwXFxuICB0aGlzLl9jID0gKHRoaXMuX2MgKyBjKSB8IDBcXG4gIHRoaXMuX2QgPSAodGhpcy5fZCArIGQpIHwgMFxcbn1cXG5cXG5NRDUucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XFxuICAvLyBjcmVhdGUgcGFkZGluZyBhbmQgaGFuZGxlIGJsb2Nrc1xcbiAgdGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSAweDgwXFxuICBpZiAodGhpcy5fYmxvY2tPZmZzZXQgPiA1Nikge1xcbiAgICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA2NClcXG4gICAgdGhpcy5fdXBkYXRlKClcXG4gICAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXFxuICB9XFxuXFxuICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLCA2MClcXG4gIHRoaXMuX3VwZGF0ZSgpXFxuXFxuICAvLyBwcm9kdWNlIHJlc3VsdFxcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYSwgMClcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYiwgNClcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYywgOClcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fZCwgMTIpXFxuICByZXR1cm4gYnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcXG4gIHJldHVybiAoeCA8PCBuKSB8ICh4ID4+PiAoMzIgLSBuKSlcXG59XFxuXFxuZnVuY3Rpb24gZm5GIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgJiBjKSB8ICgofmIpICYgZCkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcXG59XFxuXFxuZnVuY3Rpb24gZm5HIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgJiBkKSB8IChjICYgKH5kKSkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcXG59XFxuXFxuZnVuY3Rpb24gZm5IIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoYiBeIGMgXiBkKSArIG0gKyBrKSB8IDAsIHMpICsgYikgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuSSAoYSwgYiwgYywgZCwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChjIF4gKGIgfCAofmQpKSkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBNRDVcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXRaRFV1YW5NdmFXNWtaWGd1YW5NL1pEQXhaQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCV1R0QlFVTmFMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnFReXhsUVVGbExHMUNRVUZQTEVOQlFVTXNiMFJCUVZjN1FVRkRiRU1zWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZGQlFWRTdPMEZCUlhwQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZiV1ExTG1wekwybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNTJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNTJZWElnU0dGemFFSmhjMlVnUFNCeVpYRjFhWEpsS0Nkb1lYTm9MV0poYzJVbktWeHVkbUZ5SUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjNOaFptVXRZblZtWm1WeUp5a3VRblZtWm1WeVhHNWNiblpoY2lCQlVsSkJXVEUySUQwZ2JtVjNJRUZ5Y21GNUtERTJLVnh1WEc1bWRXNWpkR2x2YmlCTlJEVWdLQ2tnZTF4dUlDQklZWE5vUW1GelpTNWpZV3hzS0hSb2FYTXNJRFkwS1Z4dVhHNGdJQzh2SUhOMFlYUmxYRzRnSUhSb2FYTXVYMkVnUFNBd2VEWTNORFV5TXpBeFhHNGdJSFJvYVhNdVgySWdQU0F3ZUdWbVkyUmhZamc1WEc0Z0lIUm9hWE11WDJNZ1BTQXdlRGs0WW1Ga1kyWmxYRzRnSUhSb2FYTXVYMlFnUFNBd2VERXdNekkxTkRjMlhHNTlYRzVjYm1sdWFHVnlhWFJ6S0UxRU5Td2dTR0Z6YUVKaGMyVXBYRzVjYmsxRU5TNXdjbTkwYjNSNWNHVXVYM1Z3WkdGMFpTQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkbUZ5SUUwZ1BTQkJVbEpCV1RFMlhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTVRZN0lDc3JhU2tnVFZ0cFhTQTlJSFJvYVhNdVgySnNiMk5yTG5KbFlXUkpiblF6TWt4RktHa2dLaUEwS1Z4dVhHNGdJSFpoY2lCaElEMGdkR2hwY3k1ZllWeHVJQ0IyWVhJZ1lpQTlJSFJvYVhNdVgySmNiaUFnZG1GeUlHTWdQU0IwYUdsekxsOWpYRzRnSUhaaGNpQmtJRDBnZEdocGN5NWZaRnh1WEc0Z0lHRWdQU0JtYmtZb1lTd2dZaXdnWXl3Z1pDd2dUVnN3WFN3Z01IaGtOelpoWVRRM09Dd2dOeWxjYmlBZ1pDQTlJR1p1Umloa0xDQmhMQ0JpTENCakxDQk5XekZkTENBd2VHVTRZemRpTnpVMkxDQXhNaWxjYmlBZ1l5QTlJR1p1UmloakxDQmtMQ0JoTENCaUxDQk5XekpkTENBd2VESTBNakEzTUdSaUxDQXhOeWxjYmlBZ1lpQTlJR1p1UmloaUxDQmpMQ0JrTENCaExDQk5Xek5kTENBd2VHTXhZbVJqWldWbExDQXlNaWxjYmlBZ1lTQTlJR1p1UmloaExDQmlMQ0JqTENCa0xDQk5XelJkTENBd2VHWTFOMk13Wm1GbUxDQTNLVnh1SUNCa0lEMGdabTVHS0dRc0lHRXNJR0lzSUdNc0lFMWJOVjBzSURCNE5EYzROMk0yTW1Fc0lERXlLVnh1SUNCaklEMGdabTVHS0dNc0lHUXNJR0VzSUdJc0lFMWJObDBzSURCNFlUZ3pNRFEyTVRNc0lERTNLVnh1SUNCaUlEMGdabTVHS0dJc0lHTXNJR1FzSUdFc0lFMWJOMTBzSURCNFptUTBOamsxTURFc0lESXlLVnh1SUNCaElEMGdabTVHS0dFc0lHSXNJR01zSUdRc0lFMWJPRjBzSURCNE5qazRNRGs0WkRnc0lEY3BYRzRnSUdRZ1BTQm1ia1lvWkN3Z1lTd2dZaXdnWXl3Z1RWczVYU3dnTUhnNFlqUTBaamRoWml3Z01USXBYRzRnSUdNZ1BTQm1ia1lvWXl3Z1pDd2dZU3dnWWl3Z1RWc3hNRjBzSURCNFptWm1aalZpWWpFc0lERTNLVnh1SUNCaUlEMGdabTVHS0dJc0lHTXNJR1FzSUdFc0lFMWJNVEZkTENBd2VEZzVOV05rTjJKbExDQXlNaWxjYmlBZ1lTQTlJR1p1UmloaExDQmlMQ0JqTENCa0xDQk5XekV5WFN3Z01IZzJZamt3TVRFeU1pd2dOeWxjYmlBZ1pDQTlJR1p1Umloa0xDQmhMQ0JpTENCakxDQk5XekV6WFN3Z01IaG1aRGs0TnpFNU15d2dNVElwWEc0Z0lHTWdQU0JtYmtZb1l5d2daQ3dnWVN3Z1lpd2dUVnN4TkYwc0lEQjRZVFkzT1RRek9HVXNJREUzS1Z4dUlDQmlJRDBnWm01R0tHSXNJR01zSUdRc0lHRXNJRTFiTVRWZExDQXdlRFE1WWpRd09ESXhMQ0F5TWlsY2JseHVJQ0JoSUQwZ1ptNUhLR0VzSUdJc0lHTXNJR1FzSUUxYk1WMHNJREI0WmpZeFpUSTFOaklzSURVcFhHNGdJR1FnUFNCbWJrY29aQ3dnWVN3Z1lpd2dZeXdnVFZzMlhTd2dNSGhqTURRd1lqTTBNQ3dnT1NsY2JpQWdZeUE5SUdadVJ5aGpMQ0JrTENCaExDQmlMQ0JOV3pFeFhTd2dNSGd5TmpWbE5XRTFNU3dnTVRRcFhHNGdJR0lnUFNCbWJrY29ZaXdnWXl3Z1pDd2dZU3dnVFZzd1hTd2dNSGhsT1dJMll6ZGhZU3dnTWpBcFhHNGdJR0VnUFNCbWJrY29ZU3dnWWl3Z1l5d2daQ3dnVFZzMVhTd2dNSGhrTmpKbU1UQTFaQ3dnTlNsY2JpQWdaQ0E5SUdadVJ5aGtMQ0JoTENCaUxDQmpMQ0JOV3pFd1hTd2dNSGd3TWpRME1UUTFNeXdnT1NsY2JpQWdZeUE5SUdadVJ5aGpMQ0JrTENCaExDQmlMQ0JOV3pFMVhTd2dNSGhrT0dFeFpUWTRNU3dnTVRRcFhHNGdJR0lnUFNCbWJrY29ZaXdnWXl3Z1pDd2dZU3dnVFZzMFhTd2dNSGhsTjJRelptSmpPQ3dnTWpBcFhHNGdJR0VnUFNCbWJrY29ZU3dnWWl3Z1l5d2daQ3dnVFZzNVhTd2dNSGd5TVdVeFkyUmxOaXdnTlNsY2JpQWdaQ0E5SUdadVJ5aGtMQ0JoTENCaUxDQmpMQ0JOV3pFMFhTd2dNSGhqTXpNM01EZGtOaXdnT1NsY2JpQWdZeUE5SUdadVJ5aGpMQ0JrTENCaExDQmlMQ0JOV3pOZExDQXdlR1kwWkRVd1pEZzNMQ0F4TkNsY2JpQWdZaUE5SUdadVJ5aGlMQ0JqTENCa0xDQmhMQ0JOV3poZExDQXdlRFExTldFeE5HVmtMQ0F5TUNsY2JpQWdZU0E5SUdadVJ5aGhMQ0JpTENCakxDQmtMQ0JOV3pFelhTd2dNSGhoT1dVelpUa3dOU3dnTlNsY2JpQWdaQ0E5SUdadVJ5aGtMQ0JoTENCaUxDQmpMQ0JOV3pKZExDQXdlR1pqWldaaE0yWTRMQ0E1S1Z4dUlDQmpJRDBnWm01SEtHTXNJR1FzSUdFc0lHSXNJRTFiTjEwc0lEQjROamMyWmpBeVpEa3NJREUwS1Z4dUlDQmlJRDBnWm01SEtHSXNJR01zSUdRc0lHRXNJRTFiTVRKZExDQXdlRGhrTW1FMFl6aGhMQ0F5TUNsY2JseHVJQ0JoSUQwZ1ptNUlLR0VzSUdJc0lHTXNJR1FzSUUxYk5WMHNJREI0Wm1abVlUTTVORElzSURRcFhHNGdJR1FnUFNCbWJrZ29aQ3dnWVN3Z1lpd2dZeXdnVFZzNFhTd2dNSGc0TnpjeFpqWTRNU3dnTVRFcFhHNGdJR01nUFNCbWJrZ29ZeXdnWkN3Z1lTd2dZaXdnVFZzeE1WMHNJREI0Tm1RNVpEWXhNaklzSURFMktWeHVJQ0JpSUQwZ1ptNUlLR0lzSUdNc0lHUXNJR0VzSUUxYk1UUmRMQ0F3ZUdaa1pUVXpPREJqTENBeU15bGNiaUFnWVNBOUlHWnVTQ2hoTENCaUxDQmpMQ0JrTENCTld6RmRMQ0F3ZUdFMFltVmxZVFEwTENBMEtWeHVJQ0JrSUQwZ1ptNUlLR1FzSUdFc0lHSXNJR01zSUUxYk5GMHNJREI0TkdKa1pXTm1ZVGtzSURFeEtWeHVJQ0JqSUQwZ1ptNUlLR01zSUdRc0lHRXNJR0lzSUUxYk4xMHNJREI0WmpaaVlqUmlOakFzSURFMktWeHVJQ0JpSUQwZ1ptNUlLR0lzSUdNc0lHUXNJR0VzSUUxYk1UQmRMQ0F3ZUdKbFltWmlZemN3TENBeU15bGNiaUFnWVNBOUlHWnVTQ2hoTENCaUxDQmpMQ0JrTENCTld6RXpYU3dnTUhneU9EbGlOMlZqTml3Z05DbGNiaUFnWkNBOUlHWnVTQ2hrTENCaExDQmlMQ0JqTENCTld6QmRMQ0F3ZUdWaFlURXlOMlpoTENBeE1TbGNiaUFnWXlBOUlHWnVTQ2hqTENCa0xDQmhMQ0JpTENCTld6TmRMQ0F3ZUdRMFpXWXpNRGcxTENBeE5pbGNiaUFnWWlBOUlHWnVTQ2hpTENCakxDQmtMQ0JoTENCTld6WmRMQ0F3ZURBME9EZ3haREExTENBeU15bGNiaUFnWVNBOUlHWnVTQ2hoTENCaUxDQmpMQ0JrTENCTld6bGRMQ0F3ZUdRNVpEUmtNRE01TENBMEtWeHVJQ0JrSUQwZ1ptNUlLR1FzSUdFc0lHSXNJR01zSUUxYk1USmRMQ0F3ZUdVMlpHSTVPV1UxTENBeE1TbGNiaUFnWXlBOUlHWnVTQ2hqTENCa0xDQmhMQ0JpTENCTld6RTFYU3dnTUhneFptRXlOMk5tT0N3Z01UWXBYRzRnSUdJZ1BTQm1ia2dvWWl3Z1l5d2daQ3dnWVN3Z1RWc3lYU3dnTUhoak5HRmpOVFkyTlN3Z01qTXBYRzVjYmlBZ1lTQTlJR1p1U1NoaExDQmlMQ0JqTENCa0xDQk5XekJkTENBd2VHWTBNamt5TWpRMExDQTJLVnh1SUNCa0lEMGdabTVKS0dRc0lHRXNJR0lzSUdNc0lFMWJOMTBzSURCNE5ETXlZV1ptT1Rjc0lERXdLVnh1SUNCaklEMGdabTVKS0dNc0lHUXNJR0VzSUdJc0lFMWJNVFJkTENBd2VHRmlPVFF5TTJFM0xDQXhOU2xjYmlBZ1lpQTlJR1p1U1NoaUxDQmpMQ0JrTENCaExDQk5XelZkTENBd2VHWmpPVE5oTURNNUxDQXlNU2xjYmlBZ1lTQTlJR1p1U1NoaExDQmlMQ0JqTENCa0xDQk5XekV5WFN3Z01IZzJOVFZpTlRsak15d2dOaWxjYmlBZ1pDQTlJR1p1U1Noa0xDQmhMQ0JpTENCakxDQk5Xek5kTENBd2VEaG1NR05qWXpreUxDQXhNQ2xjYmlBZ1l5QTlJR1p1U1NoakxDQmtMQ0JoTENCaUxDQk5XekV3WFN3Z01IaG1abVZtWmpRM1pDd2dNVFVwWEc0Z0lHSWdQU0JtYmtrb1lpd2dZeXdnWkN3Z1lTd2dUVnN4WFN3Z01IZzROVGcwTldSa01Td2dNakVwWEc0Z0lHRWdQU0JtYmtrb1lTd2dZaXdnWXl3Z1pDd2dUVnM0WFN3Z01IZzJabUU0TjJVMFppd2dOaWxjYmlBZ1pDQTlJR1p1U1Noa0xDQmhMQ0JpTENCakxDQk5XekUxWFN3Z01IaG1aVEpqWlRabE1Dd2dNVEFwWEc0Z0lHTWdQU0JtYmtrb1l5d2daQ3dnWVN3Z1lpd2dUVnMyWFN3Z01IaGhNekF4TkRNeE5Dd2dNVFVwWEc0Z0lHSWdQU0JtYmtrb1lpd2dZeXdnWkN3Z1lTd2dUVnN4TTEwc0lEQjROR1V3T0RFeFlURXNJREl4S1Z4dUlDQmhJRDBnWm01SktHRXNJR0lzSUdNc0lHUXNJRTFiTkYwc0lEQjRaamMxTXpkbE9ESXNJRFlwWEc0Z0lHUWdQU0JtYmtrb1pDd2dZU3dnWWl3Z1l5d2dUVnN4TVYwc0lEQjRZbVF6WVdZeU16VXNJREV3S1Z4dUlDQmpJRDBnWm01SktHTXNJR1FzSUdFc0lHSXNJRTFiTWwwc0lEQjRNbUZrTjJReVltSXNJREUxS1Z4dUlDQmlJRDBnWm01SktHSXNJR01zSUdRc0lHRXNJRTFiT1Ywc0lEQjRaV0k0Tm1Rek9URXNJREl4S1Z4dVhHNGdJSFJvYVhNdVgyRWdQU0FvZEdocGN5NWZZU0FySUdFcElId2dNRnh1SUNCMGFHbHpMbDlpSUQwZ0tIUm9hWE11WDJJZ0t5QmlLU0I4SURCY2JpQWdkR2hwY3k1Zll5QTlJQ2gwYUdsekxsOWpJQ3NnWXlrZ2ZDQXdYRzRnSUhSb2FYTXVYMlFnUFNBb2RHaHBjeTVmWkNBcklHUXBJSHdnTUZ4dWZWeHVYRzVOUkRVdWNISnZkRzkwZVhCbExsOWthV2RsYzNRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDOHZJR055WldGMFpTQndZV1JrYVc1bklHRnVaQ0JvWVc1a2JHVWdZbXh2WTJ0elhHNGdJSFJvYVhNdVgySnNiMk5yVzNSb2FYTXVYMkpzYjJOclQyWm1jMlYwS3l0ZElEMGdNSGc0TUZ4dUlDQnBaaUFvZEdocGN5NWZZbXh2WTJ0UFptWnpaWFFnUGlBMU5pa2dlMXh1SUNBZ0lIUm9hWE11WDJKc2IyTnJMbVpwYkd3b01Dd2dkR2hwY3k1ZllteHZZMnRQWm1aelpYUXNJRFkwS1Z4dUlDQWdJSFJvYVhNdVgzVndaR0YwWlNncFhHNGdJQ0FnZEdocGN5NWZZbXh2WTJ0UFptWnpaWFFnUFNBd1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5aWJHOWpheTVtYVd4c0tEQXNJSFJvYVhNdVgySnNiMk5yVDJabWMyVjBMQ0ExTmlsY2JpQWdkR2hwY3k1ZllteHZZMnN1ZDNKcGRHVlZTVzUwTXpKTVJTaDBhR2x6TGw5c1pXNW5kR2hiTUYwc0lEVTJLVnh1SUNCMGFHbHpMbDlpYkc5amF5NTNjbWwwWlZWSmJuUXpNa3hGS0hSb2FYTXVYMnhsYm1kMGFGc3hYU3dnTmpBcFhHNGdJSFJvYVhNdVgzVndaR0YwWlNncFhHNWNiaUFnTHk4Z2NISnZaSFZqWlNCeVpYTjFiSFJjYmlBZ2RtRnlJR0oxWm1abGNpQTlJRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aU2d4TmlsY2JpQWdZblZtWm1WeUxuZHlhWFJsU1c1ME16Sk1SU2gwYUdsekxsOWhMQ0F3S1Z4dUlDQmlkV1ptWlhJdWQzSnBkR1ZKYm5Rek1reEZLSFJvYVhNdVgySXNJRFFwWEc0Z0lHSjFabVpsY2k1M2NtbDBaVWx1ZERNeVRFVW9kR2hwY3k1Zll5d2dPQ2xjYmlBZ1luVm1abVZ5TG5keWFYUmxTVzUwTXpKTVJTaDBhR2x6TGw5a0xDQXhNaWxjYmlBZ2NtVjBkWEp1SUdKMVptWmxjbHh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnliM1JzSUNoNExDQnVLU0I3WEc0Z0lISmxkSFZ5YmlBb2VDQThQQ0J1S1NCOElDaDRJRDQrUGlBb016SWdMU0J1S1NsY2JuMWNibHh1Wm5WdVkzUnBiMjRnWm01R0lDaGhMQ0JpTENCakxDQmtMQ0J0TENCckxDQnpLU0I3WEc0Z0lISmxkSFZ5YmlBb2NtOTBiQ2dvWVNBcklDZ29ZaUFtSUdNcElId2dLQ2grWWlrZ0ppQmtLU2tnS3lCdElDc2dheWtnZkNBd0xDQnpLU0FySUdJcElId2dNRnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1ia2NnS0dFc0lHSXNJR01zSUdRc0lHMHNJR3NzSUhNcElIdGNiaUFnY21WMGRYSnVJQ2h5YjNSc0tDaGhJQ3NnS0NoaUlDWWdaQ2tnZkNBb1l5QW1JQ2grWkNrcEtTQXJJRzBnS3lCcktTQjhJREFzSUhNcElDc2dZaWtnZkNBd1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdadVNDQW9ZU3dnWWl3Z1l5d2daQ3dnYlN3Z2F5d2djeWtnZTF4dUlDQnlaWFIxY200Z0tISnZkR3dvS0dFZ0t5QW9ZaUJlSUdNZ1hpQmtLU0FySUcwZ0t5QnJLU0I4SURBc0lITXBJQ3NnWWlrZ2ZDQXdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnVTU0FvWVN3Z1lpd2dZeXdnWkN3Z2JTd2dheXdnY3lrZ2UxeHVJQ0J5WlhSMWNtNGdLSEp2ZEd3b0tHRWdLeUFvS0dNZ1hpQW9ZaUI4SUNoK1pDa3BLU2tnS3lCdElDc2dheWtnZkNBd0xDQnpLU0FySUdJcElId2dNRnh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFMUVOVnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9tZDUuanMvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL21pbGxlci1yYWJpbi9saWIvbXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbGliL21yLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBibiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9taWxsZXItcmFiaW4vbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1xcXCIpO1xcbnZhciBicm9yYW5kID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnJvcmFuZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvcmFuZC9pbmRleC5qc1xcXCIpO1xcblxcbmZ1bmN0aW9uIE1pbGxlclJhYmluKHJhbmQpIHtcXG4gIHRoaXMucmFuZCA9IHJhbmQgfHwgbmV3IGJyb3JhbmQuUmFuZCgpO1xcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IE1pbGxlclJhYmluO1xcblxcbk1pbGxlclJhYmluLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShyYW5kKSB7XFxuICByZXR1cm4gbmV3IE1pbGxlclJhYmluKHJhbmQpO1xcbn07XFxuXFxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLl9yYW5kYmVsb3cgPSBmdW5jdGlvbiBfcmFuZGJlbG93KG4pIHtcXG4gIHZhciBsZW4gPSBuLmJpdExlbmd0aCgpO1xcbiAgdmFyIG1pbl9ieXRlcyA9IE1hdGguY2VpbChsZW4gLyA4KTtcXG5cXG4gIC8vIEdlbmVyYWdlIHJhbmRvbSBieXRlcyB1bnRpbCBhIG51bWJlciBsZXNzIHRoYW4gbiBpcyBmb3VuZC5cXG4gIC8vIFRoaXMgZW5zdXJlcyB0aGF0IDAuLm4tMSBoYXZlIGFuIGVxdWFsIHByb2JhYmlsaXR5IG9mIGJlaW5nIHNlbGVjdGVkLlxcbiAgZG9cXG4gICAgdmFyIGEgPSBuZXcgYm4odGhpcy5yYW5kLmdlbmVyYXRlKG1pbl9ieXRlcykpO1xcbiAgd2hpbGUgKGEuY21wKG4pID49IDApO1xcblxcbiAgcmV0dXJuIGE7XFxufTtcXG5cXG5NaWxsZXJSYWJpbi5wcm90b3R5cGUuX3JhbmRyYW5nZSA9IGZ1bmN0aW9uIF9yYW5kcmFuZ2Uoc3RhcnQsIHN0b3ApIHtcXG4gIC8vIEdlbmVyYXRlIGEgcmFuZG9tIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gc3RhcnQgYW5kIGxlc3MgdGhhbiBzdG9wLlxcbiAgdmFyIHNpemUgPSBzdG9wLnN1YihzdGFydCk7XFxuICByZXR1cm4gc3RhcnQuYWRkKHRoaXMuX3JhbmRiZWxvdyhzaXplKSk7XFxufTtcXG5cXG5NaWxsZXJSYWJpbi5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uIHRlc3QobiwgaywgY2IpIHtcXG4gIHZhciBsZW4gPSBuLmJpdExlbmd0aCgpO1xcbiAgdmFyIHJlZCA9IGJuLm1vbnQobik7XFxuICB2YXIgcm9uZSA9IG5ldyBibigxKS50b1JlZChyZWQpO1xcblxcbiAgaWYgKCFrKVxcbiAgICBrID0gTWF0aC5tYXgoMSwgKGxlbiAvIDQ4KSB8IDApO1xcblxcbiAgLy8gRmluZCBkIGFuZCBzLCAobiAtIDEpID0gKDIgXiBzKSAqIGQ7XFxuICB2YXIgbjEgPSBuLnN1Ym4oMSk7XFxuICBmb3IgKHZhciBzID0gMDsgIW4xLnRlc3RuKHMpOyBzKyspIHt9XFxuICB2YXIgZCA9IG4uc2hybihzKTtcXG5cXG4gIHZhciBybjEgPSBuMS50b1JlZChyZWQpO1xcblxcbiAgdmFyIHByaW1lID0gdHJ1ZTtcXG4gIGZvciAoOyBrID4gMDsgay0tKSB7XFxuICAgIHZhciBhID0gdGhpcy5fcmFuZHJhbmdlKG5ldyBibigyKSwgbjEpO1xcbiAgICBpZiAoY2IpXFxuICAgICAgY2IoYSk7XFxuXFxuICAgIHZhciB4ID0gYS50b1JlZChyZWQpLnJlZFBvdyhkKTtcXG4gICAgaWYgKHguY21wKHJvbmUpID09PSAwIHx8IHguY21wKHJuMSkgPT09IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgczsgaSsrKSB7XFxuICAgICAgeCA9IHgucmVkU3FyKCk7XFxuXFxuICAgICAgaWYgKHguY21wKHJvbmUpID09PSAwKVxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIGlmICh4LmNtcChybjEpID09PSAwKVxcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKGkgPT09IHMpXFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHByaW1lO1xcbn07XFxuXFxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLmdldERpdmlzb3IgPSBmdW5jdGlvbiBnZXREaXZpc29yKG4sIGspIHtcXG4gIHZhciBsZW4gPSBuLmJpdExlbmd0aCgpO1xcbiAgdmFyIHJlZCA9IGJuLm1vbnQobik7XFxuICB2YXIgcm9uZSA9IG5ldyBibigxKS50b1JlZChyZWQpO1xcblxcbiAgaWYgKCFrKVxcbiAgICBrID0gTWF0aC5tYXgoMSwgKGxlbiAvIDQ4KSB8IDApO1xcblxcbiAgLy8gRmluZCBkIGFuZCBzLCAobiAtIDEpID0gKDIgXiBzKSAqIGQ7XFxuICB2YXIgbjEgPSBuLnN1Ym4oMSk7XFxuICBmb3IgKHZhciBzID0gMDsgIW4xLnRlc3RuKHMpOyBzKyspIHt9XFxuICB2YXIgZCA9IG4uc2hybihzKTtcXG5cXG4gIHZhciBybjEgPSBuMS50b1JlZChyZWQpO1xcblxcbiAgZm9yICg7IGsgPiAwOyBrLS0pIHtcXG4gICAgdmFyIGEgPSB0aGlzLl9yYW5kcmFuZ2UobmV3IGJuKDIpLCBuMSk7XFxuXFxuICAgIHZhciBnID0gbi5nY2QoYSk7XFxuICAgIGlmIChnLmNtcG4oMSkgIT09IDApXFxuICAgICAgcmV0dXJuIGc7XFxuXFxuICAgIHZhciB4ID0gYS50b1JlZChyZWQpLnJlZFBvdyhkKTtcXG4gICAgaWYgKHguY21wKHJvbmUpID09PSAwIHx8IHguY21wKHJuMSkgPT09IDApXFxuICAgICAgY29udGludWU7XFxuXFxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgczsgaSsrKSB7XFxuICAgICAgeCA9IHgucmVkU3FyKCk7XFxuXFxuICAgICAgaWYgKHguY21wKHJvbmUpID09PSAwKVxcbiAgICAgICAgcmV0dXJuIHguZnJvbVJlZCgpLnN1Ym4oMSkuZ2NkKG4pO1xcbiAgICAgIGlmICh4LmNtcChybjEpID09PSAwKVxcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgaWYgKGkgPT09IHMpIHtcXG4gICAgICB4ID0geC5yZWRTcXIoKTtcXG4gICAgICByZXR1cm4geC5mcm9tUmVkKCkuc3VibigxKS5nY2Qobik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5dGFXeHNaWEl0Y21GaWFXNHZiR2xpTDIxeUxtcHpQemcyWXpraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNVMEZCVXl4dFFrRkJUeXhEUVVGRExIVkZRVUZQTzBGQlEzaENMR05CUVdNc2JVSkJRVThzUTBGQlF5eG5SRUZCVXpzN1FVRkZMMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc1kwRkJZenRCUVVNdlFqczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxGRkJRVkVzVDBGQlR6dEJRVU5tTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hwUWtGQmFVSXNZMEZCWXp0QlFVTXZRanM3UVVGRlFUczdRVUZGUVN4UlFVRlJMRTlCUVU4N1FVRkRaanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMMjFwYkd4bGNpMXlZV0pwYmk5c2FXSXZiWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1ltNGdQU0J5WlhGMWFYSmxLQ2RpYmk1cWN5Y3BPMXh1ZG1GeUlHSnliM0poYm1RZ1BTQnlaWEYxYVhKbEtDZGljbTl5WVc1a0p5azdYRzVjYm1aMWJtTjBhVzl1SUUxcGJHeGxjbEpoWW1sdUtISmhibVFwSUh0Y2JpQWdkR2hwY3k1eVlXNWtJRDBnY21GdVpDQjhmQ0J1WlhjZ1luSnZjbUZ1WkM1U1lXNWtLQ2s3WEc1OVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFMXBiR3hsY2xKaFltbHVPMXh1WEc1TmFXeHNaWEpTWVdKcGJpNWpjbVZoZEdVZ1BTQm1kVzVqZEdsdmJpQmpjbVZoZEdVb2NtRnVaQ2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJRTFwYkd4bGNsSmhZbWx1S0hKaGJtUXBPMXh1ZlR0Y2JseHVUV2xzYkdWeVVtRmlhVzR1Y0hKdmRHOTBlWEJsTGw5eVlXNWtZbVZzYjNjZ1BTQm1kVzVqZEdsdmJpQmZjbUZ1WkdKbGJHOTNLRzRwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJRzR1WW1sMFRHVnVaM1JvS0NrN1hHNGdJSFpoY2lCdGFXNWZZbmwwWlhNZ1BTQk5ZWFJvTG1ObGFXd29iR1Z1SUM4Z09DazdYRzVjYmlBZ0x5OGdSMlZ1WlhKaFoyVWdjbUZ1Wkc5dElHSjVkR1Z6SUhWdWRHbHNJR0VnYm5WdFltVnlJR3hsYzNNZ2RHaGhiaUJ1SUdseklHWnZkVzVrTGx4dUlDQXZMeUJVYUdseklHVnVjM1Z5WlhNZ2RHaGhkQ0F3TGk1dUxURWdhR0YyWlNCaGJpQmxjWFZoYkNCd2NtOWlZV0pwYkdsMGVTQnZaaUJpWldsdVp5QnpaV3hsWTNSbFpDNWNiaUFnWkc5Y2JpQWdJQ0IyWVhJZ1lTQTlJRzVsZHlCaWJpaDBhR2x6TG5KaGJtUXVaMlZ1WlhKaGRHVW9iV2x1WDJKNWRHVnpLU2s3WEc0Z0lIZG9hV3hsSUNoaExtTnRjQ2h1S1NBK1BTQXdLVHRjYmx4dUlDQnlaWFIxY200Z1lUdGNibjA3WEc1Y2JrMXBiR3hsY2xKaFltbHVMbkJ5YjNSdmRIbHdaUzVmY21GdVpISmhibWRsSUQwZ1puVnVZM1JwYjI0Z1gzSmhibVJ5WVc1blpTaHpkR0Z5ZEN3Z2MzUnZjQ2tnZTF4dUlDQXZMeUJIWlc1bGNtRjBaU0JoSUhKaGJtUnZiU0J1ZFcxaVpYSWdaM0psWVhSbGNpQjBhR0Z1SUc5eUlHVnhkV0ZzSUhSdklITjBZWEowSUdGdVpDQnNaWE56SUhSb1lXNGdjM1J2Y0M1Y2JpQWdkbUZ5SUhOcGVtVWdQU0J6ZEc5d0xuTjFZaWh6ZEdGeWRDazdYRzRnSUhKbGRIVnliaUJ6ZEdGeWRDNWhaR1FvZEdocGN5NWZjbUZ1WkdKbGJHOTNLSE5wZW1VcEtUdGNibjA3WEc1Y2JrMXBiR3hsY2xKaFltbHVMbkJ5YjNSdmRIbHdaUzUwWlhOMElEMGdablZ1WTNScGIyNGdkR1Z6ZENodUxDQnJMQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2JHVnVJRDBnYmk1aWFYUk1aVzVuZEdnb0tUdGNiaUFnZG1GeUlISmxaQ0E5SUdKdUxtMXZiblFvYmlrN1hHNGdJSFpoY2lCeWIyNWxJRDBnYm1WM0lHSnVLREVwTG5SdlVtVmtLSEpsWkNrN1hHNWNiaUFnYVdZZ0tDRnJLVnh1SUNBZ0lHc2dQU0JOWVhSb0xtMWhlQ2d4TENBb2JHVnVJQzhnTkRncElId2dNQ2s3WEc1Y2JpQWdMeThnUm1sdVpDQmtJR0Z1WkNCekxDQW9iaUF0SURFcElEMGdLRElnWGlCektTQXFJR1E3WEc0Z0lIWmhjaUJ1TVNBOUlHNHVjM1ZpYmlneEtUdGNiaUFnWm05eUlDaDJZWElnY3lBOUlEQTdJQ0Z1TVM1MFpYTjBiaWh6S1RzZ2N5c3JLU0I3ZlZ4dUlDQjJZWElnWkNBOUlHNHVjMmh5YmloektUdGNibHh1SUNCMllYSWdjbTR4SUQwZ2JqRXVkRzlTWldRb2NtVmtLVHRjYmx4dUlDQjJZWElnY0hKcGJXVWdQU0IwY25WbE8xeHVJQ0JtYjNJZ0tEc2dheUErSURBN0lHc3RMU2tnZTF4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3k1ZmNtRnVaSEpoYm1kbEtHNWxkeUJpYmlneUtTd2diakVwTzF4dUlDQWdJR2xtSUNoallpbGNiaUFnSUNBZ0lHTmlLR0VwTzF4dVhHNGdJQ0FnZG1GeUlIZ2dQU0JoTG5SdlVtVmtLSEpsWkNrdWNtVmtVRzkzS0dRcE8xeHVJQ0FnSUdsbUlDaDRMbU50Y0NoeWIyNWxLU0E5UFQwZ01DQjhmQ0I0TG1OdGNDaHliakVwSUQwOVBTQXdLVnh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTVRzZ2FTQThJSE03SUdrckt5a2dlMXh1SUNBZ0lDQWdlQ0E5SUhndWNtVmtVM0Z5S0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2g0TG1OdGNDaHliMjVsS1NBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0FnSUNBZ2FXWWdLSGd1WTIxd0tISnVNU2tnUFQwOUlEQXBYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHBJRDA5UFNCektWeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEJ5YVcxbE8xeHVmVHRjYmx4dVRXbHNiR1Z5VW1GaWFXNHVjSEp2ZEc5MGVYQmxMbWRsZEVScGRtbHpiM0lnUFNCbWRXNWpkR2x2YmlCblpYUkVhWFpwYzI5eUtHNHNJR3NwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJRzR1WW1sMFRHVnVaM1JvS0NrN1hHNGdJSFpoY2lCeVpXUWdQU0JpYmk1dGIyNTBLRzRwTzF4dUlDQjJZWElnY205dVpTQTlJRzVsZHlCaWJpZ3hLUzUwYjFKbFpDaHlaV1FwTzF4dVhHNGdJR2xtSUNnaGF5bGNiaUFnSUNCcklEMGdUV0YwYUM1dFlYZ29NU3dnS0d4bGJpQXZJRFE0S1NCOElEQXBPMXh1WEc0Z0lDOHZJRVpwYm1RZ1pDQmhibVFnY3l3Z0tHNGdMU0F4S1NBOUlDZ3lJRjRnY3lrZ0tpQmtPMXh1SUNCMllYSWdiakVnUFNCdUxuTjFZbTRvTVNrN1hHNGdJR1p2Y2lBb2RtRnlJSE1nUFNBd095QWhiakV1ZEdWemRHNG9jeWs3SUhNckt5a2dlMzFjYmlBZ2RtRnlJR1FnUFNCdUxuTm9jbTRvY3lrN1hHNWNiaUFnZG1GeUlISnVNU0E5SUc0eExuUnZVbVZrS0hKbFpDazdYRzVjYmlBZ1ptOXlJQ2c3SUdzZ1BpQXdPeUJyTFMwcElIdGNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTXVYM0poYm1SeVlXNW5aU2h1WlhjZ1ltNG9NaWtzSUc0eEtUdGNibHh1SUNBZ0lIWmhjaUJuSUQwZ2JpNW5ZMlFvWVNrN1hHNGdJQ0FnYVdZZ0tHY3VZMjF3YmlneEtTQWhQVDBnTUNsY2JpQWdJQ0FnSUhKbGRIVnliaUJuTzF4dVhHNGdJQ0FnZG1GeUlIZ2dQU0JoTG5SdlVtVmtLSEpsWkNrdWNtVmtVRzkzS0dRcE8xeHVJQ0FnSUdsbUlDaDRMbU50Y0NoeWIyNWxLU0E5UFQwZ01DQjhmQ0I0TG1OdGNDaHliakVwSUQwOVBTQXdLVnh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTVRzZ2FTQThJSE03SUdrckt5a2dlMXh1SUNBZ0lDQWdlQ0E5SUhndWNtVmtVM0Z5S0NrN1hHNWNiaUFnSUNBZ0lHbG1JQ2g0TG1OdGNDaHliMjVsS1NBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSGd1Wm5KdmJWSmxaQ2dwTG5OMVltNG9NU2t1WjJOa0tHNHBPMXh1SUNBZ0lDQWdhV1lnS0hndVkyMXdLSEp1TVNrZ1BUMDlJREFwWEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hwSUQwOVBTQnpLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNXlaV1JUY1hJb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCNExtWnliMjFTWldRb0tTNXpkV0p1S0RFcExtZGpaQ2h1S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL2xpYi9tci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihtb2R1bGUpIHsoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xcbiAgJ3VzZSBzdHJpY3QnO1xcblxcbiAgLy8gVXRpbHNcXG4gIGZ1bmN0aW9uIGFzc2VydCAodmFsLCBtc2cpIHtcXG4gICAgaWYgKCF2YWwpIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG4gIH1cXG5cXG4gIC8vIENvdWxkIHVzZSBgaW5oZXJpdHNgIG1vZHVsZSwgYnV0IGRvbid0IHdhbnQgdG8gbW92ZSBmcm9tIHNpbmdsZSBmaWxlXFxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxcbiAgZnVuY3Rpb24gaW5oZXJpdHMgKGN0b3IsIHN1cGVyQ3Rvcikge1xcbiAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvcjtcXG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XFxuICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGU7XFxuICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKCk7XFxuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcXG4gIH1cXG5cXG4gIC8vIEJOXFxuXFxuICBmdW5jdGlvbiBCTiAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcXG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xcbiAgICAgIHJldHVybiBudW1iZXI7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgIHRoaXMud29yZHMgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuXFxuICAgIC8vIFJlZHVjdGlvbiBjb250ZXh0XFxuICAgIHRoaXMucmVkID0gbnVsbDtcXG5cXG4gICAgaWYgKG51bWJlciAhPT0gbnVsbCkge1xcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcXG4gICAgICAgIGVuZGlhbiA9IGJhc2U7XFxuICAgICAgICBiYXNlID0gMTA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMuX2luaXQobnVtYmVyIHx8IDAsIGJhc2UgfHwgMTAsIGVuZGlhbiB8fCAnYmUnKTtcXG4gICAgfVxcbiAgfVxcbiAgaWYgKHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKSB7XFxuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XFxuICB9IGVsc2Uge1xcbiAgICBleHBvcnRzLkJOID0gQk47XFxuICB9XFxuXFxuICBCTi5CTiA9IEJOO1xcbiAgQk4ud29yZFNpemUgPSAyNjtcXG5cXG4gIHZhciBCdWZmZXI7XFxuICB0cnkge1xcbiAgICBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gNSkuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl0YVd4c1pYSXRjbUZpYVc0dmJtOWtaVjl0YjJSMWJHVnpMMkp1TG1wekwyeHBZaTlpYmk1cWN6OWhNV1UwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHRkJRV0VzYlVKQlFVOHNRMEZCUXl4bFFVRlJPMEZCUXpkQ0xFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeDNRMEZCZDBNN1FVRkRlRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4M1EwRkJkME1zVVVGQlVUdEJRVU5vUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c2QwSkJRWGRDTEcxQ1FVRnRRanRCUVVNelF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRk5CUVZNN1FVRkRhRU03TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2MwTkJRWE5ETEZsQlFWazdRVUZEYkVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6czdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxITkRRVUZ6UXl4elFrRkJjMEk3UVVGRE5VUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2RVSkJRWFZDTEZOQlFWTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZOQlFWTTdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeHBRa0ZCYVVJN1FVRkRjRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZDUVVGeFFpeHBRa0ZCYVVJN1FVRkRkRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpdzBRa0ZCTkVJN1FVRkROME03UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzWVVGQllUdEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NhVUpCUVdsQ0xHRkJRV0U3UVVGRE9VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEZsQlFWa3NaVUZCWlR0QlFVTXpRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSXNaMEpCUVdkQ08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNOa0pCUVRaQ08wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c1dVRkJXU3hqUVVGak8wRkJRekZDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMR05CUVdNN1FVRkRha003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZMRFpDUVVFMlFqdEJRVU4yUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzVTBGQlV6dEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVMRmRCUVZjN1FVRkRMMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2IwSkJRVzlDTzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RVFVRnZSQ3hYUVVGWE8wRkJReTlFTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTEcxQ1FVRnRRaXhQUVVGUE8wRkJRekZDT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMRTlCUVU4N1FVRkROVUk3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVDBGQlR6dEJRVU01UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMRWRCUVVjN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xGZEJRVmM3UVVGRE9VSTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4VFFVRlRPMEZCUXpWQ096dEJRVVZCTEd0RFFVRnJRenRCUVVOc1F5eHpRMEZCYzBNN1FVRkRkRU03TzBGQlJVRTdRVUZEUVN4eFFrRkJjVUlzVDBGQlR6dEJRVU0xUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEU5QlFVODdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1QwRkJUenRCUVVNeFFqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNZMEZCWXp0QlFVTnFRenRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHTkJRV003UVVGRE0wTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEN0Q1FVRXJRaXhSUVVGUk8wRkJRM1pETzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEU5QlFVODdRVUZEZUVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxHbENRVUZwUWl4cFFrRkJhVUk3UVVGRGJFTTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpd3JRMEZCSzBNN1FVRkRiRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNjVUpCUVhGQ0xITkRRVUZ6UXp0QlFVTXpSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc1owSkJRV2RDTzBGQlF5OUNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZWQlFWVXNlVUpCUVhsQ08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR1ZCUVdVc2FVSkJRV2xDTzBGQlEyaERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWl4alFVRmpPMEZCUTI1RE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4MVFrRkJkVUlzVVVGQlVUdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVOQlFXbERMRkZCUVZFN1FVRkRla003UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xHMURRVUZ0UXp0QlFVTm9SVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3MlFrRkJOa0lzYlVOQlFXMURPMEZCUTJoRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEWkNRVUUyUWl4dFEwRkJiVU03UVVGRGFFVTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xEQkNRVUV3UWp0QlFVTnFSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owTkJRV2RETzBGQlEyNUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTXNVVUZCVVR0QlFVTjZRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzV1VGQldUdEJRVU12UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaMEpCUVdkQ0xHdENRVUZyUWp0QlFVTnNRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEc5Q1FVRnZRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHZENRVUZuUWp0QlFVTnVRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERSQ1FVRTBRaXhSUVVGUk8wRkJRM0JETzBGQlEwRXNOa0pCUVRaQ0xGRkJRVkU3UVVGRGNrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU1zUlVGQlJTeE5RVUUyUWlJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl0YVd4c1pYSXRjbUZpYVc0dmJtOWtaVjl0YjJSMWJHVnpMMkp1TG1wekwyeHBZaTlpYmk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlobWRXNWpkR2x2YmlBb2JXOWtkV3hsTENCbGVIQnZjblJ6S1NCN1hHNGdJQ2QxYzJVZ2MzUnlhV04wSnp0Y2JseHVJQ0F2THlCVmRHbHNjMXh1SUNCbWRXNWpkR2x2YmlCaGMzTmxjblFnS0haaGJDd2diWE5uS1NCN1hHNGdJQ0FnYVdZZ0tDRjJZV3dwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0YzJjZ2ZId2dKMEZ6YzJWeWRHbHZiaUJtWVdsc1pXUW5LVHRjYmlBZ2ZWeHVYRzRnSUM4dklFTnZkV3hrSUhWelpTQmdhVzVvWlhKcGRITmdJRzF2WkhWc1pTd2dZblYwSUdSdmJpZDBJSGRoYm5RZ2RHOGdiVzkyWlNCbWNtOXRJSE5wYm1kc1pTQm1hV3hsWEc0Z0lDOHZJR0Z5WTJocGRHVmpkSFZ5WlNCNVpYUXVYRzRnSUdaMWJtTjBhVzl1SUdsdWFHVnlhWFJ6SUNoamRHOXlMQ0J6ZFhCbGNrTjBiM0lwSUh0Y2JpQWdJQ0JqZEc5eUxuTjFjR1Z5WHlBOUlITjFjR1Z5UTNSdmNqdGNiaUFnSUNCMllYSWdWR1Z0Y0VOMGIzSWdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNiaUFnSUNCVVpXMXdRM1J2Y2k1d2NtOTBiM1I1Y0dVZ1BTQnpkWEJsY2tOMGIzSXVjSEp2ZEc5MGVYQmxPMXh1SUNBZ0lHTjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ2JtVjNJRlJsYlhCRGRHOXlLQ2s3WEc0Z0lDQWdZM1J2Y2k1d2NtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JqZEc5eU8xeHVJQ0I5WEc1Y2JpQWdMeThnUWs1Y2JseHVJQ0JtZFc1amRHbHZiaUJDVGlBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQnBaaUFvUWs0dWFYTkNUaWh1ZFcxaVpYSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZ0WW1WeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JseHVJQ0FnSUM4dklGSmxaSFZqZEdsdmJpQmpiMjUwWlhoMFhHNGdJQ0FnZEdocGN5NXlaV1FnUFNCdWRXeHNPMXh1WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlDZHNaU2NnZkh3Z1ltRnpaU0E5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnSUNCbGJtUnBZVzRnUFNCaVlYTmxPMXh1SUNBZ0lDQWdJQ0JpWVhObElEMGdNVEE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMmx1YVhRb2JuVnRZbVZ5SUh4OElEQXNJR0poYzJVZ2ZId2dNVEFzSUdWdVpHbGhiaUI4ZkNBblltVW5LVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdhV1lnS0hSNWNHVnZaaUJ0YjJSMWJHVWdQVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JDVGp0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCbGVIQnZjblJ6TGtKT0lEMGdRazQ3WEc0Z0lIMWNibHh1SUNCQ1RpNUNUaUE5SUVKT08xeHVJQ0JDVGk1M2IzSmtVMmw2WlNBOUlESTJPMXh1WEc0Z0lIWmhjaUJDZFdabVpYSTdYRzRnSUhSeWVTQjdYRzRnSUNBZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnblluVm1abVZ5SnlrdVFuVm1abVZ5TzF4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lIMWNibHh1SUNCQ1RpNXBjMEpPSUQwZ1puVnVZM1JwYjI0Z2FYTkNUaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlNCcGJuTjBZVzVqWlc5bUlFSk9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0SUNFOVBTQnVkV3hzSUNZbUlIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdlltcGxZM1FuSUNZbVhHNGdJQ0FnSUNCdWRXMHVZMjl1YzNSeWRXTjBiM0l1ZDI5eVpGTnBlbVVnUFQwOUlFSk9MbmR2Y21SVGFYcGxJQ1ltSUVGeWNtRjVMbWx6UVhKeVlYa29iblZ0TG5kdmNtUnpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXRZWGdnUFNCbWRXNWpkR2x2YmlCdFlYZ2dLR3hsWm5Rc0lISnBaMmgwS1NCN1hHNGdJQ0FnYVdZZ0tHeGxablF1WTIxd0tISnBaMmgwS1NBK0lEQXBJSEpsZEhWeWJpQnNaV1owTzF4dUlDQWdJSEpsZEhWeWJpQnlhV2RvZER0Y2JpQWdmVHRjYmx4dUlDQkNUaTV0YVc0Z1BTQm1kVzVqZEdsdmJpQnRhVzRnS0d4bFpuUXNJSEpwWjJoMEtTQjdYRzRnSUNBZ2FXWWdLR3hsWm5RdVkyMXdLSEpwWjJoMEtTQThJREFwSUhKbGRIVnliaUJzWldaME8xeHVJQ0FnSUhKbGRIVnliaUJ5YVdkb2REdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgybHVhWFFnUFNCbWRXNWpkR2x2YmlCcGJtbDBJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JuVnRZbVZ5SUQwOVBTQW5iblZ0WW1WeUp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WDJsdWFYUk9kVzFpWlhJb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiblZ0WW1WeUlEMDlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybHVhWFJCY25KaGVTaHVkVzFpWlhJc0lHSmhjMlVzSUdWdVpHbGhiaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0JpWVhObElEMGdNVFk3WEc0Z0lDQWdmVnh1SUNBZ0lHRnpjMlZ5ZENoaVlYTmxJRDA5UFNBb1ltRnpaU0I4SURBcElDWW1JR0poYzJVZ1BqMGdNaUFtSmlCaVlYTmxJRHc5SURNMktUdGNibHh1SUNBZ0lHNTFiV0psY2lBOUlHNTFiV0psY2k1MGIxTjBjbWx1WnlncExuSmxjR3hoWTJVb0wxeGNjeXN2Wnl3Z0p5Y3BPMXh1SUNBZ0lIWmhjaUJ6ZEdGeWRDQTlJREE3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjbHN3WFNBOVBUMGdKeTBuS1NCN1hHNGdJQ0FnSUNCemRHRnlkQ3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoaVlYTmxJRDA5UFNBeE5pa2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmNHRnljMlZJWlhnb2JuVnRZbVZ5TENCemRHRnlkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11WDNCaGNuTmxRbUZ6WlNodWRXMWlaWElzSUdKaGMyVXNJSE4wWVhKMEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YzNSeWFYQW9LVHRjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJSFJvYVhNdVgybHVhWFJCY25KaGVTaDBhR2x6TG5SdlFYSnlZWGtvS1N3Z1ltRnpaU3dnWlc1a2FXRnVLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1YVhST2RXMWlaWElnUFNCbWRXNWpkR2x2YmlCZmFXNXBkRTUxYldKbGNpQW9iblZ0WW1WeUxDQmlZWE5sTENCbGJtUnBZVzRwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ0lDQnVkVzFpWlhJZ1BTQXRiblZ0WW1WeU8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb2JuVnRZbVZ5SUR3Z01IZzBNREF3TURBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnV3lCdWRXMWlaWElnSmlBd2VETm1abVptWm1ZZ1hUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJXSmxjaUE4SURCNE1UQXdNREF3TURBd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWmNiaUFnSUNBZ0lGMDdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURJN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHVkVzFpWlhJZ1BDQXdlREl3TURBd01EQXdNREF3TURBd0tUc2dMeThnTWlCZUlEVXpJQ2gxYm5OaFptVXBYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpJRDBnVzF4dUlDQWdJQ0FnSUNCdWRXMWlaWElnSmlBd2VETm1abVptWm1Zc1hHNGdJQ0FnSUNBZ0lDaHVkVzFpWlhJZ0x5QXdlRFF3TURBd01EQXBJQ1lnTUhnelptWm1abVptTEZ4dUlDQWdJQ0FnSUNBeFhHNGdJQ0FnSUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJtUnBZVzRnSVQwOUlDZHNaU2NwSUhKbGRIVnlianRjYmx4dUlDQWdJQzh2SUZKbGRtVnljMlVnZEdobElHSjVkR1Z6WEc0Z0lDQWdkR2hwY3k1ZmFXNXBkRUZ5Y21GNUtIUm9hWE11ZEc5QmNuSmhlU2dwTENCaVlYTmxMQ0JsYm1ScFlXNHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZhVzVwZEVGeWNtRjVJRDBnWm5WdVkzUnBiMjRnWDJsdWFYUkJjbkpoZVNBb2JuVnRZbVZ5TENCaVlYTmxMQ0JsYm1ScFlXNHBJSHRjYmlBZ0lDQXZMeUJRWlhKb1lYQnpJR0VnVldsdWREaEJjbkpoZVZ4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ2JuVnRZbVZ5TG14bGJtZDBhQ0E5UFQwZ0oyNTFiV0psY2ljcE8xeHVJQ0FnSUdsbUlDaHVkVzFpWlhJdWJHVnVaM1JvSUR3OUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE1nUFNCYklEQWdYVHRjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnVFdGMGFDNWpaV2xzS0c1MWJXSmxjaTVzWlc1bmRHZ2dMeUF6S1R0Y2JpQWdJQ0IwYUdsekxuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9LVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJxTENCM08xeHVJQ0FnSUhaaGNpQnZabVlnUFNBd08xeHVJQ0FnSUdsbUlDaGxibVJwWVc0Z1BUMDlJQ2RpWlNjcElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlHNTFiV0psY2k1c1pXNW5kR2dnTFNBeExDQnFJRDBnTURzZ2FTQStQU0F3T3lCcElDMDlJRE1wSUh0Y2JpQWdJQ0FnSUNBZ2R5QTlJRzUxYldKbGNsdHBYU0I4SUNodWRXMWlaWEpiYVNBdElERmRJRHc4SURncElId2dLRzUxYldKbGNsdHBJQzBnTWwwZ1BEd2dNVFlwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcycGRJSHc5SUNoM0lEdzhJRzltWmlrZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWlBcklERmRJRDBnS0hjZ1BqNCtJQ2d5TmlBdElHOW1aaWtwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQnZabVlnS3owZ01qUTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hsYm1ScFlXNGdQVDA5SUNkc1pTY3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREFzSUdvZ1BTQXdPeUJwSUR3Z2JuVnRZbVZ5TG14bGJtZDBhRHNnYVNBclBTQXpLU0I3WEc0Z0lDQWdJQ0FnSUhjZ1BTQnVkVzFpWlhKYmFWMGdmQ0FvYm5WdFltVnlXMmtnS3lBeFhTQThQQ0E0S1NCOElDaHVkVzFpWlhKYmFTQXJJREpkSUR3OElERTJLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMm9nS3lBeFhTQTlJQ2gzSUQ0K1BpQW9NallnTFNCdlptWXBLU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2IyWm1JQ3M5SURJME8xeHVJQ0FnSUNBZ0lDQnBaaUFvYjJabUlENDlJREkyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0FnSUdvckt6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJSEJoY25ObFNHVjRJQ2h6ZEhJc0lITjBZWEowTENCbGJtUXBJSHRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlFMWhkR2d1YldsdUtITjBjaTVzWlc1bmRHZ3NJR1Z1WkNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlITjBZWEowT3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCaklEMGdjM1J5TG1Ob1lYSkRiMlJsUVhRb2FTa2dMU0EwT0R0Y2JseHVJQ0FnSUNBZ2NpQThQRDBnTkR0Y2JseHVJQ0FnSUNBZ0x5OGdKMkVuSUMwZ0oyWW5YRzRnSUNBZ0lDQnBaaUFvWXlBK1BTQTBPU0FtSmlCaklEdzlJRFUwS1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNjZ0xTQW5SaWRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvWXlBK1BTQXhOeUFtSmlCaklEdzlJREl5S1NCN1hHNGdJQ0FnSUNBZ0lISWdmRDBnWXlBdElERTNJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuTUNjZ0xTQW5PU2RjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSElnZkQwZ1l5QW1JREI0Wmp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISTdYRzRnSUgxY2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVgzQmhjbk5sU0dWNElEMGdablZ1WTNScGIyNGdYM0JoY25ObFNHVjRJQ2h1ZFcxaVpYSXNJSE4wWVhKMEtTQjdYRzRnSUNBZ0x5OGdRM0psWVhSbElIQnZjM05wWW14NUlHSnBaMmRsY2lCaGNuSmhlU0IwYnlCbGJuTjFjbVVnZEdoaGRDQnBkQ0JtYVhSeklIUm9aU0J1ZFcxaVpYSmNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndVkyVnBiQ2dvYm5WdFltVnlMbXhsYm1kMGFDQXRJSE4wWVhKMEtTQXZJRFlwTzF4dUlDQWdJSFJvYVhNdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR29zSUhjN1hHNGdJQ0FnTHk4Z1UyTmhiaUF5TkMxaWFYUWdZMmgxYm10eklHRnVaQ0JoWkdRZ2RHaGxiU0IwYnlCMGFHVWdiblZ0WW1WeVhHNGdJQ0FnZG1GeUlHOW1aaUE5SURBN1hHNGdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJRFlzSUdvZ1BTQXdPeUJwSUQ0OUlITjBZWEowT3lCcElDMDlJRFlwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lHa3NJR2tnS3lBMktUdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhbDBnZkQwZ0tIY2dQRHdnYjJabUtTQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJQzh2SUU1UFZFVTZJR0F3ZURObVptWm1abUFnYVhNZ2FXNTBaVzUwYVc5dVlXd2dhR1Z5WlN3Z01qWmlhWFJ6SUcxaGVDQnphR2xtZENBcklESTBZbWwwSUdobGVDQnNhVzFpWEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJvZ0t5QXhYU0I4UFNCM0lENCtQaUFvTWpZZ0xTQnZabVlwSUNZZ01IZ3pabVptWm1ZN1hHNGdJQ0FnSUNCdlptWWdLejBnTWpRN1hHNGdJQ0FnSUNCcFppQW9iMlptSUQ0OUlESTJLU0I3WEc0Z0lDQWdJQ0FnSUc5bVppQXRQU0F5Tmp0Y2JpQWdJQ0FnSUNBZ2Fpc3JPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCcFppQW9hU0FySURZZ0lUMDlJSE4wWVhKMEtTQjdYRzRnSUNBZ0lDQjNJRDBnY0dGeWMyVklaWGdvYm5WdFltVnlMQ0J6ZEdGeWRDd2dhU0FySURZcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFYU0I4UFNBb2R5QThQQ0J2Wm1ZcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRxSUNzZ01WMGdmRDBnZHlBK1BqNGdLREkySUMwZ2IyWm1LU0FtSURCNE0yWm1abVptTzF4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZDWVhObElDaHpkSElzSUhOMFlYSjBMQ0JsYm1Rc0lHMTFiQ2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdNRHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdUV0YwYUM1dGFXNG9jM1J5TG14bGJtZDBhQ3dnWlc1a0tUdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlHTWdQU0J6ZEhJdVkyaGhja052WkdWQmRDaHBLU0F0SURRNE8xeHVYRzRnSUNBZ0lDQnlJQ285SUcxMWJEdGNibHh1SUNBZ0lDQWdMeThnSjJFblhHNGdJQ0FnSUNCcFppQW9ZeUErUFNBME9Ta2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTWdMU0EwT1NBcklEQjRZVHRjYmx4dUlDQWdJQ0FnTHk4Z0owRW5YRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR01nUGowZ01UY3BJSHRjYmlBZ0lDQWdJQ0FnY2lBclBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0JqTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmNHRnljMlZDWVhObElEMGdablZ1WTNScGIyNGdYM0JoY25ObFFtRnpaU0FvYm5WdFltVnlMQ0JpWVhObExDQnpkR0Z5ZENrZ2UxeHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdZWE1nZW1WeWIxeHVJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJREFnWFR0Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlERTdYRzVjYmlBZ0lDQXZMeUJHYVc1a0lHeGxibWQwYUNCdlppQnNhVzFpSUdsdUlHSmhjMlZjYmlBZ0lDQm1iM0lnS0haaGNpQnNhVzFpVEdWdUlEMGdNQ3dnYkdsdFlsQnZkeUE5SURFN0lHeHBiV0pRYjNjZ1BEMGdNSGd6Wm1abVptWm1PeUJzYVcxaVVHOTNJQ285SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR3hwYldKTVpXNHJLenRjYmlBZ0lDQjlYRzRnSUNBZ2JHbHRZa3hsYmkwdE8xeHVJQ0FnSUd4cGJXSlFiM2NnUFNBb2JHbHRZbEJ2ZHlBdklHSmhjMlVwSUh3Z01EdGNibHh1SUNBZ0lIWmhjaUIwYjNSaGJDQTlJRzUxYldKbGNpNXNaVzVuZEdnZ0xTQnpkR0Z5ZER0Y2JpQWdJQ0IyWVhJZ2JXOWtJRDBnZEc5MFlXd2dKU0JzYVcxaVRHVnVPMXh1SUNBZ0lIWmhjaUJsYm1RZ1BTQk5ZWFJvTG0xcGJpaDBiM1JoYkN3Z2RHOTBZV3dnTFNCdGIyUXBJQ3NnYzNSaGNuUTdYRzVjYmlBZ0lDQjJZWElnZDI5eVpDQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhOMFlYSjBPeUJwSUR3Z1pXNWtPeUJwSUNzOUlHeHBiV0pNWlc0cElIdGNiaUFnSUNBZ0lIZHZjbVFnUFNCd1lYSnpaVUpoYzJVb2JuVnRZbVZ5TENCcExDQnBJQ3NnYkdsdFlreGxiaXdnWW1GelpTazdYRzVjYmlBZ0lDQWdJSFJvYVhNdWFXMTFiRzRvYkdsdFlsQnZkeWs3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FySUhkdmNtUWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0FyUFNCM2IzSmtPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1ZmFXRmtaRzRvZDI5eVpDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzF2WkNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIQnZkeUE5SURFN1hHNGdJQ0FnSUNCM2IzSmtJRDBnY0dGeWMyVkNZWE5sS0c1MWJXSmxjaXdnYVN3Z2JuVnRZbVZ5TG14bGJtZDBhQ3dnWW1GelpTazdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnRiMlE3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0J3YjNjZ0tqMGdZbUZ6WlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHdiM2NwTzF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11ZDI5eVpITmJNRjBnS3lCM2IzSmtJRHdnTUhnME1EQXdNREF3S1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJNRjBnS3owZ2QyOXlaRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFJvYVhNdVgybGhaR1J1S0hkdmNtUXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVkyOXdlU0E5SUdaMWJtTjBhVzl1SUdOdmNIa2dLR1JsYzNRcElIdGNiaUFnSUNCa1pYTjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvS1R0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdSbGMzUXVkMjl5WkhOYmFWMGdQU0IwYUdsekxuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0JrWlhOMExteGxibWQwYUNBOUlIUm9hWE11YkdWdVozUm9PMXh1SUNBZ0lHUmxjM1F1Ym1WbllYUnBkbVVnUFNCMGFHbHpMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHUmxjM1F1Y21Wa0lEMGdkR2hwY3k1eVpXUTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnNiMjVsSUQwZ1puVnVZM1JwYjI0Z1kyeHZibVVnS0NrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnYm1WM0lFSk9LRzUxYkd3cE8xeHVJQ0FnSUhSb2FYTXVZMjl3ZVNoeUtUdGNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJWNGNHRnVaQ0E5SUdaMWJtTjBhVzl1SUY5bGVIQmhibVFnS0hOcGVtVXBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J6YVhwbEtTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXM1JvYVhNdWJHVnVaM1JvS3l0ZElEMGdNRHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VtVnRiM1psSUd4bFlXUnBibWNnWURCZ0lHWnliMjBnWUhSb2FYTmdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkSEpwY0NBOUlHWjFibU4wYVc5dUlITjBjbWx3SUNncElIdGNiaUFnSUNCM2FHbHNaU0FvZEdocGN5NXNaVzVuZEdnZ1BpQXhJQ1ltSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdndExUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXViM0p0VTJsbmJpQTlJR1oxYm1OMGFXOXVJRjl1YjNKdFUybG5iaUFvS1NCN1hHNGdJQ0FnTHk4Z0xUQWdQU0F3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXNXpjR1ZqZENBOUlHWjFibU4wYVc5dUlHbHVjM0JsWTNRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTV5WldRZ1B5QW5QRUpPTFZJNklDY2dPaUFuUEVKT09pQW5LU0FySUhSb2FYTXVkRzlUZEhKcGJtY29NVFlwSUNzZ0p6NG5PMXh1SUNCOU8xeHVYRzRnSUM4cVhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxMDdYRzRnSUhaaGNpQm5jbTkxY0ZOcGVtVnpJRDBnVzEwN1hHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMTA3WEc1Y2JpQWdkbUZ5SUhNZ1BTQW5KenRjYmlBZ2RtRnlJR2tnUFNBdE1UdGNiaUFnZDJocGJHVWdLQ3NyYVNBOElFSk9MbmR2Y21SVGFYcGxLU0I3WEc0Z0lDQWdlbVZ5YjNOYmFWMGdQU0J6TzF4dUlDQWdJSE1nS3owZ0p6QW5PMXh1SUNCOVhHNGdJR2R5YjNWd1UybDZaWE5iTUYwZ1BTQXdPMXh1SUNCbmNtOTFjRk5wZW1Weld6RmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN3WFNBOUlEQTdYRzRnSUdkeWIzVndRbUZ6WlhOYk1WMGdQU0F3TzF4dUlDQjJZWElnWW1GelpTQTlJRElnTFNBeE8xeHVJQ0IzYUdsc1pTQW9LeXRpWVhObElEd2dNellnS3lBeEtTQjdYRzRnSUNBZ2RtRnlJR2R5YjNWd1UybDZaU0E5SURBN1hHNGdJQ0FnZG1GeUlHZHliM1Z3UW1GelpTQTlJREU3WEc0Z0lDQWdkMmhwYkdVZ0tHZHliM1Z3UW1GelpTQThJQ2d4SUR3OElFSk9MbmR2Y21SVGFYcGxLU0F2SUdKaGMyVXBJSHRjYmlBZ0lDQWdJR2R5YjNWd1FtRnpaU0FxUFNCaVlYTmxPMXh1SUNBZ0lDQWdaM0p2ZFhCVGFYcGxJQ3M5SURFN1hHNGdJQ0FnZlZ4dUlDQWdJR2R5YjNWd1UybDZaWE5iWW1GelpWMGdQU0JuY205MWNGTnBlbVU3WEc0Z0lDQWdaM0p2ZFhCQ1lYTmxjMXRpWVhObFhTQTlJR2R5YjNWd1FtRnpaVHRjYmlBZ2ZWeHVYRzRnSUNvdlhHNWNiaUFnZG1GeUlIcGxjbTl6SUQwZ1cxeHVJQ0FnSUNjbkxGeHVJQ0FnSUNjd0p5eGNiaUFnSUNBbk1EQW5MRnh1SUNBZ0lDY3dNREFuTEZ4dUlDQWdJQ2N3TURBd0p5eGNiaUFnSUNBbk1EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBbkxGeHVJQ0FnSUNjd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0p5eGNiaUFnSUNBbk1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQW5MRnh1SUNBZ0lDY3dNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0oxeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRk5wZW1WeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNalVzSURFMkxDQXhNaXdnTVRFc0lERXdMQ0E1TENBNExGeHVJQ0FnSURnc0lEY3NJRGNzSURjc0lEY3NJRFlzSURZc1hHNGdJQ0FnTml3Z05pd2dOaXdnTml3Z05pd2dOU3dnTlN4Y2JpQWdJQ0ExTENBMUxDQTFMQ0ExTENBMUxDQTFMQ0ExTEZ4dUlDQWdJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNJRFZjYmlBZ1hUdGNibHh1SUNCMllYSWdaM0p2ZFhCQ1lYTmxjeUE5SUZ0Y2JpQWdJQ0F3TENBd0xGeHVJQ0FnSURNek5UVTBORE15TENBME16QTBOamN5TVN3Z01UWTNOemN5TVRZc0lEUTRPREk0TVRJMUxDQTJNRFEyTmpFM05pd2dOREF6TlRNMk1EY3NJREUyTnpjM01qRTJMRnh1SUNBZ0lEUXpNRFEyTnpJeExDQXhNREF3TURBd01Dd2dNVGswT0RjeE56RXNJRE0xT0RNeE9EQTRMQ0EyTWpjME9EVXhOeXdnTnpVeU9UVXpOaXdnTVRFek9UQTJNalVzWEc0Z0lDQWdNVFkzTnpjeU1UWXNJREkwTVRNM05UWTVMQ0F6TkRBeE1qSXlOQ3dnTkRjd05EVTRPREVzSURZME1EQXdNREF3TENBME1EZzBNVEF4TENBMU1UVXpOak15TEZ4dUlDQWdJRFkwTXpZek5ETXNJRGM1TmpJMk1qUXNJRGszTmpVMk1qVXNJREV4T0RneE16YzJMQ0F4TkRNME9Ea3dOeXdnTVRjeU1UQXpOamdzSURJd05URXhNVFE1TEZ4dUlDQWdJREkwTXpBd01EQXdMQ0F5T0RZeU9URTFNU3dnTXpNMU5UUTBNeklzSURNNU1UTTFNemt6TENBME5UUXpOVFF5TkN3Z05USTFNakU0TnpVc0lEWXdORFkyTVRjMlhHNGdJRjA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuSUQwZ1puVnVZM1JwYjI0Z2RHOVRkSEpwYm1jZ0tHSmhjMlVzSUhCaFpHUnBibWNwSUh0Y2JpQWdJQ0JpWVhObElEMGdZbUZ6WlNCOGZDQXhNRHRjYmlBZ0lDQndZV1JrYVc1bklEMGdjR0ZrWkdsdVp5QjhJREFnZkh3Z01UdGNibHh1SUNBZ0lIWmhjaUJ2ZFhRN1hHNGdJQ0FnYVdZZ0tHSmhjMlVnUFQwOUlERTJJSHg4SUdKaGMyVWdQVDA5SUNkb1pYZ25LU0I3WEc0Z0lDQWdJQ0J2ZFhRZ1BTQW5KenRjYmlBZ0lDQWdJSFpoY2lCdlptWWdQU0F3TzF4dUlDQWdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzYjNKa0lEMGdLQ2dvZHlBOFBDQnZabVlwSUh3Z1kyRnljbmtwSUNZZ01IaG1abVptWm1ZcExuUnZVM1J5YVc1bktERTJLVHRjYmlBZ0lDQWdJQ0FnWTJGeWNua2dQU0FvZHlBK1BqNGdLREkwSUMwZ2IyWm1LU2tnSmlBd2VHWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dJVDA5SUhSb2FYTXViR1Z1WjNSb0lDMGdNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhwbGNtOXpXellnTFNCM2IzSmtMbXhsYm1kMGFGMGdLeUIzYjNKa0lDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhkdmNtUWdLeUJ2ZFhRN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdiMlptSUNzOUlESTdYRzRnSUNBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdJQ0J2Wm1ZZ0xUMGdNalk3WEc0Z0lDQWdJQ0FnSUNBZ2FTMHRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdZMkZ5Y25rdWRHOVRkSEpwYm1jb01UWXBJQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2QyaHBiR1VnS0c5MWRDNXNaVzVuZEdnZ0pTQndZV1JrYVc1bklDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJQ2N0SnlBcklHOTFkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQnZkWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dKaGMyVWdQVDA5SUNoaVlYTmxJSHdnTUNrZ0ppWWdZbUZ6WlNBK1BTQXlJQ1ltSUdKaGMyVWdQRDBnTXpZcElIdGNiaUFnSUNBZ0lDOHZJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRUpPTG5kdmNtUlRhWHBsSUNvZ1RXRjBhQzVNVGpJZ0x5Qk5ZWFJvTG14dlp5aGlZWE5sS1NrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCVGFYcGxJRDBnWjNKdmRYQlRhWHBsYzF0aVlYTmxYVHRjYmlBZ0lDQWdJQzh2SUhaaGNpQm5jbTkxY0VKaGMyVWdQU0JOWVhSb0xuQnZkeWhpWVhObExDQm5jbTkxY0ZOcGVtVXBPMXh1SUNBZ0lDQWdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlHZHliM1Z3UW1GelpYTmJZbUZ6WlYwN1hHNGdJQ0FnSUNCdmRYUWdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQmpJRDBnZEdocGN5NWpiRzl1WlNncE8xeHVJQ0FnSUNBZ1l5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9JV011YVhOYVpYSnZLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSElnUFNCakxtMXZaRzRvWjNKdmRYQkNZWE5sS1M1MGIxTjBjbWx1WnloaVlYTmxLVHRjYmlBZ0lDQWdJQ0FnWXlBOUlHTXVhV1JwZG00b1ozSnZkWEJDWVhObEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb0lXTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCdmRYUWdQU0I2WlhKdmMxdG5jbTkxY0ZOcGVtVWdMU0J5TG14bGJtZDBhRjBnS3lCeUlDc2diM1YwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHOTFkQ0E5SUhJZ0t5QnZkWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjd0p5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhkb2FXeGxJQ2h2ZFhRdWJHVnVaM1JvSUNVZ2NHRmtaR2x1WnlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCdmRYUWdQU0FuTUNjZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdJQ0J2ZFhRZ1BTQW5MU2NnS3lCdmRYUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z2IzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHRnpjMlZ5ZENobVlXeHpaU3dnSjBKaGMyVWdjMmh2ZFd4a0lHSmxJR0psZEhkbFpXNGdNaUJoYm1RZ016WW5LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlPZFcxaVpYSWdQU0JtZFc1amRHbHZiaUIwYjA1MWJXSmxjaUFvS1NCN1hHNGdJQ0FnZG1GeUlISmxkQ0E5SUhSb2FYTXVkMjl5WkhOYk1GMDdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXlLU0I3WEc0Z0lDQWdJQ0J5WlhRZ0t6MGdkR2hwY3k1M2IzSmtjMXN4WFNBcUlEQjROREF3TURBd01EdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeklDWW1JSFJvYVhNdWQyOXlaSE5iTWwwZ1BUMDlJREI0TURFcElIdGNiaUFnSUNBZ0lDOHZJRTVQVkVVNklHRjBJSFJvYVhNZ2MzUmhaMlVnYVhRZ2FYTWdhMjV2ZDI0Z2RHaGhkQ0IwYUdVZ2RHOXdJR0pwZENCcGN5QnpaWFJjYmlBZ0lDQWdJSEpsZENBclBTQXdlREV3TURBd01EQXdNREF3TURBd0lDc2dLSFJvYVhNdWQyOXlaSE5iTVYwZ0tpQXdlRFF3TURBd01EQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlBeUtTQjdYRzRnSUNBZ0lDQmhjM05sY25Rb1ptRnNjMlVzSUNkT2RXMWlaWElnWTJGdUlHOXViSGtnYzJGbVpXeDVJSE4wYjNKbElIVndJSFJ2SURVeklHSnBkSE1uS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0EvSUMxeVpYUWdPaUJ5WlhRN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlNsTlBUaUE5SUdaMWJtTjBhVzl1SUhSdlNsTlBUaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWRHOVRkSEpwYm1jb01UWXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTBiMEoxWm1abGNpQTlJR1oxYm1OMGFXOXVJSFJ2UW5WbVptVnlJQ2hsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnUW5WbVptVnlJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVkRzlCY25KaGVVeHBhMlVvUW5WbVptVnlMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuUnZRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQjBiMEZ5Y21GNUlDaGxibVJwWVc0c0lHeGxibWQwYUNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuUnZRWEp5WVhsTWFXdGxLRUZ5Y21GNUxDQmxibVJwWVc0c0lHeGxibWQwYUNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFYSnlZWGxNYVd0bElEMGdablZ1WTNScGIyNGdkRzlCY25KaGVVeHBhMlVnS0VGeWNtRjVWSGx3WlN3Z1pXNWthV0Z1TENCc1pXNW5kR2dwSUh0Y2JpQWdJQ0IyWVhJZ1lubDBaVXhsYm1kMGFDQTlJSFJvYVhNdVlubDBaVXhsYm1kMGFDZ3BPMXh1SUNBZ0lIWmhjaUJ5WlhGTVpXNW5kR2dnUFNCc1pXNW5kR2dnZkh3Z1RXRjBhQzV0WVhnb01Td2dZbmwwWlV4bGJtZDBhQ2s3WEc0Z0lDQWdZWE56WlhKMEtHSjVkR1ZNWlc1bmRHZ2dQRDBnY21WeFRHVnVaM1JvTENBbllubDBaU0JoY25KaGVTQnNiMjVuWlhJZ2RHaGhiaUJrWlhOcGNtVmtJR3hsYm1kMGFDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoeVpYRk1aVzVuZEdnZ1BpQXdMQ0FuVW1WeGRXVnpkR1ZrSUdGeWNtRjVJR3hsYm1kMGFDQThQU0F3SnlrN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzRnSUNBZ2RtRnlJR3hwZEhSc1pVVnVaR2xoYmlBOUlHVnVaR2xoYmlBOVBUMGdKMnhsSnp0Y2JpQWdJQ0IyWVhJZ2NtVnpJRDBnYm1WM0lFRnljbUY1Vkhsd1pTaHlaWEZNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdkbUZ5SUdJc0lHazdYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2FXWWdLQ0ZzYVhSMGJHVkZibVJwWVc0cElIdGNiaUFnSUNBZ0lDOHZJRUZ6YzNWdFpTQmlhV2N0Wlc1a2FXRnVYRzRnSUNBZ0lDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2NtVnhUR1Z1WjNSb0lDMGdZbmwwWlV4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lDRnhMbWx6V21WeWJ5Z3BPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdZaUE5SUhFdVlXNWtiRzRvTUhobVppazdYRzRnSUNBZ0lDQWdJSEV1YVhWemFISnVLRGdwTzF4dVhHNGdJQ0FnSUNBZ0lISmxjMXR5WlhGTVpXNW5kR2dnTFNCcElDMGdNVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lBaGNTNXBjMXBsY204b0tUc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lHSWdQU0J4TG1GdVpHeHVLREI0Wm1ZcE8xeHVJQ0FnSUNBZ0lDQnhMbWwxYzJoeWJpZzRLVHRjYmx4dUlDQWdJQ0FnSUNCeVpYTmJhVjBnUFNCaU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJSEpsY1V4bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCcFppQW9UV0YwYUM1amJIb3pNaWtnZTF4dUlDQWdJRUpPTG5CeWIzUnZkSGx3WlM1ZlkyOTFiblJDYVhSeklEMGdablZ1WTNScGIyNGdYMk52ZFc1MFFtbDBjeUFvZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SURNeUlDMGdUV0YwYUM1amJIb3pNaWgzS1R0Y2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUVKT0xuQnliM1J2ZEhsd1pTNWZZMjkxYm5SQ2FYUnpJRDBnWm5WdVkzUnBiMjRnWDJOdmRXNTBRbWwwY3lBb2R5a2dlMXh1SUNBZ0lDQWdkbUZ5SUhRZ1BTQjNPMXh1SUNBZ0lDQWdkbUZ5SUhJZ1BTQXdPMXh1SUNBZ0lDQWdhV1lnS0hRZ1BqMGdNSGd4TURBd0tTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ01UTTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoMElENDlJREI0TkRBcElIdGNiaUFnSUNBZ0lDQWdjaUFyUFNBM08xeHVJQ0FnSUNBZ0lDQjBJRDQrUGowZ056dGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwSUQ0OUlEQjRPQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnd01pa2dlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlESTdYRzRnSUNBZ0lDQWdJSFFnUGo0K1BTQXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdjbVYwZFhKdUlISWdLeUIwTzF4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYM3BsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnWDNwbGNtOUNhWFJ6SUNoM0tTQjdYRzRnSUNBZ0x5OGdVMmh2Y25RdFkzVjBYRzRnSUNBZ2FXWWdLSGNnUFQwOUlEQXBJSEpsZEhWeWJpQXlOanRjYmx4dUlDQWdJSFpoY2lCMElEMGdkenRjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3habVptS1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY2lBclBTQXhNenRjYmlBZ0lDQWdJSFFnUGo0K1BTQXhNenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZzNaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ056dGNiaUFnSUNBZ0lIUWdQajQrUFNBM08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZUdZcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJRFE3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdORHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3pLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaUFyUFNBeU8xeHVJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNnb2RDQW1JREI0TVNrZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJckt6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHNTFiV0psY2lCdlppQjFjMlZrSUdKcGRITWdhVzRnWVNCQ1RseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbDBUR1Z1WjNSb0lEMGdablZ1WTNScGIyNGdZbWwwVEdWdVozUm9JQ2dwSUh0Y2JpQWdJQ0IyWVhJZ2R5QTlJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdnZ0xTQXhYVHRjYmlBZ0lDQjJZWElnYUdrZ1BTQjBhR2x6TGw5amIzVnVkRUpwZEhNb2R5azdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbXhsYm1kMGFDQXRJREVwSUNvZ01qWWdLeUJvYVR0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQjBiMEpwZEVGeWNtRjVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdkeUE5SUc1bGR5QkJjbkpoZVNodWRXMHVZbWwwVEdWdVozUm9LQ2twTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnWW1sMElEMGdNRHNnWW1sMElEd2dkeTVzWlc1bmRHZzdJR0pwZENzcktTQjdYRzRnSUNBZ0lDQjJZWElnYjJabUlEMGdLR0pwZENBdklESTJLU0I4SURBN1hHNGdJQ0FnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ0lDQjNXMkpwZEYwZ1BTQW9iblZ0TG5kdmNtUnpXMjltWmwwZ0ppQW9NU0E4UENCM1ltbDBLU2tnUGo0K0lIZGlhWFE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIYzdYRzRnSUgxY2JseHVJQ0F2THlCT2RXMWlaWElnYjJZZ2RISmhhV3hwYm1jZ2VtVnlieUJpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NlpYSnZRbWwwY3lBOUlHWjFibU4wYVc5dUlIcGxjbTlDYVhSeklDZ3BJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXBjMXBsY204b0tTa2djbVYwZFhKdUlEQTdYRzVjYmlBZ0lDQjJZWElnY2lBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11WDNwbGNtOUNhWFJ6S0hSb2FYTXVkMjl5WkhOYmFWMHBPMXh1SUNBZ0lDQWdjaUFyUFNCaU8xeHVJQ0FnSUNBZ2FXWWdLR0lnSVQwOUlESTJLU0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUo1ZEdWTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWVYUmxUR1Z1WjNSb0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1RXRjBhQzVqWldsc0tIUm9hWE11WW1sMFRHVnVaM1JvS0NrZ0x5QTRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlVZDI5eklEMGdablZ1WTNScGIyNGdkRzlVZDI5eklDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1aFluTW9LUzVwYm05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxVWQyOXpJRDBnWm5WdVkzUnBiMjRnWm5KdmJWUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVkR1Z6ZEc0b2QybGtkR2dnTFNBeEtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11Ym05MGJpaDNhV1IwYUNrdWFXRmtaRzRvTVNrdWFXNWxaeWdwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjMDVsWnlBOUlHWjFibU4wYVc5dUlHbHpUbVZuSUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlhSMWNtNGdibVZuWVhScGRtVWdZMnh2Ym1VZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dVpXY2dQU0JtZFc1amRHbHZiaUJ1WldjZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzVsWnlncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGJtVm5JRDBnWm5WdVkzUnBiMjRnYVc1bFp5QW9LU0I3WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElGNDlJREU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUM0lnWUc1MWJXQWdkMmwwYUNCZ2RHaHBjMkFnYVc0dGNHeGhZMlZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYjNJZ1BTQm1kVzVqZEdsdmJpQnBkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQjNhR2xzWlNBb2RHaHBjeTVzWlc1bmRHZ2dQQ0J1ZFcwdWJHVnVaM1JvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelczUm9hWE11YkdWdVozUm9LeXRkSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVc5eUlEMGdablZ1WTNScGIyNGdhVzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkVzl5S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1QzSWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtOXlJRDBnWm5WdVkzUnBiMjRnYjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXOXlLRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYlM1amJHOXVaU2dwTG1sdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFc5eUlEMGdablZ1WTNScGIyNGdkVzl5SUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sMWIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWdmNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCYm1RZ1lHNTFiV0FnZDJsMGFDQmdkR2hwYzJBZ2FXNHRjR3hoWTJWY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sMVlXNWtJRDBnWm5WdVkzUnBiMjRnYVhWaGJtUWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklHSWdQU0J0YVc0dGJHVnVaM1JvS0c1MWJTd2dkR2hwY3lsY2JpQWdJQ0IyWVhJZ1lqdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0l1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCMGFHbHpMbmR2Y21SelcybGRJQ1lnYm5WdExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdZaTVzWlc1bmRHZzdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZVzVrSUQwZ1puVnVZM1JwYjI0Z2FXRnVaQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NoMGFHbHpMbTVsWjJGMGFYWmxJSHdnYm5WdExtNWxaMkYwYVhabEtTQTlQVDBnTUNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFYVmhibVFvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQmJtUWdZRzUxYldBZ2QybDBhQ0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtRnVaQ0E5SUdaMWJtTjBhVzl1SUdGdVpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZVzVrS0c1MWJTazdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNWpiRzl1WlNncExtbGhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuVmhibVFnUFNCbWRXNWpkR2x2YmlCMVlXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWwxWVc1a0tHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWwxWVc1a0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRmh2Y2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWNGIzSWdQU0JtZFc1amRHbHZiaUJwZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1lTNXNaVzVuZEdnZ1BpQmlMbXhsYm1kMGFGeHVJQ0FnSUhaaGNpQmhPMXh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdFZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWWlBOUlHNTFiVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lTQTlJRzUxYlR0Y2JpQWdJQ0FnSUdJZ1BTQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMGdYaUJpTG5kdmNtUnpXMmxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGFHbHpJQ0U5UFNCaEtTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWw0YjNJZ1BTQm1kVzVqZEdsdmJpQnBlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb0tIUm9hWE11Ym1WbllYUnBkbVVnZkNCdWRXMHVibVZuWVhScGRtVXBJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWGh2Y2lodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUM4dklGaHZjaUJnYm5WdFlDQjNhWFJvSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVlRzl5SUQwZ1puVnVZM1JwYjI0Z2VHOXlJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCdWRXMHViR1Z1WjNSb0tTQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWw0YjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkWGh2Y2lBOUlHWjFibU4wYVc5dUlIVjRiM0lnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lHNTFiUzVzWlc1bmRHZ3BJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhWNGIzSW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVhWNGIzSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVG05MElHQmdkR2hwYzJCZ0lIZHBkR2dnWUdCM2FXUjBhR0JnSUdKcGRIZHBaSFJvWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm05MGJpQTlJR1oxYm1OMGFXOXVJR2x1YjNSdUlDaDNhV1IwYUNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdkMmxrZEdnZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUhkcFpIUm9JRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJR0o1ZEdWelRtVmxaR1ZrSUQwZ1RXRjBhQzVqWldsc0tIZHBaSFJvSUM4Z01qWXBJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltbDBjMHhsWm5RZ1BTQjNhV1IwYUNBbElESTJPMXh1WEc0Z0lDQWdMeThnUlhoMFpXNWtJSFJvWlNCaWRXWm1aWElnZDJsMGFDQnNaV0ZrYVc1bklIcGxjbTlsYzF4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoaWVYUmxjMDVsWldSbFpDazdYRzVjYmlBZ0lDQnBaaUFvWW1sMGMweGxablFnUGlBd0tTQjdYRzRnSUNBZ0lDQmllWFJsYzA1bFpXUmxaQzB0TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0JqYjIxd2JHVjBaU0IzYjNKa2MxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lubDBaWE5PWldWa1pXUTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVoaGJtUnNaU0IwYUdVZ2NtVnphV1IxWlZ4dUlDQWdJR2xtSUNoaWFYUnpUR1ZtZENBK0lEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVYwZ1BTQitkR2hwY3k1M2IzSmtjMXRwWFNBbUlDZ3dlRE5tWm1abVptWWdQajRnS0RJMklDMGdZbWwwYzB4bFpuUXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCYm1RZ2NtVnRiM1psSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJtOTBiaUE5SUdaMWJtTjBhVzl1SUc1dmRHNGdLSGRwWkhSb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBibTkwYmloM2FXUjBhQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMlYwSUdCaWFYUmdJRzltSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMlYwYmlBOUlHWjFibU4wYVc5dUlITmxkRzRnS0dKcGRDd2dkbUZzS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQmlhWFFnUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZENBK1BTQXdLVHRjYmx4dUlDQWdJSFpoY2lCdlptWWdQU0FvWW1sMElDOGdNallwSUh3Z01EdGNiaUFnSUNCMllYSWdkMkpwZENBOUlHSnBkQ0FsSURJMk8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLRzltWmlBcklERXBPMXh1WEc0Z0lDQWdhV1lnS0haaGJDa2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXR2Wm1aZElEMGdkR2hwY3k1M2IzSmtjMXR2Wm1aZElId2dLREVnUER3Z2QySnBkQ2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJiMlptWFNBOUlIUm9hWE11ZDI5eVpITmJiMlptWFNBbUlING9NU0E4UENCM1ltbDBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUM4dklFRmtaQ0JnYm5WdFlDQjBieUJnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbGhaR1FnUFNCbWRXNWpkR2x2YmlCcFlXUmtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjanRjYmx4dUlDQWdJQzh2SUc1bFoyRjBhWFpsSUNzZ2NHOXphWFJwZG1WY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUJ1ZFcwdWJtVm5ZWFJwZG1VZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUJ3YjNOcGRHbDJaU0FySUc1bFoyRjBhWFpsWEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHpkV0lvYm5WdEtUdGNiaUFnSUNBZ0lHNTFiUzV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY2k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhMbXhsYm1kMGFDQStJR0l1YkdWdVozUm9YRzRnSUNBZ2RtRnlJR0VzSUdJN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDc2dLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQmpZWEp5ZVNBOUlISWdQajQrSURJMk8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dZMkZ5Y25rZ0lUMDlJREFnSmlZZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lISWdQU0FvWVM1M2IzSmtjMXRwWFNCOElEQXBJQ3NnWTJGeWNuazdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQWdJR05oY25KNUlEMGdjaUErUGo0Z01qWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0JoTG14bGJtZDBhRHRjYmlBZ0lDQnBaaUFvWTJGeWNua2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJkR2hwY3k1c1pXNW5kR2hkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUM4dklFTnZjSGtnZEdobElISmxjM1FnYjJZZ2RHaGxJSGR2Y21SelhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQm1iM0lnS0RzZ2FTQThJR0V1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHRXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXUmtJR0J1ZFcxZ0lIUnZJR0IwYUdsellGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlXUmtJRDBnWm5WdVkzUnBiMjRnWVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0IyWVhJZ2NtVnpPMXh1SUNBZ0lHbG1JQ2h1ZFcwdWJtVm5ZWFJwZG1VZ0lUMDlJREFnSmlZZ2RHaHBjeTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxjeUE5SUhSb2FYTXVjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCeVpYTWdQU0J1ZFcwdWMzVmlLSFJvYVhNcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhV0ZrWkNodWRXMHBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHNTFiUzVqYkc5dVpTZ3BMbWxoWkdRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2h1ZFcwcElIdGNiaUFnSUNBdkx5QjBhR2x6SUMwZ0tDMXVkVzBwSUQwZ2RHaHBjeUFySUc1MWJWeHVJQ0FnSUdsbUlDaHVkVzB1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzUxYlM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dVhHNGdJQ0FnTHk4Z0xYUm9hWE1nTFNCdWRXMGdQU0F0S0hSb2FYTWdLeUJ1ZFcwcFhHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVdGa1pDaHVkVzBwTzF4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREU3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmJtOXliVk5wWjI0b0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QkJkQ0IwYUdseklIQnZhVzUwSUdKdmRHZ2diblZ0WW1WeWN5QmhjbVVnY0c5emFYUnBkbVZjYmlBZ0lDQjJZWElnWTIxd0lEMGdkR2hwY3k1amJYQW9iblZ0S1R0Y2JseHVJQ0FnSUM4dklFOXdkR2x0YVhwaGRHbHZiaUF0SUhwbGNtOXBabmxjYmlBZ0lDQnBaaUFvWTIxd0lEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnWVNBK0lHSmNiaUFnSUNCMllYSWdZU3dnWWp0Y2JpQWdJQ0JwWmlBb1kyMXdJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1lTQTlJSFJvYVhNN1hHNGdJQ0FnSUNCaUlEMGdiblZ0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhJRDBnYm5WdE8xeHVJQ0FnSUNBZ1lpQTlJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHSXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhJZ1BTQW9ZUzUzYjNKa2MxdHBYU0I4SURBcElDMGdLR0l1ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnZlZ4dUlDQWdJR1p2Y2lBb095QmpZWEp5ZVNBaFBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2NpQTlJQ2hoTG5kdmNtUnpXMmxkSUh3Z01Da2dLeUJqWVhKeWVUdGNiaUFnSUNBZ0lHTmhjbko1SUQwZ2NpQStQaUF5Tmp0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFTnZjSGtnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQnBaaUFvWTJGeWNua2dQVDA5SURBZ0ppWWdhU0E4SUdFdWJHVnVaM1JvSUNZbUlHRWdJVDA5SUhSb2FYTXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb095QnBJRHdnWVM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdZUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBLVHRjYmx4dUlDQWdJR2xtSUNoaElDRTlQU0IwYUdsektTQjdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOMVluUnlZV04wSUdCdWRXMWdJR1p5YjIwZ1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWE4xWWlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhOdFlXeHNUWFZzVkc4Z0tITmxiR1lzSUc1MWJTd2diM1YwS1NCN1hHNGdJQ0FnYjNWMExtNWxaMkYwYVhabElEMGdiblZ0TG01bFoyRjBhWFpsSUY0Z2MyVnNaaTV1WldkaGRHbDJaVHRjYmlBZ0lDQjJZWElnYkdWdUlEMGdLSE5sYkdZdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDa2dmQ0F3TzF4dUlDQWdJRzkxZEM1c1pXNW5kR2dnUFNCc1pXNDdYRzRnSUNBZ2JHVnVJRDBnS0d4bGJpQXRJREVwSUh3Z01EdGNibHh1SUNBZ0lDOHZJRkJsWld3Z2IyNWxJR2wwWlhKaGRHbHZiaUFvWTI5dGNHbHNaWElnWTJGdUozUWdaRzhnYVhRc0lHSmxZMkYxYzJVZ2IyWWdZMjlrWlNCamIyMXdiR1Y0YVhSNUtWeHVJQ0FnSUhaaGNpQmhJRDBnYzJWc1ppNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdJZ1BTQnVkVzB1ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUhaaGNpQnlJRDBnWVNBcUlHSTdYRzVjYmlBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJSFpoY2lCallYSnllU0E5SUNoeUlDOGdNSGcwTURBd01EQXdLU0I4SURBN1hHNGdJQ0FnYjNWMExuZHZjbVJ6V3pCZElEMGdiRzg3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJySUQwZ01Uc2dheUE4SUd4bGJqc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHTmhjbko1SUQ0K1BpQXlOanRjYmlBZ0lDQWdJSFpoY2lCeWQyOXlaQ0E5SUdOaGNuSjVJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZG1GeUlHMWhlRW9nUFNCTllYUm9MbTFwYmlockxDQnVkVzB1YkdWdVozUm9JQzBnTVNrN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdUV0YwYUM1dFlYZ29NQ3dnYXlBdElITmxiR1l1YkdWdVozUm9JQ3NnTVNrN0lHb2dQRDBnYldGNFNqc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ0tHc2dMU0JxS1NCOElEQTdYRzRnSUNBZ0lDQWdJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lpQTlJRzUxYlM1M2IzSmtjMXRxWFNCOElEQTdYRzRnSUNBZ0lDQWdJSElnUFNCaElDb2dZaUFySUhKM2IzSmtPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dLejBnS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NuZHZjbVFnUFNCeUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdiM1YwTG5kdmNtUnpXMnRkSUQwZ2NuZHZjbVFnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCdVkyRnljbmtnZkNBd08xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJRzkxZEM1M2IzSmtjMXRyWFNBOUlHTmhjbko1SUh3Z01EdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUMwdE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ2ZFhRdWMzUnlhWEFvS1R0Y2JpQWdmVnh1WEc0Z0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbDBJRzFoZVNCaVpTQnlaV0Z6YjI1aFlteGxJSFJ2SUc5dGFYUWdhWFFnWm05eUlIVnpaWEp6SUhkb2J5QmtiMjRuZENCdVpXVmtYRzRnSUM4dklIUnZJSGR2Y21zZ2QybDBhQ0F5TlRZdFltbDBJRzUxYldKbGNuTXNJRzkwYUdWeWQybHpaU0JwZENCbmFYWmxjeUF5TUNVZ2FXMXdjbTkyWlcxbGJuUWdabTl5SURJMU5pMWlhWFJjYmlBZ0x5OGdiWFZzZEdsd2JHbGpZWFJwYjI0Z0tHeHBhMlVnWld4c2FYQjBhV01nYzJWamNESTFObXN4S1M1Y2JpQWdkbUZ5SUdOdmJXSXhNRTExYkZSdklEMGdablZ1WTNScGIyNGdZMjl0WWpFd1RYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpPMXh1SUNBZ0lIWmhjaUJpSUQwZ2JuVnRMbmR2Y21Sek8xeHVJQ0FnSUhaaGNpQnZJRDBnYjNWMExuZHZjbVJ6TzF4dUlDQWdJSFpoY2lCaklEMGdNRHRjYmlBZ0lDQjJZWElnYkc4N1hHNGdJQ0FnZG1GeUlHMXBaRHRjYmlBZ0lDQjJZWElnYUdrN1hHNGdJQ0FnZG1GeUlHRXdJRDBnWVZzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc01DQTlJR0V3SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEQWdQU0JoTUNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFeElEMGdZVnN4WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTVNBOUlHRXhJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURFZ1BTQmhNU0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0V5SUQwZ1lWc3lYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNNaUE5SUdFeUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRElnUFNCaE1pQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRXpJRDBnWVZzelhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc015QTlJR0V6SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFETWdQU0JoTXlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFMElEMGdZVnMwWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTkNBOUlHRTBJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURRZ1BTQmhOQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0UxSUQwZ1lWczFYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNOU0E5SUdFMUlDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRFVnUFNCaE5TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTJJRDBnWVZzMlhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc05pQTlJR0UySUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEWWdQU0JoTmlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdFM0lEMGdZVnMzWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0ZzTnlBOUlHRTNJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJoYURjZ1BTQmhOeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0U0SUQwZ1lWczRYU0I4SURBN1hHNGdJQ0FnZG1GeUlHRnNPQ0E5SUdFNElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmhhRGdnUFNCaE9DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHRTVJRDBnWVZzNVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdGc09TQTlJR0U1SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaGFEa2dQU0JoT1NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJd0lEMGdZbHN3WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTUNBOUlHSXdJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURBZ1BTQmlNQ0ErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0l4SUQwZ1lsc3hYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNNU0E5SUdJeElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhREVnUFNCaU1TQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSXlJRDBnWWxzeVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc01pQTlJR0l5SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFESWdQU0JpTWlBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJeklEMGdZbHN6WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTXlBOUlHSXpJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURNZ1BTQmlNeUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kwSUQwZ1lsczBYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOQ0E5SUdJMElDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRFFnUFNCaU5DQStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTFJRDBnWWxzMVhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc05TQTlJR0kxSUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEVWdQU0JpTlNBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJMklEMGdZbHMyWFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzTmlBOUlHSTJJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURZZ1BTQmlOaUErUGo0Z01UTTdYRzRnSUNBZ2RtRnlJR0kzSUQwZ1lsczNYU0I4SURBN1hHNGdJQ0FnZG1GeUlHSnNOeUE5SUdJM0lDWWdNSGd4Wm1abU8xeHVJQ0FnSUhaaGNpQmlhRGNnUFNCaU55QStQajRnTVRNN1hHNGdJQ0FnZG1GeUlHSTRJRDBnWWxzNFhTQjhJREE3WEc0Z0lDQWdkbUZ5SUdKc09DQTlJR0k0SUNZZ01IZ3habVptTzF4dUlDQWdJSFpoY2lCaWFEZ2dQU0JpT0NBK1BqNGdNVE03WEc0Z0lDQWdkbUZ5SUdJNUlEMGdZbHM1WFNCOElEQTdYRzRnSUNBZ2RtRnlJR0pzT1NBOUlHSTVJQ1lnTUhneFptWm1PMXh1SUNBZ0lIWmhjaUJpYURrZ1BTQmlPU0ErUGo0Z01UTTdYRzVjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCelpXeG1MbTVsWjJGMGFYWmxJRjRnYm5WdExtNWxaMkYwYVhabE8xeHVJQ0FnSUc5MWRDNXNaVzVuZEdnZ1BTQXhPVHRjYmlBZ0lDQXZLaUJySUQwZ01DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnd0xDQmlhREFwTzF4dUlDQWdJSFpoY2lCM01DQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6QWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGN3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpFZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNU0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRElnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTWlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpJZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3lJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNeUFxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpNZ1BqNCtJREkyS1NrZ2ZDQXdPMXh1SUNBZ0lIY3pJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdOQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13d0tUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmlhREFwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRBcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURBcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTVNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1neUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpRZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOQ0FtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRFVnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM05TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6VWdQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGMxSUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltd3dLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURBcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJEQXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFEQXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOaUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kellnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ055QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d3TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQjJZWElnZHpjZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNOeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnTHlvZ2F5QTlJRGdnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc01DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13d0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW1nd0tUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemdnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjNElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d6TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTWl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3d0xDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM09TQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6a2dQajQrSURJMktTa2dmQ0F3TzF4dUlDQWdJSGM1SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRBZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNU2s3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neEtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3hLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJESXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltd3pLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTlNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFVwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXcyS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13M0tTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzTnlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRncEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiREVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NU3dnWW13NUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUIzTVRBZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE1DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekV3SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNBdktpQnJJRDBnTVRFZ0tpOWNiaUFnSUNCc2J5QTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSnNNaWs3WEc0Z0lDQWdiV2xrSUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW1neUtUdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdUV0YwYUM1cGJYVnNLR0ZvT1N3Z1ltZ3lLVHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRnc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFETXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3lMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TVNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVEVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TWlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltd3pLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURNcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFETXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9OaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEUXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3pMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb015d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVElnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TWlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RXlJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVE1nS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc05DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nMEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OeXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFlzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cxTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTkN3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UTWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFeklDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UUWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTlNrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzFLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWcxS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzFMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TkNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMElENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFFnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TlNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzJLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURZcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEWXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzVLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM01UVWdQU0FvS0NoaklDc2diRzhwSUh3Z01Da2dLeUFvS0cxcFpDQW1JREI0TVdabVppa2dQRHdnTVRNcEtTQjhJREE3WEc0Z0lDQWdZeUE5SUNnb0tHaHBJQ3NnS0cxcFpDQStQajRnTVRNcEtTQjhJREFwSUNzZ0tIY3hOU0ErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpFMUlDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01UWWdLaTljYmlBZ0lDQnNieUE5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pzTnlrN1hHNGdJQ0FnYldsa0lEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltZzNLVHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Td2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnVFdGMGFDNXBiWFZzS0dGb09Td2dZbWczS1R0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbWc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb055d2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNVFlnUFNBb0tDaGpJQ3NnYkc4cElId2dNQ2tnS3lBb0tHMXBaQ0FtSURCNE1XWm1aaWtnUER3Z01UTXBLU0I4SURBN1hHNGdJQ0FnWXlBOUlDZ29LR2hwSUNzZ0tHMXBaQ0ErUGo0Z01UTXBLU0I4SURBcElDc2dLSGN4TmlBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6RTJJQ1k5SURCNE0yWm1abVptWmp0Y2JpQWdJQ0F2S2lCcklEMGdNVGNnS2k5Y2JpQWdJQ0JzYnlBOUlFMWhkR2d1YVcxMWJDaGhiRGtzSUdKc09DazdYRzRnSUNBZ2JXbGtJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbWc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ1RXRjBhQzVwYlhWc0tHRm9PU3dnWW1nNEtUdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzRMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TnlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFM0lENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVGNnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4T0NBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzVLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURrcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEa3BPMXh1SUNBZ0lIWmhjaUIzTVRnZ1BTQW9LQ2hqSUNzZ2JHOHBJSHdnTUNrZ0t5QW9LRzFwWkNBbUlEQjRNV1ptWmlrZ1BEd2dNVE1wS1NCOElEQTdYRzRnSUNBZ1l5QTlJQ2dvS0docElDc2dLRzFwWkNBK1BqNGdNVE1wS1NCOElEQXBJQ3NnS0hjeE9DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkekU0SUNZOUlEQjRNMlptWm1abVpqdGNiaUFnSUNCdld6QmRJRDBnZHpBN1hHNGdJQ0FnYjFzeFhTQTlJSGN4TzF4dUlDQWdJRzliTWwwZ1BTQjNNanRjYmlBZ0lDQnZXek5kSUQwZ2R6TTdYRzRnSUNBZ2IxczBYU0E5SUhjME8xeHVJQ0FnSUc5Yk5WMGdQU0IzTlR0Y2JpQWdJQ0J2V3paZElEMGdkelk3WEc0Z0lDQWdiMXMzWFNBOUlIYzNPMXh1SUNBZ0lHOWJPRjBnUFNCM09EdGNiaUFnSUNCdld6bGRJRDBnZHprN1hHNGdJQ0FnYjFzeE1GMGdQU0IzTVRBN1hHNGdJQ0FnYjFzeE1WMGdQU0IzTVRFN1hHNGdJQ0FnYjFzeE1sMGdQU0IzTVRJN1hHNGdJQ0FnYjFzeE0xMGdQU0IzTVRNN1hHNGdJQ0FnYjFzeE5GMGdQU0IzTVRRN1hHNGdJQ0FnYjFzeE5WMGdQU0IzTVRVN1hHNGdJQ0FnYjFzeE5sMGdQU0IzTVRZN1hHNGdJQ0FnYjFzeE4xMGdQU0IzTVRjN1hHNGdJQ0FnYjFzeE9GMGdQU0IzTVRnN1hHNGdJQ0FnYVdZZ0tHTWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHOWJNVGxkSUQwZ1l6dGNiaUFnSUNBZ0lHOTFkQzVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnZlR0Y2JseHVJQ0F2THlCUWIyeDVabWxzYkNCamIyMWlYRzRnSUdsbUlDZ2hUV0YwYUM1cGJYVnNLU0I3WEc0Z0lDQWdZMjl0WWpFd1RYVnNWRzhnUFNCemJXRnNiRTExYkZSdk8xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdZbWxuVFhWc1ZHOGdLSE5sYkdZc0lHNTFiU3dnYjNWMEtTQjdYRzRnSUNBZ2IzVjBMbTVsWjJGMGFYWmxJRDBnYm5WdExtNWxaMkYwYVhabElGNGdjMlZzWmk1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dVhHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCMllYSWdhRzVqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdheUE5SURBN0lHc2dQQ0J2ZFhRdWJHVnVaM1JvSUMwZ01Uc2dheXNyS1NCN1hHNGdJQ0FnSUNBdkx5QlRkVzBnWVd4c0lIZHZjbVJ6SUhkcGRHZ2dkR2hsSUhOaGJXVWdZR2tnS3lCcUlEMGdhMkFnWVc1a0lHRmpZM1Z0ZFd4aGRHVWdZRzVqWVhKeWVXQXNYRzRnSUNBZ0lDQXZMeUJ1YjNSbElIUm9ZWFFnYm1OaGNuSjVJR052ZFd4a0lHSmxJRDQ5SURCNE0yWm1abVptWmx4dUlDQWdJQ0FnZG1GeUlHNWpZWEp5ZVNBOUlHaHVZMkZ5Y25rN1hHNGdJQ0FnSUNCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNBZ0lIWmhjaUJ5ZDI5eVpDQTlJR05oY25KNUlDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkbUZ5SUcxaGVFb2dQU0JOWVhSb0xtMXBiaWhyTENCdWRXMHViR1Z1WjNSb0lDMGdNU2s3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ1RXRjBhQzV0WVhnb01Dd2dheUF0SUhObGJHWXViR1Z1WjNSb0lDc2dNU2s3SUdvZ1BEMGdiV0Y0U2pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnYXlBdElHbzdYRzRnSUNBZ0lDQWdJSFpoY2lCaElEMGdjMlZzWmk1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQWdJSFpoY2lCaUlEMGdiblZ0TG5kdmNtUnpXMnBkSUh3Z01EdGNiaUFnSUNBZ0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYkc4Z1BTQnlJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tDaHlJQzhnTUhnME1EQXdNREF3S1NCOElEQXBLU0I4SURBN1hHNGdJQ0FnSUNBZ0lHeHZJRDBnS0d4dklDc2djbmR2Y21RcElId2dNRHRjYmlBZ0lDQWdJQ0FnY25kdmNtUWdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lDQWdibU5oY25KNUlEMGdLRzVqWVhKeWVTQXJJQ2hzYnlBK1BqNGdNallwS1NCOElEQTdYRzVjYmlBZ0lDQWdJQ0FnYUc1allYSnllU0FyUFNCdVkyRnljbmtnUGo0K0lESTJPMXh1SUNBZ0lDQWdJQ0J1WTJGeWNua2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdjbmR2Y21RN1hHNGdJQ0FnSUNCallYSnllU0E5SUc1allYSnllVHRjYmlBZ0lDQWdJRzVqWVhKeWVTQTlJR2h1WTJGeWNuazdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjNWMExuZHZjbVJ6VzJ0ZElEMGdZMkZ5Y25rN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJRzkxZEM1c1pXNW5kR2d0TFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdiM1YwTG5OMGNtbHdLQ2s3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcWRXMWliMDExYkZSdklDaHpaV3htTENCdWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQm1ablJ0SUQwZ2JtVjNJRVpHVkUwb0tUdGNiaUFnSUNCeVpYUjFjbTRnWm1aMGJTNXRkV3h3S0hObGJHWXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ2ZWeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3hVYnlBOUlHWjFibU4wYVc5dUlHMTFiRlJ2SUNodWRXMHNJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdkbUZ5SUd4bGJpQTlJSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFEdGNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERXdJQ1ltSUc1MWJTNXNaVzVuZEdnZ1BUMDlJREV3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0JqYjIxaU1UQk5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hzWlc0Z1BDQTJNeWtnZTF4dUlDQWdJQ0FnY21WeklEMGdjMjFoYkd4TmRXeFVieWgwYUdsekxDQnVkVzBzSUc5MWRDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHNaVzRnUENBeE1ESTBLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQmlhV2ROZFd4VWJ5aDBhR2x6TENCdWRXMHNJRzkxZENrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHcDFiV0p2VFhWc1ZHOG9kR2hwY3l3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnUTI5dmJHVjVMVlIxYTJWNUlHRnNaMjl5YVhSb2JTQm1iM0lnUmtaVVhHNGdJQzh2SUhOc2FXZG9kR3g1SUhKbGRtbHphWFJsWkNCMGJ5QnlaV3g1SUc5dUlHeHZiM0JwYm1jZ2FXNXpkR1ZoWkNCdlppQnlaV04xY25OcGIyNWNibHh1SUNCbWRXNWpkR2x2YmlCR1JsUk5JQ2g0TENCNUtTQjdYRzRnSUNBZ2RHaHBjeTU0SUQwZ2VEdGNiaUFnSUNCMGFHbHpMbmtnUFNCNU8xeHVJQ0I5WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJXRnJaVkpDVkNBOUlHWjFibU4wYVc5dUlHMWhhMlZTUWxRZ0tFNHBJSHRjYmlBZ0lDQjJZWElnZENBOUlHNWxkeUJCY25KaGVTaE9LVHRjYmlBZ0lDQjJZWElnYkNBOUlFSk9MbkJ5YjNSdmRIbHdaUzVmWTI5MWJuUkNhWFJ6S0U0cElDMGdNVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRTQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdkRnRwWFNBOUlIUm9hWE11Y21WMlFtbHVLR2tzSUd3c0lFNHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCME8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnlibk1nWW1sdVlYSjVMWEpsZG1WeWMyVmtJSEpsY0hKbGMyVnVkR0YwYVc5dUlHOW1JR0I0WUZ4dUlDQkdSbFJOTG5CeWIzUnZkSGx3WlM1eVpYWkNhVzRnUFNCbWRXNWpkR2x2YmlCeVpYWkNhVzRnS0hnc0lHd3NJRTRwSUh0Y2JpQWdJQ0JwWmlBb2VDQTlQVDBnTUNCOGZDQjRJRDA5UFNCT0lDMGdNU2tnY21WMGRYSnVJSGc3WEc1Y2JpQWdJQ0IyWVhJZ2NtSWdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5WWlCOFBTQW9lQ0FtSURFcElEdzhJQ2hzSUMwZ2FTQXRJREVwTzF4dUlDQWdJQ0FnZUNBK1BqMGdNVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtSTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1VHVnlabTl5YlhNZ1hDSjBkMlZsWkd4cGJtZGNJaUJ3YUdGelpTd2dkR2hsY21WbWIzSmxJQ2RsYlhWc1lYUnBibWNuWEc0Z0lDOHZJR0psYUdGMmFXOTFjaUJ2WmlCMGFHVWdjbVZqZFhKemFYWmxJR0ZzWjI5eWFYUm9iVnh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV3WlhKdGRYUmxJRDBnWm5WdVkzUnBiMjRnY0dWeWJYVjBaU0FvY21KMExDQnlkM01zSUdsM2N5d2djblIzY3l3Z2FYUjNjeXdnVGlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCeWRIZHpXMmxkSUQwZ2NuZHpXM0ppZEZ0cFhWMDdYRzRnSUNBZ0lDQnBkSGR6VzJsZElEMGdhWGR6VzNKaWRGdHBYVjA3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMblJ5WVc1elptOXliU0E5SUdaMWJtTjBhVzl1SUhSeVlXNXpabTl5YlNBb2NuZHpMQ0JwZDNNc0lISjBkM01zSUdsMGQzTXNJRTRzSUhKaWRDa2dlMXh1SUNBZ0lIUm9hWE11Y0dWeWJYVjBaU2h5WW5Rc0lISjNjeXdnYVhkekxDQnlkSGR6TENCcGRIZHpMQ0JPS1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUhNZ1BTQXhPeUJ6SUR3Z1Rqc2djeUE4UEQwZ01Ta2dlMXh1SUNBZ0lDQWdkbUZ5SUd3Z1BTQnpJRHc4SURFN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5ZEhka1ppQTlJRTFoZEdndVkyOXpLRElnS2lCTllYUm9MbEJKSUM4Z2JDazdYRzRnSUNBZ0lDQjJZWElnYVhSM1pHWWdQU0JOWVhSb0xuTnBiaWd5SUNvZ1RXRjBhQzVRU1NBdklHd3BPMXh1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJ3SUQwZ01Ec2djQ0E4SUU0N0lIQWdLejBnYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnY25SM1pHWmZJRDBnY25SM1pHWTdYRzRnSUNBZ0lDQWdJSFpoY2lCcGRIZGtabDhnUFNCcGRIZGtaanRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdNRHNnYWlBOElITTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeVpTQTlJSEowZDNOYmNDQXJJR3BkTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwWlNBOUlHbDBkM05iY0NBcklHcGRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEp2SUQwZ2NuUjNjMXR3SUNzZ2FpQXJJSE5kTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJwYnlBOUlHbDBkM05iY0NBcklHb2dLeUJ6WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCeWVDQTlJSEowZDJSbVh5QXFJSEp2SUMwZ2FYUjNaR1pmSUNvZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCcGJ5QTlJSEowZDJSbVh5QXFJR2x2SUNzZ2FYUjNaR1pmSUNvZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnY204Z1BTQnllRHRjYmx4dUlDQWdJQ0FnSUNBZ0lISjBkM05iY0NBcklHcGRJRDBnY21VZ0t5QnlienRjYmlBZ0lDQWdJQ0FnSUNCcGRIZHpXM0FnS3lCcVhTQTlJR2xsSUNzZ2FXODdYRzVjYmlBZ0lDQWdJQ0FnSUNCeWRIZHpXM0FnS3lCcUlDc2djMTBnUFNCeVpTQXRJSEp2TzF4dUlDQWdJQ0FnSUNBZ0lHbDBkM05iY0NBcklHb2dLeUJ6WFNBOUlHbGxJQzBnYVc4N1hHNWNiaUFnSUNBZ0lDQWdJQ0F2S2lCcWMyaHBiblFnYldGNFpHVndkR2dnT2lCbVlXeHpaU0FxTDF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hxSUNFOVBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnllQ0E5SUhKMGQyUm1JQ29nY25SM1pHWmZJQzBnYVhSM1pHWWdLaUJwZEhka1psODdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbDBkMlJtWHlBOUlISjBkMlJtSUNvZ2FYUjNaR1pmSUNzZ2FYUjNaR1lnS2lCeWRIZGtabDg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlkSGRrWmw4Z1BTQnllRHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVozVmxjM05NWlc0eE0ySWdQU0JtZFc1amRHbHZiaUJuZFdWemMweGxiakV6WWlBb2Jpd2diU2tnZTF4dUlDQWdJSFpoY2lCT0lEMGdUV0YwYUM1dFlYZ29iU3dnYmlrZ2ZDQXhPMXh1SUNBZ0lIWmhjaUJ2WkdRZ1BTQk9JQ1lnTVR0Y2JpQWdJQ0IyWVhJZ2FTQTlJREE3WEc0Z0lDQWdabTl5SUNoT0lEMGdUaUF2SURJZ2ZDQXdPeUJPT3lCT0lEMGdUaUErUGo0Z01Ta2dlMXh1SUNBZ0lDQWdhU3NyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQXhJRHc4SUdrZ0t5QXhJQ3NnYjJSa08xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExtTnZibXAxWjJGMFpTQTlJR1oxYm1OMGFXOXVJR052Ym1wMVoyRjBaU0FvY25kekxDQnBkM01zSUU0cElIdGNiaUFnSUNCcFppQW9UaUE4UFNBeEtTQnlaWFIxY200N1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElFNGdMeUF5T3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCMElEMGdjbmR6VzJsZE8xeHVYRzRnSUNBZ0lDQnlkM05iYVYwZ1BTQnlkM05iVGlBdElHa2dMU0F4WFR0Y2JpQWdJQ0FnSUhKM2MxdE9JQzBnYVNBdElERmRJRDBnZER0Y2JseHVJQ0FnSUNBZ2RDQTlJR2wzYzF0cFhUdGNibHh1SUNBZ0lDQWdhWGR6VzJsZElEMGdMV2wzYzF0T0lDMGdhU0F0SURGZE8xeHVJQ0FnSUNBZ2FYZHpXMDRnTFNCcElDMGdNVjBnUFNBdGREdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWJtOXliV0ZzYVhwbE1UTmlJRDBnWm5WdVkzUnBiMjRnYm05eWJXRnNhWHBsTVROaUlDaDNjeXdnVGlrZ2UxeHVJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9JQzhnTWpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRTFoZEdndWNtOTFibVFvZDNOYk1pQXFJR2tnS3lBeFhTQXZJRTRwSUNvZ01IZ3lNREF3SUN0Y2JpQWdJQ0FnSUNBZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FWMGdMeUJPS1NBclhHNGdJQ0FnSUNBZ0lHTmhjbko1TzF4dVhHNGdJQ0FnSUNCM2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzVjYmlBZ0lDQWdJR2xtSUNoM0lEd2dNSGcwTURBd01EQXdLU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUdOaGNuSjVJRDBnZHlBdklEQjROREF3TURBd01DQjhJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIZHpPMXh1SUNCOU8xeHVYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUXhNMklnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowTVROaUlDaDNjeXdnYkdWdUxDQnlkM01zSUU0cElIdGNiaUFnSUNCMllYSWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJR05oY25KNUlEMGdZMkZ5Y25rZ0t5QW9kM05iYVYwZ2ZDQXdLVHRjYmx4dUlDQWdJQ0FnY25keld6SWdLaUJwWFNBOUlHTmhjbko1SUNZZ01IZ3habVptT3lCallYSnllU0E5SUdOaGNuSjVJRDQrUGlBeE16dGNiaUFnSUNBZ0lISjNjMXN5SUNvZ2FTQXJJREZkSUQwZ1kyRnljbmtnSmlBd2VERm1abVk3SUdOaGNuSjVJRDBnWTJGeWNua2dQajQrSURFek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGQmhaQ0IzYVhSb0lIcGxjbTlsYzF4dUlDQWdJR1p2Y2lBb2FTQTlJRElnS2lCc1pXNDdJR2tnUENCT095QXJLMmtwSUh0Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR05oY25KNUlEMDlQU0F3S1R0Y2JpQWdJQ0JoYzNObGNuUW9LR05oY25KNUlDWWdmakI0TVdabVppa2dQVDA5SURBcE8xeHVJQ0I5TzF4dVhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuTjBkV0lnUFNCbWRXNWpkR2x2YmlCemRIVmlJQ2hPS1NCN1hHNGdJQ0FnZG1GeUlIQm9JRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCd2FGdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEJvTzF4dUlDQjlPMXh1WEc0Z0lFWkdWRTB1Y0hKdmRHOTBlWEJsTG0xMWJIQWdQU0JtZFc1amRHbHZiaUJ0ZFd4d0lDaDRMQ0I1TENCdmRYUXBJSHRjYmlBZ0lDQjJZWElnVGlBOUlESWdLaUIwYUdsekxtZDFaWE56VEdWdU1UTmlLSGd1YkdWdVozUm9MQ0I1TG14bGJtZDBhQ2s3WEc1Y2JpQWdJQ0IyWVhJZ2NtSjBJRDBnZEdocGN5NXRZV3RsVWtKVUtFNHBPMXh1WEc0Z0lDQWdkbUZ5SUY4Z1BTQjBhR2x6TG5OMGRXSW9UaWs3WEc1Y2JpQWdJQ0IyWVhJZ2NuZHpJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnlkM04wSUQwZ2JtVjNJRUZ5Y21GNUtFNHBPMXh1SUNBZ0lIWmhjaUJwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlHNXlkM01nUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzV5ZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dUlDQWdJSFpoY2lCdWFYZHpkQ0E5SUc1bGR5QkJjbkpoZVNoT0tUdGNibHh1SUNBZ0lIWmhjaUJ5YlhkeklEMGdiM1YwTG5kdmNtUnpPMXh1SUNBZ0lISnRkM011YkdWdVozUm9JRDBnVGp0Y2JseHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg0TG5kdmNtUnpMQ0I0TG14bGJtZDBhQ3dnY25kekxDQk9LVHRjYmlBZ0lDQjBhR2x6TG1OdmJuWmxjblF4TTJJb2VTNTNiM0prY3l3Z2VTNXNaVzVuZEdnc0lHNXlkM01zSUU0cE8xeHVYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kekxDQmZMQ0J5ZDNOMExDQnBkM04wTENCT0xDQnlZblFwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtHNXlkM01zSUY4c0lHNXlkM04wTENCdWFYZHpkQ3dnVGl3Z2NtSjBLVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NuZ2dQU0J5ZDNOMFcybGRJQ29nYm5KM2MzUmJhVjBnTFNCcGQzTjBXMmxkSUNvZ2JtbDNjM1JiYVYwN1hHNGdJQ0FnSUNCcGQzTjBXMmxkSUQwZ2NuZHpkRnRwWFNBcUlHNXBkM04wVzJsZElDc2dhWGR6ZEZ0cFhTQXFJRzV5ZDNOMFcybGRPMXh1SUNBZ0lDQWdjbmR6ZEZ0cFhTQTlJSEo0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdVkyOXVhblZuWVhSbEtISjNjM1FzSUdsM2MzUXNJRTRwTzF4dUlDQWdJSFJvYVhNdWRISmhibk5tYjNKdEtISjNjM1FzSUdsM2MzUXNJSEp0ZDNNc0lGOHNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY20xM2N5d2dYeXdnVGlrN1hHNGdJQ0FnZEdocGN5NXViM0p0WVd4cGVtVXhNMklvY20xM2N5d2dUaWs3WEc1Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQjRMbTVsWjJGMGFYWmxJRjRnZVM1dVpXZGhkR2wyWlR0Y2JpQWdJQ0J2ZFhRdWJHVnVaM1JvSUQwZ2VDNXNaVzVuZEdnZ0t5QjVMbXhsYm1kMGFEdGNiaUFnSUNCeVpYUjFjbTRnYjNWMExuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVFhWc2RHbHdiSGtnWUhSb2FYTmdJR0o1SUdCdWRXMWdYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXRkV3dnUFNCbWRXNWpkR2x2YmlCdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnZkWFFnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ2IzVjBMbmR2Y21SeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdWJHVnVaM1JvSUNzZ2JuVnRMbXhsYm1kMGFDazdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzVkc4b2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxMWJIUnBjR3g1SUdWdGNHeHZlV2x1WnlCR1JsUmNiaUFnUWs0dWNISnZkRzkwZVhCbExtMTFiR1lnUFNCbWRXNWpkR2x2YmlCdGRXeG1JQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdiM1YwSUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lHOTFkQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZ3BPMXh1SUNBZ0lISmxkSFZ5YmlCcWRXMWliMDExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JOZFd4MGFYQnNhV05oZEdsdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMTFiQ0E5SUdaMWJtTjBhVzl1SUdsdGRXd2dLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWJYVnNWRzhvYm5WdExDQjBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVcxMWJHNGdQU0JtZFc1amRHbHZiaUJwYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmx4dUlDQWdJQzh2SUVOaGNuSjVYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSFJvYVhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCM0lEMGdLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FxSUc1MWJUdGNiaUFnSUNBZ0lIWmhjaUJzYnlBOUlDaDNJQ1lnTUhnelptWm1abVptS1NBcklDaGpZWEp5ZVNBbUlEQjRNMlptWm1abVppazdYRzRnSUNBZ0lDQmpZWEp5ZVNBK1BqMGdNalk3WEc0Z0lDQWdJQ0JqWVhKeWVTQXJQU0FvZHlBdklEQjROREF3TURBd01Da2dmQ0F3TzF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nYkc4Z2FYTWdNamRpYVhRZ2JXRjRhVzExYlZ4dUlDQWdJQ0FnWTJGeWNua2dLejBnYkc4Z1BqNCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR3h2SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXViWFZzYmlBOUlHWjFibU4wYVc5dUlHMTFiRzRnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhVzExYkc0b2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QmdkR2hwYzJBZ0tpQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OeGNpQTlJR1oxYm1OMGFXOXVJSE54Y2lBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklHQjBhR2x6WUNBcUlHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOeGNpQTlJR1oxYm1OMGFXOXVJR2x6Y1hJZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0ZFd3b2RHaHBjeTVqYkc5dVpTZ3BLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5ZWFJvTG5CdmR5aGdkR2hwYzJBc0lHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y0c5M0lEMGdablZ1WTNScGIyNGdjRzkzSUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnZHlBOUlIUnZRbWwwUVhKeVlYa29iblZ0S1R0Y2JpQWdJQ0JwWmlBb2R5NXNaVzVuZEdnZ1BUMDlJREFwSUhKbGRIVnliaUJ1WlhjZ1FrNG9NU2s3WEc1Y2JpQWdJQ0F2THlCVGEybHdJR3hsWVdScGJtY2dlbVZ5YjJWelhHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeVpYTWdQU0J5WlhNdWMzRnlLQ2twSUh0Y2JpQWdJQ0FnSUdsbUlDaDNXMmxkSUNFOVBTQXdLU0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LeXRwSUR3Z2R5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIRWdQU0J5WlhNdWMzRnlLQ2s3SUdrZ1BDQjNMbXhsYm1kMGFEc2dhU3NyTENCeElEMGdjUzV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2QxdHBYU0E5UFQwZ01Da2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdjbVZ6TG0xMWJDaHhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUM4dklGTm9hV1owTFd4bFpuUWdhVzR0Y0d4aFkyVmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbDFjMmhzYmlBOUlHWjFibU4wYVc5dUlHbDFjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBjeUE5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwY3lBK1BTQXdLVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkSE1nSlNBeU5qdGNiaUFnSUNCMllYSWdjeUE5SUNoaWFYUnpJQzBnY2lrZ0x5QXlOanRjYmlBZ0lDQjJZWElnWTJGeWNubE5ZWE5ySUQwZ0tEQjRNMlptWm1abVppQStQajRnS0RJMklDMGdjaWtwSUR3OElDZ3lOaUF0SUhJcE8xeHVJQ0FnSUhaaGNpQnBPMXh1WEc0Z0lDQWdhV1lnS0hJZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpZWEp5ZVNBOUlEQTdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQjBhR2x6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCdVpYZERZWEp5ZVNBOUlIUm9hWE11ZDI5eVpITmJhVjBnSmlCallYSnllVTFoYzJzN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqSUQwZ0tDaDBhR2x6TG5kdmNtUnpXMmxkSUh3Z01Da2dMU0J1WlhkRFlYSnllU2tnUER3Z2NqdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlHTWdmQ0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQnVaWGREWVhKeWVTQStQajRnS0RJMklDMGdjaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGpZWEp5ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0t5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE1nSVQwOUlEQXBJSHRjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJSFJvYVhNdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnYzEwZ1BTQjBhR2x6TG5kdmNtUnpXMmxkTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnY3pzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0F3TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFHbHpMbXhsYm1kMGFDQXJQU0J6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6YUd4dUlEMGdablZ1WTNScGIyNGdhWE5vYkc0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFHeHVLR0pwZEhNcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZOb2FXWjBMWEpwWjJoMElHbHVMWEJzWVdObFhHNGdJQzh2SUU1UFZFVTZJR0JvYVc1MFlDQnBjeUJoSUd4dmQyVnpkQ0JpYVhRZ1ltVm1iM0psSUhSeVlXbHNhVzVuSUhwbGNtOWxjMXh1SUNBdkx5Qk9UMVJGT2lCcFppQmdaWGgwWlc1a1pXUmdJR2x6SUhCeVpYTmxiblFnTFNCcGRDQjNhV3hzSUdKbElHWnBiR3hsWkNCM2FYUm9JR1JsYzNSeWIzbGxaQ0JpYVhSelhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cGRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCcGRYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQm9PMXh1SUNBZ0lHbG1JQ2hvYVc1MEtTQjdYRzRnSUNBZ0lDQm9JRDBnS0docGJuUWdMU0FvYUdsdWRDQWxJREkyS1NrZ0x5QXlOanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FDQTlJREE3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhJZ1BTQmlhWFJ6SUNVZ01qWTdYRzRnSUNBZ2RtRnlJSE1nUFNCTllYUm9MbTFwYmlnb1ltbDBjeUF0SUhJcElDOGdNallzSUhSb2FYTXViR1Z1WjNSb0tUdGNiaUFnSUNCMllYSWdiV0Z6YXlBOUlEQjRNMlptWm1abVppQmVJQ2dvTUhnelptWm1abVptSUQ0K1BpQnlLU0E4UENCeUtUdGNiaUFnSUNCMllYSWdiV0Z6YTJWa1YyOXlaSE1nUFNCbGVIUmxibVJsWkR0Y2JseHVJQ0FnSUdnZ0xUMGdjenRjYmlBZ0lDQm9JRDBnVFdGMGFDNXRZWGdvTUN3Z2FDazdYRzVjYmlBZ0lDQXZMeUJGZUhSbGJtUmxaQ0J0YjJSbExDQmpiM0I1SUcxaGMydGxaQ0J3WVhKMFhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdFlYTnJaV1JYYjNKa2N5NXNaVzVuZEdnZ1BTQnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h6SUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0F2THlCT2J5MXZjQ3dnZDJVZ2MyaHZkV3hrSUc1dmRDQnRiM1psSUdGdWVYUm9hVzVuSUdGMElHRnNiRnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUGlCektTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0F0UFNCek8xeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhSb2FYTXVkMjl5WkhOYmFTQXJJSE5kTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9hU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdJQ1ltSUNoallYSnllU0FoUFQwZ01DQjhmQ0JwSUQ0OUlHZ3BPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzYjNKa0lEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ0tHTmhjbko1SUR3OElDZ3lOaUF0SUhJcEtTQjhJQ2gzYjNKa0lENCtQaUJ5S1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnZDI5eVpDQW1JRzFoYzJzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1VIVnphQ0JqWVhKeWFXVmtJR0pwZEhNZ1lYTWdZU0J0WVhOclhHNGdJQ0FnYVdZZ0tHMWhjMnRsWkZkdmNtUnpJQ1ltSUdOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnRZWE5yWldSWGIzSmtjeTUzYjNKa2MxdHRZWE5yWldSWGIzSmtjeTVzWlc1bmRHZ3JLMTBnUFNCallYSnllVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wY21sd0tDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHphSEp1SUQwZ1puVnVZM1JwYjI0Z2FYTm9jbTRnS0dKcGRITXNJR2hwYm5Rc0lHVjRkR1Z1WkdWa0tTQjdYRzRnSUNBZ0x5OGdWRTlFVHlocGJtUjFkRzU1S1RvZ2FXMXdiR1Z0Wlc1MElHMWxYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbDFjMmh5YmloaWFYUnpMQ0JvYVc1MExDQmxlSFJsYm1SbFpDazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1UyaHBablF0YkdWbWRGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWMyaHNiaUE5SUdaMWJtTjBhVzl1SUhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbHphR3h1S0dKcGRITXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFjMmhzYmlBOUlHWjFibU4wYVc5dUlIVnphR3h1SUNoaWFYUnpLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwZFhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRjbWxuYUhSY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5Ob2NtNGdQU0JtZFc1amRHbHZiaUJ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMyaHliaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRYTm9jbTRnUFNCbWRXNWpkR2x2YmlCMWMyaHliaUFvWW1sMGN5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRlJsYzNRZ2FXWWdiaUJpYVhRZ2FYTWdjMlYwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUwWlhOMGJpQTlJR1oxYm1OMGFXOXVJSFJsYzNSdUlDaGlhWFFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdZbWwwSUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBJQ1VnTWpZN1hHNGdJQ0FnZG1GeUlITWdQU0FvWW1sMElDMGdjaWtnTHlBeU5qdGNiaUFnSUNCMllYSWdjU0E5SURFZ1BEd2djanRjYmx4dUlDQWdJQzh2SUVaaGMzUWdZMkZ6WlRvZ1ltbDBJR2x6SUcxMVkyZ2dhR2xuYUdWeUlIUm9ZVzRnWVd4c0lHVjRhWE4wYVc1bklIZHZjbVJ6WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEdzlJSE1wSUhKbGRIVnliaUJtWVd4elpUdGNibHh1SUNBZ0lDOHZJRU5vWldOcklHSnBkQ0JoYm1RZ2NtVjBkWEp1WEc0Z0lDQWdkbUZ5SUhjZ1BTQjBhR2x6TG5kdmNtUnpXM05kTzF4dVhHNGdJQ0FnY21WMGRYSnVJQ0VoS0hjZ0ppQnhLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlNaWFIxY200Z2IyNXNlU0JzYjNkbGNuTWdZbWwwY3lCdlppQnVkVzFpWlhJZ0tHbHVMWEJzWVdObEtWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFXMWhjMnR1SUQwZ1puVnVZM1JwYjI0Z2FXMWhjMnR1SUNoaWFYUnpLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCaWFYUnpJRDA5UFNBbmJuVnRZbVZ5SnlBbUppQmlhWFJ6SUQ0OUlEQXBPMXh1SUNBZ0lIWmhjaUJ5SUQwZ1ltbDBjeUFsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRITWdMU0J5S1NBdklESTJPMXh1WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2RwYldGemEyNGdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabElHNTFiV0psY25NbktUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOFBTQnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2NpQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2N5c3JPMXh1SUNBZ0lIMWNiaUFnSUNCMGFHbHpMbXhsYm1kMGFDQTlJRTFoZEdndWJXbHVLSE1zSUhSb2FYTXViR1Z1WjNSb0tUdGNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2JXRnpheUE5SURCNE0yWm1abVptWmlCZUlDZ29NSGd6Wm1abVptWm1JRDQrUGlCeUtTQThQQ0J5S1R0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ2dMU0F4WFNBbVBTQnRZWE5yTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdUlHOXViSGtnYkc5M1pYSnpJR0pwZEhNZ2IyWWdiblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dFlYTnJiaUE5SUdaMWJtTjBhVzl1SUcxaGMydHVJQ2hpYVhSektTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBiV0Z6YTI0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdRV1JrSUhCc1lXbHVJRzUxYldKbGNpQmdiblZ0WUNCMGJ5QmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saFpHUnVJRDBnWm5WdVkzUnBiMjRnYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwZVhCbGIyWWdiblZ0SUQwOVBTQW5iblZ0WW1WeUp5azdYRzRnSUNBZ1lYTnpaWEowS0c1MWJTQThJREI0TkRBd01EQXdNQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTQThJREFwSUhKbGRIVnliaUIwYUdsekxtbHpkV0p1S0MxdWRXMHBPMXh1WEc0Z0lDQWdMeThnVUc5emMybGliR1VnYzJsbmJpQmphR0Z1WjJWY2JpQWdJQ0JwWmlBb2RHaHBjeTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlDaDBhR2x6TG5kdmNtUnpXekJkSUh3Z01Da2dQQ0J1ZFcwcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlHNTFiU0F0SUNoMGFHbHpMbmR2Y21Seld6QmRJSHdnTUNrN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtbHpkV0p1S0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRUZrWkNCM2FYUm9iM1YwSUdOb1pXTnJjMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwWVdSa2JpaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVdGa1pHNGdQU0JtZFc1amRHbHZiaUJmYVdGa1pHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdLejBnYm5WdE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BqMGdNSGcwTURBd01EQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnTFQwZ01IZzBNREF3TURBd08xeHVJQ0FnSUNBZ2FXWWdLR2tnUFQwOUlIUm9hWE11YkdWdVozUm9JQzBnTVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmtnS3lBeFhTQTlJREU3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QXhYU3NyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SUUxaGRHZ3ViV0Y0S0hSb2FYTXViR1Z1WjNSb0xDQnBJQ3NnTVNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCd2JHRnBiaUJ1ZFcxaVpYSWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpkV0p1SUQwZ1puVnVZM1JwYjI0Z2FYTjFZbTRnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnYm5WdElEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4SURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnYVdZZ0tHNTFiU0E4SURBcElISmxkSFZ5YmlCMGFHbHpMbWxoWkdSdUtDMXVkVzBwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1cFlXUmtiaWh1ZFcwcE8xeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbmR2Y21Seld6QmRJQzA5SUc1MWJUdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNU0FtSmlCMGFHbHpMbmR2Y21Seld6QmRJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SUMxMGFHbHpMbmR2Y21Seld6QmRPMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklFTmhjbko1WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDWW1JSFJvYVhNdWQyOXlaSE5iYVYwZ1BDQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBclBTQXdlRFF3TURBd01EQTdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYVNBcklERmRJQzA5SURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdSa2JpQTlJR1oxYm1OMGFXOXVJR0ZrWkc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVdGa1pHNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YzNWaWJpQTlJR1oxYm1OMGFXOXVJSE4xWW00Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOMVltNG9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGaWN5QTlJR1oxYm1OMGFXOXVJR2xoWW5NZ0tDa2dlMXh1SUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtRmljeUE5SUdaMWJtTjBhVzl1SUdGaWN5QW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwWVdKektDazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBjMmhzYm5OMVltMTFiQ0E5SUdaMWJtTjBhVzl1SUY5cGMyaHNibk4xWW0xMWJDQW9iblZ0TENCdGRXd3NJSE5vYVdaMEtTQjdYRzRnSUNBZ2RtRnlJR3hsYmlBOUlHNTFiUzVzWlc1bmRHZ2dLeUJ6YUdsbWREdGNiaUFnSUNCMllYSWdhVHRjYmx4dUlDQWdJSFJvYVhNdVgyVjRjR0Z1WkNoc1pXNHBPMXh1WEc0Z0lDQWdkbUZ5SUhjN1hHNGdJQ0FnZG1GeUlHTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IzSUQwZ0tIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCMllYSWdjbWxuYUhRZ1BTQW9iblZ0TG5kdmNtUnpXMmxkSUh3Z01Da2dLaUJ0ZFd3N1hHNGdJQ0FnSUNCM0lDMDlJSEpwWjJoMElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQW9keUErUGlBeU5pa2dMU0FvS0hKcFoyaDBJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MyaHBablJkSUQwZ2R5QW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdrZ1BDQjBhR2x6TG14bGJtZDBhQ0F0SUhOb2FXWjBPeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJR05oY25KNUlEMGdkeUErUGlBeU5qdGNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySUhOb2FXWjBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR05oY25KNUlEMDlQU0F3S1NCeVpYUjFjbTRnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdVM1ZpZEhKaFkzUnBiMjRnYjNabGNtWnNiM2RjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlDMHhLVHRjYmlBZ0lDQmpZWEp5ZVNBOUlEQTdYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhjZ1BTQXRLSFJvYVhNdWQyOXlaSE5iYVYwZ2ZDQXdLU0FySUdOaGNuSjVPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJRDQrSURJMk8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUhjZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDNkdmNtUkVhWFlnUFNCbWRXNWpkR2x2YmlCZmQyOXlaRVJwZGlBb2JuVnRMQ0J0YjJSbEtTQjdYRzRnSUNBZ2RtRnlJSE5vYVdaMElEMGdkR2hwY3k1c1pXNW5kR2dnTFNCdWRXMHViR1Z1WjNSb08xeHVYRzRnSUNBZ2RtRnlJR0VnUFNCMGFHbHpMbU5zYjI1bEtDazdYRzRnSUNBZ2RtRnlJR0lnUFNCdWRXMDdYRzVjYmlBZ0lDQXZMeUJPYjNKdFlXeHBlbVZjYmlBZ0lDQjJZWElnWW1ocElEMGdZaTUzYjNKa2MxdGlMbXhsYm1kMGFDQXRJREZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbWhwUW1sMGN5QTlJSFJvYVhNdVgyTnZkVzUwUW1sMGN5aGlhR2twTzF4dUlDQWdJSE5vYVdaMElEMGdNallnTFNCaWFHbENhWFJ6TzF4dUlDQWdJR2xtSUNoemFHbG1kQ0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZaUE5SUdJdWRYTm9iRzRvYzJocFpuUXBPMXh1SUNBZ0lDQWdZUzVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0FnSUNBZ1ltaHBJRDBnWWk1M2IzSmtjMXRpTG14bGJtZDBhQ0F0SURGZElId2dNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsSUhGMWIzUnBaVzUwWEc0Z0lDQWdkbUZ5SUcwZ1BTQmhMbXhsYm1kMGFDQXRJR0l1YkdWdVozUm9PMXh1SUNBZ0lIWmhjaUJ4TzF4dVhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNCeElEMGdibVYzSUVKT0tHNTFiR3dwTzF4dUlDQWdJQ0FnY1M1c1pXNW5kR2dnUFNCdElDc2dNVHRjYmlBZ0lDQWdJSEV1ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvY1M1c1pXNW5kR2dwTzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCeExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYVYwZ1BTQXdPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVdabUlEMGdZUzVqYkc5dVpTZ3BMbDlwYzJoc2JuTjFZbTExYkNoaUxDQXhMQ0J0S1R0Y2JpQWdJQ0JwWmlBb1pHbG1aaTV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdScFptWTdYRzRnSUNBZ0lDQnBaaUFvY1NrZ2UxeHVJQ0FnSUNBZ0lDQnhMbmR2Y21SelcyMWRJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJxSUQwZ2JTQXRJREU3SUdvZ1BqMGdNRHNnYWkwdEtTQjdYRzRnSUNBZ0lDQjJZWElnY1dvZ1BTQW9ZUzUzYjNKa2MxdGlMbXhsYm1kMGFDQXJJR3BkSUh3Z01Da2dLaUF3ZURRd01EQXdNREFnSzF4dUlDQWdJQ0FnSUNBb1lTNTNiM0prYzF0aUxteGxibWQwYUNBcklHb2dMU0F4WFNCOElEQXBPMXh1WEc0Z0lDQWdJQ0F2THlCT1QxUkZPaUFvY1dvZ0x5QmlhR2twSUdseklDZ3dlRE5tWm1abVptWWdLaUF3ZURRd01EQXdNREFnS3lBd2VETm1abVptWm1ZcElDOGdNSGd5TURBd01EQXdJRzFoZUZ4dUlDQWdJQ0FnTHk4Z0tEQjROMlptWm1abVppbGNiaUFnSUNBZ0lIRnFJRDBnVFdGMGFDNXRhVzRvS0hGcUlDOGdZbWhwS1NCOElEQXNJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0FnSUdFdVgybHphR3h1YzNWaWJYVnNLR0lzSUhGcUxDQnFLVHRjYmlBZ0lDQWdJSGRvYVd4bElDaGhMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJSEZxTFMwN1hHNGdJQ0FnSUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnSUNCaExsOXBjMmhzYm5OMVltMTFiQ2hpTENBeExDQnFLVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1lTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcFppQW9jU2tnZTF4dUlDQWdJQ0FnSUNCeExuZHZjbVJ6VzJwZElEMGdjV283WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h4S1NCN1hHNGdJQ0FnSUNCeExuTjBjbWx3S0NrN1hHNGdJQ0FnZlZ4dUlDQWdJR0V1YzNSeWFYQW9LVHRjYmx4dUlDQWdJQzh2SUVSbGJtOXliV0ZzYVhwbFhHNGdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluSUNZbUlITm9hV1owSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWh6YUdsbWRDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdScGRqb2djU0I4ZkNCdWRXeHNMRnh1SUNBZ0lDQWdiVzlrT2lCaFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJPVDFSRk9pQXhLU0JnYlc5a1pXQWdZMkZ1SUdKbElITmxkQ0IwYnlCZ2JXOWtZQ0IwYnlCeVpYRjFaWE4wSUcxdlpDQnZibXg1TEZ4dUlDQXZMeUFnSUNBZ0lDQjBieUJnWkdsMllDQjBieUJ5WlhGMVpYTjBJR1JwZGlCdmJteDVMQ0J2Y2lCaVpTQmhZbk5sYm5RZ2RHOWNiaUFnTHk4Z0lDQWdJQ0FnY21WeGRXVnpkQ0JpYjNSb0lHUnBkaUFtSUcxdlpGeHVJQ0F2THlBZ0lDQWdJQ0F5S1NCZ2NHOXphWFJwZG1WZ0lHbHpJSFJ5ZFdVZ2FXWWdkVzV6YVdkdVpXUWdiVzlrSUdseklISmxjWFZsYzNSbFpGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiVzlrSUQwZ1puVnVZM1JwYjI0Z1pHbDJiVzlrSUNodWRXMHNJRzF2WkdVc0lIQnZjMmwwYVhabEtTQjdYRzRnSUNBZ1lYTnpaWEowS0NGdWRXMHVhWE5hWlhKdktDa3BPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJR1JwZGpvZ2JtVjNJRUpPS0RBcExGeHVJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWd3S1Z4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1pHbDJMQ0J0YjJRc0lISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNBbUppQnVkVzB1Ym1WbllYUnBkbVVnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIUm9hWE11Ym1WbktDa3VaR2wyYlc5a0tHNTFiU3dnYlc5a1pTazdYRzVjYmlBZ0lDQWdJR2xtSUNodGIyUmxJQ0U5UFNBbmJXOWtKeWtnZTF4dUlDQWdJQ0FnSUNCa2FYWWdQU0J5WlhNdVpHbDJMbTVsWnlncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cFlXUmtLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCa2FYWXNYRzRnSUNBZ0lDQWdJRzF2WkRvZ2JXOWtYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTVrYVhadGIyUW9iblZ0TG01bFp5Z3BMQ0J0YjJSbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0cxdlpHVWdJVDA5SUNkdGIyUW5LU0I3WEc0Z0lDQWdJQ0FnSUdScGRpQTlJSEpsY3k1a2FYWXVibVZuS0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHUnBkam9nWkdsMkxGeHVJQ0FnSUNBZ0lDQnRiMlE2SUhKbGN5NXRiMlJjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NoMGFHbHpMbTVsWjJGMGFYWmxJQ1lnYm5WdExtNWxaMkYwYVhabEtTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExtNWxaeWdwTENCdGIyUmxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnSVQwOUlDZGthWFluS1NCN1hHNGdJQ0FnSUNBZ0lHMXZaQ0E5SUhKbGN5NXRiMlF1Ym1WbktDazdYRzRnSUNBZ0lDQWdJR2xtSUNod2IzTnBkR2wyWlNBbUppQnRiMlF1Ym1WbllYUnBkbVVnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdGIyUXVhWE4xWWlodWRXMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2djbVZ6TG1ScGRpeGNiaUFnSUNBZ0lDQWdiVzlrT2lCdGIyUmNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpTQmhkQ0IwYUdseklIQnZhVzUwWEc1Y2JpQWdJQ0F2THlCVGRISnBjQ0JpYjNSb0lHNTFiV0psY25NZ2RHOGdZWEJ3Y205NGFXMWhkR1VnYzJocFpuUWdkbUZzZFdWY2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQStJSFJvYVhNdWJHVnVaM1JvSUh4OElIUm9hWE11WTIxd0tHNTFiU2tnUENBd0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUc1bGR5QkNUaWd3S1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUIwYUdselhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGWmxjbmtnYzJodmNuUWdjbVZrZFdOMGFXOXVYRzRnSUNBZ2FXWWdLRzUxYlM1c1pXNW5kR2dnUFQwOUlERXBJSHRjYmlBZ0lDQWdJR2xtSUNodGIyUmxJRDA5UFNBblpHbDJKeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBkam9nZEdocGN5NWthWFp1S0c1MWJTNTNiM0prYzFzd1hTa3NYRzRnSUNBZ0lDQWdJQ0FnYlc5a09pQnVkV3hzWEc0Z0lDQWdJQ0FnSUgwN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h0YjJSbElEMDlQU0FuYlc5a0p5a2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUdScGRqb2diblZzYkN4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1bGR5QkNUaWgwYUdsekxtMXZaRzRvYm5WdExuZHZjbVJ6V3pCZEtTbGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ1WlhjZ1FrNG9kR2hwY3k1dGIyUnVLRzUxYlM1M2IzSmtjMXN3WFNrcFhHNGdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxsOTNiM0prUkdsMktHNTFiU3dnYlc5a1pTazdYRzRnSUgwN1hHNWNiaUFnTHk4Z1JtbHVaQ0JnZEdocGMyQWdMeUJnYm5WdFlGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJJRDBnWm5WdVkzUnBiMjRnWkdsMklDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1a2FYWnRiMlFvYm5WdExDQW5aR2wySnl3Z1ptRnNjMlVwTG1ScGRqdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJR0IwYUdsellDQWxJR0J1ZFcxZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGIyUWdQU0JtZFc1amRHbHZiaUJ0YjJRZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1ScGRtMXZaQ2h1ZFcwc0lDZHRiMlFuTENCbVlXeHpaU2t1Ylc5a08xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWJXOWtJRDBnWm5WdVkzUnBiMjRnZFcxdlpDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpHbDJiVzlrS0c1MWJTd2dKMjF2WkNjc0lIUnlkV1VwTG0xdlpEdGNiaUFnZlR0Y2JseHVJQ0F2THlCR2FXNWtJRkp2ZFc1a0tHQjBhR2x6WUNBdklHQnVkVzFnS1Z4dUlDQkNUaTV3Y205MGIzUjVjR1V1WkdsMlVtOTFibVFnUFNCbWRXNWpkR2x2YmlCa2FYWlNiM1Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUdSdElEMGdkR2hwY3k1a2FYWnRiMlFvYm5WdEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaU0F0SUdWNFlXTjBJR1JwZG1semFXOXVYRzRnSUNBZ2FXWWdLR1J0TG0xdlpDNXBjMXBsY204b0tTa2djbVYwZFhKdUlHUnRMbVJwZGp0Y2JseHVJQ0FnSUhaaGNpQnRiMlFnUFNCa2JTNWthWFl1Ym1WbllYUnBkbVVnSVQwOUlEQWdQeUJrYlM1dGIyUXVhWE4xWWlodWRXMHBJRG9nWkcwdWJXOWtPMXh1WEc0Z0lDQWdkbUZ5SUdoaGJHWWdQU0J1ZFcwdWRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlISXlJRDBnYm5WdExtRnVaR3h1S0RFcE8xeHVJQ0FnSUhaaGNpQmpiWEFnUFNCdGIyUXVZMjF3S0doaGJHWXBPMXh1WEc0Z0lDQWdMeThnVW05MWJtUWdaRzkzYmx4dUlDQWdJR2xtSUNoamJYQWdQQ0F3SUh4OElISXlJRDA5UFNBeElDWW1JR050Y0NBOVBUMGdNQ2tnY21WMGRYSnVJR1J0TG1ScGRqdGNibHh1SUNBZ0lDOHZJRkp2ZFc1a0lIVndYRzRnSUNBZ2NtVjBkWEp1SUdSdExtUnBkaTV1WldkaGRHbDJaU0FoUFQwZ01DQS9JR1J0TG1ScGRpNXBjM1ZpYmlneEtTQTZJR1J0TG1ScGRpNXBZV1JrYmlneEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJXOWtiaUE5SUdaMWJtTjBhVzl1SUcxdlpHNGdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2h1ZFcwZ1BEMGdNSGd6Wm1abVptWm1LVHRjYmlBZ0lDQjJZWElnY0NBOUlDZ3hJRHc4SURJMktTQWxJRzUxYlR0Y2JseHVJQ0FnSUhaaGNpQmhZMk1nUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0JoWTJNZ1BTQW9jQ0FxSUdGall5QXJJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2twSUNVZ2JuVnRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCaFkyTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNHRjR3hoWTJVZ1pHbDJhWE5wYjI0Z1lua2diblZ0WW1WeVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1cFpHbDJiaUE5SUdaMWJtTjBhVzl1SUdsa2FYWnVJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEdzlJREI0TTJabVptWm1aaWs3WEc1Y2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQjBhR2x6TG14bGJtZDBhQ0F0SURFN0lHa2dQajBnTURzZ2FTMHRLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJQ2gwYUdsekxuZHZjbVJ6VzJsZElId2dNQ2tnS3lCallYSnllU0FxSURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvZHlBdklHNTFiU2tnZkNBd08xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lDVWdiblZ0TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVJwZG00Z1BTQm1kVzVqZEdsdmJpQmthWFp1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWxrYVhadUtHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVZuWTJRZ1BTQm1kVzVqZEdsdmJpQmxaMk5rSUNod0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hBdWJtVm5ZWFJwZG1VZ1BUMDlJREFwTzF4dUlDQWdJR0Z6YzJWeWRDZ2hjQzVwYzFwbGNtOG9LU2s3WEc1Y2JpQWdJQ0IyWVhJZ2VDQTlJSFJvYVhNN1hHNGdJQ0FnZG1GeUlIa2dQU0J3TG1Oc2IyNWxLQ2s3WEc1Y2JpQWdJQ0JwWmlBb2VDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1ZFcxdlpDaHdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2VDQTlJSGd1WTJ4dmJtVW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJCSUNvZ2VDQXJJRUlnS2lCNUlEMGdlRnh1SUNBZ0lIWmhjaUJCSUQwZ2JtVjNJRUpPS0RFcE8xeHVJQ0FnSUhaaGNpQkNJRDBnYm1WM0lFSk9LREFwTzF4dVhHNGdJQ0FnTHk4Z1F5QXFJSGdnS3lCRUlDb2dlU0E5SUhsY2JpQWdJQ0IyWVhJZ1F5QTlJRzVsZHlCQ1RpZ3dLVHRjYmlBZ0lDQjJZWElnUkNBOUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lIWmhjaUJuSUQwZ01EdGNibHh1SUNBZ0lIZG9hV3hsSUNoNExtbHpSWFpsYmlncElDWW1JSGt1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUhndWFYVnphSEp1S0RFcE8xeHVJQ0FnSUNBZ2VTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQXJLMmM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhsd0lEMGdlUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIWmhjaUI0Y0NBOUlIZ3VZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lIZG9hV3hsSUNnaGVDNXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBc0lHbHRJRDBnTVRzZ0tIZ3VkMjl5WkhOYk1GMGdKaUJwYlNrZ1BUMDlJREFnSmlZZ2FTQThJREkyT3lBcksya3NJR2x0SUR3OFBTQXhLVHRjYmlBZ0lDQWdJR2xtSUNocElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbDFjMmh5YmlocEtUdGNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tHa3RMU0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1FTNXBjMDlrWkNncElIeDhJRUl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdRUzVwWVdSa0tIbHdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lFSXVhWE4xWWloNGNDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdRUzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUNBZ1FpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLSGt1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQjVMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ReTVwYzA5a1pDZ3BJSHg4SUVRdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnUXk1cFlXUmtLSGx3S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJRVF1YVhOMVlpaDRjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnUXk1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnSUNBZ0lDQWdSQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLSGd1WTIxd0tIa3BJRDQ5SURBcElIdGNiaUFnSUNBZ0lDQWdlQzVwYzNWaUtIa3BPMXh1SUNBZ0lDQWdJQ0JCTG1semRXSW9ReWs3WEc0Z0lDQWdJQ0FnSUVJdWFYTjFZaWhFS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYTjFZaWg0S1R0Y2JpQWdJQ0FnSUNBZ1F5NXBjM1ZpS0VFcE8xeHVJQ0FnSUNBZ0lDQkVMbWx6ZFdJb1FpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUdFNklFTXNYRzRnSUNBZ0lDQmlPaUJFTEZ4dUlDQWdJQ0FnWjJOa09pQjVMbWwxYzJoc2JpaG5LVnh1SUNBZ0lIMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHaHBjeUJwY3lCeVpXUjFZMlZrSUdsdVkyRnlibUYwYVc5dUlHOW1JSFJvWlNCaWFXNWhjbmtnUlVWQlhHNGdJQzh2SUdGaWIzWmxMQ0JrWlhOcFoyNWhkR1ZrSUhSdklHbHVkbVZ5ZENCdFpXMWlaWEp6SUc5bUlIUm9aVnh1SUNBdkx5QmZjSEpwYldWZklHWnBaV3hrY3lCR0tIQXBJR0YwSUdFZ2JXRjRhVzFoYkNCemNHVmxaRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVYMmx1ZG0xd0lEMGdablZ1WTNScGIyNGdYMmx1ZG0xd0lDaHdLU0I3WEc0Z0lDQWdZWE56WlhKMEtIQXVibVZuWVhScGRtVWdQVDA5SURBcE8xeHVJQ0FnSUdGemMyVnlkQ2doY0M1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCMllYSWdZU0E5SUhSb2FYTTdYRzRnSUNBZ2RtRnlJR0lnUFNCd0xtTnNiMjVsS0NrN1hHNWNiaUFnSUNCcFppQW9ZUzV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdZU0E5SUdFdWRXMXZaQ2h3S1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZU0E5SUdFdVkyeHZibVVvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2VERWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUhneUlEMGdibVYzSUVKT0tEQXBPMXh1WEc0Z0lDQWdkbUZ5SUdSbGJIUmhJRDBnWWk1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLR0V1WTIxd2JpZ3hLU0ErSURBZ0ppWWdZaTVqYlhCdUtERXBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREFzSUdsdElEMGdNVHNnS0dFdWQyOXlaSE5iTUYwZ0ppQnBiU2tnUFQwOUlEQWdKaVlnYVNBOElESTJPeUFySzJrc0lHbHRJRHc4UFNBeEtUdGNiaUFnSUNBZ0lHbG1JQ2hwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1sMWMyaHliaWhwS1R0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0drdExTQStJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZURFdWFYTlBaR1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZURFdWFXRmtaQ2hrWld4MFlTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlREV1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0F3TENCcWJTQTlJREU3SUNoaUxuZHZjbVJ6V3pCZElDWWdhbTBwSUQwOVBTQXdJQ1ltSUdvZ1BDQXlOanNnS3l0cUxDQnFiU0E4UEQwZ01TazdYRzRnSUNBZ0lDQnBaaUFvYWlBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnWWk1cGRYTm9jbTRvYWlrN1hHNGdJQ0FnSUNBZ0lIZG9hV3hsSUNocUxTMGdQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hneUxtbHpUMlJrS0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhneUxtbGhaR1FvWkdWc2RHRXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSGd5TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWVM1amJYQW9ZaWtnUGowZ01Da2dlMXh1SUNBZ0lDQWdJQ0JoTG1semRXSW9ZaWs3WEc0Z0lDQWdJQ0FnSUhneExtbHpkV0lvZURJcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBjM1ZpS0dFcE8xeHVJQ0FnSUNBZ0lDQjRNaTVwYzNWaUtIZ3hLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaGhMbU50Y0c0b01Ta2dQVDA5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjRNanRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvY21WekxtTnRjRzRvTUNrZ1BDQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFXRmtaQ2h3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVuWTJRZ1BTQm1kVzVqZEdsdmJpQm5ZMlFnS0c1MWJTa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxtbHpXbVZ5YnlncEtTQnlaWFIxY200Z2JuVnRMbUZpY3lncE8xeHVJQ0FnSUdsbUlDaHVkVzB1YVhOYVpYSnZLQ2twSUhKbGRIVnliaUIwYUdsekxtRmljeWdwTzF4dVhHNGdJQ0FnZG1GeUlHRWdQU0IwYUdsekxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0JoTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNCaUxtNWxaMkYwYVhabElEMGdNRHRjYmx4dUlDQWdJQzh2SUZKbGJXOTJaU0JqYjIxdGIyNGdabUZqZEc5eUlHOW1JSFIzYjF4dUlDQWdJR1p2Y2lBb2RtRnlJSE5vYVdaMElEMGdNRHNnWVM1cGMwVjJaVzRvS1NBbUppQmlMbWx6UlhabGJpZ3BPeUJ6YUdsbWRDc3JLU0I3WEc0Z0lDQWdJQ0JoTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUdJdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIZG9hV3hsSUNoaExtbHpSWFpsYmlncEtTQjdYRzRnSUNBZ0lDQWdJR0V1YVhWemFISnVLREVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnZDJocGJHVWdLR0l1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lpNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCeUlEMGdZUzVqYlhBb1lpazdYRzRnSUNBZ0lDQnBaaUFvY2lBOElEQXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UzZGhjQ0JnWVdBZ1lXNWtJR0JpWUNCMGJ5QnRZV3RsSUdCaFlDQmhiSGRoZVhNZ1ltbG5aMlZ5SUhSb1lXNGdZR0pnWEc0Z0lDQWdJQ0FnSUhaaGNpQjBJRDBnWVR0Y2JpQWdJQ0FnSUNBZ1lTQTlJR0k3WEc0Z0lDQWdJQ0FnSUdJZ1BTQjBPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h5SUQwOVBTQXdJSHg4SUdJdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWVM1cGMzVmlLR0lwTzF4dUlDQWdJSDBnZDJocGJHVWdLSFJ5ZFdVcE8xeHVYRzRnSUNBZ2NtVjBkWEp1SUdJdWFYVnphR3h1S0hOb2FXWjBLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkpiblpsY25RZ2JuVnRZbVZ5SUdsdUlIUm9aU0JtYVdWc1pDQkdLRzUxYlNsY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1sdWRtMGdQU0JtZFc1amRHbHZiaUJwYm5adElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bFoyTmtLRzUxYlNrdVlTNTFiVzlrS0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpSWFpsYmlBOUlHWjFibU4wYVc5dUlHbHpSWFpsYmlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUNoMGFHbHpMbmR2Y21Seld6QmRJQ1lnTVNrZ1BUMDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx6VDJSa0lEMGdablZ1WTNScGIyNGdhWE5QWkdRZ0tDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBb2RHaHBjeTUzYjNKa2Mxc3dYU0FtSURFcElEMDlQU0F4TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCbWFYSnpkQ0IzYjNKa0lHRnVaQ0J1ZFcxY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1GdVpHeHVJRDBnWm5WdVkzUnBiMjRnWVc1a2JHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuZHZjbVJ6V3pCZElDWWdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRWx1WTNKbGJXVnVkQ0JoZENCMGFHVWdZbWwwSUhCdmMybDBhVzl1SUdsdUxXeHBibVZjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbUpwYm1OdUlEMGdablZ1WTNScGIyNGdZbWx1WTI0Z0tHSnBkQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBlWEJsYjJZZ1ltbDBJRDA5UFNBbmJuVnRZbVZ5SnlrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZlpYaHdZVzVrS0hNZ0t5QXhLVHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYzEwZ2ZEMGdjVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGa1pDQmlhWFFnWVc1a0lIQnliM0JoWjJGMFpTd2dhV1lnYm1WbFpHVmtYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdjVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnY3pzZ1kyRnljbmtnSVQwOUlEQWdKaVlnYVNBOElIUm9hWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBN1hHNGdJQ0FnSUNCM0lDczlJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtQaUF5Tmp0Y2JpQWdJQ0FnSUhjZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlIYzdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJR05oY25KNU8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ3JLenRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHpXbVZ5YnlBOUlHWjFibU4wYVc5dUlHbHpXbVZ5YnlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViR1Z1WjNSb0lEMDlQU0F4SUNZbUlIUm9hWE11ZDI5eVpITmJNRjBnUFQwOUlEQTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtTnRjRzRnUFNCbWRXNWpkR2x2YmlCamJYQnVJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdibVZuWVhScGRtVWdQU0J1ZFcwZ1BDQXdPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdJVzVsWjJGMGFYWmxLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdibVZuWVhScGRtVXBJSEpsZEhWeWJpQXhPMXh1WEc0Z0lDQWdkR2hwY3k1emRISnBjQ2dwTzF4dVhHNGdJQ0FnZG1GeUlISmxjenRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCcFppQW9ibVZuWVhScGRtVXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdElEMGdMVzUxYlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJTQThQU0F3ZURObVptWm1abVlzSUNkT2RXMWlaWElnYVhNZ2RHOXZJR0pwWnljcE8xeHVYRzRnSUNBZ0lDQjJZWElnZHlBOUlIUm9hWE11ZDI5eVpITmJNRjBnZkNBd08xeHVJQ0FnSUNBZ2NtVnpJRDBnZHlBOVBUMGdiblZ0SUQ4Z01DQTZJSGNnUENCdWRXMGdQeUF0TVNBNklERTdYRzRnSUNBZ2ZWeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdMWEpsY3lCOElEQTdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCRGIyMXdZWEpsSUhSM2J5QnVkVzFpWlhKeklHRnVaQ0J5WlhSMWNtNDZYRzRnSUM4dklERWdMU0JwWmlCZ2RHaHBjMkFnUGlCZ2JuVnRZRnh1SUNBdkx5QXdJQzBnYVdZZ1lIUm9hWE5nSUQwOUlHQnVkVzFnWEc0Z0lDOHZJQzB4SUMwZ2FXWWdZSFJvYVhOZ0lEd2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1OdGNDQTlJR1oxYm1OMGFXOXVJR050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUQwOVBTQXdLU0J5WlhSMWNtNGdMVEU3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdQVDA5SURBZ0ppWWdiblZ0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0J5WlhSMWNtNGdNVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuVmpiWEFvYm5WdEtUdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ2tnY21WMGRYSnVJQzF5WlhNZ2ZDQXdPMXh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZXNXphV2R1WldRZ1kyOXRjR0Z5YVhOdmJseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWRXTnRjQ0E5SUdaMWJtTjBhVzl1SUhWamJYQWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRjBJSFJvYVhNZ2NHOXBiblFnWW05MGFDQnVkVzFpWlhKeklHaGhkbVVnZEdobElITmhiV1VnYzJsbmJseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBeE8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E4SUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlBdE1UdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dhUzB0S1NCN1hHNGdJQ0FnSUNCMllYSWdZU0E5SUhSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1WEc0Z0lDQWdJQ0JwWmlBb1lTQTlQVDBnWWlrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNCcFppQW9ZU0E4SUdJcElIdGNiaUFnSUNBZ0lDQWdjbVZ6SUQwZ0xURTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnUGlCaUtTQjdYRzRnSUNBZ0lDQWdJSEpsY3lBOUlERTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1J1SUQwZ1puVnVZM1JwYjI0Z1ozUnVJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiWEJ1S0c1MWJTa2dQVDA5SURFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1kMElEMGdablZ1WTNScGIyNGdaM1FnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBeE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHVnVJRDBnWm5WdVkzUnBiMjRnWjNSbGJpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdiaWh1ZFcwcElENDlJREE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlNBOUlHWjFibU4wYVc5dUlHZDBaU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQajBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YkhSdUlEMGdablZ1WTNScGIyNGdiSFJ1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUFQwOUlDMHhPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkQ0E5SUdaMWJtTjBhVzl1SUd4MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdMVEU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbXgwWlc0Z1BTQm1kVzVqZEdsdmJpQnNkR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUEQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxJRDBnWm5WdVkzUnBiMjRnYkhSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOFBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjVzRnUFNCbWRXNWpkR2x2YmlCbGNXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WlhFZ1BTQm1kVzVqZEdsdmJpQmxjU0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMjF3S0c1MWJTa2dQVDA5SURBN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRU0J5WldSMVkyVWdZMjl1ZEdWNGRDd2dZMjkxYkdRZ1ltVWdkWE5wYm1jZ2JXOXVkR2R2YldWeWVTQnZjaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMQ0JrWlhCbGJtUnBibWRjYmlBZ0x5OGdiMjRnZEdobElHQnRZQ0JwZEhObGJHWXVYRzRnSUM4dlhHNGdJRUpPTG5KbFpDQTlJR1oxYm1OMGFXOXVJSEpsWkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJTWldRb2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlTWldRZ1BTQm1kVzVqZEdsdmJpQjBiMUpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdZWE56WlhKMEtDRjBhR2x6TG5KbFpDd2dKMEZzY21WaFpIa2dZU0J1ZFcxaVpYSWdhVzRnY21Wa2RXTjBhVzl1SUdOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ3dnSjNKbFpDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NHOXphWFJwZG1Wekp5azdYRzRnSUNBZ2NtVjBkWEp1SUdOMGVDNWpiMjUyWlhKMFZHOG9kR2hwY3lrdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbVp5YjIxU1pXUWdQU0JtZFc1amRHbHZiaUJtY205dFVtVmtJQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2RtY205dFVtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnVkVzFpWlhKeklHbHVJSEpsWkhWamRHbHZiaUJqYjI1MFpYaDBKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtTnZiblpsY25SR2NtOXRLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZlptOXlZMlZTWldRZ1BTQm1kVzVqZEdsdmJpQmZabTl5WTJWU1pXUWdLR04wZUNrZ2UxeHVJQ0FnSUhSb2FYTXVjbVZrSUQwZ1kzUjRPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNW1iM0pqWlZKbFpDQTlJR1oxYm1OMGFXOXVJR1p2Y21ObFVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDltYjNKalpWSmxaQ2hqZEhncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUkJaR1FnUFNCbWRXNWpkR2x2YmlCeVpXUkJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRUZrWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WVdSa0tIUm9hWE1zSUc1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxCWkdRZ1BTQm1kVzVqZEdsdmJpQnlaV1JKUVdSa0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSSlFXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBZV1JrS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGTjFZaUE5SUdaMWJtTjBhVzl1SUhKbFpGTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtVM1ZpSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV6ZFdJb2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVk4xWWlBOUlHWjFibU4wYVc5dUlISmxaRWxUZFdJZ0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkVsVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtbHpkV0lvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1UyaHNJRDBnWm5WdVkzUnBiMjRnY21Wa1UyaHNJQ2h1ZFcwcElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRhR3dnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbk5vYkNoMGFHbHpMQ0J1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1eVpXUk5kV3dnUFNCbWRXNWpkR2x2YmlCeVpXUk5kV3dnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRTExYkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCMGFHbHpMbkpsWkM1ZmRtVnlhV1o1TWloMGFHbHpMQ0J1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuSmxaQzV0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtTVTExYkNBOUlHWjFibU4wYVc5dUlISmxaRWxOZFd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkUxMWJDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1paDBhR2x6TENCdWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1cGJYVnNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkZOeGNpQTlJR1oxYm1OMGFXOXVJSEpsWkZOeGNpQW9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUm9hWE11Y21Wa0xDQW5jbVZrVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXpjWElvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWxUY1hJZ1BTQm1kVzVqZEdsdmJpQnlaV1JKVTNGeUlDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKVTNGeUlIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBjM0Z5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGTnhkV0Z5WlNCeWIyOTBJRzkyWlhJZ2NGeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5ZENBOUlHWjFibU4wYVc5dUlISmxaRk54Y25RZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRk54Y25RZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2RHaHBjeTV5WldRdVgzWmxjbWxtZVRFb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTnhjblFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnlaV1JKYm5adElDZ3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RHaHBjeTV5WldRc0lDZHlaV1JKYm5adElIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNBZ0lIUm9hWE11Y21Wa0xsOTJaWEpwWm5reEtIUm9hWE1wTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNXBiblp0S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkFnSlNCZ2NtVmtJRzF2WkhWc2IyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuSmxaRTVsWnlBOUlHWjFibU4wYVc5dUlISmxaRTVsWnlBb0tTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUbVZuSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1dVpXY29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5KbFpGQnZkeUE5SUdaMWJtTjBhVzl1SUhKbFpGQnZkeUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrSUNZbUlDRnVkVzB1Y21Wa0xDQW5jbVZrVUc5M0tHNXZjbTFoYkU1MWJTa25LVHRjYmlBZ0lDQjBhR2x6TG5KbFpDNWZkbVZ5YVdaNU1TaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eVpXUXVjRzkzS0hSb2FYTXNJRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVUhKcGJXVWdiblZ0WW1WeWN5QjNhWFJvSUdWbVptbGphV1Z1ZENCeVpXUjFZM1JwYjI1Y2JpQWdkbUZ5SUhCeWFXMWxjeUE5SUh0Y2JpQWdJQ0JyTWpVMk9pQnVkV3hzTEZ4dUlDQWdJSEF5TWpRNklHNTFiR3dzWEc0Z0lDQWdjREU1TWpvZ2JuVnNiQ3hjYmlBZ0lDQndNalUxTVRrNklHNTFiR3hjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjMlYxWkc4dFRXVnljMlZ1Ym1VZ2NISnBiV1ZjYmlBZ1puVnVZM1JwYjI0Z1RWQnlhVzFsSUNodVlXMWxMQ0J3S1NCN1hHNGdJQ0FnTHk4Z1VDQTlJRElnWGlCT0lDMGdTMXh1SUNBZ0lIUm9hWE11Ym1GdFpTQTlJRzVoYldVN1hHNGdJQ0FnZEdocGN5NXdJRDBnYm1WM0lFSk9LSEFzSURFMktUdGNiaUFnSUNCMGFHbHpMbTRnUFNCMGFHbHpMbkF1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnZEdocGN5NXJJRDBnYm1WM0lFSk9LREVwTG1sMWMyaHNiaWgwYUdsekxtNHBMbWx6ZFdJb2RHaHBjeTV3S1R0Y2JseHVJQ0FnSUhSb2FYTXVkRzF3SUQwZ2RHaHBjeTVmZEcxd0tDazdYRzRnSUgxY2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbDkwYlhBZ1BTQm1kVzVqZEdsdmJpQmZkRzF3SUNncElIdGNiaUFnSUNCMllYSWdkRzF3SUQwZ2JtVjNJRUpPS0c1MWJHd3BPMXh1SUNBZ0lIUnRjQzUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2hOWVhSb0xtTmxhV3dvZEdocGN5NXVJQzhnTVRNcEtUdGNiaUFnSUNCeVpYUjFjbTRnZEcxd08xeHVJQ0I5TzF4dVhHNGdJRTFRY21sdFpTNXdjbTkwYjNSNWNHVXVhWEpsWkhWalpTQTlJR1oxYm1OMGFXOXVJR2x5WldSMVkyVWdLRzUxYlNrZ2UxeHVJQ0FnSUM4dklFRnpjM1Z0WlhNZ2RHaGhkQ0JnYm5WdFlDQnBjeUJzWlhOeklIUm9ZVzRnWUZCZU1tQmNiaUFnSUNBdkx5QnVkVzBnUFNCSVNTQXFJQ2d5SUY0Z1RpQXRJRXNwSUNzZ1NFa2dLaUJMSUNzZ1RFOGdQU0JJU1NBcUlFc2dLeUJNVHlBb2JXOWtJRkFwWEc0Z0lDQWdkbUZ5SUhJZ1BTQnVkVzA3WEc0Z0lDQWdkbUZ5SUhKc1pXNDdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0IwYUdsekxuTndiR2wwS0hJc0lIUm9hWE11ZEcxd0tUdGNiaUFnSUNBZ0lISWdQU0IwYUdsekxtbHRkV3hMS0hJcE8xeHVJQ0FnSUNBZ2NpQTlJSEl1YVdGa1pDaDBhR2x6TG5SdGNDazdYRzRnSUNBZ0lDQnliR1Z1SUQwZ2NpNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaHliR1Z1SUQ0Z2RHaHBjeTV1S1R0Y2JseHVJQ0FnSUhaaGNpQmpiWEFnUFNCeWJHVnVJRHdnZEdocGN5NXVJRDhnTFRFZ09pQnlMblZqYlhBb2RHaHBjeTV3S1R0Y2JpQWdJQ0JwWmlBb1kyMXdJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlMbmR2Y21Seld6QmRJRDBnTUR0Y2JpQWdJQ0FnSUhJdWJHVnVaM1JvSUQwZ01UdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnRjQ0ErSURBcElIdGNiaUFnSUNBZ0lISXVhWE4xWWloMGFHbHpMbkFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlMbk4wY21sd0tDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdUVkJ5YVcxbExuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMEtTQjdYRzRnSUNBZ2FXNXdkWFF1YVhWemFISnVLSFJvYVhNdWJpd2dNQ3dnYjNWMEtUdGNiaUFnZlR0Y2JseHVJQ0JOVUhKcGJXVXVjSEp2ZEc5MGVYQmxMbWx0ZFd4TElEMGdablZ1WTNScGIyNGdhVzExYkVzZ0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkVzB1YVcxMWJDaDBhR2x6TG1zcE8xeHVJQ0I5TzF4dVhHNGdJR1oxYm1OMGFXOXVJRXN5TlRZZ0tDa2dlMXh1SUNBZ0lFMVFjbWx0WlM1allXeHNLRnh1SUNBZ0lDQWdkR2hwY3l4Y2JpQWdJQ0FnSUNkck1qVTJKeXhjYmlBZ0lDQWdJQ2RtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aaUJtWm1abVptWm1aU0JtWm1abVptTXlaaWNwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0VzeU5UWXNJRTFRY21sdFpTazdYRzVjYmlBZ1N6STFOaTV3Y205MGIzUjVjR1V1YzNCc2FYUWdQU0JtZFc1amRHbHZiaUJ6Y0d4cGRDQW9hVzV3ZFhRc0lHOTFkSEIxZENrZ2UxeHVJQ0FnSUM4dklESTFOaUE5SURrZ0tpQXlOaUFySURJeVhHNGdJQ0FnZG1GeUlHMWhjMnNnUFNBd2VETm1abVptWmp0Y2JseHVJQ0FnSUhaaGNpQnZkWFJNWlc0Z1BTQk5ZWFJvTG0xcGJpaHBibkIxZEM1c1pXNW5kR2dzSURrcE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2IzVjBUR1Z1T3lCcEt5c3BJSHRjYmlBZ0lDQWdJRzkxZEhCMWRDNTNiM0prYzF0cFhTQTlJR2x1Y0hWMExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUgxY2JpQWdJQ0J2ZFhSd2RYUXViR1Z1WjNSb0lEMGdiM1YwVEdWdU8xeHVYRzRnSUNBZ2FXWWdLR2x1Y0hWMExteGxibWQwYUNBOFBTQTVLU0I3WEc0Z0lDQWdJQ0JwYm5CMWRDNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JwYm5CMWRDNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGTm9hV1owSUdKNUlEa2diR2x0WW5OY2JpQWdJQ0IyWVhJZ2NISmxkaUE5SUdsdWNIVjBMbmR2Y21Seld6bGRPMXh1SUNBZ0lHOTFkSEIxZEM1M2IzSmtjMXR2ZFhSd2RYUXViR1Z1WjNSb0t5dGRJRDBnY0hKbGRpQW1JRzFoYzJzN1hHNWNiaUFnSUNCbWIzSWdLR2tnUFNBeE1Ec2dhU0E4SUdsdWNIVjBMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdibVY0ZENBOUlHbHVjSFYwTG5kdmNtUnpXMmxkSUh3Z01EdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXMmtnTFNBeE1GMGdQU0FvS0c1bGVIUWdKaUJ0WVhOcktTQThQQ0EwS1NCOElDaHdjbVYySUQ0K1BpQXlNaWs3WEc0Z0lDQWdJQ0J3Y21WMklEMGdibVY0ZER0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpsZGlBK1BqNDlJREl5TzF4dUlDQWdJR2x1Y0hWMExuZHZjbVJ6VzJrZ0xTQXhNRjBnUFNCd2NtVjJPMXh1SUNBZ0lHbG1JQ2h3Y21WMklEMDlQU0F3SUNZbUlHbHVjSFYwTG14bGJtZDBhQ0ErSURFd0tTQjdYRzRnSUNBZ0lDQnBibkIxZEM1c1pXNW5kR2dnTFQwZ01UQTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0E1TzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCTE1qVTJMbkJ5YjNSdmRIbHdaUzVwYlhWc1N5QTlJR1oxYm1OMGFXOXVJR2x0ZFd4TElDaHVkVzBwSUh0Y2JpQWdJQ0F2THlCTElEMGdNSGd4TURBd01EQXpaREVnUFNCYklEQjROREFzSURCNE0yUXhJRjFjYmlBZ0lDQnVkVzB1ZDI5eVpITmJiblZ0TG14bGJtZDBhRjBnUFNBd08xeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDc2dNVjBnUFNBd08xeHVJQ0FnSUc1MWJTNXNaVzVuZEdnZ0t6MGdNanRjYmx4dUlDQWdJQzh2SUdKdmRXNWtaV1FnWVhRNklEQjROREFnS2lBd2VETm1abVptWm1ZZ0t5QXdlRE5rTUNBOUlEQjRNVEF3TURBd016a3dYRzRnSUNBZ2RtRnlJR3h2SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHNTFiUzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNCdWRXMHVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYkc4Z0t6MGdkeUFxSURCNE0yUXhPMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JzYnlBOUlIY2dLaUF3ZURRd0lDc2dLQ2hzYnlBdklEQjROREF3TURBd01Da2dmQ0F3S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR3hsYm1kMGFDQnlaV1IxWTNScGIyNWNiaUFnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbXhsYm1kMGFDMHRPMXh1SUNBZ0lDQWdhV1lnS0c1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb0lDMGdNVjBnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYm5WdExteGxibWQwYUMwdE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiblZ0TzF4dUlDQjlPMXh1WEc0Z0lHWjFibU4wYVc5dUlGQXlNalFnS0NrZ2UxeHVJQ0FnSUUxUWNtbHRaUzVqWVd4c0tGeHVJQ0FnSUNBZ2RHaHBjeXhjYmlBZ0lDQWdJQ2R3TWpJMEp5eGNiaUFnSUNBZ0lDZG1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQm1abVptWm1abVppQXdNREF3TURBd01DQXdNREF3TURBd01DQXdNREF3TURBd01TY3BPMXh1SUNCOVhHNGdJR2x1YUdWeWFYUnpLRkF5TWpRc0lFMVFjbWx0WlNrN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURFNU1pQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXhPVEluTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVpsSUdabVptWm1abVptSUdabVptWm1abVptSnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VERTVNaXdnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNalUxTVRrZ0tDa2dlMXh1SUNBZ0lDOHZJRElnWGlBeU5UVWdMU0F4T1Z4dUlDQWdJRTFRY21sdFpTNWpZV3hzS0Z4dUlDQWdJQ0FnZEdocGN5eGNiaUFnSUNBZ0lDY3lOVFV4T1Njc1hHNGdJQ0FnSUNBbk4yWm1abVptWm1abVptWm1abVptWmlCbVptWm1abVptWm1abVptWm1abVptSUdabVptWm1abVptWm1abVptWm1abVlnWm1abVptWm1abVptWm1abVptWmxaQ2NwTzF4dUlDQjlYRzRnSUdsdWFHVnlhWFJ6S0ZBeU5UVXhPU3dnVFZCeWFXMWxLVHRjYmx4dUlDQlFNalUxTVRrdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXpYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzUxYlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUdocElEMGdLRzUxYlM1M2IzSmtjMXRwWFNCOElEQXBJQ29nTUhneE15QXJJR05oY25KNU8xeHVJQ0FnSUNBZ2RtRnlJR3h2SUQwZ2FHa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0JvYVNBK1BqNDlJREkyTzF4dVhHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnYUdrN1hHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNoallYSnllU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dySzEwZ1BTQmpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHNTFiVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QkZlSEJ2Y25SbFpDQnRiM04wYkhrZ1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTXNJSFZ6WlNCd2JHRnBiaUJ1WVcxbElHbHVjM1JsWVdSY2JpQWdRazR1WDNCeWFXMWxJRDBnWm5WdVkzUnBiMjRnY0hKcGJXVWdLRzVoYldVcElIdGNiaUFnSUNBdkx5QkRZV05vWldRZ2RtVnljMmx2YmlCdlppQndjbWx0WlZ4dUlDQWdJR2xtSUNod2NtbHRaWE5iYm1GdFpWMHBJSEpsZEhWeWJpQndjbWx0WlhOYmJtRnRaVjA3WEc1Y2JpQWdJQ0IyWVhJZ2NISnBiV1U3WEc0Z0lDQWdhV1lnS0c1aGJXVWdQVDA5SUNkck1qVTJKeWtnZTF4dUlDQWdJQ0FnY0hKcGJXVWdQU0J1WlhjZ1N6STFOaWdwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYm1GdFpTQTlQVDBnSjNBeU1qUW5LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qSTBLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WVcxbElEMDlQU0FuY0RFNU1pY3BJSHRjYmlBZ0lDQWdJSEJ5YVcxbElEMGdibVYzSUZBeE9USW9LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVoYldVZ1BUMDlJQ2R3TWpVMU1Ua25LU0I3WEc0Z0lDQWdJQ0J3Y21sdFpTQTlJRzVsZHlCUU1qVTFNVGtvS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFZibXR1YjNkdUlIQnlhVzFsSUNjZ0t5QnVZVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjSEpwYldWelcyNWhiV1ZkSUQwZ2NISnBiV1U3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjSEpwYldVN1hHNGdJSDA3WEc1Y2JpQWdMeTljYmlBZ0x5OGdRbUZ6WlNCeVpXUjFZM1JwYjI0Z1pXNW5hVzVsWEc0Z0lDOHZYRzRnSUdaMWJtTjBhVzl1SUZKbFpDQW9iU2tnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnYlNBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJSFpoY2lCd2NtbHRaU0E5SUVKT0xsOXdjbWx0WlNodEtUdGNiaUFnSUNBZ0lIUm9hWE11YlNBOUlIQnlhVzFsTG5BN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YVcxbElEMGdjSEpwYldVN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR0Z6YzJWeWRDaHRMbWQwYmlneEtTd2dKMjF2WkhWc2RYTWdiWFZ6ZENCaVpTQm5jbVZoZEdWeUlIUm9ZVzRnTVNjcE8xeHVJQ0FnSUNBZ2RHaHBjeTV0SUQwZ2JUdGNiaUFnSUNBZ0lIUm9hWE11Y0hKcGJXVWdQU0J1ZFd4c08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WDNabGNtbG1lVEVnUFNCbWRXNWpkR2x2YmlCZmRtVnlhV1o1TVNBb1lTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoaExtNWxaMkYwYVhabElEMDlQU0F3TENBbmNtVmtJSGR2Y210eklHOXViSGtnZDJsMGFDQndiM05wZEdsMlpYTW5LVHRjYmlBZ0lDQmhjM05sY25Rb1lTNXlaV1FzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVmZG1WeWFXWjVNaUE5SUdaMWJtTjBhVzl1SUY5MlpYSnBabmt5SUNoaExDQmlLU0I3WEc0Z0lDQWdZWE56WlhKMEtDaGhMbTVsWjJGMGFYWmxJSHdnWWk1dVpXZGhkR2wyWlNrZ1BUMDlJREFzSUNkeVpXUWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lIQnZjMmwwYVhabGN5Y3BPMXh1SUNBZ0lHRnpjMlZ5ZENoaExuSmxaQ0FtSmlCaExuSmxaQ0E5UFQwZ1lpNXlaV1FzWEc0Z0lDQWdJQ0FuY21Wa0lIZHZjbXR6SUc5dWJIa2dkMmwwYUNCeVpXUWdiblZ0WW1WeWN5Y3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhVzF2WkNBOUlHWjFibU4wYVc5dUlHbHRiMlFnS0dFcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1d2NtbHRaU2tnY21WMGRYSnVJSFJvYVhNdWNISnBiV1V1YVhKbFpIVmpaU2hoS1M1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lDQWdjbVYwZFhKdUlHRXVkVzF2WkNoMGFHbHpMbTBwTGw5bWIzSmpaVkpsWkNoMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvWVNrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbTB1YzNWaUtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtRmtaQ0E5SUdaMWJtTjBhVzl1SUdGa1pDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUhSb2FYTXVYM1psY21sbWVUSW9ZU3dnWWlrN1hHNWNiaUFnSUNCMllYSWdjbVZ6SUQwZ1lTNWhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21WekxsOW1iM0pqWlZKbFpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1saFpHUWdQU0JtZFc1amRHbHZiaUJwWVdSa0lDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExtbGhaR1FvWWlrN1hHNGdJQ0FnYVdZZ0tISmxjeTVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWMzVmlJRDBnWm5WdVkzUnBiMjRnYzNWaUlDaGhMQ0JpS1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1paGhMQ0JpS1R0Y2JseHVJQ0FnSUhaaGNpQnlaWE1nUFNCaExuTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHpkV0lnUFNCbWRXNWpkR2x2YmlCcGMzVmlJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNibHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2FXWWdLSEpsY3k1amJYQnVLREFwSUR3Z01Da2dlMXh1SUNBZ0lDQWdjbVZ6TG1saFpHUW9kR2hwY3k1dEtUdGNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG5Ob2JDQTlJR1oxYm1OMGFXOXVJSE5vYkNBb1lTd2diblZ0S1NCN1hHNGdJQ0FnZEdocGN5NWZkbVZ5YVdaNU1TaGhLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwYlc5a0tHRXVkWE5vYkc0b2JuVnRLU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb1lTd2dZaWtnZTF4dUlDQWdJSFJvYVhNdVgzWmxjbWxtZVRJb1lTd2dZaWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxdlpDaGhMbWx0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXViWFZzSUQwZ1puVnVZM1JwYjI0Z2JYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWJYVnNLR0lwS1R0Y2JpQWdmVHRjYmx4dUlDQlNaV1F1Y0hKdmRHOTBlWEJsTG1semNYSWdQU0JtZFc1amRHbHZiaUJwYzNGeUlDaGhLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVcxMWJDaGhMQ0JoTG1Oc2IyNWxLQ2twTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YzNGeUlEMGdablZ1WTNScGIyNGdjM0Z5SUNoaEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXViWFZzS0dFc0lHRXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjM0Z5ZENBOUlHWjFibU4wYVc5dUlITnhjblFnS0dFcElIdGNiaUFnSUNCcFppQW9ZUzVwYzFwbGNtOG9LU2tnY21WMGRYSnVJR0V1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJSFpoY2lCdGIyUXpJRDBnZEdocGN5NXRMbUZ1Wkd4dUtETXBPMXh1SUNBZ0lHRnpjMlZ5ZENodGIyUXpJQ1VnTWlBOVBUMGdNU2s3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJWY2JpQWdJQ0JwWmlBb2JXOWtNeUE5UFQwZ015a2dlMXh1SUNBZ0lDQWdkbUZ5SUhCdmR5QTlJSFJvYVhNdWJTNWhaR1FvYm1WM0lFSk9LREVwS1M1cGRYTm9jbTRvTWlrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdiM2NvWVN3Z2NHOTNLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJVYjI1bGJHeHBMVk5vWVc1cmN5QmhiR2R2Y21sMGFHMGdLRlJ2ZEdGc2JIa2dkVzV2Y0hScGJXbDZaV1FnWVc1a0lITnNiM2NwWEc0Z0lDQWdMeTljYmlBZ0lDQXZMeUJHYVc1a0lGRWdZVzVrSUZNc0lIUm9ZWFFnVVNBcUlESWdYaUJUSUQwZ0tGQWdMU0F4S1Z4dUlDQWdJSFpoY2lCeElEMGdkR2hwY3k1dExuTjFZbTRvTVNrN1hHNGdJQ0FnZG1GeUlITWdQU0F3TzF4dUlDQWdJSGRvYVd4bElDZ2hjUzVwYzFwbGNtOG9LU0FtSmlCeExtRnVaR3h1S0RFcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCekt5czdYRzRnSUNBZ0lDQnhMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ1lYTnpaWEowS0NGeExtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUJ2Ym1VZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkbUZ5SUc1UGJtVWdQU0J2Ym1VdWNtVmtUbVZuS0NrN1hHNWNiaUFnSUNBdkx5QkdhVzVrSUhGMVlXUnlZWFJwWXlCdWIyNHRjbVZ6YVdSMVpWeHVJQ0FnSUM4dklFNVBWRVU2SUUxaGVDQnBjeUJ6ZFdOb0lHSmxZMkYxYzJVZ2IyWWdaMlZ1WlhKaGJHbDZaV1FnVW1sbGJXRnViaUJvZVhCdmRHaGxjMmx6TGx4dUlDQWdJSFpoY2lCc2NHOTNJRDBnZEdocGN5NXRMbk4xWW00b01Ta3VhWFZ6YUhKdUtERXBPMXh1SUNBZ0lIWmhjaUI2SUQwZ2RHaHBjeTV0TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUhvZ1BTQnVaWGNnUWs0b01pQXFJSG9nS2lCNktTNTBiMUpsWkNoMGFHbHpLVHRjYmx4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG5CdmR5aDZMQ0JzY0c5M0tTNWpiWEFvYms5dVpTa2dJVDA5SURBcElIdGNiaUFnSUNBZ0lIb3VjbVZrU1VGa1pDaHVUMjVsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1l5QTlJSFJvYVhNdWNHOTNLSG9zSUhFcE8xeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXdiM2NvWVN3Z2NTNWhaR1J1S0RFcExtbDFjMmh5YmlneEtTazdYRzRnSUNBZ2RtRnlJSFFnUFNCMGFHbHpMbkJ2ZHloaExDQnhLVHRjYmlBZ0lDQjJZWElnYlNBOUlITTdYRzRnSUNBZ2QyaHBiR1VnS0hRdVkyMXdLRzl1WlNrZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQjBiWEFnUFNCME8xeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUhSdGNDNWpiWEFvYjI1bEtTQWhQVDBnTURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUhSdGNDQTlJSFJ0Y0M1eVpXUlRjWElvS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdGemMyVnlkQ2hwSUR3Z2JTazdYRzRnSUNBZ0lDQjJZWElnWWlBOUlIUm9hWE11Y0c5M0tHTXNJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9iU0F0SUdrZ0xTQXhLU2s3WEc1Y2JpQWdJQ0FnSUhJZ1BTQnlMbkpsWkUxMWJDaGlLVHRjYmlBZ0lDQWdJR01nUFNCaUxuSmxaRk54Y2lncE8xeHVJQ0FnSUNBZ2RDQTlJSFF1Y21Wa1RYVnNLR01wTzF4dUlDQWdJQ0FnYlNBOUlHazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhJN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJuWnRJRDBnWm5WdVkzUnBiMjRnYVc1MmJTQW9ZU2tnZTF4dUlDQWdJSFpoY2lCcGJuWWdQU0JoTGw5cGJuWnRjQ2gwYUdsekxtMHBPMXh1SUNBZ0lHbG1JQ2hwYm5ZdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUdsdWRpNXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1cGJXOWtLR2x1ZGlrdWNtVmtUbVZuS0NrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9hVzUyS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV3YjNjZ1BTQm1kVzVqZEdsdmJpQndiM2NnS0dFc0lHNTFiU2tnZTF4dUlDQWdJR2xtSUNodWRXMHVhWE5hWlhKdktDa3BJSEpsZEhWeWJpQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdhV1lnS0c1MWJTNWpiWEJ1S0RFcElEMDlQU0F3S1NCeVpYUjFjbTRnWVM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZG1GeUlIZHBibVJ2ZDFOcGVtVWdQU0EwTzF4dUlDQWdJSFpoY2lCM2JtUWdQU0J1WlhjZ1FYSnlZWGtvTVNBOFBDQjNhVzVrYjNkVGFYcGxLVHRjYmlBZ0lDQjNibVJiTUYwZ1BTQnVaWGNnUWs0b01Ta3VkRzlTWldRb2RHaHBjeWs3WEc0Z0lDQWdkMjVrV3pGZElEMGdZVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTWpzZ2FTQThJSGR1WkM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkMjVrVzJsZElEMGdkR2hwY3k1dGRXd29kMjVrVzJrZ0xTQXhYU3dnWVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUhkdVpGc3dYVHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SURBN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJSFpoY2lCemRHRnlkQ0E5SUc1MWJTNWlhWFJNWlc1bmRHZ29LU0FsSURJMk8xeHVJQ0FnSUdsbUlDaHpkR0Z5ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYzNSaGNuUWdQU0F5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYjNJZ0tHa2dQU0J1ZFcwdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNiM0prSUQwZ2JuVnRMbmR2Y21SelcybGRPMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhaUE5SUhOMFlYSjBJQzBnTVRzZ2FpQStQU0F3T3lCcUxTMHBJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHSnBkQ0E5SUNoM2IzSmtJRDQrSUdvcElDWWdNVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tISmxjeUFoUFQwZ2QyNWtXekJkS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ6SUQwZ2RHaHBjeTV6Y1hJb2NtVnpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hpYVhRZ1BUMDlJREFnSmlZZ1kzVnljbVZ1ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNGdQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkQ0E4UEQwZ01UdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQjhQU0JpYVhRN1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5STVpXNHJLenRjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5STVpXNGdJVDA5SUhkcGJtUnZkMU5wZW1VZ0ppWWdLR2tnSVQwOUlEQWdmSHdnYWlBaFBUMGdNQ2twSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lISmxjeUE5SUhSb2FYTXViWFZzS0hKbGN5d2dkMjVrVzJOMWNuSmxiblJkS1R0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEV4bGJpQTlJREE3WEc0Z0lDQWdJQ0FnSUdOMWNuSmxiblFnUFNBd08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2MzUmhjblFnUFNBeU5qdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZEZSdklEMGdablZ1WTNScGIyNGdZMjl1ZG1WeWRGUnZJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdjaUE5SUc1MWJTNTFiVzlrS0hSb2FYTXViU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjaUE5UFQwZ2JuVnRJRDhnY2k1amJHOXVaU2dwSURvZ2NqdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtTnZiblpsY25SR2NtOXRJRDBnWm5WdVkzUnBiMjRnWTI5dWRtVnlkRVp5YjIwZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeVpYTWdQU0J1ZFcwdVkyeHZibVVvS1R0Y2JpQWdJQ0J5WlhNdWNtVmtJRDBnYm5Wc2JEdGNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJQzh2WEc0Z0lDOHZJRTF2Ym5SbmIyMWxjbmtnYldWMGFHOWtJR1Z1WjJsdVpWeHVJQ0F2TDF4dVhHNGdJRUpPTG0xdmJuUWdQU0JtZFc1amRHbHZiaUJ0YjI1MElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUUxdmJuUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQk5iMjUwSUNodEtTQjdYRzRnSUNBZ1VtVmtMbU5oYkd3b2RHaHBjeXdnYlNrN1hHNWNiaUFnSUNCMGFHbHpMbk5vYVdaMElEMGdkR2hwY3k1dExtSnBkRXhsYm1kMGFDZ3BPMXh1SUNBZ0lHbG1JQ2gwYUdsekxuTm9hV1owSUNVZ01qWWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIUm9hWE11YzJocFpuUWdLejBnTWpZZ0xTQW9kR2hwY3k1emFHbG1kQ0FsSURJMktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbklnUFNCdVpYY2dRazRvTVNrdWFYVnphR3h1S0hSb2FYTXVjMmhwWm5RcE8xeHVJQ0FnSUhSb2FYTXVjaklnUFNCMGFHbHpMbWx0YjJRb2RHaHBjeTV5TG5OeGNpZ3BLVHRjYmlBZ0lDQjBhR2x6TG5KcGJuWWdQU0IwYUdsekxuSXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNWNiaUFnSUNCMGFHbHpMbTFwYm5ZZ1BTQjBhR2x6TG5KcGJuWXViWFZzS0hSb2FYTXVjaWt1YVhOMVltNG9NU2t1WkdsMktIUm9hWE11YlNrN1hHNGdJQ0FnZEdocGN5NXRhVzUySUQwZ2RHaHBjeTV0YVc1MkxuVnRiMlFvZEdocGN5NXlLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxuSXVjM1ZpS0hSb2FYTXViV2x1ZGlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1RXOXVkQ3dnVW1Wa0tUdGNibHh1SUNCTmIyNTBMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9iblZ0TG5WemFHeHVLSFJvYVhNdWMyaHBablFwS1R0Y2JpQWdmVHRjYmx4dUlDQk5iMjUwTG5CeWIzUnZkSGx3WlM1amIyNTJaWEowUm5KdmJTQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUkdjbTl0SUNodWRXMHBJSHRjYmlBZ0lDQjJZWElnY2lBOUlIUm9hWE11YVcxdlpDaHVkVzB1YlhWc0tIUm9hWE11Y21sdWRpa3BPMXh1SUNBZ0lISXVjbVZrSUQwZ2JuVnNiRHRjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JOYjI1MExuQnliM1J2ZEhsd1pTNXBiWFZzSUQwZ1puVnVZM1JwYjI0Z2FXMTFiQ0FvWVN3Z1lpa2dlMXh1SUNBZ0lHbG1JQ2hoTG1seldtVnlieWdwSUh4OElHSXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJR0V1ZDI5eVpITmJNRjBnUFNBd08xeHVJQ0FnSUNBZ1lTNXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHRTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSFFnUFNCaExtbHRkV3dvWWlrN1hHNGdJQ0FnZG1GeUlHTWdQU0IwTG0xaGMydHVLSFJvYVhNdWMyaHBablFwTG0xMWJDaDBhR2x6TG0xcGJuWXBMbWx0WVhOcmJpaDBhR2x6TG5Ob2FXWjBLUzV0ZFd3b2RHaHBjeTV0S1R0Y2JpQWdJQ0IyWVhJZ2RTQTlJSFF1YVhOMVlpaGpLUzVwZFhOb2NtNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJSFU3WEc1Y2JpQWdJQ0JwWmlBb2RTNWpiWEFvZEdocGN5NXRLU0ErUFNBd0tTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCMUxtbHpkV0lvZEdocGN5NXRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFV1WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFXRmtaQ2gwYUdsekxtMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTXVYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtMTFiQ0E5SUdaMWJtTjBhVzl1SUcxMWJDQW9ZU3dnWWlrZ2UxeHVJQ0FnSUdsbUlDaGhMbWx6V21WeWJ5Z3BJSHg4SUdJdWFYTmFaWEp2S0NrcElISmxkSFZ5YmlCdVpYY2dRazRvTUNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dVhHNGdJQ0FnZG1GeUlIUWdQU0JoTG0xMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNiaUFnSUNCcFppQW9kUzVqYlhBb2RHaHBjeTV0S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjFMbWx6ZFdJb2RHaHBjeTV0S1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hVdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlIVXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ0x5OGdLRUZTS1Y0dE1TQXFJRkplTWlBOUlDaEJYaTB4SUNvZ1VsNHRNU2tnS2lCU1hqSWdQU0JCWGkweElDb2dVbHh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQjBhR2x6TG1sdGIyUW9ZUzVmYVc1MmJYQW9kR2hwY3k1dEtTNXRkV3dvZEdocGN5NXlNaWtwTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVmU2tvZEhsd1pXOW1JRzF2WkhWc1pTQTlQVDBnSjNWdVpHVm1hVzVsWkNjZ2ZId2diVzlrZFd4bExDQjBhR2x6S1R0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvbWlsbGVyLXJhYmluL25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL21pbmltYWxpc3RpYy1hc3NlcnQvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gYXNzZXJ0O1xcblxcbmZ1bmN0aW9uIGFzc2VydCh2YWwsIG1zZykge1xcbiAgaWYgKCF2YWwpXFxuICAgIHRocm93IG5ldyBFcnJvcihtc2cgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnKTtcXG59XFxuXFxuYXNzZXJ0LmVxdWFsID0gZnVuY3Rpb24gYXNzZXJ0RXF1YWwobCwgciwgbXNnKSB7XFxuICBpZiAobCAhPSByKVxcbiAgICB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICgnQXNzZXJ0aW9uIGZhaWxlZDogJyArIGwgKyAnICE9ICcgKyByKSk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXRhVzVwYldGc2FYTjBhV010WVhOelpYSjBMMmx1WkdWNExtcHpQMlUwTkdVaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YldsdWFXMWhiR2x6ZEdsakxXRnpjMlZ5ZEM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdZWE56WlhKME8xeHVYRzVtZFc1amRHbHZiaUJoYzNObGNuUW9kbUZzTENCdGMyY3BJSHRjYmlBZ2FXWWdLQ0YyWVd3cFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRzF6WnlCOGZDQW5RWE56WlhKMGFXOXVJR1poYVd4bFpDY3BPMXh1ZlZ4dVhHNWhjM05sY25RdVpYRjFZV3dnUFNCbWRXNWpkR2x2YmlCaGMzTmxjblJGY1hWaGJDaHNMQ0J5TENCdGMyY3BJSHRjYmlBZ2FXWWdLR3dnSVQwZ2NpbGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvYlhObklIeDhJQ2duUVhOelpYSjBhVzl1SUdaaGFXeGxaRG9nSnlBcklHd2dLeUFuSUNFOUlDY2dLeUJ5S1NrN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtYXNzZXJ0L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzL2xpYi91dGlscy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9taW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzL2xpYi91dGlscy5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgdXRpbHMgPSBleHBvcnRzO1xcblxcbmZ1bmN0aW9uIHRvQXJyYXkobXNnLCBlbmMpIHtcXG4gIGlmIChBcnJheS5pc0FycmF5KG1zZykpXFxuICAgIHJldHVybiBtc2cuc2xpY2UoKTtcXG4gIGlmICghbXNnKVxcbiAgICByZXR1cm4gW107XFxuICB2YXIgcmVzID0gW107XFxuICBpZiAodHlwZW9mIG1zZyAhPT0gJ3N0cmluZycpIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpKyspXFxuICAgICAgcmVzW2ldID0gbXNnW2ldIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH1cXG4gIGlmIChlbmMgPT09ICdoZXgnKSB7XFxuICAgIG1zZyA9IG1zZy5yZXBsYWNlKC9bXmEtejAtOV0rL2lnLCAnJyk7XFxuICAgIGlmIChtc2cubGVuZ3RoICUgMiAhPT0gMClcXG4gICAgICBtc2cgPSAnMCcgKyBtc2c7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSArPSAyKVxcbiAgICAgIHJlcy5wdXNoKHBhcnNlSW50KG1zZ1tpXSArIG1zZ1tpICsgMV0sIDE2KSk7XFxuICB9IGVsc2Uge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBjID0gbXNnLmNoYXJDb2RlQXQoaSk7XFxuICAgICAgdmFyIGhpID0gYyA+PiA4O1xcbiAgICAgIHZhciBsbyA9IGMgJiAweGZmO1xcbiAgICAgIGlmIChoaSlcXG4gICAgICAgIHJlcy5wdXNoKGhpLCBsbyk7XFxuICAgICAgZWxzZVxcbiAgICAgICAgcmVzLnB1c2gobG8pO1xcbiAgICB9XFxuICB9XFxuICByZXR1cm4gcmVzO1xcbn1cXG51dGlscy50b0FycmF5ID0gdG9BcnJheTtcXG5cXG5mdW5jdGlvbiB6ZXJvMih3b3JkKSB7XFxuICBpZiAod29yZC5sZW5ndGggPT09IDEpXFxuICAgIHJldHVybiAnMCcgKyB3b3JkO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gd29yZDtcXG59XFxudXRpbHMuemVybzIgPSB6ZXJvMjtcXG5cXG5mdW5jdGlvbiB0b0hleChtc2cpIHtcXG4gIHZhciByZXMgPSAnJztcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxcbiAgICByZXMgKz0gemVybzIobXNnW2ldLnRvU3RyaW5nKDE2KSk7XFxuICByZXR1cm4gcmVzO1xcbn1cXG51dGlscy50b0hleCA9IHRvSGV4O1xcblxcbnV0aWxzLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShhcnIsIGVuYykge1xcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXFxuICAgIHJldHVybiB0b0hleChhcnIpO1xcbiAgZWxzZVxcbiAgICByZXR1cm4gYXJyO1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl0YVc1cGJXRnNhWE4wYVdNdFkzSjVjSFJ2TFhWMGFXeHpMMnhwWWk5MWRHbHNjeTVxY3o5ak1UQTRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4blFrRkJaMEk3UVVGRGJrTTdRVUZEUVN4SFFVRkhPMEZCUTBnc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHbENRVUZwUWl4blFrRkJaMEk3UVVGRGFrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwyMXBibWx0WVd4cGMzUnBZeTFqY25sd2RHOHRkWFJwYkhNdmJHbGlMM1YwYVd4ekxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1MllYSWdkWFJwYkhNZ1BTQmxlSEJ2Y25Sek8xeHVYRzVtZFc1amRHbHZiaUIwYjBGeWNtRjVLRzF6Wnl3Z1pXNWpLU0I3WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHMXpaeWtwWEc0Z0lDQWdjbVYwZFhKdUlHMXpaeTV6YkdsalpTZ3BPMXh1SUNCcFppQW9JVzF6WnlsY2JpQWdJQ0J5WlhSMWNtNGdXMTA3WEc0Z0lIWmhjaUJ5WlhNZ1BTQmJYVHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnRjMmNnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnRjMmN1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnSUNCeVpYTmJhVjBnUFNCdGMyZGJhVjBnZkNBd08xeHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDFjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNCdGMyY2dQU0J0YzJjdWNtVndiR0ZqWlNndlcxNWhMWG93TFRsZEt5OXBaeXdnSnljcE8xeHVJQ0FnSUdsbUlDaHRjMmN1YkdWdVozUm9JQ1VnTWlBaFBUMGdNQ2xjYmlBZ0lDQWdJRzF6WnlBOUlDY3dKeUFySUcxelp6dGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHMXpaeTVzWlc1bmRHZzdJR2tnS3owZ01pbGNiaUFnSUNBZ0lISmxjeTV3ZFhOb0tIQmhjbk5sU1c1MEtHMXpaMXRwWFNBcklHMXpaMXRwSUNzZ01WMHNJREUyS1NrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnRjMmN1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJqSUQwZ2JYTm5MbU5vWVhKRGIyUmxRWFFvYVNrN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNCaklENCtJRGc3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JqSUNZZ01IaG1aanRjYmlBZ0lDQWdJR2xtSUNob2FTbGNiaUFnSUNBZ0lDQWdjbVZ6TG5CMWMyZ29hR2tzSUd4dktUdGNiaUFnSUNBZ0lHVnNjMlZjYmlBZ0lDQWdJQ0FnY21WekxuQjFjMmdvYkc4cE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnY21Wek8xeHVmVnh1ZFhScGJITXVkRzlCY25KaGVTQTlJSFJ2UVhKeVlYazdYRzVjYm1aMWJtTjBhVzl1SUhwbGNtOHlLSGR2Y21RcElIdGNiaUFnYVdZZ0tIZHZjbVF1YkdWdVozUm9JRDA5UFNBeEtWeHVJQ0FnSUhKbGRIVnliaUFuTUNjZ0t5QjNiM0prTzF4dUlDQmxiSE5sWEc0Z0lDQWdjbVYwZFhKdUlIZHZjbVE3WEc1OVhHNTFkR2xzY3k1NlpYSnZNaUE5SUhwbGNtOHlPMXh1WEc1bWRXNWpkR2x2YmlCMGIwaGxlQ2h0YzJjcElIdGNiaUFnZG1GeUlISmxjeUE5SUNjbk8xeHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUcxelp5NXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQnlaWE1nS3owZ2VtVnlieklvYlhOblcybGRMblJ2VTNSeWFXNW5LREUyS1NrN1hHNGdJSEpsZEhWeWJpQnlaWE03WEc1OVhHNTFkR2xzY3k1MGIwaGxlQ0E5SUhSdlNHVjRPMXh1WEc1MWRHbHNjeTVsYm1OdlpHVWdQU0JtZFc1amRHbHZiaUJsYm1OdlpHVW9ZWEp5TENCbGJtTXBJSHRjYmlBZ2FXWWdLR1Z1WXlBOVBUMGdKMmhsZUNjcFhHNGdJQ0FnY21WMGRYSnVJSFJ2U0dWNEtHRnljaWs3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z1lYSnlPMXh1ZlR0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvbWluaW1hbGlzdGljLWNyeXB0by11dGlscy9saWIvdXRpbHMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL29iamVjdC1hc3NpZ24vaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLypcXG5vYmplY3QtYXNzaWduXFxuKGMpIFNpbmRyZSBTb3JodXNcXG5AbGljZW5zZSBNSVRcXG4qL1xcblxcblxcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXFxudmFyIGdldE93blByb3BlcnR5U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XFxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XFxuXFxuZnVuY3Rpb24gdG9PYmplY3QodmFsKSB7XFxuXFx0aWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCkge1xcblxcdFxcdHRocm93IG5ldyBUeXBlRXJyb3IoJ09iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkJyk7XFxuXFx0fVxcblxcblxcdHJldHVybiBPYmplY3QodmFsKTtcXG59XFxuXFxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xcblxcdHRyeSB7XFxuXFx0XFx0aWYgKCFPYmplY3QuYXNzaWduKSB7XFxuXFx0XFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBEZXRlY3QgYnVnZ3kgcHJvcGVydHkgZW51bWVyYXRpb24gb3JkZXIgaW4gb2xkZXIgVjggdmVyc2lvbnMuXFxuXFxuXFx0XFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9NDExOFxcblxcdFxcdHZhciB0ZXN0MSA9IG5ldyBTdHJpbmcoJ2FiYycpOyAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXctd3JhcHBlcnNcXG5cXHRcXHR0ZXN0MVs1XSA9ICdkZSc7XFxuXFx0XFx0aWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QxKVswXSA9PT0gJzUnKSB7XFxuXFx0XFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdFxcdH1cXG5cXG5cXHRcXHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XFxuXFx0XFx0dmFyIHRlc3QyID0ge307XFxuXFx0XFx0Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XFxuXFx0XFx0XFx0dGVzdDJbJ18nICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKV0gPSBpO1xcblxcdFxcdH1cXG5cXHRcXHR2YXIgb3JkZXIyID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDIpLm1hcChmdW5jdGlvbiAobikge1xcblxcdFxcdFxcdHJldHVybiB0ZXN0MltuXTtcXG5cXHRcXHR9KTtcXG5cXHRcXHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcXG5cXHRcXHRcXHRyZXR1cm4gZmFsc2U7XFxuXFx0XFx0fVxcblxcblxcdFxcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcXG5cXHRcXHR2YXIgdGVzdDMgPSB7fTtcXG5cXHRcXHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnLnNwbGl0KCcnKS5mb3JFYWNoKGZ1bmN0aW9uIChsZXR0ZXIpIHtcXG5cXHRcXHRcXHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xcblxcdFxcdH0pO1xcblxcdFxcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxcblxcdFxcdFxcdFxcdCdhYmNkZWZnaGlqa2xtbm9wcXJzdCcpIHtcXG5cXHRcXHRcXHRyZXR1cm4gZmFsc2U7XFxuXFx0XFx0fVxcblxcblxcdFxcdHJldHVybiB0cnVlO1xcblxcdH0gY2F0Y2ggKGVycikge1xcblxcdFxcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXFxuXFx0XFx0cmV0dXJuIGZhbHNlO1xcblxcdH1cXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBzaG91bGRVc2VOYXRpdmUoKSA/IE9iamVjdC5hc3NpZ24gOiBmdW5jdGlvbiAodGFyZ2V0LCBzb3VyY2UpIHtcXG5cXHR2YXIgZnJvbTtcXG5cXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xcblxcdHZhciBzeW1ib2xzO1xcblxcblxcdGZvciAodmFyIHMgPSAxOyBzIDwgYXJndW1lbnRzLmxlbmd0aDsgcysrKSB7XFxuXFx0XFx0ZnJvbSA9IE9iamVjdChhcmd1bWVudHNbc10pO1xcblxcblxcdFxcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XFxuXFx0XFx0XFx0aWYgKGhhc093blByb3BlcnR5LmNhbGwoZnJvbSwga2V5KSkge1xcblxcdFxcdFxcdFxcdHRvW2tleV0gPSBmcm9tW2tleV07XFxuXFx0XFx0XFx0fVxcblxcdFxcdH1cXG5cXG5cXHRcXHRpZiAoZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XFxuXFx0XFx0XFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcXG5cXHRcXHRcXHRmb3IgKHZhciBpID0gMDsgaSA8IHN5bWJvbHMubGVuZ3RoOyBpKyspIHtcXG5cXHRcXHRcXHRcXHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XFxuXFx0XFx0XFx0XFx0XFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xcblxcdFxcdFxcdFxcdH1cXG5cXHRcXHRcXHR9XFxuXFx0XFx0fVxcblxcdH1cXG5cXG5cXHRyZXR1cm4gdG87XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXZZbXBsWTNRdFlYTnphV2R1TDJsdVpHVjRMbXB6UHpsaE5ERWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZZVHRCUVVOaU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxHZERRVUZuUXp0QlFVTm9RenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklMR3REUVVGclF6dEJRVU5zUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1owSkJRV2RDTEhOQ1FVRnpRanRCUVVOMFF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4clFrRkJhMElzYjBKQlFXOUNPMEZCUTNSRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDI5aWFtVmpkQzFoYzNOcFoyNHZhVzVrWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktseHViMkpxWldOMExXRnpjMmxuYmx4dUtHTXBJRk5wYm1SeVpTQlRiM0pvZFhOY2JrQnNhV05sYm5ObElFMUpWRnh1S2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dUx5b2daWE5zYVc1MExXUnBjMkZpYkdVZ2JtOHRkVzUxYzJWa0xYWmhjbk1nS2k5Y2JuWmhjaUJuWlhSUGQyNVFjbTl3WlhKMGVWTjViV0p2YkhNZ1BTQlBZbXBsWTNRdVoyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpPMXh1ZG1GeUlHaGhjMDkzYmxCeWIzQmxjblI1SUQwZ1QySnFaV04wTG5CeWIzUnZkSGx3WlM1b1lYTlBkMjVRY205d1pYSjBlVHRjYm5aaGNpQndjbTl3U1hORmJuVnRaWEpoWW14bElEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNXdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaVHRjYmx4dVpuVnVZM1JwYjI0Z2RHOVBZbXBsWTNRb2RtRnNLU0I3WEc1Y2RHbG1JQ2gyWVd3Z1BUMDlJRzUxYkd3Z2ZId2dkbUZzSUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmx4MFhIUjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RQWW1wbFkzUXVZWE56YVdkdUlHTmhibTV2ZENCaVpTQmpZV3hzWldRZ2QybDBhQ0J1ZFd4c0lHOXlJSFZ1WkdWbWFXNWxaQ2NwTzF4dVhIUjlYRzVjYmx4MGNtVjBkWEp1SUU5aWFtVmpkQ2gyWVd3cE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCemFHOTFiR1JWYzJWT1lYUnBkbVVvS1NCN1hHNWNkSFJ5ZVNCN1hHNWNkRngwYVdZZ0tDRlBZbXBsWTNRdVlYTnphV2R1S1NCN1hHNWNkRngwWEhSeVpYUjFjbTRnWm1Gc2MyVTdYRzVjZEZ4MGZWeHVYRzVjZEZ4MEx5OGdSR1YwWldOMElHSjFaMmQ1SUhCeWIzQmxjblI1SUdWdWRXMWxjbUYwYVc5dUlHOXlaR1Z5SUdsdUlHOXNaR1Z5SUZZNElIWmxjbk5wYjI1ekxseHVYRzVjZEZ4MEx5OGdhSFIwY0hNNkx5OWlkV2R6TG1Ob2NtOXRhWFZ0TG05eVp5OXdMM1k0TDJsemMzVmxjeTlrWlhSaGFXdy9hV1E5TkRFeE9GeHVYSFJjZEhaaGNpQjBaWE4wTVNBOUlHNWxkeUJUZEhKcGJtY29KMkZpWXljcE95QWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRiR2x1WlNCdWJ5MXVaWGN0ZDNKaGNIQmxjbk5jYmx4MFhIUjBaWE4wTVZzMVhTQTlJQ2RrWlNjN1hHNWNkRngwYVdZZ0tFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVTVoYldWektIUmxjM1F4S1Zzd1hTQTlQVDBnSnpVbktTQjdYRzVjZEZ4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEc1Y2RGeDBmVnh1WEc1Y2RGeDBMeThnYUhSMGNITTZMeTlpZFdkekxtTm9jbTl0YVhWdExtOXlaeTl3TDNZNEwybHpjM1ZsY3k5a1pYUmhhV3cvYVdROU16QTFObHh1WEhSY2RIWmhjaUIwWlhOME1pQTlJSHQ5TzF4dVhIUmNkR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnTVRBN0lHa3JLeWtnZTF4dVhIUmNkRngwZEdWemRESmJKMThuSUNzZ1UzUnlhVzVuTG1aeWIyMURhR0Z5UTI5a1pTaHBLVjBnUFNCcE8xeHVYSFJjZEgxY2JseDBYSFIyWVhJZ2IzSmtaWEl5SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVUbUZ0WlhNb2RHVnpkRElwTG0xaGNDaG1kVzVqZEdsdmJpQW9iaWtnZTF4dVhIUmNkRngwY21WMGRYSnVJSFJsYzNReVcyNWRPMXh1WEhSY2RIMHBPMXh1WEhSY2RHbG1JQ2h2Y21SbGNqSXVhbTlwYmlnbkp5a2dJVDA5SUNjd01USXpORFUyTnpnNUp5a2dlMXh1WEhSY2RGeDBjbVYwZFhKdUlHWmhiSE5sTzF4dVhIUmNkSDFjYmx4dVhIUmNkQzh2SUdoMGRIQnpPaTh2WW5WbmN5NWphSEp2YldsMWJTNXZjbWN2Y0M5Mk9DOXBjM04xWlhNdlpHVjBZV2xzUDJsa1BUTXdOVFpjYmx4MFhIUjJZWElnZEdWemRETWdQU0I3ZlR0Y2JseDBYSFFuWVdKalpHVm1aMmhwYW10c2JXNXZjSEZ5YzNRbkxuTndiR2wwS0NjbktTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHNaWFIwWlhJcElIdGNibHgwWEhSY2RIUmxjM1F6VzJ4bGRIUmxjbDBnUFNCc1pYUjBaWEk3WEc1Y2RGeDBmU2s3WEc1Y2RGeDBhV1lnS0U5aWFtVmpkQzVyWlhsektFOWlhbVZqZEM1aGMzTnBaMjRvZTMwc0lIUmxjM1F6S1NrdWFtOXBiaWduSnlrZ0lUMDlYRzVjZEZ4MFhIUmNkQ2RoWW1Oa1pXWm5hR2xxYTJ4dGJtOXdjWEp6ZENjcElIdGNibHgwWEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjYmx4MFhIUjlYRzVjYmx4MFhIUnlaWFIxY200Z2RISjFaVHRjYmx4MGZTQmpZWFJqYUNBb1pYSnlLU0I3WEc1Y2RGeDBMeThnVjJVZ1pHOXVKM1FnWlhod1pXTjBJR0Z1ZVNCdlppQjBhR1VnWVdKdmRtVWdkRzhnZEdoeWIzY3NJR0oxZENCaVpYUjBaWElnZEc4Z1ltVWdjMkZtWlM1Y2JseDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hHNWNkSDFjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQnphRzkxYkdSVmMyVk9ZWFJwZG1Vb0tTQS9JRTlpYW1WamRDNWhjM05wWjI0Z09pQm1kVzVqZEdsdmJpQW9kR0Z5WjJWMExDQnpiM1Z5WTJVcElIdGNibHgwZG1GeUlHWnliMjA3WEc1Y2RIWmhjaUIwYnlBOUlIUnZUMkpxWldOMEtIUmhjbWRsZENrN1hHNWNkSFpoY2lCemVXMWliMnh6TzF4dVhHNWNkR1p2Y2lBb2RtRnlJSE1nUFNBeE95QnpJRHdnWVhKbmRXMWxiblJ6TG14bGJtZDBhRHNnY3lzcktTQjdYRzVjZEZ4MFpuSnZiU0E5SUU5aWFtVmpkQ2hoY21kMWJXVnVkSE5iYzEwcE8xeHVYRzVjZEZ4MFptOXlJQ2gyWVhJZ2EyVjVJR2x1SUdaeWIyMHBJSHRjYmx4MFhIUmNkR2xtSUNob1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHWnliMjBzSUd0bGVTa3BJSHRjYmx4MFhIUmNkRngwZEc5YmEyVjVYU0E5SUdaeWIyMWJhMlY1WFR0Y2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2JseDBYSFJwWmlBb1oyVjBUM2R1VUhKdmNHVnlkSGxUZVcxaWIyeHpLU0I3WEc1Y2RGeDBYSFJ6ZVcxaWIyeHpJRDBnWjJWMFQzZHVVSEp2Y0dWeWRIbFRlVzFpYjJ4ektHWnliMjBwTzF4dVhIUmNkRngwWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCemVXMWliMnh6TG14bGJtZDBhRHNnYVNzcktTQjdYRzVjZEZ4MFhIUmNkR2xtSUNod2NtOXdTWE5GYm5WdFpYSmhZbXhsTG1OaGJHd29abkp2YlN3Z2MzbHRZbTlzYzF0cFhTa3BJSHRjYmx4MFhIUmNkRngwWEhSMGIxdHplVzFpYjJ4elcybGRYU0E5SUdaeWIyMWJjM2x0WW05c2MxdHBYVjA3WEc1Y2RGeDBYSFJjZEgxY2JseDBYSFJjZEgxY2JseDBYSFI5WEc1Y2RIMWNibHh1WEhSeVpYUjFjbTRnZEc4N1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2Flc2lkLmpzb25cIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYWVzaWQuanNvbiAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogMi4xNi44NDAuMS4xMDEuMy40LjEuMSwgMi4xNi44NDAuMS4xMDEuMy40LjEuMiwgMi4xNi44NDAuMS4xMDEuMy40LjEuMywgMi4xNi44NDAuMS4xMDEuMy40LjEuNCwgMi4xNi44NDAuMS4xMDEuMy40LjEuMjEsIDIuMTYuODQwLjEuMTAxLjMuNC4xLjIyLCAyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMywgMi4xNi44NDAuMS4xMDEuMy40LjEuMjQsIDIuMTYuODQwLjEuMTAxLjMuNC4xLjQxLCAyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MiwgMi4xNi44NDAuMS4xMDEuMy40LjEuNDMsIDIuMTYuODQwLjEuMTAxLjMuNC4xLjQ0LCBkZWZhdWx0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IEpTT04ucGFyc2UoXFxcIntcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjFcXFxcXFxcIjpcXFxcXFxcImFlcy0xMjgtZWNiXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yXFxcXFxcXCI6XFxcXFxcXCJhZXMtMTI4LWNiY1xcXFxcXFwiLFxcXFxcXFwiMi4xNi44NDAuMS4xMDEuMy40LjEuM1xcXFxcXFwiOlxcXFxcXFwiYWVzLTEyOC1vZmJcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjRcXFxcXFxcIjpcXFxcXFxcImFlcy0xMjgtY2ZiXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMVxcXFxcXFwiOlxcXFxcXFwiYWVzLTE5Mi1lY2JcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIyXFxcXFxcXCI6XFxcXFxcXCJhZXMtMTkyLWNiY1xcXFxcXFwiLFxcXFxcXFwiMi4xNi44NDAuMS4xMDEuMy40LjEuMjNcXFxcXFxcIjpcXFxcXFxcImFlcy0xOTItb2ZiXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yNFxcXFxcXFwiOlxcXFxcXFwiYWVzLTE5Mi1jZmJcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQxXFxcXFxcXCI6XFxcXFxcXCJhZXMtMjU2LWVjYlxcXFxcXFwiLFxcXFxcXFwiMi4xNi44NDAuMS4xMDEuMy40LjEuNDJcXFxcXFxcIjpcXFxcXFxcImFlcy0yNTYtY2JjXFxcXFxcXCIsXFxcXFxcXCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40M1xcXFxcXFwiOlxcXFxcXFwiYWVzLTI1Ni1vZmJcXFxcXFxcIixcXFxcXFxcIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQ0XFxcXFxcXCI6XFxcXFxcXCJhZXMtMjU2LWNmYlxcXFxcXFwifVxcXCIpOy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwyRmxjMmxrTG1wemIyNHVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYWVzaWQuanNvblxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9hc24xLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2FzbjEuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvYXNuMS5qc1xcbi8vIEZlZG9yLCB5b3UgYXJlIGFtYXppbmcuXFxuXFxuXFxudmFyIGFzbjEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBhc24xLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIilcXG5cXG5leHBvcnRzLmNlcnRpZmljYXRlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jZXJ0aWZpY2F0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9jZXJ0aWZpY2F0ZS5qc1xcXCIpXFxuXFxudmFyIFJTQVByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnUlNBUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxcbiAgICB0aGlzLmtleSgnbW9kdWx1cycpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHVibGljRXhwb25lbnQnKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ3ByaXZhdGVFeHBvbmVudCcpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHJpbWUxJykuaW50KCksXFxuICAgIHRoaXMua2V5KCdwcmltZTInKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ2V4cG9uZW50MScpLmludCgpLFxcbiAgICB0aGlzLmtleSgnZXhwb25lbnQyJykuaW50KCksXFxuICAgIHRoaXMua2V5KCdjb2VmZmljaWVudCcpLmludCgpXFxuICApXFxufSlcXG5leHBvcnRzLlJTQVByaXZhdGVLZXkgPSBSU0FQcml2YXRlS2V5XFxuXFxudmFyIFJTQVB1YmxpY0tleSA9IGFzbjEuZGVmaW5lKCdSU0FQdWJsaWNLZXknLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ21vZHVsdXMnKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ3B1YmxpY0V4cG9uZW50JykuaW50KClcXG4gIClcXG59KVxcbmV4cG9ydHMuUlNBUHVibGljS2V5ID0gUlNBUHVibGljS2V5XFxuXFxudmFyIFB1YmxpY0tleSA9IGFzbjEuZGVmaW5lKCdTdWJqZWN0UHVibGljS2V5SW5mbycsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxcbiAgICB0aGlzLmtleSgnc3ViamVjdFB1YmxpY0tleScpLmJpdHN0cigpXFxuICApXFxufSlcXG5leHBvcnRzLlB1YmxpY0tleSA9IFB1YmxpY0tleVxcblxcbnZhciBBbGdvcml0aG1JZGVudGlmaWVyID0gYXNuMS5kZWZpbmUoJ0FsZ29yaXRobUlkZW50aWZpZXInLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ2FsZ29yaXRobScpLm9iamlkKCksXFxuICAgIHRoaXMua2V5KCdub25lJykubnVsbF8oKS5vcHRpb25hbCgpLFxcbiAgICB0aGlzLmtleSgnY3VydmUnKS5vYmppZCgpLm9wdGlvbmFsKCksXFxuICAgIHRoaXMua2V5KCdwYXJhbXMnKS5zZXEoKS5vYmooXFxuICAgICAgdGhpcy5rZXkoJ3AnKS5pbnQoKSxcXG4gICAgICB0aGlzLmtleSgncScpLmludCgpLFxcbiAgICAgIHRoaXMua2V5KCdnJykuaW50KClcXG4gICAgKS5vcHRpb25hbCgpXFxuICApXFxufSlcXG5cXG52YXIgUHJpdmF0ZUtleUluZm8gPSBhc24xLmRlZmluZSgnUHJpdmF0ZUtleUluZm8nLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ3ZlcnNpb24nKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ2FsZ29yaXRobScpLnVzZShBbGdvcml0aG1JZGVudGlmaWVyKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQcml2YXRlS2V5Jykub2N0c3RyKClcXG4gIClcXG59KVxcbmV4cG9ydHMuUHJpdmF0ZUtleSA9IFByaXZhdGVLZXlJbmZvXFxudmFyIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvID0gYXNuMS5kZWZpbmUoJ0VuY3J5cHRlZFByaXZhdGVLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCdhbGdvcml0aG0nKS5zZXEoKS5vYmooXFxuICAgICAgdGhpcy5rZXkoJ2lkJykub2JqaWQoKSxcXG4gICAgICB0aGlzLmtleSgnZGVjcnlwdCcpLnNlcSgpLm9iaihcXG4gICAgICAgIHRoaXMua2V5KCdrZGUnKS5zZXEoKS5vYmooXFxuICAgICAgICAgIHRoaXMua2V5KCdpZCcpLm9iamlkKCksXFxuICAgICAgICAgIHRoaXMua2V5KCdrZGVwYXJhbXMnKS5zZXEoKS5vYmooXFxuICAgICAgICAgICAgdGhpcy5rZXkoJ3NhbHQnKS5vY3RzdHIoKSxcXG4gICAgICAgICAgICB0aGlzLmtleSgnaXRlcnMnKS5pbnQoKVxcbiAgICAgICAgICApXFxuICAgICAgICApLFxcbiAgICAgICAgdGhpcy5rZXkoJ2NpcGhlcicpLnNlcSgpLm9iaihcXG4gICAgICAgICAgdGhpcy5rZXkoJ2FsZ28nKS5vYmppZCgpLFxcbiAgICAgICAgICB0aGlzLmtleSgnaXYnKS5vY3RzdHIoKVxcbiAgICAgICAgKVxcbiAgICAgIClcXG4gICAgKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQcml2YXRlS2V5Jykub2N0c3RyKClcXG4gIClcXG59KVxcblxcbmV4cG9ydHMuRW5jcnlwdGVkUHJpdmF0ZUtleSA9IEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvXFxuXFxudmFyIERTQVByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnRFNBUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxcbiAgICB0aGlzLmtleSgncCcpLmludCgpLFxcbiAgICB0aGlzLmtleSgncScpLmludCgpLFxcbiAgICB0aGlzLmtleSgnZycpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHViX2tleScpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHJpdl9rZXknKS5pbnQoKVxcbiAgKVxcbn0pXFxuZXhwb3J0cy5EU0FQcml2YXRlS2V5ID0gRFNBUHJpdmF0ZUtleVxcblxcbmV4cG9ydHMuRFNBcGFyYW0gPSBhc24xLmRlZmluZSgnRFNBcGFyYW0nLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLmludCgpXFxufSlcXG5cXG52YXIgRUNQcml2YXRlS2V5ID0gYXNuMS5kZWZpbmUoJ0VDUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxcbiAgICB0aGlzLmtleSgncHJpdmF0ZUtleScpLm9jdHN0cigpLFxcbiAgICB0aGlzLmtleSgncGFyYW1ldGVycycpLm9wdGlvbmFsKCkuZXhwbGljaXQoMCkudXNlKEVDUGFyYW1ldGVycyksXFxuICAgIHRoaXMua2V5KCdwdWJsaWNLZXknKS5vcHRpb25hbCgpLmV4cGxpY2l0KDEpLmJpdHN0cigpXFxuICApXFxufSlcXG5leHBvcnRzLkVDUHJpdmF0ZUtleSA9IEVDUHJpdmF0ZUtleVxcblxcbnZhciBFQ1BhcmFtZXRlcnMgPSBhc24xLmRlZmluZSgnRUNQYXJhbWV0ZXJzJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5jaG9pY2Uoe1xcbiAgICBuYW1lZEN1cnZlOiB0aGlzLm9iamlkKClcXG4gIH0pXFxufSlcXG5cXG5leHBvcnRzLnNpZ25hdHVyZSA9IGFzbjEuZGVmaW5lKCdzaWduYXR1cmUnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ3InKS5pbnQoKSxcXG4gICAgdGhpcy5rZXkoJ3MnKS5pbnQoKVxcbiAgKVxcbn0pXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WVhKelpTMWhjMjR4TDJGemJqRXVhbk0vT0RRelpTSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMWs3TzBGQlJWb3NWMEZCVnl4dFFrRkJUeXhEUVVGRExHMUVRVUZUT3p0QlFVVTFRaXh6UWtGQmMwSXNiVUpCUVU4c1EwRkJReXdyUkVGQlpUczdRVUZGTjBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y0dGeWMyVXRZWE51TVM5aGMyNHhMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeThnWm5KdmJTQm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZhVzVrZFhSdWVTOXpaV3htTFhOcFoyNWxaQzlpYkc5aUwyZG9MWEJoWjJWekwyeHBZaTloYzI0eExtcHpYRzR2THlCR1pXUnZjaXdnZVc5MUlHRnlaU0JoYldGNmFXNW5MbHh1SjNWelpTQnpkSEpwWTNRblhHNWNiblpoY2lCaGMyNHhJRDBnY21WeGRXbHlaU2duWVhOdU1TNXFjeWNwWEc1Y2JtVjRjRzl5ZEhNdVkyVnlkR2xtYVdOaGRHVWdQU0J5WlhGMWFYSmxLQ2N1TDJObGNuUnBabWxqWVhSbEp5bGNibHh1ZG1GeUlGSlRRVkJ5YVhaaGRHVkxaWGtnUFNCaGMyNHhMbVJsWm1sdVpTZ25VbE5CVUhKcGRtRjBaVXRsZVNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhFb0tTNXZZbW9vWEc0Z0lDQWdkR2hwY3k1clpYa29KM1psY25OcGIyNG5LUzVwYm5Rb0tTeGNiaUFnSUNCMGFHbHpMbXRsZVNnbmJXOWtkV3gxY3ljcExtbHVkQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2R3ZFdKc2FXTkZlSEJ2Ym1WdWRDY3BMbWx1ZENncExGeHVJQ0FnSUhSb2FYTXVhMlY1S0Nkd2NtbDJZWFJsUlhod2IyNWxiblFuS1M1cGJuUW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jSEpwYldVeEp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCeWFXMWxNaWNwTG1sdWRDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZGxlSEJ2Ym1WdWRERW5LUzVwYm5Rb0tTeGNiaUFnSUNCMGFHbHpMbXRsZVNnblpYaHdiMjVsYm5ReUp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJOdlpXWm1hV05wWlc1MEp5a3VhVzUwS0NsY2JpQWdLVnh1ZlNsY2JtVjRjRzl5ZEhNdVVsTkJVSEpwZG1GMFpVdGxlU0E5SUZKVFFWQnlhWFpoZEdWTFpYbGNibHh1ZG1GeUlGSlRRVkIxWW14cFkwdGxlU0E5SUdGemJqRXVaR1ZtYVc1bEtDZFNVMEZRZFdKc2FXTkxaWGtuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjMlZ4S0NrdWIySnFLRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHRiMlIxYkhWekp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCMVlteHBZMFY0Y0c5dVpXNTBKeWt1YVc1MEtDbGNiaUFnS1Z4dWZTbGNibVY0Y0c5eWRITXVVbE5CVUhWaWJHbGpTMlY1SUQwZ1VsTkJVSFZpYkdsalMyVjVYRzVjYm5aaGNpQlFkV0pzYVdOTFpYa2dQU0JoYzI0eExtUmxabWx1WlNnblUzVmlhbVZqZEZCMVlteHBZMHRsZVVsdVptOG5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdWMyVnhLQ2t1YjJKcUtGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkaGJHZHZjbWwwYUcwbktTNTFjMlVvUVd4bmIzSnBkR2h0U1dSbGJuUnBabWxsY2lrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNOMVltcGxZM1JRZFdKc2FXTkxaWGtuS1M1aWFYUnpkSElvS1Z4dUlDQXBYRzU5S1Z4dVpYaHdiM0owY3k1UWRXSnNhV05MWlhrZ1BTQlFkV0pzYVdOTFpYbGNibHh1ZG1GeUlFRnNaMjl5YVhSb2JVbGtaVzUwYVdacFpYSWdQU0JoYzI0eExtUmxabWx1WlNnblFXeG5iM0pwZEdodFNXUmxiblJwWm1sbGNpY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJGc1oyOXlhWFJvYlNjcExtOWlhbWxrS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjI1dmJtVW5LUzV1ZFd4c1h5Z3BMbTl3ZEdsdmJtRnNLQ2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KMk4xY25abEp5a3ViMkpxYVdRb0tTNXZjSFJwYjI1aGJDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHdZWEpoYlhNbktTNXpaWEVvS1M1dlltb29YRzRnSUNBZ0lDQjBhR2x6TG10bGVTZ25jQ2NwTG1sdWRDZ3BMRnh1SUNBZ0lDQWdkR2hwY3k1clpYa29KM0VuS1M1cGJuUW9LU3hjYmlBZ0lDQWdJSFJvYVhNdWEyVjVLQ2RuSnlrdWFXNTBLQ2xjYmlBZ0lDQXBMbTl3ZEdsdmJtRnNLQ2xjYmlBZ0tWeHVmU2xjYmx4dWRtRnlJRkJ5YVhaaGRHVkxaWGxKYm1adklEMGdZWE51TVM1a1pXWnBibVVvSjFCeWFYWmhkR1ZMWlhsSmJtWnZKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUdsekxuTmxjU2dwTG05aWFpaGNiaUFnSUNCMGFHbHpMbXRsZVNnbmRtVnljMmx2YmljcExtbHVkQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2RoYkdkdmNtbDBhRzBuS1M1MWMyVW9RV3huYjNKcGRHaHRTV1JsYm5ScFptbGxjaWtzWEc0Z0lDQWdkR2hwY3k1clpYa29KM04xWW1wbFkzUlFjbWwyWVhSbFMyVjVKeWt1YjJOMGMzUnlLQ2xjYmlBZ0tWeHVmU2xjYm1WNGNHOXlkSE11VUhKcGRtRjBaVXRsZVNBOUlGQnlhWFpoZEdWTFpYbEpibVp2WEc1MllYSWdSVzVqY25sd2RHVmtVSEpwZG1GMFpVdGxlVWx1Wm04Z1BTQmhjMjR4TG1SbFptbHVaU2duUlc1amNubHdkR1ZrVUhKcGRtRjBaVXRsZVVsdVptOG5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdWMyVnhLQ2t1YjJKcUtGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkaGJHZHZjbWwwYUcwbktTNXpaWEVvS1M1dlltb29YRzRnSUNBZ0lDQjBhR2x6TG10bGVTZ25hV1FuS1M1dlltcHBaQ2dwTEZ4dUlDQWdJQ0FnZEdocGN5NXJaWGtvSjJSbFkzSjVjSFFuS1M1elpYRW9LUzV2WW1vb1hHNGdJQ0FnSUNBZ0lIUm9hWE11YTJWNUtDZHJaR1VuS1M1elpYRW9LUzV2WW1vb1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1clpYa29KMmxrSnlrdWIySnFhV1FvS1N4Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG10bGVTZ25hMlJsY0dGeVlXMXpKeWt1YzJWeEtDa3ViMkpxS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdkR2hwY3k1clpYa29KM05oYkhRbktTNXZZM1J6ZEhJb0tTeGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2FYTXVhMlY1S0NkcGRHVnljeWNwTG1sdWRDZ3BYRzRnSUNBZ0lDQWdJQ0FnS1Z4dUlDQWdJQ0FnSUNBcExGeHVJQ0FnSUNBZ0lDQjBhR2x6TG10bGVTZ25ZMmx3YUdWeUp5a3VjMlZ4S0NrdWIySnFLRnh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVhMlY1S0NkaGJHZHZKeWt1YjJKcWFXUW9LU3hjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbXRsZVNnbmFYWW5LUzV2WTNSemRISW9LVnh1SUNBZ0lDQWdJQ0FwWEc0Z0lDQWdJQ0FwWEc0Z0lDQWdLU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jM1ZpYW1WamRGQnlhWFpoZEdWTFpYa25LUzV2WTNSemRISW9LVnh1SUNBcFhHNTlLVnh1WEc1bGVIQnZjblJ6TGtWdVkzSjVjSFJsWkZCeWFYWmhkR1ZMWlhrZ1BTQkZibU55ZVhCMFpXUlFjbWwyWVhSbFMyVjVTVzVtYjF4dVhHNTJZWElnUkZOQlVISnBkbUYwWlV0bGVTQTlJR0Z6YmpFdVpHVm1hVzVsS0NkRVUwRlFjbWwyWVhSbFMyVjVKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUdsekxuTmxjU2dwTG05aWFpaGNiaUFnSUNCMGFHbHpMbXRsZVNnbmRtVnljMmx2YmljcExtbHVkQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2R3SnlrdWFXNTBLQ2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KM0VuS1M1cGJuUW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25aeWNwTG1sdWRDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHdkV0pmYTJWNUp5a3VhVzUwS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCeWFYWmZhMlY1SnlrdWFXNTBLQ2xjYmlBZ0tWeHVmU2xjYm1WNGNHOXlkSE11UkZOQlVISnBkbUYwWlV0bGVTQTlJRVJUUVZCeWFYWmhkR1ZMWlhsY2JseHVaWGh3YjNKMGN5NUVVMEZ3WVhKaGJTQTlJR0Z6YmpFdVpHVm1hVzVsS0NkRVUwRndZWEpoYlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTVwYm5Rb0tWeHVmU2xjYmx4dWRtRnlJRVZEVUhKcGRtRjBaVXRsZVNBOUlHRnpiakV1WkdWbWFXNWxLQ2RGUTFCeWFYWmhkR1ZMWlhrbkxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11YzJWeEtDa3ViMkpxS0Z4dUlDQWdJSFJvYVhNdWEyVjVLQ2QyWlhKemFXOXVKeWt1YVc1MEtDa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozQnlhWFpoZEdWTFpYa25LUzV2WTNSemRISW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jR0Z5WVcxbGRHVnljeWNwTG05d2RHbHZibUZzS0NrdVpYaHdiR2xqYVhRb01Da3VkWE5sS0VWRFVHRnlZVzFsZEdWeWN5a3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozQjFZbXhwWTB0bGVTY3BMbTl3ZEdsdmJtRnNLQ2t1Wlhod2JHbGphWFFvTVNrdVltbDBjM1J5S0NsY2JpQWdLVnh1ZlNsY2JtVjRjRzl5ZEhNdVJVTlFjbWwyWVhSbFMyVjVJRDBnUlVOUWNtbDJZWFJsUzJWNVhHNWNiblpoY2lCRlExQmhjbUZ0WlhSbGNuTWdQU0JoYzI0eExtUmxabWx1WlNnblJVTlFZWEpoYldWMFpYSnpKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUdsekxtTm9iMmxqWlNoN1hHNGdJQ0FnYm1GdFpXUkRkWEoyWlRvZ2RHaHBjeTV2WW1wcFpDZ3BYRzRnSUgwcFhHNTlLVnh1WEc1bGVIQnZjblJ6TG5OcFoyNWhkSFZ5WlNBOUlHRnpiakV1WkdWbWFXNWxLQ2R6YVdkdVlYUjFjbVVuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjMlZ4S0NrdWIySnFLRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHlKeWt1YVc1MEtDa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozTW5LUzVwYm5Rb0tWeHVJQ0FwWEc1OUtWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYXNuMS5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9jZXJ0aWZpY2F0ZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvY2VydGlmaWNhdGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9SYW50YW5lbi9ub2RlLWR0bHMvYmxvYi8yNWE3ZGM4NjFiZGEzOGNmZWFjOTNhNzIzNTAwZWVhNGYwYWMyZTg2L0NlcnRpZmljYXRlLmpzXFxuLy8gdGhhbmtzIHRvIEBSYW50YW5lblxcblxcblxcblxcbnZhciBhc24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBhc24xLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9hc24xLmpzL2xpYi9hc24xLmpzXFxcIilcXG5cXG52YXIgVGltZSA9IGFzbi5kZWZpbmUoJ1RpbWUnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLmNob2ljZSh7XFxuICAgIHV0Y1RpbWU6IHRoaXMudXRjdGltZSgpLFxcbiAgICBnZW5lcmFsVGltZTogdGhpcy5nZW50aW1lKClcXG4gIH0pXFxufSlcXG5cXG52YXIgQXR0cmlidXRlVHlwZVZhbHVlID0gYXNuLmRlZmluZSgnQXR0cmlidXRlVHlwZVZhbHVlJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCd0eXBlJykub2JqaWQoKSxcXG4gICAgdGhpcy5rZXkoJ3ZhbHVlJykuYW55KClcXG4gIClcXG59KVxcblxcbnZhciBBbGdvcml0aG1JZGVudGlmaWVyID0gYXNuLmRlZmluZSgnQWxnb3JpdGhtSWRlbnRpZmllcicsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykub2JqaWQoKSxcXG4gICAgdGhpcy5rZXkoJ3BhcmFtZXRlcnMnKS5vcHRpb25hbCgpLFxcbiAgICB0aGlzLmtleSgnY3VydmUnKS5vYmppZCgpLm9wdGlvbmFsKClcXG4gIClcXG59KVxcblxcbnZhciBTdWJqZWN0UHVibGljS2V5SW5mbyA9IGFzbi5kZWZpbmUoJ1N1YmplY3RQdWJsaWNLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCdhbGdvcml0aG0nKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5JykuYml0c3RyKClcXG4gIClcXG59KVxcblxcbnZhciBSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lID0gYXNuLmRlZmluZSgnUmVsYXRpdmVEaXN0aW5ndWlzaGVkTmFtZScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2V0b2YoQXR0cmlidXRlVHlwZVZhbHVlKVxcbn0pXFxuXFxudmFyIFJETlNlcXVlbmNlID0gYXNuLmRlZmluZSgnUkROU2VxdWVuY2UnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcW9mKFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUpXFxufSlcXG5cXG52YXIgTmFtZSA9IGFzbi5kZWZpbmUoJ05hbWUnLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLmNob2ljZSh7XFxuICAgIHJkblNlcXVlbmNlOiB0aGlzLnVzZShSRE5TZXF1ZW5jZSlcXG4gIH0pXFxufSlcXG5cXG52YXIgVmFsaWRpdHkgPSBhc24uZGVmaW5lKCdWYWxpZGl0eScsIGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuc2VxKCkub2JqKFxcbiAgICB0aGlzLmtleSgnbm90QmVmb3JlJykudXNlKFRpbWUpLFxcbiAgICB0aGlzLmtleSgnbm90QWZ0ZXInKS51c2UoVGltZSlcXG4gIClcXG59KVxcblxcbnZhciBFeHRlbnNpb24gPSBhc24uZGVmaW5lKCdFeHRlbnNpb24nLCBmdW5jdGlvbiAoKSB7XFxuICB0aGlzLnNlcSgpLm9iaihcXG4gICAgdGhpcy5rZXkoJ2V4dG5JRCcpLm9iamlkKCksXFxuICAgIHRoaXMua2V5KCdjcml0aWNhbCcpLmJvb2woKS5kZWYoZmFsc2UpLFxcbiAgICB0aGlzLmtleSgnZXh0blZhbHVlJykub2N0c3RyKClcXG4gIClcXG59KVxcblxcbnZhciBUQlNDZXJ0aWZpY2F0ZSA9IGFzbi5kZWZpbmUoJ1RCU0NlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCd2ZXJzaW9uJykuZXhwbGljaXQoMCkuaW50KCkub3B0aW9uYWwoKSxcXG4gICAgdGhpcy5rZXkoJ3NlcmlhbE51bWJlcicpLmludCgpLFxcbiAgICB0aGlzLmtleSgnc2lnbmF0dXJlJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxcbiAgICB0aGlzLmtleSgnaXNzdWVyJykudXNlKE5hbWUpLFxcbiAgICB0aGlzLmtleSgndmFsaWRpdHknKS51c2UoVmFsaWRpdHkpLFxcbiAgICB0aGlzLmtleSgnc3ViamVjdCcpLnVzZShOYW1lKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQdWJsaWNLZXlJbmZvJykudXNlKFN1YmplY3RQdWJsaWNLZXlJbmZvKSxcXG4gICAgdGhpcy5rZXkoJ2lzc3VlclVuaXF1ZUlEJykuaW1wbGljaXQoMSkuYml0c3RyKCkub3B0aW9uYWwoKSxcXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RVbmlxdWVJRCcpLmltcGxpY2l0KDIpLmJpdHN0cigpLm9wdGlvbmFsKCksXFxuICAgIHRoaXMua2V5KCdleHRlbnNpb25zJykuZXhwbGljaXQoMykuc2Vxb2YoRXh0ZW5zaW9uKS5vcHRpb25hbCgpXFxuICApXFxufSlcXG5cXG52YXIgWDUwOUNlcnRpZmljYXRlID0gYXNuLmRlZmluZSgnWDUwOUNlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5zZXEoKS5vYmooXFxuICAgIHRoaXMua2V5KCd0YnNDZXJ0aWZpY2F0ZScpLnVzZShUQlNDZXJ0aWZpY2F0ZSksXFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmVBbGdvcml0aG0nKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmVWYWx1ZScpLmJpdHN0cigpXFxuICApXFxufSlcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFg1MDlDZXJ0aWZpY2F0ZVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwyTmxjblJwWm1sallYUmxMbXB6UDJaaU56Z2lYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUczdRVUZGV1RzN1FVRkZXaXhWUVVGVkxHMUNRVUZQTEVOQlFVTXNiVVJCUVZNN08wRkJSVE5DTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSUxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZ3NRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRUlpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNCaGNuTmxMV0Z6YmpFdlkyVnlkR2xtYVdOaGRHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZMeUJtY205dElHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOVNZVzUwWVc1bGJpOXViMlJsTFdSMGJITXZZbXh2WWk4eU5XRTNaR000TmpGaVpHRXpPR05tWldGak9UTmhOekl6TlRBd1pXVmhOR1l3WVdNeVpUZzJMME5sY25ScFptbGpZWFJsTG1welhHNHZMeUIwYUdGdWEzTWdkRzhnUUZKaGJuUmhibVZ1WEc1Y2JpZDFjMlVnYzNSeWFXTjBKMXh1WEc1MllYSWdZWE51SUQwZ2NtVnhkV2x5WlNnbllYTnVNUzVxY3ljcFhHNWNiblpoY2lCVWFXMWxJRDBnWVhOdUxtUmxabWx1WlNnblZHbHRaU2NzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NWphRzlwWTJVb2UxeHVJQ0FnSUhWMFkxUnBiV1U2SUhSb2FYTXVkWFJqZEdsdFpTZ3BMRnh1SUNBZ0lHZGxibVZ5WVd4VWFXMWxPaUIwYUdsekxtZGxiblJwYldVb0tWeHVJQ0I5S1Z4dWZTbGNibHh1ZG1GeUlFRjBkSEpwWW5WMFpWUjVjR1ZXWVd4MVpTQTlJR0Z6Ymk1a1pXWnBibVVvSjBGMGRISnBZblYwWlZSNWNHVldZV3gxWlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhFb0tTNXZZbW9vWEc0Z0lDQWdkR2hwY3k1clpYa29KM1I1Y0dVbktTNXZZbXBwWkNncExGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkMllXeDFaU2NwTG1GdWVTZ3BYRzRnSUNsY2JuMHBYRzVjYm5aaGNpQkJiR2R2Y21sMGFHMUpaR1Z1ZEdsbWFXVnlJRDBnWVhOdUxtUmxabWx1WlNnblFXeG5iM0pwZEdodFNXUmxiblJwWm1sbGNpY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJGc1oyOXlhWFJvYlNjcExtOWlhbWxrS0Nrc1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNCaGNtRnRaWFJsY25NbktTNXZjSFJwYjI1aGJDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZGpkWEoyWlNjcExtOWlhbWxrS0NrdWIzQjBhVzl1WVd3b0tWeHVJQ0FwWEc1OUtWeHVYRzUyWVhJZ1UzVmlhbVZqZEZCMVlteHBZMHRsZVVsdVptOGdQU0JoYzI0dVpHVm1hVzVsS0NkVGRXSnFaV04wVUhWaWJHbGpTMlY1U1c1bWJ5Y3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjJGc1oyOXlhWFJvYlNjcExuVnpaU2hCYkdkdmNtbDBhRzFKWkdWdWRHbG1hV1Z5S1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzNWaWFtVmpkRkIxWW14cFkwdGxlU2NwTG1KcGRITjBjaWdwWEc0Z0lDbGNibjBwWEc1Y2JuWmhjaUJTWld4aGRHbDJaVVJwYzNScGJtZDFhWE5vWldST1lXMWxJRDBnWVhOdUxtUmxabWx1WlNnblVtVnNZWFJwZG1WRWFYTjBhVzVuZFdsemFHVmtUbUZ0WlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhSdlppaEJkSFJ5YVdKMWRHVlVlWEJsVm1Gc2RXVXBYRzU5S1Z4dVhHNTJZWElnVWtST1UyVnhkV1Z1WTJVZ1BTQmhjMjR1WkdWbWFXNWxLQ2RTUkU1VFpYRjFaVzVqWlNjc0lHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTV6WlhGdlppaFNaV3hoZEdsMlpVUnBjM1JwYm1kMWFYTm9aV1JPWVcxbEtWeHVmU2xjYmx4dWRtRnlJRTVoYldVZ1BTQmhjMjR1WkdWbWFXNWxLQ2RPWVcxbEp5d2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjBhR2x6TG1Ob2IybGpaU2g3WEc0Z0lDQWdjbVJ1VTJWeGRXVnVZMlU2SUhSb2FYTXVkWE5sS0ZKRVRsTmxjWFZsYm1ObEtWeHVJQ0I5S1Z4dWZTbGNibHh1ZG1GeUlGWmhiR2xrYVhSNUlEMGdZWE51TG1SbFptbHVaU2duVm1Gc2FXUnBkSGtuTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhSb2FYTXVjMlZ4S0NrdWIySnFLRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHViM1JDWldadmNtVW5LUzUxYzJVb1ZHbHRaU2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KMjV2ZEVGbWRHVnlKeWt1ZFhObEtGUnBiV1VwWEc0Z0lDbGNibjBwWEc1Y2JuWmhjaUJGZUhSbGJuTnBiMjRnUFNCaGMyNHVaR1ZtYVc1bEtDZEZlSFJsYm5OcGIyNG5MQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFJvYVhNdWMyVnhLQ2t1YjJKcUtGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkbGVIUnVTVVFuS1M1dlltcHBaQ2dwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2RqY21sMGFXTmhiQ2NwTG1KdmIyd29LUzVrWldZb1ptRnNjMlVwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2RsZUhSdVZtRnNkV1VuS1M1dlkzUnpkSElvS1Z4dUlDQXBYRzU5S1Z4dVhHNTJZWElnVkVKVFEyVnlkR2xtYVdOaGRHVWdQU0JoYzI0dVpHVm1hVzVsS0NkVVFsTkRaWEowYVdacFkyRjBaU2NzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NXpaWEVvS1M1dlltb29YRzRnSUNBZ2RHaHBjeTVyWlhrb0ozWmxjbk5wYjI0bktTNWxlSEJzYVdOcGRDZ3dLUzVwYm5Rb0tTNXZjSFJwYjI1aGJDZ3BMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHpaWEpwWVd4T2RXMWlaWEluS1M1cGJuUW9LU3hjYmlBZ0lDQjBhR2x6TG10bGVTZ25jMmxuYm1GMGRYSmxKeWt1ZFhObEtFRnNaMjl5YVhSb2JVbGtaVzUwYVdacFpYSXBMRnh1SUNBZ0lIUm9hWE11YTJWNUtDZHBjM04xWlhJbktTNTFjMlVvVG1GdFpTa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozWmhiR2xrYVhSNUp5a3VkWE5sS0ZaaGJHbGthWFI1S1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzNWaWFtVmpkQ2NwTG5WelpTaE9ZVzFsS1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzNWaWFtVmpkRkIxWW14cFkwdGxlVWx1Wm04bktTNTFjMlVvVTNWaWFtVmpkRkIxWW14cFkwdGxlVWx1Wm04cExGeHVJQ0FnSUhSb2FYTXVhMlY1S0NkcGMzTjFaWEpWYm1seGRXVkpSQ2NwTG1sdGNHeHBZMmwwS0RFcExtSnBkSE4wY2lncExtOXdkR2x2Ym1Gc0tDa3NYRzRnSUNBZ2RHaHBjeTVyWlhrb0ozTjFZbXBsWTNSVmJtbHhkV1ZKUkNjcExtbHRjR3hwWTJsMEtESXBMbUpwZEhOMGNpZ3BMbTl3ZEdsdmJtRnNLQ2tzWEc0Z0lDQWdkR2hwY3k1clpYa29KMlY0ZEdWdWMybHZibk1uS1M1bGVIQnNhV05wZENnektTNXpaWEZ2WmloRmVIUmxibk5wYjI0cExtOXdkR2x2Ym1Gc0tDbGNiaUFnS1Z4dWZTbGNibHh1ZG1GeUlGZzFNRGxEWlhKMGFXWnBZMkYwWlNBOUlHRnpiaTVrWldacGJtVW9KMWcxTURsRFpYSjBhV1pwWTJGMFpTY3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdkR2hwY3k1elpYRW9LUzV2WW1vb1hHNGdJQ0FnZEdocGN5NXJaWGtvSjNSaWMwTmxjblJwWm1sallYUmxKeWt1ZFhObEtGUkNVME5sY25ScFptbGpZWFJsS1N4Y2JpQWdJQ0IwYUdsekxtdGxlU2duYzJsbmJtRjBkWEpsUVd4bmIzSnBkR2h0SnlrdWRYTmxLRUZzWjI5eWFYUm9iVWxrWlc1MGFXWnBaWElwTEZ4dUlDQWdJSFJvYVhNdWEyVjVLQ2R6YVdkdVlYUjFjbVZXWVd4MVpTY3BMbUpwZEhOMGNpZ3BYRzRnSUNsY2JuMHBYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnV0RVd09VTmxjblJwWm1sallYUmxYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvY2VydGlmaWNhdGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvZml4UHJvYy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9maXhQcm9jLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hcGF0aWwvcGVtc3RyaXBcXG52YXIgZmluZFByb2MgPSAvUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRFtcXFxcblxcXFxyXStERUstSW5mbzogQUVTLSgoPzoxMjgpfCg/OjE5Mil8KD86MjU2KSktQ0JDLChbMC05QS1IXSspW1xcXFxuXFxcXHJdKyhbMC05QS16XFxcXG5cXFxcclxcXFwrXFxcXC9cXFxcPV0rKVtcXFxcblxcXFxyXSsvbVxcbnZhciBzdGFydFJlZ2V4ID0gL14tLS0tLUJFR0lOICgoPzouKj8gS0VZKXxDRVJUSUZJQ0FURSktLS0tLS9tXFxudmFyIGZ1bGxSZWdleCA9IC9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0oWzAtOUEtelxcXFxuXFxcXHJcXFxcK1xcXFwvXFxcXD1dKyktLS0tLUVORCBcXFxcMS0tLS0tJC9tXFxudmFyIGV2cCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2cF9ieXRlc3Rva2V5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldnBfYnl0ZXN0b2tleS9pbmRleC5qc1xcXCIpXFxudmFyIGNpcGhlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9rZXksIHBhc3N3b3JkKSB7XFxuICB2YXIga2V5ID0gb2tleS50b1N0cmluZygpXFxuICB2YXIgbWF0Y2ggPSBrZXkubWF0Y2goZmluZFByb2MpXFxuICB2YXIgZGVjcnlwdGVkXFxuICBpZiAoIW1hdGNoKSB7XFxuICAgIHZhciBtYXRjaDIgPSBrZXkubWF0Y2goZnVsbFJlZ2V4KVxcbiAgICBkZWNyeXB0ZWQgPSBuZXcgQnVmZmVyKG1hdGNoMlsyXS5yZXBsYWNlKC9bXFxcXHJcXFxcbl0vZywgJycpLCAnYmFzZTY0JylcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBzdWl0ZSA9ICdhZXMnICsgbWF0Y2hbMV1cXG4gICAgdmFyIGl2ID0gQnVmZmVyLmZyb20obWF0Y2hbMl0sICdoZXgnKVxcbiAgICB2YXIgY2lwaGVyVGV4dCA9IEJ1ZmZlci5mcm9tKG1hdGNoWzNdLnJlcGxhY2UoL1tcXFxcclxcXFxuXS9nLCAnJyksICdiYXNlNjQnKVxcbiAgICB2YXIgY2lwaGVyS2V5ID0gZXZwKHBhc3N3b3JkLCBpdi5zbGljZSgwLCA4KSwgcGFyc2VJbnQobWF0Y2hbMV0sIDEwKSkua2V5XFxuICAgIHZhciBvdXQgPSBbXVxcbiAgICB2YXIgY2lwaGVyID0gY2lwaGVycy5jcmVhdGVEZWNpcGhlcml2KHN1aXRlLCBjaXBoZXJLZXksIGl2KVxcbiAgICBvdXQucHVzaChjaXBoZXIudXBkYXRlKGNpcGhlclRleHQpKVxcbiAgICBvdXQucHVzaChjaXBoZXIuZmluYWwoKSlcXG4gICAgZGVjcnlwdGVkID0gQnVmZmVyLmNvbmNhdChvdXQpXFxuICB9XFxuICB2YXIgdGFnID0ga2V5Lm1hdGNoKHN0YXJ0UmVnZXgpWzFdXFxuICByZXR1cm4ge1xcbiAgICB0YWc6IHRhZyxcXG4gICAgZGF0YTogZGVjcnlwdGVkXFxuICB9XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwyWnBlRkJ5YjJNdWFuTS9PVFZqWWlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRlZCUVZVc2JVSkJRVThzUTBGQlF5dzRSRUZCWjBJN1FVRkRiRU1zWTBGQll5eHRRa0ZCVHl4RFFVRkRMR2RGUVVGblFqdEJRVU4wUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNHRnljMlV0WVhOdU1TOW1hWGhRY205akxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5OGdZV1JoY0hSbFpDQm1jbTl0SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5aGNHRjBhV3d2Y0dWdGMzUnlhWEJjYm5aaGNpQm1hVzVrVUhKdll5QTlJQzlRY205akxWUjVjR1U2SURRc1JVNURVbGxRVkVWRVcxeGNibHhjY2wwclJFVkxMVWx1Wm04NklFRkZVeTBvS0Q4Nk1USTRLWHdvUHpveE9USXBmQ2cvT2pJMU5pa3BMVU5DUXl3b1d6QXRPVUV0U0YwcktWdGNYRzVjWEhKZEt5aGJNQzA1UVMxNlhGeHVYRnh5WEZ3clhGd3ZYRnc5WFNzcFcxeGNibHhjY2wwckwyMWNiblpoY2lCemRHRnlkRkpsWjJWNElEMGdMMTR0TFMwdExVSkZSMGxPSUNnb1B6b3VLajhnUzBWWktYeERSVkpVU1VaSlEwRlVSU2t0TFMwdExTOXRYRzUyWVhJZ1puVnNiRkpsWjJWNElEMGdMMTR0TFMwdExVSkZSMGxPSUNnb1B6b3VLajhnUzBWWktYeERSVkpVU1VaSlEwRlVSU2t0TFMwdExTaGJNQzA1UVMxNlhGeHVYRnh5WEZ3clhGd3ZYRnc5WFNzcExTMHRMUzFGVGtRZ1hGd3hMUzB0TFMwa0wyMWNiblpoY2lCbGRuQWdQU0J5WlhGMWFYSmxLQ2RsZG5CZllubDBaWE4wYjJ0bGVTY3BYRzUyWVhJZ1kybHdhR1Z5Y3lBOUlISmxjWFZwY21Vb0oySnliM2R6WlhKcFpua3RZV1Z6SnlsY2JuWmhjaUJDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2R6WVdabExXSjFabVpsY2ljcExrSjFabVpsY2x4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2IydGxlU3dnY0dGemMzZHZjbVFwSUh0Y2JpQWdkbUZ5SUd0bGVTQTlJRzlyWlhrdWRHOVRkSEpwYm1jb0tWeHVJQ0IyWVhJZ2JXRjBZMmdnUFNCclpYa3ViV0YwWTJnb1ptbHVaRkJ5YjJNcFhHNGdJSFpoY2lCa1pXTnllWEIwWldSY2JpQWdhV1lnS0NGdFlYUmphQ2tnZTF4dUlDQWdJSFpoY2lCdFlYUmphRElnUFNCclpYa3ViV0YwWTJnb1puVnNiRkpsWjJWNEtWeHVJQ0FnSUdSbFkzSjVjSFJsWkNBOUlHNWxkeUJDZFdabVpYSW9iV0YwWTJneVd6SmRMbkpsY0d4aFkyVW9MMXRjWEhKY1hHNWRMMmNzSUNjbktTd2dKMkpoYzJVMk5DY3BYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUhOMWFYUmxJRDBnSjJGbGN5Y2dLeUJ0WVhSamFGc3hYVnh1SUNBZ0lIWmhjaUJwZGlBOUlFSjFabVpsY2k1bWNtOXRLRzFoZEdOb1d6SmRMQ0FuYUdWNEp5bGNiaUFnSUNCMllYSWdZMmx3YUdWeVZHVjRkQ0E5SUVKMVptWmxjaTVtY205dEtHMWhkR05vV3pOZExuSmxjR3hoWTJVb0wxdGNYSEpjWEc1ZEwyY3NJQ2NuS1N3Z0oySmhjMlUyTkNjcFhHNGdJQ0FnZG1GeUlHTnBjR2hsY2t0bGVTQTlJR1YyY0Nod1lYTnpkMjl5WkN3Z2FYWXVjMnhwWTJVb01Dd2dPQ2tzSUhCaGNuTmxTVzUwS0cxaGRHTm9XekZkTENBeE1Da3BMbXRsZVZ4dUlDQWdJSFpoY2lCdmRYUWdQU0JiWFZ4dUlDQWdJSFpoY2lCamFYQm9aWElnUFNCamFYQm9aWEp6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlvYzNWcGRHVXNJR05wY0dobGNrdGxlU3dnYVhZcFhHNGdJQ0FnYjNWMExuQjFjMmdvWTJsd2FHVnlMblZ3WkdGMFpTaGphWEJvWlhKVVpYaDBLU2xjYmlBZ0lDQnZkWFF1Y0hWemFDaGphWEJvWlhJdVptbHVZV3dvS1NsY2JpQWdJQ0JrWldOeWVYQjBaV1FnUFNCQ2RXWm1aWEl1WTI5dVkyRjBLRzkxZENsY2JpQWdmVnh1SUNCMllYSWdkR0ZuSUQwZ2EyVjVMbTFoZEdOb0tITjBZWEowVW1WblpYZ3BXekZkWEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnZEdGbk9pQjBZV2NzWEc0Z0lDQWdaR0YwWVRvZ1pHVmpjbmx3ZEdWa1hHNGdJSDFjYm4xY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9maXhQcm9jLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wYXJzZS1hc24xL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgYXNuMSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXNuMSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9hc24xLmpzXFxcIilcXG52YXIgYWVzaWQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Flc2lkLmpzb24gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvYWVzaWQuanNvblxcXCIpXFxudmFyIGZpeFByb2MgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ZpeFByb2MgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvZml4UHJvYy5qc1xcXCIpXFxudmFyIGNpcGhlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LWFlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1hZXMvYnJvd3Nlci5qc1xcXCIpXFxudmFyIGNvbXBhdCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBia2RmMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5tb2R1bGUuZXhwb3J0cyA9IHBhcnNlS2V5c1xcblxcbmZ1bmN0aW9uIHBhcnNlS2V5cyAoYnVmZmVyKSB7XFxuICB2YXIgcGFzc3dvcmRcXG4gIGlmICh0eXBlb2YgYnVmZmVyID09PSAnb2JqZWN0JyAmJiAhQnVmZmVyLmlzQnVmZmVyKGJ1ZmZlcikpIHtcXG4gICAgcGFzc3dvcmQgPSBidWZmZXIucGFzc3BocmFzZVxcbiAgICBidWZmZXIgPSBidWZmZXIua2V5XFxuICB9XFxuICBpZiAodHlwZW9mIGJ1ZmZlciA9PT0gJ3N0cmluZycpIHtcXG4gICAgYnVmZmVyID0gQnVmZmVyLmZyb20oYnVmZmVyKVxcbiAgfVxcblxcbiAgdmFyIHN0cmlwcGVkID0gZml4UHJvYyhidWZmZXIsIHBhc3N3b3JkKVxcblxcbiAgdmFyIHR5cGUgPSBzdHJpcHBlZC50YWdcXG4gIHZhciBkYXRhID0gc3RyaXBwZWQuZGF0YVxcbiAgdmFyIHN1YnR5cGUsIG5kYXRhXFxuICBzd2l0Y2ggKHR5cGUpIHtcXG4gICAgY2FzZSAnQ0VSVElGSUNBVEUnOlxcbiAgICAgIG5kYXRhID0gYXNuMS5jZXJ0aWZpY2F0ZS5kZWNvZGUoZGF0YSwgJ2RlcicpLnRic0NlcnRpZmljYXRlLnN1YmplY3RQdWJsaWNLZXlJbmZvXFxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxcbiAgICBjYXNlICdQVUJMSUMgS0VZJzpcXG4gICAgICBpZiAoIW5kYXRhKSB7XFxuICAgICAgICBuZGF0YSA9IGFzbjEuUHVibGljS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgICB9XFxuICAgICAgc3VidHlwZSA9IG5kYXRhLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbignLicpXFxuICAgICAgc3dpdGNoIChzdWJ0eXBlKSB7XFxuICAgICAgICBjYXNlICcxLjIuODQwLjExMzU0OS4xLjEuMSc6XFxuICAgICAgICAgIHJldHVybiBhc24xLlJTQVB1YmxpY0tleS5kZWNvZGUobmRhdGEuc3ViamVjdFB1YmxpY0tleS5kYXRhLCAnZGVyJylcXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDUuMi4xJzpcXG4gICAgICAgICAgbmRhdGEuc3ViamVjdFByaXZhdGVLZXkgPSBuZGF0YS5zdWJqZWN0UHVibGljS2V5XFxuICAgICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgdHlwZTogJ2VjJyxcXG4gICAgICAgICAgICBkYXRhOiBuZGF0YVxcbiAgICAgICAgICB9XFxuICAgICAgICBjYXNlICcxLjIuODQwLjEwMDQwLjQuMSc6XFxuICAgICAgICAgIG5kYXRhLmFsZ29yaXRobS5wYXJhbXMucHViX2tleSA9IGFzbjEuRFNBcGFyYW0uZGVjb2RlKG5kYXRhLnN1YmplY3RQdWJsaWNLZXkuZGF0YSwgJ2RlcicpXFxuICAgICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgdHlwZTogJ2RzYScsXFxuICAgICAgICAgICAgZGF0YTogbmRhdGEuYWxnb3JpdGhtLnBhcmFtc1xcbiAgICAgICAgICB9XFxuICAgICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24ga2V5IGlkICcgKyBzdWJ0eXBlKVxcbiAgICAgIH1cXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24ga2V5IHR5cGUgJyArIHR5cGUpXFxuICAgIGNhc2UgJ0VOQ1JZUFRFRCBQUklWQVRFIEtFWSc6XFxuICAgICAgZGF0YSA9IGFzbjEuRW5jcnlwdGVkUHJpdmF0ZUtleS5kZWNvZGUoZGF0YSwgJ2RlcicpXFxuICAgICAgZGF0YSA9IGRlY3J5cHQoZGF0YSwgcGFzc3dvcmQpXFxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxcbiAgICBjYXNlICdQUklWQVRFIEtFWSc6XFxuICAgICAgbmRhdGEgPSBhc24xLlByaXZhdGVLZXkuZGVjb2RlKGRhdGEsICdkZXInKVxcbiAgICAgIHN1YnR5cGUgPSBuZGF0YS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oJy4nKVxcbiAgICAgIHN3aXRjaCAoc3VidHlwZSkge1xcbiAgICAgICAgY2FzZSAnMS4yLjg0MC4xMTM1NDkuMS4xLjEnOlxcbiAgICAgICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSwgJ2RlcicpXFxuICAgICAgICBjYXNlICcxLjIuODQwLjEwMDQ1LjIuMSc6XFxuICAgICAgICAgIHJldHVybiB7XFxuICAgICAgICAgICAgY3VydmU6IG5kYXRhLmFsZ29yaXRobS5jdXJ2ZSxcXG4gICAgICAgICAgICBwcml2YXRlS2V5OiBhc24xLkVDUHJpdmF0ZUtleS5kZWNvZGUobmRhdGEuc3ViamVjdFByaXZhdGVLZXksICdkZXInKS5wcml2YXRlS2V5XFxuICAgICAgICAgIH1cXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDAuNC4xJzpcXG4gICAgICAgICAgbmRhdGEuYWxnb3JpdGhtLnBhcmFtcy5wcml2X2tleSA9IGFzbjEuRFNBcGFyYW0uZGVjb2RlKG5kYXRhLnN1YmplY3RQcml2YXRlS2V5LCAnZGVyJylcXG4gICAgICAgICAgcmV0dXJuIHtcXG4gICAgICAgICAgICB0eXBlOiAnZHNhJyxcXG4gICAgICAgICAgICBwYXJhbXM6IG5kYXRhLmFsZ29yaXRobS5wYXJhbXNcXG4gICAgICAgICAgfVxcbiAgICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSBpZCAnICsgc3VidHlwZSlcXG4gICAgICB9XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxcbiAgICBjYXNlICdSU0EgUFVCTElDIEtFWSc6XFxuICAgICAgcmV0dXJuIGFzbjEuUlNBUHVibGljS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgY2FzZSAnUlNBIFBSSVZBVEUgS0VZJzpcXG4gICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgY2FzZSAnRFNBIFBSSVZBVEUgS0VZJzpcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgdHlwZTogJ2RzYScsXFxuICAgICAgICBwYXJhbXM6IGFzbjEuRFNBUHJpdmF0ZUtleS5kZWNvZGUoZGF0YSwgJ2RlcicpXFxuICAgICAgfVxcbiAgICBjYXNlICdFQyBQUklWQVRFIEtFWSc6XFxuICAgICAgZGF0YSA9IGFzbjEuRUNQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgY3VydmU6IGRhdGEucGFyYW1ldGVycy52YWx1ZSxcXG4gICAgICAgIHByaXZhdGVLZXk6IGRhdGEucHJpdmF0ZUtleVxcbiAgICAgIH1cXG4gICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxcbiAgfVxcbn1cXG5wYXJzZUtleXMuc2lnbmF0dXJlID0gYXNuMS5zaWduYXR1cmVcXG5mdW5jdGlvbiBkZWNyeXB0IChkYXRhLCBwYXNzd29yZCkge1xcbiAgdmFyIHNhbHQgPSBkYXRhLmFsZ29yaXRobS5kZWNyeXB0LmtkZS5rZGVwYXJhbXMuc2FsdFxcbiAgdmFyIGl0ZXJzID0gcGFyc2VJbnQoZGF0YS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5nKCksIDEwKVxcbiAgdmFyIGFsZ28gPSBhZXNpZFtkYXRhLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5hbGdvLmpvaW4oJy4nKV1cXG4gIHZhciBpdiA9IGRhdGEuYWxnb3JpdGhtLmRlY3J5cHQuY2lwaGVyLml2XFxuICB2YXIgY2lwaGVyVGV4dCA9IGRhdGEuc3ViamVjdFByaXZhdGVLZXlcXG4gIHZhciBrZXlsZW4gPSBwYXJzZUludChhbGdvLnNwbGl0KCctJylbMV0sIDEwKSAvIDhcXG4gIHZhciBrZXkgPSBjb21wYXQucGJrZGYyU3luYyhwYXNzd29yZCwgc2FsdCwgaXRlcnMsIGtleWxlbiwgJ3NoYTEnKVxcbiAgdmFyIGNpcGhlciA9IGNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdihhbGdvLCBrZXksIGl2KVxcbiAgdmFyIG91dCA9IFtdXFxuICBvdXQucHVzaChjaXBoZXIudXBkYXRlKGNpcGhlclRleHQpKVxcbiAgb3V0LnB1c2goY2lwaGVyLmZpbmFsKCkpXFxuICByZXR1cm4gQnVmZmVyLmNvbmNhdChvdXQpXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d1lYSnpaUzFoYzI0eEwybHVaR1Y0TG1welAyRmxNbVlpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1YwRkJWeXh0UWtGQlR5eERRVUZETEdsRVFVRlJPMEZCUXpOQ0xGbEJRVmtzYlVKQlFVOHNRMEZCUXl3d1JFRkJZenRCUVVOc1F5eGpRVUZqTEcxQ1FVRlBMRU5CUVVNc2RVUkJRVmM3UVVGRGFrTXNZMEZCWXl4dFFrRkJUeXhEUVVGRExHZEZRVUZuUWp0QlFVTjBReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNaMFJCUVZFN1FVRkROMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE8wRkJRMnhET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y0dGeWMyVXRZWE51TVM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCaGMyNHhJRDBnY21WeGRXbHlaU2duTGk5aGMyNHhKeWxjYm5aaGNpQmhaWE5wWkNBOUlISmxjWFZwY21Vb0p5NHZZV1Z6YVdRdWFuTnZiaWNwWEc1MllYSWdabWw0VUhKdll5QTlJSEpsY1hWcGNtVW9KeTR2Wm1sNFVISnZZeWNwWEc1MllYSWdZMmx3YUdWeWN5QTlJSEpsY1hWcGNtVW9KMkp5YjNkelpYSnBabmt0WVdWekp5bGNiblpoY2lCamIyMXdZWFFnUFNCeVpYRjFhWEpsS0Nkd1ltdGtaakluS1Z4dWRtRnlJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KM05oWm1VdFluVm1abVZ5SnlrdVFuVm1abVZ5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhCaGNuTmxTMlY1YzF4dVhHNW1kVzVqZEdsdmJpQndZWEp6WlV0bGVYTWdLR0oxWm1abGNpa2dlMXh1SUNCMllYSWdjR0Z6YzNkdmNtUmNiaUFnYVdZZ0tIUjVjR1Z2WmlCaWRXWm1aWElnUFQwOUlDZHZZbXBsWTNRbklDWW1JQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZblZtWm1WeUtTa2dlMXh1SUNBZ0lIQmhjM04zYjNKa0lEMGdZblZtWm1WeUxuQmhjM053YUhKaGMyVmNiaUFnSUNCaWRXWm1aWElnUFNCaWRXWm1aWEl1YTJWNVhHNGdJSDFjYmlBZ2FXWWdLSFI1Y0dWdlppQmlkV1ptWlhJZ1BUMDlJQ2R6ZEhKcGJtY25LU0I3WEc0Z0lDQWdZblZtWm1WeUlEMGdRblZtWm1WeUxtWnliMjBvWW5WbVptVnlLVnh1SUNCOVhHNWNiaUFnZG1GeUlITjBjbWx3Y0dWa0lEMGdabWw0VUhKdll5aGlkV1ptWlhJc0lIQmhjM04zYjNKa0tWeHVYRzRnSUhaaGNpQjBlWEJsSUQwZ2MzUnlhWEJ3WldRdWRHRm5YRzRnSUhaaGNpQmtZWFJoSUQwZ2MzUnlhWEJ3WldRdVpHRjBZVnh1SUNCMllYSWdjM1ZpZEhsd1pTd2dibVJoZEdGY2JpQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnWTJGelpTQW5RMFZTVkVsR1NVTkJWRVVuT2x4dUlDQWdJQ0FnYm1SaGRHRWdQU0JoYzI0eExtTmxjblJwWm1sallYUmxMbVJsWTI5a1pTaGtZWFJoTENBblpHVnlKeWt1ZEdKelEyVnlkR2xtYVdOaGRHVXVjM1ZpYW1WamRGQjFZbXhwWTB0bGVVbHVabTljYmlBZ0lDQWdJQzh2SUdaaGJHeHpJSFJvY205MVoyaGNiaUFnSUNCallYTmxJQ2RRVlVKTVNVTWdTMFZaSnpwY2JpQWdJQ0FnSUdsbUlDZ2hibVJoZEdFcElIdGNiaUFnSUNBZ0lDQWdibVJoZEdFZ1BTQmhjMjR4TGxCMVlteHBZMHRsZVM1a1pXTnZaR1VvWkdGMFlTd2dKMlJsY2ljcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCemRXSjBlWEJsSUQwZ2JtUmhkR0V1WVd4bmIzSnBkR2h0TG1Gc1oyOXlhWFJvYlM1cWIybHVLQ2N1SnlsY2JpQWdJQ0FnSUhOM2FYUmphQ0FvYzNWaWRIbHdaU2tnZTF4dUlDQWdJQ0FnSUNCallYTmxJQ2N4TGpJdU9EUXdMakV4TXpVME9TNHhMakV1TVNjNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHRnpiakV1VWxOQlVIVmliR2xqUzJWNUxtUmxZMjlrWlNodVpHRjBZUzV6ZFdKcVpXTjBVSFZpYkdsalMyVjVMbVJoZEdFc0lDZGtaWEluS1Z4dUlDQWdJQ0FnSUNCallYTmxJQ2N4TGpJdU9EUXdMakV3TURRMUxqSXVNU2M2WEc0Z0lDQWdJQ0FnSUNBZ2JtUmhkR0V1YzNWaWFtVmpkRkJ5YVhaaGRHVkxaWGtnUFNCdVpHRjBZUzV6ZFdKcVpXTjBVSFZpYkdsalMyVjVYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIUjVjR1U2SUNkbFl5Y3NYRzRnSUNBZ0lDQWdJQ0FnSUNCa1lYUmhPaUJ1WkdGMFlWeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnWTJGelpTQW5NUzR5TGpnME1DNHhNREEwTUM0MExqRW5PbHh1SUNBZ0lDQWdJQ0FnSUc1a1lYUmhMbUZzWjI5eWFYUm9iUzV3WVhKaGJYTXVjSFZpWDJ0bGVTQTlJR0Z6YmpFdVJGTkJjR0Z5WVcwdVpHVmpiMlJsS0c1a1lYUmhMbk4xWW1wbFkzUlFkV0pzYVdOTFpYa3VaR0YwWVN3Z0oyUmxjaWNwWEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklDZGtjMkVuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdaR0YwWVRvZ2JtUmhkR0V1WVd4bmIzSnBkR2h0TG5CaGNtRnRjMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZERvZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkMWJtdHViM2R1SUd0bGVTQnBaQ0FuSUNzZ2MzVmlkSGx3WlNsY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJyWlhrZ2RIbHdaU0FuSUNzZ2RIbHdaU2xjYmlBZ0lDQmpZWE5sSUNkRlRrTlNXVkJVUlVRZ1VGSkpWa0ZVUlNCTFJWa25PbHh1SUNBZ0lDQWdaR0YwWVNBOUlHRnpiakV1Ulc1amNubHdkR1ZrVUhKcGRtRjBaVXRsZVM1a1pXTnZaR1VvWkdGMFlTd2dKMlJsY2ljcFhHNGdJQ0FnSUNCa1lYUmhJRDBnWkdWamNubHdkQ2hrWVhSaExDQndZWE56ZDI5eVpDbGNiaUFnSUNBZ0lDOHZJR1poYkd4eklIUm9jbTkxWjJoY2JpQWdJQ0JqWVhObElDZFFVa2xXUVZSRklFdEZXU2M2WEc0Z0lDQWdJQ0J1WkdGMFlTQTlJR0Z6YmpFdVVISnBkbUYwWlV0bGVTNWtaV052WkdVb1pHRjBZU3dnSjJSbGNpY3BYRzRnSUNBZ0lDQnpkV0owZVhCbElEMGdibVJoZEdFdVlXeG5iM0pwZEdodExtRnNaMjl5YVhSb2JTNXFiMmx1S0NjdUp5bGNiaUFnSUNBZ0lITjNhWFJqYUNBb2MzVmlkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUNjeExqSXVPRFF3TGpFeE16VTBPUzR4TGpFdU1TYzZYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0Z6YmpFdVVsTkJVSEpwZG1GMFpVdGxlUzVrWldOdlpHVW9ibVJoZEdFdWMzVmlhbVZqZEZCeWFYWmhkR1ZMWlhrc0lDZGtaWEluS1Z4dUlDQWdJQ0FnSUNCallYTmxJQ2N4TGpJdU9EUXdMakV3TURRMUxqSXVNU2M2WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR04xY25abE9pQnVaR0YwWVM1aGJHZHZjbWwwYUcwdVkzVnlkbVVzWEc0Z0lDQWdJQ0FnSUNBZ0lDQndjbWwyWVhSbFMyVjVPaUJoYzI0eExrVkRVSEpwZG1GMFpVdGxlUzVrWldOdlpHVW9ibVJoZEdFdWMzVmlhbVZqZEZCeWFYWmhkR1ZMWlhrc0lDZGtaWEluS1M1d2NtbDJZWFJsUzJWNVhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0JqWVhObElDY3hMakl1T0RRd0xqRXdNRFF3TGpRdU1TYzZYRzRnSUNBZ0lDQWdJQ0FnYm1SaGRHRXVZV3huYjNKcGRHaHRMbkJoY21GdGN5NXdjbWwyWDJ0bGVTQTlJR0Z6YmpFdVJGTkJjR0Z5WVcwdVpHVmpiMlJsS0c1a1lYUmhMbk4xWW1wbFkzUlFjbWwyWVhSbFMyVjVMQ0FuWkdWeUp5bGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RIbHdaVG9nSjJSellTY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lYSmhiWE02SUc1a1lYUmhMbUZzWjI5eWFYUm9iUzV3WVhKaGJYTmNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFE2SUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJyWlhrZ2FXUWdKeUFySUhOMVluUjVjR1VwWEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM1Z1YTI1dmQyNGdhMlY1SUhSNWNHVWdKeUFySUhSNWNHVXBYRzRnSUNBZ1kyRnpaU0FuVWxOQklGQlZRa3hKUXlCTFJWa25PbHh1SUNBZ0lDQWdjbVYwZFhKdUlHRnpiakV1VWxOQlVIVmliR2xqUzJWNUxtUmxZMjlrWlNoa1lYUmhMQ0FuWkdWeUp5bGNiaUFnSUNCallYTmxJQ2RTVTBFZ1VGSkpWa0ZVUlNCTFJWa25PbHh1SUNBZ0lDQWdjbVYwZFhKdUlHRnpiakV1VWxOQlVISnBkbUYwWlV0bGVTNWtaV052WkdVb1pHRjBZU3dnSjJSbGNpY3BYRzRnSUNBZ1kyRnpaU0FuUkZOQklGQlNTVlpCVkVVZ1MwVlpKenBjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJSFI1Y0dVNklDZGtjMkVuTEZ4dUlDQWdJQ0FnSUNCd1lYSmhiWE02SUdGemJqRXVSRk5CVUhKcGRtRjBaVXRsZVM1a1pXTnZaR1VvWkdGMFlTd2dKMlJsY2ljcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnWTJGelpTQW5SVU1nVUZKSlZrRlVSU0JMUlZrbk9seHVJQ0FnSUNBZ1pHRjBZU0E5SUdGemJqRXVSVU5RY21sMllYUmxTMlY1TG1SbFkyOWtaU2hrWVhSaExDQW5aR1Z5SnlsY2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdOMWNuWmxPaUJrWVhSaExuQmhjbUZ0WlhSbGNuTXVkbUZzZFdVc1hHNGdJQ0FnSUNBZ0lIQnlhWFpoZEdWTFpYazZJR1JoZEdFdWNISnBkbUYwWlV0bGVWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUdSbFptRjFiSFE2SUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduZFc1cmJtOTNiaUJyWlhrZ2RIbHdaU0FuSUNzZ2RIbHdaU2xjYmlBZ2ZWeHVmVnh1Y0dGeWMyVkxaWGx6TG5OcFoyNWhkSFZ5WlNBOUlHRnpiakV1YzJsbmJtRjBkWEpsWEc1bWRXNWpkR2x2YmlCa1pXTnllWEIwSUNoa1lYUmhMQ0J3WVhOemQyOXlaQ2tnZTF4dUlDQjJZWElnYzJGc2RDQTlJR1JoZEdFdVlXeG5iM0pwZEdodExtUmxZM0o1Y0hRdWEyUmxMbXRrWlhCaGNtRnRjeTV6WVd4MFhHNGdJSFpoY2lCcGRHVnljeUE5SUhCaGNuTmxTVzUwS0dSaGRHRXVZV3huYjNKcGRHaHRMbVJsWTNKNWNIUXVhMlJsTG10a1pYQmhjbUZ0Y3k1cGRHVnljeTUwYjFOMGNtbHVaeWdwTENBeE1DbGNiaUFnZG1GeUlHRnNaMjhnUFNCaFpYTnBaRnRrWVhSaExtRnNaMjl5YVhSb2JTNWtaV055ZVhCMExtTnBjR2hsY2k1aGJHZHZMbXB2YVc0b0p5NG5LVjFjYmlBZ2RtRnlJR2wySUQwZ1pHRjBZUzVoYkdkdmNtbDBhRzB1WkdWamNubHdkQzVqYVhCb1pYSXVhWFpjYmlBZ2RtRnlJR05wY0dobGNsUmxlSFFnUFNCa1lYUmhMbk4xWW1wbFkzUlFjbWwyWVhSbFMyVjVYRzRnSUhaaGNpQnJaWGxzWlc0Z1BTQndZWEp6WlVsdWRDaGhiR2R2TG5Od2JHbDBLQ2N0SnlsYk1WMHNJREV3S1NBdklEaGNiaUFnZG1GeUlHdGxlU0E5SUdOdmJYQmhkQzV3WW10a1pqSlRlVzVqS0hCaGMzTjNiM0prTENCellXeDBMQ0JwZEdWeWN5d2dhMlY1YkdWdUxDQW5jMmhoTVNjcFhHNGdJSFpoY2lCamFYQm9aWElnUFNCamFYQm9aWEp6TG1OeVpXRjBaVVJsWTJsd2FHVnlhWFlvWVd4bmJ5d2dhMlY1TENCcGRpbGNiaUFnZG1GeUlHOTFkQ0E5SUZ0ZFhHNGdJRzkxZEM1d2RYTm9LR05wY0dobGNpNTFjR1JoZEdVb1kybHdhR1Z5VkdWNGRDa3BYRzRnSUc5MWRDNXdkWE5vS0dOcGNHaGxjaTVtYVc1aGJDZ3BLVnh1SUNCeVpYUjFjbTRnUW5WbVptVnlMbU52Ym1OaGRDaHZkWFFwWEc1OVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcGFyc2UtYXNuMS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGJrZGYyL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcImV4cG9ydHMucGJrZGYyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvYXN5bmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvYXN5bmMuanNcXFwiKVxcbmV4cG9ydHMucGJrZGYyU3luYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL3N5bmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvc3luYy1icm93c2VyLmpzXFxcIilcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdZbXRrWmpJdlluSnZkM05sY2k1cWN6OHpNRGt5SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExIVkVRVUZoTzBGQlEzUkRMSEZDUVVGeFFpeHRRa0ZCVHl4RFFVRkRMRFpFUVVGWklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNCaWEyUm1NaTlpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMGN5NXdZbXRrWmpJZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5aGMzbHVZeWNwWEc1bGVIQnZjblJ6TG5CaWEyUm1NbE41Ym1NZ1BTQnlaWEYxYVhKbEtDY3VMMnhwWWk5emVXNWpKeWxjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9hc3luYy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvYXN5bmMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKGdsb2JhbCwgcHJvY2Vzcykge3ZhciBjaGVja1BhcmFtZXRlcnMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3ByZWNvbmRpdGlvbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9wcmVjb25kaXRpb24uanNcXFwiKVxcbnZhciBkZWZhdWx0RW5jb2RpbmcgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2RlZmF1bHQtZW5jb2RpbmcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvZGVmYXVsdC1lbmNvZGluZy5qc1xcXCIpXFxudmFyIHN5bmMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3N5bmMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvc3luYy1icm93c2VyLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIFpFUk9fQlVGXFxudmFyIHN1YnRsZSA9IGdsb2JhbC5jcnlwdG8gJiYgZ2xvYmFsLmNyeXB0by5zdWJ0bGVcXG52YXIgdG9Ccm93c2VyID0ge1xcbiAgJ3NoYSc6ICdTSEEtMScsXFxuICAnc2hhLTEnOiAnU0hBLTEnLFxcbiAgJ3NoYTEnOiAnU0hBLTEnLFxcbiAgJ3NoYTI1Nic6ICdTSEEtMjU2JyxcXG4gICdzaGEtMjU2JzogJ1NIQS0yNTYnLFxcbiAgJ3NoYTM4NCc6ICdTSEEtMzg0JyxcXG4gICdzaGEtMzg0JzogJ1NIQS0zODQnLFxcbiAgJ3NoYS01MTInOiAnU0hBLTUxMicsXFxuICAnc2hhNTEyJzogJ1NIQS01MTInXFxufVxcbnZhciBjaGVja3MgPSBbXVxcbmZ1bmN0aW9uIGNoZWNrTmF0aXZlIChhbGdvKSB7XFxuICBpZiAoZ2xvYmFsLnByb2Nlc3MgJiYgIWdsb2JhbC5wcm9jZXNzLmJyb3dzZXIpIHtcXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSlcXG4gIH1cXG4gIGlmICghc3VidGxlIHx8ICFzdWJ0bGUuaW1wb3J0S2V5IHx8ICFzdWJ0bGUuZGVyaXZlQml0cykge1xcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKVxcbiAgfVxcbiAgaWYgKGNoZWNrc1thbGdvXSAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIHJldHVybiBjaGVja3NbYWxnb11cXG4gIH1cXG4gIFpFUk9fQlVGID0gWkVST19CVUYgfHwgQnVmZmVyLmFsbG9jKDgpXFxuICB2YXIgcHJvbSA9IGJyb3dzZXJQYmtkZjIoWkVST19CVUYsIFpFUk9fQlVGLCAxMCwgMTI4LCBhbGdvKVxcbiAgICAudGhlbihmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIHRydWVcXG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge1xcbiAgICAgIHJldHVybiBmYWxzZVxcbiAgICB9KVxcbiAgY2hlY2tzW2FsZ29dID0gcHJvbVxcbiAgcmV0dXJuIHByb21cXG59XFxuXFxuZnVuY3Rpb24gYnJvd3NlclBia2RmMiAocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGxlbmd0aCwgYWxnbykge1xcbiAgcmV0dXJuIHN1YnRsZS5pbXBvcnRLZXkoXFxuICAgICdyYXcnLCBwYXNzd29yZCwge25hbWU6ICdQQktERjInfSwgZmFsc2UsIFsnZGVyaXZlQml0cyddXFxuICApLnRoZW4oZnVuY3Rpb24gKGtleSkge1xcbiAgICByZXR1cm4gc3VidGxlLmRlcml2ZUJpdHMoe1xcbiAgICAgIG5hbWU6ICdQQktERjInLFxcbiAgICAgIHNhbHQ6IHNhbHQsXFxuICAgICAgaXRlcmF0aW9uczogaXRlcmF0aW9ucyxcXG4gICAgICBoYXNoOiB7XFxuICAgICAgICBuYW1lOiBhbGdvXFxuICAgICAgfVxcbiAgICB9LCBrZXksIGxlbmd0aCA8PCAzKVxcbiAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7XFxuICAgIHJldHVybiBCdWZmZXIuZnJvbShyZXMpXFxuICB9KVxcbn1cXG5cXG5mdW5jdGlvbiByZXNvbHZlUHJvbWlzZSAocHJvbWlzZSwgY2FsbGJhY2spIHtcXG4gIHByb21pc2UudGhlbihmdW5jdGlvbiAob3V0KSB7XFxuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgIGNhbGxiYWNrKG51bGwsIG91dClcXG4gICAgfSlcXG4gIH0sIGZ1bmN0aW9uIChlKSB7XFxuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgIGNhbGxiYWNrKGUpXFxuICAgIH0pXFxuICB9KVxcbn1cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QsIGNhbGxiYWNrKSB7XFxuICBpZiAodHlwZW9mIGRpZ2VzdCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYWxsYmFjayA9IGRpZ2VzdFxcbiAgICBkaWdlc3QgPSB1bmRlZmluZWRcXG4gIH1cXG5cXG4gIGRpZ2VzdCA9IGRpZ2VzdCB8fCAnc2hhMSdcXG4gIHZhciBhbGdvID0gdG9Ccm93c2VyW2RpZ2VzdC50b0xvd2VyQ2FzZSgpXVxcblxcbiAgaWYgKCFhbGdvIHx8IHR5cGVvZiBnbG9iYWwuUHJvbWlzZSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XFxuICAgICAgdmFyIG91dFxcbiAgICAgIHRyeSB7XFxuICAgICAgICBvdXQgPSBzeW5jKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4sIGRpZ2VzdClcXG4gICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICByZXR1cm4gY2FsbGJhY2soZSlcXG4gICAgICB9XFxuICAgICAgY2FsbGJhY2sobnVsbCwgb3V0KVxcbiAgICB9KVxcbiAgfVxcblxcbiAgY2hlY2tQYXJhbWV0ZXJzKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4pXFxuICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB0aHJvdyBuZXcgRXJyb3IoJ05vIGNhbGxiYWNrIHByb3ZpZGVkIHRvIHBia2RmMicpXFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihwYXNzd29yZCkpIHBhc3N3b3JkID0gQnVmZmVyLmZyb20ocGFzc3dvcmQsIGRlZmF1bHRFbmNvZGluZylcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHNhbHQpKSBzYWx0ID0gQnVmZmVyLmZyb20oc2FsdCwgZGVmYXVsdEVuY29kaW5nKVxcblxcbiAgcmVzb2x2ZVByb21pc2UoY2hlY2tOYXRpdmUoYWxnbykudGhlbihmdW5jdGlvbiAocmVzcCkge1xcbiAgICBpZiAocmVzcCkgcmV0dXJuIGJyb3dzZXJQYmtkZjIocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbiwgYWxnbylcXG5cXG4gICAgcmV0dXJuIHN5bmMocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbiwgZGlnZXN0KVxcbiAgfSksIGNhbGxiYWNrKVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WW10a1pqSXZiR2xpTDJGemVXNWpMbXB6UHpVNVptVWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzTmtWQlFYTkNMRzFDUVVGUExFTkJRVU1zYVVWQlFXZENPMEZCUXpsRExITkNRVUZ6UWl4dFFrRkJUeXhEUVVGRExIbEZRVUZ2UWp0QlFVTnNSQ3hYUVVGWExHMUNRVUZQTEVOQlFVTXNlVVJCUVZFN1FVRkRNMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxITkNRVUZ6UWl4bFFVRmxPMEZCUTNKRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSUlpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNCaWEyUm1NaTlzYVdJdllYTjVibU11YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ1kyaGxZMnRRWVhKaGJXVjBaWEp6SUQwZ2NtVnhkV2x5WlNnbkxpOXdjbVZqYjI1a2FYUnBiMjRuS1Z4dWRtRnlJR1JsWm1GMWJIUkZibU52WkdsdVp5QTlJSEpsY1hWcGNtVW9KeTR2WkdWbVlYVnNkQzFsYm1OdlpHbHVaeWNwWEc1MllYSWdjM2x1WXlBOUlISmxjWFZwY21Vb0p5NHZjM2x1WXljcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JseHVkbUZ5SUZwRlVrOWZRbFZHWEc1MllYSWdjM1ZpZEd4bElEMGdaMnh2WW1Gc0xtTnllWEIwYnlBbUppQm5iRzlpWVd3dVkzSjVjSFJ2TG5OMVluUnNaVnh1ZG1GeUlIUnZRbkp2ZDNObGNpQTlJSHRjYmlBZ0ozTm9ZU2M2SUNkVFNFRXRNU2NzWEc0Z0lDZHphR0V0TVNjNklDZFRTRUV0TVNjc1hHNGdJQ2R6YUdFeEp6b2dKMU5JUVMweEp5eGNiaUFnSjNOb1lUSTFOaWM2SUNkVFNFRXRNalUySnl4Y2JpQWdKM05vWVMweU5UWW5PaUFuVTBoQkxUSTFOaWNzWEc0Z0lDZHphR0V6T0RRbk9pQW5VMGhCTFRNNE5DY3NYRzRnSUNkemFHRXRNemcwSnpvZ0oxTklRUzB6T0RRbkxGeHVJQ0FuYzJoaExUVXhNaWM2SUNkVFNFRXROVEV5Snl4Y2JpQWdKM05vWVRVeE1pYzZJQ2RUU0VFdE5URXlKMXh1ZlZ4dWRtRnlJR05vWldOcmN5QTlJRnRkWEc1bWRXNWpkR2x2YmlCamFHVmphMDVoZEdsMlpTQW9ZV3huYnlrZ2UxeHVJQ0JwWmlBb1oyeHZZbUZzTG5CeWIyTmxjM01nSmlZZ0lXZHNiMkpoYkM1d2NtOWpaWE56TG1KeWIzZHpaWElwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdVSEp2YldselpTNXlaWE52YkhabEtHWmhiSE5sS1Z4dUlDQjlYRzRnSUdsbUlDZ2hjM1ZpZEd4bElIeDhJQ0Z6ZFdKMGJHVXVhVzF3YjNKMFMyVjVJSHg4SUNGemRXSjBiR1V1WkdWeWFYWmxRbWwwY3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9abUZzYzJVcFhHNGdJSDFjYmlBZ2FXWWdLR05vWldOcmMxdGhiR2R2WFNBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTm9aV05yYzF0aGJHZHZYVnh1SUNCOVhHNGdJRnBGVWs5ZlFsVkdJRDBnV2tWU1QxOUNWVVlnZkh3Z1FuVm1abVZ5TG1Gc2JHOWpLRGdwWEc0Z0lIWmhjaUJ3Y205dElEMGdZbkp2ZDNObGNsQmlhMlJtTWloYVJWSlBYMEpWUml3Z1drVlNUMTlDVlVZc0lERXdMQ0F4TWpnc0lHRnNaMjhwWEc0Z0lDQWdMblJvWlc0b1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1ZjYmlBZ0lDQjlLUzVqWVhSamFDaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJWY2JpQWdJQ0I5S1Z4dUlDQmphR1ZqYTNOYllXeG5iMTBnUFNCd2NtOXRYRzRnSUhKbGRIVnliaUJ3Y205dFhHNTlYRzVjYm1aMWJtTjBhVzl1SUdKeWIzZHpaWEpRWW10a1pqSWdLSEJoYzNOM2IzSmtMQ0J6WVd4MExDQnBkR1Z5WVhScGIyNXpMQ0JzWlc1bmRHZ3NJR0ZzWjI4cElIdGNiaUFnY21WMGRYSnVJSE4xWW5Sc1pTNXBiWEJ2Y25STFpYa29YRzRnSUNBZ0ozSmhkeWNzSUhCaGMzTjNiM0prTENCN2JtRnRaVG9nSjFCQ1MwUkdNaWQ5TENCbVlXeHpaU3dnV3lka1pYSnBkbVZDYVhSekoxMWNiaUFnS1M1MGFHVnVLR1oxYm1OMGFXOXVJQ2hyWlhrcElIdGNiaUFnSUNCeVpYUjFjbTRnYzNWaWRHeGxMbVJsY21sMlpVSnBkSE1vZTF4dUlDQWdJQ0FnYm1GdFpUb2dKMUJDUzBSR01pY3NYRzRnSUNBZ0lDQnpZV3gwT2lCellXeDBMRnh1SUNBZ0lDQWdhWFJsY21GMGFXOXVjem9nYVhSbGNtRjBhVzl1Y3l4Y2JpQWdJQ0FnSUdoaGMyZzZJSHRjYmlBZ0lDQWdJQ0FnYm1GdFpUb2dZV3huYjF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzSUd0bGVTd2diR1Z1WjNSb0lEdzhJRE1wWEc0Z0lIMHBMblJvWlc0b1puVnVZM1JwYjI0Z0tISmxjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQkNkV1ptWlhJdVpuSnZiU2h5WlhNcFhHNGdJSDBwWEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYzI5c2RtVlFjbTl0YVhObElDaHdjbTl0YVhObExDQmpZV3hzWW1GamF5a2dlMXh1SUNCd2NtOXRhWE5sTG5Sb1pXNG9ablZ1WTNScGIyNGdLRzkxZENrZ2UxeHVJQ0FnSUhCeWIyTmxjM011Ym1WNGRGUnBZMnNvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1kyRnNiR0poWTJzb2JuVnNiQ3dnYjNWMEtWeHVJQ0FnSUgwcFhHNGdJSDBzSUdaMWJtTjBhVzl1SUNobEtTQjdYRzRnSUNBZ2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQmpZV3hzWW1GamF5aGxLVnh1SUNBZ0lIMHBYRzRnSUgwcFhHNTlYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJR1oxYm1OMGFXOXVJQ2h3WVhOemQyOXlaQ3dnYzJGc2RDd2dhWFJsY21GMGFXOXVjeXdnYTJWNWJHVnVMQ0JrYVdkbGMzUXNJR05oYkd4aVlXTnJLU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaR2xuWlhOMElEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnWTJGc2JHSmhZMnNnUFNCa2FXZGxjM1JjYmlBZ0lDQmthV2RsYzNRZ1BTQjFibVJsWm1sdVpXUmNiaUFnZlZ4dVhHNGdJR1JwWjJWemRDQTlJR1JwWjJWemRDQjhmQ0FuYzJoaE1TZGNiaUFnZG1GeUlHRnNaMjhnUFNCMGIwSnliM2R6WlhKYlpHbG5aWE4wTG5SdlRHOTNaWEpEWVhObEtDbGRYRzVjYmlBZ2FXWWdLQ0ZoYkdkdklIeDhJSFI1Y0dWdlppQm5iRzlpWVd3dVVISnZiV2x6WlNBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQndjbTlqWlhOekxtNWxlSFJVYVdOcktHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJSFpoY2lCdmRYUmNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUc5MWRDQTlJSE41Ym1Nb2NHRnpjM2R2Y21Rc0lITmhiSFFzSUdsMFpYSmhkR2x2Ym5Nc0lHdGxlV3hsYml3Z1pHbG5aWE4wS1Z4dUlDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1kyRnNiR0poWTJzb1pTbGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHTmhiR3hpWVdOcktHNTFiR3dzSUc5MWRDbGNiaUFnSUNCOUtWeHVJQ0I5WEc1Y2JpQWdZMmhsWTJ0UVlYSmhiV1YwWlhKektIQmhjM04zYjNKa0xDQnpZV3gwTENCcGRHVnlZWFJwYjI1ekxDQnJaWGxzWlc0cFhHNGdJR2xtSUNoMGVYQmxiMllnWTJGc2JHSmhZMnNnSVQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvY205M0lHNWxkeUJGY25KdmNpZ25UbThnWTJGc2JHSmhZMnNnY0hKdmRtbGtaV1FnZEc4Z2NHSnJaR1l5SnlsY2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0dGemMzZHZjbVFwS1NCd1lYTnpkMjl5WkNBOUlFSjFabVpsY2k1bWNtOXRLSEJoYzNOM2IzSmtMQ0JrWldaaGRXeDBSVzVqYjJScGJtY3BYRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtITmhiSFFwS1NCellXeDBJRDBnUW5WbVptVnlMbVp5YjIwb2MyRnNkQ3dnWkdWbVlYVnNkRVZ1WTI5a2FXNW5LVnh1WEc0Z0lISmxjMjlzZG1WUWNtOXRhWE5sS0dOb1pXTnJUbUYwYVhabEtHRnNaMjhwTG5Sb1pXNG9ablZ1WTNScGIyNGdLSEpsYzNBcElIdGNiaUFnSUNCcFppQW9jbVZ6Y0NrZ2NtVjBkWEp1SUdKeWIzZHpaWEpRWW10a1pqSW9jR0Z6YzNkdmNtUXNJSE5oYkhRc0lHbDBaWEpoZEdsdmJuTXNJR3RsZVd4bGJpd2dZV3huYnlsY2JseHVJQ0FnSUhKbGRIVnliaUJ6ZVc1aktIQmhjM04zYjNKa0xDQnpZV3gwTENCcGRHVnlZWFJwYjI1ekxDQnJaWGxzWlc0c0lHUnBaMlZ6ZENsY2JpQWdmU2tzSUdOaGJHeGlZV05yS1Z4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvYXN5bmMuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvZGVmYXVsdC1lbmNvZGluZy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9kZWZhdWx0LWVuY29kaW5nLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKHByb2Nlc3MpIHt2YXIgZGVmYXVsdEVuY29kaW5nXFxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cXG5pZiAocHJvY2Vzcy5icm93c2VyKSB7XFxuICBkZWZhdWx0RW5jb2RpbmcgPSAndXRmLTgnXFxufSBlbHNlIHtcXG4gIHZhciBwVmVyc2lvbk1ham9yID0gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9uLnNwbGl0KCcuJylbMF0uc2xpY2UoMSksIDEwKVxcblxcbiAgZGVmYXVsdEVuY29kaW5nID0gcFZlcnNpb25NYWpvciA+PSA2ID8gJ3V0Zi04JyA6ICdiaW5hcnknXFxufVxcbm1vZHVsZS5leHBvcnRzID0gZGVmYXVsdEVuY29kaW5nXFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WW10a1pqSXZiR2xpTDJSbFptRjFiSFF0Wlc1amIyUnBibWN1YW5NL09XTmhOU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEczdRVUZGUVR0QlFVTkJPMEZCUTBFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y0dKclpHWXlMMnhwWWk5a1pXWmhkV3gwTFdWdVkyOWthVzVuTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpZG1GeUlHUmxabUYxYkhSRmJtTnZaR2x1WjF4dUx5b2dhWE4wWVc1aWRXd2dhV2R1YjNKbElHNWxlSFFnS2k5Y2JtbG1JQ2h3Y205alpYTnpMbUp5YjNkelpYSXBJSHRjYmlBZ1pHVm1ZWFZzZEVWdVkyOWthVzVuSUQwZ0ozVjBaaTA0SjF4dWZTQmxiSE5sSUh0Y2JpQWdkbUZ5SUhCV1pYSnphVzl1VFdGcWIzSWdQU0J3WVhKelpVbHVkQ2h3Y205alpYTnpMblpsY25OcGIyNHVjM0JzYVhRb0p5NG5LVnN3WFM1emJHbGpaU2d4S1N3Z01UQXBYRzVjYmlBZ1pHVm1ZWFZzZEVWdVkyOWthVzVuSUQwZ2NGWmxjbk5wYjI1TllXcHZjaUErUFNBMklEOGdKM1YwWmkwNEp5QTZJQ2RpYVc1aGNua25YRzU5WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdSbFptRjFiSFJGYm1OdlpHbHVaMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL2RlZmF1bHQtZW5jb2RpbmcuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oQnVmZmVyKSB7dmFyIE1BWF9BTExPQyA9IE1hdGgucG93KDIsIDMwKSAtIDEgLy8gZGVmYXVsdCBpbiBpb2pzXFxuXFxuZnVuY3Rpb24gY2hlY2tCdWZmZXIgKGJ1ZiwgbmFtZSkge1xcbiAgaWYgKHR5cGVvZiBidWYgIT09ICdzdHJpbmcnICYmICFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKG5hbWUgKyAnIG11c3QgYmUgYSBidWZmZXIgb3Igc3RyaW5nJylcXG4gIH1cXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbikge1xcbiAgY2hlY2tCdWZmZXIocGFzc3dvcmQsICdQYXNzd29yZCcpXFxuICBjaGVja0J1ZmZlcihzYWx0LCAnU2FsdCcpXFxuXFxuICBpZiAodHlwZW9mIGl0ZXJhdGlvbnMgIT09ICdudW1iZXInKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0l0ZXJhdGlvbnMgbm90IGEgbnVtYmVyJylcXG4gIH1cXG5cXG4gIGlmIChpdGVyYXRpb25zIDwgMCkge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdCYWQgaXRlcmF0aW9ucycpXFxuICB9XFxuXFxuICBpZiAodHlwZW9mIGtleWxlbiAhPT0gJ251bWJlcicpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignS2V5IGxlbmd0aCBub3QgYSBudW1iZXInKVxcbiAgfVxcblxcbiAgaWYgKGtleWxlbiA8IDAgfHwga2V5bGVuID4gTUFYX0FMTE9DIHx8IGtleWxlbiAhPT0ga2V5bGVuKSB7IC8qIGVzbGludCBuby1zZWxmLWNvbXBhcmU6IDAgKi9cXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQmFkIGtleSBsZW5ndGgnKVxcbiAgfVxcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi9idWZmZXIvaW5kZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcikpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3WW10a1pqSXZiR2xpTDNCeVpXTnZibVJwZEdsdmJpNXFjejgwWlRNeUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEaEVRVUU0UkR0QlFVTTVSRHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjR0pyWkdZeUwyeHBZaTl3Y21WamIyNWthWFJwYjI0dWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKMllYSWdUVUZZWDBGTVRFOURJRDBnVFdGMGFDNXdiM2NvTWl3Z016QXBJQzBnTVNBdkx5QmtaV1poZFd4MElHbHVJR2x2YW5OY2JseHVablZ1WTNScGIyNGdZMmhsWTJ0Q2RXWm1aWElnS0dKMVppd2dibUZ0WlNrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUdKMVppQWhQVDBnSjNOMGNtbHVaeWNnSmlZZ0lVSjFabVpsY2k1cGMwSjFabVpsY2loaWRXWXBLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWh1WVcxbElDc2dKeUJ0ZFhOMElHSmxJR0VnWW5WbVptVnlJRzl5SUhOMGNtbHVaeWNwWEc0Z0lIMWNibjFjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2NHRnpjM2R2Y21Rc0lITmhiSFFzSUdsMFpYSmhkR2x2Ym5Nc0lHdGxlV3hsYmlrZ2UxeHVJQ0JqYUdWamEwSjFabVpsY2lod1lYTnpkMjl5WkN3Z0oxQmhjM04zYjNKa0p5bGNiaUFnWTJobFkydENkV1ptWlhJb2MyRnNkQ3dnSjFOaGJIUW5LVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdhWFJsY21GMGFXOXVjeUFoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZEpkR1Z5WVhScGIyNXpJRzV2ZENCaElHNTFiV0psY2ljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYVhSbGNtRjBhVzl1Y3lBOElEQXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dWSGx3WlVWeWNtOXlLQ2RDWVdRZ2FYUmxjbUYwYVc5dWN5Y3BYRzRnSUgxY2JseHVJQ0JwWmlBb2RIbHdaVzltSUd0bGVXeGxiaUFoUFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZExaWGtnYkdWdVozUm9JRzV2ZENCaElHNTFiV0psY2ljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYTJWNWJHVnVJRHdnTUNCOGZDQnJaWGxzWlc0Z1BpQk5RVmhmUVV4TVQwTWdmSHdnYTJWNWJHVnVJQ0U5UFNCclpYbHNaVzRwSUhzZ0x5b2daWE5zYVc1MElHNXZMWE5sYkdZdFkyOXRjR0Z5WlRvZ01DQXFMMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMEpoWkNCclpYa2diR1Z1WjNSb0p5bGNiaUFnZlZ4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Bia2RmMi9saWIvcHJlY29uZGl0aW9uLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3N5bmMtYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3N5bmMtYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIG1kNSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNyZWF0ZS1oYXNoL21kNSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY3JlYXRlLWhhc2gvbWQ1LmpzXFxcIilcXG52YXIgUklQRU1EMTYwID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmlwZW1kMTYwICovIFxcXCIuL25vZGVfbW9kdWxlcy9yaXBlbWQxNjAvaW5kZXguanNcXFwiKVxcbnZhciBzaGEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzaGEuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qc1xcXCIpXFxuXFxudmFyIGNoZWNrUGFyYW1ldGVycyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcHJlY29uZGl0aW9uICovIFxcXCIuL25vZGVfbW9kdWxlcy9wYmtkZjIvbGliL3ByZWNvbmRpdGlvbi5qc1xcXCIpXFxudmFyIGRlZmF1bHRFbmNvZGluZyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZGVmYXVsdC1lbmNvZGluZyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9kZWZhdWx0LWVuY29kaW5nLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxudmFyIFpFUk9TID0gQnVmZmVyLmFsbG9jKDEyOClcXG52YXIgc2l6ZXMgPSB7XFxuICBtZDU6IDE2LFxcbiAgc2hhMTogMjAsXFxuICBzaGEyMjQ6IDI4LFxcbiAgc2hhMjU2OiAzMixcXG4gIHNoYTM4NDogNDgsXFxuICBzaGE1MTI6IDY0LFxcbiAgcm1kMTYwOiAyMCxcXG4gIHJpcGVtZDE2MDogMjBcXG59XFxuXFxuZnVuY3Rpb24gSG1hYyAoYWxnLCBrZXksIHNhbHRMZW4pIHtcXG4gIHZhciBoYXNoID0gZ2V0RGlnZXN0KGFsZylcXG4gIHZhciBibG9ja3NpemUgPSAoYWxnID09PSAnc2hhNTEyJyB8fCBhbGcgPT09ICdzaGEzODQnKSA/IDEyOCA6IDY0XFxuXFxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xcbiAgICBrZXkgPSBoYXNoKGtleSlcXG4gIH0gZWxzZSBpZiAoa2V5Lmxlbmd0aCA8IGJsb2Nrc2l6ZSkge1xcbiAgICBrZXkgPSBCdWZmZXIuY29uY2F0KFtrZXksIFpFUk9TXSwgYmxvY2tzaXplKVxcbiAgfVxcblxcbiAgdmFyIGlwYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplICsgc2l6ZXNbYWxnXSlcXG4gIHZhciBvcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSArIHNpemVzW2FsZ10pXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGJsb2Nrc2l6ZTsgaSsrKSB7XFxuICAgIGlwYWRbaV0gPSBrZXlbaV0gXiAweDM2XFxuICAgIG9wYWRbaV0gPSBrZXlbaV0gXiAweDVDXFxuICB9XFxuXFxuICB2YXIgaXBhZDEgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplICsgc2FsdExlbiArIDQpXFxuICBpcGFkLmNvcHkoaXBhZDEsIDAsIDAsIGJsb2Nrc2l6ZSlcXG4gIHRoaXMuaXBhZDEgPSBpcGFkMVxcbiAgdGhpcy5pcGFkMiA9IGlwYWRcXG4gIHRoaXMub3BhZCA9IG9wYWRcXG4gIHRoaXMuYWxnID0gYWxnXFxuICB0aGlzLmJsb2Nrc2l6ZSA9IGJsb2Nrc2l6ZVxcbiAgdGhpcy5oYXNoID0gaGFzaFxcbiAgdGhpcy5zaXplID0gc2l6ZXNbYWxnXVxcbn1cXG5cXG5IbWFjLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoZGF0YSwgaXBhZCkge1xcbiAgZGF0YS5jb3B5KGlwYWQsIHRoaXMuYmxvY2tzaXplKVxcbiAgdmFyIGggPSB0aGlzLmhhc2goaXBhZClcXG4gIGguY29weSh0aGlzLm9wYWQsIHRoaXMuYmxvY2tzaXplKVxcbiAgcmV0dXJuIHRoaXMuaGFzaCh0aGlzLm9wYWQpXFxufVxcblxcbmZ1bmN0aW9uIGdldERpZ2VzdCAoYWxnKSB7XFxuICBmdW5jdGlvbiBzaGFGdW5jIChkYXRhKSB7XFxuICAgIHJldHVybiBzaGEoYWxnKS51cGRhdGUoZGF0YSkuZGlnZXN0KClcXG4gIH1cXG4gIGZ1bmN0aW9uIHJtZDE2MEZ1bmMgKGRhdGEpIHtcXG4gICAgcmV0dXJuIG5ldyBSSVBFTUQxNjAoKS51cGRhdGUoZGF0YSkuZGlnZXN0KClcXG4gIH1cXG5cXG4gIGlmIChhbGcgPT09ICdybWQxNjAnIHx8IGFsZyA9PT0gJ3JpcGVtZDE2MCcpIHJldHVybiBybWQxNjBGdW5jXFxuICBpZiAoYWxnID09PSAnbWQ1JykgcmV0dXJuIG1kNVxcbiAgcmV0dXJuIHNoYUZ1bmNcXG59XFxuXFxuZnVuY3Rpb24gcGJrZGYyIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QpIHtcXG4gIGNoZWNrUGFyYW1ldGVycyhwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuKVxcblxcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocGFzc3dvcmQpKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkLCBkZWZhdWx0RW5jb2RpbmcpXFxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihzYWx0KSkgc2FsdCA9IEJ1ZmZlci5mcm9tKHNhbHQsIGRlZmF1bHRFbmNvZGluZylcXG5cXG4gIGRpZ2VzdCA9IGRpZ2VzdCB8fCAnc2hhMSdcXG5cXG4gIHZhciBobWFjID0gbmV3IEhtYWMoZGlnZXN0LCBwYXNzd29yZCwgc2FsdC5sZW5ndGgpXFxuXFxuICB2YXIgREsgPSBCdWZmZXIuYWxsb2NVbnNhZmUoa2V5bGVuKVxcbiAgdmFyIGJsb2NrMSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShzYWx0Lmxlbmd0aCArIDQpXFxuICBzYWx0LmNvcHkoYmxvY2sxLCAwLCAwLCBzYWx0Lmxlbmd0aClcXG5cXG4gIHZhciBkZXN0UG9zID0gMFxcbiAgdmFyIGhMZW4gPSBzaXplc1tkaWdlc3RdXFxuICB2YXIgbCA9IE1hdGguY2VpbChrZXlsZW4gLyBoTGVuKVxcblxcbiAgZm9yICh2YXIgaSA9IDE7IGkgPD0gbDsgaSsrKSB7XFxuICAgIGJsb2NrMS53cml0ZVVJbnQzMkJFKGksIHNhbHQubGVuZ3RoKVxcblxcbiAgICB2YXIgVCA9IGhtYWMucnVuKGJsb2NrMSwgaG1hYy5pcGFkMSlcXG4gICAgdmFyIFUgPSBUXFxuXFxuICAgIGZvciAodmFyIGogPSAxOyBqIDwgaXRlcmF0aW9uczsgaisrKSB7XFxuICAgICAgVSA9IGhtYWMucnVuKFUsIGhtYWMuaXBhZDIpXFxuICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBoTGVuOyBrKyspIFRba10gXj0gVVtrXVxcbiAgICB9XFxuXFxuICAgIFQuY29weShESywgZGVzdFBvcylcXG4gICAgZGVzdFBvcyArPSBoTGVuXFxuICB9XFxuXFxuICByZXR1cm4gREtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBwYmtkZjJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdZbXRrWmpJdmJHbGlMM041Ym1NdFluSnZkM05sY2k1cWN6ODBZVFptSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxGVkJRVlVzYlVKQlFVOHNRMEZCUXl3d1JFRkJhVUk3UVVGRGJrTXNaMEpCUVdkQ0xHMUNRVUZQTEVOQlFVTXNiMFJCUVZjN1FVRkRia01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhEUVVGUk96dEJRVVV4UWl4elFrRkJjMElzYlVKQlFVOHNRMEZCUXl4cFJVRkJaMEk3UVVGRE9VTXNjMEpCUVhOQ0xHMUNRVUZQTEVOQlFVTXNlVVZCUVc5Q08wRkJRMnhFTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeGxRVUZsTzBGQlEyaERPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEZGQlFWRTdRVUZEZWtJN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWjBKQlFXZENPMEZCUTI1RE8wRkJRMEVzY1VKQlFYRkNMRlZCUVZVN1FVRkRMMEk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNHSnJaR1l5TDJ4cFlpOXplVzVqTFdKeWIzZHpaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2JXUTFJRDBnY21WeGRXbHlaU2duWTNKbFlYUmxMV2hoYzJndmJXUTFKeWxjYm5aaGNpQlNTVkJGVFVReE5qQWdQU0J5WlhGMWFYSmxLQ2R5YVhCbGJXUXhOakFuS1Z4dWRtRnlJSE5vWVNBOUlISmxjWFZwY21Vb0ozTm9ZUzVxY3ljcFhHNWNiblpoY2lCamFHVmphMUJoY21GdFpYUmxjbk1nUFNCeVpYRjFhWEpsS0NjdUwzQnlaV052Ym1ScGRHbHZiaWNwWEc1MllYSWdaR1ZtWVhWc2RFVnVZMjlrYVc1bklEMGdjbVZ4ZFdseVpTZ25MaTlrWldaaGRXeDBMV1Z1WTI5a2FXNW5KeWxjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1ZG1GeUlGcEZVazlUSUQwZ1FuVm1abVZ5TG1Gc2JHOWpLREV5T0NsY2JuWmhjaUJ6YVhwbGN5QTlJSHRjYmlBZ2JXUTFPaUF4Tml4Y2JpQWdjMmhoTVRvZ01qQXNYRzRnSUhOb1lUSXlORG9nTWpnc1hHNGdJSE5vWVRJMU5qb2dNeklzWEc0Z0lITm9ZVE00TkRvZ05EZ3NYRzRnSUhOb1lUVXhNam9nTmpRc1hHNGdJSEp0WkRFMk1Eb2dNakFzWEc0Z0lISnBjR1Z0WkRFMk1Eb2dNakJjYm4xY2JseHVablZ1WTNScGIyNGdTRzFoWXlBb1lXeG5MQ0JyWlhrc0lITmhiSFJNWlc0cElIdGNiaUFnZG1GeUlHaGhjMmdnUFNCblpYUkVhV2RsYzNRb1lXeG5LVnh1SUNCMllYSWdZbXh2WTJ0emFYcGxJRDBnS0dGc1p5QTlQVDBnSjNOb1lUVXhNaWNnZkh3Z1lXeG5JRDA5UFNBbmMyaGhNemcwSnlrZ1B5QXhNamdnT2lBMk5GeHVYRzRnSUdsbUlDaHJaWGt1YkdWdVozUm9JRDRnWW14dlkydHphWHBsS1NCN1hHNGdJQ0FnYTJWNUlEMGdhR0Z6YUNoclpYa3BYRzRnSUgwZ1pXeHpaU0JwWmlBb2EyVjVMbXhsYm1kMGFDQThJR0pzYjJOcmMybDZaU2tnZTF4dUlDQWdJR3RsZVNBOUlFSjFabVpsY2k1amIyNWpZWFFvVzJ0bGVTd2dXa1ZTVDFOZExDQmliRzlqYTNOcGVtVXBYRzRnSUgxY2JseHVJQ0IyWVhJZ2FYQmhaQ0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNoaWJHOWphM05wZW1VZ0t5QnphWHBsYzF0aGJHZGRLVnh1SUNCMllYSWdiM0JoWkNBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTaGliRzlqYTNOcGVtVWdLeUJ6YVhwbGMxdGhiR2RkS1Z4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0pzYjJOcmMybDZaVHNnYVNzcktTQjdYRzRnSUNBZ2FYQmhaRnRwWFNBOUlHdGxlVnRwWFNCZUlEQjRNelpjYmlBZ0lDQnZjR0ZrVzJsZElEMGdhMlY1VzJsZElGNGdNSGcxUTF4dUlDQjlYRzVjYmlBZ2RtRnlJR2x3WVdReElEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLR0pzYjJOcmMybDZaU0FySUhOaGJIUk1aVzRnS3lBMEtWeHVJQ0JwY0dGa0xtTnZjSGtvYVhCaFpERXNJREFzSURBc0lHSnNiMk5yYzJsNlpTbGNiaUFnZEdocGN5NXBjR0ZrTVNBOUlHbHdZV1F4WEc0Z0lIUm9hWE11YVhCaFpESWdQU0JwY0dGa1hHNGdJSFJvYVhNdWIzQmhaQ0E5SUc5d1lXUmNiaUFnZEdocGN5NWhiR2NnUFNCaGJHZGNiaUFnZEdocGN5NWliRzlqYTNOcGVtVWdQU0JpYkc5amEzTnBlbVZjYmlBZ2RHaHBjeTVvWVhOb0lEMGdhR0Z6YUZ4dUlDQjBhR2x6TG5OcGVtVWdQU0J6YVhwbGMxdGhiR2RkWEc1OVhHNWNia2h0WVdNdWNISnZkRzkwZVhCbExuSjFiaUE5SUdaMWJtTjBhVzl1SUNoa1lYUmhMQ0JwY0dGa0tTQjdYRzRnSUdSaGRHRXVZMjl3ZVNocGNHRmtMQ0IwYUdsekxtSnNiMk5yYzJsNlpTbGNiaUFnZG1GeUlHZ2dQU0IwYUdsekxtaGhjMmdvYVhCaFpDbGNiaUFnYUM1amIzQjVLSFJvYVhNdWIzQmhaQ3dnZEdocGN5NWliRzlqYTNOcGVtVXBYRzRnSUhKbGRIVnliaUIwYUdsekxtaGhjMmdvZEdocGN5NXZjR0ZrS1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSRWFXZGxjM1FnS0dGc1p5a2dlMXh1SUNCbWRXNWpkR2x2YmlCemFHRkdkVzVqSUNoa1lYUmhLU0I3WEc0Z0lDQWdjbVYwZFhKdUlITm9ZU2hoYkdjcExuVndaR0YwWlNoa1lYUmhLUzVrYVdkbGMzUW9LVnh1SUNCOVhHNGdJR1oxYm1OMGFXOXVJSEp0WkRFMk1FWjFibU1nS0dSaGRHRXBJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRkpKVUVWTlJERTJNQ2dwTG5Wd1pHRjBaU2hrWVhSaEtTNWthV2RsYzNRb0tWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dGc1p5QTlQVDBnSjNKdFpERTJNQ2NnZkh3Z1lXeG5JRDA5UFNBbmNtbHdaVzFrTVRZd0p5a2djbVYwZFhKdUlISnRaREUyTUVaMWJtTmNiaUFnYVdZZ0tHRnNaeUE5UFQwZ0oyMWtOU2NwSUhKbGRIVnliaUJ0WkRWY2JpQWdjbVYwZFhKdUlITm9ZVVoxYm1OY2JuMWNibHh1Wm5WdVkzUnBiMjRnY0dKclpHWXlJQ2h3WVhOemQyOXlaQ3dnYzJGc2RDd2dhWFJsY21GMGFXOXVjeXdnYTJWNWJHVnVMQ0JrYVdkbGMzUXBJSHRjYmlBZ1kyaGxZMnRRWVhKaGJXVjBaWEp6S0hCaGMzTjNiM0prTENCellXeDBMQ0JwZEdWeVlYUnBiMjV6TENCclpYbHNaVzRwWEc1Y2JpQWdhV1lnS0NGQ2RXWm1aWEl1YVhOQ2RXWm1aWElvY0dGemMzZHZjbVFwS1NCd1lYTnpkMjl5WkNBOUlFSjFabVpsY2k1bWNtOXRLSEJoYzNOM2IzSmtMQ0JrWldaaGRXeDBSVzVqYjJScGJtY3BYRzRnSUdsbUlDZ2hRblZtWm1WeUxtbHpRblZtWm1WeUtITmhiSFFwS1NCellXeDBJRDBnUW5WbVptVnlMbVp5YjIwb2MyRnNkQ3dnWkdWbVlYVnNkRVZ1WTI5a2FXNW5LVnh1WEc0Z0lHUnBaMlZ6ZENBOUlHUnBaMlZ6ZENCOGZDQW5jMmhoTVNkY2JseHVJQ0IyWVhJZ2FHMWhZeUE5SUc1bGR5QkliV0ZqS0dScFoyVnpkQ3dnY0dGemMzZHZjbVFzSUhOaGJIUXViR1Z1WjNSb0tWeHVYRzRnSUhaaGNpQkVTeUE5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNoclpYbHNaVzRwWEc0Z0lIWmhjaUJpYkc5amF6RWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYzJGc2RDNXNaVzVuZEdnZ0t5QTBLVnh1SUNCellXeDBMbU52Y0hrb1lteHZZMnN4TENBd0xDQXdMQ0J6WVd4MExteGxibWQwYUNsY2JseHVJQ0IyWVhJZ1pHVnpkRkJ2Y3lBOUlEQmNiaUFnZG1GeUlHaE1aVzRnUFNCemFYcGxjMXRrYVdkbGMzUmRYRzRnSUhaaGNpQnNJRDBnVFdGMGFDNWpaV2xzS0d0bGVXeGxiaUF2SUdoTVpXNHBYRzVjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREU3SUdrZ1BEMGdiRHNnYVNzcktTQjdYRzRnSUNBZ1lteHZZMnN4TG5keWFYUmxWVWx1ZERNeVFrVW9hU3dnYzJGc2RDNXNaVzVuZEdncFhHNWNiaUFnSUNCMllYSWdWQ0E5SUdodFlXTXVjblZ1S0dKc2IyTnJNU3dnYUcxaFl5NXBjR0ZrTVNsY2JpQWdJQ0IyWVhJZ1ZTQTlJRlJjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR29nUFNBeE95QnFJRHdnYVhSbGNtRjBhVzl1Y3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0JWSUQwZ2FHMWhZeTV5ZFc0b1ZTd2dhRzFoWXk1cGNHRmtNaWxjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR3NnUFNBd095QnJJRHdnYUV4bGJqc2dheXNyS1NCVVcydGRJRjQ5SUZWYmExMWNiaUFnSUNCOVhHNWNiaUFnSUNCVUxtTnZjSGtvUkVzc0lHUmxjM1JRYjNNcFhHNGdJQ0FnWkdWemRGQnZjeUFyUFNCb1RHVnVYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdSRXRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQndZbXRrWmpKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcGJrZGYyL2xpYi9zeW5jLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihwcm9jZXNzKSB7XFxuXFxuaWYgKHR5cGVvZiBwcm9jZXNzID09PSAndW5kZWZpbmVkJyB8fFxcbiAgICAhcHJvY2Vzcy52ZXJzaW9uIHx8XFxuICAgIHByb2Nlc3MudmVyc2lvbi5pbmRleE9mKCd2MC4nKSA9PT0gMCB8fFxcbiAgICBwcm9jZXNzLnZlcnNpb24uaW5kZXhPZigndjEuJykgPT09IDAgJiYgcHJvY2Vzcy52ZXJzaW9uLmluZGV4T2YoJ3YxLjguJykgIT09IDApIHtcXG4gIG1vZHVsZS5leHBvcnRzID0geyBuZXh0VGljazogbmV4dFRpY2sgfTtcXG59IGVsc2Uge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBwcm9jZXNzXFxufVxcblxcbmZ1bmN0aW9uIG5leHRUaWNrKGZuLCBhcmcxLCBhcmcyLCBhcmczKSB7XFxuICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1xcXCJjYWxsYmFja1xcXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XFxuICB9XFxuICB2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcXG4gIHZhciBhcmdzLCBpO1xcbiAgc3dpdGNoIChsZW4pIHtcXG4gIGNhc2UgMDpcXG4gIGNhc2UgMTpcXG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZm4pO1xcbiAgY2FzZSAyOlxcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2tPbmUoKSB7XFxuICAgICAgZm4uY2FsbChudWxsLCBhcmcxKTtcXG4gICAgfSk7XFxuICBjYXNlIDM6XFxuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uIGFmdGVyVGlja1R3bygpIHtcXG4gICAgICBmbi5jYWxsKG51bGwsIGFyZzEsIGFyZzIpO1xcbiAgICB9KTtcXG4gIGNhc2UgNDpcXG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gYWZ0ZXJUaWNrVGhyZWUoKSB7XFxuICAgICAgZm4uY2FsbChudWxsLCBhcmcxLCBhcmcyLCBhcmczKTtcXG4gICAgfSk7XFxuICBkZWZhdWx0OlxcbiAgICBhcmdzID0gbmV3IEFycmF5KGxlbiAtIDEpO1xcbiAgICBpID0gMDtcXG4gICAgd2hpbGUgKGkgPCBhcmdzLmxlbmd0aCkge1xcbiAgICAgIGFyZ3NbaSsrXSA9IGFyZ3VtZW50c1tpXTtcXG4gICAgfVxcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2soKSB7XFxuICAgICAgZm4uYXBwbHkobnVsbCwgYXJncyk7XFxuICAgIH0pO1xcbiAgfVxcbn1cXG5cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdjbTlqWlhOekxXNWxlSFJwWTJzdFlYSm5jeTlwYm1SbGVDNXFjejgxT0RReUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMQ3REUVVGaE96dEJRVVZpTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2IwSkJRVzlDTzBGQlEzQkNMRU5CUVVNN1FVRkRSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0J5YjJObGMzTXRibVY0ZEdsamF5MWhjbWR6TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNXBaaUFvZEhsd1pXOW1JSEJ5YjJObGMzTWdQVDA5SUNkMWJtUmxabWx1WldRbklIeDhYRzRnSUNBZ0lYQnliMk5sYzNNdWRtVnljMmx2YmlCOGZGeHVJQ0FnSUhCeWIyTmxjM011ZG1WeWMybHZiaTVwYm1SbGVFOW1LQ2QyTUM0bktTQTlQVDBnTUNCOGZGeHVJQ0FnSUhCeWIyTmxjM011ZG1WeWMybHZiaTVwYm1SbGVFOW1LQ2QyTVM0bktTQTlQVDBnTUNBbUppQndjbTlqWlhOekxuWmxjbk5wYjI0dWFXNWtaWGhQWmlnbmRqRXVPQzRuS1NBaFBUMGdNQ2tnZTF4dUlDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlIc2dibVY0ZEZScFkyczZJRzVsZUhSVWFXTnJJSDA3WEc1OUlHVnNjMlVnZTF4dUlDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlIQnliMk5sYzNOY2JuMWNibHh1Wm5WdVkzUnBiMjRnYm1WNGRGUnBZMnNvWm00c0lHRnlaekVzSUdGeVp6SXNJR0Z5WnpNcElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCbWJpQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb0oxd2lZMkZzYkdKaFkydGNJaUJoY21kMWJXVnVkQ0J0ZFhOMElHSmxJR0VnWm5WdVkzUnBiMjRuS1R0Y2JpQWdmVnh1SUNCMllYSWdiR1Z1SUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYUR0Y2JpQWdkbUZ5SUdGeVozTXNJR2s3WEc0Z0lITjNhWFJqYUNBb2JHVnVLU0I3WEc0Z0lHTmhjMlVnTURwY2JpQWdZMkZ6WlNBeE9seHVJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpMbTVsZUhSVWFXTnJLR1p1S1R0Y2JpQWdZMkZ6WlNBeU9seHVJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpMbTVsZUhSVWFXTnJLR1oxYm1OMGFXOXVJR0ZtZEdWeVZHbGphMDl1WlNncElIdGNiaUFnSUNBZ0lHWnVMbU5oYkd3b2JuVnNiQ3dnWVhKbk1TazdYRzRnSUNBZ2ZTazdYRzRnSUdOaGMyVWdNenBjYmlBZ0lDQnlaWFIxY200Z2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobWRXNWpkR2x2YmlCaFpuUmxjbFJwWTJ0VWQyOG9LU0I3WEc0Z0lDQWdJQ0JtYmk1allXeHNLRzUxYkd3c0lHRnlaekVzSUdGeVp6SXBPMXh1SUNBZ0lIMHBPMXh1SUNCallYTmxJRFE2WEc0Z0lDQWdjbVYwZFhKdUlIQnliMk5sYzNNdWJtVjRkRlJwWTJzb1puVnVZM1JwYjI0Z1lXWjBaWEpVYVdOclZHaHlaV1VvS1NCN1hHNGdJQ0FnSUNCbWJpNWpZV3hzS0c1MWJHd3NJR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBPMXh1SUNBZ0lIMHBPMXh1SUNCa1pXWmhkV3gwT2x4dUlDQWdJR0Z5WjNNZ1BTQnVaWGNnUVhKeVlYa29iR1Z1SUMwZ01TazdYRzRnSUNBZ2FTQTlJREE3WEc0Z0lDQWdkMmhwYkdVZ0tHa2dQQ0JoY21kekxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ1lYSm5jMXRwS3l0ZElEMGdZWEpuZFcxbGJuUnpXMmxkTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NISnZZMlZ6Y3k1dVpYaDBWR2xqYXlobWRXNWpkR2x2YmlCaFpuUmxjbFJwWTJzb0tTQjdYRzRnSUNBZ0lDQm1iaTVoY0hCc2VTaHVkV3hzTENCaGNtZHpLVHRjYmlBZ0lDQjlLVHRjYmlBZ2ZWeHVmVnh1WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wcm9jZXNzLW5leHRpY2stYXJncy9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcXG52YXIgcHJvY2VzcyA9IG1vZHVsZS5leHBvcnRzID0ge307XFxuXFxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XFxuLy8gZG9uJ3QgYnJlYWsgdGhpbmdzLiAgQnV0IHdlIG5lZWQgdG8gd3JhcCBpdCBpbiBhIHRyeSBjYXRjaCBpbiBjYXNlIGl0IGlzXFxuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXFxuXFxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XFxudmFyIGNhY2hlZENsZWFyVGltZW91dDtcXG5cXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcXG59XFxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XFxufVxcbihmdW5jdGlvbiAoKSB7XFxuICAgIHRyeSB7XFxuICAgICAgICBpZiAodHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XFxuICAgICAgICB9XFxuICAgIH0gY2F0Y2ggKGUpIHtcXG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xcbiAgICB9XFxuICAgIHRyeSB7XFxuICAgICAgICBpZiAodHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcXG4gICAgICAgIH1cXG4gICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcXG4gICAgfVxcbn0gKCkpXFxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcXG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcXG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcXG4gICAgfVxcbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcXG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcXG4gICAgfVxcbiAgICB0cnkge1xcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcXG4gICAgfSBjYXRjaChlKXtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xcbiAgICAgICAgfSBjYXRjaChlKXtcXG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcXG4gICAgICAgIH1cXG4gICAgfVxcblxcblxcbn1cXG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XFxuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXFxuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XFxuICAgIH1cXG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcXG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcXG4gICAgfVxcbiAgICB0cnkge1xcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xcbiAgICB9IGNhdGNoIChlKXtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xcbiAgICAgICAgfSBjYXRjaCAoZSl7XFxuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXFxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xcbiAgICAgICAgfVxcbiAgICB9XFxuXFxuXFxuXFxufVxcbnZhciBxdWV1ZSA9IFtdO1xcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xcbnZhciBjdXJyZW50UXVldWU7XFxudmFyIHF1ZXVlSW5kZXggPSAtMTtcXG5cXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XFxuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICAgIGRyYWluaW5nID0gZmFsc2U7XFxuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XFxuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xcbiAgICB9XFxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcXG4gICAgICAgIGRyYWluUXVldWUoKTtcXG4gICAgfVxcbn1cXG5cXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xcbiAgICBpZiAoZHJhaW5pbmcpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgfVxcbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcXG4gICAgZHJhaW5pbmcgPSB0cnVlO1xcblxcbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xcbiAgICB3aGlsZShsZW4pIHtcXG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xcbiAgICAgICAgcXVldWUgPSBbXTtcXG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcXG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XFxuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XFxuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XFxuICAgIH1cXG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcXG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcXG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xcbn1cXG5cXG5wcm9jZXNzLm5leHRUaWNrID0gZnVuY3Rpb24gKGZ1bikge1xcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XFxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcXG4gICAgICAgIH1cXG4gICAgfVxcbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xcbiAgICAgICAgcnVuVGltZW91dChkcmFpblF1ZXVlKTtcXG4gICAgfVxcbn07XFxuXFxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xcbiAgICB0aGlzLmZ1biA9IGZ1bjtcXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xcbn1cXG5JdGVtLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XFxuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xcbn07XFxucHJvY2Vzcy50aXRsZSA9ICdicm93c2VyJztcXG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xcbnByb2Nlc3MuZW52ID0ge307XFxucHJvY2Vzcy5hcmd2ID0gW107XFxucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXFxucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xcblxcbmZ1bmN0aW9uIG5vb3AoKSB7fVxcblxcbnByb2Nlc3Mub24gPSBub29wO1xcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xcbnByb2Nlc3Mub25jZSA9IG5vb3A7XFxucHJvY2Vzcy5vZmYgPSBub29wO1xcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcXG5wcm9jZXNzLmVtaXQgPSBub29wO1xcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcXG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xcblxcbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cXG5cXG5wcm9jZXNzLmJpbmRpbmcgPSBmdW5jdGlvbiAobmFtZSkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XFxufTtcXG5cXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkJyk7XFxufTtcXG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2NtOWpaWE56TDJKeWIzZHpaWEl1YW5NL056WTJaU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenM3UVVGSlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNMSE5DUVVGelFqdEJRVU0zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIRkNRVUZ4UWp0QlFVTnlRanM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2NVTkJRWEZET3p0QlFVVnlRenRCUVVOQk8wRkJRMEU3TzBGQlJVRXNNa0pCUVRKQ08wRkJRek5DTzBGQlEwRTdRVUZEUVR0QlFVTkJMRFJDUVVFMFFpeFZRVUZWSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0J5YjJObGMzTXZZbkp2ZDNObGNpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHZJSE5vYVcwZ1ptOXlJSFZ6YVc1bklIQnliMk5sYzNNZ2FXNGdZbkp2ZDNObGNseHVkbUZ5SUhCeWIyTmxjM01nUFNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUh0OU8xeHVYRzR2THlCallXTm9aV1FnWm5KdmJTQjNhR0YwWlhabGNpQm5iRzlpWVd3Z2FYTWdjSEpsYzJWdWRDQnpieUIwYUdGMElIUmxjM1FnY25WdWJtVnljeUIwYUdGMElITjBkV0lnYVhSY2JpOHZJR1J2YmlkMElHSnlaV0ZySUhSb2FXNW5jeTRnSUVKMWRDQjNaU0J1WldWa0lIUnZJSGR5WVhBZ2FYUWdhVzRnWVNCMGNua2dZMkYwWTJnZ2FXNGdZMkZ6WlNCcGRDQnBjMXh1THk4Z2QzSmhjSEJsWkNCcGJpQnpkSEpwWTNRZ2JXOWtaU0JqYjJSbElIZG9hV05vSUdSdlpYTnVKM1FnWkdWbWFXNWxJR0Z1ZVNCbmJHOWlZV3h6TGlBZ1NYUW5jeUJwYm5OcFpHVWdZVnh1THk4Z1puVnVZM1JwYjI0Z1ltVmpZWFZ6WlNCMGNua3ZZMkYwWTJobGN5QmtaVzl3ZEdsdGFYcGxJR2x1SUdObGNuUmhhVzRnWlc1bmFXNWxjeTVjYmx4dWRtRnlJR05oWTJobFpGTmxkRlJwYldWdmRYUTdYRzUyWVhJZ1kyRmphR1ZrUTJ4bFlYSlVhVzFsYjNWME8xeHVYRzVtZFc1amRHbHZiaUJrWldaaGRXeDBVMlYwVkdsdGIzVjBLQ2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25jMlYwVkdsdFpXOTFkQ0JvWVhNZ2JtOTBJR0psWlc0Z1pHVm1hVzVsWkNjcE8xeHVmVnh1Wm5WdVkzUnBiMjRnWkdWbVlYVnNkRU5zWldGeVZHbHRaVzkxZENBb0tTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkamJHVmhjbFJwYldWdmRYUWdhR0Z6SUc1dmRDQmlaV1Z1SUdSbFptbHVaV1FuS1R0Y2JuMWNiaWhtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJ6WlhSVWFXMWxiM1YwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZV05vWldSVFpYUlVhVzFsYjNWMElEMGdjMlYwVkdsdFpXOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhZMmhsWkZObGRGUnBiV1Z2ZFhRZ1BTQmtaV1poZFd4MFUyVjBWR2x0YjNWME8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pTa2dlMXh1SUNBZ0lDQWdJQ0JqWVdOb1pXUlRaWFJVYVcxbGIzVjBJRDBnWkdWbVlYVnNkRk5sZEZScGJXOTFkRHRjYmlBZ0lDQjlYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamJHVmhjbFJwYldWdmRYUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaFkyaGxaRU5zWldGeVZHbHRaVzkxZENBOUlHTnNaV0Z5VkdsdFpXOTFkRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlJR1JsWm1GMWJIUkRiR1ZoY2xScGJXVnZkWFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlJR1JsWm1GMWJIUkRiR1ZoY2xScGJXVnZkWFE3WEc0Z0lDQWdmVnh1ZlNBb0tTbGNibVoxYm1OMGFXOXVJSEoxYmxScGJXVnZkWFFvWm5WdUtTQjdYRzRnSUNBZ2FXWWdLR05oWTJobFpGTmxkRlJwYldWdmRYUWdQVDA5SUhObGRGUnBiV1Z2ZFhRcElIdGNiaUFnSUNBZ0lDQWdMeTl1YjNKdFlXd2daVzUyYVhKdmJXVnVkSE1nYVc0Z2MyRnVaU0J6YVhSMVlYUnBiMjV6WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ6WlhSVWFXMWxiM1YwS0daMWJpd2dNQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lDOHZJR2xtSUhObGRGUnBiV1Z2ZFhRZ2QyRnpiaWQwSUdGMllXbHNZV0pzWlNCaWRYUWdkMkZ6SUd4aGRIUmxjaUJrWldacGJtVmtYRzRnSUNBZ2FXWWdLQ2hqWVdOb1pXUlRaWFJVYVcxbGIzVjBJRDA5UFNCa1pXWmhkV3gwVTJWMFZHbHRiM1YwSUh4OElDRmpZV05vWldSVFpYUlVhVzFsYjNWMEtTQW1KaUJ6WlhSVWFXMWxiM1YwS1NCN1hHNGdJQ0FnSUNBZ0lHTmhZMmhsWkZObGRGUnBiV1Z2ZFhRZ1BTQnpaWFJVYVcxbGIzVjBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMlYwVkdsdFpXOTFkQ2htZFc0c0lEQXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0F2THlCM2FHVnVJSGRvWlc0Z2MyOXRaV0p2WkhrZ2FHRnpJSE5qY21WM1pXUWdkMmwwYUNCelpYUlVhVzFsYjNWMElHSjFkQ0J1YnlCSkxrVXVJRzFoWkdSdVpYTnpYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpZV05vWldSVFpYUlVhVzFsYjNWMEtHWjFiaXdnTUNrN1hHNGdJQ0FnZlNCallYUmphQ2hsS1h0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRvWlc0Z2QyVWdZWEpsSUdsdUlFa3VSUzRnWW5WMElIUm9aU0J6WTNKcGNIUWdhR0Z6SUdKbFpXNGdaWFpoYkdWa0lITnZJRWt1UlM0Z1pHOWxjMjRuZENCMGNuVnpkQ0IwYUdVZ1oyeHZZbUZzSUc5aWFtVmpkQ0IzYUdWdUlHTmhiR3hsWkNCdWIzSnRZV3hzZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHTmhZMmhsWkZObGRGUnBiV1Z2ZFhRdVkyRnNiQ2h1ZFd4c0xDQm1kVzRzSURBcE8xeHVJQ0FnSUNBZ0lDQjlJR05oZEdOb0tHVXBlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMkZ0WlNCaGN5QmhZbTkyWlNCaWRYUWdkMmhsYmlCcGRDZHpJR0VnZG1WeWMybHZiaUJ2WmlCSkxrVXVJSFJvWVhRZ2JYVnpkQ0JvWVhabElIUm9aU0JuYkc5aVlXd2diMkpxWldOMElHWnZjaUFuZEdocGN5Y3NJR2h2Y0daMWJHeDVJRzkxY2lCamIyNTBaWGgwSUdOdmNuSmxZM1FnYjNSb1pYSjNhWE5sSUdsMElIZHBiR3dnZEdoeWIzY2dZU0JuYkc5aVlXd2daWEp5YjNKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpZV05vWldSVFpYUlVhVzFsYjNWMExtTmhiR3dvZEdocGN5d2dablZ1TENBd0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1WEc1OVhHNW1kVzVqZEdsdmJpQnlkVzVEYkdWaGNsUnBiV1Z2ZFhRb2JXRnlhMlZ5S1NCN1hHNGdJQ0FnYVdZZ0tHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlQVDBnWTJ4bFlYSlVhVzFsYjNWMEtTQjdYRzRnSUNBZ0lDQWdJQzh2Ym05eWJXRnNJR1Z1ZG1seWIyMWxiblJ6SUdsdUlITmhibVVnYzJsMGRXRjBhVzl1YzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTJ4bFlYSlVhVzFsYjNWMEtHMWhjbXRsY2lrN1hHNGdJQ0FnZlZ4dUlDQWdJQzh2SUdsbUlHTnNaV0Z5VkdsdFpXOTFkQ0IzWVhOdUozUWdZWFpoYVd4aFlteGxJR0oxZENCM1lYTWdiR0YwZEdWeUlHUmxabWx1WldSY2JpQWdJQ0JwWmlBb0tHTmhZMmhsWkVOc1pXRnlWR2x0Wlc5MWRDQTlQVDBnWkdWbVlYVnNkRU5zWldGeVZHbHRaVzkxZENCOGZDQWhZMkZqYUdWa1EyeGxZWEpVYVcxbGIzVjBLU0FtSmlCamJHVmhjbFJwYldWdmRYUXBJSHRjYmlBZ0lDQWdJQ0FnWTJGamFHVmtRMnhsWVhKVWFXMWxiM1YwSUQwZ1kyeGxZWEpVYVcxbGIzVjBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMnhsWVhKVWFXMWxiM1YwS0cxaGNtdGxjaWs3WEc0Z0lDQWdmVnh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUM4dklIZG9aVzRnZDJobGJpQnpiMjFsWW05a2VTQm9ZWE1nYzJOeVpYZGxaQ0IzYVhSb0lITmxkRlJwYldWdmRYUWdZblYwSUc1dklFa3VSUzRnYldGa1pHNWxjM05jYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR05oWTJobFpFTnNaV0Z5VkdsdFpXOTFkQ2h0WVhKclpYSXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVXBlMXh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyaGxiaUIzWlNCaGNtVWdhVzRnU1M1RkxpQmlkWFFnZEdobElITmpjbWx3ZENCb1lYTWdZbVZsYmlCbGRtRnNaV1FnYzI4Z1NTNUZMaUJrYjJWemJpZDBJQ0IwY25WemRDQjBhR1VnWjJ4dlltRnNJRzlpYW1WamRDQjNhR1Z1SUdOaGJHeGxaQ0J1YjNKdFlXeHNlVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOaFkyaGxaRU5zWldGeVZHbHRaVzkxZEM1allXeHNLRzUxYkd3c0lHMWhjbXRsY2lrN1hHNGdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHVXBlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMkZ0WlNCaGN5QmhZbTkyWlNCaWRYUWdkMmhsYmlCcGRDZHpJR0VnZG1WeWMybHZiaUJ2WmlCSkxrVXVJSFJvWVhRZ2JYVnpkQ0JvWVhabElIUm9aU0JuYkc5aVlXd2diMkpxWldOMElHWnZjaUFuZEdocGN5Y3NJR2h2Y0daMWJHeDVJRzkxY2lCamIyNTBaWGgwSUdOdmNuSmxZM1FnYjNSb1pYSjNhWE5sSUdsMElIZHBiR3dnZEdoeWIzY2dZU0JuYkc5aVlXd2daWEp5YjNJdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVGIyMWxJSFpsY25OcGIyNXpJRzltSUVrdVJTNGdhR0YyWlNCa2FXWm1aWEpsYm5RZ2NuVnNaWE1nWm05eUlHTnNaV0Z5VkdsdFpXOTFkQ0IyY3lCelpYUlVhVzFsYjNWMFhHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdZMkZqYUdWa1EyeGxZWEpVYVcxbGIzVjBMbU5oYkd3b2RHaHBjeXdnYldGeWEyVnlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dVhHNWNibjFjYm5aaGNpQnhkV1YxWlNBOUlGdGRPMXh1ZG1GeUlHUnlZV2x1YVc1bklEMGdabUZzYzJVN1hHNTJZWElnWTNWeWNtVnVkRkYxWlhWbE8xeHVkbUZ5SUhGMVpYVmxTVzVrWlhnZ1BTQXRNVHRjYmx4dVpuVnVZM1JwYjI0Z1kyeGxZVzVWY0U1bGVIUlVhV05yS0NrZ2UxeHVJQ0FnSUdsbUlDZ2haSEpoYVc1cGJtY2dmSHdnSVdOMWNuSmxiblJSZFdWMVpTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0FnSUdSeVlXbHVhVzVuSUQwZ1ptRnNjMlU3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblJSZFdWMVpTNXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdjWFZsZFdVZ1BTQmpkWEp5Wlc1MFVYVmxkV1V1WTI5dVkyRjBLSEYxWlhWbEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCeGRXVjFaVWx1WkdWNElEMGdMVEU3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h4ZFdWMVpTNXNaVzVuZEdncElIdGNiaUFnSUNBZ0lDQWdaSEpoYVc1UmRXVjFaU2dwTzF4dUlDQWdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdaSEpoYVc1UmRXVjFaU2dwSUh0Y2JpQWdJQ0JwWmlBb1pISmhhVzVwYm1jcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JpQWdJQ0IyWVhJZ2RHbHRaVzkxZENBOUlISjFibFJwYldWdmRYUW9ZMnhsWVc1VmNFNWxlSFJVYVdOcktUdGNiaUFnSUNCa2NtRnBibWx1WnlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnY1hWbGRXVXViR1Z1WjNSb08xeHVJQ0FnSUhkb2FXeGxLR3hsYmlrZ2UxeHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFVYVmxkV1VnUFNCeGRXVjFaVHRjYmlBZ0lDQWdJQ0FnY1hWbGRXVWdQU0JiWFR0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0NzcmNYVmxkV1ZKYm1SbGVDQThJR3hsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5SUmRXVjFaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJSZFdWMVpWdHhkV1YxWlVsdVpHVjRYUzV5ZFc0b0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnhkV1YxWlVsdVpHVjRJRDBnTFRFN1hHNGdJQ0FnSUNBZ0lHeGxiaUE5SUhGMVpYVmxMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJQ0FnWTNWeWNtVnVkRkYxWlhWbElEMGdiblZzYkR0Y2JpQWdJQ0JrY21GcGJtbHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lISjFia05zWldGeVZHbHRaVzkxZENoMGFXMWxiM1YwS1R0Y2JuMWNibHh1Y0hKdlkyVnpjeTV1WlhoMFZHbGpheUE5SUdaMWJtTjBhVzl1SUNobWRXNHBJSHRjYmlBZ0lDQjJZWElnWVhKbmN5QTlJRzVsZHlCQmNuSmhlU2hoY21kMWJXVnVkSE11YkdWdVozUm9JQzBnTVNrN1hHNGdJQ0FnYVdZZ0tHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXhLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXhPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjbWR6VzJrZ0xTQXhYU0E5SUdGeVozVnRaVzUwYzF0cFhUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeGRXVjFaUzV3ZFhOb0tHNWxkeUJKZEdWdEtHWjFiaXdnWVhKbmN5a3BPMXh1SUNBZ0lHbG1JQ2h4ZFdWMVpTNXNaVzVuZEdnZ1BUMDlJREVnSmlZZ0lXUnlZV2x1YVc1bktTQjdYRzRnSUNBZ0lDQWdJSEoxYmxScGJXVnZkWFFvWkhKaGFXNVJkV1YxWlNrN1hHNGdJQ0FnZlZ4dWZUdGNibHh1THk4Z2RqZ2diR2xyWlhNZ2NISmxaR2xqZEdsaWJHVWdiMkpxWldOMGMxeHVablZ1WTNScGIyNGdTWFJsYlNobWRXNHNJR0Z5Y21GNUtTQjdYRzRnSUNBZ2RHaHBjeTVtZFc0Z1BTQm1kVzQ3WEc0Z0lDQWdkR2hwY3k1aGNuSmhlU0E5SUdGeWNtRjVPMXh1ZlZ4dVNYUmxiUzV3Y205MGIzUjVjR1V1Y25WdUlEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFJvYVhNdVpuVnVMbUZ3Y0d4NUtHNTFiR3dzSUhSb2FYTXVZWEp5WVhrcE8xeHVmVHRjYm5CeWIyTmxjM011ZEdsMGJHVWdQU0FuWW5KdmQzTmxjaWM3WEc1d2NtOWpaWE56TG1KeWIzZHpaWElnUFNCMGNuVmxPMXh1Y0hKdlkyVnpjeTVsYm5ZZ1BTQjdmVHRjYm5CeWIyTmxjM011WVhKbmRpQTlJRnRkTzF4dWNISnZZMlZ6Y3k1MlpYSnphVzl1SUQwZ0p5YzdJQzh2SUdWdGNIUjVJSE4wY21sdVp5QjBieUJoZG05cFpDQnlaV2RsZUhBZ2FYTnpkV1Z6WEc1d2NtOWpaWE56TG5abGNuTnBiMjV6SUQwZ2UzMDdYRzVjYm1aMWJtTjBhVzl1SUc1dmIzQW9LU0I3ZlZ4dVhHNXdjbTlqWlhOekxtOXVJRDBnYm05dmNEdGNibkJ5YjJObGMzTXVZV1JrVEdsemRHVnVaWElnUFNCdWIyOXdPMXh1Y0hKdlkyVnpjeTV2Ym1ObElEMGdibTl2Y0R0Y2JuQnliMk5sYzNNdWIyWm1JRDBnYm05dmNEdGNibkJ5YjJObGMzTXVjbVZ0YjNabFRHbHpkR1Z1WlhJZ1BTQnViMjl3TzF4dWNISnZZMlZ6Y3k1eVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NZ1BTQnViMjl3TzF4dWNISnZZMlZ6Y3k1bGJXbDBJRDBnYm05dmNEdGNibkJ5YjJObGMzTXVjSEpsY0dWdVpFeHBjM1JsYm1WeUlEMGdibTl2Y0R0Y2JuQnliMk5sYzNNdWNISmxjR1Z1WkU5dVkyVk1hWE4wWlc1bGNpQTlJRzV2YjNBN1hHNWNibkJ5YjJObGMzTXViR2x6ZEdWdVpYSnpJRDBnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHNnY21WMGRYSnVJRnRkSUgxY2JseHVjSEp2WTJWemN5NWlhVzVrYVc1bklEMGdablZ1WTNScGIyNGdLRzVoYldVcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjNCeWIyTmxjM011WW1sdVpHbHVaeUJwY3lCdWIzUWdjM1Z3Y0c5eWRHVmtKeWs3WEc1OU8xeHVYRzV3Y205alpYTnpMbU4zWkNBOUlHWjFibU4wYVc5dUlDZ3BJSHNnY21WMGRYSnVJQ2N2SnlCOU8xeHVjSEp2WTJWemN5NWphR1JwY2lBOUlHWjFibU4wYVc5dUlDaGthWElwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KM0J5YjJObGMzTXVZMmhrYVhJZ2FYTWdibTkwSUhOMWNIQnZjblJsWkNjcE8xeHVmVHRjYm5CeWIyTmxjM011ZFcxaGMyc2dQU0JtZFc1amRHbHZiaWdwSUhzZ2NtVjBkWEp1SURBN0lIMDdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKipcXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cXG4gKlxcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cXG4gKi9cXG5cXG5cXG5cXG52YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24oKSB7fTtcXG5cXG5pZiAodHJ1ZSkge1xcbiAgdmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0LmpzXFxcIik7XFxuICB2YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XFxuICB2YXIgaGFzID0gRnVuY3Rpb24uY2FsbC5iaW5kKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpO1xcblxcbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgdGV4dDtcXG4gICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XFxuICAgIH1cXG4gICAgdHJ5IHtcXG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXFxuICAgICAgLy8gVGhpcyBlcnJvciB3YXMgdGhyb3duIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHN0YWNrXFxuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXFxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xcbiAgICB9IGNhdGNoICh4KSB7fVxcbiAgfTtcXG59XFxuXFxuLyoqXFxuICogQXNzZXJ0IHRoYXQgdGhlIHZhbHVlcyBtYXRjaCB3aXRoIHRoZSB0eXBlIHNwZWNzLlxcbiAqIEVycm9yIG1lc3NhZ2VzIGFyZSBtZW1vcml6ZWQgYW5kIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IHR5cGVTcGVjcyBNYXAgb2YgbmFtZSB0byBhIFJlYWN0UHJvcFR5cGVcXG4gKiBAcGFyYW0ge29iamVjdH0gdmFsdWVzIFJ1bnRpbWUgdmFsdWVzIHRoYXQgbmVlZCB0byBiZSB0eXBlLWNoZWNrZWRcXG4gKiBAcGFyYW0ge3N0cmluZ30gbG9jYXRpb24gZS5nLiBcXFwicHJvcFxcXCIsIFxcXCJjb250ZXh0XFxcIiwgXFxcImNoaWxkIGNvbnRleHRcXFwiXFxuICogQHBhcmFtIHtzdHJpbmd9IGNvbXBvbmVudE5hbWUgTmFtZSBvZiB0aGUgY29tcG9uZW50IGZvciBlcnJvciBtZXNzYWdlcy5cXG4gKiBAcGFyYW0gez9GdW5jdGlvbn0gZ2V0U3RhY2sgUmV0dXJucyB0aGUgY29tcG9uZW50IHN0YWNrLlxcbiAqIEBwcml2YXRlXFxuICovXFxuZnVuY3Rpb24gY2hlY2tQcm9wVHlwZXModHlwZVNwZWNzLCB2YWx1ZXMsIGxvY2F0aW9uLCBjb21wb25lbnROYW1lLCBnZXRTdGFjaykge1xcbiAgaWYgKHRydWUpIHtcXG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xcbiAgICAgIGlmIChoYXModHlwZVNwZWNzLCB0eXBlU3BlY05hbWUpKSB7XFxuICAgICAgICB2YXIgZXJyb3I7XFxuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xcbiAgICAgICAgLy8gZmFpbCB0aGUgcmVuZGVyIHBoYXNlIHdoZXJlIGl0IGRpZG4ndCBmYWlsIGJlZm9yZS4gU28gd2UgbG9nIGl0LlxcbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxcbiAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IGFuIGludmFyaWFudCB0aGF0IGdldHMgY2F1Z2h0LiBJdCdzIHRoZSBzYW1lXFxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIHZhciBlcnIgPSBFcnJvcihcXG4gICAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArXFxuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nXFxuICAgICAgICAgICAgKTtcXG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcXG4gICAgICAgICAgICB0aHJvdyBlcnI7XFxuICAgICAgICAgIH1cXG4gICAgICAgICAgZXJyb3IgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcXG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XFxuICAgICAgICAgIGVycm9yID0gZXg7XFxuICAgICAgICB9XFxuICAgICAgICBpZiAoZXJyb3IgJiYgIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xcbiAgICAgICAgICBwcmludFdhcm5pbmcoXFxuICAgICAgICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJyArXFxuICAgICAgICAgICAgbG9jYXRpb24gKyAnIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICtcXG4gICAgICAgICAgICAnZnVuY3Rpb24gbXVzdCByZXR1cm4gYG51bGxgIG9yIGFuIGBFcnJvcmAgYnV0IHJldHVybmVkIGEgJyArIHR5cGVvZiBlcnJvciArICcuICcgK1xcbiAgICAgICAgICAgICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICtcXG4gICAgICAgICAgICAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICtcXG4gICAgICAgICAgICAnc2hhcGUgYWxsIHJlcXVpcmUgYW4gYXJndW1lbnQpLidcXG4gICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmICEoZXJyb3IubWVzc2FnZSBpbiBsb2dnZWRUeXBlRmFpbHVyZXMpKSB7XFxuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxcbiAgICAgICAgICBsb2dnZWRUeXBlRmFpbHVyZXNbZXJyb3IubWVzc2FnZV0gPSB0cnVlO1xcblxcbiAgICAgICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjayA/IGdldFN0YWNrKCkgOiAnJztcXG5cXG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxcbiAgICAgICAgICAgICdGYWlsZWQgJyArIGxvY2F0aW9uICsgJyB0eXBlOiAnICsgZXJyb3IubWVzc2FnZSArIChzdGFjayAhPSBudWxsID8gc3RhY2sgOiAnJylcXG4gICAgICAgICAgKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLyoqXFxuICogUmVzZXRzIHdhcm5pbmcgY2FjaGUgd2hlbiB0ZXN0aW5nLlxcbiAqXFxuICogQHByaXZhdGVcXG4gKi9cXG5jaGVja1Byb3BUeXBlcy5yZXNldFdhcm5pbmdDYWNoZSA9IGZ1bmN0aW9uKCkge1xcbiAgaWYgKHRydWUpIHtcXG4gICAgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XFxuICB9XFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gY2hlY2tQcm9wVHlwZXM7XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3Y205d0xYUjVjR1Z6TDJOb1pXTnJVSEp2Y0ZSNWNHVnpMbXB6UDJSa01tSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWaE96dEJRVVZpT3p0QlFVVkJMRWxCUVVrc1NVRkJjVU03UVVGRGVrTXNOa0pCUVRaQ0xHMUNRVUZQTEVOQlFVTXNlVVpCUVRSQ08wRkJRMnBGTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEZWQlFWVTdRVUZEY2tJN1FVRkRRVHRCUVVOQk8wRkJRMEVzVFVGQlRTeEpRVUZ4UXp0QlFVTXpRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTkVkQlFUUkhPMEZCUXpWSE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNa1JCUVRKRU8wRkJRek5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1RVRkJUU3hKUVVGeFF6dEJRVU16UXp0QlFVTkJPMEZCUTBFN08wRkJSVUVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjSEp2Y0MxMGVYQmxjeTlqYUdWamExQnliM0JVZVhCbGN5NXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFekxYQnlaWE5sYm5Rc0lFWmhZMlZpYjI5ckxDQkpibU11WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1RVbFVJR3hwWTJWdWMyVWdabTkxYm1RZ2FXNGdkR2hsWEc0Z0tpQk1TVU5GVGxORklHWnBiR1VnYVc0Z2RHaGxJSEp2YjNRZ1pHbHlaV04wYjNKNUlHOW1JSFJvYVhNZ2MyOTFjbU5sSUhSeVpXVXVYRzRnS2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnY0hKcGJuUlhZWEp1YVc1bklEMGdablZ1WTNScGIyNG9LU0I3ZlR0Y2JseHVhV1lnS0hCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lDRTlQU0FuY0hKdlpIVmpkR2x2YmljcElIdGNiaUFnZG1GeUlGSmxZV04wVUhKdmNGUjVjR1Z6VTJWamNtVjBJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZVbVZoWTNSUWNtOXdWSGx3WlhOVFpXTnlaWFFuS1R0Y2JpQWdkbUZ5SUd4dloyZGxaRlI1Y0dWR1lXbHNkWEpsY3lBOUlIdDlPMXh1SUNCMllYSWdhR0Z6SUQwZ1JuVnVZM1JwYjI0dVkyRnNiQzVpYVc1a0tFOWlhbVZqZEM1d2NtOTBiM1I1Y0dVdWFHRnpUM2R1VUhKdmNHVnlkSGtwTzF4dVhHNGdJSEJ5YVc1MFYyRnlibWx1WnlBOUlHWjFibU4wYVc5dUtIUmxlSFFwSUh0Y2JpQWdJQ0IyWVhJZ2JXVnpjMkZuWlNBOUlDZFhZWEp1YVc1bk9pQW5JQ3NnZEdWNGREdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTnZibk52YkdVZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG1WeWNtOXlLRzFsYzNOaFoyVXBPMXh1SUNBZ0lIMWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdMeThnTFMwdElGZGxiR052YldVZ2RHOGdaR1ZpZFdkbmFXNW5JRkpsWVdOMElDMHRMVnh1SUNBZ0lDQWdMeThnVkdocGN5Qmxjbkp2Y2lCM1lYTWdkR2h5YjNkdUlHRnpJR0VnWTI5dWRtVnVhV1Z1WTJVZ2MyOGdkR2hoZENCNWIzVWdZMkZ1SUhWelpTQjBhR2x6SUhOMFlXTnJYRzRnSUNBZ0lDQXZMeUIwYnlCbWFXNWtJSFJvWlNCallXeHNjMmwwWlNCMGFHRjBJR05oZFhObFpDQjBhR2x6SUhkaGNtNXBibWNnZEc4Z1ptbHlaUzVjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaHRaWE56WVdkbEtUdGNiaUFnSUNCOUlHTmhkR05vSUNoNEtTQjdmVnh1SUNCOU8xeHVmVnh1WEc0dktpcGNiaUFxSUVGemMyVnlkQ0IwYUdGMElIUm9aU0IyWVd4MVpYTWdiV0YwWTJnZ2QybDBhQ0IwYUdVZ2RIbHdaU0J6Y0dWamN5NWNiaUFxSUVWeWNtOXlJRzFsYzNOaFoyVnpJR0Z5WlNCdFpXMXZjbWw2WldRZ1lXNWtJSGRwYkd3Z2IyNXNlU0JpWlNCemFHOTNiaUJ2Ym1ObExseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCMGVYQmxVM0JsWTNNZ1RXRndJRzltSUc1aGJXVWdkRzhnWVNCU1pXRmpkRkJ5YjNCVWVYQmxYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnZG1Gc2RXVnpJRkoxYm5ScGJXVWdkbUZzZFdWeklIUm9ZWFFnYm1WbFpDQjBieUJpWlNCMGVYQmxMV05vWldOclpXUmNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JzYjJOaGRHbHZiaUJsTG1jdUlGd2ljSEp2Y0Z3aUxDQmNJbU52Ym5SbGVIUmNJaXdnWENKamFHbHNaQ0JqYjI1MFpYaDBYQ0pjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCamIyMXdiMjVsYm5ST1lXMWxJRTVoYldVZ2IyWWdkR2hsSUdOdmJYQnZibVZ1ZENCbWIzSWdaWEp5YjNJZ2JXVnpjMkZuWlhNdVhHNGdLaUJBY0dGeVlXMGdlejlHZFc1amRHbHZibjBnWjJWMFUzUmhZMnNnVW1WMGRYSnVjeUIwYUdVZ1kyOXRjRzl1Wlc1MElITjBZV05yTGx4dUlDb2dRSEJ5YVhaaGRHVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1kyaGxZMnRRY205d1ZIbHdaWE1vZEhsd1pWTndaV056TENCMllXeDFaWE1zSUd4dlkyRjBhVzl1TENCamIyMXdiMjVsYm5ST1lXMWxMQ0JuWlhSVGRHRmpheWtnZTF4dUlDQnBaaUFvY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUhSNWNHVlRjR1ZqVG1GdFpTQnBiaUIwZVhCbFUzQmxZM01wSUh0Y2JpQWdJQ0FnSUdsbUlDaG9ZWE1vZEhsd1pWTndaV056TENCMGVYQmxVM0JsWTA1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmxjbkp2Y2p0Y2JpQWdJQ0FnSUNBZ0x5OGdVSEp2Y0NCMGVYQmxJSFpoYkdsa1lYUnBiMjRnYldGNUlIUm9jbTkzTGlCSmJpQmpZWE5sSUhSb1pYa2daRzhzSUhkbElHUnZiaWQwSUhkaGJuUWdkRzljYmlBZ0lDQWdJQ0FnTHk4Z1ptRnBiQ0IwYUdVZ2NtVnVaR1Z5SUhCb1lYTmxJSGRvWlhKbElHbDBJR1JwWkc0bmRDQm1ZV2xzSUdKbFptOXlaUzRnVTI4Z2QyVWdiRzluSUdsMExseHVJQ0FnSUNBZ0lDQXZMeUJCWm5SbGNpQjBhR1Z6WlNCb1lYWmxJR0psWlc0Z1kyeGxZVzVsWkNCMWNDd2dkMlVuYkd3Z2JHVjBJSFJvWlcwZ2RHaHliM2N1WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCcGJuUmxiblJwYjI1aGJHeDVJR0Z1SUdsdWRtRnlhV0Z1ZENCMGFHRjBJR2RsZEhNZ1kyRjFaMmgwTGlCSmRDZHpJSFJvWlNCellXMWxYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ltVm9ZWFpwYjNJZ1lYTWdkMmwwYUc5MWRDQjBhR2x6SUhOMFlYUmxiV1Z1ZENCbGVHTmxjSFFnZDJsMGFDQmhJR0psZEhSbGNpQnRaWE56WVdkbExseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnZEhsd1pWTndaV056VzNSNWNHVlRjR1ZqVG1GdFpWMGdJVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmxjbklnUFNCRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdLR052YlhCdmJtVnVkRTVoYldVZ2ZId2dKMUpsWVdOMElHTnNZWE56SnlrZ0t5QW5PaUFuSUNzZ2JHOWpZWFJwYjI0Z0t5QW5JSFI1Y0dVZ1lDY2dLeUIwZVhCbFUzQmxZMDVoYldVZ0t5QW5ZQ0JwY3lCcGJuWmhiR2xrT3lBbklDdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0oybDBJRzExYzNRZ1ltVWdZU0JtZFc1amRHbHZiaXdnZFhOMVlXeHNlU0JtY205dElIUm9aU0JnY0hKdmNDMTBlWEJsYzJBZ2NHRmphMkZuWlN3Z1luVjBJSEpsWTJWcGRtVmtJR0FuSUNzZ2RIbHdaVzltSUhSNWNHVlRjR1ZqYzF0MGVYQmxVM0JsWTA1aGJXVmRJQ3NnSjJBdUoxeHVJQ0FnSUNBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y2k1dVlXMWxJRDBnSjBsdWRtRnlhV0Z1ZENCV2FXOXNZWFJwYjI0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2daWEp5TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0JsY25KdmNpQTlJSFI1Y0dWVGNHVmpjMXQwZVhCbFUzQmxZMDVoYldWZEtIWmhiSFZsY3l3Z2RIbHdaVk53WldOT1lXMWxMQ0JqYjIxd2IyNWxiblJPWVcxbExDQnNiMk5oZEdsdmJpd2diblZzYkN3Z1VtVmhZM1JRY205d1ZIbHdaWE5UWldOeVpYUXBPMXh1SUNBZ0lDQWdJQ0I5SUdOaGRHTm9JQ2hsZUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUlEMGdaWGc3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2FXWWdLR1Z5Y205eUlDWW1JQ0VvWlhKeWIzSWdhVzV6ZEdGdVkyVnZaaUJGY25KdmNpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCd2NtbHVkRmRoY201cGJtY29YRzRnSUNBZ0lDQWdJQ0FnSUNBb1kyOXRjRzl1Wlc1MFRtRnRaU0I4ZkNBblVtVmhZM1FnWTJ4aGMzTW5LU0FySUNjNklIUjVjR1VnYzNCbFkybG1hV05oZEdsdmJpQnZaaUFuSUN0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3h2WTJGMGFXOXVJQ3NnSnlCZ0p5QXJJSFI1Y0dWVGNHVmpUbUZ0WlNBcklDZGdJR2x6SUdsdWRtRnNhV1E3SUhSb1pTQjBlWEJsSUdOb1pXTnJaWElnSnlBclhHNGdJQ0FnSUNBZ0lDQWdJQ0FuWm5WdVkzUnBiMjRnYlhWemRDQnlaWFIxY200Z1lHNTFiR3hnSUc5eUlHRnVJR0JGY25KdmNtQWdZblYwSUhKbGRIVnlibVZrSUdFZ0p5QXJJSFI1Y0dWdlppQmxjbkp2Y2lBcklDY3VJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdKMWx2ZFNCdFlYa2dhR0YyWlNCbWIzSm5iM1IwWlc0Z2RHOGdjR0Z6Y3lCaGJpQmhjbWQxYldWdWRDQjBieUIwYUdVZ2RIbHdaU0JqYUdWamEyVnlJQ2NnSzF4dUlDQWdJQ0FnSUNBZ0lDQWdKMk55WldGMGIzSWdLR0Z5Y21GNVQyWXNJR2x1YzNSaGJtTmxUMllzSUc5aWFtVmpkRTltTENCdmJtVlBaaXdnYjI1bFQyWlVlWEJsTENCaGJtUWdKeUFyWEc0Z0lDQWdJQ0FnSUNBZ0lDQW5jMmhoY0dVZ1lXeHNJSEpsY1hWcGNtVWdZVzRnWVhKbmRXMWxiblFwTGlkY2JpQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaGxjbkp2Y2lCcGJuTjBZVzVqWlc5bUlFVnljbTl5SUNZbUlDRW9aWEp5YjNJdWJXVnpjMkZuWlNCcGJpQnNiMmRuWldSVWVYQmxSbUZwYkhWeVpYTXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCdGIyNXBkRzl5SUhSb2FYTWdabUZwYkhWeVpTQnZibU5sSUdKbFkyRjFjMlVnZEdobGNtVWdkR1Z1WkhNZ2RHOGdZbVVnWVNCc2IzUWdiMllnZEdobFhHNGdJQ0FnSUNBZ0lDQWdMeThnYzJGdFpTQmxjbkp2Y2k1Y2JpQWdJQ0FnSUNBZ0lDQnNiMmRuWldSVWVYQmxSbUZwYkhWeVpYTmJaWEp5YjNJdWJXVnpjMkZuWlYwZ1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhOMFlXTnJJRDBnWjJWMFUzUmhZMnNnUHlCblpYUlRkR0ZqYXlncElEb2dKeWM3WEc1Y2JpQWdJQ0FnSUNBZ0lDQndjbWx1ZEZkaGNtNXBibWNvWEc0Z0lDQWdJQ0FnSUNBZ0lDQW5SbUZwYkdWa0lDY2dLeUJzYjJOaGRHbHZiaUFySUNjZ2RIbHdaVG9nSnlBcklHVnljbTl5TG0xbGMzTmhaMlVnS3lBb2MzUmhZMnNnSVQwZ2JuVnNiQ0EvSUhOMFlXTnJJRG9nSnljcFhHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUZKbGMyVjBjeUIzWVhKdWFXNW5JR05oWTJobElIZG9aVzRnZEdWemRHbHVaeTVjYmlBcVhHNGdLaUJBY0hKcGRtRjBaVnh1SUNvdlhHNWphR1ZqYTFCeWIzQlVlWEJsY3k1eVpYTmxkRmRoY201cGJtZERZV05vWlNBOUlHWjFibU4wYVc5dUtDa2dlMXh1SUNCcFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQWdJR3h2WjJkbFpGUjVjR1ZHWVdsc2RYSmxjeUE5SUh0OU8xeHVJQ0I5WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdZMmhsWTJ0UWNtOXdWSGx3WlhNN1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyoqXFxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXFxuICpcXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuICovXFxuXFxuXFxuXFxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2NtOXdMWFI1Y0dWekwyeHBZaTlTWldGamRGQnliM0JVZVhCbGMxTmxZM0psZEM1cWN6ODVPVEEzSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZZVHM3UVVGRllqczdRVUZGUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl3Y205d0xYUjVjR1Z6TDJ4cFlpOVNaV0ZqZEZCeWIzQlVlWEJsYzFObFkzSmxkQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERXpMWEJ5WlhObGJuUXNJRVpoWTJWaWIyOXJMQ0JKYm1NdVhHNGdLbHh1SUNvZ1ZHaHBjeUJ6YjNWeVkyVWdZMjlrWlNCcGN5QnNhV05sYm5ObFpDQjFibVJsY2lCMGFHVWdUVWxVSUd4cFkyVnVjMlVnWm05MWJtUWdhVzRnZEdobFhHNGdLaUJNU1VORlRsTkZJR1pwYkdVZ2FXNGdkR2hsSUhKdmIzUWdaR2x5WldOMGIzSjVJRzltSUhSb2FYTWdjMjkxY21ObElIUnlaV1V1WEc0Z0tpOWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzUyWVhJZ1VtVmhZM1JRY205d1ZIbHdaWE5UWldOeVpYUWdQU0FuVTBWRFVrVlVYMFJQWDA1UFZGOVFRVk5UWDFSSVNWTmZUMUpmV1U5VlgxZEpURXhmUWtWZlJrbFNSVVFuTzF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGSmxZV04wVUhKdmNGUjVjR1Z6VTJWamNtVjBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiZXhwb3J0cy5wdWJsaWNFbmNyeXB0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9wdWJsaWNFbmNyeXB0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wdWJsaWNFbmNyeXB0LmpzXFxcIilcXG5leHBvcnRzLnByaXZhdGVEZWNyeXB0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9wcml2YXRlRGVjcnlwdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvcHJpdmF0ZURlY3J5cHQuanNcXFwiKVxcblxcbmV4cG9ydHMucHJpdmF0ZUVuY3J5cHQgPSBmdW5jdGlvbiBwcml2YXRlRW5jcnlwdCAoa2V5LCBidWYpIHtcXG4gIHJldHVybiBleHBvcnRzLnB1YmxpY0VuY3J5cHQoa2V5LCBidWYsIHRydWUpXFxufVxcblxcbmV4cG9ydHMucHVibGljRGVjcnlwdCA9IGZ1bmN0aW9uIHB1YmxpY0RlY3J5cHQgKGtleSwgYnVmKSB7XFxuICByZXR1cm4gZXhwb3J0cy5wcml2YXRlRGVjcnlwdChrZXksIGJ1ZiwgdHJ1ZSlcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3ZFdKc2FXTXRaVzVqY25sd2RDOWljbTkzYzJWeUxtcHpQMk0wWmpjaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNkMEpCUVhkQ0xHMUNRVUZQTEVOQlFVTXNkVVZCUVdsQ08wRkJRMnBFTEhsQ1FVRjVRaXh0UWtGQlR5eERRVUZETEhsRlFVRnJRanM3UVVGRmJrUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzlpY205M2MyVnlMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMGN5NXdkV0pzYVdORmJtTnllWEIwSUQwZ2NtVnhkV2x5WlNnbkxpOXdkV0pzYVdORmJtTnllWEIwSnlsY2JtVjRjRzl5ZEhNdWNISnBkbUYwWlVSbFkzSjVjSFFnUFNCeVpYRjFhWEpsS0NjdUwzQnlhWFpoZEdWRVpXTnllWEIwSnlsY2JseHVaWGh3YjNKMGN5NXdjbWwyWVhSbFJXNWpjbmx3ZENBOUlHWjFibU4wYVc5dUlIQnlhWFpoZEdWRmJtTnllWEIwSUNoclpYa3NJR0oxWmlrZ2UxeHVJQ0J5WlhSMWNtNGdaWGh3YjNKMGN5NXdkV0pzYVdORmJtTnllWEIwS0d0bGVTd2dZblZtTENCMGNuVmxLVnh1ZlZ4dVhHNWxlSEJ2Y25SekxuQjFZbXhwWTBSbFkzSjVjSFFnUFNCbWRXNWpkR2x2YmlCd2RXSnNhV05FWldOeWVYQjBJQ2hyWlhrc0lHSjFaaWtnZTF4dUlDQnlaWFIxY200Z1pYaHdiM0owY3k1d2NtbDJZWFJsUkdWamNubHdkQ2hyWlhrc0lHSjFaaXdnZEhKMVpTbGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9tZ2YuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L21nZi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBjcmVhdGVIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChzZWVkLCBsZW4pIHtcXG4gIHZhciB0ID0gQnVmZmVyLmFsbG9jKDApXFxuICB2YXIgaSA9IDBcXG4gIHZhciBjXFxuICB3aGlsZSAodC5sZW5ndGggPCBsZW4pIHtcXG4gICAgYyA9IGkyb3BzKGkrKylcXG4gICAgdCA9IEJ1ZmZlci5jb25jYXQoW3QsIGNyZWF0ZUhhc2goJ3NoYTEnKS51cGRhdGUoc2VlZCkudXBkYXRlKGMpLmRpZ2VzdCgpXSlcXG4gIH1cXG4gIHJldHVybiB0LnNsaWNlKDAsIGxlbilcXG59XFxuXFxuZnVuY3Rpb24gaTJvcHMgKGMpIHtcXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoNClcXG4gIG91dC53cml0ZVVJbnQzMkJFKGMsIDApXFxuICByZXR1cm4gb3V0XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzl0WjJZdWFuTS9PVFZpTkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5d3dSRUZCWVR0QlFVTjBReXhoUVVGaExHMUNRVUZQTEVOQlFVTXNkMFJCUVdFN08wRkJSV3hETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjSFZpYkdsakxXVnVZM0o1Y0hRdmJXZG1MbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdOeVpXRjBaVWhoYzJnZ1BTQnlaWEYxYVhKbEtDZGpjbVZoZEdVdGFHRnphQ2NwWEc1MllYSWdRblZtWm1WeUlEMGdjbVZ4ZFdseVpTZ25jMkZtWlMxaWRXWm1aWEluS1M1Q2RXWm1aWEpjYmx4dWJXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlBb2MyVmxaQ3dnYkdWdUtTQjdYRzRnSUhaaGNpQjBJRDBnUW5WbVptVnlMbUZzYkc5aktEQXBYRzRnSUhaaGNpQnBJRDBnTUZ4dUlDQjJZWElnWTF4dUlDQjNhR2xzWlNBb2RDNXNaVzVuZEdnZ1BDQnNaVzRwSUh0Y2JpQWdJQ0JqSUQwZ2FUSnZjSE1vYVNzcktWeHVJQ0FnSUhRZ1BTQkNkV1ptWlhJdVkyOXVZMkYwS0Z0MExDQmpjbVZoZEdWSVlYTm9LQ2R6YUdFeEp5a3VkWEJrWVhSbEtITmxaV1FwTG5Wd1pHRjBaU2hqS1M1a2FXZGxjM1FvS1YwcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhRdWMyeHBZMlVvTUN3Z2JHVnVLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBNbTl3Y3lBb1l5a2dlMXh1SUNCMllYSWdiM1YwSUQwZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabEtEUXBYRzRnSUc5MWRDNTNjbWwwWlZWSmJuUXpNa0pGS0dNc0lEQXBYRzRnSUhKbGRIVnliaUJ2ZFhSY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L21nZi5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvbm9kZV9tb2R1bGVzL2JuLmpzL2xpYi9ibi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovKGZ1bmN0aW9uKG1vZHVsZSkgeyhmdW5jdGlvbiAobW9kdWxlLCBleHBvcnRzKSB7XFxuICAndXNlIHN0cmljdCc7XFxuXFxuICAvLyBVdGlsc1xcbiAgZnVuY3Rpb24gYXNzZXJ0ICh2YWwsIG1zZykge1xcbiAgICBpZiAoIXZhbCkgdGhyb3cgbmV3IEVycm9yKG1zZyB8fCAnQXNzZXJ0aW9uIGZhaWxlZCcpO1xcbiAgfVxcblxcbiAgLy8gQ291bGQgdXNlIGBpbmhlcml0c2AgbW9kdWxlLCBidXQgZG9uJ3Qgd2FudCB0byBtb3ZlIGZyb20gc2luZ2xlIGZpbGVcXG4gIC8vIGFyY2hpdGVjdHVyZSB5ZXQuXFxuICBmdW5jdGlvbiBpbmhlcml0cyAoY3Rvciwgc3VwZXJDdG9yKSB7XFxuICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yO1xcbiAgICB2YXIgVGVtcEN0b3IgPSBmdW5jdGlvbiAoKSB7fTtcXG4gICAgVGVtcEN0b3IucHJvdG90eXBlID0gc3VwZXJDdG9yLnByb3RvdHlwZTtcXG4gICAgY3Rvci5wcm90b3R5cGUgPSBuZXcgVGVtcEN0b3IoKTtcXG4gICAgY3Rvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjdG9yO1xcbiAgfVxcblxcbiAgLy8gQk5cXG5cXG4gIGZ1bmN0aW9uIEJOIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAoQk4uaXNCTihudW1iZXIpKSB7XFxuICAgICAgcmV0dXJuIG51bWJlcjtcXG4gICAgfVxcblxcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgdGhpcy53b3JkcyA9IG51bGw7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG5cXG4gICAgLy8gUmVkdWN0aW9uIGNvbnRleHRcXG4gICAgdGhpcy5yZWQgPSBudWxsO1xcblxcbiAgICBpZiAobnVtYmVyICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGJhc2UgPT09ICdsZScgfHwgYmFzZSA9PT0gJ2JlJykge1xcbiAgICAgICAgZW5kaWFuID0gYmFzZTtcXG4gICAgICAgIGJhc2UgPSAxMDtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5faW5pdChudW1iZXIgfHwgMCwgYmFzZSB8fCAxMCwgZW5kaWFuIHx8ICdiZScpO1xcbiAgICB9XFxuICB9XFxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpIHtcXG4gICAgbW9kdWxlLmV4cG9ydHMgPSBCTjtcXG4gIH0gZWxzZSB7XFxuICAgIGV4cG9ydHMuQk4gPSBCTjtcXG4gIH1cXG5cXG4gIEJOLkJOID0gQk47XFxuICBCTi53b3JkU2l6ZSA9IDI2O1xcblxcbiAgdmFyIEJ1ZmZlcjtcXG4gIHRyeSB7XFxuICAgIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJ1ZmZlciAqLyAxNCkuQnVmZmVyO1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgfVxcblxcbiAgQk4uaXNCTiA9IGZ1bmN0aW9uIGlzQk4gKG51bSkge1xcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVtICE9PSBudWxsICYmIHR5cGVvZiBudW0gPT09ICdvYmplY3QnICYmXFxuICAgICAgbnVtLmNvbnN0cnVjdG9yLndvcmRTaXplID09PSBCTi53b3JkU2l6ZSAmJiBBcnJheS5pc0FycmF5KG51bS53b3Jkcyk7XFxuICB9O1xcblxcbiAgQk4ubWF4ID0gZnVuY3Rpb24gbWF4IChsZWZ0LCByaWdodCkge1xcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XFxuICAgIHJldHVybiByaWdodDtcXG4gIH07XFxuXFxuICBCTi5taW4gPSBmdW5jdGlvbiBtaW4gKGxlZnQsIHJpZ2h0KSB7XFxuICAgIGlmIChsZWZ0LmNtcChyaWdodCkgPCAwKSByZXR1cm4gbGVmdDtcXG4gICAgcmV0dXJuIHJpZ2h0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XFxuICAgIGlmICh0eXBlb2YgbnVtYmVyID09PSAnbnVtYmVyJykge1xcbiAgICAgIHJldHVybiB0aGlzLl9pbml0TnVtYmVyKG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG51bWJlciA9PT0gJ29iamVjdCcpIHtcXG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcXG4gICAgfVxcblxcbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBiYXNlID0gMTY7XFxuICAgIH1cXG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xcblxcbiAgICBudW1iZXIgPSBudW1iZXIudG9TdHJpbmcoKS5yZXBsYWNlKC9cXFxccysvZywgJycpO1xcbiAgICB2YXIgc3RhcnQgPSAwO1xcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICBzdGFydCsrO1xcbiAgICB9XFxuXFxuICAgIGlmIChiYXNlID09PSAxNikge1xcbiAgICAgIHRoaXMuX3BhcnNlSGV4KG51bWJlciwgc3RhcnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnN0cmlwKCk7XFxuXFxuICAgIGlmIChlbmRpYW4gIT09ICdsZScpIHJldHVybjtcXG5cXG4gICAgdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLCBiYXNlLCBlbmRpYW4pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faW5pdE51bWJlciA9IGZ1bmN0aW9uIF9pbml0TnVtYmVyIChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICBpZiAobnVtYmVyIDwgMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIG51bWJlciA9IC1udW1iZXI7XFxuICAgIH1cXG4gICAgaWYgKG51bWJlciA8IDB4NDAwMDAwMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIG51bWJlciAmIDB4M2ZmZmZmZiBdO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XFxuICAgICAgdGhpcy53b3JkcyA9IFtcXG4gICAgICAgIG51bWJlciAmIDB4M2ZmZmZmZixcXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXNzZXJ0KG51bWJlciA8IDB4MjAwMDAwMDAwMDAwMDApOyAvLyAyIF4gNTMgKHVuc2FmZSlcXG4gICAgICB0aGlzLndvcmRzID0gW1xcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxcbiAgICAgICAgKG51bWJlciAvIDB4NDAwMDAwMCkgJiAweDNmZmZmZmYsXFxuICAgICAgICAxXFxuICAgICAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDM7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVuZGlhbiAhPT0gJ2xlJykgcmV0dXJuO1xcblxcbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xcbiAgICB0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksIGJhc2UsIGVuZGlhbik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9pbml0QXJyYXkgPSBmdW5jdGlvbiBfaW5pdEFycmF5IChudW1iZXIsIGJhc2UsIGVuZGlhbikge1xcbiAgICAvLyBQZXJoYXBzIGEgVWludDhBcnJheVxcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcXG4gICAgaWYgKG51bWJlci5sZW5ndGggPD0gMCkge1xcbiAgICAgIHRoaXMud29yZHMgPSBbIDAgXTtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgdmFyIGosIHc7XFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBpZiAoZW5kaWFuID09PSAnYmUnKSB7XFxuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSAtIDFdIDw8IDgpIHwgKG51bWJlcltpIC0gMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChlbmRpYW4gPT09ICdsZScpIHtcXG4gICAgICBmb3IgKGkgPSAwLCBqID0gMDsgaSA8IG51bWJlci5sZW5ndGg7IGkgKz0gMykge1xcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XFxuICAgICAgICBvZmYgKz0gMjQ7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaisrO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHBhcnNlSGV4IChzdHIsIHN0YXJ0LCBlbmQpIHtcXG4gICAgdmFyIHIgPSAwO1xcbiAgICB2YXIgbGVuID0gTWF0aC5taW4oc3RyLmxlbmd0aCwgZW5kKTtcXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XFxuXFxuICAgICAgciA8PD0gNDtcXG5cXG4gICAgICAvLyAnYScgLSAnZidcXG4gICAgICBpZiAoYyA+PSA0OSAmJiBjIDw9IDU0KSB7XFxuICAgICAgICByIHw9IGMgLSA0OSArIDB4YTtcXG5cXG4gICAgICAvLyAnQScgLSAnRidcXG4gICAgICB9IGVsc2UgaWYgKGMgPj0gMTcgJiYgYyA8PSAyMikge1xcbiAgICAgICAgciB8PSBjIC0gMTcgKyAweGE7XFxuXFxuICAgICAgLy8gJzAnIC0gJzknXFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHIgfD0gYyAmIDB4ZjtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgcmV0dXJuIHI7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUuX3BhcnNlSGV4ID0gZnVuY3Rpb24gX3BhcnNlSGV4IChudW1iZXIsIHN0YXJ0KSB7XFxuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXFxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5jZWlsKChudW1iZXIubGVuZ3RoIC0gc3RhcnQpIC8gNik7XFxuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgaiwgdztcXG4gICAgLy8gU2NhbiAyNC1iaXQgY2h1bmtzIGFuZCBhZGQgdGhlbSB0byB0aGUgbnVtYmVyXFxuICAgIHZhciBvZmYgPSAwO1xcbiAgICBmb3IgKGkgPSBudW1iZXIubGVuZ3RoIC0gNiwgaiA9IDA7IGkgPj0gc3RhcnQ7IGkgLT0gNikge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIGksIGkgKyA2KTtcXG4gICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XFxuICAgICAgLy8gTk9URTogYDB4M2ZmZmZmYCBpcyBpbnRlbnRpb25hbCBoZXJlLCAyNmJpdHMgbWF4IHNoaWZ0ICsgMjRiaXQgaGV4IGxpbWJcXG4gICAgICB0aGlzLndvcmRzW2ogKyAxXSB8PSB3ID4+PiAoMjYgLSBvZmYpICYgMHgzZmZmZmY7XFxuICAgICAgb2ZmICs9IDI0O1xcbiAgICAgIGlmIChvZmYgPj0gMjYpIHtcXG4gICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgIGorKztcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKGkgKyA2ICE9PSBzdGFydCkge1xcbiAgICAgIHcgPSBwYXJzZUhleChudW1iZXIsIHN0YXJ0LCBpICsgNik7XFxuICAgICAgdGhpcy53b3Jkc1tqXSB8PSAodyA8PCBvZmYpICYgMHgzZmZmZmZmO1xcbiAgICAgIHRoaXMud29yZHNbaiArIDFdIHw9IHcgPj4+ICgyNiAtIG9mZikgJiAweDNmZmZmZjtcXG4gICAgfVxcbiAgICB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gcGFyc2VCYXNlIChzdHIsIHN0YXJ0LCBlbmQsIG11bCkge1xcbiAgICB2YXIgciA9IDA7XFxuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIHZhciBjID0gc3RyLmNoYXJDb2RlQXQoaSkgLSA0ODtcXG5cXG4gICAgICByICo9IG11bDtcXG5cXG4gICAgICAvLyAnYSdcXG4gICAgICBpZiAoYyA+PSA0OSkge1xcbiAgICAgICAgciArPSBjIC0gNDkgKyAweGE7XFxuXFxuICAgICAgLy8gJ0EnXFxuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XFxuICAgICAgICByICs9IGMgLSAxNyArIDB4YTtcXG5cXG4gICAgICAvLyAnMCcgLSAnOSdcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgciArPSBjO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG5cXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xcbiAgICAvLyBJbml0aWFsaXplIGFzIHplcm9cXG4gICAgdGhpcy53b3JkcyA9IFsgMCBdO1xcbiAgICB0aGlzLmxlbmd0aCA9IDE7XFxuXFxuICAgIC8vIEZpbmQgbGVuZ3RoIG9mIGxpbWIgaW4gYmFzZVxcbiAgICBmb3IgKHZhciBsaW1iTGVuID0gMCwgbGltYlBvdyA9IDE7IGxpbWJQb3cgPD0gMHgzZmZmZmZmOyBsaW1iUG93ICo9IGJhc2UpIHtcXG4gICAgICBsaW1iTGVuKys7XFxuICAgIH1cXG4gICAgbGltYkxlbi0tO1xcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XFxuXFxuICAgIHZhciB0b3RhbCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcXG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcXG4gICAgdmFyIGVuZCA9IE1hdGgubWluKHRvdGFsLCB0b3RhbCAtIG1vZCkgKyBzdGFydDtcXG5cXG4gICAgdmFyIHdvcmQgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gbGltYkxlbikge1xcbiAgICAgIHdvcmQgPSBwYXJzZUJhc2UobnVtYmVyLCBpLCBpICsgbGltYkxlbiwgYmFzZSk7XFxuXFxuICAgICAgdGhpcy5pbXVsbihsaW1iUG93KTtcXG4gICAgICBpZiAodGhpcy53b3Jkc1swXSArIHdvcmQgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGhpcy5faWFkZG4od29yZCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChtb2QgIT09IDApIHtcXG4gICAgICB2YXIgcG93ID0gMTtcXG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgbnVtYmVyLmxlbmd0aCwgYmFzZSk7XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IG1vZDsgaSsrKSB7XFxuICAgICAgICBwb3cgKj0gYmFzZTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhpcy5pbXVsbihwb3cpO1xcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSArPSB3b3JkO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRlc3QpIHtcXG4gICAgZGVzdC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIGRlc3Qud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICB9XFxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XFxuICAgIGRlc3QubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xcbiAgICBkZXN0LnJlZCA9IHRoaXMucmVkO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uIGNsb25lICgpIHtcXG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRoaXMuY29weShyKTtcXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9leHBhbmQgPSBmdW5jdGlvbiBfZXhwYW5kIChzaXplKSB7XFxuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcXG4gICAgd2hpbGUgKHRoaXMubGVuZ3RoID4gMSAmJiB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gPT09IDApIHtcXG4gICAgICB0aGlzLmxlbmd0aC0tO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5fbm9ybVNpZ24gPSBmdW5jdGlvbiBfbm9ybVNpZ24gKCkge1xcbiAgICAvLyAtMCA9IDBcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcXG4gIH07XFxuXFxuICAvKlxcblxcbiAgdmFyIHplcm9zID0gW107XFxuICB2YXIgZ3JvdXBTaXplcyA9IFtdO1xcbiAgdmFyIGdyb3VwQmFzZXMgPSBbXTtcXG5cXG4gIHZhciBzID0gJyc7XFxuICB2YXIgaSA9IC0xO1xcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XFxuICAgIHplcm9zW2ldID0gcztcXG4gICAgcyArPSAnMCc7XFxuICB9XFxuICBncm91cFNpemVzWzBdID0gMDtcXG4gIGdyb3VwU2l6ZXNbMV0gPSAwO1xcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XFxuICBncm91cEJhc2VzWzFdID0gMDtcXG4gIHZhciBiYXNlID0gMiAtIDE7XFxuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XFxuICAgIHZhciBncm91cFNpemUgPSAwO1xcbiAgICB2YXIgZ3JvdXBCYXNlID0gMTtcXG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcXG4gICAgICBncm91cEJhc2UgKj0gYmFzZTtcXG4gICAgICBncm91cFNpemUgKz0gMTtcXG4gICAgfVxcbiAgICBncm91cFNpemVzW2Jhc2VdID0gZ3JvdXBTaXplO1xcbiAgICBncm91cEJhc2VzW2Jhc2VdID0gZ3JvdXBCYXNlO1xcbiAgfVxcblxcbiAgKi9cXG5cXG4gIHZhciB6ZXJvcyA9IFtcXG4gICAgJycsXFxuICAgICcwJyxcXG4gICAgJzAwJyxcXG4gICAgJzAwMCcsXFxuICAgICcwMDAwJyxcXG4gICAgJzAwMDAwJyxcXG4gICAgJzAwMDAwMCcsXFxuICAgICcwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcXG4gICAgJzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xcbiAgXTtcXG5cXG4gIHZhciBncm91cFNpemVzID0gW1xcbiAgICAwLCAwLFxcbiAgICAyNSwgMTYsIDEyLCAxMSwgMTAsIDksIDgsXFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXFxuICAgIDYsIDYsIDYsIDYsIDYsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsXFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcXG4gIF07XFxuXFxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcXG4gICAgMCwgMCxcXG4gICAgMzM1NTQ0MzIsIDQzMDQ2NzIxLCAxNjc3NzIxNiwgNDg4MjgxMjUsIDYwNDY2MTc2LCA0MDM1MzYwNywgMTY3NzcyMTYsXFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXFxuICAgIDE2Nzc3MjE2LCAyNDEzNzU2OSwgMzQwMTIyMjQsIDQ3MDQ1ODgxLCA2NDAwMDAwMCwgNDA4NDEwMSwgNTE1MzYzMixcXG4gICAgNjQzNjM0MywgNzk2MjYyNCwgOTc2NTYyNSwgMTE4ODEzNzYsIDE0MzQ4OTA3LCAxNzIxMDM2OCwgMjA1MTExNDksXFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XFxuICBdO1xcblxcbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcXG4gICAgYmFzZSA9IGJhc2UgfHwgMTA7XFxuICAgIHBhZGRpbmcgPSBwYWRkaW5nIHwgMCB8fCAxO1xcblxcbiAgICB2YXIgb3V0O1xcbiAgICBpZiAoYmFzZSA9PT0gMTYgfHwgYmFzZSA9PT0gJ2hleCcpIHtcXG4gICAgICBvdXQgPSAnJztcXG4gICAgICB2YXIgb2ZmID0gMDtcXG4gICAgICB2YXIgY2FycnkgPSAwO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIHcgPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgICAgdmFyIHdvcmQgPSAoKCh3IDw8IG9mZikgfCBjYXJyeSkgJiAweGZmZmZmZikudG9TdHJpbmcoMTYpO1xcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcXG4gICAgICAgIGlmIChjYXJyeSAhPT0gMCB8fCBpICE9PSB0aGlzLmxlbmd0aCAtIDEpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbNiAtIHdvcmQubGVuZ3RoXSArIHdvcmQgKyBvdXQ7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBvdXQgPSB3b3JkICsgb3V0O1xcbiAgICAgICAgfVxcbiAgICAgICAgb2ZmICs9IDI7XFxuICAgICAgICBpZiAob2ZmID49IDI2KSB7XFxuICAgICAgICAgIG9mZiAtPSAyNjtcXG4gICAgICAgICAgaS0tO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICAgIG91dCA9IGNhcnJ5LnRvU3RyaW5nKDE2KSArIG91dDtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgICBvdXQgPSAnLScgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHJldHVybiBvdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcXG4gICAgICAvLyB2YXIgZ3JvdXBTaXplID0gTWF0aC5mbG9vcihCTi53b3JkU2l6ZSAqIE1hdGguTE4yIC8gTWF0aC5sb2coYmFzZSkpO1xcbiAgICAgIHZhciBncm91cFNpemUgPSBncm91cFNpemVzW2Jhc2VdO1xcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xcbiAgICAgIHZhciBncm91cEJhc2UgPSBncm91cEJhc2VzW2Jhc2VdO1xcbiAgICAgIG91dCA9ICcnO1xcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xcbiAgICAgIGMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHdoaWxlICghYy5pc1plcm8oKSkge1xcbiAgICAgICAgdmFyIHIgPSBjLm1vZG4oZ3JvdXBCYXNlKS50b1N0cmluZyhiYXNlKTtcXG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XFxuXFxuICAgICAgICBpZiAoIWMuaXNaZXJvKCkpIHtcXG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIG91dCA9IHIgKyBvdXQ7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XFxuICAgICAgfVxcbiAgICAgIHdoaWxlIChvdXQubGVuZ3RoICUgcGFkZGluZyAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xcbiAgICAgIH1cXG4gICAgICByZXR1cm4gb3V0O1xcbiAgICB9XFxuXFxuICAgIGFzc2VydChmYWxzZSwgJ0Jhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYnKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9OdW1iZXIgPSBmdW5jdGlvbiB0b051bWJlciAoKSB7XFxuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDIpIHtcXG4gICAgICByZXQgKz0gdGhpcy53b3Jkc1sxXSAqIDB4NDAwMDAwMDtcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XFxuICAgICAgLy8gTk9URTogYXQgdGhpcyBzdGFnZSBpdCBpcyBrbm93biB0aGF0IHRoZSB0b3AgYml0IGlzIHNldFxcbiAgICAgIHJldCArPSAweDEwMDAwMDAwMDAwMDAwICsgKHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDApO1xcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xcbiAgICAgIGFzc2VydChmYWxzZSwgJ051bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cycpO1xcbiAgICB9XFxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xcbiAgICByZXR1cm4gdGhpcy50b1N0cmluZygxNik7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XFxuICAgIGFzc2VydCh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJyk7XFxuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEJ1ZmZlciwgZW5kaWFuLCBsZW5ndGgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gdG9BcnJheSAoZW5kaWFuLCBsZW5ndGgpIHtcXG4gICAgcmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksIGVuZGlhbiwgbGVuZ3RoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9BcnJheUxpa2UgPSBmdW5jdGlvbiB0b0FycmF5TGlrZSAoQXJyYXlUeXBlLCBlbmRpYW4sIGxlbmd0aCkge1xcbiAgICB2YXIgYnl0ZUxlbmd0aCA9IHRoaXMuYnl0ZUxlbmd0aCgpO1xcbiAgICB2YXIgcmVxTGVuZ3RoID0gbGVuZ3RoIHx8IE1hdGgubWF4KDEsIGJ5dGVMZW5ndGgpO1xcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XFxuICAgIGFzc2VydChyZXFMZW5ndGggPiAwLCAnUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwJyk7XFxuXFxuICAgIHRoaXMuc3RyaXAoKTtcXG4gICAgdmFyIGxpdHRsZUVuZGlhbiA9IGVuZGlhbiA9PT0gJ2xlJztcXG4gICAgdmFyIHJlcyA9IG5ldyBBcnJheVR5cGUocmVxTGVuZ3RoKTtcXG5cXG4gICAgdmFyIGIsIGk7XFxuICAgIHZhciBxID0gdGhpcy5jbG9uZSgpO1xcbiAgICBpZiAoIWxpdHRsZUVuZGlhbikge1xcbiAgICAgIC8vIEFzc3VtZSBiaWctZW5kaWFuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHJlcUxlbmd0aCAtIGJ5dGVMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgIXEuaXNaZXJvKCk7IGkrKykge1xcbiAgICAgICAgYiA9IHEuYW5kbG4oMHhmZik7XFxuICAgICAgICBxLml1c2hybig4KTtcXG5cXG4gICAgICAgIHJlc1tyZXFMZW5ndGggLSBpIC0gMV0gPSBiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBmb3IgKGkgPSAwOyAhcS5pc1plcm8oKTsgaSsrKSB7XFxuICAgICAgICBiID0gcS5hbmRsbigweGZmKTtcXG4gICAgICAgIHEuaXVzaHJuKDgpO1xcblxcbiAgICAgICAgcmVzW2ldID0gYjtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yICg7IGkgPCByZXFMZW5ndGg7IGkrKykge1xcbiAgICAgICAgcmVzW2ldID0gMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBpZiAoTWF0aC5jbHozMikge1xcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcXG4gICAgICByZXR1cm4gMzIgLSBNYXRoLmNsejMyKHcpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgQk4ucHJvdG90eXBlLl9jb3VudEJpdHMgPSBmdW5jdGlvbiBfY291bnRCaXRzICh3KSB7XFxuICAgICAgdmFyIHQgPSB3O1xcbiAgICAgIHZhciByID0gMDtcXG4gICAgICBpZiAodCA+PSAweDEwMDApIHtcXG4gICAgICAgIHIgKz0gMTM7XFxuICAgICAgICB0ID4+Pj0gMTM7XFxuICAgICAgfVxcbiAgICAgIGlmICh0ID49IDB4NDApIHtcXG4gICAgICAgIHIgKz0gNztcXG4gICAgICAgIHQgPj4+PSA3O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDgpIHtcXG4gICAgICAgIHIgKz0gNDtcXG4gICAgICAgIHQgPj4+PSA0O1xcbiAgICAgIH1cXG4gICAgICBpZiAodCA+PSAweDAyKSB7XFxuICAgICAgICByICs9IDI7XFxuICAgICAgICB0ID4+Pj0gMjtcXG4gICAgICB9XFxuICAgICAgcmV0dXJuIHIgKyB0O1xcbiAgICB9O1xcbiAgfVxcblxcbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xcbiAgICAvLyBTaG9ydC1jdXRcXG4gICAgaWYgKHcgPT09IDApIHJldHVybiAyNjtcXG5cXG4gICAgdmFyIHQgPSB3O1xcbiAgICB2YXIgciA9IDA7XFxuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcXG4gICAgICByICs9IDEzO1xcbiAgICAgIHQgPj4+PSAxMztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweDdmKSA9PT0gMCkge1xcbiAgICAgIHIgKz0gNztcXG4gICAgICB0ID4+Pj0gNztcXG4gICAgfVxcbiAgICBpZiAoKHQgJiAweGYpID09PSAwKSB7XFxuICAgICAgciArPSA0O1xcbiAgICAgIHQgPj4+PSA0O1xcbiAgICB9XFxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcXG4gICAgICByICs9IDI7XFxuICAgICAgdCA+Pj49IDI7XFxuICAgIH1cXG4gICAgaWYgKCh0ICYgMHgxKSA9PT0gMCkge1xcbiAgICAgIHIrKztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbnVtYmVyIG9mIHVzZWQgYml0cyBpbiBhIEJOXFxuICBCTi5wcm90b3R5cGUuYml0TGVuZ3RoID0gZnVuY3Rpb24gYml0TGVuZ3RoICgpIHtcXG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XFxuICAgIHZhciBoaSA9IHRoaXMuX2NvdW50Qml0cyh3KTtcXG4gICAgcmV0dXJuICh0aGlzLmxlbmd0aCAtIDEpICogMjYgKyBoaTtcXG4gIH07XFxuXFxuICBmdW5jdGlvbiB0b0JpdEFycmF5IChudW0pIHtcXG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcXG5cXG4gICAgZm9yICh2YXIgYml0ID0gMDsgYml0IDwgdy5sZW5ndGg7IGJpdCsrKSB7XFxuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xcbiAgICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdICYgKDEgPDwgd2JpdCkpID4+PiB3Yml0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3O1xcbiAgfVxcblxcbiAgLy8gTnVtYmVyIG9mIHRyYWlsaW5nIHplcm8gYml0c1xcbiAgQk4ucHJvdG90eXBlLnplcm9CaXRzID0gZnVuY3Rpb24gemVyb0JpdHMgKCkge1xcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XFxuXFxuICAgIHZhciByID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGIgPSB0aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2ldKTtcXG4gICAgICByICs9IGI7XFxuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuYnl0ZUxlbmd0aCA9IGZ1bmN0aW9uIGJ5dGVMZW5ndGggKCkge1xcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHJldHVybiB0aGlzLmFicygpLmlub3RuKHdpZHRoKS5pYWRkbigxKTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5mcm9tVHdvcyA9IGZ1bmN0aW9uIGZyb21Ud29zICh3aWR0aCkge1xcbiAgICBpZiAodGhpcy50ZXN0bih3aWR0aCAtIDEpKSB7XFxuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmlzTmVnID0gZnVuY3Rpb24gaXNOZWcgKCkge1xcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXFxuICBCTi5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmluZWcgPSBmdW5jdGlvbiBpbmVnICgpIHtcXG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSBePSAxO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXVvciA9IGZ1bmN0aW9uIGl1b3IgKG51bSkge1xcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XFxuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSB8IG51bS53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pb3IgPSBmdW5jdGlvbiBpb3IgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xcbiAgfTtcXG5cXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUub3IgPSBmdW5jdGlvbiBvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaW9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVvcihudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVvcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcXG4gICAgLy8gYiA9IG1pbi1sZW5ndGgobnVtLCB0aGlzKVxcbiAgICB2YXIgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYiA9IHRoaXM7XFxuICAgIH1cXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gJiBudW0ud29yZHNbaV07XFxuICAgIH1cXG5cXG4gICAgdGhpcy5sZW5ndGggPSBiLmxlbmd0aDtcXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFuZCA9IGZ1bmN0aW9uIGlhbmQgKG51bSkge1xcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVhbmQobnVtKTtcXG4gIH07XFxuXFxuICAvLyBBbmQgYG51bWAgd2l0aCBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hbmQgPSBmdW5jdGlvbiBhbmQgKG51bSkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVhbmQgPSBmdW5jdGlvbiB1YW5kIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdWFuZChudW0pO1xcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXV4b3IgPSBmdW5jdGlvbiBpdXhvciAobnVtKSB7XFxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcXG4gICAgdmFyIGE7XFxuICAgIHZhciBiO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XFxuICAgICAgYSA9IHRoaXM7XFxuICAgICAgYiA9IG51bTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhID0gbnVtO1xcbiAgICAgIGIgPSB0aGlzO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldIF4gYi53b3Jkc1tpXTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcyAhPT0gYSkge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHRoaXMubGVuZ3RoID0gYS5sZW5ndGg7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcXG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XFxuICAgIHJldHVybiB0aGlzLml1eG9yKG51bSk7XFxuICB9O1xcblxcbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgXFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5peG9yKG51bSk7XFxuICAgIHJldHVybiBudW0uY2xvbmUoKS5peG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS51eG9yID0gZnVuY3Rpb24gdXhvciAobnVtKSB7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1eG9yKHRoaXMpO1xcbiAgfTtcXG5cXG4gIC8vIE5vdCBgYHRoaXNgYCB3aXRoIGBgd2lkdGhgYCBiaXR3aWR0aFxcbiAgQk4ucHJvdG90eXBlLmlub3RuID0gZnVuY3Rpb24gaW5vdG4gKHdpZHRoKSB7XFxuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xcblxcbiAgICB2YXIgYnl0ZXNOZWVkZWQgPSBNYXRoLmNlaWwod2lkdGggLyAyNikgfCAwO1xcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xcblxcbiAgICAvLyBFeHRlbmQgdGhlIGJ1ZmZlciB3aXRoIGxlYWRpbmcgemVyb2VzXFxuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XFxuXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICBieXRlc05lZWRlZC0tO1xcbiAgICB9XFxuXFxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ5dGVzTmVlZGVkOyBpKyspIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gSGFuZGxlIHRoZSByZXNpZHVlXFxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gfnRoaXMud29yZHNbaV0gJiAoMHgzZmZmZmZmID4+ICgyNiAtIGJpdHNMZWZ0KSk7XFxuICAgIH1cXG5cXG4gICAgLy8gQW5kIHJlbW92ZSBsZWFkaW5nIHplcm9lc1xcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ub3RuID0gZnVuY3Rpb24gbm90biAod2lkdGgpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih3aWR0aCk7XFxuICB9O1xcblxcbiAgLy8gU2V0IGBiaXRgIG9mIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicgJiYgYml0ID49IDApO1xcblxcbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XFxuICAgIHZhciB3Yml0ID0gYml0ICUgMjY7XFxuXFxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcXG5cXG4gICAgaWYgKHZhbCkge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSAmIH4oMSA8PCB3Yml0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pYWRkID0gZnVuY3Rpb24gaWFkZCAobnVtKSB7XFxuICAgIHZhciByO1xcblxcbiAgICAvLyBuZWdhdGl2ZSArIHBvc2l0aXZlXFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHIgPSB0aGlzLmlzdWIobnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XFxuXFxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcXG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDA7XFxuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xcbiAgICAgIG51bS5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XFxuICAgIH1cXG5cXG4gICAgLy8gYS5sZW5ndGggPiBiLmxlbmd0aFxcbiAgICB2YXIgYSwgYjtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICBjYXJyeSA9IHIgPj4+IDI2O1xcbiAgICB9XFxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgIHIgPSAoYS53b3Jkc1tpXSB8IDApICsgY2Fycnk7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgY2FycnkgPSByID4+PiAyNjtcXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoXSA9IGNhcnJ5O1xcbiAgICAgIHRoaXMubGVuZ3RoKys7XFxuICAgIC8vIENvcHkgdGhlIHJlc3Qgb2YgdGhlIHdvcmRzXFxuICAgIH0gZWxzZSBpZiAoYSAhPT0gdGhpcykge1xcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IGEud29yZHNbaV07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIEFkZCBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAobnVtLm5lZ2F0aXZlICE9PSAwICYmIHRoaXMubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IHRoaXMuc3ViKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlIF49IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfSBlbHNlIGlmIChudW0ubmVnYXRpdmUgPT09IDAgJiYgdGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGQobnVtKTtcXG5cXG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLmlhZGQodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gU3VidHJhY3QgYG51bWAgZnJvbSBgdGhpc2AgaW4tcGxhY2VcXG4gIEJOLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAobnVtKSB7XFxuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXFxuICAgIGlmIChudW0ubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XFxuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gci5fbm9ybVNpZ24oKTtcXG5cXG4gICAgLy8gLXRoaXMgLSBudW0gPSAtKHRoaXMgKyBudW0pXFxuICAgIH0gZWxzZSBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZChudW0pO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xcbiAgICB9XFxuXFxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxcbiAgICB2YXIgY21wID0gdGhpcy5jbXAobnVtKTtcXG5cXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XFxuICAgICAgdGhpcy5sZW5ndGggPSAxO1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHJldHVybiB0aGlzO1xcbiAgICB9XFxuXFxuICAgIC8vIGEgPiBiXFxuICAgIHZhciBhLCBiO1xcbiAgICBpZiAoY21wID4gMCkge1xcbiAgICAgIGEgPSB0aGlzO1xcbiAgICAgIGIgPSBudW07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IG51bTtcXG4gICAgICBiID0gdGhpcztcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGIubGVuZ3RoOyBpKyspIHtcXG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSAtIChiLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XFxuICAgIH1cXG5cXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xcbiAgICBpZiAoY2FycnkgPT09IDAgJiYgaSA8IGEubGVuZ3RoICYmIGEgIT09IHRoaXMpIHtcXG4gICAgICBmb3IgKDsgaSA8IGEubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpKTtcXG5cXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXFxuICBCTi5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gc21hbGxNdWxUbyAoc2VsZiwgbnVtLCBvdXQpIHtcXG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcXG4gICAgdmFyIGxlbiA9IChzZWxmLmxlbmd0aCArIG51bS5sZW5ndGgpIHwgMDtcXG4gICAgb3V0Lmxlbmd0aCA9IGxlbjtcXG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcXG5cXG4gICAgLy8gUGVlbCBvbmUgaXRlcmF0aW9uIChjb21waWxlciBjYW4ndCBkbyBpdCwgYmVjYXVzZSBvZiBjb2RlIGNvbXBsZXhpdHkpXFxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XFxuICAgIHZhciBiID0gbnVtLndvcmRzWzBdIHwgMDtcXG4gICAgdmFyIHIgPSBhICogYjtcXG5cXG4gICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgdmFyIGNhcnJ5ID0gKHIgLyAweDQwMDAwMDApIHwgMDtcXG4gICAgb3V0LndvcmRzWzBdID0gbG87XFxuXFxuICAgIGZvciAodmFyIGsgPSAxOyBrIDwgbGVuOyBrKyspIHtcXG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcXG4gICAgICB2YXIgbmNhcnJ5ID0gY2FycnkgPj4+IDI2O1xcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xcbiAgICAgIGZvciAodmFyIGogPSBNYXRoLm1heCgwLCBrIC0gc2VsZi5sZW5ndGggKyAxKTsgaiA8PSBtYXhKOyBqKyspIHtcXG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XFxuICAgICAgICBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICBiID0gbnVtLndvcmRzW2pdIHwgMDtcXG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xcbiAgICAgICAgbmNhcnJ5ICs9IChyIC8gMHg0MDAwMDAwKSB8IDA7XFxuICAgICAgICByd29yZCA9IHIgJiAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkIHwgMDtcXG4gICAgICBjYXJyeSA9IG5jYXJyeSB8IDA7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2FycnkgfCAwO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG91dC5sZW5ndGgtLTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gb3V0LnN0cmlwKCk7XFxuICB9XFxuXFxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxcbiAgLy8gdG8gd29yayB3aXRoIDI1Ni1iaXQgbnVtYmVycywgb3RoZXJ3aXNlIGl0IGdpdmVzIDIwJSBpbXByb3ZlbWVudCBmb3IgMjU2LWJpdFxcbiAgLy8gbXVsdGlwbGljYXRpb24gKGxpa2UgZWxsaXB0aWMgc2VjcDI1NmsxKS5cXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xcbiAgICB2YXIgYSA9IHNlbGYud29yZHM7XFxuICAgIHZhciBiID0gbnVtLndvcmRzO1xcbiAgICB2YXIgbyA9IG91dC53b3JkcztcXG4gICAgdmFyIGMgPSAwO1xcbiAgICB2YXIgbG87XFxuICAgIHZhciBtaWQ7XFxuICAgIHZhciBoaTtcXG4gICAgdmFyIGEwID0gYVswXSB8IDA7XFxuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMCA9IGEwID4+PiAxMztcXG4gICAgdmFyIGExID0gYVsxXSB8IDA7XFxuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMSA9IGExID4+PiAxMztcXG4gICAgdmFyIGEyID0gYVsyXSB8IDA7XFxuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMiA9IGEyID4+PiAxMztcXG4gICAgdmFyIGEzID0gYVszXSB8IDA7XFxuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoMyA9IGEzID4+PiAxMztcXG4gICAgdmFyIGE0ID0gYVs0XSB8IDA7XFxuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNCA9IGE0ID4+PiAxMztcXG4gICAgdmFyIGE1ID0gYVs1XSB8IDA7XFxuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNSA9IGE1ID4+PiAxMztcXG4gICAgdmFyIGE2ID0gYVs2XSB8IDA7XFxuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNiA9IGE2ID4+PiAxMztcXG4gICAgdmFyIGE3ID0gYVs3XSB8IDA7XFxuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcXG4gICAgdmFyIGFoNyA9IGE3ID4+PiAxMztcXG4gICAgdmFyIGE4ID0gYVs4XSB8IDA7XFxuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOCA9IGE4ID4+PiAxMztcXG4gICAgdmFyIGE5ID0gYVs5XSB8IDA7XFxuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcXG4gICAgdmFyIGFoOSA9IGE5ID4+PiAxMztcXG4gICAgdmFyIGIwID0gYlswXSB8IDA7XFxuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMCA9IGIwID4+PiAxMztcXG4gICAgdmFyIGIxID0gYlsxXSB8IDA7XFxuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMSA9IGIxID4+PiAxMztcXG4gICAgdmFyIGIyID0gYlsyXSB8IDA7XFxuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMiA9IGIyID4+PiAxMztcXG4gICAgdmFyIGIzID0gYlszXSB8IDA7XFxuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoMyA9IGIzID4+PiAxMztcXG4gICAgdmFyIGI0ID0gYls0XSB8IDA7XFxuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNCA9IGI0ID4+PiAxMztcXG4gICAgdmFyIGI1ID0gYls1XSB8IDA7XFxuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNSA9IGI1ID4+PiAxMztcXG4gICAgdmFyIGI2ID0gYls2XSB8IDA7XFxuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNiA9IGI2ID4+PiAxMztcXG4gICAgdmFyIGI3ID0gYls3XSB8IDA7XFxuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcXG4gICAgdmFyIGJoNyA9IGI3ID4+PiAxMztcXG4gICAgdmFyIGI4ID0gYls4XSB8IDA7XFxuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOCA9IGI4ID4+PiAxMztcXG4gICAgdmFyIGI5ID0gYls5XSB8IDA7XFxuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcXG4gICAgdmFyIGJoOSA9IGI5ID4+PiAxMztcXG5cXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcXG4gICAgb3V0Lmxlbmd0aCA9IDE5O1xcbiAgICAvKiBrID0gMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDAsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcXG4gICAgdmFyIHcwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsMSwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWgxLCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XFxuICAgIHZhciB3MSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxID4+PiAyNikpIHwgMDtcXG4gICAgdzEgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDIsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDIpKSB8IDA7XFxuICAgIHZhciB3MiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcXG4gICAgdzIgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDMsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcXG4gICAgdmFyIHczID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA0ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNCwgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg0LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XFxuICAgIHZhciB3NCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc0ID4+PiAyNikpIHwgMDtcXG4gICAgdzQgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDUsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDUpKSB8IDA7XFxuICAgIHZhciB3NSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcXG4gICAgdzUgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDYsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcXG4gICAgdmFyIHc2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzYgPj4+IDI2KSkgfCAwO1xcbiAgICB3NiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSA3ICovXFxuICAgIGxvID0gTWF0aC5pbXVsKGFsNywgYmwwKTtcXG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMCkpIHwgMDtcXG4gICAgaGkgPSBNYXRoLmltdWwoYWg3LCBiaDApO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgyKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDMpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgzKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg1KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNSkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDYpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg2KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoNykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XFxuICAgIHZhciB3NyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc3ID4+PiAyNikpIHwgMDtcXG4gICAgdzcgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDgsIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOCwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgxLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDAsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDgpKSB8IDA7XFxuICAgIHZhciB3OCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcXG4gICAgdzggJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gOSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDApKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDEpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgxKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDIpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHc5ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xcbiAgICBjID0gKCgoaGkgKyAobWlkID4+PiAxMykpIHwgMCkgKyAodzkgPj4+IDI2KSkgfCAwO1xcbiAgICB3OSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDEpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgxKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDIpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDIpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMykpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDMpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw0KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNCkpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwyLCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDEsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgxLCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTAgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTEgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDIpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwyKSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmwzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgzKSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoMykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg0LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDMsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDIsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDMpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDQpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg0KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDUpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxMiA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMiA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxMiAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxMyAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNCk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDQpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg0KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDUpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDUpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNikpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDYpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw3KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNykpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw1LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDQsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg0LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTMgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTQgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDUpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw1KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg2KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoNikpIHwgMDtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg3LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDYsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNSwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDUsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNCAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNSAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNik7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDYpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDcpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg3KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOCkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDgpKSB8IDA7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNSA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNSA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNSAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxNiAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNyk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDcpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg3KTtcXG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw4LCBiaDgpKSB8IDA7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDgpKSB8IDA7XFxuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDcsIGJsOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOSkpIHwgMDtcXG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcXG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg3LCBiaDkpKSB8IDA7XFxuICAgIHZhciB3MTYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XFxuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xcbiAgICB3MTYgJj0gMHgzZmZmZmZmO1xcbiAgICAvKiBrID0gMTcgKi9cXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xcbiAgICBtaWQgPSBNYXRoLmltdWwoYWw5LCBiaDgpO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw4KSkgfCAwO1xcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XFxuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsOCwgYmw5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg5KSkgfCAwO1xcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDgsIGJoOSkpIHwgMDtcXG4gICAgdmFyIHcxNyA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxNyAmPSAweDNmZmZmZmY7XFxuICAgIC8qIGsgPSAxOCAqL1xcbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XFxuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOSk7XFxuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg5LCBibDkpKSB8IDA7XFxuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcXG4gICAgdmFyIHcxOCA9ICgoKGMgKyBsbykgfCAwKSArICgobWlkICYgMHgxZmZmKSA8PCAxMykpIHwgMDtcXG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxOCA+Pj4gMjYpKSB8IDA7XFxuICAgIHcxOCAmPSAweDNmZmZmZmY7XFxuICAgIG9bMF0gPSB3MDtcXG4gICAgb1sxXSA9IHcxO1xcbiAgICBvWzJdID0gdzI7XFxuICAgIG9bM10gPSB3MztcXG4gICAgb1s0XSA9IHc0O1xcbiAgICBvWzVdID0gdzU7XFxuICAgIG9bNl0gPSB3NjtcXG4gICAgb1s3XSA9IHc3O1xcbiAgICBvWzhdID0gdzg7XFxuICAgIG9bOV0gPSB3OTtcXG4gICAgb1sxMF0gPSB3MTA7XFxuICAgIG9bMTFdID0gdzExO1xcbiAgICBvWzEyXSA9IHcxMjtcXG4gICAgb1sxM10gPSB3MTM7XFxuICAgIG9bMTRdID0gdzE0O1xcbiAgICBvWzE1XSA9IHcxNTtcXG4gICAgb1sxNl0gPSB3MTY7XFxuICAgIG9bMTddID0gdzE3O1xcbiAgICBvWzE4XSA9IHcxODtcXG4gICAgaWYgKGMgIT09IDApIHtcXG4gICAgICBvWzE5XSA9IGM7XFxuICAgICAgb3V0Lmxlbmd0aCsrO1xcbiAgICB9XFxuICAgIHJldHVybiBvdXQ7XFxuICB9O1xcblxcbiAgLy8gUG9seWZpbGwgY29tYlxcbiAgaWYgKCFNYXRoLmltdWwpIHtcXG4gICAgY29tYjEwTXVsVG8gPSBzbWFsbE11bFRvO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gYmlnTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XFxuICAgIG91dC5sZW5ndGggPSBzZWxmLmxlbmd0aCArIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIHZhciBobmNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgayA9IDA7IGsgPCBvdXQubGVuZ3RoIC0gMTsgaysrKSB7XFxuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxcbiAgICAgIC8vIG5vdGUgdGhhdCBuY2FycnkgY291bGQgYmUgPj0gMHgzZmZmZmZmXFxuICAgICAgdmFyIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgICAgaG5jYXJyeSA9IDA7XFxuICAgICAgdmFyIHJ3b3JkID0gY2FycnkgJiAweDNmZmZmZmY7XFxuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XFxuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xcbiAgICAgICAgdmFyIGkgPSBrIC0gajtcXG4gICAgICAgIHZhciBhID0gc2VsZi53b3Jkc1tpXSB8IDA7XFxuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XFxuICAgICAgICB2YXIgciA9IGEgKiBiO1xcblxcbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcXG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAoKHIgLyAweDQwMDAwMDApIHwgMCkpIHwgMDtcXG4gICAgICAgIGxvID0gKGxvICsgcndvcmQpIHwgMDtcXG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XFxuICAgICAgICBuY2FycnkgPSAobmNhcnJ5ICsgKGxvID4+PiAyNikpIHwgMDtcXG5cXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcXG4gICAgICAgIG5jYXJyeSAmPSAweDNmZmZmZmY7XFxuICAgICAgfVxcbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xcbiAgICAgIGNhcnJ5ID0gbmNhcnJ5O1xcbiAgICAgIG5jYXJyeSA9IGhuY2Fycnk7XFxuICAgIH1cXG4gICAgaWYgKGNhcnJ5ICE9PSAwKSB7XFxuICAgICAgb3V0LndvcmRzW2tdID0gY2Fycnk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgb3V0Lmxlbmd0aC0tO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBvdXQuc3RyaXAoKTtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XFxuICAgIHZhciBmZnRtID0gbmV3IEZGVE0oKTtcXG4gICAgcmV0dXJuIGZmdG0ubXVscChzZWxmLCBudW0sIG91dCk7XFxuICB9XFxuXFxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcXG4gICAgdmFyIHJlcztcXG4gICAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aDtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xcbiAgICAgIHJlcyA9IGNvbWIxME11bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gICAgfSBlbHNlIGlmIChsZW4gPCA2Mykge1xcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xcbiAgICB9IGVsc2UgaWYgKGxlbiA8IDEwMjQpIHtcXG4gICAgICByZXMgPSBiaWdNdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0ganVtYm9NdWxUbyh0aGlzLCBudW0sIG91dCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBDb29sZXktVHVrZXkgYWxnb3JpdGhtIGZvciBGRlRcXG4gIC8vIHNsaWdodGx5IHJldmlzaXRlZCB0byByZWx5IG9uIGxvb3BpbmcgaW5zdGVhZCBvZiByZWN1cnNpb25cXG5cXG4gIGZ1bmN0aW9uIEZGVE0gKHgsIHkpIHtcXG4gICAgdGhpcy54ID0geDtcXG4gICAgdGhpcy55ID0geTtcXG4gIH1cXG5cXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XFxuICAgIHZhciB0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbCA9IEJOLnByb3RvdHlwZS5fY291bnRCaXRzKE4pIC0gMTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICB0W2ldID0gdGhpcy5yZXZCaW4oaSwgbCwgTik7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHQ7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJucyBiaW5hcnktcmV2ZXJzZWQgcmVwcmVzZW50YXRpb24gb2YgYHhgXFxuICBGRlRNLnByb3RvdHlwZS5yZXZCaW4gPSBmdW5jdGlvbiByZXZCaW4gKHgsIGwsIE4pIHtcXG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xcblxcbiAgICB2YXIgcmIgPSAwO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xcbiAgICAgIHJiIHw9ICh4ICYgMSkgPDwgKGwgLSBpIC0gMSk7XFxuICAgICAgeCA+Pj0gMTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gcmI7XFxuICB9O1xcblxcbiAgLy8gUGVyZm9ybXMgXFxcInR3ZWVkbGluZ1xcXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xcbiAgLy8gYmVoYXZpb3VyIG9mIHRoZSByZWN1cnNpdmUgYWxnb3JpdGhtXFxuICBGRlRNLnByb3RvdHlwZS5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZSAocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTikge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xcbiAgICAgIHJ0d3NbaV0gPSByd3NbcmJ0W2ldXTtcXG4gICAgICBpdHdzW2ldID0gaXdzW3JidFtpXV07XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcXG4gICAgdGhpcy5wZXJtdXRlKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pO1xcblxcbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcXG4gICAgICB2YXIgbCA9IHMgPDwgMTtcXG5cXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xcbiAgICAgIHZhciBpdHdkZiA9IE1hdGguc2luKDIgKiBNYXRoLlBJIC8gbCk7XFxuXFxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcXG4gICAgICAgIHZhciBydHdkZl8gPSBydHdkZjtcXG4gICAgICAgIHZhciBpdHdkZl8gPSBpdHdkZjtcXG5cXG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgczsgaisrKSB7XFxuICAgICAgICAgIHZhciByZSA9IHJ0d3NbcCArIGpdO1xcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcXG5cXG4gICAgICAgICAgdmFyIHJvID0gcnR3c1twICsgaiArIHNdO1xcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XFxuXFxuICAgICAgICAgIHZhciByeCA9IHJ0d2RmXyAqIHJvIC0gaXR3ZGZfICogaW87XFxuXFxuICAgICAgICAgIGlvID0gcnR3ZGZfICogaW8gKyBpdHdkZl8gKiBybztcXG4gICAgICAgICAgcm8gPSByeDtcXG5cXG4gICAgICAgICAgcnR3c1twICsgal0gPSByZSArIHJvO1xcbiAgICAgICAgICBpdHdzW3AgKyBqXSA9IGllICsgaW87XFxuXFxuICAgICAgICAgIHJ0d3NbcCArIGogKyBzXSA9IHJlIC0gcm87XFxuICAgICAgICAgIGl0d3NbcCArIGogKyBzXSA9IGllIC0gaW87XFxuXFxuICAgICAgICAgIC8qIGpzaGludCBtYXhkZXB0aCA6IGZhbHNlICovXFxuICAgICAgICAgIGlmIChqICE9PSBsKSB7XFxuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xcblxcbiAgICAgICAgICAgIGl0d2RmXyA9IHJ0d2RmICogaXR3ZGZfICsgaXR3ZGYgKiBydHdkZl87XFxuICAgICAgICAgICAgcnR3ZGZfID0gcng7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ndWVzc0xlbjEzYiA9IGZ1bmN0aW9uIGd1ZXNzTGVuMTNiIChuLCBtKSB7XFxuICAgIHZhciBOID0gTWF0aC5tYXgobSwgbikgfCAxO1xcbiAgICB2YXIgb2RkID0gTiAmIDE7XFxuICAgIHZhciBpID0gMDtcXG4gICAgZm9yIChOID0gTiAvIDIgfCAwOyBOOyBOID0gTiA+Pj4gMSkge1xcbiAgICAgIGkrKztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XFxuICAgIGlmIChOIDw9IDEpIHJldHVybjtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XFxuICAgICAgdmFyIHQgPSByd3NbaV07XFxuXFxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XFxuICAgICAgcndzW04gLSBpIC0gMV0gPSB0O1xcblxcbiAgICAgIHQgPSBpd3NbaV07XFxuXFxuICAgICAgaXdzW2ldID0gLWl3c1tOIC0gaSAtIDFdO1xcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XFxuICAgIH1cXG4gIH07XFxuXFxuICBGRlRNLnByb3RvdHlwZS5ub3JtYWxpemUxM2IgPSBmdW5jdGlvbiBub3JtYWxpemUxM2IgKHdzLCBOKSB7XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xcbiAgICAgIHZhciB3ID0gTWF0aC5yb3VuZCh3c1syICogaSArIDFdIC8gTikgKiAweDIwMDAgK1xcbiAgICAgICAgTWF0aC5yb3VuZCh3c1syICogaV0gLyBOKSArXFxuICAgICAgICBjYXJyeTtcXG5cXG4gICAgICB3c1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuXFxuICAgICAgaWYgKHcgPCAweDQwMDAwMDApIHtcXG4gICAgICAgIGNhcnJ5ID0gMDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY2FycnkgPSB3IC8gMHg0MDAwMDAwIHwgMDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHdzO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLmNvbnZlcnQxM2IgPSBmdW5jdGlvbiBjb252ZXJ0MTNiICh3cywgbGVuLCByd3MsIE4pIHtcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkrKykge1xcbiAgICAgIGNhcnJ5ID0gY2FycnkgKyAod3NbaV0gfCAwKTtcXG5cXG4gICAgICByd3NbMiAqIGldID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICAgIHJ3c1syICogaSArIDFdID0gY2FycnkgJiAweDFmZmY7IGNhcnJ5ID0gY2FycnkgPj4+IDEzO1xcbiAgICB9XFxuXFxuICAgIC8vIFBhZCB3aXRoIHplcm9lc1xcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XFxuICAgICAgcndzW2ldID0gMDtcXG4gICAgfVxcblxcbiAgICBhc3NlcnQoY2FycnkgPT09IDApO1xcbiAgICBhc3NlcnQoKGNhcnJ5ICYgfjB4MWZmZikgPT09IDApO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLnN0dWIgPSBmdW5jdGlvbiBzdHViIChOKSB7XFxuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcXG4gICAgICBwaFtpXSA9IDA7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHBoO1xcbiAgfTtcXG5cXG4gIEZGVE0ucHJvdG90eXBlLm11bHAgPSBmdW5jdGlvbiBtdWxwICh4LCB5LCBvdXQpIHtcXG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xcblxcbiAgICB2YXIgcmJ0ID0gdGhpcy5tYWtlUkJUKE4pO1xcblxcbiAgICB2YXIgXyA9IHRoaXMuc3R1YihOKTtcXG5cXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIHJ3c3QgPSBuZXcgQXJyYXkoTik7XFxuICAgIHZhciBpd3N0ID0gbmV3IEFycmF5KE4pO1xcblxcbiAgICB2YXIgbnJ3cyA9IG5ldyBBcnJheShOKTtcXG4gICAgdmFyIG5yd3N0ID0gbmV3IEFycmF5KE4pO1xcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XFxuXFxuICAgIHZhciBybXdzID0gb3V0LndvcmRzO1xcbiAgICBybXdzLmxlbmd0aCA9IE47XFxuXFxuICAgIHRoaXMuY29udmVydDEzYih4LndvcmRzLCB4Lmxlbmd0aCwgcndzLCBOKTtcXG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcXG5cXG4gICAgdGhpcy50cmFuc2Zvcm0ocndzLCBfLCByd3N0LCBpd3N0LCBOLCByYnQpO1xcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTjsgaSsrKSB7XFxuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xcbiAgICAgIGl3c3RbaV0gPSByd3N0W2ldICogbml3c3RbaV0gKyBpd3N0W2ldICogbnJ3c3RbaV07XFxuICAgICAgcndzdFtpXSA9IHJ4O1xcbiAgICB9XFxuXFxuICAgIHRoaXMuY29uanVnYXRlKHJ3c3QsIGl3c3QsIE4pO1xcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xcbiAgICB0aGlzLmNvbmp1Z2F0ZShybXdzLCBfLCBOKTtcXG4gICAgdGhpcy5ub3JtYWxpemUxM2Iocm13cywgTik7XFxuXFxuICAgIG91dC5uZWdhdGl2ZSA9IHgubmVnYXRpdmUgXiB5Lm5lZ2F0aXZlO1xcbiAgICBvdXQubGVuZ3RoID0geC5sZW5ndGggKyB5Lmxlbmd0aDtcXG4gICAgcmV0dXJuIG91dC5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIE11bHRpcGx5IGB0aGlzYCBieSBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XFxuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XFxuICAgIG91dC53b3JkcyA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCArIG51bS5sZW5ndGgpO1xcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XFxuICB9O1xcblxcbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxcbiAgQk4ucHJvdG90eXBlLm11bGYgPSBmdW5jdGlvbiBtdWxmIChudW0pIHtcXG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcXG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XFxuICAgIHJldHVybiBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcXG4gIH07XFxuXFxuICAvLyBJbi1wbGFjZSBNdWx0aXBsaWNhdGlvblxcbiAgQk4ucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuXFxuICAgIC8vIENhcnJ5XFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciB3ID0gKHRoaXMud29yZHNbaV0gfCAwKSAqIG51bTtcXG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xcbiAgICAgIGNhcnJ5ID4+PSAyNjtcXG4gICAgICBjYXJyeSArPSAodyAvIDB4NDAwMDAwMCkgfCAwO1xcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cXG4gICAgICBjYXJyeSArPSBsbyA+Pj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcXG4gICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW11bG4obnVtKTtcXG4gIH07XFxuXFxuICAvLyBgdGhpc2AgKiBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XFxuICB9O1xcblxcbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXFxuICBCTi5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKCkge1xcbiAgICByZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSk7XFxuICB9O1xcblxcbiAgLy8gTWF0aC5wb3coYHRoaXNgLCBgbnVtYClcXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xcbiAgICB2YXIgdyA9IHRvQml0QXJyYXkobnVtKTtcXG4gICAgaWYgKHcubGVuZ3RoID09PSAwKSByZXR1cm4gbmV3IEJOKDEpO1xcblxcbiAgICAvLyBTa2lwIGxlYWRpbmcgemVyb2VzXFxuICAgIHZhciByZXMgPSB0aGlzO1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xcbiAgICAgIGlmICh3W2ldICE9PSAwKSBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoKytpIDwgdy5sZW5ndGgpIHtcXG4gICAgICBmb3IgKHZhciBxID0gcmVzLnNxcigpOyBpIDwgdy5sZW5ndGg7IGkrKywgcSA9IHEuc3FyKCkpIHtcXG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcXG5cXG4gICAgICAgIHJlcyA9IHJlcy5tdWwocSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxcbiAgQk4ucHJvdG90eXBlLml1c2hsbiA9IGZ1bmN0aW9uIGl1c2hsbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG4gICAgdmFyIGNhcnJ5TWFzayA9ICgweDNmZmZmZmYgPj4+ICgyNiAtIHIpKSA8PCAoMjYgLSByKTtcXG4gICAgdmFyIGk7XFxuXFxuICAgIGlmIChyICE9PSAwKSB7XFxuICAgICAgdmFyIGNhcnJ5ID0gMDtcXG5cXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcXG4gICAgICAgIHZhciBjID0gKCh0aGlzLndvcmRzW2ldIHwgMCkgLSBuZXdDYXJyeSkgPDwgcjtcXG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjIHwgY2Fycnk7XFxuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGNhcnJ5KSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgICB0aGlzLmxlbmd0aCsrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocyAhPT0gMCkge1xcbiAgICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIHNdID0gdGhpcy53b3Jkc1tpXTtcXG4gICAgICB9XFxuXFxuICAgICAgZm9yIChpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcblxcbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNobG4gPSBmdW5jdGlvbiBpc2hsbiAoYml0cykge1xcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDApO1xcbiAgICByZXR1cm4gdGhpcy5pdXNobG4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gU2hpZnQtcmlnaHQgaW4tcGxhY2VcXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xcbiAgLy8gTk9URTogaWYgYGV4dGVuZGVkYCBpcyBwcmVzZW50IC0gaXQgd2lsbCBiZSBmaWxsZWQgd2l0aCBkZXN0cm95ZWQgYml0c1xcbiAgQk4ucHJvdG90eXBlLml1c2hybiA9IGZ1bmN0aW9uIGl1c2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xcbiAgICB2YXIgaDtcXG4gICAgaWYgKGhpbnQpIHtcXG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBoID0gMDtcXG4gICAgfVxcblxcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcXG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XFxuICAgIHZhciBtYXNrZWRXb3JkcyA9IGV4dGVuZGVkO1xcblxcbiAgICBoIC09IHM7XFxuICAgIGggPSBNYXRoLm1heCgwLCBoKTtcXG5cXG4gICAgLy8gRXh0ZW5kZWQgbW9kZSwgY29weSBtYXNrZWQgcGFydFxcbiAgICBpZiAobWFza2VkV29yZHMpIHtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xcbiAgICAgICAgbWFza2VkV29yZHMud29yZHNbaV0gPSB0aGlzLndvcmRzW2ldO1xcbiAgICAgIH1cXG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xcbiAgICB9XFxuXFxuICAgIGlmIChzID09PSAwKSB7XFxuICAgICAgLy8gTm8tb3AsIHdlIHNob3VsZCBub3QgbW92ZSBhbnl0aGluZyBhdCBhbGxcXG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA+IHMpIHtcXG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xcbiAgICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpICsgc107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcXG4gICAgfVxcblxcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMCAmJiAoY2FycnkgIT09IDAgfHwgaSA+PSBoKTsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcXG4gICAgICBjYXJyeSA9IHdvcmQgJiBtYXNrO1xcbiAgICB9XFxuXFxuICAgIC8vIFB1c2ggY2FycmllZCBiaXRzIGFzIGEgbWFza1xcbiAgICBpZiAobWFza2VkV29yZHMgJiYgY2FycnkgIT09IDApIHtcXG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcXG4gICAgfVxcblxcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcXG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNocm4gPSBmdW5jdGlvbiBpc2hybiAoYml0cywgaGludCwgZXh0ZW5kZWQpIHtcXG4gICAgLy8gVE9ETyhpbmR1dG55KTogaW1wbGVtZW50IG1lXFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcXG4gICAgcmV0dXJuIHRoaXMuaXVzaHJuKGJpdHMsIGhpbnQsIGV4dGVuZGVkKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1sZWZ0XFxuICBCTi5wcm90b3R5cGUuc2hsbiA9IGZ1bmN0aW9uIHNobG4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbihiaXRzKTtcXG4gIH07XFxuXFxuICAvLyBTaGlmdC1yaWdodFxcbiAgQk4ucHJvdG90eXBlLnNocm4gPSBmdW5jdGlvbiBzaHJuIChiaXRzKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gVGVzdCBpZiBuIGJpdCBpcyBzZXRcXG4gIEJOLnByb3RvdHlwZS50ZXN0biA9IGZ1bmN0aW9uIHRlc3RuIChiaXQpIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcXG4gICAgdmFyIHIgPSBiaXQgJSAyNjtcXG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcXG4gICAgdmFyIHEgPSAxIDw8IHI7XFxuXFxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXFxuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XFxuXFxuICAgIC8vIENoZWNrIGJpdCBhbmQgcmV0dXJuXFxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcXG5cXG4gICAgcmV0dXJuICEhKHcgJiBxKTtcXG4gIH07XFxuXFxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXIgKGluLXBsYWNlKVxcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdHMgPT09ICdudW1iZXInICYmIGJpdHMgPj0gMCk7XFxuICAgIHZhciByID0gYml0cyAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcXG5cXG4gICAgYXNzZXJ0KHRoaXMubmVnYXRpdmUgPT09IDAsICdpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMnKTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICBpZiAociAhPT0gMCkge1xcbiAgICAgIHMrKztcXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWluKHMsIHRoaXMubGVuZ3RoKTtcXG5cXG4gICAgaWYgKHIgIT09IDApIHtcXG4gICAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcXG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5zdHJpcCgpO1xcbiAgfTtcXG5cXG4gIC8vIFJldHVybiBvbmx5IGxvd2VycyBiaXRzIG9mIG51bWJlclxcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24oYml0cyk7XFxuICB9O1xcblxcbiAgLy8gQWRkIHBsYWluIG51bWJlciBgbnVtYCB0byBgdGhpc2BcXG4gIEJOLnByb3RvdHlwZS5pYWRkbiA9IGZ1bmN0aW9uIGlhZGRuIChudW0pIHtcXG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcXG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XFxuICAgIGlmIChudW0gPCAwKSByZXR1cm4gdGhpcy5pc3VibigtbnVtKTtcXG5cXG4gICAgLy8gUG9zc2libGUgc2lnbiBjaGFuZ2VcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8IG51bSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XFxuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIHJldHVybiB0aGlzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG4gICAgICB0aGlzLmlzdWJuKG51bSk7XFxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuICAgICAgcmV0dXJuIHRoaXM7XFxuICAgIH1cXG5cXG4gICAgLy8gQWRkIHdpdGhvdXQgY2hlY2tzXFxuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xcbiAgICB0aGlzLndvcmRzWzBdICs9IG51bTtcXG5cXG4gICAgLy8gQ2FycnlcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldID49IDB4NDAwMDAwMDsgaSsrKSB7XFxuICAgICAgdGhpcy53b3Jkc1tpXSAtPSAweDQwMDAwMDA7XFxuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xcbiAgICAgICAgdGhpcy53b3Jkc1tpICsgMV0gPSAxO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XFxuXFxuICAgIHJldHVybiB0aGlzO1xcbiAgfTtcXG5cXG4gIC8vIFN1YnRyYWN0IHBsYWluIG51bWJlciBgbnVtYCBmcm9tIGB0aGlzYFxcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xcbiAgICBhc3NlcnQodHlwZW9mIG51bSA9PT0gJ251bWJlcicpO1xcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcXG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xcblxcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xcbiAgICAgIHRoaXMuaWFkZG4obnVtKTtcXG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcXG5cXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPCAwKSB7XFxuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIENhcnJ5XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aCAmJiB0aGlzLndvcmRzW2ldIDwgMDsgaSsrKSB7XFxuICAgICAgICB0aGlzLndvcmRzW2ldICs9IDB4NDAwMDAwMDtcXG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5zdWJuID0gZnVuY3Rpb24gc3VibiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4obnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaWFicyA9IGZ1bmN0aW9uIGlhYnMgKCkge1xcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgcmV0dXJuIHRoaXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmFicyA9IGZ1bmN0aW9uIGFicyAoKSB7XFxuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xcbiAgICB2YXIgbGVuID0gbnVtLmxlbmd0aCArIHNoaWZ0O1xcbiAgICB2YXIgaTtcXG5cXG4gICAgdGhpcy5fZXhwYW5kKGxlbik7XFxuXFxuICAgIHZhciB3O1xcbiAgICB2YXIgY2FycnkgPSAwO1xcbiAgICBmb3IgKGkgPSAwOyBpIDwgbnVtLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIHZhciByaWdodCA9IChudW0ud29yZHNbaV0gfCAwKSAqIG11bDtcXG4gICAgICB3IC09IHJpZ2h0ICYgMHgzZmZmZmZmO1xcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XFxuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xcbiAgICAgIGNhcnJ5ID0gdyA+PiAyNjtcXG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xcbiAgICB9XFxuXFxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuc3RyaXAoKTtcXG5cXG4gICAgLy8gU3VidHJhY3Rpb24gb3ZlcmZsb3dcXG4gICAgYXNzZXJ0KGNhcnJ5ID09PSAtMSk7XFxuICAgIGNhcnJ5ID0gMDtcXG4gICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3ID0gLSh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcXG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9IHcgJiAweDNmZmZmZmY7XFxuICAgIH1cXG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl93b3JkRGl2ID0gZnVuY3Rpb24gX3dvcmREaXYgKG51bSwgbW9kZSkge1xcbiAgICB2YXIgc2hpZnQgPSB0aGlzLmxlbmd0aCAtIG51bS5sZW5ndGg7XFxuXFxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xcbiAgICB2YXIgYiA9IG51bTtcXG5cXG4gICAgLy8gTm9ybWFsaXplXFxuICAgIHZhciBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xcbiAgICBzaGlmdCA9IDI2IC0gYmhpQml0cztcXG4gICAgaWYgKHNoaWZ0ICE9PSAwKSB7XFxuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xcbiAgICAgIGEuaXVzaGxuKHNoaWZ0KTtcXG4gICAgICBiaGkgPSBiLndvcmRzW2IubGVuZ3RoIC0gMV0gfCAwO1xcbiAgICB9XFxuXFxuICAgIC8vIEluaXRpYWxpemUgcXVvdGllbnRcXG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xcbiAgICB2YXIgcTtcXG5cXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XFxuICAgICAgcSA9IG5ldyBCTihudWxsKTtcXG4gICAgICBxLmxlbmd0aCA9IG0gKyAxO1xcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgcS53b3Jkc1tpXSA9IDA7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcXG4gICAgaWYgKGRpZmYubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICBhID0gZGlmZjtcXG4gICAgICBpZiAocSkge1xcbiAgICAgICAgcS53b3Jkc1ttXSA9IDE7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGogPSBtIC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xcbiAgICAgICAgKGEud29yZHNbYi5sZW5ndGggKyBqIC0gMV0gfCAwKTtcXG5cXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxcbiAgICAgIC8vICgweDdmZmZmZmYpXFxuICAgICAgcWogPSBNYXRoLm1pbigocWogLyBiaGkpIHwgMCwgMHgzZmZmZmZmKTtcXG5cXG4gICAgICBhLl9pc2hsbnN1Ym11bChiLCBxaiwgaik7XFxuICAgICAgd2hpbGUgKGEubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICAgIHFqLS07XFxuICAgICAgICBhLm5lZ2F0aXZlID0gMDtcXG4gICAgICAgIGEuX2lzaGxuc3VibXVsKGIsIDEsIGopO1xcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XFxuICAgICAgICAgIGEubmVnYXRpdmUgXj0gMTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgICAgaWYgKHEpIHtcXG4gICAgICAgIHEud29yZHNbal0gPSBxajtcXG4gICAgICB9XFxuICAgIH1cXG4gICAgaWYgKHEpIHtcXG4gICAgICBxLnN0cmlwKCk7XFxuICAgIH1cXG4gICAgYS5zdHJpcCgpO1xcblxcbiAgICAvLyBEZW5vcm1hbGl6ZVxcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcXG4gICAgICBhLml1c2hybihzaGlmdCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHtcXG4gICAgICBkaXY6IHEgfHwgbnVsbCxcXG4gICAgICBtb2Q6IGFcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBOT1RFOiAxKSBgbW9kZWAgY2FuIGJlIHNldCB0byBgbW9kYCB0byByZXF1ZXN0IG1vZCBvbmx5LFxcbiAgLy8gICAgICAgdG8gYGRpdmAgdG8gcmVxdWVzdCBkaXYgb25seSwgb3IgYmUgYWJzZW50IHRvXFxuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXFxuICAvLyAgICAgICAyKSBgcG9zaXRpdmVgIGlzIHRydWUgaWYgdW5zaWduZWQgbW9kIGlzIHJlcXVlc3RlZFxcbiAgQk4ucHJvdG90eXBlLmRpdm1vZCA9IGZ1bmN0aW9uIGRpdm1vZCAobnVtLCBtb2RlLCBwb3NpdGl2ZSkge1xcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XFxuXFxuICAgIGlmICh0aGlzLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxcbiAgICAgICAgbW9kOiBuZXcgQk4oMClcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHtcXG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0sIG1vZGUpO1xcblxcbiAgICAgIGlmIChtb2RlICE9PSAnbW9kJykge1xcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaWFkZChudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiBkaXYsXFxuICAgICAgICBtb2Q6IG1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgcmVzID0gdGhpcy5kaXZtb2QobnVtLm5lZygpLCBtb2RlKTtcXG5cXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcXG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IGRpdixcXG4gICAgICAgIG1vZDogcmVzLm1vZFxcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgaWYgKCh0aGlzLm5lZ2F0aXZlICYgbnVtLm5lZ2F0aXZlKSAhPT0gMCkge1xcbiAgICAgIHJlcyA9IHRoaXMubmVnKCkuZGl2bW9kKG51bS5uZWcoKSwgbW9kZSk7XFxuXFxuICAgICAgaWYgKG1vZGUgIT09ICdkaXYnKSB7XFxuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgICAgICBtb2QuaXN1YihudW0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4ge1xcbiAgICAgICAgZGl2OiByZXMuZGl2LFxcbiAgICAgICAgbW9kOiBtb2RcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIC8vIEJvdGggbnVtYmVycyBhcmUgcG9zaXRpdmUgYXQgdGhpcyBwb2ludFxcblxcbiAgICAvLyBTdHJpcCBib3RoIG51bWJlcnMgdG8gYXBwcm94aW1hdGUgc2hpZnQgdmFsdWVcXG4gICAgaWYgKG51bS5sZW5ndGggPiB0aGlzLmxlbmd0aCB8fCB0aGlzLmNtcChudW0pIDwgMCkge1xcbiAgICAgIHJldHVybiB7XFxuICAgICAgICBkaXY6IG5ldyBCTigwKSxcXG4gICAgICAgIG1vZDogdGhpc1xcbiAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cXG4gICAgaWYgKG51bS5sZW5ndGggPT09IDEpIHtcXG4gICAgICBpZiAobW9kZSA9PT0gJ2RpdicpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICAgIG1vZDogbnVsbFxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XFxuICAgICAgICByZXR1cm4ge1xcbiAgICAgICAgICBkaXY6IG51bGwsXFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kbihudW0ud29yZHNbMF0pKVxcbiAgICAgICAgfTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHtcXG4gICAgICAgIGRpdjogdGhpcy5kaXZuKG51bS53b3Jkc1swXSksXFxuICAgICAgICBtb2Q6IG5ldyBCTih0aGlzLm1vZG4obnVtLndvcmRzWzBdKSlcXG4gICAgICB9O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLl93b3JkRGl2KG51bSwgbW9kZSk7XFxuICB9O1xcblxcbiAgLy8gRmluZCBgdGhpc2AgLyBgbnVtYFxcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdkaXYnLCBmYWxzZSkuZGl2O1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgYHRoaXNgICUgYG51bWBcXG4gIEJOLnByb3RvdHlwZS5tb2QgPSBmdW5jdGlvbiBtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgdHJ1ZSkubW9kO1xcbiAgfTtcXG5cXG4gIC8vIEZpbmQgUm91bmQoYHRoaXNgIC8gYG51bWApXFxuICBCTi5wcm90b3R5cGUuZGl2Um91bmQgPSBmdW5jdGlvbiBkaXZSb3VuZCAobnVtKSB7XFxuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XFxuXFxuICAgIC8vIEZhc3QgY2FzZSAtIGV4YWN0IGRpdmlzaW9uXFxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIHZhciBtb2QgPSBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5tb2QuaXN1YihudW0pIDogZG0ubW9kO1xcblxcbiAgICB2YXIgaGFsZiA9IG51bS51c2hybigxKTtcXG4gICAgdmFyIHIyID0gbnVtLmFuZGxuKDEpO1xcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcXG5cXG4gICAgLy8gUm91bmQgZG93blxcbiAgICBpZiAoY21wIDwgMCB8fCByMiA9PT0gMSAmJiBjbXAgPT09IDApIHJldHVybiBkbS5kaXY7XFxuXFxuICAgIC8vIFJvdW5kIHVwXFxuICAgIHJldHVybiBkbS5kaXYubmVnYXRpdmUgIT09IDAgPyBkbS5kaXYuaXN1Ym4oMSkgOiBkbS5kaXYuaWFkZG4oMSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcXG4gICAgYXNzZXJ0KG51bSA8PSAweDNmZmZmZmYpO1xcbiAgICB2YXIgcCA9ICgxIDw8IDI2KSAlIG51bTtcXG5cXG4gICAgdmFyIGFjYyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYWNjO1xcbiAgfTtcXG5cXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxcbiAgQk4ucHJvdG90eXBlLmlkaXZuID0gZnVuY3Rpb24gaWRpdm4gKG51bSkge1xcbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XFxuXFxuICAgIHZhciBjYXJyeSA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHcgPSAodGhpcy53b3Jkc1tpXSB8IDApICsgY2FycnkgKiAweDQwMDAwMDA7XFxuICAgICAgdGhpcy53b3Jkc1tpXSA9ICh3IC8gbnVtKSB8IDA7XFxuICAgICAgY2FycnkgPSB3ICUgbnVtO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB0aGlzLnN0cmlwKCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmRpdm4gPSBmdW5jdGlvbiBkaXZuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xcbiAgICBhc3NlcnQocC5uZWdhdGl2ZSA9PT0gMCk7XFxuICAgIGFzc2VydCghcC5pc1plcm8oKSk7XFxuXFxuICAgIHZhciB4ID0gdGhpcztcXG4gICAgdmFyIHkgPSBwLmNsb25lKCk7XFxuXFxuICAgIGlmICh4Lm5lZ2F0aXZlICE9PSAwKSB7XFxuICAgICAgeCA9IHgudW1vZChwKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB4ID0geC5jbG9uZSgpO1xcbiAgICB9XFxuXFxuICAgIC8vIEEgKiB4ICsgQiAqIHkgPSB4XFxuICAgIHZhciBBID0gbmV3IEJOKDEpO1xcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcXG5cXG4gICAgLy8gQyAqIHggKyBEICogeSA9IHlcXG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XFxuICAgIHZhciBEID0gbmV3IEJOKDEpO1xcblxcbiAgICB2YXIgZyA9IDA7XFxuXFxuICAgIHdoaWxlICh4LmlzRXZlbigpICYmIHkuaXNFdmVuKCkpIHtcXG4gICAgICB4Lml1c2hybigxKTtcXG4gICAgICB5Lml1c2hybigxKTtcXG4gICAgICArK2c7XFxuICAgIH1cXG5cXG4gICAgdmFyIHlwID0geS5jbG9uZSgpO1xcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XFxuXFxuICAgIHdoaWxlICgheC5pc1plcm8oKSkge1xcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XFxuICAgICAgaWYgKGkgPiAwKSB7XFxuICAgICAgICB4Lml1c2hybihpKTtcXG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XFxuICAgICAgICAgIGlmIChBLmlzT2RkKCkgfHwgQi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgQS5pYWRkKHlwKTtcXG4gICAgICAgICAgICBCLmlzdWIoeHApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xcbiAgICAgICAgICBCLml1c2hybigxKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgZm9yICh2YXIgaiA9IDAsIGptID0gMTsgKHkud29yZHNbMF0gJiBqbSkgPT09IDAgJiYgaiA8IDI2OyArK2osIGptIDw8PSAxKTtcXG4gICAgICBpZiAoaiA+IDApIHtcXG4gICAgICAgIHkuaXVzaHJuKGopO1xcbiAgICAgICAgd2hpbGUgKGotLSA+IDApIHtcXG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcXG4gICAgICAgICAgICBDLmlhZGQoeXApO1xcbiAgICAgICAgICAgIEQuaXN1Yih4cCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgQy5pdXNocm4oMSk7XFxuICAgICAgICAgIEQuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoeC5jbXAoeSkgPj0gMCkge1xcbiAgICAgICAgeC5pc3ViKHkpO1xcbiAgICAgICAgQS5pc3ViKEMpO1xcbiAgICAgICAgQi5pc3ViKEQpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB5LmlzdWIoeCk7XFxuICAgICAgICBDLmlzdWIoQSk7XFxuICAgICAgICBELmlzdWIoQik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiB7XFxuICAgICAgYTogQyxcXG4gICAgICBiOiBELFxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcXG4gICAgfTtcXG4gIH07XFxuXFxuICAvLyBUaGlzIGlzIHJlZHVjZWQgaW5jYXJuYXRpb24gb2YgdGhlIGJpbmFyeSBFRUFcXG4gIC8vIGFib3ZlLCBkZXNpZ25hdGVkIHRvIGludmVydCBtZW1iZXJzIG9mIHRoZVxcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcXG4gIEJOLnByb3RvdHlwZS5faW52bXAgPSBmdW5jdGlvbiBfaW52bXAgKHApIHtcXG4gICAgYXNzZXJ0KHAubmVnYXRpdmUgPT09IDApO1xcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xcblxcbiAgICB2YXIgYSA9IHRoaXM7XFxuICAgIHZhciBiID0gcC5jbG9uZSgpO1xcblxcbiAgICBpZiAoYS5uZWdhdGl2ZSAhPT0gMCkge1xcbiAgICAgIGEgPSBhLnVtb2QocCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYSA9IGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICB2YXIgeDEgPSBuZXcgQk4oMSk7XFxuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcXG5cXG4gICAgdmFyIGRlbHRhID0gYi5jbG9uZSgpO1xcblxcbiAgICB3aGlsZSAoYS5jbXBuKDEpID4gMCAmJiBiLmNtcG4oMSkgPiAwKSB7XFxuICAgICAgZm9yICh2YXIgaSA9IDAsIGltID0gMTsgKGEud29yZHNbMF0gJiBpbSkgPT09IDAgJiYgaSA8IDI2OyArK2ksIGltIDw8PSAxKTtcXG4gICAgICBpZiAoaSA+IDApIHtcXG4gICAgICAgIGEuaXVzaHJuKGkpO1xcbiAgICAgICAgd2hpbGUgKGktLSA+IDApIHtcXG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcXG4gICAgICAgICAgICB4MS5pYWRkKGRlbHRhKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB4MS5pdXNocm4oMSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7IChiLndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XFxuICAgICAgaWYgKGogPiAwKSB7XFxuICAgICAgICBiLml1c2hybihqKTtcXG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XFxuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XFxuICAgICAgICAgICAgeDIuaWFkZChkZWx0YSk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgeDIuaXVzaHJuKDEpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoYS5jbXAoYikgPj0gMCkge1xcbiAgICAgICAgYS5pc3ViKGIpO1xcbiAgICAgICAgeDEuaXN1Yih4Mik7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGIuaXN1YihhKTtcXG4gICAgICAgIHgyLmlzdWIoeDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XFxuICAgICAgcmVzID0geDE7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmVzID0geDI7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmdjZCA9IGZ1bmN0aW9uIGdjZCAobnVtKSB7XFxuICAgIGlmICh0aGlzLmlzWmVybygpKSByZXR1cm4gbnVtLmFicygpO1xcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcXG5cXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XFxuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XFxuICAgIGEubmVnYXRpdmUgPSAwO1xcbiAgICBiLm5lZ2F0aXZlID0gMDtcXG5cXG4gICAgLy8gUmVtb3ZlIGNvbW1vbiBmYWN0b3Igb2YgdHdvXFxuICAgIGZvciAodmFyIHNoaWZ0ID0gMDsgYS5pc0V2ZW4oKSAmJiBiLmlzRXZlbigpOyBzaGlmdCsrKSB7XFxuICAgICAgYS5pdXNocm4oMSk7XFxuICAgICAgYi5pdXNocm4oMSk7XFxuICAgIH1cXG5cXG4gICAgZG8ge1xcbiAgICAgIHdoaWxlIChhLmlzRXZlbigpKSB7XFxuICAgICAgICBhLml1c2hybigxKTtcXG4gICAgICB9XFxuICAgICAgd2hpbGUgKGIuaXNFdmVuKCkpIHtcXG4gICAgICAgIGIuaXVzaHJuKDEpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xcbiAgICAgIGlmIChyIDwgMCkge1xcbiAgICAgICAgLy8gU3dhcCBgYWAgYW5kIGBiYCB0byBtYWtlIGBhYCBhbHdheXMgYmlnZ2VyIHRoYW4gYGJgXFxuICAgICAgICB2YXIgdCA9IGE7XFxuICAgICAgICBhID0gYjtcXG4gICAgICAgIGIgPSB0O1xcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgICBhLmlzdWIoYik7XFxuICAgIH0gd2hpbGUgKHRydWUpO1xcblxcbiAgICByZXR1cm4gYi5pdXNobG4oc2hpZnQpO1xcbiAgfTtcXG5cXG4gIC8vIEludmVydCBudW1iZXIgaW4gdGhlIGZpZWxkIEYobnVtKVxcbiAgQk4ucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNPZGQgPSBmdW5jdGlvbiBpc09kZCAoKSB7XFxuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAxO1xcbiAgfTtcXG5cXG4gIC8vIEFuZCBmaXJzdCB3b3JkIGFuZCBudW1cXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMud29yZHNbMF0gJiBudW07XFxuICB9O1xcblxcbiAgLy8gSW5jcmVtZW50IGF0IHRoZSBiaXQgcG9zaXRpb24gaW4tbGluZVxcbiAgQk4ucHJvdG90eXBlLmJpbmNuID0gZnVuY3Rpb24gYmluY24gKGJpdCkge1xcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xcbiAgICB2YXIgcyA9IChiaXQgLSByKSAvIDI2O1xcbiAgICB2YXIgcSA9IDEgPDwgcjtcXG5cXG4gICAgLy8gRmFzdCBjYXNlOiBiaXQgaXMgbXVjaCBoaWdoZXIgdGhhbiBhbGwgZXhpc3Rpbmcgd29yZHNcXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcXG4gICAgICB0aGlzLl9leHBhbmQocyArIDEpO1xcbiAgICAgIHRoaXMud29yZHNbc10gfD0gcTtcXG4gICAgICByZXR1cm4gdGhpcztcXG4gICAgfVxcblxcbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxcbiAgICB2YXIgY2FycnkgPSBxO1xcbiAgICBmb3IgKHZhciBpID0gczsgY2FycnkgIT09IDAgJiYgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xcbiAgICAgIHcgKz0gY2Fycnk7XFxuICAgICAgY2FycnkgPSB3ID4+PiAyNjtcXG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gdztcXG4gICAgfVxcbiAgICBpZiAoY2FycnkgIT09IDApIHtcXG4gICAgICB0aGlzLndvcmRzW2ldID0gY2Fycnk7XFxuICAgICAgdGhpcy5sZW5ndGgrKztcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuaXNaZXJvID0gZnVuY3Rpb24gaXNaZXJvICgpIHtcXG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmNtcG4gPSBmdW5jdGlvbiBjbXBuIChudW0pIHtcXG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcXG5cXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgIW5lZ2F0aXZlKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcXG5cXG4gICAgdGhpcy5zdHJpcCgpO1xcblxcbiAgICB2YXIgcmVzO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPiAxKSB7XFxuICAgICAgcmVzID0gMTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAobmVnYXRpdmUpIHtcXG4gICAgICAgIG51bSA9IC1udW07XFxuICAgICAgfVxcblxcbiAgICAgIGFzc2VydChudW0gPD0gMHgzZmZmZmZmLCAnTnVtYmVyIGlzIHRvbyBiaWcnKTtcXG5cXG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbMF0gfCAwO1xcbiAgICAgIHJlcyA9IHcgPT09IG51bSA/IDAgOiB3IDwgbnVtID8gLTEgOiAxO1xcbiAgICB9XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy8gQ29tcGFyZSB0d28gbnVtYmVycyBhbmQgcmV0dXJuOlxcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXFxuICAvLyAwIC0gaWYgYHRoaXNgID09IGBudW1gXFxuICAvLyAtMSAtIGlmIGB0aGlzYCA8IGBudW1gXFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDAgJiYgbnVtLm5lZ2F0aXZlID09PSAwKSByZXR1cm4gLTE7XFxuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG51bS5uZWdhdGl2ZSAhPT0gMCkgcmV0dXJuIDE7XFxuXFxuICAgIHZhciByZXMgPSB0aGlzLnVjbXAobnVtKTtcXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXFxuICBCTi5wcm90b3R5cGUudWNtcCA9IGZ1bmN0aW9uIHVjbXAgKG51bSkge1xcbiAgICAvLyBBdCB0aGlzIHBvaW50IGJvdGggbnVtYmVycyBoYXZlIHRoZSBzYW1lIHNpZ25cXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XFxuICAgIGlmICh0aGlzLmxlbmd0aCA8IG51bS5sZW5ndGgpIHJldHVybiAtMTtcXG5cXG4gICAgdmFyIHJlcyA9IDA7XFxuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIGEgPSB0aGlzLndvcmRzW2ldIHwgMDtcXG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XFxuXFxuICAgICAgaWYgKGEgPT09IGIpIGNvbnRpbnVlO1xcbiAgICAgIGlmIChhIDwgYikge1xcbiAgICAgICAgcmVzID0gLTE7XFxuICAgICAgfSBlbHNlIGlmIChhID4gYikge1xcbiAgICAgICAgcmVzID0gMTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZ3RuID0gZnVuY3Rpb24gZ3RuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAxO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5ndCA9IGZ1bmN0aW9uIGd0IChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmd0ZSA9IGZ1bmN0aW9uIGd0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID49IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0biA9IGZ1bmN0aW9uIGx0biAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gLTE7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZW4gPSBmdW5jdGlvbiBsdGVuIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmx0ZSA9IGZ1bmN0aW9uIGx0ZSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMDtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSAobnVtKSB7XFxuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAwO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xcbiAgLy8gb24gdGhlIGBtYCBpdHNlbGYuXFxuICAvL1xcbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBSZWQobnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUudG9SZWQgPSBmdW5jdGlvbiB0b1JlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgcmV0dXJuIGN0eC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKGN0eCk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLmZyb21SZWQgPSBmdW5jdGlvbiBmcm9tUmVkICgpIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAnZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XFxuICAgIHRoaXMucmVkID0gY3R4O1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUuZm9yY2VSZWQgPSBmdW5jdGlvbiBmb3JjZVJlZCAoY3R4KSB7XFxuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XFxuICAgIHJldHVybiB0aGlzLl9mb3JjZVJlZChjdHgpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRBZGQgPSBmdW5jdGlvbiByZWRBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaWFkZCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTdWIgPSBmdW5jdGlvbiByZWRTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zdWIodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSVN1YiA9IGZ1bmN0aW9uIHJlZElTdWIgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5zaGwodGhpcywgbnVtKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkTXVsID0gZnVuY3Rpb24gcmVkTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQubXVsKHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZElNdWwgPSBmdW5jdGlvbiByZWRJTXVsIChudW0pIHtcXG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLCBudW0pO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaW11bCh0aGlzLCBudW0pO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRTcXIgPSBmdW5jdGlvbiByZWRTcXIgKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FyKHRoaXMpO1xcbiAgfTtcXG5cXG4gIEJOLnByb3RvdHlwZS5yZWRJU3FyID0gZnVuY3Rpb24gcmVkSVNxciAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuaXNxcih0aGlzKTtcXG4gIH07XFxuXFxuICAvLyBTcXVhcmUgcm9vdCBvdmVyIHBcXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcXG4gIH07XFxuXFxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcXG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XFxuICB9O1xcblxcbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxcbiAgQk4ucHJvdG90eXBlLnJlZE5lZyA9IGZ1bmN0aW9uIHJlZE5lZyAoKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcXG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XFxuICAgIHJldHVybiB0aGlzLnJlZC5uZWcodGhpcyk7XFxuICB9O1xcblxcbiAgQk4ucHJvdG90eXBlLnJlZFBvdyA9IGZ1bmN0aW9uIHJlZFBvdyAobnVtKSB7XFxuICAgIGFzc2VydCh0aGlzLnJlZCAmJiAhbnVtLnJlZCwgJ3JlZFBvdyhub3JtYWxOdW0pJyk7XFxuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xcbiAgICByZXR1cm4gdGhpcy5yZWQucG93KHRoaXMsIG51bSk7XFxuICB9O1xcblxcbiAgLy8gUHJpbWUgbnVtYmVycyB3aXRoIGVmZmljaWVudCByZWR1Y3Rpb25cXG4gIHZhciBwcmltZXMgPSB7XFxuICAgIGsyNTY6IG51bGwsXFxuICAgIHAyMjQ6IG51bGwsXFxuICAgIHAxOTI6IG51bGwsXFxuICAgIHAyNTUxOTogbnVsbFxcbiAgfTtcXG5cXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxcbiAgZnVuY3Rpb24gTVByaW1lIChuYW1lLCBwKSB7XFxuICAgIC8vIFAgPSAyIF4gTiAtIEtcXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcXG4gICAgdGhpcy5wID0gbmV3IEJOKHAsIDE2KTtcXG4gICAgdGhpcy5uID0gdGhpcy5wLmJpdExlbmd0aCgpO1xcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xcblxcbiAgICB0aGlzLnRtcCA9IHRoaXMuX3RtcCgpO1xcbiAgfVxcblxcbiAgTVByaW1lLnByb3RvdHlwZS5fdG1wID0gZnVuY3Rpb24gX3RtcCAoKSB7XFxuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XFxuICAgIHRtcC53b3JkcyA9IG5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uIC8gMTMpKTtcXG4gICAgcmV0dXJuIHRtcDtcXG4gIH07XFxuXFxuICBNUHJpbWUucHJvdG90eXBlLmlyZWR1Y2UgPSBmdW5jdGlvbiBpcmVkdWNlIChudW0pIHtcXG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxcbiAgICAvLyBudW0gPSBISSAqICgyIF4gTiAtIEspICsgSEkgKiBLICsgTE8gPSBISSAqIEsgKyBMTyAobW9kIFApXFxuICAgIHZhciByID0gbnVtO1xcbiAgICB2YXIgcmxlbjtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xcbiAgICAgIHIgPSB0aGlzLmltdWxLKHIpO1xcbiAgICAgIHIgPSByLmlhZGQodGhpcy50bXApO1xcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xcbiAgICB9IHdoaWxlIChybGVuID4gdGhpcy5uKTtcXG5cXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xcbiAgICBpZiAoY21wID09PSAwKSB7XFxuICAgICAgci53b3Jkc1swXSA9IDA7XFxuICAgICAgci5sZW5ndGggPSAxO1xcbiAgICB9IGVsc2UgaWYgKGNtcCA+IDApIHtcXG4gICAgICByLmlzdWIodGhpcy5wKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByLnN0cmlwKCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHI7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5zcGxpdCA9IGZ1bmN0aW9uIHNwbGl0IChpbnB1dCwgb3V0KSB7XFxuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XFxuICB9O1xcblxcbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgcmV0dXJuIG51bS5pbXVsKHRoaXMuayk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gSzI1NiAoKSB7XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJ2syNTYnLFxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZicpO1xcbiAgfVxcbiAgaW5oZXJpdHMoSzI1NiwgTVByaW1lKTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcXG4gICAgLy8gMjU2ID0gOSAqIDI2ICsgMjJcXG4gICAgdmFyIG1hc2sgPSAweDNmZmZmZjtcXG5cXG4gICAgdmFyIG91dExlbiA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgOSk7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0TGVuOyBpKyspIHtcXG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcXG4gICAgfVxcbiAgICBvdXRwdXQubGVuZ3RoID0gb3V0TGVuO1xcblxcbiAgICBpZiAoaW5wdXQubGVuZ3RoIDw9IDkpIHtcXG4gICAgICBpbnB1dC53b3Jkc1swXSA9IDA7XFxuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgLy8gU2hpZnQgYnkgOSBsaW1ic1xcbiAgICB2YXIgcHJldiA9IGlucHV0LndvcmRzWzldO1xcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xcblxcbiAgICBmb3IgKGkgPSAxMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XFxuICAgICAgaW5wdXQud29yZHNbaSAtIDEwXSA9ICgobmV4dCAmIG1hc2spIDw8IDQpIHwgKHByZXYgPj4+IDIyKTtcXG4gICAgICBwcmV2ID0gbmV4dDtcXG4gICAgfVxcbiAgICBwcmV2ID4+Pj0gMjI7XFxuICAgIGlucHV0LndvcmRzW2kgLSAxMF0gPSBwcmV2O1xcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xcbiAgICAgIGlucHV0Lmxlbmd0aCAtPSAxMDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIEsyNTYucHJvdG90eXBlLmltdWxLID0gZnVuY3Rpb24gaW11bEsgKG51bSkge1xcbiAgICAvLyBLID0gMHgxMDAwMDAzZDEgPSBbIDB4NDAsIDB4M2QxIF1cXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGggKyAxXSA9IDA7XFxuICAgIG51bS5sZW5ndGggKz0gMjtcXG5cXG4gICAgLy8gYm91bmRlZCBhdDogMHg0MCAqIDB4M2ZmZmZmZiArIDB4M2QwID0gMHgxMDAwMDAzOTBcXG4gICAgdmFyIGxvID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgdyA9IG51bS53b3Jkc1tpXSB8IDA7XFxuICAgICAgbG8gKz0gdyAqIDB4M2QxO1xcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xcbiAgICAgIGxvID0gdyAqIDB4NDAgKyAoKGxvIC8gMHg0MDAwMDAwKSB8IDApO1xcbiAgICB9XFxuXFxuICAgIC8vIEZhc3QgbGVuZ3RoIHJlZHVjdGlvblxcbiAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgIG51bS5sZW5ndGgtLTtcXG4gICAgICBpZiAobnVtLndvcmRzW251bS5sZW5ndGggLSAxXSA9PT0gMCkge1xcbiAgICAgICAgbnVtLmxlbmd0aC0tO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gbnVtO1xcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIFAyMjQgKCkge1xcbiAgICBNUHJpbWUuY2FsbChcXG4gICAgICB0aGlzLFxcbiAgICAgICdwMjI0JyxcXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcXG4gIH1cXG4gIGluaGVyaXRzKFAyMjQsIE1QcmltZSk7XFxuXFxuICBmdW5jdGlvbiBQMTkyICgpIHtcXG4gICAgTVByaW1lLmNhbGwoXFxuICAgICAgdGhpcyxcXG4gICAgICAncDE5MicsXFxuICAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmJyk7XFxuICB9XFxuICBpbmhlcml0cyhQMTkyLCBNUHJpbWUpO1xcblxcbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcXG4gICAgLy8gMiBeIDI1NSAtIDE5XFxuICAgIE1QcmltZS5jYWxsKFxcbiAgICAgIHRoaXMsXFxuICAgICAgJzI1NTE5JyxcXG4gICAgICAnN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCcpO1xcbiAgfVxcbiAgaW5oZXJpdHMoUDI1NTE5LCBNUHJpbWUpO1xcblxcbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcXG4gICAgLy8gSyA9IDB4MTNcXG4gICAgdmFyIGNhcnJ5ID0gMDtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgaGkgPSAobnVtLndvcmRzW2ldIHwgMCkgKiAweDEzICsgY2Fycnk7XFxuICAgICAgdmFyIGxvID0gaGkgJiAweDNmZmZmZmY7XFxuICAgICAgaGkgPj4+PSAyNjtcXG5cXG4gICAgICBudW0ud29yZHNbaV0gPSBsbztcXG4gICAgICBjYXJyeSA9IGhpO1xcbiAgICB9XFxuICAgIGlmIChjYXJyeSAhPT0gMCkge1xcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XFxuICAgIH1cXG4gICAgcmV0dXJuIG51bTtcXG4gIH07XFxuXFxuICAvLyBFeHBvcnRlZCBtb3N0bHkgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHVzZSBwbGFpbiBuYW1lIGluc3RlYWRcXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XFxuICAgIC8vIENhY2hlZCB2ZXJzaW9uIG9mIHByaW1lXFxuICAgIGlmIChwcmltZXNbbmFtZV0pIHJldHVybiBwcmltZXNbbmFtZV07XFxuXFxuICAgIHZhciBwcmltZTtcXG4gICAgaWYgKG5hbWUgPT09ICdrMjU2Jykge1xcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcXG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDIyNCcpIHtcXG4gICAgICBwcmltZSA9IG5ldyBQMjI0KCk7XFxuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDE5MigpO1xcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjU1MTknKSB7XFxuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIHByaW1lICcgKyBuYW1lKTtcXG4gICAgfVxcbiAgICBwcmltZXNbbmFtZV0gPSBwcmltZTtcXG5cXG4gICAgcmV0dXJuIHByaW1lO1xcbiAgfTtcXG5cXG4gIC8vXFxuICAvLyBCYXNlIHJlZHVjdGlvbiBlbmdpbmVcXG4gIC8vXFxuICBmdW5jdGlvbiBSZWQgKG0pIHtcXG4gICAgaWYgKHR5cGVvZiBtID09PSAnc3RyaW5nJykge1xcbiAgICAgIHZhciBwcmltZSA9IEJOLl9wcmltZShtKTtcXG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xcbiAgICAgIHRoaXMucHJpbWUgPSBwcmltZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcXG4gICAgICB0aGlzLm0gPSBtO1xcbiAgICAgIHRoaXMucHJpbWUgPSBudWxsO1xcbiAgICB9XFxuICB9XFxuXFxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcXG4gICAgYXNzZXJ0KGEubmVnYXRpdmUgPT09IDAsICdyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcycpO1xcbiAgICBhc3NlcnQoYS5yZWQsICdyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5fdmVyaWZ5MiA9IGZ1bmN0aW9uIF92ZXJpZnkyIChhLCBiKSB7XFxuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcXG4gICAgYXNzZXJ0KGEucmVkICYmIGEucmVkID09PSBiLnJlZCxcXG4gICAgICAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW1vZCA9IGZ1bmN0aW9uIGltb2QgKGEpIHtcXG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgICByZXR1cm4gYS51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSB7XFxuICAgICAgcmV0dXJuIGEuY2xvbmUoKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gdGhpcy5tLnN1YihhKS5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuYWRkKGIpO1xcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMuaXN1Yih0aGlzLm0pO1xcbiAgICB9XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG5cXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcXG4gICAgaWYgKHJlcy5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzLmlzdWIodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3ViID0gZnVuY3Rpb24gc3ViIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuXFxuICAgIHZhciByZXMgPSBhLnN1YihiKTtcXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5pc3ViID0gZnVuY3Rpb24gaXN1YiAoYSwgYikge1xcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xcblxcbiAgICB2YXIgcmVzID0gYS5pc3ViKGIpO1xcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzLmlhZGQodGhpcy5tKTtcXG4gICAgfVxcbiAgICByZXR1cm4gcmVzO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcXG4gICAgdGhpcy5fdmVyaWZ5MShhKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLnVzaGxuKG51bSkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW11bCA9IGZ1bmN0aW9uIGltdWwgKGEsIGIpIHtcXG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChhLmltdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIHRoaXMuX3ZlcmlmeTIoYSwgYik7XFxuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcXG4gICAgcmV0dXJuIHRoaXMuaW11bChhLCBhLmNsb25lKCkpO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyIChhKSB7XFxuICAgIHJldHVybiB0aGlzLm11bChhLCBhKTtcXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnNxcnQgPSBmdW5jdGlvbiBzcXJ0IChhKSB7XFxuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xcblxcbiAgICB2YXIgbW9kMyA9IHRoaXMubS5hbmRsbigzKTtcXG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcXG5cXG4gICAgLy8gRmFzdCBjYXNlXFxuICAgIGlmIChtb2QzID09PSAzKSB7XFxuICAgICAgdmFyIHBvdyA9IHRoaXMubS5hZGQobmV3IEJOKDEpKS5pdXNocm4oMik7XFxuICAgICAgcmV0dXJuIHRoaXMucG93KGEsIHBvdyk7XFxuICAgIH1cXG5cXG4gICAgLy8gVG9uZWxsaS1TaGFua3MgYWxnb3JpdGhtIChUb3RhbGx5IHVub3B0aW1pemVkIGFuZCBzbG93KVxcbiAgICAvL1xcbiAgICAvLyBGaW5kIFEgYW5kIFMsIHRoYXQgUSAqIDIgXiBTID0gKFAgLSAxKVxcbiAgICB2YXIgcSA9IHRoaXMubS5zdWJuKDEpO1xcbiAgICB2YXIgcyA9IDA7XFxuICAgIHdoaWxlICghcS5pc1plcm8oKSAmJiBxLmFuZGxuKDEpID09PSAwKSB7XFxuICAgICAgcysrO1xcbiAgICAgIHEuaXVzaHJuKDEpO1xcbiAgICB9XFxuICAgIGFzc2VydCghcS5pc1plcm8oKSk7XFxuXFxuICAgIHZhciBvbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIHZhciBuT25lID0gb25lLnJlZE5lZygpO1xcblxcbiAgICAvLyBGaW5kIHF1YWRyYXRpYyBub24tcmVzaWR1ZVxcbiAgICAvLyBOT1RFOiBNYXggaXMgc3VjaCBiZWNhdXNlIG9mIGdlbmVyYWxpemVkIFJpZW1hbm4gaHlwb3RoZXNpcy5cXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XFxuICAgIHZhciB6ID0gdGhpcy5tLmJpdExlbmd0aCgpO1xcbiAgICB6ID0gbmV3IEJOKDIgKiB6ICogeikudG9SZWQodGhpcyk7XFxuXFxuICAgIHdoaWxlICh0aGlzLnBvdyh6LCBscG93KS5jbXAobk9uZSkgIT09IDApIHtcXG4gICAgICB6LnJlZElBZGQobk9uZSk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGMgPSB0aGlzLnBvdyh6LCBxKTtcXG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcXG4gICAgdmFyIHQgPSB0aGlzLnBvdyhhLCBxKTtcXG4gICAgdmFyIG0gPSBzO1xcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xcbiAgICAgIHZhciB0bXAgPSB0O1xcbiAgICAgIGZvciAodmFyIGkgPSAwOyB0bXAuY21wKG9uZSkgIT09IDA7IGkrKykge1xcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xcbiAgICAgIH1cXG4gICAgICBhc3NlcnQoaSA8IG0pO1xcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcXG5cXG4gICAgICByID0gci5yZWRNdWwoYik7XFxuICAgICAgYyA9IGIucmVkU3FyKCk7XFxuICAgICAgdCA9IHQucmVkTXVsKGMpO1xcbiAgICAgIG0gPSBpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcXG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XFxuICAgIGlmIChpbnYubmVnYXRpdmUgIT09IDApIHtcXG4gICAgICBpbnYubmVnYXRpdmUgPSAwO1xcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm4gdGhpcy5pbW9kKGludik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XFxuICAgIGlmIChudW0uaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMSkudG9SZWQodGhpcyk7XFxuICAgIGlmIChudW0uY21wbigxKSA9PT0gMCkgcmV0dXJuIGEuY2xvbmUoKTtcXG5cXG4gICAgdmFyIHdpbmRvd1NpemUgPSA0O1xcbiAgICB2YXIgd25kID0gbmV3IEFycmF5KDEgPDwgd2luZG93U2l6ZSk7XFxuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcXG4gICAgd25kWzFdID0gYTtcXG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCB3bmQubGVuZ3RoOyBpKyspIHtcXG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcXG4gICAgfVxcblxcbiAgICB2YXIgcmVzID0gd25kWzBdO1xcbiAgICB2YXIgY3VycmVudCA9IDA7XFxuICAgIHZhciBjdXJyZW50TGVuID0gMDtcXG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XFxuICAgIGlmIChzdGFydCA9PT0gMCkge1xcbiAgICAgIHN0YXJ0ID0gMjY7XFxuICAgIH1cXG5cXG4gICAgZm9yIChpID0gbnVtLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XFxuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XFxuICAgICAgZm9yICh2YXIgaiA9IHN0YXJ0IC0gMTsgaiA+PSAwOyBqLS0pIHtcXG4gICAgICAgIHZhciBiaXQgPSAod29yZCA+PiBqKSAmIDE7XFxuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcXG4gICAgICAgICAgcmVzID0gdGhpcy5zcXIocmVzKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChiaXQgPT09IDAgJiYgY3VycmVudCA9PT0gMCkge1xcbiAgICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgICAgY29udGludWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjdXJyZW50IDw8PSAxO1xcbiAgICAgICAgY3VycmVudCB8PSBiaXQ7XFxuICAgICAgICBjdXJyZW50TGVuKys7XFxuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XFxuXFxuICAgICAgICByZXMgPSB0aGlzLm11bChyZXMsIHduZFtjdXJyZW50XSk7XFxuICAgICAgICBjdXJyZW50TGVuID0gMDtcXG4gICAgICAgIGN1cnJlbnQgPSAwO1xcbiAgICAgIH1cXG4gICAgICBzdGFydCA9IDI2O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xcbiAgICB2YXIgciA9IG51bS51bW9kKHRoaXMubSk7XFxuXFxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xcbiAgfTtcXG5cXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XFxuICAgIHZhciByZXMgPSBudW0uY2xvbmUoKTtcXG4gICAgcmVzLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByZXM7XFxuICB9O1xcblxcbiAgLy9cXG4gIC8vIE1vbnRnb21lcnkgbWV0aG9kIGVuZ2luZVxcbiAgLy9cXG5cXG4gIEJOLm1vbnQgPSBmdW5jdGlvbiBtb250IChudW0pIHtcXG4gICAgcmV0dXJuIG5ldyBNb250KG51bSk7XFxuICB9O1xcblxcbiAgZnVuY3Rpb24gTW9udCAobSkge1xcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcXG5cXG4gICAgdGhpcy5zaGlmdCA9IHRoaXMubS5iaXRMZW5ndGgoKTtcXG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xcbiAgICAgIHRoaXMuc2hpZnQgKz0gMjYgLSAodGhpcy5zaGlmdCAlIDI2KTtcXG4gICAgfVxcblxcbiAgICB0aGlzLnIgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMuc2hpZnQpO1xcbiAgICB0aGlzLnIyID0gdGhpcy5pbW9kKHRoaXMuci5zcXIoKSk7XFxuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcXG5cXG4gICAgdGhpcy5taW52ID0gdGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xcbiAgICB0aGlzLm1pbnYgPSB0aGlzLnIuc3ViKHRoaXMubWludik7XFxuICB9XFxuICBpbmhlcml0cyhNb250LCBSZWQpO1xcblxcbiAgTW9udC5wcm90b3R5cGUuY29udmVydFRvID0gZnVuY3Rpb24gY29udmVydFRvIChudW0pIHtcXG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xcbiAgICB2YXIgciA9IHRoaXMuaW1vZChudW0ubXVsKHRoaXMucmludikpO1xcbiAgICByLnJlZCA9IG51bGw7XFxuICAgIHJldHVybiByO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHtcXG4gICAgICBhLndvcmRzWzBdID0gMDtcXG4gICAgICBhLmxlbmd0aCA9IDE7XFxuICAgICAgcmV0dXJuIGE7XFxuICAgIH1cXG5cXG4gICAgdmFyIHQgPSBhLmltdWwoYik7XFxuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XFxuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcXG4gICAgdmFyIHJlcyA9IHU7XFxuXFxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcXG4gICAgICByZXMgPSB1LmlzdWIodGhpcy5tKTtcXG4gICAgfSBlbHNlIGlmICh1LmNtcG4oMCkgPCAwKSB7XFxuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XFxuICB9O1xcblxcbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XFxuICAgIGlmIChhLmlzWmVybygpIHx8IGIuaXNaZXJvKCkpIHJldHVybiBuZXcgQk4oMCkuX2ZvcmNlUmVkKHRoaXMpO1xcblxcbiAgICB2YXIgdCA9IGEubXVsKGIpO1xcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xcbiAgICB2YXIgdSA9IHQuaXN1YihjKS5pdXNocm4odGhpcy5zaGlmdCk7XFxuICAgIHZhciByZXMgPSB1O1xcbiAgICBpZiAodS5jbXAodGhpcy5tKSA+PSAwKSB7XFxuICAgICAgcmVzID0gdS5pc3ViKHRoaXMubSk7XFxuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xcbiAgICAgIHJlcyA9IHUuaWFkZCh0aGlzLm0pO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG5cXG4gIE1vbnQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XFxuICAgIC8vIChBUileLTEgKiBSXjIgPSAoQV4tMSAqIFJeLTEpICogUl4yID0gQV4tMSAqIFJcXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XFxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xcbiAgfTtcXG59KSggZmFsc2UgfHwgbW9kdWxlLCB0aGlzKTtcXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxcIikobW9kdWxlKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3ZFdKc2FXTXRaVzVqY25sd2RDOXViMlJsWDIxdlpIVnNaWE12WW00dWFuTXZiR2xpTDJKdUxtcHpQMkl3WVRBaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExHZENRVUZSTzBGQlF6ZENMRWRCUVVjN1FVRkRTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRUQ3gzUTBGQmQwTTdRVUZEZUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNRMEZCZDBNc1VVRkJVVHRCUVVOb1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NkMEpCUVhkQ0xHMUNRVUZ0UWp0QlFVTXpRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTEZOQlFWTTdRVUZEYUVNN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc2FVSkJRV2xDTzBGQlEzQkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjME5CUVhORExGbEJRVms3UVVGRGJFUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNVMEZCVXp0QlFVTm9RenM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFBRVUZQTzBGQlExQTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMSE5EUVVGelF5eHpRa0ZCYzBJN1FVRkROVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVUpCUVhWQ0xGTkJRVk03UVVGRGFFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xGTkJRVk03UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEcxQ1FVRnRRaXhwUWtGQmFVSTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRaXhwUWtGQmFVSTdRVUZEZEVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXcwUWtGQk5FSTdRVUZETjBNN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1lVRkJZVHRCUVVNNVFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzYVVKQlFXbENMR0ZCUVdFN1FVRkRPVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxGbEJRVmtzWlVGQlpUdEJRVU16UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVN4eFFrRkJjVUlzWjBKQlFXZENPMEZCUTNKRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWl4cFFrRkJhVUk3UVVGRGNFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEdkQ1FVRm5RanRCUVVOdVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk8wRkJRMEVzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc2FVSkJRV2xDTzBGQlEzQkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGVkJRVlVzTmtKQlFUWkNPMEZCUTNaRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NXVUZCV1N4alFVRmpPMEZCUXpGQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVSkJRVzFDTEdOQlFXTTdRVUZEYWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFZRVUZWTERaQ1FVRTJRanRCUVVOMlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzV1VGQldTeGpRVUZqTzBGQlF6RkNPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHRRa0ZCYlVJc1UwRkJVenRCUVVNMVFqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2IwUkJRVzlFTEZkQlFWYzdRVUZETDBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNiMEpCUVc5Q08wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHOUVRVUZ2UkN4WFFVRlhPMEZCUXk5RU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzVDBGQlR6dEJRVU14UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4UFFVRlBPMEZCUXpGQ096dEJRVVZCTzBGQlEwRTdPMEZCUlVFc2NVSkJRWEZDTEU5QlFVODdRVUZETlVJN1FVRkRRVHM3UVVGRlFTeDFRa0ZCZFVJc1QwRkJUenRCUVVNNVFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2RVSkJRWFZDTEVkQlFVYzdRVUZETVVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMRmRCUVZjN1FVRkRPVUk3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRmRCUVZjN1FVRkRPVUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPenRCUVVWQkxHdERRVUZyUXp0QlFVTnNReXh6UTBGQmMwTTdRVUZEZEVNN08wRkJSVUU3UVVGRFFTeHhRa0ZCY1VJc1QwRkJUenRCUVVNMVFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xFOUJRVTg3UVVGRE1VSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNUMEZCVHp0QlFVTXhRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2xDUVVGcFFqdEJRVU53UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUlzWTBGQll6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMR05CUVdNN1FVRkRNME03TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNhVUpCUVdsQ08wRkJRMnhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxDdENRVUVyUWl4UlFVRlJPMEZCUTNaRE8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xFOUJRVTg3UVVGRGVFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xFOUJRVTg3UVVGRE5VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMR2xDUVVGcFFpeHBRa0ZCYVVJN1FVRkRiRU03UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRaXdyUTBGQkswTTdRVUZEYkVVN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzY1VKQlFYRkNMSE5EUVVGelF6dEJRVU16UkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEdWQlFXVXNaMEpCUVdkQ08wRkJReTlDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGVkJRVlVzZVVKQlFYbENPMEZCUTI1RE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdWQlFXVXNhVUpCUVdsQ08wRkJRMmhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSEZDUVVGeFFpeGpRVUZqTzBGQlEyNURPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDFRa0ZCZFVJc1VVRkJVVHRCUVVNdlFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHBRMEZCYVVNc1VVRkJVVHRCUVVONlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2FVTkJRV2xETEZGQlFWRTdRVUZEZWtNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzTmtKQlFUWkNMRzFEUVVGdFF6dEJRVU5vUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTdzJRa0ZCTmtJc2JVTkJRVzFETzBGQlEyaEZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFc05rSkJRVFpDTEcxRFFVRnRRenRCUVVOb1JUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRFpDUVVFMlFpeHRRMEZCYlVNN1FVRkRhRVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZFVKQlFYVkNMREJDUVVFd1FqdEJRVU5xUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3h0UWtGQmJVSXNaME5CUVdkRE8wRkJRMjVFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFEwRkJhVU1zVVVGQlVUdEJRVU42UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc1dVRkJXVHRCUVVNdlFqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWjBKQlFXZENMR3RDUVVGclFqdEJRVU5zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJc1owSkJRV2RDTzBGQlEyNURPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xHOUNRVUZ2UWp0QlFVTjZRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMR2RDUVVGblFqdEJRVU51UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxEUkNRVUUwUWl4UlFVRlJPMEZCUTNCRE8wRkJRMEVzTmtKQlFUWkNMRkZCUVZFN1FVRkRja003UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNc1JVRkJSU3hOUVVFMlFpSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzl1YjJSbFgyMXZaSFZzWlhNdlltNHVhbk12YkdsaUwySnVMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lLR1oxYm1OMGFXOXVJQ2h0YjJSMWJHVXNJR1Y0Y0c5eWRITXBJSHRjYmlBZ0ozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0Z0lDOHZJRlYwYVd4elhHNGdJR1oxYm1OMGFXOXVJR0Z6YzJWeWRDQW9kbUZzTENCdGMyY3BJSHRjYmlBZ0lDQnBaaUFvSVhaaGJDa2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMXpaeUI4ZkNBblFYTnpaWEowYVc5dUlHWmhhV3hsWkNjcE8xeHVJQ0I5WEc1Y2JpQWdMeThnUTI5MWJHUWdkWE5sSUdCcGJtaGxjbWwwYzJBZ2JXOWtkV3hsTENCaWRYUWdaRzl1SjNRZ2QyRnVkQ0IwYnlCdGIzWmxJR1p5YjIwZ2MybHVaMnhsSUdacGJHVmNiaUFnTHk4Z1lYSmphR2wwWldOMGRYSmxJSGxsZEM1Y2JpQWdablZ1WTNScGIyNGdhVzVvWlhKcGRITWdLR04wYjNJc0lITjFjR1Z5UTNSdmNpa2dlMXh1SUNBZ0lHTjBiM0l1YzNWd1pYSmZJRDBnYzNWd1pYSkRkRzl5TzF4dUlDQWdJSFpoY2lCVVpXMXdRM1J2Y2lBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dUlDQWdJRlJsYlhCRGRHOXlMbkJ5YjNSdmRIbHdaU0E5SUhOMWNHVnlRM1J2Y2k1d2NtOTBiM1I1Y0dVN1hHNGdJQ0FnWTNSdmNpNXdjbTkwYjNSNWNHVWdQU0J1WlhjZ1ZHVnRjRU4wYjNJb0tUdGNiaUFnSUNCamRHOXlMbkJ5YjNSdmRIbHdaUzVqYjI1emRISjFZM1J2Y2lBOUlHTjBiM0k3WEc0Z0lIMWNibHh1SUNBdkx5QkNUbHh1WEc0Z0lHWjFibU4wYVc5dUlFSk9JQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUdsbUlDaENUaTVwYzBKT0tHNTFiV0psY2lrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXMWlaWEk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1WEc0Z0lDQWdMeThnVW1Wa2RXTjBhVzl1SUdOdmJuUmxlSFJjYmlBZ0lDQjBhR2x6TG5KbFpDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9iblZ0WW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBaaUFvWW1GelpTQTlQVDBnSjJ4bEp5QjhmQ0JpWVhObElEMDlQU0FuWW1VbktTQjdYRzRnSUNBZ0lDQWdJR1Z1WkdsaGJpQTlJR0poYzJVN1hHNGdJQ0FnSUNBZ0lHSmhjMlVnUFNBeE1EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkR2hwY3k1ZmFXNXBkQ2h1ZFcxaVpYSWdmSHdnTUN3Z1ltRnpaU0I4ZkNBeE1Dd2daVzVrYVdGdUlIeDhJQ2RpWlNjcE8xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCcFppQW9kSGx3Wlc5bUlHMXZaSFZzWlNBOVBUMGdKMjlpYW1WamRDY3BJSHRjYmlBZ0lDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlFSk9PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR1Y0Y0c5eWRITXVRazRnUFNCQ1RqdGNiaUFnZlZ4dVhHNGdJRUpPTGtKT0lEMGdRazQ3WEc0Z0lFSk9MbmR2Y21SVGFYcGxJRDBnTWpZN1hHNWNiaUFnZG1GeUlFSjFabVpsY2p0Y2JpQWdkSEo1SUh0Y2JpQWdJQ0JDZFdabVpYSWdQU0J5WlhGMWFYSmxLQ2RpZFdabVpYSW5LUzVDZFdabVpYSTdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnZlZ4dVhHNGdJRUpPTG1selFrNGdQU0JtZFc1amRHbHZiaUJwYzBKT0lDaHVkVzBwSUh0Y2JpQWdJQ0JwWmlBb2JuVnRJR2x1YzNSaGJtTmxiMllnUWs0cElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXMGdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzUxYlNBOVBUMGdKMjlpYW1WamRDY2dKaVpjYmlBZ0lDQWdJRzUxYlM1amIyNXpkSEoxWTNSdmNpNTNiM0prVTJsNlpTQTlQVDBnUWs0dWQyOXlaRk5wZW1VZ0ppWWdRWEp5WVhrdWFYTkJjbkpoZVNodWRXMHVkMjl5WkhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG0xaGVDQTlJR1oxYm1OMGFXOXVJRzFoZUNBb2JHVm1kQ3dnY21sbmFIUXBJSHRjYmlBZ0lDQnBaaUFvYkdWbWRDNWpiWEFvY21sbmFIUXBJRDRnTUNrZ2NtVjBkWEp1SUd4bFpuUTdYRzRnSUNBZ2NtVjBkWEp1SUhKcFoyaDBPMXh1SUNCOU8xeHVYRzRnSUVKT0xtMXBiaUE5SUdaMWJtTjBhVzl1SUcxcGJpQW9iR1ZtZEN3Z2NtbG5hSFFwSUh0Y2JpQWdJQ0JwWmlBb2JHVm1kQzVqYlhBb2NtbG5hSFFwSUR3Z01Da2djbVYwZFhKdUlHeGxablE3WEc0Z0lDQWdjbVYwZFhKdUlISnBaMmgwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmYVc1cGRDQTlJR1oxYm1OMGFXOXVJR2x1YVhRZ0tHNTFiV0psY2l3Z1ltRnpaU3dnWlc1a2FXRnVLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ1ZFcxaVpYSWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NWZhVzVwZEU1MWJXSmxjaWh1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdWRXMWlaWElnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYVc1cGRFRnljbUY1S0c1MWJXSmxjaXdnWW1GelpTd2daVzVrYVdGdUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHSmhjMlVnUFNBeE5qdGNiaUFnSUNCOVhHNGdJQ0FnWVhOelpYSjBLR0poYzJVZ1BUMDlJQ2hpWVhObElId2dNQ2tnSmlZZ1ltRnpaU0ErUFNBeUlDWW1JR0poYzJVZ1BEMGdNellwTzF4dVhHNGdJQ0FnYm5WdFltVnlJRDBnYm5WdFltVnlMblJ2VTNSeWFXNW5LQ2t1Y21Wd2JHRmpaU2d2WEZ4ekt5OW5MQ0FuSnlrN1hHNGdJQ0FnZG1GeUlITjBZWEowSUQwZ01EdGNiaUFnSUNCcFppQW9iblZ0WW1WeVd6QmRJRDA5UFNBbkxTY3BJSHRjYmlBZ0lDQWdJSE4wWVhKMEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR0poYzJVZ1BUMDlJREUyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDl3WVhKelpVaGxlQ2h1ZFcxaVpYSXNJSE4wWVhKMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NWZjR0Z5YzJWQ1lYTmxLRzUxYldKbGNpd2dZbUZ6WlN3Z2MzUmhjblFwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWRXMWlaWEpiTUYwZ1BUMDlJQ2N0SnlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXpkSEpwY0NncE8xeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ2RHaHBjeTVmYVc1cGRFRnljbUY1S0hSb2FYTXVkRzlCY25KaGVTZ3BMQ0JpWVhObExDQmxibVJwWVc0cE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNXBkRTUxYldKbGNpQTlJR1oxYm1OMGFXOXVJRjlwYm1sMFRuVnRZbVZ5SUNodWRXMWlaWElzSUdKaGMyVXNJR1Z1WkdsaGJpa2dlMXh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0FnSUc1MWJXSmxjaUE5SUMxdWRXMWlaWEk3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2h1ZFcxaVpYSWdQQ0F3ZURRd01EQXdNREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaUJkTzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9iblZ0WW1WeUlEd2dNSGd4TURBd01EQXdNREF3TURBd01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZ0Y2JpQWdJQ0FnSUNBZ2JuVnRZbVZ5SUNZZ01IZ3pabVptWm1abUxGeHVJQ0FnSUNBZ0lDQW9iblZ0WW1WeUlDOGdNSGcwTURBd01EQXdLU0FtSURCNE0yWm1abVptWmx4dUlDQWdJQ0FnWFR0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdNanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0c1MWJXSmxjaUE4SURCNE1qQXdNREF3TURBd01EQXdNREFwT3lBdkx5QXlJRjRnTlRNZ0tIVnVjMkZtWlNsY2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhNZ1BTQmJYRzRnSUNBZ0lDQWdJRzUxYldKbGNpQW1JREI0TTJabVptWm1aaXhjYmlBZ0lDQWdJQ0FnS0c1MWJXSmxjaUF2SURCNE5EQXdNREF3TUNrZ0ppQXdlRE5tWm1abVptWXNYRzRnSUNBZ0lDQWdJREZjYmlBZ0lDQWdJRjA3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNBOUlETTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1Z1WkdsaGJpQWhQVDBnSjJ4bEp5a2djbVYwZFhKdU8xeHVYRzRnSUNBZ0x5OGdVbVYyWlhKelpTQjBhR1VnWW5sMFpYTmNiaUFnSUNCMGFHbHpMbDlwYm1sMFFYSnlZWGtvZEdocGN5NTBiMEZ5Y21GNUtDa3NJR0poYzJVc0lHVnVaR2xoYmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTGw5cGJtbDBRWEp5WVhrZ1BTQm1kVzVqZEdsdmJpQmZhVzVwZEVGeWNtRjVJQ2h1ZFcxaVpYSXNJR0poYzJVc0lHVnVaR2xoYmlrZ2UxeHVJQ0FnSUM4dklGQmxjbWhoY0hNZ1lTQlZhVzUwT0VGeWNtRjVYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJ1ZFcxaVpYSXViR1Z1WjNSb0lEMDlQU0FuYm5WdFltVnlKeWs3WEc0Z0lDQWdhV1lnS0c1MWJXSmxjaTVzWlc1bmRHZ2dQRDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRnNnTUNCZE8xeHVJQ0FnSUNBZ2RHaHBjeTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQk5ZWFJvTG1ObGFXd29iblZ0WW1WeUxteGxibWQwYUNBdklETXBPMXh1SUNBZ0lIUm9hWE11ZDI5eVpITWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NXNaVzVuZEdncE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHb3NJSGM3WEc0Z0lDQWdkbUZ5SUc5bVppQTlJREE3WEc0Z0lDQWdhV1lnS0dWdVpHbGhiaUE5UFQwZ0oySmxKeWtnZTF4dUlDQWdJQ0FnWm05eUlDaHBJRDBnYm5WdFltVnlMbXhsYm1kMGFDQXRJREVzSUdvZ1BTQXdPeUJwSUQ0OUlEQTdJR2tnTFQwZ015a2dlMXh1SUNBZ0lDQWdJQ0IzSUQwZ2JuVnRZbVZ5VzJsZElId2dLRzUxYldKbGNsdHBJQzBnTVYwZ1BEd2dPQ2tnZkNBb2JuVnRZbVZ5VzJrZ0xTQXlYU0E4UENBeE5pazdYRzRnSUNBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iYWwwZ2ZEMGdLSGNnUER3Z2IyWm1LU0FtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHFJQ3NnTVYwZ1BTQW9keUErUGo0Z0tESTJJQzBnYjJabUtTa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUc5bVppQXJQU0F5TkR0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnVaR2xoYmlBOVBUMGdKMnhsSnlrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Dd2dhaUE5SURBN0lHa2dQQ0J1ZFcxaVpYSXViR1Z1WjNSb095QnBJQ3M5SURNcElIdGNiaUFnSUNBZ0lDQWdkeUE5SUc1MWJXSmxjbHRwWFNCOElDaHVkVzFpWlhKYmFTQXJJREZkSUR3OElEZ3BJSHdnS0c1MWJXSmxjbHRwSUNzZ01sMGdQRHdnTVRZcE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMnBkSUh3OUlDaDNJRHc4SUc5bVppa2dKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFpQXJJREZkSUQwZ0tIY2dQajQrSUNneU5pQXRJRzltWmlrcElDWWdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0J2Wm1ZZ0t6MGdNalE3WEc0Z0lDQWdJQ0FnSUdsbUlDaHZabVlnUGowZ01qWXBJSHRjYmlBZ0lDQWdJQ0FnSUNCdlptWWdMVDBnTWpZN1hHNGdJQ0FnSUNBZ0lDQWdhaXNyTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHRnljMlZJWlhnZ0tITjBjaXdnYzNSaGNuUXNJR1Z1WkNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnVFdGMGFDNXRhVzRvYzNSeUxteGxibWQwYUN3Z1pXNWtLVHRjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnYzNSaGNuUTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCemRISXVZMmhoY2tOdlpHVkJkQ2hwS1NBdElEUTRPMXh1WEc0Z0lDQWdJQ0J5SUR3OFBTQTBPMXh1WEc0Z0lDQWdJQ0F2THlBbllTY2dMU0FuWmlkY2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURRNUlDWW1JR01nUEQwZ05UUXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTkRrZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDZEJKeUF0SUNkR0oxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpJRDQ5SURFM0lDWW1JR01nUEQwZ01qSXBJSHRjYmlBZ0lDQWdJQ0FnY2lCOFBTQmpJQzBnTVRjZ0t5QXdlR0U3WEc1Y2JpQWdJQ0FnSUM4dklDY3dKeUF0SUNjNUoxeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2NpQjhQU0JqSUNZZ01IaG1PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY2p0Y2JpQWdmVnh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVmY0dGeWMyVklaWGdnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZJWlhnZ0tHNTFiV0psY2l3Z2MzUmhjblFwSUh0Y2JpQWdJQ0F2THlCRGNtVmhkR1VnY0c5emMybGliSGtnWW1sbloyVnlJR0Z5Y21GNUlIUnZJR1Z1YzNWeVpTQjBhR0YwSUdsMElHWnBkSE1nZEdobElHNTFiV0psY2x4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzVqWldsc0tDaHVkVzFpWlhJdWJHVnVaM1JvSUMwZ2MzUmhjblFwSUM4Z05pazdYRzRnSUNBZ2RHaHBjeTUzYjNKa2N5QTlJRzVsZHlCQmNuSmhlU2gwYUdsekxteGxibWQwYUNrN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnTUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2Fpd2dkenRjYmlBZ0lDQXZMeUJUWTJGdUlESTBMV0pwZENCamFIVnVhM01nWVc1a0lHRmtaQ0IwYUdWdElIUnZJSFJvWlNCdWRXMWlaWEpjYmlBZ0lDQjJZWElnYjJabUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0drZ1BTQnVkVzFpWlhJdWJHVnVaM1JvSUMwZ05pd2dhaUE5SURBN0lHa2dQajBnYzNSaGNuUTdJR2tnTFQwZ05pa2dlMXh1SUNBZ0lDQWdkeUE5SUhCaGNuTmxTR1Y0S0c1MWJXSmxjaXdnYVN3Z2FTQXJJRFlwTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cVhTQjhQU0FvZHlBOFBDQnZabVlwSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ0x5OGdUazlVUlRvZ1lEQjRNMlptWm1abVlDQnBjeUJwYm5SbGJuUnBiMjVoYkNCb1pYSmxMQ0F5Tm1KcGRITWdiV0Y0SUhOb2FXWjBJQ3NnTWpSaWFYUWdhR1Y0SUd4cGJXSmNiaUFnSUNBZ0lIUm9hWE11ZDI5eVpITmJhaUFySURGZElIdzlJSGNnUGo0K0lDZ3lOaUF0SUc5bVppa2dKaUF3ZURObVptWm1aanRjYmlBZ0lDQWdJRzltWmlBclBTQXlORHRjYmlBZ0lDQWdJR2xtSUNodlptWWdQajBnTWpZcElIdGNiaUFnSUNBZ0lDQWdiMlptSUMwOUlESTJPMXh1SUNBZ0lDQWdJQ0JxS3lzN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR2xtSUNocElDc2dOaUFoUFQwZ2MzUmhjblFwSUh0Y2JpQWdJQ0FnSUhjZ1BTQndZWEp6WlVobGVDaHVkVzFpWlhJc0lITjBZWEowTENCcElDc2dOaWs3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJwZElIdzlJQ2gzSUR3OElHOW1aaWtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcyb2dLeUF4WFNCOFBTQjNJRDQrUGlBb01qWWdMU0J2Wm1ZcElDWWdNSGd6Wm1abVptWTdYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUJ3WVhKelpVSmhjMlVnS0hOMGNpd2djM1JoY25Rc0lHVnVaQ3dnYlhWc0tTQjdYRzRnSUNBZ2RtRnlJSElnUFNBd08xeHVJQ0FnSUhaaGNpQnNaVzRnUFNCTllYUm9MbTFwYmloemRISXViR1Z1WjNSb0xDQmxibVFwTzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCemRHRnlkRHNnYVNBOElHeGxianNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnWXlBOUlITjBjaTVqYUdGeVEyOWtaVUYwS0drcElDMGdORGc3WEc1Y2JpQWdJQ0FnSUhJZ0tqMGdiWFZzTzF4dVhHNGdJQ0FnSUNBdkx5QW5ZU2RjYmlBZ0lDQWdJR2xtSUNoaklENDlJRFE1S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnWXlBdElEUTVJQ3NnTUhoaE8xeHVYRzRnSUNBZ0lDQXZMeUFuUVNkY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1l5QStQU0F4TnlrZ2UxeHVJQ0FnSUNBZ0lDQnlJQ3M5SUdNZ0xTQXhOeUFySURCNFlUdGNibHh1SUNBZ0lDQWdMeThnSnpBbklDMGdKemtuWEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0J5SUNzOUlHTTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDl3WVhKelpVSmhjMlVnUFNCbWRXNWpkR2x2YmlCZmNHRnljMlZDWVhObElDaHVkVzFpWlhJc0lHSmhjMlVzSUhOMFlYSjBLU0I3WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2WlNCaGN5QjZaWEp2WEc0Z0lDQWdkR2hwY3k1M2IzSmtjeUE5SUZzZ01DQmRPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTVR0Y2JseHVJQ0FnSUM4dklFWnBibVFnYkdWdVozUm9JRzltSUd4cGJXSWdhVzRnWW1GelpWeHVJQ0FnSUdadmNpQW9kbUZ5SUd4cGJXSk1aVzRnUFNBd0xDQnNhVzFpVUc5M0lEMGdNVHNnYkdsdFlsQnZkeUE4UFNBd2VETm1abVptWm1ZN0lHeHBiV0pRYjNjZ0tqMGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ2JHbHRZa3hsYmlzck8xeHVJQ0FnSUgxY2JpQWdJQ0JzYVcxaVRHVnVMUzA3WEc0Z0lDQWdiR2x0WWxCdmR5QTlJQ2hzYVcxaVVHOTNJQzhnWW1GelpTa2dmQ0F3TzF4dVhHNGdJQ0FnZG1GeUlIUnZkR0ZzSUQwZ2JuVnRZbVZ5TG14bGJtZDBhQ0F0SUhOMFlYSjBPMXh1SUNBZ0lIWmhjaUJ0YjJRZ1BTQjBiM1JoYkNBbElHeHBiV0pNWlc0N1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUUxaGRHZ3ViV2x1S0hSdmRHRnNMQ0IwYjNSaGJDQXRJRzF2WkNrZ0t5QnpkR0Z5ZER0Y2JseHVJQ0FnSUhaaGNpQjNiM0prSUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdjM1JoY25RN0lHa2dQQ0JsYm1RN0lHa2dLejBnYkdsdFlreGxiaWtnZTF4dUlDQWdJQ0FnZDI5eVpDQTlJSEJoY25ObFFtRnpaU2h1ZFcxaVpYSXNJR2tzSUdrZ0t5QnNhVzFpVEdWdUxDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ2RHaHBjeTVwYlhWc2JpaHNhVzFpVUc5M0tUdGNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxuZHZjbVJ6V3pCZElDc2dkMjl5WkNBOElEQjROREF3TURBd01Da2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElDczlJSGR2Y21RN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbDlwWVdSa2JpaDNiM0prS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JXOWtJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjJZWElnY0c5M0lEMGdNVHRjYmlBZ0lDQWdJSGR2Y21RZ1BTQndZWEp6WlVKaGMyVW9iblZ0WW1WeUxDQnBMQ0J1ZFcxaVpYSXViR1Z1WjNSb0xDQmlZWE5sS1R0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUcxdlpEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIQnZkeUFxUFNCaVlYTmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IwYUdsekxtbHRkV3h1S0hCdmR5azdYRzRnSUNBZ0lDQnBaaUFvZEdocGN5NTNiM0prYzFzd1hTQXJJSGR2Y21RZ1BDQXdlRFF3TURBd01EQXBJSHRjYmlBZ0lDQWdJQ0FnZEdocGN5NTNiM0prYzFzd1hTQXJQU0IzYjNKa08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTVmYVdGa1pHNG9kMjl5WkNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVqYjNCNUlEMGdablZ1WTNScGIyNGdZMjl3ZVNBb1pHVnpkQ2tnZTF4dUlDQWdJR1JsYzNRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ3BPMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaR1Z6ZEM1M2IzSmtjMXRwWFNBOUlIUm9hWE11ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHUmxjM1F1YkdWdVozUm9JRDBnZEdocGN5NXNaVzVuZEdnN1hHNGdJQ0FnWkdWemRDNXVaV2RoZEdsMlpTQTlJSFJvYVhNdWJtVm5ZWFJwZG1VN1hHNGdJQ0FnWkdWemRDNXlaV1FnUFNCMGFHbHpMbkpsWkR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTJ4dmJtVWdQU0JtZFc1amRHbHZiaUJqYkc5dVpTQW9LU0I3WEc0Z0lDQWdkbUZ5SUhJZ1BTQnVaWGNnUWs0b2JuVnNiQ2s3WEc0Z0lDQWdkR2hwY3k1amIzQjVLSElwTzF4dUlDQWdJSEpsZEhWeWJpQnlPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZaWGh3WVc1a0lEMGdablZ1WTNScGIyNGdYMlY0Y0dGdVpDQW9jMmw2WlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElITnBlbVVwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmRHaHBjeTVzWlc1bmRHZ3JLMTBnUFNBd08xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJTWlcxdmRtVWdiR1ZoWkdsdVp5QmdNR0FnWm5KdmJTQmdkR2hwYzJCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5OMGNtbHdJRDBnWm5WdVkzUnBiMjRnYzNSeWFYQWdLQ2tnZTF4dUlDQWdJSGRvYVd4bElDaDBhR2x6TG14bGJtZDBhQ0ErSURFZ0ppWWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQzB0TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDI1dmNtMVRhV2R1SUQwZ1puVnVZM1JwYjI0Z1gyNXZjbTFUYVdkdUlDZ3BJSHRjYmlBZ0lDQXZMeUF0TUNBOUlEQmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYm5Od1pXTjBJRDBnWm5WdVkzUnBiMjRnYVc1emNHVmpkQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuSmxaQ0EvSUNjOFFrNHRVam9nSnlBNklDYzhRazQ2SUNjcElDc2dkR2hwY3k1MGIxTjBjbWx1WnlneE5pa2dLeUFuUGljN1hHNGdJSDA3WEc1Y2JpQWdMeXBjYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWFR0Y2JpQWdkbUZ5SUdkeWIzVndVMmw2WlhNZ1BTQmJYVHRjYmlBZ2RtRnlJR2R5YjNWd1FtRnpaWE1nUFNCYlhUdGNibHh1SUNCMllYSWdjeUE5SUNjbk8xeHVJQ0IyWVhJZ2FTQTlJQzB4TzF4dUlDQjNhR2xzWlNBb0t5dHBJRHdnUWs0dWQyOXlaRk5wZW1VcElIdGNiaUFnSUNCNlpYSnZjMXRwWFNBOUlITTdYRzRnSUNBZ2N5QXJQU0FuTUNjN1hHNGdJSDFjYmlBZ1ozSnZkWEJUYVhwbGMxc3dYU0E5SURBN1hHNGdJR2R5YjNWd1UybDZaWE5iTVYwZ1BTQXdPMXh1SUNCbmNtOTFjRUpoYzJWeld6QmRJRDBnTUR0Y2JpQWdaM0p2ZFhCQ1lYTmxjMXN4WFNBOUlEQTdYRzRnSUhaaGNpQmlZWE5sSUQwZ01pQXRJREU3WEc0Z0lIZG9hV3hsSUNncksySmhjMlVnUENBek5pQXJJREVwSUh0Y2JpQWdJQ0IyWVhJZ1ozSnZkWEJUYVhwbElEMGdNRHRjYmlBZ0lDQjJZWElnWjNKdmRYQkNZWE5sSUQwZ01UdGNiaUFnSUNCM2FHbHNaU0FvWjNKdmRYQkNZWE5sSUR3Z0tERWdQRHdnUWs0dWQyOXlaRk5wZW1VcElDOGdZbUZ6WlNrZ2UxeHVJQ0FnSUNBZ1ozSnZkWEJDWVhObElDbzlJR0poYzJVN1hHNGdJQ0FnSUNCbmNtOTFjRk5wZW1VZ0t6MGdNVHRjYmlBZ0lDQjlYRzRnSUNBZ1ozSnZkWEJUYVhwbGMxdGlZWE5sWFNBOUlHZHliM1Z3VTJsNlpUdGNiaUFnSUNCbmNtOTFjRUpoYzJWelcySmhjMlZkSUQwZ1ozSnZkWEJDWVhObE8xeHVJQ0I5WEc1Y2JpQWdLaTljYmx4dUlDQjJZWElnZW1WeWIzTWdQU0JiWEc0Z0lDQWdKeWNzWEc0Z0lDQWdKekFuTEZ4dUlDQWdJQ2N3TUNjc1hHNGdJQ0FnSnpBd01DY3NYRzRnSUNBZ0p6QXdNREFuTEZ4dUlDQWdJQ2N3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNQ2NzWEc0Z0lDQWdKekF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuTEZ4dUlDQWdJQ2N3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DY3NYRzRnSUNBZ0p6QXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNjc1hHNGdJQ0FnSnpBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFuWEc0Z0lGMDdYRzVjYmlBZ2RtRnlJR2R5YjNWd1UybDZaWE1nUFNCYlhHNGdJQ0FnTUN3Z01DeGNiaUFnSUNBeU5Td2dNVFlzSURFeUxDQXhNU3dnTVRBc0lEa3NJRGdzWEc0Z0lDQWdPQ3dnTnl3Z055d2dOeXdnTnl3Z05pd2dOaXhjYmlBZ0lDQTJMQ0EyTENBMkxDQTJMQ0EyTENBMUxDQTFMRnh1SUNBZ0lEVXNJRFVzSURVc0lEVXNJRFVzSURVc0lEVXNYRzRnSUNBZ05Td2dOU3dnTlN3Z05Td2dOU3dnTlN3Z05WeHVJQ0JkTzF4dVhHNGdJSFpoY2lCbmNtOTFjRUpoYzJWeklEMGdXMXh1SUNBZ0lEQXNJREFzWEc0Z0lDQWdNek0xTlRRME16SXNJRFF6TURRMk56SXhMQ0F4TmpjM056SXhOaXdnTkRnNE1qZ3hNalVzSURZd05EWTJNVGMyTENBME1ETTFNell3Tnl3Z01UWTNOemN5TVRZc1hHNGdJQ0FnTkRNd05EWTNNakVzSURFd01EQXdNREF3TENBeE9UUTROekUzTVN3Z016VTRNekU0TURnc0lEWXlOelE0TlRFM0xDQTNOVEk1TlRNMkxDQXhNVE01TURZeU5TeGNiaUFnSUNBeE5qYzNOekl4Tml3Z01qUXhNemMxTmprc0lETTBNREV5TWpJMExDQTBOekEwTlRnNE1Td2dOalF3TURBd01EQXNJRFF3T0RReE1ERXNJRFV4TlRNMk16SXNYRzRnSUNBZ05qUXpOak0wTXl3Z056azJNall5TkN3Z09UYzJOVFl5TlN3Z01URTRPREV6TnpZc0lERTBNelE0T1RBM0xDQXhOekl4TURNMk9Dd2dNakExTVRFeE5Ea3NYRzRnSUNBZ01qUXpNREF3TURBc0lESTROakk1TVRVeExDQXpNelUxTkRRek1pd2dNemt4TXpVek9UTXNJRFExTkRNMU5ESTBMQ0ExTWpVeU1UZzNOU3dnTmpBME5qWXhOelpjYmlBZ1hUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaUIwYjFOMGNtbHVaeUFvWW1GelpTd2djR0ZrWkdsdVp5a2dlMXh1SUNBZ0lHSmhjMlVnUFNCaVlYTmxJSHg4SURFd08xeHVJQ0FnSUhCaFpHUnBibWNnUFNCd1lXUmthVzVuSUh3Z01DQjhmQ0F4TzF4dVhHNGdJQ0FnZG1GeUlHOTFkRHRjYmlBZ0lDQnBaaUFvWW1GelpTQTlQVDBnTVRZZ2ZId2dZbUZ6WlNBOVBUMGdKMmhsZUNjcElIdGNiaUFnSUNBZ0lHOTFkQ0E5SUNjbk8xeHVJQ0FnSUNBZ2RtRnlJRzltWmlBOUlEQTdYRzRnSUNBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCMGFHbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJQ0FnZG1GeUlIZHZjbVFnUFNBb0tDaDNJRHc4SUc5bVppa2dmQ0JqWVhKeWVTa2dKaUF3ZUdabVptWm1aaWt1ZEc5VGRISnBibWNvTVRZcE8xeHVJQ0FnSUNBZ0lDQmpZWEp5ZVNBOUlDaDNJRDQrUGlBb01qUWdMU0J2Wm1ZcEtTQW1JREI0Wm1abVptWm1PMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnljbmtnSVQwOUlEQWdmSHdnYVNBaFBUMGdkR2hwY3k1c1pXNW5kR2dnTFNBeEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdlbVZ5YjNOYk5pQXRJSGR2Y21RdWJHVnVaM1JvWFNBcklIZHZjbVFnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdkMjl5WkNBcklHOTFkRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCdlptWWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2FXWWdLRzltWmlBK1BTQXlOaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHOW1aaUF0UFNBeU5qdGNiaUFnSUNBZ0lDQWdJQ0JwTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnZkWFFnUFNCallYSnllUzUwYjFOMGNtbHVaeWd4TmlrZ0t5QnZkWFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iM1YwTG14bGJtZDBhQ0FsSUhCaFpHUnBibWNnSVQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdiM1YwSUQwZ0p5MG5JQ3NnYjNWME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5MWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZbUZ6WlNBOVBUMGdLR0poYzJVZ2ZDQXdLU0FtSmlCaVlYTmxJRDQ5SURJZ0ppWWdZbUZ6WlNBOFBTQXpOaWtnZTF4dUlDQWdJQ0FnTHk4Z2RtRnlJR2R5YjNWd1UybDZaU0E5SUUxaGRHZ3VabXh2YjNJb1FrNHVkMjl5WkZOcGVtVWdLaUJOWVhSb0xreE9NaUF2SUUxaGRHZ3ViRzluS0dKaGMyVXBLVHRjYmlBZ0lDQWdJSFpoY2lCbmNtOTFjRk5wZW1VZ1BTQm5jbTkxY0ZOcGVtVnpXMkpoYzJWZE8xeHVJQ0FnSUNBZ0x5OGdkbUZ5SUdkeWIzVndRbUZ6WlNBOUlFMWhkR2d1Y0c5M0tHSmhjMlVzSUdkeWIzVndVMmw2WlNrN1hHNGdJQ0FnSUNCMllYSWdaM0p2ZFhCQ1lYTmxJRDBnWjNKdmRYQkNZWE5sYzF0aVlYTmxYVHRjYmlBZ0lDQWdJRzkxZENBOUlDY25PMXh1SUNBZ0lDQWdkbUZ5SUdNZ1BTQjBhR2x6TG1Oc2IyNWxLQ2s3WEc0Z0lDQWdJQ0JqTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIZG9hV3hsSUNnaFl5NXBjMXBsY204b0tTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NpQTlJR011Ylc5a2JpaG5jbTkxY0VKaGMyVXBMblJ2VTNSeWFXNW5LR0poYzJVcE8xeHVJQ0FnSUNBZ0lDQmpJRDBnWXk1cFpHbDJiaWhuY205MWNFSmhjMlVwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWXk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzkxZENBOUlIcGxjbTl6VzJkeWIzVndVMmw2WlNBdElISXViR1Z1WjNSb1hTQXJJSElnS3lCdmRYUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnYjNWMElEMGdjaUFySUc5MWREdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVhWE5hWlhKdktDa3BJSHRjYmlBZ0lDQWdJQ0FnYjNWMElEMGdKekFuSUNzZ2IzVjBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdkMmhwYkdVZ0tHOTFkQzVzWlc1bmRHZ2dKU0J3WVdSa2FXNW5JQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJRzkxZENBOUlDY3dKeUFySUc5MWREdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHOTFkQ0E5SUNjdEp5QXJJRzkxZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJ2ZFhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhOelpYSjBLR1poYkhObExDQW5RbUZ6WlNCemFHOTFiR1FnWW1VZ1ltVjBkMlZsYmlBeUlHRnVaQ0F6TmljcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIwNTFiV0psY2lBOUlHWjFibU4wYVc5dUlIUnZUblZ0WW1WeUlDZ3BJSHRjYmlBZ0lDQjJZWElnY21WMElEMGdkR2hwY3k1M2IzSmtjMXN3WFR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURJcElIdGNiaUFnSUNBZ0lISmxkQ0FyUFNCMGFHbHpMbmR2Y21Seld6RmRJQ29nTUhnME1EQXdNREF3TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BUMDlJRE1nSmlZZ2RHaHBjeTUzYjNKa2Mxc3lYU0E5UFQwZ01IZ3dNU2tnZTF4dUlDQWdJQ0FnTHk4Z1RrOVVSVG9nWVhRZ2RHaHBjeUJ6ZEdGblpTQnBkQ0JwY3lCcmJtOTNiaUIwYUdGMElIUm9aU0IwYjNBZ1ltbDBJR2x6SUhObGRGeHVJQ0FnSUNBZ2NtVjBJQ3M5SURCNE1UQXdNREF3TURBd01EQXdNREFnS3lBb2RHaHBjeTUzYjNKa2Mxc3hYU0FxSURCNE5EQXdNREF3TUNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRElwSUh0Y2JpQWdJQ0FnSUdGemMyVnlkQ2htWVd4elpTd2dKMDUxYldKbGNpQmpZVzRnYjI1c2VTQnpZV1psYkhrZ2MzUnZjbVVnZFhBZ2RHOGdOVE1nWW1sMGN5Y3BPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElEOGdMWEpsZENBNklISmxkRHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlLVTA5T0lEMGdablZ1WTNScGIyNGdkRzlLVTA5T0lDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTUwYjFOMGNtbHVaeWd4TmlrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5SdlFuVm1abVZ5SUQwZ1puVnVZM1JwYjI0Z2RHOUNkV1ptWlhJZ0tHVnVaR2xoYml3Z2JHVnVaM1JvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQkNkV1ptWlhJZ0lUMDlJQ2QxYm1SbFptbHVaV1FuS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1MGIwRnljbUY1VEdsclpTaENkV1ptWlhJc0lHVnVaR2xoYml3Z2JHVnVaM1JvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZEc5QmNuSmhlU0E5SUdaMWJtTjBhVzl1SUhSdlFYSnlZWGtnS0dWdVpHbGhiaXdnYkdWdVozUm9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZEc5QmNuSmhlVXhwYTJVb1FYSnlZWGtzSUdWdVpHbGhiaXdnYkdWdVozUm9LVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVkRzlCY25KaGVVeHBhMlVnUFNCbWRXNWpkR2x2YmlCMGIwRnljbUY1VEdsclpTQW9RWEp5WVhsVWVYQmxMQ0JsYm1ScFlXNHNJR3hsYm1kMGFDa2dlMXh1SUNBZ0lIWmhjaUJpZVhSbFRHVnVaM1JvSUQwZ2RHaHBjeTVpZVhSbFRHVnVaM1JvS0NrN1hHNGdJQ0FnZG1GeUlISmxjVXhsYm1kMGFDQTlJR3hsYm1kMGFDQjhmQ0JOWVhSb0xtMWhlQ2d4TENCaWVYUmxUR1Z1WjNSb0tUdGNiaUFnSUNCaGMzTmxjblFvWW5sMFpVeGxibWQwYUNBOFBTQnlaWEZNWlc1bmRHZ3NJQ2RpZVhSbElHRnljbUY1SUd4dmJtZGxjaUIwYUdGdUlHUmxjMmx5WldRZ2JHVnVaM1JvSnlrN1hHNGdJQ0FnWVhOelpYSjBLSEpsY1V4bGJtZDBhQ0ErSURBc0lDZFNaWEYxWlhOMFpXUWdZWEp5WVhrZ2JHVnVaM1JvSUR3OUlEQW5LVHRjYmx4dUlDQWdJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdJQ0IyWVhJZ2JHbDBkR3hsUlc1a2FXRnVJRDBnWlc1a2FXRnVJRDA5UFNBbmJHVW5PMXh1SUNBZ0lIWmhjaUJ5WlhNZ1BTQnVaWGNnUVhKeVlYbFVlWEJsS0hKbGNVeGxibWQwYUNrN1hHNWNiaUFnSUNCMllYSWdZaXdnYVR0Y2JpQWdJQ0IyWVhJZ2NTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0JwWmlBb0lXeHBkSFJzWlVWdVpHbGhiaWtnZTF4dUlDQWdJQ0FnTHk4Z1FYTnpkVzFsSUdKcFp5MWxibVJwWVc1Y2JpQWdJQ0FnSUdadmNpQW9hU0E5SURBN0lHa2dQQ0J5WlhGTVpXNW5kR2dnTFNCaWVYUmxUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdabTl5SUNocElEMGdNRHNnSVhFdWFYTmFaWEp2S0NrN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCaUlEMGdjUzVoYm1Sc2JpZ3dlR1ptS1R0Y2JpQWdJQ0FnSUNBZ2NTNXBkWE5vY200b09DazdYRzVjYmlBZ0lDQWdJQ0FnY21WelczSmxjVXhsYm1kMGFDQXRJR2tnTFNBeFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHWnZjaUFvYVNBOUlEQTdJQ0Z4TG1seldtVnlieWdwT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWWlBOUlIRXVZVzVrYkc0b01IaG1aaWs3WEc0Z0lDQWdJQ0FnSUhFdWFYVnphSEp1S0RncE8xeHVYRzRnSUNBZ0lDQWdJSEpsYzF0cFhTQTlJR0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z2NtVnhUR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpXMmxkSUQwZ01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJR2xtSUNoTllYUm9MbU5zZWpNeUtTQjdYRzRnSUNBZ1FrNHVjSEp2ZEc5MGVYQmxMbDlqYjNWdWRFSnBkSE1nUFNCbWRXNWpkR2x2YmlCZlkyOTFiblJDYVhSeklDaDNLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdNeklnTFNCTllYUm9MbU5zZWpNeUtIY3BPMXh1SUNBZ0lIMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdRazR1Y0hKdmRHOTBlWEJsTGw5amIzVnVkRUpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZZMjkxYm5SQ2FYUnpJQ2gzS1NCN1hHNGdJQ0FnSUNCMllYSWdkQ0E5SUhjN1hHNGdJQ0FnSUNCMllYSWdjaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9kQ0ErUFNBd2VERXdNREFwSUh0Y2JpQWdJQ0FnSUNBZ2NpQXJQU0F4TXp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLSFFnUGowZ01IZzBNQ2tnZTF4dUlDQWdJQ0FnSUNCeUlDczlJRGM3WEc0Z0lDQWdJQ0FnSUhRZ1BqNCtQU0EzTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnYVdZZ0tIUWdQajBnTUhnNEtTQjdYRzRnSUNBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lDQWdkQ0ErUGo0OUlEUTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBaaUFvZENBK1BTQXdlREF5S1NCN1hHNGdJQ0FnSUNBZ0lISWdLejBnTWp0Y2JpQWdJQ0FnSUNBZ2RDQStQajQ5SURJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnY2lBcklIUTdYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmVtVnliMEpwZEhNZ1BTQm1kVzVqZEdsdmJpQmZlbVZ5YjBKcGRITWdLSGNwSUh0Y2JpQWdJQ0F2THlCVGFHOXlkQzFqZFhSY2JpQWdJQ0JwWmlBb2R5QTlQVDBnTUNrZ2NtVjBkWEp1SURJMk8xeHVYRzRnSUNBZ2RtRnlJSFFnUFNCM08xeHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURGbVptWXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnlJQ3M5SURFek8xeHVJQ0FnSUNBZ2RDQStQajQ5SURFek8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURkbUtTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NpQXJQU0EzTzF4dUlDQWdJQ0FnZENBK1BqNDlJRGM3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2dvZENBbUlEQjRaaWtnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSElnS3owZ05EdGNiaUFnSUNBZ0lIUWdQajQrUFNBME8xeHVJQ0FnSUgxY2JpQWdJQ0JwWmlBb0tIUWdKaUF3ZURNcElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCeUlDczlJREk3WEc0Z0lDQWdJQ0IwSUQ0K1BqMGdNanRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ2gwSUNZZ01IZ3hLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjaXNyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYm5WdFltVnlJRzltSUhWelpXUWdZbWwwY3lCcGJpQmhJRUpPWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVpYVhSTVpXNW5kR2dnUFNCbWRXNWpkR2x2YmlCaWFYUk1aVzVuZEdnZ0tDa2dlMXh1SUNBZ0lIWmhjaUIzSUQwZ2RHaHBjeTUzYjNKa2MxdDBhR2x6TG14bGJtZDBhQ0F0SURGZE8xeHVJQ0FnSUhaaGNpQm9hU0E5SUhSb2FYTXVYMk52ZFc1MFFtbDBjeWgzS1R0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWJHVnVaM1JvSUMwZ01Ta2dLaUF5TmlBcklHaHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUhSdlFtbDBRWEp5WVhrZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCM0lEMGdibVYzSUVGeWNtRjVLRzUxYlM1aWFYUk1aVzVuZEdnb0tTazdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmlhWFFnUFNBd095QmlhWFFnUENCM0xteGxibWQwYURzZ1ltbDBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQnZabVlnUFNBb1ltbDBJQzhnTWpZcElId2dNRHRjYmlBZ0lDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0FnSUhkYlltbDBYU0E5SUNodWRXMHVkMjl5WkhOYmIyWm1YU0FtSUNneElEdzhJSGRpYVhRcEtTQStQajRnZDJKcGREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZHp0Y2JpQWdmVnh1WEc0Z0lDOHZJRTUxYldKbGNpQnZaaUIwY21GcGJHbHVaeUI2WlhKdklHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbnBsY205Q2FYUnpJRDBnWm5WdVkzUnBiMjRnZW1WeWIwSnBkSE1nS0NrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG1seldtVnlieWdwS1NCeVpYUjFjbTRnTUR0Y2JseHVJQ0FnSUhaaGNpQnlJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NWZlbVZ5YjBKcGRITW9kR2hwY3k1M2IzSmtjMXRwWFNrN1hHNGdJQ0FnSUNCeUlDczlJR0k3WEc0Z0lDQWdJQ0JwWmlBb1lpQWhQVDBnTWpZcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NqdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVlubDBaVXhsYm1kMGFDQTlJR1oxYm1OMGFXOXVJR0o1ZEdWTVpXNW5kR2dnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtTmxhV3dvZEdocGN5NWlhWFJNWlc1bmRHZ29LU0F2SURncE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxUjNiM01nUFNCbWRXNWpkR2x2YmlCMGIxUjNiM01nS0hkcFpIUm9LU0I3WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbUZpY3lncExtbHViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVlIzYjNNZ1BTQm1kVzVqZEdsdmJpQm1jbTl0VkhkdmN5QW9kMmxrZEdncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1MFpYTjBiaWgzYVdSMGFDQXRJREVwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXViM1J1S0hkcFpIUm9LUzVwWVdSa2JpZ3hLUzVwYm1WbktDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1selRtVm5JRDBnWm5WdVkzUnBiMjRnYVhOT1pXY2dLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUM4dklGSmxkSFZ5YmlCdVpXZGhkR2wyWlNCamJHOXVaU0J2WmlCZ2RHaHBjMkJjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTVsWnlBOUlHWjFibU4wYVc5dUlHNWxaeUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJtVm5LQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWx1WldjZ1BTQm1kVzVqZEdsdmJpQnBibVZuSUNncElIdGNiaUFnSUNCcFppQW9JWFJvYVhNdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lIUm9hWE11Ym1WbllYUnBkbVVnWGowZ01UdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0F2THlCUGNpQmdiblZ0WUNCM2FYUm9JR0IwYUdsellDQnBiaTF3YkdGalpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYVnZjaUE5SUdaMWJtTjBhVzl1SUdsMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUhkb2FXeGxJQ2gwYUdsekxteGxibWQwYUNBOElHNTFiUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdWQyOXlaSE5iZEdocGN5NXNaVzVuZEdncksxMGdQU0F3TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElHNTFiUzUzYjNKa2MxdHBYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiM0lnUFNCbWRXNWpkR2x2YmlCcGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWIzSW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJQY2lCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YjNJZ1BTQm1kVzVqZEdsdmJpQnZjaUFvYm5WdEtTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2djbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzVwYjNJb2JuVnRLVHRjYmlBZ0lDQnlaWFIxY200Z2JuVnRMbU5zYjI1bEtDa3VhVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNTFiM0lnUFNCbWRXNWpkR2x2YmlCMWIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSUc1MWJTNXNaVzVuZEdncElISmxkSFZ5YmlCMGFHbHpMbU5zYjI1bEtDa3VhWFZ2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkVzl5S0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFRnVaQ0JnYm5WdFlDQjNhWFJvSUdCMGFHbHpZQ0JwYmkxd2JHRmpaVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhWFZoYm1RZ1BTQm1kVzVqZEdsdmJpQnBkV0Z1WkNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnWWlBOUlHMXBiaTFzWlc1bmRHZ29iblZ0TENCMGFHbHpLVnh1SUNBZ0lIWmhjaUJpTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdJZ1BTQnVkVzA3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHSWdQU0IwYUdsek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1lpNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQTlJSFJvYVhNdWQyOXlaSE5iYVYwZ0ppQnVkVzB1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNCaUxteGxibWQwYUR0Y2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1saGJtUWdQU0JtZFc1amRHbHZiaUJwWVc1a0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ2ZDQnVkVzB1Ym1WbllYUnBkbVVwSUQwOVBTQXdLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVwZFdGdVpDaHVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRUZ1WkNCZ2JuVnRZQ0IzYVhSb0lHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVc1a0lEMGdablZ1WTNScGIyNGdZVzVrSUNodWRXMHBJSHRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1saGJtUW9iblZ0S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZ0TG1Oc2IyNWxLQ2t1YVdGdVpDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1ZFdGdVpDQTlJR1oxYm1OMGFXOXVJSFZoYm1RZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYVmhibVFvYm5WdEtUdGNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFYVmhibVFvZEdocGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1dHOXlJR0J1ZFcxZ0lIZHBkR2dnWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBkWGh2Y2lBOUlHWjFibU4wYVc5dUlHbDFlRzl5SUNodWRXMHBJSHRjYmlBZ0lDQXZMeUJoTG14bGJtZDBhQ0ErSUdJdWJHVnVaM1JvWEc0Z0lDQWdkbUZ5SUdFN1hHNGdJQ0FnZG1GeUlHSTdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQ0Z2JuVnRMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdZU0E5SUhSb2FYTTdYRzRnSUNBZ0lDQmlJRDBnYm5WdE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoSUQwZ2JuVnRPMXh1SUNBZ0lDQWdZaUE5SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQmlMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFNCZUlHSXVkMjl5WkhOYmFWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJR0VwSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYaHZjaUE5SUdaMWJtTjBhVzl1SUdsNGIzSWdLRzUxYlNrZ2UxeHVJQ0FnSUdGemMyVnlkQ2dvZEdocGN5NXVaV2RoZEdsMlpTQjhJRzUxYlM1dVpXZGhkR2wyWlNrZ1BUMDlJREFwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sMWVHOXlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdMeThnV0c5eUlHQnVkVzFnSUhkcGRHZ2dZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1NGIzSWdQU0JtZFc1amRHbHZiaUI0YjNJZ0tHNTFiU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJRzUxYlM1c1pXNW5kR2dwSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFYaHZjaWh1ZFcwcE8xeHVJQ0FnSUhKbGRIVnliaUJ1ZFcwdVkyeHZibVVvS1M1cGVHOXlLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MWVHOXlJRDBnWm5WdVkzUnBiMjRnZFhodmNpQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDRnYm5WdExteGxibWQwYUNrZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBkWGh2Y2lodWRXMHBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXMHVZMnh2Ym1Vb0tTNXBkWGh2Y2loMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk9iM1FnWUdCMGFHbHpZR0FnZDJsMGFDQmdZSGRwWkhSb1lHQWdZbWwwZDJsa2RHaGNiaUFnUWs0dWNISnZkRzkwZVhCbExtbHViM1J1SUQwZ1puVnVZM1JwYjI0Z2FXNXZkRzRnS0hkcFpIUm9LU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCM2FXUjBhQ0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdkMmxrZEdnZ1BqMGdNQ2s3WEc1Y2JpQWdJQ0IyWVhJZ1lubDBaWE5PWldWa1pXUWdQU0JOWVhSb0xtTmxhV3dvZDJsa2RHZ2dMeUF5TmlrZ2ZDQXdPMXh1SUNBZ0lIWmhjaUJpYVhSelRHVm1kQ0E5SUhkcFpIUm9JQ1VnTWpZN1hHNWNiaUFnSUNBdkx5QkZlSFJsYm1RZ2RHaGxJR0oxWm1abGNpQjNhWFJvSUd4bFlXUnBibWNnZW1WeWIyVnpYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR0o1ZEdWelRtVmxaR1ZrS1R0Y2JseHVJQ0FnSUdsbUlDaGlhWFJ6VEdWbWRDQStJREFwSUh0Y2JpQWdJQ0FnSUdKNWRHVnpUbVZsWkdWa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElHTnZiWEJzWlhSbElIZHZjbVJ6WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpZVhSbGMwNWxaV1JsWkRzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdmblJvYVhNdWQyOXlaSE5iYVYwZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdTR0Z1Wkd4bElIUm9aU0J5WlhOcFpIVmxYRzRnSUNBZ2FXWWdLR0pwZEhOTVpXWjBJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBYU0E5SUg1MGFHbHpMbmR2Y21SelcybGRJQ1lnS0RCNE0yWm1abVptWmlBK1BpQW9NallnTFNCaWFYUnpUR1ZtZENrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRnVaQ0J5WlcxdmRtVWdiR1ZoWkdsdVp5QjZaWEp2WlhOY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1emRISnBjQ2dwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV1YjNSdUlEMGdablZ1WTNScGIyNGdibTkwYmlBb2QybGtkR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdWIzUnVLSGRwWkhSb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVFpYUWdZR0pwZEdBZ2IyWWdZSFJvYVhOZ1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1elpYUnVJRDBnWm5WdVkzUnBiMjRnYzJWMGJpQW9ZbWwwTENCMllXd3BJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUdKcGRDQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ1ltbDBJRDQ5SURBcE8xeHVYRzRnSUNBZ2RtRnlJRzltWmlBOUlDaGlhWFFnTHlBeU5pa2dmQ0F3TzF4dUlDQWdJSFpoY2lCM1ltbDBJRDBnWW1sMElDVWdNalk3WEc1Y2JpQWdJQ0IwYUdsekxsOWxlSEJoYm1Rb2IyWm1JQ3NnTVNrN1hHNWNiaUFnSUNCcFppQW9kbUZzS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcyOW1abDBnUFNCMGFHbHpMbmR2Y21SelcyOW1abDBnZkNBb01TQThQQ0IzWW1sMEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0dlptWmRJRDBnZEdocGN5NTNiM0prYzF0dlptWmRJQ1lnZmlneElEdzhJSGRpYVhRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsekxuTjBjbWx3S0NrN1hHNGdJSDA3WEc1Y2JpQWdMeThnUVdSa0lHQnVkVzFnSUhSdklHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVdGa1pDQTlJR1oxYm1OMGFXOXVJR2xoWkdRZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeU8xeHVYRzRnSUNBZ0x5OGdibVZuWVhScGRtVWdLeUJ3YjNOcGRHbDJaVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3SUNZbUlHNTFiUzV1WldkaGRHbDJaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQnlJRDBnZEdocGN5NXBjM1ZpS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVmYm05eWJWTnBaMjRvS1R0Y2JseHVJQ0FnSUM4dklIQnZjMmwwYVhabElDc2dibVZuWVhScGRtVmNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVhOMVlpaHVkVzBwTzF4dUlDQWdJQ0FnYm5WdExtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdFdWJHVnVaM1JvSUQ0Z1lpNXNaVzVuZEdoY2JpQWdJQ0IyWVhJZ1lTd2dZanRjYmlBZ0lDQnBaaUFvZEdocGN5NXNaVzVuZEdnZ1BpQnVkVzB1YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnS3lBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdjaUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0FnSUdOaGNuSjVJRDBnY2lBK1BqNGdNalk3WEc0Z0lDQWdmVnh1SUNBZ0lHWnZjaUFvT3lCallYSnllU0FoUFQwZ01DQW1KaUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnY2lBOUlDaGhMbmR2Y21SelcybGRJSHdnTUNrZ0t5QmpZWEp5ZVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0J5SUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCeUlENCtQaUF5Tmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxteGxibWQwYUNBOUlHRXViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0MGFHbHpMbXhsYm1kMGFGMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lIUm9hWE11YkdWdVozUm9LeXM3WEc0Z0lDQWdMeThnUTI5d2VTQjBhR1VnY21WemRDQnZaaUIwYUdVZ2QyOXlaSE5jYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUdadmNpQW9PeUJwSUR3Z1lTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWVM1M2IzSmtjMXRwWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJCWkdRZ1lHNTFiV0FnZEc4Z1lIUm9hWE5nWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVoWkdRZ1BTQm1kVzVqZEdsdmJpQmhaR1FnS0c1MWJTa2dlMXh1SUNBZ0lIWmhjaUJ5WlhNN1hHNGdJQ0FnYVdZZ0tHNTFiUzV1WldkaGRHbDJaU0FoUFQwZ01DQW1KaUIwYUdsekxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnY21WeklEMGdkR2hwY3k1emRXSW9iblZ0S1R0Y2JpQWdJQ0FnSUc1MWJTNXVaV2RoZEdsMlpTQmVQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNBbUppQjBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNRHRjYmlBZ0lDQWdJSEpsY3lBOUlHNTFiUzV6ZFdJb2RHaHBjeWs3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cFlXUmtLRzUxYlNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYm5WdExtTnNiMjVsS0NrdWFXRmtaQ2gwYUdsektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCVGRXSjBjbUZqZENCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUNCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHNTFiU2tnZTF4dUlDQWdJQzh2SUhSb2FYTWdMU0FvTFc1MWJTa2dQU0IwYUdseklDc2diblZ0WEc0Z0lDQWdhV1lnS0c1MWJTNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2JuVnRMbTVsWjJGMGFYWmxJRDBnTUR0Y2JpQWdJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQnVkVzB1Ym1WbllYUnBkbVVnUFNBeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhJdVgyNXZjbTFUYVdkdUtDazdYRzVjYmlBZ0lDQXZMeUF0ZEdocGN5QXRJRzUxYlNBOUlDMG9kR2hwY3lBcklHNTFiU2xjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXBZV1JrS0c1MWJTazdYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01UdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl1YjNKdFUybG5iaWdwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUVGMElIUm9hWE1nY0c5cGJuUWdZbTkwYUNCdWRXMWlaWEp6SUdGeVpTQndiM05wZEdsMlpWeHVJQ0FnSUhaaGNpQmpiWEFnUFNCMGFHbHpMbU50Y0NodWRXMHBPMXh1WEc0Z0lDQWdMeThnVDNCMGFXMXBlbUYwYVc5dUlDMGdlbVZ5YjJsbWVWeHVJQ0FnSUdsbUlDaGpiWEFnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWJtVm5ZWFJwZG1VZ1BTQXdPMXh1SUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dnUFNBeE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2Mxc3dYU0E5SURBN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmhJRDRnWWx4dUlDQWdJSFpoY2lCaExDQmlPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JoSUQwZ2RHaHBjenRjYmlBZ0lDQWdJR0lnUFNCdWRXMDdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdFZ1BTQnVkVzA3WEc0Z0lDQWdJQ0JpSUQwZ2RHaHBjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWWk1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdjaUE5SUNoaExuZHZjbVJ6VzJsZElId2dNQ2tnTFNBb1lpNTNiM0prYzF0cFhTQjhJREFwSUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSElnUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2NpQW1JREI0TTJabVptWm1aanRjYmlBZ0lDQjlYRzRnSUNBZ1ptOXlJQ2c3SUdOaGNuSjVJQ0U5UFNBd0lDWW1JR2tnUENCaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0J5SUQwZ0tHRXVkMjl5WkhOYmFWMGdmQ0F3S1NBcklHTmhjbko1TzF4dUlDQWdJQ0FnWTJGeWNua2dQU0J5SUQ0K0lESTJPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlISWdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUTI5d2VTQnlaWE4wSUc5bUlIUm9aU0IzYjNKa2MxeHVJQ0FnSUdsbUlDaGpZWEp5ZVNBOVBUMGdNQ0FtSmlCcElEd2dZUzVzWlc1bmRHZ2dKaVlnWVNBaFBUMGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2c3SUdrZ1BDQmhMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhVjBnUFNCaExuZHZjbVJ6VzJsZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrcE8xeHVYRzRnSUNBZ2FXWWdLR0VnSVQwOUlIUm9hWE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVM1ZpZEhKaFkzUWdZRzUxYldBZ1puSnZiU0JnZEdocGMyQmNiaUFnUWs0dWNISnZkRzkwZVhCbExuTjFZaUE5SUdaMWJtTjBhVzl1SUhOMVlpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGMzVmlLRzUxYlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdjMjFoYkd4TmRXeFVieUFvYzJWc1ppd2diblZ0TENCdmRYUXBJSHRjYmlBZ0lDQnZkWFF1Ym1WbllYUnBkbVVnUFNCdWRXMHVibVZuWVhScGRtVWdYaUJ6Wld4bUxtNWxaMkYwYVhabE8xeHVJQ0FnSUhaaGNpQnNaVzRnUFNBb2MyVnNaaTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1NCOElEQTdYRzRnSUNBZ2IzVjBMbXhsYm1kMGFDQTlJR3hsYmp0Y2JpQWdJQ0JzWlc0Z1BTQW9iR1Z1SUMwZ01Ta2dmQ0F3TzF4dVhHNGdJQ0FnTHk4Z1VHVmxiQ0J2Ym1VZ2FYUmxjbUYwYVc5dUlDaGpiMjF3YVd4bGNpQmpZVzRuZENCa2J5QnBkQ3dnWW1WallYVnpaU0J2WmlCamIyUmxJR052YlhCc1pYaHBkSGtwWEc0Z0lDQWdkbUZ5SUdFZ1BTQnpaV3htTG5kdmNtUnpXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZaUE5SUc1MWJTNTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdkbUZ5SUhJZ1BTQmhJQ29nWWp0Y2JseHVJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ2RtRnlJR05oY25KNUlEMGdLSElnTHlBd2VEUXdNREF3TURBcElId2dNRHRjYmlBZ0lDQnZkWFF1ZDI5eVpITmJNRjBnUFNCc2J6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHc2dQU0F4T3lCcklEd2diR1Z1T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnWTJGeWNua2dQajQrSURJMk8xeHVJQ0FnSUNBZ2RtRnlJSEozYjNKa0lEMGdZMkZ5Y25rZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjJZWElnYldGNFNpQTlJRTFoZEdndWJXbHVLR3NzSUc1MWJTNXNaVzVuZEdnZ0xTQXhLVHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNCTllYUm9MbTFoZUNnd0xDQnJJQzBnYzJWc1ppNXNaVzVuZEdnZ0t5QXhLVHNnYWlBOFBTQnRZWGhLT3lCcUt5c3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHa2dQU0FvYXlBdElHb3BJSHdnTUR0Y2JpQWdJQ0FnSUNBZ1lTQTlJSE5sYkdZdWQyOXlaSE5iYVYwZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0JpSUQwZ2JuVnRMbmR2Y21SelcycGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2NpQTlJR0VnS2lCaUlDc2djbmR2Y21RN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBclBTQW9jaUF2SURCNE5EQXdNREF3TUNrZ2ZDQXdPMXh1SUNBZ0lDQWdJQ0J5ZDI5eVpDQTlJSElnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCdmRYUXVkMjl5WkhOYmExMGdQU0J5ZDI5eVpDQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJRzVqWVhKeWVTQjhJREE3WEc0Z0lDQWdmVnh1SUNBZ0lHbG1JQ2hqWVhKeWVTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2IzVjBMbmR2Y21SelcydGRJRDBnWTJGeWNua2dmQ0F3TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnZkWFF1YkdWdVozUm9MUzA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHOTFkQzV6ZEhKcGNDZ3BPMXh1SUNCOVhHNWNiaUFnTHk4Z1ZFOUVUeWhwYm1SMWRHNTVLVG9nYVhRZ2JXRjVJR0psSUhKbFlYTnZibUZpYkdVZ2RHOGdiMjFwZENCcGRDQm1iM0lnZFhObGNuTWdkMmh2SUdSdmJpZDBJRzVsWldSY2JpQWdMeThnZEc4Z2QyOXlheUIzYVhSb0lESTFOaTFpYVhRZ2JuVnRZbVZ5Y3l3Z2IzUm9aWEozYVhObElHbDBJR2RwZG1WeklESXdKU0JwYlhCeWIzWmxiV1Z1ZENCbWIzSWdNalUyTFdKcGRGeHVJQ0F2THlCdGRXeDBhWEJzYVdOaGRHbHZiaUFvYkdsclpTQmxiR3hwY0hScFl5QnpaV053TWpVMmF6RXBMbHh1SUNCMllYSWdZMjl0WWpFd1RYVnNWRzhnUFNCbWRXNWpkR2x2YmlCamIyMWlNVEJOZFd4VWJ5QW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcElIdGNiaUFnSUNCMllYSWdZU0E5SUhObGJHWXVkMjl5WkhNN1hHNGdJQ0FnZG1GeUlHSWdQU0J1ZFcwdWQyOXlaSE03WEc0Z0lDQWdkbUZ5SUc4Z1BTQnZkWFF1ZDI5eVpITTdYRzRnSUNBZ2RtRnlJR01nUFNBd08xeHVJQ0FnSUhaaGNpQnNienRjYmlBZ0lDQjJZWElnYldsa08xeHVJQ0FnSUhaaGNpQm9hVHRjYmlBZ0lDQjJZWElnWVRBZ1BTQmhXekJkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d3SUQwZ1lUQWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTUNBOUlHRXdJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVEVnUFNCaFd6RmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXd3hJRDBnWVRFZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9NU0E5SUdFeElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUSWdQU0JoV3pKZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3eUlEMGdZVElnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb01pQTlJR0V5SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRNZ1BTQmhXek5kSUh3Z01EdGNiaUFnSUNCMllYSWdZV3d6SUQwZ1lUTWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTXlBOUlHRXpJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVFFnUFNCaFd6UmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzBJRDBnWVRRZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OQ0E5SUdFMElENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUVWdQU0JoV3pWZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3MUlEMGdZVFVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb05TQTlJR0UxSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRZZ1BTQmhXelpkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3cySUQwZ1lUWWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvTmlBOUlHRTJJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZVGNnUFNCaFd6ZGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1lXdzNJRDBnWVRjZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHRm9OeUE5SUdFM0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lUZ2dQU0JoV3poZElId2dNRHRjYmlBZ0lDQjJZWElnWVd3NElEMGdZVGdnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdGb09DQTlJR0U0SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWVRrZ1BTQmhXemxkSUh3Z01EdGNiaUFnSUNCMllYSWdZV3c1SUQwZ1lUa2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0ZvT1NBOUlHRTVJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZakFnUFNCaVd6QmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3dJRDBnWWpBZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NQ0E5SUdJd0lENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqRWdQU0JpV3pGZElId2dNRHRjYmlBZ0lDQjJZWElnWW13eElEMGdZakVnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb01TQTlJR0l4SUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpJZ1BTQmlXekpkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXd5SUQwZ1lqSWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTWlBOUlHSXlJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZak1nUFNCaVd6TmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltd3pJRDBnWWpNZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9NeUE5SUdJeklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqUWdQU0JpV3pSZElId2dNRHRjYmlBZ0lDQjJZWElnWW13MElEMGdZalFnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb05DQTlJR0kwSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpVZ1BTQmlXelZkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXcxSUQwZ1lqVWdKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvTlNBOUlHSTFJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZallnUFNCaVd6WmRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzJJRDBnWWpZZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9OaUE5SUdJMklENCtQaUF4TXp0Y2JpQWdJQ0IyWVhJZ1lqY2dQU0JpV3pkZElId2dNRHRjYmlBZ0lDQjJZWElnWW13M0lEMGdZamNnSmlBd2VERm1abVk3WEc0Z0lDQWdkbUZ5SUdKb055QTlJR0kzSUQ0K1BpQXhNenRjYmlBZ0lDQjJZWElnWWpnZ1BTQmlXemhkSUh3Z01EdGNiaUFnSUNCMllYSWdZbXc0SUQwZ1lqZ2dKaUF3ZURGbVptWTdYRzRnSUNBZ2RtRnlJR0pvT0NBOUlHSTRJRDQrUGlBeE16dGNiaUFnSUNCMllYSWdZamtnUFNCaVd6bGRJSHdnTUR0Y2JpQWdJQ0IyWVhJZ1ltdzVJRDBnWWprZ0ppQXdlREZtWm1ZN1hHNGdJQ0FnZG1GeUlHSm9PU0E5SUdJNUlENCtQaUF4TXp0Y2JseHVJQ0FnSUc5MWRDNXVaV2RoZEdsMlpTQTlJSE5sYkdZdWJtVm5ZWFJwZG1VZ1hpQnVkVzB1Ym1WbllYUnBkbVU3WEc0Z0lDQWdiM1YwTG14bGJtZDBhQ0E5SURFNU8xeHVJQ0FnSUM4cUlHc2dQU0F3SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3d3TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREFzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhREFzSUdKb01DazdYRzRnSUNBZ2RtRnlJSGN3SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTUNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6QWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRFc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNNU0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ01pQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3d5TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdneUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3lJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNaUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeklDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3ekxDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRE1zSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURNc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURNc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRJc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eExDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Dd2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3pJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNeUErUGo0Z01qWXBLU0I4SURBN1hHNGdJQ0FnZHpNZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBMElDb3ZYRzRnSUNBZ2JHOGdQU0JOWVhSb0xtbHRkV3dvWVd3MExDQmliREFwTzF4dUlDQWdJRzFwWkNBOUlFMWhkR2d1YVcxMWJDaGhiRFFzSUdKb01DazdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NQ2s3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9NU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltd3hLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1neEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRElwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNNaWtwSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb01pa3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWd6S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRE1wS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFETXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kelFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjMElDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ05TQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMUxDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnMUxDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGMxSUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzTlNBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6VWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQTJJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRBcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9NQ2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pzTUNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEWXNJR0pvTUNrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTVNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3hLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjMklEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM05pQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkellnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0EzSUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3czTENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3dMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEQXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTUN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUhaaGNpQjNOeUE5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kemNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjM0lDWTlJREI0TTJabVptWm1aanRjYmlBZ0lDQXZLaUJySUQwZ09DQXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXd3S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEQXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNExDQmliREFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNExDQmlhREFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbXd4S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3M0xDQmlhREVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSnNNU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pzTWlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc05pd2dZbWd5S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmliRElwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEVXNJR0pvTXlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbXd6S1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW13MEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzBMQ0JpYURRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pzTkNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRE1zSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNeXdnWW1nMUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYkRVcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3d5TENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRElzSUdKb05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9NaXdnWW13MktTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTVN3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3d4TENCaWFEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhREVzSUdKc055a3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRBc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTUN3Z1ltZzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d3TENCaWJEZ3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjNElEMGdLQ2dvWXlBcklHeHZLU0I4SURBcElDc2dLQ2h0YVdRZ0ppQXdlREZtWm1ZcElEdzhJREV6S1NrZ2ZDQXdPMXh1SUNBZ0lHTWdQU0FvS0Nob2FTQXJJQ2h0YVdRZ1BqNCtJREV6S1NrZ2ZDQXdLU0FySUNoM09DQStQajRnTWpZcEtTQjhJREE3WEc0Z0lDQWdkemdnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0E1SUNvdlhHNGdJQ0FnYkc4Z1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWJEQXBPMXh1SUNBZ0lHMXBaQ0E5SUUxaGRHZ3VhVzExYkNoaGJEa3NJR0pvTUNrN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGtzSUdKc01Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlFMWhkR2d1YVcxMWJDaGhhRGtzSUdKb01DazdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWJERXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRGdzSUdKb01Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9PQ3dnWW13eEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbWd4S1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltd3lLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3czTENCaWFESXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGNzSUdKc01pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pvTWlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSnNNeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTml3Z1ltZ3pLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cyTENCaWJETXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRVc0lHSm9OQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTlN3Z1ltdzBLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURRc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJETXNJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc015d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnekxDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXd3lMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJESXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb01pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTWl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNNU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXd3hMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFERXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURFc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiREFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNNQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZ3dMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnd0xDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGM1SUQwZ0tDZ29ZeUFySUd4dktTQjhJREFwSUNzZ0tDaHRhV1FnSmlBd2VERm1abVlwSUR3OElERXpLU2tnZkNBd08xeHVJQ0FnSUdNZ1BTQW9LQ2hvYVNBcklDaHRhV1FnUGo0K0lERXpLU2tnZkNBd0tTQXJJQ2gzT1NBK1BqNGdNallwS1NCOElEQTdYRzRnSUNBZ2R6a2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNQ0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eEtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhREVwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRFcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURFcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13eUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURJcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTWlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NaWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc015a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRNcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRE1wS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEUXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MEtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcwS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzFLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05Ta3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTlNrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOaWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEWXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURZcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGNwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9OeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzNLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nM0tTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc0S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPQ2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Da3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJERXNJR0pzT1NrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc01Td2dZbWc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdneExDQmliRGtwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d4TENCaWFEa3BLU0I4SURBN1hHNGdJQ0FnZG1GeUlIY3hNQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekV3SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UQWdKajBnTUhnelptWm1abVptTzF4dUlDQWdJQzhxSUdzZ1BTQXhNU0FxTDF4dUlDQWdJR3h2SUQwZ1RXRjBhQzVwYlhWc0tHRnNPU3dnWW13eUtUdGNiaUFnSUNCdGFXUWdQU0JOWVhSb0xtbHRkV3dvWVd3NUxDQmlhRElwTzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYkRJcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNCTllYUm9MbWx0ZFd3b1lXZzVMQ0JpYURJcE8xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNPQ3dnWW13ektTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYURNcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSm9NeWtwSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRGNzSUdKc05Da3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW1nMEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmlhRFFwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cyTENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbWcxS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTlN3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRRc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2cwTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3ekxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTXl3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9NeXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc01pd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3eUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURJc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRElzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RXhJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVEVnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE1TQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERXlJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRNcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9NeWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTXlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTXlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRRcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTkNrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXcwS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzBLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13MUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURVcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzTlNrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9OU2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nMktTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRZcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRFlwS1NCOElEQTdYRzRnSUNBZ2JHOGdQU0FvYkc4Z0t5Qk5ZWFJvTG1sdGRXd29ZV3cxTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhiRFVzSUdKb055a3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRm9OU3dnWW13M0tTa2dmQ0F3TzF4dUlDQWdJR2hwSUQwZ0tHaHBJQ3NnVFdGMGFDNXBiWFZzS0dGb05Td2dZbWczS1NrZ2ZDQXdPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzTkN3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3cwTENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRFFzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEUXNJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRNc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTXl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2d6TENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZ3pMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE1pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RXlJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRJZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE15QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXcwS1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEUXBPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRFFwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRFFwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXcxS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRFVwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNOU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb05Ta3BJSHdnTUR0Y2JpQWdJQ0JzYnlBOUlDaHNieUFySUUxaGRHZ3VhVzExYkNoaGJEY3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGc055d2dZbWcyS1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnM0xDQmliRFlwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0FvYUdrZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzJMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEWXNJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb05pd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOU3dnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzFMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEVXNJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFFzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOQ3dnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzBMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TXlBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFeklENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVE1nSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TkNBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzFLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURVcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEVXBLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEVXBPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzJLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEWXBLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc05pa3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvTmlrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNOeWtwSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURjcEtTQjhJREE3WEc0Z0lDQWdiRzhnUFNBb2JHOGdLeUJOWVhSb0xtbHRkV3dvWVd3MkxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYkRZc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZvTml3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUdocElEMGdLR2hwSUNzZ1RXRjBhQzVwYlhWc0tHRm9OaXdnWW1nNEtTa2dmQ0F3TzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc05Td2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3MUxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURVc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRFVzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTBJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVFFnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE5DQW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTFJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRZcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9OaWs3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzTmlrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvTmlrN1hHNGdJQ0FnYkc4Z1BTQW9iRzhnS3lCTllYUm9MbWx0ZFd3b1lXdzRMQ0JpYkRjcEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGJEZ3NJR0pvTnlrcElId2dNRHRjYmlBZ0lDQnRhV1FnUFNBb2JXbGtJQ3NnVFdGMGFDNXBiWFZzS0dGb09Dd2dZbXczS1NrZ2ZDQXdPMXh1SUNBZ0lHaHBJRDBnS0docElDc2dUV0YwYUM1cGJYVnNLR0ZvT0N3Z1ltZzNLU2tnZkNBd08xeHVJQ0FnSUd4dklEMGdLR3h2SUNzZ1RXRjBhQzVwYlhWc0tHRnNOeXdnWW13NEtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXdzNMQ0JpYURncEtTQjhJREE3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEY3NJR0pzT0NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUNob2FTQXJJRTFoZEdndWFXMTFiQ2hoYURjc0lHSm9PQ2twSUh3Z01EdGNiaUFnSUNCc2J5QTlJQ2hzYnlBcklFMWhkR2d1YVcxMWJDaGhiRFlzSUdKc09Ta3BJSHdnTUR0Y2JpQWdJQ0J0YVdRZ1BTQW9iV2xrSUNzZ1RXRjBhQzVwYlhWc0tHRnNOaXdnWW1nNUtTa2dmQ0F3TzF4dUlDQWdJRzFwWkNBOUlDaHRhV1FnS3lCTllYUm9MbWx0ZFd3b1lXZzJMQ0JpYkRrcEtTQjhJREE3WEc0Z0lDQWdhR2tnUFNBb2FHa2dLeUJOWVhSb0xtbHRkV3dvWVdnMkxDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2RtRnlJSGN4TlNBOUlDZ29LR01nS3lCc2J5a2dmQ0F3S1NBcklDZ29iV2xrSUNZZ01IZ3habVptS1NBOFBDQXhNeWtwSUh3Z01EdGNiaUFnSUNCaklEMGdLQ2dvYUdrZ0t5QW9iV2xrSUQ0K1BpQXhNeWtwSUh3Z01Da2dLeUFvZHpFMUlENCtQaUF5TmlrcElId2dNRHRjYmlBZ0lDQjNNVFVnSmowZ01IZ3pabVptWm1abU8xeHVJQ0FnSUM4cUlHc2dQU0F4TmlBcUwxeHVJQ0FnSUd4dklEMGdUV0YwYUM1cGJYVnNLR0ZzT1N3Z1ltdzNLVHRjYmlBZ0lDQnRhV1FnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYURjcE8xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2c1TENCaWJEY3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQk5ZWFJvTG1sdGRXd29ZV2c1TENCaWFEY3BPMXh1SUNBZ0lHeHZJRDBnS0d4dklDc2dUV0YwYUM1cGJYVnNLR0ZzT0N3Z1ltdzRLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV3c0TENCaWFEZ3BLU0I4SURBN1hHNGdJQ0FnYldsa0lEMGdLRzFwWkNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKc09Da3BJSHdnTUR0Y2JpQWdJQ0JvYVNBOUlDaG9hU0FySUUxaGRHZ3VhVzExYkNoaGFEZ3NJR0pvT0NrcElId2dNRHRjYmlBZ0lDQnNieUE5SUNoc2J5QXJJRTFoZEdndWFXMTFiQ2hoYkRjc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCdGFXUWdQU0FvYldsa0lDc2dUV0YwYUM1cGJYVnNLR0ZzTnl3Z1ltZzVLU2tnZkNBd08xeHVJQ0FnSUcxcFpDQTlJQ2h0YVdRZ0t5Qk5ZWFJvTG1sdGRXd29ZV2czTENCaWJEa3BLU0I4SURBN1hHNGdJQ0FnYUdrZ1BTQW9hR2tnS3lCTllYUm9MbWx0ZFd3b1lXZzNMQ0JpYURrcEtTQjhJREE3WEc0Z0lDQWdkbUZ5SUhjeE5pQTlJQ2dvS0dNZ0t5QnNieWtnZkNBd0tTQXJJQ2dvYldsa0lDWWdNSGd4Wm1abUtTQThQQ0F4TXlrcElId2dNRHRjYmlBZ0lDQmpJRDBnS0Nnb2FHa2dLeUFvYldsa0lENCtQaUF4TXlrcElId2dNQ2tnS3lBb2R6RTJJRDQrUGlBeU5pa3BJSHdnTUR0Y2JpQWdJQ0IzTVRZZ0pqMGdNSGd6Wm1abVptWm1PMXh1SUNBZ0lDOHFJR3NnUFNBeE55QXFMMXh1SUNBZ0lHeHZJRDBnVFdGMGFDNXBiWFZzS0dGc09Td2dZbXc0S1R0Y2JpQWdJQ0J0YVdRZ1BTQk5ZWFJvTG1sdGRXd29ZV3c1TENCaWFEZ3BPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVdnNUxDQmliRGdwS1NCOElEQTdYRzRnSUNBZ2FHa2dQU0JOWVhSb0xtbHRkV3dvWVdnNUxDQmlhRGdwTzF4dUlDQWdJR3h2SUQwZ0tHeHZJQ3NnVFdGMGFDNXBiWFZzS0dGc09Dd2dZbXc1S1NrZ2ZDQXdPMXh1SUNBZ0lHMXBaQ0E5SUNodGFXUWdLeUJOWVhSb0xtbHRkV3dvWVd3NExDQmlhRGtwS1NCOElEQTdYRzRnSUNBZ2JXbGtJRDBnS0cxcFpDQXJJRTFoZEdndWFXMTFiQ2hoYURnc0lHSnNPU2twSUh3Z01EdGNiaUFnSUNCb2FTQTlJQ2hvYVNBcklFMWhkR2d1YVcxMWJDaGhhRGdzSUdKb09Ta3BJSHdnTUR0Y2JpQWdJQ0IyWVhJZ2R6RTNJRDBnS0Nnb1l5QXJJR3h2S1NCOElEQXBJQ3NnS0NodGFXUWdKaUF3ZURGbVptWXBJRHc4SURFektTa2dmQ0F3TzF4dUlDQWdJR01nUFNBb0tDaG9hU0FySUNodGFXUWdQajQrSURFektTa2dmQ0F3S1NBcklDaDNNVGNnUGo0K0lESTJLU2tnZkNBd08xeHVJQ0FnSUhjeE55QW1QU0F3ZURObVptWm1abVk3WEc0Z0lDQWdMeW9nYXlBOUlERTRJQ292WEc0Z0lDQWdiRzhnUFNCTllYUm9MbWx0ZFd3b1lXdzVMQ0JpYkRrcE8xeHVJQ0FnSUcxcFpDQTlJRTFoZEdndWFXMTFiQ2hoYkRrc0lHSm9PU2s3WEc0Z0lDQWdiV2xrSUQwZ0tHMXBaQ0FySUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pzT1NrcElId2dNRHRjYmlBZ0lDQm9hU0E5SUUxaGRHZ3VhVzExYkNoaGFEa3NJR0pvT1NrN1hHNGdJQ0FnZG1GeUlIY3hPQ0E5SUNnb0tHTWdLeUJzYnlrZ2ZDQXdLU0FySUNnb2JXbGtJQ1lnTUhneFptWm1LU0E4UENBeE15a3BJSHdnTUR0Y2JpQWdJQ0JqSUQwZ0tDZ29hR2tnS3lBb2JXbGtJRDQrUGlBeE15a3BJSHdnTUNrZ0t5QW9kekU0SUQ0K1BpQXlOaWtwSUh3Z01EdGNiaUFnSUNCM01UZ2dKajBnTUhnelptWm1abVptTzF4dUlDQWdJRzliTUYwZ1BTQjNNRHRjYmlBZ0lDQnZXekZkSUQwZ2R6RTdYRzRnSUNBZ2Ixc3lYU0E5SUhjeU8xeHVJQ0FnSUc5Yk0xMGdQU0IzTXp0Y2JpQWdJQ0J2V3pSZElEMGdkelE3WEc0Z0lDQWdiMXMxWFNBOUlIYzFPMXh1SUNBZ0lHOWJObDBnUFNCM05qdGNiaUFnSUNCdld6ZGRJRDBnZHpjN1hHNGdJQ0FnYjFzNFhTQTlJSGM0TzF4dUlDQWdJRzliT1YwZ1BTQjNPVHRjYmlBZ0lDQnZXekV3WFNBOUlIY3hNRHRjYmlBZ0lDQnZXekV4WFNBOUlIY3hNVHRjYmlBZ0lDQnZXekV5WFNBOUlIY3hNanRjYmlBZ0lDQnZXekV6WFNBOUlIY3hNenRjYmlBZ0lDQnZXekUwWFNBOUlIY3hORHRjYmlBZ0lDQnZXekUxWFNBOUlIY3hOVHRjYmlBZ0lDQnZXekUyWFNBOUlIY3hOanRjYmlBZ0lDQnZXekUzWFNBOUlIY3hOenRjYmlBZ0lDQnZXekU0WFNBOUlIY3hPRHRjYmlBZ0lDQnBaaUFvWXlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnYjFzeE9WMGdQU0JqTzF4dUlDQWdJQ0FnYjNWMExteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdiM1YwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRkJ2YkhsbWFXeHNJR052YldKY2JpQWdhV1lnS0NGTllYUm9MbWx0ZFd3cElIdGNiaUFnSUNCamIyMWlNVEJOZFd4VWJ5QTlJSE50WVd4c1RYVnNWRzg3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCaWFXZE5kV3hVYnlBb2MyVnNaaXdnYm5WdExDQnZkWFFwSUh0Y2JpQWdJQ0J2ZFhRdWJtVm5ZWFJwZG1VZ1BTQnVkVzB1Ym1WbllYUnBkbVVnWGlCelpXeG1MbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0J6Wld4bUxteGxibWQwYUNBcklHNTFiUzVzWlc1bmRHZzdYRzVjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJSFpoY2lCb2JtTmhjbko1SUQwZ01EdGNiaUFnSUNCbWIzSWdLSFpoY2lCcklEMGdNRHNnYXlBOElHOTFkQzVzWlc1bmRHZ2dMU0F4T3lCckt5c3BJSHRjYmlBZ0lDQWdJQzh2SUZOMWJTQmhiR3dnZDI5eVpITWdkMmwwYUNCMGFHVWdjMkZ0WlNCZ2FTQXJJR29nUFNCcllDQmhibVFnWVdOamRXMTFiR0YwWlNCZ2JtTmhjbko1WUN4Y2JpQWdJQ0FnSUM4dklHNXZkR1VnZEdoaGRDQnVZMkZ5Y25rZ1kyOTFiR1FnWW1VZ1BqMGdNSGd6Wm1abVptWm1YRzRnSUNBZ0lDQjJZWElnYm1OaGNuSjVJRDBnYUc1allYSnllVHRjYmlBZ0lDQWdJR2h1WTJGeWNua2dQU0F3TzF4dUlDQWdJQ0FnZG1GeUlISjNiM0prSUQwZ1kyRnljbmtnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMllYSWdiV0Y0U2lBOUlFMWhkR2d1YldsdUtHc3NJRzUxYlM1c1pXNW5kR2dnTFNBeEtUdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0JOWVhSb0xtMWhlQ2d3TENCcklDMGdjMlZzWmk1c1pXNW5kR2dnS3lBeEtUc2dhaUE4UFNCdFlYaEtPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdrZ1BTQnJJQzBnYWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0VnUFNCelpXeG1MbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0lnUFNCdWRXMHVkMjl5WkhOYmFsMGdmQ0F3TzF4dUlDQWdJQ0FnSUNCMllYSWdjaUE5SUdFZ0tpQmlPMXh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnNieUE5SUhJZ0ppQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQWdJRzVqWVhKeWVTQTlJQ2h1WTJGeWNua2dLeUFvS0hJZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrcElId2dNRHRjYmlBZ0lDQWdJQ0FnYkc4Z1BTQW9iRzhnS3lCeWQyOXlaQ2tnZkNBd08xeHVJQ0FnSUNBZ0lDQnlkMjl5WkNBOUlHeHZJQ1lnTUhnelptWm1abVptTzF4dUlDQWdJQ0FnSUNCdVkyRnljbmtnUFNBb2JtTmhjbko1SUNzZ0tHeHZJRDQrUGlBeU5pa3BJSHdnTUR0Y2JseHVJQ0FnSUNBZ0lDQm9ibU5oY25KNUlDczlJRzVqWVhKeWVTQStQajRnTWpZN1hHNGdJQ0FnSUNBZ0lHNWpZWEp5ZVNBbVBTQXdlRE5tWm1abVptWTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCeWQyOXlaRHRjYmlBZ0lDQWdJR05oY25KNUlEMGdibU5oY25KNU8xeHVJQ0FnSUNBZ2JtTmhjbko1SUQwZ2FHNWpZWEp5ZVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQnZkWFF1ZDI5eVpITmJhMTBnUFNCallYSnllVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2IzVjBMbXhsYm1kMGFDMHRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdmRYUXVjM1J5YVhBb0tUdGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJR3AxYldKdlRYVnNWRzhnS0hObGJHWXNJRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUdabWRHMGdQU0J1WlhjZ1JrWlVUU2dwTzF4dUlDQWdJSEpsZEhWeWJpQm1ablJ0TG0xMWJIQW9jMlZzWml3Z2JuVnRMQ0J2ZFhRcE8xeHVJQ0I5WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJGUnZJRDBnWm5WdVkzUnBiMjRnYlhWc1ZHOGdLRzUxYlN3Z2IzVjBLU0I3WEc0Z0lDQWdkbUZ5SUhKbGN6dGNiaUFnSUNCMllYSWdiR1Z1SUQwZ2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvTzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTVRBZ0ppWWdiblZ0TG14bGJtZDBhQ0E5UFQwZ01UQXBJSHRjYmlBZ0lDQWdJSEpsY3lBOUlHTnZiV0l4TUUxMWJGUnZLSFJvYVhNc0lHNTFiU3dnYjNWMEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHeGxiaUE4SURZektTQjdYRzRnSUNBZ0lDQnlaWE1nUFNCemJXRnNiRTExYkZSdktIUm9hWE1zSUc1MWJTd2diM1YwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0d4bGJpQThJREV3TWpRcElIdGNiaUFnSUNBZ0lISmxjeUE5SUdKcFowMTFiRlJ2S0hSb2FYTXNJRzUxYlN3Z2IzVjBLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnYW5WdFltOU5kV3hVYnloMGFHbHpMQ0J1ZFcwc0lHOTFkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZUdGNibHh1SUNBdkx5QkRiMjlzWlhrdFZIVnJaWGtnWVd4bmIzSnBkR2h0SUdadmNpQkdSbFJjYmlBZ0x5OGdjMnhwWjJoMGJIa2djbVYyYVhOcGRHVmtJSFJ2SUhKbGJIa2diMjRnYkc5dmNHbHVaeUJwYm5OMFpXRmtJRzltSUhKbFkzVnljMmx2Ymx4dVhHNGdJR1oxYm1OMGFXOXVJRVpHVkUwZ0tIZ3NJSGtwSUh0Y2JpQWdJQ0IwYUdsekxuZ2dQU0I0TzF4dUlDQWdJSFJvYVhNdWVTQTlJSGs3WEc0Z0lIMWNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV0WVd0bFVrSlVJRDBnWm5WdVkzUnBiMjRnYldGclpWSkNWQ0FvVGlrZ2UxeHVJQ0FnSUhaaGNpQjBJRDBnYm1WM0lFRnljbUY1S0U0cE8xeHVJQ0FnSUhaaGNpQnNJRDBnUWs0dWNISnZkRzkwZVhCbExsOWpiM1Z1ZEVKcGRITW9UaWtnTFNBeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMFcybGRJRDBnZEdocGN5NXlaWFpDYVc0b2FTd2diQ3dnVGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFE3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVbVYwZFhKdWN5QmlhVzVoY25rdGNtVjJaWEp6WldRZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ1lIaGdYRzRnSUVaR1ZFMHVjSEp2ZEc5MGVYQmxMbkpsZGtKcGJpQTlJR1oxYm1OMGFXOXVJSEpsZGtKcGJpQW9lQ3dnYkN3Z1Rpa2dlMXh1SUNBZ0lHbG1JQ2g0SUQwOVBTQXdJSHg4SUhnZ1BUMDlJRTRnTFNBeEtTQnlaWFIxY200Z2VEdGNibHh1SUNBZ0lIWmhjaUJ5WWlBOUlEQTdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnNPeUJwS3lzcElIdGNiaUFnSUNBZ0lISmlJSHc5SUNoNElDWWdNU2tnUER3Z0tHd2dMU0JwSUMwZ01TazdYRzRnSUNBZ0lDQjRJRDQrUFNBeE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WWp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJRWlhKbWIzSnRjeUJjSW5SM1pXVmtiR2x1WjF3aUlIQm9ZWE5sTENCMGFHVnlaV1p2Y21VZ0oyVnRkV3hoZEdsdVp5ZGNiaUFnTHk4Z1ltVm9ZWFpwYjNWeUlHOW1JSFJvWlNCeVpXTjFjbk5wZG1VZ1lXeG5iM0pwZEdodFhHNGdJRVpHVkUwdWNISnZkRzkwZVhCbExuQmxjbTExZEdVZ1BTQm1kVzVqZEdsdmJpQndaWEp0ZFhSbElDaHlZblFzSUhKM2N5d2dhWGR6TENCeWRIZHpMQ0JwZEhkekxDQk9LU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEowZDNOYmFWMGdQU0J5ZDNOYmNtSjBXMmxkWFR0Y2JpQWdJQ0FnSUdsMGQzTmJhVjBnUFNCcGQzTmJjbUowVzJsZFhUdGNiaUFnSUNCOVhHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdWRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdkSEpoYm5ObWIzSnRJQ2h5ZDNNc0lHbDNjeXdnY25SM2N5d2dhWFIzY3l3Z1Rpd2djbUowS1NCN1hHNGdJQ0FnZEdocGN5NXdaWEp0ZFhSbEtISmlkQ3dnY25kekxDQnBkM01zSUhKMGQzTXNJR2wwZDNNc0lFNHBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdjeUE5SURFN0lITWdQQ0JPT3lCeklEdzhQU0F4S1NCN1hHNGdJQ0FnSUNCMllYSWdiQ0E5SUhNZ1BEd2dNVHRjYmx4dUlDQWdJQ0FnZG1GeUlISjBkMlJtSUQwZ1RXRjBhQzVqYjNNb01pQXFJRTFoZEdndVVFa2dMeUJzS1R0Y2JpQWdJQ0FnSUhaaGNpQnBkSGRrWmlBOUlFMWhkR2d1YzJsdUtESWdLaUJOWVhSb0xsQkpJQzhnYkNrN1hHNWNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlIQWdQU0F3T3lCd0lEd2dUanNnY0NBclBTQnNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlkSGRrWmw4Z1BTQnlkSGRrWmp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2wwZDJSbVh5QTlJR2wwZDJSbU8xeHVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR29nUFNBd095QnFJRHdnY3pzZ2Fpc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEpsSUQwZ2NuUjNjMXR3SUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbGxJRDBnYVhSM2MxdHdJQ3NnYWwwN1hHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NtOGdQU0J5ZEhkelczQWdLeUJxSUNzZ2MxMDdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHbHZJRDBnYVhSM2MxdHdJQ3NnYWlBcklITmRPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSEo0SUQwZ2NuUjNaR1pmSUNvZ2NtOGdMU0JwZEhka1psOGdLaUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJR2x2SUQwZ2NuUjNaR1pmSUNvZ2FXOGdLeUJwZEhka1psOGdLaUJ5Ynp0Y2JpQWdJQ0FnSUNBZ0lDQnlieUE5SUhKNE8xeHVYRzRnSUNBZ0lDQWdJQ0FnY25SM2MxdHdJQ3NnYWwwZ1BTQnlaU0FySUhKdk8xeHVJQ0FnSUNBZ0lDQWdJR2wwZDNOYmNDQXJJR3BkSUQwZ2FXVWdLeUJwYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSEowZDNOYmNDQXJJR29nS3lCelhTQTlJSEpsSUMwZ2NtODdYRzRnSUNBZ0lDQWdJQ0FnYVhSM2MxdHdJQ3NnYWlBcklITmRJRDBnYVdVZ0xTQnBienRjYmx4dUlDQWdJQ0FnSUNBZ0lDOHFJR3B6YUdsdWRDQnRZWGhrWlhCMGFDQTZJR1poYkhObElDb3ZYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHb2dJVDA5SUd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKNElEMGdjblIzWkdZZ0tpQnlkSGRrWmw4Z0xTQnBkSGRrWmlBcUlHbDBkMlJtWHp0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVhSM1pHWmZJRDBnY25SM1pHWWdLaUJwZEhka1psOGdLeUJwZEhka1ppQXFJSEowZDJSbVh6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKMGQyUm1YeUE5SUhKNE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzVuZFdWemMweGxiakV6WWlBOUlHWjFibU4wYVc5dUlHZDFaWE56VEdWdU1UTmlJQ2h1TENCdEtTQjdYRzRnSUNBZ2RtRnlJRTRnUFNCTllYUm9MbTFoZUNodExDQnVLU0I4SURFN1hHNGdJQ0FnZG1GeUlHOWtaQ0E5SUU0Z0ppQXhPMXh1SUNBZ0lIWmhjaUJwSUQwZ01EdGNiaUFnSUNCbWIzSWdLRTRnUFNCT0lDOGdNaUI4SURBN0lFNDdJRTRnUFNCT0lENCtQaUF4S1NCN1hHNGdJQ0FnSUNCcEt5czdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SURFZ1BEd2dhU0FySURFZ0t5QnZaR1E3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1WTI5dWFuVm5ZWFJsSUQwZ1puVnVZM1JwYjI0Z1kyOXVhblZuWVhSbElDaHlkM01zSUdsM2N5d2dUaWtnZTF4dUlDQWdJR2xtSUNoT0lEdzlJREVwSUhKbGRIVnlianRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnVGlBdklESTdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSFFnUFNCeWQzTmJhVjA3WEc1Y2JpQWdJQ0FnSUhKM2MxdHBYU0E5SUhKM2MxdE9JQzBnYVNBdElERmRPMXh1SUNBZ0lDQWdjbmR6VzA0Z0xTQnBJQzBnTVYwZ1BTQjBPMXh1WEc0Z0lDQWdJQ0IwSUQwZ2FYZHpXMmxkTzF4dVhHNGdJQ0FnSUNCcGQzTmJhVjBnUFNBdGFYZHpXMDRnTFNCcElDMGdNVjA3WEc0Z0lDQWdJQ0JwZDNOYlRpQXRJR2tnTFNBeFhTQTlJQzEwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCR1JsUk5MbkJ5YjNSdmRIbHdaUzV1YjNKdFlXeHBlbVV4TTJJZ1BTQm1kVzVqZEdsdmJpQnViM0p0WVd4cGVtVXhNMklnS0hkekxDQk9LU0I3WEc0Z0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUU0Z0x5QXlPeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ1RXRjBhQzV5YjNWdVpDaDNjMXN5SUNvZ2FTQXJJREZkSUM4Z1Rpa2dLaUF3ZURJd01EQWdLMXh1SUNBZ0lDQWdJQ0JOWVhSb0xuSnZkVzVrS0hkeld6SWdLaUJwWFNBdklFNHBJQ3RjYmlBZ0lDQWdJQ0FnWTJGeWNuazdYRzVjYmlBZ0lDQWdJSGR6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JseHVJQ0FnSUNBZ2FXWWdLSGNnUENBd2VEUXdNREF3TURBcElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQXdPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMkZ5Y25rZ1BTQjNJQzhnTUhnME1EQXdNREF3SUh3Z01EdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZDNNN1hHNGdJSDA3WEc1Y2JpQWdSa1pVVFM1d2NtOTBiM1I1Y0dVdVkyOXVkbVZ5ZERFellpQTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUXhNMklnS0hkekxDQnNaVzRzSUhKM2N5d2dUaWtnZTF4dUlDQWdJSFpoY2lCallYSnllU0E5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ1kyRnljbmtnUFNCallYSnllU0FySUNoM2MxdHBYU0I4SURBcE8xeHVYRzRnSUNBZ0lDQnlkM05iTWlBcUlHbGRJRDBnWTJGeWNua2dKaUF3ZURGbVptWTdJR05oY25KNUlEMGdZMkZ5Y25rZ1BqNCtJREV6TzF4dUlDQWdJQ0FnY25keld6SWdLaUJwSUNzZ01WMGdQU0JqWVhKeWVTQW1JREI0TVdabVpqc2dZMkZ5Y25rZ1BTQmpZWEp5ZVNBK1BqNGdNVE03WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVUdGa0lIZHBkR2dnZW1WeWIyVnpYRzRnSUNBZ1ptOXlJQ2hwSUQwZ01pQXFJR3hsYmpzZ2FTQThJRTQ3SUNzcmFTa2dlMXh1SUNBZ0lDQWdjbmR6VzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhjM05sY25Rb1kyRnljbmtnUFQwOUlEQXBPMXh1SUNBZ0lHRnpjMlZ5ZENnb1kyRnljbmtnSmlCK01IZ3habVptS1NBOVBUMGdNQ2s3WEc0Z0lIMDdYRzVjYmlBZ1JrWlVUUzV3Y205MGIzUjVjR1V1YzNSMVlpQTlJR1oxYm1OMGFXOXVJSE4wZFdJZ0tFNHBJSHRjYmlBZ0lDQjJZWElnY0dnZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSEJvVzJsZElEMGdNRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2NHZzdYRzRnSUgwN1hHNWNiaUFnUmtaVVRTNXdjbTkwYjNSNWNHVXViWFZzY0NBOUlHWjFibU4wYVc5dUlHMTFiSEFnS0hnc0lIa3NJRzkxZENrZ2UxeHVJQ0FnSUhaaGNpQk9JRDBnTWlBcUlIUm9hWE11WjNWbGMzTk1aVzR4TTJJb2VDNXNaVzVuZEdnc0lIa3ViR1Z1WjNSb0tUdGNibHh1SUNBZ0lIWmhjaUJ5WW5RZ1BTQjBhR2x6TG0xaGEyVlNRbFFvVGlrN1hHNWNiaUFnSUNCMllYSWdYeUE5SUhSb2FYTXVjM1IxWWloT0tUdGNibHh1SUNBZ0lIWmhjaUJ5ZDNNZ1BTQnVaWGNnUVhKeVlYa29UaWs3WEc0Z0lDQWdkbUZ5SUhKM2MzUWdQU0J1WlhjZ1FYSnlZWGtvVGlrN1hHNGdJQ0FnZG1GeUlHbDNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzVjYmlBZ0lDQjJZWElnYm5KM2N5QTlJRzVsZHlCQmNuSmhlU2hPS1R0Y2JpQWdJQ0IyWVhJZ2JuSjNjM1FnUFNCdVpYY2dRWEp5WVhrb1RpazdYRzRnSUNBZ2RtRnlJRzVwZDNOMElEMGdibVYzSUVGeWNtRjVLRTRwTzF4dVhHNGdJQ0FnZG1GeUlISnRkM01nUFNCdmRYUXVkMjl5WkhNN1hHNGdJQ0FnY20xM2N5NXNaVzVuZEdnZ1BTQk9PMXh1WEc0Z0lDQWdkR2hwY3k1amIyNTJaWEowTVROaUtIZ3VkMjl5WkhNc0lIZ3ViR1Z1WjNSb0xDQnlkM01zSUU0cE8xeHVJQ0FnSUhSb2FYTXVZMjl1ZG1WeWRERXpZaWg1TG5kdmNtUnpMQ0I1TG14bGJtZDBhQ3dnYm5KM2N5d2dUaWs3WEc1Y2JpQWdJQ0IwYUdsekxuUnlZVzV6Wm05eWJTaHlkM01zSUY4c0lISjNjM1FzSUdsM2MzUXNJRTRzSUhKaWRDazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvYm5KM2N5d2dYeXdnYm5KM2MzUXNJRzVwZDNOMExDQk9MQ0J5WW5RcE8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQk9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ5ZUNBOUlISjNjM1JiYVYwZ0tpQnVjbmR6ZEZ0cFhTQXRJR2wzYzNSYmFWMGdLaUJ1YVhkemRGdHBYVHRjYmlBZ0lDQWdJR2wzYzNSYmFWMGdQU0J5ZDNOMFcybGRJQ29nYm1sM2MzUmJhVjBnS3lCcGQzTjBXMmxkSUNvZ2JuSjNjM1JiYVYwN1hHNGdJQ0FnSUNCeWQzTjBXMmxkSUQwZ2NuZzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RHaHBjeTVqYjI1cWRXZGhkR1VvY25kemRDd2dhWGR6ZEN3Z1RpazdYRzRnSUNBZ2RHaHBjeTUwY21GdWMyWnZjbTBvY25kemRDd2dhWGR6ZEN3Z2NtMTNjeXdnWHl3Z1Rpd2djbUowS1R0Y2JpQWdJQ0IwYUdsekxtTnZibXAxWjJGMFpTaHliWGR6TENCZkxDQk9LVHRjYmlBZ0lDQjBhR2x6TG01dmNtMWhiR2w2WlRFellpaHliWGR6TENCT0tUdGNibHh1SUNBZ0lHOTFkQzV1WldkaGRHbDJaU0E5SUhndWJtVm5ZWFJwZG1VZ1hpQjVMbTVsWjJGMGFYWmxPMXh1SUNBZ0lHOTFkQzVzWlc1bmRHZ2dQU0I0TG14bGJtZDBhQ0FySUhrdWJHVnVaM1JvTzF4dUlDQWdJSEpsZEhWeWJpQnZkWFF1YzNSeWFYQW9LVHRjYmlBZ2ZUdGNibHh1SUNBdkx5Qk5kV3gwYVhCc2VTQmdkR2hwYzJBZ1lua2dZRzUxYldCY2JpQWdRazR1Y0hKdmRHOTBlWEJsTG0xMWJDQTlJR1oxYm1OMGFXOXVJRzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdkbUZ5SUc5MWRDQTlJRzVsZHlCQ1RpaHVkV3hzS1R0Y2JpQWdJQ0J2ZFhRdWQyOXlaSE1nUFNCdVpYY2dRWEp5WVhrb2RHaHBjeTVzWlc1bmRHZ2dLeUJ1ZFcwdWJHVnVaM1JvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXeFVieWh1ZFcwc0lHOTFkQ2s3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdUWFZzZEdsd2JIa2daVzF3Ykc5NWFXNW5JRVpHVkZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YlhWc1ppQTlJR1oxYm1OMGFXOXVJRzExYkdZZ0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdmRYUWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnYjNWMExuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtIUm9hWE11YkdWdVozUm9JQ3NnYm5WdExteGxibWQwYUNrN1hHNGdJQ0FnY21WMGRYSnVJR3AxYldKdlRYVnNWRzhvZEdocGN5d2diblZ0TENCdmRYUXBPMXh1SUNCOU8xeHVYRzRnSUM4dklFbHVMWEJzWVdObElFMTFiSFJwY0d4cFkyRjBhVzl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYlhWc0lEMGdablZ1WTNScGIyNGdhVzExYkNBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJ4dmJtVW9LUzV0ZFd4VWJ5aHVkVzBzSUhSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBiWFZzYmlBOUlHWjFibU4wYVc5dUlHbHRkV3h1SUNodWRXMHBJSHRjYmlBZ0lDQmhjM05sY25Rb2RIbHdaVzltSUc1MWJTQTlQVDBnSjI1MWJXSmxjaWNwTzF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUENBd2VEUXdNREF3TURBcE8xeHVYRzRnSUNBZ0x5OGdRMkZ5Y25sY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RHaHBjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJSGNnUFNBb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDb2diblZ0TzF4dUlDQWdJQ0FnZG1GeUlHeHZJRDBnS0hjZ0ppQXdlRE5tWm1abVptWXBJQ3NnS0dOaGNuSjVJQ1lnTUhnelptWm1abVptS1R0Y2JpQWdJQ0FnSUdOaGNuSjVJRDQrUFNBeU5qdGNiaUFnSUNBZ0lHTmhjbko1SUNzOUlDaDNJQzhnTUhnME1EQXdNREF3S1NCOElEQTdYRzRnSUNBZ0lDQXZMeUJPVDFSRk9pQnNieUJwY3lBeU4ySnBkQ0J0WVhocGJYVnRYRzRnSUNBZ0lDQmpZWEp5ZVNBclBTQnNieUErUGo0Z01qWTdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ2JHOGdKaUF3ZURObVptWm1abVk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1dGRXeHVJRDBnWm5WdVkzUnBiMjRnYlhWc2JpQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGJYVnNiaWh1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUdCMGFHbHpZQ0FxSUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjM0Z5SUQwZ1puVnVZM1JwYjI0Z2MzRnlJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnWUhSb2FYTmdJQ29nWUhSb2FYTmdJR2x1TFhCc1lXTmxYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBjM0Z5SUQwZ1puVnVZM1JwYjI0Z2FYTnhjaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWFXMTFiQ2gwYUdsekxtTnNiMjVsS0NrcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUUxaGRHZ3VjRzkzS0dCMGFHbHpZQ3dnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXdiM2NnUFNCbWRXNWpkR2x2YmlCd2IzY2dLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQjNJRDBnZEc5Q2FYUkJjbkpoZVNodWRXMHBPMXh1SUNBZ0lHbG1JQ2gzTG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlHNWxkeUJDVGlneEtUdGNibHh1SUNBZ0lDOHZJRk5yYVhBZ2JHVmhaR2x1WnlCNlpYSnZaWE5jYmlBZ0lDQjJZWElnY21WeklEMGdkR2hwY3p0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEpsY3lBOUlISmxjeTV6Y1hJb0tTa2dlMXh1SUNBZ0lDQWdhV1lnS0hkYmFWMGdJVDA5SURBcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNncksya2dQQ0IzTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnY1NBOUlISmxjeTV6Y1hJb0tUc2dhU0E4SUhjdWJHVnVaM1JvT3lCcEt5c3NJSEVnUFNCeExuTnhjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2gzVzJsZElEMDlQU0F3S1NCamIyNTBhVzUxWlR0Y2JseHVJQ0FnSUNBZ0lDQnlaWE1nUFNCeVpYTXViWFZzS0hFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ5WlhNN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTJocFpuUXRiR1ZtZENCcGJpMXdiR0ZqWlZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhWemFHeHVJRDBnWm5WdVkzUnBiMjRnYVhWemFHeHVJQ2hpYVhSektTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhSeklEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUnpJRDQ5SURBcE8xeHVJQ0FnSUhaaGNpQnlJRDBnWW1sMGN5QWxJREkyTzF4dUlDQWdJSFpoY2lCeklEMGdLR0pwZEhNZ0xTQnlLU0F2SURJMk8xeHVJQ0FnSUhaaGNpQmpZWEp5ZVUxaGMyc2dQU0FvTUhnelptWm1abVptSUQ0K1BpQW9NallnTFNCeUtTa2dQRHdnS0RJMklDMGdjaWs3WEc0Z0lDQWdkbUZ5SUdrN1hHNWNiaUFnSUNCcFppQW9jaUFoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUdOaGNuSjVJRDBnTUR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ01Ec2dhU0E4SUhSb2FYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzVsZDBOaGNuSjVJRDBnZEdocGN5NTNiM0prYzF0cFhTQW1JR05oY25KNVRXRnphenRjYmlBZ0lDQWdJQ0FnZG1GeUlHTWdQU0FvS0hSb2FYTXVkMjl5WkhOYmFWMGdmQ0F3S1NBdElHNWxkME5oY25KNUtTQThQQ0J5TzF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnWXlCOElHTmhjbko1TzF4dUlDQWdJQ0FnSUNCallYSnllU0E5SUc1bGQwTmhjbko1SUQ0K1BpQW9NallnTFNCeUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0dOaGNuSjVLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0JqWVhKeWVUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1pXNW5kR2dyS3p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2N5QWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hwSUQwZ2RHaHBjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJrZ0t5QnpYU0E5SUhSb2FYTXVkMjl5WkhOYmFWMDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnpPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlEQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFJvYVhNdWJHVnVaM1JvSUNzOUlITTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTm9iRzRnUFNCbWRXNWpkR2x2YmlCcGMyaHNiaUFvWW1sMGN5a2dlMXh1SUNBZ0lDOHZJRlJQUkU4b2FXNWtkWFJ1ZVNrNklHbHRjR3hsYldWdWRDQnRaVnh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0tUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBkWE5vYkc0b1ltbDBjeWs3WEc0Z0lIMDdYRzVjYmlBZ0x5OGdVMmhwWm5RdGNtbG5hSFFnYVc0dGNHeGhZMlZjYmlBZ0x5OGdUazlVUlRvZ1lHaHBiblJnSUdseklHRWdiRzkzWlhOMElHSnBkQ0JpWldadmNtVWdkSEpoYVd4cGJtY2dlbVZ5YjJWelhHNGdJQzh2SUU1UFZFVTZJR2xtSUdCbGVIUmxibVJsWkdBZ2FYTWdjSEpsYzJWdWRDQXRJR2wwSUhkcGJHd2dZbVVnWm1sc2JHVmtJSGRwZEdnZ1pHVnpkSEp2ZVdWa0lHSnBkSE5jYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWwxYzJoeWJpQTlJR1oxYm1OMGFXOXVJR2wxYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kSGx3Wlc5bUlHSnBkSE1nUFQwOUlDZHVkVzFpWlhJbklDWW1JR0pwZEhNZ1BqMGdNQ2s3WEc0Z0lDQWdkbUZ5SUdnN1hHNGdJQ0FnYVdZZ0tHaHBiblFwSUh0Y2JpQWdJQ0FnSUdnZ1BTQW9hR2x1ZENBdElDaG9hVzUwSUNVZ01qWXBLU0F2SURJMk8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvSUQwZ01EdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjaUE5SUdKcGRITWdKU0F5Tmp0Y2JpQWdJQ0IyWVhJZ2N5QTlJRTFoZEdndWJXbHVLQ2hpYVhSeklDMGdjaWtnTHlBeU5pd2dkR2hwY3k1c1pXNW5kR2dwTzF4dUlDQWdJSFpoY2lCdFlYTnJJRDBnTUhnelptWm1abVptSUY0Z0tDZ3dlRE5tWm1abVptWWdQajQrSUhJcElEdzhJSElwTzF4dUlDQWdJSFpoY2lCdFlYTnJaV1JYYjNKa2N5QTlJR1Y0ZEdWdVpHVmtPMXh1WEc0Z0lDQWdhQ0F0UFNCek8xeHVJQ0FnSUdnZ1BTQk5ZWFJvTG0xaGVDZ3dMQ0JvS1R0Y2JseHVJQ0FnSUM4dklFVjRkR1Z1WkdWa0lHMXZaR1VzSUdOdmNIa2diV0Z6YTJWa0lIQmhjblJjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2djenNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG5kdmNtUnpXMmxkSUQwZ2RHaHBjeTUzYjNKa2MxdHBYVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJRzFoYzJ0bFpGZHZjbVJ6TG14bGJtZDBhQ0E5SUhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDOHZJRTV2TFc5d0xDQjNaU0J6YUc5MWJHUWdibTkwSUcxdmRtVWdZVzU1ZEdocGJtY2dZWFFnWVd4c1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQStJSE1wSUh0Y2JpQWdJQ0FnSUhSb2FYTXViR1Z1WjNSb0lDMDlJSE03WEc0Z0lDQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkR2hwY3k1M2IzSmtjMXRwSUNzZ2MxMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYk1GMGdQU0F3TzF4dUlDQWdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXhPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNocElEMGdkR2hwY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBZ0ppWWdLR05oY25KNUlDRTlQU0F3SUh4OElHa2dQajBnYUNrN0lHa3RMU2tnZTF4dUlDQWdJQ0FnZG1GeUlIZHZjbVFnUFNCMGFHbHpMbmR2Y21SelcybGRJSHdnTUR0Y2JpQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFWMGdQU0FvWTJGeWNua2dQRHdnS0RJMklDMGdjaWtwSUh3Z0tIZHZjbVFnUGo0K0lISXBPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQjNiM0prSUNZZ2JXRnphenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJRZFhOb0lHTmhjbkpwWldRZ1ltbDBjeUJoY3lCaElHMWhjMnRjYmlBZ0lDQnBaaUFvYldGemEyVmtWMjl5WkhNZ0ppWWdZMkZ5Y25rZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUcxaGMydGxaRmR2Y21SekxuZHZjbVJ6VzIxaGMydGxaRmR2Y21SekxteGxibWQwYUNzclhTQTlJR05oY25KNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBOUlEQTdYRzRnSUNBZ0lDQjBhR2x6TG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUnlhWEFvS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOb2NtNGdQU0JtZFc1amRHbHZiaUJwYzJoeWJpQW9ZbWwwY3l3Z2FHbHVkQ3dnWlhoMFpXNWtaV1FwSUh0Y2JpQWdJQ0F2THlCVVQwUlBLR2x1WkhWMGJua3BPaUJwYlhCc1pXMWxiblFnYldWY2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YVhWemFISnVLR0pwZEhNc0lHaHBiblFzSUdWNGRHVnVaR1ZrS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJUYUdsbWRDMXNaV1owWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV6YUd4dUlEMGdablZ1WTNScGIyNGdjMmhzYmlBb1ltbDBjeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1Oc2IyNWxLQ2t1YVhOb2JHNG9ZbWwwY3lrN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG5WemFHeHVJRDBnWm5WdVkzUnBiMjRnZFhOb2JHNGdLR0pwZEhNcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbDFjMmhzYmloaWFYUnpLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlRhR2xtZEMxeWFXZG9kRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjMmh5YmlBOUlHWjFibU4wYVc5dUlITm9jbTRnS0dKcGRITXBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYkc5dVpTZ3BMbWx6YUhKdUtHSnBkSE1wTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxYzJoeWJpQTlJR1oxYm1OMGFXOXVJSFZ6YUhKdUlDaGlhWFJ6S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyeHZibVVvS1M1cGRYTm9jbTRvWW1sMGN5azdYRzRnSUgwN1hHNWNiaUFnTHk4Z1ZHVnpkQ0JwWmlCdUlHSnBkQ0JwY3lCelpYUmNiaUFnUWs0dWNISnZkRzkwZVhCbExuUmxjM1J1SUQwZ1puVnVZM1JwYjI0Z2RHVnpkRzRnS0dKcGRDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGVYQmxiMllnWW1sMElEMDlQU0FuYm5WdFltVnlKeUFtSmlCaWFYUWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhRZ0pTQXlOanRjYmlBZ0lDQjJZWElnY3lBOUlDaGlhWFFnTFNCeUtTQXZJREkyTzF4dUlDQWdJSFpoY2lCeElEMGdNU0E4UENCeU8xeHVYRzRnSUNBZ0x5OGdSbUZ6ZENCallYTmxPaUJpYVhRZ2FYTWdiWFZqYUNCb2FXZG9aWElnZEdoaGJpQmhiR3dnWlhocGMzUnBibWNnZDI5eVpITmNiaUFnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUEQwZ2N5a2djbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnTHk4Z1EyaGxZMnNnWW1sMElHRnVaQ0J5WlhSMWNtNWNiaUFnSUNCMllYSWdkeUE5SUhSb2FYTXVkMjl5WkhOYmMxMDdYRzVjYmlBZ0lDQnlaWFIxY200Z0lTRW9keUFtSUhFcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbGRIVnliaUJ2Ym14NUlHeHZkMlZ5Y3lCaWFYUnpJRzltSUc1MWJXSmxjaUFvYVc0dGNHeGhZMlVwWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVwYldGemEyNGdQU0JtZFc1amRHbHZiaUJwYldGemEyNGdLR0pwZEhNcElIdGNiaUFnSUNCaGMzTmxjblFvZEhsd1pXOW1JR0pwZEhNZ1BUMDlJQ2R1ZFcxaVpYSW5JQ1ltSUdKcGRITWdQajBnTUNrN1hHNGdJQ0FnZG1GeUlISWdQU0JpYVhSeklDVWdNalk3WEc0Z0lDQWdkbUZ5SUhNZ1BTQW9ZbWwwY3lBdElISXBJQzhnTWpZN1hHNWNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXVaV2RoZEdsMlpTQTlQVDBnTUN3Z0oybHRZWE5yYmlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVVnYm5WdFltVnljeWNwTzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRHc5SUhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h5SUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J6S3lzN1hHNGdJQ0FnZlZ4dUlDQWdJSFJvYVhNdWJHVnVaM1JvSUQwZ1RXRjBhQzV0YVc0b2N5d2dkR2hwY3k1c1pXNW5kR2dwTzF4dVhHNGdJQ0FnYVdZZ0tISWdJVDA5SURBcElIdGNiaUFnSUNBZ0lIWmhjaUJ0WVhOcklEMGdNSGd6Wm1abVptWm1JRjRnS0Nnd2VETm1abVptWm1ZZ1BqNCtJSElwSUR3OElISXBPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXQwYUdsekxteGxibWQwYUNBdElERmRJQ1k5SUcxaGMyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0F2THlCU1pYUjFjbTRnYjI1c2VTQnNiM2RsY25NZ1ltbDBjeUJ2WmlCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTFoYzJ0dUlEMGdablZ1WTNScGIyNGdiV0Z6YTI0Z0tHSnBkSE1wSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJHOXVaU2dwTG1sdFlYTnJiaWhpYVhSektUdGNiaUFnZlR0Y2JseHVJQ0F2THlCQlpHUWdjR3hoYVc0Z2JuVnRZbVZ5SUdCdWRXMWdJSFJ2SUdCMGFHbHpZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhV0ZrWkc0Z1BTQm1kVzVqZEdsdmJpQnBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtIUjVjR1Z2WmlCdWRXMGdQVDA5SUNkdWRXMWlaWEluS1R0Y2JpQWdJQ0JoYzNObGNuUW9iblZ0SUR3Z01IZzBNREF3TURBd0tUdGNiaUFnSUNCcFppQW9iblZ0SUR3Z01Da2djbVYwZFhKdUlIUm9hWE11YVhOMVltNG9MVzUxYlNrN1hHNWNiaUFnSUNBdkx5QlFiM056YVdKc1pTQnphV2R1SUdOb1lXNW5aVnh1SUNBZ0lHbG1JQ2gwYUdsekxtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnS0hSb2FYTXVkMjl5WkhOYk1GMGdmQ0F3S1NBOElHNTFiU2tnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21Seld6QmRJRDBnYm5WdElDMGdLSFJvYVhNdWQyOXlaSE5iTUYwZ2ZDQXdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBhR2x6TG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lIUm9hWE11YVhOMVltNG9iblZ0S1R0Y2JpQWdJQ0FnSUhSb2FYTXVibVZuWVhScGRtVWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1FXUmtJSGRwZEdodmRYUWdZMmhsWTJ0elhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgybGhaR1J1S0c1MWJTazdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExsOXBZV1JrYmlBOUlHWjFibU4wYVc5dUlGOXBZV1JrYmlBb2JuVnRLU0I3WEc0Z0lDQWdkR2hwY3k1M2IzSmtjMXN3WFNBclBTQnVkVzA3WEc1Y2JpQWdJQ0F2THlCRFlYSnllVnh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0ErUFNBd2VEUXdNREF3TURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cFhTQXRQU0F3ZURRd01EQXdNREE3WEc0Z0lDQWdJQ0JwWmlBb2FTQTlQVDBnZEdocGN5NXNaVzVuZEdnZ0xTQXhLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVkMjl5WkhOYmFTQXJJREZkSUQwZ01UdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11ZDI5eVpITmJhU0FySURGZEt5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0FnSUhSb2FYTXViR1Z1WjNSb0lEMGdUV0YwYUM1dFlYZ29kR2hwY3k1c1pXNW5kR2dzSUdrZ0t5QXhLVHRjYmx4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRk4xWW5SeVlXTjBJSEJzWVdsdUlHNTFiV0psY2lCZ2JuVnRZQ0JtY205dElHQjBhR2x6WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOMVltNGdQU0JtZFc1amRHbHZiaUJwYzNWaWJpQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFI1Y0dWdlppQnVkVzBnUFQwOUlDZHVkVzFpWlhJbktUdGNiaUFnSUNCaGMzTmxjblFvYm5WdElEd2dNSGcwTURBd01EQXdLVHRjYmlBZ0lDQnBaaUFvYm5WdElEd2dNQ2tnY21WMGRYSnVJSFJvYVhNdWFXRmtaRzRvTFc1MWJTazdYRzVjYmlBZ0lDQnBaaUFvZEdocGN5NXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV1WldkaGRHbDJaU0E5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbWxoWkdSdUtHNTFiU2s3WEc0Z0lDQWdJQ0IwYUdsekxtNWxaMkYwYVhabElEMGdNVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWQyOXlaSE5iTUYwZ0xUMGdiblZ0TzF4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11YkdWdVozUm9JRDA5UFNBeElDWW1JSFJvYVhNdWQyOXlaSE5iTUYwZ1BDQXdLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6V3pCZElEMGdMWFJvYVhNdWQyOXlaSE5iTUYwN1hHNGdJQ0FnSUNCMGFHbHpMbTVsWjJGMGFYWmxJRDBnTVR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnUTJGeWNubGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2dnSmlZZ2RHaHBjeTUzYjNKa2MxdHBYU0E4SURBN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJQ3M5SURCNE5EQXdNREF3TUR0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHBJQ3NnTVYwZ0xUMGdNVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWhaR1J1SUQwZ1puVnVZM1JwYjI0Z1lXUmtiaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBZV1JrYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXpkV0p1SUQwZ1puVnVZM1JwYjI0Z2MzVmliaUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMnh2Ym1Vb0tTNXBjM1ZpYmlodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXBZV0p6SUQwZ1puVnVZM1JwYjI0Z2FXRmljeUFvS1NCN1hHNGdJQ0FnZEdocGN5NXVaV2RoZEdsMlpTQTlJREE3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WVdKeklEMGdablZ1WTNScGIyNGdZV0p6SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWpiRzl1WlNncExtbGhZbk1vS1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WDJsemFHeHVjM1ZpYlhWc0lEMGdablZ1WTNScGIyNGdYMmx6YUd4dWMzVmliWFZzSUNodWRXMHNJRzExYkN3Z2MyaHBablFwSUh0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYm5WdExteGxibWQwYUNBcklITm9hV1owTzF4dUlDQWdJSFpoY2lCcE8xeHVYRzRnSUNBZ2RHaHBjeTVmWlhod1lXNWtLR3hsYmlrN1hHNWNiaUFnSUNCMllYSWdkenRjYmlBZ0lDQjJZWElnWTJGeWNua2dQU0F3TzF4dUlDQWdJR1p2Y2lBb2FTQTlJREE3SUdrZ1BDQnVkVzB1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIY2dQU0FvZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElId2dNQ2tnS3lCallYSnllVHRjYmlBZ0lDQWdJSFpoY2lCeWFXZG9kQ0E5SUNodWRXMHVkMjl5WkhOYmFWMGdmQ0F3S1NBcUlHMTFiRHRjYmlBZ0lDQWdJSGNnTFQwZ2NtbG5hSFFnSmlBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCallYSnllU0E5SUNoM0lENCtJREkyS1NBdElDZ29jbWxuYUhRZ0x5QXdlRFF3TURBd01EQXBJSHdnTUNrN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21Selcya2dLeUJ6YUdsbWRGMGdQU0IzSUNZZ01IZ3pabVptWm1abU8xeHVJQ0FnSUgxY2JpQWdJQ0JtYjNJZ0tEc2dhU0E4SUhSb2FYTXViR1Z1WjNSb0lDMGdjMmhwWm5RN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZHlBOUlDaDBhR2x6TG5kdmNtUnpXMmtnS3lCemFHbG1kRjBnZkNBd0tTQXJJR05oY25KNU8xeHVJQ0FnSUNBZ1kyRnljbmtnUFNCM0lENCtJREkyTzF4dUlDQWdJQ0FnZEdocGN5NTNiM0prYzF0cElDc2djMmhwWm5SZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1kyRnljbmtnUFQwOUlEQXBJSEpsZEhWeWJpQjBhR2x6TG5OMGNtbHdLQ2s3WEc1Y2JpQWdJQ0F2THlCVGRXSjBjbUZqZEdsdmJpQnZkbVZ5Wm14dmQxeHVJQ0FnSUdGemMyVnlkQ2hqWVhKeWVTQTlQVDBnTFRFcE8xeHVJQ0FnSUdOaGNuSjVJRDBnTUR0Y2JpQWdJQ0JtYjNJZ0tHa2dQU0F3T3lCcElEd2dkR2hwY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkeUE5SUMwb2RHaHBjeTUzYjNKa2MxdHBYU0I4SURBcElDc2dZMkZ5Y25rN1hHNGdJQ0FnSUNCallYSnllU0E5SUhjZ1BqNGdNalk3WEc0Z0lDQWdJQ0IwYUdsekxuZHZjbVJ6VzJsZElEMGdkeUFtSURCNE0yWm1abVptWmp0Y2JpQWdJQ0I5WEc0Z0lDQWdkR2hwY3k1dVpXZGhkR2wyWlNBOUlERTdYRzVjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV6ZEhKcGNDZ3BPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWZkMjl5WkVScGRpQTlJR1oxYm1OMGFXOXVJRjkzYjNKa1JHbDJJQ2h1ZFcwc0lHMXZaR1VwSUh0Y2JpQWdJQ0IyWVhJZ2MyaHBablFnUFNCMGFHbHpMbXhsYm1kMGFDQXRJRzUxYlM1c1pXNW5kR2c3WEc1Y2JpQWdJQ0IyWVhJZ1lTQTlJSFJvYVhNdVkyeHZibVVvS1R0Y2JpQWdJQ0IyWVhJZ1lpQTlJRzUxYlR0Y2JseHVJQ0FnSUM4dklFNXZjbTFoYkdsNlpWeHVJQ0FnSUhaaGNpQmlhR2tnUFNCaUxuZHZjbVJ6VzJJdWJHVnVaM1JvSUMwZ01WMGdmQ0F3TzF4dUlDQWdJSFpoY2lCaWFHbENhWFJ6SUQwZ2RHaHBjeTVmWTI5MWJuUkNhWFJ6S0dKb2FTazdYRzRnSUNBZ2MyaHBablFnUFNBeU5pQXRJR0pvYVVKcGRITTdYRzRnSUNBZ2FXWWdLSE5vYVdaMElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaUlEMGdZaTUxYzJoc2JpaHphR2xtZENrN1hHNGdJQ0FnSUNCaExtbDFjMmhzYmloemFHbG1kQ2s3WEc0Z0lDQWdJQ0JpYUdrZ1BTQmlMbmR2Y21SelcySXViR1Z1WjNSb0lDMGdNVjBnZkNBd08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdjWFZ2ZEdsbGJuUmNiaUFnSUNCMllYSWdiU0E5SUdFdWJHVnVaM1JvSUMwZ1lpNXNaVzVuZEdnN1hHNGdJQ0FnZG1GeUlIRTdYRzVjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjIxdlpDY3BJSHRjYmlBZ0lDQWdJSEVnUFNCdVpYY2dRazRvYm5Wc2JDazdYRzRnSUNBZ0lDQnhMbXhsYm1kMGFDQTlJRzBnS3lBeE8xeHVJQ0FnSUNBZ2NTNTNiM0prY3lBOUlHNWxkeUJCY25KaGVTaHhMbXhsYm1kMGFDazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJSEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdjUzUzYjNKa2MxdHBYU0E5SURBN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHUnBabVlnUFNCaExtTnNiMjVsS0NrdVgybHphR3h1YzNWaWJYVnNLR0lzSURFc0lHMHBPMXh1SUNBZ0lHbG1JQ2hrYVdabUxtNWxaMkYwYVhabElEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdaR2xtWmp0Y2JpQWdJQ0FnSUdsbUlDaHhLU0I3WEc0Z0lDQWdJQ0FnSUhFdWQyOXlaSE5iYlYwZ1BTQXhPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHb2dQU0J0SUMwZ01Uc2dhaUErUFNBd095QnFMUzBwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhhaUE5SUNoaExuZHZjbVJ6VzJJdWJHVnVaM1JvSUNzZ2FsMGdmQ0F3S1NBcUlEQjROREF3TURBd01DQXJYRzRnSUNBZ0lDQWdJQ2hoTG5kdmNtUnpXMkl1YkdWdVozUm9JQ3NnYWlBdElERmRJSHdnTUNrN1hHNWNiaUFnSUNBZ0lDOHZJRTVQVkVVNklDaHhhaUF2SUdKb2FTa2dhWE1nS0RCNE0yWm1abVptWmlBcUlEQjROREF3TURBd01DQXJJREI0TTJabVptWm1aaWtnTHlBd2VESXdNREF3TURBZ2JXRjRYRzRnSUNBZ0lDQXZMeUFvTUhnM1ptWm1abVptS1Z4dUlDQWdJQ0FnY1dvZ1BTQk5ZWFJvTG0xcGJpZ29jV29nTHlCaWFHa3BJSHdnTUN3Z01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lDQWdZUzVmYVhOb2JHNXpkV0p0ZFd3b1lpd2djV29zSUdvcE8xeHVJQ0FnSUNBZ2QyaHBiR1VnS0dFdWJtVm5ZWFJwZG1VZ0lUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NXb3RMVHRjYmlBZ0lDQWdJQ0FnWVM1dVpXZGhkR2wyWlNBOUlEQTdYRzRnSUNBZ0lDQWdJR0V1WDJsemFHeHVjM1ZpYlhWc0tHSXNJREVzSUdvcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvSVdFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JoTG01bFoyRjBhWFpsSUY0OUlERTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR2xtSUNoeEtTQjdYRzRnSUNBZ0lDQWdJSEV1ZDI5eVpITmJhbDBnUFNCeGFqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnYVdZZ0tIRXBJSHRjYmlBZ0lDQWdJSEV1YzNSeWFYQW9LVHRjYmlBZ0lDQjlYRzRnSUNBZ1lTNXpkSEpwY0NncE8xeHVYRzRnSUNBZ0x5OGdSR1Z1YjNKdFlXeHBlbVZjYmlBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY2dKaVlnYzJocFpuUWdJVDA5SURBcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtITm9hV1owS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdaR2wyT2lCeElIeDhJRzUxYkd3c1hHNGdJQ0FnSUNCdGIyUTZJR0ZjYmlBZ0lDQjlPMXh1SUNCOU8xeHVYRzRnSUM4dklFNVBWRVU2SURFcElHQnRiMlJsWUNCallXNGdZbVVnYzJWMElIUnZJR0J0YjJSZ0lIUnZJSEpsY1hWbGMzUWdiVzlrSUc5dWJIa3NYRzRnSUM4dklDQWdJQ0FnSUhSdklHQmthWFpnSUhSdklISmxjWFZsYzNRZ1pHbDJJRzl1Ykhrc0lHOXlJR0psSUdGaWMyVnVkQ0IwYjF4dUlDQXZMeUFnSUNBZ0lDQnlaWEYxWlhOMElHSnZkR2dnWkdsMklDWWdiVzlrWEc0Z0lDOHZJQ0FnSUNBZ0lESXBJR0J3YjNOcGRHbDJaV0FnYVhNZ2RISjFaU0JwWmlCMWJuTnBaMjVsWkNCdGIyUWdhWE1nY21WeGRXVnpkR1ZrWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhadGIyUWdQU0JtZFc1amRHbHZiaUJrYVhadGIyUWdLRzUxYlN3Z2JXOWtaU3dnY0c5emFYUnBkbVVwSUh0Y2JpQWdJQ0JoYzNObGNuUW9JVzUxYlM1cGMxcGxjbThvS1NrN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ1pHbDJPaUJ1WlhjZ1FrNG9NQ2tzWEc0Z0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tEQXBYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJrYVhZc0lHMXZaQ3dnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG01bFoyRjBhWFpsSUNFOVBTQXdJQ1ltSUc1MWJTNXVaV2RoZEdsMlpTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZEdocGN5NXVaV2NvS1M1a2FYWnRiMlFvYm5WdExDQnRiMlJsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ0lUMDlJQ2R0YjJRbktTQjdYRzRnSUNBZ0lDQWdJR1JwZGlBOUlISmxjeTVrYVhZdWJtVm5LQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHRiMlJsSUNFOVBTQW5aR2wySnlrZ2UxeHVJQ0FnSUNBZ0lDQnRiMlFnUFNCeVpYTXViVzlrTG01bFp5Z3BPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NHOXphWFJwZG1VZ0ppWWdiVzlrTG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXOWtMbWxoWkdRb2JuVnRLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCa2FYWTZJR1JwZGl4Y2JpQWdJQ0FnSUNBZ2JXOWtPaUJ0YjJSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUm9hWE11Ym1WbllYUnBkbVVnUFQwOUlEQWdKaVlnYm5WdExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCeVpYTWdQU0IwYUdsekxtUnBkbTF2WkNodWRXMHVibVZuS0Nrc0lHMXZaR1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9iVzlrWlNBaFBUMGdKMjF2WkNjcElIdGNiaUFnSUNBZ0lDQWdaR2wySUQwZ2NtVnpMbVJwZGk1dVpXY29LVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnWkdsMk9pQmthWFlzWEc0Z0lDQWdJQ0FnSUcxdlpEb2djbVZ6TG0xdlpGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9LSFJvYVhNdWJtVm5ZWFJwZG1VZ0ppQnVkVzB1Ym1WbllYUnBkbVVwSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjBhR2x6TG01bFp5Z3BMbVJwZG0xdlpDaHVkVzB1Ym1WbktDa3NJRzF2WkdVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYlc5a1pTQWhQVDBnSjJScGRpY3BJSHRjYmlBZ0lDQWdJQ0FnYlc5a0lEMGdjbVZ6TG0xdlpDNXVaV2NvS1R0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ2YzJsMGFYWmxJQ1ltSUcxdlpDNXVaV2RoZEdsMlpTQWhQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzF2WkM1cGMzVmlLRzUxYlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdaR2wyT2lCeVpYTXVaR2wyTEZ4dUlDQWdJQ0FnSUNCdGIyUTZJRzF2WkZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCQ2IzUm9JRzUxYldKbGNuTWdZWEpsSUhCdmMybDBhWFpsSUdGMElIUm9hWE1nY0c5cGJuUmNibHh1SUNBZ0lDOHZJRk4wY21sd0lHSnZkR2dnYm5WdFltVnljeUIwYnlCaGNIQnliM2hwYldGMFpTQnphR2xtZENCMllXeDFaVnh1SUNBZ0lHbG1JQ2h1ZFcwdWJHVnVaM1JvSUQ0Z2RHaHBjeTVzWlc1bmRHZ2dmSHdnZEdocGN5NWpiWEFvYm5WdEtTQThJREFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUdScGRqb2dibVYzSUVKT0tEQXBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklIUm9hWE5jYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVm1WeWVTQnphRzl5ZENCeVpXUjFZM1JwYjI1Y2JpQWdJQ0JwWmlBb2JuVnRMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzF2WkdVZ1BUMDlJQ2RrYVhZbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsMk9pQjBhR2x6TG1ScGRtNG9iblZ0TG5kdmNtUnpXekJkS1N4Y2JpQWdJQ0FnSUNBZ0lDQnRiMlE2SUc1MWJHeGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHMXZaR1VnUFQwOUlDZHRiMlFuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lDQWdaR2wyT2lCdWRXeHNMRnh1SUNBZ0lDQWdJQ0FnSUcxdlpEb2dibVYzSUVKT0tIUm9hWE11Ylc5a2JpaHVkVzB1ZDI5eVpITmJNRjBwS1Z4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ0lDQmthWFk2SUhSb2FYTXVaR2wyYmlodWRXMHVkMjl5WkhOYk1GMHBMRnh1SUNBZ0lDQWdJQ0J0YjJRNklHNWxkeUJDVGloMGFHbHpMbTF2Wkc0b2JuVnRMbmR2Y21Seld6QmRLU2xjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WDNkdmNtUkVhWFlvYm5WdExDQnRiMlJsS1R0Y2JpQWdmVHRjYmx4dUlDQXZMeUJHYVc1a0lHQjBhR2x6WUNBdklHQnVkVzFnWEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVrYVhZZ1BTQm1kVzVqZEdsdmJpQmthWFlnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVJwZG0xdlpDaHVkVzBzSUNka2FYWW5MQ0JtWVd4elpTa3VaR2wyTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1lIUm9hWE5nSUNVZ1lHNTFiV0JjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbTF2WkNBOUlHWjFibU4wYVc5dUlHMXZaQ0FvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaR2wyYlc5a0tHNTFiU3dnSjIxdlpDY3NJR1poYkhObEtTNXRiMlE3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMblZ0YjJRZ1BTQm1kVzVqZEdsdmJpQjFiVzlrSUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVrYVhadGIyUW9iblZ0TENBbmJXOWtKeXdnZEhKMVpTa3ViVzlrTzF4dUlDQjlPMXh1WEc0Z0lDOHZJRVpwYm1RZ1VtOTFibVFvWUhSb2FYTmdJQzhnWUc1MWJXQXBYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWthWFpTYjNWdVpDQTlJR1oxYm1OMGFXOXVJR1JwZGxKdmRXNWtJQ2h1ZFcwcElIdGNiaUFnSUNCMllYSWdaRzBnUFNCMGFHbHpMbVJwZG0xdlpDaHVkVzBwTzF4dVhHNGdJQ0FnTHk4Z1JtRnpkQ0JqWVhObElDMGdaWGhoWTNRZ1pHbDJhWE5wYjI1Y2JpQWdJQ0JwWmlBb1pHMHViVzlrTG1seldtVnlieWdwS1NCeVpYUjFjbTRnWkcwdVpHbDJPMXh1WEc0Z0lDQWdkbUZ5SUcxdlpDQTlJR1J0TG1ScGRpNXVaV2RoZEdsMlpTQWhQVDBnTUNBL0lHUnRMbTF2WkM1cGMzVmlLRzUxYlNrZ09pQmtiUzV0YjJRN1hHNWNiaUFnSUNCMllYSWdhR0ZzWmlBOUlHNTFiUzUxYzJoeWJpZ3hLVHRjYmlBZ0lDQjJZWElnY2pJZ1BTQnVkVzB1WVc1a2JHNG9NU2s3WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJRzF2WkM1amJYQW9hR0ZzWmlrN1hHNWNiaUFnSUNBdkx5QlNiM1Z1WkNCa2IzZHVYRzRnSUNBZ2FXWWdLR050Y0NBOElEQWdmSHdnY2pJZ1BUMDlJREVnSmlZZ1kyMXdJRDA5UFNBd0tTQnlaWFIxY200Z1pHMHVaR2wyTzF4dVhHNGdJQ0FnTHk4Z1VtOTFibVFnZFhCY2JpQWdJQ0J5WlhSMWNtNGdaRzB1WkdsMkxtNWxaMkYwYVhabElDRTlQU0F3SUQ4Z1pHMHVaR2wyTG1semRXSnVLREVwSURvZ1pHMHVaR2wyTG1saFpHUnVLREVwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV0YjJSdUlEMGdablZ1WTNScGIyNGdiVzlrYmlBb2JuVnRLU0I3WEc0Z0lDQWdZWE56WlhKMEtHNTFiU0E4UFNBd2VETm1abVptWm1ZcE8xeHVJQ0FnSUhaaGNpQndJRDBnS0RFZ1BEd2dNallwSUNVZ2JuVnRPMXh1WEc0Z0lDQWdkbUZ5SUdGall5QTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lHRmpZeUE5SUNod0lDb2dZV05qSUNzZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTa2dKU0J1ZFcwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJKYmkxd2JHRmpaU0JrYVhacGMybHZiaUJpZVNCdWRXMWlaWEpjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWxrYVhadUlEMGdablZ1WTNScGIyNGdhV1JwZG00Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaHVkVzBnUEQwZ01IZ3pabVptWm1abUtUdGNibHh1SUNBZ0lIWmhjaUJqWVhKeWVTQTlJREE3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUJwTFMwcElIdGNiaUFnSUNBZ0lIWmhjaUIzSUQwZ0tIUm9hWE11ZDI5eVpITmJhVjBnZkNBd0tTQXJJR05oY25KNUlDb2dNSGcwTURBd01EQXdPMXh1SUNBZ0lDQWdkR2hwY3k1M2IzSmtjMXRwWFNBOUlDaDNJQzhnYm5WdEtTQjhJREE3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnSlNCdWRXMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjM1J5YVhBb0tUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpHbDJiaUE5SUdaMWJtTjBhVzl1SUdScGRtNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnNiMjVsS0NrdWFXUnBkbTRvYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpXZGpaQ0E5SUdaMWJtTjBhVzl1SUdWblkyUWdLSEFwSUh0Y2JpQWdJQ0JoYzNObGNuUW9jQzV1WldkaGRHbDJaU0E5UFQwZ01DazdYRzRnSUNBZ1lYTnpaWEowS0NGd0xtbHpXbVZ5YnlncEtUdGNibHh1SUNBZ0lIWmhjaUI0SUQwZ2RHaHBjenRjYmlBZ0lDQjJZWElnZVNBOUlIQXVZMnh2Ym1Vb0tUdGNibHh1SUNBZ0lHbG1JQ2g0TG01bFoyRjBhWFpsSUNFOVBTQXdLU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNTFiVzlrS0hBcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I0SUQwZ2VDNWpiRzl1WlNncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklFRWdLaUI0SUNzZ1FpQXFJSGtnUFNCNFhHNGdJQ0FnZG1GeUlFRWdQU0J1WlhjZ1FrNG9NU2s3WEc0Z0lDQWdkbUZ5SUVJZ1BTQnVaWGNnUWs0b01DazdYRzVjYmlBZ0lDQXZMeUJESUNvZ2VDQXJJRVFnS2lCNUlEMGdlVnh1SUNBZ0lIWmhjaUJESUQwZ2JtVjNJRUpPS0RBcE8xeHVJQ0FnSUhaaGNpQkVJRDBnYm1WM0lFSk9LREVwTzF4dVhHNGdJQ0FnZG1GeUlHY2dQU0F3TzF4dVhHNGdJQ0FnZDJocGJHVWdLSGd1YVhORmRtVnVLQ2tnSmlZZ2VTNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdlQzVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdJQ0I1TG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNzclp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdlWEFnUFNCNUxtTnNiMjVsS0NrN1hHNGdJQ0FnZG1GeUlIaHdJRDBnZUM1amJHOXVaU2dwTzF4dVhHNGdJQ0FnZDJocGJHVWdLQ0Y0TG1seldtVnlieWdwS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNQ3dnYVcwZ1BTQXhPeUFvZUM1M2IzSmtjMXN3WFNBbUlHbHRLU0E5UFQwZ01DQW1KaUJwSUR3Z01qWTdJQ3NyYVN3Z2FXMGdQRHc5SURFcE8xeHVJQ0FnSUNBZ2FXWWdLR2tnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJSGd1YVhWemFISnVLR2twTzF4dUlDQWdJQ0FnSUNCM2FHbHNaU0FvYVMwdElENGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hCTG1selQyUmtLQ2tnZkh3Z1FpNXBjMDlrWkNncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCQkxtbGhaR1FvZVhBcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnUWk1cGMzVmlLSGh3S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCQkxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdJQ0JDTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnFJRDBnTUN3Z2FtMGdQU0F4T3lBb2VTNTNiM0prYzFzd1hTQW1JR3B0S1NBOVBUMGdNQ0FtSmlCcUlEd2dNalk3SUNzcmFpd2dhbTBnUER3OUlERXBPMXh1SUNBZ0lDQWdhV1lnS0dvZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhrdWFYVnphSEp1S0dvcE8xeHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb2FpMHRJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoRExtbHpUMlJrS0NrZ2ZId2dSQzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQkRMbWxoWkdRb2VYQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1JDNXBjM1ZpS0hod0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQkRMbWwxYzJoeWJpZ3hLVHRjYmlBZ0lDQWdJQ0FnSUNCRUxtbDFjMmh5YmlneEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2VDNWpiWEFvZVNrZ1BqMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCNExtbHpkV0lvZVNrN1hHNGdJQ0FnSUNBZ0lFRXVhWE4xWWloREtUdGNiaUFnSUNBZ0lDQWdRaTVwYzNWaUtFUXBPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlUzVwYzNWaUtIZ3BPMXh1SUNBZ0lDQWdJQ0JETG1semRXSW9RU2s3WEc0Z0lDQWdJQ0FnSUVRdWFYTjFZaWhDS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdZVG9nUXl4Y2JpQWdJQ0FnSUdJNklFUXNYRzRnSUNBZ0lDQm5ZMlE2SUhrdWFYVnphR3h1S0djcFhHNGdJQ0FnZlR0Y2JpQWdmVHRjYmx4dUlDQXZMeUJVYUdseklHbHpJSEpsWkhWalpXUWdhVzVqWVhKdVlYUnBiMjRnYjJZZ2RHaGxJR0pwYm1GeWVTQkZSVUZjYmlBZ0x5OGdZV0p2ZG1Vc0lHUmxjMmxuYm1GMFpXUWdkRzhnYVc1MlpYSjBJRzFsYldKbGNuTWdiMllnZEdobFhHNGdJQzh2SUY5d2NtbHRaVjhnWm1sbGJHUnpJRVlvY0NrZ1lYUWdZU0J0WVhocGJXRnNJSE53WldWa1hHNGdJRUpPTG5CeWIzUnZkSGx3WlM1ZmFXNTJiWEFnUFNCbWRXNWpkR2x2YmlCZmFXNTJiWEFnS0hBcElIdGNiaUFnSUNCaGMzTmxjblFvY0M1dVpXZGhkR2wyWlNBOVBUMGdNQ2s3WEc0Z0lDQWdZWE56WlhKMEtDRndMbWx6V21WeWJ5Z3BLVHRjYmx4dUlDQWdJSFpoY2lCaElEMGdkR2hwY3p0Y2JpQWdJQ0IyWVhJZ1lpQTlJSEF1WTJ4dmJtVW9LVHRjYmx4dUlDQWdJR2xtSUNoaExtNWxaMkYwYVhabElDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCaElEMGdZUzUxYlc5a0tIQXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaElEMGdZUzVqYkc5dVpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUI0TVNBOUlHNWxkeUJDVGlneEtUdGNiaUFnSUNCMllYSWdlRElnUFNCdVpYY2dRazRvTUNrN1hHNWNiaUFnSUNCMllYSWdaR1ZzZEdFZ1BTQmlMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjNhR2xzWlNBb1lTNWpiWEJ1S0RFcElENGdNQ0FtSmlCaUxtTnRjRzRvTVNrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Dd2dhVzBnUFNBeE95QW9ZUzUzYjNKa2Mxc3dYU0FtSUdsdEtTQTlQVDBnTUNBbUppQnBJRHdnTWpZN0lDc3JhU3dnYVcwZ1BEdzlJREVwTzF4dUlDQWdJQ0FnYVdZZ0tHa2dQaUF3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWFZ6YUhKdUtHa3BPMXh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9hUzB0SUQ0Z01Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDRNUzVwYzA5a1pDZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjRNUzVwWVdSa0tHUmxiSFJoS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCNE1TNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYWlBOUlEQXNJR3B0SUQwZ01Uc2dLR0l1ZDI5eVpITmJNRjBnSmlCcWJTa2dQVDA5SURBZ0ppWWdhaUE4SURJMk95QXJLMm9zSUdwdElEdzhQU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaHFJRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQmlMbWwxYzJoeWJpaHFLVHRjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLR290TFNBK0lEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9lREl1YVhOUFpHUW9LU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlREl1YVdGa1pDaGtaV3gwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2VESXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaGhMbU50Y0NoaUtTQStQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lHRXVhWE4xWWloaUtUdGNiaUFnSUNBZ0lDQWdlREV1YVhOMVlpaDRNaWs3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JpTG1semRXSW9ZU2s3WEc0Z0lDQWdJQ0FnSUhneUxtbHpkV0lvZURFcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnlaWE03WEc0Z0lDQWdhV1lnS0dFdVkyMXdiaWd4S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdlREU3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lISmxjeUE5SUhneU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHlaWE11WTIxd2JpZ3dLU0E4SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwWVdSa0tIQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTTdYRzRnSUgwN1hHNWNiaUFnUWs0dWNISnZkRzkwZVhCbExtZGpaQ0E5SUdaMWJtTjBhVzl1SUdkalpDQW9iblZ0S1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YVhOYVpYSnZLQ2twSUhKbGRIVnliaUJ1ZFcwdVlXSnpLQ2s3WEc0Z0lDQWdhV1lnS0c1MWJTNXBjMXBsY204b0tTa2djbVYwZFhKdUlIUm9hWE11WVdKektDazdYRzVjYmlBZ0lDQjJZWElnWVNBOUlIUm9hWE11WTJ4dmJtVW9LVHRjYmlBZ0lDQjJZWElnWWlBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lHRXVibVZuWVhScGRtVWdQU0F3TzF4dUlDQWdJR0l1Ym1WbllYUnBkbVVnUFNBd08xeHVYRzRnSUNBZ0x5OGdVbVZ0YjNabElHTnZiVzF2YmlCbVlXTjBiM0lnYjJZZ2RIZHZYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2MyaHBablFnUFNBd095QmhMbWx6UlhabGJpZ3BJQ1ltSUdJdWFYTkZkbVZ1S0NrN0lITm9hV1owS3lzcElIdGNiaUFnSUNBZ0lHRXVhWFZ6YUhKdUtERXBPMXh1SUNBZ0lDQWdZaTVwZFhOb2NtNG9NU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnZDJocGJHVWdLR0V1YVhORmRtVnVLQ2twSUh0Y2JpQWdJQ0FnSUNBZ1lTNXBkWE5vY200b01TazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNhR2xzWlNBb1lpNXBjMFYyWlc0b0tTa2dlMXh1SUNBZ0lDQWdJQ0JpTG1sMWMyaHliaWd4S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSElnUFNCaExtTnRjQ2hpS1R0Y2JpQWdJQ0FnSUdsbUlDaHlJRHdnTUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJUZDJGd0lHQmhZQ0JoYm1RZ1lHSmdJSFJ2SUcxaGEyVWdZR0ZnSUdGc2QyRjVjeUJpYVdkblpYSWdkR2hoYmlCZ1ltQmNiaUFnSUNBZ0lDQWdkbUZ5SUhRZ1BTQmhPMXh1SUNBZ0lDQWdJQ0JoSUQwZ1lqdGNiaUFnSUNBZ0lDQWdZaUE5SUhRN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISWdQVDA5SURBZ2ZId2dZaTVqYlhCdUtERXBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhMbWx6ZFdJb1lpazdYRzRnSUNBZ2ZTQjNhR2xzWlNBb2RISjFaU2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdZaTVwZFhOb2JHNG9jMmhwWm5RcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVsdWRtVnlkQ0J1ZFcxaVpYSWdhVzRnZEdobElHWnBaV3hrSUVZb2JuVnRLVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVhVzUyYlNBOUlHWjFibU4wYVc5dUlHbHVkbTBnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbVZuWTJRb2JuVnRLUzVoTG5WdGIyUW9iblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhORmRtVnVJRDBnWm5WdVkzUnBiMjRnYVhORmRtVnVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdLSFJvYVhNdWQyOXlaSE5iTUYwZ0ppQXhLU0E5UFQwZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWFYTlBaR1FnUFNCbWRXNWpkR2x2YmlCcGMwOWtaQ0FvS1NCN1hHNGdJQ0FnY21WMGRYSnVJQ2gwYUdsekxuZHZjbVJ6V3pCZElDWWdNU2tnUFQwOUlERTdYRzRnSUgwN1hHNWNiaUFnTHk4Z1FXNWtJR1pwY25OMElIZHZjbVFnWVc1a0lHNTFiVnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZVzVrYkc0Z1BTQm1kVzVqZEdsdmJpQmhibVJzYmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11ZDI5eVpITmJNRjBnSmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnTHk4Z1NXNWpjbVZ0Wlc1MElHRjBJSFJvWlNCaWFYUWdjRzl6YVhScGIyNGdhVzR0YkdsdVpWeHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVltbHVZMjRnUFNCbWRXNWpkR2x2YmlCaWFXNWpiaUFvWW1sMEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSNWNHVnZaaUJpYVhRZ1BUMDlJQ2R1ZFcxaVpYSW5LVHRjYmlBZ0lDQjJZWElnY2lBOUlHSnBkQ0FsSURJMk8xeHVJQ0FnSUhaaGNpQnpJRDBnS0dKcGRDQXRJSElwSUM4Z01qWTdYRzRnSUNBZ2RtRnlJSEVnUFNBeElEdzhJSEk3WEc1Y2JpQWdJQ0F2THlCR1lYTjBJR05oYzJVNklHSnBkQ0JwY3lCdGRXTm9JR2hwWjJobGNpQjBhR0Z1SUdGc2JDQmxlR2x6ZEdsdVp5QjNiM0prYzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQThQU0J6S1NCN1hHNGdJQ0FnSUNCMGFHbHpMbDlsZUhCaGJtUW9jeUFySURFcE8xeHVJQ0FnSUNBZ2RHaHBjeTUzYjNKa2MxdHpYU0I4UFNCeE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdRV1JrSUdKcGRDQmhibVFnY0hKdmNHRm5ZWFJsTENCcFppQnVaV1ZrWldSY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNCeE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQnpPeUJqWVhKeWVTQWhQVDBnTUNBbUppQnBJRHdnZEdocGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIY2dQU0IwYUdsekxuZHZjbVJ6VzJsZElId2dNRHRjYmlBZ0lDQWdJSGNnS3owZ1kyRnljbms3WEc0Z0lDQWdJQ0JqWVhKeWVTQTlJSGNnUGo0K0lESTJPMXh1SUNBZ0lDQWdkeUFtUFNBd2VETm1abVptWm1ZN1hHNGdJQ0FnSUNCMGFHbHpMbmR2Y21SelcybGRJRDBnZHp0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0dOaGNuSjVJQ0U5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhR2x6TG5kdmNtUnpXMmxkSUQwZ1kyRnljbms3WEc0Z0lDQWdJQ0IwYUdsekxteGxibWQwYUNzck8xeHVJQ0FnSUgxY2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1YVhOYVpYSnZJRDBnWm5WdVkzUnBiMjRnYVhOYVpYSnZJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1pXNW5kR2dnUFQwOUlERWdKaVlnZEdocGN5NTNiM0prYzFzd1hTQTlQVDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1WTIxd2JpQTlJR1oxYm1OMGFXOXVJR050Y0c0Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCdVpXZGhkR2wyWlNBOUlHNTFiU0E4SURBN1hHNWNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlBaGJtVm5ZWFJwZG1VcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdVpXZGhkR2wyWlNrZ2NtVjBkWEp1SURFN1hHNWNiaUFnSUNCMGFHbHpMbk4wY21sd0tDazdYRzVjYmlBZ0lDQjJZWElnY21Wek8xeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0ErSURFcElIdGNiaUFnSUNBZ0lISmxjeUE5SURFN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR2xtSUNodVpXZGhkR2wyWlNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzBnUFNBdGJuVnRPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JoYzNObGNuUW9iblZ0SUR3OUlEQjRNMlptWm1abVppd2dKMDUxYldKbGNpQnBjeUIwYjI4Z1ltbG5KeWs3WEc1Y2JpQWdJQ0FnSUhaaGNpQjNJRDBnZEdocGN5NTNiM0prYzFzd1hTQjhJREE3WEc0Z0lDQWdJQ0J5WlhNZ1BTQjNJRDA5UFNCdWRXMGdQeUF3SURvZ2R5QThJRzUxYlNBL0lDMHhJRG9nTVR0Y2JpQWdJQ0I5WEc0Z0lDQWdhV1lnS0hSb2FYTXVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBdGNtVnpJSHdnTUR0Y2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dUlDQjlPMXh1WEc0Z0lDOHZJRU52YlhCaGNtVWdkSGR2SUc1MWJXSmxjbk1nWVc1a0lISmxkSFZ5YmpwY2JpQWdMeThnTVNBdElHbG1JR0IwYUdsellDQStJR0J1ZFcxZ1hHNGdJQzh2SURBZ0xTQnBaaUJnZEdocGMyQWdQVDBnWUc1MWJXQmNiaUFnTHk4Z0xURWdMU0JwWmlCZ2RHaHBjMkFnUENCZ2JuVnRZRnh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVZMjF3SUQwZ1puVnVZM1JwYjI0Z1kyMXdJQ2h1ZFcwcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBaFBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdQVDA5SURBcElISmxkSFZ5YmlBdE1UdGNiaUFnSUNCcFppQW9kR2hwY3k1dVpXZGhkR2wyWlNBOVBUMGdNQ0FtSmlCdWRXMHVibVZuWVhScGRtVWdJVDA5SURBcElISmxkSFZ5YmlBeE8xeHVYRzRnSUNBZ2RtRnlJSEpsY3lBOUlIUm9hWE11ZFdOdGNDaHVkVzBwTzF4dUlDQWdJR2xtSUNoMGFHbHpMbTVsWjJGMGFYWmxJQ0U5UFNBd0tTQnlaWFIxY200Z0xYSmxjeUI4SURBN1hHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JpQWdmVHRjYmx4dUlDQXZMeUJWYm5OcFoyNWxaQ0JqYjIxd1lYSnBjMjl1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzUxWTIxd0lEMGdablZ1WTNScGIyNGdkV050Y0NBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQmliM1JvSUc1MWJXSmxjbk1nYUdGMlpTQjBhR1VnYzJGdFpTQnphV2R1WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lENGdiblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJREU3WEc0Z0lDQWdhV1lnS0hSb2FYTXViR1Z1WjNSb0lEd2diblZ0TG14bGJtZDBhQ2tnY21WMGRYSnVJQzB4TzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SURBN1hHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lCcExTMHBJSHRjYmlBZ0lDQWdJSFpoY2lCaElEMGdkR2hwY3k1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQjJZWElnWWlBOUlHNTFiUzUzYjNKa2MxdHBYU0I4SURBN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoSUQwOVBTQmlLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJR2xtSUNoaElEd2dZaWtnZTF4dUlDQWdJQ0FnSUNCeVpYTWdQU0F0TVR0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1lTQStJR0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnpJRDBnTVR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnY21Wek8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1bmRHNGdQU0JtZFc1amRHbHZiaUJuZEc0Z0tHNTFiU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1OdGNHNG9iblZ0S1NBOVBUMGdNVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVaM1FnUFNCbWRXNWpkR2x2YmlCbmRDQW9iblZ0S1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyMXdLRzUxYlNrZ1BUMDlJREU3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbWQwWlc0Z1BTQm1kVzVqZEdsdmJpQm5kR1Z1SUNodWRXMHBJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVqYlhCdUtHNTFiU2tnUGowZ01EdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVozUmxJRDBnWm5WdVkzUnBiMjRnWjNSbElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBK1BTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXNkRzRnUFNCbWRXNWpkR2x2YmlCc2RHNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQTlQVDBnTFRFN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG14MElEMGdablZ1WTNScGIyNGdiSFFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRDA5UFNBdE1UdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWJIUmxiaUE5SUdaMWJtTjBhVzl1SUd4MFpXNGdLRzUxYlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnRjRzRvYm5WdEtTQThQU0F3TzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzVzZEdVZ1BTQm1kVzVqZEdsdmJpQnNkR1VnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU50Y0NodWRXMHBJRHc5SURBN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1WeGJpQTlJR1oxYm1OMGFXOXVJR1Z4YmlBb2JuVnRLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTIxd2JpaHVkVzBwSUQwOVBTQXdPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNWxjU0E5SUdaMWJtTjBhVzl1SUdWeElDaHVkVzBwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1amJYQW9iblZ0S1NBOVBUMGdNRHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQklISmxaSFZqWlNCamIyNTBaWGgwTENCamIzVnNaQ0JpWlNCMWMybHVaeUJ0YjI1MFoyOXRaWEo1SUc5eUlITnZiV1YwYUdsdVp5QmlaWFIwWlhJc0lHUmxjR1Z1WkdsdVoxeHVJQ0F2THlCdmJpQjBhR1VnWUcxZ0lHbDBjMlZzWmk1Y2JpQWdMeTljYmlBZ1FrNHVjbVZrSUQwZ1puVnVZM1JwYjI0Z2NtVmtJQ2h1ZFcwcElIdGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGSmxaQ2h1ZFcwcE8xeHVJQ0I5TzF4dVhHNGdJRUpPTG5CeWIzUnZkSGx3WlM1MGIxSmxaQ0E5SUdaMWJtTjBhVzl1SUhSdlVtVmtJQ2hqZEhncElIdGNiaUFnSUNCaGMzTmxjblFvSVhSb2FYTXVjbVZrTENBblFXeHlaV0ZrZVNCaElHNTFiV0psY2lCcGJpQnlaV1IxWTNScGIyNGdZMjl1ZEdWNGRDY3BPMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbTVsWjJGMGFYWmxJRDA5UFNBd0xDQW5jbVZrSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J3YjNOcGRHbDJaWE1uS1R0Y2JpQWdJQ0J5WlhSMWNtNGdZM1I0TG1OdmJuWmxjblJVYnloMGFHbHpLUzVmWm05eVkyVlNaV1FvWTNSNEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdVpuSnZiVkpsWkNBOUlHWjFibU4wYVc5dUlHWnliMjFTWldRZ0tDa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0oyWnliMjFTWldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUc1MWJXSmxjbk1nYVc0Z2NtVmtkV04wYVc5dUlHTnZiblJsZUhRbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1WTI5dWRtVnlkRVp5YjIwb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbDltYjNKalpWSmxaQ0E5SUdaMWJtTjBhVzl1SUY5bWIzSmpaVkpsWkNBb1kzUjRLU0I3WEc0Z0lDQWdkR2hwY3k1eVpXUWdQU0JqZEhnN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDA3WEc1Y2JpQWdRazR1Y0hKdmRHOTBlWEJsTG1admNtTmxVbVZrSUQwZ1puVnVZM1JwYjI0Z1ptOXlZMlZTWldRZ0tHTjBlQ2tnZTF4dUlDQWdJR0Z6YzJWeWRDZ2hkR2hwY3k1eVpXUXNJQ2RCYkhKbFlXUjVJR0VnYm5WdFltVnlJR2x1SUhKbFpIVmpkR2x2YmlCamIyNTBaWGgwSnlrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgyWnZjbU5sVW1Wa0tHTjBlQ2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkVGa1pDQTlJR1oxYm1OMGFXOXVJSEpsWkVGa1pDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1FXUmtJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG5KbFpDNWhaR1FvZEdocGN5d2diblZ0S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NVRmtaQ0E5SUdaMWJtTjBhVzl1SUhKbFpFbEJaR1FnS0c1MWJTa2dlMXh1SUNBZ0lHRnpjMlZ5ZENoMGFHbHpMbkpsWkN3Z0ozSmxaRWxCWkdRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhKbFpDQnVkVzFpWlhKekp5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1saFpHUW9kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVTNWaUlEMGdablZ1WTNScGIyNGdjbVZrVTNWaUlDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldSVGRXSWdkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xuTjFZaWgwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlUzVmlJRDBnWm5WdVkzUnBiMjRnY21Wa1NWTjFZaUFvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtTVk4xWWlCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YVhOMVlpaDBhR2x6TENCdWRXMHBPMXh1SUNCOU8xeHVYRzRnSUVKT0xuQnliM1J2ZEhsd1pTNXlaV1JUYUd3Z1BTQm1kVzVqZEdsdmJpQnlaV1JUYUd3Z0tHNTFiU2tnZTF4dUlDQWdJR0Z6YzJWeWRDaDBhR2x6TG5KbFpDd2dKM0psWkZOb2JDQjNiM0pyY3lCdmJteDVJSGRwZEdnZ2NtVmtJRzUxYldKbGNuTW5LVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTV5WldRdWMyaHNLSFJvYVhNc0lHNTFiU2s3WEc0Z0lIMDdYRzVjYmlBZ1FrNHVjSEp2ZEc5MGVYQmxMbkpsWkUxMWJDQTlJR1oxYm1OMGFXOXVJSEpsWkUxMWJDQW9iblZ0S1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1RYVnNJSGR2Y210eklHOXViSGtnZDJsMGFDQnlaV1FnYm5WdFltVnljeWNwTzF4dUlDQWdJSFJvYVhNdWNtVmtMbDkyWlhKcFpua3lLSFJvYVhNc0lHNTFiU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11Y21Wa0xtMTFiQ2gwYUdsekxDQnVkVzBwTzF4dUlDQjlPMXh1WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSSlRYVnNJRDBnWm5WdVkzUnBiMjRnY21Wa1NVMTFiQ0FvYm5WdEtTQjdYRzRnSUNBZ1lYTnpaWEowS0hSb2FYTXVjbVZrTENBbmNtVmtUWFZzSUhkdmNtdHpJRzl1YkhrZ2QybDBhQ0J5WldRZ2JuVnRZbVZ5Y3ljcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt5S0hSb2FYTXNJRzUxYlNrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbWx0ZFd3b2RHaHBjeXdnYm5WdEtUdGNiaUFnZlR0Y2JseHVJQ0JDVGk1d2NtOTBiM1I1Y0dVdWNtVmtVM0Z5SUQwZ1puVnVZM1JwYjI0Z2NtVmtVM0Z5SUNncElIdGNiaUFnSUNCaGMzTmxjblFvZEdocGN5NXlaV1FzSUNkeVpXUlRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG5OeGNpaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NWTnhjaUE5SUdaMWJtTjBhVzl1SUhKbFpFbFRjWElnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbFRjWElnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1semNYSW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVTNGMVlYSmxJSEp2YjNRZ2IzWmxjaUJ3WEc0Z0lFSk9MbkJ5YjNSdmRIbHdaUzV5WldSVGNYSjBJRDBnWm5WdVkzUnBiMjRnY21Wa1UzRnlkQ0FvS1NCN1hHNGdJQ0FnWVhOelpYSjBLSFJvYVhNdWNtVmtMQ0FuY21Wa1UzRnlkQ0IzYjNKcmN5QnZibXg1SUhkcGRHZ2djbVZrSUc1MWJXSmxjbk1uS1R0Y2JpQWdJQ0IwYUdsekxuSmxaQzVmZG1WeWFXWjVNU2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXlaV1F1YzNGeWRDaDBhR2x6S1R0Y2JpQWdmVHRjYmx4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1NXNTJiU0E5SUdaMWJtTjBhVzl1SUhKbFpFbHVkbTBnS0NrZ2UxeHVJQ0FnSUdGemMyVnlkQ2gwYUdsekxuSmxaQ3dnSjNKbFpFbHVkbTBnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJQ0FnZEdocGN5NXlaV1F1WDNabGNtbG1lVEVvZEdocGN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVjbVZrTG1sdWRtMG9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdMeThnVW1WMGRYSnVJRzVsWjJGMGFYWmxJR05zYjI1bElHOW1JR0IwYUdsellDQWxJR0J5WldRZ2JXOWtkV3h2WUZ4dUlDQkNUaTV3Y205MGIzUjVjR1V1Y21Wa1RtVm5JRDBnWm5WdVkzUnBiMjRnY21Wa1RtVm5JQ2dwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUXNJQ2R5WldST1pXY2dkMjl5YTNNZ2IyNXNlU0IzYVhSb0lISmxaQ0J1ZFcxaVpYSnpKeWs3WEc0Z0lDQWdkR2hwY3k1eVpXUXVYM1psY21sbWVURW9kR2hwY3lrN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWNtVmtMbTVsWnloMGFHbHpLVHRjYmlBZ2ZUdGNibHh1SUNCQ1RpNXdjbTkwYjNSNWNHVXVjbVZrVUc5M0lEMGdablZ1WTNScGIyNGdjbVZrVUc5M0lDaHVkVzBwSUh0Y2JpQWdJQ0JoYzNObGNuUW9kR2hwY3k1eVpXUWdKaVlnSVc1MWJTNXlaV1FzSUNkeVpXUlFiM2NvYm05eWJXRnNUblZ0S1NjcE8xeHVJQ0FnSUhSb2FYTXVjbVZrTGw5MlpYSnBabmt4S0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkM1d2IzY29kR2hwY3l3Z2JuVnRLVHRjYmlBZ2ZUdGNibHh1SUNBdkx5QlFjbWx0WlNCdWRXMWlaWEp6SUhkcGRHZ2daV1ptYVdOcFpXNTBJSEpsWkhWamRHbHZibHh1SUNCMllYSWdjSEpwYldWeklEMGdlMXh1SUNBZ0lHc3lOVFk2SUc1MWJHd3NYRzRnSUNBZ2NESXlORG9nYm5Wc2JDeGNiaUFnSUNCd01Ua3lPaUJ1ZFd4c0xGeHVJQ0FnSUhBeU5UVXhPVG9nYm5Wc2JGeHVJQ0I5TzF4dVhHNGdJQzh2SUZCelpYVmtieTFOWlhKelpXNXVaU0J3Y21sdFpWeHVJQ0JtZFc1amRHbHZiaUJOVUhKcGJXVWdLRzVoYldVc0lIQXBJSHRjYmlBZ0lDQXZMeUJRSUQwZ01pQmVJRTRnTFNCTFhHNGdJQ0FnZEdocGN5NXVZVzFsSUQwZ2JtRnRaVHRjYmlBZ0lDQjBhR2x6TG5BZ1BTQnVaWGNnUWs0b2NDd2dNVFlwTzF4dUlDQWdJSFJvYVhNdWJpQTlJSFJvYVhNdWNDNWlhWFJNWlc1bmRHZ29LVHRjYmlBZ0lDQjBhR2x6TG1zZ1BTQnVaWGNnUWs0b01Ta3VhWFZ6YUd4dUtIUm9hWE11YmlrdWFYTjFZaWgwYUdsekxuQXBPMXh1WEc0Z0lDQWdkR2hwY3k1MGJYQWdQU0IwYUdsekxsOTBiWEFvS1R0Y2JpQWdmVnh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdVgzUnRjQ0E5SUdaMWJtTjBhVzl1SUY5MGJYQWdLQ2tnZTF4dUlDQWdJSFpoY2lCMGJYQWdQU0J1WlhjZ1FrNG9iblZzYkNrN1hHNGdJQ0FnZEcxd0xuZHZjbVJ6SUQwZ2JtVjNJRUZ5Y21GNUtFMWhkR2d1WTJWcGJDaDBhR2x6TG00Z0x5QXhNeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjBiWEE3WEc0Z0lIMDdYRzVjYmlBZ1RWQnlhVzFsTG5CeWIzUnZkSGx3WlM1cGNtVmtkV05sSUQwZ1puVnVZM1JwYjI0Z2FYSmxaSFZqWlNBb2JuVnRLU0I3WEc0Z0lDQWdMeThnUVhOemRXMWxjeUIwYUdGMElHQnVkVzFnSUdseklHeGxjM01nZEdoaGJpQmdVRjR5WUZ4dUlDQWdJQzh2SUc1MWJTQTlJRWhKSUNvZ0tESWdYaUJPSUMwZ1N5a2dLeUJJU1NBcUlFc2dLeUJNVHlBOUlFaEpJQ29nU3lBcklFeFBJQ2h0YjJRZ1VDbGNiaUFnSUNCMllYSWdjaUE5SUc1MWJUdGNiaUFnSUNCMllYSWdjbXhsYmp0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIUm9hWE11YzNCc2FYUW9jaXdnZEdocGN5NTBiWEFwTzF4dUlDQWdJQ0FnY2lBOUlIUm9hWE11YVcxMWJFc29jaWs3WEc0Z0lDQWdJQ0J5SUQwZ2NpNXBZV1JrS0hSb2FYTXVkRzF3S1R0Y2JpQWdJQ0FnSUhKc1pXNGdQU0J5TG1KcGRFeGxibWQwYUNncE8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0hKc1pXNGdQaUIwYUdsekxtNHBPMXh1WEc0Z0lDQWdkbUZ5SUdOdGNDQTlJSEpzWlc0Z1BDQjBhR2x6TG00Z1B5QXRNU0E2SUhJdWRXTnRjQ2gwYUdsekxuQXBPMXh1SUNBZ0lHbG1JQ2hqYlhBZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUhJdWQyOXlaSE5iTUYwZ1BTQXdPMXh1SUNBZ0lDQWdjaTVzWlc1bmRHZ2dQU0F4TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWTIxd0lENGdNQ2tnZTF4dUlDQWdJQ0FnY2k1cGMzVmlLSFJvYVhNdWNDazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhJdWMzUnlhWEFvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCTlVISnBiV1V1Y0hKdmRHOTBlWEJsTG5Od2JHbDBJRDBnWm5WdVkzUnBiMjRnYzNCc2FYUWdLR2x1Y0hWMExDQnZkWFFwSUh0Y2JpQWdJQ0JwYm5CMWRDNXBkWE5vY200b2RHaHBjeTV1TENBd0xDQnZkWFFwTzF4dUlDQjlPMXh1WEc0Z0lFMVFjbWx0WlM1d2NtOTBiM1I1Y0dVdWFXMTFiRXNnUFNCbWRXNWpkR2x2YmlCcGJYVnNTeUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJTNXBiWFZzS0hSb2FYTXVheWs3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1N6STFOaUFvS1NCN1hHNGdJQ0FnVFZCeWFXMWxMbU5oYkd3b1hHNGdJQ0FnSUNCMGFHbHpMRnh1SUNBZ0lDQWdKMnN5TlRZbkxGeHVJQ0FnSUNBZ0oyWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abUlHWm1abVptWm1abElHWm1abVptWXpKbUp5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9TekkxTml3Z1RWQnlhVzFsS1R0Y2JseHVJQ0JMTWpVMkxuQnliM1J2ZEhsd1pTNXpjR3hwZENBOUlHWjFibU4wYVc5dUlITndiR2wwSUNocGJuQjFkQ3dnYjNWMGNIVjBLU0I3WEc0Z0lDQWdMeThnTWpVMklEMGdPU0FxSURJMklDc2dNakpjYmlBZ0lDQjJZWElnYldGemF5QTlJREI0TTJabVptWm1PMXh1WEc0Z0lDQWdkbUZ5SUc5MWRFeGxiaUE5SUUxaGRHZ3ViV2x1S0dsdWNIVjBMbXhsYm1kMGFDd2dPU2s3WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J2ZFhSTVpXNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2IzVjBjSFYwTG5kdmNtUnpXMmxkSUQwZ2FXNXdkWFF1ZDI5eVpITmJhVjA3WEc0Z0lDQWdmVnh1SUNBZ0lHOTFkSEIxZEM1c1pXNW5kR2dnUFNCdmRYUk1aVzQ3WEc1Y2JpQWdJQ0JwWmlBb2FXNXdkWFF1YkdWdVozUm9JRHc5SURrcElIdGNiaUFnSUNBZ0lHbHVjSFYwTG5kdmNtUnpXekJkSUQwZ01EdGNiaUFnSUNBZ0lHbHVjSFYwTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVTJocFpuUWdZbmtnT1NCc2FXMWljMXh1SUNBZ0lIWmhjaUJ3Y21WMklEMGdhVzV3ZFhRdWQyOXlaSE5iT1YwN1hHNGdJQ0FnYjNWMGNIVjBMbmR2Y21SelcyOTFkSEIxZEM1c1pXNW5kR2dySzEwZ1BTQndjbVYySUNZZ2JXRnphenRjYmx4dUlDQWdJR1p2Y2lBb2FTQTlJREV3T3lCcElEd2dhVzV3ZFhRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJSFpoY2lCdVpYaDBJRDBnYVc1d2RYUXVkMjl5WkhOYmFWMGdmQ0F3TzF4dUlDQWdJQ0FnYVc1d2RYUXVkMjl5WkhOYmFTQXRJREV3WFNBOUlDZ29ibVY0ZENBbUlHMWhjMnNwSUR3OElEUXBJSHdnS0hCeVpYWWdQajQrSURJeUtUdGNiaUFnSUNBZ0lIQnlaWFlnUFNCdVpYaDBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtVjJJRDQrUGowZ01qSTdYRzRnSUNBZ2FXNXdkWFF1ZDI5eVpITmJhU0F0SURFd1hTQTlJSEJ5WlhZN1hHNGdJQ0FnYVdZZ0tIQnlaWFlnUFQwOUlEQWdKaVlnYVc1d2RYUXViR1Z1WjNSb0lENGdNVEFwSUh0Y2JpQWdJQ0FnSUdsdWNIVjBMbXhsYm1kMGFDQXRQU0F4TUR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhVzV3ZFhRdWJHVnVaM1JvSUMwOUlEazdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJRXN5TlRZdWNISnZkRzkwZVhCbExtbHRkV3hMSUQwZ1puVnVZM1JwYjI0Z2FXMTFiRXNnS0c1MWJTa2dlMXh1SUNBZ0lDOHZJRXNnUFNBd2VERXdNREF3TUROa01TQTlJRnNnTUhnME1Dd2dNSGd6WkRFZ1hWeHVJQ0FnSUc1MWJTNTNiM0prYzF0dWRXMHViR1Z1WjNSb1hTQTlJREE3WEc0Z0lDQWdiblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnS3lBeFhTQTlJREE3WEc0Z0lDQWdiblZ0TG14bGJtZDBhQ0FyUFNBeU8xeHVYRzRnSUNBZ0x5OGdZbTkxYm1SbFpDQmhkRG9nTUhnME1DQXFJREI0TTJabVptWm1aaUFySURCNE0yUXdJRDBnTUhneE1EQXdNREF6T1RCY2JpQWdJQ0IyWVhJZ2JHOGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnYm5WdExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2R5QTlJRzUxYlM1M2IzSmtjMXRwWFNCOElEQTdYRzRnSUNBZ0lDQnNieUFyUFNCM0lDb2dNSGd6WkRFN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmFWMGdQU0JzYnlBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHeHZJRDBnZHlBcUlEQjROREFnS3lBb0tHeHZJQzhnTUhnME1EQXdNREF3S1NCOElEQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJRVpoYzNRZ2JHVnVaM1JvSUhKbFpIVmpkR2x2Ymx4dUlDQWdJR2xtSUNodWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDQXRJREZkSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J1ZFcwdWJHVnVaM1JvTFMwN1hHNGdJQ0FnSUNCcFppQW9iblZ0TG5kdmNtUnpXMjUxYlM1c1pXNW5kR2dnTFNBeFhTQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnVkVzB1YkdWdVozUm9MUzA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCdWRXMDdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnVURJeU5DQW9LU0I3WEc0Z0lDQWdUVkJ5YVcxbExtTmhiR3dvWEc0Z0lDQWdJQ0IwYUdsekxGeHVJQ0FnSUNBZ0ozQXlNalFuTEZ4dUlDQWdJQ0FnSjJabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSUdabVptWm1abVptSURBd01EQXdNREF3SURBd01EQXdNREF3SURBd01EQXdNREF4SnlrN1hHNGdJSDFjYmlBZ2FXNW9aWEpwZEhNb1VESXlOQ3dnVFZCeWFXMWxLVHRjYmx4dUlDQm1kVzVqZEdsdmJpQlFNVGt5SUNncElIdGNiaUFnSUNCTlVISnBiV1V1WTJGc2JDaGNiaUFnSUNBZ0lIUm9hWE1zWEc0Z0lDQWdJQ0FuY0RFNU1pY3NYRzRnSUNBZ0lDQW5abVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptWWdabVptWm1abVptVWdabVptWm1abVptWWdabVptWm1abVptWW5LVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhRTVRreUxDQk5VSEpwYldVcE8xeHVYRzRnSUdaMWJtTjBhVzl1SUZBeU5UVXhPU0FvS1NCN1hHNGdJQ0FnTHk4Z01pQmVJREkxTlNBdElERTVYRzRnSUNBZ1RWQnlhVzFsTG1OaGJHd29YRzRnSUNBZ0lDQjBhR2x6TEZ4dUlDQWdJQ0FnSnpJMU5URTVKeXhjYmlBZ0lDQWdJQ2MzWm1abVptWm1abVptWm1abVptWm1JR1ptWm1abVptWm1abVptWm1abVptWWdabVptWm1abVptWm1abVptWm1abVppQm1abVptWm1abVptWm1abVptWm1Wa0p5azdYRzRnSUgxY2JpQWdhVzVvWlhKcGRITW9VREkxTlRFNUxDQk5VSEpwYldVcE8xeHVYRzRnSUZBeU5UVXhPUzV3Y205MGIzUjVjR1V1YVcxMWJFc2dQU0JtZFc1amRHbHZiaUJwYlhWc1N5QW9iblZ0S1NCN1hHNGdJQ0FnTHk4Z1N5QTlJREI0TVROY2JpQWdJQ0IyWVhJZ1kyRnljbmtnUFNBd08xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JuVnRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhR2tnUFNBb2JuVnRMbmR2Y21SelcybGRJSHdnTUNrZ0tpQXdlREV6SUNzZ1kyRnljbms3WEc0Z0lDQWdJQ0IyWVhJZ2JHOGdQU0JvYVNBbUlEQjRNMlptWm1abVpqdGNiaUFnSUNBZ0lHaHBJRDQrUGowZ01qWTdYRzVjYmlBZ0lDQWdJRzUxYlM1M2IzSmtjMXRwWFNBOUlHeHZPMXh1SUNBZ0lDQWdZMkZ5Y25rZ1BTQm9hVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLR05oY25KNUlDRTlQU0F3S1NCN1hHNGdJQ0FnSUNCdWRXMHVkMjl5WkhOYmJuVnRMbXhsYm1kMGFDc3JYU0E5SUdOaGNuSjVPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm5WdE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUVWNGNHOXlkR1ZrSUcxdmMzUnNlU0JtYjNJZ2RHVnpkR2x1WnlCd2RYSndiM05sY3l3Z2RYTmxJSEJzWVdsdUlHNWhiV1VnYVc1emRHVmhaRnh1SUNCQ1RpNWZjSEpwYldVZ1BTQm1kVzVqZEdsdmJpQndjbWx0WlNBb2JtRnRaU2tnZTF4dUlDQWdJQzh2SUVOaFkyaGxaQ0IyWlhKemFXOXVJRzltSUhCeWFXMWxYRzRnSUNBZ2FXWWdLSEJ5YVcxbGMxdHVZVzFsWFNrZ2NtVjBkWEp1SUhCeWFXMWxjMXR1WVcxbFhUdGNibHh1SUNBZ0lIWmhjaUJ3Y21sdFpUdGNiaUFnSUNCcFppQW9ibUZ0WlNBOVBUMGdKMnN5TlRZbktTQjdYRzRnSUNBZ0lDQndjbWx0WlNBOUlHNWxkeUJMTWpVMktDazdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHVZVzFsSUQwOVBTQW5jREl5TkNjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TWpRb0tUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHNWhiV1VnUFQwOUlDZHdNVGt5SnlrZ2UxeHVJQ0FnSUNBZ2NISnBiV1VnUFNCdVpYY2dVREU1TWlncE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtRnRaU0E5UFQwZ0ozQXlOVFV4T1NjcElIdGNiaUFnSUNBZ0lIQnlhVzFsSUQwZ2JtVjNJRkF5TlRVeE9TZ3BPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjFWdWEyNXZkMjRnY0hKcGJXVWdKeUFySUc1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnSUNCd2NtbHRaWE5iYm1GdFpWMGdQU0J3Y21sdFpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCd2NtbHRaVHRjYmlBZ2ZUdGNibHh1SUNBdkwxeHVJQ0F2THlCQ1lYTmxJSEpsWkhWamRHbHZiaUJsYm1kcGJtVmNiaUFnTHk5Y2JpQWdablZ1WTNScGIyNGdVbVZrSUNodEtTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnRJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YVcxbElEMGdRazR1WDNCeWFXMWxLRzBwTzF4dUlDQWdJQ0FnZEdocGN5NXRJRDBnY0hKcGJXVXVjRHRjYmlBZ0lDQWdJSFJvYVhNdWNISnBiV1VnUFNCd2NtbHRaVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1lYTnpaWEowS0cwdVozUnVLREVwTENBbmJXOWtkV3gxY3lCdGRYTjBJR0psSUdkeVpXRjBaWElnZEdoaGJpQXhKeWs3WEc0Z0lDQWdJQ0IwYUdsekxtMGdQU0J0TzF4dUlDQWdJQ0FnZEdocGN5NXdjbWx0WlNBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNWZkbVZ5YVdaNU1TQTlJR1oxYm1OMGFXOXVJRjkyWlhKcFpua3hJQ2hoS1NCN1hHNGdJQ0FnWVhOelpYSjBLR0V1Ym1WbllYUnBkbVVnUFQwOUlEQXNJQ2R5WldRZ2QyOXlhM01nYjI1c2VTQjNhWFJvSUhCdmMybDBhWFpsY3ljcE8xeHVJQ0FnSUdGemMyVnlkQ2hoTG5KbFpDd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY21Wa0lHNTFiV0psY25NbktUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExsOTJaWEpwWm5reUlEMGdablZ1WTNScGIyNGdYM1psY21sbWVUSWdLR0VzSUdJcElIdGNiaUFnSUNCaGMzTmxjblFvS0dFdWJtVm5ZWFJwZG1VZ2ZDQmlMbTVsWjJGMGFYWmxLU0E5UFQwZ01Dd2dKM0psWkNCM2IzSnJjeUJ2Ym14NUlIZHBkR2dnY0c5emFYUnBkbVZ6SnlrN1hHNGdJQ0FnWVhOelpYSjBLR0V1Y21Wa0lDWW1JR0V1Y21Wa0lEMDlQU0JpTG5KbFpDeGNiaUFnSUNBZ0lDZHlaV1FnZDI5eWEzTWdiMjVzZVNCM2FYUm9JSEpsWkNCdWRXMWlaWEp6SnlrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1cGJXOWtJRDBnWm5WdVkzUnBiMjRnYVcxdlpDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoMGFHbHpMbkJ5YVcxbEtTQnlaWFIxY200Z2RHaHBjeTV3Y21sdFpTNXBjbVZrZFdObEtHRXBMbDltYjNKalpWSmxaQ2gwYUdsektUdGNiaUFnSUNCeVpYUjFjbTRnWVM1MWJXOWtLSFJvYVhNdWJTa3VYMlp2Y21ObFVtVmtLSFJvYVhNcE8xeHVJQ0I5TzF4dVhHNGdJRkpsWkM1d2NtOTBiM1I1Y0dVdWJtVm5JRDBnWm5WdVkzUnBiMjRnYm1WbklDaGhLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnNiMjVsS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWJTNXpkV0lvWVNrdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WVdSa0lEMGdablZ1WTNScGIyNGdZV1JrSUNoaExDQmlLU0I3WEc0Z0lDQWdkR2hwY3k1ZmRtVnlhV1o1TWloaExDQmlLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0JoTG1Ga1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE11WDJadmNtTmxVbVZrS0hSb2FYTXBPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhV0ZrWkNBOUlHWjFibU4wYVc5dUlHbGhaR1FnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YVdGa1pDaGlLVHRjYmlBZ0lDQnBaaUFvY21WekxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeTVwYzNWaUtIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzV6ZFdJZ1BTQm1kVzVqZEdsdmJpQnpkV0lnS0dFc0lHSXBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt5S0dFc0lHSXBPMXh1WEc0Z0lDQWdkbUZ5SUhKbGN5QTlJR0V1YzNWaUtHSXBPMXh1SUNBZ0lHbG1JQ2h5WlhNdVkyMXdiaWd3S1NBOElEQXBJSHRjYmlBZ0lDQWdJSEpsY3k1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJ5WlhNdVgyWnZjbU5sVW1Wa0tIUm9hWE1wTzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1YVhOMVlpQTlJR1oxYm1OMGFXOXVJR2x6ZFdJZ0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dVhHNGdJQ0FnZG1GeUlISmxjeUE5SUdFdWFYTjFZaWhpS1R0Y2JpQWdJQ0JwWmlBb2NtVnpMbU50Y0c0b01Da2dQQ0F3S1NCN1hHNGdJQ0FnSUNCeVpYTXVhV0ZrWkNoMGFHbHpMbTBwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVnpPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVjMmhzSUQwZ1puVnVZM1JwYjI0Z2MyaHNJQ2hoTENCdWRXMHBJSHRjYmlBZ0lDQjBhR2x6TGw5MlpYSnBabmt4S0dFcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtbHRiMlFvWVM1MWMyaHNiaWh1ZFcwcEtUdGNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExtbHRkV3dnUFNCbWRXNWpkR2x2YmlCcGJYVnNJQ2hoTENCaUtTQjdYRzRnSUNBZ2RHaHBjeTVmZG1WeWFXWjVNaWhoTENCaUtUdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiVzlrS0dFdWFXMTFiQ2hpS1NrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1dGRXd2dQU0JtZFc1amRHbHZiaUJ0ZFd3Z0tHRXNJR0lwSUh0Y2JpQWdJQ0IwYUdsekxsOTJaWEpwWm5reUtHRXNJR0lwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG1sdGIyUW9ZUzV0ZFd3b1lpa3BPMXh1SUNCOU8xeHVYRzRnSUZKbFpDNXdjbTkwYjNSNWNHVXVhWE54Y2lBOUlHWjFibU4wYVc5dUlHbHpjWElnS0dFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXBiWFZzS0dFc0lHRXVZMnh2Ym1Vb0tTazdYRzRnSUgwN1hHNWNiaUFnVW1Wa0xuQnliM1J2ZEhsd1pTNXpjWElnUFNCbWRXNWpkR2x2YmlCemNYSWdLR0VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1dGRXd29ZU3dnWVNrN1hHNGdJSDA3WEc1Y2JpQWdVbVZrTG5CeWIzUnZkSGx3WlM1emNYSjBJRDBnWm5WdVkzUnBiMjRnYzNGeWRDQW9ZU2tnZTF4dUlDQWdJR2xtSUNoaExtbHpXbVZ5YnlncEtTQnlaWFIxY200Z1lTNWpiRzl1WlNncE8xeHVYRzRnSUNBZ2RtRnlJRzF2WkRNZ1BTQjBhR2x6TG0wdVlXNWtiRzRvTXlrN1hHNGdJQ0FnWVhOelpYSjBLRzF2WkRNZ0pTQXlJRDA5UFNBeEtUdGNibHh1SUNBZ0lDOHZJRVpoYzNRZ1kyRnpaVnh1SUNBZ0lHbG1JQ2h0YjJReklEMDlQU0F6S1NCN1hHNGdJQ0FnSUNCMllYSWdjRzkzSUQwZ2RHaHBjeTV0TG1Ga1pDaHVaWGNnUWs0b01Ta3BMbWwxYzJoeWJpZ3lLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TG5CdmR5aGhMQ0J3YjNjcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklGUnZibVZzYkdrdFUyaGhibXR6SUdGc1oyOXlhWFJvYlNBb1ZHOTBZV3hzZVNCMWJtOXdkR2x0YVhwbFpDQmhibVFnYzJ4dmR5bGNiaUFnSUNBdkwxeHVJQ0FnSUM4dklFWnBibVFnVVNCaGJtUWdVeXdnZEdoaGRDQlJJQ29nTWlCZUlGTWdQU0FvVUNBdElERXBYRzRnSUNBZ2RtRnlJSEVnUFNCMGFHbHpMbTB1YzNWaWJpZ3hLVHRjYmlBZ0lDQjJZWElnY3lBOUlEQTdYRzRnSUNBZ2QyaHBiR1VnS0NGeExtbHpXbVZ5YnlncElDWW1JSEV1WVc1a2JHNG9NU2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSE1yS3p0Y2JpQWdJQ0FnSUhFdWFYVnphSEp1S0RFcE8xeHVJQ0FnSUgxY2JpQWdJQ0JoYzNObGNuUW9JWEV1YVhOYVpYSnZLQ2twTzF4dVhHNGdJQ0FnZG1GeUlHOXVaU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCMllYSWdiazl1WlNBOUlHOXVaUzV5WldST1pXY29LVHRjYmx4dUlDQWdJQzh2SUVacGJtUWdjWFZoWkhKaGRHbGpJRzV2YmkxeVpYTnBaSFZsWEc0Z0lDQWdMeThnVGs5VVJUb2dUV0Y0SUdseklITjFZMmdnWW1WallYVnpaU0J2WmlCblpXNWxjbUZzYVhwbFpDQlNhV1Z0WVc1dUlHaDVjRzkwYUdWemFYTXVYRzRnSUNBZ2RtRnlJR3h3YjNjZ1BTQjBhR2x6TG0wdWMzVmliaWd4S1M1cGRYTm9jbTRvTVNrN1hHNGdJQ0FnZG1GeUlIb2dQU0IwYUdsekxtMHVZbWwwVEdWdVozUm9LQ2s3WEc0Z0lDQWdlaUE5SUc1bGR5QkNUaWd5SUNvZ2VpQXFJSG9wTG5SdlVtVmtLSFJvYVhNcE8xeHVYRzRnSUNBZ2QyaHBiR1VnS0hSb2FYTXVjRzkzS0hvc0lHeHdiM2NwTG1OdGNDaHVUMjVsS1NBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZWk1eVpXUkpRV1JrS0c1UGJtVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqSUQwZ2RHaHBjeTV3YjNjb2Vpd2djU2s3WEc0Z0lDQWdkbUZ5SUhJZ1BTQjBhR2x6TG5CdmR5aGhMQ0J4TG1Ga1pHNG9NU2t1YVhWemFISnVLREVwS1R0Y2JpQWdJQ0IyWVhJZ2RDQTlJSFJvYVhNdWNHOTNLR0VzSUhFcE8xeHVJQ0FnSUhaaGNpQnRJRDBnY3p0Y2JpQWdJQ0IzYUdsc1pTQW9kQzVqYlhBb2IyNWxLU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSdGNDQTlJSFE3WEc0Z0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dkRzF3TG1OdGNDaHZibVVwSUNFOVBTQXdPeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdkRzF3SUQwZ2RHMXdMbkpsWkZOeGNpZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZWE56WlhKMEtHa2dQQ0J0S1R0Y2JpQWdJQ0FnSUhaaGNpQmlJRDBnZEdocGN5NXdiM2NvWXl3Z2JtVjNJRUpPS0RFcExtbDFjMmhzYmlodElDMGdhU0F0SURFcEtUdGNibHh1SUNBZ0lDQWdjaUE5SUhJdWNtVmtUWFZzS0dJcE8xeHVJQ0FnSUNBZ1l5QTlJR0l1Y21Wa1UzRnlLQ2s3WEc0Z0lDQWdJQ0IwSUQwZ2RDNXlaV1JOZFd3b1l5azdYRzRnSUNBZ0lDQnRJRDBnYVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdjanRjYmlBZ2ZUdGNibHh1SUNCU1pXUXVjSEp2ZEc5MGVYQmxMbWx1ZG0wZ1BTQm1kVzVqZEdsdmJpQnBiblp0SUNoaEtTQjdYRzRnSUNBZ2RtRnlJR2x1ZGlBOUlHRXVYMmx1ZG0xd0tIUm9hWE11YlNrN1hHNGdJQ0FnYVdZZ0tHbHVkaTV1WldkaGRHbDJaU0FoUFQwZ01Da2dlMXh1SUNBZ0lDQWdhVzUyTG01bFoyRjBhWFpsSUQwZ01EdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWx0YjJRb2FXNTJLUzV5WldST1pXY29LVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNocGJuWXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldRdWNISnZkRzkwZVhCbExuQnZkeUE5SUdaMWJtTjBhVzl1SUhCdmR5QW9ZU3dnYm5WdEtTQjdYRzRnSUNBZ2FXWWdLRzUxYlM1cGMxcGxjbThvS1NrZ2NtVjBkWEp1SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCcFppQW9iblZ0TG1OdGNHNG9NU2tnUFQwOUlEQXBJSEpsZEhWeWJpQmhMbU5zYjI1bEtDazdYRzVjYmlBZ0lDQjJZWElnZDJsdVpHOTNVMmw2WlNBOUlEUTdYRzRnSUNBZ2RtRnlJSGR1WkNBOUlHNWxkeUJCY25KaGVTZ3hJRHc4SUhkcGJtUnZkMU5wZW1VcE8xeHVJQ0FnSUhkdVpGc3dYU0E5SUc1bGR5QkNUaWd4S1M1MGIxSmxaQ2gwYUdsektUdGNiaUFnSUNCM2JtUmJNVjBnUFNCaE8xeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z2QyNWtMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCM2JtUmJhVjBnUFNCMGFHbHpMbTExYkNoM2JtUmJhU0F0SURGZExDQmhLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WeklEMGdkMjVrV3pCZE8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdNRHRjYmlBZ0lDQjJZWElnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ2RtRnlJSE4wWVhKMElEMGdiblZ0TG1KcGRFeGxibWQwYUNncElDVWdNalk3WEc0Z0lDQWdhV1lnS0hOMFlYSjBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQnpkR0Z5ZENBOUlESTJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHWnZjaUFvYVNBOUlHNTFiUzVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUdrdExTa2dlMXh1SUNBZ0lDQWdkbUZ5SUhkdmNtUWdQU0J1ZFcwdWQyOXlaSE5iYVYwN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcUlEMGdjM1JoY25RZ0xTQXhPeUJxSUQ0OUlEQTdJR290TFNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWW1sMElEMGdLSGR2Y21RZ1BqNGdhaWtnSmlBeE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WeklDRTlQU0IzYm1SYk1GMHBJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTWdQU0IwYUdsekxuTnhjaWh5WlhNcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHSnBkQ0E5UFQwZ01DQW1KaUJqZFhKeVpXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlBOUlEQTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpkWEp5Wlc1MElEdzhQU0F4TzF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwSUh3OUlHSnBkRHRjYmlBZ0lDQWdJQ0FnWTNWeWNtVnVkRXhsYmlzck8xeHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRXhsYmlBaFBUMGdkMmx1Wkc5M1UybDZaU0FtSmlBb2FTQWhQVDBnTUNCOGZDQnFJQ0U5UFNBd0tTa2dZMjl1ZEdsdWRXVTdYRzVjYmlBZ0lDQWdJQ0FnY21WeklEMGdkR2hwY3k1dGRXd29jbVZ6TENCM2JtUmJZM1Z5Y21WdWRGMHBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBUR1Z1SUQwZ01EdGNiaUFnSUNBZ0lDQWdZM1Z5Y21WdWRDQTlJREE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6ZEdGeWRDQTlJREkyTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ1VtVmtMbkJ5YjNSdmRIbHdaUzVqYjI1MlpYSjBWRzhnUFNCbWRXNWpkR2x2YmlCamIyNTJaWEowVkc4Z0tHNTFiU2tnZTF4dUlDQWdJSFpoY2lCeUlEMGdiblZ0TG5WdGIyUW9kR2hwY3k1dEtUdGNibHh1SUNBZ0lISmxkSFZ5YmlCeUlEMDlQU0J1ZFcwZ1B5QnlMbU5zYjI1bEtDa2dPaUJ5TzF4dUlDQjlPMXh1WEc0Z0lGSmxaQzV3Y205MGIzUjVjR1V1WTI5dWRtVnlkRVp5YjIwZ1BTQm1kVzVqZEdsdmJpQmpiMjUyWlhKMFJuSnZiU0FvYm5WdEtTQjdYRzRnSUNBZ2RtRnlJSEpsY3lBOUlHNTFiUzVqYkc5dVpTZ3BPMXh1SUNBZ0lISmxjeTV5WldRZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQnlaWE03WEc0Z0lIMDdYRzVjYmlBZ0x5OWNiaUFnTHk4Z1RXOXVkR2R2YldWeWVTQnRaWFJvYjJRZ1pXNW5hVzVsWEc0Z0lDOHZYRzVjYmlBZ1FrNHViVzl1ZENBOUlHWjFibU4wYVc5dUlHMXZiblFnS0c1MWJTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVpYY2dUVzl1ZENodWRXMHBPMXh1SUNCOU8xeHVYRzRnSUdaMWJtTjBhVzl1SUUxdmJuUWdLRzBwSUh0Y2JpQWdJQ0JTWldRdVkyRnNiQ2gwYUdsekxDQnRLVHRjYmx4dUlDQWdJSFJvYVhNdWMyaHBablFnUFNCMGFHbHpMbTB1WW1sMFRHVnVaM1JvS0NrN1hHNGdJQ0FnYVdZZ0tIUm9hWE11YzJocFpuUWdKU0F5TmlBaFBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdocGN5NXphR2xtZENBclBTQXlOaUF0SUNoMGFHbHpMbk5vYVdaMElDVWdNallwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFJvYVhNdWNpQTlJRzVsZHlCQ1RpZ3hLUzVwZFhOb2JHNG9kR2hwY3k1emFHbG1kQ2s3WEc0Z0lDQWdkR2hwY3k1eU1pQTlJSFJvYVhNdWFXMXZaQ2gwYUdsekxuSXVjM0Z5S0NrcE8xeHVJQ0FnSUhSb2FYTXVjbWx1ZGlBOUlIUm9hWE11Y2k1ZmFXNTJiWEFvZEdocGN5NXRLVHRjYmx4dUlDQWdJSFJvYVhNdWJXbHVkaUE5SUhSb2FYTXVjbWx1ZGk1dGRXd29kR2hwY3k1eUtTNXBjM1ZpYmlneEtTNWthWFlvZEdocGN5NXRLVHRjYmlBZ0lDQjBhR2x6TG0xcGJuWWdQU0IwYUdsekxtMXBibll1ZFcxdlpDaDBhR2x6TG5JcE8xeHVJQ0FnSUhSb2FYTXViV2x1ZGlBOUlIUm9hWE11Y2k1emRXSW9kR2hwY3k1dGFXNTJLVHRjYmlBZ2ZWeHVJQ0JwYm1obGNtbDBjeWhOYjI1MExDQlNaV1FwTzF4dVhHNGdJRTF2Ym5RdWNISnZkRzkwZVhCbExtTnZiblpsY25SVWJ5QTlJR1oxYm1OMGFXOXVJR052Ym5abGNuUlVieUFvYm5WdEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVhVzF2WkNodWRXMHVkWE5vYkc0b2RHaHBjeTV6YUdsbWRDa3BPMXh1SUNCOU8xeHVYRzRnSUUxdmJuUXVjSEp2ZEc5MGVYQmxMbU52Ym5abGNuUkdjbTl0SUQwZ1puVnVZM1JwYjI0Z1kyOXVkbVZ5ZEVaeWIyMGdLRzUxYlNrZ2UxeHVJQ0FnSUhaaGNpQnlJRDBnZEdocGN5NXBiVzlrS0c1MWJTNXRkV3dvZEdocGN5NXlhVzUyS1NrN1hHNGdJQ0FnY2k1eVpXUWdQU0J1ZFd4c08xeHVJQ0FnSUhKbGRIVnliaUJ5TzF4dUlDQjlPMXh1WEc0Z0lFMXZiblF1Y0hKdmRHOTBlWEJsTG1sdGRXd2dQU0JtZFc1amRHbHZiaUJwYlhWc0lDaGhMQ0JpS1NCN1hHNGdJQ0FnYVdZZ0tHRXVhWE5hWlhKdktDa2dmSHdnWWk1cGMxcGxjbThvS1NrZ2UxeHVJQ0FnSUNBZ1lTNTNiM0prYzFzd1hTQTlJREE3WEc0Z0lDQWdJQ0JoTG14bGJtZDBhQ0E5SURFN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2RDQTlJR0V1YVcxMWJDaGlLVHRjYmlBZ0lDQjJZWElnWXlBOUlIUXViV0Z6YTI0b2RHaHBjeTV6YUdsbWRDa3ViWFZzS0hSb2FYTXViV2x1ZGlrdWFXMWhjMnR1S0hSb2FYTXVjMmhwWm5RcExtMTFiQ2gwYUdsekxtMHBPMXh1SUNBZ0lIWmhjaUIxSUQwZ2RDNXBjM1ZpS0dNcExtbDFjMmh5YmloMGFHbHpMbk5vYVdaMEtUdGNiaUFnSUNCMllYSWdjbVZ6SUQwZ2RUdGNibHh1SUNBZ0lHbG1JQ2gxTG1OdGNDaDBhR2x6TG0wcElENDlJREFwSUh0Y2JpQWdJQ0FnSUhKbGN5QTlJSFV1YVhOMVlpaDBhR2x6TG0wcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RTNWpiWEJ1S0RBcElEd2dNQ2tnZTF4dUlDQWdJQ0FnY21WeklEMGdkUzVwWVdSa0tIUm9hWE11YlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3k1ZlptOXlZMlZTWldRb2RHaHBjeWs3WEc0Z0lIMDdYRzVjYmlBZ1RXOXVkQzV3Y205MGIzUjVjR1V1YlhWc0lEMGdablZ1WTNScGIyNGdiWFZzSUNoaExDQmlLU0I3WEc0Z0lDQWdhV1lnS0dFdWFYTmFaWEp2S0NrZ2ZId2dZaTVwYzFwbGNtOG9LU2tnY21WMGRYSnVJRzVsZHlCQ1RpZ3dLUzVmWm05eVkyVlNaV1FvZEdocGN5azdYRzVjYmlBZ0lDQjJZWElnZENBOUlHRXViWFZzS0dJcE8xeHVJQ0FnSUhaaGNpQmpJRDBnZEM1dFlYTnJiaWgwYUdsekxuTm9hV1owS1M1dGRXd29kR2hwY3k1dGFXNTJLUzVwYldGemEyNG9kR2hwY3k1emFHbG1kQ2t1YlhWc0tIUm9hWE11YlNrN1hHNGdJQ0FnZG1GeUlIVWdQU0IwTG1semRXSW9ZeWt1YVhWemFISnVLSFJvYVhNdWMyaHBablFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IxTzF4dUlDQWdJR2xtSUNoMUxtTnRjQ2gwYUdsekxtMHBJRDQ5SURBcElIdGNiaUFnSUNBZ0lISmxjeUE5SUhVdWFYTjFZaWgwYUdsekxtMHBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kUzVqYlhCdUtEQXBJRHdnTUNrZ2UxeHVJQ0FnSUNBZ2NtVnpJRDBnZFM1cFlXUmtLSFJvYVhNdWJTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1Y2JpQWdUVzl1ZEM1d2NtOTBiM1I1Y0dVdWFXNTJiU0E5SUdaMWJtTjBhVzl1SUdsdWRtMGdLR0VwSUh0Y2JpQWdJQ0F2THlBb1FWSXBYaTB4SUNvZ1VsNHlJRDBnS0VGZUxURWdLaUJTWGkweEtTQXFJRkplTWlBOUlFRmVMVEVnS2lCU1hHNGdJQ0FnZG1GeUlISmxjeUE5SUhSb2FYTXVhVzF2WkNoaExsOXBiblp0Y0NoMGFHbHpMbTBwTG0xMWJDaDBhR2x6TG5JeUtTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGN5NWZabTl5WTJWU1pXUW9kR2hwY3lrN1hHNGdJSDA3WEc1OUtTaDBlWEJsYjJZZ2JXOWtkV3hsSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCdGIyUjFiR1VzSUhSb2FYTXBPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wcml2YXRlRGVjcnlwdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wcml2YXRlRGVjcnlwdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHBhcnNlS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBhcnNlLWFzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanNcXFwiKVxcbnZhciBtZ2YgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL21nZiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvbWdmLmpzXFxcIilcXG52YXIgeG9yID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi94b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3hvci5qc1xcXCIpXFxudmFyIEJOID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYm4uanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L25vZGVfbW9kdWxlcy9ibi5qcy9saWIvYm4uanNcXFwiKVxcbnZhciBjcnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBicm93c2VyaWZ5LXJzYSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1yc2EvaW5kZXguanNcXFwiKVxcbnZhciBjcmVhdGVIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY3JlYXRlLWhhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NyZWF0ZS1oYXNoL2Jyb3dzZXIuanNcXFwiKVxcbnZhciB3aXRoUHVibGljID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi93aXRoUHVibGljICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBwcml2YXRlRGVjcnlwdCAocHJpdmF0ZUtleSwgZW5jLCByZXZlcnNlKSB7XFxuICB2YXIgcGFkZGluZ1xcbiAgaWYgKHByaXZhdGVLZXkucGFkZGluZykge1xcbiAgICBwYWRkaW5nID0gcHJpdmF0ZUtleS5wYWRkaW5nXFxuICB9IGVsc2UgaWYgKHJldmVyc2UpIHtcXG4gICAgcGFkZGluZyA9IDFcXG4gIH0gZWxzZSB7XFxuICAgIHBhZGRpbmcgPSA0XFxuICB9XFxuXFxuICB2YXIga2V5ID0gcGFyc2VLZXlzKHByaXZhdGVLZXkpXFxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxcbiAgaWYgKGVuYy5sZW5ndGggPiBrIHx8IG5ldyBCTihlbmMpLmNtcChrZXkubW9kdWx1cykgPj0gMCkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgdmFyIG1zZ1xcbiAgaWYgKHJldmVyc2UpIHtcXG4gICAgbXNnID0gd2l0aFB1YmxpYyhuZXcgQk4oZW5jKSwga2V5KVxcbiAgfSBlbHNlIHtcXG4gICAgbXNnID0gY3J0KGVuYywga2V5KVxcbiAgfVxcbiAgdmFyIHpCdWZmZXIgPSBCdWZmZXIuYWxsb2MoayAtIG1zZy5sZW5ndGgpXFxuICBtc2cgPSBCdWZmZXIuY29uY2F0KFt6QnVmZmVyLCBtc2ddLCBrKVxcbiAgaWYgKHBhZGRpbmcgPT09IDQpIHtcXG4gICAgcmV0dXJuIG9hZXAoa2V5LCBtc2cpXFxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDEpIHtcXG4gICAgcmV0dXJuIHBrY3MxKGtleSwgbXNnLCByZXZlcnNlKVxcbiAgfSBlbHNlIGlmIChwYWRkaW5nID09PSAzKSB7XFxuICAgIHJldHVybiBtc2dcXG4gIH0gZWxzZSB7XFxuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBwYWRkaW5nJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb2FlcCAoa2V5LCBtc2cpIHtcXG4gIHZhciBrID0ga2V5Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpXFxuICB2YXIgaUhhc2ggPSBjcmVhdGVIYXNoKCdzaGExJykudXBkYXRlKEJ1ZmZlci5hbGxvYygwKSkuZGlnZXN0KClcXG4gIHZhciBoTGVuID0gaUhhc2gubGVuZ3RoXFxuICBpZiAobXNnWzBdICE9PSAwKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignZGVjcnlwdGlvbiBlcnJvcicpXFxuICB9XFxuICB2YXIgbWFza2VkU2VlZCA9IG1zZy5zbGljZSgxLCBoTGVuICsgMSlcXG4gIHZhciBtYXNrZWREYiA9IG1zZy5zbGljZShoTGVuICsgMSlcXG4gIHZhciBzZWVkID0geG9yKG1hc2tlZFNlZWQsIG1nZihtYXNrZWREYiwgaExlbikpXFxuICB2YXIgZGIgPSB4b3IobWFza2VkRGIsIG1nZihzZWVkLCBrIC0gaExlbiAtIDEpKVxcbiAgaWYgKGNvbXBhcmUoaUhhc2gsIGRiLnNsaWNlKDAsIGhMZW4pKSkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgdmFyIGkgPSBoTGVuXFxuICB3aGlsZSAoZGJbaV0gPT09IDApIHtcXG4gICAgaSsrXFxuICB9XFxuICBpZiAoZGJbaSsrXSAhPT0gMSkge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgcmV0dXJuIGRiLnNsaWNlKGkpXFxufVxcblxcbmZ1bmN0aW9uIHBrY3MxIChrZXksIG1zZywgcmV2ZXJzZSkge1xcbiAgdmFyIHAxID0gbXNnLnNsaWNlKDAsIDIpXFxuICB2YXIgaSA9IDJcXG4gIHZhciBzdGF0dXMgPSAwXFxuICB3aGlsZSAobXNnW2krK10gIT09IDApIHtcXG4gICAgaWYgKGkgPj0gbXNnLmxlbmd0aCkge1xcbiAgICAgIHN0YXR1cysrXFxuICAgICAgYnJlYWtcXG4gICAgfVxcbiAgfVxcbiAgdmFyIHBzID0gbXNnLnNsaWNlKDIsIGkgLSAxKVxcblxcbiAgaWYgKChwMS50b1N0cmluZygnaGV4JykgIT09ICcwMDAyJyAmJiAhcmV2ZXJzZSkgfHwgKHAxLnRvU3RyaW5nKCdoZXgnKSAhPT0gJzAwMDEnICYmIHJldmVyc2UpKSB7XFxuICAgIHN0YXR1cysrXFxuICB9XFxuICBpZiAocHMubGVuZ3RoIDwgOCkge1xcbiAgICBzdGF0dXMrK1xcbiAgfVxcbiAgaWYgKHN0YXR1cykge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxcbiAgfVxcbiAgcmV0dXJuIG1zZy5zbGljZShpKVxcbn1cXG5mdW5jdGlvbiBjb21wYXJlIChhLCBiKSB7XFxuICBhID0gQnVmZmVyLmZyb20oYSlcXG4gIGIgPSBCdWZmZXIuZnJvbShiKVxcbiAgdmFyIGRpZiA9IDBcXG4gIHZhciBsZW4gPSBhLmxlbmd0aFxcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xcbiAgICBkaWYrK1xcbiAgICBsZW4gPSBNYXRoLm1pbihhLmxlbmd0aCwgYi5sZW5ndGgpXFxuICB9XFxuICB2YXIgaSA9IC0xXFxuICB3aGlsZSAoKytpIDwgbGVuKSB7XFxuICAgIGRpZiArPSAoYVtpXSBeIGJbaV0pXFxuICB9XFxuICByZXR1cm4gZGlmXFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzl3Y21sMllYUmxSR1ZqY25sd2RDNXFjejg1TURFMUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMSE5FUVVGWk8wRkJRM0JETEZWQlFWVXNiVUpCUVU4c1EwRkJReXh0UkVGQlR6dEJRVU42UWl4VlFVRlZMRzFDUVVGUExFTkJRVU1zYlVSQlFVODdRVUZEZWtJc1UwRkJVeXh0UWtGQlR5eERRVUZETEhsRlFVRlBPMEZCUTNoQ0xGVkJRVlVzYlVKQlFVOHNRMEZCUXl3NFJFRkJaMEk3UVVGRGJFTXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNNRVJCUVdFN1FVRkRkRU1zYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zYVVWQlFXTTdRVUZEZGtNc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRVFVRmhPenRCUVVWc1F6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXdkV0pzYVdNdFpXNWpjbmx3ZEM5d2NtbDJZWFJsUkdWamNubHdkQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCd1lYSnpaVXRsZVhNZ1BTQnlaWEYxYVhKbEtDZHdZWEp6WlMxaGMyNHhKeWxjYm5aaGNpQnRaMllnUFNCeVpYRjFhWEpsS0NjdUwyMW5aaWNwWEc1MllYSWdlRzl5SUQwZ2NtVnhkV2x5WlNnbkxpOTRiM0luS1Z4dWRtRnlJRUpPSUQwZ2NtVnhkV2x5WlNnblltNHVhbk1uS1Z4dWRtRnlJR055ZENBOUlISmxjWFZwY21Vb0oySnliM2R6WlhKcFpua3Rjbk5oSnlsY2JuWmhjaUJqY21WaGRHVklZWE5vSUQwZ2NtVnhkV2x5WlNnblkzSmxZWFJsTFdoaGMyZ25LVnh1ZG1GeUlIZHBkR2hRZFdKc2FXTWdQU0J5WlhGMWFYSmxLQ2N1TDNkcGRHaFFkV0pzYVdNbktWeHVkbUZ5SUVKMVptWmxjaUE5SUhKbGNYVnBjbVVvSjNOaFptVXRZblZtWm1WeUp5a3VRblZtWm1WeVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdjSEpwZG1GMFpVUmxZM0o1Y0hRZ0tIQnlhWFpoZEdWTFpYa3NJR1Z1WXl3Z2NtVjJaWEp6WlNrZ2UxeHVJQ0IyWVhJZ2NHRmtaR2x1WjF4dUlDQnBaaUFvY0hKcGRtRjBaVXRsZVM1d1lXUmthVzVuS1NCN1hHNGdJQ0FnY0dGa1pHbHVaeUE5SUhCeWFYWmhkR1ZMWlhrdWNHRmtaR2x1WjF4dUlDQjlJR1ZzYzJVZ2FXWWdLSEpsZG1WeWMyVXBJSHRjYmlBZ0lDQndZV1JrYVc1bklEMGdNVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEJoWkdScGJtY2dQU0EwWEc0Z0lIMWNibHh1SUNCMllYSWdhMlY1SUQwZ2NHRnljMlZMWlhsektIQnlhWFpoZEdWTFpYa3BYRzRnSUhaaGNpQnJJRDBnYTJWNUxtMXZaSFZzZFhNdVlubDBaVXhsYm1kMGFDZ3BYRzRnSUdsbUlDaGxibU11YkdWdVozUm9JRDRnYXlCOGZDQnVaWGNnUWs0b1pXNWpLUzVqYlhBb2EyVjVMbTF2WkhWc2RYTXBJRDQ5SURBcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjJSbFkzSjVjSFJwYjI0Z1pYSnliM0luS1Z4dUlDQjlYRzRnSUhaaGNpQnRjMmRjYmlBZ2FXWWdLSEpsZG1WeWMyVXBJSHRjYmlBZ0lDQnRjMmNnUFNCM2FYUm9VSFZpYkdsaktHNWxkeUJDVGlobGJtTXBMQ0JyWlhrcFhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JYTm5JRDBnWTNKMEtHVnVZeXdnYTJWNUtWeHVJQ0I5WEc0Z0lIWmhjaUI2UW5WbVptVnlJRDBnUW5WbVptVnlMbUZzYkc5aktHc2dMU0J0YzJjdWJHVnVaM1JvS1Z4dUlDQnRjMmNnUFNCQ2RXWm1aWEl1WTI5dVkyRjBLRnQ2UW5WbVptVnlMQ0J0YzJkZExDQnJLVnh1SUNCcFppQW9jR0ZrWkdsdVp5QTlQVDBnTkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ2WVdWd0tHdGxlU3dnYlhObktWeHVJQ0I5SUdWc2MyVWdhV1lnS0hCaFpHUnBibWNnUFQwOUlERXBJSHRjYmlBZ0lDQnlaWFIxY200Z2NHdGpjekVvYTJWNUxDQnRjMmNzSUhKbGRtVnljMlVwWEc0Z0lIMGdaV3h6WlNCcFppQW9jR0ZrWkdsdVp5QTlQVDBnTXlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ0YzJkY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjNWdWEyNXZkMjRnY0dGa1pHbHVaeWNwWEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyRmxjQ0FvYTJWNUxDQnRjMmNwSUh0Y2JpQWdkbUZ5SUdzZ1BTQnJaWGt1Ylc5a2RXeDFjeTVpZVhSbFRHVnVaM1JvS0NsY2JpQWdkbUZ5SUdsSVlYTm9JRDBnWTNKbFlYUmxTR0Z6YUNnbmMyaGhNU2NwTG5Wd1pHRjBaU2hDZFdabVpYSXVZV3hzYjJNb01Da3BMbVJwWjJWemRDZ3BYRzRnSUhaaGNpQm9UR1Z1SUQwZ2FVaGhjMmd1YkdWdVozUm9YRzRnSUdsbUlDaHRjMmRiTUYwZ0lUMDlJREFwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMlJsWTNKNWNIUnBiMjRnWlhKeWIzSW5LVnh1SUNCOVhHNGdJSFpoY2lCdFlYTnJaV1JUWldWa0lEMGdiWE5uTG5Oc2FXTmxLREVzSUdoTVpXNGdLeUF4S1Z4dUlDQjJZWElnYldGemEyVmtSR0lnUFNCdGMyY3VjMnhwWTJVb2FFeGxiaUFySURFcFhHNGdJSFpoY2lCelpXVmtJRDBnZUc5eUtHMWhjMnRsWkZObFpXUXNJRzFuWmlodFlYTnJaV1JFWWl3Z2FFeGxiaWtwWEc0Z0lIWmhjaUJrWWlBOUlIaHZjaWh0WVhOclpXUkVZaXdnYldkbUtITmxaV1FzSUdzZ0xTQm9UR1Z1SUMwZ01Ta3BYRzRnSUdsbUlDaGpiMjF3WVhKbEtHbElZWE5vTENCa1lpNXpiR2xqWlNnd0xDQm9UR1Z1S1NrcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjJSbFkzSjVjSFJwYjI0Z1pYSnliM0luS1Z4dUlDQjlYRzRnSUhaaGNpQnBJRDBnYUV4bGJseHVJQ0IzYUdsc1pTQW9aR0piYVYwZ1BUMDlJREFwSUh0Y2JpQWdJQ0JwS3l0Y2JpQWdmVnh1SUNCcFppQW9aR0piYVNzclhTQWhQVDBnTVNrZ2UxeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduWkdWamNubHdkR2x2YmlCbGNuSnZjaWNwWEc0Z0lIMWNiaUFnY21WMGRYSnVJR1JpTG5Oc2FXTmxLR2twWEc1OVhHNWNibVoxYm1OMGFXOXVJSEJyWTNNeElDaHJaWGtzSUcxelp5d2djbVYyWlhKelpTa2dlMXh1SUNCMllYSWdjREVnUFNCdGMyY3VjMnhwWTJVb01Dd2dNaWxjYmlBZ2RtRnlJR2tnUFNBeVhHNGdJSFpoY2lCemRHRjBkWE1nUFNBd1hHNGdJSGRvYVd4bElDaHRjMmRiYVNzclhTQWhQVDBnTUNrZ2UxeHVJQ0FnSUdsbUlDaHBJRDQ5SUcxelp5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lITjBZWFIxY3lzclhHNGdJQ0FnSUNCaWNtVmhhMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQjJZWElnY0hNZ1BTQnRjMmN1YzJ4cFkyVW9NaXdnYVNBdElERXBYRzVjYmlBZ2FXWWdLQ2h3TVM1MGIxTjBjbWx1WnlnbmFHVjRKeWtnSVQwOUlDY3dNREF5SnlBbUppQWhjbVYyWlhKelpTa2dmSHdnS0hBeExuUnZVM1J5YVc1bktDZG9aWGduS1NBaFBUMGdKekF3TURFbklDWW1JSEpsZG1WeWMyVXBLU0I3WEc0Z0lDQWdjM1JoZEhWekt5dGNiaUFnZlZ4dUlDQnBaaUFvY0hNdWJHVnVaM1JvSUR3Z09Da2dlMXh1SUNBZ0lITjBZWFIxY3lzclhHNGdJSDFjYmlBZ2FXWWdLSE4wWVhSMWN5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblpHVmpjbmx3ZEdsdmJpQmxjbkp2Y2ljcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUcxelp5NXpiR2xqWlNocEtWeHVmVnh1Wm5WdVkzUnBiMjRnWTI5dGNHRnlaU0FvWVN3Z1lpa2dlMXh1SUNCaElEMGdRblZtWm1WeUxtWnliMjBvWVNsY2JpQWdZaUE5SUVKMVptWmxjaTVtY205dEtHSXBYRzRnSUhaaGNpQmthV1lnUFNBd1hHNGdJSFpoY2lCc1pXNGdQU0JoTG14bGJtZDBhRnh1SUNCcFppQW9ZUzVzWlc1bmRHZ2dJVDA5SUdJdWJHVnVaM1JvS1NCN1hHNGdJQ0FnWkdsbUt5dGNiaUFnSUNCc1pXNGdQU0JOWVhSb0xtMXBiaWhoTG14bGJtZDBhQ3dnWWk1c1pXNW5kR2dwWEc0Z0lIMWNiaUFnZG1GeUlHa2dQU0F0TVZ4dUlDQjNhR2xzWlNBb0t5dHBJRHdnYkdWdUtTQjdYRzRnSUNBZ1pHbG1JQ3M5SUNoaFcybGRJRjRnWWx0cFhTbGNiaUFnZlZ4dUlDQnlaWFIxY200Z1pHbG1YRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9wcml2YXRlRGVjcnlwdC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvcHVibGljRW5jcnlwdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3B1YmxpY0VuY3J5cHQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIHBhcnNlS2V5cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHBhcnNlLWFzbjEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3BhcnNlLWFzbjEvaW5kZXguanNcXFwiKVxcbnZhciByYW5kb21CeXRlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJhbmRvbWJ5dGVzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcy9icm93c2VyLmpzXFxcIilcXG52YXIgY3JlYXRlSGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNyZWF0ZS1oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9jcmVhdGUtaGFzaC9icm93c2VyLmpzXFxcIilcXG52YXIgbWdmID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9tZ2YgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L21nZi5qc1xcXCIpXFxudmFyIHhvciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4veG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC94b3IuanNcXFwiKVxcbnZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxcIilcXG52YXIgd2l0aFB1YmxpYyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vd2l0aFB1YmxpYyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHVibGljLWVuY3J5cHQvd2l0aFB1YmxpYy5qc1xcXCIpXFxudmFyIGNydCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJyb3dzZXJpZnktcnNhICovIFxcXCIuL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXJzYS9pbmRleC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcHVibGljRW5jcnlwdCAocHVibGljS2V5LCBtc2csIHJldmVyc2UpIHtcXG4gIHZhciBwYWRkaW5nXFxuICBpZiAocHVibGljS2V5LnBhZGRpbmcpIHtcXG4gICAgcGFkZGluZyA9IHB1YmxpY0tleS5wYWRkaW5nXFxuICB9IGVsc2UgaWYgKHJldmVyc2UpIHtcXG4gICAgcGFkZGluZyA9IDFcXG4gIH0gZWxzZSB7XFxuICAgIHBhZGRpbmcgPSA0XFxuICB9XFxuICB2YXIga2V5ID0gcGFyc2VLZXlzKHB1YmxpY0tleSlcXG4gIHZhciBwYWRkZWRNc2dcXG4gIGlmIChwYWRkaW5nID09PSA0KSB7XFxuICAgIHBhZGRlZE1zZyA9IG9hZXAoa2V5LCBtc2cpXFxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDEpIHtcXG4gICAgcGFkZGVkTXNnID0gcGtjczEoa2V5LCBtc2csIHJldmVyc2UpXFxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDMpIHtcXG4gICAgcGFkZGVkTXNnID0gbmV3IEJOKG1zZylcXG4gICAgaWYgKHBhZGRlZE1zZy5jbXAoa2V5Lm1vZHVsdXMpID49IDApIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RhdGEgdG9vIGxvbmcgZm9yIG1vZHVsdXMnKVxcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gcGFkZGluZycpXFxuICB9XFxuICBpZiAocmV2ZXJzZSkge1xcbiAgICByZXR1cm4gY3J0KHBhZGRlZE1zZywga2V5KVxcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIHdpdGhQdWJsaWMocGFkZGVkTXNnLCBrZXkpXFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG9hZXAgKGtleSwgbXNnKSB7XFxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxcbiAgdmFyIG1MZW4gPSBtc2cubGVuZ3RoXFxuICB2YXIgaUhhc2ggPSBjcmVhdGVIYXNoKCdzaGExJykudXBkYXRlKEJ1ZmZlci5hbGxvYygwKSkuZGlnZXN0KClcXG4gIHZhciBoTGVuID0gaUhhc2gubGVuZ3RoXFxuICB2YXIgaExlbjIgPSAyICogaExlblxcbiAgaWYgKG1MZW4gPiBrIC0gaExlbjIgLSAyKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSB0b28gbG9uZycpXFxuICB9XFxuICB2YXIgcHMgPSBCdWZmZXIuYWxsb2MoayAtIG1MZW4gLSBoTGVuMiAtIDIpXFxuICB2YXIgZGJsZW4gPSBrIC0gaExlbiAtIDFcXG4gIHZhciBzZWVkID0gcmFuZG9tQnl0ZXMoaExlbilcXG4gIHZhciBtYXNrZWREYiA9IHhvcihCdWZmZXIuY29uY2F0KFtpSGFzaCwgcHMsIEJ1ZmZlci5hbGxvYygxLCAxKSwgbXNnXSwgZGJsZW4pLCBtZ2Yoc2VlZCwgZGJsZW4pKVxcbiAgdmFyIG1hc2tlZFNlZWQgPSB4b3Ioc2VlZCwgbWdmKG1hc2tlZERiLCBoTGVuKSlcXG4gIHJldHVybiBuZXcgQk4oQnVmZmVyLmNvbmNhdChbQnVmZmVyLmFsbG9jKDEpLCBtYXNrZWRTZWVkLCBtYXNrZWREYl0sIGspKVxcbn1cXG5mdW5jdGlvbiBwa2NzMSAoa2V5LCBtc2csIHJldmVyc2UpIHtcXG4gIHZhciBtTGVuID0gbXNnLmxlbmd0aFxcbiAgdmFyIGsgPSBrZXkubW9kdWx1cy5ieXRlTGVuZ3RoKClcXG4gIGlmIChtTGVuID4gayAtIDExKSB7XFxuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSB0b28gbG9uZycpXFxuICB9XFxuICB2YXIgcHNcXG4gIGlmIChyZXZlcnNlKSB7XFxuICAgIHBzID0gQnVmZmVyLmFsbG9jKGsgLSBtTGVuIC0gMywgMHhmZilcXG4gIH0gZWxzZSB7XFxuICAgIHBzID0gbm9uWmVybyhrIC0gbUxlbiAtIDMpXFxuICB9XFxuICByZXR1cm4gbmV3IEJOKEJ1ZmZlci5jb25jYXQoW0J1ZmZlci5mcm9tKFswLCByZXZlcnNlID8gMSA6IDJdKSwgcHMsIEJ1ZmZlci5hbGxvYygxKSwgbXNnXSwgaykpXFxufVxcbmZ1bmN0aW9uIG5vblplcm8gKGxlbikge1xcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXFxuICB2YXIgaSA9IDBcXG4gIHZhciBjYWNoZSA9IHJhbmRvbUJ5dGVzKGxlbiAqIDIpXFxuICB2YXIgY3VyID0gMFxcbiAgdmFyIG51bVxcbiAgd2hpbGUgKGkgPCBsZW4pIHtcXG4gICAgaWYgKGN1ciA9PT0gY2FjaGUubGVuZ3RoKSB7XFxuICAgICAgY2FjaGUgPSByYW5kb21CeXRlcyhsZW4gKiAyKVxcbiAgICAgIGN1ciA9IDBcXG4gICAgfVxcbiAgICBudW0gPSBjYWNoZVtjdXIrK11cXG4gICAgaWYgKG51bSkge1xcbiAgICAgIG91dFtpKytdID0gbnVtXFxuICAgIH1cXG4gIH1cXG4gIHJldHVybiBvdXRcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl3ZFdKc2FXTXRaVzVqY25sd2RDOXdkV0pzYVdORmJtTnllWEIwTG1welB6WXlZV1FpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1owSkJRV2RDTEcxQ1FVRlBMRU5CUVVNc2MwUkJRVms3UVVGRGNFTXNhMEpCUVd0Q0xHMUNRVUZQTEVOQlFVTXNNRVJCUVdFN1FVRkRka01zYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zTUVSQlFXRTdRVUZEZEVNc1ZVRkJWU3h0UWtGQlR5eERRVUZETEcxRVFVRlBPMEZCUTNwQ0xGVkJRVlVzYlVKQlFVOHNRMEZCUXl4dFJFRkJUenRCUVVONlFpeFRRVUZUTEcxQ1FVRlBMRU5CUVVNc2VVVkJRVTg3UVVGRGVFSXNhVUpCUVdsQ0xHMUNRVUZQTEVOQlFVTXNhVVZCUVdNN1FVRkRka01zVlVGQlZTeHRRa0ZCVHl4RFFVRkRMRGhFUVVGblFqdEJRVU5zUXl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNIVmliR2xqTFdWdVkzSjVjSFF2Y0hWaWJHbGpSVzVqY25sd2RDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJ3WVhKelpVdGxlWE1nUFNCeVpYRjFhWEpsS0Nkd1lYSnpaUzFoYzI0eEp5bGNiblpoY2lCeVlXNWtiMjFDZVhSbGN5QTlJSEpsY1hWcGNtVW9KM0poYm1SdmJXSjVkR1Z6SnlsY2JuWmhjaUJqY21WaGRHVklZWE5vSUQwZ2NtVnhkV2x5WlNnblkzSmxZWFJsTFdoaGMyZ25LVnh1ZG1GeUlHMW5aaUE5SUhKbGNYVnBjbVVvSnk0dmJXZG1KeWxjYm5aaGNpQjRiM0lnUFNCeVpYRjFhWEpsS0NjdUwzaHZjaWNwWEc1MllYSWdRazRnUFNCeVpYRjFhWEpsS0NkaWJpNXFjeWNwWEc1MllYSWdkMmwwYUZCMVlteHBZeUE5SUhKbGNYVnBjbVVvSnk0dmQybDBhRkIxWW14cFl5Y3BYRzUyWVhJZ1kzSjBJRDBnY21WeGRXbHlaU2duWW5KdmQzTmxjbWxtZVMxeWMyRW5LVnh1ZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWm5WdVkzUnBiMjRnY0hWaWJHbGpSVzVqY25sd2RDQW9jSFZpYkdsalMyVjVMQ0J0YzJjc0lISmxkbVZ5YzJVcElIdGNiaUFnZG1GeUlIQmhaR1JwYm1kY2JpQWdhV1lnS0hCMVlteHBZMHRsZVM1d1lXUmthVzVuS1NCN1hHNGdJQ0FnY0dGa1pHbHVaeUE5SUhCMVlteHBZMHRsZVM1d1lXUmthVzVuWEc0Z0lIMGdaV3h6WlNCcFppQW9jbVYyWlhKelpTa2dlMXh1SUNBZ0lIQmhaR1JwYm1jZ1BTQXhYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjR0ZrWkdsdVp5QTlJRFJjYmlBZ2ZWeHVJQ0IyWVhJZ2EyVjVJRDBnY0dGeWMyVkxaWGx6S0hCMVlteHBZMHRsZVNsY2JpQWdkbUZ5SUhCaFpHUmxaRTF6WjF4dUlDQnBaaUFvY0dGa1pHbHVaeUE5UFQwZ05Da2dlMXh1SUNBZ0lIQmhaR1JsWkUxelp5QTlJRzloWlhBb2EyVjVMQ0J0YzJjcFhHNGdJSDBnWld4elpTQnBaaUFvY0dGa1pHbHVaeUE5UFQwZ01Ta2dlMXh1SUNBZ0lIQmhaR1JsWkUxelp5QTlJSEJyWTNNeEtHdGxlU3dnYlhObkxDQnlaWFpsY25ObEtWeHVJQ0I5SUdWc2MyVWdhV1lnS0hCaFpHUnBibWNnUFQwOUlETXBJSHRjYmlBZ0lDQndZV1JrWldSTmMyY2dQU0J1WlhjZ1FrNG9iWE5uS1Z4dUlDQWdJR2xtSUNod1lXUmtaV1JOYzJjdVkyMXdLR3RsZVM1dGIyUjFiSFZ6S1NBK1BTQXdLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMlJoZEdFZ2RHOXZJR3h2Ym1jZ1ptOXlJRzF2WkhWc2RYTW5LVnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0ozVnVhMjV2ZDI0Z2NHRmtaR2x1WnljcFhHNGdJSDFjYmlBZ2FXWWdLSEpsZG1WeWMyVXBJSHRjYmlBZ0lDQnlaWFIxY200Z1kzSjBLSEJoWkdSbFpFMXpaeXdnYTJWNUtWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lISmxkSFZ5YmlCM2FYUm9VSFZpYkdsaktIQmhaR1JsWkUxelp5d2dhMlY1S1Z4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOWhaWEFnS0d0bGVTd2diWE5uS1NCN1hHNGdJSFpoY2lCcklEMGdhMlY1TG0xdlpIVnNkWE11WW5sMFpVeGxibWQwYUNncFhHNGdJSFpoY2lCdFRHVnVJRDBnYlhObkxteGxibWQwYUZ4dUlDQjJZWElnYVVoaGMyZ2dQU0JqY21WaGRHVklZWE5vS0NkemFHRXhKeWt1ZFhCa1lYUmxLRUoxWm1abGNpNWhiR3h2WXlnd0tTa3VaR2xuWlhOMEtDbGNiaUFnZG1GeUlHaE1aVzRnUFNCcFNHRnphQzVzWlc1bmRHaGNiaUFnZG1GeUlHaE1aVzR5SUQwZ01pQXFJR2hNWlc1Y2JpQWdhV1lnS0cxTVpXNGdQaUJySUMwZ2FFeGxiaklnTFNBeUtTQjdYRzRnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkdFpYTnpZV2RsSUhSdmJ5QnNiMjVuSnlsY2JpQWdmVnh1SUNCMllYSWdjSE1nUFNCQ2RXWm1aWEl1WVd4c2IyTW9heUF0SUcxTVpXNGdMU0JvVEdWdU1pQXRJRElwWEc0Z0lIWmhjaUJrWW14bGJpQTlJR3NnTFNCb1RHVnVJQzBnTVZ4dUlDQjJZWElnYzJWbFpDQTlJSEpoYm1SdmJVSjVkR1Z6S0doTVpXNHBYRzRnSUhaaGNpQnRZWE5yWldSRVlpQTlJSGh2Y2loQ2RXWm1aWEl1WTI5dVkyRjBLRnRwU0dGemFDd2djSE1zSUVKMVptWmxjaTVoYkd4dll5Z3hMQ0F4S1N3Z2JYTm5YU3dnWkdKc1pXNHBMQ0J0WjJZb2MyVmxaQ3dnWkdKc1pXNHBLVnh1SUNCMllYSWdiV0Z6YTJWa1UyVmxaQ0E5SUhodmNpaHpaV1ZrTENCdFoyWW9iV0Z6YTJWa1JHSXNJR2hNWlc0cEtWeHVJQ0J5WlhSMWNtNGdibVYzSUVKT0tFSjFabVpsY2k1amIyNWpZWFFvVzBKMVptWmxjaTVoYkd4dll5Z3hLU3dnYldGemEyVmtVMlZsWkN3Z2JXRnphMlZrUkdKZExDQnJLU2xjYm4xY2JtWjFibU4wYVc5dUlIQnJZM014SUNoclpYa3NJRzF6Wnl3Z2NtVjJaWEp6WlNrZ2UxeHVJQ0IyWVhJZ2JVeGxiaUE5SUcxelp5NXNaVzVuZEdoY2JpQWdkbUZ5SUdzZ1BTQnJaWGt1Ylc5a2RXeDFjeTVpZVhSbFRHVnVaM1JvS0NsY2JpQWdhV1lnS0cxTVpXNGdQaUJySUMwZ01URXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oyMWxjM05oWjJVZ2RHOXZJR3h2Ym1jbktWeHVJQ0I5WEc0Z0lIWmhjaUJ3YzF4dUlDQnBaaUFvY21WMlpYSnpaU2tnZTF4dUlDQWdJSEJ6SUQwZ1FuVm1abVZ5TG1Gc2JHOWpLR3NnTFNCdFRHVnVJQzBnTXl3Z01IaG1aaWxjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J3Y3lBOUlHNXZibHBsY204b2F5QXRJRzFNWlc0Z0xTQXpLVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnVaWGNnUWs0b1FuVm1abVZ5TG1OdmJtTmhkQ2hiUW5WbVptVnlMbVp5YjIwb1d6QXNJSEpsZG1WeWMyVWdQeUF4SURvZ01sMHBMQ0J3Y3l3Z1FuVm1abVZ5TG1Gc2JHOWpLREVwTENCdGMyZGRMQ0JyS1NsY2JuMWNibVoxYm1OMGFXOXVJRzV2YmxwbGNtOGdLR3hsYmlrZ2UxeHVJQ0IyWVhJZ2IzVjBJRDBnUW5WbVptVnlMbUZzYkc5alZXNXpZV1psS0d4bGJpbGNiaUFnZG1GeUlHa2dQU0F3WEc0Z0lIWmhjaUJqWVdOb1pTQTlJSEpoYm1SdmJVSjVkR1Z6S0d4bGJpQXFJRElwWEc0Z0lIWmhjaUJqZFhJZ1BTQXdYRzRnSUhaaGNpQnVkVzFjYmlBZ2QyaHBiR1VnS0drZ1BDQnNaVzRwSUh0Y2JpQWdJQ0JwWmlBb1kzVnlJRDA5UFNCallXTm9aUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJR05oWTJobElEMGdjbUZ1Wkc5dFFubDBaWE1vYkdWdUlDb2dNaWxjYmlBZ0lDQWdJR04xY2lBOUlEQmNiaUFnSUNCOVhHNGdJQ0FnYm5WdElEMGdZMkZqYUdWYlkzVnlLeXRkWEc0Z0lDQWdhV1lnS0c1MWJTa2dlMXh1SUNBZ0lDQWdiM1YwVzJrcksxMGdQU0J1ZFcxY2JpQWdJQ0I5WEc0Z0lIMWNiaUFnY21WMGRYSnVJRzkxZEZ4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3B1YmxpY0VuY3J5cHQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3dpdGhQdWJsaWMuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBCTiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJuLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC9ub2RlX21vZHVsZXMvYm4uanMvbGliL2JuLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxuZnVuY3Rpb24gd2l0aFB1YmxpYyAocGFkZGVkTXNnLCBrZXkpIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbShwYWRkZWRNc2dcXG4gICAgLnRvUmVkKEJOLm1vbnQoa2V5Lm1vZHVsdXMpKVxcbiAgICAucmVkUG93KG5ldyBCTihrZXkucHVibGljRXhwb25lbnQpKVxcbiAgICAuZnJvbVJlZCgpXFxuICAgIC50b0FycmF5KCkpXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gd2l0aFB1YmxpY1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5d2RXSnNhV010Wlc1amNubHdkQzkzYVhSb1VIVmliR2xqTG1welB6Tm1PVE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1UwRkJVeXh0UWtGQlR5eERRVUZETEhsRlFVRlBPMEZCUTNoQ0xHRkJRV0VzYlVKQlFVOHNRMEZCUXl4M1JFRkJZVHM3UVVGRmJFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNIVmliR2xqTFdWdVkzSjVjSFF2ZDJsMGFGQjFZbXhwWXk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQkNUaUE5SUhKbGNYVnBjbVVvSjJKdUxtcHpKeWxjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1WEc1bWRXNWpkR2x2YmlCM2FYUm9VSFZpYkdsaklDaHdZV1JrWldSTmMyY3NJR3RsZVNrZ2UxeHVJQ0J5WlhSMWNtNGdRblZtWm1WeUxtWnliMjBvY0dGa1pHVmtUWE5uWEc0Z0lDQWdMblJ2VW1Wa0tFSk9MbTF2Ym5Rb2EyVjVMbTF2WkhWc2RYTXBLVnh1SUNBZ0lDNXlaV1JRYjNjb2JtVjNJRUpPS0d0bGVTNXdkV0pzYVdORmVIQnZibVZ1ZENrcFhHNGdJQ0FnTG1aeWIyMVNaV1FvS1Z4dUlDQWdJQzUwYjBGeWNtRjVLQ2twWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdkMmwwYUZCMVlteHBZMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC93aXRoUHVibGljLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9wdWJsaWMtZW5jcnlwdC94b3IuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3hvci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24geG9yIChhLCBiKSB7XFxuICB2YXIgbGVuID0gYS5sZW5ndGhcXG4gIHZhciBpID0gLTFcXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcXG4gICAgYVtpXSBePSBiW2ldXFxuICB9XFxuICByZXR1cm4gYVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXdkV0pzYVdNdFpXNWpjbmx3ZEM5NGIzSXVhbk0vT0RCaFpTSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzQjFZbXhwWXkxbGJtTnllWEIwTDNodmNpNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1puVnVZM1JwYjI0Z2VHOXlJQ2hoTENCaUtTQjdYRzRnSUhaaGNpQnNaVzRnUFNCaExteGxibWQwYUZ4dUlDQjJZWElnYVNBOUlDMHhYRzRnSUhkb2FXeGxJQ2dySzJrZ1BDQnNaVzRwSUh0Y2JpQWdJQ0JoVzJsZElGNDlJR0piYVYxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWVZ4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3B1YmxpYy1lbmNyeXB0L3hvci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmFuZG9tYnl0ZXMvYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7XFxuXFxuLy8gbGltaXQgb2YgQ3J5cHRvLmdldFJhbmRvbVZhbHVlcygpXFxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NyeXB0by9nZXRSYW5kb21WYWx1ZXNcXG52YXIgTUFYX0JZVEVTID0gNjU1MzZcXG5cXG4vLyBOb2RlIHN1cHBvcnRzIHJlcXVlc3RpbmcgdXAgdG8gdGhpcyBudW1iZXIgb2YgYnl0ZXNcXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi9tYXN0ZXIvbGliL2ludGVybmFsL2NyeXB0by9yYW5kb20uanMjTDQ4XFxudmFyIE1BWF9VSU5UMzIgPSA0Mjk0OTY3Mjk1XFxuXFxuZnVuY3Rpb24gb2xkQnJvd3NlciAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ1NlY3VyZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuXFxcXG5Vc2UgQ2hyb21lLCBGaXJlZm94IG9yIEludGVybmV0IEV4cGxvcmVyIDExJylcXG59XFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcbnZhciBjcnlwdG8gPSBnbG9iYWwuY3J5cHRvIHx8IGdsb2JhbC5tc0NyeXB0b1xcblxcbmlmIChjcnlwdG8gJiYgY3J5cHRvLmdldFJhbmRvbVZhbHVlcykge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSByYW5kb21CeXRlc1xcbn0gZWxzZSB7XFxuICBtb2R1bGUuZXhwb3J0cyA9IG9sZEJyb3dzZXJcXG59XFxuXFxuZnVuY3Rpb24gcmFuZG9tQnl0ZXMgKHNpemUsIGNiKSB7XFxuICAvLyBwaGFudG9tanMgbmVlZHMgdG8gdGhyb3dcXG4gIGlmIChzaXplID4gTUFYX1VJTlQzMikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3JlcXVlc3RlZCB0b28gbWFueSByYW5kb20gYnl0ZXMnKVxcblxcbiAgdmFyIGJ5dGVzID0gQnVmZmVyLmFsbG9jVW5zYWZlKHNpemUpXFxuXFxuICBpZiAoc2l6ZSA+IDApIHsgIC8vIGdldFJhbmRvbVZhbHVlcyBmYWlscyBvbiBJRSBpZiBzaXplID09IDBcXG4gICAgaWYgKHNpemUgPiBNQVhfQllURVMpIHsgLy8gdGhpcyBpcyB0aGUgbWF4IGJ5dGVzIGNyeXB0by5nZXRSYW5kb21WYWx1ZXNcXG4gICAgICAvLyBjYW4gZG8gYXQgb25jZSBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzXFxuICAgICAgZm9yICh2YXIgZ2VuZXJhdGVkID0gMDsgZ2VuZXJhdGVkIDwgc2l6ZTsgZ2VuZXJhdGVkICs9IE1BWF9CWVRFUykge1xcbiAgICAgICAgLy8gYnVmZmVyLnNsaWNlIGF1dG9tYXRpY2FsbHkgY2hlY2tzIGlmIHRoZSBlbmQgaXMgcGFzdCB0aGUgZW5kIG9mXFxuICAgICAgICAvLyB0aGUgYnVmZmVyIHNvIHdlIGRvbid0IGhhdmUgdG8gaGVyZVxcbiAgICAgICAgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhieXRlcy5zbGljZShnZW5lcmF0ZWQsIGdlbmVyYXRlZCArIE1BWF9CWVRFUykpXFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYnl0ZXMpXFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgIGNiKG51bGwsIGJ5dGVzKVxcbiAgICB9KVxcbiAgfVxcblxcbiAgcmV0dXJuIGJ5dGVzXFxufVxcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcXFwiKSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlZVzVrYjIxaWVYUmxjeTlpY205M2MyVnlMbXB6UHpSaU9EUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzZFVSQlFWazdPMEZCUlZvN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoTzBGQlEyeERPenRCUVVWQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFc2FVSkJRV2xDTzBGQlEycENMREpDUVVFeVFqdEJRVU16UWp0QlFVTkJMRFpDUVVFMlFpeHJRa0ZCYTBJN1FVRkRMME03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0poYm1SdmJXSjVkR1Z6TDJKeWIzZHpaWEl1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUluZFhObElITjBjbWxqZENkY2JseHVMeThnYkdsdGFYUWdiMllnUTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGN5Z3BYRzR2THlCb2RIUndjem92TDJSbGRtVnNiM0JsY2k1dGIzcHBiR3hoTG05eVp5OWxiaTFWVXk5a2IyTnpMMWRsWWk5QlVFa3ZRM0o1Y0hSdkwyZGxkRkpoYm1SdmJWWmhiSFZsYzF4dWRtRnlJRTFCV0Y5Q1dWUkZVeUE5SURZMU5UTTJYRzVjYmk4dklFNXZaR1VnYzNWd2NHOXlkSE1nY21WeGRXVnpkR2x1WnlCMWNDQjBieUIwYUdseklHNTFiV0psY2lCdlppQmllWFJsYzF4dUx5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMjV2WkdWcWN5OXViMlJsTDJKc2IySXZiV0Z6ZEdWeUwyeHBZaTlwYm5SbGNtNWhiQzlqY25sd2RHOHZjbUZ1Wkc5dExtcHpJMHcwT0Z4dWRtRnlJRTFCV0Y5VlNVNVVNeklnUFNBME1qazBPVFkzTWprMVhHNWNibVoxYm1OMGFXOXVJRzlzWkVKeWIzZHpaWElnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMU5sWTNWeVpTQnlZVzVrYjIwZ2JuVnRZbVZ5SUdkbGJtVnlZWFJwYjI0Z2FYTWdibTkwSUhOMWNIQnZjblJsWkNCaWVTQjBhR2x6SUdKeWIzZHpaWEl1WEZ4dVZYTmxJRU5vY205dFpTd2dSbWx5WldadmVDQnZjaUJKYm5SbGNtNWxkQ0JGZUhCc2IzSmxjaUF4TVNjcFhHNTlYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1ZG1GeUlHTnllWEIwYnlBOUlHZHNiMkpoYkM1amNubHdkRzhnZkh3Z1oyeHZZbUZzTG0xelEzSjVjSFJ2WEc1Y2JtbG1JQ2hqY25sd2RHOGdKaVlnWTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGN5a2dlMXh1SUNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKaGJtUnZiVUo1ZEdWelhHNTlJR1ZzYzJVZ2UxeHVJQ0J0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRzlzWkVKeWIzZHpaWEpjYm4xY2JseHVablZ1WTNScGIyNGdjbUZ1Wkc5dFFubDBaWE1nS0hOcGVtVXNJR05pS1NCN1hHNGdJQzh2SUhCb1lXNTBiMjFxY3lCdVpXVmtjeUIwYnlCMGFISnZkMXh1SUNCcFppQW9jMmw2WlNBK0lFMUJXRjlWU1U1VU16SXBJSFJvY205M0lHNWxkeUJTWVc1blpVVnljbTl5S0NkeVpYRjFaWE4wWldRZ2RHOXZJRzFoYm5rZ2NtRnVaRzl0SUdKNWRHVnpKeWxjYmx4dUlDQjJZWElnWW5sMFpYTWdQU0JDZFdabVpYSXVZV3hzYjJOVmJuTmhabVVvYzJsNlpTbGNibHh1SUNCcFppQW9jMmw2WlNBK0lEQXBJSHNnSUM4dklHZGxkRkpoYm1SdmJWWmhiSFZsY3lCbVlXbHNjeUJ2YmlCSlJTQnBaaUJ6YVhwbElEMDlJREJjYmlBZ0lDQnBaaUFvYzJsNlpTQStJRTFCV0Y5Q1dWUkZVeWtnZXlBdkx5QjBhR2x6SUdseklIUm9aU0J0WVhnZ1lubDBaWE1nWTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGMxeHVJQ0FnSUNBZ0x5OGdZMkZ1SUdSdklHRjBJRzl1WTJVZ2MyVmxJR2gwZEhCek9pOHZaR1YyWld4dmNHVnlMbTF2ZW1sc2JHRXViM0puTDJWdUxWVlRMMlJ2WTNNdlYyVmlMMEZRU1M5M2FXNWtiM2N1WTNKNWNIUnZMbWRsZEZKaGJtUnZiVlpoYkhWbGMxeHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ1oyVnVaWEpoZEdWa0lEMGdNRHNnWjJWdVpYSmhkR1ZrSUR3Z2MybDZaVHNnWjJWdVpYSmhkR1ZrSUNzOUlFMUJXRjlDV1ZSRlV5a2dlMXh1SUNBZ0lDQWdJQ0F2THlCaWRXWm1aWEl1YzJ4cFkyVWdZWFYwYjIxaGRHbGpZV3hzZVNCamFHVmphM01nYVdZZ2RHaGxJR1Z1WkNCcGN5QndZWE4wSUhSb1pTQmxibVFnYjJaY2JpQWdJQ0FnSUNBZ0x5OGdkR2hsSUdKMVptWmxjaUJ6YnlCM1pTQmtiMjRuZENCb1lYWmxJSFJ2SUdobGNtVmNiaUFnSUNBZ0lDQWdZM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3loaWVYUmxjeTV6YkdsalpTaG5aVzVsY21GMFpXUXNJR2RsYm1WeVlYUmxaQ0FySUUxQldGOUNXVlJGVXlrcFhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJR055ZVhCMGJ5NW5aWFJTWVc1a2IyMVdZV3gxWlhNb1lubDBaWE1wWEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCallpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpMbTVsZUhSVWFXTnJLR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUdOaUtHNTFiR3dzSUdKNWRHVnpLVnh1SUNBZ0lIMHBYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdZbmwwWlhOY2JuMWNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWZpbGwvYnJvd3Nlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmFuZG9tZmlsbC9icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7XFxuXFxuZnVuY3Rpb24gb2xkQnJvd3NlciAoKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ3NlY3VyZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXJcXFxcbnVzZSBjaHJvbWUsIEZpcmVGb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEnKVxcbn1cXG52YXIgc2FmZUJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpXFxudmFyIHJhbmRvbWJ5dGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmFuZG9tYnl0ZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzL2Jyb3dzZXIuanNcXFwiKVxcbnZhciBCdWZmZXIgPSBzYWZlQnVmZmVyLkJ1ZmZlclxcbnZhciBrQnVmZmVyTWF4TGVuZ3RoID0gc2FmZUJ1ZmZlci5rTWF4TGVuZ3RoXFxudmFyIGNyeXB0byA9IGdsb2JhbC5jcnlwdG8gfHwgZ2xvYmFsLm1zQ3J5cHRvXFxudmFyIGtNYXhVaW50MzIgPSBNYXRoLnBvdygyLCAzMikgLSAxXFxuZnVuY3Rpb24gYXNzZXJ0T2Zmc2V0IChvZmZzZXQsIGxlbmd0aCkge1xcbiAgaWYgKHR5cGVvZiBvZmZzZXQgIT09ICdudW1iZXInIHx8IG9mZnNldCAhPT0gb2Zmc2V0KSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2VsZi1jb21wYXJlXFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ29mZnNldCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG5cXG4gIGlmIChvZmZzZXQgPiBrTWF4VWludDMyIHx8IG9mZnNldCA8IDApIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb2Zmc2V0IG11c3QgYmUgYSB1aW50MzInKVxcbiAgfVxcblxcbiAgaWYgKG9mZnNldCA+IGtCdWZmZXJNYXhMZW5ndGggfHwgb2Zmc2V0ID4gbGVuZ3RoKSB7XFxuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdvZmZzZXQgb3V0IG9mIHJhbmdlJylcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYXNzZXJ0U2l6ZSAoc2l6ZSwgb2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicgfHwgc2l6ZSAhPT0gc2l6ZSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdzaXplIG11c3QgYmUgYSBudW1iZXInKVxcbiAgfVxcblxcbiAgaWYgKHNpemUgPiBrTWF4VWludDMyIHx8IHNpemUgPCAwKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3NpemUgbXVzdCBiZSBhIHVpbnQzMicpXFxuICB9XFxuXFxuICBpZiAoc2l6ZSArIG9mZnNldCA+IGxlbmd0aCB8fCBzaXplID4ga0J1ZmZlck1heExlbmd0aCkge1xcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYnVmZmVyIHRvbyBzbWFsbCcpXFxuICB9XFxufVxcbmlmICgoY3J5cHRvICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHx8ICFwcm9jZXNzLmJyb3dzZXIpIHtcXG4gIGV4cG9ydHMucmFuZG9tRmlsbCA9IHJhbmRvbUZpbGxcXG4gIGV4cG9ydHMucmFuZG9tRmlsbFN5bmMgPSByYW5kb21GaWxsU3luY1xcbn0gZWxzZSB7XFxuICBleHBvcnRzLnJhbmRvbUZpbGwgPSBvbGRCcm93c2VyXFxuICBleHBvcnRzLnJhbmRvbUZpbGxTeW5jID0gb2xkQnJvd3Nlclxcbn1cXG5mdW5jdGlvbiByYW5kb21GaWxsIChidWYsIG9mZnNldCwgc2l6ZSwgY2IpIHtcXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikgJiYgIShidWYgaW5zdGFuY2VvZiBnbG9iYWwuVWludDhBcnJheSkpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcImJ1ZlxcXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5JylcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2Ygb2Zmc2V0ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gb2Zmc2V0XFxuICAgIG9mZnNldCA9IDBcXG4gICAgc2l6ZSA9IGJ1Zi5sZW5ndGhcXG4gIH0gZWxzZSBpZiAodHlwZW9mIHNpemUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgY2IgPSBzaXplXFxuICAgIHNpemUgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XFxuICB9IGVsc2UgaWYgKHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcXFwiY2JcXFwiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpXFxuICB9XFxuICBhc3NlcnRPZmZzZXQob2Zmc2V0LCBidWYubGVuZ3RoKVxcbiAgYXNzZXJ0U2l6ZShzaXplLCBvZmZzZXQsIGJ1Zi5sZW5ndGgpXFxuICByZXR1cm4gYWN0dWFsRmlsbChidWYsIG9mZnNldCwgc2l6ZSwgY2IpXFxufVxcblxcbmZ1bmN0aW9uIGFjdHVhbEZpbGwgKGJ1Ziwgb2Zmc2V0LCBzaXplLCBjYikge1xcbiAgaWYgKHByb2Nlc3MuYnJvd3Nlcikge1xcbiAgICB2YXIgb3VyQnVmID0gYnVmLmJ1ZmZlclxcbiAgICB2YXIgdWludCA9IG5ldyBVaW50OEFycmF5KG91ckJ1Ziwgb2Zmc2V0LCBzaXplKVxcbiAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHVpbnQpXFxuICAgIGlmIChjYikge1xcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xcbiAgICAgICAgY2IobnVsbCwgYnVmKVxcbiAgICAgIH0pXFxuICAgICAgcmV0dXJuXFxuICAgIH1cXG4gICAgcmV0dXJuIGJ1ZlxcbiAgfVxcbiAgaWYgKGNiKSB7XFxuICAgIHJhbmRvbWJ5dGVzKHNpemUsIGZ1bmN0aW9uIChlcnIsIGJ5dGVzKSB7XFxuICAgICAgaWYgKGVycikge1xcbiAgICAgICAgcmV0dXJuIGNiKGVycilcXG4gICAgICB9XFxuICAgICAgYnl0ZXMuY29weShidWYsIG9mZnNldClcXG4gICAgICBjYihudWxsLCBidWYpXFxuICAgIH0pXFxuICAgIHJldHVyblxcbiAgfVxcbiAgdmFyIGJ5dGVzID0gcmFuZG9tYnl0ZXMoc2l6ZSlcXG4gIGJ5dGVzLmNvcHkoYnVmLCBvZmZzZXQpXFxuICByZXR1cm4gYnVmXFxufVxcbmZ1bmN0aW9uIHJhbmRvbUZpbGxTeW5jIChidWYsIG9mZnNldCwgc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICd1bmRlZmluZWQnKSB7XFxuICAgIG9mZnNldCA9IDBcXG4gIH1cXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikgJiYgIShidWYgaW5zdGFuY2VvZiBnbG9iYWwuVWludDhBcnJheSkpIHtcXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXFxcImJ1ZlxcXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5JylcXG4gIH1cXG5cXG4gIGFzc2VydE9mZnNldChvZmZzZXQsIGJ1Zi5sZW5ndGgpXFxuXFxuICBpZiAoc2l6ZSA9PT0gdW5kZWZpbmVkKSBzaXplID0gYnVmLmxlbmd0aCAtIG9mZnNldFxcblxcbiAgYXNzZXJ0U2l6ZShzaXplLCBvZmZzZXQsIGJ1Zi5sZW5ndGgpXFxuXFxuICByZXR1cm4gYWN0dWFsRmlsbChidWYsIG9mZnNldCwgc2l6ZSlcXG59XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcXCIpLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVlXNWtiMjFtYVd4c0wySnliM2R6WlhJdWFuTS9ZemhsTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeDFSRUZCV1RzN1FVRkZXanRCUVVOQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTjBReXhyUWtGQmEwSXNiVUpCUVU4c1EwRkJReXd3UkVGQllUdEJRVU4yUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBSQlFYZEVPMEZCUTNoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2EwUkJRV3RFTzBGQlEyeEVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNKaGJtUnZiV1pwYkd3dlluSnZkM05sY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEoxeHVYRzVtZFc1amRHbHZiaUJ2YkdSQ2NtOTNjMlZ5SUNncElIdGNiaUFnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2R6WldOMWNtVWdjbUZ1Wkc5dElHNTFiV0psY2lCblpXNWxjbUYwYVc5dUlHNXZkQ0J6ZFhCd2IzSjBaV1FnWW5rZ2RHaHBjeUJpY205M2MyVnlYRnh1ZFhObElHTm9jbTl0WlN3Z1JtbHlaVVp2ZUNCdmNpQkpiblJsY201bGRDQkZlSEJzYjNKbGNpQXhNU2NwWEc1OVhHNTJZWElnYzJGbVpVSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWxjYm5aaGNpQnlZVzVrYjIxaWVYUmxjeUE5SUhKbGNYVnBjbVVvSjNKaGJtUnZiV0o1ZEdWekp5bGNiblpoY2lCQ2RXWm1aWElnUFNCellXWmxRblZtWm1WeUxrSjFabVpsY2x4dWRtRnlJR3RDZFdabVpYSk5ZWGhNWlc1bmRHZ2dQU0J6WVdabFFuVm1abVZ5TG10TllYaE1aVzVuZEdoY2JuWmhjaUJqY25sd2RHOGdQU0JuYkc5aVlXd3VZM0o1Y0hSdklIeDhJR2RzYjJKaGJDNXRjME55ZVhCMGIxeHVkbUZ5SUd0TllYaFZhVzUwTXpJZ1BTQk5ZWFJvTG5CdmR5Z3lMQ0F6TWlrZ0xTQXhYRzVtZFc1amRHbHZiaUJoYzNObGNuUlBabVp6WlhRZ0tHOW1abk5sZEN3Z2JHVnVaM1JvS1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYjJabWMyVjBJQ0U5UFNBbmJuVnRZbVZ5SnlCOGZDQnZabVp6WlhRZ0lUMDlJRzltWm5ObGRDa2dleUF2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bElHNXZMWE5sYkdZdFkyOXRjR0Z5WlZ4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjI5bVpuTmxkQ0J0ZFhOMElHSmxJR0VnYm5WdFltVnlKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDaHZabVp6WlhRZ1BpQnJUV0Y0VldsdWRETXlJSHg4SUc5bVpuTmxkQ0E4SURBcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtDZHZabVp6WlhRZ2JYVnpkQ0JpWlNCaElIVnBiblF6TWljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYjJabWMyVjBJRDRnYTBKMVptWmxjazFoZUV4bGJtZDBhQ0I4ZkNCdlptWnpaWFFnUGlCc1pXNW5kR2dwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVW1GdVoyVkZjbkp2Y2lnbmIyWm1jMlYwSUc5MWRDQnZaaUJ5WVc1blpTY3BYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVhOelpYSjBVMmw2WlNBb2MybDZaU3dnYjJabWMyVjBMQ0JzWlc1bmRHZ3BJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnphWHBsSUNFOVBTQW5iblZ0WW1WeUp5QjhmQ0J6YVhwbElDRTlQU0J6YVhwbEtTQjdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMV3hwYm1VZ2JtOHRjMlZzWmkxamIyMXdZWEpsWEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWduYzJsNlpTQnRkWE4wSUdKbElHRWdiblZ0WW1WeUp5bGNiaUFnZlZ4dVhHNGdJR2xtSUNoemFYcGxJRDRnYTAxaGVGVnBiblF6TWlCOGZDQnphWHBsSUR3Z01Da2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KM05wZW1VZ2JYVnpkQ0JpWlNCaElIVnBiblF6TWljcFhHNGdJSDFjYmx4dUlDQnBaaUFvYzJsNlpTQXJJRzltWm5ObGRDQStJR3hsYm1kMGFDQjhmQ0J6YVhwbElENGdhMEoxWm1abGNrMWhlRXhsYm1kMGFDa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlNZVzVuWlVWeWNtOXlLQ2RpZFdabVpYSWdkRzl2SUhOdFlXeHNKeWxjYmlBZ2ZWeHVmVnh1YVdZZ0tDaGpjbmx3ZEc4Z0ppWWdZM0o1Y0hSdkxtZGxkRkpoYm1SdmJWWmhiSFZsY3lrZ2ZId2dJWEJ5YjJObGMzTXVZbkp2ZDNObGNpa2dlMXh1SUNCbGVIQnZjblJ6TG5KaGJtUnZiVVpwYkd3Z1BTQnlZVzVrYjIxR2FXeHNYRzRnSUdWNGNHOXlkSE11Y21GdVpHOXRSbWxzYkZONWJtTWdQU0J5WVc1a2IyMUdhV3hzVTNsdVkxeHVmU0JsYkhObElIdGNiaUFnWlhod2IzSjBjeTV5WVc1a2IyMUdhV3hzSUQwZ2IyeGtRbkp2ZDNObGNseHVJQ0JsZUhCdmNuUnpMbkpoYm1SdmJVWnBiR3hUZVc1aklEMGdiMnhrUW5KdmQzTmxjbHh1ZlZ4dVpuVnVZM1JwYjI0Z2NtRnVaRzl0Um1sc2JDQW9ZblZtTENCdlptWnpaWFFzSUhOcGVtVXNJR05pS1NCN1hHNGdJR2xtSUNnaFFuVm1abVZ5TG1selFuVm1abVZ5S0dKMVppa2dKaVlnSVNoaWRXWWdhVzV6ZEdGdVkyVnZaaUJuYkc5aVlXd3VWV2x1ZERoQmNuSmhlU2twSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkY0ltSjFabHdpSUdGeVozVnRaVzUwSUcxMWMzUWdZbVVnWVNCQ2RXWm1aWElnYjNJZ1ZXbHVkRGhCY25KaGVTY3BYRzRnSUgxY2JseHVJQ0JwWmlBb2RIbHdaVzltSUc5bVpuTmxkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHTmlJRDBnYjJabWMyVjBYRzRnSUNBZ2IyWm1jMlYwSUQwZ01GeHVJQ0FnSUhOcGVtVWdQU0JpZFdZdWJHVnVaM1JvWEc0Z0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlITnBlbVVnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQmpZaUE5SUhOcGVtVmNiaUFnSUNCemFYcGxJRDBnWW5WbUxteGxibWQwYUNBdElHOW1abk5sZEZ4dUlDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dWdlppQmpZaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMXdpWTJKY0lpQmhjbWQxYldWdWRDQnRkWE4wSUdKbElHRWdablZ1WTNScGIyNG5LVnh1SUNCOVhHNGdJR0Z6YzJWeWRFOW1abk5sZENodlptWnpaWFFzSUdKMVppNXNaVzVuZEdncFhHNGdJR0Z6YzJWeWRGTnBlbVVvYzJsNlpTd2diMlptYzJWMExDQmlkV1l1YkdWdVozUm9LVnh1SUNCeVpYUjFjbTRnWVdOMGRXRnNSbWxzYkNoaWRXWXNJRzltWm5ObGRDd2djMmw2WlN3Z1kySXBYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRmpkSFZoYkVacGJHd2dLR0oxWml3Z2IyWm1jMlYwTENCemFYcGxMQ0JqWWlrZ2UxeHVJQ0JwWmlBb2NISnZZMlZ6Y3k1aWNtOTNjMlZ5S1NCN1hHNGdJQ0FnZG1GeUlHOTFja0oxWmlBOUlHSjFaaTVpZFdabVpYSmNiaUFnSUNCMllYSWdkV2x1ZENBOUlHNWxkeUJWYVc1ME9FRnljbUY1S0c5MWNrSjFaaXdnYjJabWMyVjBMQ0J6YVhwbEtWeHVJQ0FnSUdOeWVYQjBieTVuWlhSU1lXNWtiMjFXWVd4MVpYTW9kV2x1ZENsY2JpQWdJQ0JwWmlBb1kySXBJSHRjYmlBZ0lDQWdJSEJ5YjJObGMzTXVibVY0ZEZScFkyc29ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNCallpaHVkV3hzTENCaWRXWXBYRzRnSUNBZ0lDQjlLVnh1SUNBZ0lDQWdjbVYwZFhKdVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQmlkV1pjYmlBZ2ZWeHVJQ0JwWmlBb1kySXBJSHRjYmlBZ0lDQnlZVzVrYjIxaWVYUmxjeWh6YVhwbExDQm1kVzVqZEdsdmJpQW9aWEp5TENCaWVYUmxjeWtnZTF4dUlDQWdJQ0FnYVdZZ0tHVnljaWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTJJb1pYSnlLVnh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZbmwwWlhNdVkyOXdlU2hpZFdZc0lHOW1abk5sZENsY2JpQWdJQ0FnSUdOaUtHNTFiR3dzSUdKMVppbGNiaUFnSUNCOUtWeHVJQ0FnSUhKbGRIVnlibHh1SUNCOVhHNGdJSFpoY2lCaWVYUmxjeUE5SUhKaGJtUnZiV0o1ZEdWektITnBlbVVwWEc0Z0lHSjVkR1Z6TG1OdmNIa29ZblZtTENCdlptWnpaWFFwWEc0Z0lISmxkSFZ5YmlCaWRXWmNibjFjYm1aMWJtTjBhVzl1SUhKaGJtUnZiVVpwYkd4VGVXNWpJQ2hpZFdZc0lHOW1abk5sZEN3Z2MybDZaU2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JRzltWm5ObGRDQTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNCdlptWnpaWFFnUFNBd1hHNGdJSDFjYmlBZ2FXWWdLQ0ZDZFdabVpYSXVhWE5DZFdabVpYSW9ZblZtS1NBbUppQWhLR0oxWmlCcGJuTjBZVzVqWlc5bUlHZHNiMkpoYkM1VmFXNTBPRUZ5Y21GNUtTa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9KMXdpWW5WbVhDSWdZWEpuZFcxbGJuUWdiWFZ6ZENCaVpTQmhJRUoxWm1abGNpQnZjaUJWYVc1ME9FRnljbUY1SnlsY2JpQWdmVnh1WEc0Z0lHRnpjMlZ5ZEU5bVpuTmxkQ2h2Wm1aelpYUXNJR0oxWmk1c1pXNW5kR2dwWEc1Y2JpQWdhV1lnS0hOcGVtVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2MybDZaU0E5SUdKMVppNXNaVzVuZEdnZ0xTQnZabVp6WlhSY2JseHVJQ0JoYzNObGNuUlRhWHBsS0hOcGVtVXNJRzltWm5ObGRDd2dZblZtTG14bGJtZDBhQ2xjYmx4dUlDQnlaWFIxY200Z1lXTjBkV0ZzUm1sc2JDaGlkV1lzSUc5bVpuTmxkQ3dnYzJsNlpTbGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yYW5kb21maWxsL2Jyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTMuMVxcbiAqIHJlYWN0LWRvbS5kZXZlbG9wbWVudC5qc1xcbiAqXFxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXFxuICpcXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuICovXFxuXFxuXFxuXFxuXFxuXFxuaWYgKHRydWUpIHtcXG4gIChmdW5jdGlvbigpIHtcXG4ndXNlIHN0cmljdCc7XFxuXFxudmFyIFJlYWN0ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxudmFyIF9hc3NpZ24gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBvYmplY3QtYXNzaWduICovIFxcXCIuL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzXFxcIik7XFxudmFyIFNjaGVkdWxlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNjaGVkdWxlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzXFxcIik7XFxudmFyIGNoZWNrUHJvcFR5cGVzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qc1xcXCIpO1xcbnZhciB0cmFjaW5nID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2NoZWR1bGVyL3RyYWNpbmcgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzXFxcIik7XFxuXFxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0gUmVhY3QuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7IC8vIFByZXZlbnQgbmV3ZXIgcmVuZGVyZXJzIGZyb20gUlRFIHdoZW4gdXNlZCB3aXRoIG9sZGVyIHJlYWN0IHBhY2thZ2UgdmVyc2lvbnMuXFxuLy8gQ3VycmVudCBvd25lciBhbmQgZGlzcGF0Y2hlciB1c2VkIHRvIHNoYXJlIHRoZSBzYW1lIHJlZixcXG4vLyBidXQgUFIgIzE0NTQ4IHNwbGl0IHRoZW0gb3V0IHRvIGJldHRlciBzdXBwb3J0IHRoZSByZWFjdC1kZWJ1Zy10b29scyBwYWNrYWdlLlxcblxcbmlmICghUmVhY3RTaGFyZWRJbnRlcm5hbHMuaGFzT3duUHJvcGVydHkoJ1JlYWN0Q3VycmVudERpc3BhdGNoZXInKSkge1xcbiAgUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IHtcXG4gICAgY3VycmVudDogbnVsbFxcbiAgfTtcXG59XFxuXFxuaWYgKCFSZWFjdFNoYXJlZEludGVybmFscy5oYXNPd25Qcm9wZXJ0eSgnUmVhY3RDdXJyZW50QmF0Y2hDb25maWcnKSkge1xcbiAgUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWcgPSB7XFxuICAgIHN1c3BlbnNlOiBudWxsXFxuICB9O1xcbn1cXG5cXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxcbi8vXFxuLy8gSW4gUFJPRCAob3IgaW4gcGFja2FnZXMgd2l0aG91dCBhY2Nlc3MgdG8gUmVhY3QgaW50ZXJuYWxzKSxcXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXFxuXFxuZnVuY3Rpb24gd2Fybihmb3JtYXQpIHtcXG4gIHtcXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xcbiAgICB9XFxuXFxuICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xcbiAge1xcbiAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xcbiAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XFxuICAgIH1cXG5cXG4gICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XFxuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxcbiAge1xcbiAgICB2YXIgaGFzRXhpc3RpbmdTdGFjayA9IGFyZ3MubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnc1thcmdzLmxlbmd0aCAtIDFdID09PSAnc3RyaW5nJyAmJiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0uaW5kZXhPZignXFxcXG4gICAgaW4nKSA9PT0gMDtcXG5cXG4gICAgaWYgKCFoYXNFeGlzdGluZ1N0YWNrKSB7XFxuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xcbiAgICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xcblxcbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcXG4gICAgICAgIGZvcm1hdCArPSAnJXMnO1xcbiAgICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xcbiAgICAgIHJldHVybiAnJyArIGl0ZW07XFxuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxcblxcbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcXG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXFxuXFxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxcbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XFxuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcXG4gICAgICB9KTtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XFxuICAgIH0gY2F0Y2ggKHgpIHt9XFxuICB9XFxufVxcblxcbmlmICghUmVhY3QpIHtcXG4gIHtcXG4gICAgdGhyb3cgRXJyb3IoIFxcXCJSZWFjdERPTSB3YXMgbG9hZGVkIGJlZm9yZSBSZWFjdC4gTWFrZSBzdXJlIHlvdSBsb2FkIHRoZSBSZWFjdCBwYWNrYWdlIGJlZm9yZSBsb2FkaW5nIFJlYWN0RE9NLlxcXCIgKTtcXG4gIH1cXG59XFxuXFxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBmdW5jdGlvbiAobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xcbiAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcXG5cXG4gIHRyeSB7XFxuICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xcbiAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgdGhpcy5vbkVycm9yKGVycm9yKTtcXG4gIH1cXG59O1xcblxcbntcXG4gIC8vIEluIERFViBtb2RlLCB3ZSBzd2FwIG91dCBpbnZva2VHdWFyZGVkQ2FsbGJhY2sgZm9yIGEgc3BlY2lhbCB2ZXJzaW9uXFxuICAvLyB0aGF0IHBsYXlzIG1vcmUgbmljZWx5IHdpdGggdGhlIGJyb3dzZXIncyBEZXZUb29scy4gVGhlIGlkZWEgaXMgdG8gcHJlc2VydmVcXG4gIC8vIFxcXCJQYXVzZSBvbiBleGNlcHRpb25zXFxcIiBiZWhhdmlvci4gQmVjYXVzZSBSZWFjdCB3cmFwcyBhbGwgdXNlci1wcm92aWRlZFxcbiAgLy8gZnVuY3Rpb25zIGluIGludm9rZUd1YXJkZWRDYWxsYmFjaywgYW5kIHRoZSBwcm9kdWN0aW9uIHZlcnNpb24gb2ZcXG4gIC8vIGludm9rZUd1YXJkZWRDYWxsYmFjayB1c2VzIGEgdHJ5LWNhdGNoLCBhbGwgdXNlciBleGNlcHRpb25zIGFyZSB0cmVhdGVkXFxuICAvLyBsaWtlIGNhdWdodCBleGNlcHRpb25zLCBhbmQgdGhlIERldlRvb2xzIHdvbid0IHBhdXNlIHVubGVzcyB0aGUgZGV2ZWxvcGVyXFxuICAvLyB0YWtlcyB0aGUgZXh0cmEgc3RlcCBvZiBlbmFibGluZyBwYXVzZSBvbiBjYXVnaHQgZXhjZXB0aW9ucy4gVGhpcyBpc1xcbiAgLy8gdW5pbnR1aXRpdmUsIHRob3VnaCwgYmVjYXVzZSBldmVuIHRob3VnaCBSZWFjdCBoYXMgY2F1Z2h0IHRoZSBlcnJvciwgZnJvbVxcbiAgLy8gdGhlIGRldmVsb3BlcidzIHBlcnNwZWN0aXZlLCB0aGUgZXJyb3IgaXMgdW5jYXVnaHQuXFxuICAvL1xcbiAgLy8gVG8gcHJlc2VydmUgdGhlIGV4cGVjdGVkIFxcXCJQYXVzZSBvbiBleGNlcHRpb25zXFxcIiBiZWhhdmlvciwgd2UgZG9uJ3QgdXNlIGFcXG4gIC8vIHRyeS1jYXRjaCBpbiBERVYuIEluc3RlYWQsIHdlIHN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggYSBmYWtlIGV2ZW50IHRvIGEgZmFrZVxcbiAgLy8gRE9NIG5vZGUsIGFuZCBjYWxsIHRoZSB1c2VyLXByb3ZpZGVkIGNhbGxiYWNrIGZyb20gaW5zaWRlIGFuIGV2ZW50IGhhbmRsZXJcXG4gIC8vIGZvciB0aGF0IGZha2UgZXZlbnQuIElmIHRoZSBjYWxsYmFjayB0aHJvd3MsIHRoZSBlcnJvciBpcyBcXFwiY2FwdHVyZWRcXFwiIHVzaW5nXFxuICAvLyBhIGdsb2JhbCBldmVudCBoYW5kbGVyLiBCdXQgYmVjYXVzZSB0aGUgZXJyb3IgaGFwcGVucyBpbiBhIGRpZmZlcmVudFxcbiAgLy8gZXZlbnQgbG9vcCBjb250ZXh0LCBpdCBkb2VzIG5vdCBpbnRlcnJ1cHQgdGhlIG5vcm1hbCBwcm9ncmFtIGZsb3cuXFxuICAvLyBFZmZlY3RpdmVseSwgdGhpcyBnaXZlcyB1cyB0cnktY2F0Y2ggYmVoYXZpb3Igd2l0aG91dCBhY3R1YWxseSB1c2luZ1xcbiAgLy8gdHJ5LWNhdGNoLiBOZWF0IVxcbiAgLy8gQ2hlY2sgdGhhdCB0aGUgYnJvd3NlciBzdXBwb3J0cyB0aGUgQVBJcyB3ZSBuZWVkIHRvIGltcGxlbWVudCBvdXIgc3BlY2lhbFxcbiAgLy8gREVWIHZlcnNpb24gb2YgaW52b2tlR3VhcmRlZENhbGxiYWNrXFxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5kaXNwYXRjaEV2ZW50ID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHZhciBmYWtlTm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JlYWN0Jyk7XFxuXFxuICAgIHZhciBpbnZva2VHdWFyZGVkQ2FsbGJhY2tEZXYgPSBmdW5jdGlvbiAobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xcbiAgICAgIC8vIElmIGRvY3VtZW50IGRvZXNuJ3QgZXhpc3Qgd2Uga25vdyBmb3Igc3VyZSB3ZSB3aWxsIGNyYXNoIGluIHRoaXMgbWV0aG9kXFxuICAgICAgLy8gd2hlbiB3ZSBjYWxsIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkuIEhvd2V2ZXIgdGhpcyBjYW4gY2F1c2UgY29uZnVzaW5nXFxuICAgICAgLy8gZXJyb3JzOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2tpbmN1YmF0b3IvY3JlYXRlLXJlYWN0LWFwcC9pc3N1ZXMvMzQ4MlxcbiAgICAgIC8vIFNvIHdlIHByZWVtcHRpdmVseSB0aHJvdyB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UgaW5zdGVhZC5cXG4gICAgICBpZiAoISh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSkge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlRoZSBgZG9jdW1lbnRgIGdsb2JhbCB3YXMgZGVmaW5lZCB3aGVuIFJlYWN0IHdhcyBpbml0aWFsaXplZCwgYnV0IGlzIG5vdCBkZWZpbmVkIGFueW1vcmUuIFRoaXMgY2FuIGhhcHBlbiBpbiBhIHRlc3QgZW52aXJvbm1lbnQgaWYgYSBjb21wb25lbnQgc2NoZWR1bGVzIGFuIHVwZGF0ZSBmcm9tIGFuIGFzeW5jaHJvbm91cyBjYWxsYmFjaywgYnV0IHRoZSB0ZXN0IGhhcyBhbHJlYWR5IGZpbmlzaGVkIHJ1bm5pbmcuIFRvIHNvbHZlIHRoaXMsIHlvdSBjYW4gZWl0aGVyIHVubW91bnQgdGhlIGNvbXBvbmVudCBhdCB0aGUgZW5kIG9mIHlvdXIgdGVzdCAoYW5kIGVuc3VyZSB0aGF0IGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBnZXQgY2FuY2VsZWQgaW4gYGNvbXBvbmVudFdpbGxVbm1vdW50YCksIG9yIHlvdSBjYW4gY2hhbmdlIHRoZSB0ZXN0IGl0c2VsZiB0byBiZSBhc3luY2hyb25vdXMuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgZXZ0ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7IC8vIEtlZXBzIHRyYWNrIG9mIHdoZXRoZXIgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2sgdGhyZXcgYW4gZXJyb3IuIFdlXFxuICAgICAgLy8gc2V0IHRoaXMgdG8gdHJ1ZSBhdCB0aGUgYmVnaW5uaW5nLCB0aGVuIHNldCBpdCB0byBmYWxzZSByaWdodCBhZnRlclxcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcXG4gICAgICAvLyBzZXQgdG8gZmFsc2UuIFRoaXMgc3RyYXRlZ3kgd29ya3MgZXZlbiBpZiB0aGUgYnJvd3NlciBpcyBmbGFreSBhbmRcXG4gICAgICAvLyBmYWlscyB0byBjYWxsIG91ciBnbG9iYWwgZXJyb3IgaGFuZGxlciwgYmVjYXVzZSBpdCBkb2Vzbid0IHJlbHkgb25cXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxcblxcbiAgICAgIHZhciBkaWRFcnJvciA9IHRydWU7IC8vIEtlZXBzIHRyYWNrIG9mIHRoZSB2YWx1ZSBvZiB3aW5kb3cuZXZlbnQgc28gdGhhdCB3ZSBjYW4gcmVzZXQgaXRcXG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcXG4gICAgICAvLyBicm93c2VycyB0aGF0IHN1cHBvcnQgaXQuXFxuXFxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxcbiAgICAgIC8vIGRpc3BhdGNoaW5nOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzNjg4XFxuXFxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTsgLy8gQ3JlYXRlIGFuIGV2ZW50IGhhbmRsZXIgZm9yIG91ciBmYWtlIGV2ZW50LiBXZSB3aWxsIHN5bmNocm9ub3VzbHlcXG4gICAgICAvLyBkaXNwYXRjaCBvdXIgZmFrZSBldmVudCB1c2luZyBgZGlzcGF0Y2hFdmVudGAuIEluc2lkZSB0aGUgaGFuZGxlciwgd2VcXG4gICAgICAvLyBjYWxsIHRoZSB1c2VyLXByb3ZpZGVkIGNhbGxiYWNrLlxcblxcbiAgICAgIHZhciBmdW5jQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMyk7XFxuXFxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xcbiAgICAgICAgLy8gV2UgaW1tZWRpYXRlbHkgcmVtb3ZlIHRoZSBjYWxsYmFjayBmcm9tIGV2ZW50IGxpc3RlbmVycyBzbyB0aGF0XFxuICAgICAgICAvLyBuZXN0ZWQgYGludm9rZUd1YXJkZWRDYWxsYmFja2AgY2FsbHMgZG8gbm90IGNsYXNoLiBPdGhlcndpc2UsIGFcXG4gICAgICAgIC8vIG5lc3RlZCBjYWxsIHdvdWxkIHRyaWdnZXIgdGhlIGZha2UgZXZlbnQgaGFuZGxlcnMgb2YgYW55IGNhbGwgaGlnaGVyXFxuICAgICAgICAvLyBpbiB0aGUgc3RhY2suXFxuICAgICAgICBmYWtlTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBXZSBjaGVjayBmb3Igd2luZG93Lmhhc093blByb3BlcnR5KCdldmVudCcpIHRvIHByZXZlbnQgdGhlXFxuICAgICAgICAvLyB3aW5kb3cuZXZlbnQgYXNzaWdubWVudCBpbiBib3RoIElFIDw9IDEwIGFzIHRoZXkgdGhyb3cgYW4gZXJyb3JcXG4gICAgICAgIC8vIFxcXCJNZW1iZXIgbm90IGZvdW5kXFxcIiBpbiBzdHJpY3QgbW9kZSwgYW5kIGluIEZpcmVmb3ggd2hpY2ggZG9lcyBub3RcXG4gICAgICAgIC8vIHN1cHBvcnQgd2luZG93LmV2ZW50LlxcblxcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSkge1xcbiAgICAgICAgICB3aW5kb3cuZXZlbnQgPSB3aW5kb3dFdmVudDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xcbiAgICAgICAgZGlkRXJyb3IgPSBmYWxzZTtcXG4gICAgICB9IC8vIENyZWF0ZSBhIGdsb2JhbCBlcnJvciBldmVudCBoYW5kbGVyLiBXZSB1c2UgdGhpcyB0byBjYXB0dXJlIHRoZSB2YWx1ZVxcbiAgICAgIC8vIHRoYXQgd2FzIHRocm93bi4gSXQncyBwb3NzaWJsZSB0aGF0IHRoaXMgZXJyb3IgaGFuZGxlciB3aWxsIGZpcmUgbW9yZVxcbiAgICAgIC8vIHRoYW4gb25jZTsgZm9yIGV4YW1wbGUsIGlmIG5vbi1SZWFjdCBjb2RlIGFsc28gY2FsbHMgYGRpc3BhdGNoRXZlbnRgXFxuICAgICAgLy8gYW5kIGEgaGFuZGxlciBmb3IgdGhhdCBldmVudCB0aHJvd3MuIFdlIHNob3VsZCBiZSByZXNpbGllbnQgdG8gbW9zdCBvZlxcbiAgICAgIC8vIHRob3NlIGNhc2VzLiBFdmVuIGlmIG91ciBlcnJvciBldmVudCBoYW5kbGVyIGZpcmVzIG1vcmUgdGhhbiBvbmNlLCB0aGVcXG4gICAgICAvLyBsYXN0IGVycm9yIGV2ZW50IGlzIGFsd2F5cyB1c2VkLiBJZiB0aGUgY2FsbGJhY2sgYWN0dWFsbHkgZG9lcyBlcnJvcixcXG4gICAgICAvLyB3ZSBrbm93IHRoYXQgdGhlIGxhc3QgZXJyb3IgZXZlbnQgaXMgdGhlIGNvcnJlY3Qgb25lLCBiZWNhdXNlIGl0J3Mgbm90XFxuICAgICAgLy8gcG9zc2libGUgZm9yIGFueXRoaW5nIGVsc2UgdG8gaGF2ZSBoYXBwZW5lZCBpbiBiZXR3ZWVuIG91ciBjYWxsYmFja1xcbiAgICAgIC8vIGVycm9yaW5nIGFuZCB0aGUgY29kZSB0aGF0IGZvbGxvd3MgdGhlIGBkaXNwYXRjaEV2ZW50YCBjYWxsIGJlbG93LiBJZlxcbiAgICAgIC8vIHRoZSBjYWxsYmFjayBkb2Vzbid0IGVycm9yLCBidXQgdGhlIGVycm9yIGV2ZW50IHdhcyBmaXJlZCwgd2Uga25vdyB0b1xcbiAgICAgIC8vIGlnbm9yZSBpdCBiZWNhdXNlIGBkaWRFcnJvcmAgd2lsbCBiZSBmYWxzZSwgYXMgZGVzY3JpYmVkIGFib3ZlLlxcblxcblxcbiAgICAgIHZhciBlcnJvcjsgLy8gVXNlIHRoaXMgdG8gdHJhY2sgd2hldGhlciB0aGUgZXJyb3IgZXZlbnQgaXMgZXZlciBjYWxsZWQuXFxuXFxuICAgICAgdmFyIGRpZFNldEVycm9yID0gZmFsc2U7XFxuICAgICAgdmFyIGlzQ3Jvc3NPcmlnaW5FcnJvciA9IGZhbHNlO1xcblxcbiAgICAgIGZ1bmN0aW9uIGhhbmRsZVdpbmRvd0Vycm9yKGV2ZW50KSB7XFxuICAgICAgICBlcnJvciA9IGV2ZW50LmVycm9yO1xcbiAgICAgICAgZGlkU2V0RXJyb3IgPSB0cnVlO1xcblxcbiAgICAgICAgaWYgKGVycm9yID09PSBudWxsICYmIGV2ZW50LmNvbG5vID09PSAwICYmIGV2ZW50LmxpbmVubyA9PT0gMCkge1xcbiAgICAgICAgICBpc0Nyb3NzT3JpZ2luRXJyb3IgPSB0cnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcXG4gICAgICAgICAgLy8gU29tZSBvdGhlciBlcnJvciBoYW5kbGVyIGhhcyBwcmV2ZW50ZWQgZGVmYXVsdC5cXG4gICAgICAgICAgLy8gQnJvd3NlcnMgc2lsZW5jZSB0aGUgZXJyb3IgcmVwb3J0IGlmIHRoaXMgaGFwcGVucy5cXG4gICAgICAgICAgLy8gV2UnbGwgcmVtZW1iZXIgdGhpcyB0byBsYXRlciBkZWNpZGUgd2hldGhlciB0byBsb2cgaXQgb3Igbm90LlxcbiAgICAgICAgICBpZiAoZXJyb3IgIT0gbnVsbCAmJiB0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XFxuICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgIGVycm9yLl9zdXBwcmVzc0xvZ2dpbmcgPSB0cnVlO1xcbiAgICAgICAgICAgIH0gY2F0Y2ggKGlubmVyKSB7Ly8gSWdub3JlLlxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH0gLy8gQ3JlYXRlIGEgZmFrZSBldmVudCB0eXBlLlxcblxcblxcbiAgICAgIHZhciBldnRUeXBlID0gXFxcInJlYWN0LVxcXCIgKyAobmFtZSA/IG5hbWUgOiAnaW52b2tlZ3VhcmRlZGNhbGxiYWNrJyk7IC8vIEF0dGFjaCBvdXIgZXZlbnQgaGFuZGxlcnNcXG5cXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XFxuICAgICAgZmFrZU5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldnRUeXBlLCBjYWxsQ2FsbGJhY2ssIGZhbHNlKTsgLy8gU3luY2hyb25vdXNseSBkaXNwYXRjaCBvdXIgZmFrZSBldmVudC4gSWYgdGhlIHVzZXItcHJvdmlkZWQgZnVuY3Rpb25cXG4gICAgICAvLyBlcnJvcnMsIGl0IHdpbGwgdHJpZ2dlciBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIuXFxuXFxuICAgICAgZXZ0LmluaXRFdmVudChldnRUeXBlLCBmYWxzZSwgZmFsc2UpO1xcbiAgICAgIGZha2VOb2RlLmRpc3BhdGNoRXZlbnQoZXZ0KTtcXG5cXG4gICAgICBpZiAod2luZG93RXZlbnREZXNjcmlwdG9yKSB7XFxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZXZlbnQnLCB3aW5kb3dFdmVudERlc2NyaXB0b3IpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoZGlkRXJyb3IpIHtcXG4gICAgICAgIGlmICghZGlkU2V0RXJyb3IpIHtcXG4gICAgICAgICAgLy8gVGhlIGNhbGxiYWNrIGVycm9yZWQsIGJ1dCB0aGUgZXJyb3IgZXZlbnQgbmV2ZXIgZmlyZWQuXFxuICAgICAgICAgIGVycm9yID0gbmV3IEVycm9yKCdBbiBlcnJvciB3YXMgdGhyb3duIGluc2lkZSBvbmUgb2YgeW91ciBjb21wb25lbnRzLCBidXQgUmVhY3QgJyArIFxcXCJkb2Vzbid0IGtub3cgd2hhdCBpdCB3YXMuIFRoaXMgaXMgbGlrZWx5IGR1ZSB0byBicm93c2VyIFxcXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcXFwiUGF1c2Ugb24gJyArICdleGNlcHRpb25zXFxcIiBiZWhhdmlvciBvZiB0aGUgRGV2VG9vbHMsIHdoaWNoIHJlcXVpcmVzIHNvbWUgJyArIFxcXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXFxcIiArICd5b3VyIGJyb3dzZXIuIFRyeSB0cmlnZ2VyaW5nIHRoZSBlcnJvciBpbiBwcm9kdWN0aW9uIG1vZGUsICcgKyAnb3Igc3dpdGNoaW5nIHRvIGEgbW9kZXJuIGJyb3dzZXIuIElmIHlvdSBzdXNwZWN0IHRoYXQgdGhpcyBpcyAnICsgJ2FjdHVhbGx5IGFuIGlzc3VlIHdpdGggUmVhY3QsIHBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcXG4gICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoXFxcIkEgY3Jvc3Mtb3JpZ2luIGVycm9yIHdhcyB0aHJvd24uIFJlYWN0IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gXFxcIiArICd0aGUgYWN0dWFsIGVycm9yIG9iamVjdCBpbiBkZXZlbG9wbWVudC4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1jcm9zc29yaWdpbi1lcnJvciBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRoaXMub25FcnJvcihlcnJvcik7XFxuICAgICAgfSAvLyBSZW1vdmUgb3VyIGV2ZW50IGxpc3RlbmVyc1xcblxcblxcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcXG4gICAgfTtcXG5cXG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrSW1wbCA9IGludm9rZUd1YXJkZWRDYWxsYmFja0RldjtcXG4gIH1cXG59XFxuXFxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMSA9IGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGw7XFxuXFxudmFyIGhhc0Vycm9yID0gZmFsc2U7XFxudmFyIGNhdWdodEVycm9yID0gbnVsbDsgLy8gVXNlZCBieSBldmVudCBzeXN0ZW0gdG8gY2FwdHVyZS9yZXRocm93IHRoZSBmaXJzdCBlcnJvci5cXG5cXG52YXIgaGFzUmV0aHJvd0Vycm9yID0gZmFsc2U7XFxudmFyIHJldGhyb3dFcnJvciA9IG51bGw7XFxudmFyIHJlcG9ydGVyID0ge1xcbiAgb25FcnJvcjogZnVuY3Rpb24gKGVycm9yKSB7XFxuICAgIGhhc0Vycm9yID0gdHJ1ZTtcXG4gICAgY2F1Z2h0RXJyb3IgPSBlcnJvcjtcXG4gIH1cXG59O1xcbi8qKlxcbiAqIENhbGwgYSBmdW5jdGlvbiB3aGlsZSBndWFyZGluZyBhZ2FpbnN0IGVycm9ycyB0aGF0IGhhcHBlbnMgd2l0aGluIGl0LlxcbiAqIFJldHVybnMgYW4gZXJyb3IgaWYgaXQgdGhyb3dzLCBvdGhlcndpc2UgbnVsbC5cXG4gKlxcbiAqIEluIHByb2R1Y3Rpb24sIHRoaXMgaXMgaW1wbGVtZW50ZWQgdXNpbmcgYSB0cnktY2F0Y2guIFRoZSByZWFzb24gd2UgZG9uJ3RcXG4gKiB1c2UgYSB0cnktY2F0Y2ggZGlyZWN0bHkgaXMgc28gdGhhdCB3ZSBjYW4gc3dhcCBvdXQgYSBkaWZmZXJlbnRcXG4gKiBpbXBsZW1lbnRhdGlvbiBpbiBERVYgbW9kZS5cXG4gKlxcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXFxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaW52b2tlXFxuICogQHBhcmFtIHsqfSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIHVzZSB3aGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9uXFxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cXG4gKi9cXG5cXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xcbiAgaGFzRXJyb3IgPSBmYWxzZTtcXG4gIGNhdWdodEVycm9yID0gbnVsbDtcXG4gIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwkMS5hcHBseShyZXBvcnRlciwgYXJndW1lbnRzKTtcXG59XFxuLyoqXFxuICogU2FtZSBhcyBpbnZva2VHdWFyZGVkQ2FsbGJhY2ssIGJ1dCBpbnN0ZWFkIG9mIHJldHVybmluZyBhbiBlcnJvciwgaXQgc3RvcmVzXFxuICogaXQgaW4gYSBnbG9iYWwgc28gaXQgY2FuIGJlIHJldGhyb3duIGJ5IGByZXRocm93Q2F1Z2h0RXJyb3JgIGxhdGVyLlxcbiAqIFRPRE86IFNlZSBpZiBjYXVnaHRFcnJvciBhbmQgcmV0aHJvd0Vycm9yIGNhbiBiZSB1bmlmaWVkLlxcbiAqXFxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgb2YgdGhlIGd1YXJkIHRvIHVzZSBmb3IgbG9nZ2luZyBvciBkZWJ1Z2dpbmdcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgVGhlIGNvbnRleHQgdG8gdXNlIHdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25cXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJndW1lbnRzIGZvciBmdW5jdGlvblxcbiAqL1xcblxcbmZ1bmN0aW9uIGludm9rZUd1YXJkZWRDYWxsYmFja0FuZENhdGNoRmlyc3RFcnJvcihuYW1lLCBmdW5jLCBjb250ZXh0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XFxuICBpbnZva2VHdWFyZGVkQ2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG5cXG4gIGlmIChoYXNFcnJvcikge1xcbiAgICB2YXIgZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuXFxuICAgIGlmICghaGFzUmV0aHJvd0Vycm9yKSB7XFxuICAgICAgaGFzUmV0aHJvd0Vycm9yID0gdHJ1ZTtcXG4gICAgICByZXRocm93RXJyb3IgPSBlcnJvcjtcXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBEdXJpbmcgZXhlY3V0aW9uIG9mIGd1YXJkZWQgZnVuY3Rpb25zIHdlIHdpbGwgY2FwdHVyZSB0aGUgZmlyc3QgZXJyb3Igd2hpY2hcXG4gKiB3ZSB3aWxsIHJldGhyb3cgdG8gYmUgaGFuZGxlZCBieSB0aGUgdG9wIGxldmVsIGVycm9yIGhhbmRsZXIuXFxuICovXFxuXFxuZnVuY3Rpb24gcmV0aHJvd0NhdWdodEVycm9yKCkge1xcbiAgaWYgKGhhc1JldGhyb3dFcnJvcikge1xcbiAgICB2YXIgZXJyb3IgPSByZXRocm93RXJyb3I7XFxuICAgIGhhc1JldGhyb3dFcnJvciA9IGZhbHNlO1xcbiAgICByZXRocm93RXJyb3IgPSBudWxsO1xcbiAgICB0aHJvdyBlcnJvcjtcXG4gIH1cXG59XFxuZnVuY3Rpb24gaGFzQ2F1Z2h0RXJyb3IoKSB7XFxuICByZXR1cm4gaGFzRXJyb3I7XFxufVxcbmZ1bmN0aW9uIGNsZWFyQ2F1Z2h0RXJyb3IoKSB7XFxuICBpZiAoaGFzRXJyb3IpIHtcXG4gICAgdmFyIGVycm9yID0gY2F1Z2h0RXJyb3I7XFxuICAgIGhhc0Vycm9yID0gZmFsc2U7XFxuICAgIGNhdWdodEVycm9yID0gbnVsbDtcXG4gICAgcmV0dXJuIGVycm9yO1xcbiAgfSBlbHNlIHtcXG4gICAge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiY2xlYXJDYXVnaHRFcnJvciB3YXMgY2FsbGVkIGJ1dCBubyBlcnJvciB3YXMgY2FwdHVyZWQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSA9IG51bGw7XFxudmFyIGdldEluc3RhbmNlRnJvbU5vZGUgPSBudWxsO1xcbnZhciBnZXROb2RlRnJvbUluc3RhbmNlID0gbnVsbDtcXG5mdW5jdGlvbiBzZXRDb21wb25lbnRUcmVlKGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGVJbXBsLCBnZXRJbnN0YW5jZUZyb21Ob2RlSW1wbCwgZ2V0Tm9kZUZyb21JbnN0YW5jZUltcGwpIHtcXG4gIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUgPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlSW1wbDtcXG4gIGdldEluc3RhbmNlRnJvbU5vZGUgPSBnZXRJbnN0YW5jZUZyb21Ob2RlSW1wbDtcXG4gIGdldE5vZGVGcm9tSW5zdGFuY2UgPSBnZXROb2RlRnJvbUluc3RhbmNlSW1wbDtcXG5cXG4gIHtcXG4gICAgaWYgKCFnZXROb2RlRnJvbUluc3RhbmNlIHx8ICFnZXRJbnN0YW5jZUZyb21Ob2RlKSB7XFxuICAgICAgZXJyb3IoJ0V2ZW50UGx1Z2luVXRpbHMuc2V0Q29tcG9uZW50VHJlZSguLi4pOiBJbmplY3RlZCAnICsgJ21vZHVsZSBpcyBtaXNzaW5nIGdldE5vZGVGcm9tSW5zdGFuY2Ugb3IgZ2V0SW5zdGFuY2VGcm9tTm9kZS4nKTtcXG4gICAgfVxcbiAgfVxcbn1cXG52YXIgdmFsaWRhdGVFdmVudERpc3BhdGNoZXM7XFxuXFxue1xcbiAgdmFsaWRhdGVFdmVudERpc3BhdGNoZXMgPSBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgdmFyIGRpc3BhdGNoTGlzdGVuZXJzID0gZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzO1xcbiAgICB2YXIgZGlzcGF0Y2hJbnN0YW5jZXMgPSBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXM7XFxuICAgIHZhciBsaXN0ZW5lcnNJc0FyciA9IEFycmF5LmlzQXJyYXkoZGlzcGF0Y2hMaXN0ZW5lcnMpO1xcbiAgICB2YXIgbGlzdGVuZXJzTGVuID0gbGlzdGVuZXJzSXNBcnIgPyBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGggOiBkaXNwYXRjaExpc3RlbmVycyA/IDEgOiAwO1xcbiAgICB2YXIgaW5zdGFuY2VzSXNBcnIgPSBBcnJheS5pc0FycmF5KGRpc3BhdGNoSW5zdGFuY2VzKTtcXG4gICAgdmFyIGluc3RhbmNlc0xlbiA9IGluc3RhbmNlc0lzQXJyID8gZGlzcGF0Y2hJbnN0YW5jZXMubGVuZ3RoIDogZGlzcGF0Y2hJbnN0YW5jZXMgPyAxIDogMDtcXG5cXG4gICAgaWYgKGluc3RhbmNlc0lzQXJyICE9PSBsaXN0ZW5lcnNJc0FyciB8fCBpbnN0YW5jZXNMZW4gIT09IGxpc3RlbmVyc0xlbikge1xcbiAgICAgIGVycm9yKCdFdmVudFBsdWdpblV0aWxzOiBJbnZhbGlkIGBldmVudGAuJyk7XFxuICAgIH1cXG4gIH07XFxufVxcbi8qKlxcbiAqIERpc3BhdGNoIHRoZSBldmVudCB0byB0aGUgbGlzdGVuZXIuXFxuICogQHBhcmFtIHtTeW50aGV0aWNFdmVudH0gZXZlbnQgU3ludGhldGljRXZlbnQgdG8gaGFuZGxlXFxuICogQHBhcmFtIHtmdW5jdGlvbn0gbGlzdGVuZXIgQXBwbGljYXRpb24tbGV2ZWwgY2FsbGJhY2tcXG4gKiBAcGFyYW0geyp9IGluc3QgSW50ZXJuYWwgY29tcG9uZW50IGluc3RhbmNlXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBsaXN0ZW5lciwgaW5zdCkge1xcbiAgdmFyIHR5cGUgPSBldmVudC50eXBlIHx8ICd1bmtub3duLWV2ZW50JztcXG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBnZXROb2RlRnJvbUluc3RhbmNlKGluc3QpO1xcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKHR5cGUsIGxpc3RlbmVyLCB1bmRlZmluZWQsIGV2ZW50KTtcXG4gIGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBudWxsO1xcbn1cXG4vKipcXG4gKiBTdGFuZGFyZC9zaW1wbGUgaXRlcmF0aW9uIHRocm91Z2ggYW4gZXZlbnQncyBjb2xsZWN0ZWQgZGlzcGF0Y2hlcy5cXG4gKi9cXG5cXG5mdW5jdGlvbiBleGVjdXRlRGlzcGF0Y2hlc0luT3JkZXIoZXZlbnQpIHtcXG4gIHZhciBkaXNwYXRjaExpc3RlbmVycyA9IGV2ZW50Ll9kaXNwYXRjaExpc3RlbmVycztcXG4gIHZhciBkaXNwYXRjaEluc3RhbmNlcyA9IGV2ZW50Ll9kaXNwYXRjaEluc3RhbmNlcztcXG5cXG4gIHtcXG4gICAgdmFsaWRhdGVFdmVudERpc3BhdGNoZXMoZXZlbnQpO1xcbiAgfVxcblxcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGlzcGF0Y2hMaXN0ZW5lcnMpKSB7XFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlzcGF0Y2hMaXN0ZW5lcnMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBpZiAoZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSkge1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfSAvLyBMaXN0ZW5lcnMgYW5kIEluc3RhbmNlcyBhcmUgdHdvIHBhcmFsbGVsIGFycmF5cyB0aGF0IGFyZSBhbHdheXMgaW4gc3luYy5cXG5cXG5cXG4gICAgICBleGVjdXRlRGlzcGF0Y2goZXZlbnQsIGRpc3BhdGNoTGlzdGVuZXJzW2ldLCBkaXNwYXRjaEluc3RhbmNlc1tpXSk7XFxuICAgIH1cXG4gIH0gZWxzZSBpZiAoZGlzcGF0Y2hMaXN0ZW5lcnMpIHtcXG4gICAgZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBkaXNwYXRjaExpc3RlbmVycywgZGlzcGF0Y2hJbnN0YW5jZXMpO1xcbiAgfVxcblxcbiAgZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzID0gbnVsbDtcXG4gIGV2ZW50Ll9kaXNwYXRjaEluc3RhbmNlcyA9IG51bGw7XFxufVxcblxcbnZhciBGdW5jdGlvbkNvbXBvbmVudCA9IDA7XFxudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcXG52YXIgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCA9IDI7IC8vIEJlZm9yZSB3ZSBrbm93IHdoZXRoZXIgaXQgaXMgZnVuY3Rpb24gb3IgY2xhc3NcXG5cXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cXG5cXG52YXIgSG9zdFBvcnRhbCA9IDQ7IC8vIEEgc3VidHJlZS4gQ291bGQgYmUgYW4gZW50cnkgcG9pbnQgdG8gYSBkaWZmZXJlbnQgcmVuZGVyZXIuXFxuXFxudmFyIEhvc3RDb21wb25lbnQgPSA1O1xcbnZhciBIb3N0VGV4dCA9IDY7XFxudmFyIEZyYWdtZW50ID0gNztcXG52YXIgTW9kZSA9IDg7XFxudmFyIENvbnRleHRDb25zdW1lciA9IDk7XFxudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xcbnZhciBGb3J3YXJkUmVmID0gMTE7XFxudmFyIFByb2ZpbGVyID0gMTI7XFxudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XFxudmFyIE1lbW9Db21wb25lbnQgPSAxNDtcXG52YXIgU2ltcGxlTWVtb0NvbXBvbmVudCA9IDE1O1xcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XFxudmFyIEluY29tcGxldGVDbGFzc0NvbXBvbmVudCA9IDE3O1xcbnZhciBEZWh5ZHJhdGVkRnJhZ21lbnQgPSAxODtcXG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XFxudmFyIEZ1bmRhbWVudGFsQ29tcG9uZW50ID0gMjA7XFxudmFyIFNjb3BlQ29tcG9uZW50ID0gMjE7XFxudmFyIEJsb2NrID0gMjI7XFxuXFxuLyoqXFxuICogSW5qZWN0YWJsZSBvcmRlcmluZyBvZiBldmVudCBwbHVnaW5zLlxcbiAqL1xcbnZhciBldmVudFBsdWdpbk9yZGVyID0gbnVsbDtcXG4vKipcXG4gKiBJbmplY3RhYmxlIG1hcHBpbmcgZnJvbSBuYW1lcyB0byBldmVudCBwbHVnaW4gbW9kdWxlcy5cXG4gKi9cXG5cXG52YXIgbmFtZXNUb1BsdWdpbnMgPSB7fTtcXG4vKipcXG4gKiBSZWNvbXB1dGVzIHRoZSBwbHVnaW4gbGlzdCB1c2luZyB0aGUgaW5qZWN0ZWQgcGx1Z2lucyBhbmQgcGx1Z2luIG9yZGVyaW5nLlxcbiAqXFxuICogQHByaXZhdGVcXG4gKi9cXG5cXG5mdW5jdGlvbiByZWNvbXB1dGVQbHVnaW5PcmRlcmluZygpIHtcXG4gIGlmICghZXZlbnRQbHVnaW5PcmRlcikge1xcbiAgICAvLyBXYWl0IHVudGlsIGFuIGBldmVudFBsdWdpbk9yZGVyYCBpcyBpbmplY3RlZC5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgZm9yICh2YXIgcGx1Z2luTmFtZSBpbiBuYW1lc1RvUGx1Z2lucykge1xcbiAgICB2YXIgcGx1Z2luTW9kdWxlID0gbmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV07XFxuICAgIHZhciBwbHVnaW5JbmRleCA9IGV2ZW50UGx1Z2luT3JkZXIuaW5kZXhPZihwbHVnaW5OYW1lKTtcXG5cXG4gICAgaWYgKCEocGx1Z2luSW5kZXggPiAtMSkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IENhbm5vdCBpbmplY3QgZXZlbnQgcGx1Z2lucyB0aGF0IGRvIG5vdCBleGlzdCBpbiB0aGUgcGx1Z2luIG9yZGVyaW5nLCBgXFxcIiArIHBsdWdpbk5hbWUgKyBcXFwiYC5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChwbHVnaW5zW3BsdWdpbkluZGV4XSkge1xcbiAgICAgIGNvbnRpbnVlO1xcbiAgICB9XFxuXFxuICAgIGlmICghcGx1Z2luTW9kdWxlLmV4dHJhY3RFdmVudHMpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IEV2ZW50IHBsdWdpbnMgbXVzdCBpbXBsZW1lbnQgYW4gYGV4dHJhY3RFdmVudHNgIG1ldGhvZCwgYnV0IGBcXFwiICsgcGx1Z2luTmFtZSArIFxcXCJgIGRvZXMgbm90LlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcGx1Z2luc1twbHVnaW5JbmRleF0gPSBwbHVnaW5Nb2R1bGU7XFxuICAgIHZhciBwdWJsaXNoZWRFdmVudHMgPSBwbHVnaW5Nb2R1bGUuZXZlbnRUeXBlcztcXG5cXG4gICAgZm9yICh2YXIgZXZlbnROYW1lIGluIHB1Ymxpc2hlZEV2ZW50cykge1xcbiAgICAgIGlmICghcHVibGlzaEV2ZW50Rm9yUGx1Z2luKHB1Ymxpc2hlZEV2ZW50c1tldmVudE5hbWVdLCBwbHVnaW5Nb2R1bGUsIGV2ZW50TmFtZSkpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFdmVudFBsdWdpblJlZ2lzdHJ5OiBGYWlsZWQgdG8gcHVibGlzaCBldmVudCBgXFxcIiArIGV2ZW50TmFtZSArIFxcXCJgIGZvciBwbHVnaW4gYFxcXCIgKyBwbHVnaW5OYW1lICsgXFxcImAuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBQdWJsaXNoZXMgYW4gZXZlbnQgc28gdGhhdCBpdCBjYW4gYmUgZGlzcGF0Y2hlZCBieSB0aGUgc3VwcGxpZWQgcGx1Z2luLlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IGRpc3BhdGNoQ29uZmlnIERpc3BhdGNoIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBldmVudC5cXG4gKiBAcGFyYW0ge29iamVjdH0gUGx1Z2luTW9kdWxlIFBsdWdpbiBwdWJsaXNoaW5nIHRoZSBldmVudC5cXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBldmVudCB3YXMgc3VjY2Vzc2Z1bGx5IHB1Ymxpc2hlZC5cXG4gKiBAcHJpdmF0ZVxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHB1Ymxpc2hFdmVudEZvclBsdWdpbihkaXNwYXRjaENvbmZpZywgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpIHtcXG4gIGlmICghIWV2ZW50TmFtZURpc3BhdGNoQ29uZmlncy5oYXNPd25Qcm9wZXJ0eShldmVudE5hbWUpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IE1vcmUgdGhhbiBvbmUgcGx1Z2luIGF0dGVtcHRlZCB0byBwdWJsaXNoIHRoZSBzYW1lIGV2ZW50IG5hbWUsIGBcXFwiICsgZXZlbnROYW1lICsgXFxcImAuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICBldmVudE5hbWVEaXNwYXRjaENvbmZpZ3NbZXZlbnROYW1lXSA9IGRpc3BhdGNoQ29uZmlnO1xcbiAgdmFyIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzID0gZGlzcGF0Y2hDb25maWcucGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM7XFxuXFxuICBpZiAocGhhc2VkUmVnaXN0cmF0aW9uTmFtZXMpIHtcXG4gICAgZm9yICh2YXIgcGhhc2VOYW1lIGluIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzKSB7XFxuICAgICAgaWYgKHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzLmhhc093blByb3BlcnR5KHBoYXNlTmFtZSkpIHtcXG4gICAgICAgIHZhciBwaGFzZWRSZWdpc3RyYXRpb25OYW1lID0gcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXNbcGhhc2VOYW1lXTtcXG4gICAgICAgIHB1Ymxpc2hSZWdpc3RyYXRpb25OYW1lKHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWUsIHBsdWdpbk1vZHVsZSwgZXZlbnROYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9IGVsc2UgaWYgKGRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUpIHtcXG4gICAgcHVibGlzaFJlZ2lzdHJhdGlvbk5hbWUoZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSwgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpO1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuLyoqXFxuICogUHVibGlzaGVzIGEgcmVnaXN0cmF0aW9uIG5hbWUgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IGRpc3BhdGNoZWQgZXZlbnRzLlxcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgUmVnaXN0cmF0aW9uIG5hbWUgdG8gYWRkLlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBQbHVnaW5Nb2R1bGUgUGx1Z2luIHB1Ymxpc2hpbmcgdGhlIGV2ZW50LlxcbiAqIEBwcml2YXRlXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gcHVibGlzaFJlZ2lzdHJhdGlvbk5hbWUocmVnaXN0cmF0aW9uTmFtZSwgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpIHtcXG4gIGlmICghIXJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzW3JlZ2lzdHJhdGlvbk5hbWVdKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IE1vcmUgdGhhbiBvbmUgcGx1Z2luIGF0dGVtcHRlZCB0byBwdWJsaXNoIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBuYW1lLCBgXFxcIiArIHJlZ2lzdHJhdGlvbk5hbWUgKyBcXFwiYC5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzW3JlZ2lzdHJhdGlvbk5hbWVdID0gcGx1Z2luTW9kdWxlO1xcbiAgcmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llc1tyZWdpc3RyYXRpb25OYW1lXSA9IHBsdWdpbk1vZHVsZS5ldmVudFR5cGVzW2V2ZW50TmFtZV0uZGVwZW5kZW5jaWVzO1xcblxcbiAge1xcbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSByZWdpc3RyYXRpb25OYW1lLnRvTG93ZXJDYXNlKCk7XFxuICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXNbbG93ZXJDYXNlZE5hbWVdID0gcmVnaXN0cmF0aW9uTmFtZTtcXG5cXG4gICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWUgPT09ICdvbkRvdWJsZUNsaWNrJykge1xcbiAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMub25kYmxjbGljayA9IHJlZ2lzdHJhdGlvbk5hbWU7XFxuICAgIH1cXG4gIH1cXG59XFxuLyoqXFxuICogUmVnaXN0ZXJzIHBsdWdpbnMgc28gdGhhdCB0aGV5IGNhbiBleHRyYWN0IGFuZCBkaXNwYXRjaCBldmVudHMuXFxuICovXFxuXFxuLyoqXFxuICogT3JkZXJlZCBsaXN0IG9mIGluamVjdGVkIHBsdWdpbnMuXFxuICovXFxuXFxuXFxudmFyIHBsdWdpbnMgPSBbXTtcXG4vKipcXG4gKiBNYXBwaW5nIGZyb20gZXZlbnQgbmFtZSB0byBkaXNwYXRjaCBjb25maWdcXG4gKi9cXG5cXG52YXIgZXZlbnROYW1lRGlzcGF0Y2hDb25maWdzID0ge307XFxuLyoqXFxuICogTWFwcGluZyBmcm9tIHJlZ2lzdHJhdGlvbiBuYW1lIHRvIHBsdWdpbiBtb2R1bGVcXG4gKi9cXG5cXG52YXIgcmVnaXN0cmF0aW9uTmFtZU1vZHVsZXMgPSB7fTtcXG4vKipcXG4gKiBNYXBwaW5nIGZyb20gcmVnaXN0cmF0aW9uIG5hbWUgdG8gZXZlbnQgbmFtZVxcbiAqL1xcblxcbnZhciByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzID0ge307XFxuLyoqXFxuICogTWFwcGluZyBmcm9tIGxvd2VyY2FzZSByZWdpc3RyYXRpb24gbmFtZXMgdG8gdGhlIHByb3Blcmx5IGNhc2VkIHZlcnNpb24sXFxuICogdXNlZCB0byB3YXJuIGluIHRoZSBjYXNlIG9mIG1pc3NpbmcgZXZlbnQgaGFuZGxlcnMuIEF2YWlsYWJsZVxcbiAqIG9ubHkgaW4gdHJ1ZS5cXG4gKiBAdHlwZSB7T2JqZWN0fVxcbiAqL1xcblxcbnZhciBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzID0gIHt9IDsgLy8gVHJ1c3QgdGhlIGRldmVsb3BlciB0byBvbmx5IHVzZSBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzIGluIHRydWVcXG5cXG4vKipcXG4gKiBJbmplY3RzIGFuIG9yZGVyaW5nIG9mIHBsdWdpbnMgKGJ5IHBsdWdpbiBuYW1lKS4gVGhpcyBhbGxvd3MgdGhlIG9yZGVyaW5nXFxuICogdG8gYmUgZGVjb3VwbGVkIGZyb20gaW5qZWN0aW9uIG9mIHRoZSBhY3R1YWwgcGx1Z2lucyBzbyB0aGF0IG9yZGVyaW5nIGlzXFxuICogYWx3YXlzIGRldGVybWluaXN0aWMgcmVnYXJkbGVzcyBvZiBwYWNrYWdpbmcsIG9uLXRoZS1mbHkgaW5qZWN0aW9uLCBldGMuXFxuICpcXG4gKiBAcGFyYW0ge2FycmF5fSBJbmplY3RlZEV2ZW50UGx1Z2luT3JkZXJcXG4gKiBAaW50ZXJuYWxcXG4gKi9cXG5cXG5mdW5jdGlvbiBpbmplY3RFdmVudFBsdWdpbk9yZGVyKGluamVjdGVkRXZlbnRQbHVnaW5PcmRlcikge1xcbiAgaWYgKCEhZXZlbnRQbHVnaW5PcmRlcikge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFdmVudFBsdWdpblJlZ2lzdHJ5OiBDYW5ub3QgaW5qZWN0IGV2ZW50IHBsdWdpbiBvcmRlcmluZyBtb3JlIHRoYW4gb25jZS4gWW91IGFyZSBsaWtlbHkgdHJ5aW5nIHRvIGxvYWQgbW9yZSB0aGFuIG9uZSBjb3B5IG9mIFJlYWN0LlxcXCIgKTtcXG4gICAgfVxcbiAgfSAvLyBDbG9uZSB0aGUgb3JkZXJpbmcgc28gaXQgY2Fubm90IGJlIGR5bmFtaWNhbGx5IG11dGF0ZWQuXFxuXFxuXFxuICBldmVudFBsdWdpbk9yZGVyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoaW5qZWN0ZWRFdmVudFBsdWdpbk9yZGVyKTtcXG4gIHJlY29tcHV0ZVBsdWdpbk9yZGVyaW5nKCk7XFxufVxcbi8qKlxcbiAqIEluamVjdHMgcGx1Z2lucyB0byBiZSB1c2VkIGJ5IHBsdWdpbiBldmVudCBzeXN0ZW0uIFRoZSBwbHVnaW4gbmFtZXMgbXVzdCBiZVxcbiAqIGluIHRoZSBvcmRlcmluZyBpbmplY3RlZCBieSBgaW5qZWN0RXZlbnRQbHVnaW5PcmRlcmAuXFxuICpcXG4gKiBQbHVnaW5zIGNhbiBiZSBpbmplY3RlZCBhcyBwYXJ0IG9mIHBhZ2UgaW5pdGlhbGl6YXRpb24gb3Igb24tdGhlLWZseS5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBpbmplY3RlZE5hbWVzVG9QbHVnaW5zIE1hcCBmcm9tIG5hbWVzIHRvIHBsdWdpbiBtb2R1bGVzLlxcbiAqIEBpbnRlcm5hbFxcbiAqL1xcblxcbmZ1bmN0aW9uIGluamVjdEV2ZW50UGx1Z2luc0J5TmFtZShpbmplY3RlZE5hbWVzVG9QbHVnaW5zKSB7XFxuICB2YXIgaXNPcmRlcmluZ0RpcnR5ID0gZmFsc2U7XFxuXFxuICBmb3IgKHZhciBwbHVnaW5OYW1lIGluIGluamVjdGVkTmFtZXNUb1BsdWdpbnMpIHtcXG4gICAgaWYgKCFpbmplY3RlZE5hbWVzVG9QbHVnaW5zLmhhc093blByb3BlcnR5KHBsdWdpbk5hbWUpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIHBsdWdpbk1vZHVsZSA9IGluamVjdGVkTmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV07XFxuXFxuICAgIGlmICghbmFtZXNUb1BsdWdpbnMuaGFzT3duUHJvcGVydHkocGx1Z2luTmFtZSkgfHwgbmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV0gIT09IHBsdWdpbk1vZHVsZSkge1xcbiAgICAgIGlmICghIW5hbWVzVG9QbHVnaW5zW3BsdWdpbk5hbWVdKSB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiRXZlbnRQbHVnaW5SZWdpc3RyeTogQ2Fubm90IGluamVjdCB0d28gZGlmZmVyZW50IGV2ZW50IHBsdWdpbnMgdXNpbmcgdGhlIHNhbWUgbmFtZSwgYFxcXCIgKyBwbHVnaW5OYW1lICsgXFxcImAuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBuYW1lc1RvUGx1Z2luc1twbHVnaW5OYW1lXSA9IHBsdWdpbk1vZHVsZTtcXG4gICAgICBpc09yZGVyaW5nRGlydHkgPSB0cnVlO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAoaXNPcmRlcmluZ0RpcnR5KSB7XFxuICAgIHJlY29tcHV0ZVBsdWdpbk9yZGVyaW5nKCk7XFxuICB9XFxufVxcblxcbnZhciBjYW5Vc2VET00gPSAhISh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgIT09ICd1bmRlZmluZWQnKTtcXG5cXG52YXIgUExVR0lOX0VWRU5UX1NZU1RFTSA9IDE7XFxudmFyIElTX1JFUExBWUVEID0gMSA8PCA1O1xcbnZhciBJU19GSVJTVF9BTkNFU1RPUiA9IDEgPDwgNjtcXG5cXG52YXIgcmVzdG9yZUltcGwgPSBudWxsO1xcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcXG52YXIgcmVzdG9yZVF1ZXVlID0gbnVsbDtcXG5cXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcXG4gIC8vIFdlIHBlcmZvcm0gdGhpcyB0cmFuc2xhdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBldmVudCBsb29wIHNvIHRoYXQgd2VcXG4gIC8vIGFsd2F5cyByZWNlaXZlIHRoZSBjb3JyZWN0IGZpYmVyIGhlcmVcXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xcblxcbiAgaWYgKCFpbnRlcm5hbEluc3RhbmNlKSB7XFxuICAgIC8vIFVubW91bnRlZFxcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoISh0eXBlb2YgcmVzdG9yZUltcGwgPT09ICdmdW5jdGlvbicpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcInNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbigpIG5lZWRzIHRvIGJlIGNhbGxlZCB0byBoYW5kbGUgYSB0YXJnZXQgZm9yIGNvbnRyb2xsZWQgZXZlbnRzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHN0YXRlTm9kZSA9IGludGVybmFsSW5zdGFuY2Uuc3RhdGVOb2RlOyAvLyBHdWFyZCBhZ2FpbnN0IEZpYmVyIGJlaW5nIHVubW91bnRlZC5cXG5cXG4gIGlmIChzdGF0ZU5vZGUpIHtcXG4gICAgdmFyIF9wcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUoc3RhdGVOb2RlKTtcXG5cXG4gICAgcmVzdG9yZUltcGwoaW50ZXJuYWxJbnN0YW5jZS5zdGF0ZU5vZGUsIGludGVybmFsSW5zdGFuY2UudHlwZSwgX3Byb3BzKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc2V0UmVzdG9yZUltcGxlbWVudGF0aW9uKGltcGwpIHtcXG4gIHJlc3RvcmVJbXBsID0gaW1wbDtcXG59XFxuZnVuY3Rpb24gZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpIHtcXG4gIGlmIChyZXN0b3JlVGFyZ2V0KSB7XFxuICAgIGlmIChyZXN0b3JlUXVldWUpIHtcXG4gICAgICByZXN0b3JlUXVldWUucHVzaCh0YXJnZXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlc3RvcmVRdWV1ZSA9IFt0YXJnZXRdO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICByZXN0b3JlVGFyZ2V0ID0gdGFyZ2V0O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBuZWVkc1N0YXRlUmVzdG9yZSgpIHtcXG4gIHJldHVybiByZXN0b3JlVGFyZ2V0ICE9PSBudWxsIHx8IHJlc3RvcmVRdWV1ZSAhPT0gbnVsbDtcXG59XFxuZnVuY3Rpb24gcmVzdG9yZVN0YXRlSWZOZWVkZWQoKSB7XFxuICBpZiAoIXJlc3RvcmVUYXJnZXQpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIHRhcmdldCA9IHJlc3RvcmVUYXJnZXQ7XFxuICB2YXIgcXVldWVkVGFyZ2V0cyA9IHJlc3RvcmVRdWV1ZTtcXG4gIHJlc3RvcmVUYXJnZXQgPSBudWxsO1xcbiAgcmVzdG9yZVF1ZXVlID0gbnVsbDtcXG4gIHJlc3RvcmVTdGF0ZU9mVGFyZ2V0KHRhcmdldCk7XFxuXFxuICBpZiAocXVldWVkVGFyZ2V0cykge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZFRhcmdldHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICByZXN0b3JlU3RhdGVPZlRhcmdldChxdWV1ZWRUYXJnZXRzW2ldKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgZW5hYmxlUHJvZmlsZXJUaW1lciA9IHRydWU7IC8vIFRyYWNlIHdoaWNoIGludGVyYWN0aW9ucyB0cmlnZ2VyIGVhY2ggY29tbWl0LlxcblxcbnZhciBlbmFibGVEZXByZWNhdGVkRmxhcmVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIEhvc3QgQ29tcG9uZW50IHN1cHBvcnQuXFxuXFxudmFyIGVuYWJsZUZ1bmRhbWVudGFsQVBJID0gZmFsc2U7IC8vIEV4cGVyaW1lbnRhbCBTY29wZSBzdXBwb3J0LlxcbnZhciB3YXJuQWJvdXRTdHJpbmdSZWZzID0gZmFsc2U7XFxuXFxuLy8gdGhlIHJlbmRlcmVyLiBTdWNoIGFzIHdoZW4gd2UncmUgZGlzcGF0Y2hpbmcgZXZlbnRzIG9yIGlmIHRoaXJkIHBhcnR5XFxuLy8gbGlicmFyaWVzIG5lZWQgdG8gY2FsbCBiYXRjaGVkVXBkYXRlcy4gRXZlbnR1YWxseSwgdGhpcyBBUEkgd2lsbCBnbyBhd2F5IHdoZW5cXG4vLyBldmVyeXRoaW5nIGlzIGJhdGNoZWQgYnkgZGVmYXVsdC4gV2UnbGwgdGhlbiBoYXZlIGEgc2ltaWxhciBBUEkgdG8gb3B0LW91dCBvZlxcbi8vIHNjaGVkdWxlZCB3b3JrIGFuZCBpbnN0ZWFkIGRvIHN5bmNocm9ub3VzIHdvcmsuXFxuLy8gRGVmYXVsdHNcXG5cXG52YXIgYmF0Y2hlZFVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKGZuLCBib29ra2VlcGluZykge1xcbiAgcmV0dXJuIGZuKGJvb2trZWVwaW5nKTtcXG59O1xcblxcbnZhciBkaXNjcmV0ZVVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKGZuLCBhLCBiLCBjLCBkKSB7XFxuICByZXR1cm4gZm4oYSwgYiwgYywgZCk7XFxufTtcXG5cXG52YXIgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKCkge307XFxuXFxudmFyIGJhdGNoZWRFdmVudFVwZGF0ZXNJbXBsID0gYmF0Y2hlZFVwZGF0ZXNJbXBsO1xcbnZhciBpc0luc2lkZUV2ZW50SGFuZGxlciA9IGZhbHNlO1xcbnZhciBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gZmluaXNoRXZlbnRIYW5kbGVyKCkge1xcbiAgLy8gSGVyZSB3ZSB3YWl0IHVudGlsIGFsbCB1cGRhdGVzIGhhdmUgcHJvcGFnYXRlZCwgd2hpY2ggaXMgaW1wb3J0YW50XFxuICAvLyB3aGVuIHVzaW5nIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3aXRoaW4gbGF5ZXJzOlxcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNjk4XFxuICAvLyBUaGVuIHdlIHJlc3RvcmUgc3RhdGUgb2YgYW55IGNvbnRyb2xsZWQgY29tcG9uZW50LlxcbiAgdmFyIGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzID0gbmVlZHNTdGF0ZVJlc3RvcmUoKTtcXG5cXG4gIGlmIChjb250cm9sbGVkQ29tcG9uZW50c0hhdmVQZW5kaW5nVXBkYXRlcykge1xcbiAgICAvLyBJZiBhIGNvbnRyb2xsZWQgZXZlbnQgd2FzIGZpcmVkLCB3ZSBtYXkgbmVlZCB0byByZXN0b3JlIHRoZSBzdGF0ZSBvZlxcbiAgICAvLyB0aGUgRE9NIG5vZGUgYmFjayB0byB0aGUgY29udHJvbGxlZCB2YWx1ZS4gVGhpcyBpcyBuZWNlc3Nhcnkgd2hlbiBSZWFjdFxcbiAgICAvLyBiYWlscyBvdXQgb2YgdGhlIHVwZGF0ZSB3aXRob3V0IHRvdWNoaW5nIHRoZSBET00uXFxuICAgIGZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbCgpO1xcbiAgICByZXN0b3JlU3RhdGVJZk5lZWRlZCgpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBiYXRjaGVkVXBkYXRlcyhmbiwgYm9va2tlZXBpbmcpIHtcXG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xcbiAgICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5IGluc2lkZSBhbm90aGVyIGJhdGNoLCB3ZSBuZWVkIHRvIHdhaXQgdW50aWwgaXRcXG4gICAgLy8gZnVsbHkgY29tcGxldGVzIGJlZm9yZSByZXN0b3Jpbmcgc3RhdGUuXFxuICAgIHJldHVybiBmbihib29ra2VlcGluZyk7XFxuICB9XFxuXFxuICBpc0luc2lkZUV2ZW50SGFuZGxlciA9IHRydWU7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gYmF0Y2hlZFVwZGF0ZXNJbXBsKGZuLCBib29ra2VlcGluZyk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBpc0luc2lkZUV2ZW50SGFuZGxlciA9IGZhbHNlO1xcbiAgICBmaW5pc2hFdmVudEhhbmRsZXIoKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gYmF0Y2hlZEV2ZW50VXBkYXRlcyhmbiwgYSwgYikge1xcbiAgaWYgKGlzQmF0Y2hpbmdFdmVudFVwZGF0ZXMpIHtcXG4gICAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBpbnNpZGUgYW5vdGhlciBiYXRjaCwgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0XFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxcbiAgICByZXR1cm4gZm4oYSwgYik7XFxuICB9XFxuXFxuICBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gdHJ1ZTtcXG5cXG4gIHRyeSB7XFxuICAgIHJldHVybiBiYXRjaGVkRXZlbnRVcGRhdGVzSW1wbChmbiwgYSwgYik7XFxuICB9IGZpbmFsbHkge1xcbiAgICBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gZmFsc2U7XFxuICAgIGZpbmlzaEV2ZW50SGFuZGxlcigpO1xcbiAgfVxcbn0gLy8gVGhpcyBpcyBmb3IgdGhlIFJlYWN0IEZsYXJlIGV2ZW50IHN5c3RlbVxcbmZ1bmN0aW9uIGRpc2NyZXRlVXBkYXRlcyhmbiwgYSwgYiwgYywgZCkge1xcbiAgdmFyIHByZXZJc0luc2lkZUV2ZW50SGFuZGxlciA9IGlzSW5zaWRlRXZlbnRIYW5kbGVyO1xcbiAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSB0cnVlO1xcblxcbiAgdHJ5IHtcXG4gICAgcmV0dXJuIGRpc2NyZXRlVXBkYXRlc0ltcGwoZm4sIGEsIGIsIGMsIGQpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBwcmV2SXNJbnNpZGVFdmVudEhhbmRsZXI7XFxuXFxuICAgIGlmICghaXNJbnNpZGVFdmVudEhhbmRsZXIpIHtcXG4gICAgICBmaW5pc2hFdmVudEhhbmRsZXIoKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBmbHVzaERpc2NyZXRlVXBkYXRlc0lmTmVlZGVkKHRpbWVTdGFtcCkge1xcbiAgLy8gZXZlbnQudGltZVN0YW1wIGlzbid0IG92ZXJseSByZWxpYWJsZSBkdWUgdG8gaW5jb25zaXN0ZW5jaWVzIGluXFxuICAvLyBob3cgZGlmZmVyZW50IGJyb3dzZXJzIGhhdmUgaGlzdG9yaWNhbGx5IHByb3ZpZGVkIHRoZSB0aW1lIHN0YW1wLlxcbiAgLy8gU29tZSBicm93c2VycyBwcm92aWRlIGhpZ2gtcmVzb2x1dGlvbiB0aW1lIHN0YW1wcyBmb3IgYWxsIGV2ZW50cyxcXG4gIC8vIHNvbWUgcHJvdmlkZSBsb3ctcmVzb2x1dGlvbiB0aW1lIHN0YW1wcyBmb3IgYWxsIGV2ZW50cy4gRkYgPCA1MlxcbiAgLy8gZXZlbiBtaXhlcyBib3RoIHRpbWUgc3RhbXBzIHRvZ2V0aGVyLiBTb21lIGJyb3dzZXJzIGV2ZW4gcmVwb3J0XFxuICAvLyBuZWdhdGl2ZSB0aW1lIHN0YW1wcyBvciB0aW1lIHN0YW1wcyB0aGF0IGFyZSAwIChpT1M5KSBpbiBzb21lIGNhc2VzLlxcbiAgLy8gR2l2ZW4gd2UgYXJlIG9ubHkgY29tcGFyaW5nIHR3byB0aW1lIHN0YW1wcyB3aXRoIGVxdWFsaXR5ICghPT0pLFxcbiAgLy8gd2UgYXJlIHNhZmUgZnJvbSB0aGUgcmVzb2x1dGlvbiBkaWZmZXJlbmNlcy4gSWYgdGhlIHRpbWUgc3RhbXAgaXMgMFxcbiAgLy8gd2UgYmFpbC1vdXQgb2YgcHJldmVudGluZyB0aGUgZmx1c2gsIHdoaWNoIGNhbiBhZmZlY3Qgc2VtYW50aWNzLFxcbiAgLy8gc3VjaCBhcyBpZiBhbiBlYXJsaWVyIGZsdXNoIHJlbW92ZXMgb3IgYWRkcyBldmVudCBsaXN0ZW5lcnMgdGhhdFxcbiAgLy8gYXJlIGZpcmVkIGluIHRoZSBzdWJzZXF1ZW50IGZsdXNoLiBIb3dldmVyLCB0aGlzIGlzIHRoZSBzYW1lXFxuICAvLyBiZWhhdmlvdXIgYXMgd2UgaGFkIGJlZm9yZSB0aGlzIGNoYW5nZSwgc28gdGhlIHJpc2tzIGFyZSBsb3cuXFxuICBpZiAoIWlzSW5zaWRlRXZlbnRIYW5kbGVyICYmICghZW5hYmxlRGVwcmVjYXRlZEZsYXJlQVBJICApKSB7XFxuICAgIGZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbCgpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzZXRCYXRjaGluZ0ltcGxlbWVudGF0aW9uKF9iYXRjaGVkVXBkYXRlc0ltcGwsIF9kaXNjcmV0ZVVwZGF0ZXNJbXBsLCBfZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsLCBfYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGwpIHtcXG4gIGJhdGNoZWRVcGRhdGVzSW1wbCA9IF9iYXRjaGVkVXBkYXRlc0ltcGw7XFxuICBkaXNjcmV0ZVVwZGF0ZXNJbXBsID0gX2Rpc2NyZXRlVXBkYXRlc0ltcGw7XFxuICBmbHVzaERpc2NyZXRlVXBkYXRlc0ltcGwgPSBfZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsO1xcbiAgYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGwgPSBfYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGw7XFxufVxcblxcbnZhciBEaXNjcmV0ZUV2ZW50ID0gMDtcXG52YXIgVXNlckJsb2NraW5nRXZlbnQgPSAxO1xcbnZhciBDb250aW51b3VzRXZlbnQgPSAyO1xcblxcbi8vIEEgcmVzZXJ2ZWQgYXR0cmlidXRlLlxcbi8vIEl0IGlzIGhhbmRsZWQgYnkgUmVhY3Qgc2VwYXJhdGVseSBhbmQgc2hvdWxkbid0IGJlIHdyaXR0ZW4gdG8gdGhlIERPTS5cXG52YXIgUkVTRVJWRUQgPSAwOyAvLyBBIHNpbXBsZSBzdHJpbmcgYXR0cmlidXRlLlxcbi8vIEF0dHJpYnV0ZXMgdGhhdCBhcmVuJ3QgaW4gdGhlIHdoaXRlbGlzdCBhcmUgcHJlc3VtZWQgdG8gaGF2ZSB0aGlzIHR5cGUuXFxuXFxudmFyIFNUUklORyA9IDE7IC8vIEEgc3RyaW5nIGF0dHJpYnV0ZSB0aGF0IGFjY2VwdHMgYm9vbGVhbnMgaW4gUmVhY3QuIEluIEhUTUwsIHRoZXNlIGFyZSBjYWxsZWRcXG4vLyBcXFwiZW51bWVyYXRlZFxcXCIgYXR0cmlidXRlcyB3aXRoIFxcXCJ0cnVlXFxcIiBhbmQgXFxcImZhbHNlXFxcIiBhcyBwb3NzaWJsZSB2YWx1ZXMuXFxuLy8gV2hlbiB0cnVlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXFxcInRydWVcXFwiIHN0cmluZy5cXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgc2V0IHRvIGEgXFxcImZhbHNlXFxcIiBzdHJpbmcuXFxuXFxudmFyIEJPT0xFQU5JU0hfU1RSSU5HID0gMjsgLy8gQSByZWFsIGJvb2xlYW4gYXR0cmlidXRlLlxcbi8vIFdoZW4gdHJ1ZSwgaXQgc2hvdWxkIGJlIHByZXNlbnQgKHNldCBlaXRoZXIgdG8gYW4gZW1wdHkgc3RyaW5nIG9yIGl0cyBuYW1lKS5cXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgb21pdHRlZC5cXG5cXG52YXIgQk9PTEVBTiA9IDM7IC8vIEFuIGF0dHJpYnV0ZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGEgZmxhZyBhcyB3ZWxsIGFzIHdpdGggYSB2YWx1ZS5cXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBwcmVzZW50IChzZXQgZWl0aGVyIHRvIGFuIGVtcHR5IHN0cmluZyBvciBpdHMgbmFtZSkuXFxuLy8gV2hlbiBmYWxzZSwgaXQgc2hvdWxkIGJlIG9taXR0ZWQuXFxuLy8gRm9yIGFueSBvdGhlciB2YWx1ZSwgc2hvdWxkIGJlIHByZXNlbnQgd2l0aCB0aGF0IHZhbHVlLlxcblxcbnZhciBPVkVSTE9BREVEX0JPT0xFQU4gPSA0OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBudW1lcmljLlxcbi8vIFdoZW4gZmFsc3ksIGl0IHNob3VsZCBiZSByZW1vdmVkLlxcblxcbnZhciBOVU1FUklDID0gNTsgLy8gQW4gYXR0cmlidXRlIHRoYXQgbXVzdCBiZSBwb3NpdGl2ZSBudW1lcmljIG9yIHBhcnNlIGFzIGEgcG9zaXRpdmUgbnVtZXJpYy5cXG4vLyBXaGVuIGZhbHN5LCBpdCBzaG91bGQgYmUgcmVtb3ZlZC5cXG5cXG52YXIgUE9TSVRJVkVfTlVNRVJJQyA9IDY7XFxuXFxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xcbnZhciBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSID0gXFxcIjpBLVpfYS16XFxcXFxcXFx1MDBDMC1cXFxcXFxcXHUwMEQ2XFxcXFxcXFx1MDBEOC1cXFxcXFxcXHUwMEY2XFxcXFxcXFx1MDBGOC1cXFxcXFxcXHUwMkZGXFxcXFxcXFx1MDM3MC1cXFxcXFxcXHUwMzdEXFxcXFxcXFx1MDM3Ri1cXFxcXFxcXHUxRkZGXFxcXFxcXFx1MjAwQy1cXFxcXFxcXHUyMDBEXFxcXFxcXFx1MjA3MC1cXFxcXFxcXHUyMThGXFxcXFxcXFx1MkMwMC1cXFxcXFxcXHUyRkVGXFxcXFxcXFx1MzAwMS1cXFxcXFxcXHVEN0ZGXFxcXFxcXFx1RjkwMC1cXFxcXFxcXHVGRENGXFxcXFxcXFx1RkRGMC1cXFxcXFxcXHVGRkZEXFxcIjtcXG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cXG5cXG52YXIgQVRUUklCVVRFX05BTUVfQ0hBUiA9IEFUVFJJQlVURV9OQU1FX1NUQVJUX0NIQVIgKyBcXFwiXFxcXFxcXFwtLjAtOVxcXFxcXFxcdTAwQjdcXFxcXFxcXHUwMzAwLVxcXFxcXFxcdTAzNkZcXFxcXFxcXHUyMDNGLVxcXFxcXFxcdTIwNDBcXFwiO1xcbnZhciBST09UX0FUVFJJQlVURV9OQU1FID0gJ2RhdGEtcmVhY3Ryb290JztcXG52YXIgVkFMSURfQVRUUklCVVRFX05BTUVfUkVHRVggPSBuZXcgUmVnRXhwKCdeWycgKyBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgJ11bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJyk7XFxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG52YXIgaWxsZWdhbEF0dHJpYnV0ZU5hbWVDYWNoZSA9IHt9O1xcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcXG5mdW5jdGlvbiBpc0F0dHJpYnV0ZU5hbWVTYWZlKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbGlkYXRlZEF0dHJpYnV0ZU5hbWVDYWNoZSwgYXR0cmlidXRlTmFtZSkpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICBpZiAoVkFMSURfQVRUUklCVVRFX05BTUVfUkVHRVgudGVzdChhdHRyaWJ1dGVOYW1lKSkge1xcbiAgICB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xcblxcbiAge1xcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG5mdW5jdGlvbiBzaG91bGRJZ25vcmVBdHRyaWJ1dGUobmFtZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xcbiAgICByZXR1cm4gcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEO1xcbiAgfVxcblxcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmIChuYW1lLmxlbmd0aCA+IDIgJiYgKG5hbWVbMF0gPT09ICdvJyB8fCBuYW1lWzBdID09PSAnTycpICYmIChuYW1lWzFdID09PSAnbicgfHwgbmFtZVsxXSA9PT0gJ04nKSkge1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuZnVuY3Rpb24gc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XFxuICAgIGNhc2UgJ2Z1bmN0aW9uJzogLy8gJEZsb3dJc3N1ZSBzeW1ib2wgaXMgcGVyZmVjdGx5IHZhbGlkIGhlcmVcXG5cXG4gICAgY2FzZSAnc3ltYm9sJzpcXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXFxuICAgICAgcmV0dXJuIHRydWU7XFxuXFxuICAgIGNhc2UgJ2Jvb2xlYW4nOlxcbiAgICAgIHtcXG4gICAgICAgIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAocHJvcGVydHlJbmZvICE9PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHZhciBwcmVmaXggPSBuYW1lLnRvTG93ZXJDYXNlKCkuc2xpY2UoMCwgNSk7XFxuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcXG4gICAgc3dpdGNoIChwcm9wZXJ0eUluZm8udHlwZSkge1xcbiAgICAgIGNhc2UgQk9PTEVBTjpcXG4gICAgICAgIHJldHVybiAhdmFsdWU7XFxuXFxuICAgICAgY2FzZSBPVkVSTE9BREVEX0JPT0xFQU46XFxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IGZhbHNlO1xcblxcbiAgICAgIGNhc2UgTlVNRVJJQzpcXG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSk7XFxuXFxuICAgICAgY2FzZSBQT1NJVElWRV9OVU1FUklDOlxcbiAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA8IDE7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuZnVuY3Rpb24gZ2V0UHJvcGVydHlJbmZvKG5hbWUpIHtcXG4gIHJldHVybiBwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KG5hbWUpID8gcHJvcGVydGllc1tuYW1lXSA6IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCB0eXBlLCBtdXN0VXNlUHJvcGVydHksIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZU5hbWVzcGFjZSwgc2FuaXRpemVVUkwpIHtcXG4gIHRoaXMuYWNjZXB0c0Jvb2xlYW5zID0gdHlwZSA9PT0gQk9PTEVBTklTSF9TVFJJTkcgfHwgdHlwZSA9PT0gQk9PTEVBTiB8fCB0eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU47XFxuICB0aGlzLmF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGVOYW1lO1xcbiAgdGhpcy5hdHRyaWJ1dGVOYW1lc3BhY2UgPSBhdHRyaWJ1dGVOYW1lc3BhY2U7XFxuICB0aGlzLm11c3RVc2VQcm9wZXJ0eSA9IG11c3RVc2VQcm9wZXJ0eTtcXG4gIHRoaXMucHJvcGVydHlOYW1lID0gbmFtZTtcXG4gIHRoaXMudHlwZSA9IHR5cGU7XFxuICB0aGlzLnNhbml0aXplVVJMID0gc2FuaXRpemVVUkw7XFxufSAvLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoaXMgbGlzdCwgYmUgc3VyZSB0byBhbHNvIGFkZCB0aGVtIHRvXFxuLy8gdGhlIGBwb3NzaWJsZVN0YW5kYXJkTmFtZXNgIG1vZHVsZSB0byBlbnN1cmUgY2FzaW5nIGFuZCBpbmNvcnJlY3RcXG4vLyBuYW1lIHdhcm5pbmdzLlxcblxcblxcbnZhciBwcm9wZXJ0aWVzID0ge307IC8vIFRoZXNlIHByb3BzIGFyZSByZXNlcnZlZCBieSBSZWFjdC4gVGhleSBzaG91bGRuJ3QgYmUgd3JpdHRlbiB0byB0aGUgRE9NLlxcblxcbnZhciByZXNlcnZlZFByb3BzID0gWydjaGlsZHJlbicsICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsIC8vIFRPRE86IFRoaXMgcHJldmVudHMgdGhlIGFzc2lnbm1lbnQgb2YgZGVmYXVsdFZhbHVlIHRvIHJlZ3VsYXJcXG4vLyBlbGVtZW50cyAobm90IGp1c3QgaW5wdXRzKS4gTm93IHRoYXQgUmVhY3RET01JbnB1dCBhc3NpZ25zIHRvIHRoZVxcbi8vIGRlZmF1bHRWYWx1ZSBwcm9wZXJ0eSAtLSBkbyB3ZSBuZWVkIHRoaXM/XFxuJ2RlZmF1bHRWYWx1ZScsICdkZWZhdWx0Q2hlY2tlZCcsICdpbm5lckhUTUwnLCAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJywgJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsICdzdHlsZSddO1xcblxcbnJlc2VydmVkUHJvcHMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgUkVTRVJWRUQsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxcbiAgZmFsc2UpO1xcbn0pOyAvLyBBIGZldyBSZWFjdCBzdHJpbmcgYXR0cmlidXRlcyBoYXZlIGEgZGlmZmVyZW50IG5hbWUuXFxuLy8gVGhpcyBpcyBhIG1hcHBpbmcgZnJvbSBSZWFjdCBwcm9wIG5hbWVzIHRvIHRoZSBhdHRyaWJ1dGUgbmFtZXMuXFxuXFxuW1snYWNjZXB0Q2hhcnNldCcsICdhY2NlcHQtY2hhcnNldCddLCBbJ2NsYXNzTmFtZScsICdjbGFzcyddLCBbJ2h0bWxGb3InLCAnZm9yJ10sIFsnaHR0cEVxdWl2JywgJ2h0dHAtZXF1aXYnXV0uZm9yRWFjaChmdW5jdGlvbiAoX3JlZikge1xcbiAgdmFyIG5hbWUgPSBfcmVmWzBdLFxcbiAgICAgIGF0dHJpYnV0ZU5hbWUgPSBfcmVmWzFdO1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBhdHRyaWJ1dGVOYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIFxcXCJlbnVtZXJhdGVkXFxcIiBIVE1MIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXFxcInRydWVcXFwiIGFuZCBcXFwiZmFsc2VcXFwiLlxcbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcXG4vLyB0aGVzZSBhcmVuJ3QgYm9vbGVhbiBhdHRyaWJ1dGVzICh0aGV5IGFyZSBjb2VyY2VkIHRvIHN0cmluZ3MpLlxcblxcblsnY29udGVudEVkaXRhYmxlJywgJ2RyYWdnYWJsZScsICdzcGVsbENoZWNrJywgJ3ZhbHVlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTklTSF9TVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFRoZXNlIGFyZSBcXFwiZW51bWVyYXRlZFxcXCIgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBhY2NlcHQgXFxcInRydWVcXFwiIGFuZCBcXFwiZmFsc2VcXFwiLlxcbi8vIEluIFJlYWN0LCB3ZSBsZXQgdXNlcnMgcGFzcyBgdHJ1ZWAgYW5kIGBmYWxzZWAgZXZlbiB0aG91Z2ggdGVjaG5pY2FsbHlcXG4vLyB0aGVzZSBhcmVuJ3QgYm9vbGVhbiBhdHRyaWJ1dGVzICh0aGV5IGFyZSBjb2VyY2VkIHRvIHN0cmluZ3MpLlxcbi8vIFNpbmNlIHRoZXNlIGFyZSBTVkcgYXR0cmlidXRlcywgdGhlaXIgYXR0cmlidXRlIG5hbWVzIGFyZSBjYXNlLXNlbnNpdGl2ZS5cXG5cXG5bJ2F1dG9SZXZlcnNlJywgJ2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQnLCAnZm9jdXNhYmxlJywgJ3ByZXNlcnZlQWxwaGEnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOSVNIX1NUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFRoZXNlIGFyZSBIVE1MIGJvb2xlYW4gYXR0cmlidXRlcy5cXG5cXG5bJ2FsbG93RnVsbFNjcmVlbicsICdhc3luYycsIC8vIE5vdGU6IHRoZXJlIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgcHJldmVudHMgaXQgZnJvbSBiZWluZyB3cml0dGVuIHRvIHRoZSBET01cXG4vLyBvbiB0aGUgY2xpZW50IHNpZGUgYmVjYXVzZSB0aGUgYnJvd3NlcnMgYXJlIGluY29uc2lzdGVudC4gSW5zdGVhZCB3ZSBjYWxsIGZvY3VzKCkuXFxuJ2F1dG9Gb2N1cycsICdhdXRvUGxheScsICdjb250cm9scycsICdkZWZhdWx0JywgJ2RlZmVyJywgJ2Rpc2FibGVkJywgJ2Rpc2FibGVQaWN0dXJlSW5QaWN0dXJlJywgJ2Zvcm1Ob1ZhbGlkYXRlJywgJ2hpZGRlbicsICdsb29wJywgJ25vTW9kdWxlJywgJ25vVmFsaWRhdGUnLCAnb3BlbicsICdwbGF5c0lubGluZScsICdyZWFkT25seScsICdyZXF1aXJlZCcsICdyZXZlcnNlZCcsICdzY29wZWQnLCAnc2VhbWxlc3MnLCAvLyBNaWNyb2RhdGFcXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgQk9PTEVBTiwgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgbmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIHRoZSBmZXcgUmVhY3QgcHJvcHMgdGhhdCB3ZSBzZXQgYXMgRE9NIHByb3BlcnRpZXNcXG4vLyByYXRoZXIgdGhhbiBhdHRyaWJ1dGVzLiBUaGVzZSBhcmUgYWxsIGJvb2xlYW5zLlxcblxcblsnY2hlY2tlZCcsIC8vIE5vdGU6IGBvcHRpb24uc2VsZWN0ZWRgIGlzIG5vdCB1cGRhdGVkIGlmIGBzZWxlY3QubXVsdGlwbGVgIGlzXFxuLy8gZGlzYWJsZWQgd2l0aCBgcmVtb3ZlQXR0cmlidXRlYC4gV2UgaGF2ZSBzcGVjaWFsIGxvZ2ljIGZvciBoYW5kbGluZyB0aGlzLlxcbidtdWx0aXBsZScsICdtdXRlZCcsICdzZWxlY3RlZCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXFxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cXG5dLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHtcXG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU4sIHRydWUsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFRoZXNlIGFyZSBIVE1MIGF0dHJpYnV0ZXMgdGhhdCBhcmUgXFxcIm92ZXJsb2FkZWQgYm9vbGVhbnNcXFwiOiB0aGV5IGJlaGF2ZSBsaWtlXFxuLy8gYm9vbGVhbnMsIGJ1dCBjYW4gYWxzbyBhY2NlcHQgYSBzdHJpbmcgdmFsdWUuXFxuXFxuWydjYXB0dXJlJywgJ2Rvd25sb2FkJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93Llxcbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgcHJvcGVydGllc1tuYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQobmFtZSwgT1ZFUkxPQURFRF9CT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cXG5cXG5bJ2NvbHMnLCAncm93cycsICdzaXplJywgJ3NwYW4nIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXFxuXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgbnVtYmVycy5cXG5cXG5bJ3Jvd1NwYW4nLCAnc3RhcnQnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBOVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBuYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxcbiAgZmFsc2UpO1xcbn0pO1xcbnZhciBDQU1FTElaRSA9IC9bXFxcXC1cXFxcOl0oW2Etel0pL2c7XFxuXFxudmFyIGNhcGl0YWxpemUgPSBmdW5jdGlvbiAodG9rZW4pIHtcXG4gIHJldHVybiB0b2tlblsxXS50b1VwcGVyQ2FzZSgpO1xcbn07IC8vIFRoaXMgaXMgYSBsaXN0IG9mIGFsbCBTVkcgYXR0cmlidXRlcyB0aGF0IG5lZWQgc3BlY2lhbCBjYXNpbmcsIG5hbWVzcGFjaW5nLFxcbi8vIG9yIGJvb2xlYW4gdmFsdWUgYXNzaWdubWVudC4gUmVndWxhciBhdHRyaWJ1dGVzIHRoYXQganVzdCBhY2NlcHQgc3RyaW5nc1xcbi8vIGFuZCBoYXZlIHRoZSBzYW1lIG5hbWVzIGFyZSBvbWl0dGVkLCBqdXN0IGxpa2UgaW4gdGhlIEhUTUwgd2hpdGVsaXN0Llxcbi8vIFNvbWUgb2YgdGhlc2UgYXR0cmlidXRlcyBjYW4gYmUgaGFyZCB0byBmaW5kLiBUaGlzIGxpc3Qgd2FzIGNyZWF0ZWQgYnlcXG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXFxuXFxuXFxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXFxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcXG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXFxuICBmYWxzZSk7XFxufSk7IC8vIFN0cmluZyBTVkcgYXR0cmlidXRlcyB3aXRoIHRoZSB4bGluayBuYW1lc3BhY2UuXFxuXFxuWyd4bGluazphY3R1YXRlJywgJ3hsaW5rOmFyY3JvbGUnLCAneGxpbms6cm9sZScsICd4bGluazpzaG93JywgJ3hsaW5rOnRpdGxlJywgJ3hsaW5rOnR5cGUnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXFxuXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XFxuICB2YXIgbmFtZSA9IGF0dHJpYnV0ZU5hbWUucmVwbGFjZShDQU1FTElaRSwgY2FwaXRhbGl6ZSk7XFxuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4gIGF0dHJpYnV0ZU5hbWUsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgZmFsc2UpO1xcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeG1sIG5hbWVzcGFjZS5cXG5cXG5bJ3htbDpiYXNlJywgJ3htbDpsYW5nJywgJ3htbDpzcGFjZScgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXFxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIHZhciBuYW1lID0gYXR0cmlidXRlTmFtZS5yZXBsYWNlKENBTUVMSVpFLCBjYXBpdGFsaXplKTtcXG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgYXR0cmlidXRlTmFtZSwgJ2h0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZScsIGZhbHNlKTtcXG59KTsgLy8gVGhlc2UgYXR0cmlidXRlIGV4aXN0cyBib3RoIGluIEhUTUwgYW5kIFNWRy5cXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXFxuLy8gdGhlIFJlYWN0IG5hbWUgbGlrZSB3ZSBkbyBmb3IgYXR0cmlidXRlcyB0aGF0IGV4aXN0IG9ubHkgaW4gSFRNTC5cXG5cXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xcbiAgcHJvcGVydGllc1thdHRyaWJ1dGVOYW1lXSA9IG5ldyBQcm9wZXJ0eUluZm9SZWNvcmQoYXR0cmlidXRlTmFtZSwgU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XFxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxcbiAgZmFsc2UpO1xcbn0pOyAvLyBUaGVzZSBhdHRyaWJ1dGVzIGFjY2VwdCBVUkxzLiBUaGVzZSBtdXN0IG5vdCBhbGxvdyBqYXZhc2NyaXB0OiBVUkxTLlxcbi8vIFRoZXNlIHdpbGwgYWxzbyBuZWVkIHRvIGFjY2VwdCBUcnVzdGVkIFR5cGVzIG9iamVjdCBpbiB0aGUgZnV0dXJlLlxcblxcbnZhciB4bGlua0hyZWYgPSAneGxpbmtIcmVmJztcXG5wcm9wZXJ0aWVzW3hsaW5rSHJlZl0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKCd4bGlua0hyZWYnLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcXG4neGxpbms6aHJlZicsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgdHJ1ZSk7XFxuWydzcmMnLCAnaHJlZicsICdhY3Rpb24nLCAnZm9ybUFjdGlvbiddLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcXG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXFxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcXG4gIHRydWUpO1xcbn0pO1xcblxcbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gbnVsbDtcXG5cXG57XFxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcXG59IC8vIEEgamF2YXNjcmlwdDogVVJMIGNhbiBjb250YWluIGxlYWRpbmcgQzAgY29udHJvbCBvciBcXFxcdTAwMjAgU1BBQ0UsXFxuLy8gYW5kIGFueSBuZXdsaW5lIG9yIHRhYiBhcmUgZmlsdGVyZWQgb3V0IGFzIGlmIHRoZXkncmUgbm90IHBhcnQgb2YgdGhlIFVSTC5cXG4vLyBodHRwczovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybC1wYXJzaW5nXFxuLy8gVGFiIG9yIG5ld2xpbmUgYXJlIGRlZmluZWQgYXMgXFxcXHJcXFxcblxcXFx0Olxcbi8vIGh0dHBzOi8vaW5mcmEuc3BlYy53aGF0d2cub3JnLyNhc2NpaS10YWItb3ItbmV3bGluZVxcbi8vIEEgQzAgY29udHJvbCBpcyBhIGNvZGUgcG9pbnQgaW4gdGhlIHJhbmdlIFxcXFx1MDAwMCBOVUxMIHRvIFxcXFx1MDAxRlxcbi8vIElORk9STUFUSU9OIFNFUEFSQVRPUiBPTkUsIGluY2x1c2l2ZTpcXG4vLyBodHRwczovL2luZnJhLnNwZWMud2hhdHdnLm9yZy8jYzAtY29udHJvbC1vci1zcGFjZVxcblxcbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi9cXG5cXG5cXG52YXIgaXNKYXZhU2NyaXB0UHJvdG9jb2wgPSAvXltcXFxcdTAwMDAtXFxcXHUwMDFGIF0qaltcXFxcclxcXFxuXFxcXHRdKmFbXFxcXHJcXFxcblxcXFx0XSp2W1xcXFxyXFxcXG5cXFxcdF0qYVtcXFxcclxcXFxuXFxcXHRdKnNbXFxcXHJcXFxcblxcXFx0XSpjW1xcXFxyXFxcXG5cXFxcdF0qcltcXFxcclxcXFxuXFxcXHRdKmlbXFxcXHJcXFxcblxcXFx0XSpwW1xcXFxyXFxcXG5cXFxcdF0qdFtcXFxcclxcXFxuXFxcXHRdKlxcXFw6L2k7XFxudmFyIGRpZFdhcm4gPSBmYWxzZTtcXG5cXG5mdW5jdGlvbiBzYW5pdGl6ZVVSTCh1cmwpIHtcXG4gIHtcXG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xcbiAgICAgIGRpZFdhcm4gPSB0cnVlO1xcblxcbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vKipcXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXFxuICogVGhlIFxcXCJleHBlY3RlZFxcXCIgYXJndW1lbnQgaXMgdXNlZCBhcyBhIGhpbnQgb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgdmFsdWUgaXMuXFxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXFxuICovXFxuZnVuY3Rpb24gZ2V0VmFsdWVGb3JQcm9wZXJ0eShub2RlLCBuYW1lLCBleHBlY3RlZCwgcHJvcGVydHlJbmZvKSB7XFxuICB7XFxuICAgIGlmIChwcm9wZXJ0eUluZm8ubXVzdFVzZVByb3BlcnR5KSB7XFxuICAgICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XFxuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAoIHByb3BlcnR5SW5mby5zYW5pdGl6ZVVSTCkge1xcbiAgICAgICAgLy8gSWYgd2UgaGF2ZW4ndCBmdWxseSBkaXNhYmxlZCBqYXZhc2NyaXB0OiBVUkxzLCBhbmQgaWZcXG4gICAgICAgIC8vIHRoZSBoeWRyYXRpb24gaXMgc3VjY2Vzc2Z1bCBvZiBhIGphdmFzY3JpcHQ6IFVSTCwgd2VcXG4gICAgICAgIC8vIHN0aWxsIHdhbnQgdG8gd2FybiBvbiB0aGUgY2xpZW50LlxcbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XFxuICAgICAgdmFyIHN0cmluZ1ZhbHVlID0gbnVsbDtcXG5cXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xcbiAgICAgICAgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XFxuICAgICAgICAgIHZhciB2YWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xcblxcbiAgICAgICAgICBpZiAodmFsdWUgPT09ICcnKSB7XFxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKHNob3VsZFJlbW92ZUF0dHJpYnV0ZShuYW1lLCBleHBlY3RlZCwgcHJvcGVydHlJbmZvLCBmYWxzZSkpIHtcXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XFxuICAgICAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XFxuICAgICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xcbiAgICAgICAgICAvLyBXZSBoYWQgYW4gYXR0cmlidXRlIGJ1dCBzaG91bGRuJ3QgaGF2ZSBoYWQgb25lLCBzbyByZWFkIGl0XFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cXG4gICAgICAgICAgcmV0dXJuIG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKHByb3BlcnR5SW5mby50eXBlID09PSBCT09MRUFOKSB7XFxuICAgICAgICAgIC8vIElmIHRoaXMgd2FzIGEgYm9vbGVhbiwgaXQgZG9lc24ndCBtYXR0ZXIgd2hhdCB0aGUgdmFsdWUgaXNcXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cXG4gICAgICAgICAgcmV0dXJuIGV4cGVjdGVkO1xcbiAgICAgICAgfSAvLyBFdmVuIGlmIHRoaXMgcHJvcGVydHkgdXNlcyBhIG5hbWVzcGFjZSB3ZSB1c2UgZ2V0QXR0cmlidXRlXFxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXFxuICAgICAgICAvLyBUbyB1c2UgZ2V0QXR0cmlidXRlTlMgd2UgbmVlZCB0aGUgbG9jYWwgbmFtZSB3aGljaCB3ZSBkb24ndCBoYXZlXFxuICAgICAgICAvLyBpbiBvdXIgY29uZmlnIGF0bS5cXG5cXG5cXG4gICAgICAgIHN0cmluZ1ZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XFxuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlO1xcbiAgICAgIH0gZWxzZSBpZiAoc3RyaW5nVmFsdWUgPT09ICcnICsgZXhwZWN0ZWQpIHtcXG4gICAgICAgIHJldHVybiBleHBlY3RlZDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgcmV0dXJuIHN0cmluZ1ZhbHVlO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIGF0dHJpYnV0ZSBvbiBhIG5vZGUuIE9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxcbiAqIFRoZSB0aGlyZCBhcmd1bWVudCBpcyB1c2VkIGFzIGEgaGludCBvZiB3aGF0IHRoZSBleHBlY3RlZCB2YWx1ZSBpcy4gU29tZVxcbiAqIGF0dHJpYnV0ZXMgaGF2ZSBtdWx0aXBsZSBlcXVpdmFsZW50IHZhbHVlcy5cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRWYWx1ZUZvckF0dHJpYnV0ZShub2RlLCBuYW1lLCBleHBlY3RlZCkge1xcbiAge1xcbiAgICBpZiAoIWlzQXR0cmlidXRlTmFtZVNhZmUobmFtZSkpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaWYgKCFub2RlLmhhc0F0dHJpYnV0ZShuYW1lKSkge1xcbiAgICAgIHJldHVybiBleHBlY3RlZCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShuYW1lKTtcXG5cXG4gICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XFxuICAgICAgcmV0dXJuIGV4cGVjdGVkO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB2YWx1ZTtcXG4gIH1cXG59XFxuLyoqXFxuICogU2V0cyB0aGUgdmFsdWUgZm9yIGEgcHJvcGVydHkgb24gYSBub2RlLlxcbiAqXFxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXFxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcXG4gKiBAcGFyYW0geyp9IHZhbHVlXFxuICovXFxuXFxuZnVuY3Rpb24gc2V0VmFsdWVGb3JQcm9wZXJ0eShub2RlLCBuYW1lLCB2YWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8obmFtZSk7XFxuXFxuICBpZiAoc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XFxuICAgIHZhbHVlID0gbnVsbDtcXG4gIH0gLy8gSWYgdGhlIHByb3AgaXNuJ3QgaW4gdGhlIHNwZWNpYWwgbGlzdCwgdHJlYXQgaXQgYXMgYSBzaW1wbGUgYXR0cmlidXRlLlxcblxcblxcbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xcbiAgICBpZiAoaXNBdHRyaWJ1dGVOYW1lU2FmZShuYW1lKSkge1xcbiAgICAgIHZhciBfYXR0cmlidXRlTmFtZSA9IG5hbWU7XFxuXFxuICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XFxuICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShfYXR0cmlidXRlTmFtZSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKF9hdHRyaWJ1dGVOYW1lLCAgJycgKyB2YWx1ZSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBtdXN0VXNlUHJvcGVydHkgPSBwcm9wZXJ0eUluZm8ubXVzdFVzZVByb3BlcnR5O1xcblxcbiAgaWYgKG11c3RVc2VQcm9wZXJ0eSkge1xcbiAgICB2YXIgcHJvcGVydHlOYW1lID0gcHJvcGVydHlJbmZvLnByb3BlcnR5TmFtZTtcXG5cXG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB7XFxuICAgICAgdmFyIHR5cGUgPSBwcm9wZXJ0eUluZm8udHlwZTtcXG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBDb250cmFyeSB0byBgc2V0QXR0cmlidXRlYCwgb2JqZWN0IHByb3BlcnRpZXMgYXJlIHByb3Blcmx5XFxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxcbiAgICAgIG5vZGVbcHJvcGVydHlOYW1lXSA9IHZhbHVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybjtcXG4gIH0gLy8gVGhlIHJlc3QgYXJlIHRyZWF0ZWQgYXMgYXR0cmlidXRlcyB3aXRoIHNwZWNpYWwgY2FzZXMuXFxuXFxuXFxuICB2YXIgYXR0cmlidXRlTmFtZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lLFxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XFxuXFxuICBpZiAodmFsdWUgPT09IG51bGwpIHtcXG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgX3R5cGUgPSBwcm9wZXJ0eUluZm8udHlwZTtcXG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xcblxcbiAgICBpZiAoX3R5cGUgPT09IEJPT0xFQU4gfHwgX3R5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTiAmJiB2YWx1ZSA9PT0gdHJ1ZSkge1xcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcXG4gICAgICAvLyBhbmQgd2Ugd29uJ3QgcmVxdWlyZSBUcnVzdGVkIFR5cGUgaGVyZS5cXG4gICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIGBzZXRBdHRyaWJ1dGVgIHdpdGggb2JqZWN0cyBiZWNvbWVzIG9ubHkgYFtvYmplY3RdYCBpbiBJRTgvOSxcXG4gICAgICAvLyAoJycgKyB2YWx1ZSkgbWFrZXMgaXQgb3V0cHV0IHRoZSBjb3JyZWN0IHRvU3RyaW5nKCktdmFsdWUuXFxuICAgICAge1xcbiAgICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJyArIHZhbHVlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnNhbml0aXplVVJMKSB7XFxuICAgICAgICBzYW5pdGl6ZVVSTChhdHRyaWJ1dGVWYWx1ZS50b1N0cmluZygpKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xcbiAgICAgIG5vZGUuc2V0QXR0cmlidXRlTlMoYXR0cmlidXRlTmFtZXNwYWNlLCBhdHRyaWJ1dGVOYW1lLCBhdHRyaWJ1dGVWYWx1ZSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbnZhciBCRUZPUkVfU0xBU0hfUkUgPSAvXiguKilbXFxcXFxcXFxcXFxcL10vO1xcbmZ1bmN0aW9uIGRlc2NyaWJlQ29tcG9uZW50RnJhbWUgKG5hbWUsIHNvdXJjZSwgb3duZXJOYW1lKSB7XFxuICB2YXIgc291cmNlSW5mbyA9ICcnO1xcblxcbiAgaWYgKHNvdXJjZSkge1xcbiAgICB2YXIgcGF0aCA9IHNvdXJjZS5maWxlTmFtZTtcXG4gICAgdmFyIGZpbGVOYW1lID0gcGF0aC5yZXBsYWNlKEJFRk9SRV9TTEFTSF9SRSwgJycpO1xcblxcbiAgICB7XFxuICAgICAgLy8gSW4gREVWLCBpbmNsdWRlIGNvZGUgZm9yIGEgY29tbW9uIHNwZWNpYWwgY2FzZTpcXG4gICAgICAvLyBwcmVmZXIgXFxcImZvbGRlci9pbmRleC5qc1xcXCIgaW5zdGVhZCBvZiBqdXN0IFxcXCJpbmRleC5qc1xcXCIuXFxuICAgICAgaWYgKC9eaW5kZXhcXFxcLi8udGVzdChmaWxlTmFtZSkpIHtcXG4gICAgICAgIHZhciBtYXRjaCA9IHBhdGgubWF0Y2goQkVGT1JFX1NMQVNIX1JFKTtcXG5cXG4gICAgICAgIGlmIChtYXRjaCkge1xcbiAgICAgICAgICB2YXIgcGF0aEJlZm9yZVNsYXNoID0gbWF0Y2hbMV07XFxuXFxuICAgICAgICAgIGlmIChwYXRoQmVmb3JlU2xhc2gpIHtcXG4gICAgICAgICAgICB2YXIgZm9sZGVyTmFtZSA9IHBhdGhCZWZvcmVTbGFzaC5yZXBsYWNlKEJFRk9SRV9TTEFTSF9SRSwgJycpO1xcbiAgICAgICAgICAgIGZpbGVOYW1lID0gZm9sZGVyTmFtZSArICcvJyArIGZpbGVOYW1lO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHNvdXJjZUluZm8gPSAnIChhdCAnICsgZmlsZU5hbWUgKyAnOicgKyBzb3VyY2UubGluZU51bWJlciArICcpJztcXG4gIH0gZWxzZSBpZiAob3duZXJOYW1lKSB7XFxuICAgIHNvdXJjZUluZm8gPSAnIChjcmVhdGVkIGJ5ICcgKyBvd25lck5hbWUgKyAnKSc7XFxuICB9XFxuXFxuICByZXR1cm4gJ1xcXFxuICAgIGluICcgKyAobmFtZSB8fCAnVW5rbm93bicpICsgc291cmNlSW5mbztcXG59XFxuXFxuLy8gVGhlIFN5bWJvbCB1c2VkIHRvIHRhZyB0aGUgUmVhY3RFbGVtZW50LWxpa2UgdHlwZXMuIElmIHRoZXJlIGlzIG5vIG5hdGl2ZSBTeW1ib2xcXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXFxudmFyIGhhc1N5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcjtcXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZWxlbWVudCcpIDogMHhlYWM3O1xcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKSA6IDB4ZWFjYjtcXG52YXIgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN0cmljdF9tb2RlJykgOiAweGVhY2M7XFxudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKSA6IDB4ZWFjZDtcXG52YXIgUkVBQ1RfQ09OVEVYVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29udGV4dCcpIDogMHhlYWNlOyAvLyBUT0RPOiBXZSBkb24ndCB1c2UgQXN5bmNNb2RlIG9yIENvbmN1cnJlbnRNb2RlIGFueW1vcmUuIFRoZXkgd2VyZSB0ZW1wb3JhcnlcXG52YXIgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5jb25jdXJyZW50X21vZGUnKSA6IDB4ZWFjZjtcXG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJykgOiAweGVhZDA7XFxudmFyIFJFQUNUX1NVU1BFTlNFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZScpIDogMHhlYWQxO1xcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0JykgOiAweGVhZDg7XFxudmFyIFJFQUNUX01FTU9fVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKSA6IDB4ZWFkMztcXG52YXIgUkVBQ1RfTEFaWV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubGF6eScpIDogMHhlYWQ0O1xcbnZhciBSRUFDVF9CTE9DS19UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuYmxvY2snKSA6IDB4ZWFkOTtcXG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaXRlcmF0b3I7XFxudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xcblxcbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbnZhciBVbmluaXRpYWxpemVkID0gLTE7XFxudmFyIFBlbmRpbmcgPSAwO1xcbnZhciBSZXNvbHZlZCA9IDE7XFxudmFyIFJlamVjdGVkID0gMjtcXG5mdW5jdGlvbiByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQobGF6eUNvbXBvbmVudCkge1xcbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQgPyBsYXp5Q29tcG9uZW50Ll9yZXN1bHQgOiBudWxsO1xcbn1cXG5mdW5jdGlvbiBpbml0aWFsaXplTGF6eUNvbXBvbmVudFR5cGUobGF6eUNvbXBvbmVudCkge1xcbiAgaWYgKGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gVW5pbml0aWFsaXplZCkge1xcbiAgICBsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPSBQZW5kaW5nO1xcbiAgICB2YXIgY3RvciA9IGxhenlDb21wb25lbnQuX2N0b3I7XFxuICAgIHZhciB0aGVuYWJsZSA9IGN0b3IoKTtcXG4gICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gdGhlbmFibGU7XFxuICAgIHRoZW5hYmxlLnRoZW4oZnVuY3Rpb24gKG1vZHVsZU9iamVjdCkge1xcbiAgICAgIGlmIChsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFBlbmRpbmcpIHtcXG4gICAgICAgIHZhciBkZWZhdWx0RXhwb3J0ID0gbW9kdWxlT2JqZWN0LmRlZmF1bHQ7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIGlmIChkZWZhdWx0RXhwb3J0ID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgICBlcnJvcignbGF6eTogRXhwZWN0ZWQgdGhlIHJlc3VsdCBvZiBhIGR5bmFtaWMgaW1wb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcXFxuXFxcXG5Zb3VyIGNvZGUgc2hvdWxkIGxvb2sgbGlrZTogXFxcXG4gICcgKyBcXFwiY29uc3QgTXlDb21wb25lbnQgPSBsYXp5KCgpID0+IGltcG9ydCgnLi9NeUNvbXBvbmVudCcpKVxcXCIsIG1vZHVsZU9iamVjdCk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGxhenlDb21wb25lbnQuX3N0YXR1cyA9IFJlc29sdmVkO1xcbiAgICAgICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gZGVmYXVsdEV4cG9ydDtcXG4gICAgICB9XFxuICAgIH0sIGZ1bmN0aW9uIChlcnJvcikge1xcbiAgICAgIGlmIChsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFBlbmRpbmcpIHtcXG4gICAgICAgIGxhenlDb21wb25lbnQuX3N0YXR1cyA9IFJlamVjdGVkO1xcbiAgICAgICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gZXJyb3I7XFxuICAgICAgfVxcbiAgICB9KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZ2V0V3JhcHBlZE5hbWUob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XFxuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xcbiAgcmV0dXJuIG91dGVyVHlwZS5kaXNwbGF5TmFtZSB8fCAoZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXFxcIihcXFwiICsgZnVuY3Rpb25OYW1lICsgXFxcIilcXFwiIDogd3JhcHBlck5hbWUpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKHR5cGUpIHtcXG4gIGlmICh0eXBlID09IG51bGwpIHtcXG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAge1xcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiB0eXBlO1xcbiAgfVxcblxcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcXG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcXG5cXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcXG4gICAgICByZXR1cm4gXFxcIlByb2ZpbGVyXFxcIjtcXG5cXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcXG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcXG5cXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XFxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcXG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcXG4gICAgICAgIHJldHVybiAnQ29udGV4dC5Db25zdW1lcic7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxcbiAgICAgICAgcmV0dXJuICdDb250ZXh0LlByb3ZpZGVyJztcXG5cXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnR5cGUpO1xcblxcbiAgICAgIGNhc2UgUkVBQ1RfQkxPQ0tfVFlQRTpcXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHR5cGUucmVuZGVyKTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIHRoZW5hYmxlID0gdHlwZTtcXG4gICAgICAgICAgdmFyIHJlc29sdmVkVGhlbmFibGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQodGhlbmFibGUpO1xcblxcbiAgICAgICAgICBpZiAocmVzb2x2ZWRUaGVuYWJsZSkge1xcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHJlc29sdmVkVGhlbmFibGUpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XFxuXFxuZnVuY3Rpb24gZGVzY3JpYmVGaWJlcihmaWJlcikge1xcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcXG4gICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICBjYXNlIEZyYWdtZW50OlxcbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XFxuICAgICAgcmV0dXJuICcnO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHZhciBvd25lciA9IGZpYmVyLl9kZWJ1Z093bmVyO1xcbiAgICAgIHZhciBzb3VyY2UgPSBmaWJlci5fZGVidWdTb3VyY2U7XFxuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpO1xcbiAgICAgIHZhciBvd25lck5hbWUgPSBudWxsO1xcblxcbiAgICAgIGlmIChvd25lcikge1xcbiAgICAgICAgb3duZXJOYW1lID0gZ2V0Q29tcG9uZW50TmFtZShvd25lci50eXBlKTtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIGRlc2NyaWJlQ29tcG9uZW50RnJhbWUobmFtZSwgc291cmNlLCBvd25lck5hbWUpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2Qod29ya0luUHJvZ3Jlc3MpIHtcXG4gIHZhciBpbmZvID0gJyc7XFxuICB2YXIgbm9kZSA9IHdvcmtJblByb2dyZXNzO1xcblxcbiAgZG8ge1xcbiAgICBpbmZvICs9IGRlc2NyaWJlRmliZXIobm9kZSk7XFxuICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gIH0gd2hpbGUgKG5vZGUpO1xcblxcbiAgcmV0dXJuIGluZm87XFxufVxcbnZhciBjdXJyZW50ID0gbnVsbDtcXG52YXIgaXNSZW5kZXJpbmcgPSBmYWxzZTtcXG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHtcXG4gIHtcXG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgb3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xcblxcbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgdHlwZW9mIG93bmVyICE9PSAndW5kZWZpbmVkJykge1xcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuZnVuY3Rpb24gZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpIHtcXG4gIHtcXG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gJyc7XFxuICAgIH0gLy8gU2FmZSBiZWNhdXNlIGlmIGN1cnJlbnQgZmliZXIgZXhpc3RzLCB3ZSBhcmUgcmVjb25jaWxpbmcsXFxuICAgIC8vIGFuZCBpdCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSB3b3JrLWluLXByb2dyZXNzIHZlcnNpb24uXFxuXFxuXFxuICAgIHJldHVybiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoY3VycmVudCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc2V0Q3VycmVudEZpYmVyKCkge1xcbiAge1xcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcXG4gICAgY3VycmVudCA9IG51bGw7XFxuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHNldEN1cnJlbnRGaWJlcihmaWJlcikge1xcbiAge1xcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDEuZ2V0Q3VycmVudFN0YWNrID0gZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldjtcXG4gICAgY3VycmVudCA9IGZpYmVyO1xcbiAgICBpc1JlbmRlcmluZyA9IGZhbHNlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzZXRJc1JlbmRlcmluZyhyZW5kZXJpbmcpIHtcXG4gIHtcXG4gICAgaXNSZW5kZXJpbmcgPSByZW5kZXJpbmc7XFxuICB9XFxufVxcblxcbi8vIEZsb3cgZG9lcyBub3QgYWxsb3cgc3RyaW5nIGNvbmNhdGVuYXRpb24gb2YgbW9zdCBub24tc3RyaW5nIHR5cGVzLiBUbyB3b3JrXFxuLy8gYXJvdW5kIHRoaXMgbGltaXRhdGlvbiwgd2UgdXNlIGFuIG9wYXF1ZSB0eXBlIHRoYXQgY2FuIG9ubHkgYmUgb2J0YWluZWQgYnlcXG4vLyBwYXNzaW5nIHRoZSB2YWx1ZSB0aHJvdWdoIGdldFRvU3RyaW5nVmFsdWUgZmlyc3QuXFxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcXG4gIHJldHVybiAnJyArIHZhbHVlO1xcbn1cXG5mdW5jdGlvbiBnZXRUb1N0cmluZ1ZhbHVlKHZhbHVlKSB7XFxuICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xcbiAgICBjYXNlICdib29sZWFuJzpcXG4gICAgY2FzZSAnbnVtYmVyJzpcXG4gICAgY2FzZSAnb2JqZWN0JzpcXG4gICAgY2FzZSAnc3RyaW5nJzpcXG4gICAgY2FzZSAndW5kZWZpbmVkJzpcXG4gICAgICByZXR1cm4gdmFsdWU7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgLy8gZnVuY3Rpb24sIHN5bWJvbCBhcmUgYXNzaWduZWQgYXMgZW1wdHkgc3RyaW5nc1xcbiAgICAgIHJldHVybiAnJztcXG4gIH1cXG59XFxuXFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMiA9IG51bGw7XFxudmFyIFJlYWN0Q29udHJvbGxlZFZhbHVlUHJvcFR5cGVzID0ge1xcbiAgY2hlY2tQcm9wVHlwZXM6IG51bGxcXG59O1xcblxcbntcXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMiA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XFxuICB2YXIgaGFzUmVhZE9ubHlWYWx1ZSA9IHtcXG4gICAgYnV0dG9uOiB0cnVlLFxcbiAgICBjaGVja2JveDogdHJ1ZSxcXG4gICAgaW1hZ2U6IHRydWUsXFxuICAgIGhpZGRlbjogdHJ1ZSxcXG4gICAgcmFkaW86IHRydWUsXFxuICAgIHJlc2V0OiB0cnVlLFxcbiAgICBzdWJtaXQ6IHRydWVcXG4gIH07XFxuICB2YXIgcHJvcFR5cGVzID0ge1xcbiAgICB2YWx1ZTogZnVuY3Rpb24gKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkge1xcbiAgICAgIGlmIChoYXNSZWFkT25seVZhbHVlW3Byb3BzLnR5cGVdIHx8IHByb3BzLm9uQ2hhbmdlIHx8IHByb3BzLnJlYWRPbmx5IHx8IHByb3BzLmRpc2FibGVkIHx8IHByb3BzW3Byb3BOYW1lXSA9PSBudWxsIHx8IGVuYWJsZURlcHJlY2F0ZWRGbGFyZUFQSSApIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gbmV3IEVycm9yKCdZb3UgcHJvdmlkZWQgYSBgdmFsdWVgIHByb3AgdG8gYSBmb3JtIGZpZWxkIHdpdGhvdXQgYW4gJyArICdgb25DaGFuZ2VgIGhhbmRsZXIuIFRoaXMgd2lsbCByZW5kZXIgYSByZWFkLW9ubHkgZmllbGQuIElmICcgKyAndGhlIGZpZWxkIHNob3VsZCBiZSBtdXRhYmxlIHVzZSBgZGVmYXVsdFZhbHVlYC4gT3RoZXJ3aXNlLCAnICsgJ3NldCBlaXRoZXIgYG9uQ2hhbmdlYCBvciBgcmVhZE9ubHlgLicpO1xcbiAgICB9LFxcbiAgICBjaGVja2VkOiBmdW5jdGlvbiAocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lKSB7XFxuICAgICAgaWYgKHByb3BzLm9uQ2hhbmdlIHx8IHByb3BzLnJlYWRPbmx5IHx8IHByb3BzLmRpc2FibGVkIHx8IHByb3BzW3Byb3BOYW1lXSA9PSBudWxsIHx8IGVuYWJsZURlcHJlY2F0ZWRGbGFyZUFQSSApIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gbmV3IEVycm9yKCdZb3UgcHJvdmlkZWQgYSBgY2hlY2tlZGAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0Q2hlY2tlZGAuIE90aGVyd2lzZSwgJyArICdzZXQgZWl0aGVyIGBvbkNoYW5nZWAgb3IgYHJlYWRPbmx5YC4nKTtcXG4gICAgfVxcbiAgfTtcXG4gIC8qKlxcbiAgICogUHJvdmlkZSBhIGxpbmtlZCBgdmFsdWVgIGF0dHJpYnV0ZSBmb3IgY29udHJvbGxlZCBmb3Jtcy4gWW91IHNob3VsZCBub3QgdXNlXFxuICAgKiB0aGlzIG91dHNpZGUgb2YgdGhlIFJlYWN0RE9NIGNvbnRyb2xsZWQgZm9ybSBjb21wb25lbnRzLlxcbiAgICovXFxuXFxuICBSZWFjdENvbnRyb2xsZWRWYWx1ZVByb3BUeXBlcy5jaGVja1Byb3BUeXBlcyA9IGZ1bmN0aW9uICh0YWdOYW1lLCBwcm9wcykge1xcbiAgICBjaGVja1Byb3BUeXBlcyhwcm9wVHlwZXMsIHByb3BzLCAncHJvcCcsIHRhZ05hbWUsIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMi5nZXRTdGFja0FkZGVuZHVtKTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGlzQ2hlY2thYmxlKGVsZW0pIHtcXG4gIHZhciB0eXBlID0gZWxlbS50eXBlO1xcbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcXG4gIHJldHVybiBub2RlTmFtZSAmJiBub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnaW5wdXQnICYmICh0eXBlID09PSAnY2hlY2tib3gnIHx8IHR5cGUgPT09ICdyYWRpbycpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRUcmFja2VyKG5vZGUpIHtcXG4gIHJldHVybiBub2RlLl92YWx1ZVRyYWNrZXI7XFxufVxcblxcbmZ1bmN0aW9uIGRldGFjaFRyYWNrZXIobm9kZSkge1xcbiAgbm9kZS5fdmFsdWVUcmFja2VyID0gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0VmFsdWVGcm9tTm9kZShub2RlKSB7XFxuICB2YXIgdmFsdWUgPSAnJztcXG5cXG4gIGlmICghbm9kZSkge1xcbiAgICByZXR1cm4gdmFsdWU7XFxuICB9XFxuXFxuICBpZiAoaXNDaGVja2FibGUobm9kZSkpIHtcXG4gICAgdmFsdWUgPSBub2RlLmNoZWNrZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFsdWUgPSBub2RlLnZhbHVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHZhbHVlO1xcbn1cXG5cXG5mdW5jdGlvbiB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpIHtcXG4gIHZhciB2YWx1ZUZpZWxkID0gaXNDaGVja2FibGUobm9kZSkgPyAnY2hlY2tlZCcgOiAndmFsdWUnO1xcbiAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5vZGUuY29uc3RydWN0b3IucHJvdG90eXBlLCB2YWx1ZUZpZWxkKTtcXG4gIHZhciBjdXJyZW50VmFsdWUgPSAnJyArIG5vZGVbdmFsdWVGaWVsZF07IC8vIGlmIHNvbWVvbmUgaGFzIGFscmVhZHkgZGVmaW5lZCBhIHZhbHVlIG9yIFNhZmFyaSwgdGhlbiBiYWlsXFxuICAvLyBhbmQgZG9uJ3QgdHJhY2sgdmFsdWUgd2lsbCBjYXVzZSBvdmVyIHJlcG9ydGluZyBvZiBjaGFuZ2VzLFxcbiAgLy8gYnV0IGl0J3MgYmV0dGVyIHRoZW4gYSBoYXJkIGZhaWx1cmVcXG4gIC8vIChuZWVkZWQgZm9yIGNlcnRhaW4gdGVzdHMgdGhhdCBzcHlPbiBpbnB1dCB2YWx1ZXMgYW5kIFNhZmFyaSlcXG5cXG4gIGlmIChub2RlLmhhc093blByb3BlcnR5KHZhbHVlRmllbGQpIHx8IHR5cGVvZiBkZXNjcmlwdG9yID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5nZXQgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGRlc2NyaXB0b3Iuc2V0ICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBnZXQgPSBkZXNjcmlwdG9yLmdldCxcXG4gICAgICBzZXQgPSBkZXNjcmlwdG9yLnNldDtcXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub2RlLCB2YWx1ZUZpZWxkLCB7XFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIGdldC5jYWxsKHRoaXMpO1xcbiAgICB9LFxcbiAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xcbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XFxuICAgICAgc2V0LmNhbGwodGhpcywgdmFsdWUpO1xcbiAgICB9XFxuICB9KTsgLy8gV2UgY291bGQndmUgcGFzc2VkIHRoaXMgdGhlIGZpcnN0IHRpbWVcXG4gIC8vIGJ1dCBpdCB0cmlnZ2VycyBhIGJ1ZyBpbiBJRTExIGFuZCBFZGdlIDE0LzE1LlxcbiAgLy8gQ2FsbGluZyBkZWZpbmVQcm9wZXJ0eSgpIGFnYWluIHNob3VsZCBiZSBlcXVpdmFsZW50LlxcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTc2OFxcblxcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5vZGUsIHZhbHVlRmllbGQsIHtcXG4gICAgZW51bWVyYWJsZTogZGVzY3JpcHRvci5lbnVtZXJhYmxlXFxuICB9KTtcXG4gIHZhciB0cmFja2VyID0ge1xcbiAgICBnZXRWYWx1ZTogZnVuY3Rpb24gKCkge1xcbiAgICAgIHJldHVybiBjdXJyZW50VmFsdWU7XFxuICAgIH0sXFxuICAgIHNldFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcXG4gICAgICBjdXJyZW50VmFsdWUgPSAnJyArIHZhbHVlO1xcbiAgICB9LFxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcXG4gICAgICBkZXRhY2hUcmFja2VyKG5vZGUpO1xcbiAgICAgIGRlbGV0ZSBub2RlW3ZhbHVlRmllbGRdO1xcbiAgICB9XFxuICB9O1xcbiAgcmV0dXJuIHRyYWNrZXI7XFxufVxcblxcbmZ1bmN0aW9uIHRyYWNrKG5vZGUpIHtcXG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XFxuICAgIHJldHVybjtcXG4gIH0gLy8gVE9ETzogT25jZSBpdCdzIGp1c3QgRmliZXIgd2UgY2FuIG1vdmUgdGhpcyB0byBub2RlLl93cmFwcGVyU3RhdGVcXG5cXG5cXG4gIG5vZGUuX3ZhbHVlVHJhY2tlciA9IHRyYWNrVmFsdWVPbk5vZGUobm9kZSk7XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKG5vZGUpIHtcXG4gIGlmICghbm9kZSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XFxuICAvLyB0aGF0IHRyeWluZyBhZ2FpbiB3aWxsIHN1Y2NlZWRcXG5cXG4gIGlmICghdHJhY2tlcikge1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHZhciBsYXN0VmFsdWUgPSB0cmFja2VyLmdldFZhbHVlKCk7XFxuICB2YXIgbmV4dFZhbHVlID0gZ2V0VmFsdWVGcm9tTm9kZShub2RlKTtcXG5cXG4gIGlmIChuZXh0VmFsdWUgIT09IGxhc3RWYWx1ZSkge1xcbiAgICB0cmFja2VyLnNldFZhbHVlKG5leHRWYWx1ZSk7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG5cXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XFxudmFyIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSBmYWxzZTtcXG52YXIgZGlkV2FybkNvbnRyb2xsZWRUb1VuY29udHJvbGxlZCA9IGZhbHNlO1xcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gaXNDb250cm9sbGVkKHByb3BzKSB7XFxuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XFxuICByZXR1cm4gdXNlc0NoZWNrZWQgPyBwcm9wcy5jaGVja2VkICE9IG51bGwgOiBwcm9wcy52YWx1ZSAhPSBudWxsO1xcbn1cXG4vKipcXG4gKiBJbXBsZW1lbnRzIGFuIDxpbnB1dD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgc2V0dGluZyB0aGVzZSBvcHRpb25hbFxcbiAqIHByb3BzOiBgY2hlY2tlZGAsIGB2YWx1ZWAsIGBkZWZhdWx0Q2hlY2tlZGAsIGFuZCBgZGVmYXVsdFZhbHVlYC5cXG4gKlxcbiAqIElmIGBjaGVja2VkYCBvciBgdmFsdWVgIGFyZSBub3Qgc3VwcGxpZWQgKG9yIG51bGwvdW5kZWZpbmVkKSwgdXNlciBhY3Rpb25zXFxuICogdGhhdCBhZmZlY3QgdGhlIGNoZWNrZWQgc3RhdGUgb3IgdmFsdWUgd2lsbCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuXFxuICpcXG4gKiBJZiB0aGV5IGFyZSBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgbm90XFxuICogdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LiBJbnN0ZWFkLCB0aGUgcHJvcHMgbXVzdCBjaGFuZ2UgaW4gb3JkZXIgZm9yXFxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cXG4gKlxcbiAqIFRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgYmUgaW5pdGlhbGl6ZWQgYXMgdW5jaGVja2VkIChvciBgZGVmYXVsdENoZWNrZWRgKVxcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cXG4gKlxcbiAqIFNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEyL1dELWh0bWw1LTIwMTIxMDI1L3RoZS1pbnB1dC1lbGVtZW50Lmh0bWxcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG4gIHZhciBjaGVja2VkID0gcHJvcHMuY2hlY2tlZDtcXG5cXG4gIHZhciBob3N0UHJvcHMgPSBfYXNzaWduKHt9LCBwcm9wcywge1xcbiAgICBkZWZhdWx0Q2hlY2tlZDogdW5kZWZpbmVkLFxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcXG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcXG4gICAgY2hlY2tlZDogY2hlY2tlZCAhPSBudWxsID8gY2hlY2tlZCA6IG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZFxcbiAgfSk7XFxuXFxuICByZXR1cm4gaG9zdFByb3BzO1xcbn1cXG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlKGVsZW1lbnQsIHByb3BzKSB7XFxuICB7XFxuICAgIFJlYWN0Q29udHJvbGxlZFZhbHVlUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCdpbnB1dCcsIHByb3BzKTtcXG5cXG4gICAgaWYgKHByb3BzLmNoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0Q2hlY2tlZCAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuQ2hlY2tlZERlZmF1bHRDaGVja2VkKSB7XFxuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xcblxcbiAgICAgIGRpZFdhcm5DaGVja2VkRGVmYXVsdENoZWNrZWQgPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUpIHtcXG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYW4gaW5wdXQgb2YgdHlwZSAlcyB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdJbnB1dCBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xcblxcbiAgICAgIGRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG4gIHZhciBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWUgPT0gbnVsbCA/ICcnIDogcHJvcHMuZGVmYXVsdFZhbHVlO1xcbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xcbiAgICBpbml0aWFsQ2hlY2tlZDogcHJvcHMuY2hlY2tlZCAhPSBudWxsID8gcHJvcHMuY2hlY2tlZCA6IHByb3BzLmRlZmF1bHRDaGVja2VkLFxcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUgIT0gbnVsbCA/IHByb3BzLnZhbHVlIDogZGVmYXVsdFZhbHVlKSxcXG4gICAgY29udHJvbGxlZDogaXNDb250cm9sbGVkKHByb3BzKVxcbiAgfTtcXG59XFxuZnVuY3Rpb24gdXBkYXRlQ2hlY2tlZChlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcbiAgdmFyIGNoZWNrZWQgPSBwcm9wcy5jaGVja2VkO1xcblxcbiAgaWYgKGNoZWNrZWQgIT0gbnVsbCkge1xcbiAgICBzZXRWYWx1ZUZvclByb3BlcnR5KG5vZGUsICdjaGVja2VkJywgY2hlY2tlZCwgZmFsc2UpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiB1cGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XFxuXFxuICB7XFxuICAgIHZhciBjb250cm9sbGVkID0gaXNDb250cm9sbGVkKHByb3BzKTtcXG5cXG4gICAgaWYgKCFub2RlLl93cmFwcGVyU3RhdGUuY29udHJvbGxlZCAmJiBjb250cm9sbGVkICYmICFkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkKSB7XFxuICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGNoYW5naW5nIGFuIHVuY29udHJvbGxlZCBpbnB1dCBvZiB0eXBlICVzIHRvIGJlIGNvbnRyb2xsZWQuICcgKyAnSW5wdXQgZWxlbWVudHMgc2hvdWxkIG5vdCBzd2l0Y2ggZnJvbSB1bmNvbnRyb2xsZWQgdG8gY29udHJvbGxlZCAob3IgdmljZSB2ZXJzYSkuICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzJywgcHJvcHMudHlwZSk7XFxuXFxuICAgICAgZGlkV2FyblVuY29udHJvbGxlZFRvQ29udHJvbGxlZCA9IHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmICFjb250cm9sbGVkICYmICFkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkKSB7XFxuICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGNoYW5naW5nIGEgY29udHJvbGxlZCBpbnB1dCBvZiB0eXBlICVzIHRvIGJlIHVuY29udHJvbGxlZC4gJyArICdJbnB1dCBlbGVtZW50cyBzaG91bGQgbm90IHN3aXRjaCBmcm9tIGNvbnRyb2xsZWQgdG8gdW5jb250cm9sbGVkIChvciB2aWNlIHZlcnNhKS4gJyArICdEZWNpZGUgYmV0d2VlbiB1c2luZyBhIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkIGlucHV0ICcgKyAnZWxlbWVudCBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBjb21wb25lbnQuIE1vcmUgaW5mbzogaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBwcm9wcy50eXBlKTtcXG5cXG4gICAgICBkaWRXYXJuQ29udHJvbGxlZFRvVW5jb250cm9sbGVkID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdXBkYXRlQ2hlY2tlZChlbGVtZW50LCBwcm9wcyk7XFxuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcXG4gIHZhciB0eXBlID0gcHJvcHMudHlwZTtcXG5cXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XFxuICAgIGlmICh0eXBlID09PSAnbnVtYmVyJykge1xcbiAgICAgIGlmICh2YWx1ZSA9PT0gMCAmJiBub2RlLnZhbHVlID09PSAnJyB8fCAvLyBXZSBleHBsaWNpdGx5IHdhbnQgdG8gY29lcmNlIHRvIG51bWJlciBoZXJlIGlmIHBvc3NpYmxlLlxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxcbiAgICAgIG5vZGUudmFsdWUgIT0gdmFsdWUpIHtcXG4gICAgICAgIG5vZGUudmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKG5vZGUudmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xcbiAgICAgIG5vZGUudmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XFxuICAgIH1cXG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3N1Ym1pdCcgfHwgdHlwZSA9PT0gJ3Jlc2V0Jykge1xcbiAgICAvLyBTdWJtaXQvcmVzZXQgaW5wdXRzIG5lZWQgdGhlIGF0dHJpYnV0ZSByZW1vdmVkIGNvbXBsZXRlbHkgdG8gYXZvaWRcXG4gICAgLy8gYmxhbmstdGV4dCBidXR0b25zLlxcbiAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZSgndmFsdWUnKTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAge1xcbiAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIGNvbWVzIGZyb20gYSBjYXNjYWRlIG9mXFxuICAgIC8vIHByb3BlcnRpZXM6XFxuICAgIC8vICAxLiBUaGUgdmFsdWUgUmVhY3QgcHJvcGVydHlcXG4gICAgLy8gIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHlcXG4gICAgLy8gIDMuIE90aGVyd2lzZSB0aGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlXFxuICAgIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgndmFsdWUnKSkge1xcbiAgICAgIHNldERlZmF1bHRWYWx1ZShub2RlLCBwcm9wcy50eXBlLCB2YWx1ZSk7XFxuICAgIH0gZWxzZSBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ2RlZmF1bHRWYWx1ZScpKSB7XFxuICAgICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsIHByb3BzLnR5cGUsIGdldFRvU3RyaW5nVmFsdWUocHJvcHMuZGVmYXVsdFZhbHVlKSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgaXQgb25seSBjaGFuZ2VzIHdoZW4gaXQgbmVlZHNcXG4gICAgLy8gdG8gYmUgcmVtb3ZlZCwgc3VjaCBhcyB0cmFuc2l0aW9uaW5nIGZyb20gYSBjaGVja2JveCBpbnRvIGEgdGV4dCBpbnB1dFxcbiAgICBpZiAocHJvcHMuY2hlY2tlZCA9PSBudWxsICYmIHByb3BzLmRlZmF1bHRDaGVja2VkICE9IG51bGwpIHtcXG4gICAgICBub2RlLmRlZmF1bHRDaGVja2VkID0gISFwcm9wcy5kZWZhdWx0Q2hlY2tlZDtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyKGVsZW1lbnQsIHByb3BzLCBpc0h5ZHJhdGluZykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBEbyBub3QgYXNzaWduIHZhbHVlIGlmIGl0IGlzIGFscmVhZHkgc2V0LiBUaGlzIHByZXZlbnRzIHVzZXIgdGV4dCBpbnB1dFxcbiAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxcblxcbiAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpIHx8IHByb3BzLmhhc093blByb3BlcnR5KCdkZWZhdWx0VmFsdWUnKSkge1xcbiAgICB2YXIgdHlwZSA9IHByb3BzLnR5cGU7XFxuICAgIHZhciBpc0J1dHRvbiA9IHR5cGUgPT09ICdzdWJtaXQnIHx8IHR5cGUgPT09ICdyZXNldCc7IC8vIEF2b2lkIHNldHRpbmcgdmFsdWUgYXR0cmlidXRlIG9uIHN1Ym1pdC9yZXNldCBpbnB1dHMgYXMgaXQgb3ZlcnJpZGVzIHRoZVxcbiAgICAvLyBkZWZhdWx0IHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSBicm93c2VyLiBTZWU6ICMxMjg3MlxcblxcbiAgICBpZiAoaXNCdXR0b24gJiYgKHByb3BzLnZhbHVlID09PSB1bmRlZmluZWQgfHwgcHJvcHMudmFsdWUgPT09IG51bGwpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciBpbml0aWFsVmFsdWUgPSB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKTsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcXG4gICAgLy8gZnJvbSBiZWluZyBsb3N0IGR1cmluZyBTU1IgaHlkcmF0aW9uLlxcblxcbiAgICBpZiAoIWlzSHlkcmF0aW5nKSB7XFxuICAgICAge1xcbiAgICAgICAgLy8gV2hlbiBzeW5jaW5nIHRoZSB2YWx1ZSBhdHRyaWJ1dGUsIHRoZSB2YWx1ZSBwcm9wZXJ0eSBzaG91bGQgdXNlXFxuICAgICAgICAvLyB0aGUgd3JhcHBlclN0YXRlLl9pbml0aWFsVmFsdWUgcHJvcGVydHkuIFRoaXMgdXNlczpcXG4gICAgICAgIC8vXFxuICAgICAgICAvLyAgIDEuIFRoZSB2YWx1ZSBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcXG4gICAgICAgIC8vICAgMi4gVGhlIGRlZmF1bHRWYWx1ZSBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcXG4gICAgICAgIC8vICAgMy4gQW4gZW1wdHkgc3RyaW5nXFxuICAgICAgICBpZiAoaW5pdGlhbFZhbHVlICE9PSBub2RlLnZhbHVlKSB7XFxuICAgICAgICAgIG5vZGUudmFsdWUgPSBpbml0aWFsVmFsdWU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICAvLyBPdGhlcndpc2UsIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXMgc3luY2hyb25pemVkIHRvIHRoZSBwcm9wZXJ0eSxcXG4gICAgICAvLyBzbyB3ZSBhc3NpZ24gZGVmYXVsdFZhbHVlIHRvIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSB2YWx1ZSBwcm9wZXJ0eVxcbiAgICAgIC8vIGFzc2lnbm1lbnQgc3RlcCBhYm92ZS5cXG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IGluaXRpYWxWYWx1ZTtcXG4gICAgfVxcbiAgfSAvLyBOb3JtYWxseSwgd2UnZCBqdXN0IGRvIGBub2RlLmNoZWNrZWQgPSBub2RlLmNoZWNrZWRgIHVwb24gaW5pdGlhbCBtb3VudCwgbGVzcyB0aGlzIGJ1Z1xcbiAgLy8gdGhpcyBpcyBuZWVkZWQgdG8gd29yayBhcm91bmQgYSBjaHJvbWUgYnVnIHdoZXJlIHNldHRpbmcgZGVmYXVsdENoZWNrZWRcXG4gIC8vIHdpbGwgc29tZXRpbWVzIGluZmx1ZW5jZSB0aGUgdmFsdWUgb2YgY2hlY2tlZCAoZXZlbiBhZnRlciBkZXRhY2htZW50KS5cXG4gIC8vIFJlZmVyZW5jZTogaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NjA4NDE2XFxuICAvLyBXZSBuZWVkIHRvIHRlbXBvcmFyaWx5IHVuc2V0IG5hbWUgdG8gYXZvaWQgZGlzcnVwdGluZyByYWRpbyBidXR0b24gZ3JvdXBzLlxcblxcblxcbiAgdmFyIG5hbWUgPSBub2RlLm5hbWU7XFxuXFxuICBpZiAobmFtZSAhPT0gJycpIHtcXG4gICAgbm9kZS5uYW1lID0gJyc7XFxuICB9XFxuXFxuICB7XFxuICAgIC8vIFdoZW4gc3luY2luZyB0aGUgY2hlY2tlZCBhdHRyaWJ1dGUsIGJvdGggdGhlIGNoZWNrZWQgcHJvcGVydHkgYW5kXFxuICAgIC8vIGF0dHJpYnV0ZSBhcmUgYXNzaWduZWQgYXQgdGhlIHNhbWUgdGltZSB1c2luZyBkZWZhdWx0Q2hlY2tlZC4gVGhpcyB1c2VzOlxcbiAgICAvL1xcbiAgICAvLyAgIDEuIFRoZSBjaGVja2VkIFJlYWN0IHByb3BlcnR5IHdoZW4gcHJlc2VudFxcbiAgICAvLyAgIDIuIFRoZSBkZWZhdWx0Q2hlY2tlZCBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcXG4gICAgLy8gICAzLiBPdGhlcndpc2UsIGZhbHNlXFxuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhbm9kZS5kZWZhdWx0Q2hlY2tlZDtcXG4gICAgbm9kZS5kZWZhdWx0Q2hlY2tlZCA9ICEhbm9kZS5fd3JhcHBlclN0YXRlLmluaXRpYWxDaGVja2VkO1xcbiAgfVxcblxcbiAgaWYgKG5hbWUgIT09ICcnKSB7XFxuICAgIG5vZGUubmFtZSA9IG5hbWU7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG4gIHVwZGF0ZVdyYXBwZXIobm9kZSwgcHJvcHMpO1xcbiAgdXBkYXRlTmFtZWRDb3VzaW5zKG5vZGUsIHByb3BzKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlTmFtZWRDb3VzaW5zKHJvb3ROb2RlLCBwcm9wcykge1xcbiAgdmFyIG5hbWUgPSBwcm9wcy5uYW1lO1xcblxcbiAgaWYgKHByb3BzLnR5cGUgPT09ICdyYWRpbycgJiYgbmFtZSAhPSBudWxsKSB7XFxuICAgIHZhciBxdWVyeVJvb3QgPSByb290Tm9kZTtcXG5cXG4gICAgd2hpbGUgKHF1ZXJ5Um9vdC5wYXJlbnROb2RlKSB7XFxuICAgICAgcXVlcnlSb290ID0gcXVlcnlSb290LnBhcmVudE5vZGU7XFxuICAgIH0gLy8gSWYgYHJvb3ROb2RlLmZvcm1gIHdhcyBub24tbnVsbCwgdGhlbiB3ZSBjb3VsZCB0cnkgYGZvcm0uZWxlbWVudHNgLFxcbiAgICAvLyBidXQgdGhhdCBzb21ldGltZXMgYmVoYXZlcyBzdHJhbmdlbHkgaW4gSUU4LiBXZSBjb3VsZCBhbHNvIHRyeSB1c2luZ1xcbiAgICAvLyBgZm9ybS5nZXRFbGVtZW50c0J5TmFtZWAsIGJ1dCB0aGF0IHdpbGwgb25seSByZXR1cm4gZGlyZWN0IGNoaWxkcmVuXFxuICAgIC8vIGFuZCB3b24ndCBpbmNsdWRlIGlucHV0cyB0aGF0IHVzZSB0aGUgSFRNTDUgYGZvcm09YCBhdHRyaWJ1dGUuIFNpbmNlXFxuICAgIC8vIHRoZSBpbnB1dCBtaWdodCBub3QgZXZlbiBiZSBpbiBhIGZvcm0uIEl0IG1pZ2h0IG5vdCBldmVuIGJlIGluIHRoZVxcbiAgICAvLyBkb2N1bWVudC4gTGV0J3MganVzdCB1c2UgdGhlIGxvY2FsIGBxdWVyeVNlbGVjdG9yQWxsYCB0byBlbnN1cmUgd2UgZG9uJ3RcXG4gICAgLy8gbWlzcyBhbnl0aGluZy5cXG5cXG5cXG4gICAgdmFyIGdyb3VwID0gcXVlcnlSb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9JyArIEpTT04uc3RyaW5naWZ5KCcnICsgbmFtZSkgKyAnXVt0eXBlPVxcXCJyYWRpb1xcXCJdJyk7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZ3JvdXAubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgb3RoZXJOb2RlID0gZ3JvdXBbaV07XFxuXFxuICAgICAgaWYgKG90aGVyTm9kZSA9PT0gcm9vdE5vZGUgfHwgb3RoZXJOb2RlLmZvcm0gIT09IHJvb3ROb2RlLmZvcm0pIHtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH0gLy8gVGhpcyB3aWxsIHRocm93IGlmIHJhZGlvIGJ1dHRvbnMgcmVuZGVyZWQgYnkgZGlmZmVyZW50IGNvcGllcyBvZiBSZWFjdFxcbiAgICAgIC8vIGFuZCB0aGUgc2FtZSBuYW1lIGFyZSByZW5kZXJlZCBpbnRvIHRoZSBzYW1lIGZvcm0gKHNhbWUgYXMgIzE5MzkpLlxcbiAgICAgIC8vIFRoYXQncyBwcm9iYWJseSBva2F5OyB3ZSBkb24ndCBzdXBwb3J0IGl0IGp1c3QgYXMgd2UgZG9uJ3Qgc3VwcG9ydFxcbiAgICAgIC8vIG1peGluZyBSZWFjdCByYWRpbyBidXR0b25zIHdpdGggbm9uLVJlYWN0IG9uZXMuXFxuXFxuXFxuICAgICAgdmFyIG90aGVyUHJvcHMgPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlJDEob3RoZXJOb2RlKTtcXG5cXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJSZWFjdERPTUlucHV0OiBNaXhpbmcgUmVhY3QgYW5kIG5vbi1SZWFjdCByYWRpbyBpbnB1dHMgd2l0aCB0aGUgc2FtZSBgbmFtZWAgaXMgbm90IHN1cHBvcnRlZC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfSAvLyBXZSBuZWVkIHVwZGF0ZSB0aGUgdHJhY2tlZCB2YWx1ZSBvbiB0aGUgbmFtZWQgY291c2luIHNpbmNlIHRoZSB2YWx1ZVxcbiAgICAgIC8vIHdhcyBjaGFuZ2VkIGJ1dCB0aGUgaW5wdXQgc2F3IG5vIGV2ZW50IG9yIHZhbHVlIHNldFxcblxcblxcbiAgICAgIHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKG90aGVyTm9kZSk7IC8vIElmIHRoaXMgaXMgYSBjb250cm9sbGVkIHJhZGlvIGJ1dHRvbiBncm91cCwgZm9yY2luZyB0aGUgaW5wdXQgdGhhdFxcbiAgICAgIC8vIHdhcyBwcmV2aW91c2x5IGNoZWNrZWQgdG8gdXBkYXRlIHdpbGwgY2F1c2UgaXQgdG8gYmUgY29tZSByZS1jaGVja2VkXFxuICAgICAgLy8gYXMgYXBwcm9wcmlhdGUuXFxuXFxuICAgICAgdXBkYXRlV3JhcHBlcihvdGhlck5vZGUsIG90aGVyUHJvcHMpO1xcbiAgICB9XFxuICB9XFxufSAvLyBJbiBDaHJvbWUsIGFzc2lnbmluZyBkZWZhdWx0VmFsdWUgdG8gY2VydGFpbiBpbnB1dCB0eXBlcyB0cmlnZ2VycyBpbnB1dCB2YWxpZGF0aW9uLlxcbi8vIEZvciBudW1iZXIgaW5wdXRzLCB0aGUgZGlzcGxheSB2YWx1ZSBsb3NlcyB0cmFpbGluZyBkZWNpbWFsIHBvaW50cy4gRm9yIGVtYWlsIGlucHV0cyxcXG4vLyBDaHJvbWUgcmFpc2VzIFxcXCJUaGUgc3BlY2lmaWVkIHZhbHVlIDx4PiBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzXFxcIi5cXG4vL1xcbi8vIEhlcmUgd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBkZWZhdWx0VmFsdWUgaGFzIGFjdHVhbGx5IGNoYW5nZWQsIGF2b2lkaW5nIHRoZXNlIHByb2JsZW1zXFxuLy8gd2hlbiB0aGUgdXNlciBpcyBpbnB1dHRpbmcgdGV4dFxcbi8vXFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy83MjUzXFxuXFxuXFxuZnVuY3Rpb24gc2V0RGVmYXVsdFZhbHVlKG5vZGUsIHR5cGUsIHZhbHVlKSB7XFxuICBpZiAoIC8vIEZvY3VzZWQgbnVtYmVyIGlucHV0cyBzeW5jaHJvbml6ZSBvbiBibHVyLiBTZWUgQ2hhbmdlRXZlbnRQbHVnaW4uanNcXG4gIHR5cGUgIT09ICdudW1iZXInIHx8IG5vZGUub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBub2RlKSB7XFxuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XFxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKTtcXG4gICAgfSBlbHNlIGlmIChub2RlLmRlZmF1bHRWYWx1ZSAhPT0gdG9TdHJpbmcodmFsdWUpKSB7XFxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIGRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uID0gZmFsc2U7XFxudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcXG5cXG5mdW5jdGlvbiBmbGF0dGVuQ2hpbGRyZW4oY2hpbGRyZW4pIHtcXG4gIHZhciBjb250ZW50ID0gJyc7IC8vIEZsYXR0ZW4gY2hpbGRyZW4uIFdlJ2xsIHdhcm4gaWYgdGhleSBhcmUgaW52YWxpZFxcbiAgLy8gZHVyaW5nIHZhbGlkYXRlUHJvcHMoKSB3aGljaCBydW5zIGZvciBoeWRyYXRpb24gdG9vLlxcbiAgLy8gTm90ZSB0aGF0IHRoaXMgd291bGQgdGhyb3cgb24gbm9uLWVsZW1lbnQgb2JqZWN0cy5cXG4gIC8vIEVsZW1lbnRzIGFyZSBzdHJpbmdpZmllZCAod2hpY2ggaXMgbm9ybWFsbHkgaXJyZWxldmFudFxcbiAgLy8gYnV0IG1hdHRlcnMgZm9yIDxmYnQ+KS5cXG5cXG4gIFJlYWN0LkNoaWxkcmVuLmZvckVhY2goY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xcbiAgICBpZiAoY2hpbGQgPT0gbnVsbCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBjb250ZW50ICs9IGNoaWxkOyAvLyBOb3RlOiB3ZSBkb24ndCB3YXJuIGFib3V0IGludmFsaWQgY2hpbGRyZW4gaGVyZS5cXG4gICAgLy8gSW5zdGVhZCwgdGhpcyBpcyBkb25lIHNlcGFyYXRlbHkgYmVsb3cgc28gdGhhdFxcbiAgICAvLyBpdCBoYXBwZW5zIGR1cmluZyB0aGUgaHlkcmF0aW9uIGNvZGVwYXRoIHRvby5cXG4gIH0pO1xcbiAgcmV0dXJuIGNvbnRlbnQ7XFxufVxcbi8qKlxcbiAqIEltcGxlbWVudHMgYW4gPG9wdGlvbj4gaG9zdCBjb21wb25lbnQgdGhhdCB3YXJucyB3aGVuIGBzZWxlY3RlZGAgaXMgc2V0LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHtcXG4gICAgLy8gVGhpcyBtaXJyb3JzIHRoZSBjb2RlcGF0aCBhYm92ZSwgYnV0IHJ1bnMgZm9yIGh5ZHJhdGlvbiB0b28uXFxuICAgIC8vIFdhcm4gYWJvdXQgaW52YWxpZCBjaGlsZHJlbiBoZXJlIHNvIHRoYXQgY2xpZW50IGFuZCBoeWRyYXRpb24gYXJlIGNvbnNpc3RlbnQuXFxuICAgIC8vIFRPRE86IHRoaXMgc2VlbXMgbGlrZSBpdCBjb3VsZCBjYXVzZSBhIERFVi1vbmx5IHRocm93IGZvciBoeWRyYXRpb25cXG4gICAgLy8gaWYgY2hpbGRyZW4gY29udGFpbnMgYSBub24tZWxlbWVudCBvYmplY3QuIFdlIHNob3VsZCB0cnkgdG8gYXZvaWQgdGhhdC5cXG4gICAgaWYgKHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ29iamVjdCcgJiYgcHJvcHMuY2hpbGRyZW4gIT09IG51bGwpIHtcXG4gICAgICBSZWFjdC5DaGlsZHJlbi5mb3JFYWNoKHByb3BzLmNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQpIHtcXG4gICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmICh0eXBlb2YgY2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBjaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKHR5cGVvZiBjaGlsZC50eXBlICE9PSAnc3RyaW5nJykge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoIWRpZFdhcm5JbnZhbGlkQ2hpbGQpIHtcXG4gICAgICAgICAgZGlkV2FybkludmFsaWRDaGlsZCA9IHRydWU7XFxuXFxuICAgICAgICAgIGVycm9yKCdPbmx5IHN0cmluZ3MgYW5kIG51bWJlcnMgYXJlIHN1cHBvcnRlZCBhcyA8b3B0aW9uPiBjaGlsZHJlbi4nKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgfSAvLyBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3IgYHNlbGVjdGVkYCBpbiA8b3B0aW9uPi5cXG5cXG5cXG4gICAgaWYgKHByb3BzLnNlbGVjdGVkICE9IG51bGwgJiYgIWRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uKSB7XFxuICAgICAgZXJyb3IoJ1VzZSB0aGUgYGRlZmF1bHRWYWx1ZWAgb3IgYHZhbHVlYCBwcm9wcyBvbiA8c2VsZWN0PiBpbnN0ZWFkIG9mICcgKyAnc2V0dGluZyBgc2VsZWN0ZWRgIG9uIDxvcHRpb24+LicpO1xcblxcbiAgICAgIGRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBwb3N0TW91bnRXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpIHtcXG4gIC8vIHZhbHVlPVxcXCJcXFwiIHNob3VsZCBtYWtlIGEgdmFsdWUgYXR0cmlidXRlICgjNjIxOSlcXG4gIGlmIChwcm9wcy52YWx1ZSAhPSBudWxsKSB7XFxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRvU3RyaW5nKGdldFRvU3RyaW5nVmFsdWUocHJvcHMudmFsdWUpKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldEhvc3RQcm9wcyQxKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgaG9zdFByb3BzID0gX2Fzc2lnbih7XFxuICAgIGNoaWxkcmVuOiB1bmRlZmluZWRcXG4gIH0sIHByb3BzKTtcXG5cXG4gIHZhciBjb250ZW50ID0gZmxhdHRlbkNoaWxkcmVuKHByb3BzLmNoaWxkcmVuKTtcXG5cXG4gIGlmIChjb250ZW50KSB7XFxuICAgIGhvc3RQcm9wcy5jaGlsZHJlbiA9IGNvbnRlbnQ7XFxuICB9XFxuXFxuICByZXR1cm4gaG9zdFByb3BzO1xcbn1cXG5cXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDE7XFxuXFxue1xcbiAgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xcbiAgdmFyIG93bmVyTmFtZSA9IGdldEN1cnJlbnRGaWJlck93bmVyTmFtZUluRGV2T3JOdWxsKCk7XFxuXFxuICBpZiAob3duZXJOYW1lKSB7XFxuICAgIHJldHVybiAnXFxcXG5cXFxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcXG4gIH1cXG5cXG4gIHJldHVybiAnJztcXG59XFxuXFxudmFyIHZhbHVlUHJvcE5hbWVzID0gWyd2YWx1ZScsICdkZWZhdWx0VmFsdWUnXTtcXG4vKipcXG4gKiBWYWxpZGF0aW9uIGZ1bmN0aW9uIGZvciBgdmFsdWVgIGFuZCBgZGVmYXVsdFZhbHVlYC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcykge1xcbiAge1xcbiAgICBSZWFjdENvbnRyb2xsZWRWYWx1ZVByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygnc2VsZWN0JywgcHJvcHMpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIHByb3BOYW1lID0gdmFsdWVQcm9wTmFtZXNbaV07XFxuXFxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XFxuICAgICAgICBjb250aW51ZTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KHByb3BzW3Byb3BOYW1lXSk7XFxuXFxuICAgICAgaWYgKHByb3BzLm11bHRpcGxlICYmICFpc0FycmF5KSB7XFxuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGFuIGFycmF5IGlmICcgKyAnYG11bHRpcGxlYCBpcyB0cnVlLiVzJywgcHJvcE5hbWUsIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpKTtcXG4gICAgICB9IGVsc2UgaWYgKCFwcm9wcy5tdWx0aXBsZSAmJiBpc0FycmF5KSB7XFxuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XFxuICB2YXIgb3B0aW9ucyA9IG5vZGUub3B0aW9ucztcXG5cXG4gIGlmIChtdWx0aXBsZSkge1xcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZXMgPSBwcm9wVmFsdWU7XFxuICAgIHZhciBzZWxlY3RlZFZhbHVlID0ge307XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAvLyBQcmVmaXggdG8gYXZvaWQgY2hhb3Mgd2l0aCBzcGVjaWFsIGtleXMuXFxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xcbiAgICAgIHZhciBzZWxlY3RlZCA9IHNlbGVjdGVkVmFsdWUuaGFzT3duUHJvcGVydHkoJyQnICsgb3B0aW9uc1tfaV0udmFsdWUpO1xcblxcbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcXG4gICAgICAgIG9wdGlvbnNbX2ldLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzZWxlY3RlZCAmJiBzZXREZWZhdWx0U2VsZWN0ZWQpIHtcXG4gICAgICAgIG9wdGlvbnNbX2ldLmRlZmF1bHRTZWxlY3RlZCA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxcbiAgICAvLyBicm93c2VycyBmb3IgYWxsIGNhc2VzLlxcbiAgICB2YXIgX3NlbGVjdGVkVmFsdWUgPSB0b1N0cmluZyhnZXRUb1N0cmluZ1ZhbHVlKHByb3BWYWx1ZSkpO1xcblxcbiAgICB2YXIgZGVmYXVsdFNlbGVjdGVkID0gbnVsbDtcXG5cXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XFxuICAgICAgaWYgKG9wdGlvbnNbX2kyXS52YWx1ZSA9PT0gX3NlbGVjdGVkVmFsdWUpIHtcXG4gICAgICAgIG9wdGlvbnNbX2kyXS5zZWxlY3RlZCA9IHRydWU7XFxuXFxuICAgICAgICBpZiAoc2V0RGVmYXVsdFNlbGVjdGVkKSB7XFxuICAgICAgICAgIG9wdGlvbnNbX2kyXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoZGVmYXVsdFNlbGVjdGVkID09PSBudWxsICYmICFvcHRpb25zW19pMl0uZGlzYWJsZWQpIHtcXG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGRlZmF1bHRTZWxlY3RlZCAhPT0gbnVsbCkge1xcbiAgICAgIGRlZmF1bHRTZWxlY3RlZC5zZWxlY3RlZCA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG59XFxuLyoqXFxuICogSW1wbGVtZW50cyBhIDxzZWxlY3Q+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIG9wdGlvbmFsbHkgc2V0dGluZyB0aGVcXG4gKiBwcm9wcyBgdmFsdWVgIGFuZCBgZGVmYXVsdFZhbHVlYC4gSWYgYG11bHRpcGxlYCBpcyBmYWxzZSwgdGhlIHByb3AgbXVzdCBiZSBhXFxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxcbiAqXFxuICogSWYgYHZhbHVlYCBpcyBub3Qgc3VwcGxpZWQgKG9yIG51bGwvdW5kZWZpbmVkKSwgdXNlciBhY3Rpb25zIHRoYXQgY2hhbmdlIHRoZVxcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cXG4gKlxcbiAqIElmIGl0IGlzIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIG9wdGlvbnMgd2lsbCBub3RcXG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXFxuICogb3JkZXIgZm9yIHRoZSByZW5kZXJlZCBvcHRpb25zIHRvIHVwZGF0ZS5cXG4gKlxcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxcbiAqIHNlbGVjdGVkLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGdldEhvc3RQcm9wcyQyKGVsZW1lbnQsIHByb3BzKSB7XFxuICByZXR1cm4gX2Fzc2lnbih7fSwgcHJvcHMsIHtcXG4gICAgdmFsdWU6IHVuZGVmaW5lZFxcbiAgfSk7XFxufVxcbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcblxcbiAge1xcbiAgICBjaGVja1NlbGVjdFByb3BUeXBlcyhwcm9wcyk7XFxuICB9XFxuXFxuICBub2RlLl93cmFwcGVyU3RhdGUgPSB7XFxuICAgIHdhc011bHRpcGxlOiAhIXByb3BzLm11bHRpcGxlXFxuICB9O1xcblxcbiAge1xcbiAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlJDEpIHtcXG4gICAgICBlcnJvcignU2VsZWN0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBzZWxlY3QgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnKTtcXG5cXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQyKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XFxuICBub2RlLm11bHRpcGxlID0gISFwcm9wcy5tdWx0aXBsZTtcXG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xcblxcbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcXG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xcbiAgfSBlbHNlIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLmRlZmF1bHRWYWx1ZSwgdHJ1ZSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHBvc3RVcGRhdGVXcmFwcGVyKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XFxuICB2YXIgd2FzTXVsdGlwbGUgPSBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7XFxuICBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XFxuXFxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XFxuICB9IGVsc2UgaWYgKHdhc011bHRpcGxlICE9PSAhIXByb3BzLm11bHRpcGxlKSB7XFxuICAgIC8vIEZvciBzaW1wbGljaXR5LCByZWFwcGx5IGBkZWZhdWx0VmFsdWVgIGlmIGBtdWx0aXBsZWAgaXMgdG9nZ2xlZC5cXG4gICAgaWYgKHByb3BzLmRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XFxuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5kZWZhdWx0VmFsdWUsIHRydWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFJldmVydCB0aGUgc2VsZWN0IGJhY2sgdG8gaXRzIGRlZmF1bHQgdW5zZWxlY3RlZCBzdGF0ZS5cXG4gICAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLm11bHRpcGxlID8gW10gOiAnJywgZmFsc2UpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMShlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XFxuXFxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XFxuICB9XFxufVxcblxcbnZhciBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IGZhbHNlO1xcblxcbi8qKlxcbiAqIEltcGxlbWVudHMgYSA8dGV4dGFyZWE+IGhvc3QgY29tcG9uZW50IHRoYXQgYWxsb3dzIHNldHRpbmcgYHZhbHVlYCwgYW5kXFxuICogYGRlZmF1bHRWYWx1ZWAuIFRoaXMgZGlmZmVycyBmcm9tIHRoZSB0cmFkaXRpb25hbCBET00gQVBJIGJlY2F1c2UgdmFsdWUgaXNcXG4gKiB1c3VhbGx5IHNldCBhcyBQQ0RBVEEgY2hpbGRyZW4uXFxuICpcXG4gKiBJZiBgdmFsdWVgIGlzIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnMgdGhhdCBhZmZlY3QgdGhlXFxuICogdmFsdWUgd2lsbCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuXFxuICpcXG4gKiBJZiBgdmFsdWVgIGlzIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbFxcbiAqIG5vdCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuIEluc3RlYWQsIHRoZSBgdmFsdWVgIHByb3AgbXVzdCBjaGFuZ2UgaW5cXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cXG4gKlxcbiAqIFRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgYmUgaW5pdGlhbGl6ZWQgd2l0aCBhbiBlbXB0eSB2YWx1ZSwgdGhlIHByb3BcXG4gKiBgZGVmYXVsdFZhbHVlYCBpZiBzcGVjaWZpZWQsIG9yIHRoZSBjaGlsZHJlbiBjb250ZW50IChkZXByZWNhdGVkKS5cXG4gKi9cXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMyhlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcblxcbiAgaWYgKCEocHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPT0gbnVsbCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYCBkb2VzIG5vdCBtYWtlIHNlbnNlIG9uIDx0ZXh0YXJlYT4uXFxcIiApO1xcbiAgICB9XFxuICB9IC8vIEFsd2F5cyBzZXQgY2hpbGRyZW4gdG8gdGhlIHNhbWUgdGhpbmcuIEluIElFOSwgdGhlIHNlbGVjdGlvbiByYW5nZSB3aWxsXFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcXG4gIC8vIHRvIG9ubHkgc2V0IHRoZSB2YWx1ZSBpZi93aGVuIHRoZSB2YWx1ZSBkaWZmZXJzIGZyb20gdGhlIG5vZGUgdmFsdWUgKHdoaWNoIHdvdWxkXFxuICAvLyBjb21wbGV0ZWx5IHNvbHZlIHRoaXMgSUU5IGJ1ZyksIGJ1dCBTZWJhc3RpYW4rU29waGllIHNlZW1lZCB0byBsaWtlIHRoaXNcXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxcbiAgLy8gdG8gYmUgYSBzdHJpbmcuXFxuXFxuXFxuICB2YXIgaG9zdFByb3BzID0gX2Fzc2lnbih7fSwgcHJvcHMsIHtcXG4gICAgdmFsdWU6IHVuZGVmaW5lZCxcXG4gICAgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQsXFxuICAgIGNoaWxkcmVuOiB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKVxcbiAgfSk7XFxuXFxuICByZXR1cm4gaG9zdFByb3BzO1xcbn1cXG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDIoZWxlbWVudCwgcHJvcHMpIHtcXG4gIHZhciBub2RlID0gZWxlbWVudDtcXG5cXG4gIHtcXG4gICAgUmVhY3RDb250cm9sbGVkVmFsdWVQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoJ3RleHRhcmVhJywgcHJvcHMpO1xcblxcbiAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblZhbERlZmF1bHRWYWwpIHtcXG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYSB0ZXh0YXJlYSB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdUZXh0YXJlYSBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgdGV4dGFyZWEgJyArICdhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzJywgZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKSB8fCAnQSBjb21wb25lbnQnKTtcXG5cXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBpbml0aWFsVmFsdWUgPSBwcm9wcy52YWx1ZTsgLy8gT25seSBib3RoZXIgZmV0Y2hpbmcgZGVmYXVsdCB2YWx1ZSBpZiB3ZSdyZSBnb2luZyB0byB1c2UgaXRcXG5cXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xcbiAgICB2YXIgY2hpbGRyZW4gPSBwcm9wcy5jaGlsZHJlbixcXG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IHByb3BzLmRlZmF1bHRWYWx1ZTtcXG5cXG4gICAgaWYgKGNoaWxkcmVuICE9IG51bGwpIHtcXG4gICAgICB7XFxuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XFxuICAgICAgfVxcblxcbiAgICAgIHtcXG4gICAgICAgIGlmICghKGRlZmF1bHRWYWx1ZSA9PSBudWxsKSkge1xcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJZiB5b3Ugc3VwcGx5IGBkZWZhdWx0VmFsdWVgIG9uIGEgPHRleHRhcmVhPiwgZG8gbm90IHBhc3MgY2hpbGRyZW4uXFxcIiApO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcXG4gICAgICAgICAgaWYgKCEoY2hpbGRyZW4ubGVuZ3RoIDw9IDEpKSB7XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCI8dGV4dGFyZWE+IGNhbiBvbmx5IGhhdmUgYXQgbW9zdCBvbmUgY2hpbGQuXFxcIiApO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuWzBdO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gY2hpbGRyZW47XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChkZWZhdWx0VmFsdWUgPT0gbnVsbCkge1xcbiAgICAgIGRlZmF1bHRWYWx1ZSA9ICcnO1xcbiAgICB9XFxuXFxuICAgIGluaXRpYWxWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcXG4gIH1cXG5cXG4gIG5vZGUuX3dyYXBwZXJTdGF0ZSA9IHtcXG4gICAgaW5pdGlhbFZhbHVlOiBnZXRUb1N0cmluZ1ZhbHVlKGluaXRpYWxWYWx1ZSlcXG4gIH07XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZVdyYXBwZXIkMShlbGVtZW50LCBwcm9wcykge1xcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XFxuICB2YXIgZGVmYXVsdFZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy5kZWZhdWx0VmFsdWUpO1xcblxcbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcXG4gICAgLy8gQ2FzdCBgdmFsdWVgIHRvIGEgc3RyaW5nIHRvIGVuc3VyZSB0aGUgdmFsdWUgaXMgc2V0IGNvcnJlY3RseS4gV2hpbGVcXG4gICAgLy8gYnJvd3NlcnMgdHlwaWNhbGx5IGRvIHRoaXMgYXMgbmVjZXNzYXJ5LCBqc2RvbSBkb2Vzbid0LlxcbiAgICB2YXIgbmV3VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7IC8vIFRvIGF2b2lkIHNpZGUgZWZmZWN0cyAoc3VjaCBhcyBsb3NpbmcgdGV4dCBzZWxlY3Rpb24pLCBvbmx5IHNldCB2YWx1ZSBpZiBjaGFuZ2VkXFxuXFxuICAgIGlmIChuZXdWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xcbiAgICAgIG5vZGUudmFsdWUgPSBuZXdWYWx1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlID09IG51bGwgJiYgbm9kZS5kZWZhdWx0VmFsdWUgIT09IG5ld1ZhbHVlKSB7XFxuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSBuZXdWYWx1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGRlZmF1bHRWYWx1ZSAhPSBudWxsKSB7XFxuICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gdG9TdHJpbmcoZGVmYXVsdFZhbHVlKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQzKGVsZW1lbnQsIHByb3BzKSB7XFxuICB2YXIgbm9kZSA9IGVsZW1lbnQ7IC8vIFRoaXMgaXMgaW4gcG9zdE1vdW50IGJlY2F1c2Ugd2UgbmVlZCBhY2Nlc3MgdG8gdGhlIERPTSBub2RlLCB3aGljaCBpcyBub3RcXG4gIC8vIGF2YWlsYWJsZSB1bnRpbCBhZnRlciB0aGUgY29tcG9uZW50IGhhcyBtb3VudGVkLlxcblxcbiAgdmFyIHRleHRDb250ZW50ID0gbm9kZS50ZXh0Q29udGVudDsgLy8gT25seSBzZXQgbm9kZS52YWx1ZSBpZiB0ZXh0Q29udGVudCBpcyBlcXVhbCB0byB0aGUgZXhwZWN0ZWRcXG4gIC8vIGluaXRpYWwgdmFsdWUuIEluIElFMTAvSUUxMSB0aGVyZSBpcyBhIGJ1ZyB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlXFxuICAvLyB3aWxsIHBvcHVsYXRlIHRleHRDb250ZW50IGFzIHdlbGwuXFxuICAvLyBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy8xMDE1MjUvXFxuXFxuICBpZiAodGV4dENvbnRlbnQgPT09IG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpIHtcXG4gICAgaWYgKHRleHRDb250ZW50ICE9PSAnJyAmJiB0ZXh0Q29udGVudCAhPT0gbnVsbCkge1xcbiAgICAgIG5vZGUudmFsdWUgPSB0ZXh0Q29udGVudDtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDIoZWxlbWVudCwgcHJvcHMpIHtcXG4gIC8vIERPTSBjb21wb25lbnQgaXMgc3RpbGwgbW91bnRlZDsgdXBkYXRlXFxuICB1cGRhdGVXcmFwcGVyJDEoZWxlbWVudCwgcHJvcHMpO1xcbn1cXG5cXG52YXIgSFRNTF9OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCc7XFxudmFyIE1BVEhfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnO1xcbnZhciBTVkdfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcXG52YXIgTmFtZXNwYWNlcyA9IHtcXG4gIGh0bWw6IEhUTUxfTkFNRVNQQUNFLFxcbiAgbWF0aG1sOiBNQVRIX05BTUVTUEFDRSxcXG4gIHN2ZzogU1ZHX05BTUVTUEFDRVxcbn07IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cXG5cXG5mdW5jdGlvbiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSkge1xcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgJ3N2Zyc6XFxuICAgICAgcmV0dXJuIFNWR19OQU1FU1BBQ0U7XFxuXFxuICAgIGNhc2UgJ21hdGgnOlxcbiAgICAgIHJldHVybiBNQVRIX05BTUVTUEFDRTtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gSFRNTF9OQU1FU1BBQ0U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldENoaWxkTmFtZXNwYWNlKHBhcmVudE5hbWVzcGFjZSwgdHlwZSkge1xcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcXG4gICAgLy8gTm8gKG9yIGRlZmF1bHQpIHBhcmVudCBuYW1lc3BhY2U6IHBvdGVudGlhbCBlbnRyeSBwb2ludC5cXG4gICAgcmV0dXJuIGdldEludHJpbnNpY05hbWVzcGFjZSh0eXBlKTtcXG4gIH1cXG5cXG4gIGlmIChwYXJlbnROYW1lc3BhY2UgPT09IFNWR19OQU1FU1BBQ0UgJiYgdHlwZSA9PT0gJ2ZvcmVpZ25PYmplY3QnKSB7XFxuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxcbiAgICByZXR1cm4gSFRNTF9OQU1FU1BBQ0U7XFxuICB9IC8vIEJ5IGRlZmF1bHQsIHBhc3MgbmFtZXNwYWNlIGJlbG93LlxcblxcblxcbiAgcmV0dXJuIHBhcmVudE5hbWVzcGFjZTtcXG59XFxuXFxuLyogZ2xvYmFscyBNU0FwcCAqL1xcblxcbi8qKlxcbiAqIENyZWF0ZSBhIGZ1bmN0aW9uIHdoaWNoIGhhcyAndW5zYWZlJyBwcml2aWxlZ2VzIChyZXF1aXJlZCBieSB3aW5kb3dzOCBhcHBzKVxcbiAqL1xcbnZhciBjcmVhdGVNaWNyb3NvZnRVbnNhZmVMb2NhbEZ1bmN0aW9uID0gZnVuY3Rpb24gKGZ1bmMpIHtcXG4gIGlmICh0eXBlb2YgTVNBcHAgIT09ICd1bmRlZmluZWQnICYmIE1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKSB7XFxuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xcbiAgICAgIE1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uICgpIHtcXG4gICAgICAgIHJldHVybiBmdW5jKGFyZzAsIGFyZzEsIGFyZzIsIGFyZzMpO1xcbiAgICAgIH0pO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuIGZ1bmM7XFxuICB9XFxufTtcXG5cXG52YXIgcmV1c2FibGVTVkdDb250YWluZXI7XFxuLyoqXFxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXFxuICpcXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IG5vZGVcXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxcbiAqIEBpbnRlcm5hbFxcbiAqL1xcblxcbnZhciBzZXRJbm5lckhUTUwgPSBjcmVhdGVNaWNyb3NvZnRVbnNhZmVMb2NhbEZ1bmN0aW9uKGZ1bmN0aW9uIChub2RlLCBodG1sKSB7XFxuICBpZiAobm9kZS5uYW1lc3BhY2VVUkkgPT09IE5hbWVzcGFjZXMuc3ZnKSB7XFxuXFxuICAgIGlmICghKCdpbm5lckhUTUwnIGluIG5vZGUpKSB7XFxuICAgICAgLy8gSUUgZG9lcyBub3QgaGF2ZSBpbm5lckhUTUwgZm9yIFNWRyBub2Rlcywgc28gaW5zdGVhZCB3ZSBpbmplY3QgdGhlXFxuICAgICAgLy8gbmV3IG1hcmt1cCBpbiBhIHRlbXAgbm9kZSBhbmQgdGhlbiBtb3ZlIHRoZSBjaGlsZCBub2RlcyBhY3Jvc3MgaW50b1xcbiAgICAgIC8vIHRoZSB0YXJnZXQgbm9kZVxcbiAgICAgIHJldXNhYmxlU1ZHQ29udGFpbmVyID0gcmV1c2FibGVTVkdDb250YWluZXIgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XFxuICAgICAgcmV1c2FibGVTVkdDb250YWluZXIuaW5uZXJIVE1MID0gJzxzdmc+JyArIGh0bWwudmFsdWVPZigpLnRvU3RyaW5nKCkgKyAnPC9zdmc+JztcXG4gICAgICB2YXIgc3ZnTm9kZSA9IHJldXNhYmxlU1ZHQ29udGFpbmVyLmZpcnN0Q2hpbGQ7XFxuXFxuICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkge1xcbiAgICAgICAgbm9kZS5yZW1vdmVDaGlsZChub2RlLmZpcnN0Q2hpbGQpO1xcbiAgICAgIH1cXG5cXG4gICAgICB3aGlsZSAoc3ZnTm9kZS5maXJzdENoaWxkKSB7XFxuICAgICAgICBub2RlLmFwcGVuZENoaWxkKHN2Z05vZGUuZmlyc3RDaGlsZCk7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcbiAgfVxcblxcbiAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xcbn0pO1xcblxcbi8qKlxcbiAqIEhUTUwgbm9kZVR5cGUgdmFsdWVzIHRoYXQgcmVwcmVzZW50IHRoZSB0eXBlIG9mIHRoZSBub2RlXFxuICovXFxudmFyIEVMRU1FTlRfTk9ERSA9IDE7XFxudmFyIFRFWFRfTk9ERSA9IDM7XFxudmFyIENPTU1FTlRfTk9ERSA9IDg7XFxudmFyIERPQ1VNRU5UX05PREUgPSA5O1xcbnZhciBET0NVTUVOVF9GUkFHTUVOVF9OT0RFID0gMTE7XFxuXFxuLyoqXFxuICogU2V0IHRoZSB0ZXh0Q29udGVudCBwcm9wZXJ0eSBvZiBhIG5vZGUuIEZvciB0ZXh0IHVwZGF0ZXMsIGl0J3MgZmFzdGVyXFxuICogdG8gc2V0IHRoZSBgbm9kZVZhbHVlYCBvZiB0aGUgVGV4dCBub2RlIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmdcXG4gKiBgLnRleHRDb250ZW50YCB3aGljaCB3aWxsIHJlbW92ZSB0aGUgZXhpc3Rpbmcgbm9kZSBhbmQgY3JlYXRlIGEgbmV3IG9uZS5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XFxuICogQGludGVybmFsXFxuICovXFxuXFxudmFyIHNldFRleHRDb250ZW50ID0gZnVuY3Rpb24gKG5vZGUsIHRleHQpIHtcXG4gIGlmICh0ZXh0KSB7XFxuICAgIHZhciBmaXJzdENoaWxkID0gbm9kZS5maXJzdENoaWxkO1xcblxcbiAgICBpZiAoZmlyc3RDaGlsZCAmJiBmaXJzdENoaWxkID09PSBub2RlLmxhc3RDaGlsZCAmJiBmaXJzdENoaWxkLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcXG4gICAgICBmaXJzdENoaWxkLm5vZGVWYWx1ZSA9IHRleHQ7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICBub2RlLnRleHRDb250ZW50ID0gdGV4dDtcXG59O1xcblxcbi8vIERvIG5vdCB1c2UgdGhlIGJlbG93IHR3byBtZXRob2RzIGRpcmVjdGx5IVxcbi8vIEluc3RlYWQgdXNlIGNvbnN0YW50cyBleHBvcnRlZCBmcm9tIERPTVRvcExldmVsRXZlbnRUeXBlcyBpbiBSZWFjdERPTS5cXG4vLyAoSXQgaXMgdGhlIG9ubHkgbW9kdWxlIHRoYXQgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlc2UgbWV0aG9kcy4pXFxuZnVuY3Rpb24gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKHRvcExldmVsVHlwZSkge1xcbiAgcmV0dXJuIHRvcExldmVsVHlwZTtcXG59XFxuZnVuY3Rpb24gdW5zYWZlQ2FzdERPTVRvcExldmVsVHlwZVRvU3RyaW5nKHRvcExldmVsVHlwZSkge1xcbiAgcmV0dXJuIHRvcExldmVsVHlwZTtcXG59XFxuXFxuLyoqXFxuICogR2VuZXJhdGUgYSBtYXBwaW5nIG9mIHN0YW5kYXJkIHZlbmRvciBwcmVmaXhlcyB1c2luZyB0aGUgZGVmaW5lZCBzdHlsZSBwcm9wZXJ0eSBhbmQgZXZlbnQgbmFtZS5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHlsZVByb3BcXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXFxuICogQHJldHVybnMge29iamVjdH1cXG4gKi9cXG5cXG5mdW5jdGlvbiBtYWtlUHJlZml4TWFwKHN0eWxlUHJvcCwgZXZlbnROYW1lKSB7XFxuICB2YXIgcHJlZml4ZXMgPSB7fTtcXG4gIHByZWZpeGVzW3N0eWxlUHJvcC50b0xvd2VyQ2FzZSgpXSA9IGV2ZW50TmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgcHJlZml4ZXNbJ1dlYmtpdCcgKyBzdHlsZVByb3BdID0gJ3dlYmtpdCcgKyBldmVudE5hbWU7XFxuICBwcmVmaXhlc1snTW96JyArIHN0eWxlUHJvcF0gPSAnbW96JyArIGV2ZW50TmFtZTtcXG4gIHJldHVybiBwcmVmaXhlcztcXG59XFxuLyoqXFxuICogQSBsaXN0IG9mIGV2ZW50IG5hbWVzIHRvIGEgY29uZmlndXJhYmxlIGxpc3Qgb2YgdmVuZG9yIHByZWZpeGVzLlxcbiAqL1xcblxcblxcbnZhciB2ZW5kb3JQcmVmaXhlcyA9IHtcXG4gIGFuaW1hdGlvbmVuZDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkVuZCcpLFxcbiAgYW5pbWF0aW9uaXRlcmF0aW9uOiBtYWtlUHJlZml4TWFwKCdBbmltYXRpb24nLCAnQW5pbWF0aW9uSXRlcmF0aW9uJyksXFxuICBhbmltYXRpb25zdGFydDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvblN0YXJ0JyksXFxuICB0cmFuc2l0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdUcmFuc2l0aW9uJywgJ1RyYW5zaXRpb25FbmQnKVxcbn07XFxuLyoqXFxuICogRXZlbnQgbmFtZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBkZXRlY3RlZCBhbmQgcHJlZml4ZWQgKGlmIGFwcGxpY2FibGUpLlxcbiAqL1xcblxcbnZhciBwcmVmaXhlZEV2ZW50TmFtZXMgPSB7fTtcXG4vKipcXG4gKiBFbGVtZW50IHRvIGNoZWNrIGZvciBwcmVmaXhlcyBvbi5cXG4gKi9cXG5cXG52YXIgc3R5bGUgPSB7fTtcXG4vKipcXG4gKiBCb290c3RyYXAgaWYgYSBET00gZXhpc3RzLlxcbiAqL1xcblxcbmlmIChjYW5Vc2VET00pIHtcXG4gIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykuc3R5bGU7IC8vIE9uIHNvbWUgcGxhdGZvcm1zLCBpbiBwYXJ0aWN1bGFyIHNvbWUgcmVsZWFzZXMgb2YgQW5kcm9pZCA0LngsXFxuICAvLyB0aGUgdW4tcHJlZml4ZWQgXFxcImFuaW1hdGlvblxcXCIgYW5kIFxcXCJ0cmFuc2l0aW9uXFxcIiBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIG9uIHRoZVxcbiAgLy8gc3R5bGUgb2JqZWN0IGJ1dCB0aGUgZXZlbnRzIHRoYXQgZmlyZSB3aWxsIHN0aWxsIGJlIHByZWZpeGVkLCBzbyB3ZSBuZWVkXFxuICAvLyB0byBjaGVjayBpZiB0aGUgdW4tcHJlZml4ZWQgZXZlbnRzIGFyZSB1c2FibGUsIGFuZCBpZiBub3QgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgbWFwLlxcblxcbiAgaWYgKCEoJ0FuaW1hdGlvbkV2ZW50JyBpbiB3aW5kb3cpKSB7XFxuICAgIGRlbGV0ZSB2ZW5kb3JQcmVmaXhlcy5hbmltYXRpb25lbmQuYW5pbWF0aW9uO1xcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbjtcXG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbjtcXG4gIH0gLy8gU2FtZSBhcyBhYm92ZVxcblxcblxcbiAgaWYgKCEoJ1RyYW5zaXRpb25FdmVudCcgaW4gd2luZG93KSkge1xcbiAgICBkZWxldGUgdmVuZG9yUHJlZml4ZXMudHJhbnNpdGlvbmVuZC50cmFuc2l0aW9uO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBBdHRlbXB0cyB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdmVuZG9yIHByZWZpeGVkIGV2ZW50IG5hbWUuXFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXFxuICogQHJldHVybnMge3N0cmluZ31cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZShldmVudE5hbWUpIHtcXG4gIGlmIChwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSkge1xcbiAgICByZXR1cm4gcHJlZml4ZWRFdmVudE5hbWVzW2V2ZW50TmFtZV07XFxuICB9IGVsc2UgaWYgKCF2ZW5kb3JQcmVmaXhlc1tldmVudE5hbWVdKSB7XFxuICAgIHJldHVybiBldmVudE5hbWU7XFxuICB9XFxuXFxuICB2YXIgcHJlZml4TWFwID0gdmVuZG9yUHJlZml4ZXNbZXZlbnROYW1lXTtcXG5cXG4gIGZvciAodmFyIHN0eWxlUHJvcCBpbiBwcmVmaXhNYXApIHtcXG4gICAgaWYgKHByZWZpeE1hcC5oYXNPd25Qcm9wZXJ0eShzdHlsZVByb3ApICYmIHN0eWxlUHJvcCBpbiBzdHlsZSkge1xcbiAgICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSA9IHByZWZpeE1hcFtzdHlsZVByb3BdO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZXZlbnROYW1lO1xcbn1cXG5cXG4vKipcXG4gKiBUbyBpZGVudGlmeSB0b3AgbGV2ZWwgZXZlbnRzIGluIFJlYWN0RE9NLCB3ZSB1c2UgY29uc3RhbnRzIGRlZmluZWQgYnkgdGhpc1xcbiAqIG1vZHVsZS4gVGhpcyBpcyB0aGUgb25seSBtb2R1bGUgdGhhdCB1c2VzIHRoZSB1bnNhZmUqIG1ldGhvZHMgdG8gZXhwcmVzc1xcbiAqIHRoYXQgdGhlIGNvbnN0YW50cyBhY3R1YWxseSBjb3JyZXNwb25kIHRvIHRoZSBicm93c2VyIGV2ZW50IG5hbWVzLiBUaGlzIGxldHNcXG4gKiB1cyBzYXZlIHNvbWUgYnVuZGxlIHNpemUgYnkgYXZvaWRpbmcgYSB0b3AgbGV2ZWwgdHlwZSAtPiBldmVudCBuYW1lIG1hcC5cXG4gKiBUaGUgcmVzdCBvZiBSZWFjdERPTSBjb2RlIHNob3VsZCBpbXBvcnQgdG9wIGxldmVsIHR5cGVzIGZyb20gdGhpcyBmaWxlLlxcbiAqL1xcblxcbnZhciBUT1BfQUJPUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2Fib3J0Jyk7XFxudmFyIFRPUF9BTklNQVRJT05fRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25lbmQnKSk7XFxudmFyIFRPUF9BTklNQVRJT05fSVRFUkFUSU9OID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKCdhbmltYXRpb25pdGVyYXRpb24nKSk7XFxudmFyIFRPUF9BTklNQVRJT05fU1RBUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ2FuaW1hdGlvbnN0YXJ0JykpO1xcbnZhciBUT1BfQkxVUiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnYmx1cicpO1xcbnZhciBUT1BfQ0FOX1BMQVkgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbnBsYXknKTtcXG52YXIgVE9QX0NBTl9QTEFZX1RIUk9VR0ggPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbnBsYXl0aHJvdWdoJyk7XFxudmFyIFRPUF9DQU5DRUwgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbmNlbCcpO1xcbnZhciBUT1BfQ0hBTkdFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjaGFuZ2UnKTtcXG52YXIgVE9QX0NMSUNLID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjbGljaycpO1xcbnZhciBUT1BfQ0xPU0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2Nsb3NlJyk7XFxudmFyIFRPUF9DT01QT1NJVElPTl9FTkQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NvbXBvc2l0aW9uZW5kJyk7XFxudmFyIFRPUF9DT01QT1NJVElPTl9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29tcG9zaXRpb25zdGFydCcpO1xcbnZhciBUT1BfQ09NUE9TSVRJT05fVVBEQVRFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjb21wb3NpdGlvbnVwZGF0ZScpO1xcbnZhciBUT1BfQ09OVEVYVF9NRU5VID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjb250ZXh0bWVudScpO1xcbnZhciBUT1BfQ09QWSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29weScpO1xcbnZhciBUT1BfQ1VUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjdXQnKTtcXG52YXIgVE9QX0RPVUJMRV9DTElDSyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZGJsY2xpY2snKTtcXG52YXIgVE9QX0FVWF9DTElDSyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnYXV4Y2xpY2snKTtcXG52YXIgVE9QX0RSQUcgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2RyYWcnKTtcXG52YXIgVE9QX0RSQUdfRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnZW5kJyk7XFxudmFyIFRPUF9EUkFHX0VOVEVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnZW50ZXInKTtcXG52YXIgVE9QX0RSQUdfRVhJVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJhZ2V4aXQnKTtcXG52YXIgVE9QX0RSQUdfTEVBVkUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2RyYWdsZWF2ZScpO1xcbnZhciBUT1BfRFJBR19PVkVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnb3ZlcicpO1xcbnZhciBUT1BfRFJBR19TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJhZ3N0YXJ0Jyk7XFxudmFyIFRPUF9EUk9QID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcm9wJyk7XFxudmFyIFRPUF9EVVJBVElPTl9DSEFOR0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2R1cmF0aW9uY2hhbmdlJyk7XFxudmFyIFRPUF9FTVBUSUVEID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdlbXB0aWVkJyk7XFxudmFyIFRPUF9FTkNSWVBURUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2VuY3J5cHRlZCcpO1xcbnZhciBUT1BfRU5ERUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2VuZGVkJyk7XFxudmFyIFRPUF9FUlJPUiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZXJyb3InKTtcXG52YXIgVE9QX0ZPQ1VTID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdmb2N1cycpO1xcbnZhciBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZ290cG9pbnRlcmNhcHR1cmUnKTtcXG52YXIgVE9QX0lOUFVUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdpbnB1dCcpO1xcbnZhciBUT1BfSU5WQUxJRCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnaW52YWxpZCcpO1xcbnZhciBUT1BfS0VZX0RPV04gPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2tleWRvd24nKTtcXG52YXIgVE9QX0tFWV9QUkVTUyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgna2V5cHJlc3MnKTtcXG52YXIgVE9QX0tFWV9VUCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgna2V5dXAnKTtcXG52YXIgVE9QX0xPQUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWQnKTtcXG52YXIgVE9QX0xPQURfU1RBUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWRzdGFydCcpO1xcbnZhciBUT1BfTE9BREVEX0RBVEEgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWRlZGRhdGEnKTtcXG52YXIgVE9QX0xPQURFRF9NRVRBREFUQSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbG9hZGVkbWV0YWRhdGEnKTtcXG52YXIgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdsb3N0cG9pbnRlcmNhcHR1cmUnKTtcXG52YXIgVE9QX01PVVNFX0RPV04gPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ21vdXNlZG93bicpO1xcbnZhciBUT1BfTU9VU0VfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbW91c2Vtb3ZlJyk7XFxudmFyIFRPUF9NT1VTRV9PVVQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ21vdXNlb3V0Jyk7XFxudmFyIFRPUF9NT1VTRV9PVkVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdtb3VzZW92ZXInKTtcXG52YXIgVE9QX01PVVNFX1VQID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdtb3VzZXVwJyk7XFxudmFyIFRPUF9QQVNURSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGFzdGUnKTtcXG52YXIgVE9QX1BBVVNFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwYXVzZScpO1xcbnZhciBUT1BfUExBWSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGxheScpO1xcbnZhciBUT1BfUExBWUlORyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGxheWluZycpO1xcbnZhciBUT1BfUE9JTlRFUl9DQU5DRUwgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3BvaW50ZXJjYW5jZWwnKTtcXG52YXIgVE9QX1BPSU5URVJfRE9XTiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncG9pbnRlcmRvd24nKTtcXG52YXIgVE9QX1BPSU5URVJfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncG9pbnRlcm1vdmUnKTtcXG52YXIgVE9QX1BPSU5URVJfT1VUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwb2ludGVyb3V0Jyk7XFxudmFyIFRPUF9QT0lOVEVSX09WRVIgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3BvaW50ZXJvdmVyJyk7XFxudmFyIFRPUF9QT0lOVEVSX1VQID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwb2ludGVydXAnKTtcXG52YXIgVE9QX1BST0dSRVNTID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwcm9ncmVzcycpO1xcbnZhciBUT1BfUkFURV9DSEFOR0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3JhdGVjaGFuZ2UnKTtcXG52YXIgVE9QX1JFU0VUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdyZXNldCcpO1xcbnZhciBUT1BfU0NST0xMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzY3JvbGwnKTtcXG52YXIgVE9QX1NFRUtFRCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc2Vla2VkJyk7XFxudmFyIFRPUF9TRUVLSU5HID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzZWVraW5nJyk7XFxudmFyIFRPUF9TRUxFQ1RJT05fQ0hBTkdFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzZWxlY3Rpb25jaGFuZ2UnKTtcXG52YXIgVE9QX1NUQUxMRUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3N0YWxsZWQnKTtcXG52YXIgVE9QX1NVQk1JVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc3VibWl0Jyk7XFxudmFyIFRPUF9TVVNQRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzdXNwZW5kJyk7XFxudmFyIFRPUF9URVhUX0lOUFVUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0ZXh0SW5wdXQnKTtcXG52YXIgVE9QX1RJTUVfVVBEQVRFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0aW1ldXBkYXRlJyk7XFxudmFyIFRPUF9UT0dHTEUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3RvZ2dsZScpO1xcbnZhciBUT1BfVE9VQ0hfQ0FOQ0VMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0b3VjaGNhbmNlbCcpO1xcbnZhciBUT1BfVE9VQ0hfRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0b3VjaGVuZCcpO1xcbnZhciBUT1BfVE9VQ0hfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgndG91Y2htb3ZlJyk7XFxudmFyIFRPUF9UT1VDSF9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgndG91Y2hzdGFydCcpO1xcbnZhciBUT1BfVFJBTlNJVElPTl9FTkQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ3RyYW5zaXRpb25lbmQnKSk7XFxudmFyIFRPUF9WT0xVTUVfQ0hBTkdFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd2b2x1bWVjaGFuZ2UnKTtcXG52YXIgVE9QX1dBSVRJTkcgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3dhaXRpbmcnKTtcXG52YXIgVE9QX1dIRUVMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd3aGVlbCcpOyAvLyBMaXN0IG9mIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgaW5kaXZpZHVhbGx5IGF0dGFjaGVkIHRvIG1lZGlhIGVsZW1lbnRzLlxcbi8vIE5vdGUgdGhhdCBldmVudHMgaW4gdGhpcyBsaXN0IHdpbGwgKm5vdCogYmUgbGlzdGVuZWQgdG8gYXQgdGhlIHRvcCBsZXZlbFxcbi8vIHVubGVzcyB0aGV5J3JlIGV4cGxpY2l0bHkgd2hpdGVsaXN0ZWQgaW4gYFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci5saXN0ZW5Ub2AuXFxuXFxudmFyIG1lZGlhRXZlbnRUeXBlcyA9IFtUT1BfQUJPUlQsIFRPUF9DQU5fUExBWSwgVE9QX0NBTl9QTEFZX1RIUk9VR0gsIFRPUF9EVVJBVElPTl9DSEFOR0UsIFRPUF9FTVBUSUVELCBUT1BfRU5DUllQVEVELCBUT1BfRU5ERUQsIFRPUF9FUlJPUiwgVE9QX0xPQURFRF9EQVRBLCBUT1BfTE9BREVEX01FVEFEQVRBLCBUT1BfTE9BRF9TVEFSVCwgVE9QX1BBVVNFLCBUT1BfUExBWSwgVE9QX1BMQVlJTkcsIFRPUF9QUk9HUkVTUywgVE9QX1JBVEVfQ0hBTkdFLCBUT1BfU0VFS0VELCBUT1BfU0VFS0lORywgVE9QX1NUQUxMRUQsIFRPUF9TVVNQRU5ELCBUT1BfVElNRV9VUERBVEUsIFRPUF9WT0xVTUVfQ0hBTkdFLCBUT1BfV0FJVElOR107XFxuZnVuY3Rpb24gZ2V0UmF3RXZlbnROYW1lKHRvcExldmVsVHlwZSkge1xcbiAgcmV0dXJuIHVuc2FmZUNhc3RET01Ub3BMZXZlbFR5cGVUb1N0cmluZyh0b3BMZXZlbFR5cGUpO1xcbn1cXG5cXG52YXIgUG9zc2libHlXZWFrTWFwID0gdHlwZW9mIFdlYWtNYXAgPT09ICdmdW5jdGlvbicgPyBXZWFrTWFwIDogTWFwOyAvLyBwcmV0dGllci1pZ25vcmVcXG5cXG52YXIgZWxlbWVudExpc3RlbmVyTWFwID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xcbmZ1bmN0aW9uIGdldExpc3RlbmVyTWFwRm9yRWxlbWVudChlbGVtZW50KSB7XFxuICB2YXIgbGlzdGVuZXJNYXAgPSBlbGVtZW50TGlzdGVuZXJNYXAuZ2V0KGVsZW1lbnQpO1xcblxcbiAgaWYgKGxpc3RlbmVyTWFwID09PSB1bmRlZmluZWQpIHtcXG4gICAgbGlzdGVuZXJNYXAgPSBuZXcgTWFwKCk7XFxuICAgIGVsZW1lbnRMaXN0ZW5lck1hcC5zZXQoZWxlbWVudCwgbGlzdGVuZXJNYXApO1xcbiAgfVxcblxcbiAgcmV0dXJuIGxpc3RlbmVyTWFwO1xcbn1cXG5cXG4vKipcXG4gKiBgUmVhY3RJbnN0YW5jZU1hcGAgbWFpbnRhaW5zIGEgbWFwcGluZyBmcm9tIGEgcHVibGljIGZhY2luZyBzdGF0ZWZ1bFxcbiAqIGluc3RhbmNlIChrZXkpIGFuZCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24gKHZhbHVlKS4gVGhpcyBhbGxvd3MgcHVibGljXFxuICogbWV0aG9kcyB0byBhY2NlcHQgdGhlIHVzZXIgZmFjaW5nIGluc3RhbmNlIGFzIGFuIGFyZ3VtZW50IGFuZCBtYXAgdGhlbSBiYWNrXFxuICogdG8gaW50ZXJuYWwgbWV0aG9kcy5cXG4gKlxcbiAqIE5vdGUgdGhhdCB0aGlzIG1vZHVsZSBpcyBjdXJyZW50bHkgc2hhcmVkIGFuZCBhc3N1bWVkIHRvIGJlIHN0YXRlbGVzcy5cXG4gKiBJZiB0aGlzIGJlY29tZXMgYW4gYWN0dWFsIE1hcCwgdGhhdCB3aWxsIGJyZWFrLlxcbiAqL1xcbmZ1bmN0aW9uIGdldChrZXkpIHtcXG4gIHJldHVybiBrZXkuX3JlYWN0SW50ZXJuYWxGaWJlcjtcXG59XFxuZnVuY3Rpb24gaGFzKGtleSkge1xcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbEZpYmVyICE9PSB1bmRlZmluZWQ7XFxufVxcbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XFxuICBrZXkuX3JlYWN0SW50ZXJuYWxGaWJlciA9IHZhbHVlO1xcbn1cXG5cXG4vLyBEb24ndCBjaGFuZ2UgdGhlc2UgdHdvIHZhbHVlcy4gVGhleSdyZSB1c2VkIGJ5IFJlYWN0IERldiBUb29scy5cXG52YXIgTm9FZmZlY3QgPVxcbi8qICAgICAgICAgICAgICAqL1xcbjA7XFxudmFyIFBlcmZvcm1lZFdvcmsgPVxcbi8qICAgICAgICAgKi9cXG4xOyAvLyBZb3UgY2FuIGNoYW5nZSB0aGUgcmVzdCAoYW5kIGFkZCBtb3JlKS5cXG5cXG52YXIgUGxhY2VtZW50ID1cXG4vKiAgICAgICAgICAgICAqL1xcbjI7XFxudmFyIFVwZGF0ZSA9XFxuLyogICAgICAgICAgICAgICAgKi9cXG40O1xcbnZhciBQbGFjZW1lbnRBbmRVcGRhdGUgPVxcbi8qICAgICovXFxuNjtcXG52YXIgRGVsZXRpb24gPVxcbi8qICAgICAgICAgICAgICAqL1xcbjg7XFxudmFyIENvbnRlbnRSZXNldCA9XFxuLyogICAgICAgICAgKi9cXG4xNjtcXG52YXIgQ2FsbGJhY2sgPVxcbi8qICAgICAgICAgICAgICAqL1xcbjMyO1xcbnZhciBEaWRDYXB0dXJlID1cXG4vKiAgICAgICAgICAgICovXFxuNjQ7XFxudmFyIFJlZiA9XFxuLyogICAgICAgICAgICAgICAgICAgKi9cXG4xMjg7XFxudmFyIFNuYXBzaG90ID1cXG4vKiAgICAgICAgICAgICAgKi9cXG4yNTY7XFxudmFyIFBhc3NpdmUgPVxcbi8qICAgICAgICAgICAgICAgKi9cXG41MTI7XFxudmFyIEh5ZHJhdGluZyA9XFxuLyogICAgICAgICAgICAgKi9cXG4xMDI0O1xcbnZhciBIeWRyYXRpbmdBbmRVcGRhdGUgPVxcbi8qICAgICovXFxuMTAyODsgLy8gUGFzc2l2ZSAmIFVwZGF0ZSAmIENhbGxiYWNrICYgUmVmICYgU25hcHNob3RcXG5cXG52YXIgTGlmZWN5Y2xlRWZmZWN0TWFzayA9XFxuLyogICAqL1xcbjkzMjsgLy8gVW5pb24gb2YgYWxsIGhvc3QgZWZmZWN0c1xcblxcbnZhciBIb3N0RWZmZWN0TWFzayA9XFxuLyogICAgICAgICovXFxuMjA0NztcXG52YXIgSW5jb21wbGV0ZSA9XFxuLyogICAgICAgICAgICAqL1xcbjIwNDg7XFxudmFyIFNob3VsZENhcHR1cmUgPVxcbi8qICAgICAgICAgKi9cXG40MDk2O1xcblxcbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xcbmZ1bmN0aW9uIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpIHtcXG4gIHZhciBub2RlID0gZmliZXI7XFxuICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBmaWJlcjtcXG5cXG4gIGlmICghZmliZXIuYWx0ZXJuYXRlKSB7XFxuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhpcyBtaWdodCBiZSBhIG5ldyB0cmVlIHRoYXQgaXNuJ3QgaW5zZXJ0ZWRcXG4gICAgLy8geWV0LiBJZiBpdCBpcywgdGhlbiBpdCB3aWxsIGhhdmUgYSBwZW5kaW5nIGluc2VydGlvbiBlZmZlY3Qgb24gaXQuXFxuICAgIHZhciBuZXh0Tm9kZSA9IG5vZGU7XFxuXFxuICAgIGRvIHtcXG4gICAgICBub2RlID0gbmV4dE5vZGU7XFxuXFxuICAgICAgaWYgKChub2RlLmVmZmVjdFRhZyAmIChQbGFjZW1lbnQgfCBIeWRyYXRpbmcpKSAhPT0gTm9FZmZlY3QpIHtcXG4gICAgICAgIC8vIFRoaXMgaXMgYW4gaW5zZXJ0aW9uIG9yIGluLXByb2dyZXNzIGh5ZHJhdGlvbi4gVGhlIG5lYXJlc3QgcG9zc2libGVcXG4gICAgICAgIC8vIG1vdW50ZWQgZmliZXIgaXMgdGhlIHBhcmVudCBidXQgd2UgbmVlZCB0byBjb250aW51ZSB0byBmaWd1cmUgb3V0XFxuICAgICAgICAvLyBpZiB0aGF0IG9uZSBpcyBzdGlsbCBtb3VudGVkLlxcbiAgICAgICAgbmVhcmVzdE1vdW50ZWQgPSBub2RlLnJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgbmV4dE5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfSB3aGlsZSAobmV4dE5vZGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgd2hpbGUgKG5vZGUucmV0dXJuKSB7XFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAobm9kZS50YWcgPT09IEhvc3RSb290KSB7XFxuICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgd2FzIGEgbmVzdGVkIEhvc3RSb290IHdoZW4gdXNlZCB3aXRoXFxuICAgIC8vIHJlbmRlckNvbnRhaW5lckludG9TdWJ0cmVlLlxcbiAgICByZXR1cm4gbmVhcmVzdE1vdW50ZWQ7XFxuICB9IC8vIElmIHdlIGRpZG4ndCBoaXQgdGhlIHJvb3QsIHRoYXQgbWVhbnMgdGhhdCB3ZSdyZSBpbiBhbiBkaXNjb25uZWN0ZWQgdHJlZVxcbiAgLy8gdGhhdCBoYXMgYmVlbiB1bm1vdW50ZWQuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuZnVuY3Rpb24gZ2V0U3VzcGVuc2VJbnN0YW5jZUZyb21GaWJlcihmaWJlcikge1xcbiAgaWYgKGZpYmVyLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcXG4gICAgdmFyIHN1c3BlbnNlU3RhdGUgPSBmaWJlci5tZW1vaXplZFN0YXRlO1xcblxcbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSA9PT0gbnVsbCkge1xcbiAgICAgIHZhciBjdXJyZW50ID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgICBzdXNwZW5zZVN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAgIHJldHVybiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5mdW5jdGlvbiBnZXRDb250YWluZXJGcm9tRmliZXIoZmliZXIpIHtcXG4gIHJldHVybiBmaWJlci50YWcgPT09IEhvc3RSb290ID8gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8gOiBudWxsO1xcbn1cXG5mdW5jdGlvbiBpc0ZpYmVyTW91bnRlZChmaWJlcikge1xcbiAgcmV0dXJuIGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpID09PSBmaWJlcjtcXG59XFxuZnVuY3Rpb24gaXNNb3VudGVkKGNvbXBvbmVudCkge1xcbiAge1xcbiAgICB2YXIgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xcblxcbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgb3duZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XFxuICAgICAgdmFyIGluc3RhbmNlID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XFxuXFxuICAgICAgaWYgKCFpbnN0YW5jZS5fd2FybmVkQWJvdXRSZWZzSW5SZW5kZXIpIHtcXG4gICAgICAgIGVycm9yKCclcyBpcyBhY2Nlc3NpbmcgaXNNb3VudGVkIGluc2lkZSBpdHMgcmVuZGVyKCkgZnVuY3Rpb24uICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lKG93bmVyRmliZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XFxuICAgICAgfVxcblxcbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBmaWJlciA9IGdldChjb21wb25lbnQpO1xcblxcbiAgaWYgKCFmaWJlcikge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICByZXR1cm4gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgPT09IGZpYmVyO1xcbn1cXG5cXG5mdW5jdGlvbiBhc3NlcnRJc01vdW50ZWQoZmliZXIpIHtcXG4gIGlmICghKGdldE5lYXJlc3RNb3VudGVkRmliZXIoZmliZXIpID09PSBmaWJlcikpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChmaWJlcikge1xcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcXG5cXG4gIGlmICghYWx0ZXJuYXRlKSB7XFxuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhlbiB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgaWYgaXQgaXMgbW91bnRlZC5cXG4gICAgdmFyIG5lYXJlc3RNb3VudGVkID0gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcik7XFxuXFxuICAgIGlmICghKG5lYXJlc3RNb3VudGVkICE9PSBudWxsKSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmaWJlcjtcXG4gIH0gLy8gSWYgd2UgaGF2ZSB0d28gcG9zc2libGUgYnJhbmNoZXMsIHdlJ2xsIHdhbGsgYmFja3dhcmRzIHVwIHRvIHRoZSByb290XFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcXG4gIC8vIHNwZWNpYWwgY2FzZXMgYW5kIHdlJ2xsIGRlYWwgd2l0aCB0aGVtLlxcblxcblxcbiAgdmFyIGEgPSBmaWJlcjtcXG4gIHZhciBiID0gYWx0ZXJuYXRlO1xcblxcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgdmFyIHBhcmVudEEgPSBhLnJldHVybjtcXG5cXG4gICAgaWYgKHBhcmVudEEgPT09IG51bGwpIHtcXG4gICAgICAvLyBXZSdyZSBhdCB0aGUgcm9vdC5cXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAocGFyZW50QiA9PT0gbnVsbCkge1xcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxcbiAgICAgIC8vIGhhcHBlbnMgd2hlbiBhIFN1c3BlbnNlIGNvbXBvbmVudCBpcyBoaWRkZW4uIEFuIGV4dHJhIGZyYWdtZW50IGZpYmVyXFxuICAgICAgLy8gaXMgaW5zZXJ0ZWQgaW4gYmV0d2VlbiB0aGUgU3VzcGVuc2UgZmliZXIgYW5kIGl0cyBjaGlsZHJlbi4gU2tpcFxcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXFxuICAgICAgdmFyIG5leHRQYXJlbnQgPSBwYXJlbnRBLnJldHVybjtcXG5cXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xcbiAgICAgICAgYSA9IGIgPSBuZXh0UGFyZW50O1xcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXFxuXFxuXFxuICAgICAgYnJlYWs7XFxuICAgIH0gLy8gSWYgYm90aCBjb3BpZXMgb2YgdGhlIHBhcmVudCBmaWJlciBwb2ludCB0byB0aGUgc2FtZSBjaGlsZCwgd2UgY2FuXFxuICAgIC8vIGFzc3VtZSB0aGF0IHRoZSBjaGlsZCBpcyBjdXJyZW50LiBUaGlzIGhhcHBlbnMgd2hlbiB3ZSBiYWlsb3V0IG9uIGxvd1xcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXFxuXFxuXFxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XFxuICAgICAgdmFyIGNoaWxkID0gcGFyZW50QS5jaGlsZDtcXG5cXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcXG4gICAgICAgIGlmIChjaGlsZCA9PT0gYSkge1xcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXFxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcXG4gICAgICAgICAgcmV0dXJuIGZpYmVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGNoaWxkID09PSBiKSB7XFxuICAgICAgICAgIC8vIFdlJ3ZlIGRldGVybWluZWQgdGhhdCBCIGlzIHRoZSBjdXJyZW50IGJyYW5jaC5cXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xcbiAgICAgICAgICByZXR1cm4gYWx0ZXJuYXRlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xcbiAgICAgIH0gLy8gV2Ugc2hvdWxkIG5ldmVyIGhhdmUgYW4gYWx0ZXJuYXRlIGZvciBhbnkgbW91bnRpbmcgbm9kZS4gU28gdGhlIG9ubHlcXG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXFxuXFxuXFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVuYWJsZSB0byBmaW5kIG5vZGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChhLnJldHVybiAhPT0gYi5yZXR1cm4pIHtcXG4gICAgICAvLyBUaGUgcmV0dXJuIHBvaW50ZXIgb2YgQSBhbmQgdGhlIHJldHVybiBwb2ludGVyIG9mIEIgcG9pbnQgdG8gZGlmZmVyZW50XFxuICAgICAgLy8gZmliZXJzLiBXZSBhc3N1bWUgdGhhdCByZXR1cm4gcG9pbnRlcnMgbmV2ZXIgY3Jpc3MtY3Jvc3MsIHNvIEEgbXVzdFxcbiAgICAgIC8vIGJlbG9uZyB0byB0aGUgY2hpbGQgc2V0IG9mIEEucmV0dXJuLCBhbmQgQiBtdXN0IGJlbG9uZyB0byB0aGUgY2hpbGRcXG4gICAgICAvLyBzZXQgb2YgQi5yZXR1cm4uXFxuICAgICAgYSA9IHBhcmVudEE7XFxuICAgICAgYiA9IHBhcmVudEI7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gVGhlIHJldHVybiBwb2ludGVycyBwb2ludCB0byB0aGUgc2FtZSBmaWJlci4gV2UnbGwgaGF2ZSB0byB1c2UgdGhlXFxuICAgICAgLy8gZGVmYXVsdCwgc2xvdyBwYXRoOiBzY2FuIHRoZSBjaGlsZCBzZXRzIG9mIGVhY2ggcGFyZW50IGFsdGVybmF0ZSB0byBzZWVcXG4gICAgICAvLyB3aGljaCBjaGlsZCBiZWxvbmdzIHRvIHdoaWNoIHNldC5cXG4gICAgICAvL1xcbiAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQSdzIGNoaWxkIHNldFxcbiAgICAgIHZhciBkaWRGaW5kQ2hpbGQgPSBmYWxzZTtcXG4gICAgICB2YXIgX2NoaWxkID0gcGFyZW50QS5jaGlsZDtcXG5cXG4gICAgICB3aGlsZSAoX2NoaWxkKSB7XFxuICAgICAgICBpZiAoX2NoaWxkID09PSBhKSB7XFxuICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgIGEgPSBwYXJlbnRBO1xcbiAgICAgICAgICBiID0gcGFyZW50QjtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoX2NoaWxkID09PSBiKSB7XFxuICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgIGIgPSBwYXJlbnRBO1xcbiAgICAgICAgICBhID0gcGFyZW50QjtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBfY2hpbGQgPSBfY2hpbGQuc2libGluZztcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKCFkaWRGaW5kQ2hpbGQpIHtcXG4gICAgICAgIC8vIFNlYXJjaCBwYXJlbnQgQidzIGNoaWxkIHNldFxcbiAgICAgICAgX2NoaWxkID0gcGFyZW50Qi5jaGlsZDtcXG5cXG4gICAgICAgIHdoaWxlIChfY2hpbGQpIHtcXG4gICAgICAgICAgaWYgKF9jaGlsZCA9PT0gYSkge1xcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgICAgYSA9IHBhcmVudEI7XFxuICAgICAgICAgICAgYiA9IHBhcmVudEE7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKF9jaGlsZCA9PT0gYikge1xcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XFxuICAgICAgICAgICAgYiA9IHBhcmVudEI7XFxuICAgICAgICAgICAgYSA9IHBhcmVudEE7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoIWRpZEZpbmRDaGlsZCkge1xcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJDaGlsZCB3YXMgbm90IGZvdW5kIGluIGVpdGhlciBwYXJlbnQgc2V0LiBUaGlzIGluZGljYXRlcyBhIGJ1ZyBpbiBSZWFjdCByZWxhdGVkIHRvIHRoZSByZXR1cm4gcG9pbnRlci4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICghKGEuYWx0ZXJuYXRlID09PSBiKSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiUmV0dXJuIGZpYmVycyBzaG91bGQgYWx3YXlzIGJlIGVhY2ggb3RoZXJzJyBhbHRlcm5hdGVzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH0gLy8gSWYgdGhlIHJvb3QgaXMgbm90IGEgaG9zdCBjb250YWluZXIsIHdlJ3JlIGluIGEgZGlzY29ubmVjdGVkIHRyZWUuIEkuZS5cXG4gIC8vIHVubW91bnRlZC5cXG5cXG5cXG4gIGlmICghKGEudGFnID09PSBIb3N0Um9vdCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcXG4gICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxcbiAgICByZXR1cm4gZmliZXI7XFxuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cXG5cXG5cXG4gIHJldHVybiBhbHRlcm5hdGU7XFxufVxcbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVyKHBhcmVudCkge1xcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xcblxcbiAgaWYgKCFjdXJyZW50UGFyZW50KSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSAvLyBOZXh0IHdlJ2xsIGRyaWxsIGRvd24gdGhpcyBjb21wb25lbnQgdG8gZmluZCB0aGUgZmlyc3QgSG9zdENvbXBvbmVudC9UZXh0LlxcblxcblxcbiAgdmFyIG5vZGUgPSBjdXJyZW50UGFyZW50O1xcblxcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgIHJldHVybiBub2RlO1xcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQpIHtcXG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5vZGUgPT09IGN1cnJlbnRQYXJlbnQpIHtcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB3aGlsZSAoIW5vZGUuc2libGluZykge1xcbiAgICAgIGlmICghbm9kZS5yZXR1cm4gfHwgbm9kZS5yZXR1cm4gPT09IGN1cnJlbnRQYXJlbnQpIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgIH1cXG5cXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xcbiAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcbiAgfSAvLyBGbG93IG5lZWRzIHRoZSByZXR1cm4gbnVsbCBoZXJlLCBidXQgRVNMaW50IGNvbXBsYWlucyBhYm91dCBpdC5cXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnJlYWNoYWJsZVxcblxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcbmZ1bmN0aW9uIGZpbmRDdXJyZW50SG9zdEZpYmVyV2l0aE5vUG9ydGFscyhwYXJlbnQpIHtcXG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcXG5cXG4gIGlmICghY3VycmVudFBhcmVudCkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gTmV4dCB3ZSdsbCBkcmlsbCBkb3duIHRoaXMgY29tcG9uZW50IHRvIGZpbmQgdGhlIGZpcnN0IEhvc3RDb21wb25lbnQvVGV4dC5cXG5cXG5cXG4gIHZhciBub2RlID0gY3VycmVudFBhcmVudDtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQgfHwgZW5hYmxlRnVuZGFtZW50YWxBUEkgKSB7XFxuICAgICAgcmV0dXJuIG5vZGU7XFxuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAmJiBub2RlLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gY3VycmVudFBhcmVudCkge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIHdoaWxlICghbm9kZS5zaWJsaW5nKSB7XFxuICAgICAgaWYgKCFub2RlLnJldHVybiB8fCBub2RlLnJldHVybiA9PT0gY3VycmVudFBhcmVudCkge1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfVxcblxcbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XFxuICB9IC8vIEZsb3cgbmVlZHMgdGhlIHJldHVybiBudWxsIGhlcmUsIGJ1dCBFU0xpbnQgY29tcGxhaW5zIGFib3V0IGl0LlxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuLyoqXFxuICogQWNjdW11bGF0ZXMgaXRlbXMgdGhhdCBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCBpbnRvIHRoZSBmaXJzdCBvbmUuIFRoaXNcXG4gKiBpcyB1c2VkIHRvIGNvbnNlcnZlIG1lbW9yeSBieSBhdm9pZGluZyBhcnJheSBhbGxvY2F0aW9ucywgYW5kIHRodXMgc2FjcmlmaWNlc1xcbiAqIEFQSSBjbGVhbm5lc3MuIFNpbmNlIGBjdXJyZW50YCBjYW4gYmUgbnVsbCBiZWZvcmUgYmVpbmcgcGFzc2VkIGluIGFuZCBub3RcXG4gKiBudWxsIGFmdGVyIHRoaXMgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0byBhc3NpZ24gaXQgYmFjayB0byBgY3VycmVudGA6XFxuICpcXG4gKiBgYSA9IGFjY3VtdWxhdGVJbnRvKGEsIGIpO2BcXG4gKlxcbiAqIFRoaXMgQVBJIHNob3VsZCBiZSBzcGFyaW5nbHkgdXNlZC4gVHJ5IGBhY2N1bXVsYXRlYCBmb3Igc29tZXRoaW5nIGNsZWFuZXIuXFxuICpcXG4gKiBAcmV0dXJuIHsqfGFycmF5PCo+fSBBbiBhY2N1bXVsYXRpb24gb2YgaXRlbXMuXFxuICovXFxuXFxuZnVuY3Rpb24gYWNjdW11bGF0ZUludG8oY3VycmVudCwgbmV4dCkge1xcbiAgaWYgKCEobmV4dCAhPSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJhY2N1bXVsYXRlSW50byguLi4pOiBBY2N1bXVsYXRlZCBpdGVtcyBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ID09IG51bGwpIHtcXG4gICAgcmV0dXJuIG5leHQ7XFxuICB9IC8vIEJvdGggYXJlIG5vdCBlbXB0eS4gV2FybmluZzogTmV2ZXIgY2FsbCB4LmNvbmNhdCh5KSB3aGVuIHlvdSBhcmUgbm90XFxuICAvLyBjZXJ0YWluIHRoYXQgeCBpcyBhbiBBcnJheSAoeCBjb3VsZCBiZSBhIHN0cmluZyB3aXRoIGNvbmNhdCBtZXRob2QpLlxcblxcblxcbiAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudCkpIHtcXG4gICAgaWYgKEFycmF5LmlzQXJyYXkobmV4dCkpIHtcXG4gICAgICBjdXJyZW50LnB1c2guYXBwbHkoY3VycmVudCwgbmV4dCk7XFxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XFxuICAgIH1cXG5cXG4gICAgY3VycmVudC5wdXNoKG5leHQpO1xcbiAgICByZXR1cm4gY3VycmVudDtcXG4gIH1cXG5cXG4gIGlmIChBcnJheS5pc0FycmF5KG5leHQpKSB7XFxuICAgIC8vIEEgYml0IHRvbyBkYW5nZXJvdXMgdG8gbXV0YXRlIGBuZXh0YC5cXG4gICAgcmV0dXJuIFtjdXJyZW50XS5jb25jYXQobmV4dCk7XFxuICB9XFxuXFxuICByZXR1cm4gW2N1cnJlbnQsIG5leHRdO1xcbn1cXG5cXG4vKipcXG4gKiBAcGFyYW0ge2FycmF5fSBhcnIgYW4gXFxcImFjY3VtdWxhdGlvblxcXCIgb2YgaXRlbXMgd2hpY2ggaXMgZWl0aGVyIGFuIEFycmF5IG9yXFxuICogYSBzaW5nbGUgaXRlbS4gVXNlZnVsIHdoZW4gcGFpcmVkIHdpdGggdGhlIGBhY2N1bXVsYXRlYCBtb2R1bGUuIFRoaXMgaXMgYVxcbiAqIHNpbXBsZSB1dGlsaXR5IHRoYXQgYWxsb3dzIHVzIHRvIHJlYXNvbiBhYm91dCBhIGNvbGxlY3Rpb24gb2YgaXRlbXMsIGJ1dFxcbiAqIGhhbmRsaW5nIHRoZSBjYXNlIHdoZW4gdGhlcmUgaXMgZXhhY3RseSBvbmUgaXRlbSAoYW5kIHdlIGRvIG5vdCBuZWVkIHRvXFxuICogYWxsb2NhdGUgYW4gYXJyYXkpLlxcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGNiIENhbGxiYWNrIGludm9rZWQgd2l0aCBlYWNoIGVsZW1lbnQgb3IgYSBjb2xsZWN0aW9uLlxcbiAqIEBwYXJhbSB7P30gW3Njb3BlXSBTY29wZSB1c2VkIGFzIGB0aGlzYCBpbiBhIGNhbGxiYWNrLlxcbiAqL1xcbmZ1bmN0aW9uIGZvckVhY2hBY2N1bXVsYXRlZChhcnIsIGNiLCBzY29wZSkge1xcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkge1xcbiAgICBhcnIuZm9yRWFjaChjYiwgc2NvcGUpO1xcbiAgfSBlbHNlIGlmIChhcnIpIHtcXG4gICAgY2IuY2FsbChzY29wZSwgYXJyKTtcXG4gIH1cXG59XFxuXFxuLyoqXFxuICogSW50ZXJuYWwgcXVldWUgb2YgZXZlbnRzIHRoYXQgaGF2ZSBhY2N1bXVsYXRlZCB0aGVpciBkaXNwYXRjaGVzIGFuZCBhcmVcXG4gKiB3YWl0aW5nIHRvIGhhdmUgdGhlaXIgZGlzcGF0Y2hlcyBleGVjdXRlZC5cXG4gKi9cXG5cXG52YXIgZXZlbnRRdWV1ZSA9IG51bGw7XFxuLyoqXFxuICogRGlzcGF0Y2hlcyBhbiBldmVudCBhbmQgcmVsZWFzZXMgaXQgYmFjayBpbnRvIHRoZSBwb29sLCB1bmxlc3MgcGVyc2lzdGVudC5cXG4gKlxcbiAqIEBwYXJhbSB7P29iamVjdH0gZXZlbnQgU3ludGhldGljIGV2ZW50IHRvIGJlIGRpc3BhdGNoZWQuXFxuICogQHByaXZhdGVcXG4gKi9cXG5cXG52YXIgZXhlY3V0ZURpc3BhdGNoZXNBbmRSZWxlYXNlID0gZnVuY3Rpb24gKGV2ZW50KSB7XFxuICBpZiAoZXZlbnQpIHtcXG4gICAgZXhlY3V0ZURpc3BhdGNoZXNJbk9yZGVyKGV2ZW50KTtcXG5cXG4gICAgaWYgKCFldmVudC5pc1BlcnNpc3RlbnQoKSkge1xcbiAgICAgIGV2ZW50LmNvbnN0cnVjdG9yLnJlbGVhc2UoZXZlbnQpO1xcbiAgICB9XFxuICB9XFxufTtcXG5cXG52YXIgZXhlY3V0ZURpc3BhdGNoZXNBbmRSZWxlYXNlVG9wTGV2ZWwgPSBmdW5jdGlvbiAoZSkge1xcbiAgcmV0dXJuIGV4ZWN1dGVEaXNwYXRjaGVzQW5kUmVsZWFzZShlKTtcXG59O1xcblxcbmZ1bmN0aW9uIHJ1bkV2ZW50c0luQmF0Y2goZXZlbnRzKSB7XFxuICBpZiAoZXZlbnRzICE9PSBudWxsKSB7XFxuICAgIGV2ZW50UXVldWUgPSBhY2N1bXVsYXRlSW50byhldmVudFF1ZXVlLCBldmVudHMpO1xcbiAgfSAvLyBTZXQgYGV2ZW50UXVldWVgIHRvIG51bGwgYmVmb3JlIHByb2Nlc3NpbmcgaXQgc28gdGhhdCB3ZSBjYW4gdGVsbCBpZiBtb3JlXFxuICAvLyBldmVudHMgZ2V0IGVucXVldWVkIHdoaWxlIHByb2Nlc3NpbmcuXFxuXFxuXFxuICB2YXIgcHJvY2Vzc2luZ0V2ZW50UXVldWUgPSBldmVudFF1ZXVlO1xcbiAgZXZlbnRRdWV1ZSA9IG51bGw7XFxuXFxuICBpZiAoIXByb2Nlc3NpbmdFdmVudFF1ZXVlKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIGZvckVhY2hBY2N1bXVsYXRlZChwcm9jZXNzaW5nRXZlbnRRdWV1ZSwgZXhlY3V0ZURpc3BhdGNoZXNBbmRSZWxlYXNlVG9wTGV2ZWwpO1xcblxcbiAgaWYgKCEhZXZlbnRRdWV1ZSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJwcm9jZXNzRXZlbnRRdWV1ZSgpOiBBZGRpdGlvbmFsIGV2ZW50cyB3ZXJlIGVucXVldWVkIHdoaWxlIHByb2Nlc3NpbmcgYW4gZXZlbnQgcXVldWUuIFN1cHBvcnQgZm9yIHRoaXMgaGFzIG5vdCB5ZXQgYmVlbiBpbXBsZW1lbnRlZC5cXFwiICk7XFxuICAgIH1cXG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXFxuXFxuXFxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcXG59XFxuXFxuLyoqXFxuICogR2V0cyB0aGUgdGFyZ2V0IG5vZGUgZnJvbSBhIG5hdGl2ZSBicm93c2VyIGV2ZW50IGJ5IGFjY291bnRpbmcgZm9yXFxuICogaW5jb25zaXN0ZW5jaWVzIGluIGJyb3dzZXIgRE9NIEFQSXMuXFxuICpcXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnQgTmF0aXZlIGJyb3dzZXIgZXZlbnQuXFxuICogQHJldHVybiB7RE9NRXZlbnRUYXJnZXR9IFRhcmdldCBub2RlLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KG5hdGl2ZUV2ZW50KSB7XFxuICAvLyBGYWxsYmFjayB0byBuYXRpdmVFdmVudC5zcmNFbGVtZW50IGZvciBJRTlcXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTI1MDZcXG4gIHZhciB0YXJnZXQgPSBuYXRpdmVFdmVudC50YXJnZXQgfHwgbmF0aXZlRXZlbnQuc3JjRWxlbWVudCB8fCB3aW5kb3c7IC8vIE5vcm1hbGl6ZSBTVkcgPHVzZT4gZWxlbWVudCBldmVudHMgIzQ5NjNcXG5cXG4gIGlmICh0YXJnZXQuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnQpIHtcXG4gICAgdGFyZ2V0ID0gdGFyZ2V0LmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50O1xcbiAgfSAvLyBTYWZhcmkgbWF5IGZpcmUgZXZlbnRzIG9uIHRleHQgbm9kZXMgKE5vZGUuVEVYVF9OT0RFIGlzIDMpLlxcbiAgLy8gQHNlZSBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2pzL2V2ZW50c19wcm9wZXJ0aWVzLmh0bWxcXG5cXG5cXG4gIHJldHVybiB0YXJnZXQubm9kZVR5cGUgPT09IFRFWFRfTk9ERSA/IHRhcmdldC5wYXJlbnROb2RlIDogdGFyZ2V0O1xcbn1cXG5cXG4vKipcXG4gKiBDaGVja3MgaWYgYW4gZXZlbnQgaXMgc3VwcG9ydGVkIGluIHRoZSBjdXJyZW50IGV4ZWN1dGlvbiBlbnZpcm9ubWVudC5cXG4gKlxcbiAqIE5PVEU6IFRoaXMgd2lsbCBub3Qgd29yayBjb3JyZWN0bHkgZm9yIG5vbi1nZW5lcmljIGV2ZW50cyBzdWNoIGFzIGBjaGFuZ2VgLFxcbiAqIGByZXNldGAsIGBsb2FkYCwgYGVycm9yYCwgYW5kIGBzZWxlY3RgLlxcbiAqXFxuICogQm9ycm93cyBmcm9tIE1vZGVybml6ci5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVTdWZmaXggRXZlbnQgbmFtZSwgZS5nLiBcXFwiY2xpY2tcXFwiLlxcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IGlzIHN1cHBvcnRlZC5cXG4gKiBAaW50ZXJuYWxcXG4gKiBAbGljZW5zZSBNb2Rlcm5penIgMy4wLjBwcmUgKEN1c3RvbSBCdWlsZCkgfCBNSVRcXG4gKi9cXG5cXG5mdW5jdGlvbiBpc0V2ZW50U3VwcG9ydGVkKGV2ZW50TmFtZVN1ZmZpeCkge1xcbiAgaWYgKCFjYW5Vc2VET00pIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIGV2ZW50TmFtZSA9ICdvbicgKyBldmVudE5hbWVTdWZmaXg7XFxuICB2YXIgaXNTdXBwb3J0ZWQgPSBldmVudE5hbWUgaW4gZG9jdW1lbnQ7XFxuXFxuICBpZiAoIWlzU3VwcG9ydGVkKSB7XFxuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XFxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGV2ZW50TmFtZSwgJ3JldHVybjsnKTtcXG4gICAgaXNTdXBwb3J0ZWQgPSB0eXBlb2YgZWxlbWVudFtldmVudE5hbWVdID09PSAnZnVuY3Rpb24nO1xcbiAgfVxcblxcbiAgcmV0dXJuIGlzU3VwcG9ydGVkO1xcbn1cXG5cXG4vKipcXG4gKiBTdW1tYXJ5IG9mIGBET01FdmVudFBsdWdpblN5c3RlbWAgZXZlbnQgaGFuZGxpbmc6XFxuICpcXG4gKiAgLSBUb3AtbGV2ZWwgZGVsZWdhdGlvbiBpcyB1c2VkIHRvIHRyYXAgbW9zdCBuYXRpdmUgYnJvd3NlciBldmVudHMuIFRoaXNcXG4gKiAgICBtYXkgb25seSBvY2N1ciBpbiB0aGUgbWFpbiB0aHJlYWQgYW5kIGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZlxcbiAqICAgIFJlYWN0RE9NRXZlbnRMaXN0ZW5lciwgd2hpY2ggaXMgaW5qZWN0ZWQgYW5kIGNhbiB0aGVyZWZvcmUgc3VwcG9ydFxcbiAqICAgIHBsdWdnYWJsZSBldmVudCBzb3VyY2VzLiBUaGlzIGlzIHRoZSBvbmx5IHdvcmsgdGhhdCBvY2N1cnMgaW4gdGhlIG1haW5cXG4gKiAgICB0aHJlYWQuXFxuICpcXG4gKiAgLSBXZSBub3JtYWxpemUgYW5kIGRlLWR1cGxpY2F0ZSBldmVudHMgdG8gYWNjb3VudCBmb3IgYnJvd3NlciBxdWlya3MuIFRoaXNcXG4gKiAgICBtYXkgYmUgZG9uZSBpbiB0aGUgd29ya2VyIHRocmVhZC5cXG4gKlxcbiAqICAtIEZvcndhcmQgdGhlc2UgbmF0aXZlIGV2ZW50cyAod2l0aCB0aGUgYXNzb2NpYXRlZCB0b3AtbGV2ZWwgdHlwZSB1c2VkIHRvXFxuICogICAgdHJhcCBpdCkgdG8gYEV2ZW50UGx1Z2luUmVnaXN0cnlgLCB3aGljaCBpbiB0dXJuIHdpbGwgYXNrIHBsdWdpbnMgaWYgdGhleSB3YW50XFxuICogICAgdG8gZXh0cmFjdCBhbnkgc3ludGhldGljIGV2ZW50cy5cXG4gKlxcbiAqICAtIFRoZSBgRXZlbnRQbHVnaW5SZWdpc3RyeWAgd2lsbCB0aGVuIHByb2Nlc3MgZWFjaCBldmVudCBieSBhbm5vdGF0aW5nIHRoZW0gd2l0aFxcbiAqICAgIFxcXCJkaXNwYXRjaGVzXFxcIiwgYSBzZXF1ZW5jZSBvZiBsaXN0ZW5lcnMgYW5kIElEcyB0aGF0IGNhcmUgYWJvdXQgdGhhdCBldmVudC5cXG4gKlxcbiAqICAtIFRoZSBgRXZlbnRQbHVnaW5SZWdpc3RyeWAgdGhlbiBkaXNwYXRjaGVzIHRoZSBldmVudHMuXFxuICpcXG4gKiBPdmVydmlldyBvZiBSZWFjdCBhbmQgdGhlIGV2ZW50IHN5c3RlbTpcXG4gKlxcbiAqICstLS0tLS0tLS0tLS0rICAgIC5cXG4gKiB8ICAgIERPTSAgICAgfCAgICAuXFxuICogKy0tLS0tLS0tLS0tLSsgICAgLlxcbiAqICAgICAgIHwgICAgICAgICAgIC5cXG4gKiAgICAgICB2ICAgICAgICAgICAuXFxuICogKy0tLS0tLS0tLS0tLSsgICAgLlxcbiAqIHwgUmVhY3RFdmVudCB8ICAgIC5cXG4gKiB8ICBMaXN0ZW5lciAgfCAgICAuXFxuICogKy0tLS0tLS0tLS0tLSsgICAgLiAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0rXFxuICogICAgICAgfCAgICAgICAgICAgLiAgICAgICAgICAgICAgICstLS0tLS0tLSt8U2ltcGxlRXZlbnR8XFxuICogICAgICAgfCAgICAgICAgICAgLiAgICAgICAgICAgICAgIHwgICAgICAgICB8UGx1Z2luICAgICB8XFxuICogKy0tLS0tfC0tLS0tLSsgICAgLiAgICAgICAgICAgICAgIHYgICAgICAgICArLS0tLS0tLS0tLS0rXFxuICogfCAgICAgfCAgICAgIHwgICAgLiAgICArLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tK1xcbiAqIHwgICAgICstLS0tLS0tLS0tLS4tLS0+fFBsdWdpblJlZ2lzdHJ5fCAgICAgICAgICAgICAgICAgICAgfCAgICBFdmVudCAgIHxcXG4gKiB8ICAgICAgICAgICAgfCAgICAuICAgIHwgICAgICAgICAgICAgIHwgICAgICstLS0tLS0tLS0tLSsgIHwgUHJvcGFnYXRvcnN8XFxuICogfCBSZWFjdEV2ZW50IHwgICAgLiAgICB8ICAgICAgICAgICAgICB8ICAgICB8VGFwRXZlbnQgICB8ICB8LS0tLS0tLS0tLS0tfFxcbiAqIHwgIEVtaXR0ZXIgICB8ICAgIC4gICAgfCAgICAgICAgICAgICAgfDwtLS0rfFBsdWdpbiAgICAgfCAgfG90aGVyIHBsdWdpbnxcXG4gKiB8ICAgICAgICAgICAgfCAgICAuICAgIHwgICAgICAgICAgICAgIHwgICAgICstLS0tLS0tLS0tLSsgIHwgIHV0aWxpdGllcyB8XFxuICogfCAgICAgKy0tLS0tLS0tLS0tLi0tLT58ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tK1xcbiAqIHwgICAgIHwgICAgICB8ICAgIC4gICAgKy0tLS0tLS0tLS0tLS0tK1xcbiAqICstLS0tLXwtLS0tLS0rICAgIC4gICAgICAgICAgICAgICAgXiAgICAgICAgKy0tLS0tLS0tLS0tK1xcbiAqICAgICAgIHwgICAgICAgICAgIC4gICAgICAgICAgICAgICAgfCAgICAgICAgfEVudGVyL0xlYXZlfFxcbiAqICAgICAgICsgICAgICAgICAgIC4gICAgICAgICAgICAgICAgKy0tLS0tLS0rfFBsdWdpbiAgICAgfFxcbiAqICstLS0tLS0tLS0tLS0tKyAgIC4gICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tK1xcbiAqIHwgYXBwbGljYXRpb24gfCAgIC5cXG4gKiB8LS0tLS0tLS0tLS0tLXwgICAuXFxuICogfCAgICAgICAgICAgICB8ICAgLlxcbiAqIHwgICAgICAgICAgICAgfCAgIC5cXG4gKiArLS0tLS0tLS0tLS0tLSsgICAuXFxuICogICAgICAgICAgICAgICAgICAgLlxcbiAqICAgIFJlYWN0IENvcmUgICAgIC4gIEdlbmVyYWwgUHVycG9zZSBFdmVudCBQbHVnaW4gU3lzdGVtXFxuICovXFxuXFxudmFyIENBTExCQUNLX0JPT0tLRUVQSU5HX1BPT0xfU0laRSA9IDEwO1xcbnZhciBjYWxsYmFja0Jvb2trZWVwaW5nUG9vbCA9IFtdO1xcblxcbmZ1bmN0aW9uIHJlbGVhc2VUb3BMZXZlbENhbGxiYWNrQm9va0tlZXBpbmcoaW5zdGFuY2UpIHtcXG4gIGluc3RhbmNlLnRvcExldmVsVHlwZSA9IG51bGw7XFxuICBpbnN0YW5jZS5uYXRpdmVFdmVudCA9IG51bGw7XFxuICBpbnN0YW5jZS50YXJnZXRJbnN0ID0gbnVsbDtcXG4gIGluc3RhbmNlLmFuY2VzdG9ycy5sZW5ndGggPSAwO1xcblxcbiAgaWYgKGNhbGxiYWNrQm9va2tlZXBpbmdQb29sLmxlbmd0aCA8IENBTExCQUNLX0JPT0tLRUVQSU5HX1BPT0xfU0laRSkge1xcbiAgICBjYWxsYmFja0Jvb2trZWVwaW5nUG9vbC5wdXNoKGluc3RhbmNlKTtcXG4gIH1cXG59IC8vIFVzZWQgdG8gc3RvcmUgYW5jZXN0b3IgaGllcmFyY2h5IGluIHRvcCBsZXZlbCBjYWxsYmFja1xcblxcblxcbmZ1bmN0aW9uIGdldFRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCBldmVudFN5c3RlbUZsYWdzKSB7XFxuICBpZiAoY2FsbGJhY2tCb29ra2VlcGluZ1Bvb2wubGVuZ3RoKSB7XFxuICAgIHZhciBpbnN0YW5jZSA9IGNhbGxiYWNrQm9va2tlZXBpbmdQb29sLnBvcCgpO1xcbiAgICBpbnN0YW5jZS50b3BMZXZlbFR5cGUgPSB0b3BMZXZlbFR5cGU7XFxuICAgIGluc3RhbmNlLmV2ZW50U3lzdGVtRmxhZ3MgPSBldmVudFN5c3RlbUZsYWdzO1xcbiAgICBpbnN0YW5jZS5uYXRpdmVFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICBpbnN0YW5jZS50YXJnZXRJbnN0ID0gdGFyZ2V0SW5zdDtcXG4gICAgcmV0dXJuIGluc3RhbmNlO1xcbiAgfVxcblxcbiAgcmV0dXJuIHtcXG4gICAgdG9wTGV2ZWxUeXBlOiB0b3BMZXZlbFR5cGUsXFxuICAgIGV2ZW50U3lzdGVtRmxhZ3M6IGV2ZW50U3lzdGVtRmxhZ3MsXFxuICAgIG5hdGl2ZUV2ZW50OiBuYXRpdmVFdmVudCxcXG4gICAgdGFyZ2V0SW5zdDogdGFyZ2V0SW5zdCxcXG4gICAgYW5jZXN0b3JzOiBbXVxcbiAgfTtcXG59XFxuLyoqXFxuICogRmluZCB0aGUgZGVlcGVzdCBSZWFjdCBjb21wb25lbnQgY29tcGxldGVseSBjb250YWluaW5nIHRoZSByb290IG9mIHRoZVxcbiAqIHBhc3NlZC1pbiBpbnN0YW5jZSAoZm9yIHVzZSB3aGVuIGVudGlyZSBSZWFjdCB0cmVlcyBhcmUgbmVzdGVkIHdpdGhpbiBlYWNoXFxuICogb3RoZXIpLiBJZiBSZWFjdCB0cmVlcyBhcmUgbm90IG5lc3RlZCwgcmV0dXJucyBudWxsLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGZpbmRSb290Q29udGFpbmVyTm9kZShpbnN0KSB7XFxuICBpZiAoaW5zdC50YWcgPT09IEhvc3RSb290KSB7XFxuICAgIHJldHVybiBpbnN0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgfSAvLyBUT0RPOiBJdCBtYXkgYmUgYSBnb29kIGlkZWEgdG8gY2FjaGUgdGhpcyB0byBwcmV2ZW50IHVubmVjZXNzYXJ5IERPTVxcbiAgLy8gdHJhdmVyc2FsLCBidXQgY2FjaGluZyBpcyBkaWZmaWN1bHQgdG8gZG8gY29ycmVjdGx5IHdpdGhvdXQgdXNpbmcgYVxcbiAgLy8gbXV0YXRpb24gb2JzZXJ2ZXIgdG8gbGlzdGVuIGZvciBhbGwgRE9NIGNoYW5nZXMuXFxuXFxuXFxuICB3aGlsZSAoaW5zdC5yZXR1cm4pIHtcXG4gICAgaW5zdCA9IGluc3QucmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKGluc3QudGFnICE9PSBIb3N0Um9vdCkge1xcbiAgICAvLyBUaGlzIGNhbiBoYXBwZW4gaWYgd2UncmUgaW4gYSBkZXRhY2hlZCB0cmVlLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHJldHVybiBpbnN0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbn1cXG4vKipcXG4gKiBBbGxvd3MgcmVnaXN0ZXJlZCBwbHVnaW5zIGFuIG9wcG9ydHVuaXR5IHRvIGV4dHJhY3QgZXZlbnRzIGZyb20gdG9wLWxldmVsXFxuICogbmF0aXZlIGJyb3dzZXIgZXZlbnRzLlxcbiAqXFxuICogQHJldHVybiB7Kn0gQW4gYWNjdW11bGF0aW9uIG9mIHN5bnRoZXRpYyBldmVudHMuXFxuICogQGludGVybmFsXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZXh0cmFjdFBsdWdpbkV2ZW50cyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgdmFyIGV2ZW50cyA9IG51bGw7XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHBsdWdpbnMubGVuZ3RoOyBpKyspIHtcXG4gICAgLy8gTm90IGV2ZXJ5IHBsdWdpbiBpbiB0aGUgb3JkZXJpbmcgbWF5IGJlIGxvYWRlZCBhdCBydW50aW1lLlxcbiAgICB2YXIgcG9zc2libGVQbHVnaW4gPSBwbHVnaW5zW2ldO1xcblxcbiAgICBpZiAocG9zc2libGVQbHVnaW4pIHtcXG4gICAgICB2YXIgZXh0cmFjdGVkRXZlbnRzID0gcG9zc2libGVQbHVnaW4uZXh0cmFjdEV2ZW50cyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XFxuXFxuICAgICAgaWYgKGV4dHJhY3RlZEV2ZW50cykge1xcbiAgICAgICAgZXZlbnRzID0gYWNjdW11bGF0ZUludG8oZXZlbnRzLCBleHRyYWN0ZWRFdmVudHMpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGV2ZW50cztcXG59XFxuXFxuZnVuY3Rpb24gcnVuRXh0cmFjdGVkUGx1Z2luRXZlbnRzSW5CYXRjaCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgdmFyIGV2ZW50cyA9IGV4dHJhY3RQbHVnaW5FdmVudHModG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpO1xcbiAgcnVuRXZlbnRzSW5CYXRjaChldmVudHMpO1xcbn1cXG5cXG5mdW5jdGlvbiBoYW5kbGVUb3BMZXZlbChib29rS2VlcGluZykge1xcbiAgdmFyIHRhcmdldEluc3QgPSBib29rS2VlcGluZy50YXJnZXRJbnN0OyAvLyBMb29wIHRocm91Z2ggdGhlIGhpZXJhcmNoeSwgaW4gY2FzZSB0aGVyZSdzIGFueSBuZXN0ZWQgY29tcG9uZW50cy5cXG4gIC8vIEl0J3MgaW1wb3J0YW50IHRoYXQgd2UgYnVpbGQgdGhlIGFycmF5IG9mIGFuY2VzdG9ycyBiZWZvcmUgY2FsbGluZyBhbnlcXG4gIC8vIGV2ZW50IGhhbmRsZXJzLCBiZWNhdXNlIGV2ZW50IGhhbmRsZXJzIGNhbiBtb2RpZnkgdGhlIERPTSwgbGVhZGluZyB0b1xcbiAgLy8gaW5jb25zaXN0ZW5jaWVzIHdpdGggUmVhY3RNb3VudCdzIG5vZGUgY2FjaGUuIFNlZSAjMTEwNS5cXG5cXG4gIHZhciBhbmNlc3RvciA9IHRhcmdldEluc3Q7XFxuXFxuICBkbyB7XFxuICAgIGlmICghYW5jZXN0b3IpIHtcXG4gICAgICB2YXIgYW5jZXN0b3JzID0gYm9va0tlZXBpbmcuYW5jZXN0b3JzO1xcbiAgICAgIGFuY2VzdG9ycy5wdXNoKGFuY2VzdG9yKTtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICB2YXIgcm9vdCA9IGZpbmRSb290Q29udGFpbmVyTm9kZShhbmNlc3Rvcik7XFxuXFxuICAgIGlmICghcm9vdCkge1xcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciB0YWcgPSBhbmNlc3Rvci50YWc7XFxuXFxuICAgIGlmICh0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgIGJvb2tLZWVwaW5nLmFuY2VzdG9ycy5wdXNoKGFuY2VzdG9yKTtcXG4gICAgfVxcblxcbiAgICBhbmNlc3RvciA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHJvb3QpO1xcbiAgfSB3aGlsZSAoYW5jZXN0b3IpO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBib29rS2VlcGluZy5hbmNlc3RvcnMubGVuZ3RoOyBpKyspIHtcXG4gICAgdGFyZ2V0SW5zdCA9IGJvb2tLZWVwaW5nLmFuY2VzdG9yc1tpXTtcXG4gICAgdmFyIGV2ZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQoYm9va0tlZXBpbmcubmF0aXZlRXZlbnQpO1xcbiAgICB2YXIgdG9wTGV2ZWxUeXBlID0gYm9va0tlZXBpbmcudG9wTGV2ZWxUeXBlO1xcbiAgICB2YXIgbmF0aXZlRXZlbnQgPSBib29rS2VlcGluZy5uYXRpdmVFdmVudDtcXG4gICAgdmFyIGV2ZW50U3lzdGVtRmxhZ3MgPSBib29rS2VlcGluZy5ldmVudFN5c3RlbUZsYWdzOyAvLyBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhbmNlc3Rvciwgd2UgbWFyayBpdCBvbiB0aGUgc3lzdGVtIGZsYWdzXFxuXFxuICAgIGlmIChpID09PSAwKSB7XFxuICAgICAgZXZlbnRTeXN0ZW1GbGFncyB8PSBJU19GSVJTVF9BTkNFU1RPUjtcXG4gICAgfVxcblxcbiAgICBydW5FeHRyYWN0ZWRQbHVnaW5FdmVudHNJbkJhdGNoKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIGV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZGlzcGF0Y2hFdmVudEZvckxlZ2FjeVBsdWdpbkV2ZW50U3lzdGVtKHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgbmF0aXZlRXZlbnQsIHRhcmdldEluc3QpIHtcXG4gIHZhciBib29rS2VlcGluZyA9IGdldFRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCBldmVudFN5c3RlbUZsYWdzKTtcXG5cXG4gIHRyeSB7XFxuICAgIC8vIEV2ZW50IHF1ZXVlIGJlaW5nIHByb2Nlc3NlZCBpbiB0aGUgc2FtZSBjeWNsZSBhbGxvd3NcXG4gICAgLy8gYHByZXZlbnREZWZhdWx0YC5cXG4gICAgYmF0Y2hlZEV2ZW50VXBkYXRlcyhoYW5kbGVUb3BMZXZlbCwgYm9va0tlZXBpbmcpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgcmVsZWFzZVRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyhib29rS2VlcGluZyk7XFxuICB9XFxufVxcbi8qKlxcbiAqIFdlIGxpc3RlbiBmb3IgYnViYmxlZCB0b3VjaCBldmVudHMgb24gdGhlIGRvY3VtZW50IG9iamVjdC5cXG4gKlxcbiAqIEZpcmVmb3ggdjguMDEgKGFuZCBwb3NzaWJseSBvdGhlcnMpIGV4aGliaXRlZCBzdHJhbmdlIGJlaGF2aW9yIHdoZW5cXG4gKiBtb3VudGluZyBgb25tb3VzZW1vdmVgIGV2ZW50cyBhdCBzb21lIG5vZGUgdGhhdCB3YXMgbm90IHRoZSBkb2N1bWVudFxcbiAqIGVsZW1lbnQuIFRoZSBzeW1wdG9tcyB3ZXJlIHRoYXQgaWYgeW91ciBtb3VzZSBpcyBub3QgbW92aW5nIG92ZXIgc29tZXRoaW5nXFxuICogY29udGFpbmVkIHdpdGhpbiB0aGF0IG1vdW50IHBvaW50IChmb3IgZXhhbXBsZSBvbiB0aGUgYmFja2dyb3VuZCkgdGhlXFxuICogdG9wLWxldmVsIGxpc3RlbmVycyBmb3IgYG9ubW91c2Vtb3ZlYCB3b24ndCBiZSBjYWxsZWQuIEhvd2V2ZXIsIGlmIHlvdVxcbiAqIHJlZ2lzdGVyIHRoZSBgbW91c2Vtb3ZlYCBvbiB0aGUgZG9jdW1lbnQgb2JqZWN0LCB0aGVuIGl0IHdpbGwgb2YgY291cnNlXFxuICogY2F0Y2ggYWxsIGBtb3VzZW1vdmVgcy4gVGhpcyBhbG9uZyB3aXRoIGlPUyBxdWlya3MsIGp1c3RpZmllcyByZXN0cmljdGluZ1xcbiAqIHRvcC1sZXZlbCBsaXN0ZW5lcnMgdG8gdGhlIGRvY3VtZW50IG9iamVjdCBvbmx5LCBhdCBsZWFzdCBmb3IgdGhlc2VcXG4gKiBtb3ZlbWVudCB0eXBlcyBvZiBldmVudHMgYW5kIHBvc3NpYmx5IGFsbCBldmVudHMuXFxuICpcXG4gKiBAc2VlIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDEwLzA5L2NsaWNrX2V2ZW50X2RlbC5odG1sXFxuICpcXG4gKiBBbHNvLCBga2V5dXBgL2BrZXlwcmVzc2AvYGtleWRvd25gIGRvIG5vdCBidWJibGUgdG8gdGhlIHdpbmRvdyBvbiBJRSwgYnV0XFxuICogdGhleSBidWJibGUgdG8gZG9jdW1lbnQuXFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVnaXN0cmF0aW9uTmFtZSBOYW1lIG9mIGxpc3RlbmVyIChlLmcuIGBvbkNsaWNrYCkuXFxuICogQHBhcmFtIHtvYmplY3R9IG1vdW50QXQgQ29udGFpbmVyIHdoZXJlIHRvIG1vdW50IHRoZSBsaXN0ZW5lclxcbiAqL1xcblxcbmZ1bmN0aW9uIGxlZ2FjeUxpc3RlblRvRXZlbnQocmVnaXN0cmF0aW9uTmFtZSwgbW91bnRBdCkge1xcbiAgdmFyIGxpc3RlbmVyTWFwID0gZ2V0TGlzdGVuZXJNYXBGb3JFbGVtZW50KG1vdW50QXQpO1xcbiAgdmFyIGRlcGVuZGVuY2llcyA9IHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV07XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRlcGVuZGVuY2llcy5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgZGVwZW5kZW5jeSA9IGRlcGVuZGVuY2llc1tpXTtcXG4gICAgbGVnYWN5TGlzdGVuVG9Ub3BMZXZlbEV2ZW50KGRlcGVuZGVuY3ksIG1vdW50QXQsIGxpc3RlbmVyTWFwKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gbGVnYWN5TGlzdGVuVG9Ub3BMZXZlbEV2ZW50KHRvcExldmVsVHlwZSwgbW91bnRBdCwgbGlzdGVuZXJNYXApIHtcXG4gIGlmICghbGlzdGVuZXJNYXAuaGFzKHRvcExldmVsVHlwZSkpIHtcXG4gICAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgICBjYXNlIFRPUF9TQ1JPTEw6XFxuICAgICAgICB0cmFwQ2FwdHVyZWRFdmVudChUT1BfU0NST0xMLCBtb3VudEF0KTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxcbiAgICAgIGNhc2UgVE9QX0JMVVI6XFxuICAgICAgICB0cmFwQ2FwdHVyZWRFdmVudChUT1BfRk9DVVMsIG1vdW50QXQpO1xcbiAgICAgICAgdHJhcENhcHR1cmVkRXZlbnQoVE9QX0JMVVIsIG1vdW50QXQpOyAvLyBXZSBzZXQgdGhlIGZsYWcgZm9yIGEgc2luZ2xlIGRlcGVuZGVuY3kgbGF0ZXIgaW4gdGhpcyBmdW5jdGlvbixcXG4gICAgICAgIC8vIGJ1dCB0aGlzIGVuc3VyZXMgd2UgbWFyayBib3RoIGFzIGF0dGFjaGVkIHJhdGhlciB0aGFuIGp1c3Qgb25lLlxcblxcbiAgICAgICAgbGlzdGVuZXJNYXAuc2V0KFRPUF9CTFVSLCBudWxsKTtcXG4gICAgICAgIGxpc3RlbmVyTWFwLnNldChUT1BfRk9DVVMsIG51bGwpO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ0FOQ0VMOlxcbiAgICAgIGNhc2UgVE9QX0NMT1NFOlxcbiAgICAgICAgaWYgKGlzRXZlbnRTdXBwb3J0ZWQoZ2V0UmF3RXZlbnROYW1lKHRvcExldmVsVHlwZSkpKSB7XFxuICAgICAgICAgIHRyYXBDYXB0dXJlZEV2ZW50KHRvcExldmVsVHlwZSwgbW91bnRBdCk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9JTlZBTElEOlxcbiAgICAgIGNhc2UgVE9QX1NVQk1JVDpcXG4gICAgICBjYXNlIFRPUF9SRVNFVDpcXG4gICAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVtIG9uIHRoZSB0YXJnZXQgRE9NIGVsZW1lbnRzLlxcbiAgICAgICAgLy8gU29tZSBvZiB0aGVtIGJ1YmJsZSBzbyB3ZSBkb24ndCB3YW50IHRoZW0gdG8gZmlyZSB0d2ljZS5cXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICAvLyBCeSBkZWZhdWx0LCBsaXN0ZW4gb24gdGhlIHRvcCBsZXZlbCB0byBhbGwgbm9uLW1lZGlhIGV2ZW50cy5cXG4gICAgICAgIC8vIE1lZGlhIGV2ZW50cyBkb24ndCBidWJibGUgc28gYWRkaW5nIHRoZSBsaXN0ZW5lciB3b3VsZG4ndCBkbyBhbnl0aGluZy5cXG4gICAgICAgIHZhciBpc01lZGlhRXZlbnQgPSBtZWRpYUV2ZW50VHlwZXMuaW5kZXhPZih0b3BMZXZlbFR5cGUpICE9PSAtMTtcXG5cXG4gICAgICAgIGlmICghaXNNZWRpYUV2ZW50KSB7XFxuICAgICAgICAgIHRyYXBCdWJibGVkRXZlbnQodG9wTGV2ZWxUeXBlLCBtb3VudEF0KTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIGxpc3RlbmVyTWFwLnNldCh0b3BMZXZlbFR5cGUsIG51bGwpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBpc0xpc3RlbmluZ1RvQWxsRGVwZW5kZW5jaWVzKHJlZ2lzdHJhdGlvbk5hbWUsIG1vdW50QXQpIHtcXG4gIHZhciBsaXN0ZW5lck1hcCA9IGdldExpc3RlbmVyTWFwRm9yRWxlbWVudChtb3VudEF0KTtcXG4gIHZhciBkZXBlbmRlbmNpZXMgPSByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzW3JlZ2lzdHJhdGlvbk5hbWVdO1xcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkZXBlbmRlbmNpZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgdmFyIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmNpZXNbaV07XFxuXFxuICAgIGlmICghbGlzdGVuZXJNYXAuaGFzKGRlcGVuZGVuY3kpKSB7XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuXFxudmFyIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb247XFxuZnVuY3Rpb24gc2V0QXR0ZW1wdFVzZXJCbG9ja2luZ0h5ZHJhdGlvbihmbikge1xcbiAgYXR0ZW1wdFVzZXJCbG9ja2luZ0h5ZHJhdGlvbiA9IGZuO1xcbn1cXG52YXIgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb247XFxuZnVuY3Rpb24gc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oZm4pIHtcXG4gIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uID0gZm47XFxufVxcbnZhciBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHk7XFxuZnVuY3Rpb24gc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5KGZuKSB7XFxuICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkgPSBmbjtcXG59IC8vIFRPRE86IFVwZ3JhZGUgdGhpcyBkZWZpbml0aW9uIG9uY2Ugd2UncmUgb24gYSBuZXdlciB2ZXJzaW9uIG9mIEZsb3cgdGhhdFxcbnZhciBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7IC8vIFRoZSBxdWV1ZSBvZiBkaXNjcmV0ZSBldmVudHMgdG8gYmUgcmVwbGF5ZWQuXFxuXFxudmFyIHF1ZXVlZERpc2NyZXRlRXZlbnRzID0gW107IC8vIEluZGljYXRlcyBpZiBhbnkgY29udGludW91cyBldmVudCB0YXJnZXRzIGFyZSBub24tbnVsbCBmb3IgZWFybHkgYmFpbG91dC5cXG4vLyBpZiB0aGUgbGFzdCB0YXJnZXQgd2FzIGRlaHlkcmF0ZWQuXFxuXFxudmFyIHF1ZXVlZEZvY3VzID0gbnVsbDtcXG52YXIgcXVldWVkRHJhZyA9IG51bGw7XFxudmFyIHF1ZXVlZE1vdXNlID0gbnVsbDsgLy8gRm9yIHBvaW50ZXIgZXZlbnRzIHRoZXJlIGNhbiBiZSBvbmUgbGF0ZXN0IGV2ZW50IHBlciBwb2ludGVySWQuXFxuXFxudmFyIHF1ZXVlZFBvaW50ZXJzID0gbmV3IE1hcCgpO1xcbnZhciBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMgPSBuZXcgTWFwKCk7IC8vIFdlIGNvdWxkIGNvbnNpZGVyIHJlcGxheWluZyBzZWxlY3Rpb25jaGFuZ2UgYW5kIHRvdWNobW92ZXMgdG9vLlxcblxcbnZhciBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMgPSBbXTtcXG5mdW5jdGlvbiBoYXNRdWV1ZWREaXNjcmV0ZUV2ZW50cygpIHtcXG4gIHJldHVybiBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5sZW5ndGggPiAwO1xcbn1cXG52YXIgZGlzY3JldGVSZXBsYXlhYmxlRXZlbnRzID0gW1RPUF9NT1VTRV9ET1dOLCBUT1BfTU9VU0VfVVAsIFRPUF9UT1VDSF9DQU5DRUwsIFRPUF9UT1VDSF9FTkQsIFRPUF9UT1VDSF9TVEFSVCwgVE9QX0FVWF9DTElDSywgVE9QX0RPVUJMRV9DTElDSywgVE9QX1BPSU5URVJfQ0FOQ0VMLCBUT1BfUE9JTlRFUl9ET1dOLCBUT1BfUE9JTlRFUl9VUCwgVE9QX0RSQUdfRU5ELCBUT1BfRFJBR19TVEFSVCwgVE9QX0RST1AsIFRPUF9DT01QT1NJVElPTl9FTkQsIFRPUF9DT01QT1NJVElPTl9TVEFSVCwgVE9QX0tFWV9ET1dOLCBUT1BfS0VZX1BSRVNTLCBUT1BfS0VZX1VQLCBUT1BfSU5QVVQsIFRPUF9URVhUX0lOUFVULCBUT1BfQ0xPU0UsIFRPUF9DQU5DRUwsIFRPUF9DT1BZLCBUT1BfQ1VULCBUT1BfUEFTVEUsIFRPUF9DTElDSywgVE9QX0NIQU5HRSwgVE9QX0NPTlRFWFRfTUVOVSwgVE9QX1JFU0VULCBUT1BfU1VCTUlUXTtcXG52YXIgY29udGludW91c1JlcGxheWFibGVFdmVudHMgPSBbVE9QX0ZPQ1VTLCBUT1BfQkxVUiwgVE9QX0RSQUdfRU5URVIsIFRPUF9EUkFHX0xFQVZFLCBUT1BfTU9VU0VfT1ZFUiwgVE9QX01PVVNFX09VVCwgVE9QX1BPSU5URVJfT1ZFUiwgVE9QX1BPSU5URVJfT1VULCBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRSwgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFXTtcXG5mdW5jdGlvbiBpc1JlcGxheWFibGVEaXNjcmV0ZUV2ZW50KGV2ZW50VHlwZSkge1xcbiAgcmV0dXJuIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cy5pbmRleE9mKGV2ZW50VHlwZSkgPiAtMTtcXG59XFxuXFxuZnVuY3Rpb24gdHJhcFJlcGxheWFibGVFdmVudEZvckRvY3VtZW50KHRvcExldmVsVHlwZSwgZG9jdW1lbnQsIGxpc3RlbmVyTWFwKSB7XFxuICBsZWdhY3lMaXN0ZW5Ub1RvcExldmVsRXZlbnQodG9wTGV2ZWxUeXBlLCBkb2N1bWVudCwgbGlzdGVuZXJNYXApO1xcbn1cXG5cXG5mdW5jdGlvbiBlYWdlcmx5VHJhcFJlcGxheWFibGVFdmVudHMoY29udGFpbmVyLCBkb2N1bWVudCkge1xcbiAgdmFyIGxpc3RlbmVyTWFwRm9yRG9jID0gZ2V0TGlzdGVuZXJNYXBGb3JFbGVtZW50KGRvY3VtZW50KTsgLy8gRGlzY3JldGVcXG5cXG4gIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgdHJhcFJlcGxheWFibGVFdmVudEZvckRvY3VtZW50KHRvcExldmVsVHlwZSwgZG9jdW1lbnQsIGxpc3RlbmVyTWFwRm9yRG9jKTtcXG4gIH0pOyAvLyBDb250aW51b3VzXFxuXFxuICBjb250aW51b3VzUmVwbGF5YWJsZUV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgdHJhcFJlcGxheWFibGVFdmVudEZvckRvY3VtZW50KHRvcExldmVsVHlwZSwgZG9jdW1lbnQsIGxpc3RlbmVyTWFwRm9yRG9jKTtcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIHJldHVybiB7XFxuICAgIGJsb2NrZWRPbjogYmxvY2tlZE9uLFxcbiAgICB0b3BMZXZlbFR5cGU6IHRvcExldmVsVHlwZSxcXG4gICAgZXZlbnRTeXN0ZW1GbGFnczogZXZlbnRTeXN0ZW1GbGFncyB8IElTX1JFUExBWUVELFxcbiAgICBuYXRpdmVFdmVudDogbmF0aXZlRXZlbnQsXFxuICAgIGNvbnRhaW5lcjogY29udGFpbmVyXFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBxdWV1ZURpc2NyZXRlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIHZhciBxdWV1ZWRFdmVudCA9IGNyZWF0ZVF1ZXVlZFJlcGxheWFibGVFdmVudChibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCk7XFxuICBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5wdXNoKHF1ZXVlZEV2ZW50KTtcXG59IC8vIFJlc2V0cyB0aGUgcmVwbGF5aW5nIGZvciB0aGlzIHR5cGUgb2YgY29udGludW91cyBldmVudCB0byBubyBldmVudC5cXG5cXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpIHtcXG4gIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XFxuICAgIGNhc2UgVE9QX0ZPQ1VTOlxcbiAgICBjYXNlIFRPUF9CTFVSOlxcbiAgICAgIHF1ZXVlZEZvY3VzID0gbnVsbDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBUT1BfRFJBR19FTlRFUjpcXG4gICAgY2FzZSBUT1BfRFJBR19MRUFWRTpcXG4gICAgICBxdWV1ZWREcmFnID0gbnVsbDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcXG4gICAgY2FzZSBUT1BfTU9VU0VfT1VUOlxcbiAgICAgIHF1ZXVlZE1vdXNlID0gbnVsbDtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBUT1BfUE9JTlRFUl9PVkVSOlxcbiAgICBjYXNlIFRPUF9QT0lOVEVSX09VVDpcXG4gICAgICB7XFxuICAgICAgICB2YXIgcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuZGVsZXRlKHBvaW50ZXJJZCk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgVE9QX0dPVF9QT0lOVEVSX0NBUFRVUkU6XFxuICAgIGNhc2UgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFOlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfcG9pbnRlcklkID0gbmF0aXZlRXZlbnQucG9pbnRlcklkO1xcbiAgICAgICAgcXVldWVkUG9pbnRlckNhcHR1cmVzLmRlbGV0ZShfcG9pbnRlcklkKTtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChleGlzdGluZ1F1ZXVlZEV2ZW50LCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcXG4gICAgdmFyIHF1ZXVlZEV2ZW50ID0gY3JlYXRlUXVldWVkUmVwbGF5YWJsZUV2ZW50KGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG5cXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBfZmliZXIyID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKGJsb2NrZWRPbik7XFxuXFxuICAgICAgaWYgKF9maWJlcjIgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIEF0dGVtcHQgdG8gaW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgdGFyZ2V0LlxcbiAgICAgICAgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oX2ZpYmVyMik7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBxdWV1ZWRFdmVudDtcXG4gIH0gLy8gSWYgd2UgaGF2ZSBhbHJlYWR5IHF1ZXVlZCB0aGlzIGV4YWN0IGV2ZW50LCB0aGVuIGl0J3MgYmVjYXVzZVxcbiAgLy8gdGhlIGRpZmZlcmVudCBldmVudCBzeXN0ZW1zIGhhdmUgZGlmZmVyZW50IERPTSBldmVudCBsaXN0ZW5lcnMuXFxuICAvLyBXZSBjYW4gYWNjdW11bGF0ZSB0aGUgZmxhZ3MgYW5kIHN0b3JlIGEgc2luZ2xlIGV2ZW50IHRvIGJlXFxuICAvLyByZXBsYXllZC5cXG5cXG5cXG4gIGV4aXN0aW5nUXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncyB8PSBldmVudFN5c3RlbUZsYWdzO1xcbiAgcmV0dXJuIGV4aXN0aW5nUXVldWVkRXZlbnQ7XFxufVxcblxcbmZ1bmN0aW9uIHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIC8vIFRoZXNlIHNldCByZWxhdGVkVGFyZ2V0IHRvIG51bGwgYmVjYXVzZSB0aGUgcmVwbGF5ZWQgZXZlbnQgd2lsbCBiZSB0cmVhdGVkIGFzIGlmIHdlXFxuICAvLyBtb3ZlZCBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdyAobm8gdGFyZ2V0KSBvbnRvIHRoZSB0YXJnZXQgb25jZSBpdCBoeWRyYXRlcy5cXG4gIC8vIEluc3RlYWQgb2YgbXV0YXRpbmcgd2UgY291bGQgY2xvbmUgdGhlIGV2ZW50LlxcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgY2FzZSBUT1BfRk9DVVM6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGZvY3VzRXZlbnQgPSBuYXRpdmVFdmVudDtcXG4gICAgICAgIHF1ZXVlZEZvY3VzID0gYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRGb2N1cywgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgZm9jdXNFdmVudCk7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgVE9QX0RSQUdfRU5URVI6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGRyYWdFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICAgICAgcXVldWVkRHJhZyA9IGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkRHJhZywgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgZHJhZ0V2ZW50KTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcXG4gICAgICB7XFxuICAgICAgICB2YXIgbW91c2VFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICAgICAgcXVldWVkTW91c2UgPSBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZE1vdXNlLCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBtb3VzZUV2ZW50KTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBUT1BfUE9JTlRFUl9PVkVSOlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBwb2ludGVyRXZlbnQgPSBuYXRpdmVFdmVudDtcXG4gICAgICAgIHZhciBwb2ludGVySWQgPSBwb2ludGVyRXZlbnQucG9pbnRlcklkO1xcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuc2V0KHBvaW50ZXJJZCwgYWNjdW11bGF0ZU9yQ3JlYXRlQ29udGludW91c1F1ZXVlZFJlcGxheWFibGVFdmVudChxdWV1ZWRQb2ludGVycy5nZXQocG9pbnRlcklkKSB8fCBudWxsLCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBwb2ludGVyRXZlbnQpKTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRTpcXG4gICAgICB7XFxuICAgICAgICB2YXIgX3BvaW50ZXJFdmVudCA9IG5hdGl2ZUV2ZW50O1xcbiAgICAgICAgdmFyIF9wb2ludGVySWQyID0gX3BvaW50ZXJFdmVudC5wb2ludGVySWQ7XFxuICAgICAgICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuc2V0KF9wb2ludGVySWQyLCBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5nZXQoX3BvaW50ZXJJZDIpIHx8IG51bGwsIGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIF9wb2ludGVyRXZlbnQpKTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59IC8vIENoZWNrIGlmIHRoaXMgdGFyZ2V0IGlzIHVuYmxvY2tlZC4gUmV0dXJucyB0cnVlIGlmIGl0J3MgdW5ibG9ja2VkLlxcblxcbmZ1bmN0aW9uIGF0dGVtcHRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldChxdWV1ZWRUYXJnZXQpIHtcXG4gIC8vIFRPRE86IFRoaXMgZnVuY3Rpb24gc2hhcmVzIGEgbG90IG9mIGxvZ2ljIHdpdGggYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudC5cXG4gIC8vIFRyeSB0byB1bmlmeSB0aGVtLiBJdCdzIGEgYml0IHRyaWNreSBzaW5jZSBpdCB3b3VsZCByZXF1aXJlIHR3byByZXR1cm5cXG4gIC8vIHZhbHVlcy5cXG4gIHZhciB0YXJnZXRJbnN0ID0gZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUocXVldWVkVGFyZ2V0LnRhcmdldCk7XFxuXFxuICBpZiAodGFyZ2V0SW5zdCAhPT0gbnVsbCkge1xcbiAgICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBnZXROZWFyZXN0TW91bnRlZEZpYmVyKHRhcmdldEluc3QpO1xcblxcbiAgICBpZiAobmVhcmVzdE1vdW50ZWQgIT09IG51bGwpIHtcXG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xcblxcbiAgICAgIGlmICh0YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcXG5cXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSdyZSBibG9ja2VkIG9uIGh5ZHJhdGluZyB0aGlzIGJvdW5kYXJ5LlxcbiAgICAgICAgICAvLyBJbmNyZWFzZSBpdHMgcHJpb3JpdHkuXFxuICAgICAgICAgIHF1ZXVlZFRhcmdldC5ibG9ja2VkT24gPSBpbnN0YW5jZTtcXG4gICAgICAgICAgU2NoZWR1bGVyLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eShxdWV1ZWRUYXJnZXQucHJpb3JpdHksIGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkobmVhcmVzdE1vdW50ZWQpO1xcbiAgICAgICAgICB9KTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSBpZiAodGFnID09PSBIb3N0Um9vdCkge1xcbiAgICAgICAgdmFyIHJvb3QgPSBuZWFyZXN0TW91bnRlZC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAocm9vdC5oeWRyYXRlKSB7XFxuICAgICAgICAgIHF1ZXVlZFRhcmdldC5ibG9ja2VkT24gPSBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpOyAvLyBXZSBkb24ndCBjdXJyZW50bHkgaGF2ZSBhIHdheSB0byBpbmNyZWFzZSB0aGUgcHJpb3JpdHkgb2ZcXG4gICAgICAgICAgLy8gYSByb290IG90aGVyIHRoYW4gc3luYy5cXG5cXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnQocXVldWVkRXZlbnQpIHtcXG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gIT09IG51bGwpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIG5leHRCbG9ja2VkT24gPSBhdHRlbXB0VG9EaXNwYXRjaEV2ZW50KHF1ZXVlZEV2ZW50LnRvcExldmVsVHlwZSwgcXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncywgcXVldWVkRXZlbnQuY29udGFpbmVyLCBxdWV1ZWRFdmVudC5uYXRpdmVFdmVudCk7XFxuXFxuICBpZiAobmV4dEJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXFxuICAgIHZhciBfZmliZXIzID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5leHRCbG9ja2VkT24pO1xcblxcbiAgICBpZiAoX2ZpYmVyMyAhPT0gbnVsbCkge1xcbiAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjMpO1xcbiAgICB9XFxuXFxuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50SW5NYXAocXVldWVkRXZlbnQsIGtleSwgbWFwKSB7XFxuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcXG4gICAgbWFwLmRlbGV0ZShrZXkpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiByZXBsYXlVbmJsb2NrZWRFdmVudHMoKSB7XFxuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7IC8vIEZpcnN0IHJlcGxheSBkaXNjcmV0ZSBldmVudHMuXFxuXFxuICB3aGlsZSAocXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoID4gMCkge1xcbiAgICB2YXIgbmV4dERpc2NyZXRlRXZlbnQgPSBxdWV1ZWREaXNjcmV0ZUV2ZW50c1swXTtcXG5cXG4gICAgaWYgKG5leHREaXNjcmV0ZUV2ZW50LmJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXFxuICAgICAgLy8gSW5jcmVhc2UgdGhlIHByaW9yaXR5IG9mIHRoaXMgYm91bmRhcnkgdG8gdW5ibG9ja1xcbiAgICAgIC8vIHRoZSBuZXh0IGRpc2NyZXRlIGV2ZW50LlxcbiAgICAgIHZhciBfZmliZXI0ID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5leHREaXNjcmV0ZUV2ZW50LmJsb2NrZWRPbik7XFxuXFxuICAgICAgaWYgKF9maWJlcjQgIT09IG51bGwpIHtcXG4gICAgICAgIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24oX2ZpYmVyNCk7XFxuICAgICAgfVxcblxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciBuZXh0QmxvY2tlZE9uID0gYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudChuZXh0RGlzY3JldGVFdmVudC50b3BMZXZlbFR5cGUsIG5leHREaXNjcmV0ZUV2ZW50LmV2ZW50U3lzdGVtRmxhZ3MsIG5leHREaXNjcmV0ZUV2ZW50LmNvbnRhaW5lciwgbmV4dERpc2NyZXRlRXZlbnQubmF0aXZlRXZlbnQpO1xcblxcbiAgICBpZiAobmV4dEJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuIFRyeSBhZ2FpbiBsYXRlci5cXG4gICAgICBuZXh0RGlzY3JldGVFdmVudC5ibG9ja2VkT24gPSBuZXh0QmxvY2tlZE9uO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFdlJ3ZlIHN1Y2Nlc3NmdWxseSByZXBsYXllZCB0aGUgZmlyc3QgZXZlbnQuIExldCdzIHRyeSB0aGUgbmV4dCBvbmUuXFxuICAgICAgcXVldWVkRGlzY3JldGVFdmVudHMuc2hpZnQoKTtcXG4gICAgfVxcbiAgfSAvLyBOZXh0IHJlcGxheSBhbnkgY29udGludW91cyBldmVudHMuXFxuXFxuXFxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcXG4gICAgcXVldWVkRm9jdXMgPSBudWxsO1xcbiAgfVxcblxcbiAgaWYgKHF1ZXVlZERyYWcgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWREcmFnKSkge1xcbiAgICBxdWV1ZWREcmFnID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChxdWV1ZWRNb3VzZSAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZE1vdXNlKSkge1xcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XFxuICB9XFxuXFxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XFxuICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuZm9yRWFjaChhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50SW5NYXApO1xcbn1cXG5cXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRXZlbnQsIHVuYmxvY2tlZCkge1xcbiAgaWYgKHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XFxuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XFxuXFxuICAgIGlmICghaGFzU2NoZWR1bGVkUmVwbGF5QXR0ZW1wdCkge1xcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxcbiAgICAgIC8vIG5vdyB1bmJsb2NrZWQuIFRoaXMgZmlyc3QgbWlnaHQgbm90IGFjdHVhbGx5IGJlIHVuYmxvY2tlZCB5ZXQuXFxuICAgICAgLy8gV2UgY291bGQgY2hlY2sgaXQgZWFybHkgdG8gYXZvaWQgc2NoZWR1bGluZyBhbiB1bm5lY2Vzc2FyeSBjYWxsYmFjay5cXG5cXG4gICAgICBTY2hlZHVsZXIudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXIudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksIHJlcGxheVVuYmxvY2tlZEV2ZW50cyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcXG4gIC8vIE1hcmsgYW55dGhpbmcgdGhhdCB3YXMgYmxvY2tlZCBvbiB0aGlzIGFzIG5vIGxvbmdlciBibG9ja2VkXFxuICAvLyBhbmQgZWxpZ2libGUgZm9yIGEgcmVwbGF5LlxcbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcXG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZERpc2NyZXRlRXZlbnRzWzBdLCB1bmJsb2NrZWQpOyAvLyBUaGlzIGlzIGEgZXhwb25lbnRpYWwgc2VhcmNoIGZvciBlYWNoIGJvdW5kYXJ5IHRoYXQgY29tbWl0cy4gSSB0aGluayBpdCdzXFxuICAgIC8vIHdvcnRoIGl0IGJlY2F1c2Ugd2UgZXhwZWN0IHZlcnkgZmV3IGRpc2NyZXRlIGV2ZW50cyB0byBxdWV1ZSB1cCBhbmQgb25jZVxcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cXG5cXG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xcblxcbiAgICAgIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChxdWV1ZWRGb2N1cyAhPT0gbnVsbCkge1xcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XFxuICB9XFxuXFxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRHJhZywgdW5ibG9ja2VkKTtcXG4gIH1cXG5cXG4gIGlmIChxdWV1ZWRNb3VzZSAhPT0gbnVsbCkge1xcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkTW91c2UsIHVuYmxvY2tlZCk7XFxuICB9XFxuXFxuICB2YXIgdW5ibG9jayA9IGZ1bmN0aW9uIChxdWV1ZWRFdmVudCkge1xcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xcbiAgfTtcXG5cXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XFxuICBxdWV1ZWRQb2ludGVyQ2FwdHVyZXMuZm9yRWFjaCh1bmJsb2NrKTtcXG5cXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XFxuICAgIHZhciBxdWV1ZWRUYXJnZXQgPSBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHNbX2ldO1xcblxcbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XFxuICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHdoaWxlIChxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoID4gMCkge1xcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xcblxcbiAgICBpZiAobmV4dEV4cGxpY2l0VGFyZ2V0LmJsb2NrZWRPbiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXFxuICAgICAgYnJlYWs7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XFxuXFxuICAgICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gPT09IG51bGwpIHtcXG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cXG4gICAgICAgIHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cy5zaGlmdCgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKGVsZW1lbnQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcXG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCBmYWxzZSk7XFxufVxcbmZ1bmN0aW9uIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyKGVsZW1lbnQsIGV2ZW50VHlwZSwgbGlzdGVuZXIpIHtcXG4gIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcXG59XFxuXFxuLy8gZG8gaXQgaW4gdHdvIHBsYWNlcywgd2hpY2ggZHVwbGljYXRlcyBsb2dpY1xcbi8vIGFuZCBpbmNyZWFzZXMgdGhlIGJ1bmRsZSBzaXplLCB3ZSBkbyBpdCBhbGxcXG4vLyBoZXJlIG9uY2UuIElmIHdlIHJlbW92ZSBvciByZWZhY3RvciB0aGVcXG4vLyBTaW1wbGVFdmVudFBsdWdpbiwgd2Ugc2hvdWxkIGFsc28gcmVtb3ZlIG9yXFxuLy8gdXBkYXRlIHRoZSBiZWxvdyBsaW5lLlxcblxcbnZhciBzaW1wbGVFdmVudFBsdWdpbkV2ZW50VHlwZXMgPSB7fTtcXG52YXIgdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnID0gbmV3IE1hcCgpO1xcbnZhciBldmVudFByaW9yaXRpZXMgPSBuZXcgTWFwKCk7IC8vIFdlIHN0b3JlIG1vc3Qgb2YgdGhlIGV2ZW50cyBpbiB0aGlzIG1vZHVsZSBpbiBwYWlycyBvZiB0d28gc3RyaW5ncyBzbyB3ZSBjYW4gcmUtdXNlXFxuLy8gdGhlIGNvZGUgcmVxdWlyZWQgdG8gYXBwbHkgdGhlIHNhbWUgbG9naWMgZm9yIGV2ZW50IHByaW9yaXRpemF0aW9uIGFuZCB0aGF0IG9mIHRoZVxcbi8vIFNpbXBsZUV2ZW50UGx1Z2luLiBUaGlzIGNvbXBsaWNhdGVzIHRoaW5ncyBzbGlnaHRseSwgYnV0IHRoZSBhaW0gaXMgdG8gcmVkdWNlIGNvZGVcXG4vLyBkdXBsaWNhdGlvbiAoZm9yIHdoaWNoIHRoZXJlIHdvdWxkIGJlIHF1aXRlIGEgYml0KS4gRm9yIHRoZSBldmVudHMgdGhhdCBhcmUgbm90IG5lZWRlZFxcbi8vIGZvciB0aGUgU2ltcGxlRXZlbnRQbHVnaW4gKG90aGVyRGlzY3JldGVFdmVudHMpIHdlIHByb2Nlc3MgdGhlbSBzZXBhcmF0ZWx5IGFzIGFuXFxuLy8gYXJyYXkgb2YgdG9wIGxldmVsIGV2ZW50cy5cXG4vLyBMYXN0bHksIHdlIGlnbm9yZSBwcmV0dGllciBzbyB3ZSBjYW4ga2VlcCB0aGUgZm9ybWF0dGluZyBzYW5lLlxcbi8vIHByZXR0aWVyLWlnbm9yZVxcblxcbnZhciBkaXNjcmV0ZUV2ZW50UGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiA9IFtUT1BfQkxVUiwgJ2JsdXInLCBUT1BfQ0FOQ0VMLCAnY2FuY2VsJywgVE9QX0NMSUNLLCAnY2xpY2snLCBUT1BfQ0xPU0UsICdjbG9zZScsIFRPUF9DT05URVhUX01FTlUsICdjb250ZXh0TWVudScsIFRPUF9DT1BZLCAnY29weScsIFRPUF9DVVQsICdjdXQnLCBUT1BfQVVYX0NMSUNLLCAnYXV4Q2xpY2snLCBUT1BfRE9VQkxFX0NMSUNLLCAnZG91YmxlQ2xpY2snLCBUT1BfRFJBR19FTkQsICdkcmFnRW5kJywgVE9QX0RSQUdfU1RBUlQsICdkcmFnU3RhcnQnLCBUT1BfRFJPUCwgJ2Ryb3AnLCBUT1BfRk9DVVMsICdmb2N1cycsIFRPUF9JTlBVVCwgJ2lucHV0JywgVE9QX0lOVkFMSUQsICdpbnZhbGlkJywgVE9QX0tFWV9ET1dOLCAna2V5RG93bicsIFRPUF9LRVlfUFJFU1MsICdrZXlQcmVzcycsIFRPUF9LRVlfVVAsICdrZXlVcCcsIFRPUF9NT1VTRV9ET1dOLCAnbW91c2VEb3duJywgVE9QX01PVVNFX1VQLCAnbW91c2VVcCcsIFRPUF9QQVNURSwgJ3Bhc3RlJywgVE9QX1BBVVNFLCAncGF1c2UnLCBUT1BfUExBWSwgJ3BsYXknLCBUT1BfUE9JTlRFUl9DQU5DRUwsICdwb2ludGVyQ2FuY2VsJywgVE9QX1BPSU5URVJfRE9XTiwgJ3BvaW50ZXJEb3duJywgVE9QX1BPSU5URVJfVVAsICdwb2ludGVyVXAnLCBUT1BfUkFURV9DSEFOR0UsICdyYXRlQ2hhbmdlJywgVE9QX1JFU0VULCAncmVzZXQnLCBUT1BfU0VFS0VELCAnc2Vla2VkJywgVE9QX1NVQk1JVCwgJ3N1Ym1pdCcsIFRPUF9UT1VDSF9DQU5DRUwsICd0b3VjaENhbmNlbCcsIFRPUF9UT1VDSF9FTkQsICd0b3VjaEVuZCcsIFRPUF9UT1VDSF9TVEFSVCwgJ3RvdWNoU3RhcnQnLCBUT1BfVk9MVU1FX0NIQU5HRSwgJ3ZvbHVtZUNoYW5nZSddO1xcbnZhciBvdGhlckRpc2NyZXRlRXZlbnRzID0gW1RPUF9DSEFOR0UsIFRPUF9TRUxFQ1RJT05fQ0hBTkdFLCBUT1BfVEVYVF9JTlBVVCwgVE9QX0NPTVBPU0lUSU9OX1NUQVJULCBUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfQ09NUE9TSVRJT05fVVBEQVRFXTsgLy8gcHJldHRpZXItaWdub3JlXFxuXFxudmFyIHVzZXJCbG9ja2luZ1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4gPSBbVE9QX0RSQUcsICdkcmFnJywgVE9QX0RSQUdfRU5URVIsICdkcmFnRW50ZXInLCBUT1BfRFJBR19FWElULCAnZHJhZ0V4aXQnLCBUT1BfRFJBR19MRUFWRSwgJ2RyYWdMZWF2ZScsIFRPUF9EUkFHX09WRVIsICdkcmFnT3ZlcicsIFRPUF9NT1VTRV9NT1ZFLCAnbW91c2VNb3ZlJywgVE9QX01PVVNFX09VVCwgJ21vdXNlT3V0JywgVE9QX01PVVNFX09WRVIsICdtb3VzZU92ZXInLCBUT1BfUE9JTlRFUl9NT1ZFLCAncG9pbnRlck1vdmUnLCBUT1BfUE9JTlRFUl9PVVQsICdwb2ludGVyT3V0JywgVE9QX1BPSU5URVJfT1ZFUiwgJ3BvaW50ZXJPdmVyJywgVE9QX1NDUk9MTCwgJ3Njcm9sbCcsIFRPUF9UT0dHTEUsICd0b2dnbGUnLCBUT1BfVE9VQ0hfTU9WRSwgJ3RvdWNoTW92ZScsIFRPUF9XSEVFTCwgJ3doZWVsJ107IC8vIHByZXR0aWVyLWlnbm9yZVxcblxcbnZhciBjb250aW51b3VzUGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiA9IFtUT1BfQUJPUlQsICdhYm9ydCcsIFRPUF9BTklNQVRJT05fRU5ELCAnYW5pbWF0aW9uRW5kJywgVE9QX0FOSU1BVElPTl9JVEVSQVRJT04sICdhbmltYXRpb25JdGVyYXRpb24nLCBUT1BfQU5JTUFUSU9OX1NUQVJULCAnYW5pbWF0aW9uU3RhcnQnLCBUT1BfQ0FOX1BMQVksICdjYW5QbGF5JywgVE9QX0NBTl9QTEFZX1RIUk9VR0gsICdjYW5QbGF5VGhyb3VnaCcsIFRPUF9EVVJBVElPTl9DSEFOR0UsICdkdXJhdGlvbkNoYW5nZScsIFRPUF9FTVBUSUVELCAnZW1wdGllZCcsIFRPUF9FTkNSWVBURUQsICdlbmNyeXB0ZWQnLCBUT1BfRU5ERUQsICdlbmRlZCcsIFRPUF9FUlJPUiwgJ2Vycm9yJywgVE9QX0dPVF9QT0lOVEVSX0NBUFRVUkUsICdnb3RQb2ludGVyQ2FwdHVyZScsIFRPUF9MT0FELCAnbG9hZCcsIFRPUF9MT0FERURfREFUQSwgJ2xvYWRlZERhdGEnLCBUT1BfTE9BREVEX01FVEFEQVRBLCAnbG9hZGVkTWV0YWRhdGEnLCBUT1BfTE9BRF9TVEFSVCwgJ2xvYWRTdGFydCcsIFRPUF9MT1NUX1BPSU5URVJfQ0FQVFVSRSwgJ2xvc3RQb2ludGVyQ2FwdHVyZScsIFRPUF9QTEFZSU5HLCAncGxheWluZycsIFRPUF9QUk9HUkVTUywgJ3Byb2dyZXNzJywgVE9QX1NFRUtJTkcsICdzZWVraW5nJywgVE9QX1NUQUxMRUQsICdzdGFsbGVkJywgVE9QX1NVU1BFTkQsICdzdXNwZW5kJywgVE9QX1RJTUVfVVBEQVRFLCAndGltZVVwZGF0ZScsIFRPUF9UUkFOU0lUSU9OX0VORCwgJ3RyYW5zaXRpb25FbmQnLCBUT1BfV0FJVElORywgJ3dhaXRpbmcnXTtcXG4vKipcXG4gKiBUdXJuc1xcbiAqIFsnYWJvcnQnLCAuLi5dXFxuICogaW50b1xcbiAqIGV2ZW50VHlwZXMgPSB7XFxuICogICAnYWJvcnQnOiB7XFxuICogICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XFxuICogICAgICAgYnViYmxlZDogJ29uQWJvcnQnLFxcbiAqICAgICAgIGNhcHR1cmVkOiAnb25BYm9ydENhcHR1cmUnLFxcbiAqICAgICB9LFxcbiAqICAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQUJPUlRdLFxcbiAqICAgfSxcXG4gKiAgIC4uLlxcbiAqIH07XFxuICogdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnID0gbmV3IE1hcChbXFxuICogICBbVE9QX0FCT1JULCB7IHNhbWVDb25maWcgfV0sXFxuICogXSk7XFxuICovXFxuXFxuZnVuY3Rpb24gcHJvY2Vzc1NpbXBsZUV2ZW50UGx1Z2luUGFpcnNCeVByaW9yaXR5KGV2ZW50VHlwZXMsIHByaW9yaXR5KSB7XFxuICAvLyBBcyB0aGUgZXZlbnQgdHlwZXMgYXJlIGluIHBhaXJzIG9mIHR3bywgd2UgbmVlZCB0byBpdGVyYXRlXFxuICAvLyB0aHJvdWdoIGluIHR3b3MuIFRoZSBldmVudHMgYXJlIGluIHBhaXJzIG9mIHR3byB0byBzYXZlIGNvZGVcXG4gIC8vIGFuZCBpbXByb3ZlIGluaXQgcGVyZiBvZiBwcm9jZXNzaW5nIHRoaXMgYXJyYXksIGFzIGl0IHdpbGxcXG4gIC8vIHJlc3VsdCBpbiBmYXIgZmV3ZXIgb2JqZWN0IGFsbG9jYXRpb25zIGFuZCBwcm9wZXJ0eSBhY2Nlc3Nlc1xcbiAgLy8gaWYgd2Ugb25seSB1c2UgdGhyZWUgYXJyYXlzIHRvIHByb2Nlc3MgYWxsIHRoZSBjYXRlZ29yaWVzIG9mXFxuICAvLyBpbnN0ZWFkIG9mIHR1cGxlcy5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRUeXBlcy5sZW5ndGg7IGkgKz0gMikge1xcbiAgICB2YXIgdG9wRXZlbnQgPSBldmVudFR5cGVzW2ldO1xcbiAgICB2YXIgZXZlbnQgPSBldmVudFR5cGVzW2kgKyAxXTtcXG4gICAgdmFyIGNhcGl0YWxpemVkRXZlbnQgPSBldmVudFswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnQuc2xpY2UoMSk7XFxuICAgIHZhciBvbkV2ZW50ID0gJ29uJyArIGNhcGl0YWxpemVkRXZlbnQ7XFxuICAgIHZhciBjb25maWcgPSB7XFxuICAgICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcXG4gICAgICAgIGJ1YmJsZWQ6IG9uRXZlbnQsXFxuICAgICAgICBjYXB0dXJlZDogb25FdmVudCArICdDYXB0dXJlJ1xcbiAgICAgIH0sXFxuICAgICAgZGVwZW5kZW5jaWVzOiBbdG9wRXZlbnRdLFxcbiAgICAgIGV2ZW50UHJpb3JpdHk6IHByaW9yaXR5XFxuICAgIH07XFxuICAgIGV2ZW50UHJpb3JpdGllcy5zZXQodG9wRXZlbnQsIHByaW9yaXR5KTtcXG4gICAgdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnLnNldCh0b3BFdmVudCwgY29uZmlnKTtcXG4gICAgc2ltcGxlRXZlbnRQbHVnaW5FdmVudFR5cGVzW2V2ZW50XSA9IGNvbmZpZztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcHJvY2Vzc1RvcEV2ZW50UGFpcnNCeVByaW9yaXR5KGV2ZW50VHlwZXMsIHByaW9yaXR5KSB7XFxuICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50VHlwZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgZXZlbnRQcmlvcml0aWVzLnNldChldmVudFR5cGVzW2ldLCBwcmlvcml0eSk7XFxuICB9XFxufSAvLyBTaW1wbGVFdmVudFBsdWdpblxcblxcblxcbnByb2Nlc3NTaW1wbGVFdmVudFBsdWdpblBhaXJzQnlQcmlvcml0eShkaXNjcmV0ZUV2ZW50UGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiwgRGlzY3JldGVFdmVudCk7XFxucHJvY2Vzc1NpbXBsZUV2ZW50UGx1Z2luUGFpcnNCeVByaW9yaXR5KHVzZXJCbG9ja2luZ1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4sIFVzZXJCbG9ja2luZ0V2ZW50KTtcXG5wcm9jZXNzU2ltcGxlRXZlbnRQbHVnaW5QYWlyc0J5UHJpb3JpdHkoY29udGludW91c1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4sIENvbnRpbnVvdXNFdmVudCk7IC8vIE5vdCB1c2VkIGJ5IFNpbXBsZUV2ZW50UGx1Z2luXFxuXFxucHJvY2Vzc1RvcEV2ZW50UGFpcnNCeVByaW9yaXR5KG90aGVyRGlzY3JldGVFdmVudHMsIERpc2NyZXRlRXZlbnQpO1xcbmZ1bmN0aW9uIGdldEV2ZW50UHJpb3JpdHlGb3JQbHVnaW5TeXN0ZW0odG9wTGV2ZWxUeXBlKSB7XFxuICB2YXIgcHJpb3JpdHkgPSBldmVudFByaW9yaXRpZXMuZ2V0KHRvcExldmVsVHlwZSk7IC8vIERlZmF1bHQgdG8gYSBDb250aW51b3VzRXZlbnQuIE5vdGU6IHdlIG1pZ2h0XFxuICAvLyB3YW50IHRvIHdhcm4gaWYgd2UgY2FuJ3QgZGV0ZWN0IHRoZSBwcmlvcml0eVxcbiAgLy8gZm9yIHRoZSBldmVudC5cXG5cXG4gIHJldHVybiBwcmlvcml0eSA9PT0gdW5kZWZpbmVkID8gQ29udGludW91c0V2ZW50IDogcHJpb3JpdHk7XFxufVxcblxcbi8vIEludGVudGlvbmFsbHkgbm90IG5hbWVkIGltcG9ydHMgYmVjYXVzZSBSb2xsdXAgd291bGQgdXNlIGR5bmFtaWMgZGlzcGF0Y2ggZm9yXFxudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFxcbiAgICBydW5XaXRoUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5OyAvLyBUT0RPOiBjYW4gd2Ugc3RvcCBleHBvcnRpbmcgdGhlc2U/XFxuXFxudmFyIF9lbmFibGVkID0gdHJ1ZTtcXG5mdW5jdGlvbiBzZXRFbmFibGVkKGVuYWJsZWQpIHtcXG4gIF9lbmFibGVkID0gISFlbmFibGVkO1xcbn1cXG5mdW5jdGlvbiBpc0VuYWJsZWQoKSB7XFxuICByZXR1cm4gX2VuYWJsZWQ7XFxufVxcbmZ1bmN0aW9uIHRyYXBCdWJibGVkRXZlbnQodG9wTGV2ZWxUeXBlLCBlbGVtZW50KSB7XFxuICB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShlbGVtZW50LCB0b3BMZXZlbFR5cGUsIGZhbHNlKTtcXG59XFxuZnVuY3Rpb24gdHJhcENhcHR1cmVkRXZlbnQodG9wTGV2ZWxUeXBlLCBlbGVtZW50KSB7XFxuICB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShlbGVtZW50LCB0b3BMZXZlbFR5cGUsIHRydWUpO1xcbn1cXG5cXG5mdW5jdGlvbiB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShjb250YWluZXIsIHRvcExldmVsVHlwZSwgY2FwdHVyZSkge1xcbiAgdmFyIGxpc3RlbmVyO1xcblxcbiAgc3dpdGNoIChnZXRFdmVudFByaW9yaXR5Rm9yUGx1Z2luU3lzdGVtKHRvcExldmVsVHlwZSkpIHtcXG4gICAgY2FzZSBEaXNjcmV0ZUV2ZW50OlxcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hEaXNjcmV0ZUV2ZW50LmJpbmQobnVsbCwgdG9wTGV2ZWxUeXBlLCBQTFVHSU5fRVZFTlRfU1lTVEVNLCBjb250YWluZXIpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIFVzZXJCbG9ja2luZ0V2ZW50OlxcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hVc2VyQmxvY2tpbmdVcGRhdGUuYmluZChudWxsLCB0b3BMZXZlbFR5cGUsIFBMVUdJTl9FVkVOVF9TWVNURU0sIGNvbnRhaW5lcik7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgQ29udGludW91c0V2ZW50OlxcbiAgICBkZWZhdWx0OlxcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hFdmVudC5iaW5kKG51bGwsIHRvcExldmVsVHlwZSwgUExVR0lOX0VWRU5UX1NZU1RFTSwgY29udGFpbmVyKTtcXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHZhciByYXdFdmVudE5hbWUgPSBnZXRSYXdFdmVudE5hbWUodG9wTGV2ZWxUeXBlKTtcXG5cXG4gIGlmIChjYXB0dXJlKSB7XFxuICAgIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyKGNvbnRhaW5lciwgcmF3RXZlbnROYW1lLCBsaXN0ZW5lcik7XFxuICB9IGVsc2Uge1xcbiAgICBhZGRFdmVudEJ1YmJsZUxpc3RlbmVyKGNvbnRhaW5lciwgcmF3RXZlbnROYW1lLCBsaXN0ZW5lcik7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGRpc3BhdGNoRGlzY3JldGVFdmVudCh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIGZsdXNoRGlzY3JldGVVcGRhdGVzSWZOZWVkZWQobmF0aXZlRXZlbnQudGltZVN0YW1wKTtcXG4gIGRpc2NyZXRlVXBkYXRlcyhkaXNwYXRjaEV2ZW50LCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xcbn1cXG5cXG5mdW5jdGlvbiBkaXNwYXRjaFVzZXJCbG9ja2luZ1VwZGF0ZSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIHJ1bldpdGhQcmlvcml0eShVc2VyQmxvY2tpbmdQcmlvcml0eSwgZGlzcGF0Y2hFdmVudC5iaW5kKG51bGwsIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkpO1xcbn1cXG5cXG5mdW5jdGlvbiBkaXNwYXRjaEV2ZW50KHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xcbiAgaWYgKCFfZW5hYmxlZCkge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoaGFzUXVldWVkRGlzY3JldGVFdmVudHMoKSAmJiBpc1JlcGxheWFibGVEaXNjcmV0ZUV2ZW50KHRvcExldmVsVHlwZSkpIHtcXG4gICAgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzLCBhbmQgdGhpcyBpcyBhbm90aGVyIGRpc2NyZXRlXFxuICAgIC8vIGV2ZW50LCB0aGVuIHdlIGNhbid0IGRpc3BhdGNoIGl0IHJlZ2FyZGxlc3Mgb2YgaXRzIHRhcmdldCwgc2luY2UgdGhleVxcbiAgICAvLyBuZWVkIHRvIGRpc3BhdGNoIGluIG9yZGVyLlxcbiAgICBxdWV1ZURpc2NyZXRlRXZlbnQobnVsbCwgLy8gRmxhZ3MgdGhhdCB3ZSdyZSBub3QgYWN0dWFsbHkgYmxvY2tlZCBvbiBhbnl0aGluZyBhcyBmYXIgYXMgd2Uga25vdy5cXG4gICAgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIGJsb2NrZWRPbiA9IGF0dGVtcHRUb0Rpc3BhdGNoRXZlbnQodG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG5cXG4gIGlmIChibG9ja2VkT24gPT09IG51bGwpIHtcXG4gICAgLy8gV2Ugc3VjY2Vzc2Z1bGx5IGRpc3BhdGNoZWQgdGhpcyBldmVudC5cXG4gICAgY2xlYXJJZkNvbnRpbnVvdXNFdmVudCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKGlzUmVwbGF5YWJsZURpc2NyZXRlRXZlbnQodG9wTGV2ZWxUeXBlKSkge1xcbiAgICAvLyBUaGlzIHRoaXMgdG8gYmUgcmVwbGF5ZWQgbGF0ZXIgb25jZSB0aGUgdGFyZ2V0IGlzIGF2YWlsYWJsZS5cXG4gICAgcXVldWVEaXNjcmV0ZUV2ZW50KGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKHF1ZXVlSWZDb250aW51b3VzRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpKSB7XFxuICAgIHJldHVybjtcXG4gIH0gLy8gV2UgbmVlZCB0byBjbGVhciBvbmx5IGlmIHdlIGRpZG4ndCBxdWV1ZSBiZWNhdXNlXFxuICAvLyBxdWV1ZWluZyBpcyBhY2N1bW11bGF0aXZlLlxcblxcblxcbiAgY2xlYXJJZkNvbnRpbnVvdXNFdmVudCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTsgLy8gVGhpcyBpcyBub3QgcmVwbGF5YWJsZSBzbyB3ZSdsbCBpbnZva2UgaXQgYnV0IHdpdGhvdXQgYSB0YXJnZXQsXFxuICAvLyBpbiBjYXNlIHRoZSBldmVudCBzeXN0ZW0gbmVlZHMgdG8gdHJhY2UgaXQuXFxuXFxuICB7XFxuICAgIGRpc3BhdGNoRXZlbnRGb3JMZWdhY3lQbHVnaW5FdmVudFN5c3RlbSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCBudWxsKTtcXG4gIH1cXG59IC8vIEF0dGVtcHQgZGlzcGF0Y2hpbmcgYW4gZXZlbnQuIFJldHVybnMgYSBTdXNwZW5zZUluc3RhbmNlIG9yIENvbnRhaW5lciBpZiBpdCdzIGJsb2NrZWQuXFxuXFxuZnVuY3Rpb24gYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudCh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcXG4gIC8vIFRPRE86IFdhcm4gaWYgX2VuYWJsZWQgaXMgZmFsc2UuXFxuICB2YXIgbmF0aXZlRXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCk7XFxuICB2YXIgdGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG5cXG4gIGlmICh0YXJnZXRJbnN0ICE9PSBudWxsKSB7XFxuICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodGFyZ2V0SW5zdCk7XFxuXFxuICAgIGlmIChuZWFyZXN0TW91bnRlZCA9PT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgdHJlZSBoYXMgYmVlbiB1bm1vdW50ZWQgYWxyZWFkeS4gRGlzcGF0Y2ggd2l0aG91dCBhIHRhcmdldC5cXG4gICAgICB0YXJnZXRJbnN0ID0gbnVsbDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xcblxcbiAgICAgIGlmICh0YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcXG5cXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBRdWV1ZSB0aGUgZXZlbnQgdG8gYmUgcmVwbGF5ZWQgbGF0ZXIuIEFib3J0IGRpc3BhdGNoaW5nIHNpbmNlIHdlXFxuICAgICAgICAgIC8vIGRvbid0IHdhbnQgdGhpcyBldmVudCBkaXNwYXRjaGVkIHR3aWNlIHRocm91Z2ggdGhlIGV2ZW50IHN5c3RlbS5cXG4gICAgICAgICAgLy8gVE9ETzogSWYgdGhpcyBpcyB0aGUgZmlyc3QgZGlzY3JldGUgZXZlbnQgaW4gdGhlIHF1ZXVlLiBTY2hlZHVsZSBhbiBpbmNyZWFzZWRcXG4gICAgICAgICAgLy8gcHJpb3JpdHkgZm9yIHRoaXMgYm91bmRhcnkuXFxuICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcXG4gICAgICAgIH0gLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuLCBzb21ldGhpbmcgd2VudCB3cm9uZyBidXQgdG8gYXZvaWQgYmxvY2tpbmdcXG4gICAgICAgIC8vIHRoZSB3aG9sZSBzeXN0ZW0sIGRpc3BhdGNoIHRoZSBldmVudCB3aXRob3V0IGEgdGFyZ2V0LlxcbiAgICAgICAgLy8gVE9ETzogV2Fybi5cXG5cXG5cXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xcbiAgICAgIH0gZWxzZSBpZiAodGFnID09PSBIb3N0Um9vdCkge1xcbiAgICAgICAgdmFyIHJvb3QgPSBuZWFyZXN0TW91bnRlZC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAocm9vdC5oeWRyYXRlKSB7XFxuICAgICAgICAgIC8vIElmIHRoaXMgaGFwcGVucyBkdXJpbmcgYSByZXBsYXkgc29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIGl0IG1pZ2h0IGJsb2NrXFxuICAgICAgICAgIC8vIHRoZSB3aG9sZSBzeXN0ZW0uXFxuICAgICAgICAgIHJldHVybiBnZXRDb250YWluZXJGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XFxuICAgICAgfSBlbHNlIGlmIChuZWFyZXN0TW91bnRlZCAhPT0gdGFyZ2V0SW5zdCkge1xcbiAgICAgICAgLy8gSWYgd2UgZ2V0IGFuIGV2ZW50IChleDogaW1nIG9ubG9hZCkgYmVmb3JlIGNvbW1pdHRpbmcgdGhhdFxcbiAgICAgICAgLy8gY29tcG9uZW50J3MgbW91bnQsIGlnbm9yZSBpdCBmb3Igbm93ICh0aGF0IGlzLCB0cmVhdCBpdCBhcyBpZiBpdCB3YXMgYW5cXG4gICAgICAgIC8vIGV2ZW50IG9uIGEgbm9uLVJlYWN0IHRyZWUpLiBXZSBtaWdodCBhbHNvIGNvbnNpZGVyIHF1ZXVlaW5nIGV2ZW50cyBhbmRcXG4gICAgICAgIC8vIGRpc3BhdGNoaW5nIHRoZW0gYWZ0ZXIgdGhlIG1vdW50LlxcbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIGRpc3BhdGNoRXZlbnRGb3JMZWdhY3lQbHVnaW5FdmVudFN5c3RlbSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0KTtcXG4gIH0gLy8gV2UncmUgbm90IGJsb2NrZWQgb24gYW55dGhpbmcuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuLy8gTGlzdCBkZXJpdmVkIGZyb20gR2Vja28gc291cmNlIGNvZGU6XFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja28tZGV2L2Jsb2IvNGU2MzhlZmM3MS9sYXlvdXQvc3R5bGUvdGVzdC9wcm9wZXJ0eV9kYXRhYmFzZS5qc1xcbnZhciBzaG9ydGhhbmRUb0xvbmdoYW5kID0ge1xcbiAgYW5pbWF0aW9uOiBbJ2FuaW1hdGlvbkRlbGF5JywgJ2FuaW1hdGlvbkRpcmVjdGlvbicsICdhbmltYXRpb25EdXJhdGlvbicsICdhbmltYXRpb25GaWxsTW9kZScsICdhbmltYXRpb25JdGVyYXRpb25Db3VudCcsICdhbmltYXRpb25OYW1lJywgJ2FuaW1hdGlvblBsYXlTdGF0ZScsICdhbmltYXRpb25UaW1pbmdGdW5jdGlvbiddLFxcbiAgYmFja2dyb3VuZDogWydiYWNrZ3JvdW5kQXR0YWNobWVudCcsICdiYWNrZ3JvdW5kQ2xpcCcsICdiYWNrZ3JvdW5kQ29sb3InLCAnYmFja2dyb3VuZEltYWdlJywgJ2JhY2tncm91bmRPcmlnaW4nLCAnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJywgJ2JhY2tncm91bmRSZXBlYXQnLCAnYmFja2dyb3VuZFNpemUnXSxcXG4gIGJhY2tncm91bmRQb3NpdGlvbjogWydiYWNrZ3JvdW5kUG9zaXRpb25YJywgJ2JhY2tncm91bmRQb3NpdGlvblknXSxcXG4gIGJvcmRlcjogWydib3JkZXJCb3R0b21Db2xvcicsICdib3JkZXJCb3R0b21TdHlsZScsICdib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJJbWFnZU91dHNldCcsICdib3JkZXJJbWFnZVJlcGVhdCcsICdib3JkZXJJbWFnZVNsaWNlJywgJ2JvcmRlckltYWdlU291cmNlJywgJ2JvcmRlckltYWdlV2lkdGgnLCAnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRDb2xvcicsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclJpZ2h0V2lkdGgnLCAnYm9yZGVyVG9wQ29sb3InLCAnYm9yZGVyVG9wU3R5bGUnLCAnYm9yZGVyVG9wV2lkdGgnXSxcXG4gIGJvcmRlckJsb2NrRW5kOiBbJ2JvcmRlckJsb2NrRW5kQ29sb3InLCAnYm9yZGVyQmxvY2tFbmRTdHlsZScsICdib3JkZXJCbG9ja0VuZFdpZHRoJ10sXFxuICBib3JkZXJCbG9ja1N0YXJ0OiBbJ2JvcmRlckJsb2NrU3RhcnRDb2xvcicsICdib3JkZXJCbG9ja1N0YXJ0U3R5bGUnLCAnYm9yZGVyQmxvY2tTdGFydFdpZHRoJ10sXFxuICBib3JkZXJCb3R0b206IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnXSxcXG4gIGJvcmRlckNvbG9yOiBbJ2JvcmRlckJvdHRvbUNvbG9yJywgJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJSaWdodENvbG9yJywgJ2JvcmRlclRvcENvbG9yJ10sXFxuICBib3JkZXJJbWFnZTogWydib3JkZXJJbWFnZU91dHNldCcsICdib3JkZXJJbWFnZVJlcGVhdCcsICdib3JkZXJJbWFnZVNsaWNlJywgJ2JvcmRlckltYWdlU291cmNlJywgJ2JvcmRlckltYWdlV2lkdGgnXSxcXG4gIGJvcmRlcklubGluZUVuZDogWydib3JkZXJJbmxpbmVFbmRDb2xvcicsICdib3JkZXJJbmxpbmVFbmRTdHlsZScsICdib3JkZXJJbmxpbmVFbmRXaWR0aCddLFxcbiAgYm9yZGVySW5saW5lU3RhcnQ6IFsnYm9yZGVySW5saW5lU3RhcnRDb2xvcicsICdib3JkZXJJbmxpbmVTdGFydFN0eWxlJywgJ2JvcmRlcklubGluZVN0YXJ0V2lkdGgnXSxcXG4gIGJvcmRlckxlZnQ6IFsnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJMZWZ0V2lkdGgnXSxcXG4gIGJvcmRlclJhZGl1czogWydib3JkZXJCb3R0b21MZWZ0UmFkaXVzJywgJ2JvcmRlckJvdHRvbVJpZ2h0UmFkaXVzJywgJ2JvcmRlclRvcExlZnRSYWRpdXMnLCAnYm9yZGVyVG9wUmlnaHRSYWRpdXMnXSxcXG4gIGJvcmRlclJpZ2h0OiBbJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJSaWdodFdpZHRoJ10sXFxuICBib3JkZXJTdHlsZTogWydib3JkZXJCb3R0b21TdHlsZScsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyUmlnaHRTdHlsZScsICdib3JkZXJUb3BTdHlsZSddLFxcbiAgYm9yZGVyVG9wOiBbJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXFxuICBib3JkZXJXaWR0aDogWydib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRXaWR0aCcsICdib3JkZXJUb3BXaWR0aCddLFxcbiAgY29sdW1uUnVsZTogWydjb2x1bW5SdWxlQ29sb3InLCAnY29sdW1uUnVsZVN0eWxlJywgJ2NvbHVtblJ1bGVXaWR0aCddLFxcbiAgY29sdW1uczogWydjb2x1bW5Db3VudCcsICdjb2x1bW5XaWR0aCddLFxcbiAgZmxleDogWydmbGV4QmFzaXMnLCAnZmxleEdyb3cnLCAnZmxleFNocmluayddLFxcbiAgZmxleEZsb3c6IFsnZmxleERpcmVjdGlvbicsICdmbGV4V3JhcCddLFxcbiAgZm9udDogWydmb250RmFtaWx5JywgJ2ZvbnRGZWF0dXJlU2V0dGluZ3MnLCAnZm9udEtlcm5pbmcnLCAnZm9udExhbmd1YWdlT3ZlcnJpZGUnLCAnZm9udFNpemUnLCAnZm9udFNpemVBZGp1c3QnLCAnZm9udFN0cmV0Y2gnLCAnZm9udFN0eWxlJywgJ2ZvbnRWYXJpYW50JywgJ2ZvbnRWYXJpYW50QWx0ZXJuYXRlcycsICdmb250VmFyaWFudENhcHMnLCAnZm9udFZhcmlhbnRFYXN0QXNpYW4nLCAnZm9udFZhcmlhbnRMaWdhdHVyZXMnLCAnZm9udFZhcmlhbnROdW1lcmljJywgJ2ZvbnRWYXJpYW50UG9zaXRpb24nLCAnZm9udFdlaWdodCcsICdsaW5lSGVpZ2h0J10sXFxuICBmb250VmFyaWFudDogWydmb250VmFyaWFudEFsdGVybmF0ZXMnLCAnZm9udFZhcmlhbnRDYXBzJywgJ2ZvbnRWYXJpYW50RWFzdEFzaWFuJywgJ2ZvbnRWYXJpYW50TGlnYXR1cmVzJywgJ2ZvbnRWYXJpYW50TnVtZXJpYycsICdmb250VmFyaWFudFBvc2l0aW9uJ10sXFxuICBnYXA6IFsnY29sdW1uR2FwJywgJ3Jvd0dhcCddLFxcbiAgZ3JpZDogWydncmlkQXV0b0NvbHVtbnMnLCAnZ3JpZEF1dG9GbG93JywgJ2dyaWRBdXRvUm93cycsICdncmlkVGVtcGxhdGVBcmVhcycsICdncmlkVGVtcGxhdGVDb2x1bW5zJywgJ2dyaWRUZW1wbGF0ZVJvd3MnXSxcXG4gIGdyaWRBcmVhOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0JywgJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXFxuICBncmlkQ29sdW1uOiBbJ2dyaWRDb2x1bW5FbmQnLCAnZ3JpZENvbHVtblN0YXJ0J10sXFxuICBncmlkQ29sdW1uR2FwOiBbJ2NvbHVtbkdhcCddLFxcbiAgZ3JpZEdhcDogWydjb2x1bW5HYXAnLCAncm93R2FwJ10sXFxuICBncmlkUm93OiBbJ2dyaWRSb3dFbmQnLCAnZ3JpZFJvd1N0YXJ0J10sXFxuICBncmlkUm93R2FwOiBbJ3Jvd0dhcCddLFxcbiAgZ3JpZFRlbXBsYXRlOiBbJ2dyaWRUZW1wbGF0ZUFyZWFzJywgJ2dyaWRUZW1wbGF0ZUNvbHVtbnMnLCAnZ3JpZFRlbXBsYXRlUm93cyddLFxcbiAgbGlzdFN0eWxlOiBbJ2xpc3RTdHlsZUltYWdlJywgJ2xpc3RTdHlsZVBvc2l0aW9uJywgJ2xpc3RTdHlsZVR5cGUnXSxcXG4gIG1hcmdpbjogWydtYXJnaW5Cb3R0b20nLCAnbWFyZ2luTGVmdCcsICdtYXJnaW5SaWdodCcsICdtYXJnaW5Ub3AnXSxcXG4gIG1hcmtlcjogWydtYXJrZXJFbmQnLCAnbWFya2VyTWlkJywgJ21hcmtlclN0YXJ0J10sXFxuICBtYXNrOiBbJ21hc2tDbGlwJywgJ21hc2tDb21wb3NpdGUnLCAnbWFza0ltYWdlJywgJ21hc2tNb2RlJywgJ21hc2tPcmlnaW4nLCAnbWFza1Bvc2l0aW9uWCcsICdtYXNrUG9zaXRpb25ZJywgJ21hc2tSZXBlYXQnLCAnbWFza1NpemUnXSxcXG4gIG1hc2tQb3NpdGlvbjogWydtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknXSxcXG4gIG91dGxpbmU6IFsnb3V0bGluZUNvbG9yJywgJ291dGxpbmVTdHlsZScsICdvdXRsaW5lV2lkdGgnXSxcXG4gIG92ZXJmbG93OiBbJ292ZXJmbG93WCcsICdvdmVyZmxvd1knXSxcXG4gIHBhZGRpbmc6IFsncGFkZGluZ0JvdHRvbScsICdwYWRkaW5nTGVmdCcsICdwYWRkaW5nUmlnaHQnLCAncGFkZGluZ1RvcCddLFxcbiAgcGxhY2VDb250ZW50OiBbJ2FsaWduQ29udGVudCcsICdqdXN0aWZ5Q29udGVudCddLFxcbiAgcGxhY2VJdGVtczogWydhbGlnbkl0ZW1zJywgJ2p1c3RpZnlJdGVtcyddLFxcbiAgcGxhY2VTZWxmOiBbJ2FsaWduU2VsZicsICdqdXN0aWZ5U2VsZiddLFxcbiAgdGV4dERlY29yYXRpb246IFsndGV4dERlY29yYXRpb25Db2xvcicsICd0ZXh0RGVjb3JhdGlvbkxpbmUnLCAndGV4dERlY29yYXRpb25TdHlsZSddLFxcbiAgdGV4dEVtcGhhc2lzOiBbJ3RleHRFbXBoYXNpc0NvbG9yJywgJ3RleHRFbXBoYXNpc1N0eWxlJ10sXFxuICB0cmFuc2l0aW9uOiBbJ3RyYW5zaXRpb25EZWxheScsICd0cmFuc2l0aW9uRHVyYXRpb24nLCAndHJhbnNpdGlvblByb3BlcnR5JywgJ3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiddLFxcbiAgd29yZFdyYXA6IFsnb3ZlcmZsb3dXcmFwJ11cXG59O1xcblxcbi8qKlxcbiAqIENTUyBwcm9wZXJ0aWVzIHdoaWNoIGFjY2VwdCBudW1iZXJzIGJ1dCBhcmUgbm90IGluIHVuaXRzIG9mIFxcXCJweFxcXCIuXFxuICovXFxudmFyIGlzVW5pdGxlc3NOdW1iZXIgPSB7XFxuICBhbmltYXRpb25JdGVyYXRpb25Db3VudDogdHJ1ZSxcXG4gIGJvcmRlckltYWdlT3V0c2V0OiB0cnVlLFxcbiAgYm9yZGVySW1hZ2VTbGljZTogdHJ1ZSxcXG4gIGJvcmRlckltYWdlV2lkdGg6IHRydWUsXFxuICBib3hGbGV4OiB0cnVlLFxcbiAgYm94RmxleEdyb3VwOiB0cnVlLFxcbiAgYm94T3JkaW5hbEdyb3VwOiB0cnVlLFxcbiAgY29sdW1uQ291bnQ6IHRydWUsXFxuICBjb2x1bW5zOiB0cnVlLFxcbiAgZmxleDogdHJ1ZSxcXG4gIGZsZXhHcm93OiB0cnVlLFxcbiAgZmxleFBvc2l0aXZlOiB0cnVlLFxcbiAgZmxleFNocmluazogdHJ1ZSxcXG4gIGZsZXhOZWdhdGl2ZTogdHJ1ZSxcXG4gIGZsZXhPcmRlcjogdHJ1ZSxcXG4gIGdyaWRBcmVhOiB0cnVlLFxcbiAgZ3JpZFJvdzogdHJ1ZSxcXG4gIGdyaWRSb3dFbmQ6IHRydWUsXFxuICBncmlkUm93U3BhbjogdHJ1ZSxcXG4gIGdyaWRSb3dTdGFydDogdHJ1ZSxcXG4gIGdyaWRDb2x1bW46IHRydWUsXFxuICBncmlkQ29sdW1uRW5kOiB0cnVlLFxcbiAgZ3JpZENvbHVtblNwYW46IHRydWUsXFxuICBncmlkQ29sdW1uU3RhcnQ6IHRydWUsXFxuICBmb250V2VpZ2h0OiB0cnVlLFxcbiAgbGluZUNsYW1wOiB0cnVlLFxcbiAgbGluZUhlaWdodDogdHJ1ZSxcXG4gIG9wYWNpdHk6IHRydWUsXFxuICBvcmRlcjogdHJ1ZSxcXG4gIG9ycGhhbnM6IHRydWUsXFxuICB0YWJTaXplOiB0cnVlLFxcbiAgd2lkb3dzOiB0cnVlLFxcbiAgekluZGV4OiB0cnVlLFxcbiAgem9vbTogdHJ1ZSxcXG4gIC8vIFNWRy1yZWxhdGVkIHByb3BlcnRpZXNcXG4gIGZpbGxPcGFjaXR5OiB0cnVlLFxcbiAgZmxvb2RPcGFjaXR5OiB0cnVlLFxcbiAgc3RvcE9wYWNpdHk6IHRydWUsXFxuICBzdHJva2VEYXNoYXJyYXk6IHRydWUsXFxuICBzdHJva2VEYXNob2Zmc2V0OiB0cnVlLFxcbiAgc3Ryb2tlTWl0ZXJsaW1pdDogdHJ1ZSxcXG4gIHN0cm9rZU9wYWNpdHk6IHRydWUsXFxuICBzdHJva2VXaWR0aDogdHJ1ZVxcbn07XFxuLyoqXFxuICogQHBhcmFtIHtzdHJpbmd9IHByZWZpeCB2ZW5kb3Itc3BlY2lmaWMgcHJlZml4LCBlZzogV2Via2l0XFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBzdHlsZSBuYW1lLCBlZzogdHJhbnNpdGlvbkR1cmF0aW9uXFxuICogQHJldHVybiB7c3RyaW5nfSBzdHlsZSBuYW1lIHByZWZpeGVkIHdpdGggYHByZWZpeGAsIHByb3Blcmx5IGNhbWVsQ2FzZWQsIGVnOlxcbiAqIFdlYmtpdFRyYW5zaXRpb25EdXJhdGlvblxcbiAqL1xcblxcbmZ1bmN0aW9uIHByZWZpeEtleShwcmVmaXgsIGtleSkge1xcbiAgcmV0dXJuIHByZWZpeCArIGtleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGtleS5zdWJzdHJpbmcoMSk7XFxufVxcbi8qKlxcbiAqIFN1cHBvcnQgc3R5bGUgbmFtZXMgdGhhdCBtYXkgY29tZSBwYXNzZWQgaW4gcHJlZml4ZWQgYnkgYWRkaW5nIHBlcm11dGF0aW9uc1xcbiAqIG9mIHZlbmRvciBwcmVmaXhlcy5cXG4gKi9cXG5cXG5cXG52YXIgcHJlZml4ZXMgPSBbJ1dlYmtpdCcsICdtcycsICdNb3onLCAnTyddOyAvLyBVc2luZyBPYmplY3Qua2V5cyBoZXJlLCBvciBlbHNlIHRoZSB2YW5pbGxhIGZvci1pbiBsb29wIG1ha2VzIElFOCBnbyBpbnRvIGFuXFxuLy8gaW5maW5pdGUgbG9vcCwgYmVjYXVzZSBpdCBpdGVyYXRlcyBvdmVyIHRoZSBuZXdseSBhZGRlZCBwcm9wcyB0b28uXFxuXFxuT2JqZWN0LmtleXMoaXNVbml0bGVzc051bWJlcikuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xcbiAgcHJlZml4ZXMuZm9yRWFjaChmdW5jdGlvbiAocHJlZml4KSB7XFxuICAgIGlzVW5pdGxlc3NOdW1iZXJbcHJlZml4S2V5KHByZWZpeCwgcHJvcCldID0gaXNVbml0bGVzc051bWJlcltwcm9wXTtcXG4gIH0pO1xcbn0pO1xcblxcbi8qKlxcbiAqIENvbnZlcnQgYSB2YWx1ZSBpbnRvIHRoZSBwcm9wZXIgY3NzIHdyaXRhYmxlIHZhbHVlLiBUaGUgc3R5bGUgbmFtZSBgbmFtZWBcXG4gKiBzaG91bGQgYmUgbG9naWNhbCAobm8gaHlwaGVucyksIGFzIHNwZWNpZmllZFxcbiAqIGluIGBDU1NQcm9wZXJ0eS5pc1VuaXRsZXNzTnVtYmVyYC5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIENTUyBwcm9wZXJ0eSBuYW1lIHN1Y2ggYXMgYHRvcE1hcmdpbmAuXFxuICogQHBhcmFtIHsqfSB2YWx1ZSBDU1MgcHJvcGVydHkgdmFsdWUgc3VjaCBhcyBgMTBweGAuXFxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIHN0eWxlIHZhbHVlIHdpdGggZGltZW5zaW9ucyBhcHBsaWVkLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGRhbmdlcm91c1N0eWxlVmFsdWUobmFtZSwgdmFsdWUsIGlzQ3VzdG9tUHJvcGVydHkpIHtcXG4gIC8vIE5vdGUgdGhhdCB3ZSd2ZSByZW1vdmVkIGVzY2FwZVRleHRGb3JCcm93c2VyKCkgY2FsbHMgaGVyZSBzaW5jZSB0aGVcXG4gIC8vIHdob2xlIHN0cmluZyB3aWxsIGJlIGVzY2FwZWQgd2hlbiB0aGUgYXR0cmlidXRlIGlzIGluamVjdGVkIGludG9cXG4gIC8vIHRoZSBtYXJrdXAuIElmIHlvdSBwcm92aWRlIHVuc2FmZSB1c2VyIGRhdGEgaGVyZSB0aGV5IGNhbiBpbmplY3RcXG4gIC8vIGFyYml0cmFyeSBDU1Mgd2hpY2ggbWF5IGJlIHByb2JsZW1hdGljIChJIGNvdWxkbid0IHJlcHJvIHRoaXMpOlxcbiAgLy8gaHR0cHM6Ly93d3cub3dhc3Aub3JnL2luZGV4LnBocC9YU1NfRmlsdGVyX0V2YXNpb25fQ2hlYXRfU2hlZXRcXG4gIC8vIGh0dHA6Ly93d3cudGhlc3Bhbm5lci5jby51ay8yMDA3LzExLzI2L3VsdGltYXRlLXhzcy1jc3MtaW5qZWN0aW9uL1xcbiAgLy8gVGhpcyBpcyBub3QgYW4gWFNTIGhvbGUgYnV0IGluc3RlYWQgYSBwb3RlbnRpYWwgQ1NTIGluamVjdGlvbiBpc3N1ZVxcbiAgLy8gd2hpY2ggaGFzIGxlYWQgdG8gYSBncmVhdGVyIGRpc2N1c3Npb24gYWJvdXQgaG93IHdlJ3JlIGdvaW5nIHRvXFxuICAvLyB0cnVzdCBVUkxzIG1vdmluZyBmb3J3YXJkLiBTZWUgIzIxMTU5MDFcXG4gIHZhciBpc0VtcHR5ID0gdmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJyc7XFxuXFxuICBpZiAoaXNFbXB0eSkge1xcbiAgICByZXR1cm4gJyc7XFxuICB9XFxuXFxuICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKGlzVW5pdGxlc3NOdW1iZXIuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgaXNVbml0bGVzc051bWJlcltuYW1lXSkpIHtcXG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JzsgLy8gUHJlc3VtZXMgaW1wbGljaXQgJ3B4JyBzdWZmaXggZm9yIHVuaXRsZXNzIG51bWJlcnNcXG4gIH1cXG5cXG4gIHJldHVybiAoJycgKyB2YWx1ZSkudHJpbSgpO1xcbn1cXG5cXG52YXIgdXBwZXJjYXNlUGF0dGVybiA9IC8oW0EtWl0pL2c7XFxudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcXG4vKipcXG4gKiBIeXBoZW5hdGVzIGEgY2FtZWxjYXNlZCBDU1MgcHJvcGVydHkgbmFtZSwgZm9yIGV4YW1wbGU6XFxuICpcXG4gKiAgID4gaHlwaGVuYXRlU3R5bGVOYW1lKCdiYWNrZ3JvdW5kQ29sb3InKVxcbiAqICAgPCBcXFwiYmFja2dyb3VuZC1jb2xvclxcXCJcXG4gKiAgID4gaHlwaGVuYXRlU3R5bGVOYW1lKCdNb3pUcmFuc2l0aW9uJylcXG4gKiAgIDwgXFxcIi1tb3otdHJhbnNpdGlvblxcXCJcXG4gKiAgID4gaHlwaGVuYXRlU3R5bGVOYW1lKCdtc1RyYW5zaXRpb24nKVxcbiAqICAgPCBcXFwiLW1zLXRyYW5zaXRpb25cXFwiXFxuICpcXG4gKiBBcyBNb2Rlcm5penIgc3VnZ2VzdHMgKGh0dHA6Ly9tb2Rlcm5penIuY29tL2RvY3MvI3ByZWZpeGVkKSwgYW4gYG1zYCBwcmVmaXhcXG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGh5cGhlbmF0ZVN0eWxlTmFtZShuYW1lKSB7XFxuICByZXR1cm4gbmFtZS5yZXBsYWNlKHVwcGVyY2FzZVBhdHRlcm4sICctJDEnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UobXNQYXR0ZXJuLCAnLW1zLScpO1xcbn1cXG5cXG52YXIgd2FyblZhbGlkU3R5bGUgPSBmdW5jdGlvbiAoKSB7fTtcXG5cXG57XFxuICAvLyAnbXNUcmFuc2Zvcm0nIGlzIGNvcnJlY3QsIGJ1dCB0aGUgb3RoZXIgcHJlZml4ZXMgc2hvdWxkIGJlIGNhcGl0YWxpemVkXFxuICB2YXIgYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuID0gL14oPzp3ZWJraXR8bW96fG8pW0EtWl0vO1xcbiAgdmFyIG1zUGF0dGVybiQxID0gL14tbXMtLztcXG4gIHZhciBoeXBoZW5QYXR0ZXJuID0gLy0oLikvZzsgLy8gc3R5bGUgdmFsdWVzIHNob3VsZG4ndCBjb250YWluIGEgc2VtaWNvbG9uXFxuXFxuICB2YXIgYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuID0gLztcXFxccyokLztcXG4gIHZhciB3YXJuZWRTdHlsZU5hbWVzID0ge307XFxuICB2YXIgd2FybmVkU3R5bGVWYWx1ZXMgPSB7fTtcXG4gIHZhciB3YXJuZWRGb3JOYU5WYWx1ZSA9IGZhbHNlO1xcbiAgdmFyIHdhcm5lZEZvckluZmluaXR5VmFsdWUgPSBmYWxzZTtcXG5cXG4gIHZhciBjYW1lbGl6ZSA9IGZ1bmN0aW9uIChzdHJpbmcpIHtcXG4gICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKGh5cGhlblBhdHRlcm4sIGZ1bmN0aW9uIChfLCBjaGFyYWN0ZXIpIHtcXG4gICAgICByZXR1cm4gY2hhcmFjdGVyLnRvVXBwZXJDYXNlKCk7XFxuICAgIH0pO1xcbiAgfTtcXG5cXG4gIHZhciB3YXJuSHlwaGVuYXRlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XFxuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBzdHlsZSBwcm9wZXJ0eSAlcy4gRGlkIHlvdSBtZWFuICVzPycsIG5hbWUsIC8vIEFzIEFuZGkgU21pdGggc3VnZ2VzdHNcXG4gICAgLy8gKGh0dHA6Ly93d3cuYW5kaXNtaXRoLmNvbS9ibG9nLzIwMTIvMDIvbW9kZXJuaXpyLXByZWZpeGVkLyksIGFuIGAtbXNgIHByZWZpeFxcbiAgICAvLyBpcyBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGBtc2AuXFxuICAgIGNhbWVsaXplKG5hbWUucmVwbGFjZShtc1BhdHRlcm4kMSwgJ21zLScpKSk7XFxuICB9O1xcblxcbiAgdmFyIHdhcm5CYWRWZW5kb3JlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XFxuICAgIGlmICh3YXJuZWRTdHlsZU5hbWVzLmhhc093blByb3BlcnR5KG5hbWUpICYmIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCB2ZW5kb3ItcHJlZml4ZWQgc3R5bGUgcHJvcGVydHkgJXMuIERpZCB5b3UgbWVhbiAlcz8nLCBuYW1lLCBuYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbmFtZS5zbGljZSgxKSk7XFxuICB9O1xcblxcbiAgdmFyIHdhcm5TdHlsZVZhbHVlV2l0aFNlbWljb2xvbiA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xcbiAgICBpZiAod2FybmVkU3R5bGVWYWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpICYmIHdhcm5lZFN0eWxlVmFsdWVzW3ZhbHVlXSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3YXJuZWRTdHlsZVZhbHVlc1t2YWx1ZV0gPSB0cnVlO1xcblxcbiAgICBlcnJvcihcXFwiU3R5bGUgcHJvcGVydHkgdmFsdWVzIHNob3VsZG4ndCBjb250YWluIGEgc2VtaWNvbG9uLiBcXFwiICsgJ1RyeSBcXFwiJXM6ICVzXFxcIiBpbnN0ZWFkLicsIG5hbWUsIHZhbHVlLnJlcGxhY2UoYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuLCAnJykpO1xcbiAgfTtcXG5cXG4gIHZhciB3YXJuU3R5bGVWYWx1ZUlzTmFOID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XFxuICAgIGlmICh3YXJuZWRGb3JOYU5WYWx1ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3YXJuZWRGb3JOYU5WYWx1ZSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdgTmFOYCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciB0aGUgYCVzYCBjc3Mgc3R5bGUgcHJvcGVydHkuJywgbmFtZSk7XFxuICB9O1xcblxcbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNJbmZpbml0eSA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xcbiAgICBpZiAod2FybmVkRm9ySW5maW5pdHlWYWx1ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3YXJuZWRGb3JJbmZpbml0eVZhbHVlID0gdHJ1ZTtcXG5cXG4gICAgZXJyb3IoJ2BJbmZpbml0eWAgaXMgYW4gaW52YWxpZCB2YWx1ZSBmb3IgdGhlIGAlc2AgY3NzIHN0eWxlIHByb3BlcnR5LicsIG5hbWUpO1xcbiAgfTtcXG5cXG4gIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKG5hbWUsIHZhbHVlKSB7XFxuICAgIGlmIChuYW1lLmluZGV4T2YoJy0nKSA+IC0xKSB7XFxuICAgICAgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUobmFtZSk7XFxuICAgIH0gZWxzZSBpZiAoYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcXG4gICAgICB3YXJuQmFkVmVuZG9yZWRTdHlsZU5hbWUobmFtZSk7XFxuICAgIH0gZWxzZSBpZiAoYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuLnRlc3QodmFsdWUpKSB7XFxuICAgICAgd2FyblN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uKG5hbWUsIHZhbHVlKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xcbiAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcXG4gICAgICAgIHdhcm5TdHlsZVZhbHVlSXNOYU4obmFtZSwgdmFsdWUpO1xcbiAgICAgIH0gZWxzZSBpZiAoIWlzRmluaXRlKHZhbHVlKSkge1xcbiAgICAgICAgd2FyblN0eWxlVmFsdWVJc0luZmluaXR5KG5hbWUsIHZhbHVlKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07XFxufVxcblxcbnZhciB3YXJuVmFsaWRTdHlsZSQxID0gd2FyblZhbGlkU3R5bGU7XFxuXFxuLyoqXFxuICogT3BlcmF0aW9ucyBmb3IgZGVhbGluZyB3aXRoIENTUyBwcm9wZXJ0aWVzLlxcbiAqL1xcblxcbi8qKlxcbiAqIFRoaXMgY3JlYXRlcyBhIHN0cmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlIHN0eWxlXFxuICogYXR0cmlidXRlIGdlbmVyYXRlZCBieSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIEl0IGJ5LXBhc3NlcyB3YXJuaW5ncyBhbmRcXG4gKiBzZWN1cml0eSBjaGVja3Mgc28gaXQncyBub3Qgc2FmZSB0byB1c2UgdGhpcyB2YWx1ZSBmb3IgYW55dGhpbmcgb3RoZXIgdGhhblxcbiAqIGNvbXBhcmlzb24uIEl0IGlzIG9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxcbiAqL1xcblxcbmZ1bmN0aW9uIGNyZWF0ZURhbmdlcm91c1N0cmluZ0ZvclN0eWxlcyhzdHlsZXMpIHtcXG4gIHtcXG4gICAgdmFyIHNlcmlhbGl6ZWQgPSAnJztcXG4gICAgdmFyIGRlbGltaXRlciA9ICcnO1xcblxcbiAgICBmb3IgKHZhciBzdHlsZU5hbWUgaW4gc3R5bGVzKSB7XFxuICAgICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBzdHlsZVZhbHVlID0gc3R5bGVzW3N0eWxlTmFtZV07XFxuXFxuICAgICAgaWYgKHN0eWxlVmFsdWUgIT0gbnVsbCkge1xcbiAgICAgICAgdmFyIGlzQ3VzdG9tUHJvcGVydHkgPSBzdHlsZU5hbWUuaW5kZXhPZignLS0nKSA9PT0gMDtcXG4gICAgICAgIHNlcmlhbGl6ZWQgKz0gZGVsaW1pdGVyICsgKGlzQ3VzdG9tUHJvcGVydHkgPyBzdHlsZU5hbWUgOiBoeXBoZW5hdGVTdHlsZU5hbWUoc3R5bGVOYW1lKSkgKyAnOic7XFxuICAgICAgICBzZXJpYWxpemVkICs9IGRhbmdlcm91c1N0eWxlVmFsdWUoc3R5bGVOYW1lLCBzdHlsZVZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KTtcXG4gICAgICAgIGRlbGltaXRlciA9ICc7JztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHNlcmlhbGl6ZWQgfHwgbnVsbDtcXG4gIH1cXG59XFxuLyoqXFxuICogU2V0cyB0aGUgdmFsdWUgZm9yIG11bHRpcGxlIHN0eWxlcyBvbiBhIG5vZGUuICBJZiBhIHZhbHVlIGlzIHNwZWNpZmllZCBhc1xcbiAqICcnIChlbXB0eSBzdHJpbmcpLCB0aGUgY29ycmVzcG9uZGluZyBzdHlsZSBwcm9wZXJ0eSB3aWxsIGJlIHVuc2V0LlxcbiAqXFxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXFxuICogQHBhcmFtIHtvYmplY3R9IHN0eWxlc1xcbiAqL1xcblxcbmZ1bmN0aW9uIHNldFZhbHVlRm9yU3R5bGVzKG5vZGUsIHN0eWxlcykge1xcbiAgdmFyIHN0eWxlID0gbm9kZS5zdHlsZTtcXG5cXG4gIGZvciAodmFyIHN0eWxlTmFtZSBpbiBzdHlsZXMpIHtcXG4gICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xcbiAgICAgIGNvbnRpbnVlO1xcbiAgICB9XFxuXFxuICAgIHZhciBpc0N1c3RvbVByb3BlcnR5ID0gc3R5bGVOYW1lLmluZGV4T2YoJy0tJykgPT09IDA7XFxuXFxuICAgIHtcXG4gICAgICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkpIHtcXG4gICAgICAgIHdhcm5WYWxpZFN0eWxlJDEoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBzdHlsZVZhbHVlID0gZGFuZ2Vyb3VzU3R5bGVWYWx1ZShzdHlsZU5hbWUsIHN0eWxlc1tzdHlsZU5hbWVdLCBpc0N1c3RvbVByb3BlcnR5KTtcXG5cXG4gICAgaWYgKHN0eWxlTmFtZSA9PT0gJ2Zsb2F0Jykge1xcbiAgICAgIHN0eWxlTmFtZSA9ICdjc3NGbG9hdCc7XFxuICAgIH1cXG5cXG4gICAgaWYgKGlzQ3VzdG9tUHJvcGVydHkpIHtcXG4gICAgICBzdHlsZS5zZXRQcm9wZXJ0eShzdHlsZU5hbWUsIHN0eWxlVmFsdWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0eWxlW3N0eWxlTmFtZV0gPSBzdHlsZVZhbHVlO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzVmFsdWVFbXB0eSh2YWx1ZSkge1xcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicgfHwgdmFsdWUgPT09ICcnO1xcbn1cXG4vKipcXG4gKiBHaXZlbiB7Y29sb3I6ICdyZWQnLCBvdmVyZmxvdzogJ2hpZGRlbid9IHJldHVybnMge1xcbiAqICAgY29sb3I6ICdjb2xvcicsXFxuICogICBvdmVyZmxvd1g6ICdvdmVyZmxvdycsXFxuICogICBvdmVyZmxvd1k6ICdvdmVyZmxvdycsXFxuICogfS4gVGhpcyBjYW4gYmUgcmVhZCBhcyBcXFwidGhlIG92ZXJmbG93WSBwcm9wZXJ0eSB3YXMgc2V0IGJ5IHRoZSBvdmVyZmxvd1xcbiAqIHNob3J0aGFuZFxcXCIuIFRoYXQgaXMsIHRoZSB2YWx1ZXMgYXJlIHRoZSBwcm9wZXJ0eSB0aGF0IGVhY2ggd2FzIGRlcml2ZWQgZnJvbS5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBleHBhbmRTaG9ydGhhbmRNYXAoc3R5bGVzKSB7XFxuICB2YXIgZXhwYW5kZWQgPSB7fTtcXG5cXG4gIGZvciAodmFyIGtleSBpbiBzdHlsZXMpIHtcXG4gICAgdmFyIGxvbmdoYW5kcyA9IHNob3J0aGFuZFRvTG9uZ2hhbmRba2V5XSB8fCBba2V5XTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsb25naGFuZHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICBleHBhbmRlZFtsb25naGFuZHNbaV1dID0ga2V5O1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZXhwYW5kZWQ7XFxufVxcbi8qKlxcbiAqIFdoZW4gbWl4aW5nIHNob3J0aGFuZCBhbmQgbG9uZ2hhbmQgcHJvcGVydHkgbmFtZXMsIHdlIHdhcm4gZHVyaW5nIHVwZGF0ZXMgaWZcXG4gKiB3ZSBleHBlY3QgYW4gaW5jb3JyZWN0IHJlc3VsdCB0byBvY2N1ci4gSW4gcGFydGljdWxhciwgd2Ugd2FybiBmb3I6XFxuICpcXG4gKiBVcGRhdGluZyBhIHNob3J0aGFuZCBwcm9wZXJ0eSAobG9uZ2hhbmQgZ2V0cyBvdmVyd3JpdHRlbik6XFxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdiYXonLCBmb250VmFyaWFudDogJ2Jhcid9XFxuICogICBiZWNvbWVzIC5zdHlsZS5mb250ID0gJ2JheidcXG4gKiBSZW1vdmluZyBhIHNob3J0aGFuZCBwcm9wZXJ0eSAobG9uZ2hhbmQgZ2V0cyBsb3N0IHRvbyk6XFxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnRWYXJpYW50OiAnYmFyJ31cXG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnJ1xcbiAqIFJlbW92aW5nIGEgbG9uZ2hhbmQgcHJvcGVydHkgKHNob3VsZCByZXZlcnQgdG8gc2hvcnRoYW5kOyBkb2Vzbid0KTpcXG4gKiAgIHtmb250OiAnZm9vJywgZm9udFZhcmlhbnQ6ICdiYXInfSAtPiB7Zm9udDogJ2Zvbyd9XFxuICogICBiZWNvbWVzIC5zdHlsZS5mb250VmFyaWFudCA9ICcnXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVTaG9ydGhhbmRQcm9wZXJ0eUNvbGxpc2lvbkluRGV2KHN0eWxlVXBkYXRlcywgbmV4dFN0eWxlcykge1xcbiAge1xcblxcbiAgICBpZiAoIW5leHRTdHlsZXMpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGV4cGFuZGVkVXBkYXRlcyA9IGV4cGFuZFNob3J0aGFuZE1hcChzdHlsZVVwZGF0ZXMpO1xcbiAgICB2YXIgZXhwYW5kZWRTdHlsZXMgPSBleHBhbmRTaG9ydGhhbmRNYXAobmV4dFN0eWxlcyk7XFxuICAgIHZhciB3YXJuZWRBYm91dCA9IHt9O1xcblxcbiAgICBmb3IgKHZhciBrZXkgaW4gZXhwYW5kZWRVcGRhdGVzKSB7XFxuICAgICAgdmFyIG9yaWdpbmFsS2V5ID0gZXhwYW5kZWRVcGRhdGVzW2tleV07XFxuICAgICAgdmFyIGNvcnJlY3RPcmlnaW5hbEtleSA9IGV4cGFuZGVkU3R5bGVzW2tleV07XFxuXFxuICAgICAgaWYgKGNvcnJlY3RPcmlnaW5hbEtleSAmJiBvcmlnaW5hbEtleSAhPT0gY29ycmVjdE9yaWdpbmFsS2V5KSB7XFxuICAgICAgICB2YXIgd2FybmluZ0tleSA9IG9yaWdpbmFsS2V5ICsgJywnICsgY29ycmVjdE9yaWdpbmFsS2V5O1xcblxcbiAgICAgICAgaWYgKHdhcm5lZEFib3V0W3dhcm5pbmdLZXldKSB7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgd2FybmVkQWJvdXRbd2FybmluZ0tleV0gPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJyVzIGEgc3R5bGUgcHJvcGVydHkgZHVyaW5nIHJlcmVuZGVyICglcykgd2hlbiBhICcgKyAnY29uZmxpY3RpbmcgcHJvcGVydHkgaXMgc2V0ICglcykgY2FuIGxlYWQgdG8gc3R5bGluZyBidWdzLiBUbyAnICsgXFxcImF2b2lkIHRoaXMsIGRvbid0IG1peCBzaG9ydGhhbmQgYW5kIG5vbi1zaG9ydGhhbmQgcHJvcGVydGllcyBcXFwiICsgJ2ZvciB0aGUgc2FtZSB2YWx1ZTsgaW5zdGVhZCwgcmVwbGFjZSB0aGUgc2hvcnRoYW5kIHdpdGggJyArICdzZXBhcmF0ZSB2YWx1ZXMuJywgaXNWYWx1ZUVtcHR5KHN0eWxlVXBkYXRlc1tvcmlnaW5hbEtleV0pID8gJ1JlbW92aW5nJyA6ICdVcGRhdGluZycsIG9yaWdpbmFsS2V5LCBjb3JyZWN0T3JpZ2luYWxLZXkpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vLyBGb3IgSFRNTCwgY2VydGFpbiB0YWdzIHNob3VsZCBvbWl0IHRoZWlyIGNsb3NlIHRhZy4gV2Uga2VlcCBhIHdoaXRlbGlzdCBmb3JcXG4vLyB0aG9zZSBzcGVjaWFsLWNhc2UgdGFncy5cXG52YXIgb21pdHRlZENsb3NlVGFncyA9IHtcXG4gIGFyZWE6IHRydWUsXFxuICBiYXNlOiB0cnVlLFxcbiAgYnI6IHRydWUsXFxuICBjb2w6IHRydWUsXFxuICBlbWJlZDogdHJ1ZSxcXG4gIGhyOiB0cnVlLFxcbiAgaW1nOiB0cnVlLFxcbiAgaW5wdXQ6IHRydWUsXFxuICBrZXlnZW46IHRydWUsXFxuICBsaW5rOiB0cnVlLFxcbiAgbWV0YTogdHJ1ZSxcXG4gIHBhcmFtOiB0cnVlLFxcbiAgc291cmNlOiB0cnVlLFxcbiAgdHJhY2s6IHRydWUsXFxuICB3YnI6IHRydWUgLy8gTk9URTogbWVudWl0ZW0ncyBjbG9zZSB0YWcgc2hvdWxkIGJlIG9taXR0ZWQsIGJ1dCB0aGF0IGNhdXNlcyBwcm9ibGVtcy5cXG5cXG59O1xcblxcbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cXG5cXG52YXIgdm9pZEVsZW1lbnRUYWdzID0gX2Fzc2lnbih7XFxuICBtZW51aXRlbTogdHJ1ZVxcbn0sIG9taXR0ZWRDbG9zZVRhZ3MpO1xcblxcbnZhciBIVE1MID0gJ19faHRtbCc7XFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMyA9IG51bGw7XFxuXFxue1xcbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcXG59XFxuXFxuZnVuY3Rpb24gYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKSB7XFxuICBpZiAoIXByb3BzKSB7XFxuICAgIHJldHVybjtcXG4gIH0gLy8gTm90ZSB0aGUgdXNlIG9mIGA9PWAgd2hpY2ggY2hlY2tzIGZvciBudWxsIG9yIHVuZGVmaW5lZC5cXG5cXG5cXG4gIGlmICh2b2lkRWxlbWVudFRhZ3NbdGFnXSkge1xcbiAgICBpZiAoIShwcm9wcy5jaGlsZHJlbiA9PSBudWxsICYmIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09IG51bGwpKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIHRhZyArIFxcXCIgaXMgYSB2b2lkIGVsZW1lbnQgdGFnIGFuZCBtdXN0IG5laXRoZXIgaGF2ZSBgY2hpbGRyZW5gIG5vciB1c2UgYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC5cXFwiICsgKCBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDMuZ2V0U3RhY2tBZGRlbmR1bSgpICkgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPSBudWxsKSB7XFxuICAgIGlmICghKHByb3BzLmNoaWxkcmVuID09IG51bGwpKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJDYW4gb25seSBzZXQgb25lIG9mIGBjaGlsZHJlbmAgb3IgYHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICghKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9PT0gJ29iamVjdCcgJiYgSFRNTCBpbiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcImBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTGAgbXVzdCBiZSBpbiB0aGUgZm9ybSBge19faHRtbDogLi4ufWAuIFBsZWFzZSB2aXNpdCBodHRwczovL2ZiLm1lL3JlYWN0LWludmFyaWFudC1kYW5nZXJvdXNseS1zZXQtaW5uZXItaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIGlmICghcHJvcHMuc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nICYmIHByb3BzLmNvbnRlbnRFZGl0YWJsZSAmJiBwcm9wcy5jaGlsZHJlbiAhPSBudWxsKSB7XFxuICAgICAgZXJyb3IoJ0EgY29tcG9uZW50IGlzIGBjb250ZW50RWRpdGFibGVgIGFuZCBjb250YWlucyBgY2hpbGRyZW5gIG1hbmFnZWQgYnkgJyArICdSZWFjdC4gSXQgaXMgbm93IHlvdXIgcmVzcG9uc2liaWxpdHkgdG8gZ3VhcmFudGVlIHRoYXQgbm9uZSBvZiAnICsgJ3Rob3NlIG5vZGVzIGFyZSB1bmV4cGVjdGVkbHkgbW9kaWZpZWQgb3IgZHVwbGljYXRlZC4gVGhpcyBpcyAnICsgJ3Byb2JhYmx5IG5vdCBpbnRlbnRpb25hbC4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKCEocHJvcHMuc3R5bGUgPT0gbnVsbCB8fCB0eXBlb2YgcHJvcHMuc3R5bGUgPT09ICdvYmplY3QnKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUaGUgYHN0eWxlYCBwcm9wIGV4cGVjdHMgYSBtYXBwaW5nIGZyb20gc3R5bGUgcHJvcGVydGllcyB0byB2YWx1ZXMsIG5vdCBhIHN0cmluZy4gRm9yIGV4YW1wbGUsIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNpbmcgKyAnZW0nfX0gd2hlbiB1c2luZyBKU1guXFxcIiArICggUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQzLmdldFN0YWNrQWRkZW5kdW0oKSApICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaXNDdXN0b21Db21wb25lbnQodGFnTmFtZSwgcHJvcHMpIHtcXG4gIGlmICh0YWdOYW1lLmluZGV4T2YoJy0nKSA9PT0gLTEpIHtcXG4gICAgcmV0dXJuIHR5cGVvZiBwcm9wcy5pcyA9PT0gJ3N0cmluZyc7XFxuICB9XFxuXFxuICBzd2l0Y2ggKHRhZ05hbWUpIHtcXG4gICAgLy8gVGhlc2UgYXJlIHJlc2VydmVkIFNWRyBhbmQgTWF0aE1MIGVsZW1lbnRzLlxcbiAgICAvLyBXZSBkb24ndCBtaW5kIHRoaXMgd2hpdGVsaXN0IHRvbyBtdWNoIGJlY2F1c2Ugd2UgZXhwZWN0IGl0IHRvIG5ldmVyIGdyb3cuXFxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxcbiAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViY29tcG9uZW50cy9zcGVjL2N1c3RvbS8jY3VzdG9tLWVsZW1lbnRzLWNvcmUtY29uY2VwdHNcXG4gICAgY2FzZSAnYW5ub3RhdGlvbi14bWwnOlxcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcXG4gICAgY2FzZSAnZm9udC1mYWNlJzpcXG4gICAgY2FzZSAnZm9udC1mYWNlLXNyYyc6XFxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxcbiAgICBjYXNlICdmb250LWZhY2UtZm9ybWF0JzpcXG4gICAgY2FzZSAnZm9udC1mYWNlLW5hbWUnOlxcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICB9XFxufVxcblxcbi8vIFdoZW4gYWRkaW5nIGF0dHJpYnV0ZXMgdG8gdGhlIEhUTUwgb3IgU1ZHIHdoaXRlbGlzdCwgYmUgc3VyZSB0b1xcbi8vIGFsc28gYWRkIHRoZW0gdG8gdGhpcyBtb2R1bGUgdG8gZW5zdXJlIGNhc2luZyBhbmQgaW5jb3JyZWN0IG5hbWVcXG4vLyB3YXJuaW5ncy5cXG52YXIgcG9zc2libGVTdGFuZGFyZE5hbWVzID0ge1xcbiAgLy8gSFRNTFxcbiAgYWNjZXB0OiAnYWNjZXB0JyxcXG4gIGFjY2VwdGNoYXJzZXQ6ICdhY2NlcHRDaGFyc2V0JyxcXG4gICdhY2NlcHQtY2hhcnNldCc6ICdhY2NlcHRDaGFyc2V0JyxcXG4gIGFjY2Vzc2tleTogJ2FjY2Vzc0tleScsXFxuICBhY3Rpb246ICdhY3Rpb24nLFxcbiAgYWxsb3dmdWxsc2NyZWVuOiAnYWxsb3dGdWxsU2NyZWVuJyxcXG4gIGFsdDogJ2FsdCcsXFxuICBhczogJ2FzJyxcXG4gIGFzeW5jOiAnYXN5bmMnLFxcbiAgYXV0b2NhcGl0YWxpemU6ICdhdXRvQ2FwaXRhbGl6ZScsXFxuICBhdXRvY29tcGxldGU6ICdhdXRvQ29tcGxldGUnLFxcbiAgYXV0b2NvcnJlY3Q6ICdhdXRvQ29ycmVjdCcsXFxuICBhdXRvZm9jdXM6ICdhdXRvRm9jdXMnLFxcbiAgYXV0b3BsYXk6ICdhdXRvUGxheScsXFxuICBhdXRvc2F2ZTogJ2F1dG9TYXZlJyxcXG4gIGNhcHR1cmU6ICdjYXB0dXJlJyxcXG4gIGNlbGxwYWRkaW5nOiAnY2VsbFBhZGRpbmcnLFxcbiAgY2VsbHNwYWNpbmc6ICdjZWxsU3BhY2luZycsXFxuICBjaGFsbGVuZ2U6ICdjaGFsbGVuZ2UnLFxcbiAgY2hhcnNldDogJ2NoYXJTZXQnLFxcbiAgY2hlY2tlZDogJ2NoZWNrZWQnLFxcbiAgY2hpbGRyZW46ICdjaGlsZHJlbicsXFxuICBjaXRlOiAnY2l0ZScsXFxuICBjbGFzczogJ2NsYXNzTmFtZScsXFxuICBjbGFzc2lkOiAnY2xhc3NJRCcsXFxuICBjbGFzc25hbWU6ICdjbGFzc05hbWUnLFxcbiAgY29sczogJ2NvbHMnLFxcbiAgY29sc3BhbjogJ2NvbFNwYW4nLFxcbiAgY29udGVudDogJ2NvbnRlbnQnLFxcbiAgY29udGVudGVkaXRhYmxlOiAnY29udGVudEVkaXRhYmxlJyxcXG4gIGNvbnRleHRtZW51OiAnY29udGV4dE1lbnUnLFxcbiAgY29udHJvbHM6ICdjb250cm9scycsXFxuICBjb250cm9sc2xpc3Q6ICdjb250cm9sc0xpc3QnLFxcbiAgY29vcmRzOiAnY29vcmRzJyxcXG4gIGNyb3Nzb3JpZ2luOiAnY3Jvc3NPcmlnaW4nLFxcbiAgZGFuZ2Vyb3VzbHlzZXRpbm5lcmh0bWw6ICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsXFxuICBkYXRhOiAnZGF0YScsXFxuICBkYXRldGltZTogJ2RhdGVUaW1lJyxcXG4gIGRlZmF1bHQ6ICdkZWZhdWx0JyxcXG4gIGRlZmF1bHRjaGVja2VkOiAnZGVmYXVsdENoZWNrZWQnLFxcbiAgZGVmYXVsdHZhbHVlOiAnZGVmYXVsdFZhbHVlJyxcXG4gIGRlZmVyOiAnZGVmZXInLFxcbiAgZGlyOiAnZGlyJyxcXG4gIGRpc2FibGVkOiAnZGlzYWJsZWQnLFxcbiAgZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmU6ICdkaXNhYmxlUGljdHVyZUluUGljdHVyZScsXFxuICBkb3dubG9hZDogJ2Rvd25sb2FkJyxcXG4gIGRyYWdnYWJsZTogJ2RyYWdnYWJsZScsXFxuICBlbmN0eXBlOiAnZW5jVHlwZScsXFxuICBmb3I6ICdodG1sRm9yJyxcXG4gIGZvcm06ICdmb3JtJyxcXG4gIGZvcm1tZXRob2Q6ICdmb3JtTWV0aG9kJyxcXG4gIGZvcm1hY3Rpb246ICdmb3JtQWN0aW9uJyxcXG4gIGZvcm1lbmN0eXBlOiAnZm9ybUVuY1R5cGUnLFxcbiAgZm9ybW5vdmFsaWRhdGU6ICdmb3JtTm9WYWxpZGF0ZScsXFxuICBmb3JtdGFyZ2V0OiAnZm9ybVRhcmdldCcsXFxuICBmcmFtZWJvcmRlcjogJ2ZyYW1lQm9yZGVyJyxcXG4gIGhlYWRlcnM6ICdoZWFkZXJzJyxcXG4gIGhlaWdodDogJ2hlaWdodCcsXFxuICBoaWRkZW46ICdoaWRkZW4nLFxcbiAgaGlnaDogJ2hpZ2gnLFxcbiAgaHJlZjogJ2hyZWYnLFxcbiAgaHJlZmxhbmc6ICdocmVmTGFuZycsXFxuICBodG1sZm9yOiAnaHRtbEZvcicsXFxuICBodHRwZXF1aXY6ICdodHRwRXF1aXYnLFxcbiAgJ2h0dHAtZXF1aXYnOiAnaHR0cEVxdWl2JyxcXG4gIGljb246ICdpY29uJyxcXG4gIGlkOiAnaWQnLFxcbiAgaW5uZXJodG1sOiAnaW5uZXJIVE1MJyxcXG4gIGlucHV0bW9kZTogJ2lucHV0TW9kZScsXFxuICBpbnRlZ3JpdHk6ICdpbnRlZ3JpdHknLFxcbiAgaXM6ICdpcycsXFxuICBpdGVtaWQ6ICdpdGVtSUQnLFxcbiAgaXRlbXByb3A6ICdpdGVtUHJvcCcsXFxuICBpdGVtcmVmOiAnaXRlbVJlZicsXFxuICBpdGVtc2NvcGU6ICdpdGVtU2NvcGUnLFxcbiAgaXRlbXR5cGU6ICdpdGVtVHlwZScsXFxuICBrZXlwYXJhbXM6ICdrZXlQYXJhbXMnLFxcbiAga2V5dHlwZTogJ2tleVR5cGUnLFxcbiAga2luZDogJ2tpbmQnLFxcbiAgbGFiZWw6ICdsYWJlbCcsXFxuICBsYW5nOiAnbGFuZycsXFxuICBsaXN0OiAnbGlzdCcsXFxuICBsb29wOiAnbG9vcCcsXFxuICBsb3c6ICdsb3cnLFxcbiAgbWFuaWZlc3Q6ICdtYW5pZmVzdCcsXFxuICBtYXJnaW53aWR0aDogJ21hcmdpbldpZHRoJyxcXG4gIG1hcmdpbmhlaWdodDogJ21hcmdpbkhlaWdodCcsXFxuICBtYXg6ICdtYXgnLFxcbiAgbWF4bGVuZ3RoOiAnbWF4TGVuZ3RoJyxcXG4gIG1lZGlhOiAnbWVkaWEnLFxcbiAgbWVkaWFncm91cDogJ21lZGlhR3JvdXAnLFxcbiAgbWV0aG9kOiAnbWV0aG9kJyxcXG4gIG1pbjogJ21pbicsXFxuICBtaW5sZW5ndGg6ICdtaW5MZW5ndGgnLFxcbiAgbXVsdGlwbGU6ICdtdWx0aXBsZScsXFxuICBtdXRlZDogJ211dGVkJyxcXG4gIG5hbWU6ICduYW1lJyxcXG4gIG5vbW9kdWxlOiAnbm9Nb2R1bGUnLFxcbiAgbm9uY2U6ICdub25jZScsXFxuICBub3ZhbGlkYXRlOiAnbm9WYWxpZGF0ZScsXFxuICBvcGVuOiAnb3BlbicsXFxuICBvcHRpbXVtOiAnb3B0aW11bScsXFxuICBwYXR0ZXJuOiAncGF0dGVybicsXFxuICBwbGFjZWhvbGRlcjogJ3BsYWNlaG9sZGVyJyxcXG4gIHBsYXlzaW5saW5lOiAncGxheXNJbmxpbmUnLFxcbiAgcG9zdGVyOiAncG9zdGVyJyxcXG4gIHByZWxvYWQ6ICdwcmVsb2FkJyxcXG4gIHByb2ZpbGU6ICdwcm9maWxlJyxcXG4gIHJhZGlvZ3JvdXA6ICdyYWRpb0dyb3VwJyxcXG4gIHJlYWRvbmx5OiAncmVhZE9ubHknLFxcbiAgcmVmZXJyZXJwb2xpY3k6ICdyZWZlcnJlclBvbGljeScsXFxuICByZWw6ICdyZWwnLFxcbiAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsXFxuICByZXZlcnNlZDogJ3JldmVyc2VkJyxcXG4gIHJvbGU6ICdyb2xlJyxcXG4gIHJvd3M6ICdyb3dzJyxcXG4gIHJvd3NwYW46ICdyb3dTcGFuJyxcXG4gIHNhbmRib3g6ICdzYW5kYm94JyxcXG4gIHNjb3BlOiAnc2NvcGUnLFxcbiAgc2NvcGVkOiAnc2NvcGVkJyxcXG4gIHNjcm9sbGluZzogJ3Njcm9sbGluZycsXFxuICBzZWFtbGVzczogJ3NlYW1sZXNzJyxcXG4gIHNlbGVjdGVkOiAnc2VsZWN0ZWQnLFxcbiAgc2hhcGU6ICdzaGFwZScsXFxuICBzaXplOiAnc2l6ZScsXFxuICBzaXplczogJ3NpemVzJyxcXG4gIHNwYW46ICdzcGFuJyxcXG4gIHNwZWxsY2hlY2s6ICdzcGVsbENoZWNrJyxcXG4gIHNyYzogJ3NyYycsXFxuICBzcmNkb2M6ICdzcmNEb2MnLFxcbiAgc3JjbGFuZzogJ3NyY0xhbmcnLFxcbiAgc3Jjc2V0OiAnc3JjU2V0JyxcXG4gIHN0YXJ0OiAnc3RhcnQnLFxcbiAgc3RlcDogJ3N0ZXAnLFxcbiAgc3R5bGU6ICdzdHlsZScsXFxuICBzdW1tYXJ5OiAnc3VtbWFyeScsXFxuICB0YWJpbmRleDogJ3RhYkluZGV4JyxcXG4gIHRhcmdldDogJ3RhcmdldCcsXFxuICB0aXRsZTogJ3RpdGxlJyxcXG4gIHR5cGU6ICd0eXBlJyxcXG4gIHVzZW1hcDogJ3VzZU1hcCcsXFxuICB2YWx1ZTogJ3ZhbHVlJyxcXG4gIHdpZHRoOiAnd2lkdGgnLFxcbiAgd21vZGU6ICd3bW9kZScsXFxuICB3cmFwOiAnd3JhcCcsXFxuICAvLyBTVkdcXG4gIGFib3V0OiAnYWJvdXQnLFxcbiAgYWNjZW50aGVpZ2h0OiAnYWNjZW50SGVpZ2h0JyxcXG4gICdhY2NlbnQtaGVpZ2h0JzogJ2FjY2VudEhlaWdodCcsXFxuICBhY2N1bXVsYXRlOiAnYWNjdW11bGF0ZScsXFxuICBhZGRpdGl2ZTogJ2FkZGl0aXZlJyxcXG4gIGFsaWdubWVudGJhc2VsaW5lOiAnYWxpZ25tZW50QmFzZWxpbmUnLFxcbiAgJ2FsaWdubWVudC1iYXNlbGluZSc6ICdhbGlnbm1lbnRCYXNlbGluZScsXFxuICBhbGxvd3Jlb3JkZXI6ICdhbGxvd1Jlb3JkZXInLFxcbiAgYWxwaGFiZXRpYzogJ2FscGhhYmV0aWMnLFxcbiAgYW1wbGl0dWRlOiAnYW1wbGl0dWRlJyxcXG4gIGFyYWJpY2Zvcm06ICdhcmFiaWNGb3JtJyxcXG4gICdhcmFiaWMtZm9ybSc6ICdhcmFiaWNGb3JtJyxcXG4gIGFzY2VudDogJ2FzY2VudCcsXFxuICBhdHRyaWJ1dGVuYW1lOiAnYXR0cmlidXRlTmFtZScsXFxuICBhdHRyaWJ1dGV0eXBlOiAnYXR0cmlidXRlVHlwZScsXFxuICBhdXRvcmV2ZXJzZTogJ2F1dG9SZXZlcnNlJyxcXG4gIGF6aW11dGg6ICdhemltdXRoJyxcXG4gIGJhc2VmcmVxdWVuY3k6ICdiYXNlRnJlcXVlbmN5JyxcXG4gIGJhc2VsaW5lc2hpZnQ6ICdiYXNlbGluZVNoaWZ0JyxcXG4gICdiYXNlbGluZS1zaGlmdCc6ICdiYXNlbGluZVNoaWZ0JyxcXG4gIGJhc2Vwcm9maWxlOiAnYmFzZVByb2ZpbGUnLFxcbiAgYmJveDogJ2Jib3gnLFxcbiAgYmVnaW46ICdiZWdpbicsXFxuICBiaWFzOiAnYmlhcycsXFxuICBieTogJ2J5JyxcXG4gIGNhbGNtb2RlOiAnY2FsY01vZGUnLFxcbiAgY2FwaGVpZ2h0OiAnY2FwSGVpZ2h0JyxcXG4gICdjYXAtaGVpZ2h0JzogJ2NhcEhlaWdodCcsXFxuICBjbGlwOiAnY2xpcCcsXFxuICBjbGlwcGF0aDogJ2NsaXBQYXRoJyxcXG4gICdjbGlwLXBhdGgnOiAnY2xpcFBhdGgnLFxcbiAgY2xpcHBhdGh1bml0czogJ2NsaXBQYXRoVW5pdHMnLFxcbiAgY2xpcHJ1bGU6ICdjbGlwUnVsZScsXFxuICAnY2xpcC1ydWxlJzogJ2NsaXBSdWxlJyxcXG4gIGNvbG9yOiAnY29sb3InLFxcbiAgY29sb3JpbnRlcnBvbGF0aW9uOiAnY29sb3JJbnRlcnBvbGF0aW9uJyxcXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJzogJ2NvbG9ySW50ZXJwb2xhdGlvbicsXFxuICBjb2xvcmludGVycG9sYXRpb25maWx0ZXJzOiAnY29sb3JJbnRlcnBvbGF0aW9uRmlsdGVycycsXFxuICAnY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzJzogJ2NvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnMnLFxcbiAgY29sb3Jwcm9maWxlOiAnY29sb3JQcm9maWxlJyxcXG4gICdjb2xvci1wcm9maWxlJzogJ2NvbG9yUHJvZmlsZScsXFxuICBjb2xvcnJlbmRlcmluZzogJ2NvbG9yUmVuZGVyaW5nJyxcXG4gICdjb2xvci1yZW5kZXJpbmcnOiAnY29sb3JSZW5kZXJpbmcnLFxcbiAgY29udGVudHNjcmlwdHR5cGU6ICdjb250ZW50U2NyaXB0VHlwZScsXFxuICBjb250ZW50c3R5bGV0eXBlOiAnY29udGVudFN0eWxlVHlwZScsXFxuICBjdXJzb3I6ICdjdXJzb3InLFxcbiAgY3g6ICdjeCcsXFxuICBjeTogJ2N5JyxcXG4gIGQ6ICdkJyxcXG4gIGRhdGF0eXBlOiAnZGF0YXR5cGUnLFxcbiAgZGVjZWxlcmF0ZTogJ2RlY2VsZXJhdGUnLFxcbiAgZGVzY2VudDogJ2Rlc2NlbnQnLFxcbiAgZGlmZnVzZWNvbnN0YW50OiAnZGlmZnVzZUNvbnN0YW50JyxcXG4gIGRpcmVjdGlvbjogJ2RpcmVjdGlvbicsXFxuICBkaXNwbGF5OiAnZGlzcGxheScsXFxuICBkaXZpc29yOiAnZGl2aXNvcicsXFxuICBkb21pbmFudGJhc2VsaW5lOiAnZG9taW5hbnRCYXNlbGluZScsXFxuICAnZG9taW5hbnQtYmFzZWxpbmUnOiAnZG9taW5hbnRCYXNlbGluZScsXFxuICBkdXI6ICdkdXInLFxcbiAgZHg6ICdkeCcsXFxuICBkeTogJ2R5JyxcXG4gIGVkZ2Vtb2RlOiAnZWRnZU1vZGUnLFxcbiAgZWxldmF0aW9uOiAnZWxldmF0aW9uJyxcXG4gIGVuYWJsZWJhY2tncm91bmQ6ICdlbmFibGVCYWNrZ3JvdW5kJyxcXG4gICdlbmFibGUtYmFja2dyb3VuZCc6ICdlbmFibGVCYWNrZ3JvdW5kJyxcXG4gIGVuZDogJ2VuZCcsXFxuICBleHBvbmVudDogJ2V4cG9uZW50JyxcXG4gIGV4dGVybmFscmVzb3VyY2VzcmVxdWlyZWQ6ICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJyxcXG4gIGZpbGw6ICdmaWxsJyxcXG4gIGZpbGxvcGFjaXR5OiAnZmlsbE9wYWNpdHknLFxcbiAgJ2ZpbGwtb3BhY2l0eSc6ICdmaWxsT3BhY2l0eScsXFxuICBmaWxscnVsZTogJ2ZpbGxSdWxlJyxcXG4gICdmaWxsLXJ1bGUnOiAnZmlsbFJ1bGUnLFxcbiAgZmlsdGVyOiAnZmlsdGVyJyxcXG4gIGZpbHRlcnJlczogJ2ZpbHRlclJlcycsXFxuICBmaWx0ZXJ1bml0czogJ2ZpbHRlclVuaXRzJyxcXG4gIGZsb29kb3BhY2l0eTogJ2Zsb29kT3BhY2l0eScsXFxuICAnZmxvb2Qtb3BhY2l0eSc6ICdmbG9vZE9wYWNpdHknLFxcbiAgZmxvb2Rjb2xvcjogJ2Zsb29kQ29sb3InLFxcbiAgJ2Zsb29kLWNvbG9yJzogJ2Zsb29kQ29sb3InLFxcbiAgZm9jdXNhYmxlOiAnZm9jdXNhYmxlJyxcXG4gIGZvbnRmYW1pbHk6ICdmb250RmFtaWx5JyxcXG4gICdmb250LWZhbWlseSc6ICdmb250RmFtaWx5JyxcXG4gIGZvbnRzaXplOiAnZm9udFNpemUnLFxcbiAgJ2ZvbnQtc2l6ZSc6ICdmb250U2l6ZScsXFxuICBmb250c2l6ZWFkanVzdDogJ2ZvbnRTaXplQWRqdXN0JyxcXG4gICdmb250LXNpemUtYWRqdXN0JzogJ2ZvbnRTaXplQWRqdXN0JyxcXG4gIGZvbnRzdHJldGNoOiAnZm9udFN0cmV0Y2gnLFxcbiAgJ2ZvbnQtc3RyZXRjaCc6ICdmb250U3RyZXRjaCcsXFxuICBmb250c3R5bGU6ICdmb250U3R5bGUnLFxcbiAgJ2ZvbnQtc3R5bGUnOiAnZm9udFN0eWxlJyxcXG4gIGZvbnR2YXJpYW50OiAnZm9udFZhcmlhbnQnLFxcbiAgJ2ZvbnQtdmFyaWFudCc6ICdmb250VmFyaWFudCcsXFxuICBmb250d2VpZ2h0OiAnZm9udFdlaWdodCcsXFxuICAnZm9udC13ZWlnaHQnOiAnZm9udFdlaWdodCcsXFxuICBmb3JtYXQ6ICdmb3JtYXQnLFxcbiAgZnJvbTogJ2Zyb20nLFxcbiAgZng6ICdmeCcsXFxuICBmeTogJ2Z5JyxcXG4gIGcxOiAnZzEnLFxcbiAgZzI6ICdnMicsXFxuICBnbHlwaG5hbWU6ICdnbHlwaE5hbWUnLFxcbiAgJ2dseXBoLW5hbWUnOiAnZ2x5cGhOYW1lJyxcXG4gIGdseXBob3JpZW50YXRpb25ob3Jpem9udGFsOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnOiAnZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWwnLFxcbiAgZ2x5cGhvcmllbnRhdGlvbnZlcnRpY2FsOiAnZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsJyxcXG4gICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCc6ICdnbHlwaE9yaWVudGF0aW9uVmVydGljYWwnLFxcbiAgZ2x5cGhyZWY6ICdnbHlwaFJlZicsXFxuICBncmFkaWVudHRyYW5zZm9ybTogJ2dyYWRpZW50VHJhbnNmb3JtJyxcXG4gIGdyYWRpZW50dW5pdHM6ICdncmFkaWVudFVuaXRzJyxcXG4gIGhhbmdpbmc6ICdoYW5naW5nJyxcXG4gIGhvcml6YWR2eDogJ2hvcml6QWR2WCcsXFxuICAnaG9yaXotYWR2LXgnOiAnaG9yaXpBZHZYJyxcXG4gIGhvcml6b3JpZ2lueDogJ2hvcml6T3JpZ2luWCcsXFxuICAnaG9yaXotb3JpZ2luLXgnOiAnaG9yaXpPcmlnaW5YJyxcXG4gIGlkZW9ncmFwaGljOiAnaWRlb2dyYXBoaWMnLFxcbiAgaW1hZ2VyZW5kZXJpbmc6ICdpbWFnZVJlbmRlcmluZycsXFxuICAnaW1hZ2UtcmVuZGVyaW5nJzogJ2ltYWdlUmVuZGVyaW5nJyxcXG4gIGluMjogJ2luMicsXFxuICBpbjogJ2luJyxcXG4gIGlubGlzdDogJ2lubGlzdCcsXFxuICBpbnRlcmNlcHQ6ICdpbnRlcmNlcHQnLFxcbiAgazE6ICdrMScsXFxuICBrMjogJ2syJyxcXG4gIGszOiAnazMnLFxcbiAgazQ6ICdrNCcsXFxuICBrOiAnaycsXFxuICBrZXJuZWxtYXRyaXg6ICdrZXJuZWxNYXRyaXgnLFxcbiAga2VybmVsdW5pdGxlbmd0aDogJ2tlcm5lbFVuaXRMZW5ndGgnLFxcbiAga2VybmluZzogJ2tlcm5pbmcnLFxcbiAga2V5cG9pbnRzOiAna2V5UG9pbnRzJyxcXG4gIGtleXNwbGluZXM6ICdrZXlTcGxpbmVzJyxcXG4gIGtleXRpbWVzOiAna2V5VGltZXMnLFxcbiAgbGVuZ3RoYWRqdXN0OiAnbGVuZ3RoQWRqdXN0JyxcXG4gIGxldHRlcnNwYWNpbmc6ICdsZXR0ZXJTcGFjaW5nJyxcXG4gICdsZXR0ZXItc3BhY2luZyc6ICdsZXR0ZXJTcGFjaW5nJyxcXG4gIGxpZ2h0aW5nY29sb3I6ICdsaWdodGluZ0NvbG9yJyxcXG4gICdsaWdodGluZy1jb2xvcic6ICdsaWdodGluZ0NvbG9yJyxcXG4gIGxpbWl0aW5nY29uZWFuZ2xlOiAnbGltaXRpbmdDb25lQW5nbGUnLFxcbiAgbG9jYWw6ICdsb2NhbCcsXFxuICBtYXJrZXJlbmQ6ICdtYXJrZXJFbmQnLFxcbiAgJ21hcmtlci1lbmQnOiAnbWFya2VyRW5kJyxcXG4gIG1hcmtlcmhlaWdodDogJ21hcmtlckhlaWdodCcsXFxuICBtYXJrZXJtaWQ6ICdtYXJrZXJNaWQnLFxcbiAgJ21hcmtlci1taWQnOiAnbWFya2VyTWlkJyxcXG4gIG1hcmtlcnN0YXJ0OiAnbWFya2VyU3RhcnQnLFxcbiAgJ21hcmtlci1zdGFydCc6ICdtYXJrZXJTdGFydCcsXFxuICBtYXJrZXJ1bml0czogJ21hcmtlclVuaXRzJyxcXG4gIG1hcmtlcndpZHRoOiAnbWFya2VyV2lkdGgnLFxcbiAgbWFzazogJ21hc2snLFxcbiAgbWFza2NvbnRlbnR1bml0czogJ21hc2tDb250ZW50VW5pdHMnLFxcbiAgbWFza3VuaXRzOiAnbWFza1VuaXRzJyxcXG4gIG1hdGhlbWF0aWNhbDogJ21hdGhlbWF0aWNhbCcsXFxuICBtb2RlOiAnbW9kZScsXFxuICBudW1vY3RhdmVzOiAnbnVtT2N0YXZlcycsXFxuICBvZmZzZXQ6ICdvZmZzZXQnLFxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxcbiAgb3BlcmF0b3I6ICdvcGVyYXRvcicsXFxuICBvcmRlcjogJ29yZGVyJyxcXG4gIG9yaWVudDogJ29yaWVudCcsXFxuICBvcmllbnRhdGlvbjogJ29yaWVudGF0aW9uJyxcXG4gIG9yaWdpbjogJ29yaWdpbicsXFxuICBvdmVyZmxvdzogJ292ZXJmbG93JyxcXG4gIG92ZXJsaW5lcG9zaXRpb246ICdvdmVybGluZVBvc2l0aW9uJyxcXG4gICdvdmVybGluZS1wb3NpdGlvbic6ICdvdmVybGluZVBvc2l0aW9uJyxcXG4gIG92ZXJsaW5ldGhpY2tuZXNzOiAnb3ZlcmxpbmVUaGlja25lc3MnLFxcbiAgJ292ZXJsaW5lLXRoaWNrbmVzcyc6ICdvdmVybGluZVRoaWNrbmVzcycsXFxuICBwYWludG9yZGVyOiAncGFpbnRPcmRlcicsXFxuICAncGFpbnQtb3JkZXInOiAncGFpbnRPcmRlcicsXFxuICBwYW5vc2UxOiAncGFub3NlMScsXFxuICAncGFub3NlLTEnOiAncGFub3NlMScsXFxuICBwYXRobGVuZ3RoOiAncGF0aExlbmd0aCcsXFxuICBwYXR0ZXJuY29udGVudHVuaXRzOiAncGF0dGVybkNvbnRlbnRVbml0cycsXFxuICBwYXR0ZXJudHJhbnNmb3JtOiAncGF0dGVyblRyYW5zZm9ybScsXFxuICBwYXR0ZXJudW5pdHM6ICdwYXR0ZXJuVW5pdHMnLFxcbiAgcG9pbnRlcmV2ZW50czogJ3BvaW50ZXJFdmVudHMnLFxcbiAgJ3BvaW50ZXItZXZlbnRzJzogJ3BvaW50ZXJFdmVudHMnLFxcbiAgcG9pbnRzOiAncG9pbnRzJyxcXG4gIHBvaW50c2F0eDogJ3BvaW50c0F0WCcsXFxuICBwb2ludHNhdHk6ICdwb2ludHNBdFknLFxcbiAgcG9pbnRzYXR6OiAncG9pbnRzQXRaJyxcXG4gIHByZWZpeDogJ3ByZWZpeCcsXFxuICBwcmVzZXJ2ZWFscGhhOiAncHJlc2VydmVBbHBoYScsXFxuICBwcmVzZXJ2ZWFzcGVjdHJhdGlvOiAncHJlc2VydmVBc3BlY3RSYXRpbycsXFxuICBwcmltaXRpdmV1bml0czogJ3ByaW1pdGl2ZVVuaXRzJyxcXG4gIHByb3BlcnR5OiAncHJvcGVydHknLFxcbiAgcjogJ3InLFxcbiAgcmFkaXVzOiAncmFkaXVzJyxcXG4gIHJlZng6ICdyZWZYJyxcXG4gIHJlZnk6ICdyZWZZJyxcXG4gIHJlbmRlcmluZ2ludGVudDogJ3JlbmRlcmluZ0ludGVudCcsXFxuICAncmVuZGVyaW5nLWludGVudCc6ICdyZW5kZXJpbmdJbnRlbnQnLFxcbiAgcmVwZWF0Y291bnQ6ICdyZXBlYXRDb3VudCcsXFxuICByZXBlYXRkdXI6ICdyZXBlYXREdXInLFxcbiAgcmVxdWlyZWRleHRlbnNpb25zOiAncmVxdWlyZWRFeHRlbnNpb25zJyxcXG4gIHJlcXVpcmVkZmVhdHVyZXM6ICdyZXF1aXJlZEZlYXR1cmVzJyxcXG4gIHJlc291cmNlOiAncmVzb3VyY2UnLFxcbiAgcmVzdGFydDogJ3Jlc3RhcnQnLFxcbiAgcmVzdWx0OiAncmVzdWx0JyxcXG4gIHJlc3VsdHM6ICdyZXN1bHRzJyxcXG4gIHJvdGF0ZTogJ3JvdGF0ZScsXFxuICByeDogJ3J4JyxcXG4gIHJ5OiAncnknLFxcbiAgc2NhbGU6ICdzY2FsZScsXFxuICBzZWN1cml0eTogJ3NlY3VyaXR5JyxcXG4gIHNlZWQ6ICdzZWVkJyxcXG4gIHNoYXBlcmVuZGVyaW5nOiAnc2hhcGVSZW5kZXJpbmcnLFxcbiAgJ3NoYXBlLXJlbmRlcmluZyc6ICdzaGFwZVJlbmRlcmluZycsXFxuICBzbG9wZTogJ3Nsb3BlJyxcXG4gIHNwYWNpbmc6ICdzcGFjaW5nJyxcXG4gIHNwZWN1bGFyY29uc3RhbnQ6ICdzcGVjdWxhckNvbnN0YW50JyxcXG4gIHNwZWN1bGFyZXhwb25lbnQ6ICdzcGVjdWxhckV4cG9uZW50JyxcXG4gIHNwZWVkOiAnc3BlZWQnLFxcbiAgc3ByZWFkbWV0aG9kOiAnc3ByZWFkTWV0aG9kJyxcXG4gIHN0YXJ0b2Zmc2V0OiAnc3RhcnRPZmZzZXQnLFxcbiAgc3RkZGV2aWF0aW9uOiAnc3RkRGV2aWF0aW9uJyxcXG4gIHN0ZW1oOiAnc3RlbWgnLFxcbiAgc3RlbXY6ICdzdGVtdicsXFxuICBzdGl0Y2h0aWxlczogJ3N0aXRjaFRpbGVzJyxcXG4gIHN0b3Bjb2xvcjogJ3N0b3BDb2xvcicsXFxuICAnc3RvcC1jb2xvcic6ICdzdG9wQ29sb3InLFxcbiAgc3RvcG9wYWNpdHk6ICdzdG9wT3BhY2l0eScsXFxuICAnc3RvcC1vcGFjaXR5JzogJ3N0b3BPcGFjaXR5JyxcXG4gIHN0cmlrZXRocm91Z2hwb3NpdGlvbjogJ3N0cmlrZXRocm91Z2hQb3NpdGlvbicsXFxuICAnc3RyaWtldGhyb3VnaC1wb3NpdGlvbic6ICdzdHJpa2V0aHJvdWdoUG9zaXRpb24nLFxcbiAgc3RyaWtldGhyb3VnaHRoaWNrbmVzczogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxcbiAgJ3N0cmlrZXRocm91Z2gtdGhpY2tuZXNzJzogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxcbiAgc3RyaW5nOiAnc3RyaW5nJyxcXG4gIHN0cm9rZTogJ3N0cm9rZScsXFxuICBzdHJva2VkYXNoYXJyYXk6ICdzdHJva2VEYXNoYXJyYXknLFxcbiAgJ3N0cm9rZS1kYXNoYXJyYXknOiAnc3Ryb2tlRGFzaGFycmF5JyxcXG4gIHN0cm9rZWRhc2hvZmZzZXQ6ICdzdHJva2VEYXNob2Zmc2V0JyxcXG4gICdzdHJva2UtZGFzaG9mZnNldCc6ICdzdHJva2VEYXNob2Zmc2V0JyxcXG4gIHN0cm9rZWxpbmVjYXA6ICdzdHJva2VMaW5lY2FwJyxcXG4gICdzdHJva2UtbGluZWNhcCc6ICdzdHJva2VMaW5lY2FwJyxcXG4gIHN0cm9rZWxpbmVqb2luOiAnc3Ryb2tlTGluZWpvaW4nLFxcbiAgJ3N0cm9rZS1saW5lam9pbic6ICdzdHJva2VMaW5lam9pbicsXFxuICBzdHJva2VtaXRlcmxpbWl0OiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXFxuICAnc3Ryb2tlLW1pdGVybGltaXQnOiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXFxuICBzdHJva2V3aWR0aDogJ3N0cm9rZVdpZHRoJyxcXG4gICdzdHJva2Utd2lkdGgnOiAnc3Ryb2tlV2lkdGgnLFxcbiAgc3Ryb2tlb3BhY2l0eTogJ3N0cm9rZU9wYWNpdHknLFxcbiAgJ3N0cm9rZS1vcGFjaXR5JzogJ3N0cm9rZU9wYWNpdHknLFxcbiAgc3VwcHJlc3Njb250ZW50ZWRpdGFibGV3YXJuaW5nOiAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJyxcXG4gIHN1cHByZXNzaHlkcmF0aW9ud2FybmluZzogJ3N1cHByZXNzSHlkcmF0aW9uV2FybmluZycsXFxuICBzdXJmYWNlc2NhbGU6ICdzdXJmYWNlU2NhbGUnLFxcbiAgc3lzdGVtbGFuZ3VhZ2U6ICdzeXN0ZW1MYW5ndWFnZScsXFxuICB0YWJsZXZhbHVlczogJ3RhYmxlVmFsdWVzJyxcXG4gIHRhcmdldHg6ICd0YXJnZXRYJyxcXG4gIHRhcmdldHk6ICd0YXJnZXRZJyxcXG4gIHRleHRhbmNob3I6ICd0ZXh0QW5jaG9yJyxcXG4gICd0ZXh0LWFuY2hvcic6ICd0ZXh0QW5jaG9yJyxcXG4gIHRleHRkZWNvcmF0aW9uOiAndGV4dERlY29yYXRpb24nLFxcbiAgJ3RleHQtZGVjb3JhdGlvbic6ICd0ZXh0RGVjb3JhdGlvbicsXFxuICB0ZXh0bGVuZ3RoOiAndGV4dExlbmd0aCcsXFxuICB0ZXh0cmVuZGVyaW5nOiAndGV4dFJlbmRlcmluZycsXFxuICAndGV4dC1yZW5kZXJpbmcnOiAndGV4dFJlbmRlcmluZycsXFxuICB0bzogJ3RvJyxcXG4gIHRyYW5zZm9ybTogJ3RyYW5zZm9ybScsXFxuICB0eXBlb2Y6ICd0eXBlb2YnLFxcbiAgdTE6ICd1MScsXFxuICB1MjogJ3UyJyxcXG4gIHVuZGVybGluZXBvc2l0aW9uOiAndW5kZXJsaW5lUG9zaXRpb24nLFxcbiAgJ3VuZGVybGluZS1wb3NpdGlvbic6ICd1bmRlcmxpbmVQb3NpdGlvbicsXFxuICB1bmRlcmxpbmV0aGlja25lc3M6ICd1bmRlcmxpbmVUaGlja25lc3MnLFxcbiAgJ3VuZGVybGluZS10aGlja25lc3MnOiAndW5kZXJsaW5lVGhpY2tuZXNzJyxcXG4gIHVuaWNvZGU6ICd1bmljb2RlJyxcXG4gIHVuaWNvZGViaWRpOiAndW5pY29kZUJpZGknLFxcbiAgJ3VuaWNvZGUtYmlkaSc6ICd1bmljb2RlQmlkaScsXFxuICB1bmljb2RlcmFuZ2U6ICd1bmljb2RlUmFuZ2UnLFxcbiAgJ3VuaWNvZGUtcmFuZ2UnOiAndW5pY29kZVJhbmdlJyxcXG4gIHVuaXRzcGVyZW06ICd1bml0c1BlckVtJyxcXG4gICd1bml0cy1wZXItZW0nOiAndW5pdHNQZXJFbScsXFxuICB1bnNlbGVjdGFibGU6ICd1bnNlbGVjdGFibGUnLFxcbiAgdmFscGhhYmV0aWM6ICd2QWxwaGFiZXRpYycsXFxuICAndi1hbHBoYWJldGljJzogJ3ZBbHBoYWJldGljJyxcXG4gIHZhbHVlczogJ3ZhbHVlcycsXFxuICB2ZWN0b3JlZmZlY3Q6ICd2ZWN0b3JFZmZlY3QnLFxcbiAgJ3ZlY3Rvci1lZmZlY3QnOiAndmVjdG9yRWZmZWN0JyxcXG4gIHZlcnNpb246ICd2ZXJzaW9uJyxcXG4gIHZlcnRhZHZ5OiAndmVydEFkdlknLFxcbiAgJ3ZlcnQtYWR2LXknOiAndmVydEFkdlknLFxcbiAgdmVydG9yaWdpbng6ICd2ZXJ0T3JpZ2luWCcsXFxuICAndmVydC1vcmlnaW4teCc6ICd2ZXJ0T3JpZ2luWCcsXFxuICB2ZXJ0b3JpZ2lueTogJ3ZlcnRPcmlnaW5ZJyxcXG4gICd2ZXJ0LW9yaWdpbi15JzogJ3ZlcnRPcmlnaW5ZJyxcXG4gIHZoYW5naW5nOiAndkhhbmdpbmcnLFxcbiAgJ3YtaGFuZ2luZyc6ICd2SGFuZ2luZycsXFxuICB2aWRlb2dyYXBoaWM6ICd2SWRlb2dyYXBoaWMnLFxcbiAgJ3YtaWRlb2dyYXBoaWMnOiAndklkZW9ncmFwaGljJyxcXG4gIHZpZXdib3g6ICd2aWV3Qm94JyxcXG4gIHZpZXd0YXJnZXQ6ICd2aWV3VGFyZ2V0JyxcXG4gIHZpc2liaWxpdHk6ICd2aXNpYmlsaXR5JyxcXG4gIHZtYXRoZW1hdGljYWw6ICd2TWF0aGVtYXRpY2FsJyxcXG4gICd2LW1hdGhlbWF0aWNhbCc6ICd2TWF0aGVtYXRpY2FsJyxcXG4gIHZvY2FiOiAndm9jYWInLFxcbiAgd2lkdGhzOiAnd2lkdGhzJyxcXG4gIHdvcmRzcGFjaW5nOiAnd29yZFNwYWNpbmcnLFxcbiAgJ3dvcmQtc3BhY2luZyc6ICd3b3JkU3BhY2luZycsXFxuICB3cml0aW5nbW9kZTogJ3dyaXRpbmdNb2RlJyxcXG4gICd3cml0aW5nLW1vZGUnOiAnd3JpdGluZ01vZGUnLFxcbiAgeDE6ICd4MScsXFxuICB4MjogJ3gyJyxcXG4gIHg6ICd4JyxcXG4gIHhjaGFubmVsc2VsZWN0b3I6ICd4Q2hhbm5lbFNlbGVjdG9yJyxcXG4gIHhoZWlnaHQ6ICd4SGVpZ2h0JyxcXG4gICd4LWhlaWdodCc6ICd4SGVpZ2h0JyxcXG4gIHhsaW5rYWN0dWF0ZTogJ3hsaW5rQWN0dWF0ZScsXFxuICAneGxpbms6YWN0dWF0ZSc6ICd4bGlua0FjdHVhdGUnLFxcbiAgeGxpbmthcmNyb2xlOiAneGxpbmtBcmNyb2xlJyxcXG4gICd4bGluazphcmNyb2xlJzogJ3hsaW5rQXJjcm9sZScsXFxuICB4bGlua2hyZWY6ICd4bGlua0hyZWYnLFxcbiAgJ3hsaW5rOmhyZWYnOiAneGxpbmtIcmVmJyxcXG4gIHhsaW5rcm9sZTogJ3hsaW5rUm9sZScsXFxuICAneGxpbms6cm9sZSc6ICd4bGlua1JvbGUnLFxcbiAgeGxpbmtzaG93OiAneGxpbmtTaG93JyxcXG4gICd4bGluazpzaG93JzogJ3hsaW5rU2hvdycsXFxuICB4bGlua3RpdGxlOiAneGxpbmtUaXRsZScsXFxuICAneGxpbms6dGl0bGUnOiAneGxpbmtUaXRsZScsXFxuICB4bGlua3R5cGU6ICd4bGlua1R5cGUnLFxcbiAgJ3hsaW5rOnR5cGUnOiAneGxpbmtUeXBlJyxcXG4gIHhtbGJhc2U6ICd4bWxCYXNlJyxcXG4gICd4bWw6YmFzZSc6ICd4bWxCYXNlJyxcXG4gIHhtbGxhbmc6ICd4bWxMYW5nJyxcXG4gICd4bWw6bGFuZyc6ICd4bWxMYW5nJyxcXG4gIHhtbG5zOiAneG1sbnMnLFxcbiAgJ3htbDpzcGFjZSc6ICd4bWxTcGFjZScsXFxuICB4bWxuc3hsaW5rOiAneG1sbnNYbGluaycsXFxuICAneG1sbnM6eGxpbmsnOiAneG1sbnNYbGluaycsXFxuICB4bWxzcGFjZTogJ3htbFNwYWNlJyxcXG4gIHkxOiAneTEnLFxcbiAgeTI6ICd5MicsXFxuICB5OiAneScsXFxuICB5Y2hhbm5lbHNlbGVjdG9yOiAneUNoYW5uZWxTZWxlY3RvcicsXFxuICB6OiAneicsXFxuICB6b29tYW5kcGFuOiAnem9vbUFuZFBhbidcXG59O1xcblxcbnZhciBhcmlhUHJvcGVydGllcyA9IHtcXG4gICdhcmlhLWN1cnJlbnQnOiAwLFxcbiAgLy8gc3RhdGVcXG4gICdhcmlhLWRldGFpbHMnOiAwLFxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxcbiAgLy8gc3RhdGVcXG4gICdhcmlhLWhpZGRlbic6IDAsXFxuICAvLyBzdGF0ZVxcbiAgJ2FyaWEtaW52YWxpZCc6IDAsXFxuICAvLyBzdGF0ZVxcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcXG4gICdhcmlhLWxhYmVsJzogMCxcXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IDAsXFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xcbiAgJ2FyaWEtYXV0b2NvbXBsZXRlJzogMCxcXG4gICdhcmlhLWNoZWNrZWQnOiAwLFxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxcbiAgJ2FyaWEtaGFzcG9wdXAnOiAwLFxcbiAgJ2FyaWEtbGV2ZWwnOiAwLFxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxcbiAgJ2FyaWEtbXVsdGlsaW5lJzogMCxcXG4gICdhcmlhLW11bHRpc2VsZWN0YWJsZSc6IDAsXFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXFxuICAnYXJpYS1wbGFjZWhvbGRlcic6IDAsXFxuICAnYXJpYS1wcmVzc2VkJzogMCxcXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcXG4gICdhcmlhLXJlcXVpcmVkJzogMCxcXG4gICdhcmlhLXNlbGVjdGVkJzogMCxcXG4gICdhcmlhLXNvcnQnOiAwLFxcbiAgJ2FyaWEtdmFsdWVtYXgnOiAwLFxcbiAgJ2FyaWEtdmFsdWVtaW4nOiAwLFxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxcbiAgJ2FyaWEtdmFsdWV0ZXh0JzogMCxcXG4gIC8vIExpdmUgUmVnaW9uIEF0dHJpYnV0ZXNcXG4gICdhcmlhLWF0b21pYyc6IDAsXFxuICAnYXJpYS1idXN5JzogMCxcXG4gICdhcmlhLWxpdmUnOiAwLFxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxcbiAgLy8gRHJhZy1hbmQtRHJvcCBBdHRyaWJ1dGVzXFxuICAnYXJpYS1kcm9wZWZmZWN0JzogMCxcXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxcbiAgLy8gUmVsYXRpb25zaGlwIEF0dHJpYnV0ZXNcXG4gICdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnOiAwLFxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxcbiAgJ2FyaWEtY29saW5kZXgnOiAwLFxcbiAgJ2FyaWEtY29sc3Bhbic6IDAsXFxuICAnYXJpYS1jb250cm9scyc6IDAsXFxuICAnYXJpYS1kZXNjcmliZWRieSc6IDAsXFxuICAnYXJpYS1lcnJvcm1lc3NhZ2UnOiAwLFxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcXG4gICdhcmlhLWxhYmVsbGVkYnknOiAwLFxcbiAgJ2FyaWEtb3ducyc6IDAsXFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXFxuICAnYXJpYS1yb3djb3VudCc6IDAsXFxuICAnYXJpYS1yb3dpbmRleCc6IDAsXFxuICAnYXJpYS1yb3dzcGFuJzogMCxcXG4gICdhcmlhLXNldHNpemUnOiAwXFxufTtcXG5cXG52YXIgd2FybmVkUHJvcGVydGllcyA9IHt9O1xcbnZhciByQVJJQSA9IG5ldyBSZWdFeHAoJ14oYXJpYSktWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xcbnZhciBoYXNPd25Qcm9wZXJ0eSQxID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcXG4gIHtcXG4gICAgaWYgKGhhc093blByb3BlcnR5JDEuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzLCBuYW1lKSAmJiB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdKSB7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKHJBUklBQ2FtZWwudGVzdChuYW1lKSkge1xcbiAgICAgIHZhciBhcmlhTmFtZSA9ICdhcmlhLScgKyBuYW1lLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCk7XFxuICAgICAgdmFyIGNvcnJlY3ROYW1lID0gYXJpYVByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoYXJpYU5hbWUpID8gYXJpYU5hbWUgOiBudWxsOyAvLyBJZiB0aGlzIGlzIGFuIGFyaWEtKiBhdHRyaWJ1dGUsIGJ1dCBpcyBub3QgbGlzdGVkIGluIHRoZSBrbm93biBET01cXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXFxuXFxuICAgICAgaWYgKGNvcnJlY3ROYW1lID09IG51bGwpIHtcXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIEFSSUEgYXR0cmlidXRlIGAlc2AuIEFSSUEgYXR0cmlidXRlcyBmb2xsb3cgdGhlIHBhdHRlcm4gYXJpYS0qIGFuZCBtdXN0IGJlIGxvd2VyY2FzZS4nLCBuYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfSAvLyBhcmlhLSogYXR0cmlidXRlcyBzaG91bGQgYmUgbG93ZXJjYXNlOyBzdWdnZXN0IHRoZSBsb3dlcmNhc2UgdmVyc2lvbi5cXG5cXG5cXG4gICAgICBpZiAobmFtZSAhPT0gY29ycmVjdE5hbWUpIHtcXG4gICAgICAgIGVycm9yKCdJbnZhbGlkIEFSSUEgYXR0cmlidXRlIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIGNvcnJlY3ROYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChyQVJJQS50ZXN0KG5hbWUpKSB7XFxuICAgICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgICAgIHZhciBzdGFuZGFyZE5hbWUgPSBhcmlhUHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkgPyBsb3dlckNhc2VkTmFtZSA6IG51bGw7IC8vIElmIHRoaXMgaXMgYW4gYXJpYS0qIGF0dHJpYnV0ZSwgYnV0IGlzIG5vdCBsaXN0ZWQgaW4gdGhlIGtub3duIERPTVxcbiAgICAgIC8vIERPTSBwcm9wZXJ0aWVzLCB0aGVuIGl0IGlzIGFuIGludmFsaWQgYXJpYS0qIGF0dHJpYnV0ZS5cXG5cXG4gICAgICBpZiAoc3RhbmRhcmROYW1lID09IG51bGwpIHtcXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH0gLy8gYXJpYS0qIGF0dHJpYnV0ZXMgc2hvdWxkIGJlIGxvd2VyY2FzZTsgc3VnZ2VzdCB0aGUgbG93ZXJjYXNlIHZlcnNpb24uXFxuXFxuXFxuICAgICAgaWYgKG5hbWUgIT09IHN0YW5kYXJkTmFtZSkge1xcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgc3RhbmRhcmROYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuZnVuY3Rpb24gd2FybkludmFsaWRBUklBUHJvcHModHlwZSwgcHJvcHMpIHtcXG4gIHtcXG4gICAgdmFyIGludmFsaWRQcm9wcyA9IFtdO1xcblxcbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcXG4gICAgICB2YXIgaXNWYWxpZCA9IHZhbGlkYXRlUHJvcGVydHkodHlwZSwga2V5KTtcXG5cXG4gICAgICBpZiAoIWlzVmFsaWQpIHtcXG4gICAgICAgIGludmFsaWRQcm9wcy5wdXNoKGtleSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciB1bmtub3duUHJvcFN0cmluZyA9IGludmFsaWRQcm9wcy5tYXAoZnVuY3Rpb24gKHByb3ApIHtcXG4gICAgICByZXR1cm4gJ2AnICsgcHJvcCArICdgJztcXG4gICAgfSkuam9pbignLCAnKTtcXG5cXG4gICAgaWYgKGludmFsaWRQcm9wcy5sZW5ndGggPT09IDEpIHtcXG4gICAgICBlcnJvcignSW52YWxpZCBhcmlhIHByb3AgJXMgb24gPCVzPiB0YWcuICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL2ZiLm1lL2ludmFsaWQtYXJpYS1wcm9wJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xcbiAgICB9IGVsc2UgaWYgKGludmFsaWRQcm9wcy5sZW5ndGggPiAxKSB7XFxuICAgICAgZXJyb3IoJ0ludmFsaWQgYXJpYSBwcm9wcyAlcyBvbiA8JXM+IHRhZy4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vZmIubWUvaW52YWxpZC1hcmlhLXByb3AnLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzKHR5cGUsIHByb3BzKSB7XFxuICBpZiAoaXNDdXN0b21Db21wb25lbnQodHlwZSwgcHJvcHMpKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKTtcXG59XFxuXFxudmFyIGRpZFdhcm5WYWx1ZU51bGwgPSBmYWxzZTtcXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXMkMSh0eXBlLCBwcm9wcykge1xcbiAge1xcbiAgICBpZiAodHlwZSAhPT0gJ2lucHV0JyAmJiB0eXBlICE9PSAndGV4dGFyZWEnICYmIHR5cGUgIT09ICdzZWxlY3QnKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmIChwcm9wcyAhPSBudWxsICYmIHByb3BzLnZhbHVlID09PSBudWxsICYmICFkaWRXYXJuVmFsdWVOdWxsKSB7XFxuICAgICAgZGlkV2FyblZhbHVlTnVsbCA9IHRydWU7XFxuXFxuICAgICAgaWYgKHR5cGUgPT09ICdzZWxlY3QnICYmIHByb3BzLm11bHRpcGxlKSB7XFxuICAgICAgICBlcnJvcignYHZhbHVlYCBwcm9wIG9uIGAlc2Agc2hvdWxkIG5vdCBiZSBudWxsLiAnICsgJ0NvbnNpZGVyIHVzaW5nIGFuIGVtcHR5IGFycmF5IHdoZW4gYG11bHRpcGxlYCBpcyBzZXQgdG8gYHRydWVgICcgKyAndG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCBmb3IgdW5jb250cm9sbGVkIGNvbXBvbmVudHMuJywgdHlwZSk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGVycm9yKCdgdmFsdWVgIHByb3Agb24gYCVzYCBzaG91bGQgbm90IGJlIG51bGwuICcgKyAnQ29uc2lkZXIgdXNpbmcgYW4gZW1wdHkgc3RyaW5nIHRvIGNsZWFyIHRoZSBjb21wb25lbnQgb3IgYHVuZGVmaW5lZGAgJyArICdmb3IgdW5jb250cm9sbGVkIGNvbXBvbmVudHMuJywgdHlwZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbnZhciB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAoKSB7fTtcXG5cXG57XFxuICB2YXIgd2FybmVkUHJvcGVydGllcyQxID0ge307XFxuICB2YXIgX2hhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG4gIHZhciBFVkVOVF9OQU1FX1JFR0VYID0gL15vbi4vO1xcbiAgdmFyIElOVkFMSURfRVZFTlRfTkFNRV9SRUdFWCA9IC9eb25bXkEtWl0vO1xcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcXG4gIHZhciByQVJJQUNhbWVsJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpW0EtWl1bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJyk7XFxuXFxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGNhblVzZUV2ZW50U3lzdGVtKSB7XFxuICAgIGlmIChfaGFzT3duUHJvcGVydHkuY2FsbCh3YXJuZWRQcm9wZXJ0aWVzJDEsIG5hbWUpICYmIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSkge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKTtcXG5cXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c2luJyB8fCBsb3dlckNhc2VkTmFtZSA9PT0gJ29uZm9jdXNvdXQnKSB7XFxuICAgICAgZXJyb3IoJ1JlYWN0IHVzZXMgb25Gb2N1cyBhbmQgb25CbHVyIGluc3RlYWQgb2Ygb25Gb2N1c0luIGFuZCBvbkZvY3VzT3V0LiAnICsgJ0FsbCBSZWFjdCBldmVudHMgYXJlIG5vcm1hbGl6ZWQgdG8gYnViYmxlLCBzbyBvbkZvY3VzSW4gYW5kIG9uRm9jdXNPdXQgJyArICdhcmUgbm90IG5lZWRlZC9zdXBwb3J0ZWQgYnkgUmVhY3QuJyk7XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfSAvLyBXZSBjYW4ndCByZWx5IG9uIHRoZSBldmVudCBzeXN0ZW0gYmVpbmcgaW5qZWN0ZWQgb24gdGhlIHNlcnZlci5cXG5cXG5cXG4gICAgaWYgKGNhblVzZUV2ZW50U3lzdGVtKSB7XFxuICAgICAgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KG5hbWUpKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIHJlZ2lzdHJhdGlvbk5hbWUgPSBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSA/IHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXNbbG93ZXJDYXNlZE5hbWVdIDogbnVsbDtcXG5cXG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZSAhPSBudWxsKSB7XFxuICAgICAgICBlcnJvcignSW52YWxpZCBldmVudCBoYW5kbGVyIHByb3BlcnR5IGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHJlZ2lzdHJhdGlvbk5hbWUpO1xcblxcbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICAgIHJldHVybiB0cnVlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoRVZFTlRfTkFNRV9SRUdFWC50ZXN0KG5hbWUpKSB7XFxuICAgICAgICBlcnJvcignVW5rbm93biBldmVudCBoYW5kbGVyIHByb3BlcnR5IGAlc2AuIEl0IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcXG5cXG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoRVZFTlRfTkFNRV9SRUdFWC50ZXN0KG5hbWUpKSB7XFxuICAgICAgLy8gSWYgbm8gZXZlbnQgcGx1Z2lucyBoYXZlIGJlZW4gaW5qZWN0ZWQsIHdlIGFyZSBpbiBhIHNlcnZlciBlbnZpcm9ubWVudC5cXG4gICAgICAvLyBTbyB3ZSBjYW4ndCB0ZWxsIGlmIHRoZSBldmVudCBuYW1lIGlzIGNvcnJlY3QgZm9yIHN1cmUsIGJ1dCB3ZSBjYW4gZmlsdGVyXFxuICAgICAgLy8gb3V0IGtub3duIGJhZCBvbmVzIGxpa2UgYG9uY2xpY2tgLiBXZSBjYW4ndCBzdWdnZXN0IGEgc3BlY2lmaWMgcmVwbGFjZW1lbnQgdGhvdWdoLlxcbiAgICAgIGlmIChJTlZBTElEX0VWRU5UX05BTUVfUkVHRVgudGVzdChuYW1lKSkge1xcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiAnICsgJ1JlYWN0IGV2ZW50cyB1c2UgdGhlIGNhbWVsQ2FzZSBuYW1pbmcgY29udmVudGlvbiwgZm9yIGV4YW1wbGUgYG9uQ2xpY2tgLicsIG5hbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9IC8vIExldCB0aGUgQVJJQSBhdHRyaWJ1dGUgaG9vayB2YWxpZGF0ZSBBUklBIGF0dHJpYnV0ZXNcXG5cXG5cXG4gICAgaWYgKHJBUklBJDEudGVzdChuYW1lKSB8fCByQVJJQUNhbWVsJDEudGVzdChuYW1lKSkge1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2lubmVyaHRtbCcpIHtcXG4gICAgICBlcnJvcignRGlyZWN0bHkgc2V0dGluZyBwcm9wZXJ0eSBgaW5uZXJIVE1MYCBpcyBub3QgcGVybWl0dGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCBsb29rdXAgZG9jdW1lbnRhdGlvbiBvbiBgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgLicpO1xcblxcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnYXJpYScpIHtcXG4gICAgICBlcnJvcignVGhlIGBhcmlhYCBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgaW4gUmVhY3QuICcgKyAnUGFzcyBpbmRpdmlkdWFsIGBhcmlhLWAgYXR0cmlidXRlcyBpbnN0ZWFkLicpO1xcblxcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnaXMnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhIGAlc2AgZm9yIGEgc3RyaW5nIGF0dHJpYnV0ZSBgaXNgLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIHR5cGVvZiB2YWx1ZSk7XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWx1ZSkpIHtcXG4gICAgICBlcnJvcignUmVjZWl2ZWQgTmFOIGZvciB0aGUgYCVzYCBhdHRyaWJ1dGUuIElmIHRoaXMgaXMgZXhwZWN0ZWQsIGNhc3QgJyArICd0aGUgdmFsdWUgdG8gYSBzdHJpbmcuJywgbmFtZSk7XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKG5hbWUpO1xcbiAgICB2YXIgaXNSZXNlcnZlZCA9IHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7IC8vIEtub3duIGF0dHJpYnV0ZXMgc2hvdWxkIG1hdGNoIHRoZSBjYXNpbmcgc3BlY2lmaWVkIGluIHRoZSBwcm9wZXJ0eSBjb25maWcuXFxuXFxuICAgIGlmIChwb3NzaWJsZVN0YW5kYXJkTmFtZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpKSB7XFxuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IHBvc3NpYmxlU3RhbmRhcmROYW1lc1tsb3dlckNhc2VkTmFtZV07XFxuXFxuICAgICAgaWYgKHN0YW5kYXJkTmFtZSAhPT0gbmFtZSkge1xcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgRE9NIHByb3BlcnR5IGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XFxuXFxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xcbiAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFpc1Jlc2VydmVkICYmIG5hbWUgIT09IGxvd2VyQ2FzZWROYW1lKSB7XFxuICAgICAgLy8gVW5rbm93biBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlIGxvd2VyY2FzZSBjYXNpbmcgc2luY2UgdGhhdCdzIGhvdyB0aGV5XFxuICAgICAgLy8gd2lsbCBiZSBjYXNlZCBhbnl3YXkgd2l0aCBzZXJ2ZXIgcmVuZGVyaW5nLlxcbiAgICAgIGVycm9yKCdSZWFjdCBkb2VzIG5vdCByZWNvZ25pemUgdGhlIGAlc2AgcHJvcCBvbiBhIERPTSBlbGVtZW50LiBJZiB5b3UgJyArICdpbnRlbnRpb25hbGx5IHdhbnQgaXQgdG8gYXBwZWFyIGluIHRoZSBET00gYXMgYSBjdXN0b20gJyArICdhdHRyaWJ1dGUsIHNwZWxsIGl0IGFzIGxvd2VyY2FzZSBgJXNgIGluc3RlYWQuICcgKyAnSWYgeW91IGFjY2lkZW50YWxseSBwYXNzZWQgaXQgZnJvbSBhIHBhcmVudCBjb21wb25lbnQsIHJlbW92ZSAnICsgJ2l0IGZyb20gdGhlIERPTSBlbGVtZW50LicsIG5hbWUsIGxvd2VyQ2FzZWROYW1lKTtcXG5cXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiBzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBmYWxzZSkpIHtcXG4gICAgICBpZiAodmFsdWUpIHtcXG4gICAgICAgIGVycm9yKCdSZWNlaXZlZCBgJXNgIGZvciBhIG5vbi1ib29sZWFuIGF0dHJpYnV0ZSBgJXNgLlxcXFxuXFxcXG4nICsgJ0lmIHlvdSB3YW50IHRvIHdyaXRlIGl0IHRvIHRoZSBET00sIHBhc3MgYSBzdHJpbmcgaW5zdGVhZDogJyArICclcz1cXFwiJXNcXFwiIG9yICVzPXt2YWx1ZS50b1N0cmluZygpfS4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBlcnJvcignUmVjZWl2ZWQgYCVzYCBmb3IgYSBub24tYm9vbGVhbiBhdHRyaWJ1dGUgYCVzYC5cXFxcblxcXFxuJyArICdJZiB5b3Ugd2FudCB0byB3cml0ZSBpdCB0byB0aGUgRE9NLCBwYXNzIGEgc3RyaW5nIGluc3RlYWQ6ICcgKyAnJXM9XFxcIiVzXFxcIiBvciAlcz17dmFsdWUudG9TdHJpbmcoKX0uXFxcXG5cXFxcbicgKyAnSWYgeW91IHVzZWQgdG8gY29uZGl0aW9uYWxseSBvbWl0IGl0IHdpdGggJXM9e2NvbmRpdGlvbiAmJiB2YWx1ZX0sICcgKyAncGFzcyAlcz17Y29uZGl0aW9uID8gdmFsdWUgOiB1bmRlZmluZWR9IGluc3RlYWQuJywgdmFsdWUsIG5hbWUsIG5hbWUsIHZhbHVlLCBuYW1lLCBuYW1lLCBuYW1lKTtcXG4gICAgICB9XFxuXFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfSAvLyBOb3cgdGhhdCB3ZSd2ZSB2YWxpZGF0ZWQgY2FzaW5nLCBkbyBub3QgdmFsaWRhdGVcXG4gICAgLy8gZGF0YSB0eXBlcyBmb3IgcmVzZXJ2ZWQgcHJvcHNcXG5cXG5cXG4gICAgaWYgKGlzUmVzZXJ2ZWQpIHtcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgfSAvLyBXYXJuIHdoZW4gYSBrbm93biBhdHRyaWJ1dGUgaXMgYSBiYWQgdHlwZVxcblxcblxcbiAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XFxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH0gLy8gV2FybiB3aGVuIHBhc3NpbmcgdGhlIHN0cmluZ3MgJ2ZhbHNlJyBvciAndHJ1ZScgaW50byBhIGJvb2xlYW4gcHJvcFxcblxcblxcbiAgICBpZiAoKHZhbHVlID09PSAnZmFsc2UnIHx8IHZhbHVlID09PSAndHJ1ZScpICYmIHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gQk9PTEVBTikge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCB0aGUgc3RyaW5nIGAlc2AgZm9yIHRoZSBib29sZWFuIGF0dHJpYnV0ZSBgJXNgLiAnICsgJyVzICcgKyAnRGlkIHlvdSBtZWFuICVzPXslc30/JywgdmFsdWUsIG5hbWUsIHZhbHVlID09PSAnZmFsc2UnID8gJ1RoZSBicm93c2VyIHdpbGwgaW50ZXJwcmV0IGl0IGFzIGEgdHJ1dGh5IHZhbHVlLicgOiAnQWx0aG91Z2ggdGhpcyB3b3JrcywgaXQgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZCBpZiB5b3UgcGFzcyB0aGUgc3RyaW5nIFxcXCJmYWxzZVxcXCIuJywgbmFtZSwgdmFsdWUpO1xcblxcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XFxuICAgICAgcmV0dXJuIHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9O1xcbn1cXG5cXG52YXIgd2FyblVua25vd25Qcm9wZXJ0aWVzID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzLCBjYW5Vc2VFdmVudFN5c3RlbSkge1xcbiAge1xcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XFxuXFxuICAgIGZvciAodmFyIGtleSBpbiBwcm9wcykge1xcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgY2FuVXNlRXZlbnRTeXN0ZW0pO1xcblxcbiAgICAgIGlmICghaXNWYWxpZCkge1xcbiAgICAgICAgdW5rbm93blByb3BzLnB1c2goa2V5KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHVua25vd25Qcm9wU3RyaW5nID0gdW5rbm93blByb3BzLm1hcChmdW5jdGlvbiAocHJvcCkge1xcbiAgICAgIHJldHVybiAnYCcgKyBwcm9wICsgJ2AnO1xcbiAgICB9KS5qb2luKCcsICcpO1xcblxcbiAgICBpZiAodW5rbm93blByb3BzLmxlbmd0aCA9PT0gMSkge1xcbiAgICAgIGVycm9yKCdJbnZhbGlkIHZhbHVlIGZvciBwcm9wICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIGl0IGZyb20gdGhlIGVsZW1lbnQsICcgKyAnb3IgcGFzcyBhIHN0cmluZyBvciBudW1iZXIgdmFsdWUgdG8ga2VlcCBpdCBpbiB0aGUgRE9NLiAnICsgJ0ZvciBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1hdHRyaWJ1dGUtYmVoYXZpb3InLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XFxuICAgIH0gZWxzZSBpZiAodW5rbm93blByb3BzLmxlbmd0aCA+IDEpIHtcXG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZXMgZm9yIHByb3BzICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIHRoZW0gZnJvbSB0aGUgZWxlbWVudCwgJyArICdvciBwYXNzIGEgc3RyaW5nIG9yIG51bWJlciB2YWx1ZSB0byBrZWVwIHRoZW0gaW4gdGhlIERPTS4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtYXR0cmlidXRlLWJlaGF2aW9yJywgdW5rbm93blByb3BTdHJpbmcsIHR5cGUpO1xcbiAgICB9XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnRpZXMkMih0eXBlLCBwcm9wcywgY2FuVXNlRXZlbnRTeXN0ZW0pIHtcXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcykpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgd2FyblVua25vd25Qcm9wZXJ0aWVzKHR5cGUsIHByb3BzLCBjYW5Vc2VFdmVudFN5c3RlbSk7XFxufVxcblxcbnZhciBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IGZhbHNlO1xcbnZhciBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCA9ICdkYW5nZXJvdXNseVNldElubmVySFRNTCc7XFxudmFyIFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyA9ICdzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcnO1xcbnZhciBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xcbnZhciBBVVRPRk9DVVMgPSAnYXV0b0ZvY3VzJztcXG52YXIgQ0hJTERSRU4gPSAnY2hpbGRyZW4nO1xcbnZhciBTVFlMRSA9ICdzdHlsZSc7XFxudmFyIEhUTUwkMSA9ICdfX2h0bWwnO1xcbnZhciBIVE1MX05BTUVTUEFDRSQxID0gTmFtZXNwYWNlcy5odG1sO1xcbnZhciB3YXJuZWRVbmtub3duVGFncztcXG52YXIgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nO1xcbnZhciB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50O1xcbnZhciB3YXJuRm9yVGV4dERpZmZlcmVuY2U7XFxudmFyIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZTtcXG52YXIgd2FybkZvckV4dHJhQXR0cmlidXRlcztcXG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xcbnZhciBjYW5EaWZmU3R5bGVGb3JIeWRyYXRpb25XYXJuaW5nO1xcbnZhciBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGU7XFxudmFyIG5vcm1hbGl6ZUhUTUw7XFxuXFxue1xcbiAgd2FybmVkVW5rbm93blRhZ3MgPSB7XFxuICAgIC8vIENocm9tZSBpcyB0aGUgb25seSBtYWpvciBicm93c2VyIG5vdCBzaGlwcGluZyA8dGltZT4uIEJ1dCBhcyBvZiBKdWx5XFxuICAgIC8vIDIwMTcgaXQgaW50ZW5kcyB0byBzaGlwIGl0IGR1ZSB0byB3aWRlc3ByZWFkIHVzYWdlLiBXZSBpbnRlbnRpb25hbGx5XFxuICAgIC8vICpkb24ndCogd2FybiBmb3IgPHRpbWU+IGV2ZW4gaWYgaXQncyB1bnJlY29nbml6ZWQgYnkgQ2hyb21lIGJlY2F1c2VcXG4gICAgLy8gaXQgc29vbiB3aWxsIGJlLCBhbmQgbWFueSBhcHBzIGhhdmUgYmVlbiB1c2luZyBpdCBhbnl3YXkuXFxuICAgIHRpbWU6IHRydWUsXFxuICAgIC8vIFRoZXJlIGFyZSB3b3JraW5nIHBvbHlmaWxscyBmb3IgPGRpYWxvZz4uIExldCBwZW9wbGUgdXNlIGl0LlxcbiAgICBkaWFsb2c6IHRydWUsXFxuICAgIC8vIEVsZWN0cm9uIHNoaXBzIGEgY3VzdG9tIDx3ZWJ2aWV3PiB0YWcgdG8gZGlzcGxheSBleHRlcm5hbCB3ZWIgY29udGVudCBpblxcbiAgICAvLyBhbiBpc29sYXRlZCBmcmFtZSBhbmQgcHJvY2Vzcy5cXG4gICAgLy8gVGhpcyB0YWcgaXMgbm90IHByZXNlbnQgaW4gbm9uIEVsZWN0cm9uIGVudmlyb25tZW50cyBzdWNoIGFzIEpTRG9tIHdoaWNoXFxuICAgIC8vIGlzIG9mdGVuIHVzZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMuXFxuICAgIC8vIEBzZWUgaHR0cHM6Ly9lbGVjdHJvbmpzLm9yZy9kb2NzL2FwaS93ZWJ2aWV3LXRhZ1xcbiAgICB3ZWJ2aWV3OiB0cnVlXFxuICB9O1xcblxcbiAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBwcm9wcykge1xcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXModHlwZSwgcHJvcHMpO1xcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXMkMSh0eXBlLCBwcm9wcyk7XFxuICAgIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLFxcbiAgICAvKiBjYW5Vc2VFdmVudFN5c3RlbSAqL1xcbiAgICB0cnVlKTtcXG4gIH07IC8vIElFIDExIHBhcnNlcyAmIG5vcm1hbGl6ZXMgdGhlIHN0eWxlIGF0dHJpYnV0ZSBhcyBvcHBvc2VkIHRvIG90aGVyXFxuICAvLyBicm93c2Vycy4gSXQgYWRkcyBzcGFjZXMgYW5kIHNvcnRzIHRoZSBwcm9wZXJ0aWVzIGluIHNvbWVcXG4gIC8vIG5vbi1hbHBoYWJldGljYWwgb3JkZXIuIEhhbmRsaW5nIHRoYXQgd291bGQgcmVxdWlyZSBzb3J0aW5nIENTU1xcbiAgLy8gcHJvcGVydGllcyBpbiB0aGUgY2xpZW50ICYgc2VydmVyIHZlcnNpb25zIG9yIGFwcGx5aW5nXFxuICAvLyBgZXhwZWN0ZWRTdHlsZWAgdG8gYSB0ZW1wb3JhcnkgRE9NIG5vZGUgdG8gcmVhZCBpdHMgYHN0eWxlYCBhdHRyaWJ1dGVcXG4gIC8vIG5vcm1hbGl6ZWQuIFNpbmNlIGl0IG9ubHkgYWZmZWN0cyBJRSwgd2UncmUgc2tpcHBpbmcgc3R5bGUgd2FybmluZ3NcXG4gIC8vIGluIHRoYXQgYnJvd3NlciBjb21wbGV0ZWx5IGluIGZhdm9yIG9mIGRvaW5nIGFsbCB0aGF0IHdvcmsuXFxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTgwN1xcblxcblxcbiAgY2FuRGlmZlN0eWxlRm9ySHlkcmF0aW9uV2FybmluZyA9IGNhblVzZURPTSAmJiAhZG9jdW1lbnQuZG9jdW1lbnRNb2RlOyAvLyBIVE1MIHBhcnNpbmcgbm9ybWFsaXplcyBDUiBhbmQgQ1JMRiB0byBMRi5cXG4gIC8vIEl0IGFsc28gY2FuIHR1cm4gXFxcXHUwMDAwIGludG8gXFxcXHVGRkZEIGluc2lkZSBhdHRyaWJ1dGVzLlxcbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NpbmdsZS1wYWdlLmh0bWwjcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtXFxuICAvLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxcbiAgLy8gV2Ugd2lsbCBzdGlsbCBwYXRjaCB1cCBpbiB0aGlzIGNhc2UgYnV0IG5vdCBmaXJlIHRoZSB3YXJuaW5nLlxcblxcbiAgdmFyIE5PUk1BTElaRV9ORVdMSU5FU19SRUdFWCA9IC9cXFxcclxcXFxuPy9nO1xcbiAgdmFyIE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCA9IC9cXFxcdTAwMDB8XFxcXHVGRkZEL2c7XFxuXFxuICBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUgPSBmdW5jdGlvbiAobWFya3VwKSB7XFxuICAgIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xcbiAgICByZXR1cm4gbWFya3VwU3RyaW5nLnJlcGxhY2UoTk9STUFMSVpFX05FV0xJTkVTX1JFR0VYLCAnXFxcXG4nKS5yZXBsYWNlKE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCwgJycpO1xcbiAgfTtcXG5cXG4gIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChzZXJ2ZXJUZXh0LCBjbGllbnRUZXh0KSB7XFxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgbm9ybWFsaXplZENsaWVudFRleHQgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoY2xpZW50VGV4dCk7XFxuICAgIHZhciBub3JtYWxpemVkU2VydmVyVGV4dCA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJUZXh0KTtcXG5cXG4gICAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0ID09PSBub3JtYWxpemVkQ2xpZW50VGV4dCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdUZXh0IGNvbnRlbnQgZGlkIG5vdCBtYXRjaC4gU2VydmVyOiBcXFwiJXNcXFwiIENsaWVudDogXFxcIiVzXFxcIicsIG5vcm1hbGl6ZWRTZXJ2ZXJUZXh0LCBub3JtYWxpemVkQ2xpZW50VGV4dCk7XFxuICB9O1xcblxcbiAgd2FybkZvclByb3BEaWZmZXJlbmNlID0gZnVuY3Rpb24gKHByb3BOYW1lLCBzZXJ2ZXJWYWx1ZSwgY2xpZW50VmFsdWUpIHtcXG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciBub3JtYWxpemVkQ2xpZW50VmFsdWUgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoY2xpZW50VmFsdWUpO1xcbiAgICB2YXIgbm9ybWFsaXplZFNlcnZlclZhbHVlID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKHNlcnZlclZhbHVlKTtcXG5cXG4gICAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9PT0gbm9ybWFsaXplZENsaWVudFZhbHVlKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcXG5cXG4gICAgZXJyb3IoJ1Byb3AgYCVzYCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6ICVzIENsaWVudDogJXMnLCBwcm9wTmFtZSwgSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZFNlcnZlclZhbHVlKSwgSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZENsaWVudFZhbHVlKSk7XFxuICB9O1xcblxcbiAgd2FybkZvckV4dHJhQXR0cmlidXRlcyA9IGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lcykge1xcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xcbiAgICB2YXIgbmFtZXMgPSBbXTtcXG4gICAgYXR0cmlidXRlTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xcbiAgICAgIG5hbWVzLnB1c2gobmFtZSk7XFxuICAgIH0pO1xcblxcbiAgICBlcnJvcignRXh0cmEgYXR0cmlidXRlcyBmcm9tIHRoZSBzZXJ2ZXI6ICVzJywgbmFtZXMpO1xcbiAgfTtcXG5cXG4gIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lciA9IGZ1bmN0aW9uIChyZWdpc3RyYXRpb25OYW1lLCBsaXN0ZW5lcikge1xcbiAgICBpZiAobGlzdGVuZXIgPT09IGZhbHNlKSB7XFxuICAgICAgZXJyb3IoJ0V4cGVjdGVkIGAlc2AgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYGZhbHNlYC5cXFxcblxcXFxuJyArICdJZiB5b3UgdXNlZCB0byBjb25kaXRpb25hbGx5IG9taXQgaXQgd2l0aCAlcz17Y29uZGl0aW9uICYmIHZhbHVlfSwgJyArICdwYXNzICVzPXtjb25kaXRpb24gPyB2YWx1ZSA6IHVuZGVmaW5lZH0gaW5zdGVhZC4nLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBlcnJvcignRXhwZWN0ZWQgYCVzYCBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLCBpbnN0ZWFkIGdvdCBhIHZhbHVlIG9mIGAlc2AgdHlwZS4nLCByZWdpc3RyYXRpb25OYW1lLCB0eXBlb2YgbGlzdGVuZXIpO1xcbiAgICB9XFxuICB9OyAvLyBQYXJzZSB0aGUgSFRNTCBhbmQgcmVhZCBpdCBiYWNrIHRvIG5vcm1hbGl6ZSB0aGUgSFRNTCBzdHJpbmcgc28gdGhhdCBpdFxcbiAgLy8gY2FuIGJlIHVzZWQgZm9yIGNvbXBhcmlzb24uXFxuXFxuXFxuICBub3JtYWxpemVIVE1MID0gZnVuY3Rpb24gKHBhcmVudCwgaHRtbCkge1xcbiAgICAvLyBXZSBjb3VsZCBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBkb2N1bWVudCBoZXJlIHRvIGF2b2lkXFxuICAgIC8vIHJlLWluaXRpYWxpemluZyBjdXN0b20gZWxlbWVudHMgaWYgdGhleSBleGlzdC4gQnV0IHRoaXMgYnJlYWtzXFxuICAgIC8vIGhvdyA8bm9zY3JpcHQ+IGlzIGJlaW5nIGhhbmRsZWQuIFNvIHdlIHVzZSB0aGUgc2FtZSBkb2N1bWVudC5cXG4gICAgLy8gU2VlIHRoZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzExMTU3LlxcbiAgICB2YXIgdGVzdEVsZW1lbnQgPSBwYXJlbnQubmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSQxID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xcbiAgICB0ZXN0RWxlbWVudC5pbm5lckhUTUwgPSBodG1sO1xcbiAgICByZXR1cm4gdGVzdEVsZW1lbnQuaW5uZXJIVE1MO1xcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsIHJlZ2lzdHJhdGlvbk5hbWUpIHtcXG4gIHZhciBpc0RvY3VtZW50T3JGcmFnbWVudCA9IHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFIHx8IHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFO1xcbiAgdmFyIGRvYyA9IGlzRG9jdW1lbnRPckZyYWdtZW50ID8gcm9vdENvbnRhaW5lckVsZW1lbnQgOiByb290Q29udGFpbmVyRWxlbWVudC5vd25lckRvY3VtZW50O1xcbiAgbGVnYWN5TGlzdGVuVG9FdmVudChyZWdpc3RyYXRpb25OYW1lLCBkb2MpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpIHtcXG4gIHJldHVybiByb290Q29udGFpbmVyRWxlbWVudC5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJFbGVtZW50IDogcm9vdENvbnRhaW5lckVsZW1lbnQub3duZXJEb2N1bWVudDtcXG59XFxuXFxuZnVuY3Rpb24gbm9vcCgpIHt9XFxuXFxuZnVuY3Rpb24gdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQobm9kZSkge1xcbiAgLy8gTW9iaWxlIFNhZmFyaSBkb2VzIG5vdCBmaXJlIHByb3Blcmx5IGJ1YmJsZSBjbGljayBldmVudHMgb25cXG4gIC8vIG5vbi1pbnRlcmFjdGl2ZSBlbGVtZW50cywgd2hpY2ggbWVhbnMgZGVsZWdhdGVkIGNsaWNrIGxpc3RlbmVycyBkbyBub3RcXG4gIC8vIGZpcmUuIFRoZSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1ZyBpbnZvbHZlcyBhdHRhY2hpbmcgYW4gZW1wdHkgY2xpY2tcXG4gIC8vIGxpc3RlbmVyIG9uIHRoZSB0YXJnZXQgbm9kZS5cXG4gIC8vIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDEwLzA5L2NsaWNrX2V2ZW50X2RlbC5odG1sXFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxcbiAgLy8gYm9va2tlZXBpbmcgZm9yIGl0LiBOb3Qgc3VyZSBpZiB3ZSBuZWVkIHRvIGNsZWFyIGl0IHdoZW4gdGhlIGxpc3RlbmVyIGlzXFxuICAvLyByZW1vdmVkLlxcbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cXG4gIG5vZGUub25jbGljayA9IG5vb3A7XFxufVxcblxcbmZ1bmN0aW9uIHNldEluaXRpYWxET01Qcm9wZXJ0aWVzKHRhZywgZG9tRWxlbWVudCwgcm9vdENvbnRhaW5lckVsZW1lbnQsIG5leHRQcm9wcywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIGZvciAodmFyIHByb3BLZXkgaW4gbmV4dFByb3BzKSB7XFxuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIG5leHRQcm9wID0gbmV4dFByb3BzW3Byb3BLZXldO1xcblxcbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcXG4gICAgICB7XFxuICAgICAgICBpZiAobmV4dFByb3ApIHtcXG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcXG4gICAgICAgICAgLy8gbXV0YXRlZC4gV2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBmb3IgdGhpcyBpbiB0aGUgcGFzdC5cXG4gICAgICAgICAgT2JqZWN0LmZyZWV6ZShuZXh0UHJvcCk7XFxuICAgICAgICB9XFxuICAgICAgfSAvLyBSZWxpZXMgb24gYHVwZGF0ZVN0eWxlc0J5SURgIG5vdCBtdXRhdGluZyBgc3R5bGVVcGRhdGVzYC5cXG5cXG5cXG4gICAgICBzZXRWYWx1ZUZvclN0eWxlcyhkb21FbGVtZW50LCBuZXh0UHJvcCk7XFxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcXG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XFxuXFxuICAgICAgaWYgKG5leHRIdG1sICE9IG51bGwpIHtcXG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XFxuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICAgIC8vIEF2b2lkIHNldHRpbmcgaW5pdGlhbCB0ZXh0Q29udGVudCB3aGVuIHRoZSB0ZXh0IGlzIGVtcHR5LiBJbiBJRTExIHNldHRpbmdcXG4gICAgICAgIC8vIHRleHRDb250ZW50IG9uIGEgPHRleHRhcmVhPiB3aWxsIGNhdXNlIHRoZSBwbGFjZWhvbGRlciB0byBub3RcXG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzY3MzEjaXNzdWVjb21tZW50LTI1NDg3NDU1M1xcbiAgICAgICAgdmFyIGNhblNldFRleHRDb250ZW50ID0gdGFnICE9PSAndGV4dGFyZWEnIHx8IG5leHRQcm9wICE9PSAnJztcXG5cXG4gICAgICAgIGlmIChjYW5TZXRUZXh0Q29udGVudCkge1xcbiAgICAgICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCBuZXh0UHJvcCk7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XFxuICAgICAgICBzZXRUZXh0Q29udGVudChkb21FbGVtZW50LCAnJyArIG5leHRQcm9wKTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoIHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChwcm9wS2V5ID09PSBBVVRPRk9DVVMpIDsgZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZU1vZHVsZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcXG4gICAgICBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCBwcm9wS2V5KTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3AsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcXG4gIC8vIFRPRE86IEhhbmRsZSB3YXNDdXN0b21Db21wb25lbnRUYWdcXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgdXBkYXRlUGF5bG9hZC5sZW5ndGg7IGkgKz0gMikge1xcbiAgICB2YXIgcHJvcEtleSA9IHVwZGF0ZVBheWxvYWRbaV07XFxuICAgIHZhciBwcm9wVmFsdWUgPSB1cGRhdGVQYXlsb2FkW2kgKyAxXTtcXG5cXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XFxuICAgICAgc2V0VmFsdWVGb3JTdHlsZXMoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcXG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCkge1xcbiAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XFxuICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgcHJvcFZhbHVlKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBzZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIHByb3BWYWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50LCBwYXJlbnROYW1lc3BhY2UpIHtcXG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZzsgLy8gV2UgY3JlYXRlIHRhZ3MgaW4gdGhlIG5hbWVzcGFjZSBvZiB0aGVpciBwYXJlbnQgY29udGFpbmVyLCBleGNlcHQgSFRNTFxcbiAgLy8gdGFncyBnZXQgbm8gbmFtZXNwYWNlLlxcblxcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpO1xcbiAgdmFyIGRvbUVsZW1lbnQ7XFxuICB2YXIgbmFtZXNwYWNlVVJJID0gcGFyZW50TmFtZXNwYWNlO1xcblxcbiAgaWYgKG5hbWVzcGFjZVVSSSA9PT0gSFRNTF9OQU1FU1BBQ0UkMSkge1xcbiAgICBuYW1lc3BhY2VVUkkgPSBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XFxuICB9XFxuXFxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XFxuICAgIHtcXG4gICAgICBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHR5cGUsIHByb3BzKTsgLy8gU2hvdWxkIHRoaXMgY2hlY2sgYmUgZ2F0ZWQgYnkgcGFyZW50IG5hbWVzcGFjZT8gTm90IHN1cmUgd2Ugd2FudCB0b1xcbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cXG5cXG4gICAgICBpZiAoIWlzQ3VzdG9tQ29tcG9uZW50VGFnICYmIHR5cGUgIT09IHR5cGUudG9Mb3dlckNhc2UoKSkge1xcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGUgPT09ICdzY3JpcHQnKSB7XFxuICAgICAgLy8gQ3JlYXRlIHRoZSBzY3JpcHQgdmlhIC5pbm5lckhUTUwgc28gaXRzIFxcXCJwYXJzZXItaW5zZXJ0ZWRcXFwiIGZsYWcgaXNcXG4gICAgICAvLyBzZXQgdG8gdHJ1ZSBhbmQgaXQgZG9lcyBub3QgZXhlY3V0ZVxcbiAgICAgIHZhciBkaXYgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xcblxcbiAgICAgIGRpdi5pbm5lckhUTUwgPSAnPHNjcmlwdD48JyArICcvc2NyaXB0Pic7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcXG4gICAgICAvLyBUaGlzIGlzIGd1YXJhbnRlZWQgdG8geWllbGQgYSBzY3JpcHQgZWxlbWVudC5cXG5cXG4gICAgICB2YXIgZmlyc3RDaGlsZCA9IGRpdi5maXJzdENoaWxkO1xcbiAgICAgIGRvbUVsZW1lbnQgPSBkaXYucmVtb3ZlQ2hpbGQoZmlyc3RDaGlsZCk7XFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xcbiAgICAgIC8vICRGbG93SXNzdWUgYGNyZWF0ZUVsZW1lbnRgIHNob3VsZCBiZSB1cGRhdGVkIGZvciBXZWIgQ29tcG9uZW50c1xcbiAgICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSwge1xcbiAgICAgICAgaXM6IHByb3BzLmlzXFxuICAgICAgfSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXFxuICAgICAgLy8gU2VlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvNjg5NlxcbiAgICAgIC8vIGFuZCBkaXNjdXNzaW9uIGluIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzYyNDBcXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcXG4gICAgICAvLyBhdHRyaWJ1dGVzIG9uIGBzZWxlY3RgcyBuZWVkcyB0byBiZSBhZGRlZCBiZWZvcmUgYG9wdGlvbmBzIGFyZSBpbnNlcnRlZC5cXG4gICAgICAvLyBUaGlzIHByZXZlbnRzOlxcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxcbiAgICAgIC8vICBgc2VsZWN0YCBlbGVtZW50cyBhdXRvbWF0aWNhbGx5IHBpY2sgdGhlIGZpcnN0IGl0ZW0gIzEzMjIyXFxuICAgICAgLy8gLSBhIGJ1ZyB3aGVyZSB0aGUgYHNlbGVjdGAgc2V0IHRoZSBmaXJzdCBpdGVtIGFzIHNlbGVjdGVkIGRlc3BpdGUgdGhlIGBzaXplYCBhdHRyaWJ1dGUgIzE0MjM5XFxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcXG4gICAgICAvLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDIzOVxcblxcbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xcbiAgICAgICAgdmFyIG5vZGUgPSBkb21FbGVtZW50O1xcblxcbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XFxuICAgICAgICAgIG5vZGUubXVsdGlwbGUgPSB0cnVlO1xcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5zaXplKSB7XFxuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXFxuICAgICAgICAgIC8vIGl0IGlzIHBvc3NpYmxlIHRoYXQgbm8gb3B0aW9uIGlzIHNlbGVjdGVkLlxcbiAgICAgICAgICAvL1xcbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXFxcInNpbmdsZSBzZWxlY3Rpb24gbW9kZVxcXCIuXFxuICAgICAgICAgIG5vZGUuc2l6ZSA9IHByb3BzLnNpemU7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMobmFtZXNwYWNlVVJJLCB0eXBlKTtcXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKG5hbWVzcGFjZVVSSSA9PT0gSFRNTF9OQU1FU1BBQ0UkMSkge1xcbiAgICAgIGlmICghaXNDdXN0b21Db21wb25lbnRUYWcgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRvbUVsZW1lbnQpID09PSAnW29iamVjdCBIVE1MVW5rbm93bkVsZW1lbnRdJyAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFVua25vd25UYWdzLCB0eXBlKSkge1xcbiAgICAgICAgd2FybmVkVW5rbm93blRhZ3NbdHlwZV0gPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJ1RoZSB0YWcgPCVzPiBpcyB1bnJlY29nbml6ZWQgaW4gdGhpcyBicm93c2VyLiAnICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBSZWFjdCBjb21wb25lbnQsIHN0YXJ0IGl0cyBuYW1lIHdpdGggJyArICdhbiB1cHBlcmNhc2UgbGV0dGVyLicsIHR5cGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZVRleHROb2RlKHRleHQsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XFxuICByZXR1cm4gZ2V0T3duZXJEb2N1bWVudEZyb21Sb290Q29udGFpbmVyKHJvb3RDb250YWluZXJFbGVtZW50KS5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcXG59XFxuZnVuY3Rpb24gc2V0SW5pdGlhbFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcXG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgcmF3UHJvcHMpO1xcblxcbiAge1xcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgcmF3UHJvcHMpO1xcbiAgfSAvLyBUT0RPOiBNYWtlIHN1cmUgdGhhdCB3ZSBjaGVjayBpc01vdW50ZWQgYmVmb3JlIGZpcmluZyBhbnkgb2YgdGhlc2UgZXZlbnRzLlxcblxcblxcbiAgdmFyIHByb3BzO1xcblxcbiAgc3dpdGNoICh0YWcpIHtcXG4gICAgY2FzZSAnaWZyYW1lJzpcXG4gICAgY2FzZSAnb2JqZWN0JzpcXG4gICAgY2FzZSAnZW1iZWQnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0xPQUQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3ZpZGVvJzpcXG4gICAgY2FzZSAnYXVkaW8nOlxcbiAgICAgIC8vIENyZWF0ZSBsaXN0ZW5lciBmb3IgZWFjaCBtZWRpYSBldmVudFxcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICB0cmFwQnViYmxlZEV2ZW50KG1lZGlhRXZlbnRUeXBlc1tpXSwgZG9tRWxlbWVudCk7XFxuICAgICAgfVxcblxcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3NvdXJjZSc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2ltZyc6XFxuICAgIGNhc2UgJ2ltYWdlJzpcXG4gICAgY2FzZSAnbGluayc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0xPQUQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2Zvcm0nOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1JFU0VULCBkb21FbGVtZW50KTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9TVUJNSVQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2RldGFpbHMnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1RPR0dMRSwgZG9tRWxlbWVudCk7XFxuICAgICAgcHJvcHMgPSByYXdQcm9wcztcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnaW5wdXQnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXFxuICAgICAgLy8gdG8gb25DaGFuZ2UuIEV2ZW4gaWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIuXFxuXFxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIHByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdzZWxlY3QnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMyhkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xcbiAgfVxcblxcbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIHByb3BzKTtcXG4gIHNldEluaXRpYWxET01Qcm9wZXJ0aWVzKHRhZywgZG9tRWxlbWVudCwgcm9vdENvbnRhaW5lckVsZW1lbnQsIHByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZyk7XFxuXFxuICBzd2l0Y2ggKHRhZykge1xcbiAgICBjYXNlICdpbnB1dCc6XFxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxcbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXFxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XFxuICAgICAgcG9zdE1vdW50V3JhcHBlcihkb21FbGVtZW50LCByYXdQcm9wcywgZmFsc2UpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICd0ZXh0YXJlYSc6XFxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxcbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXFxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XFxuICAgICAgcG9zdE1vdW50V3JhcHBlciQzKGRvbUVsZW1lbnQpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3NlbGVjdCc6XFxuICAgICAgcG9zdE1vdW50V3JhcHBlciQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBpZiAodHlwZW9mIHByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIC8vIFRPRE86IFRoaXMgY2FzdCBtYXkgbm90IGJlIHNvdW5kIGZvciBTVkcsIE1hdGhNTCBvciBjdXN0b20gZWxlbWVudHMuXFxuICAgICAgICB0cmFwQ2xpY2tPbk5vbkludGVyYWN0aXZlRWxlbWVudChkb21FbGVtZW50KTtcXG4gICAgICB9XFxuXFxuICAgICAgYnJlYWs7XFxuICB9XFxufSAvLyBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiB0aGUgdHdvIG9iamVjdHMuXFxuXFxuZnVuY3Rpb24gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCBsYXN0UmF3UHJvcHMsIG5leHRSYXdQcm9wcywgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcXG4gIHtcXG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIG5leHRSYXdQcm9wcyk7XFxuICB9XFxuXFxuICB2YXIgdXBkYXRlUGF5bG9hZCA9IG51bGw7XFxuICB2YXIgbGFzdFByb3BzO1xcbiAgdmFyIG5leHRQcm9wcztcXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbGFzdFJhd1Byb3BzKTtcXG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcXG4gICAgICB1cGRhdGVQYXlsb2FkID0gW107XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ29wdGlvbic6XFxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgbGFzdFJhd1Byb3BzKTtcXG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xcbiAgICAgIG5leHRQcm9wcyA9IGdldEhvc3RQcm9wcyQyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XFxuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICd0ZXh0YXJlYSc6XFxuICAgICAgbGFzdFByb3BzID0gZ2V0SG9zdFByb3BzJDMoZG9tRWxlbWVudCwgbGFzdFJhd1Byb3BzKTtcXG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMyhkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBsYXN0UHJvcHMgPSBsYXN0UmF3UHJvcHM7XFxuICAgICAgbmV4dFByb3BzID0gbmV4dFJhd1Byb3BzO1xcblxcbiAgICAgIGlmICh0eXBlb2YgbGFzdFByb3BzLm9uQ2xpY2sgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG5leHRQcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAvLyBUT0RPOiBUaGlzIGNhc3QgbWF5IG5vdCBiZSBzb3VuZCBmb3IgU1ZHLCBNYXRoTUwgb3IgY3VzdG9tIGVsZW1lbnRzLlxcbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XFxuICAgICAgfVxcblxcbiAgICAgIGJyZWFrO1xcbiAgfVxcblxcbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XFxuICB2YXIgcHJvcEtleTtcXG4gIHZhciBzdHlsZU5hbWU7XFxuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcXG5cXG4gIGZvciAocHJvcEtleSBpbiBsYXN0UHJvcHMpIHtcXG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XFxuICAgICAgdmFyIGxhc3RTdHlsZSA9IGxhc3RQcm9wc1twcm9wS2V5XTtcXG5cXG4gICAgICBmb3IgKHN0eWxlTmFtZSBpbiBsYXN0U3R5bGUpIHtcXG4gICAgICAgIGlmIChsYXN0U3R5bGUuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xcbiAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gJyc7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MIHx8IHByb3BLZXkgPT09IENISUxEUkVOKSA7IGVsc2UgaWYgKCBwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gQVVUT0ZPQ1VTKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZS4gSWYgYW55IGxpc3RlbmVyIHVwZGF0ZXMgd2UgbmVlZCB0byBlbnN1cmVcXG4gICAgICAvLyB0aGF0IHRoZSBcXFwiY3VycmVudFxcXCIgZmliZXIgcG9pbnRlciBnZXRzIHVwZGF0ZWQgc28gd2UgbmVlZCBhIGNvbW1pdFxcbiAgICAgIC8vIHRvIHVwZGF0ZSB0aGlzIGVsZW1lbnQuXFxuICAgICAgaWYgKCF1cGRhdGVQYXlsb2FkKSB7XFxuICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEZvciBhbGwgb3RoZXIgZGVsZXRlZCBwcm9wZXJ0aWVzIHdlIGFkZCBpdCB0byB0aGUgcXVldWUuIFdlIHVzZVxcbiAgICAgIC8vIHRoZSB3aGl0ZWxpc3QgaW4gdGhlIGNvbW1pdCBwaGFzZSBpbnN0ZWFkLlxcbiAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBudWxsKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgZm9yIChwcm9wS2V5IGluIG5leHRQcm9wcykge1xcbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XFxuICAgIHZhciBsYXN0UHJvcCA9IGxhc3RQcm9wcyAhPSBudWxsID8gbGFzdFByb3BzW3Byb3BLZXldIDogdW5kZWZpbmVkO1xcblxcbiAgICBpZiAoIW5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCBuZXh0UHJvcCA9PT0gbGFzdFByb3AgfHwgbmV4dFByb3AgPT0gbnVsbCAmJiBsYXN0UHJvcCA9PSBudWxsKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XFxuICAgICAge1xcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XFxuICAgICAgICAgIC8vIEZyZWV6ZSB0aGUgbmV4dCBzdHlsZSBvYmplY3Qgc28gdGhhdCB3ZSBjYW4gYXNzdW1lIGl0IHdvbid0IGJlXFxuICAgICAgICAgIC8vIG11dGF0ZWQuIFdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgZm9yIHRoaXMgaW4gdGhlIHBhc3QuXFxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobGFzdFByb3ApIHtcXG4gICAgICAgIC8vIFVuc2V0IHN0eWxlcyBvbiBgbGFzdFByb3BgIGJ1dCBub3Qgb24gYG5leHRQcm9wYC5cXG4gICAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RQcm9wKSB7XFxuICAgICAgICAgIGlmIChsYXN0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmICghbmV4dFByb3AgfHwgIW5leHRQcm9wLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpKSB7XFxuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcXG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9ICcnO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IC8vIFVwZGF0ZSBzdHlsZXMgdGhhdCBjaGFuZ2VkIHNpbmNlIGBsYXN0UHJvcGAuXFxuXFxuXFxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBuZXh0UHJvcCkge1xcbiAgICAgICAgICBpZiAobmV4dFByb3AuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSAmJiBsYXN0UHJvcFtzdHlsZU5hbWVdICE9PSBuZXh0UHJvcFtzdHlsZU5hbWVdKSB7XFxuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcXG4gICAgICAgICAgICAgIHN0eWxlVXBkYXRlcyA9IHt9O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBzdHlsZVVwZGF0ZXNbc3R5bGVOYW1lXSA9IG5leHRQcm9wW3N0eWxlTmFtZV07XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gUmVsaWVzIG9uIGB1cGRhdGVTdHlsZXNCeUlEYCBub3QgbXV0YXRpbmcgYHN0eWxlVXBkYXRlc2AuXFxuICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xcbiAgICAgICAgICBpZiAoIXVwZGF0ZVBheWxvYWQpIHtcXG4gICAgICAgICAgICB1cGRhdGVQYXlsb2FkID0gW107XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdXBkYXRlUGF5bG9hZC5wdXNoKHByb3BLZXksIHN0eWxlVXBkYXRlcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzdHlsZVVwZGF0ZXMgPSBuZXh0UHJvcDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcXG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XFxuICAgICAgdmFyIGxhc3RIdG1sID0gbGFzdFByb3AgPyBsYXN0UHJvcFtIVE1MJDFdIDogdW5kZWZpbmVkO1xcblxcbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XFxuICAgICAgICBpZiAobGFzdEh0bWwgIT09IG5leHRIdG1sKSB7XFxuICAgICAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0SHRtbCk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IENISUxEUkVOKSB7XFxuICAgICAgaWYgKGxhc3RQcm9wICE9PSBuZXh0UHJvcCAmJiAodHlwZW9mIG5leHRQcm9wID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSkge1xcbiAgICAgICAgKHVwZGF0ZVBheWxvYWQgPSB1cGRhdGVQYXlsb2FkIHx8IFtdKS5wdXNoKHByb3BLZXksICcnICsgbmV4dFByb3ApO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmICggcHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcXG4gICAgICAgIC8vIFdlIGVhZ2VybHkgbGlzdGVuIHRvIHRoaXMgZXZlbiB0aG91Z2ggd2UgaGF2ZW4ndCBjb21taXR0ZWQgeWV0LlxcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCBwcm9wS2V5KTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKCF1cGRhdGVQYXlsb2FkICYmIGxhc3RQcm9wICE9PSBuZXh0UHJvcCkge1xcbiAgICAgICAgLy8gVGhpcyBpcyBhIHNwZWNpYWwgY2FzZS4gSWYgYW55IGxpc3RlbmVyIHVwZGF0ZXMgd2UgbmVlZCB0byBlbnN1cmVcXG4gICAgICAgIC8vIHRoYXQgdGhlIFxcXCJjdXJyZW50XFxcIiBwcm9wcyBwb2ludGVyIGdldHMgdXBkYXRlZCBzbyB3ZSBuZWVkIGEgY29tbWl0XFxuICAgICAgICAvLyB0byB1cGRhdGUgdGhpcyBlbGVtZW50LlxcbiAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBGb3IgYW55IG90aGVyIHByb3BlcnR5IHdlIGFsd2F5cyBhZGQgaXQgdG8gdGhlIHF1ZXVlIGFuZCB0aGVuIHdlXFxuICAgICAgLy8gZmlsdGVyIGl0IG91dCB1c2luZyB0aGUgd2hpdGVsaXN0IGR1cmluZyB0aGUgY29tbWl0LlxcbiAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBuZXh0UHJvcCk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChzdHlsZVVwZGF0ZXMpIHtcXG4gICAge1xcbiAgICAgIHZhbGlkYXRlU2hvcnRoYW5kUHJvcGVydHlDb2xsaXNpb25JbkRldihzdHlsZVVwZGF0ZXMsIG5leHRQcm9wc1tTVFlMRV0pO1xcbiAgICB9XFxuXFxuICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChTVFlMRSwgc3R5bGVVcGRhdGVzKTtcXG4gIH1cXG5cXG4gIHJldHVybiB1cGRhdGVQYXlsb2FkO1xcbn0gLy8gQXBwbHkgdGhlIGRpZmYuXFxuXFxuZnVuY3Rpb24gdXBkYXRlUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0YWcsIGxhc3RSYXdQcm9wcywgbmV4dFJhd1Byb3BzKSB7XFxuICAvLyBVcGRhdGUgY2hlY2tlZCAqYmVmb3JlKiBuYW1lLlxcbiAgLy8gSW4gdGhlIG1pZGRsZSBvZiBhbiB1cGRhdGUsIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgbXVsdGlwbGUgY2hlY2tlZC5cXG4gIC8vIFdoZW4gYSBjaGVja2VkIHJhZGlvIHRyaWVzIHRvIGNoYW5nZSBuYW1lLCBicm93c2VyIG1ha2VzIGFub3RoZXIgcmFkaW8ncyBjaGVja2VkIGZhbHNlLlxcbiAgaWYgKHRhZyA9PT0gJ2lucHV0JyAmJiBuZXh0UmF3UHJvcHMudHlwZSA9PT0gJ3JhZGlvJyAmJiBuZXh0UmF3UHJvcHMubmFtZSAhPSBudWxsKSB7XFxuICAgIHVwZGF0ZUNoZWNrZWQoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcXG4gIH1cXG5cXG4gIHZhciB3YXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIGxhc3RSYXdQcm9wcyk7XFxuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIG5leHRSYXdQcm9wcyk7IC8vIEFwcGx5IHRoZSBkaWZmLlxcblxcbiAgdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTsgLy8gVE9ETzogRW5zdXJlIHRoYXQgYW4gdXBkYXRlIGdldHMgc2NoZWR1bGVkIGlmIGFueSBvZiB0aGUgc3BlY2lhbCBwcm9wc1xcbiAgLy8gY2hhbmdlZC5cXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICAvLyBVcGRhdGUgdGhlIHdyYXBwZXIgYXJvdW5kIGlucHV0cyAqYWZ0ZXIqIHVwZGF0aW5nIHByb3BzLiBUaGlzIGhhcyB0b1xcbiAgICAgIC8vIGhhcHBlbiBhZnRlciBgdXBkYXRlRE9NUHJvcGVydGllc2AuIE90aGVyd2lzZSBIVE1MNSBpbnB1dCB2YWxpZGF0aW9uc1xcbiAgICAgIC8vIHJhaXNlIHdhcm5pbmdzIGFuZCBwcmV2ZW50IHRoZSBuZXcgdmFsdWUgZnJvbSBiZWluZyBhc3NpZ25lZC5cXG4gICAgICB1cGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3RleHRhcmVhJzpcXG4gICAgICB1cGRhdGVXcmFwcGVyJDEoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgICAvLyA8c2VsZWN0PiB2YWx1ZSB1cGRhdGUgbmVlZHMgdG8gb2NjdXIgYWZ0ZXIgPG9wdGlvbj4gY2hpbGRyZW5cXG4gICAgICAvLyByZWNvbmNpbGlhdGlvblxcbiAgICAgIHBvc3RVcGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XFxuICAgICAgYnJlYWs7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BOYW1lKSB7XFxuICB7XFxuICAgIHZhciBsb3dlckNhc2VkTmFtZSA9IHByb3BOYW1lLnRvTG93ZXJDYXNlKCk7XFxuXFxuICAgIGlmICghcG9zc2libGVTdGFuZGFyZE5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSkge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBwb3NzaWJsZVN0YW5kYXJkTmFtZXNbbG93ZXJDYXNlZE5hbWVdIHx8IG51bGw7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGRpZmZIeWRyYXRlZFByb3BlcnRpZXMoZG9tRWxlbWVudCwgdGFnLCByYXdQcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVyRWxlbWVudCkge1xcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnO1xcbiAgdmFyIGV4dHJhQXR0cmlidXRlTmFtZXM7XFxuXFxuICB7XFxuICAgIHN1cHByZXNzSHlkcmF0aW9uV2FybmluZyA9IHJhd1Byb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HXSA9PT0gdHJ1ZTtcXG4gICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIHJhd1Byb3BzKTtcXG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIHJhd1Byb3BzKTtcXG4gIH0gLy8gVE9ETzogTWFrZSBzdXJlIHRoYXQgd2UgY2hlY2sgaXNNb3VudGVkIGJlZm9yZSBmaXJpbmcgYW55IG9mIHRoZXNlIGV2ZW50cy5cXG5cXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lmcmFtZSc6XFxuICAgIGNhc2UgJ29iamVjdCc6XFxuICAgIGNhc2UgJ2VtYmVkJzpcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9MT0FELCBkb21FbGVtZW50KTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndmlkZW8nOlxcbiAgICBjYXNlICdhdWRpbyc6XFxuICAgICAgLy8gQ3JlYXRlIGxpc3RlbmVyIGZvciBlYWNoIG1lZGlhIGV2ZW50XFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZWRpYUV2ZW50VHlwZXMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIHRyYXBCdWJibGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcXG4gICAgICB9XFxuXFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ3NvdXJjZSc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdpbWcnOlxcbiAgICBjYXNlICdpbWFnZSc6XFxuICAgIGNhc2UgJ2xpbmsnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0VSUk9SLCBkb21FbGVtZW50KTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9MT0FELCBkb21FbGVtZW50KTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnZm9ybSc6XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfUkVTRVQsIGRvbUVsZW1lbnQpO1xcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1NVQk1JVCwgZG9tRWxlbWVudCk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2RldGFpbHMnOlxcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1RPR0dMRSwgZG9tRWxlbWVudCk7XFxuICAgICAgYnJlYWs7XFxuXFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICBpbml0V3JhcHBlclN0YXRlKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcXG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXFxuICAgICAgLy8gdG8gb25DaGFuZ2UuIEV2ZW4gaWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIuXFxuXFxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlICdzZWxlY3QnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XFxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxcblxcbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIGFzc2VydFZhbGlkUHJvcHModGFnLCByYXdQcm9wcyk7XFxuXFxuICB7XFxuICAgIGV4dHJhQXR0cmlidXRlTmFtZXMgPSBuZXcgU2V0KCk7XFxuICAgIHZhciBhdHRyaWJ1dGVzID0gZG9tRWxlbWVudC5hdHRyaWJ1dGVzO1xcblxcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXR0cmlidXRlcy5sZW5ndGg7IF9pKyspIHtcXG4gICAgICB2YXIgbmFtZSA9IGF0dHJpYnV0ZXNbX2ldLm5hbWUudG9Mb3dlckNhc2UoKTtcXG5cXG4gICAgICBzd2l0Y2ggKG5hbWUpIHtcXG4gICAgICAgIC8vIEJ1aWx0LWluIFNTUiBhdHRyaWJ1dGUgaXMgd2hpdGVsaXN0ZWRcXG4gICAgICAgIGNhc2UgJ2RhdGEtcmVhY3Ryb290JzpcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICAvLyBDb250cm9sbGVkIGF0dHJpYnV0ZXMgYXJlIG5vdCB2YWxpZGF0ZWRcXG4gICAgICAgIC8vIFRPRE86IE9ubHkgaWdub3JlIHRoZW0gb24gY29udHJvbGxlZCB0YWdzLlxcblxcbiAgICAgICAgY2FzZSAndmFsdWUnOlxcbiAgICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIGNhc2UgJ2NoZWNrZWQnOlxcbiAgICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIGNhc2UgJ3NlbGVjdGVkJzpcXG4gICAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSB0aGUgb3JpZ2luYWwgbmFtZS5cXG4gICAgICAgICAgLy8gU2VlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTA2NzYuXFxuICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuYWRkKGF0dHJpYnV0ZXNbX2ldLm5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xcblxcbiAgZm9yICh2YXIgcHJvcEtleSBpbiByYXdQcm9wcykge1xcbiAgICBpZiAoIXJhd1Byb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIG5leHRQcm9wID0gcmF3UHJvcHNbcHJvcEtleV07XFxuXFxuICAgIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xcbiAgICAgIC8vIEZvciB0ZXh0IGNvbnRlbnQgY2hpbGRyZW4gd2UgY29tcGFyZSBhZ2FpbnN0IHRleHRDb250ZW50LiBUaGlzXFxuICAgICAgLy8gbWlnaHQgbWF0Y2ggYWRkaXRpb25hbCBIVE1MIHRoYXQgaXMgaGlkZGVuIHdoZW4gd2UgcmVhZCBpdCB1c2luZ1xcbiAgICAgIC8vIHRleHRDb250ZW50LiBFLmcuIFxcXCJmb29cXFwiIHdpbGwgbWF0Y2ggXFxcImY8c3Bhbj5vbzwvc3Bhbj5cXFwiIGJ1dCB0aGF0IHN0aWxsXFxuICAgICAgLy8gc2F0aXNmaWVzIG91ciByZXF1aXJlbWVudC4gT3VyIHJlcXVpcmVtZW50IGlzIG5vdCB0byBwcm9kdWNlIHBlcmZlY3RcXG4gICAgICAvLyBIVE1MIGFuZCBhdHRyaWJ1dGVzLiBJZGVhbGx5IHdlIHNob3VsZCBwcmVzZXJ2ZSBzdHJ1Y3R1cmUgYnV0IGl0J3NcXG4gICAgICAvLyBvayBub3QgdG8gaWYgdGhlIHZpc2libGUgY29udGVudCBpcyBzdGlsbCBlbm91Z2ggdG8gaW5kaWNhdGUgd2hhdFxcbiAgICAgIC8vIGV2ZW4gbGlzdGVuZXJzIHRoZXNlIG5vZGVzIG1pZ2h0IGJlIHdpcmVkIHVwIHRvLlxcbiAgICAgIC8vIFRPRE86IFdhcm4gaWYgdGhlcmUgaXMgbW9yZSB0aGFuIGEgc2luZ2xlIHRleHROb2RlIGFzIGEgY2hpbGQuXFxuICAgICAgLy8gVE9ETzogU2hvdWxkIHdlIHVzZSBkb21FbGVtZW50LmZpcnN0Q2hpbGQubm9kZVZhbHVlIHRvIGNvbXBhcmU/XFxuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcXG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSBuZXh0UHJvcCkge1xcbiAgICAgICAgICBpZiAoICFzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcpIHtcXG4gICAgICAgICAgICB3YXJuRm9yVGV4dERpZmZlcmVuY2UoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3ApO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XFxuICAgICAgICAgIGlmICggIXN1cHByZXNzSHlkcmF0aW9uV2FybmluZykge1xcbiAgICAgICAgICAgIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZShkb21FbGVtZW50LnRleHRDb250ZW50LCBuZXh0UHJvcCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtDSElMRFJFTiwgJycgKyBuZXh0UHJvcF07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XFxuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcXG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAgIHdhcm5Gb3JJbnZhbGlkRXZlbnRMaXN0ZW5lcihwcm9wS2V5LCBuZXh0UHJvcCk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBlbnN1cmVMaXN0ZW5pbmdUbyhyb290Q29udGFpbmVyRWxlbWVudCwgcHJvcEtleSk7XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCAvLyBDb252aW5jZSBGbG93IHdlJ3ZlIGNhbGN1bGF0ZWQgaXQgKGl0J3MgREVWLW9ubHkgaW4gdGhpcyBtZXRob2QuKVxcbiAgICB0eXBlb2YgaXNDdXN0b21Db21wb25lbnRUYWcgPT09ICdib29sZWFuJykge1xcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXFxuICAgICAgdmFyIHNlcnZlclZhbHVlID0gdm9pZCAwO1xcbiAgICAgIHZhciBwcm9wZXJ0eUluZm8gPSBnZXRQcm9wZXJ0eUluZm8ocHJvcEtleSk7XFxuXFxuICAgICAgaWYgKHN1cHByZXNzSHlkcmF0aW9uV2FybmluZykgOyBlbHNlIGlmICggcHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HIHx8IC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxcbiAgICAgIC8vIFRPRE86IE9ubHkgaWdub3JlIHRoZW0gb24gY29udHJvbGxlZCB0YWdzLlxcbiAgICAgIHByb3BLZXkgPT09ICd2YWx1ZScgfHwgcHJvcEtleSA9PT0gJ2NoZWNrZWQnIHx8IHByb3BLZXkgPT09ICdzZWxlY3RlZCcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcXG4gICAgICAgIHZhciBzZXJ2ZXJIVE1MID0gZG9tRWxlbWVudC5pbm5lckhUTUw7XFxuICAgICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XFxuICAgICAgICB2YXIgZXhwZWN0ZWRIVE1MID0gbm9ybWFsaXplSFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCAhPSBudWxsID8gbmV4dEh0bWwgOiAnJyk7XFxuXFxuICAgICAgICBpZiAoZXhwZWN0ZWRIVE1MICE9PSBzZXJ2ZXJIVE1MKSB7XFxuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcXG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cXG4gICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkpO1xcblxcbiAgICAgICAgaWYgKGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmcpIHtcXG4gICAgICAgICAgdmFyIGV4cGVjdGVkU3R5bGUgPSBjcmVhdGVEYW5nZXJvdXNTdHJpbmdGb3JTdHlsZXMobmV4dFByb3ApO1xcbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGRvbUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdzdHlsZScpO1xcblxcbiAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHlsZSAhPT0gc2VydmVyVmFsdWUpIHtcXG4gICAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIGV4cGVjdGVkU3R5bGUpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xcbiAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleS50b0xvd2VyQ2FzZSgpKTtcXG4gICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JBdHRyaWJ1dGUoZG9tRWxlbWVudCwgcHJvcEtleSwgbmV4dFByb3ApO1xcblxcbiAgICAgICAgaWYgKG5leHRQcm9wICE9PSBzZXJ2ZXJWYWx1ZSkge1xcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKCFzaG91bGRJZ25vcmVBdHRyaWJ1dGUocHJvcEtleSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykgJiYgIXNob3VsZFJlbW92ZUF0dHJpYnV0ZShwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcXG4gICAgICAgIHZhciBpc01pc21hdGNoRHVlVG9CYWRDYXNpbmcgPSBmYWxzZTtcXG5cXG4gICAgICAgIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSk7XFxuICAgICAgICAgIHNlcnZlclZhbHVlID0gZ2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgcHJvcGVydHlJbmZvKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHZhciBvd25OYW1lc3BhY2UgPSBwYXJlbnROYW1lc3BhY2U7XFxuXFxuICAgICAgICAgIGlmIChvd25OYW1lc3BhY2UgPT09IEhUTUxfTkFNRVNQQUNFJDEpIHtcXG4gICAgICAgICAgICBvd25OYW1lc3BhY2UgPSBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodGFnKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAob3duTmFtZXNwYWNlID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XFxuICAgICAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHByb3BLZXkudG9Mb3dlckNhc2UoKSk7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IGdldFBvc3NpYmxlU3RhbmRhcmROYW1lKHByb3BLZXkpO1xcblxcbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XFxuICAgICAgICAgICAgICAvLyBJZiBhbiBTVkcgcHJvcCBpcyBzdXBwbGllZCB3aXRoIGJhZCBjYXNpbmcsIGl0IHdpbGxcXG4gICAgICAgICAgICAgIC8vIGJlIHN1Y2Nlc3NmdWxseSBwYXJzZWQgZnJvbSBIVE1MLCBidXQgd2lsbCBwcm9kdWNlIGEgbWlzbWF0Y2hcXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXFxuICAgICAgICAgICAgICAvLyBIb3dldmVyLCB3ZSBhbHJlYWR5IHdhcm4gYWJvdXQgYmFkIGNhc2luZyBlbHNld2hlcmUuXFxuICAgICAgICAgICAgICAvLyBTbyB3ZSdsbCBza2lwIHRoZSBtaXNsZWFkaW5nIGV4dHJhIG1pc21hdGNoIHdhcm5pbmcgaW4gdGhpcyBjYXNlLlxcbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcblxcbiAgICAgICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUoc3RhbmRhcmROYW1lKTtcXG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cXG5cXG5cXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChuZXh0UHJvcCAhPT0gc2VydmVyVmFsdWUgJiYgIWlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZykge1xcbiAgICAgICAgICB3YXJuRm9yUHJvcERpZmZlcmVuY2UocHJvcEtleSwgc2VydmVyVmFsdWUsIG5leHRQcm9wKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICBpZiAoZXh0cmFBdHRyaWJ1dGVOYW1lcy5zaXplID4gMCAmJiAhc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nKSB7XFxuICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxcbiAgICAgIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXMoZXh0cmFBdHRyaWJ1dGVOYW1lcyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHN3aXRjaCAodGFnKSB7XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXFxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcXG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCB0cnVlKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxcbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMyhkb21FbGVtZW50KTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgY2FzZSAnb3B0aW9uJzpcXG4gICAgICAvLyBGb3IgaW5wdXQgYW5kIHRleHRhcmVhIHdlIGN1cnJlbnQgYWx3YXlzIHNldCB0aGUgdmFsdWUgcHJvcGVydHkgYXRcXG4gICAgICAvLyBwb3N0IG1vdW50IHRvIGZvcmNlIGl0IHRvIGRpdmVyZ2UgZnJvbSBhdHRyaWJ1dGVzLiBIb3dldmVyLCBmb3JcXG4gICAgICAvLyBvcHRpb24gYW5kIHNlbGVjdCB3ZSBkb24ndCBxdWl0ZSBkbyB0aGUgc2FtZSB0aGluZyBhbmQgc2VsZWN0XFxuICAgICAgLy8gaXMgbm90IHJlc2lsaWVudCB0byB0aGUgRE9NIHN0YXRlIGNoYW5naW5nIHNvIHdlIGRvbid0IGRvIHRoYXQgaGVyZS5cXG4gICAgICAvLyBUT0RPOiBDb25zaWRlciBub3QgZG9pbmcgdGhpcyBmb3IgaW5wdXQgYW5kIHRleHRhcmVhLlxcbiAgICAgIGJyZWFrO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIGlmICh0eXBlb2YgcmF3UHJvcHMub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cXG4gICAgICAgIHRyYXBDbGlja09uTm9uSW50ZXJhY3RpdmVFbGVtZW50KGRvbUVsZW1lbnQpO1xcbiAgICAgIH1cXG5cXG4gICAgICBicmVhaztcXG4gIH1cXG5cXG4gIHJldHVybiB1cGRhdGVQYXlsb2FkO1xcbn1cXG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRUZXh0KHRleHROb2RlLCB0ZXh0KSB7XFxuICB2YXIgaXNEaWZmZXJlbnQgPSB0ZXh0Tm9kZS5ub2RlVmFsdWUgIT09IHRleHQ7XFxuICByZXR1cm4gaXNEaWZmZXJlbnQ7XFxufVxcbmZ1bmN0aW9uIHdhcm5Gb3JVbm1hdGNoZWRUZXh0KHRleHROb2RlLCB0ZXh0KSB7XFxuICB7XFxuICAgIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZSh0ZXh0Tm9kZS5ub2RlVmFsdWUsIHRleHQpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVFbGVtZW50KHBhcmVudE5vZGUsIGNoaWxkKSB7XFxuICB7XFxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdEaWQgbm90IGV4cGVjdCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgPCVzPiBpbiA8JXM+LicsIGNoaWxkLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZVRleHQocGFyZW50Tm9kZSwgY2hpbGQpIHtcXG4gIHtcXG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcXG5cXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcXFwiJXNcXFwiIGluIDwlcz4uJywgY2hpbGQubm9kZVZhbHVlLCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Tm9kZSwgdGFnLCBwcm9wcykge1xcbiAge1xcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xcblxcbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XFxuICB7XFxuICAgIGlmICh0ZXh0ID09PSAnJykge1xcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxcbiAgICAgIC8vIHRoZSBIVE1MLlxcbiAgICAgIC8vIFRPRE86IFJlbW92ZSB0aGlzIHNwZWNpYWwgY2FzZSBpZiB3ZSBjYW4ganVzdCBhdm9pZCBpbnNlcnRpbmcgZW1wdHlcXG4gICAgICAvLyB0ZXh0IG5vZGVzLlxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xcblxcbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIHRleHQgbm9kZSBmb3IgXFxcIiVzXFxcIiBpbiA8JXM+LicsIHRleHQsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMyhkb21FbGVtZW50LCB0YWcsIHByb3BzKSB7XFxuICBzd2l0Y2ggKHRhZykge1xcbiAgICBjYXNlICdpbnB1dCc6XFxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZShkb21FbGVtZW50LCBwcm9wcyk7XFxuICAgICAgcmV0dXJuO1xcblxcbiAgICBjYXNlICd0ZXh0YXJlYSc6XFxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcXG4gICAgICByZXR1cm47XFxuXFxuICAgIGNhc2UgJ3NlbGVjdCc6XFxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQxKGRvbUVsZW1lbnQsIHByb3BzKTtcXG4gICAgICByZXR1cm47XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldEFjdGl2ZUVsZW1lbnQoZG9jKSB7XFxuICBkb2MgPSBkb2MgfHwgKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgPyBkb2N1bWVudCA6IHVuZGVmaW5lZCk7XFxuXFxuICBpZiAodHlwZW9mIGRvYyA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gZG9jLmFjdGl2ZUVsZW1lbnQgfHwgZG9jLmJvZHk7XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIHJldHVybiBkb2MuYm9keTtcXG4gIH1cXG59XFxuXFxuLyoqXFxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xcbiAgd2hpbGUgKG5vZGUgJiYgbm9kZS5maXJzdENoaWxkKSB7XFxuICAgIG5vZGUgPSBub2RlLmZpcnN0Q2hpbGQ7XFxuICB9XFxuXFxuICByZXR1cm4gbm9kZTtcXG59XFxuLyoqXFxuICogR2V0IHRoZSBuZXh0IHNpYmxpbmcgd2l0aGluIGEgY29udGFpbmVyLiBUaGlzIHdpbGwgd2FsayB1cCB0aGVcXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGdldFNpYmxpbmdOb2RlKG5vZGUpIHtcXG4gIHdoaWxlIChub2RlKSB7XFxuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XFxuICAgICAgcmV0dXJuIG5vZGUubmV4dFNpYmxpbmc7XFxuICAgIH1cXG5cXG4gICAgbm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcXG4gIH1cXG59XFxuLyoqXFxuICogR2V0IG9iamVjdCBkZXNjcmliaW5nIHRoZSBub2RlcyB3aGljaCBjb250YWluIGNoYXJhY3RlcnMgYXQgb2Zmc2V0LlxcbiAqXFxuICogQHBhcmFtIHtET01FbGVtZW50fERPTVRleHROb2RlfSByb290XFxuICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldFxcbiAqIEByZXR1cm4gez9vYmplY3R9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChyb290LCBvZmZzZXQpIHtcXG4gIHZhciBub2RlID0gZ2V0TGVhZk5vZGUocm9vdCk7XFxuICB2YXIgbm9kZVN0YXJ0ID0gMDtcXG4gIHZhciBub2RlRW5kID0gMDtcXG5cXG4gIHdoaWxlIChub2RlKSB7XFxuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcXG4gICAgICBub2RlRW5kID0gbm9kZVN0YXJ0ICsgbm9kZS50ZXh0Q29udGVudC5sZW5ndGg7XFxuXFxuICAgICAgaWYgKG5vZGVTdGFydCA8PSBvZmZzZXQgJiYgbm9kZUVuZCA+PSBvZmZzZXQpIHtcXG4gICAgICAgIHJldHVybiB7XFxuICAgICAgICAgIG5vZGU6IG5vZGUsXFxuICAgICAgICAgIG9mZnNldDogb2Zmc2V0IC0gbm9kZVN0YXJ0XFxuICAgICAgICB9O1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlU3RhcnQgPSBub2RlRW5kO1xcbiAgICB9XFxuXFxuICAgIG5vZGUgPSBnZXRMZWFmTm9kZShnZXRTaWJsaW5nTm9kZShub2RlKSk7XFxuICB9XFxufVxcblxcbi8qKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gb3V0ZXJOb2RlXFxuICogQHJldHVybiB7P29iamVjdH1cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRPZmZzZXRzKG91dGVyTm9kZSkge1xcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcXG4gIHZhciB3aW4gPSBvd25lckRvY3VtZW50ICYmIG93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xcbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24gJiYgd2luLmdldFNlbGVjdGlvbigpO1xcblxcbiAgaWYgKCFzZWxlY3Rpb24gfHwgc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDApIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICB2YXIgYW5jaG9yTm9kZSA9IHNlbGVjdGlvbi5hbmNob3JOb2RlLFxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXFxuICAgICAgZm9jdXNOb2RlID0gc2VsZWN0aW9uLmZvY3VzTm9kZSxcXG4gICAgICBmb2N1c09mZnNldCA9IHNlbGVjdGlvbi5mb2N1c09mZnNldDsgLy8gSW4gRmlyZWZveCwgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGNhbiBiZSBcXFwiYW5vbnltb3VzIGRpdnNcXFwiLCBlLmcuIHRoZVxcbiAgLy8gdXAvZG93biBidXR0b25zIG9uIGFuIDxpbnB1dCB0eXBlPVxcXCJudW1iZXJcXFwiPi4gQW5vbnltb3VzIGRpdnMgZG8gbm90IHNlZW0gdG9cXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXFxcIlBlcm1pc3Npb24gZGVuaWVkIGVycm9yXFxcIiBpZiBhbnkgb2YgaXRzXFxuICAvLyBwcm9wZXJ0aWVzIGFyZSBhY2Nlc3NlZC4gVGhlIG9ubHkgc2VlbWluZ2x5IHBvc3NpYmxlIHdheSB0byBhdm9pZCBlcnJvcmluZ1xcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcXG4gIC8vIGNhdGNoIGFueSBlcnJvciB0aGF0IG1heSBvdGhlcndpc2UgYXJpc2UuIFNlZVxcbiAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NDI3XFxuXFxuICB0cnkge1xcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcXG4gICAgZm9jdXNOb2RlLm5vZGVUeXBlO1xcbiAgICAvKiBlc2xpbnQtZW5hYmxlIG5vLXVudXNlZC1leHByZXNzaW9ucyAqL1xcbiAgfSBjYXRjaCAoZSkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHJldHVybiBnZXRNb2Rlcm5PZmZzZXRzRnJvbVBvaW50cyhvdXRlck5vZGUsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCk7XFxufVxcbi8qKlxcbiAqIFJldHVybnMge3N0YXJ0LCBlbmR9IHdoZXJlIGBzdGFydGAgaXMgdGhlIGNoYXJhY3Rlci9jb2RlcG9pbnQgaW5kZXggb2ZcXG4gKiAoYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0KSB3aXRoaW4gdGhlIHRleHRDb250ZW50IG9mIGBvdXRlck5vZGVgLCBhbmRcXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxcbiAqXFxuICogUmV0dXJucyBudWxsIGlmIHlvdSBwYXNzIGluIGdhcmJhZ2UgaW5wdXQgYnV0IHdlIHNob3VsZCBwcm9iYWJseSBqdXN0IGNyYXNoLlxcbiAqXFxuICogRXhwb3J0ZWQgb25seSBmb3IgdGVzdGluZy5cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRNb2Rlcm5PZmZzZXRzRnJvbVBvaW50cyhvdXRlck5vZGUsIGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCwgZm9jdXNOb2RlLCBmb2N1c09mZnNldCkge1xcbiAgdmFyIGxlbmd0aCA9IDA7XFxuICB2YXIgc3RhcnQgPSAtMTtcXG4gIHZhciBlbmQgPSAtMTtcXG4gIHZhciBpbmRleFdpdGhpbkFuY2hvciA9IDA7XFxuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XFxuICB2YXIgbm9kZSA9IG91dGVyTm9kZTtcXG4gIHZhciBwYXJlbnROb2RlID0gbnVsbDtcXG5cXG4gIG91dGVyOiB3aGlsZSAodHJ1ZSkge1xcbiAgICB2YXIgbmV4dCA9IG51bGw7XFxuXFxuICAgIHdoaWxlICh0cnVlKSB7XFxuICAgICAgaWYgKG5vZGUgPT09IGFuY2hvck5vZGUgJiYgKGFuY2hvck9mZnNldCA9PT0gMCB8fCBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpKSB7XFxuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xcbiAgICAgICAgZW5kID0gbGVuZ3RoICsgZm9jdXNPZmZzZXQ7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBURVhUX05PREUpIHtcXG4gICAgICAgIGxlbmd0aCArPSBub2RlLm5vZGVWYWx1ZS5sZW5ndGg7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICgobmV4dCA9IG5vZGUuZmlyc3RDaGlsZCkgPT09IG51bGwpIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH0gLy8gTW92aW5nIGZyb20gYG5vZGVgIHRvIGl0cyBmaXJzdCBjaGlsZCBgbmV4dGAuXFxuXFxuXFxuICAgICAgcGFyZW50Tm9kZSA9IG5vZGU7XFxuICAgICAgbm9kZSA9IG5leHQ7XFxuICAgIH1cXG5cXG4gICAgd2hpbGUgKHRydWUpIHtcXG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XFxuICAgICAgICAvLyBJZiBgb3V0ZXJOb2RlYCBoYXMgY2hpbGRyZW4sIHRoaXMgaXMgYWx3YXlzIHRoZSBzZWNvbmQgdGltZSB2aXNpdGluZ1xcbiAgICAgICAgLy8gaXQuIElmIGl0IGhhcyBubyBjaGlsZHJlbiwgdGhpcyBpcyBzdGlsbCB0aGUgZmlyc3QgbG9vcCwgYW5kIHRoZSBvbmx5XFxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXFxuICAgICAgICAvLyBhbmQgYm90aCBvZmZzZXRzIDAsIGluIHdoaWNoIGNhc2Ugd2Ugd2lsbCBoYXZlIGhhbmRsZWQgYWJvdmUuXFxuICAgICAgICBicmVhayBvdXRlcjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGFuY2hvck5vZGUgJiYgKytpbmRleFdpdGhpbkFuY2hvciA9PT0gYW5jaG9yT2Zmc2V0KSB7XFxuICAgICAgICBzdGFydCA9IGxlbmd0aDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XFxuICAgICAgICBlbmQgPSBsZW5ndGg7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICgobmV4dCA9IG5vZGUubmV4dFNpYmxpbmcpICE9PSBudWxsKSB7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IHBhcmVudE5vZGU7XFxuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcXG4gICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIG5leHQgc2libGluZyBgbmV4dGAuXFxuXFxuXFxuICAgIG5vZGUgPSBuZXh0O1xcbiAgfVxcblxcbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKSB7XFxuICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbi4gKFdvdWxkIGhhcHBlbiBpZiB0aGUgYW5jaG9yL2ZvY3VzIG5vZGVzIGFyZW4ndFxcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICBzdGFydDogc3RhcnQsXFxuICAgIGVuZDogZW5kXFxuICB9O1xcbn1cXG4vKipcXG4gKiBJbiBtb2Rlcm4gbm9uLUlFIGJyb3dzZXJzLCB3ZSBjYW4gc3VwcG9ydCBib3RoIGZvcndhcmQgYW5kIGJhY2t3YXJkXFxuICogc2VsZWN0aW9ucy5cXG4gKlxcbiAqIE5vdGU6IElFMTArIHN1cHBvcnRzIHRoZSBTZWxlY3Rpb24gb2JqZWN0LCBidXQgaXQgZG9lcyBub3Qgc3VwcG9ydFxcbiAqIHRoZSBgZXh0ZW5kYCBtZXRob2QsIHdoaWNoIG1lYW5zIHRoYXQgZXZlbiBpbiBtb2Rlcm4gSUUsIGl0J3Mgbm90IHBvc3NpYmxlXFxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcXG4gKiB2ZXJzaW9ucywgd2UgdXNlIHRoZSBvbGQgSUUgQVBJIHRvIGNyZWF0ZSBvdXIgc2VsZWN0aW9ucy5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxcbiAqIEBwYXJhbSB7b2JqZWN0fSBvZmZzZXRzXFxuICovXFxuXFxuZnVuY3Rpb24gc2V0T2Zmc2V0cyhub2RlLCBvZmZzZXRzKSB7XFxuICB2YXIgZG9jID0gbm9kZS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50O1xcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXFxcIk9iamVjdCBleHBlY3RlZFxcXCIgaW4gc29tZSBzY2VuYXJpb3MuXFxuICAvLyAoRm9yIGluc3RhbmNlOiBUaW55TUNFIGVkaXRvciB1c2VkIGluIGEgbGlzdCBjb21wb25lbnQgdGhhdCBzdXBwb3J0cyBwYXN0aW5nIHRvIGFkZCBtb3JlLFxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXFxuXFxuICBpZiAoIXdpbi5nZXRTZWxlY3Rpb24pIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcXG4gIHZhciBsZW5ndGggPSBub2RlLnRleHRDb250ZW50Lmxlbmd0aDtcXG4gIHZhciBzdGFydCA9IE1hdGgubWluKG9mZnNldHMuc3RhcnQsIGxlbmd0aCk7XFxuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cXG4gIC8vIEZsaXAgYmFja3dhcmQgc2VsZWN0aW9ucywgc28gd2UgY2FuIHNldCB3aXRoIGEgc2luZ2xlIHJhbmdlLlxcblxcbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XFxuICAgIHZhciB0ZW1wID0gZW5kO1xcbiAgICBlbmQgPSBzdGFydDtcXG4gICAgc3RhcnQgPSB0ZW1wO1xcbiAgfVxcblxcbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XFxuICB2YXIgZW5kTWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBlbmQpO1xcblxcbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xcbiAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgPT09IDEgJiYgc2VsZWN0aW9uLmFuY2hvck5vZGUgPT09IHN0YXJ0TWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmFuY2hvck9mZnNldCA9PT0gc3RhcnRNYXJrZXIub2Zmc2V0ICYmIHNlbGVjdGlvbi5mb2N1c05vZGUgPT09IGVuZE1hcmtlci5ub2RlICYmIHNlbGVjdGlvbi5mb2N1c09mZnNldCA9PT0gZW5kTWFya2VyLm9mZnNldCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgcmFuZ2UgPSBkb2MuY3JlYXRlUmFuZ2UoKTtcXG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcXG4gICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xcblxcbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcXG4gICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpO1xcbiAgICAgIHNlbGVjdGlvbi5leHRlbmQoZW5kTWFya2VyLm5vZGUsIGVuZE1hcmtlci5vZmZzZXQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJhbmdlLnNldEVuZChlbmRNYXJrZXIubm9kZSwgZW5kTWFya2VyLm9mZnNldCk7XFxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpc1RleHROb2RlKG5vZGUpIHtcXG4gIHJldHVybiBub2RlICYmIG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERTtcXG59XFxuXFxuZnVuY3Rpb24gY29udGFpbnNOb2RlKG91dGVyTm9kZSwgaW5uZXJOb2RlKSB7XFxuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlID09PSBpbm5lck5vZGUpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUob3V0ZXJOb2RlKSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xcbiAgICByZXR1cm4gY29udGFpbnNOb2RlKG91dGVyTm9kZSwgaW5uZXJOb2RlLnBhcmVudE5vZGUpO1xcbiAgfSBlbHNlIGlmICgnY29udGFpbnMnIGluIG91dGVyTm9kZSkge1xcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XFxuICB9IGVsc2UgaWYgKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikge1xcbiAgICByZXR1cm4gISEob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGlubmVyTm9kZSkgJiAxNik7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzSW5Eb2N1bWVudChub2RlKSB7XFxuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xcbn1cXG5cXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcXG4gIHRyeSB7XFxuICAgIC8vIEFjY2Vzc2luZyB0aGUgY29udGVudERvY3VtZW50IG9mIGEgSFRNTElmcmFtZUVsZW1lbnQgY2FuIGNhdXNlIHRoZSBicm93c2VyXFxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxcbiAgICAvLyBTYWZhcmkgd2lsbCBzaG93IGFuIGVycm9yIGluIHRoZSBjb25zb2xlIHdoZW4gdGhlIGFjY2VzcyByZXN1bHRzIGluIFxcXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cXFwiLiBlLmc6XFxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XFxuICAgIC8vIEEgc2FmZXR5IHdheSBpcyB0byBhY2Nlc3Mgb25lIG9mIHRoZSBjcm9zcyBvcmlnaW4gcHJvcGVydGllczogV2luZG93IG9yIExvY2F0aW9uXFxuICAgIC8vIFdoaWNoIG1pZ2h0IHJlc3VsdCBpbiBcXFwiU2VjdXJpdHlFcnJvclxcXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXFxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Jyb3dzZXJzLmh0bWwjaW50ZWdyYXRpb24td2l0aC1pZGxcXG4gICAgcmV0dXJuIHR5cGVvZiBpZnJhbWUuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmID09PSAnc3RyaW5nJztcXG4gIH0gY2F0Y2ggKGVycikge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldEFjdGl2ZUVsZW1lbnREZWVwKCkge1xcbiAgdmFyIHdpbiA9IHdpbmRvdztcXG4gIHZhciBlbGVtZW50ID0gZ2V0QWN0aXZlRWxlbWVudCgpO1xcblxcbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcXG4gICAgaWYgKGlzU2FtZU9yaWdpbkZyYW1lKGVsZW1lbnQpKSB7XFxuICAgICAgd2luID0gZWxlbWVudC5jb250ZW50V2luZG93O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJldHVybiBlbGVtZW50O1xcbiAgICB9XFxuXFxuICAgIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KHdpbi5kb2N1bWVudCk7XFxuICB9XFxuXFxuICByZXR1cm4gZWxlbWVudDtcXG59XFxuLyoqXFxuICogQFJlYWN0SW5wdXRTZWxlY3Rpb246IFJlYWN0IGlucHV0IHNlbGVjdGlvbiBtb2R1bGUuIEJhc2VkIG9uIFNlbGVjdGlvbi5qcyxcXG4gKiBidXQgbW9kaWZpZWQgdG8gYmUgc3VpdGFibGUgZm9yIHJlYWN0IGFuZCBoYXMgYSBjb3VwbGUgb2YgYnVnIGZpeGVzIChkb2Vzbid0XFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxcbiAqIElucHV0IHNlbGVjdGlvbiBtb2R1bGUgZm9yIFJlYWN0LlxcbiAqL1xcblxcbi8qKlxcbiAqIEBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXM6IHdlIGdldCB0aGUgZWxlbWVudCB0eXBlcyB0aGF0IHN1cHBvcnQgc2VsZWN0aW9uXFxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxcbiAqIGFuZCBgc2VsZWN0aW9uRW5kYCByb3dzLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhlbGVtKSB7XFxuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgcmV0dXJuIG5vZGVOYW1lICYmIChub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiAoZWxlbS50eXBlID09PSAndGV4dCcgfHwgZWxlbS50eXBlID09PSAnc2VhcmNoJyB8fCBlbGVtLnR5cGUgPT09ICd0ZWwnIHx8IGVsZW0udHlwZSA9PT0gJ3VybCcgfHwgZWxlbS50eXBlID09PSAncGFzc3dvcmQnKSB8fCBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJyB8fCBlbGVtLmNvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnKTtcXG59XFxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XFxuICB2YXIgZm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xcbiAgcmV0dXJuIHtcXG4gICAgLy8gVXNlZCBieSBGbGFyZVxcbiAgICBhY3RpdmVFbGVtZW50RGV0YWNoZWQ6IG51bGwsXFxuICAgIGZvY3VzZWRFbGVtOiBmb2N1c2VkRWxlbSxcXG4gICAgc2VsZWN0aW9uUmFuZ2U6IGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhmb2N1c2VkRWxlbSkgPyBnZXRTZWxlY3Rpb24oZm9jdXNlZEVsZW0pIDogbnVsbFxcbiAgfTtcXG59XFxuLyoqXFxuICogQHJlc3RvcmVTZWxlY3Rpb246IElmIGFueSBzZWxlY3Rpb24gaW5mb3JtYXRpb24gd2FzIHBvdGVudGlhbGx5IGxvc3QsXFxuICogcmVzdG9yZSBpdC4gVGhpcyBpcyB1c2VmdWwgd2hlbiBwZXJmb3JtaW5nIG9wZXJhdGlvbnMgdGhhdCBjb3VsZCByZW1vdmUgZG9tXFxuICogbm9kZXMgYW5kIHBsYWNlIHRoZW0gYmFjayBpbiwgcmVzdWx0aW5nIGluIGZvY3VzIGJlaW5nIGxvc3QuXFxuICovXFxuXFxuZnVuY3Rpb24gcmVzdG9yZVNlbGVjdGlvbihwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uKSB7XFxuICB2YXIgY3VyRm9jdXNlZEVsZW0gPSBnZXRBY3RpdmVFbGVtZW50RGVlcCgpO1xcbiAgdmFyIHByaW9yRm9jdXNlZEVsZW0gPSBwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uLmZvY3VzZWRFbGVtO1xcbiAgdmFyIHByaW9yU2VsZWN0aW9uUmFuZ2UgPSBwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uLnNlbGVjdGlvblJhbmdlO1xcblxcbiAgaWYgKGN1ckZvY3VzZWRFbGVtICE9PSBwcmlvckZvY3VzZWRFbGVtICYmIGlzSW5Eb2N1bWVudChwcmlvckZvY3VzZWRFbGVtKSkge1xcbiAgICBpZiAocHJpb3JTZWxlY3Rpb25SYW5nZSAhPT0gbnVsbCAmJiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMocHJpb3JGb2N1c2VkRWxlbSkpIHtcXG4gICAgICBzZXRTZWxlY3Rpb24ocHJpb3JGb2N1c2VkRWxlbSwgcHJpb3JTZWxlY3Rpb25SYW5nZSk7XFxuICAgIH0gLy8gRm9jdXNpbmcgYSBub2RlIGNhbiBjaGFuZ2UgdGhlIHNjcm9sbCBwb3NpdGlvbiwgd2hpY2ggaXMgdW5kZXNpcmFibGVcXG5cXG5cXG4gICAgdmFyIGFuY2VzdG9ycyA9IFtdO1xcbiAgICB2YXIgYW5jZXN0b3IgPSBwcmlvckZvY3VzZWRFbGVtO1xcblxcbiAgICB3aGlsZSAoYW5jZXN0b3IgPSBhbmNlc3Rvci5wYXJlbnROb2RlKSB7XFxuICAgICAgaWYgKGFuY2VzdG9yLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcXG4gICAgICAgIGFuY2VzdG9ycy5wdXNoKHtcXG4gICAgICAgICAgZWxlbWVudDogYW5jZXN0b3IsXFxuICAgICAgICAgIGxlZnQ6IGFuY2VzdG9yLnNjcm9sbExlZnQsXFxuICAgICAgICAgIHRvcDogYW5jZXN0b3Iuc2Nyb2xsVG9wXFxuICAgICAgICB9KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBwcmlvckZvY3VzZWRFbGVtLmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcHJpb3JGb2N1c2VkRWxlbS5mb2N1cygpO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGluZm8gPSBhbmNlc3RvcnNbaV07XFxuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbExlZnQgPSBpbmZvLmxlZnQ7XFxuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbFRvcCA9IGluZm8udG9wO1xcbiAgICB9XFxuICB9XFxufVxcbi8qKlxcbiAqIEBnZXRTZWxlY3Rpb246IEdldHMgdGhlIHNlbGVjdGlvbiBib3VuZHMgb2YgYSBmb2N1c2VkIHRleHRhcmVhLCBpbnB1dCBvclxcbiAqIGNvbnRlbnRFZGl0YWJsZSBub2RlLlxcbiAqIC1AaW5wdXQ6IExvb2sgdXAgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0XFxuICogLUByZXR1cm4ge3N0YXJ0OiBzZWxlY3Rpb25TdGFydCwgZW5kOiBzZWxlY3Rpb25FbmR9XFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uKGlucHV0KSB7XFxuICB2YXIgc2VsZWN0aW9uO1xcblxcbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gaW5wdXQpIHtcXG4gICAgLy8gTW9kZXJuIGJyb3dzZXIgd2l0aCBpbnB1dCBvciB0ZXh0YXJlYS5cXG4gICAgc2VsZWN0aW9uID0ge1xcbiAgICAgIHN0YXJ0OiBpbnB1dC5zZWxlY3Rpb25TdGFydCxcXG4gICAgICBlbmQ6IGlucHV0LnNlbGVjdGlvbkVuZFxcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQ29udGVudCBlZGl0YWJsZSBvciBvbGQgSUUgdGV4dGFyZWEuXFxuICAgIHNlbGVjdGlvbiA9IGdldE9mZnNldHMoaW5wdXQpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHNlbGVjdGlvbiB8fCB7XFxuICAgIHN0YXJ0OiAwLFxcbiAgICBlbmQ6IDBcXG4gIH07XFxufVxcbi8qKlxcbiAqIEBzZXRTZWxlY3Rpb246IFNldHMgdGhlIHNlbGVjdGlvbiBib3VuZHMgb2YgYSB0ZXh0YXJlYSBvciBpbnB1dCBhbmQgZm9jdXNlc1xcbiAqIHRoZSBpbnB1dC5cXG4gKiAtQGlucHV0ICAgICBTZXQgc2VsZWN0aW9uIGJvdW5kcyBvZiB0aGlzIGlucHV0IG9yIHRleHRhcmVhXFxuICogLUBvZmZzZXRzICAgT2JqZWN0IG9mIHNhbWUgZm9ybSB0aGF0IGlzIHJldHVybmVkIGZyb20gZ2V0KlxcbiAqL1xcblxcbmZ1bmN0aW9uIHNldFNlbGVjdGlvbihpbnB1dCwgb2Zmc2V0cykge1xcbiAgdmFyIHN0YXJ0ID0gb2Zmc2V0cy5zdGFydCxcXG4gICAgICBlbmQgPSBvZmZzZXRzLmVuZDtcXG5cXG4gIGlmIChlbmQgPT09IHVuZGVmaW5lZCkge1xcbiAgICBlbmQgPSBzdGFydDtcXG4gIH1cXG5cXG4gIGlmICgnc2VsZWN0aW9uU3RhcnQnIGluIGlucHV0KSB7XFxuICAgIGlucHV0LnNlbGVjdGlvblN0YXJ0ID0gc3RhcnQ7XFxuICAgIGlucHV0LnNlbGVjdGlvbkVuZCA9IE1hdGgubWluKGVuZCwgaW5wdXQudmFsdWUubGVuZ3RoKTtcXG4gIH0gZWxzZSB7XFxuICAgIHNldE9mZnNldHMoaW5wdXQsIG9mZnNldHMpO1xcbiAgfVxcbn1cXG5cXG52YXIgdmFsaWRhdGVET01OZXN0aW5nID0gZnVuY3Rpb24gKCkge307XFxuXFxudmFyIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAoKSB7fTtcXG5cXG57XFxuICAvLyBUaGlzIHZhbGlkYXRpb24gY29kZSB3YXMgd3JpdHRlbiBiYXNlZCBvbiB0aGUgSFRNTDUgcGFyc2luZyBzcGVjOlxcbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcXG4gIC8vXFxuICAvLyBOb3RlOiB0aGlzIGRvZXMgbm90IGNhdGNoIGFsbCBpbnZhbGlkIG5lc3RpbmcsIG5vciBkb2VzIGl0IHRyeSB0byAoYXMgaXQnc1xcbiAgLy8gbm90IGNsZWFyIHdoYXQgcHJhY3RpY2FsIGJlbmVmaXQgZG9pbmcgc28gcHJvdmlkZXMpOyBpbnN0ZWFkLCB3ZSB3YXJuIG9ubHlcXG4gIC8vIGZvciBjYXNlcyB3aGVyZSB0aGUgcGFyc2VyIHdpbGwgZ2l2ZSBhIHBhcnNlIHRyZWUgZGlmZmVyaW5nIGZyb20gd2hhdCBSZWFjdFxcbiAgLy8gaW50ZW5kZWQuIEZvciBleGFtcGxlLCA8Yj48ZGl2PjwvZGl2PjwvYj4gaXMgaW52YWxpZCBidXQgd2UgZG9uJ3Qgd2FyblxcbiAgLy8gYmVjYXVzZSBpdCBzdGlsbCBwYXJzZXMgY29ycmVjdGx5OyB3ZSBkbyB3YXJuIGZvciBvdGhlciBjYXNlcyBsaWtlIG5lc3RlZFxcbiAgLy8gPHA+IHRhZ3Mgd2hlcmUgdGhlIGJlZ2lubmluZyBvZiB0aGUgc2Vjb25kIGVsZW1lbnQgaW1wbGljaXRseSBjbG9zZXMgdGhlXFxuICAvLyBmaXJzdCwgY2F1c2luZyBhIGNvbmZ1c2luZyBtZXNzLlxcbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjc3BlY2lhbFxcbiAgdmFyIHNwZWNpYWxUYWdzID0gWydhZGRyZXNzJywgJ2FwcGxldCcsICdhcmVhJywgJ2FydGljbGUnLCAnYXNpZGUnLCAnYmFzZScsICdiYXNlZm9udCcsICdiZ3NvdW5kJywgJ2Jsb2NrcXVvdGUnLCAnYm9keScsICdicicsICdidXR0b24nLCAnY2FwdGlvbicsICdjZW50ZXInLCAnY29sJywgJ2NvbGdyb3VwJywgJ2RkJywgJ2RldGFpbHMnLCAnZGlyJywgJ2RpdicsICdkbCcsICdkdCcsICdlbWJlZCcsICdmaWVsZHNldCcsICdmaWdjYXB0aW9uJywgJ2ZpZ3VyZScsICdmb290ZXInLCAnZm9ybScsICdmcmFtZScsICdmcmFtZXNldCcsICdoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNicsICdoZWFkJywgJ2hlYWRlcicsICdoZ3JvdXAnLCAnaHInLCAnaHRtbCcsICdpZnJhbWUnLCAnaW1nJywgJ2lucHV0JywgJ2lzaW5kZXgnLCAnbGknLCAnbGluaycsICdsaXN0aW5nJywgJ21haW4nLCAnbWFycXVlZScsICdtZW51JywgJ21lbnVpdGVtJywgJ21ldGEnLCAnbmF2JywgJ25vZW1iZWQnLCAnbm9mcmFtZXMnLCAnbm9zY3JpcHQnLCAnb2JqZWN0JywgJ29sJywgJ3AnLCAncGFyYW0nLCAncGxhaW50ZXh0JywgJ3ByZScsICdzY3JpcHQnLCAnc2VjdGlvbicsICdzZWxlY3QnLCAnc291cmNlJywgJ3N0eWxlJywgJ3N1bW1hcnknLCAndGFibGUnLCAndGJvZHknLCAndGQnLCAndGVtcGxhdGUnLCAndGV4dGFyZWEnLCAndGZvb3QnLCAndGgnLCAndGhlYWQnLCAndGl0bGUnLCAndHInLCAndHJhY2snLCAndWwnLCAnd2JyJywgJ3htcCddOyAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNoYXMtYW4tZWxlbWVudC1pbi1zY29wZVxcblxcbiAgdmFyIGluU2NvcGVUYWdzID0gWydhcHBsZXQnLCAnY2FwdGlvbicsICdodG1sJywgJ3RhYmxlJywgJ3RkJywgJ3RoJywgJ21hcnF1ZWUnLCAnb2JqZWN0JywgJ3RlbXBsYXRlJywgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaHRtbC1pbnRlZ3JhdGlvbi1wb2ludFxcbiAgLy8gVE9ETzogRGlzdGluZ3Vpc2ggYnkgbmFtZXNwYWNlIGhlcmUgLS0gZm9yIDx0aXRsZT4sIGluY2x1ZGluZyBpdCBoZXJlXFxuICAvLyBlcnJzIG9uIHRoZSBzaWRlIG9mIGZld2VyIHdhcm5pbmdzXFxuICAnZm9yZWlnbk9iamVjdCcsICdkZXNjJywgJ3RpdGxlJ107IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2hhcy1hbi1lbGVtZW50LWluLWJ1dHRvbi1zY29wZVxcblxcbiAgdmFyIGJ1dHRvblNjb3BlVGFncyA9IGluU2NvcGVUYWdzLmNvbmNhdChbJ2J1dHRvbiddKTsgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZ2VuZXJhdGUtaW1wbGllZC1lbmQtdGFnc1xcblxcbiAgdmFyIGltcGxpZWRFbmRUYWdzID0gWydkZCcsICdkdCcsICdsaScsICdvcHRpb24nLCAnb3B0Z3JvdXAnLCAncCcsICdycCcsICdydCddO1xcbiAgdmFyIGVtcHR5QW5jZXN0b3JJbmZvID0ge1xcbiAgICBjdXJyZW50OiBudWxsLFxcbiAgICBmb3JtVGFnOiBudWxsLFxcbiAgICBhVGFnSW5TY29wZTogbnVsbCxcXG4gICAgYnV0dG9uVGFnSW5TY29wZTogbnVsbCxcXG4gICAgbm9iclRhZ0luU2NvcGU6IG51bGwsXFxuICAgIHBUYWdJbkJ1dHRvblNjb3BlOiBudWxsLFxcbiAgICBsaXN0SXRlbVRhZ0F1dG9jbG9zaW5nOiBudWxsLFxcbiAgICBkbEl0ZW1UYWdBdXRvY2xvc2luZzogbnVsbFxcbiAgfTtcXG5cXG4gIHVwZGF0ZWRBbmNlc3RvckluZm8gPSBmdW5jdGlvbiAob2xkSW5mbywgdGFnKSB7XFxuICAgIHZhciBhbmNlc3RvckluZm8gPSBfYXNzaWduKHt9LCBvbGRJbmZvIHx8IGVtcHR5QW5jZXN0b3JJbmZvKTtcXG5cXG4gICAgdmFyIGluZm8gPSB7XFxuICAgICAgdGFnOiB0YWdcXG4gICAgfTtcXG5cXG4gICAgaWYgKGluU2NvcGVUYWdzLmluZGV4T2YodGFnKSAhPT0gLTEpIHtcXG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBudWxsO1xcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gbnVsbDtcXG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBudWxsO1xcbiAgICB9XFxuXFxuICAgIGlmIChidXR0b25TY29wZVRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSkge1xcbiAgICAgIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZSA9IG51bGw7XFxuICAgIH0gLy8gU2VlIHJ1bGVzIGZvciAnbGknLCAnZGQnLCAnZHQnIHN0YXJ0IHRhZ3MgaW5cXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluYm9keVxcblxcblxcbiAgICBpZiAoc3BlY2lhbFRhZ3MuaW5kZXhPZih0YWcpICE9PSAtMSAmJiB0YWcgIT09ICdhZGRyZXNzJyAmJiB0YWcgIT09ICdkaXYnICYmIHRhZyAhPT0gJ3AnKSB7XFxuICAgICAgYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3NpbmcgPSBudWxsO1xcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IG51bGw7XFxuICAgIH1cXG5cXG4gICAgYW5jZXN0b3JJbmZvLmN1cnJlbnQgPSBpbmZvO1xcblxcbiAgICBpZiAodGFnID09PSAnZm9ybScpIHtcXG4gICAgICBhbmNlc3RvckluZm8uZm9ybVRhZyA9IGluZm87XFxuICAgIH1cXG5cXG4gICAgaWYgKHRhZyA9PT0gJ2EnKSB7XFxuICAgICAgYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlID0gaW5mbztcXG4gICAgfVxcblxcbiAgICBpZiAodGFnID09PSAnYnV0dG9uJykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gaW5mbztcXG4gICAgfVxcblxcbiAgICBpZiAodGFnID09PSAnbm9icicpIHtcXG4gICAgICBhbmNlc3RvckluZm8ubm9iclRhZ0luU2NvcGUgPSBpbmZvO1xcbiAgICB9XFxuXFxuICAgIGlmICh0YWcgPT09ICdwJykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZSA9IGluZm87XFxuICAgIH1cXG5cXG4gICAgaWYgKHRhZyA9PT0gJ2xpJykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gaW5mbztcXG4gICAgfVxcblxcbiAgICBpZiAodGFnID09PSAnZGQnIHx8IHRhZyA9PT0gJ2R0Jykge1xcbiAgICAgIGFuY2VzdG9ySW5mby5kbEl0ZW1UYWdBdXRvY2xvc2luZyA9IGluZm87XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGFuY2VzdG9ySW5mbztcXG4gIH07XFxuICAvKipcXG4gICAqIFJldHVybnMgd2hldGhlclxcbiAgICovXFxuXFxuXFxuICB2YXIgaXNUYWdWYWxpZFdpdGhQYXJlbnQgPSBmdW5jdGlvbiAodGFnLCBwYXJlbnRUYWcpIHtcXG4gICAgLy8gRmlyc3QsIGxldCdzIGNoZWNrIGlmIHdlJ3JlIGluIGFuIHVudXN1YWwgcGFyc2luZyBtb2RlLi4uXFxuICAgIHN3aXRjaCAocGFyZW50VGFnKSB7XFxuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluc2VsZWN0XFxuICAgICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdvcHRpb24nIHx8IHRhZyA9PT0gJ29wdGdyb3VwJyB8fCB0YWcgPT09ICcjdGV4dCc7XFxuXFxuICAgICAgY2FzZSAnb3B0Z3JvdXAnOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnI3RleHQnO1xcbiAgICAgIC8vIFN0cmljdGx5IHNwZWFraW5nLCBzZWVpbmcgYW4gPG9wdGlvbj4gZG9lc24ndCBtZWFuIHdlJ3JlIGluIGEgPHNlbGVjdD5cXG4gICAgICAvLyBidXRcXG5cXG4gICAgICBjYXNlICdvcHRpb24nOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJyN0ZXh0JztcXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50ZFxcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmNhcHRpb25cXG4gICAgICAvLyBObyBzcGVjaWFsIGJlaGF2aW9yIHNpbmNlIHRoZXNlIHJ1bGVzIGZhbGwgYmFjayB0byBcXFwiaW4gYm9keVxcXCIgbW9kZSBmb3JcXG4gICAgICAvLyBhbGwgZXhjZXB0IHNwZWNpYWwgdGFibGUgbm9kZXMgd2hpY2ggY2F1c2UgYmFkIHBhcnNpbmcgYmVoYXZpb3IgYW55d2F5LlxcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRyXFxuXFxuICAgICAgY2FzZSAndHInOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RoJyB8fCB0YWcgPT09ICd0ZCcgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRib2R5XFxuXFxuICAgICAgY2FzZSAndGJvZHknOlxcbiAgICAgIGNhc2UgJ3RoZWFkJzpcXG4gICAgICBjYXNlICd0Zm9vdCc6XFxuICAgICAgICByZXR1cm4gdGFnID09PSAndHInIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jb2xncm91cFxcblxcbiAgICAgIGNhc2UgJ2NvbGdyb3VwJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjb2wnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW50YWJsZVxcblxcbiAgICAgIGNhc2UgJ3RhYmxlJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdjYXB0aW9uJyB8fCB0YWcgPT09ICdjb2xncm91cCcgfHwgdGFnID09PSAndGJvZHknIHx8IHRhZyA9PT0gJ3Rmb290JyB8fCB0YWcgPT09ICd0aGVhZCcgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmhlYWRcXG5cXG4gICAgICBjYXNlICdoZWFkJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdiYXNlJyB8fCB0YWcgPT09ICdiYXNlZm9udCcgfHwgdGFnID09PSAnYmdzb3VuZCcgfHwgdGFnID09PSAnbGluaycgfHwgdGFnID09PSAnbWV0YScgfHwgdGFnID09PSAndGl0bGUnIHx8IHRhZyA9PT0gJ25vc2NyaXB0JyB8fCB0YWcgPT09ICdub2ZyYW1lcycgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI3RoZS1odG1sLWVsZW1lbnRcXG5cXG4gICAgICBjYXNlICdodG1sJzpcXG4gICAgICAgIHJldHVybiB0YWcgPT09ICdoZWFkJyB8fCB0YWcgPT09ICdib2R5JyB8fCB0YWcgPT09ICdmcmFtZXNldCc7XFxuXFxuICAgICAgY2FzZSAnZnJhbWVzZXQnOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2ZyYW1lJztcXG5cXG4gICAgICBjYXNlICcjZG9jdW1lbnQnOlxcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2h0bWwnO1xcbiAgICB9IC8vIFByb2JhYmx5IGluIHRoZSBcXFwiaW4gYm9keVxcXCIgcGFyc2luZyBtb2RlLCBzbyB3ZSBvdXRsYXcgb25seSB0YWcgY29tYm9zXFxuICAgIC8vIHdoZXJlIHRoZSBwYXJzaW5nIHJ1bGVzIGNhdXNlIGltcGxpY2l0IG9wZW5zIG9yIGNsb3NlcyB0byBiZSBhZGRlZC5cXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWluYm9keVxcblxcblxcbiAgICBzd2l0Y2ggKHRhZykge1xcbiAgICAgIGNhc2UgJ2gxJzpcXG4gICAgICBjYXNlICdoMic6XFxuICAgICAgY2FzZSAnaDMnOlxcbiAgICAgIGNhc2UgJ2g0JzpcXG4gICAgICBjYXNlICdoNSc6XFxuICAgICAgY2FzZSAnaDYnOlxcbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyAhPT0gJ2gxJyAmJiBwYXJlbnRUYWcgIT09ICdoMicgJiYgcGFyZW50VGFnICE9PSAnaDMnICYmIHBhcmVudFRhZyAhPT0gJ2g0JyAmJiBwYXJlbnRUYWcgIT09ICdoNScgJiYgcGFyZW50VGFnICE9PSAnaDYnO1xcblxcbiAgICAgIGNhc2UgJ3JwJzpcXG4gICAgICBjYXNlICdydCc6XFxuICAgICAgICByZXR1cm4gaW1wbGllZEVuZFRhZ3MuaW5kZXhPZihwYXJlbnRUYWcpID09PSAtMTtcXG5cXG4gICAgICBjYXNlICdib2R5JzpcXG4gICAgICBjYXNlICdjYXB0aW9uJzpcXG4gICAgICBjYXNlICdjb2wnOlxcbiAgICAgIGNhc2UgJ2NvbGdyb3VwJzpcXG4gICAgICBjYXNlICdmcmFtZXNldCc6XFxuICAgICAgY2FzZSAnZnJhbWUnOlxcbiAgICAgIGNhc2UgJ2hlYWQnOlxcbiAgICAgIGNhc2UgJ2h0bWwnOlxcbiAgICAgIGNhc2UgJ3Rib2R5JzpcXG4gICAgICBjYXNlICd0ZCc6XFxuICAgICAgY2FzZSAndGZvb3QnOlxcbiAgICAgIGNhc2UgJ3RoJzpcXG4gICAgICBjYXNlICd0aGVhZCc6XFxuICAgICAgY2FzZSAndHInOlxcbiAgICAgICAgLy8gVGhlc2UgdGFncyBhcmUgb25seSB2YWxpZCB3aXRoIGEgZmV3IHBhcmVudHMgdGhhdCBoYXZlIHNwZWNpYWwgY2hpbGRcXG4gICAgICAgIC8vIHBhcnNpbmcgcnVsZXMgLS0gaWYgd2UncmUgZG93biBoZXJlLCB0aGVuIG5vbmUgb2YgdGhvc2UgbWF0Y2hlZCBhbmRcXG4gICAgICAgIC8vIHNvIHdlIGFsbG93IGl0IG9ubHkgaWYgd2UgZG9uJ3Qga25vdyB3aGF0IHRoZSBwYXJlbnQgaXMsIGFzIGFsbCBvdGhlclxcbiAgICAgICAgLy8gY2FzZXMgYXJlIGludmFsaWQuXFxuICAgICAgICByZXR1cm4gcGFyZW50VGFnID09IG51bGw7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9O1xcbiAgLyoqXFxuICAgKiBSZXR1cm5zIHdoZXRoZXJcXG4gICAqL1xcblxcblxcbiAgdmFyIGZpbmRJbnZhbGlkQW5jZXN0b3JGb3JUYWcgPSBmdW5jdGlvbiAodGFnLCBhbmNlc3RvckluZm8pIHtcXG4gICAgc3dpdGNoICh0YWcpIHtcXG4gICAgICBjYXNlICdhZGRyZXNzJzpcXG4gICAgICBjYXNlICdhcnRpY2xlJzpcXG4gICAgICBjYXNlICdhc2lkZSc6XFxuICAgICAgY2FzZSAnYmxvY2txdW90ZSc6XFxuICAgICAgY2FzZSAnY2VudGVyJzpcXG4gICAgICBjYXNlICdkZXRhaWxzJzpcXG4gICAgICBjYXNlICdkaWFsb2cnOlxcbiAgICAgIGNhc2UgJ2Rpcic6XFxuICAgICAgY2FzZSAnZGl2JzpcXG4gICAgICBjYXNlICdkbCc6XFxuICAgICAgY2FzZSAnZmllbGRzZXQnOlxcbiAgICAgIGNhc2UgJ2ZpZ2NhcHRpb24nOlxcbiAgICAgIGNhc2UgJ2ZpZ3VyZSc6XFxuICAgICAgY2FzZSAnZm9vdGVyJzpcXG4gICAgICBjYXNlICdoZWFkZXInOlxcbiAgICAgIGNhc2UgJ2hncm91cCc6XFxuICAgICAgY2FzZSAnbWFpbic6XFxuICAgICAgY2FzZSAnbWVudSc6XFxuICAgICAgY2FzZSAnbmF2JzpcXG4gICAgICBjYXNlICdvbCc6XFxuICAgICAgY2FzZSAncCc6XFxuICAgICAgY2FzZSAnc2VjdGlvbic6XFxuICAgICAgY2FzZSAnc3VtbWFyeSc6XFxuICAgICAgY2FzZSAndWwnOlxcbiAgICAgIGNhc2UgJ3ByZSc6XFxuICAgICAgY2FzZSAnbGlzdGluZyc6XFxuICAgICAgY2FzZSAndGFibGUnOlxcbiAgICAgIGNhc2UgJ2hyJzpcXG4gICAgICBjYXNlICd4bXAnOlxcbiAgICAgIGNhc2UgJ2gxJzpcXG4gICAgICBjYXNlICdoMic6XFxuICAgICAgY2FzZSAnaDMnOlxcbiAgICAgIGNhc2UgJ2g0JzpcXG4gICAgICBjYXNlICdoNSc6XFxuICAgICAgY2FzZSAnaDYnOlxcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZTtcXG5cXG4gICAgICBjYXNlICdmb3JtJzpcXG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8uZm9ybVRhZyB8fCBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGU7XFxuXFxuICAgICAgY2FzZSAnbGknOlxcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nO1xcblxcbiAgICAgIGNhc2UgJ2RkJzpcXG4gICAgICBjYXNlICdkdCc6XFxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmRsSXRlbVRhZ0F1dG9jbG9zaW5nO1xcblxcbiAgICAgIGNhc2UgJ2J1dHRvbic6XFxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmJ1dHRvblRhZ0luU2NvcGU7XFxuXFxuICAgICAgY2FzZSAnYSc6XFxuICAgICAgICAvLyBTcGVjIHNheXMgc29tZXRoaW5nIGFib3V0IHN0b3JpbmcgYSBsaXN0IG9mIG1hcmtlcnMsIGJ1dCBpdCBzb3VuZHNcXG4gICAgICAgIC8vIGVxdWl2YWxlbnQgdG8gdGhpcyBjaGVjay5cXG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGU7XFxuXFxuICAgICAgY2FzZSAnbm9icic6XFxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLm5vYnJUYWdJblNjb3BlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfTtcXG5cXG4gIHZhciBkaWRXYXJuJDEgPSB7fTtcXG5cXG4gIHZhbGlkYXRlRE9NTmVzdGluZyA9IGZ1bmN0aW9uIChjaGlsZFRhZywgY2hpbGRUZXh0LCBhbmNlc3RvckluZm8pIHtcXG4gICAgYW5jZXN0b3JJbmZvID0gYW5jZXN0b3JJbmZvIHx8IGVtcHR5QW5jZXN0b3JJbmZvO1xcbiAgICB2YXIgcGFyZW50SW5mbyA9IGFuY2VzdG9ySW5mby5jdXJyZW50O1xcbiAgICB2YXIgcGFyZW50VGFnID0gcGFyZW50SW5mbyAmJiBwYXJlbnRJbmZvLnRhZztcXG5cXG4gICAgaWYgKGNoaWxkVGV4dCAhPSBudWxsKSB7XFxuICAgICAgaWYgKGNoaWxkVGFnICE9IG51bGwpIHtcXG4gICAgICAgIGVycm9yKCd2YWxpZGF0ZURPTU5lc3Rpbmc6IHdoZW4gY2hpbGRUZXh0IGlzIHBhc3NlZCwgY2hpbGRUYWcgc2hvdWxkIGJlIG51bGwnKTtcXG4gICAgICB9XFxuXFxuICAgICAgY2hpbGRUYWcgPSAnI3RleHQnO1xcbiAgICB9XFxuXFxuICAgIHZhciBpbnZhbGlkUGFyZW50ID0gaXNUYWdWYWxpZFdpdGhQYXJlbnQoY2hpbGRUYWcsIHBhcmVudFRhZykgPyBudWxsIDogcGFyZW50SW5mbztcXG4gICAgdmFyIGludmFsaWRBbmNlc3RvciA9IGludmFsaWRQYXJlbnQgPyBudWxsIDogZmluZEludmFsaWRBbmNlc3RvckZvclRhZyhjaGlsZFRhZywgYW5jZXN0b3JJbmZvKTtcXG4gICAgdmFyIGludmFsaWRQYXJlbnRPckFuY2VzdG9yID0gaW52YWxpZFBhcmVudCB8fCBpbnZhbGlkQW5jZXN0b3I7XFxuXFxuICAgIGlmICghaW52YWxpZFBhcmVudE9yQW5jZXN0b3IpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGFuY2VzdG9yVGFnID0gaW52YWxpZFBhcmVudE9yQW5jZXN0b3IudGFnO1xcbiAgICB2YXIgYWRkZW5kdW0gPSBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCk7XFxuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZyArICd8JyArIGFkZGVuZHVtO1xcblxcbiAgICBpZiAoZGlkV2FybiQxW3dhcm5LZXldKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGRpZFdhcm4kMVt3YXJuS2V5XSA9IHRydWU7XFxuICAgIHZhciB0YWdEaXNwbGF5TmFtZSA9IGNoaWxkVGFnO1xcbiAgICB2YXIgd2hpdGVzcGFjZUluZm8gPSAnJztcXG5cXG4gICAgaWYgKGNoaWxkVGFnID09PSAnI3RleHQnKSB7XFxuICAgICAgaWYgKC9cXFxcUy8udGVzdChjaGlsZFRleHQpKSB7XFxuICAgICAgICB0YWdEaXNwbGF5TmFtZSA9ICdUZXh0IG5vZGVzJztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnV2hpdGVzcGFjZSB0ZXh0IG5vZGVzJztcXG4gICAgICAgIHdoaXRlc3BhY2VJbmZvID0gXFxcIiBNYWtlIHN1cmUgeW91IGRvbid0IGhhdmUgYW55IGV4dHJhIHdoaXRlc3BhY2UgYmV0d2VlbiB0YWdzIG9uIFxcXCIgKyAnZWFjaCBsaW5lIG9mIHlvdXIgc291cmNlIGNvZGUuJztcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdGFnRGlzcGxheU5hbWUgPSAnPCcgKyBjaGlsZFRhZyArICc+JztcXG4gICAgfVxcblxcbiAgICBpZiAoaW52YWxpZFBhcmVudCkge1xcbiAgICAgIHZhciBpbmZvID0gJyc7XFxuXFxuICAgICAgaWYgKGFuY2VzdG9yVGFnID09PSAndGFibGUnICYmIGNoaWxkVGFnID09PSAndHInKSB7XFxuICAgICAgICBpbmZvICs9ICcgQWRkIGEgPHRib2R5PiwgPHRoZWFkPiBvciA8dGZvb3Q+IHRvIHlvdXIgY29kZSB0byBtYXRjaCB0aGUgRE9NIHRyZWUgZ2VuZXJhdGVkIGJ5ICcgKyAndGhlIGJyb3dzZXIuJztcXG4gICAgICB9XFxuXFxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgY2hpbGQgb2YgPCVzPi4lcyVzJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnLCB3aGl0ZXNwYWNlSW5mbywgaW5mbyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgZGVzY2VuZGFudCBvZiAnICsgJzwlcz4uJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnKTtcXG4gICAgfVxcbiAgfTtcXG59XFxuXFxudmFyIFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDE7XFxuXFxue1xcbiAgU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMSA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xcbn1cXG5cXG52YXIgU1VTUEVOU0VfU1RBUlRfREFUQSA9ICckJztcXG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xcbnZhciBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEgPSAnJD8nO1xcbnZhciBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBID0gJyQhJztcXG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XFxudmFyIGV2ZW50c0VuYWJsZWQgPSBudWxsO1xcbnZhciBzZWxlY3Rpb25JbmZvcm1hdGlvbiA9IG51bGw7XFxuXFxuZnVuY3Rpb24gc2hvdWxkQXV0b0ZvY3VzSG9zdENvbXBvbmVudCh0eXBlLCBwcm9wcykge1xcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgJ2J1dHRvbic6XFxuICAgIGNhc2UgJ2lucHV0JzpcXG4gICAgY2FzZSAnc2VsZWN0JzpcXG4gICAgY2FzZSAndGV4dGFyZWEnOlxcbiAgICAgIHJldHVybiAhIXByb3BzLmF1dG9Gb2N1cztcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xcbiAgdmFyIHR5cGU7XFxuICB2YXIgbmFtZXNwYWNlO1xcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xcblxcbiAgc3dpdGNoIChub2RlVHlwZSkge1xcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XFxuICAgIGNhc2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTpcXG4gICAgICB7XFxuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xcbiAgICAgICAgdmFyIHJvb3QgPSByb290Q29udGFpbmVySW5zdGFuY2UuZG9jdW1lbnRFbGVtZW50O1xcbiAgICAgICAgbmFtZXNwYWNlID0gcm9vdCA/IHJvb3QubmFtZXNwYWNlVVJJIDogZ2V0Q2hpbGROYW1lc3BhY2UobnVsbCwgJycpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBjb250YWluZXIgPSBub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFID8gcm9vdENvbnRhaW5lckluc3RhbmNlLnBhcmVudE5vZGUgOiByb290Q29udGFpbmVySW5zdGFuY2U7XFxuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xcbiAgICAgICAgdHlwZSA9IGNvbnRhaW5lci50YWdOYW1lO1xcbiAgICAgICAgbmFtZXNwYWNlID0gZ2V0Q2hpbGROYW1lc3BhY2Uob3duTmFtZXNwYWNlLCB0eXBlKTtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgdmFyIHZhbGlkYXRlZFRhZyA9IHR5cGUudG9Mb3dlckNhc2UoKTtcXG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcXG4gICAgcmV0dXJuIHtcXG4gICAgICBuYW1lc3BhY2U6IG5hbWVzcGFjZSxcXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xcbiAgICB9O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBnZXRDaGlsZEhvc3RDb250ZXh0KHBhcmVudEhvc3RDb250ZXh0LCB0eXBlLCByb290Q29udGFpbmVySW5zdGFuY2UpIHtcXG4gIHtcXG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XFxuICAgIHZhciBuYW1lc3BhY2UgPSBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnRIb3N0Q29udGV4dERldi5uYW1lc3BhY2UsIHR5cGUpO1xcbiAgICB2YXIgYW5jZXN0b3JJbmZvID0gdXBkYXRlZEFuY2VzdG9ySW5mbyhwYXJlbnRIb3N0Q29udGV4dERldi5hbmNlc3RvckluZm8sIHR5cGUpO1xcbiAgICByZXR1cm4ge1xcbiAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxcbiAgICAgIGFuY2VzdG9ySW5mbzogYW5jZXN0b3JJbmZvXFxuICAgIH07XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XFxuICByZXR1cm4gaW5zdGFuY2U7XFxufVxcbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xcbiAgZXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxlZCgpO1xcbiAgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBnZXRTZWxlY3Rpb25JbmZvcm1hdGlvbigpO1xcbiAgc2V0RW5hYmxlZChmYWxzZSk7XFxufVxcbmZ1bmN0aW9uIHJlc2V0QWZ0ZXJDb21taXQoY29udGFpbmVySW5mbykge1xcbiAgcmVzdG9yZVNlbGVjdGlvbihzZWxlY3Rpb25JbmZvcm1hdGlvbik7XFxuICBzZXRFbmFibGVkKGV2ZW50c0VuYWJsZWQpO1xcbiAgZXZlbnRzRW5hYmxlZCA9IG51bGw7XFxuXFxuICBzZWxlY3Rpb25JbmZvcm1hdGlvbiA9IG51bGw7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XFxuICB2YXIgcGFyZW50TmFtZXNwYWNlO1xcblxcbiAge1xcbiAgICAvLyBUT0RPOiB0YWtlIG5hbWVzcGFjZSBpbnRvIGFjY291bnQgd2hlbiB2YWxpZGF0aW5nLlxcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcXG4gICAgdmFsaWRhdGVET01OZXN0aW5nKHR5cGUsIG51bGwsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XFxuXFxuICAgIGlmICh0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpIHtcXG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBwcm9wcy5jaGlsZHJlbjtcXG4gICAgICB2YXIgb3duQW5jZXN0b3JJbmZvID0gdXBkYXRlZEFuY2VzdG9ySW5mbyhob3N0Q29udGV4dERldi5hbmNlc3RvckluZm8sIHR5cGUpO1xcbiAgICAgIHZhbGlkYXRlRE9NTmVzdGluZyhudWxsLCBzdHJpbmcsIG93bkFuY2VzdG9ySW5mbyk7XFxuICAgIH1cXG5cXG4gICAgcGFyZW50TmFtZXNwYWNlID0gaG9zdENvbnRleHREZXYubmFtZXNwYWNlO1xcbiAgfVxcblxcbiAgdmFyIGRvbUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIHBhcmVudE5hbWVzcGFjZSk7XFxuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBkb21FbGVtZW50KTtcXG4gIHVwZGF0ZUZpYmVyUHJvcHMoZG9tRWxlbWVudCwgcHJvcHMpO1xcbiAgcmV0dXJuIGRvbUVsZW1lbnQ7XFxufVxcbmZ1bmN0aW9uIGFwcGVuZEluaXRpYWxDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcXG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcXG59XFxuZnVuY3Rpb24gZmluYWxpemVJbml0aWFsQ2hpbGRyZW4oZG9tRWxlbWVudCwgdHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcXG4gIHNldEluaXRpYWxQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbiAgcmV0dXJuIHNob3VsZEF1dG9Gb2N1c0hvc3RDb21wb25lbnQodHlwZSwgcHJvcHMpO1xcbn1cXG5mdW5jdGlvbiBwcmVwYXJlVXBkYXRlKGRvbUVsZW1lbnQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCkge1xcbiAge1xcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcXG5cXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XFxuICAgICAgdmFyIHN0cmluZyA9ICcnICsgbmV3UHJvcHMuY2hpbGRyZW47XFxuICAgICAgdmFyIG93bkFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8oaG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcXG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZGlmZlByb3BlcnRpZXMoZG9tRWxlbWVudCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbn1cXG5mdW5jdGlvbiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcm9wcykge1xcbiAgcmV0dXJuIHR5cGUgPT09ICd0ZXh0YXJlYScgfHwgdHlwZSA9PT0gJ29wdGlvbicgfHwgdHlwZSA9PT0gJ25vc2NyaXB0JyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MID09PSAnb2JqZWN0JyAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCAhPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwgIT0gbnVsbDtcXG59XFxuZnVuY3Rpb24gc2hvdWxkRGVwcmlvcml0aXplU3VidHJlZSh0eXBlLCBwcm9wcykge1xcbiAgcmV0dXJuICEhcHJvcHMuaGlkZGVuO1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVUZXh0SW5zdGFuY2UodGV4dCwgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xcbiAge1xcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcXG4gICAgdmFsaWRhdGVET01OZXN0aW5nKG51bGwsIHRleHQsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XFxuICB9XFxuXFxuICB2YXIgdGV4dE5vZGUgPSBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dE5vZGUpO1xcbiAgcmV0dXJuIHRleHROb2RlO1xcbn1cXG4vLyBpZiBhIGNvbXBvbmVudCBqdXN0IGltcG9ydHMgUmVhY3RET00gKGUuZy4gZm9yIGZpbmRET01Ob2RlKS5cXG4vLyBTb21lIGVudmlyb25tZW50cyBtaWdodCBub3QgaGF2ZSBzZXRUaW1lb3V0IG9yIGNsZWFyVGltZW91dC5cXG5cXG52YXIgc2NoZWR1bGVUaW1lb3V0ID0gdHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBzZXRUaW1lb3V0IDogdW5kZWZpbmVkO1xcbnZhciBjYW5jZWxUaW1lb3V0ID0gdHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IGNsZWFyVGltZW91dCA6IHVuZGVmaW5lZDtcXG52YXIgbm9UaW1lb3V0ID0gLTE7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cXG5mdW5jdGlvbiBjb21taXRNb3VudChkb21FbGVtZW50LCB0eXBlLCBuZXdQcm9wcywgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xcbiAgLy8gRGVzcGl0ZSB0aGUgbmFtaW5nIHRoYXQgbWlnaHQgaW1wbHkgb3RoZXJ3aXNlLCB0aGlzIG1ldGhvZCBvbmx5XFxuICAvLyBmaXJlcyBpZiB0aGVyZSBpcyBhbiBgVXBkYXRlYCBlZmZlY3Qgc2NoZWR1bGVkIGR1cmluZyBtb3VudGluZy5cXG4gIC8vIFRoaXMgaGFwcGVucyBpZiBgZmluYWxpemVJbml0aWFsQ2hpbGRyZW5gIHJldHVybnMgYHRydWVgICh3aGljaCBpdFxcbiAgLy8gZG9lcyB0byBpbXBsZW1lbnQgdGhlIGBhdXRvRm9jdXNgIGF0dHJpYnV0ZSBvbiB0aGUgY2xpZW50KS4gQnV0XFxuICAvLyB0aGVyZSBhcmUgYWxzbyBvdGhlciBjYXNlcyB3aGVuIHRoaXMgbWlnaHQgaGFwcGVuIChzdWNoIGFzIHBhdGNoaW5nXFxuICAvLyB1cCB0ZXh0IGNvbnRlbnQgZHVyaW5nIGh5ZHJhdGlvbiBtaXNtYXRjaCkuIFNvIHdlJ2xsIGNoZWNrIHRoaXMgYWdhaW4uXFxuICBpZiAoc2hvdWxkQXV0b0ZvY3VzSG9zdENvbXBvbmVudCh0eXBlLCBuZXdQcm9wcykpIHtcXG4gICAgZG9tRWxlbWVudC5mb2N1cygpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBjb21taXRVcGRhdGUoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XFxuICAvLyBVcGRhdGUgdGhlIHByb3BzIGhhbmRsZSBzbyB0aGF0IHdlIGtub3cgd2hpY2ggcHJvcHMgYXJlIHRoZSBvbmVzIHdpdGhcXG4gIC8vIHdpdGggY3VycmVudCBldmVudCBoYW5kbGVycy5cXG4gIHVwZGF0ZUZpYmVyUHJvcHMoZG9tRWxlbWVudCwgbmV3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZiB0byB0aGUgRE9NIG5vZGUuXFxuXFxuICB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHR5cGUsIG9sZFByb3BzLCBuZXdQcm9wcyk7XFxufVxcbmZ1bmN0aW9uIHJlc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCkge1xcbiAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycpO1xcbn1cXG5mdW5jdGlvbiBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCkge1xcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IG5ld1RleHQ7XFxufVxcbmZ1bmN0aW9uIGFwcGVuZENoaWxkKHBhcmVudEluc3RhbmNlLCBjaGlsZCkge1xcbiAgcGFyZW50SW5zdGFuY2UuYXBwZW5kQ2hpbGQoY2hpbGQpO1xcbn1cXG5mdW5jdGlvbiBhcHBlbmRDaGlsZFRvQ29udGFpbmVyKGNvbnRhaW5lciwgY2hpbGQpIHtcXG4gIHZhciBwYXJlbnROb2RlO1xcblxcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XFxuICAgIHBhcmVudE5vZGUgPSBjb250YWluZXIucGFyZW50Tm9kZTtcXG4gICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGNvbnRhaW5lcik7XFxuICB9IGVsc2Uge1xcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyO1xcbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkKGNoaWxkKTtcXG4gIH0gLy8gVGhpcyBjb250YWluZXIgbWlnaHQgYmUgdXNlZCBmb3IgYSBwb3J0YWwuXFxuICAvLyBJZiBzb21ldGhpbmcgaW5zaWRlIGEgcG9ydGFsIGlzIGNsaWNrZWQsIHRoYXQgY2xpY2sgc2hvdWxkIGJ1YmJsZVxcbiAgLy8gdGhyb3VnaCB0aGUgUmVhY3QgdHJlZS4gSG93ZXZlciwgb24gTW9iaWxlIFNhZmFyaSB0aGUgY2xpY2sgd291bGRcXG4gIC8vIG5ldmVyIGJ1YmJsZSB0aHJvdWdoIHRoZSAqRE9NKiB0cmVlIHVubGVzcyBhbiBhbmNlc3RvciB3aXRoIG9uY2xpY2tcXG4gIC8vIGV2ZW50IGV4aXN0cy4gU28gd2Ugd291bGRuJ3Qgc2VlIGl0IGFuZCBkaXNwYXRjaCBpdC5cXG4gIC8vIFRoaXMgaXMgd2h5IHdlIGVuc3VyZSB0aGF0IG5vbiBSZWFjdCByb290IGNvbnRhaW5lcnMgaGF2ZSBpbmxpbmUgb25jbGlja1xcbiAgLy8gZGVmaW5lZC5cXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE5MThcXG5cXG5cXG4gIHZhciByZWFjdFJvb3RDb250YWluZXIgPSBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcXG5cXG4gIGlmICgocmVhY3RSb290Q29udGFpbmVyID09PSBudWxsIHx8IHJlYWN0Um9vdENvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSAmJiBwYXJlbnROb2RlLm9uY2xpY2sgPT09IG51bGwpIHtcXG4gICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cXG4gICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQocGFyZW50Tm9kZSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGluc2VydEJlZm9yZShwYXJlbnRJbnN0YW5jZSwgY2hpbGQsIGJlZm9yZUNoaWxkKSB7XFxuICBwYXJlbnRJbnN0YW5jZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcXG59XFxuZnVuY3Rpb24gaW5zZXJ0SW5Db250YWluZXJCZWZvcmUoY29udGFpbmVyLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcXG4gIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xcbiAgICBjb250YWluZXIucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcXG4gIH0gZWxzZSB7XFxuICAgIGNvbnRhaW5lci5pbnNlcnRCZWZvcmUoY2hpbGQsIGJlZm9yZUNoaWxkKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XFxuICBwYXJlbnRJbnN0YW5jZS5yZW1vdmVDaGlsZChjaGlsZCk7XFxufVxcbmZ1bmN0aW9uIHJlbW92ZUNoaWxkRnJvbUNvbnRhaW5lcihjb250YWluZXIsIGNoaWxkKSB7XFxuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcXG4gICAgY29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpO1xcbiAgfSBlbHNlIHtcXG4gICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKGNoaWxkKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGlkZUluc3RhbmNlKGluc3RhbmNlKSB7XFxuICAvLyBwYXNzIGhvc3QgY29udGV4dCB0byB0aGlzIG1ldGhvZD9cXG5cXG5cXG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XFxuICB2YXIgc3R5bGUgPSBpbnN0YW5jZS5zdHlsZTtcXG5cXG4gIGlmICh0eXBlb2Ygc3R5bGUuc2V0UHJvcGVydHkgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgc3R5bGUuc2V0UHJvcGVydHkoJ2Rpc3BsYXknLCAnbm9uZScsICdpbXBvcnRhbnQnKTtcXG4gIH0gZWxzZSB7XFxuICAgIHN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlKSB7XFxuICB0ZXh0SW5zdGFuY2Uubm9kZVZhbHVlID0gJyc7XFxufVxcbmZ1bmN0aW9uIHVuaGlkZUluc3RhbmNlKGluc3RhbmNlLCBwcm9wcykge1xcbiAgaW5zdGFuY2UgPSBpbnN0YW5jZTtcXG4gIHZhciBzdHlsZVByb3AgPSBwcm9wc1tTVFlMRSQxXTtcXG4gIHZhciBkaXNwbGF5ID0gc3R5bGVQcm9wICE9PSB1bmRlZmluZWQgJiYgc3R5bGVQcm9wICE9PSBudWxsICYmIHN0eWxlUHJvcC5oYXNPd25Qcm9wZXJ0eSgnZGlzcGxheScpID8gc3R5bGVQcm9wLmRpc3BsYXkgOiBudWxsO1xcbiAgaW5zdGFuY2Uuc3R5bGUuZGlzcGxheSA9IGRhbmdlcm91c1N0eWxlVmFsdWUoJ2Rpc3BsYXknLCBkaXNwbGF5KTtcXG59XFxuZnVuY3Rpb24gdW5oaWRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCkge1xcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9IHRleHQ7XFxufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXFxuZnVuY3Rpb24gY2FuSHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCB0eXBlLCBwcm9wcykge1xcbiAgaWYgKGluc3RhbmNlLm5vZGVUeXBlICE9PSBFTEVNRU5UX05PREUgfHwgdHlwZS50b0xvd2VyQ2FzZSgpICE9PSBpbnN0YW5jZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGFuIGVsZW1lbnQgbm9kZS5cXG5cXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xcbiAgaWYgKHRleHQgPT09ICcnIHx8IGluc3RhbmNlLm5vZGVUeXBlICE9PSBURVhUX05PREUpIHtcXG4gICAgLy8gRW1wdHkgc3RyaW5ncyBhcmUgbm90IHBhcnNlZCBieSBIVE1MIHNvIHRoZXJlIHdvbid0IGJlIGEgY29ycmVjdCBtYXRjaCBoZXJlLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gVGhpcyBoYXMgbm93IGJlZW4gcmVmaW5lZCB0byBhIHRleHQgbm9kZS5cXG5cXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhpbnN0YW5jZSkge1xcbiAgcmV0dXJuIGluc3RhbmNlLmRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQTtcXG59XFxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soaW5zdGFuY2UpIHtcXG4gIHJldHVybiBpbnN0YW5jZS5kYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXROZXh0SHlkcmF0YWJsZShub2RlKSB7XFxuICAvLyBTa2lwIG5vbi1oeWRyYXRhYmxlIG5vZGVzLlxcbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcXG4gICAgdmFyIG5vZGVUeXBlID0gbm9kZS5ub2RlVHlwZTtcXG5cXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbm9kZTtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGluc3RhbmNlKSB7XFxuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xcbn1cXG5mdW5jdGlvbiBnZXRGaXJzdEh5ZHJhdGFibGVDaGlsZChwYXJlbnRJbnN0YW5jZSkge1xcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xcbn1cXG5mdW5jdGlvbiBoeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XFxuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBpbnN0YW5jZSk7IC8vIFRPRE86IFBvc3NpYmx5IGRlZmVyIHRoaXMgdW50aWwgdGhlIGNvbW1pdCBwaGFzZSB3aGVyZSBhbGwgdGhlIGV2ZW50c1xcbiAgLy8gZ2V0IGF0dGFjaGVkLlxcblxcbiAgdXBkYXRlRmliZXJQcm9wcyhpbnN0YW5jZSwgcHJvcHMpO1xcbiAgdmFyIHBhcmVudE5hbWVzcGFjZTtcXG5cXG4gIHtcXG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XFxuICAgIHBhcmVudE5hbWVzcGFjZSA9IGhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZTtcXG4gIH1cXG5cXG4gIHJldHVybiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcGFyZW50TmFtZXNwYWNlLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xcbn1cXG5mdW5jdGlvbiBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xcbiAgcHJlY2FjaGVGaWJlck5vZGUoaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSwgdGV4dEluc3RhbmNlKTtcXG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XFxufVxcbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSkge1xcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlLm5leHRTaWJsaW5nOyAvLyBTa2lwIHBhc3QgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxcbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcXG4gIC8vIGRlZXAgd2UgYXJlIGFuZCBvbmx5IGJyZWFrIG91dCB3aGVuIHdlJ3JlIGJhY2sgb24gdG9wLlxcblxcbiAgdmFyIGRlcHRoID0gMDtcXG5cXG4gIHdoaWxlIChub2RlKSB7XFxuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcXG4gICAgICB2YXIgZGF0YSA9IG5vZGUuZGF0YTtcXG5cXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcXG4gICAgICAgIGlmIChkZXB0aCA9PT0gMCkge1xcbiAgICAgICAgICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG5vZGUpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgZGVwdGgtLTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9QRU5ESU5HX1NUQVJUX0RBVEEpIHtcXG4gICAgICAgIGRlcHRoKys7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xcbiAgfSAvLyBUT0RPOiBXYXJuLCB3ZSBkaWRuJ3QgZmluZCB0aGUgZW5kIGNvbW1lbnQgYm91bmRhcnkuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59IC8vIFJldHVybnMgdGhlIFN1c3BlbnNlSW5zdGFuY2UgaWYgdGhpcyBub2RlIGlzIGEgZGlyZWN0IGNoaWxkIG9mIGFcXG4vLyBTdXNwZW5zZUluc3RhbmNlLiBJLmUuIGlmIGl0cyBwcmV2aW91cyBzaWJsaW5nIGlzIGEgQ29tbWVudCB3aXRoXFxuLy8gU1VTUEVOU0VfeF9TVEFSVF9EQVRBLiBPdGhlcndpc2UsIG51bGwuXFxuXFxuZnVuY3Rpb24gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXRJbnN0YW5jZSkge1xcbiAgdmFyIG5vZGUgPSB0YXJnZXRJbnN0YW5jZS5wcmV2aW91c1NpYmxpbmc7IC8vIFNraXAgcGFzdCBhbGwgbm9kZXMgd2l0aGluIHRoaXMgc3VzcGVuc2UgYm91bmRhcnkuXFxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXFxuXFxuICB2YXIgZGVwdGggPSAwO1xcblxcbiAgd2hpbGUgKG5vZGUpIHtcXG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xcblxcbiAgICAgIGlmIChkYXRhID09PSBTVVNQRU5TRV9TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX0ZBTExCQUNLX1NUQVJUX0RBVEEgfHwgZGF0YSA9PT0gU1VTUEVOU0VfUEVORElOR19TVEFSVF9EQVRBKSB7XFxuICAgICAgICBpZiAoZGVwdGggPT09IDApIHtcXG4gICAgICAgICAgcmV0dXJuIG5vZGU7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBkZXB0aC0tO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfRU5EX0RBVEEpIHtcXG4gICAgICAgIGRlcHRoKys7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG5vZGUgPSBub2RlLnByZXZpb3VzU2libGluZztcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5mdW5jdGlvbiBjb21taXRIeWRyYXRlZENvbnRhaW5lcihjb250YWluZXIpIHtcXG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cXG4gIHJldHJ5SWZCbG9ja2VkT24oY29udGFpbmVyKTtcXG59XFxuZnVuY3Rpb24gY29tbWl0SHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcXG4gIC8vIFJldHJ5IGlmIGFueSBldmVudCByZXBsYXlpbmcgd2FzIGJsb2NrZWQgb24gdGhpcy5cXG4gIHJldHJ5SWZCbG9ja2VkT24oc3VzcGVuc2VJbnN0YW5jZSk7XFxufVxcbmZ1bmN0aW9uIGRpZE5vdE1hdGNoSHlkcmF0ZWRDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0SW5zdGFuY2UsIHRleHQpIHtcXG4gIHtcXG4gICAgd2FybkZvclVubWF0Y2hlZFRleHQodGV4dEluc3RhbmNlLCB0ZXh0KTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlkTm90TWF0Y2hIeWRyYXRlZFRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHRleHRJbnN0YW5jZSwgdGV4dCkge1xcbiAgaWYgKCBwYXJlbnRQcm9wc1tTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxXSAhPT0gdHJ1ZSkge1xcbiAgICB3YXJuRm9yVW5tYXRjaGVkVGV4dCh0ZXh0SW5zdGFuY2UsIHRleHQpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSkge1xcbiAge1xcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xcbiAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSk7XFxuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcXG4gICAgICB3YXJuRm9yRGVsZXRlZEh5ZHJhdGFibGVUZXh0KHBhcmVudENvbnRhaW5lciwgaW5zdGFuY2UpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKSB7XFxuICBpZiAoIHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDFdICE9PSB0cnVlKSB7XFxuICAgIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XFxuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xcbiAgICB9IGVsc2UgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIDsgZWxzZSB7XFxuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0eXBlLCBwcm9wcykge1xcbiAge1xcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZEVsZW1lbnQocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVDb250YWluZXJUZXh0SW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0ZXh0KSB7XFxuICB7XFxuICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRDb250YWluZXIsIHRleHQpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBkaWROb3RGaW5kSHlkcmF0YWJsZUluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdHlwZSwgcHJvcHMpIHtcXG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcXG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XFxuICBpZiAoIHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDFdICE9PSB0cnVlKSB7XFxuICAgIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnRJbnN0YW5jZSwgdGV4dCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlU3VzcGVuc2VJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UpIHtcXG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIDtcXG59XFxuXFxudmFyIHJhbmRvbUtleSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO1xcbnZhciBpbnRlcm5hbEluc3RhbmNlS2V5ID0gJ19fcmVhY3RJbnRlcm5hbEluc3RhbmNlJCcgKyByYW5kb21LZXk7XFxudmFyIGludGVybmFsRXZlbnRIYW5kbGVyc0tleSA9ICdfX3JlYWN0RXZlbnRIYW5kbGVycyQnICsgcmFuZG9tS2V5O1xcbnZhciBpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5ID0gJ19fcmVhY3RDb250YWluZXJlJCcgKyByYW5kb21LZXk7XFxuZnVuY3Rpb24gcHJlY2FjaGVGaWJlck5vZGUoaG9zdEluc3QsIG5vZGUpIHtcXG4gIG5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV0gPSBob3N0SW5zdDtcXG59XFxuZnVuY3Rpb24gbWFya0NvbnRhaW5lckFzUm9vdChob3N0Um9vdCwgbm9kZSkge1xcbiAgbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSA9IGhvc3RSb290O1xcbn1cXG5mdW5jdGlvbiB1bm1hcmtDb250YWluZXJBc1Jvb3Qobm9kZSkge1xcbiAgbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XSA9IG51bGw7XFxufVxcbmZ1bmN0aW9uIGlzQ29udGFpbmVyTWFya2VkQXNSb290KG5vZGUpIHtcXG4gIHJldHVybiAhIW5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV07XFxufSAvLyBHaXZlbiBhIERPTSBub2RlLCByZXR1cm4gdGhlIGNsb3Nlc3QgSG9zdENvbXBvbmVudCBvciBIb3N0VGV4dCBmaWJlciBhbmNlc3Rvci5cXG4vLyBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGFydCBvZiBhIGh5ZHJhdGVkIG9yIG5vdCB5ZXQgcmVuZGVyZWQgc3VidHJlZSwgdGhlblxcbi8vIHRoaXMgbWF5IGFsc28gcmV0dXJuIGEgU3VzcGVuc2VDb21wb25lbnQgb3IgSG9zdFJvb3QgdG8gaW5kaWNhdGUgdGhhdC5cXG4vLyBDb25jZXB0dWFsbHkgdGhlIEhvc3RSb290IGZpYmVyIGlzIGEgY2hpbGQgb2YgdGhlIENvbnRhaW5lciBub2RlLiBTbyBpZiB5b3VcXG4vLyBwYXNzIHRoZSBDb250YWluZXIgbm9kZSBhcyB0aGUgdGFyZ2V0Tm9kZSwgeW91IHdpbGwgbm90IGFjdHVhbGx5IGdldCB0aGVcXG4vLyBIb3N0Um9vdCBiYWNrLiBUbyBnZXQgdG8gdGhlIEhvc3RSb290LCB5b3UgbmVlZCB0byBwYXNzIGEgY2hpbGQgb2YgaXQuXFxuLy8gVGhlIHNhbWUgdGhpbmcgYXBwbGllcyB0byBTdXNwZW5zZSBib3VuZGFyaWVzLlxcblxcbmZ1bmN0aW9uIGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHRhcmdldE5vZGUpIHtcXG4gIHZhciB0YXJnZXRJbnN0ID0gdGFyZ2V0Tm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcXG5cXG4gIGlmICh0YXJnZXRJbnN0KSB7XFxuICAgIC8vIERvbid0IHJldHVybiBIb3N0Um9vdCBvciBTdXNwZW5zZUNvbXBvbmVudCBoZXJlLlxcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcXG4gIH0gLy8gSWYgdGhlIGRpcmVjdCBldmVudCB0YXJnZXQgaXNuJ3QgYSBSZWFjdCBvd25lZCBET00gbm9kZSwgd2UgbmVlZCB0byBsb29rXFxuICAvLyB0byBzZWUgaWYgb25lIG9mIGl0cyBwYXJlbnRzIGlzIGEgUmVhY3Qgb3duZWQgRE9NIG5vZGUuXFxuXFxuXFxuICB2YXIgcGFyZW50Tm9kZSA9IHRhcmdldE5vZGUucGFyZW50Tm9kZTtcXG5cXG4gIHdoaWxlIChwYXJlbnROb2RlKSB7XFxuICAgIC8vIFdlJ2xsIGNoZWNrIGlmIHRoaXMgaXMgYSBjb250YWluZXIgcm9vdCB0aGF0IGNvdWxkIGluY2x1ZGVcXG4gICAgLy8gUmVhY3Qgbm9kZXMgaW4gdGhlIGZ1dHVyZS4gV2UgbmVlZCB0byBjaGVjayB0aGlzIGZpcnN0IGJlY2F1c2VcXG4gICAgLy8gaWYgd2UncmUgYSBjaGlsZCBvZiBhIGRlaHlkcmF0ZWQgY29udGFpbmVyLCB3ZSBuZWVkIHRvIGZpcnN0XFxuICAgIC8vIGZpbmQgdGhhdCBpbm5lciBjb250YWluZXIgYmVmb3JlIG1vdmluZyBvbiB0byBmaW5kaW5nIHRoZSBwYXJlbnRcXG4gICAgLy8gaW5zdGFuY2UuIE5vdGUgdGhhdCB3ZSBkb24ndCBjaGVjayB0aGlzIGZpZWxkIG9uICB0aGUgdGFyZ2V0Tm9kZVxcbiAgICAvLyBpdHNlbGYgYmVjYXVzZSB0aGUgZmliZXJzIGFyZSBjb25jZXB0dWFsbHkgYmV0d2VlbiB0aGUgY29udGFpbmVyXFxuICAgIC8vIG5vZGUgYW5kIHRoZSBmaXJzdCBjaGlsZC4gSXQgaXNuJ3Qgc3Vycm91bmRpbmcgdGhlIGNvbnRhaW5lciBub2RlLlxcbiAgICAvLyBJZiBpdCdzIG5vdCBhIGNvbnRhaW5lciwgd2UgY2hlY2sgaWYgaXQncyBhbiBpbnN0YW5jZS5cXG4gICAgdGFyZ2V0SW5zdCA9IHBhcmVudE5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV0gfHwgcGFyZW50Tm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcXG5cXG4gICAgaWYgKHRhcmdldEluc3QpIHtcXG4gICAgICAvLyBTaW5jZSB0aGlzIHdhc24ndCB0aGUgZGlyZWN0IHRhcmdldCBvZiB0aGUgZXZlbnQsIHdlIG1pZ2h0IGhhdmVcXG4gICAgICAvLyBzdGVwcGVkIHBhc3QgZGVoeWRyYXRlZCBET00gbm9kZXMgdG8gZ2V0IGhlcmUuIEhvd2V2ZXIgdGhleSBjb3VsZFxcbiAgICAgIC8vIGFsc28gaGF2ZSBiZWVuIG5vbi1SZWFjdCBub2Rlcy4gV2UgbmVlZCB0byBhbnN3ZXIgd2hpY2ggb25lLlxcbiAgICAgIC8vIElmIHdlIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGhhdmUgYW55IGNoaWxkcmVuLCB0aGVuIHRoZXJlIGNhbid0IGJlXFxuICAgICAgLy8gYSBuZXN0ZWQgc3VzcGVuc2UgYm91bmRhcnkgd2l0aGluIGl0LiBTbyB3ZSBjYW4gdXNlIHRoaXMgYXMgYSBmYXN0XFxuICAgICAgLy8gYmFpbG91dC4gTW9zdCBvZiB0aGUgdGltZSwgd2hlbiBwZW9wbGUgYWRkIG5vbi1SZWFjdCBjaGlsZHJlbiB0b1xcbiAgICAgIC8vIHRoZSB0cmVlLCBpdCBpcyB1c2luZyBhIHJlZiB0byBhIGNoaWxkLWxlc3MgRE9NIG5vZGUuXFxuICAgICAgLy8gTm9ybWFsbHkgd2UnZCBvbmx5IG5lZWQgdG8gY2hlY2sgb25lIG9mIHRoZSBmaWJlcnMgYmVjYXVzZSBpZiBpdFxcbiAgICAgIC8vIGhhcyBldmVyIGdvbmUgZnJvbSBoYXZpbmcgY2hpbGRyZW4gdG8gZGVsZXRpbmcgdGhlbSBvciB2aWNlIHZlcnNhXFxuICAgICAgLy8gaXQgd291bGQgaGF2ZSBkZWxldGVkIHRoZSBkZWh5ZHJhdGVkIGJvdW5kYXJ5IG5lc3RlZCBpbnNpZGUgYWxyZWFkeS5cXG4gICAgICAvLyBIb3dldmVyLCBzaW5jZSB0aGUgSG9zdFJvb3Qgc3RhcnRzIG91dCB3aXRoIGFuIGFsdGVybmF0ZSBpdCBtaWdodFxcbiAgICAgIC8vIGhhdmUgb25lIG9uIHRoZSBhbHRlcm5hdGUgc28gd2UgbmVlZCB0byBjaGVjayBpbiBjYXNlIHRoaXMgd2FzIGFcXG4gICAgICAvLyByb290LlxcbiAgICAgIHZhciBhbHRlcm5hdGUgPSB0YXJnZXRJbnN0LmFsdGVybmF0ZTtcXG5cXG4gICAgICBpZiAodGFyZ2V0SW5zdC5jaGlsZCAhPT0gbnVsbCB8fCBhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgICAvLyBOZXh0IHdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGUgbm9kZSB0aGF0IHNraXBwZWQgcGFzdCBpc1xcbiAgICAgICAgLy8gbmVzdGVkIHdpdGhpbiBhIGRlaHlkcmF0ZWQgYm91bmRhcnkgYW5kIGlmIHNvLCB3aGljaCBvbmUuXFxuICAgICAgICB2YXIgc3VzcGVuc2VJbnN0YW5jZSA9IGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2UodGFyZ2V0Tm9kZSk7XFxuXFxuICAgICAgICB3aGlsZSAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSBmb3VuZCBhIHN1c3BlbnNlIGluc3RhbmNlLiBUaGF0IG1lYW5zIHRoYXQgd2UgaGF2ZW4ndFxcbiAgICAgICAgICAvLyBoeWRyYXRlZCBpdCB5ZXQuIEV2ZW4gdGhvdWdoIHdlIGxlYXZlIHRoZSBjb21tZW50cyBpbiB0aGVcXG4gICAgICAgICAgLy8gRE9NIGFmdGVyIGh5ZHJhdGluZywgYW5kIHRoZXJlIGFyZSBib3VuZGFyaWVzIGluIHRoZSBET01cXG4gICAgICAgICAgLy8gdGhhdCBjb3VsZCBhbHJlYWR5IGJlIGh5ZHJhdGVkLCB3ZSB3b3VsZG4ndCBoYXZlIGZvdW5kIHRoZW1cXG4gICAgICAgICAgLy8gdGhyb3VnaCB0aGlzIHBhc3Mgc2luY2UgaWYgdGhlIHRhcmdldCBpcyBoeWRyYXRlZCBpdCB3b3VsZFxcbiAgICAgICAgICAvLyBoYXZlIGhhZCBhbiBpbnRlcm5hbEluc3RhbmNlS2V5IG9uIGl0LlxcbiAgICAgICAgICAvLyBMZXQncyBnZXQgdGhlIGZpYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgU3VzcGVuc2VDb21wb25lbnRcXG4gICAgICAgICAgLy8gYXMgdGhlIGRlZXBlc3QgaW5zdGFuY2UuXFxuICAgICAgICAgIHZhciB0YXJnZXRTdXNwZW5zZUluc3QgPSBzdXNwZW5zZUluc3RhbmNlW2ludGVybmFsSW5zdGFuY2VLZXldO1xcblxcbiAgICAgICAgICBpZiAodGFyZ2V0U3VzcGVuc2VJbnN0KSB7XFxuICAgICAgICAgICAgcmV0dXJuIHRhcmdldFN1c3BlbnNlSW5zdDtcXG4gICAgICAgICAgfSAvLyBJZiB3ZSBkb24ndCBmaW5kIGEgRmliZXIgb24gdGhlIGNvbW1lbnQsIGl0IG1pZ2h0IGJlIGJlY2F1c2VcXG4gICAgICAgICAgLy8gd2UgaGF2ZW4ndCBnb3R0ZW4gdG8gaHlkcmF0ZSBpdCB5ZXQuIFRoZXJlIG1pZ2h0IHN0aWxsIGJlIGFcXG4gICAgICAgICAgLy8gcGFyZW50IGJvdW5kYXJ5IHRoYXQgaGFzbid0IGFib3ZlIHRoaXMgb25lIHNvIHdlIG5lZWQgdG8gZmluZFxcbiAgICAgICAgICAvLyB0aGUgb3V0ZXIgbW9zdCB0aGF0IGlzIGtub3duLlxcblxcblxcbiAgICAgICAgICBzdXNwZW5zZUluc3RhbmNlID0gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTsgLy8gSWYgd2UgZG9uJ3QgZmluZCBvbmUsIHRoZW4gdGhhdCBzaG91bGQgbWVhbiB0aGF0IHRoZSBwYXJlbnRcXG4gICAgICAgICAgLy8gaG9zdCBjb21wb25lbnQgYWxzbyBoYXNuJ3QgaHlkcmF0ZWQgeWV0LiBXZSBjYW4gcmV0dXJuIGl0XFxuICAgICAgICAgIC8vIGJlbG93IHNpbmNlIGl0IHdpbGwgYmFpbCBvdXQgb24gdGhlIGlzTW91bnRlZCBjaGVjayBsYXRlci5cXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHRhcmdldEluc3Q7XFxuICAgIH1cXG5cXG4gICAgdGFyZ2V0Tm9kZSA9IHBhcmVudE5vZGU7XFxuICAgIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuLyoqXFxuICogR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBSZWFjdERPTUNvbXBvbmVudCBvciBSZWFjdERPTVRleHRDb21wb25lbnRcXG4gKiBpbnN0YW5jZSwgb3IgbnVsbCBpZiB0aGUgbm9kZSB3YXMgbm90IHJlbmRlcmVkIGJ5IHRoaXMgUmVhY3QuXFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5vZGUpIHtcXG4gIHZhciBpbnN0ID0gbm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XSB8fCBub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xcblxcbiAgaWYgKGluc3QpIHtcXG4gICAgaWYgKGluc3QudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0VGV4dCB8fCBpbnN0LnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RSb290KSB7XFxuICAgICAgcmV0dXJuIGluc3Q7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG4vKipcXG4gKiBHaXZlbiBhIFJlYWN0RE9NQ29tcG9uZW50IG9yIFJlYWN0RE9NVGV4dENvbXBvbmVudCwgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nXFxuICogRE9NIG5vZGUuXFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKGluc3QpIHtcXG4gIGlmIChpbnN0LnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBpbnN0LnRhZyA9PT0gSG9zdFRleHQpIHtcXG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXFxuICAgIC8vIGEgaG9zdCBjb21wb25lbnQgb3IgaG9zdCB0ZXh0LlxcbiAgICByZXR1cm4gaW5zdC5zdGF0ZU5vZGU7XFxuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxcbiAgLy8gaW52YXJpYW50IGZvciBhIG1pc3NpbmcgcGFyZW50LCB3aGljaCBpcyBzdXBlciBjb25mdXNpbmcuXFxuXFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcImdldE5vZGVGcm9tSW5zdGFuY2U6IEludmFsaWQgYXJndW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMShub2RlKSB7XFxuICByZXR1cm4gbm9kZVtpbnRlcm5hbEV2ZW50SGFuZGxlcnNLZXldIHx8IG51bGw7XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZUZpYmVyUHJvcHMobm9kZSwgcHJvcHMpIHtcXG4gIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XSA9IHByb3BzO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xcbiAgZG8ge1xcbiAgICBpbnN0ID0gaW5zdC5yZXR1cm47IC8vIFRPRE86IElmIHRoaXMgaXMgYSBIb3N0Um9vdCB3ZSBtaWdodCB3YW50IHRvIGJhaWwgb3V0LlxcbiAgICAvLyBUaGF0IGlzIGRlcGVuZGluZyBvbiBpZiB3ZSB3YW50IG5lc3RlZCBzdWJ0cmVlcyAobGF5ZXJzKSB0byBidWJibGVcXG4gICAgLy8gZXZlbnRzIHRvIHRoZWlyIHBhcmVudC4gV2UgY291bGQgYWxzbyBnbyB0aHJvdWdoIHBhcmVudE5vZGUgb24gdGhlXFxuICAgIC8vIGhvc3Qgbm9kZSBidXQgdGhhdCB3b3VsZG4ndCB3b3JrIGZvciBSZWFjdCBOYXRpdmUgYW5kIGRvZXNuJ3QgbGV0IHVzXFxuICAgIC8vIGRvIHRoZSBwb3J0YWwgZmVhdHVyZS5cXG4gIH0gd2hpbGUgKGluc3QgJiYgaW5zdC50YWcgIT09IEhvc3RDb21wb25lbnQpO1xcblxcbiAgaWYgKGluc3QpIHtcXG4gICAgcmV0dXJuIGluc3Q7XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuLyoqXFxuICogUmV0dXJuIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIEEgYW5kIEIsIG9yIG51bGwgaWYgdGhleSBhcmUgaW5cXG4gKiBkaWZmZXJlbnQgdHJlZXMuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0TG93ZXN0Q29tbW9uQW5jZXN0b3IoaW5zdEEsIGluc3RCKSB7XFxuICB2YXIgZGVwdGhBID0gMDtcXG5cXG4gIGZvciAodmFyIHRlbXBBID0gaW5zdEE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcXG4gICAgZGVwdGhBKys7XFxuICB9XFxuXFxuICB2YXIgZGVwdGhCID0gMDtcXG5cXG4gIGZvciAodmFyIHRlbXBCID0gaW5zdEI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcXG4gICAgZGVwdGhCKys7XFxuICB9IC8vIElmIEEgaXMgZGVlcGVyLCBjcmF3bCB1cC5cXG5cXG5cXG4gIHdoaWxlIChkZXB0aEEgLSBkZXB0aEIgPiAwKSB7XFxuICAgIGluc3RBID0gZ2V0UGFyZW50KGluc3RBKTtcXG4gICAgZGVwdGhBLS07XFxuICB9IC8vIElmIEIgaXMgZGVlcGVyLCBjcmF3bCB1cC5cXG5cXG5cXG4gIHdoaWxlIChkZXB0aEIgLSBkZXB0aEEgPiAwKSB7XFxuICAgIGluc3RCID0gZ2V0UGFyZW50KGluc3RCKTtcXG4gICAgZGVwdGhCLS07XFxuICB9IC8vIFdhbGsgaW4gbG9ja3N0ZXAgdW50aWwgd2UgZmluZCBhIG1hdGNoLlxcblxcblxcbiAgdmFyIGRlcHRoID0gZGVwdGhBO1xcblxcbiAgd2hpbGUgKGRlcHRoLS0pIHtcXG4gICAgaWYgKGluc3RBID09PSBpbnN0QiB8fCBpbnN0QSA9PT0gaW5zdEIuYWx0ZXJuYXRlKSB7XFxuICAgICAgcmV0dXJuIGluc3RBO1xcbiAgICB9XFxuXFxuICAgIGluc3RBID0gZ2V0UGFyZW50KGluc3RBKTtcXG4gICAgaW5zdEIgPSBnZXRQYXJlbnQoaW5zdEIpO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcbi8qKlxcbiAqIFNpbXVsYXRlcyB0aGUgdHJhdmVyc2FsIG9mIGEgdHdvLXBoYXNlLCBjYXB0dXJlL2J1YmJsZSBldmVudCBkaXNwYXRjaC5cXG4gKi9cXG5cXG5mdW5jdGlvbiB0cmF2ZXJzZVR3b1BoYXNlKGluc3QsIGZuLCBhcmcpIHtcXG4gIHZhciBwYXRoID0gW107XFxuXFxuICB3aGlsZSAoaW5zdCkge1xcbiAgICBwYXRoLnB1c2goaW5zdCk7XFxuICAgIGluc3QgPSBnZXRQYXJlbnQoaW5zdCk7XFxuICB9XFxuXFxuICB2YXIgaTtcXG5cXG4gIGZvciAoaSA9IHBhdGgubGVuZ3RoOyBpLS0gPiAwOykge1xcbiAgICBmbihwYXRoW2ldLCAnY2FwdHVyZWQnLCBhcmcpO1xcbiAgfVxcblxcbiAgZm9yIChpID0gMDsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHtcXG4gICAgZm4ocGF0aFtpXSwgJ2J1YmJsZWQnLCBhcmcpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBUcmF2ZXJzZXMgdGhlIElEIGhpZXJhcmNoeSBhbmQgaW52b2tlcyB0aGUgc3VwcGxpZWQgYGNiYCBvbiBhbnkgSURzIHRoYXRcXG4gKiBzaG91bGQgd291bGQgcmVjZWl2ZSBhIGBtb3VzZUVudGVyYCBvciBgbW91c2VMZWF2ZWAgZXZlbnQuXFxuICpcXG4gKiBEb2VzIG5vdCBpbnZva2UgdGhlIGNhbGxiYWNrIG9uIHRoZSBuZWFyZXN0IGNvbW1vbiBhbmNlc3RvciBiZWNhdXNlIG5vdGhpbmdcXG4gKiBcXFwiZW50ZXJlZFxcXCIgb3IgXFxcImxlZnRcXFwiIHRoYXQgZWxlbWVudC5cXG4gKi9cXG5cXG5mdW5jdGlvbiB0cmF2ZXJzZUVudGVyTGVhdmUoZnJvbSwgdG8sIGZuLCBhcmdGcm9tLCBhcmdUbykge1xcbiAgdmFyIGNvbW1vbiA9IGZyb20gJiYgdG8gPyBnZXRMb3dlc3RDb21tb25BbmNlc3Rvcihmcm9tLCB0bykgOiBudWxsO1xcbiAgdmFyIHBhdGhGcm9tID0gW107XFxuXFxuICB3aGlsZSAodHJ1ZSkge1xcbiAgICBpZiAoIWZyb20pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAoZnJvbSA9PT0gY29tbW9uKSB7XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgdmFyIGFsdGVybmF0ZSA9IGZyb20uYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZSA9PT0gY29tbW9uKSB7XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgcGF0aEZyb20ucHVzaChmcm9tKTtcXG4gICAgZnJvbSA9IGdldFBhcmVudChmcm9tKTtcXG4gIH1cXG5cXG4gIHZhciBwYXRoVG8gPSBbXTtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIGlmICghdG8pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBpZiAodG8gPT09IGNvbW1vbikge1xcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciBfYWx0ZXJuYXRlID0gdG8uYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAoX2FsdGVybmF0ZSAhPT0gbnVsbCAmJiBfYWx0ZXJuYXRlID09PSBjb21tb24pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBwYXRoVG8ucHVzaCh0byk7XFxuICAgIHRvID0gZ2V0UGFyZW50KHRvKTtcXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0aEZyb20ubGVuZ3RoOyBpKyspIHtcXG4gICAgZm4ocGF0aEZyb21baV0sICdidWJibGVkJywgYXJnRnJvbSk7XFxuICB9XFxuXFxuICBmb3IgKHZhciBfaSA9IHBhdGhUby5sZW5ndGg7IF9pLS0gPiAwOykge1xcbiAgICBmbihwYXRoVG9bX2ldLCAnY2FwdHVyZWQnLCBhcmdUbyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzSW50ZXJhY3RpdmUodGFnKSB7XFxuICByZXR1cm4gdGFnID09PSAnYnV0dG9uJyB8fCB0YWcgPT09ICdpbnB1dCcgfHwgdGFnID09PSAnc2VsZWN0JyB8fCB0YWcgPT09ICd0ZXh0YXJlYSc7XFxufVxcblxcbmZ1bmN0aW9uIHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KG5hbWUsIHR5cGUsIHByb3BzKSB7XFxuICBzd2l0Y2ggKG5hbWUpIHtcXG4gICAgY2FzZSAnb25DbGljayc6XFxuICAgIGNhc2UgJ29uQ2xpY2tDYXB0dXJlJzpcXG4gICAgY2FzZSAnb25Eb3VibGVDbGljayc6XFxuICAgIGNhc2UgJ29uRG91YmxlQ2xpY2tDYXB0dXJlJzpcXG4gICAgY2FzZSAnb25Nb3VzZURvd24nOlxcbiAgICBjYXNlICdvbk1vdXNlRG93bkNhcHR1cmUnOlxcbiAgICBjYXNlICdvbk1vdXNlTW92ZSc6XFxuICAgIGNhc2UgJ29uTW91c2VNb3ZlQ2FwdHVyZSc6XFxuICAgIGNhc2UgJ29uTW91c2VVcCc6XFxuICAgIGNhc2UgJ29uTW91c2VVcENhcHR1cmUnOlxcbiAgICBjYXNlICdvbk1vdXNlRW50ZXInOlxcbiAgICAgIHJldHVybiAhIShwcm9wcy5kaXNhYmxlZCAmJiBpc0ludGVyYWN0aXZlKHR5cGUpKTtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcbi8qKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBpbnN0IFRoZSBpbnN0YW5jZSwgd2hpY2ggaXMgdGhlIHNvdXJjZSBvZiBldmVudHMuXFxuICogQHBhcmFtIHtzdHJpbmd9IHJlZ2lzdHJhdGlvbk5hbWUgTmFtZSBvZiBsaXN0ZW5lciAoZS5nLiBgb25DbGlja2ApLlxcbiAqIEByZXR1cm4gez9mdW5jdGlvbn0gVGhlIHN0b3JlZCBjYWxsYmFjay5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRMaXN0ZW5lcihpbnN0LCByZWdpc3RyYXRpb25OYW1lKSB7XFxuICB2YXIgbGlzdGVuZXI7IC8vIFRPRE86IHNob3VsZFByZXZlbnRNb3VzZUV2ZW50IGlzIERPTS1zcGVjaWZpYyBhbmQgZGVmaW5pdGVseSBzaG91bGQgbm90XFxuICAvLyBsaXZlIGhlcmU7IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGEgYmV0dGVyIHBsYWNlIHNvb25cXG5cXG4gIHZhciBzdGF0ZU5vZGUgPSBpbnN0LnN0YXRlTm9kZTtcXG5cXG4gIGlmICghc3RhdGVOb2RlKSB7XFxuICAgIC8vIFdvcmsgaW4gcHJvZ3Jlc3MgKGV4OiBvbmxvYWQgZXZlbnRzIGluIGluY3JlbWVudGFsIG1vZGUpLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHZhciBwcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUoc3RhdGVOb2RlKTtcXG5cXG4gIGlmICghcHJvcHMpIHtcXG4gICAgLy8gV29yayBpbiBwcm9ncmVzcy5cXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBsaXN0ZW5lciA9IHByb3BzW3JlZ2lzdHJhdGlvbk5hbWVdO1xcblxcbiAgaWYgKHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGluc3QudHlwZSwgcHJvcHMpKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgaWYgKCEoIWxpc3RlbmVyIHx8IHR5cGVvZiBsaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiRXhwZWN0ZWQgYFxcXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXFxcImAgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgXFxcIiArIHR5cGVvZiBsaXN0ZW5lciArIFxcXCJgIHR5cGUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbGlzdGVuZXI7XFxufVxcblxcbi8qKlxcbiAqIFNvbWUgZXZlbnQgdHlwZXMgaGF2ZSBhIG5vdGlvbiBvZiBkaWZmZXJlbnQgcmVnaXN0cmF0aW9uIG5hbWVzIGZvciBkaWZmZXJlbnRcXG4gKiBcXFwicGhhc2VzXFxcIiBvZiBwcm9wYWdhdGlvbi4gVGhpcyBmaW5kcyBsaXN0ZW5lcnMgYnkgYSBnaXZlbiBwaGFzZS5cXG4gKi9cXG5mdW5jdGlvbiBsaXN0ZW5lckF0UGhhc2UoaW5zdCwgZXZlbnQsIHByb3BhZ2F0aW9uUGhhc2UpIHtcXG4gIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuZGlzcGF0Y2hDb25maWcucGhhc2VkUmVnaXN0cmF0aW9uTmFtZXNbcHJvcGFnYXRpb25QaGFzZV07XFxuICByZXR1cm4gZ2V0TGlzdGVuZXIoaW5zdCwgcmVnaXN0cmF0aW9uTmFtZSk7XFxufVxcbi8qKlxcbiAqIEEgc21hbGwgc2V0IG9mIHByb3BhZ2F0aW9uIHBhdHRlcm5zLCBlYWNoIG9mIHdoaWNoIHdpbGwgYWNjZXB0IGEgc21hbGwgYW1vdW50XFxuICogb2YgaW5mb3JtYXRpb24sIGFuZCBnZW5lcmF0ZSBhIHNldCBvZiBcXFwiZGlzcGF0Y2ggcmVhZHkgZXZlbnQgb2JqZWN0c1xcXCIgLSB3aGljaFxcbiAqIGFyZSBzZXRzIG9mIGV2ZW50cyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGFubm90YXRlZCB3aXRoIGEgc2V0IG9mIGRpc3BhdGNoZWRcXG4gKiBsaXN0ZW5lciBmdW5jdGlvbnMvaWRzLiBUaGUgQVBJIGlzIGRlc2lnbmVkIHRoaXMgd2F5IHRvIGRpc2NvdXJhZ2UgdGhlc2VcXG4gKiBwcm9wYWdhdGlvbiBzdHJhdGVnaWVzIGZyb20gYWN0dWFsbHkgZXhlY3V0aW5nIHRoZSBkaXNwYXRjaGVzLCBzaW5jZSB3ZVxcbiAqIGFsd2F5cyB3YW50IHRvIGNvbGxlY3QgdGhlIGVudGlyZSBzZXQgb2YgZGlzcGF0Y2hlcyBiZWZvcmUgZXhlY3V0aW5nIGV2ZW4gYVxcbiAqIHNpbmdsZSBvbmUuXFxuICovXFxuXFxuLyoqXFxuICogVGFncyBhIGBTeW50aGV0aWNFdmVudGAgd2l0aCBkaXNwYXRjaGVkIGxpc3RlbmVycy4gQ3JlYXRpbmcgdGhpcyBmdW5jdGlvblxcbiAqIGhlcmUsIGFsbG93cyB1cyB0byBub3QgaGF2ZSB0byBiaW5kIG9yIGNyZWF0ZSBmdW5jdGlvbnMgZm9yIGVhY2ggZXZlbnQuXFxuICogTXV0YXRpbmcgdGhlIGV2ZW50J3MgbWVtYmVycyBhbGxvd3MgdXMgdG8gbm90IGhhdmUgdG8gY3JlYXRlIGEgd3JhcHBpbmdcXG4gKiBcXFwiZGlzcGF0Y2hcXFwiIG9iamVjdCB0aGF0IHBhaXJzIHRoZSBldmVudCB3aXRoIHRoZSBsaXN0ZW5lci5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlyZWN0aW9uYWxEaXNwYXRjaGVzKGluc3QsIHBoYXNlLCBldmVudCkge1xcbiAge1xcbiAgICBpZiAoIWluc3QpIHtcXG4gICAgICBlcnJvcignRGlzcGF0Y2hpbmcgaW5zdCBtdXN0IG5vdCBiZSBudWxsJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBsaXN0ZW5lciA9IGxpc3RlbmVyQXRQaGFzZShpbnN0LCBldmVudCwgcGhhc2UpO1xcblxcbiAgaWYgKGxpc3RlbmVyKSB7XFxuICAgIGV2ZW50Ll9kaXNwYXRjaExpc3RlbmVycyA9IGFjY3VtdWxhdGVJbnRvKGV2ZW50Ll9kaXNwYXRjaExpc3RlbmVycywgbGlzdGVuZXIpO1xcbiAgICBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMsIGluc3QpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBDb2xsZWN0IGRpc3BhdGNoZXMgKG11c3QgYmUgZW50aXJlbHkgY29sbGVjdGVkIGJlZm9yZSBkaXNwYXRjaGluZyAtIHNlZSB1bml0XFxuICogdGVzdHMpLiBMYXppbHkgYWxsb2NhdGUgdGhlIGFycmF5IHRvIGNvbnNlcnZlIG1lbW9yeS4gIFdlIG11c3QgbG9vcCB0aHJvdWdoXFxuICogZWFjaCBldmVudCBhbmQgcGVyZm9ybSB0aGUgdHJhdmVyc2FsIGZvciBlYWNoIG9uZS4gV2UgY2Fubm90IHBlcmZvcm0gYVxcbiAqIHNpbmdsZSB0cmF2ZXJzYWwgZm9yIHRoZSBlbnRpcmUgY29sbGVjdGlvbiBvZiBldmVudHMgYmVjYXVzZSBlYWNoIGV2ZW50IG1heVxcbiAqIGhhdmUgYSBkaWZmZXJlbnQgdGFyZ2V0LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXNTaW5nbGUoZXZlbnQpIHtcXG4gIGlmIChldmVudCAmJiBldmVudC5kaXNwYXRjaENvbmZpZy5waGFzZWRSZWdpc3RyYXRpb25OYW1lcykge1xcbiAgICB0cmF2ZXJzZVR3b1BoYXNlKGV2ZW50Ll90YXJnZXRJbnN0LCBhY2N1bXVsYXRlRGlyZWN0aW9uYWxEaXNwYXRjaGVzLCBldmVudCk7XFxuICB9XFxufVxcbi8qKlxcbiAqIEFjY3VtdWxhdGVzIHdpdGhvdXQgcmVnYXJkIHRvIGRpcmVjdGlvbiwgZG9lcyBub3QgbG9vayBmb3IgcGhhc2VkXFxuICogcmVnaXN0cmF0aW9uIG5hbWVzLiBTYW1lIGFzIGBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZWAgYnV0IHdpdGhvdXRcXG4gKiByZXF1aXJpbmcgdGhhdCB0aGUgYGRpc3BhdGNoTWFya2VyYCBiZSB0aGUgc2FtZSBhcyB0aGUgZGlzcGF0Y2hlZCBJRC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlzcGF0Y2hlcyhpbnN0LCBpZ25vcmVkRGlyZWN0aW9uLCBldmVudCkge1xcbiAgaWYgKGluc3QgJiYgZXZlbnQgJiYgZXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSkge1xcbiAgICB2YXIgcmVnaXN0cmF0aW9uTmFtZSA9IGV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWU7XFxuICAgIHZhciBsaXN0ZW5lciA9IGdldExpc3RlbmVyKGluc3QsIHJlZ2lzdHJhdGlvbk5hbWUpO1xcblxcbiAgICBpZiAobGlzdGVuZXIpIHtcXG4gICAgICBldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnMsIGxpc3RlbmVyKTtcXG4gICAgICBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMsIGluc3QpO1xcbiAgICB9XFxuICB9XFxufVxcbi8qKlxcbiAqIEFjY3VtdWxhdGVzIGRpc3BhdGNoZXMgb24gYW4gYFN5bnRoZXRpY0V2ZW50YCwgYnV0IG9ubHkgZm9yIHRoZVxcbiAqIGBkaXNwYXRjaE1hcmtlcmAuXFxuICogQHBhcmFtIHtTeW50aGV0aWNFdmVudH0gZXZlbnRcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZShldmVudCkge1xcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUpIHtcXG4gICAgYWNjdW11bGF0ZURpc3BhdGNoZXMoZXZlbnQuX3RhcmdldEluc3QsIG51bGwsIGV2ZW50KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhldmVudHMpIHtcXG4gIGZvckVhY2hBY2N1bXVsYXRlZChldmVudHMsIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXNTaW5nbGUpO1xcbn1cXG5mdW5jdGlvbiBhY2N1bXVsYXRlRW50ZXJMZWF2ZURpc3BhdGNoZXMobGVhdmUsIGVudGVyLCBmcm9tLCB0bykge1xcbiAgdHJhdmVyc2VFbnRlckxlYXZlKGZyb20sIHRvLCBhY2N1bXVsYXRlRGlzcGF0Y2hlcywgbGVhdmUsIGVudGVyKTtcXG59XFxuZnVuY3Rpb24gYWNjdW11bGF0ZURpcmVjdERpc3BhdGNoZXMoZXZlbnRzKSB7XFxuICBmb3JFYWNoQWNjdW11bGF0ZWQoZXZlbnRzLCBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZSk7XFxufVxcblxcbi8qKlxcbiAqIFRoZXNlIHZhcmlhYmxlcyBzdG9yZSBpbmZvcm1hdGlvbiBhYm91dCB0ZXh0IGNvbnRlbnQgb2YgYSB0YXJnZXQgbm9kZSxcXG4gKiBhbGxvd2luZyBjb21wYXJpc29uIG9mIGNvbnRlbnQgYmVmb3JlIGFuZCBhZnRlciBhIGdpdmVuIGV2ZW50LlxcbiAqXFxuICogSWRlbnRpZnkgdGhlIG5vZGUgd2hlcmUgc2VsZWN0aW9uIGN1cnJlbnRseSBiZWdpbnMsIHRoZW4gb2JzZXJ2ZVxcbiAqIGJvdGggaXRzIHRleHQgY29udGVudCBhbmQgaXRzIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIERPTS4gU2luY2UgdGhlXFxuICogYnJvd3NlciBtYXkgbmF0aXZlbHkgcmVwbGFjZSB0aGUgdGFyZ2V0IG5vZGUgZHVyaW5nIGNvbXBvc2l0aW9uLCB3ZSBjYW5cXG4gKiB1c2UgaXRzIHBvc2l0aW9uIHRvIGZpbmQgaXRzIHJlcGxhY2VtZW50LlxcbiAqXFxuICpcXG4gKi9cXG52YXIgcm9vdCA9IG51bGw7XFxudmFyIHN0YXJ0VGV4dCA9IG51bGw7XFxudmFyIGZhbGxiYWNrVGV4dCA9IG51bGw7XFxuZnVuY3Rpb24gaW5pdGlhbGl6ZShuYXRpdmVFdmVudFRhcmdldCkge1xcbiAgcm9vdCA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xcbiAgc3RhcnRUZXh0ID0gZ2V0VGV4dCgpO1xcbiAgcmV0dXJuIHRydWU7XFxufVxcbmZ1bmN0aW9uIHJlc2V0KCkge1xcbiAgcm9vdCA9IG51bGw7XFxuICBzdGFydFRleHQgPSBudWxsO1xcbiAgZmFsbGJhY2tUZXh0ID0gbnVsbDtcXG59XFxuZnVuY3Rpb24gZ2V0RGF0YSgpIHtcXG4gIGlmIChmYWxsYmFja1RleHQpIHtcXG4gICAgcmV0dXJuIGZhbGxiYWNrVGV4dDtcXG4gIH1cXG5cXG4gIHZhciBzdGFydDtcXG4gIHZhciBzdGFydFZhbHVlID0gc3RhcnRUZXh0O1xcbiAgdmFyIHN0YXJ0TGVuZ3RoID0gc3RhcnRWYWx1ZS5sZW5ndGg7XFxuICB2YXIgZW5kO1xcbiAgdmFyIGVuZFZhbHVlID0gZ2V0VGV4dCgpO1xcbiAgdmFyIGVuZExlbmd0aCA9IGVuZFZhbHVlLmxlbmd0aDtcXG5cXG4gIGZvciAoc3RhcnQgPSAwOyBzdGFydCA8IHN0YXJ0TGVuZ3RoOyBzdGFydCsrKSB7XFxuICAgIGlmIChzdGFydFZhbHVlW3N0YXJ0XSAhPT0gZW5kVmFsdWVbc3RhcnRdKSB7XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBtaW5FbmQgPSBzdGFydExlbmd0aCAtIHN0YXJ0O1xcblxcbiAgZm9yIChlbmQgPSAxOyBlbmQgPD0gbWluRW5kOyBlbmQrKykge1xcbiAgICBpZiAoc3RhcnRWYWx1ZVtzdGFydExlbmd0aCAtIGVuZF0gIT09IGVuZFZhbHVlW2VuZExlbmd0aCAtIGVuZF0pIHtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHNsaWNlVGFpbCA9IGVuZCA+IDEgPyAxIC0gZW5kIDogdW5kZWZpbmVkO1xcbiAgZmFsbGJhY2tUZXh0ID0gZW5kVmFsdWUuc2xpY2Uoc3RhcnQsIHNsaWNlVGFpbCk7XFxuICByZXR1cm4gZmFsbGJhY2tUZXh0O1xcbn1cXG5mdW5jdGlvbiBnZXRUZXh0KCkge1xcbiAgaWYgKCd2YWx1ZScgaW4gcm9vdCkge1xcbiAgICByZXR1cm4gcm9vdC52YWx1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiByb290LnRleHRDb250ZW50O1xcbn1cXG5cXG52YXIgRVZFTlRfUE9PTF9TSVpFID0gMTA7XFxuLyoqXFxuICogQGludGVyZmFjZSBFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBFdmVudEludGVyZmFjZSA9IHtcXG4gIHR5cGU6IG51bGwsXFxuICB0YXJnZXQ6IG51bGwsXFxuICAvLyBjdXJyZW50VGFyZ2V0IGlzIHNldCB3aGVuIGRpc3BhdGNoaW5nOyBubyB1c2UgaW4gY29weWluZyBpdCBoZXJlXFxuICBjdXJyZW50VGFyZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfSxcXG4gIGV2ZW50UGhhc2U6IG51bGwsXFxuICBidWJibGVzOiBudWxsLFxcbiAgY2FuY2VsYWJsZTogbnVsbCxcXG4gIHRpbWVTdGFtcDogZnVuY3Rpb24gKGV2ZW50KSB7XFxuICAgIHJldHVybiBldmVudC50aW1lU3RhbXAgfHwgRGF0ZS5ub3coKTtcXG4gIH0sXFxuICBkZWZhdWx0UHJldmVudGVkOiBudWxsLFxcbiAgaXNUcnVzdGVkOiBudWxsXFxufTtcXG5cXG5mdW5jdGlvbiBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZSgpIHtcXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UoKSB7XFxuICByZXR1cm4gZmFsc2U7XFxufVxcbi8qKlxcbiAqIFN5bnRoZXRpYyBldmVudHMgYXJlIGRpc3BhdGNoZWQgYnkgZXZlbnQgcGx1Z2lucywgdHlwaWNhbGx5IGluIHJlc3BvbnNlIHRvIGFcXG4gKiB0b3AtbGV2ZWwgZXZlbnQgZGVsZWdhdGlvbiBoYW5kbGVyLlxcbiAqXFxuICogVGhlc2Ugc3lzdGVtcyBzaG91bGQgZ2VuZXJhbGx5IHVzZSBwb29saW5nIHRvIHJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIGdhcmJhZ2VcXG4gKiBjb2xsZWN0aW9uLiBUaGUgc3lzdGVtIHNob3VsZCBjaGVjayBgaXNQZXJzaXN0ZW50YCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGVcXG4gKiBldmVudCBzaG91bGQgYmUgcmVsZWFzZWQgaW50byB0aGUgcG9vbCBhZnRlciBiZWluZyBkaXNwYXRjaGVkLiBVc2VycyB0aGF0XFxuICogbmVlZCBhIHBlcnNpc3RlZCBldmVudCBzaG91bGQgaW52b2tlIGBwZXJzaXN0YC5cXG4gKlxcbiAqIFN5bnRoZXRpYyBldmVudHMgKGFuZCBzdWJjbGFzc2VzKSBpbXBsZW1lbnQgdGhlIERPTSBMZXZlbCAzIEV2ZW50cyBBUEkgYnlcXG4gKiBub3JtYWxpemluZyBicm93c2VyIHF1aXJrcy4gU3ViY2xhc3NlcyBkbyBub3QgbmVjZXNzYXJpbHkgaGF2ZSB0byBpbXBsZW1lbnQgYVxcbiAqIERPTSBpbnRlcmZhY2U7IGN1c3RvbSBhcHBsaWNhdGlvbi1zcGVjaWZpYyBldmVudHMgY2FuIGFsc28gc3ViY2xhc3MgdGhpcy5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBkaXNwYXRjaENvbmZpZyBDb25maWd1cmF0aW9uIHVzZWQgdG8gZGlzcGF0Y2ggdGhpcyBldmVudC5cXG4gKiBAcGFyYW0geyp9IHRhcmdldEluc3QgTWFya2VyIGlkZW50aWZ5aW5nIHRoZSBldmVudCB0YXJnZXQuXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxcbiAqIEBwYXJhbSB7RE9NRXZlbnRUYXJnZXR9IG5hdGl2ZUV2ZW50VGFyZ2V0IFRhcmdldCBub2RlLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIFN5bnRoZXRpY0V2ZW50KGRpc3BhdGNoQ29uZmlnLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcXG4gIHtcXG4gICAgLy8gdGhlc2UgaGF2ZSBhIGdldHRlci9zZXR0ZXIgZm9yIHdhcm5pbmdzXFxuICAgIGRlbGV0ZSB0aGlzLm5hdGl2ZUV2ZW50O1xcbiAgICBkZWxldGUgdGhpcy5wcmV2ZW50RGVmYXVsdDtcXG4gICAgZGVsZXRlIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xcbiAgICBkZWxldGUgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ7XFxuICAgIGRlbGV0ZSB0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkO1xcbiAgfVxcblxcbiAgdGhpcy5kaXNwYXRjaENvbmZpZyA9IGRpc3BhdGNoQ29uZmlnO1xcbiAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XFxuICB0aGlzLm5hdGl2ZUV2ZW50ID0gbmF0aXZlRXZlbnQ7XFxuICB2YXIgSW50ZXJmYWNlID0gdGhpcy5jb25zdHJ1Y3Rvci5JbnRlcmZhY2U7XFxuXFxuICBmb3IgKHZhciBwcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcXG4gICAgaWYgKCFJbnRlcmZhY2UuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGRlbGV0ZSB0aGlzW3Byb3BOYW1lXTsgLy8gdGhpcyBoYXMgYSBnZXR0ZXIvc2V0dGVyIGZvciB3YXJuaW5nc1xcbiAgICB9XFxuXFxuICAgIHZhciBub3JtYWxpemUgPSBJbnRlcmZhY2VbcHJvcE5hbWVdO1xcblxcbiAgICBpZiAobm9ybWFsaXplKSB7XFxuICAgICAgdGhpc1twcm9wTmFtZV0gPSBub3JtYWxpemUobmF0aXZlRXZlbnQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGlmIChwcm9wTmFtZSA9PT0gJ3RhcmdldCcpIHtcXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gbmF0aXZlRXZlbnRUYXJnZXQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHRoaXNbcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbcHJvcE5hbWVdO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGRlZmF1bHRQcmV2ZW50ZWQgPSBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkICE9IG51bGwgPyBuYXRpdmVFdmVudC5kZWZhdWx0UHJldmVudGVkIDogbmF0aXZlRXZlbnQucmV0dXJuVmFsdWUgPT09IGZhbHNlO1xcblxcbiAgaWYgKGRlZmF1bHRQcmV2ZW50ZWQpIHtcXG4gICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcXG4gIH0gZWxzZSB7XFxuICAgIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlO1xcbiAgfVxcblxcbiAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcXG4gIHJldHVybiB0aGlzO1xcbn1cXG5cXG5fYXNzaWduKFN5bnRoZXRpY0V2ZW50LnByb3RvdHlwZSwge1xcbiAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gdHJ1ZTtcXG4gICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcXG5cXG4gICAgaWYgKCFldmVudCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoZXZlbnQucHJldmVudERlZmF1bHQpIHtcXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBldmVudC5yZXR1cm5WYWx1ZSAhPT0gJ3Vua25vd24nKSB7XFxuICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBmYWxzZTtcXG4gICAgfVxcblxcbiAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xcbiAgfSxcXG4gIHN0b3BQcm9wYWdhdGlvbjogZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgZXZlbnQgPSB0aGlzLm5hdGl2ZUV2ZW50O1xcblxcbiAgICBpZiAoIWV2ZW50KSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmIChldmVudC5zdG9wUHJvcGFnYXRpb24pIHtcXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZXZlbnQuY2FuY2VsQnViYmxlICE9PSAndW5rbm93bicpIHtcXG4gICAgICAvLyBUaGUgQ2hhbmdlRXZlbnRQbHVnaW4gcmVnaXN0ZXJzIGEgXFxcInByb3BlcnR5Y2hhbmdlXFxcIiBldmVudCBmb3JcXG4gICAgICAvLyBJRS4gVGhpcyBldmVudCBkb2VzIG5vdCBzdXBwb3J0IGJ1YmJsaW5nIG9yIGNhbmNlbGxpbmcsIGFuZFxcbiAgICAgIC8vIGFueSByZWZlcmVuY2VzIHRvIGNhbmNlbEJ1YmJsZSB0aHJvdyBcXFwiTWVtYmVyIG5vdCBmb3VuZFxcXCIuICBBXFxuICAgICAgLy8gdHlwZW9mIGNoZWNrIG9mIFxcXCJ1bmtub3duXFxcIiBjaXJjdW12ZW50cyB0aGlzIGlzc3VlIChhbmQgaXMgYWxzb1xcbiAgICAgIC8vIElFIHNwZWNpZmljKS5cXG4gICAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcXG4gIH0sXFxuXFxuICAvKipcXG4gICAqIFdlIHJlbGVhc2UgYWxsIGRpc3BhdGNoZWQgYFN5bnRoZXRpY0V2ZW50YHMgYWZ0ZXIgZWFjaCBldmVudCBsb29wLCBhZGRpbmdcXG4gICAqIHRoZW0gYmFjayBpbnRvIHRoZSBwb29sLiBUaGlzIGFsbG93cyBhIHdheSB0byBob2xkIG9udG8gYSByZWZlcmVuY2UgdGhhdFxcbiAgICogd29uJ3QgYmUgYWRkZWQgYmFjayBpbnRvIHRoZSBwb29sLlxcbiAgICovXFxuICBwZXJzaXN0OiBmdW5jdGlvbiAoKSB7XFxuICAgIHRoaXMuaXNQZXJzaXN0ZW50ID0gZnVuY3Rpb25UaGF0UmV0dXJuc1RydWU7XFxuICB9LFxcblxcbiAgLyoqXFxuICAgKiBDaGVja3MgaWYgdGhpcyBldmVudCBzaG91bGQgYmUgcmVsZWFzZWQgYmFjayBpbnRvIHRoZSBwb29sLlxcbiAgICpcXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhpcyBzaG91bGQgbm90IGJlIHJlbGVhc2VkLCBmYWxzZSBvdGhlcndpc2UuXFxuICAgKi9cXG4gIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlLFxcblxcbiAgLyoqXFxuICAgKiBgUG9vbGVkQ2xhc3NgIGxvb2tzIGZvciBgZGVzdHJ1Y3RvcmAgb24gZWFjaCBpbnN0YW5jZSBpdCByZWxlYXNlcy5cXG4gICAqL1xcbiAgZGVzdHJ1Y3RvcjogZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgSW50ZXJmYWNlID0gdGhpcy5jb25zdHJ1Y3Rvci5JbnRlcmZhY2U7XFxuXFxuICAgIGZvciAodmFyIHByb3BOYW1lIGluIEludGVyZmFjZSkge1xcbiAgICAgIHtcXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wTmFtZSwgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbihwcm9wTmFtZSwgSW50ZXJmYWNlW3Byb3BOYW1lXSkpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB0aGlzLmRpc3BhdGNoQ29uZmlnID0gbnVsbDtcXG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IG51bGw7XFxuICAgIHRoaXMubmF0aXZlRXZlbnQgPSBudWxsO1xcbiAgICB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcXG4gICAgdGhpcy5fZGlzcGF0Y2hMaXN0ZW5lcnMgPSBudWxsO1xcbiAgICB0aGlzLl9kaXNwYXRjaEluc3RhbmNlcyA9IG51bGw7XFxuXFxuICAgIHtcXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ25hdGl2ZUV2ZW50JywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignbmF0aXZlRXZlbnQnLCBudWxsKSk7XFxuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdpc0RlZmF1bHRQcmV2ZW50ZWQnLCBnZXRQb29sZWRXYXJuaW5nUHJvcGVydHlEZWZpbml0aW9uKCdpc0RlZmF1bHRQcmV2ZW50ZWQnLCBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UpKTtcXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ2lzUHJvcGFnYXRpb25TdG9wcGVkJywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignaXNQcm9wYWdhdGlvblN0b3BwZWQnLCBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UpKTtcXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3ByZXZlbnREZWZhdWx0JywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbigncHJldmVudERlZmF1bHQnLCBmdW5jdGlvbiAoKSB7fSkpO1xcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnc3RvcFByb3BhZ2F0aW9uJywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignc3RvcFByb3BhZ2F0aW9uJywgZnVuY3Rpb24gKCkge30pKTtcXG4gICAgfVxcbiAgfVxcbn0pO1xcblxcblN5bnRoZXRpY0V2ZW50LkludGVyZmFjZSA9IEV2ZW50SW50ZXJmYWNlO1xcbi8qKlxcbiAqIEhlbHBlciB0byByZWR1Y2UgYm9pbGVycGxhdGUgd2hlbiBjcmVhdGluZyBzdWJjbGFzc2VzLlxcbiAqL1xcblxcblN5bnRoZXRpY0V2ZW50LmV4dGVuZCA9IGZ1bmN0aW9uIChJbnRlcmZhY2UpIHtcXG4gIHZhciBTdXBlciA9IHRoaXM7XFxuXFxuICB2YXIgRSA9IGZ1bmN0aW9uICgpIHt9O1xcblxcbiAgRS5wcm90b3R5cGUgPSBTdXBlci5wcm90b3R5cGU7XFxuICB2YXIgcHJvdG90eXBlID0gbmV3IEUoKTtcXG5cXG4gIGZ1bmN0aW9uIENsYXNzKCkge1xcbiAgICByZXR1cm4gU3VwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG4gIH1cXG5cXG4gIF9hc3NpZ24ocHJvdG90eXBlLCBDbGFzcy5wcm90b3R5cGUpO1xcblxcbiAgQ2xhc3MucHJvdG90eXBlID0gcHJvdG90eXBlO1xcbiAgQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gQ2xhc3M7XFxuICBDbGFzcy5JbnRlcmZhY2UgPSBfYXNzaWduKHt9LCBTdXBlci5JbnRlcmZhY2UsIEludGVyZmFjZSk7XFxuICBDbGFzcy5leHRlbmQgPSBTdXBlci5leHRlbmQ7XFxuICBhZGRFdmVudFBvb2xpbmdUbyhDbGFzcyk7XFxuICByZXR1cm4gQ2xhc3M7XFxufTtcXG5cXG5hZGRFdmVudFBvb2xpbmdUbyhTeW50aGV0aWNFdmVudCk7XFxuLyoqXFxuICogSGVscGVyIHRvIG51bGxpZnkgc3ludGhldGljRXZlbnQgaW5zdGFuY2UgcHJvcGVydGllcyB3aGVuIGRlc3RydWN0aW5nXFxuICpcXG4gKiBAcGFyYW0ge1N0cmluZ30gcHJvcE5hbWVcXG4gKiBAcGFyYW0gez9vYmplY3R9IGdldFZhbFxcbiAqIEByZXR1cm4ge29iamVjdH0gZGVmaW5lUHJvcGVydHkgb2JqZWN0XFxuICovXFxuXFxuZnVuY3Rpb24gZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbihwcm9wTmFtZSwgZ2V0VmFsKSB7XFxuICB2YXIgaXNGdW5jdGlvbiA9IHR5cGVvZiBnZXRWYWwgPT09ICdmdW5jdGlvbic7XFxuICByZXR1cm4ge1xcbiAgICBjb25maWd1cmFibGU6IHRydWUsXFxuICAgIHNldDogc2V0LFxcbiAgICBnZXQ6IGdldFxcbiAgfTtcXG5cXG4gIGZ1bmN0aW9uIHNldCh2YWwpIHtcXG4gICAgdmFyIGFjdGlvbiA9IGlzRnVuY3Rpb24gPyAnc2V0dGluZyB0aGUgbWV0aG9kJyA6ICdzZXR0aW5nIHRoZSBwcm9wZXJ0eSc7XFxuICAgIHdhcm4oYWN0aW9uLCAnVGhpcyBpcyBlZmZlY3RpdmVseSBhIG5vLW9wJyk7XFxuICAgIHJldHVybiB2YWw7XFxuICB9XFxuXFxuICBmdW5jdGlvbiBnZXQoKSB7XFxuICAgIHZhciBhY3Rpb24gPSBpc0Z1bmN0aW9uID8gJ2FjY2Vzc2luZyB0aGUgbWV0aG9kJyA6ICdhY2Nlc3NpbmcgdGhlIHByb3BlcnR5JztcXG4gICAgdmFyIHJlc3VsdCA9IGlzRnVuY3Rpb24gPyAnVGhpcyBpcyBhIG5vLW9wIGZ1bmN0aW9uJyA6ICdUaGlzIGlzIHNldCB0byBudWxsJztcXG4gICAgd2FybihhY3Rpb24sIHJlc3VsdCk7XFxuICAgIHJldHVybiBnZXRWYWw7XFxuICB9XFxuXFxuICBmdW5jdGlvbiB3YXJuKGFjdGlvbiwgcmVzdWx0KSB7XFxuICAgIHtcXG4gICAgICBlcnJvcihcXFwiVGhpcyBzeW50aGV0aWMgZXZlbnQgaXMgcmV1c2VkIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiBJZiB5b3UncmUgc2VlaW5nIHRoaXMsIFxcXCIgKyBcXFwieW91J3JlICVzIGAlc2Agb24gYSByZWxlYXNlZC9udWxsaWZpZWQgc3ludGhldGljIGV2ZW50LiAlcy4gXFxcIiArICdJZiB5b3UgbXVzdCBrZWVwIHRoZSBvcmlnaW5hbCBzeW50aGV0aWMgZXZlbnQgYXJvdW5kLCB1c2UgZXZlbnQucGVyc2lzdCgpLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LWV2ZW50LXBvb2xpbmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgYWN0aW9uLCBwcm9wTmFtZSwgcmVzdWx0KTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRQb29sZWRFdmVudChkaXNwYXRjaENvbmZpZywgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUluc3QpIHtcXG4gIHZhciBFdmVudENvbnN0cnVjdG9yID0gdGhpcztcXG5cXG4gIGlmIChFdmVudENvbnN0cnVjdG9yLmV2ZW50UG9vbC5sZW5ndGgpIHtcXG4gICAgdmFyIGluc3RhbmNlID0gRXZlbnRDb25zdHJ1Y3Rvci5ldmVudFBvb2wucG9wKCk7XFxuICAgIEV2ZW50Q29uc3RydWN0b3IuY2FsbChpbnN0YW5jZSwgZGlzcGF0Y2hDb25maWcsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVJbnN0KTtcXG4gICAgcmV0dXJuIGluc3RhbmNlO1xcbiAgfVxcblxcbiAgcmV0dXJuIG5ldyBFdmVudENvbnN0cnVjdG9yKGRpc3BhdGNoQ29uZmlnLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlSW5zdCk7XFxufVxcblxcbmZ1bmN0aW9uIHJlbGVhc2VQb29sZWRFdmVudChldmVudCkge1xcbiAgdmFyIEV2ZW50Q29uc3RydWN0b3IgPSB0aGlzO1xcblxcbiAgaWYgKCEoZXZlbnQgaW5zdGFuY2VvZiBFdmVudENvbnN0cnVjdG9yKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUcnlpbmcgdG8gcmVsZWFzZSBhbiBldmVudCBpbnN0YW5jZSBpbnRvIGEgcG9vbCBvZiBhIGRpZmZlcmVudCB0eXBlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgZXZlbnQuZGVzdHJ1Y3RvcigpO1xcblxcbiAgaWYgKEV2ZW50Q29uc3RydWN0b3IuZXZlbnRQb29sLmxlbmd0aCA8IEVWRU5UX1BPT0xfU0laRSkge1xcbiAgICBFdmVudENvbnN0cnVjdG9yLmV2ZW50UG9vbC5wdXNoKGV2ZW50KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWRkRXZlbnRQb29saW5nVG8oRXZlbnRDb25zdHJ1Y3Rvcikge1xcbiAgRXZlbnRDb25zdHJ1Y3Rvci5ldmVudFBvb2wgPSBbXTtcXG4gIEV2ZW50Q29uc3RydWN0b3IuZ2V0UG9vbGVkID0gZ2V0UG9vbGVkRXZlbnQ7XFxuICBFdmVudENvbnN0cnVjdG9yLnJlbGVhc2UgPSByZWxlYXNlUG9vbGVkRXZlbnQ7XFxufVxcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWNvbXBvc2l0aW9uZXZlbnRzXFxuICovXFxuXFxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xcbiAgZGF0YTogbnVsbFxcbn0pO1xcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvV0QtRE9NLUxldmVsLTMtRXZlbnRzLTIwMTMxMTA1XFxuICogICAgICAvI2V2ZW50cy1pbnB1dGV2ZW50c1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNJbnB1dEV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcXG4gIGRhdGE6IG51bGxcXG59KTtcXG5cXG52YXIgRU5EX0tFWUNPREVTID0gWzksIDEzLCAyNywgMzJdOyAvLyBUYWIsIFJldHVybiwgRXNjLCBTcGFjZVxcblxcbnZhciBTVEFSVF9LRVlDT0RFID0gMjI5O1xcbnZhciBjYW5Vc2VDb21wb3NpdGlvbkV2ZW50ID0gY2FuVXNlRE9NICYmICdDb21wb3NpdGlvbkV2ZW50JyBpbiB3aW5kb3c7XFxudmFyIGRvY3VtZW50TW9kZSA9IG51bGw7XFxuXFxuaWYgKGNhblVzZURPTSAmJiAnZG9jdW1lbnRNb2RlJyBpbiBkb2N1bWVudCkge1xcbiAgZG9jdW1lbnRNb2RlID0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xcbn0gLy8gV2Via2l0IG9mZmVycyBhIHZlcnkgdXNlZnVsIGB0ZXh0SW5wdXRgIGV2ZW50IHRoYXQgY2FuIGJlIHVzZWQgdG9cXG4vLyBkaXJlY3RseSByZXByZXNlbnQgYGJlZm9yZUlucHV0YC4gVGhlIElFIGB0ZXh0aW5wdXRgIGV2ZW50IGlzIG5vdCBhc1xcbi8vIHVzZWZ1bCwgc28gd2UgZG9uJ3QgdXNlIGl0LlxcblxcblxcbnZhciBjYW5Vc2VUZXh0SW5wdXRFdmVudCA9IGNhblVzZURPTSAmJiAnVGV4dEV2ZW50JyBpbiB3aW5kb3cgJiYgIWRvY3VtZW50TW9kZTsgLy8gSW4gSUU5Kywgd2UgaGF2ZSBhY2Nlc3MgdG8gY29tcG9zaXRpb24gZXZlbnRzLCBidXQgdGhlIGRhdGEgc3VwcGxpZWRcXG4vLyBieSB0aGUgbmF0aXZlIGNvbXBvc2l0aW9uZW5kIGV2ZW50IG1heSBiZSBpbmNvcnJlY3QuIEphcGFuZXNlIGlkZW9ncmFwaGljXFxuLy8gc3BhY2VzLCBmb3IgaW5zdGFuY2UgKFxcXFx1MzAwMCkgYXJlIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkuXFxuXFxudmFyIHVzZUZhbGxiYWNrQ29tcG9zaXRpb25EYXRhID0gY2FuVXNlRE9NICYmICghY2FuVXNlQ29tcG9zaXRpb25FdmVudCB8fCBkb2N1bWVudE1vZGUgJiYgZG9jdW1lbnRNb2RlID4gOCAmJiBkb2N1bWVudE1vZGUgPD0gMTEpO1xcbnZhciBTUEFDRUJBUl9DT0RFID0gMzI7XFxudmFyIFNQQUNFQkFSX0NIQVIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKFNQQUNFQkFSX0NPREUpOyAvLyBFdmVudHMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgbmFtZXMuXFxuXFxudmFyIGV2ZW50VHlwZXMgPSB7XFxuICBiZWZvcmVJbnB1dDoge1xcbiAgICBwaGFzZWRSZWdpc3RyYXRpb25OYW1lczoge1xcbiAgICAgIGJ1YmJsZWQ6ICdvbkJlZm9yZUlucHV0JyxcXG4gICAgICBjYXB0dXJlZDogJ29uQmVmb3JlSW5wdXRDYXB0dXJlJ1xcbiAgICB9LFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfS0VZX1BSRVNTLCBUT1BfVEVYVF9JTlBVVCwgVE9QX1BBU1RFXVxcbiAgfSxcXG4gIGNvbXBvc2l0aW9uRW5kOiB7XFxuICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XFxuICAgICAgYnViYmxlZDogJ29uQ29tcG9zaXRpb25FbmQnLFxcbiAgICAgIGNhcHR1cmVkOiAnb25Db21wb3NpdGlvbkVuZENhcHR1cmUnXFxuICAgIH0sXFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfS0VZX0RPV04sIFRPUF9LRVlfUFJFU1MsIFRPUF9LRVlfVVAsIFRPUF9NT1VTRV9ET1dOXVxcbiAgfSxcXG4gIGNvbXBvc2l0aW9uU3RhcnQ6IHtcXG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcXG4gICAgICBidWJibGVkOiAnb25Db21wb3NpdGlvblN0YXJ0JyxcXG4gICAgICBjYXB0dXJlZDogJ29uQ29tcG9zaXRpb25TdGFydENhcHR1cmUnXFxuICAgIH0sXFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ09NUE9TSVRJT05fU1RBUlQsIFRPUF9LRVlfRE9XTiwgVE9QX0tFWV9QUkVTUywgVE9QX0tFWV9VUCwgVE9QX01PVVNFX0RPV05dXFxuICB9LFxcbiAgY29tcG9zaXRpb25VcGRhdGU6IHtcXG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcXG4gICAgICBidWJibGVkOiAnb25Db21wb3NpdGlvblVwZGF0ZScsXFxuICAgICAgY2FwdHVyZWQ6ICdvbkNvbXBvc2l0aW9uVXBkYXRlQ2FwdHVyZSdcXG4gICAgfSxcXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX0JMVVIsIFRPUF9DT01QT1NJVElPTl9VUERBVEUsIFRPUF9LRVlfRE9XTiwgVE9QX0tFWV9QUkVTUywgVE9QX0tFWV9VUCwgVE9QX01PVVNFX0RPV05dXFxuICB9XFxufTsgLy8gVHJhY2sgd2hldGhlciB3ZSd2ZSBldmVyIGhhbmRsZWQgYSBrZXlwcmVzcyBvbiB0aGUgc3BhY2Uga2V5LlxcblxcbnZhciBoYXNTcGFjZUtleXByZXNzID0gZmFsc2U7XFxuLyoqXFxuICogUmV0dXJuIHdoZXRoZXIgYSBuYXRpdmUga2V5cHJlc3MgZXZlbnQgaXMgYXNzdW1lZCB0byBiZSBhIGNvbW1hbmQuXFxuICogVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIEZpcmVmb3ggZmlyZXMgYGtleXByZXNzYCBldmVudHMgZm9yIGtleSBjb21tYW5kc1xcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xcbiAgcmV0dXJuIChuYXRpdmVFdmVudC5jdHJsS2V5IHx8IG5hdGl2ZUV2ZW50LmFsdEtleSB8fCBuYXRpdmVFdmVudC5tZXRhS2V5KSAmJiAvLyBjdHJsS2V5ICYmIGFsdEtleSBpcyBlcXVpdmFsZW50IHRvIEFsdEdyLCBhbmQgaXMgbm90IGEgY29tbWFuZC5cXG4gICEobmF0aXZlRXZlbnQuY3RybEtleSAmJiBuYXRpdmVFdmVudC5hbHRLZXkpO1xcbn1cXG4vKipcXG4gKiBUcmFuc2xhdGUgbmF0aXZlIHRvcCBsZXZlbCBldmVudHMgaW50byBldmVudCB0eXBlcy5cXG4gKlxcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b3BMZXZlbFR5cGVcXG4gKiBAcmV0dXJuIHtvYmplY3R9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0Q29tcG9zaXRpb25FdmVudFR5cGUodG9wTGV2ZWxUeXBlKSB7XFxuICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xcbiAgICBjYXNlIFRPUF9DT01QT1NJVElPTl9TVEFSVDpcXG4gICAgICByZXR1cm4gZXZlbnRUeXBlcy5jb21wb3NpdGlvblN0YXJ0O1xcblxcbiAgICBjYXNlIFRPUF9DT01QT1NJVElPTl9FTkQ6XFxuICAgICAgcmV0dXJuIGV2ZW50VHlwZXMuY29tcG9zaXRpb25FbmQ7XFxuXFxuICAgIGNhc2UgVE9QX0NPTVBPU0lUSU9OX1VQREFURTpcXG4gICAgICByZXR1cm4gZXZlbnRUeXBlcy5jb21wb3NpdGlvblVwZGF0ZTtcXG4gIH1cXG59XFxuLyoqXFxuICogRG9lcyBvdXIgZmFsbGJhY2sgYmVzdC1ndWVzcyBtb2RlbCB0aGluayB0aGlzIGV2ZW50IHNpZ25pZmllcyB0aGF0XFxuICogY29tcG9zaXRpb24gaGFzIGJlZ3VuP1xcbiAqXFxuICogQHBhcmFtIHtzdHJpbmd9IHRvcExldmVsVHlwZVxcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxcbiAqIEByZXR1cm4ge2Jvb2xlYW59XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gaXNGYWxsYmFja0NvbXBvc2l0aW9uU3RhcnQodG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgcmV0dXJuIHRvcExldmVsVHlwZSA9PT0gVE9QX0tFWV9ET1dOICYmIG5hdGl2ZUV2ZW50LmtleUNvZGUgPT09IFNUQVJUX0tFWUNPREU7XFxufVxcbi8qKlxcbiAqIERvZXMgb3VyIGZhbGxiYWNrIG1vZGUgdGhpbmsgdGhhdCB0aGlzIGV2ZW50IGlzIHRoZSBlbmQgb2YgY29tcG9zaXRpb24/XFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9wTGV2ZWxUeXBlXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XFxuICogQHJldHVybiB7Ym9vbGVhbn1cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQodG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgY2FzZSBUT1BfS0VZX1VQOlxcbiAgICAgIC8vIENvbW1hbmQga2V5cyBpbnNlcnQgb3IgY2xlYXIgSU1FIGlucHV0LlxcbiAgICAgIHJldHVybiBFTkRfS0VZQ09ERVMuaW5kZXhPZihuYXRpdmVFdmVudC5rZXlDb2RlKSAhPT0gLTE7XFxuXFxuICAgIGNhc2UgVE9QX0tFWV9ET1dOOlxcbiAgICAgIC8vIEV4cGVjdCBJTUUga2V5Q29kZSBvbiBlYWNoIGtleWRvd24uIElmIHdlIGdldCBhbnkgb3RoZXJcXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cXG4gICAgICByZXR1cm4gbmF0aXZlRXZlbnQua2V5Q29kZSAhPT0gU1RBUlRfS0VZQ09ERTtcXG5cXG4gICAgY2FzZSBUT1BfS0VZX1BSRVNTOlxcbiAgICBjYXNlIFRPUF9NT1VTRV9ET1dOOlxcbiAgICBjYXNlIFRPUF9CTFVSOlxcbiAgICAgIC8vIEV2ZW50cyBhcmUgbm90IHBvc3NpYmxlIHdpdGhvdXQgY2FuY2VsbGluZyBJTUUuXFxuICAgICAgcmV0dXJuIHRydWU7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBHb29nbGUgSW5wdXQgVG9vbHMgcHJvdmlkZXMgY29tcG9zaXRpb24gZGF0YSB2aWEgYSBDdXN0b21FdmVudCxcXG4gKiB3aXRoIHRoZSBgZGF0YWAgcHJvcGVydHkgcG9wdWxhdGVkIGluIHRoZSBgZGV0YWlsYCBvYmplY3QuIElmIHRoaXNcXG4gKiBpcyBhdmFpbGFibGUgb24gdGhlIGV2ZW50IG9iamVjdCwgdXNlIGl0LiBJZiBub3QsIHRoaXMgaXMgYSBwbGFpblxcbiAqIGNvbXBvc2l0aW9uIGV2ZW50IGFuZCB3ZSBoYXZlIG5vdGhpbmcgc3BlY2lhbCB0byBleHRyYWN0LlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XFxuICogQHJldHVybiB7P3N0cmluZ31cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KSB7XFxuICB2YXIgZGV0YWlsID0gbmF0aXZlRXZlbnQuZGV0YWlsO1xcblxcbiAgaWYgKHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnICYmICdkYXRhJyBpbiBkZXRhaWwpIHtcXG4gICAgcmV0dXJuIGRldGFpbC5kYXRhO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcbi8qKlxcbiAqIENoZWNrIGlmIGEgY29tcG9zaXRpb24gZXZlbnQgd2FzIHRyaWdnZXJlZCBieSBLb3JlYW4gSU1FLlxcbiAqIE91ciBmYWxsYmFjayBtb2RlIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIElFJ3MgS29yZWFuIElNRSxcXG4gKiBzbyBqdXN0IHVzZSBuYXRpdmUgY29tcG9zaXRpb24gZXZlbnRzIHdoZW4gS29yZWFuIElNRSBpcyB1c2VkLlxcbiAqIEFsdGhvdWdoIENvbXBvc2l0aW9uRXZlbnQubG9jYWxlIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQsXFxuICogaXQgaXMgYXZhaWxhYmxlIGluIElFLCB3aGVyZSBvdXIgZmFsbGJhY2sgbW9kZSBpcyBlbmFibGVkLlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XFxuICogQHJldHVybiB7Ym9vbGVhbn1cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBpc1VzaW5nS29yZWFuSU1FKG5hdGl2ZUV2ZW50KSB7XFxuICByZXR1cm4gbmF0aXZlRXZlbnQubG9jYWxlID09PSAna28nO1xcbn0gLy8gVHJhY2sgdGhlIGN1cnJlbnQgSU1FIGNvbXBvc2l0aW9uIHN0YXR1cywgaWYgYW55LlxcblxcblxcbnZhciBpc0NvbXBvc2luZyA9IGZhbHNlO1xcbi8qKlxcbiAqIEByZXR1cm4gez9vYmplY3R9IEEgU3ludGhldGljQ29tcG9zaXRpb25FdmVudC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBleHRyYWN0Q29tcG9zaXRpb25FdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xcbiAgdmFyIGV2ZW50VHlwZTtcXG4gIHZhciBmYWxsYmFja0RhdGE7XFxuXFxuICBpZiAoY2FuVXNlQ29tcG9zaXRpb25FdmVudCkge1xcbiAgICBldmVudFR5cGUgPSBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZSh0b3BMZXZlbFR5cGUpO1xcbiAgfSBlbHNlIGlmICghaXNDb21wb3NpbmcpIHtcXG4gICAgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvblN0YXJ0KHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpKSB7XFxuICAgICAgZXZlbnRUeXBlID0gZXZlbnRUeXBlcy5jb21wb3NpdGlvblN0YXJ0O1xcbiAgICB9XFxuICB9IGVsc2UgaWYgKGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KSkge1xcbiAgICBldmVudFR5cGUgPSBldmVudFR5cGVzLmNvbXBvc2l0aW9uRW5kO1xcbiAgfVxcblxcbiAgaWYgKCFldmVudFR5cGUpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBpZiAodXNlRmFsbGJhY2tDb21wb3NpdGlvbkRhdGEgJiYgIWlzVXNpbmdLb3JlYW5JTUUobmF0aXZlRXZlbnQpKSB7XFxuICAgIC8vIFRoZSBjdXJyZW50IGNvbXBvc2l0aW9uIGlzIHN0b3JlZCBzdGF0aWNhbGx5IGFuZCBtdXN0IG5vdCBiZVxcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXFxuICAgIGlmICghaXNDb21wb3NpbmcgJiYgZXZlbnRUeXBlID09PSBldmVudFR5cGVzLmNvbXBvc2l0aW9uU3RhcnQpIHtcXG4gICAgICBpc0NvbXBvc2luZyA9IGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gZXZlbnRUeXBlcy5jb21wb3NpdGlvbkVuZCkge1xcbiAgICAgIGlmIChpc0NvbXBvc2luZykge1xcbiAgICAgICAgZmFsbGJhY2tEYXRhID0gZ2V0RGF0YSgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGV2ZW50ID0gU3ludGhldGljQ29tcG9zaXRpb25FdmVudC5nZXRQb29sZWQoZXZlbnRUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcblxcbiAgaWYgKGZhbGxiYWNrRGF0YSkge1xcbiAgICAvLyBJbmplY3QgZGF0YSBnZW5lcmF0ZWQgZnJvbSBmYWxsYmFjayBwYXRoIGludG8gdGhlIHN5bnRoZXRpYyBldmVudC5cXG4gICAgLy8gVGhpcyBtYXRjaGVzIHRoZSBwcm9wZXJ0eSBvZiBuYXRpdmUgQ29tcG9zaXRpb25FdmVudEludGVyZmFjZS5cXG4gICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBjdXN0b21EYXRhID0gZ2V0RGF0YUZyb21DdXN0b21FdmVudChuYXRpdmVFdmVudCk7XFxuXFxuICAgIGlmIChjdXN0b21EYXRhICE9PSBudWxsKSB7XFxuICAgICAgZXZlbnQuZGF0YSA9IGN1c3RvbURhdGE7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnQpO1xcbiAgcmV0dXJuIGV2ZW50O1xcbn1cXG4vKipcXG4gKiBAcGFyYW0ge1RvcExldmVsVHlwZX0gdG9wTGV2ZWxUeXBlIE51bWJlciBmcm9tIGBUb3BMZXZlbFR5cGVgLlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cXG4gKiBAcmV0dXJuIHs/c3RyaW5nfSBUaGUgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBgYmVmb3JlSW5wdXRgIGV2ZW50LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGdldE5hdGl2ZUJlZm9yZUlucHV0Q2hhcnModG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fRU5EOlxcbiAgICAgIHJldHVybiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KTtcXG5cXG4gICAgY2FzZSBUT1BfS0VZX1BSRVNTOlxcbiAgICAgIC8qKlxcbiAgICAgICAqIElmIG5hdGl2ZSBgdGV4dElucHV0YCBldmVudHMgYXJlIGF2YWlsYWJsZSwgb3VyIGdvYWwgaXMgdG8gbWFrZVxcbiAgICAgICAqIHVzZSBvZiB0aGVtLiBIb3dldmVyLCB0aGVyZSBpcyBhIHNwZWNpYWwgY2FzZTogdGhlIHNwYWNlYmFyIGtleS5cXG4gICAgICAgKiBJbiBXZWJraXQsIHByZXZlbnRpbmcgZGVmYXVsdCBvbiBhIHNwYWNlYmFyIGB0ZXh0SW5wdXRgIGV2ZW50XFxuICAgICAgICogY2FuY2VscyBjaGFyYWN0ZXIgaW5zZXJ0aW9uLCBidXQgaXQgKmFsc28qIGNhdXNlcyB0aGUgYnJvd3NlclxcbiAgICAgICAqIHRvIGZhbGwgYmFjayB0byBpdHMgZGVmYXVsdCBzcGFjZWJhciBiZWhhdmlvciBvZiBzY3JvbGxpbmcgdGhlXFxuICAgICAgICogcGFnZS5cXG4gICAgICAgKlxcbiAgICAgICAqIFRyYWNraW5nIGF0OlxcbiAgICAgICAqIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNTUxMDNcXG4gICAgICAgKlxcbiAgICAgICAqIFRvIGF2b2lkIHRoaXMgaXNzdWUsIHVzZSB0aGUga2V5cHJlc3MgZXZlbnQgYXMgaWYgbm8gYHRleHRJbnB1dGBcXG4gICAgICAgKiBldmVudCBpcyBhdmFpbGFibGUuXFxuICAgICAgICovXFxuICAgICAgdmFyIHdoaWNoID0gbmF0aXZlRXZlbnQud2hpY2g7XFxuXFxuICAgICAgaWYgKHdoaWNoICE9PSBTUEFDRUJBUl9DT0RFKSB7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgaGFzU3BhY2VLZXlwcmVzcyA9IHRydWU7XFxuICAgICAgcmV0dXJuIFNQQUNFQkFSX0NIQVI7XFxuXFxuICAgIGNhc2UgVE9QX1RFWFRfSU5QVVQ6XFxuICAgICAgLy8gUmVjb3JkIHRoZSBjaGFyYWN0ZXJzIHRvIGJlIGFkZGVkIHRvIHRoZSBET00uXFxuICAgICAgdmFyIGNoYXJzID0gbmF0aXZlRXZlbnQuZGF0YTsgLy8gSWYgaXQncyBhIHNwYWNlYmFyIGNoYXJhY3RlciwgYXNzdW1lIHRoYXQgd2UgaGF2ZSBhbHJlYWR5IGhhbmRsZWRcXG4gICAgICAvLyBpdCBhdCB0aGUga2V5cHJlc3MgbGV2ZWwgYW5kIGJhaWwgaW1tZWRpYXRlbHkuIEFuZHJvaWQgQ2hyb21lXFxuICAgICAgLy8gZG9lc24ndCBnaXZlIHVzIGtleWNvZGVzLCBzbyB3ZSBuZWVkIHRvIGlnbm9yZSBpdC5cXG5cXG4gICAgICBpZiAoY2hhcnMgPT09IFNQQUNFQkFSX0NIQVIgJiYgaGFzU3BhY2VLZXlwcmVzcykge1xcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiBjaGFycztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICAvLyBGb3Igb3RoZXIgbmF0aXZlIGV2ZW50IHR5cGVzLCBkbyBub3RoaW5nLlxcbiAgICAgIHJldHVybiBudWxsO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBGb3IgYnJvd3NlcnMgdGhhdCBkbyBub3QgcHJvdmlkZSB0aGUgYHRleHRJbnB1dGAgZXZlbnQsIGV4dHJhY3QgdGhlXFxuICogYXBwcm9wcmlhdGUgc3RyaW5nIHRvIHVzZSBmb3IgU3ludGhldGljSW5wdXRFdmVudC5cXG4gKlxcbiAqIEBwYXJhbSB7bnVtYmVyfSB0b3BMZXZlbFR5cGUgTnVtYmVyIGZyb20gYFRvcExldmVsRXZlbnRUeXBlc2AuXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxcbiAqIEByZXR1cm4gez9zdHJpbmd9IFRoZSBmYWxsYmFjayBzdHJpbmcgZm9yIHRoaXMgYGJlZm9yZUlucHV0YCBldmVudC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRGYWxsYmFja0JlZm9yZUlucHV0Q2hhcnModG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xcbiAgLy8gSWYgd2UgYXJlIGN1cnJlbnRseSBjb21wb3NpbmcgKElNRSkgYW5kIHVzaW5nIGEgZmFsbGJhY2sgdG8gZG8gc28sXFxuICAvLyB0cnkgdG8gZXh0cmFjdCB0aGUgY29tcG9zZWQgY2hhcmFjdGVycyBmcm9tIHRoZSBmYWxsYmFjayBvYmplY3QuXFxuICAvLyBJZiBjb21wb3NpdGlvbiBldmVudCBpcyBhdmFpbGFibGUsIHdlIGV4dHJhY3QgYSBzdHJpbmcgb25seSBhdFxcbiAgLy8gY29tcG9zaXRpb25ldmVudCwgb3RoZXJ3aXNlIGV4dHJhY3QgaXQgYXQgZmFsbGJhY2sgZXZlbnRzLlxcbiAgaWYgKGlzQ29tcG9zaW5nKSB7XFxuICAgIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9DT01QT1NJVElPTl9FTkQgfHwgIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgJiYgaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpKSB7XFxuICAgICAgdmFyIGNoYXJzID0gZ2V0RGF0YSgpO1xcbiAgICAgIHJlc2V0KCk7XFxuICAgICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcXG4gICAgICByZXR1cm4gY2hhcnM7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xcbiAgICBjYXNlIFRPUF9QQVNURTpcXG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XFxuICAgICAgLy8gY2hhcnMuIFBhc3RlIGV2ZW50cyBzaG91bGQgbm90IGxlYWQgdG8gQmVmb3JlSW5wdXQgZXZlbnRzLlxcbiAgICAgIHJldHVybiBudWxsO1xcblxcbiAgICBjYXNlIFRPUF9LRVlfUFJFU1M6XFxuICAgICAgLyoqXFxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXFxuICAgICAgICogd2lsbCBiZSBpbnNlcnRlZC4gQSBmZXcgcG9zc2liaWxpdGllczpcXG4gICAgICAgKlxcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cXG4gICAgICAgKlxcbiAgICAgICAqIC0gYHdoaWNoYCBpcyB0aGUgcHJlc3NlZCBrZXkgY29kZSwgYnV0IG5vIGNoYXIgaXMgYXZhaWxhYmxlLlxcbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxcbiAgICAgICAqICAgdGhpcyBrZXkgY29tYmluYXRpb24gYW5kIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZCBpbnRvIHRoZVxcbiAgICAgICAqICAgZG9jdW1lbnQsIGJ1dCBGRiBmaXJlcyB0aGUga2V5cHJlc3MgZm9yIGNoYXIgY29kZSBgMTAwYCBhbnl3YXkuXFxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXFxuICAgICAgICpcXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBhIGNvbW1hbmQgY29tYmluYXRpb24gaXNcXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xcbiAgICAgICAqICAgYGlucHV0YCBldmVudCB3aWxsIG9jY3VyLlxcbiAgICAgICAqL1xcbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XFxuICAgICAgICAvLyBJRSBmaXJlcyB0aGUgYGtleXByZXNzYCBldmVudCB3aGVuIGEgdXNlciB0eXBlcyBhbiBlbW9qaSB2aWFcXG4gICAgICAgIC8vIFRvdWNoIGtleWJvYXJkIG9mIFdpbmRvd3MuICBJbiBzdWNoIGEgY2FzZSwgdGhlIGBjaGFyYCBwcm9wZXJ0eVxcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcXFx1RDgzRFxcXFx1REUwQWAuICBCZWNhdXNlIGl0cyBsZW5ndGhcXG4gICAgICAgIC8vIGlzIDIsIHRoZSBwcm9wZXJ0eSBgd2hpY2hgIGRvZXMgbm90IHJlcHJlc2VudCBhbiBlbW9qaSBjb3JyZWN0bHkuXFxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxcbiAgICAgICAgLy8gdXNpbmcgYHdoaWNoYC5cXG4gICAgICAgIGlmIChuYXRpdmVFdmVudC5jaGFyICYmIG5hdGl2ZUV2ZW50LmNoYXIubGVuZ3RoID4gMSkge1xcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcXG4gICAgICAgIH0gZWxzZSBpZiAobmF0aXZlRXZlbnQud2hpY2gpIHtcXG4gICAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUobmF0aXZlRXZlbnQud2hpY2gpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gbnVsbDtcXG5cXG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fRU5EOlxcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG59XFxuLyoqXFxuICogRXh0cmFjdCBhIFN5bnRoZXRpY0lucHV0RXZlbnQgZm9yIGBiZWZvcmVJbnB1dGAsIGJhc2VkIG9uIGVpdGhlciBuYXRpdmVcXG4gKiBgdGV4dElucHV0YCBvciBmYWxsYmFjayBiZWhhdmlvci5cXG4gKlxcbiAqIEByZXR1cm4gez9vYmplY3R9IEEgU3ludGhldGljSW5wdXRFdmVudC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBleHRyYWN0QmVmb3JlSW5wdXRFdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xcbiAgdmFyIGNoYXJzO1xcblxcbiAgaWYgKGNhblVzZVRleHRJbnB1dEV2ZW50KSB7XFxuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcXG4gIH0gZWxzZSB7XFxuICAgIGNoYXJzID0gZ2V0RmFsbGJhY2tCZWZvcmVJbnB1dENoYXJzKHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpO1xcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXFxuICAvLyBiZSBmaXJlZC5cXG5cXG5cXG4gIGlmICghY2hhcnMpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICB2YXIgZXZlbnQgPSBTeW50aGV0aWNJbnB1dEV2ZW50LmdldFBvb2xlZChldmVudFR5cGVzLmJlZm9yZUlucHV0LCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgZXZlbnQuZGF0YSA9IGNoYXJzO1xcbiAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhldmVudCk7XFxuICByZXR1cm4gZXZlbnQ7XFxufVxcbi8qKlxcbiAqIENyZWF0ZSBhbiBgb25CZWZvcmVJbnB1dGAgZXZlbnQgdG8gbWF0Y2hcXG4gKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNS8jZXZlbnRzLWlucHV0ZXZlbnRzLlxcbiAqXFxuICogVGhpcyBldmVudCBwbHVnaW4gaXMgYmFzZWQgb24gdGhlIG5hdGl2ZSBgdGV4dElucHV0YCBldmVudFxcbiAqIGF2YWlsYWJsZSBpbiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEsIGFuZCBJRS4gVGhpcyBldmVudCBmaXJlcyBhZnRlclxcbiAqIGBvbktleVByZXNzYCBhbmQgYG9uQ29tcG9zaXRpb25FbmRgLCBidXQgYmVmb3JlIGBvbklucHV0YC5cXG4gKlxcbiAqIGBiZWZvcmVJbnB1dGAgaXMgc3BlYydkIGJ1dCBub3QgaW1wbGVtZW50ZWQgaW4gYW55IGJyb3dzZXJzLCBhbmRcXG4gKiB0aGUgYGlucHV0YCBldmVudCBkb2VzIG5vdCBwcm92aWRlIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBoYXNcXG4gKiBhY3R1YWxseSBiZWVuIGFkZGVkLCBjb250cmFyeSB0byB0aGUgc3BlYy4gVGh1cywgYHRleHRJbnB1dGAgaXMgdGhlIGJlc3RcXG4gKiBhdmFpbGFibGUgZXZlbnQgdG8gaWRlbnRpZnkgdGhlIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGFjdHVhbGx5IGJlZW4gaW5zZXJ0ZWRcXG4gKiBpbnRvIHRoZSB0YXJnZXQgbm9kZS5cXG4gKlxcbiAqIFRoaXMgcGx1Z2luIGlzIGFsc28gcmVzcG9uc2libGUgZm9yIGVtaXR0aW5nIGBjb21wb3NpdGlvbmAgZXZlbnRzLCB0aHVzXFxuICogYWxsb3dpbmcgdXMgdG8gc2hhcmUgY29tcG9zaXRpb24gZmFsbGJhY2sgY29kZSBmb3IgYm90aCBgYmVmb3JlSW5wdXRgIGFuZFxcbiAqIGBjb21wb3NpdGlvbmAgZXZlbnQgdHlwZXMuXFxuICovXFxuXFxuXFxudmFyIEJlZm9yZUlucHV0RXZlbnRQbHVnaW4gPSB7XFxuICBldmVudFR5cGVzOiBldmVudFR5cGVzLFxcbiAgZXh0cmFjdEV2ZW50czogZnVuY3Rpb24gKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzKSB7XFxuICAgIHZhciBjb21wb3NpdGlvbiA9IGV4dHJhY3RDb21wb3NpdGlvbkV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgdmFyIGJlZm9yZUlucHV0ID0gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcblxcbiAgICBpZiAoY29tcG9zaXRpb24gPT09IG51bGwpIHtcXG4gICAgICByZXR1cm4gYmVmb3JlSW5wdXQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGJlZm9yZUlucHV0ID09PSBudWxsKSB7XFxuICAgICAgcmV0dXJuIGNvbXBvc2l0aW9uO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBbY29tcG9zaXRpb24sIGJlZm9yZUlucHV0XTtcXG4gIH1cXG59O1xcblxcbi8qKlxcbiAqIEBzZWUgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdGhlLWlucHV0LWVsZW1lbnQuaHRtbCNpbnB1dC10eXBlLWF0dHItc3VtbWFyeVxcbiAqL1xcbnZhciBzdXBwb3J0ZWRJbnB1dFR5cGVzID0ge1xcbiAgY29sb3I6IHRydWUsXFxuICBkYXRlOiB0cnVlLFxcbiAgZGF0ZXRpbWU6IHRydWUsXFxuICAnZGF0ZXRpbWUtbG9jYWwnOiB0cnVlLFxcbiAgZW1haWw6IHRydWUsXFxuICBtb250aDogdHJ1ZSxcXG4gIG51bWJlcjogdHJ1ZSxcXG4gIHBhc3N3b3JkOiB0cnVlLFxcbiAgcmFuZ2U6IHRydWUsXFxuICBzZWFyY2g6IHRydWUsXFxuICB0ZWw6IHRydWUsXFxuICB0ZXh0OiB0cnVlLFxcbiAgdGltZTogdHJ1ZSxcXG4gIHVybDogdHJ1ZSxcXG4gIHdlZWs6IHRydWVcXG59O1xcblxcbmZ1bmN0aW9uIGlzVGV4dElucHV0RWxlbWVudChlbGVtKSB7XFxuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xcblxcbiAgaWYgKG5vZGVOYW1lID09PSAnaW5wdXQnKSB7XFxuICAgIHJldHVybiAhIXN1cHBvcnRlZElucHV0VHlwZXNbZWxlbS50eXBlXTtcXG4gIH1cXG5cXG4gIGlmIChub2RlTmFtZSA9PT0gJ3RleHRhcmVhJykge1xcbiAgICByZXR1cm4gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiBmYWxzZTtcXG59XFxuXFxudmFyIGV2ZW50VHlwZXMkMSA9IHtcXG4gIGNoYW5nZToge1xcbiAgICBwaGFzZWRSZWdpc3RyYXRpb25OYW1lczoge1xcbiAgICAgIGJ1YmJsZWQ6ICdvbkNoYW5nZScsXFxuICAgICAgY2FwdHVyZWQ6ICdvbkNoYW5nZUNhcHR1cmUnXFxuICAgIH0sXFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ0hBTkdFLCBUT1BfQ0xJQ0ssIFRPUF9GT0NVUywgVE9QX0lOUFVULCBUT1BfS0VZX0RPV04sIFRPUF9LRVlfVVAsIFRPUF9TRUxFQ1RJT05fQ0hBTkdFXVxcbiAgfVxcbn07XFxuXFxuZnVuY3Rpb24gY3JlYXRlQW5kQWNjdW11bGF0ZUNoYW5nZUV2ZW50KGluc3QsIG5hdGl2ZUV2ZW50LCB0YXJnZXQpIHtcXG4gIHZhciBldmVudCA9IFN5bnRoZXRpY0V2ZW50LmdldFBvb2xlZChldmVudFR5cGVzJDEuY2hhbmdlLCBpbnN0LCBuYXRpdmVFdmVudCwgdGFyZ2V0KTtcXG4gIGV2ZW50LnR5cGUgPSAnY2hhbmdlJzsgLy8gRmxhZyB0aGlzIGV2ZW50IGxvb3AgYXMgbmVlZGluZyBzdGF0ZSByZXN0b3JlLlxcblxcbiAgZW5xdWV1ZVN0YXRlUmVzdG9yZSh0YXJnZXQpO1xcbiAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhldmVudCk7XFxuICByZXR1cm4gZXZlbnQ7XFxufVxcbi8qKlxcbiAqIEZvciBJRSBzaGltc1xcbiAqL1xcblxcblxcbnZhciBhY3RpdmVFbGVtZW50ID0gbnVsbDtcXG52YXIgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xcbi8qKlxcbiAqIFNFQ1RJT046IGhhbmRsZSBgY2hhbmdlYCBldmVudFxcbiAqL1xcblxcbmZ1bmN0aW9uIHNob3VsZFVzZUNoYW5nZUV2ZW50KGVsZW0pIHtcXG4gIHZhciBub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xcbiAgcmV0dXJuIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fCBub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiBlbGVtLnR5cGUgPT09ICdmaWxlJztcXG59XFxuXFxuZnVuY3Rpb24gbWFudWFsRGlzcGF0Y2hDaGFuZ2VFdmVudChuYXRpdmVFdmVudCkge1xcbiAgdmFyIGV2ZW50ID0gY3JlYXRlQW5kQWNjdW11bGF0ZUNoYW5nZUV2ZW50KGFjdGl2ZUVsZW1lbnRJbnN0LCBuYXRpdmVFdmVudCwgZ2V0RXZlbnRUYXJnZXQobmF0aXZlRXZlbnQpKTsgLy8gSWYgY2hhbmdlIGFuZCBwcm9wZXJ0eWNoYW5nZSBidWJibGVkLCB3ZSdkIGp1c3QgYmluZCB0byBpdCBsaWtlIGFsbCB0aGVcXG4gIC8vIG90aGVyIGV2ZW50cyBhbmQgaGF2ZSBpdCBnbyB0aHJvdWdoIFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci4gU2luY2UgaXRcXG4gIC8vIGRvZXNuJ3QsIHdlIG1hbnVhbGx5IGxpc3RlbiBmb3IgdGhlIGV2ZW50cyBhbmQgc28gd2UgaGF2ZSB0byBlbnF1ZXVlIGFuZFxcbiAgLy8gcHJvY2VzcyB0aGUgYWJzdHJhY3QgZXZlbnQgbWFudWFsbHkuXFxuICAvL1xcbiAgLy8gQmF0Y2hpbmcgaXMgbmVjZXNzYXJ5IGhlcmUgaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgYWxsIGV2ZW50IGhhbmRsZXJzIHJ1blxcbiAgLy8gYmVmb3JlIHRoZSBuZXh0IHJlcmVuZGVyIChpbmNsdWRpbmcgZXZlbnQgaGFuZGxlcnMgYXR0YWNoZWQgdG8gYW5jZXN0b3JcXG4gIC8vIGVsZW1lbnRzIGluc3RlYWQgb2YgZGlyZWN0bHkgb24gdGhlIGlucHV0KS4gV2l0aG91dCB0aGlzLCBjb250cm9sbGVkXFxuICAvLyBjb21wb25lbnRzIGRvbid0IHdvcmsgcHJvcGVybHkgaW4gY29uanVuY3Rpb24gd2l0aCBldmVudCBidWJibGluZyBiZWNhdXNlXFxuICAvLyB0aGUgY29tcG9uZW50IGlzIHJlcmVuZGVyZWQgYW5kIHRoZSB2YWx1ZSByZXZlcnRlZCBiZWZvcmUgYWxsIHRoZSBldmVudFxcbiAgLy8gaGFuZGxlcnMgY2FuIHJ1bi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNzA4LlxcblxcbiAgYmF0Y2hlZFVwZGF0ZXMocnVuRXZlbnRJbkJhdGNoLCBldmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIHJ1bkV2ZW50SW5CYXRjaChldmVudCkge1xcbiAgcnVuRXZlbnRzSW5CYXRjaChldmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIGdldEluc3RJZlZhbHVlQ2hhbmdlZCh0YXJnZXRJbnN0KSB7XFxuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UkMSh0YXJnZXRJbnN0KTtcXG5cXG4gIGlmICh1cGRhdGVWYWx1ZUlmQ2hhbmdlZCh0YXJnZXROb2RlKSkge1xcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZ2V0VGFyZ2V0SW5zdEZvckNoYW5nZUV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0NIQU5HRSkge1xcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcXG4gIH1cXG59XFxuLyoqXFxuICogU0VDVElPTjogaGFuZGxlIGBpbnB1dGAgZXZlbnRcXG4gKi9cXG5cXG5cXG52YXIgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gZmFsc2U7XFxuXFxuaWYgKGNhblVzZURPTSkge1xcbiAgLy8gSUU5IGNsYWltcyB0byBzdXBwb3J0IHRoZSBpbnB1dCBldmVudCBidXQgZmFpbHMgdG8gdHJpZ2dlciBpdCB3aGVuXFxuICAvLyBkZWxldGluZyB0ZXh0LCBzbyB3ZSBpZ25vcmUgaXRzIGlucHV0IGV2ZW50cy5cXG4gIGlzSW5wdXRFdmVudFN1cHBvcnRlZCA9IGlzRXZlbnRTdXBwb3J0ZWQoJ2lucHV0JykgJiYgKCFkb2N1bWVudC5kb2N1bWVudE1vZGUgfHwgZG9jdW1lbnQuZG9jdW1lbnRNb2RlID4gOSk7XFxufVxcbi8qKlxcbiAqIChGb3IgSUUgPD05KSBTdGFydHMgdHJhY2tpbmcgcHJvcGVydHljaGFuZ2UgZXZlbnRzIG9uIHRoZSBwYXNzZWQtaW4gZWxlbWVudFxcbiAqIGFuZCBvdmVycmlkZSB0aGUgdmFsdWUgcHJvcGVydHkgc28gdGhhdCB3ZSBjYW4gZGlzdGluZ3Vpc2ggdXNlciBldmVudHMgZnJvbVxcbiAqIHZhbHVlIGNoYW5nZXMgaW4gSlMuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCkge1xcbiAgYWN0aXZlRWxlbWVudCA9IHRhcmdldDtcXG4gIGFjdGl2ZUVsZW1lbnRJbnN0ID0gdGFyZ2V0SW5zdDtcXG4gIGFjdGl2ZUVsZW1lbnQuYXR0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XFxufVxcbi8qKlxcbiAqIChGb3IgSUUgPD05KSBSZW1vdmVzIHRoZSBldmVudCBsaXN0ZW5lcnMgZnJvbSB0aGUgY3VycmVudGx5LXRyYWNrZWQgZWxlbWVudCxcXG4gKiBpZiBhbnkgZXhpc3RzLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCkge1xcbiAgaWYgKCFhY3RpdmVFbGVtZW50KSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIGFjdGl2ZUVsZW1lbnQuZGV0YWNoRXZlbnQoJ29ucHJvcGVydHljaGFuZ2UnLCBoYW5kbGVQcm9wZXJ0eUNoYW5nZSk7XFxuICBhY3RpdmVFbGVtZW50ID0gbnVsbDtcXG4gIGFjdGl2ZUVsZW1lbnRJbnN0ID0gbnVsbDtcXG59XFxuLyoqXFxuICogKEZvciBJRSA8PTkpIEhhbmRsZXMgYSBwcm9wZXJ0eWNoYW5nZSBldmVudCwgc2VuZGluZyBhIGBjaGFuZ2VgIGV2ZW50IGlmXFxuICogdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmUgZWxlbWVudCBoYXMgY2hhbmdlZC5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBoYW5kbGVQcm9wZXJ0eUNoYW5nZShuYXRpdmVFdmVudCkge1xcbiAgaWYgKG5hdGl2ZUV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3ZhbHVlJykge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KSkge1xcbiAgICBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFuZGxlRXZlbnRzRm9ySW5wdXRFdmVudFBvbHlmaWxsKHRvcExldmVsVHlwZSwgdGFyZ2V0LCB0YXJnZXRJbnN0KSB7XFxuICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfRk9DVVMpIHtcXG4gICAgLy8gSW4gSUU5LCBwcm9wZXJ0eWNoYW5nZSBmaXJlcyBmb3IgbW9zdCBpbnB1dCBldmVudHMgYnV0IGlzIGJ1Z2d5IGFuZFxcbiAgICAvLyBkb2Vzbid0IGZpcmUgd2hlbiB0ZXh0IGlzIGRlbGV0ZWQsIGJ1dCBjb252ZW5pZW50bHksIHNlbGVjdGlvbmNoYW5nZVxcbiAgICAvLyBhcHBlYXJzIHRvIGZpcmUgaW4gYWxsIG9mIHRoZSByZW1haW5pbmcgY2FzZXMgc28gd2UgY2F0Y2ggdGhvc2UgYW5kXFxuICAgIC8vIGZvcndhcmQgdGhlIGV2ZW50IGlmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZFxcbiAgICAvLyBJbiBlaXRoZXIgY2FzZSwgd2UgZG9uJ3Qgd2FudCB0byBjYWxsIHRoZSBldmVudCBoYW5kbGVyIGlmIHRoZSB2YWx1ZVxcbiAgICAvLyBpcyBjaGFuZ2VkIGZyb20gSlMgc28gd2UgcmVkZWZpbmUgYSBzZXR0ZXIgZm9yIGAudmFsdWVgIHRoYXQgdXBkYXRlc1xcbiAgICAvLyBvdXIgYWN0aXZlRWxlbWVudFZhbHVlIHZhcmlhYmxlLCBhbGxvd2luZyB1cyB0byBpZ25vcmUgdGhvc2UgY2hhbmdlc1xcbiAgICAvL1xcbiAgICAvLyBzdG9wV2F0Y2hpbmcoKSBzaG91bGQgYmUgYSBub29wIGhlcmUgYnV0IHdlIGNhbGwgaXQganVzdCBpbiBjYXNlIHdlXFxuICAgIC8vIG1pc3NlZCBhIGJsdXIgZXZlbnQgc29tZWhvdy5cXG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcXG4gICAgc3RhcnRXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKHRhcmdldCwgdGFyZ2V0SW5zdCk7XFxuICB9IGVsc2UgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0JMVVIpIHtcXG4gICAgc3RvcFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UoKTtcXG4gIH1cXG59IC8vIEZvciBJRTggYW5kIElFOS5cXG5cXG5cXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX1NFTEVDVElPTl9DSEFOR0UgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfS0VZX1VQIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX0tFWV9ET1dOKSB7XFxuICAgIC8vIE9uIHRoZSBzZWxlY3Rpb25jaGFuZ2UgZXZlbnQsIHRoZSB0YXJnZXQgaXMganVzdCBkb2N1bWVudCB3aGljaCBpc24ndFxcbiAgICAvLyBoZWxwZnVsIGZvciB1cyBzbyBqdXN0IGNoZWNrIGFjdGl2ZUVsZW1lbnQgaW5zdGVhZC5cXG4gICAgLy9cXG4gICAgLy8gOTklIG9mIHRoZSB0aW1lLCBrZXlkb3duIGFuZCBrZXl1cCBhcmVuJ3QgbmVjZXNzYXJ5LiBJRTggZmFpbHMgdG8gZmlyZVxcbiAgICAvLyBwcm9wZXJ0eWNoYW5nZSBvbiB0aGUgZmlyc3QgaW5wdXQgZXZlbnQgYWZ0ZXIgc2V0dGluZyBgdmFsdWVgIGZyb20gYVxcbiAgICAvLyBzY3JpcHQgYW5kIGZpcmVzIG9ubHkga2V5ZG93biwga2V5cHJlc3MsIGtleXVwLiBDYXRjaGluZyBrZXl1cCB1c3VhbGx5XFxuICAgIC8vIGdldHMgaXQgYW5kIGNhdGNoaW5nIGtleWRvd24gbGV0cyB1cyBmaXJlIGFuIGV2ZW50IGZvciB0aGUgZmlyc3RcXG4gICAgLy8ga2V5c3Ryb2tlIGlmIHVzZXIgZG9lcyBhIGtleSByZXBlYXQgKGl0J2xsIGJlIGEgbGl0dGxlIGRlbGF5ZWQ6IHJpZ2h0XFxuICAgIC8vIGJlZm9yZSB0aGUgc2Vjb25kIGtleXN0cm9rZSkuIE90aGVyIGlucHV0IG1ldGhvZHMgKGUuZy4sIHBhc3RlKSBzZWVtIHRvXFxuICAgIC8vIGZpcmUgc2VsZWN0aW9uY2hhbmdlIG5vcm1hbGx5LlxcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KTtcXG4gIH1cXG59XFxuLyoqXFxuICogU0VDVElPTjogaGFuZGxlIGBjbGlja2AgZXZlbnRcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBzaG91bGRVc2VDbGlja0V2ZW50KGVsZW0pIHtcXG4gIC8vIFVzZSB0aGUgYGNsaWNrYCBldmVudCB0byBkZXRlY3QgY2hhbmdlcyB0byBjaGVja2JveCBhbmQgcmFkaW8gaW5wdXRzLlxcbiAgLy8gVGhpcyBhcHByb2FjaCB3b3JrcyBhY3Jvc3MgYWxsIGJyb3dzZXJzLCB3aGVyZWFzIGBjaGFuZ2VgIGRvZXMgbm90IGZpcmVcXG4gIC8vIHVudGlsIGBibHVyYCBpbiBJRTguXFxuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKGVsZW0udHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBlbGVtLnR5cGUgPT09ICdyYWRpbycpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2xpY2tFdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QpIHtcXG4gIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9DTElDSykge1xcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKHRhcmdldEluc3QpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRPckNoYW5nZUV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0lOUFVUIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX0NIQU5HRSkge1xcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKHRhcmdldEluc3QpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBoYW5kbGVDb250cm9sbGVkSW5wdXRCbHVyKG5vZGUpIHtcXG4gIHZhciBzdGF0ZSA9IG5vZGUuX3dyYXBwZXJTdGF0ZTtcXG5cXG4gIGlmICghc3RhdGUgfHwgIXN0YXRlLmNvbnRyb2xsZWQgfHwgbm9kZS50eXBlICE9PSAnbnVtYmVyJykge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB7XFxuICAgIC8vIElmIGNvbnRyb2xsZWQsIGFzc2lnbiB0aGUgdmFsdWUgYXR0cmlidXRlIHRvIHRoZSBjdXJyZW50IHZhbHVlIG9uIGJsdXJcXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5vZGUsICdudW1iZXInLCBub2RlLnZhbHVlKTtcXG4gIH1cXG59XFxuLyoqXFxuICogVGhpcyBwbHVnaW4gY3JlYXRlcyBhbiBgb25DaGFuZ2VgIGV2ZW50IHRoYXQgbm9ybWFsaXplcyBjaGFuZ2UgZXZlbnRzXFxuICogYWNyb3NzIGZvcm0gZWxlbWVudHMuIFRoaXMgZXZlbnQgZmlyZXMgYXQgYSB0aW1lIHdoZW4gaXQncyBwb3NzaWJsZSB0b1xcbiAqIGNoYW5nZSB0aGUgZWxlbWVudCdzIHZhbHVlIHdpdGhvdXQgc2VlaW5nIGEgZmxpY2tlci5cXG4gKlxcbiAqIFN1cHBvcnRlZCBlbGVtZW50cyBhcmU6XFxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxcbiAqIC0gdGV4dGFyZWFcXG4gKiAtIHNlbGVjdFxcbiAqL1xcblxcblxcbnZhciBDaGFuZ2VFdmVudFBsdWdpbiA9IHtcXG4gIGV2ZW50VHlwZXM6IGV2ZW50VHlwZXMkMSxcXG4gIF9pc0lucHV0RXZlbnRTdXBwb3J0ZWQ6IGlzSW5wdXRFdmVudFN1cHBvcnRlZCxcXG4gIGV4dHJhY3RFdmVudHM6IGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgICB2YXIgdGFyZ2V0Tm9kZSA9IHRhcmdldEluc3QgPyBnZXROb2RlRnJvbUluc3RhbmNlJDEodGFyZ2V0SW5zdCkgOiB3aW5kb3c7XFxuICAgIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xcblxcbiAgICBpZiAoc2hvdWxkVXNlQ2hhbmdlRXZlbnQodGFyZ2V0Tm9kZSkpIHtcXG4gICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JDaGFuZ2VFdmVudDtcXG4gICAgfSBlbHNlIGlmIChpc1RleHRJbnB1dEVsZW1lbnQodGFyZ2V0Tm9kZSkpIHtcXG4gICAgICBpZiAoaXNJbnB1dEV2ZW50U3VwcG9ydGVkKSB7XFxuICAgICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JJbnB1dE9yQ2hhbmdlRXZlbnQ7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvcklucHV0RXZlbnRQb2x5ZmlsbDtcXG4gICAgICAgIGhhbmRsZUV2ZW50RnVuYyA9IGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoc2hvdWxkVXNlQ2xpY2tFdmVudCh0YXJnZXROb2RlKSkge1xcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNsaWNrRXZlbnQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKGdldFRhcmdldEluc3RGdW5jKSB7XFxuICAgICAgdmFyIGluc3QgPSBnZXRUYXJnZXRJbnN0RnVuYyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QpO1xcblxcbiAgICAgIGlmIChpbnN0KSB7XFxuICAgICAgICB2YXIgZXZlbnQgPSBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoaW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgICAgIHJldHVybiBldmVudDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGhhbmRsZUV2ZW50RnVuYykge1xcbiAgICAgIGhhbmRsZUV2ZW50RnVuYyh0b3BMZXZlbFR5cGUsIHRhcmdldE5vZGUsIHRhcmdldEluc3QpO1xcbiAgICB9IC8vIFdoZW4gYmx1cnJpbmcsIHNldCB0aGUgdmFsdWUgYXR0cmlidXRlIGZvciBudW1iZXIgaW5wdXRzXFxuXFxuXFxuICAgIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9CTFVSKSB7XFxuICAgICAgaGFuZGxlQ29udHJvbGxlZElucHV0Qmx1cih0YXJnZXROb2RlKTtcXG4gICAgfVxcbiAgfVxcbn07XFxuXFxudmFyIFN5bnRoZXRpY1VJRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xcbiAgdmlldzogbnVsbCxcXG4gIGRldGFpbDogbnVsbFxcbn0pO1xcblxcbi8qKlxcbiAqIFRyYW5zbGF0aW9uIGZyb20gbW9kaWZpZXIga2V5IHRvIHRoZSBhc3NvY2lhdGVkIHByb3BlcnR5IGluIHRoZSBldmVudC5cXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8ja2V5cy1Nb2RpZmllcnNcXG4gKi9cXG52YXIgbW9kaWZpZXJLZXlUb1Byb3AgPSB7XFxuICBBbHQ6ICdhbHRLZXknLFxcbiAgQ29udHJvbDogJ2N0cmxLZXknLFxcbiAgTWV0YTogJ21ldGFLZXknLFxcbiAgU2hpZnQ6ICdzaGlmdEtleSdcXG59OyAvLyBPbGRlciBicm93c2VycyAoU2FmYXJpIDw9IDEwLCBpT1MgU2FmYXJpIDw9IDEwLjIpIGRvIG5vdCBzdXBwb3J0XFxuLy8gZ2V0TW9kaWZpZXJTdGF0ZS4gSWYgZ2V0TW9kaWZpZXJTdGF0ZSBpcyBub3Qgc3VwcG9ydGVkLCB3ZSBtYXAgaXQgdG8gYSBzZXQgb2ZcXG4vLyBtb2RpZmllciBrZXlzIGV4cG9zZWQgYnkgdGhlIGV2ZW50LiBJbiB0aGlzIGNhc2UsIExvY2sta2V5cyBhcmUgbm90IHN1cHBvcnRlZC5cXG5cXG5mdW5jdGlvbiBtb2RpZmllclN0YXRlR2V0dGVyKGtleUFyZykge1xcbiAgdmFyIHN5bnRoZXRpY0V2ZW50ID0gdGhpcztcXG4gIHZhciBuYXRpdmVFdmVudCA9IHN5bnRoZXRpY0V2ZW50Lm5hdGl2ZUV2ZW50O1xcblxcbiAgaWYgKG5hdGl2ZUV2ZW50LmdldE1vZGlmaWVyU3RhdGUpIHtcXG4gICAgcmV0dXJuIG5hdGl2ZUV2ZW50LmdldE1vZGlmaWVyU3RhdGUoa2V5QXJnKTtcXG4gIH1cXG5cXG4gIHZhciBrZXlQcm9wID0gbW9kaWZpZXJLZXlUb1Byb3Bba2V5QXJnXTtcXG4gIHJldHVybiBrZXlQcm9wID8gISFuYXRpdmVFdmVudFtrZXlQcm9wXSA6IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRFdmVudE1vZGlmaWVyU3RhdGUobmF0aXZlRXZlbnQpIHtcXG4gIHJldHVybiBtb2RpZmllclN0YXRlR2V0dGVyO1xcbn1cXG5cXG52YXIgcHJldmlvdXNTY3JlZW5YID0gMDtcXG52YXIgcHJldmlvdXNTY3JlZW5ZID0gMDsgLy8gVXNlIGZsYWdzIHRvIHNpZ25hbCBtb3ZlbWVudFgvWSBoYXMgYWxyZWFkeSBiZWVuIHNldFxcblxcbnZhciBpc01vdmVtZW50WFNldCA9IGZhbHNlO1xcbnZhciBpc01vdmVtZW50WVNldCA9IGZhbHNlO1xcbi8qKlxcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNNb3VzZUV2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xcbiAgc2NyZWVuWDogbnVsbCxcXG4gIHNjcmVlblk6IG51bGwsXFxuICBjbGllbnRYOiBudWxsLFxcbiAgY2xpZW50WTogbnVsbCxcXG4gIHBhZ2VYOiBudWxsLFxcbiAgcGFnZVk6IG51bGwsXFxuICBjdHJsS2V5OiBudWxsLFxcbiAgc2hpZnRLZXk6IG51bGwsXFxuICBhbHRLZXk6IG51bGwsXFxuICBtZXRhS2V5OiBudWxsLFxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlLFxcbiAgYnV0dG9uOiBudWxsLFxcbiAgYnV0dG9uczogbnVsbCxcXG4gIHJlbGF0ZWRUYXJnZXQ6IGZ1bmN0aW9uIChldmVudCkge1xcbiAgICByZXR1cm4gZXZlbnQucmVsYXRlZFRhcmdldCB8fCAoZXZlbnQuZnJvbUVsZW1lbnQgPT09IGV2ZW50LnNyY0VsZW1lbnQgPyBldmVudC50b0VsZW1lbnQgOiBldmVudC5mcm9tRWxlbWVudCk7XFxuICB9LFxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgaWYgKCdtb3ZlbWVudFgnIGluIGV2ZW50KSB7XFxuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WDtcXG4gICAgfVxcblxcbiAgICB2YXIgc2NyZWVuWCA9IHByZXZpb3VzU2NyZWVuWDtcXG4gICAgcHJldmlvdXNTY3JlZW5YID0gZXZlbnQuc2NyZWVuWDtcXG5cXG4gICAgaWYgKCFpc01vdmVtZW50WFNldCkge1xcbiAgICAgIGlzTW92ZW1lbnRYU2V0ID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScgPyBldmVudC5zY3JlZW5YIC0gc2NyZWVuWCA6IDA7XFxuICB9LFxcbiAgbW92ZW1lbnRZOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgaWYgKCdtb3ZlbWVudFknIGluIGV2ZW50KSB7XFxuICAgICAgcmV0dXJuIGV2ZW50Lm1vdmVtZW50WTtcXG4gICAgfVxcblxcbiAgICB2YXIgc2NyZWVuWSA9IHByZXZpb3VzU2NyZWVuWTtcXG4gICAgcHJldmlvdXNTY3JlZW5ZID0gZXZlbnQuc2NyZWVuWTtcXG5cXG4gICAgaWYgKCFpc01vdmVtZW50WVNldCkge1xcbiAgICAgIGlzTW92ZW1lbnRZU2V0ID0gdHJ1ZTtcXG4gICAgICByZXR1cm4gMDtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gJ21vdXNlbW92ZScgPyBldmVudC5zY3JlZW5ZIC0gc2NyZWVuWSA6IDA7XFxuICB9XFxufSk7XFxuXFxuLyoqXFxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL3BvaW50ZXJldmVudHMvXFxuICovXFxuXFxudmFyIFN5bnRoZXRpY1BvaW50ZXJFdmVudCA9IFN5bnRoZXRpY01vdXNlRXZlbnQuZXh0ZW5kKHtcXG4gIHBvaW50ZXJJZDogbnVsbCxcXG4gIHdpZHRoOiBudWxsLFxcbiAgaGVpZ2h0OiBudWxsLFxcbiAgcHJlc3N1cmU6IG51bGwsXFxuICB0YW5nZW50aWFsUHJlc3N1cmU6IG51bGwsXFxuICB0aWx0WDogbnVsbCxcXG4gIHRpbHRZOiBudWxsLFxcbiAgdHdpc3Q6IG51bGwsXFxuICBwb2ludGVyVHlwZTogbnVsbCxcXG4gIGlzUHJpbWFyeTogbnVsbFxcbn0pO1xcblxcbnZhciBldmVudFR5cGVzJDIgPSB7XFxuICBtb3VzZUVudGVyOiB7XFxuICAgIHJlZ2lzdHJhdGlvbk5hbWU6ICdvbk1vdXNlRW50ZXInLFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfTU9VU0VfT1VULCBUT1BfTU9VU0VfT1ZFUl1cXG4gIH0sXFxuICBtb3VzZUxlYXZlOiB7XFxuICAgIHJlZ2lzdHJhdGlvbk5hbWU6ICdvbk1vdXNlTGVhdmUnLFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfTU9VU0VfT1VULCBUT1BfTU9VU0VfT1ZFUl1cXG4gIH0sXFxuICBwb2ludGVyRW50ZXI6IHtcXG4gICAgcmVnaXN0cmF0aW9uTmFtZTogJ29uUG9pbnRlckVudGVyJyxcXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX1BPSU5URVJfT1VULCBUT1BfUE9JTlRFUl9PVkVSXVxcbiAgfSxcXG4gIHBvaW50ZXJMZWF2ZToge1xcbiAgICByZWdpc3RyYXRpb25OYW1lOiAnb25Qb2ludGVyTGVhdmUnLFxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfUE9JTlRFUl9PVVQsIFRPUF9QT0lOVEVSX09WRVJdXFxuICB9XFxufTtcXG52YXIgRW50ZXJMZWF2ZUV2ZW50UGx1Z2luID0ge1xcbiAgZXZlbnRUeXBlczogZXZlbnRUeXBlcyQyLFxcblxcbiAgLyoqXFxuICAgKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxcbiAgICogYG1vdXNlb3ZlcmAgYW5kIGBtb3VzZW91dGAgZXZlbnQgdGhhdCBvY2N1cnMuIE9ubHkgdXNlIGBtb3VzZW91dGAgc28gdGhhdFxcbiAgICogd2UgZG8gbm90IGV4dHJhY3QgZHVwbGljYXRlIGV2ZW50cy4gSG93ZXZlciwgbW92aW5nIHRoZSBtb3VzZSBpbnRvIHRoZVxcbiAgICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXFxuICAgKiB0aGUgYG1vdXNlb3ZlcmAgdG9wLWxldmVsIGV2ZW50LlxcbiAgICovXFxuICBleHRyYWN0RXZlbnRzOiBmdW5jdGlvbiAodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcXG4gICAgdmFyIGlzT3ZlckV2ZW50ID0gdG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1ZFUiB8fCB0b3BMZXZlbFR5cGUgPT09IFRPUF9QT0lOVEVSX09WRVI7XFxuICAgIHZhciBpc091dEV2ZW50ID0gdG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1VUIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX1BPSU5URVJfT1VUO1xcblxcbiAgICBpZiAoaXNPdmVyRXZlbnQgJiYgKGV2ZW50U3lzdGVtRmxhZ3MgJiBJU19SRVBMQVlFRCkgPT09IDAgJiYgKG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQuZnJvbUVsZW1lbnQpKSB7XFxuICAgICAgLy8gSWYgdGhpcyBpcyBhbiBvdmVyIGV2ZW50IHdpdGggYSB0YXJnZXQsIHRoZW4gd2UndmUgYWxyZWFkeSBkaXNwYXRjaGVkXFxuICAgICAgLy8gdGhlIGV2ZW50IGluIHRoZSBvdXQgZXZlbnQgb2YgdGhlIG90aGVyIHRhcmdldC4gSWYgdGhpcyBpcyByZXBsYXllZCxcXG4gICAgICAvLyB0aGVuIGl0J3MgYmVjYXVzZSB3ZSBjb3VsZG4ndCBkaXNwYXRjaCBhZ2FpbnN0IHRoaXMgdGFyZ2V0IHByZXZpb3VzbHlcXG4gICAgICAvLyBzbyB3ZSBoYXZlIHRvIGRvIGl0IG5vdyBpbnN0ZWFkLlxcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIGlmICghaXNPdXRFdmVudCAmJiAhaXNPdmVyRXZlbnQpIHtcXG4gICAgICAvLyBNdXN0IG5vdCBiZSBhIG1vdXNlIG9yIHBvaW50ZXIgaW4gb3Igb3V0IC0gaWdub3JpbmcuXFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG5cXG4gICAgdmFyIHdpbjtcXG5cXG4gICAgaWYgKG5hdGl2ZUV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gbmF0aXZlRXZlbnRUYXJnZXQpIHtcXG4gICAgICAvLyBgbmF0aXZlRXZlbnRUYXJnZXRgIGlzIHByb2JhYmx5IGEgd2luZG93IG9iamVjdC5cXG4gICAgICB3aW4gPSBuYXRpdmVFdmVudFRhcmdldDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IHdoeSBgb3duZXJEb2N1bWVudGAgaXMgc29tZXRpbWVzIHVuZGVmaW5lZCBpbiBJRTguXFxuICAgICAgdmFyIGRvYyA9IG5hdGl2ZUV2ZW50VGFyZ2V0Lm93bmVyRG9jdW1lbnQ7XFxuXFxuICAgICAgaWYgKGRvYykge1xcbiAgICAgICAgd2luID0gZG9jLmRlZmF1bHRWaWV3IHx8IGRvYy5wYXJlbnRXaW5kb3c7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHdpbiA9IHdpbmRvdztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGZyb207XFxuICAgIHZhciB0bztcXG5cXG4gICAgaWYgKGlzT3V0RXZlbnQpIHtcXG4gICAgICBmcm9tID0gdGFyZ2V0SW5zdDtcXG4gICAgICB2YXIgcmVsYXRlZCA9IG5hdGl2ZUV2ZW50LnJlbGF0ZWRUYXJnZXQgfHwgbmF0aXZlRXZlbnQudG9FbGVtZW50O1xcbiAgICAgIHRvID0gcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHJlbGF0ZWQpIDogbnVsbDtcXG5cXG4gICAgICBpZiAodG8gIT09IG51bGwpIHtcXG4gICAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xcblxcbiAgICAgICAgaWYgKHRvICE9PSBuZWFyZXN0TW91bnRlZCB8fCB0by50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgdG8udGFnICE9PSBIb3N0VGV4dCkge1xcbiAgICAgICAgICB0byA9IG51bGw7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIE1vdmluZyB0byBhIG5vZGUgZnJvbSBvdXRzaWRlIHRoZSB3aW5kb3cuXFxuICAgICAgZnJvbSA9IG51bGw7XFxuICAgICAgdG8gPSB0YXJnZXRJbnN0O1xcbiAgICB9XFxuXFxuICAgIGlmIChmcm9tID09PSB0bykge1xcbiAgICAgIC8vIE5vdGhpbmcgcGVydGFpbnMgdG8gb3VyIG1hbmFnZWQgY29tcG9uZW50cy5cXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgZXZlbnRJbnRlcmZhY2UsIGxlYXZlRXZlbnRUeXBlLCBlbnRlckV2ZW50VHlwZSwgZXZlbnRUeXBlUHJlZml4O1xcblxcbiAgICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1VUIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX01PVVNFX09WRVIpIHtcXG4gICAgICBldmVudEludGVyZmFjZSA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XFxuICAgICAgbGVhdmVFdmVudFR5cGUgPSBldmVudFR5cGVzJDIubW91c2VMZWF2ZTtcXG4gICAgICBlbnRlckV2ZW50VHlwZSA9IGV2ZW50VHlwZXMkMi5tb3VzZUVudGVyO1xcbiAgICAgIGV2ZW50VHlwZVByZWZpeCA9ICdtb3VzZSc7XFxuICAgIH0gZWxzZSBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfUE9JTlRFUl9PVVQgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfUE9JTlRFUl9PVkVSKSB7XFxuICAgICAgZXZlbnRJbnRlcmZhY2UgPSBTeW50aGV0aWNQb2ludGVyRXZlbnQ7XFxuICAgICAgbGVhdmVFdmVudFR5cGUgPSBldmVudFR5cGVzJDIucG9pbnRlckxlYXZlO1xcbiAgICAgIGVudGVyRXZlbnRUeXBlID0gZXZlbnRUeXBlcyQyLnBvaW50ZXJFbnRlcjtcXG4gICAgICBldmVudFR5cGVQcmVmaXggPSAncG9pbnRlcic7XFxuICAgIH1cXG5cXG4gICAgdmFyIGZyb21Ob2RlID0gZnJvbSA9PSBudWxsID8gd2luIDogZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKGZyb20pO1xcbiAgICB2YXIgdG9Ob2RlID0gdG8gPT0gbnVsbCA/IHdpbiA6IGdldE5vZGVGcm9tSW5zdGFuY2UkMSh0byk7XFxuICAgIHZhciBsZWF2ZSA9IGV2ZW50SW50ZXJmYWNlLmdldFBvb2xlZChsZWF2ZUV2ZW50VHlwZSwgZnJvbSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgbGVhdmUudHlwZSA9IGV2ZW50VHlwZVByZWZpeCArICdsZWF2ZSc7XFxuICAgIGxlYXZlLnRhcmdldCA9IGZyb21Ob2RlO1xcbiAgICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xcbiAgICB2YXIgZW50ZXIgPSBldmVudEludGVyZmFjZS5nZXRQb29sZWQoZW50ZXJFdmVudFR5cGUsIHRvLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgICBlbnRlci50eXBlID0gZXZlbnRUeXBlUHJlZml4ICsgJ2VudGVyJztcXG4gICAgZW50ZXIudGFyZ2V0ID0gdG9Ob2RlO1xcbiAgICBlbnRlci5yZWxhdGVkVGFyZ2V0ID0gZnJvbU5vZGU7XFxuICAgIGFjY3VtdWxhdGVFbnRlckxlYXZlRGlzcGF0Y2hlcyhsZWF2ZSwgZW50ZXIsIGZyb20sIHRvKTsgLy8gSWYgd2UgYXJlIG5vdCBwcm9jZXNzaW5nIHRoZSBmaXJzdCBhbmNlc3RvciwgdGhlbiB3ZVxcbiAgICAvLyBzaG91bGQgbm90IHByb2Nlc3MgdGhlIHNhbWUgbmF0aXZlRXZlbnQgYWdhaW4sIGFzIHdlXFxuICAgIC8vIHdpbGwgaGF2ZSBhbHJlYWR5IHByb2Nlc3NlZCBpdCBpbiB0aGUgZmlyc3QgYW5jZXN0b3IuXFxuXFxuICAgIGlmICgoZXZlbnRTeXN0ZW1GbGFncyAmIElTX0ZJUlNUX0FOQ0VTVE9SKSA9PT0gMCkge1xcbiAgICAgIHJldHVybiBbbGVhdmVdO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBbbGVhdmUsIGVudGVyXTtcXG4gIH1cXG59O1xcblxcbi8qKlxcbiAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvaXNcXG4gKi9cXG5mdW5jdGlvbiBpcyh4LCB5KSB7XFxuICByZXR1cm4geCA9PT0geSAmJiAoeCAhPT0gMCB8fCAxIC8geCA9PT0gMSAvIHkpIHx8IHggIT09IHggJiYgeSAhPT0geSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxcbiAgO1xcbn1cXG5cXG52YXIgb2JqZWN0SXMgPSB0eXBlb2YgT2JqZWN0LmlzID09PSAnZnVuY3Rpb24nID8gT2JqZWN0LmlzIDogaXM7XFxuXFxudmFyIGhhc093blByb3BlcnR5JDIgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xcbi8qKlxcbiAqIFBlcmZvcm1zIGVxdWFsaXR5IGJ5IGl0ZXJhdGluZyB0aHJvdWdoIGtleXMgb24gYW4gb2JqZWN0IGFuZCByZXR1cm5pbmcgZmFsc2VcXG4gKiB3aGVuIGFueSBrZXkgaGFzIHZhbHVlcyB3aGljaCBhcmUgbm90IHN0cmljdGx5IGVxdWFsIGJldHdlZW4gdGhlIGFyZ3VtZW50cy5cXG4gKiBSZXR1cm5zIHRydWUgd2hlbiB0aGUgdmFsdWVzIG9mIGFsbCBrZXlzIGFyZSBzdHJpY3RseSBlcXVhbC5cXG4gKi9cXG5cXG5mdW5jdGlvbiBzaGFsbG93RXF1YWwob2JqQSwgb2JqQikge1xcbiAgaWYgKG9iamVjdElzKG9iakEsIG9iakIpKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBvYmpBICE9PSAnb2JqZWN0JyB8fCBvYmpBID09PSBudWxsIHx8IHR5cGVvZiBvYmpCICE9PSAnb2JqZWN0JyB8fCBvYmpCID09PSBudWxsKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBrZXlzQSA9IE9iamVjdC5rZXlzKG9iakEpO1xcbiAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMob2JqQik7XFxuXFxuICBpZiAoa2V5c0EubGVuZ3RoICE9PSBrZXlzQi5sZW5ndGgpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfSAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxcblxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzQS5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAoIWhhc093blByb3BlcnR5JDIuY2FsbChvYmpCLCBrZXlzQVtpXSkgfHwgIW9iamVjdElzKG9iakFba2V5c0FbaV1dLCBvYmpCW2tleXNBW2ldXSkpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG52YXIgc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50ID0gY2FuVXNlRE9NICYmICdkb2N1bWVudE1vZGUnIGluIGRvY3VtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50TW9kZSA8PSAxMTtcXG52YXIgZXZlbnRUeXBlcyQzID0ge1xcbiAgc2VsZWN0OiB7XFxuICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XFxuICAgICAgYnViYmxlZDogJ29uU2VsZWN0JyxcXG4gICAgICBjYXB0dXJlZDogJ29uU2VsZWN0Q2FwdHVyZSdcXG4gICAgfSxcXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX0JMVVIsIFRPUF9DT05URVhUX01FTlUsIFRPUF9EUkFHX0VORCwgVE9QX0ZPQ1VTLCBUT1BfS0VZX0RPV04sIFRPUF9LRVlfVVAsIFRPUF9NT1VTRV9ET1dOLCBUT1BfTU9VU0VfVVAsIFRPUF9TRUxFQ1RJT05fQ0hBTkdFXVxcbiAgfVxcbn07XFxudmFyIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XFxudmFyIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xcbnZhciBsYXN0U2VsZWN0aW9uID0gbnVsbDtcXG52YXIgbW91c2VEb3duID0gZmFsc2U7XFxuLyoqXFxuICogR2V0IGFuIG9iamVjdCB3aGljaCBpcyBhIHVuaXF1ZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudCBzZWxlY3Rpb24uXFxuICpcXG4gKiBUaGUgcmV0dXJuIHZhbHVlIHdpbGwgbm90IGJlIGNvbnNpc3RlbnQgYWNyb3NzIG5vZGVzIG9yIGJyb3dzZXJzLCBidXRcXG4gKiB0d28gaWRlbnRpY2FsIHNlbGVjdGlvbnMgb24gdGhlIHNhbWUgbm9kZSB3aWxsIHJldHVybiBpZGVudGljYWwgb2JqZWN0cy5cXG4gKlxcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxcbiAqIEByZXR1cm4ge29iamVjdH1cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRTZWxlY3Rpb24kMShub2RlKSB7XFxuICBpZiAoJ3NlbGVjdGlvblN0YXJ0JyBpbiBub2RlICYmIGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhub2RlKSkge1xcbiAgICByZXR1cm4ge1xcbiAgICAgIHN0YXJ0OiBub2RlLnNlbGVjdGlvblN0YXJ0LFxcbiAgICAgIGVuZDogbm9kZS5zZWxlY3Rpb25FbmRcXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciB3aW4gPSBub2RlLm93bmVyRG9jdW1lbnQgJiYgbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IHx8IHdpbmRvdztcXG4gICAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcXG4gICAgcmV0dXJuIHtcXG4gICAgICBhbmNob3JOb2RlOiBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcXG4gICAgICBhbmNob3JPZmZzZXQ6IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXFxuICAgICAgZm9jdXNOb2RlOiBzZWxlY3Rpb24uZm9jdXNOb2RlLFxcbiAgICAgIGZvY3VzT2Zmc2V0OiBzZWxlY3Rpb24uZm9jdXNPZmZzZXRcXG4gICAgfTtcXG4gIH1cXG59XFxuLyoqXFxuICogR2V0IGRvY3VtZW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgZXZlbnQgdGFyZ2V0LlxcbiAqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50VGFyZ2V0XFxuICogQHJldHVybiB7RG9jdW1lbnR9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChldmVudFRhcmdldCkge1xcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xcbn1cXG4vKipcXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXFxuICpcXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcXG4gKiBAcmV0dXJuIHs/U3ludGhldGljRXZlbnR9XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gY29uc3RydWN0U2VsZWN0RXZlbnQobmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XFxuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcXG4gIC8vIHNlbGVjdGlvbiAodGhpcyBtYXRjaGVzIG5hdGl2ZSBgc2VsZWN0YCBldmVudCBiZWhhdmlvcikuIEluIEhUTUw1LCBzZWxlY3RcXG4gIC8vIGZpcmVzIG9ubHkgb24gaW5wdXQgYW5kIHRleHRhcmVhIHRodXMgaWYgdGhlcmUncyBubyBmb2N1c2VkIGVsZW1lbnQgd2VcXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxcbiAgdmFyIGRvYyA9IGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQobmF0aXZlRXZlbnRUYXJnZXQpO1xcblxcbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gT25seSBmaXJlIHdoZW4gc2VsZWN0aW9uIGhhcyBhY3R1YWxseSBjaGFuZ2VkLlxcblxcblxcbiAgdmFyIGN1cnJlbnRTZWxlY3Rpb24gPSBnZXRTZWxlY3Rpb24kMShhY3RpdmVFbGVtZW50JDEpO1xcblxcbiAgaWYgKCFsYXN0U2VsZWN0aW9uIHx8ICFzaGFsbG93RXF1YWwobGFzdFNlbGVjdGlvbiwgY3VycmVudFNlbGVjdGlvbikpIHtcXG4gICAgbGFzdFNlbGVjdGlvbiA9IGN1cnJlbnRTZWxlY3Rpb247XFxuICAgIHZhciBzeW50aGV0aWNFdmVudCA9IFN5bnRoZXRpY0V2ZW50LmdldFBvb2xlZChldmVudFR5cGVzJDMuc2VsZWN0LCBhY3RpdmVFbGVtZW50SW5zdCQxLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xcbiAgICBzeW50aGV0aWNFdmVudC50eXBlID0gJ3NlbGVjdCc7XFxuICAgIHN5bnRoZXRpY0V2ZW50LnRhcmdldCA9IGFjdGl2ZUVsZW1lbnQkMTtcXG4gICAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhzeW50aGV0aWNFdmVudCk7XFxuICAgIHJldHVybiBzeW50aGV0aWNFdmVudDtcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG4vKipcXG4gKiBUaGlzIHBsdWdpbiBjcmVhdGVzIGFuIGBvblNlbGVjdGAgZXZlbnQgdGhhdCBub3JtYWxpemVzIHNlbGVjdCBldmVudHNcXG4gKiBhY3Jvc3MgZm9ybSBlbGVtZW50cy5cXG4gKlxcbiAqIFN1cHBvcnRlZCBlbGVtZW50cyBhcmU6XFxuICogLSBpbnB1dCAoc2VlIGBpc1RleHRJbnB1dEVsZW1lbnRgKVxcbiAqIC0gdGV4dGFyZWFcXG4gKiAtIGNvbnRlbnRFZGl0YWJsZVxcbiAqXFxuICogVGhpcyBkaWZmZXJzIGZyb20gbmF0aXZlIGJyb3dzZXIgaW1wbGVtZW50YXRpb25zIGluIHRoZSBmb2xsb3dpbmcgd2F5czpcXG4gKiAtIEZpcmVzIG9uIGNvbnRlbnRFZGl0YWJsZSBmaWVsZHMgYXMgd2VsbCBhcyBpbnB1dHMuXFxuICogLSBGaXJlcyBmb3IgY29sbGFwc2VkIHNlbGVjdGlvbi5cXG4gKiAtIEZpcmVzIGFmdGVyIHVzZXIgaW5wdXQuXFxuICovXFxuXFxuXFxudmFyIFNlbGVjdEV2ZW50UGx1Z2luID0ge1xcbiAgZXZlbnRUeXBlczogZXZlbnRUeXBlcyQzLFxcbiAgZXh0cmFjdEV2ZW50czogZnVuY3Rpb24gKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIpIHtcXG4gICAgdmFyIGNvbnRhaW5lck9yRG9jID0gY29udGFpbmVyIHx8IGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQobmF0aXZlRXZlbnRUYXJnZXQpOyAvLyBUcmFjayB3aGV0aGVyIGFsbCBsaXN0ZW5lcnMgZXhpc3RzIGZvciB0aGlzIHBsdWdpbi4gSWYgbm9uZSBleGlzdCwgd2UgZG9cXG4gICAgLy8gbm90IGV4dHJhY3QgZXZlbnRzLiBTZWUgIzM2MzkuXFxuXFxuICAgIGlmICghY29udGFpbmVyT3JEb2MgfHwgIWlzTGlzdGVuaW5nVG9BbGxEZXBlbmRlbmNpZXMoJ29uU2VsZWN0JywgY29udGFpbmVyT3JEb2MpKSB7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG5cXG4gICAgdmFyIHRhcmdldE5vZGUgPSB0YXJnZXRJbnN0ID8gZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKHRhcmdldEluc3QpIDogd2luZG93O1xcblxcbiAgICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xcbiAgICAgIC8vIFRyYWNrIHRoZSBpbnB1dCBub2RlIHRoYXQgaGFzIGZvY3VzLlxcbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxcbiAgICAgICAgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSB8fCB0YXJnZXROb2RlLmNvbnRlbnRFZGl0YWJsZSA9PT0gJ3RydWUnKSB7XFxuICAgICAgICAgIGFjdGl2ZUVsZW1lbnQkMSA9IHRhcmdldE5vZGU7XFxuICAgICAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSB0YXJnZXRJbnN0O1xcbiAgICAgICAgICBsYXN0U2VsZWN0aW9uID0gbnVsbDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgVE9QX0JMVVI6XFxuICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSBudWxsO1xcbiAgICAgICAgYWN0aXZlRWxlbWVudEluc3QkMSA9IG51bGw7XFxuICAgICAgICBsYXN0U2VsZWN0aW9uID0gbnVsbDtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIC8vIERvbid0IGZpcmUgdGhlIGV2ZW50IHdoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nLiBUaGlzIG1hdGNoZXMgdGhlXFxuICAgICAgLy8gc2VtYW50aWNzIG9mIHRoZSBuYXRpdmUgc2VsZWN0IGV2ZW50LlxcblxcbiAgICAgIGNhc2UgVE9QX01PVVNFX0RPV046XFxuICAgICAgICBtb3VzZURvd24gPSB0cnVlO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ09OVEVYVF9NRU5VOlxcbiAgICAgIGNhc2UgVE9QX01PVVNFX1VQOlxcbiAgICAgIGNhc2UgVE9QX0RSQUdfRU5EOlxcbiAgICAgICAgbW91c2VEb3duID0gZmFsc2U7XFxuICAgICAgICByZXR1cm4gY29uc3RydWN0U2VsZWN0RXZlbnQobmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcXG4gICAgICAvLyBDaHJvbWUgYW5kIElFIGZpcmUgbm9uLXN0YW5kYXJkIGV2ZW50IHdoZW4gc2VsZWN0aW9uIGlzIGNoYW5nZWQgKGFuZFxcbiAgICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxcbiAgICAgIC8vIHRvIGtleSBhbmQgaW5wdXQgZXZlbnRzIG9uIGRlbGV0aW9uLCBzbyB3ZSBkaXNjYXJkIGl0LlxcbiAgICAgIC8vXFxuICAgICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXFxuICAgICAgLy8gYWZ0ZXIgZWFjaCBrZXkgZW50cnkuIFRoZSBzZWxlY3Rpb24gY2hhbmdlcyBhZnRlciBrZXlkb3duIGFuZCBiZWZvcmVcXG4gICAgICAvLyBrZXl1cCwgYnV0IHdlIGNoZWNrIG9uIGtleWRvd24gYXMgd2VsbCBpbiB0aGUgY2FzZSBvZiBob2xkaW5nIGRvd24gYVxcbiAgICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxcbiAgICAgIC8vIFRoaXMgaXMgYWxzbyBvdXIgYXBwcm9hY2ggZm9yIElFIGhhbmRsaW5nLCBmb3IgdGhlIHJlYXNvbiBhYm92ZS5cXG5cXG4gICAgICBjYXNlIFRPUF9TRUxFQ1RJT05fQ0hBTkdFOlxcbiAgICAgICAgaWYgKHNraXBTZWxlY3Rpb25DaGFuZ2VFdmVudCkge1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAvLyBmYWxscyB0aHJvdWdoXFxuXFxuICAgICAgY2FzZSBUT1BfS0VZX0RPV046XFxuICAgICAgY2FzZSBUT1BfS0VZX1VQOlxcbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdFNlbGVjdEV2ZW50KG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxufTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIEV2ZW50XFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxcbiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0FuaW1hdGlvbkV2ZW50XFxuICovXFxuXFxudmFyIFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcXG4gIGFuaW1hdGlvbk5hbWU6IG51bGwsXFxuICBlbGFwc2VkVGltZTogbnVsbCxcXG4gIHBzZXVkb0VsZW1lbnQ6IG51bGxcXG59KTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIEV2ZW50XFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jbGlwYm9hcmQtYXBpcy9cXG4gKi9cXG5cXG52YXIgU3ludGhldGljQ2xpcGJvYXJkRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xcbiAgY2xpcGJvYXJkRGF0YTogZnVuY3Rpb24gKGV2ZW50KSB7XFxuICAgIHJldHVybiAnY2xpcGJvYXJkRGF0YScgaW4gZXZlbnQgPyBldmVudC5jbGlwYm9hcmREYXRhIDogd2luZG93LmNsaXBib2FyZERhdGE7XFxuICB9XFxufSk7XFxuXFxuLyoqXFxuICogQGludGVyZmFjZSBGb2N1c0V2ZW50XFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXFxuICovXFxuXFxudmFyIFN5bnRoZXRpY0ZvY3VzRXZlbnQgPSBTeW50aGV0aWNVSUV2ZW50LmV4dGVuZCh7XFxuICByZWxhdGVkVGFyZ2V0OiBudWxsXFxufSk7XFxuXFxuLyoqXFxuICogYGNoYXJDb2RlYCByZXByZXNlbnRzIHRoZSBhY3R1YWwgXFxcImNoYXJhY3RlciBjb2RlXFxcIiBhbmQgaXMgc2FmZSB0byB1c2Ugd2l0aFxcbiAqIGBTdHJpbmcuZnJvbUNoYXJDb2RlYC4gQXMgc3VjaCwgb25seSBrZXlzIHRoYXQgY29ycmVzcG9uZCB0byBwcmludGFibGVcXG4gKiBjaGFyYWN0ZXJzIHByb2R1Y2UgYSB2YWxpZCBgY2hhckNvZGVgLCB0aGUgb25seSBleGNlcHRpb24gdG8gdGhpcyBpcyBFbnRlci5cXG4gKiBUaGUgVGFiLWtleSBpcyBjb25zaWRlcmVkIG5vbi1wcmludGFibGUgYW5kIGRvZXMgbm90IGhhdmUgYSBgY2hhckNvZGVgLFxcbiAqIHByZXN1bWFibHkgYmVjYXVzZSBpdCBkb2VzIG5vdCBwcm9kdWNlIGEgdGFiLWNoYXJhY3RlciBpbiBicm93c2Vycy5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cXG4gKiBAcmV0dXJuIHtudW1iZXJ9IE5vcm1hbGl6ZWQgYGNoYXJDb2RlYCBwcm9wZXJ0eS5cXG4gKi9cXG5mdW5jdGlvbiBnZXRFdmVudENoYXJDb2RlKG5hdGl2ZUV2ZW50KSB7XFxuICB2YXIgY2hhckNvZGU7XFxuICB2YXIga2V5Q29kZSA9IG5hdGl2ZUV2ZW50LmtleUNvZGU7XFxuXFxuICBpZiAoJ2NoYXJDb2RlJyBpbiBuYXRpdmVFdmVudCkge1xcbiAgICBjaGFyQ29kZSA9IG5hdGl2ZUV2ZW50LmNoYXJDb2RlOyAvLyBGRiBkb2VzIG5vdCBzZXQgYGNoYXJDb2RlYCBmb3IgdGhlIEVudGVyLWtleSwgY2hlY2sgYWdhaW5zdCBga2V5Q29kZWAuXFxuXFxuICAgIGlmIChjaGFyQ29kZSA9PT0gMCAmJiBrZXlDb2RlID09PSAxMykge1xcbiAgICAgIGNoYXJDb2RlID0gMTM7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIC8vIElFOCBkb2VzIG5vdCBpbXBsZW1lbnQgYGNoYXJDb2RlYCwgYnV0IGBrZXlDb2RlYCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUuXFxuICAgIGNoYXJDb2RlID0ga2V5Q29kZTtcXG4gIH0gLy8gSUUgYW5kIEVkZ2UgKG9uIFdpbmRvd3MpIGFuZCBDaHJvbWUgLyBTYWZhcmkgKG9uIFdpbmRvd3MgYW5kIExpbnV4KVxcbiAgLy8gcmVwb3J0IEVudGVyIGFzIGNoYXJDb2RlIDEwIHdoZW4gY3RybCBpcyBwcmVzc2VkLlxcblxcblxcbiAgaWYgKGNoYXJDb2RlID09PSAxMCkge1xcbiAgICBjaGFyQ29kZSA9IDEzO1xcbiAgfSAvLyBTb21lIG5vbi1wcmludGFibGUga2V5cyBhcmUgcmVwb3J0ZWQgaW4gYGNoYXJDb2RlYC9ga2V5Q29kZWAsIGRpc2NhcmQgdGhlbS5cXG4gIC8vIE11c3Qgbm90IGRpc2NhcmQgdGhlIChub24tKXByaW50YWJsZSBFbnRlci1rZXkuXFxuXFxuXFxuICBpZiAoY2hhckNvZGUgPj0gMzIgfHwgY2hhckNvZGUgPT09IDEzKSB7XFxuICAgIHJldHVybiBjaGFyQ29kZTtcXG4gIH1cXG5cXG4gIHJldHVybiAwO1xcbn1cXG5cXG4vKipcXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXFxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvS2V5Ym9hcmRFdmVudCNLZXlfbmFtZXNcXG4gKi9cXG5cXG52YXIgbm9ybWFsaXplS2V5ID0ge1xcbiAgRXNjOiAnRXNjYXBlJyxcXG4gIFNwYWNlYmFyOiAnICcsXFxuICBMZWZ0OiAnQXJyb3dMZWZ0JyxcXG4gIFVwOiAnQXJyb3dVcCcsXFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxcbiAgRG93bjogJ0Fycm93RG93bicsXFxuICBEZWw6ICdEZWxldGUnLFxcbiAgV2luOiAnT1MnLFxcbiAgTWVudTogJ0NvbnRleHRNZW51JyxcXG4gIEFwcHM6ICdDb250ZXh0TWVudScsXFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcXG4gIE1velByaW50YWJsZUtleTogJ1VuaWRlbnRpZmllZCdcXG59O1xcbi8qKlxcbiAqIFRyYW5zbGF0aW9uIGZyb20gbGVnYWN5IGBrZXlDb2RlYCB0byBIVE1MNSBga2V5YFxcbiAqIE9ubHkgc3BlY2lhbCBrZXlzIHN1cHBvcnRlZCwgYWxsIG90aGVycyBkZXBlbmQgb24ga2V5Ym9hcmQgbGF5b3V0IG9yIGJyb3dzZXJcXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xcbiAqL1xcblxcbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcXG4gICc4JzogJ0JhY2tzcGFjZScsXFxuICAnOSc6ICdUYWInLFxcbiAgJzEyJzogJ0NsZWFyJyxcXG4gICcxMyc6ICdFbnRlcicsXFxuICAnMTYnOiAnU2hpZnQnLFxcbiAgJzE3JzogJ0NvbnRyb2wnLFxcbiAgJzE4JzogJ0FsdCcsXFxuICAnMTknOiAnUGF1c2UnLFxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcXG4gICcyNyc6ICdFc2NhcGUnLFxcbiAgJzMyJzogJyAnLFxcbiAgJzMzJzogJ1BhZ2VVcCcsXFxuICAnMzQnOiAnUGFnZURvd24nLFxcbiAgJzM1JzogJ0VuZCcsXFxuICAnMzYnOiAnSG9tZScsXFxuICAnMzcnOiAnQXJyb3dMZWZ0JyxcXG4gICczOCc6ICdBcnJvd1VwJyxcXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcXG4gICc0MCc6ICdBcnJvd0Rvd24nLFxcbiAgJzQ1JzogJ0luc2VydCcsXFxuICAnNDYnOiAnRGVsZXRlJyxcXG4gICcxMTInOiAnRjEnLFxcbiAgJzExMyc6ICdGMicsXFxuICAnMTE0JzogJ0YzJyxcXG4gICcxMTUnOiAnRjQnLFxcbiAgJzExNic6ICdGNScsXFxuICAnMTE3JzogJ0Y2JyxcXG4gICcxMTgnOiAnRjcnLFxcbiAgJzExOSc6ICdGOCcsXFxuICAnMTIwJzogJ0Y5JyxcXG4gICcxMjEnOiAnRjEwJyxcXG4gICcxMjInOiAnRjExJyxcXG4gICcxMjMnOiAnRjEyJyxcXG4gICcxNDQnOiAnTnVtTG9jaycsXFxuICAnMTQ1JzogJ1Njcm9sbExvY2snLFxcbiAgJzIyNCc6ICdNZXRhJ1xcbn07XFxuLyoqXFxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxcbiAqIEByZXR1cm4ge3N0cmluZ30gTm9ybWFsaXplZCBga2V5YCBwcm9wZXJ0eS5cXG4gKi9cXG5cXG5mdW5jdGlvbiBnZXRFdmVudEtleShuYXRpdmVFdmVudCkge1xcbiAgaWYgKG5hdGl2ZUV2ZW50LmtleSkge1xcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cXG4gICAgLy8gaW1wbGVtZW50YXRpb25zIG9mIGEgd29ya2luZyBkcmFmdCBzcGVjaWZpY2F0aW9uLlxcbiAgICAvLyBGaXJlRm94IGltcGxlbWVudHMgYGtleWAgYnV0IHJldHVybnMgYE1velByaW50YWJsZUtleWAgZm9yIGFsbFxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cXG4gICAgdmFyIGtleSA9IG5vcm1hbGl6ZUtleVtuYXRpdmVFdmVudC5rZXldIHx8IG5hdGl2ZUV2ZW50LmtleTtcXG5cXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcXG4gICAgICByZXR1cm4ga2V5O1xcbiAgICB9XFxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cXG5cXG5cXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XFxuICAgIHZhciBjaGFyQ29kZSA9IGdldEV2ZW50Q2hhckNvZGUobmF0aXZlRXZlbnQpOyAvLyBUaGUgZW50ZXIta2V5IGlzIHRlY2huaWNhbGx5IGJvdGggcHJpbnRhYmxlIGFuZCBub24tcHJpbnRhYmxlIGFuZCBjYW5cXG4gICAgLy8gdGh1cyBiZSBjYXB0dXJlZCBieSBga2V5cHJlc3NgLCBubyBvdGhlciBub24tcHJpbnRhYmxlIGtleSBzaG91bGQuXFxuXFxuICAgIHJldHVybiBjaGFyQ29kZSA9PT0gMTMgPyAnRW50ZXInIDogU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XFxuICB9XFxuXFxuICBpZiAobmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IG5hdGl2ZUV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcXG4gICAgLy8gV2hpbGUgdXNlciBrZXlib2FyZCBsYXlvdXQgZGV0ZXJtaW5lcyB0aGUgYWN0dWFsIG1lYW5pbmcgb2YgZWFjaFxcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxcbiAgICByZXR1cm4gdHJhbnNsYXRlVG9LZXlbbmF0aXZlRXZlbnQua2V5Q29kZV0gfHwgJ1VuaWRlbnRpZmllZCc7XFxuICB9XFxuXFxuICByZXR1cm4gJyc7XFxufVxcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgS2V5Ym9hcmRFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNLZXlib2FyZEV2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xcbiAga2V5OiBnZXRFdmVudEtleSxcXG4gIGxvY2F0aW9uOiBudWxsLFxcbiAgY3RybEtleTogbnVsbCxcXG4gIHNoaWZ0S2V5OiBudWxsLFxcbiAgYWx0S2V5OiBudWxsLFxcbiAgbWV0YUtleTogbnVsbCxcXG4gIHJlcGVhdDogbnVsbCxcXG4gIGxvY2FsZTogbnVsbCxcXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcXG4gIC8vIExlZ2FjeSBJbnRlcmZhY2VcXG4gIGNoYXJDb2RlOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXFxuICAgIC8vIHRoZSBhY3R1YWwgcHJpbnRhYmxlIGNoYXJhY3Rlci5cXG4gICAgLy8gS2V5UHJlc3MgaXMgZGVwcmVjYXRlZCwgYnV0IGl0cyByZXBsYWNlbWVudCBpcyBub3QgeWV0IGZpbmFsIGFuZCBub3RcXG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleXByZXNzJykge1xcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMDtcXG4gIH0sXFxuICBrZXlDb2RlOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgLy8gYGtleUNvZGVgIGlzIHRoZSByZXN1bHQgb2YgYSBLZXlEb3duL1VwIGV2ZW50IGFuZCByZXByZXNlbnRzIHRoZSB2YWx1ZSBvZlxcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXFxuICAgIC8vIFRoZSBhY3R1YWwgbWVhbmluZyBvZiB0aGUgdmFsdWUgZGVwZW5kcyBvbiB0aGUgdXNlcnMnIGtleWJvYXJkIGxheW91dFxcbiAgICAvLyB3aGljaCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIEFzc3VtaW5nIHRoYXQgaXQgaXMgYSBVUyBrZXlib2FyZCBsYXlvdXRcXG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxcbiAgICAvLyBEdWUgdG8gdGhpcywgaXQgaXMgbGVmdCB0byB0aGUgdXNlciB0byBpbXBsZW1lbnQgYXQgdGhpcyB0aW1lLlxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcXG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMDtcXG4gIH0sXFxuICB3aGljaDogZnVuY3Rpb24gKGV2ZW50KSB7XFxuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXFxuICAgIC8vIHR5cGUgb2YgdGhlIGV2ZW50LlxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleXByZXNzJykge1xcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcXG4gICAgfVxcblxcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcXG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gMDtcXG4gIH1cXG59KTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNEcmFnRXZlbnQgPSBTeW50aGV0aWNNb3VzZUV2ZW50LmV4dGVuZCh7XFxuICBkYXRhVHJhbnNmZXI6IG51bGxcXG59KTtcXG5cXG4vKipcXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL3RvdWNoLWV2ZW50cy9cXG4gKi9cXG5cXG52YXIgU3ludGhldGljVG91Y2hFdmVudCA9IFN5bnRoZXRpY1VJRXZlbnQuZXh0ZW5kKHtcXG4gIHRvdWNoZXM6IG51bGwsXFxuICB0YXJnZXRUb3VjaGVzOiBudWxsLFxcbiAgY2hhbmdlZFRvdWNoZXM6IG51bGwsXFxuICBhbHRLZXk6IG51bGwsXFxuICBtZXRhS2V5OiBudWxsLFxcbiAgY3RybEtleTogbnVsbCxcXG4gIHNoaWZ0S2V5OiBudWxsLFxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlXFxufSk7XFxuXFxuLyoqXFxuICogQGludGVyZmFjZSBFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOS9XRC1jc3MzLXRyYW5zaXRpb25zLTIwMDkwMzIwLyN0cmFuc2l0aW9uLWV2ZW50cy1cXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcXG4gKi9cXG5cXG52YXIgU3ludGhldGljVHJhbnNpdGlvbkV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcXG4gIHByb3BlcnR5TmFtZTogbnVsbCxcXG4gIGVsYXBzZWRUaW1lOiBudWxsLFxcbiAgcHNldWRvRWxlbWVudDogbnVsbFxcbn0pO1xcblxcbi8qKlxcbiAqIEBpbnRlcmZhY2UgV2hlZWxFdmVudFxcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xcbiAqL1xcblxcbnZhciBTeW50aGV0aWNXaGVlbEV2ZW50ID0gU3ludGhldGljTW91c2VFdmVudC5leHRlbmQoe1xcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgcmV0dXJuICdkZWx0YVgnIGluIGV2ZW50ID8gZXZlbnQuZGVsdGFYIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFYYCBmb3IgV2Via2l0IGFuZCBub3JtYWxpemUgKHJpZ2h0IGlzIHBvc2l0aXZlKS5cXG4gICAgJ3doZWVsRGVsdGFYJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhWCA6IDA7XFxuICB9LFxcbiAgZGVsdGFZOiBmdW5jdGlvbiAoZXZlbnQpIHtcXG4gICAgcmV0dXJuICdkZWx0YVknIGluIGV2ZW50ID8gZXZlbnQuZGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFZYCBmb3IgV2Via2l0IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxcbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxcbiAgICAnd2hlZWxEZWx0YScgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YSA6IDA7XFxuICB9LFxcbiAgZGVsdGFaOiBudWxsLFxcbiAgLy8gQnJvd3NlcnMgd2l0aG91dCBcXFwiZGVsdGFNb2RlXFxcIiBpcyByZXBvcnRpbmcgaW4gcmF3IHdoZWVsIGRlbHRhIHdoZXJlIG9uZVxcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cXG4gIC8vIEEgZ29vZCBhcHByb3hpbWF0aW9uIG9mIERPTV9ERUxUQV9MSU5FICgxKSBpcyA1JSBvZiB2aWV3cG9ydCBzaXplIG9yXFxuICAvLyB+NDAgcGl4ZWxzLCBmb3IgRE9NX0RFTFRBX1NDUkVFTiAoMikgaXQgaXMgODcuNSUgb2Ygdmlld3BvcnQgc2l6ZS5cXG4gIGRlbHRhTW9kZTogbnVsbFxcbn0pO1xcblxcbnZhciBrbm93bkhUTUxUb3BMZXZlbFR5cGVzID0gW1RPUF9BQk9SVCwgVE9QX0NBTkNFTCwgVE9QX0NBTl9QTEFZLCBUT1BfQ0FOX1BMQVlfVEhST1VHSCwgVE9QX0NMT1NFLCBUT1BfRFVSQVRJT05fQ0hBTkdFLCBUT1BfRU1QVElFRCwgVE9QX0VOQ1JZUFRFRCwgVE9QX0VOREVELCBUT1BfRVJST1IsIFRPUF9JTlBVVCwgVE9QX0lOVkFMSUQsIFRPUF9MT0FELCBUT1BfTE9BREVEX0RBVEEsIFRPUF9MT0FERURfTUVUQURBVEEsIFRPUF9MT0FEX1NUQVJULCBUT1BfUEFVU0UsIFRPUF9QTEFZLCBUT1BfUExBWUlORywgVE9QX1BST0dSRVNTLCBUT1BfUkFURV9DSEFOR0UsIFRPUF9SRVNFVCwgVE9QX1NFRUtFRCwgVE9QX1NFRUtJTkcsIFRPUF9TVEFMTEVELCBUT1BfU1VCTUlULCBUT1BfU1VTUEVORCwgVE9QX1RJTUVfVVBEQVRFLCBUT1BfVE9HR0xFLCBUT1BfVk9MVU1FX0NIQU5HRSwgVE9QX1dBSVRJTkddO1xcbnZhciBTaW1wbGVFdmVudFBsdWdpbiA9IHtcXG4gIC8vIHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRUeXBlcyBnZXRzIHBvcHVsYXRlZCBmcm9tXFxuICAvLyB0aGUgRE9NRXZlbnRQcm9wZXJ0aWVzIG1vZHVsZS5cXG4gIGV2ZW50VHlwZXM6IHNpbXBsZUV2ZW50UGx1Z2luRXZlbnRUeXBlcyxcXG4gIGV4dHJhY3RFdmVudHM6IGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xcbiAgICB2YXIgZGlzcGF0Y2hDb25maWcgPSB0b3BMZXZlbEV2ZW50c1RvRGlzcGF0Y2hDb25maWcuZ2V0KHRvcExldmVsVHlwZSk7XFxuXFxuICAgIGlmICghZGlzcGF0Y2hDb25maWcpIHtcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfVxcblxcbiAgICB2YXIgRXZlbnRDb25zdHJ1Y3RvcjtcXG5cXG4gICAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcXG4gICAgICBjYXNlIFRPUF9LRVlfUFJFU1M6XFxuICAgICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBrZXlwcmVzcyBldmVudCBmb3IgZnVuY3Rpb24ga2V5cyB0b28uIFRoaXMgcmVtb3Zlc1xcbiAgICAgICAgLy8gdGhlIHVud2FudGVkIGtleXByZXNzIGV2ZW50cy4gRW50ZXIgaXMgaG93ZXZlciBib3RoIHByaW50YWJsZSBhbmRcXG4gICAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXFxuICAgICAgICBpZiAoZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkgPT09IDApIHtcXG4gICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xcblxcbiAgICAgIGNhc2UgVE9QX0tFWV9ET1dOOlxcbiAgICAgIGNhc2UgVE9QX0tFWV9VUDpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNLZXlib2FyZEV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQkxVUjpcXG4gICAgICBjYXNlIFRPUF9GT0NVUzpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNGb2N1c0V2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ0xJQ0s6XFxuICAgICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcXG4gICAgICAgIC8vIHVud2FudGVkIGNsaWNrIGV2ZW50cy5cXG4gICAgICAgIGlmIChuYXRpdmVFdmVudC5idXR0b24gPT09IDIpIHtcXG4gICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xcblxcbiAgICAgIGNhc2UgVE9QX0FVWF9DTElDSzpcXG4gICAgICBjYXNlIFRPUF9ET1VCTEVfQ0xJQ0s6XFxuICAgICAgY2FzZSBUT1BfTU9VU0VfRE9XTjpcXG4gICAgICBjYXNlIFRPUF9NT1VTRV9NT1ZFOlxcbiAgICAgIGNhc2UgVE9QX01PVVNFX1VQOiAvLyBUT0RPOiBEaXNhYmxlZCBlbGVtZW50cyBzaG91bGQgbm90IHJlc3BvbmQgdG8gbW91c2UgZXZlbnRzXFxuXFxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xcblxcbiAgICAgIGNhc2UgVE9QX01PVVNFX09VVDpcXG4gICAgICBjYXNlIFRPUF9NT1VTRV9PVkVSOlxcbiAgICAgIGNhc2UgVE9QX0NPTlRFWFRfTUVOVTpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNNb3VzZUV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfRFJBRzpcXG4gICAgICBjYXNlIFRPUF9EUkFHX0VORDpcXG4gICAgICBjYXNlIFRPUF9EUkFHX0VOVEVSOlxcbiAgICAgIGNhc2UgVE9QX0RSQUdfRVhJVDpcXG4gICAgICBjYXNlIFRPUF9EUkFHX0xFQVZFOlxcbiAgICAgIGNhc2UgVE9QX0RSQUdfT1ZFUjpcXG4gICAgICBjYXNlIFRPUF9EUkFHX1NUQVJUOlxcbiAgICAgIGNhc2UgVE9QX0RST1A6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljRHJhZ0V2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfVE9VQ0hfQ0FOQ0VMOlxcbiAgICAgIGNhc2UgVE9QX1RPVUNIX0VORDpcXG4gICAgICBjYXNlIFRPUF9UT1VDSF9NT1ZFOlxcbiAgICAgIGNhc2UgVE9QX1RPVUNIX1NUQVJUOlxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1RvdWNoRXZlbnQ7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9BTklNQVRJT05fRU5EOlxcbiAgICAgIGNhc2UgVE9QX0FOSU1BVElPTl9JVEVSQVRJT046XFxuICAgICAgY2FzZSBUT1BfQU5JTUFUSU9OX1NUQVJUOlxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY0FuaW1hdGlvbkV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfVFJBTlNJVElPTl9FTkQ6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljVHJhbnNpdGlvbkV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfU0NST0xMOlxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9XSEVFTDpcXG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNXaGVlbEV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBUT1BfQ09QWTpcXG4gICAgICBjYXNlIFRPUF9DVVQ6XFxuICAgICAgY2FzZSBUT1BfUEFTVEU6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljQ2xpcGJvYXJkRXZlbnQ7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFRPUF9HT1RfUE9JTlRFUl9DQVBUVVJFOlxcbiAgICAgIGNhc2UgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFOlxcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfQ0FOQ0VMOlxcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfRE9XTjpcXG4gICAgICBjYXNlIFRPUF9QT0lOVEVSX01PVkU6XFxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9PVVQ6XFxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9PVkVSOlxcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfVVA6XFxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljUG9pbnRlckV2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIHtcXG4gICAgICAgICAgaWYgKGtub3duSFRNTFRvcExldmVsVHlwZXMuaW5kZXhPZih0b3BMZXZlbFR5cGUpID09PSAtMSkge1xcbiAgICAgICAgICAgIGVycm9yKCdTaW1wbGVFdmVudFBsdWdpbjogVW5oYW5kbGVkIGV2ZW50IHR5cGUsIGAlc2AuIFRoaXMgd2FybmluZyAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIHRvcExldmVsVHlwZSk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0gLy8gSFRNTCBFdmVudHNcXG4gICAgICAgIC8vIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDUvaW5kZXguaHRtbCNldmVudHMtMFxcblxcblxcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY0V2ZW50O1xcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgdmFyIGV2ZW50ID0gRXZlbnRDb25zdHJ1Y3Rvci5nZXRQb29sZWQoZGlzcGF0Y2hDb25maWcsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XFxuICAgIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnQpO1xcbiAgICByZXR1cm4gZXZlbnQ7XFxuICB9XFxufTtcXG5cXG4vKipcXG4gKiBTcGVjaWZpZXMgYSBkZXRlcm1pbmlzdGljIG9yZGVyaW5nIG9mIGBFdmVudFBsdWdpbmBzLiBBIGNvbnZlbmllbnQgd2F5IHRvXFxuICogcmVhc29uIGFib3V0IHBsdWdpbnMsIHdpdGhvdXQgaGF2aW5nIHRvIHBhY2thZ2UgZXZlcnkgb25lIG9mIHRoZW0uIFRoaXNcXG4gKiBpcyBiZXR0ZXIgdGhhbiBoYXZpbmcgcGx1Z2lucyBiZSBvcmRlcmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleVxcbiAqIGFyZSBpbmplY3RlZCBiZWNhdXNlIHRoYXQgb3JkZXJpbmcgd291bGQgYmUgaW5mbHVlbmNlZCBieSB0aGUgcGFja2FnaW5nIG9yZGVyLlxcbiAqIGBSZXNwb25kZXJFdmVudFBsdWdpbmAgbXVzdCBvY2N1ciBiZWZvcmUgYFNpbXBsZUV2ZW50UGx1Z2luYCBzbyB0aGF0XFxuICogcHJldmVudGluZyBkZWZhdWx0IG9uIGV2ZW50cyBpcyBjb252ZW5pZW50IGluIGBTaW1wbGVFdmVudFBsdWdpbmAgaGFuZGxlcnMuXFxuICovXFxuXFxudmFyIERPTUV2ZW50UGx1Z2luT3JkZXIgPSBbJ1Jlc3BvbmRlckV2ZW50UGx1Z2luJywgJ1NpbXBsZUV2ZW50UGx1Z2luJywgJ0VudGVyTGVhdmVFdmVudFBsdWdpbicsICdDaGFuZ2VFdmVudFBsdWdpbicsICdTZWxlY3RFdmVudFBsdWdpbicsICdCZWZvcmVJbnB1dEV2ZW50UGx1Z2luJ107XFxuLyoqXFxuICogSW5qZWN0IG1vZHVsZXMgZm9yIHJlc29sdmluZyBET00gaGllcmFyY2h5IGFuZCBwbHVnaW4gb3JkZXJpbmcuXFxuICovXFxuXFxuaW5qZWN0RXZlbnRQbHVnaW5PcmRlcihET01FdmVudFBsdWdpbk9yZGVyKTtcXG5zZXRDb21wb25lbnRUcmVlKGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMSwgZ2V0SW5zdGFuY2VGcm9tTm9kZSQxLCBnZXROb2RlRnJvbUluc3RhbmNlJDEpO1xcbi8qKlxcbiAqIFNvbWUgaW1wb3J0YW50IGV2ZW50IHBsdWdpbnMgaW5jbHVkZWQgYnkgZGVmYXVsdCAod2l0aG91dCBoYXZpbmcgdG8gcmVxdWlyZVxcbiAqIHRoZW0pLlxcbiAqL1xcblxcbmluamVjdEV2ZW50UGx1Z2luc0J5TmFtZSh7XFxuICBTaW1wbGVFdmVudFBsdWdpbjogU2ltcGxlRXZlbnRQbHVnaW4sXFxuICBFbnRlckxlYXZlRXZlbnRQbHVnaW46IEVudGVyTGVhdmVFdmVudFBsdWdpbixcXG4gIENoYW5nZUV2ZW50UGx1Z2luOiBDaGFuZ2VFdmVudFBsdWdpbixcXG4gIFNlbGVjdEV2ZW50UGx1Z2luOiBTZWxlY3RFdmVudFBsdWdpbixcXG4gIEJlZm9yZUlucHV0RXZlbnRQbHVnaW46IEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cXG59KTtcXG5cXG4vLyBQcmVmaXggbWVhc3VyZW1lbnRzIHNvIHRoYXQgaXQncyBwb3NzaWJsZSB0byBmaWx0ZXIgdGhlbS5cXG4vLyBMb25nZXIgcHJlZml4ZXMgYXJlIGhhcmQgdG8gcmVhZCBpbiBEZXZUb29scy5cXG52YXIgcmVhY3RFbW9qaSA9IFxcXCJcXFxcdTI2OUJcXFwiO1xcbnZhciB3YXJuaW5nRW1vamkgPSBcXFwiXFxcXHUyNkQ0XFxcIjtcXG52YXIgc3VwcG9ydHNVc2VyVGltaW5nID0gdHlwZW9mIHBlcmZvcm1hbmNlICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UubWFyayA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UubWVhc3VyZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyA9PT0gJ2Z1bmN0aW9uJzsgLy8gS2VlcCB0cmFjayBvZiBjdXJyZW50IGZpYmVyIHNvIHRoYXQgd2Uga25vdyB0aGUgcGF0aCB0byB1bndpbmQgb24gcGF1c2UuXFxuLy8gVE9ETzogdGhpcyBsb29rcyB0aGUgc2FtZSBhcyBuZXh0VW5pdE9mV29yayBpbiBzY2hlZHVsZXIuIENhbiB3ZSB1bmlmeSB0aGVtP1xcblxcbnZhciBjdXJyZW50RmliZXIgPSBudWxsOyAvLyBJZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIHVzZXIgY29kZSwgd2hpY2ggZmliZXIgYW5kIG1ldGhvZCBpcyBpdD9cXG4vLyBSZXVzaW5nIGBjdXJyZW50RmliZXJgIHdvdWxkIGJlIGNvbmZ1c2luZyBmb3IgdGhpcyBiZWNhdXNlIHVzZXIgY29kZSBmaWJlclxcbi8vIGNhbiBjaGFuZ2UgZHVyaW5nIGNvbW1pdCBwaGFzZSB0b28sIGJ1dCB3ZSBkb24ndCBuZWVkIHRvIHVud2luZCBpdCAoc2luY2VcXG4vLyBsaWZlY3ljbGVzIGluIHRoZSBjb21taXQgcGhhc2UgZG9uJ3QgcmVzZW1ibGUgYSB0cmVlKS5cXG5cXG52YXIgY3VycmVudFBoYXNlID0gbnVsbDtcXG52YXIgY3VycmVudFBoYXNlRmliZXIgPSBudWxsOyAvLyBEaWQgbGlmZWN5Y2xlIGhvb2sgc2NoZWR1bGUgYW4gdXBkYXRlPyBUaGlzIGlzIG9mdGVuIGEgcGVyZm9ybWFuY2UgcHJvYmxlbSxcXG4vLyBzbyB3ZSB3aWxsIGtlZXAgdHJhY2sgb2YgaXQsIGFuZCBpbmNsdWRlIGl0IGluIHRoZSByZXBvcnQuXFxuLy8gVHJhY2sgY29tbWl0cyBjYXVzZWQgYnkgY2FzY2FkaW5nIHVwZGF0ZXMuXFxuXFxudmFyIGlzQ29tbWl0dGluZyA9IGZhbHNlO1xcbnZhciBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRDb21taXQgPSBmYWxzZTtcXG52YXIgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50UGhhc2UgPSBmYWxzZTtcXG52YXIgY29tbWl0Q291bnRJbkN1cnJlbnRXb3JrTG9vcCA9IDA7XFxudmFyIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4vLyB0byBhdm9pZCBzdHJldGNoIHRoZSBjb21taXQgcGhhc2Ugd2l0aCBtZWFzdXJlbWVudCBvdmVyaGVhZC5cXG5cXG52YXIgbGFiZWxzSW5DdXJyZW50Q29tbWl0ID0gbmV3IFNldCgpO1xcblxcbnZhciBmb3JtYXRNYXJrTmFtZSA9IGZ1bmN0aW9uIChtYXJrTmFtZSkge1xcbiAgcmV0dXJuIHJlYWN0RW1vamkgKyBcXFwiIFxcXCIgKyBtYXJrTmFtZTtcXG59O1xcblxcbnZhciBmb3JtYXRMYWJlbCA9IGZ1bmN0aW9uIChsYWJlbCwgd2FybmluZykge1xcbiAgdmFyIHByZWZpeCA9IHdhcm5pbmcgPyB3YXJuaW5nRW1vamkgKyBcXFwiIFxcXCIgOiByZWFjdEVtb2ppICsgXFxcIiBcXFwiO1xcbiAgdmFyIHN1ZmZpeCA9IHdhcm5pbmcgPyBcXFwiIFdhcm5pbmc6IFxcXCIgKyB3YXJuaW5nIDogJyc7XFxuICByZXR1cm4gXFxcIlxcXCIgKyBwcmVmaXggKyBsYWJlbCArIHN1ZmZpeDtcXG59O1xcblxcbnZhciBiZWdpbk1hcmsgPSBmdW5jdGlvbiAobWFya05hbWUpIHtcXG4gIHBlcmZvcm1hbmNlLm1hcmsoZm9ybWF0TWFya05hbWUobWFya05hbWUpKTtcXG59O1xcblxcbnZhciBjbGVhck1hcmsgPSBmdW5jdGlvbiAobWFya05hbWUpIHtcXG4gIHBlcmZvcm1hbmNlLmNsZWFyTWFya3MoZm9ybWF0TWFya05hbWUobWFya05hbWUpKTtcXG59O1xcblxcbnZhciBlbmRNYXJrID0gZnVuY3Rpb24gKGxhYmVsLCBtYXJrTmFtZSwgd2FybmluZykge1xcbiAgdmFyIGZvcm1hdHRlZE1hcmtOYW1lID0gZm9ybWF0TWFya05hbWUobWFya05hbWUpO1xcbiAgdmFyIGZvcm1hdHRlZExhYmVsID0gZm9ybWF0TGFiZWwobGFiZWwsIHdhcm5pbmcpO1xcblxcbiAgdHJ5IHtcXG4gICAgcGVyZm9ybWFuY2UubWVhc3VyZShmb3JtYXR0ZWRMYWJlbCwgZm9ybWF0dGVkTWFya05hbWUpO1xcbiAgfSBjYXRjaCAoZXJyKSB7fSAvLyBJZiBwcmV2aW91cyBtYXJrIHdhcyBtaXNzaW5nIGZvciBzb21lIHJlYXNvbiwgdGhpcyB3aWxsIHRocm93LlxcbiAgLy8gVGhpcyBjb3VsZCBvbmx5IGhhcHBlbiBpZiBSZWFjdCBjcmFzaGVkIGluIGFuIHVuZXhwZWN0ZWQgcGxhY2UgZWFybGllci5cXG4gIC8vIERvbid0IHBpbGUgb24gd2l0aCBtb3JlIGVycm9ycy5cXG4gIC8vIENsZWFyIG1hcmtzIGltbWVkaWF0ZWx5IHRvIGF2b2lkIGdyb3dpbmcgYnVmZmVyLlxcblxcblxcbiAgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhmb3JtYXR0ZWRNYXJrTmFtZSk7XFxuICBwZXJmb3JtYW5jZS5jbGVhck1lYXN1cmVzKGZvcm1hdHRlZExhYmVsKTtcXG59O1xcblxcbnZhciBnZXRGaWJlck1hcmtOYW1lID0gZnVuY3Rpb24gKGxhYmVsLCBkZWJ1Z0lEKSB7XFxuICByZXR1cm4gbGFiZWwgKyBcXFwiICgjXFxcIiArIGRlYnVnSUQgKyBcXFwiKVxcXCI7XFxufTtcXG5cXG52YXIgZ2V0RmliZXJMYWJlbCA9IGZ1bmN0aW9uIChjb21wb25lbnROYW1lLCBpc01vdW50ZWQsIHBoYXNlKSB7XFxuICBpZiAocGhhc2UgPT09IG51bGwpIHtcXG4gICAgLy8gVGhlc2UgYXJlIGNvbXBvc2l0ZSBjb21wb25lbnQgdG90YWwgdGltZSBtZWFzdXJlbWVudHMuXFxuICAgIHJldHVybiBjb21wb25lbnROYW1lICsgXFxcIiBbXFxcIiArIChpc01vdW50ZWQgPyAndXBkYXRlJyA6ICdtb3VudCcpICsgXFxcIl1cXFwiO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQ29tcG9zaXRlIGNvbXBvbmVudCBtZXRob2RzLlxcbiAgICByZXR1cm4gY29tcG9uZW50TmFtZSArIFxcXCIuXFxcIiArIHBoYXNlO1xcbiAgfVxcbn07XFxuXFxudmFyIGJlZ2luRmliZXJNYXJrID0gZnVuY3Rpb24gKGZpYmVyLCBwaGFzZSkge1xcbiAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdVbmtub3duJztcXG4gIHZhciBkZWJ1Z0lEID0gZmliZXIuX2RlYnVnSUQ7XFxuICB2YXIgaXNNb3VudGVkID0gZmliZXIuYWx0ZXJuYXRlICE9PSBudWxsO1xcbiAgdmFyIGxhYmVsID0gZ2V0RmliZXJMYWJlbChjb21wb25lbnROYW1lLCBpc01vdW50ZWQsIHBoYXNlKTtcXG5cXG4gIGlmIChpc0NvbW1pdHRpbmcgJiYgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmhhcyhsYWJlbCkpIHtcXG4gICAgLy8gRHVyaW5nIHRoZSBjb21taXQgcGhhc2UsIHdlIGRvbid0IHNob3cgZHVwbGljYXRlIGxhYmVscyBiZWNhdXNlXFxuICAgIC8vIHRoZXJlIGlzIGEgZml4ZWQgb3ZlcmhlYWQgZm9yIGV2ZXJ5IG1lYXN1cmVtZW50LCBhbmQgd2UgZG9uJ3RcXG4gICAgLy8gd2FudCB0byBzdHJldGNoIHRoZSBjb21taXQgcGhhc2UgYmV5b25kIG5lY2Vzc2FyeS5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmFkZChsYWJlbCk7XFxuICB2YXIgbWFya05hbWUgPSBnZXRGaWJlck1hcmtOYW1lKGxhYmVsLCBkZWJ1Z0lEKTtcXG4gIGJlZ2luTWFyayhtYXJrTmFtZSk7XFxuICByZXR1cm4gdHJ1ZTtcXG59O1xcblxcbnZhciBjbGVhckZpYmVyTWFyayA9IGZ1bmN0aW9uIChmaWJlciwgcGhhc2UpIHtcXG4gIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnVW5rbm93bic7XFxuICB2YXIgZGVidWdJRCA9IGZpYmVyLl9kZWJ1Z0lEO1xcbiAgdmFyIGlzTW91bnRlZCA9IGZpYmVyLmFsdGVybmF0ZSAhPT0gbnVsbDtcXG4gIHZhciBsYWJlbCA9IGdldEZpYmVyTGFiZWwoY29tcG9uZW50TmFtZSwgaXNNb3VudGVkLCBwaGFzZSk7XFxuICB2YXIgbWFya05hbWUgPSBnZXRGaWJlck1hcmtOYW1lKGxhYmVsLCBkZWJ1Z0lEKTtcXG4gIGNsZWFyTWFyayhtYXJrTmFtZSk7XFxufTtcXG5cXG52YXIgZW5kRmliZXJNYXJrID0gZnVuY3Rpb24gKGZpYmVyLCBwaGFzZSwgd2FybmluZykge1xcbiAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdVbmtub3duJztcXG4gIHZhciBkZWJ1Z0lEID0gZmliZXIuX2RlYnVnSUQ7XFxuICB2YXIgaXNNb3VudGVkID0gZmliZXIuYWx0ZXJuYXRlICE9PSBudWxsO1xcbiAgdmFyIGxhYmVsID0gZ2V0RmliZXJMYWJlbChjb21wb25lbnROYW1lLCBpc01vdW50ZWQsIHBoYXNlKTtcXG4gIHZhciBtYXJrTmFtZSA9IGdldEZpYmVyTWFya05hbWUobGFiZWwsIGRlYnVnSUQpO1xcbiAgZW5kTWFyayhsYWJlbCwgbWFya05hbWUsIHdhcm5pbmcpO1xcbn07XFxuXFxudmFyIHNob3VsZElnbm9yZUZpYmVyID0gZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAvLyBIb3N0IGNvbXBvbmVudHMgc2hvdWxkIGJlIHNraXBwZWQgaW4gdGhlIHRpbWVsaW5lLlxcbiAgLy8gV2UgY291bGQgY2hlY2sgdHlwZW9mIGZpYmVyLnR5cGUsIGJ1dCBkb2VzIHRoaXMgd29yayB3aXRoIFJOP1xcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcXG4gICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgIGNhc2UgRnJhZ21lbnQ6XFxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxcbiAgICBjYXNlIENvbnRleHRDb25zdW1lcjpcXG4gICAgY2FzZSBNb2RlOlxcbiAgICAgIHJldHVybiB0cnVlO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG59O1xcblxcbnZhciBjbGVhclBlbmRpbmdQaGFzZU1lYXN1cmVtZW50ID0gZnVuY3Rpb24gKCkge1xcbiAgaWYgKGN1cnJlbnRQaGFzZSAhPT0gbnVsbCAmJiBjdXJyZW50UGhhc2VGaWJlciAhPT0gbnVsbCkge1xcbiAgICBjbGVhckZpYmVyTWFyayhjdXJyZW50UGhhc2VGaWJlciwgY3VycmVudFBoYXNlKTtcXG4gIH1cXG5cXG4gIGN1cnJlbnRQaGFzZUZpYmVyID0gbnVsbDtcXG4gIGN1cnJlbnRQaGFzZSA9IG51bGw7XFxuICBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA9IGZhbHNlO1xcbn07XFxuXFxudmFyIHBhdXNlVGltZXJzID0gZnVuY3Rpb24gKCkge1xcbiAgLy8gU3RvcHMgYWxsIGN1cnJlbnRseSBhY3RpdmUgbWVhc3VyZW1lbnRzIHNvIHRoYXQgdGhleSBjYW4gYmUgcmVzdW1lZFxcbiAgLy8gaWYgd2UgY29udGludWUgaW4gYSBsYXRlciBkZWZlcnJlZCBsb29wIGZyb20gdGhlIHNhbWUgdW5pdCBvZiB3b3JrLlxcbiAgdmFyIGZpYmVyID0gY3VycmVudEZpYmVyO1xcblxcbiAgd2hpbGUgKGZpYmVyKSB7XFxuICAgIGlmIChmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZykge1xcbiAgICAgIGVuZEZpYmVyTWFyayhmaWJlciwgbnVsbCwgbnVsbCk7XFxuICAgIH1cXG5cXG4gICAgZmliZXIgPSBmaWJlci5yZXR1cm47XFxuICB9XFxufTtcXG5cXG52YXIgcmVzdW1lVGltZXJzUmVjdXJzaXZlbHkgPSBmdW5jdGlvbiAoZmliZXIpIHtcXG4gIGlmIChmaWJlci5yZXR1cm4gIT09IG51bGwpIHtcXG4gICAgcmVzdW1lVGltZXJzUmVjdXJzaXZlbHkoZmliZXIucmV0dXJuKTtcXG4gIH1cXG5cXG4gIGlmIChmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZykge1xcbiAgICBiZWdpbkZpYmVyTWFyayhmaWJlciwgbnVsbCk7XFxuICB9XFxufTtcXG5cXG52YXIgcmVzdW1lVGltZXJzID0gZnVuY3Rpb24gKCkge1xcbiAgLy8gUmVzdW1lcyBhbGwgbWVhc3VyZW1lbnRzIHRoYXQgd2VyZSBhY3RpdmUgZHVyaW5nIHRoZSBsYXN0IGRlZmVycmVkIGxvb3AuXFxuICBpZiAoY3VycmVudEZpYmVyICE9PSBudWxsKSB7XFxuICAgIHJlc3VtZVRpbWVyc1JlY3Vyc2l2ZWx5KGN1cnJlbnRGaWJlcik7XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiByZWNvcmRFZmZlY3QoKSB7XFxuICB7XFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0Kys7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHJlY29yZFNjaGVkdWxlVXBkYXRlKCkge1xcbiAge1xcbiAgICBpZiAoaXNDb21taXR0aW5nKSB7XFxuICAgICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAoY3VycmVudFBoYXNlICE9PSBudWxsICYmIGN1cnJlbnRQaGFzZSAhPT0gJ2NvbXBvbmVudFdpbGxNb3VudCcgJiYgY3VycmVudFBoYXNlICE9PSAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycpIHtcXG4gICAgICBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA9IHRydWU7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRXb3JrVGltZXIoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcgfHwgc2hvdWxkSWdub3JlRmliZXIoZmliZXIpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIHBhdXNlLCB0aGlzIGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cXG5cXG5cXG4gICAgY3VycmVudEZpYmVyID0gZmliZXI7XFxuXFxuICAgIGlmICghYmVnaW5GaWJlck1hcmsoZmliZXIsIG51bGwpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gdHJ1ZTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gY2FuY2VsV29ya1RpbWVyKGZpYmVyKSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nIHx8IHNob3VsZElnbm9yZUZpYmVyKGZpYmVyKSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfSAvLyBSZW1lbWJlciB3ZSBzaG91bGRuJ3QgY29tcGxldGUgbWVhc3VyZW1lbnQgZm9yIHRoaXMgZmliZXIuXFxuICAgIC8vIE90aGVyd2lzZSBmbGFtZWNoYXJ0IHdpbGwgYmUgZGVlcCBldmVuIGZvciBzbWFsbCB1cGRhdGVzLlxcblxcblxcbiAgICBmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZyA9IGZhbHNlO1xcbiAgICBjbGVhckZpYmVyTWFyayhmaWJlciwgbnVsbCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BXb3JrVGltZXIoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcgfHwgc2hvdWxkSWdub3JlRmliZXIoZmliZXIpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIHBhdXNlLCBpdHMgcGFyZW50IGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cXG5cXG5cXG4gICAgY3VycmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xcblxcbiAgICBpZiAoIWZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XFxuICAgIGVuZEZpYmVyTWFyayhmaWJlciwgbnVsbCwgbnVsbCk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BGYWlsZWRXb3JrVGltZXIoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcgfHwgc2hvdWxkSWdub3JlRmliZXIoZmliZXIpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIHBhdXNlLCBpdHMgcGFyZW50IGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cXG5cXG5cXG4gICAgY3VycmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xcblxcbiAgICBpZiAoIWZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XFxuICAgIHZhciB3YXJuaW5nID0gZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCA/ICdSZW5kZXJpbmcgd2FzIHN1c3BlbmRlZCcgOiAnQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgdGhpcyBlcnJvciBib3VuZGFyeSc7XFxuICAgIGVuZEZpYmVyTWFyayhmaWJlciwgbnVsbCwgd2FybmluZyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0YXJ0UGhhc2VUaW1lcihmaWJlciwgcGhhc2UpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgY2xlYXJQZW5kaW5nUGhhc2VNZWFzdXJlbWVudCgpO1xcblxcbiAgICBpZiAoIWJlZ2luRmliZXJNYXJrKGZpYmVyLCBwaGFzZSkpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgY3VycmVudFBoYXNlRmliZXIgPSBmaWJlcjtcXG4gICAgY3VycmVudFBoYXNlID0gcGhhc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BQaGFzZVRpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoY3VycmVudFBoYXNlICE9PSBudWxsICYmIGN1cnJlbnRQaGFzZUZpYmVyICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHdhcm5pbmcgPSBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA/ICdTY2hlZHVsZWQgYSBjYXNjYWRpbmcgdXBkYXRlJyA6IG51bGw7XFxuICAgICAgZW5kRmliZXJNYXJrKGN1cnJlbnRQaGFzZUZpYmVyLCBjdXJyZW50UGhhc2UsIHdhcm5pbmcpO1xcbiAgICB9XFxuXFxuICAgIGN1cnJlbnRQaGFzZSA9IG51bGw7XFxuICAgIGN1cnJlbnRQaGFzZUZpYmVyID0gbnVsbDtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRXb3JrTG9vcFRpbWVyKG5leHRVbml0T2ZXb3JrKSB7XFxuICB7XFxuICAgIGN1cnJlbnRGaWJlciA9IG5leHRVbml0T2ZXb3JrO1xcblxcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID0gMDsgLy8gVGhpcyBpcyB0b3AgbGV2ZWwgY2FsbC5cXG4gICAgLy8gQW55IG90aGVyIG1lYXN1cmVtZW50cyBhcmUgcGVyZm9ybWVkIHdpdGhpbi5cXG5cXG4gICAgYmVnaW5NYXJrKCcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbiknKTsgLy8gUmVzdW1lIGFueSBtZWFzdXJlbWVudHMgdGhhdCB3ZXJlIGluIHByb2dyZXNzIGR1cmluZyB0aGUgbGFzdCBsb29wLlxcblxcbiAgICByZXN1bWVUaW1lcnMoKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RvcFdvcmtMb29wVGltZXIoaW50ZXJydXB0ZWRCeSwgZGlkQ29tcGxldGVSb290KSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciB3YXJuaW5nID0gbnVsbDtcXG5cXG4gICAgaWYgKGludGVycnVwdGVkQnkgIT09IG51bGwpIHtcXG4gICAgICBpZiAoaW50ZXJydXB0ZWRCeS50YWcgPT09IEhvc3RSb290KSB7XFxuICAgICAgICB3YXJuaW5nID0gJ0EgdG9wLWxldmVsIHVwZGF0ZSBpbnRlcnJ1cHRlZCB0aGUgcHJldmlvdXMgcmVuZGVyJztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGludGVycnVwdGVkQnkudHlwZSkgfHwgJ1Vua25vd24nO1xcbiAgICAgICAgd2FybmluZyA9IFxcXCJBbiB1cGRhdGUgdG8gXFxcIiArIGNvbXBvbmVudE5hbWUgKyBcXFwiIGludGVycnVwdGVkIHRoZSBwcmV2aW91cyByZW5kZXJcXFwiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID4gMSkge1xcbiAgICAgIHdhcm5pbmcgPSAnVGhlcmUgd2VyZSBjYXNjYWRpbmcgdXBkYXRlcyc7XFxuICAgIH1cXG5cXG4gICAgY29tbWl0Q291bnRJbkN1cnJlbnRXb3JrTG9vcCA9IDA7XFxuICAgIHZhciBsYWJlbCA9IGRpZENvbXBsZXRlUm9vdCA/ICcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbjogQ29tcGxldGVkIFJvb3QpJyA6ICcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbjogWWllbGRlZCknOyAvLyBQYXVzZSBhbnkgbWVhc3VyZW1lbnRzIHVudGlsIHRoZSBuZXh0IGxvb3AuXFxuXFxuICAgIHBhdXNlVGltZXJzKCk7XFxuICAgIGVuZE1hcmsobGFiZWwsICcoUmVhY3QgVHJlZSBSZWNvbmNpbGlhdGlvbiknLCB3YXJuaW5nKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRDb21taXRUaW1lcigpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaXNDb21taXR0aW5nID0gdHJ1ZTtcXG4gICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gZmFsc2U7XFxuICAgIGxhYmVsc0luQ3VycmVudENvbW1pdC5jbGVhcigpO1xcbiAgICBiZWdpbk1hcmsoJyhDb21taXR0aW5nIENoYW5nZXMpJyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BDb21taXRUaW1lcigpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIHdhcm5pbmcgPSBudWxsO1xcblxcbiAgICBpZiAoaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0KSB7XFxuICAgICAgd2FybmluZyA9ICdMaWZlY3ljbGUgaG9vayBzY2hlZHVsZWQgYSBjYXNjYWRpbmcgdXBkYXRlJztcXG4gICAgfSBlbHNlIGlmIChjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID4gMCkge1xcbiAgICAgIHdhcm5pbmcgPSAnQ2F1c2VkIGJ5IGEgY2FzY2FkaW5nIHVwZGF0ZSBpbiBlYXJsaWVyIGNvbW1pdCc7XFxuICAgIH1cXG5cXG4gICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gZmFsc2U7XFxuICAgIGNvbW1pdENvdW50SW5DdXJyZW50V29ya0xvb3ArKztcXG4gICAgaXNDb21taXR0aW5nID0gZmFsc2U7XFxuICAgIGxhYmVsc0luQ3VycmVudENvbW1pdC5jbGVhcigpO1xcbiAgICBlbmRNYXJrKCcoQ29tbWl0dGluZyBDaGFuZ2VzKScsICcoQ29tbWl0dGluZyBDaGFuZ2VzKScsIHdhcm5pbmcpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzdGFydENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdCA9IDA7XFxuICAgIGJlZ2luTWFyaygnKENvbW1pdHRpbmcgU25hcHNob3QgRWZmZWN0cyknKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RvcENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgY291bnQgPSBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdDtcXG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xcbiAgICBlbmRNYXJrKFxcXCIoQ29tbWl0dGluZyBTbmFwc2hvdCBFZmZlY3RzOiBcXFwiICsgY291bnQgKyBcXFwiIFRvdGFsKVxcXCIsICcoQ29tbWl0dGluZyBTbmFwc2hvdCBFZmZlY3RzKScsIG51bGwpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzdGFydENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4gICAgYmVnaW5NYXJrKCcoQ29tbWl0dGluZyBIb3N0IEVmZmVjdHMpJyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHN0b3BDb21taXRIb3N0RWZmZWN0c1RpbWVyKCkge1xcbiAge1xcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgY291bnQgPSBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdDtcXG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xcbiAgICBlbmRNYXJrKFxcXCIoQ29tbWl0dGluZyBIb3N0IEVmZmVjdHM6IFxcXCIgKyBjb3VudCArIFxcXCIgVG90YWwpXFxcIiwgJyhDb21taXR0aW5nIEhvc3QgRWZmZWN0cyknLCBudWxsKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKSB7XFxuICB7XFxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4gICAgYmVnaW5NYXJrKCcoQ2FsbGluZyBMaWZlY3ljbGUgTWV0aG9kcyknKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpIHtcXG4gIHtcXG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGNvdW50ID0gZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQ7XFxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcXG4gICAgZW5kTWFyayhcXFwiKENhbGxpbmcgTGlmZWN5Y2xlIE1ldGhvZHM6IFxcXCIgKyBjb3VudCArIFxcXCIgVG90YWwpXFxcIiwgJyhDYWxsaW5nIExpZmVjeWNsZSBNZXRob2RzKScsIG51bGwpO1xcbiAgfVxcbn1cXG5cXG52YXIgdmFsdWVTdGFjayA9IFtdO1xcbnZhciBmaWJlclN0YWNrO1xcblxcbntcXG4gIGZpYmVyU3RhY2sgPSBbXTtcXG59XFxuXFxudmFyIGluZGV4ID0gLTE7XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ3Vyc29yKGRlZmF1bHRWYWx1ZSkge1xcbiAgcmV0dXJuIHtcXG4gICAgY3VycmVudDogZGVmYXVsdFZhbHVlXFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBwb3AoY3Vyc29yLCBmaWJlcikge1xcbiAgaWYgKGluZGV4IDwgMCkge1xcbiAgICB7XFxuICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcG9wLicpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKGZpYmVyICE9PSBmaWJlclN0YWNrW2luZGV4XSkge1xcbiAgICAgIGVycm9yKCdVbmV4cGVjdGVkIEZpYmVyIHBvcHBlZC4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgY3Vyc29yLmN1cnJlbnQgPSB2YWx1ZVN0YWNrW2luZGV4XTtcXG4gIHZhbHVlU3RhY2tbaW5kZXhdID0gbnVsbDtcXG5cXG4gIHtcXG4gICAgZmliZXJTdGFja1tpbmRleF0gPSBudWxsO1xcbiAgfVxcblxcbiAgaW5kZXgtLTtcXG59XFxuXFxuZnVuY3Rpb24gcHVzaChjdXJzb3IsIHZhbHVlLCBmaWJlcikge1xcbiAgaW5kZXgrKztcXG4gIHZhbHVlU3RhY2tbaW5kZXhdID0gY3Vyc29yLmN1cnJlbnQ7XFxuXFxuICB7XFxuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gZmliZXI7XFxuICB9XFxuXFxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlO1xcbn1cXG5cXG52YXIgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0O1xcblxcbntcXG4gIHdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dCA9IHt9O1xcbn1cXG5cXG52YXIgZW1wdHlDb250ZXh0T2JqZWN0ID0ge307XFxuXFxue1xcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eUNvbnRleHRPYmplY3QpO1xcbn0gLy8gQSBjdXJzb3IgdG8gdGhlIGN1cnJlbnQgbWVyZ2VkIGNvbnRleHQgb2JqZWN0IG9uIHRoZSBzdGFjay5cXG5cXG5cXG52YXIgY29udGV4dFN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKGVtcHR5Q29udGV4dE9iamVjdCk7IC8vIEEgY3Vyc29yIHRvIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGNvbnRleHQgaGFzIGNoYW5nZWQuXFxuXFxudmFyIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoZmFsc2UpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBwcmV2aW91cyBjb250ZXh0IG9iamVjdCB0aGF0IHdhcyBvbiB0aGUgc3RhY2suXFxuLy8gV2UgdXNlIHRoaXMgdG8gZ2V0IGFjY2VzcyB0byB0aGUgcGFyZW50IGNvbnRleHQgYWZ0ZXIgd2UgaGF2ZSBhbHJlYWR5XFxuLy8gcHVzaGVkIHRoZSBuZXh0IGNvbnRleHQgcHJvdmlkZXIsIGFuZCBub3cgbmVlZCB0byBtZXJnZSB0aGVpciBjb250ZXh0cy5cXG5cXG52YXIgcHJldmlvdXNDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xcblxcbmZ1bmN0aW9uIGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBkaWRQdXNoT3duQ29udGV4dElmUHJvdmlkZXIpIHtcXG4gIHtcXG4gICAgaWYgKGRpZFB1c2hPd25Db250ZXh0SWZQcm92aWRlciAmJiBpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XFxuICAgICAgLy8gSWYgdGhlIGZpYmVyIGlzIGEgY29udGV4dCBwcm92aWRlciBpdHNlbGYsIHdoZW4gd2UgcmVhZCBpdHMgY29udGV4dFxcbiAgICAgIC8vIHdlIG1heSBoYXZlIGFscmVhZHkgcHVzaGVkIGl0cyBvd24gY2hpbGQgY29udGV4dCBvbiB0aGUgc3RhY2suIEEgY29udGV4dFxcbiAgICAgIC8vIHByb3ZpZGVyIHNob3VsZCBub3QgXFxcInNlZVxcXCIgaXRzIG93biBjaGlsZCBjb250ZXh0LiBUaGVyZWZvcmUgd2UgcmVhZCB0aGVcXG4gICAgICAvLyBwcmV2aW91cyAocGFyZW50KSBjb250ZXh0IGluc3RlYWQgZm9yIGEgY29udGV4dCBwcm92aWRlci5cXG4gICAgICByZXR1cm4gcHJldmlvdXNDb250ZXh0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIG1hc2tlZENvbnRleHQpIHtcXG4gIHtcXG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcbiAgICBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID0gdW5tYXNrZWRDb250ZXh0O1xcbiAgICBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dCA9IG1hc2tlZENvbnRleHQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkge1xcbiAge1xcbiAgICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICAgIHZhciBjb250ZXh0VHlwZXMgPSB0eXBlLmNvbnRleHRUeXBlcztcXG5cXG4gICAgaWYgKCFjb250ZXh0VHlwZXMpIHtcXG4gICAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xcbiAgICB9IC8vIEF2b2lkIHJlY3JlYXRpbmcgbWFza2VkIGNvbnRleHQgdW5sZXNzIHVubWFza2VkIGNvbnRleHQgaGFzIGNoYW5nZWQuXFxuICAgIC8vIEZhaWxpbmcgdG8gZG8gdGhpcyB3aWxsIHJlc3VsdCBpbiB1bm5lY2Vzc2FyeSBjYWxscyB0byBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLlxcbiAgICAvLyBUaGlzIG1heSB0cmlnZ2VyIGluZmluaXRlIGxvb3BzIGlmIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgY2FsbHMgc2V0U3RhdGUuXFxuXFxuXFxuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG5cXG4gICAgaWYgKGluc3RhbmNlICYmIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQgPT09IHVubWFza2VkQ29udGV4dCkge1xcbiAgICAgIHJldHVybiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDtcXG4gICAgfVxcblxcbiAgICB2YXIgY29udGV4dCA9IHt9O1xcblxcbiAgICBmb3IgKHZhciBrZXkgaW4gY29udGV4dFR5cGVzKSB7XFxuICAgICAgY29udGV4dFtrZXldID0gdW5tYXNrZWRDb250ZXh0W2tleV07XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnVW5rbm93bic7XFxuICAgICAgY2hlY2tQcm9wVHlwZXMoY29udGV4dFR5cGVzLCBjb250ZXh0LCAnY29udGV4dCcsIG5hbWUsIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICB9IC8vIENhY2hlIHVubWFza2VkIGNvbnRleHQgc28gd2UgY2FuIGF2b2lkIHJlY3JlYXRpbmcgbWFza2VkIGNvbnRleHQgdW5sZXNzIG5lY2Vzc2FyeS5cXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXFxuXFxuXFxuICAgIGlmIChpbnN0YW5jZSkge1xcbiAgICAgIGNhY2hlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0LCBjb250ZXh0KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gY29udGV4dDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFzQ29udGV4dENoYW5nZWQoKSB7XFxuICB7XFxuICAgIHJldHVybiBkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLmN1cnJlbnQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzQ29udGV4dFByb3ZpZGVyKHR5cGUpIHtcXG4gIHtcXG4gICAgdmFyIGNoaWxkQ29udGV4dFR5cGVzID0gdHlwZS5jaGlsZENvbnRleHRUeXBlcztcXG4gICAgcmV0dXJuIGNoaWxkQ29udGV4dFR5cGVzICE9PSBudWxsICYmIGNoaWxkQ29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcXG4gIHtcXG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcXG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwb3BUb3BMZXZlbENvbnRleHRPYmplY3QoZmliZXIpIHtcXG4gIHtcXG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcXG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwdXNoVG9wTGV2ZWxDb250ZXh0T2JqZWN0KGZpYmVyLCBjb250ZXh0LCBkaWRDaGFuZ2UpIHtcXG4gIHtcXG4gICAgaWYgKCEoY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQgPT09IGVtcHR5Q29udGV4dE9iamVjdCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVuZXhwZWN0ZWQgY29udGV4dCBmb3VuZCBvbiBzdGFjay4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBjb250ZXh0LCBmaWJlcik7XFxuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHByb2Nlc3NDaGlsZENvbnRleHQoZmliZXIsIHR5cGUsIHBhcmVudENvbnRleHQpIHtcXG4gIHtcXG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzOyAvLyBUT0RPIChidmF1Z2huKSBSZXBsYWNlIHRoaXMgYmVoYXZpb3Igd2l0aCBhbiBpbnZhcmlhbnQoKSBpbiB0aGUgZnV0dXJlLlxcbiAgICAvLyBJdCBoYXMgb25seSBiZWVuIGFkZGVkIGluIEZpYmVyIHRvIG1hdGNoIHRoZSAodW5pbnRlbnRpb25hbCkgYmVoYXZpb3IgaW4gU3RhY2suXFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0ICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAge1xcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHR5cGUpIHx8ICdVbmtub3duJztcXG5cXG4gICAgICAgIGlmICghd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0W2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICAgIHdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dFtjb21wb25lbnROYW1lXSA9IHRydWU7XFxuXFxuICAgICAgICAgIGVycm9yKCclcy5jaGlsZENvbnRleHRUeXBlcyBpcyBzcGVjaWZpZWQgYnV0IHRoZXJlIGlzIG5vIGdldENoaWxkQ29udGV4dCgpIG1ldGhvZCAnICsgJ29uIHRoZSBpbnN0YW5jZS4gWW91IGNhbiBlaXRoZXIgZGVmaW5lIGdldENoaWxkQ29udGV4dCgpIG9uICVzIG9yIHJlbW92ZSAnICsgJ2NoaWxkQ29udGV4dFR5cGVzIGZyb20gaXQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiBwYXJlbnRDb250ZXh0O1xcbiAgICB9XFxuXFxuICAgIHZhciBjaGlsZENvbnRleHQ7XFxuICAgIHN0YXJ0UGhhc2VUaW1lcihmaWJlciwgJ2dldENoaWxkQ29udGV4dCcpO1xcbiAgICBjaGlsZENvbnRleHQgPSBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQoKTtcXG4gICAgc3RvcFBoYXNlVGltZXIoKTtcXG5cXG4gICAgZm9yICh2YXIgY29udGV4dEtleSBpbiBjaGlsZENvbnRleHQpIHtcXG4gICAgICBpZiAoIShjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dFR5cGVzKSkge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggKGdldENvbXBvbmVudE5hbWUodHlwZSkgfHwgJ1Vua25vd24nKSArIFxcXCIuZ2V0Q2hpbGRDb250ZXh0KCk6IGtleSBcXFxcXFxcIlxcXCIgKyBjb250ZXh0S2V5ICsgXFxcIlxcXFxcXFwiIGlzIG5vdCBkZWZpbmVkIGluIGNoaWxkQ29udGV4dFR5cGVzLlxcXCIgKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnVW5rbm93bic7XFxuICAgICAgY2hlY2tQcm9wVHlwZXMoY2hpbGRDb250ZXh0VHlwZXMsIGNoaWxkQ29udGV4dCwgJ2NoaWxkIGNvbnRleHQnLCBuYW1lLCAvLyBJbiBwcmFjdGljZSwgdGhlcmUgaXMgb25lIGNhc2UgaW4gd2hpY2ggd2Ugd29uJ3QgZ2V0IGEgc3RhY2suIEl0J3Mgd2hlblxcbiAgICAgIC8vIHNvbWVib2R5IGNhbGxzIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKCkgYW5kIHdlIHByb2Nlc3NcXG4gICAgICAvLyBjb250ZXh0IGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQgaW5zdGFuY2UuIFRoZSBzdGFjayB3aWxsIGJlIG1pc3NpbmdcXG4gICAgICAvLyBiZWNhdXNlIGl0J3Mgb3V0c2lkZSBvZiB0aGUgcmVjb25jaWxpYXRpb24sIGFuZCBzbyB0aGUgcG9pbnRlciBoYXMgbm90XFxuICAgICAgLy8gYmVlbiBzZXQuIFRoaXMgaXMgcmFyZSBhbmQgZG9lc24ndCBtYXR0ZXIuIFdlJ2xsIGFsc28gcmVtb3ZlIHRoYXQgQVBJLlxcbiAgICAgIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBfYXNzaWduKHt9LCBwYXJlbnRDb250ZXh0LCB7fSwgY2hpbGRDb250ZXh0KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcykge1xcbiAge1xcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cXG4gICAgLy8gSWYgdGhlIGluc3RhbmNlIGRvZXMgbm90IGV4aXN0IHlldCwgd2Ugd2lsbCBwdXNoIG51bGwgYXQgZmlyc3QsXFxuICAgIC8vIGFuZCByZXBsYWNlIGl0IG9uIHRoZSBzdGFjayBsYXRlciB3aGVuIGludmFsaWRhdGluZyB0aGUgY29udGV4dC5cXG5cXG4gICAgdmFyIG1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gaW5zdGFuY2UgJiYgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgfHwgZW1wdHlDb250ZXh0T2JqZWN0OyAvLyBSZW1lbWJlciB0aGUgcGFyZW50IGNvbnRleHQgc28gd2UgY2FuIG1lcmdlIHdpdGggaXQgbGF0ZXIuXFxuICAgIC8vIEluaGVyaXQgdGhlIHBhcmVudCdzIGRpZC1wZXJmb3JtLXdvcmsgdmFsdWUgdG8gYXZvaWQgaW5hZHZlcnRlbnRseSBibG9ja2luZyB1cGRhdGVzLlxcblxcbiAgICBwcmV2aW91c0NvbnRleHQgPSBjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudDtcXG4gICAgcHVzaChjb250ZXh0U3RhY2tDdXJzb3IsIG1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCB0eXBlLCBkaWRDaGFuZ2UpIHtcXG4gIHtcXG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcblxcbiAgICBpZiAoIWluc3RhbmNlKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCB0byBoYXZlIGFuIGluc3RhbmNlIGJ5IHRoaXMgcG9pbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoZGlkQ2hhbmdlKSB7XFxuICAgICAgLy8gTWVyZ2UgcGFyZW50IGFuZCBvd24gY29udGV4dC5cXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXFxuICAgICAgLy8gVGhpcyBhdm9pZHMgdW5uZWNlc3NhcmlseSByZWNvbXB1dGluZyBtZW1vaXplZCB2YWx1ZXMuXFxuICAgICAgdmFyIG1lcmdlZENvbnRleHQgPSBwcm9jZXNzQ2hpbGRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB0eXBlLCBwcmV2aW91c0NvbnRleHQpO1xcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxcbiAgICAgIC8vIEl0IGlzIGltcG9ydGFudCB0byB1bndpbmQgdGhlIGNvbnRleHQgaW4gdGhlIHJldmVyc2Ugb3JkZXIuXFxuXFxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcXG4gICAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCB3b3JrSW5Qcm9ncmVzcyk7IC8vIE5vdyBwdXNoIHRoZSBuZXcgY29udGV4dCBhbmQgbWFyayB0aGF0IGl0IGhhcyBjaGFuZ2VkLlxcblxcbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcXG4gIHtcXG4gICAgLy8gQ3VycmVudGx5IHRoaXMgaXMgb25seSB1c2VkIHdpdGggcmVuZGVyU3VidHJlZUludG9Db250YWluZXI7IG5vdCBzdXJlIGlmIGl0XFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxcbiAgICBpZiAoIShpc0ZpYmVyTW91bnRlZChmaWJlcikgJiYgZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV4cGVjdGVkIHN1YnRyZWUgcGFyZW50IHRvIGJlIGEgbW91bnRlZCBjbGFzcyBjb21wb25lbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xcblxcbiAgICBkbyB7XFxuICAgICAgc3dpdGNoIChub2RlLnRhZykge1xcbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLmNvbnRleHQ7XFxuXFxuICAgICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIENvbXBvbmVudCA9IG5vZGUudHlwZTtcXG5cXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICAgICAgICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0O1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgIH0gd2hpbGUgKG5vZGUgIT09IG51bGwpO1xcblxcbiAgICB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJGb3VuZCB1bmV4cGVjdGVkIGRldGFjaGVkIHN1YnRyZWUgcGFyZW50LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIExlZ2FjeVJvb3QgPSAwO1xcbnZhciBCbG9ja2luZ1Jvb3QgPSAxO1xcbnZhciBDb25jdXJyZW50Um9vdCA9IDI7XFxuXFxudmFyIFNjaGVkdWxlcl9ydW5XaXRoUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5LFxcbiAgICBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayA9IFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrLFxcbiAgICBTY2hlZHVsZXJfY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssXFxuICAgIFNjaGVkdWxlcl9zaG91bGRZaWVsZCA9IFNjaGVkdWxlci51bnN0YWJsZV9zaG91bGRZaWVsZCxcXG4gICAgU2NoZWR1bGVyX3JlcXVlc3RQYWludCA9IFNjaGVkdWxlci51bnN0YWJsZV9yZXF1ZXN0UGFpbnQsXFxuICAgIFNjaGVkdWxlcl9ub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93LFxcbiAgICBTY2hlZHVsZXJfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwgPSBTY2hlZHVsZXIudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsXFxuICAgIFNjaGVkdWxlcl9JbW1lZGlhdGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxcXG4gICAgU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFxcbiAgICBTY2hlZHVsZXJfTm9ybWFsUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksXFxuICAgIFNjaGVkdWxlcl9Mb3dQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9Mb3dQcmlvcml0eSxcXG4gICAgU2NoZWR1bGVyX0lkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XFxuXFxue1xcbiAgLy8gUHJvdmlkZSBleHBsaWNpdCBlcnJvciBtZXNzYWdlIHdoZW4gcHJvZHVjdGlvbitwcm9maWxpbmcgYnVuZGxlIG9mIGUuZy5cXG4gIC8vIHJlYWN0LWRvbSBpcyB1c2VkIHdpdGggcHJvZHVjdGlvbiAobm9uLXByb2ZpbGluZykgYnVuZGxlIG9mXFxuICAvLyBzY2hlZHVsZXIvdHJhY2luZ1xcbiAgaWYgKCEodHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZiAhPSBudWxsICYmIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCAhPSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIHJ1biB0aGUgcHJvZmlsaW5nIHZlcnNpb24gb2YgYSByZW5kZXJlciAoZm9yIGV4YW1wbGUsIGByZWFjdC1kb20vcHJvZmlsaW5nYCkgd2l0aG91dCBhbHNvIHJlcGxhY2luZyB0aGUgYHNjaGVkdWxlci90cmFjaW5nYCBtb2R1bGUgd2l0aCBgc2NoZWR1bGVyL3RyYWNpbmctcHJvZmlsaW5nYC4gWW91ciBidW5kbGVyIG1pZ2h0IGhhdmUgYSBzZXR0aW5nIGZvciBhbGlhc2luZyBib3RoIG1vZHVsZXMuIExlYXJuIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3JlYWN0LXByb2ZpbGluZ1xcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgZmFrZUNhbGxiYWNrTm9kZSA9IHt9OyAvLyBFeGNlcHQgZm9yIE5vUHJpb3JpdHksIHRoZXNlIGNvcnJlc3BvbmQgdG8gU2NoZWR1bGVyIHByaW9yaXRpZXMuIFdlIHVzZVxcbi8vIGFzY2VuZGluZyBudW1iZXJzIHNvIHdlIGNhbiBjb21wYXJlIHRoZW0gbGlrZSBudW1iZXJzLiBUaGV5IHN0YXJ0IGF0IDkwIHRvXFxuLy8gYXZvaWQgY2xhc2hpbmcgd2l0aCBTY2hlZHVsZXIncyBwcmlvcml0aWVzLlxcblxcbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDk5O1xcbnZhciBVc2VyQmxvY2tpbmdQcmlvcml0eSQxID0gOTg7XFxudmFyIE5vcm1hbFByaW9yaXR5ID0gOTc7XFxudmFyIExvd1ByaW9yaXR5ID0gOTY7XFxudmFyIElkbGVQcmlvcml0eSA9IDk1OyAvLyBOb1ByaW9yaXR5IGlzIHRoZSBhYnNlbmNlIG9mIHByaW9yaXR5LiBBbHNvIFJlYWN0LW9ubHkuXFxuXFxudmFyIE5vUHJpb3JpdHkgPSA5MDtcXG52YXIgc2hvdWxkWWllbGQgPSBTY2hlZHVsZXJfc2hvdWxkWWllbGQ7XFxudmFyIHJlcXVlc3RQYWludCA9IC8vIEZhbGwgYmFjayBncmFjZWZ1bGx5IGlmIHdlJ3JlIHJ1bm5pbmcgYW4gb2xkZXIgdmVyc2lvbiBvZiBTY2hlZHVsZXIuXFxuU2NoZWR1bGVyX3JlcXVlc3RQYWludCAhPT0gdW5kZWZpbmVkID8gU2NoZWR1bGVyX3JlcXVlc3RQYWludCA6IGZ1bmN0aW9uICgpIHt9O1xcbnZhciBzeW5jUXVldWUgPSBudWxsO1xcbnZhciBpbW1lZGlhdGVRdWV1ZUNhbGxiYWNrTm9kZSA9IG51bGw7XFxudmFyIGlzRmx1c2hpbmdTeW5jUXVldWUgPSBmYWxzZTtcXG52YXIgaW5pdGlhbFRpbWVNcyA9IFNjaGVkdWxlcl9ub3coKTsgLy8gSWYgdGhlIGluaXRpYWwgdGltZXN0YW1wIGlzIHJlYXNvbmFibHkgc21hbGwsIHVzZSBTY2hlZHVsZXIncyBgbm93YCBkaXJlY3RseS5cXG4vLyBUaGlzIHdpbGwgYmUgdGhlIGNhc2UgZm9yIG1vZGVybiBicm93c2VycyB0aGF0IHN1cHBvcnQgYHBlcmZvcm1hbmNlLm5vd2AuIEluXFxuLy8gb2xkZXIgYnJvd3NlcnMsIFNjaGVkdWxlciBmYWxscyBiYWNrIHRvIGBEYXRlLm5vd2AsIHdoaWNoIHJldHVybnMgYSBVbml4XFxuLy8gdGltZXN0YW1wLiBJbiB0aGF0IGNhc2UsIHN1YnRyYWN0IHRoZSBtb2R1bGUgaW5pdGlhbGl6YXRpb24gdGltZSB0byBzaW11bGF0ZVxcbi8vIHRoZSBiZWhhdmlvciBvZiBwZXJmb3JtYW5jZS5ub3cgYW5kIGtlZXAgb3VyIHRpbWVzIHNtYWxsIGVub3VnaCB0byBmaXRcXG4vLyB3aXRoaW4gMzIgYml0cy5cXG4vLyBUT0RPOiBDb25zaWRlciBsaWZ0aW5nIHRoaXMgaW50byBTY2hlZHVsZXIuXFxuXFxudmFyIG5vdyA9IGluaXRpYWxUaW1lTXMgPCAxMDAwMCA/IFNjaGVkdWxlcl9ub3cgOiBmdW5jdGlvbiAoKSB7XFxuICByZXR1cm4gU2NoZWR1bGVyX25vdygpIC0gaW5pdGlhbFRpbWVNcztcXG59O1xcbmZ1bmN0aW9uIGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCkge1xcbiAgc3dpdGNoIChTY2hlZHVsZXJfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKSkge1xcbiAgICBjYXNlIFNjaGVkdWxlcl9JbW1lZGlhdGVQcmlvcml0eTpcXG4gICAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5OlxcbiAgICAgIHJldHVybiBVc2VyQmxvY2tpbmdQcmlvcml0eSQxO1xcblxcbiAgICBjYXNlIFNjaGVkdWxlcl9Ob3JtYWxQcmlvcml0eTpcXG4gICAgICByZXR1cm4gTm9ybWFsUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgU2NoZWR1bGVyX0xvd1ByaW9yaXR5OlxcbiAgICAgIHJldHVybiBMb3dQcmlvcml0eTtcXG5cXG4gICAgY2FzZSBTY2hlZHVsZXJfSWRsZVByaW9yaXR5OlxcbiAgICAgIHJldHVybiBJZGxlUHJpb3JpdHk7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVua25vd24gcHJpb3JpdHkgbGV2ZWwuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVhY3RQcmlvcml0eVRvU2NoZWR1bGVyUHJpb3JpdHkocmVhY3RQcmlvcml0eUxldmVsKSB7XFxuICBzd2l0Y2ggKHJlYWN0UHJpb3JpdHlMZXZlbCkge1xcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxcbiAgICAgIHJldHVybiBTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHkkMTpcXG4gICAgICByZXR1cm4gU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5O1xcblxcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxcbiAgICAgIHJldHVybiBTY2hlZHVsZXJfTm9ybWFsUHJpb3JpdHk7XFxuXFxuICAgIGNhc2UgTG93UHJpb3JpdHk6XFxuICAgICAgcmV0dXJuIFNjaGVkdWxlcl9Mb3dQcmlvcml0eTtcXG5cXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XFxuICAgICAgcmV0dXJuIFNjaGVkdWxlcl9JZGxlUHJpb3JpdHk7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlVua25vd24gcHJpb3JpdHkgbGV2ZWwuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcnVuV2l0aFByaW9yaXR5JDEocmVhY3RQcmlvcml0eUxldmVsLCBmbikge1xcbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSByZWFjdFByaW9yaXR5VG9TY2hlZHVsZXJQcmlvcml0eShyZWFjdFByaW9yaXR5TGV2ZWwpO1xcbiAgcmV0dXJuIFNjaGVkdWxlcl9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZm4pO1xcbn1cXG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrKHJlYWN0UHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcXG4gIHZhciBwcmlvcml0eUxldmVsID0gcmVhY3RQcmlvcml0eVRvU2NoZWR1bGVyUHJpb3JpdHkocmVhY3RQcmlvcml0eUxldmVsKTtcXG4gIHJldHVybiBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayhwcmlvcml0eUxldmVsLCBjYWxsYmFjaywgb3B0aW9ucyk7XFxufVxcbmZ1bmN0aW9uIHNjaGVkdWxlU3luY0NhbGxiYWNrKGNhbGxiYWNrKSB7XFxuICAvLyBQdXNoIHRoaXMgY2FsbGJhY2sgaW50byBhbiBpbnRlcm5hbCBxdWV1ZS4gV2UnbGwgZmx1c2ggdGhlc2UgZWl0aGVyIGluXFxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXFxuICBpZiAoc3luY1F1ZXVlID09PSBudWxsKSB7XFxuICAgIHN5bmNRdWV1ZSA9IFtjYWxsYmFja107IC8vIEZsdXNoIHRoZSBxdWV1ZSBpbiB0aGUgbmV4dCB0aWNrLCBhdCB0aGUgZWFybGllc3QuXFxuXFxuICAgIGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlID0gU2NoZWR1bGVyX3NjaGVkdWxlQ2FsbGJhY2soU2NoZWR1bGVyX0ltbWVkaWF0ZVByaW9yaXR5LCBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlSW1wbCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBQdXNoIG9udG8gZXhpc3RpbmcgcXVldWUuIERvbid0IG5lZWQgdG8gc2NoZWR1bGUgYSBjYWxsYmFjayBiZWNhdXNlXFxuICAgIC8vIHdlIGFscmVhZHkgc2NoZWR1bGVkIG9uZSB3aGVuIHdlIGNyZWF0ZWQgdGhlIHF1ZXVlLlxcbiAgICBzeW5jUXVldWUucHVzaChjYWxsYmFjayk7XFxuICB9XFxuXFxuICByZXR1cm4gZmFrZUNhbGxiYWNrTm9kZTtcXG59XFxuZnVuY3Rpb24gY2FuY2VsQ2FsbGJhY2soY2FsbGJhY2tOb2RlKSB7XFxuICBpZiAoY2FsbGJhY2tOb2RlICE9PSBmYWtlQ2FsbGJhY2tOb2RlKSB7XFxuICAgIFNjaGVkdWxlcl9jYW5jZWxDYWxsYmFjayhjYWxsYmFja05vZGUpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCkge1xcbiAgaWYgKGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlICE9PSBudWxsKSB7XFxuICAgIHZhciBub2RlID0gaW1tZWRpYXRlUXVldWVDYWxsYmFja05vZGU7XFxuICAgIGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlID0gbnVsbDtcXG4gICAgU2NoZWR1bGVyX2NhbmNlbENhbGxiYWNrKG5vZGUpO1xcbiAgfVxcblxcbiAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZUltcGwoKTtcXG59XFxuXFxuZnVuY3Rpb24gZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZUltcGwoKSB7XFxuICBpZiAoIWlzRmx1c2hpbmdTeW5jUXVldWUgJiYgc3luY1F1ZXVlICE9PSBudWxsKSB7XFxuICAgIC8vIFByZXZlbnQgcmUtZW50cmFuY3kuXFxuICAgIGlzRmx1c2hpbmdTeW5jUXVldWUgPSB0cnVlO1xcbiAgICB2YXIgaSA9IDA7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgdmFyIF9pc1N5bmMgPSB0cnVlO1xcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTtcXG4gICAgICBydW5XaXRoUHJpb3JpdHkkMShJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xcbiAgICAgICAgZm9yICg7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBxdWV1ZVtpXTtcXG5cXG4gICAgICAgICAgZG8ge1xcbiAgICAgICAgICAgIGNhbGxiYWNrID0gY2FsbGJhY2soX2lzU3luYyk7XFxuICAgICAgICAgIH0gd2hpbGUgKGNhbGxiYWNrICE9PSBudWxsKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgICBzeW5jUXVldWUgPSBudWxsO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIC8vIElmIHNvbWV0aGluZyB0aHJvd3MsIGxlYXZlIHRoZSByZW1haW5pbmcgY2FsbGJhY2tzIG9uIHRoZSBxdWV1ZS5cXG4gICAgICBpZiAoc3luY1F1ZXVlICE9PSBudWxsKSB7XFxuICAgICAgICBzeW5jUXVldWUgPSBzeW5jUXVldWUuc2xpY2UoaSArIDEpO1xcbiAgICAgIH0gLy8gUmVzdW1lIGZsdXNoaW5nIGluIHRoZSBuZXh0IHRpY2tcXG5cXG5cXG4gICAgICBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHksIGZsdXNoU3luY0NhbGxiYWNrUXVldWUpO1xcbiAgICAgIHRocm93IGVycm9yO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIGlzRmx1c2hpbmdTeW5jUXVldWUgPSBmYWxzZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgTm9Nb2RlID0gMDtcXG52YXIgU3RyaWN0TW9kZSA9IDE7IC8vIFRPRE86IFJlbW92ZSBCbG9ja2luZ01vZGUgYW5kIENvbmN1cnJlbnRNb2RlIGJ5IHJlYWRpbmcgZnJvbSB0aGUgcm9vdFxcbi8vIHRhZyBpbnN0ZWFkXFxuXFxudmFyIEJsb2NraW5nTW9kZSA9IDI7XFxudmFyIENvbmN1cnJlbnRNb2RlID0gNDtcXG52YXIgUHJvZmlsZU1vZGUgPSA4O1xcblxcbi8vIE1heCAzMSBiaXQgaW50ZWdlci4gVGhlIG1heCBpbnRlZ2VyIHNpemUgaW4gVjggZm9yIDMyLWJpdCBzeXN0ZW1zLlxcbi8vIE1hdGgucG93KDIsIDMwKSAtIDFcXG4vLyAwYjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVxcbnZhciBNQVhfU0lHTkVEXzMxX0JJVF9JTlQgPSAxMDczNzQxODIzO1xcblxcbnZhciBOb1dvcmsgPSAwOyAvLyBUT0RPOiBUaGluayBvZiBhIGJldHRlciBuYW1lIGZvciBOZXZlci4gVGhlIGtleSBkaWZmZXJlbmNlIHdpdGggSWRsZSBpcyB0aGF0XFxuLy8gTmV2ZXIgd29yayBjYW4gYmUgY29tbWl0dGVkIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZSB3aXRob3V0IHRlYXJpbmcgdGhlIFVJLlxcbi8vIFRoZSBtYWluIGV4YW1wbGUgaXMgb2Zmc2NyZWVuIGNvbnRlbnQsIGxpa2UgYSBoaWRkZW4gc3VidHJlZS4gU28gb25lIHBvc3NpYmxlXFxuLy8gbmFtZSBpcyBPZmZzY3JlZW4uIEhvd2V2ZXIsIGl0IGFsc28gaW5jbHVkZXMgZGVoeWRyYXRlZCBTdXNwZW5zZSBib3VuZGFyaWVzLFxcbi8vIHdoaWNoIGFyZSBpbmNvbnNpc3RlbnQgaW4gdGhlIHNlbnNlIHRoYXQgdGhleSBoYXZlbid0IGZpbmlzaGVkIHlldCwgYnV0XFxuLy8gYXJlbid0IHZpc2libHkgaW5jb25zaXN0ZW50IGJlY2F1c2UgdGhlIHNlcnZlciByZW5kZXJlZCBIVE1MIG1hdGNoZXMgd2hhdCB0aGVcXG4vLyBoeWRyYXRlZCB0cmVlIHdvdWxkIGxvb2sgbGlrZS5cXG5cXG52YXIgTmV2ZXIgPSAxOyAvLyBJZGxlIGlzIHNsaWdodGx5IGhpZ2hlciBwcmlvcml0eSB0aGFuIE5ldmVyLiBJdCBtdXN0IGNvbXBsZXRlbHkgZmluaXNoIGluXFxuLy8gb3JkZXIgdG8gYmUgY29uc2lzdGVudC5cXG5cXG52YXIgSWRsZSA9IDI7IC8vIENvbnRpbnVvdXMgSHlkcmF0aW9uIGlzIHNsaWdodGx5IGhpZ2hlciB0aGFuIElkbGUgYW5kIGlzIHVzZWQgdG8gaW5jcmVhc2VcXG4vLyBwcmlvcml0eSBvZiBob3ZlciB0YXJnZXRzLlxcblxcbnZhciBDb250aW51b3VzSHlkcmF0aW9uID0gMztcXG52YXIgU3luYyA9IE1BWF9TSUdORURfMzFfQklUX0lOVDtcXG52YXIgQmF0Y2hlZCA9IFN5bmMgLSAxO1xcbnZhciBVTklUX1NJWkUgPSAxMDtcXG52YXIgTUFHSUNfTlVNQkVSX09GRlNFVCA9IEJhdGNoZWQgLSAxOyAvLyAxIHVuaXQgb2YgZXhwaXJhdGlvbiB0aW1lIHJlcHJlc2VudHMgMTBtcy5cXG5cXG5mdW5jdGlvbiBtc1RvRXhwaXJhdGlvblRpbWUobXMpIHtcXG4gIC8vIEFsd2F5cyBzdWJ0cmFjdCBmcm9tIHRoZSBvZmZzZXQgc28gdGhhdCB3ZSBkb24ndCBjbGFzaCB3aXRoIHRoZSBtYWdpYyBudW1iZXIgZm9yIE5vV29yay5cXG4gIHJldHVybiBNQUdJQ19OVU1CRVJfT0ZGU0VUIC0gKG1zIC8gVU5JVF9TSVpFIHwgMCk7XFxufVxcbmZ1bmN0aW9uIGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkge1xcbiAgcmV0dXJuIChNQUdJQ19OVU1CRVJfT0ZGU0VUIC0gZXhwaXJhdGlvblRpbWUpICogVU5JVF9TSVpFO1xcbn1cXG5cXG5mdW5jdGlvbiBjZWlsaW5nKG51bSwgcHJlY2lzaW9uKSB7XFxuICByZXR1cm4gKChudW0gLyBwcmVjaXNpb24gfCAwKSArIDEpICogcHJlY2lzaW9uO1xcbn1cXG5cXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvbkJ1Y2tldChjdXJyZW50VGltZSwgZXhwaXJhdGlvbkluTXMsIGJ1Y2tldFNpemVNcykge1xcbiAgcmV0dXJuIE1BR0lDX05VTUJFUl9PRkZTRVQgLSBjZWlsaW5nKE1BR0lDX05VTUJFUl9PRkZTRVQgLSBjdXJyZW50VGltZSArIGV4cGlyYXRpb25Jbk1zIC8gVU5JVF9TSVpFLCBidWNrZXRTaXplTXMgLyBVTklUX1NJWkUpO1xcbn0gLy8gVE9ETzogVGhpcyBjb3JyZXNwb25kcyB0byBTY2hlZHVsZXIncyBOb3JtYWxQcmlvcml0eSwgbm90IExvd1ByaW9yaXR5LiBVcGRhdGVcXG4vLyB0aGUgbmFtZXMgdG8gcmVmbGVjdC5cXG5cXG5cXG52YXIgTE9XX1BSSU9SSVRZX0VYUElSQVRJT04gPSA1MDAwO1xcbnZhciBMT1dfUFJJT1JJVFlfQkFUQ0hfU0laRSA9IDI1MDtcXG5mdW5jdGlvbiBjb21wdXRlQXN5bmNFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKSB7XFxuICByZXR1cm4gY29tcHV0ZUV4cGlyYXRpb25CdWNrZXQoY3VycmVudFRpbWUsIExPV19QUklPUklUWV9FWFBJUkFUSU9OLCBMT1dfUFJJT1JJVFlfQkFUQ0hfU0laRSk7XFxufVxcbmZ1bmN0aW9uIGNvbXB1dGVTdXNwZW5zZUV4cGlyYXRpb24oY3VycmVudFRpbWUsIHRpbWVvdXRNcykge1xcbiAgLy8gVE9ETzogU2hvdWxkIHdlIHdhcm4gaWYgdGltZW91dE1zIGlzIGxvd2VyIHRoYW4gdGhlIG5vcm1hbCBwcmkgZXhwaXJhdGlvbiB0aW1lP1xcbiAgcmV0dXJuIGNvbXB1dGVFeHBpcmF0aW9uQnVja2V0KGN1cnJlbnRUaW1lLCB0aW1lb3V0TXMsIExPV19QUklPUklUWV9CQVRDSF9TSVpFKTtcXG59IC8vIFdlIGludGVudGlvbmFsbHkgc2V0IGEgaGlnaGVyIGV4cGlyYXRpb24gdGltZSBmb3IgaW50ZXJhY3RpdmUgdXBkYXRlcyBpblxcbi8vIGRldiB0aGFuIGluIHByb2R1Y3Rpb24uXFxuLy9cXG4vLyBJZiB0aGUgbWFpbiB0aHJlYWQgaXMgYmVpbmcgYmxvY2tlZCBzbyBsb25nIHRoYXQgeW91IGhpdCB0aGUgZXhwaXJhdGlvbixcXG4vLyBpdCdzIGEgcHJvYmxlbSB0aGF0IGNvdWxkIGJlIHNvbHZlZCB3aXRoIGJldHRlciBzY2hlZHVsaW5nLlxcbi8vXFxuLy8gUGVvcGxlIHdpbGwgYmUgbW9yZSBsaWtlbHkgdG8gbm90aWNlIHRoaXMgYW5kIGZpeCBpdCB3aXRoIHRoZSBsb25nXFxuLy8gZXhwaXJhdGlvbiB0aW1lIGluIGRldmVsb3BtZW50Llxcbi8vXFxuLy8gSW4gcHJvZHVjdGlvbiB3ZSBvcHQgZm9yIGJldHRlciBVWCBhdCB0aGUgcmlzayBvZiBtYXNraW5nIHNjaGVkdWxpbmdcXG4vLyBwcm9ibGVtcywgYnkgZXhwaXJpbmcgZmFzdC5cXG5cXG52YXIgSElHSF9QUklPUklUWV9FWFBJUkFUSU9OID0gIDUwMCA7XFxudmFyIEhJR0hfUFJJT1JJVFlfQkFUQ0hfU0laRSA9IDEwMDtcXG5mdW5jdGlvbiBjb21wdXRlSW50ZXJhY3RpdmVFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKSB7XFxuICByZXR1cm4gY29tcHV0ZUV4cGlyYXRpb25CdWNrZXQoY3VycmVudFRpbWUsIEhJR0hfUFJJT1JJVFlfRVhQSVJBVElPTiwgSElHSF9QUklPUklUWV9CQVRDSF9TSVpFKTtcXG59XFxuZnVuY3Rpb24gaW5mZXJQcmlvcml0eUZyb21FeHBpcmF0aW9uVGltZShjdXJyZW50VGltZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChleHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xcbiAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XFxuICB9XFxuXFxuICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5ldmVyIHx8IGV4cGlyYXRpb25UaW1lID09PSBJZGxlKSB7XFxuICAgIHJldHVybiBJZGxlUHJpb3JpdHk7XFxuICB9XFxuXFxuICB2YXIgbXNVbnRpbCA9IGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkgLSBleHBpcmF0aW9uVGltZVRvTXMoY3VycmVudFRpbWUpO1xcblxcbiAgaWYgKG1zVW50aWwgPD0gMCkge1xcbiAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XFxuICB9XFxuXFxuICBpZiAobXNVbnRpbCA8PSBISUdIX1BSSU9SSVRZX0VYUElSQVRJT04gKyBISUdIX1BSSU9SSVRZX0JBVENIX1NJWkUpIHtcXG4gICAgcmV0dXJuIFVzZXJCbG9ja2luZ1ByaW9yaXR5JDE7XFxuICB9XFxuXFxuICBpZiAobXNVbnRpbCA8PSBMT1dfUFJJT1JJVFlfRVhQSVJBVElPTiArIExPV19QUklPUklUWV9CQVRDSF9TSVpFKSB7XFxuICAgIHJldHVybiBOb3JtYWxQcmlvcml0eTtcXG4gIH0gLy8gVE9ETzogSGFuZGxlIExvd1ByaW9yaXR5XFxuICAvLyBBc3N1bWUgYW55dGhpbmcgbG93ZXIgaGFzIGlkbGUgcHJpb3JpdHlcXG5cXG5cXG4gIHJldHVybiBJZGxlUHJpb3JpdHk7XFxufVxcblxcbnZhciBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncyA9IHtcXG4gIHJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcXG4gIGZsdXNoUGVuZGluZ1Vuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fSxcXG4gIHJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nOiBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7fSxcXG4gIGZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uICgpIHt9LFxcbiAgZGlzY2FyZFBlbmRpbmdXYXJuaW5nczogZnVuY3Rpb24gKCkge31cXG59O1xcblxcbntcXG4gIHZhciBmaW5kU3RyaWN0Um9vdCA9IGZ1bmN0aW9uIChmaWJlcikge1xcbiAgICB2YXIgbWF5YmVTdHJpY3RSb290ID0gbnVsbDtcXG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcXG5cXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcXG4gICAgICBpZiAobm9kZS5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgICAgbWF5YmVTdHJpY3RSb290ID0gbm9kZTtcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBtYXliZVN0cmljdFJvb3Q7XFxuICB9O1xcblxcbiAgdmFyIHNldFRvU29ydGVkU3RyaW5nID0gZnVuY3Rpb24gKHNldCkge1xcbiAgICB2YXIgYXJyYXkgPSBbXTtcXG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgICAgYXJyYXkucHVzaCh2YWx1ZSk7XFxuICAgIH0pO1xcbiAgICByZXR1cm4gYXJyYXkuc29ydCgpLmpvaW4oJywgJyk7XFxuICB9O1xcblxcbiAgdmFyIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xcbiAgdmFyIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MgPSBbXTtcXG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XFxuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcXG4gIHZhciBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cXG5cXG4gIHZhciBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzID0gbmV3IFNldCgpO1xcblxcbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7XFxuICAgIC8vIERlZHVwIHN0cmF0ZWd5OiBXYXJuIG9uY2UgcGVyIGNvbXBvbmVudC5cXG4gICAgaWYgKGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuaGFzKGZpYmVyLnR5cGUpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5wdXNoKGZpYmVyKTtcXG4gICAgfVxcblxcbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLnB1c2goZmliZXIpO1xcbiAgICB9XFxuXFxuICAgIGlmIChmaWJlci5tb2RlICYgU3RyaWN0TW9kZSAmJiB0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncy5wdXNoKGZpYmVyKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZS5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XFxuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcXG4gICAgfVxcblxcbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MucHVzaChmaWJlcik7XFxuICAgIH1cXG4gIH07XFxuXFxuICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5mbHVzaFBlbmRpbmdVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcXG4gICAgdmFyIGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xcblxcbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICAgIGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnKTtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xcbiAgICAgIH0pO1xcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xcbiAgICB9XFxuXFxuICAgIHZhciBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuXFxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcXG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xcbiAgICB9XFxuXFxuICAgIHZhciBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuXFxuICAgIGlmIChwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmxlbmd0aCA+IDApIHtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xcbiAgICB9XFxuXFxuICAgIHZhciBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xcblxcbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLmFkZChnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnKTtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xcbiAgICAgIH0pO1xcbiAgICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XFxuICAgIH1cXG5cXG4gICAgdmFyIGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyA9IG5ldyBTZXQoKTtcXG5cXG4gICAgaWYgKHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICAgIGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XFxuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcXG4gICAgICB9KTtcXG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICAgIH1cXG5cXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuXFxuICAgIGlmIChwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICAgIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5zYWZlTGlmZWN5Y2xlcy5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcXG4gICAgfSAvLyBGaW5hbGx5LCB3ZSBmbHVzaCBhbGwgdGhlIHdhcm5pbmdzXFxuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xcblxcblxcbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XFxuICAgICAgdmFyIHNvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzKTtcXG5cXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxcXG5cXFxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxcXG4nICsgJ1xcXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgc29ydGVkTmFtZXMpO1xcbiAgICB9XFxuXFxuICAgIGlmIChVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XFxuICAgICAgdmFyIF9zb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xcblxcbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXFxcblxcXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxcXG4nICsgXFxcIiogSWYgeW91J3JlIHVwZGF0aW5nIHN0YXRlIHdoZW5ldmVyIHByb3BzIGNoYW5nZSwgXFxcIiArICdyZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIG1lbW9pemF0aW9uIHRlY2huaXF1ZXMgb3IgbW92ZSBpdCB0byAnICsgJ3N0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuIExlYXJuIG1vcmUgYXQ6IGh0dHBzOi8vZmIubWUvcmVhY3QtZGVyaXZlZC1zdGF0ZVxcXFxuJyArICdcXFxcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lcyk7XFxuICAgIH1cXG5cXG4gICAgaWYgKFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcXG4gICAgICB2YXIgX3NvcnRlZE5hbWVzMiA9IHNldFRvU29ydGVkU3RyaW5nKFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMpO1xcblxcbiAgICAgIGVycm9yKCdVc2luZyBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgJyArICdhbmQgbWF5IGluZGljYXRlIGJ1Z3MgaW4geW91ciBjb2RlLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXFxcblxcXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxcXG4nICsgJ1xcXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMik7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XFxuICAgICAgdmFyIF9zb3J0ZWROYW1lczMgPSBzZXRUb1NvcnRlZFN0cmluZyhjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcyk7XFxuXFxuICAgICAgd2FybignY29tcG9uZW50V2lsbE1vdW50IGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxcXG5cXFxcbicgKyAnKiBNb3ZlIGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkTW91bnQsIGFuZCBzZXQgaW5pdGlhbCBzdGF0ZSBpbiB0aGUgY29uc3RydWN0b3IuXFxcXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxNb3VudCB0byBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTcueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxcXG4nICsgJ1xcXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMyk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xcbiAgICAgIHZhciBfc29ydGVkTmFtZXM0ID0gc2V0VG9Tb3J0ZWRTdHJpbmcoY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzKTtcXG5cXG4gICAgICB3YXJuKCdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxcXG5cXFxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcXFxuJyArIFxcXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXFxcIiArICdjb2RlIHRvIHVzZSBtZW1vaXphdGlvbiB0ZWNobmlxdWVzIG9yIG1vdmUgaXQgdG8gJyArICdzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLiBMZWFybiBtb3JlIGF0OiBodHRwczovL2ZiLm1lL3JlYWN0LWRlcml2ZWQtc3RhdGVcXFxcbicgKyAnKiBSZW5hbWUgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyB0byBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE3LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcXFxuJyArICdcXFxcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMuc2l6ZSA+IDApIHtcXG4gICAgICB2YXIgX3NvcnRlZE5hbWVzNSA9IHNldFRvU29ydGVkU3RyaW5nKGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyk7XFxuXFxuICAgICAgd2FybignY29tcG9uZW50V2lsbFVwZGF0ZSBoYXMgYmVlbiByZW5hbWVkLCBhbmQgaXMgbm90IHJlY29tbWVuZGVkIGZvciB1c2UuICcgKyAnU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcXFxuXFxcXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXFxcbicgKyAnKiBSZW5hbWUgY29tcG9uZW50V2lsbFVwZGF0ZSB0byBVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSB0byBzdXBwcmVzcyAnICsgJ3RoaXMgd2FybmluZyBpbiBub24tc3RyaWN0IG1vZGUuIEluIFJlYWN0IDE3LngsIG9ubHkgdGhlIFVOU0FGRV8gbmFtZSB3aWxsIHdvcmsuICcgKyAnVG8gcmVuYW1lIGFsbCBkZXByZWNhdGVkIGxpZmVjeWNsZXMgdG8gdGhlaXIgbmV3IG5hbWVzLCB5b3UgY2FuIHJ1biAnICsgJ2BucHggcmVhY3QtY29kZW1vZCByZW5hbWUtdW5zYWZlLWxpZmVjeWNsZXNgIGluIHlvdXIgcHJvamVjdCBzb3VyY2UgZm9sZGVyLlxcXFxuJyArICdcXFxcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczUpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgdmFyIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTsgLy8gVHJhY2tzIGNvbXBvbmVudHMgd2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBhYm91dC5cXG5cXG4gIHZhciBkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0ID0gbmV3IFNldCgpO1xcblxcbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7XFxuICAgIHZhciBzdHJpY3RSb290ID0gZmluZFN0cmljdFJvb3QoZmliZXIpO1xcblxcbiAgICBpZiAoc3RyaWN0Um9vdCA9PT0gbnVsbCkge1xcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgU3RyaWN0TW9kZSBjb21wb25lbnQgaW4gYSBzdHJpY3QgbW9kZSB0cmVlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XFxuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIERlZHVwIHN0cmF0ZWd5OiBXYXJuIG9uY2UgcGVyIGNvbXBvbmVudC5cXG5cXG5cXG4gICAgaWYgKGRpZFdhcm5BYm91dExlZ2FjeUNvbnRleHQuaGFzKGZpYmVyLnR5cGUpKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHZhciB3YXJuaW5nc0ZvclJvb3QgPSBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZ2V0KHN0cmljdFJvb3QpO1xcblxcbiAgICBpZiAoZmliZXIudHlwZS5jb250ZXh0VHlwZXMgIT0gbnVsbCB8fCBmaWJlci50eXBlLmNoaWxkQ29udGV4dFR5cGVzICE9IG51bGwgfHwgaW5zdGFuY2UgIT09IG51bGwgJiYgdHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGlmICh3YXJuaW5nc0ZvclJvb3QgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgd2FybmluZ3NGb3JSb290ID0gW107XFxuICAgICAgICBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuc2V0KHN0cmljdFJvb3QsIHdhcm5pbmdzRm9yUm9vdCk7XFxuICAgICAgfVxcblxcbiAgICAgIHdhcm5pbmdzRm9yUm9vdC5wdXNoKGZpYmVyKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcgPSBmdW5jdGlvbiAoKSB7XFxuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlckFycmF5LCBzdHJpY3RSb290KSB7XFxuICAgICAgaWYgKGZpYmVyQXJyYXkubGVuZ3RoID09PSAwKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBmaXJzdEZpYmVyID0gZmliZXJBcnJheVswXTtcXG4gICAgICB2YXIgdW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XFxuICAgICAgZmliZXJBcnJheS5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xcbiAgICAgICAgdW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5Q29udGV4dC5hZGQoZmliZXIudHlwZSk7XFxuICAgICAgfSk7XFxuICAgICAgdmFyIHNvcnRlZE5hbWVzID0gc2V0VG9Tb3J0ZWRTdHJpbmcodW5pcXVlTmFtZXMpO1xcbiAgICAgIHZhciBmaXJzdENvbXBvbmVudFN0YWNrID0gZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpcnN0RmliZXIpO1xcblxcbiAgICAgIGVycm9yKCdMZWdhY3kgY29udGV4dCBBUEkgaGFzIGJlZW4gZGV0ZWN0ZWQgd2l0aGluIGEgc3RyaWN0LW1vZGUgdHJlZS4nICsgJ1xcXFxuXFxcXG5UaGUgb2xkIEFQSSB3aWxsIGJlIHN1cHBvcnRlZCBpbiBhbGwgMTYueCByZWxlYXNlcywgYnV0IGFwcGxpY2F0aW9ucyAnICsgJ3VzaW5nIGl0IHNob3VsZCBtaWdyYXRlIHRvIHRoZSBuZXcgdmVyc2lvbi4nICsgJ1xcXFxuXFxcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnICsgJ1xcXFxuXFxcXG5MZWFybiBtb3JlIGFib3V0IHRoaXMgd2FybmluZyBoZXJlOiBodHRwczovL2ZiLm1lL3JlYWN0LWxlZ2FjeS1jb250ZXh0JyArICclcycsIHNvcnRlZE5hbWVzLCBmaXJzdENvbXBvbmVudFN0YWNrKTtcXG4gICAgfSk7XFxuICB9O1xcblxcbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XFxuICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MgPSBbXTtcXG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xcbiAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICAgIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XFxuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcXG4gIH07XFxufVxcblxcbnZhciByZXNvbHZlRmFtaWx5ID0gbnVsbDsgLy8gJEZsb3dGaXhNZSBGbG93IGdldHMgY29uZnVzZWQgYnkgYSBXZWFrU2V0IGZlYXR1cmUgY2hlY2sgYmVsb3cuXFxuXFxudmFyIGZhaWxlZEJvdW5kYXJpZXMgPSBudWxsO1xcbnZhciBzZXRSZWZyZXNoSGFuZGxlciA9IGZ1bmN0aW9uIChoYW5kbGVyKSB7XFxuICB7XFxuICAgIHJlc29sdmVGYW1pbHkgPSBoYW5kbGVyO1xcbiAgfVxcbn07XFxuZnVuY3Rpb24gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcXG4gIHtcXG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcXG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxcbiAgICAgIHJldHVybiB0eXBlO1xcbiAgICB9XFxuXFxuICAgIHZhciBmYW1pbHkgPSByZXNvbHZlRmFtaWx5KHR5cGUpO1xcblxcbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gdHlwZTtcXG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cXG5cXG5cXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcodHlwZSkge1xcbiAgLy8gTm8gaW1wbGVtZW50YXRpb24gZGlmZmVyZW5jZXMuXFxuICByZXR1cm4gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUpO1xcbn1cXG5mdW5jdGlvbiByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyh0eXBlKSB7XFxuICB7XFxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XFxuICAgICAgLy8gSG90IHJlbG9hZGluZyBpcyBkaXNhYmxlZC5cXG4gICAgICByZXR1cm4gdHlwZTtcXG4gICAgfVxcblxcbiAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseSh0eXBlKTtcXG5cXG4gICAgaWYgKGZhbWlseSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgZGVhbGluZyB3aXRoIGEgcmVhbCBmb3J3YXJkUmVmLiBEb24ndCB3YW50IHRvIGNyYXNoIGVhcmx5LlxcbiAgICAgIGlmICh0eXBlICE9PSBudWxsICYmIHR5cGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgdHlwZS5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIC8vIEZvcndhcmRSZWYgaXMgc3BlY2lhbCBiZWNhdXNlIGl0cyByZXNvbHZlZCAudHlwZSBpcyBhbiBvYmplY3QsXFxuICAgICAgICAvLyBidXQgaXQncyBwb3NzaWJsZSB0aGF0IHdlIG9ubHkgaGF2ZSBpdHMgaW5uZXIgcmVuZGVyIGZ1bmN0aW9uIGluIHRoZSBtYXAuXFxuICAgICAgICAvLyBJZiB0aGF0IGlubmVyIHJlbmRlciBmdW5jdGlvbiBpcyBkaWZmZXJlbnQsIHdlJ2xsIGJ1aWxkIGEgbmV3IGZvcndhcmRSZWYgdHlwZS5cXG4gICAgICAgIHZhciBjdXJyZW50UmVuZGVyID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUucmVuZGVyKTtcXG5cXG4gICAgICAgIGlmICh0eXBlLnJlbmRlciAhPT0gY3VycmVudFJlbmRlcikge1xcbiAgICAgICAgICB2YXIgc3ludGhldGljVHlwZSA9IHtcXG4gICAgICAgICAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcXG4gICAgICAgICAgICByZW5kZXI6IGN1cnJlbnRSZW5kZXJcXG4gICAgICAgICAgfTtcXG5cXG4gICAgICAgICAgaWYgKHR5cGUuZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICAgIHN5bnRoZXRpY1R5cGUuZGlzcGxheU5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiBzeW50aGV0aWNUeXBlO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gdHlwZTtcXG4gICAgfSAvLyBVc2UgdGhlIGxhdGVzdCBrbm93biBpbXBsZW1lbnRhdGlvbi5cXG5cXG5cXG4gICAgcmV0dXJuIGZhbWlseS5jdXJyZW50O1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoZmliZXIsIGVsZW1lbnQpIHtcXG4gIHtcXG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcXG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcblxcbiAgICB2YXIgcHJldlR5cGUgPSBmaWJlci5lbGVtZW50VHlwZTtcXG4gICAgdmFyIG5leHRUeXBlID0gZWxlbWVudC50eXBlOyAvLyBJZiB3ZSBnb3QgaGVyZSwgd2Uga25vdyB0eXBlcyBhcmVuJ3QgPT09IGVxdWFsLlxcblxcbiAgICB2YXIgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSBmYWxzZTtcXG4gICAgdmFyICQkdHlwZW9mTmV4dFR5cGUgPSB0eXBlb2YgbmV4dFR5cGUgPT09ICdvYmplY3QnICYmIG5leHRUeXBlICE9PSBudWxsID8gbmV4dFR5cGUuJCR0eXBlb2YgOiBudWxsO1xcblxcbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIGlmICh0eXBlb2YgbmV4dFR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICAgIHtcXG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcXG4gICAgICAgICAgICAvLyBXZSBkb24ndCBrbm93IHRoZSBpbm5lciB0eXBlIHlldC5cXG4gICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byBhc3N1bWUgdGhhdCB0aGUgbGF6eSBpbm5lciB0eXBlIGlzIHN0YWJsZSxcXG4gICAgICAgICAgICAvLyBhbmQgc28gaXQgaXMgc3VmZmljaWVudCB0byBhdm9pZCByZWNvbmNpbGluZyBpdCBhd2F5LlxcbiAgICAgICAgICAgIC8vIFdlJ3JlIG5vdCBnb2luZyB0byB1bndyYXAgb3IgYWN0dWFsbHkgdXNlIHRoZSBuZXcgbGF6eSB0eXBlLlxcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAgICB7XFxuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFKSB7XFxuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XFxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICAgICAge1xcbiAgICAgICAgICBpZiAoJCR0eXBlb2ZOZXh0VHlwZSA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XFxuICAgICAgICAgICAgLy8gVE9ETzogaWYgaXQgd2FzIGJ1dCBjYW4gbm8gbG9uZ2VyIGJlIHNpbXBsZSxcXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGRuJ3Qgc2V0IHRoaXMuXFxuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xcbiAgICAgICAgICB9IGVsc2UgaWYgKCQkdHlwZW9mTmV4dFR5cGUgPT09IFJFQUNUX0xBWllfVFlQRSkge1xcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICB9IC8vIENoZWNrIGlmIGJvdGggdHlwZXMgaGF2ZSBhIGZhbWlseSBhbmQgaXQncyB0aGUgc2FtZSBvbmUuXFxuXFxuXFxuICAgIGlmIChuZWVkc0NvbXBhcmVGYW1pbGllcykge1xcbiAgICAgIC8vIE5vdGU6IG1lbW8oKSBhbmQgZm9yd2FyZFJlZigpIHdlJ2xsIGNvbXBhcmUgb3V0ZXIgcmF0aGVyIHRoYW4gaW5uZXIgdHlwZS5cXG4gICAgICAvLyBUaGlzIG1lYW5zIGJvdGggb2YgdGhlbSBuZWVkIHRvIGJlIHJlZ2lzdGVyZWQgdG8gcHJlc2VydmUgc3RhdGUuXFxuICAgICAgLy8gSWYgd2UgdW53cmFwcGVkIGFuZCBjb21wYXJlZCB0aGUgaW5uZXIgdHlwZXMgZm9yIHdyYXBwZXJzIGluc3RlYWQsXFxuICAgICAgLy8gdGhlbiB3ZSB3b3VsZCByaXNrIGZhbHNlbHkgc2F5aW5nIHR3byBzZXBhcmF0ZSBtZW1vKEZvbylcXG4gICAgICAvLyBjYWxscyBhcmUgZXF1aXZhbGVudCBiZWNhdXNlIHRoZXkgd3JhcCB0aGUgc2FtZSBGb28gZnVuY3Rpb24uXFxuICAgICAgdmFyIHByZXZGYW1pbHkgPSByZXNvbHZlRmFtaWx5KHByZXZUeXBlKTtcXG5cXG4gICAgICBpZiAocHJldkZhbWlseSAhPT0gdW5kZWZpbmVkICYmIHByZXZGYW1pbHkgPT09IHJlc29sdmVGYW1pbHkobmV4dFR5cGUpKSB7XFxuICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcikge1xcbiAge1xcbiAgICBpZiAocmVzb2x2ZUZhbWlseSA9PT0gbnVsbCkge1xcbiAgICAgIC8vIEhvdCByZWxvYWRpbmcgaXMgZGlzYWJsZWQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgV2Vha1NldCAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBpZiAoZmFpbGVkQm91bmRhcmllcyA9PT0gbnVsbCkge1xcbiAgICAgIGZhaWxlZEJvdW5kYXJpZXMgPSBuZXcgV2Vha1NldCgpO1xcbiAgICB9XFxuXFxuICAgIGZhaWxlZEJvdW5kYXJpZXMuYWRkKGZpYmVyKTtcXG4gIH1cXG59XFxudmFyIHNjaGVkdWxlUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCB1cGRhdGUpIHtcXG4gIHtcXG4gICAgaWYgKHJlc29sdmVGYW1pbHkgPT09IG51bGwpIHtcXG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgc3RhbGVGYW1pbGllcyA9IHVwZGF0ZS5zdGFsZUZhbWlsaWVzLFxcbiAgICAgICAgdXBkYXRlZEZhbWlsaWVzID0gdXBkYXRlLnVwZGF0ZWRGYW1pbGllcztcXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbiAgICBmbHVzaFN5bmMoZnVuY3Rpb24gKCkge1xcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB1cGRhdGVkRmFtaWxpZXMsIHN0YWxlRmFtaWxpZXMpO1xcbiAgICB9KTtcXG4gIH1cXG59O1xcbnZhciBzY2hlZHVsZVJvb3QgPSBmdW5jdGlvbiAocm9vdCwgZWxlbWVudCkge1xcbiAge1xcbiAgICBpZiAocm9vdC5jb250ZXh0ICE9PSBlbXB0eUNvbnRleHRPYmplY3QpIHtcXG4gICAgICAvLyBTdXBlciBlZGdlIGNhc2U6IHJvb3QgaGFzIGEgbGVnYWN5IF9yZW5kZXJTdWJ0cmVlIGNvbnRleHRcXG4gICAgICAvLyBidXQgd2UgZG9uJ3Qga25vdyB0aGUgcGFyZW50Q29tcG9uZW50IHNvIHdlIGNhbid0IHBhc3MgaXQuXFxuICAgICAgLy8gSnVzdCBpZ25vcmUuIFdlJ2xsIGRlbGV0ZSB0aGlzIHdpdGggX3JlbmRlclN1YnRyZWUgY29kZSBwYXRoIGxhdGVyLlxcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7XFxuICAgIHN5bmNVcGRhdGVzKGZ1bmN0aW9uICgpIHtcXG4gICAgICB1cGRhdGVDb250YWluZXIoZWxlbWVudCwgcm9vdCwgbnVsbCwgbnVsbCk7XFxuICAgIH0pO1xcbiAgfVxcbn07XFxuXFxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XFxuICB7XFxuICAgIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGUsXFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxcbiAgICAgICAgc2libGluZyA9IGZpYmVyLnNpYmxpbmcsXFxuICAgICAgICB0YWcgPSBmaWJlci50YWcsXFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcXG4gICAgdmFyIGNhbmRpZGF0ZVR5cGUgPSBudWxsO1xcblxcbiAgICBzd2l0Y2ggKHRhZykge1xcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XFxuICAgICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlLnJlbmRlcjtcXG4gICAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XFxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCByZXNvbHZlRmFtaWx5IHRvIGJlIHNldCBkdXJpbmcgaG90IHJlbG9hZC4nKTtcXG4gICAgfVxcblxcbiAgICB2YXIgbmVlZHNSZW5kZXIgPSBmYWxzZTtcXG4gICAgdmFyIG5lZWRzUmVtb3VudCA9IGZhbHNlO1xcblxcbiAgICBpZiAoY2FuZGlkYXRlVHlwZSAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBmYW1pbHkgPSByZXNvbHZlRmFtaWx5KGNhbmRpZGF0ZVR5cGUpO1xcblxcbiAgICAgIGlmIChmYW1pbHkgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgaWYgKHN0YWxlRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcXG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcXG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZEZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XFxuICAgICAgICAgIGlmICh0YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XFxuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICBuZWVkc1JlbmRlciA9IHRydWU7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGZhaWxlZEJvdW5kYXJpZXMgIT09IG51bGwpIHtcXG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XFxuICAgICAgICBuZWVkc1JlbW91bnQgPSB0cnVlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobmVlZHNSZW1vdW50KSB7XFxuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XFxuICAgICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY2hpbGQgIT09IG51bGwgJiYgIW5lZWRzUmVtb3VudCkge1xcbiAgICAgIHNjaGVkdWxlRmliZXJzV2l0aEZhbWlsaWVzUmVjdXJzaXZlbHkoY2hpbGQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHNpYmxpbmcgIT09IG51bGwpIHtcXG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHNpYmxpbmcsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaCA9IGZ1bmN0aW9uIChyb290LCBmYW1pbGllcykge1xcbiAge1xcbiAgICB2YXIgaG9zdEluc3RhbmNlcyA9IG5ldyBTZXQoKTtcXG4gICAgdmFyIHR5cGVzID0gbmV3IFNldChmYW1pbGllcy5tYXAoZnVuY3Rpb24gKGZhbWlseSkge1xcbiAgICAgIHJldHVybiBmYW1pbHkuY3VycmVudDtcXG4gICAgfSkpO1xcbiAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkocm9vdC5jdXJyZW50LCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XFxuICAgIHJldHVybiBob3N0SW5zdGFuY2VzO1xcbiAgfVxcbn07XFxuXFxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGZpYmVyLCB0eXBlcywgaG9zdEluc3RhbmNlcykge1xcbiAge1xcbiAgICB2YXIgY2hpbGQgPSBmaWJlci5jaGlsZCxcXG4gICAgICAgIHNpYmxpbmcgPSBmaWJlci5zaWJsaW5nLFxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxcbiAgICAgICAgdHlwZSA9IGZpYmVyLnR5cGU7XFxuICAgIHZhciBjYW5kaWRhdGVUeXBlID0gbnVsbDtcXG5cXG4gICAgc3dpdGNoICh0YWcpIHtcXG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgICAgY2FuZGlkYXRlVHlwZSA9IHR5cGU7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XFxuICAgICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICB2YXIgZGlkTWF0Y2ggPSBmYWxzZTtcXG5cXG4gICAgaWYgKGNhbmRpZGF0ZVR5cGUgIT09IG51bGwpIHtcXG4gICAgICBpZiAodHlwZXMuaGFzKGNhbmRpZGF0ZVR5cGUpKSB7XFxuICAgICAgICBkaWRNYXRjaCA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChkaWRNYXRjaCkge1xcbiAgICAgIC8vIFdlIGhhdmUgYSBtYXRjaC4gVGhpcyBvbmx5IGRyaWxscyBkb3duIHRvIHRoZSBjbG9zZXN0IGhvc3QgY29tcG9uZW50cy5cXG4gICAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gc2VhcmNoIGRlZXBlciBiZWNhdXNlIGZvciB0aGUgcHVycG9zZSBvZiBnaXZpbmdcXG4gICAgICAvLyB2aXN1YWwgZmVlZGJhY2ssIFxcXCJmbGFzaGluZ1xcXCIgb3V0ZXJtb3N0IHBhcmVudCByZWN0YW5nbGVzIGlzIHN1ZmZpY2llbnQuXFxuICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gSWYgdGhlcmUncyBubyBtYXRjaCwgbWF5YmUgdGhlcmUgd2lsbCBiZSBvbmUgZnVydGhlciBkb3duIGluIHRoZSBjaGlsZCB0cmVlLlxcbiAgICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KGNoaWxkLCB0eXBlcywgaG9zdEluc3RhbmNlcyk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XFxuICAgICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KHNpYmxpbmcsIHR5cGVzLCBob3N0SW5zdGFuY2VzKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKSB7XFxuICB7XFxuICAgIHZhciBmb3VuZEhvc3RJbnN0YW5jZXMgPSBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpO1xcblxcbiAgICBpZiAoZm91bmRIb3N0SW5zdGFuY2VzKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueSBob3N0IGNoaWxkcmVuLCBmYWxsYmFjayB0byBjbG9zZXN0IGhvc3QgcGFyZW50LlxcblxcblxcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xcblxcbiAgICB3aGlsZSAodHJ1ZSkge1xcbiAgICAgIHN3aXRjaCAobm9kZS50YWcpIHtcXG4gICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpO1xcbiAgICAgICAgICByZXR1cm47XFxuXFxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgICAgIGhvc3RJbnN0YW5jZXMuYWRkKG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xcbiAgICAgICAgICByZXR1cm47XFxuXFxuICAgICAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwpIHtcXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdG8gcmVhY2ggcm9vdCBmaXJzdC4nKTtcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZpbmRDaGlsZEhvc3RJbnN0YW5jZXNGb3JGaWJlclNoYWxsb3dseShmaWJlciwgaG9zdEluc3RhbmNlcykge1xcbiAge1xcbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmFsc2U7XFxuXFxuICAgIHdoaWxlICh0cnVlKSB7XFxuICAgICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50KSB7XFxuICAgICAgICAvLyBXZSBnb3QgYSBtYXRjaC5cXG4gICAgICAgIGZvdW5kSG9zdEluc3RhbmNlcyA9IHRydWU7XFxuICAgICAgICBob3N0SW5zdGFuY2VzLmFkZChub2RlLnN0YXRlTm9kZSk7IC8vIFRoZXJlIG1heSBzdGlsbCBiZSBtb3JlLCBzbyBrZWVwIHNlYXJjaGluZy5cXG4gICAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xcbiAgICAgICAgY29udGludWU7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChub2RlID09PSBmaWJlcikge1xcbiAgICAgICAgcmV0dXJuIGZvdW5kSG9zdEluc3RhbmNlcztcXG4gICAgICB9XFxuXFxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaWJlcikge1xcbiAgICAgICAgICByZXR1cm4gZm91bmRIb3N0SW5zdGFuY2VzO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgYmFzZVByb3BzKSB7XFxuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcXG4gICAgLy8gUmVzb2x2ZSBkZWZhdWx0IHByb3BzLiBUYWtlbiBmcm9tIFJlYWN0RWxlbWVudFxcbiAgICB2YXIgcHJvcHMgPSBfYXNzaWduKHt9LCBiYXNlUHJvcHMpO1xcblxcbiAgICB2YXIgZGVmYXVsdFByb3BzID0gQ29tcG9uZW50LmRlZmF1bHRQcm9wcztcXG5cXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XFxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gcHJvcHM7XFxuICB9XFxuXFxuICByZXR1cm4gYmFzZVByb3BzO1xcbn1cXG5mdW5jdGlvbiByZWFkTGF6eUNvbXBvbmVudFR5cGUobGF6eUNvbXBvbmVudCkge1xcbiAgaW5pdGlhbGl6ZUxhenlDb21wb25lbnRUeXBlKGxhenlDb21wb25lbnQpO1xcblxcbiAgaWYgKGxhenlDb21wb25lbnQuX3N0YXR1cyAhPT0gUmVzb2x2ZWQpIHtcXG4gICAgdGhyb3cgbGF6eUNvbXBvbmVudC5fcmVzdWx0O1xcbiAgfVxcblxcbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3Jlc3VsdDtcXG59XFxuXFxudmFyIHZhbHVlQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xcbnZhciByZW5kZXJlclNpZ2lsO1xcblxcbntcXG4gIC8vIFVzZSB0aGlzIHRvIGRldGVjdCBtdWx0aXBsZSByZW5kZXJlcnMgdXNpbmcgdGhlIHNhbWUgY29udGV4dFxcbiAgcmVuZGVyZXJTaWdpbCA9IHt9O1xcbn1cXG5cXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIgPSBudWxsO1xcbnZhciBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xcbnZhciBsYXN0Q29udGV4dFdpdGhBbGxCaXRzT2JzZXJ2ZWQgPSBudWxsO1xcbnZhciBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XFxuZnVuY3Rpb24gcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCkge1xcbiAgLy8gVGhpcyBpcyBjYWxsZWQgcmlnaHQgYmVmb3JlIFJlYWN0IHlpZWxkcyBleGVjdXRpb24sIHRvIGVuc3VyZSBgcmVhZENvbnRleHRgXFxuICAvLyBjYW5ub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhlIHJlbmRlciBwaGFzZS5cXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID0gbnVsbDtcXG4gIGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9IG51bGw7XFxuICBsYXN0Q29udGV4dFdpdGhBbGxCaXRzT2JzZXJ2ZWQgPSBudWxsO1xcblxcbiAge1xcbiAgICBpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWID0gZmFsc2U7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XFxuICB7XFxuICAgIGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYgPSB0cnVlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBleGl0RGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKSB7XFxuICB7XFxuICAgIGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYgPSBmYWxzZTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcHVzaFByb3ZpZGVyKHByb3ZpZGVyRmliZXIsIG5leHRWYWx1ZSkge1xcbiAgdmFyIGNvbnRleHQgPSBwcm92aWRlckZpYmVyLnR5cGUuX2NvbnRleHQ7XFxuXFxuICB7XFxuICAgIHB1c2godmFsdWVDdXJzb3IsIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSwgcHJvdmlkZXJGaWJlcik7XFxuICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IG5leHRWYWx1ZTtcXG5cXG4gICAge1xcbiAgICAgIGlmIChjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IHVuZGVmaW5lZCAmJiBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgIT09IG51bGwgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSByZW5kZXJlclNpZ2lsKSB7XFxuICAgICAgICBlcnJvcignRGV0ZWN0ZWQgbXVsdGlwbGUgcmVuZGVyZXJzIGNvbmN1cnJlbnRseSByZW5kZXJpbmcgdGhlICcgKyAnc2FtZSBjb250ZXh0IHByb3ZpZGVyLiBUaGlzIGlzIGN1cnJlbnRseSB1bnN1cHBvcnRlZC4nKTtcXG4gICAgICB9XFxuXFxuICAgICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyID0gcmVuZGVyZXJTaWdpbDtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBwb3BQcm92aWRlcihwcm92aWRlckZpYmVyKSB7XFxuICB2YXIgY3VycmVudFZhbHVlID0gdmFsdWVDdXJzb3IuY3VycmVudDtcXG4gIHBvcCh2YWx1ZUN1cnNvciwgcHJvdmlkZXJGaWJlcik7XFxuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyRmliZXIudHlwZS5fY29udGV4dDtcXG5cXG4gIHtcXG4gICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gY3VycmVudFZhbHVlO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBjYWxjdWxhdGVDaGFuZ2VkQml0cyhjb250ZXh0LCBuZXdWYWx1ZSwgb2xkVmFsdWUpIHtcXG4gIGlmIChvYmplY3RJcyhvbGRWYWx1ZSwgbmV3VmFsdWUpKSB7XFxuICAgIC8vIE5vIGNoYW5nZVxcbiAgICByZXR1cm4gMDtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBjaGFuZ2VkQml0cyA9IHR5cGVvZiBjb250ZXh0Ll9jYWxjdWxhdGVDaGFuZ2VkQml0cyA9PT0gJ2Z1bmN0aW9uJyA/IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzKG9sZFZhbHVlLCBuZXdWYWx1ZSkgOiBNQVhfU0lHTkVEXzMxX0JJVF9JTlQ7XFxuXFxuICAgIHtcXG4gICAgICBpZiAoKGNoYW5nZWRCaXRzICYgTUFYX1NJR05FRF8zMV9CSVRfSU5UKSAhPT0gY2hhbmdlZEJpdHMpIHtcXG4gICAgICAgIGVycm9yKCdjYWxjdWxhdGVDaGFuZ2VkQml0czogRXhwZWN0ZWQgdGhlIHJldHVybiB2YWx1ZSB0byBiZSBhICcgKyAnMzEtYml0IGludGVnZXIuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzJywgY2hhbmdlZEJpdHMpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gY2hhbmdlZEJpdHMgfCAwO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBzY2hlZHVsZVdvcmtPblBhcmVudFBhdGgocGFyZW50LCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBleHBpcmF0aW9uIHRpbWUgb2YgYWxsIHRoZSBhbmNlc3RvcnMsIGluY2x1ZGluZ1xcbiAgLy8gdGhlIGFsdGVybmF0ZXMuXFxuICB2YXIgbm9kZSA9IHBhcmVudDtcXG5cXG4gIHdoaWxlIChub2RlICE9PSBudWxsKSB7XFxuICAgIHZhciBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcXG5cXG4gICAgaWYgKG5vZGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgbm9kZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gTmVpdGhlciBhbHRlcm5hdGUgd2FzIHVwZGF0ZWQsIHdoaWNoIG1lYW5zIHRoZSByZXN0IG9mIHRoZVxcbiAgICAgIC8vIGFuY2VzdG9yIHBhdGggYWxyZWFkeSBoYXMgc3VmZmljaWVudCBwcmlvcml0eS5cXG4gICAgICBicmVhaztcXG4gICAgfVxcblxcbiAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICB9XFxufVxcbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIGNoYW5nZWRCaXRzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIGZpYmVyID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuXFxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcXG4gICAgLy8gU2V0IHRoZSByZXR1cm4gcG9pbnRlciBvZiB0aGUgY2hpbGQgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXFxuICAgIGZpYmVyLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgfVxcblxcbiAgd2hpbGUgKGZpYmVyICE9PSBudWxsKSB7XFxuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXFxuXFxuICAgIHZhciBsaXN0ID0gZmliZXIuZGVwZW5kZW5jaWVzO1xcblxcbiAgICBpZiAobGlzdCAhPT0gbnVsbCkge1xcbiAgICAgIG5leHRGaWJlciA9IGZpYmVyLmNoaWxkO1xcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XFxuXFxuICAgICAgd2hpbGUgKGRlcGVuZGVuY3kgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXFxuICAgICAgICBpZiAoZGVwZW5kZW5jeS5jb250ZXh0ID09PSBjb250ZXh0ICYmIChkZXBlbmRlbmN5Lm9ic2VydmVkQml0cyAmIGNoYW5nZWRCaXRzKSAhPT0gMCkge1xcbiAgICAgICAgICAvLyBNYXRjaCEgU2NoZWR1bGUgYW4gdXBkYXRlIG9uIHRoaXMgZmliZXIuXFxuICAgICAgICAgIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XFxuICAgICAgICAgICAgLy8gU2NoZWR1bGUgYSBmb3JjZSB1cGRhdGUgb24gdGhlIHdvcmstaW4tcHJvZ3Jlc3MuXFxuICAgICAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShyZW5kZXJFeHBpcmF0aW9uVGltZSwgbnVsbCk7XFxuICAgICAgICAgICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlOyAvLyBUT0RPOiBCZWNhdXNlIHdlIGRvbid0IGhhdmUgYSB3b3JrLWluLXByb2dyZXNzLCB0aGlzIHdpbGwgYWRkIHRoZVxcbiAgICAgICAgICAgIC8vIHVwZGF0ZSB0byB0aGUgY3VycmVudCBmaWJlciwgdG9vLCB3aGljaCBtZWFucyBpdCB3aWxsIHBlcnNpc3QgZXZlbiBpZlxcbiAgICAgICAgICAgIC8vIHRoaXMgcmVuZGVyIGlzIHRocm93biBhd2F5LiBTaW5jZSBpdCdzIGEgcmFjZSBjb25kaXRpb24sIG5vdCBzdXJlIGl0J3NcXG4gICAgICAgICAgICAvLyB3b3J0aCBmaXhpbmcuXFxuXFxuICAgICAgICAgICAgZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcXG5cXG4gICAgICAgICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIGFsdGVybmF0ZS5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHNjaGVkdWxlV29ya09uUGFyZW50UGF0aChmaWJlci5yZXR1cm4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gTWFyayB0aGUgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSBsaXN0LCB0b28uXFxuXFxuICAgICAgICAgIGlmIChsaXN0LmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICBsaXN0LmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICAgICAgICAgIH0gLy8gU2luY2Ugd2UgYWxyZWFkeSBmb3VuZCBhIG1hdGNoLCB3ZSBjYW4gc3RvcCB0cmF2ZXJzaW5nIHRoZVxcbiAgICAgICAgICAvLyBkZXBlbmRlbmN5IGxpc3QuXFxuXFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGVwZW5kZW5jeSA9IGRlcGVuZGVuY3kubmV4dDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBDb250ZXh0UHJvdmlkZXIpIHtcXG4gICAgICAvLyBEb24ndCBzY2FuIGRlZXBlciBpZiB0aGlzIGlzIGEgbWF0Y2hpbmcgcHJvdmlkZXJcXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFRyYXZlcnNlIGRvd24uXFxuICAgICAgbmV4dEZpYmVyID0gZmliZXIuY2hpbGQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5leHRGaWJlciAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFNldCB0aGUgcmV0dXJuIHBvaW50ZXIgb2YgdGhlIGNoaWxkIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxcbiAgICAgIG5leHRGaWJlci5yZXR1cm4gPSBmaWJlcjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBObyBjaGlsZC4gVHJhdmVyc2UgdG8gbmV4dCBzaWJsaW5nLlxcbiAgICAgIG5leHRGaWJlciA9IGZpYmVyO1xcblxcbiAgICAgIHdoaWxlIChuZXh0RmliZXIgIT09IG51bGwpIHtcXG4gICAgICAgIGlmIChuZXh0RmliZXIgPT09IHdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgICAgIC8vIFdlJ3JlIGJhY2sgdG8gdGhlIHJvb3Qgb2YgdGhpcyBzdWJ0cmVlLiBFeGl0LlxcbiAgICAgICAgICBuZXh0RmliZXIgPSBudWxsO1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHZhciBzaWJsaW5nID0gbmV4dEZpYmVyLnNpYmxpbmc7XFxuXFxuICAgICAgICBpZiAoc2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBzaWJsaW5nIHRvIHRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLlxcbiAgICAgICAgICBzaWJsaW5nLnJldHVybiA9IG5leHRGaWJlci5yZXR1cm47XFxuICAgICAgICAgIG5leHRGaWJlciA9IHNpYmxpbmc7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfSAvLyBObyBtb3JlIHNpYmxpbmdzLiBUcmF2ZXJzZSB1cC5cXG5cXG5cXG4gICAgICAgIG5leHRGaWJlciA9IG5leHRGaWJlci5yZXR1cm47XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGZpYmVyID0gbmV4dEZpYmVyO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID0gd29ya0luUHJvZ3Jlc3M7XFxuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xcbiAgbGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID0gbnVsbDtcXG4gIHZhciBkZXBlbmRlbmNpZXMgPSB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXM7XFxuXFxuICBpZiAoZGVwZW5kZW5jaWVzICE9PSBudWxsKSB7XFxuICAgIHZhciBmaXJzdENvbnRleHQgPSBkZXBlbmRlbmNpZXMuZmlyc3RDb250ZXh0O1xcblxcbiAgICBpZiAoZmlyc3RDb250ZXh0ICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGRlcGVuZGVuY2llcy5leHBpcmF0aW9uVGltZSA+PSByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgLy8gQ29udGV4dCBsaXN0IGhhcyBhIHBlbmRpbmcgdXBkYXRlLiBNYXJrIHRoYXQgdGhpcyBmaWJlciBwZXJmb3JtZWQgd29yay5cXG4gICAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XFxuICAgICAgfSAvLyBSZXNldCB0aGUgd29yay1pbi1wcm9ncmVzcyBsaXN0XFxuXFxuXFxuICAgICAgZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICB7XFxuICAgIC8vIFRoaXMgd2FybmluZyB3b3VsZCBmaXJlIGlmIHlvdSByZWFkIGNvbnRleHQgaW5zaWRlIGEgSG9vayBsaWtlIHVzZU1lbW8uXFxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXFxuICAgIGlmIChpc0Rpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKSB7XFxuICAgICAgZXJyb3IoJ0NvbnRleHQgY2FuIG9ubHkgYmUgcmVhZCB3aGlsZSBSZWFjdCBpcyByZW5kZXJpbmcuICcgKyAnSW4gY2xhc3NlcywgeW91IGNhbiByZWFkIGl0IGluIHRoZSByZW5kZXIgbWV0aG9kIG9yIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gJyArICdJbiBmdW5jdGlvbiBjb21wb25lbnRzLCB5b3UgY2FuIHJlYWQgaXQgZGlyZWN0bHkgaW4gdGhlIGZ1bmN0aW9uIGJvZHksIGJ1dCBub3QgJyArICdpbnNpZGUgSG9va3MgbGlrZSB1c2VSZWR1Y2VyKCkgb3IgdXNlTWVtbygpLicpO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAobGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID09PSBjb250ZXh0KSA7IGVsc2UgaWYgKG9ic2VydmVkQml0cyA9PT0gZmFsc2UgfHwgb2JzZXJ2ZWRCaXRzID09PSAwKSA7IGVsc2Uge1xcbiAgICB2YXIgcmVzb2x2ZWRPYnNlcnZlZEJpdHM7IC8vIEF2b2lkIGRlb3B0aW5nIG9uIG9ic2VydmFibGUgYXJndW1lbnRzIG9yIGhldGVyb2dlbmVvdXMgdHlwZXMuXFxuXFxuICAgIGlmICh0eXBlb2Ygb2JzZXJ2ZWRCaXRzICE9PSAnbnVtYmVyJyB8fCBvYnNlcnZlZEJpdHMgPT09IE1BWF9TSUdORURfMzFfQklUX0lOVCkge1xcbiAgICAgIC8vIE9ic2VydmUgYWxsIHVwZGF0ZXMuXFxuICAgICAgbGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID0gY29udGV4dDtcXG4gICAgICByZXNvbHZlZE9ic2VydmVkQml0cyA9IE1BWF9TSUdORURfMzFfQklUX0lOVDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXNvbHZlZE9ic2VydmVkQml0cyA9IG9ic2VydmVkQml0cztcXG4gICAgfVxcblxcbiAgICB2YXIgY29udGV4dEl0ZW0gPSB7XFxuICAgICAgY29udGV4dDogY29udGV4dCxcXG4gICAgICBvYnNlcnZlZEJpdHM6IHJlc29sdmVkT2JzZXJ2ZWRCaXRzLFxcbiAgICAgIG5leHQ6IG51bGxcXG4gICAgfTtcXG5cXG4gICAgaWYgKGxhc3RDb250ZXh0RGVwZW5kZW5jeSA9PT0gbnVsbCkge1xcbiAgICAgIGlmICghKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyICE9PSBudWxsKSkge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkNvbnRleHQgY2FuIG9ubHkgYmUgcmVhZCB3aGlsZSBSZWFjdCBpcyByZW5kZXJpbmcuIEluIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuIEluIGZ1bmN0aW9uIGNvbXBvbmVudHMsIHlvdSBjYW4gcmVhZCBpdCBkaXJlY3RseSBpbiB0aGUgZnVuY3Rpb24gYm9keSwgYnV0IG5vdCBpbnNpZGUgSG9va3MgbGlrZSB1c2VSZWR1Y2VyKCkgb3IgdXNlTWVtbygpLlxcXCIgKTtcXG4gICAgICAgIH1cXG4gICAgICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IGRlcGVuZGVuY3kgZm9yIHRoaXMgY29tcG9uZW50LiBDcmVhdGUgYSBuZXcgbGlzdC5cXG5cXG5cXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBjb250ZXh0SXRlbTtcXG4gICAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlci5kZXBlbmRlbmNpZXMgPSB7XFxuICAgICAgICBleHBpcmF0aW9uVGltZTogTm9Xb3JrLFxcbiAgICAgICAgZmlyc3RDb250ZXh0OiBjb250ZXh0SXRlbSxcXG4gICAgICAgIHJlc3BvbmRlcnM6IG51bGxcXG4gICAgICB9O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXFxuICAgICAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbGFzdENvbnRleHREZXBlbmRlbmN5Lm5leHQgPSBjb250ZXh0SXRlbTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuICBjb250ZXh0Ll9jdXJyZW50VmFsdWUgO1xcbn1cXG5cXG52YXIgVXBkYXRlU3RhdGUgPSAwO1xcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xcbnZhciBGb3JjZVVwZGF0ZSA9IDI7XFxudmFyIENhcHR1cmVVcGRhdGUgPSAzOyAvLyBHbG9iYWwgc3RhdGUgdGhhdCBpcyByZXNldCBhdCB0aGUgYmVnaW5uaW5nIG9mIGNhbGxpbmcgYHByb2Nlc3NVcGRhdGVRdWV1ZWAuXFxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcXG4vLyBgY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZ2AuXFxuXFxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XFxudmFyIGRpZFdhcm5VcGRhdGVJbnNpZGVVcGRhdGU7XFxudmFyIGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZTtcXG5cXG57XFxuICBkaWRXYXJuVXBkYXRlSW5zaWRlVXBkYXRlID0gZmFsc2U7XFxuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcXG4gIHZhciBxdWV1ZSA9IHtcXG4gICAgYmFzZVN0YXRlOiBmaWJlci5tZW1vaXplZFN0YXRlLFxcbiAgICBiYXNlUXVldWU6IG51bGwsXFxuICAgIHNoYXJlZDoge1xcbiAgICAgIHBlbmRpbmc6IG51bGxcXG4gICAgfSxcXG4gICAgZWZmZWN0czogbnVsbFxcbiAgfTtcXG4gIGZpYmVyLnVwZGF0ZVF1ZXVlID0gcXVldWU7XFxufVxcbmZ1bmN0aW9uIGNsb25lVXBkYXRlUXVldWUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcXG4gIC8vIENsb25lIHRoZSB1cGRhdGUgcXVldWUgZnJvbSBjdXJyZW50LiBVbmxlc3MgaXQncyBhbHJlYWR5IGEgY2xvbmUuXFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcXG4gIHZhciBjdXJyZW50UXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xcblxcbiAgaWYgKHF1ZXVlID09PSBjdXJyZW50UXVldWUpIHtcXG4gICAgdmFyIGNsb25lID0ge1xcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcXG4gICAgICBiYXNlUXVldWU6IGN1cnJlbnRRdWV1ZS5iYXNlUXVldWUsXFxuICAgICAgc2hhcmVkOiBjdXJyZW50UXVldWUuc2hhcmVkLFxcbiAgICAgIGVmZmVjdHM6IGN1cnJlbnRRdWV1ZS5lZmZlY3RzXFxuICAgIH07XFxuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY2xvbmU7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpIHtcXG4gIHZhciB1cGRhdGUgPSB7XFxuICAgIGV4cGlyYXRpb25UaW1lOiBleHBpcmF0aW9uVGltZSxcXG4gICAgc3VzcGVuc2VDb25maWc6IHN1c3BlbnNlQ29uZmlnLFxcbiAgICB0YWc6IFVwZGF0ZVN0YXRlLFxcbiAgICBwYXlsb2FkOiBudWxsLFxcbiAgICBjYWxsYmFjazogbnVsbCxcXG4gICAgbmV4dDogbnVsbFxcbiAgfTtcXG4gIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcblxcbiAge1xcbiAgICB1cGRhdGUucHJpb3JpdHkgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHVwZGF0ZTtcXG59XFxuZnVuY3Rpb24gZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKSB7XFxuICB2YXIgdXBkYXRlUXVldWUgPSBmaWJlci51cGRhdGVRdWV1ZTtcXG5cXG4gIGlmICh1cGRhdGVRdWV1ZSA9PT0gbnVsbCkge1xcbiAgICAvLyBPbmx5IG9jY3VycyBpZiB0aGUgZmliZXIgaGFzIGJlZW4gdW5tb3VudGVkLlxcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XFxuICB2YXIgcGVuZGluZyA9IHNoYXJlZFF1ZXVlLnBlbmRpbmc7XFxuXFxuICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB1cGRhdGUuIENyZWF0ZSBhIGNpcmN1bGFyIGxpc3QuXFxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgdXBkYXRlLm5leHQgPSBwZW5kaW5nLm5leHQ7XFxuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcXG4gIH1cXG5cXG4gIHNoYXJlZFF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XFxuXFxuICB7XFxuICAgIGlmIChjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPT09IHNoYXJlZFF1ZXVlICYmICFkaWRXYXJuVXBkYXRlSW5zaWRlVXBkYXRlKSB7XFxuICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSAoc2V0U3RhdGUsIHJlcGxhY2VTdGF0ZSwgb3IgZm9yY2VVcGRhdGUpIHdhcyBzY2hlZHVsZWQgJyArICdmcm9tIGluc2lkZSBhbiB1cGRhdGUgZnVuY3Rpb24uIFVwZGF0ZSBmdW5jdGlvbnMgc2hvdWxkIGJlIHB1cmUsICcgKyAnd2l0aCB6ZXJvIHNpZGUtZWZmZWN0cy4gQ29uc2lkZXIgdXNpbmcgY29tcG9uZW50RGlkVXBkYXRlIG9yIGEgJyArICdjYWxsYmFjay4nKTtcXG5cXG4gICAgICBkaWRXYXJuVXBkYXRlSW5zaWRlVXBkYXRlID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSkge1xcbiAgdmFyIGN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGU7XFxuXFxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xcbiAgICAvLyBFbnN1cmUgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgcXVldWUgaXMgYSBjbG9uZVxcbiAgICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcXG4gIH0gLy8gQ2FwdHVyZWQgdXBkYXRlcyBnbyBvbmx5IG9uIHRoZSB3b3JrLWluLXByb2dyZXNzIHF1ZXVlLlxcblxcblxcbiAgdmFyIHF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7IC8vIEFwcGVuZCB0aGUgdXBkYXRlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXFxuXFxuICB2YXIgbGFzdCA9IHF1ZXVlLmJhc2VRdWV1ZTtcXG5cXG4gIGlmIChsYXN0ID09PSBudWxsKSB7XFxuICAgIHF1ZXVlLmJhc2VRdWV1ZSA9IHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcXG4gIH0gZWxzZSB7XFxuICAgIHVwZGF0ZS5uZXh0ID0gbGFzdC5uZXh0O1xcbiAgICBsYXN0Lm5leHQgPSB1cGRhdGU7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMsIGluc3RhbmNlKSB7XFxuICBzd2l0Y2ggKHVwZGF0ZS50YWcpIHtcXG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XFxuICAgICAge1xcbiAgICAgICAgdmFyIHBheWxvYWQgPSB1cGRhdGUucGF5bG9hZDtcXG5cXG4gICAgICAgIGlmICh0eXBlb2YgcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAvLyBVcGRhdGVyIGZ1bmN0aW9uXFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XFxuXFxuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgICAgICAgICAgcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBuZXh0U3RhdGUgPSBwYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcXG5cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XFxuICAgICAgICB9IC8vIFN0YXRlIG9iamVjdFxcblxcblxcbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENhcHR1cmVVcGRhdGU6XFxuICAgICAge1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xcbiAgICAgIH1cXG4gICAgLy8gSW50ZW50aW9uYWwgZmFsbHRocm91Z2hcXG5cXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcXG4gICAgICB7XFxuICAgICAgICB2YXIgX3BheWxvYWQgPSB1cGRhdGUucGF5bG9hZDtcXG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XFxuXFxuICAgICAgICBpZiAodHlwZW9mIF9wYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcXG5cXG4gICAgICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgICAgICAgICBfcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHBhcnRpYWxTdGF0ZSA9IF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcXG5cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBQYXJ0aWFsIHN0YXRlIG9iamVjdFxcbiAgICAgICAgICBwYXJ0aWFsU3RhdGUgPSBfcGF5bG9hZDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlmIChwYXJ0aWFsU3RhdGUgPT09IG51bGwgfHwgcGFydGlhbFN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgICAgLy8gTnVsbCBhbmQgdW5kZWZpbmVkIGFyZSB0cmVhdGVkIGFzIG5vLW9wcy5cXG4gICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcXG4gICAgICAgIH0gLy8gTWVyZ2UgdGhlIHBhcnRpYWwgc3RhdGUgYW5kIHRoZSBwcmV2aW91cyBzdGF0ZS5cXG5cXG5cXG4gICAgICAgIHJldHVybiBfYXNzaWduKHt9LCBwcmV2U3RhdGUsIHBhcnRpYWxTdGF0ZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEZvcmNlVXBkYXRlOlxcbiAgICAgIHtcXG4gICAgICAgIGhhc0ZvcmNlVXBkYXRlID0gdHJ1ZTtcXG4gICAgICAgIHJldHVybiBwcmV2U3RhdGU7XFxuICAgICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHByZXZTdGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBwcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XFxuICB2YXIgcXVldWUgPSB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZTtcXG4gIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XFxuXFxuICB7XFxuICAgIGN1cnJlbnRseVByb2Nlc3NpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZDtcXG4gIH0gLy8gVGhlIGxhc3QgcmViYXNlIHVwZGF0ZSB0aGF0IGlzIE5PVCBwYXJ0IG9mIHRoZSBiYXNlIHN0YXRlLlxcblxcblxcbiAgdmFyIGJhc2VRdWV1ZSA9IHF1ZXVlLmJhc2VRdWV1ZTsgLy8gVGhlIGxhc3QgcGVuZGluZyB1cGRhdGUgdGhhdCBoYXNuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxcblxcbiAgdmFyIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xcblxcbiAgaWYgKHBlbmRpbmdRdWV1ZSAhPT0gbnVsbCkge1xcbiAgICAvLyBXZSBoYXZlIG5ldyB1cGRhdGVzIHRoYXQgaGF2ZW4ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXFxuICAgIC8vIFdlJ2xsIGFkZCB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxcbiAgICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XFxuICAgICAgLy8gTWVyZ2UgdGhlIHBlbmRpbmcgcXVldWUgYW5kIHRoZSBiYXNlIHF1ZXVlLlxcbiAgICAgIHZhciBiYXNlRmlyc3QgPSBiYXNlUXVldWUubmV4dDtcXG4gICAgICB2YXIgcGVuZGluZ0ZpcnN0ID0gcGVuZGluZ1F1ZXVlLm5leHQ7XFxuICAgICAgYmFzZVF1ZXVlLm5leHQgPSBwZW5kaW5nRmlyc3Q7XFxuICAgICAgcGVuZGluZ1F1ZXVlLm5leHQgPSBiYXNlRmlyc3Q7XFxuICAgIH1cXG5cXG4gICAgYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xcbiAgICBxdWV1ZS5zaGFyZWQucGVuZGluZyA9IG51bGw7IC8vIFRPRE86IFBhc3MgYGN1cnJlbnRgIGFzIGFyZ3VtZW50XFxuXFxuICAgIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xcblxcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBjdXJyZW50UXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xcblxcbiAgICAgIGlmIChjdXJyZW50UXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgIGN1cnJlbnRRdWV1ZS5iYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxcblxcblxcbiAgaWYgKGJhc2VRdWV1ZSAhPT0gbnVsbCkge1xcbiAgICB2YXIgZmlyc3QgPSBiYXNlUXVldWUubmV4dDsgLy8gSXRlcmF0ZSB0aHJvdWdoIHRoZSBsaXN0IG9mIHVwZGF0ZXMgdG8gY29tcHV0ZSB0aGUgcmVzdWx0LlxcblxcbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7XFxuICAgIHZhciBuZXdFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVGaXJzdCA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVMYXN0ID0gbnVsbDtcXG5cXG4gICAgaWYgKGZpcnN0ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xcblxcbiAgICAgIGRvIHtcXG4gICAgICAgIHZhciB1cGRhdGVFeHBpcmF0aW9uVGltZSA9IHVwZGF0ZS5leHBpcmF0aW9uVGltZTtcXG5cXG4gICAgICAgIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgIC8vIFByaW9yaXR5IGlzIGluc3VmZmljaWVudC4gU2tpcCB0aGlzIHVwZGF0ZS4gSWYgdGhpcyBpcyB0aGUgZmlyc3RcXG4gICAgICAgICAgLy8gc2tpcHBlZCB1cGRhdGUsIHRoZSBwcmV2aW91cyB1cGRhdGUvc3RhdGUgaXMgdGhlIG5ldyBiYXNlXFxuICAgICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cXG4gICAgICAgICAgdmFyIGNsb25lID0ge1xcbiAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lOiB1cGRhdGUuZXhwaXJhdGlvblRpbWUsXFxuICAgICAgICAgICAgc3VzcGVuc2VDb25maWc6IHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyxcXG4gICAgICAgICAgICB0YWc6IHVwZGF0ZS50YWcsXFxuICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXFxuICAgICAgICAgICAgY2FsbGJhY2s6IHVwZGF0ZS5jYWxsYmFjayxcXG4gICAgICAgICAgICBuZXh0OiBudWxsXFxuICAgICAgICAgIH07XFxuXFxuICAgICAgICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ID09PSBudWxsKSB7XFxuICAgICAgICAgICAgbmV3QmFzZVF1ZXVlRmlyc3QgPSBuZXdCYXNlUXVldWVMYXN0ID0gY2xvbmU7XFxuICAgICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgbmV3QmFzZVF1ZXVlTGFzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QubmV4dCA9IGNsb25lO1xcbiAgICAgICAgICB9IC8vIFVwZGF0ZSB0aGUgcmVtYWluaW5nIHByaW9yaXR5IGluIHRoZSBxdWV1ZS5cXG5cXG5cXG4gICAgICAgICAgaWYgKHVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3RXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICBuZXdFeHBpcmF0aW9uVGltZSA9IHVwZGF0ZUV4cGlyYXRpb25UaW1lO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBkb2VzIGhhdmUgc3VmZmljaWVudCBwcmlvcml0eS5cXG4gICAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgICB2YXIgX2Nsb25lID0ge1xcbiAgICAgICAgICAgICAgZXhwaXJhdGlvblRpbWU6IFN5bmMsXFxuICAgICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdCBpdC5cXG4gICAgICAgICAgICAgIHN1c3BlbnNlQ29uZmlnOiB1cGRhdGUuc3VzcGVuc2VDb25maWcsXFxuICAgICAgICAgICAgICB0YWc6IHVwZGF0ZS50YWcsXFxuICAgICAgICAgICAgICBwYXlsb2FkOiB1cGRhdGUucGF5bG9hZCxcXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXFxuICAgICAgICAgICAgICBuZXh0OiBudWxsXFxuICAgICAgICAgICAgfTtcXG4gICAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xcbiAgICAgICAgICB9IC8vIE1hcmsgdGhlIGV2ZW50IHRpbWUgb2YgdGhpcyB1cGRhdGUgYXMgcmVsZXZhbnQgdG8gdGhpcyByZW5kZXIgcGFzcy5cXG4gICAgICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgaWRlYWxseSB1c2UgdGhlIHRydWUgZXZlbnQgdGltZSBvZiB0aGlzIHVwZGF0ZSByYXRoZXIgdGhhblxcbiAgICAgICAgICAvLyBpdHMgcHJpb3JpdHkgd2hpY2ggaXMgYSBkZXJpdmVkIGFuZCBub3QgcmV2ZXJzZWFibGUgdmFsdWUuXFxuICAgICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCBza2lwIHRoaXMgdXBkYXRlIGlmIGl0IHdhcyBhbHJlYWR5IGNvbW1pdHRlZCBidXQgY3VycmVudGx5XFxuICAgICAgICAgIC8vIHdlIGhhdmUgbm8gd2F5IG9mIGRldGVjdGluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgY29tbWl0dGVkIGFuZCBzdXNwZW5kZWRcXG4gICAgICAgICAgLy8gdXBkYXRlIGhlcmUuXFxuXFxuXFxuICAgICAgICAgIG1hcmtSZW5kZXJFdmVudFRpbWVBbmRDb25maWcodXBkYXRlRXhwaXJhdGlvblRpbWUsIHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyk7IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXFxuXFxuICAgICAgICAgIG5ld1N0YXRlID0gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBuZXdTdGF0ZSwgcHJvcHMsIGluc3RhbmNlKTtcXG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gdXBkYXRlLmNhbGxiYWNrO1xcblxcbiAgICAgICAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gQ2FsbGJhY2s7XFxuICAgICAgICAgICAgdmFyIGVmZmVjdHMgPSBxdWV1ZS5lZmZlY3RzO1xcblxcbiAgICAgICAgICAgIGlmIChlZmZlY3RzID09PSBudWxsKSB7XFxuICAgICAgICAgICAgICBxdWV1ZS5lZmZlY3RzID0gW3VwZGF0ZV07XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIGVmZmVjdHMucHVzaCh1cGRhdGUpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XFxuXFxuICAgICAgICBpZiAodXBkYXRlID09PSBudWxsIHx8IHVwZGF0ZSA9PT0gZmlyc3QpIHtcXG4gICAgICAgICAgcGVuZGluZ1F1ZXVlID0gcXVldWUuc2hhcmVkLnBlbmRpbmc7XFxuXFxuICAgICAgICAgIGlmIChwZW5kaW5nUXVldWUgPT09IG51bGwpIHtcXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBmcm9tIGluc2lkZSBhIHJlZHVjZXIuIEFkZCB0aGUgbmV3XFxuICAgICAgICAgICAgLy8gcGVuZGluZyB1cGRhdGVzIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QgYW5kIGtlZXAgcHJvY2Vzc2luZy5cXG4gICAgICAgICAgICB1cGRhdGUgPSBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdRdWV1ZS5uZXh0O1xcbiAgICAgICAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gZmlyc3Q7XFxuICAgICAgICAgICAgcXVldWUuYmFzZVF1ZXVlID0gYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xcbiAgICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH0gd2hpbGUgKHRydWUpO1xcbiAgICB9XFxuXFxuICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ID09PSBudWxsKSB7XFxuICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gbmV3QmFzZVF1ZXVlRmlyc3Q7XFxuICAgIH1cXG5cXG4gICAgcXVldWUuYmFzZVN0YXRlID0gbmV3QmFzZVN0YXRlO1xcbiAgICBxdWV1ZS5iYXNlUXVldWUgPSBuZXdCYXNlUXVldWVMYXN0OyAvLyBTZXQgdGhlIHJlbWFpbmluZyBleHBpcmF0aW9uIHRpbWUgdG8gYmUgd2hhdGV2ZXIgaXMgcmVtYWluaW5nIGluIHRoZSBxdWV1ZS5cXG4gICAgLy8gVGhpcyBzaG91bGQgYmUgZmluZSBiZWNhdXNlIHRoZSBvbmx5IHR3byBvdGhlciB0aGluZ3MgdGhhdCBjb250cmlidXRlIHRvXFxuICAgIC8vIGV4cGlyYXRpb24gdGltZSBhcmUgcHJvcHMgYW5kIGNvbnRleHQuIFdlJ3JlIGFscmVhZHkgaW4gdGhlIG1pZGRsZSBvZiB0aGVcXG4gICAgLy8gYmVnaW4gcGhhc2UgYnkgdGhlIHRpbWUgd2Ugc3RhcnQgcHJvY2Vzc2luZyB0aGUgcXVldWUsIHNvIHdlJ3ZlIGFscmVhZHlcXG4gICAgLy8gZGVhbHQgd2l0aCB0aGUgcHJvcHMuIENvbnRleHQgaW4gY29tcG9uZW50cyB0aGF0IHNwZWNpZnlcXG4gICAgLy8gc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIHRyaWNreTsgYnV0IHdlJ2xsIGhhdmUgdG8gYWNjb3VudCBmb3JcXG4gICAgLy8gdGhhdCByZWdhcmRsZXNzLlxcblxcbiAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKG5ld0V4cGlyYXRpb25UaW1lKTtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBuZXdFeHBpcmF0aW9uVGltZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgfVxcblxcbiAge1xcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjYWxsQ2FsbGJhY2soY2FsbGJhY2ssIGNvbnRleHQpIHtcXG4gIGlmICghKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgYXMgY2FsbGJhY2suIEV4cGVjdGVkIGEgZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6IFxcXCIgKyBjYWxsYmFjayApO1xcbiAgICB9XFxuICB9XFxuXFxuICBjYWxsYmFjay5jYWxsKGNvbnRleHQpO1xcbn1cXG5cXG5mdW5jdGlvbiByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpIHtcXG4gIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XFxufVxcbmZ1bmN0aW9uIGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB7XFxuICByZXR1cm4gaGFzRm9yY2VVcGRhdGU7XFxufVxcbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgZmluaXNoZWRRdWV1ZSwgaW5zdGFuY2UpIHtcXG4gIC8vIENvbW1pdCB0aGUgZWZmZWN0c1xcbiAgdmFyIGVmZmVjdHMgPSBmaW5pc2hlZFF1ZXVlLmVmZmVjdHM7XFxuICBmaW5pc2hlZFF1ZXVlLmVmZmVjdHMgPSBudWxsO1xcblxcbiAgaWYgKGVmZmVjdHMgIT09IG51bGwpIHtcXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlZmZlY3RzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGVmZmVjdCA9IGVmZmVjdHNbaV07XFxuICAgICAgdmFyIGNhbGxiYWNrID0gZWZmZWN0LmNhbGxiYWNrO1xcblxcbiAgICAgIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xcbiAgICAgICAgZWZmZWN0LmNhbGxiYWNrID0gbnVsbDtcXG4gICAgICAgIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgaW5zdGFuY2UpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcXG5mdW5jdGlvbiByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCkge1xcbiAgcmV0dXJuIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLnN1c3BlbnNlO1xcbn1cXG5cXG52YXIgZmFrZUludGVybmFsSW5zdGFuY2UgPSB7fTtcXG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7IC8vIFJlYWN0LkNvbXBvbmVudCB1c2VzIGEgc2hhcmVkIGZyb3plbiBvYmplY3QgYnkgZGVmYXVsdC5cXG4vLyBXZSdsbCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplIGxlZ2FjeSByZWZzLlxcblxcbnZhciBlbXB0eVJlZnNPYmplY3QgPSBuZXcgUmVhY3QuQ29tcG9uZW50KCkucmVmcztcXG52YXIgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50O1xcbnZhciBkaWRXYXJuQWJvdXRVbmluaXRpYWxpemVkU3RhdGU7XFxudmFyIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZTtcXG52YXIgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZTtcXG52YXIgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlO1xcbnZhciB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGU7XFxudmFyIHdhcm5PbkludmFsaWRDYWxsYmFjaztcXG52YXIgZGlkV2FybkFib3V0RGlyZWN0bHlBc3NpZ25pbmdQcm9wc1RvU3RhdGU7XFxudmFyIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzO1xcbnZhciBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGU7XFxuXFxue1xcbiAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50ID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0VW5pbml0aWFsaXplZFN0YXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0R2V0U25hcHNob3RCZWZvcmVVcGRhdGVXaXRob3V0RGlkVXBkYXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcXG4gIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlID0gbmV3IFNldCgpO1xcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVBbmRDb250ZXh0VHlwZXMgPSBuZXcgU2V0KCk7XFxuICBkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUgPSBuZXcgU2V0KCk7XFxuICB2YXIgZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrID0gbmV3IFNldCgpO1xcblxcbiAgd2Fybk9uSW52YWxpZENhbGxiYWNrID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XFxuICAgIGlmIChjYWxsYmFjayA9PT0gbnVsbCB8fCB0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIGtleSA9IGNhbGxlck5hbWUgKyBcXFwiX1xcXCIgKyBjYWxsYmFjaztcXG5cXG4gICAgaWYgKCFkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suaGFzKGtleSkpIHtcXG4gICAgICBkaWRXYXJuT25JbnZhbGlkQ2FsbGJhY2suYWRkKGtleSk7XFxuXFxuICAgICAgZXJyb3IoJyVzKC4uLik6IEV4cGVjdGVkIHRoZSBsYXN0IG9wdGlvbmFsIGBjYWxsYmFja2AgYXJndW1lbnQgdG8gYmUgYSAnICsgJ2Z1bmN0aW9uLiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCBjYWxsZXJOYW1lLCBjYWxsYmFjayk7XFxuICAgIH1cXG4gIH07XFxuXFxuICB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGUgPSBmdW5jdGlvbiAodHlwZSwgcGFydGlhbFN0YXRlKSB7XFxuICAgIGlmIChwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnQ29tcG9uZW50JztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XFxuXFxuICAgICAgICBlcnJvcignJXMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCk6IEEgdmFsaWQgc3RhdGUgb2JqZWN0IChvciBudWxsKSBtdXN0IGJlIHJldHVybmVkLiAnICsgJ1lvdSBoYXZlIHJldHVybmVkIHVuZGVmaW5lZC4nLCBjb21wb25lbnROYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH07IC8vIFRoaXMgaXMgc28gZ3Jvc3MgYnV0IGl0J3MgYXQgbGVhc3Qgbm9uLWNyaXRpY2FsIGFuZCBjYW4gYmUgcmVtb3ZlZCBpZlxcbiAgLy8gaXQgY2F1c2VzIHByb2JsZW1zLiBUaGlzIGlzIG1lYW50IHRvIGdpdmUgYSBuaWNlciBlcnJvciBtZXNzYWdlIGZvclxcbiAgLy8gUmVhY3RET00xNS51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihyZWFjdERPTTE2Q29tcG9uZW50LFxcbiAgLy8gLi4uKSkgd2hpY2ggb3RoZXJ3aXNlIHRocm93cyBhIFxcXCJfcHJvY2Vzc0NoaWxkQ29udGV4dCBpcyBub3QgYSBmdW5jdGlvblxcXCJcXG4gIC8vIGV4Y2VwdGlvbi5cXG5cXG5cXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmYWtlSW50ZXJuYWxJbnN0YW5jZSwgJ19wcm9jZXNzQ2hpbGRDb250ZXh0Jywge1xcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcXG4gICAgICB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5IG1lYW5zIHlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBhbmQgYXJlIGF0dGVtcHRpbmcgdG8gbmVzdCBhIFJlYWN0IDE1IHRyZWUgaW5zaWRlIGEgUmVhY3QgMTYgdHJlZSB1c2luZyB1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lciwgd2hpY2ggaXNuJ3Qgc3VwcG9ydGVkLiBUcnkgdG8gbWFrZSBzdXJlIHlvdSBoYXZlIG9ubHkgb25lIGNvcHkgb2YgUmVhY3QgKGFuZCBpZGVhbGx5LCBzd2l0Y2ggdG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG4gIE9iamVjdC5mcmVlemUoZmFrZUludGVybmFsSW5zdGFuY2UpO1xcbn1cXG5cXG5mdW5jdGlvbiBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXh0UHJvcHMpIHtcXG4gIHZhciBwcmV2U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAge1xcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cXG4gICAgICBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzLCBwcmV2U3RhdGUpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgcGFydGlhbFN0YXRlID0gZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKTtcXG5cXG4gIHtcXG4gICAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlKGN0b3IsIHBhcnRpYWxTdGF0ZSk7XFxuICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXFxuXFxuXFxuICB2YXIgbWVtb2l6ZWRTdGF0ZSA9IHBhcnRpYWxTdGF0ZSA9PT0gbnVsbCB8fCBwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCA/IHByZXZTdGF0ZSA6IF9hc3NpZ24oe30sIHByZXZTdGF0ZSwgcGFydGlhbFN0YXRlKTtcXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBtZW1vaXplZFN0YXRlOyAvLyBPbmNlIHRoZSB1cGRhdGUgcXVldWUgaXMgZW1wdHksIHBlcnNpc3QgdGhlIGRlcml2ZWQgc3RhdGUgb250byB0aGVcXG4gIC8vIGJhc2Ugc3RhdGUuXFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPT09IE5vV29yaykge1xcbiAgICAvLyBRdWV1ZSBpcyBhbHdheXMgbm9uLW51bGwgZm9yIGNsYXNzZXNcXG4gICAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XFxuICAgIHVwZGF0ZVF1ZXVlLmJhc2VTdGF0ZSA9IG1lbW9pemVkU3RhdGU7XFxuICB9XFxufVxcbnZhciBjbGFzc0NvbXBvbmVudFVwZGF0ZXIgPSB7XFxuICBpc01vdW50ZWQ6IGlzTW91bnRlZCxcXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKGluc3QsIHBheWxvYWQsIGNhbGxiYWNrKSB7XFxuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcXG4gICAgdmFyIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlcihjdXJyZW50VGltZSwgZmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XFxuXFxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAge1xcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcXG4gICAgICB9XFxuXFxuICAgICAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2s7XFxuICAgIH1cXG5cXG4gICAgZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKTtcXG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XFxuICB9LFxcbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKGluc3QsIHBheWxvYWQsIGNhbGxiYWNrKSB7XFxuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcXG4gICAgdmFyIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlcihjdXJyZW50VGltZSwgZmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xcbiAgICB1cGRhdGUudGFnID0gUmVwbGFjZVN0YXRlO1xcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XFxuXFxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAge1xcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAncmVwbGFjZVN0YXRlJyk7XFxuICAgICAgfVxcblxcbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xcbiAgICB9XFxuXFxuICAgIGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSk7XFxuICAgIHNjaGVkdWxlV29yayhmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xcbiAgfSxcXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XFxuICAgIHZhciBmaWJlciA9IGdldChpbnN0KTtcXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcXG4gICAgdmFyIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlcihjdXJyZW50VGltZSwgZmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xcbiAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XFxuXFxuICAgIGlmIChjYWxsYmFjayAhPT0gdW5kZWZpbmVkICYmIGNhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAge1xcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAnZm9yY2VVcGRhdGUnKTtcXG4gICAgICB9XFxuXFxuICAgICAgdXBkYXRlLmNhbGxiYWNrID0gY2FsbGJhY2s7XFxuICAgIH1cXG5cXG4gICAgZW5xdWV1ZVVwZGF0ZShmaWJlciwgdXBkYXRlKTtcXG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KSB7XFxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuXFxuICBpZiAodHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICB7XFxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cXG4gICAgICAgIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnc2hvdWxkQ29tcG9uZW50VXBkYXRlJyk7XFxuICAgIHZhciBzaG91bGRVcGRhdGUgPSBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XFxuICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuXFxuICAgIHtcXG4gICAgICBpZiAoc2hvdWxkVXBkYXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICAgIGVycm9yKCclcy5zaG91bGRDb21wb25lbnRVcGRhdGUoKTogUmV0dXJuZWQgdW5kZWZpbmVkIGluc3RlYWQgb2YgYSAnICsgJ2Jvb2xlYW4gdmFsdWUuIE1ha2Ugc3VyZSB0byByZXR1cm4gdHJ1ZSBvciBmYWxzZS4nLCBnZXRDb21wb25lbnROYW1lKGN0b3IpIHx8ICdDb21wb25lbnQnKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcXG4gIH1cXG5cXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xcbiAgICByZXR1cm4gIXNoYWxsb3dFcXVhbChvbGRQcm9wcywgbmV3UHJvcHMpIHx8ICFzaGFsbG93RXF1YWwob2xkU3RhdGUsIG5ld1N0YXRlKTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0NsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzKSB7XFxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuXFxuICB7XFxuICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JztcXG4gICAgdmFyIHJlbmRlclByZXNlbnQgPSBpbnN0YW5jZS5yZW5kZXI7XFxuXFxuICAgIGlmICghcmVuZGVyUHJlc2VudCkge1xcbiAgICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiB0eXBlb2YgY3Rvci5wcm90b3R5cGUucmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICBlcnJvcignJXMoLi4uKTogTm8gYHJlbmRlcmAgbWV0aG9kIGZvdW5kIG9uIHRoZSByZXR1cm5lZCBjb21wb25lbnQgJyArICdpbnN0YW5jZTogZGlkIHlvdSBhY2NpZGVudGFsbHkgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHRoZSBjb25zdHJ1Y3Rvcj8nLCBuYW1lKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IHlvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gZGVmaW5lIGByZW5kZXJgLicsIG5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoaW5zdGFuY2UuZ2V0SW5pdGlhbFN0YXRlICYmICFpbnN0YW5jZS5nZXRJbml0aWFsU3RhdGUuaXNSZWFjdENsYXNzQXBwcm92ZWQgJiYgIWluc3RhbmNlLnN0YXRlKSB7XFxuICAgICAgZXJyb3IoJ2dldEluaXRpYWxTdGF0ZSB3YXMgZGVmaW5lZCBvbiAlcywgYSBwbGFpbiBKYXZhU2NyaXB0IGNsYXNzLiAnICsgJ1RoaXMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIGNsYXNzZXMgY3JlYXRlZCB1c2luZyBSZWFjdC5jcmVhdGVDbGFzcy4gJyArICdEaWQgeW91IG1lYW4gdG8gZGVmaW5lIGEgc3RhdGUgcHJvcGVydHkgaW5zdGVhZD8nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAoaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzICYmICFpbnN0YW5jZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcXG4gICAgICBlcnJvcignZ2V0RGVmYXVsdFByb3BzIHdhcyBkZWZpbmVkIG9uICVzLCBhIHBsYWluIEphdmFTY3JpcHQgY2xhc3MuICcgKyAnVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgY2xhc3NlcyBjcmVhdGVkIHVzaW5nIFJlYWN0LmNyZWF0ZUNsYXNzLiAnICsgJ1VzZSBhIHN0YXRpYyBwcm9wZXJ0eSB0byBkZWZpbmUgZGVmYXVsdFByb3BzIGluc3RlYWQuJywgbmFtZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGluc3RhbmNlLnByb3BUeXBlcykge1xcbiAgICAgIGVycm9yKCdwcm9wVHlwZXMgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBwcm9wVHlwZXMgaW5zdGVhZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAoaW5zdGFuY2UuY29udGV4dFR5cGUpIHtcXG4gICAgICBlcnJvcignY29udGV4dFR5cGUgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZSBpbnN0ZWFkLicsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICBpZiAoaW5zdGFuY2UuY29udGV4dFR5cGVzKSB7XFxuICAgICAgICBlcnJvcignY29udGV4dFR5cGVzIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgY29udGV4dFR5cGVzIGluc3RlYWQuJywgbmFtZSk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjdG9yLmNvbnRleHRUeXBlICYmIGN0b3IuY29udGV4dFR5cGVzICYmICFkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcy5oYXMoY3RvcikpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmFkZChjdG9yKTtcXG5cXG4gICAgICAgIGVycm9yKCclcyBkZWNsYXJlcyBib3RoIGNvbnRleHRUeXBlcyBhbmQgY29udGV4dFR5cGUgc3RhdGljIHByb3BlcnRpZXMuICcgKyAnVGhlIGxlZ2FjeSBjb250ZXh0VHlwZXMgcHJvcGVydHkgd2lsbCBiZSBpZ25vcmVkLicsIG5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFNob3VsZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50U2hvdWxkVXBkYXRlKCkuIERpZCB5b3UgbWVhbiBzaG91bGRDb21wb25lbnRVcGRhdGUoKT8gJyArICdUaGUgbmFtZSBpcyBwaHJhc2VkIGFzIGEgcXVlc3Rpb24gYmVjYXVzZSB0aGUgZnVuY3Rpb24gaXMgJyArICdleHBlY3RlZCB0byByZXR1cm4gYSB2YWx1ZS4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY3Rvci5wcm90b3R5cGUgJiYgY3Rvci5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgJiYgdHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCBzaG91bGRDb21wb25lbnRVcGRhdGUoKS4gJyArICdzaG91bGRDb21wb25lbnRVcGRhdGUgc2hvdWxkIG5vdCBiZSB1c2VkIHdoZW4gZXh0ZW5kaW5nIFJlYWN0LlB1cmVDb21wb25lbnQuICcgKyAnUGxlYXNlIGV4dGVuZCBSZWFjdC5Db21wb25lbnQgaWYgc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIHVzZWQuJywgZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQSBwdXJlIGNvbXBvbmVudCcpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50RGlkVW5tb3VudCgpLiBCdXQgdGhlcmUgaXMgbm8gc3VjaCBsaWZlY3ljbGUgbWV0aG9kLiAnICsgJ0RpZCB5b3UgbWVhbiBjb21wb25lbnRXaWxsVW5tb3VudCgpPycsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRSZWNlaXZlUHJvcHMoKS4gQnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlmZWN5Y2xlIG1ldGhvZC4gJyArICdJZiB5b3UgbWVhbnQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBpbiByZXNwb25zZSB0byBjaGFuZ2luZyBwcm9wcywgJyArICd1c2UgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpLiBJZiB5b3UgbWVhbnQgdG8gZmV0Y2ggZGF0YSBvciAnICsgJ3J1biBzaWRlLWVmZmVjdHMgb3IgbXV0YXRpb25zIGFmdGVyIFJlYWN0IGhhcyB1cGRhdGVkIHRoZSBVSSwgdXNlIGNvbXBvbmVudERpZFVwZGF0ZSgpLicsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNpZXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICsgJ1VOU0FGRV9jb21wb25lbnRXaWxsUmVjaWV2ZVByb3BzKCkuIERpZCB5b3UgbWVhbiBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpPycsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIHZhciBoYXNNdXRhdGVkUHJvcHMgPSBpbnN0YW5jZS5wcm9wcyAhPT0gbmV3UHJvcHM7XFxuXFxuICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gdW5kZWZpbmVkICYmIGhhc011dGF0ZWRQcm9wcykge1xcbiAgICAgIGVycm9yKCclcyguLi4pOiBXaGVuIGNhbGxpbmcgc3VwZXIoKSBpbiBgJXNgLCBtYWtlIHN1cmUgdG8gcGFzcyAnICsgXFxcInVwIHRoZSBzYW1lIHByb3BzIHRoYXQgeW91ciBjb21wb25lbnQncyBjb25zdHJ1Y3RvciB3YXMgcGFzc2VkLlxcXCIsIG5hbWUsIG5hbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmIChpbnN0YW5jZS5kZWZhdWx0UHJvcHMpIHtcXG4gICAgICBlcnJvcignU2V0dGluZyBkZWZhdWx0UHJvcHMgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSBpZ25vcmVkLicgKyAnIEluc3RlYWQsIGRlZmluZSBkZWZhdWx0UHJvcHMgYXMgYSBzdGF0aWMgcHJvcGVydHkgb24gJXMuJywgbmFtZSwgbmFtZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlICE9PSAnZnVuY3Rpb24nICYmICFkaWRXYXJuQWJvdXRHZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZVdpdGhvdXREaWRVcGRhdGUuaGFzKGN0b3IpKSB7XFxuICAgICAgZGlkV2FybkFib3V0R2V0U25hcHNob3RCZWZvcmVVcGRhdGVXaXRob3V0RGlkVXBkYXRlLmFkZChjdG9yKTtcXG5cXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgc2hvdWxkIGJlIHVzZWQgd2l0aCBjb21wb25lbnREaWRVcGRhdGUoKS4gJyArICdUaGlzIGNvbXBvbmVudCBkZWZpbmVzIGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgb25seS4nLCBnZXRDb21wb25lbnROYW1lKGN0b3IpKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignJXM6IGdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCkgaXMgZGVmaW5lZCBhcyBhIHN0YXRpYyBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGFuIGluc3RhbmNlIG1ldGhvZC4nLCBuYW1lKTtcXG4gICAgfVxcblxcbiAgICB2YXIgX3N0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XFxuXFxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcXG4gICAgICBlcnJvcignJXMuc3RhdGU6IG11c3QgYmUgc2V0IHRvIGFuIG9iamVjdCBvciBudWxsJywgbmFtZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGN0b3IuY2hpbGRDb250ZXh0VHlwZXMgIT09ICdvYmplY3QnKSB7XFxuICAgICAgZXJyb3IoJyVzLmdldENoaWxkQ29udGV4dCgpOiBjaGlsZENvbnRleHRUeXBlcyBtdXN0IGJlIGRlZmluZWQgaW4gb3JkZXIgdG8gJyArICd1c2UgZ2V0Q2hpbGRDb250ZXh0KCkuJywgbmFtZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYWRvcHRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSkge1xcbiAgaW5zdGFuY2UudXBkYXRlciA9IGNsYXNzQ29tcG9uZW50VXBkYXRlcjtcXG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXFxuXFxuICBzZXQoaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzKTtcXG5cXG4gIHtcXG4gICAgaW5zdGFuY2UuX3JlYWN0SW50ZXJuYWxJbnN0YW5jZSA9IGZha2VJbnRlcm5hbEluc3RhbmNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xcbiAgdmFyIGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID0gZmFsc2U7XFxuICB2YXIgdW5tYXNrZWRDb250ZXh0ID0gZW1wdHlDb250ZXh0T2JqZWN0O1xcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XFxuICB2YXIgY29udGV4dFR5cGUgPSBjdG9yLmNvbnRleHRUeXBlO1xcblxcbiAge1xcbiAgICBpZiAoJ2NvbnRleHRUeXBlJyBpbiBjdG9yKSB7XFxuICAgICAgdmFyIGlzVmFsaWQgPSAvLyBBbGxvdyBudWxsIGZvciBjb25kaXRpb25hbCBkZWNsYXJhdGlvblxcbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cXG5cXG4gICAgICBpZiAoIWlzVmFsaWQgJiYgIWRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5oYXMoY3RvcikpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XFxuICAgICAgICB2YXIgYWRkZW5kdW0gPSAnJztcXG5cXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gdW5kZWZpbmVkLiAnICsgJ1RoaXMgY2FuIGJlIGNhdXNlZCBieSBhIHR5cG8gb3IgYnkgbWl4aW5nIHVwIG5hbWVkIGFuZCBkZWZhdWx0IGltcG9ydHMuICcgKyAnVGhpcyBjYW4gYWxzbyBoYXBwZW4gZHVlIHRvIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSwgc28gJyArICd0cnkgbW92aW5nIHRoZSBjcmVhdGVDb250ZXh0KCkgY2FsbCB0byBhIHNlcGFyYXRlIGZpbGUuJztcXG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbnRleHRUeXBlICE9PSAnb2JqZWN0Jykge1xcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcXG4gICAgICAgIH0gZWxzZSBpZiAoY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1BST1ZJREVSX1RZUEUpIHtcXG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuUHJvdmlkZXIgaW5zdGVhZD8nO1xcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgIC8vIDxDb250ZXh0LkNvbnN1bWVyPlxcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgcGFzcyB0aGUgQ29udGV4dC5Db25zdW1lciBpbnN0ZWFkPyc7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGFuIG9iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjb250ZXh0VHlwZSkuam9pbignLCAnKSArICd9Lic7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBlcnJvcignJXMgZGVmaW5lcyBhbiBpbnZhbGlkIGNvbnRleHRUeXBlLiAnICsgJ2NvbnRleHRUeXBlIHNob3VsZCBwb2ludCB0byB0aGUgQ29udGV4dCBvYmplY3QgcmV0dXJuZWQgYnkgUmVhY3QuY3JlYXRlQ29udGV4dCgpLiVzJywgZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JywgYWRkZW5kdW0pO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSA9PT0gJ29iamVjdCcgJiYgY29udGV4dFR5cGUgIT09IG51bGwpIHtcXG4gICAgY29udGV4dCA9IHJlYWRDb250ZXh0KGNvbnRleHRUeXBlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XFxuICAgIHZhciBjb250ZXh0VHlwZXMgPSBjdG9yLmNvbnRleHRUeXBlcztcXG4gICAgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBjb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY29udGV4dFR5cGVzICE9PSB1bmRlZmluZWQ7XFxuICAgIGNvbnRleHQgPSBpc0xlZ2FjeUNvbnRleHRDb25zdW1lciA/IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkgOiBlbXB0eUNvbnRleHRPYmplY3Q7XFxuICB9IC8vIEluc3RhbnRpYXRlIHR3aWNlIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cXG5cXG5cXG4gIHtcXG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgIG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGluc3RhbmNlID0gbmV3IGN0b3IocHJvcHMsIGNvbnRleHQpO1xcbiAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlICE9PSBudWxsICYmIGluc3RhbmNlLnN0YXRlICE9PSB1bmRlZmluZWQgPyBpbnN0YW5jZS5zdGF0ZSA6IG51bGw7XFxuICBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcXG5cXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBzdGF0ZSA9PT0gbnVsbCkge1xcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XFxuXFxuICAgICAgICBlcnJvcignYCVzYCB1c2VzIGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGJ1dCBpdHMgaW5pdGlhbCBzdGF0ZSBpcyAnICsgJyVzLiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZC4gSW5zdGVhZCwgZGVmaW5lIHRoZSBpbml0aWFsIHN0YXRlIGJ5ICcgKyAnYXNzaWduaW5nIGFuIG9iamVjdCB0byBgdGhpcy5zdGF0ZWAgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGAlc2AuICcgKyAnVGhpcyBlbnN1cmVzIHRoYXQgYGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc2AgYXJndW1lbnRzIGhhdmUgYSBjb25zaXN0ZW50IHNoYXBlLicsIGNvbXBvbmVudE5hbWUsIGluc3RhbmNlLnN0YXRlID09PSBudWxsID8gJ251bGwnIDogJ3VuZGVmaW5lZCcsIGNvbXBvbmVudE5hbWUpO1xcbiAgICAgIH1cXG4gICAgfSAvLyBJZiBuZXcgY29tcG9uZW50IEFQSXMgYXJlIGRlZmluZWQsIFxcXCJ1bnNhZmVcXFwiIGxpZmVjeWNsZXMgd29uJ3QgYmUgY2FsbGVkLlxcbiAgICAvLyBXYXJuIGFib3V0IHRoZXNlIGxpZmVjeWNsZXMgaWYgdGhleSBhcmUgcHJlc2VudC5cXG4gICAgLy8gRG9uJ3Qgd2FybiBhYm91dCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIG1ldGhvZHMgdGhvdWdoLlxcblxcblxcbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHZhciBmb3VuZFdpbGxNb3VudE5hbWUgPSBudWxsO1xcbiAgICAgIHZhciBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gbnVsbDtcXG4gICAgICB2YXIgZm91bmRXaWxsVXBkYXRlTmFtZSA9IG51bGw7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50Ll9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcXG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdjb21wb25lbnRXaWxsTW91bnQnO1xcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIGZvdW5kV2lsbE1vdW50TmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JztcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJztcXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcXG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnY29tcG9uZW50V2lsbFVwZGF0ZSc7XFxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSAnVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUnO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsIHx8IGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCkge1xcbiAgICAgICAgdmFyIF9jb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50JztcXG5cXG4gICAgICAgIHZhciBuZXdBcGlOYW1lID0gdHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nID8gJ2dldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpJyA6ICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSgpJztcXG5cXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XFxuICAgICAgICAgIGRpZFdhcm5BYm91dExlZ2FjeUxpZmVjeWNsZXNBbmREZXJpdmVkU3RhdGUuYWRkKF9jb21wb25lbnROYW1lKTtcXG5cXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcXFxuXFxcXG4nICsgJyVzIHVzZXMgJXMgYnV0IGFsc28gY29udGFpbnMgdGhlIGZvbGxvd2luZyBsZWdhY3kgbGlmZWN5Y2xlczolcyVzJXNcXFxcblxcXFxuJyArICdUaGUgYWJvdmUgbGlmZWN5Y2xlcyBzaG91bGQgYmUgcmVtb3ZlZC4gTGVhcm4gbW9yZSBhYm91dCB0aGlzIHdhcm5pbmcgaGVyZTpcXFxcbicgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMnLCBfY29tcG9uZW50TmFtZSwgbmV3QXBpTmFtZSwgZm91bmRXaWxsTW91bnROYW1lICE9PSBudWxsID8gXFxcIlxcXFxuICBcXFwiICsgZm91bmRXaWxsTW91bnROYW1lIDogJycsIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgIT09IG51bGwgPyBcXFwiXFxcXG4gIFxcXCIgKyBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lIDogJycsIGZvdW5kV2lsbFVwZGF0ZU5hbWUgIT09IG51bGwgPyBcXFwiXFxcXG4gIFxcXCIgKyBmb3VuZFdpbGxVcGRhdGVOYW1lIDogJycpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXFxuICAvLyBSZWFjdEZpYmVyQ29udGV4dCB1c3VhbGx5IHVwZGF0ZXMgdGhpcyBjYWNoZSBidXQgY2FuJ3QgZm9yIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2VzLlxcblxcblxcbiAgaWYgKGlzTGVnYWN5Q29udGV4dENvbnN1bWVyKSB7XFxuICAgIGNhY2hlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0LCBjb250ZXh0KTtcXG4gIH1cXG5cXG4gIHJldHVybiBpbnN0YW5jZTtcXG59XFxuXFxuZnVuY3Rpb24gY2FsbENvbXBvbmVudFdpbGxNb3VudCh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpIHtcXG4gIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ2NvbXBvbmVudFdpbGxNb3VudCcpO1xcbiAgdmFyIG9sZFN0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XFxuXFxuICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XFxuICB9XFxuXFxuICBzdG9wUGhhc2VUaW1lcigpO1xcblxcbiAgaWYgKG9sZFN0YXRlICE9PSBpbnN0YW5jZS5zdGF0ZSkge1xcbiAgICB7XFxuICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxNb3VudCgpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gdGhpcy5zdGF0ZSBpcyAnICsgXFxcImRlcHJlY2F0ZWQgKGV4Y2VwdCBpbnNpZGUgYSBjb21wb25lbnQncyBcXFwiICsgJ2NvbnN0cnVjdG9yKS4gVXNlIHNldFN0YXRlIGluc3RlYWQuJywgZ2V0Q29tcG9uZW50TmFtZSh3b3JrSW5Qcm9ncmVzcy50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XFxuICAgIH1cXG5cXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpIHtcXG4gIHZhciBvbGRTdGF0ZSA9IGluc3RhbmNlLnN0YXRlO1xcbiAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycpO1xcblxcbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIHN0b3BQaGFzZVRpbWVyKCk7XFxuXFxuICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IG9sZFN0YXRlKSB7XFxuICAgIHtcXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUod29ya0luUHJvZ3Jlc3MudHlwZSkgfHwgJ0NvbXBvbmVudCc7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XFxuICAgICAgICBkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xcblxcbiAgICAgICAgZXJyb3IoJyVzLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKTogQXNzaWduaW5nIGRpcmVjdGx5IHRvICcgKyBcXFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXFxcIiArICdjb25zdHJ1Y3RvcikuIFVzZSBzZXRTdGF0ZSBpbnN0ZWFkLicsIGNvbXBvbmVudE5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xcbiAgfVxcbn0gLy8gSW52b2tlcyB0aGUgbW91bnQgbGlmZS1jeWNsZXMgb24gYSBwcmV2aW91c2x5IG5ldmVyIHJlbmRlcmVkIGluc3RhbmNlLlxcblxcblxcbmZ1bmN0aW9uIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB7XFxuICAgIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpO1xcbiAgfVxcblxcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcXG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIGluc3RhbmNlLnJlZnMgPSBlbXB0eVJlZnNPYmplY3Q7XFxuICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcXG5cXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XFxuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgdW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcXG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XFxuICB9XFxuXFxuICB7XFxuICAgIGlmIChpbnN0YW5jZS5zdGF0ZSA9PT0gbmV3UHJvcHMpIHtcXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmFkZChjb21wb25lbnROYW1lKTtcXG5cXG4gICAgICAgIGVycm9yKCclczogSXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIGFzc2lnbiBwcm9wcyBkaXJlY3RseSB0byBzdGF0ZSAnICsgXFxcImJlY2F1c2UgdXBkYXRlcyB0byBwcm9wcyB3b24ndCBiZSByZWZsZWN0ZWQgaW4gc3RhdGUuIFxcXCIgKyAnSW4gbW9zdCBjYXNlcywgaXQgaXMgYmV0dGVyIHRvIHVzZSBwcm9wcyBkaXJlY3RseS4nLCBjb21wb25lbnROYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmcod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3Mod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcXG5cXG4gIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcXG4gICAgaW5zdGFuY2Uuc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcbiAgfSAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXFxuXFxuXFxuICBpZiAodHlwZW9mIGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzICE9PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAgY2FsbENvbXBvbmVudFdpbGxNb3VudCh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpOyAvLyBJZiB3ZSBoYWQgYWRkaXRpb25hbCBzdGF0ZSB1cGRhdGVzIGR1cmluZyB0aGlzIGxpZmUtY3ljbGUsIGxldCdzXFxuICAgIC8vIHByb2Nlc3MgdGhlbSBub3cuXFxuXFxuICAgIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVzdW1lTW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XFxuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xcbiAgdmFyIG9sZENvbnRleHQgPSBpbnN0YW5jZS5jb250ZXh0O1xcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcXG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcXG5cXG4gIGlmICh0eXBlb2YgY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIGNvbnRleHRUeXBlICE9PSBudWxsKSB7XFxuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIGN0b3IsIHRydWUpO1xcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQpO1xcbiAgfVxcblxcbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xcbiAgdmFyIGhhc05ld0xpZmVjeWNsZXMgPSB0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJzsgLy8gTm90ZTogRHVyaW5nIHRoZXNlIGxpZmUtY3ljbGVzLCBpbnN0YW5jZS5wcm9wcy9pbnN0YW5jZS5zdGF0ZSBhcmUgd2hhdFxcbiAgLy8gZXZlciB0aGUgcHJldmlvdXNseSBhdHRlbXB0ZWQgdG8gcmVuZGVyIC0gbm90IHRoZSBcXFwiY3VycmVudFxcXCIuIEhvd2V2ZXIsXFxuICAvLyBkdXJpbmcgY29tcG9uZW50RGlkVXBkYXRlIHdlIHBhc3MgdGhlIFxcXCJjdXJyZW50XFxcIiBwcm9wcy5cXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxcbiAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cXG5cXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xcbiAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzIHx8IG9sZENvbnRleHQgIT09IG5leHRDb250ZXh0KSB7XFxuICAgICAgY2FsbENvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlLCBuZXdQcm9wcywgbmV4dENvbnRleHQpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpO1xcbiAgdmFyIG9sZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gIHZhciBuZXdTdGF0ZSA9IGluc3RhbmNlLnN0YXRlID0gb2xkU3RhdGU7XFxuICBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIG5ld1Byb3BzLCBpbnN0YW5jZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKG9sZFByb3BzID09PSBuZXdQcm9wcyAmJiBvbGRTdGF0ZSA9PT0gbmV3U3RhdGUgJiYgIWhhc0NvbnRleHRDaGFuZ2VkKCkgJiYgIWNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSkge1xcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcXG4gICAgLy8gZWZmZWN0IGV2ZW4gdGhvdWdoIHdlJ3JlIGJhaWxpbmcgb3V0LCBzbyB0aGF0IGNXVS9jRFUgYXJlIGNhbGxlZC5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV3UHJvcHMpO1xcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB9XFxuXFxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xcblxcbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xcbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSkge1xcbiAgICAgIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ2NvbXBvbmVudFdpbGxNb3VudCcpO1xcblxcbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCk7XFxuICAgICAgfVxcblxcbiAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXFxuICAgIC8vIG1lbW9pemVkIHN0YXRlIHRvIGluZGljYXRlIHRoYXQgdGhpcyB3b3JrIGNhbiBiZSByZXVzZWQuXFxuXFxuXFxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBuZXdQcm9wcztcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXFxuICAvLyBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJucyBmYWxzZS5cXG5cXG5cXG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XFxuICBpbnN0YW5jZS5zdGF0ZSA9IG5ld1N0YXRlO1xcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcXG59IC8vIEludm9rZXMgdGhlIHVwZGF0ZSBsaWZlLWN5Y2xlcyBhbmQgcmV0dXJucyBmYWxzZSBpZiBpdCBzaG91bGRuJ3QgcmVyZW5kZXIuXFxuXFxuXFxuZnVuY3Rpb24gdXBkYXRlQ2xhc3NJbnN0YW5jZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuICBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcXG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XFxuICBpbnN0YW5jZS5wcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gb2xkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIG9sZFByb3BzKTtcXG4gIHZhciBvbGRDb250ZXh0ID0gaW5zdGFuY2UuY29udGV4dDtcXG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XFxuICB2YXIgbmV4dENvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XFxuXFxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xcbiAgICBuZXh0Q29udGV4dCA9IHJlYWRDb250ZXh0KGNvbnRleHRUeXBlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBuZXh0VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcXG4gICAgbmV4dENvbnRleHQgPSBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBuZXh0VW5tYXNrZWRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcXG4gIHZhciBoYXNOZXdMaWZlY3ljbGVzID0gdHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbic7IC8vIE5vdGU6IER1cmluZyB0aGVzZSBsaWZlLWN5Y2xlcywgaW5zdGFuY2UucHJvcHMvaW5zdGFuY2Uuc3RhdGUgYXJlIHdoYXRcXG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXFxcImN1cnJlbnRcXFwiLiBIb3dldmVyLFxcbiAgLy8gZHVyaW5nIGNvbXBvbmVudERpZFVwZGF0ZSB3ZSBwYXNzIHRoZSBcXFwiY3VycmVudFxcXCIgcHJvcHMuXFxuICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gIC8vIFVuc2FmZSBsaWZlY3ljbGVzIHNob3VsZCBub3QgYmUgaW52b2tlZCBmb3IgY29tcG9uZW50cyB1c2luZyB0aGUgbmV3IEFQSXMuXFxuXFxuICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAgaWYgKG9sZFByb3BzICE9PSBuZXdQcm9wcyB8fCBvbGRDb250ZXh0ICE9PSBuZXh0Q29udGV4dCkge1xcbiAgICAgIGNhbGxDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSwgbmV3UHJvcHMsIG5leHRDb250ZXh0KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmVzZXRIYXNGb3JjZVVwZGF0ZUJlZm9yZVByb2Nlc3NpbmcoKTtcXG4gIHZhciBvbGRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB2YXIgbmV3U3RhdGUgPSBpbnN0YW5jZS5zdGF0ZSA9IG9sZFN0YXRlO1xcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIG5ld1N0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gIGlmIChvbGRQcm9wcyA9PT0gbmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkpIHtcXG4gICAgLy8gSWYgYW4gdXBkYXRlIHdhcyBhbHJlYWR5IGluIHByb2dyZXNzLCB3ZSBzaG91bGQgc2NoZWR1bGUgYW4gVXBkYXRlXFxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgaWYgKG9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGlmIChvbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBTbmFwc2hvdDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIGN0b3IsIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcywgbmV3UHJvcHMpO1xcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB9XFxuXFxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xcblxcbiAgaWYgKHNob3VsZFVwZGF0ZSkge1xcbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cXG4gICAgaWYgKCFoYXNOZXdMaWZlY3ljbGVzICYmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpKSB7XFxuICAgICAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnY29tcG9uZW50V2lsbFVwZGF0ZScpO1xcblxcbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XFxuICAgICAgfVxcblxcbiAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU25hcHNob3Q7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxcbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGlmIChvbGRQcm9wcyAhPT0gY3VycmVudC5tZW1vaXplZFByb3BzIHx8IG9sZFN0YXRlICE9PSBjdXJyZW50Lm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBpZiAob2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU25hcHNob3Q7XFxuICAgICAgfVxcbiAgICB9IC8vIElmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5lZCBmYWxzZSwgd2Ugc2hvdWxkIHN0aWxsIHVwZGF0ZSB0aGVcXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cXG5cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7XFxuICB9IC8vIFVwZGF0ZSB0aGUgZXhpc3RpbmcgaW5zdGFuY2UncyBzdGF0ZSwgcHJvcHMsIGFuZCBjb250ZXh0IHBvaW50ZXJzIGV2ZW5cXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxcblxcblxcbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcXG4gIGluc3RhbmNlLnN0YXRlID0gbmV3U3RhdGU7XFxuICBpbnN0YW5jZS5jb250ZXh0ID0gbmV4dENvbnRleHQ7XFxuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xcbn1cXG5cXG52YXIgZGlkV2FybkFib3V0TWFwcztcXG52YXIgZGlkV2FybkFib3V0R2VuZXJhdG9ycztcXG52YXIgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcXG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xcbnZhciBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmc7XFxuXFxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkKSB7fTtcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XFxuICBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzID0gZmFsc2U7XFxuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XFxuICAvKipcXG4gICAqIFdhcm4gaWYgdGhlcmUncyBubyBrZXkgZXhwbGljaXRseSBzZXQgb24gZHluYW1pYyBhcnJheXMgb2YgY2hpbGRyZW4gb3JcXG4gICAqIG9iamVjdCBrZXlzIGFyZSBub3QgdmFsaWQuIFRoaXMgYWxsb3dzIHVzIHRvIGtlZXAgdHJhY2sgb2YgY2hpbGRyZW4gYmV0d2VlblxcbiAgICogdXBkYXRlcy5cXG4gICAqL1xcblxcbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XFxuICBvd25lckhhc0Z1bmN0aW9uVHlwZVdhcm5pbmcgPSB7fTtcXG5cXG4gIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkKSB7XFxuICAgIGlmIChjaGlsZCA9PT0gbnVsbCB8fCB0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmICghY2hpbGQuX3N0b3JlIHx8IGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgfHwgY2hpbGQua2V5ICE9IG51bGwpIHtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaWYgKCEodHlwZW9mIGNoaWxkLl9zdG9yZSA9PT0gJ29iamVjdCcpKSB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJSZWFjdCBDb21wb25lbnQgaW4gd2FybkZvck1pc3NpbmdLZXkgc2hvdWxkIGhhdmUgYSBfc3RvcmUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBjaGlsZC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcXG4gICAgdmFyIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8gPSAnRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgJyArICdcXFwia2V5XFxcIiBwcm9wLiBTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC13YXJuaW5nLWtleXMgZm9yICcgKyAnbW9yZSBpbmZvcm1hdGlvbi4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xcblxcbiAgICBpZiAob3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdFYWNoIGNoaWxkIGluIGEgbGlzdCBzaG91bGQgaGF2ZSBhIHVuaXF1ZSAnICsgJ1xcXCJrZXlcXFwiIHByb3AuIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xcbiAgfTtcXG59XFxuXFxudmFyIGlzQXJyYXkkMSA9IEFycmF5LmlzQXJyYXk7XFxuXFxuZnVuY3Rpb24gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KSB7XFxuICB2YXIgbWl4ZWRSZWYgPSBlbGVtZW50LnJlZjtcXG5cXG4gIGlmIChtaXhlZFJlZiAhPT0gbnVsbCAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG1peGVkUmVmICE9PSAnb2JqZWN0Jykge1xcbiAgICB7XFxuICAgICAgLy8gVE9ETzogQ2xlYW4gdGhpcyB1cCBvbmNlIHdlIHR1cm4gb24gdGhlIHN0cmluZyByZWYgd2FybmluZyBmb3JcXG4gICAgICAvLyBldmVyeW9uZSwgYmVjYXVzZSB0aGUgc3RyaWN0IG1vZGUgY2FzZSB3aWxsIG5vIGxvbmdlciBiZSByZWxldmFudFxcbiAgICAgIGlmICgocmV0dXJuRmliZXIubW9kZSAmIFN0cmljdE1vZGUgfHwgd2FybkFib3V0U3RyaW5nUmVmcykgJiYgLy8gV2Ugd2FybiBpbiBSZWFjdEVsZW1lbnQuanMgaWYgb3duZXIgYW5kIHNlbGYgYXJlIGVxdWFsIGZvciBzdHJpbmcgcmVmc1xcbiAgICAgIC8vIGJlY2F1c2UgdGhlc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uXFxuICAgICAgLy8gdXNpbmcgYSBjb2RlbW9kLiBUaGVyZWZvcmUsIHdlIGRvbid0IGhhdmUgdG8gd2FybiBhYm91dCBzdHJpbmcgcmVmcyBhZ2Fpbi5cXG4gICAgICAhKGVsZW1lbnQuX293bmVyICYmIGVsZW1lbnQuX3NlbGYgJiYgZWxlbWVudC5fb3duZXIuc3RhdGVOb2RlICE9PSBlbGVtZW50Ll9zZWxmKSkge1xcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHJldHVybkZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnO1xcblxcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcXFwiJXNcXFwiLCBoYXMgYmVlbiBmb3VuZCB3aXRoaW4gYSBzdHJpY3QgbW9kZSB0cmVlLiAnICsgJ1N0cmluZyByZWZzIGFyZSBhIHNvdXJjZSBvZiBwb3RlbnRpYWwgYnVncyBhbmQgc2hvdWxkIGJlIGF2b2lkZWQuICcgKyAnV2UgcmVjb21tZW5kIHVzaW5nIHVzZVJlZigpIG9yIGNyZWF0ZVJlZigpIGluc3RlYWQuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3Qtc3RyaWN0LW1vZGUtc3RyaW5nLXJlZiVzJywgbWl4ZWRSZWYsIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChyZXR1cm5GaWJlcikpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcXG4gICAgICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcXG4gICAgICB2YXIgaW5zdDtcXG5cXG4gICAgICBpZiAob3duZXIpIHtcXG4gICAgICAgIHZhciBvd25lckZpYmVyID0gb3duZXI7XFxuXFxuICAgICAgICBpZiAoIShvd25lckZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpKSB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkZ1bmN0aW9uIGNvbXBvbmVudHMgY2Fubm90IGhhdmUgc3RyaW5nIHJlZnMuIFdlIHJlY29tbWVuZCB1c2luZyB1c2VSZWYoKSBpbnN0ZWFkLiBMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6IGh0dHBzOi8vZmIubWUvcmVhY3Qtc3RyaWN0LW1vZGUtc3RyaW5nLXJlZlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgaW5zdCA9IG93bmVyRmliZXIuc3RhdGVOb2RlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoIWluc3QpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFxcXCIgKyBtaXhlZFJlZiArIFxcXCIuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgc3RyaW5nUmVmID0gJycgKyBtaXhlZFJlZjsgLy8gQ2hlY2sgaWYgcHJldmlvdXMgc3RyaW5nIHJlZiBtYXRjaGVzIG5ldyBzdHJpbmcgcmVmXFxuXFxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQucmVmO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgcmVmID0gZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgICAgICB2YXIgcmVmcyA9IGluc3QucmVmcztcXG5cXG4gICAgICAgIGlmIChyZWZzID09PSBlbXB0eVJlZnNPYmplY3QpIHtcXG4gICAgICAgICAgLy8gVGhpcyBpcyBhIGxhenkgcG9vbGVkIGZyb3plbiBvYmplY3QsIHNvIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZS5cXG4gICAgICAgICAgcmVmcyA9IGluc3QucmVmcyA9IHt9O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XFxuICAgICAgICAgIGRlbGV0ZSByZWZzW3N0cmluZ1JlZl07XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICByZWZzW3N0cmluZ1JlZl0gPSB2YWx1ZTtcXG4gICAgICAgIH1cXG4gICAgICB9O1xcblxcbiAgICAgIHJlZi5fc3RyaW5nUmVmID0gc3RyaW5nUmVmO1xcbiAgICAgIHJldHVybiByZWY7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaWYgKCEodHlwZW9mIG1peGVkUmVmID09PSAnc3RyaW5nJykpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCByZWYgdG8gYmUgYSBmdW5jdGlvbiwgYSBzdHJpbmcsIGFuIG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVSZWYoKSwgb3IgbnVsbC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmICghZWxlbWVudC5fb3duZXIpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcXFwiICsgbWl4ZWRSZWYgKyBcXFwiKSBidXQgbm8gb3duZXIgd2FzIHNldC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxcXG4xLiBZb3UgbWF5IGJlIGFkZGluZyBhIHJlZiB0byBhIGZ1bmN0aW9uIGNvbXBvbmVudFxcXFxuMi4gWW91IG1heSBiZSBhZGRpbmcgYSByZWYgdG8gYSBjb21wb25lbnQgdGhhdCB3YXMgbm90IGNyZWF0ZWQgaW5zaWRlIGEgY29tcG9uZW50J3MgcmVuZGVyIG1ldGhvZFxcXFxuMy4gWW91IGhhdmUgbXVsdGlwbGUgY29waWVzIG9mIFJlYWN0IGxvYWRlZFxcXFxuU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG1peGVkUmVmO1xcbn1cXG5cXG5mdW5jdGlvbiB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKSB7XFxuICBpZiAocmV0dXJuRmliZXIudHlwZSAhPT0gJ3RleHRhcmVhJykge1xcbiAgICB2YXIgYWRkZW5kdW0gPSAnJztcXG5cXG4gICAge1xcbiAgICAgIGFkZGVuZHVtID0gJyBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXFxcIiArIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobmV3Q2hpbGQpID09PSAnW29iamVjdCBPYmplY3RdJyA/ICdvYmplY3Qgd2l0aCBrZXlzIHsnICsgT2JqZWN0LmtleXMobmV3Q2hpbGQpLmpvaW4oJywgJykgKyAnfScgOiBuZXdDaGlsZCkgKyBcXFwiKS5cXFwiICsgYWRkZW5kdW0gKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gd2Fybk9uRnVuY3Rpb25UeXBlKCkge1xcbiAge1xcbiAgICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9ICdGdW5jdGlvbnMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkLiBUaGlzIG1heSBoYXBwZW4gaWYgJyArICd5b3UgcmV0dXJuIGEgQ29tcG9uZW50IGluc3RlYWQgb2YgPENvbXBvbmVudCAvPiBmcm9tIHJlbmRlci4gJyArICdPciBtYXliZSB5b3UgbWVhbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHJldHVybiBpdC4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xcblxcbiAgICBpZiAob3duZXJIYXNGdW5jdGlvblR5cGVXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7XFxuXFxuICAgIGVycm9yKCdGdW5jdGlvbnMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkLiBUaGlzIG1heSBoYXBwZW4gaWYgJyArICd5b3UgcmV0dXJuIGEgQ29tcG9uZW50IGluc3RlYWQgb2YgPENvbXBvbmVudCAvPiBmcm9tIHJlbmRlci4gJyArICdPciBtYXliZSB5b3UgbWVhbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHJldHVybiBpdC4nKTtcXG4gIH1cXG59IC8vIFRoaXMgd3JhcHBlciBmdW5jdGlvbiBleGlzdHMgYmVjYXVzZSBJIGV4cGVjdCB0byBjbG9uZSB0aGUgY29kZSBpbiBlYWNoIHBhdGhcXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXFxuLy8gYSBjb21waWxlciBvciB3ZSBjYW4gZG8gaXQgbWFudWFsbHkuIEhlbHBlcnMgdGhhdCBkb24ndCBuZWVkIHRoaXMgYnJhbmNoaW5nXFxuLy8gbGl2ZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24uXFxuXFxuXFxuZnVuY3Rpb24gQ2hpbGRSZWNvbmNpbGVyKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcXG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XFxuICAgIGlmICghc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgIC8vIE5vb3AuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIERlbGV0aW9ucyBhcmUgYWRkZWQgaW4gcmV2ZXJzZWQgb3JkZXIgc28gd2UgYWRkIGl0IHRvIHRoZSBmcm9udC5cXG4gICAgLy8gQXQgdGhpcyBwb2ludCwgdGhlIHJldHVybiBmaWJlcidzIGVmZmVjdCBsaXN0IGlzIGVtcHR5IGV4Y2VwdCBmb3JcXG4gICAgLy8gZGVsZXRpb25zLCBzbyB3ZSBjYW4ganVzdCBhcHBlbmQgdGhlIGRlbGV0aW9uIHRvIHRoZSBsaXN0LiBUaGUgcmVtYWluaW5nXFxuICAgIC8vIGVmZmVjdHMgYXJlbid0IGFkZGVkIHVudGlsIHRoZSBjb21wbGV0ZSBwaGFzZS4gT25jZSB3ZSBpbXBsZW1lbnRcXG4gICAgLy8gcmVzdW1pbmcsIHRoaXMgbWF5IG5vdCBiZSB0cnVlLlxcblxcblxcbiAgICB2YXIgbGFzdCA9IHJldHVybkZpYmVyLmxhc3RFZmZlY3Q7XFxuXFxuICAgIGlmIChsYXN0ICE9PSBudWxsKSB7XFxuICAgICAgbGFzdC5uZXh0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcXG4gICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICByZXR1cm5GaWJlci5maXJzdEVmZmVjdCA9IHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xcbiAgICB9XFxuXFxuICAgIGNoaWxkVG9EZWxldGUubmV4dEVmZmVjdCA9IG51bGw7XFxuICAgIGNoaWxkVG9EZWxldGUuZWZmZWN0VGFnID0gRGVsZXRpb247XFxuICB9XFxuXFxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XFxuICAgICAgLy8gTm9vcC5cXG4gICAgICByZXR1cm4gbnVsbDtcXG4gICAgfSAvLyBUT0RPOiBGb3IgdGhlIHNob3VsZENsb25lIGNhc2UsIHRoaXMgY291bGQgYmUgbWljcm8tb3B0aW1pemVkIGEgYml0IGJ5XFxuICAgIC8vIGFzc3VtaW5nIHRoYXQgYWZ0ZXIgdGhlIGZpcnN0IGNoaWxkIHdlJ3ZlIGFscmVhZHkgYWRkZWQgZXZlcnl0aGluZy5cXG5cXG5cXG4gICAgdmFyIGNoaWxkVG9EZWxldGUgPSBjdXJyZW50Rmlyc3RDaGlsZDtcXG5cXG4gICAgd2hpbGUgKGNoaWxkVG9EZWxldGUgIT09IG51bGwpIHtcXG4gICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGRUb0RlbGV0ZSk7XFxuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xcbiAgICAvLyBBZGQgdGhlIHJlbWFpbmluZyBjaGlsZHJlbiB0byBhIHRlbXBvcmFyeSBtYXAgc28gdGhhdCB3ZSBjYW4gZmluZCB0aGVtIGJ5XFxuICAgIC8vIGtleXMgcXVpY2tseS4gSW1wbGljaXQgKG51bGwpIGtleXMgZ2V0IGFkZGVkIHRvIHRoaXMgc2V0IHdpdGggdGhlaXIgaW5kZXhcXG4gICAgLy8gaW5zdGVhZC5cXG4gICAgdmFyIGV4aXN0aW5nQ2hpbGRyZW4gPSBuZXcgTWFwKCk7XFxuICAgIHZhciBleGlzdGluZ0NoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XFxuXFxuICAgIHdoaWxlIChleGlzdGluZ0NoaWxkICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGV4aXN0aW5nQ2hpbGQua2V5ICE9PSBudWxsKSB7XFxuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uc2V0KGV4aXN0aW5nQ2hpbGQuaW5kZXgsIGV4aXN0aW5nQ2hpbGQpO1xcbiAgICAgIH1cXG5cXG4gICAgICBleGlzdGluZ0NoaWxkID0gZXhpc3RpbmdDaGlsZC5zaWJsaW5nO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBleGlzdGluZ0NoaWxkcmVuO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gdXNlRmliZXIoZmliZXIsIHBlbmRpbmdQcm9wcykge1xcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxcbiAgICAvLyB0byBmb3JnZXQgdG8gZG8gYmVmb3JlIHJldHVybmluZyBpdC4gRS5nLiBmb3IgdGhlIHNpbmdsZSBjaGlsZCBjYXNlLlxcbiAgICB2YXIgY2xvbmUgPSBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhmaWJlciwgcGVuZGluZ1Byb3BzKTtcXG4gICAgY2xvbmUuaW5kZXggPSAwO1xcbiAgICBjbG9uZS5zaWJsaW5nID0gbnVsbDtcXG4gICAgcmV0dXJuIGNsb25lO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gcGxhY2VDaGlsZChuZXdGaWJlciwgbGFzdFBsYWNlZEluZGV4LCBuZXdJbmRleCkge1xcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xcblxcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcXG4gICAgICAvLyBOb29wLlxcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XFxuICAgIH1cXG5cXG4gICAgdmFyIGN1cnJlbnQgPSBuZXdGaWJlci5hbHRlcm5hdGU7XFxuXFxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIG9sZEluZGV4ID0gY3VycmVudC5pbmRleDtcXG5cXG4gICAgICBpZiAob2xkSW5kZXggPCBsYXN0UGxhY2VkSW5kZXgpIHtcXG4gICAgICAgIC8vIFRoaXMgaXMgYSBtb3ZlLlxcbiAgICAgICAgbmV3RmliZXIuZWZmZWN0VGFnID0gUGxhY2VtZW50O1xcbiAgICAgICAgcmV0dXJuIGxhc3RQbGFjZWRJbmRleDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gVGhpcyBpdGVtIGNhbiBzdGF5IGluIHBsYWNlLlxcbiAgICAgICAgcmV0dXJuIG9sZEluZGV4O1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUaGlzIGlzIGFuIGluc2VydGlvbi5cXG4gICAgICBuZXdGaWJlci5lZmZlY3RUYWcgPSBQbGFjZW1lbnQ7XFxuICAgICAgcmV0dXJuIGxhc3RQbGFjZWRJbmRleDtcXG4gICAgfVxcbiAgfVxcblxcbiAgZnVuY3Rpb24gcGxhY2VTaW5nbGVDaGlsZChuZXdGaWJlcikge1xcbiAgICAvLyBUaGlzIGlzIHNpbXBsZXIgZm9yIHRoZSBzaW5nbGUgY2hpbGQgY2FzZS4gV2Ugb25seSBuZWVkIHRvIGRvIGFcXG4gICAgLy8gcGxhY2VtZW50IGZvciBpbnNlcnRpbmcgbmV3IGNoaWxkcmVuLlxcbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cyAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcXG4gICAgICBuZXdGaWJlci5lZmZlY3RUYWcgPSBQbGFjZW1lbnQ7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIG5ld0ZpYmVyO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnQsIHRleHRDb250ZW50LCBleHBpcmF0aW9uVGltZSkge1xcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LnRhZyAhPT0gSG9zdFRleHQpIHtcXG4gICAgICAvLyBJbnNlcnRcXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbVRleHQodGV4dENvbnRlbnQsIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgIHJldHVybiBjcmVhdGVkO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFVwZGF0ZVxcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIHRleHRDb250ZW50KTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgaWYgKGN1cnJlbnQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnQudHlwZSB8fCAoIC8vIEtlZXAgdGhpcyBjaGVjayBpbmxpbmUgc28gaXQgb25seSBydW5zIG9uIHRoZSBmYWxzZSBwYXRoOlxcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSkge1xcbiAgICAgICAgLy8gTW92ZSBiYXNlZCBvbiBpbmRleFxcbiAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgZWxlbWVudC5wcm9wcyk7XFxuICAgICAgICBleGlzdGluZy5yZWYgPSBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpO1xcbiAgICAgICAgZXhpc3RpbmcucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcXG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBleGlzdGluZztcXG4gICAgICB9XFxuICAgIH0gLy8gSW5zZXJ0XFxuXFxuXFxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIGNyZWF0ZWQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KTtcXG4gICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgcmV0dXJuIGNyZWF0ZWQ7XFxuICB9XFxuXFxuICBmdW5jdGlvbiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnQsIHBvcnRhbCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RQb3J0YWwgfHwgY3VycmVudC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyAhPT0gcG9ydGFsLmNvbnRhaW5lckluZm8gfHwgY3VycmVudC5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb24gIT09IHBvcnRhbC5pbXBsZW1lbnRhdGlvbikge1xcbiAgICAgIC8vIEluc2VydFxcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gVXBkYXRlXFxuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBmcmFnbWVudCwgZXhwaXJhdGlvblRpbWUsIGtleSkge1xcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LnRhZyAhPT0gRnJhZ21lbnQpIHtcXG4gICAgICAvLyBJbnNlcnRcXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZyYWdtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgIHJldHVybiBjcmVhdGVkO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFVwZGF0ZVxcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGZyYWdtZW50KTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xcbiAgICAgIC8vIFRleHQgbm9kZXMgZG9uJ3QgaGF2ZSBrZXlzLiBJZiB0aGUgcHJldmlvdXMgbm9kZSBpcyBpbXBsaWNpdGx5IGtleWVkXFxuICAgICAgLy8gd2UgY2FuIGNvbnRpbnVlIHRvIHJlcGxhY2UgaXQgd2l0aG91dCBhYm9ydGluZyBldmVuIGlmIGl0IGlzIG5vdCBhIHRleHRcXG4gICAgICAvLyBub2RlLlxcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCgnJyArIG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gY3JlYXRlZDtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIHN3aXRjaCAobmV3Q2hpbGQuJCR0eXBlb2YpIHtcXG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIF9jcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xcbiAgICAgICAgICAgIF9jcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgICAgICAgIHJldHVybiBfY3JlYXRlZDtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHZhciBfY3JlYXRlZDIgPSBjcmVhdGVGaWJlckZyb21Qb3J0YWwobmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgICAgICAgICAgcmV0dXJuIF9jcmVhdGVkMjtcXG4gICAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoaXNBcnJheSQxKG5ld0NoaWxkKSB8fCBnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xcbiAgICAgICAgdmFyIF9jcmVhdGVkMyA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSwgbnVsbCk7XFxuXFxuICAgICAgICBfY3JlYXRlZDMucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgICAgICByZXR1cm4gX2NyZWF0ZWQzO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgd2Fybk9uRnVuY3Rpb25UeXBlKCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBVcGRhdGUgdGhlIGZpYmVyIGlmIHRoZSBrZXlzIG1hdGNoLCBvdGhlcndpc2UgcmV0dXJuIG51bGwuXFxuICAgIHZhciBrZXkgPSBvbGRGaWJlciAhPT0gbnVsbCA/IG9sZEZpYmVyLmtleSA6IG51bGw7XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAvLyBUZXh0IG5vZGVzIGRvbid0IGhhdmUga2V5cy4gSWYgdGhlIHByZXZpb3VzIG5vZGUgaXMgaW1wbGljaXRseSBrZXllZFxcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XFxuICAgICAgLy8gbm9kZS5cXG4gICAgICBpZiAoa2V5ICE9PSBudWxsKSB7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBvbGRGaWJlciwgJycgKyBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XFxuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQua2V5ID09PSBrZXkpIHtcXG4gICAgICAgICAgICAgIGlmIChuZXdDaGlsZC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLnByb3BzLmNoaWxkcmVuLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG4gICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLmtleSA9PT0ga2V5KSB7XFxuICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChpc0FycmF5JDEobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XFxuICAgICAgICBpZiAoa2V5ICE9PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lLCBudWxsKTtcXG4gICAgICB9XFxuXFxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZSgpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICAvLyBUZXh0IG5vZGVzIGRvbid0IGhhdmUga2V5cywgc28gd2UgbmVpdGhlciBoYXZlIHRvIGNoZWNrIHRoZSBvbGQgbm9yXFxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXFxuICAgICAgdmFyIG1hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0lkeCkgfHwgbnVsbDtcXG4gICAgICByZXR1cm4gdXBkYXRlVGV4dE5vZGUocmV0dXJuRmliZXIsIG1hdGNoZWRGaWJlciwgJycgKyBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XFxuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xcbiAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcXG5cXG4gICAgICAgICAgICBpZiAobmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbiwgZXhwaXJhdGlvblRpbWUsIG5ld0NoaWxkLmtleSk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIF9tYXRjaGVkRmliZXIyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3Q2hpbGQua2V5ID09PSBudWxsID8gbmV3SWR4IDogbmV3Q2hpbGQua2V5KSB8fCBudWxsO1xcblxcbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVQb3J0YWwocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChpc0FycmF5JDEobmV3Q2hpbGQpIHx8IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XFxuICAgICAgICB2YXIgX21hdGNoZWRGaWJlcjMgPSBleGlzdGluZ0NoaWxkcmVuLmdldChuZXdJZHgpIHx8IG51bGw7XFxuXFxuICAgICAgICByZXR1cm4gdXBkYXRlRnJhZ21lbnQocmV0dXJuRmliZXIsIF9tYXRjaGVkRmliZXIzLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUsIG51bGwpO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgd2Fybk9uRnVuY3Rpb25UeXBlKCk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcbiAgLyoqXFxuICAgKiBXYXJucyBpZiB0aGVyZSBpcyBhIGR1cGxpY2F0ZSBvciBtaXNzaW5nIGtleVxcbiAgICovXFxuXFxuXFxuICBmdW5jdGlvbiB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMpIHtcXG4gICAge1xcbiAgICAgIGlmICh0eXBlb2YgY2hpbGQgIT09ICdvYmplY3QnIHx8IGNoaWxkID09PSBudWxsKSB7XFxuICAgICAgICByZXR1cm4ga25vd25LZXlzO1xcbiAgICAgIH1cXG5cXG4gICAgICBzd2l0Y2ggKGNoaWxkLiQkdHlwZW9mKSB7XFxuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XFxuICAgICAgICAgIHdhcm5Gb3JNaXNzaW5nS2V5KGNoaWxkKTtcXG4gICAgICAgICAgdmFyIGtleSA9IGNoaWxkLmtleTtcXG5cXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKGtub3duS2V5cyA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgIGtub3duS2V5cyA9IG5ldyBTZXQoKTtcXG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgaWYgKCFrbm93bktleXMuaGFzKGtleSkpIHtcXG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJldHVybiBrbm93bktleXM7XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIC8vIFRoaXMgYWxnb3JpdGhtIGNhbid0IG9wdGltaXplIGJ5IHNlYXJjaGluZyBmcm9tIGJvdGggZW5kcyBzaW5jZSB3ZVxcbiAgICAvLyBkb24ndCBoYXZlIGJhY2twb2ludGVycyBvbiBmaWJlcnMuIEknbSB0cnlpbmcgdG8gc2VlIGhvdyBmYXIgd2UgY2FuIGdldFxcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxcbiAgICAvLyBhZGQgaXQgbGF0ZXIuXFxuICAgIC8vIEV2ZW4gd2l0aCBhIHR3byBlbmRlZCBvcHRpbWl6YXRpb24sIHdlJ2Qgd2FudCB0byBvcHRpbWl6ZSBmb3IgdGhlIGNhc2VcXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXFxuICAgIC8vIGdvaW5nIGZvciB0aGUgTWFwLiBJdCdkIGxpa2UgdG8gZXhwbG9yZSBoaXR0aW5nIHRoYXQgcGF0aCBmaXJzdCBpblxcbiAgICAvLyBmb3J3YXJkLW9ubHkgbW9kZSBhbmQgb25seSBnbyBmb3IgdGhlIE1hcCBvbmNlIHdlIG5vdGljZSB0aGF0IHdlIG5lZWRcXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXFxuICAgIC8vIHNlYXJjaCBidXQgdGhhdCdzIHVudXN1YWwuIEJlc2lkZXMsIGZvciB0aGUgdHdvIGVuZGVkIG9wdGltaXphdGlvbiB0b1xcbiAgICAvLyB3b3JrIG9uIEl0ZXJhYmxlcywgd2UnZCBuZWVkIHRvIGNvcHkgdGhlIHdob2xlIHNldC5cXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXFxuICAgIC8vIChhZGRpbmcgZXZlcnl0aGluZyB0byBhIE1hcCkgaW4gZm9yIGV2ZXJ5IGluc2VydC9tb3ZlLlxcbiAgICAvLyBJZiB5b3UgY2hhbmdlIHRoaXMgY29kZSwgYWxzbyB1cGRhdGUgcmVjb25jaWxlQ2hpbGRyZW5JdGVyYXRvcigpIHdoaWNoXFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxcbiAgICB7XFxuICAgICAgLy8gRmlyc3QsIHZhbGlkYXRlIGtleXMuXFxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XFxuXFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuZXdDaGlsZHJlbi5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XFxuICAgICAgICBrbm93bktleXMgPSB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG51bGw7XFxuICAgIHZhciBwcmV2aW91c05ld0ZpYmVyID0gbnVsbDtcXG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XFxuICAgIHZhciBsYXN0UGxhY2VkSW5kZXggPSAwO1xcbiAgICB2YXIgbmV3SWR4ID0gMDtcXG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XFxuXFxuICAgIGZvciAoOyBvbGRGaWJlciAhPT0gbnVsbCAmJiBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XFxuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XFxuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlcjtcXG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXIuc2libGluZztcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIG5ld0ZpYmVyID0gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkcmVuW25ld0lkeF0sIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgIC8vIFRPRE86IFRoaXMgYnJlYWtzIG9uIGVtcHR5IHNsb3RzIGxpa2UgbnVsbCBjaGlsZHJlbi4gVGhhdCdzXFxuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcXG4gICAgICAgIC8vIGJvb2xlYW4sIHVuZGVmaW5lZCwgZXRjLlxcbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XFxuICAgICAgICBpZiAob2xkRmliZXIgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXFxuICAgICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxcbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXFxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXFxuICAgICAgICAvLyBmb3IgZWFjaCBudWxsIHZhbHVlLiBIb3dldmVyLCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gY2FsbCB1cGRhdGVTbG90XFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXFxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcXG4gICAgICB9XFxuXFxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xcbiAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICB9XFxuXFxuICAgIGlmIChuZXdJZHggPT09IG5ld0NoaWxkcmVuLmxlbmd0aCkge1xcbiAgICAgIC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgbmV3IGNoaWxkcmVuLiBXZSBjYW4gZGVsZXRlIHRoZSByZXN0LlxcbiAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XFxuICAgICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICAgIH1cXG5cXG4gICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XFxuICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhbnkgbW9yZSBleGlzdGluZyBjaGlsZHJlbiB3ZSBjYW4gY2hvb3NlIGEgZmFzdCBwYXRoXFxuICAgICAgLy8gc2luY2UgdGhlIHJlc3Qgd2lsbCBhbGwgYmUgaW5zZXJ0aW9ucy5cXG4gICAgICBmb3IgKDsgbmV3SWR4IDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBuZXdJZHgrKykge1xcbiAgICAgICAgdmFyIF9uZXdGaWJlciA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZHJlbltuZXdJZHhdLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgICBpZiAoX25ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIGNvbnRpbnVlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXI7XFxuICAgICAgfVxcblxcbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxcblxcblxcbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cXG5cXG4gICAgZm9yICg7IG5ld0lkeCA8IG5ld0NoaWxkcmVuLmxlbmd0aDsgbmV3SWR4KyspIHtcXG4gICAgICB2YXIgX25ld0ZpYmVyMiA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGRyZW5bbmV3SWR4XSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChfbmV3RmliZXIyICE9PSBudWxsKSB7XFxuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyMi5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBUaGUgbmV3IGZpYmVyIGlzIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IGlmIHRoZXJlIGV4aXN0cyBhXFxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXFxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cXG4gICAgICAgICAgICAvLyBsaXN0LlxcbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjIua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyMi5rZXkpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXIyO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIyO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgIC8vIEFueSBleGlzdGluZyBjaGlsZHJlbiB0aGF0IHdlcmVuJ3QgY29uc3VtZWQgYWJvdmUgd2VyZSBkZWxldGVkLiBXZSBuZWVkXFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXFxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XFxuICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkl0ZXJhdG9yKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW5JdGVyYWJsZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgLy8gVGhpcyBpcyB0aGUgc2FtZSBpbXBsZW1lbnRhdGlvbiBhcyByZWNvbmNpbGVDaGlsZHJlbkFycmF5KCksXFxuICAgIC8vIGJ1dCB1c2luZyB0aGUgaXRlcmF0b3IgaW5zdGVhZC5cXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xcblxcbiAgICBpZiAoISh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIkFuIG9iamVjdCBpcyBub3QgYW4gaXRlcmFibGUuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgLy8gV2UgZG9uJ3Qgc3VwcG9ydCByZW5kZXJpbmcgR2VuZXJhdG9ycyBiZWNhdXNlIGl0J3MgYSBtdXRhdGlvbi5cXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjk5NVxcbiAgICAgIGlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgdG9TdHJpbmdUYWdcXG4gICAgICBuZXdDaGlsZHJlbkl0ZXJhYmxlW1N5bWJvbC50b1N0cmluZ1RhZ10gPT09ICdHZW5lcmF0b3InKSB7XFxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dEdlbmVyYXRvcnMpIHtcXG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIEdlbmVyYXRvcnMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzIGJlY2F1c2UgZW51bWVyYXRpbmcgYSBnZW5lcmF0b3IgbXV0YXRlcyBpdC4gJyArICdZb3UgbWF5IGNvbnZlcnQgaXQgdG8gYW4gYXJyYXkgd2l0aCBgQXJyYXkuZnJvbSgpYCBvciB0aGUgJyArICdgWy4uLnNwcmVhZF1gIG9wZXJhdG9yIGJlZm9yZSByZW5kZXJpbmcuIEtlZXAgaW4gbWluZCAnICsgJ3lvdSBtaWdodCBuZWVkIHRvIHBvbHlmaWxsIHRoZXNlIGZlYXR1cmVzIGZvciBvbGRlciBicm93c2Vycy4nKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSB0cnVlO1xcbiAgICAgIH0gLy8gV2FybiBhYm91dCB1c2luZyBNYXBzIGFzIGNoaWxkcmVuXFxuXFxuXFxuICAgICAgaWYgKG5ld0NoaWxkcmVuSXRlcmFibGUuZW50cmllcyA9PT0gaXRlcmF0b3JGbikge1xcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNYXBzKSB7XFxuICAgICAgICAgIGVycm9yKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIHVuc3VwcG9ydGVkIGFuZCB3aWxsIGxpa2VseSB5aWVsZCAnICsgJ3VuZXhwZWN0ZWQgcmVzdWx0cy4gQ29udmVydCBpdCB0byBhIHNlcXVlbmNlL2l0ZXJhYmxlIG9mIGtleWVkICcgKyAnUmVhY3RFbGVtZW50cyBpbnN0ZWFkLicpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XFxuICAgICAgfSAvLyBGaXJzdCwgdmFsaWRhdGUga2V5cy5cXG4gICAgICAvLyBXZSdsbCBnZXQgYSBkaWZmZXJlbnQgaXRlcmF0b3IgbGF0ZXIgZm9yIHRoZSBtYWluIHBhc3MuXFxuXFxuXFxuICAgICAgdmFyIF9uZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcXG5cXG4gICAgICBpZiAoX25ld0NoaWxkcmVuKSB7XFxuICAgICAgICB2YXIga25vd25LZXlzID0gbnVsbDtcXG5cXG4gICAgICAgIHZhciBfc3RlcCA9IF9uZXdDaGlsZHJlbi5uZXh0KCk7XFxuXFxuICAgICAgICBmb3IgKDsgIV9zdGVwLmRvbmU7IF9zdGVwID0gX25ld0NoaWxkcmVuLm5leHQoKSkge1xcbiAgICAgICAgICB2YXIgY2hpbGQgPSBfc3RlcC52YWx1ZTtcXG4gICAgICAgICAga25vd25LZXlzID0gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIG5ld0NoaWxkcmVuID0gaXRlcmF0b3JGbi5jYWxsKG5ld0NoaWxkcmVuSXRlcmFibGUpO1xcblxcbiAgICBpZiAoIShuZXdDaGlsZHJlbiAhPSBudWxsKSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiQW4gaXRlcmFibGUgb2JqZWN0IHByb3ZpZGVkIG5vIGl0ZXJhdG9yLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBudWxsO1xcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XFxuICAgIHZhciBvbGRGaWJlciA9IGN1cnJlbnRGaXJzdENoaWxkO1xcbiAgICB2YXIgbGFzdFBsYWNlZEluZGV4ID0gMDtcXG4gICAgdmFyIG5ld0lkeCA9IDA7XFxuICAgIHZhciBuZXh0T2xkRmliZXIgPSBudWxsO1xcbiAgICB2YXIgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKTtcXG5cXG4gICAgZm9yICg7IG9sZEZpYmVyICE9PSBudWxsICYmICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XFxuICAgICAgaWYgKG9sZEZpYmVyLmluZGV4ID4gbmV3SWR4KSB7XFxuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlcjtcXG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXIuc2libGluZztcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIG5ld0ZpYmVyID0gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIHN0ZXAudmFsdWUsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICBpZiAobmV3RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgIC8vIFRPRE86IFRoaXMgYnJlYWtzIG9uIGVtcHR5IHNsb3RzIGxpa2UgbnVsbCBjaGlsZHJlbi4gVGhhdCdzXFxuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXFxuICAgICAgICAvLyBhIGJldHRlciB3YXkgdG8gY29tbXVuaWNhdGUgd2hldGhlciB0aGlzIHdhcyBhIG1pc3Mgb3IgbnVsbCxcXG4gICAgICAgIC8vIGJvb2xlYW4sIHVuZGVmaW5lZCwgZXRjLlxcbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XFxuICAgICAgICBpZiAob2xkRmliZXIgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxcbiAgICAgICAgICAvLyBuZWVkIHRvIGRlbGV0ZSB0aGUgZXhpc3RpbmcgY2hpbGQuXFxuICAgICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxcbiAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IG5ld0ZpYmVyO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXFxuICAgICAgICAvLyBJLmUuIGlmIHdlIGhhZCBudWxsIHZhbHVlcyBiZWZvcmUsIHRoZW4gd2Ugd2FudCB0byBkZWZlciB0aGlzXFxuICAgICAgICAvLyBmb3IgZWFjaCBudWxsIHZhbHVlLiBIb3dldmVyLCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gY2FsbCB1cGRhdGVTbG90XFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXFxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBuZXdGaWJlcjtcXG4gICAgICB9XFxuXFxuICAgICAgcHJldmlvdXNOZXdGaWJlciA9IG5ld0ZpYmVyO1xcbiAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xcbiAgICB9XFxuXFxuICAgIGlmIChzdGVwLmRvbmUpIHtcXG4gICAgICAvLyBXZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIG5ldyBjaGlsZHJlbi4gV2UgY2FuIGRlbGV0ZSB0aGUgcmVzdC5cXG4gICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xcbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xcbiAgICB9XFxuXFxuICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW55IG1vcmUgZXhpc3RpbmcgY2hpbGRyZW4gd2UgY2FuIGNob29zZSBhIGZhc3QgcGF0aFxcbiAgICAgIC8vIHNpbmNlIHRoZSByZXN0IHdpbGwgYWxsIGJlIGluc2VydGlvbnMuXFxuICAgICAgZm9yICg7ICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XFxuICAgICAgICB2YXIgX25ld0ZpYmVyMyA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBzdGVwLnZhbHVlLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgICBpZiAoX25ld0ZpYmVyMyA9PT0gbnVsbCkge1xcbiAgICAgICAgICBjb250aW51ZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQoX25ld0ZpYmVyMywgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xcblxcbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxcbiAgICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gX25ld0ZpYmVyMztcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjM7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyMztcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICAgIH0gLy8gQWRkIGFsbCBjaGlsZHJlbiB0byBhIGtleSBtYXAgZm9yIHF1aWNrIGxvb2t1cHMuXFxuXFxuXFxuICAgIHZhciBleGlzdGluZ0NoaWxkcmVuID0gbWFwUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTsgLy8gS2VlcCBzY2FubmluZyBhbmQgdXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBkZWxldGVkIGl0ZW1zIGFzIG1vdmVzLlxcblxcbiAgICBmb3IgKDsgIXN0ZXAuZG9uZTsgbmV3SWR4KyssIHN0ZXAgPSBuZXdDaGlsZHJlbi5uZXh0KCkpIHtcXG4gICAgICB2YXIgX25ld0ZpYmVyNCA9IHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgc3RlcC52YWx1ZSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChfbmV3RmliZXI0ICE9PSBudWxsKSB7XFxuICAgICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBUaGUgbmV3IGZpYmVyIGlzIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IGlmIHRoZXJlIGV4aXN0cyBhXFxuICAgICAgICAgICAgLy8gY3VycmVudCwgdGhhdCBtZWFucyB0aGF0IHdlIHJldXNlZCB0aGUgZmliZXIuIFdlIG5lZWQgdG8gZGVsZXRlXFxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cXG4gICAgICAgICAgICAvLyBsaXN0LlxcbiAgICAgICAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZGVsZXRlKF9uZXdGaWJlcjQua2V5ID09PSBudWxsID8gbmV3SWR4IDogX25ld0ZpYmVyNC5rZXkpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcXG5cXG4gICAgICAgIGlmIChwcmV2aW91c05ld0ZpYmVyID09PSBudWxsKSB7XFxuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyNDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXI0O1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xcbiAgICAgIC8vIEFueSBleGlzdGluZyBjaGlsZHJlbiB0aGF0IHdlcmVuJ3QgY29uc3VtZWQgYWJvdmUgd2VyZSBkZWxldGVkLiBXZSBuZWVkXFxuICAgICAgLy8gdG8gYWRkIHRoZW0gdG8gdGhlIGRlbGV0aW9uIGxpc3QuXFxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XFxuICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlc3VsdGluZ0ZpcnN0Q2hpbGQ7XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50LCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcXG4gICAgLy8gd2F5IHRvIGRlZmluZSB0aGVtLlxcbiAgICBpZiAoY3VycmVudEZpcnN0Q2hpbGQgIT09IG51bGwgJiYgY3VycmVudEZpcnN0Q2hpbGQudGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcXG4gICAgICAvLyB0aGUgcmVzdC5cXG4gICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQuc2libGluZyk7XFxuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcXG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcXG4gICAgLy8gYW5kIGRlbGV0ZSB0aGUgZXhpc3Rpbmcgb25lcy5cXG5cXG5cXG4gICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkKTtcXG4gICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KHRleHRDb250ZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuICAgIHJldHVybiBjcmVhdGVkO1xcbiAgfVxcblxcbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIHZhciBrZXkgPSBlbGVtZW50LmtleTtcXG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XFxuXFxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXFxuICAgICAgLy8gdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3QuXFxuICAgICAgaWYgKGNoaWxkLmtleSA9PT0ga2V5KSB7XFxuICAgICAgICBzd2l0Y2ggKGNoaWxkLnRhZykge1xcbiAgICAgICAgICBjYXNlIEZyYWdtZW50OlxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcXG4gICAgICAgICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkLnNpYmxpbmcpO1xcbiAgICAgICAgICAgICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjaGlsZCwgZWxlbWVudC5wcm9wcy5jaGlsZHJlbik7XFxuICAgICAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xcblxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xcbiAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nO1xcbiAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICBjYXNlIEJsb2NrOlxcblxcbiAgICAgICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IGZhbGx0aHJvdWdoIGhlcmUgaWYgZW5hYmxlQmxvY2tzQVBJIGlzIG5vdCBvbi5cXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lZCBuby1mYWxsdGhyb3VnaFxcblxcbiAgICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGlmIChjaGlsZC5lbGVtZW50VHlwZSA9PT0gZWxlbWVudC50eXBlIHx8ICggLy8gS2VlcCB0aGlzIGNoZWNrIGlubGluZSBzbyBpdCBvbmx5IHJ1bnMgb24gdGhlIGZhbHNlIHBhdGg6XFxuICAgICAgICAgICAgICAgaXNDb21wYXRpYmxlRmFtaWx5Rm9ySG90UmVsb2FkaW5nKGNoaWxkLCBlbGVtZW50KSApKSB7XFxuICAgICAgICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcXG5cXG4gICAgICAgICAgICAgICAgdmFyIF9leGlzdGluZzMgPSB1c2VGaWJlcihjaGlsZCwgZWxlbWVudC5wcm9wcyk7XFxuXFxuICAgICAgICAgICAgICAgIF9leGlzdGluZzMucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjaGlsZCwgZWxlbWVudCk7XFxuICAgICAgICAgICAgICAgIF9leGlzdGluZzMucmV0dXJuID0gcmV0dXJuRmliZXI7XFxuXFxuICAgICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgICBfZXhpc3RpbmczLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcXG4gICAgICAgICAgICAgICAgICBfZXhpc3RpbmczLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9leGlzdGluZzM7XFxuICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICB9XFxuICAgICAgICB9IC8vIERpZG4ndCBtYXRjaC5cXG5cXG5cXG4gICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZCk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcXG4gICAgICB9XFxuXFxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xcbiAgICB9XFxuXFxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcXG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnQucHJvcHMuY2hpbGRyZW4sIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lLCBlbGVtZW50LmtleSk7XFxuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gY3JlYXRlZDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgX2NyZWF0ZWQ0ID0gY3JlYXRlRmliZXJGcm9tRWxlbWVudChlbGVtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgX2NyZWF0ZWQ0LnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIGVsZW1lbnQpO1xcbiAgICAgIF9jcmVhdGVkNC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcXG4gICAgICByZXR1cm4gX2NyZWF0ZWQ0O1xcbiAgICB9XFxuICB9XFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVQb3J0YWwocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBwb3J0YWwsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIHZhciBrZXkgPSBwb3J0YWwua2V5O1xcbiAgICB2YXIgY2hpbGQgPSBjdXJyZW50Rmlyc3RDaGlsZDtcXG5cXG4gICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgLy8gVE9ETzogSWYga2V5ID09PSBudWxsIGFuZCBjaGlsZC5rZXkgPT09IG51bGwsIHRoZW4gdGhpcyBvbmx5IGFwcGxpZXMgdG9cXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cXG4gICAgICBpZiAoY2hpbGQua2V5ID09PSBrZXkpIHtcXG4gICAgICAgIGlmIChjaGlsZC50YWcgPT09IEhvc3RQb3J0YWwgJiYgY2hpbGQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8gPT09IHBvcnRhbC5jb250YWluZXJJbmZvICYmIGNoaWxkLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiA9PT0gcG9ydGFsLmltcGxlbWVudGF0aW9uKSB7XFxuICAgICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZC5zaWJsaW5nKTtcXG4gICAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY2hpbGQsIHBvcnRhbC5jaGlsZHJlbiB8fCBbXSk7XFxuICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcXG4gICAgICB9XFxuXFxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xcbiAgICB9XFxuXFxuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tUG9ydGFsKHBvcnRhbCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgICByZXR1cm4gY3JlYXRlZDtcXG4gIH0gLy8gVGhpcyBBUEkgd2lsbCB0YWcgdGhlIGNoaWxkcmVuIHdpdGggdGhlIHNpZGUtZWZmZWN0IG9mIHRoZSByZWNvbmNpbGlhdGlvblxcbiAgLy8gaXRzZWxmLiBUaGV5IHdpbGwgYmUgYWRkZWQgdG8gdGhlIHNpZGUtZWZmZWN0IGxpc3QgYXMgd2UgcGFzcyB0aHJvdWdoIHRoZVxcbiAgLy8gY2hpbGRyZW4gYW5kIHRoZSBwYXJlbnQuXFxuXFxuXFxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZEZpYmVycyhyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCByZWN1cnNpdmUuXFxuICAgIC8vIElmIHRoZSB0b3AgbGV2ZWwgaXRlbSBpcyBhbiBhcnJheSwgd2UgdHJlYXQgaXQgYXMgYSBzZXQgb2YgY2hpbGRyZW4sXFxuICAgIC8vIG5vdCBhcyBhIGZyYWdtZW50LiBOZXN0ZWQgYXJyYXlzIG9uIHRoZSBvdGhlciBoYW5kIHdpbGwgYmUgdHJlYXRlZCBhc1xcbiAgICAvLyBmcmFnbWVudCBub2Rlcy4gUmVjdXJzaW9uIGhhcHBlbnMgYXQgdGhlIG5vcm1hbCBmbG93LlxcbiAgICAvLyBIYW5kbGUgdG9wIGxldmVsIHVua2V5ZWQgZnJhZ21lbnRzIGFzIGlmIHRoZXkgd2VyZSBhcnJheXMuXFxuICAgIC8vIFRoaXMgbGVhZHMgdG8gYW4gYW1iaWd1aXR5IGJldHdlZW4gPD57Wy4uLl19PC8+IGFuZCA8Pi4uLjwvPi5cXG4gICAgLy8gV2UgdHJlYXQgdGhlIGFtYmlndW91cyBjYXNlcyBhYm92ZSB0aGUgc2FtZS5cXG4gICAgdmFyIGlzVW5rZXllZFRvcExldmVsRnJhZ21lbnQgPSB0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsICYmIG5ld0NoaWxkLnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUgJiYgbmV3Q2hpbGQua2V5ID09PSBudWxsO1xcblxcbiAgICBpZiAoaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xcbiAgICAgIG5ld0NoaWxkID0gbmV3Q2hpbGQucHJvcHMuY2hpbGRyZW47XFxuICAgIH0gLy8gSGFuZGxlIG9iamVjdCB0eXBlc1xcblxcblxcbiAgICB2YXIgaXNPYmplY3QgPSB0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsO1xcblxcbiAgICBpZiAoaXNPYmplY3QpIHtcXG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XFxuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcXG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlRWxlbWVudChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkpO1xcblxcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICAgICAgcmV0dXJuIHBsYWNlU2luZ2xlQ2hpbGQocmVjb25jaWxlU2luZ2xlUG9ydGFsKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcXG4gICAgICByZXR1cm4gcGxhY2VTaW5nbGVDaGlsZChyZWNvbmNpbGVTaW5nbGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsICcnICsgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGlzQXJyYXkkMShuZXdDaGlsZCkpIHtcXG4gICAgICByZXR1cm4gcmVjb25jaWxlQ2hpbGRyZW5BcnJheShyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGdldEl0ZXJhdG9yRm4obmV3Q2hpbGQpKSB7XFxuICAgICAgcmV0dXJuIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIGlmIChpc09iamVjdCkge1xcbiAgICAgIHRocm93T25JbnZhbGlkT2JqZWN0VHlwZShyZXR1cm5GaWJlciwgbmV3Q2hpbGQpO1xcbiAgICB9XFxuXFxuICAgIHtcXG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUoKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3VuZGVmaW5lZCcgJiYgIWlzVW5rZXllZFRvcExldmVsRnJhZ21lbnQpIHtcXG4gICAgICAvLyBJZiB0aGUgbmV3IGNoaWxkIGlzIHVuZGVmaW5lZCwgYW5kIHRoZSByZXR1cm4gZmliZXIgaXMgYSBjb21wb3NpdGVcXG4gICAgICAvLyBjb21wb25lbnQsIHRocm93IGFuIGVycm9yLiBJZiBGaWJlciByZXR1cm4gdHlwZXMgYXJlIGRpc2FibGVkLFxcbiAgICAgIC8vIHdlIGFscmVhZHkgdGhyZXcgYWJvdmUuXFxuICAgICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSByZXR1cm5GaWJlci5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucmVuZGVyLl9pc01vY2tGdW5jdGlvbikge1xcbiAgICAgICAgICAgICAgICAvLyBXZSBhbGxvdyBhdXRvLW1vY2tzIHRvIHByb2NlZWQgYXMgaWYgdGhleSdyZSByZXR1cm5pbmcgbnVsbC5cXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGZhbGwgdGhyb3VnaCB0byB0aGUgbmV4dCBjYXNlLCB3aGljaCBoYW5kbGVzIGJvdGhcXG4gICAgICAgIC8vIGZ1bmN0aW9ucyBhbmQgY2xhc3Nlc1xcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lZCBuby1mYWxsdGhyb3VnaFxcblxcbiAgICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHZhciBDb21wb25lbnQgPSByZXR1cm5GaWJlci50eXBlO1xcblxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIChDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcpICsgXFxcIiguLi4pOiBOb3RoaW5nIHdhcyByZXR1cm5lZCBmcm9tIHJlbmRlci4gVGhpcyB1c3VhbGx5IG1lYW5zIGEgcmV0dXJuIHN0YXRlbWVudCBpcyBtaXNzaW5nLiBPciwgdG8gcmVuZGVyIG5vdGhpbmcsIHJldHVybiBudWxsLlxcXCIgKTtcXG4gICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cXG5cXG5cXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XFxuICB9XFxuXFxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XFxufVxcblxcbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcXG52YXIgbW91bnRDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcihmYWxzZSk7XFxuZnVuY3Rpb24gY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xcbiAgaWYgKCEoY3VycmVudCA9PT0gbnVsbCB8fCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gY3VycmVudC5jaGlsZCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiUmVzdW1pbmcgd29yayBub3QgeWV0IGltcGxlbWVudGVkLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzLmNoaWxkID09PSBudWxsKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBjdXJyZW50Q2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgY3VycmVudENoaWxkLnBlbmRpbmdQcm9wcyk7XFxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG5ld0NoaWxkO1xcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XFxuXFxuICB3aGlsZSAoY3VycmVudENoaWxkLnNpYmxpbmcgIT09IG51bGwpIHtcXG4gICAgY3VycmVudENoaWxkID0gY3VycmVudENoaWxkLnNpYmxpbmc7XFxuICAgIG5ld0NoaWxkID0gbmV3Q2hpbGQuc2libGluZyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgY3VycmVudENoaWxkLnBlbmRpbmdQcm9wcyk7XFxuICAgIG5ld0NoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgfVxcblxcbiAgbmV3Q2hpbGQuc2libGluZyA9IG51bGw7XFxufSAvLyBSZXNldCBhIHdvcmtJblByb2dyZXNzIGNoaWxkIHNldCB0byBwcmVwYXJlIGl0IGZvciBhIHNlY29uZCBwYXNzLlxcblxcbmZ1bmN0aW9uIHJlc2V0Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgY2hpbGQgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICByZXNldFdvcmtJblByb2dyZXNzKGNoaWxkLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcXG4gIH1cXG59XFxuXFxudmFyIE5PX0NPTlRFWFQgPSB7fTtcXG52YXIgY29udGV4dFN0YWNrQ3Vyc29yJDEgPSBjcmVhdGVDdXJzb3IoTk9fQ09OVEVYVCk7XFxudmFyIGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKE5PX0NPTlRFWFQpO1xcbnZhciByb290SW5zdGFuY2VTdGFja0N1cnNvciA9IGNyZWF0ZUN1cnNvcihOT19DT05URVhUKTtcXG5cXG5mdW5jdGlvbiByZXF1aXJlZENvbnRleHQoYykge1xcbiAgaWYgKCEoYyAhPT0gTk9fQ09OVEVYVCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiRXhwZWN0ZWQgaG9zdCBjb250ZXh0IHRvIGV4aXN0LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGM7XFxufVxcblxcbmZ1bmN0aW9uIGdldFJvb3RIb3N0Q29udGFpbmVyKCkge1xcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcXG4gIHJldHVybiByb290SW5zdGFuY2U7XFxufVxcblxcbmZ1bmN0aW9uIHB1c2hIb3N0Q29udGFpbmVyKGZpYmVyLCBuZXh0Um9vdEluc3RhbmNlKSB7XFxuICAvLyBQdXNoIGN1cnJlbnQgcm9vdCBpbnN0YW5jZSBvbnRvIHRoZSBzdGFjaztcXG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXFxuICBwdXNoKHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLCBuZXh0Um9vdEluc3RhbmNlLCBmaWJlcik7IC8vIFRyYWNrIHRoZSBjb250ZXh0IGFuZCB0aGUgRmliZXIgdGhhdCBwcm92aWRlZCBpdC5cXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cXG5cXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7IC8vIEZpbmFsbHksIHdlIG5lZWQgdG8gcHVzaCB0aGUgaG9zdCBjb250ZXh0IHRvIHRoZSBzdGFjay5cXG4gIC8vIEhvd2V2ZXIsIHdlIGNhbid0IGp1c3QgY2FsbCBnZXRSb290SG9zdENvbnRleHQoKSBhbmQgcHVzaCBpdCBiZWNhdXNlXFxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxcbiAgLy8gd2hldGhlciBnZXRSb290SG9zdENvbnRleHQoKSB0aHJvd3Mgc29tZXdoZXJlIGluIHJlbmRlcmVyIGNvZGUgb3Igbm90LlxcbiAgLy8gU28gd2UgcHVzaCBhbiBlbXB0eSB2YWx1ZSBmaXJzdC4gVGhpcyBsZXRzIHVzIHNhZmVseSB1bndpbmQgb24gZXJyb3JzLlxcblxcbiAgcHVzaChjb250ZXh0U3RhY2tDdXJzb3IkMSwgTk9fQ09OVEVYVCwgZmliZXIpO1xcbiAgdmFyIG5leHRSb290Q29udGV4dCA9IGdldFJvb3RIb3N0Q29udGV4dChuZXh0Um9vdEluc3RhbmNlKTsgLy8gTm93IHRoYXQgd2Uga25vdyB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgdGhyb3csIHJlcGxhY2UgaXQuXFxuXFxuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcXG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRSb290Q29udGV4dCwgZmliZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BIb3N0Q29udGFpbmVyKGZpYmVyKSB7XFxuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcXG4gIHBvcChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIpO1xcbiAgcG9wKHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLCBmaWJlcik7XFxufVxcblxcbmZ1bmN0aW9uIGdldEhvc3RDb250ZXh0KCkge1xcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XFxuICByZXR1cm4gY29udGV4dDtcXG59XFxuXFxuZnVuY3Rpb24gcHVzaEhvc3RDb250ZXh0KGZpYmVyKSB7XFxuICB2YXIgcm9vdEluc3RhbmNlID0gcmVxdWlyZWRDb250ZXh0KHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yLmN1cnJlbnQpO1xcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XFxuICB2YXIgbmV4dENvbnRleHQgPSBnZXRDaGlsZEhvc3RDb250ZXh0KGNvbnRleHQsIGZpYmVyLnR5cGUpOyAvLyBEb24ndCBwdXNoIHRoaXMgRmliZXIncyBjb250ZXh0IHVubGVzcyBpdCdzIHVuaXF1ZS5cXG5cXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xcbiAgICByZXR1cm47XFxuICB9IC8vIFRyYWNrIHRoZSBjb250ZXh0IGFuZCB0aGUgRmliZXIgdGhhdCBwcm92aWRlZCBpdC5cXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cXG5cXG5cXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XFxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Q29udGV4dCwgZmliZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiBwb3BIb3N0Q29udGV4dChmaWJlcikge1xcbiAgLy8gRG8gbm90IHBvcCB1bmxlc3MgdGhpcyBGaWJlciBwcm92aWRlZCB0aGUgY3VycmVudCBjb250ZXh0LlxcbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXFxuICBpZiAoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IuY3VycmVudCAhPT0gZmliZXIpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgcG9wKGNvbnRleHRTdGFja0N1cnNvciQxLCBmaWJlcik7XFxuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcXG59XFxuXFxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcXG4vLyBpbmhlcml0ZWQgZGVlcGx5IGRvd24gdGhlIHN1YnRyZWUuIFRoZSB1cHBlciBiaXRzIG9ubHkgYWZmZWN0XFxuLy8gdGhpcyBpbW1lZGlhdGUgc3VzcGVuc2UgYm91bmRhcnkgYW5kIGdldHMgcmVzZXQgZWFjaCBuZXdcXG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxcblxcbnZhciBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzayA9IDE7IC8vIFN1YnRyZWUgRmxhZ3M6XFxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXFxuLy8gYm91bmRhcmllcyBpcyBub3QgY3VycmVudGx5IHNob3dpbmcgdmlzaWJsZSBtYWluIGNvbnRlbnQuXFxuLy8gRWl0aGVyIGJlY2F1c2UgaXQgaXMgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgb3IgaXMgbm90IG1vdW50ZWQgYXQgYWxsLlxcbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxcbi8vIHRoZSBwYXJlbnQuIElmIG5vdCwgdGhlbiB3ZSBtaWdodCBuZWVkIHRvIHRyaWdnZXIgdW5kZXNpcmFibGUgYm91bmRhcmllc1xcbi8vIGFuZC9vciBzdXNwZW5kIHRoZSBjb21taXQgdG8gYXZvaWQgaGlkaW5nIHRoZSBwYXJlbnQgY29udGVudC5cXG5cXG52YXIgSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0ID0gMTsgLy8gU2hhbGxvdyBGbGFnczpcXG4vLyBGb3JjZVN1c3BlbnNlRmFsbGJhY2sgY2FuIGJlIHVzZWQgYnkgU3VzcGVuc2VMaXN0IHRvIGZvcmNlIG5ld2x5IGFkZGVkXFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxcblxcbnZhciBGb3JjZVN1c3BlbnNlRmFsbGJhY2sgPSAyO1xcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xcbmZ1bmN0aW9uIGhhc1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0LCBmbGFnKSB7XFxuICByZXR1cm4gKHBhcmVudENvbnRleHQgJiBmbGFnKSAhPT0gMDtcXG59XFxuZnVuY3Rpb24gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCkge1xcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgJiBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzaztcXG59XFxuZnVuY3Rpb24gc2V0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0LCBzaGFsbG93Q29udGV4dCkge1xcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgJiBTdWJ0cmVlU3VzcGVuc2VDb250ZXh0TWFzayB8IHNoYWxsb3dDb250ZXh0O1xcbn1cXG5mdW5jdGlvbiBhZGRTdWJ0cmVlU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHN1YnRyZWVDb250ZXh0KSB7XFxuICByZXR1cm4gcGFyZW50Q29udGV4dCB8IHN1YnRyZWVDb250ZXh0O1xcbn1cXG5mdW5jdGlvbiBwdXNoU3VzcGVuc2VDb250ZXh0KGZpYmVyLCBuZXdDb250ZXh0KSB7XFxuICBwdXNoKHN1c3BlbnNlU3RhY2tDdXJzb3IsIG5ld0NvbnRleHQsIGZpYmVyKTtcXG59XFxuZnVuY3Rpb24gcG9wU3VzcGVuc2VDb250ZXh0KGZpYmVyKSB7XFxuICBwb3Aoc3VzcGVuc2VTdGFja0N1cnNvciwgZmliZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiBzaG91bGRDYXB0dXJlU3VzcGVuc2Uod29ya0luUHJvZ3Jlc3MsIGhhc0ludmlzaWJsZVBhcmVudCkge1xcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcXG4gIC8vIGZhbGxiYWNrLiBPdGhlcndpc2UsIGRvbid0IGNhcHR1cmUgYW5kIGJ1YmJsZSB0byB0aGUgbmV4dCBib3VuZGFyeS5cXG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKG5leHRTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICBpZiAobmV4dFN0YXRlLmRlaHlkcmF0ZWQgIT09IG51bGwpIHtcXG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxcbiAgICAgIHJldHVybiB0cnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7IC8vIEluIG9yZGVyIHRvIGNhcHR1cmUsIHRoZSBTdXNwZW5zZSBjb21wb25lbnQgbXVzdCBoYXZlIGEgZmFsbGJhY2sgcHJvcC5cXG5cXG4gIGlmIChwcm9wcy5mYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH0gLy8gUmVndWxhciBib3VuZGFyaWVzIGFsd2F5cyBjYXB0dXJlLlxcblxcblxcbiAgaWYgKHByb3BzLnVuc3RhYmxlX2F2b2lkVGhpc0ZhbGxiYWNrICE9PSB0cnVlKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfSAvLyBJZiBpdCdzIGEgYm91bmRhcnkgd2Ugc2hvdWxkIGF2b2lkLCB0aGVuIHdlIHByZWZlciB0byBidWJibGUgdXAgdG8gdGhlXFxuICAvLyBwYXJlbnQgYm91bmRhcnkgaWYgaXQgaXMgY3VycmVudGx5IGludmlzaWJsZS5cXG5cXG5cXG4gIGlmIChoYXNJbnZpc2libGVQYXJlbnQpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfSAvLyBJZiB0aGUgcGFyZW50IGlzIG5vdCBhYmxlIHRvIGhhbmRsZSBpdCwgd2UgbXVzdCBoYW5kbGUgaXQuXFxuXFxuXFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuZnVuY3Rpb24gZmluZEZpcnN0U3VzcGVuZGVkKHJvdykge1xcbiAgdmFyIG5vZGUgPSByb3c7XFxuXFxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xcbiAgICBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgICAgdmFyIHN0YXRlID0gbm9kZS5tZW1vaXplZFN0YXRlO1xcblxcbiAgICAgIGlmIChzdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAgICAgdmFyIGRlaHlkcmF0ZWQgPSBzdGF0ZS5kZWh5ZHJhdGVkO1xcblxcbiAgICAgICAgaWYgKGRlaHlkcmF0ZWQgPT09IG51bGwgfHwgaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhkZWh5ZHJhdGVkKSB8fCBpc1N1c3BlbnNlSW5zdGFuY2VGYWxsYmFjayhkZWh5ZHJhdGVkKSkge1xcbiAgICAgICAgICByZXR1cm4gbm9kZTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCAmJiAvLyByZXZlYWxPcmRlciB1bmRlZmluZWQgY2FuJ3QgYmUgdHJ1c3RlZCBiZWNhdXNlIGl0IGRvbid0XFxuICAgIC8vIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBpdCBzdXNwZW5kZWQgb3Igbm90LlxcbiAgICBub2RlLm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciBkaWRTdXNwZW5kID0gKG5vZGUuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcblxcbiAgICAgIGlmIChkaWRTdXNwZW5kKSB7XFxuICAgICAgICByZXR1cm4gbm9kZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gcm93KSB7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuICAgIH1cXG5cXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcykge1xcbiAgdmFyIGV2ZW50UmVzcG9uZGVyTGlzdGVuZXIgPSB7XFxuICAgIHJlc3BvbmRlcjogcmVzcG9uZGVyLFxcbiAgICBwcm9wczogcHJvcHNcXG4gIH07XFxuXFxuICB7XFxuICAgIE9iamVjdC5mcmVlemUoZXZlbnRSZXNwb25kZXJMaXN0ZW5lcik7XFxuICB9XFxuXFxuICByZXR1cm4gZXZlbnRSZXNwb25kZXJMaXN0ZW5lcjtcXG59XFxuXFxudmFyIEhhc0VmZmVjdCA9XFxuLyogKi9cXG4xOyAvLyBSZXByZXNlbnRzIHRoZSBwaGFzZSBpbiB3aGljaCB0aGUgZWZmZWN0IChub3QgdGhlIGNsZWFuLXVwKSBmaXJlcy5cXG5cXG52YXIgTGF5b3V0ID1cXG4vKiAgICAqL1xcbjI7XFxudmFyIFBhc3NpdmUkMSA9XFxuLyogICAqL1xcbjQ7XFxuXFxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7XFxudmFyIGRpZFdhcm5BYm91dE1pc21hdGNoZWRIb29rc0ZvckNvbXBvbmVudDtcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQgPSBuZXcgU2V0KCk7XFxufVxcblxcbi8vIFRoZXNlIGFyZSBzZXQgcmlnaHQgYmVmb3JlIGNhbGxpbmcgdGhlIGNvbXBvbmVudC5cXG52YXIgcmVuZGVyRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLiBJJ3ZlIG5hbWVkIGl0IGRpZmZlcmVudGx5IHRvIGRpc3Rpbmd1aXNoIGl0IGZyb21cXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxcblxcbnZhciBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDsgLy8gSG9va3MgYXJlIHN0b3JlZCBhcyBhIGxpbmtlZCBsaXN0IG9uIHRoZSBmaWJlcidzIG1lbW9pemVkU3RhdGUgZmllbGQuIFRoZVxcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXFxuLy8gd29yay1pbi1wcm9ncmVzcyBob29rIGxpc3QgaXMgYSBuZXcgbGlzdCB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlXFxuLy8gd29yay1pbi1wcm9ncmVzcyBmaWJlci5cXG5cXG52YXIgY3VycmVudEhvb2sgPSBudWxsO1xcbnZhciB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsOyAvLyBXaGV0aGVyIGFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIGF0IGFueSBwb2ludCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZS4gVGhpc1xcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxcbi8vIGZpbmlzaGVkIGV2YWx1YXRpbmcgdGhpcyBjb21wb25lbnQuIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHNvIHdlIGtub3dcXG4vLyB3aGV0aGVyIHdlIG5lZWQgdG8gY2xlYXIgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgYWZ0ZXIgYSB0aHJvdy5cXG5cXG52YXIgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xcbnZhciBSRV9SRU5ERVJfTElNSVQgPSAyNTsgLy8gSW4gREVWLCB0aGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50bHkgZXhlY3V0aW5nIHByaW1pdGl2ZSBob29rXFxuXFxudmFyIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDsgLy8gSW4gREVWLCB0aGlzIGxpc3QgZW5zdXJlcyB0aGF0IGhvb2tzIGFyZSBjYWxsZWQgaW4gdGhlIHNhbWUgb3JkZXIgYmV0d2VlbiByZW5kZXJzLlxcbi8vIFRoZSBsaXN0IHN0b3JlcyB0aGUgb3JkZXIgb2YgaG9va3MgdXNlZCBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyIChtb3VudCkuXFxuLy8gU3Vic2VxdWVudCByZW5kZXJzICh1cGRhdGVzKSByZWZlcmVuY2UgdGhpcyBsaXN0LlxcblxcbnZhciBob29rVHlwZXNEZXYgPSBudWxsO1xcbnZhciBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xOyAvLyBJbiBERVYsIHRoaXMgdHJhY2tzIHdoZXRoZXIgY3VycmVudGx5IHJlbmRlcmluZyBjb21wb25lbnQgbmVlZHMgdG8gaWdub3JlXFxuLy8gdGhlIGRlcGVuZGVuY2llcyBmb3IgSG9va3MgdGhhdCBuZWVkIHRoZW0gKGUuZy4gdXNlRWZmZWN0IG9yIHVzZU1lbW8pLlxcbi8vIFdoZW4gdHJ1ZSwgc3VjaCBIb29rcyB3aWxsIGFsd2F5cyBiZSBcXFwicmVtb3VudGVkXFxcIi4gT25seSB1c2VkIGR1cmluZyBob3QgcmVsb2FkLlxcblxcbnZhciBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGZhbHNlO1xcblxcbmZ1bmN0aW9uIG1vdW50SG9va1R5cGVzRGV2KCkge1xcbiAge1xcbiAgICB2YXIgaG9va05hbWUgPSBjdXJyZW50SG9va05hbWVJbkRldjtcXG5cXG4gICAgaWYgKGhvb2tUeXBlc0RldiA9PT0gbnVsbCkge1xcbiAgICAgIGhvb2tUeXBlc0RldiA9IFtob29rTmFtZV07XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaG9va1R5cGVzRGV2LnB1c2goaG9va05hbWUpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUhvb2tUeXBlc0RldigpIHtcXG4gIHtcXG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XFxuXFxuICAgIGlmIChob29rVHlwZXNEZXYgIT09IG51bGwpIHtcXG4gICAgICBob29rVHlwZXNVcGRhdGVJbmRleERldisrO1xcblxcbiAgICAgIGlmIChob29rVHlwZXNEZXZbaG9va1R5cGVzVXBkYXRlSW5kZXhEZXZdICE9PSBob29rTmFtZSkge1xcbiAgICAgICAgd2Fybk9uSG9va01pc21hdGNoSW5EZXYoaG9va05hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKSB7XFxuICB7XFxuICAgIGlmIChkZXBzICE9PSB1bmRlZmluZWQgJiYgZGVwcyAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShkZXBzKSkge1xcbiAgICAgIC8vIFZlcmlmeSBkZXBzLCBidXQgb25seSBvbiBtb3VudCB0byBhdm9pZCBleHRyYSBjaGVja3MuXFxuICAgICAgLy8gSXQncyB1bmxpa2VseSB0aGVpciB0eXBlIHdvdWxkIGNoYW5nZSBhcyB1c3VhbGx5IHlvdSBkZWZpbmUgdGhlbSBpbmxpbmUuXFxuICAgICAgZXJyb3IoJyVzIHJlY2VpdmVkIGEgZmluYWwgYXJndW1lbnQgdGhhdCBpcyBub3QgYW4gYXJyYXkgKGluc3RlYWQsIHJlY2VpdmVkIGAlc2ApLiBXaGVuICcgKyAnc3BlY2lmaWVkLCB0aGUgZmluYWwgYXJndW1lbnQgbXVzdCBiZSBhbiBhcnJheS4nLCBjdXJyZW50SG9va05hbWVJbkRldiwgdHlwZW9mIGRlcHMpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHdhcm5Pbkhvb2tNaXNtYXRjaEluRGV2KGN1cnJlbnRIb29rTmFtZSkge1xcbiAge1xcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS50eXBlKTtcXG5cXG4gICAgaWYgKCFkaWRXYXJuQWJvdXRNaXNtYXRjaGVkSG9va3NGb3JDb21wb25lbnQuaGFzKGNvbXBvbmVudE5hbWUpKSB7XFxuICAgICAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcXG5cXG4gICAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XFxuICAgICAgICB2YXIgdGFibGUgPSAnJztcXG4gICAgICAgIHZhciBzZWNvbmRDb2x1bW5TdGFydCA9IDMwO1xcblxcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gaG9va1R5cGVzVXBkYXRlSW5kZXhEZXY7IGkrKykge1xcbiAgICAgICAgICB2YXIgb2xkSG9va05hbWUgPSBob29rVHlwZXNEZXZbaV07XFxuICAgICAgICAgIHZhciBuZXdIb29rTmFtZSA9IGkgPT09IGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID8gY3VycmVudEhvb2tOYW1lIDogb2xkSG9va05hbWU7XFxuICAgICAgICAgIHZhciByb3cgPSBpICsgMSArIFxcXCIuIFxcXCIgKyBvbGRIb29rTmFtZTsgLy8gRXh0cmEgc3BhY2Ugc28gc2Vjb25kIGNvbHVtbiBsaW5lcyB1cFxcbiAgICAgICAgICAvLyBsb2wgQCBJRSBub3Qgc3VwcG9ydGluZyBTdHJpbmcjcmVwZWF0XFxuXFxuICAgICAgICAgIHdoaWxlIChyb3cubGVuZ3RoIDwgc2Vjb25kQ29sdW1uU3RhcnQpIHtcXG4gICAgICAgICAgICByb3cgKz0gJyAnO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJvdyArPSBuZXdIb29rTmFtZSArICdcXFxcbic7XFxuICAgICAgICAgIHRhYmxlICs9IHJvdztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGVycm9yKCdSZWFjdCBoYXMgZGV0ZWN0ZWQgYSBjaGFuZ2UgaW4gdGhlIG9yZGVyIG9mIEhvb2tzIGNhbGxlZCBieSAlcy4gJyArICdUaGlzIHdpbGwgbGVhZCB0byBidWdzIGFuZCBlcnJvcnMgaWYgbm90IGZpeGVkLiAnICsgJ0ZvciBtb3JlIGluZm9ybWF0aW9uLCByZWFkIHRoZSBSdWxlcyBvZiBIb29rczogaHR0cHM6Ly9mYi5tZS9ydWxlcy1vZi1ob29rc1xcXFxuXFxcXG4nICsgJyAgIFByZXZpb3VzIHJlbmRlciAgICAgICAgICAgIE5leHQgcmVuZGVyXFxcXG4nICsgJyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcXFxuJyArICclcycgKyAnICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXFxcXG4nLCBjb21wb25lbnROYW1lLCB0YWJsZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHRocm93SW52YWxpZEhvb2tFcnJvcigpIHtcXG4gIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvciBvbmUgb2YgdGhlIGZvbGxvd2luZyByZWFzb25zOlxcXFxuMS4gWW91IG1pZ2h0IGhhdmUgbWlzbWF0Y2hpbmcgdmVyc2lvbnMgb2YgUmVhY3QgYW5kIHRoZSByZW5kZXJlciAoc3VjaCBhcyBSZWFjdCBET00pXFxcXG4yLiBZb3UgbWlnaHQgYmUgYnJlYWtpbmcgdGhlIFJ1bGVzIG9mIEhvb2tzXFxcXG4zLiBZb3UgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gb25lIGNvcHkgb2YgUmVhY3QgaW4gdGhlIHNhbWUgYXBwXFxcXG5TZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1pbnZhbGlkLWhvb2stY2FsbCBmb3IgdGlwcyBhYm91dCBob3cgdG8gZGVidWcgYW5kIGZpeCB0aGlzIHByb2JsZW0uXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpIHtcXG4gIHtcXG4gICAgaWYgKGlnbm9yZVByZXZpb3VzRGVwZW5kZW5jaWVzKSB7XFxuICAgICAgLy8gT25seSB0cnVlIHdoZW4gdGhpcyBjb21wb25lbnQgaXMgYmVpbmcgaG90IHJlbG9hZGVkLlxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKHByZXZEZXBzID09PSBudWxsKSB7XFxuICAgIHtcXG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxuXFxuICB7XFxuICAgIC8vIERvbid0IGJvdGhlciBjb21wYXJpbmcgbGVuZ3RocyBpbiBwcm9kIGJlY2F1c2UgdGhlc2UgYXJyYXlzIHNob3VsZCBiZVxcbiAgICAvLyBwYXNzZWQgaW5saW5lLlxcbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcXG4gICAgICBlcnJvcignVGhlIGZpbmFsIGFyZ3VtZW50IHBhc3NlZCB0byAlcyBjaGFuZ2VkIHNpemUgYmV0d2VlbiByZW5kZXJzLiBUaGUgJyArICdvcmRlciBhbmQgc2l6ZSBvZiB0aGlzIGFycmF5IG11c3QgcmVtYWluIGNvbnN0YW50LlxcXFxuXFxcXG4nICsgJ1ByZXZpb3VzOiAlc1xcXFxuJyArICdJbmNvbWluZzogJXMnLCBjdXJyZW50SG9va05hbWVJbkRldiwgXFxcIltcXFwiICsgcHJldkRlcHMuam9pbignLCAnKSArIFxcXCJdXFxcIiwgXFxcIltcXFwiICsgbmV4dERlcHMuam9pbignLCAnKSArIFxcXCJdXFxcIik7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xcbiAgICBpZiAob2JqZWN0SXMobmV4dERlcHNbaV0sIHByZXZEZXBzW2ldKSkge1xcbiAgICAgIGNvbnRpbnVlO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcHJvcHMsIHNlY29uZEFyZywgbmV4dFJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICByZW5kZXJFeHBpcmF0aW9uVGltZSA9IG5leHRSZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSB3b3JrSW5Qcm9ncmVzcztcXG5cXG4gIHtcXG4gICAgaG9va1R5cGVzRGV2ID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQuX2RlYnVnSG9va1R5cGVzIDogbnVsbDtcXG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTsgLy8gVXNlZCBmb3IgaG90IHJlbG9hZGluZzpcXG5cXG4gICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MudHlwZTtcXG4gIH1cXG5cXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xcbiAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7IC8vIFRoZSBmb2xsb3dpbmcgc2hvdWxkIGhhdmUgYWxyZWFkeSBiZWVuIHJlc2V0XFxuICAvLyBjdXJyZW50SG9vayA9IG51bGw7XFxuICAvLyB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xcbiAgLy8gZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xcbiAgLy8gVE9ETyBXYXJuIGlmIG5vIGhvb2tzIGFyZSB1c2VkIGF0IGFsbCBkdXJpbmcgbW91bnQsIHRoZW4gc29tZSBhcmUgdXNlZCBkdXJpbmcgdXBkYXRlLlxcbiAgLy8gQ3VycmVudGx5IHdlIHdpbGwgaWRlbnRpZnkgdGhlIHVwZGF0ZSByZW5kZXIgYXMgYSBtb3VudCBiZWNhdXNlIG1lbW9pemVkU3RhdGUgPT09IG51bGwuXFxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxcbiAgLy8gVXNpbmcgbWVtb2l6ZWRTdGF0ZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gbW91bnQvdXBkYXRlIG9ubHkgd29ya3MgaWYgYXQgbGVhc3Qgb25lIHN0YXRlZnVsIGhvb2sgaXMgdXNlZC5cXG4gIC8vIE5vbi1zdGF0ZWZ1bCBob29rcyAoZS5nLiBjb250ZXh0KSBkb24ndCBnZXQgYWRkZWQgdG8gbWVtb2l6ZWRTdGF0ZSxcXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxcblxcbiAge1xcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xcbiAgICB9IGVsc2UgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgZGlzcGF0Y2hlciBoYW5kbGVzIGFuIGVkZ2UgY2FzZSB3aGVyZSBhIGNvbXBvbmVudCBpcyB1cGRhdGluZyxcXG4gICAgICAvLyBidXQgbm8gc3RhdGVmdWwgaG9va3MgaGF2ZSBiZWVuIHVzZWQuXFxuICAgICAgLy8gV2Ugd2FudCB0byBtYXRjaCB0aGUgcHJvZHVjdGlvbiBjb2RlIGJlaGF2aW9yICh3aGljaCB3aWxsIHVzZSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50KSxcXG4gICAgICAvLyBidXQgd2l0aCB0aGUgZXh0cmEgREVWIHZhbGlkYXRpb24gdG8gZW5zdXJlIGhvb2tzIG9yZGVyaW5nIGhhc24ndCBjaGFuZ2VkLlxcbiAgICAgIC8vIFRoaXMgZGlzcGF0Y2hlciBkb2VzIHRoYXQuXFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFVjtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTsgLy8gQ2hlY2sgaWYgdGhlcmUgd2FzIGEgcmVuZGVyIHBoYXNlIHVwZGF0ZVxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID09PSByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBLZWVwIHJlbmRlcmluZyBpbiBhIGxvb3AgZm9yIGFzIGxvbmcgYXMgcmVuZGVyIHBoYXNlIHVwZGF0ZXMgY29udGludWUgdG9cXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXFxuICAgIHZhciBudW1iZXJPZlJlUmVuZGVycyA9IDA7XFxuXFxuICAgIGRvIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG5cXG4gICAgICBpZiAoIShudW1iZXJPZlJlUmVuZGVycyA8IFJFX1JFTkRFUl9MSU1JVCkpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUb28gbWFueSByZS1yZW5kZXJzLiBSZWFjdCBsaW1pdHMgdGhlIG51bWJlciBvZiByZW5kZXJzIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcC5cXFwiICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIG51bWJlck9mUmVSZW5kZXJzICs9IDE7XFxuXFxuICAgICAge1xcbiAgICAgICAgLy8gRXZlbiB3aGVuIGhvdCByZWxvYWRpbmcsIGFsbG93IGRlcGVuZGVuY2llcyB0byBzdGFiaWxpemVcXG4gICAgICAgIC8vIGFmdGVyIGZpcnN0IHJlbmRlciB0byBwcmV2ZW50IGluZmluaXRlIHJlbmRlciBwaGFzZSB1cGRhdGVzLlxcbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcXG4gICAgICB9IC8vIFN0YXJ0IG92ZXIgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0XFxuXFxuXFxuICAgICAgY3VycmVudEhvb2sgPSBudWxsO1xcbiAgICAgIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xcblxcbiAgICAgIHtcXG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXFxuICAgICAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xcbiAgICAgIH1cXG5cXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWIDtcXG4gICAgICBjaGlsZHJlbiA9IENvbXBvbmVudChwcm9wcywgc2Vjb25kQXJnKTtcXG4gICAgfSB3aGlsZSAod29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPT09IHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gLy8gV2UgY2FuIGFzc3VtZSB0aGUgcHJldmlvdXMgZGlzcGF0Y2hlciBpcyBhbHdheXMgdGhpcyBvbmUsIHNpbmNlIHdlIHNldCBpdFxcbiAgLy8gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcmVuZGVyIHBoYXNlIGFuZCB0aGVyZSdzIG5vIHJlLWVudHJhbmN5LlxcblxcblxcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xcblxcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdIb29rVHlwZXMgPSBob29rVHlwZXNEZXY7XFxuICB9IC8vIFRoaXMgY2hlY2sgdXNlcyBjdXJyZW50SG9vayBzbyB0aGF0IGl0IHdvcmtzIHRoZSBzYW1lIGluIERFViBhbmQgcHJvZCBidW5kbGVzLlxcbiAgLy8gaG9va1R5cGVzRGV2IGNvdWxkIGNhdGNoIG1vcmUgY2FzZXMgKGUuZy4gY29udGV4dCkgYnV0IG9ubHkgaW4gREVWIGJ1bmRsZXMuXFxuXFxuXFxuICB2YXIgZGlkUmVuZGVyVG9vRmV3SG9va3MgPSBjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBjdXJyZW50SG9vay5uZXh0ICE9PSBudWxsO1xcbiAgcmVuZGVyRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDtcXG4gIGN1cnJlbnRIb29rID0gbnVsbDtcXG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XFxuXFxuICB7XFxuICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gbnVsbDtcXG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcXG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTtcXG4gIH1cXG5cXG4gIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSBmYWxzZTtcXG5cXG4gIGlmICghIWRpZFJlbmRlclRvb0Zld0hvb2tzKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlJlbmRlcmVkIGZld2VyIGhvb2tzIHRoYW4gZXhwZWN0ZWQuIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBhbiBhY2NpZGVudGFsIGVhcmx5IHJldHVybiBzdGF0ZW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gY2hpbGRyZW47XFxufVxcbmZ1bmN0aW9uIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmPSB+KFBhc3NpdmUgfCBVcGRhdGUpO1xcblxcbiAgaWYgKGN1cnJlbnQuZXhwaXJhdGlvblRpbWUgPD0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgY3VycmVudC5leHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVzZXRIb29rc0FmdGVyVGhyb3coKSB7XFxuICAvLyBXZSBjYW4gYXNzdW1lIHRoZSBwcmV2aW91cyBkaXNwYXRjaGVyIGlzIGFsd2F5cyB0aGlzIG9uZSwgc2luY2Ugd2Ugc2V0IGl0XFxuICAvLyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSByZW5kZXIgcGhhc2UgYW5kIHRoZXJlJ3Mgbm8gcmUtZW50cmFuY3kuXFxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBDb250ZXh0T25seURpc3BhdGNoZXI7XFxuXFxuICBpZiAoZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSkge1xcbiAgICAvLyBUaGVyZSB3ZXJlIHJlbmRlciBwaGFzZSB1cGRhdGVzLiBUaGVzZSBhcmUgb25seSB2YWxpZCBmb3IgdGhpcyByZW5kZXJcXG4gICAgLy8gcGhhc2UsIHdoaWNoIHdlIGFyZSBub3cgYWJvcnRpbmcuIFJlbW92ZSB0aGUgdXBkYXRlcyBmcm9tIHRoZSBxdWV1ZXMgc29cXG4gICAgLy8gdGhleSBkbyBub3QgcGVyc2lzdCB0byB0aGUgbmV4dCByZW5kZXIuIERvIG5vdCByZW1vdmUgdXBkYXRlcyBmcm9tIGhvb2tzXFxuICAgIC8vIHRoYXQgd2VyZW4ndCBwcm9jZXNzZWQuXFxuICAgIC8vXFxuICAgIC8vIE9ubHkgcmVzZXQgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgcXVldWUgaWYgaXQgaGFzIGEgY2xvbmUuIElmIGl0IGRvZXNcXG4gICAgLy8gbm90IGhhdmUgYSBjbG9uZSwgdGhhdCBtZWFucyBpdCB3YXNuJ3QgcHJvY2Vzc2VkLCBhbmQgdGhlIHVwZGF0ZXMgd2VyZVxcbiAgICAvLyBzY2hlZHVsZWQgYmVmb3JlIHdlIGVudGVyZWQgdGhlIHJlbmRlciBwaGFzZS5cXG4gICAgdmFyIGhvb2sgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgIHdoaWxlIChob29rICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZTtcXG5cXG4gICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICBob29rID0gaG9vay5uZXh0O1xcbiAgICB9XFxuICB9XFxuXFxuICByZW5kZXJFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xcbiAgY3VycmVudEhvb2sgPSBudWxsO1xcbiAgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcXG5cXG4gIHtcXG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcXG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTtcXG4gICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSBudWxsO1xcbiAgfVxcblxcbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpIHtcXG4gIHZhciBob29rID0ge1xcbiAgICBtZW1vaXplZFN0YXRlOiBudWxsLFxcbiAgICBiYXNlU3RhdGU6IG51bGwsXFxuICAgIGJhc2VRdWV1ZTogbnVsbCxcXG4gICAgcXVldWU6IG51bGwsXFxuICAgIG5leHQ6IG51bGxcXG4gIH07XFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XFxuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGhvb2sgaW4gdGhlIGxpc3RcXG4gICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlID0gd29ya0luUHJvZ3Jlc3NIb29rID0gaG9vaztcXG4gIH0gZWxzZSB7XFxuICAgIC8vIEFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0XFxuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0ID0gaG9vaztcXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpIHtcXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBib3RoIGZvciB1cGRhdGVzIGFuZCBmb3IgcmUtcmVuZGVycyB0cmlnZ2VyZWQgYnkgYVxcbiAgLy8gcmVuZGVyIHBoYXNlIHVwZGF0ZS4gSXQgYXNzdW1lcyB0aGVyZSBpcyBlaXRoZXIgYSBjdXJyZW50IGhvb2sgd2UgY2FuXFxuICAvLyBjbG9uZSwgb3IgYSB3b3JrLWluLXByb2dyZXNzIGhvb2sgZnJvbSBhIHByZXZpb3VzIHJlbmRlciBwYXNzIHRoYXQgd2UgY2FuXFxuICAvLyB1c2UgYXMgYSBiYXNlLiBXaGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgdGhlIGJhc2UgbGlzdCwgd2UgbXVzdCBzd2l0Y2ggdG9cXG4gIC8vIHRoZSBkaXNwYXRjaGVyIHVzZWQgZm9yIG1vdW50cy5cXG4gIHZhciBuZXh0Q3VycmVudEhvb2s7XFxuXFxuICBpZiAoY3VycmVudEhvb2sgPT09IG51bGwpIHtcXG4gICAgdmFyIGN1cnJlbnQgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmFsdGVybmF0ZTtcXG5cXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgbmV4dEN1cnJlbnRIb29rID0gbnVsbDtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgbmV4dEN1cnJlbnRIb29rID0gY3VycmVudEhvb2submV4dDtcXG4gIH1cXG5cXG4gIHZhciBuZXh0V29ya0luUHJvZ3Jlc3NIb29rO1xcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzSG9vayA9PT0gbnVsbCkge1xcbiAgICBuZXh0V29ya0luUHJvZ3Jlc3NIb29rID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xcbiAgfVxcblxcbiAgaWYgKG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgIT09IG51bGwpIHtcXG4gICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgd29yay1pbi1wcm9ncmVzcy4gUmV1c2UgaXQuXFxuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XFxuICAgIG5leHRXb3JrSW5Qcm9ncmVzc0hvb2sgPSB3b3JrSW5Qcm9ncmVzc0hvb2submV4dDtcXG4gICAgY3VycmVudEhvb2sgPSBuZXh0Q3VycmVudEhvb2s7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBDbG9uZSBmcm9tIHRoZSBjdXJyZW50IGhvb2suXFxuICAgIGlmICghKG5leHRDdXJyZW50SG9vayAhPT0gbnVsbCkpIHtcXG4gICAgICB7XFxuICAgICAgICB0aHJvdyBFcnJvciggXFxcIlJlbmRlcmVkIG1vcmUgaG9va3MgdGhhbiBkdXJpbmcgdGhlIHByZXZpb3VzIHJlbmRlci5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGN1cnJlbnRIb29rID0gbmV4dEN1cnJlbnRIb29rO1xcbiAgICB2YXIgbmV3SG9vayA9IHtcXG4gICAgICBtZW1vaXplZFN0YXRlOiBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLFxcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudEhvb2suYmFzZVN0YXRlLFxcbiAgICAgIGJhc2VRdWV1ZTogY3VycmVudEhvb2suYmFzZVF1ZXVlLFxcbiAgICAgIHF1ZXVlOiBjdXJyZW50SG9vay5xdWV1ZSxcXG4gICAgICBuZXh0OiBudWxsXFxuICAgIH07XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc0hvb2sgPT09IG51bGwpIHtcXG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBob29rIGluIHRoZSBsaXN0LlxcbiAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzSG9vayA9IG5ld0hvb2s7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gQXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXFxuICAgICAgd29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQgPSBuZXdIb29rO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbkNvbXBvbmVudFVwZGF0ZVF1ZXVlKCkge1xcbiAgcmV0dXJuIHtcXG4gICAgbGFzdEVmZmVjdDogbnVsbFxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xcbiAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcXG4gIHJldHVybiB0eXBlb2YgYWN0aW9uID09PSAnZnVuY3Rpb24nID8gYWN0aW9uKHN0YXRlKSA6IGFjdGlvbjtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBpbml0aWFsU3RhdGU7XFxuXFxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIGluaXRpYWxTdGF0ZSA9IGluaXQoaW5pdGlhbEFyZyk7XFxuICB9IGVsc2Uge1xcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xcbiAgfVxcblxcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XFxuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlID0ge1xcbiAgICBwZW5kaW5nOiBudWxsLFxcbiAgICBkaXNwYXRjaDogbnVsbCxcXG4gICAgbGFzdFJlbmRlcmVkUmVkdWNlcjogcmVkdWNlcixcXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxcbiAgfTtcXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoID0gZGlzcGF0Y2hBY3Rpb24uYmluZChudWxsLCBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLCBxdWV1ZSk7XFxuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xcblxcbiAgaWYgKCEocXVldWUgIT09IG51bGwpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyO1xcbiAgdmFyIGN1cnJlbnQgPSBjdXJyZW50SG9vazsgLy8gVGhlIGxhc3QgcmViYXNlIHVwZGF0ZSB0aGF0IGlzIE5PVCBwYXJ0IG9mIHRoZSBiYXNlIHN0YXRlLlxcblxcbiAgdmFyIGJhc2VRdWV1ZSA9IGN1cnJlbnQuYmFzZVF1ZXVlOyAvLyBUaGUgbGFzdCBwZW5kaW5nIHVwZGF0ZSB0aGF0IGhhc24ndCBiZWVuIHByb2Nlc3NlZCB5ZXQuXFxuXFxuICB2YXIgcGVuZGluZ1F1ZXVlID0gcXVldWUucGVuZGluZztcXG5cXG4gIGlmIChwZW5kaW5nUXVldWUgIT09IG51bGwpIHtcXG4gICAgLy8gV2UgaGF2ZSBuZXcgdXBkYXRlcyB0aGF0IGhhdmVuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxcbiAgICAvLyBXZSdsbCBhZGQgdGhlbSB0byB0aGUgYmFzZSBxdWV1ZS5cXG4gICAgaWYgKGJhc2VRdWV1ZSAhPT0gbnVsbCkge1xcbiAgICAgIC8vIE1lcmdlIHRoZSBwZW5kaW5nIHF1ZXVlIGFuZCB0aGUgYmFzZSBxdWV1ZS5cXG4gICAgICB2YXIgYmFzZUZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XFxuICAgICAgdmFyIHBlbmRpbmdGaXJzdCA9IHBlbmRpbmdRdWV1ZS5uZXh0O1xcbiAgICAgIGJhc2VRdWV1ZS5uZXh0ID0gcGVuZGluZ0ZpcnN0O1xcbiAgICAgIHBlbmRpbmdRdWV1ZS5uZXh0ID0gYmFzZUZpcnN0O1xcbiAgICB9XFxuXFxuICAgIGN1cnJlbnQuYmFzZVF1ZXVlID0gYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xcbiAgICBxdWV1ZS5wZW5kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChiYXNlUXVldWUgIT09IG51bGwpIHtcXG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXFxuICAgIHZhciBmaXJzdCA9IGJhc2VRdWV1ZS5uZXh0O1xcbiAgICB2YXIgbmV3U3RhdGUgPSBjdXJyZW50LmJhc2VTdGF0ZTtcXG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVGaXJzdCA9IG51bGw7XFxuICAgIHZhciBuZXdCYXNlUXVldWVMYXN0ID0gbnVsbDtcXG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xcblxcbiAgICBkbyB7XFxuICAgICAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gdXBkYXRlLmV4cGlyYXRpb25UaW1lO1xcblxcbiAgICAgIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAvLyBQcmlvcml0eSBpcyBpbnN1ZmZpY2llbnQuIFNraXAgdGhpcyB1cGRhdGUuIElmIHRoaXMgaXMgdGhlIGZpcnN0XFxuICAgICAgICAvLyBza2lwcGVkIHVwZGF0ZSwgdGhlIHByZXZpb3VzIHVwZGF0ZS9zdGF0ZSBpcyB0aGUgbmV3IGJhc2VcXG4gICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cXG4gICAgICAgIHZhciBjbG9uZSA9IHtcXG4gICAgICAgICAgZXhwaXJhdGlvblRpbWU6IHVwZGF0ZS5leHBpcmF0aW9uVGltZSxcXG4gICAgICAgICAgc3VzcGVuc2VDb25maWc6IHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyxcXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxcbiAgICAgICAgICBlYWdlclJlZHVjZXI6IHVwZGF0ZS5lYWdlclJlZHVjZXIsXFxuICAgICAgICAgIGVhZ2VyU3RhdGU6IHVwZGF0ZS5lYWdlclN0YXRlLFxcbiAgICAgICAgICBuZXh0OiBudWxsXFxuICAgICAgICB9O1xcblxcbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcXG4gICAgICAgICAgbmV3QmFzZVF1ZXVlRmlyc3QgPSBuZXdCYXNlUXVldWVMYXN0ID0gY2xvbmU7XFxuICAgICAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgbmV3QmFzZVF1ZXVlTGFzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QubmV4dCA9IGNsb25lO1xcbiAgICAgICAgfSAvLyBVcGRhdGUgdGhlIHJlbWFpbmluZyBwcmlvcml0eSBpbiB0aGUgcXVldWUuXFxuXFxuXFxuICAgICAgICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPiBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZXhwaXJhdGlvblRpbWUgPSB1cGRhdGVFeHBpcmF0aW9uVGltZTtcXG4gICAgICAgICAgbWFya1VucHJvY2Vzc2VkVXBkYXRlVGltZSh1cGRhdGVFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxcbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgdmFyIF9jbG9uZSA9IHtcXG4gICAgICAgICAgICBleHBpcmF0aW9uVGltZTogU3luYyxcXG4gICAgICAgICAgICAvLyBUaGlzIHVwZGF0ZSBpcyBnb2luZyB0byBiZSBjb21taXR0ZWQgc28gd2UgbmV2ZXIgd2FudCB1bmNvbW1pdCBpdC5cXG4gICAgICAgICAgICBzdXNwZW5zZUNvbmZpZzogdXBkYXRlLnN1c3BlbnNlQ29uZmlnLFxcbiAgICAgICAgICAgIGFjdGlvbjogdXBkYXRlLmFjdGlvbixcXG4gICAgICAgICAgICBlYWdlclJlZHVjZXI6IHVwZGF0ZS5lYWdlclJlZHVjZXIsXFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXFxuICAgICAgICAgICAgbmV4dDogbnVsbFxcbiAgICAgICAgICB9O1xcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xcbiAgICAgICAgfSAvLyBNYXJrIHRoZSBldmVudCB0aW1lIG9mIHRoaXMgdXBkYXRlIGFzIHJlbGV2YW50IHRvIHRoaXMgcmVuZGVyIHBhc3MuXFxuICAgICAgICAvLyBUT0RPOiBUaGlzIHNob3VsZCBpZGVhbGx5IHVzZSB0aGUgdHJ1ZSBldmVudCB0aW1lIG9mIHRoaXMgdXBkYXRlIHJhdGhlciB0aGFuXFxuICAgICAgICAvLyBpdHMgcHJpb3JpdHkgd2hpY2ggaXMgYSBkZXJpdmVkIGFuZCBub3QgcmV2ZXJzZWFibGUgdmFsdWUuXFxuICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgc2tpcCB0aGlzIHVwZGF0ZSBpZiBpdCB3YXMgYWxyZWFkeSBjb21taXR0ZWQgYnV0IGN1cnJlbnRseVxcbiAgICAgICAgLy8gd2UgaGF2ZSBubyB3YXkgb2YgZGV0ZWN0aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBjb21taXR0ZWQgYW5kIHN1c3BlbmRlZFxcbiAgICAgICAgLy8gdXBkYXRlIGhlcmUuXFxuXFxuXFxuICAgICAgICBtYXJrUmVuZGVyRXZlbnRUaW1lQW5kQ29uZmlnKHVwZGF0ZUV4cGlyYXRpb25UaW1lLCB1cGRhdGUuc3VzcGVuc2VDb25maWcpOyAvLyBQcm9jZXNzIHRoaXMgdXBkYXRlLlxcblxcbiAgICAgICAgaWYgKHVwZGF0ZS5lYWdlclJlZHVjZXIgPT09IHJlZHVjZXIpIHtcXG4gICAgICAgICAgLy8gSWYgdGhpcyB1cGRhdGUgd2FzIHByb2Nlc3NlZCBlYWdlcmx5LCBhbmQgaXRzIHJlZHVjZXIgbWF0Y2hlcyB0aGVcXG4gICAgICAgICAgLy8gY3VycmVudCByZWR1Y2VyLCB3ZSBjYW4gdXNlIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlLlxcbiAgICAgICAgICBuZXdTdGF0ZSA9IHVwZGF0ZS5lYWdlclN0YXRlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgdmFyIGFjdGlvbiA9IHVwZGF0ZS5hY3Rpb247XFxuICAgICAgICAgIG5ld1N0YXRlID0gcmVkdWNlcihuZXdTdGF0ZSwgYWN0aW9uKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XFxuICAgIH0gd2hpbGUgKHVwZGF0ZSAhPT0gbnVsbCAmJiB1cGRhdGUgIT09IGZpcnN0KTtcXG5cXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcXG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcXG4gICAgfSAvLyBNYXJrIHRoYXQgdGhlIGZpYmVyIHBlcmZvcm1lZCB3b3JrLCBidXQgb25seSBpZiB0aGUgbmV3IHN0YXRlIGlzXFxuICAgIC8vIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IHN0YXRlLlxcblxcblxcbiAgICBpZiAoIW9iamVjdElzKG5ld1N0YXRlLCBob29rLm1lbW9pemVkU3RhdGUpKSB7XFxuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcXG4gICAgfVxcblxcbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcXG4gICAgaG9vay5iYXNlU3RhdGUgPSBuZXdCYXNlU3RhdGU7XFxuICAgIGhvb2suYmFzZVF1ZXVlID0gbmV3QmFzZVF1ZXVlTGFzdDtcXG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcXG4gIH1cXG5cXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xcbiAgcmV0dXJuIFtob29rLm1lbW9pemVkU3RhdGUsIGRpc3BhdGNoXTtcXG59XFxuXFxuZnVuY3Rpb24gcmVyZW5kZXJSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xcblxcbiAgaWYgKCEocXVldWUgIT09IG51bGwpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyOyAvLyBUaGlzIGlzIGEgcmUtcmVuZGVyLiBBcHBseSB0aGUgbmV3IHJlbmRlciBwaGFzZSB1cGRhdGVzIHRvIHRoZSBwcmV2aW91c1xcbiAgLy8gd29yay1pbi1wcm9ncmVzcyBob29rLlxcblxcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XFxuICB2YXIgbGFzdFJlbmRlclBoYXNlVXBkYXRlID0gcXVldWUucGVuZGluZztcXG4gIHZhciBuZXdTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcXG5cXG4gIGlmIChsYXN0UmVuZGVyUGhhc2VVcGRhdGUgIT09IG51bGwpIHtcXG4gICAgLy8gVGhlIHF1ZXVlIGRvZXNuJ3QgcGVyc2lzdCBwYXN0IHRoaXMgcmVuZGVyIHBhc3MuXFxuICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xcbiAgICB2YXIgZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSA9IGxhc3RSZW5kZXJQaGFzZVVwZGF0ZS5uZXh0O1xcbiAgICB2YXIgdXBkYXRlID0gZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZTtcXG5cXG4gICAgZG8ge1xcbiAgICAgIC8vIFByb2Nlc3MgdGhpcyByZW5kZXIgcGhhc2UgdXBkYXRlLiBXZSBkb24ndCBoYXZlIHRvIGNoZWNrIHRoZVxcbiAgICAgIC8vIHByaW9yaXR5IGJlY2F1c2UgaXQgd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnRcXG4gICAgICAvLyByZW5kZXIncy5cXG4gICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcXG4gICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XFxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XFxuICAgIH0gd2hpbGUgKHVwZGF0ZSAhPT0gZmlyc3RSZW5kZXJQaGFzZVVwZGF0ZSk7IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcXG4gICAgLy8gZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgc3RhdGUuXFxuXFxuXFxuICAgIGlmICghb2JqZWN0SXMobmV3U3RhdGUsIGhvb2subWVtb2l6ZWRTdGF0ZSkpIHtcXG4gICAgICBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpO1xcbiAgICB9XFxuXFxuICAgIGhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlOyAvLyBEb24ndCBwZXJzaXN0IHRoZSBzdGF0ZSBhY2N1bXVsYXRlZCBmcm9tIHRoZSByZW5kZXIgcGhhc2UgdXBkYXRlcyB0b1xcbiAgICAvLyB0aGUgYmFzZSBzdGF0ZSB1bmxlc3MgdGhlIHF1ZXVlIGlzIGVtcHR5LlxcbiAgICAvLyBUT0RPOiBOb3Qgc3VyZSBpZiB0aGlzIGlzIHRoZSBkZXNpcmVkIHNlbWFudGljcywgYnV0IGl0J3Mgd2hhdCB3ZVxcbiAgICAvLyBkbyBmb3IgZ0RTRlAuIEkgY2FuJ3QgcmVtZW1iZXIgd2h5LlxcblxcbiAgICBpZiAoaG9vay5iYXNlUXVldWUgPT09IG51bGwpIHtcXG4gICAgICBob29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgICB9XFxuXFxuICAgIHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlID0gbmV3U3RhdGU7XFxuICB9XFxuXFxuICByZXR1cm4gW25ld1N0YXRlLCBkaXNwYXRjaF07XFxufVxcblxcbmZ1bmN0aW9uIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKSB7XFxuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuXFxuICBpZiAodHlwZW9mIGluaXRpYWxTdGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcXG4gIH1cXG5cXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xcbiAgdmFyIHF1ZXVlID0gaG9vay5xdWV1ZSA9IHtcXG4gICAgcGVuZGluZzogbnVsbCxcXG4gICAgZGlzcGF0Y2g6IG51bGwsXFxuICAgIGxhc3RSZW5kZXJlZFJlZHVjZXI6IGJhc2ljU3RhdGVSZWR1Y2VyLFxcbiAgICBsYXN0UmVuZGVyZWRTdGF0ZTogaW5pdGlhbFN0YXRlXFxuICB9O1xcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaEFjdGlvbi5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEsIHF1ZXVlKTtcXG4gIHJldHVybiBbaG9vay5tZW1vaXplZFN0YXRlLCBkaXNwYXRjaF07XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xcbn1cXG5cXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xcbiAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihiYXNpY1N0YXRlUmVkdWNlcik7XFxufVxcblxcbmZ1bmN0aW9uIHB1c2hFZmZlY3QodGFnLCBjcmVhdGUsIGRlc3Ryb3ksIGRlcHMpIHtcXG4gIHZhciBlZmZlY3QgPSB7XFxuICAgIHRhZzogdGFnLFxcbiAgICBjcmVhdGU6IGNyZWF0ZSxcXG4gICAgZGVzdHJveTogZGVzdHJveSxcXG4gICAgZGVwczogZGVwcyxcXG4gICAgLy8gQ2lyY3VsYXJcXG4gICAgbmV4dDogbnVsbFxcbiAgfTtcXG4gIHZhciBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEudXBkYXRlUXVldWU7XFxuXFxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcXG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUgPSBjcmVhdGVGdW5jdGlvbkNvbXBvbmVudFVwZGF0ZVF1ZXVlKCk7XFxuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEudXBkYXRlUXVldWUgPSBjb21wb25lbnRVcGRhdGVRdWV1ZTtcXG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGxhc3RFZmZlY3QgPSBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0O1xcblxcbiAgICBpZiAobGFzdEVmZmVjdCA9PT0gbnVsbCkge1xcbiAgICAgIGNvbXBvbmVudFVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgPSBlZmZlY3QubmV4dCA9IGVmZmVjdDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XFxuICAgICAgbGFzdEVmZmVjdC5uZXh0ID0gZWZmZWN0O1xcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XFxuICAgICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdDtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGVmZmVjdDtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRSZWYoaW5pdGlhbFZhbHVlKSB7XFxuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgcmVmID0ge1xcbiAgICBjdXJyZW50OiBpbml0aWFsVmFsdWVcXG4gIH07XFxuXFxuICB7XFxuICAgIE9iamVjdC5zZWFsKHJlZik7XFxuICB9XFxuXFxuICBob29rLm1lbW9pemVkU3RhdGUgPSByZWY7XFxuICByZXR1cm4gcmVmO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVSZWYoaW5pdGlhbFZhbHVlKSB7XFxuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRWZmZWN0VGFnLCBob29rRWZmZWN0VGFnLCBjcmVhdGUsIGRlcHMpIHtcXG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5lZmZlY3RUYWcgfD0gZmliZXJFZmZlY3RUYWc7XFxuICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KEhhc0VmZmVjdCB8IGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgdW5kZWZpbmVkLCBuZXh0RGVwcyk7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdEltcGwoZmliZXJFZmZlY3RUYWcsIGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xcbiAgdmFyIGRlc3Ryb3kgPSB1bmRlZmluZWQ7XFxuXFxuICBpZiAoY3VycmVudEhvb2sgIT09IG51bGwpIHtcXG4gICAgdmFyIHByZXZFZmZlY3QgPSBjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlO1xcbiAgICBkZXN0cm95ID0gcHJldkVmZmVjdC5kZXN0cm95O1xcblxcbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2RWZmZWN0LmRlcHM7XFxuXFxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XFxuICAgICAgICBwdXNoRWZmZWN0KGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVzdHJveSwgbmV4dERlcHMpO1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5lZmZlY3RUYWcgfD0gZmliZXJFZmZlY3RUYWc7XFxuICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KEhhc0VmZmVjdCB8IGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVzdHJveSwgbmV4dERlcHMpO1xcbn1cXG5cXG5mdW5jdGlvbiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcXG4gIHtcXG4gICAgLy8gJEZsb3dFeHBlY3RlZEVycm9yIC0gamVzdCBpc24ndCBhIGdsb2JhbCwgYW5kIGlzbid0IHJlY29nbml6ZWQgb3V0c2lkZSBvZiB0ZXN0c1xcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBqZXN0KSB7XFxuICAgICAgd2FybklmTm90Q3VycmVudGx5QWN0aW5nRWZmZWN0c0luREVWKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSB8IFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xcbiAge1xcbiAgICAvLyAkRmxvd0V4cGVjdGVkRXJyb3IgLSBqZXN0IGlzbid0IGEgZ2xvYmFsLCBhbmQgaXNuJ3QgcmVjb2duaXplZCBvdXRzaWRlIG9mIHRlc3RzXFxuICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGplc3QpIHtcXG4gICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdFZmZlY3RzSW5ERVYoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSB8IFBhc3NpdmUsIFBhc3NpdmUkMSwgY3JlYXRlLCBkZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XFxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBjcmVhdGUsIGRlcHMpO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XFxuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xcbiAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgdmFyIHJlZkNhbGxiYWNrID0gcmVmO1xcblxcbiAgICB2YXIgX2luc3QgPSBjcmVhdGUoKTtcXG5cXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xcbiAgICAgIHJlZkNhbGxiYWNrKG51bGwpO1xcbiAgICB9O1xcbiAgfSBlbHNlIGlmIChyZWYgIT09IG51bGwgJiYgcmVmICE9PSB1bmRlZmluZWQpIHtcXG4gICAgdmFyIHJlZk9iamVjdCA9IHJlZjtcXG5cXG4gICAge1xcbiAgICAgIGlmICghcmVmT2JqZWN0Lmhhc093blByb3BlcnR5KCdjdXJyZW50JykpIHtcXG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBfaW5zdDIgPSBjcmVhdGUoKTtcXG5cXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XFxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBudWxsO1xcbiAgICB9O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignRXhwZWN0ZWQgdXNlSW1wZXJhdGl2ZUhhbmRsZSgpIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIGZ1bmN0aW9uICcgKyAndGhhdCBjcmVhdGVzIGEgaGFuZGxlLiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCBjcmVhdGUgIT09IG51bGwgPyB0eXBlb2YgY3JlYXRlIDogJ251bGwnKTtcXG4gICAgfVxcbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xcblxcblxcbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XFxuICByZXR1cm4gbW91bnRFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xcbiAge1xcbiAgICBpZiAodHlwZW9mIGNyZWF0ZSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xcbiAgICB9XFxuICB9IC8vIFRPRE86IElmIGRlcHMgYXJlIHByb3ZpZGVkLCBzaG91bGQgd2Ugc2tpcCBjb21wYXJpbmcgdGhlIHJlZiBpdHNlbGY/XFxuXFxuXFxuICB2YXIgZWZmZWN0RGVwcyA9IGRlcHMgIT09IG51bGwgJiYgZGVwcyAhPT0gdW5kZWZpbmVkID8gZGVwcy5jb25jYXQoW3JlZl0pIDogbnVsbDtcXG4gIHJldHVybiB1cGRhdGVFZmZlY3RJbXBsKFVwZGF0ZSwgTGF5b3V0LCBpbXBlcmF0aXZlSGFuZGxlRWZmZWN0LmJpbmQobnVsbCwgY3JlYXRlLCByZWYpLCBlZmZlY3REZXBzKTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnREZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikgey8vIFRoaXMgaG9vayBpcyBub3JtYWxseSBhIG5vLW9wLlxcbiAgLy8gVGhlIHJlYWN0LWRlYnVnLWhvb2tzIHBhY2thZ2UgaW5qZWN0cyBpdHMgb3duIGltcGxlbWVudGF0aW9uXFxuICAvLyBzbyB0aGF0IGUuZy4gRGV2VG9vbHMgY2FuIGRpc3BsYXkgY3VzdG9tIGhvb2sgdmFsdWVzLlxcbn1cXG5cXG52YXIgdXBkYXRlRGVidWdWYWx1ZSA9IG1vdW50RGVidWdWYWx1ZTtcXG5cXG5mdW5jdGlvbiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKSB7XFxuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XFxuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtjYWxsYmFjaywgbmV4dERlcHNdO1xcbiAgcmV0dXJuIGNhbGxiYWNrO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcXG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcXG5cXG4gIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcXG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xcblxcbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtjYWxsYmFjaywgbmV4dERlcHNdO1xcbiAgcmV0dXJuIGNhbGxiYWNrO1xcbn1cXG5cXG5mdW5jdGlvbiBtb3VudE1lbW8obmV4dENyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XFxuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xcbiAgaG9vay5tZW1vaXplZFN0YXRlID0gW25leHRWYWx1ZSwgbmV4dERlcHNdO1xcbiAgcmV0dXJuIG5leHRWYWx1ZTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlTWVtbyhuZXh0Q3JlYXRlLCBkZXBzKSB7XFxuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XFxuICB2YXIgcHJldlN0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKHByZXZTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAvLyBBc3N1bWUgdGhlc2UgYXJlIGRlZmluZWQuIElmIHRoZXkncmUgbm90LCBhcmVIb29rSW5wdXRzRXF1YWwgd2lsbCB3YXJuLlxcbiAgICBpZiAobmV4dERlcHMgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2U3RhdGVbMV07XFxuXFxuICAgICAgaWYgKGFyZUhvb2tJbnB1dHNFcXVhbChuZXh0RGVwcywgcHJldkRlcHMpKSB7XFxuICAgICAgICByZXR1cm4gcHJldlN0YXRlWzBdO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIG5leHRWYWx1ZSA9IG5leHRDcmVhdGUoKTtcXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtuZXh0VmFsdWUsIG5leHREZXBzXTtcXG4gIHJldHVybiBuZXh0VmFsdWU7XFxufVxcblxcbmZ1bmN0aW9uIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKSB7XFxuICB2YXIgX21vdW50U3RhdGUgPSBtb3VudFN0YXRlKHZhbHVlKSxcXG4gICAgICBwcmV2VmFsdWUgPSBfbW91bnRTdGF0ZVswXSxcXG4gICAgICBzZXRWYWx1ZSA9IF9tb3VudFN0YXRlWzFdO1xcblxcbiAgbW91bnRFZmZlY3QoZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgcHJldmlvdXNDb25maWcgPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlO1xcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gY29uZmlnID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnO1xcblxcbiAgICB0cnkge1xcbiAgICAgIHNldFZhbHVlKHZhbHVlKTtcXG4gICAgfSBmaW5hbGx5IHtcXG4gICAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gcHJldmlvdXNDb25maWc7XFxuICAgIH1cXG4gIH0sIFt2YWx1ZSwgY29uZmlnXSk7XFxuICByZXR1cm4gcHJldlZhbHVlO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpIHtcXG4gIHZhciBfdXBkYXRlU3RhdGUgPSB1cGRhdGVTdGF0ZSgpLFxcbiAgICAgIHByZXZWYWx1ZSA9IF91cGRhdGVTdGF0ZVswXSxcXG4gICAgICBzZXRWYWx1ZSA9IF91cGRhdGVTdGF0ZVsxXTtcXG5cXG4gIHVwZGF0ZUVmZmVjdChmdW5jdGlvbiAoKSB7XFxuICAgIHZhciBwcmV2aW91c0NvbmZpZyA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2U7XFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBjb25maWcgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWc7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgc2V0VmFsdWUodmFsdWUpO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBwcmV2aW91c0NvbmZpZztcXG4gICAgfVxcbiAgfSwgW3ZhbHVlLCBjb25maWddKTtcXG4gIHJldHVybiBwcmV2VmFsdWU7XFxufVxcblxcbmZ1bmN0aW9uIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKSB7XFxuICB2YXIgX3JlcmVuZGVyU3RhdGUgPSByZXJlbmRlclN0YXRlKCksXFxuICAgICAgcHJldlZhbHVlID0gX3JlcmVuZGVyU3RhdGVbMF0sXFxuICAgICAgc2V0VmFsdWUgPSBfcmVyZW5kZXJTdGF0ZVsxXTtcXG5cXG4gIHVwZGF0ZUVmZmVjdChmdW5jdGlvbiAoKSB7XFxuICAgIHZhciBwcmV2aW91c0NvbmZpZyA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2U7XFxuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBjb25maWcgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWc7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgc2V0VmFsdWUodmFsdWUpO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBwcmV2aW91c0NvbmZpZztcXG4gICAgfVxcbiAgfSwgW3ZhbHVlLCBjb25maWddKTtcXG4gIHJldHVybiBwcmV2VmFsdWU7XFxufVxcblxcbmZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihzZXRQZW5kaW5nLCBjb25maWcsIGNhbGxiYWNrKSB7XFxuICB2YXIgcHJpb3JpdHlMZXZlbCA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XFxuICBydW5XaXRoUHJpb3JpdHkkMShwcmlvcml0eUxldmVsIDwgVXNlckJsb2NraW5nUHJpb3JpdHkkMSA/IFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEgOiBwcmlvcml0eUxldmVsLCBmdW5jdGlvbiAoKSB7XFxuICAgIHNldFBlbmRpbmcodHJ1ZSk7XFxuICB9KTtcXG4gIHJ1bldpdGhQcmlvcml0eSQxKHByaW9yaXR5TGV2ZWwgPiBOb3JtYWxQcmlvcml0eSA/IE5vcm1hbFByaW9yaXR5IDogcHJpb3JpdHlMZXZlbCwgZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgcHJldmlvdXNDb25maWcgPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlO1xcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gY29uZmlnID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnO1xcblxcbiAgICB0cnkge1xcbiAgICAgIHNldFBlbmRpbmcoZmFsc2UpO1xcbiAgICAgIGNhbGxiYWNrKCk7XFxuICAgIH0gZmluYWxseSB7XFxuICAgICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS5zdXNwZW5zZSA9IHByZXZpb3VzQ29uZmlnO1xcbiAgICB9XFxuICB9KTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRUcmFuc2l0aW9uKGNvbmZpZykge1xcbiAgdmFyIF9tb3VudFN0YXRlMiA9IG1vdW50U3RhdGUoZmFsc2UpLFxcbiAgICAgIGlzUGVuZGluZyA9IF9tb3VudFN0YXRlMlswXSxcXG4gICAgICBzZXRQZW5kaW5nID0gX21vdW50U3RhdGUyWzFdO1xcblxcbiAgdmFyIHN0YXJ0ID0gbW91bnRDYWxsYmFjayhzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nLCBjb25maWcpLCBbc2V0UGVuZGluZywgY29uZmlnXSk7XFxuICByZXR1cm4gW3N0YXJ0LCBpc1BlbmRpbmddO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVUcmFuc2l0aW9uKGNvbmZpZykge1xcbiAgdmFyIF91cGRhdGVTdGF0ZTIgPSB1cGRhdGVTdGF0ZSgpLFxcbiAgICAgIGlzUGVuZGluZyA9IF91cGRhdGVTdGF0ZTJbMF0sXFxuICAgICAgc2V0UGVuZGluZyA9IF91cGRhdGVTdGF0ZTJbMV07XFxuXFxuICB2YXIgc3RhcnQgPSB1cGRhdGVDYWxsYmFjayhzdGFydFRyYW5zaXRpb24uYmluZChudWxsLCBzZXRQZW5kaW5nLCBjb25maWcpLCBbc2V0UGVuZGluZywgY29uZmlnXSk7XFxuICByZXR1cm4gW3N0YXJ0LCBpc1BlbmRpbmddO1xcbn1cXG5cXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKSB7XFxuICB2YXIgX3JlcmVuZGVyU3RhdGUyID0gcmVyZW5kZXJTdGF0ZSgpLFxcbiAgICAgIGlzUGVuZGluZyA9IF9yZXJlbmRlclN0YXRlMlswXSxcXG4gICAgICBzZXRQZW5kaW5nID0gX3JlcmVuZGVyU3RhdGUyWzFdO1xcblxcbiAgdmFyIHN0YXJ0ID0gdXBkYXRlQ2FsbGJhY2soc3RhcnRUcmFuc2l0aW9uLmJpbmQobnVsbCwgc2V0UGVuZGluZywgY29uZmlnKSwgW3NldFBlbmRpbmcsIGNvbmZpZ10pO1xcbiAgcmV0dXJuIFtzdGFydCwgaXNQZW5kaW5nXTtcXG59XFxuXFxuZnVuY3Rpb24gZGlzcGF0Y2hBY3Rpb24oZmliZXIsIHF1ZXVlLCBhY3Rpb24pIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbM10gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcihcXFwiU3RhdGUgdXBkYXRlcyBmcm9tIHRoZSB1c2VTdGF0ZSgpIGFuZCB1c2VSZWR1Y2VyKCkgSG9va3MgZG9uJ3Qgc3VwcG9ydCB0aGUgXFxcIiArICdzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuIFRvIGV4ZWN1dGUgYSBzaWRlIGVmZmVjdCBhZnRlciAnICsgJ3JlbmRlcmluZywgZGVjbGFyZSBpdCBpbiB0aGUgY29tcG9uZW50IGJvZHkgd2l0aCB1c2VFZmZlY3QoKS4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICB2YXIgc3VzcGVuc2VDb25maWcgPSByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCk7XFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpO1xcbiAgdmFyIHVwZGF0ZSA9IHtcXG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxcbiAgICBzdXNwZW5zZUNvbmZpZzogc3VzcGVuc2VDb25maWcsXFxuICAgIGFjdGlvbjogYWN0aW9uLFxcbiAgICBlYWdlclJlZHVjZXI6IG51bGwsXFxuICAgIGVhZ2VyU3RhdGU6IG51bGwsXFxuICAgIG5leHQ6IG51bGxcXG4gIH07XFxuXFxuICB7XFxuICAgIHVwZGF0ZS5wcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XFxuICB9IC8vIEFwcGVuZCB0aGUgdXBkYXRlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXFxuXFxuXFxuICB2YXIgcGVuZGluZyA9IHF1ZXVlLnBlbmRpbmc7XFxuXFxuICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCB1cGRhdGUuIENyZWF0ZSBhIGNpcmN1bGFyIGxpc3QuXFxuICAgIHVwZGF0ZS5uZXh0ID0gdXBkYXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgdXBkYXRlLm5leHQgPSBwZW5kaW5nLm5leHQ7XFxuICAgIHBlbmRpbmcubmV4dCA9IHVwZGF0ZTtcXG4gIH1cXG5cXG4gIHF1ZXVlLnBlbmRpbmcgPSB1cGRhdGU7XFxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGZpYmVyID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEpIHtcXG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFN0YXNoIGl0IGluIGEgbGF6aWx5LWNyZWF0ZWQgbWFwIG9mXFxuICAgIC8vIHF1ZXVlIC0+IGxpbmtlZCBsaXN0IG9mIHVwZGF0ZXMuIEFmdGVyIHRoaXMgcmVuZGVyIHBhc3MsIHdlJ2xsIHJlc3RhcnRcXG4gICAgLy8gYW5kIGFwcGx5IHRoZSBzdGFzaGVkIHVwZGF0ZXMgb24gdG9wIG9mIHRoZSB3b3JrLWluLXByb2dyZXNzIGhvb2suXFxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSB0cnVlO1xcbiAgICB1cGRhdGUuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgfSBlbHNlIHtcXG4gICAgaWYgKGZpYmVyLmV4cGlyYXRpb25UaW1lID09PSBOb1dvcmsgJiYgKGFsdGVybmF0ZSA9PT0gbnVsbCB8fCBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPT09IE5vV29yaykpIHtcXG4gICAgICAvLyBUaGUgcXVldWUgaXMgY3VycmVudGx5IGVtcHR5LCB3aGljaCBtZWFucyB3ZSBjYW4gZWFnZXJseSBjb21wdXRlIHRoZVxcbiAgICAgIC8vIG5leHQgc3RhdGUgYmVmb3JlIGVudGVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIElmIHRoZSBuZXcgc3RhdGUgaXMgdGhlXFxuICAgICAgLy8gc2FtZSBhcyB0aGUgY3VycmVudCBzdGF0ZSwgd2UgbWF5IGJlIGFibGUgdG8gYmFpbCBvdXQgZW50aXJlbHkuXFxuICAgICAgdmFyIGxhc3RSZW5kZXJlZFJlZHVjZXIgPSBxdWV1ZS5sYXN0UmVuZGVyZWRSZWR1Y2VyO1xcblxcbiAgICAgIGlmIChsYXN0UmVuZGVyZWRSZWR1Y2VyICE9PSBudWxsKSB7XFxuICAgICAgICB2YXIgcHJldkRpc3BhdGNoZXI7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgIHZhciBjdXJyZW50U3RhdGUgPSBxdWV1ZS5sYXN0UmVuZGVyZWRTdGF0ZTtcXG4gICAgICAgICAgdmFyIGVhZ2VyU3RhdGUgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyKGN1cnJlbnRTdGF0ZSwgYWN0aW9uKTsgLy8gU3Rhc2ggdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUsIGFuZCB0aGUgcmVkdWNlciB1c2VkIHRvIGNvbXB1dGVcXG4gICAgICAgICAgLy8gaXQsIG9uIHRoZSB1cGRhdGUgb2JqZWN0LiBJZiB0aGUgcmVkdWNlciBoYXNuJ3QgY2hhbmdlZCBieSB0aGVcXG4gICAgICAgICAgLy8gdGltZSB3ZSBlbnRlciB0aGUgcmVuZGVyIHBoYXNlLCB0aGVuIHRoZSBlYWdlciBzdGF0ZSBjYW4gYmUgdXNlZFxcbiAgICAgICAgICAvLyB3aXRob3V0IGNhbGxpbmcgdGhlIHJlZHVjZXIgYWdhaW4uXFxuXFxuICAgICAgICAgIHVwZGF0ZS5lYWdlclJlZHVjZXIgPSBsYXN0UmVuZGVyZWRSZWR1Y2VyO1xcbiAgICAgICAgICB1cGRhdGUuZWFnZXJTdGF0ZSA9IGVhZ2VyU3RhdGU7XFxuXFxuICAgICAgICAgIGlmIChvYmplY3RJcyhlYWdlclN0YXRlLCBjdXJyZW50U3RhdGUpKSB7XFxuICAgICAgICAgICAgLy8gRmFzdCBwYXRoLiBXZSBjYW4gYmFpbCBvdXQgd2l0aG91dCBzY2hlZHVsaW5nIFJlYWN0IHRvIHJlLXJlbmRlci5cXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXFxuICAgICAgICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCByZS1yZW5kZXJzIGZvciBhIGRpZmZlcmVudCByZWFzb24gYW5kIGJ5IHRoYXRcXG4gICAgICAgICAgICAvLyB0aW1lIHRoZSByZWR1Y2VyIGhhcyBjaGFuZ2VkLlxcbiAgICAgICAgICAgIHJldHVybjtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsvLyBTdXBwcmVzcyB0aGUgZXJyb3IuIEl0IHdpbGwgdGhyb3cgYWdhaW4gaW4gdGhlIHJlbmRlciBwaGFzZS5cXG4gICAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB7XFxuICAgICAgLy8gJEZsb3dFeHBlY3RlZEVycm9yIC0gamVzdCBpc24ndCBhIGdsb2JhbCwgYW5kIGlzbid0IHJlY29nbml6ZWQgb3V0c2lkZSBvZiB0ZXN0c1xcbiAgICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGplc3QpIHtcXG4gICAgICAgIHdhcm5JZk5vdFNjb3BlZFdpdGhNYXRjaGluZ0FjdChmaWJlcik7XFxuICAgICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdVcGRhdGVzSW5EZXYoZmliZXIpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBzY2hlZHVsZVdvcmsoZmliZXIsIGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG59XFxuXFxudmFyIENvbnRleHRPbmx5RGlzcGF0Y2hlciA9IHtcXG4gIHJlYWRDb250ZXh0OiByZWFkQ29udGV4dCxcXG4gIHVzZUNhbGxiYWNrOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VDb250ZXh0OiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcXG4gIHVzZUltcGVyYXRpdmVIYW5kbGU6IHRocm93SW52YWxpZEhvb2tFcnJvcixcXG4gIHVzZUxheW91dEVmZmVjdDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlUmVkdWNlcjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlUmVmOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlRGVidWdWYWx1ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxcbiAgdXNlUmVzcG9uZGVyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VEZWZlcnJlZFZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXFxuICB1c2VUcmFuc2l0aW9uOiB0aHJvd0ludmFsaWRIb29rRXJyb3JcXG59O1xcbnZhciBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSBudWxsO1xcbnZhciBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWID0gbnVsbDtcXG52YXIgSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XFxudmFyIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XFxudmFyIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSBudWxsO1xcbnZhciBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFViA9IG51bGw7XFxudmFyIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSBudWxsO1xcblxcbntcXG4gIHZhciB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MgPSBmdW5jdGlvbiAoKSB7XFxuICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcXG4gIH07XFxuXFxuICB2YXIgd2FybkludmFsaWRIb29rQWNjZXNzID0gZnVuY3Rpb24gKCkge1xcbiAgICBlcnJvcignRG8gbm90IGNhbGwgSG9va3MgaW5zaWRlIHVzZUVmZmVjdCguLi4pLCB1c2VNZW1vKC4uLiksIG9yIG90aGVyIGJ1aWx0LWluIEhvb2tzLiAnICsgJ1lvdSBjYW4gb25seSBjYWxsIEhvb2tzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgeW91ciBSZWFjdCBmdW5jdGlvbi4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICcgKyAnaHR0cHM6Ly9mYi5tZS9ydWxlcy1vZi1ob29rcycpO1xcbiAgfTtcXG5cXG4gIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IHtcXG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcXG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcXG4gICAgICByZXR1cm4gbW91bnRJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XFxuICAgIH0sXFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiBtb3VudFN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xcbiAgICB9LFxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnREZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpO1xcbiAgICB9LFxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKGNvbmZpZyk7XFxuICAgIH1cXG4gIH07XFxuICBIb29rc0Rpc3BhdGNoZXJPbk1vdW50V2l0aEhvb2tUeXBlc0luREVWID0ge1xcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gbW91bnRNZW1vKGNyZWF0ZSwgZGVwcyk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xcbiAgICB9LFxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xcbiAgICB9LFxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUsIGNvbmZpZyk7XFxuICAgIH0sXFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKGNvbmZpZyk7XFxuICAgIH1cXG4gIH07XFxuICBIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWID0ge1xcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xcbiAgICB9LFxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xcbiAgICB9LFxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpO1xcbiAgICB9LFxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oY29uZmlnKTtcXG4gICAgfVxcbiAgfTtcXG4gIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IHtcXG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHJlcmVuZGVyUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcXG4gICAgfSxcXG4gICAgdXNlU3RhdGU6IGZ1bmN0aW9uIChpbml0aWFsU3RhdGUpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XFxuICAgIH0sXFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcXG4gICAgfSxcXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKTtcXG4gICAgfVxcbiAgfTtcXG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSB7XFxuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgd2FybkludmFsaWRDb250ZXh0QWNjZXNzKCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gbW91bnRMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudFJlZihpbml0aWFsVmFsdWUpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBtb3VudERlYnVnVmFsdWUoKTtcXG4gICAgfSxcXG4gICAgdXNlUmVzcG9uZGVyOiBmdW5jdGlvbiAocmVzcG9uZGVyLCBwcm9wcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlc3BvbmRlcic7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xcbiAgICB9LFxcbiAgICB1c2VEZWZlcnJlZFZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcXG4gICAgfSxcXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbihjb25maWcpO1xcbiAgICB9XFxuICB9O1xcbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSB7XFxuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgd2FybkludmFsaWRDb250ZXh0QWNjZXNzKCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xcbiAgICB9LFxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VMYXlvdXRFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcXG4gICAgfSxcXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW8oY3JlYXRlLCBkZXBzKTtcXG4gICAgICB9IGZpbmFsbHkge1xcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxuICAgICAgfVxcbiAgICB9LFxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XFxuICAgIH0sXFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcXG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XFxuICAgIH0sXFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZURlZmVycmVkVmFsdWUodmFsdWUsIGNvbmZpZyk7XFxuICAgIH0sXFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbihjb25maWcpO1xcbiAgICB9XFxuICB9O1xcbiAgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IHtcXG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcXG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcXG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcXG4gICAgfSxcXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XFxuICAgIH0sXFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICByZXR1cm4gdXBkYXRlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XFxuICAgIH0sXFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUxheW91dEVmZmVjdCc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbiAgICB9LFxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcXG4gICAgICB9XFxuICAgIH0sXFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHVwZGF0ZVJlZigpO1xcbiAgICB9LFxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVN0YXRlJztcXG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcXG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XFxuXFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xcbiAgICAgIH1cXG4gICAgfSxcXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XFxuICAgIH0sXFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcXG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiBjcmVhdGVEZXByZWNhdGVkUmVzcG9uZGVyTGlzdGVuZXIocmVzcG9uZGVyLCBwcm9wcyk7XFxuICAgIH0sXFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XFxuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVmZXJyZWRWYWx1ZSc7XFxuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XFxuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XFxuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcXG4gICAgfSxcXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xcbiAgICAgIHJldHVybiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKTtcXG4gICAgfVxcbiAgfTtcXG59XFxuXFxudmFyIG5vdyQxID0gU2NoZWR1bGVyLnVuc3RhYmxlX25vdztcXG52YXIgY29tbWl0VGltZSA9IDA7XFxudmFyIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XFxuXFxuZnVuY3Rpb24gZ2V0Q29tbWl0VGltZSgpIHtcXG4gIHJldHVybiBjb21taXRUaW1lO1xcbn1cXG5cXG5mdW5jdGlvbiByZWNvcmRDb21taXRUaW1lKCkge1xcblxcbiAgY29tbWl0VGltZSA9IG5vdyQxKCk7XFxufVxcblxcbmZ1bmN0aW9uIHN0YXJ0UHJvZmlsZXJUaW1lcihmaWJlcikge1xcblxcbiAgcHJvZmlsZXJTdGFydFRpbWUgPSBub3ckMSgpO1xcblxcbiAgaWYgKGZpYmVyLmFjdHVhbFN0YXJ0VGltZSA8IDApIHtcXG4gICAgZmliZXIuYWN0dWFsU3RhcnRUaW1lID0gbm93JDEoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmcoZmliZXIpIHtcXG5cXG4gIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XFxufVxcblxcbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEoZmliZXIsIG92ZXJyaWRlQmFzZVRpbWUpIHtcXG5cXG4gIGlmIChwcm9maWxlclN0YXJ0VGltZSA+PSAwKSB7XFxuICAgIHZhciBlbGFwc2VkVGltZSA9IG5vdyQxKCkgLSBwcm9maWxlclN0YXJ0VGltZTtcXG4gICAgZmliZXIuYWN0dWFsRHVyYXRpb24gKz0gZWxhcHNlZFRpbWU7XFxuXFxuICAgIGlmIChvdmVycmlkZUJhc2VUaW1lKSB7XFxuICAgICAgZmliZXIuc2VsZkJhc2VEdXJhdGlvbiA9IGVsYXBzZWRUaW1lO1xcbiAgICB9XFxuXFxuICAgIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XFxuICB9XFxufVxcblxcbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXFxuXFxudmFyIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gbnVsbDtcXG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XFxudmFyIGlzSHlkcmF0aW5nID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gZW50ZXJIeWRyYXRpb25TdGF0ZShmaWJlcikge1xcblxcbiAgdmFyIHBhcmVudEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XFxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpO1xcbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcXG4gIGlzSHlkcmF0aW5nID0gdHJ1ZTtcXG4gIHJldHVybiB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XFxuICB7XFxuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XFxuICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgIGRpZE5vdEh5ZHJhdGVDb250YWluZXJJbnN0YW5jZShyZXR1cm5GaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbywgaW5zdGFuY2UpO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgZGlkTm90SHlkcmF0ZUluc3RhbmNlKHJldHVybkZpYmVyLnR5cGUsIHJldHVybkZpYmVyLm1lbW9pemVkUHJvcHMsIHJldHVybkZpYmVyLnN0YXRlTm9kZSwgaW5zdGFuY2UpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBjaGlsZFRvRGVsZXRlID0gY3JlYXRlRmliZXJGcm9tSG9zdEluc3RhbmNlRm9yRGVsZXRpb24oKTtcXG4gIGNoaWxkVG9EZWxldGUuc3RhdGVOb2RlID0gaW5zdGFuY2U7XFxuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xcbiAgY2hpbGRUb0RlbGV0ZS5lZmZlY3RUYWcgPSBEZWxldGlvbjsgLy8gVGhpcyBtaWdodCBzZWVtIGxpa2UgaXQgYmVsb25ncyBvbiBwcm9ncmVzc2VkRmlyc3REZWxldGlvbi4gSG93ZXZlcixcXG4gIC8vIHRoZXNlIGNoaWxkcmVuIGFyZSBub3QgcGFydCBvZiB0aGUgcmVjb25jaWxpYXRpb24gbGlzdCBvZiBjaGlsZHJlbi5cXG4gIC8vIEV2ZW4gaWYgd2UgYWJvcnQgYW5kIHJlcmVjb25jaWxlIHRoZSBjaGlsZHJlbiwgdGhhdCB3aWxsIHRyeSB0byBoeWRyYXRlXFxuICAvLyBhZ2FpbiBhbmQgdGhlIG5vZGVzIGFyZSBzdGlsbCBpbiB0aGUgaG9zdCB0cmVlIHNvIHRoZXNlIHdpbGwgYmVcXG4gIC8vIHJlY3JlYXRlZC5cXG5cXG4gIGlmIChyZXR1cm5GaWJlci5sYXN0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QubmV4dEVmZmVjdCA9IGNoaWxkVG9EZWxldGU7XFxuICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xcbiAgfSBlbHNlIHtcXG4gICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcXG4gIGZpYmVyLmVmZmVjdFRhZyA9IGZpYmVyLmVmZmVjdFRhZyAmIH5IeWRyYXRpbmcgfCBQbGFjZW1lbnQ7XFxuXFxuICB7XFxuICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XFxuICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcblxcbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICAgIHZhciB0eXBlID0gZmliZXIudHlwZTtcXG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcXG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0eXBlKTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgICAgICAgICAgICB2YXIgdGV4dCA9IGZpYmVyLnBlbmRpbmdQcm9wcztcXG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XFxuICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH1cXG5cXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcXG4gICAgICAgICAgdmFyIHBhcmVudFByb3BzID0gcmV0dXJuRmliZXIubWVtb2l6ZWRQcm9wcztcXG4gICAgICAgICAgdmFyIHBhcmVudEluc3RhbmNlID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlO1xcblxcbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICAgIHZhciBfdHlwZSA9IGZpYmVyLnR5cGU7XFxuICAgICAgICAgICAgICB2YXIgX3Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIF90eXBlKTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XFxuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIF90ZXh0KTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XFxuICAgICAgICAgICAgICBkaWROb3RGaW5kSHlkcmF0YWJsZVN1c3BlbnNlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMpO1xcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgZGVmYXVsdDpcXG4gICAgICAgIHJldHVybjtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpIHtcXG4gIHN3aXRjaCAoZmliZXIudGFnKSB7XFxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XFxuICAgICAgICB2YXIgcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XFxuICAgICAgICB2YXIgaW5zdGFuY2UgPSBjYW5IeWRyYXRlSW5zdGFuY2UobmV4dEluc3RhbmNlLCB0eXBlKTtcXG5cXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICBmaWJlci5zdGF0ZU5vZGUgPSBpbnN0YW5jZTtcXG4gICAgICAgICAgcmV0dXJuIHRydWU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciB0ZXh0ID0gZmliZXIucGVuZGluZ1Byb3BzO1xcbiAgICAgICAgdmFyIHRleHRJbnN0YW5jZSA9IGNhbkh5ZHJhdGVUZXh0SW5zdGFuY2UobmV4dEluc3RhbmNlLCB0ZXh0KTtcXG5cXG4gICAgICAgIGlmICh0ZXh0SW5zdGFuY2UgIT09IG51bGwpIHtcXG4gICAgICAgICAgZmliZXIuc3RhdGVOb2RlID0gdGV4dEluc3RhbmNlO1xcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH1cXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKGZpYmVyKSB7XFxuICBpZiAoIWlzSHlkcmF0aW5nKSB7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xcblxcbiAgaWYgKCFuZXh0SW5zdGFuY2UpIHtcXG4gICAgLy8gTm90aGluZyB0byBoeWRyYXRlLiBNYWtlIGl0IGFuIGluc2VydGlvbi5cXG4gICAgaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmliZXIpO1xcbiAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSA9IG5leHRJbnN0YW5jZTtcXG5cXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xcbiAgICAvLyBJZiB3ZSBjYW4ndCBoeWRyYXRlIHRoaXMgaW5zdGFuY2UgbGV0J3MgdHJ5IHRoZSBuZXh0IG9uZS5cXG4gICAgLy8gV2UgdXNlIHRoaXMgYXMgYSBoZXVyaXN0aWMuIEl0J3MgYmFzZWQgb24gaW50dWl0aW9uIGFuZCBub3QgZGF0YSBzbyBpdFxcbiAgICAvLyBtaWdodCBiZSBmbGF3ZWQgb3IgdW5uZWNlc3NhcnkuXFxuICAgIG5leHRJbnN0YW5jZSA9IGdldE5leHRIeWRyYXRhYmxlU2libGluZyhmaXJzdEF0dGVtcHRlZEluc3RhbmNlKTtcXG5cXG4gICAgaWYgKCFuZXh0SW5zdGFuY2UgfHwgIXRyeUh5ZHJhdGUoZmliZXIsIG5leHRJbnN0YW5jZSkpIHtcXG4gICAgICAvLyBOb3RoaW5nIHRvIGh5ZHJhdGUuIE1ha2UgaXQgYW4gaW5zZXJ0aW9uLlxcbiAgICAgIGluc2VydE5vbkh5ZHJhdGVkSW5zdGFuY2UoaHlkcmF0aW9uUGFyZW50RmliZXIsIGZpYmVyKTtcXG4gICAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xcbiAgICAgIGh5ZHJhdGlvblBhcmVudEZpYmVyID0gZmliZXI7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIFdlIG1hdGNoZWQgdGhlIG5leHQgb25lLCB3ZSdsbCBub3cgYXNzdW1lIHRoYXQgdGhlIGZpcnN0IG9uZSB3YXNcXG4gICAgLy8gc3VwZXJmbHVvdXMgYW5kIHdlJ2xsIGRlbGV0ZSBpdC4gU2luY2Ugd2UgY2FuJ3QgZWFnZXJseSBkZWxldGUgaXRcXG4gICAgLy8gd2UnbGwgaGF2ZSB0byBzY2hlZHVsZSBhIGRlbGV0aW9uLiBUbyBkbyB0aGF0LCB0aGlzIG5vZGUgbmVlZHMgYSBkdW1teVxcbiAgICAvLyBmaWJlciBhc3NvY2lhdGVkIHdpdGggaXQuXFxuXFxuXFxuICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XFxuICB9XFxuXFxuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xcbiAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGdldEZpcnN0SHlkcmF0YWJsZUNoaWxkKG5leHRJbnN0YW5jZSk7XFxufVxcblxcbmZ1bmN0aW9uIHByZXBhcmVUb0h5ZHJhdGVIb3N0SW5zdGFuY2UoZmliZXIsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcXG5cXG4gIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcXG4gIHZhciB1cGRhdGVQYXlsb2FkID0gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCBmaWJlci50eXBlLCBmaWJlci5tZW1vaXplZFByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBmaWJlcik7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxcblxcbiAgZmliZXIudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcXG4gIC8vIGlzIGEgbmV3IHJlZiB3ZSBtYXJrIHRoaXMgYXMgYW4gdXBkYXRlLlxcblxcbiAgaWYgKHVwZGF0ZVBheWxvYWQgIT09IG51bGwpIHtcXG4gICAgcmV0dXJuIHRydWU7XFxuICB9XFxuXFxuICByZXR1cm4gZmFsc2U7XFxufVxcblxcbmZ1bmN0aW9uIHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlKGZpYmVyKSB7XFxuXFxuICB2YXIgdGV4dEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xcbiAgdmFyIHRleHRDb250ZW50ID0gZmliZXIubWVtb2l6ZWRQcm9wcztcXG4gIHZhciBzaG91bGRVcGRhdGUgPSBoeWRyYXRlVGV4dEluc3RhbmNlKHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQsIGZpYmVyKTtcXG5cXG4gIHtcXG4gICAgaWYgKHNob3VsZFVwZGF0ZSkge1xcbiAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlIGlzIGNhbGxlZCBpbiBhIGNvbnRleHQgd2hlcmUgdGhlXFxuICAgICAgLy8gaHlkcmF0aW9uIHBhcmVudCBpcyB0aGUgcGFyZW50IGhvc3QgY29tcG9uZW50IG9mIHRoaXMgaG9zdCB0ZXh0LlxcbiAgICAgIHZhciByZXR1cm5GaWJlciA9IGh5ZHJhdGlvblBhcmVudEZpYmVyO1xcblxcbiAgICAgIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCkge1xcbiAgICAgICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcXG4gICAgICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XFxuICAgICAgICAgICAgICBkaWROb3RNYXRjaEh5ZHJhdGVkQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dEluc3RhbmNlLCB0ZXh0Q29udGVudCk7XFxuICAgICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB2YXIgcGFyZW50VHlwZSA9IHJldHVybkZpYmVyLnR5cGU7XFxuICAgICAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xcbiAgICAgICAgICAgICAgdmFyIHBhcmVudEluc3RhbmNlID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlO1xcbiAgICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZFRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQpO1xcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gc2tpcFBhc3REZWh5ZHJhdGVkU3VzcGVuc2VJbnN0YW5jZShmaWJlcikge1xcblxcbiAgdmFyIHN1c3BlbnNlU3RhdGUgPSBmaWJlci5tZW1vaXplZFN0YXRlO1xcbiAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBzdXNwZW5zZVN0YXRlICE9PSBudWxsID8gc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkIDogbnVsbDtcXG5cXG4gIGlmICghc3VzcGVuc2VJbnN0YW5jZSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCB0byBoYXZlIGEgaHlkcmF0ZWQgc3VzcGVuc2UgaW5zdGFuY2UuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGVJbnN0YW5jZUFmdGVyU3VzcGVuc2VJbnN0YW5jZShzdXNwZW5zZUluc3RhbmNlKTtcXG59XFxuXFxuZnVuY3Rpb24gcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcikge1xcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcXG5cXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwgJiYgcGFyZW50LnRhZyAhPT0gSG9zdENvbXBvbmVudCAmJiBwYXJlbnQudGFnICE9PSBIb3N0Um9vdCAmJiBwYXJlbnQudGFnICE9PSBTdXNwZW5zZUNvbXBvbmVudCkge1xcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xcbiAgfVxcblxcbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XFxufVxcblxcbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XFxuXFxuICBpZiAoZmliZXIgIT09IGh5ZHJhdGlvblBhcmVudEZpYmVyKSB7XFxuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcXG4gICAgLy8gdHJlZS5cXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxcbiAgICAvLyB3ZSB3ZXJlIGFuIGluc2VydGlvbiBhbmQgbm93IG5lZWQgdG8gcG9wIHVwIHJlZW50ZXIgaHlkcmF0aW9uIG9mIG91clxcbiAgICAvLyBzaWJsaW5ncy5cXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XFxuICAgIGlzSHlkcmF0aW5nID0gdHJ1ZTtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIHR5cGUgPSBmaWJlci50eXBlOyAvLyBJZiB3ZSBoYXZlIGFueSByZW1haW5pbmcgaHlkcmF0YWJsZSBub2Rlcywgd2UgbmVlZCB0byBkZWxldGUgdGhlbSBub3cuXFxuICAvLyBXZSBvbmx5IGRvIHRoaXMgZGVlcGVyIHRoYW4gaGVhZCBhbmQgYm9keSBzaW5jZSB0aGV5IHRlbmQgdG8gaGF2ZSByYW5kb21cXG4gIC8vIG90aGVyIG5vZGVzIGluIHRoZW0uIFdlIGFsc28gaWdub3JlIGNvbXBvbmVudHMgd2l0aCBwdXJlIHRleHQgY29udGVudCBpblxcbiAgLy8gc2lkZSBvZiB0aGVtLlxcbiAgLy8gVE9ETzogQmV0dGVyIGhldXJpc3RpYy5cXG5cXG4gIGlmIChmaWJlci50YWcgIT09IEhvc3RDb21wb25lbnQgfHwgdHlwZSAhPT0gJ2hlYWQnICYmIHR5cGUgIT09ICdib2R5JyAmJiAhc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgZmliZXIubWVtb2l6ZWRQcm9wcykpIHtcXG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XFxuXFxuICAgIHdoaWxlIChuZXh0SW5zdGFuY2UpIHtcXG4gICAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIsIG5leHRJbnN0YW5jZSk7XFxuICAgICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG5leHRJbnN0YW5jZSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpO1xcblxcbiAgaWYgKGZpYmVyLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcXG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpO1xcbiAgfSBlbHNlIHtcXG4gICAgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IGh5ZHJhdGlvblBhcmVudEZpYmVyID8gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpYmVyLnN0YXRlTm9kZSkgOiBudWxsO1xcbiAgfVxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcblxcbmZ1bmN0aW9uIHJlc2V0SHlkcmF0aW9uU3RhdGUoKSB7XFxuXFxuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XFxuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gbnVsbDtcXG4gIGlzSHlkcmF0aW5nID0gZmFsc2U7XFxufVxcblxcbnZhciBSZWFjdEN1cnJlbnRPd25lciQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XFxudmFyIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcXG52YXIgZGlkV2FybkFib3V0QmFkQ2xhc3M7XFxudmFyIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQ7XFxudmFyIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudDtcXG52YXIgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudDtcXG52YXIgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzO1xcbnZhciBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzO1xcbnZhciBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcjtcXG52YXIgZGlkV2FybkFib3V0VGFpbE9wdGlvbnM7XFxuXFxue1xcbiAgZGlkV2FybkFib3V0QmFkQ2xhc3MgPSB7fTtcXG4gIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQgPSB7fTtcXG4gIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xcbiAgZGlkV2FybkFib3V0R2V0RGVyaXZlZFN0YXRlT25GdW5jdGlvbkNvbXBvbmVudCA9IHt9O1xcbiAgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzID0ge307XFxuICBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzID0gZmFsc2U7XFxuICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlciA9IHt9O1xcbiAgZGlkV2FybkFib3V0VGFpbE9wdGlvbnMgPSB7fTtcXG59XFxuXFxuZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XFxuICAgIC8vIElmIHRoaXMgaXMgYSBmcmVzaCBuZXcgY29tcG9uZW50IHRoYXQgaGFzbid0IGJlZW4gcmVuZGVyZWQgeWV0LCB3ZVxcbiAgICAvLyB3b24ndCB1cGRhdGUgaXRzIGNoaWxkIHNldCBieSBhcHBseWluZyBtaW5pbWFsIHNpZGUtZWZmZWN0cy4gSW5zdGVhZCxcXG4gICAgLy8gd2Ugd2lsbCBhZGQgdGhlbSBhbGwgdG8gdGhlIGNoaWxkIGJlZm9yZSBpdCBnZXRzIHJlbmRlcmVkLiBUaGF0IG1lYW5zXFxuICAgIC8vIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIHJlY29uY2lsaWF0aW9uIHBhc3MgYnkgbm90IHRyYWNraW5nIHNpZGUtZWZmZWN0cy5cXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBtb3VudENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIElmIHRoZSBjdXJyZW50IGNoaWxkIGlzIHRoZSBzYW1lIGFzIHRoZSB3b3JrIGluIHByb2dyZXNzLCBpdCBtZWFucyB0aGF0XFxuICAgIC8vIHdlIGhhdmVuJ3QgeWV0IHN0YXJ0ZWQgYW55IHdvcmsgb24gdGhlc2UgY2hpbGRyZW4uIFRoZXJlZm9yZSwgd2UgdXNlXFxuICAgIC8vIHRoZSBjbG9uZSBhbGdvcml0aG0gdG8gY3JlYXRlIGEgY29weSBvZiBhbGwgdGhlIGN1cnJlbnQgY2hpbGRyZW4uXFxuICAgIC8vIElmIHdlIGhhZCBhbnkgcHJvZ3Jlc3NlZCB3b3JrIGFscmVhZHksIHRoYXQgaXMgaW52YWxpZCBhdCB0aGlzIHBvaW50IHNvXFxuICAgIC8vIGxldCdzIHRocm93IGl0IG91dC5cXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudC5jaGlsZCwgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZvcmNlVW5tb3VudEN1cnJlbnRBbmRSZWNvbmNpbGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgZm9yayBvZiByZWNvbmNpbGVDaGlsZHJlbi4gSXQncyB1c2VkIGluIGNhc2VzIHdoZXJlIHdlXFxuICAvLyB3YW50IHRvIHJlY29uY2lsZSB3aXRob3V0IG1hdGNoaW5nIGFnYWluc3QgdGhlIGV4aXN0aW5nIHNldC4gVGhpcyBoYXMgdGhlXFxuICAvLyBlZmZlY3Qgb2YgYWxsIGN1cnJlbnQgY2hpbGRyZW4gYmVpbmcgdW5tb3VudGVkOyBldmVuIGlmIHRoZSB0eXBlIGFuZCBrZXlcXG4gIC8vIGFyZSB0aGUgc2FtZSwgdGhlIG9sZCBjaGlsZCBpcyB1bm1vdW50ZWQgYW5kIGEgbmV3IGNoaWxkIGlzIGNyZWF0ZWQuXFxuICAvL1xcbiAgLy8gVG8gZG8gdGhpcywgd2UncmUgZ29pbmcgdG8gZ28gdGhyb3VnaCB0aGUgcmVjb25jaWxlIGFsZ29yaXRobSB0d2ljZS4gSW5cXG4gIC8vIHRoZSBmaXJzdCBwYXNzLCB3ZSBzY2hlZHVsZSBhIGRlbGV0aW9uIGZvciBhbGwgdGhlIGN1cnJlbnQgY2hpbGRyZW4gYnlcXG4gIC8vIHBhc3NpbmcgbnVsbC5cXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVjb25jaWxlQ2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIGN1cnJlbnQuY2hpbGQsIG51bGwsIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gSW4gdGhlIHNlY29uZCBwYXNzLCB3ZSBtb3VudCB0aGUgbmV3IGNoaWxkcmVuLiBUaGUgdHJpY2sgaGVyZSBpcyB0aGF0IHdlXFxuICAvLyBwYXNzIG51bGwgaW4gcGxhY2Ugb2Ygd2hlcmUgd2UgdXN1YWxseSBwYXNzIHRoZSBjdXJyZW50IGNoaWxkIHNldC4gVGhpcyBoYXNcXG4gIC8vIHRoZSBlZmZlY3Qgb2YgcmVtb3VudGluZyBhbGwgY2hpbGRyZW4gcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZWlyXFxuICAvLyBpZGVudGl0aWVzIG1hdGNoLlxcblxcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcXG4gIC8vIGhhc24ndCB5ZXQgbW91bnRlZC4gVGhpcyBoYXBwZW5zIGFmdGVyIHRoZSBmaXJzdCByZW5kZXIgc3VzcGVuZHMuXFxuICAvLyBXZSdsbCBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgdGhpcyBpcyBmaW5lIG9yIGNhbiBjYXVzZSBpc3N1ZXMuXFxuICB7XFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxcbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XFxuXFxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHJlbmRlciA9IENvbXBvbmVudC5yZW5kZXI7XFxuICB2YXIgcmVmID0gd29ya0luUHJvZ3Jlc3MucmVmOyAvLyBUaGUgcmVzdCBpcyBhIGZvcmsgb2YgdXBkYXRlRnVuY3Rpb25Db21wb25lbnRcXG5cXG4gIHZhciBuZXh0Q2hpbGRyZW47XFxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAge1xcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XFxuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyLCBuZXh0UHJvcHMsIHJlZiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgLy8gT25seSBkb3VibGUtcmVuZGVyIGNvbXBvbmVudHMgd2l0aCBIb29rc1xcbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlciwgbmV4dFByb3BzLCByZWYsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xcbiAgfVxcblxcbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFJlY2VpdmVVcGRhdGUpIHtcXG4gICAgYmFpbG91dEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cXG5cXG5cXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQZXJmb3JtZWRXb3JrO1xcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICB2YXIgdHlwZSA9IENvbXBvbmVudC50eXBlO1xcblxcbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXFxuICAgIENvbXBvbmVudC5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciByZXNvbHZlZFR5cGUgPSB0eXBlO1xcblxcbiAgICAgIHtcXG4gICAgICAgIHJlc29sdmVkVHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyh0eXBlKTtcXG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxcbiAgICAgIC8vIGFuZCB3aXRoIG9ubHkgdGhlIGRlZmF1bHQgc2hhbGxvdyBjb21wYXJpc29uLCB3ZSB1cGdyYWRlIGl0XFxuICAgICAgLy8gdG8gYSBTaW1wbGVNZW1vQ29tcG9uZW50IHRvIGFsbG93IGZhc3QgcGF0aCB1cGRhdGVzLlxcblxcblxcbiAgICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IFNpbXBsZU1lbW9Db21wb25lbnQ7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcXG5cXG4gICAgICB7XFxuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xcblxcbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xcbiAgICAgICAgLy8gSW5uZXIgbWVtbyBjb21wb25lbnQgcHJvcHMgYXJlbid0IGN1cnJlbnRseSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudC5cXG4gICAgICAgIC8vIFdlIGNvdWxkIG1vdmUgaXQgdGhlcmUsIGJ1dCB3ZSdkIHN0aWxsIG5lZWQgdGhpcyBmb3IgbGF6eSBjb2RlIHBhdGguXFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKHR5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGNoaWxkID0gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKENvbXBvbmVudC50eXBlLCBudWxsLCBuZXh0UHJvcHMsIG51bGwsIHdvcmtJblByb2dyZXNzLm1vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgY2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xcbiAgICBjaGlsZC5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcXG4gICAgcmV0dXJuIGNoaWxkO1xcbiAgfVxcblxcbiAge1xcbiAgICB2YXIgX3R5cGUgPSBDb21wb25lbnQudHlwZTtcXG4gICAgdmFyIF9pbm5lclByb3BUeXBlcyA9IF90eXBlLnByb3BUeXBlcztcXG5cXG4gICAgaWYgKF9pbm5lclByb3BUeXBlcykge1xcbiAgICAgIC8vIElubmVyIG1lbW8gY29tcG9uZW50IHByb3BzIGFyZW4ndCBjdXJyZW50bHkgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnQuXFxuICAgICAgLy8gV2UgY291bGQgbW92ZSBpdCB0aGVyZSwgYnV0IHdlJ2Qgc3RpbGwgbmVlZCB0aGlzIGZvciBsYXp5IGNvZGUgcGF0aC5cXG4gICAgICBjaGVja1Byb3BUeXBlcyhfaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcXG4gICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoX3R5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGN1cnJlbnRDaGlsZCA9IGN1cnJlbnQuY2hpbGQ7IC8vIFRoaXMgaXMgYWx3YXlzIGV4YWN0bHkgb25lIGNoaWxkXFxuXFxuICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxcbiAgICAvLyB1bmxpa2UgY3VycmVudC5tZW1vaXplZFByb3BzIHdoaWNoIHdpbGwgYmUgdGhlIHVucmVzb2x2ZWQgb25lcy5cXG4gICAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnRDaGlsZC5tZW1vaXplZFByb3BzOyAvLyBEZWZhdWx0IHRvIHNoYWxsb3cgY29tcGFyaXNvblxcblxcbiAgICB2YXIgY29tcGFyZSA9IENvbXBvbmVudC5jb21wYXJlO1xcbiAgICBjb21wYXJlID0gY29tcGFyZSAhPT0gbnVsbCA/IGNvbXBhcmUgOiBzaGFsbG93RXF1YWw7XFxuXFxuICAgIGlmIChjb21wYXJlKHByZXZQcm9wcywgbmV4dFByb3BzKSAmJiBjdXJyZW50LnJlZiA9PT0gd29ya0luUHJvZ3Jlc3MucmVmKSB7XFxuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgfVxcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXFxuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcXG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgbmV4dFByb3BzKTtcXG4gIG5ld0NoaWxkLnJlZiA9IHdvcmtJblByb2dyZXNzLnJlZjtcXG4gIG5ld0NoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBuZXdDaGlsZDtcXG4gIHJldHVybiBuZXdDaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVE9ETzogY3VycmVudCBjYW4gYmUgbm9uLW51bGwgaGVyZSBldmVuIGlmIHRoZSBjb21wb25lbnRcXG4gIC8vIGhhc24ndCB5ZXQgbW91bnRlZC4gVGhpcyBoYXBwZW5zIHdoZW4gdGhlIGlubmVyIHJlbmRlciBzdXNwZW5kcy5cXG4gIC8vIFdlJ2xsIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGlzIGZpbmUgb3IgY2FuIGNhdXNlIGlzc3Vlcy5cXG4gIHtcXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XFxuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcXG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXFxuICAgICAgdmFyIG91dGVyTWVtb1R5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcXG5cXG4gICAgICBpZiAob3V0ZXJNZW1vVHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XFxuICAgICAgICAvLyBXZSB3YXJuIHdoZW4geW91IGRlZmluZSBwcm9wVHlwZXMgb24gbGF6eSgpXFxuICAgICAgICAvLyBzbyBsZXQncyBqdXN0IHNraXAgb3ZlciBpdCB0byBmaW5kIG1lbW8oKSBvdXRlciB3cmFwcGVyLlxcbiAgICAgICAgLy8gSW5uZXIgcHJvcHMgZm9yIG1lbW8gYXJlIHZhbGlkYXRlZCBsYXRlci5cXG4gICAgICAgIG91dGVyTWVtb1R5cGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQob3V0ZXJNZW1vVHlwZSk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IG91dGVyTWVtb1R5cGUgJiYgb3V0ZXJNZW1vVHlwZS5wcm9wVHlwZXM7XFxuXFxuICAgICAgaWYgKG91dGVyUHJvcFR5cGVzKSB7XFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhvdXRlclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCAoU2ltcGxlTWVtb0NvbXBvbmVudCBoYXMgbm8gZGVmYXVsdFByb3BzKVxcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKG91dGVyTWVtb1R5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgICB9IC8vIElubmVyIHByb3BUeXBlcyB3aWxsIGJlIHZhbGlkYXRlZCBpbiB0aGUgZnVuY3Rpb24gY29tcG9uZW50IHBhdGguXFxuXFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XFxuXFxuICAgIGlmIChzaGFsbG93RXF1YWwocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYgJiYgKCAvLyBQcmV2ZW50IGJhaWxvdXQgaWYgdGhlIGltcGxlbWVudGF0aW9uIGNoYW5nZWQgZHVlIHRvIGhvdCByZWxvYWQuXFxuICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID09PSBjdXJyZW50LnR5cGUgKSkge1xcbiAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcXG5cXG4gICAgICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgLy8gVGhlIHBlbmRpbmcgdXBkYXRlIHByaW9yaXR5IHdhcyBjbGVhcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2ZcXG4gICAgICAgIC8vIGJlZ2luV29yay4gV2UncmUgYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBhZGRpdGlvbmFsXFxuICAgICAgICAvLyB1cGRhdGVzIGF0IGEgbG93ZXIgcHJpb3JpdHkuIFVzdWFsbHksIHRoZSBwcmlvcml0eSBsZXZlbCBvZiB0aGVcXG4gICAgICAgIC8vIHJlbWFpbmluZyB1cGRhdGVzIGlzIGFjY3VtbGF0ZWQgZHVyaW5nIHRoZSBldmFsdWF0aW9uIG9mIHRoZVxcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXFxuICAgICAgICAvLyB3ZSdyZSBiYWlsaW5nIG91dCBlYXJseSAqd2l0aG91dCogZXZhbHVhdGluZyB0aGUgY29tcG9uZW50LCB3ZSBuZWVkXFxuICAgICAgICAvLyB0byBhY2NvdW50IGZvciBpdCBoZXJlLCB0b28uIFJlc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBmaWJlci5cXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxcbiAgICAgICAgLy8gYmVjYXVzZSBhIE1lbW9Db21wb25lbnQgZmliZXIgZG9lcyBub3QgaGF2ZSBob29rcyBvciBhbiB1cGRhdGUgcXVldWU7XFxuICAgICAgICAvLyByYXRoZXIsIGl0IHdyYXBzIGFyb3VuZCBhbiBpbm5lciBjb21wb25lbnQsIHdoaWNoIG1heSBvciBtYXkgbm90XFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cXG4gICAgICAgIC8vIFRPRE86IE1vdmUgdGhlIHJlc2V0IGF0IGluIGJlZ2luV29yayBvdXQgb2YgdGhlIGNvbW1vbiBwYXRoIHNvIHRoYXRcXG4gICAgICAgIC8vIHRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gY3VycmVudC5leHBpcmF0aW9uVGltZTtcXG4gICAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gdXBkYXRlRnVuY3Rpb25Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUZyYWdtZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIG5leHRDaGlsZHJlbiA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlTW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBuZXh0Q2hpbGRyZW4gPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMuY2hpbGRyZW47XFxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVByb2ZpbGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbiAgfVxcblxcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHZhciBuZXh0Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XFxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcXG4gIHZhciByZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XFxuXFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiByZWYgIT09IG51bGwgfHwgY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50LnJlZiAhPT0gcmVmKSB7XFxuICAgIC8vIFNjaGVkdWxlIGEgUmVmIGVmZmVjdFxcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUmVmO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB7XFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxcbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XFxuXFxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XFxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGNvbnRleHQ7XFxuXFxuICB7XFxuICAgIHZhciB1bm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgdHJ1ZSk7XFxuICAgIGNvbnRleHQgPSBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQpO1xcbiAgfVxcblxcbiAgdmFyIG5leHRDaGlsZHJlbjtcXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICB7XFxuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcXG4gICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgY29udGV4dCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgLy8gT25seSBkb3VibGUtcmVuZGVyIGNvbXBvbmVudHMgd2l0aCBIb29rc1xcbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICBuZXh0Q2hpbGRyZW4gPSByZW5kZXJXaXRoSG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCBjb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmICFkaWRSZWNlaXZlVXBkYXRlKSB7XFxuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXFxuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlQ2xhc3NDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAge1xcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcXG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xcblxcbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH0gLy8gUHVzaCBjb250ZXh0IHByb3ZpZGVycyBlYXJseSB0byBwcmV2ZW50IGNvbnRleHQgc3RhY2sgbWlzbWF0Y2hlcy5cXG4gIC8vIER1cmluZyBtb3VudGluZyB3ZSBkb24ndCBrbm93IHRoZSBjaGlsZCBjb250ZXh0IHlldCBhcyB0aGUgaW5zdGFuY2UgZG9lc24ndCBleGlzdC5cXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cXG5cXG5cXG4gIHZhciBoYXNDb250ZXh0O1xcblxcbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcXG4gICAgaGFzQ29udGV4dCA9IHRydWU7XFxuICAgIHB1c2hDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgfSBlbHNlIHtcXG4gICAgaGFzQ29udGV4dCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG4gIHZhciBzaG91bGRVcGRhdGU7XFxuXFxuICBpZiAoaW5zdGFuY2UgPT09IG51bGwpIHtcXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICAvLyBBIGNsYXNzIGNvbXBvbmVudCB3aXRob3V0IGFuIGluc3RhbmNlIG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZFxcbiAgICAgIC8vIGluc2lkZSBhIG5vbi1jb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0b1xcbiAgICAgIC8vIHRyZWF0IGl0IGxpa2UgYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeVxcbiAgICAgIC8vIGNvbW1pdHRlZC4gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxcbiAgICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBTaW5jZSB0aGlzIGlzIGNvbmNlcHR1YWxseSBhIG5ldyBmaWJlciwgc2NoZWR1bGUgYSBQbGFjZW1lbnQgZWZmZWN0XFxuXFxuICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcXG4gICAgfSAvLyBJbiB0aGUgaW5pdGlhbCBwYXNzIHdlIG1pZ2h0IG5lZWQgdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZS5cXG5cXG5cXG4gICAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xcbiAgICBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHNob3VsZFVwZGF0ZSA9IHRydWU7XFxuICB9IGVsc2UgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgLy8gSW4gYSByZXN1bWUsIHdlJ2xsIGFscmVhZHkgaGF2ZSBhbiBpbnN0YW5jZSB3ZSBjYW4gcmV1c2UuXFxuICAgIHNob3VsZFVwZGF0ZSA9IHJlc3VtZU1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIHNob3VsZFVwZGF0ZSA9IHVwZGF0ZUNsYXNzSW5zdGFuY2UoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9XFxuXFxuICB2YXIgbmV4dFVuaXRPZldvcmsgPSBmaW5pc2hDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBzaG91bGRVcGRhdGUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gIHtcXG4gICAgdmFyIGluc3QgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuXFxuICAgIGlmIChpbnN0LnByb3BzICE9PSBuZXh0UHJvcHMpIHtcXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcXG4gICAgICAgIGVycm9yKCdJdCBsb29rcyBsaWtlICVzIGlzIHJlYXNzaWduaW5nIGl0cyBvd24gYHRoaXMucHJvcHNgIHdoaWxlIHJlbmRlcmluZy4gJyArICdUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIGNhbiBsZWFkIHRvIGNvbmZ1c2luZyBidWdzLicsIGdldENvbXBvbmVudE5hbWUod29ya0luUHJvZ3Jlc3MudHlwZSkgfHwgJ2EgY29tcG9uZW50Jyk7XFxuICAgICAgfVxcblxcbiAgICAgIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSB0cnVlO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbmV4dFVuaXRPZldvcms7XFxufVxcblxcbmZ1bmN0aW9uIGZpbmlzaENsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHNob3VsZFVwZGF0ZSwgaGFzQ29udGV4dCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIFJlZnMgc2hvdWxkIHVwZGF0ZSBldmVuIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlXFxuICBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKTtcXG4gIHZhciBkaWRDYXB0dXJlRXJyb3IgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcblxcbiAgaWYgKCFzaG91bGRVcGRhdGUgJiYgIWRpZENhcHR1cmVFcnJvcikge1xcbiAgICAvLyBDb250ZXh0IHByb3ZpZGVycyBzaG91bGQgZGVmZXIgdG8gc0NVIGZvciByZW5kZXJpbmdcXG4gICAgaWYgKGhhc0NvbnRleHQpIHtcXG4gICAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIGZhbHNlKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgfVxcblxcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlOyAvLyBSZXJlbmRlclxcblxcbiAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XFxuICB2YXIgbmV4dENoaWxkcmVuO1xcblxcbiAgaWYgKGRpZENhcHR1cmVFcnJvciAmJiB0eXBlb2YgQ29tcG9uZW50LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAvLyBJZiB3ZSBjYXB0dXJlZCBhbiBlcnJvciwgYnV0IGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciBpcyBub3QgZGVmaW5lZCxcXG4gICAgLy8gdW5tb3VudCBhbGwgdGhlIGNoaWxkcmVuLiBjb21wb25lbnREaWRDYXRjaCB3aWxsIHNjaGVkdWxlIGFuIHVwZGF0ZSB0b1xcbiAgICAvLyByZS1yZW5kZXIgYSBmYWxsYmFjay4gVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgd2UgbWlncmF0ZSBldmVyeW9uZSB0b1xcbiAgICAvLyB0aGUgbmV3IEFQSS5cXG4gICAgLy8gVE9ETzogV2FybiBpbiBhIGZ1dHVyZSByZWxlYXNlLlxcbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xcblxcbiAgICB7XFxuICAgICAgc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmcoKTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAge1xcbiAgICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xcbiAgICAgIG5leHRDaGlsZHJlbiA9IGluc3RhbmNlLnJlbmRlcigpO1xcblxcbiAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcXG4gICAgICAgIGluc3RhbmNlLnJlbmRlcigpO1xcbiAgICAgIH1cXG5cXG4gICAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XFxuICAgIH1cXG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxcblxcblxcbiAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBlcmZvcm1lZFdvcms7XFxuXFxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcXG4gICAgLy8gSWYgd2UncmUgcmVjb3ZlcmluZyBmcm9tIGFuIGVycm9yLCByZWNvbmNpbGUgd2l0aG91dCByZXVzaW5nIGFueSBvZlxcbiAgICAvLyB0aGUgZXhpc3RpbmcgY2hpbGRyZW4uIENvbmNlcHR1YWxseSwgdGhlIG5vcm1hbCBjaGlsZHJlbiBhbmQgdGhlIGNoaWxkcmVuXFxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxcbiAgICAvLyBub3JtYWwgY2hpbGRyZW4gZXZlbiBpZiB0aGVpciBpZGVudGl0aWVzIG1hdGNoLlxcbiAgICBmb3JjZVVubW91bnRDdXJyZW50QW5kUmVjb25jaWxlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gLy8gTWVtb2l6ZSBzdGF0ZSB1c2luZyB0aGUgdmFsdWVzIHdlIGp1c3QgdXNlZCB0byByZW5kZXIuXFxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cXG5cXG5cXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXFxuXFxuICBpZiAoaGFzQ29udGV4dCkge1xcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XFxuICB2YXIgcm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG5cXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QucGVuZGluZ0NvbnRleHQsIHJvb3QucGVuZGluZ0NvbnRleHQgIT09IHJvb3QuY29udGV4dCk7XFxuICB9IGVsc2UgaWYgKHJvb3QuY29udGV4dCkge1xcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxcbiAgICBwdXNoVG9wTGV2ZWxDb250ZXh0T2JqZWN0KHdvcmtJblByb2dyZXNzLCByb290LmNvbnRleHQsIGZhbHNlKTtcXG4gIH1cXG5cXG4gIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCByb290LmNvbnRhaW5lckluZm8pO1xcbn1cXG5cXG5mdW5jdGlvbiB1cGRhdGVIb3N0Um9vdChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XFxuXFxuICBpZiAoIShjdXJyZW50ICE9PSBudWxsICYmIHVwZGF0ZVF1ZXVlICE9PSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJZiB0aGUgcm9vdCBkb2VzIG5vdCBoYXZlIGFuIHVwZGF0ZVF1ZXVlLCB3ZSBzaG91bGQgaGF2ZSBhbHJlYWR5IGJhaWxlZCBvdXQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIHByZXZTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuICB2YXIgcHJldkNoaWxkcmVuID0gcHJldlN0YXRlICE9PSBudWxsID8gcHJldlN0YXRlLmVsZW1lbnQgOiBudWxsO1xcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIG5leHRQcm9wcywgbnVsbCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgdmFyIG5leHRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcXG4gIC8vIGJlaW5nIGNhbGxlZCBcXFwiZWxlbWVudFxcXCIuXFxuXFxuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFN0YXRlLmVsZW1lbnQ7XFxuXFxuICBpZiAobmV4dENoaWxkcmVuID09PSBwcmV2Q2hpbGRyZW4pIHtcXG4gICAgLy8gSWYgdGhlIHN0YXRlIGlzIHRoZSBzYW1lIGFzIGJlZm9yZSwgdGhhdCdzIGEgYmFpbG91dCBiZWNhdXNlIHdlIGhhZFxcbiAgICAvLyBubyB3b3JrIHRoYXQgZXhwaXJlcyBhdCB0aGlzIHRpbWUuXFxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcXG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcblxcbiAgaWYgKHJvb3QuaHlkcmF0ZSAmJiBlbnRlckh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKSkge1xcbiAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFueSBjdXJyZW50IGNoaWxkcmVuIHRoaXMgbWlnaHQgYmUgdGhlIGZpcnN0IHBhc3MuXFxuICAgIC8vIFdlIGFsd2F5cyB0cnkgdG8gaHlkcmF0ZS4gSWYgdGhpcyBpc24ndCBhIGh5ZHJhdGlvbiBwYXNzIHRoZXJlIHdvbid0XFxuICAgIC8vIGJlIGFueSBjaGlsZHJlbiB0byBoeWRyYXRlIHdoaWNoIGlzIGVmZmVjdGl2ZWx5IHRoZSBzYW1lIHRoaW5nIGFzXFxuICAgIC8vIG5vdCBoeWRyYXRpbmcuXFxuICAgIHZhciBjaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IGNoaWxkO1xcbiAgICB2YXIgbm9kZSA9IGNoaWxkO1xcblxcbiAgICB3aGlsZSAobm9kZSkge1xcbiAgICAgIC8vIE1hcmsgZWFjaCBjaGlsZCBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcXG4gICAgICAvLyB0cmVlIGlzIHBhcnQgb2YgYSBoeWRyYXRpbmcgdHJlZS4gVGhpcyBpcyB1c2VkIHRvIGRldGVybWluZSBpZiBhIGNoaWxkXFxuICAgICAgLy8gbm9kZSBoYXMgZnVsbHkgbW91bnRlZCB5ZXQsIGFuZCBmb3Igc2NoZWR1bGluZyBldmVudCByZXBsYXlpbmcuXFxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXFxuICAgICAgLy8gaW5zZXJ0ZWQgaW50byB0aGUgUmVhY3QgdHJlZSBoZXJlLiBJdCBqdXN0IGhhcHBlbnMgdG8gbm90IG5lZWQgRE9NXFxuICAgICAgLy8gbXV0YXRpb25zIGJlY2F1c2UgaXQgYWxyZWFkeSBleGlzdHMuXFxuICAgICAgbm9kZS5lZmZlY3RUYWcgPSBub2RlLmVmZmVjdFRhZyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XFxuICAgICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgLy8gT3RoZXJ3aXNlIHJlc2V0IGh5ZHJhdGlvbiBzdGF0ZSBpbiBjYXNlIHdlIGFib3J0ZWQgYW5kIHJlc3VtZWQgYW5vdGhlclxcbiAgICAvLyByb290LlxcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHB1c2hIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICB9XFxuXFxuICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBudWxsO1xcbiAgdmFyIG5leHRDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcXG4gIHZhciBpc0RpcmVjdFRleHRDaGlsZCA9IHNob3VsZFNldFRleHRDb250ZW50KHR5cGUsIG5leHRQcm9wcyk7XFxuXFxuICBpZiAoaXNEaXJlY3RUZXh0Q2hpbGQpIHtcXG4gICAgLy8gV2Ugc3BlY2lhbCBjYXNlIGEgZGlyZWN0IHRleHQgY2hpbGQgb2YgYSBob3N0IG5vZGUuIFRoaXMgaXMgYSBjb21tb25cXG4gICAgLy8gY2FzZS4gV2Ugd29uJ3QgaGFuZGxlIGl0IGFzIGEgcmVpZmllZCBjaGlsZC4gV2Ugd2lsbCBpbnN0ZWFkIGhhbmRsZVxcbiAgICAvLyB0aGlzIGluIHRoZSBob3N0IGVudmlyb25tZW50IHRoYXQgYWxzbyBoYXMgYWNjZXNzIHRvIHRoaXMgcHJvcC4gVGhhdFxcbiAgICAvLyBhdm9pZHMgYWxsb2NhdGluZyBhbm90aGVyIEhvc3RUZXh0IGZpYmVyIGFuZCB0cmF2ZXJzaW5nIGl0LlxcbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xcbiAgfSBlbHNlIGlmIChwcmV2UHJvcHMgIT09IG51bGwgJiYgc2hvdWxkU2V0VGV4dENvbnRlbnQodHlwZSwgcHJldlByb3BzKSkge1xcbiAgICAvLyBJZiB3ZSdyZSBzd2l0Y2hpbmcgZnJvbSBhIGRpcmVjdCB0ZXh0IGNoaWxkIHRvIGEgbm9ybWFsIGNoaWxkLCBvciB0b1xcbiAgICAvLyBlbXB0eSwgd2UgbmVlZCB0byBzY2hlZHVsZSB0aGUgdGV4dCBjb250ZW50IHRvIGJlIHJlc2V0LlxcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gQ29udGVudFJlc2V0O1xcbiAgfVxcblxcbiAgbWFya1JlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7IC8vIENoZWNrIHRoZSBob3N0IGNvbmZpZyB0byBzZWUgaWYgdGhlIGNoaWxkcmVuIGFyZSBvZmZzY3JlZW4vaGlkZGVuLlxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBDb25jdXJyZW50TW9kZSAmJiByZW5kZXJFeHBpcmF0aW9uVGltZSAhPT0gTmV2ZXIgJiYgc2hvdWxkRGVwcmlvcml0aXplU3VidHJlZSh0eXBlLCBuZXh0UHJvcHMpKSB7XFxuICAgIHtcXG4gICAgICBtYXJrU3Bhd25lZFdvcmsoTmV2ZXIpO1xcbiAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxcblxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBOZXZlcjtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZUhvc3RUZXh0KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7XFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICB9IC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVGhpcyBpcyB0ZXJtaW5hbC4gV2UnbGwgZG8gdGhlIGNvbXBsZXRpb24gc3RlcFxcbiAgLy8gaW1tZWRpYXRlbHkgYWZ0ZXIuXFxuXFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRMYXp5Q29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKF9jdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIC8vIEEgbGF6eSBjb21wb25lbnQgb25seSBtb3VudHMgaWYgaXQgc3VzcGVuZGVkIGluc2lkZSBhIG5vbi1cXG4gICAgLy8gY29uY3VycmVudCB0cmVlLCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIFdlIHdhbnQgdG8gdHJlYXQgaXQgbGlrZVxcbiAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cXG4gICAgLy8gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxcbiAgICBfY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBTaW5jZSB0aGlzIGlzIGNvbmNlcHR1YWxseSBhIG5ldyBmaWJlciwgc2NoZWR1bGUgYSBQbGFjZW1lbnQgZWZmZWN0XFxuXFxuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQbGFjZW1lbnQ7XFxuICB9XFxuXFxuICB2YXIgcHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFdlIGNhbid0IHN0YXJ0IGEgVXNlciBUaW1pbmcgbWVhc3VyZW1lbnQgd2l0aCBjb3JyZWN0IGxhYmVsIHlldC5cXG4gIC8vIENhbmNlbCBhbmQgcmVzdW1lIHJpZ2h0IGFmdGVyIHdlIGtub3cgdGhlIHRhZy5cXG5cXG4gIGNhbmNlbFdvcmtUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICB2YXIgQ29tcG9uZW50ID0gcmVhZExhenlDb21wb25lbnRUeXBlKGVsZW1lbnRUeXBlKTsgLy8gU3RvcmUgdGhlIHVud3JhcHBlZCBjb21wb25lbnQgaW4gdGhlIHR5cGUuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50O1xcbiAgdmFyIHJlc29sdmVkVGFnID0gd29ya0luUHJvZ3Jlc3MudGFnID0gcmVzb2x2ZUxhenlDb21wb25lbnRUYWcoQ29tcG9uZW50KTtcXG4gIHN0YXJ0V29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcXG4gIHZhciByZXNvbHZlZFByb3BzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIHByb3BzKTtcXG4gIHZhciBjaGlsZDtcXG5cXG4gIHN3aXRjaCAocmVzb2x2ZWRUYWcpIHtcXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KTtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY2hpbGQgPSB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICByZXR1cm4gY2hpbGQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgY2hpbGQgPSB1cGRhdGVDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICByZXR1cm4gY2hpbGQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoQ29tcG9uZW50KTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGNoaWxkID0gdXBkYXRlRm9yd2FyZFJlZihudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICByZXR1cm4gY2hpbGQ7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcXG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xcblxcbiAgICAgICAgICAgIGlmIChvdXRlclByb3BUeXBlcykge1xcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIHJlc29sdmVkUHJvcHMsIC8vIFJlc29sdmVkIGZvciBvdXRlciBvbmx5XFxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjaGlsZCA9IHVwZGF0ZU1lbW9Db21wb25lbnQobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQudHlwZSwgcmVzb2x2ZWRQcm9wcyksIC8vIFRoZSBpbm5lciB0eXBlIGNhbiBoYXZlIGRlZmF1bHRzIHRvb1xcbiAgICAgICAgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgIHJldHVybiBjaGlsZDtcXG4gICAgICB9XFxuICB9XFxuXFxuICB2YXIgaGludCA9ICcnO1xcblxcbiAge1xcbiAgICBpZiAoQ29tcG9uZW50ICE9PSBudWxsICYmIHR5cGVvZiBDb21wb25lbnQgPT09ICdvYmplY3QnICYmIENvbXBvbmVudC4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XFxuICAgICAgaGludCA9ICcgRGlkIHlvdSB3cmFwIGEgY29tcG9uZW50IGluIFJlYWN0LmxhenkoKSBtb3JlIHRoYW4gb25jZT8nO1xcbiAgICB9XFxuICB9IC8vIFRoaXMgbWVzc2FnZSBpbnRlbnRpb25hbGx5IGRvZXNuJ3QgbWVudGlvbiBGb3J3YXJkUmVmIG9yIE1lbW9Db21wb25lbnRcXG4gIC8vIGJlY2F1c2UgdGhlIGZhY3QgdGhhdCBpdCdzIGEgc2VwYXJhdGUgdHlwZSBvZiB3b3JrIGlzIGFuXFxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXFxuXFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkVsZW1lbnQgdHlwZSBpcyBpbnZhbGlkLiBSZWNlaXZlZCBhIHByb21pc2UgdGhhdCByZXNvbHZlcyB0bzogXFxcIiArIENvbXBvbmVudCArIFxcXCIuIExhenkgZWxlbWVudCB0eXBlIG11c3QgcmVzb2x2ZSB0byBhIGNsYXNzIG9yIGZ1bmN0aW9uLlxcXCIgKyBoaW50ICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbW91bnRJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChfY3VycmVudCAhPT0gbnVsbCkge1xcbiAgICAvLyBBbiBpbmNvbXBsZXRlIGNvbXBvbmVudCBvbmx5IG1vdW50cyBpZiBpdCBzdXNwZW5kZWQgaW5zaWRlIGEgbm9uLVxcbiAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXFxuICAgIC8vIGEgbmV3IG1vdW50LCBldmVuIHRob3VnaCBhbiBlbXB0eSB2ZXJzaW9uIG9mIGl0IGFscmVhZHkgY29tbWl0dGVkLlxcbiAgICAvLyBEaXNjb25uZWN0IHRoZSBhbHRlcm5hdGUgcG9pbnRlcnMuXFxuICAgIF9jdXJyZW50LmFsdGVybmF0ZSA9IG51bGw7XFxuICAgIHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZSA9IG51bGw7IC8vIFNpbmNlIHRoaXMgaXMgY29uY2VwdHVhbGx5IGEgbmV3IGZpYmVyLCBzY2hlZHVsZSBhIFBsYWNlbWVudCBlZmZlY3RcXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcXG4gIH0gLy8gUHJvbW90ZSB0aGUgZmliZXIgdG8gYSBjbGFzcyBhbmQgdHJ5IHJlbmRlcmluZyBhZ2Fpbi5cXG5cXG5cXG4gIHdvcmtJblByb2dyZXNzLnRhZyA9IENsYXNzQ29tcG9uZW50OyAvLyBUaGUgcmVzdCBvZiB0aGlzIGZ1bmN0aW9uIGlzIGEgZm9yayBvZiBgdXBkYXRlQ2xhc3NDb21wb25lbnRgXFxuICAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxcbiAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxcbiAgLy8gV2Ugd2lsbCBpbnZhbGlkYXRlIHRoZSBjaGlsZCBjb250ZXh0IGluIGZpbmlzaENsYXNzQ29tcG9uZW50KCkgcmlnaHQgYWZ0ZXIgcmVuZGVyaW5nLlxcblxcbiAgdmFyIGhhc0NvbnRleHQ7XFxuXFxuICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcXG4gICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICB9IGVsc2Uge1xcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XFxuICB9XFxuXFxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgY29uc3RydWN0Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMpO1xcbiAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGZpbmlzaENsYXNzQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG59XFxuXFxuZnVuY3Rpb24gbW91bnRJbmRldGVybWluYXRlQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKF9jdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIC8vIEFuIGluZGV0ZXJtaW5hdGUgY29tcG9uZW50IG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZCBpbnNpZGUgYSBub24tXFxuICAgIC8vIGNvbmN1cnJlbnQgdHJlZSwgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBXZSB3YW50IHRvIHRyZWF0IGl0IGxpa2VcXG4gICAgLy8gYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeSBjb21taXR0ZWQuXFxuICAgIC8vIERpc2Nvbm5lY3QgdGhlIGFsdGVybmF0ZSBwb2ludGVycy5cXG4gICAgX2N1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gbnVsbDsgLy8gU2luY2UgdGhpcyBpcyBjb25jZXB0dWFsbHkgYSBuZXcgZmliZXIsIHNjaGVkdWxlIGEgUGxhY2VtZW50IGVmZmVjdFxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xcbiAgfVxcblxcbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIGNvbnRleHQ7XFxuXFxuICB7XFxuICAgIHZhciB1bm1hc2tlZENvbnRleHQgPSBnZXRVbm1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgZmFsc2UpO1xcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcXG4gIH1cXG5cXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB2YXIgdmFsdWU7XFxuXFxuICB7XFxuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEJhZENsYXNzW2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICBlcnJvcihcXFwiVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBoYXZlIGEgcmVuZGVyIG1ldGhvZCwgYnV0IGRvZXNuJ3QgZXh0ZW5kIFJlYWN0LkNvbXBvbmVudC4gXFxcIiArICdUaGlzIGlzIGxpa2VseSB0byBjYXVzZSBlcnJvcnMuIENoYW5nZSAlcyB0byBleHRlbmQgUmVhY3QuQ29tcG9uZW50IGluc3RlYWQuJywgY29tcG9uZW50TmFtZSwgY29tcG9uZW50TmFtZSk7XFxuXFxuICAgICAgICBkaWRXYXJuQWJvdXRCYWRDbGFzc1tjb21wb25lbnROYW1lXSA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBudWxsKTtcXG4gICAgfVxcblxcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcXG4gICAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcXG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxcblxcblxcbiAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBlcmZvcm1lZFdvcms7XFxuXFxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcXG4gICAge1xcbiAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50W19jb21wb25lbnROYW1lXSkge1xcbiAgICAgICAgZXJyb3IoJ1RoZSA8JXMgLz4gY29tcG9uZW50IGFwcGVhcnMgdG8gYmUgYSBmdW5jdGlvbiBjb21wb25lbnQgdGhhdCByZXR1cm5zIGEgY2xhc3MgaW5zdGFuY2UuICcgKyAnQ2hhbmdlICVzIHRvIGEgY2xhc3MgdGhhdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCBpbnN0ZWFkLiAnICsgXFxcIklmIHlvdSBjYW4ndCB1c2UgYSBjbGFzcyB0cnkgYXNzaWduaW5nIHRoZSBwcm90b3R5cGUgb24gdGhlIGZ1bmN0aW9uIGFzIGEgd29ya2Fyb3VuZC4gXFxcIiArIFxcXCJgJXMucHJvdG90eXBlID0gUmVhY3QuQ29tcG9uZW50LnByb3RvdHlwZWAuIERvbid0IHVzZSBhbiBhcnJvdyBmdW5jdGlvbiBzaW5jZSBpdCBcXFwiICsgJ2Nhbm5vdCBiZSBjYWxsZWQgd2l0aCBgbmV3YCBieSBSZWFjdC4nLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUsIF9jb21wb25lbnROYW1lKTtcXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH0gLy8gUHJvY2VlZCB1bmRlciB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoaXMgaXMgYSBjbGFzcyBpbnN0YW5jZVxcblxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBDbGFzc0NvbXBvbmVudDsgLy8gVGhyb3cgb3V0IGFueSBob29rcyB0aGF0IHdlcmUgdXNlZC5cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDsgLy8gUHVzaCBjb250ZXh0IHByb3ZpZGVycyBlYXJseSB0byBwcmV2ZW50IGNvbnRleHQgc3RhY2sgbWlzbWF0Y2hlcy5cXG4gICAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxcbiAgICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXFxuXFxuICAgIHZhciBoYXNDb250ZXh0ID0gZmFsc2U7XFxuXFxuICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XFxuICAgICAgaGFzQ29udGV4dCA9IHRydWU7XFxuICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaGFzQ29udGV4dCA9IGZhbHNlO1xcbiAgICB9XFxuXFxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSB2YWx1ZS5zdGF0ZSAhPT0gbnVsbCAmJiB2YWx1ZS5zdGF0ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUuc3RhdGUgOiBudWxsO1xcbiAgICBpbml0aWFsaXplVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MpO1xcbiAgICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gQ29tcG9uZW50LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcXG5cXG4gICAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIHByb3BzKTtcXG4gICAgfVxcblxcbiAgICBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIHZhbHVlKTtcXG4gICAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHJldHVybiBmaW5pc2hDbGFzc0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlLCBoYXNDb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGZ1bmN0aW9uIGNvbXBvbmVudFxcbiAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBGdW5jdGlvbkNvbXBvbmVudDtcXG5cXG4gICAge1xcblxcbiAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcXG4gICAgICAgIC8vIE9ubHkgZG91YmxlLXJlbmRlciBjb21wb25lbnRzIHdpdGggSG9va3NcXG4gICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICAgIHZhbHVlID0gcmVuZGVyV2l0aEhvb2tzKG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBjb250ZXh0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHJlY29uY2lsZUNoaWxkcmVuKG51bGwsIHdvcmtJblByb2dyZXNzLCB2YWx1ZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICB7XFxuICAgICAgdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVGdW5jdGlvbkNvbXBvbmVudEluRGV2KHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQpIHtcXG4gIHtcXG4gICAgaWYgKENvbXBvbmVudCkge1xcbiAgICAgIGlmIChDb21wb25lbnQuY2hpbGRDb250ZXh0VHlwZXMpIHtcXG4gICAgICAgIGVycm9yKCclcyguLi4pOiBjaGlsZENvbnRleHRUeXBlcyBjYW5ub3QgYmUgZGVmaW5lZCBvbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4nLCBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MucmVmICE9PSBudWxsKSB7XFxuICAgICAgdmFyIGluZm8gPSAnJztcXG4gICAgICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcXG5cXG4gICAgICBpZiAob3duZXJOYW1lKSB7XFxuICAgICAgICBpbmZvICs9ICdcXFxcblxcXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBvd25lck5hbWUgKyAnYC4nO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgd2FybmluZ0tleSA9IG93bmVyTmFtZSB8fCB3b3JrSW5Qcm9ncmVzcy5fZGVidWdJRCB8fCAnJztcXG4gICAgICB2YXIgZGVidWdTb3VyY2UgPSB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2U7XFxuXFxuICAgICAgaWYgKGRlYnVnU291cmNlKSB7XFxuICAgICAgICB3YXJuaW5nS2V5ID0gZGVidWdTb3VyY2UuZmlsZU5hbWUgKyAnOicgKyBkZWJ1Z1NvdXJjZS5saW5lTnVtYmVyO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmc1t3YXJuaW5nS2V5XSkge1xcbiAgICAgICAgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzW3dhcm5pbmdLZXldID0gdHJ1ZTtcXG5cXG4gICAgICAgIGVycm9yKCdGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBiZSBnaXZlbiByZWZzLiAnICsgJ0F0dGVtcHRzIHRvIGFjY2VzcyB0aGlzIHJlZiB3aWxsIGZhaWwuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHVzZSBSZWFjdC5mb3J3YXJkUmVmKCk/JXMnLCBpbmZvKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgdmFyIF9jb21wb25lbnROYW1lMiA9IGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lMl0pIHtcXG4gICAgICAgIGVycm9yKCclczogRnVuY3Rpb24gY29tcG9uZW50cyBkbyBub3Qgc3VwcG9ydCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuJywgX2NvbXBvbmVudE5hbWUyKTtcXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgQ29tcG9uZW50LmNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBDb21wb25lbnQuY29udGV4dFR5cGUgIT09IG51bGwpIHtcXG4gICAgICB2YXIgX2NvbXBvbmVudE5hbWUzID0gZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcXG5cXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdKSB7XFxuICAgICAgICBlcnJvcignJXM6IEZ1bmN0aW9uIGNvbXBvbmVudHMgZG8gbm90IHN1cHBvcnQgY29udGV4dFR5cGUuJywgX2NvbXBvbmVudE5hbWUzKTtcXG5cXG4gICAgICAgIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudFtfY29tcG9uZW50TmFtZTNdID0gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxudmFyIFNVU1BFTkRFRF9NQVJLRVIgPSB7XFxuICBkZWh5ZHJhdGVkOiBudWxsLFxcbiAgcmV0cnlUaW1lOiBOb1dvcmtcXG59O1xcblxcbmZ1bmN0aW9uIHNob3VsZFJlbWFpbk9uRmFsbGJhY2soc3VzcGVuc2VDb250ZXh0LCBjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xcbiAgLy8gSWYgdGhlIGNvbnRleHQgaXMgdGVsbGluZyB1cyB0aGF0IHdlIHNob3VsZCBzaG93IGEgZmFsbGJhY2ssIGFuZCB3ZSdyZSBub3RcXG4gIC8vIGFscmVhZHkgc2hvd2luZyBjb250ZW50LCB0aGVuIHdlIHNob3VsZCBzaG93IHRoZSBmYWxsYmFjayBpbnN0ZWFkLlxcbiAgcmV0dXJuIGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjaykgJiYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKTtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgbW9kZSA9IHdvcmtJblByb2dyZXNzLm1vZGU7XFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBUaGlzIGlzIHVzZWQgYnkgRGV2VG9vbHMgdG8gZm9yY2UgYSBib3VuZGFyeSB0byBzdXNwZW5kLlxcblxcbiAge1xcbiAgICBpZiAoc2hvdWxkU3VzcGVuZCh3b3JrSW5Qcm9ncmVzcykpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHN1c3BlbnNlQ29udGV4dCA9IHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudDtcXG4gIHZhciBuZXh0RGlkVGltZW91dCA9IGZhbHNlO1xcbiAgdmFyIGRpZFN1c3BlbmQgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcblxcbiAgaWYgKGRpZFN1c3BlbmQgfHwgc2hvdWxkUmVtYWluT25GYWxsYmFjayhzdXNwZW5zZUNvbnRleHQsIGN1cnJlbnQpKSB7XFxuICAgIC8vIFNvbWV0aGluZyBpbiB0aGlzIGJvdW5kYXJ5J3Mgc3VidHJlZSBhbHJlYWR5IHN1c3BlbmRlZC4gU3dpdGNoIHRvXFxuICAgIC8vIHJlbmRlcmluZyB0aGUgZmFsbGJhY2sgY2hpbGRyZW4uXFxuICAgIG5leHREaWRUaW1lb3V0ID0gdHJ1ZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICY9IH5EaWRDYXB0dXJlO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gQXR0ZW1wdGluZyB0aGUgbWFpbiBjb250ZW50XFxuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQgb3IgdGhpcyBib3VuZGFyeSBpcyBhbHJlYWR5IHNob3dpbmcgYSBmYWxsYmFjayBzdGF0ZS5cXG4gICAgICAvLyBNYXJrIHRoaXMgc3VidHJlZSBjb250ZXh0IGFzIGhhdmluZyBhdCBsZWFzdCBvbmUgaW52aXNpYmxlIHBhcmVudCB0aGF0IGNvdWxkXFxuICAgICAgLy8gaGFuZGxlIHRoZSBmYWxsYmFjayBzdGF0ZS5cXG4gICAgICAvLyBCb3VuZGFyaWVzIHdpdGhvdXQgZmFsbGJhY2tzIG9yIHNob3VsZCBiZSBhdm9pZGVkIGFyZSBub3QgY29uc2lkZXJlZCBzaW5jZVxcbiAgICAgIC8vIHRoZXkgY2Fubm90IGhhbmRsZSBwcmVmZXJyZWQgZmFsbGJhY2sgc3RhdGVzLlxcbiAgICAgIGlmIChuZXh0UHJvcHMuZmFsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBuZXh0UHJvcHMudW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgIT09IHRydWUpIHtcXG4gICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcXG4gIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIFRoaXMgbmV4dCBwYXJ0IGlzIGEgYml0IGNvbmZ1c2luZy4gSWYgdGhlIGNoaWxkcmVuIHRpbWVvdXQsIHdlIHN3aXRjaCB0b1xcbiAgLy8gc2hvd2luZyB0aGUgZmFsbGJhY2sgY2hpbGRyZW4gaW4gcGxhY2Ugb2YgdGhlIFxcXCJwcmltYXJ5XFxcIiBjaGlsZHJlbi5cXG4gIC8vIEhvd2V2ZXIsIHdlIGRvbid0IHdhbnQgdG8gZGVsZXRlIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGJlY2F1c2UgdGhlbiB0aGVpclxcbiAgLy8gc3RhdGUgd2lsbCBiZSBsb3N0IChib3RoIHRoZSBSZWFjdCBzdGF0ZSBhbmQgdGhlIGhvc3Qgc3RhdGUsIGUuZy5cXG4gIC8vIHVuY29udHJvbGxlZCBmb3JtIGlucHV0cykuIEluc3RlYWQgd2Uga2VlcCB0aGVtIG1vdW50ZWQgYW5kIGhpZGUgdGhlbS5cXG4gIC8vIEJvdGggdGhlIGZhbGxiYWNrIGNoaWxkcmVuIEFORCB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhcmUgcmVuZGVyZWQgYXQgdGhlXFxuICAvLyBzYW1lIHRpbWUuIE9uY2UgdGhlIHByaW1hcnkgY2hpbGRyZW4gYXJlIHVuLXN1c3BlbmRlZCwgd2UgY2FuIGRlbGV0ZVxcbiAgLy8gdGhlIGZhbGxiYWNrIGNoaWxkcmVuIOKAlCBkb24ndCBuZWVkIHRvIHByZXNlcnZlIHRoZWlyIHN0YXRlLlxcbiAgLy9cXG4gIC8vIFRoZSB0d28gc2V0cyBvZiBjaGlsZHJlbiBhcmUgc2libGluZ3MgaW4gdGhlIGhvc3QgZW52aXJvbm1lbnQsIGJ1dFxcbiAgLy8gc2VtYW50aWNhbGx5LCBmb3IgcHVycG9zZXMgb2YgcmVjb25jaWxpYXRpb24sIHRoZXkgYXJlIHR3byBzZXBhcmF0ZSBzZXRzLlxcbiAgLy8gU28gd2Ugc3RvcmUgdGhlbSB1c2luZyB0d28gZnJhZ21lbnQgZmliZXJzLlxcbiAgLy9cXG4gIC8vIEhvd2V2ZXIsIHdlIHdhbnQgdG8gYXZvaWQgYWxsb2NhdGluZyBleHRyYSBmaWJlcnMgZm9yIGV2ZXJ5IHBsYWNlaG9sZGVyLlxcbiAgLy8gVGhleSdyZSBvbmx5IG5lY2Vzc2FyeSB3aGVuIHRoZSBjaGlsZHJlbiB0aW1lIG91dCwgYmVjYXVzZSB0aGF0J3MgdGhlXFxuICAvLyBvbmx5IHRpbWUgd2hlbiBib3RoIHNldHMgYXJlIG1vdW50ZWQuXFxuICAvL1xcbiAgLy8gU28sIHRoZSBleHRyYSBmcmFnbWVudCBmaWJlcnMgYXJlIG9ubHkgdXNlZCBpZiB0aGUgY2hpbGRyZW4gdGltZSBvdXQuXFxuICAvLyBPdGhlcndpc2UsIHdlIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBkaXJlY3RseS4gVGhpcyByZXF1aXJlcyBzb21lXFxuICAvLyBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMgdG8gcHJlc2VydmUgdGhlIHN0YXRlIG9mIHRoZSBwcmltYXJ5XFxuICAvLyBjaGlsZHJlbi4gSXQncyBlc3NlbnRpYWxseSBhIHZlcnkgYmFzaWMgZm9ybSBvZiByZS1wYXJlbnRpbmcuXFxuXFxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICAvLyBJZiB3ZSdyZSBjdXJyZW50bHkgaHlkcmF0aW5nLCB0cnkgdG8gaHlkcmF0ZSB0aGlzIGJvdW5kYXJ5LlxcbiAgICAvLyBCdXQgb25seSBpZiB0aGlzIGhhcyBhIGZhbGxiYWNrLlxcbiAgICBpZiAobmV4dFByb3BzLmZhbGxiYWNrICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICB0cnlUb0NsYWltTmV4dEh5ZHJhdGFibGVJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcyk7IC8vIFRoaXMgY291bGQndmUgYmVlbiBhIGRlaHlkcmF0ZWQgc3VzcGVuc2UgY29tcG9uZW50LlxcbiAgICB9IC8vIFRoaXMgaXMgdGhlIGluaXRpYWwgbW91bnQuIFRoaXMgYnJhbmNoIGlzIHByZXR0eSBzaW1wbGUgYmVjYXVzZSB0aGVyZSdzXFxuICAgIC8vIG5vIHByZXZpb3VzIHN0YXRlIHRoYXQgbmVlZHMgdG8gYmUgcHJlc2VydmVkLlxcblxcblxcbiAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcXG4gICAgICAvLyBNb3VudCBzZXBhcmF0ZSBmcmFnbWVudHMgZm9yIHByaW1hcnkgYW5kIGZhbGxiYWNrIGNoaWxkcmVuLlxcbiAgICAgIHZhciBuZXh0RmFsbGJhY2tDaGlsZHJlbiA9IG5leHRQcm9wcy5mYWxsYmFjaztcXG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChudWxsLCBtb2RlLCBOb1dvcmssIG51bGwpO1xcbiAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcblxcbiAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xcbiAgICAgICAgLy8gT3V0c2lkZSBvZiBibG9ja2luZyBtb2RlLCB3ZSBjb21taXQgdGhlIGVmZmVjdHMgZnJvbSB0aGVcXG4gICAgICAgIC8vIHBhcnRpYWxseSBjb21wbGV0ZWQsIHRpbWVkLW91dCB0cmVlLCB0b28uXFxuICAgICAgICB2YXIgcHJvZ3Jlc3NlZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG4gICAgICAgIHZhciBwcm9ncmVzc2VkUHJpbWFyeUNoaWxkID0gcHJvZ3Jlc3NlZFN0YXRlICE9PSBudWxsID8gd29ya0luUHJvZ3Jlc3MuY2hpbGQuY2hpbGQgOiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgIHByaW1hcnlDaGlsZEZyYWdtZW50LmNoaWxkID0gcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDtcXG4gICAgICAgIHZhciBwcm9ncmVzc2VkQ2hpbGQgPSBwcm9ncmVzc2VkUHJpbWFyeUNoaWxkO1xcblxcbiAgICAgICAgd2hpbGUgKHByb2dyZXNzZWRDaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBwcm9ncmVzc2VkQ2hpbGQucmV0dXJuID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XFxuICAgICAgICAgIHByb2dyZXNzZWRDaGlsZCA9IHByb2dyZXNzZWRDaGlsZC5zaWJsaW5nO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgZmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQobmV4dEZhbGxiYWNrQ2hpbGRyZW4sIG1vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lLCBudWxsKTtcXG4gICAgICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQuc2libGluZyA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDsgLy8gU2tpcCB0aGUgcHJpbWFyeSBjaGlsZHJlbiwgYW5kIGNvbnRpbnVlIHdvcmtpbmcgb24gdGhlXFxuICAgICAgLy8gZmFsbGJhY2sgY2hpbGRyZW4uXFxuXFxuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudDtcXG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIE1vdW50IHRoZSBwcmltYXJ5IGNoaWxkcmVuIHdpdGhvdXQgYW4gaW50ZXJtZWRpYXRlIGZyYWdtZW50IGZpYmVyLlxcbiAgICAgIHZhciBuZXh0UHJpbWFyeUNoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xcbiAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG1vdW50Q2hpbGRGaWJlcnMod29ya0luUHJvZ3Jlc3MsIG51bGwsIG5leHRQcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgLy8gVGhpcyBpcyBhbiB1cGRhdGUuIFRoaXMgYnJhbmNoIGlzIG1vcmUgY29tcGxpY2F0ZWQgYmVjYXVzZSB3ZSBuZWVkIHRvXFxuICAgIC8vIGVuc3VyZSB0aGUgc3RhdGUgb2YgdGhlIHByaW1hcnkgY2hpbGRyZW4gaXMgcHJlc2VydmVkLlxcbiAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcblxcbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgLy8gd3JhcHBlZCBpbiBhIGZyYWdtZW50IGZpYmVyLlxcblxcblxcbiAgICAgIHZhciBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjdXJyZW50LmNoaWxkO1xcbiAgICAgIHZhciBjdXJyZW50RmFsbGJhY2tDaGlsZEZyYWdtZW50ID0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LnNpYmxpbmc7XFxuXFxuICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XFxuICAgICAgICAvLyBTdGlsbCB0aW1lZCBvdXQuIFJldXNlIHRoZSBjdXJyZW50IHByaW1hcnkgY2hpbGRyZW4gYnkgY2xvbmluZ1xcbiAgICAgICAgLy8gaXRzIGZyYWdtZW50LiBXZSdyZSBnb2luZyB0byBza2lwIG92ZXIgdGhlc2UgZW50aXJlbHkuXFxuICAgICAgICB2YXIgX25leHRGYWxsYmFja0NoaWxkcmVuMiA9IG5leHRQcm9wcy5mYWxsYmFjaztcXG5cXG4gICAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LCBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzKTtcXG5cXG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XFxuXFxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcXG4gICAgICAgICAgLy8gT3V0c2lkZSBvZiBibG9ja2luZyBtb2RlLCB3ZSBjb21taXQgdGhlIGVmZmVjdHMgZnJvbSB0aGVcXG4gICAgICAgICAgLy8gcGFydGlhbGx5IGNvbXBsZXRlZCwgdGltZWQtb3V0IHRyZWUsIHRvby5cXG4gICAgICAgICAgdmFyIF9wcm9ncmVzc2VkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xcblxcbiAgICAgICAgICB2YXIgX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQgPSBfcHJvZ3Jlc3NlZFN0YXRlICE9PSBudWxsID8gd29ya0luUHJvZ3Jlc3MuY2hpbGQuY2hpbGQgOiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gICAgICAgICAgaWYgKF9wcm9ncmVzc2VkUHJpbWFyeUNoaWxkICE9PSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGQpIHtcXG4gICAgICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkID0gX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQ7XFxuICAgICAgICAgICAgdmFyIF9wcm9ncmVzc2VkQ2hpbGQyID0gX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQ7XFxuXFxuICAgICAgICAgICAgd2hpbGUgKF9wcm9ncmVzc2VkQ2hpbGQyICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgICBfcHJvZ3Jlc3NlZENoaWxkMi5yZXR1cm4gPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyO1xcbiAgICAgICAgICAgICAgX3Byb2dyZXNzZWRDaGlsZDIgPSBfcHJvZ3Jlc3NlZENoaWxkMi5zaWJsaW5nO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcbiAgICAgICAgfSAvLyBCZWNhdXNlIHByaW1hcnlDaGlsZEZyYWdtZW50IGlzIGEgbmV3IGZpYmVyIHRoYXQgd2UncmUgaW5zZXJ0aW5nIGFzIHRoZVxcbiAgICAgICAgLy8gcGFyZW50IG9mIGEgbmV3IHRyZWUsIHdlIG5lZWQgdG8gc2V0IGl0cyB0cmVlQmFzZUR1cmF0aW9uLlxcblxcblxcbiAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpIHtcXG4gICAgICAgICAgLy8gdHJlZUJhc2VEdXJhdGlvbiBpcyB0aGUgc3VtIG9mIGFsbCB0aGUgY2hpbGQgdHJlZSBiYXNlIGR1cmF0aW9ucy5cXG4gICAgICAgICAgdmFyIF90cmVlQmFzZUR1cmF0aW9uID0gMDtcXG4gICAgICAgICAgdmFyIF9oaWRkZW5DaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuY2hpbGQ7XFxuXFxuICAgICAgICAgIHdoaWxlIChfaGlkZGVuQ2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBfdHJlZUJhc2VEdXJhdGlvbiArPSBfaGlkZGVuQ2hpbGQudHJlZUJhc2VEdXJhdGlvbjtcXG4gICAgICAgICAgICBfaGlkZGVuQ2hpbGQgPSBfaGlkZGVuQ2hpbGQuc2libGluZztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLnRyZWVCYXNlRHVyYXRpb24gPSBfdHJlZUJhc2VEdXJhdGlvbjtcXG4gICAgICAgIH0gLy8gQ2xvbmUgdGhlIGZhbGxiYWNrIGNoaWxkIGZyYWdtZW50LCB0b28uIFRoZXNlIHdlJ2xsIGNvbnRpbnVlXFxuICAgICAgICAvLyB3b3JraW5nIG9uLlxcblxcblxcbiAgICAgICAgdmFyIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQyID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCwgX25leHRGYWxsYmFja0NoaWxkcmVuMik7XFxuXFxuICAgICAgICBfZmFsbGJhY2tDaGlsZEZyYWdtZW50Mi5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuc2libGluZyA9IF9mYWxsYmFja0NoaWxkRnJhZ21lbnQyO1xcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50Mi5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrOyAvLyBTa2lwIHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBhbmQgY29udGludWUgd29ya2luZyBvbiB0aGVcXG4gICAgICAgIC8vIGZhbGxiYWNrIGNoaWxkcmVuLlxcblxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDI7XFxuICAgICAgICByZXR1cm4gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDI7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIE5vIGxvbmdlciBzdXNwZW5kZWQuIFN3aXRjaCBiYWNrIHRvIHNob3dpbmcgdGhlIHByaW1hcnkgY2hpbGRyZW4sXFxuICAgICAgICAvLyBhbmQgcmVtb3ZlIHRoZSBpbnRlcm1lZGlhdGUgZnJhZ21lbnQgZmliZXIuXFxuICAgICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XFxuICAgICAgICB2YXIgY3VycmVudFByaW1hcnlDaGlsZCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5jaGlsZDtcXG4gICAgICAgIHZhciBwcmltYXJ5Q2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudFByaW1hcnlDaGlsZCwgX25leHRQcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gSWYgdGhpcyByZW5kZXIgZG9lc24ndCBzdXNwZW5kLCB3ZSBuZWVkIHRvIGRlbGV0ZSB0aGUgZmFsbGJhY2tcXG4gICAgICAgIC8vIGNoaWxkcmVuLiBXYWl0IHVudGlsIHRoZSBjb21wbGV0ZSBwaGFzZSwgYWZ0ZXIgd2UndmUgY29uZmlybWVkIHRoZVxcbiAgICAgICAgLy8gZmFsbGJhY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZC5cXG4gICAgICAgIC8vIFRPRE86IFdvdWxkIGl0IGJlIGJldHRlciB0byBzdG9yZSB0aGUgZmFsbGJhY2sgZnJhZ21lbnQgb25cXG4gICAgICAgIC8vIHRoZSBzdGF0ZU5vZGU/XFxuICAgICAgICAvLyBDb250aW51ZSByZW5kZXJpbmcgdGhlIGNoaWxkcmVuLCBsaWtlIHdlIG5vcm1hbGx5IGRvLlxcblxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBwcmltYXJ5Q2hpbGQ7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFRoZSBjdXJyZW50IHRyZWUgaGFzIG5vdCBhbHJlYWR5IHRpbWVkIG91dC4gVGhhdCBtZWFucyB0aGUgcHJpbWFyeVxcbiAgICAgIC8vIGNoaWxkcmVuIGFyZSBub3Qgd3JhcHBlZCBpbiBhIGZyYWdtZW50IGZpYmVyLlxcbiAgICAgIHZhciBfY3VycmVudFByaW1hcnlDaGlsZCA9IGN1cnJlbnQuY2hpbGQ7XFxuXFxuICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XFxuICAgICAgICAvLyBUaW1lZCBvdXQuIFdyYXAgdGhlIGNoaWxkcmVuIGluIGEgZnJhZ21lbnQgZmliZXIgdG8ga2VlcCB0aGVtXFxuICAgICAgICAvLyBzZXBhcmF0ZSBmcm9tIHRoZSBmYWxsYmFjayBjaGlsZHJlbi5cXG4gICAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4zID0gbmV4dFByb3BzLmZhbGxiYWNrO1xcblxcbiAgICAgICAgdmFyIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudCggLy8gSXQgc2hvdWxkbid0IG1hdHRlciB3aGF0IHRoZSBwZW5kaW5nIHByb3BzIGFyZSBiZWNhdXNlIHdlIGFyZW4ndFxcbiAgICAgICAgLy8gZ29pbmcgdG8gcmVuZGVyIHRoaXMgZnJhZ21lbnQuXFxuICAgICAgICBudWxsLCBtb2RlLCBOb1dvcmssIG51bGwpO1xcblxcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQgPSBfY3VycmVudFByaW1hcnlDaGlsZDtcXG5cXG4gICAgICAgIGlmIChfY3VycmVudFByaW1hcnlDaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBfY3VycmVudFByaW1hcnlDaGlsZC5yZXR1cm4gPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xcbiAgICAgICAgfSAvLyBFdmVuIHRob3VnaCB3ZSdyZSBjcmVhdGluZyBhIG5ldyBmaWJlciwgdGhlcmUgYXJlIG5vIG5ldyBjaGlsZHJlbixcXG4gICAgICAgIC8vIGJlY2F1c2Ugd2UncmUgcmV1c2luZyBhbiBhbHJlYWR5IG1vdW50ZWQgdHJlZS4gU28gd2UgZG9uJ3QgbmVlZCB0b1xcbiAgICAgICAgLy8gc2NoZWR1bGUgYSBwbGFjZW1lbnQuXFxuICAgICAgICAvLyBwcmltYXJ5Q2hpbGRGcmFnbWVudC5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xcblxcblxcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQmxvY2tpbmdNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgICAgICAgIC8vIE91dHNpZGUgb2YgYmxvY2tpbmcgbW9kZSwgd2UgY29tbWl0IHRoZSBlZmZlY3RzIGZyb20gdGhlXFxuICAgICAgICAgIC8vIHBhcnRpYWxseSBjb21wbGV0ZWQsIHRpbWVkLW91dCB0cmVlLCB0b28uXFxuICAgICAgICAgIHZhciBfcHJvZ3Jlc3NlZFN0YXRlMiA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgICAgICAgIHZhciBfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDIgPSBfcHJvZ3Jlc3NlZFN0YXRlMiAhPT0gbnVsbCA/IHdvcmtJblByb2dyZXNzLmNoaWxkLmNoaWxkIDogd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuXFxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQgPSBfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDI7XFxuICAgICAgICAgIHZhciBfcHJvZ3Jlc3NlZENoaWxkMyA9IF9wcm9ncmVzc2VkUHJpbWFyeUNoaWxkMjtcXG5cXG4gICAgICAgICAgd2hpbGUgKF9wcm9ncmVzc2VkQ2hpbGQzICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgX3Byb2dyZXNzZWRDaGlsZDMucmV0dXJuID0gX3ByaW1hcnlDaGlsZEZyYWdtZW50MztcXG4gICAgICAgICAgICBfcHJvZ3Jlc3NlZENoaWxkMyA9IF9wcm9ncmVzc2VkQ2hpbGQzLnNpYmxpbmc7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0gLy8gQmVjYXVzZSBwcmltYXJ5Q2hpbGRGcmFnbWVudCBpcyBhIG5ldyBmaWJlciB0aGF0IHdlJ3JlIGluc2VydGluZyBhcyB0aGVcXG4gICAgICAgIC8vIHBhcmVudCBvZiBhIG5ldyB0cmVlLCB3ZSBuZWVkIHRvIHNldCBpdHMgdHJlZUJhc2VEdXJhdGlvbi5cXG5cXG5cXG4gICAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSB7XFxuICAgICAgICAgIC8vIHRyZWVCYXNlRHVyYXRpb24gaXMgdGhlIHN1bSBvZiBhbGwgdGhlIGNoaWxkIHRyZWUgYmFzZSBkdXJhdGlvbnMuXFxuICAgICAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbjIgPSAwO1xcbiAgICAgICAgICB2YXIgX2hpZGRlbkNoaWxkMiA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQ7XFxuXFxuICAgICAgICAgIHdoaWxlIChfaGlkZGVuQ2hpbGQyICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgX3RyZWVCYXNlRHVyYXRpb24yICs9IF9oaWRkZW5DaGlsZDIudHJlZUJhc2VEdXJhdGlvbjtcXG4gICAgICAgICAgICBfaGlkZGVuQ2hpbGQyID0gX2hpZGRlbkNoaWxkMi5zaWJsaW5nO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMudHJlZUJhc2VEdXJhdGlvbiA9IF90cmVlQmFzZUR1cmF0aW9uMjtcXG4gICAgICAgIH0gLy8gQ3JlYXRlIGEgZnJhZ21lbnQgZnJvbSB0aGUgZmFsbGJhY2sgY2hpbGRyZW4sIHRvby5cXG5cXG5cXG4gICAgICAgIHZhciBfZmFsbGJhY2tDaGlsZEZyYWdtZW50MyA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KF9uZXh0RmFsbGJhY2tDaGlsZHJlbjMsIG1vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lLCBudWxsKTtcXG5cXG4gICAgICAgIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQzLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5zaWJsaW5nID0gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDM7XFxuICAgICAgICBfZmFsbGJhY2tDaGlsZEZyYWdtZW50My5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrOyAvLyBTa2lwIHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBhbmQgY29udGludWUgd29ya2luZyBvbiB0aGVcXG4gICAgICAgIC8vIGZhbGxiYWNrIGNoaWxkcmVuLlxcblxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDM7XFxuICAgICAgICByZXR1cm4gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDM7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIC8vIFN0aWxsIGhhdmVuJ3QgdGltZWQgb3V0LiBDb250aW51ZSByZW5kZXJpbmcgdGhlIGNoaWxkcmVuLCBsaWtlIHdlXFxuICAgICAgICAvLyBub3JtYWxseSBkby5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgICAgICAgdmFyIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcXG4gICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBfY3VycmVudFByaW1hcnlDaGlsZCwgX25leHRQcmltYXJ5Q2hpbGRyZW4yLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHNjaGVkdWxlV29ya09uRmliZXIoZmliZXIsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgICBmaWJlci5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xcbiAgfVxcblxcbiAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcXG5cXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuICB9XFxuXFxuICBzY2hlZHVsZVdvcmtPblBhcmVudFBhdGgoZmliZXIucmV0dXJuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxufVxcblxcbmZ1bmN0aW9uIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgZmlyc3RDaGlsZCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIE1hcmsgYW55IFN1c3BlbnNlIGJvdW5kYXJpZXMgd2l0aCBmYWxsYmFja3MgYXMgaGF2aW5nIHdvcmsgdG8gZG8uXFxuICAvLyBJZiB0aGV5IHdlcmUgcHJldmlvdXNseSBmb3JjZWQgaW50byBmYWxsYmFja3MsIHRoZXkgbWF5IG5vdyBiZSBhYmxlXFxuICAvLyB0byB1bmJsb2NrLlxcbiAgdmFyIG5vZGUgPSBmaXJzdENoaWxkO1xcblxcbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcXG4gICAgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xcbiAgICAgIHZhciBzdGF0ZSA9IG5vZGUubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgIHNjaGVkdWxlV29ya09uRmliZXIobm9kZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VMaXN0Q29tcG9uZW50KSB7XFxuICAgICAgLy8gSWYgdGhlIHRhaWwgaXMgaGlkZGVuIHRoZXJlIG1pZ2h0IG5vdCBiZSBhbiBTdXNwZW5zZSBib3VuZGFyaWVzXFxuICAgICAgLy8gdG8gc2NoZWR1bGUgd29yayBvbi4gSW4gdGhpcyBjYXNlIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgb24gdGhlXFxuICAgICAgLy8gbGlzdCBpdHNlbGYuXFxuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byB0cmF2ZXJzZSB0byB0aGUgY2hpbGRyZW4gb2YgdGhlIGxpc3Qgc2luY2VcXG4gICAgICAvLyB0aGUgbGlzdCB3aWxsIHByb3BhZ2F0ZSB0aGUgY2hhbmdlIHdoZW4gaXQgcmVyZW5kZXJzLlxcbiAgICAgIHNjaGVkdWxlV29ya09uRmliZXIobm9kZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgY29udGludWU7XFxuICAgIH1cXG5cXG4gICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IHdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfVxcblxcbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZpbmRMYXN0Q29udGVudFJvdyhmaXJzdENoaWxkKSB7XFxuICAvLyBUaGlzIGlzIGdvaW5nIHRvIGZpbmQgdGhlIGxhc3Qgcm93IGFtb25nIHRoZXNlIGNoaWxkcmVuIHRoYXQgaXMgYWxyZWFkeVxcbiAgLy8gc2hvd2luZyBjb250ZW50IG9uIHRoZSBzY3JlZW4sIGFzIG9wcG9zZWQgdG8gYmVpbmcgaW4gZmFsbGJhY2sgc3RhdGUgb3JcXG4gIC8vIG5ldy4gSWYgYSByb3cgaGFzIG11bHRpcGxlIFN1c3BlbnNlIGJvdW5kYXJpZXMsIGFueSBvZiB0aGVtIGJlaW5nIGluIHRoZVxcbiAgLy8gZmFsbGJhY2sgc3RhdGUsIGNvdW50cyBhcyB0aGUgd2hvbGUgcm93IGJlaW5nIGluIGEgZmFsbGJhY2sgc3RhdGUuXFxuICAvLyBOb3RlIHRoYXQgdGhlIFxcXCJyb3dzXFxcIiB3aWxsIGJlIHdvcmtJblByb2dyZXNzLCBidXQgYW55IG5lc3RlZCBjaGlsZHJlblxcbiAgLy8gd2lsbCBzdGlsbCBiZSBjdXJyZW50IHNpbmNlIHdlIGhhdmVuJ3QgcmVuZGVyZWQgdGhlbSB5ZXQuIFRoZSBtb3VudGVkXFxuICAvLyBvcmRlciBtYXkgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBuZXcgb3JkZXIuIFdlIHVzZSB0aGUgbmV3IG9yZGVyLlxcbiAgdmFyIHJvdyA9IGZpcnN0Q2hpbGQ7XFxuICB2YXIgbGFzdENvbnRlbnRSb3cgPSBudWxsO1xcblxcbiAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xcbiAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cXG5cXG4gICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XFxuICAgICAgbGFzdENvbnRlbnRSb3cgPSByb3c7XFxuICAgIH1cXG5cXG4gICAgcm93ID0gcm93LnNpYmxpbmc7XFxuICB9XFxuXFxuICByZXR1cm4gbGFzdENvbnRlbnRSb3c7XFxufVxcblxcbmZ1bmN0aW9uIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpIHtcXG4gIHtcXG4gICAgaWYgKHJldmVhbE9yZGVyICE9PSB1bmRlZmluZWQgJiYgcmV2ZWFsT3JkZXIgIT09ICdmb3J3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICdiYWNrd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAndG9nZXRoZXInICYmICFkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcltyZXZlYWxPcmRlcl0pIHtcXG4gICAgICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcltyZXZlYWxPcmRlcl0gPSB0cnVlO1xcblxcbiAgICAgIGlmICh0eXBlb2YgcmV2ZWFsT3JkZXIgPT09ICdzdHJpbmcnKSB7XFxuICAgICAgICBzd2l0Y2ggKHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpIHtcXG4gICAgICAgICAgY2FzZSAndG9nZXRoZXInOlxcbiAgICAgICAgICBjYXNlICdmb3J3YXJkcyc6XFxuICAgICAgICAgIGNhc2UgJ2JhY2t3YXJkcyc6XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgZXJyb3IoJ1xcXCIlc1xcXCIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnVXNlIGxvd2VyY2FzZSBcXFwiJXNcXFwiIGluc3RlYWQuJywgcmV2ZWFsT3JkZXIsIHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpO1xcblxcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICBjYXNlICdmb3J3YXJkJzpcXG4gICAgICAgICAgY2FzZSAnYmFja3dhcmQnOlxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGVycm9yKCdcXFwiJXNcXFwiIGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ1JlYWN0IHVzZXMgdGhlIC1zIHN1ZmZpeCBpbiB0aGUgc3BlbGxpbmcuIFVzZSBcXFwiJXNzXFxcIiBpbnN0ZWFkLicsIHJldmVhbE9yZGVyLCByZXZlYWxPcmRlci50b0xvd2VyQ2FzZSgpKTtcXG5cXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgZGVmYXVsdDpcXG4gICAgICAgICAgICBlcnJvcignXFxcIiVzXFxcIiBpcyBub3QgYSBzdXBwb3J0ZWQgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXFxcInRvZ2V0aGVyXFxcIiwgXFxcImZvcndhcmRzXFxcIiBvciBcXFwiYmFja3dhcmRzXFxcIj8nLCByZXZlYWxPcmRlcik7XFxuXFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGVycm9yKCclcyBpcyBub3QgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnRGlkIHlvdSBtZWFuIFxcXCJ0b2dldGhlclxcXCIsIFxcXCJmb3J3YXJkc1xcXCIgb3IgXFxcImJhY2t3YXJkc1xcXCI/JywgcmV2ZWFsT3JkZXIpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVRhaWxPcHRpb25zKHRhaWxNb2RlLCByZXZlYWxPcmRlcikge1xcbiAge1xcbiAgICBpZiAodGFpbE1vZGUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkFib3V0VGFpbE9wdGlvbnNbdGFpbE1vZGVdKSB7XFxuICAgICAgaWYgKHRhaWxNb2RlICE9PSAnY29sbGFwc2VkJyAmJiB0YWlsTW9kZSAhPT0gJ2hpZGRlbicpIHtcXG4gICAgICAgIGRpZFdhcm5BYm91dFRhaWxPcHRpb25zW3RhaWxNb2RlXSA9IHRydWU7XFxuXFxuICAgICAgICBlcnJvcignXFxcIiVzXFxcIiBpcyBub3QgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIHRhaWwgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXFxcImNvbGxhcHNlZFxcXCIgb3IgXFxcImhpZGRlblxcXCI/JywgdGFpbE1vZGUpO1xcbiAgICAgIH0gZWxzZSBpZiAocmV2ZWFsT3JkZXIgIT09ICdmb3J3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICdiYWNrd2FyZHMnKSB7XFxuICAgICAgICBkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0gPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJzxTdXNwZW5zZUxpc3QgdGFpbD1cXFwiJXNcXFwiIC8+IGlzIG9ubHkgdmFsaWQgaWYgcmV2ZWFsT3JkZXIgaXMgJyArICdcXFwiZm9yd2FyZHNcXFwiIG9yIFxcXCJiYWNrd2FyZHNcXFwiLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBzcGVjaWZ5IHJldmVhbE9yZGVyPVxcXCJmb3J3YXJkc1xcXCI/JywgdGFpbE1vZGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkU2xvdCwgaW5kZXgpIHtcXG4gIHtcXG4gICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNoaWxkU2xvdCk7XFxuICAgIHZhciBpc0l0ZXJhYmxlID0gIWlzQXJyYXkgJiYgdHlwZW9mIGdldEl0ZXJhdG9yRm4oY2hpbGRTbG90KSA9PT0gJ2Z1bmN0aW9uJztcXG5cXG4gICAgaWYgKGlzQXJyYXkgfHwgaXNJdGVyYWJsZSkge1xcbiAgICAgIHZhciB0eXBlID0gaXNBcnJheSA/ICdhcnJheScgOiAnaXRlcmFibGUnO1xcblxcbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xcblxcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcblxcbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XFxuICB7XFxuICAgIGlmICgocmV2ZWFsT3JkZXIgPT09ICdmb3J3YXJkcycgfHwgcmV2ZWFsT3JkZXIgPT09ICdiYWNrd2FyZHMnKSAmJiBjaGlsZHJlbiAhPT0gdW5kZWZpbmVkICYmIGNoaWxkcmVuICE9PSBudWxsICYmIGNoaWxkcmVuICE9PSBmYWxzZSkge1xcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICBpZiAoIXZhbGlkYXRlU3VzcGVuc2VMaXN0TmVzdGVkQ2hpbGQoY2hpbGRyZW5baV0sIGkpKSB7XFxuICAgICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XFxuXFxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgdmFyIGNoaWxkcmVuSXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwoY2hpbGRyZW4pO1xcblxcbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xcbiAgICAgICAgICAgIHZhciBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCk7XFxuICAgICAgICAgICAgdmFyIF9pID0gMDtcXG5cXG4gICAgICAgICAgICBmb3IgKDsgIXN0ZXAuZG9uZTsgc3RlcCA9IGNoaWxkcmVuSXRlcmF0b3IubmV4dCgpKSB7XFxuICAgICAgICAgICAgICBpZiAoIXZhbGlkYXRlU3VzcGVuc2VMaXN0TmVzdGVkQ2hpbGQoc3RlcC52YWx1ZSwgX2kpKSB7XFxuICAgICAgICAgICAgICAgIHJldHVybjtcXG4gICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgIF9pKys7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBlcnJvcignQSBzaW5nbGUgcm93IHdhcyBwYXNzZWQgdG8gYSA8U3VzcGVuc2VMaXN0IHJldmVhbE9yZGVyPVxcXCIlc1xcXCIgLz4uICcgKyAnVGhpcyBpcyBub3QgdXNlZnVsIHNpbmNlIGl0IG5lZWRzIG11bHRpcGxlIHJvd3MuICcgKyAnRGlkIHlvdSBtZWFuIHRvIHBhc3MgbXVsdGlwbGUgY2hpbGRyZW4gb3IgYW4gYXJyYXk/JywgcmV2ZWFsT3JkZXIpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUsIGxhc3RFZmZlY3RCZWZvcmVSZW5kZXJpbmcpIHtcXG4gIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuXFxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IHtcXG4gICAgICBpc0JhY2t3YXJkczogaXNCYWNrd2FyZHMsXFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxcbiAgICAgIHJlbmRlcmluZ1N0YXJ0VGltZTogMCxcXG4gICAgICBsYXN0OiBsYXN0Q29udGVudFJvdyxcXG4gICAgICB0YWlsOiB0YWlsLFxcbiAgICAgIHRhaWxFeHBpcmF0aW9uOiAwLFxcbiAgICAgIHRhaWxNb2RlOiB0YWlsTW9kZSxcXG4gICAgICBsYXN0RWZmZWN0OiBsYXN0RWZmZWN0QmVmb3JlUmVuZGVyaW5nXFxuICAgIH07XFxuICB9IGVsc2Uge1xcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXFxuICAgIHJlbmRlclN0YXRlLmlzQmFja3dhcmRzID0gaXNCYWNrd2FyZHM7XFxuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG51bGw7XFxuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XFxuICAgIHJlbmRlclN0YXRlLmxhc3QgPSBsYXN0Q29udGVudFJvdztcXG4gICAgcmVuZGVyU3RhdGUudGFpbCA9IHRhaWw7XFxuICAgIHJlbmRlclN0YXRlLnRhaWxFeHBpcmF0aW9uID0gMDtcXG4gICAgcmVuZGVyU3RhdGUudGFpbE1vZGUgPSB0YWlsTW9kZTtcXG4gICAgcmVuZGVyU3RhdGUubGFzdEVmZmVjdCA9IGxhc3RFZmZlY3RCZWZvcmVSZW5kZXJpbmc7XFxuICB9XFxufSAvLyBUaGlzIGNhbiBlbmQgdXAgcmVuZGVyaW5nIHRoaXMgY29tcG9uZW50IG11bHRpcGxlIHBhc3Nlcy5cXG4vLyBUaGUgZmlyc3QgcGFzcyBzcGxpdHMgdGhlIGNoaWxkcmVuIGZpYmVycyBpbnRvIHR3byBzZXRzLiBBIGhlYWQgYW5kIHRhaWwuXFxuLy8gV2UgZmlyc3QgcmVuZGVyIHRoZSBoZWFkLiBJZiBhbnl0aGluZyBpcyBpbiBmYWxsYmFjayBzdGF0ZSwgd2UgZG8gYW5vdGhlclxcbi8vIHBhc3MgdGhyb3VnaCBiZWdpbldvcmsgdG8gcmVyZW5kZXIgYWxsIGNoaWxkcmVuIChpbmNsdWRpbmcgdGhlIHRhaWwpIHdpdGhcXG4vLyB0aGUgZm9yY2Ugc3VzcGVuZCBjb250ZXh0LiBJZiB0aGUgZmlyc3QgcmVuZGVyIGRpZG4ndCBoYXZlIGFueXRoaW5nIGluXFxuLy8gaW4gZmFsbGJhY2sgc3RhdGUuIFRoZW4gd2UgcmVuZGVyIGVhY2ggcm93IGluIHRoZSB0YWlsIG9uZS1ieS1vbmUuXFxuLy8gVGhhdCBoYXBwZW5zIGluIHRoZSBjb21wbGV0ZVdvcmsgcGhhc2Ugd2l0aG91dCBnb2luZyBiYWNrIHRvIGJlZ2luV29yay5cXG5cXG5cXG5mdW5jdGlvbiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcbiAgdmFyIHJldmVhbE9yZGVyID0gbmV4dFByb3BzLnJldmVhbE9yZGVyO1xcbiAgdmFyIHRhaWxNb2RlID0gbmV4dFByb3BzLnRhaWw7XFxuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XFxuICB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKTtcXG4gIHZhbGlkYXRlVGFpbE9wdGlvbnModGFpbE1vZGUsIHJldmVhbE9yZGVyKTtcXG4gIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4obmV3Q2hpbGRyZW4sIHJldmVhbE9yZGVyKTtcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgdmFyIHN1c3BlbnNlQ29udGV4dCA9IHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudDtcXG4gIHZhciBzaG91bGRGb3JjZUZhbGxiYWNrID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcXG5cXG4gIGlmIChzaG91bGRGb3JjZUZhbGxiYWNrKSB7XFxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBkaWRTdXNwZW5kQmVmb3JlID0gY3VycmVudCAhPT0gbnVsbCAmJiAoY3VycmVudC5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSAhPT0gTm9FZmZlY3Q7XFxuXFxuICAgIGlmIChkaWRTdXNwZW5kQmVmb3JlKSB7XFxuICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSBmb3JjZWQgYSBmYWxsYmFjaywgd2UgbmVlZCB0byBzY2hlZHVsZSB3b3JrXFxuICAgICAgLy8gb24gYW55IG5lc3RlZCBib3VuZGFyaWVzIHRvIGxldCB0aGVtIGtub3cgdG8gdHJ5IHRvIHJlbmRlclxcbiAgICAgIC8vIGFnYWluLiBUaGlzIGlzIHRoZSBzYW1lIGFzIGNvbnRleHQgdXBkYXRpbmcuXFxuICAgICAgcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuXFxuICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XFxuICB9XFxuXFxuICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzdXNwZW5zZUNvbnRleHQpO1xcblxcbiAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQmxvY2tpbmdNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgIC8vIE91dHNpZGUgb2YgYmxvY2tpbmcgbW9kZSwgU3VzcGVuc2VMaXN0IGRvZXNuJ3Qgd29yayBzbyB3ZSBqdXN0XFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICB9IGVsc2Uge1xcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XFxuICAgICAgY2FzZSAnZm9yd2FyZHMnOlxcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xcbiAgICAgICAgICB2YXIgdGFpbDtcXG5cXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XFxuICAgICAgICAgICAgLy8gVGhlIHdob2xlIGxpc3QgaXMgcGFydCBvZiB0aGUgdGFpbC5cXG4gICAgICAgICAgICAvLyBUT0RPOiBXZSBjb3VsZCBmYXN0IHBhdGggYnkganVzdCByZW5kZXJpbmcgdGhlIHRhaWwgbm93LlxcbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cXG4gICAgICAgICAgICAvLyBXZSdyZSBnb2luZyB0byByZW5kZXIgdGhlbSBzZXBhcmF0ZWx5IGxhdGVyLlxcbiAgICAgICAgICAgIHRhaWwgPSBsYXN0Q29udGVudFJvdy5zaWJsaW5nO1xcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXFxuICAgICAgICAgIHRhaWwsIGxhc3RDb250ZW50Um93LCB0YWlsTW9kZSwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgJ2JhY2t3YXJkcyc6XFxuICAgICAgICB7XFxuICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIGZpbmQgdGhlIGZpcnN0IHJvdyB0aGF0IGhhcyBleGlzdGluZyBjb250ZW50LlxcbiAgICAgICAgICAvLyBBdCB0aGUgc2FtZSB0aW1lIHdlJ3JlIGdvaW5nIHRvIHJldmVyc2UgdGhlIGxpc3Qgb2YgZXZlcnl0aGluZ1xcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcXG4gICAgICAgICAgLy8gb3JkZXIuXFxuICAgICAgICAgIHZhciBfdGFpbCA9IG51bGw7XFxuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBudWxsO1xcblxcbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgdmFyIGN1cnJlbnRSb3cgPSByb3cuYWx0ZXJuYXRlOyAvLyBOZXcgcm93cyBjYW4ndCBiZSBjb250ZW50IHJvd3MuXFxuXFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XFxuICAgICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1haW4gY29udGVudC5cXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcm93O1xcbiAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XFxuICAgICAgICAgICAgcm93LnNpYmxpbmcgPSBfdGFpbDtcXG4gICAgICAgICAgICBfdGFpbCA9IHJvdztcXG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xcbiAgICAgICAgICB9IC8vIFRPRE86IElmIHdvcmtJblByb2dyZXNzLmNoaWxkIGlzIG51bGwsIHdlIGNhbiBjb250aW51ZSBvbiB0aGUgdGFpbCBpbW1lZGlhdGVseS5cXG5cXG5cXG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCB0cnVlLCAvLyBpc0JhY2t3YXJkc1xcbiAgICAgICAgICBfdGFpbCwgbnVsbCwgLy8gbGFzdFxcbiAgICAgICAgICB0YWlsTW9kZSwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgJ3RvZ2V0aGVyJzpcXG4gICAgICAgIHtcXG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcXG4gICAgICAgICAgbnVsbCwgLy8gdGFpbFxcbiAgICAgICAgICBudWxsLCAvLyBsYXN0XFxuICAgICAgICAgIHVuZGVmaW5lZCwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXFxuICAgICAgICAgIC8vIGEgYm91bmRhcnkuXFxuICAgICAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxufVxcblxcbmZ1bmN0aW9uIHVwZGF0ZVBvcnRhbENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XFxuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XFxuICAgIC8vIGJ1dCBhdCBjb21taXQuIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIHRyYWNrIGluc2VydGlvbnMgd2hpY2ggdGhlIG5vcm1hbFxcbiAgICAvLyBmbG93IGRvZXNuJ3QgZG8gZHVyaW5nIG1vdW50LiBUaGlzIGRvZXNuJ3QgaGFwcGVuIGF0IHRoZSByb290IGJlY2F1c2VcXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXFxcImN1cnJlbnRcXFwiIHdpdGggYSBudWxsIGNoaWxkLlxcbiAgICAvLyBUT0RPOiBDb25zaWRlciB1bmlmeWluZyB0aGlzIHdpdGggaG93IHRoZSByb290IHdvcmtzLlxcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH0gZWxzZSB7XFxuICAgIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG59XFxuXFxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dFByb3ZpZGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIHByb3ZpZGVyVHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyVHlwZS5fY29udGV4dDtcXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XFxuICB2YXIgbmV3VmFsdWUgPSBuZXdQcm9wcy52YWx1ZTtcXG5cXG4gIHtcXG4gICAgdmFyIHByb3ZpZGVyUHJvcFR5cGVzID0gd29ya0luUHJvZ3Jlc3MudHlwZS5wcm9wVHlwZXM7XFxuXFxuICAgIGlmIChwcm92aWRlclByb3BUeXBlcykge1xcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3ZpZGVyUHJvcFR5cGVzLCBuZXdQcm9wcywgJ3Byb3AnLCAnQ29udGV4dC5Qcm92aWRlcicsIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xcbiAgICB9XFxuICB9XFxuXFxuICBwdXNoUHJvdmlkZXIod29ya0luUHJvZ3Jlc3MsIG5ld1ZhbHVlKTtcXG5cXG4gIGlmIChvbGRQcm9wcyAhPT0gbnVsbCkge1xcbiAgICB2YXIgb2xkVmFsdWUgPSBvbGRQcm9wcy52YWx1ZTtcXG4gICAgdmFyIGNoYW5nZWRCaXRzID0gY2FsY3VsYXRlQ2hhbmdlZEJpdHMoY29udGV4dCwgbmV3VmFsdWUsIG9sZFZhbHVlKTtcXG5cXG4gICAgaWYgKGNoYW5nZWRCaXRzID09PSAwKSB7XFxuICAgICAgLy8gTm8gY2hhbmdlLiBCYWlsb3V0IGVhcmx5IGlmIGNoaWxkcmVuIGFyZSB0aGUgc2FtZS5cXG4gICAgICBpZiAob2xkUHJvcHMuY2hpbGRyZW4gPT09IG5ld1Byb3BzLmNoaWxkcmVuICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpKSB7XFxuICAgICAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUaGUgY29udGV4dCB2YWx1ZSBjaGFuZ2VkLiBTZWFyY2ggZm9yIG1hdGNoaW5nIGNvbnN1bWVycyBhbmQgc2NoZWR1bGVcXG4gICAgICAvLyB0aGVtIHRvIHVwZGF0ZS5cXG4gICAgICBwcm9wYWdhdGVDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBjb250ZXh0LCBjaGFuZ2VkQml0cywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgbmV3Q2hpbGRyZW4gPSBuZXdQcm9wcy5jaGlsZHJlbjtcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG52YXIgaGFzV2FybmVkQWJvdXRVc2luZ0NvbnRleHRBc0NvbnN1bWVyID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIGNvbnRleHQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlOyAvLyBUaGUgbG9naWMgYmVsb3cgZm9yIENvbnRleHQgZGlmZmVycyBkZXBlbmRpbmcgb24gUFJPRCBvciBERVYgbW9kZS4gSW5cXG4gIC8vIERFViBtb2RlLCB3ZSBjcmVhdGUgYSBzZXBhcmF0ZSBvYmplY3QgZm9yIENvbnRleHQuQ29uc3VtZXIgdGhhdCBhY3RzXFxuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcXG4gIC8vIHNvIHdlIHVzZSB0aGUgb2xkIGJlaGF2aW91ciAoQ29udGV4dC5Db25zdW1lciByZWZlcmVuY2VzIENvbnRleHQpIHRvXFxuICAvLyByZWR1Y2Ugc2l6ZSBhbmQgb3ZlcmhlYWQuIFRoZSBzZXBhcmF0ZSBvYmplY3QgcmVmZXJlbmNlcyBjb250ZXh0IHZpYVxcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXFxcIl9jb250ZXh0XFxcIiwgd2hpY2ggYWxzbyBnaXZlcyB1cyB0aGUgYWJpbGl0eSB0byBjaGVja1xcbiAgLy8gaW4gREVWIG1vZGUgaWYgdGhpcyBwcm9wZXJ0eSBleGlzdHMgb3Igbm90IGFuZCB3YXJuIGlmIGl0IGRvZXMgbm90LlxcblxcbiAge1xcbiAgICBpZiAoY29udGV4dC5fY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXFxuICAgICAgLy8gT3IgaXQgbWF5IGJlIGJlY2F1c2UgaXQncyBvbGRlciBSZWFjdCB3aGVyZSB0aGV5J3JlIHRoZSBzYW1lIHRoaW5nLlxcbiAgICAgIC8vIFdlIG9ubHkgd2FudCB0byB3YXJuIGlmIHdlJ3JlIHN1cmUgaXQncyBhIG5ldyBSZWFjdC5cXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xcbiAgICAgICAgaWYgKCFoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIpIHtcXG4gICAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ0NvbnRleHRBc0NvbnN1bWVyID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dD4gZGlyZWN0bHkgaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgY29udGV4dCA9IGNvbnRleHQuX2NvbnRleHQ7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG4gIHZhciByZW5kZXIgPSBuZXdQcm9wcy5jaGlsZHJlbjtcXG5cXG4gIHtcXG4gICAgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignQSBjb250ZXh0IGNvbnN1bWVyIHdhcyByZW5kZXJlZCB3aXRoIG11bHRpcGxlIGNoaWxkcmVuLCBvciBhIGNoaWxkICcgKyBcXFwidGhhdCBpc24ndCBhIGZ1bmN0aW9uLiBBIGNvbnRleHQgY29uc3VtZXIgZXhwZWN0cyBhIHNpbmdsZSBjaGlsZCBcXFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICB2YXIgbmV3VmFsdWUgPSByZWFkQ29udGV4dChjb250ZXh0LCBuZXdQcm9wcy51bnN0YWJsZV9vYnNlcnZlZEJpdHMpO1xcbiAgdmFyIG5ld0NoaWxkcmVuO1xcblxcbiAge1xcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XFxuICAgIG5ld0NoaWxkcmVuID0gcmVuZGVyKG5ld1ZhbHVlKTtcXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXFxuXFxuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcXG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbn1cXG5cXG5mdW5jdGlvbiBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpIHtcXG4gIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xcbn1cXG5cXG5mdW5jdGlvbiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xcbiAgY2FuY2VsV29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIC8vIFJldXNlIHByZXZpb3VzIGRlcGVuZGVuY2llc1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcXG4gIH1cXG5cXG4gIHtcXG4gICAgLy8gRG9uJ3QgdXBkYXRlIFxcXCJiYXNlXFxcIiByZW5kZXIgdGltZXMgZm9yIGJhaWxvdXRzLlxcbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xcbiAgfVxcblxcbiAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWU7XFxuXFxuICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgIT09IE5vV29yaykge1xcbiAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKHVwZGF0ZUV4cGlyYXRpb25UaW1lKTtcXG4gIH0gLy8gQ2hlY2sgaWYgdGhlIGNoaWxkcmVuIGhhdmUgYW55IHBlbmRpbmcgd29yay5cXG5cXG5cXG4gIHZhciBjaGlsZEV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZTtcXG5cXG4gIGlmIChjaGlsZEV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgLy8gVGhlIGNoaWxkcmVuIGRvbid0IGhhdmUgYW55IHdvcmsgZWl0aGVyLiBXZSBjYW4gc2tpcCB0aGVtLlxcbiAgICAvLyBUT0RPOiBPbmNlIHdlIGFkZCBiYWNrIHJlc3VtaW5nLCB3ZSBzaG91bGQgY2hlY2sgaWYgdGhlIGNoaWxkcmVuIGFyZVxcbiAgICAvLyBhIHdvcmstaW4tcHJvZ3Jlc3Mgc2V0LiBJZiBzbywgd2UgbmVlZCB0byB0cmFuc2ZlciB0aGVpciBlZmZlY3RzLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIFRoaXMgZmliZXIgZG9lc24ndCBoYXZlIHdvcmssIGJ1dCBpdHMgc3VidHJlZSBkb2VzLiBDbG9uZSB0aGUgY2hpbGRcXG4gICAgLy8gZmliZXJzIGFuZCBjb250aW51ZS5cXG4gICAgY2xvbmVDaGlsZEZpYmVycyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVtb3VudEZpYmVyKGN1cnJlbnQsIG9sZFdvcmtJblByb2dyZXNzLCBuZXdXb3JrSW5Qcm9ncmVzcykge1xcbiAge1xcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XFxuXFxuICAgIGlmIChyZXR1cm5GaWJlciA9PT0gbnVsbCkge1xcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN3YXAgdGhlIHJvb3QgZmliZXIuJyk7XFxuICAgIH0gLy8gRGlzY29ubmVjdCBmcm9tIHRoZSBvbGQgY3VycmVudC5cXG4gICAgLy8gSXQgd2lsbCBnZXQgZGVsZXRlZC5cXG5cXG5cXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xcbiAgICBvbGRXb3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBDb25uZWN0IHRvIHRoZSBuZXcgdHJlZS5cXG5cXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MuaW5kZXggPSBvbGRXb3JrSW5Qcm9ncmVzcy5pbmRleDtcXG4gICAgbmV3V29ya0luUHJvZ3Jlc3Muc2libGluZyA9IG9sZFdvcmtJblByb2dyZXNzLnNpYmxpbmc7XFxuICAgIG5ld1dvcmtJblByb2dyZXNzLnJldHVybiA9IG9sZFdvcmtJblByb2dyZXNzLnJldHVybjtcXG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmVmID0gb2xkV29ya0luUHJvZ3Jlc3MucmVmOyAvLyBSZXBsYWNlIHRoZSBjaGlsZC9zaWJsaW5nIHBvaW50ZXJzIGFib3ZlIGl0LlxcblxcbiAgICBpZiAob2xkV29ya0luUHJvZ3Jlc3MgPT09IHJldHVybkZpYmVyLmNoaWxkKSB7XFxuICAgICAgcmV0dXJuRmliZXIuY2hpbGQgPSBuZXdXb3JrSW5Qcm9ncmVzcztcXG4gICAgfSBlbHNlIHtcXG4gICAgICB2YXIgcHJldlNpYmxpbmcgPSByZXR1cm5GaWJlci5jaGlsZDtcXG5cXG4gICAgICBpZiAocHJldlNpYmxpbmcgPT09IG51bGwpIHtcXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgcGFyZW50IHRvIGhhdmUgYSBjaGlsZC4nKTtcXG4gICAgICB9XFxuXFxuICAgICAgd2hpbGUgKHByZXZTaWJsaW5nLnNpYmxpbmcgIT09IG9sZFdvcmtJblByb2dyZXNzKSB7XFxuICAgICAgICBwcmV2U2libGluZyA9IHByZXZTaWJsaW5nLnNpYmxpbmc7XFxuXFxuICAgICAgICBpZiAocHJldlNpYmxpbmcgPT09IG51bGwpIHtcXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCB0byBmaW5kIHRoZSBwcmV2aW91cyBzaWJsaW5nLicpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBwcmV2U2libGluZy5zaWJsaW5nID0gbmV3V29ya0luUHJvZ3Jlc3M7XFxuICAgIH0gLy8gRGVsZXRlIHRoZSBvbGQgZmliZXIgYW5kIHBsYWNlIHRoZSBuZXcgb25lLlxcbiAgICAvLyBTaW5jZSB0aGUgb2xkIGZpYmVyIGlzIGRpc2Nvbm5lY3RlZCwgd2UgaGF2ZSB0byBzY2hlZHVsZSBpdCBtYW51YWxseS5cXG5cXG5cXG4gICAgdmFyIGxhc3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0O1xcblxcbiAgICBpZiAobGFzdCAhPT0gbnVsbCkge1xcbiAgICAgIGxhc3QubmV4dEVmZmVjdCA9IGN1cnJlbnQ7XFxuICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdCA9IGN1cnJlbnQ7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY3VycmVudDtcXG4gICAgfVxcblxcbiAgICBjdXJyZW50Lm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICBjdXJyZW50LmVmZmVjdFRhZyA9IERlbGV0aW9uO1xcbiAgICBuZXdXb3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGxhY2VtZW50OyAvLyBSZXN0YXJ0IHdvcmsgZnJvbSB0aGUgbmV3IGZpYmVyLlxcblxcbiAgICByZXR1cm4gbmV3V29ya0luUHJvZ3Jlc3M7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGJlZ2luV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciB1cGRhdGVFeHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lO1xcblxcbiAge1xcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ICYmIGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICAvLyBUaGlzIHdpbGwgcmVzdGFydCB0aGUgYmVnaW4gcGhhc2Ugd2l0aCBhIG5ldyBmaWJlci5cXG4gICAgICByZXR1cm4gcmVtb3VudEZpYmVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHMod29ya0luUHJvZ3Jlc3MudHlwZSwgd29ya0luUHJvZ3Jlc3Mua2V5LCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHdvcmtJblByb2dyZXNzLl9kZWJ1Z093bmVyIHx8IG51bGwsIHdvcmtJblByb2dyZXNzLm1vZGUsIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lKSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgIHZhciBvbGRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcXG4gICAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzIHx8IGhhc0NvbnRleHRDaGFuZ2VkKCkgfHwgKCAvLyBGb3JjZSBhIHJlLXJlbmRlciBpZiB0aGUgaW1wbGVtZW50YXRpb24gY2hhbmdlZCBkdWUgdG8gaG90IHJlbG9hZDpcXG4gICAgIHdvcmtJblByb2dyZXNzLnR5cGUgIT09IGN1cnJlbnQudHlwZSApKSB7XFxuICAgICAgLy8gSWYgcHJvcHMgb3IgY29udGV4dCBjaGFuZ2VkLCBtYXJrIHRoZSBmaWJlciBhcyBoYXZpbmcgcGVyZm9ybWVkIHdvcmsuXFxuICAgICAgLy8gVGhpcyBtYXkgYmUgdW5zZXQgaWYgdGhlIHByb3BzIGFyZSBkZXRlcm1pbmVkIHRvIGJlIGVxdWFsIGxhdGVyIChtZW1vKS5cXG4gICAgICBkaWRSZWNlaXZlVXBkYXRlID0gdHJ1ZTtcXG4gICAgfSBlbHNlIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGZpYmVyIGRvZXMgbm90IGhhdmUgYW55IHBlbmRpbmcgd29yay4gQmFpbG91dCB3aXRob3V0IGVudGVyaW5nXFxuICAgICAgLy8gdGhlIGJlZ2luIHBoYXNlLiBUaGVyZSdzIHN0aWxsIHNvbWUgYm9va2tlZXBpbmcgd2UgdGhhdCBuZWVkcyB0byBiZSBkb25lXFxuICAgICAgLy8gaW4gdGhpcyBvcHRpbWl6ZWQgcGF0aCwgbW9zdGx5IHB1c2hpbmcgc3R1ZmYgb250byB0aGUgc3RhY2suXFxuXFxuICAgICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcXG4gICAgICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAgICAgIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XFxuICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgICBwdXNoSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlICYmIHJlbmRlckV4cGlyYXRpb25UaW1lICE9PSBOZXZlciAmJiBzaG91bGREZXByaW9yaXRpemVTdWJ0cmVlKHdvcmtJblByb2dyZXNzLnR5cGUsIG5ld1Byb3BzKSkge1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIG1hcmtTcGF3bmVkV29yayhOZXZlcik7XFxuICAgICAgICAgICAgfSAvLyBTY2hlZHVsZSB0aGlzIGZpYmVyIHRvIHJlLXJlbmRlciBhdCBvZmZzY3JlZW4gcHJpb3JpdHkuIFRoZW4gYmFpbG91dC5cXG5cXG5cXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBOZXZlcjtcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBicmVhaztcXG5cXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcXG5cXG4gICAgICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICAgICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgICAgIHB1c2hIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7XFxuICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xcbiAgICAgICAgICAgIHB1c2hQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgbmV3VmFsdWUpO1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgLy8gUHJvZmlsZXIgc2hvdWxkIG9ubHkgY2FsbCBvblJlbmRlciB3aGVuIG9uZSBvZiBpdHMgZGVzY2VuZGFudHMgYWN0dWFsbHkgcmVuZGVyZWQuXFxuICAgICAgICAgICAgdmFyIGhhc0NoaWxkV29yayA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPj0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkV29yaykge1xcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdmFyIHN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICAgICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIC8vIHdoZXRoZXIgdG8gcmV0cnkgdGhlIHByaW1hcnkgY2hpbGRyZW4sIG9yIHRvIHNraXAgb3ZlciBpdCBhbmRcXG4gICAgICAgICAgICAgIC8vIGdvIHN0cmFpZ2h0IHRvIHRoZSBmYWxsYmFjay4gQ2hlY2sgdGhlIHByaW9yaXR5IG9mIHRoZSBwcmltYXJ5XFxuICAgICAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cXG5cXG5cXG4gICAgICAgICAgICAgIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xcbiAgICAgICAgICAgICAgdmFyIHByaW1hcnlDaGlsZEV4cGlyYXRpb25UaW1lID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGRFeHBpcmF0aW9uVGltZTtcXG5cXG4gICAgICAgICAgICAgIGlmIChwcmltYXJ5Q2hpbGRFeHBpcmF0aW9uVGltZSAhPT0gTm9Xb3JrICYmIHByaW1hcnlDaGlsZEV4cGlyYXRpb25UaW1lID49IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgICAgICAgIC8vIFRoZSBwcmltYXJ5IGNoaWxkcmVuIGhhdmUgcGVuZGluZyB3b3JrLiBVc2UgdGhlIG5vcm1hbCBwYXRoXFxuICAgICAgICAgICAgICAgIC8vIHRvIGF0dGVtcHQgdG8gcmVuZGVyIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGFnYWluLlxcbiAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCkpOyAvLyBUaGUgcHJpbWFyeSBjaGlsZHJlbiBkbyBub3QgaGF2ZSBwZW5kaW5nIHdvcmsgd2l0aCBzdWZmaWNpZW50XFxuICAgICAgICAgICAgICAgIC8vIHByaW9yaXR5LiBCYWlsb3V0LlxcblxcbiAgICAgICAgICAgICAgICB2YXIgY2hpbGQgPSBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgICAgICAgICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgIC8vIFRoZSBmYWxsYmFjayBjaGlsZHJlbiBoYXZlIHBlbmRpbmcgd29yay4gU2tpcCBvdmVyIHRoZVxcbiAgICAgICAgICAgICAgICAgIC8vIHByaW1hcnkgY2hpbGRyZW4gYW5kIHdvcmsgb24gdGhlIGZhbGxiYWNrLlxcbiAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5zaWJsaW5nO1xcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCkpO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB2YXIgZGlkU3VzcGVuZEJlZm9yZSA9IChjdXJyZW50LmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdDtcXG5cXG4gICAgICAgICAgICB2YXIgX2hhc0NoaWxkV29yayA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPj0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgICAgICAgaWYgKGRpZFN1c3BlbmRCZWZvcmUpIHtcXG4gICAgICAgICAgICAgIGlmIChfaGFzQ2hpbGRXb3JrKSB7XFxuICAgICAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXFxuICAgICAgICAgICAgICAgIC8vIHNhbWUgY2hpbGRyZW4gdGhlbiB3ZSdyZSBzdGlsbCBpbiBwcm9ncmVzc2l2ZSBsb2FkaW5nIHN0YXRlLlxcbiAgICAgICAgICAgICAgICAvLyBTb21ldGhpbmcgbWlnaHQgZ2V0IHVuYmxvY2tlZCBieSBzdGF0ZSB1cGRhdGVzIG9yIHJldHJpZXMgaW4gdGhlXFxuICAgICAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcXG4gICAgICAgICAgICAgICAgLy8gcGF0aCB0byBjb21wdXRlIHRoZSBjb3JyZWN0IHRhaWwuXFxuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxcbiAgICAgICAgICAgICAgLy8gdGhlbSBnb3QgcmV0cmllZCBzbyB0aGV5J2xsIHN0aWxsIGJlIGJsb2NrZWQgaW4gdGhlIHNhbWUgd2F5XFxuICAgICAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxcblxcblxcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IERpZENhcHR1cmU7XFxuICAgICAgICAgICAgfSAvLyBJZiBub3RoaW5nIHN1c3BlbmRlZCBiZWZvcmUgYW5kIHdlJ3JlIHJlbmRlcmluZyB0aGUgc2FtZSBjaGlsZHJlbixcXG4gICAgICAgICAgICAvLyB0aGVuIHRoZSB0YWlsIGRvZXNuJ3QgbWF0dGVyLiBBbnl0aGluZyBuZXcgdGhhdCBzdXNwZW5kcyB3aWxsIHdvcmtcXG4gICAgICAgICAgICAvLyBpbiB0aGUgXFxcInRvZ2V0aGVyXFxcIiBtb2RlLCBzbyB3ZSBjYW4gY29udGludWUgZnJvbSB0aGUgc3RhdGUgd2UgaGFkLlxcblxcblxcbiAgICAgICAgICAgIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgICAgICAgICAgaWYgKHJlbmRlclN0YXRlICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgICAvLyBSZXNldCB0byB0aGUgXFxcInRvZ2V0aGVyXFxcIiBtb2RlIGluIGNhc2Ugd2UndmUgc3RhcnRlZCBhIGRpZmZlcmVudFxcbiAgICAgICAgICAgICAgLy8gdXBkYXRlIGluIHRoZSBwYXN0IGJ1dCBkaWRuJ3QgY29tcGxldGUgaXQuXFxuICAgICAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xcbiAgICAgICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG51bGw7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCk7XFxuXFxuICAgICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAvLyBJZiBub25lIG9mIHRoZSBjaGlsZHJlbiBoYWQgYW55IHdvcmssIHRoYXQgbWVhbnMgdGhhdCBub25lIG9mXFxuICAgICAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcXG4gICAgICAgICAgICAgIC8vIGFzIGJlZm9yZS4gV2UgY2FuIGZhc3QgYmFpbCBvdXQuXFxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBBbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBvbiB0aGlzIGZpYmVyLCBidXQgdGhlcmUgYXJlIG5vIG5ldyBwcm9wc1xcbiAgICAgIC8vIG5vciBsZWdhY3kgY29udGV4dC4gU2V0IHRoaXMgdG8gZmFsc2UuIElmIGFuIHVwZGF0ZSBxdWV1ZSBvciBjb250ZXh0XFxuICAgICAgLy8gY29uc3VtZXIgcHJvZHVjZXMgYSBjaGFuZ2VkIHZhbHVlLCBpdCB3aWxsIHNldCB0aGlzIHRvIHRydWUuIE90aGVyd2lzZSxcXG4gICAgICAvLyB0aGUgY29tcG9uZW50IHdpbGwgYXNzdW1lIHRoZSBjaGlsZHJlbiBoYXZlIG5vdCBjaGFuZ2VkIGFuZCBiYWlsIG91dC5cXG4gICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcXG4gIH0gLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY2xlYXIgcGVuZGluZyB1cGRhdGUgcHJpb3JpdHkuXFxuICAvLyBUT0RPOiBUaGlzIGFzc3VtZXMgdGhhdCB3ZSdyZSBhYm91dCB0byBldmFsdWF0ZSB0aGUgY29tcG9uZW50IGFuZCBwcm9jZXNzXFxuICAvLyB0aGUgdXBkYXRlIHF1ZXVlLiBIb3dldmVyLCB0aGVyZSdzIGFuIGV4Y2VwdGlvbjogU2ltcGxlTWVtb0NvbXBvbmVudFxcbiAgLy8gc29tZXRpbWVzIGJhaWxzIG91dCBsYXRlciBpbiB0aGUgYmVnaW4gcGhhc2UuIFRoaXMgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkXFxuICAvLyBtb3ZlIHRoaXMgYXNzaWdubWVudCBvdXQgb2YgdGhlIGNvbW1vbiBwYXRoIGFuZCBpbnRvIGVhY2ggYnJhbmNoLlxcblxcblxcbiAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuXFxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xcbiAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBlbGVtZW50VHlwZSA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlO1xcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcXG4gICAgICAgIHZhciB1bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XFxuICAgICAgICB2YXIgcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50ID8gdW5yZXNvbHZlZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50LCB1bnJlc29sdmVkUHJvcHMpO1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZ1bmN0aW9uQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfQ29tcG9uZW50MiA9IHdvcmtJblByb2dyZXNzLnR5cGU7XFxuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG5cXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wcyA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MiA/IF91bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKF9Db21wb25lbnQyLCBfdW5yZXNvbHZlZFByb3BzKTtcXG5cXG4gICAgICAgIHJldHVybiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0Um9vdChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgY2FzZSBIb3N0VGV4dDpcXG4gICAgICByZXR1cm4gdXBkYXRlSG9zdFRleHQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgcmV0dXJuIHVwZGF0ZVBvcnRhbENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgICAge1xcbiAgICAgICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzMiA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSB0eXBlID8gX3VucmVzb2x2ZWRQcm9wczIgOiByZXNvbHZlRGVmYXVsdFByb3BzKHR5cGUsIF91bnJlc29sdmVkUHJvcHMyKTtcXG5cXG4gICAgICAgIHJldHVybiB1cGRhdGVGb3J3YXJkUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB0eXBlLCBfcmVzb2x2ZWRQcm9wczIsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgRnJhZ21lbnQ6XFxuICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICAgIGNhc2UgTW9kZTpcXG4gICAgICByZXR1cm4gdXBkYXRlTW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICAgIHJldHVybiB1cGRhdGVQcm9maWxlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcXG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dFByb3ZpZGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuXFxuICAgIGNhc2UgQ29udGV4dENvbnN1bWVyOlxcbiAgICAgIHJldHVybiB1cGRhdGVDb250ZXh0Q29uc3VtZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzOyAvLyBSZXNvbHZlIG91dGVyIHByb3BzIGZpcnN0LCB0aGVuIHJlc29sdmUgaW5uZXIgcHJvcHMuXFxuXFxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcXG5cXG4gICAgICAgIHtcXG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XFxuICAgICAgICAgICAgdmFyIG91dGVyUHJvcFR5cGVzID0gX3R5cGUyLnByb3BUeXBlcztcXG5cXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcXG4gICAgICAgICAgICAgIGNoZWNrUHJvcFR5cGVzKG91dGVyUHJvcFR5cGVzLCBfcmVzb2x2ZWRQcm9wczMsIC8vIFJlc29sdmVkIGZvciBvdXRlciBvbmx5XFxuICAgICAgICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoX3R5cGUyKSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBfcmVzb2x2ZWRQcm9wczMgPSByZXNvbHZlRGVmYXVsdFByb3BzKF90eXBlMi50eXBlLCBfcmVzb2x2ZWRQcm9wczMpO1xcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIF90eXBlMiwgX3Jlc29sdmVkUHJvcHMzLCB1cGRhdGVFeHBpcmF0aW9uVGltZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHJldHVybiB1cGRhdGVTaW1wbGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICB2YXIgX0NvbXBvbmVudDMgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHM0ID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xcblxcbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MyA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MywgX3VucmVzb2x2ZWRQcm9wczQpO1xcblxcbiAgICAgICAgcmV0dXJuIG1vdW50SW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfQ29tcG9uZW50MywgX3Jlc29sdmVkUHJvcHM0LCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgfVxcbiAgfVxcblxcbiAge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFxcXCIgKyB3b3JrSW5Qcm9ncmVzcy50YWcgKyBcXFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcykge1xcbiAgLy8gVGFnIHRoZSBmaWJlciB3aXRoIGFuIHVwZGF0ZSBlZmZlY3QuIFRoaXMgdHVybnMgYSBQbGFjZW1lbnQgaW50b1xcbiAgLy8gYSBQbGFjZW1lbnRBbmRVcGRhdGUuXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbn1cXG5cXG5mdW5jdGlvbiBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpIHtcXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBSZWY7XFxufVxcblxcbnZhciBhcHBlbmRBbGxDaGlsZHJlbjtcXG52YXIgdXBkYXRlSG9zdENvbnRhaW5lcjtcXG52YXIgdXBkYXRlSG9zdENvbXBvbmVudCQxO1xcbnZhciB1cGRhdGVIb3N0VGV4dCQxO1xcblxcbntcXG4gIC8vIE11dGF0aW9uIG1vZGVcXG4gIGFwcGVuZEFsbENoaWxkcmVuID0gZnVuY3Rpb24gKHBhcmVudCwgd29ya0luUHJvZ3Jlc3MsIG5lZWRzVmlzaWJpbGl0eVRvZ2dsZSwgaXNIaWRkZW4pIHtcXG4gICAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgY3JlYXRlZCBidXQgd2UgbmVlZCByZWN1cnNlIGRvd24gaXRzXFxuICAgIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cXG4gICAgdmFyIG5vZGUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcXG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XFxuICAgICAgICBhcHBlbmRJbml0aWFsQ2hpbGQocGFyZW50LCBub2RlLnN0YXRlTm9kZSk7XFxuICAgICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobm9kZSA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSB3b3JrSW5Qcm9ncmVzcykge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcbiAgICB9XFxuICB9O1xcblxcbiAgdXBkYXRlSG9zdENvbnRhaW5lciA9IGZ1bmN0aW9uICh3b3JrSW5Qcm9ncmVzcykgey8vIE5vb3BcXG4gIH07XFxuXFxuICB1cGRhdGVIb3N0Q29tcG9uZW50JDEgPSBmdW5jdGlvbiAoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpIHtcXG4gICAgLy8gSWYgd2UgaGF2ZSBhbiBhbHRlcm5hdGUsIHRoYXQgbWVhbnMgdGhpcyBpcyBhbiB1cGRhdGUgYW5kIHdlIG5lZWQgdG9cXG4gICAgLy8gc2NoZWR1bGUgYSBzaWRlLWVmZmVjdCB0byBkbyB0aGUgdXBkYXRlcy5cXG4gICAgdmFyIG9sZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xcblxcbiAgICBpZiAob2xkUHJvcHMgPT09IG5ld1Byb3BzKSB7XFxuICAgICAgLy8gSW4gbXV0YXRpb24gbW9kZSwgdGhpcyBpcyBzdWZmaWNpZW50IGZvciBhIGJhaWxvdXQgYmVjYXVzZVxcbiAgICAgIC8vIHdlIHdvbid0IHRvdWNoIHRoaXMgbm9kZSBldmVuIGlmIGNoaWxkcmVuIGNoYW5nZWQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9IC8vIElmIHdlIGdldCB1cGRhdGVkIGJlY2F1c2Ugb25lIG9mIG91ciBjaGlsZHJlbiB1cGRhdGVkLCB3ZSBkb24ndFxcbiAgICAvLyBoYXZlIG5ld1Byb3BzIHNvIHdlJ2xsIGhhdmUgdG8gcmV1c2UgdGhlbS5cXG4gICAgLy8gVE9ETzogU3BsaXQgdGhlIHVwZGF0ZSBBUEkgYXMgc2VwYXJhdGUgZm9yIHRoZSBwcm9wcyB2cy4gY2hpbGRyZW4uXFxuICAgIC8vIEV2ZW4gYmV0dGVyIHdvdWxkIGJlIGlmIGNoaWxkcmVuIHdlcmVuJ3Qgc3BlY2lhbCBjYXNlZCBhdCBhbGwgdGhvLlxcblxcblxcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XFxuICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBFeHBlcmllbmNpbmcgYW4gZXJyb3Igd2hlcmUgb2xkUHJvcHMgaXMgbnVsbC4gU3VnZ2VzdHMgYSBob3N0XFxuICAgIC8vIGNvbXBvbmVudCBpcyBoaXR0aW5nIHRoZSByZXN1bWUgcGF0aC4gRmlndXJlIG91dCB3aHkuIFBvc3NpYmx5XFxuICAgIC8vIHJlbGF0ZWQgdG8gYGhpZGRlbmAuXFxuXFxuICAgIHZhciB1cGRhdGVQYXlsb2FkID0gcHJlcGFyZVVwZGF0ZShpbnN0YW5jZSwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCk7IC8vIFRPRE86IFR5cGUgdGhpcyBzcGVjaWZpYyB0byB0aGlzIHR5cGUgb2YgY29tcG9uZW50LlxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxcbiAgICAvLyBpcyBhIG5ldyByZWYgd2UgbWFyayB0aGlzIGFzIGFuIHVwZGF0ZS4gQWxsIHRoZSB3b3JrIGlzIGRvbmUgaW4gY29tbWl0V29yay5cXG5cXG4gICAgaWYgKHVwZGF0ZVBheWxvYWQpIHtcXG4gICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHVwZGF0ZUhvc3RUZXh0JDEgPSBmdW5jdGlvbiAoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG9sZFRleHQsIG5ld1RleHQpIHtcXG4gICAgLy8gSWYgdGhlIHRleHQgZGlmZmVycywgbWFyayBpdCBhcyBhbiB1cGRhdGUuIEFsbCB0aGUgd29yayBpbiBkb25lIGluIGNvbW1pdFdvcmsuXFxuICAgIGlmIChvbGRUZXh0ICE9PSBuZXdUZXh0KSB7XFxuICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgaGFzUmVuZGVyZWRBVGFpbEZhbGxiYWNrKSB7XFxuICBzd2l0Y2ggKHJlbmRlclN0YXRlLnRhaWxNb2RlKSB7XFxuICAgIGNhc2UgJ2hpZGRlbic6XFxuICAgICAge1xcbiAgICAgICAgLy8gQW55IGluc2VydGlvbnMgYXQgdGhlIGVuZCBvZiB0aGUgdGFpbCBsaXN0IGFmdGVyIHRoaXMgcG9pbnRcXG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xcbiAgICAgICAgLy8gYW55dGhpbmcgYmVmb3JlIHRoZW0gYXJlIG5vdCBjb25zaWRlcmVkIGZvciBjb2xsYXBzaW5nLlxcbiAgICAgICAgLy8gVGhlcmVmb3JlIHdlIG5lZWQgdG8gZ28gdGhyb3VnaCB0aGUgd2hvbGUgdGFpbCB0byBmaW5kIGlmXFxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxcbiAgICAgICAgdmFyIHRhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcXG4gICAgICAgIHZhciBsYXN0VGFpbE5vZGUgPSBudWxsO1xcblxcbiAgICAgICAgd2hpbGUgKHRhaWxOb2RlICE9PSBudWxsKSB7XFxuICAgICAgICAgIGlmICh0YWlsTm9kZS5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XFxuICAgICAgICB9IC8vIE5leHQgd2UncmUgc2ltcGx5IGdvaW5nIHRvIGRlbGV0ZSBhbGwgaW5zZXJ0aW9ucyBhZnRlciB0aGVcXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cXG5cXG5cXG4gICAgICAgIGlmIChsYXN0VGFpbE5vZGUgPT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cXG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG51bGw7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcXG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXFxuICAgICAgICAgIGxhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSAnY29sbGFwc2VkJzpcXG4gICAgICB7XFxuICAgICAgICAvLyBBbnkgaW5zZXJ0aW9ucyBhdCB0aGUgZW5kIG9mIHRoZSB0YWlsIGxpc3QgYWZ0ZXIgdGhpcyBwb2ludFxcbiAgICAgICAgLy8gc2hvdWxkIGJlIGludmlzaWJsZS4gSWYgdGhlcmUgYXJlIGFscmVhZHkgbW91bnRlZCBib3VuZGFyaWVzXFxuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXFxuICAgICAgICAvLyBUaGVyZWZvcmUgd2UgbmVlZCB0byBnbyB0aHJvdWdoIHRoZSB3aG9sZSB0YWlsIHRvIGZpbmQgaWZcXG4gICAgICAgIC8vIHRoZXJlIGFyZSBhbnkuXFxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcXG4gICAgICAgIHZhciBfbGFzdFRhaWxOb2RlID0gbnVsbDtcXG5cXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgaWYgKF90YWlsTm9kZS5hbHRlcm5hdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBfbGFzdFRhaWxOb2RlID0gX3RhaWxOb2RlO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIF90YWlsTm9kZSA9IF90YWlsTm9kZS5zaWJsaW5nO1xcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXFxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXFxuXFxuXFxuICAgICAgICBpZiAoX2xhc3RUYWlsTm9kZSA9PT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBBbGwgcmVtYWluaW5nIGl0ZW1zIGluIHRoZSB0YWlsIGFyZSBpbnNlcnRpb25zLlxcbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgLy8gV2Ugc3VzcGVuZGVkIGR1cmluZyB0aGUgaGVhZC4gV2Ugd2FudCB0byBzaG93IGF0IGxlYXN0IG9uZVxcbiAgICAgICAgICAgIC8vIHJvdyBhdCB0aGUgdGFpbC4gU28gd2UnbGwga2VlcCBvbiBhbmQgY3V0IG9mZiB0aGUgcmVzdC5cXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHJlbmRlclN0YXRlLnRhaWwgPSBudWxsO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcXG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXFxuICAgICAgICAgIF9sYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcXG5cXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XFxuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XFxuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XFxuICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgY2FzZSBGcmFnbWVudDpcXG4gICAgY2FzZSBNb2RlOlxcbiAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICBjYXNlIENvbnRleHRDb25zdW1lcjpcXG4gICAgY2FzZSBNZW1vQ29tcG9uZW50OlxcbiAgICAgIHJldHVybiBudWxsO1xcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcXG4gICAgICAgICAgcG9wQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICBwb3BUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgdmFyIGZpYmVyUm9vdCA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcXG4gICAgICAgICAgZmliZXJSb290LmNvbnRleHQgPSBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQ7XFxuICAgICAgICAgIGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dCA9IG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCB8fCBjdXJyZW50LmNoaWxkID09PSBudWxsKSB7XFxuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cXG4gICAgICAgICAgLy8gdGhhdCB3ZXJlbid0IGh5ZHJhdGVkLlxcbiAgICAgICAgICB2YXIgd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICAgICAgICAgIGlmICh3YXNIeWRyYXRlZCkge1xcbiAgICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCB0aGVuIHdlJ2xsIG5lZWQgdG8gc2NoZWR1bGUgYW4gdXBkYXRlIGZvclxcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxcbiAgICAgICAgICAgIG1hcmtVcGRhdGUod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIHZhciByb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xcbiAgICAgICAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlICE9IG51bGwpIHtcXG4gICAgICAgICAgdXBkYXRlSG9zdENvbXBvbmVudCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKTtcXG5cXG4gICAgICAgICAgaWYgKGN1cnJlbnQucmVmICE9PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcXG4gICAgICAgICAgICBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBpZiAoIW5ld1Byb3BzKSB7XFxuICAgICAgICAgICAgaWYgKCEod29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlICE9PSBudWxsKSkge1xcbiAgICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIldlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cXG5cXG5cXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB2YXIgY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTsgLy8gVE9ETzogTW92ZSBjcmVhdGVJbnN0YW5jZSB0byBiZWdpbldvcmsgYW5kIGtlZXAgaXQgb24gYSBjb250ZXh0XFxuICAgICAgICAgIC8vIFxcXCJzdGFja1xcXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXFxuICAgICAgICAgIC8vIG9yIGNvbXBsZXRlV29yayBkZXBlbmRpbmcgb24gd2hldGhlciB3ZSB3YW50IHRvIGFkZCB0aGVtIHRvcC0+ZG93biBvclxcbiAgICAgICAgICAvLyBib3R0b20tPnVwLiBUb3AtPmRvd24gaXMgZmFzdGVyIGluIElFMTEuXFxuXFxuICAgICAgICAgIHZhciBfd2FzSHlkcmF0ZWQgPSBwb3BIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcXG4gICAgICAgICAgICAvLyBUT0RPOiBNb3ZlIHRoaXMgYW5kIGNyZWF0ZUluc3RhbmNlIHN0ZXAgaW50byB0aGUgYmVnaW5QaGFzZVxcbiAgICAgICAgICAgIC8vIHRvIGNvbnNvbGlkYXRlLlxcbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcXG4gICAgICAgICAgICAgIC8vIElmIGNoYW5nZXMgdG8gdGhlIGh5ZHJhdGVkIG5vZGUgbmVlZCB0byBiZSBhcHBsaWVkIGF0IHRoZVxcbiAgICAgICAgICAgICAgLy8gY29tbWl0LXBoYXNlIHdlIG1hcmsgdGhpcyBhcyBzdWNoLlxcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICAgIGFwcGVuZEFsbENoaWxkcmVuKGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIGZhbHNlKTsgLy8gVGhpcyBuZWVkcyB0byBiZSBzZXQgYmVmb3JlIHdlIG1vdW50IEZsYXJlIGV2ZW50IGxpc3RlbmVyc1xcblxcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xcbiAgICAgICAgICAgIC8vIChlZyBET00gcmVuZGVyZXIgc3VwcG9ydHMgYXV0by1mb2N1cyBmb3IgY2VydGFpbiBlbGVtZW50cykuXFxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHN1Y2ggcmVuZGVyZXJzIGdldCBzY2hlZHVsZWQgZm9yIGxhdGVyIHdvcmsuXFxuXFxuXFxuICAgICAgICAgICAgaWYgKGZpbmFsaXplSW5pdGlhbENoaWxkcmVuKGluc3RhbmNlLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSkge1xcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5yZWYgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHJlZiBvbiBhIGhvc3Qgbm9kZSB3ZSBuZWVkIHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcXG4gICAgICAgICAgICBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgICAge1xcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcXG5cXG4gICAgICAgIGlmIChjdXJyZW50ICYmIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSAhPSBudWxsKSB7XFxuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxcbiAgICAgICAgICAvLyB0byBzY2hlZHVsZSBhIHNpZGUtZWZmZWN0IHRvIGRvIHRoZSB1cGRhdGVzLlxcblxcbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIGlmICh0eXBlb2YgbmV3VGV4dCAhPT0gJ3N0cmluZycpIHtcXG4gICAgICAgICAgICBpZiAoISh3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT09IG51bGwpKSB7XFxuICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiV2UgbXVzdCBoYXZlIG5ldyBwcm9wcyBmb3IgbmV3IG1vdW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxcblxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBfcm9vdENvbnRhaW5lckluc3RhbmNlID0gZ2V0Um9vdEhvc3RDb250YWluZXIoKTtcXG5cXG4gICAgICAgICAgdmFyIF9jdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpO1xcblxcbiAgICAgICAgICB2YXIgX3dhc0h5ZHJhdGVkMiA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcXG5cXG4gICAgICAgICAgaWYgKF93YXNIeWRyYXRlZDIpIHtcXG4gICAgICAgICAgICBpZiAocHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpKSB7XFxuICAgICAgICAgICAgICBtYXJrVXBkYXRlKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlID0gY3JlYXRlVGV4dEluc3RhbmNlKG5ld1RleHQsIF9yb290Q29udGFpbmVySW5zdGFuY2UsIF9jdXJyZW50SG9zdENvbnRleHQsIHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0KSB7XFxuICAgICAgICAgIC8vIFNvbWV0aGluZyBzdXNwZW5kZWQuIFJlLXJlbmRlciB3aXRoIHRoZSBmYWxsYmFjayBjaGlsZHJlbi5cXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTsgLy8gRG8gbm90IHJlc2V0IHRoZSBlZmZlY3QgbGlzdC5cXG5cXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIG5leHREaWRUaW1lb3V0ID0gbmV4dFN0YXRlICE9PSBudWxsO1xcbiAgICAgICAgdmFyIHByZXZEaWRUaW1lb3V0ID0gZmFsc2U7XFxuXFxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcy5mYWxsYmFjayAhPT0gdW5kZWZpbmVkKSB7XFxuICAgICAgICAgICAgcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgICAgICAgICBwcmV2RGlkVGltZW91dCA9IHByZXZTdGF0ZSAhPT0gbnVsbDtcXG5cXG4gICAgICAgICAgaWYgKCFuZXh0RGlkVGltZW91dCAmJiBwcmV2U3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAvLyBXZSBqdXN0IHN3aXRjaGVkIGZyb20gdGhlIGZhbGxiYWNrIHRvIHRoZSBub3JtYWwgY2hpbGRyZW4uXFxuICAgICAgICAgICAgLy8gRGVsZXRlIHRoZSBmYWxsYmFjay5cXG4gICAgICAgICAgICAvLyBUT0RPOiBXb3VsZCBpdCBiZSBiZXR0ZXIgdG8gc3RvcmUgdGhlIGZhbGxiYWNrIGZyYWdtZW50IG9uXFxuICAgICAgICAgICAgLy8gdGhlIHN0YXRlTm9kZSBkdXJpbmcgdGhlIGJlZ2luIHBoYXNlP1xcbiAgICAgICAgICAgIHZhciBjdXJyZW50RmFsbGJhY2tDaGlsZCA9IGN1cnJlbnQuY2hpbGQuc2libGluZztcXG5cXG4gICAgICAgICAgICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIC8vIERlbGV0aW9ucyBnbyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSByZXR1cm4gZmliZXIncyBlZmZlY3QgbGlzdFxcbiAgICAgICAgICAgICAgdmFyIGZpcnN0ID0gd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3Q7XFxuXFxuICAgICAgICAgICAgICBpZiAoZmlyc3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBjdXJyZW50RmFsbGJhY2tDaGlsZDtcXG4gICAgICAgICAgICAgICAgY3VycmVudEZhbGxiYWNrQ2hpbGQubmV4dEVmZmVjdCA9IGZpcnN0O1xcbiAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gY3VycmVudEZhbGxiYWNrQ2hpbGQ7XFxuICAgICAgICAgICAgICAgIGN1cnJlbnRGYWxsYmFja0NoaWxkLm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgY3VycmVudEZhbGxiYWNrQ2hpbGQuZWZmZWN0VGFnID0gRGVsZXRpb247XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgJiYgIXByZXZEaWRUaW1lb3V0KSB7XFxuICAgICAgICAgIC8vIElmIHRoaXMgc3VidHJlZWUgaXMgcnVubmluZyBpbiBibG9ja2luZyBtb2RlIHdlIGNhbiBzdXNwZW5kLFxcbiAgICAgICAgICAvLyBvdGhlcndpc2Ugd2Ugd29uJ3Qgc3VzcGVuZC5cXG4gICAgICAgICAgLy8gVE9ETzogVGhpcyB3aWxsIHN0aWxsIHN1c3BlbmQgYSBzeW5jaHJvbm91cyB0cmVlIGlmIGFueXRoaW5nXFxuICAgICAgICAgIC8vIGluIHRoZSBjb25jdXJyZW50IHRyZWUgYWxyZWFkeSBzdXNwZW5kZWQgZHVyaW5nIHRoaXMgcmVuZGVyLlxcbiAgICAgICAgICAvLyBUaGlzIGlzIGEga25vd24gYnVnLlxcbiAgICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpICE9PSBOb01vZGUpIHtcXG4gICAgICAgICAgICAvLyBUT0RPOiBNb3ZlIHRoaXMgYmFjayB0byB0aHJvd0V4Y2VwdGlvbiBiZWNhdXNlIHRoaXMgaXMgdG9vIGxhdGVcXG4gICAgICAgICAgICAvLyBpZiB0aGlzIGlzIGEgbGFyZ2UgdHJlZSB3aGljaCBpcyBjb21tb24gZm9yIGluaXRpYWwgbG9hZHMuIFdlXFxuICAgICAgICAgICAgLy8gZG9uJ3Qga25vdyBpZiB3ZSBzaG91bGQgcmVzdGFydCBhIHJlbmRlciBvciBub3QgdW50aWwgd2UgZ2V0XFxuICAgICAgICAgICAgLy8gdGhpcyBtYXJrZXIsIGFuZCB0aGlzIGlzIHRvbyBsYXRlLlxcbiAgICAgICAgICAgIC8vIElmIHRoaXMgcmVuZGVyIGFscmVhZHkgaGFkIGEgcGluZyBvciBsb3dlciBwcmkgdXBkYXRlcyxcXG4gICAgICAgICAgICAvLyBhbmQgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB3ZSBrbm93IHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2VcXG4gICAgICAgICAgICAvLyBzaG91bGQgYmUgYWJsZSB0byBpbW1lZGlhdGVseSByZXN0YXJ0IGZyb20gd2l0aGluIHRocm93RXhjZXB0aW9uLlxcbiAgICAgICAgICAgIHZhciBoYXNJbnZpc2libGVDaGlsZENvbnRleHQgPSBjdXJyZW50ID09PSBudWxsICYmIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMudW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgIT09IHRydWU7XFxuXFxuICAgICAgICAgICAgaWYgKGhhc0ludmlzaWJsZUNoaWxkQ29udGV4dCB8fCBoYXNTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50LCBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQpKSB7XFxuICAgICAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBpbiBhbiBpbnZpc2libGUgdHJlZSBvciBhIG5ldyByZW5kZXIsIHRoZW4gc2hvd2luZ1xcbiAgICAgICAgICAgICAgLy8gdGhpcyBib3VuZGFyeSBpcyBvay5cXG4gICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmQoKTtcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB3ZSdyZSBnb2luZyB0byBoYXZlIHRvIGhpZGUgY29udGVudCBzbyB3ZSBzaG91bGRcXG4gICAgICAgICAgICAgIC8vIHN1c3BlbmQgZm9yIGxvbmdlciBpZiBwb3NzaWJsZS5cXG4gICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmREZWxheUlmUG9zc2libGUoKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHtcXG4gICAgICAgICAgLy8gVE9ETzogT25seSBzY2hlZHVsZSB1cGRhdGVzIGlmIHRoZXNlIHZhbHVlcyBhcmUgbm9uIGVxdWFsLCBpLmUuIGl0IGNoYW5nZWQuXFxuICAgICAgICAgIGlmIChuZXh0RGlkVGltZW91dCB8fCBwcmV2RGlkVGltZW91dCkge1xcbiAgICAgICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkganVzdCB0aW1lZCBvdXQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggYVxcbiAgICAgICAgICAgIC8vIHJldHJ5IGxpc3RlbmVyIHRvIHRoZSBwcm9taXNlLiBUaGlzIGZsYWcgaXMgYWxzbyB1c2VkIHRvIGhpZGUgdGhlXFxuICAgICAgICAgICAgLy8gcHJpbWFyeSBjaGlsZHJlbi4gSW4gbXV0YXRpb24gbW9kZSwgd2UgYWxzbyBuZWVkIHRoZSBmbGFnIHRvXFxuICAgICAgICAgICAgLy8gKnVuaGlkZSogY2hpbGRyZW4gdGhhdCB3ZXJlIHByZXZpb3VzbHkgaGlkZGVuLCBzbyBjaGVjayBpZiB0aGlzXFxuICAgICAgICAgICAgLy8gaXMgY3VycmVudGx5IHRpbWVkIG91dCwgdG9vLlxcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICAgIHBvcEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgIHVwZGF0ZUhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgIHJldHVybiBudWxsO1xcblxcbiAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcXG4gICAgICAvLyBQb3AgcHJvdmlkZXIgZmliZXJcXG4gICAgICBwb3BQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuXFxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxcbiAgICAgICAgLy8gc2VxdWVudGlhbCB0byBlbnN1cmUgdGhpcyBzd2l0Y2ggaXMgY29tcGlsZWQgdG8gYSBqdW1wIHRhYmxlLlxcbiAgICAgICAgdmFyIF9Db21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKF9Db21wb25lbnQpKSB7XFxuICAgICAgICAgIHBvcENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcXG5cXG4gICAgICAgIGlmIChyZW5kZXJTdGF0ZSA9PT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSdyZSBydW5uaW5nIGluIHRoZSBkZWZhdWx0LCBcXFwiaW5kZXBlbmRlbnRcXFwiIG1vZGUuXFxuICAgICAgICAgIC8vIFdlIGRvbid0IGRvIGFueXRoaW5nIGluIHRoaXMgbW9kZS5cXG4gICAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgZGlkU3VzcGVuZEFscmVhZHkgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xcbiAgICAgICAgdmFyIHJlbmRlcmVkVGFpbCA9IHJlbmRlclN0YXRlLnJlbmRlcmluZztcXG5cXG4gICAgICAgIGlmIChyZW5kZXJlZFRhaWwgPT09IG51bGwpIHtcXG4gICAgICAgICAgLy8gV2UganVzdCByZW5kZXJlZCB0aGUgaGVhZC5cXG4gICAgICAgICAgaWYgKCFkaWRTdXNwZW5kQWxyZWFkeSkge1xcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHBhc3MuIFdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiBhbnl0aGluZyBpcyBzdGlsbFxcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBpbiB0aGUgcmVuZGVyZWQgc2V0LlxcbiAgICAgICAgICAgIC8vIElmIG5ldyBjb250ZW50IHVuc3VzcGVuZGVkLCBidXQgdGhlcmUncyBzdGlsbCBzb21lIGNvbnRlbnQgdGhhdFxcbiAgICAgICAgICAgIC8vIGRpZG4ndC4gVGhlbiB3ZSBuZWVkIHRvIGRvIGEgc2Vjb25kIHBhc3MgdGhhdCBmb3JjZXMgZXZlcnl0aGluZ1xcbiAgICAgICAgICAgIC8vIHRvIGtlZXAgc2hvd2luZyB0aGVpciBmYWxsYmFja3MuXFxuICAgICAgICAgICAgLy8gV2UgbWlnaHQgYmUgc3VzcGVuZGVkIGlmIHNvbWV0aGluZyBpbiB0aGlzIHJlbmRlciBwYXNzIHN1c3BlbmRlZCwgb3JcXG4gICAgICAgICAgICAvLyBzb21ldGhpbmcgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHRlZCBwYXNzIHN1c3BlbmRlZC4gT3RoZXJ3aXNlLFxcbiAgICAgICAgICAgIC8vIHRoZXJlJ3Mgbm8gY2hhbmNlIHNvIHdlIGNhbiBza2lwIHRoZSBleHBlbnNpdmUgY2FsbCB0b1xcbiAgICAgICAgICAgIC8vIGZpbmRGaXJzdFN1c3BlbmRlZC5cXG4gICAgICAgICAgICB2YXIgY2Fubm90QmVTdXNwZW5kZWQgPSByZW5kZXJIYXNOb3RTdXNwZW5kZWRZZXQoKSAmJiAoY3VycmVudCA9PT0gbnVsbCB8fCAoY3VycmVudC5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSA9PT0gTm9FZmZlY3QpO1xcblxcbiAgICAgICAgICAgIGlmICghY2Fubm90QmVTdXNwZW5kZWQpIHtcXG4gICAgICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG5cXG4gICAgICAgICAgICAgIHdoaWxlIChyb3cgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgdmFyIHN1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyb3cpO1xcblxcbiAgICAgICAgICAgICAgICBpZiAoc3VzcGVuZGVkICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlO1xcbiAgICAgICAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpOyAvLyBJZiB0aGlzIGlzIGEgbmV3bHkgc3VzcGVuZGVkIHRyZWUsIGl0IG1pZ2h0IG5vdCBnZXQgY29tbWl0dGVkIGFzXFxuICAgICAgICAgICAgICAgICAgLy8gcGFydCBvZiB0aGUgc2Vjb25kIHBhc3MuIEluIHRoYXQgY2FzZSBub3RoaW5nIHdpbGwgc3Vic2NyaWJlIHRvXFxuICAgICAgICAgICAgICAgICAgLy8gaXRzIHRoZW5uYWJsZXMuIEluc3RlYWQsIHdlJ2xsIHRyYW5zZmVyIGl0cyB0aGVubmFibGVzIHRvIHRoZVxcbiAgICAgICAgICAgICAgICAgIC8vIFN1c3BlbnNlTGlzdCBzbyB0aGF0IGl0IGNhbiByZXRyeSBpZiB0aGV5IHJlc29sdmUuXFxuICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgbWlnaHQgYmUgbXVsdGlwbGUgb2YgdGhlc2UgaW4gdGhlIGxpc3QgYnV0IHNpbmNlIHdlJ3JlXFxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcXG4gICAgICAgICAgICAgICAgICAvLyB3aGljaCBvbmVzIGdldHMgdG8gcGluZy4gSW4gdGhlb3J5IHdlIGNvdWxkIGdldCBjbGV2ZXIgYW5kIGtlZXBcXG4gICAgICAgICAgICAgICAgICAvLyB0cmFjayBvZiBob3cgbWFueSBkZXBlbmRlbmNpZXMgcmVtYWluIGJ1dCBpdCBnZXRzIHRyaWNreSBiZWNhdXNlXFxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cXG4gICAgICAgICAgICAgICAgICAvLyBXZSBtaWdodCBiYWlsIG91dCBvZiB0aGUgbG9vcCBiZWZvcmUgZmluZGluZyBhbnkgYnV0IHRoYXRcXG4gICAgICAgICAgICAgICAgICAvLyBkb2Vzbid0IG1hdHRlciBzaW5jZSB0aGF0IG1lYW5zIHRoYXQgdGhlIG90aGVyIGJvdW5kYXJpZXMgdGhhdFxcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cXG5cXG4gICAgICAgICAgICAgICAgICB2YXIgbmV3VGhlbm5hYmxlcyA9IHN1c3BlbmRlZC51cGRhdGVRdWV1ZTtcXG5cXG4gICAgICAgICAgICAgICAgICBpZiAobmV3VGhlbm5hYmxlcyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBuZXdUaGVubmFibGVzO1xcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcXG4gICAgICAgICAgICAgICAgICB9IC8vIFJlcmVuZGVyIHRoZSB3aG9sZSBsaXN0LCBidXQgdGhpcyB0aW1lLCB3ZSdsbCBmb3JjZSBmYWxsYmFja3NcXG4gICAgICAgICAgICAgICAgICAvLyB0byBzdGF5IGluIHBsYWNlLlxcbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBlZmZlY3QgbGlzdCBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cXG5cXG5cXG4gICAgICAgICAgICAgICAgICBpZiAocmVuZGVyU3RhdGUubGFzdEVmZmVjdCA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gcmVuZGVyU3RhdGUubGFzdEVmZmVjdDsgLy8gUmVzZXQgdGhlIGNoaWxkIGZpYmVycyB0byB0aGVpciBvcmlnaW5hbCBzdGF0ZS5cXG5cXG4gICAgICAgICAgICAgICAgICByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7IC8vIFNldCB1cCB0aGUgU3VzcGVuc2UgQ29udGV4dCB0byBmb3JjZSBzdXNwZW5zZSBhbmQgaW1tZWRpYXRlbHlcXG4gICAgICAgICAgICAgICAgICAvLyByZXJlbmRlciB0aGUgY2hpbGRyZW4uXFxuXFxuICAgICAgICAgICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc2V0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjaykpO1xcbiAgICAgICAgICAgICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcXG4gICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICByb3cgPSByb3cuc2libGluZztcXG4gICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7XFxuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXFxuXFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cXG4gICAgICAgICAgaWYgKCFkaWRTdXNwZW5kQWxyZWFkeSkge1xcbiAgICAgICAgICAgIHZhciBfc3VzcGVuZGVkID0gZmluZEZpcnN0U3VzcGVuZGVkKHJlbmRlcmVkVGFpbCk7XFxuXFxuICAgICAgICAgICAgaWYgKF9zdXNwZW5kZWQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlO1xcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlOyAvLyBFbnN1cmUgd2UgdHJhbnNmZXIgdGhlIHVwZGF0ZSBxdWV1ZSB0byB0aGUgcGFyZW50IHNvIHRoYXQgaXQgZG9lc24ndFxcbiAgICAgICAgICAgICAgLy8gZ2V0IGxvc3QgaWYgdGhpcyByb3cgZW5kcyB1cCBkcm9wcGVkIGR1cmluZyBhIHNlY29uZCBwYXNzLlxcblxcbiAgICAgICAgICAgICAgdmFyIF9uZXdUaGVubmFibGVzID0gX3N1c3BlbmRlZC51cGRhdGVRdWV1ZTtcXG5cXG4gICAgICAgICAgICAgIGlmIChfbmV3VGhlbm5hYmxlcyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVubmFibGVzO1xcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xcbiAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCB0cnVlKTsgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQuXFxuXFxuICAgICAgICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCA9PT0gbnVsbCAmJiByZW5kZXJTdGF0ZS50YWlsTW9kZSA9PT0gJ2hpZGRlbicgJiYgIXJlbmRlcmVkVGFpbC5hbHRlcm5hdGUpIHtcXG4gICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBkZWxldGUgdGhlIHJvdyB3ZSBqdXN0IHJlbmRlcmVkLlxcbiAgICAgICAgICAgICAgICAvLyBSZXNldCB0aGUgZWZmZWN0IGxpc3QgdG8gd2hhdCBpdCB3YXMgYmVmb3JlIHdlIHJlbmRlcmVkIHRoaXNcXG4gICAgICAgICAgICAgICAgLy8gY2hpbGQuIFRoZSBuZXN0ZWQgY2hpbGRyZW4gaGF2ZSBhbHJlYWR5IGFwcGVuZGVkIHRoZW1zZWx2ZXMuXFxuICAgICAgICAgICAgICAgIHZhciBsYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCA9IHJlbmRlclN0YXRlLmxhc3RFZmZlY3Q7IC8vIFJlbW92ZSBhbnkgZWZmZWN0cyB0aGF0IHdlcmUgYXBwZW5kZWQgYWZ0ZXIgdGhpcyBwb2ludC5cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgICAgICAgICAgICAgICBsYXN0RWZmZWN0Lm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgICAgICAgICB9IC8vIFdlJ3JlIGRvbmUuXFxuXFxuXFxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIC8vIFRoZSB0aW1lIGl0IHRvb2sgdG8gcmVuZGVyIGxhc3Qgcm93IGlzIGdyZWF0ZXIgdGhhbiB0aW1lIHVudGlsXFxuICAgICAgICAgICAgLy8gdGhlIGV4cGlyYXRpb24uXFxuICAgICAgICAgICAgbm93KCkgKiAyIC0gcmVuZGVyU3RhdGUucmVuZGVyaW5nU3RhcnRUaW1lID4gcmVuZGVyU3RhdGUudGFpbEV4cGlyYXRpb24gJiYgcmVuZGVyRXhwaXJhdGlvblRpbWUgPiBOZXZlcikge1xcbiAgICAgICAgICAgICAgLy8gV2UgaGF2ZSBub3cgcGFzc2VkIG91ciBDUFUgZGVhZGxpbmUgYW5kIHdlJ2xsIGp1c3QgZ2l2ZSB1cCBmdXJ0aGVyXFxuICAgICAgICAgICAgICAvLyBhdHRlbXB0cyB0byByZW5kZXIgdGhlIG1haW4gY29udGVudCBhbmQgb25seSByZW5kZXIgZmFsbGJhY2tzLlxcbiAgICAgICAgICAgICAgLy8gVGhlIGFzc3VtcHRpb24gaXMgdGhhdCB0aGlzIGlzIHVzdWFsbHkgZmFzdGVyLlxcbiAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IERpZENhcHR1cmU7XFxuICAgICAgICAgICAgICBkaWRTdXNwZW5kQWxyZWFkeSA9IHRydWU7XFxuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcXG4gICAgICAgICAgICAgIC8vIHRvIGdldCBpdCBzdGFydGVkIGJhY2sgdXAgdG8gYXR0ZW1wdCB0aGUgbmV4dCBpdGVtLiBJZiB3ZSBjYW4gc2hvd1xcbiAgICAgICAgICAgICAgLy8gdGhlbSwgdGhlbiB0aGV5IHJlYWxseSBoYXZlIHRoZSBzYW1lIHByaW9yaXR5IGFzIHRoaXMgcmVuZGVyLlxcbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgcGljayBpdCBiYWNrIHVwIHRoZSB2ZXJ5IG5leHQgcmVuZGVyIHBhc3Mgb25jZSB3ZSd2ZSBoYWRcXG4gICAgICAgICAgICAgIC8vIGFuIG9wcG9ydHVuaXR5IHRvIHlpZWxkIGZvciBwYWludC5cXG5cXG4gICAgICAgICAgICAgIHZhciBuZXh0UHJpb3JpdHkgPSByZW5kZXJFeHBpcmF0aW9uVGltZSAtIDE7XFxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBuZXh0UHJpb3JpdHk7XFxuXFxuICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgIG1hcmtTcGF3bmVkV29yayhuZXh0UHJpb3JpdHkpO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcXG4gICAgICAgICAgICAvLyBUaGUgZWZmZWN0IGxpc3Qgb2YgdGhlIGJhY2t3YXJkcyB0YWlsIHdpbGwgaGF2ZSBiZWVuIGFkZGVkXFxuICAgICAgICAgICAgLy8gdG8gdGhlIGVuZC4gVGhpcyBicmVha3MgdGhlIGd1YXJhbnRlZSB0aGF0IGxpZmUtY3ljbGVzIGZpcmUgaW5cXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cXG4gICAgICAgICAgICAvLyBFc3BlY2lhbGx5IHNpbmNlIHRoZXNlIG1pZ2h0IGFsc28ganVzdCBwb3AgaW4gZHVyaW5nIGZ1dHVyZSBjb21taXRzLlxcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0LlxcbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZW5kZXJlZFRhaWw7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XFxuXFxuICAgICAgICAgICAgaWYgKHByZXZpb3VzU2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcmVuZGVyZWRUYWlsO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS5sYXN0ID0gcmVuZGVyZWRUYWlsO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBXZSBzdGlsbCBoYXZlIHRhaWwgcm93cyB0byByZW5kZXIuXFxuICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZS50YWlsRXhwaXJhdGlvbiA9PT0gMCkge1xcbiAgICAgICAgICAgIC8vIEhldXJpc3RpYyBmb3IgaG93IGxvbmcgd2UncmUgd2lsbGluZyB0byBzcGVuZCByZW5kZXJpbmcgcm93c1xcbiAgICAgICAgICAgIC8vIHVudGlsIHdlIGp1c3QgZ2l2ZSB1cCBhbmQgc2hvdyB3aGF0IHdlIGhhdmUgc28gZmFyLlxcbiAgICAgICAgICAgIHZhciBUQUlMX0VYUElSQVRJT05fVElNRU9VVF9NUyA9IDUwMDtcXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsRXhwaXJhdGlvbiA9IG5vdygpICsgVEFJTF9FWFBJUkFUSU9OX1RJTUVPVVRfTVM7IC8vIFRPRE86IFRoaXMgaXMgbWVhbnQgdG8gbWltaWMgdGhlIHRyYWluIG1vZGVsIG9yIEpORCBidXQgdGhpc1xcbiAgICAgICAgICAgIC8vIGlzIGEgcGVyIGNvbXBvbmVudCB2YWx1ZS4gSXQgc2hvdWxkIHJlYWxseSBiZSBzaW5jZSB0aGUgc3RhcnRcXG4gICAgICAgICAgICAvLyBvZiB0aGUgdG90YWwgcmVuZGVyIG9yIGxhc3QgY29tbWl0LiBDb25zaWRlciB1c2luZyBzb21ldGhpbmcgbGlrZVxcbiAgICAgICAgICAgIC8vIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUuIFRoYXQgZG9lc24ndCBhY2NvdW50IGZvciBiZWluZ1xcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBmb3IgcGFydCBvZiB0aGUgdGltZSBvciB3aGVuIGl0J3MgYSBuZXcgcmVuZGVyLlxcbiAgICAgICAgICAgIC8vIEl0IHNob3VsZCBwcm9iYWJseSB1c2UgYSBnbG9iYWwgc3RhcnQgdGltZSB2YWx1ZSBpbnN0ZWFkLlxcbiAgICAgICAgICB9IC8vIFBvcCBhIHJvdy5cXG5cXG5cXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBuZXh0O1xcbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbmV4dC5zaWJsaW5nO1xcbiAgICAgICAgICByZW5kZXJTdGF0ZS5sYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdDtcXG4gICAgICAgICAgcmVuZGVyU3RhdGUucmVuZGVyaW5nU3RhcnRUaW1lID0gbm93KCk7XFxuICAgICAgICAgIG5leHQuc2libGluZyA9IG51bGw7IC8vIFJlc3RvcmUgdGhlIGNvbnRleHQuXFxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxcbiAgICAgICAgICAvLyBzZXR0aW5nIGl0IHRoZSBmaXJzdCB0aW1lIHdlIGdvIGZyb20gbm90IHN1c3BlbmRlZCB0byBzdXNwZW5kZWQuXFxuXFxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XFxuXFxuICAgICAgICAgIGlmIChkaWRTdXNwZW5kQWxyZWFkeSkge1xcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xcbiAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldERlZmF1bHRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gRG8gYSBwYXNzIG92ZXIgdGhlIG5leHQgcm93LlxcblxcbiAgICAgICAgICByZXR1cm4gbmV4dDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcXFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXFxcIikuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVud2luZFdvcmsod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcblxcbiAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcXG4gICAgICAgICAgcG9wQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnO1xcblxcbiAgICAgICAgaWYgKGVmZmVjdFRhZyAmIFNob3VsZENhcHR1cmUpIHtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnID0gZWZmZWN0VGFnICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xcbiAgICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgICBwb3BUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgdmFyIF9lZmZlY3RUYWcgPSB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWc7XFxuXFxuICAgICAgICBpZiAoISgoX2VmZmVjdFRhZyAmIERpZENhcHR1cmUpID09PSBOb0VmZmVjdCkpIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiVGhlIHJvb3QgZmFpbGVkIHRvIHVubW91bnQgYWZ0ZXIgYW4gZXJyb3IuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyA9IF9lZmZlY3RUYWcgJiB+U2hvdWxkQ2FwdHVyZSB8IERpZENhcHR1cmU7XFxuICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgLy8gVE9ETzogcG9wSHlkcmF0aW9uU3RhdGVcXG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgICAgdmFyIF9lZmZlY3RUYWcyID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnO1xcblxcbiAgICAgICAgaWYgKF9lZmZlY3RUYWcyICYgU2hvdWxkQ2FwdHVyZSkge1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgPSBfZWZmZWN0VGFnMiAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTsgLy8gQ2FwdHVyZWQgYSBzdXNwZW5zZSBlZmZlY3QuIFJlLXJlbmRlciB0aGUgYm91bmRhcnkuXFxuXFxuICAgICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXFxuICAgICAgICAvLyBjYXVnaHQgYnkgYSBuZXN0ZWQgYm91bmRhcnkuIElmIG5vdCwgaXQgc2hvdWxkIGJ1YmJsZSB0aHJvdWdoLlxcblxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcmV0dXJuIG51bGw7XFxuXFxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxcbiAgICAgIHBvcFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICByZXR1cm4gbnVsbDtcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdW53aW5kSW50ZXJydXB0ZWRXb3JrKGludGVycnVwdGVkV29yaykge1xcbiAgc3dpdGNoIChpbnRlcnJ1cHRlZFdvcmsudGFnKSB7XFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGNoaWxkQ29udGV4dFR5cGVzID0gaW50ZXJydXB0ZWRXb3JrLnR5cGUuY2hpbGRDb250ZXh0VHlwZXM7XFxuXFxuICAgICAgICBpZiAoY2hpbGRDb250ZXh0VHlwZXMgIT09IG51bGwgJiYgY2hpbGRDb250ZXh0VHlwZXMgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICBwb3BDb250ZXh0KGludGVycnVwdGVkV29yayk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgICAgcG9wVG9wTGV2ZWxDb250ZXh0T2JqZWN0KGludGVycnVwdGVkV29yayk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICB7XFxuICAgICAgICBwb3BIb3N0Q29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgcG9wSG9zdENvbnRhaW5lcihpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHBvcFN1c3BlbnNlQ29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcXG4gICAgICBwb3BTdXNwZW5zZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XFxuICAgICAgcG9wUHJvdmlkZXIoaW50ZXJydXB0ZWRXb3JrKTtcXG4gICAgICBicmVhaztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgc291cmNlKSB7XFxuICAvLyBJZiB0aGUgdmFsdWUgaXMgYW4gZXJyb3IsIGNhbGwgdGhpcyBmdW5jdGlvbiBpbW1lZGlhdGVseSBhZnRlciBpdCBpcyB0aHJvd25cXG4gIC8vIHNvIHRoZSBzdGFjayBpcyBhY2N1cmF0ZS5cXG4gIHJldHVybiB7XFxuICAgIHZhbHVlOiB2YWx1ZSxcXG4gICAgc291cmNlOiBzb3VyY2UsXFxuICAgIHN0YWNrOiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2Qoc291cmNlKVxcbiAgfTtcXG59XFxuXFxuZnVuY3Rpb24gbG9nQ2FwdHVyZWRFcnJvcihjYXB0dXJlZEVycm9yKSB7XFxuXFxuICB2YXIgZXJyb3IgPSBjYXB0dXJlZEVycm9yLmVycm9yO1xcblxcbiAge1xcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGNhcHR1cmVkRXJyb3IuY29tcG9uZW50TmFtZSxcXG4gICAgICAgIGNvbXBvbmVudFN0YWNrID0gY2FwdHVyZWRFcnJvci5jb21wb25lbnRTdGFjayxcXG4gICAgICAgIGVycm9yQm91bmRhcnlOYW1lID0gY2FwdHVyZWRFcnJvci5lcnJvckJvdW5kYXJ5TmFtZSxcXG4gICAgICAgIGVycm9yQm91bmRhcnlGb3VuZCA9IGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeUZvdW5kLFxcbiAgICAgICAgd2lsbFJldHJ5ID0gY2FwdHVyZWRFcnJvci53aWxsUmV0cnk7IC8vIEJyb3dzZXJzIHN1cHBvcnQgc2lsZW5jaW5nIHVuY2F1Z2h0IGVycm9ycyBieSBjYWxsaW5nXFxuICAgIC8vIGBwcmV2ZW50RGVmYXVsdCgpYCBpbiB3aW5kb3cgYGVycm9yYCBoYW5kbGVyLlxcbiAgICAvLyBXZSByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbiBhcyBhbiBleHBhbmRvIG9uIHRoZSBlcnJvci5cXG5cXG4gICAgaWYgKGVycm9yICE9IG51bGwgJiYgZXJyb3IuX3N1cHByZXNzTG9nZ2luZykge1xcbiAgICAgIGlmIChlcnJvckJvdW5kYXJ5Rm91bmQgJiYgd2lsbFJldHJ5KSB7XFxuICAgICAgICAvLyBUaGUgZXJyb3IgaXMgcmVjb3ZlcmFibGUgYW5kIHdhcyBzaWxlbmNlZC5cXG4gICAgICAgIC8vIElnbm9yZSBpdCBhbmQgZG9uJ3QgcHJpbnQgdGhlIHN0YWNrIGFkZGVuZHVtLlxcbiAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfSAvLyBUaGUgZXJyb3IgaXMgZmF0YWwuIFNpbmNlIHRoZSBzaWxlbmNpbmcgbWlnaHQgaGF2ZVxcbiAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXFxuICAgICAgLy8gSG93ZXZlciwgdGhlIGJyb3dzZXIgd291bGQgaGF2ZSBzaWxlbmNlZCB0aGUgb3JpZ2luYWwgZXJyb3JcXG4gICAgICAvLyBzbyB3ZSdsbCBwcmludCBpdCBmaXJzdCwgYW5kIHRoZW4gcHJpbnQgdGhlIHN0YWNrIGFkZGVuZHVtLlxcblxcblxcbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oZXJyb3IpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcXG4gICAgICAvLyBGb3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoaXMgYmxvY2ssIHNlZTpcXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMzM4NFxcbiAgICB9XFxuXFxuICAgIHZhciBjb21wb25lbnROYW1lTWVzc2FnZSA9IGNvbXBvbmVudE5hbWUgPyBcXFwiVGhlIGFib3ZlIGVycm9yIG9jY3VycmVkIGluIHRoZSA8XFxcIiArIGNvbXBvbmVudE5hbWUgKyBcXFwiPiBjb21wb25lbnQ6XFxcIiA6ICdUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gb25lIG9mIHlvdXIgUmVhY3QgY29tcG9uZW50czonO1xcbiAgICB2YXIgZXJyb3JCb3VuZGFyeU1lc3NhZ2U7IC8vIGVycm9yQm91bmRhcnlGb3VuZCBjaGVjayBpcyBzdWZmaWNpZW50OyBlcnJvckJvdW5kYXJ5TmFtZSBjaGVjayBpcyB0byBzYXRpc2Z5IEZsb3cuXFxuXFxuICAgIGlmIChlcnJvckJvdW5kYXJ5Rm91bmQgJiYgZXJyb3JCb3VuZGFyeU5hbWUpIHtcXG4gICAgICBpZiAod2lsbFJldHJ5KSB7XFxuICAgICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9IFxcXCJSZWFjdCB3aWxsIHRyeSB0byByZWNyZWF0ZSB0aGlzIGNvbXBvbmVudCB0cmVlIGZyb20gc2NyYXRjaCBcXFwiICsgKFxcXCJ1c2luZyB0aGUgZXJyb3IgYm91bmRhcnkgeW91IHByb3ZpZGVkLCBcXFwiICsgZXJyb3JCb3VuZGFyeU5hbWUgKyBcXFwiLlxcXCIpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9IFxcXCJUaGlzIGVycm9yIHdhcyBpbml0aWFsbHkgaGFuZGxlZCBieSB0aGUgZXJyb3IgYm91bmRhcnkgXFxcIiArIGVycm9yQm91bmRhcnlOYW1lICsgXFxcIi5cXFxcblxcXCIgKyBcXFwiUmVjcmVhdGluZyB0aGUgdHJlZSBmcm9tIHNjcmF0Y2ggZmFpbGVkIHNvIFJlYWN0IHdpbGwgdW5tb3VudCB0aGUgdHJlZS5cXFwiO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9ICdDb25zaWRlciBhZGRpbmcgYW4gZXJyb3IgYm91bmRhcnkgdG8geW91ciB0cmVlIHRvIGN1c3RvbWl6ZSBlcnJvciBoYW5kbGluZyBiZWhhdmlvci5cXFxcbicgKyAnVmlzaXQgaHR0cHM6Ly9mYi5tZS9yZWFjdC1lcnJvci1ib3VuZGFyaWVzIHRvIGxlYXJuIG1vcmUgYWJvdXQgZXJyb3IgYm91bmRhcmllcy4nO1xcbiAgICB9XFxuXFxuICAgIHZhciBjb21iaW5lZE1lc3NhZ2UgPSBcXFwiXFxcIiArIGNvbXBvbmVudE5hbWVNZXNzYWdlICsgY29tcG9uZW50U3RhY2sgKyBcXFwiXFxcXG5cXFxcblxcXCIgKyAoXFxcIlxcXCIgKyBlcnJvckJvdW5kYXJ5TWVzc2FnZSk7IC8vIEluIGRldmVsb3BtZW50LCB3ZSBwcm92aWRlIG91ciBvd24gbWVzc2FnZSB3aXRoIGp1c3QgdGhlIGNvbXBvbmVudCBzdGFjay5cXG4gICAgLy8gV2UgZG9uJ3QgaW5jbHVkZSB0aGUgb3JpZ2luYWwgZXJyb3IgbWVzc2FnZSBhbmQgSlMgc3RhY2sgYmVjYXVzZSB0aGUgYnJvd3NlclxcbiAgICAvLyBoYXMgYWxyZWFkeSBwcmludGVkIGl0LiBFdmVuIGlmIHRoZSBhcHBsaWNhdGlvbiBzd2FsbG93cyB0aGUgZXJyb3IsIGl0IGlzIHN0aWxsXFxuICAgIC8vIGRpc3BsYXllZCBieSB0aGUgYnJvd3NlciB0aGFua3MgdG8gdGhlIERFVi1vbmx5IGZha2UgZXZlbnQgdHJpY2sgaW4gUmVhY3RFcnJvclV0aWxzLlxcblxcbiAgICBjb25zb2xlWydlcnJvciddKGNvbWJpbmVkTWVzc2FnZSk7IC8vIERvbid0IHRyYW5zZm9ybSB0byBvdXIgd3JhcHBlclxcbiAgfVxcbn1cXG5cXG52YXIgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBudWxsO1xcblxcbntcXG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZFNuYXBzaG90QmVmb3JlVXBkYXRlID0gbmV3IFNldCgpO1xcbn1cXG5cXG52YXIgUG9zc2libHlXZWFrU2V0ID0gdHlwZW9mIFdlYWtTZXQgPT09ICdmdW5jdGlvbicgPyBXZWFrU2V0IDogU2V0O1xcbmZ1bmN0aW9uIGxvZ0Vycm9yKGJvdW5kYXJ5LCBlcnJvckluZm8pIHtcXG4gIHZhciBzb3VyY2UgPSBlcnJvckluZm8uc291cmNlO1xcbiAgdmFyIHN0YWNrID0gZXJyb3JJbmZvLnN0YWNrO1xcblxcbiAgaWYgKHN0YWNrID09PSBudWxsICYmIHNvdXJjZSAhPT0gbnVsbCkge1xcbiAgICBzdGFjayA9IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpO1xcbiAgfVxcblxcbiAgdmFyIGNhcHR1cmVkRXJyb3IgPSB7XFxuICAgIGNvbXBvbmVudE5hbWU6IHNvdXJjZSAhPT0gbnVsbCA/IGdldENvbXBvbmVudE5hbWUoc291cmNlLnR5cGUpIDogbnVsbCxcXG4gICAgY29tcG9uZW50U3RhY2s6IHN0YWNrICE9PSBudWxsID8gc3RhY2sgOiAnJyxcXG4gICAgZXJyb3I6IGVycm9ySW5mby52YWx1ZSxcXG4gICAgZXJyb3JCb3VuZGFyeTogbnVsbCxcXG4gICAgZXJyb3JCb3VuZGFyeU5hbWU6IG51bGwsXFxuICAgIGVycm9yQm91bmRhcnlGb3VuZDogZmFsc2UsXFxuICAgIHdpbGxSZXRyeTogZmFsc2VcXG4gIH07XFxuXFxuICBpZiAoYm91bmRhcnkgIT09IG51bGwgJiYgYm91bmRhcnkudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICBjYXB0dXJlZEVycm9yLmVycm9yQm91bmRhcnkgPSBib3VuZGFyeS5zdGF0ZU5vZGU7XFxuICAgIGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lKGJvdW5kYXJ5LnR5cGUpO1xcbiAgICBjYXB0dXJlZEVycm9yLmVycm9yQm91bmRhcnlGb3VuZCA9IHRydWU7XFxuICAgIGNhcHR1cmVkRXJyb3Iud2lsbFJldHJ5ID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRyeSB7XFxuICAgIGxvZ0NhcHR1cmVkRXJyb3IoY2FwdHVyZWRFcnJvcik7XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIC8vIFRoaXMgbWV0aG9kIG11c3Qgbm90IHRocm93LCBvciBSZWFjdCBpbnRlcm5hbCBzdGF0ZSB3aWxsIGdldCBtZXNzZWQgdXAuXFxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxcbiAgICAvLyB3ZSB3YW50IHRvIHJlcG9ydCB0aGlzIGVycm9yIG91dHNpZGUgb2YgdGhlIG5vcm1hbCBzdGFjayBhcyBhIGxhc3QgcmVzb3J0LlxcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEzMTg4XFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xcbiAgICAgIHRocm93IGU7XFxuICAgIH0pO1xcbiAgfVxcbn1cXG5cXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XFxuICBzdGFydFBoYXNlVGltZXIoY3VycmVudCwgJ2NvbXBvbmVudFdpbGxVbm1vdW50Jyk7XFxuICBpbnN0YW5jZS5wcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcXG4gIGluc3RhbmNlLnN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVubW91bnQoKTtcXG4gIHN0b3BQaGFzZVRpbWVyKCk7XFxufTsgLy8gQ2FwdHVyZSBlcnJvcnMgc28gdGhleSBkb24ndCBpbnRlcnJ1cHQgdW5tb3VudGluZy5cXG5cXG5cXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tcG9uZW50V2lsbFVubW91bnQoY3VycmVudCwgaW5zdGFuY2UpIHtcXG4gIHtcXG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNhbGxDb21wb25lbnRXaWxsVW5tb3VudFdpdGhUaW1lciwgbnVsbCwgY3VycmVudCwgaW5zdGFuY2UpO1xcblxcbiAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xcbiAgICAgIHZhciB1bm1vdW50RXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgdW5tb3VudEVycm9yKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCkge1xcbiAgdmFyIHJlZiA9IGN1cnJlbnQucmVmO1xcblxcbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xcbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHtcXG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCByZWYsIG51bGwsIG51bGwpO1xcblxcbiAgICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcXG4gICAgICAgICAgdmFyIHJlZkVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjdXJyZW50LCByZWZFcnJvcik7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlZi5jdXJyZW50ID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzYWZlbHlDYWxsRGVzdHJveShjdXJyZW50LCBkZXN0cm95KSB7XFxuICB7XFxuICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBkZXN0cm95LCBudWxsKTtcXG5cXG4gICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcXG4gICAgICB2YXIgZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgZXJyb3IpO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uTGlmZUN5Y2xlcyhjdXJyZW50LCBmaW5pc2hlZFdvcmspIHtcXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBCbG9jazpcXG4gICAgICB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgU25hcHNob3QpIHtcXG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICB2YXIgcHJldlByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xcbiAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XFxuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlJyk7XFxuICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxcbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cXG5cXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLnR5cGUgPT09IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSAmJiAhZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcykge1xcbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucHJvcHMgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKSB7XFxuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZShmaW5pc2hlZFdvcmsudHlwZSkgfHwgJ2luc3RhbmNlJyk7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciBzbmFwc2hvdCA9IGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSA9PT0gZmluaXNoZWRXb3JrLnR5cGUgPyBwcmV2UHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKGZpbmlzaGVkV29yay50eXBlLCBwcmV2UHJvcHMpLCBwcmV2U3RhdGUpO1xcblxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIHZhciBkaWRXYXJuU2V0ID0gZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGU7XFxuXFxuICAgICAgICAgICAgICBpZiAoc25hcHNob3QgPT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblNldC5oYXMoZmluaXNoZWRXb3JrLnR5cGUpKSB7XFxuICAgICAgICAgICAgICAgIGRpZFdhcm5TZXQuYWRkKGZpbmlzaGVkV29yay50eXBlKTtcXG5cXG4gICAgICAgICAgICAgICAgZXJyb3IoJyVzLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKCk6IEEgc25hcHNob3QgdmFsdWUgKG9yIG51bGwpICcgKyAnbXVzdCBiZSByZXR1cm5lZC4gWW91IGhhdmUgcmV0dXJuZWQgdW5kZWZpbmVkLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpKTtcXG4gICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgaW5zdGFuY2UuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUgPSBzbmFwc2hvdDtcXG4gICAgICAgICAgICBzdG9wUGhhc2VUaW1lcigpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgIGNhc2UgSG9zdFRleHQ6XFxuICAgIGNhc2UgSG9zdFBvcnRhbDpcXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgLy8gTm90aGluZyB0byBkbyBmb3IgdGhlc2UgY29tcG9uZW50IHR5cGVzXFxuICAgICAgcmV0dXJuO1xcbiAgfVxcblxcbiAge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUaGlzIHVuaXQgb2Ygd29yayB0YWcgc2hvdWxkIG5vdCBoYXZlIHNpZGUtZWZmZWN0cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KHRhZywgZmluaXNoZWRXb3JrKSB7XFxuICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XFxuICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlICE9PSBudWxsID8gdXBkYXRlUXVldWUubGFzdEVmZmVjdCA6IG51bGw7XFxuXFxuICBpZiAobGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICB2YXIgZmlyc3RFZmZlY3QgPSBsYXN0RWZmZWN0Lm5leHQ7XFxuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcXG5cXG4gICAgZG8ge1xcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIHRhZykgPT09IHRhZykge1xcbiAgICAgICAgLy8gVW5tb3VudFxcbiAgICAgICAgdmFyIGRlc3Ryb3kgPSBlZmZlY3QuZGVzdHJveTtcXG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xcblxcbiAgICAgICAgaWYgKGRlc3Ryb3kgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICBkZXN0cm95KCk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGVmZmVjdCA9IGVmZmVjdC5uZXh0O1xcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudCh0YWcsIGZpbmlzaGVkV29yaykge1xcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xcblxcbiAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xcbiAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XFxuXFxuICAgIGRvIHtcXG4gICAgICBpZiAoKGVmZmVjdC50YWcgJiB0YWcpID09PSB0YWcpIHtcXG4gICAgICAgIC8vIE1vdW50XFxuICAgICAgICB2YXIgY3JlYXRlID0gZWZmZWN0LmNyZWF0ZTtcXG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gY3JlYXRlKCk7XFxuXFxuICAgICAgICB7XFxuICAgICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XFxuXFxuICAgICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGRlc3Ryb3kgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgICB2YXIgYWRkZW5kdW0gPSB2b2lkIDA7XFxuXFxuICAgICAgICAgICAgaWYgKGRlc3Ryb3kgPT09IG51bGwpIHtcXG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJyBZb3UgcmV0dXJuZWQgbnVsbC4gSWYgeW91ciBlZmZlY3QgZG9lcyBub3QgcmVxdWlyZSBjbGVhbiAnICsgJ3VwLCByZXR1cm4gdW5kZWZpbmVkIChvciBub3RoaW5nKS4nO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlc3Ryb3kudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgICAgYWRkZW5kdW0gPSAnXFxcXG5cXFxcbkl0IGxvb2tzIGxpa2UgeW91IHdyb3RlIHVzZUVmZmVjdChhc3luYyAoKSA9PiAuLi4pIG9yIHJldHVybmVkIGEgUHJvbWlzZS4gJyArICdJbnN0ZWFkLCB3cml0ZSB0aGUgYXN5bmMgZnVuY3Rpb24gaW5zaWRlIHlvdXIgZWZmZWN0ICcgKyAnYW5kIGNhbGwgaXQgaW1tZWRpYXRlbHk6XFxcXG5cXFxcbicgKyAndXNlRWZmZWN0KCgpID0+IHtcXFxcbicgKyAnICBhc3luYyBmdW5jdGlvbiBmZXRjaERhdGEoKSB7XFxcXG4nICsgJyAgICAvLyBZb3UgY2FuIGF3YWl0IGhlcmVcXFxcbicgKyAnICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgTXlBUEkuZ2V0RGF0YShzb21lSWQpO1xcXFxuJyArICcgICAgLy8gLi4uXFxcXG4nICsgJyAgfVxcXFxuJyArICcgIGZldGNoRGF0YSgpO1xcXFxuJyArIFxcXCJ9LCBbc29tZUlkXSk7IC8vIE9yIFtdIGlmIGVmZmVjdCBkb2Vzbid0IG5lZWQgcHJvcHMgb3Igc3RhdGVcXFxcblxcXFxuXFxcIiArICdMZWFybiBtb3JlIGFib3V0IGRhdGEgZmV0Y2hpbmcgd2l0aCBIb29rczogaHR0cHM6Ly9mYi5tZS9yZWFjdC1ob29rcy1kYXRhLWZldGNoaW5nJztcXG4gICAgICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgICAgYWRkZW5kdW0gPSAnIFlvdSByZXR1cm5lZDogJyArIGRlc3Ryb3k7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGVycm9yKCdBbiBlZmZlY3QgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuIGFueXRoaW5nIGJlc2lkZXMgYSBmdW5jdGlvbiwgJyArICd3aGljaCBpcyB1c2VkIGZvciBjbGVhbi11cC4lcyVzJywgYWRkZW5kdW0sIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChmaW5pc2hlZFdvcmspKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcXG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFBhc3NpdmVIb29rRWZmZWN0cyhmaW5pc2hlZFdvcmspIHtcXG4gIGlmICgoZmluaXNoZWRXb3JrLmVmZmVjdFRhZyAmIFBhc3NpdmUpICE9PSBOb0VmZmVjdCkge1xcbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcXG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XFxuICAgICAgY2FzZSBCbG9jazpcXG4gICAgICAgIHtcXG4gICAgICAgICAgLy8gVE9ETyAoIzE3OTQ1KSBXZSBzaG91bGQgY2FsbCBhbGwgcGFzc2l2ZSBkZXN0cm95IGZ1bmN0aW9ucyAoZm9yIGFsbCBmaWJlcnMpXFxuICAgICAgICAgIC8vIGJlZm9yZSBjYWxsaW5nIGFueSBjcmVhdGUgZnVuY3Rpb25zLiBUaGUgY3VycmVudCBhcHByb2FjaCBvbmx5IHNlcmlhbGl6ZXNcXG4gICAgICAgICAgLy8gdGhlc2UgZm9yIGEgc2luZ2xlIGZpYmVyLlxcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoUGFzc2l2ZSQxIHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xcbiAgICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdE1vdW50KFBhc3NpdmUkMSB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrKTtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0TGlmZUN5Y2xlcyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpIHtcXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBCbG9jazpcXG4gICAgICB7XFxuICAgICAgICAvLyBBdCB0aGlzIHBvaW50IGxheW91dCBlZmZlY3RzIGhhdmUgYWxyZWFkeSBiZWVuIGRlc3Ryb3llZCAoZHVyaW5nIG11dGF0aW9uIHBoYXNlKS5cXG4gICAgICAgIC8vIFRoaXMgaXMgZG9uZSB0byBwcmV2ZW50IHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXFxuICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcXG4gICAgICAgIC8vIGJ5IGEgY3JlYXRlIGZ1bmN0aW9uIGluIGFub3RoZXIgY29tcG9uZW50IGR1cmluZyB0aGUgc2FtZSBjb21taXQuXFxuICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdE1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrKTtcXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgVXBkYXRlKSB7XFxuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XFxuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2NvbXBvbmVudERpZE1vdW50Jyk7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cXG4gICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXFxuXFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkV29yay50eXBlID09PSBmaW5pc2hlZFdvcmsuZWxlbWVudFR5cGUgJiYgIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdjb21wb25lbnREaWRNb3VudC4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xcbiAgICAgICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCgpO1xcbiAgICAgICAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHByZXZQcm9wcyA9IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSA9PT0gZmluaXNoZWRXb3JrLnR5cGUgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKGZpbmlzaGVkV29yay50eXBlLCBjdXJyZW50Lm1lbW9pemVkUHJvcHMpO1xcbiAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XFxuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2NvbXBvbmVudERpZFVwZGF0ZScpOyAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXFxuICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXFxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxcblxcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XFxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcXG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkVXBkYXRlLiAnICsgJ1RoaXMgbWlnaHQgZWl0aGVyIGJlIGJlY2F1c2Ugb2YgYSBidWcgaW4gUmVhY3QsIG9yIGJlY2F1c2UgJyArICdhIGNvbXBvbmVudCByZWFzc2lnbnMgaXRzIG93biBgdGhpcy5wcm9wc2AuICcgKyAnUGxlYXNlIGZpbGUgYW4gaXNzdWUuJywgZ2V0Q29tcG9uZW50TmFtZShmaW5pc2hlZFdvcmsudHlwZSkgfHwgJ2luc3RhbmNlJyk7XFxuICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmV2U3RhdGUsIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlKTtcXG4gICAgICAgICAgICBzdG9wUGhhc2VUaW1lcigpO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XFxuXFxuICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XFxuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucHJvcHMgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKSB7XFxuICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdwcm9jZXNzaW5nIHRoZSB1cGRhdGUgcXVldWUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcXG4gICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcXG4gICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHN0YXRlIHRvIG1hdGNoIG1lbW9pemVkIHN0YXRlIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xcbiAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfSAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXFxuICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxcbiAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXFxuXFxuXFxuICAgICAgICAgIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgdXBkYXRlUXVldWUsIGluc3RhbmNlKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSG9zdFJvb3Q6XFxuICAgICAge1xcbiAgICAgICAgdmFyIF91cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcXG5cXG4gICAgICAgIGlmIChfdXBkYXRlUXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XFxuXFxuICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay5jaGlsZC50YWcpIHtcXG4gICAgICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcXG4gICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZ2V0UHVibGljSW5zdGFuY2UoZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZSk7XFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcblxcbiAgICAgICAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcXG4gICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZTtcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgX3VwZGF0ZVF1ZXVlLCBfaW5zdGFuY2UpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBfaW5zdGFuY2UyID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTsgLy8gUmVuZGVyZXJzIG1heSBzY2hlZHVsZSB3b3JrIHRvIGJlIGRvbmUgYWZ0ZXIgaG9zdCBjb21wb25lbnRzIGFyZSBtb3VudGVkXFxuICAgICAgICAvLyAoZWcgRE9NIHJlbmRlcmVyIG1heSBzY2hlZHVsZSBhdXRvLWZvY3VzIGZvciBpbnB1dHMgYW5kIGZvcm0gY29udHJvbHMpLlxcbiAgICAgICAgLy8gVGhlc2UgZWZmZWN0cyBzaG91bGQgb25seSBiZSBjb21taXR0ZWQgd2hlbiBjb21wb25lbnRzIGFyZSBmaXJzdCBtb3VudGVkLFxcbiAgICAgICAgLy8gYWthIHdoZW4gdGhlcmUgaXMgbm8gY3VycmVudC9hbHRlcm5hdGUuXFxuXFxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiBmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgVXBkYXRlKSB7XFxuICAgICAgICAgIHZhciB0eXBlID0gZmluaXNoZWRXb3JrLnR5cGU7XFxuICAgICAgICAgIHZhciBwcm9wcyA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzO1xcbiAgICAgICAgICBjb21taXRNb3VudChfaW5zdGFuY2UyLCB0eXBlLCBwcm9wcyk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RUZXh0OlxcbiAgICAgIHtcXG4gICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHRleHQuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAge1xcbiAgICAgICAgLy8gV2UgaGF2ZSBubyBsaWZlLWN5Y2xlcyBhc3NvY2lhdGVkIHdpdGggcG9ydGFscy5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgUHJvZmlsZXI6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgb25SZW5kZXIgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5vblJlbmRlcjtcXG5cXG4gICAgICAgICAgaWYgKHR5cGVvZiBvblJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIG9uUmVuZGVyKGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzLmlkLCBjdXJyZW50ID09PSBudWxsID8gJ21vdW50JyA6ICd1cGRhdGUnLCBmaW5pc2hlZFdvcmsuYWN0dWFsRHVyYXRpb24sIGZpbmlzaGVkV29yay50cmVlQmFzZUR1cmF0aW9uLCBmaW5pc2hlZFdvcmsuYWN0dWFsU3RhcnRUaW1lLCBnZXRDb21taXRUaW1lKCksIGZpbmlzaGVkUm9vdC5tZW1vaXplZEludGVyYWN0aW9ucyk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIGNvbW1pdFN1c3BlbnNlSHlkcmF0aW9uQ2FsbGJhY2tzKGZpbmlzaGVkUm9vdCwgZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxcbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcXG4gICAgY2FzZSBGdW5kYW1lbnRhbENvbXBvbmVudDpcXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcXG4gICAgICByZXR1cm47XFxuICB9XFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlRoaXMgdW5pdCBvZiB3b3JrIHRhZyBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XFxuICB7XFxuICAgIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGluc2VydGVkIGJ1dCB3ZSBuZWVkIHRvIHJlY3Vyc2UgZG93biBpdHNcXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxcbiAgICB2YXIgbm9kZSA9IGZpbmlzaGVkV29yaztcXG5cXG4gICAgd2hpbGUgKHRydWUpIHtcXG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQpIHtcXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IG5vZGUuc3RhdGVOb2RlO1xcblxcbiAgICAgICAgaWYgKGlzSGlkZGVuKSB7XFxuICAgICAgICAgIGhpZGVJbnN0YW5jZShpbnN0YW5jZSk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICB1bmhpZGVJbnN0YW5jZShub2RlLnN0YXRlTm9kZSwgbm9kZS5tZW1vaXplZFByb3BzKTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xcbiAgICAgICAgdmFyIF9pbnN0YW5jZTMgPSBub2RlLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgIGlmIChpc0hpZGRlbikge1xcbiAgICAgICAgICBoaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XFxuICAgICAgICB9XFxuICAgICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQgJiYgbm9kZS5tZW1vaXplZFN0YXRlICE9PSBudWxsICYmIG5vZGUubWVtb2l6ZWRTdGF0ZS5kZWh5ZHJhdGVkID09PSBudWxsKSB7XFxuICAgICAgICAvLyBGb3VuZCBhIG5lc3RlZCBTdXNwZW5zZSBjb21wb25lbnQgdGhhdCB0aW1lZCBvdXQuIFNraXAgb3ZlciB0aGVcXG4gICAgICAgIC8vIHByaW1hcnkgY2hpbGQgZnJhZ21lbnQsIHdoaWNoIHNob3VsZCByZW1haW4gaGlkZGVuLlxcbiAgICAgICAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IG5vZGUuY2hpbGQuc2libGluZztcXG4gICAgICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSBub2RlO1xcbiAgICAgICAgbm9kZSA9IGZhbGxiYWNrQ2hpbGRGcmFnbWVudDtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgICBjb250aW51ZTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IGZpbmlzaGVkV29yaykge1xcbiAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuXFxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdEF0dGFjaFJlZihmaW5pc2hlZFdvcmspIHtcXG4gIHZhciByZWYgPSBmaW5pc2hlZFdvcmsucmVmO1xcblxcbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xcbiAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xcbiAgICB2YXIgaW5zdGFuY2VUb1VzZTtcXG5cXG4gICAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XFxuICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICBpbnN0YW5jZVRvVXNlID0gaW5zdGFuY2U7XFxuICAgIH0gLy8gTW92ZWQgb3V0c2lkZSB0byBlbnN1cmUgRENFIHdvcmtzIHdpdGggdGhpcyBmbGFnXFxuXFxuICAgIGlmICh0eXBlb2YgcmVmID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgcmVmKGluc3RhbmNlVG9Vc2UpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHtcXG4gICAgICAgIGlmICghcmVmLmhhc093blByb3BlcnR5KCdjdXJyZW50JykpIHtcXG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJXMnLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpbmlzaGVkV29yaykpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZWYuY3VycmVudCA9IGluc3RhbmNlVG9Vc2U7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0RGV0YWNoUmVmKGN1cnJlbnQpIHtcXG4gIHZhciBjdXJyZW50UmVmID0gY3VycmVudC5yZWY7XFxuXFxuICBpZiAoY3VycmVudFJlZiAhPT0gbnVsbCkge1xcbiAgICBpZiAodHlwZW9mIGN1cnJlbnRSZWYgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBjdXJyZW50UmVmKG51bGwpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGN1cnJlbnRSZWYuY3VycmVudCA9IG51bGw7XFxuICAgIH1cXG4gIH1cXG59IC8vIFVzZXItb3JpZ2luYXRpbmcgZXJyb3JzIChsaWZlY3ljbGVzIGFuZCByZWZzKSBzaG91bGQgbm90IGludGVycnVwdFxcbi8vIGRlbGV0aW9uLCBzbyBkb24ndCBsZXQgdGhlbSB0aHJvdy4gSG9zdC1vcmlnaW5hdGluZyBlcnJvcnMgc2hvdWxkXFxuLy8gaW50ZXJydXB0IGRlbGV0aW9uLCBzbyBpdCdzIG9rYXlcXG5cXG5cXG5mdW5jdGlvbiBjb21taXRVbm1vdW50KGZpbmlzaGVkUm9vdCwgY3VycmVudCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xcbiAgb25Db21taXRVbm1vdW50KGN1cnJlbnQpO1xcblxcbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xcbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxcbiAgICBjYXNlIEZvcndhcmRSZWY6XFxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxcbiAgICBjYXNlIEJsb2NrOlxcbiAgICAgIHtcXG4gICAgICAgIHZhciB1cGRhdGVRdWV1ZSA9IGN1cnJlbnQudXBkYXRlUXVldWU7XFxuXFxuICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcXG4gICAgICAgICAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZS5sYXN0RWZmZWN0O1xcblxcbiAgICAgICAgICBpZiAobGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcXG5cXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAvLyBXaGVuIHRoZSBvd25lciBmaWJlciBpcyBkZWxldGVkLCB0aGUgZGVzdHJveSBmdW5jdGlvbiBvZiBhIHBhc3NpdmVcXG4gICAgICAgICAgICAgIC8vIGVmZmVjdCBob29rIGlzIGNhbGxlZCBkdXJpbmcgdGhlIHN5bmNocm9ub3VzIGNvbW1pdCBwaGFzZS4gVGhpcyBpc1xcbiAgICAgICAgICAgICAgLy8gYSBjb25jZXNzaW9uIHRvIGltcGxlbWVudGF0aW9uIGNvbXBsZXhpdHkuIENhbGxpbmcgaXQgaW4gdGhlXFxuICAgICAgICAgICAgICAvLyBwYXNzaXZlIGVmZmVjdCBwaGFzZSAobGlrZSB0aGV5IHVzdWFsbHkgYXJlLCB3aGVuIGRlcGVuZGVuY2llc1xcbiAgICAgICAgICAgICAgLy8gY2hhbmdlIGR1cmluZyBhbiB1cGRhdGUpIHdvdWxkIHJlcXVpcmUgZWl0aGVyIHRyYXZlcnNpbmcgdGhlXFxuICAgICAgICAgICAgICAvLyBjaGlsZHJlbiBvZiB0aGUgZGVsZXRlZCBmaWJlciBhZ2Fpbiwgb3IgaW5jbHVkaW5nIHVubW91bnQgZWZmZWN0c1xcbiAgICAgICAgICAgICAgLy8gYXMgcGFydCBvZiB0aGUgZmliZXIgZWZmZWN0IGxpc3QuXFxuICAgICAgICAgICAgICAvL1xcbiAgICAgICAgICAgICAgLy8gQmVjYXVzZSB0aGlzIGlzIGR1cmluZyB0aGUgc3luYyBjb21taXQgcGhhc2UsIHdlIG5lZWQgdG8gY2hhbmdlXFxuICAgICAgICAgICAgICAvLyB0aGUgcHJpb3JpdHkuXFxuICAgICAgICAgICAgICAvL1xcbiAgICAgICAgICAgICAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzIGltcGxlbWVudGF0aW9uIHRyYWRlIG9mZi5cXG4gICAgICAgICAgICAgIHZhciBwcmlvcml0eUxldmVsID0gcmVuZGVyUHJpb3JpdHlMZXZlbCA+IE5vcm1hbFByaW9yaXR5ID8gTm9ybWFsUHJpb3JpdHkgOiByZW5kZXJQcmlvcml0eUxldmVsO1xcbiAgICAgICAgICAgICAgcnVuV2l0aFByaW9yaXR5JDEocHJpb3JpdHlMZXZlbCwgZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XFxuXFxuICAgICAgICAgICAgICAgIGRvIHtcXG4gICAgICAgICAgICAgICAgICB2YXIgX2Rlc3Ryb3kgPSBlZmZlY3QuZGVzdHJveTtcXG5cXG4gICAgICAgICAgICAgICAgICBpZiAoX2Rlc3Ryb3kgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICAgICAgICAgICAgc2FmZWx5Q2FsbERlc3Ryb3koY3VycmVudCwgX2Rlc3Ryb3kpO1xcbiAgICAgICAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICAgICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcXG4gICAgICAgICAgICAgICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XFxuICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQpO1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gY3VycmVudC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAgIHNhZmVseUNhbGxDb21wb25lbnRXaWxsVW5tb3VudChjdXJyZW50LCBpbnN0YW5jZSk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQpO1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICAgIHtcXG4gICAgICAgIC8vIFRPRE86IHRoaXMgaXMgcmVjdXJzaXZlLlxcbiAgICAgICAgLy8gV2UgYXJlIGFsc28gbm90IHVzaW5nIHRoaXMgcGFyZW50IGJlY2F1c2VcXG4gICAgICAgIC8vIHRoZSBwb3J0YWwgd2lsbCBnZXQgcHVzaGVkIGltbWVkaWF0ZWx5LlxcbiAgICAgICAge1xcbiAgICAgICAgICB1bm1vdW50SG9zdENvbXBvbmVudHMoZmluaXNoZWRSb290LCBjdXJyZW50LCByZW5kZXJQcmlvcml0eUxldmVsKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgRnVuZGFtZW50YWxDb21wb25lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBEZWh5ZHJhdGVkRnJhZ21lbnQ6XFxuICAgICAge1xcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcXG4gICAgICB7XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXROZXN0ZWRVbm1vdW50cyhmaW5pc2hlZFJvb3QsIHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcXG4gIC8vIFdoaWxlIHdlJ3JlIGluc2lkZSBhIHJlbW92ZWQgaG9zdCBub2RlIHdlIGRvbid0IHdhbnQgdG8gY2FsbFxcbiAgLy8gcmVtb3ZlQ2hpbGQgb24gdGhlIGlubmVyIG5vZGVzIGJlY2F1c2UgdGhleSdyZSByZW1vdmVkIGJ5IHRoZSB0b3BcXG4gIC8vIGNhbGwgYW55d2F5LiBXZSBhbHNvIHdhbnQgdG8gY2FsbCBjb21wb25lbnRXaWxsVW5tb3VudCBvbiBhbGxcXG4gIC8vIGNvbXBvc2l0ZXMgYmVmb3JlIHRoaXMgaG9zdCBub2RlIGlzIHJlbW92ZWQgZnJvbSB0aGUgdHJlZS4gVGhlcmVmb3JlXFxuICAvLyB3ZSBkbyBhbiBpbm5lciBsb29wIHdoaWxlIHdlJ3JlIHN0aWxsIGluc2lkZSB0aGUgaG9zdCBub2RlLlxcbiAgdmFyIG5vZGUgPSByb290O1xcblxcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgY29tbWl0VW5tb3VudChmaW5pc2hlZFJvb3QsIG5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpOyAvLyBWaXNpdCBjaGlsZHJlbiBiZWNhdXNlIHRoZXkgbWF5IGNvbnRhaW4gbW9yZSBjb21wb3NpdGUgb3IgaG9zdCBub2Rlcy5cXG4gICAgLy8gU2tpcCBwb3J0YWxzIGJlY2F1c2UgY29tbWl0VW5tb3VudCgpIGN1cnJlbnRseSB2aXNpdHMgdGhlbSByZWN1cnNpdmVseS5cXG5cXG4gICAgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwgJiYgKCAvLyBJZiB3ZSB1c2UgbXV0YXRpb24gd2UgZHJpbGwgZG93biBpbnRvIHBvcnRhbHMgdXNpbmcgY29tbWl0VW5tb3VudCBhYm92ZS5cXG4gICAgLy8gSWYgd2UgZG9uJ3QgdXNlIG11dGF0aW9uIHdlIGRyaWxsIGRvd24gaW50byBwb3J0YWxzIGhlcmUgaW5zdGVhZC5cXG4gICAgIG5vZGUudGFnICE9PSBIb3N0UG9ydGFsKSkge1xcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcXG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICBjb250aW51ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gcm9vdCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSByb290KSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG4gICAgfVxcblxcbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XFxuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGRldGFjaEZpYmVyKGN1cnJlbnQpIHtcXG4gIHZhciBhbHRlcm5hdGUgPSBjdXJyZW50LmFsdGVybmF0ZTsgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXJzIHRvIGRpc2Nvbm5lY3QgaXQgZnJvbSB0aGUgdHJlZS4gSWRlYWxseSwgd2VcXG4gIC8vIHNob3VsZCBjbGVhciB0aGUgY2hpbGQgcG9pbnRlciBvZiB0aGUgcGFyZW50IGFsdGVybmF0ZSB0byBsZXQgdGhpc1xcbiAgLy8gZ2V0IEdDOmVkIGJ1dCB3ZSBkb24ndCBrbm93IHdoaWNoIGZvciBzdXJlIHdoaWNoIHBhcmVudCBpcyB0aGUgY3VycmVudFxcbiAgLy8gb25lIHNvIHdlJ2xsIHNldHRsZSBmb3IgR0M6aW5nIHRoZSBzdWJ0cmVlIG9mIHRoaXMgY2hpbGQuIFRoaXMgY2hpbGRcXG4gIC8vIGl0c2VsZiB3aWxsIGJlIEdDOmVkIHdoZW4gdGhlIHBhcmVudCB1cGRhdGVzIHRoZSBuZXh0IHRpbWUuXFxuXFxuICBjdXJyZW50LnJldHVybiA9IG51bGw7XFxuICBjdXJyZW50LmNoaWxkID0gbnVsbDtcXG4gIGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICBjdXJyZW50LnVwZGF0ZVF1ZXVlID0gbnVsbDtcXG4gIGN1cnJlbnQuZGVwZW5kZW5jaWVzID0gbnVsbDtcXG4gIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcXG4gIGN1cnJlbnQuZmlyc3RFZmZlY3QgPSBudWxsO1xcbiAgY3VycmVudC5sYXN0RWZmZWN0ID0gbnVsbDtcXG4gIGN1cnJlbnQucGVuZGluZ1Byb3BzID0gbnVsbDtcXG4gIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA9IG51bGw7XFxuICBjdXJyZW50LnN0YXRlTm9kZSA9IG51bGw7XFxuXFxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XFxuICAgIGRldGFjaEZpYmVyKGFsdGVybmF0ZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGdldEhvc3RQYXJlbnRGaWJlcihmaWJlcikge1xcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcXG5cXG4gIHdoaWxlIChwYXJlbnQgIT09IG51bGwpIHtcXG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XFxuICAgICAgcmV0dXJuIHBhcmVudDtcXG4gICAgfVxcblxcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xcbiAgfVxcblxcbiAge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFeHBlY3RlZCB0byBmaW5kIGEgaG9zdCBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGlzSG9zdFBhcmVudChmaWJlcikge1xcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBmaWJlci50YWcgPT09IEhvc3RSb290IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFBvcnRhbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0SG9zdFNpYmxpbmcoZmliZXIpIHtcXG4gIC8vIFdlJ3JlIGdvaW5nIHRvIHNlYXJjaCBmb3J3YXJkIGludG8gdGhlIHRyZWUgdW50aWwgd2UgZmluZCBhIHNpYmxpbmcgaG9zdFxcbiAgLy8gbm9kZS4gVW5mb3J0dW5hdGVseSwgaWYgbXVsdGlwbGUgaW5zZXJ0aW9ucyBhcmUgZG9uZSBpbiBhIHJvdyB3ZSBoYXZlIHRvXFxuICAvLyBzZWFyY2ggcGFzdCB0aGVtLiBUaGlzIGxlYWRzIHRvIGV4cG9uZW50aWFsIHNlYXJjaCBmb3IgdGhlIG5leHQgc2libGluZy5cXG4gIC8vIFRPRE86IEZpbmQgYSBtb3JlIGVmZmljaWVudCB3YXkgdG8gZG8gdGhpcy5cXG4gIHZhciBub2RlID0gZmliZXI7XFxuXFxuICBzaWJsaW5nczogd2hpbGUgKHRydWUpIHtcXG4gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55dGhpbmcsIGxldCdzIHRyeSB0aGUgbmV4dCBzaWJsaW5nLlxcbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IGlzSG9zdFBhcmVudChub2RlLnJldHVybikpIHtcXG4gICAgICAgIC8vIElmIHdlIHBvcCBvdXQgb2YgdGhlIHJvb3Qgb3IgaGl0IHRoZSBwYXJlbnQgdGhlIGZpYmVyIHdlIGFyZSB0aGVcXG4gICAgICAgIC8vIGxhc3Qgc2libGluZy5cXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XFxuICAgIH1cXG5cXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xcbiAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xcblxcbiAgICB3aGlsZSAobm9kZS50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgbm9kZS50YWcgIT09IEhvc3RUZXh0ICYmIG5vZGUudGFnICE9PSBEZWh5ZHJhdGVkRnJhZ21lbnQpIHtcXG4gICAgICAvLyBJZiBpdCBpcyBub3QgaG9zdCBub2RlIGFuZCwgd2UgbWlnaHQgaGF2ZSBhIGhvc3Qgbm9kZSBpbnNpZGUgaXQuXFxuICAgICAgLy8gVHJ5IHRvIHNlYXJjaCBkb3duIHVudGlsIHdlIGZpbmQgb25lLlxcbiAgICAgIGlmIChub2RlLmVmZmVjdFRhZyAmIFBsYWNlbWVudCkge1xcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXFxuICAgICAgICBjb250aW51ZSBzaWJsaW5ncztcXG4gICAgICB9IC8vIElmIHdlIGRvbid0IGhhdmUgYSBjaGlsZCwgdHJ5IHRoZSBzaWJsaW5ncyBpbnN0ZWFkLlxcbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXFxuXFxuXFxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICB9XFxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cXG5cXG5cXG4gICAgaWYgKCEobm9kZS5lZmZlY3RUYWcgJiBQbGFjZW1lbnQpKSB7XFxuICAgICAgLy8gRm91bmQgaXQhXFxuICAgICAgcmV0dXJuIG5vZGUuc3RhdGVOb2RlO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFBsYWNlbWVudChmaW5pc2hlZFdvcmspIHtcXG5cXG5cXG4gIHZhciBwYXJlbnRGaWJlciA9IGdldEhvc3RQYXJlbnRGaWJlcihmaW5pc2hlZFdvcmspOyAvLyBOb3RlOiB0aGVzZSB0d28gdmFyaWFibGVzICptdXN0KiBhbHdheXMgYmUgdXBkYXRlZCB0b2dldGhlci5cXG5cXG4gIHZhciBwYXJlbnQ7XFxuICB2YXIgaXNDb250YWluZXI7XFxuICB2YXIgcGFyZW50U3RhdGVOb2RlID0gcGFyZW50RmliZXIuc3RhdGVOb2RlO1xcblxcbiAgc3dpdGNoIChwYXJlbnRGaWJlci50YWcpIHtcXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZTtcXG4gICAgICBpc0NvbnRhaW5lciA9IGZhbHNlO1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgIGlzQ29udGFpbmVyID0gdHJ1ZTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgIGlzQ29udGFpbmVyID0gdHJ1ZTtcXG4gICAgICBicmVhaztcXG5cXG4gICAgY2FzZSBGdW5kYW1lbnRhbENvbXBvbmVudDpcXG5cXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lLW5vLWZhbGx0aHJvdWdoXFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkludmFsaWQgaG9zdCBwYXJlbnQgZmliZXIuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXFxcIiApO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gIH1cXG5cXG4gIGlmIChwYXJlbnRGaWJlci5lZmZlY3RUYWcgJiBDb250ZW50UmVzZXQpIHtcXG4gICAgLy8gUmVzZXQgdGhlIHRleHQgY29udGVudCBvZiB0aGUgcGFyZW50IGJlZm9yZSBkb2luZyBhbnkgaW5zZXJ0aW9uc1xcbiAgICByZXNldFRleHRDb250ZW50KHBhcmVudCk7IC8vIENsZWFyIENvbnRlbnRSZXNldCBmcm9tIHRoZSBlZmZlY3QgdGFnXFxuXFxuICAgIHBhcmVudEZpYmVyLmVmZmVjdFRhZyAmPSB+Q29udGVudFJlc2V0O1xcbiAgfVxcblxcbiAgdmFyIGJlZm9yZSA9IGdldEhvc3RTaWJsaW5nKGZpbmlzaGVkV29yayk7IC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGluc2VydGVkIGJ1dCB3ZSBuZWVkIHRvIHJlY3Vyc2UgZG93biBpdHNcXG4gIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cXG5cXG4gIGlmIChpc0NvbnRhaW5lcikge1xcbiAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xcbiAgfSBlbHNlIHtcXG4gICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKG5vZGUsIGJlZm9yZSwgcGFyZW50KSB7XFxuICB2YXIgdGFnID0gbm9kZS50YWc7XFxuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XFxuXFxuICBpZiAoaXNIb3N0IHx8IGVuYWJsZUZ1bmRhbWVudGFsQVBJICkge1xcbiAgICB2YXIgc3RhdGVOb2RlID0gaXNIb3N0ID8gbm9kZS5zdGF0ZU5vZGUgOiBub2RlLnN0YXRlTm9kZS5pbnN0YW5jZTtcXG5cXG4gICAgaWYgKGJlZm9yZSkge1xcbiAgICAgIGluc2VydEluQ29udGFpbmVyQmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFwcGVuZENoaWxkVG9Db250YWluZXIocGFyZW50LCBzdGF0ZU5vZGUpO1xcbiAgICB9XFxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcXG4gICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZDtcXG5cXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihjaGlsZCwgYmVmb3JlLCBwYXJlbnQpO1xcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcXG5cXG4gICAgICB3aGlsZSAoc2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlSW50b0NvbnRhaW5lcihzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XFxuICAgICAgICBzaWJsaW5nID0gc2libGluZy5zaWJsaW5nO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcXG4gIHZhciB0YWcgPSBub2RlLnRhZztcXG4gIHZhciBpc0hvc3QgPSB0YWcgPT09IEhvc3RDb21wb25lbnQgfHwgdGFnID09PSBIb3N0VGV4dDtcXG5cXG4gIGlmIChpc0hvc3QgfHwgZW5hYmxlRnVuZGFtZW50YWxBUEkgKSB7XFxuICAgIHZhciBzdGF0ZU5vZGUgPSBpc0hvc3QgPyBub2RlLnN0YXRlTm9kZSA6IG5vZGUuc3RhdGVOb2RlLmluc3RhbmNlO1xcblxcbiAgICBpZiAoYmVmb3JlKSB7XFxuICAgICAgaW5zZXJ0QmVmb3JlKHBhcmVudCwgc3RhdGVOb2RlLCBiZWZvcmUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFwcGVuZENoaWxkKHBhcmVudCwgc3RhdGVOb2RlKTtcXG4gICAgfVxcbiAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSB7XFxuICAgIHZhciBjaGlsZCA9IG5vZGUuY2hpbGQ7XFxuXFxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShjaGlsZCwgYmVmb3JlLCBwYXJlbnQpO1xcbiAgICAgIHZhciBzaWJsaW5nID0gY2hpbGQuc2libGluZztcXG5cXG4gICAgICB3aGlsZSAoc2libGluZyAhPT0gbnVsbCkge1xcbiAgICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKHNpYmxpbmcsIGJlZm9yZSwgcGFyZW50KTtcXG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVubW91bnRIb3N0Q29tcG9uZW50cyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcXG4gIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGRlbGV0ZWQgYnV0IHdlIG5lZWQgdG8gcmVjdXJzZSBkb3duIGl0c1xcbiAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxcbiAgdmFyIG5vZGUgPSBjdXJyZW50OyAvLyBFYWNoIGl0ZXJhdGlvbiwgY3VycmVudFBhcmVudCBpcyBwb3B1bGF0ZWQgd2l0aCBub2RlJ3MgaG9zdCBwYXJlbnQgaWYgbm90XFxuICAvLyBjdXJyZW50UGFyZW50SXNWYWxpZC5cXG5cXG4gIHZhciBjdXJyZW50UGFyZW50SXNWYWxpZCA9IGZhbHNlOyAvLyBOb3RlOiB0aGVzZSB0d28gdmFyaWFibGVzICptdXN0KiBhbHdheXMgYmUgdXBkYXRlZCB0b2dldGhlci5cXG5cXG4gIHZhciBjdXJyZW50UGFyZW50O1xcbiAgdmFyIGN1cnJlbnRQYXJlbnRJc0NvbnRhaW5lcjtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIGlmICghY3VycmVudFBhcmVudElzVmFsaWQpIHtcXG4gICAgICB2YXIgcGFyZW50ID0gbm9kZS5yZXR1cm47XFxuXFxuICAgICAgZmluZFBhcmVudDogd2hpbGUgKHRydWUpIHtcXG4gICAgICAgIGlmICghKHBhcmVudCAhPT0gbnVsbCkpIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiRXhwZWN0ZWQgdG8gZmluZCBhIGhvc3QgcGFyZW50LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudC5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBzd2l0Y2ggKHBhcmVudC50YWcpIHtcXG4gICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQgPSBwYXJlbnRTdGF0ZU5vZGU7XFxuICAgICAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gZmFsc2U7XFxuICAgICAgICAgICAgYnJlYWsgZmluZFBhcmVudDtcXG5cXG4gICAgICAgICAgY2FzZSBIb3N0Um9vdDpcXG4gICAgICAgICAgICBjdXJyZW50UGFyZW50ID0gcGFyZW50U3RhdGVOb2RlLmNvbnRhaW5lckluZm87XFxuICAgICAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTtcXG4gICAgICAgICAgICBicmVhayBmaW5kUGFyZW50O1xcblxcbiAgICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XFxuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnRJc0NvbnRhaW5lciA9IHRydWU7XFxuICAgICAgICAgICAgYnJlYWsgZmluZFBhcmVudDtcXG5cXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIGN1cnJlbnRQYXJlbnRJc1ZhbGlkID0gdHJ1ZTtcXG4gICAgfVxcblxcbiAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XFxuICAgICAgY29tbWl0TmVzdGVkVW5tb3VudHMoZmluaXNoZWRSb290LCBub2RlLCByZW5kZXJQcmlvcml0eUxldmVsKTsgLy8gQWZ0ZXIgYWxsIHRoZSBjaGlsZHJlbiBoYXZlIHVubW91bnRlZCwgaXQgaXMgbm93IHNhZmUgdG8gcmVtb3ZlIHRoZVxcbiAgICAgIC8vIG5vZGUgZnJvbSB0aGUgdHJlZS5cXG5cXG4gICAgICBpZiAoY3VycmVudFBhcmVudElzQ29udGFpbmVyKSB7XFxuICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoY3VycmVudFBhcmVudCwgbm9kZS5zdGF0ZU5vZGUpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICByZW1vdmVDaGlsZChjdXJyZW50UGFyZW50LCBub2RlLnN0YXRlTm9kZSk7XFxuICAgICAgfSAvLyBEb24ndCB2aXNpdCBjaGlsZHJlbiBiZWNhdXNlIHdlIGFscmVhZHkgdmlzaXRlZCB0aGVtLlxcblxcbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0UG9ydGFsKSB7XFxuICAgICAgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIFdoZW4gd2UgZ28gaW50byBhIHBvcnRhbCwgaXQgYmVjb21lcyB0aGUgcGFyZW50IHRvIHJlbW92ZSBmcm9tLlxcbiAgICAgICAgLy8gV2Ugd2lsbCByZWFzc2lnbiBpdCBiYWNrIHdoZW4gd2UgcG9wIHRoZSBwb3J0YWwgb24gdGhlIHdheSB1cC5cXG4gICAgICAgIGN1cnJlbnRQYXJlbnQgPSBub2RlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xcbiAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTsgLy8gVmlzaXQgY2hpbGRyZW4gYmVjYXVzZSBwb3J0YWxzIG1pZ2h0IGNvbnRhaW4gaG9zdCBjb21wb25lbnRzLlxcblxcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XFxuICAgICAgICBjb250aW51ZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgY29tbWl0VW5tb3VudChmaW5pc2hlZFJvb3QsIG5vZGUsIHJlbmRlclByaW9yaXR5TGV2ZWwpOyAvLyBWaXNpdCBjaGlsZHJlbiBiZWNhdXNlIHdlIG1heSBmaW5kIG1vcmUgaG9zdCBjb21wb25lbnRzIGJlbG93LlxcblxcbiAgICAgIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XFxuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XFxuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcXG4gICAgICAgIGNvbnRpbnVlO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAobm9kZSA9PT0gY3VycmVudCkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XFxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBjdXJyZW50KSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcXG5cXG4gICAgICBpZiAobm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcXG4gICAgICAgIC8vIFdoZW4gd2UgZ28gb3V0IG9mIHRoZSBwb3J0YWwsIHdlIG5lZWQgdG8gcmVzdG9yZSB0aGUgcGFyZW50LlxcbiAgICAgICAgLy8gU2luY2Ugd2UgZG9uJ3Qga2VlcCBhIHN0YWNrIG9mIHRoZW0sIHdlIHdpbGwgc2VhcmNoIGZvciBpdC5cXG4gICAgICAgIGN1cnJlbnRQYXJlbnRJc1ZhbGlkID0gZmFsc2U7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcXG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0RGVsZXRpb24oZmluaXNoZWRSb290LCBjdXJyZW50LCByZW5kZXJQcmlvcml0eUxldmVsKSB7XFxuICB7XFxuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQuXFxuICAgIC8vIERldGFjaCByZWZzIGFuZCBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50KCkgb24gdGhlIHdob2xlIHN1YnRyZWUuXFxuICAgIHVubW91bnRIb3N0Q29tcG9uZW50cyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xcbiAgfVxcblxcbiAgZGV0YWNoRmliZXIoY3VycmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFdvcmsoY3VycmVudCwgZmluaXNoZWRXb3JrKSB7XFxuXFxuICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcXG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgY2FzZSBGb3J3YXJkUmVmOlxcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XFxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgY2FzZSBCbG9jazpcXG4gICAgICB7XFxuICAgICAgICAvLyBMYXlvdXQgZWZmZWN0cyBhcmUgZGVzdHJveWVkIGR1cmluZyB0aGUgbXV0YXRpb24gcGhhc2Ugc28gdGhhdCBhbGxcXG4gICAgICAgIC8vIGRlc3Ryb3kgZnVuY3Rpb25zIGZvciBhbGwgZmliZXJzIGFyZSBjYWxsZWQgYmVmb3JlIGFueSBjcmVhdGUgZnVuY3Rpb25zLlxcbiAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxcbiAgICAgICAgLy8gZS5nLiBhIGRlc3Ryb3kgZnVuY3Rpb24gaW4gb25lIGNvbXBvbmVudCBzaG91bGQgbmV2ZXIgb3ZlcnJpZGUgYSByZWYgc2V0XFxuICAgICAgICAvLyBieSBhIGNyZWF0ZSBmdW5jdGlvbiBpbiBhbm90aGVyIGNvbXBvbmVudCBkdXJpbmcgdGhlIHNhbWUgY29tbWl0LlxcbiAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KExheW91dCB8IEhhc0VmZmVjdCwgZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XFxuXFxuICAgICAgICBpZiAoaW5zdGFuY2UgIT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cXG4gICAgICAgICAgdmFyIG5ld1Byb3BzID0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHM7IC8vIEZvciBoeWRyYXRpb24gd2UgcmV1c2UgdGhlIHVwZGF0ZSBwYXRoIGJ1dCB3ZSB0cmVhdCB0aGUgb2xkUHJvcHNcXG4gICAgICAgICAgLy8gYXMgdGhlIG5ld1Byb3BzLiBUaGUgdXBkYXRlUGF5bG9hZCB3aWxsIGNvbnRhaW4gdGhlIHJlYWwgY2hhbmdlIGluXFxuICAgICAgICAgIC8vIHRoaXMgY2FzZS5cXG5cXG4gICAgICAgICAgdmFyIG9sZFByb3BzID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG5ld1Byb3BzO1xcbiAgICAgICAgICB2YXIgdHlwZSA9IGZpbmlzaGVkV29yay50eXBlOyAvLyBUT0RPOiBUeXBlIHRoZSB1cGRhdGVRdWV1ZSB0byBiZSBzcGVjaWZpYyB0byBob3N0IGNvbXBvbmVudHMuXFxuXFxuICAgICAgICAgIHZhciB1cGRhdGVQYXlsb2FkID0gZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlO1xcbiAgICAgICAgICBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWUgPSBudWxsO1xcblxcbiAgICAgICAgICBpZiAodXBkYXRlUGF5bG9hZCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIGNvbW1pdFVwZGF0ZShpbnN0YW5jZSwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgY2FzZSBIb3N0VGV4dDpcXG4gICAgICB7XFxuICAgICAgICBpZiAoIShmaW5pc2hlZFdvcmsuc3RhdGVOb2RlICE9PSBudWxsKSkge1xcbiAgICAgICAgICB7XFxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUaGlzIHNob3VsZCBoYXZlIGEgdGV4dCBub2RlIGluaXRpYWxpemVkLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgdmFyIHRleHRJbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XFxuICAgICAgICB2YXIgbmV3VGV4dCA9IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzOyAvLyBGb3IgaHlkcmF0aW9uIHdlIHJldXNlIHRoZSB1cGRhdGUgcGF0aCBidXQgd2UgdHJlYXQgdGhlIG9sZFByb3BzXFxuICAgICAgICAvLyBhcyB0aGUgbmV3UHJvcHMuIFRoZSB1cGRhdGVQYXlsb2FkIHdpbGwgY29udGFpbiB0aGUgcmVhbCBjaGFuZ2UgaW5cXG4gICAgICAgIC8vIHRoaXMgY2FzZS5cXG5cXG4gICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG5ld1RleHQ7XFxuICAgICAgICBjb21taXRUZXh0VXBkYXRlKHRleHRJbnN0YW5jZSwgb2xkVGV4dCwgbmV3VGV4dCk7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIF9yb290ID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcXG5cXG4gICAgICAgICAgaWYgKF9yb290Lmh5ZHJhdGUpIHtcXG4gICAgICAgICAgICAvLyBXZSd2ZSBqdXN0IGh5ZHJhdGVkLiBObyBuZWVkIHRvIGh5ZHJhdGUgYWdhaW4uXFxuICAgICAgICAgICAgX3Jvb3QuaHlkcmF0ZSA9IGZhbHNlO1xcbiAgICAgICAgICAgIGNvbW1pdEh5ZHJhdGVkQ29udGFpbmVyKF9yb290LmNvbnRhaW5lckluZm8pO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFByb2ZpbGVyOlxcbiAgICAgIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XFxuICAgICAge1xcbiAgICAgICAgY29tbWl0U3VzcGVuc2VDb21wb25lbnQoZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxcbiAgICAgIHtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlRoaXMgdW5pdCBvZiB3b3JrIHRhZyBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUNvbXBvbmVudChmaW5pc2hlZFdvcmspIHtcXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xcbiAgdmFyIG5ld0RpZFRpbWVvdXQ7XFxuICB2YXIgcHJpbWFyeUNoaWxkUGFyZW50ID0gZmluaXNoZWRXb3JrO1xcblxcbiAgaWYgKG5ld1N0YXRlID09PSBudWxsKSB7XFxuICAgIG5ld0RpZFRpbWVvdXQgPSBmYWxzZTtcXG4gIH0gZWxzZSB7XFxuICAgIG5ld0RpZFRpbWVvdXQgPSB0cnVlO1xcbiAgICBwcmltYXJ5Q2hpbGRQYXJlbnQgPSBmaW5pc2hlZFdvcmsuY2hpbGQ7XFxuICAgIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpO1xcbiAgfVxcblxcbiAgaWYgKCBwcmltYXJ5Q2hpbGRQYXJlbnQgIT09IG51bGwpIHtcXG4gICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ocHJpbWFyeUNoaWxkUGFyZW50LCBuZXdEaWRUaW1lb3V0KTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY29tbWl0U3VzcGVuc2VIeWRyYXRpb25DYWxsYmFja3MoZmluaXNoZWRSb290LCBmaW5pc2hlZFdvcmspIHtcXG5cXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKG5ld1N0YXRlID09PSBudWxsKSB7XFxuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcXG5cXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcblxcbiAgICAgIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcXG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XFxuXFxuICAgICAgICBpZiAoc3VzcGVuc2VJbnN0YW5jZSAhPT0gbnVsbCkge1xcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGF0dGFjaFN1c3BlbnNlUmV0cnlMaXN0ZW5lcnMoZmluaXNoZWRXb3JrKSB7XFxuICAvLyBJZiB0aGlzIGJvdW5kYXJ5IGp1c3QgdGltZWQgb3V0LCB0aGVuIGl0IHdpbGwgaGF2ZSBhIHNldCBvZiB0aGVuYWJsZXMuXFxuICAvLyBGb3IgZWFjaCB0aGVuYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxcbiAgLy8gYXR0ZW1wdHMgdG8gcmUtcmVuZGVyIHRoZSBib3VuZGFyeSBpbiB0aGUgcHJpbWFyeSAocHJlLXRpbWVvdXQpIHN0YXRlLlxcbiAgdmFyIHRoZW5hYmxlcyA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcXG5cXG4gIGlmICh0aGVuYWJsZXMgIT09IG51bGwpIHtcXG4gICAgZmluaXNoZWRXb3JrLnVwZGF0ZVF1ZXVlID0gbnVsbDtcXG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xcblxcbiAgICBpZiAocmV0cnlDYWNoZSA9PT0gbnVsbCkge1xcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xcbiAgICB9XFxuXFxuICAgIHRoZW5hYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh0aGVuYWJsZSkge1xcbiAgICAgIC8vIE1lbW9pemUgdXNpbmcgdGhlIGJvdW5kYXJ5IGZpYmVyIHRvIHByZXZlbnQgcmVkdW5kYW50IGxpc3RlbmVycy5cXG4gICAgICB2YXIgcmV0cnkgPSByZXNvbHZlUmV0cnlUaGVuYWJsZS5iaW5kKG51bGwsIGZpbmlzaGVkV29yaywgdGhlbmFibGUpO1xcblxcbiAgICAgIGlmICghcmV0cnlDYWNoZS5oYXModGhlbmFibGUpKSB7XFxuICAgICAgICB7XFxuICAgICAgICAgIGlmICh0aGVuYWJsZS5fX3JlYWN0RG9Ob3RUcmFjZUludGVyYWN0aW9ucyAhPT0gdHJ1ZSkge1xcbiAgICAgICAgICAgIHJldHJ5ID0gdHJhY2luZy51bnN0YWJsZV93cmFwKHJldHJ5KTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcblxcbiAgICAgICAgcmV0cnlDYWNoZS5hZGQodGhlbmFibGUpO1xcbiAgICAgICAgdGhlbmFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xcbiAgICAgIH1cXG4gICAgfSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFJlc2V0VGV4dENvbnRlbnQoY3VycmVudCkge1xcblxcbiAgcmVzZXRUZXh0Q29udGVudChjdXJyZW50LnN0YXRlTm9kZSk7XFxufVxcblxcbnZhciBQb3NzaWJseVdlYWtNYXAkMSA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nID8gV2Vha01hcCA6IE1hcDtcXG5cXG5mdW5jdGlvbiBjcmVhdGVSb290RXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXhwaXJhdGlvblRpbWUsIG51bGwpOyAvLyBVbm1vdW50IHRoZSByb290IGJ5IHJlbmRlcmluZyBudWxsLlxcblxcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcXG4gIC8vIGJlaW5nIGNhbGxlZCBcXFwiZWxlbWVudFxcXCIuXFxuXFxuICB1cGRhdGUucGF5bG9hZCA9IHtcXG4gICAgZWxlbWVudDogbnVsbFxcbiAgfTtcXG4gIHZhciBlcnJvciA9IGVycm9ySW5mby52YWx1ZTtcXG5cXG4gIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcXG4gICAgb25VbmNhdWdodEVycm9yKGVycm9yKTtcXG4gICAgbG9nRXJyb3IoZmliZXIsIGVycm9ySW5mbyk7XFxuICB9O1xcblxcbiAgcmV0dXJuIHVwZGF0ZTtcXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBleHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgbnVsbCk7XFxuICB1cGRhdGUudGFnID0gQ2FwdHVyZVVwZGF0ZTtcXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcXG5cXG4gIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xcblxcbiAgICB1cGRhdGUucGF5bG9hZCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICBsb2dFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcXG4gICAgICByZXR1cm4gZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yJDEpO1xcbiAgICB9O1xcbiAgfVxcblxcbiAgdmFyIGluc3QgPSBmaWJlci5zdGF0ZU5vZGU7XFxuXFxuICBpZiAoaW5zdCAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdC5jb21wb25lbnREaWRDYXRjaCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBmdW5jdGlvbiBjYWxsYmFjaygpIHtcXG4gICAgICB7XFxuICAgICAgICBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcik7XFxuICAgICAgfVxcblxcbiAgICAgIGlmICh0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgICAvLyBUbyBwcmVzZXJ2ZSB0aGUgcHJlZXhpc3RpbmcgcmV0cnkgYmVoYXZpb3Igb2YgZXJyb3IgYm91bmRhcmllcyxcXG4gICAgICAgIC8vIHdlIGtlZXAgdHJhY2sgb2Ygd2hpY2ggb25lcyBhbHJlYWR5IGZhaWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cXG4gICAgICAgIC8vIFRoaXMgZ2V0cyByZXNldCBiZWZvcmUgd2UgeWllbGQgYmFjayB0byB0aGUgYnJvd3Nlci5cXG4gICAgICAgIC8vIFRPRE86IFdhcm4gaW4gc3RyaWN0IG1vZGUgaWYgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzXFxuICAgICAgICAvLyBub3QgZGVmaW5lZC5cXG4gICAgICAgIG1hcmtMZWdhY3lFcnJvckJvdW5kYXJ5QXNGYWlsZWQodGhpcyk7IC8vIE9ubHkgbG9nIGhlcmUgaWYgY29tcG9uZW50RGlkQ2F0Y2ggaXMgdGhlIG9ubHkgZXJyb3IgYm91bmRhcnkgbWV0aG9kIGRlZmluZWRcXG5cXG4gICAgICAgIGxvZ0Vycm9yKGZpYmVyLCBlcnJvckluZm8pO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcXG4gICAgICB2YXIgc3RhY2sgPSBlcnJvckluZm8uc3RhY2s7XFxuICAgICAgdGhpcy5jb21wb25lbnREaWRDYXRjaChlcnJvciQxLCB7XFxuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXFxuICAgICAgfSk7XFxuXFxuICAgICAge1xcbiAgICAgICAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgICAgLy8gSWYgY29tcG9uZW50RGlkQ2F0Y2ggaXMgdGhlIG9ubHkgZXJyb3IgYm91bmRhcnkgbWV0aG9kIGRlZmluZWQsXFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxcbiAgICAgICAgICAvLyBJZiBubyBzdGF0ZSB1cGRhdGUgaXMgc2NoZWR1bGVkIHRoZW4gdGhlIGJvdW5kYXJ5IHdpbGwgc3dhbGxvdyB0aGUgZXJyb3IuXFxuICAgICAgICAgIGlmIChmaWJlci5leHBpcmF0aW9uVGltZSAhPT0gU3luYykge1xcbiAgICAgICAgICAgIGVycm9yKCclczogRXJyb3IgYm91bmRhcmllcyBzaG91bGQgaW1wbGVtZW50IGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcigpLiAnICsgJ0luIHRoYXQgbWV0aG9kLCByZXR1cm4gYSBzdGF0ZSB1cGRhdGUgdG8gZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIG9yIGZhbGxiYWNrIFVJLicsIGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ1Vua25vd24nKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfTtcXG4gIH0gZWxzZSB7XFxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICBtYXJrRmFpbGVkRXJyb3JCb3VuZGFyeUZvckhvdFJlbG9hZGluZyhmaWJlcik7XFxuICAgIH07XFxuICB9XFxuXFxuICByZXR1cm4gdXBkYXRlO1xcbn1cXG5cXG5mdW5jdGlvbiBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgcmVuZGVyRXhwaXJhdGlvblRpbWUsIHRoZW5hYmxlKSB7XFxuICAvLyBBdHRhY2ggYSBsaXN0ZW5lciB0byB0aGUgcHJvbWlzZSB0byBcXFwicGluZ1xcXCIgdGhlIHJvb3QgYW5kIHJldHJ5LiBCdXRcXG4gIC8vIG9ubHkgaWYgb25lIGRvZXMgbm90IGFscmVhZHkgZXhpc3QgZm9yIHRoZSBjdXJyZW50IHJlbmRlciBleHBpcmF0aW9uXFxuICAvLyB0aW1lICh3aGljaCBhY3RzIGxpa2UgYSBcXFwidGhyZWFkIElEXFxcIiBoZXJlKS5cXG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcXG4gIHZhciB0aHJlYWRJRHM7XFxuXFxuICBpZiAocGluZ0NhY2hlID09PSBudWxsKSB7XFxuICAgIHBpbmdDYWNoZSA9IHJvb3QucGluZ0NhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCQxKCk7XFxuICAgIHRocmVhZElEcyA9IG5ldyBTZXQoKTtcXG4gICAgcGluZ0NhY2hlLnNldCh0aGVuYWJsZSwgdGhyZWFkSURzKTtcXG4gIH0gZWxzZSB7XFxuICAgIHRocmVhZElEcyA9IHBpbmdDYWNoZS5nZXQodGhlbmFibGUpO1xcblxcbiAgICBpZiAodGhyZWFkSURzID09PSB1bmRlZmluZWQpIHtcXG4gICAgICB0aHJlYWRJRHMgPSBuZXcgU2V0KCk7XFxuICAgICAgcGluZ0NhY2hlLnNldCh0aGVuYWJsZSwgdGhyZWFkSURzKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKCF0aHJlYWRJRHMuaGFzKHJlbmRlckV4cGlyYXRpb25UaW1lKSkge1xcbiAgICAvLyBNZW1vaXplIHVzaW5nIHRoZSB0aHJlYWQgSUQgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxcbiAgICB0aHJlYWRJRHMuYWRkKHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG4gICAgdmFyIHBpbmcgPSBwaW5nU3VzcGVuZGVkUm9vdC5iaW5kKG51bGwsIHJvb3QsIHRoZW5hYmxlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XFxuICAgIHRoZW5hYmxlLnRoZW4ocGluZywgcGluZyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHRocm93RXhjZXB0aW9uKHJvb3QsIHJldHVybkZpYmVyLCBzb3VyY2VGaWJlciwgdmFsdWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUaGUgc291cmNlIGZpYmVyIGRpZCBub3QgY29tcGxldGUuXFxuICBzb3VyY2VGaWJlci5lZmZlY3RUYWcgfD0gSW5jb21wbGV0ZTsgLy8gSXRzIGVmZmVjdCBsaXN0IGlzIG5vIGxvbmdlciB2YWxpZC5cXG5cXG4gIHNvdXJjZUZpYmVyLmZpcnN0RWZmZWN0ID0gc291cmNlRmliZXIubGFzdEVmZmVjdCA9IG51bGw7XFxuXFxuICBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAvLyBUaGlzIGlzIGEgdGhlbmFibGUuXFxuICAgIHZhciB0aGVuYWJsZSA9IHZhbHVlO1xcblxcbiAgICBpZiAoKHNvdXJjZUZpYmVyLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcXG4gICAgICAvLyBSZXNldCB0aGUgbWVtb2l6ZWRTdGF0ZSB0byB3aGF0IGl0IHdhcyBiZWZvcmUgd2UgYXR0ZW1wdGVkXFxuICAgICAgLy8gdG8gcmVuZGVyIGl0LlxcbiAgICAgIHZhciBjdXJyZW50U291cmNlID0gc291cmNlRmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChjdXJyZW50U291cmNlKSB7XFxuICAgICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XFxuICAgICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gY3VycmVudFNvdXJjZS5tZW1vaXplZFN0YXRlO1xcbiAgICAgICAgc291cmNlRmliZXIuZXhwaXJhdGlvblRpbWUgPSBjdXJyZW50U291cmNlLmV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IG51bGw7XFxuICAgICAgICBzb3VyY2VGaWJlci5tZW1vaXplZFN0YXRlID0gbnVsbDtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGhhc0ludmlzaWJsZVBhcmVudEJvdW5kYXJ5ID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0KTsgLy8gU2NoZWR1bGUgdGhlIG5lYXJlc3QgU3VzcGVuc2UgdG8gcmUtcmVuZGVyIHRoZSB0aW1lZCBvdXQgdmlldy5cXG5cXG4gICAgdmFyIF93b3JrSW5Qcm9ncmVzcyA9IHJldHVybkZpYmVyO1xcblxcbiAgICBkbyB7XFxuICAgICAgaWYgKF93b3JrSW5Qcm9ncmVzcy50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50ICYmIHNob3VsZENhcHR1cmVTdXNwZW5zZShfd29ya0luUHJvZ3Jlc3MsIGhhc0ludmlzaWJsZVBhcmVudEJvdW5kYXJ5KSkge1xcbiAgICAgICAgLy8gRm91bmQgdGhlIG5lYXJlc3QgYm91bmRhcnkuXFxuICAgICAgICAvLyBTdGFzaCB0aGUgcHJvbWlzZSBvbiB0aGUgYm91bmRhcnkgZmliZXIuIElmIHRoZSBib3VuZGFyeSB0aW1lcyBvdXQsIHdlJ2xsXFxuICAgICAgICAvLyBhdHRhY2ggYW5vdGhlciBsaXN0ZW5lciB0byBmbGlwIHRoZSBib3VuZGFyeSBiYWNrIHRvIGl0cyBub3JtYWwgc3RhdGUuXFxuICAgICAgICB2YXIgdGhlbmFibGVzID0gX3dvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xcblxcbiAgICAgICAgaWYgKHRoZW5hYmxlcyA9PT0gbnVsbCkge1xcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XFxuICAgICAgICAgIHVwZGF0ZVF1ZXVlLmFkZCh0aGVuYWJsZSk7XFxuICAgICAgICAgIF93b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHVwZGF0ZVF1ZXVlO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgdGhlbmFibGVzLmFkZCh0aGVuYWJsZSk7XFxuICAgICAgICB9IC8vIElmIHRoZSBib3VuZGFyeSBpcyBvdXRzaWRlIG9mIGJsb2NraW5nIG1vZGUsIHdlIHNob3VsZCAqbm90KlxcbiAgICAgICAgLy8gc3VzcGVuZCB0aGUgY29tbWl0LiBQcmV0ZW5kIGFzIGlmIHRoZSBzdXNwZW5kZWQgY29tcG9uZW50IHJlbmRlcmVkXFxuICAgICAgICAvLyBudWxsIGFuZCBrZWVwIHJlbmRlcmluZy4gSW4gdGhlIGNvbW1pdCBwaGFzZSwgd2UnbGwgc2NoZWR1bGUgYVxcbiAgICAgICAgLy8gc3Vic2VxdWVudCBzeW5jaHJvbm91cyB1cGRhdGUgdG8gcmUtcmVuZGVyIHRoZSBTdXNwZW5zZS5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBOb3RlOiBJdCBkb2Vzbid0IG1hdHRlciB3aGV0aGVyIHRoZSBjb21wb25lbnQgdGhhdCBzdXNwZW5kZWQgd2FzXFxuICAgICAgICAvLyBpbnNpZGUgYSBibG9ja2luZyBtb2RlIHRyZWUuIElmIHRoZSBTdXNwZW5zZSBpcyBvdXRzaWRlIG9mIGl0LCB3ZVxcbiAgICAgICAgLy8gc2hvdWxkICpub3QqIHN1c3BlbmQgdGhlIGNvbW1pdC5cXG5cXG5cXG4gICAgICAgIGlmICgoX3dvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcXG4gICAgICAgICAgX3dvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlOyAvLyBXZSdyZSBnb2luZyB0byBjb21taXQgdGhpcyBmaWJlciBldmVuIHRob3VnaCBpdCBkaWRuJ3QgY29tcGxldGUuXFxuICAgICAgICAgIC8vIEJ1dCB3ZSBzaG91bGRuJ3QgY2FsbCBhbnkgbGlmZWN5Y2xlIG1ldGhvZHMgb3IgY2FsbGJhY2tzLiBSZW1vdmVcXG4gICAgICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cXG5cXG4gICAgICAgICAgc291cmNlRmliZXIuZWZmZWN0VGFnICY9IH4oTGlmZWN5Y2xlRWZmZWN0TWFzayB8IEluY29tcGxldGUpO1xcblxcbiAgICAgICAgICBpZiAoc291cmNlRmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICAgICAgICAgIHZhciBjdXJyZW50U291cmNlRmliZXIgPSBzb3VyY2VGaWJlci5hbHRlcm5hdGU7XFxuXFxuICAgICAgICAgICAgaWYgKGN1cnJlbnRTb3VyY2VGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIG5ldyBtb3VudC4gQ2hhbmdlIHRoZSB0YWcgc28gaXQncyBub3QgbWlzdGFrZW4gZm9yIGFcXG4gICAgICAgICAgICAgIC8vIGNvbXBsZXRlZCBjbGFzcyBjb21wb25lbnQuIEZvciBleGFtcGxlLCB3ZSBzaG91bGQgbm90IGNhbGxcXG4gICAgICAgICAgICAgIC8vIGNvbXBvbmVudFdpbGxVbm1vdW50IGlmIGl0IGlzIGRlbGV0ZWQuXFxuICAgICAgICAgICAgICBzb3VyY2VGaWJlci50YWcgPSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ7XFxuICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgIC8vIFdoZW4gd2UgdHJ5IHJlbmRlcmluZyBhZ2Fpbiwgd2Ugc2hvdWxkIG5vdCByZXVzZSB0aGUgY3VycmVudCBmaWJlcixcXG4gICAgICAgICAgICAgIC8vIHNpbmNlIGl0J3Mga25vd24gdG8gYmUgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBVc2UgYSBmb3JjZSB1cGRhdGUgdG9cXG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgYSBiYWlsIG91dC5cXG4gICAgICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoU3luYywgbnVsbCk7XFxuICAgICAgICAgICAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XFxuICAgICAgICAgICAgICBlbnF1ZXVlVXBkYXRlKHNvdXJjZUZpYmVyLCB1cGRhdGUpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfSAvLyBUaGUgc291cmNlIGZpYmVyIGRpZCBub3QgY29tcGxldGUuIE1hcmsgaXQgd2l0aCBTeW5jIHByaW9yaXR5IHRvXFxuICAgICAgICAgIC8vIGluZGljYXRlIHRoYXQgaXQgc3RpbGwgaGFzIHBlbmRpbmcgd29yay5cXG5cXG5cXG4gICAgICAgICAgc291cmNlRmliZXIuZXhwaXJhdGlvblRpbWUgPSBTeW5jOyAvLyBFeGl0IHdpdGhvdXQgc3VzcGVuZGluZy5cXG5cXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfSAvLyBDb25maXJtZWQgdGhhdCB0aGUgYm91bmRhcnkgaXMgaW4gYSBjb25jdXJyZW50IG1vZGUgdHJlZS4gQ29udGludWVcXG4gICAgICAgIC8vIHdpdGggdGhlIG5vcm1hbCBzdXNwZW5kIHBhdGguXFxuICAgICAgICAvL1xcbiAgICAgICAgLy8gQWZ0ZXIgdGhpcyB3ZSdsbCB1c2UgYSBzZXQgb2YgaGV1cmlzdGljcyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzXFxuICAgICAgICAvLyByZW5kZXIgcGFzcyB3aWxsIHJ1biB0byBjb21wbGV0aW9uIG9yIHJlc3RhcnQgb3IgXFxcInN1c3BlbmRcXFwiIHRoZSBjb21taXQuXFxuICAgICAgICAvLyBUaGUgYWN0dWFsIGxvZ2ljIGZvciB0aGlzIGlzIHNwcmVhZCBvdXQgaW4gZGlmZmVyZW50IHBsYWNlcy5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBUaGlzIGZpcnN0IHByaW5jaXBsZSBpcyB0aGF0IGlmIHdlJ3JlIGdvaW5nIHRvIHN1c3BlbmQgd2hlbiB3ZSBjb21wbGV0ZVxcbiAgICAgICAgLy8gYSByb290LCB0aGVuIHdlIHNob3VsZCBhbHNvIHJlc3RhcnQgaWYgd2UgZ2V0IGFuIHVwZGF0ZSBvciBwaW5nIHRoYXRcXG4gICAgICAgIC8vIG1pZ2h0IHVuc3VzcGVuZCBpdCwgYW5kIHZpY2UgdmVyc2EuIFRoZSBvbmx5IHJlYXNvbiB0byBzdXNwZW5kIGlzXFxuICAgICAgICAvLyBiZWNhdXNlIHlvdSB0aGluayB5b3UgbWlnaHQgd2FudCB0byByZXN0YXJ0IGJlZm9yZSBjb21taXR0aW5nLiBIb3dldmVyLFxcbiAgICAgICAgLy8gaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHJlc3RhcnQgb25seSB3aGlsZSBpbiB0aGUgcGVyaW9kIHdlJ3JlIHN1c3BlbmRlZC5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBSZXN0YXJ0aW5nIHRvbyBhZ2dyZXNzaXZlbHkgaXMgYWxzbyBub3QgZ29vZCBiZWNhdXNlIGl0IHN0YXJ2ZXMgb3V0IGFueVxcbiAgICAgICAgLy8gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFNvIHdlIHVzZSBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGVuLlxcbiAgICAgICAgLy8gU3VzcGVuc2UgSGV1cmlzdGljc1xcbiAgICAgICAgLy9cXG4gICAgICAgIC8vIElmIG5vdGhpbmcgdGhyZXcgYSBQcm9taXNlIG9yIGFsbCB0aGUgc2FtZSBmYWxsYmFja3MgYXJlIGFscmVhZHkgc2hvd2luZyxcXG4gICAgICAgIC8vIHRoZW4gZG9uJ3Qgc3VzcGVuZC9yZXN0YXJ0LlxcbiAgICAgICAgLy9cXG4gICAgICAgIC8vIElmIHRoaXMgaXMgYW4gaW5pdGlhbCByZW5kZXIgb2YgYSBuZXcgdHJlZSBvZiBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxcbiAgICAgICAgLy8gdGhvc2UgdHJpZ2dlciBhIGZhbGxiYWNrLCB0aGVuIGRvbid0IHN1c3BlbmQvcmVzdGFydC4gV2Ugd2FudCB0byBlbnN1cmVcXG4gICAgICAgIC8vIHRoYXQgd2UgY2FuIHNob3cgdGhlIGluaXRpYWwgbG9hZGluZyBzdGF0ZSBhcyBxdWlja2x5IGFzIHBvc3NpYmxlLlxcbiAgICAgICAgLy9cXG4gICAgICAgIC8vIElmIHdlIGhpdCBhIFxcXCJEZWxheWVkXFxcIiBjYXNlLCBzdWNoIGFzIHdoZW4gd2UnZCBzd2l0Y2ggZnJvbSBjb250ZW50IGJhY2sgaW50b1xcbiAgICAgICAgLy8gYSBmYWxsYmFjaywgdGhlbiB3ZSBzaG91bGQgYWx3YXlzIHN1c3BlbmQvcmVzdGFydC4gU3VzcGVuc2VDb25maWcgYXBwbGllcyB0b1xcbiAgICAgICAgLy8gdGhpcyBjYXNlLiBJZiBub25lIGlzIGRlZmluZWQsIEpORCBpcyB1c2VkIGluc3RlYWQuXFxuICAgICAgICAvL1xcbiAgICAgICAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXFxcInJldHJpZWRcXFwiLCBhbGxvd2luZyB1cyB0byBzaG93XFxuICAgICAgICAvLyBhbm90aGVyIGxldmVsLCBidXQgdGhlcmUncyBzdGlsbCBhbiBpbm5lciBib3VuZGFyeSB0aGF0IHdvdWxkIHNob3cgYSBmYWxsYmFjayxcXG4gICAgICAgIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXFxuICAgICAgICAvLyBhbnl3aGVyZSBpbiB0aGUgdHJlZS4gVGhpcyBlZmZlY3RpdmVseSB0aHJvdHRsZXMgcHJvZ3Jlc3NpdmUgbG9hZGluZyBpbnRvIGFcXG4gICAgICAgIC8vIGNvbnNpc3RlbnQgdHJhaW4gb2YgY29tbWl0cy4gVGhpcyBhbHNvIGdpdmVzIHVzIGFuIG9wcG9ydHVuaXR5IHRvIHJlc3RhcnQgdG9cXG4gICAgICAgIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXFxuICAgICAgICAvL1xcbiAgICAgICAgLy8gSWYgdGhlcmUncyBhbWJpZ3VpdHkgZHVlIHRvIGJhdGNoaW5nIGl0J3MgcmVzb2x2ZWQgaW4gcHJlZmVyZW5jZSBvZjpcXG4gICAgICAgIC8vIDEpIFxcXCJkZWxheWVkXFxcIiwgMikgXFxcImluaXRpYWwgcmVuZGVyXFxcIiwgMykgXFxcInJldHJ5XFxcIi5cXG4gICAgICAgIC8vXFxuICAgICAgICAvLyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IGEgXFxcImJ1c3lcXFwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xcbiAgICAgICAgLy8gZW5zdXJlIHRoYXQgbmV3IGluaXRpYWwgbG9hZGluZyBzdGF0ZXMgY2FuIGNvbW1pdCBhcyBzb29uIGFzIHBvc3NpYmxlLlxcblxcblxcbiAgICAgICAgYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHJlbmRlckV4cGlyYXRpb25UaW1lLCB0aGVuYWJsZSk7XFxuICAgICAgICBfd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFNob3VsZENhcHR1cmU7XFxuICAgICAgICBfd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9IC8vIFRoaXMgYm91bmRhcnkgYWxyZWFkeSBjYXB0dXJlZCBkdXJpbmcgdGhpcyByZW5kZXIuIENvbnRpbnVlIHRvIHRoZSBuZXh0XFxuICAgICAgLy8gYm91bmRhcnkuXFxuXFxuXFxuICAgICAgX3dvcmtJblByb2dyZXNzID0gX3dvcmtJblByb2dyZXNzLnJldHVybjtcXG4gICAgfSB3aGlsZSAoX3dvcmtJblByb2dyZXNzICE9PSBudWxsKTsgLy8gTm8gYm91bmRhcnkgd2FzIGZvdW5kLiBGYWxsdGhyb3VnaCB0byBlcnJvciBtb2RlLlxcbiAgICAvLyBUT0RPOiBVc2UgaW52YXJpYW50IHNvIHRoZSBtZXNzYWdlIGlzIHN0cmlwcGVkIGluIHByb2Q/XFxuXFxuXFxuICAgIHZhbHVlID0gbmV3IEVycm9yKChnZXRDb21wb25lbnROYW1lKHNvdXJjZUZpYmVyLnR5cGUpIHx8ICdBIFJlYWN0IGNvbXBvbmVudCcpICsgJyBzdXNwZW5kZWQgd2hpbGUgcmVuZGVyaW5nLCBidXQgbm8gZmFsbGJhY2sgVUkgd2FzIHNwZWNpZmllZC5cXFxcbicgKyAnXFxcXG4nICsgJ0FkZCBhIDxTdXNwZW5zZSBmYWxsYmFjaz0uLi4+IGNvbXBvbmVudCBoaWdoZXIgaW4gdGhlIHRyZWUgdG8gJyArICdwcm92aWRlIGEgbG9hZGluZyBpbmRpY2F0b3Igb3IgcGxhY2Vob2xkZXIgdG8gZGlzcGxheS4nICsgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKHNvdXJjZUZpYmVyKSk7XFxuICB9IC8vIFdlIGRpZG4ndCBmaW5kIGEgYm91bmRhcnkgdGhhdCBjb3VsZCBoYW5kbGUgdGhpcyB0eXBlIG9mIGV4Y2VwdGlvbi4gU3RhcnRcXG4gIC8vIG92ZXIgYW5kIHRyYXZlcnNlIHBhcmVudCBwYXRoIGFnYWluLCB0aGlzIHRpbWUgdHJlYXRpbmcgdGhlIGV4Y2VwdGlvblxcbiAgLy8gYXMgYW4gZXJyb3IuXFxuXFxuXFxuICByZW5kZXJEaWRFcnJvcigpO1xcbiAgdmFsdWUgPSBjcmVhdGVDYXB0dXJlZFZhbHVlKHZhbHVlLCBzb3VyY2VGaWJlcik7XFxuICB2YXIgd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcXG5cXG4gIGRvIHtcXG4gICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcXG4gICAgICBjYXNlIEhvc3RSb290OlxcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgX2Vycm9ySW5mbyA9IHZhbHVlO1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU2hvdWxkQ2FwdHVyZTtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG5cXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICAgICAgZW5xdWV1ZUNhcHR1cmVkVXBkYXRlKHdvcmtJblByb2dyZXNzLCBfdXBkYXRlKTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAvLyBDYXB0dXJlIGFuZCByZXRyeVxcbiAgICAgICAgdmFyIGVycm9ySW5mbyA9IHZhbHVlO1xcbiAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xcblxcbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSA9PT0gTm9FZmZlY3QgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU2hvdWxkQ2FwdHVyZTtcXG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTsgLy8gU2NoZWR1bGUgdGhlIGVycm9yIGJvdW5kYXJ5IHRvIHJlLXJlbmRlciB1c2luZyB1cGRhdGVkIHN0YXRlXFxuXFxuICAgICAgICAgIHZhciBfdXBkYXRlMiA9IGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIGVycm9ySW5mbywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF91cGRhdGUyKTtcXG4gICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgIH1cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XFxuICB9IHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCk7XFxufVxcblxcbnZhciBjZWlsID0gTWF0aC5jZWlsO1xcbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxcbiAgICBSZWFjdEN1cnJlbnRPd25lciQyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXIsXFxuICAgIElzU29tZVJlbmRlcmVyQWN0aW5nID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuSXNTb21lUmVuZGVyZXJBY3Rpbmc7XFxudmFyIE5vQ29udGV4dCA9XFxuLyogICAgICAgICAgICAgICAgICAgICovXFxuMDtcXG52YXIgQmF0Y2hlZENvbnRleHQgPVxcbi8qICAgICAgICAgICAgICAgKi9cXG4xO1xcbnZhciBFdmVudENvbnRleHQgPVxcbi8qICAgICAgICAgICAgICAgICAqL1xcbjI7XFxudmFyIERpc2NyZXRlRXZlbnRDb250ZXh0ID1cXG4vKiAgICAgICAgICovXFxuNDtcXG52YXIgTGVnYWN5VW5iYXRjaGVkQ29udGV4dCA9XFxuLyogICAgICAgKi9cXG44O1xcbnZhciBSZW5kZXJDb250ZXh0ID1cXG4vKiAgICAgICAgICAgICAgICAqL1xcbjE2O1xcbnZhciBDb21taXRDb250ZXh0ID1cXG4vKiAgICAgICAgICAgICAgICAqL1xcbjMyO1xcbnZhciBSb290SW5jb21wbGV0ZSA9IDA7XFxudmFyIFJvb3RGYXRhbEVycm9yZWQgPSAxO1xcbnZhciBSb290RXJyb3JlZCA9IDI7XFxudmFyIFJvb3RTdXNwZW5kZWQgPSAzO1xcbnZhciBSb290U3VzcGVuZGVkV2l0aERlbGF5ID0gNDtcXG52YXIgUm9vdENvbXBsZXRlZCA9IDU7XFxuLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXFxudmFyIGV4ZWN1dGlvbkNvbnRleHQgPSBOb0NvbnRleHQ7IC8vIFRoZSByb290IHdlJ3JlIHdvcmtpbmcgb25cXG5cXG52YXIgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDsgLy8gVGhlIGZpYmVyIHdlJ3JlIHdvcmtpbmcgb25cXG5cXG52YXIgd29ya0luUHJvZ3Jlc3MgPSBudWxsOyAvLyBUaGUgZXhwaXJhdGlvbiB0aW1lIHdlJ3JlIHJlbmRlcmluZ1xcblxcbnZhciByZW5kZXJFeHBpcmF0aW9uVGltZSQxID0gTm9Xb3JrOyAvLyBXaGV0aGVyIHRvIHJvb3QgY29tcGxldGVkLCBlcnJvcmVkLCBzdXNwZW5kZWQsIGV0Yy5cXG5cXG52YXIgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJbmNvbXBsZXRlOyAvLyBBIGZhdGFsIGVycm9yLCBpZiBvbmUgaXMgdGhyb3duXFxuXFxudmFyIHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3IgPSBudWxsOyAvLyBNb3N0IHJlY2VudCBldmVudCB0aW1lIGFtb25nIHByb2Nlc3NlZCB1cGRhdGVzIGR1cmluZyB0aGlzIHJlbmRlci5cXG4vLyBUaGlzIGlzIGNvbmNlcHR1YWxseSBhIHRpbWUgc3RhbXAgYnV0IGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiBhbiBFeHBpcmF0aW9uVGltZVxcbi8vIGJlY2F1c2Ugd2UgZGVhbCBtb3N0bHkgd2l0aCBleHBpcmF0aW9uIHRpbWVzIGluIHRoZSBob3QgcGF0aCwgc28gdGhpcyBhdm9pZHNcXG4vLyB0aGUgY29udmVyc2lvbiBoYXBwZW5pbmcgaW4gdGhlIGhvdCBwYXRoLlxcblxcbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IFN5bmM7XFxudmFyIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCA9IFN5bmM7XFxudmFyIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyA9IG51bGw7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxcbi8vIGluY2x1ZGVzIHVucHJvY2Vzc2VkIHVwZGF0ZXMsIG5vdCB3b3JrIGluIGJhaWxlZCBvdXQgY2hpbGRyZW4uXFxuXFxudmFyIHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUgPSBOb1dvcms7IC8vIElmIHdlJ3JlIHBpbmdlZCB3aGlsZSByZW5kZXJpbmcgd2UgZG9uJ3QgYWx3YXlzIHJlc3RhcnQgaW1tZWRpYXRlbHkuXFxuLy8gVGhpcyBmbGFnIGRldGVybWluZXMgaWYgaXQgbWlnaHQgYmUgd29ydGh3aGlsZSB0byByZXN0YXJ0IGlmIGFuIG9wcG9ydHVuaXR5XFxuLy8gaGFwcGVucyBsYXRlcmUuXFxuXFxudmFyIHdvcmtJblByb2dyZXNzUm9vdEhhc1BlbmRpbmdQaW5nID0gZmFsc2U7IC8vIFRoZSBtb3N0IHJlY2VudCB0aW1lIHdlIGNvbW1pdHRlZCBhIGZhbGxiYWNrLiBUaGlzIGxldHMgdXMgZW5zdXJlIGEgdHJhaW5cXG4vLyBtb2RlbCB3aGVyZSB3ZSBkb24ndCBjb21taXQgbmV3IGxvYWRpbmcgc3RhdGVzIGluIHRvbyBxdWljayBzdWNjZXNzaW9uLlxcblxcbnZhciBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lID0gMDtcXG52YXIgRkFMTEJBQ0tfVEhST1RUTEVfTVMgPSA1MDA7XFxudmFyIG5leHRFZmZlY3QgPSBudWxsO1xcbnZhciBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XFxudmFyIGZpcnN0VW5jYXVnaHRFcnJvciA9IG51bGw7XFxudmFyIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbnVsbDtcXG52YXIgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSBmYWxzZTtcXG52YXIgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xcbnZhciBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW5kZXJQcmlvcml0eSA9IE5vUHJpb3JpdHk7XFxudmFyIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0V4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbnZhciByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzID0gbnVsbDsgLy8gVXNlIHRoZXNlIHRvIHByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCBvZiBuZXN0ZWQgdXBkYXRlc1xcblxcbnZhciBORVNURURfVVBEQVRFX0xJTUlUID0gNTA7XFxudmFyIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcXG52YXIgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcXG52YXIgTkVTVEVEX1BBU1NJVkVfVVBEQVRFX0xJTUlUID0gNTA7XFxudmFyIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XFxudmFyIGludGVycnVwdGVkQnkgPSBudWxsOyAvLyBNYXJrcyB0aGUgbmVlZCB0byByZXNjaGVkdWxlIHBlbmRpbmcgaW50ZXJhY3Rpb25zIGF0IHRoZXNlIGV4cGlyYXRpb24gdGltZXNcXG4vLyBkdXJpbmcgdGhlIGNvbW1pdCBwaGFzZS4gVGhpcyBlbmFibGVzIHRoZW0gdG8gYmUgdHJhY2VkIGFjcm9zcyBjb21wb25lbnRzXFxuLy8gdGhhdCBzcGF3biBuZXcgd29yayBkdXJpbmcgcmVuZGVyLiBFLmcuIGhpZGRlbiBib3VuZGFyaWVzLCBzdXNwZW5kZWQgU1NSXFxuLy8gaHlkcmF0aW9uIG9yIFN1c3BlbnNlTGlzdC5cXG5cXG52YXIgc3Bhd25lZFdvcmtEdXJpbmdSZW5kZXIgPSBudWxsOyAvLyBFeHBpcmF0aW9uIHRpbWVzIGFyZSBjb21wdXRlZCBieSBhZGRpbmcgdG8gdGhlIGN1cnJlbnQgdGltZSAodGhlIHN0YXJ0XFxuLy8gdGltZSkuIEhvd2V2ZXIsIGlmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZVxcbi8vIHNob3VsZCB0cmVhdCB0aGVpciBzdGFydCB0aW1lcyBhcyBzaW11bHRhbmVvdXMsIGV2ZW4gaWYgdGhlIGFjdHVhbCBjbG9ja1xcbi8vIHRpbWUgaGFzIGFkdmFuY2VkIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBzZWNvbmQgY2FsbC5cXG4vLyBJbiBvdGhlciB3b3JkcywgYmVjYXVzZSBleHBpcmF0aW9uIHRpbWVzIGRldGVybWluZSBob3cgdXBkYXRlcyBhcmUgYmF0Y2hlZCxcXG4vLyB3ZSB3YW50IGFsbCB1cGRhdGVzIG9mIGxpa2UgcHJpb3JpdHkgdGhhdCBvY2N1ciB3aXRoaW4gdGhlIHNhbWUgZXZlbnQgdG9cXG4vLyByZWNlaXZlIHRoZSBzYW1lIGV4cGlyYXRpb24gdGltZS4gT3RoZXJ3aXNlIHdlIGdldCB0ZWFyaW5nLlxcblxcbnZhciBjdXJyZW50RXZlbnRUaW1lID0gTm9Xb3JrO1xcbmZ1bmN0aW9uIHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpIHtcXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcXG4gICAgLy8gV2UncmUgaW5zaWRlIFJlYWN0LCBzbyBpdCdzIGZpbmUgdG8gcmVhZCB0aGUgYWN0dWFsIHRpbWUuXFxuICAgIHJldHVybiBtc1RvRXhwaXJhdGlvblRpbWUobm93KCkpO1xcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXFxuXFxuXFxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9Xb3JrKSB7XFxuICAgIC8vIFVzZSB0aGUgc2FtZSBzdGFydCB0aW1lIGZvciBhbGwgdXBkYXRlcyB1bnRpbCB3ZSBlbnRlciBSZWFjdCBhZ2Fpbi5cXG4gICAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XFxuICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZSBzaW5jZSBSZWFjdCB5aWVsZGVkLiBDb21wdXRlIGEgbmV3IHN0YXJ0IHRpbWUuXFxuXFxuXFxuICBjdXJyZW50RXZlbnRUaW1lID0gbXNUb0V4cGlyYXRpb25UaW1lKG5vdygpKTtcXG4gIHJldHVybiBjdXJyZW50RXZlbnRUaW1lO1xcbn1cXG5mdW5jdGlvbiBnZXRDdXJyZW50VGltZSgpIHtcXG4gIHJldHVybiBtc1RvRXhwaXJhdGlvblRpbWUobm93KCkpO1xcbn1cXG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpIHtcXG4gIHZhciBtb2RlID0gZmliZXIubW9kZTtcXG5cXG4gIGlmICgobW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xcbiAgICByZXR1cm4gU3luYztcXG4gIH1cXG5cXG4gIHZhciBwcmlvcml0eUxldmVsID0gZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKTtcXG5cXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgIHJldHVybiBwcmlvcml0eUxldmVsID09PSBJbW1lZGlhdGVQcmlvcml0eSA/IFN5bmMgOiBCYXRjaGVkO1xcbiAgfVxcblxcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xcbiAgICAvLyBVc2Ugd2hhdGV2ZXIgdGltZSB3ZSdyZSBhbHJlYWR5IHJlbmRlcmluZ1xcbiAgICAvLyBUT0RPOiBTaG91bGQgdGhlcmUgYmUgYSB3YXkgdG8gb3B0IG91dCwgbGlrZSB3aXRoIGBydW5XaXRoUHJpb3JpdHlgP1xcbiAgICByZXR1cm4gcmVuZGVyRXhwaXJhdGlvblRpbWUkMTtcXG4gIH1cXG5cXG4gIHZhciBleHBpcmF0aW9uVGltZTtcXG5cXG4gIGlmIChzdXNwZW5zZUNvbmZpZyAhPT0gbnVsbCkge1xcbiAgICAvLyBDb21wdXRlIGFuIGV4cGlyYXRpb24gdGltZSBiYXNlZCBvbiB0aGUgU3VzcGVuc2UgdGltZW91dC5cXG4gICAgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlU3VzcGVuc2VFeHBpcmF0aW9uKGN1cnJlbnRUaW1lLCBzdXNwZW5zZUNvbmZpZy50aW1lb3V0TXMgfCAwIHx8IExPV19QUklPUklUWV9FWFBJUkFUSU9OKTtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIENvbXB1dGUgYW4gZXhwaXJhdGlvbiB0aW1lIGJhc2VkIG9uIHRoZSBTY2hlZHVsZXIgcHJpb3JpdHkuXFxuICAgIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xcbiAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XFxuICAgICAgICBleHBpcmF0aW9uVGltZSA9IFN5bmM7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5JDE6XFxuICAgICAgICAvLyBUT0RPOiBSZW5hbWUgdGhpcyB0byBjb21wdXRlVXNlckJsb2NraW5nRXhwaXJhdGlvblxcbiAgICAgICAgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlSW50ZXJhY3RpdmVFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XFxuICAgICAgY2FzZSBMb3dQcmlvcml0eTpcXG4gICAgICAgIC8vIFRPRE86IEhhbmRsZSBMb3dQcmlvcml0eVxcbiAgICAgICAgLy8gVE9ETzogUmVuYW1lIHRoaXMgdG8uLi4gc29tZXRoaW5nIGJldHRlci5cXG4gICAgICAgIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZUFzeW5jRXhwaXJhdGlvbihjdXJyZW50VGltZSk7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIElkbGVQcmlvcml0eTpcXG4gICAgICAgIGV4cGlyYXRpb25UaW1lID0gSWRsZTtcXG4gICAgICAgIGJyZWFrO1xcblxcbiAgICAgIGRlZmF1bHQ6XFxuICAgICAgICB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkV4cGVjdGVkIGEgdmFsaWQgcHJpb3JpdHkgbGV2ZWxcXFwiICk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG5cXG4gICAgfVxcbiAgfSAvLyBJZiB3ZSdyZSBpbiB0aGUgbWlkZGxlIG9mIHJlbmRlcmluZyBhIHRyZWUsIGRvIG5vdCB1cGRhdGUgYXQgdGhlIHNhbWVcXG4gIC8vIGV4cGlyYXRpb24gdGltZSB0aGF0IGlzIGFscmVhZHkgcmVuZGVyaW5nLlxcbiAgLy8gVE9ETzogV2Ugc2hvdWxkbid0IGhhdmUgdG8gZG8gdGhpcyBpZiB0aGUgdXBkYXRlIGlzIG9uIGEgZGlmZmVyZW50IHJvb3QuXFxuICAvLyBSZWZhY3RvciBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyICsgc2NoZWR1bGVVcGRhdGUgc28gd2UgaGF2ZSBhY2Nlc3MgdG9cXG4gIC8vIHRoZSByb290IHdoZW4gd2UgY2hlY2sgZm9yIHRoaXMgY29uZGl0aW9uLlxcblxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiBleHBpcmF0aW9uVGltZSA9PT0gcmVuZGVyRXhwaXJhdGlvblRpbWUkMSkge1xcbiAgICAvLyBUaGlzIGlzIGEgdHJpY2sgdG8gbW92ZSB0aGlzIHVwZGF0ZSBpbnRvIGEgc2VwYXJhdGUgYmF0Y2hcXG4gICAgZXhwaXJhdGlvblRpbWUgLT0gMTtcXG4gIH1cXG5cXG4gIHJldHVybiBleHBpcmF0aW9uVGltZTtcXG59XFxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGVPbkZpYmVyKGZpYmVyLCBleHBpcmF0aW9uVGltZSkge1xcbiAgY2hlY2tGb3JOZXN0ZWRVcGRhdGVzKCk7XFxuICB3YXJuQWJvdXRSZW5kZXJQaGFzZVVwZGF0ZXNJbkRFVihmaWJlcik7XFxuICB2YXIgcm9vdCA9IG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XFxuXFxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xcbiAgICB3YXJuQWJvdXRVcGRhdGVPblVubW91bnRlZEZpYmVySW5ERVYoZmliZXIpO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBjaGVja0ZvckludGVycnVwdGlvbihmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xcbiAgcmVjb3JkU2NoZWR1bGVVcGRhdGUoKTsgLy8gVE9ETzogY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlciBhbHNvIHJlYWRzIHRoZSBwcmlvcml0eS4gUGFzcyB0aGVcXG4gIC8vIHByaW9yaXR5IGFzIGFuIGFyZ3VtZW50IHRvIHRoYXQgZnVuY3Rpb24gYW5kIHRoaXMgb25lLlxcblxcbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xcblxcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XFxuICAgIGlmICggLy8gQ2hlY2sgaWYgd2UncmUgaW5zaWRlIHVuYmF0Y2hlZFVwZGF0ZXNcXG4gICAgKGV4ZWN1dGlvbkNvbnRleHQgJiBMZWdhY3lVbmJhdGNoZWRDb250ZXh0KSAhPT0gTm9Db250ZXh0ICYmIC8vIENoZWNrIGlmIHdlJ3JlIG5vdCBhbHJlYWR5IHJlbmRlcmluZ1xcbiAgICAoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpIHtcXG4gICAgICAvLyBSZWdpc3RlciBwZW5kaW5nIGludGVyYWN0aW9ucyBvbiB0aGUgcm9vdCB0byBhdm9pZCBsb3NpbmcgdHJhY2VkIGludGVyYWN0aW9uIGRhdGEuXFxuICAgICAgc2NoZWR1bGVQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKTsgLy8gVGhpcyBpcyBhIGxlZ2FjeSBlZGdlIGNhc2UuIFRoZSBpbml0aWFsIG1vdW50IG9mIGEgUmVhY3RET00ucmVuZGVyLWVkXFxuICAgICAgLy8gcm9vdCBpbnNpZGUgb2YgYmF0Y2hlZFVwZGF0ZXMgc2hvdWxkIGJlIHN5bmNocm9ub3VzLCBidXQgbGF5b3V0IHVwZGF0ZXNcXG4gICAgICAvLyBzaG91bGQgYmUgZGVmZXJyZWQgdW50aWwgdGhlIGVuZCBvZiB0aGUgYmF0Y2guXFxuXFxuICAgICAgcGVyZm9ybVN5bmNXb3JrT25Sb290KHJvb3QpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG4gICAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQpIHtcXG4gICAgICAgIC8vIEZsdXNoIHRoZSBzeW5jaHJvbm91cyB3b3JrIG5vdywgdW5sZXNzIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvciBpbnNpZGVcXG4gICAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcXG4gICAgICAgIC8vIHNjaGVkdWxlQ2FsbGJhY2tGb3JGaWJlciB0byBwcmVzZXJ2ZSB0aGUgYWJpbGl0eSB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXFxuICAgICAgICAvLyB3aXRob3V0IGltbWVkaWF0ZWx5IGZsdXNoaW5nIGl0LiBXZSBvbmx5IGRvIHRoaXMgZm9yIHVzZXItaW5pdGlhdGVkXFxuICAgICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxcbiAgICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgfVxcblxcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgRGlzY3JldGVFdmVudENvbnRleHQpICE9PSBOb0NvbnRleHQgJiYgKCAvLyBPbmx5IHVwZGF0ZXMgYXQgdXNlci1ibG9ja2luZyBwcmlvcml0eSBvciBncmVhdGVyIGFyZSBjb25zaWRlcmVkXFxuICAvLyBkaXNjcmV0ZSwgZXZlbiBpbnNpZGUgYSBkaXNjcmV0ZSBldmVudC5cXG4gIHByaW9yaXR5TGV2ZWwgPT09IFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEgfHwgcHJpb3JpdHlMZXZlbCA9PT0gSW1tZWRpYXRlUHJpb3JpdHkpKSB7XFxuICAgIC8vIFRoaXMgaXMgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIGV2ZW50LiBUcmFjayB0aGUgbG93ZXN0IHByaW9yaXR5XFxuICAgIC8vIGRpc2NyZXRlIHVwZGF0ZSBwZXIgcm9vdCBzbyB3ZSBjYW4gZmx1c2ggdGhlbSBlYXJseSwgaWYgbmVlZGVkLlxcbiAgICBpZiAocm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcyA9PT0gbnVsbCkge1xcbiAgICAgIHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMgPSBuZXcgTWFwKFtbcm9vdCwgZXhwaXJhdGlvblRpbWVdXSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgdmFyIGxhc3REaXNjcmV0ZVRpbWUgPSByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzLmdldChyb290KTtcXG5cXG4gICAgICBpZiAobGFzdERpc2NyZXRlVGltZSA9PT0gdW5kZWZpbmVkIHx8IGxhc3REaXNjcmV0ZVRpbWUgPiBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgcm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcy5zZXQocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG52YXIgc2NoZWR1bGVXb3JrID0gc2NoZWR1bGVVcGRhdGVPbkZpYmVyOyAvLyBUaGlzIGlzIHNwbGl0IGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiBzbyB3ZSBjYW4gbWFyayBhIGZpYmVyIHdpdGggcGVuZGluZ1xcbi8vIHdvcmsgd2l0aG91dCB0cmVhdGluZyBpdCBhcyBhIHR5cGljYWwgdXBkYXRlIHRoYXQgb3JpZ2luYXRlcyBmcm9tIGFuIGV2ZW50O1xcbi8vIGUuZy4gcmV0cnlpbmcgYSBTdXNwZW5zZSBib3VuZGFyeSBpc24ndCBhbiB1cGRhdGUsIGJ1dCBpdCBkb2VzIHNjaGVkdWxlIHdvcmtcXG4vLyBvbiBhIGZpYmVyLlxcblxcbmZ1bmN0aW9uIG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVXBkYXRlIHRoZSBzb3VyY2UgZmliZXIncyBleHBpcmF0aW9uIHRpbWVcXG4gIGlmIChmaWJlci5leHBpcmF0aW9uVGltZSA8IGV4cGlyYXRpb25UaW1lKSB7XFxuICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICB9XFxuXFxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPCBleHBpcmF0aW9uVGltZSkge1xcbiAgICBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIH0gLy8gV2FsayB0aGUgcGFyZW50IHBhdGggdG8gdGhlIHJvb3QgYW5kIHVwZGF0ZSB0aGUgY2hpbGQgZXhwaXJhdGlvbiB0aW1lLlxcblxcblxcbiAgdmFyIG5vZGUgPSBmaWJlci5yZXR1cm47XFxuICB2YXIgcm9vdCA9IG51bGw7XFxuXFxuICBpZiAobm9kZSA9PT0gbnVsbCAmJiBmaWJlci50YWcgPT09IEhvc3RSb290KSB7XFxuICAgIHJvb3QgPSBmaWJlci5zdGF0ZU5vZGU7XFxuICB9IGVsc2Uge1xcbiAgICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xcbiAgICAgIGFsdGVybmF0ZSA9IG5vZGUuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChub2RlLmNoaWxkRXhwaXJhdGlvblRpbWUgPCBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgbm9kZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuXFxuICAgICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lIDwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gICAgICAgIH1cXG4gICAgICB9IGVsc2UgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IGV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgJiYgbm9kZS50YWcgPT09IEhvc3RSb290KSB7XFxuICAgICAgICByb290ID0gbm9kZS5zdGF0ZU5vZGU7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuXFxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xcbiAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290KSB7XFxuICAgICAgLy8gUmVjZWl2ZWQgYW4gdXBkYXRlIHRvIGEgdHJlZSB0aGF0J3MgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcuIE1hcmtcXG4gICAgICAvLyB0aGF0J3MgdW5wcm9jZXNzZWQgd29yayBvbiB0aGlzIHJvb3QuXFxuICAgICAgbWFya1VucHJvY2Vzc2VkVXBkYXRlVGltZShleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkpIHtcXG4gICAgICAgIC8vIFRoZSByb290IGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgd2hpY2ggbWVhbnMgdGhpcyByZW5kZXJcXG4gICAgICAgIC8vIGRlZmluaXRlbHkgd29uJ3QgZmluaXNoLiBTaW5jZSB3ZSBoYXZlIGEgbmV3IHVwZGF0ZSwgbGV0J3MgbWFyayBpdCBhc1xcbiAgICAgICAgLy8gc3VzcGVuZGVkIG5vdywgcmlnaHQgYmVmb3JlIG1hcmtpbmcgdGhlIGluY29taW5nIHVwZGF0ZS4gVGhpcyBoYXMgdGhlXFxuICAgICAgICAvLyBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIHRoZSBjdXJyZW50IHJlbmRlciBhbmQgc3dpdGNoaW5nIHRvIHRoZSB1cGRhdGUuXFxuICAgICAgICAvLyBUT0RPOiBUaGlzIGhhcHBlbnMgdG8gd29yayB3aGVuIHJlY2VpdmluZyBhbiB1cGRhdGUgZHVyaW5nIHRoZSByZW5kZXJcXG4gICAgICAgIC8vIHBoYXNlLCBiZWNhdXNlIG9mIHRoZSB0cmljayBpbnNpZGUgY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlciB0b1xcbiAgICAgICAgLy8gc3VidHJhY3QgMSBmcm9tIGByZW5kZXJFeHBpcmF0aW9uVGltZWAgdG8gbW92ZSBpdCBpbnRvIGFcXG4gICAgICAgIC8vIHNlcGFyYXRlIGJ1Y2tldC4gQnV0IHdlIHNob3VsZCBwcm9iYWJseSBtb2RlbCBpdCB3aXRoIGFuIGV4Y2VwdGlvbixcXG4gICAgICAgIC8vIHVzaW5nIHRoZSBzYW1lIG1lY2hhbmlzbSB3ZSB1c2UgdG8gZm9yY2UgaHlkcmF0aW9uIG9mIGEgc3VidHJlZS5cXG4gICAgICAgIC8vIFRPRE86IFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgbG93IHByaSB1cGRhdGVzIHRoYXQgd2VyZSBhbHJlYWR5XFxuICAgICAgICAvLyBzY2hlZHVsZWQgYmVmb3JlIHRoZSByb290IHN0YXJ0ZWQgcmVuZGVyaW5nLiBOZWVkIHRvIHRyYWNrIHRoZSBuZXh0XFxuICAgICAgICAvLyBwZW5kaW5nIGV4cGlyYXRpb24gdGltZSAocGVyaGFwcyBieSBiYWNrdHJhY2tpbmcgdGhlIHJldHVybiBwYXRoKSBhbmRcXG4gICAgICAgIC8vIHRoZW4gdHJpZ2dlciBhIHJlc3RhcnQgaW4gdGhlIGByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlYCBwYXRoLlxcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICAgICAgfVxcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cXG5cXG5cXG4gICAgbWFya1Jvb3RVcGRhdGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIHJldHVybiByb290O1xcbn1cXG5cXG5mdW5jdGlvbiBnZXROZXh0Um9vdEV4cGlyYXRpb25UaW1lVG9Xb3JrT24ocm9vdCkge1xcbiAgLy8gRGV0ZXJtaW5lcyB0aGUgbmV4dCBleHBpcmF0aW9uIHRpbWUgdGhhdCB0aGUgcm9vdCBzaG91bGQgcmVuZGVyLCB0YWtpbmdcXG4gIC8vIGludG8gYWNjb3VudCBsZXZlbHMgdGhhdCBtYXkgYmUgc3VzcGVuZGVkLCBvciBsZXZlbHMgdGhhdCBtYXkgaGF2ZVxcbiAgLy8gcmVjZWl2ZWQgYSBwaW5nLlxcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xcblxcbiAgaWYgKGxhc3RFeHBpcmVkVGltZSAhPT0gTm9Xb3JrKSB7XFxuICAgIHJldHVybiBsYXN0RXhwaXJlZFRpbWU7XFxuICB9IC8vIFxcXCJQZW5kaW5nXFxcIiByZWZlcnMgdG8gYW55IHVwZGF0ZSB0aGF0IGhhc24ndCBjb21taXR0ZWQgeWV0LCBpbmNsdWRpbmcgaWYgaXRcXG4gIC8vIHN1c3BlbmRlZC4gVGhlIFxcXCJzdXNwZW5kZWRcXFwiIHJhbmdlIGlzIHRoZXJlZm9yZSBhIHN1YnNldC5cXG5cXG5cXG4gIHZhciBmaXJzdFBlbmRpbmdUaW1lID0gcm9vdC5maXJzdFBlbmRpbmdUaW1lO1xcblxcbiAgaWYgKCFpc1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZmlyc3RQZW5kaW5nVGltZSkpIHtcXG4gICAgLy8gVGhlIGhpZ2hlc3QgcHJpb3JpdHkgcGVuZGluZyB0aW1lIGlzIG5vdCBzdXNwZW5kZWQuIExldCdzIHdvcmsgb24gdGhhdC5cXG4gICAgcmV0dXJuIGZpcnN0UGVuZGluZ1RpbWU7XFxuICB9IC8vIElmIHRoZSBmaXJzdCBwZW5kaW5nIHRpbWUgaXMgc3VzcGVuZGVkLCBjaGVjayBpZiB0aGVyZSdzIGEgbG93ZXIgcHJpb3JpdHlcXG4gIC8vIHBlbmRpbmcgbGV2ZWwgdGhhdCB3ZSBrbm93IGFib3V0LiBPciBjaGVjayBpZiB3ZSByZWNlaXZlZCBhIHBpbmcuIFdvcmtcXG4gIC8vIG9uIHdoaWNoZXZlciBpcyBoaWdoZXIgcHJpb3JpdHkuXFxuXFxuXFxuICB2YXIgbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xcbiAgdmFyIG5leHRLbm93blBlbmRpbmdMZXZlbCA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsO1xcbiAgdmFyIG5leHRMZXZlbCA9IGxhc3RQaW5nZWRUaW1lID4gbmV4dEtub3duUGVuZGluZ0xldmVsID8gbGFzdFBpbmdlZFRpbWUgOiBuZXh0S25vd25QZW5kaW5nTGV2ZWw7XFxuXFxuICBpZiAoIG5leHRMZXZlbCA8PSBJZGxlICYmIGZpcnN0UGVuZGluZ1RpbWUgIT09IG5leHRMZXZlbCkge1xcbiAgICAvLyBEb24ndCB3b3JrIG9uIElkbGUvTmV2ZXIgcHJpb3JpdHkgdW5sZXNzIGV2ZXJ5dGhpbmcgZWxzZSBpcyBjb21taXR0ZWQuXFxuICAgIHJldHVybiBOb1dvcms7XFxuICB9XFxuXFxuICByZXR1cm4gbmV4dExldmVsO1xcbn0gLy8gVXNlIHRoaXMgZnVuY3Rpb24gdG8gc2NoZWR1bGUgYSB0YXNrIGZvciBhIHJvb3QuIFRoZXJlJ3Mgb25seSBvbmUgdGFzayBwZXJcXG4vLyByb290OyBpZiBhIHRhc2sgd2FzIGFscmVhZHkgc2NoZWR1bGVkLCB3ZSdsbCBjaGVjayB0byBtYWtlIHN1cmUgdGhlXFxuLy8gZXhwaXJhdGlvbiB0aW1lIG9mIHRoZSBleGlzdGluZyB0YXNrIGlzIHRoZSBzYW1lIGFzIHRoZSBleHBpcmF0aW9uIHRpbWUgb2ZcXG4vLyB0aGUgbmV4dCBsZXZlbCB0aGF0IHRoZSByb290IGhhcyB3b3JrIG9uLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBldmVyeVxcbi8vIHVwZGF0ZSwgYW5kIHJpZ2h0IGJlZm9yZSBleGl0aW5nIGEgdGFzay5cXG5cXG5cXG5mdW5jdGlvbiBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCkge1xcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xcblxcbiAgaWYgKGxhc3RFeHBpcmVkVGltZSAhPT0gTm9Xb3JrKSB7XFxuICAgIC8vIFNwZWNpYWwgY2FzZTogRXhwaXJlZCB3b3JrIHNob3VsZCBmbHVzaCBzeW5jaHJvbm91c2x5LlxcbiAgICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBTeW5jO1xcbiAgICByb290LmNhbGxiYWNrUHJpb3JpdHkgPSBJbW1lZGlhdGVQcmlvcml0eTtcXG4gICAgcm9vdC5jYWxsYmFja05vZGUgPSBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IGdldE5leHRSb290RXhwaXJhdGlvblRpbWVUb1dvcmtPbihyb290KTtcXG4gIHZhciBleGlzdGluZ0NhbGxiYWNrTm9kZSA9IHJvb3QuY2FsbGJhY2tOb2RlO1xcblxcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBOb1dvcmspIHtcXG4gICAgLy8gVGhlcmUncyBub3RoaW5nIHRvIHdvcmsgb24uXFxuICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gbnVsbCkge1xcbiAgICAgIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcXG4gICAgICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuICAgICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9Qcmlvcml0eTtcXG4gICAgfVxcblxcbiAgICByZXR1cm47XFxuICB9IC8vIFRPRE86IElmIHRoaXMgaXMgYW4gdXBkYXRlLCB3ZSBhbHJlYWR5IHJlYWQgdGhlIGN1cnJlbnQgdGltZS4gUGFzcyB0aGVcXG4gIC8vIHRpbWUgYXMgYW4gYXJndW1lbnQuXFxuXFxuXFxuICB2YXIgY3VycmVudFRpbWUgPSByZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKTtcXG4gIHZhciBwcmlvcml0eUxldmVsID0gaW5mZXJQcmlvcml0eUZyb21FeHBpcmF0aW9uVGltZShjdXJyZW50VGltZSwgZXhwaXJhdGlvblRpbWUpOyAvLyBJZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHJlbmRlciB0YXNrLCBjb25maXJtIGl0IGhhcyB0aGUgY29ycmVjdCBwcmlvcml0eSBhbmRcXG4gIC8vIGV4cGlyYXRpb24gdGltZS4gT3RoZXJ3aXNlLCB3ZSdsbCBjYW5jZWwgaXQgYW5kIHNjaGVkdWxlIGEgbmV3IG9uZS5cXG5cXG4gIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gbnVsbCkge1xcbiAgICB2YXIgZXhpc3RpbmdDYWxsYmFja1ByaW9yaXR5ID0gcm9vdC5jYWxsYmFja1ByaW9yaXR5O1xcbiAgICB2YXIgZXhpc3RpbmdDYWxsYmFja0V4cGlyYXRpb25UaW1lID0gcm9vdC5jYWxsYmFja0V4cGlyYXRpb25UaW1lO1xcblxcbiAgICBpZiAoIC8vIENhbGxiYWNrIG11c3QgaGF2ZSB0aGUgZXhhY3Qgc2FtZSBleHBpcmF0aW9uIHRpbWUuXFxuICAgIGV4aXN0aW5nQ2FsbGJhY2tFeHBpcmF0aW9uVGltZSA9PT0gZXhwaXJhdGlvblRpbWUgJiYgLy8gQ2FsbGJhY2sgbXVzdCBoYXZlIGdyZWF0ZXIgb3IgZXF1YWwgcHJpb3JpdHkuXFxuICAgIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA+PSBwcmlvcml0eUxldmVsKSB7XFxuICAgICAgLy8gRXhpc3RpbmcgY2FsbGJhY2sgaXMgc3VmZmljaWVudC5cXG4gICAgICByZXR1cm47XFxuICAgIH0gLy8gTmVlZCB0byBzY2hlZHVsZSBhIG5ldyB0YXNrLlxcbiAgICAvLyBUT0RPOiBJbnN0ZWFkIG9mIHNjaGVkdWxpbmcgYSBuZXcgdGFzaywgd2Ugc2hvdWxkIGJlIGFibGUgdG8gY2hhbmdlIHRoZVxcbiAgICAvLyBwcmlvcml0eSBvZiB0aGUgZXhpc3Rpbmcgb25lLlxcblxcblxcbiAgICBjYW5jZWxDYWxsYmFjayhleGlzdGluZ0NhbGxiYWNrTm9kZSk7XFxuICB9XFxuXFxuICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IHByaW9yaXR5TGV2ZWw7XFxuICB2YXIgY2FsbGJhY2tOb2RlO1xcblxcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XFxuICAgIC8vIFN5bmMgUmVhY3QgY2FsbGJhY2tzIGFyZSBzY2hlZHVsZWQgb24gYSBzcGVjaWFsIGludGVybmFsIHF1ZXVlXFxuICAgIGNhbGxiYWNrTm9kZSA9IHNjaGVkdWxlU3luY0NhbGxiYWNrKHBlcmZvcm1TeW5jV29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpKTtcXG4gIH0gZWxzZSB7XFxuICAgIGNhbGxiYWNrTm9kZSA9IHNjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290LmJpbmQobnVsbCwgcm9vdCksIC8vIENvbXB1dGUgYSB0YXNrIHRpbWVvdXQgYmFzZWQgb24gdGhlIGV4cGlyYXRpb24gdGltZS4gVGhpcyBhbHNvIGFmZmVjdHNcXG4gICAgLy8gb3JkZXJpbmcgYmVjYXVzZSB0YXNrcyBhcmUgcHJvY2Vzc2VkIGluIHRpbWVvdXQgb3JkZXIuXFxuICAgIHtcXG4gICAgICB0aW1lb3V0OiBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpIC0gbm93KClcXG4gICAgfSk7XFxuICB9XFxuXFxuICByb290LmNhbGxiYWNrTm9kZSA9IGNhbGxiYWNrTm9kZTtcXG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBldmVyeSBjb25jdXJyZW50IHRhc2ssIGkuZS4gYW55dGhpbmcgdGhhdFxcbi8vIGdvZXMgdGhyb3VnaCBTY2hlZHVsZXIuXFxuXFxuXFxuZnVuY3Rpb24gcGVyZm9ybUNvbmN1cnJlbnRXb3JrT25Sb290KHJvb3QsIGRpZFRpbWVvdXQpIHtcXG4gIC8vIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gYSBSZWFjdCBldmVudCwgd2UgY2FuIGNsZWFyIHRoZSBjdXJyZW50XFxuICAvLyBldmVudCB0aW1lLiBUaGUgbmV4dCB1cGRhdGUgd2lsbCBjb21wdXRlIGEgbmV3IGV2ZW50IHRpbWUuXFxuICBjdXJyZW50RXZlbnRUaW1lID0gTm9Xb3JrO1xcblxcbiAgaWYgKGRpZFRpbWVvdXQpIHtcXG4gICAgLy8gVGhlIHJlbmRlciB0YXNrIHRvb2sgdG9vIGxvbmcgdG8gY29tcGxldGUuIE1hcmsgdGhlIGN1cnJlbnQgdGltZSBhc1xcbiAgICAvLyBleHBpcmVkIHRvIHN5bmNocm9ub3VzbHkgcmVuZGVyIGFsbCBleHBpcmVkIHdvcmsgaW4gYSBzaW5nbGUgYmF0Y2guXFxuICAgIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xcbiAgICBtYXJrUm9vdEV4cGlyZWRBdFRpbWUocm9vdCwgY3VycmVudFRpbWUpOyAvLyBUaGlzIHdpbGwgc2NoZWR1bGUgYSBzeW5jaHJvbm91cyBjYWxsYmFjay5cXG5cXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gRGV0ZXJtaW5lIHRoZSBuZXh0IGV4cGlyYXRpb24gdGltZSB0byB3b3JrIG9uLCB1c2luZyB0aGUgZmllbGRzIHN0b3JlZFxcbiAgLy8gb24gdGhlIHJvb3QuXFxuXFxuXFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBnZXROZXh0Um9vdEV4cGlyYXRpb25UaW1lVG9Xb3JrT24ocm9vdCk7XFxuXFxuICBpZiAoZXhwaXJhdGlvblRpbWUgIT09IE5vV29yaykge1xcbiAgICB2YXIgb3JpZ2luYWxDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTtcXG5cXG4gICAgaWYgKCEoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSkge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuXFxcIiApO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIElmIHRoZSByb290IG9yIGV4cGlyYXRpb24gdGltZSBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcXG4gICAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cXG5cXG4gICAgaWYgKHJvb3QgIT09IHdvcmtJblByb2dyZXNzUm9vdCB8fCBleHBpcmF0aW9uVGltZSAhPT0gcmVuZGVyRXhwaXJhdGlvblRpbWUkMSkge1xcbiAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICBzdGFydFdvcmtPblBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICB9IC8vIElmIHdlIGhhdmUgYSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLCBpdCBtZWFucyB0aGVyZSdzIHN0aWxsIHdvcmsgdG8gZG9cXG4gICAgLy8gaW4gdGhpcyByb290LlxcblxcblxcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcXG4gICAgICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcXG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpO1xcbiAgICAgIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gcHVzaEludGVyYWN0aW9ucyhyb290KTtcXG4gICAgICBzdGFydFdvcmtMb29wVGltZXIod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgIGRvIHtcXG4gICAgICAgIHRyeSB7XFxuICAgICAgICAgIHdvcmtMb29wQ29uY3VycmVudCgpO1xcbiAgICAgICAgICBicmVhaztcXG4gICAgICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XFxuICAgICAgICAgIGhhbmRsZUVycm9yKHJvb3QsIHRocm93blZhbHVlKTtcXG4gICAgICAgIH1cXG4gICAgICB9IHdoaWxlICh0cnVlKTtcXG5cXG4gICAgICByZXNldENvbnRleHREZXBlbmRlbmNpZXMoKTtcXG4gICAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XFxuICAgICAgcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcik7XFxuXFxuICAgICAge1xcbiAgICAgICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEZhdGFsRXJyb3JlZCkge1xcbiAgICAgICAgdmFyIGZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xcbiAgICAgICAgc3RvcEludGVycnVwdGVkV29ya0xvb3BUaW1lcigpO1xcbiAgICAgICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICAgICAgdGhyb3cgZmF0YWxFcnJvcjtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XFxuICAgICAgICAvLyBUaGVyZSdzIHN0aWxsIHdvcmsgbGVmdCBvdmVyLiBFeGl0IHdpdGhvdXQgY29tbWl0dGluZy5cXG4gICAgICAgIHN0b3BJbnRlcnJ1cHRlZFdvcmtMb29wVGltZXIoKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIFRoZSBuZXh0IHN0ZXAgaXMgZWl0aGVyIHRvIGNvbW1pdCBpdCxcXG4gICAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXFxuICAgICAgICBzdG9wRmluaXNoZWRXb3JrTG9vcFRpbWVyKCk7XFxuICAgICAgICB2YXIgZmluaXNoZWRXb3JrID0gcm9vdC5maW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xcbiAgICAgICAgcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICAgICAgICBmaW5pc2hDb25jdXJyZW50UmVuZGVyKHJvb3QsIGZpbmlzaGVkV29yaywgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cywgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIH1cXG5cXG4gICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuXFxuICAgICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xcbiAgICAgICAgLy8gVGhlIHRhc2sgbm9kZSBzY2hlZHVsZWQgZm9yIHRoaXMgcm9vdCBpcyB0aGUgc2FtZSBvbmUgdGhhdCdzXFxuICAgICAgICAvLyBjdXJyZW50bHkgZXhlY3V0ZWQuIE5lZWQgdG8gcmV0dXJuIGEgY29udGludWF0aW9uLlxcbiAgICAgICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZmluaXNoZWRXb3JrLCBleGl0U3RhdHVzLCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cXG4gIHdvcmtJblByb2dyZXNzUm9vdCA9IG51bGw7XFxuXFxuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcXG4gICAgY2FzZSBSb290SW5jb21wbGV0ZTpcXG4gICAgY2FzZSBSb290RmF0YWxFcnJvcmVkOlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiUm9vdCBkaWQgbm90IGNvbXBsZXRlLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgLy8gRmxvdyBrbm93cyBhYm91dCBpbnZhcmlhbnQsIHNvIGl0IGNvbXBsYWlucyBpZiBJIGFkZCBhIGJyZWFrXFxuICAgIC8vIHN0YXRlbWVudCwgYnV0IGVzbGludCBkb2Vzbid0IGtub3cgYWJvdXQgaW52YXJpYW50LCBzbyBpdCBjb21wbGFpbnNcXG4gICAgLy8gaWYgSSBkby4gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXFxuXFxuICAgIGNhc2UgUm9vdEVycm9yZWQ6XFxuICAgICAge1xcbiAgICAgICAgLy8gSWYgdGhpcyB3YXMgYW4gYXN5bmMgcmVuZGVyLCB0aGUgZXJyb3IgbWF5IGhhdmUgaGFwcGVuZWQgZHVlIHRvXFxuICAgICAgICAvLyBhIG11dGF0aW9uIGluIGEgY29uY3VycmVudCBldmVudC4gVHJ5IHJlbmRlcmluZyBvbmUgbW9yZSB0aW1lLFxcbiAgICAgICAgLy8gc3luY2hyb25vdXNseSwgdG8gc2VlIGlmIHRoZSBlcnJvciBnb2VzIGF3YXkuIElmIHRoZXJlIGFyZVxcbiAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgdXBkYXRlcywgbGV0J3MgaW5jbHVkZSB0aG9zZSwgdG9vLCBpbiBjYXNlIHRoZXlcXG4gICAgICAgIC8vIGZpeCB0aGUgaW5jb25zaXN0ZW5jeS4gUmVuZGVyIGF0IElkbGUgdG8gaW5jbHVkZSBhbGwgdXBkYXRlcy5cXG4gICAgICAgIC8vIElmIGl0IHdhcyBJZGxlIG9yIE5ldmVyIG9yIHNvbWUgbm90LXlldC1pbnZlbnRlZCB0aW1lLCByZW5kZXJcXG4gICAgICAgIC8vIGF0IHRoYXQgdGltZS5cXG4gICAgICAgIG1hcmtSb290RXhwaXJlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSA+IElkbGUgPyBJZGxlIDogZXhwaXJhdGlvblRpbWUpOyAvLyBXZSBhc3N1bWUgdGhhdCB0aGlzIHNlY29uZCByZW5kZXIgcGFzcyB3aWxsIGJlIHN5bmNocm9ub3VzXFxuICAgICAgICAvLyBhbmQgdGhlcmVmb3JlIG5vdCBoaXQgdGhpcyBwYXRoIGFnYWluLlxcblxcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFJvb3RTdXNwZW5kZWQ6XFxuICAgICAge1xcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgdmFyIGxhc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZTtcXG5cXG4gICAgICAgIGlmIChleHBpcmF0aW9uVGltZSA9PT0gbGFzdFN1c3BlbmRlZFRpbWUpIHtcXG4gICAgICAgICAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBnZXRSZW1haW5pbmdFeHBpcmF0aW9uVGltZShmaW5pc2hlZFdvcmspO1xcbiAgICAgICAgfSAvLyBXZSBoYXZlIGFuIGFjY2VwdGFibGUgbG9hZGluZyBzdGF0ZS4gV2UgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHdlXFxuICAgICAgICAvLyBzaG91bGQgaW1tZWRpYXRlbHkgY29tbWl0IGl0IG9yIHdhaXQgYSBiaXQuXFxuICAgICAgICAvLyBJZiB3ZSBoYXZlIHByb2Nlc3NlZCBuZXcgdXBkYXRlcyBkdXJpbmcgdGhpcyByZW5kZXIsIHdlIG1heSBub3dcXG4gICAgICAgIC8vIGhhdmUgYSBuZXcgbG9hZGluZyBzdGF0ZSByZWFkeS4gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCB3ZSBjb21taXRcXG4gICAgICAgIC8vIHRoYXQgYXMgc29vbiBhcyBwb3NzaWJsZS5cXG5cXG5cXG4gICAgICAgIHZhciBoYXNOb3RQcm9jZXNzZWROZXdVcGRhdGVzID0gd29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0UHJvY2Vzc2VkRXhwaXJhdGlvblRpbWUgPT09IFN5bmM7XFxuXFxuICAgICAgICBpZiAoaGFzTm90UHJvY2Vzc2VkTmV3VXBkYXRlcyAmJiAvLyBkbyBub3QgZGVsYXkgaWYgd2UncmUgaW5zaWRlIGFuIGFjdCgpIHNjb3BlXFxuICAgICAgICAhKCBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50KSkge1xcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIG5vdCBwcm9jZXNzZWQgYW55IG5ldyB1cGRhdGVzIGR1cmluZyB0aGlzIHBhc3MsIHRoZW5cXG4gICAgICAgICAgLy8gdGhpcyBpcyBlaXRoZXIgYSByZXRyeSBvZiBhbiBleGlzdGluZyBmYWxsYmFjayBzdGF0ZSBvciBhXFxuICAgICAgICAgIC8vIGhpZGRlbiB0cmVlLiBIaWRkZW4gdHJlZXMgc2hvdWxkbid0IGJlIGJhdGNoZWQgd2l0aCBvdGhlciB3b3JrXFxuICAgICAgICAgIC8vIGFuZCBhZnRlciB0aGF0J3MgZml4ZWQgaXQgY2FuIG9ubHkgYmUgYSByZXRyeS4gV2UncmUgZ29pbmcgdG9cXG4gICAgICAgICAgLy8gdGhyb3R0bGUgY29tbWl0dGluZyByZXRyaWVzIHNvIHRoYXQgd2UgZG9uJ3Qgc2hvdyB0b28gbWFueVxcbiAgICAgICAgICAvLyBsb2FkaW5nIHN0YXRlcyB0b28gcXVpY2tseS5cXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxcblxcbiAgICAgICAgICBpZiAobXNVbnRpbFRpbWVvdXQgPiAxMCkge1xcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZykge1xcbiAgICAgICAgICAgICAgdmFyIGxhc3RQaW5nZWRUaW1lID0gcm9vdC5sYXN0UGluZ2VkVGltZTtcXG5cXG4gICAgICAgICAgICAgIGlmIChsYXN0UGluZ2VkVGltZSA9PT0gTm9Xb3JrIHx8IGxhc3RQaW5nZWRUaW1lID49IGV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICAgICAgICAgIC8vIFRoaXMgcmVuZGVyIHdhcyBwaW5nZWQgYnV0IHdlIGRpZG4ndCBnZXQgdG8gcmVzdGFydFxcbiAgICAgICAgICAgICAgICAvLyBlYXJsaWVyIHNvIHRyeSByZXN0YXJ0aW5nIG5vdyBpbnN0ZWFkLlxcbiAgICAgICAgICAgICAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICAgICAgICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIHZhciBuZXh0VGltZSA9IGdldE5leHRSb290RXhwaXJhdGlvblRpbWVUb1dvcmtPbihyb290KTtcXG5cXG4gICAgICAgICAgICBpZiAobmV4dFRpbWUgIT09IE5vV29yayAmJiBuZXh0VGltZSAhPT0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICAgIC8vIFRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdC5cXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICBpZiAobGFzdFN1c3BlbmRlZFRpbWUgIT09IE5vV29yayAmJiBsYXN0U3VzcGVuZGVkVGltZSAhPT0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBwcmVmZXIgdG8gcmVuZGVyIHRoZSBmYWxsYmFjayBvZiBhdCB0aGUgbGFzdFxcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcXG4gICAgICAgICAgICAgIC8vIHJlbmRlcmluZyBpdCBhZ2Fpbi5cXG4gICAgICAgICAgICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBsYXN0U3VzcGVuZGVkVGltZTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH0gLy8gVGhlIHJlbmRlciBpcyBzdXNwZW5kZWQsIGl0IGhhc24ndCB0aW1lZCBvdXQsIGFuZCB0aGVyZSdzIG5vXFxuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xcbiAgICAgICAgICAgIC8vIGltbWVkaWF0ZWx5LCB3YWl0IGZvciBtb3JlIGRhdGEgdG8gYXJyaXZlLlxcblxcblxcbiAgICAgICAgICAgIHJvb3QudGltZW91dEhhbmRsZSA9IHNjaGVkdWxlVGltZW91dChjb21taXRSb290LmJpbmQobnVsbCwgcm9vdCksIG1zVW50aWxUaW1lb3V0KTtcXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXFxuXFxuXFxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk6XFxuICAgICAge1xcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgdmFyIF9sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWU7XFxuXFxuICAgICAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IF9sYXN0U3VzcGVuZGVkVGltZSkge1xcbiAgICAgICAgICByb290Lm5leHRLbm93blBlbmRpbmdMZXZlbCA9IGdldFJlbWFpbmluZ0V4cGlyYXRpb25UaW1lKGZpbmlzaGVkV29yayk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAoIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcXG4gICAgICAgICEoIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQpKSB7XFxuICAgICAgICAgIC8vIFdlJ3JlIHN1c3BlbmRlZCBpbiBhIHN0YXRlIHRoYXQgc2hvdWxkIGJlIGF2b2lkZWQuIFdlJ2xsIHRyeSB0b1xcbiAgICAgICAgICAvLyBhdm9pZCBjb21taXR0aW5nIGl0IGZvciBhcyBsb25nIGFzIHRoZSB0aW1lb3V0cyBsZXQgdXMuXFxuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZykge1xcbiAgICAgICAgICAgIHZhciBfbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xcblxcbiAgICAgICAgICAgIGlmIChfbGFzdFBpbmdlZFRpbWUgPT09IE5vV29yayB8fCBfbGFzdFBpbmdlZFRpbWUgPj0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgICAgICAgIC8vIFRoaXMgcmVuZGVyIHdhcyBwaW5nZWQgYnV0IHdlIGRpZG4ndCBnZXQgdG8gcmVzdGFydCBlYXJsaWVyXFxuICAgICAgICAgICAgICAvLyBzbyB0cnkgcmVzdGFydGluZyBub3cgaW5zdGVhZC5cXG4gICAgICAgICAgICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gICAgICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB2YXIgX25leHRUaW1lID0gZ2V0TmV4dFJvb3RFeHBpcmF0aW9uVGltZVRvV29ya09uKHJvb3QpO1xcblxcbiAgICAgICAgICBpZiAoX25leHRUaW1lICE9PSBOb1dvcmsgJiYgX25leHRUaW1lICE9PSBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIC8vIFRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdC5cXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICBpZiAoX2xhc3RTdXNwZW5kZWRUaW1lICE9PSBOb1dvcmsgJiYgX2xhc3RTdXNwZW5kZWRUaW1lICE9PSBleHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgICAgIC8vIFdlIHNob3VsZCBwcmVmZXIgdG8gcmVuZGVyIHRoZSBmYWxsYmFjayBvZiBhdCB0aGUgbGFzdFxcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBsZXZlbC4gUGluZyB0aGUgbGFzdCBzdXNwZW5kZWQgbGV2ZWwgdG8gdHJ5XFxuICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxcbiAgICAgICAgICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBfbGFzdFN1c3BlbmRlZFRpbWU7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIF9tc1VudGlsVGltZW91dDtcXG5cXG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCAhPT0gU3luYykge1xcbiAgICAgICAgICAgIC8vIFdlIGhhdmUgcHJvY2Vzc2VkIGEgc3VzcGVuc2UgY29uZmlnIHdob3NlIGV4cGlyYXRpb24gdGltZSB3ZVxcbiAgICAgICAgICAgIC8vIGNhbiB1c2UgYXMgdGhlIHRpbWVvdXQuXFxuICAgICAgICAgICAgX21zVW50aWxUaW1lb3V0ID0gZXhwaXJhdGlvblRpbWVUb01zKHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCkgLSBub3coKTtcXG4gICAgICAgICAgfSBlbHNlIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xcbiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIG5vcm1hbGx5IGhhcHBlbiBiZWNhdXNlIG9ubHkgbmV3IHVwZGF0ZXNcXG4gICAgICAgICAgICAvLyBjYXVzZSBkZWxheWVkIHN0YXRlcywgc28gd2Ugc2hvdWxkIGhhdmUgcHJvY2Vzc2VkIHNvbWV0aGluZy5cXG4gICAgICAgICAgICAvLyBIb3dldmVyLCB0aGlzIGNvdWxkIGFsc28gaGFwcGVuIGluIGFuIG9mZnNjcmVlbiB0cmVlLlxcbiAgICAgICAgICAgIF9tc1VudGlsVGltZW91dCA9IDA7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHN1c3BlbnNlIGNvbmZpZywgd2UncmUgZ29pbmcgdG8gdXNlIGFcXG4gICAgICAgICAgICAvLyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIGhvdyBsb25nIHdlIGNhbiBzdXNwZW5kLlxcbiAgICAgICAgICAgIHZhciBldmVudFRpbWVNcyA9IGluZmVyVGltZUZyb21FeHBpcmF0aW9uVGltZSh3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSk7XFxuICAgICAgICAgICAgdmFyIGN1cnJlbnRUaW1lTXMgPSBub3coKTtcXG4gICAgICAgICAgICB2YXIgdGltZVVudGlsRXhwaXJhdGlvbk1zID0gZXhwaXJhdGlvblRpbWVUb01zKGV4cGlyYXRpb25UaW1lKSAtIGN1cnJlbnRUaW1lTXM7XFxuICAgICAgICAgICAgdmFyIHRpbWVFbGFwc2VkID0gY3VycmVudFRpbWVNcyAtIGV2ZW50VGltZU1zO1xcblxcbiAgICAgICAgICAgIGlmICh0aW1lRWxhcHNlZCA8IDApIHtcXG4gICAgICAgICAgICAgIC8vIFdlIGdldCB0aGlzIHdyb25nIHNvbWUgdGltZSBzaW5jZSB3ZSBlc3RpbWF0ZSB0aGUgdGltZS5cXG4gICAgICAgICAgICAgIHRpbWVFbGFwc2VkID0gMDtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgX21zVW50aWxUaW1lb3V0ID0gam5kKHRpbWVFbGFwc2VkKSAtIHRpbWVFbGFwc2VkOyAvLyBDbGFtcCB0aGUgdGltZW91dCB0byB0aGUgZXhwaXJhdGlvbiB0aW1lLiBUT0RPOiBPbmNlIHRoZVxcbiAgICAgICAgICAgIC8vIGV2ZW50IHRpbWUgaXMgZXhhY3QgaW5zdGVhZCBvZiBpbmZlcnJlZCBmcm9tIGV4cGlyYXRpb24gdGltZVxcbiAgICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdGhpcy5cXG5cXG4gICAgICAgICAgICBpZiAodGltZVVudGlsRXhwaXJhdGlvbk1zIDwgX21zVW50aWxUaW1lb3V0KSB7XFxuICAgICAgICAgICAgICBfbXNVbnRpbFRpbWVvdXQgPSB0aW1lVW50aWxFeHBpcmF0aW9uTXM7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxcblxcblxcbiAgICAgICAgICBpZiAoX21zVW50aWxUaW1lb3V0ID4gMTApIHtcXG4gICAgICAgICAgICAvLyBUaGUgcmVuZGVyIGlzIHN1c3BlbmRlZCwgaXQgaGFzbid0IHRpbWVkIG91dCwgYW5kIHRoZXJlJ3Mgbm9cXG4gICAgICAgICAgICAvLyBsb3dlciBwcmlvcml0eSB3b3JrIHRvIGRvLiBJbnN0ZWFkIG9mIGNvbW1pdHRpbmcgdGhlIGZhbGxiYWNrXFxuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXFxuICAgICAgICAgICAgcm9vdC50aW1lb3V0SGFuZGxlID0gc2NoZWR1bGVUaW1lb3V0KGNvbW1pdFJvb3QuYmluZChudWxsLCByb290KSwgX21zVW50aWxUaW1lb3V0KTtcXG4gICAgICAgICAgICBicmVhaztcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXFxuXFxuXFxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBjYXNlIFJvb3RDb21wbGV0ZWQ6XFxuICAgICAge1xcbiAgICAgICAgLy8gVGhlIHdvcmsgY29tcGxldGVkLiBSZWFkeSB0byBjb21taXQuXFxuICAgICAgICBpZiAoIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcXG4gICAgICAgICEoIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQpICYmIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lICE9PSBTeW5jICYmIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyAhPT0gbnVsbCkge1xcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGV4Y2VlZGVkIHRoZSBtaW5pbXVtIGxvYWRpbmcgZGVsYXksIHdoaWNoIHByb2JhYmx5XFxuICAgICAgICAgIC8vIG1lYW5zIHdlIGhhdmUgc2hvd24gYSBzcGlubmVyIGFscmVhZHksIHdlIG1pZ2h0IGhhdmUgdG8gc3VzcGVuZFxcbiAgICAgICAgICAvLyBhIGJpdCBsb25nZXIgdG8gZW5zdXJlIHRoYXQgdGhlIHNwaW5uZXIgaXMgc2hvd24gZm9yXFxuICAgICAgICAgIC8vIGVub3VnaCB0aW1lLlxcbiAgICAgICAgICB2YXIgX21zVW50aWxUaW1lb3V0MiA9IGNvbXB1dGVNc1VudGlsU3VzcGVuc2VMb2FkaW5nRGVsYXkod29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0UHJvY2Vzc2VkRXhwaXJhdGlvblRpbWUsIGV4cGlyYXRpb25UaW1lLCB3b3JrSW5Qcm9ncmVzc1Jvb3RDYW5TdXNwZW5kVXNpbmdDb25maWcpO1xcblxcbiAgICAgICAgICBpZiAoX21zVW50aWxUaW1lb3V0MiA+IDEwKSB7XFxuICAgICAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgICAgICAgIHJvb3QudGltZW91dEhhbmRsZSA9IHNjaGVkdWxlVGltZW91dChjb21taXRSb290LmJpbmQobnVsbCwgcm9vdCksIF9tc1VudGlsVGltZW91dDIpO1xcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xcbiAgICAgICAgYnJlYWs7XFxuICAgICAgfVxcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiVW5rbm93biByb290IGV4aXQgc3RhdHVzLlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gIH1cXG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBzeW5jaHJvbm91cyB0YXNrcyB0aGF0IGRvbid0IGdvXFxuLy8gdGhyb3VnaCBTY2hlZHVsZXJcXG5cXG5cXG5mdW5jdGlvbiBwZXJmb3JtU3luY1dvcmtPblJvb3Qocm9vdCkge1xcbiAgLy8gQ2hlY2sgaWYgdGhlcmUncyBleHBpcmVkIHdvcmsgb24gdGhpcyByb290LiBPdGhlcndpc2UsIHJlbmRlciBhdCBTeW5jLlxcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xcbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gbGFzdEV4cGlyZWRUaW1lICE9PSBOb1dvcmsgPyBsYXN0RXhwaXJlZFRpbWUgOiBTeW5jO1xcblxcbiAgaWYgKCEoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJTaG91bGQgbm90IGFscmVhZHkgYmUgd29ya2luZy5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTsgLy8gSWYgdGhlIHJvb3Qgb3IgZXhwaXJhdGlvbiB0aW1lIGhhdmUgY2hhbmdlZCwgdGhyb3cgb3V0IHRoZSBleGlzdGluZyBzdGFja1xcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cXG5cXG4gIGlmIChyb290ICE9PSB3b3JrSW5Qcm9ncmVzc1Jvb3QgfHwgZXhwaXJhdGlvblRpbWUgIT09IHJlbmRlckV4cGlyYXRpb25UaW1lJDEpIHtcXG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICBzdGFydFdvcmtPblBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgfSAvLyBJZiB3ZSBoYXZlIGEgd29yay1pbi1wcm9ncmVzcyBmaWJlciwgaXQgbWVhbnMgdGhlcmUncyBzdGlsbCB3b3JrIHRvIGRvXFxuICAvLyBpbiB0aGlzIHJvb3QuXFxuXFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcXG4gICAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcXG4gICAgZXhlY3V0aW9uQ29udGV4dCB8PSBSZW5kZXJDb250ZXh0O1xcbiAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpO1xcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IHB1c2hJbnRlcmFjdGlvbnMocm9vdCk7XFxuICAgIHN0YXJ0V29ya0xvb3BUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XFxuXFxuICAgIGRvIHtcXG4gICAgICB0cnkge1xcbiAgICAgICAgd29ya0xvb3BTeW5jKCk7XFxuICAgICAgICBicmVhaztcXG4gICAgICB9IGNhdGNoICh0aHJvd25WYWx1ZSkge1xcbiAgICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xcbiAgICAgIH1cXG4gICAgfSB3aGlsZSAodHJ1ZSk7XFxuXFxuICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XFxuICAgIHBvcERpc3BhdGNoZXIocHJldkRpc3BhdGNoZXIpO1xcblxcbiAgICB7XFxuICAgICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xcbiAgICB9XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XFxuICAgICAgdmFyIGZhdGFsRXJyb3IgPSB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yO1xcbiAgICAgIHN0b3BJbnRlcnJ1cHRlZFdvcmtMb29wVGltZXIoKTtcXG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBleHBpcmF0aW9uVGltZSk7XFxuICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG4gICAgICB0aHJvdyBmYXRhbEVycm9yO1xcbiAgICB9XFxuXFxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFRoaXMgaXMgYSBzeW5jIHJlbmRlciwgc28gd2Ugc2hvdWxkIGhhdmUgZmluaXNoZWQgdGhlIHdob2xlIHRyZWUuXFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkNhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH0gZWxzZSB7XFxuICAgICAgLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxcbiAgICAgIC8vIHdpbGwgY29tbWl0IGl0IGV2ZW4gaWYgc29tZXRoaW5nIHN1c3BlbmRlZC5cXG4gICAgICBzdG9wRmluaXNoZWRXb3JrTG9vcFRpbWVyKCk7XFxuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xcbiAgICAgIHJvb3QuZmluaXNoZWRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgICAgIGZpbmlzaFN5bmNSZW5kZXIocm9vdCk7XFxuICAgIH0gLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxcbiAgICAvLyBwZW5kaW5nIGxldmVsLlxcblxcblxcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZmluaXNoU3luY1JlbmRlcihyb290KSB7XFxuICAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoZXJlJ3Mgbm8gaW4tcHJvZ3Jlc3MgcmVuZGVyLlxcbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcXG4gIGNvbW1pdFJvb3Qocm9vdCk7XFxufVxcbmZ1bmN0aW9uIGZsdXNoRGlzY3JldGVVcGRhdGVzKCkge1xcbiAgLy8gVE9ETzogU2hvdWxkIGJlIGFibGUgdG8gZmx1c2ggaW5zaWRlIGJhdGNoZWRVcGRhdGVzLCBidXQgbm90IGluc2lkZSBgYWN0YC5cXG4gIC8vIEhvd2V2ZXIsIGBhY3RgIHVzZXMgYGJhdGNoZWRVcGRhdGVzYCwgc28gdGhlcmUncyBubyB3YXkgdG8gZGlzdGluZ3Vpc2hcXG4gIC8vIHRob3NlIHR3byBjYXNlcy4gTmVlZCB0byBmaXggdGhpcyBiZWZvcmUgZXhwb3NpbmcgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNcXG4gIC8vIGFzIGEgcHVibGljIEFQSS5cXG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChCYXRjaGVkQ29udGV4dCB8IFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xcbiAgICB7XFxuICAgICAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xcbiAgICAgICAgZXJyb3IoJ3Vuc3RhYmxlX2ZsdXNoRGlzY3JldGVVcGRhdGVzOiBDYW5ub3QgZmx1c2ggdXBkYXRlcyB3aGVuIFJlYWN0IGlzICcgKyAnYWxyZWFkeSByZW5kZXJpbmcuJyk7XFxuICAgICAgfVxcbiAgICB9IC8vIFdlJ3JlIGFscmVhZHkgcmVuZGVyaW5nLCBzbyB3ZSBjYW4ndCBzeW5jaHJvbm91c2x5IGZsdXNoIHBlbmRpbmcgd29yay5cXG4gICAgLy8gVGhpcyBpcyBwcm9iYWJseSBhIG5lc3RlZCBldmVudCBkaXNwYXRjaCB0cmlnZ2VyZWQgYnkgYSBsaWZlY3ljbGUvZWZmZWN0LFxcbiAgICAvLyBsaWtlIGBlbC5mb2N1cygpYC4gRXhpdC5cXG5cXG5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgZmx1c2hQZW5kaW5nRGlzY3JldGVVcGRhdGVzKCk7IC8vIElmIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIHNjaGVkdWxlZCBwYXNzaXZlIGVmZmVjdHMsIGZsdXNoIHRoZW0gbm93IHNvIHRoYXRcXG4gIC8vIHRoZXkgZmlyZSBiZWZvcmUgdGhlIG5leHQgc2VyaWFsIGV2ZW50LlxcblxcbiAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbn1cXG5mdW5jdGlvbiBzeW5jVXBkYXRlcyhmbiwgYSwgYiwgYykge1xcbiAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKEltbWVkaWF0ZVByaW9yaXR5LCBmbi5iaW5kKG51bGwsIGEsIGIsIGMpKTtcXG59XFxuXFxuZnVuY3Rpb24gZmx1c2hQZW5kaW5nRGlzY3JldGVVcGRhdGVzKCkge1xcbiAgaWYgKHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMgIT09IG51bGwpIHtcXG4gICAgLy8gRm9yIGVhY2ggcm9vdCB3aXRoIHBlbmRpbmcgZGlzY3JldGUgdXBkYXRlcywgc2NoZWR1bGUgYSBjYWxsYmFjayB0b1xcbiAgICAvLyBpbW1lZGlhdGVseSBmbHVzaCB0aGVtLlxcbiAgICB2YXIgcm9vdHMgPSByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzO1xcbiAgICByb290c1dpdGhQZW5kaW5nRGlzY3JldGVVcGRhdGVzID0gbnVsbDtcXG4gICAgcm9vdHMuZm9yRWFjaChmdW5jdGlvbiAoZXhwaXJhdGlvblRpbWUsIHJvb3QpIHtcXG4gICAgICBtYXJrUm9vdEV4cGlyZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG4gICAgfSk7IC8vIE5vdyBmbHVzaCB0aGUgaW1tZWRpYXRlIHF1ZXVlLlxcblxcbiAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzJDEoZm4sIGEpIHtcXG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xcblxcbiAgdHJ5IHtcXG4gICAgcmV0dXJuIGZuKGEpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xcblxcbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XFxuICAgICAgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaFxcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBiYXRjaGVkRXZlbnRVcGRhdGVzJDEoZm4sIGEpIHtcXG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IEV2ZW50Q29udGV4dDtcXG5cXG4gIHRyeSB7XFxuICAgIHJldHVybiBmbihhKTtcXG4gIH0gZmluYWxseSB7XFxuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcXG5cXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCkge1xcbiAgICAgIC8vIEZsdXNoIHRoZSBpbW1lZGlhdGUgY2FsbGJhY2tzIHRoYXQgd2VyZSBzY2hlZHVsZWQgZHVyaW5nIHRoaXMgYmF0Y2hcXG4gICAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gZGlzY3JldGVVcGRhdGVzJDEoZm4sIGEsIGIsIGMsIGQpIHtcXG4gIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IERpc2NyZXRlRXZlbnRDb250ZXh0O1xcblxcbiAgdHJ5IHtcXG4gICAgLy8gU2hvdWxkIHRoaXNcXG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEsIGZuLmJpbmQobnVsbCwgYSwgYiwgYywgZCkpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xcblxcbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XFxuICAgICAgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaFxcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiB1bmJhdGNoZWRVcGRhdGVzKGZuLCBhKSB7XFxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgZXhlY3V0aW9uQ29udGV4dCAmPSB+QmF0Y2hlZENvbnRleHQ7XFxuICBleGVjdXRpb25Db250ZXh0IHw9IExlZ2FjeVVuYmF0Y2hlZENvbnRleHQ7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gZm4oYSk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XFxuXFxuICAgIGlmIChleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQpIHtcXG4gICAgICAvLyBGbHVzaCB0aGUgaW1tZWRpYXRlIGNhbGxiYWNrcyB0aGF0IHdlcmUgc2NoZWR1bGVkIGR1cmluZyB0aGlzIGJhdGNoXFxuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIGZsdXNoU3luYyhmbiwgYSkge1xcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xcbiAgICB7XFxuICAgICAge1xcbiAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJmbHVzaFN5bmMgd2FzIGNhbGxlZCBmcm9tIGluc2lkZSBhIGxpZmVjeWNsZSBtZXRob2QuIEl0IGNhbm5vdCBiZSBjYWxsZWQgd2hlbiBSZWFjdCBpcyBhbHJlYWR5IHJlbmRlcmluZy5cXFwiICk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBCYXRjaGVkQ29udGV4dDtcXG5cXG4gIHRyeSB7XFxuICAgIHJldHVybiBydW5XaXRoUHJpb3JpdHkkMShJbW1lZGlhdGVQcmlvcml0eSwgZm4uYmluZChudWxsLCBhKSk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIEZsdXNoIHRoZSBpbW1lZGlhdGUgY2FsbGJhY2tzIHRoYXQgd2VyZSBzY2hlZHVsZWQgZHVyaW5nIHRoaXMgYmF0Y2guXFxuICAgIC8vIE5vdGUgdGhhdCB0aGlzIHdpbGwgaGFwcGVuIGV2ZW4gaWYgYmF0Y2hlZFVwZGF0ZXMgaXMgaGlnaGVyIHVwXFxuICAgIC8vIHRoZSBzdGFjay5cXG5cXG4gICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xcbiAgcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdmFyIHRpbWVvdXRIYW5kbGUgPSByb290LnRpbWVvdXRIYW5kbGU7XFxuXFxuICBpZiAodGltZW91dEhhbmRsZSAhPT0gbm9UaW1lb3V0KSB7XFxuICAgIC8vIFRoZSByb290IHByZXZpb3VzIHN1c3BlbmRlZCBhbmQgc2NoZWR1bGVkIGEgdGltZW91dCB0byBjb21taXQgYSBmYWxsYmFja1xcbiAgICAvLyBzdGF0ZS4gTm93IHRoYXQgd2UgaGF2ZSBhZGRpdGlvbmFsIHdvcmssIGNhbmNlbCB0aGUgdGltZW91dC5cXG4gICAgcm9vdC50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0OyAvLyAkRmxvd0ZpeE1lIENvbXBsYWlucyBub1RpbWVvdXQgaXMgbm90IGEgVGltZW91dElELCBkZXNwaXRlIHRoZSBjaGVjayBhYm92ZVxcblxcbiAgICBjYW5jZWxUaW1lb3V0KHRpbWVvdXRIYW5kbGUpO1xcbiAgfVxcblxcbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XFxuICAgIHZhciBpbnRlcnJ1cHRlZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5yZXR1cm47XFxuXFxuICAgIHdoaWxlIChpbnRlcnJ1cHRlZFdvcmsgIT09IG51bGwpIHtcXG4gICAgICB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoaW50ZXJydXB0ZWRXb3JrKTtcXG4gICAgICBpbnRlcnJ1cHRlZFdvcmsgPSBpbnRlcnJ1cHRlZFdvcmsucmV0dXJuO1xcbiAgICB9XFxuICB9XFxuXFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSByb290O1xcbiAgd29ya0luUHJvZ3Jlc3MgPSBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhyb290LmN1cnJlbnQsIG51bGwpO1xcbiAgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJbmNvbXBsZXRlO1xcbiAgd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvciA9IG51bGw7XFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IFN5bmM7XFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RTdXNwZW5zZVRpbWVvdXQgPSBTeW5jO1xcbiAgd29ya0luUHJvZ3Jlc3NSb290Q2FuU3VzcGVuZFVzaW5nQ29uZmlnID0gbnVsbDtcXG4gIHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUgPSBOb1dvcms7XFxuICB3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZyA9IGZhbHNlO1xcblxcbiAge1xcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IG51bGw7XFxuICB9XFxuXFxuICB7XFxuICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpIHtcXG4gIGRvIHtcXG4gICAgdHJ5IHtcXG4gICAgICAvLyBSZXNldCBtb2R1bGUtbGV2ZWwgc3RhdGUgdGhhdCB3YXMgc2V0IGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLlxcbiAgICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7XFxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcXG5cXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgPT09IG51bGwgfHwgd29ya0luUHJvZ3Jlc3MucmV0dXJuID09PSBudWxsKSB7XFxuICAgICAgICAvLyBFeHBlY3RlZCB0byBiZSB3b3JraW5nIG9uIGEgbm9uLXJvb3QgZmliZXIuIFRoaXMgaXMgYSBmYXRhbCBlcnJvclxcbiAgICAgICAgLy8gYmVjYXVzZSB0aGVyZSdzIG5vIGFuY2VzdG9yIHRoYXQgY2FuIGhhbmRsZSBpdDsgdGhlIHJvb3QgaXNcXG4gICAgICAgIC8vIHN1cHBvc2VkIHRvIGNhcHR1cmUgYWxsIGVycm9ycyB0aGF0IHdlcmVuJ3QgY2F1Z2h0IGJ5IGFuIGVycm9yXFxuICAgICAgICAvLyBib3VuZGFyeS5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RmF0YWxFcnJvcmVkO1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvciA9IHRocm93blZhbHVlOyAvLyBTZXQgYHdvcmtJblByb2dyZXNzYCB0byBudWxsLiBUaGlzIHJlcHJlc2VudHMgYWR2YW5jaW5nIHRvIHRoZSBuZXh0XFxuICAgICAgICAvLyBzaWJsaW5nLCBvciB0aGUgcGFyZW50IGlmIHRoZXJlIGFyZSBubyBzaWJsaW5ncy4gQnV0IHNpbmNlIHRoZSByb290XFxuICAgICAgICAvLyBoYXMgbm8gc2libGluZ3Mgbm9yIGEgcGFyZW50LCB3ZSBzZXQgaXQgdG8gbnVsbC4gVXN1YWxseSB0aGlzIGlzXFxuICAgICAgICAvLyBoYW5kbGVkIGJ5IGBjb21wbGV0ZVVuaXRPZldvcmtgIG9yIGB1bndpbmRXb3JrYCwgYnV0IHNpbmNlIHdlJ3JlXFxuICAgICAgICAvLyBpbnRlcm50aW9uYWxseSBub3QgY2FsbGluZyB0aG9zZSwgd2UgbmVlZCBzZXQgaXQgaGVyZS5cXG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIGNhbGxpbmcgYHVud2luZFdvcmtgIHRvIHBvcCB0aGUgY29udGV4dHMuXFxuXFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKGVuYWJsZVByb2ZpbGVyVGltZXIgJiYgd29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSB7XFxuICAgICAgICAvLyBSZWNvcmQgdGhlIHRpbWUgc3BlbnQgcmVuZGVyaW5nIGJlZm9yZSBhbiBlcnJvciB3YXMgdGhyb3duLiBUaGlzXFxuICAgICAgICAvLyBhdm9pZHMgaW5hY2N1cmF0ZSBQcm9maWxlciBkdXJhdGlvbnMgaW4gdGhlIGNhc2Ugb2YgYVxcbiAgICAgICAgLy8gc3VzcGVuZGVkIHJlbmRlci5cXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIHRydWUpO1xcbiAgICAgIH1cXG5cXG4gICAgICB0aHJvd0V4Y2VwdGlvbihyb290LCB3b3JrSW5Qcm9ncmVzcy5yZXR1cm4sIHdvcmtJblByb2dyZXNzLCB0aHJvd25WYWx1ZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MgPSBjb21wbGV0ZVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcXG4gICAgICAvLyBTb21ldGhpbmcgaW4gdGhlIHJldHVybiBwYXRoIGFsc28gdGhyZXcuXFxuICAgICAgdGhyb3duVmFsdWUgPSB5ZXRBbm90aGVyVGhyb3duVmFsdWU7XFxuICAgICAgY29udGludWU7XFxuICAgIH0gLy8gUmV0dXJuIHRvIHRoZSBub3JtYWwgd29yayBsb29wLlxcblxcblxcbiAgICByZXR1cm47XFxuICB9IHdoaWxlICh0cnVlKTtcXG59XFxuXFxuZnVuY3Rpb24gcHVzaERpc3BhdGNoZXIocm9vdCkge1xcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XFxuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcXG5cXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xcbiAgICAvLyBUaGUgUmVhY3QgaXNvbW9ycGhpYyBwYWNrYWdlIGRvZXMgbm90IGluY2x1ZGUgYSBkZWZhdWx0IGRpc3BhdGNoZXIuXFxuICAgIC8vIEluc3RlYWQgdGhlIGZpcnN0IHJlbmRlcmVyIHdpbGwgbGF6aWx5IGF0dGFjaCBvbmUsIGluIG9yZGVyIHRvIGdpdmVcXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXFxuICAgIHJldHVybiBDb250ZXh0T25seURpc3BhdGNoZXI7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHBvcERpc3BhdGNoZXIocHJldkRpc3BhdGNoZXIpIHtcXG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XFxufVxcblxcbmZ1bmN0aW9uIHB1c2hJbnRlcmFjdGlvbnMocm9vdCkge1xcbiAge1xcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDtcXG4gICAgdHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gcm9vdC5tZW1vaXplZEludGVyYWN0aW9ucztcXG4gICAgcmV0dXJuIHByZXZJbnRlcmFjdGlvbnM7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHBvcEludGVyYWN0aW9ucyhwcmV2SW50ZXJhY3Rpb25zKSB7XFxuICB7XFxuICAgIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG1hcmtDb21taXRUaW1lT2ZGYWxsYmFjaygpIHtcXG4gIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSBub3coKTtcXG59XFxuZnVuY3Rpb24gbWFya1JlbmRlckV2ZW50VGltZUFuZENvbmZpZyhleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpIHtcXG4gIGlmIChleHBpcmF0aW9uVGltZSA8IHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lICYmIGV4cGlyYXRpb25UaW1lID4gSWRsZSkge1xcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgfVxcblxcbiAgaWYgKHN1c3BlbnNlQ29uZmlnICE9PSBudWxsKSB7XFxuICAgIGlmIChleHBpcmF0aW9uVGltZSA8IHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFN1c3BlbnNlVGltZW91dCAmJiBleHBpcmF0aW9uVGltZSA+IElkbGUpIHtcXG4gICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RTdXNwZW5zZVRpbWVvdXQgPSBleHBpcmF0aW9uVGltZTsgLy8gTW9zdCBvZiB0aGUgdGltZSB3ZSBvbmx5IGhhdmUgb25lIGNvbmZpZyBhbmQgZ2V0dGluZyB3cm9uZyBpcyBub3QgYmFkLlxcblxcbiAgICAgIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyA9IHN1c3BlbnNlQ29uZmlnO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtVbnByb2Nlc3NlZFVwZGF0ZVRpbWUoZXhwaXJhdGlvblRpbWUpIHtcXG4gIGlmIChleHBpcmF0aW9uVGltZSA+IHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3NSb290TmV4dFVucHJvY2Vzc2VkVXBkYXRlVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kKCkge1xcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJbmNvbXBsZXRlKSB7XFxuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290U3VzcGVuZGVkO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCkge1xcbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJbmNvbXBsZXRlIHx8IHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RTdXNwZW5kZWQpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RTdXNwZW5kZWRXaXRoRGVsYXk7XFxuICB9IC8vIENoZWNrIGlmIHRoZXJlJ3MgYSBsb3dlciBwcmlvcml0eSB1cGRhdGUgc29tZXdoZXJlIGVsc2UgaW4gdGhlIHRyZWUuXFxuXFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290TmV4dFVucHJvY2Vzc2VkVXBkYXRlVGltZSAhPT0gTm9Xb3JrICYmIHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCkge1xcbiAgICAvLyBNYXJrIHRoZSBjdXJyZW50IHJlbmRlciBhcyBzdXNwZW5kZWQsIGFuZCB0aGVuIG1hcmsgdGhhdCB0aGVyZSdzIGFcXG4gICAgLy8gcGVuZGluZyB1cGRhdGUuXFxuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGltbWVkaWF0ZWx5IGludGVycnVwdCB0aGUgY3VycmVudCByZW5kZXIsIGluc3RlYWRcXG4gICAgLy8gb2Ygd2FpdGluZyB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxcbiAgICBtYXJrUm9vdFN1c3BlbmRlZEF0VGltZSh3b3JrSW5Qcm9ncmVzc1Jvb3QsIHJlbmRlckV4cGlyYXRpb25UaW1lJDEpO1xcbiAgICBtYXJrUm9vdFVwZGF0ZWRBdFRpbWUod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3ROZXh0VW5wcm9jZXNzZWRVcGRhdGVUaW1lKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gcmVuZGVyRGlkRXJyb3IoKSB7XFxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyAhPT0gUm9vdENvbXBsZXRlZCkge1xcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdEVycm9yZWQ7XFxuICB9XFxufSAvLyBDYWxsZWQgZHVyaW5nIHJlbmRlciB0byBkZXRlcm1pbmUgaWYgYW55dGhpbmcgaGFzIHN1c3BlbmRlZC5cXG4vLyBSZXR1cm5zIGZhbHNlIGlmIHdlJ3JlIG5vdCBzdXJlLlxcblxcbmZ1bmN0aW9uIHJlbmRlckhhc05vdFN1c3BlbmRlZFlldCgpIHtcXG4gIC8vIElmIHNvbWV0aGluZyBlcnJvcmVkIG9yIGNvbXBsZXRlZCwgd2UgY2FuJ3QgcmVhbGx5IGJlIHN1cmUsXFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXFxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluY29tcGxldGU7XFxufVxcblxcbmZ1bmN0aW9uIGluZmVyVGltZUZyb21FeHBpcmF0aW9uVGltZShleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gV2UgZG9uJ3Qga25vdyBleGFjdGx5IHdoZW4gdGhlIHVwZGF0ZSB3YXMgc2NoZWR1bGVkLCBidXQgd2UgY2FuIGluZmVyIGFuXFxuICAvLyBhcHByb3hpbWF0ZSBzdGFydCB0aW1lIGZyb20gdGhlIGV4cGlyYXRpb24gdGltZS5cXG4gIHZhciBlYXJsaWVzdEV4cGlyYXRpb25UaW1lTXMgPSBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGVhcmxpZXN0RXhwaXJhdGlvblRpbWVNcyAtIExPV19QUklPUklUWV9FWFBJUkFUSU9OO1xcbn1cXG5cXG5mdW5jdGlvbiBpbmZlclRpbWVGcm9tRXhwaXJhdGlvblRpbWVXaXRoU3VzcGVuc2VDb25maWcoZXhwaXJhdGlvblRpbWUsIHN1c3BlbnNlQ29uZmlnKSB7XFxuICAvLyBXZSBkb24ndCBrbm93IGV4YWN0bHkgd2hlbiB0aGUgdXBkYXRlIHdhcyBzY2hlZHVsZWQsIGJ1dCB3ZSBjYW4gaW5mZXIgYW5cXG4gIC8vIGFwcHJveGltYXRlIHN0YXJ0IHRpbWUgZnJvbSB0aGUgZXhwaXJhdGlvbiB0aW1lIGJ5IHN1YnRyYWN0aW5nIHRoZSB0aW1lb3V0XFxuICAvLyB0aGF0IHdhcyBhZGRlZCB0byB0aGUgZXZlbnQgdGltZS5cXG4gIHZhciBlYXJsaWVzdEV4cGlyYXRpb25UaW1lTXMgPSBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGVhcmxpZXN0RXhwaXJhdGlvblRpbWVNcyAtIChzdXNwZW5zZUNvbmZpZy50aW1lb3V0TXMgfCAwIHx8IExPV19QUklPUklUWV9FWFBJUkFUSU9OKTtcXG59IC8vIFRoZSB3b3JrIGxvb3AgaXMgYW4gZXh0cmVtZWx5IGhvdCBwYXRoLiBUZWxsIENsb3N1cmUgbm90IHRvIGlubGluZSBpdC5cXG5cXG4vKiogQG5vaW5saW5lICovXFxuXFxuXFxuZnVuY3Rpb24gd29ya0xvb3BTeW5jKCkge1xcbiAgLy8gQWxyZWFkeSB0aW1lZCBvdXQsIHNvIHBlcmZvcm0gd29yayB3aXRob3V0IGNoZWNraW5nIGlmIHdlIG5lZWQgdG8geWllbGQuXFxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBwZXJmb3JtVW5pdE9mV29yayh3b3JrSW5Qcm9ncmVzcyk7XFxuICB9XFxufVxcbi8qKiBAbm9pbmxpbmUgKi9cXG5cXG5cXG5mdW5jdGlvbiB3b3JrTG9vcENvbmN1cnJlbnQoKSB7XFxuICAvLyBQZXJmb3JtIHdvcmsgdW50aWwgU2NoZWR1bGVyIGFza3MgdXMgdG8geWllbGRcXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcGVyZm9ybVVuaXRPZldvcmsodW5pdE9mV29yaykge1xcbiAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxcbiAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcXG4gIC8vIG5lZWQgYW4gYWRkaXRpb25hbCBmaWVsZCBvbiB0aGUgd29yayBpbiBwcm9ncmVzcy5cXG4gIHZhciBjdXJyZW50ID0gdW5pdE9mV29yay5hbHRlcm5hdGU7XFxuICBzdGFydFdvcmtUaW1lcih1bml0T2ZXb3JrKTtcXG4gIHNldEN1cnJlbnRGaWJlcih1bml0T2ZXb3JrKTtcXG4gIHZhciBuZXh0O1xcblxcbiAgaWYgKCAodW5pdE9mV29yay5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcXG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xcbiAgICBuZXh0ID0gYmVnaW5Xb3JrJDEoY3VycmVudCwgdW5pdE9mV29yaywgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEodW5pdE9mV29yaywgdHJ1ZSk7XFxuICB9IGVsc2Uge1xcbiAgICBuZXh0ID0gYmVnaW5Xb3JrJDEoY3VycmVudCwgdW5pdE9mV29yaywgcmVuZGVyRXhwaXJhdGlvblRpbWUkMSk7XFxuICB9XFxuXFxuICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgdW5pdE9mV29yay5tZW1vaXplZFByb3BzID0gdW5pdE9mV29yay5wZW5kaW5nUHJvcHM7XFxuXFxuICBpZiAobmV4dCA9PT0gbnVsbCkge1xcbiAgICAvLyBJZiB0aGlzIGRvZXNuJ3Qgc3Bhd24gbmV3IHdvcmssIGNvbXBsZXRlIHRoZSBjdXJyZW50IHdvcmsuXFxuICAgIG5leHQgPSBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XFxuICB9XFxuXFxuICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSBudWxsO1xcbiAgcmV0dXJuIG5leHQ7XFxufVxcblxcbmZ1bmN0aW9uIGNvbXBsZXRlVW5pdE9mV29yayh1bml0T2ZXb3JrKSB7XFxuICAvLyBBdHRlbXB0IHRvIGNvbXBsZXRlIHRoZSBjdXJyZW50IHVuaXQgb2Ygd29yaywgdGhlbiBtb3ZlIHRvIHRoZSBuZXh0XFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXFxuICB3b3JrSW5Qcm9ncmVzcyA9IHVuaXRPZldvcms7XFxuXFxuICBkbyB7XFxuICAgIC8vIFRoZSBjdXJyZW50LCBmbHVzaGVkLCBzdGF0ZSBvZiB0aGlzIGZpYmVyIGlzIHRoZSBhbHRlcm5hdGUuIElkZWFsbHlcXG4gICAgLy8gbm90aGluZyBzaG91bGQgcmVseSBvbiB0aGlzLCBidXQgcmVseWluZyBvbiBpdCBoZXJlIG1lYW5zIHRoYXQgd2UgZG9uJ3RcXG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxcbiAgICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcXG4gICAgdmFyIHJldHVybkZpYmVyID0gd29ya0luUHJvZ3Jlc3MucmV0dXJuOyAvLyBDaGVjayBpZiB0aGUgd29yayBjb21wbGV0ZWQgb3IgaWYgc29tZXRoaW5nIHRocmV3LlxcblxcbiAgICBpZiAoKHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmIEluY29tcGxldGUpID09PSBOb0VmZmVjdCkge1xcbiAgICAgIHNldEN1cnJlbnRGaWJlcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XFxuXFxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSA9PT0gTm9Nb2RlKSB7XFxuICAgICAgICBuZXh0ID0gY29tcGxldGVXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgc3RhcnRQcm9maWxlclRpbWVyKHdvcmtJblByb2dyZXNzKTtcXG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lJDEpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cXG5cXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIGZhbHNlKTtcXG4gICAgICB9XFxuXFxuICAgICAgc3RvcFdvcmtUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XFxuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcXG4gICAgICByZXNldENoaWxkRXhwaXJhdGlvblRpbWUod29ya0luUHJvZ3Jlc3MpO1xcblxcbiAgICAgIGlmIChuZXh0ICE9PSBudWxsKSB7XFxuICAgICAgICAvLyBDb21wbGV0aW5nIHRoaXMgZmliZXIgc3Bhd25lZCBuZXcgd29yay4gV29yayBvbiB0aGF0IG5leHQuXFxuICAgICAgICByZXR1cm4gbmV4dDtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsICYmIC8vIERvIG5vdCBhcHBlbmQgZWZmZWN0cyB0byBwYXJlbnRzIGlmIGEgc2libGluZyBmYWlsZWQgdG8gY29tcGxldGVcXG4gICAgICAocmV0dXJuRmliZXIuZWZmZWN0VGFnICYgSW5jb21wbGV0ZSkgPT09IE5vRWZmZWN0KSB7XFxuICAgICAgICAvLyBBcHBlbmQgYWxsIHRoZSBlZmZlY3RzIG9mIHRoZSBzdWJ0cmVlIGFuZCB0aGlzIGZpYmVyIG9udG8gdGhlIGVmZmVjdFxcbiAgICAgICAgLy8gbGlzdCBvZiB0aGUgcGFyZW50LiBUaGUgY29tcGxldGlvbiBvcmRlciBvZiB0aGUgY2hpbGRyZW4gYWZmZWN0cyB0aGVcXG4gICAgICAgIC8vIHNpZGUtZWZmZWN0IG9yZGVyLlxcbiAgICAgICAgaWYgKHJldHVybkZpYmVyLmZpcnN0RWZmZWN0ID09PSBudWxsKSB7XFxuICAgICAgICAgIHJldHVybkZpYmVyLmZpcnN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3Q7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBpZiAocmV0dXJuRmliZXIubGFzdEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QubmV4dEVmZmVjdCA9IHdvcmtJblByb2dyZXNzLmZpcnN0RWZmZWN0O1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0O1xcbiAgICAgICAgfSAvLyBJZiB0aGlzIGZpYmVyIGhhZCBzaWRlLWVmZmVjdHMsIHdlIGFwcGVuZCBpdCBBRlRFUiB0aGUgY2hpbGRyZW4nc1xcbiAgICAgICAgLy8gc2lkZS1lZmZlY3RzLiBXZSBjYW4gcGVyZm9ybSBjZXJ0YWluIHNpZGUtZWZmZWN0cyBlYXJsaWVyIGlmIG5lZWRlZCxcXG4gICAgICAgIC8vIGJ5IGRvaW5nIG11bHRpcGxlIHBhc3NlcyBvdmVyIHRoZSBlZmZlY3QgbGlzdC4gV2UgZG9uJ3Qgd2FudCB0b1xcbiAgICAgICAgLy8gc2NoZWR1bGUgb3VyIG93biBzaWRlLWVmZmVjdCBvbiBvdXIgb3duIGxpc3QgYmVjYXVzZSBpZiBlbmQgdXBcXG4gICAgICAgIC8vIHJldXNpbmcgY2hpbGRyZW4gd2UnbGwgc2NoZWR1bGUgdGhpcyBlZmZlY3Qgb250byBpdHNlbGYgc2luY2Ugd2UncmVcXG4gICAgICAgIC8vIGF0IHRoZSBlbmQuXFxuXFxuXFxuICAgICAgICB2YXIgZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnOyAvLyBTa2lwIGJvdGggTm9Xb3JrIGFuZCBQZXJmb3JtZWRXb3JrIHRhZ3Mgd2hlbiBjcmVhdGluZyB0aGUgZWZmZWN0XFxuICAgICAgICAvLyBsaXN0LiBQZXJmb3JtZWRXb3JrIGVmZmVjdCBpcyByZWFkIGJ5IFJlYWN0IERldlRvb2xzIGJ1dCBzaG91bGRuJ3QgYmVcXG4gICAgICAgIC8vIGNvbW1pdHRlZC5cXG5cXG4gICAgICAgIGlmIChlZmZlY3RUYWcgPiBQZXJmb3JtZWRXb3JrKSB7XFxuICAgICAgICAgIGlmIChyZXR1cm5GaWJlci5sYXN0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdC5uZXh0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcztcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3M7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFRoaXMgZmliZXIgZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNlIHNvbWV0aGluZyB0aHJldy4gUG9wIHZhbHVlcyBvZmZcXG4gICAgICAvLyB0aGUgc3RhY2sgd2l0aG91dCBlbnRlcmluZyB0aGUgY29tcGxldGUgcGhhc2UuIElmIHRoaXMgaXMgYSBib3VuZGFyeSxcXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cXG4gICAgICB2YXIgX25leHQgPSB1bndpbmRXb3JrKHdvcmtJblByb2dyZXNzKTsgLy8gQmVjYXVzZSB0aGlzIGZpYmVyIGRpZCBub3QgY29tcGxldGUsIGRvbid0IHJlc2V0IGl0cyBleHBpcmF0aW9uIHRpbWUuXFxuXFxuXFxuICAgICAgaWYgKCAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XFxuICAgICAgICAvLyBSZWNvcmQgdGhlIHJlbmRlciBkdXJhdGlvbiBmb3IgdGhlIGZpYmVyIHRoYXQgZXJyb3JlZC5cXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cXG5cXG4gICAgICAgIHZhciBhY3R1YWxEdXJhdGlvbiA9IHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uO1xcbiAgICAgICAgdmFyIGNoaWxkID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XFxuXFxuICAgICAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICAgICAgYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XFxuICAgICAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gYWN0dWFsRHVyYXRpb247XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChfbmV4dCAhPT0gbnVsbCkge1xcbiAgICAgICAgLy8gSWYgY29tcGxldGluZyB0aGlzIHdvcmsgc3Bhd25lZCBuZXcgd29yaywgZG8gdGhhdCBuZXh0LiBXZSdsbCBjb21lXFxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXFxuICAgICAgICAvLyBTaW5jZSB3ZSdyZSByZXN0YXJ0aW5nLCByZW1vdmUgYW55dGhpbmcgdGhhdCBpcyBub3QgYSBob3N0IGVmZmVjdFxcbiAgICAgICAgLy8gZnJvbSB0aGUgZWZmZWN0IHRhZy5cXG4gICAgICAgIC8vIFRPRE86IFRoZSBuYW1lIHN0b3BGYWlsZWRXb3JrVGltZXIgaXMgbWlzbGVhZGluZyBiZWNhdXNlIFN1c3BlbnNlXFxuICAgICAgICAvLyBhbHNvIGNhcHR1cmVzIGFuZCByZXN0YXJ0cy5cXG4gICAgICAgIHN0b3BGYWlsZWRXb3JrVGltZXIod29ya0luUHJvZ3Jlc3MpO1xcbiAgICAgICAgX25leHQuZWZmZWN0VGFnICY9IEhvc3RFZmZlY3RNYXNrO1xcbiAgICAgICAgcmV0dXJuIF9uZXh0O1xcbiAgICAgIH1cXG5cXG4gICAgICBzdG9wV29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcXG5cXG4gICAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcXG4gICAgICAgIC8vIE1hcmsgdGhlIHBhcmVudCBmaWJlciBhcyBpbmNvbXBsZXRlIGFuZCBjbGVhciBpdHMgZWZmZWN0IGxpc3QuXFxuICAgICAgICByZXR1cm5GaWJlci5maXJzdEVmZmVjdCA9IHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBudWxsO1xcbiAgICAgICAgcmV0dXJuRmliZXIuZWZmZWN0VGFnIHw9IEluY29tcGxldGU7XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBzaWJsaW5nRmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5zaWJsaW5nO1xcblxcbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XFxuICAgICAgLy8gSWYgdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGRvIGluIHRoaXMgcmV0dXJuRmliZXIsIGRvIHRoYXQgbmV4dC5cXG4gICAgICByZXR1cm4gc2libGluZ0ZpYmVyO1xcbiAgICB9IC8vIE90aGVyd2lzZSwgcmV0dXJuIHRvIHRoZSBwYXJlbnRcXG5cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcXG4gIH0gd2hpbGUgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKTsgLy8gV2UndmUgcmVhY2hlZCB0aGUgcm9vdC5cXG5cXG5cXG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5jb21wbGV0ZSkge1xcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID0gUm9vdENvbXBsZXRlZDtcXG4gIH1cXG5cXG4gIHJldHVybiBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRSZW1haW5pbmdFeHBpcmF0aW9uVGltZShmaWJlcikge1xcbiAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gZmliZXIuZXhwaXJhdGlvblRpbWU7XFxuICB2YXIgY2hpbGRFeHBpcmF0aW9uVGltZSA9IGZpYmVyLmNoaWxkRXhwaXJhdGlvblRpbWU7XFxuICByZXR1cm4gdXBkYXRlRXhwaXJhdGlvblRpbWUgPiBjaGlsZEV4cGlyYXRpb25UaW1lID8gdXBkYXRlRXhwaXJhdGlvblRpbWUgOiBjaGlsZEV4cGlyYXRpb25UaW1lO1xcbn1cXG5cXG5mdW5jdGlvbiByZXNldENoaWxkRXhwaXJhdGlvblRpbWUoY29tcGxldGVkV29yaykge1xcbiAgaWYgKHJlbmRlckV4cGlyYXRpb25UaW1lJDEgIT09IE5ldmVyICYmIGNvbXBsZXRlZFdvcmsuY2hpbGRFeHBpcmF0aW9uVGltZSA9PT0gTmV2ZXIpIHtcXG4gICAgLy8gVGhlIGNoaWxkcmVuIG9mIHRoaXMgY29tcG9uZW50IGFyZSBoaWRkZW4uIERvbid0IGJ1YmJsZSB0aGVpclxcbiAgICAvLyBleHBpcmF0aW9uIHRpbWVzLlxcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yazsgLy8gQnViYmxlIHVwIHRoZSBlYXJsaWVzdCBleHBpcmF0aW9uIHRpbWUuXFxuXFxuICBpZiAoIChjb21wbGV0ZWRXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkgIT09IE5vTW9kZSkge1xcbiAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxcbiAgICAvLyBwcm9maWxlciBkdXJhdGlvbnMuXFxuICAgIHZhciBhY3R1YWxEdXJhdGlvbiA9IGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb247XFxuICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXFxuICAgIC8vIG9ubHkgYmUgdXBkYXRlZCBpZiB3b3JrIGlzIGRvbmUgb24gdGhlIGZpYmVyIChpLmUuIGl0IGRvZXNuJ3QgYmFpbG91dCkuXFxuICAgIC8vIFdoZW4gd29yayBpcyBkb25lLCBpdCBzaG91bGQgYnViYmxlIHRvIHRoZSBwYXJlbnQncyBhY3R1YWxEdXJhdGlvbi4gSWZcXG4gICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxcbiAgICAvLyB0aGlzIHZhbHVlIHdpbGwgcmVmbGVjdCB0aGUgYW1vdW50IG9mIHRpbWUgc3BlbnQgd29ya2luZyBvbiBhIHByZXZpb3VzXFxuICAgIC8vIHJlbmRlci4gSW4gdGhhdCBjYXNlIGl0IHNob3VsZCBub3QgYnViYmxlLiBXZSBkZXRlcm1pbmUgd2hldGhlciBpdCB3YXNcXG4gICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cXG5cXG4gICAgdmFyIHNob3VsZEJ1YmJsZUFjdHVhbER1cmF0aW9ucyA9IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlID09PSBudWxsIHx8IGNvbXBsZXRlZFdvcmsuY2hpbGQgIT09IGNvbXBsZXRlZFdvcmsuYWx0ZXJuYXRlLmNoaWxkO1xcbiAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xcblxcbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcXG4gICAgICB2YXIgY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA9IGNoaWxkLmV4cGlyYXRpb25UaW1lO1xcbiAgICAgIHZhciBjaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPSBjaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lO1xcblxcbiAgICAgIGlmIChjaGlsZFVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSkge1xcbiAgICAgICAgbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSA9IGNoaWxkVXBkYXRlRXhwaXJhdGlvblRpbWU7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChjaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPiBuZXdDaGlsZEV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gY2hpbGRDaGlsZEV4cGlyYXRpb25UaW1lO1xcbiAgICAgIH1cXG5cXG4gICAgICBpZiAoc2hvdWxkQnViYmxlQWN0dWFsRHVyYXRpb25zKSB7XFxuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcXG4gICAgICB9XFxuXFxuICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xcbiAgICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcXG4gICAgfVxcblxcbiAgICBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uID0gYWN0dWFsRHVyYXRpb247XFxuICAgIGNvbXBsZXRlZFdvcmsudHJlZUJhc2VEdXJhdGlvbiA9IHRyZWVCYXNlRHVyYXRpb247XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgX2NoaWxkID0gY29tcGxldGVkV29yay5jaGlsZDtcXG5cXG4gICAgd2hpbGUgKF9jaGlsZCAhPT0gbnVsbCkge1xcbiAgICAgIHZhciBfY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA9IF9jaGlsZC5leHBpcmF0aW9uVGltZTtcXG4gICAgICB2YXIgX2NoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZSA9IF9jaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lO1xcblxcbiAgICAgIGlmIChfY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA+IG5ld0NoaWxkRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAgIG5ld0NoaWxkRXhwaXJhdGlvblRpbWUgPSBfY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKF9jaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPiBuZXdDaGlsZEV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gX2NoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZTtcXG4gICAgICB9XFxuXFxuICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGNvbXBsZXRlZFdvcmsuY2hpbGRFeHBpcmF0aW9uVGltZSA9IG5ld0NoaWxkRXhwaXJhdGlvblRpbWU7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFJvb3Qocm9vdCkge1xcbiAgdmFyIHJlbmRlclByaW9yaXR5TGV2ZWwgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xcbiAgcnVuV2l0aFByaW9yaXR5JDEoSW1tZWRpYXRlUHJpb3JpdHksIGNvbW1pdFJvb3RJbXBsLmJpbmQobnVsbCwgcm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkpO1xcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdFJvb3RJbXBsKHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcXG4gIGRvIHtcXG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXFxuICAgIC8vIG1lYW5zIGBmbHVzaFBhc3NpdmVFZmZlY3RzYCB3aWxsIHNvbWV0aW1lcyByZXN1bHQgaW4gYWRkaXRpb25hbFxcbiAgICAvLyBwYXNzaXZlIGVmZmVjdHMuIFNvIHdlIG5lZWQgdG8ga2VlcCBmbHVzaGluZyBpbiBhIGxvb3AgdW50aWwgdGhlcmUgYXJlXFxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxcbiAgICAvLyBUT0RPOiBNaWdodCBiZSBiZXR0ZXIgaWYgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIGRpZCBub3QgYXV0b21hdGljYWxseVxcbiAgICAvLyBmbHVzaCBzeW5jaHJvbm91cyB3b3JrIGF0IHRoZSBlbmQsIHRvIGF2b2lkIGZhY3RvcmluZyBoYXphcmRzIGxpa2UgdGhpcy5cXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbiAgfSB3aGlsZSAocm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgIT09IG51bGwpO1xcblxcbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XFxuXFxuICBpZiAoISgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIGZpbmlzaGVkV29yayA9IHJvb3QuZmluaXNoZWRXb3JrO1xcbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lO1xcblxcbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIHJvb3QuZmluaXNoZWRXb3JrID0gbnVsbDtcXG4gIHJvb3QuZmluaXNoZWRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG5cXG4gIGlmICghKGZpbmlzaGVkV29yayAhPT0gcm9vdC5jdXJyZW50KSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJDYW5ub3QgY29tbWl0IHRoZSBzYW1lIHRyZWUgYXMgYmVmb3JlLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlxcXCIgKTtcXG4gICAgfVxcbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxcbiAgLy8gU28gd2UgY2FuIGNsZWFyIHRoZXNlIG5vdyB0byBhbGxvdyBhIG5ldyBjYWxsYmFjayB0byBiZSBzY2hlZHVsZWQuXFxuXFxuXFxuICByb290LmNhbGxiYWNrTm9kZSA9IG51bGw7XFxuICByb290LmNhbGxiYWNrRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuICByb290LmNhbGxiYWNrUHJpb3JpdHkgPSBOb1ByaW9yaXR5O1xcbiAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBOb1dvcms7XFxuICBzdGFydENvbW1pdFRpbWVyKCk7IC8vIFVwZGF0ZSB0aGUgZmlyc3QgYW5kIGxhc3QgcGVuZGluZyB0aW1lcyBvbiB0aGlzIHJvb3QuIFRoZSBuZXcgZmlyc3RcXG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxcblxcbiAgdmFyIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lQmVmb3JlQ29tbWl0ID0gZ2V0UmVtYWluaW5nRXhwaXJhdGlvblRpbWUoZmluaXNoZWRXb3JrKTtcXG4gIG1hcmtSb290RmluaXNoZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUsIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lQmVmb3JlQ29tbWl0KTtcXG5cXG4gIGlmIChyb290ID09PSB3b3JrSW5Qcm9ncmVzc1Jvb3QpIHtcXG4gICAgLy8gV2UgY2FuIHJlc2V0IHRoZXNlIG5vdyB0aGF0IHRoZXkgYXJlIGZpbmlzaGVkLlxcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IG51bGw7XFxuICAgIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPSBOb1dvcms7XFxuICB9IC8vIFRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIGxhc3Qgcm9vdCB3ZSB3b3JrZWQgb24gaXMgbm90IHRoZSBzYW1lIG9uZSB0aGF0XFxuICAvLyB3ZSdyZSBjb21taXR0aW5nIG5vdy4gVGhpcyBtb3N0IGNvbW1vbmx5IGhhcHBlbnMgd2hlbiBhIHN1c3BlbmRlZCByb290XFxuICAvLyB0aW1lcyBvdXQuXFxuICAvLyBHZXQgdGhlIGxpc3Qgb2YgZWZmZWN0cy5cXG5cXG5cXG4gIHZhciBmaXJzdEVmZmVjdDtcXG5cXG4gIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnID4gUGVyZm9ybWVkV29yaykge1xcbiAgICAvLyBBIGZpYmVyJ3MgZWZmZWN0IGxpc3QgY29uc2lzdHMgb25seSBvZiBpdHMgY2hpbGRyZW4sIG5vdCBpdHNlbGYuIFNvIGlmXFxuICAgIC8vIHRoZSByb290IGhhcyBhbiBlZmZlY3QsIHdlIG5lZWQgdG8gYWRkIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuIFRoZVxcbiAgICAvLyByZXN1bHRpbmcgbGlzdCBpcyB0aGUgc2V0IHRoYXQgd291bGQgYmVsb25nIHRvIHRoZSByb290J3MgcGFyZW50LCBpZiBpdFxcbiAgICAvLyBoYWQgb25lOyB0aGF0IGlzLCBhbGwgdGhlIGVmZmVjdHMgaW4gdGhlIHRyZWUgaW5jbHVkaW5nIHRoZSByb290LlxcbiAgICBpZiAoZmluaXNoZWRXb3JrLmxhc3RFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgICBmaW5pc2hlZFdvcmsubGFzdEVmZmVjdC5uZXh0RWZmZWN0ID0gZmluaXNoZWRXb3JrO1xcbiAgICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrLmZpcnN0RWZmZWN0O1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBUaGVyZSBpcyBubyBlZmZlY3Qgb24gdGhlIHJvb3QuXFxuICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrLmZpcnN0RWZmZWN0O1xcbiAgfVxcblxcbiAgaWYgKGZpcnN0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgIHZhciBwcmV2RXhlY3V0aW9uQ29udGV4dCA9IGV4ZWN1dGlvbkNvbnRleHQ7XFxuICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gQ29tbWl0Q29udGV4dDtcXG4gICAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBwdXNoSW50ZXJhY3Rpb25zKHJvb3QpOyAvLyBSZXNldCB0aGlzIHRvIG51bGwgYmVmb3JlIGNhbGxpbmcgbGlmZWN5Y2xlc1xcblxcbiAgICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSBudWxsOyAvLyBUaGUgY29tbWl0IHBoYXNlIGlzIGJyb2tlbiBpbnRvIHNldmVyYWwgc3ViLXBoYXNlcy4gV2UgZG8gYSBzZXBhcmF0ZSBwYXNzXFxuICAgIC8vIG9mIHRoZSBlZmZlY3QgbGlzdCBmb3IgZWFjaCBwaGFzZTogYWxsIG11dGF0aW9uIGVmZmVjdHMgY29tZSBiZWZvcmUgYWxsXFxuICAgIC8vIGxheW91dCBlZmZlY3RzLCBhbmQgc28gb24uXFxuICAgIC8vIFRoZSBmaXJzdCBwaGFzZSBhIFxcXCJiZWZvcmUgbXV0YXRpb25cXFwiIHBoYXNlLiBXZSB1c2UgdGhpcyBwaGFzZSB0byByZWFkIHRoZVxcbiAgICAvLyBzdGF0ZSBvZiB0aGUgaG9zdCB0cmVlIHJpZ2h0IGJlZm9yZSB3ZSBtdXRhdGUgaXQuIFRoaXMgaXMgd2hlcmVcXG4gICAgLy8gZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgaXMgY2FsbGVkLlxcblxcbiAgICBzdGFydENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCk7XFxuICAgIHByZXBhcmVGb3JDb21taXQocm9vdC5jb250YWluZXJJbmZvKTtcXG4gICAgbmV4dEVmZmVjdCA9IGZpcnN0RWZmZWN0O1xcblxcbiAgICBkbyB7XFxuICAgICAge1xcbiAgICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0cywgbnVsbCk7XFxuXFxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xcbiAgICAgICAgICBpZiAoIShuZXh0RWZmZWN0ICE9PSBudWxsKSkge1xcbiAgICAgICAgICAgIHtcXG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiU2hvdWxkIGJlIHdvcmtpbmcgb24gYW4gZWZmZWN0LlxcXCIgKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihuZXh0RWZmZWN0LCBlcnJvcik7XFxuICAgICAgICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKTtcXG5cXG4gICAgc3RvcENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCk7XFxuXFxuICAgIHtcXG4gICAgICAvLyBNYXJrIHRoZSBjdXJyZW50IGNvbW1pdCB0aW1lIHRvIGJlIHNoYXJlZCBieSBhbGwgUHJvZmlsZXJzIGluIHRoaXNcXG4gICAgICAvLyBiYXRjaC4gVGhpcyBlbmFibGVzIHRoZW0gdG8gYmUgZ3JvdXBlZCBsYXRlci5cXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XFxuICAgIH0gLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIG11dGF0aW9uIHBoYXNlLCB3aGVyZSB3ZSBtdXRhdGUgdGhlIGhvc3QgdHJlZS5cXG5cXG5cXG4gICAgc3RhcnRDb21taXRIb3N0RWZmZWN0c1RpbWVyKCk7XFxuICAgIG5leHRFZmZlY3QgPSBmaXJzdEVmZmVjdDtcXG5cXG4gICAgZG8ge1xcbiAgICAgIHtcXG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBjb21taXRNdXRhdGlvbkVmZmVjdHMsIG51bGwsIHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xcblxcbiAgICAgICAgaWYgKGhhc0NhdWdodEVycm9yKCkpIHtcXG4gICAgICAgICAgaWYgKCEobmV4dEVmZmVjdCAhPT0gbnVsbCkpIHtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBiZSB3b3JraW5nIG9uIGFuIGVmZmVjdC5cXFwiICk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBfZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XFxuXFxuICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKG5leHRFZmZlY3QsIF9lcnJvcik7XFxuICAgICAgICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKTtcXG5cXG4gICAgc3RvcENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcXG4gICAgcmVzZXRBZnRlckNvbW1pdChyb290LmNvbnRhaW5lckluZm8pOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyB0cmVlIGlzIG5vdyB0aGUgY3VycmVudCB0cmVlLiBUaGlzIG11c3QgY29tZSBhZnRlclxcbiAgICAvLyB0aGUgbXV0YXRpb24gcGhhc2UsIHNvIHRoYXQgdGhlIHByZXZpb3VzIHRyZWUgaXMgc3RpbGwgY3VycmVudCBkdXJpbmdcXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcXG4gICAgLy8gd29yayBpcyBjdXJyZW50IGR1cmluZyBjb21wb25lbnREaWRNb3VudC9VcGRhdGUuXFxuXFxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxcbiAgICAvLyB0aGUgaG9zdCB0cmVlIGFmdGVyIGl0J3MgYmVlbiBtdXRhdGVkLiBUaGUgaWRpb21hdGljIHVzZSBjYXNlIGZvciB0aGlzIGlzXFxuICAgIC8vIGxheW91dCwgYnV0IGNsYXNzIGNvbXBvbmVudCBsaWZlY3ljbGVzIGFsc28gZmlyZSBoZXJlIGZvciBsZWdhY3kgcmVhc29ucy5cXG5cXG4gICAgc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKTtcXG4gICAgbmV4dEVmZmVjdCA9IGZpcnN0RWZmZWN0O1xcblxcbiAgICBkbyB7XFxuICAgICAge1xcbiAgICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNvbW1pdExheW91dEVmZmVjdHMsIG51bGwsIHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XFxuICAgICAgICAgIGlmICghKG5leHRFZmZlY3QgIT09IG51bGwpKSB7XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJTaG91bGQgYmUgd29ya2luZyBvbiBhbiBlZmZlY3QuXFxcIiApO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB2YXIgX2Vycm9yMiA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTtcXG5cXG4gICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IobmV4dEVmZmVjdCwgX2Vycm9yMik7XFxuICAgICAgICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKTtcXG5cXG4gICAgc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xcbiAgICBuZXh0RWZmZWN0ID0gbnVsbDsgLy8gVGVsbCBTY2hlZHVsZXIgdG8geWllbGQgYXQgdGhlIGVuZCBvZiB0aGUgZnJhbWUsIHNvIHRoZSBicm93c2VyIGhhcyBhblxcbiAgICAvLyBvcHBvcnR1bml0eSB0byBwYWludC5cXG5cXG4gICAgcmVxdWVzdFBhaW50KCk7XFxuXFxuICAgIHtcXG4gICAgICBwb3BJbnRlcmFjdGlvbnMocHJldkludGVyYWN0aW9ucyk7XFxuICAgIH1cXG5cXG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gTm8gZWZmZWN0cy5cXG4gICAgcm9vdC5jdXJyZW50ID0gZmluaXNoZWRXb3JrOyAvLyBNZWFzdXJlIHRoZXNlIGFueXdheSBzbyB0aGUgZmxhbWVncmFwaCBleHBsaWNpdGx5IHNob3dzIHRoYXQgdGhlcmUgd2VyZVxcbiAgICAvLyBubyBlZmZlY3RzLlxcbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cXG5cXG4gICAgc3RhcnRDb21taXRTbmFwc2hvdEVmZmVjdHNUaW1lcigpO1xcbiAgICBzdG9wQ29tbWl0U25hcHNob3RFZmZlY3RzVGltZXIoKTtcXG5cXG4gICAge1xcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcXG4gICAgfVxcblxcbiAgICBzdGFydENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcXG4gICAgc3RvcENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcXG4gICAgc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKTtcXG4gICAgc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xcbiAgfVxcblxcbiAgc3RvcENvbW1pdFRpbWVyKCk7XFxuICB2YXIgcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cyA9IHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzO1xcblxcbiAgaWYgKHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XFxuICAgIC8vIFRoaXMgY29tbWl0IGhhcyBwYXNzaXZlIGVmZmVjdHMuIFN0YXNoIGEgcmVmZXJlbmNlIHRvIHRoZW0uIEJ1dCBkb24ndFxcbiAgICAvLyBzY2hlZHVsZSBhIGNhbGxiYWNrIHVudGlsIGFmdGVyIGZsdXNoaW5nIGxheW91dCB3b3JrLlxcbiAgICByb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xcbiAgICByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9IHJvb3Q7XFxuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c0V4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ID0gcmVuZGVyUHJpb3JpdHlMZXZlbDtcXG4gIH0gZWxzZSB7XFxuICAgIC8vIFdlIGFyZSBkb25lIHdpdGggdGhlIGVmZmVjdCBjaGFpbiBhdCB0aGlzIHBvaW50IHNvIGxldCdzIGNsZWFyIHRoZVxcbiAgICAvLyBuZXh0RWZmZWN0IHBvaW50ZXJzIHRvIGFzc2lzdCB3aXRoIEdDLiBJZiB3ZSBoYXZlIHBhc3NpdmUgZWZmZWN0cywgd2UnbGxcXG4gICAgLy8gY2xlYXIgdGhpcyBpbiBmbHVzaFBhc3NpdmVFZmZlY3RzLlxcbiAgICBuZXh0RWZmZWN0ID0gZmlyc3RFZmZlY3Q7XFxuXFxuICAgIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgICAgdmFyIG5leHROZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgICAgIG5leHRFZmZlY3QubmV4dEVmZmVjdCA9IG51bGw7XFxuICAgICAgbmV4dEVmZmVjdCA9IG5leHROZXh0RWZmZWN0O1xcbiAgICB9XFxuICB9IC8vIENoZWNrIGlmIHRoZXJlJ3MgcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290XFxuXFxuXFxuICB2YXIgcmVtYWluaW5nRXhwaXJhdGlvblRpbWUgPSByb290LmZpcnN0UGVuZGluZ1RpbWU7XFxuXFxuICBpZiAocmVtYWluaW5nRXhwaXJhdGlvblRpbWUgIT09IE5vV29yaykge1xcbiAgICB7XFxuICAgICAgaWYgKHNwYXduZWRXb3JrRHVyaW5nUmVuZGVyICE9PSBudWxsKSB7XFxuICAgICAgICB2YXIgZXhwaXJhdGlvblRpbWVzID0gc3Bhd25lZFdvcmtEdXJpbmdSZW5kZXI7XFxuICAgICAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IG51bGw7XFxuXFxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV4cGlyYXRpb25UaW1lcy5sZW5ndGg7IGkrKykge1xcbiAgICAgICAgICBzY2hlZHVsZUludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZXNbaV0sIHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnMpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgcmVtYWluaW5nRXhwaXJhdGlvblRpbWUpO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBJZiB0aGVyZSdzIG5vIHJlbWFpbmluZyB3b3JrLCB3ZSBjYW4gY2xlYXIgdGhlIHNldCBvZiBhbHJlYWR5IGZhaWxlZFxcbiAgICAvLyBlcnJvciBib3VuZGFyaWVzLlxcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XFxuICB9XFxuXFxuICB7XFxuICAgIGlmICghcm9vdERpZEhhdmVQYXNzaXZlRWZmZWN0cykge1xcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBwYXNzaXZlIGVmZmVjdHMsIHRoZW4gd2UgY2FuIGNvbXBsZXRlIHRoZSBwZW5kaW5nIGludGVyYWN0aW9ucy5cXG4gICAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIHdhaXQgdW50aWwgYWZ0ZXIgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgZmx1c2hlZC5cXG4gICAgICAvLyBXYWl0IHRvIGRvIHRoaXMgdW50aWwgYWZ0ZXIgcmVtYWluaW5nIHdvcmsgaGFzIGJlZW4gc2NoZWR1bGVkLFxcbiAgICAgIC8vIHNvIHRoYXQgd2UgZG9uJ3QgcHJlbWF0dXJlbHkgc2lnbmFsIGNvbXBsZXRlIGZvciBpbnRlcmFjdGlvbnMgd2hlbiB0aGVyZSdzIGUuZy4gaGlkZGVuIHdvcmsuXFxuICAgICAgZmluaXNoUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmIChyZW1haW5pbmdFeHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xcbiAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSByb290IHN5bmNocm9ub3VzbHkgcmUtcmVuZGVycyB3aXRob3V0XFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXFxuICAgIGlmIChyb290ID09PSByb290V2l0aE5lc3RlZFVwZGF0ZXMpIHtcXG4gICAgICBuZXN0ZWRVcGRhdGVDb3VudCsrO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcXG4gICAgICByb290V2l0aE5lc3RlZFVwZGF0ZXMgPSByb290O1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XFxuICB9XFxuXFxuICBvbkNvbW1pdFJvb3QoZmluaXNoZWRXb3JrLnN0YXRlTm9kZSwgZXhwaXJhdGlvblRpbWUpOyAvLyBBbHdheXMgY2FsbCB0aGlzIGJlZm9yZSBleGl0aW5nIGBjb21taXRSb290YCwgdG8gZW5zdXJlIHRoYXQgYW55XFxuICAvLyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290IGlzIHNjaGVkdWxlZC5cXG5cXG4gIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcXG5cXG4gIGlmIChoYXNVbmNhdWdodEVycm9yKSB7XFxuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcXG4gICAgdmFyIF9lcnJvcjMgPSBmaXJzdFVuY2F1Z2h0RXJyb3I7XFxuICAgIGZpcnN0VW5jYXVnaHRFcnJvciA9IG51bGw7XFxuICAgIHRocm93IF9lcnJvcjM7XFxuICB9XFxuXFxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBMZWdhY3lVbmJhdGNoZWRDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XFxuICAgIC8vIFRoaXMgaXMgYSBsZWdhY3kgZWRnZSBjYXNlLiBXZSBqdXN0IGNvbW1pdHRlZCB0aGUgaW5pdGlhbCBtb3VudCBvZlxcbiAgICAvLyBhIFJlYWN0RE9NLnJlbmRlci1lZCByb290IGluc2lkZSBvZiBiYXRjaGVkVXBkYXRlcy4gVGhlIGNvbW1pdCBmaXJlZFxcbiAgICAvLyBzeW5jaHJvbm91c2x5LCBidXQgbGF5b3V0IHVwZGF0ZXMgc2hvdWxkIGJlIGRlZmVycmVkIHVudGlsIHRoZSBlbmRcXG4gICAgLy8gb2YgdGhlIGJhdGNoLlxcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0gLy8gSWYgbGF5b3V0IHdvcmsgd2FzIHNjaGVkdWxlZCwgZmx1c2ggaXQgbm93LlxcblxcblxcbiAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0cygpIHtcXG4gIHdoaWxlIChuZXh0RWZmZWN0ICE9PSBudWxsKSB7XFxuICAgIHZhciBlZmZlY3RUYWcgPSBuZXh0RWZmZWN0LmVmZmVjdFRhZztcXG5cXG4gICAgaWYgKChlZmZlY3RUYWcgJiBTbmFwc2hvdCkgIT09IE5vRWZmZWN0KSB7XFxuICAgICAgc2V0Q3VycmVudEZpYmVyKG5leHRFZmZlY3QpO1xcbiAgICAgIHJlY29yZEVmZmVjdCgpO1xcbiAgICAgIHZhciBjdXJyZW50ID0gbmV4dEVmZmVjdC5hbHRlcm5hdGU7XFxuICAgICAgY29tbWl0QmVmb3JlTXV0YXRpb25MaWZlQ3ljbGVzKGN1cnJlbnQsIG5leHRFZmZlY3QpO1xcbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKChlZmZlY3RUYWcgJiBQYXNzaXZlKSAhPT0gTm9FZmZlY3QpIHtcXG4gICAgICAvLyBJZiB0aGVyZSBhcmUgcGFzc2l2ZSBlZmZlY3RzLCBzY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGZsdXNoIGF0XFxuICAgICAgLy8gdGhlIGVhcmxpZXN0IG9wcG9ydHVuaXR5LlxcbiAgICAgIGlmICghcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMpIHtcXG4gICAgICAgIHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzID0gdHJ1ZTtcXG4gICAgICAgIHNjaGVkdWxlQ2FsbGJhY2soTm9ybWFsUHJpb3JpdHksIGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xcbiAgICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICAgIH0pO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXRNdXRhdGlvbkVmZmVjdHMocm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xcbiAgLy8gVE9ETzogU2hvdWxkIHByb2JhYmx5IG1vdmUgdGhlIGJ1bGsgb2YgdGhpcyBmdW5jdGlvbiB0byBjb21taXRXb3JrLlxcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcXG4gICAgc2V0Q3VycmVudEZpYmVyKG5leHRFZmZlY3QpO1xcbiAgICB2YXIgZWZmZWN0VGFnID0gbmV4dEVmZmVjdC5lZmZlY3RUYWc7XFxuXFxuICAgIGlmIChlZmZlY3RUYWcgJiBDb250ZW50UmVzZXQpIHtcXG4gICAgICBjb21taXRSZXNldFRleHRDb250ZW50KG5leHRFZmZlY3QpO1xcbiAgICB9XFxuXFxuICAgIGlmIChlZmZlY3RUYWcgJiBSZWYpIHtcXG4gICAgICB2YXIgY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcblxcbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XFxuICAgICAgICBjb21taXREZXRhY2hSZWYoY3VycmVudCk7XFxuICAgICAgfVxcbiAgICB9IC8vIFRoZSBmb2xsb3dpbmcgc3dpdGNoIHN0YXRlbWVudCBpcyBvbmx5IGNvbmNlcm5lZCBhYm91dCBwbGFjZW1lbnQsXFxuICAgIC8vIHVwZGF0ZXMsIGFuZCBkZWxldGlvbnMuIFRvIGF2b2lkIG5lZWRpbmcgdG8gYWRkIGEgY2FzZSBmb3IgZXZlcnkgcG9zc2libGVcXG4gICAgLy8gYml0bWFwIHZhbHVlLCB3ZSByZW1vdmUgdGhlIHNlY29uZGFyeSBlZmZlY3RzIGZyb20gdGhlIGVmZmVjdCB0YWcgYW5kXFxuICAgIC8vIHN3aXRjaCBvbiB0aGF0IHZhbHVlLlxcblxcblxcbiAgICB2YXIgcHJpbWFyeUVmZmVjdFRhZyA9IGVmZmVjdFRhZyAmIChQbGFjZW1lbnQgfCBVcGRhdGUgfCBEZWxldGlvbiB8IEh5ZHJhdGluZyk7XFxuXFxuICAgIHN3aXRjaCAocHJpbWFyeUVmZmVjdFRhZykge1xcbiAgICAgIGNhc2UgUGxhY2VtZW50OlxcbiAgICAgICAge1xcbiAgICAgICAgICBjb21taXRQbGFjZW1lbnQobmV4dEVmZmVjdCk7IC8vIENsZWFyIHRoZSBcXFwicGxhY2VtZW50XFxcIiBmcm9tIGVmZmVjdCB0YWcgc28gdGhhdCB3ZSBrbm93IHRoYXQgdGhpcyBpc1xcbiAgICAgICAgICAvLyBpbnNlcnRlZCwgYmVmb3JlIGFueSBsaWZlLWN5Y2xlcyBsaWtlIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkLlxcbiAgICAgICAgICAvLyBUT0RPOiBmaW5kRE9NTm9kZSBkb2Vzbid0IHJlbHkgb24gdGhpcyBhbnkgbW9yZSBidXQgaXNNb3VudGVkIGRvZXNcXG4gICAgICAgICAgLy8gYW5kIGlzTW91bnRlZCBpcyBkZXByZWNhdGVkIGFueXdheSBzbyB3ZSBzaG91bGQgYmUgYWJsZSB0byBraWxsIHRoaXMuXFxuXFxuICAgICAgICAgIG5leHRFZmZlY3QuZWZmZWN0VGFnICY9IH5QbGFjZW1lbnQ7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgUGxhY2VtZW50QW5kVXBkYXRlOlxcbiAgICAgICAge1xcbiAgICAgICAgICAvLyBQbGFjZW1lbnRcXG4gICAgICAgICAgY29tbWl0UGxhY2VtZW50KG5leHRFZmZlY3QpOyAvLyBDbGVhciB0aGUgXFxcInBsYWNlbWVudFxcXCIgZnJvbSBlZmZlY3QgdGFnIHNvIHRoYXQgd2Uga25vdyB0aGF0IHRoaXMgaXNcXG4gICAgICAgICAgLy8gaW5zZXJ0ZWQsIGJlZm9yZSBhbnkgbGlmZS1jeWNsZXMgbGlrZSBjb21wb25lbnREaWRNb3VudCBnZXRzIGNhbGxlZC5cXG5cXG4gICAgICAgICAgbmV4dEVmZmVjdC5lZmZlY3RUYWcgJj0gflBsYWNlbWVudDsgLy8gVXBkYXRlXFxuXFxuICAgICAgICAgIHZhciBfY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcbiAgICAgICAgICBjb21taXRXb3JrKF9jdXJyZW50LCBuZXh0RWZmZWN0KTtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgY2FzZSBIeWRyYXRpbmc6XFxuICAgICAgICB7XFxuICAgICAgICAgIG5leHRFZmZlY3QuZWZmZWN0VGFnICY9IH5IeWRyYXRpbmc7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgSHlkcmF0aW5nQW5kVXBkYXRlOlxcbiAgICAgICAge1xcbiAgICAgICAgICBuZXh0RWZmZWN0LmVmZmVjdFRhZyAmPSB+SHlkcmF0aW5nOyAvLyBVcGRhdGVcXG5cXG4gICAgICAgICAgdmFyIF9jdXJyZW50MiA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcbiAgICAgICAgICBjb21taXRXb3JrKF9jdXJyZW50MiwgbmV4dEVmZmVjdCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcblxcbiAgICAgIGNhc2UgVXBkYXRlOlxcbiAgICAgICAge1xcbiAgICAgICAgICB2YXIgX2N1cnJlbnQzID0gbmV4dEVmZmVjdC5hbHRlcm5hdGU7XFxuICAgICAgICAgIGNvbW1pdFdvcmsoX2N1cnJlbnQzLCBuZXh0RWZmZWN0KTtcXG4gICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuXFxuICAgICAgY2FzZSBEZWxldGlvbjpcXG4gICAgICAgIHtcXG4gICAgICAgICAgY29tbWl0RGVsZXRpb24ocm9vdCwgbmV4dEVmZmVjdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCk7XFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9IC8vIFRPRE86IE9ubHkgcmVjb3JkIGEgbXV0YXRpb24gZWZmZWN0IGlmIHByaW1hcnlFZmZlY3RUYWcgaXMgbm9uLXplcm8uXFxuXFxuXFxuICAgIHJlY29yZEVmZmVjdCgpO1xcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBjb21taXRMYXlvdXRFZmZlY3RzKHJvb3QsIGNvbW1pdHRlZEV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUT0RPOiBTaG91bGQgcHJvYmFibHkgbW92ZSB0aGUgYnVsayBvZiB0aGlzIGZ1bmN0aW9uIHRvIGNvbW1pdFdvcmsuXFxuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xcbiAgICBzZXRDdXJyZW50RmliZXIobmV4dEVmZmVjdCk7XFxuICAgIHZhciBlZmZlY3RUYWcgPSBuZXh0RWZmZWN0LmVmZmVjdFRhZztcXG5cXG4gICAgaWYgKGVmZmVjdFRhZyAmIChVcGRhdGUgfCBDYWxsYmFjaykpIHtcXG4gICAgICByZWNvcmRFZmZlY3QoKTtcXG4gICAgICB2YXIgY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xcbiAgICAgIGNvbW1pdExpZmVDeWNsZXMocm9vdCwgY3VycmVudCwgbmV4dEVmZmVjdCk7XFxuICAgIH1cXG5cXG4gICAgaWYgKGVmZmVjdFRhZyAmIFJlZikge1xcbiAgICAgIHJlY29yZEVmZmVjdCgpO1xcbiAgICAgIGNvbW1pdEF0dGFjaFJlZihuZXh0RWZmZWN0KTtcXG4gICAgfVxcblxcbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzKCkge1xcbiAgaWYgKHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ICE9PSBOb1ByaW9yaXR5KSB7XFxuICAgIHZhciBwcmlvcml0eUxldmVsID0gcGVuZGluZ1Bhc3NpdmVFZmZlY3RzUmVuZGVyUHJpb3JpdHkgPiBOb3JtYWxQcmlvcml0eSA/IE5vcm1hbFByaW9yaXR5IDogcGVuZGluZ1Bhc3NpdmVFZmZlY3RzUmVuZGVyUHJpb3JpdHk7XFxuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ID0gTm9Qcmlvcml0eTtcXG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKHByaW9yaXR5TGV2ZWwsIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0c0ltcGwoKSB7XFxuICBpZiAocm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPT09IG51bGwpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgdmFyIHJvb3QgPSByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cztcXG4gIHZhciBleHBpcmF0aW9uVGltZSA9IHBlbmRpbmdQYXNzaXZlRWZmZWN0c0V4cGlyYXRpb25UaW1lO1xcbiAgcm9vdFdpdGhQZW5kaW5nUGFzc2l2ZUVmZmVjdHMgPSBudWxsO1xcbiAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XFxuXFxuICBpZiAoISgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIkNhbm5vdCBmbHVzaCBwYXNzaXZlIGVmZmVjdHMgd2hpbGUgYWxyZWFkeSByZW5kZXJpbmcuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBDb21taXRDb250ZXh0O1xcbiAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBwdXNoSW50ZXJhY3Rpb25zKHJvb3QpO1xcblxcbiAge1xcbiAgICAvLyBOb3RlOiBUaGlzIGN1cnJlbnRseSBhc3N1bWVzIHRoZXJlIGFyZSBubyBwYXNzaXZlIGVmZmVjdHMgb24gdGhlIHJvb3QgZmliZXJcXG4gICAgLy8gYmVjYXVzZSB0aGUgcm9vdCBpcyBub3QgcGFydCBvZiBpdHMgb3duIGVmZmVjdCBsaXN0LlxcbiAgICAvLyBUaGlzIGNvdWxkIGNoYW5nZSBpbiB0aGUgZnV0dXJlLlxcbiAgICB2YXIgX2VmZmVjdDIgPSByb290LmN1cnJlbnQuZmlyc3RFZmZlY3Q7XFxuXFxuICAgIHdoaWxlIChfZWZmZWN0MiAhPT0gbnVsbCkge1xcbiAgICAgIHtcXG4gICAgICAgIHNldEN1cnJlbnRGaWJlcihfZWZmZWN0Mik7XFxuICAgICAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobnVsbCwgY29tbWl0UGFzc2l2ZUhvb2tFZmZlY3RzLCBudWxsLCBfZWZmZWN0Mik7XFxuXFxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xcbiAgICAgICAgICBpZiAoIShfZWZmZWN0MiAhPT0gbnVsbCkpIHtcXG4gICAgICAgICAgICB7XFxuICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIlNob3VsZCBiZSB3b3JraW5nIG9uIGFuIGVmZmVjdC5cXFwiICk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHZhciBfZXJyb3I1ID0gY2xlYXJDYXVnaHRFcnJvcigpO1xcblxcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihfZWZmZWN0MiwgX2Vycm9yNSk7XFxuICAgICAgICB9XFxuXFxuICAgICAgICByZXNldEN1cnJlbnRGaWJlcigpO1xcbiAgICAgIH1cXG5cXG4gICAgICB2YXIgbmV4dE5leHRFZmZlY3QgPSBfZWZmZWN0Mi5uZXh0RWZmZWN0OyAvLyBSZW1vdmUgbmV4dEVmZmVjdCBwb2ludGVyIHRvIGFzc2lzdCBHQ1xcblxcbiAgICAgIF9lZmZlY3QyLm5leHRFZmZlY3QgPSBudWxsO1xcbiAgICAgIF9lZmZlY3QyID0gbmV4dE5leHRFZmZlY3Q7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xcbiAgICBmaW5pc2hQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG5cXG4gIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcXG4gIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTsgLy8gSWYgYWRkaXRpb25hbCBwYXNzaXZlIGVmZmVjdHMgd2VyZSBzY2hlZHVsZWQsIGluY3JlbWVudCBhIGNvdW50ZXIuIElmIHRoaXNcXG4gIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cXG5cXG4gIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzID09PSBudWxsID8gMCA6IG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCArIDE7XFxuICByZXR1cm4gdHJ1ZTtcXG59XFxuXFxuZnVuY3Rpb24gaXNBbHJlYWR5RmFpbGVkTGVnYWN5RXJyb3JCb3VuZGFyeShpbnN0YW5jZSkge1xcbiAgcmV0dXJuIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkICE9PSBudWxsICYmIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmhhcyhpbnN0YW5jZSk7XFxufVxcbmZ1bmN0aW9uIG1hcmtMZWdhY3lFcnJvckJvdW5kYXJ5QXNGYWlsZWQoaW5zdGFuY2UpIHtcXG4gIGlmIChsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9PT0gbnVsbCkge1xcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG5ldyBTZXQoW2luc3RhbmNlXSk7XFxuICB9IGVsc2Uge1xcbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZC5hZGQoaW5zdGFuY2UpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBwcmVwYXJlVG9UaHJvd1VuY2F1Z2h0RXJyb3IoZXJyb3IpIHtcXG4gIGlmICghaGFzVW5jYXVnaHRFcnJvcikge1xcbiAgICBoYXNVbmNhdWdodEVycm9yID0gdHJ1ZTtcXG4gICAgZmlyc3RVbmNhdWdodEVycm9yID0gZXJyb3I7XFxuICB9XFxufVxcblxcbnZhciBvblVuY2F1Z2h0RXJyb3IgPSBwcmVwYXJlVG9UaHJvd1VuY2F1Z2h0RXJyb3I7XFxuXFxuZnVuY3Rpb24gY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3Qocm9vdEZpYmVyLCBzb3VyY2VGaWJlciwgZXJyb3IpIHtcXG4gIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlKGVycm9yLCBzb3VyY2VGaWJlcik7XFxuICB2YXIgdXBkYXRlID0gY3JlYXRlUm9vdEVycm9yVXBkYXRlKHJvb3RGaWJlciwgZXJyb3JJbmZvLCBTeW5jKTtcXG4gIGVucXVldWVVcGRhdGUocm9vdEZpYmVyLCB1cGRhdGUpO1xcbiAgdmFyIHJvb3QgPSBtYXJrVXBkYXRlVGltZUZyb21GaWJlclRvUm9vdChyb290RmliZXIsIFN5bmMpO1xcblxcbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgU3luYyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKHNvdXJjZUZpYmVyLCBlcnJvcikge1xcbiAgaWYgKHNvdXJjZUZpYmVyLnRhZyA9PT0gSG9zdFJvb3QpIHtcXG4gICAgLy8gRXJyb3Igd2FzIHRocm93biBhdCB0aGUgcm9vdC4gVGhlcmUgaXMgbm8gcGFyZW50LCBzbyB0aGUgcm9vdFxcbiAgICAvLyBpdHNlbGYgc2hvdWxkIGNhcHR1cmUgaXQuXFxuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yT25Sb290KHNvdXJjZUZpYmVyLCBzb3VyY2VGaWJlciwgZXJyb3IpO1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICB2YXIgZmliZXIgPSBzb3VyY2VGaWJlci5yZXR1cm47XFxuXFxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcXG4gICAgaWYgKGZpYmVyLnRhZyA9PT0gSG9zdFJvb3QpIHtcXG4gICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvck9uUm9vdChmaWJlciwgc291cmNlRmliZXIsIGVycm9yKTtcXG4gICAgICByZXR1cm47XFxuICAgIH0gZWxzZSBpZiAoZmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xcbiAgICAgIHZhciBjdG9yID0gZmliZXIudHlwZTtcXG4gICAgICB2YXIgaW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSB7XFxuICAgICAgICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZShlcnJvciwgc291cmNlRmliZXIpO1xcbiAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZUNsYXNzRXJyb3JVcGRhdGUoZmliZXIsIGVycm9ySW5mbywgLy8gVE9ETzogVGhpcyBpcyBhbHdheXMgc3luY1xcbiAgICAgICAgU3luYyk7XFxuICAgICAgICBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUpO1xcbiAgICAgICAgdmFyIHJvb3QgPSBtYXJrVXBkYXRlVGltZUZyb21GaWJlclRvUm9vdChmaWJlciwgU3luYyk7XFxuXFxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xcbiAgICAgICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuICAgICAgICAgIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBTeW5jKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgZmliZXIgPSBmaWJlci5yZXR1cm47XFxuICB9XFxufVxcbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHRoZW5hYmxlLCBzdXNwZW5kZWRUaW1lKSB7XFxuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XFxuXFxuICBpZiAocGluZ0NhY2hlICE9PSBudWxsKSB7XFxuICAgIC8vIFRoZSB0aGVuYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXFxuICAgIC8vIG5ldmVyIGJlIHRocm93biBhZ2Fpbi5cXG4gICAgcGluZ0NhY2hlLmRlbGV0ZSh0aGVuYWJsZSk7XFxuICB9XFxuXFxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPT09IHN1c3BlbmRlZFRpbWUpIHtcXG4gICAgLy8gUmVjZWl2ZWQgYSBwaW5nIGF0IHRoZSBzYW1lIHByaW9yaXR5IGxldmVsIGF0IHdoaWNoIHdlJ3JlIGN1cnJlbnRseVxcbiAgICAvLyByZW5kZXJpbmcuIFdlIG1pZ2h0IHdhbnQgdG8gcmVzdGFydCB0aGlzIHJlbmRlci4gVGhpcyBzaG91bGQgbWlycm9yXFxuICAgIC8vIHRoZSBsb2dpYyBvZiB3aGV0aGVyIG9yIG5vdCBhIHJvb3Qgc3VzcGVuZHMgb25jZSBpdCBjb21wbGV0ZXMuXFxuICAgIC8vIFRPRE86IElmIHdlJ3JlIHJlbmRlcmluZyBzeW5jIGVpdGhlciBkdWUgdG8gU3luYywgQmF0Y2hlZCBvciBleHBpcmVkLFxcbiAgICAvLyB3ZSBzaG91bGQgcHJvYmFibHkgbmV2ZXIgcmVzdGFydC5cXG4gICAgLy8gSWYgd2UncmUgc3VzcGVuZGVkIHdpdGggZGVsYXksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kIHNvIHdlIGNhbiBhbHdheXNcXG4gICAgLy8gcmVzdGFydC4gSWYgd2UncmUgc3VzcGVuZGVkIHdpdGhvdXQgYW55IHVwZGF0ZXMsIGl0IG1pZ2h0IGJlIGEgcmV0cnkuXFxuICAgIC8vIElmIGl0J3MgZWFybHkgaW4gdGhlIHJldHJ5IHdlIGNhbiByZXN0YXJ0LiBXZSBjYW4ndCBrbm93IGZvciBzdXJlXFxuICAgIC8vIHdoZXRoZXIgd2UnbGwgZXZlbnR1YWxseSBwcm9jZXNzIGFuIHVwZGF0ZSBkdXJpbmcgdGhpcyByZW5kZXIgcGFzcyxcXG4gICAgLy8gYnV0IGl0J3Mgc29tZXdoYXQgdW5saWtlbHkgdGhhdCB3ZSBnZXQgdG8gYSBwaW5nIGJlZm9yZSB0aGF0LCBzaW5jZVxcbiAgICAvLyBnZXR0aW5nIHRvIHRoZSByb290IG1vc3QgdXBkYXRlIGlzIHVzdWFsbHkgdmVyeSBmYXN0LlxcbiAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheSB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkICYmIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lID09PSBTeW5jICYmIG5vdygpIC0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA8IEZBTExCQUNLX1RIUk9UVExFX01TKSB7XFxuICAgICAgLy8gUmVzdGFydCBmcm9tIHRoZSByb290LiBEb24ndCBuZWVkIHRvIHNjaGVkdWxlIGEgcGluZyBiZWNhdXNlXFxuICAgICAgLy8gd2UncmUgYWxyZWFkeSB3b3JraW5nIG9uIHRoaXMgdHJlZS5cXG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBFdmVuIHRob3VnaCB3ZSBjYW4ndCByZXN0YXJ0IHJpZ2h0IG5vdywgd2UgbWlnaHQgZ2V0IGFuXFxuICAgICAgLy8gb3Bwb3J0dW5pdHkgbGF0ZXIuIFNvIHdlIG1hcmsgdGhpcyByZW5kZXIgYXMgaGF2aW5nIGEgcGluZy5cXG4gICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZyA9IHRydWU7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgaWYgKCFpc1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgc3VzcGVuZGVkVGltZSkpIHtcXG4gICAgLy8gVGhlIHJvb3QgaXMgbm8gbG9uZ2VyIHN1c3BlbmRlZCBhdCB0aGlzIHRpbWUuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBsYXN0UGluZ2VkVGltZSA9IHJvb3QubGFzdFBpbmdlZFRpbWU7XFxuXFxuICBpZiAobGFzdFBpbmdlZFRpbWUgIT09IE5vV29yayAmJiBsYXN0UGluZ2VkVGltZSA8IHN1c3BlbmRlZFRpbWUpIHtcXG4gICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgbG93ZXIgcHJpb3JpdHkgcGluZyBzY2hlZHVsZWQuXFxuICAgIHJldHVybjtcXG4gIH0gLy8gTWFyayB0aGUgdGltZSBhdCB3aGljaCB0aGlzIHBpbmcgd2FzIHNjaGVkdWxlZC5cXG5cXG5cXG4gIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBzdXNwZW5kZWRUaW1lO1xcblxcbiAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xcbiAgc2NoZWR1bGVQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIHN1c3BlbmRlZFRpbWUpO1xcbn1cXG5cXG5mdW5jdGlvbiByZXRyeVRpbWVkT3V0Qm91bmRhcnkoYm91bmRhcnlGaWJlciwgcmV0cnlUaW1lKSB7XFxuICAvLyBUaGUgYm91bmRhcnkgZmliZXIgKGEgU3VzcGVuc2UgY29tcG9uZW50IG9yIFN1c3BlbnNlTGlzdCBjb21wb25lbnQpXFxuICAvLyBwcmV2aW91c2x5IHdhcyByZW5kZXJlZCBpbiBpdHMgZmFsbGJhY2sgc3RhdGUuIE9uZSBvZiB0aGUgcHJvbWlzZXMgdGhhdFxcbiAgLy8gc3VzcGVuZGVkIGl0IGhhcyByZXNvbHZlZCwgd2hpY2ggbWVhbnMgYXQgbGVhc3QgcGFydCBvZiB0aGUgdHJlZSB3YXNcXG4gIC8vIGxpa2VseSB1bmJsb2NrZWQuIFRyeSByZW5kZXJpbmcgYWdhaW4sIGF0IGEgbmV3IGV4cGlyYXRpb24gdGltZS5cXG4gIGlmIChyZXRyeVRpbWUgPT09IE5vV29yaykge1xcbiAgICB2YXIgc3VzcGVuc2VDb25maWcgPSBudWxsOyAvLyBSZXRyaWVzIGRvbid0IGNhcnJ5IG92ZXIgdGhlIGFscmVhZHkgY29tbWl0dGVkIHVwZGF0ZS5cXG5cXG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICAgIHJldHJ5VGltZSA9IGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIoY3VycmVudFRpbWUsIGJvdW5kYXJ5RmliZXIsIHN1c3BlbnNlQ29uZmlnKTtcXG4gIH0gLy8gVE9ETzogU3BlY2lhbCBjYXNlIGlkbGUgcHJpb3JpdHk/XFxuXFxuXFxuICB2YXIgcm9vdCA9IG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGJvdW5kYXJ5RmliZXIsIHJldHJ5VGltZSk7XFxuXFxuICBpZiAocm9vdCAhPT0gbnVsbCkge1xcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XFxuICAgIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCByZXRyeVRpbWUpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiByZXNvbHZlUmV0cnlUaGVuYWJsZShib3VuZGFyeUZpYmVyLCB0aGVuYWJsZSkge1xcbiAgdmFyIHJldHJ5VGltZSA9IE5vV29yazsgLy8gRGVmYXVsdFxcblxcbiAgdmFyIHJldHJ5Q2FjaGU7XFxuXFxuICB7XFxuICAgIHJldHJ5Q2FjaGUgPSBib3VuZGFyeUZpYmVyLnN0YXRlTm9kZTtcXG4gIH1cXG5cXG4gIGlmIChyZXRyeUNhY2hlICE9PSBudWxsKSB7XFxuICAgIC8vIFRoZSB0aGVuYWJsZSByZXNvbHZlZCwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gbWVtb2l6ZSwgYmVjYXVzZSBpdCB3aWxsXFxuICAgIC8vIG5ldmVyIGJlIHRocm93biBhZ2Fpbi5cXG4gICAgcmV0cnlDYWNoZS5kZWxldGUodGhlbmFibGUpO1xcbiAgfVxcblxcbiAgcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5VGltZSk7XFxufSAvLyBDb21wdXRlcyB0aGUgbmV4dCBKdXN0IE5vdGljZWFibGUgRGlmZmVyZW5jZSAoSk5EKSBib3VuZGFyeS5cXG4vLyBUaGUgdGhlb3J5IGlzIHRoYXQgYSBwZXJzb24gY2FuJ3QgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHNtYWxsIGRpZmZlcmVuY2VzIGluIHRpbWUuXFxuLy8gVGhlcmVmb3JlLCBpZiB3ZSB3YWl0IGEgYml0IGxvbmdlciB0aGFuIG5lY2Vzc2FyeSB0aGF0IHdvbid0IHRyYW5zbGF0ZSB0byBhIG5vdGljZWFibGVcXG4vLyBkaWZmZXJlbmNlIGluIHRoZSBleHBlcmllbmNlLiBIb3dldmVyLCB3YWl0aW5nIGZvciBsb25nZXIgbWlnaHQgbWVhbiB0aGF0IHdlIGNhbiBhdm9pZFxcbi8vIHNob3dpbmcgYW4gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFRoZSBsb25nZXIgd2UgaGF2ZSBhbHJlYWR5IHdhaXRlZCwgdGhlIGhhcmRlciBpdFxcbi8vIGlzIHRvIHRlbGwgc21hbGwgZGlmZmVyZW5jZXMgaW4gdGltZS4gVGhlcmVmb3JlLCB0aGUgbG9uZ2VyIHdlJ3ZlIGFscmVhZHkgd2FpdGVkLFxcbi8vIHRoZSBsb25nZXIgd2UgY2FuIHdhaXQgYWRkaXRpb25hbGx5LiBBdCBzb21lIHBvaW50IHdlIGhhdmUgdG8gZ2l2ZSB1cCB0aG91Z2guXFxuLy8gV2UgcGljayBhIHRyYWluIG1vZGVsIHdoZXJlIHRoZSBuZXh0IGJvdW5kYXJ5IGNvbW1pdHMgYXQgYSBjb25zaXN0ZW50IHNjaGVkdWxlLlxcbi8vIFRoZXNlIHBhcnRpY3VsYXIgbnVtYmVycyBhcmUgdmFndWUgZXN0aW1hdGVzLiBXZSBleHBlY3QgdG8gYWRqdXN0IHRoZW0gYmFzZWQgb24gcmVzZWFyY2guXFxuXFxuZnVuY3Rpb24gam5kKHRpbWVFbGFwc2VkKSB7XFxuICByZXR1cm4gdGltZUVsYXBzZWQgPCAxMjAgPyAxMjAgOiB0aW1lRWxhcHNlZCA8IDQ4MCA/IDQ4MCA6IHRpbWVFbGFwc2VkIDwgMTA4MCA/IDEwODAgOiB0aW1lRWxhcHNlZCA8IDE5MjAgPyAxOTIwIDogdGltZUVsYXBzZWQgPCAzMDAwID8gMzAwMCA6IHRpbWVFbGFwc2VkIDwgNDMyMCA/IDQzMjAgOiBjZWlsKHRpbWVFbGFwc2VkIC8gMTk2MCkgKiAxOTYwO1xcbn1cXG5cXG5mdW5jdGlvbiBjb21wdXRlTXNVbnRpbFN1c3BlbnNlTG9hZGluZ0RlbGF5KG1vc3RSZWNlbnRFdmVudFRpbWUsIGNvbW1pdHRlZEV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZykge1xcbiAgdmFyIGJ1c3lNaW5EdXJhdGlvbk1zID0gc3VzcGVuc2VDb25maWcuYnVzeU1pbkR1cmF0aW9uTXMgfCAwO1xcblxcbiAgaWYgKGJ1c3lNaW5EdXJhdGlvbk1zIDw9IDApIHtcXG4gICAgcmV0dXJuIDA7XFxuICB9XFxuXFxuICB2YXIgYnVzeURlbGF5TXMgPSBzdXNwZW5zZUNvbmZpZy5idXN5RGVsYXlNcyB8IDA7IC8vIENvbXB1dGUgdGhlIHRpbWUgdW50aWwgdGhpcyByZW5kZXIgcGFzcyB3b3VsZCBleHBpcmUuXFxuXFxuICB2YXIgY3VycmVudFRpbWVNcyA9IG5vdygpO1xcbiAgdmFyIGV2ZW50VGltZU1zID0gaW5mZXJUaW1lRnJvbUV4cGlyYXRpb25UaW1lV2l0aFN1c3BlbnNlQ29uZmlnKG1vc3RSZWNlbnRFdmVudFRpbWUsIHN1c3BlbnNlQ29uZmlnKTtcXG4gIHZhciB0aW1lRWxhcHNlZCA9IGN1cnJlbnRUaW1lTXMgLSBldmVudFRpbWVNcztcXG5cXG4gIGlmICh0aW1lRWxhcHNlZCA8PSBidXN5RGVsYXlNcykge1xcbiAgICAvLyBJZiB3ZSBoYXZlbid0IHlldCB3YWl0ZWQgbG9uZ2VyIHRoYW4gdGhlIGluaXRpYWwgZGVsYXksIHdlIGRvbid0XFxuICAgIC8vIGhhdmUgdG8gd2FpdCBhbnkgYWRkaXRpb25hbCB0aW1lLlxcbiAgICByZXR1cm4gMDtcXG4gIH1cXG5cXG4gIHZhciBtc1VudGlsVGltZW91dCA9IGJ1c3lEZWxheU1zICsgYnVzeU1pbkR1cmF0aW9uTXMgLSB0aW1lRWxhcHNlZDsgLy8gVGhpcyBpcyB0aGUgdmFsdWUgdGhhdCBpcyBwYXNzZWQgdG8gYHNldFRpbWVvdXRgLlxcblxcbiAgcmV0dXJuIG1zVW50aWxUaW1lb3V0O1xcbn1cXG5cXG5mdW5jdGlvbiBjaGVja0Zvck5lc3RlZFVwZGF0ZXMoKSB7XFxuICBpZiAobmVzdGVkVXBkYXRlQ291bnQgPiBORVNURURfVVBEQVRFX0xJTUlUKSB7XFxuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcXG4gICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcXG5cXG4gICAge1xcbiAgICAgIHtcXG4gICAgICAgIHRocm93IEVycm9yKCBcXFwiTWF4aW11bSB1cGRhdGUgZGVwdGggZXhjZWVkZWQuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIGEgY29tcG9uZW50IHJlcGVhdGVkbHkgY2FsbHMgc2V0U3RhdGUgaW5zaWRlIGNvbXBvbmVudFdpbGxVcGRhdGUgb3IgY29tcG9uZW50RGlkVXBkYXRlLiBSZWFjdCBsaW1pdHMgdGhlIG51bWJlciBvZiBuZXN0ZWQgdXBkYXRlcyB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLlxcXCIgKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA+IE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCkge1xcbiAgICAgIG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA9IDA7XFxuXFxuICAgICAgZXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgXFxcImNhbGxzIHNldFN0YXRlIGluc2lkZSB1c2VFZmZlY3QsIGJ1dCB1c2VFZmZlY3QgZWl0aGVyIGRvZXNuJ3QgXFxcIiArICdoYXZlIGEgZGVwZW5kZW5jeSBhcnJheSwgb3Igb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgY2hhbmdlcyBvbiAnICsgJ2V2ZXJ5IHJlbmRlci4nKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmbHVzaFJlbmRlclBoYXNlU3RyaWN0TW9kZVdhcm5pbmdzSW5ERVYoKSB7XFxuICB7XFxuICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoTGVnYWN5Q29udGV4dFdhcm5pbmcoKTtcXG5cXG4gICAge1xcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmZsdXNoUGVuZGluZ1Vuc2FmZUxpZmVjeWNsZVdhcm5pbmdzKCk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc3RvcEZpbmlzaGVkV29ya0xvb3BUaW1lcigpIHtcXG4gIHZhciBkaWRDb21wbGV0ZVJvb3QgPSB0cnVlO1xcbiAgc3RvcFdvcmtMb29wVGltZXIoaW50ZXJydXB0ZWRCeSwgZGlkQ29tcGxldGVSb290KTtcXG4gIGludGVycnVwdGVkQnkgPSBudWxsO1xcbn1cXG5cXG5mdW5jdGlvbiBzdG9wSW50ZXJydXB0ZWRXb3JrTG9vcFRpbWVyKCkge1xcbiAgLy8gVE9ETzogVHJhY2sgd2hpY2ggZmliZXIgY2F1c2VkIHRoZSBpbnRlcnJ1cHRpb24uXFxuICB2YXIgZGlkQ29tcGxldGVSb290ID0gZmFsc2U7XFxuICBzdG9wV29ya0xvb3BUaW1lcihpbnRlcnJ1cHRlZEJ5LCBkaWRDb21wbGV0ZVJvb3QpO1xcbiAgaW50ZXJydXB0ZWRCeSA9IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIGNoZWNrRm9ySW50ZXJydXB0aW9uKGZpYmVyVGhhdFJlY2VpdmVkVXBkYXRlLCB1cGRhdGVFeHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKCB3b3JrSW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwgJiYgdXBkYXRlRXhwaXJhdGlvblRpbWUgPiByZW5kZXJFeHBpcmF0aW9uVGltZSQxKSB7XFxuICAgIGludGVycnVwdGVkQnkgPSBmaWJlclRoYXRSZWNlaXZlZFVwZGF0ZTtcXG4gIH1cXG59XFxuXFxudmFyIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudCA9IG51bGw7XFxuXFxuZnVuY3Rpb24gd2FybkFib3V0VXBkYXRlT25Vbm1vdW50ZWRGaWJlckluREVWKGZpYmVyKSB7XFxuICB7XFxuICAgIHZhciB0YWcgPSBmaWJlci50YWc7XFxuXFxuICAgIGlmICh0YWcgIT09IEhvc3RSb290ICYmIHRhZyAhPT0gQ2xhc3NDb21wb25lbnQgJiYgdGFnICE9PSBGdW5jdGlvbkNvbXBvbmVudCAmJiB0YWcgIT09IEZvcndhcmRSZWYgJiYgdGFnICE9PSBNZW1vQ29tcG9uZW50ICYmIHRhZyAhPT0gU2ltcGxlTWVtb0NvbXBvbmVudCAmJiB0YWcgIT09IEJsb2NrKSB7XFxuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cXG4gICAgICByZXR1cm47XFxuICAgIH1cXG4gICAgLy8gdGhlIHByb2JsZW1hdGljIGNvZGUgYWxtb3N0IGFsd2F5cyBsaWVzIGluc2lkZSB0aGF0IGNvbXBvbmVudC5cXG5cXG5cXG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdSZWFjdENvbXBvbmVudCc7XFxuXFxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQgIT09IG51bGwpIHtcXG4gICAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50Lmhhcyhjb21wb25lbnROYW1lKSkge1xcbiAgICAgICAgcmV0dXJuO1xcbiAgICAgIH1cXG5cXG4gICAgICBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQuYWRkKGNvbXBvbmVudE5hbWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudCA9IG5ldyBTZXQoW2NvbXBvbmVudE5hbWVdKTtcXG4gICAgfVxcblxcbiAgICBlcnJvcihcXFwiQ2FuJ3QgcGVyZm9ybSBhIFJlYWN0IHN0YXRlIHVwZGF0ZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LiBUaGlzIFxcXCIgKyAnaXMgYSBuby1vcCwgYnV0IGl0IGluZGljYXRlcyBhIG1lbW9yeSBsZWFrIGluIHlvdXIgYXBwbGljYXRpb24uIFRvICcgKyAnZml4LCBjYW5jZWwgYWxsIHN1YnNjcmlwdGlvbnMgYW5kIGFzeW5jaHJvbm91cyB0YXNrcyBpbiAlcy4lcycsIHRhZyA9PT0gQ2xhc3NDb21wb25lbnQgPyAndGhlIGNvbXBvbmVudFdpbGxVbm1vdW50IG1ldGhvZCcgOiAnYSB1c2VFZmZlY3QgY2xlYW51cCBmdW5jdGlvbicsIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChmaWJlcikpO1xcbiAgfVxcbn1cXG5cXG52YXIgYmVnaW5Xb3JrJDE7XFxuXFxue1xcbiAgdmFyIGR1bW15RmliZXIgPSBudWxsO1xcblxcbiAgYmVnaW5Xb3JrJDEgPSBmdW5jdGlvbiAoY3VycmVudCwgdW5pdE9mV29yaywgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgLy8gSWYgYSBjb21wb25lbnQgdGhyb3dzIGFuIGVycm9yLCB3ZSByZXBsYXkgaXQgYWdhaW4gaW4gYSBzeW5jaHJvbm91c2x5XFxuICAgIC8vIGRpc3BhdGNoZWQgZXZlbnQsIHNvIHRoYXQgdGhlIGRlYnVnZ2VyIHdpbGwgdHJlYXQgaXQgYXMgYW4gdW5jYXVnaHRcXG4gICAgLy8gZXJyb3IgU2VlIFJlYWN0RXJyb3JVdGlscyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cXG4gICAgLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY29weSB0aGUgd29yay1pbi1wcm9ncmVzcyBvbnRvIGEgZHVtbXlcXG4gICAgLy8gZmliZXIuIElmIGJlZ2luV29yayB0aHJvd3MsIHdlJ2xsIHVzZSB0aGlzIHRvIHJlc2V0IHRoZSBzdGF0ZS5cXG4gICAgdmFyIG9yaWdpbmFsV29ya0luUHJvZ3Jlc3NDb3B5ID0gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYoZHVtbXlGaWJlciwgdW5pdE9mV29yayk7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgcmV0dXJuIGJlZ2luV29yayhjdXJyZW50LCB1bml0T2ZXb3JrLCBleHBpcmF0aW9uVGltZSk7XFxuICAgIH0gY2F0Y2ggKG9yaWdpbmFsRXJyb3IpIHtcXG4gICAgICBpZiAob3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgLy8gRG9uJ3QgcmVwbGF5IHByb21pc2VzLiBUcmVhdCBldmVyeXRoaW5nIGVsc2UgbGlrZSBhbiBlcnJvci5cXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XFxuICAgICAgfSAvLyBLZWVwIHRoaXMgY29kZSBpbiBzeW5jIHdpdGggaGFuZGxlRXJyb3I7IGFueSBjaGFuZ2VzIGhlcmUgbXVzdCBoYXZlXFxuICAgICAgLy8gY29ycmVzcG9uZGluZyBjaGFuZ2VzIHRoZXJlLlxcblxcblxcbiAgICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xcbiAgICAgIHJlc2V0SG9va3NBZnRlclRocm93KCk7IC8vIERvbid0IHJlc2V0IGN1cnJlbnQgZGVidWcgZmliZXIsIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHdvcmsgb24gdGhlXFxuICAgICAgLy8gc2FtZSBmaWJlciBhZ2Fpbi5cXG4gICAgICAvLyBVbndpbmQgdGhlIGZhaWxlZCBzdGFjayBmcmFtZVxcblxcbiAgICAgIHVud2luZEludGVycnVwdGVkV29yayh1bml0T2ZXb3JrKTsgLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgcHJvcGVydGllcyBvZiB0aGUgZmliZXIuXFxuXFxuICAgICAgYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodW5pdE9mV29yaywgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkpO1xcblxcbiAgICAgIGlmICggdW5pdE9mV29yay5tb2RlICYgUHJvZmlsZU1vZGUpIHtcXG4gICAgICAgIC8vIFJlc2V0IHRoZSBwcm9maWxlciB0aW1lci5cXG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcih1bml0T2ZXb3JrKTtcXG4gICAgICB9IC8vIFJ1biBiZWdpbldvcmsgYWdhaW4uXFxuXFxuXFxuICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGJlZ2luV29yaywgbnVsbCwgY3VycmVudCwgdW5pdE9mV29yaywgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XFxuICAgICAgICB2YXIgcmVwbGF5RXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7IC8vIGBpbnZva2VHdWFyZGVkQ2FsbGJhY2tgIHNvbWV0aW1lcyBzZXRzIGFuIGV4cGFuZG8gYF9zdXBwcmVzc0xvZ2dpbmdgLlxcbiAgICAgICAgLy8gUmV0aHJvdyB0aGlzIGVycm9yIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIG9uZS5cXG5cXG4gICAgICAgIHRocm93IHJlcGxheUVycm9yO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICAvLyBUaGlzIGJyYW5jaCBpcyByZWFjaGFibGUgaWYgdGhlIHJlbmRlciBwaGFzZSBpcyBpbXB1cmUuXFxuICAgICAgICB0aHJvdyBvcmlnaW5hbEVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG59XFxuXFxudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyID0gZmFsc2U7XFxudmFyIGRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudDtcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQgPSBuZXcgU2V0KCk7XFxufVxcblxcbmZ1bmN0aW9uIHdhcm5BYm91dFJlbmRlclBoYXNlVXBkYXRlc0luREVWKGZpYmVyKSB7XFxuICB7XFxuICAgIGlmIChpc1JlbmRlcmluZyAmJiAoZXhlY3V0aW9uQ29udGV4dCAmIFJlbmRlckNvbnRleHQpICE9PSBOb0NvbnRleHQpIHtcXG4gICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xcbiAgICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICAgIGNhc2UgRm9yd2FyZFJlZjpcXG4gICAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHZhciByZW5kZXJpbmdDb21wb25lbnROYW1lID0gd29ya0luUHJvZ3Jlc3MgJiYgZ2V0Q29tcG9uZW50TmFtZSh3b3JrSW5Qcm9ncmVzcy50eXBlKSB8fCAnVW5rbm93bic7IC8vIERlZHVwZSBieSB0aGUgcmVuZGVyaW5nIGNvbXBvbmVudCBiZWNhdXNlIGl0J3MgdGhlIG9uZSB0aGF0IG5lZWRzIHRvIGJlIGZpeGVkLlxcblxcbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xcblxcbiAgICAgICAgICAgIGlmICghZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXJGb3JBbm90aGVyQ29tcG9uZW50LmhhcyhkZWR1cGVLZXkpKSB7XFxuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XFxuICAgICAgICAgICAgICB2YXIgc2V0U3RhdGVDb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnVW5rbm93bic7XFxuXFxuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBhIGNvbXBvbmVudCAoYCVzYCkgd2hpbGUgcmVuZGVyaW5nIGEgJyArICdkaWZmZXJlbnQgY29tcG9uZW50IChgJXNgKS4gVG8gbG9jYXRlIHRoZSBiYWQgc2V0U3RhdGUoKSBjYWxsIGluc2lkZSBgJXNgLCAnICsgJ2ZvbGxvdyB0aGUgc3RhY2sgdHJhY2UgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vZmIubWUvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcXG4gICAgICAgICAgICB9XFxuXFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyKSB7XFxuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XFxuXFxuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlciA9IHRydWU7XFxuICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufSAvLyBhICdzaGFyZWQnIHZhcmlhYmxlIHRoYXQgY2hhbmdlcyB3aGVuIGFjdCgpIG9wZW5zL2Nsb3NlcyBpbiB0ZXN0cy5cXG5cXG5cXG52YXIgSXNUaGlzUmVuZGVyZXJBY3RpbmcgPSB7XFxuICBjdXJyZW50OiBmYWxzZVxcbn07XFxuZnVuY3Rpb24gd2FybklmTm90U2NvcGVkV2l0aE1hdGNoaW5nQWN0KGZpYmVyKSB7XFxuICB7XFxuICAgIGlmICggSXNTb21lUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gdHJ1ZSAmJiBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50ICE9PSB0cnVlKSB7XFxuICAgICAgZXJyb3IoXFxcIkl0IGxvb2tzIGxpa2UgeW91J3JlIHVzaW5nIHRoZSB3cm9uZyBhY3QoKSBhcm91bmQgeW91ciB0ZXN0IGludGVyYWN0aW9ucy5cXFxcblxcXCIgKyAnQmUgc3VyZSB0byB1c2UgdGhlIG1hdGNoaW5nIHZlcnNpb24gb2YgYWN0KCkgY29ycmVzcG9uZGluZyB0byB5b3VyIHJlbmRlcmVyOlxcXFxuXFxcXG4nICsgJy8vIGZvciByZWFjdC1kb206XFxcXG4nICsgXFxcImltcG9ydCB7YWN0fSBmcm9tICdyZWFjdC1kb20vdGVzdC11dGlscyc7XFxcXG5cXFwiICsgJy8vIC4uLlxcXFxuJyArICdhY3QoKCkgPT4gLi4uKTtcXFxcblxcXFxuJyArICcvLyBmb3IgcmVhY3QtdGVzdC1yZW5kZXJlcjpcXFxcbicgKyBcXFwiaW1wb3J0IFRlc3RSZW5kZXJlciBmcm9tICdyZWFjdC10ZXN0LXJlbmRlcmVyJztcXFxcblxcXCIgKyAnY29uc3Qge2FjdH0gPSBUZXN0UmVuZGVyZXI7XFxcXG4nICsgJy8vIC4uLlxcXFxuJyArICdhY3QoKCkgPT4gLi4uKTsnICsgJyVzJywgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpYmVyKSk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gd2FybklmTm90Q3VycmVudGx5QWN0aW5nRWZmZWN0c0luREVWKGZpYmVyKSB7XFxuICB7XFxuICAgIGlmICggKGZpYmVyLm1vZGUgJiBTdHJpY3RNb2RlKSAhPT0gTm9Nb2RlICYmIElzU29tZVJlbmRlcmVyQWN0aW5nLmN1cnJlbnQgPT09IGZhbHNlICYmIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQgPT09IGZhbHNlKSB7XFxuICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSB0byAlcyByYW4gYW4gZWZmZWN0LCBidXQgd2FzIG5vdCB3cmFwcGVkIGluIGFjdCguLi4pLlxcXFxuXFxcXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXFxcblxcXFxuJyArICdhY3QoKCkgPT4ge1xcXFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxcXG4nICsgJ30pO1xcXFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcXFxuXFxcXG4nICsgXFxcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXFxcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcmVhY3Qtd3JhcC10ZXN0cy13aXRoLWFjdCcgKyAnJXMnLCBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdVcGRhdGVzSW5ERVYoZmliZXIpIHtcXG4gIHtcXG4gICAgaWYgKCBleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQgJiYgSXNTb21lUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gZmFsc2UgJiYgSXNUaGlzUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gZmFsc2UpIHtcXG4gICAgICBlcnJvcignQW4gdXBkYXRlIHRvICVzIGluc2lkZSBhIHRlc3Qgd2FzIG5vdCB3cmFwcGVkIGluIGFjdCguLi4pLlxcXFxuXFxcXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXFxcblxcXFxuJyArICdhY3QoKCkgPT4ge1xcXFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxcXG4nICsgJ30pO1xcXFxuJyArICcvKiBhc3NlcnQgb24gdGhlIG91dHB1dCAqL1xcXFxuXFxcXG4nICsgXFxcIlRoaXMgZW5zdXJlcyB0aGF0IHlvdSdyZSB0ZXN0aW5nIHRoZSBiZWhhdmlvciB0aGUgdXNlciB3b3VsZCBzZWUgXFxcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcmVhY3Qtd3JhcC10ZXN0cy13aXRoLWFjdCcgKyAnJXMnLCBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG52YXIgd2FybklmTm90Q3VycmVudGx5QWN0aW5nVXBkYXRlc0luRGV2ID0gd2FybklmTm90Q3VycmVudGx5QWN0aW5nVXBkYXRlc0luREVWOyAvLyBJbiB0ZXN0cywgd2Ugd2FudCB0byBlbmZvcmNlIGEgbW9ja2VkIHNjaGVkdWxlci5cXG5cXG52YXIgZGlkV2FybkFib3V0VW5tb2NrZWRTY2hlZHVsZXIgPSBmYWxzZTsgLy8gVE9ETyBCZWZvcmUgd2UgcmVsZWFzZSBjb25jdXJyZW50IG1vZGUsIHJldmlzaXQgdGhpcyBhbmQgZGVjaWRlIHdoZXRoZXIgYSBtb2NrZWRcXG4vLyBzY2hlZHVsZXIgaXMgdGhlIGFjdHVhbCByZWNvbW1lbmRhdGlvbi4gVGhlIGFsdGVybmF0aXZlIGNvdWxkIGJlIGEgdGVzdGluZyBidWlsZCxcXG4vLyBhIG5ldyBsaWIsIG9yIHdoYXRldmVyOyB3ZSBkdW5ubyBqdXN0IHlldC4gVGhpcyBtZXNzYWdlIGlzIGZvciBlYXJseSBhZG9wdGVyc1xcbi8vIHRvIGdldCB0aGVpciB0ZXN0cyByaWdodC5cXG5cXG5mdW5jdGlvbiB3YXJuSWZVbm1vY2tlZFNjaGVkdWxlcihmaWJlcikge1xcbiAge1xcbiAgICBpZiAoZGlkV2FybkFib3V0VW5tb2NrZWRTY2hlZHVsZXIgPT09IGZhbHNlICYmIFNjaGVkdWxlci51bnN0YWJsZV9mbHVzaEFsbFdpdGhvdXRBc3NlcnRpbmcgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIGlmIChmaWJlci5tb2RlICYgQmxvY2tpbmdNb2RlIHx8IGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xcbiAgICAgICAgZGlkV2FybkFib3V0VW5tb2NrZWRTY2hlZHVsZXIgPSB0cnVlO1xcblxcbiAgICAgICAgZXJyb3IoJ0luIENvbmN1cnJlbnQgb3IgU3luYyBtb2RlcywgdGhlIFxcXCJzY2hlZHVsZXJcXFwiIG1vZHVsZSBuZWVkcyB0byBiZSBtb2NrZWQgJyArICd0byBndWFyYW50ZWUgY29uc2lzdGVudCBiZWhhdmlvdXIgYWNyb3NzIHRlc3RzIGFuZCBicm93c2Vycy4gJyArICdGb3IgZXhhbXBsZSwgd2l0aCBqZXN0OiBcXFxcbicgKyBcXFwiamVzdC5tb2NrKCdzY2hlZHVsZXInLCAoKSA9PiByZXF1aXJlKCdzY2hlZHVsZXIvdW5zdGFibGVfbW9jaycpKTtcXFxcblxcXFxuXFxcIiArICdGb3IgbW9yZSBpbmZvLCB2aXNpdCBodHRwczovL2ZiLm1lL3JlYWN0LW1vY2stc2NoZWR1bGVyJyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbXB1dGVUaHJlYWRJRChyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gSW50ZXJhY3Rpb24gdGhyZWFkcyBhcmUgdW5pcXVlIHBlciByb290IGFuZCBleHBpcmF0aW9uIHRpbWUuXFxuICByZXR1cm4gZXhwaXJhdGlvblRpbWUgKiAxMDAwICsgcm9vdC5pbnRlcmFjdGlvblRocmVhZElEO1xcbn1cXG5cXG5mdW5jdGlvbiBtYXJrU3Bhd25lZFdvcmsoZXhwaXJhdGlvblRpbWUpIHtcXG5cXG4gIGlmIChzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9PT0gbnVsbCkge1xcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IFtleHBpcmF0aW9uVGltZV07XFxuICB9IGVsc2Uge1xcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlci5wdXNoKGV4cGlyYXRpb25UaW1lKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc2NoZWR1bGVJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUsIGludGVyYWN0aW9ucykge1xcblxcbiAgaWYgKGludGVyYWN0aW9ucy5zaXplID4gMCkge1xcbiAgICB2YXIgcGVuZGluZ0ludGVyYWN0aW9uTWFwID0gcm9vdC5wZW5kaW5nSW50ZXJhY3Rpb25NYXA7XFxuICAgIHZhciBwZW5kaW5nSW50ZXJhY3Rpb25zID0gcGVuZGluZ0ludGVyYWN0aW9uTWFwLmdldChleHBpcmF0aW9uVGltZSk7XFxuXFxuICAgIGlmIChwZW5kaW5nSW50ZXJhY3Rpb25zICE9IG51bGwpIHtcXG4gICAgICBpbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgIGlmICghcGVuZGluZ0ludGVyYWN0aW9ucy5oYXMoaW50ZXJhY3Rpb24pKSB7XFxuICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgcGVuZGluZyBhc3luYyB3b3JrIGNvdW50IGZvciBwcmV2aW91c2x5IHVuc2NoZWR1bGVkIGludGVyYWN0aW9uLlxcbiAgICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50Kys7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBwZW5kaW5nSW50ZXJhY3Rpb25zLmFkZChpbnRlcmFjdGlvbik7XFxuICAgICAgfSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcGVuZGluZ0ludGVyYWN0aW9uTWFwLnNldChleHBpcmF0aW9uVGltZSwgbmV3IFNldChpbnRlcmFjdGlvbnMpKTsgLy8gVXBkYXRlIHRoZSBwZW5kaW5nIGFzeW5jIHdvcmsgY291bnQgZm9yIHRoZSBjdXJyZW50IGludGVyYWN0aW9ucy5cXG5cXG4gICAgICBpbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgIGludGVyYWN0aW9uLl9fY291bnQrKztcXG4gICAgICB9KTtcXG4gICAgfVxcblxcbiAgICB2YXIgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHRocmVhZElEID0gY29tcHV0ZVRocmVhZElEKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICBzdWJzY3JpYmVyLm9uV29ya1NjaGVkdWxlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG5cXG4gIHNjaGVkdWxlSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lLCB0cmFjaW5nLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQpO1xcbn1cXG5cXG5mdW5jdGlvbiBzdGFydFdvcmtPblBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIC8vIHdlIGNhbiBhY2N1cmF0ZWx5IGF0dHJpYnV0ZSB0aW1lIHNwZW50IHdvcmtpbmcgb24gaXQsIEFuZCBzbyB0aGF0IGNhc2NhZGluZ1xcbiAgLy8gd29yayB0cmlnZ2VyZWQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2Ugd2lsbCBiZSBhc3NvY2lhdGVkIHdpdGggaXQuXFxuXFxuXFxuICB2YXIgaW50ZXJhY3Rpb25zID0gbmV3IFNldCgpO1xcbiAgcm9vdC5wZW5kaW5nSW50ZXJhY3Rpb25NYXAuZm9yRWFjaChmdW5jdGlvbiAoc2NoZWR1bGVkSW50ZXJhY3Rpb25zLCBzY2hlZHVsZWRFeHBpcmF0aW9uVGltZSkge1xcbiAgICBpZiAoc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUgPj0gZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICBzY2hlZHVsZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgIHJldHVybiBpbnRlcmFjdGlvbnMuYWRkKGludGVyYWN0aW9uKTtcXG4gICAgICB9KTtcXG4gICAgfVxcbiAgfSk7IC8vIFN0b3JlIHRoZSBjdXJyZW50IHNldCBvZiBpbnRlcmFjdGlvbnMgb24gdGhlIEZpYmVyUm9vdCBmb3IgYSBmZXcgcmVhc29uczpcXG4gIC8vIFdlIGNhbiByZS11c2UgaXQgaW4gaG90IGZ1bmN0aW9ucyBsaWtlIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdCgpXFxuICAvLyB3aXRob3V0IGhhdmluZyB0byByZWNhbGN1bGF0ZSBpdC4gV2Ugd2lsbCBhbHNvIHVzZSBpdCBpbiBjb21taXRXb3JrKCkgdG9cXG4gIC8vIHBhc3MgdG8gYW55IFByb2ZpbGVyIG9uUmVuZGVyKCkgaG9va3MuIFRoaXMgYWxzbyBwcm92aWRlcyBEZXZUb29scyB3aXRoIGFcXG4gIC8vIHdheSB0byBhY2Nlc3MgaXQgd2hlbiB0aGUgb25Db21taXRSb290KCkgaG9vayBpcyBjYWxsZWQuXFxuXFxuICByb290Lm1lbW9pemVkSW50ZXJhY3Rpb25zID0gaW50ZXJhY3Rpb25zO1xcblxcbiAgaWYgKGludGVyYWN0aW9ucy5zaXplID4gMCkge1xcbiAgICB2YXIgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHRocmVhZElEID0gY29tcHV0ZVRocmVhZElEKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcXG5cXG4gICAgICB0cnkge1xcbiAgICAgICAgc3Vic2NyaWJlci5vbldvcmtTdGFydGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgICAgICAvLyBJZiB0aGUgc3Vic2NyaWJlciB0aHJvd3MsIHJldGhyb3cgaXQgaW4gYSBzZXBhcmF0ZSB0YXNrXFxuICAgICAgICBzY2hlZHVsZUNhbGxiYWNrKEltbWVkaWF0ZVByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIHRocm93IGVycm9yO1xcbiAgICAgICAgfSk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGZpbmlzaFBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpIHtcXG5cXG4gIHZhciBlYXJsaWVzdFJlbWFpbmluZ1RpbWVBZnRlckNvbW1pdCA9IHJvb3QuZmlyc3RQZW5kaW5nVGltZTtcXG4gIHZhciBzdWJzY3JpYmVyO1xcblxcbiAgdHJ5IHtcXG4gICAgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsICYmIHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnMuc2l6ZSA+IDApIHtcXG4gICAgICB2YXIgdGhyZWFkSUQgPSBjb21wdXRlVGhyZWFkSUQocm9vdCwgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpO1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChyb290Lm1lbW9pemVkSW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgIH1cXG4gIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgIC8vIElmIHRoZSBzdWJzY3JpYmVyIHRocm93cywgcmV0aHJvdyBpdCBpbiBhIHNlcGFyYXRlIHRhc2tcXG4gICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xcbiAgICAgIHRocm93IGVycm9yO1xcbiAgICB9KTtcXG4gIH0gZmluYWxseSB7XFxuICAgIC8vIENsZWFyIGNvbXBsZXRlZCBpbnRlcmFjdGlvbnMgZnJvbSB0aGUgcGVuZGluZyBNYXAuXFxuICAgIC8vIFVubGVzcyB0aGUgcmVuZGVyIHdhcyBzdXNwZW5kZWQgb3IgY2FzY2FkaW5nIHdvcmsgd2FzIHNjaGVkdWxlZCxcXG4gICAgLy8gSW4gd2hpY2ggY2FzZeKAkyBsZWF2ZSBwZW5kaW5nIGludGVyYWN0aW9ucyB1bnRpbCB0aGUgc3Vic2VxdWVudCByZW5kZXIuXFxuICAgIHZhciBwZW5kaW5nSW50ZXJhY3Rpb25NYXAgPSByb290LnBlbmRpbmdJbnRlcmFjdGlvbk1hcDtcXG4gICAgcGVuZGluZ0ludGVyYWN0aW9uTWFwLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxlZEludGVyYWN0aW9ucywgc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUpIHtcXG4gICAgICAvLyBPbmx5IGRlY3JlbWVudCB0aGUgcGVuZGluZyBpbnRlcmFjdGlvbiBjb3VudCBpZiB3ZSdyZSBkb25lLlxcbiAgICAgIC8vIElmIHRoZXJlJ3Mgc3RpbGwgd29yayBhdCB0aGUgY3VycmVudCBwcmlvcml0eSxcXG4gICAgICAvLyBUaGF0IGluZGljYXRlcyB0aGF0IHdlIGFyZSB3YWl0aW5nIGZvciBzdXNwZW5zZSBkYXRhLlxcbiAgICAgIGlmIChzY2hlZHVsZWRFeHBpcmF0aW9uVGltZSA+IGVhcmxpZXN0UmVtYWluaW5nVGltZUFmdGVyQ29tbWl0KSB7XFxuICAgICAgICBwZW5kaW5nSW50ZXJhY3Rpb25NYXAuZGVsZXRlKHNjaGVkdWxlZEV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgIHNjaGVkdWxlZEludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xcbiAgICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50LS07XFxuXFxuICAgICAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsICYmIGludGVyYWN0aW9uLl9fY291bnQgPT09IDApIHtcXG4gICAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XFxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgICAgICAgICAgIC8vIElmIHRoZSBzdWJzY3JpYmVyIHRocm93cywgcmV0aHJvdyBpdCBpbiBhIHNlcGFyYXRlIHRhc2tcXG4gICAgICAgICAgICAgIHNjaGVkdWxlQ2FsbGJhY2soSW1tZWRpYXRlUHJpb3JpdHksIGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XFxuICAgICAgICAgICAgICB9KTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgIH1cXG4gICAgfSk7XFxuICB9XFxufVxcblxcbnZhciBvblNjaGVkdWxlRmliZXJSb290ID0gbnVsbDtcXG52YXIgb25Db21taXRGaWJlclJvb3QgPSBudWxsO1xcbnZhciBvbkNvbW1pdEZpYmVyVW5tb3VudCA9IG51bGw7XFxudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XFxudmFyIGlzRGV2VG9vbHNQcmVzZW50ID0gdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAhPT0gJ3VuZGVmaW5lZCc7XFxuZnVuY3Rpb24gaW5qZWN0SW50ZXJuYWxzKGludGVybmFscykge1xcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XFxuICAgIC8vIE5vIERldlRvb2xzXFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG5cXG4gIHZhciBob29rID0gX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fO1xcblxcbiAgaWYgKGhvb2suaXNEaXNhYmxlZCkge1xcbiAgICAvLyBUaGlzIGlzbid0IGEgcmVhbCBwcm9wZXJ0eSBvbiB0aGUgaG9vaywgYnV0IGl0IGNhbiBiZSBzZXQgdG8gb3B0IG91dFxcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8zODc3XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgaWYgKCFob29rLnN1cHBvcnRzRmliZXIpIHtcXG4gICAge1xcbiAgICAgIGVycm9yKCdUaGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgUmVhY3QgRGV2VG9vbHMgaXMgdG9vIG9sZCBhbmQgd2lsbCBub3Qgd29yayAnICsgJ3dpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBSZWFjdC4gUGxlYXNlIHVwZGF0ZSBSZWFjdCBEZXZUb29scy4gJyArICdodHRwczovL2ZiLm1lL3JlYWN0LWRldnRvb2xzJyk7XFxuICAgIH0gLy8gRGV2VG9vbHMgZXhpc3RzLCBldmVuIHRob3VnaCBpdCBkb2Vzbid0IHN1cHBvcnQgRmliZXIuXFxuXFxuXFxuICAgIHJldHVybiB0cnVlO1xcbiAgfVxcblxcbiAgdHJ5IHtcXG4gICAgdmFyIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxcblxcbiAgICBpZiAodHJ1ZSkge1xcbiAgICAgIC8vIE9ubHkgdXNlZCBieSBGYXN0IFJlZnJlc2hcXG4gICAgICBpZiAodHlwZW9mIGhvb2sub25TY2hlZHVsZUZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgb25TY2hlZHVsZUZpYmVyUm9vdCA9IGZ1bmN0aW9uIChyb290LCBjaGlsZHJlbikge1xcbiAgICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIGhvb2sub25TY2hlZHVsZUZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBjaGlsZHJlbik7XFxuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgICAgIGlmICggdHJ1ZSAmJiAhaGFzTG9nZ2VkRXJyb3IpIHtcXG4gICAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICAgIGVycm9yKCdSZWFjdCBpbnN0cnVtZW50YXRpb24gZW5jb3VudGVyZWQgYW4gZXJyb3I6ICVzJywgZXJyKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH07XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIG9uQ29tbWl0RmliZXJSb290ID0gZnVuY3Rpb24gKHJvb3QsIGV4cGlyYXRpb25UaW1lKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHZhciBkaWRFcnJvciA9IChyb290LmN1cnJlbnQuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgPT09IERpZENhcHR1cmU7XFxuXFxuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xcbiAgICAgICAgICB2YXIgY3VycmVudFRpbWUgPSBnZXRDdXJyZW50VGltZSgpO1xcbiAgICAgICAgICB2YXIgcHJpb3JpdHlMZXZlbCA9IGluZmVyUHJpb3JpdHlGcm9tRXhwaXJhdGlvblRpbWUoY3VycmVudFRpbWUsIGV4cGlyYXRpb25UaW1lKTtcXG4gICAgICAgICAgaG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBwcmlvcml0eUxldmVsLCBkaWRFcnJvcik7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICBob29rLm9uQ29tbWl0RmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIHVuZGVmaW5lZCwgZGlkRXJyb3IpO1xcbiAgICAgICAgfVxcbiAgICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgaWYgKHRydWUpIHtcXG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xcbiAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH07XFxuXFxuICAgIG9uQ29tbWl0RmliZXJVbm1vdW50ID0gZnVuY3Rpb24gKGZpYmVyKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIGhvb2sub25Db21taXRGaWJlclVubW91bnQocmVuZGVyZXJJRCwgZmliZXIpO1xcbiAgICAgIH0gY2F0Y2ggKGVycikge1xcbiAgICAgICAgaWYgKHRydWUpIHtcXG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xcbiAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH07XFxuICB9IGNhdGNoIChlcnIpIHtcXG4gICAgLy8gQ2F0Y2ggYWxsIGVycm9ycyBiZWNhdXNlIGl0IGlzIHVuc2FmZSB0byB0aHJvdyBkdXJpbmcgaW5pdGlhbGl6YXRpb24uXFxuICAgIHtcXG4gICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcy4nLCBlcnIpO1xcbiAgICB9XFxuICB9IC8vIERldlRvb2xzIGV4aXN0c1xcblxcblxcbiAgcmV0dXJuIHRydWU7XFxufVxcbmZ1bmN0aW9uIG9uU2NoZWR1bGVSb290KHJvb3QsIGNoaWxkcmVuKSB7XFxuICBpZiAodHlwZW9mIG9uU2NoZWR1bGVGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgb25TY2hlZHVsZUZpYmVyUm9vdChyb290LCBjaGlsZHJlbik7XFxuICB9XFxufVxcbmZ1bmN0aW9uIG9uQ29tbWl0Um9vdChyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgaWYgKHR5cGVvZiBvbkNvbW1pdEZpYmVyUm9vdCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBvbkNvbW1pdEZpYmVyUm9vdChyb290LCBleHBpcmF0aW9uVGltZSk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIG9uQ29tbWl0VW5tb3VudChmaWJlcikge1xcbiAgaWYgKHR5cGVvZiBvbkNvbW1pdEZpYmVyVW5tb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBvbkNvbW1pdEZpYmVyVW5tb3VudChmaWJlcik7XFxuICB9XFxufVxcblxcbnZhciBoYXNCYWRNYXBQb2x5ZmlsbDtcXG5cXG57XFxuICBoYXNCYWRNYXBQb2x5ZmlsbCA9IGZhbHNlO1xcblxcbiAgdHJ5IHtcXG4gICAgdmFyIG5vbkV4dGVuc2libGVPYmplY3QgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pO1xcbiAgICB2YXIgdGVzdE1hcCA9IG5ldyBNYXAoW1tub25FeHRlbnNpYmxlT2JqZWN0LCBudWxsXV0pO1xcbiAgICB2YXIgdGVzdFNldCA9IG5ldyBTZXQoW25vbkV4dGVuc2libGVPYmplY3RdKTsgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIFJvbGx1cCB0byBub3QgY29uc2lkZXIgdGhlc2UgdW51c2VkLlxcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcm9sbHVwL3JvbGx1cC9pc3N1ZXMvMTc3MVxcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoZXNlIGlmIFJvbGx1cCBmaXhlcyB0aGUgYnVnLlxcblxcbiAgICB0ZXN0TWFwLnNldCgwLCAwKTtcXG4gICAgdGVzdFNldC5hZGQoMCk7XFxuICB9IGNhdGNoIChlKSB7XFxuICAgIC8vIFRPRE86IENvbnNpZGVyIHdhcm5pbmcgYWJvdXQgYmFkIHBvbHlmaWxsc1xcbiAgICBoYXNCYWRNYXBQb2x5ZmlsbCA9IHRydWU7XFxuICB9XFxufVxcblxcbnZhciBkZWJ1Z0NvdW50ZXIgPSAxO1xcblxcbmZ1bmN0aW9uIEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKSB7XFxuICAvLyBJbnN0YW5jZVxcbiAgdGhpcy50YWcgPSB0YWc7XFxuICB0aGlzLmtleSA9IGtleTtcXG4gIHRoaXMuZWxlbWVudFR5cGUgPSBudWxsO1xcbiAgdGhpcy50eXBlID0gbnVsbDtcXG4gIHRoaXMuc3RhdGVOb2RlID0gbnVsbDsgLy8gRmliZXJcXG5cXG4gIHRoaXMucmV0dXJuID0gbnVsbDtcXG4gIHRoaXMuY2hpbGQgPSBudWxsO1xcbiAgdGhpcy5zaWJsaW5nID0gbnVsbDtcXG4gIHRoaXMuaW5kZXggPSAwO1xcbiAgdGhpcy5yZWYgPSBudWxsO1xcbiAgdGhpcy5wZW5kaW5nUHJvcHMgPSBwZW5kaW5nUHJvcHM7XFxuICB0aGlzLm1lbW9pemVkUHJvcHMgPSBudWxsO1xcbiAgdGhpcy51cGRhdGVRdWV1ZSA9IG51bGw7XFxuICB0aGlzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xcbiAgdGhpcy5kZXBlbmRlbmNpZXMgPSBudWxsO1xcbiAgdGhpcy5tb2RlID0gbW9kZTsgLy8gRWZmZWN0c1xcblxcbiAgdGhpcy5lZmZlY3RUYWcgPSBOb0VmZmVjdDtcXG4gIHRoaXMubmV4dEVmZmVjdCA9IG51bGw7XFxuICB0aGlzLmZpcnN0RWZmZWN0ID0gbnVsbDtcXG4gIHRoaXMubGFzdEVmZmVjdCA9IG51bGw7XFxuICB0aGlzLmV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdGhpcy5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdGhpcy5hbHRlcm5hdGUgPSBudWxsO1xcblxcbiAge1xcbiAgICAvLyBOb3RlOiBUaGUgZm9sbG93aW5nIGlzIGRvbmUgdG8gYXZvaWQgYSB2OCBwZXJmb3JtYW5jZSBjbGlmZi5cXG4gICAgLy9cXG4gICAgLy8gSW5pdGlhbGl6aW5nIHRoZSBmaWVsZHMgYmVsb3cgdG8gc21pcyBhbmQgbGF0ZXIgdXBkYXRpbmcgdGhlbSB3aXRoXFxuICAgIC8vIGRvdWJsZSB2YWx1ZXMgd2lsbCBjYXVzZSBGaWJlcnMgdG8gZW5kIHVwIGhhdmluZyBzZXBhcmF0ZSBzaGFwZXMuXFxuICAgIC8vIFRoaXMgYmVoYXZpb3IvYnVnIGhhcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBPYmplY3QucHJldmVudEV4dGVuc2lvbigpLlxcbiAgICAvLyBGb3J0dW5hdGVseSB0aGlzIG9ubHkgaW1wYWN0cyBERVYgYnVpbGRzLlxcbiAgICAvLyBVbmZvcnR1bmF0ZWx5IGl0IG1ha2VzIFJlYWN0IHVudXNhYmx5IHNsb3cgZm9yIHNvbWUgYXBwbGljYXRpb25zLlxcbiAgICAvLyBUbyB3b3JrIGFyb3VuZCB0aGlzLCBpbml0aWFsaXplIHRoZSBmaWVsZHMgYmVsb3cgd2l0aCBkb3VibGVzLlxcbiAgICAvL1xcbiAgICAvLyBMZWFybiBtb3JlIGFib3V0IHRoaXMgaGVyZTpcXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xNDM2NVxcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD04NTM4XFxuICAgIHRoaXMuYWN0dWFsRHVyYXRpb24gPSBOdW1iZXIuTmFOO1xcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IE51bWJlci5OYU47XFxuICAgIHRoaXMuc2VsZkJhc2VEdXJhdGlvbiA9IE51bWJlci5OYU47XFxuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IE51bWJlci5OYU47IC8vIEl0J3Mgb2theSB0byByZXBsYWNlIHRoZSBpbml0aWFsIGRvdWJsZXMgd2l0aCBzbWlzIGFmdGVyIGluaXRpYWxpemF0aW9uLlxcbiAgICAvLyBUaGlzIHdvbid0IHRyaWdnZXIgdGhlIHBlcmZvcm1hbmNlIGNsaWZmIG1lbnRpb25lZCBhYm92ZSxcXG4gICAgLy8gYW5kIGl0IHNpbXBsaWZpZXMgb3RoZXIgcHJvZmlsZXIgY29kZSAoaW5jbHVkaW5nIERldlRvb2xzKS5cXG5cXG4gICAgdGhpcy5hY3R1YWxEdXJhdGlvbiA9IDA7XFxuICAgIHRoaXMuYWN0dWFsU3RhcnRUaW1lID0gLTE7XFxuICAgIHRoaXMuc2VsZkJhc2VEdXJhdGlvbiA9IDA7XFxuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IDA7XFxuICB9IC8vIFRoaXMgaXMgbm9ybWFsbHkgREVWLW9ubHkgZXhjZXB0IHd3dyB3aGVuIGl0IGFkZHMgbGlzdGVuZXJzLlxcbiAgLy8gVE9ETzogcmVtb3ZlIHRoZSBVc2VyIFRpbWluZyBpbnRlZ3JhdGlvbiBpbiBmYXZvciBvZiBSb290IEV2ZW50cy5cXG5cXG5cXG4gIHtcXG4gICAgdGhpcy5fZGVidWdJRCA9IGRlYnVnQ291bnRlcisrO1xcbiAgICB0aGlzLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XFxuICB9XFxuXFxuICB7XFxuICAgIHRoaXMuX2RlYnVnU291cmNlID0gbnVsbDtcXG4gICAgdGhpcy5fZGVidWdPd25lciA9IG51bGw7XFxuICAgIHRoaXMuX2RlYnVnTmVlZHNSZW1vdW50ID0gZmFsc2U7XFxuICAgIHRoaXMuX2RlYnVnSG9va1R5cGVzID0gbnVsbDtcXG5cXG4gICAgaWYgKCFoYXNCYWRNYXBQb2x5ZmlsbCAmJiB0eXBlb2YgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHRoaXMpO1xcbiAgICB9XFxuICB9XFxufSAvLyBUaGlzIGlzIGEgY29uc3RydWN0b3IgZnVuY3Rpb24sIHJhdGhlciB0aGFuIGEgUE9KTyBjb25zdHJ1Y3Rvciwgc3RpbGxcXG4vLyBwbGVhc2UgZW5zdXJlIHdlIGRvIHRoZSBmb2xsb3dpbmc6XFxuLy8gMSkgTm9ib2R5IHNob3VsZCBhZGQgYW55IGluc3RhbmNlIG1ldGhvZHMgb24gdGhpcy4gSW5zdGFuY2UgbWV0aG9kcyBjYW4gYmVcXG4vLyAgICBtb3JlIGRpZmZpY3VsdCB0byBwcmVkaWN0IHdoZW4gdGhleSBnZXQgb3B0aW1pemVkIGFuZCB0aGV5IGFyZSBhbG1vc3RcXG4vLyAgICBuZXZlciBpbmxpbmVkIHByb3Blcmx5IGluIHN0YXRpYyBjb21waWxlcnMuXFxuLy8gMikgTm9ib2R5IHNob3VsZCByZWx5IG9uIGBpbnN0YW5jZW9mIEZpYmVyYCBmb3IgdHlwZSB0ZXN0aW5nLiBXZSBzaG91bGRcXG4vLyAgICBhbHdheXMga25vdyB3aGVuIGl0IGlzIGEgZmliZXIuXFxuLy8gMykgV2UgbWlnaHQgd2FudCB0byBleHBlcmltZW50IHdpdGggdXNpbmcgbnVtZXJpYyBrZXlzIHNpbmNlIHRoZXkgYXJlIGVhc2llclxcbi8vICAgIHRvIG9wdGltaXplIGluIGEgbm9uLUpJVCBlbnZpcm9ubWVudC5cXG4vLyA0KSBXZSBjYW4gZWFzaWx5IGdvIGZyb20gYSBjb25zdHJ1Y3RvciB0byBhIGNyZWF0ZUZpYmVyIG9iamVjdCBsaXRlcmFsIGlmIHRoYXRcXG4vLyAgICBpcyBmYXN0ZXIuXFxuLy8gNSkgSXQgc2hvdWxkIGJlIGVhc3kgdG8gcG9ydCB0aGlzIHRvIGEgQyBzdHJ1Y3QgYW5kIGtlZXAgYSBDIGltcGxlbWVudGF0aW9uXFxuLy8gICAgY29tcGF0aWJsZS5cXG5cXG5cXG52YXIgY3JlYXRlRmliZXIgPSBmdW5jdGlvbiAodGFnLCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSkge1xcbiAgLy8gJEZsb3dGaXhNZTogdGhlIHNoYXBlcyBhcmUgZXhhY3QgaGVyZSBidXQgRmxvdyBkb2Vzbid0IGxpa2UgY29uc3RydWN0b3JzXFxuICByZXR1cm4gbmV3IEZpYmVyTm9kZSh0YWcsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcXG59O1xcblxcbmZ1bmN0aW9uIHNob3VsZENvbnN0cnVjdChDb21wb25lbnQpIHtcXG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xcbiAgcmV0dXJuICEhKHByb3RvdHlwZSAmJiBwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudCk7XFxufVxcblxcbmZ1bmN0aW9uIGlzU2ltcGxlRnVuY3Rpb25Db21wb25lbnQodHlwZSkge1xcbiAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nICYmICFzaG91bGRDb25zdHJ1Y3QodHlwZSkgJiYgdHlwZS5kZWZhdWx0UHJvcHMgPT09IHVuZGVmaW5lZDtcXG59XFxuZnVuY3Rpb24gcmVzb2x2ZUxhenlDb21wb25lbnRUYWcoQ29tcG9uZW50KSB7XFxuICBpZiAodHlwZW9mIENvbXBvbmVudCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICByZXR1cm4gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkgPyBDbGFzc0NvbXBvbmVudCA6IEZ1bmN0aW9uQ29tcG9uZW50O1xcbiAgfSBlbHNlIGlmIChDb21wb25lbnQgIT09IHVuZGVmaW5lZCAmJiBDb21wb25lbnQgIT09IG51bGwpIHtcXG4gICAgdmFyICQkdHlwZW9mID0gQ29tcG9uZW50LiQkdHlwZW9mO1xcblxcbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUpIHtcXG4gICAgICByZXR1cm4gRm9yd2FyZFJlZjtcXG4gICAgfVxcblxcbiAgICBpZiAoJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSkge1xcbiAgICAgIHJldHVybiBNZW1vQ29tcG9uZW50O1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDtcXG59IC8vIFRoaXMgaXMgdXNlZCB0byBjcmVhdGUgYW4gYWx0ZXJuYXRlIGZpYmVyIHRvIGRvIHdvcmsgb24uXFxuXFxuZnVuY3Rpb24gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudCwgcGVuZGluZ1Byb3BzKSB7XFxuICB2YXIgd29ya0luUHJvZ3Jlc3MgPSBjdXJyZW50LmFsdGVybmF0ZTtcXG5cXG4gIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCkge1xcbiAgICAvLyBXZSB1c2UgYSBkb3VibGUgYnVmZmVyaW5nIHBvb2xpbmcgdGVjaG5pcXVlIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHdlJ2xsXFxuICAgIC8vIG9ubHkgZXZlciBuZWVkIGF0IG1vc3QgdHdvIHZlcnNpb25zIG9mIGEgdHJlZS4gV2UgcG9vbCB0aGUgXFxcIm90aGVyXFxcIiB1bnVzZWRcXG4gICAgLy8gbm9kZSB0aGF0IHdlJ3JlIGZyZWUgdG8gcmV1c2UuIFRoaXMgaXMgbGF6aWx5IGNyZWF0ZWQgdG8gYXZvaWQgYWxsb2NhdGluZ1xcbiAgICAvLyBleHRyYSBvYmplY3RzIGZvciB0aGluZ3MgdGhhdCBhcmUgbmV2ZXIgdXBkYXRlZC4gSXQgYWxzbyBhbGxvdyB1cyB0b1xcbiAgICAvLyByZWNsYWltIHRoZSBleHRyYSBtZW1vcnkgaWYgbmVlZGVkLlxcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZUZpYmVyKGN1cnJlbnQudGFnLCBwZW5kaW5nUHJvcHMsIGN1cnJlbnQua2V5LCBjdXJyZW50Lm1vZGUpO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9IGN1cnJlbnQuZWxlbWVudFR5cGU7XFxuICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPSBjdXJyZW50LnR5cGU7XFxuICAgIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGN1cnJlbnQuc3RhdGVOb2RlO1xcblxcbiAgICB7XFxuICAgICAgLy8gREVWLW9ubHkgZmllbGRzXFxuICAgICAge1xcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSUQgPSBjdXJyZW50Ll9kZWJ1Z0lEO1xcbiAgICAgIH1cXG5cXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdTb3VyY2UgPSBjdXJyZW50Ll9kZWJ1Z1NvdXJjZTtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdPd25lciA9IGN1cnJlbnQuX2RlYnVnT3duZXI7XFxuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XFxuICAgIH1cXG5cXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcXG4gICAgY3VycmVudC5hbHRlcm5hdGUgPSB3b3JrSW5Qcm9ncmVzcztcXG4gIH0gZWxzZSB7XFxuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gV2UgYWxyZWFkeSBoYXZlIGFuIGFsdGVybmF0ZS5cXG4gICAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcuXFxuXFxuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyA9IE5vRWZmZWN0OyAvLyBUaGUgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxcblxcbiAgICB3b3JrSW5Qcm9ncmVzcy5uZXh0RWZmZWN0ID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gbnVsbDtcXG5cXG4gICAge1xcbiAgICAgIC8vIFdlIGludGVudGlvbmFsbHkgcmVzZXQsIHJhdGhlciB0aGFuIGNvcHksIGFjdHVhbER1cmF0aW9uICYgYWN0dWFsU3RhcnRUaW1lLlxcbiAgICAgIC8vIFRoaXMgcHJldmVudHMgdGltZSBmcm9tIGVuZGxlc3NseSBhY2N1bXVsYXRpbmcgaW4gbmV3IGNvbW1pdHMuXFxuICAgICAgLy8gVGhpcyBoYXMgdGhlIGRvd25zaWRlIG9mIHJlc2V0dGluZyB2YWx1ZXMgZm9yIGRpZmZlcmVudCBwcmlvcml0eSByZW5kZXJzLFxcbiAgICAgIC8vIEJ1dCB3b3JrcyBmb3IgeWllbGRpbmcgKHRoZSBjb21tb24gY2FzZSkgYW5kIHNob3VsZCBzdXBwb3J0IHJlc3VtaW5nLlxcbiAgICAgIHdvcmtJblByb2dyZXNzLmFjdHVhbER1cmF0aW9uID0gMDtcXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcXG4gICAgfVxcbiAgfVxcblxcbiAgd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IGN1cnJlbnQuY2hpbGRFeHBpcmF0aW9uVGltZTtcXG4gIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gY3VycmVudC5leHBpcmF0aW9uVGltZTtcXG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XFxuICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xcbiAgLy8gaXQgY2Fubm90IGJlIHNoYXJlZCB3aXRoIHRoZSBjdXJyZW50IGZpYmVyLlxcblxcbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcXG4gIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xcbiAgICBleHBpcmF0aW9uVGltZTogY3VycmVudERlcGVuZGVuY2llcy5leHBpcmF0aW9uVGltZSxcXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCxcXG4gICAgcmVzcG9uZGVyczogY3VycmVudERlcGVuZGVuY2llcy5yZXNwb25kZXJzXFxuICB9OyAvLyBUaGVzZSB3aWxsIGJlIG92ZXJyaWRkZW4gZHVyaW5nIHRoZSBwYXJlbnQncyByZWNvbmNpbGlhdGlvblxcblxcbiAgd29ya0luUHJvZ3Jlc3Muc2libGluZyA9IGN1cnJlbnQuc2libGluZztcXG4gIHdvcmtJblByb2dyZXNzLmluZGV4ID0gY3VycmVudC5pbmRleDtcXG4gIHdvcmtJblByb2dyZXNzLnJlZiA9IGN1cnJlbnQucmVmO1xcblxcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudC50cmVlQmFzZUR1cmF0aW9uO1xcbiAgfVxcblxcbiAge1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdOZWVkc1JlbW91bnQgPSBjdXJyZW50Ll9kZWJ1Z05lZWRzUmVtb3VudDtcXG5cXG4gICAgc3dpdGNoICh3b3JrSW5Qcm9ncmVzcy50YWcpIHtcXG4gICAgICBjYXNlIEluZGV0ZXJtaW5hdGVDb21wb25lbnQ6XFxuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcXG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XFxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKGN1cnJlbnQudHlwZSk7XFxuICAgICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xcbn0gLy8gVXNlZCB0byByZXVzZSBhIEZpYmVyIGZvciBhIHNlY29uZCBwYXNzLlxcblxcbmZ1bmN0aW9uIHJlc2V0V29ya0luUHJvZ3Jlc3Mod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBUaGlzIHJlc2V0cyB0aGUgRmliZXIgdG8gd2hhdCBjcmVhdGVGaWJlciBvciBjcmVhdGVXb3JrSW5Qcm9ncmVzcyB3b3VsZFxcbiAgLy8gaGF2ZSBzZXQgdGhlIHZhbHVlcyB0byBiZWZvcmUgZHVyaW5nIHRoZSBmaXJzdCBwYXNzLiBJZGVhbGx5IHRoaXMgd291bGRuJ3RcXG4gIC8vIGJlIG5lY2Vzc2FyeSBidXQgdW5mb3J0dW5hdGVseSBtYW55IGNvZGUgcGF0aHMgcmVhZHMgZnJvbSB0aGUgd29ya0luUHJvZ3Jlc3NcXG4gIC8vIHdoZW4gdGhleSBzaG91bGQgYmUgcmVhZGluZyBmcm9tIGN1cnJlbnQgYW5kIHdyaXRpbmcgdG8gd29ya0luUHJvZ3Jlc3MuXFxuICAvLyBXZSBhc3N1bWUgcGVuZGluZ1Byb3BzLCBpbmRleCwga2V5LCByZWYsIHJldHVybiBhcmUgc3RpbGwgdW50b3VjaGVkIHRvXFxuICAvLyBhdm9pZCBkb2luZyBhbm90aGVyIHJlY29uY2lsaWF0aW9uLlxcbiAgLy8gUmVzZXQgdGhlIGVmZmVjdCB0YWcgYnV0IGtlZXAgYW55IFBsYWNlbWVudCB0YWdzLCBzaW5jZSB0aGF0J3Mgc29tZXRoaW5nXFxuICAvLyB0aGF0IGNoaWxkIGZpYmVyIGlzIHNldHRpbmcsIG5vdCB0aGUgcmVjb25jaWxpYXRpb24uXFxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJj0gUGxhY2VtZW50OyAvLyBUaGUgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxcblxcbiAgd29ya0luUHJvZ3Jlc3MubmV4dEVmZmVjdCA9IG51bGw7XFxuICB3b3JrSW5Qcm9ncmVzcy5maXJzdEVmZmVjdCA9IG51bGw7XFxuICB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gbnVsbDtcXG4gIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcXG4gICAgLy8gUmVzZXQgdG8gY3JlYXRlRmliZXIncyBpbml0aWFsIHZhbHVlcy5cXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcXG4gICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBudWxsO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XFxuICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcXG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcXG5cXG4gICAge1xcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxcbiAgICAgIC8vIGFjdHVhbCB0aW1lIGFjcm9zcyBtdWx0aXBsZSByZW5kZXIgcGFzc2VzLlxcbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSAwO1xcbiAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gPSAwO1xcbiAgICB9XFxuICB9IGVsc2Uge1xcbiAgICAvLyBSZXNldCB0byB0aGUgY2xvbmVkIHZhbHVlcyB0aGF0IGNyZWF0ZVdvcmtJblByb2dyZXNzIHdvdWxkJ3ZlLlxcbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZEV4cGlyYXRpb25UaW1lID0gY3VycmVudC5jaGlsZEV4cGlyYXRpb25UaW1lO1xcbiAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IGN1cnJlbnQuZXhwaXJhdGlvblRpbWU7XFxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcXG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xcbiAgICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXFxuXFxuICAgIHZhciBjdXJyZW50RGVwZW5kZW5jaWVzID0gY3VycmVudC5kZXBlbmRlbmNpZXM7XFxuICAgIHdvcmtJblByb2dyZXNzLmRlcGVuZGVuY2llcyA9IGN1cnJlbnREZXBlbmRlbmNpZXMgPT09IG51bGwgPyBudWxsIDoge1xcbiAgICAgIGV4cGlyYXRpb25UaW1lOiBjdXJyZW50RGVwZW5kZW5jaWVzLmV4cGlyYXRpb25UaW1lLFxcbiAgICAgIGZpcnN0Q29udGV4dDogY3VycmVudERlcGVuZGVuY2llcy5maXJzdENvbnRleHQsXFxuICAgICAgcmVzcG9uZGVyczogY3VycmVudERlcGVuZGVuY2llcy5yZXNwb25kZXJzXFxuICAgIH07XFxuXFxuICAgIHtcXG4gICAgICAvLyBOb3RlOiBXZSBkb24ndCByZXNldCB0aGUgYWN0dWFsVGltZSBjb3VudHMuIEl0J3MgdXNlZnVsIHRvIGFjY3VtdWxhdGVcXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xcbiAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gPSBjdXJyZW50LnRyZWVCYXNlRHVyYXRpb247XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcXG59XFxuZnVuY3Rpb24gY3JlYXRlSG9zdFJvb3RGaWJlcih0YWcpIHtcXG4gIHZhciBtb2RlO1xcblxcbiAgaWYgKHRhZyA9PT0gQ29uY3VycmVudFJvb3QpIHtcXG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlIHwgQmxvY2tpbmdNb2RlIHwgU3RyaWN0TW9kZTtcXG4gIH0gZWxzZSBpZiAodGFnID09PSBCbG9ja2luZ1Jvb3QpIHtcXG4gICAgbW9kZSA9IEJsb2NraW5nTW9kZSB8IFN0cmljdE1vZGU7XFxuICB9IGVsc2Uge1xcbiAgICBtb2RlID0gTm9Nb2RlO1xcbiAgfVxcblxcbiAgaWYgKCBpc0RldlRvb2xzUHJlc2VudCkge1xcbiAgICAvLyBBbHdheXMgY29sbGVjdCBwcm9maWxlIHRpbWluZ3Mgd2hlbiBEZXZUb29scyBhcmUgcHJlc2VudC5cXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXFxuICAgIC8vIFdpdGhvdXQgc29tZSBub2RlcyBpbiB0aGUgdHJlZSBoYXZpbmcgZW1wdHkgYmFzZSB0aW1lcy5cXG4gICAgbW9kZSB8PSBQcm9maWxlTW9kZTtcXG4gIH1cXG5cXG4gIHJldHVybiBjcmVhdGVGaWJlcihIb3N0Um9vdCwgbnVsbCwgbnVsbCwgbW9kZSk7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh0eXBlLCAvLyBSZWFjdCRFbGVtZW50VHlwZVxcbmtleSwgcGVuZGluZ1Byb3BzLCBvd25lciwgbW9kZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBmaWJlcjtcXG4gIHZhciBmaWJlclRhZyA9IEluZGV0ZXJtaW5hdGVDb21wb25lbnQ7IC8vIFRoZSByZXNvbHZlZCB0eXBlIGlzIHNldCBpZiB3ZSBrbm93IHdoYXQgdGhlIGZpbmFsIHR5cGUgd2lsbCBiZS4gSS5lLiBpdCdzIG5vdCBsYXp5LlxcblxcbiAgdmFyIHJlc29sdmVkVHlwZSA9IHR5cGU7XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgaWYgKHNob3VsZENvbnN0cnVjdCh0eXBlKSkge1xcbiAgICAgIGZpYmVyVGFnID0gQ2xhc3NDb21wb25lbnQ7XFxuXFxuICAgICAge1xcbiAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKHJlc29sdmVkVHlwZSk7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIHtcXG4gICAgICAgIHJlc29sdmVkVHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhyZXNvbHZlZFR5cGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSBlbHNlIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcXG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xcbiAgfSBlbHNlIHtcXG4gICAgZ2V0VGFnOiBzd2l0Y2ggKHR5cGUpIHtcXG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XFxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQocGVuZGluZ1Byb3BzLmNoaWxkcmVuLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFOlxcbiAgICAgICAgZmliZXJUYWcgPSBNb2RlO1xcbiAgICAgICAgbW9kZSB8PSBDb25jdXJyZW50TW9kZSB8IEJsb2NraW5nTW9kZSB8IFN0cmljdE1vZGU7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XFxuICAgICAgICBmaWJlclRhZyA9IE1vZGU7XFxuICAgICAgICBtb2RlIHw9IFN0cmljdE1vZGU7XFxuICAgICAgICBicmVhaztcXG5cXG4gICAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XFxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tUHJvZmlsZXIocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX1RZUEU6XFxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2UocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcXG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZUxpc3QocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcXG5cXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAge1xcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfUFJPVklERVJfVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XFxuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcXG5cXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgY29uc3VtZXJcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0Q29uc3VtZXI7XFxuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcXG5cXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xcblxcbiAgICAgICAgICAgICAgICB7XFxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcXG4gICAgICAgICAgICAgICAgfVxcblxcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XFxuXFxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XFxuXFxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcXG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBMYXp5Q29tcG9uZW50O1xcbiAgICAgICAgICAgICAgICByZXNvbHZlZFR5cGUgPSBudWxsO1xcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XFxuXFxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0JMT0NLX1RZUEU6XFxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQmxvY2s7XFxuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcXG5cXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcXG5cXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XFxuICAgICAgICAgICAgICBpbmZvICs9ICcgWW91IGxpa2VseSBmb3Jnb3QgdG8gZXhwb3J0IHlvdXIgY29tcG9uZW50IGZyb20gdGhlIGZpbGUgJyArIFxcXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFxcXCIgKyAnbmFtZWQgaW1wb3J0cy4nO1xcbiAgICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgICB2YXIgb3duZXJOYW1lID0gb3duZXIgPyBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpIDogbnVsbDtcXG5cXG4gICAgICAgICAgICBpZiAob3duZXJOYW1lKSB7XFxuICAgICAgICAgICAgICBpbmZvICs9ICdcXFxcblxcXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBvd25lck5hbWUgKyAnYC4nO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICB7XFxuICAgICAgICAgICAge1xcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFxcXCJFbGVtZW50IHR5cGUgaXMgaW52YWxpZDogZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciBidWlsdC1pbiBjb21wb25lbnRzKSBvciBhIGNsYXNzL2Z1bmN0aW9uIChmb3IgY29tcG9zaXRlIGNvbXBvbmVudHMpIGJ1dCBnb3Q6IFxcXCIgKyAodHlwZSA9PSBudWxsID8gdHlwZSA6IHR5cGVvZiB0eXBlKSArIFxcXCIuXFxcIiArIGluZm8gKTtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgZmliZXIgPSBjcmVhdGVGaWJlcihmaWJlclRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xcbiAgZmliZXIuZWxlbWVudFR5cGUgPSB0eXBlO1xcbiAgZmliZXIudHlwZSA9IHJlc29sdmVkVHlwZTtcXG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICByZXR1cm4gZmliZXI7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgbW9kZSwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBvd25lciA9IG51bGw7XFxuXFxuICB7XFxuICAgIG93bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICB9XFxuXFxuICB2YXIgdHlwZSA9IGVsZW1lbnQudHlwZTtcXG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcXG4gIHZhciBwZW5kaW5nUHJvcHMgPSBlbGVtZW50LnByb3BzO1xcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIGtleSwgcGVuZGluZ1Byb3BzLCBvd25lciwgbW9kZSwgZXhwaXJhdGlvblRpbWUpO1xcblxcbiAge1xcbiAgICBmaWJlci5fZGVidWdTb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7XFxuICAgIGZpYmVyLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XFxuICB9XFxuXFxuICByZXR1cm4gZmliZXI7XFxufVxcbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGVsZW1lbnRzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KSB7XFxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihGcmFnbWVudCwgZWxlbWVudHMsIGtleSwgbW9kZSk7XFxuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qcm9maWxlcihwZW5kaW5nUHJvcHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBwZW5kaW5nUHJvcHMuaWQgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwZW5kaW5nUHJvcHMub25SZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignUHJvZmlsZXIgbXVzdCBzcGVjaWZ5IGFuIFxcXCJpZFxcXCIgc3RyaW5nIGFuZCBcXFwib25SZW5kZXJcXFwiIGZ1bmN0aW9uIGFzIHByb3BzJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFByb2ZpbGVyLCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSB8IFByb2ZpbGVNb2RlKTsgLy8gVE9ETzogVGhlIFByb2ZpbGVyIGZpYmVyIHNob3VsZG4ndCBoYXZlIGEgdHlwZS4gSXQgaGFzIGEgdGFnLlxcblxcbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xcbiAgZmliZXIudHlwZSA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XFxuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcXG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKFN1c3BlbnNlQ29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7IC8vIFRPRE86IFRoZSBTdXNwZW5zZUNvbXBvbmVudCBmaWJlciBzaG91bGRuJ3QgaGF2ZSBhIHR5cGUuIEl0IGhhcyBhIHRhZy5cXG4gIC8vIFRoaXMgbmVlZHMgdG8gYmUgZml4ZWQgaW4gZ2V0Q29tcG9uZW50TmFtZSBzbyB0aGF0IGl0IHJlbGllcyBvbiB0aGUgdGFnXFxuICAvLyBpbnN0ZWFkLlxcblxcbiAgZmliZXIudHlwZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XFxuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XFxuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZUxpc3QocGVuZGluZ1Byb3BzLCBtb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KSB7XFxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihTdXNwZW5zZUxpc3RDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTtcXG5cXG4gIHtcXG4gICAgLy8gVE9ETzogVGhlIFN1c3BlbnNlTGlzdENvbXBvbmVudCBmaWJlciBzaG91bGRuJ3QgaGF2ZSBhIHR5cGUuIEl0IGhhcyBhIHRhZy5cXG4gICAgLy8gVGhpcyBuZWVkcyB0byBiZSBmaXhlZCBpbiBnZXRDb21wb25lbnROYW1lIHNvIHRoYXQgaXQgcmVsaWVzIG9uIHRoZSB0YWdcXG4gICAgLy8gaW5zdGVhZC5cXG4gICAgZmliZXIudHlwZSA9IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcXG4gIH1cXG5cXG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFO1xcbiAgZmliZXIuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIHJldHVybiBmaWJlcjtcXG59XFxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVGV4dChjb250ZW50LCBtb2RlLCBleHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFRleHQsIGNvbnRlbnQsIG51bGwsIG1vZGUpO1xcbiAgZmliZXIuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIHJldHVybiBmaWJlcjtcXG59XFxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tSG9zdEluc3RhbmNlRm9yRGVsZXRpb24oKSB7XFxuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihIb3N0Q29tcG9uZW50LCBudWxsLCBudWxsLCBOb01vZGUpOyAvLyBUT0RPOiBUaGVzZSBzaG91bGQgbm90IG5lZWQgYSB0eXBlLlxcblxcbiAgZmliZXIuZWxlbWVudFR5cGUgPSAnREVMRVRFRCc7XFxuICBmaWJlci50eXBlID0gJ0RFTEVURUQnO1xcbiAgcmV0dXJuIGZpYmVyO1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBleHBpcmF0aW9uVGltZSkge1xcbiAgdmFyIHBlbmRpbmdQcm9wcyA9IHBvcnRhbC5jaGlsZHJlbiAhPT0gbnVsbCA/IHBvcnRhbC5jaGlsZHJlbiA6IFtdO1xcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoSG9zdFBvcnRhbCwgcGVuZGluZ1Byb3BzLCBwb3J0YWwua2V5LCBtb2RlKTtcXG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICBmaWJlci5zdGF0ZU5vZGUgPSB7XFxuICAgIGNvbnRhaW5lckluZm86IHBvcnRhbC5jb250YWluZXJJbmZvLFxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXFxuICAgIC8vIFVzZWQgYnkgcGVyc2lzdGVudCB1cGRhdGVzXFxuICAgIGltcGxlbWVudGF0aW9uOiBwb3J0YWwuaW1wbGVtZW50YXRpb25cXG4gIH07XFxuICByZXR1cm4gZmliZXI7XFxufSAvLyBVc2VkIGZvciBzdGFzaGluZyBXSVAgcHJvcGVydGllcyB0byByZXBsYXkgZmFpbGVkIHdvcmsgaW4gREVWLlxcblxcbmZ1bmN0aW9uIGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKHRhcmdldCwgc291cmNlKSB7XFxuICBpZiAodGFyZ2V0ID09PSBudWxsKSB7XFxuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXFxuICAgIC8vIFdlIG9ubHkgdXNlIGEgRmliZXIgdG8gZW5zdXJlIHRoZSBzYW1lIGhpZGRlbiBjbGFzcyBzbyBERVYgaXNuJ3Qgc2xvdy5cXG4gICAgdGFyZ2V0ID0gY3JlYXRlRmliZXIoSW5kZXRlcm1pbmF0ZUNvbXBvbmVudCwgbnVsbCwgbnVsbCwgTm9Nb2RlKTtcXG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxcbiAgLy8gV2UgdHJpZWQgdG8gdXNlIE9iamVjdC5hc3NpZ24oKSBpbnN0ZWFkIGJ1dCB0aGlzIGlzIGNhbGxlZCBpblxcbiAgLy8gdGhlIGhvdHRlc3QgcGF0aCwgYW5kIE9iamVjdC5hc3NpZ24oKSB3YXMgdG9vIHNsb3c6XFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXFxuICAvLyBUaGlzIGNvZGUgaXMgREVWLW9ubHkgc28gc2l6ZSBpcyBub3QgYSBjb25jZXJuLlxcblxcblxcbiAgdGFyZ2V0LnRhZyA9IHNvdXJjZS50YWc7XFxuICB0YXJnZXQua2V5ID0gc291cmNlLmtleTtcXG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcXG4gIHRhcmdldC50eXBlID0gc291cmNlLnR5cGU7XFxuICB0YXJnZXQuc3RhdGVOb2RlID0gc291cmNlLnN0YXRlTm9kZTtcXG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xcbiAgdGFyZ2V0LmNoaWxkID0gc291cmNlLmNoaWxkO1xcbiAgdGFyZ2V0LnNpYmxpbmcgPSBzb3VyY2Uuc2libGluZztcXG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcXG4gIHRhcmdldC5yZWYgPSBzb3VyY2UucmVmO1xcbiAgdGFyZ2V0LnBlbmRpbmdQcm9wcyA9IHNvdXJjZS5wZW5kaW5nUHJvcHM7XFxuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xcbiAgdGFyZ2V0LnVwZGF0ZVF1ZXVlID0gc291cmNlLnVwZGF0ZVF1ZXVlO1xcbiAgdGFyZ2V0Lm1lbW9pemVkU3RhdGUgPSBzb3VyY2UubWVtb2l6ZWRTdGF0ZTtcXG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xcbiAgdGFyZ2V0Lm1vZGUgPSBzb3VyY2UubW9kZTtcXG4gIHRhcmdldC5lZmZlY3RUYWcgPSBzb3VyY2UuZWZmZWN0VGFnO1xcbiAgdGFyZ2V0Lm5leHRFZmZlY3QgPSBzb3VyY2UubmV4dEVmZmVjdDtcXG4gIHRhcmdldC5maXJzdEVmZmVjdCA9IHNvdXJjZS5maXJzdEVmZmVjdDtcXG4gIHRhcmdldC5sYXN0RWZmZWN0ID0gc291cmNlLmxhc3RFZmZlY3Q7XFxuICB0YXJnZXQuZXhwaXJhdGlvblRpbWUgPSBzb3VyY2UuZXhwaXJhdGlvblRpbWU7XFxuICB0YXJnZXQuY2hpbGRFeHBpcmF0aW9uVGltZSA9IHNvdXJjZS5jaGlsZEV4cGlyYXRpb25UaW1lO1xcbiAgdGFyZ2V0LmFsdGVybmF0ZSA9IHNvdXJjZS5hbHRlcm5hdGU7XFxuXFxuICB7XFxuICAgIHRhcmdldC5hY3R1YWxEdXJhdGlvbiA9IHNvdXJjZS5hY3R1YWxEdXJhdGlvbjtcXG4gICAgdGFyZ2V0LmFjdHVhbFN0YXJ0VGltZSA9IHNvdXJjZS5hY3R1YWxTdGFydFRpbWU7XFxuICAgIHRhcmdldC5zZWxmQmFzZUR1cmF0aW9uID0gc291cmNlLnNlbGZCYXNlRHVyYXRpb247XFxuICAgIHRhcmdldC50cmVlQmFzZUR1cmF0aW9uID0gc291cmNlLnRyZWVCYXNlRHVyYXRpb247XFxuICB9XFxuXFxuICB7XFxuICAgIHRhcmdldC5fZGVidWdJRCA9IHNvdXJjZS5fZGVidWdJRDtcXG4gIH1cXG5cXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xcbiAgdGFyZ2V0Ll9kZWJ1Z093bmVyID0gc291cmNlLl9kZWJ1Z093bmVyO1xcbiAgdGFyZ2V0Ll9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gc291cmNlLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nO1xcbiAgdGFyZ2V0Ll9kZWJ1Z05lZWRzUmVtb3VudCA9IHNvdXJjZS5fZGVidWdOZWVkc1JlbW91bnQ7XFxuICB0YXJnZXQuX2RlYnVnSG9va1R5cGVzID0gc291cmNlLl9kZWJ1Z0hvb2tUeXBlcztcXG4gIHJldHVybiB0YXJnZXQ7XFxufVxcblxcbmZ1bmN0aW9uIEZpYmVyUm9vdE5vZGUoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlKSB7XFxuICB0aGlzLnRhZyA9IHRhZztcXG4gIHRoaXMuY3VycmVudCA9IG51bGw7XFxuICB0aGlzLmNvbnRhaW5lckluZm8gPSBjb250YWluZXJJbmZvO1xcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xcbiAgdGhpcy5waW5nQ2FjaGUgPSBudWxsO1xcbiAgdGhpcy5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xcbiAgdGhpcy5maW5pc2hlZFdvcmsgPSBudWxsO1xcbiAgdGhpcy50aW1lb3V0SGFuZGxlID0gbm9UaW1lb3V0O1xcbiAgdGhpcy5jb250ZXh0ID0gbnVsbDtcXG4gIHRoaXMucGVuZGluZ0NvbnRleHQgPSBudWxsO1xcbiAgdGhpcy5oeWRyYXRlID0gaHlkcmF0ZTtcXG4gIHRoaXMuY2FsbGJhY2tOb2RlID0gbnVsbDtcXG4gIHRoaXMuY2FsbGJhY2tQcmlvcml0eSA9IE5vUHJpb3JpdHk7XFxuICB0aGlzLmZpcnN0UGVuZGluZ1RpbWUgPSBOb1dvcms7XFxuICB0aGlzLmZpcnN0U3VzcGVuZGVkVGltZSA9IE5vV29yaztcXG4gIHRoaXMubGFzdFN1c3BlbmRlZFRpbWUgPSBOb1dvcms7XFxuICB0aGlzLm5leHRLbm93blBlbmRpbmdMZXZlbCA9IE5vV29yaztcXG4gIHRoaXMubGFzdFBpbmdlZFRpbWUgPSBOb1dvcms7XFxuICB0aGlzLmxhc3RFeHBpcmVkVGltZSA9IE5vV29yaztcXG5cXG4gIHtcXG4gICAgdGhpcy5pbnRlcmFjdGlvblRocmVhZElEID0gdHJhY2luZy51bnN0YWJsZV9nZXRUaHJlYWRJRCgpO1xcbiAgICB0aGlzLm1lbW9pemVkSW50ZXJhY3Rpb25zID0gbmV3IFNldCgpO1xcbiAgICB0aGlzLnBlbmRpbmdJbnRlcmFjdGlvbk1hcCA9IG5ldyBNYXAoKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlRmliZXJSb290KGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaHlkcmF0aW9uQ2FsbGJhY2tzKSB7XFxuICB2YXIgcm9vdCA9IG5ldyBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSk7XFxuICAvLyBzdGF0ZU5vZGUgaXMgYW55LlxcblxcblxcbiAgdmFyIHVuaW5pdGlhbGl6ZWRGaWJlciA9IGNyZWF0ZUhvc3RSb290RmliZXIodGFnKTtcXG4gIHJvb3QuY3VycmVudCA9IHVuaW5pdGlhbGl6ZWRGaWJlcjtcXG4gIHVuaW5pdGlhbGl6ZWRGaWJlci5zdGF0ZU5vZGUgPSByb290O1xcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHVuaW5pdGlhbGl6ZWRGaWJlcik7XFxuICByZXR1cm4gcm9vdDtcXG59XFxuZnVuY3Rpb24gaXNSb290U3VzcGVuZGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKSB7XFxuICB2YXIgZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5maXJzdFN1c3BlbmRlZFRpbWU7XFxuICB2YXIgbGFzdFN1c3BlbmRlZFRpbWUgPSByb290Lmxhc3RTdXNwZW5kZWRUaW1lO1xcbiAgcmV0dXJuIGZpcnN0U3VzcGVuZGVkVGltZSAhPT0gTm9Xb3JrICYmIGZpcnN0U3VzcGVuZGVkVGltZSA+PSBleHBpcmF0aW9uVGltZSAmJiBsYXN0U3VzcGVuZGVkVGltZSA8PSBleHBpcmF0aW9uVGltZTtcXG59XFxuZnVuY3Rpb24gbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBmaXJzdFN1c3BlbmRlZFRpbWUgPSByb290LmZpcnN0U3VzcGVuZGVkVGltZTtcXG4gIHZhciBsYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWU7XFxuXFxuICBpZiAoZmlyc3RTdXNwZW5kZWRUaW1lIDwgZXhwaXJhdGlvblRpbWUpIHtcXG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIH1cXG5cXG4gIGlmIChsYXN0U3VzcGVuZGVkVGltZSA+IGV4cGlyYXRpb25UaW1lIHx8IGZpcnN0U3VzcGVuZGVkVGltZSA9PT0gTm9Xb3JrKSB7XFxuICAgIHJvb3QubGFzdFN1c3BlbmRlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcXG4gIH1cXG5cXG4gIGlmIChleHBpcmF0aW9uVGltZSA8PSByb290Lmxhc3RQaW5nZWRUaW1lKSB7XFxuICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBOb1dvcms7XFxuICB9XFxuXFxuICBpZiAoZXhwaXJhdGlvblRpbWUgPD0gcm9vdC5sYXN0RXhwaXJlZFRpbWUpIHtcXG4gICAgcm9vdC5sYXN0RXhwaXJlZFRpbWUgPSBOb1dvcms7XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSkge1xcbiAgLy8gVXBkYXRlIHRoZSByYW5nZSBvZiBwZW5kaW5nIHRpbWVzXFxuICB2YXIgZmlyc3RQZW5kaW5nVGltZSA9IHJvb3QuZmlyc3RQZW5kaW5nVGltZTtcXG5cXG4gIGlmIChleHBpcmF0aW9uVGltZSA+IGZpcnN0UGVuZGluZ1RpbWUpIHtcXG4gICAgcm9vdC5maXJzdFBlbmRpbmdUaW1lID0gZXhwaXJhdGlvblRpbWU7XFxuICB9IC8vIFVwZGF0ZSB0aGUgcmFuZ2Ugb2Ygc3VzcGVuZGVkIHRpbWVzLiBUcmVhdCBldmVyeXRoaW5nIGxvd2VyIHByaW9yaXR5IG9yXFxuICAvLyBlcXVhbCB0byB0aGlzIHVwZGF0ZSBhcyB1bnN1c3BlbmRlZC5cXG5cXG5cXG4gIHZhciBmaXJzdFN1c3BlbmRlZFRpbWUgPSByb290LmZpcnN0U3VzcGVuZGVkVGltZTtcXG5cXG4gIGlmIChmaXJzdFN1c3BlbmRlZFRpbWUgIT09IE5vV29yaykge1xcbiAgICBpZiAoZXhwaXJhdGlvblRpbWUgPj0gZmlyc3RTdXNwZW5kZWRUaW1lKSB7XFxuICAgICAgLy8gVGhlIGVudGlyZSBzdXNwZW5kZWQgcmFuZ2UgaXMgbm93IHVuc3VzcGVuZGVkLlxcbiAgICAgIHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gTm9Xb3JrO1xcbiAgICB9IGVsc2UgaWYgKGV4cGlyYXRpb25UaW1lID49IHJvb3QubGFzdFN1c3BlbmRlZFRpbWUpIHtcXG4gICAgICByb290Lmxhc3RTdXNwZW5kZWRUaW1lID0gZXhwaXJhdGlvblRpbWUgKyAxO1xcbiAgICB9IC8vIFRoaXMgaXMgYSBwZW5kaW5nIGxldmVsLiBDaGVjayBpZiBpdCdzIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBuZXh0XFxuICAgIC8vIGtub3duIHBlbmRpbmcgbGV2ZWwuXFxuXFxuXFxuICAgIGlmIChleHBpcmF0aW9uVGltZSA+IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsKSB7XFxuICAgICAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBleHBpcmF0aW9uVGltZTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkQXRUaW1lKHJvb3QsIGZpbmlzaGVkRXhwaXJhdGlvblRpbWUsIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lKSB7XFxuICAvLyBVcGRhdGUgdGhlIHJhbmdlIG9mIHBlbmRpbmcgdGltZXNcXG4gIHJvb3QuZmlyc3RQZW5kaW5nVGltZSA9IHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lOyAvLyBVcGRhdGUgdGhlIHJhbmdlIG9mIHN1c3BlbmRlZCB0aW1lcy4gVHJlYXQgZXZlcnl0aGluZyBoaWdoZXIgcHJpb3JpdHkgb3JcXG4gIC8vIGVxdWFsIHRvIHRoaXMgdXBkYXRlIGFzIHVuc3VzcGVuZGVkLlxcblxcbiAgaWYgKGZpbmlzaGVkRXhwaXJhdGlvblRpbWUgPD0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSkge1xcbiAgICAvLyBUaGUgZW50aXJlIHN1c3BlbmRlZCByYW5nZSBpcyBub3cgdW5zdXNwZW5kZWQuXFxuICAgIHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gTm9Xb3JrO1xcbiAgfSBlbHNlIGlmIChmaW5pc2hlZEV4cGlyYXRpb25UaW1lIDw9IHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lKSB7XFxuICAgIC8vIFBhcnQgb2YgdGhlIHN1c3BlbmRlZCByYW5nZSBpcyBub3cgdW5zdXNwZW5kZWQuIE5hcnJvdyB0aGUgcmFuZ2UgdG9cXG4gICAgLy8gaW5jbHVkZSBldmVyeXRoaW5nIGJldHdlZW4gdGhlIHVuc3VzcGVuZGVkIHRpbWUgKG5vbi1pbmNsdXNpdmUpIGFuZCB0aGVcXG4gICAgLy8gbGFzdCBzdXNwZW5kZWQgdGltZS5cXG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSBmaW5pc2hlZEV4cGlyYXRpb25UaW1lIC0gMTtcXG4gIH1cXG5cXG4gIGlmIChmaW5pc2hlZEV4cGlyYXRpb25UaW1lIDw9IHJvb3QubGFzdFBpbmdlZFRpbWUpIHtcXG4gICAgLy8gQ2xlYXIgdGhlIHBpbmdlZCB0aW1lXFxuICAgIHJvb3QubGFzdFBpbmdlZFRpbWUgPSBOb1dvcms7XFxuICB9XFxuXFxuICBpZiAoZmluaXNoZWRFeHBpcmF0aW9uVGltZSA8PSByb290Lmxhc3RFeHBpcmVkVGltZSkge1xcbiAgICAvLyBDbGVhciB0aGUgZXhwaXJlZCB0aW1lXFxuICAgIHJvb3QubGFzdEV4cGlyZWRUaW1lID0gTm9Xb3JrO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrUm9vdEV4cGlyZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcXG4gIHZhciBsYXN0RXhwaXJlZFRpbWUgPSByb290Lmxhc3RFeHBpcmVkVGltZTtcXG5cXG4gIGlmIChsYXN0RXhwaXJlZFRpbWUgPT09IE5vV29yayB8fCBsYXN0RXhwaXJlZFRpbWUgPiBleHBpcmF0aW9uVGltZSkge1xcbiAgICByb290Lmxhc3RFeHBpcmVkVGltZSA9IGV4cGlyYXRpb25UaW1lO1xcbiAgfVxcbn1cXG5cXG52YXIgZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcztcXG52YXIgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGU7XFxuXFxue1xcbiAgZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcyA9IGZhbHNlO1xcbiAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGUgPSB7fTtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KSB7XFxuICBpZiAoIXBhcmVudENvbXBvbmVudCkge1xcbiAgICByZXR1cm4gZW1wdHlDb250ZXh0T2JqZWN0O1xcbiAgfVxcblxcbiAgdmFyIGZpYmVyID0gZ2V0KHBhcmVudENvbXBvbmVudCk7XFxuICB2YXIgcGFyZW50Q29udGV4dCA9IGZpbmRDdXJyZW50VW5tYXNrZWRDb250ZXh0KGZpYmVyKTtcXG5cXG4gIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XFxuICAgIHZhciBDb21wb25lbnQgPSBmaWJlci50eXBlO1xcblxcbiAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xcbiAgICAgIHJldHVybiBwcm9jZXNzQ2hpbGRDb250ZXh0KGZpYmVyLCBDb21wb25lbnQsIHBhcmVudENvbnRleHQpO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gcGFyZW50Q29udGV4dDtcXG59XFxuXFxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudCwgbWV0aG9kTmFtZSkge1xcbiAge1xcbiAgICB2YXIgZmliZXIgPSBnZXQoY29tcG9uZW50KTtcXG5cXG4gICAgaWYgKGZpYmVyID09PSB1bmRlZmluZWQpIHtcXG4gICAgICBpZiAodHlwZW9mIGNvbXBvbmVudC5yZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIHtcXG4gICAgICAgICAge1xcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcXFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlxcXCIgKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICB7XFxuICAgICAgICAgIHtcXG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIkFyZ3VtZW50IGFwcGVhcnMgdG8gbm90IGJlIGEgUmVhY3RDb21wb25lbnQuIEtleXM6IFxcXCIgKyBPYmplY3Qua2V5cyhjb21wb25lbnQpICk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgdmFyIGhvc3RGaWJlciA9IGZpbmRDdXJyZW50SG9zdEZpYmVyKGZpYmVyKTtcXG5cXG4gICAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xcbiAgICAgIHJldHVybiBudWxsO1xcbiAgICB9XFxuXFxuICAgIGlmIChob3N0RmliZXIubW9kZSAmIFN0cmljdE1vZGUpIHtcXG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCc7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRGaW5kTm9kZUluU3RyaWN0TW9kZVtjb21wb25lbnROYW1lXSkge1xcbiAgICAgICAgZGlkV2FybkFib3V0RmluZE5vZGVJblN0cmljdE1vZGVbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xcblxcbiAgICAgICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RNb2RlKSB7XFxuICAgICAgICAgIGVycm9yKCclcyBpcyBkZXByZWNhdGVkIGluIFN0cmljdE1vZGUuICcgKyAnJXMgd2FzIHBhc3NlZCBhbiBpbnN0YW5jZSBvZiAlcyB3aGljaCBpcyBpbnNpZGUgU3RyaWN0TW9kZS4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLWZpbmQtbm9kZSVzJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGhvc3RGaWJlcikpO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgZXJyb3IoJyVzIGlzIGRlcHJlY2F0ZWQgaW4gU3RyaWN0TW9kZS4gJyArICclcyB3YXMgcGFzc2VkIGFuIGluc3RhbmNlIG9mICVzIHdoaWNoIHJlbmRlcnMgU3RyaWN0TW9kZSBjaGlsZHJlbi4gJyArICdJbnN0ZWFkLCBhZGQgYSByZWYgZGlyZWN0bHkgdG8gdGhlIGVsZW1lbnQgeW91IHdhbnQgdG8gcmVmZXJlbmNlLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLWZpbmQtbm9kZSVzJywgbWV0aG9kTmFtZSwgbWV0aG9kTmFtZSwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGhvc3RGaWJlcikpO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gY3JlYXRlQ29udGFpbmVyKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaHlkcmF0aW9uQ2FsbGJhY2tzKSB7XFxuICByZXR1cm4gY3JlYXRlRmliZXJSb290KGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSk7XFxufVxcbmZ1bmN0aW9uIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCBjb250YWluZXIsIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2spIHtcXG4gIHtcXG4gICAgb25TY2hlZHVsZVJvb3QoY29udGFpbmVyLCBlbGVtZW50KTtcXG4gIH1cXG5cXG4gIHZhciBjdXJyZW50JDEgPSBjb250YWluZXIuY3VycmVudDtcXG4gIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xcblxcbiAge1xcbiAgICAvLyAkRmxvd0V4cGVjdGVkRXJyb3IgLSBqZXN0IGlzbid0IGEgZ2xvYmFsLCBhbmQgaXNuJ3QgcmVjb2duaXplZCBvdXRzaWRlIG9mIHRlc3RzXFxuICAgIGlmICgndW5kZWZpbmVkJyAhPT0gdHlwZW9mIGplc3QpIHtcXG4gICAgICB3YXJuSWZVbm1vY2tlZFNjaGVkdWxlcihjdXJyZW50JDEpO1xcbiAgICAgIHdhcm5JZk5vdFNjb3BlZFdpdGhNYXRjaGluZ0FjdChjdXJyZW50JDEpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgc3VzcGVuc2VDb25maWcgPSByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCk7XFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBjdXJyZW50JDEsIHN1c3BlbnNlQ29uZmlnKTtcXG4gIHZhciBjb250ZXh0ID0gZ2V0Q29udGV4dEZvclN1YnRyZWUocGFyZW50Q29tcG9uZW50KTtcXG5cXG4gIGlmIChjb250YWluZXIuY29udGV4dCA9PT0gbnVsbCkge1xcbiAgICBjb250YWluZXIuY29udGV4dCA9IGNvbnRleHQ7XFxuICB9IGVsc2Uge1xcbiAgICBjb250YWluZXIucGVuZGluZ0NvbnRleHQgPSBjb250ZXh0O1xcbiAgfVxcblxcbiAge1xcbiAgICBpZiAoaXNSZW5kZXJpbmcgJiYgY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcykge1xcbiAgICAgIGRpZFdhcm5BYm91dE5lc3RlZFVwZGF0ZXMgPSB0cnVlO1xcblxcbiAgICAgIGVycm9yKCdSZW5kZXIgbWV0aG9kcyBzaG91bGQgYmUgYSBwdXJlIGZ1bmN0aW9uIG9mIHByb3BzIGFuZCBzdGF0ZTsgJyArICd0cmlnZ2VyaW5nIG5lc3RlZCBjb21wb25lbnQgdXBkYXRlcyBmcm9tIHJlbmRlciBpcyBub3QgYWxsb3dlZC4gJyArICdJZiBuZWNlc3NhcnksIHRyaWdnZXIgbmVzdGVkIHVwZGF0ZXMgaW4gY29tcG9uZW50RGlkVXBkYXRlLlxcXFxuXFxcXG4nICsgJ0NoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mICVzLicsIGdldENvbXBvbmVudE5hbWUoY3VycmVudC50eXBlKSB8fCAnVW5rbm93bicpO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZyk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcXG4gIC8vIGJlaW5nIGNhbGxlZCBcXFwiZWxlbWVudFxcXCIuXFxuXFxuICB1cGRhdGUucGF5bG9hZCA9IHtcXG4gICAgZWxlbWVudDogZWxlbWVudFxcbiAgfTtcXG4gIGNhbGxiYWNrID0gY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaztcXG5cXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xcbiAgICB7XFxuICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcXG4gIH1cXG5cXG4gIGVucXVldWVVcGRhdGUoY3VycmVudCQxLCB1cGRhdGUpO1xcbiAgc2NoZWR1bGVXb3JrKGN1cnJlbnQkMSwgZXhwaXJhdGlvblRpbWUpO1xcbiAgcmV0dXJuIGV4cGlyYXRpb25UaW1lO1xcbn1cXG5mdW5jdGlvbiBnZXRQdWJsaWNSb290SW5zdGFuY2UoY29udGFpbmVyKSB7XFxuICB2YXIgY29udGFpbmVyRmliZXIgPSBjb250YWluZXIuY3VycmVudDtcXG5cXG4gIGlmICghY29udGFpbmVyRmliZXIuY2hpbGQpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBzd2l0Y2ggKGNvbnRhaW5lckZpYmVyLmNoaWxkLnRhZykge1xcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XFxuICAgICAgcmV0dXJuIGdldFB1YmxpY0luc3RhbmNlKGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZSk7XFxuXFxuICAgIGRlZmF1bHQ6XFxuICAgICAgcmV0dXJuIGNvbnRhaW5lckZpYmVyLmNoaWxkLnN0YXRlTm9kZTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWFya1JldHJ5VGltZUltcGwoZmliZXIsIHJldHJ5VGltZSkge1xcbiAgdmFyIHN1c3BlbnNlU3RhdGUgPSBmaWJlci5tZW1vaXplZFN0YXRlO1xcblxcbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XFxuICAgIGlmIChzdXNwZW5zZVN0YXRlLnJldHJ5VGltZSA8IHJldHJ5VGltZSkge1xcbiAgICAgIHN1c3BlbnNlU3RhdGUucmV0cnlUaW1lID0gcmV0cnlUaW1lO1xcbiAgICB9XFxuICB9XFxufSAvLyBJbmNyZWFzZXMgdGhlIHByaW9yaXR5IG9mIHRoZW5uYWJsZXMgd2hlbiB0aGV5IHJlc29sdmUgd2l0aGluIHRoaXMgYm91bmRhcnkuXFxuXFxuXFxuZnVuY3Rpb24gbWFya1JldHJ5VGltZUlmTm90SHlkcmF0ZWQoZmliZXIsIHJldHJ5VGltZSkge1xcbiAgbWFya1JldHJ5VGltZUltcGwoZmliZXIsIHJldHJ5VGltZSk7XFxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xcblxcbiAgaWYgKGFsdGVybmF0ZSkge1xcbiAgICBtYXJrUmV0cnlUaW1lSW1wbChhbHRlcm5hdGUsIHJldHJ5VGltZSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24kMShmaWJlcikge1xcbiAgaWYgKGZpYmVyLnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcXG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcXG4gICAgLy8gdGhlaXIgcHJpb3JpdHkgYW5kIHRoZXkgc2hvdWxkIG5vdCBzdXNwZW5kIG9uIEkvTyxcXG4gICAgLy8gc2luY2UgeW91IGhhdmUgdG8gd3JhcCBhbnl0aGluZyB0aGF0IG1pZ2h0IHN1c3BlbmQgaW5cXG4gICAgLy8gU3VzcGVuc2UuXFxuICAgIHJldHVybjtcXG4gIH1cXG5cXG4gIHZhciBleHBUaW1lID0gY29tcHV0ZUludGVyYWN0aXZlRXhwaXJhdGlvbihyZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKSk7XFxuICBzY2hlZHVsZVdvcmsoZmliZXIsIGV4cFRpbWUpO1xcbiAgbWFya1JldHJ5VGltZUlmTm90SHlkcmF0ZWQoZmliZXIsIGV4cFRpbWUpO1xcbn1cXG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XFxuICBpZiAoZmliZXIudGFnICE9PSBTdXNwZW5zZUNvbXBvbmVudCkge1xcbiAgICAvLyBXZSBpZ25vcmUgSG9zdFJvb3RzIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBpbmNyZWFzZVxcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxcbiAgICAvLyBzaW5jZSB5b3UgaGF2ZSB0byB3cmFwIGFueXRoaW5nIHRoYXQgbWlnaHQgc3VzcGVuZCBpblxcbiAgICAvLyBTdXNwZW5zZS5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgc2NoZWR1bGVXb3JrKGZpYmVyLCBDb250aW51b3VzSHlkcmF0aW9uKTtcXG4gIG1hcmtSZXRyeVRpbWVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBDb250aW51b3VzSHlkcmF0aW9uKTtcXG59XFxuZnVuY3Rpb24gYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEoZmliZXIpIHtcXG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XFxuICAgIC8vIFdlIGlnbm9yZSBIb3N0Um9vdHMgaGVyZSBiZWNhdXNlIHdlIGNhbid0IGluY3JlYXNlXFxuICAgIC8vIHRoZWlyIHByaW9yaXR5IG90aGVyIHRoYW4gc3luY2hyb25vdXNseSBmbHVzaCBpdC5cXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XFxuICB2YXIgZXhwVGltZSA9IGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIoY3VycmVudFRpbWUsIGZpYmVyLCBudWxsKTtcXG4gIHNjaGVkdWxlV29yayhmaWJlciwgZXhwVGltZSk7XFxuICBtYXJrUmV0cnlUaW1lSWZOb3RIeWRyYXRlZChmaWJlciwgZXhwVGltZSk7XFxufVxcbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGZpYmVyKSB7XFxuICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXJXaXRoTm9Qb3J0YWxzKGZpYmVyKTtcXG5cXG4gIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcXG4gICAgcmV0dXJuIG51bGw7XFxuICB9XFxuXFxuICBpZiAoaG9zdEZpYmVyLnRhZyA9PT0gRnVuZGFtZW50YWxDb21wb25lbnQpIHtcXG4gICAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGUuaW5zdGFuY2U7XFxuICB9XFxuXFxuICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcXG59XFxuXFxudmFyIHNob3VsZFN1c3BlbmRJbXBsID0gZnVuY3Rpb24gKGZpYmVyKSB7XFxuICByZXR1cm4gZmFsc2U7XFxufTtcXG5cXG5mdW5jdGlvbiBzaG91bGRTdXNwZW5kKGZpYmVyKSB7XFxuICByZXR1cm4gc2hvdWxkU3VzcGVuZEltcGwoZmliZXIpO1xcbn1cXG52YXIgb3ZlcnJpZGVIb29rU3RhdGUgPSBudWxsO1xcbnZhciBvdmVycmlkZVByb3BzID0gbnVsbDtcXG52YXIgc2NoZWR1bGVVcGRhdGUgPSBudWxsO1xcbnZhciBzZXRTdXNwZW5zZUhhbmRsZXIgPSBudWxsO1xcblxcbntcXG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpZHgsIHZhbHVlKSB7XFxuICAgIGlmIChpZHggPj0gcGF0aC5sZW5ndGgpIHtcXG4gICAgICByZXR1cm4gdmFsdWU7XFxuICAgIH1cXG5cXG4gICAgdmFyIGtleSA9IHBhdGhbaWR4XTtcXG4gICAgdmFyIHVwZGF0ZWQgPSBBcnJheS5pc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IF9hc3NpZ24oe30sIG9iaik7IC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcXG5cXG4gICAgdXBkYXRlZFtrZXldID0gY29weVdpdGhTZXRJbXBsKG9ialtrZXldLCBwYXRoLCBpZHggKyAxLCB2YWx1ZSk7XFxuICAgIHJldHVybiB1cGRhdGVkO1xcbiAgfTtcXG5cXG4gIHZhciBjb3B5V2l0aFNldCA9IGZ1bmN0aW9uIChvYmosIHBhdGgsIHZhbHVlKSB7XFxuICAgIHJldHVybiBjb3B5V2l0aFNldEltcGwob2JqLCBwYXRoLCAwLCB2YWx1ZSk7XFxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIGVkaXRhYmxlIHZhbHVlcyBmb3IgdXNlU3RhdGUgYW5kIHVzZVJlZHVjZXIuXFxuXFxuXFxuICBvdmVycmlkZUhvb2tTdGF0ZSA9IGZ1bmN0aW9uIChmaWJlciwgaWQsIHBhdGgsIHZhbHVlKSB7XFxuICAgIC8vIEZvciBub3csIHRoZSBcXFwiaWRcXFwiIG9mIHN0YXRlZnVsIGhvb2tzIGlzIGp1c3QgdGhlIHN0YXRlZnVsIGhvb2sgaW5kZXguXFxuICAgIC8vIFRoaXMgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlIHdpdGggZS5nLiBuZXN0ZWQgaG9va3MuXFxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XFxuXFxuICAgIHdoaWxlIChjdXJyZW50SG9vayAhPT0gbnVsbCAmJiBpZCA+IDApIHtcXG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XFxuICAgICAgaWQtLTtcXG4gICAgfVxcblxcbiAgICBpZiAoY3VycmVudEhvb2sgIT09IG51bGwpIHtcXG4gICAgICB2YXIgbmV3U3RhdGUgPSBjb3B5V2l0aFNldChjdXJyZW50SG9vay5tZW1vaXplZFN0YXRlLCBwYXRoLCB2YWx1ZSk7XFxuICAgICAgY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xcbiAgICAgIGN1cnJlbnRIb29rLmJhc2VTdGF0ZSA9IG5ld1N0YXRlOyAvLyBXZSBhcmVuJ3QgYWN0dWFsbHkgYWRkaW5nIGFuIHVwZGF0ZSB0byB0aGUgcXVldWUsXFxuICAgICAgLy8gYmVjYXVzZSB0aGVyZSBpcyBubyB1cGRhdGUgd2UgY2FuIGFkZCBmb3IgdXNlUmVkdWNlciBob29rcyB0aGF0IHdvbid0IHRyaWdnZXIgYW4gZXJyb3IuXFxuICAgICAgLy8gKFRoZXJlJ3Mgbm8gYXBwcm9wcmlhdGUgYWN0aW9uIHR5cGUgZm9yIERldlRvb2xzIG92ZXJyaWRlcy4pXFxuICAgICAgLy8gQXMgYSByZXN1bHQgdGhvdWdoLCBSZWFjdCB3aWxsIHNlZSB0aGUgc2NoZWR1bGVkIHVwZGF0ZSBhcyBhIG5vb3AgYW5kIGJhaWxvdXQuXFxuICAgICAgLy8gU2hhbGxvdyBjbG9uaW5nIHByb3BzIHdvcmtzIGFzIGEgd29ya2Fyb3VuZCBmb3Igbm93IHRvIGJ5cGFzcyB0aGUgYmFpbG91dCBjaGVjay5cXG5cXG4gICAgICBmaWJlci5tZW1vaXplZFByb3BzID0gX2Fzc2lnbih7fSwgZmliZXIubWVtb2l6ZWRQcm9wcyk7XFxuICAgICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcXG4gICAgfVxcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBwcm9wcyBmb3IgZnVuY3Rpb24gY29tcG9uZW50cywgZm9yd2FyZFJlZiwgbWVtbywgaG9zdCBjb21wb25lbnRzLCBldGMuXFxuXFxuXFxuICBvdmVycmlkZVByb3BzID0gZnVuY3Rpb24gKGZpYmVyLCBwYXRoLCB2YWx1ZSkge1xcbiAgICBmaWJlci5wZW5kaW5nUHJvcHMgPSBjb3B5V2l0aFNldChmaWJlci5tZW1vaXplZFByb3BzLCBwYXRoLCB2YWx1ZSk7XFxuXFxuICAgIGlmIChmaWJlci5hbHRlcm5hdGUpIHtcXG4gICAgICBmaWJlci5hbHRlcm5hdGUucGVuZGluZ1Byb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xcbiAgICB9XFxuXFxuICAgIHNjaGVkdWxlV29yayhmaWJlciwgU3luYyk7XFxuICB9O1xcblxcbiAgc2NoZWR1bGVVcGRhdGUgPSBmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcXG4gIH07XFxuXFxuICBzZXRTdXNwZW5zZUhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkU3VzcGVuZEltcGwpIHtcXG4gICAgc2hvdWxkU3VzcGVuZEltcGwgPSBuZXdTaG91bGRTdXNwZW5kSW1wbDtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGluamVjdEludG9EZXZUb29scyhkZXZUb29sc0NvbmZpZykge1xcbiAgdmFyIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlID0gZGV2VG9vbHNDb25maWcuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U7XFxuICB2YXIgUmVhY3RDdXJyZW50RGlzcGF0Y2hlciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudERpc3BhdGNoZXI7XFxuICByZXR1cm4gaW5qZWN0SW50ZXJuYWxzKF9hc3NpZ24oe30sIGRldlRvb2xzQ29uZmlnLCB7XFxuICAgIG92ZXJyaWRlSG9va1N0YXRlOiBvdmVycmlkZUhvb2tTdGF0ZSxcXG4gICAgb3ZlcnJpZGVQcm9wczogb3ZlcnJpZGVQcm9wcyxcXG4gICAgc2V0U3VzcGVuc2VIYW5kbGVyOiBzZXRTdXNwZW5zZUhhbmRsZXIsXFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcXG4gICAgY3VycmVudERpc3BhdGNoZXJSZWY6IFJlYWN0Q3VycmVudERpc3BhdGNoZXIsXFxuICAgIGZpbmRIb3N0SW5zdGFuY2VCeUZpYmVyOiBmdW5jdGlvbiAoZmliZXIpIHtcXG4gICAgICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXIoZmliZXIpO1xcblxcbiAgICAgIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcXG4gICAgICAgIHJldHVybiBudWxsO1xcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcXG4gICAgfSxcXG4gICAgZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6IGZ1bmN0aW9uIChpbnN0YW5jZSkge1xcbiAgICAgIGlmICghZmluZEZpYmVyQnlIb3N0SW5zdGFuY2UpIHtcXG4gICAgICAgIC8vIE1pZ2h0IG5vdCBiZSBpbXBsZW1lbnRlZCBieSB0aGUgcmVuZGVyZXIuXFxuICAgICAgICByZXR1cm4gbnVsbDtcXG4gICAgICB9XFxuXFxuICAgICAgcmV0dXJuIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlKGluc3RhbmNlKTtcXG4gICAgfSxcXG4gICAgLy8gUmVhY3QgUmVmcmVzaFxcbiAgICBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2g6ICBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2ggLFxcbiAgICBzY2hlZHVsZVJlZnJlc2g6ICBzY2hlZHVsZVJlZnJlc2ggLFxcbiAgICBzY2hlZHVsZVJvb3Q6ICBzY2hlZHVsZVJvb3QgLFxcbiAgICBzZXRSZWZyZXNoSGFuZGxlcjogIHNldFJlZnJlc2hIYW5kbGVyICxcXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBhcHBlbmQgb3duZXIgc3RhY2tzIHRvIGVycm9yIG1lc3NhZ2VzIGluIERFViBtb2RlLlxcbiAgICBnZXRDdXJyZW50RmliZXI6ICBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIGN1cnJlbnQ7XFxuICAgIH0gXFxuICB9KSk7XFxufVxcbnZhciBJc1NvbWVSZW5kZXJlckFjdGluZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuSXNTb21lUmVuZGVyZXJBY3Rpbmc7XFxuXFxuZnVuY3Rpb24gUmVhY3RET01Sb290KGNvbnRhaW5lciwgb3B0aW9ucykge1xcbiAgdGhpcy5faW50ZXJuYWxSb290ID0gY3JlYXRlUm9vdEltcGwoY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgb3B0aW9ucyk7XFxufVxcblxcbmZ1bmN0aW9uIFJlYWN0RE9NQmxvY2tpbmdSb290KGNvbnRhaW5lciwgdGFnLCBvcHRpb25zKSB7XFxuICB0aGlzLl9pbnRlcm5hbFJvb3QgPSBjcmVhdGVSb290SW1wbChjb250YWluZXIsIHRhZywgb3B0aW9ucyk7XFxufVxcblxcblJlYWN0RE9NUm9vdC5wcm90b3R5cGUucmVuZGVyID0gUmVhY3RET01CbG9ja2luZ1Jvb3QucHJvdG90eXBlLnJlbmRlciA9IGZ1bmN0aW9uIChjaGlsZHJlbikge1xcbiAgdmFyIHJvb3QgPSB0aGlzLl9pbnRlcm5hbFJvb3Q7XFxuXFxuICB7XFxuICAgIGlmICh0eXBlb2YgYXJndW1lbnRzWzFdID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XFxuICAgIH1cXG5cXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcXG5cXG4gICAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSAhPT0gQ09NTUVOVF9OT0RFKSB7XFxuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XFxuXFxuICAgICAgaWYgKGhvc3RJbnN0YW5jZSkge1xcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcXG4gICAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBJdCBsb29rcyBsaWtlIHRoZSBSZWFjdC1yZW5kZXJlZCBjb250ZW50IG9mIHRoZSAnICsgJ3Jvb3QgY29udGFpbmVyIHdhcyByZW1vdmVkIHdpdGhvdXQgdXNpbmcgUmVhY3QuIFRoaXMgaXMgbm90ICcgKyAnc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGVycm9ycy4gSW5zdGVhZCwgY2FsbCAnICsgXFxcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cXFwiKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHVwZGF0ZUNvbnRhaW5lcihjaGlsZHJlbiwgcm9vdCwgbnVsbCwgbnVsbCk7XFxufTtcXG5cXG5SZWFjdERPTVJvb3QucHJvdG90eXBlLnVubW91bnQgPSBSZWFjdERPTUJsb2NraW5nUm9vdC5wcm90b3R5cGUudW5tb3VudCA9IGZ1bmN0aW9uICgpIHtcXG4gIHtcXG4gICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcigndW5tb3VudCguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IGEgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHZhciByb290ID0gdGhpcy5faW50ZXJuYWxSb290O1xcbiAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcXG4gIHVwZGF0ZUNvbnRhaW5lcihudWxsLCByb290LCBudWxsLCBmdW5jdGlvbiAoKSB7XFxuICAgIHVubWFya0NvbnRhaW5lckFzUm9vdChjb250YWluZXIpO1xcbiAgfSk7XFxufTtcXG5cXG5mdW5jdGlvbiBjcmVhdGVSb290SW1wbChjb250YWluZXIsIHRhZywgb3B0aW9ucykge1xcbiAgLy8gVGFnIGlzIGVpdGhlciBMZWdhY3lSb290IG9yIENvbmN1cnJlbnQgUm9vdFxcbiAgdmFyIGh5ZHJhdGUgPSBvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy5oeWRyYXRlID09PSB0cnVlO1xcbiAgdmFyIGh5ZHJhdGlvbkNhbGxiYWNrcyA9IG9wdGlvbnMgIT0gbnVsbCAmJiBvcHRpb25zLmh5ZHJhdGlvbk9wdGlvbnMgfHwgbnVsbDtcXG4gIHZhciByb290ID0gY3JlYXRlQ29udGFpbmVyKGNvbnRhaW5lciwgdGFnLCBoeWRyYXRlKTtcXG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xcblxcbiAgaWYgKGh5ZHJhdGUgJiYgdGFnICE9PSBMZWdhY3lSb290KSB7XFxuICAgIHZhciBkb2MgPSBjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyBjb250YWluZXIgOiBjb250YWluZXIub3duZXJEb2N1bWVudDtcXG4gICAgZWFnZXJseVRyYXBSZXBsYXlhYmxlRXZlbnRzKGNvbnRhaW5lciwgZG9jKTtcXG4gIH1cXG5cXG4gIHJldHVybiByb290O1xcbn1cXG5mdW5jdGlvbiBjcmVhdGVMZWdhY3lSb290KGNvbnRhaW5lciwgb3B0aW9ucykge1xcbiAgcmV0dXJuIG5ldyBSZWFjdERPTUJsb2NraW5nUm9vdChjb250YWluZXIsIExlZ2FjeVJvb3QsIG9wdGlvbnMpO1xcbn1cXG5mdW5jdGlvbiBpc1ZhbGlkQ29udGFpbmVyKG5vZGUpIHtcXG4gIHJldHVybiAhIShub2RlICYmIChub2RlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSAmJiBub2RlLm5vZGVWYWx1ZSA9PT0gJyByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAnKSk7XFxufVxcblxcbnZhciBSZWFjdEN1cnJlbnRPd25lciQzID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50T3duZXI7XFxudmFyIHRvcExldmVsVXBkYXRlV2FybmluZ3M7XFxudmFyIHdhcm5lZEFib3V0SHlkcmF0ZUFQSSA9IGZhbHNlO1xcblxcbntcXG4gIHRvcExldmVsVXBkYXRlV2FybmluZ3MgPSBmdW5jdGlvbiAoY29udGFpbmVyKSB7XFxuICAgIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciAmJiBjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xcbiAgICAgIHZhciBob3N0SW5zdGFuY2UgPSBmaW5kSG9zdEluc3RhbmNlV2l0aE5vUG9ydGFscyhjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lci5faW50ZXJuYWxSb290LmN1cnJlbnQpO1xcblxcbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcXG4gICAgICAgIGlmIChob3N0SW5zdGFuY2UucGFyZW50Tm9kZSAhPT0gY29udGFpbmVyKSB7XFxuICAgICAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogSXQgbG9va3MgbGlrZSB0aGUgUmVhY3QtcmVuZGVyZWQgY29udGVudCBvZiB0aGlzICcgKyAnY29udGFpbmVyIHdhcyByZW1vdmVkIHdpdGhvdXQgdXNpbmcgUmVhY3QuIFRoaXMgaXMgbm90ICcgKyAnc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGVycm9ycy4gSW5zdGVhZCwgY2FsbCAnICsgJ1JlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUgdG8gZW1wdHkgYSBjb250YWluZXIuJyk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuXFxuICAgIHZhciBpc1Jvb3RSZW5kZXJlZEJ5U29tZVJlYWN0ID0gISFjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcjtcXG4gICAgdmFyIHJvb3RFbCA9IGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpO1xcbiAgICB2YXIgaGFzTm9uUm9vdFJlYWN0Q2hpbGQgPSAhIShyb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKHJvb3RFbCkpO1xcblxcbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcXG4gICAgICBlcnJvcigncmVuZGVyKC4uLik6IFJlcGxhY2luZyBSZWFjdC1yZW5kZXJlZCBjaGlsZHJlbiB3aXRoIGEgbmV3IHJvb3QgJyArICdjb21wb25lbnQuIElmIHlvdSBpbnRlbmRlZCB0byB1cGRhdGUgdGhlIGNoaWxkcmVuIG9mIHRoaXMgbm9kZSwgJyArICd5b3Ugc2hvdWxkIGluc3RlYWQgaGF2ZSB0aGUgZXhpc3RpbmcgY2hpbGRyZW4gdXBkYXRlIHRoZWlyIHN0YXRlICcgKyAnYW5kIHJlbmRlciB0aGUgbmV3IGNvbXBvbmVudHMgaW5zdGVhZCBvZiBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlci4nKTtcXG4gICAgfVxcblxcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgJiYgY29udGFpbmVyLnRhZ05hbWUgJiYgY29udGFpbmVyLnRhZ05hbWUudG9VcHBlckNhc2UoKSA9PT0gJ0JPRFknKSB7XFxuICAgICAgZXJyb3IoJ3JlbmRlcigpOiBSZW5kZXJpbmcgY29tcG9uZW50cyBkaXJlY3RseSBpbnRvIGRvY3VtZW50LmJvZHkgaXMgJyArICdkaXNjb3VyYWdlZCwgc2luY2UgaXRzIGNoaWxkcmVuIGFyZSBvZnRlbiBtYW5pcHVsYXRlZCBieSB0aGlyZC1wYXJ0eSAnICsgJ3NjcmlwdHMgYW5kIGJyb3dzZXIgZXh0ZW5zaW9ucy4gVGhpcyBtYXkgbGVhZCB0byBzdWJ0bGUgJyArICdyZWNvbmNpbGlhdGlvbiBpc3N1ZXMuIFRyeSByZW5kZXJpbmcgaW50byBhIGNvbnRhaW5lciBlbGVtZW50IGNyZWF0ZWQgJyArICdmb3IgeW91ciBhcHAuJyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpIHtcXG4gIGlmICghY29udGFpbmVyKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xcbiAgICByZXR1cm4gY29udGFpbmVyLmRvY3VtZW50RWxlbWVudDtcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gc2hvdWxkSHlkcmF0ZUR1ZVRvTGVnYWN5SGV1cmlzdGljKGNvbnRhaW5lcikge1xcbiAgdmFyIHJvb3RFbGVtZW50ID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XFxuICByZXR1cm4gISEocm9vdEVsZW1lbnQgJiYgcm9vdEVsZW1lbnQubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiByb290RWxlbWVudC5oYXNBdHRyaWJ1dGUoUk9PVF9BVFRSSUJVVEVfTkFNRSkpO1xcbn1cXG5cXG5mdW5jdGlvbiBsZWdhY3lDcmVhdGVSb290RnJvbURPTUNvbnRhaW5lcihjb250YWluZXIsIGZvcmNlSHlkcmF0ZSkge1xcbiAgdmFyIHNob3VsZEh5ZHJhdGUgPSBmb3JjZUh5ZHJhdGUgfHwgc2hvdWxkSHlkcmF0ZUR1ZVRvTGVnYWN5SGV1cmlzdGljKGNvbnRhaW5lcik7IC8vIEZpcnN0IGNsZWFyIGFueSBleGlzdGluZyBjb250ZW50LlxcblxcbiAgaWYgKCFzaG91bGRIeWRyYXRlKSB7XFxuICAgIHZhciB3YXJuZWQgPSBmYWxzZTtcXG4gICAgdmFyIHJvb3RTaWJsaW5nO1xcblxcbiAgICB3aGlsZSAocm9vdFNpYmxpbmcgPSBjb250YWluZXIubGFzdENoaWxkKSB7XFxuICAgICAge1xcbiAgICAgICAgaWYgKCF3YXJuZWQgJiYgcm9vdFNpYmxpbmcubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiByb290U2libGluZy5oYXNBdHRyaWJ1dGUoUk9PVF9BVFRSSUJVVEVfTkFNRSkpIHtcXG4gICAgICAgICAgd2FybmVkID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgZXJyb3IoJ3JlbmRlcigpOiBUYXJnZXQgbm9kZSBoYXMgbWFya3VwIHJlbmRlcmVkIGJ5IFJlYWN0LCBidXQgdGhlcmUgJyArICdhcmUgdW5yZWxhdGVkIG5vZGVzIGFzIHdlbGwuIFRoaXMgaXMgbW9zdCBjb21tb25seSBjYXVzZWQgYnkgJyArICd3aGl0ZS1zcGFjZSBpbnNlcnRlZCBhcm91bmQgc2VydmVyLXJlbmRlcmVkIG1hcmt1cC4nKTtcXG4gICAgICAgIH1cXG4gICAgICB9XFxuXFxuICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKHJvb3RTaWJsaW5nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAge1xcbiAgICBpZiAoc2hvdWxkSHlkcmF0ZSAmJiAhZm9yY2VIeWRyYXRlICYmICF3YXJuZWRBYm91dEh5ZHJhdGVBUEkpIHtcXG4gICAgICB3YXJuZWRBYm91dEh5ZHJhdGVBUEkgPSB0cnVlO1xcblxcbiAgICAgIHdhcm4oJ3JlbmRlcigpOiBDYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIHRvIGh5ZHJhdGUgc2VydmVyLXJlbmRlcmVkIG1hcmt1cCAnICsgJ3dpbGwgc3RvcCB3b3JraW5nIGluIFJlYWN0IHYxNy4gUmVwbGFjZSB0aGUgUmVhY3RET00ucmVuZGVyKCkgY2FsbCAnICsgJ3dpdGggUmVhY3RET00uaHlkcmF0ZSgpIGlmIHlvdSB3YW50IFJlYWN0IHRvIGF0dGFjaCB0byB0aGUgc2VydmVyIEhUTUwuJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBjcmVhdGVMZWdhY3lSb290KGNvbnRhaW5lciwgc2hvdWxkSHlkcmF0ZSA/IHtcXG4gICAgaHlkcmF0ZTogdHJ1ZVxcbiAgfSA6IHVuZGVmaW5lZCk7XFxufVxcblxcbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XFxuICB7XFxuICAgIGlmIChjYWxsYmFjayAhPT0gbnVsbCAmJiB0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGNoaWxkcmVuLCBjb250YWluZXIsIGZvcmNlSHlkcmF0ZSwgY2FsbGJhY2spIHtcXG4gIHtcXG4gICAgdG9wTGV2ZWxVcGRhdGVXYXJuaW5ncyhjb250YWluZXIpO1xcbiAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2skMShjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrLCAncmVuZGVyJyk7XFxuICB9IC8vIFRPRE86IFdpdGhvdXQgYGFueWAgdHlwZSwgRmxvdyBzYXlzIFxcXCJQcm9wZXJ0eSBjYW5ub3QgYmUgYWNjZXNzZWQgb24gYW55XFxuICAvLyBtZW1iZXIgb2YgaW50ZXJzZWN0aW9uIHR5cGUuXFxcIiBXaHl5eXl5eS5cXG5cXG5cXG4gIHZhciByb290ID0gY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXI7XFxuICB2YXIgZmliZXJSb290O1xcblxcbiAgaWYgKCFyb290KSB7XFxuICAgIC8vIEluaXRpYWwgbW91bnRcXG4gICAgcm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbGVnYWN5Q3JlYXRlUm9vdEZyb21ET01Db250YWluZXIoY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUpO1xcbiAgICBmaWJlclJvb3QgPSByb290Ll9pbnRlcm5hbFJvb3Q7XFxuXFxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB2YXIgb3JpZ2luYWxDYWxsYmFjayA9IGNhbGxiYWNrO1xcblxcbiAgICAgIGNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZ2V0UHVibGljUm9vdEluc3RhbmNlKGZpYmVyUm9vdCk7XFxuICAgICAgICBvcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xcbiAgICAgIH07XFxuICAgIH0gLy8gSW5pdGlhbCBtb3VudCBzaG91bGQgbm90IGJlIGJhdGNoZWQuXFxuXFxuXFxuICAgIHVuYmF0Y2hlZFVwZGF0ZXMoZnVuY3Rpb24gKCkge1xcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihjaGlsZHJlbiwgZmliZXJSb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcXG4gICAgfSk7XFxuICB9IGVsc2Uge1xcbiAgICBmaWJlclJvb3QgPSByb290Ll9pbnRlcm5hbFJvb3Q7XFxuXFxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICB2YXIgX29yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcXG5cXG4gICAgICBjYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShmaWJlclJvb3QpO1xcblxcbiAgICAgICAgX29yaWdpbmFsQ2FsbGJhY2suY2FsbChpbnN0YW5jZSk7XFxuICAgICAgfTtcXG4gICAgfSAvLyBVcGRhdGVcXG5cXG5cXG4gICAgdXBkYXRlQ29udGFpbmVyKGNoaWxkcmVuLCBmaWJlclJvb3QsIHBhcmVudENvbXBvbmVudCwgY2FsbGJhY2spO1xcbiAgfVxcblxcbiAgcmV0dXJuIGdldFB1YmxpY1Jvb3RJbnN0YW5jZShmaWJlclJvb3QpO1xcbn1cXG5cXG5mdW5jdGlvbiBmaW5kRE9NTm9kZShjb21wb25lbnRPckVsZW1lbnQpIHtcXG4gIHtcXG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xcblxcbiAgICBpZiAob3duZXIgIT09IG51bGwgJiYgb3duZXIuc3RhdGVOb2RlICE9PSBudWxsKSB7XFxuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcXG5cXG4gICAgICBpZiAoIXdhcm5lZEFib3V0UmVmc0luUmVuZGVyKSB7XFxuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpIHx8ICdBIGNvbXBvbmVudCcpO1xcbiAgICAgIH1cXG5cXG4gICAgICBvd25lci5zdGF0ZU5vZGUuX3dhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudCA9PSBudWxsKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgaWYgKGNvbXBvbmVudE9yRWxlbWVudC5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFKSB7XFxuICAgIHJldHVybiBjb21wb25lbnRPckVsZW1lbnQ7XFxuICB9XFxuXFxuICB7XFxuICAgIHJldHVybiBmaW5kSG9zdEluc3RhbmNlV2l0aFdhcm5pbmcoY29tcG9uZW50T3JFbGVtZW50LCAnZmluZERPTU5vZGUnKTtcXG4gIH1cXG59XFxuZnVuY3Rpb24gaHlkcmF0ZShlbGVtZW50LCBjb250YWluZXIsIGNhbGxiYWNrKSB7XFxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAge1xcbiAgICB2YXIgaXNNb2Rlcm5Sb290ID0gaXNDb250YWluZXJNYXJrZWRBc1Jvb3QoY29udGFpbmVyKSAmJiBjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lciA9PT0gdW5kZWZpbmVkO1xcblxcbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XFxuICAgICAgZXJyb3IoJ1lvdSBhcmUgY2FsbGluZyBSZWFjdERPTS5oeWRyYXRlKCkgb24gYSBjb250YWluZXIgdGhhdCB3YXMgcHJldmlvdXNseSAnICsgJ3Bhc3NlZCB0byBSZWFjdERPTS5jcmVhdGVSb290KCkuIFRoaXMgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCBjcmVhdGVSb290KGNvbnRhaW5lciwge2h5ZHJhdGU6IHRydWV9KS5yZW5kZXIoZWxlbWVudCk/Jyk7XFxuICAgIH1cXG4gIH0gLy8gVE9ETzogdGhyb3cgb3Igd2FybiBpZiB3ZSBjb3VsZG4ndCBoeWRyYXRlP1xcblxcblxcbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgdHJ1ZSwgY2FsbGJhY2spO1xcbn1cXG5mdW5jdGlvbiByZW5kZXIoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcXG5cXG4gICAgaWYgKGlzTW9kZXJuUm9vdCkge1xcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyKCkgb24gYSBjb250YWluZXIgdGhhdCB3YXMgcHJldmlvdXNseSAnICsgJ3Bhc3NlZCB0byBSZWFjdERPTS5jcmVhdGVSb290KCkuIFRoaXMgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCByb290LnJlbmRlcihlbGVtZW50KT8nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcXG59XFxuZnVuY3Rpb24gdW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBlbGVtZW50LCBjb250YWluZXJOb2RlLCBjYWxsYmFjaykge1xcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lck5vZGUpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcIlRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAoIShwYXJlbnRDb21wb25lbnQgIT0gbnVsbCAmJiBoYXMocGFyZW50Q29tcG9uZW50KSkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwicGFyZW50Q29tcG9uZW50IG11c3QgYmUgYSB2YWxpZCBSZWFjdCBDb21wb25lbnRcXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGVsZW1lbnQsIGNvbnRhaW5lck5vZGUsIGZhbHNlLCBjYWxsYmFjayk7XFxufVxcbmZ1bmN0aW9uIHVubW91bnRDb21wb25lbnRBdE5vZGUoY29udGFpbmVyKSB7XFxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJ1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICB7XFxuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XFxuXFxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcXG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBEaWQgeW91IG1lYW4gdG8gY2FsbCByb290LnVubW91bnQoKT8nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgaWYgKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyKSB7XFxuICAgIHtcXG4gICAgICB2YXIgcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XFxuICAgICAgdmFyIHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCA9IHJvb3RFbCAmJiAhZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKHJvb3RFbCk7XFxuXFxuICAgICAgaWYgKHJlbmRlcmVkQnlEaWZmZXJlbnRSZWFjdCkge1xcbiAgICAgICAgZXJyb3IoXFxcInVubW91bnRDb21wb25lbnRBdE5vZGUoKTogVGhlIG5vZGUgeW91J3JlIGF0dGVtcHRpbmcgdG8gdW5tb3VudCBcXFwiICsgJ3dhcyByZW5kZXJlZCBieSBhbm90aGVyIGNvcHkgb2YgUmVhY3QuJyk7XFxuICAgICAgfVxcbiAgICB9IC8vIFVubW91bnQgc2hvdWxkIG5vdCBiZSBiYXRjaGVkLlxcblxcblxcbiAgICB1bmJhdGNoZWRVcGRhdGVzKGZ1bmN0aW9uICgpIHtcXG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAvLyAkRmxvd0ZpeE1lIFRoaXMgc2hvdWxkIHByb2JhYmx5IHVzZSBgZGVsZXRlIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyYFxcbiAgICAgICAgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSBudWxsO1xcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XFxuICAgICAgfSk7XFxuICAgIH0pOyAvLyBJZiB5b3UgY2FsbCB1bm1vdW50Q29tcG9uZW50QXROb2RlIHR3aWNlIGluIHF1aWNrIHN1Y2Nlc3Npb24sIHlvdSdsbFxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cXG5cXG4gICAgcmV0dXJuIHRydWU7XFxuICB9IGVsc2Uge1xcbiAgICB7XFxuICAgICAgdmFyIF9yb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcXG5cXG4gICAgICB2YXIgaGFzTm9uUm9vdFJlYWN0Q2hpbGQgPSAhIShfcm9vdEVsICYmIGdldEluc3RhbmNlRnJvbU5vZGUkMShfcm9vdEVsKSk7IC8vIENoZWNrIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIGlzIGEgUmVhY3Qgcm9vdCBub2RlLlxcblxcbiAgICAgIHZhciBpc0NvbnRhaW5lclJlYWN0Um9vdCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFICYmIGlzVmFsaWRDb250YWluZXIoY29udGFpbmVyLnBhcmVudE5vZGUpICYmICEhY29udGFpbmVyLnBhcmVudE5vZGUuX3JlYWN0Um9vdENvbnRhaW5lcjtcXG5cXG4gICAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQpIHtcXG4gICAgICAgIGVycm9yKFxcXCJ1bm1vdW50Q29tcG9uZW50QXROb2RlKCk6IFRoZSBub2RlIHlvdSdyZSBhdHRlbXB0aW5nIHRvIHVubW91bnQgXFxcIiArICd3YXMgcmVuZGVyZWQgYnkgUmVhY3QgYW5kIGlzIG5vdCBhIHRvcC1sZXZlbCBjb250YWluZXIuICVzJywgaXNDb250YWluZXJSZWFjdFJvb3QgPyAnWW91IG1heSBoYXZlIGFjY2lkZW50YWxseSBwYXNzZWQgaW4gYSBSZWFjdCByb290IG5vZGUgaW5zdGVhZCAnICsgJ29mIGl0cyBjb250YWluZXIuJyA6ICdJbnN0ZWFkLCBoYXZlIHRoZSBwYXJlbnQgY29tcG9uZW50IHVwZGF0ZSBpdHMgc3RhdGUgYW5kICcgKyAncmVyZW5kZXIgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoaXMgY29tcG9uZW50LicpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVySW5mbywgLy8gVE9ETzogZmlndXJlIG91dCB0aGUgQVBJIGZvciBjcm9zcy1yZW5kZXJlciBpbXBsZW1lbnRhdGlvbi5cXG5pbXBsZW1lbnRhdGlvbikge1xcbiAgdmFyIGtleSA9IGFyZ3VtZW50cy5sZW5ndGggPiAzICYmIGFyZ3VtZW50c1szXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzNdIDogbnVsbDtcXG4gIHJldHVybiB7XFxuICAgIC8vIFRoaXMgdGFnIGFsbG93IHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBQb3J0YWxcXG4gICAgJCR0eXBlb2Y6IFJFQUNUX1BPUlRBTF9UWVBFLFxcbiAgICBrZXk6IGtleSA9PSBudWxsID8gbnVsbCA6ICcnICsga2V5LFxcbiAgICBjaGlsZHJlbjogY2hpbGRyZW4sXFxuICAgIGNvbnRhaW5lckluZm86IGNvbnRhaW5lckluZm8sXFxuICAgIGltcGxlbWVudGF0aW9uOiBpbXBsZW1lbnRhdGlvblxcbiAgfTtcXG59XFxuXFxudmFyIFJlYWN0VmVyc2lvbiA9ICcxNi4xMy4xJztcXG5cXG5zZXRBdHRlbXB0VXNlckJsb2NraW5nSHlkcmF0aW9uKGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24kMSk7XFxuc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24kMSk7XFxuc2V0QXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5KGF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eSQxKTtcXG52YXIgZGlkV2FybkFib3V0VW5zdGFibGVDcmVhdGVQb3J0YWwgPSBmYWxzZTtcXG5cXG57XFxuICBpZiAodHlwZW9mIE1hcCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIE1hcCBoYXMgbm8gcHJvdG90eXBlXFxuICBNYXAucHJvdG90eXBlID09IG51bGwgfHwgdHlwZW9mIE1hcC5wcm90b3R5cGUuZm9yRWFjaCAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0ICE9PSAnZnVuY3Rpb24nIHx8IC8vICRGbG93SXNzdWUgRmxvdyBpbmNvcnJlY3RseSB0aGlua3MgU2V0IGhhcyBubyBwcm90b3R5cGVcXG4gIFNldC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5jbGVhciAhPT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgU2V0LnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgIGVycm9yKCdSZWFjdCBkZXBlbmRzIG9uIE1hcCBhbmQgU2V0IGJ1aWx0LWluIHR5cGVzLiBNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhICcgKyAncG9seWZpbGwgaW4gb2xkZXIgYnJvd3NlcnMuIGh0dHBzOi8vZmIubWUvcmVhY3QtcG9seWZpbGxzJyk7XFxuICB9XFxufVxcblxcbnNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihyZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMpO1xcbnNldEJhdGNoaW5nSW1wbGVtZW50YXRpb24oYmF0Y2hlZFVwZGF0ZXMkMSwgZGlzY3JldGVVcGRhdGVzJDEsIGZsdXNoRGlzY3JldGVVcGRhdGVzLCBiYXRjaGVkRXZlbnRVcGRhdGVzJDEpO1xcblxcbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIpIHtcXG4gIHZhciBrZXkgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IG51bGw7XFxuXFxuICBpZiAoIWlzVmFsaWRDb250YWluZXIoY29udGFpbmVyKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LlxcXCIgKTtcXG4gICAgfVxcbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxcbiAgLy8gJEZsb3dGaXhNZSBUaGUgRmxvdyB0eXBlIGlzIG9wYXF1ZSBidXQgdGhlcmUncyBubyB3YXkgdG8gYWN0dWFsbHkgY3JlYXRlIGl0LlxcblxcblxcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVyLCBudWxsLCBrZXkpO1xcbn1cXG5cXG5mdW5jdGlvbiByZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihwYXJlbnRDb21wb25lbnQsIGVsZW1lbnQsIGNvbnRhaW5lck5vZGUsIGNhbGxiYWNrKSB7XFxuXFxuICByZXR1cm4gdW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBlbGVtZW50LCBjb250YWluZXJOb2RlLCBjYWxsYmFjayk7XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX2NyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVyKSB7XFxuICB2YXIga2V5ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xcblxcbiAge1xcbiAgICBpZiAoIWRpZFdhcm5BYm91dFVuc3RhYmxlQ3JlYXRlUG9ydGFsKSB7XFxuICAgICAgZGlkV2FybkFib3V0VW5zdGFibGVDcmVhdGVQb3J0YWwgPSB0cnVlO1xcblxcbiAgICAgIHdhcm4oJ1RoZSBSZWFjdERPTS51bnN0YWJsZV9jcmVhdGVQb3J0YWwoKSBhbGlhcyBoYXMgYmVlbiBkZXByZWNhdGVkLCAnICsgJ2FuZCB3aWxsIGJlIHJlbW92ZWQgaW4gUmVhY3QgMTcrLiBVcGRhdGUgeW91ciBjb2RlIHRvIHVzZSAnICsgJ1JlYWN0RE9NLmNyZWF0ZVBvcnRhbCgpIGluc3RlYWQuIEl0IGhhcyB0aGUgZXhhY3Qgc2FtZSBBUEksICcgKyAnYnV0IHdpdGhvdXQgdGhlIFxcXCJ1bnN0YWJsZV9cXFwiIHByZWZpeC4nKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIsIGtleSk7XFxufVxcblxcbnZhciBJbnRlcm5hbHMgPSB7XFxuICAvLyBLZWVwIGluIHN5bmMgd2l0aCBSZWFjdERPTVVuc3RhYmxlTmF0aXZlRGVwZW5kZW5jaWVzLmpzXFxuICAvLyBSZWFjdFRlc3RVdGlscy5qcywgYW5kIFJlYWN0VGVzdFV0aWxzQWN0LmpzLiBUaGlzIGlzIGFuIGFycmF5IGZvciBiZXR0ZXIgbWluaWZpY2F0aW9uLlxcbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSQxLCBnZXROb2RlRnJvbUluc3RhbmNlJDEsIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMSwgaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lLCBldmVudE5hbWVEaXNwYXRjaENvbmZpZ3MsIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMsIGFjY3VtdWxhdGVEaXJlY3REaXNwYXRjaGVzLCBlbnF1ZXVlU3RhdGVSZXN0b3JlLCByZXN0b3JlU3RhdGVJZk5lZWRlZCwgZGlzcGF0Y2hFdmVudCwgcnVuRXZlbnRzSW5CYXRjaCwgZmx1c2hQYXNzaXZlRWZmZWN0cywgSXNUaGlzUmVuZGVyZXJBY3RpbmddXFxufTtcXG52YXIgZm91bmREZXZUb29scyA9IGluamVjdEludG9EZXZUb29scyh7XFxuICBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTogZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUsXFxuICBidW5kbGVUeXBlOiAgMSAsXFxuICB2ZXJzaW9uOiBSZWFjdFZlcnNpb24sXFxuICByZW5kZXJlclBhY2thZ2VOYW1lOiAncmVhY3QtZG9tJ1xcbn0pO1xcblxcbntcXG4gIGlmICghZm91bmREZXZUb29scyAmJiBjYW5Vc2VET00gJiYgd2luZG93LnRvcCA9PT0gd2luZG93LnNlbGYpIHtcXG4gICAgLy8gSWYgd2UncmUgaW4gQ2hyb21lIG9yIEZpcmVmb3gsIHByb3ZpZGUgYSBkb3dubG9hZCBsaW5rIGlmIG5vdCBpbnN0YWxsZWQuXFxuICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0Nocm9tZScpID4gLTEgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdFZGdlJykgPT09IC0xIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignRmlyZWZveCcpID4gLTEpIHtcXG4gICAgICB2YXIgcHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7IC8vIERvbid0IHdhcm4gaW4gZXhvdGljIGNhc2VzIGxpa2UgY2hyb21lLWV4dGVuc2lvbjovLy5cXG5cXG4gICAgICBpZiAoL14oaHR0cHM/fGZpbGUpOiQvLnRlc3QocHJvdG9jb2wpKSB7XFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXFxuICAgICAgICBjb25zb2xlLmluZm8oJyVjRG93bmxvYWQgdGhlIFJlYWN0IERldlRvb2xzICcgKyAnZm9yIGEgYmV0dGVyIGRldmVsb3BtZW50IGV4cGVyaWVuY2U6ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1kZXZ0b29scycgKyAocHJvdG9jb2wgPT09ICdmaWxlOicgPyAnXFxcXG5Zb3UgbWlnaHQgbmVlZCB0byB1c2UgYSBsb2NhbCBIVFRQIHNlcnZlciAoaW5zdGVhZCBvZiBmaWxlOi8vKTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LWRldnRvb2xzLWZhcScgOiAnJyksICdmb250LXdlaWdodDpib2xkJyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcblxcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBJbnRlcm5hbHM7XFxuZXhwb3J0cy5jcmVhdGVQb3J0YWwgPSBjcmVhdGVQb3J0YWwkMTtcXG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XFxuZXhwb3J0cy5mbHVzaFN5bmMgPSBmbHVzaFN5bmM7XFxuZXhwb3J0cy5oeWRyYXRlID0gaHlkcmF0ZTtcXG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcXG5leHBvcnRzLnVubW91bnRDb21wb25lbnRBdE5vZGUgPSB1bm1vdW50Q29tcG9uZW50QXROb2RlO1xcbmV4cG9ydHMudW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXMgPSBiYXRjaGVkVXBkYXRlcyQxO1xcbmV4cG9ydHMudW5zdGFibGVfY3JlYXRlUG9ydGFsID0gdW5zdGFibGVfY3JlYXRlUG9ydGFsO1xcbmV4cG9ydHMudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIgPSByZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcjtcXG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XFxuICB9KSgpO1xcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZqZEMxa2IyMHZZMnB6TDNKbFlXTjBMV1J2YlM1a1pYWmxiRzl3YldWdWRDNXFjejgwTmpRMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUldFN096czdRVUZKWWl4SlFVRkpMRWxCUVhGRE8wRkJRM3BETzBGQlEwRTdPMEZCUlVFc1dVRkJXU3h0UWtGQlR5eERRVUZETERSRFFVRlBPMEZCUXpOQ0xHTkJRV01zYlVKQlFVOHNRMEZCUXl3MFJFRkJaVHRCUVVOeVF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSRUZCVnp0QlFVTnVReXh4UWtGQmNVSXNiVUpCUVU4c1EwRkJReXc0UlVGQk1rSTdRVUZEZUVRc1kwRkJZeXh0UWtGQlR5eERRVUZETERoRVFVRnRRanM3UVVGRmVrTXNiMFpCUVc5R08wRkJRM0JHTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTd3dSa0ZCTUVZc1lVRkJZVHRCUVVOMlJ6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzRSa0ZCT0VZc1pVRkJaVHRCUVVNM1J6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxMRVZCUVVVN08wRkJSVkFzYVVSQlFXbEVPMEZCUTJwRU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3c0UTBGQk9FTTdRVUZET1VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVRzN1FVRkZRU3h4UTBGQmNVTTdRVUZEY2tNN08wRkJSVUVzYlVaQlFXMUdPMEZCUTI1R08wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRlFVRnRSVHRCUVVOdVJUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3h0UWtGQmJVSTdRVUZEYmtJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEVzWjBKQlFXZENPenRCUVVWb1FqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4aFFVRmhMR2RDUVVGblFqdEJRVU0zUWp0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE96czdRVUZIVUN4MVJVRkJkVVU3TzBGQlJYWkZPMEZCUTBFc09FUkJRVGhFTzBGQlF6bEVPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN08wRkJSVUU3UVVGRFFTeFBRVUZQT3pzN1FVRkhVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTEhWQ1FVRjFRanM3UVVGRmRrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhUUVVGVE8wRkJRM0JDTEZkQlFWY3NSVUZCUlR0QlFVTmlMRmRCUVZjc1MwRkJTenRCUVVOb1FqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFhRVUZYTEZOQlFWTTdRVUZEY0VJc1YwRkJWeXhGUVVGRk8wRkJRMklzVjBGQlZ5eExRVUZMTzBGQlEyaENPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEdWQlFXVTdRVUZETVVJc1YwRkJWeXhUUVVGVE8wRkJRM0JDTEZkQlFWY3NSVUZCUlR0QlFVTmlPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpdzRRa0ZCT0VJN1FVRkRha1E3UVVGRFFUdEJRVU5CTEU5QlFVODdPenRCUVVkUU8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMQ3RDUVVFclFqczdRVUZGTDBJc2FVSkJRV2xDT3p0QlFVVnFRaXh0UWtGQmJVSTdPMEZCUlc1Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhYUVVGWExFOUJRVTg3UVVGRGJFSXNXVUZCV1N4UlFVRlJPMEZCUTNCQ08wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzVDBGQlR6dEJRVU5zUWp0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VlFVRlZPMEZCUTFZN08wRkJSVUVzYlVOQlFXMURMRVZCUVVVN08wRkJSWEpETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFMUJRVTA3UVVGRGFrSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERaRFFVRTJRenM3UVVGRk4wTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVKQlFXMUNMREJDUVVFd1FqdEJRVU0zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3JRa0ZCSzBJN08wRkJSUzlDTEhGRFFVRnhRenM3UVVGRmNrTXNhVU5CUVdsRE8wRkJRMnBET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRa0ZCYVVJN1FVRkRha0k3TzBGQlJVRXNaVUZCWlR0QlFVTm1PMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3dRa0ZCTUVJN1FVRkRNVUk3UVVGRFFUczdRVUZGUVN4blFrRkJaMEk3UVVGRGFFSTdRVUZEUVR0QlFVTkJPenRCUVVWQkxESkNRVUV5UWp0QlFVTXpRanM3UVVGRlFTeG5Ra0ZCWjBJN1FVRkRhRUk3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk96czdRVUZIUVN4dlFrRkJiMEk3TzBGQlJYQkNPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlR0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNc1JVRkJSVHRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF5eEZRVUZGT3p0QlFVVklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRMRVZCUVVVN1FVRkRTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlR0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTXNSVUZCUlRzN1FVRkZTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXp0QlFVTkVPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEZRVUZGTzBGQlEwWTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETEVWQlFVVTdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRMRVZCUVVVN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRExFVkJRVVU3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETEVWQlFVVTdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEczdRVUZGUVR0QlFVTkJPMEZCUTBFc1EwRkJRenRCUVVORU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWMEZCVnp0QlFVTjBRaXhYUVVGWExFOUJRVTg3UVVGRGJFSXNWMEZCVnl4RlFVRkZPMEZCUTJJN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d3UlVGQk1FVTdRVUZETVVVN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenRCUVVWSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01rTkJRVEpETzBGQlF6TkRPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ5eEZRVUZGTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRFFVRnBRenRCUVVOcVF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN3MFFrRkJORUk3UVVGRE5VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VKQlFYRkNPMEZCUTNKQ096dEJRVVZCTzBGQlEwRTdRVUZEUVN4NVJFRkJlVVE3UVVGRGVrUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRlFVRnBSVHRCUVVOcVJUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFTeHRRa0ZCYlVJc2EwSkJRV3RDTzBGQlEzSkRPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVN3NFFrRkJPRUk3UVVGRE9VSTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96czdRVUZIUVN4elEwRkJjME03UVVGRGRFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFqdEJRVU51UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h4UWtGQmNVSTdRVUZEY2tJN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFMRXRCUVVzN096dEJRVWRNTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFFrRkJiVUlzTWtKQlFUSkNPMEZCUXpsRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xESkNRVUV5UWp0QlFVTTVRenRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiMEpCUVc5Q0xIRkNRVUZ4UWp0QlFVTjZRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTEhGQ1FVRnhRaXh6UWtGQmMwSTdRVUZETTBNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJMRzFDUVVGdFFqdEJRVU51UWp0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJMRFJDUVVFMFFqdEJRVU0xUWp0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVU5CUVdsRE96dEJRVVZxUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHMURRVUZ0UXpzN1FVRkZia003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UWtGQmNVSTdRVUZEY2tJN08wRkJSVUVzY1VOQlFYRkRPMEZCUTNKRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RFFVRnZRenRCUVVOd1F6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4WFFVRlhPMEZCUTNSQ0xGZEJRVmNzVDBGQlR6dEJRVU5zUWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWMEZCVnp0QlFVTjBRaXhYUVVGWExFOUJRVTg3UVVGRGJFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEdGQlFXRTdRVUZEWWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzT0VOQlFUaERPMEZCUXpsRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xHRkJRV0U3UVVGRFlqczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTWtSQlFUSkVPMEZCUXpORU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYjBWQlFXOUZPenRCUVVWd1JUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1JVRkJSVHM3UVVGRlJqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFc1NVRkJTVHM3UVVGRlNqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwd3NSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3T3p0QlFVZFFPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hQUVVGUE8wRkJRMUE3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3MlFrRkJOa0k3UVVGRE4wSTdRVUZEUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3hYUVVGWE8wRkJRM1pDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVjBGQlZ5eE5RVUZOTzBGQlEycENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFRRVUZUTzBGQlEzQkNMRmRCUVZjc1JVRkJSVHRCUVVOaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVVUZCVVR0QlFVTnVRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFpRVUZaTEdWQlFXVTdRVUZETTBJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMFZCUVhORk96dEJRVVYwUlR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExFOUJRVTg3UVVGRGJFSXNXVUZCV1N4UlFVRlJPMEZCUTNCQ08wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUTBGQk5FTTdRVUZETlVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenM3UVVGSFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNXVUZCV1N4RlFVRkZPMEZCUTJRN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRU3hwUWtGQmFVSXNiMEpCUVc5Q08wRkJRM0pETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTd3dRMEZCTUVNN1FVRkRNVU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenM3UVVGRlNDeHBRa0ZCYVVJc2EwTkJRV3RETzBGQlEyNUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBSQlFYZEVPenRCUVVWNFJEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZkQlFWY3NUMEZCVHp0QlFVTnNRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2FVSkJRV2xDTEhsQ1FVRjVRanRCUVVNeFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cyUTBGQk5rTTdRVUZETjBNN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2VVSkJRWGxDTzBGQlF6RkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkN4elEwRkJjME03TzBGQlJYUkRMRGhDUVVFNFFqdEJRVU01UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNPenRCUVVWMlFqdEJRVU5CTEhORFFVRnpRenM3UVVGRmRFTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERaRVFVRTJSRHM3UVVGRk4wUTdRVUZEUVR0QlFVTkJMRWRCUVVjc1JVRkJSVHM3UVVGRlREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJMSGxGUVVGNVJUdEJRVU42UlRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYjBOQlFXOURPenRCUVVWd1F6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDFRMEZCZFVNN1FVRkRka003UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlGUVVGdlJUdEJRVU53UlR0QlFVTkJPenRCUVVWQkxHMUNRVUZ0UWl4cFEwRkJhVU03UVVGRGNFUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeHJRa0ZCYTBJc05FTkJRVFJETzBGQlF6bEVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3huUTBGQlowTTdRVUZEYUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwU2tGQmFVbzdPMEZCUldwS0xHdGpRVUZyWXpzN1FVRkZiR003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFJRVUZSTzBGQlExSTdRVUZEUVN4TlFVRk5PMEZCUTA0N1FVRkRRVHRCUVVOQk8wRkJRMEVzYTBKQlFXdENMR0ZCUVdFN1FVRkRMMEk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXgxUWtGQmRVSTdRVUZEZUVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVKQlFXbENMSFZDUVVGMVFqdEJRVU40UXp0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJMRGhHUVVFNFJqczdRVUZGT1VZN1FVRkRRVHRCUVVOQkxHMUVRVUZ0UkR0QlFVTnVSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIbEVRVUY1UkRzN1FVRkZla1E3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRXNiMFJCUVc5RU8wRkJRM0JFT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzV1VGQldTeFBRVUZQTzBGQlEyNUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTERSRFFVRTBRenRCUVVNMVF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGdzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1JVRkJSVHRCUVVOaUxGbEJRVmtzVDBGQlR6dEJRVU51UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxIZENRVUYzUWp0QlFVTjRRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3c0UWtGQk9FSTdPMEZCUlRsQ0xEUkRRVUUwUXp0QlFVTTFRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4elFrRkJjMEk3UVVGRGRFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1YwRkJWenRCUVVOMFFpeFhRVUZYTEU5QlFVODdRVUZEYkVJN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1ZVRkJWU3hwUTBGQmFVTTdRVUZETTBNN1FVRkRRVHRCUVVOQk8wRkJRMEVzU1VGQlNUdEJRVU5LTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3h0UWtGQmJVSXNjMEpCUVhOQ08wRkJRM3BETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTFCUVUwc1owTkJRV2RETEV0QlFVczdRVUZETTBNN1FVRkRRVHRCUVVOQkxFMUJRVTBzWjBOQlFXZERMRXRCUVVzN1FVRkRNME03UVVGRFFTdzBSRUZCTkVRN1FVRkROVVFzVFVGQlRTeG5RMEZCWjBNc1MwRkJTenRCUVVNelF6dEJRVU5CT3pzN1FVRkhRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTERST1FVRTBUanRCUVVNMVRqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3MFJVRkJORVVzV1VGQldUdEJRVU40Ump0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzTWtoQlFUSklMRFpDUVVFMlFqdEJRVU40U2p0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHdEdRVUZyUmp0QlFVTnNSanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUExEQkRRVUV3UXpzN08wRkJSMnBFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMQ3RHUVVFclJqdEJRVU12UmpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTERCRFFVRXdRenM3TzBGQlIycEVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1PMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MlJVRkJOa1U3TzBGQlJUZEZPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNjMHBCUVhOS0xHbENRVUZwUWp0QlFVTjJTeXhQUVVGUE8wRkJRMUFzYzBwQlFYTktMR2xDUVVGcFFpeDNSRUZCZDBRc2JVSkJRVzFDTEdkQ1FVRm5RaXc0UWtGQk9FSTdRVUZEYUZNN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN08wRkJSMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPenRCUVVkTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPenRCUVVkTU8wRkJRMEVzYjBkQlFXOUhMRWRCUVVjN08wRkJSWFpITzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFbEJRVWs3UVVGRFNqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRXNkMFZCUVhkRk8wRkJRM2hGTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBTVUZCYVVrc2JVSkJRVzFDTEdkQ1FVRm5RaXc0UWtGQk9FSTdRVUZEYkUwc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFTeEpRVUZKTzBGQlEwbzdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHpzN08wRkJSMUE3UVVGRFFTeExRVUZMTzBGQlEwdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXNzY1VkQlFYRkhMR3REUVVGclF6dEJRVU0xU1R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUlzTUVKQlFUQkNPMEZCUXpORE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERKQ1FVRXlRanRCUVVNelFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUkVGQk5FUTdRVUZETlVRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNLME5CUVN0RE8wRkJReTlET3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFTeHhSRUZCY1VRN1FVRkRja1E3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVUpCUVhGQ0xEUkNRVUUwUWp0QlFVTnFSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeG5SRUZCWjBRN1FVRkRhRVE3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3huUkVGQlowUTdRVUZEYUVRN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3huUkVGQlowUTdRVUZEYUVRN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXNzTWtWQlFUSkZMSEZIUVVGeFJ5eHJRMEZCYTBNN1FVRkRkazQ3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUT3pzN1FVRkhWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3l4eFIwRkJjVWM3UVVGRE1VYzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYTBWQlFXdEZPenRCUVVWc1JTdzRSa0ZCT0VZN1FVRkRPVVk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4eFFrRkJjVUlzTkVKQlFUUkNPMEZCUTJwRU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2RFUVVGblJEdEJRVU5vUkRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHZEVRVUZuUkR0QlFVTm9SRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzlDUVVGdlFpeDNRa0ZCZDBJN1FVRkROVU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEhGRFFVRnhRenRCUVVOeVF6dEJRVU5CTEN0RlFVRXJSVHRCUVVNdlJUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWYzdRVUZEV0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3NFEwRkJPRU03TzBGQlJUbERPMEZCUTBFc1lVRkJZVHM3TzBGQlIySTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExIVkNRVUYxUWp0QlFVTnNReXhaUVVGWk8wRkJRMW83TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXgxUWtGQmRVSTdRVUZEYkVNc1dVRkJXVHRCUVVOYU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzZFVKQlFYVkNPMEZCUTJ4RExGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WlFVRlpPMEZCUTFvN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4WFFVRlhMRmRCUVZjN1FVRkRkRUlzV1VGQldUdEJRVU5hT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3dRMEZCTUVNN1FVRkRNVU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WlFVRlpMRmRCUVZjN1FVRkRka0k3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N096dEJRVWRRTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NkVUpCUVhWQ08wRkJRMnhETEZkQlFWY3NUMEZCVHp0QlFVTnNRanM3UVVGRlFUdEJRVU5CTzBGQlEwRXNOa05CUVRaRE8wRkJRemRETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRGhGUVVFNFJUdEJRVU01UlRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2JVSkJRVzFDTEhOQ1FVRnpRanRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRTdRVUZEWWpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGxFUVVGNVJEdEJRVU42UkR0QlFVTkJPMEZCUTBFc2RVTkJRWFZETzBGQlEzWkRPMEZCUTBFN1FVRkRRVHRCUVVOQkxEQjJRa0ZCTUhaQ096dEJRVVV4ZGtJN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBOQlFXOURPenRCUVVWd1F5eDFSRUZCZFVRN08wRkJSWFpFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hwUTBGQmFVTTdPMEZCUldwRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFFrRkJiVUk3UVVGRGJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIbERRVUY1UXpzN1FVRkZla003UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UlFVRlJMR05CUVdNN1FVRkRkRUk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhORVFVRnpSRHRCUVVOMFJEczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNRU5CUVRCRE8wRkJRekZETzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cwUTBGQk5FTTdRVUZETlVNN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTeXdyUTBGQkswTTdRVUZEY0VRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzc0swTkJRU3RETzBGQlEzQkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenM3UVVGSFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRTdPenRCUVVkQkxIbEZRVUY1UlR0QlFVTjZSVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIVkNRVUYxUWp0QlFVTjJRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRU3g1UWtGQmVVSXNUMEZCVHp0QlFVTm9RenRCUVVOQk96dEJRVVZCT3p0QlFVVkJMSGxDUVVGNVFpeFBRVUZQTzBGQlEyaERPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFTeDFRa0ZCZFVJc1UwRkJVenRCUVVOb1F6dEJRVU5CT3p0QlFVVkJMR0ZCUVdFc2FVSkJRV2xDTzBGQlF6bENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2NVSkJRWEZDTzBGQlEzUkRPMEZCUTBFN08wRkJSVUVzT0VKQlFUaENMRlZCUVZVN1FVRkRlRU03UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrc1ZVRkJWVHRCUVVOMFFqczdPMEZCUjBFN1FVRkRRU3hsUVVGbE8wRkJRMllzWlVGQlpUczdRVUZGWmpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eGxRVUZsTzBGQlF6RkNPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVUpCUVdsQ0xIRkNRVUZ4UWp0QlFVTjBRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRU3hsUVVGbExHVkJRV1U3UVVGRE9VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01rTkJRVEpETzBGQlF6TkRPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4cFFrRkJhVUk3UVVGRGFrSTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eEZRVUZGTzBGQlEySXNWMEZCVnl4UFFVRlBPMEZCUTJ4Q0xGZEJRVmNzWlVGQlpUdEJRVU14UWpzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc05FSkJRVFJDTzBGQlF6VkNPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJMR05CUVdNc1VVRkJVVHRCUVVOMFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZJUVVGMVNEdEJRVU4yU0N4NVNFRkJlVWc3UVVGRGVrZzdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzT0VKQlFUaENPMEZCUXpsQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmRCUVZjc1VVRkJVVHRCUVVOdVFpeFpRVUZaTEU5QlFVODdRVUZEYmtJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVFzYlVOQlFXMURPenRCUVVWdVF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CT3pzN1FVRkhRU3dyUlVGQkswVTdRVUZETDBVN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNkVVJCUVhWRU96dEJRVVYyUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4RlFVRkZPenRCUVVWR08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1QwRkJUenRCUVVOc1FpeFpRVUZaTzBGQlExbzdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzV1VGQldUdEJRVU5hT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRTlCUVU4N1FVRkRiRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrN1FVRkRXanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZsQlFWazdRVUZEV2pzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrN1FVRkRXanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVN4WlFVRlpMRkZCUVZFN1FVRkRjRUk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzWVVGQllUdEJRVU40UWl4WFFVRlhMRTlCUVU4N1FVRkRiRUlzV1VGQldTeFJRVUZSTzBGQlEzQkNPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYlVOQlFXMURPMEZCUTI1RE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhYUVVGWExFOUJRVTg3UVVGRGJFSXNXVUZCV1N4UlFVRlJPMEZCUTNCQ096czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmxCUVZrc1VVRkJVVHRCUVVOd1FqczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4M1FrRkJkMEk3TzBGQlJYaENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNNRWRCUVRCSE8wRkJRekZITzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3UVVGRFJqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxIZENRVUYzUWpzN1FVRkZlRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3eVJFRkJNa1E3UVVGRE0wUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTQ3hwUWtGQmFVSXNhMEpCUVd0Q08wRkJRMjVETzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhYUVVGWE8wRkJRM1JDTEZsQlFWazdRVUZEV2pzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1dVRkJXVHRCUVVOYU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1YwRkJWeXhQUVVGUE8wRkJRMnhDTEZsQlFWazdRVUZEV2pzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3huUmtGQlowWTdRVUZEYUVZN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZET3p0QlFVVkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NUMEZCVHp0QlFVTnNRaXhaUVVGWkxFOUJRVTg3UVVGRGJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHZRMEZCYjBNN08wRkJSWEJETzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEU5QlFVODdRVUZEYkVJc1dVRkJXU3hQUVVGUE8wRkJRMjVDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFc2FVUkJRV2xFTzBGQlEycEVPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMUJCUVhOUU8wRkJRM1JRT3p0QlFVVkJMSGRDUVVGM1FqdEJRVU40UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTdzJRa0ZCTmtJN1FVRkROMEk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWNzWlVGQlpUdEJRVU5zUWp0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3T3p0QlFVZE1PenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHhRMEZCY1VNN1FVRkRja003TzBGQlJVRXNOa05CUVRaRE96dEJRVVUzUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJMSGxJUVVGNVNEczdRVUZGZWtnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96czdRVUZIUkN3d1JFRkJNRVE3TzBGQlJURkVMRzlFUVVGdlJEdEJRVU53UkR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRVFVRnRSRHRCUVVOdVJEczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNjVUpCUVhGQ0xHMUNRVUZ0UWp0QlFVTjRRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3MFEwRkJORU03UVVGRE5VTTdRVUZEUVRzN1FVRkZRU3d3U0VGQk1FZzdRVUZETVVnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3g1UlVGQmVVVTdRVUZEZWtVN08wRkJSVUU3UVVGRFFTdzRRMEZCT0VNN08wRkJSVGxETzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2JVVkJRVzFGTzBGQlEyNUZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3dRa0ZCTUVJN1FVRkRNVUk3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxITkNRVUZ6UWpzN1FVRkZkRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h2UTBGQmIwTTdRVUZEY0VNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d5UWtGQk1rSTdPMEZCUlROQ08wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdOQlFXTXNhMEpCUVd0Q08wRkJRMmhET3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6czdPMEZCUjFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHMUNRVUZ0UWp0QlFVTnVRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaVUZCWlR0QlFVTm1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4alFVRmpPMEZCUTJRN08wRkJSVUVzWVVGQllUdEJRVU5pT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYzBOQlFYTkRPenRCUVVWMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFTkJRVU03UVVGRFJEczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxEaEVRVUU0UkR0QlFVTTVSQ3h4UkVGQmNVUTdRVUZEY2tRc01rUkJRVEpFTzBGQlF6TkVMREpEUVVFeVF6dEJRVU16UXp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UkVGQmNVUTdPMEZCUlhKRU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeExRVUZMTzBGQlEwdzdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNPRU5CUVRoRE96dEJRVVU1UXpzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2VVSkJRWGxDT3p0QlFVVjZRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3T3p0QlFVZE1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN096dEJRVWRNTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2REUVVGblF6czdRVUZGYUVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3d3UTBGQk1FTTdRVUZETVVNc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01FSkJRVEJDT3p0QlFVVXhRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzTWtKQlFUSkNPenRCUVVVelFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h4UTBGQmNVTTdRVUZEY2tNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeDFSVUZCZFVVN08wRkJSWFpGTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03T3p0QlFVZFVPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQT3pzN1FVRkhVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVVJCUVcxRUxIbEVRVUY1UkR0QlFVTTFSeXcyUWtGQk5rSTdPMEZCUlRkQ08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHpzN08wRkJSMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjMEpCUVhOQ08wRkJRM1JDTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElMSGxEUVVGNVF6czdRVUZGZWtNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNVMEZCVXpzN08wRkJSMVE3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6czdPMEZCUjFRc2VVSkJRWGxDTzBGQlEzcENPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTQ3hyUTBGQmEwTTdPMEZCUld4RE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1owTkJRV2RET3p0QlFVVm9RenM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRU3dyUWtGQkswSTdPMEZCUlM5Q08wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN1FVRkRRU3hYUVVGWE96czdRVUZIV0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJMRzlHUVVGdlJqczdRVUZGY0VZN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHRkJRV0U3UVVGRFlqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVEwRkJkVU03UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUTBGQmRVTTdRVUZEZGtNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeHRRa0ZCYlVJc2IwSkJRVzlDTzBGQlEzWkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3cwUWtGQk5FSTdRVUZETlVJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEpRVUZKTzBGQlEwbzdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0N4clIwRkJhMGM3UVVGRGJFY3NLME5CUVN0RE8wRkJReTlET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxITkRRVUZ6UXpzN1FVRkZkRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJTVUZCTmtrN08wRkJSVGRKTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUXNhMFZCUVd0RkxEUkRRVUUwUXp0QlFVTTVSenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJMQ3RDUVVFclFqdEJRVU12UWp0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN08wRkJSMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFTeHhSRUZCY1VRN1FVRkRja1E3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2EwbEJRV3RKTzBGQlEyeEpPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N096dEJRVWRCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3TzBGQlIwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR3RKUVVGclNUdEJRVU5zU1R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dlEwRkJiME03TzBGQlJYQkRPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERoS1FVRTRTaXg1UTBGQmVVTTdRVUZEZGswN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHRkJRV0U3UVVGRFlqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzY1VKQlFYRkNMSGRDUVVGM1FqdEJRVU0zUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzVlVGQlZTeHJSRUZCYTBRN1FVRkROVVE3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNXVUZCV1N3MlFrRkJOa0k3UVVGRGVrTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMT3pzN1FVRkhUQ3gxUlVGQmRVVTdPMEZCUlhaRkxGVkJRVlVzTmtKQlFUWkNPMEZCUTNaRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRTlCUVU4N096dEJRVWRRTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQkxHTkJRV01zWVVGQllUdEJRVU16UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNWVUZCVlN4cFEwRkJhVU03UVVGRE0wTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1dVRkJXU3haUVVGWk8wRkJRM2hDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3c2RVVkJRWFZGT3p0QlFVVjJSU3hWUVVGVkxGbEJRVms3UVVGRGRFSTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZOQlFWTTdPenRCUVVkVU8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJRMEZCTmtNc1RVRkJUVHRCUVVOdVJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVERzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3T3p0QlFVZE1PMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNlVVJCUVhsRU8wRkJRM3BFT3p0QlFVVkJMRGhEUVVFNFF6dEJRVU01UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTERaRVFVRTJSRHM3UVVGRk4wUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05rUkJRVFpFT3p0QlFVVTNSRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3dyUWtGQkswSTdRVUZETDBJN1FVRkRRVHRCUVVOQk96dEJRVVZCTEcxRFFVRnRRenRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzZFVOQlFYVkRPMEZCUTNaRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFc01rTkJRVEpET3p0QlFVVXpRenRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdPMEZCUjBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSVUZCUlRzN1FVRkZSanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxHdERRVUZyUXp0QlFVTnNRenM3UVVGRlFTeHhRMEZCY1VNN1FVRkRja003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc09FSkJRVGhDTzBGQlF6bENMRzFFUVVGdFJEdEJRVU51UkR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZVVKQlFYbENPenRCUVVWNlFpeG5RMEZCWjBNN1FVRkRhRU03UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xEUVVGcFF6dEJRVU5xUXp0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSFZDUVVGMVFpdzRRa0ZCT0VJN1FVRkRja1E3UVVGRFFUdEJRVU5CTEN0RFFVRXJRenRCUVVNdlF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4cFFrRkJhVUlzTkVOQlFUUkRPMEZCUXpkRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeHBRMEZCYVVNN08wRkJSV3BETzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIbERRVUY1UXp0QlFVTjZRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUVzTmtOQlFUWkRPenRCUVVVM1F6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE96czdRVUZIVUR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFRDeEhRVUZITzBGQlEwZzdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNORUpCUVRSQ096dEJRVVUxUWl4dlEwRkJiME03TzBGQlJYQkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJMRk5CUVZNN096dEJRVWRVTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVN4clJrRkJhMFk3TzBGQlJXeEdPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6czdRVUZGVER0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYzBOQlFYTkRPMEZCUTNSRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3l3eVEwRkJNa003UVVGRGFFUTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4clEwRkJhME03UVVGRGJFTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFc2VVdEJRWGxMTERCRFFVRXdRenRCUVVOdVRqdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNPRU5CUVRoRE8wRkJRemxETzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4eFJVRkJjVVU3UVVGRGNrVTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTEdkQ1FVRm5RanRCUVVONlFpeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzY1VOQlFYRkRPMEZCUTNKRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxEUklRVUUwU0RzN1FVRkZOVWdzYjBOQlFXOURPMEZCUTNCRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2QwSkJRWGRDTzBGQlEzaENPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RVFVRnZSRHRCUVVOd1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVZEJRWGxITzBGQlEzcEhPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3dyUWtGQkswSTdPMEZCUlM5Q08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3TzBGQlIwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFEUVVGdFF6czdRVUZGYmtNN1FVRkRRVHRCUVVOQk8wRkJRMEVzSzBOQlFTdERPenRCUVVVdlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHpzN1FVRkZVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHpRMEZCYzBNN08wRkJSWFJETzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3d3UTBGQk1FTTdPMEZCUlRGRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPenRCUVVkSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEVzWjBSQlFXZEVPenRCUVVWb1JEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxDdERRVUVyUXp0QlFVTXZRenM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2JVTkJRVzFET3p0QlFVVnVRenRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhURHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RFFVRnZRenM3UVVGRmNFTTdRVUZEUVRzN1FVRkZRU3d3UTBGQk1FTTdRVUZETVVNN08wRkJSVUU3UVVGRFFTeHhSRUZCY1VRN08wRkJSWEpFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYjBOQlFXOURPenRCUVVWd1F6dEJRVU5CTEVkQlFVYzdPenRCUVVkSUxITkRRVUZ6UXp0QlFVTjBRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEc5RFFVRnZRenM3UVVGRmNFTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3T3p0QlFVZElPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3pzN1FVRkhUQ3gzUTBGQmQwTTdPMEZCUlhoRE8wRkJRMEVzYzBOQlFYTkRPMEZCUTNSRE8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3NFEwRkJPRU03TzBGQlJUbERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNkVVJCUVhWRU8wRkJRM1pFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDFSRUZCZFVRN1FVRkRka1FzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMREpFUVVFeVJEdEJRVU16UkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VFFVRlRPMEZCUTFRN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3cwUkVGQk5FUTdRVUZETlVRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVsQlFXbEpPMEZCUTJwSk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hUUVVGVE96czdRVUZIVkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzBSRUZCTkVRN1FVRkROVVE3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNiVU5CUVcxRE96dEJRVVZ1UXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFTeDVUa0ZCZVU0c1IwRkJSenM3UVVGRk5VNDdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gxUWtGQmRVSXNjVUpCUVhGQ08wRkJRelZETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEd0Q1FVRnJRaXhaUVVGWk8wRkJRemxDTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjN1FVRkRXRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREpEUVVFeVF6czdRVUZGTTBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3T3p0QlFVZFlPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEVzYjBOQlFXOURPMEZCUTNCRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN08wRkJSMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHRCUVVOQkxIVkRRVUYxUXpzN1FVRkZka003UVVGRFFUdEJRVU5CTzBGQlEwRXNhMFJCUVd0RU96dEJRVVZzUkR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6dEJRVU5NT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNOa05CUVRaRE96dEJRVVUzUXp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3c0swSkJRU3RDTzBGQlF5OUNPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMR0ZCUVdFN096dEJRVWRpTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGxRVUZsTzBGQlEyWXNiVWhCUVcxSU8wRkJRMjVJT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNhVUpCUVdsQ08wRkJRMnBDTzBGQlEwRTdRVUZEUVR0QlFVTkJMR0ZCUVdFN1FVRkRZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4bFFVRmxPMEZCUTJZN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRVHM3TzBGQlIwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNORVJCUVRSRU96dEJRVVUxUkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUExHOURRVUZ2UXp0QlFVTXpRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h0UkVGQmJVUTdRVUZEYmtRN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTERoRFFVRTRRenRCUVVNNVF6dEJRVU5CT3p0QlFVVkJMSEZJUVVGeFNEczdRVUZGY2tnc0swTkJRU3RETzBGQlF5OURPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hUUVVGVE8wRkJRMVE3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEZOQlFWTTdRVUZEVkRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWenRCUVVOWU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGhRVUZoT3pzN1FVRkhZanRCUVVOQk96dEJRVVZCTEc5RVFVRnZSRHRCUVVOd1JEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTEhORlFVRnpSVHM3UVVGRmRFVTdRVUZEUVR0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc09FTkJRVGhETzBGQlF6bERPenRCUVVWQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hoUVVGaE96dEJRVVZpT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTd3JSRUZCSzBRN08wRkJSUzlFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWlVGQlpUdEJRVU5tTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hoUVVGaE8wRkJRMkk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVUkJRWGxFTzBGQlEzcEVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2JVSkJRVzFDTzBGQlEyNUNPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3h4UlVGQmNVVTdPMEZCUlhKRkxIbEZRVUY1UlR0QlFVTjZSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTzBGQlEwRXNWMEZCVnpzN1FVRkZXQ3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3gxUTBGQmRVTTdRVUZEZGtNN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYjBSQlFXOUVPenRCUVVWd1JEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRzlHUVVGdlJqczdRVUZGY0VZN1FVRkRRVHRCUVVOQkxHbENRVUZwUWpzN08wRkJSMnBDTzBGQlEwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4eFJFRkJjVVE3UVVGRGNrUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTzBGQlExZzdPMEZCUlVFN1FVRkRRVHRCUVVOQkxHRkJRV0U3UVVGRFlqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cwUlVGQk5FVTdRVUZETlVVN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWYzdPenRCUVVkWU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3NFFrRkJPRUk3UVVGRE9VSTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNWMEZCVnp0QlFVTllPMEZCUTBFN08wRkJSVUVzSzBSQlFTdEVPenRCUVVVdlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3dyUlVGQkswVTdPMEZCUlM5Rk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzTWtOQlFUSkRPMEZCUXpORE96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3cwUTBGQk5FTTdRVUZETlVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3pzN1FVRkhRU3c0UWtGQk9FSTdRVUZET1VJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNOa0pCUVRaQ0xESkRRVUV5UXpzN1FVRkZlRVU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVN3MFIwRkJORWM3UVVGRE5VYzdRVUZEUVR0QlFVTkJPenRCUVVWQkxITkRRVUZ6UXp0QlFVTjBRenRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFVkJRVVU3T3p0QlFVZEdPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYTBSQlFXdEVPMEZCUTJ4RU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySXNlVTVCUVhsT0xIRkRRVUZ4UXl4M1JrRkJkMFlzTWtKQlFUSkNMSEZDUVVGeFFpeFJRVUZSTEZsQlFWazdRVUZETVZvc1lVRkJZVHRCUVVOaU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3dyUkVGQkswUTdRVUZETDBRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRXNaMFZCUVdkRk8wRkJRMmhGTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjN1FVRkRXRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzWjBSQlFXZEVPMEZCUTJoRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1PMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE8wRkJRMFE3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsQ1FVRnBRanRCUVVOcVFpeGxRVUZsTzBGQlEyWTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREpFUVVFeVJEdEJRVU16UkRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEc5RFFVRnZRenRCUVVOd1F6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN096dEJRVWRCTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenM3UVVGSFFTeHhSRUZCY1VRN08wRkJSWEpFTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzTmtKQlFUWkNPenRCUVVVM1FqdEJRVU5CT3p0QlFVVkJMRFJEUVVFMFF6dEJRVU0xUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4SFFVRkhMQ3RDUVVFclFqdEJRVU5zUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEVzUjBGQlJ5d3JRa0ZCSzBJN1FVRkRiRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhGQ1FVRnhRanRCUVVOeVFqczdRVUZGUVN4dFEwRkJiVU03TzBGQlJXNURPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEc5RlFVRnZSVHRCUVVOd1JUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEVzVDBGQlR6czdRVUZGVUN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNRMEZCZDBNN08wRkJSWGhETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTUxEWkVRVUUyUkRzN1FVRkZOMFE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzYjBSQlFXOUVPMEZCUTNCRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4MVEwRkJkVU03TzBGQlJYWkRPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsRVFVRnBSRHRCUVVOcVJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTEd0RVFVRnJSRHM3UVVGRmJFUXNOa0pCUVRaQ08wRkJRemRDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzT0VOQlFUaERPenRCUVVVNVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6czdRVUZGVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxITkRRVUZ6UXpzN1FVRkZkRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRklRVUZ4U0RzN1FVRkZja2c3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJMR3RFUVVGclJEdEJRVU5zUkR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRTdRVUZEWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWYzdRVUZEV0RzN08wRkJSMEVzTkVOQlFUUkRPenRCUVVVMVF6dEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU96czdRVUZIUVR0QlFVTkJMRXRCUVVzc2EwTkJRV3RETzBGQlEzWkRPenM3UVVGSFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMQ3RFUVVFclJEczdRVUZGTDBRN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsRFFVRnBRenM3UVVGRmFrTXNPRUpCUVRoQ096dEJRVVU1UWl3d1FrRkJNRUk3TzBGQlJURkNMRzlEUVVGdlF6czdRVUZGY0VNc2EwUkJRV3RFT3p0QlFVVnNSQ3gzUTBGQmQwTTdRVUZEZUVNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4dFJFRkJiVVE3UVVGRGJrUTdPMEZCUlVFc2VVUkJRWGxFTzBGQlEzcEVPMEZCUTBFN08wRkJSVUVzTmtOQlFUWkRPMEZCUXpkRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNNa05CUVRKRE96dEJRVVV6UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZVVKQlFYbENPMEZCUTNwQ08wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFEwRkJiVU03UVVGRGJrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzZVVKQlFYbENPMEZCUTNwQ096dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNSRUZCZDBRN1FVRkRlRVE3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZVVOQlFYbERPMEZCUTNwRE8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHM3TzBGQlIwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEVOQlFVTTdRVUZEUkN4UlFVRlJPMEZCUTFJN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRXNiVVpCUVcxR08wRkJRMjVHT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CTEVOQlFVTTdRVUZEUkRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJRMEZCTmtNN08wRkJSVGRETzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3d3UWtGQk1FSTdRVUZETVVJN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenM3UVVGSFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFOUJRVTg3TzBGQlJWQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRSa0ZCYlVZN1FVRkRia1k3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTWtaQlFUSkdPenRCUVVVelJqdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenM3TzBGQlIxUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmM3UVVGRFdEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjN1FVRkRXRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNOa1JCUVRaRU8wRkJRemRFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6czdPMEZCUjFnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPenM3UVVGSFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc2QwSkJRWGRDTzBGQlEzaENPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFN1FVRkRRU3hMUVVGTE96dEJRVVZNTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3TzBGQlIwRTdRVUZEUVRzN1FVRkZRU3huUTBGQlowTTdRVUZEYUVNN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTExFVkJRVVU3TzBGQlJWQTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNDdzBRMEZCTkVNN1FVRkROVU03UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVOQlFXMURPenRCUVVWdVF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMREJFUVVFd1JEdEJRVU14UkR0QlFVTkJPMEZCUTBFN1FVRkRRU3h0UkVGQmJVUTdRVUZEYmtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN3clJFRkJLMFE3TzBGQlJTOUVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05FTkJRVFJET3p0QlFVVTFRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQkxEWkZRVUUyUlRzN1FVRkZOMFU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRk5CUVZNN1FVRkRWRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRU3hwUkVGQmFVUTdRVUZEYWtRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhPMEZCUTFnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzTmtOQlFUWkRPenM3UVVGSE4wTTdRVUZEUVR0QlFVTkJMSGRGUVVGM1JUczdRVUZGZUVVN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN096dEJRVWRNTzBGQlEwRXNSMEZCUnl4cFEwRkJhVU03T3p0QlFVZHdRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4elEwRkJjME03TzBGQlJYUkRPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTUVSQlFUQkVPMEZCUXpGRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSeXcwUTBGQk5FTTdRVUZETDBNN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTzBGQlEzSkNPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaVHRCUVVObU8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hyUkVGQmEwUTdPMEZCUld4RUxIVkRRVUYxUXp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMT3p0QlFVVk1PenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3UVVGRlREdEJRVU5CTEhsRFFVRjVRenRCUVVONlF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFc1owTkJRV2RETzBGQlEyaERPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3UVVGRlREdEJRVU5CTEhOQ1FVRnpRanRCUVVOMFFqczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRU3huUTBGQlowTTdRVUZEYUVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNkVUpCUVhWQ0xEUkNRVUUwUWp0QlFVTnVSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVN4MVJFRkJkVVE3UVVGRGRrUTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhORFFVRnpRenRCUVVOMFF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSE5EUVVGelF6dEJRVU4wUXpzN1FVRkZRU3cyUTBGQk5rTTdPMEZCUlRkRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRFpEUVVFMlF6czdRVUZGTjBNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRXNLME5CUVN0RE96dEJRVVV2UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxESkNRVUV5UWp0QlFVTXpRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc09FSkJRVGhDT3p0QlFVVTVRanRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVSkJRWGxDT3p0QlFVVjZRanM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRU5CUVVNN1FVRkRSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4dFJFRkJiVVE3TzBGQlJXNUVPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxIRkZRVUZ4UlRzN1FVRkZja1U3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUExEUkRRVUUwUXp0QlFVTnVSRHM3TzBGQlIwRTdRVUZEUVN3MlFrRkJOa0k3UVVGRE4wSTdRVUZEUVRzN1FVRkZRU3gzUTBGQmQwTTdPMEZCUlhoRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N096dEJRVWRRT3p0QlFVVkJPMEZCUTBFc05rTkJRVFpETzBGQlF6ZERPenRCUVVWQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzT0VkQlFUaEhPenRCUVVVNVJ6czdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHdE9RVUZyVGl4SlFVRkpMRFpDUVVFMlFpeHRRMEZCYlVNc01FWkJRVEJHTEdOQlFXTXNTVUZCU1N4blFrRkJaMElzYlVOQlFXMURPMEZCUTNKaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMR2xOUVVGcFRTeHZSRUZCYjBRc1JVRkJSVHRCUVVOMlVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzTkV4QlFUUk1MRzlFUVVGdlJDeEZRVUZGTzBGQlEyeFFPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeG5Sa0ZCWjBZN08wRkJSV2hHTERCRFFVRXdRenRCUVVNeFF6dEJRVU5CTERCQ1FVRXdRanRCUVVNeFFqczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTERaUVFVRTJVRHRCUVVNM1VEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1QwRkJUenRCUVVOUUxFdEJRVXM3UVVGRFRDeDFSVUZCZFVVN08wRkJSWFpGTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPMEZCUTBFc1IwRkJSeXhGUVVGRk8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHdzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeGhRVUZoTzBGQlEySTdRVUZEUVR0QlFVTkJPMEZCUTBFc1pVRkJaVHRCUVVObU8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CTERSRFFVRTBRenM3UVVGRk5VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ6dEJRVU5ZTEdkQ1FVRm5RaXhMUVVGSk8wRkJRM0JDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4NVJFRkJlVVE3UVVGRGVrUTdRVUZEUVN4cFJFRkJhVVE3UVVGRGFrUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIZENRVUYzUWpzN1FVRkZlRUk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRRa0ZCYlVJN08wRkJSVzVDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZFVOQlFYVkRPMEZCUTNaRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0N3clEwRkJLME03UVVGREwwTTdPMEZCUlVFc2QwTkJRWGRET3p0QlFVVjRRenRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeHRSRUZCYlVRN1FVRkRia1E3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFbEJRVWs3TzBGQlJVbzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTTdPMEZCUlhoRE8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNjVVJCUVhGRU8wRkJRM0pFT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3gzUTBGQmQwTTdPMEZCUlhoRE96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3d5UlVGQk1rVTdPMEZCUlRORk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h6UlVGQmMwVTdRVUZEZEVVN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzJSRUZCTmtRN08wRkJSVGRFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3pzN1FVRkhRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQkxFdEJRVXM3UVVGRFREczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4clJFRkJhMFE3UVVGRGJFUTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMSGxGUVVGNVJUdEJRVU42UlR0QlFVTkJPenRCUVVWQkxEUkVRVUUwUkR0QlFVTTFSRHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96czdRVUZIUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMQ3RFUVVFclJDeFBRVUZQT3p0QlFVVjBSVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWxCUVVrN096dEJRVWRLTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXp0QlFVTjJRenRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVN4elEwRkJjME03UVVGRGRFTTdRVUZEUVR0QlFVTkJMRWxCUVVrN096dEJRVWRLTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRFFVRnRRenRCUVVOdVF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzU3p0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVWkJRVzFHT3p0QlFVVnVSanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPenRCUVVkTU8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwd3NSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUzBGQlN6czdPMEZCUjB3N1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2FVMUJRV2xOTEdOQlFXTTdRVUZETDAwN1FVRkRRU3hIUVVGSE96czdRVUZIU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVER0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTEV0QlFVc3NSVUZCUlR0QlFVTlFPenRCUVVWQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFc0swVkJRU3RGT3p0QlFVVXZSVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0RzN08wRkJSMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNRMEZCUXpzN1FVRkZSRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERoRFFVRTRRenM3UVVGRk9VTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTQ0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZqZEMxa2IyMHZZMnB6TDNKbFlXTjBMV1J2YlM1a1pYWmxiRzl3YldWdWRDNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJBYkdsalpXNXpaU0JTWldGamRDQjJNVFl1TVRNdU1WeHVJQ29nY21WaFkzUXRaRzl0TG1SbGRtVnNiM0J0Wlc1MExtcHpYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NCR1lXTmxZbTl2YXl3Z1NXNWpMaUJoYm1RZ2FYUnpJR0ZtWm1sc2FXRjBaWE11WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1RVbFVJR3hwWTJWdWMyVWdabTkxYm1RZ2FXNGdkR2hsWEc0Z0tpQk1TVU5GVGxORklHWnBiR1VnYVc0Z2RHaGxJSEp2YjNRZ1pHbHlaV04wYjNKNUlHOW1JSFJvYVhNZ2MyOTFjbU5sSUhSeVpXVXVYRzRnS2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWNibHh1YVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNCY0luQnliMlIxWTNScGIyNWNJaWtnZTF4dUlDQW9ablZ1WTNScGIyNG9LU0I3WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQlNaV0ZqZENBOUlISmxjWFZwY21Vb0ozSmxZV04wSnlrN1hHNTJZWElnWDJGemMybG5iaUE5SUhKbGNYVnBjbVVvSjI5aWFtVmpkQzFoYzNOcFoyNG5LVHRjYm5aaGNpQlRZMmhsWkhWc1pYSWdQU0J5WlhGMWFYSmxLQ2R6WTJobFpIVnNaWEluS1R0Y2JuWmhjaUJqYUdWamExQnliM0JVZVhCbGN5QTlJSEpsY1hWcGNtVW9KM0J5YjNBdGRIbHdaWE12WTJobFkydFFjbTl3Vkhsd1pYTW5LVHRjYm5aaGNpQjBjbUZqYVc1bklEMGdjbVZ4ZFdseVpTZ25jMk5vWldSMWJHVnlMM1J5WVdOcGJtY25LVHRjYmx4dWRtRnlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6SUQwZ1VtVmhZM1F1WDE5VFJVTlNSVlJmU1U1VVJWSk9RVXhUWDBSUFgwNVBWRjlWVTBWZlQxSmZXVTlWWDFkSlRFeGZRa1ZmUmtsU1JVUTdJQzh2SUZCeVpYWmxiblFnYm1WM1pYSWdjbVZ1WkdWeVpYSnpJR1p5YjIwZ1VsUkZJSGRvWlc0Z2RYTmxaQ0IzYVhSb0lHOXNaR1Z5SUhKbFlXTjBJSEJoWTJ0aFoyVWdkbVZ5YzJsdmJuTXVYRzR2THlCRGRYSnlaVzUwSUc5M2JtVnlJR0Z1WkNCa2FYTndZWFJqYUdWeUlIVnpaV1FnZEc4Z2MyaGhjbVVnZEdobElITmhiV1VnY21WbUxGeHVMeThnWW5WMElGQlNJQ014TkRVME9DQnpjR3hwZENCMGFHVnRJRzkxZENCMGJ5QmlaWFIwWlhJZ2MzVndjRzl5ZENCMGFHVWdjbVZoWTNRdFpHVmlkV2N0ZEc5dmJITWdjR0ZqYTJGblpTNWNibHh1YVdZZ0tDRlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVvWVhOUGQyNVFjbTl3WlhKMGVTZ25VbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2ljcEtTQjdYRzRnSUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWElnUFNCN1hHNGdJQ0FnWTNWeWNtVnVkRG9nYm5Wc2JGeHVJQ0I5TzF4dWZWeHVYRzVwWmlBb0lWSmxZV04wVTJoaGNtVmtTVzUwWlhKdVlXeHpMbWhoYzA5M2JsQnliM0JsY25SNUtDZFNaV0ZqZEVOMWNuSmxiblJDWVhSamFFTnZibVpwWnljcEtTQjdYRzRnSUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuSUQwZ2UxeHVJQ0FnSUhOMWMzQmxibk5sT2lCdWRXeHNYRzRnSUgwN1hHNTlYRzVjYmk4dklHSjVJR05oYkd4eklIUnZJSFJvWlhObElHMWxkR2h2WkhNZ1lua2dZU0JDWVdKbGJDQndiSFZuYVc0dVhHNHZMMXh1THk4Z1NXNGdVRkpQUkNBb2IzSWdhVzRnY0dGamEyRm5aWE1nZDJsMGFHOTFkQ0JoWTJObGMzTWdkRzhnVW1WaFkzUWdhVzUwWlhKdVlXeHpLU3hjYmk4dklIUm9aWGtnWVhKbElHeGxablFnWVhNZ2RHaGxlU0JoY21VZ2FXNXpkR1ZoWkM1Y2JseHVablZ1WTNScGIyNGdkMkZ5YmlobWIzSnRZWFFwSUh0Y2JpQWdlMXh1SUNBZ0lHWnZjaUFvZG1GeUlGOXNaVzRnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvTENCaGNtZHpJRDBnYm1WM0lFRnljbUY1S0Y5c1pXNGdQaUF4SUQ4Z1gyeGxiaUF0SURFZ09pQXdLU3dnWDJ0bGVTQTlJREU3SUY5clpYa2dQQ0JmYkdWdU95QmZhMlY1S3lzcElIdGNiaUFnSUNBZ0lHRnlaM05iWDJ0bGVTQXRJREZkSUQwZ1lYSm5kVzFsYm5SelcxOXJaWGxkTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEJ5YVc1MFYyRnlibWx1WnlnbmQyRnliaWNzSUdadmNtMWhkQ3dnWVhKbmN5azdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR1Z5Y205eUtHWnZjbTFoZENrZ2UxeHVJQ0I3WEc0Z0lDQWdabTl5SUNoMllYSWdYMnhsYmpJZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0xDQmhjbWR6SUQwZ2JtVjNJRUZ5Y21GNUtGOXNaVzR5SUQ0Z01TQS9JRjlzWlc0eUlDMGdNU0E2SURBcExDQmZhMlY1TWlBOUlERTdJRjlyWlhreUlEd2dYMnhsYmpJN0lGOXJaWGt5S3lzcElIdGNiaUFnSUNBZ0lHRnlaM05iWDJ0bGVUSWdMU0F4WFNBOUlHRnlaM1Z0Wlc1MGMxdGZhMlY1TWwwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hKcGJuUlhZWEp1YVc1bktDZGxjbkp2Y2ljc0lHWnZjbTFoZEN3Z1lYSm5jeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2NISnBiblJYWVhKdWFXNW5LR3hsZG1Wc0xDQm1iM0p0WVhRc0lHRnlaM01wSUh0Y2JpQWdMeThnVjJobGJpQmphR0Z1WjJsdVp5QjBhR2x6SUd4dloybGpMQ0I1YjNVZ2JXbG5hSFFnZDJGdWRDQjBieUJoYkhOdlhHNGdJQzh2SUhWd1pHRjBaU0JqYjI1emIyeGxWMmwwYUZOMFlXTnJSR1YyTG5kM2R5NXFjeUJoY3lCM1pXeHNMbHh1SUNCN1hHNGdJQ0FnZG1GeUlHaGhjMFY0YVhOMGFXNW5VM1JoWTJzZ1BTQmhjbWR6TG14bGJtZDBhQ0ErSURBZ0ppWWdkSGx3Wlc5bUlHRnlaM05iWVhKbmN5NXNaVzVuZEdnZ0xTQXhYU0E5UFQwZ0ozTjBjbWx1WnljZ0ppWWdZWEpuYzF0aGNtZHpMbXhsYm1kMGFDQXRJREZkTG1sdVpHVjRUMllvSjF4Y2JpQWdJQ0JwYmljcElEMDlQU0F3TzF4dVhHNGdJQ0FnYVdZZ0tDRm9ZWE5GZUdsemRHbHVaMU4wWVdOcktTQjdYRzRnSUNBZ0lDQjJZWElnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTQTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVTdYRzRnSUNBZ0lDQjJZWElnYzNSaFkyc2dQU0JTWldGamRFUmxZblZuUTNWeWNtVnVkRVp5WVcxbExtZGxkRk4wWVdOclFXUmtaVzVrZFcwb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0hOMFlXTnJJQ0U5UFNBbkp5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNKdFlYUWdLejBnSnlWekp6dGNiaUFnSUNBZ0lDQWdZWEpuY3lBOUlHRnlaM011WTI5dVkyRjBLRnR6ZEdGamExMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJoY21kelYybDBhRVp2Y20xaGRDQTlJR0Z5WjNNdWJXRndLR1oxYm1OMGFXOXVJQ2hwZEdWdEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z0p5Y2dLeUJwZEdWdE8xeHVJQ0FnSUgwcE95QXZMeUJEWVhKbFpuVnNPaUJTVGlCamRYSnlaVzUwYkhrZ1pHVndaVzVrY3lCdmJpQjBhR2x6SUhCeVpXWnBlRnh1WEc0Z0lDQWdZWEpuYzFkcGRHaEdiM0p0WVhRdWRXNXphR2xtZENnblYyRnlibWx1WnpvZ0p5QXJJR1p2Y20xaGRDazdJQzh2SUZkbElHbHVkR1Z1ZEdsdmJtRnNiSGtnWkc5dUozUWdkWE5sSUhOd2NtVmhaQ0FvYjNJZ0xtRndjR3g1S1NCa2FYSmxZM1JzZVNCaVpXTmhkWE5sSUdsMFhHNGdJQ0FnTHk4Z1luSmxZV3R6SUVsRk9Ub2dhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWVdOMEwybHpjM1ZsY3k4eE16WXhNRnh1SUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnlaV0ZqZEMxcGJuUmxjbTVoYkM5dWJ5MXdjbTlrZFdOMGFXOXVMV3h2WjJkcGJtZGNibHh1SUNBZ0lFWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTNWhjSEJzZVM1allXeHNLR052Ym5OdmJHVmJiR1YyWld4ZExDQmpiMjV6YjJ4bExDQmhjbWR6VjJsMGFFWnZjbTFoZENrN1hHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdMeThnTFMwdElGZGxiR052YldVZ2RHOGdaR1ZpZFdkbmFXNW5JRkpsWVdOMElDMHRMVnh1SUNBZ0lDQWdMeThnVkdocGN5Qmxjbkp2Y2lCM1lYTWdkR2h5YjNkdUlHRnpJR0VnWTI5dWRtVnVhV1Z1WTJVZ2MyOGdkR2hoZENCNWIzVWdZMkZ1SUhWelpTQjBhR2x6SUhOMFlXTnJYRzRnSUNBZ0lDQXZMeUIwYnlCbWFXNWtJSFJvWlNCallXeHNjMmwwWlNCMGFHRjBJR05oZFhObFpDQjBhR2x6SUhkaGNtNXBibWNnZEc4Z1ptbHlaUzVjYmlBZ0lDQWdJSFpoY2lCaGNtZEpibVJsZUNBOUlEQTdYRzRnSUNBZ0lDQjJZWElnYldWemMyRm5aU0E5SUNkWFlYSnVhVzVuT2lBbklDc2dabTl5YldGMExuSmxjR3hoWTJVb0x5VnpMMmNzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHRnlaM05iWVhKblNXNWtaWGdySzEwN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lodFpYTnpZV2RsS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2g0S1NCN2ZWeHVJQ0I5WEc1OVhHNWNibWxtSUNnaFVtVmhZM1FwSUh0Y2JpQWdlMXh1SUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxKbFlXTjBSRTlOSUhkaGN5QnNiMkZrWldRZ1ltVm1iM0psSUZKbFlXTjBMaUJOWVd0bElITjFjbVVnZVc5MUlHeHZZV1FnZEdobElGSmxZV04wSUhCaFkydGhaMlVnWW1WbWIzSmxJR3h2WVdScGJtY2dVbVZoWTNSRVQwMHVYQ0lnS1R0Y2JpQWdmVnh1ZlZ4dVhHNTJZWElnYVc1MmIydGxSM1ZoY21SbFpFTmhiR3hpWVdOclNXMXdiQ0E5SUdaMWJtTjBhVzl1SUNodVlXMWxMQ0JtZFc1akxDQmpiMjUwWlhoMExDQmhMQ0JpTENCakxDQmtMQ0JsTENCbUtTQjdYRzRnSUhaaGNpQm1kVzVqUVhKbmN5QTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNXpiR2xqWlM1allXeHNLR0Z5WjNWdFpXNTBjeXdnTXlrN1hHNWNiaUFnZEhKNUlIdGNiaUFnSUNCbWRXNWpMbUZ3Y0d4NUtHTnZiblJsZUhRc0lHWjFibU5CY21kektUdGNiaUFnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQjBhR2x6TG05dVJYSnliM0lvWlhKeWIzSXBPMXh1SUNCOVhHNTlPMXh1WEc1N1hHNGdJQzh2SUVsdUlFUkZWaUJ0YjJSbExDQjNaU0J6ZDJGd0lHOTFkQ0JwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJzZ1ptOXlJR0VnYzNCbFkybGhiQ0IyWlhKemFXOXVYRzRnSUM4dklIUm9ZWFFnY0d4aGVYTWdiVzl5WlNCdWFXTmxiSGtnZDJsMGFDQjBhR1VnWW5KdmQzTmxjaWR6SUVSbGRsUnZiMnh6TGlCVWFHVWdhV1JsWVNCcGN5QjBieUJ3Y21WelpYSjJaVnh1SUNBdkx5QmNJbEJoZFhObElHOXVJR1Y0WTJWd2RHbHZibk5jSWlCaVpXaGhkbWx2Y2k0Z1FtVmpZWFZ6WlNCU1pXRmpkQ0IzY21Gd2N5QmhiR3dnZFhObGNpMXdjbTkyYVdSbFpGeHVJQ0F2THlCbWRXNWpkR2x2Ym5NZ2FXNGdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yTENCaGJtUWdkR2hsSUhCeWIyUjFZM1JwYjI0Z2RtVnljMmx2YmlCdlpseHVJQ0F2THlCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkyc2dkWE5sY3lCaElIUnllUzFqWVhSamFDd2dZV3hzSUhWelpYSWdaWGhqWlhCMGFXOXVjeUJoY21VZ2RISmxZWFJsWkZ4dUlDQXZMeUJzYVd0bElHTmhkV2RvZENCbGVHTmxjSFJwYjI1ekxDQmhibVFnZEdobElFUmxkbFJ2YjJ4eklIZHZiaWQwSUhCaGRYTmxJSFZ1YkdWemN5QjBhR1VnWkdWMlpXeHZjR1Z5WEc0Z0lDOHZJSFJoYTJWeklIUm9aU0JsZUhSeVlTQnpkR1Z3SUc5bUlHVnVZV0pzYVc1bklIQmhkWE5sSUc5dUlHTmhkV2RvZENCbGVHTmxjSFJwYjI1ekxpQlVhR2x6SUdselhHNGdJQzh2SUhWdWFXNTBkV2wwYVhabExDQjBhRzkxWjJnc0lHSmxZMkYxYzJVZ1pYWmxiaUIwYUc5MVoyZ2dVbVZoWTNRZ2FHRnpJR05oZFdkb2RDQjBhR1VnWlhKeWIzSXNJR1p5YjIxY2JpQWdMeThnZEdobElHUmxkbVZzYjNCbGNpZHpJSEJsY25Od1pXTjBhWFpsTENCMGFHVWdaWEp5YjNJZ2FYTWdkVzVqWVhWbmFIUXVYRzRnSUM4dlhHNGdJQzh2SUZSdklIQnlaWE5sY25abElIUm9aU0JsZUhCbFkzUmxaQ0JjSWxCaGRYTmxJRzl1SUdWNFkyVndkR2x2Ym5OY0lpQmlaV2hoZG1sdmNpd2dkMlVnWkc5dUozUWdkWE5sSUdGY2JpQWdMeThnZEhKNUxXTmhkR05vSUdsdUlFUkZWaTRnU1c1emRHVmhaQ3dnZDJVZ2MzbHVZMmh5YjI1dmRYTnNlU0JrYVhOd1lYUmphQ0JoSUdaaGEyVWdaWFpsYm5RZ2RHOGdZU0JtWVd0bFhHNGdJQzh2SUVSUFRTQnViMlJsTENCaGJtUWdZMkZzYkNCMGFHVWdkWE5sY2kxd2NtOTJhV1JsWkNCallXeHNZbUZqYXlCbWNtOXRJR2x1YzJsa1pTQmhiaUJsZG1WdWRDQm9ZVzVrYkdWeVhHNGdJQzh2SUdadmNpQjBhR0YwSUdaaGEyVWdaWFpsYm5RdUlFbG1JSFJvWlNCallXeHNZbUZqYXlCMGFISnZkM01zSUhSb1pTQmxjbkp2Y2lCcGN5QmNJbU5oY0hSMWNtVmtYQ0lnZFhOcGJtZGNiaUFnTHk4Z1lTQm5iRzlpWVd3Z1pYWmxiblFnYUdGdVpHeGxjaTRnUW5WMElHSmxZMkYxYzJVZ2RHaGxJR1Z5Y205eUlHaGhjSEJsYm5NZ2FXNGdZU0JrYVdabVpYSmxiblJjYmlBZ0x5OGdaWFpsYm5RZ2JHOXZjQ0JqYjI1MFpYaDBMQ0JwZENCa2IyVnpJRzV2ZENCcGJuUmxjbkoxY0hRZ2RHaGxJRzV2Y20xaGJDQndjbTluY21GdElHWnNiM2N1WEc0Z0lDOHZJRVZtWm1WamRHbDJaV3g1TENCMGFHbHpJR2RwZG1WeklIVnpJSFJ5ZVMxallYUmphQ0JpWldoaGRtbHZjaUIzYVhSb2IzVjBJR0ZqZEhWaGJHeDVJSFZ6YVc1blhHNGdJQzh2SUhSeWVTMWpZWFJqYUM0Z1RtVmhkQ0ZjYmlBZ0x5OGdRMmhsWTJzZ2RHaGhkQ0IwYUdVZ1luSnZkM05sY2lCemRYQndiM0owY3lCMGFHVWdRVkJKY3lCM1pTQnVaV1ZrSUhSdklHbHRjR3hsYldWdWRDQnZkWElnYzNCbFkybGhiRnh1SUNBdkx5QkVSVllnZG1WeWMybHZiaUJ2WmlCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkydGNiaUFnYVdZZ0tIUjVjR1Z2WmlCM2FXNWtiM2NnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhSNWNHVnZaaUIzYVc1a2IzY3VaR2x6Y0dGMFkyaEZkbVZ1ZENBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlCMGVYQmxiMllnWkc5amRXMWxiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUhSNWNHVnZaaUJrYjJOMWJXVnVkQzVqY21WaGRHVkZkbVZ1ZENBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSFpoY2lCbVlXdGxUbTlrWlNBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjNKbFlXTjBKeWs3WEc1Y2JpQWdJQ0IyWVhJZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJSR1YySUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VzSUdaMWJtTXNJR052Ym5SbGVIUXNJR0VzSUdJc0lHTXNJR1FzSUdVc0lHWXBJSHRjYmlBZ0lDQWdJQzh2SUVsbUlHUnZZM1Z0Wlc1MElHUnZaWE51SjNRZ1pYaHBjM1FnZDJVZ2EyNXZkeUJtYjNJZ2MzVnlaU0IzWlNCM2FXeHNJR055WVhOb0lHbHVJSFJvYVhNZ2JXVjBhRzlrWEc0Z0lDQWdJQ0F2THlCM2FHVnVJSGRsSUdOaGJHd2daRzlqZFcxbGJuUXVZM0psWVhSbFJYWmxiblFvS1M0Z1NHOTNaWFpsY2lCMGFHbHpJR05oYmlCallYVnpaU0JqYjI1bWRYTnBibWRjYmlBZ0lDQWdJQzh2SUdWeWNtOXljem9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyYVc1amRXSmhkRzl5TDJOeVpXRjBaUzF5WldGamRDMWhjSEF2YVhOemRXVnpMek0wT0RKY2JpQWdJQ0FnSUM4dklGTnZJSGRsSUhCeVpXVnRjSFJwZG1Wc2VTQjBhSEp2ZHlCM2FYUm9JR0VnWW1WMGRHVnlJRzFsYzNOaFoyVWdhVzV6ZEdWaFpDNWNiaUFnSUNBZ0lHbG1JQ2doS0hSNWNHVnZaaUJrYjJOMWJXVnVkQ0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BLU0I3WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVWFHVWdZR1J2WTNWdFpXNTBZQ0JuYkc5aVlXd2dkMkZ6SUdSbFptbHVaV1FnZDJobGJpQlNaV0ZqZENCM1lYTWdhVzVwZEdsaGJHbDZaV1FzSUdKMWRDQnBjeUJ1YjNRZ1pHVm1hVzVsWkNCaGJubHRiM0psTGlCVWFHbHpJR05oYmlCb1lYQndaVzRnYVc0Z1lTQjBaWE4wSUdWdWRtbHliMjV0Wlc1MElHbG1JR0VnWTI5dGNHOXVaVzUwSUhOamFHVmtkV3hsY3lCaGJpQjFjR1JoZEdVZ1puSnZiU0JoYmlCaGMzbHVZMmh5YjI1dmRYTWdZMkZzYkdKaFkyc3NJR0oxZENCMGFHVWdkR1Z6ZENCb1lYTWdZV3h5WldGa2VTQm1hVzVwYzJobFpDQnlkVzV1YVc1bkxpQlVieUJ6YjJ4MlpTQjBhR2x6TENCNWIzVWdZMkZ1SUdWcGRHaGxjaUIxYm0xdmRXNTBJSFJvWlNCamIyMXdiMjVsYm5RZ1lYUWdkR2hsSUdWdVpDQnZaaUI1YjNWeUlIUmxjM1FnS0dGdVpDQmxibk4xY21VZ2RHaGhkQ0JoYm5rZ1lYTjVibU5vY205dWIzVnpJRzl3WlhKaGRHbHZibk1nWjJWMElHTmhibU5sYkdWa0lHbHVJR0JqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZEdBcExDQnZjaUI1YjNVZ1kyRnVJR05vWVc1blpTQjBhR1VnZEdWemRDQnBkSE5sYkdZZ2RHOGdZbVVnWVhONWJtTm9jbTl1YjNWekxsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJR1YyZENBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWMlpXNTBLQ2RGZG1WdWRDY3BPeUF2THlCTFpXVndjeUIwY21GamF5QnZaaUIzYUdWMGFHVnlJSFJvWlNCMWMyVnlMWEJ5YjNacFpHVmtJR05oYkd4aVlXTnJJSFJvY21WM0lHRnVJR1Z5Y205eUxpQlhaVnh1SUNBZ0lDQWdMeThnYzJWMElIUm9hWE1nZEc4Z2RISjFaU0JoZENCMGFHVWdZbVZuYVc1dWFXNW5MQ0IwYUdWdUlITmxkQ0JwZENCMGJ5Qm1ZV3h6WlNCeWFXZG9kQ0JoWm5SbGNseHVJQ0FnSUNBZ0x5OGdZMkZzYkdsdVp5QjBhR1VnWm5WdVkzUnBiMjR1SUVsbUlIUm9aU0JtZFc1amRHbHZiaUJsY25KdmNuTXNJR0JrYVdSRmNuSnZjbUFnZDJsc2JDQnVaWFpsY2lCaVpWeHVJQ0FnSUNBZ0x5OGdjMlYwSUhSdklHWmhiSE5sTGlCVWFHbHpJSE4wY21GMFpXZDVJSGR2Y210eklHVjJaVzRnYVdZZ2RHaGxJR0p5YjNkelpYSWdhWE1nWm14aGEza2dZVzVrWEc0Z0lDQWdJQ0F2THlCbVlXbHNjeUIwYnlCallXeHNJRzkxY2lCbmJHOWlZV3dnWlhKeWIzSWdhR0Z1Wkd4bGNpd2dZbVZqWVhWelpTQnBkQ0JrYjJWemJpZDBJSEpsYkhrZ2IyNWNiaUFnSUNBZ0lDOHZJSFJvWlNCbGNuSnZjaUJsZG1WdWRDQmhkQ0JoYkd3dVhHNWNiaUFnSUNBZ0lIWmhjaUJrYVdSRmNuSnZjaUE5SUhSeWRXVTdJQzh2SUV0bFpYQnpJSFJ5WVdOcklHOW1JSFJvWlNCMllXeDFaU0J2WmlCM2FXNWtiM2N1WlhabGJuUWdjMjhnZEdoaGRDQjNaU0JqWVc0Z2NtVnpaWFFnYVhSY2JpQWdJQ0FnSUM4dklHUjFjbWx1WnlCMGFHVWdZMkZzYkdKaFkyc2dkRzhnYkdWMElIVnpaWElnWTI5a1pTQmhZMk5sYzNNZ2QybHVaRzkzTG1WMlpXNTBJR2x1SUhSb1pWeHVJQ0FnSUNBZ0x5OGdZbkp2ZDNObGNuTWdkR2hoZENCemRYQndiM0owSUdsMExseHVYRzRnSUNBZ0lDQjJZWElnZDJsdVpHOTNSWFpsYm5RZ1BTQjNhVzVrYjNjdVpYWmxiblE3SUM4dklFdGxaWEJ6SUhSeVlXTnJJRzltSUhSb1pTQmtaWE5qY21sd2RHOXlJRzltSUhkcGJtUnZkeTVsZG1WdWRDQjBieUJ5WlhOMGIzSmxJR2wwSUdGbWRHVnlJR1YyWlc1MFhHNGdJQ0FnSUNBdkx5QmthWE53WVhSamFHbHVaem9nYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyTDNKbFlXTjBMMmx6YzNWbGN5OHhNelk0T0Z4dVhHNGdJQ0FnSUNCMllYSWdkMmx1Wkc5M1JYWmxiblJFWlhOamNtbHdkRzl5SUQwZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjaWgzYVc1a2IzY3NJQ2RsZG1WdWRDY3BPeUF2THlCRGNtVmhkR1VnWVc0Z1pYWmxiblFnYUdGdVpHeGxjaUJtYjNJZ2IzVnlJR1poYTJVZ1pYWmxiblF1SUZkbElIZHBiR3dnYzNsdVkyaHliMjV2ZFhOc2VWeHVJQ0FnSUNBZ0x5OGdaR2x6Y0dGMFkyZ2diM1Z5SUdaaGEyVWdaWFpsYm5RZ2RYTnBibWNnWUdScGMzQmhkR05vUlhabGJuUmdMaUJKYm5OcFpHVWdkR2hsSUdoaGJtUnNaWElzSUhkbFhHNGdJQ0FnSUNBdkx5QmpZV3hzSUhSb1pTQjFjMlZ5TFhCeWIzWnBaR1ZrSUdOaGJHeGlZV05yTGx4dVhHNGdJQ0FnSUNCMllYSWdablZ1WTBGeVozTWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVdVkyRnNiQ2hoY21kMWJXVnVkSE1zSURNcE8xeHVYRzRnSUNBZ0lDQm1kVzVqZEdsdmJpQmpZV3hzUTJGc2JHSmhZMnNvS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRmRsSUdsdGJXVmthV0YwWld4NUlISmxiVzkyWlNCMGFHVWdZMkZzYkdKaFkyc2dabkp2YlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk1nYzI4Z2RHaGhkRnh1SUNBZ0lDQWdJQ0F2THlCdVpYTjBaV1FnWUdsdWRtOXJaVWQxWVhKa1pXUkRZV3hzWW1GamEyQWdZMkZzYkhNZ1pHOGdibTkwSUdOc1lYTm9MaUJQZEdobGNuZHBjMlVzSUdGY2JpQWdJQ0FnSUNBZ0x5OGdibVZ6ZEdWa0lHTmhiR3dnZDI5MWJHUWdkSEpwWjJkbGNpQjBhR1VnWm1GclpTQmxkbVZ1ZENCb1lXNWtiR1Z5Y3lCdlppQmhibmtnWTJGc2JDQm9hV2RvWlhKY2JpQWdJQ0FnSUNBZ0x5OGdhVzRnZEdobElITjBZV05yTGx4dUlDQWdJQ0FnSUNCbVlXdGxUbTlrWlM1eVpXMXZkbVZGZG1WdWRFeHBjM1JsYm1WeUtHVjJkRlI1Y0dVc0lHTmhiR3hEWVd4c1ltRmpheXdnWm1Gc2MyVXBPeUF2THlCWFpTQmphR1ZqYXlCbWIzSWdkMmx1Wkc5M0xtaGhjMDkzYmxCeWIzQmxjblI1S0NkbGRtVnVkQ2NwSUhSdklIQnlaWFpsYm5RZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUhkcGJtUnZkeTVsZG1WdWRDQmhjM05wWjI1dFpXNTBJR2x1SUdKdmRHZ2dTVVVnUEQwZ01UQWdZWE1nZEdobGVTQjBhSEp2ZHlCaGJpQmxjbkp2Y2x4dUlDQWdJQ0FnSUNBdkx5QmNJazFsYldKbGNpQnViM1FnWm05MWJtUmNJaUJwYmlCemRISnBZM1FnYlc5a1pTd2dZVzVrSUdsdUlFWnBjbVZtYjNnZ2QyaHBZMmdnWkc5bGN5QnViM1JjYmlBZ0lDQWdJQ0FnTHk4Z2MzVndjRzl5ZENCM2FXNWtiM2N1WlhabGJuUXVYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCM2FXNWtiM2N1WlhabGJuUWdJVDA5SUNkMWJtUmxabWx1WldRbklDWW1JSGRwYm1SdmR5NW9ZWE5QZDI1UWNtOXdaWEowZVNnblpYWmxiblFuS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSGRwYm1SdmR5NWxkbVZ1ZENBOUlIZHBibVJ2ZDBWMlpXNTBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1puVnVZeTVoY0hCc2VTaGpiMjUwWlhoMExDQm1kVzVqUVhKbmN5azdYRzRnSUNBZ0lDQWdJR1JwWkVWeWNtOXlJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlJQzh2SUVOeVpXRjBaU0JoSUdkc2IySmhiQ0JsY25KdmNpQmxkbVZ1ZENCb1lXNWtiR1Z5TGlCWFpTQjFjMlVnZEdocGN5QjBieUJqWVhCMGRYSmxJSFJvWlNCMllXeDFaVnh1SUNBZ0lDQWdMeThnZEdoaGRDQjNZWE1nZEdoeWIzZHVMaUJKZENkeklIQnZjM05wWW14bElIUm9ZWFFnZEdocGN5Qmxjbkp2Y2lCb1lXNWtiR1Z5SUhkcGJHd2dabWx5WlNCdGIzSmxYRzRnSUNBZ0lDQXZMeUIwYUdGdUlHOXVZMlU3SUdadmNpQmxlR0Z0Y0d4bExDQnBaaUJ1YjI0dFVtVmhZM1FnWTI5a1pTQmhiSE52SUdOaGJHeHpJR0JrYVhOd1lYUmphRVYyWlc1MFlGeHVJQ0FnSUNBZ0x5OGdZVzVrSUdFZ2FHRnVaR3hsY2lCbWIzSWdkR2hoZENCbGRtVnVkQ0IwYUhKdmQzTXVJRmRsSUhOb2IzVnNaQ0JpWlNCeVpYTnBiR2xsYm5RZ2RHOGdiVzl6ZENCdlpseHVJQ0FnSUNBZ0x5OGdkR2h2YzJVZ1kyRnpaWE11SUVWMlpXNGdhV1lnYjNWeUlHVnljbTl5SUdWMlpXNTBJR2hoYm1Sc1pYSWdabWx5WlhNZ2JXOXlaU0IwYUdGdUlHOXVZMlVzSUhSb1pWeHVJQ0FnSUNBZ0x5OGdiR0Z6ZENCbGNuSnZjaUJsZG1WdWRDQnBjeUJoYkhkaGVYTWdkWE5sWkM0Z1NXWWdkR2hsSUdOaGJHeGlZV05ySUdGamRIVmhiR3g1SUdSdlpYTWdaWEp5YjNJc1hHNGdJQ0FnSUNBdkx5QjNaU0JyYm05M0lIUm9ZWFFnZEdobElHeGhjM1FnWlhKeWIzSWdaWFpsYm5RZ2FYTWdkR2hsSUdOdmNuSmxZM1FnYjI1bExDQmlaV05oZFhObElHbDBKM01nYm05MFhHNGdJQ0FnSUNBdkx5QndiM056YVdKc1pTQm1iM0lnWVc1NWRHaHBibWNnWld4elpTQjBieUJvWVhabElHaGhjSEJsYm1Wa0lHbHVJR0psZEhkbFpXNGdiM1Z5SUdOaGJHeGlZV05yWEc0Z0lDQWdJQ0F2THlCbGNuSnZjbWx1WnlCaGJtUWdkR2hsSUdOdlpHVWdkR2hoZENCbWIyeHNiM2R6SUhSb1pTQmdaR2x6Y0dGMFkyaEZkbVZ1ZEdBZ1kyRnNiQ0JpWld4dmR5NGdTV1pjYmlBZ0lDQWdJQzh2SUhSb1pTQmpZV3hzWW1GamF5QmtiMlZ6YmlkMElHVnljbTl5TENCaWRYUWdkR2hsSUdWeWNtOXlJR1YyWlc1MElIZGhjeUJtYVhKbFpDd2dkMlVnYTI1dmR5QjBiMXh1SUNBZ0lDQWdMeThnYVdkdWIzSmxJR2wwSUdKbFkyRjFjMlVnWUdScFpFVnljbTl5WUNCM2FXeHNJR0psSUdaaGJITmxMQ0JoY3lCa1pYTmpjbWxpWldRZ1lXSnZkbVV1WEc1Y2JseHVJQ0FnSUNBZ2RtRnlJR1Z5Y205eU95QXZMeUJWYzJVZ2RHaHBjeUIwYnlCMGNtRmpheUIzYUdWMGFHVnlJSFJvWlNCbGNuSnZjaUJsZG1WdWRDQnBjeUJsZG1WeUlHTmhiR3hsWkM1Y2JseHVJQ0FnSUNBZ2RtRnlJR1JwWkZObGRFVnljbTl5SUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IyWVhJZ2FYTkRjbTl6YzA5eWFXZHBia1Z5Y205eUlEMGdabUZzYzJVN1hHNWNiaUFnSUNBZ0lHWjFibU4wYVc5dUlHaGhibVJzWlZkcGJtUnZkMFZ5Y205eUtHVjJaVzUwS1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5SUQwZ1pYWmxiblF1WlhKeWIzSTdYRzRnSUNBZ0lDQWdJR1JwWkZObGRFVnljbTl5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9aWEp5YjNJZ1BUMDlJRzUxYkd3Z0ppWWdaWFpsYm5RdVkyOXNibThnUFQwOUlEQWdKaVlnWlhabGJuUXViR2x1Wlc1dklEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhWE5EY205emMwOXlhV2RwYmtWeWNtOXlJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGxkbVZ1ZEM1a1pXWmhkV3gwVUhKbGRtVnVkR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVTI5dFpTQnZkR2hsY2lCbGNuSnZjaUJvWVc1a2JHVnlJR2hoY3lCd2NtVjJaVzUwWldRZ1pHVm1ZWFZzZEM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJDY205M2MyVnljeUJ6YVd4bGJtTmxJSFJvWlNCbGNuSnZjaUJ5WlhCdmNuUWdhV1lnZEdocGN5Qm9ZWEJ3Wlc1ekxseHVJQ0FnSUNBZ0lDQWdJQzh2SUZkbEoyeHNJSEpsYldWdFltVnlJSFJvYVhNZ2RHOGdiR0YwWlhJZ1pHVmphV1JsSUhkb1pYUm9aWElnZEc4Z2JHOW5JR2wwSUc5eUlHNXZkQzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9aWEp5YjNJZ0lUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1pYSnliM0lnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2k1ZmMzVndjSEpsYzNOTWIyZG5hVzVuSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMGdZMkYwWTJnZ0tHbHVibVZ5S1NCN0x5OGdTV2R1YjNKbExseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0F2THlCRGNtVmhkR1VnWVNCbVlXdGxJR1YyWlc1MElIUjVjR1V1WEc1Y2JseHVJQ0FnSUNBZ2RtRnlJR1YyZEZSNWNHVWdQU0JjSW5KbFlXTjBMVndpSUNzZ0tHNWhiV1VnUHlCdVlXMWxJRG9nSjJsdWRtOXJaV2QxWVhKa1pXUmpZV3hzWW1GamF5Y3BPeUF2THlCQmRIUmhZMmdnYjNWeUlHVjJaVzUwSUdoaGJtUnNaWEp6WEc1Y2JpQWdJQ0FnSUhkcGJtUnZkeTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ2RsY25KdmNpY3NJR2hoYm1Sc1pWZHBibVJ2ZDBWeWNtOXlLVHRjYmlBZ0lDQWdJR1poYTJWT2IyUmxMbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9aWFowVkhsd1pTd2dZMkZzYkVOaGJHeGlZV05yTENCbVlXeHpaU2s3SUM4dklGTjVibU5vY205dWIzVnpiSGtnWkdsemNHRjBZMmdnYjNWeUlHWmhhMlVnWlhabGJuUXVJRWxtSUhSb1pTQjFjMlZ5TFhCeWIzWnBaR1ZrSUdaMWJtTjBhVzl1WEc0Z0lDQWdJQ0F2THlCbGNuSnZjbk1zSUdsMElIZHBiR3dnZEhKcFoyZGxjaUJ2ZFhJZ1oyeHZZbUZzSUdWeWNtOXlJR2hoYm1Sc1pYSXVYRzVjYmlBZ0lDQWdJR1YyZEM1cGJtbDBSWFpsYm5Rb1pYWjBWSGx3WlN3Z1ptRnNjMlVzSUdaaGJITmxLVHRjYmlBZ0lDQWdJR1poYTJWT2IyUmxMbVJwYzNCaGRHTm9SWFpsYm5Rb1pYWjBLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIZHBibVJ2ZDBWMlpXNTBSR1Z6WTNKcGNIUnZjaWtnZTF4dUlDQWdJQ0FnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29kMmx1Wkc5M0xDQW5aWFpsYm5RbkxDQjNhVzVrYjNkRmRtVnVkRVJsYzJOeWFYQjBiM0lwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9aR2xrUlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tDRmthV1JUWlhSRmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRlJvWlNCallXeHNZbUZqYXlCbGNuSnZjbVZrTENCaWRYUWdkR2hsSUdWeWNtOXlJR1YyWlc1MElHNWxkbVZ5SUdacGNtVmtMbHh1SUNBZ0lDQWdJQ0FnSUdWeWNtOXlJRDBnYm1WM0lFVnljbTl5S0NkQmJpQmxjbkp2Y2lCM1lYTWdkR2h5YjNkdUlHbHVjMmxrWlNCdmJtVWdiMllnZVc5MWNpQmpiMjF3YjI1bGJuUnpMQ0JpZFhRZ1VtVmhZM1FnSnlBcklGd2laRzlsYzI0bmRDQnJibTkzSUhkb1lYUWdhWFFnZDJGekxpQlVhR2x6SUdseklHeHBhMlZzZVNCa2RXVWdkRzhnWW5KdmQzTmxjaUJjSWlBcklDZG1iR0ZyYVc1bGMzTXVJRkpsWVdOMElHUnZaWE1nYVhSeklHSmxjM1FnZEc4Z2NISmxjMlZ5ZG1VZ2RHaGxJRndpVUdGMWMyVWdiMjRnSnlBcklDZGxlR05sY0hScGIyNXpYQ0lnWW1Wb1lYWnBiM0lnYjJZZ2RHaGxJRVJsZGxSdmIyeHpMQ0IzYUdsamFDQnlaWEYxYVhKbGN5QnpiMjFsSUNjZ0t5QmNJa1JGVmkxdGIyUmxJRzl1YkhrZ2RISnBZMnR6TGlCSmRDZHpJSEJ2YzNOcFlteGxJSFJvWVhRZ2RHaGxjMlVnWkc5dUozUWdkMjl5YXlCcGJpQmNJaUFySUNkNWIzVnlJR0p5YjNkelpYSXVJRlJ5ZVNCMGNtbG5aMlZ5YVc1bklIUm9aU0JsY25KdmNpQnBiaUJ3Y205a2RXTjBhVzl1SUcxdlpHVXNJQ2NnS3lBbmIzSWdjM2RwZEdOb2FXNW5JSFJ2SUdFZ2JXOWtaWEp1SUdKeWIzZHpaWEl1SUVsbUlIbHZkU0J6ZFhOd1pXTjBJSFJvWVhRZ2RHaHBjeUJwY3lBbklDc2dKMkZqZEhWaGJHeDVJR0Z1SUdsemMzVmxJSGRwZEdnZ1VtVmhZM1FzSUhCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExpY3BPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dselEzSnZjM05QY21sbmFXNUZjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUlEMGdibVYzSUVWeWNtOXlLRndpUVNCamNtOXpjeTF2Y21sbmFXNGdaWEp5YjNJZ2QyRnpJSFJvY205M2JpNGdVbVZoWTNRZ1pHOWxjMjRuZENCb1lYWmxJR0ZqWTJWemN5QjBieUJjSWlBcklDZDBhR1VnWVdOMGRXRnNJR1Z5Y205eUlHOWlhbVZqZENCcGJpQmtaWFpsYkc5d2JXVnVkQzRnSnlBcklDZFRaV1VnYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxamNtOXpjMjl5YVdkcGJpMWxjbkp2Y2lCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpNG5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIUm9hWE11YjI1RmNuSnZjaWhsY25KdmNpazdYRzRnSUNBZ0lDQjlJQzh2SUZKbGJXOTJaU0J2ZFhJZ1pYWmxiblFnYkdsemRHVnVaWEp6WEc1Y2JseHVJQ0FnSUNBZ2QybHVaRzkzTG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb0oyVnljbTl5Snl3Z2FHRnVaR3hsVjJsdVpHOTNSWEp5YjNJcE8xeHVJQ0FnSUgwN1hHNWNiaUFnSUNCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkydEpiWEJzSUQwZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJSR1YyTzF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJ0SmJYQnNKREVnUFNCcGJuWnZhMlZIZFdGeVpHVmtRMkZzYkdKaFkydEpiWEJzTzF4dVhHNTJZWElnYUdGelJYSnliM0lnUFNCbVlXeHpaVHRjYm5aaGNpQmpZWFZuYUhSRmNuSnZjaUE5SUc1MWJHdzdJQzh2SUZWelpXUWdZbmtnWlhabGJuUWdjM2x6ZEdWdElIUnZJR05oY0hSMWNtVXZjbVYwYUhKdmR5QjBhR1VnWm1seWMzUWdaWEp5YjNJdVhHNWNiblpoY2lCb1lYTlNaWFJvY205M1JYSnliM0lnUFNCbVlXeHpaVHRjYm5aaGNpQnlaWFJvY205M1JYSnliM0lnUFNCdWRXeHNPMXh1ZG1GeUlISmxjRzl5ZEdWeUlEMGdlMXh1SUNCdmJrVnljbTl5T2lCbWRXNWpkR2x2YmlBb1pYSnliM0lwSUh0Y2JpQWdJQ0JvWVhORmNuSnZjaUE5SUhSeWRXVTdYRzRnSUNBZ1kyRjFaMmgwUlhKeWIzSWdQU0JsY25KdmNqdGNiaUFnZlZ4dWZUdGNiaThxS2x4dUlDb2dRMkZzYkNCaElHWjFibU4wYVc5dUlIZG9hV3hsSUdkMVlYSmthVzVuSUdGbllXbHVjM1FnWlhKeWIzSnpJSFJvWVhRZ2FHRndjR1Z1Y3lCM2FYUm9hVzRnYVhRdVhHNGdLaUJTWlhSMWNtNXpJR0Z1SUdWeWNtOXlJR2xtSUdsMElIUm9jbTkzY3l3Z2IzUm9aWEozYVhObElHNTFiR3d1WEc0Z0tseHVJQ29nU1c0Z2NISnZaSFZqZEdsdmJpd2dkR2hwY3lCcGN5QnBiWEJzWlcxbGJuUmxaQ0IxYzJsdVp5QmhJSFJ5ZVMxallYUmphQzRnVkdobElISmxZWE52YmlCM1pTQmtiMjRuZEZ4dUlDb2dkWE5sSUdFZ2RISjVMV05oZEdOb0lHUnBjbVZqZEd4NUlHbHpJSE52SUhSb1lYUWdkMlVnWTJGdUlITjNZWEFnYjNWMElHRWdaR2xtWm1WeVpXNTBYRzRnS2lCcGJYQnNaVzFsYm5SaGRHbHZiaUJwYmlCRVJWWWdiVzlrWlM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTFOMGNtbHVaMzBnYm1GdFpTQnZaaUIwYUdVZ1ozVmhjbVFnZEc4Z2RYTmxJR1p2Y2lCc2IyZG5hVzVuSUc5eUlHUmxZblZuWjJsdVoxeHVJQ29nUUhCaGNtRnRJSHRHZFc1amRHbHZibjBnWm5WdVl5QlVhR1VnWm5WdVkzUnBiMjRnZEc4Z2FXNTJiMnRsWEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJR052Ym5SbGVIUWdWR2hsSUdOdmJuUmxlSFFnZEc4Z2RYTmxJSGRvWlc0Z1kyRnNiR2x1WnlCMGFHVWdablZ1WTNScGIyNWNiaUFxSUVCd1lYSmhiU0I3TGk0dUtuMGdZWEpuY3lCQmNtZDFiV1Z1ZEhNZ1ptOXlJR1oxYm1OMGFXOXVYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yS0c1aGJXVXNJR1oxYm1Nc0lHTnZiblJsZUhRc0lHRXNJR0lzSUdNc0lHUXNJR1VzSUdZcElIdGNiaUFnYUdGelJYSnliM0lnUFNCbVlXeHpaVHRjYmlBZ1kyRjFaMmgwUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0JwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJ0SmJYQnNKREV1WVhCd2JIa29jbVZ3YjNKMFpYSXNJR0Z5WjNWdFpXNTBjeWs3WEc1OVhHNHZLaXBjYmlBcUlGTmhiV1VnWVhNZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJMQ0JpZFhRZ2FXNXpkR1ZoWkNCdlppQnlaWFIxY201cGJtY2dZVzRnWlhKeWIzSXNJR2wwSUhOMGIzSmxjMXh1SUNvZ2FYUWdhVzRnWVNCbmJHOWlZV3dnYzI4Z2FYUWdZMkZ1SUdKbElISmxkR2h5YjNkdUlHSjVJR0J5WlhSb2NtOTNRMkYxWjJoMFJYSnliM0pnSUd4aGRHVnlMbHh1SUNvZ1ZFOUVUem9nVTJWbElHbG1JR05oZFdkb2RFVnljbTl5SUdGdVpDQnlaWFJvY205M1JYSnliM0lnWTJGdUlHSmxJSFZ1YVdacFpXUXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlHNWhiV1VnYjJZZ2RHaGxJR2QxWVhKa0lIUnZJSFZ6WlNCbWIzSWdiRzluWjJsdVp5QnZjaUJrWldKMVoyZHBibWRjYmlBcUlFQndZWEpoYlNCN1JuVnVZM1JwYjI1OUlHWjFibU1nVkdobElHWjFibU4wYVc5dUlIUnZJR2x1ZG05clpWeHVJQ29nUUhCaGNtRnRJSHNxZlNCamIyNTBaWGgwSUZSb1pTQmpiMjUwWlhoMElIUnZJSFZ6WlNCM2FHVnVJR05oYkd4cGJtY2dkR2hsSUdaMWJtTjBhVzl1WEc0Z0tpQkFjR0Z5WVcwZ2V5NHVMaXA5SUdGeVozTWdRWEpuZFcxbGJuUnpJR1p2Y2lCbWRXNWpkR2x2Ymx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdsdWRtOXJaVWQxWVhKa1pXUkRZV3hzWW1GamEwRnVaRU5oZEdOb1JtbHljM1JGY25KdmNpaHVZVzFsTENCbWRXNWpMQ0JqYjI1MFpYaDBMQ0JoTENCaUxDQmpMQ0JrTENCbExDQm1LU0I3WEc0Z0lHbHVkbTlyWlVkMVlYSmtaV1JEWVd4c1ltRmpheTVoY0hCc2VTaDBhR2x6TENCaGNtZDFiV1Z1ZEhNcE8xeHVYRzRnSUdsbUlDaG9ZWE5GY25KdmNpa2dlMXh1SUNBZ0lIWmhjaUJsY25KdmNpQTlJR05zWldGeVEyRjFaMmgwUlhKeWIzSW9LVHRjYmx4dUlDQWdJR2xtSUNnaGFHRnpVbVYwYUhKdmQwVnljbTl5S1NCN1hHNGdJQ0FnSUNCb1lYTlNaWFJvY205M1JYSnliM0lnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwYUhKdmQwVnljbTl5SUQwZ1pYSnliM0k3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRVIxY21sdVp5QmxlR1ZqZFhScGIyNGdiMllnWjNWaGNtUmxaQ0JtZFc1amRHbHZibk1nZDJVZ2QybHNiQ0JqWVhCMGRYSmxJSFJvWlNCbWFYSnpkQ0JsY25KdmNpQjNhR2xqYUZ4dUlDb2dkMlVnZDJsc2JDQnlaWFJvY205M0lIUnZJR0psSUdoaGJtUnNaV1FnWW5rZ2RHaGxJSFJ2Y0NCc1pYWmxiQ0JsY25KdmNpQm9ZVzVrYkdWeUxseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlISmxkR2h5YjNkRFlYVm5hSFJGY25KdmNpZ3BJSHRjYmlBZ2FXWWdLR2hoYzFKbGRHaHliM2RGY25KdmNpa2dlMXh1SUNBZ0lIWmhjaUJsY25KdmNpQTlJSEpsZEdoeWIzZEZjbkp2Y2p0Y2JpQWdJQ0JvWVhOU1pYUm9jbTkzUlhKeWIzSWdQU0JtWVd4elpUdGNiaUFnSUNCeVpYUm9jbTkzUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0FnSUhSb2NtOTNJR1Z5Y205eU8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQm9ZWE5EWVhWbmFIUkZjbkp2Y2lncElIdGNiaUFnY21WMGRYSnVJR2hoYzBWeWNtOXlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kyeGxZWEpEWVhWbmFIUkZjbkp2Y2lncElIdGNiaUFnYVdZZ0tHaGhjMFZ5Y205eUtTQjdYRzRnSUNBZ2RtRnlJR1Z5Y205eUlEMGdZMkYxWjJoMFJYSnliM0k3WEc0Z0lDQWdhR0Z6UlhKeWIzSWdQU0JtWVd4elpUdGNiaUFnSUNCallYVm5hSFJGY25KdmNpQTlJRzUxYkd3N1hHNGdJQ0FnY21WMGRYSnVJR1Z5Y205eU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVkyeGxZWEpEWVhWbmFIUkZjbkp2Y2lCM1lYTWdZMkZzYkdWa0lHSjFkQ0J1YnlCbGNuSnZjaUIzWVhNZ1kyRndkSFZ5WldRdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUdkbGRFWnBZbVZ5UTNWeWNtVnVkRkJ5YjNCelJuSnZiVTV2WkdVZ1BTQnVkV3hzTzF4dWRtRnlJR2RsZEVsdWMzUmhibU5sUm5KdmJVNXZaR1VnUFNCdWRXeHNPMXh1ZG1GeUlHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWdQU0J1ZFd4c08xeHVablZ1WTNScGIyNGdjMlYwUTI5dGNHOXVaVzUwVkhKbFpTaG5aWFJHYVdKbGNrTjFjbkpsYm5SUWNtOXdjMFp5YjIxT2IyUmxTVzF3YkN3Z1oyVjBTVzV6ZEdGdVkyVkdjbTl0VG05a1pVbHRjR3dzSUdkbGRFNXZaR1ZHY205dFNXNXpkR0Z1WTJWSmJYQnNLU0I3WEc0Z0lHZGxkRVpwWW1WeVEzVnljbVZ1ZEZCeWIzQnpSbkp2YlU1dlpHVWdQU0JuWlhSR2FXSmxja04xY25KbGJuUlFjbTl3YzBaeWIyMU9iMlJsU1cxd2JEdGNiaUFnWjJWMFNXNXpkR0Z1WTJWR2NtOXRUbTlrWlNBOUlHZGxkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVkpiWEJzTzF4dUlDQm5aWFJPYjJSbFJuSnZiVWx1YzNSaGJtTmxJRDBnWjJWMFRtOWtaVVp5YjIxSmJuTjBZVzVqWlVsdGNHdzdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2haMlYwVG05a1pVWnliMjFKYm5OMFlXNWpaU0I4ZkNBaFoyVjBTVzV6ZEdGdVkyVkdjbTl0VG05a1pTa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owVjJaVzUwVUd4MVoybHVWWFJwYkhNdWMyVjBRMjl0Y0c5dVpXNTBWSEpsWlNndUxpNHBPaUJKYm1wbFkzUmxaQ0FuSUNzZ0oyMXZaSFZzWlNCcGN5QnRhWE56YVc1bklHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWdiM0lnWjJWMFNXNXpkR0Z1WTJWR2NtOXRUbTlrWlM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JuWmhjaUIyWVd4cFpHRjBaVVYyWlc1MFJHbHpjR0YwWTJobGN6dGNibHh1ZTF4dUlDQjJZV3hwWkdGMFpVVjJaVzUwUkdsemNHRjBZMmhsY3lBOUlHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUhaaGNpQmthWE53WVhSamFFeHBjM1JsYm1WeWN5QTlJR1YyWlc1MExsOWthWE53WVhSamFFeHBjM1JsYm1WeWN6dGNiaUFnSUNCMllYSWdaR2x6Y0dGMFkyaEpibk4wWVc1alpYTWdQU0JsZG1WdWRDNWZaR2x6Y0dGMFkyaEpibk4wWVc1alpYTTdYRzRnSUNBZ2RtRnlJR3hwYzNSbGJtVnljMGx6UVhKeUlEMGdRWEp5WVhrdWFYTkJjbkpoZVNoa2FYTndZWFJqYUV4cGMzUmxibVZ5Y3lrN1hHNGdJQ0FnZG1GeUlHeHBjM1JsYm1WeWMweGxiaUE5SUd4cGMzUmxibVZ5YzBselFYSnlJRDhnWkdsemNHRjBZMmhNYVhOMFpXNWxjbk11YkdWdVozUm9JRG9nWkdsemNHRjBZMmhNYVhOMFpXNWxjbk1nUHlBeElEb2dNRHRjYmlBZ0lDQjJZWElnYVc1emRHRnVZMlZ6U1hOQmNuSWdQU0JCY25KaGVTNXBjMEZ5Y21GNUtHUnBjM0JoZEdOb1NXNXpkR0Z1WTJWektUdGNiaUFnSUNCMllYSWdhVzV6ZEdGdVkyVnpUR1Z1SUQwZ2FXNXpkR0Z1WTJWelNYTkJjbklnUHlCa2FYTndZWFJqYUVsdWMzUmhibU5sY3k1c1pXNW5kR2dnT2lCa2FYTndZWFJqYUVsdWMzUmhibU5sY3lBL0lERWdPaUF3TzF4dVhHNGdJQ0FnYVdZZ0tHbHVjM1JoYm1ObGMwbHpRWEp5SUNFOVBTQnNhWE4wWlc1bGNuTkpjMEZ5Y2lCOGZDQnBibk4wWVc1alpYTk1aVzRnSVQwOUlHeHBjM1JsYm1WeWMweGxiaWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMFYyWlc1MFVHeDFaMmx1VlhScGJITTZJRWx1ZG1Gc2FXUWdZR1YyWlc1MFlDNG5LVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNTlYRzR2S2lwY2JpQXFJRVJwYzNCaGRHTm9JSFJvWlNCbGRtVnVkQ0IwYnlCMGFHVWdiR2x6ZEdWdVpYSXVYRzRnS2lCQWNHRnlZVzBnZTFONWJuUm9aWFJwWTBWMlpXNTBmU0JsZG1WdWRDQlRlVzUwYUdWMGFXTkZkbVZ1ZENCMGJ5Qm9ZVzVrYkdWY2JpQXFJRUJ3WVhKaGJTQjdablZ1WTNScGIyNTlJR3hwYzNSbGJtVnlJRUZ3Y0d4cFkyRjBhVzl1TFd4bGRtVnNJR05oYkd4aVlXTnJYRzRnS2lCQWNHRnlZVzBnZXlwOUlHbHVjM1FnU1c1MFpYSnVZV3dnWTI5dGNHOXVaVzUwSUdsdWMzUmhibU5sWEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCbGVHVmpkWFJsUkdsemNHRjBZMmdvWlhabGJuUXNJR3hwYzNSbGJtVnlMQ0JwYm5OMEtTQjdYRzRnSUhaaGNpQjBlWEJsSUQwZ1pYWmxiblF1ZEhsd1pTQjhmQ0FuZFc1cmJtOTNiaTFsZG1WdWRDYzdYRzRnSUdWMlpXNTBMbU4xY25KbGJuUlVZWEpuWlhRZ1BTQm5aWFJPYjJSbFJuSnZiVWx1YzNSaGJtTmxLR2x1YzNRcE8xeHVJQ0JwYm5admEyVkhkV0Z5WkdWa1EyRnNiR0poWTJ0QmJtUkRZWFJqYUVacGNuTjBSWEp5YjNJb2RIbHdaU3dnYkdsemRHVnVaWElzSUhWdVpHVm1hVzVsWkN3Z1pYWmxiblFwTzF4dUlDQmxkbVZ1ZEM1amRYSnlaVzUwVkdGeVoyVjBJRDBnYm5Wc2JEdGNibjFjYmk4cUtseHVJQ29nVTNSaGJtUmhjbVF2YzJsdGNHeGxJR2wwWlhKaGRHbHZiaUIwYUhKdmRXZG9JR0Z1SUdWMlpXNTBKM01nWTI5c2JHVmpkR1ZrSUdScGMzQmhkR05vWlhNdVhHNGdLaTljYmx4dVpuVnVZM1JwYjI0Z1pYaGxZM1YwWlVScGMzQmhkR05vWlhOSmJrOXlaR1Z5S0dWMlpXNTBLU0I3WEc0Z0lIWmhjaUJrYVhOd1lYUmphRXhwYzNSbGJtVnljeUE5SUdWMlpXNTBMbDlrYVhOd1lYUmphRXhwYzNSbGJtVnljenRjYmlBZ2RtRnlJR1JwYzNCaGRHTm9TVzV6ZEdGdVkyVnpJRDBnWlhabGJuUXVYMlJwYzNCaGRHTm9TVzV6ZEdGdVkyVnpPMXh1WEc0Z0lIdGNiaUFnSUNCMllXeHBaR0YwWlVWMlpXNTBSR2x6Y0dGMFkyaGxjeWhsZG1WdWRDazdYRzRnSUgxY2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hrYVhOd1lYUmphRXhwYzNSbGJtVnljeWtwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdScGMzQmhkR05vVEdsemRHVnVaWEp6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnBaaUFvWlhabGJuUXVhWE5RY205d1lXZGhkR2x2YmxOMGIzQndaV1FvS1NrZ2UxeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgwZ0x5OGdUR2x6ZEdWdVpYSnpJR0Z1WkNCSmJuTjBZVzVqWlhNZ1lYSmxJSFIzYnlCd1lYSmhiR3hsYkNCaGNuSmhlWE1nZEdoaGRDQmhjbVVnWVd4M1lYbHpJR2x1SUhONWJtTXVYRzVjYmx4dUlDQWdJQ0FnWlhobFkzVjBaVVJwYzNCaGRHTm9LR1YyWlc1MExDQmthWE53WVhSamFFeHBjM1JsYm1WeWMxdHBYU3dnWkdsemNHRjBZMmhKYm5OMFlXNWpaWE5iYVYwcE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElHbG1JQ2hrYVhOd1lYUmphRXhwYzNSbGJtVnljeWtnZTF4dUlDQWdJR1Y0WldOMWRHVkVhWE53WVhSamFDaGxkbVZ1ZEN3Z1pHbHpjR0YwWTJoTWFYTjBaVzVsY25Nc0lHUnBjM0JoZEdOb1NXNXpkR0Z1WTJWektUdGNiaUFnZlZ4dVhHNGdJR1YyWlc1MExsOWthWE53WVhSamFFeHBjM1JsYm1WeWN5QTlJRzUxYkd3N1hHNGdJR1YyWlc1MExsOWthWE53WVhSamFFbHVjM1JoYm1ObGN5QTlJRzUxYkd3N1hHNTlYRzVjYm5aaGNpQkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWRDQTlJREE3WEc1MllYSWdRMnhoYzNORGIyMXdiMjVsYm5RZ1BTQXhPMXh1ZG1GeUlFbHVaR1YwWlhKdGFXNWhkR1ZEYjIxd2IyNWxiblFnUFNBeU95QXZMeUJDWldadmNtVWdkMlVnYTI1dmR5QjNhR1YwYUdWeUlHbDBJR2x6SUdaMWJtTjBhVzl1SUc5eUlHTnNZWE56WEc1Y2JuWmhjaUJJYjNOMFVtOXZkQ0E5SURNN0lDOHZJRkp2YjNRZ2IyWWdZU0JvYjNOMElIUnlaV1V1SUVOdmRXeGtJR0psSUc1bGMzUmxaQ0JwYm5OcFpHVWdZVzV2ZEdobGNpQnViMlJsTGx4dVhHNTJZWElnU0c5emRGQnZjblJoYkNBOUlEUTdJQzh2SUVFZ2MzVmlkSEpsWlM0Z1EyOTFiR1FnWW1VZ1lXNGdaVzUwY25rZ2NHOXBiblFnZEc4Z1lTQmthV1ptWlhKbGJuUWdjbVZ1WkdWeVpYSXVYRzVjYm5aaGNpQkliM04wUTI5dGNHOXVaVzUwSUQwZ05UdGNiblpoY2lCSWIzTjBWR1Y0ZENBOUlEWTdYRzUyWVhJZ1JuSmhaMjFsYm5RZ1BTQTNPMXh1ZG1GeUlFMXZaR1VnUFNBNE8xeHVkbUZ5SUVOdmJuUmxlSFJEYjI1emRXMWxjaUE5SURrN1hHNTJZWElnUTI5dWRHVjRkRkJ5YjNacFpHVnlJRDBnTVRBN1hHNTJZWElnUm05eWQyRnlaRkpsWmlBOUlERXhPMXh1ZG1GeUlGQnliMlpwYkdWeUlEMGdNVEk3WEc1MllYSWdVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUWdQU0F4TXp0Y2JuWmhjaUJOWlcxdlEyOXRjRzl1Wlc1MElEMGdNVFE3WEc1MllYSWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkQ0E5SURFMU8xeHVkbUZ5SUV4aGVubERiMjF3YjI1bGJuUWdQU0F4Tmp0Y2JuWmhjaUJKYm1OdmJYQnNaWFJsUTJ4aGMzTkRiMjF3YjI1bGJuUWdQU0F4Tnp0Y2JuWmhjaUJFWldoNVpISmhkR1ZrUm5KaFoyMWxiblFnUFNBeE9EdGNiblpoY2lCVGRYTndaVzV6WlV4cGMzUkRiMjF3YjI1bGJuUWdQU0F4T1R0Y2JuWmhjaUJHZFc1a1lXMWxiblJoYkVOdmJYQnZibVZ1ZENBOUlESXdPMXh1ZG1GeUlGTmpiM0JsUTI5dGNHOXVaVzUwSUQwZ01qRTdYRzUyWVhJZ1FteHZZMnNnUFNBeU1qdGNibHh1THlvcVhHNGdLaUJKYm1wbFkzUmhZbXhsSUc5eVpHVnlhVzVuSUc5bUlHVjJaVzUwSUhCc2RXZHBibk11WEc0Z0tpOWNiblpoY2lCbGRtVnVkRkJzZFdkcGJrOXlaR1Z5SUQwZ2JuVnNiRHRjYmk4cUtseHVJQ29nU1c1cVpXTjBZV0pzWlNCdFlYQndhVzVuSUdaeWIyMGdibUZ0WlhNZ2RHOGdaWFpsYm5RZ2NHeDFaMmx1SUcxdlpIVnNaWE11WEc0Z0tpOWNibHh1ZG1GeUlHNWhiV1Z6Vkc5UWJIVm5hVzV6SUQwZ2UzMDdYRzR2S2lwY2JpQXFJRkpsWTI5dGNIVjBaWE1nZEdobElIQnNkV2RwYmlCc2FYTjBJSFZ6YVc1bklIUm9aU0JwYm1wbFkzUmxaQ0J3YkhWbmFXNXpJR0Z1WkNCd2JIVm5hVzRnYjNKa1pYSnBibWN1WEc0Z0tseHVJQ29nUUhCeWFYWmhkR1ZjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJ5WldOdmJYQjFkR1ZRYkhWbmFXNVBjbVJsY21sdVp5Z3BJSHRjYmlBZ2FXWWdLQ0ZsZG1WdWRGQnNkV2RwYms5eVpHVnlLU0I3WEc0Z0lDQWdMeThnVjJGcGRDQjFiblJwYkNCaGJpQmdaWFpsYm5SUWJIVm5hVzVQY21SbGNtQWdhWE1nYVc1cVpXTjBaV1F1WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdabTl5SUNoMllYSWdjR3gxWjJsdVRtRnRaU0JwYmlCdVlXMWxjMVJ2VUd4MVoybHVjeWtnZTF4dUlDQWdJSFpoY2lCd2JIVm5hVzVOYjJSMWJHVWdQU0J1WVcxbGMxUnZVR3gxWjJsdWMxdHdiSFZuYVc1T1lXMWxYVHRjYmlBZ0lDQjJZWElnY0d4MVoybHVTVzVrWlhnZ1BTQmxkbVZ1ZEZCc2RXZHBiazl5WkdWeUxtbHVaR1Y0VDJZb2NHeDFaMmx1VG1GdFpTazdYRzVjYmlBZ0lDQnBaaUFvSVNod2JIVm5hVzVKYm1SbGVDQStJQzB4S1NrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNU9pQkRZVzV1YjNRZ2FXNXFaV04wSUdWMlpXNTBJSEJzZFdkcGJuTWdkR2hoZENCa2J5QnViM1FnWlhocGMzUWdhVzRnZEdobElIQnNkV2RwYmlCdmNtUmxjbWx1Wnl3Z1lGd2lJQ3NnY0d4MVoybHVUbUZ0WlNBcklGd2lZQzVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdiSFZuYVc1elczQnNkV2RwYmtsdVpHVjRYU2tnZTF4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NGd2JIVm5hVzVOYjJSMWJHVXVaWGgwY21GamRFVjJaVzUwY3lrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNU9pQkZkbVZ1ZENCd2JIVm5hVzV6SUcxMWMzUWdhVzF3YkdWdFpXNTBJR0Z1SUdCbGVIUnlZV04wUlhabGJuUnpZQ0J0WlhSb2IyUXNJR0oxZENCZ1hDSWdLeUJ3YkhWbmFXNU9ZVzFsSUNzZ1hDSmdJR1J2WlhNZ2JtOTBMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0d4MVoybHVjMXR3YkhWbmFXNUpibVJsZUYwZ1BTQndiSFZuYVc1TmIyUjFiR1U3WEc0Z0lDQWdkbUZ5SUhCMVlteHBjMmhsWkVWMlpXNTBjeUE5SUhCc2RXZHBiazF2WkhWc1pTNWxkbVZ1ZEZSNWNHVnpPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdaWFpsYm5ST1lXMWxJR2x1SUhCMVlteHBjMmhsWkVWMlpXNTBjeWtnZTF4dUlDQWdJQ0FnYVdZZ0tDRndkV0pzYVhOb1JYWmxiblJHYjNKUWJIVm5hVzRvY0hWaWJHbHphR1ZrUlhabGJuUnpXMlYyWlc1MFRtRnRaVjBzSUhCc2RXZHBiazF2WkhWc1pTd2daWFpsYm5ST1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYWmxiblJRYkhWbmFXNVNaV2RwYzNSeWVUb2dSbUZwYkdWa0lIUnZJSEIxWW14cGMyZ2daWFpsYm5RZ1lGd2lJQ3NnWlhabGJuUk9ZVzFsSUNzZ1hDSmdJR1p2Y2lCd2JIVm5hVzRnWUZ3aUlDc2djR3gxWjJsdVRtRnRaU0FySUZ3aVlDNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUZCMVlteHBjMmhsY3lCaGJpQmxkbVZ1ZENCemJ5QjBhR0YwSUdsMElHTmhiaUJpWlNCa2FYTndZWFJqYUdWa0lHSjVJSFJvWlNCemRYQndiR2xsWkNCd2JIVm5hVzR1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJR1JwYzNCaGRHTm9RMjl1Wm1sbklFUnBjM0JoZEdOb0lHTnZibVpwWjNWeVlYUnBiMjRnWm05eUlIUm9aU0JsZG1WdWRDNWNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JRYkhWbmFXNU5iMlIxYkdVZ1VHeDFaMmx1SUhCMVlteHBjMmhwYm1jZ2RHaGxJR1YyWlc1MExseHVJQ29nUUhKbGRIVnliaUI3WW05dmJHVmhibjBnVkhKMVpTQnBaaUIwYUdVZ1pYWmxiblFnZDJGeklITjFZMk5sYzNObWRXeHNlU0J3ZFdKc2FYTm9aV1F1WEc0Z0tpQkFjSEpwZG1GMFpWeHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdjSFZpYkdsemFFVjJaVzUwUm05eVVHeDFaMmx1S0dScGMzQmhkR05vUTI5dVptbG5MQ0J3YkhWbmFXNU5iMlIxYkdVc0lHVjJaVzUwVG1GdFpTa2dlMXh1SUNCcFppQW9JU0ZsZG1WdWRFNWhiV1ZFYVhOd1lYUmphRU52Ym1acFozTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1pYWmxiblJPWVcxbEtTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtWMlpXNTBVR3gxWjJsdVVtVm5hWE4wY25rNklFMXZjbVVnZEdoaGJpQnZibVVnY0d4MVoybHVJR0YwZEdWdGNIUmxaQ0IwYnlCd2RXSnNhWE5vSUhSb1pTQnpZVzFsSUdWMlpXNTBJRzVoYldVc0lHQmNJaUFySUdWMlpXNTBUbUZ0WlNBcklGd2lZQzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHVjJaVzUwVG1GdFpVUnBjM0JoZEdOb1EyOXVabWxuYzF0bGRtVnVkRTVoYldWZElEMGdaR2x6Y0dGMFkyaERiMjVtYVdjN1hHNGdJSFpoY2lCd2FHRnpaV1JTWldkcGMzUnlZWFJwYjI1T1lXMWxjeUE5SUdScGMzQmhkR05vUTI5dVptbG5MbkJvWVhObFpGSmxaMmx6ZEhKaGRHbHZiazVoYldWek8xeHVYRzRnSUdsbUlDaHdhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3lrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUhCb1lYTmxUbUZ0WlNCcGJpQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3lrZ2UxeHVJQ0FnSUNBZ2FXWWdLSEJvWVhObFpGSmxaMmx6ZEhKaGRHbHZiazVoYldWekxtaGhjMDkzYmxCeWIzQmxjblI1S0hCb1lYTmxUbUZ0WlNrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhCb1lYTmxaRkpsWjJsemRISmhkR2x2Yms1aGJXVWdQU0J3YUdGelpXUlNaV2RwYzNSeVlYUnBiMjVPWVcxbGMxdHdhR0Z6WlU1aGJXVmRPMXh1SUNBZ0lDQWdJQ0J3ZFdKc2FYTm9VbVZuYVhOMGNtRjBhVzl1VG1GdFpTaHdhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsTENCd2JIVm5hVzVOYjJSMWJHVXNJR1YyWlc1MFRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMGdaV3h6WlNCcFppQW9aR2x6Y0dGMFkyaERiMjVtYVdjdWNtVm5hWE4wY21GMGFXOXVUbUZ0WlNrZ2UxeHVJQ0FnSUhCMVlteHBjMmhTWldkcGMzUnlZWFJwYjI1T1lXMWxLR1JwYzNCaGRHTm9RMjl1Wm1sbkxuSmxaMmx6ZEhKaGRHbHZiazVoYldVc0lIQnNkV2RwYmsxdlpIVnNaU3dnWlhabGJuUk9ZVzFsS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JpOHFLbHh1SUNvZ1VIVmliR2x6YUdWeklHRWdjbVZuYVhOMGNtRjBhVzl1SUc1aGJXVWdkR2hoZENCcGN5QjFjMlZrSUhSdklHbGtaVzUwYVdaNUlHUnBjM0JoZEdOb1pXUWdaWFpsYm5SekxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCeVpXZHBjM1J5WVhScGIyNU9ZVzFsSUZKbFoybHpkSEpoZEdsdmJpQnVZVzFsSUhSdklHRmtaQzVjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCUWJIVm5hVzVOYjJSMWJHVWdVR3gxWjJsdUlIQjFZbXhwYzJocGJtY2dkR2hsSUdWMlpXNTBMbHh1SUNvZ1FIQnlhWFpoZEdWY2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIQjFZbXhwYzJoU1pXZHBjM1J5WVhScGIyNU9ZVzFsS0hKbFoybHpkSEpoZEdsdmJrNWhiV1VzSUhCc2RXZHBiazF2WkhWc1pTd2daWFpsYm5ST1lXMWxLU0I3WEc0Z0lHbG1JQ2doSVhKbFoybHpkSEpoZEdsdmJrNWhiV1ZOYjJSMWJHVnpXM0psWjJsemRISmhkR2x2Yms1aGJXVmRLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYWmxiblJRYkhWbmFXNVNaV2RwYzNSeWVUb2dUVzl5WlNCMGFHRnVJRzl1WlNCd2JIVm5hVzRnWVhSMFpXMXdkR1ZrSUhSdklIQjFZbXhwYzJnZ2RHaGxJSE5oYldVZ2NtVm5hWE4wY21GMGFXOXVJRzVoYldVc0lHQmNJaUFySUhKbFoybHpkSEpoZEdsdmJrNWhiV1VnS3lCY0ltQXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpXZHBjM1J5WVhScGIyNU9ZVzFsVFc5a2RXeGxjMXR5WldkcGMzUnlZWFJwYjI1T1lXMWxYU0E5SUhCc2RXZHBiazF2WkhWc1pUdGNiaUFnY21WbmFYTjBjbUYwYVc5dVRtRnRaVVJsY0dWdVpHVnVZMmxsYzF0eVpXZHBjM1J5WVhScGIyNU9ZVzFsWFNBOUlIQnNkV2RwYmsxdlpIVnNaUzVsZG1WdWRGUjVjR1Z6VzJWMlpXNTBUbUZ0WlYwdVpHVndaVzVrWlc1amFXVnpPMXh1WEc0Z0lIdGNiaUFnSUNCMllYSWdiRzkzWlhKRFlYTmxaRTVoYldVZ1BTQnlaV2RwYzNSeVlYUnBiMjVPWVcxbExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdjRzl6YzJsaWJHVlNaV2RwYzNSeVlYUnBiMjVPWVcxbGMxdHNiM2RsY2tOaGMyVmtUbUZ0WlYwZ1BTQnlaV2RwYzNSeVlYUnBiMjVPWVcxbE8xeHVYRzRnSUNBZ2FXWWdLSEpsWjJsemRISmhkR2x2Yms1aGJXVWdQVDA5SUNkdmJrUnZkV0pzWlVOc2FXTnJKeWtnZTF4dUlDQWdJQ0FnY0c5emMybGliR1ZTWldkcGMzUnlZWFJwYjI1T1lXMWxjeTV2Ym1SaWJHTnNhV05ySUQwZ2NtVm5hWE4wY21GMGFXOXVUbUZ0WlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmk4cUtseHVJQ29nVW1WbmFYTjBaWEp6SUhCc2RXZHBibk1nYzI4Z2RHaGhkQ0IwYUdWNUlHTmhiaUJsZUhSeVlXTjBJR0Z1WkNCa2FYTndZWFJqYUNCbGRtVnVkSE11WEc0Z0tpOWNibHh1THlvcVhHNGdLaUJQY21SbGNtVmtJR3hwYzNRZ2IyWWdhVzVxWldOMFpXUWdjR3gxWjJsdWN5NWNiaUFxTDF4dVhHNWNiblpoY2lCd2JIVm5hVzV6SUQwZ1cxMDdYRzR2S2lwY2JpQXFJRTFoY0hCcGJtY2dabkp2YlNCbGRtVnVkQ0J1WVcxbElIUnZJR1JwYzNCaGRHTm9JR052Ym1acFoxeHVJQ292WEc1Y2JuWmhjaUJsZG1WdWRFNWhiV1ZFYVhOd1lYUmphRU52Ym1acFozTWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1RXRndjR2x1WnlCbWNtOXRJSEpsWjJsemRISmhkR2x2YmlCdVlXMWxJSFJ2SUhCc2RXZHBiaUJ0YjJSMWJHVmNiaUFxTDF4dVhHNTJZWElnY21WbmFYTjBjbUYwYVc5dVRtRnRaVTF2WkhWc1pYTWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1RXRndjR2x1WnlCbWNtOXRJSEpsWjJsemRISmhkR2x2YmlCdVlXMWxJSFJ2SUdWMlpXNTBJRzVoYldWY2JpQXFMMXh1WEc1MllYSWdjbVZuYVhOMGNtRjBhVzl1VG1GdFpVUmxjR1Z1WkdWdVkybGxjeUE5SUh0OU8xeHVMeW9xWEc0Z0tpQk5ZWEJ3YVc1bklHWnliMjBnYkc5M1pYSmpZWE5sSUhKbFoybHpkSEpoZEdsdmJpQnVZVzFsY3lCMGJ5QjBhR1VnY0hKdmNHVnliSGtnWTJGelpXUWdkbVZ5YzJsdmJpeGNiaUFxSUhWelpXUWdkRzhnZDJGeWJpQnBiaUIwYUdVZ1kyRnpaU0J2WmlCdGFYTnphVzVuSUdWMlpXNTBJR2hoYm1Sc1pYSnpMaUJCZG1GcGJHRmliR1ZjYmlBcUlHOXViSGtnYVc0Z2RISjFaUzVjYmlBcUlFQjBlWEJsSUh0UFltcGxZM1I5WEc0Z0tpOWNibHh1ZG1GeUlIQnZjM05wWW14bFVtVm5hWE4wY21GMGFXOXVUbUZ0WlhNZ1BTQWdlMzBnT3lBdkx5QlVjblZ6ZENCMGFHVWdaR1YyWld4dmNHVnlJSFJ2SUc5dWJIa2dkWE5sSUhCdmMzTnBZbXhsVW1WbmFYTjBjbUYwYVc5dVRtRnRaWE1nYVc0Z2RISjFaVnh1WEc0dktpcGNiaUFxSUVsdWFtVmpkSE1nWVc0Z2IzSmtaWEpwYm1jZ2IyWWdjR3gxWjJsdWN5QW9ZbmtnY0d4MVoybHVJRzVoYldVcExpQlVhR2x6SUdGc2JHOTNjeUIwYUdVZ2IzSmtaWEpwYm1kY2JpQXFJSFJ2SUdKbElHUmxZMjkxY0d4bFpDQm1jbTl0SUdsdWFtVmpkR2x2YmlCdlppQjBhR1VnWVdOMGRXRnNJSEJzZFdkcGJuTWdjMjhnZEdoaGRDQnZjbVJsY21sdVp5QnBjMXh1SUNvZ1lXeDNZWGx6SUdSbGRHVnliV2x1YVhOMGFXTWdjbVZuWVhKa2JHVnpjeUJ2WmlCd1lXTnJZV2RwYm1jc0lHOXVMWFJvWlMxbWJIa2dhVzVxWldOMGFXOXVMQ0JsZEdNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0aGNuSmhlWDBnU1c1cVpXTjBaV1JGZG1WdWRGQnNkV2RwYms5eVpHVnlYRzRnS2lCQWFXNTBaWEp1WVd4Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCcGJtcGxZM1JGZG1WdWRGQnNkV2RwYms5eVpHVnlLR2x1YW1WamRHVmtSWFpsYm5SUWJIVm5hVzVQY21SbGNpa2dlMXh1SUNCcFppQW9JU0ZsZG1WdWRGQnNkV2RwYms5eVpHVnlLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYWmxiblJRYkhWbmFXNVNaV2RwYzNSeWVUb2dRMkZ1Ym05MElHbHVhbVZqZENCbGRtVnVkQ0J3YkhWbmFXNGdiM0prWlhKcGJtY2diVzl5WlNCMGFHRnVJRzl1WTJVdUlGbHZkU0JoY21VZ2JHbHJaV3g1SUhSeWVXbHVaeUIwYnlCc2IyRmtJRzF2Y21VZ2RHaGhiaUJ2Ym1VZ1kyOXdlU0J2WmlCU1pXRmpkQzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmU0F2THlCRGJHOXVaU0IwYUdVZ2IzSmtaWEpwYm1jZ2MyOGdhWFFnWTJGdWJtOTBJR0psSUdSNWJtRnRhV05oYkd4NUlHMTFkR0YwWldRdVhHNWNibHh1SUNCbGRtVnVkRkJzZFdkcGJrOXlaR1Z5SUQwZ1FYSnlZWGt1Y0hKdmRHOTBlWEJsTG5Oc2FXTmxMbU5oYkd3b2FXNXFaV04wWldSRmRtVnVkRkJzZFdkcGJrOXlaR1Z5S1R0Y2JpQWdjbVZqYjIxd2RYUmxVR3gxWjJsdVQzSmtaWEpwYm1jb0tUdGNibjFjYmk4cUtseHVJQ29nU1c1cVpXTjBjeUJ3YkhWbmFXNXpJSFJ2SUdKbElIVnpaV1FnWW5rZ2NHeDFaMmx1SUdWMlpXNTBJSE41YzNSbGJTNGdWR2hsSUhCc2RXZHBiaUJ1WVcxbGN5QnRkWE4wSUdKbFhHNGdLaUJwYmlCMGFHVWdiM0prWlhKcGJtY2dhVzVxWldOMFpXUWdZbmtnWUdsdWFtVmpkRVYyWlc1MFVHeDFaMmx1VDNKa1pYSmdMbHh1SUNwY2JpQXFJRkJzZFdkcGJuTWdZMkZ1SUdKbElHbHVhbVZqZEdWa0lHRnpJSEJoY25RZ2IyWWdjR0ZuWlNCcGJtbDBhV0ZzYVhwaGRHbHZiaUJ2Y2lCdmJpMTBhR1V0Wm14NUxseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCcGJtcGxZM1JsWkU1aGJXVnpWRzlRYkhWbmFXNXpJRTFoY0NCbWNtOXRJRzVoYldWeklIUnZJSEJzZFdkcGJpQnRiMlIxYkdWekxseHVJQ29nUUdsdWRHVnlibUZzWEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnYVc1cVpXTjBSWFpsYm5SUWJIVm5hVzV6UW5sT1lXMWxLR2x1YW1WamRHVmtUbUZ0WlhOVWIxQnNkV2RwYm5NcElIdGNiaUFnZG1GeUlHbHpUM0prWlhKcGJtZEVhWEowZVNBOUlHWmhiSE5sTzF4dVhHNGdJR1p2Y2lBb2RtRnlJSEJzZFdkcGJrNWhiV1VnYVc0Z2FXNXFaV04wWldST1lXMWxjMVJ2VUd4MVoybHVjeWtnZTF4dUlDQWdJR2xtSUNnaGFXNXFaV04wWldST1lXMWxjMVJ2VUd4MVoybHVjeTVvWVhOUGQyNVFjbTl3WlhKMGVTaHdiSFZuYVc1T1lXMWxLU2tnZTF4dUlDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhCc2RXZHBiazF2WkhWc1pTQTlJR2x1YW1WamRHVmtUbUZ0WlhOVWIxQnNkV2RwYm5OYmNHeDFaMmx1VG1GdFpWMDdYRzVjYmlBZ0lDQnBaaUFvSVc1aGJXVnpWRzlRYkhWbmFXNXpMbWhoYzA5M2JsQnliM0JsY25SNUtIQnNkV2RwYms1aGJXVXBJSHg4SUc1aGJXVnpWRzlRYkhWbmFXNXpXM0JzZFdkcGJrNWhiV1ZkSUNFOVBTQndiSFZuYVc1TmIyUjFiR1VwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hJVzVoYldWelZHOVFiSFZuYVc1elczQnNkV2RwYms1aGJXVmRLU0I3WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNU9pQkRZVzV1YjNRZ2FXNXFaV04wSUhSM2J5QmthV1ptWlhKbGJuUWdaWFpsYm5RZ2NHeDFaMmx1Y3lCMWMybHVaeUIwYUdVZ2MyRnRaU0J1WVcxbExDQmdYQ0lnS3lCd2JIVm5hVzVPWVcxbElDc2dYQ0pnTGx3aUlDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYm1GdFpYTlViMUJzZFdkcGJuTmJjR3gxWjJsdVRtRnRaVjBnUFNCd2JIVm5hVzVOYjJSMWJHVTdYRzRnSUNBZ0lDQnBjMDl5WkdWeWFXNW5SR2x5ZEhrZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHBjMDl5WkdWeWFXNW5SR2x5ZEhrcElIdGNiaUFnSUNCeVpXTnZiWEIxZEdWUWJIVm5hVzVQY21SbGNtbHVaeWdwTzF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJqWVc1VmMyVkVUMDBnUFNBaElTaDBlWEJsYjJZZ2QybHVaRzkzSUNFOVBTQW5kVzVrWldacGJtVmtKeUFtSmlCMGVYQmxiMllnZDJsdVpHOTNMbVJ2WTNWdFpXNTBJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5QW1KaUIwZVhCbGIyWWdkMmx1Wkc5M0xtUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFnSVQwOUlDZDFibVJsWm1sdVpXUW5LVHRjYmx4dWRtRnlJRkJNVlVkSlRsOUZWa1ZPVkY5VFdWTlVSVTBnUFNBeE8xeHVkbUZ5SUVsVFgxSkZVRXhCV1VWRUlEMGdNU0E4UENBMU8xeHVkbUZ5SUVsVFgwWkpVbE5VWDBGT1EwVlRWRTlTSUQwZ01TQThQQ0EyTzF4dVhHNTJZWElnY21WemRHOXlaVWx0Y0d3Z1BTQnVkV3hzTzF4dWRtRnlJSEpsYzNSdmNtVlVZWEpuWlhRZ1BTQnVkV3hzTzF4dWRtRnlJSEpsYzNSdmNtVlJkV1YxWlNBOUlHNTFiR3c3WEc1Y2JtWjFibU4wYVc5dUlISmxjM1J2Y21WVGRHRjBaVTltVkdGeVoyVjBLSFJoY21kbGRDa2dlMXh1SUNBdkx5QlhaU0J3WlhKbWIzSnRJSFJvYVhNZ2RISmhibk5zWVhScGIyNGdZWFFnZEdobElHVnVaQ0J2WmlCMGFHVWdaWFpsYm5RZ2JHOXZjQ0J6YnlCMGFHRjBJSGRsWEc0Z0lDOHZJR0ZzZDJGNWN5QnlaV05sYVhabElIUm9aU0JqYjNKeVpXTjBJR1pwWW1WeUlHaGxjbVZjYmlBZ2RtRnlJR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVWdQU0JuWlhSSmJuTjBZVzVqWlVaeWIyMU9iMlJsS0hSaGNtZGxkQ2s3WEc1Y2JpQWdhV1lnS0NGcGJuUmxjbTVoYkVsdWMzUmhibU5sS1NCN1hHNGdJQ0FnTHk4Z1ZXNXRiM1Z1ZEdWa1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRW9kSGx3Wlc5bUlISmxjM1J2Y21WSmJYQnNJRDA5UFNBblpuVnVZM1JwYjI0bktTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSW5ObGRGSmxjM1J2Y21WSmJYQnNaVzFsYm5SaGRHbHZiaWdwSUc1bFpXUnpJSFJ2SUdKbElHTmhiR3hsWkNCMGJ5Qm9ZVzVrYkdVZ1lTQjBZWEpuWlhRZ1ptOXlJR052Ym5SeWIyeHNaV1FnWlhabGJuUnpMaUJVYUdseklHVnljbTl5SUdseklHeHBhMlZzZVNCallYVnpaV1FnWW5rZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnZG1GeUlITjBZWFJsVG05a1pTQTlJR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVXVjM1JoZEdWT2IyUmxPeUF2THlCSGRXRnlaQ0JoWjJGcGJuTjBJRVpwWW1WeUlHSmxhVzVuSUhWdWJXOTFiblJsWkM1Y2JseHVJQ0JwWmlBb2MzUmhkR1ZPYjJSbEtTQjdYRzRnSUNBZ2RtRnlJRjl3Y205d2N5QTlJR2RsZEVacFltVnlRM1Z5Y21WdWRGQnliM0J6Um5KdmJVNXZaR1VvYzNSaGRHVk9iMlJsS1R0Y2JseHVJQ0FnSUhKbGMzUnZjbVZKYlhCc0tHbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJVdWMzUmhkR1ZPYjJSbExDQnBiblJsY201aGJFbHVjM1JoYm1ObExuUjVjR1VzSUY5d2NtOXdjeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2MyVjBVbVZ6ZEc5eVpVbHRjR3hsYldWdWRHRjBhVzl1S0dsdGNHd3BJSHRjYmlBZ2NtVnpkRzl5WlVsdGNHd2dQU0JwYlhCc08xeHVmVnh1Wm5WdVkzUnBiMjRnWlc1eGRXVjFaVk4wWVhSbFVtVnpkRzl5WlNoMFlYSm5aWFFwSUh0Y2JpQWdhV1lnS0hKbGMzUnZjbVZVWVhKblpYUXBJSHRjYmlBZ0lDQnBaaUFvY21WemRHOXlaVkYxWlhWbEtTQjdYRzRnSUNBZ0lDQnlaWE4wYjNKbFVYVmxkV1V1Y0hWemFDaDBZWEpuWlhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhOMGIzSmxVWFZsZFdVZ1BTQmJkR0Z5WjJWMFhUdGNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVnpkRzl5WlZSaGNtZGxkQ0E5SUhSaGNtZGxkRHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYm1WbFpITlRkR0YwWlZKbGMzUnZjbVVvS1NCN1hHNGdJSEpsZEhWeWJpQnlaWE4wYjNKbFZHRnlaMlYwSUNFOVBTQnVkV3hzSUh4OElISmxjM1J2Y21WUmRXVjFaU0FoUFQwZ2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlISmxjM1J2Y21WVGRHRjBaVWxtVG1WbFpHVmtLQ2tnZTF4dUlDQnBaaUFvSVhKbGMzUnZjbVZVWVhKblpYUXBJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQjJZWElnZEdGeVoyVjBJRDBnY21WemRHOXlaVlJoY21kbGREdGNiaUFnZG1GeUlIRjFaWFZsWkZSaGNtZGxkSE1nUFNCeVpYTjBiM0psVVhWbGRXVTdYRzRnSUhKbGMzUnZjbVZVWVhKblpYUWdQU0J1ZFd4c08xeHVJQ0J5WlhOMGIzSmxVWFZsZFdVZ1BTQnVkV3hzTzF4dUlDQnlaWE4wYjNKbFUzUmhkR1ZQWmxSaGNtZGxkQ2gwWVhKblpYUXBPMXh1WEc0Z0lHbG1JQ2h4ZFdWMVpXUlVZWEpuWlhSektTQjdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnhkV1YxWldSVVlYSm5aWFJ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQnlaWE4wYjNKbFUzUmhkR1ZQWmxSaGNtZGxkQ2h4ZFdWMVpXUlVZWEpuWlhSelcybGRLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1ZG1GeUlHVnVZV0pzWlZCeWIyWnBiR1Z5VkdsdFpYSWdQU0IwY25WbE95QXZMeUJVY21GalpTQjNhR2xqYUNCcGJuUmxjbUZqZEdsdmJuTWdkSEpwWjJkbGNpQmxZV05vSUdOdmJXMXBkQzVjYmx4dWRtRnlJR1Z1WVdKc1pVUmxjSEpsWTJGMFpXUkdiR0Z5WlVGUVNTQTlJR1poYkhObE95QXZMeUJGZUhCbGNtbHRaVzUwWVd3Z1NHOXpkQ0JEYjIxd2IyNWxiblFnYzNWd2NHOXlkQzVjYmx4dWRtRnlJR1Z1WVdKc1pVWjFibVJoYldWdWRHRnNRVkJKSUQwZ1ptRnNjMlU3SUM4dklFVjRjR1Z5YVcxbGJuUmhiQ0JUWTI5d1pTQnpkWEJ3YjNKMExseHVkbUZ5SUhkaGNtNUJZbTkxZEZOMGNtbHVaMUpsWm5NZ1BTQm1ZV3h6WlR0Y2JseHVMeThnZEdobElISmxibVJsY21WeUxpQlRkV05vSUdGeklIZG9aVzRnZDJVbmNtVWdaR2x6Y0dGMFkyaHBibWNnWlhabGJuUnpJRzl5SUdsbUlIUm9hWEprSUhCaGNuUjVYRzR2THlCc2FXSnlZWEpwWlhNZ2JtVmxaQ0IwYnlCallXeHNJR0poZEdOb1pXUlZjR1JoZEdWekxpQkZkbVZ1ZEhWaGJHeDVMQ0IwYUdseklFRlFTU0IzYVd4c0lHZHZJR0YzWVhrZ2QyaGxibHh1THk4Z1pYWmxjbmwwYUdsdVp5QnBjeUJpWVhSamFHVmtJR0o1SUdSbFptRjFiSFF1SUZkbEoyeHNJSFJvWlc0Z2FHRjJaU0JoSUhOcGJXbHNZWElnUVZCSklIUnZJRzl3ZEMxdmRYUWdiMlpjYmk4dklITmphR1ZrZFd4bFpDQjNiM0pySUdGdVpDQnBibk4wWldGa0lHUnZJSE41Ym1Ob2NtOXViM1Z6SUhkdmNtc3VYRzR2THlCRVpXWmhkV3gwYzF4dVhHNTJZWElnWW1GMFkyaGxaRlZ3WkdGMFpYTkpiWEJzSUQwZ1puVnVZM1JwYjI0Z0tHWnVMQ0JpYjI5cmEyVmxjR2x1WnlrZ2UxeHVJQ0J5WlhSMWNtNGdabTRvWW05dmEydGxaWEJwYm1jcE8xeHVmVHRjYmx4dWRtRnlJR1JwYzJOeVpYUmxWWEJrWVhSbGMwbHRjR3dnUFNCbWRXNWpkR2x2YmlBb1ptNHNJR0VzSUdJc0lHTXNJR1FwSUh0Y2JpQWdjbVYwZFhKdUlHWnVLR0VzSUdJc0lHTXNJR1FwTzF4dWZUdGNibHh1ZG1GeUlHWnNkWE5vUkdselkzSmxkR1ZWY0dSaGRHVnpTVzF3YkNBOUlHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dVhHNTJZWElnWW1GMFkyaGxaRVYyWlc1MFZYQmtZWFJsYzBsdGNHd2dQU0JpWVhSamFHVmtWWEJrWVhSbGMwbHRjR3c3WEc1MllYSWdhWE5KYm5OcFpHVkZkbVZ1ZEVoaGJtUnNaWElnUFNCbVlXeHpaVHRjYm5aaGNpQnBjMEpoZEdOb2FXNW5SWFpsYm5SVmNHUmhkR1Z6SUQwZ1ptRnNjMlU3WEc1Y2JtWjFibU4wYVc5dUlHWnBibWx6YUVWMlpXNTBTR0Z1Wkd4bGNpZ3BJSHRjYmlBZ0x5OGdTR1Z5WlNCM1pTQjNZV2wwSUhWdWRHbHNJR0ZzYkNCMWNHUmhkR1Z6SUdoaGRtVWdjSEp2Y0dGbllYUmxaQ3dnZDJocFkyZ2dhWE1nYVcxd2IzSjBZVzUwWEc0Z0lDOHZJSGRvWlc0Z2RYTnBibWNnWTI5dWRISnZiR3hsWkNCamIyMXdiMjVsYm5SeklIZHBkR2hwYmlCc1lYbGxjbk02WEc0Z0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1UWTVPRnh1SUNBdkx5QlVhR1Z1SUhkbElISmxjM1J2Y21VZ2MzUmhkR1VnYjJZZ1lXNTVJR052Ym5SeWIyeHNaV1FnWTI5dGNHOXVaVzUwTGx4dUlDQjJZWElnWTI5dWRISnZiR3hsWkVOdmJYQnZibVZ1ZEhOSVlYWmxVR1Z1WkdsdVoxVndaR0YwWlhNZ1BTQnVaV1ZrYzFOMFlYUmxVbVZ6ZEc5eVpTZ3BPMXh1WEc0Z0lHbG1JQ2hqYjI1MGNtOXNiR1ZrUTI5dGNHOXVaVzUwYzBoaGRtVlFaVzVrYVc1blZYQmtZWFJsY3lrZ2UxeHVJQ0FnSUM4dklFbG1JR0VnWTI5dWRISnZiR3hsWkNCbGRtVnVkQ0IzWVhNZ1ptbHlaV1FzSUhkbElHMWhlU0J1WldWa0lIUnZJSEpsYzNSdmNtVWdkR2hsSUhOMFlYUmxJRzltWEc0Z0lDQWdMeThnZEdobElFUlBUU0J1YjJSbElHSmhZMnNnZEc4Z2RHaGxJR052Ym5SeWIyeHNaV1FnZG1Gc2RXVXVJRlJvYVhNZ2FYTWdibVZqWlhOellYSjVJSGRvWlc0Z1VtVmhZM1JjYmlBZ0lDQXZMeUJpWVdsc2N5QnZkWFFnYjJZZ2RHaGxJSFZ3WkdGMFpTQjNhWFJvYjNWMElIUnZkV05vYVc1bklIUm9aU0JFVDAwdVhHNGdJQ0FnWm14MWMyaEVhWE5qY21WMFpWVndaR0YwWlhOSmJYQnNLQ2s3WEc0Z0lDQWdjbVZ6ZEc5eVpWTjBZWFJsU1daT1pXVmtaV1FvS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmlZWFJqYUdWa1ZYQmtZWFJsY3lobWJpd2dZbTl2YTJ0bFpYQnBibWNwSUh0Y2JpQWdhV1lnS0dselNXNXphV1JsUlhabGJuUklZVzVrYkdWeUtTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVZ1lYSmxJR04xY25KbGJuUnNlU0JwYm5OcFpHVWdZVzV2ZEdobGNpQmlZWFJqYUN3Z2QyVWdibVZsWkNCMGJ5QjNZV2wwSUhWdWRHbHNJR2wwWEc0Z0lDQWdMeThnWm5Wc2JIa2dZMjl0Y0d4bGRHVnpJR0psWm05eVpTQnlaWE4wYjNKcGJtY2djM1JoZEdVdVhHNGdJQ0FnY21WMGRYSnVJR1p1S0dKdmIydHJaV1Z3YVc1bktUdGNiaUFnZlZ4dVhHNGdJR2x6U1c1emFXUmxSWFpsYm5SSVlXNWtiR1Z5SUQwZ2RISjFaVHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQmlZWFJqYUdWa1ZYQmtZWFJsYzBsdGNHd29abTRzSUdKdmIydHJaV1Z3YVc1bktUdGNiaUFnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0JwYzBsdWMybGtaVVYyWlc1MFNHRnVaR3hsY2lBOUlHWmhiSE5sTzF4dUlDQWdJR1pwYm1semFFVjJaVzUwU0dGdVpHeGxjaWdwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCaVlYUmphR1ZrUlhabGJuUlZjR1JoZEdWektHWnVMQ0JoTENCaUtTQjdYRzRnSUdsbUlDaHBjMEpoZEdOb2FXNW5SWFpsYm5SVmNHUmhkR1Z6S1NCN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnWVhKbElHTjFjbkpsYm5Sc2VTQnBibk5wWkdVZ1lXNXZkR2hsY2lCaVlYUmphQ3dnZDJVZ2JtVmxaQ0IwYnlCM1lXbDBJSFZ1ZEdsc0lHbDBYRzRnSUNBZ0x5OGdablZzYkhrZ1kyOXRjR3hsZEdWeklHSmxabTl5WlNCeVpYTjBiM0pwYm1jZ2MzUmhkR1V1WEc0Z0lDQWdjbVYwZFhKdUlHWnVLR0VzSUdJcE8xeHVJQ0I5WEc1Y2JpQWdhWE5DWVhSamFHbHVaMFYyWlc1MFZYQmtZWFJsY3lBOUlIUnlkV1U3WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J5WlhSMWNtNGdZbUYwWTJobFpFVjJaVzUwVlhCa1lYUmxjMGx0Y0d3b1ptNHNJR0VzSUdJcE8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJR2x6UW1GMFkyaHBibWRGZG1WdWRGVndaR0YwWlhNZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JtYVc1cGMyaEZkbVZ1ZEVoaGJtUnNaWElvS1R0Y2JpQWdmVnh1ZlNBdkx5QlVhR2x6SUdseklHWnZjaUIwYUdVZ1VtVmhZM1FnUm14aGNtVWdaWFpsYm5RZ2MzbHpkR1Z0WEc1bWRXNWpkR2x2YmlCa2FYTmpjbVYwWlZWd1pHRjBaWE1vWm00c0lHRXNJR0lzSUdNc0lHUXBJSHRjYmlBZ2RtRnlJSEJ5WlhaSmMwbHVjMmxrWlVWMlpXNTBTR0Z1Wkd4bGNpQTlJR2x6U1c1emFXUmxSWFpsYm5SSVlXNWtiR1Z5TzF4dUlDQnBjMGx1YzJsa1pVVjJaVzUwU0dGdVpHeGxjaUE5SUhSeWRXVTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnlaWFIxY200Z1pHbHpZM0psZEdWVmNHUmhkR1Z6U1cxd2JDaG1iaXdnWVN3Z1lpd2dZeXdnWkNrN1hHNGdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdhWE5KYm5OcFpHVkZkbVZ1ZEVoaGJtUnNaWElnUFNCd2NtVjJTWE5KYm5OcFpHVkZkbVZ1ZEVoaGJtUnNaWEk3WEc1Y2JpQWdJQ0JwWmlBb0lXbHpTVzV6YVdSbFJYWmxiblJJWVc1a2JHVnlLU0I3WEc0Z0lDQWdJQ0JtYVc1cGMyaEZkbVZ1ZEVoaGJtUnNaWElvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdac2RYTm9SR2x6WTNKbGRHVlZjR1JoZEdWelNXWk9aV1ZrWldRb2RHbHRaVk4wWVcxd0tTQjdYRzRnSUM4dklHVjJaVzUwTG5ScGJXVlRkR0Z0Y0NCcGMyNG5kQ0J2ZG1WeWJIa2djbVZzYVdGaWJHVWdaSFZsSUhSdklHbHVZMjl1YzJsemRHVnVZMmxsY3lCcGJseHVJQ0F2THlCb2IzY2daR2xtWm1WeVpXNTBJR0p5YjNkelpYSnpJR2hoZG1VZ2FHbHpkRzl5YVdOaGJHeDVJSEJ5YjNacFpHVmtJSFJvWlNCMGFXMWxJSE4wWVcxd0xseHVJQ0F2THlCVGIyMWxJR0p5YjNkelpYSnpJSEJ5YjNacFpHVWdhR2xuYUMxeVpYTnZiSFYwYVc5dUlIUnBiV1VnYzNSaGJYQnpJR1p2Y2lCaGJHd2daWFpsYm5SekxGeHVJQ0F2THlCemIyMWxJSEJ5YjNacFpHVWdiRzkzTFhKbGMyOXNkWFJwYjI0Z2RHbHRaU0J6ZEdGdGNITWdabTl5SUdGc2JDQmxkbVZ1ZEhNdUlFWkdJRHdnTlRKY2JpQWdMeThnWlhabGJpQnRhWGhsY3lCaWIzUm9JSFJwYldVZ2MzUmhiWEJ6SUhSdloyVjBhR1Z5TGlCVGIyMWxJR0p5YjNkelpYSnpJR1YyWlc0Z2NtVndiM0owWEc0Z0lDOHZJRzVsWjJGMGFYWmxJSFJwYldVZ2MzUmhiWEJ6SUc5eUlIUnBiV1VnYzNSaGJYQnpJSFJvWVhRZ1lYSmxJREFnS0dsUFV6a3BJR2x1SUhOdmJXVWdZMkZ6WlhNdVhHNGdJQzh2SUVkcGRtVnVJSGRsSUdGeVpTQnZibXg1SUdOdmJYQmhjbWx1WnlCMGQyOGdkR2x0WlNCemRHRnRjSE1nZDJsMGFDQmxjWFZoYkdsMGVTQW9JVDA5S1N4Y2JpQWdMeThnZDJVZ1lYSmxJSE5oWm1VZ1puSnZiU0IwYUdVZ2NtVnpiMngxZEdsdmJpQmthV1ptWlhKbGJtTmxjeTRnU1dZZ2RHaGxJSFJwYldVZ2MzUmhiWEFnYVhNZ01GeHVJQ0F2THlCM1pTQmlZV2xzTFc5MWRDQnZaaUJ3Y21WMlpXNTBhVzVuSUhSb1pTQm1iSFZ6YUN3Z2QyaHBZMmdnWTJGdUlHRm1abVZqZENCelpXMWhiblJwWTNNc1hHNGdJQzh2SUhOMVkyZ2dZWE1nYVdZZ1lXNGdaV0Z5YkdsbGNpQm1iSFZ6YUNCeVpXMXZkbVZ6SUc5eUlHRmtaSE1nWlhabGJuUWdiR2x6ZEdWdVpYSnpJSFJvWVhSY2JpQWdMeThnWVhKbElHWnBjbVZrSUdsdUlIUm9aU0J6ZFdKelpYRjFaVzUwSUdac2RYTm9MaUJJYjNkbGRtVnlMQ0IwYUdseklHbHpJSFJvWlNCellXMWxYRzRnSUM4dklHSmxhR0YyYVc5MWNpQmhjeUIzWlNCb1lXUWdZbVZtYjNKbElIUm9hWE1nWTJoaGJtZGxMQ0J6YnlCMGFHVWdjbWx6YTNNZ1lYSmxJR3h2ZHk1Y2JpQWdhV1lnS0NGcGMwbHVjMmxrWlVWMlpXNTBTR0Z1Wkd4bGNpQW1KaUFvSVdWdVlXSnNaVVJsY0hKbFkyRjBaV1JHYkdGeVpVRlFTU0FnS1NrZ2UxeHVJQ0FnSUdac2RYTm9SR2x6WTNKbGRHVlZjR1JoZEdWelNXMXdiQ2dwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCelpYUkNZWFJqYUdsdVowbHRjR3hsYldWdWRHRjBhVzl1S0Y5aVlYUmphR1ZrVlhCa1lYUmxjMGx0Y0d3c0lGOWthWE5qY21WMFpWVndaR0YwWlhOSmJYQnNMQ0JmWm14MWMyaEVhWE5qY21WMFpWVndaR0YwWlhOSmJYQnNMQ0JmWW1GMFkyaGxaRVYyWlc1MFZYQmtZWFJsYzBsdGNHd3BJSHRjYmlBZ1ltRjBZMmhsWkZWd1pHRjBaWE5KYlhCc0lEMGdYMkpoZEdOb1pXUlZjR1JoZEdWelNXMXdiRHRjYmlBZ1pHbHpZM0psZEdWVmNHUmhkR1Z6U1cxd2JDQTlJRjlrYVhOamNtVjBaVlZ3WkdGMFpYTkpiWEJzTzF4dUlDQm1iSFZ6YUVScGMyTnlaWFJsVlhCa1lYUmxjMGx0Y0d3Z1BTQmZabXgxYzJoRWFYTmpjbVYwWlZWd1pHRjBaWE5KYlhCc08xeHVJQ0JpWVhSamFHVmtSWFpsYm5SVmNHUmhkR1Z6U1cxd2JDQTlJRjlpWVhSamFHVmtSWFpsYm5SVmNHUmhkR1Z6U1cxd2JEdGNibjFjYmx4dWRtRnlJRVJwYzJOeVpYUmxSWFpsYm5RZ1BTQXdPMXh1ZG1GeUlGVnpaWEpDYkc5amEybHVaMFYyWlc1MElEMGdNVHRjYm5aaGNpQkRiMjUwYVc1MWIzVnpSWFpsYm5RZ1BTQXlPMXh1WEc0dkx5QkJJSEpsYzJWeWRtVmtJR0YwZEhKcFluVjBaUzVjYmk4dklFbDBJR2x6SUdoaGJtUnNaV1FnWW5rZ1VtVmhZM1FnYzJWd1lYSmhkR1ZzZVNCaGJtUWdjMmh2ZFd4a2JpZDBJR0psSUhkeWFYUjBaVzRnZEc4Z2RHaGxJRVJQVFM1Y2JuWmhjaUJTUlZORlVsWkZSQ0E5SURBN0lDOHZJRUVnYzJsdGNHeGxJSE4wY21sdVp5QmhkSFJ5YVdKMWRHVXVYRzR2THlCQmRIUnlhV0oxZEdWeklIUm9ZWFFnWVhKbGJpZDBJR2x1SUhSb1pTQjNhR2wwWld4cGMzUWdZWEpsSUhCeVpYTjFiV1ZrSUhSdklHaGhkbVVnZEdocGN5QjBlWEJsTGx4dVhHNTJZWElnVTFSU1NVNUhJRDBnTVRzZ0x5OGdRU0J6ZEhKcGJtY2dZWFIwY21saWRYUmxJSFJvWVhRZ1lXTmpaWEIwY3lCaWIyOXNaV0Z1Y3lCcGJpQlNaV0ZqZEM0Z1NXNGdTRlJOVEN3Z2RHaGxjMlVnWVhKbElHTmhiR3hsWkZ4dUx5OGdYQ0psYm5WdFpYSmhkR1ZrWENJZ1lYUjBjbWxpZFhSbGN5QjNhWFJvSUZ3aWRISjFaVndpSUdGdVpDQmNJbVpoYkhObFhDSWdZWE1nY0c5emMybGliR1VnZG1Gc2RXVnpMbHh1THk4Z1YyaGxiaUIwY25WbExDQnBkQ0J6YUc5MWJHUWdZbVVnYzJWMElIUnZJR0VnWENKMGNuVmxYQ0lnYzNSeWFXNW5MbHh1THk4Z1YyaGxiaUJtWVd4elpTd2dhWFFnYzJodmRXeGtJR0psSUhObGRDQjBieUJoSUZ3aVptRnNjMlZjSWlCemRISnBibWN1WEc1Y2JuWmhjaUJDVDA5TVJVRk9TVk5JWDFOVVVrbE9SeUE5SURJN0lDOHZJRUVnY21WaGJDQmliMjlzWldGdUlHRjBkSEpwWW5WMFpTNWNiaTh2SUZkb1pXNGdkSEoxWlN3Z2FYUWdjMmh2ZFd4a0lHSmxJSEJ5WlhObGJuUWdLSE5sZENCbGFYUm9aWElnZEc4Z1lXNGdaVzF3ZEhrZ2MzUnlhVzVuSUc5eUlHbDBjeUJ1WVcxbEtTNWNiaTh2SUZkb1pXNGdabUZzYzJVc0lHbDBJSE5vYjNWc1pDQmlaU0J2YldsMGRHVmtMbHh1WEc1MllYSWdRazlQVEVWQlRpQTlJRE03SUM4dklFRnVJR0YwZEhKcFluVjBaU0IwYUdGMElHTmhiaUJpWlNCMWMyVmtJR0Z6SUdFZ1pteGhaeUJoY3lCM1pXeHNJR0Z6SUhkcGRHZ2dZU0IyWVd4MVpTNWNiaTh2SUZkb1pXNGdkSEoxWlN3Z2FYUWdjMmh2ZFd4a0lHSmxJSEJ5WlhObGJuUWdLSE5sZENCbGFYUm9aWElnZEc4Z1lXNGdaVzF3ZEhrZ2MzUnlhVzVuSUc5eUlHbDBjeUJ1WVcxbEtTNWNiaTh2SUZkb1pXNGdabUZzYzJVc0lHbDBJSE5vYjNWc1pDQmlaU0J2YldsMGRHVmtMbHh1THk4Z1JtOXlJR0Z1ZVNCdmRHaGxjaUIyWVd4MVpTd2djMmh2ZFd4a0lHSmxJSEJ5WlhObGJuUWdkMmwwYUNCMGFHRjBJSFpoYkhWbExseHVYRzUyWVhJZ1QxWkZVa3hQUVVSRlJGOUNUMDlNUlVGT0lEMGdORHNnTHk4Z1FXNGdZWFIwY21saWRYUmxJSFJvWVhRZ2JYVnpkQ0JpWlNCdWRXMWxjbWxqSUc5eUlIQmhjbk5sSUdGeklHRWdiblZ0WlhKcFl5NWNiaTh2SUZkb1pXNGdabUZzYzNrc0lHbDBJSE5vYjNWc1pDQmlaU0J5WlcxdmRtVmtMbHh1WEc1MllYSWdUbFZOUlZKSlF5QTlJRFU3SUM4dklFRnVJR0YwZEhKcFluVjBaU0IwYUdGMElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VZ2JuVnRaWEpwWXlCdmNpQndZWEp6WlNCaGN5QmhJSEJ2YzJsMGFYWmxJRzUxYldWeWFXTXVYRzR2THlCWGFHVnVJR1poYkhONUxDQnBkQ0J6YUc5MWJHUWdZbVVnY21WdGIzWmxaQzVjYmx4dWRtRnlJRkJQVTBsVVNWWkZYMDVWVFVWU1NVTWdQU0EyTzF4dVhHNHZLaUJsYzJ4cGJuUXRaR2x6WVdKc1pTQnRZWGd0YkdWdUlDb3ZYRzUyWVhJZ1FWUlVVa2xDVlZSRlgwNUJUVVZmVTFSQlVsUmZRMGhCVWlBOUlGd2lPa0V0V2w5aExYcGNYRnhjZFRBd1F6QXRYRnhjWEhVd01FUTJYRnhjWEhVd01FUTRMVnhjWEZ4MU1EQkdObHhjWEZ4MU1EQkdPQzFjWEZ4Y2RUQXlSa1pjWEZ4Y2RUQXpOekF0WEZ4Y1hIVXdNemRFWEZ4Y1hIVXdNemRHTFZ4Y1hGeDFNVVpHUmx4Y1hGeDFNakF3UXkxY1hGeGNkVEl3TUVSY1hGeGNkVEl3TnpBdFhGeGNYSFV5TVRoR1hGeGNYSFV5UXpBd0xWeGNYRngxTWtaRlJseGNYRngxTXpBd01TMWNYRnhjZFVRM1JrWmNYRnhjZFVZNU1EQXRYRnhjWEhWR1JFTkdYRnhjWEhWR1JFWXdMVnhjWEZ4MVJrWkdSRndpTzF4dUx5b2daWE5zYVc1MExXVnVZV0pzWlNCdFlYZ3RiR1Z1SUNvdlhHNWNiblpoY2lCQlZGUlNTVUpWVkVWZlRrRk5SVjlEU0VGU0lEMGdRVlJVVWtsQ1ZWUkZYMDVCVFVWZlUxUkJVbFJmUTBoQlVpQXJJRndpWEZ4Y1hDMHVNQzA1WEZ4Y1hIVXdNRUkzWEZ4Y1hIVXdNekF3TFZ4Y1hGeDFNRE0yUmx4Y1hGeDFNakF6UmkxY1hGeGNkVEl3TkRCY0lqdGNiblpoY2lCU1QwOVVYMEZVVkZKSlFsVlVSVjlPUVUxRklEMGdKMlJoZEdFdGNtVmhZM1J5YjI5MEp6dGNiblpoY2lCV1FVeEpSRjlCVkZSU1NVSlZWRVZmVGtGTlJWOVNSVWRGV0NBOUlHNWxkeUJTWldkRmVIQW9KMTViSnlBcklFRlVWRkpKUWxWVVJWOU9RVTFGWDFOVVFWSlVYME5JUVZJZ0t5QW5YVnNuSUNzZ1FWUlVVa2xDVlZSRlgwNUJUVVZmUTBoQlVpQXJJQ2RkS2lRbktUdGNiblpoY2lCb1lYTlBkMjVRY205d1pYSjBlU0E5SUU5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIazdYRzUyWVhJZ2FXeHNaV2RoYkVGMGRISnBZblYwWlU1aGJXVkRZV05vWlNBOUlIdDlPMXh1ZG1GeUlIWmhiR2xrWVhSbFpFRjBkSEpwWW5WMFpVNWhiV1ZEWVdOb1pTQTlJSHQ5TzF4dVpuVnVZM1JwYjI0Z2FYTkJkSFJ5YVdKMWRHVk9ZVzFsVTJGbVpTaGhkSFJ5YVdKMWRHVk9ZVzFsS1NCN1hHNGdJR2xtSUNob1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tIWmhiR2xrWVhSbFpFRjBkSEpwWW5WMFpVNWhiV1ZEWVdOb1pTd2dZWFIwY21saWRYUmxUbUZ0WlNrcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJR2xtSUNob1lYTlBkMjVRY205d1pYSjBlUzVqWVd4c0tHbHNiR1ZuWVd4QmRIUnlhV0oxZEdWT1lXMWxRMkZqYUdVc0lHRjBkSEpwWW5WMFpVNWhiV1VwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0ZaQlRFbEVYMEZVVkZKSlFsVlVSVjlPUVUxRlgxSkZSMFZZTG5SbGMzUW9ZWFIwY21saWRYUmxUbUZ0WlNrcElIdGNiaUFnSUNCMllXeHBaR0YwWldSQmRIUnlhV0oxZEdWT1lXMWxRMkZqYUdWYllYUjBjbWxpZFhSbFRtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVd4c1pXZGhiRUYwZEhKcFluVjBaVTVoYldWRFlXTm9aVnRoZEhSeWFXSjFkR1ZPWVcxbFhTQTlJSFJ5ZFdVN1hHNWNiaUFnZTF4dUlDQWdJR1Z5Y205eUtDZEpiblpoYkdsa0lHRjBkSEpwWW5WMFpTQnVZVzFsT2lCZ0pYTmdKeXdnWVhSMGNtbGlkWFJsVG1GdFpTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVtZFc1amRHbHZiaUJ6YUc5MWJHUkpaMjV2Y21WQmRIUnlhV0oxZEdVb2JtRnRaU3dnY0hKdmNHVnlkSGxKYm1adkxDQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeWtnZTF4dUlDQnBaaUFvY0hKdmNHVnlkSGxKYm1adklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhCeWIzQmxjblI1U1c1bWJ5NTBlWEJsSUQwOVBTQlNSVk5GVWxaRlJEdGNiaUFnZlZ4dVhHNGdJR2xtSUNocGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHVZVzFsTG14bGJtZDBhQ0ErSURJZ0ppWWdLRzVoYldWYk1GMGdQVDA5SUNkdkp5QjhmQ0J1WVcxbFd6QmRJRDA5UFNBblR5Y3BJQ1ltSUNodVlXMWxXekZkSUQwOVBTQW5iaWNnZkh3Z2JtRnRaVnN4WFNBOVBUMGdKMDRuS1NrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZWeHVablZ1WTNScGIyNGdjMmh2ZFd4a1VtVnRiM1psUVhSMGNtbGlkWFJsVjJsMGFGZGhjbTVwYm1jb2JtRnRaU3dnZG1Gc2RXVXNJSEJ5YjNCbGNuUjVTVzVtYnl3Z2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXY3BJSHRjYmlBZ2FXWWdLSEJ5YjNCbGNuUjVTVzVtYnlBaFBUMGdiblZzYkNBbUppQndjbTl3WlhKMGVVbHVabTh1ZEhsd1pTQTlQVDBnVWtWVFJWSldSVVFwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYmx4dUlDQnpkMmwwWTJnZ0tIUjVjR1Z2WmlCMllXeDFaU2tnZTF4dUlDQWdJR05oYzJVZ0oyWjFibU4wYVc5dUp6b2dMeThnSkVac2IzZEpjM04xWlNCemVXMWliMndnYVhNZ2NHVnlabVZqZEd4NUlIWmhiR2xrSUdobGNtVmNibHh1SUNBZ0lHTmhjMlVnSjNONWJXSnZiQ2M2WEc0Z0lDQWdJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzFzYVc1bFhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNibHh1SUNBZ0lHTmhjMlVnSjJKdmIyeGxZVzRuT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCcFppQW9hWE5EZFhOMGIyMURiMjF3YjI1bGJuUlVZV2NwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNHVnlkSGxKYm1adklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJQ0Z3Y205d1pYSjBlVWx1Wm04dVlXTmpaWEIwYzBKdmIyeGxZVzV6TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ3Y21WbWFYZ2dQU0J1WVcxbExuUnZURzkzWlhKRFlYTmxLQ2t1YzJ4cFkyVW9NQ3dnTlNrN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQnlaV1pwZUNBaFBUMGdKMlJoZEdFdEp5QW1KaUJ3Y21WbWFYZ2dJVDA5SUNkaGNtbGhMU2M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaU2h1WVcxbExDQjJZV3gxWlN3Z2NISnZjR1Z5ZEhsSmJtWnZMQ0JwYzBOMWMzUnZiVU52YlhCdmJtVnVkRlJoWnlrZ2UxeHVJQ0JwWmlBb2RtRnNkV1VnUFQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaVmRwZEdoWFlYSnVhVzVuS0c1aGJXVXNJSFpoYkhWbExDQndjbTl3WlhKMGVVbHVabThzSUdselEzVnpkRzl0UTI5dGNHOXVaVzUwVkdGbktTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2FXWWdLSEJ5YjNCbGNuUjVTVzVtYnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvY0hKdmNHVnlkSGxKYm1adkxuUjVjR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdRazlQVEVWQlRqcGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlDRjJZV3gxWlR0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JQVmtWU1RFOUJSRVZFWDBKUFQweEZRVTQ2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpTQTlQVDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQWdJR05oYzJVZ1RsVk5SVkpKUXpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdselRtRk9LSFpoYkhWbEtUdGNibHh1SUNBZ0lDQWdZMkZ6WlNCUVQxTkpWRWxXUlY5T1ZVMUZVa2xET2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYVhOT1lVNG9kbUZzZFdVcElIeDhJSFpoYkhWbElEd2dNVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSUWNtOXdaWEowZVVsdVptOG9ibUZ0WlNrZ2UxeHVJQ0J5WlhSMWNtNGdjSEp2Y0dWeWRHbGxjeTVvWVhOUGQyNVFjbTl3WlhKMGVTaHVZVzFsS1NBL0lIQnliM0JsY25ScFpYTmJibUZ0WlYwZ09pQnVkV3hzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dkSGx3WlN3Z2JYVnpkRlZ6WlZCeWIzQmxjblI1TENCaGRIUnlhV0oxZEdWT1lXMWxMQ0JoZEhSeWFXSjFkR1ZPWVcxbGMzQmhZMlVzSUhOaGJtbDBhWHBsVlZKTUtTQjdYRzRnSUhSb2FYTXVZV05qWlhCMGMwSnZiMnhsWVc1eklEMGdkSGx3WlNBOVBUMGdRazlQVEVWQlRrbFRTRjlUVkZKSlRrY2dmSHdnZEhsd1pTQTlQVDBnUWs5UFRFVkJUaUI4ZkNCMGVYQmxJRDA5UFNCUFZrVlNURTlCUkVWRVgwSlBUMHhGUVU0N1hHNGdJSFJvYVhNdVlYUjBjbWxpZFhSbFRtRnRaU0E5SUdGMGRISnBZblYwWlU1aGJXVTdYRzRnSUhSb2FYTXVZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxJRDBnWVhSMGNtbGlkWFJsVG1GdFpYTndZV05sTzF4dUlDQjBhR2x6TG0xMWMzUlZjMlZRY205d1pYSjBlU0E5SUcxMWMzUlZjMlZRY205d1pYSjBlVHRjYmlBZ2RHaHBjeTV3Y205d1pYSjBlVTVoYldVZ1BTQnVZVzFsTzF4dUlDQjBhR2x6TG5SNWNHVWdQU0IwZVhCbE8xeHVJQ0IwYUdsekxuTmhibWwwYVhwbFZWSk1JRDBnYzJGdWFYUnBlbVZWVWt3N1hHNTlJQzh2SUZkb1pXNGdZV1JrYVc1bklHRjBkSEpwWW5WMFpYTWdkRzhnZEdocGN5QnNhWE4wTENCaVpTQnpkWEpsSUhSdklHRnNjMjhnWVdSa0lIUm9aVzBnZEc5Y2JpOHZJSFJvWlNCZ2NHOXpjMmxpYkdWVGRHRnVaR0Z5WkU1aGJXVnpZQ0J0YjJSMWJHVWdkRzhnWlc1emRYSmxJR05oYzJsdVp5QmhibVFnYVc1amIzSnlaV04wWEc0dkx5QnVZVzFsSUhkaGNtNXBibWR6TGx4dVhHNWNiblpoY2lCd2NtOXdaWEowYVdWeklEMGdlMzA3SUM4dklGUm9aWE5sSUhCeWIzQnpJR0Z5WlNCeVpYTmxjblpsWkNCaWVTQlNaV0ZqZEM0Z1ZHaGxlU0J6YUc5MWJHUnVKM1FnWW1VZ2QzSnBkSFJsYmlCMGJ5QjBhR1VnUkU5TkxseHVYRzUyWVhJZ2NtVnpaWEoyWldSUWNtOXdjeUE5SUZzblkyaHBiR1J5Wlc0bkxDQW5aR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV3bkxDQXZMeUJVVDBSUE9pQlVhR2x6SUhCeVpYWmxiblJ6SUhSb1pTQmhjM05wWjI1dFpXNTBJRzltSUdSbFptRjFiSFJXWVd4MVpTQjBieUJ5WldkMWJHRnlYRzR2THlCbGJHVnRaVzUwY3lBb2JtOTBJR3AxYzNRZ2FXNXdkWFJ6S1M0Z1RtOTNJSFJvWVhRZ1VtVmhZM1JFVDAxSmJuQjFkQ0JoYzNOcFoyNXpJSFJ2SUhSb1pWeHVMeThnWkdWbVlYVnNkRlpoYkhWbElIQnliM0JsY25SNUlDMHRJR1J2SUhkbElHNWxaV1FnZEdocGN6OWNiaWRrWldaaGRXeDBWbUZzZFdVbkxDQW5aR1ZtWVhWc2RFTm9aV05yWldRbkxDQW5hVzV1WlhKSVZFMU1KeXdnSjNOMWNIQnlaWE56UTI5dWRHVnVkRVZrYVhSaFlteGxWMkZ5Ym1sdVp5Y3NJQ2R6ZFhCd2NtVnpjMGg1WkhKaGRHbHZibGRoY201cGJtY25MQ0FuYzNSNWJHVW5YVHRjYmx4dWNtVnpaWEoyWldSUWNtOXdjeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhCeWIzQmxjblJwWlhOYmJtRnRaVjBnUFNCdVpYY2dVSEp2Y0dWeWRIbEpibVp2VW1WamIzSmtLRzVoYldVc0lGSkZVMFZTVmtWRUxDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJRzVoYldVc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJCSUdabGR5QlNaV0ZqZENCemRISnBibWNnWVhSMGNtbGlkWFJsY3lCb1lYWmxJR0VnWkdsbVptVnlaVzUwSUc1aGJXVXVYRzR2THlCVWFHbHpJR2x6SUdFZ2JXRndjR2x1WnlCbWNtOXRJRkpsWVdOMElIQnliM0FnYm1GdFpYTWdkRzhnZEdobElHRjBkSEpwWW5WMFpTQnVZVzFsY3k1Y2JseHVXMXNuWVdOalpYQjBRMmhoY25ObGRDY3NJQ2RoWTJObGNIUXRZMmhoY25ObGRDZGRMQ0JiSjJOc1lYTnpUbUZ0WlNjc0lDZGpiR0Z6Y3lkZExDQmJKMmgwYld4R2IzSW5MQ0FuWm05eUoxMHNJRnNuYUhSMGNFVnhkV2wySnl3Z0oyaDBkSEF0WlhGMWFYWW5YVjB1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvWDNKbFppa2dlMXh1SUNCMllYSWdibUZ0WlNBOUlGOXlaV1piTUYwc1hHNGdJQ0FnSUNCaGRIUnlhV0oxZEdWT1lXMWxJRDBnWDNKbFpsc3hYVHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJR0YwZEhKcFluVjBaVTVoYldVc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJVYUdWelpTQmhjbVVnWENKbGJuVnRaWEpoZEdWa1hDSWdTRlJOVENCaGRIUnlhV0oxZEdWeklIUm9ZWFFnWVdOalpYQjBJRndpZEhKMVpWd2lJR0Z1WkNCY0ltWmhiSE5sWENJdVhHNHZMeUJKYmlCU1pXRmpkQ3dnZDJVZ2JHVjBJSFZ6WlhKeklIQmhjM01nWUhSeWRXVmdJR0Z1WkNCZ1ptRnNjMlZnSUdWMlpXNGdkR2h2ZFdkb0lIUmxZMmh1YVdOaGJHeDVYRzR2THlCMGFHVnpaU0JoY21WdUozUWdZbTl2YkdWaGJpQmhkSFJ5YVdKMWRHVnpJQ2gwYUdWNUlHRnlaU0JqYjJWeVkyVmtJSFJ2SUhOMGNtbHVaM01wTGx4dVhHNWJKMk52Ym5SbGJuUkZaR2wwWVdKc1pTY3NJQ2RrY21GbloyRmliR1VuTENBbmMzQmxiR3hEYUdWamF5Y3NJQ2QyWVd4MVpTZGRMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLRzVoYldVcElIdGNiaUFnY0hKdmNHVnlkR2xsYzF0dVlXMWxYU0E5SUc1bGR5QlFjbTl3WlhKMGVVbHVabTlTWldOdmNtUW9ibUZ0WlN3Z1FrOVBURVZCVGtsVFNGOVRWRkpKVGtjc0lHWmhiSE5sTENBdkx5QnRkWE4wVlhObFVISnZjR1Z5ZEhsY2JpQWdibUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxYRzRnSUc1MWJHd3NJQzh2SUdGMGRISnBZblYwWlU1aGJXVnpjR0ZqWlZ4dUlDQm1ZV3h6WlNrN1hHNTlLVHNnTHk4Z1ZHaGxjMlVnWVhKbElGd2laVzUxYldWeVlYUmxaRndpSUZOV1J5QmhkSFJ5YVdKMWRHVnpJSFJvWVhRZ1lXTmpaWEIwSUZ3aWRISjFaVndpSUdGdVpDQmNJbVpoYkhObFhDSXVYRzR2THlCSmJpQlNaV0ZqZEN3Z2QyVWdiR1YwSUhWelpYSnpJSEJoYzNNZ1lIUnlkV1ZnSUdGdVpDQmdabUZzYzJWZ0lHVjJaVzRnZEdodmRXZG9JSFJsWTJodWFXTmhiR3g1WEc0dkx5QjBhR1Z6WlNCaGNtVnVKM1FnWW05dmJHVmhiaUJoZEhSeWFXSjFkR1Z6SUNoMGFHVjVJR0Z5WlNCamIyVnlZMlZrSUhSdklITjBjbWx1WjNNcExseHVMeThnVTJsdVkyVWdkR2hsYzJVZ1lYSmxJRk5XUnlCaGRIUnlhV0oxZEdWekxDQjBhR1ZwY2lCaGRIUnlhV0oxZEdVZ2JtRnRaWE1nWVhKbElHTmhjMlV0YzJWdWMybDBhWFpsTGx4dVhHNWJKMkYxZEc5U1pYWmxjbk5sSnl3Z0oyVjRkR1Z5Ym1Gc1VtVnpiM1Z5WTJWelVtVnhkV2x5WldRbkxDQW5abTlqZFhOaFlteGxKeXdnSjNCeVpYTmxjblpsUVd4d2FHRW5YUzVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2h1WVcxbEtTQjdYRzRnSUhCeWIzQmxjblJwWlhOYmJtRnRaVjBnUFNCdVpYY2dVSEp2Y0dWeWRIbEpibVp2VW1WamIzSmtLRzVoYldVc0lFSlBUMHhGUVU1SlUwaGZVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJRzVoYldVc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJVYUdWelpTQmhjbVVnU0ZSTlRDQmliMjlzWldGdUlHRjBkSEpwWW5WMFpYTXVYRzVjYmxzbllXeHNiM2RHZFd4c1UyTnlaV1Z1Snl3Z0oyRnplVzVqSnl3Z0x5OGdUbTkwWlRvZ2RHaGxjbVVnYVhNZ1lTQnpjR1ZqYVdGc0lHTmhjMlVnZEdoaGRDQndjbVYyWlc1MGN5QnBkQ0JtY205dElHSmxhVzVuSUhkeWFYUjBaVzRnZEc4Z2RHaGxJRVJQVFZ4dUx5OGdiMjRnZEdobElHTnNhV1Z1ZENCemFXUmxJR0psWTJGMWMyVWdkR2hsSUdKeWIzZHpaWEp6SUdGeVpTQnBibU52Ym5OcGMzUmxiblF1SUVsdWMzUmxZV1FnZDJVZ1kyRnNiQ0JtYjJOMWN5Z3BMbHh1SjJGMWRHOUdiMk4xY3ljc0lDZGhkWFJ2VUd4aGVTY3NJQ2RqYjI1MGNtOXNjeWNzSUNka1pXWmhkV3gwSnl3Z0oyUmxabVZ5Snl3Z0oyUnBjMkZpYkdWa0p5d2dKMlJwYzJGaWJHVlFhV04wZFhKbFNXNVFhV04wZFhKbEp5d2dKMlp2Y20xT2IxWmhiR2xrWVhSbEp5d2dKMmhwWkdSbGJpY3NJQ2RzYjI5d0p5d2dKMjV2VFc5a2RXeGxKeXdnSjI1dlZtRnNhV1JoZEdVbkxDQW5iM0JsYmljc0lDZHdiR0Y1YzBsdWJHbHVaU2NzSUNkeVpXRmtUMjVzZVNjc0lDZHlaWEYxYVhKbFpDY3NJQ2R5WlhabGNuTmxaQ2NzSUNkelkyOXdaV1FuTENBbmMyVmhiV3hsYzNNbkxDQXZMeUJOYVdOeWIyUmhkR0ZjYmlkcGRHVnRVMk52Y0dVblhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJSEJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHNWhiV1VzSUVKUFQweEZRVTRzSUdaaGJITmxMQ0F2THlCdGRYTjBWWE5sVUhKdmNHVnlkSGxjYmlBZ2JtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncExDQXZMeUJoZEhSeWFXSjFkR1ZPWVcxbFhHNGdJRzUxYkd3c0lDOHZJR0YwZEhKcFluVjBaVTVoYldWemNHRmpaVnh1SUNCbVlXeHpaU2s3WEc1OUtUc2dMeThnVkdobGMyVWdZWEpsSUhSb1pTQm1aWGNnVW1WaFkzUWdjSEp2Y0hNZ2RHaGhkQ0IzWlNCelpYUWdZWE1nUkU5TklIQnliM0JsY25ScFpYTmNiaTh2SUhKaGRHaGxjaUIwYUdGdUlHRjBkSEpwWW5WMFpYTXVJRlJvWlhObElHRnlaU0JoYkd3Z1ltOXZiR1ZoYm5NdVhHNWNibHNuWTJobFkydGxaQ2NzSUM4dklFNXZkR1U2SUdCdmNIUnBiMjR1YzJWc1pXTjBaV1JnSUdseklHNXZkQ0IxY0dSaGRHVmtJR2xtSUdCelpXeGxZM1F1YlhWc2RHbHdiR1ZnSUdselhHNHZMeUJrYVhOaFlteGxaQ0IzYVhSb0lHQnlaVzF2ZG1WQmRIUnlhV0oxZEdWZ0xpQlhaU0JvWVhabElITndaV05wWVd3Z2JHOW5hV01nWm05eUlHaGhibVJzYVc1bklIUm9hWE11WEc0bmJYVnNkR2x3YkdVbkxDQW5iWFYwWldRbkxDQW5jMlZzWldOMFpXUW5JQzh2SUU1UFZFVTZJR2xtSUhsdmRTQmhaR1FnWVNCallXMWxiRU5oYzJWa0lIQnliM0FnZEc4Z2RHaHBjeUJzYVhOMExGeHVMeThnZVc5MUoyeHNJRzVsWldRZ2RHOGdjMlYwSUdGMGRISnBZblYwWlU1aGJXVWdkRzhnYm1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwWEc0dkx5QnBibk4wWldGa0lHbHVJSFJvWlNCaGMzTnBaMjV0Wlc1MElHSmxiRzkzTGx4dVhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJSEJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHNWhiV1VzSUVKUFQweEZRVTRzSUhSeWRXVXNJQzh2SUcxMWMzUlZjMlZRY205d1pYSjBlVnh1SUNCdVlXMWxMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxYRzRnSUc1MWJHd3NJQzh2SUdGMGRISnBZblYwWlU1aGJXVnpjR0ZqWlZ4dUlDQm1ZV3h6WlNrN1hHNTlLVHNnTHk4Z1ZHaGxjMlVnWVhKbElFaFVUVXdnWVhSMGNtbGlkWFJsY3lCMGFHRjBJR0Z5WlNCY0ltOTJaWEpzYjJGa1pXUWdZbTl2YkdWaGJuTmNJam9nZEdobGVTQmlaV2hoZG1VZ2JHbHJaVnh1THk4Z1ltOXZiR1ZoYm5Nc0lHSjFkQ0JqWVc0Z1lXeHpieUJoWTJObGNIUWdZU0J6ZEhKcGJtY2dkbUZzZFdVdVhHNWNibHNuWTJGd2RIVnlaU2NzSUNka2IzZHViRzloWkNjZ0x5OGdUazlVUlRvZ2FXWWdlVzkxSUdGa1pDQmhJR05oYldWc1EyRnpaV1FnY0hKdmNDQjBieUIwYUdseklHeHBjM1FzWEc0dkx5QjViM1VuYkd3Z2JtVmxaQ0IwYnlCelpYUWdZWFIwY21saWRYUmxUbUZ0WlNCMGJ5QnVZVzFsTG5SdlRHOTNaWEpEWVhObEtDbGNiaTh2SUdsdWMzUmxZV1FnYVc0Z2RHaGxJR0Z6YzJsbmJtMWxiblFnWW1Wc2IzY3VYRzVkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dUMVpGVWt4UFFVUkZSRjlDVDA5TVJVRk9MQ0JtWVd4elpTd2dMeThnYlhWemRGVnpaVkJ5YjNCbGNuUjVYRzRnSUc1aGJXVXNJQzh2SUdGMGRISnBZblYwWlU1aGJXVmNiaUFnYm5Wc2JDd2dMeThnWVhSMGNtbGlkWFJsVG1GdFpYTndZV05sWEc0Z0lHWmhiSE5sS1R0Y2JuMHBPeUF2THlCVWFHVnpaU0JoY21VZ1NGUk5UQ0JoZEhSeWFXSjFkR1Z6SUhSb1lYUWdiWFZ6ZENCaVpTQndiM05wZEdsMlpTQnVkVzFpWlhKekxseHVYRzViSjJOdmJITW5MQ0FuY205M2N5Y3NJQ2R6YVhwbEp5d2dKM053WVc0bklDOHZJRTVQVkVVNklHbG1JSGx2ZFNCaFpHUWdZU0JqWVcxbGJFTmhjMlZrSUhCeWIzQWdkRzhnZEdocGN5QnNhWE4wTEZ4dUx5OGdlVzkxSjJ4c0lHNWxaV1FnZEc4Z2MyVjBJR0YwZEhKcFluVjBaVTVoYldVZ2RHOGdibUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BYRzR2THlCcGJuTjBaV0ZrSUdsdUlIUm9aU0JoYzNOcFoyNXRaVzUwSUdKbGJHOTNMbHh1WFM1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNodVlXMWxLU0I3WEc0Z0lIQnliM0JsY25ScFpYTmJibUZ0WlYwZ1BTQnVaWGNnVUhKdmNHVnlkSGxKYm1adlVtVmpiM0prS0c1aGJXVXNJRkJQVTBsVVNWWkZYMDVWVFVWU1NVTXNJR1poYkhObExDQXZMeUJ0ZFhOMFZYTmxVSEp2Y0dWeWRIbGNiaUFnYm1GdFpTd2dMeThnWVhSMGNtbGlkWFJsVG1GdFpWeHVJQ0J1ZFd4c0xDQXZMeUJoZEhSeWFXSjFkR1ZPWVcxbGMzQmhZMlZjYmlBZ1ptRnNjMlVwTzF4dWZTazdJQzh2SUZSb1pYTmxJR0Z5WlNCSVZFMU1JR0YwZEhKcFluVjBaWE1nZEdoaGRDQnRkWE4wSUdKbElHNTFiV0psY25NdVhHNWNibHNuY205M1UzQmhiaWNzSUNkemRHRnlkQ2RkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dUbFZOUlZKSlF5d2dabUZzYzJVc0lDOHZJRzExYzNSVmMyVlFjbTl3WlhKMGVWeHVJQ0J1WVcxbExuUnZURzkzWlhKRFlYTmxLQ2tzSUM4dklHRjBkSEpwWW5WMFpVNWhiV1ZjYmlBZ2JuVnNiQ3dnTHk4Z1lYUjBjbWxpZFhSbFRtRnRaWE53WVdObFhHNGdJR1poYkhObEtUdGNibjBwTzF4dWRtRnlJRU5CVFVWTVNWcEZJRDBnTDF0Y1hDMWNYRHBkS0Z0aExYcGRLUzluTzF4dVhHNTJZWElnWTJGd2FYUmhiR2w2WlNBOUlHWjFibU4wYVc5dUlDaDBiMnRsYmlrZ2UxeHVJQ0J5WlhSMWNtNGdkRzlyWlc1Yk1WMHVkRzlWY0hCbGNrTmhjMlVvS1R0Y2JuMDdJQzh2SUZSb2FYTWdhWE1nWVNCc2FYTjBJRzltSUdGc2JDQlRWa2NnWVhSMGNtbGlkWFJsY3lCMGFHRjBJRzVsWldRZ2MzQmxZMmxoYkNCallYTnBibWNzSUc1aGJXVnpjR0ZqYVc1bkxGeHVMeThnYjNJZ1ltOXZiR1ZoYmlCMllXeDFaU0JoYzNOcFoyNXRaVzUwTGlCU1pXZDFiR0Z5SUdGMGRISnBZblYwWlhNZ2RHaGhkQ0JxZFhOMElHRmpZMlZ3ZENCemRISnBibWR6WEc0dkx5QmhibVFnYUdGMlpTQjBhR1VnYzJGdFpTQnVZVzFsY3lCaGNtVWdiMjFwZEhSbFpDd2dhblZ6ZENCc2FXdGxJR2x1SUhSb1pTQklWRTFNSUhkb2FYUmxiR2x6ZEM1Y2JpOHZJRk52YldVZ2IyWWdkR2hsYzJVZ1lYUjBjbWxpZFhSbGN5QmpZVzRnWW1VZ2FHRnlaQ0IwYnlCbWFXNWtMaUJVYUdseklHeHBjM1FnZDJGeklHTnlaV0YwWldRZ1lubGNiaTh2SUhOamNtRndhVzVuSUhSb1pTQk5SRTRnWkc5amRXMWxiblJoZEdsdmJpNWNibHh1WEc1YkoyRmpZMlZ1ZEMxb1pXbG5hSFFuTENBbllXeHBaMjV0Wlc1MExXSmhjMlZzYVc1bEp5d2dKMkZ5WVdKcFl5MW1iM0p0Snl3Z0oySmhjMlZzYVc1bExYTm9hV1owSnl3Z0oyTmhjQzFvWldsbmFIUW5MQ0FuWTJ4cGNDMXdZWFJvSnl3Z0oyTnNhWEF0Y25Wc1pTY3NJQ2RqYjJ4dmNpMXBiblJsY25CdmJHRjBhVzl1Snl3Z0oyTnZiRzl5TFdsdWRHVnljRzlzWVhScGIyNHRabWxzZEdWeWN5Y3NJQ2RqYjJ4dmNpMXdjbTltYVd4bEp5d2dKMk52Ykc5eUxYSmxibVJsY21sdVp5Y3NJQ2RrYjIxcGJtRnVkQzFpWVhObGJHbHVaU2NzSUNkbGJtRmliR1V0WW1GamEyZHliM1Z1WkNjc0lDZG1hV3hzTFc5d1lXTnBkSGtuTENBblptbHNiQzF5ZFd4bEp5d2dKMlpzYjI5a0xXTnZiRzl5Snl3Z0oyWnNiMjlrTFc5d1lXTnBkSGtuTENBblptOXVkQzFtWVcxcGJIa25MQ0FuWm05dWRDMXphWHBsSnl3Z0oyWnZiblF0YzJsNlpTMWhaR3AxYzNRbkxDQW5abTl1ZEMxemRISmxkR05vSnl3Z0oyWnZiblF0YzNSNWJHVW5MQ0FuWm05dWRDMTJZWEpwWVc1MEp5d2dKMlp2Ym5RdGQyVnBaMmgwSnl3Z0oyZHNlWEJvTFc1aGJXVW5MQ0FuWjJ4NWNHZ3RiM0pwWlc1MFlYUnBiMjR0YUc5eWFYcHZiblJoYkNjc0lDZG5iSGx3YUMxdmNtbGxiblJoZEdsdmJpMTJaWEowYVdOaGJDY3NJQ2RvYjNKcGVpMWhaSFl0ZUNjc0lDZG9iM0pwZWkxdmNtbG5hVzR0ZUNjc0lDZHBiV0ZuWlMxeVpXNWtaWEpwYm1jbkxDQW5iR1YwZEdWeUxYTndZV05wYm1jbkxDQW5iR2xuYUhScGJtY3RZMjlzYjNJbkxDQW5iV0Z5YTJWeUxXVnVaQ2NzSUNkdFlYSnJaWEl0Yldsa0p5d2dKMjFoY210bGNpMXpkR0Z5ZENjc0lDZHZkbVZ5YkdsdVpTMXdiM05wZEdsdmJpY3NJQ2R2ZG1WeWJHbHVaUzEwYUdsamEyNWxjM01uTENBbmNHRnBiblF0YjNKa1pYSW5MQ0FuY0dGdWIzTmxMVEVuTENBbmNHOXBiblJsY2kxbGRtVnVkSE1uTENBbmNtVnVaR1Z5YVc1bkxXbHVkR1Z1ZENjc0lDZHphR0Z3WlMxeVpXNWtaWEpwYm1jbkxDQW5jM1J2Y0MxamIyeHZjaWNzSUNkemRHOXdMVzl3WVdOcGRIa25MQ0FuYzNSeWFXdGxkR2h5YjNWbmFDMXdiM05wZEdsdmJpY3NJQ2R6ZEhKcGEyVjBhSEp2ZFdkb0xYUm9hV05yYm1WemN5Y3NJQ2R6ZEhKdmEyVXRaR0Z6YUdGeWNtRjVKeXdnSjNOMGNtOXJaUzFrWVhOb2IyWm1jMlYwSnl3Z0ozTjBjbTlyWlMxc2FXNWxZMkZ3Snl3Z0ozTjBjbTlyWlMxc2FXNWxhbTlwYmljc0lDZHpkSEp2YTJVdGJXbDBaWEpzYVcxcGRDY3NJQ2R6ZEhKdmEyVXRiM0JoWTJsMGVTY3NJQ2R6ZEhKdmEyVXRkMmxrZEdnbkxDQW5kR1Y0ZEMxaGJtTm9iM0luTENBbmRHVjRkQzFrWldOdmNtRjBhVzl1Snl3Z0ozUmxlSFF0Y21WdVpHVnlhVzVuSnl3Z0ozVnVaR1Z5YkdsdVpTMXdiM05wZEdsdmJpY3NJQ2QxYm1SbGNteHBibVV0ZEdocFkydHVaWE56Snl3Z0ozVnVhV052WkdVdFltbGthU2NzSUNkMWJtbGpiMlJsTFhKaGJtZGxKeXdnSjNWdWFYUnpMWEJsY2kxbGJTY3NJQ2QyTFdGc2NHaGhZbVYwYVdNbkxDQW5kaTFvWVc1bmFXNW5KeXdnSjNZdGFXUmxiMmR5WVhCb2FXTW5MQ0FuZGkxdFlYUm9aVzFoZEdsallXd25MQ0FuZG1WamRHOXlMV1ZtWm1WamRDY3NJQ2QyWlhKMExXRmtkaTE1Snl3Z0ozWmxjblF0YjNKcFoybHVMWGduTENBbmRtVnlkQzF2Y21sbmFXNHRlU2NzSUNkM2IzSmtMWE53WVdOcGJtY25MQ0FuZDNKcGRHbHVaeTF0YjJSbEp5d2dKM2h0Ykc1ek9uaHNhVzVySnl3Z0ozZ3RhR1ZwWjJoMEp5QXZMeUJPVDFSRk9pQnBaaUI1YjNVZ1lXUmtJR0VnWTJGdFpXeERZWE5sWkNCd2NtOXdJSFJ2SUhSb2FYTWdiR2x6ZEN4Y2JpOHZJSGx2ZFNkc2JDQnVaV1ZrSUhSdklITmxkQ0JoZEhSeWFXSjFkR1ZPWVcxbElIUnZJRzVoYldVdWRHOU1iM2RsY2tOaGMyVW9LVnh1THk4Z2FXNXpkR1ZoWkNCcGJpQjBhR1VnWVhOemFXZHViV1Z1ZENCaVpXeHZkeTVjYmwwdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb1lYUjBjbWxpZFhSbFRtRnRaU2tnZTF4dUlDQjJZWElnYm1GdFpTQTlJR0YwZEhKcFluVjBaVTVoYldVdWNtVndiR0ZqWlNoRFFVMUZURWxhUlN3Z1kyRndhWFJoYkdsNlpTazdYRzRnSUhCeWIzQmxjblJwWlhOYmJtRnRaVjBnUFNCdVpYY2dVSEp2Y0dWeWRIbEpibVp2VW1WamIzSmtLRzVoYldVc0lGTlVVa2xPUnl3Z1ptRnNjMlVzSUM4dklHMTFjM1JWYzJWUWNtOXdaWEowZVZ4dUlDQmhkSFJ5YVdKMWRHVk9ZVzFsTENCdWRXeHNMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxjM0JoWTJWY2JpQWdabUZzYzJVcE8xeHVmU2s3SUM4dklGTjBjbWx1WnlCVFZrY2dZWFIwY21saWRYUmxjeUIzYVhSb0lIUm9aU0I0YkdsdWF5QnVZVzFsYzNCaFkyVXVYRzVjYmxzbmVHeHBibXM2WVdOMGRXRjBaU2NzSUNkNGJHbHVhenBoY21OeWIyeGxKeXdnSjNoc2FXNXJPbkp2YkdVbkxDQW5lR3hwYm1zNmMyaHZkeWNzSUNkNGJHbHVhenAwYVhSc1pTY3NJQ2Q0YkdsdWF6cDBlWEJsSnlBdkx5Qk9UMVJGT2lCcFppQjViM1VnWVdSa0lHRWdZMkZ0Wld4RFlYTmxaQ0J3Y205d0lIUnZJSFJvYVhNZ2JHbHpkQ3hjYmk4dklIbHZkU2RzYkNCdVpXVmtJSFJ2SUhObGRDQmhkSFJ5YVdKMWRHVk9ZVzFsSUhSdklHNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tWeHVMeThnYVc1emRHVmhaQ0JwYmlCMGFHVWdZWE56YVdkdWJXVnVkQ0JpWld4dmR5NWNibDB1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvWVhSMGNtbGlkWFJsVG1GdFpTa2dlMXh1SUNCMllYSWdibUZ0WlNBOUlHRjBkSEpwWW5WMFpVNWhiV1V1Y21Wd2JHRmpaU2hEUVUxRlRFbGFSU3dnWTJGd2FYUmhiR2w2WlNrN1hHNGdJSEJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHNWhiV1VzSUZOVVVrbE9SeXdnWm1Gc2MyVXNJQzh2SUcxMWMzUlZjMlZRY205d1pYSjBlVnh1SUNCaGRIUnlhV0oxZEdWT1lXMWxMQ0FuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXljc0lHWmhiSE5sS1R0Y2JuMHBPeUF2THlCVGRISnBibWNnVTFaSElHRjBkSEpwWW5WMFpYTWdkMmwwYUNCMGFHVWdlRzFzSUc1aGJXVnpjR0ZqWlM1Y2JseHVXeWQ0Yld3NlltRnpaU2NzSUNkNGJXdzZiR0Z1Wnljc0lDZDRiV3c2YzNCaFkyVW5JQzh2SUU1UFZFVTZJR2xtSUhsdmRTQmhaR1FnWVNCallXMWxiRU5oYzJWa0lIQnliM0FnZEc4Z2RHaHBjeUJzYVhOMExGeHVMeThnZVc5MUoyeHNJRzVsWldRZ2RHOGdjMlYwSUdGMGRISnBZblYwWlU1aGJXVWdkRzhnYm1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwWEc0dkx5QnBibk4wWldGa0lHbHVJSFJvWlNCaGMzTnBaMjV0Wlc1MElHSmxiRzkzTGx4dVhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaGhkSFJ5YVdKMWRHVk9ZVzFsS1NCN1hHNGdJSFpoY2lCdVlXMWxJRDBnWVhSMGNtbGlkWFJsVG1GdFpTNXlaWEJzWVdObEtFTkJUVVZNU1ZwRkxDQmpZWEJwZEdGc2FYcGxLVHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvYm1GdFpTd2dVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJR0YwZEhKcFluVjBaVTVoYldVc0lDZG9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVlUVXd2TVRrNU9DOXVZVzFsYzNCaFkyVW5MQ0JtWVd4elpTazdYRzU5S1RzZ0x5OGdWR2hsYzJVZ1lYUjBjbWxpZFhSbElHVjRhWE4wY3lCaWIzUm9JR2x1SUVoVVRVd2dZVzVrSUZOV1J5NWNiaTh2SUZSb1pTQmhkSFJ5YVdKMWRHVWdibUZ0WlNCcGN5QmpZWE5sTFhObGJuTnBkR2wyWlNCcGJpQlRWa2NnYzI4Z2QyVWdZMkZ1SjNRZ2FuVnpkQ0IxYzJWY2JpOHZJSFJvWlNCU1pXRmpkQ0J1WVcxbElHeHBhMlVnZDJVZ1pHOGdabTl5SUdGMGRISnBZblYwWlhNZ2RHaGhkQ0JsZUdsemRDQnZibXg1SUdsdUlFaFVUVXd1WEc1Y2Jsc25kR0ZpU1c1a1pYZ25MQ0FuWTNKdmMzTlBjbWxuYVc0blhTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaGhkSFJ5YVdKMWRHVk9ZVzFsS1NCN1hHNGdJSEJ5YjNCbGNuUnBaWE5iWVhSMGNtbGlkWFJsVG1GdFpWMGdQU0J1WlhjZ1VISnZjR1Z5ZEhsSmJtWnZVbVZqYjNKa0tHRjBkSEpwWW5WMFpVNWhiV1VzSUZOVVVrbE9SeXdnWm1Gc2MyVXNJQzh2SUcxMWMzUlZjMlZRY205d1pYSjBlVnh1SUNCaGRIUnlhV0oxZEdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0Nrc0lDOHZJR0YwZEhKcFluVjBaVTVoYldWY2JpQWdiblZzYkN3Z0x5OGdZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxYRzRnSUdaaGJITmxLVHRjYm4wcE95QXZMeUJVYUdWelpTQmhkSFJ5YVdKMWRHVnpJR0ZqWTJWd2RDQlZVa3h6TGlCVWFHVnpaU0J0ZFhOMElHNXZkQ0JoYkd4dmR5QnFZWFpoYzJOeWFYQjBPaUJWVWt4VExseHVMeThnVkdobGMyVWdkMmxzYkNCaGJITnZJRzVsWldRZ2RHOGdZV05qWlhCMElGUnlkWE4wWldRZ1ZIbHdaWE1nYjJKcVpXTjBJR2x1SUhSb1pTQm1kWFIxY21VdVhHNWNiblpoY2lCNGJHbHVhMGh5WldZZ1BTQW5lR3hwYm10SWNtVm1KenRjYm5CeWIzQmxjblJwWlhOYmVHeHBibXRJY21WbVhTQTlJRzVsZHlCUWNtOXdaWEowZVVsdVptOVNaV052Y21Rb0ozaHNhVzVyU0hKbFppY3NJRk5VVWtsT1J5d2dabUZzYzJVc0lDOHZJRzExYzNSVmMyVlFjbTl3WlhKMGVWeHVKM2hzYVc1ck9taHlaV1luTENBbmFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5Y3NJSFJ5ZFdVcE8xeHVXeWR6Y21NbkxDQW5hSEpsWmljc0lDZGhZM1JwYjI0bkxDQW5abTl5YlVGamRHbHZiaWRkTG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0dGMGRISnBZblYwWlU1aGJXVXBJSHRjYmlBZ2NISnZjR1Z5ZEdsbGMxdGhkSFJ5YVdKMWRHVk9ZVzFsWFNBOUlHNWxkeUJRY205d1pYSjBlVWx1Wm05U1pXTnZjbVFvWVhSMGNtbGlkWFJsVG1GdFpTd2dVMVJTU1U1SExDQm1ZV3h6WlN3Z0x5OGdiWFZ6ZEZWelpWQnliM0JsY25SNVhHNGdJR0YwZEhKcFluVjBaVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LU3dnTHk4Z1lYUjBjbWxpZFhSbFRtRnRaVnh1SUNCdWRXeHNMQ0F2THlCaGRIUnlhV0oxZEdWT1lXMWxjM0JoWTJWY2JpQWdkSEoxWlNrN1hHNTlLVHRjYmx4dWRtRnlJRkpsWVdOMFJHVmlkV2REZFhKeVpXNTBSbkpoYldVZ1BTQnVkV3hzTzF4dVhHNTdYRzRnSUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVWdQU0JTWldGamRGTm9ZWEpsWkVsdWRHVnlibUZzY3k1U1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxPMXh1ZlNBdkx5QkJJR3BoZG1GelkzSnBjSFE2SUZWU1RDQmpZVzRnWTI5dWRHRnBiaUJzWldGa2FXNW5JRU13SUdOdmJuUnliMndnYjNJZ1hGeDFNREF5TUNCVFVFRkRSU3hjYmk4dklHRnVaQ0JoYm5rZ2JtVjNiR2x1WlNCdmNpQjBZV0lnWVhKbElHWnBiSFJsY21Wa0lHOTFkQ0JoY3lCcFppQjBhR1Y1SjNKbElHNXZkQ0J3WVhKMElHOW1JSFJvWlNCVlVrd3VYRzR2THlCb2RIUndjem92TDNWeWJDNXpjR1ZqTG5kb1lYUjNaeTV2Y21jdkkzVnliQzF3WVhKemFXNW5YRzR2THlCVVlXSWdiM0lnYm1WM2JHbHVaU0JoY21VZ1pHVm1hVzVsWkNCaGN5QmNYSEpjWEc1Y1hIUTZYRzR2THlCb2RIUndjem92TDJsdVpuSmhMbk53WldNdWQyaGhkSGRuTG05eVp5OGpZWE5qYVdrdGRHRmlMVzl5TFc1bGQyeHBibVZjYmk4dklFRWdRekFnWTI5dWRISnZiQ0JwY3lCaElHTnZaR1VnY0c5cGJuUWdhVzRnZEdobElISmhibWRsSUZ4Y2RUQXdNREFnVGxWTVRDQjBieUJjWEhVd01ERkdYRzR2THlCSlRrWlBVazFCVkVsUFRpQlRSVkJCVWtGVVQxSWdUMDVGTENCcGJtTnNkWE5wZG1VNlhHNHZMeUJvZEhSd2N6b3ZMMmx1Wm5KaExuTndaV011ZDJoaGRIZG5MbTl5Wnk4all6QXRZMjl1ZEhKdmJDMXZjaTF6Y0dGalpWeHVYRzR2S2lCbGMyeHBiblF0WkdsellXSnNaU0J0WVhndGJHVnVJQ292WEc1Y2JseHVkbUZ5SUdselNtRjJZVk5qY21sd2RGQnliM1J2WTI5c0lEMGdMMTViWEZ4MU1EQXdNQzFjWEhVd01ERkdJRjBxYWx0Y1hISmNYRzVjWEhSZEttRmJYRnh5WEZ4dVhGeDBYU3AyVzF4Y2NseGNibHhjZEYwcVlWdGNYSEpjWEc1Y1hIUmRLbk5iWEZ4eVhGeHVYRngwWFNwalcxeGNjbHhjYmx4Y2RGMHFjbHRjWEhKY1hHNWNYSFJkS21sYlhGeHlYRnh1WEZ4MFhTcHdXMXhjY2x4Y2JseGNkRjBxZEZ0Y1hISmNYRzVjWEhSZEtseGNPaTlwTzF4dWRtRnlJR1JwWkZkaGNtNGdQU0JtWVd4elpUdGNibHh1Wm5WdVkzUnBiMjRnYzJGdWFYUnBlbVZWVWt3b2RYSnNLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9JV1JwWkZkaGNtNGdKaVlnYVhOS1lYWmhVMk55YVhCMFVISnZkRzlqYjJ3dWRHVnpkQ2gxY213cEtTQjdYRzRnSUNBZ0lDQmthV1JYWVhKdUlEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ1pYSnliM0lvSjBFZ1puVjBkWEpsSUhabGNuTnBiMjRnYjJZZ1VtVmhZM1FnZDJsc2JDQmliRzlqYXlCcVlYWmhjMk55YVhCME9pQlZVa3h6SUdGeklHRWdjMlZqZFhKcGRIa2djSEpsWTJGMWRHbHZiaTRnSnlBcklDZFZjMlVnWlhabGJuUWdhR0Z1Wkd4bGNuTWdhVzV6ZEdWaFpDQnBaaUI1YjNVZ1kyRnVMaUJKWmlCNWIzVWdibVZsWkNCMGJ5Qm5aVzVsY21GMFpTQjFibk5oWm1VZ1NGUk5UQ0IwY25rZ0p5QXJJQ2QxYzJsdVp5QmtZVzVuWlhKdmRYTnNlVk5sZEVsdWJtVnlTRlJOVENCcGJuTjBaV0ZrTGlCU1pXRmpkQ0IzWVhNZ2NHRnpjMlZrSUNWekxpY3NJRXBUVDA0dWMzUnlhVzVuYVdaNUtIVnliQ2twTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUVkbGRDQjBhR1VnZG1Gc2RXVWdabTl5SUdFZ2NISnZjR1Z5ZEhrZ2IyNGdZU0J1YjJSbExpQlBibXg1SUhWelpXUWdhVzRnUkVWV0lHWnZjaUJUVTFJZ2RtRnNhV1JoZEdsdmJpNWNiaUFxSUZSb1pTQmNJbVY0Y0dWamRHVmtYQ0lnWVhKbmRXMWxiblFnYVhNZ2RYTmxaQ0JoY3lCaElHaHBiblFnYjJZZ2QyaGhkQ0IwYUdVZ1pYaHdaV04wWldRZ2RtRnNkV1VnYVhNdVhHNGdLaUJUYjIxbElIQnliM0JsY25ScFpYTWdhR0YyWlNCdGRXeDBhWEJzWlNCbGNYVnBkbUZzWlc1MElIWmhiSFZsY3k1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnWjJWMFZtRnNkV1ZHYjNKUWNtOXdaWEowZVNodWIyUmxMQ0J1WVcxbExDQmxlSEJsWTNSbFpDd2djSEp2Y0dWeWRIbEpibVp2S1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvY0hKdmNHVnlkSGxKYm1adkxtMTFjM1JWYzJWUWNtOXdaWEowZVNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YjNCbGNuUjVUbUZ0WlNBOUlIQnliM0JsY25SNVNXNW1ieTV3Y205d1pYSjBlVTVoYldVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm05a1pWdHdjbTl3WlhKMGVVNWhiV1ZkTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBaaUFvSUhCeWIzQmxjblI1U1c1bWJ5NXpZVzVwZEdsNlpWVlNUQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QkpaaUIzWlNCb1lYWmxiaWQwSUdaMWJHeDVJR1JwYzJGaWJHVmtJR3BoZG1GelkzSnBjSFE2SUZWU1RITXNJR0Z1WkNCcFpseHVJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2FIbGtjbUYwYVc5dUlHbHpJSE4xWTJObGMzTm1kV3dnYjJZZ1lTQnFZWFpoYzJOeWFYQjBPaUJWVWt3c0lIZGxYRzRnSUNBZ0lDQWdJQzh2SUhOMGFXeHNJSGRoYm5RZ2RHOGdkMkZ5YmlCdmJpQjBhR1VnWTJ4cFpXNTBMbHh1SUNBZ0lDQWdJQ0J6WVc1cGRHbDZaVlZTVENnbkp5QXJJR1Y0Y0dWamRHVmtLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlHRjBkSEpwWW5WMFpVNWhiV1VnUFNCd2NtOXdaWEowZVVsdVptOHVZWFIwY21saWRYUmxUbUZ0WlR0Y2JpQWdJQ0FnSUhaaGNpQnpkSEpwYm1kV1lXeDFaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJR2xtSUNod2NtOXdaWEowZVVsdVptOHVkSGx3WlNBOVBUMGdUMVpGVWt4UFFVUkZSRjlDVDA5TVJVRk9LU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHViMlJsTG1oaGMwRjBkSEpwWW5WMFpTaGhkSFJ5YVdKMWRHVk9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCMllXeDFaU0E5SUc1dlpHVXVaMlYwUVhSMGNtbGlkWFJsS0dGMGRISnBZblYwWlU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElEMDlQU0FuSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSE5vYjNWc1pGSmxiVzkyWlVGMGRISnBZblYwWlNodVlXMWxMQ0JsZUhCbFkzUmxaQ3dnY0hKdmNHVnlkSGxKYm1adkxDQm1ZV3h6WlNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUIyWVd4MVpUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZG1Gc2RXVWdQVDA5SUNjbklDc2daWGh3WldOMFpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGVIQmxZM1JsWkR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvYm05a1pTNW9ZWE5CZEhSeWFXSjFkR1VvWVhSMGNtbGlkWFJsVG1GdFpTa3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaU2h1WVcxbExDQmxlSEJsWTNSbFpDd2djSEp2Y0dWeWRIbEpibVp2TENCbVlXeHpaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCb1lXUWdZVzRnWVhSMGNtbGlkWFJsSUdKMWRDQnphRzkxYkdSdUozUWdhR0YyWlNCb1lXUWdiMjVsTENCemJ5QnlaV0ZrSUdsMFhHNGdJQ0FnSUNBZ0lDQWdMeThnWm05eUlIUm9aU0JsY25KdmNpQnRaWE56WVdkbExseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTG1kbGRFRjBkSEpwWW5WMFpTaGhkSFJ5YVdKMWRHVk9ZVzFsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR2xtSUNod2NtOXdaWEowZVVsdVptOHVkSGx3WlNBOVBUMGdRazlQVEVWQlRpa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JSFJvYVhNZ2QyRnpJR0VnWW05dmJHVmhiaXdnYVhRZ1pHOWxjMjRuZENCdFlYUjBaWElnZDJoaGRDQjBhR1VnZG1Gc2RXVWdhWE5jYmlBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnWm1GamRDQjBhR0YwSUhkbElHaGhkbVVnYVhRZ2FYTWdkR2hsSUhOaGJXVWdZWE1nZEdobElHVjRjR1ZqZEdWa0xseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmxlSEJsWTNSbFpEdGNiaUFnSUNBZ0lDQWdmU0F2THlCRmRtVnVJR2xtSUhSb2FYTWdjSEp2Y0dWeWRIa2dkWE5sY3lCaElHNWhiV1Z6Y0dGalpTQjNaU0IxYzJVZ1oyVjBRWFIwY21saWRYUmxYRzRnSUNBZ0lDQWdJQzh2SUdKbFkyRjFjMlVnZDJVZ1lYTnpkVzFsSUdsMGN5QnVZVzFsYzNCaFkyVmtJRzVoYldVZ2FYTWdkR2hsSUhOaGJXVWdZWE1nYjNWeUlHTnZibVpwWnk1Y2JpQWdJQ0FnSUNBZ0x5OGdWRzhnZFhObElHZGxkRUYwZEhKcFluVjBaVTVUSUhkbElHNWxaV1FnZEdobElHeHZZMkZzSUc1aGJXVWdkMmhwWTJnZ2QyVWdaRzl1SjNRZ2FHRjJaVnh1SUNBZ0lDQWdJQ0F2THlCcGJpQnZkWElnWTI5dVptbG5JR0YwYlM1Y2JseHVYRzRnSUNBZ0lDQWdJSE4wY21sdVoxWmhiSFZsSUQwZ2JtOWtaUzVuWlhSQmRIUnlhV0oxZEdVb1lYUjBjbWxpZFhSbFRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHphRzkxYkdSU1pXMXZkbVZCZEhSeWFXSjFkR1VvYm1GdFpTd2daWGh3WldOMFpXUXNJSEJ5YjNCbGNuUjVTVzVtYnl3Z1ptRnNjMlVwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCemRISnBibWRXWVd4MVpTQTlQVDBnYm5Wc2JDQS9JR1Y0Y0dWamRHVmtJRG9nYzNSeWFXNW5WbUZzZFdVN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tITjBjbWx1WjFaaGJIVmxJRDA5UFNBbkp5QXJJR1Y0Y0dWamRHVmtLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJsZUhCbFkzUmxaRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnpkSEpwYm1kV1lXeDFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMWNiaThxS2x4dUlDb2dSMlYwSUhSb1pTQjJZV3gxWlNCbWIzSWdZU0JoZEhSeWFXSjFkR1VnYjI0Z1lTQnViMlJsTGlCUGJteDVJSFZ6WldRZ2FXNGdSRVZXSUdadmNpQlRVMUlnZG1Gc2FXUmhkR2x2Ymk1Y2JpQXFJRlJvWlNCMGFHbHlaQ0JoY21kMWJXVnVkQ0JwY3lCMWMyVmtJR0Z6SUdFZ2FHbHVkQ0J2WmlCM2FHRjBJSFJvWlNCbGVIQmxZM1JsWkNCMllXeDFaU0JwY3k0Z1UyOXRaVnh1SUNvZ1lYUjBjbWxpZFhSbGN5Qm9ZWFpsSUcxMWJIUnBjR3hsSUdWeGRXbDJZV3hsYm5RZ2RtRnNkV1Z6TGx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdkbGRGWmhiSFZsUm05eVFYUjBjbWxpZFhSbEtHNXZaR1VzSUc1aGJXVXNJR1Y0Y0dWamRHVmtLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9JV2x6UVhSMGNtbGlkWFJsVG1GdFpWTmhabVVvYm1GdFpTa3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JVzV2WkdVdWFHRnpRWFIwY21saWRYUmxLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1pYaHdaV04wWldRZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUhWdVpHVm1hVzVsWkNBNklHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUhaaGJIVmxJRDBnYm05a1pTNW5aWFJCZEhSeWFXSjFkR1VvYm1GdFpTazdYRzVjYmlBZ0lDQnBaaUFvZG1Gc2RXVWdQVDA5SUNjbklDc2daWGh3WldOMFpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmxlSEJsWTNSbFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUgxY2JuMWNiaThxS2x4dUlDb2dVMlYwY3lCMGFHVWdkbUZzZFdVZ1ptOXlJR0VnY0hKdmNHVnlkSGtnYjI0Z1lTQnViMlJsTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3UkU5TlJXeGxiV1Z1ZEgwZ2JtOWtaVnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUc1aGJXVmNiaUFxSUVCd1lYSmhiU0I3S24wZ2RtRnNkV1ZjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJ6WlhSV1lXeDFaVVp2Y2xCeWIzQmxjblI1S0c1dlpHVXNJRzVoYldVc0lIWmhiSFZsTENCcGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5a2dlMXh1SUNCMllYSWdjSEp2Y0dWeWRIbEpibVp2SUQwZ1oyVjBVSEp2Y0dWeWRIbEpibVp2S0c1aGJXVXBPMXh1WEc0Z0lHbG1JQ2h6YUc5MWJHUkpaMjV2Y21WQmRIUnlhV0oxZEdVb2JtRnRaU3dnY0hKdmNHVnlkSGxKYm1adkxDQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeWtwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JwWmlBb2MyaHZkV3hrVW1WdGIzWmxRWFIwY21saWRYUmxLRzVoYldVc0lIWmhiSFZsTENCd2NtOXdaWEowZVVsdVptOHNJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBWR0ZuS1NrZ2UxeHVJQ0FnSUhaaGJIVmxJRDBnYm5Wc2JEdGNiaUFnZlNBdkx5QkpaaUIwYUdVZ2NISnZjQ0JwYzI0bmRDQnBiaUIwYUdVZ2MzQmxZMmxoYkNCc2FYTjBMQ0IwY21WaGRDQnBkQ0JoY3lCaElITnBiWEJzWlNCaGRIUnlhV0oxZEdVdVhHNWNibHh1SUNCcFppQW9hWE5EZFhOMGIyMURiMjF3YjI1bGJuUlVZV2NnZkh3Z2NISnZjR1Z5ZEhsSmJtWnZJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0dselFYUjBjbWxpZFhSbFRtRnRaVk5oWm1Vb2JtRnRaU2twSUh0Y2JpQWdJQ0FnSUhaaGNpQmZZWFIwY21saWRYUmxUbUZ0WlNBOUlHNWhiV1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaDJZV3gxWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsTG5KbGJXOTJaVUYwZEhKcFluVjBaU2hmWVhSMGNtbGlkWFJsVG1GdFpTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsTG5ObGRFRjBkSEpwWW5WMFpTaGZZWFIwY21saWRYUmxUbUZ0WlN3Z0lDY25JQ3NnZG1Gc2RXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ0ZFhOMFZYTmxVSEp2Y0dWeWRIa2dQU0J3Y205d1pYSjBlVWx1Wm04dWJYVnpkRlZ6WlZCeWIzQmxjblI1TzF4dVhHNGdJR2xtSUNodGRYTjBWWE5sVUhKdmNHVnlkSGtwSUh0Y2JpQWdJQ0IyWVhJZ2NISnZjR1Z5ZEhsT1lXMWxJRDBnY0hKdmNHVnlkSGxKYm1adkxuQnliM0JsY25SNVRtRnRaVHRjYmx4dUlDQWdJR2xtSUNoMllXeDFaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIUjVjR1VnUFNCd2NtOXdaWEowZVVsdVptOHVkSGx3WlR0Y2JpQWdJQ0FnSUc1dlpHVmJjSEp2Y0dWeWRIbE9ZVzFsWFNBOUlIUjVjR1VnUFQwOUlFSlBUMHhGUVU0Z1B5Qm1ZV3h6WlNBNklDY25PMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QkRiMjUwY21GeWVTQjBieUJnYzJWMFFYUjBjbWxpZFhSbFlDd2diMkpxWldOMElIQnliM0JsY25ScFpYTWdZWEpsSUhCeWIzQmxjbXg1WEc0Z0lDQWdJQ0F2THlCZ2RHOVRkSEpwYm1kZ1pXUWdZbmtnU1VVNEx6a3VYRzRnSUNBZ0lDQnViMlJsVzNCeWIzQmxjblI1VG1GdFpWMGdQU0IyWVd4MVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMGdMeThnVkdobElISmxjM1FnWVhKbElIUnlaV0YwWldRZ1lYTWdZWFIwY21saWRYUmxjeUIzYVhSb0lITndaV05wWVd3Z1kyRnpaWE11WEc1Y2JseHVJQ0IyWVhJZ1lYUjBjbWxpZFhSbFRtRnRaU0E5SUhCeWIzQmxjblI1U1c1bWJ5NWhkSFJ5YVdKMWRHVk9ZVzFsTEZ4dUlDQWdJQ0FnWVhSMGNtbGlkWFJsVG1GdFpYTndZV05sSUQwZ2NISnZjR1Z5ZEhsSmJtWnZMbUYwZEhKcFluVjBaVTVoYldWemNHRmpaVHRjYmx4dUlDQnBaaUFvZG1Gc2RXVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnViMlJsTG5KbGJXOTJaVUYwZEhKcFluVjBaU2hoZEhSeWFXSjFkR1ZPWVcxbEtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjJZWElnWDNSNWNHVWdQU0J3Y205d1pYSjBlVWx1Wm04dWRIbHdaVHRjYmlBZ0lDQjJZWElnWVhSMGNtbGlkWFJsVm1Gc2RXVTdYRzVjYmlBZ0lDQnBaaUFvWDNSNWNHVWdQVDA5SUVKUFQweEZRVTRnZkh3Z1gzUjVjR1VnUFQwOUlFOVdSVkpNVDBGRVJVUmZRazlQVEVWQlRpQW1KaUIyWVd4MVpTQTlQVDBnZEhKMVpTa2dlMXh1SUNBZ0lDQWdMeThnU1dZZ1lYUjBjbWxpZFhSbElIUjVjR1VnYVhNZ1ltOXZiR1ZoYml3Z2QyVWdhMjV2ZHlCbWIzSWdjM1Z5WlNCcGRDQjNiMjRuZENCaVpTQmhiaUJsZUdWamRYUnBiMjRnYzJsdWExeHVJQ0FnSUNBZ0x5OGdZVzVrSUhkbElIZHZiaWQwSUhKbGNYVnBjbVVnVkhKMWMzUmxaQ0JVZVhCbElHaGxjbVV1WEc0Z0lDQWdJQ0JoZEhSeWFXSjFkR1ZXWVd4MVpTQTlJQ2NuTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJnYzJWMFFYUjBjbWxpZFhSbFlDQjNhWFJvSUc5aWFtVmpkSE1nWW1WamIyMWxjeUJ2Ym14NUlHQmJiMkpxWldOMFhXQWdhVzRnU1VVNEx6a3NYRzRnSUNBZ0lDQXZMeUFvSnljZ0t5QjJZV3gxWlNrZ2JXRnJaWE1nYVhRZ2IzVjBjSFYwSUhSb1pTQmpiM0p5WldOMElIUnZVM1J5YVc1bktDa3RkbUZzZFdVdVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHRjBkSEpwWW5WMFpWWmhiSFZsSUQwZ0p5Y2dLeUIyWVd4MVpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hCeWIzQmxjblI1U1c1bWJ5NXpZVzVwZEdsNlpWVlNUQ2tnZTF4dUlDQWdJQ0FnSUNCellXNXBkR2w2WlZWU1RDaGhkSFJ5YVdKMWRHVldZV3gxWlM1MGIxTjBjbWx1WnlncEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZWFIwY21saWRYUmxUbUZ0WlhOd1lXTmxLU0I3WEc0Z0lDQWdJQ0J1YjJSbExuTmxkRUYwZEhKcFluVjBaVTVUS0dGMGRISnBZblYwWlU1aGJXVnpjR0ZqWlN3Z1lYUjBjbWxpZFhSbFRtRnRaU3dnWVhSMGNtbGlkWFJsVm1Gc2RXVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdWIyUmxMbk5sZEVGMGRISnBZblYwWlNoaGRIUnlhV0oxZEdWT1lXMWxMQ0JoZEhSeWFXSjFkR1ZXWVd4MVpTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCQ1JVWlBVa1ZmVTB4QlUwaGZVa1VnUFNBdlhpZ3VLaWxiWEZ4Y1hGeGNMMTB2TzF4dVpuVnVZM1JwYjI0Z1pHVnpZM0pwWW1WRGIyMXdiMjVsYm5SR2NtRnRaU0FvYm1GdFpTd2djMjkxY21ObExDQnZkMjVsY2s1aGJXVXBJSHRjYmlBZ2RtRnlJSE52ZFhKalpVbHVabThnUFNBbkp6dGNibHh1SUNCcFppQW9jMjkxY21ObEtTQjdYRzRnSUNBZ2RtRnlJSEJoZEdnZ1BTQnpiM1Z5WTJVdVptbHNaVTVoYldVN1hHNGdJQ0FnZG1GeUlHWnBiR1ZPWVcxbElEMGdjR0YwYUM1eVpYQnNZV05sS0VKRlJrOVNSVjlUVEVGVFNGOVNSU3dnSnljcE8xeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdTVzRnUkVWV0xDQnBibU5zZFdSbElHTnZaR1VnWm05eUlHRWdZMjl0Ylc5dUlITndaV05wWVd3Z1kyRnpaVHBjYmlBZ0lDQWdJQzh2SUhCeVpXWmxjaUJjSW1admJHUmxjaTlwYm1SbGVDNXFjMXdpSUdsdWMzUmxZV1FnYjJZZ2FuVnpkQ0JjSW1sdVpHVjRMbXB6WENJdVhHNGdJQ0FnSUNCcFppQW9MMTVwYm1SbGVGeGNMaTh1ZEdWemRDaG1hV3hsVG1GdFpTa3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHMWhkR05vSUQwZ2NHRjBhQzV0WVhSamFDaENSVVpQVWtWZlUweEJVMGhmVWtVcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNodFlYUmphQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ3WVhSb1FtVm1iM0psVTJ4aGMyZ2dQU0J0WVhSamFGc3hYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h3WVhSb1FtVm1iM0psVTJ4aGMyZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJtYjJ4a1pYSk9ZVzFsSUQwZ2NHRjBhRUpsWm05eVpWTnNZWE5vTG5KbGNHeGhZMlVvUWtWR1QxSkZYMU5NUVZOSVgxSkZMQ0FuSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JtYVd4bFRtRnRaU0E5SUdadmJHUmxjazVoYldVZ0t5QW5MeWNnS3lCbWFXeGxUbUZ0WlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnpiM1Z5WTJWSmJtWnZJRDBnSnlBb1lYUWdKeUFySUdacGJHVk9ZVzFsSUNzZ0p6b25JQ3NnYzI5MWNtTmxMbXhwYm1WT2RXMWlaWElnS3lBbktTYzdYRzRnSUgwZ1pXeHpaU0JwWmlBb2IzZHVaWEpPWVcxbEtTQjdYRzRnSUNBZ2MyOTFjbU5sU1c1bWJ5QTlJQ2NnS0dOeVpXRjBaV1FnWW5rZ0p5QXJJRzkzYm1WeVRtRnRaU0FySUNjcEp6dGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQW5YRnh1SUNBZ0lHbHVJQ2NnS3lBb2JtRnRaU0I4ZkNBblZXNXJibTkzYmljcElDc2djMjkxY21ObFNXNW1ienRjYm4xY2JseHVMeThnVkdobElGTjViV0p2YkNCMWMyVmtJSFJ2SUhSaFp5QjBhR1VnVW1WaFkzUkZiR1Z0Wlc1MExXeHBhMlVnZEhsd1pYTXVJRWxtSUhSb1pYSmxJR2x6SUc1dklHNWhkR2wyWlNCVGVXMWliMnhjYmk4dklHNXZjaUJ3YjJ4NVptbHNiQ3dnZEdobGJpQmhJSEJzWVdsdUlHNTFiV0psY2lCcGN5QjFjMlZrSUdadmNpQndaWEptYjNKdFlXNWpaUzVjYm5aaGNpQm9ZWE5UZVcxaWIyd2dQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGTjViV0p2YkM1bWIzSTdYRzUyWVhJZ1VrVkJRMVJmUlV4RlRVVk9WRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1Wld4bGJXVnVkQ2NwSURvZ01IaGxZV00zTzF4dWRtRnlJRkpGUVVOVVgxQlBVbFJCVEY5VVdWQkZJRDBnYUdGelUzbHRZbTlzSUQ4Z1UzbHRZbTlzTG1admNpZ25jbVZoWTNRdWNHOXlkR0ZzSnlrZ09pQXdlR1ZoWTJFN1hHNTJZWElnVWtWQlExUmZSbEpCUjAxRlRsUmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbVp5WVdkdFpXNTBKeWtnT2lBd2VHVmhZMkk3WEc1MllYSWdVa1ZCUTFSZlUxUlNTVU5VWDAxUFJFVmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbk4wY21samRGOXRiMlJsSnlrZ09pQXdlR1ZoWTJNN1hHNTJZWElnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbkJ5YjJacGJHVnlKeWtnT2lBd2VHVmhaREk3WEc1MllYSWdVa1ZCUTFSZlVGSlBWa2xFUlZKZlZGbFFSU0E5SUdoaGMxTjViV0p2YkNBL0lGTjViV0p2YkM1bWIzSW9KM0psWVdOMExuQnliM1pwWkdWeUp5a2dPaUF3ZUdWaFkyUTdYRzUyWVhJZ1VrVkJRMVJmUTA5T1ZFVllWRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1WTI5dWRHVjRkQ2NwSURvZ01IaGxZV05sT3lBdkx5QlVUMFJQT2lCWFpTQmtiMjRuZENCMWMyVWdRWE41Ym1OTmIyUmxJRzl5SUVOdmJtTjFjbkpsYm5STmIyUmxJR0Z1ZVcxdmNtVXVJRlJvWlhrZ2QyVnlaU0IwWlcxd2IzSmhjbmxjYm5aaGNpQlNSVUZEVkY5RFQwNURWVkpTUlU1VVgwMVBSRVZmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG1OdmJtTjFjbkpsYm5SZmJXOWtaU2NwSURvZ01IaGxZV05tTzF4dWRtRnlJRkpGUVVOVVgwWlBVbGRCVWtSZlVrVkdYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzVtYjNKM1lYSmtYM0psWmljcElEb2dNSGhsWVdRd08xeHVkbUZ5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV6ZFhOd1pXNXpaU2NwSURvZ01IaGxZV1F4TzF4dWRtRnlJRkpGUVVOVVgxTlZVMUJGVGxORlgweEpVMVJmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG5OMWMzQmxibk5sWDJ4cGMzUW5LU0E2SURCNFpXRmtPRHRjYm5aaGNpQlNSVUZEVkY5TlJVMVBYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV0Wlcxdkp5a2dPaUF3ZUdWaFpETTdYRzUyWVhJZ1VrVkJRMVJmVEVGYVdWOVVXVkJGSUQwZ2FHRnpVM2x0WW05c0lEOGdVM2x0WW05c0xtWnZjaWduY21WaFkzUXViR0Y2ZVNjcElEb2dNSGhsWVdRME8xeHVkbUZ5SUZKRlFVTlVYMEpNVDBOTFgxUlpVRVVnUFNCb1lYTlRlVzFpYjJ3Z1B5QlRlVzFpYjJ3dVptOXlLQ2R5WldGamRDNWliRzlqYXljcElEb2dNSGhsWVdRNU8xeHVkbUZ5SUUxQldVSkZYMGxVUlZKQlZFOVNYMU5aVFVKUFRDQTlJSFI1Y0dWdlppQlRlVzFpYjJ3Z1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ1UzbHRZbTlzTG1sMFpYSmhkRzl5TzF4dWRtRnlJRVpCVlZoZlNWUkZVa0ZVVDFKZlUxbE5RazlNSUQwZ0owQkFhWFJsY21GMGIzSW5PMXh1Wm5WdVkzUnBiMjRnWjJWMFNYUmxjbUYwYjNKR2JpaHRZWGxpWlVsMFpYSmhZbXhsS1NCN1hHNGdJR2xtSUNodFlYbGlaVWwwWlhKaFlteGxJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVnZaaUJ0WVhsaVpVbDBaWEpoWW14bElDRTlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2RtRnlJRzFoZVdKbFNYUmxjbUYwYjNJZ1BTQk5RVmxDUlY5SlZFVlNRVlJQVWw5VFdVMUNUMHdnSmlZZ2JXRjVZbVZKZEdWeVlXSnNaVnROUVZsQ1JWOUpWRVZTUVZSUFVsOVRXVTFDVDB4ZElIeDhJRzFoZVdKbFNYUmxjbUZpYkdWYlJrRlZXRjlKVkVWU1FWUlBVbDlUV1UxQ1QweGRPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdiV0Y1WW1WSmRHVnlZWFJ2Y2lBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQnRZWGxpWlVsMFpYSmhkRzl5TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5WEc1Y2JuWmhjaUJWYm1sdWFYUnBZV3hwZW1Wa0lEMGdMVEU3WEc1MllYSWdVR1Z1WkdsdVp5QTlJREE3WEc1MllYSWdVbVZ6YjJ4MlpXUWdQU0F4TzF4dWRtRnlJRkpsYW1WamRHVmtJRDBnTWp0Y2JtWjFibU4wYVc5dUlISmxabWx1WlZKbGMyOXNkbVZrVEdGNmVVTnZiWEJ2Ym1WdWRDaHNZWHA1UTI5dGNHOXVaVzUwS1NCN1hHNGdJSEpsZEhWeWJpQnNZWHA1UTI5dGNHOXVaVzUwTGw5emRHRjBkWE1nUFQwOUlGSmxjMjlzZG1Wa0lEOGdiR0Y2ZVVOdmJYQnZibVZ1ZEM1ZmNtVnpkV3gwSURvZ2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlHbHVhWFJwWVd4cGVtVk1ZWHA1UTI5dGNHOXVaVzUwVkhsd1pTaHNZWHA1UTI5dGNHOXVaVzUwS1NCN1hHNGdJR2xtSUNoc1lYcDVRMjl0Y0c5dVpXNTBMbDl6ZEdGMGRYTWdQVDA5SUZWdWFXNXBkR2xoYkdsNlpXUXBJSHRjYmlBZ0lDQnNZWHA1UTI5dGNHOXVaVzUwTGw5emRHRjBkWE1nUFNCUVpXNWthVzVuTzF4dUlDQWdJSFpoY2lCamRHOXlJRDBnYkdGNmVVTnZiWEJ2Ym1WdWRDNWZZM1J2Y2p0Y2JpQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQmpkRzl5S0NrN1hHNGdJQ0FnYkdGNmVVTnZiWEJ2Ym1WdWRDNWZjbVZ6ZFd4MElEMGdkR2hsYm1GaWJHVTdYRzRnSUNBZ2RHaGxibUZpYkdVdWRHaGxiaWhtZFc1amRHbHZiaUFvYlc5a2RXeGxUMkpxWldOMEtTQjdYRzRnSUNBZ0lDQnBaaUFvYkdGNmVVTnZiWEJ2Ym1WdWRDNWZjM1JoZEhWeklEMDlQU0JRWlc1a2FXNW5LU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmtaV1poZFd4MFJYaHdiM0owSUQwZ2JXOWtkV3hsVDJKcVpXTjBMbVJsWm1GMWJIUTdYRzVjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hrWldaaGRXeDBSWGh3YjNKMElEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZHNZWHA1T2lCRmVIQmxZM1JsWkNCMGFHVWdjbVZ6ZFd4MElHOW1JR0VnWkhsdVlXMXBZeUJwYlhCdmNuUW9LU0JqWVd4c0xpQW5JQ3NnSjBsdWMzUmxZV1FnY21WalpXbDJaV1E2SUNWelhGeHVYRnh1V1c5MWNpQmpiMlJsSUhOb2IzVnNaQ0JzYjI5cklHeHBhMlU2SUZ4Y2JpQWdKeUFySUZ3aVkyOXVjM1FnVFhsRGIyMXdiMjVsYm5RZ1BTQnNZWHA1S0NncElEMCtJR2x0Y0c5eWRDZ25MaTlOZVVOdmJYQnZibVZ1ZENjcEtWd2lMQ0J0YjJSMWJHVlBZbXBsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHeGhlbmxEYjIxd2IyNWxiblF1WDNOMFlYUjFjeUE5SUZKbGMyOXNkbVZrTzF4dUlDQWdJQ0FnSUNCc1lYcDVRMjl0Y0c5dVpXNTBMbDl5WlhOMWJIUWdQU0JrWldaaGRXeDBSWGh3YjNKME8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc0lHWjFibU4wYVc5dUlDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLR3hoZW5sRGIyMXdiMjVsYm5RdVgzTjBZWFIxY3lBOVBUMGdVR1Z1WkdsdVp5a2dlMXh1SUNBZ0lDQWdJQ0JzWVhwNVEyOXRjRzl1Wlc1MExsOXpkR0YwZFhNZ1BTQlNaV3BsWTNSbFpEdGNiaUFnSUNBZ0lDQWdiR0Y2ZVVOdmJYQnZibVZ1ZEM1ZmNtVnpkV3gwSUQwZ1pYSnliM0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWM0poY0hCbFpFNWhiV1VvYjNWMFpYSlVlWEJsTENCcGJtNWxjbFI1Y0dVc0lIZHlZWEJ3WlhKT1lXMWxLU0I3WEc0Z0lIWmhjaUJtZFc1amRHbHZiazVoYldVZ1BTQnBibTVsY2xSNWNHVXVaR2x6Y0d4aGVVNWhiV1VnZkh3Z2FXNXVaWEpVZVhCbExtNWhiV1VnZkh3Z0p5YzdYRzRnSUhKbGRIVnliaUJ2ZFhSbGNsUjVjR1V1WkdsemNHeGhlVTVoYldVZ2ZId2dLR1oxYm1OMGFXOXVUbUZ0WlNBaFBUMGdKeWNnUHlCM2NtRndjR1Z5VG1GdFpTQXJJRndpS0Z3aUlDc2dablZ1WTNScGIyNU9ZVzFsSUNzZ1hDSXBYQ0lnT2lCM2NtRndjR1Z5VG1GdFpTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb2RIbHdaU2tnZTF4dUlDQnBaaUFvZEhsd1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdTRzl6ZENCeWIyOTBMQ0IwWlhoMElHNXZaR1VnYjNJZ2FuVnpkQ0JwYm5aaGJHbGtJSFI1Y0dVdVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjBlWEJsTG5SaFp5QTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldObGFYWmxaQ0JoYmlCMWJtVjRjR1ZqZEdWa0lHOWlhbVZqZENCcGJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtDa3VJQ2NnS3lBblZHaHBjeUJwY3lCc2FXdGxiSGtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkSGx3WlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBlWEJsTG1ScGMzQnNZWGxPWVcxbElIeDhJSFI1Y0dVdWJtRnRaU0I4ZkNCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwZVhCbE8xeHVJQ0I5WEc1Y2JpQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnWTJGelpTQlNSVUZEVkY5R1VrRkhUVVZPVkY5VVdWQkZPbHh1SUNBZ0lDQWdjbVYwZFhKdUlDZEdjbUZuYldWdWRDYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMUJQVWxSQlRGOVVXVkJGT2x4dUlDQWdJQ0FnY21WMGRYSnVJQ2RRYjNKMFlXd25PMXh1WEc0Z0lDQWdZMkZ6WlNCU1JVRkRWRjlRVWs5R1NVeEZVbDlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVVISnZabWxzWlhKY0lqdGNibHh1SUNBZ0lHTmhjMlVnVWtWQlExUmZVMVJTU1VOVVgwMVBSRVZmVkZsUVJUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBblUzUnlhV04wVFc5a1pTYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVNlhHNGdJQ0FnSUNCeVpYUjFjbTRnSjFOMWMzQmxibk5sSnp0Y2JseHVJQ0FnSUdOaGMyVWdVa1ZCUTFSZlUxVlRVRVZPVTBWZlRFbFRWRjlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNkVGRYTndaVzV6WlV4cGMzUW5PMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEhsd1pTNGtKSFI1Y0dWdlppa2dlMXh1SUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlEVDA1VVJWaFVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBblEyOXVkR1Y0ZEM1RGIyNXpkVzFsY2ljN1hHNWNiaUFnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRkpQVmtsRVJWSmZWRmxRUlRwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRGIyNTBaWGgwTGxCeWIzWnBaR1Z5Snp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOUdUMUpYUVZKRVgxSkZSbDlVV1ZCRk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1oyVjBWM0poY0hCbFpFNWhiV1VvZEhsd1pTd2dkSGx3WlM1eVpXNWtaWElzSUNkR2IzSjNZWEprVW1WbUp5azdYRzVjYmlBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmVFVWTlQxOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2gwZVhCbExuUjVjR1VwTzF4dVhHNGdJQ0FnSUNCallYTmxJRkpGUVVOVVgwSk1UME5MWDFSWlVFVTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIUjVjR1V1Y21WdVpHVnlLVHRjYmx4dUlDQWdJQ0FnWTJGelpTQlNSVUZEVkY5TVFWcFpYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQjBlWEJsTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ5WlhOdmJIWmxaRlJvWlc1aFlteGxJRDBnY21WbWFXNWxVbVZ6YjJ4MlpXUk1ZWHA1UTI5dGNHOXVaVzUwS0hSb1pXNWhZbXhsS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTnZiSFpsWkZSb1pXNWhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaHlaWE52YkhabFpGUm9aVzVoWW14bEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dVhHNTJZWElnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTUXhJRDBnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNdVVtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaVHRjYmx4dVpuVnVZM1JwYjI0Z1pHVnpZM0pwWW1WR2FXSmxjaWhtYVdKbGNpa2dlMXh1SUNCemQybDBZMmdnS0dacFltVnlMblJoWnlrZ2UxeHVJQ0FnSUdOaGMyVWdTRzl6ZEZKdmIzUTZYRzRnSUNBZ1kyRnpaU0JJYjNOMFVHOXlkR0ZzT2x4dUlDQWdJR05oYzJVZ1NHOXpkRlJsZUhRNlhHNGdJQ0FnWTJGelpTQkdjbUZuYldWdWREcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUlFjbTkyYVdSbGNqcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUkRiMjV6ZFcxbGNqcGNiaUFnSUNBZ0lISmxkSFZ5YmlBbkp6dGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCMllYSWdiM2R1WlhJZ1BTQm1hV0psY2k1ZlpHVmlkV2RQZDI1bGNqdGNiaUFnSUNBZ0lIWmhjaUJ6YjNWeVkyVWdQU0JtYVdKbGNpNWZaR1ZpZFdkVGIzVnlZMlU3WEc0Z0lDQWdJQ0IyWVhJZ2JtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCMllYSWdiM2R1WlhKT1lXMWxJRDBnYm5Wc2JEdGNibHh1SUNBZ0lDQWdhV1lnS0c5M2JtVnlLU0I3WEc0Z0lDQWdJQ0FnSUc5M2JtVnlUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb2IzZHVaWEl1ZEhsd1pTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQmtaWE5qY21saVpVTnZiWEJ2Ym1WdWRFWnlZVzFsS0c1aGJXVXNJSE52ZFhKalpTd2diM2R1WlhKT1lXMWxLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCblpYUlRkR0ZqYTBKNVJtbGlaWEpKYmtSbGRrRnVaRkJ5YjJRb2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdkbUZ5SUdsdVptOGdQU0FuSnp0Y2JpQWdkbUZ5SUc1dlpHVWdQU0IzYjNKclNXNVFjbTluY21WemN6dGNibHh1SUNCa2J5QjdYRzRnSUNBZ2FXNW1ieUFyUFNCa1pYTmpjbWxpWlVacFltVnlLRzV2WkdVcE8xeHVJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdmU0IzYUdsc1pTQW9ibTlrWlNrN1hHNWNiaUFnY21WMGRYSnVJR2x1Wm04N1hHNTlYRzUyWVhJZ1kzVnljbVZ1ZENBOUlHNTFiR3c3WEc1MllYSWdhWE5TWlc1a1pYSnBibWNnUFNCbVlXeHpaVHRjYm1aMWJtTjBhVzl1SUdkbGRFTjFjbkpsYm5SR2FXSmxjazkzYm1WeVRtRnRaVWx1UkdWMlQzSk9kV3hzS0NrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnZkMjVsY2lBOUlHTjFjbkpsYm5RdVgyUmxZblZuVDNkdVpYSTdYRzVjYmlBZ0lDQnBaaUFvYjNkdVpYSWdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JRzkzYm1WeUlDRTlQU0FuZFc1a1pXWnBibVZrSnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvYjNkdVpYSXVkSGx3WlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5WEc1bWRXNWpkR2x2YmlCblpYUkRkWEp5Wlc1MFJtbGlaWEpUZEdGamEwbHVSR1YyS0NrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuSnp0Y2JpQWdJQ0I5SUM4dklGTmhabVVnWW1WallYVnpaU0JwWmlCamRYSnlaVzUwSUdacFltVnlJR1Y0YVhOMGN5d2dkMlVnWVhKbElISmxZMjl1WTJsc2FXNW5MRnh1SUNBZ0lDOHZJR0Z1WkNCcGRDQnBjeUJuZFdGeVlXNTBaV1ZrSUhSdklHSmxJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUhabGNuTnBiMjR1WEc1Y2JseHVJQ0FnSUhKbGRIVnliaUJuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvWTNWeWNtVnVkQ2s3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhKbGMyVjBRM1Z5Y21WdWRFWnBZbVZ5S0NrZ2UxeHVJQ0I3WEc0Z0lDQWdVbVZoWTNSRVpXSjFaME4xY25KbGJuUkdjbUZ0WlNReExtZGxkRU4xY25KbGJuUlRkR0ZqYXlBOUlHNTFiR3c3WEc0Z0lDQWdZM1Z5Y21WdWRDQTlJRzUxYkd3N1hHNGdJQ0FnYVhOU1pXNWtaWEpwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MyVjBRM1Z5Y21WdWRFWnBZbVZ5S0dacFltVnlLU0I3WEc0Z0lIdGNiaUFnSUNCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxKREV1WjJWMFEzVnljbVZ1ZEZOMFlXTnJJRDBnWjJWMFEzVnljbVZ1ZEVacFltVnlVM1JoWTJ0SmJrUmxkanRjYmlBZ0lDQmpkWEp5Wlc1MElEMGdabWxpWlhJN1hHNGdJQ0FnYVhOU1pXNWtaWEpwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MyVjBTWE5TWlc1a1pYSnBibWNvY21WdVpHVnlhVzVuS1NCN1hHNGdJSHRjYmlBZ0lDQnBjMUpsYm1SbGNtbHVaeUE5SUhKbGJtUmxjbWx1Wnp0Y2JpQWdmVnh1ZlZ4dVhHNHZMeUJHYkc5M0lHUnZaWE1nYm05MElHRnNiRzkzSUhOMGNtbHVaeUJqYjI1allYUmxibUYwYVc5dUlHOW1JRzF2YzNRZ2JtOXVMWE4wY21sdVp5QjBlWEJsY3k0Z1ZHOGdkMjl5YTF4dUx5OGdZWEp2ZFc1a0lIUm9hWE1nYkdsdGFYUmhkR2x2Yml3Z2QyVWdkWE5sSUdGdUlHOXdZWEYxWlNCMGVYQmxJSFJvWVhRZ1kyRnVJRzl1YkhrZ1ltVWdiMkowWVdsdVpXUWdZbmxjYmk4dklIQmhjM05wYm1jZ2RHaGxJSFpoYkhWbElIUm9jbTkxWjJnZ1oyVjBWRzlUZEhKcGJtZFdZV3gxWlNCbWFYSnpkQzVjYm1aMWJtTjBhVzl1SUhSdlUzUnlhVzVuS0haaGJIVmxLU0I3WEc0Z0lISmxkSFZ5YmlBbkp5QXJJSFpoYkhWbE8xeHVmVnh1Wm5WdVkzUnBiMjRnWjJWMFZHOVRkSEpwYm1kV1lXeDFaU2gyWVd4MVpTa2dlMXh1SUNCemQybDBZMmdnS0hSNWNHVnZaaUIyWVd4MVpTa2dlMXh1SUNBZ0lHTmhjMlVnSjJKdmIyeGxZVzRuT2x4dUlDQWdJR05oYzJVZ0oyNTFiV0psY2ljNlhHNGdJQ0FnWTJGelpTQW5iMkpxWldOMEp6cGNiaUFnSUNCallYTmxJQ2R6ZEhKcGJtY25PbHh1SUNBZ0lHTmhjMlVnSjNWdVpHVm1hVzVsWkNjNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzVjYmlBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0x5OGdablZ1WTNScGIyNHNJSE41YldKdmJDQmhjbVVnWVhOemFXZHVaV1FnWVhNZ1pXMXdkSGtnYzNSeWFXNW5jMXh1SUNBZ0lDQWdjbVYwZFhKdUlDY25PMXh1SUNCOVhHNTlYRzVjYm5aaGNpQlNaV0ZqZEVSbFluVm5RM1Z5Y21WdWRFWnlZVzFsSkRJZ1BTQnVkV3hzTzF4dWRtRnlJRkpsWVdOMFEyOXVkSEp2Ykd4bFpGWmhiSFZsVUhKdmNGUjVjR1Z6SUQwZ2UxeHVJQ0JqYUdWamExQnliM0JVZVhCbGN6b2diblZzYkZ4dWZUdGNibHh1ZTF4dUlDQlNaV0ZqZEVSbFluVm5RM1Z5Y21WdWRFWnlZVzFsSkRJZ1BTQlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVTWldGamRFUmxZblZuUTNWeWNtVnVkRVp5WVcxbE8xeHVJQ0IyWVhJZ2FHRnpVbVZoWkU5dWJIbFdZV3gxWlNBOUlIdGNiaUFnSUNCaWRYUjBiMjQ2SUhSeWRXVXNYRzRnSUNBZ1kyaGxZMnRpYjNnNklIUnlkV1VzWEc0Z0lDQWdhVzFoWjJVNklIUnlkV1VzWEc0Z0lDQWdhR2xrWkdWdU9pQjBjblZsTEZ4dUlDQWdJSEpoWkdsdk9pQjBjblZsTEZ4dUlDQWdJSEpsYzJWME9pQjBjblZsTEZ4dUlDQWdJSE4xWW0xcGREb2dkSEoxWlZ4dUlDQjlPMXh1SUNCMllYSWdjSEp2Y0ZSNWNHVnpJRDBnZTF4dUlDQWdJSFpoYkhWbE9pQm1kVzVqZEdsdmJpQW9jSEp2Y0hNc0lIQnliM0JPWVcxbExDQmpiMjF3YjI1bGJuUk9ZVzFsS1NCN1hHNGdJQ0FnSUNCcFppQW9hR0Z6VW1WaFpFOXViSGxXWVd4MVpWdHdjbTl3Y3k1MGVYQmxYU0I4ZkNCd2NtOXdjeTV2YmtOb1lXNW5aU0I4ZkNCd2NtOXdjeTV5WldGa1QyNXNlU0I4ZkNCd2NtOXdjeTVrYVhOaFlteGxaQ0I4ZkNCd2NtOXdjMXR3Y205d1RtRnRaVjBnUFQwZ2JuVnNiQ0I4ZkNCbGJtRmliR1ZFWlhCeVpXTmhkR1ZrUm14aGNtVkJVRWtnS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdibVYzSUVWeWNtOXlLQ2RaYjNVZ2NISnZkbWxrWldRZ1lTQmdkbUZzZFdWZ0lIQnliM0FnZEc4Z1lTQm1iM0p0SUdacFpXeGtJSGRwZEdodmRYUWdZVzRnSnlBcklDZGdiMjVEYUdGdVoyVmdJR2hoYm1Sc1pYSXVJRlJvYVhNZ2QybHNiQ0J5Wlc1a1pYSWdZU0J5WldGa0xXOXViSGtnWm1sbGJHUXVJRWxtSUNjZ0t5QW5kR2hsSUdacFpXeGtJSE5vYjNWc1pDQmlaU0J0ZFhSaFlteGxJSFZ6WlNCZ1pHVm1ZWFZzZEZaaGJIVmxZQzRnVDNSb1pYSjNhWE5sTENBbklDc2dKM05sZENCbGFYUm9aWElnWUc5dVEyaGhibWRsWUNCdmNpQmdjbVZoWkU5dWJIbGdMaWNwTzF4dUlDQWdJSDBzWEc0Z0lDQWdZMmhsWTJ0bFpEb2dablZ1WTNScGIyNGdLSEJ5YjNCekxDQndjbTl3VG1GdFpTd2dZMjl0Y0c5dVpXNTBUbUZ0WlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSEJ5YjNCekxtOXVRMmhoYm1kbElIeDhJSEJ5YjNCekxuSmxZV1JQYm14NUlIeDhJSEJ5YjNCekxtUnBjMkZpYkdWa0lIeDhJSEJ5YjNCelczQnliM0JPWVcxbFhTQTlQU0J1ZFd4c0lIeDhJR1Z1WVdKc1pVUmxjSEpsWTJGMFpXUkdiR0Z5WlVGUVNTQXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdVpYY2dSWEp5YjNJb0oxbHZkU0J3Y205MmFXUmxaQ0JoSUdCamFHVmphMlZrWUNCd2NtOXdJSFJ2SUdFZ1ptOXliU0JtYVdWc1pDQjNhWFJvYjNWMElHRnVJQ2NnS3lBbllHOXVRMmhoYm1kbFlDQm9ZVzVrYkdWeUxpQlVhR2x6SUhkcGJHd2djbVZ1WkdWeUlHRWdjbVZoWkMxdmJteDVJR1pwWld4a0xpQkpaaUFuSUNzZ0ozUm9aU0JtYVdWc1pDQnphRzkxYkdRZ1ltVWdiWFYwWVdKc1pTQjFjMlVnWUdSbFptRjFiSFJEYUdWamEyVmtZQzRnVDNSb1pYSjNhWE5sTENBbklDc2dKM05sZENCbGFYUm9aWElnWUc5dVEyaGhibWRsWUNCdmNpQmdjbVZoWkU5dWJIbGdMaWNwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnTHlvcVhHNGdJQ0FxSUZCeWIzWnBaR1VnWVNCc2FXNXJaV1FnWUhaaGJIVmxZQ0JoZEhSeWFXSjFkR1VnWm05eUlHTnZiblJ5YjJ4c1pXUWdabTl5YlhNdUlGbHZkU0J6YUc5MWJHUWdibTkwSUhWelpWeHVJQ0FnS2lCMGFHbHpJRzkxZEhOcFpHVWdiMllnZEdobElGSmxZV04wUkU5TklHTnZiblJ5YjJ4c1pXUWdabTl5YlNCamIyMXdiMjVsYm5SekxseHVJQ0FnS2k5Y2JseHVJQ0JTWldGamRFTnZiblJ5YjJ4c1pXUldZV3gxWlZCeWIzQlVlWEJsY3k1amFHVmphMUJ5YjNCVWVYQmxjeUE5SUdaMWJtTjBhVzl1SUNoMFlXZE9ZVzFsTENCd2NtOXdjeWtnZTF4dUlDQWdJR05vWldOclVISnZjRlI1Y0dWektIQnliM0JVZVhCbGN5d2djSEp2Y0hNc0lDZHdjbTl3Snl3Z2RHRm5UbUZ0WlN3Z1VtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaU1F5TG1kbGRGTjBZV05yUVdSa1pXNWtkVzBwTzF4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBjME5vWldOcllXSnNaU2hsYkdWdEtTQjdYRzRnSUhaaGNpQjBlWEJsSUQwZ1pXeGxiUzUwZVhCbE8xeHVJQ0IyWVhJZ2JtOWtaVTVoYldVZ1BTQmxiR1Z0TG01dlpHVk9ZVzFsTzF4dUlDQnlaWFIxY200Z2JtOWtaVTVoYldVZ0ppWWdibTlrWlU1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1NBOVBUMGdKMmx1Y0hWMEp5QW1KaUFvZEhsd1pTQTlQVDBnSjJOb1pXTnJZbTk0SnlCOGZDQjBlWEJsSUQwOVBTQW5jbUZrYVc4bktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWSEpoWTJ0bGNpaHViMlJsS1NCN1hHNGdJSEpsZEhWeWJpQnViMlJsTGw5MllXeDFaVlJ5WVdOclpYSTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUmxkR0ZqYUZSeVlXTnJaWElvYm05a1pTa2dlMXh1SUNCdWIyUmxMbDkyWVd4MVpWUnlZV05yWlhJZ1BTQnVkV3hzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSV1lXeDFaVVp5YjIxT2IyUmxLRzV2WkdVcElIdGNiaUFnZG1GeUlIWmhiSFZsSUQwZ0p5YzdYRzVjYmlBZ2FXWWdLQ0Z1YjJSbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHbHpRMmhsWTJ0aFlteGxLRzV2WkdVcEtTQjdYRzRnSUNBZ2RtRnNkV1VnUFNCdWIyUmxMbU5vWldOclpXUWdQeUFuZEhKMVpTY2dPaUFuWm1Gc2MyVW5PMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoYkhWbElEMGdibTlrWlM1MllXeDFaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIyWVd4MVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RISmhZMnRXWVd4MVpVOXVUbTlrWlNodWIyUmxLU0I3WEc0Z0lIWmhjaUIyWVd4MVpVWnBaV3hrSUQwZ2FYTkRhR1ZqYTJGaWJHVW9ibTlrWlNrZ1B5QW5ZMmhsWTJ0bFpDY2dPaUFuZG1Gc2RXVW5PMXh1SUNCMllYSWdaR1Z6WTNKcGNIUnZjaUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9ibTlrWlM1amIyNXpkSEoxWTNSdmNpNXdjbTkwYjNSNWNHVXNJSFpoYkhWbFJtbGxiR1FwTzF4dUlDQjJZWElnWTNWeWNtVnVkRlpoYkhWbElEMGdKeWNnS3lCdWIyUmxXM1poYkhWbFJtbGxiR1JkT3lBdkx5QnBaaUJ6YjIxbGIyNWxJR2hoY3lCaGJISmxZV1I1SUdSbFptbHVaV1FnWVNCMllXeDFaU0J2Y2lCVFlXWmhjbWtzSUhSb1pXNGdZbUZwYkZ4dUlDQXZMeUJoYm1RZ1pHOXVKM1FnZEhKaFkyc2dkbUZzZFdVZ2QybHNiQ0JqWVhWelpTQnZkbVZ5SUhKbGNHOXlkR2x1WnlCdlppQmphR0Z1WjJWekxGeHVJQ0F2THlCaWRYUWdhWFFuY3lCaVpYUjBaWElnZEdobGJpQmhJR2hoY21RZ1ptRnBiSFZ5WlZ4dUlDQXZMeUFvYm1WbFpHVmtJR1p2Y2lCalpYSjBZV2x1SUhSbGMzUnpJSFJvWVhRZ2MzQjVUMjRnYVc1d2RYUWdkbUZzZFdWeklHRnVaQ0JUWVdaaGNta3BYRzVjYmlBZ2FXWWdLRzV2WkdVdWFHRnpUM2R1VUhKdmNHVnlkSGtvZG1Gc2RXVkdhV1ZzWkNrZ2ZId2dkSGx3Wlc5bUlHUmxjMk55YVhCMGIzSWdQVDA5SUNkMWJtUmxabWx1WldRbklIeDhJSFI1Y0dWdlppQmtaWE5qY21sd2RHOXlMbWRsZENBaFBUMGdKMloxYm1OMGFXOXVKeUI4ZkNCMGVYQmxiMllnWkdWelkzSnBjSFJ2Y2k1elpYUWdJVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCMllYSWdaMlYwSUQwZ1pHVnpZM0pwY0hSdmNpNW5aWFFzWEc0Z0lDQWdJQ0J6WlhRZ1BTQmtaWE5qY21sd2RHOXlMbk5sZER0Y2JpQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0c1dlpHVXNJSFpoYkhWbFJtbGxiR1FzSUh0Y2JpQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklIUnlkV1VzWEc0Z0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1oyVjBMbU5oYkd3b2RHaHBjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQnpaWFE2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRlpoYkhWbElEMGdKeWNnS3lCMllXeDFaVHRjYmlBZ0lDQWdJSE5sZEM1allXeHNLSFJvYVhNc0lIWmhiSFZsS1R0Y2JpQWdJQ0I5WEc0Z0lIMHBPeUF2THlCWFpTQmpiM1ZzWkNkMlpTQndZWE56WldRZ2RHaHBjeUIwYUdVZ1ptbHljM1FnZEdsdFpWeHVJQ0F2THlCaWRYUWdhWFFnZEhKcFoyZGxjbk1nWVNCaWRXY2dhVzRnU1VVeE1TQmhibVFnUldSblpTQXhOQzh4TlM1Y2JpQWdMeThnUTJGc2JHbHVaeUJrWldacGJtVlFjbTl3WlhKMGVTZ3BJR0ZuWVdsdUlITm9iM1ZzWkNCaVpTQmxjWFZwZG1Gc1pXNTBMbHh1SUNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZabUZqWldKdmIyc3ZjbVZoWTNRdmFYTnpkV1Z6THpFeE56WTRYRzVjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzV2WkdVc0lIWmhiSFZsUm1sbGJHUXNJSHRjYmlBZ0lDQmxiblZ0WlhKaFlteGxPaUJrWlhOamNtbHdkRzl5TG1WdWRXMWxjbUZpYkdWY2JpQWdmU2s3WEc0Z0lIWmhjaUIwY21GamEyVnlJRDBnZTF4dUlDQWdJR2RsZEZaaGJIVmxPaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNWeWNtVnVkRlpoYkhWbE8xeHVJQ0FnSUgwc1hHNGdJQ0FnYzJWMFZtRnNkV1U2SUdaMWJtTjBhVzl1SUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRlpoYkhWbElEMGdKeWNnS3lCMllXeDFaVHRjYmlBZ0lDQjlMRnh1SUNBZ0lITjBiM0JVY21GamEybHVaem9nWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1pHVjBZV05vVkhKaFkydGxjaWh1YjJSbEtUdGNiaUFnSUNBZ0lHUmxiR1YwWlNCdWIyUmxXM1poYkhWbFJtbGxiR1JkTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnY21WMGRYSnVJSFJ5WVdOclpYSTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIUnlZV05yS0c1dlpHVXBJSHRjYmlBZ2FXWWdLR2RsZEZSeVlXTnJaWElvYm05a1pTa3BJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDBnTHk4Z1ZFOUVUem9nVDI1alpTQnBkQ2R6SUdwMWMzUWdSbWxpWlhJZ2QyVWdZMkZ1SUcxdmRtVWdkR2hwY3lCMGJ5QnViMlJsTGw5M2NtRndjR1Z5VTNSaGRHVmNibHh1WEc0Z0lHNXZaR1V1WDNaaGJIVmxWSEpoWTJ0bGNpQTlJSFJ5WVdOclZtRnNkV1ZQYms1dlpHVW9ibTlrWlNrN1hHNTlYRzVtZFc1amRHbHZiaUIxY0dSaGRHVldZV3gxWlVsbVEyaGhibWRsWkNodWIyUmxLU0I3WEc0Z0lHbG1JQ2doYm05a1pTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQjBjbUZqYTJWeUlEMGdaMlYwVkhKaFkydGxjaWh1YjJSbEtUc2dMeThnYVdZZ2RHaGxjbVVnYVhNZ2JtOGdkSEpoWTJ0bGNpQmhkQ0IwYUdseklIQnZhVzUwSUdsMEozTWdkVzVzYVd0bGJIbGNiaUFnTHk4Z2RHaGhkQ0IwY25scGJtY2dZV2RoYVc0Z2QybHNiQ0J6ZFdOalpXVmtYRzVjYmlBZ2FXWWdLQ0YwY21GamEyVnlLU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCMllYSWdiR0Z6ZEZaaGJIVmxJRDBnZEhKaFkydGxjaTVuWlhSV1lXeDFaU2dwTzF4dUlDQjJZWElnYm1WNGRGWmhiSFZsSUQwZ1oyVjBWbUZzZFdWR2NtOXRUbTlrWlNodWIyUmxLVHRjYmx4dUlDQnBaaUFvYm1WNGRGWmhiSFZsSUNFOVBTQnNZWE4wVm1Gc2RXVXBJSHRjYmlBZ0lDQjBjbUZqYTJWeUxuTmxkRlpoYkhWbEtHNWxlSFJXWVd4MVpTazdYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVjYm5aaGNpQmthV1JYWVhKdVZtRnNkV1ZFWldaaGRXeDBWbUZzZFdVZ1BTQm1ZV3h6WlR0Y2JuWmhjaUJrYVdSWFlYSnVRMmhsWTJ0bFpFUmxabUYxYkhSRGFHVmphMlZrSUQwZ1ptRnNjMlU3WEc1MllYSWdaR2xrVjJGeWJrTnZiblJ5YjJ4c1pXUlViMVZ1WTI5dWRISnZiR3hsWkNBOUlHWmhiSE5sTzF4dWRtRnlJR1JwWkZkaGNtNVZibU52Ym5SeWIyeHNaV1JVYjBOdmJuUnliMnhzWldRZ1BTQm1ZV3h6WlR0Y2JseHVablZ1WTNScGIyNGdhWE5EYjI1MGNtOXNiR1ZrS0hCeWIzQnpLU0I3WEc0Z0lIWmhjaUIxYzJWelEyaGxZMnRsWkNBOUlIQnliM0J6TG5SNWNHVWdQVDA5SUNkamFHVmphMkp2ZUNjZ2ZId2djSEp2Y0hNdWRIbHdaU0E5UFQwZ0ozSmhaR2x2Snp0Y2JpQWdjbVYwZFhKdUlIVnpaWE5EYUdWamEyVmtJRDhnY0hKdmNITXVZMmhsWTJ0bFpDQWhQU0J1ZFd4c0lEb2djSEp2Y0hNdWRtRnNkV1VnSVQwZ2JuVnNiRHRjYm4xY2JpOHFLbHh1SUNvZ1NXMXdiR1Z0Wlc1MGN5QmhiaUE4YVc1d2RYUStJR2h2YzNRZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnWVd4c2IzZHpJSE5sZEhScGJtY2dkR2hsYzJVZ2IzQjBhVzl1WVd4Y2JpQXFJSEJ5YjNCek9pQmdZMmhsWTJ0bFpHQXNJR0IyWVd4MVpXQXNJR0JrWldaaGRXeDBRMmhsWTJ0bFpHQXNJR0Z1WkNCZ1pHVm1ZWFZzZEZaaGJIVmxZQzVjYmlBcVhHNGdLaUJKWmlCZ1kyaGxZMnRsWkdBZ2IzSWdZSFpoYkhWbFlDQmhjbVVnYm05MElITjFjSEJzYVdWa0lDaHZjaUJ1ZFd4c0wzVnVaR1ZtYVc1bFpDa3NJSFZ6WlhJZ1lXTjBhVzl1YzF4dUlDb2dkR2hoZENCaFptWmxZM1FnZEdobElHTm9aV05yWldRZ2MzUmhkR1VnYjNJZ2RtRnNkV1VnZDJsc2JDQjBjbWxuWjJWeUlIVndaR0YwWlhNZ2RHOGdkR2hsSUdWc1pXMWxiblF1WEc0Z0tseHVJQ29nU1dZZ2RHaGxlU0JoY21VZ2MzVndjR3hwWldRZ0tHRnVaQ0J1YjNRZ2JuVnNiQzkxYm1SbFptbHVaV1FwTENCMGFHVWdjbVZ1WkdWeVpXUWdaV3hsYldWdWRDQjNhV3hzSUc1dmRGeHVJQ29nZEhKcFoyZGxjaUIxY0dSaGRHVnpJSFJ2SUhSb1pTQmxiR1Z0Wlc1MExpQkpibk4wWldGa0xDQjBhR1VnY0hKdmNITWdiWFZ6ZENCamFHRnVaMlVnYVc0Z2IzSmtaWElnWm05eVhHNGdLaUIwYUdVZ2NtVnVaR1Z5WldRZ1pXeGxiV1Z1ZENCMGJ5QmlaU0IxY0dSaGRHVmtMbHh1SUNwY2JpQXFJRlJvWlNCeVpXNWtaWEpsWkNCbGJHVnRaVzUwSUhkcGJHd2dZbVVnYVc1cGRHbGhiR2w2WldRZ1lYTWdkVzVqYUdWamEyVmtJQ2h2Y2lCZ1pHVm1ZWFZzZEVOb1pXTnJaV1JnS1Z4dUlDb2dkMmwwYUNCaGJpQmxiWEIwZVNCMllXeDFaU0FvYjNJZ1lHUmxabUYxYkhSV1lXeDFaV0FwTGx4dUlDcGNiaUFxSUZObFpTQm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTh5TURFeUwxZEVMV2gwYld3MUxUSXdNVEl4TURJMUwzUm9aUzFwYm5CMWRDMWxiR1Z0Wlc1MExtaDBiV3hjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFaHZjM1JRY205d2N5aGxiR1Z0Wlc1MExDQndjbTl3Y3lrZ2UxeHVJQ0IyWVhJZ2JtOWtaU0E5SUdWc1pXMWxiblE3WEc0Z0lIWmhjaUJqYUdWamEyVmtJRDBnY0hKdmNITXVZMmhsWTJ0bFpEdGNibHh1SUNCMllYSWdhRzl6ZEZCeWIzQnpJRDBnWDJGemMybG5iaWg3ZlN3Z2NISnZjSE1zSUh0Y2JpQWdJQ0JrWldaaGRXeDBRMmhsWTJ0bFpEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lHUmxabUYxYkhSV1lXeDFaVG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJSFpoYkhWbE9pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ1kyaGxZMnRsWkRvZ1kyaGxZMnRsWkNBaFBTQnVkV3hzSUQ4Z1kyaGxZMnRsWkNBNklHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpTNXBibWwwYVdGc1EyaGxZMnRsWkZ4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2FHOXpkRkJ5YjNCek8xeHVmVnh1Wm5WdVkzUnBiMjRnYVc1cGRGZHlZWEJ3WlhKVGRHRjBaU2hsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCN1hHNGdJQ0FnVW1WaFkzUkRiMjUwY205c2JHVmtWbUZzZFdWUWNtOXdWSGx3WlhNdVkyaGxZMnRRY205d1ZIbHdaWE1vSjJsdWNIVjBKeXdnY0hKdmNITXBPMXh1WEc0Z0lDQWdhV1lnS0hCeWIzQnpMbU5vWldOclpXUWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQndjbTl3Y3k1a1pXWmhkV3gwUTJobFkydGxaQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JQ0ZrYVdSWFlYSnVRMmhsWTJ0bFpFUmxabUYxYkhSRGFHVmphMlZrS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduSlhNZ1kyOXVkR0ZwYm5NZ1lXNGdhVzV3ZFhRZ2IyWWdkSGx3WlNBbGN5QjNhWFJvSUdKdmRHZ2dZMmhsWTJ0bFpDQmhibVFnWkdWbVlYVnNkRU5vWldOclpXUWdjSEp2Y0hNdUlDY2dLeUFuU1c1d2RYUWdaV3hsYldWdWRITWdiWFZ6ZENCaVpTQmxhWFJvWlhJZ1kyOXVkSEp2Ykd4bFpDQnZjaUIxYm1OdmJuUnliMnhzWldRZ0p5QXJJQ2NvYzNCbFkybG1lU0JsYVhSb1pYSWdkR2hsSUdOb1pXTnJaV1FnY0hKdmNDd2diM0lnZEdobElHUmxabUYxYkhSRGFHVmphMlZrSUhCeWIzQXNJR0oxZENCdWIzUWdKeUFySUNkaWIzUm9LUzRnUkdWamFXUmxJR0psZEhkbFpXNGdkWE5wYm1jZ1lTQmpiMjUwY205c2JHVmtJRzl5SUhWdVkyOXVkSEp2Ykd4bFpDQnBibkIxZENBbklDc2dKMlZzWlcxbGJuUWdZVzVrSUhKbGJXOTJaU0J2Ym1VZ2IyWWdkR2hsYzJVZ2NISnZjSE11SUUxdmNtVWdhVzVtYnpvZ0p5QXJJQ2RvZEhSd2N6b3ZMMlppTG0xbEwzSmxZV04wTFdOdmJuUnliMnhzWldRdFkyOXRjRzl1Wlc1MGN5Y3NJR2RsZEVOMWNuSmxiblJHYVdKbGNrOTNibVZ5VG1GdFpVbHVSR1YyVDNKT2RXeHNLQ2tnZkh3Z0owRWdZMjl0Y0c5dVpXNTBKeXdnY0hKdmNITXVkSGx3WlNrN1hHNWNiaUFnSUNBZ0lHUnBaRmRoY201RGFHVmphMlZrUkdWbVlYVnNkRU5vWldOclpXUWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3Y3k1MllXeDFaU0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JSEJ5YjNCekxtUmxabUYxYkhSV1lXeDFaU0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JQ0ZrYVdSWFlYSnVWbUZzZFdWRVpXWmhkV3gwVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDY2xjeUJqYjI1MFlXbHVjeUJoYmlCcGJuQjFkQ0J2WmlCMGVYQmxJQ1Z6SUhkcGRHZ2dZbTkwYUNCMllXeDFaU0JoYm1RZ1pHVm1ZWFZzZEZaaGJIVmxJSEJ5YjNCekxpQW5JQ3NnSjBsdWNIVjBJR1ZzWlcxbGJuUnpJRzExYzNRZ1ltVWdaV2wwYUdWeUlHTnZiblJ5YjJ4c1pXUWdiM0lnZFc1amIyNTBjbTlzYkdWa0lDY2dLeUFuS0hOd1pXTnBabmtnWldsMGFHVnlJSFJvWlNCMllXeDFaU0J3Y205d0xDQnZjaUIwYUdVZ1pHVm1ZWFZzZEZaaGJIVmxJSEJ5YjNBc0lHSjFkQ0J1YjNRZ0p5QXJJQ2RpYjNSb0tTNGdSR1ZqYVdSbElHSmxkSGRsWlc0Z2RYTnBibWNnWVNCamIyNTBjbTlzYkdWa0lHOXlJSFZ1WTI5dWRISnZiR3hsWkNCcGJuQjFkQ0FuSUNzZ0oyVnNaVzFsYm5RZ1lXNWtJSEpsYlc5MlpTQnZibVVnYjJZZ2RHaGxjMlVnY0hKdmNITXVJRTF2Y21VZ2FXNW1iem9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV052Ym5SeWIyeHNaV1F0WTI5dGNHOXVaVzUwY3ljc0lHZGxkRU4xY25KbGJuUkdhV0psY2s5M2JtVnlUbUZ0WlVsdVJHVjJUM0pPZFd4c0tDa2dmSHdnSjBFZ1kyOXRjRzl1Wlc1MEp5d2djSEp2Y0hNdWRIbHdaU2s3WEc1Y2JpQWdJQ0FnSUdScFpGZGhjbTVXWVd4MVpVUmxabUYxYkhSV1lXeDFaU0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1dlpHVWdQU0JsYkdWdFpXNTBPMXh1SUNCMllYSWdaR1ZtWVhWc2RGWmhiSFZsSUQwZ2NISnZjSE11WkdWbVlYVnNkRlpoYkhWbElEMDlJRzUxYkd3Z1B5QW5KeUE2SUhCeWIzQnpMbVJsWm1GMWJIUldZV3gxWlR0Y2JpQWdibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxJRDBnZTF4dUlDQWdJR2x1YVhScFlXeERhR1ZqYTJWa09pQndjbTl3Y3k1amFHVmphMlZrSUNFOUlHNTFiR3dnUHlCd2NtOXdjeTVqYUdWamEyVmtJRG9nY0hKdmNITXVaR1ZtWVhWc2RFTm9aV05yWldRc1hHNGdJQ0FnYVc1cGRHbGhiRlpoYkhWbE9pQm5aWFJVYjFOMGNtbHVaMVpoYkhWbEtIQnliM0J6TG5aaGJIVmxJQ0U5SUc1MWJHd2dQeUJ3Y205d2N5NTJZV3gxWlNBNklHUmxabUYxYkhSV1lXeDFaU2tzWEc0Z0lDQWdZMjl1ZEhKdmJHeGxaRG9nYVhORGIyNTBjbTlzYkdWa0tIQnliM0J6S1Z4dUlDQjlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsUTJobFkydGxaQ2hsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN1hHNGdJSFpoY2lCamFHVmphMlZrSUQwZ2NISnZjSE11WTJobFkydGxaRHRjYmx4dUlDQnBaaUFvWTJobFkydGxaQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdjMlYwVm1Gc2RXVkdiM0pRY205d1pYSjBlU2h1YjJSbExDQW5ZMmhsWTJ0bFpDY3NJR05vWldOclpXUXNJR1poYkhObEtUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdkWEJrWVhSbFYzSmhjSEJsY2lobGJHVnRaVzUwTENCd2NtOXdjeWtnZTF4dUlDQjJZWElnYm05a1pTQTlJR1ZzWlcxbGJuUTdYRzVjYmlBZ2UxeHVJQ0FnSUhaaGNpQmpiMjUwY205c2JHVmtJRDBnYVhORGIyNTBjbTlzYkdWa0tIQnliM0J6S1R0Y2JseHVJQ0FnSUdsbUlDZ2hibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxMbU52Ym5SeWIyeHNaV1FnSmlZZ1kyOXVkSEp2Ykd4bFpDQW1KaUFoWkdsa1YyRnlibFZ1WTI5dWRISnZiR3hsWkZSdlEyOXVkSEp2Ykd4bFpDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owRWdZMjl0Y0c5dVpXNTBJR2x6SUdOb1lXNW5hVzVuSUdGdUlIVnVZMjl1ZEhKdmJHeGxaQ0JwYm5CMWRDQnZaaUIwZVhCbElDVnpJSFJ2SUdKbElHTnZiblJ5YjJ4c1pXUXVJQ2NnS3lBblNXNXdkWFFnWld4bGJXVnVkSE1nYzJodmRXeGtJRzV2ZENCemQybDBZMmdnWm5KdmJTQjFibU52Ym5SeWIyeHNaV1FnZEc4Z1kyOXVkSEp2Ykd4bFpDQW9iM0lnZG1salpTQjJaWEp6WVNrdUlDY2dLeUFuUkdWamFXUmxJR0psZEhkbFpXNGdkWE5wYm1jZ1lTQmpiMjUwY205c2JHVmtJRzl5SUhWdVkyOXVkSEp2Ykd4bFpDQnBibkIxZENBbklDc2dKMlZzWlcxbGJuUWdabTl5SUhSb1pTQnNhV1psZEdsdFpTQnZaaUIwYUdVZ1kyOXRjRzl1Wlc1MExpQk5iM0psSUdsdVptODZJR2gwZEhCek9pOHZabUl1YldVdmNtVmhZM1F0WTI5dWRISnZiR3hsWkMxamIyMXdiMjVsYm5Sekp5d2djSEp2Y0hNdWRIbHdaU2s3WEc1Y2JpQWdJQ0FnSUdScFpGZGhjbTVWYm1OdmJuUnliMnhzWldSVWIwTnZiblJ5YjJ4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHViMlJsTGw5M2NtRndjR1Z5VTNSaGRHVXVZMjl1ZEhKdmJHeGxaQ0FtSmlBaFkyOXVkSEp2Ykd4bFpDQW1KaUFoWkdsa1YyRnlia052Ym5SeWIyeHNaV1JVYjFWdVkyOXVkSEp2Ykd4bFpDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owRWdZMjl0Y0c5dVpXNTBJR2x6SUdOb1lXNW5hVzVuSUdFZ1kyOXVkSEp2Ykd4bFpDQnBibkIxZENCdlppQjBlWEJsSUNWeklIUnZJR0psSUhWdVkyOXVkSEp2Ykd4bFpDNGdKeUFySUNkSmJuQjFkQ0JsYkdWdFpXNTBjeUJ6YUc5MWJHUWdibTkwSUhOM2FYUmphQ0JtY205dElHTnZiblJ5YjJ4c1pXUWdkRzhnZFc1amIyNTBjbTlzYkdWa0lDaHZjaUIyYVdObElIWmxjbk5oS1M0Z0p5QXJJQ2RFWldOcFpHVWdZbVYwZDJWbGJpQjFjMmx1WnlCaElHTnZiblJ5YjJ4c1pXUWdiM0lnZFc1amIyNTBjbTlzYkdWa0lHbHVjSFYwSUNjZ0t5QW5aV3hsYldWdWRDQm1iM0lnZEdobElHeHBabVYwYVcxbElHOW1JSFJvWlNCamIyMXdiMjVsYm5RdUlFMXZjbVVnYVc1bWJ6b2dhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzFqYjI1MGNtOXNiR1ZrTFdOdmJYQnZibVZ1ZEhNbkxDQndjbTl3Y3k1MGVYQmxLVHRjYmx4dUlDQWdJQ0FnWkdsa1YyRnlia052Ym5SeWIyeHNaV1JVYjFWdVkyOXVkSEp2Ykd4bFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RYQmtZWFJsUTJobFkydGxaQ2hsYkdWdFpXNTBMQ0J3Y205d2N5azdYRzRnSUhaaGNpQjJZV3gxWlNBOUlHZGxkRlJ2VTNSeWFXNW5WbUZzZFdVb2NISnZjSE11ZG1Gc2RXVXBPMXh1SUNCMllYSWdkSGx3WlNBOUlIQnliM0J6TG5SNWNHVTdYRzVjYmlBZ2FXWWdLSFpoYkhWbElDRTlJRzUxYkd3cElIdGNiaUFnSUNCcFppQW9kSGx3WlNBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU0E5UFQwZ01DQW1KaUJ1YjJSbExuWmhiSFZsSUQwOVBTQW5KeUI4ZkNBdkx5QlhaU0JsZUhCc2FXTnBkR3g1SUhkaGJuUWdkRzhnWTI5bGNtTmxJSFJ2SUc1MWJXSmxjaUJvWlhKbElHbG1JSEJ2YzNOcFlteGxMbHh1SUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxYRzRnSUNBZ0lDQnViMlJsTG5aaGJIVmxJQ0U5SUhaaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUc1dlpHVXVkbUZzZFdVZ1BTQjBiMU4wY21sdVp5aDJZV3gxWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMblpoYkhWbElDRTlQU0IwYjFOMGNtbHVaeWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJRzV2WkdVdWRtRnNkV1VnUFNCMGIxTjBjbWx1WnloMllXeDFaU2s3WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1VnUFQwOUlDZHpkV0p0YVhRbklIeDhJSFI1Y0dVZ1BUMDlJQ2R5WlhObGRDY3BJSHRjYmlBZ0lDQXZMeUJUZFdKdGFYUXZjbVZ6WlhRZ2FXNXdkWFJ6SUc1bFpXUWdkR2hsSUdGMGRISnBZblYwWlNCeVpXMXZkbVZrSUdOdmJYQnNaWFJsYkhrZ2RHOGdZWFp2YVdSY2JpQWdJQ0F2THlCaWJHRnVheTEwWlhoMElHSjFkSFJ2Ym5NdVhHNGdJQ0FnYm05a1pTNXlaVzF2ZG1WQmRIUnlhV0oxZEdVb0ozWmhiSFZsSnlrN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJQzh2SUZkb1pXNGdjM2x1WTJsdVp5QjBhR1VnZG1Gc2RXVWdZWFIwY21saWRYUmxMQ0IwYUdVZ2RtRnNkV1VnWTI5dFpYTWdabkp2YlNCaElHTmhjMk5oWkdVZ2IyWmNiaUFnSUNBdkx5QndjbTl3WlhKMGFXVnpPbHh1SUNBZ0lDOHZJQ0F4TGlCVWFHVWdkbUZzZFdVZ1VtVmhZM1FnY0hKdmNHVnlkSGxjYmlBZ0lDQXZMeUFnTWk0Z1ZHaGxJR1JsWm1GMWJIUldZV3gxWlNCU1pXRmpkQ0J3Y205d1pYSjBlVnh1SUNBZ0lDOHZJQ0F6TGlCUGRHaGxjbmRwYzJVZ2RHaGxjbVVnYzJodmRXeGtJR0psSUc1dklHTm9ZVzVuWlZ4dUlDQWdJR2xtSUNod2NtOXdjeTVvWVhOUGQyNVFjbTl3WlhKMGVTZ25kbUZzZFdVbktTa2dlMXh1SUNBZ0lDQWdjMlYwUkdWbVlYVnNkRlpoYkhWbEtHNXZaR1VzSUhCeWIzQnpMblI1Y0dVc0lIWmhiSFZsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hCeWIzQnpMbWhoYzA5M2JsQnliM0JsY25SNUtDZGtaV1poZFd4MFZtRnNkV1VuS1NrZ2UxeHVJQ0FnSUNBZ2MyVjBSR1ZtWVhWc2RGWmhiSFZsS0c1dlpHVXNJSEJ5YjNCekxuUjVjR1VzSUdkbGRGUnZVM1J5YVc1blZtRnNkV1VvY0hKdmNITXVaR1ZtWVhWc2RGWmhiSFZsS1NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2UxeHVJQ0FnSUM4dklGZG9aVzRnYzNsdVkybHVaeUIwYUdVZ1kyaGxZMnRsWkNCaGRIUnlhV0oxZEdVc0lHbDBJRzl1YkhrZ1kyaGhibWRsY3lCM2FHVnVJR2wwSUc1bFpXUnpYRzRnSUNBZ0x5OGdkRzhnWW1VZ2NtVnRiM1psWkN3Z2MzVmphQ0JoY3lCMGNtRnVjMmwwYVc5dWFXNW5JR1p5YjIwZ1lTQmphR1ZqYTJKdmVDQnBiblJ2SUdFZ2RHVjRkQ0JwYm5CMWRGeHVJQ0FnSUdsbUlDaHdjbTl3Y3k1amFHVmphMlZrSUQwOUlHNTFiR3dnSmlZZ2NISnZjSE11WkdWbVlYVnNkRU5vWldOclpXUWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdibTlrWlM1a1pXWmhkV3gwUTJobFkydGxaQ0E5SUNFaGNISnZjSE11WkdWbVlYVnNkRU5vWldOclpXUTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQndiM04wVFc5MWJuUlhjbUZ3Y0dWeUtHVnNaVzFsYm5Rc0lIQnliM0J6TENCcGMwaDVaSEpoZEdsdVp5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN0lDOHZJRVJ2SUc1dmRDQmhjM05wWjI0Z2RtRnNkV1VnYVdZZ2FYUWdhWE1nWVd4eVpXRmtlU0J6WlhRdUlGUm9hWE1nY0hKbGRtVnVkSE1nZFhObGNpQjBaWGgwSUdsdWNIVjBYRzRnSUM4dklHWnliMjBnWW1WcGJtY2diRzl6ZENCa2RYSnBibWNnVTFOU0lHaDVaSEpoZEdsdmJpNWNibHh1SUNCcFppQW9jSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvSjNaaGJIVmxKeWtnZkh3Z2NISnZjSE11YUdGelQzZHVVSEp2Y0dWeWRIa29KMlJsWm1GMWJIUldZV3gxWlNjcEtTQjdYRzRnSUNBZ2RtRnlJSFI1Y0dVZ1BTQndjbTl3Y3k1MGVYQmxPMXh1SUNBZ0lIWmhjaUJwYzBKMWRIUnZiaUE5SUhSNWNHVWdQVDA5SUNkemRXSnRhWFFuSUh4OElIUjVjR1VnUFQwOUlDZHlaWE5sZENjN0lDOHZJRUYyYjJsa0lITmxkSFJwYm1jZ2RtRnNkV1VnWVhSMGNtbGlkWFJsSUc5dUlITjFZbTFwZEM5eVpYTmxkQ0JwYm5CMWRITWdZWE1nYVhRZ2IzWmxjbkpwWkdWeklIUm9aVnh1SUNBZ0lDOHZJR1JsWm1GMWJIUWdkbUZzZFdVZ2NISnZkbWxrWldRZ1lua2dkR2hsSUdKeWIzZHpaWEl1SUZObFpUb2dJekV5T0RjeVhHNWNiaUFnSUNCcFppQW9hWE5DZFhSMGIyNGdKaVlnS0hCeWIzQnpMblpoYkhWbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2NISnZjSE11ZG1Gc2RXVWdQVDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJR2x1YVhScFlXeFdZV3gxWlNBOUlIUnZVM1J5YVc1bktHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpTNXBibWwwYVdGc1ZtRnNkV1VwT3lBdkx5QkVieUJ1YjNRZ1lYTnphV2R1SUhaaGJIVmxJR2xtSUdsMElHbHpJR0ZzY21WaFpIa2djMlYwTGlCVWFHbHpJSEJ5WlhabGJuUnpJSFZ6WlhJZ2RHVjRkQ0JwYm5CMWRGeHVJQ0FnSUM4dklHWnliMjBnWW1WcGJtY2diRzl6ZENCa2RYSnBibWNnVTFOU0lHaDVaSEpoZEdsdmJpNWNibHh1SUNBZ0lHbG1JQ2doYVhOSWVXUnlZWFJwYm1jcElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdMeThnVjJobGJpQnplVzVqYVc1bklIUm9aU0IyWVd4MVpTQmhkSFJ5YVdKMWRHVXNJSFJvWlNCMllXeDFaU0J3Y205d1pYSjBlU0J6YUc5MWJHUWdkWE5sWEc0Z0lDQWdJQ0FnSUM4dklIUm9aU0IzY21Gd2NHVnlVM1JoZEdVdVgybHVhWFJwWVd4V1lXeDFaU0J3Y205d1pYSjBlUzRnVkdocGN5QjFjMlZ6T2x4dUlDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQXZMeUFnSURFdUlGUm9aU0IyWVd4MVpTQlNaV0ZqZENCd2NtOXdaWEowZVNCM2FHVnVJSEJ5WlhObGJuUmNiaUFnSUNBZ0lDQWdMeThnSUNBeUxpQlVhR1VnWkdWbVlYVnNkRlpoYkhWbElGSmxZV04wSUhCeWIzQmxjblI1SUhkb1pXNGdjSEpsYzJWdWRGeHVJQ0FnSUNBZ0lDQXZMeUFnSURNdUlFRnVJR1Z0Y0hSNUlITjBjbWx1WjF4dUlDQWdJQ0FnSUNCcFppQW9hVzVwZEdsaGJGWmhiSFZsSUNFOVBTQnViMlJsTG5aaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2JtOWtaUzUyWVd4MVpTQTlJR2x1YVhScFlXeFdZV3gxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUM4dklFOTBhR1Z5ZDJselpTd2dkR2hsSUhaaGJIVmxJR0YwZEhKcFluVjBaU0JwY3lCemVXNWphSEp2Ym1sNlpXUWdkRzhnZEdobElIQnliM0JsY25SNUxGeHVJQ0FnSUNBZ0x5OGdjMjhnZDJVZ1lYTnphV2R1SUdSbFptRjFiSFJXWVd4MVpTQjBieUIwYUdVZ2MyRnRaU0IwYUdsdVp5QmhjeUIwYUdVZ2RtRnNkV1VnY0hKdmNHVnlkSGxjYmlBZ0lDQWdJQzh2SUdGemMybG5ibTFsYm5RZ2MzUmxjQ0JoWW05MlpTNWNiaUFnSUNBZ0lHNXZaR1V1WkdWbVlYVnNkRlpoYkhWbElEMGdhVzVwZEdsaGJGWmhiSFZsTzF4dUlDQWdJSDFjYmlBZ2ZTQXZMeUJPYjNKdFlXeHNlU3dnZDJVblpDQnFkWE4wSUdSdklHQnViMlJsTG1Ob1pXTnJaV1FnUFNCdWIyUmxMbU5vWldOclpXUmdJSFZ3YjI0Z2FXNXBkR2xoYkNCdGIzVnVkQ3dnYkdWemN5QjBhR2x6SUdKMVoxeHVJQ0F2THlCMGFHbHpJR2x6SUc1bFpXUmxaQ0IwYnlCM2IzSnJJR0Z5YjNWdVpDQmhJR05vY205dFpTQmlkV2NnZDJobGNtVWdjMlYwZEdsdVp5QmtaV1poZFd4MFEyaGxZMnRsWkZ4dUlDQXZMeUIzYVd4c0lITnZiV1YwYVcxbGN5QnBibVpzZFdWdVkyVWdkR2hsSUhaaGJIVmxJRzltSUdOb1pXTnJaV1FnS0dWMlpXNGdZV1owWlhJZ1pHVjBZV05vYldWdWRDa3VYRzRnSUM4dklGSmxabVZ5Wlc1alpUb2dhSFIwY0hNNkx5OWlkV2R6TG1Ob2NtOXRhWFZ0TG05eVp5OXdMMk5vY205dGFYVnRMMmx6YzNWbGN5OWtaWFJoYVd3L2FXUTlOakE0TkRFMlhHNGdJQzh2SUZkbElHNWxaV1FnZEc4Z2RHVnRjRzl5WVhKcGJIa2dkVzV6WlhRZ2JtRnRaU0IwYnlCaGRtOXBaQ0JrYVhOeWRYQjBhVzVuSUhKaFpHbHZJR0oxZEhSdmJpQm5jbTkxY0hNdVhHNWNibHh1SUNCMllYSWdibUZ0WlNBOUlHNXZaR1V1Ym1GdFpUdGNibHh1SUNCcFppQW9ibUZ0WlNBaFBUMGdKeWNwSUh0Y2JpQWdJQ0J1YjJSbExtNWhiV1VnUFNBbkp6dGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQXZMeUJYYUdWdUlITjVibU5wYm1jZ2RHaGxJR05vWldOclpXUWdZWFIwY21saWRYUmxMQ0JpYjNSb0lIUm9aU0JqYUdWamEyVmtJSEJ5YjNCbGNuUjVJR0Z1WkZ4dUlDQWdJQzh2SUdGMGRISnBZblYwWlNCaGNtVWdZWE56YVdkdVpXUWdZWFFnZEdobElITmhiV1VnZEdsdFpTQjFjMmx1WnlCa1pXWmhkV3gwUTJobFkydGxaQzRnVkdocGN5QjFjMlZ6T2x4dUlDQWdJQzh2WEc0Z0lDQWdMeThnSUNBeExpQlVhR1VnWTJobFkydGxaQ0JTWldGamRDQndjbTl3WlhKMGVTQjNhR1Z1SUhCeVpYTmxiblJjYmlBZ0lDQXZMeUFnSURJdUlGUm9aU0JrWldaaGRXeDBRMmhsWTJ0bFpDQlNaV0ZqZENCd2NtOXdaWEowZVNCM2FHVnVJSEJ5WlhObGJuUmNiaUFnSUNBdkx5QWdJRE11SUU5MGFHVnlkMmx6WlN3Z1ptRnNjMlZjYmlBZ0lDQnViMlJsTG1SbFptRjFiSFJEYUdWamEyVmtJRDBnSVc1dlpHVXVaR1ZtWVhWc2RFTm9aV05yWldRN1hHNGdJQ0FnYm05a1pTNWtaV1poZFd4MFEyaGxZMnRsWkNBOUlDRWhibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxMbWx1YVhScFlXeERhR1ZqYTJWa08xeHVJQ0I5WEc1Y2JpQWdhV1lnS0c1aGJXVWdJVDA5SUNjbktTQjdYRzRnSUNBZ2JtOWtaUzV1WVcxbElEMGdibUZ0WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2NtVnpkRzl5WlVOdmJuUnliMnhzWldSVGRHRjBaU2hsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN1hHNGdJSFZ3WkdGMFpWZHlZWEJ3WlhJb2JtOWtaU3dnY0hKdmNITXBPMXh1SUNCMWNHUmhkR1ZPWVcxbFpFTnZkWE5wYm5Nb2JtOWtaU3dnY0hKdmNITXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWT1lXMWxaRU52ZFhOcGJuTW9jbTl2ZEU1dlpHVXNJSEJ5YjNCektTQjdYRzRnSUhaaGNpQnVZVzFsSUQwZ2NISnZjSE11Ym1GdFpUdGNibHh1SUNCcFppQW9jSEp2Y0hNdWRIbHdaU0E5UFQwZ0ozSmhaR2x2SnlBbUppQnVZVzFsSUNFOUlHNTFiR3dwSUh0Y2JpQWdJQ0IyWVhJZ2NYVmxjbmxTYjI5MElEMGdjbTl2ZEU1dlpHVTdYRzVjYmlBZ0lDQjNhR2xzWlNBb2NYVmxjbmxTYjI5MExuQmhjbVZ1ZEU1dlpHVXBJSHRjYmlBZ0lDQWdJSEYxWlhKNVVtOXZkQ0E5SUhGMVpYSjVVbTl2ZEM1d1lYSmxiblJPYjJSbE8xeHVJQ0FnSUgwZ0x5OGdTV1lnWUhKdmIzUk9iMlJsTG1admNtMWdJSGRoY3lCdWIyNHRiblZzYkN3Z2RHaGxiaUIzWlNCamIzVnNaQ0IwY25rZ1lHWnZjbTB1Wld4bGJXVnVkSE5nTEZ4dUlDQWdJQzh2SUdKMWRDQjBhR0YwSUhOdmJXVjBhVzFsY3lCaVpXaGhkbVZ6SUhOMGNtRnVaMlZzZVNCcGJpQkpSVGd1SUZkbElHTnZkV3hrSUdGc2MyOGdkSEo1SUhWemFXNW5YRzRnSUNBZ0x5OGdZR1p2Y20wdVoyVjBSV3hsYldWdWRITkNlVTVoYldWZ0xDQmlkWFFnZEdoaGRDQjNhV3hzSUc5dWJIa2djbVYwZFhKdUlHUnBjbVZqZENCamFHbHNaSEpsYmx4dUlDQWdJQzh2SUdGdVpDQjNiMjRuZENCcGJtTnNkV1JsSUdsdWNIVjBjeUIwYUdGMElIVnpaU0IwYUdVZ1NGUk5URFVnWUdadmNtMDlZQ0JoZEhSeWFXSjFkR1V1SUZOcGJtTmxYRzRnSUNBZ0x5OGdkR2hsSUdsdWNIVjBJRzFwWjJoMElHNXZkQ0JsZG1WdUlHSmxJR2x1SUdFZ1ptOXliUzRnU1hRZ2JXbG5hSFFnYm05MElHVjJaVzRnWW1VZ2FXNGdkR2hsWEc0Z0lDQWdMeThnWkc5amRXMWxiblF1SUV4bGRDZHpJR3AxYzNRZ2RYTmxJSFJvWlNCc2IyTmhiQ0JnY1hWbGNubFRaV3hsWTNSdmNrRnNiR0FnZEc4Z1pXNXpkWEpsSUhkbElHUnZiaWQwWEc0Z0lDQWdMeThnYldsemN5QmhibmwwYUdsdVp5NWNibHh1WEc0Z0lDQWdkbUZ5SUdkeWIzVndJRDBnY1hWbGNubFNiMjkwTG5GMVpYSjVVMlZzWldOMGIzSkJiR3dvSjJsdWNIVjBXMjVoYldVOUp5QXJJRXBUVDA0dWMzUnlhVzVuYVdaNUtDY25JQ3NnYm1GdFpTa2dLeUFuWFZ0MGVYQmxQVndpY21Ga2FXOWNJbDBuS1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1ozSnZkWEF1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ2ZEdobGNrNXZaR1VnUFNCbmNtOTFjRnRwWFR0Y2JseHVJQ0FnSUNBZ2FXWWdLRzkwYUdWeVRtOWtaU0E5UFQwZ2NtOXZkRTV2WkdVZ2ZId2diM1JvWlhKT2IyUmxMbVp2Y20wZ0lUMDlJSEp2YjNST2IyUmxMbVp2Y20wcElIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlJQzh2SUZSb2FYTWdkMmxzYkNCMGFISnZkeUJwWmlCeVlXUnBieUJpZFhSMGIyNXpJSEpsYm1SbGNtVmtJR0o1SUdScFptWmxjbVZ1ZENCamIzQnBaWE1nYjJZZ1VtVmhZM1JjYmlBZ0lDQWdJQzh2SUdGdVpDQjBhR1VnYzJGdFpTQnVZVzFsSUdGeVpTQnlaVzVrWlhKbFpDQnBiblJ2SUhSb1pTQnpZVzFsSUdadmNtMGdLSE5oYldVZ1lYTWdJekU1TXprcExseHVJQ0FnSUNBZ0x5OGdWR2hoZENkeklIQnliMkpoWW14NUlHOXJZWGs3SUhkbElHUnZiaWQwSUhOMWNIQnZjblFnYVhRZ2FuVnpkQ0JoY3lCM1pTQmtiMjRuZENCemRYQndiM0owWEc0Z0lDQWdJQ0F2THlCdGFYaHBibWNnVW1WaFkzUWdjbUZrYVc4Z1luVjBkRzl1Y3lCM2FYUm9JRzV2YmkxU1pXRmpkQ0J2Ym1WekxseHVYRzVjYmlBZ0lDQWdJSFpoY2lCdmRHaGxjbEJ5YjNCeklEMGdaMlYwUm1saVpYSkRkWEp5Wlc1MFVISnZjSE5HY205dFRtOWtaU1F4S0c5MGFHVnlUbTlrWlNrN1hHNWNiaUFnSUNBZ0lHbG1JQ2doYjNSb1pYSlFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVbVZoWTNSRVQwMUpibkIxZERvZ1RXbDRhVzVuSUZKbFlXTjBJR0Z1WkNCdWIyNHRVbVZoWTNRZ2NtRmthVzhnYVc1d2RYUnpJSGRwZEdnZ2RHaGxJSE5oYldVZ1lHNWhiV1ZnSUdseklHNXZkQ0J6ZFhCd2IzSjBaV1F1WENJZ0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0F2THlCWFpTQnVaV1ZrSUhWd1pHRjBaU0IwYUdVZ2RISmhZMnRsWkNCMllXeDFaU0J2YmlCMGFHVWdibUZ0WldRZ1kyOTFjMmx1SUhOcGJtTmxJSFJvWlNCMllXeDFaVnh1SUNBZ0lDQWdMeThnZDJGeklHTm9ZVzVuWldRZ1luVjBJSFJvWlNCcGJuQjFkQ0J6WVhjZ2JtOGdaWFpsYm5RZ2IzSWdkbUZzZFdVZ2MyVjBYRzVjYmx4dUlDQWdJQ0FnZFhCa1lYUmxWbUZzZFdWSlprTm9ZVzVuWldRb2IzUm9aWEpPYjJSbEtUc2dMeThnU1dZZ2RHaHBjeUJwY3lCaElHTnZiblJ5YjJ4c1pXUWdjbUZrYVc4Z1luVjBkRzl1SUdkeWIzVndMQ0JtYjNKamFXNW5JSFJvWlNCcGJuQjFkQ0IwYUdGMFhHNGdJQ0FnSUNBdkx5QjNZWE1nY0hKbGRtbHZkWE5zZVNCamFHVmphMlZrSUhSdklIVndaR0YwWlNCM2FXeHNJR05oZFhObElHbDBJSFJ2SUdKbElHTnZiV1VnY21VdFkyaGxZMnRsWkZ4dUlDQWdJQ0FnTHk4Z1lYTWdZWEJ3Y205d2NtbGhkR1V1WEc1Y2JpQWdJQ0FnSUhWd1pHRjBaVmR5WVhCd1pYSW9iM1JvWlhKT2IyUmxMQ0J2ZEdobGNsQnliM0J6S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjBnTHk4Z1NXNGdRMmh5YjIxbExDQmhjM05wWjI1cGJtY2daR1ZtWVhWc2RGWmhiSFZsSUhSdklHTmxjblJoYVc0Z2FXNXdkWFFnZEhsd1pYTWdkSEpwWjJkbGNuTWdhVzV3ZFhRZ2RtRnNhV1JoZEdsdmJpNWNiaTh2SUVadmNpQnVkVzFpWlhJZ2FXNXdkWFJ6TENCMGFHVWdaR2x6Y0d4aGVTQjJZV3gxWlNCc2IzTmxjeUIwY21GcGJHbHVaeUJrWldOcGJXRnNJSEJ2YVc1MGN5NGdSbTl5SUdWdFlXbHNJR2x1Y0hWMGN5eGNiaTh2SUVOb2NtOXRaU0J5WVdselpYTWdYQ0pVYUdVZ2MzQmxZMmxtYVdWa0lIWmhiSFZsSUR4NFBpQnBjeUJ1YjNRZ1lTQjJZV3hwWkNCbGJXRnBiQ0JoWkdSeVpYTnpYQ0l1WEc0dkwxeHVMeThnU0dWeVpTQjNaU0JqYUdWamF5QjBieUJ6WldVZ2FXWWdkR2hsSUdSbFptRjFiSFJXWVd4MVpTQm9ZWE1nWVdOMGRXRnNiSGtnWTJoaGJtZGxaQ3dnWVhadmFXUnBibWNnZEdobGMyVWdjSEp2WW14bGJYTmNiaTh2SUhkb1pXNGdkR2hsSUhWelpYSWdhWE1nYVc1d2RYUjBhVzVuSUhSbGVIUmNiaTh2WEc0dkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZabUZqWldKdmIyc3ZjbVZoWTNRdmFYTnpkV1Z6THpjeU5UTmNibHh1WEc1bWRXNWpkR2x2YmlCelpYUkVaV1poZFd4MFZtRnNkV1VvYm05a1pTd2dkSGx3WlN3Z2RtRnNkV1VwSUh0Y2JpQWdhV1lnS0NBdkx5QkdiMk4xYzJWa0lHNTFiV0psY2lCcGJuQjFkSE1nYzNsdVkyaHliMjVwZW1VZ2IyNGdZbXgxY2k0Z1UyVmxJRU5vWVc1blpVVjJaVzUwVUd4MVoybHVMbXB6WEc0Z0lIUjVjR1VnSVQwOUlDZHVkVzFpWlhJbklIeDhJRzV2WkdVdWIzZHVaWEpFYjJOMWJXVnVkQzVoWTNScGRtVkZiR1Z0Wlc1MElDRTlQU0J1YjJSbEtTQjdYRzRnSUNBZ2FXWWdLSFpoYkhWbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHNXZaR1V1WkdWbVlYVnNkRlpoYkhWbElEMGdkRzlUZEhKcGJtY29ibTlrWlM1ZmQzSmhjSEJsY2xOMFlYUmxMbWx1YVhScFlXeFdZV3gxWlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMbVJsWm1GMWJIUldZV3gxWlNBaFBUMGdkRzlUZEhKcGJtY29kbUZzZFdVcEtTQjdYRzRnSUNBZ0lDQnViMlJsTG1SbFptRjFiSFJXWVd4MVpTQTlJSFJ2VTNSeWFXNW5LSFpoYkhWbEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUdScFpGZGhjbTVUWld4bFkzUmxaRk5sZEU5dVQzQjBhVzl1SUQwZ1ptRnNjMlU3WEc1MllYSWdaR2xrVjJGeWJrbHVkbUZzYVdSRGFHbHNaQ0E5SUdaaGJITmxPMXh1WEc1bWRXNWpkR2x2YmlCbWJHRjBkR1Z1UTJocGJHUnlaVzRvWTJocGJHUnlaVzRwSUh0Y2JpQWdkbUZ5SUdOdmJuUmxiblFnUFNBbkp6c2dMeThnUm14aGRIUmxiaUJqYUdsc1pISmxiaTRnVjJVbmJHd2dkMkZ5YmlCcFppQjBhR1Y1SUdGeVpTQnBiblpoYkdsa1hHNGdJQzh2SUdSMWNtbHVaeUIyWVd4cFpHRjBaVkJ5YjNCektDa2dkMmhwWTJnZ2NuVnVjeUJtYjNJZ2FIbGtjbUYwYVc5dUlIUnZieTVjYmlBZ0x5OGdUbTkwWlNCMGFHRjBJSFJvYVhNZ2QyOTFiR1FnZEdoeWIzY2diMjRnYm05dUxXVnNaVzFsYm5RZ2IySnFaV04wY3k1Y2JpQWdMeThnUld4bGJXVnVkSE1nWVhKbElITjBjbWx1WjJsbWFXVmtJQ2gzYUdsamFDQnBjeUJ1YjNKdFlXeHNlU0JwY25KbGJHVjJZVzUwWEc0Z0lDOHZJR0oxZENCdFlYUjBaWEp6SUdadmNpQThabUowUGlrdVhHNWNiaUFnVW1WaFkzUXVRMmhwYkdSeVpXNHVabTl5UldGamFDaGphR2xzWkhKbGJpd2dablZ1WTNScGIyNGdLR05vYVd4a0tTQjdYRzRnSUNBZ2FXWWdLR05vYVd4a0lEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1MFpXNTBJQ3M5SUdOb2FXeGtPeUF2THlCT2IzUmxPaUIzWlNCa2IyNG5kQ0IzWVhKdUlHRmliM1YwSUdsdWRtRnNhV1FnWTJocGJHUnlaVzRnYUdWeVpTNWNiaUFnSUNBdkx5Qkpibk4wWldGa0xDQjBhR2x6SUdseklHUnZibVVnYzJWd1lYSmhkR1ZzZVNCaVpXeHZkeUJ6YnlCMGFHRjBYRzRnSUNBZ0x5OGdhWFFnYUdGd2NHVnVjeUJrZFhKcGJtY2dkR2hsSUdoNVpISmhkR2x2YmlCamIyUmxjR0YwYUNCMGIyOHVYRzRnSUgwcE8xeHVJQ0J5WlhSMWNtNGdZMjl1ZEdWdWREdGNibjFjYmk4cUtseHVJQ29nU1cxd2JHVnRaVzUwY3lCaGJpQThiM0IwYVc5dVBpQm9iM04wSUdOdmJYQnZibVZ1ZENCMGFHRjBJSGRoY201eklIZG9aVzRnWUhObGJHVmpkR1ZrWUNCcGN5QnpaWFF1WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlZCeWIzQnpLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUh0Y2JpQWdJQ0F2THlCVWFHbHpJRzFwY25KdmNuTWdkR2hsSUdOdlpHVndZWFJvSUdGaWIzWmxMQ0JpZFhRZ2NuVnVjeUJtYjNJZ2FIbGtjbUYwYVc5dUlIUnZieTVjYmlBZ0lDQXZMeUJYWVhKdUlHRmliM1YwSUdsdWRtRnNhV1FnWTJocGJHUnlaVzRnYUdWeVpTQnpieUIwYUdGMElHTnNhV1Z1ZENCaGJtUWdhSGxrY21GMGFXOXVJR0Z5WlNCamIyNXphWE4wWlc1MExseHVJQ0FnSUM4dklGUlBSRTg2SUhSb2FYTWdjMlZsYlhNZ2JHbHJaU0JwZENCamIzVnNaQ0JqWVhWelpTQmhJRVJGVmkxdmJteDVJSFJvY205M0lHWnZjaUJvZVdSeVlYUnBiMjVjYmlBZ0lDQXZMeUJwWmlCamFHbHNaSEpsYmlCamIyNTBZV2x1Y3lCaElHNXZiaTFsYkdWdFpXNTBJRzlpYW1WamRDNGdWMlVnYzJodmRXeGtJSFJ5ZVNCMGJ5QmhkbTlwWkNCMGFHRjBMbHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdjSEp2Y0hNdVkyaHBiR1J5Wlc0Z1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhCeWIzQnpMbU5vYVd4a2NtVnVJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JTWldGamRDNURhR2xzWkhKbGJpNW1iM0pGWVdOb0tIQnliM0J6TG1Ob2FXeGtjbVZ1TENCbWRXNWpkR2x2YmlBb1kyaHBiR1FwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05vYVd4a0lEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHTm9hV3hrSUQwOVBTQW5jM1J5YVc1bkp5QjhmQ0IwZVhCbGIyWWdZMmhwYkdRZ1BUMDlJQ2R1ZFcxaVpYSW5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqYUdsc1pDNTBlWEJsSUNFOVBTQW5jM1J5YVc1bkp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doWkdsa1YyRnlia2x1ZG1Gc2FXUkRhR2xzWkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1JwWkZkaGNtNUpiblpoYkdsa1EyaHBiR1FnUFNCMGNuVmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjA5dWJIa2djM1J5YVc1bmN5QmhibVFnYm5WdFltVnljeUJoY21VZ2MzVndjRzl5ZEdWa0lHRnpJRHh2Y0hScGIyNCtJR05vYVd4a2NtVnVMaWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUtUdGNiaUFnSUNCOUlDOHZJRlJQUkU4NklGSmxiVzkyWlNCemRYQndiM0owSUdadmNpQmdjMlZzWldOMFpXUmdJR2x1SUR4dmNIUnBiMjQrTGx4dVhHNWNiaUFnSUNCcFppQW9jSEp2Y0hNdWMyVnNaV04wWldRZ0lUMGdiblZzYkNBbUppQWhaR2xrVjJGeWJsTmxiR1ZqZEdWa1UyVjBUMjVQY0hScGIyNHBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDZFZjMlVnZEdobElHQmtaV1poZFd4MFZtRnNkV1ZnSUc5eUlHQjJZV3gxWldBZ2NISnZjSE1nYjI0Z1BITmxiR1ZqZEQ0Z2FXNXpkR1ZoWkNCdlppQW5JQ3NnSjNObGRIUnBibWNnWUhObGJHVmpkR1ZrWUNCdmJpQThiM0IwYVc5dVBpNG5LVHRjYmx4dUlDQWdJQ0FnWkdsa1YyRnlibE5sYkdWamRHVmtVMlYwVDI1UGNIUnBiMjRnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjRzl6ZEUxdmRXNTBWM0poY0hCbGNpUXhLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUM4dklIWmhiSFZsUFZ3aVhDSWdjMmh2ZFd4a0lHMWhhMlVnWVNCMllXeDFaU0JoZEhSeWFXSjFkR1VnS0NNMk1qRTVLVnh1SUNCcFppQW9jSEp2Y0hNdWRtRnNkV1VnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJR1ZzWlcxbGJuUXVjMlYwUVhSMGNtbGlkWFJsS0NkMllXeDFaU2NzSUhSdlUzUnlhVzVuS0dkbGRGUnZVM1J5YVc1blZtRnNkV1VvY0hKdmNITXVkbUZzZFdVcEtTazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUlFjbTl3Y3lReEtHVnNaVzFsYm5Rc0lIQnliM0J6S1NCN1hHNGdJSFpoY2lCb2IzTjBVSEp2Y0hNZ1BTQmZZWE56YVdkdUtIdGNiaUFnSUNCamFHbHNaSEpsYmpvZ2RXNWtaV1pwYm1Wa1hHNGdJSDBzSUhCeWIzQnpLVHRjYmx4dUlDQjJZWElnWTI5dWRHVnVkQ0E5SUdac1lYUjBaVzVEYUdsc1pISmxiaWh3Y205d2N5NWphR2xzWkhKbGJpazdYRzVjYmlBZ2FXWWdLR052Ym5SbGJuUXBJSHRjYmlBZ0lDQm9iM04wVUhKdmNITXVZMmhwYkdSeVpXNGdQU0JqYjI1MFpXNTBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR2h2YzNSUWNtOXdjenRjYm4xY2JseHVkbUZ5SUdScFpGZGhjbTVXWVd4MVpVUmxabUYxYkhSV1lXeDFaU1F4TzF4dVhHNTdYRzRnSUdScFpGZGhjbTVXWVd4MVpVUmxabUYxYkhSV1lXeDFaU1F4SUQwZ1ptRnNjMlU3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVSbFkyeGhjbUYwYVc5dVJYSnliM0pCWkdSbGJtUjFiU2dwSUh0Y2JpQWdkbUZ5SUc5M2JtVnlUbUZ0WlNBOUlHZGxkRU4xY25KbGJuUkdhV0psY2s5M2JtVnlUbUZ0WlVsdVJHVjJUM0pPZFd4c0tDazdYRzVjYmlBZ2FXWWdLRzkzYm1WeVRtRnRaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQW5YRnh1WEZ4dVEyaGxZMnNnZEdobElISmxibVJsY2lCdFpYUm9iMlFnYjJZZ1lDY2dLeUJ2ZDI1bGNrNWhiV1VnS3lBbllDNG5PMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJQ2NuTzF4dWZWeHVYRzUyWVhJZ2RtRnNkV1ZRY205d1RtRnRaWE1nUFNCYkozWmhiSFZsSnl3Z0oyUmxabUYxYkhSV1lXeDFaU2RkTzF4dUx5b3FYRzRnS2lCV1lXeHBaR0YwYVc5dUlHWjFibU4wYVc5dUlHWnZjaUJnZG1Gc2RXVmdJR0Z1WkNCZ1pHVm1ZWFZzZEZaaGJIVmxZQzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJqYUdWamExTmxiR1ZqZEZCeWIzQlVlWEJsY3lod2NtOXdjeWtnZTF4dUlDQjdYRzRnSUNBZ1VtVmhZM1JEYjI1MGNtOXNiR1ZrVm1Gc2RXVlFjbTl3Vkhsd1pYTXVZMmhsWTJ0UWNtOXdWSGx3WlhNb0ozTmxiR1ZqZENjc0lIQnliM0J6S1R0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2RtRnNkV1ZRY205d1RtRnRaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJ3Y205d1RtRnRaU0E5SUhaaGJIVmxVSEp2Y0U1aGJXVnpXMmxkTzF4dVhHNGdJQ0FnSUNCcFppQW9jSEp2Y0hOYmNISnZjRTVoYldWZElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCcGMwRnljbUY1SUQwZ1FYSnlZWGt1YVhOQmNuSmhlU2h3Y205d2MxdHdjbTl3VG1GdFpWMHBPMXh1WEc0Z0lDQWdJQ0JwWmlBb2NISnZjSE11YlhWc2RHbHdiR1VnSmlZZ0lXbHpRWEp5WVhrcElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb0oxUm9aU0JnSlhOZ0lIQnliM0FnYzNWd2NHeHBaV1FnZEc4Z1BITmxiR1ZqZEQ0Z2JYVnpkQ0JpWlNCaGJpQmhjbkpoZVNCcFppQW5JQ3NnSjJCdGRXeDBhWEJzWldBZ2FYTWdkSEoxWlM0bGN5Y3NJSEJ5YjNCT1lXMWxMQ0JuWlhSRVpXTnNZWEpoZEdsdmJrVnljbTl5UVdSa1pXNWtkVzBvS1NrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tDRndjbTl3Y3k1dGRXeDBhWEJzWlNBbUppQnBjMEZ5Y21GNUtTQjdYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDZFVhR1VnWUNWellDQndjbTl3SUhOMWNIQnNhV1ZrSUhSdklEeHpaV3hsWTNRK0lHMTFjM1FnWW1VZ1lTQnpZMkZzWVhJZ0p5QXJJQ2QyWVd4MVpTQnBaaUJnYlhWc2RHbHdiR1ZnSUdseklHWmhiSE5sTGlWekp5d2djSEp2Y0U1aGJXVXNJR2RsZEVSbFkyeGhjbUYwYVc5dVJYSnliM0pCWkdSbGJtUjFiU2dwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVDNCMGFXOXVjeWh1YjJSbExDQnRkV3gwYVhCc1pTd2djSEp2Y0ZaaGJIVmxMQ0J6WlhSRVpXWmhkV3gwVTJWc1pXTjBaV1FwSUh0Y2JpQWdkbUZ5SUc5d2RHbHZibk1nUFNCdWIyUmxMbTl3ZEdsdmJuTTdYRzVjYmlBZ2FXWWdLRzExYkhScGNHeGxLU0I3WEc0Z0lDQWdkbUZ5SUhObGJHVmpkR1ZrVm1Gc2RXVnpJRDBnY0hKdmNGWmhiSFZsTzF4dUlDQWdJSFpoY2lCelpXeGxZM1JsWkZaaGJIVmxJRDBnZTMwN1hHNWNiaUFnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElITmxiR1ZqZEdWa1ZtRnNkV1Z6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQXZMeUJRY21WbWFYZ2dkRzhnWVhadmFXUWdZMmhoYjNNZ2QybDBhQ0J6Y0dWamFXRnNJR3RsZVhNdVhHNGdJQ0FnSUNCelpXeGxZM1JsWkZaaGJIVmxXeWNrSnlBcklITmxiR1ZqZEdWa1ZtRnNkV1Z6VzJsZFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm05eUlDaDJZWElnWDJrZ1BTQXdPeUJmYVNBOElHOXdkR2x2Ym5NdWJHVnVaM1JvT3lCZmFTc3JLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2MyVnNaV04wWldRZ1BTQnpaV3hsWTNSbFpGWmhiSFZsTG1oaGMwOTNibEJ5YjNCbGNuUjVLQ2NrSnlBcklHOXdkR2x2Ym5OYlgybGRMblpoYkhWbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0c5d2RHbHZibk5iWDJsZExuTmxiR1ZqZEdWa0lDRTlQU0J6Wld4bFkzUmxaQ2tnZTF4dUlDQWdJQ0FnSUNCdmNIUnBiMjV6VzE5cFhTNXpaV3hsWTNSbFpDQTlJSE5sYkdWamRHVmtPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MyVnNaV04wWldRZ0ppWWdjMlYwUkdWbVlYVnNkRk5sYkdWamRHVmtLU0I3WEc0Z0lDQWdJQ0FnSUc5d2RHbHZibk5iWDJsZExtUmxabUYxYkhSVFpXeGxZM1JsWkNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVSdklHNXZkQ0J6WlhRZ1lITmxiR1ZqZEM1MllXeDFaV0FnWVhNZ1pYaGhZM1FnWW1Wb1lYWnBiM0lnYVhOdUozUWdZMjl1YzJsemRHVnVkQ0JoWTNKdmMzTWdZV3hzWEc0Z0lDQWdMeThnWW5KdmQzTmxjbk1nWm05eUlHRnNiQ0JqWVhObGN5NWNiaUFnSUNCMllYSWdYM05sYkdWamRHVmtWbUZzZFdVZ1BTQjBiMU4wY21sdVp5aG5aWFJVYjFOMGNtbHVaMVpoYkhWbEtIQnliM0JXWVd4MVpTa3BPMXh1WEc0Z0lDQWdkbUZ5SUdSbFptRjFiSFJUWld4bFkzUmxaQ0E5SUc1MWJHdzdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQmZhVElnUFNBd095QmZhVElnUENCdmNIUnBiMjV6TG14bGJtZDBhRHNnWDJreUt5c3BJSHRjYmlBZ0lDQWdJR2xtSUNodmNIUnBiMjV6VzE5cE1sMHVkbUZzZFdVZ1BUMDlJRjl6Wld4bFkzUmxaRlpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJRzl3ZEdsdmJuTmJYMmt5WFM1elpXeGxZM1JsWkNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSE5sZEVSbFptRjFiSFJUWld4bFkzUmxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOXdkR2x2Ym5OYlgya3lYUzVrWldaaGRXeDBVMlZzWldOMFpXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1pHVm1ZWFZzZEZObGJHVmpkR1ZrSUQwOVBTQnVkV3hzSUNZbUlDRnZjSFJwYjI1elcxOXBNbDB1WkdsellXSnNaV1FwSUh0Y2JpQWdJQ0FnSUNBZ1pHVm1ZWFZzZEZObGJHVmpkR1ZrSUQwZ2IzQjBhVzl1YzF0ZmFUSmRPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hrWldaaGRXeDBVMlZzWldOMFpXUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1JsWm1GMWJIUlRaV3hsWTNSbFpDNXpaV3hsWTNSbFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUVsdGNHeGxiV1Z1ZEhNZ1lTQThjMlZzWldOMFBpQm9iM04wSUdOdmJYQnZibVZ1ZENCMGFHRjBJR0ZzYkc5M2N5QnZjSFJwYjI1aGJHeDVJSE5sZEhScGJtY2dkR2hsWEc0Z0tpQndjbTl3Y3lCZ2RtRnNkV1ZnSUdGdVpDQmdaR1ZtWVhWc2RGWmhiSFZsWUM0Z1NXWWdZRzExYkhScGNHeGxZQ0JwY3lCbVlXeHpaU3dnZEdobElIQnliM0FnYlhWemRDQmlaU0JoWEc0Z0tpQnpkSEpwYm1kaFlteGxMaUJKWmlCZ2JYVnNkR2x3YkdWZ0lHbHpJSFJ5ZFdVc0lIUm9aU0J3Y205d0lHMTFjM1FnWW1VZ1lXNGdZWEp5WVhrZ2IyWWdjM1J5YVc1bllXSnNaWE11WEc0Z0tseHVJQ29nU1dZZ1lIWmhiSFZsWUNCcGN5QnViM1FnYzNWd2NHeHBaV1FnS0c5eUlHNTFiR3d2ZFc1a1pXWnBibVZrS1N3Z2RYTmxjaUJoWTNScGIyNXpJSFJvWVhRZ1kyaGhibWRsSUhSb1pWeHVJQ29nYzJWc1pXTjBaV1FnYjNCMGFXOXVJSGRwYkd3Z2RISnBaMmRsY2lCMWNHUmhkR1Z6SUhSdklIUm9aU0J5Wlc1a1pYSmxaQ0J2Y0hScGIyNXpMbHh1SUNwY2JpQXFJRWxtSUdsMElHbHpJSE4xY0hCc2FXVmtJQ2hoYm1RZ2JtOTBJRzUxYkd3dmRXNWtaV1pwYm1Wa0tTd2dkR2hsSUhKbGJtUmxjbVZrSUc5d2RHbHZibk1nZDJsc2JDQnViM1JjYmlBcUlIVndaR0YwWlNCcGJpQnlaWE53YjI1elpTQjBieUIxYzJWeUlHRmpkR2x2Ym5NdUlFbHVjM1JsWVdRc0lIUm9aU0JnZG1Gc2RXVmdJSEJ5YjNBZ2JYVnpkQ0JqYUdGdVoyVWdhVzVjYmlBcUlHOXlaR1Z5SUdadmNpQjBhR1VnY21WdVpHVnlaV1FnYjNCMGFXOXVjeUIwYnlCMWNHUmhkR1V1WEc0Z0tseHVJQ29nU1dZZ1lHUmxabUYxYkhSV1lXeDFaV0FnYVhNZ2NISnZkbWxrWldRc0lHRnVlU0J2Y0hScGIyNXpJSGRwZEdnZ2RHaGxJSE4xY0hCc2FXVmtJSFpoYkhWbGN5QjNhV3hzSUdKbFhHNGdLaUJ6Wld4bFkzUmxaQzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFaHZjM1JRY205d2N5UXlLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUhKbGRIVnliaUJmWVhOemFXZHVLSHQ5TENCd2NtOXdjeXdnZTF4dUlDQWdJSFpoYkhWbE9pQjFibVJsWm1sdVpXUmNiaUFnZlNrN1hHNTlYRzVtZFc1amRHbHZiaUJwYm1sMFYzSmhjSEJsY2xOMFlYUmxKREVvWld4bGJXVnVkQ3dnY0hKdmNITXBJSHRjYmlBZ2RtRnlJRzV2WkdVZ1BTQmxiR1Z0Wlc1ME8xeHVYRzRnSUh0Y2JpQWdJQ0JqYUdWamExTmxiR1ZqZEZCeWIzQlVlWEJsY3lod2NtOXdjeWs3WEc0Z0lIMWNibHh1SUNCdWIyUmxMbDkzY21Gd2NHVnlVM1JoZEdVZ1BTQjdYRzRnSUNBZ2QyRnpUWFZzZEdsd2JHVTZJQ0VoY0hKdmNITXViWFZzZEdsd2JHVmNiaUFnZlR0Y2JseHVJQ0I3WEc0Z0lDQWdhV1lnS0hCeWIzQnpMblpoYkhWbElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2NISnZjSE11WkdWbVlYVnNkRlpoYkhWbElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ0lXUnBaRmRoY201V1lXeDFaVVJsWm1GMWJIUldZV3gxWlNReEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblUyVnNaV04wSUdWc1pXMWxiblJ6SUcxMWMzUWdZbVVnWldsMGFHVnlJR052Ym5SeWIyeHNaV1FnYjNJZ2RXNWpiMjUwY205c2JHVmtJQ2NnS3lBbktITndaV05wWm5rZ1pXbDBhR1Z5SUhSb1pTQjJZV3gxWlNCd2NtOXdMQ0J2Y2lCMGFHVWdaR1ZtWVhWc2RGWmhiSFZsSUhCeWIzQXNJR0oxZENCdWIzUWdKeUFySUNkaWIzUm9LUzRnUkdWamFXUmxJR0psZEhkbFpXNGdkWE5wYm1jZ1lTQmpiMjUwY205c2JHVmtJRzl5SUhWdVkyOXVkSEp2Ykd4bFpDQnpaV3hsWTNRZ0p5QXJJQ2RsYkdWdFpXNTBJR0Z1WkNCeVpXMXZkbVVnYjI1bElHOW1JSFJvWlhObElIQnliM0J6TGlCTmIzSmxJR2x1Wm04NklDY2dLeUFuYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxamIyNTBjbTlzYkdWa0xXTnZiWEJ2Ym1WdWRITW5LVHRjYmx4dUlDQWdJQ0FnWkdsa1YyRnlibFpoYkhWbFJHVm1ZWFZzZEZaaGJIVmxKREVnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjRzl6ZEUxdmRXNTBWM0poY0hCbGNpUXlLR1ZzWlcxbGJuUXNJSEJ5YjNCektTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ1pXeGxiV1Z1ZER0Y2JpQWdibTlrWlM1dGRXeDBhWEJzWlNBOUlDRWhjSEp2Y0hNdWJYVnNkR2x3YkdVN1hHNGdJSFpoY2lCMllXeDFaU0E5SUhCeWIzQnpMblpoYkhWbE8xeHVYRzRnSUdsbUlDaDJZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnZFhCa1lYUmxUM0IwYVc5dWN5aHViMlJsTENBaElYQnliM0J6TG0xMWJIUnBjR3hsTENCMllXeDFaU3dnWm1Gc2MyVXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tIQnliM0J6TG1SbFptRjFiSFJXWVd4MVpTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RYQmtZWFJsVDNCMGFXOXVjeWh1YjJSbExDQWhJWEJ5YjNCekxtMTFiSFJwY0d4bExDQndjbTl3Y3k1a1pXWmhkV3gwVm1Gc2RXVXNJSFJ5ZFdVcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQndiM04wVlhCa1lYUmxWM0poY0hCbGNpaGxiR1Z0Wlc1MExDQndjbTl3Y3lrZ2UxeHVJQ0IyWVhJZ2JtOWtaU0E5SUdWc1pXMWxiblE3WEc0Z0lIWmhjaUIzWVhOTmRXeDBhWEJzWlNBOUlHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpTNTNZWE5OZFd4MGFYQnNaVHRjYmlBZ2JtOWtaUzVmZDNKaGNIQmxjbE4wWVhSbExuZGhjMDExYkhScGNHeGxJRDBnSVNGd2NtOXdjeTV0ZFd4MGFYQnNaVHRjYmlBZ2RtRnlJSFpoYkhWbElEMGdjSEp2Y0hNdWRtRnNkV1U3WEc1Y2JpQWdhV1lnS0haaGJIVmxJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQjFjR1JoZEdWUGNIUnBiMjV6S0c1dlpHVXNJQ0VoY0hKdmNITXViWFZzZEdsd2JHVXNJSFpoYkhWbExDQm1ZV3h6WlNrN1hHNGdJSDBnWld4elpTQnBaaUFvZDJGelRYVnNkR2x3YkdVZ0lUMDlJQ0VoY0hKdmNITXViWFZzZEdsd2JHVXBJSHRjYmlBZ0lDQXZMeUJHYjNJZ2MybHRjR3hwWTJsMGVTd2djbVZoY0hCc2VTQmdaR1ZtWVhWc2RGWmhiSFZsWUNCcFppQmdiWFZzZEdsd2JHVmdJR2x6SUhSdloyZHNaV1F1WEc0Z0lDQWdhV1lnS0hCeWIzQnpMbVJsWm1GMWJIUldZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCMWNHUmhkR1ZQY0hScGIyNXpLRzV2WkdVc0lDRWhjSEp2Y0hNdWJYVnNkR2x3YkdVc0lIQnliM0J6TG1SbFptRjFiSFJXWVd4MVpTd2dkSEoxWlNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUZKbGRtVnlkQ0IwYUdVZ2MyVnNaV04wSUdKaFkyc2dkRzhnYVhSeklHUmxabUYxYkhRZ2RXNXpaV3hsWTNSbFpDQnpkR0YwWlM1Y2JpQWdJQ0FnSUhWd1pHRjBaVTl3ZEdsdmJuTW9ibTlrWlN3Z0lTRndjbTl3Y3k1dGRXeDBhWEJzWlN3Z2NISnZjSE11YlhWc2RHbHdiR1VnUHlCYlhTQTZJQ2NuTENCbVlXeHpaU2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ5WlhOMGIzSmxRMjl1ZEhKdmJHeGxaRk4wWVhSbEpERW9aV3hsYldWdWRDd2djSEp2Y0hNcElIdGNiaUFnZG1GeUlHNXZaR1VnUFNCbGJHVnRaVzUwTzF4dUlDQjJZWElnZG1Gc2RXVWdQU0J3Y205d2N5NTJZV3gxWlR0Y2JseHVJQ0JwWmlBb2RtRnNkV1VnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJSFZ3WkdGMFpVOXdkR2x2Ym5Nb2JtOWtaU3dnSVNGd2NtOXdjeTV0ZFd4MGFYQnNaU3dnZG1Gc2RXVXNJR1poYkhObEtUdGNiaUFnZlZ4dWZWeHVYRzUyWVhJZ1pHbGtWMkZ5YmxaaGJFUmxabUYxYkhSV1lXd2dQU0JtWVd4elpUdGNibHh1THlvcVhHNGdLaUJKYlhCc1pXMWxiblJ6SUdFZ1BIUmxlSFJoY21WaFBpQm9iM04wSUdOdmJYQnZibVZ1ZENCMGFHRjBJR0ZzYkc5M2N5QnpaWFIwYVc1bklHQjJZV3gxWldBc0lHRnVaRnh1SUNvZ1lHUmxabUYxYkhSV1lXeDFaV0F1SUZSb2FYTWdaR2xtWm1WeWN5Qm1jbTl0SUhSb1pTQjBjbUZrYVhScGIyNWhiQ0JFVDAwZ1FWQkpJR0psWTJGMWMyVWdkbUZzZFdVZ2FYTmNiaUFxSUhWemRXRnNiSGtnYzJWMElHRnpJRkJEUkVGVVFTQmphR2xzWkhKbGJpNWNiaUFxWEc0Z0tpQkpaaUJnZG1Gc2RXVmdJR2x6SUc1dmRDQnpkWEJ3YkdsbFpDQW9iM0lnYm5Wc2JDOTFibVJsWm1sdVpXUXBMQ0IxYzJWeUlHRmpkR2x2Ym5NZ2RHaGhkQ0JoWm1abFkzUWdkR2hsWEc0Z0tpQjJZV3gxWlNCM2FXeHNJSFJ5YVdkblpYSWdkWEJrWVhSbGN5QjBieUIwYUdVZ1pXeGxiV1Z1ZEM1Y2JpQXFYRzRnS2lCSlppQmdkbUZzZFdWZ0lHbHpJSE4xY0hCc2FXVmtJQ2hoYm1RZ2JtOTBJRzUxYkd3dmRXNWtaV1pwYm1Wa0tTd2dkR2hsSUhKbGJtUmxjbVZrSUdWc1pXMWxiblFnZDJsc2JGeHVJQ29nYm05MElIUnlhV2RuWlhJZ2RYQmtZWFJsY3lCMGJ5QjBhR1VnWld4bGJXVnVkQzRnU1c1emRHVmhaQ3dnZEdobElHQjJZV3gxWldBZ2NISnZjQ0J0ZFhOMElHTm9ZVzVuWlNCcGJseHVJQ29nYjNKa1pYSWdabTl5SUhSb1pTQnlaVzVrWlhKbFpDQmxiR1Z0Wlc1MElIUnZJR0psSUhWd1pHRjBaV1F1WEc0Z0tseHVJQ29nVkdobElISmxibVJsY21Wa0lHVnNaVzFsYm5RZ2QybHNiQ0JpWlNCcGJtbDBhV0ZzYVhwbFpDQjNhWFJvSUdGdUlHVnRjSFI1SUhaaGJIVmxMQ0IwYUdVZ2NISnZjRnh1SUNvZ1lHUmxabUYxYkhSV1lXeDFaV0FnYVdZZ2MzQmxZMmxtYVdWa0xDQnZjaUIwYUdVZ1kyaHBiR1J5Wlc0Z1kyOXVkR1Z1ZENBb1pHVndjbVZqWVhSbFpDa3VYRzRnS2k5Y2JtWjFibU4wYVc5dUlHZGxkRWh2YzNSUWNtOXdjeVF6S0dWc1pXMWxiblFzSUhCeWIzQnpLU0I3WEc0Z0lIWmhjaUJ1YjJSbElEMGdaV3hsYldWdWREdGNibHh1SUNCcFppQW9JU2h3Y205d2N5NWtZVzVuWlhKdmRYTnNlVk5sZEVsdWJtVnlTRlJOVENBOVBTQnVkV3hzS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbUJrWVc1blpYSnZkWE5zZVZObGRFbHVibVZ5U0ZSTlRHQWdaRzlsY3lCdWIzUWdiV0ZyWlNCelpXNXpaU0J2YmlBOGRHVjRkR0Z5WldFK0xsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRUZzZDJGNWN5QnpaWFFnWTJocGJHUnlaVzRnZEc4Z2RHaGxJSE5oYldVZ2RHaHBibWN1SUVsdUlFbEZPU3dnZEdobElITmxiR1ZqZEdsdmJpQnlZVzVuWlNCM2FXeHNYRzRnSUM4dklHZGxkQ0J5WlhObGRDQnBaaUJnZEdWNGRFTnZiblJsYm5SZ0lHbHpJRzExZEdGMFpXUXVJQ0JYWlNCamIzVnNaQ0JoWkdRZ1lTQmphR1ZqYXlCcGJpQnpaWFJVWlhoMFEyOXVkR1Z1ZEZ4dUlDQXZMeUIwYnlCdmJteDVJSE5sZENCMGFHVWdkbUZzZFdVZ2FXWXZkMmhsYmlCMGFHVWdkbUZzZFdVZ1pHbG1abVZ5Y3lCbWNtOXRJSFJvWlNCdWIyUmxJSFpoYkhWbElDaDNhR2xqYUNCM2IzVnNaRnh1SUNBdkx5QmpiMjF3YkdWMFpXeDVJSE52YkhabElIUm9hWE1nU1VVNUlHSjFaeWtzSUdKMWRDQlRaV0poYzNScFlXNHJVMjl3YUdsbElITmxaVzFsWkNCMGJ5QnNhV3RsSUhSb2FYTmNiaUFnTHk4Z2MyOXNkWFJwYjI0dUlGUm9aU0IyWVd4MVpTQmpZVzRnWW1VZ1lTQmliMjlzWldGdUlHOXlJRzlpYW1WamRDQnpieUIwYUdGMEozTWdkMmg1SUdsMEozTWdabTl5WTJWa1hHNGdJQzh2SUhSdklHSmxJR0VnYzNSeWFXNW5MbHh1WEc1Y2JpQWdkbUZ5SUdodmMzUlFjbTl3Y3lBOUlGOWhjM05wWjI0b2UzMHNJSEJ5YjNCekxDQjdYRzRnSUNBZ2RtRnNkV1U2SUhWdVpHVm1hVzVsWkN4Y2JpQWdJQ0JrWldaaGRXeDBWbUZzZFdVNklIVnVaR1ZtYVc1bFpDeGNiaUFnSUNCamFHbHNaSEpsYmpvZ2RHOVRkSEpwYm1jb2JtOWtaUzVmZDNKaGNIQmxjbE4wWVhSbExtbHVhWFJwWVd4V1lXeDFaU2xjYmlBZ2ZTazdYRzVjYmlBZ2NtVjBkWEp1SUdodmMzUlFjbTl3Y3p0Y2JuMWNibVoxYm1OMGFXOXVJR2x1YVhSWGNtRndjR1Z5VTNSaGRHVWtNaWhsYkdWdFpXNTBMQ0J3Y205d2N5a2dlMXh1SUNCMllYSWdibTlrWlNBOUlHVnNaVzFsYm5RN1hHNWNiaUFnZTF4dUlDQWdJRkpsWVdOMFEyOXVkSEp2Ykd4bFpGWmhiSFZsVUhKdmNGUjVjR1Z6TG1Ob1pXTnJVSEp2Y0ZSNWNHVnpLQ2QwWlhoMFlYSmxZU2NzSUhCeWIzQnpLVHRjYmx4dUlDQWdJR2xtSUNod2NtOXdjeTUyWVd4MVpTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlIQnliM0J6TG1SbFptRjFiSFJXWVd4MVpTQWhQVDBnZFc1a1pXWnBibVZrSUNZbUlDRmthV1JYWVhKdVZtRnNSR1ZtWVhWc2RGWmhiQ2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6SUdOdmJuUmhhVzV6SUdFZ2RHVjRkR0Z5WldFZ2QybDBhQ0JpYjNSb0lIWmhiSFZsSUdGdVpDQmtaV1poZFd4MFZtRnNkV1VnY0hKdmNITXVJQ2NnS3lBblZHVjRkR0Z5WldFZ1pXeGxiV1Z1ZEhNZ2JYVnpkQ0JpWlNCbGFYUm9aWElnWTI5dWRISnZiR3hsWkNCdmNpQjFibU52Ym5SeWIyeHNaV1FnSnlBcklDY29jM0JsWTJsbWVTQmxhWFJvWlhJZ2RHaGxJSFpoYkhWbElIQnliM0FzSUc5eUlIUm9aU0JrWldaaGRXeDBWbUZzZFdVZ2NISnZjQ3dnWW5WMElHNXZkQ0FuSUNzZ0oySnZkR2dwTGlCRVpXTnBaR1VnWW1WMGQyVmxiaUIxYzJsdVp5QmhJR052Ym5SeWIyeHNaV1FnYjNJZ2RXNWpiMjUwY205c2JHVmtJSFJsZUhSaGNtVmhJQ2NnS3lBbllXNWtJSEpsYlc5MlpTQnZibVVnYjJZZ2RHaGxjMlVnY0hKdmNITXVJRTF2Y21VZ2FXNW1iem9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV052Ym5SeWIyeHNaV1F0WTI5dGNHOXVaVzUwY3ljc0lHZGxkRU4xY25KbGJuUkdhV0psY2s5M2JtVnlUbUZ0WlVsdVJHVjJUM0pPZFd4c0tDa2dmSHdnSjBFZ1kyOXRjRzl1Wlc1MEp5azdYRzVjYmlBZ0lDQWdJR1JwWkZkaGNtNVdZV3hFWldaaGRXeDBWbUZzSUQwZ2RISjFaVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IyWVhJZ2FXNXBkR2xoYkZaaGJIVmxJRDBnY0hKdmNITXVkbUZzZFdVN0lDOHZJRTl1YkhrZ1ltOTBhR1Z5SUdabGRHTm9hVzVuSUdSbFptRjFiSFFnZG1Gc2RXVWdhV1lnZDJVbmNtVWdaMjlwYm1jZ2RHOGdkWE5sSUdsMFhHNWNiaUFnYVdZZ0tHbHVhWFJwWVd4V1lXeDFaU0E5UFNCdWRXeHNLU0I3WEc0Z0lDQWdkbUZ5SUdOb2FXeGtjbVZ1SUQwZ2NISnZjSE11WTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0FnSUdSbFptRjFiSFJXWVd4MVpTQTlJSEJ5YjNCekxtUmxabUYxYkhSV1lXeDFaVHRjYmx4dUlDQWdJR2xtSUNoamFHbHNaSEpsYmlBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkVmMyVWdkR2hsSUdCa1pXWmhkV3gwVm1Gc2RXVmdJRzl5SUdCMllXeDFaV0FnY0hKdmNITWdhVzV6ZEdWaFpDQnZaaUJ6WlhSMGFXNW5JQ2NnS3lBblkyaHBiR1J5Wlc0Z2IyNGdQSFJsZUhSaGNtVmhQaTRuS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVNoa1pXWmhkV3gwVm1Gc2RXVWdQVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkpaaUI1YjNVZ2MzVndjR3g1SUdCa1pXWmhkV3gwVm1Gc2RXVmdJRzl1SUdFZ1BIUmxlSFJoY21WaFBpd2daRzhnYm05MElIQmhjM01nWTJocGJHUnlaVzR1WENJZ0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGphR2xzWkhKbGJpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JU2hqYUdsc1pISmxiaTVzWlc1bmRHZ2dQRDBnTVNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lQSFJsZUhSaGNtVmhQaUJqWVc0Z2IyNXNlU0JvWVhabElHRjBJRzF2YzNRZ2IyNWxJR05vYVd4a0xsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdZMmhwYkdSeVpXNGdQU0JqYUdsc1pISmxibHN3WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR1JsWm1GMWJIUldZV3gxWlNBOUlHTm9hV3hrY21WdU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGtaV1poZFd4MFZtRnNkV1VnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnWkdWbVlYVnNkRlpoYkhWbElEMGdKeWM3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhVzVwZEdsaGJGWmhiSFZsSUQwZ1pHVm1ZWFZzZEZaaGJIVmxPMXh1SUNCOVhHNWNiaUFnYm05a1pTNWZkM0poY0hCbGNsTjBZWFJsSUQwZ2UxeHVJQ0FnSUdsdWFYUnBZV3hXWVd4MVpUb2daMlYwVkc5VGRISnBibWRXWVd4MVpTaHBibWwwYVdGc1ZtRnNkV1VwWEc0Z0lIMDdYRzU5WEc1bWRXNWpkR2x2YmlCMWNHUmhkR1ZYY21Gd2NHVnlKREVvWld4bGJXVnVkQ3dnY0hKdmNITXBJSHRjYmlBZ2RtRnlJRzV2WkdVZ1BTQmxiR1Z0Wlc1ME8xeHVJQ0IyWVhJZ2RtRnNkV1VnUFNCblpYUlViMU4wY21sdVoxWmhiSFZsS0hCeWIzQnpMblpoYkhWbEtUdGNiaUFnZG1GeUlHUmxabUYxYkhSV1lXeDFaU0E5SUdkbGRGUnZVM1J5YVc1blZtRnNkV1VvY0hKdmNITXVaR1ZtWVhWc2RGWmhiSFZsS1R0Y2JseHVJQ0JwWmlBb2RtRnNkV1VnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQzh2SUVOaGMzUWdZSFpoYkhWbFlDQjBieUJoSUhOMGNtbHVaeUIwYnlCbGJuTjFjbVVnZEdobElIWmhiSFZsSUdseklITmxkQ0JqYjNKeVpXTjBiSGt1SUZkb2FXeGxYRzRnSUNBZ0x5OGdZbkp2ZDNObGNuTWdkSGx3YVdOaGJHeDVJR1J2SUhSb2FYTWdZWE1nYm1WalpYTnpZWEo1TENCcWMyUnZiU0JrYjJWemJpZDBMbHh1SUNBZ0lIWmhjaUJ1WlhkV1lXeDFaU0E5SUhSdlUzUnlhVzVuS0haaGJIVmxLVHNnTHk4Z1ZHOGdZWFp2YVdRZ2MybGtaU0JsWm1abFkzUnpJQ2h6ZFdOb0lHRnpJR3h2YzJsdVp5QjBaWGgwSUhObGJHVmpkR2x2Ymlrc0lHOXViSGtnYzJWMElIWmhiSFZsSUdsbUlHTm9ZVzVuWldSY2JseHVJQ0FnSUdsbUlDaHVaWGRXWVd4MVpTQWhQVDBnYm05a1pTNTJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ2JtOWtaUzUyWVd4MVpTQTlJRzVsZDFaaGJIVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2h3Y205d2N5NWtaV1poZFd4MFZtRnNkV1VnUFQwZ2JuVnNiQ0FtSmlCdWIyUmxMbVJsWm1GMWJIUldZV3gxWlNBaFBUMGdibVYzVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJRzV2WkdVdVpHVm1ZWFZzZEZaaGJIVmxJRDBnYm1WM1ZtRnNkV1U3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tHUmxabUYxYkhSV1lXeDFaU0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdibTlrWlM1a1pXWmhkV3gwVm1Gc2RXVWdQU0IwYjFOMGNtbHVaeWhrWldaaGRXeDBWbUZzZFdVcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQndiM04wVFc5MWJuUlhjbUZ3Y0dWeUpETW9aV3hsYldWdWRDd2djSEp2Y0hNcElIdGNiaUFnZG1GeUlHNXZaR1VnUFNCbGJHVnRaVzUwT3lBdkx5QlVhR2x6SUdseklHbHVJSEJ2YzNSTmIzVnVkQ0JpWldOaGRYTmxJSGRsSUc1bFpXUWdZV05qWlhOeklIUnZJSFJvWlNCRVQwMGdibTlrWlN3Z2QyaHBZMmdnYVhNZ2JtOTBYRzRnSUM4dklHRjJZV2xzWVdKc1pTQjFiblJwYkNCaFpuUmxjaUIwYUdVZ1kyOXRjRzl1Wlc1MElHaGhjeUJ0YjNWdWRHVmtMbHh1WEc0Z0lIWmhjaUIwWlhoMFEyOXVkR1Z1ZENBOUlHNXZaR1V1ZEdWNGRFTnZiblJsYm5RN0lDOHZJRTl1YkhrZ2MyVjBJRzV2WkdVdWRtRnNkV1VnYVdZZ2RHVjRkRU52Ym5SbGJuUWdhWE1nWlhGMVlXd2dkRzhnZEdobElHVjRjR1ZqZEdWa1hHNGdJQzh2SUdsdWFYUnBZV3dnZG1Gc2RXVXVJRWx1SUVsRk1UQXZTVVV4TVNCMGFHVnlaU0JwY3lCaElHSjFaeUIzYUdWeVpTQjBhR1VnY0d4aFkyVm9iMnhrWlhJZ1lYUjBjbWxpZFhSbFhHNGdJQzh2SUhkcGJHd2djRzl3ZFd4aGRHVWdkR1Y0ZEVOdmJuUmxiblFnWVhNZ2QyVnNiQzVjYmlBZ0x5OGdhSFIwY0hNNkx5OWtaWFpsYkc5d1pYSXViV2xqY205emIyWjBMbU52YlM5dGFXTnliM052Wm5RdFpXUm5aUzl3YkdGMFptOXliUzlwYzNOMVpYTXZNVEF4TlRJMUwxeHVYRzRnSUdsbUlDaDBaWGgwUTI5dWRHVnVkQ0E5UFQwZ2JtOWtaUzVmZDNKaGNIQmxjbE4wWVhSbExtbHVhWFJwWVd4V1lXeDFaU2tnZTF4dUlDQWdJR2xtSUNoMFpYaDBRMjl1ZEdWdWRDQWhQVDBnSnljZ0ppWWdkR1Y0ZEVOdmJuUmxiblFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUc1dlpHVXVkbUZzZFdVZ1BTQjBaWGgwUTI5dWRHVnVkRHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSEpsYzNSdmNtVkRiMjUwY205c2JHVmtVM1JoZEdVa01paGxiR1Z0Wlc1MExDQndjbTl3Y3lrZ2UxeHVJQ0F2THlCRVQwMGdZMjl0Y0c5dVpXNTBJR2x6SUhOMGFXeHNJRzF2ZFc1MFpXUTdJSFZ3WkdGMFpWeHVJQ0IxY0dSaGRHVlhjbUZ3Y0dWeUpERW9aV3hsYldWdWRDd2djSEp2Y0hNcE8xeHVmVnh1WEc1MllYSWdTRlJOVEY5T1FVMUZVMUJCUTBVZ1BTQW5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGFIUnRiQ2M3WEc1MllYSWdUVUZVU0Y5T1FVMUZVMUJCUTBVZ1BTQW5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T0M5TllYUm9MMDFoZEdoTlRDYzdYRzUyWVhJZ1UxWkhYMDVCVFVWVFVFRkRSU0E5SUNkb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnljN1hHNTJZWElnVG1GdFpYTndZV05sY3lBOUlIdGNiaUFnYUhSdGJEb2dTRlJOVEY5T1FVMUZVMUJCUTBVc1hHNGdJRzFoZEdodGJEb2dUVUZVU0Y5T1FVMUZVMUJCUTBVc1hHNGdJSE4yWnpvZ1UxWkhYMDVCVFVWVFVFRkRSVnh1ZlRzZ0x5OGdRWE56ZFcxbGN5QjBhR1Z5WlNCcGN5QnVieUJ3WVhKbGJuUWdibUZ0WlhOd1lXTmxMbHh1WEc1bWRXNWpkR2x2YmlCblpYUkpiblJ5YVc1emFXTk9ZVzFsYzNCaFkyVW9kSGx3WlNrZ2UxeHVJQ0J6ZDJsMFkyZ2dLSFI1Y0dVcElIdGNiaUFnSUNCallYTmxJQ2R6ZG1jbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZOV1IxOU9RVTFGVTFCQlEwVTdYRzVjYmlBZ0lDQmpZWE5sSUNkdFlYUm9KenBjYmlBZ0lDQWdJSEpsZEhWeWJpQk5RVlJJWDA1QlRVVlRVRUZEUlR0Y2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdTRlJOVEY5T1FVMUZVMUJCUTBVN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHZGxkRU5vYVd4a1RtRnRaWE53WVdObEtIQmhjbVZ1ZEU1aGJXVnpjR0ZqWlN3Z2RIbHdaU2tnZTF4dUlDQnBaaUFvY0dGeVpXNTBUbUZ0WlhOd1lXTmxJRDA5SUc1MWJHd2dmSHdnY0dGeVpXNTBUbUZ0WlhOd1lXTmxJRDA5UFNCSVZFMU1YMDVCVFVWVFVFRkRSU2tnZTF4dUlDQWdJQzh2SUU1dklDaHZjaUJrWldaaGRXeDBLU0J3WVhKbGJuUWdibUZ0WlhOd1lXTmxPaUJ3YjNSbGJuUnBZV3dnWlc1MGNua2djRzlwYm5RdVhHNGdJQ0FnY21WMGRYSnVJR2RsZEVsdWRISnBibk5wWTA1aGJXVnpjR0ZqWlNoMGVYQmxLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHdZWEpsYm5ST1lXMWxjM0JoWTJVZ1BUMDlJRk5XUjE5T1FVMUZVMUJCUTBVZ0ppWWdkSGx3WlNBOVBUMGdKMlp2Y21WcFoyNVBZbXBsWTNRbktTQjdYRzRnSUNBZ0x5OGdWMlVuY21VZ2JHVmhkbWx1WnlCVFZrY3VYRzRnSUNBZ2NtVjBkWEp1SUVoVVRVeGZUa0ZOUlZOUVFVTkZPMXh1SUNCOUlDOHZJRUo1SUdSbFptRjFiSFFzSUhCaGMzTWdibUZ0WlhOd1lXTmxJR0psYkc5M0xseHVYRzVjYmlBZ2NtVjBkWEp1SUhCaGNtVnVkRTVoYldWemNHRmpaVHRjYm4xY2JseHVMeW9nWjJ4dlltRnNjeUJOVTBGd2NDQXFMMXh1WEc0dktpcGNiaUFxSUVOeVpXRjBaU0JoSUdaMWJtTjBhVzl1SUhkb2FXTm9JR2hoY3lBbmRXNXpZV1psSnlCd2NtbDJhV3hsWjJWeklDaHlaWEYxYVhKbFpDQmllU0IzYVc1a2IzZHpPQ0JoY0hCektWeHVJQ292WEc1MllYSWdZM0psWVhSbFRXbGpjbTl6YjJaMFZXNXpZV1psVEc5allXeEdkVzVqZEdsdmJpQTlJR1oxYm1OMGFXOXVJQ2htZFc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1RWTkJjSEFnSVQwOUlDZDFibVJsWm1sdVpXUW5JQ1ltSUUxVFFYQndMbVY0WldOVmJuTmhabVZNYjJOaGJFWjFibU4wYVc5dUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUNoaGNtY3dMQ0JoY21jeExDQmhjbWN5TENCaGNtY3pLU0I3WEc0Z0lDQWdJQ0JOVTBGd2NDNWxlR1ZqVlc1ellXWmxURzlqWVd4R2RXNWpkR2x2YmlobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm1kVzVqS0dGeVp6QXNJR0Z5WnpFc0lHRnlaeklzSUdGeVp6TXBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdmVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WlhSMWNtNGdablZ1WXp0Y2JpQWdmVnh1ZlR0Y2JseHVkbUZ5SUhKbGRYTmhZbXhsVTFaSFEyOXVkR0ZwYm1WeU8xeHVMeW9xWEc0Z0tpQlRaWFFnZEdobElHbHVibVZ5U0ZSTlRDQndjbTl3WlhKMGVTQnZaaUJoSUc1dlpHVmNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UwUlBUVVZzWlcxbGJuUjlJRzV2WkdWY2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQm9kRzFzWEc0Z0tpQkFhVzUwWlhKdVlXeGNiaUFxTDF4dVhHNTJZWElnYzJWMFNXNXVaWEpJVkUxTUlEMGdZM0psWVhSbFRXbGpjbTl6YjJaMFZXNXpZV1psVEc5allXeEdkVzVqZEdsdmJpaG1kVzVqZEdsdmJpQW9ibTlrWlN3Z2FIUnRiQ2tnZTF4dUlDQnBaaUFvYm05a1pTNXVZVzFsYzNCaFkyVlZVa2tnUFQwOUlFNWhiV1Z6Y0dGalpYTXVjM1puS1NCN1hHNWNiaUFnSUNCcFppQW9JU2duYVc1dVpYSklWRTFNSnlCcGJpQnViMlJsS1NrZ2UxeHVJQ0FnSUNBZ0x5OGdTVVVnWkc5bGN5QnViM1FnYUdGMlpTQnBibTVsY2toVVRVd2dabTl5SUZOV1J5QnViMlJsY3l3Z2MyOGdhVzV6ZEdWaFpDQjNaU0JwYm1wbFkzUWdkR2hsWEc0Z0lDQWdJQ0F2THlCdVpYY2diV0Z5YTNWd0lHbHVJR0VnZEdWdGNDQnViMlJsSUdGdVpDQjBhR1Z1SUcxdmRtVWdkR2hsSUdOb2FXeGtJRzV2WkdWeklHRmpjbTl6Y3lCcGJuUnZYRzRnSUNBZ0lDQXZMeUIwYUdVZ2RHRnlaMlYwSUc1dlpHVmNiaUFnSUNBZ0lISmxkWE5oWW14bFUxWkhRMjl1ZEdGcGJtVnlJRDBnY21WMWMyRmliR1ZUVmtkRGIyNTBZV2x1WlhJZ2ZId2daRzlqZFcxbGJuUXVZM0psWVhSbFJXeGxiV1Z1ZENnblpHbDJKeWs3WEc0Z0lDQWdJQ0J5WlhWellXSnNaVk5XUjBOdmJuUmhhVzVsY2k1cGJtNWxja2hVVFV3Z1BTQW5QSE4yWno0bklDc2dhSFJ0YkM1MllXeDFaVTltS0NrdWRHOVRkSEpwYm1jb0tTQXJJQ2M4TDNOMlp6NG5PMXh1SUNBZ0lDQWdkbUZ5SUhOMlowNXZaR1VnUFNCeVpYVnpZV0pzWlZOV1IwTnZiblJoYVc1bGNpNW1hWEp6ZEVOb2FXeGtPMXh1WEc0Z0lDQWdJQ0IzYUdsc1pTQW9ibTlrWlM1bWFYSnpkRU5vYVd4a0tTQjdYRzRnSUNBZ0lDQWdJRzV2WkdVdWNtVnRiM1psUTJocGJHUW9ibTlrWlM1bWFYSnpkRU5vYVd4a0tUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkMmhwYkdVZ0tITjJaMDV2WkdVdVptbHljM1JEYUdsc1pDa2dlMXh1SUNBZ0lDQWdJQ0J1YjJSbExtRndjR1Z1WkVOb2FXeGtLSE4yWjA1dlpHVXVabWx5YzNSRGFHbHNaQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J1YjJSbExtbHVibVZ5U0ZSTlRDQTlJR2gwYld3N1hHNTlLVHRjYmx4dUx5b3FYRzRnS2lCSVZFMU1JRzV2WkdWVWVYQmxJSFpoYkhWbGN5QjBhR0YwSUhKbGNISmxjMlZ1ZENCMGFHVWdkSGx3WlNCdlppQjBhR1VnYm05a1pWeHVJQ292WEc1MllYSWdSVXhGVFVWT1ZGOU9UMFJGSUQwZ01UdGNiblpoY2lCVVJWaFVYMDVQUkVVZ1BTQXpPMXh1ZG1GeUlFTlBUVTFGVGxSZlRrOUVSU0E5SURnN1hHNTJZWElnUkU5RFZVMUZUbFJmVGs5RVJTQTlJRGs3WEc1MllYSWdSRTlEVlUxRlRsUmZSbEpCUjAxRlRsUmZUazlFUlNBOUlERXhPMXh1WEc0dktpcGNiaUFxSUZObGRDQjBhR1VnZEdWNGRFTnZiblJsYm5RZ2NISnZjR1Z5ZEhrZ2IyWWdZU0J1YjJSbExpQkdiM0lnZEdWNGRDQjFjR1JoZEdWekxDQnBkQ2R6SUdaaGMzUmxjbHh1SUNvZ2RHOGdjMlYwSUhSb1pTQmdibTlrWlZaaGJIVmxZQ0J2WmlCMGFHVWdWR1Y0ZENCdWIyUmxJR1JwY21WamRHeDVJR2x1YzNSbFlXUWdiMllnZFhOcGJtZGNiaUFxSUdBdWRHVjRkRU52Ym5SbGJuUmdJSGRvYVdOb0lIZHBiR3dnY21WdGIzWmxJSFJvWlNCbGVHbHpkR2x1WnlCdWIyUmxJR0Z1WkNCamNtVmhkR1VnWVNCdVpYY2diMjVsTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3UkU5TlJXeGxiV1Z1ZEgwZ2JtOWtaVnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhSbGVIUmNiaUFxSUVCcGJuUmxjbTVoYkZ4dUlDb3ZYRzVjYm5aaGNpQnpaWFJVWlhoMFEyOXVkR1Z1ZENBOUlHWjFibU4wYVc5dUlDaHViMlJsTENCMFpYaDBLU0I3WEc0Z0lHbG1JQ2gwWlhoMEtTQjdYRzRnSUNBZ2RtRnlJR1pwY25OMFEyaHBiR1FnUFNCdWIyUmxMbVpwY25OMFEyaHBiR1E3WEc1Y2JpQWdJQ0JwWmlBb1ptbHljM1JEYUdsc1pDQW1KaUJtYVhKemRFTm9hV3hrSUQwOVBTQnViMlJsTG14aGMzUkRhR2xzWkNBbUppQm1hWEp6ZEVOb2FXeGtMbTV2WkdWVWVYQmxJRDA5UFNCVVJWaFVYMDVQUkVVcElIdGNiaUFnSUNBZ0lHWnBjbk4wUTJocGJHUXVibTlrWlZaaGJIVmxJRDBnZEdWNGREdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCdWIyUmxMblJsZUhSRGIyNTBaVzUwSUQwZ2RHVjRkRHRjYm4wN1hHNWNiaTh2SUVSdklHNXZkQ0IxYzJVZ2RHaGxJR0psYkc5M0lIUjNieUJ0WlhSb2IyUnpJR1JwY21WamRHeDVJVnh1THk4Z1NXNXpkR1ZoWkNCMWMyVWdZMjl1YzNSaGJuUnpJR1Y0Y0c5eWRHVmtJR1p5YjIwZ1JFOU5WRzl3VEdWMlpXeEZkbVZ1ZEZSNWNHVnpJR2x1SUZKbFlXTjBSRTlOTGx4dUx5OGdLRWwwSUdseklIUm9aU0J2Ym14NUlHMXZaSFZzWlNCMGFHRjBJR2x6SUdGc2JHOTNaV1FnZEc4Z1lXTmpaWE56SUhSb1pYTmxJRzFsZEdodlpITXVLVnh1Wm5WdVkzUnBiMjRnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLSFJ2Y0V4bGRtVnNWSGx3WlNrZ2UxeHVJQ0J5WlhSMWNtNGdkRzl3VEdWMlpXeFVlWEJsTzF4dWZWeHVablZ1WTNScGIyNGdkVzV6WVdabFEyRnpkRVJQVFZSdmNFeGxkbVZzVkhsd1pWUnZVM1J5YVc1bktIUnZjRXhsZG1Wc1ZIbHdaU2tnZTF4dUlDQnlaWFIxY200Z2RHOXdUR1YyWld4VWVYQmxPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFZGxibVZ5WVhSbElHRWdiV0Z3Y0dsdVp5QnZaaUJ6ZEdGdVpHRnlaQ0IyWlc1a2IzSWdjSEpsWm1sNFpYTWdkWE5wYm1jZ2RHaGxJR1JsWm1sdVpXUWdjM1I1YkdVZ2NISnZjR1Z5ZEhrZ1lXNWtJR1YyWlc1MElHNWhiV1V1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSE4wZVd4bFVISnZjRnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUdWMlpXNTBUbUZ0WlZ4dUlDb2dRSEpsZEhWeWJuTWdlMjlpYW1WamRIMWNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnRZV3RsVUhKbFptbDRUV0Z3S0hOMGVXeGxVSEp2Y0N3Z1pYWmxiblJPWVcxbEtTQjdYRzRnSUhaaGNpQndjbVZtYVhobGN5QTlJSHQ5TzF4dUlDQndjbVZtYVhobGMxdHpkSGxzWlZCeWIzQXVkRzlNYjNkbGNrTmhjMlVvS1YwZ1BTQmxkbVZ1ZEU1aGJXVXVkRzlNYjNkbGNrTmhjMlVvS1R0Y2JpQWdjSEpsWm1sNFpYTmJKMWRsWW10cGRDY2dLeUJ6ZEhsc1pWQnliM0JkSUQwZ0ozZGxZbXRwZENjZ0t5QmxkbVZ1ZEU1aGJXVTdYRzRnSUhCeVpXWnBlR1Z6V3lkTmIzb25JQ3NnYzNSNWJHVlFjbTl3WFNBOUlDZHRiM29uSUNzZ1pYWmxiblJPWVcxbE8xeHVJQ0J5WlhSMWNtNGdjSEpsWm1sNFpYTTdYRzU5WEc0dktpcGNiaUFxSUVFZ2JHbHpkQ0J2WmlCbGRtVnVkQ0J1WVcxbGN5QjBieUJoSUdOdmJtWnBaM1Z5WVdKc1pTQnNhWE4wSUc5bUlIWmxibVJ2Y2lCd2NtVm1hWGhsY3k1Y2JpQXFMMXh1WEc1Y2JuWmhjaUIyWlc1a2IzSlFjbVZtYVhobGN5QTlJSHRjYmlBZ1lXNXBiV0YwYVc5dVpXNWtPaUJ0WVd0bFVISmxabWw0VFdGd0tDZEJibWx0WVhScGIyNG5MQ0FuUVc1cGJXRjBhVzl1Ulc1a0p5a3NYRzRnSUdGdWFXMWhkR2x2Ym1sMFpYSmhkR2x2YmpvZ2JXRnJaVkJ5WldacGVFMWhjQ2duUVc1cGJXRjBhVzl1Snl3Z0owRnVhVzFoZEdsdmJrbDBaWEpoZEdsdmJpY3BMRnh1SUNCaGJtbHRZWFJwYjI1emRHRnlkRG9nYldGclpWQnlaV1pwZUUxaGNDZ25RVzVwYldGMGFXOXVKeXdnSjBGdWFXMWhkR2x2YmxOMFlYSjBKeWtzWEc0Z0lIUnlZVzV6YVhScGIyNWxibVE2SUcxaGEyVlFjbVZtYVhoTllYQW9KMVJ5WVc1emFYUnBiMjRuTENBblZISmhibk5wZEdsdmJrVnVaQ2NwWEc1OU8xeHVMeW9xWEc0Z0tpQkZkbVZ1ZENCdVlXMWxjeUIwYUdGMElHaGhkbVVnWVd4eVpXRmtlU0JpWldWdUlHUmxkR1ZqZEdWa0lHRnVaQ0J3Y21WbWFYaGxaQ0FvYVdZZ1lYQndiR2xqWVdKc1pTa3VYRzRnS2k5Y2JseHVkbUZ5SUhCeVpXWnBlR1ZrUlhabGJuUk9ZVzFsY3lBOUlIdDlPMXh1THlvcVhHNGdLaUJGYkdWdFpXNTBJSFJ2SUdOb1pXTnJJR1p2Y2lCd2NtVm1hWGhsY3lCdmJpNWNiaUFxTDF4dVhHNTJZWElnYzNSNWJHVWdQU0I3ZlR0Y2JpOHFLbHh1SUNvZ1FtOXZkSE4wY21Gd0lHbG1JR0VnUkU5TklHVjRhWE4wY3k1Y2JpQXFMMXh1WEc1cFppQW9ZMkZ1VlhObFJFOU5LU0I3WEc0Z0lITjBlV3hsSUQwZ1pHOWpkVzFsYm5RdVkzSmxZWFJsUld4bGJXVnVkQ2duWkdsMkp5a3VjM1I1YkdVN0lDOHZJRTl1SUhOdmJXVWdjR3hoZEdadmNtMXpMQ0JwYmlCd1lYSjBhV04xYkdGeUlITnZiV1VnY21Wc1pXRnpaWE1nYjJZZ1FXNWtjbTlwWkNBMExuZ3NYRzRnSUM4dklIUm9aU0IxYmkxd2NtVm1hWGhsWkNCY0ltRnVhVzFoZEdsdmJsd2lJR0Z1WkNCY0luUnlZVzV6YVhScGIyNWNJaUJ3Y205d1pYSjBhV1Z6SUdGeVpTQmtaV1pwYm1Wa0lHOXVJSFJvWlZ4dUlDQXZMeUJ6ZEhsc1pTQnZZbXBsWTNRZ1luVjBJSFJvWlNCbGRtVnVkSE1nZEdoaGRDQm1hWEpsSUhkcGJHd2djM1JwYkd3Z1ltVWdjSEpsWm1sNFpXUXNJSE52SUhkbElHNWxaV1JjYmlBZ0x5OGdkRzhnWTJobFkyc2dhV1lnZEdobElIVnVMWEJ5WldacGVHVmtJR1YyWlc1MGN5QmhjbVVnZFhOaFlteGxMQ0JoYm1RZ2FXWWdibTkwSUhKbGJXOTJaU0IwYUdWdElHWnliMjBnZEdobElHMWhjQzVjYmx4dUlDQnBaaUFvSVNnblFXNXBiV0YwYVc5dVJYWmxiblFuSUdsdUlIZHBibVJ2ZHlrcElIdGNiaUFnSUNCa1pXeGxkR1VnZG1WdVpHOXlVSEpsWm1sNFpYTXVZVzVwYldGMGFXOXVaVzVrTG1GdWFXMWhkR2x2Ymp0Y2JpQWdJQ0JrWld4bGRHVWdkbVZ1Wkc5eVVISmxabWw0WlhNdVlXNXBiV0YwYVc5dWFYUmxjbUYwYVc5dUxtRnVhVzFoZEdsdmJqdGNiaUFnSUNCa1pXeGxkR1VnZG1WdVpHOXlVSEpsWm1sNFpYTXVZVzVwYldGMGFXOXVjM1JoY25RdVlXNXBiV0YwYVc5dU8xeHVJQ0I5SUM4dklGTmhiV1VnWVhNZ1lXSnZkbVZjYmx4dVhHNGdJR2xtSUNnaEtDZFVjbUZ1YzJsMGFXOXVSWFpsYm5RbklHbHVJSGRwYm1SdmR5a3BJSHRjYmlBZ0lDQmtaV3hsZEdVZ2RtVnVaRzl5VUhKbFptbDRaWE11ZEhKaGJuTnBkR2x2Ym1WdVpDNTBjbUZ1YzJsMGFXOXVPMXh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRUYwZEdWdGNIUnpJSFJ2SUdSbGRHVnliV2x1WlNCMGFHVWdZMjl5Y21WamRDQjJaVzVrYjNJZ2NISmxabWw0WldRZ1pYWmxiblFnYm1GdFpTNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ1pYWmxiblJPWVcxbFhHNGdLaUJBY21WMGRYSnVjeUI3YzNSeWFXNW5mVnh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnWjJWMFZtVnVaRzl5VUhKbFptbDRaV1JGZG1WdWRFNWhiV1VvWlhabGJuUk9ZVzFsS1NCN1hHNGdJR2xtSUNod2NtVm1hWGhsWkVWMlpXNTBUbUZ0WlhOYlpYWmxiblJPWVcxbFhTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCd2NtVm1hWGhsWkVWMlpXNTBUbUZ0WlhOYlpYWmxiblJPWVcxbFhUdGNiaUFnZlNCbGJITmxJR2xtSUNnaGRtVnVaRzl5VUhKbFptbDRaWE5iWlhabGJuUk9ZVzFsWFNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJsZG1WdWRFNWhiV1U3WEc0Z0lIMWNibHh1SUNCMllYSWdjSEpsWm1sNFRXRndJRDBnZG1WdVpHOXlVSEpsWm1sNFpYTmJaWFpsYm5ST1lXMWxYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnpkSGxzWlZCeWIzQWdhVzRnY0hKbFptbDRUV0Z3S1NCN1hHNGdJQ0FnYVdZZ0tIQnlaV1pwZUUxaGNDNW9ZWE5QZDI1UWNtOXdaWEowZVNoemRIbHNaVkJ5YjNBcElDWW1JSE4wZVd4bFVISnZjQ0JwYmlCemRIbHNaU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSEJ5WldacGVHVmtSWFpsYm5ST1lXMWxjMXRsZG1WdWRFNWhiV1ZkSUQwZ2NISmxabWw0VFdGd1czTjBlV3hsVUhKdmNGMDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHVjJaVzUwVG1GdFpUdGNibjFjYmx4dUx5b3FYRzRnS2lCVWJ5QnBaR1Z1ZEdsbWVTQjBiM0FnYkdWMlpXd2daWFpsYm5SeklHbHVJRkpsWVdOMFJFOU5MQ0IzWlNCMWMyVWdZMjl1YzNSaGJuUnpJR1JsWm1sdVpXUWdZbmtnZEdocGMxeHVJQ29nYlc5a2RXeGxMaUJVYUdseklHbHpJSFJvWlNCdmJteDVJRzF2WkhWc1pTQjBhR0YwSUhWelpYTWdkR2hsSUhWdWMyRm1aU29nYldWMGFHOWtjeUIwYnlCbGVIQnlaWE56WEc0Z0tpQjBhR0YwSUhSb1pTQmpiMjV6ZEdGdWRITWdZV04wZFdGc2JIa2dZMjl5Y21WemNHOXVaQ0IwYnlCMGFHVWdZbkp2ZDNObGNpQmxkbVZ1ZENCdVlXMWxjeTRnVkdocGN5QnNaWFJ6WEc0Z0tpQjFjeUJ6WVhabElITnZiV1VnWW5WdVpHeGxJSE5wZW1VZ1lua2dZWFp2YVdScGJtY2dZU0IwYjNBZ2JHVjJaV3dnZEhsd1pTQXRQaUJsZG1WdWRDQnVZVzFsSUcxaGNDNWNiaUFxSUZSb1pTQnlaWE4wSUc5bUlGSmxZV04wUkU5TklHTnZaR1VnYzJodmRXeGtJR2x0Y0c5eWRDQjBiM0FnYkdWMlpXd2dkSGx3WlhNZ1puSnZiU0IwYUdseklHWnBiR1V1WEc0Z0tpOWNibHh1ZG1GeUlGUlBVRjlCUWs5U1ZDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25ZV0p2Y25RbktUdGNiblpoY2lCVVQxQmZRVTVKVFVGVVNVOU9YMFZPUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNoblpYUldaVzVrYjNKUWNtVm1hWGhsWkVWMlpXNTBUbUZ0WlNnbllXNXBiV0YwYVc5dVpXNWtKeWtwTzF4dWRtRnlJRlJQVUY5QlRrbE5RVlJKVDA1ZlNWUkZVa0ZVU1U5T0lEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtHZGxkRlpsYm1SdmNsQnlaV1pwZUdWa1JYWmxiblJPWVcxbEtDZGhibWx0WVhScGIyNXBkR1Z5WVhScGIyNG5LU2s3WEc1MllYSWdWRTlRWDBGT1NVMUJWRWxQVGw5VFZFRlNWQ0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2huWlhSV1pXNWtiM0pRY21WbWFYaGxaRVYyWlc1MFRtRnRaU2duWVc1cGJXRjBhVzl1YzNSaGNuUW5LU2s3WEc1MllYSWdWRTlRWDBKTVZWSWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMkpzZFhJbktUdGNiblpoY2lCVVQxQmZRMEZPWDFCTVFWa2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMk5oYm5Cc1lYa25LVHRjYm5aaGNpQlVUMUJmUTBGT1gxQk1RVmxmVkVoU1QxVkhTQ0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duWTJGdWNHeGhlWFJvY205MVoyZ25LVHRjYm5aaGNpQlVUMUJmUTBGT1EwVk1JRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RqWVc1alpXd25LVHRjYm5aaGNpQlVUMUJmUTBoQlRrZEZJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RqYUdGdVoyVW5LVHRjYm5aaGNpQlVUMUJmUTB4SlEwc2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMk5zYVdOckp5azdYRzUyWVhJZ1ZFOVFYME5NVDFORklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGpiRzl6WlNjcE8xeHVkbUZ5SUZSUFVGOURUMDFRVDFOSlZFbFBUbDlGVGtRZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0oyTnZiWEJ2YzJsMGFXOXVaVzVrSnlrN1hHNTJZWElnVkU5UVgwTlBUVkJQVTBsVVNVOU9YMU5VUVZKVUlEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGpiMjF3YjNOcGRHbHZibk4wWVhKMEp5azdYRzUyWVhJZ1ZFOVFYME5QVFZCUFUwbFVTVTlPWDFWUVJFRlVSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duWTI5dGNHOXphWFJwYjI1MWNHUmhkR1VuS1R0Y2JuWmhjaUJVVDFCZlEwOU9WRVZZVkY5TlJVNVZJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RqYjI1MFpYaDBiV1Z1ZFNjcE8xeHVkbUZ5SUZSUFVGOURUMUJaSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkamIzQjVKeWs3WEc1MllYSWdWRTlRWDBOVlZDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25ZM1YwSnlrN1hHNTJZWElnVkU5UVgwUlBWVUpNUlY5RFRFbERTeUE5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duWkdKc1kyeHBZMnNuS1R0Y2JuWmhjaUJVVDFCZlFWVllYME5NU1VOTElEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGhkWGhqYkdsamF5Y3BPMXh1ZG1GeUlGUlBVRjlFVWtGSElEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGtjbUZuSnlrN1hHNTJZWElnVkU5UVgwUlNRVWRmUlU1RUlEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZGtjbUZuWlc1a0p5azdYRzUyWVhJZ1ZFOVFYMFJTUVVkZlJVNVVSVklnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJSeVlXZGxiblJsY2ljcE8xeHVkbUZ5SUZSUFVGOUVVa0ZIWDBWWVNWUWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMlJ5WVdkbGVHbDBKeWs3WEc1MllYSWdWRTlRWDBSU1FVZGZURVZCVmtVZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0oyUnlZV2RzWldGMlpTY3BPMXh1ZG1GeUlGUlBVRjlFVWtGSFgwOVdSVklnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJSeVlXZHZkbVZ5SnlrN1hHNTJZWElnVkU5UVgwUlNRVWRmVTFSQlVsUWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMlJ5WVdkemRHRnlkQ2NwTzF4dWRtRnlJRlJQVUY5RVVrOVFJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RrY205d0p5azdYRzUyWVhJZ1ZFOVFYMFJWVWtGVVNVOU9YME5JUVU1SFJTQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25aSFZ5WVhScGIyNWphR0Z1WjJVbktUdGNiblpoY2lCVVQxQmZSVTFRVkVsRlJDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25aVzF3ZEdsbFpDY3BPMXh1ZG1GeUlGUlBVRjlGVGtOU1dWQlVSVVFnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJWdVkzSjVjSFJsWkNjcE8xeHVkbUZ5SUZSUFVGOUZUa1JGUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnblpXNWtaV1FuS1R0Y2JuWmhjaUJVVDFCZlJWSlNUMUlnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJWeWNtOXlKeWs3WEc1MllYSWdWRTlRWDBaUFExVlRJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2RtYjJOMWN5Y3BPMXh1ZG1GeUlGUlBVRjlIVDFSZlVFOUpUbFJGVWw5RFFWQlVWVkpGSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkbmIzUndiMmx1ZEdWeVkyRndkSFZ5WlNjcE8xeHVkbUZ5SUZSUFVGOUpUbEJWVkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmFXNXdkWFFuS1R0Y2JuWmhjaUJVVDFCZlNVNVdRVXhKUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmFXNTJZV3hwWkNjcE8xeHVkbUZ5SUZSUFVGOUxSVmxmUkU5WFRpQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25hMlY1Wkc5M2JpY3BPMXh1ZG1GeUlGUlBVRjlMUlZsZlVGSkZVMU1nUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJ0bGVYQnlaWE56SnlrN1hHNTJZWElnVkU5UVgwdEZXVjlWVUNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmEyVjVkWEFuS1R0Y2JuWmhjaUJVVDFCZlRFOUJSQ0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duYkc5aFpDY3BPMXh1ZG1GeUlGUlBVRjlNVDBGRVgxTlVRVkpVSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkc2IyRmtjM1JoY25RbktUdGNiblpoY2lCVVQxQmZURTlCUkVWRVgwUkJWRUVnUFNCMWJuTmhabVZEWVhOMFUzUnlhVzVuVkc5RVQwMVViM0JNWlhabGJGUjVjR1VvSjJ4dllXUmxaR1JoZEdFbktUdGNiblpoY2lCVVQxQmZURTlCUkVWRVgwMUZWRUZFUVZSQklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHNiMkZrWldSdFpYUmhaR0YwWVNjcE8xeHVkbUZ5SUZSUFVGOU1UMU5VWDFCUFNVNVVSVkpmUTBGUVZGVlNSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duYkc5emRIQnZhVzUwWlhKallYQjBkWEpsSnlrN1hHNTJZWElnVkU5UVgwMVBWVk5GWDBSUFYwNGdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KMjF2ZFhObFpHOTNiaWNwTzF4dWRtRnlJRlJQVUY5TlQxVlRSVjlOVDFaRklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHRiM1Z6WlcxdmRtVW5LVHRjYm5aaGNpQlVUMUJmVFU5VlUwVmZUMVZVSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkdGIzVnpaVzkxZENjcE8xeHVkbUZ5SUZSUFVGOU5UMVZUUlY5UFZrVlNJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2R0YjNWelpXOTJaWEluS1R0Y2JuWmhjaUJVVDFCZlRVOVZVMFZmVlZBZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0oyMXZkWE5sZFhBbktUdGNiblpoY2lCVVQxQmZVRUZUVkVVZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozQmhjM1JsSnlrN1hHNTJZWElnVkU5UVgxQkJWVk5GSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkd1lYVnpaU2NwTzF4dWRtRnlJRlJQVUY5UVRFRlpJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2R3YkdGNUp5azdYRzUyWVhJZ1ZFOVFYMUJNUVZsSlRrY2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM0JzWVhscGJtY25LVHRjYm5aaGNpQlVUMUJmVUU5SlRsUkZVbDlEUVU1RFJVd2dQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM0J2YVc1MFpYSmpZVzVqWld3bktUdGNiblpoY2lCVVQxQmZVRTlKVGxSRlVsOUVUMWRPSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkd2IybHVkR1Z5Wkc5M2JpY3BPMXh1ZG1GeUlGUlBVRjlRVDBsT1ZFVlNYMDFQVmtVZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozQnZhVzUwWlhKdGIzWmxKeWs3WEc1MllYSWdWRTlRWDFCUFNVNVVSVkpmVDFWVUlEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHdiMmx1ZEdWeWIzVjBKeWs3WEc1MllYSWdWRTlRWDFCUFNVNVVSVkpmVDFaRlVpQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25jRzlwYm5SbGNtOTJaWEluS1R0Y2JuWmhjaUJVVDFCZlVFOUpUbFJGVWw5VlVDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25jRzlwYm5SbGNuVndKeWs3WEc1MllYSWdWRTlRWDFCU1QwZFNSVk5USUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0Nkd2NtOW5jbVZ6Y3ljcE8xeHVkbUZ5SUZSUFVGOVNRVlJGWDBOSVFVNUhSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duY21GMFpXTm9ZVzVuWlNjcE8xeHVkbUZ5SUZSUFVGOVNSVk5GVkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmNtVnpaWFFuS1R0Y2JuWmhjaUJVVDFCZlUwTlNUMHhNSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkelkzSnZiR3duS1R0Y2JuWmhjaUJVVDFCZlUwVkZTMFZFSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0NkelpXVnJaV1FuS1R0Y2JuWmhjaUJVVDFCZlUwVkZTMGxPUnlBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmMyVmxhMmx1WnljcE8xeHVkbUZ5SUZSUFVGOVRSVXhGUTFSSlQwNWZRMGhCVGtkRklEMGdkVzV6WVdabFEyRnpkRk4wY21sdVoxUnZSRTlOVkc5d1RHVjJaV3hVZVhCbEtDZHpaV3hsWTNScGIyNWphR0Z1WjJVbktUdGNiblpoY2lCVVQxQmZVMVJCVEV4RlJDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25jM1JoYkd4bFpDY3BPMXh1ZG1GeUlGUlBVRjlUVlVKTlNWUWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM04xWW0xcGRDY3BPMXh1ZG1GeUlGUlBVRjlUVlZOUVJVNUVJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2R6ZFhOd1pXNWtKeWs3WEc1MllYSWdWRTlRWDFSRldGUmZTVTVRVlZRZ1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozUmxlSFJKYm5CMWRDY3BPMXh1ZG1GeUlGUlBVRjlVU1UxRlgxVlFSRUZVUlNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmRHbHRaWFZ3WkdGMFpTY3BPMXh1ZG1GeUlGUlBVRjlVVDBkSFRFVWdQU0IxYm5OaFptVkRZWE4wVTNSeWFXNW5WRzlFVDAxVWIzQk1aWFpsYkZSNWNHVW9KM1J2WjJkc1pTY3BPMXh1ZG1GeUlGUlBVRjlVVDFWRFNGOURRVTVEUlV3Z1BTQjFibk5oWm1WRFlYTjBVM1J5YVc1blZHOUVUMDFVYjNCTVpYWmxiRlI1Y0dVb0ozUnZkV05vWTJGdVkyVnNKeWs3WEc1MllYSWdWRTlRWDFSUFZVTklYMFZPUkNBOUlIVnVjMkZtWlVOaGMzUlRkSEpwYm1kVWIwUlBUVlJ2Y0V4bGRtVnNWSGx3WlNnbmRHOTFZMmhsYm1RbktUdGNiblpoY2lCVVQxQmZWRTlWUTBoZlRVOVdSU0E5SUhWdWMyRm1aVU5oYzNSVGRISnBibWRVYjBSUFRWUnZjRXhsZG1Wc1ZIbHdaU2duZEc5MVkyaHRiM1psSnlrN1hHNTJZWElnVkU5UVgxUlBWVU5JWDFOVVFWSlVJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2QwYjNWamFITjBZWEowSnlrN1hHNTJZWElnVkU5UVgxUlNRVTVUU1ZSSlQwNWZSVTVFSUQwZ2RXNXpZV1psUTJGemRGTjBjbWx1WjFSdlJFOU5WRzl3VEdWMlpXeFVlWEJsS0dkbGRGWmxibVJ2Y2xCeVpXWnBlR1ZrUlhabGJuUk9ZVzFsS0NkMGNtRnVjMmwwYVc5dVpXNWtKeWtwTzF4dWRtRnlJRlJQVUY5V1QweFZUVVZmUTBoQlRrZEZJRDBnZFc1ellXWmxRMkZ6ZEZOMGNtbHVaMVJ2UkU5TlZHOXdUR1YyWld4VWVYQmxLQ2QyYjJ4MWJXVmphR0Z1WjJVbktUdGNiblpoY2lCVVQxQmZWMEZKVkVsT1J5QTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25kMkZwZEdsdVp5Y3BPMXh1ZG1GeUlGUlBVRjlYU0VWRlRDQTlJSFZ1YzJGbVpVTmhjM1JUZEhKcGJtZFViMFJQVFZSdmNFeGxkbVZzVkhsd1pTZ25kMmhsWld3bktUc2dMeThnVEdsemRDQnZaaUJsZG1WdWRITWdkR2hoZENCdVpXVmtJSFJ2SUdKbElHbHVaR2wyYVdSMVlXeHNlU0JoZEhSaFkyaGxaQ0IwYnlCdFpXUnBZU0JsYkdWdFpXNTBjeTVjYmk4dklFNXZkR1VnZEdoaGRDQmxkbVZ1ZEhNZ2FXNGdkR2hwY3lCc2FYTjBJSGRwYkd3Z0ttNXZkQ29nWW1VZ2JHbHpkR1Z1WldRZ2RHOGdZWFFnZEdobElIUnZjQ0JzWlhabGJGeHVMeThnZFc1c1pYTnpJSFJvWlhrbmNtVWdaWGh3YkdsamFYUnNlU0IzYUdsMFpXeHBjM1JsWkNCcGJpQmdVbVZoWTNSQ2NtOTNjMlZ5UlhabGJuUkZiV2wwZEdWeUxteHBjM1JsYmxSdllDNWNibHh1ZG1GeUlHMWxaR2xoUlhabGJuUlVlWEJsY3lBOUlGdFVUMUJmUVVKUFVsUXNJRlJQVUY5RFFVNWZVRXhCV1N3Z1ZFOVFYME5CVGw5UVRFRlpYMVJJVWs5VlIwZ3NJRlJQVUY5RVZWSkJWRWxQVGw5RFNFRk9SMFVzSUZSUFVGOUZUVkJVU1VWRUxDQlVUMUJmUlU1RFVsbFFWRVZFTENCVVQxQmZSVTVFUlVRc0lGUlBVRjlGVWxKUFVpd2dWRTlRWDB4UFFVUkZSRjlFUVZSQkxDQlVUMUJmVEU5QlJFVkVYMDFGVkVGRVFWUkJMQ0JVVDFCZlRFOUJSRjlUVkVGU1ZDd2dWRTlRWDFCQlZWTkZMQ0JVVDFCZlVFeEJXU3dnVkU5UVgxQk1RVmxKVGtjc0lGUlBVRjlRVWs5SFVrVlRVeXdnVkU5UVgxSkJWRVZmUTBoQlRrZEZMQ0JVVDFCZlUwVkZTMFZFTENCVVQxQmZVMFZGUzBsT1J5d2dWRTlRWDFOVVFVeE1SVVFzSUZSUFVGOVRWVk5RUlU1RUxDQlVUMUJmVkVsTlJWOVZVRVJCVkVVc0lGUlBVRjlXVDB4VlRVVmZRMGhCVGtkRkxDQlVUMUJmVjBGSlZFbE9SMTA3WEc1bWRXNWpkR2x2YmlCblpYUlNZWGRGZG1WdWRFNWhiV1VvZEc5d1RHVjJaV3hVZVhCbEtTQjdYRzRnSUhKbGRIVnliaUIxYm5OaFptVkRZWE4wUkU5TlZHOXdUR1YyWld4VWVYQmxWRzlUZEhKcGJtY29kRzl3VEdWMlpXeFVlWEJsS1R0Y2JuMWNibHh1ZG1GeUlGQnZjM05wWW14NVYyVmhhMDFoY0NBOUlIUjVjR1Z2WmlCWFpXRnJUV0Z3SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnVjJWaGEwMWhjQ0E2SUUxaGNEc2dMeThnY0hKbGRIUnBaWEl0YVdkdWIzSmxYRzVjYm5aaGNpQmxiR1Z0Wlc1MFRHbHpkR1Z1WlhKTllYQWdQU0J1WlhjZ1VHOXpjMmxpYkhsWFpXRnJUV0Z3S0NrN1hHNW1kVzVqZEdsdmJpQm5aWFJNYVhOMFpXNWxjazFoY0VadmNrVnNaVzFsYm5Rb1pXeGxiV1Z1ZENrZ2UxeHVJQ0IyWVhJZ2JHbHpkR1Z1WlhKTllYQWdQU0JsYkdWdFpXNTBUR2x6ZEdWdVpYSk5ZWEF1WjJWMEtHVnNaVzFsYm5RcE8xeHVYRzRnSUdsbUlDaHNhWE4wWlc1bGNrMWhjQ0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2JHbHpkR1Z1WlhKTllYQWdQU0J1WlhjZ1RXRndLQ2s3WEc0Z0lDQWdaV3hsYldWdWRFeHBjM1JsYm1WeVRXRndMbk5sZENobGJHVnRaVzUwTENCc2FYTjBaVzVsY2sxaGNDazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiR2x6ZEdWdVpYSk5ZWEE3WEc1OVhHNWNiaThxS2x4dUlDb2dZRkpsWVdOMFNXNXpkR0Z1WTJWTllYQmdJRzFoYVc1MFlXbHVjeUJoSUcxaGNIQnBibWNnWm5KdmJTQmhJSEIxWW14cFl5Qm1ZV05wYm1jZ2MzUmhkR1ZtZFd4Y2JpQXFJR2x1YzNSaGJtTmxJQ2hyWlhrcElHRnVaQ0IwYUdVZ2FXNTBaWEp1WVd3Z2NtVndjbVZ6Wlc1MFlYUnBiMjRnS0haaGJIVmxLUzRnVkdocGN5QmhiR3h2ZDNNZ2NIVmliR2xqWEc0Z0tpQnRaWFJvYjJSeklIUnZJR0ZqWTJWd2RDQjBhR1VnZFhObGNpQm1ZV05wYm1jZ2FXNXpkR0Z1WTJVZ1lYTWdZVzRnWVhKbmRXMWxiblFnWVc1a0lHMWhjQ0IwYUdWdElHSmhZMnRjYmlBcUlIUnZJR2x1ZEdWeWJtRnNJRzFsZEdodlpITXVYRzRnS2x4dUlDb2dUbTkwWlNCMGFHRjBJSFJvYVhNZ2JXOWtkV3hsSUdseklHTjFjbkpsYm5Sc2VTQnphR0Z5WldRZ1lXNWtJR0Z6YzNWdFpXUWdkRzhnWW1VZ2MzUmhkR1ZzWlhOekxseHVJQ29nU1dZZ2RHaHBjeUJpWldOdmJXVnpJR0Z1SUdGamRIVmhiQ0JOWVhBc0lIUm9ZWFFnZDJsc2JDQmljbVZoYXk1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnWjJWMEtHdGxlU2tnZTF4dUlDQnlaWFIxY200Z2EyVjVMbDl5WldGamRFbHVkR1Z5Ym1Gc1JtbGlaWEk3WEc1OVhHNW1kVzVqZEdsdmJpQm9ZWE1vYTJWNUtTQjdYRzRnSUhKbGRIVnliaUJyWlhrdVgzSmxZV04wU1c1MFpYSnVZV3hHYVdKbGNpQWhQVDBnZFc1a1pXWnBibVZrTzF4dWZWeHVablZ1WTNScGIyNGdjMlYwS0d0bGVTd2dkbUZzZFdVcElIdGNiaUFnYTJWNUxsOXlaV0ZqZEVsdWRHVnlibUZzUm1saVpYSWdQU0IyWVd4MVpUdGNibjFjYmx4dUx5OGdSRzl1SjNRZ1kyaGhibWRsSUhSb1pYTmxJSFIzYnlCMllXeDFaWE11SUZSb1pYa25jbVVnZFhObFpDQmllU0JTWldGamRDQkVaWFlnVkc5dmJITXVYRzUyWVhJZ1RtOUZabVpsWTNRZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDb3ZYRzR3TzF4dWRtRnlJRkJsY21admNtMWxaRmR2Y21zZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FxTDF4dU1Uc2dMeThnV1c5MUlHTmhiaUJqYUdGdVoyVWdkR2hsSUhKbGMzUWdLR0Z1WkNCaFpHUWdiVzl5WlNrdVhHNWNiblpoY2lCUWJHRmpaVzFsYm5RZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0tpOWNiakk3WEc1MllYSWdWWEJrWVhSbElEMWNiaThxSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0ME8xeHVkbUZ5SUZCc1lXTmxiV1Z1ZEVGdVpGVndaR0YwWlNBOVhHNHZLaUFnSUNBcUwxeHVOanRjYm5aaGNpQkVaV3hsZEdsdmJpQTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmpnN1hHNTJZWElnUTI5dWRHVnVkRkpsYzJWMElEMWNiaThxSUNBZ0lDQWdJQ0FnSUNvdlhHNHhOanRjYm5aaGNpQkRZV3hzWW1GamF5QTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmpNeU8xeHVkbUZ5SUVScFpFTmhjSFIxY21VZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBcUwxeHVOalE3WEc1MllYSWdVbVZtSUQxY2JpOHFJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eE1qZzdYRzUyWVhJZ1UyNWhjSE5vYjNRZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDb3ZYRzR5TlRZN1hHNTJZWElnVUdGemMybDJaU0E5WEc0dktpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNvdlhHNDFNVEk3WEc1MllYSWdTSGxrY21GMGFXNW5JRDFjYmk4cUlDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eE1ESTBPMXh1ZG1GeUlFaDVaSEpoZEdsdVowRnVaRlZ3WkdGMFpTQTlYRzR2S2lBZ0lDQXFMMXh1TVRBeU9Ec2dMeThnVUdGemMybDJaU0FtSUZWd1pHRjBaU0FtSUVOaGJHeGlZV05ySUNZZ1VtVm1JQ1lnVTI1aGNITm9iM1JjYmx4dWRtRnlJRXhwWm1WamVXTnNaVVZtWm1WamRFMWhjMnNnUFZ4dUx5b2dJQ0FxTDF4dU9UTXlPeUF2THlCVmJtbHZiaUJ2WmlCaGJHd2dhRzl6ZENCbFptWmxZM1J6WEc1Y2JuWmhjaUJJYjNOMFJXWm1aV04wVFdGemF5QTlYRzR2S2lBZ0lDQWdJQ0FnS2k5Y2JqSXdORGM3WEc1MllYSWdTVzVqYjIxd2JHVjBaU0E5WEc0dktpQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eU1EUTRPMXh1ZG1GeUlGTm9iM1ZzWkVOaGNIUjFjbVVnUFZ4dUx5b2dJQ0FnSUNBZ0lDQXFMMXh1TkRBNU5qdGNibHh1ZG1GeUlGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUlEMGdVbVZoWTNSVGFHRnlaV1JKYm5SbGNtNWhiSE11VW1WaFkzUkRkWEp5Wlc1MFQzZHVaWEk3WEc1bWRXNWpkR2x2YmlCblpYUk9aV0Z5WlhOMFRXOTFiblJsWkVacFltVnlLR1pwWW1WeUtTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ1ptbGlaWEk3WEc0Z0lIWmhjaUJ1WldGeVpYTjBUVzkxYm5SbFpDQTlJR1pwWW1WeU8xeHVYRzRnSUdsbUlDZ2habWxpWlhJdVlXeDBaWEp1WVhSbEtTQjdYRzRnSUNBZ0x5OGdTV1lnZEdobGNtVWdhWE1nYm04Z1lXeDBaWEp1WVhSbExDQjBhR2x6SUcxcFoyaDBJR0psSUdFZ2JtVjNJSFJ5WldVZ2RHaGhkQ0JwYzI0bmRDQnBibk5sY25SbFpGeHVJQ0FnSUM4dklIbGxkQzRnU1dZZ2FYUWdhWE1zSUhSb1pXNGdhWFFnZDJsc2JDQm9ZWFpsSUdFZ2NHVnVaR2x1WnlCcGJuTmxjblJwYjI0Z1pXWm1aV04wSUc5dUlHbDBMbHh1SUNBZ0lIWmhjaUJ1WlhoMFRtOWtaU0E5SUc1dlpHVTdYRzVjYmlBZ0lDQmtieUI3WEc0Z0lDQWdJQ0J1YjJSbElEMGdibVY0ZEU1dlpHVTdYRzVjYmlBZ0lDQWdJR2xtSUNnb2JtOWtaUzVsWm1abFkzUlVZV2NnSmlBb1VHeGhZMlZ0Wlc1MElId2dTSGxrY21GMGFXNW5LU2tnSVQwOUlFNXZSV1ptWldOMEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb2FYTWdhWE1nWVc0Z2FXNXpaWEowYVc5dUlHOXlJR2x1TFhCeWIyZHlaWE56SUdoNVpISmhkR2x2Ymk0Z1ZHaGxJRzVsWVhKbGMzUWdjRzl6YzJsaWJHVmNiaUFnSUNBZ0lDQWdMeThnYlc5MWJuUmxaQ0JtYVdKbGNpQnBjeUIwYUdVZ2NHRnlaVzUwSUdKMWRDQjNaU0J1WldWa0lIUnZJR052Ym5ScGJuVmxJSFJ2SUdacFozVnlaU0J2ZFhSY2JpQWdJQ0FnSUNBZ0x5OGdhV1lnZEdoaGRDQnZibVVnYVhNZ2MzUnBiR3dnYlc5MWJuUmxaQzVjYmlBZ0lDQWdJQ0FnYm1WaGNtVnpkRTF2ZFc1MFpXUWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2JtVjRkRTV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQjlJSGRvYVd4bElDaHVaWGgwVG05a1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkMmhwYkdVZ0tHNXZaR1V1Y21WMGRYSnVLU0I3WEc0Z0lDQWdJQ0J1YjJSbElEMGdibTlrWlM1eVpYUjFjbTQ3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYVdZZ0tHNXZaR1V1ZEdGbklEMDlQU0JJYjNOMFVtOXZkQ2tnZTF4dUlDQWdJQzh2SUZSUFJFODZJRU5vWldOcklHbG1JSFJvYVhNZ2QyRnpJR0VnYm1WemRHVmtJRWh2YzNSU2IyOTBJSGRvWlc0Z2RYTmxaQ0IzYVhSb1hHNGdJQ0FnTHk4Z2NtVnVaR1Z5UTI5dWRHRnBibVZ5U1c1MGIxTjFZblJ5WldVdVhHNGdJQ0FnY21WMGRYSnVJRzVsWVhKbGMzUk5iM1Z1ZEdWa08xeHVJQ0I5SUM4dklFbG1JSGRsSUdScFpHNG5kQ0JvYVhRZ2RHaGxJSEp2YjNRc0lIUm9ZWFFnYldWaGJuTWdkR2hoZENCM1pTZHlaU0JwYmlCaGJpQmthWE5qYjI1dVpXTjBaV1FnZEhKbFpWeHVJQ0F2THlCMGFHRjBJR2hoY3lCaVpXVnVJSFZ1Ylc5MWJuUmxaQzVjYmx4dVhHNGdJSEpsZEhWeWJpQnVkV3hzTzF4dWZWeHVablZ1WTNScGIyNGdaMlYwVTNWemNHVnVjMlZKYm5OMFlXNWpaVVp5YjIxR2FXSmxjaWhtYVdKbGNpa2dlMXh1SUNCcFppQW9abWxpWlhJdWRHRm5JRDA5UFNCVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENrZ2UxeHVJQ0FnSUhaaGNpQnpkWE53Wlc1elpWTjBZWFJsSUQwZ1ptbGlaWEl1YldWdGIybDZaV1JUZEdGMFpUdGNibHh1SUNBZ0lHbG1JQ2h6ZFhOd1pXNXpaVk4wWVhSbElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SUdacFltVnlMbUZzZEdWeWJtRjBaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdjM1Z6Y0dWdWMyVlRkR0YwWlNBOUlHTjFjbkpsYm5RdWJXVnRiMmw2WldSVGRHRjBaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYzNWemNHVnVjMlZUZEdGMFpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlITjFjM0JsYm5ObFUzUmhkR1V1WkdWb2VXUnlZWFJsWkR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYm5Wc2JEdGNibjFjYm1aMWJtTjBhVzl1SUdkbGRFTnZiblJoYVc1bGNrWnliMjFHYVdKbGNpaG1hV0psY2lrZ2UxeHVJQ0J5WlhSMWNtNGdabWxpWlhJdWRHRm5JRDA5UFNCSWIzTjBVbTl2ZENBL0lHWnBZbVZ5TG5OMFlYUmxUbTlrWlM1amIyNTBZV2x1WlhKSmJtWnZJRG9nYm5Wc2JEdGNibjFjYm1aMWJtTjBhVzl1SUdselJtbGlaWEpOYjNWdWRHVmtLR1pwWW1WeUtTQjdYRzRnSUhKbGRIVnliaUJuWlhST1pXRnlaWE4wVFc5MWJuUmxaRVpwWW1WeUtHWnBZbVZ5S1NBOVBUMGdabWxpWlhJN1hHNTlYRzVtZFc1amRHbHZiaUJwYzAxdmRXNTBaV1FvWTI5dGNHOXVaVzUwS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYjNkdVpYSWdQU0JTWldGamRFTjFjbkpsYm5SUGQyNWxjaTVqZFhKeVpXNTBPMXh1WEc0Z0lDQWdhV1lnS0c5M2JtVnlJQ0U5UFNCdWRXeHNJQ1ltSUc5M2JtVnlMblJoWnlBOVBUMGdRMnhoYzNORGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lIWmhjaUJ2ZDI1bGNrWnBZbVZ5SUQwZ2IzZHVaWEk3WEc0Z0lDQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQnZkMjVsY2tacFltVnlMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tDRnBibk4wWVc1alpTNWZkMkZ5Ym1Wa1FXSnZkWFJTWldaelNXNVNaVzVrWlhJcElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb0p5VnpJR2x6SUdGalkyVnpjMmx1WnlCcGMwMXZkVzUwWldRZ2FXNXphV1JsSUdsMGN5QnlaVzVrWlhJb0tTQm1kVzVqZEdsdmJpNGdKeUFySUNkeVpXNWtaWElvS1NCemFHOTFiR1FnWW1VZ1lTQndkWEpsSUdaMWJtTjBhVzl1SUc5bUlIQnliM0J6SUdGdVpDQnpkR0YwWlM0Z1NYUWdjMmh2ZFd4a0lDY2dLeUFuYm1WMlpYSWdZV05qWlhOeklITnZiV1YwYUdsdVp5QjBhR0YwSUhKbGNYVnBjbVZ6SUhOMFlXeGxJR1JoZEdFZ1puSnZiU0IwYUdVZ2NISmxkbWx2ZFhNZ0p5QXJJQ2R5Wlc1a1pYSXNJSE4xWTJnZ1lYTWdjbVZtY3k0Z1RXOTJaU0IwYUdseklHeHZaMmxqSUhSdklHTnZiWEJ2Ym1WdWRFUnBaRTF2ZFc1MElHRnVaQ0FuSUNzZ0oyTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQnBibk4wWldGa0xpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9iM2R1WlhKR2FXSmxjaTUwZVhCbEtTQjhmQ0FuUVNCamIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhVzV6ZEdGdVkyVXVYM2RoY201bFpFRmliM1YwVW1WbWMwbHVVbVZ1WkdWeUlEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdabWxpWlhJZ1BTQm5aWFFvWTI5dGNHOXVaVzUwS1R0Y2JseHVJQ0JwWmlBb0lXWnBZbVZ5S1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHZGxkRTVsWVhKbGMzUk5iM1Z1ZEdWa1JtbGlaWElvWm1saVpYSXBJRDA5UFNCbWFXSmxjanRjYm4xY2JseHVablZ1WTNScGIyNGdZWE56WlhKMFNYTk5iM1Z1ZEdWa0tHWnBZbVZ5S1NCN1hHNGdJR2xtSUNnaEtHZGxkRTVsWVhKbGMzUk5iM1Z1ZEdWa1JtbGlaWElvWm1saVpYSXBJRDA5UFNCbWFXSmxjaWtwSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlZibUZpYkdVZ2RHOGdabWx1WkNCdWIyUmxJRzl1SUdGdUlIVnViVzkxYm5SbFpDQmpiMjF3YjI1bGJuUXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ptbHVaRU4xY25KbGJuUkdhV0psY2xWemFXNW5VMnh2ZDFCaGRHZ29abWxpWlhJcElIdGNiaUFnZG1GeUlHRnNkR1Z5Ym1GMFpTQTlJR1pwWW1WeUxtRnNkR1Z5Ym1GMFpUdGNibHh1SUNCcFppQW9JV0ZzZEdWeWJtRjBaU2tnZTF4dUlDQWdJQzh2SUVsbUlIUm9aWEpsSUdseklHNXZJR0ZzZEdWeWJtRjBaU3dnZEdobGJpQjNaU0J2Ym14NUlHNWxaV1FnZEc4Z1kyaGxZMnNnYVdZZ2FYUWdhWE1nYlc5MWJuUmxaQzVjYmlBZ0lDQjJZWElnYm1WaGNtVnpkRTF2ZFc1MFpXUWdQU0JuWlhST1pXRnlaWE4wVFc5MWJuUmxaRVpwWW1WeUtHWnBZbVZ5S1R0Y2JseHVJQ0FnSUdsbUlDZ2hLRzVsWVhKbGMzUk5iM1Z1ZEdWa0lDRTlQU0J1ZFd4c0tTa2dlMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlZibUZpYkdVZ2RHOGdabWx1WkNCdWIyUmxJRzl1SUdGdUlIVnViVzkxYm5SbFpDQmpiMjF3YjI1bGJuUXVYQ0lnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JtVmhjbVZ6ZEUxdmRXNTBaV1FnSVQwOUlHWnBZbVZ5S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWm1saVpYSTdYRzRnSUgwZ0x5OGdTV1lnZDJVZ2FHRjJaU0IwZDI4Z2NHOXpjMmxpYkdVZ1luSmhibU5vWlhNc0lIZGxKMnhzSUhkaGJHc2dZbUZqYTNkaGNtUnpJSFZ3SUhSdklIUm9aU0J5YjI5MFhHNGdJQzh2SUhSdklITmxaU0IzYUdGMElIQmhkR2dnZEdobElISnZiM1FnY0c5cGJuUnpJSFJ2TGlCUGJpQjBhR1VnZDJGNUlIZGxJRzFoZVNCb2FYUWdiMjVsSUc5bUlIUm9aVnh1SUNBdkx5QnpjR1ZqYVdGc0lHTmhjMlZ6SUdGdVpDQjNaU2RzYkNCa1pXRnNJSGRwZEdnZ2RHaGxiUzVjYmx4dVhHNGdJSFpoY2lCaElEMGdabWxpWlhJN1hHNGdJSFpoY2lCaUlEMGdZV3gwWlhKdVlYUmxPMXh1WEc0Z0lIZG9hV3hsSUNoMGNuVmxLU0I3WEc0Z0lDQWdkbUZ5SUhCaGNtVnVkRUVnUFNCaExuSmxkSFZ5Ymp0Y2JseHVJQ0FnSUdsbUlDaHdZWEpsYm5SQklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJYWlNkeVpTQmhkQ0IwYUdVZ2NtOXZkQzVjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQndZWEpsYm5SQ0lEMGdjR0Z5Wlc1MFFTNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQnBaaUFvY0dGeVpXNTBRaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaGxjbVVnYVhNZ2JtOGdZV3gwWlhKdVlYUmxMaUJVYUdseklHbHpJR0Z1SUhWdWRYTjFZV3dnWTJGelpTNGdRM1Z5Y21WdWRHeDVMQ0JwZENCdmJteDVYRzRnSUNBZ0lDQXZMeUJvWVhCd1pXNXpJSGRvWlc0Z1lTQlRkWE53Wlc1elpTQmpiMjF3YjI1bGJuUWdhWE1nYUdsa1pHVnVMaUJCYmlCbGVIUnlZU0JtY21GbmJXVnVkQ0JtYVdKbGNseHVJQ0FnSUNBZ0x5OGdhWE1nYVc1elpYSjBaV1FnYVc0Z1ltVjBkMlZsYmlCMGFHVWdVM1Z6Y0dWdWMyVWdabWxpWlhJZ1lXNWtJR2wwY3lCamFHbHNaSEpsYmk0Z1UydHBjRnh1SUNBZ0lDQWdMeThnYjNabGNpQjBhR2x6SUdWNGRISmhJR1p5WVdkdFpXNTBJR1pwWW1WeUlHRnVaQ0J3Y205alpXVmtJSFJ2SUhSb1pTQnVaWGgwSUhCaGNtVnVkQzVjYmlBZ0lDQWdJSFpoY2lCdVpYaDBVR0Z5Wlc1MElEMGdjR0Z5Wlc1MFFTNXlaWFIxY200N1hHNWNiaUFnSUNBZ0lHbG1JQ2h1WlhoMFVHRnlaVzUwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHRWdQU0JpSUQwZ2JtVjRkRkJoY21WdWREdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlJQzh2SUVsbUlIUm9aWEpsSjNNZ2JtOGdjR0Z5Wlc1MExDQjNaU2R5WlNCaGRDQjBhR1VnY205dmRDNWNibHh1WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOUlDOHZJRWxtSUdKdmRHZ2dZMjl3YVdWeklHOW1JSFJvWlNCd1lYSmxiblFnWm1saVpYSWdjRzlwYm5RZ2RHOGdkR2hsSUhOaGJXVWdZMmhwYkdRc0lIZGxJR05oYmx4dUlDQWdJQzh2SUdGemMzVnRaU0IwYUdGMElIUm9aU0JqYUdsc1pDQnBjeUJqZFhKeVpXNTBMaUJVYUdseklHaGhjSEJsYm5NZ2QyaGxiaUIzWlNCaVlXbHNiM1YwSUc5dUlHeHZkMXh1SUNBZ0lDOHZJSEJ5YVc5eWFYUjVPaUIwYUdVZ1ltRnBiR1ZrSUc5MWRDQm1hV0psY2lkeklHTm9hV3hrSUhKbGRYTmxjeUIwYUdVZ1kzVnljbVZ1ZENCamFHbHNaQzVjYmx4dVhHNGdJQ0FnYVdZZ0tIQmhjbVZ1ZEVFdVkyaHBiR1FnUFQwOUlIQmhjbVZ1ZEVJdVkyaHBiR1FwSUh0Y2JpQWdJQ0FnSUhaaGNpQmphR2xzWkNBOUlIQmhjbVZ1ZEVFdVkyaHBiR1E3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2hqYUdsc1pDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1kyaHBiR1FnUFQwOUlHRXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlhaU2QyWlNCa1pYUmxjbTFwYm1Wa0lIUm9ZWFFnUVNCcGN5QjBhR1VnWTNWeWNtVnVkQ0JpY21GdVkyZ3VYRzRnSUNBZ0lDQWdJQ0FnWVhOelpYSjBTWE5OYjNWdWRHVmtLSEJoY21WdWRFRXBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtYVdKbGNqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGphR2xzWkNBOVBUMGdZaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRmRsSjNabElHUmxkR1Z5YldsdVpXUWdkR2hoZENCQ0lHbHpJSFJvWlNCamRYSnlaVzUwSUdKeVlXNWphQzVjYmlBZ0lDQWdJQ0FnSUNCaGMzTmxjblJKYzAxdmRXNTBaV1FvY0dGeVpXNTBRU2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGc2RHVnlibUYwWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR05vYVd4a0lEMGdZMmhwYkdRdWMybGliR2x1Wnp0Y2JpQWdJQ0FnSUgwZ0x5OGdWMlVnYzJodmRXeGtJRzVsZG1WeUlHaGhkbVVnWVc0Z1lXeDBaWEp1WVhSbElHWnZjaUJoYm5rZ2JXOTFiblJwYm1jZ2JtOWtaUzRnVTI4Z2RHaGxJRzl1YkhsY2JpQWdJQ0FnSUM4dklIZGhlU0IwYUdseklHTnZkV3hrSUhCdmMzTnBZbXg1SUdoaGNIQmxiaUJwY3lCcFppQjBhR2x6SUhkaGN5QjFibTF2ZFc1MFpXUXNJR2xtSUdGMElHRnNiQzVjYmx4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlZibUZpYkdVZ2RHOGdabWx1WkNCdWIyUmxJRzl1SUdGdUlIVnViVzkxYm5SbFpDQmpiMjF3YjI1bGJuUXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGhMbkpsZEhWeWJpQWhQVDBnWWk1eVpYUjFjbTRwSUh0Y2JpQWdJQ0FnSUM4dklGUm9aU0J5WlhSMWNtNGdjRzlwYm5SbGNpQnZaaUJCSUdGdVpDQjBhR1VnY21WMGRYSnVJSEJ2YVc1MFpYSWdiMllnUWlCd2IybHVkQ0IwYnlCa2FXWm1aWEpsYm5SY2JpQWdJQ0FnSUM4dklHWnBZbVZ5Y3k0Z1YyVWdZWE56ZFcxbElIUm9ZWFFnY21WMGRYSnVJSEJ2YVc1MFpYSnpJRzVsZG1WeUlHTnlhWE56TFdOeWIzTnpMQ0J6YnlCQklHMTFjM1JjYmlBZ0lDQWdJQzh2SUdKbGJHOXVaeUIwYnlCMGFHVWdZMmhwYkdRZ2MyVjBJRzltSUVFdWNtVjBkWEp1TENCaGJtUWdRaUJ0ZFhOMElHSmxiRzl1WnlCMGJ5QjBhR1VnWTJocGJHUmNiaUFnSUNBZ0lDOHZJSE5sZENCdlppQkNMbkpsZEhWeWJpNWNiaUFnSUNBZ0lHRWdQU0J3WVhKbGJuUkJPMXh1SUNBZ0lDQWdZaUE5SUhCaGNtVnVkRUk3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRlJvWlNCeVpYUjFjbTRnY0c5cGJuUmxjbk1nY0c5cGJuUWdkRzhnZEdobElITmhiV1VnWm1saVpYSXVJRmRsSjJ4c0lHaGhkbVVnZEc4Z2RYTmxJSFJvWlZ4dUlDQWdJQ0FnTHk4Z1pHVm1ZWFZzZEN3Z2MyeHZkeUJ3WVhSb09pQnpZMkZ1SUhSb1pTQmphR2xzWkNCelpYUnpJRzltSUdWaFkyZ2djR0Z5Wlc1MElHRnNkR1Z5Ym1GMFpTQjBieUJ6WldWY2JpQWdJQ0FnSUM4dklIZG9hV05vSUdOb2FXeGtJR0psYkc5dVozTWdkRzhnZDJocFkyZ2djMlYwTGx4dUlDQWdJQ0FnTHk5Y2JpQWdJQ0FnSUM4dklGTmxZWEpqYUNCd1lYSmxiblFnUVNkeklHTm9hV3hrSUhObGRGeHVJQ0FnSUNBZ2RtRnlJR1JwWkVacGJtUkRhR2xzWkNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnZG1GeUlGOWphR2xzWkNBOUlIQmhjbVZ1ZEVFdVkyaHBiR1E3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2hmWTJocGJHUXBJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tGOWphR2xzWkNBOVBUMGdZU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHUnBaRVpwYm1SRGFHbHNaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnWVNBOUlIQmhjbVZ1ZEVFN1hHNGdJQ0FnSUNBZ0lDQWdZaUE5SUhCaGNtVnVkRUk3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWDJOb2FXeGtJRDA5UFNCaUtTQjdYRzRnSUNBZ0lDQWdJQ0FnWkdsa1JtbHVaRU5vYVd4a0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ0lDQmlJRDBnY0dGeVpXNTBRVHRjYmlBZ0lDQWdJQ0FnSUNCaElEMGdjR0Z5Wlc1MFFqdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUY5amFHbHNaQ0E5SUY5amFHbHNaQzV6YVdKc2FXNW5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRVpwYm1SRGFHbHNaQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlRaV0Z5WTJnZ2NHRnlaVzUwSUVJbmN5QmphR2xzWkNCelpYUmNiaUFnSUNBZ0lDQWdYMk5vYVd4a0lEMGdjR0Z5Wlc1MFFpNWphR2xzWkR0Y2JseHVJQ0FnSUNBZ0lDQjNhR2xzWlNBb1gyTm9hV3hrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0Y5amFHbHNaQ0E5UFQwZ1lTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbGtSbWx1WkVOb2FXeGtJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdFZ1BTQndZWEpsYm5SQ08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWWlBOUlIQmhjbVZ1ZEVFN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWDJOb2FXeGtJRDA5UFNCaUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCa2FXUkdhVzVrUTJocGJHUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnWWlBOUlIQmhjbVZ1ZEVJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JoSUQwZ2NHRnlaVzUwUVR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lGOWphR2xzWkNBOUlGOWphR2xzWkM1emFXSnNhVzVuTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGa2FXUkdhVzVrUTJocGJHUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkRhR2xzWkNCM1lYTWdibTkwSUdadmRXNWtJR2x1SUdWcGRHaGxjaUJ3WVhKbGJuUWdjMlYwTGlCVWFHbHpJR2x1WkdsallYUmxjeUJoSUdKMVp5QnBiaUJTWldGamRDQnlaV3hoZEdWa0lIUnZJSFJvWlNCeVpYUjFjbTRnY0c5cGJuUmxjaTRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9JU2hoTG1Gc2RHVnlibUYwWlNBOVBUMGdZaWtwSUh0Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpVW1WMGRYSnVJR1pwWW1WeWN5QnphRzkxYkdRZ1lXeDNZWGx6SUdKbElHVmhZMmdnYjNSb1pYSnpKeUJoYkhSbGNtNWhkR1Z6TGlCVWFHbHpJR1Z5Y205eUlHbHpJR3hwYTJWc2VTQmpZWFZ6WldRZ1lua2dZU0JpZFdjZ2FXNGdVbVZoWTNRdUlGQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlJQzh2SUVsbUlIUm9aU0J5YjI5MElHbHpJRzV2ZENCaElHaHZjM1FnWTI5dWRHRnBibVZ5TENCM1pTZHlaU0JwYmlCaElHUnBjMk52Ym01bFkzUmxaQ0IwY21WbExpQkpMbVV1WEc0Z0lDOHZJSFZ1Ylc5MWJuUmxaQzVjYmx4dVhHNGdJR2xtSUNnaEtHRXVkR0ZuSUQwOVBTQkliM04wVW05dmRDa3BJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVmJtRmliR1VnZEc4Z1ptbHVaQ0J1YjJSbElHOXVJR0Z1SUhWdWJXOTFiblJsWkNCamIyMXdiMjVsYm5RdVhDSWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JwWmlBb1lTNXpkR0YwWlU1dlpHVXVZM1Z5Y21WdWRDQTlQVDBnWVNrZ2UxeHVJQ0FnSUM4dklGZGxKM1psSUdSbGRHVnliV2x1WldRZ2RHaGhkQ0JCSUdseklIUm9aU0JqZFhKeVpXNTBJR0p5WVc1amFDNWNiaUFnSUNCeVpYUjFjbTRnWm1saVpYSTdYRzRnSUgwZ0x5OGdUM1JvWlhKM2FYTmxJRUlnYUdGeklIUnZJR0psSUdOMWNuSmxiblFnWW5KaGJtTm9MbHh1WEc1Y2JpQWdjbVYwZFhKdUlHRnNkR1Z5Ym1GMFpUdGNibjFjYm1aMWJtTjBhVzl1SUdacGJtUkRkWEp5Wlc1MFNHOXpkRVpwWW1WeUtIQmhjbVZ1ZENrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZCaGNtVnVkQ0E5SUdacGJtUkRkWEp5Wlc1MFJtbGlaWEpWYzJsdVoxTnNiM2RRWVhSb0tIQmhjbVZ1ZENrN1hHNWNiaUFnYVdZZ0tDRmpkWEp5Wlc1MFVHRnlaVzUwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBnTHk4Z1RtVjRkQ0IzWlNkc2JDQmtjbWxzYkNCa2IzZHVJSFJvYVhNZ1kyOXRjRzl1Wlc1MElIUnZJR1pwYm1RZ2RHaGxJR1pwY25OMElFaHZjM1JEYjIxd2IyNWxiblF2VkdWNGRDNWNibHh1WEc0Z0lIWmhjaUJ1YjJSbElEMGdZM1Z5Y21WdWRGQmhjbVZ1ZER0Y2JseHVJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUdsbUlDaHViMlJsTG5SaFp5QTlQVDBnU0c5emRFTnZiWEJ2Ym1WdWRDQjhmQ0J1YjJSbExuUmhaeUE5UFQwZ1NHOXpkRlJsZUhRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWIyUmxPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ibTlrWlM1amFHbHNaQ2tnZTF4dUlDQWdJQ0FnYm05a1pTNWphR2xzWkM1eVpYUjFjbTRnUFNCdWIyUmxPMXh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1WTJocGJHUTdYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ibTlrWlNBOVBUMGdZM1Z5Y21WdWRGQmhjbVZ1ZENrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2QyaHBiR1VnS0NGdWIyUmxMbk5wWW14cGJtY3BJSHRjYmlBZ0lDQWdJR2xtSUNnaGJtOWtaUzV5WlhSMWNtNGdmSHdnYm05a1pTNXlaWFIxY200Z1BUMDlJR04xY25KbGJuUlFZWEpsYm5RcElIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J1YjJSbExuTnBZbXhwYm1jdWNtVjBkWEp1SUQwZ2JtOWtaUzV5WlhSMWNtNDdYRzRnSUNBZ2JtOWtaU0E5SUc1dlpHVXVjMmxpYkdsdVp6dGNiaUFnZlNBdkx5QkdiRzkzSUc1bFpXUnpJSFJvWlNCeVpYUjFjbTRnYm5Wc2JDQm9aWEpsTENCaWRYUWdSVk5NYVc1MElHTnZiWEJzWVdsdWN5QmhZbTkxZENCcGRDNWNiaUFnTHk4Z1pYTnNhVzUwTFdScGMyRmliR1V0Ym1WNGRDMXNhVzVsSUc1dkxYVnVjbVZoWTJoaFlteGxYRzVjYmx4dUlDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlHWnBibVJEZFhKeVpXNTBTRzl6ZEVacFltVnlWMmwwYUU1dlVHOXlkR0ZzY3lod1lYSmxiblFwSUh0Y2JpQWdkbUZ5SUdOMWNuSmxiblJRWVhKbGJuUWdQU0JtYVc1a1EzVnljbVZ1ZEVacFltVnlWWE5wYm1kVGJHOTNVR0YwYUNod1lYSmxiblFwTzF4dVhHNGdJR2xtSUNnaFkzVnljbVZ1ZEZCaGNtVnVkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlJQzh2SUU1bGVIUWdkMlVuYkd3Z1pISnBiR3dnWkc5M2JpQjBhR2x6SUdOdmJYQnZibVZ1ZENCMGJ5Qm1hVzVrSUhSb1pTQm1hWEp6ZENCSWIzTjBRMjl0Y0c5dVpXNTBMMVJsZUhRdVhHNWNibHh1SUNCMllYSWdibTlrWlNBOUlHTjFjbkpsYm5SUVlYSmxiblE3WEc1Y2JpQWdkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0JwWmlBb2JtOWtaUzUwWVdjZ1BUMDlJRWh2YzNSRGIyMXdiMjVsYm5RZ2ZId2dibTlrWlM1MFlXY2dQVDA5SUVodmMzUlVaWGgwSUh4OElHVnVZV0pzWlVaMWJtUmhiV1Z1ZEdGc1FWQkpJQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRzV2WkdVN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMbU5vYVd4a0lDWW1JRzV2WkdVdWRHRm5JQ0U5UFNCSWIzTjBVRzl5ZEdGc0tTQjdYRzRnSUNBZ0lDQnViMlJsTG1Ob2FXeGtMbkpsZEhWeWJpQTlJRzV2WkdVN1hHNGdJQ0FnSUNCdWIyUmxJRDBnYm05a1pTNWphR2xzWkR0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodWIyUmxJRDA5UFNCamRYSnlaVzUwVUdGeVpXNTBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IzYUdsc1pTQW9JVzV2WkdVdWMybGliR2x1WnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z1YjJSbExuSmxkSFZ5YmlCOGZDQnViMlJsTG5KbGRIVnliaUE5UFQwZ1kzVnljbVZ1ZEZCaGNtVnVkQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHNXZaR1V1YzJsaWJHbHVaeTV5WlhSMWNtNGdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0J1YjJSbElEMGdibTlrWlM1emFXSnNhVzVuTzF4dUlDQjlJQzh2SUVac2IzY2dibVZsWkhNZ2RHaGxJSEpsZEhWeWJpQnVkV3hzSUdobGNtVXNJR0oxZENCRlUweHBiblFnWTI5dGNHeGhhVzV6SUdGaWIzVjBJR2wwTGx4dUlDQXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXVaWGgwTFd4cGJtVWdibTh0ZFc1eVpXRmphR0ZpYkdWY2JseHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1WEc0dktpcGNiaUFxSUVGalkzVnRkV3hoZEdWeklHbDBaVzF6SUhSb1lYUWdiWFZ6ZENCdWIzUWdZbVVnYm5Wc2JDQnZjaUIxYm1SbFptbHVaV1FnYVc1MGJ5QjBhR1VnWm1seWMzUWdiMjVsTGlCVWFHbHpYRzRnS2lCcGN5QjFjMlZrSUhSdklHTnZibk5sY25abElHMWxiVzl5ZVNCaWVTQmhkbTlwWkdsdVp5QmhjbkpoZVNCaGJHeHZZMkYwYVc5dWN5d2dZVzVrSUhSb2RYTWdjMkZqY21sbWFXTmxjMXh1SUNvZ1FWQkpJR05zWldGdWJtVnpjeTRnVTJsdVkyVWdZR04xY25KbGJuUmdJR05oYmlCaVpTQnVkV3hzSUdKbFptOXlaU0JpWldsdVp5QndZWE56WldRZ2FXNGdZVzVrSUc1dmRGeHVJQ29nYm5Wc2JDQmhablJsY2lCMGFHbHpJR1oxYm1OMGFXOXVMQ0J0WVd0bElITjFjbVVnZEc4Z1lYTnphV2R1SUdsMElHSmhZMnNnZEc4Z1lHTjFjbkpsYm5SZ09seHVJQ3BjYmlBcUlHQmhJRDBnWVdOamRXMTFiR0YwWlVsdWRHOG9ZU3dnWWlrN1lGeHVJQ3BjYmlBcUlGUm9hWE1nUVZCSklITm9iM1ZzWkNCaVpTQnpjR0Z5YVc1bmJIa2dkWE5sWkM0Z1ZISjVJR0JoWTJOMWJYVnNZWFJsWUNCbWIzSWdjMjl0WlhSb2FXNW5JR05zWldGdVpYSXVYRzRnS2x4dUlDb2dRSEpsZEhWeWJpQjdLbnhoY25KaGVUd3FQbjBnUVc0Z1lXTmpkVzExYkdGMGFXOXVJRzltSUdsMFpXMXpMbHh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR0ZqWTNWdGRXeGhkR1ZKYm5SdktHTjFjbkpsYm5Rc0lHNWxlSFFwSUh0Y2JpQWdhV1lnS0NFb2JtVjRkQ0FoUFNCdWRXeHNLU2tnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0ltRmpZM1Z0ZFd4aGRHVkpiblJ2S0M0dUxpazZJRUZqWTNWdGRXeGhkR1ZrSUdsMFpXMXpJRzExYzNRZ2JtOTBJR0psSUc1MWJHd2diM0lnZFc1a1pXWnBibVZrTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dOMWNuSmxiblFnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVaWGgwTzF4dUlDQjlJQzh2SUVKdmRHZ2dZWEpsSUc1dmRDQmxiWEIwZVM0Z1YyRnlibWx1WnpvZ1RtVjJaWElnWTJGc2JDQjRMbU52Ym1OaGRDaDVLU0IzYUdWdUlIbHZkU0JoY21VZ2JtOTBYRzRnSUM4dklHTmxjblJoYVc0Z2RHaGhkQ0I0SUdseklHRnVJRUZ5Y21GNUlDaDRJR052ZFd4a0lHSmxJR0VnYzNSeWFXNW5JSGRwZEdnZ1kyOXVZMkYwSUcxbGRHaHZaQ2t1WEc1Y2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hqZFhKeVpXNTBLU2tnZTF4dUlDQWdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLRzVsZUhRcEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MExuQjFjMmd1WVhCd2JIa29ZM1Z5Y21WdWRDd2dibVY0ZENrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNWeWNtVnVkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpkWEp5Wlc1MExuQjFjMmdvYm1WNGRDazdYRzRnSUNBZ2NtVjBkWEp1SUdOMWNuSmxiblE3WEc0Z0lIMWNibHh1SUNCcFppQW9RWEp5WVhrdWFYTkJjbkpoZVNodVpYaDBLU2tnZTF4dUlDQWdJQzh2SUVFZ1ltbDBJSFJ2YnlCa1lXNW5aWEp2ZFhNZ2RHOGdiWFYwWVhSbElHQnVaWGgwWUM1Y2JpQWdJQ0J5WlhSMWNtNGdXMk4xY25KbGJuUmRMbU52Ym1OaGRDaHVaWGgwS1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCYlkzVnljbVZ1ZEN3Z2JtVjRkRjA3WEc1OVhHNWNiaThxS2x4dUlDb2dRSEJoY21GdElIdGhjbkpoZVgwZ1lYSnlJR0Z1SUZ3aVlXTmpkVzExYkdGMGFXOXVYQ0lnYjJZZ2FYUmxiWE1nZDJocFkyZ2dhWE1nWldsMGFHVnlJR0Z1SUVGeWNtRjVJRzl5WEc0Z0tpQmhJSE5wYm1kc1pTQnBkR1Z0TGlCVmMyVm1kV3dnZDJobGJpQndZV2x5WldRZ2QybDBhQ0IwYUdVZ1lHRmpZM1Z0ZFd4aGRHVmdJRzF2WkhWc1pTNGdWR2hwY3lCcGN5QmhYRzRnS2lCemFXMXdiR1VnZFhScGJHbDBlU0IwYUdGMElHRnNiRzkzY3lCMWN5QjBieUJ5WldGemIyNGdZV0p2ZFhRZ1lTQmpiMnhzWldOMGFXOXVJRzltSUdsMFpXMXpMQ0JpZFhSY2JpQXFJR2hoYm1Sc2FXNW5JSFJvWlNCallYTmxJSGRvWlc0Z2RHaGxjbVVnYVhNZ1pYaGhZM1JzZVNCdmJtVWdhWFJsYlNBb1lXNWtJSGRsSUdSdklHNXZkQ0J1WldWa0lIUnZYRzRnS2lCaGJHeHZZMkYwWlNCaGJpQmhjbkpoZVNrdVhHNGdLaUJBY0dGeVlXMGdlMloxYm1OMGFXOXVmU0JqWWlCRFlXeHNZbUZqYXlCcGJuWnZhMlZrSUhkcGRHZ2daV0ZqYUNCbGJHVnRaVzUwSUc5eUlHRWdZMjlzYkdWamRHbHZiaTVjYmlBcUlFQndZWEpoYlNCN1AzMGdXM05qYjNCbFhTQlRZMjl3WlNCMWMyVmtJR0Z6SUdCMGFHbHpZQ0JwYmlCaElHTmhiR3hpWVdOckxseHVJQ292WEc1bWRXNWpkR2x2YmlCbWIzSkZZV05vUVdOamRXMTFiR0YwWldRb1lYSnlMQ0JqWWl3Z2MyTnZjR1VwSUh0Y2JpQWdhV1lnS0VGeWNtRjVMbWx6UVhKeVlYa29ZWEp5S1NrZ2UxeHVJQ0FnSUdGeWNpNW1iM0pGWVdOb0tHTmlMQ0J6WTI5d1pTazdYRzRnSUgwZ1pXeHpaU0JwWmlBb1lYSnlLU0I3WEc0Z0lDQWdZMkl1WTJGc2JDaHpZMjl3WlN3Z1lYSnlLVHRjYmlBZ2ZWeHVmVnh1WEc0dktpcGNiaUFxSUVsdWRHVnlibUZzSUhGMVpYVmxJRzltSUdWMlpXNTBjeUIwYUdGMElHaGhkbVVnWVdOamRXMTFiR0YwWldRZ2RHaGxhWElnWkdsemNHRjBZMmhsY3lCaGJtUWdZWEpsWEc0Z0tpQjNZV2wwYVc1bklIUnZJR2hoZG1VZ2RHaGxhWElnWkdsemNHRjBZMmhsY3lCbGVHVmpkWFJsWkM1Y2JpQXFMMXh1WEc1MllYSWdaWFpsYm5SUmRXVjFaU0E5SUc1MWJHdzdYRzR2S2lwY2JpQXFJRVJwYzNCaGRHTm9aWE1nWVc0Z1pYWmxiblFnWVc1a0lISmxiR1ZoYzJWeklHbDBJR0poWTJzZ2FXNTBieUIwYUdVZ2NHOXZiQ3dnZFc1c1pYTnpJSEJsY25OcGMzUmxiblF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHMvYjJKcVpXTjBmU0JsZG1WdWRDQlRlVzUwYUdWMGFXTWdaWFpsYm5RZ2RHOGdZbVVnWkdsemNHRjBZMmhsWkM1Y2JpQXFJRUJ3Y21sMllYUmxYRzRnS2k5Y2JseHVkbUZ5SUdWNFpXTjFkR1ZFYVhOd1lYUmphR1Z6UVc1a1VtVnNaV0Z6WlNBOUlHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0JwWmlBb1pYWmxiblFwSUh0Y2JpQWdJQ0JsZUdWamRYUmxSR2x6Y0dGMFkyaGxjMGx1VDNKa1pYSW9aWFpsYm5RcE8xeHVYRzRnSUNBZ2FXWWdLQ0ZsZG1WdWRDNXBjMUJsY25OcGMzUmxiblFvS1NrZ2UxeHVJQ0FnSUNBZ1pYWmxiblF1WTI5dWMzUnlkV04wYjNJdWNtVnNaV0Z6WlNobGRtVnVkQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlPMXh1WEc1MllYSWdaWGhsWTNWMFpVUnBjM0JoZEdOb1pYTkJibVJTWld4bFlYTmxWRzl3VEdWMlpXd2dQU0JtZFc1amRHbHZiaUFvWlNrZ2UxeHVJQ0J5WlhSMWNtNGdaWGhsWTNWMFpVUnBjM0JoZEdOb1pYTkJibVJTWld4bFlYTmxLR1VwTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnY25WdVJYWmxiblJ6U1c1Q1lYUmphQ2hsZG1WdWRITXBJSHRjYmlBZ2FXWWdLR1YyWlc1MGN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHVjJaVzUwVVhWbGRXVWdQU0JoWTJOMWJYVnNZWFJsU1c1MGJ5aGxkbVZ1ZEZGMVpYVmxMQ0JsZG1WdWRITXBPMXh1SUNCOUlDOHZJRk5sZENCZ1pYWmxiblJSZFdWMVpXQWdkRzhnYm5Wc2JDQmlaV1p2Y21VZ2NISnZZMlZ6YzJsdVp5QnBkQ0J6YnlCMGFHRjBJSGRsSUdOaGJpQjBaV3hzSUdsbUlHMXZjbVZjYmlBZ0x5OGdaWFpsYm5SeklHZGxkQ0JsYm5GMVpYVmxaQ0IzYUdsc1pTQndjbTlqWlhOemFXNW5MbHh1WEc1Y2JpQWdkbUZ5SUhCeWIyTmxjM05wYm1kRmRtVnVkRkYxWlhWbElEMGdaWFpsYm5SUmRXVjFaVHRjYmlBZ1pYWmxiblJSZFdWMVpTQTlJRzUxYkd3N1hHNWNiaUFnYVdZZ0tDRndjbTlqWlhOemFXNW5SWFpsYm5SUmRXVjFaU2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJR1p2Y2tWaFkyaEJZMk4xYlhWc1lYUmxaQ2h3Y205alpYTnphVzVuUlhabGJuUlJkV1YxWlN3Z1pYaGxZM1YwWlVScGMzQmhkR05vWlhOQmJtUlNaV3hsWVhObFZHOXdUR1YyWld3cE8xeHVYRzRnSUdsbUlDZ2hJV1YyWlc1MFVYVmxkV1VwSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSndjbTlqWlhOelJYWmxiblJSZFdWMVpTZ3BPaUJCWkdScGRHbHZibUZzSUdWMlpXNTBjeUIzWlhKbElHVnVjWFZsZFdWa0lIZG9hV3hsSUhCeWIyTmxjM05wYm1jZ1lXNGdaWFpsYm5RZ2NYVmxkV1V1SUZOMWNIQnZjblFnWm05eUlIUm9hWE1nYUdGeklHNXZkQ0I1WlhRZ1ltVmxiaUJwYlhCc1pXMWxiblJsWkM1Y0lpQXBPMXh1SUNBZ0lIMWNiaUFnZlNBdkx5QlVhR2x6SUhkdmRXeGtJR0psSUdFZ1oyOXZaQ0IwYVcxbElIUnZJSEpsZEdoeWIzY2dhV1lnWVc1NUlHOW1JSFJvWlNCbGRtVnVkQ0JvWVc1a2JHVnljeUIwYUhKbGR5NWNibHh1WEc0Z0lISmxkR2h5YjNkRFlYVm5hSFJGY25KdmNpZ3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFZGxkSE1nZEdobElIUmhjbWRsZENCdWIyUmxJR1p5YjIwZ1lTQnVZWFJwZG1VZ1luSnZkM05sY2lCbGRtVnVkQ0JpZVNCaFkyTnZkVzUwYVc1bklHWnZjbHh1SUNvZ2FXNWpiMjV6YVhOMFpXNWphV1Z6SUdsdUlHSnliM2R6WlhJZ1JFOU5JRUZRU1hNdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0dlltcGxZM1I5SUc1aGRHbDJaVVYyWlc1MElFNWhkR2wyWlNCaWNtOTNjMlZ5SUdWMlpXNTBMbHh1SUNvZ1FISmxkSFZ5YmlCN1JFOU5SWFpsYm5SVVlYSm5aWFI5SUZSaGNtZGxkQ0J1YjJSbExseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlHZGxkRVYyWlc1MFZHRnlaMlYwS0c1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUM4dklFWmhiR3hpWVdOcklIUnZJRzVoZEdsMlpVVjJaVzUwTG5OeVkwVnNaVzFsYm5RZ1ptOXlJRWxGT1Z4dUlDQXZMeUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Y21WaFkzUXZhWE56ZFdWekx6RXlOVEEyWEc0Z0lIWmhjaUIwWVhKblpYUWdQU0J1WVhScGRtVkZkbVZ1ZEM1MFlYSm5aWFFnZkh3Z2JtRjBhWFpsUlhabGJuUXVjM0pqUld4bGJXVnVkQ0I4ZkNCM2FXNWtiM2M3SUM4dklFNXZjbTFoYkdsNlpTQlRWa2NnUEhWelpUNGdaV3hsYldWdWRDQmxkbVZ1ZEhNZ0l6UTVOak5jYmx4dUlDQnBaaUFvZEdGeVoyVjBMbU52Y25KbGMzQnZibVJwYm1kVmMyVkZiR1Z0Wlc1MEtTQjdYRzRnSUNBZ2RHRnlaMlYwSUQwZ2RHRnlaMlYwTG1OdmNuSmxjM0J2Ym1ScGJtZFZjMlZGYkdWdFpXNTBPMXh1SUNCOUlDOHZJRk5oWm1GeWFTQnRZWGtnWm1seVpTQmxkbVZ1ZEhNZ2IyNGdkR1Y0ZENCdWIyUmxjeUFvVG05a1pTNVVSVmhVWDA1UFJFVWdhWE1nTXlrdVhHNGdJQzh2SUVCelpXVWdhSFIwY0RvdkwzZDNkeTV4ZFdseWEzTnRiMlJsTG05eVp5OXFjeTlsZG1WdWRITmZjSEp2Y0dWeWRHbGxjeTVvZEcxc1hHNWNibHh1SUNCeVpYUjFjbTRnZEdGeVoyVjBMbTV2WkdWVWVYQmxJRDA5UFNCVVJWaFVYMDVQUkVVZ1B5QjBZWEpuWlhRdWNHRnlaVzUwVG05a1pTQTZJSFJoY21kbGREdGNibjFjYmx4dUx5b3FYRzRnS2lCRGFHVmphM01nYVdZZ1lXNGdaWFpsYm5RZ2FYTWdjM1Z3Y0c5eWRHVmtJR2x1SUhSb1pTQmpkWEp5Wlc1MElHVjRaV04xZEdsdmJpQmxiblpwY205dWJXVnVkQzVjYmlBcVhHNGdLaUJPVDFSRk9pQlVhR2x6SUhkcGJHd2dibTkwSUhkdmNtc2dZMjl5Y21WamRHeDVJR1p2Y2lCdWIyNHRaMlZ1WlhKcFl5QmxkbVZ1ZEhNZ2MzVmphQ0JoY3lCZ1kyaGhibWRsWUN4Y2JpQXFJR0J5WlhObGRHQXNJR0JzYjJGa1lDd2dZR1Z5Y205eVlDd2dZVzVrSUdCelpXeGxZM1JnTGx4dUlDcGNiaUFxSUVKdmNuSnZkM01nWm5KdmJTQk5iMlJsY201cGVuSXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHVjJaVzUwVG1GdFpWTjFabVpwZUNCRmRtVnVkQ0J1WVcxbExDQmxMbWN1SUZ3aVkyeHBZMnRjSWk1Y2JpQXFJRUJ5WlhSMWNtNGdlMkp2YjJ4bFlXNTlJRlJ5ZFdVZ2FXWWdkR2hsSUdWMlpXNTBJR2x6SUhOMWNIQnZjblJsWkM1Y2JpQXFJRUJwYm5SbGNtNWhiRnh1SUNvZ1FHeHBZMlZ1YzJVZ1RXOWtaWEp1YVhweUlETXVNQzR3Y0hKbElDaERkWE4wYjIwZ1FuVnBiR1FwSUh3Z1RVbFVYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdhWE5GZG1WdWRGTjFjSEJ2Y25SbFpDaGxkbVZ1ZEU1aGJXVlRkV1ptYVhncElIdGNiaUFnYVdZZ0tDRmpZVzVWYzJWRVQwMHBJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCMllYSWdaWFpsYm5ST1lXMWxJRDBnSjI5dUp5QXJJR1YyWlc1MFRtRnRaVk4xWm1acGVEdGNiaUFnZG1GeUlHbHpVM1Z3Y0c5eWRHVmtJRDBnWlhabGJuUk9ZVzFsSUdsdUlHUnZZM1Z0Wlc1ME8xeHVYRzRnSUdsbUlDZ2hhWE5UZFhCd2IzSjBaV1FwSUh0Y2JpQWdJQ0IyWVhJZ1pXeGxiV1Z1ZENBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjJScGRpY3BPMXh1SUNBZ0lHVnNaVzFsYm5RdWMyVjBRWFIwY21saWRYUmxLR1YyWlc1MFRtRnRaU3dnSjNKbGRIVnlianNuS1R0Y2JpQWdJQ0JwYzFOMWNIQnZjblJsWkNBOUlIUjVjR1Z2WmlCbGJHVnRaVzUwVzJWMlpXNTBUbUZ0WlYwZ1BUMDlJQ2RtZFc1amRHbHZiaWM3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYVhOVGRYQndiM0owWldRN1hHNTlYRzVjYmk4cUtseHVJQ29nVTNWdGJXRnllU0J2WmlCZ1JFOU5SWFpsYm5SUWJIVm5hVzVUZVhOMFpXMWdJR1YyWlc1MElHaGhibVJzYVc1bk9seHVJQ3BjYmlBcUlDQXRJRlJ2Y0Mxc1pYWmxiQ0JrWld4bFoyRjBhVzl1SUdseklIVnpaV1FnZEc4Z2RISmhjQ0J0YjNOMElHNWhkR2wyWlNCaWNtOTNjMlZ5SUdWMlpXNTBjeTRnVkdocGMxeHVJQ29nSUNBZ2JXRjVJRzl1YkhrZ2IyTmpkWElnYVc0Z2RHaGxJRzFoYVc0Z2RHaHlaV0ZrSUdGdVpDQnBjeUIwYUdVZ2NtVnpjRzl1YzJsaWFXeHBkSGtnYjJaY2JpQXFJQ0FnSUZKbFlXTjBSRTlOUlhabGJuUk1hWE4wWlc1bGNpd2dkMmhwWTJnZ2FYTWdhVzVxWldOMFpXUWdZVzVrSUdOaGJpQjBhR1Z5WldadmNtVWdjM1Z3Y0c5eWRGeHVJQ29nSUNBZ2NHeDFaMmRoWW14bElHVjJaVzUwSUhOdmRYSmpaWE11SUZSb2FYTWdhWE1nZEdobElHOXViSGtnZDI5eWF5QjBhR0YwSUc5alkzVnljeUJwYmlCMGFHVWdiV0ZwYmx4dUlDb2dJQ0FnZEdoeVpXRmtMbHh1SUNwY2JpQXFJQ0F0SUZkbElHNXZjbTFoYkdsNlpTQmhibVFnWkdVdFpIVndiR2xqWVhSbElHVjJaVzUwY3lCMGJ5QmhZMk52ZFc1MElHWnZjaUJpY205M2MyVnlJSEYxYVhKcmN5NGdWR2hwYzF4dUlDb2dJQ0FnYldGNUlHSmxJR1J2Ym1VZ2FXNGdkR2hsSUhkdmNtdGxjaUIwYUhKbFlXUXVYRzRnS2x4dUlDb2dJQzBnUm05eWQyRnlaQ0IwYUdWelpTQnVZWFJwZG1VZ1pYWmxiblJ6SUNoM2FYUm9JSFJvWlNCaGMzTnZZMmxoZEdWa0lIUnZjQzFzWlhabGJDQjBlWEJsSUhWelpXUWdkRzljYmlBcUlDQWdJSFJ5WVhBZ2FYUXBJSFJ2SUdCRmRtVnVkRkJzZFdkcGJsSmxaMmx6ZEhKNVlDd2dkMmhwWTJnZ2FXNGdkSFZ5YmlCM2FXeHNJR0Z6YXlCd2JIVm5hVzV6SUdsbUlIUm9aWGtnZDJGdWRGeHVJQ29nSUNBZ2RHOGdaWGgwY21GamRDQmhibmtnYzNsdWRHaGxkR2xqSUdWMlpXNTBjeTVjYmlBcVhHNGdLaUFnTFNCVWFHVWdZRVYyWlc1MFVHeDFaMmx1VW1WbmFYTjBjbmxnSUhkcGJHd2dkR2hsYmlCd2NtOWpaWE56SUdWaFkyZ2daWFpsYm5RZ1lua2dZVzV1YjNSaGRHbHVaeUIwYUdWdElIZHBkR2hjYmlBcUlDQWdJRndpWkdsemNHRjBZMmhsYzF3aUxDQmhJSE5sY1hWbGJtTmxJRzltSUd4cGMzUmxibVZ5Y3lCaGJtUWdTVVJ6SUhSb1lYUWdZMkZ5WlNCaFltOTFkQ0IwYUdGMElHVjJaVzUwTGx4dUlDcGNiaUFxSUNBdElGUm9aU0JnUlhabGJuUlFiSFZuYVc1U1pXZHBjM1J5ZVdBZ2RHaGxiaUJrYVhOd1lYUmphR1Z6SUhSb1pTQmxkbVZ1ZEhNdVhHNGdLbHh1SUNvZ1QzWmxjblpwWlhjZ2IyWWdVbVZoWTNRZ1lXNWtJSFJvWlNCbGRtVnVkQ0J6ZVhOMFpXMDZYRzRnS2x4dUlDb2dLeTB0TFMwdExTMHRMUzB0TFNzZ0lDQWdMbHh1SUNvZ2ZDQWdJQ0JFVDAwZ0lDQWdJSHdnSUNBZ0xseHVJQ29nS3kwdExTMHRMUzB0TFMwdExTc2dJQ0FnTGx4dUlDb2dJQ0FnSUNBZ2ZDQWdJQ0FnSUNBZ0lDQWdMbHh1SUNvZ0lDQWdJQ0FnZGlBZ0lDQWdJQ0FnSUNBZ0xseHVJQ29nS3kwdExTMHRMUzB0TFMwdExTc2dJQ0FnTGx4dUlDb2dmQ0JTWldGamRFVjJaVzUwSUh3Z0lDQWdMbHh1SUNvZ2ZDQWdUR2x6ZEdWdVpYSWdJSHdnSUNBZ0xseHVJQ29nS3kwdExTMHRMUzB0TFMwdExTc2dJQ0FnTGlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FyTFMwdExTMHRMUzB0TFMwclhHNGdLaUFnSUNBZ0lDQjhJQ0FnSUNBZ0lDQWdJQ0F1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLeTB0TFMwdExTMHRLM3hUYVcxd2JHVkZkbVZ1ZEh4Y2JpQXFJQ0FnSUNBZ0lId2dJQ0FnSUNBZ0lDQWdJQzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjhJQ0FnSUNBZ0lDQWdmRkJzZFdkcGJpQWdJQ0FnZkZ4dUlDb2dLeTB0TFMwdGZDMHRMUzB0TFNzZ0lDQWdMaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lIWWdJQ0FnSUNBZ0lDQXJMUzB0TFMwdExTMHRMUzByWEc0Z0tpQjhJQ0FnSUNCOElDQWdJQ0FnZkNBZ0lDQXVJQ0FnSUNzdExTMHRMUzB0TFMwdExTMHRMU3NnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNzdExTMHRMUzB0TFMwdExTMHJYRzRnS2lCOElDQWdJQ0FyTFMwdExTMHRMUzB0TFMwdUxTMHRQbnhRYkhWbmFXNVNaV2RwYzNSeWVYd2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBZ1JYWmxiblFnSUNCOFhHNGdLaUI4SUNBZ0lDQWdJQ0FnSUNBZ2ZDQWdJQ0F1SUNBZ0lId2dJQ0FnSUNBZ0lDQWdJQ0FnSUh3Z0lDQWdJQ3N0TFMwdExTMHRMUzB0TFNzZ0lId2dVSEp2Y0dGbllYUnZjbk44WEc0Z0tpQjhJRkpsWVdOMFJYWmxiblFnZkNBZ0lDQXVJQ0FnSUh3Z0lDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBZ0lIeFVZWEJGZG1WdWRDQWdJSHdnSUh3dExTMHRMUzB0TFMwdExTMThYRzRnS2lCOElDQkZiV2wwZEdWeUlDQWdmQ0FnSUNBdUlDQWdJSHdnSUNBZ0lDQWdJQ0FnSUNBZ0lIdzhMUzB0SzN4UWJIVm5hVzRnSUNBZ0lId2dJSHh2ZEdobGNpQndiSFZuYVc1OFhHNGdLaUI4SUNBZ0lDQWdJQ0FnSUNBZ2ZDQWdJQ0F1SUNBZ0lId2dJQ0FnSUNBZ0lDQWdJQ0FnSUh3Z0lDQWdJQ3N0TFMwdExTMHRMUzB0TFNzZ0lId2dJSFYwYVd4cGRHbGxjeUI4WEc0Z0tpQjhJQ0FnSUNBckxTMHRMUzB0TFMwdExTMHVMUzB0UG53Z0lDQWdJQ0FnSUNBZ0lDQWdJSHdnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNzdExTMHRMUzB0TFMwdExTMHJYRzRnS2lCOElDQWdJQ0I4SUNBZ0lDQWdmQ0FnSUNBdUlDQWdJQ3N0TFMwdExTMHRMUzB0TFMwdExTdGNiaUFxSUNzdExTMHRMWHd0TFMwdExTMHJJQ0FnSUM0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWGlBZ0lDQWdJQ0FnS3kwdExTMHRMUzB0TFMwdEsxeHVJQ29nSUNBZ0lDQWdmQ0FnSUNBZ0lDQWdJQ0FnTGlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I4SUNBZ0lDQWdJQ0I4Ulc1MFpYSXZUR1ZoZG1WOFhHNGdLaUFnSUNBZ0lDQXJJQ0FnSUNBZ0lDQWdJQ0F1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ3N0TFMwdExTMHRLM3hRYkhWbmFXNGdJQ0FnSUh4Y2JpQXFJQ3N0TFMwdExTMHRMUzB0TFMwdEt5QWdJQzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLeTB0TFMwdExTMHRMUzB0SzF4dUlDb2dmQ0JoY0hCc2FXTmhkR2x2YmlCOElDQWdMbHh1SUNvZ2ZDMHRMUzB0TFMwdExTMHRMUzE4SUNBZ0xseHVJQ29nZkNBZ0lDQWdJQ0FnSUNBZ0lDQjhJQ0FnTGx4dUlDb2dmQ0FnSUNBZ0lDQWdJQ0FnSUNCOElDQWdMbHh1SUNvZ0t5MHRMUzB0TFMwdExTMHRMUzBySUNBZ0xseHVJQ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTGx4dUlDb2dJQ0FnVW1WaFkzUWdRMjl5WlNBZ0lDQWdMaUFnUjJWdVpYSmhiQ0JRZFhKd2IzTmxJRVYyWlc1MElGQnNkV2RwYmlCVGVYTjBaVzFjYmlBcUwxeHVYRzUyWVhJZ1EwRk1URUpCUTB0ZlFrOVBTMHRGUlZCSlRrZGZVRTlQVEY5VFNWcEZJRDBnTVRBN1hHNTJZWElnWTJGc2JHSmhZMnRDYjI5cmEyVmxjR2x1WjFCdmIyd2dQU0JiWFR0Y2JseHVablZ1WTNScGIyNGdjbVZzWldGelpWUnZjRXhsZG1Wc1EyRnNiR0poWTJ0Q2IyOXJTMlZsY0dsdVp5aHBibk4wWVc1alpTa2dlMXh1SUNCcGJuTjBZVzVqWlM1MGIzQk1aWFpsYkZSNWNHVWdQU0J1ZFd4c08xeHVJQ0JwYm5OMFlXNWpaUzV1WVhScGRtVkZkbVZ1ZENBOUlHNTFiR3c3WEc0Z0lHbHVjM1JoYm1ObExuUmhjbWRsZEVsdWMzUWdQU0J1ZFd4c08xeHVJQ0JwYm5OMFlXNWpaUzVoYm1ObGMzUnZjbk11YkdWdVozUm9JRDBnTUR0Y2JseHVJQ0JwWmlBb1kyRnNiR0poWTJ0Q2IyOXJhMlZsY0dsdVoxQnZiMnd1YkdWdVozUm9JRHdnUTBGTVRFSkJRMHRmUWs5UFMwdEZSVkJKVGtkZlVFOVBURjlUU1ZwRktTQjdYRzRnSUNBZ1kyRnNiR0poWTJ0Q2IyOXJhMlZsY0dsdVoxQnZiMnd1Y0hWemFDaHBibk4wWVc1alpTazdYRzRnSUgxY2JuMGdMeThnVlhObFpDQjBieUJ6ZEc5eVpTQmhibU5sYzNSdmNpQm9hV1Z5WVhKamFIa2dhVzRnZEc5d0lHeGxkbVZzSUdOaGJHeGlZV05yWEc1Y2JseHVablZ1WTNScGIyNGdaMlYwVkc5d1RHVjJaV3hEWVd4c1ltRmphMEp2YjJ0TFpXVndhVzVuS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFzSUhSaGNtZGxkRWx1YzNRc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNcElIdGNiaUFnYVdZZ0tHTmhiR3hpWVdOclFtOXZhMnRsWlhCcGJtZFFiMjlzTG14bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCcGJuTjBZVzVqWlNBOUlHTmhiR3hpWVdOclFtOXZhMnRsWlhCcGJtZFFiMjlzTG5CdmNDZ3BPMXh1SUNBZ0lHbHVjM1JoYm1ObExuUnZjRXhsZG1Wc1ZIbHdaU0E5SUhSdmNFeGxkbVZzVkhsd1pUdGNiaUFnSUNCcGJuTjBZVzVqWlM1bGRtVnVkRk41YzNSbGJVWnNZV2R6SUQwZ1pYWmxiblJUZVhOMFpXMUdiR0ZuY3p0Y2JpQWdJQ0JwYm5OMFlXNWpaUzV1WVhScGRtVkZkbVZ1ZENBOUlHNWhkR2wyWlVWMlpXNTBPMXh1SUNBZ0lHbHVjM1JoYm1ObExuUmhjbWRsZEVsdWMzUWdQU0IwWVhKblpYUkpibk4wTzF4dUlDQWdJSEpsZEhWeWJpQnBibk4wWVc1alpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjdYRzRnSUNBZ2RHOXdUR1YyWld4VWVYQmxPaUIwYjNCTVpYWmxiRlI1Y0dVc1hHNGdJQ0FnWlhabGJuUlRlWE4wWlcxR2JHRm5jem9nWlhabGJuUlRlWE4wWlcxR2JHRm5jeXhjYmlBZ0lDQnVZWFJwZG1WRmRtVnVkRG9nYm1GMGFYWmxSWFpsYm5Rc1hHNGdJQ0FnZEdGeVoyVjBTVzV6ZERvZ2RHRnlaMlYwU1c1emRDeGNiaUFnSUNCaGJtTmxjM1J2Y25NNklGdGRYRzRnSUgwN1hHNTlYRzR2S2lwY2JpQXFJRVpwYm1RZ2RHaGxJR1JsWlhCbGMzUWdVbVZoWTNRZ1kyOXRjRzl1Wlc1MElHTnZiWEJzWlhSbGJIa2dZMjl1ZEdGcGJtbHVaeUIwYUdVZ2NtOXZkQ0J2WmlCMGFHVmNiaUFxSUhCaGMzTmxaQzFwYmlCcGJuTjBZVzVqWlNBb1ptOXlJSFZ6WlNCM2FHVnVJR1Z1ZEdseVpTQlNaV0ZqZENCMGNtVmxjeUJoY21VZ2JtVnpkR1ZrSUhkcGRHaHBiaUJsWVdOb1hHNGdLaUJ2ZEdobGNpa3VJRWxtSUZKbFlXTjBJSFJ5WldWeklHRnlaU0J1YjNRZ2JtVnpkR1ZrTENCeVpYUjFjbTV6SUc1MWJHd3VYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUJtYVc1a1VtOXZkRU52Ym5SaGFXNWxjazV2WkdVb2FXNXpkQ2tnZTF4dUlDQnBaaUFvYVc1emRDNTBZV2NnUFQwOUlFaHZjM1JTYjI5MEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdsdWMzUXVjM1JoZEdWT2IyUmxMbU52Ym5SaGFXNWxja2x1Wm04N1hHNGdJSDBnTHk4Z1ZFOUVUem9nU1hRZ2JXRjVJR0psSUdFZ1oyOXZaQ0JwWkdWaElIUnZJR05oWTJobElIUm9hWE1nZEc4Z2NISmxkbVZ1ZENCMWJtNWxZMlZ6YzJGeWVTQkVUMDFjYmlBZ0x5OGdkSEpoZG1WeWMyRnNMQ0JpZFhRZ1kyRmphR2x1WnlCcGN5QmthV1ptYVdOMWJIUWdkRzhnWkc4Z1kyOXljbVZqZEd4NUlIZHBkR2h2ZFhRZ2RYTnBibWNnWVZ4dUlDQXZMeUJ0ZFhSaGRHbHZiaUJ2WW5ObGNuWmxjaUIwYnlCc2FYTjBaVzRnWm05eUlHRnNiQ0JFVDAwZ1kyaGhibWRsY3k1Y2JseHVYRzRnSUhkb2FXeGxJQ2hwYm5OMExuSmxkSFZ5YmlrZ2UxeHVJQ0FnSUdsdWMzUWdQU0JwYm5OMExuSmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hwYm5OMExuUmhaeUFoUFQwZ1NHOXpkRkp2YjNRcElIdGNiaUFnSUNBdkx5QlVhR2x6SUdOaGJpQm9ZWEJ3Wlc0Z2FXWWdkMlVuY21VZ2FXNGdZU0JrWlhSaFkyaGxaQ0IwY21WbExseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHbHVjM1F1YzNSaGRHVk9iMlJsTG1OdmJuUmhhVzVsY2tsdVptODdYRzU5WEc0dktpcGNiaUFxSUVGc2JHOTNjeUJ5WldkcGMzUmxjbVZrSUhCc2RXZHBibk1nWVc0Z2IzQndiM0owZFc1cGRIa2dkRzhnWlhoMGNtRmpkQ0JsZG1WdWRITWdabkp2YlNCMGIzQXRiR1YyWld4Y2JpQXFJRzVoZEdsMlpTQmljbTkzYzJWeUlHVjJaVzUwY3k1Y2JpQXFYRzRnS2lCQWNtVjBkWEp1SUhzcWZTQkJiaUJoWTJOMWJYVnNZWFJwYjI0Z2IyWWdjM2x1ZEdobGRHbGpJR1YyWlc1MGN5NWNiaUFxSUVCcGJuUmxjbTVoYkZ4dUlDb3ZYRzVjYmx4dVpuVnVZM1JwYjI0Z1pYaDBjbUZqZEZCc2RXZHBia1YyWlc1MGN5aDBiM0JNWlhabGJGUjVjR1VzSUhSaGNtZGxkRWx1YzNRc0lHNWhkR2wyWlVWMlpXNTBMQ0J1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeWtnZTF4dUlDQjJZWElnWlhabGJuUnpJRDBnYm5Wc2JEdGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIQnNkV2RwYm5NdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQXZMeUJPYjNRZ1pYWmxjbmtnY0d4MVoybHVJR2x1SUhSb1pTQnZjbVJsY21sdVp5QnRZWGtnWW1VZ2JHOWhaR1ZrSUdGMElISjFiblJwYldVdVhHNGdJQ0FnZG1GeUlIQnZjM05wWW14bFVHeDFaMmx1SUQwZ2NHeDFaMmx1YzF0cFhUdGNibHh1SUNBZ0lHbG1JQ2h3YjNOemFXSnNaVkJzZFdkcGJpa2dlMXh1SUNBZ0lDQWdkbUZ5SUdWNGRISmhZM1JsWkVWMlpXNTBjeUE5SUhCdmMzTnBZbXhsVUd4MVoybHVMbVY0ZEhKaFkzUkZkbVZ1ZEhNb2RHOXdUR1YyWld4VWVYQmxMQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1pYaDBjbUZqZEdWa1JYWmxiblJ6S1NCN1hHNGdJQ0FnSUNBZ0lHVjJaVzUwY3lBOUlHRmpZM1Z0ZFd4aGRHVkpiblJ2S0dWMlpXNTBjeXdnWlhoMGNtRmpkR1ZrUlhabGJuUnpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdaWFpsYm5Sek8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCeWRXNUZlSFJ5WVdOMFpXUlFiSFZuYVc1RmRtVnVkSE5KYmtKaGRHTm9LSFJ2Y0V4bGRtVnNWSGx3WlN3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6S1NCN1hHNGdJSFpoY2lCbGRtVnVkSE1nUFNCbGVIUnlZV04wVUd4MVoybHVSWFpsYm5SektIUnZjRXhsZG1Wc1ZIbHdaU3dnZEdGeVoyVjBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBMQ0JsZG1WdWRGTjVjM1JsYlVac1lXZHpLVHRjYmlBZ2NuVnVSWFpsYm5SelNXNUNZWFJqYUNobGRtVnVkSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJvWVc1a2JHVlViM0JNWlhabGJDaGliMjlyUzJWbGNHbHVaeWtnZTF4dUlDQjJZWElnZEdGeVoyVjBTVzV6ZENBOUlHSnZiMnRMWldWd2FXNW5MblJoY21kbGRFbHVjM1E3SUM4dklFeHZiM0FnZEdoeWIzVm5hQ0IwYUdVZ2FHbGxjbUZ5WTJoNUxDQnBiaUJqWVhObElIUm9aWEpsSjNNZ1lXNTVJRzVsYzNSbFpDQmpiMjF3YjI1bGJuUnpMbHh1SUNBdkx5QkpkQ2R6SUdsdGNHOXlkR0Z1ZENCMGFHRjBJSGRsSUdKMWFXeGtJSFJvWlNCaGNuSmhlU0J2WmlCaGJtTmxjM1J2Y25NZ1ltVm1iM0psSUdOaGJHeHBibWNnWVc1NVhHNGdJQzh2SUdWMlpXNTBJR2hoYm1Sc1pYSnpMQ0JpWldOaGRYTmxJR1YyWlc1MElHaGhibVJzWlhKeklHTmhiaUJ0YjJScFpua2dkR2hsSUVSUFRTd2diR1ZoWkdsdVp5QjBiMXh1SUNBdkx5QnBibU52Ym5OcGMzUmxibU5wWlhNZ2QybDBhQ0JTWldGamRFMXZkVzUwSjNNZ2JtOWtaU0JqWVdOb1pTNGdVMlZsSUNNeE1UQTFMbHh1WEc0Z0lIWmhjaUJoYm1ObGMzUnZjaUE5SUhSaGNtZGxkRWx1YzNRN1hHNWNiaUFnWkc4Z2UxeHVJQ0FnSUdsbUlDZ2hZVzVqWlhOMGIzSXBJSHRjYmlBZ0lDQWdJSFpoY2lCaGJtTmxjM1J2Y25NZ1BTQmliMjlyUzJWbGNHbHVaeTVoYm1ObGMzUnZjbk03WEc0Z0lDQWdJQ0JoYm1ObGMzUnZjbk11Y0hWemFDaGhibU5sYzNSdmNpazdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2NtOXZkQ0E5SUdacGJtUlNiMjkwUTI5dWRHRnBibVZ5VG05a1pTaGhibU5sYzNSdmNpazdYRzVjYmlBZ0lDQnBaaUFvSVhKdmIzUXBJSHRjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQjBZV2NnUFNCaGJtTmxjM1J2Y2k1MFlXYzdYRzVjYmlBZ0lDQnBaaUFvZEdGbklEMDlQU0JJYjNOMFEyOXRjRzl1Wlc1MElIeDhJSFJoWnlBOVBUMGdTRzl6ZEZSbGVIUXBJSHRjYmlBZ0lDQWdJR0p2YjJ0TFpXVndhVzVuTG1GdVkyVnpkRzl5Y3k1d2RYTm9LR0Z1WTJWemRHOXlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhibU5sYzNSdmNpQTlJR2RsZEVOc2IzTmxjM1JKYm5OMFlXNWpaVVp5YjIxT2IyUmxLSEp2YjNRcE8xeHVJQ0I5SUhkb2FXeGxJQ2hoYm1ObGMzUnZjaWs3WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JpYjI5clMyVmxjR2x1Wnk1aGJtTmxjM1J2Y25NdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQjBZWEpuWlhSSmJuTjBJRDBnWW05dmEwdGxaWEJwYm1jdVlXNWpaWE4wYjNKelcybGRPMXh1SUNBZ0lIWmhjaUJsZG1WdWRGUmhjbWRsZENBOUlHZGxkRVYyWlc1MFZHRnlaMlYwS0dKdmIydExaV1Z3YVc1bkxtNWhkR2wyWlVWMlpXNTBLVHRjYmlBZ0lDQjJZWElnZEc5d1RHVjJaV3hVZVhCbElEMGdZbTl2YTB0bFpYQnBibWN1ZEc5d1RHVjJaV3hVZVhCbE8xeHVJQ0FnSUhaaGNpQnVZWFJwZG1WRmRtVnVkQ0E5SUdKdmIydExaV1Z3YVc1bkxtNWhkR2wyWlVWMlpXNTBPMXh1SUNBZ0lIWmhjaUJsZG1WdWRGTjVjM1JsYlVac1lXZHpJRDBnWW05dmEwdGxaWEJwYm1jdVpYWmxiblJUZVhOMFpXMUdiR0ZuY3pzZ0x5OGdTV1lnZEdocGN5QnBjeUIwYUdVZ1ptbHljM1FnWVc1alpYTjBiM0lzSUhkbElHMWhjbXNnYVhRZ2IyNGdkR2hsSUhONWMzUmxiU0JtYkdGbmMxeHVYRzRnSUNBZ2FXWWdLR2tnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJR1YyWlc1MFUzbHpkR1Z0Um14aFozTWdmRDBnU1ZOZlJrbFNVMVJmUVU1RFJWTlVUMUk3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjblZ1UlhoMGNtRmpkR1ZrVUd4MVoybHVSWFpsYm5SelNXNUNZWFJqYUNoMGIzQk1aWFpsYkZSNWNHVXNJSFJoY21kbGRFbHVjM1FzSUc1aGRHbDJaVVYyWlc1MExDQmxkbVZ1ZEZSaGNtZGxkQ3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHbHpjR0YwWTJoRmRtVnVkRVp2Y2t4bFoyRmplVkJzZFdkcGJrVjJaVzUwVTNsemRHVnRLSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z2JtRjBhWFpsUlhabGJuUXNJSFJoY21kbGRFbHVjM1FwSUh0Y2JpQWdkbUZ5SUdKdmIydExaV1Z3YVc1bklEMGdaMlYwVkc5d1RHVjJaV3hEWVd4c1ltRmphMEp2YjJ0TFpXVndhVzVuS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFzSUhSaGNtZGxkRWx1YzNRc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNcE8xeHVYRzRnSUhSeWVTQjdYRzRnSUNBZ0x5OGdSWFpsYm5RZ2NYVmxkV1VnWW1WcGJtY2djSEp2WTJWemMyVmtJR2x1SUhSb1pTQnpZVzFsSUdONVkyeGxJR0ZzYkc5M2MxeHVJQ0FnSUM4dklHQndjbVYyWlc1MFJHVm1ZWFZzZEdBdVhHNGdJQ0FnWW1GMFkyaGxaRVYyWlc1MFZYQmtZWFJsY3lob1lXNWtiR1ZVYjNCTVpYWmxiQ3dnWW05dmEwdGxaWEJwYm1jcE8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJSEpsYkdWaGMyVlViM0JNWlhabGJFTmhiR3hpWVdOclFtOXZhMHRsWlhCcGJtY29ZbTl2YTB0bFpYQnBibWNwTzF4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUZkbElHeHBjM1JsYmlCbWIzSWdZblZpWW14bFpDQjBiM1ZqYUNCbGRtVnVkSE1nYjI0Z2RHaGxJR1J2WTNWdFpXNTBJRzlpYW1WamRDNWNiaUFxWEc0Z0tpQkdhWEpsWm05NElIWTRMakF4SUNoaGJtUWdjRzl6YzJsaWJIa2diM1JvWlhKektTQmxlR2hwWW1sMFpXUWdjM1J5WVc1blpTQmlaV2hoZG1sdmNpQjNhR1Z1WEc0Z0tpQnRiM1Z1ZEdsdVp5QmdiMjV0YjNWelpXMXZkbVZnSUdWMlpXNTBjeUJoZENCemIyMWxJRzV2WkdVZ2RHaGhkQ0IzWVhNZ2JtOTBJSFJvWlNCa2IyTjFiV1Z1ZEZ4dUlDb2daV3hsYldWdWRDNGdWR2hsSUhONWJYQjBiMjF6SUhkbGNtVWdkR2hoZENCcFppQjViM1Z5SUcxdmRYTmxJR2x6SUc1dmRDQnRiM1pwYm1jZ2IzWmxjaUJ6YjIxbGRHaHBibWRjYmlBcUlHTnZiblJoYVc1bFpDQjNhWFJvYVc0Z2RHaGhkQ0J0YjNWdWRDQndiMmx1ZENBb1ptOXlJR1Y0WVcxd2JHVWdiMjRnZEdobElHSmhZMnRuY205MWJtUXBJSFJvWlZ4dUlDb2dkRzl3TFd4bGRtVnNJR3hwYzNSbGJtVnljeUJtYjNJZ1lHOXViVzkxYzJWdGIzWmxZQ0IzYjI0bmRDQmlaU0JqWVd4c1pXUXVJRWh2ZDJWMlpYSXNJR2xtSUhsdmRWeHVJQ29nY21WbmFYTjBaWElnZEdobElHQnRiM1Z6WlcxdmRtVmdJRzl1SUhSb1pTQmtiMk4xYldWdWRDQnZZbXBsWTNRc0lIUm9aVzRnYVhRZ2QybHNiQ0J2WmlCamIzVnljMlZjYmlBcUlHTmhkR05vSUdGc2JDQmdiVzkxYzJWdGIzWmxZSE11SUZSb2FYTWdZV3h2Ym1jZ2QybDBhQ0JwVDFNZ2NYVnBjbXR6TENCcWRYTjBhV1pwWlhNZ2NtVnpkSEpwWTNScGJtZGNiaUFxSUhSdmNDMXNaWFpsYkNCc2FYTjBaVzVsY25NZ2RHOGdkR2hsSUdSdlkzVnRaVzUwSUc5aWFtVmpkQ0J2Ym14NUxDQmhkQ0JzWldGemRDQm1iM0lnZEdobGMyVmNiaUFxSUcxdmRtVnRaVzUwSUhSNWNHVnpJRzltSUdWMlpXNTBjeUJoYm1RZ2NHOXpjMmxpYkhrZ1lXeHNJR1YyWlc1MGN5NWNiaUFxWEc0Z0tpQkFjMlZsSUdoMGRIQTZMeTkzZDNjdWNYVnBjbXR6Ylc5a1pTNXZjbWN2WW14dlp5OWhjbU5vYVhabGN5OHlNREV3THpBNUwyTnNhV05yWDJWMlpXNTBYMlJsYkM1b2RHMXNYRzRnS2x4dUlDb2dRV3h6Ynl3Z1lHdGxlWFZ3WUM5Z2EyVjVjSEpsYzNOZ0wyQnJaWGxrYjNkdVlDQmtieUJ1YjNRZ1luVmlZbXhsSUhSdklIUm9aU0IzYVc1a2IzY2diMjRnU1VVc0lHSjFkRnh1SUNvZ2RHaGxlU0JpZFdKaWJHVWdkRzhnWkc5amRXMWxiblF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSEpsWjJsemRISmhkR2x2Yms1aGJXVWdUbUZ0WlNCdlppQnNhWE4wWlc1bGNpQW9aUzVuTGlCZ2IyNURiR2xqYTJBcExseHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJRzF2ZFc1MFFYUWdRMjl1ZEdGcGJtVnlJSGRvWlhKbElIUnZJRzF2ZFc1MElIUm9aU0JzYVhOMFpXNWxjbHh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR3hsWjJGamVVeHBjM1JsYmxSdlJYWmxiblFvY21WbmFYTjBjbUYwYVc5dVRtRnRaU3dnYlc5MWJuUkJkQ2tnZTF4dUlDQjJZWElnYkdsemRHVnVaWEpOWVhBZ1BTQm5aWFJNYVhOMFpXNWxjazFoY0VadmNrVnNaVzFsYm5Rb2JXOTFiblJCZENrN1hHNGdJSFpoY2lCa1pYQmxibVJsYm1OcFpYTWdQU0J5WldkcGMzUnlZWFJwYjI1T1lXMWxSR1Z3Wlc1a1pXNWphV1Z6VzNKbFoybHpkSEpoZEdsdmJrNWhiV1ZkTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWkdWd1pXNWtaVzVqYVdWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZ5SUdSbGNHVnVaR1Z1WTNrZ1BTQmtaWEJsYm1SbGJtTnBaWE5iYVYwN1hHNGdJQ0FnYkdWbllXTjVUR2x6ZEdWdVZHOVViM0JNWlhabGJFVjJaVzUwS0dSbGNHVnVaR1Z1WTNrc0lHMXZkVzUwUVhRc0lHeHBjM1JsYm1WeVRXRndLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYkdWbllXTjVUR2x6ZEdWdVZHOVViM0JNWlhabGJFVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2diVzkxYm5SQmRDd2diR2x6ZEdWdVpYSk5ZWEFwSUh0Y2JpQWdhV1lnS0NGc2FYTjBaVzVsY2sxaGNDNW9ZWE1vZEc5d1RHVjJaV3hVZVhCbEtTa2dlMXh1SUNBZ0lITjNhWFJqYUNBb2RHOXdUR1YyWld4VWVYQmxLU0I3WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlUUTFKUFRFdzZYRzRnSUNBZ0lDQWdJSFJ5WVhCRFlYQjBkWEpsWkVWMlpXNTBLRlJQVUY5VFExSlBURXdzSUcxdmRXNTBRWFFwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUms5RFZWTTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUNURlZTT2x4dUlDQWdJQ0FnSUNCMGNtRndRMkZ3ZEhWeVpXUkZkbVZ1ZENoVVQxQmZSazlEVlZNc0lHMXZkVzUwUVhRcE8xeHVJQ0FnSUNBZ0lDQjBjbUZ3UTJGd2RIVnlaV1JGZG1WdWRDaFVUMUJmUWt4VlVpd2diVzkxYm5SQmRDazdJQzh2SUZkbElITmxkQ0IwYUdVZ1pteGhaeUJtYjNJZ1lTQnphVzVuYkdVZ1pHVndaVzVrWlc1amVTQnNZWFJsY2lCcGJpQjBhR2x6SUdaMWJtTjBhVzl1TEZ4dUlDQWdJQ0FnSUNBdkx5QmlkWFFnZEdocGN5Qmxibk4xY21WeklIZGxJRzFoY21zZ1ltOTBhQ0JoY3lCaGRIUmhZMmhsWkNCeVlYUm9aWElnZEdoaGJpQnFkWE4wSUc5dVpTNWNibHh1SUNBZ0lDQWdJQ0JzYVhOMFpXNWxjazFoY0M1elpYUW9WRTlRWDBKTVZWSXNJRzUxYkd3cE8xeHVJQ0FnSUNBZ0lDQnNhWE4wWlc1bGNrMWhjQzV6WlhRb1ZFOVFYMFpQUTFWVExDQnVkV3hzS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBOQlRrTkZURHBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYME5NVDFORk9seHVJQ0FnSUNBZ0lDQnBaaUFvYVhORmRtVnVkRk4xY0hCdmNuUmxaQ2huWlhSU1lYZEZkbVZ1ZEU1aGJXVW9kRzl3VEdWMlpXeFVlWEJsS1NrcElIdGNiaUFnSUNBZ0lDQWdJQ0IwY21Gd1EyRndkSFZ5WldSRmRtVnVkQ2gwYjNCTVpYWmxiRlI1Y0dVc0lHMXZkVzUwUVhRcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMGxPVmtGTVNVUTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOVRWVUpOU1ZRNlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5U1JWTkZWRHBjYmlBZ0lDQWdJQ0FnTHk4Z1YyVWdiR2x6ZEdWdUlIUnZJSFJvWlcwZ2IyNGdkR2hsSUhSaGNtZGxkQ0JFVDAwZ1pXeGxiV1Z1ZEhNdVhHNGdJQ0FnSUNBZ0lDOHZJRk52YldVZ2IyWWdkR2hsYlNCaWRXSmliR1VnYzI4Z2QyVWdaRzl1SjNRZ2QyRnVkQ0IwYUdWdElIUnZJR1pwY21VZ2RIZHBZMlV1WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0F2THlCQ2VTQmtaV1poZFd4MExDQnNhWE4wWlc0Z2IyNGdkR2hsSUhSdmNDQnNaWFpsYkNCMGJ5QmhiR3dnYm05dUxXMWxaR2xoSUdWMlpXNTBjeTVjYmlBZ0lDQWdJQ0FnTHk4Z1RXVmthV0VnWlhabGJuUnpJR1J2YmlkMElHSjFZbUpzWlNCemJ5QmhaR1JwYm1jZ2RHaGxJR3hwYzNSbGJtVnlJSGR2ZFd4a2JpZDBJR1J2SUdGdWVYUm9hVzVuTGx4dUlDQWdJQ0FnSUNCMllYSWdhWE5OWldScFlVVjJaVzUwSUQwZ2JXVmthV0ZGZG1WdWRGUjVjR1Z6TG1sdVpHVjRUMllvZEc5d1RHVjJaV3hVZVhCbEtTQWhQVDBnTFRFN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGcGMwMWxaR2xoUlhabGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2diVzkxYm5SQmRDazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnNhWE4wWlc1bGNrMWhjQzV6WlhRb2RHOXdUR1YyWld4VWVYQmxMQ0J1ZFd4c0tUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdhWE5NYVhOMFpXNXBibWRVYjBGc2JFUmxjR1Z1WkdWdVkybGxjeWh5WldkcGMzUnlZWFJwYjI1T1lXMWxMQ0J0YjNWdWRFRjBLU0I3WEc0Z0lIWmhjaUJzYVhOMFpXNWxjazFoY0NBOUlHZGxkRXhwYzNSbGJtVnlUV0Z3Um05eVJXeGxiV1Z1ZENodGIzVnVkRUYwS1R0Y2JpQWdkbUZ5SUdSbGNHVnVaR1Z1WTJsbGN5QTlJSEpsWjJsemRISmhkR2x2Yms1aGJXVkVaWEJsYm1SbGJtTnBaWE5iY21WbmFYTjBjbUYwYVc5dVRtRnRaVjA3WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JrWlhCbGJtUmxibU5wWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQjJZWElnWkdWd1pXNWtaVzVqZVNBOUlHUmxjR1Z1WkdWdVkybGxjMXRwWFR0Y2JseHVJQ0FnSUdsbUlDZ2hiR2x6ZEdWdVpYSk5ZWEF1YUdGektHUmxjR1Z1WkdWdVkza3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5WEc1Y2JuWmhjaUJoZEhSbGJYQjBWWE5sY2tKc2IyTnJhVzVuU0hsa2NtRjBhVzl1TzF4dVpuVnVZM1JwYjI0Z2MyVjBRWFIwWlcxd2RGVnpaWEpDYkc5amEybHVaMGg1WkhKaGRHbHZiaWhtYmlrZ2UxeHVJQ0JoZEhSbGJYQjBWWE5sY2tKc2IyTnJhVzVuU0hsa2NtRjBhVzl1SUQwZ1ptNDdYRzU5WEc1MllYSWdZWFIwWlcxd2RFTnZiblJwYm5WdmRYTkllV1J5WVhScGIyNDdYRzVtZFc1amRHbHZiaUJ6WlhSQmRIUmxiWEIwUTI5dWRHbHVkVzkxYzBoNVpISmhkR2x2YmlobWJpa2dlMXh1SUNCaGRIUmxiWEIwUTI5dWRHbHVkVzkxYzBoNVpISmhkR2x2YmlBOUlHWnVPMXh1ZlZ4dWRtRnlJR0YwZEdWdGNIUkllV1J5WVhScGIyNUJkRU4xY25KbGJuUlFjbWx2Y21sMGVUdGNibVoxYm1OMGFXOXVJSE5sZEVGMGRHVnRjSFJJZVdSeVlYUnBiMjVCZEVOMWNuSmxiblJRY21sdmNtbDBlU2htYmlrZ2UxeHVJQ0JoZEhSbGJYQjBTSGxrY21GMGFXOXVRWFJEZFhKeVpXNTBVSEpwYjNKcGRIa2dQU0JtYmp0Y2JuMGdMeThnVkU5RVR6b2dWWEJuY21Ga1pTQjBhR2x6SUdSbFptbHVhWFJwYjI0Z2IyNWpaU0IzWlNkeVpTQnZiaUJoSUc1bGQyVnlJSFpsY25OcGIyNGdiMllnUm14dmR5QjBhR0YwWEc1MllYSWdhR0Z6VTJOb1pXUjFiR1ZrVW1Wd2JHRjVRWFIwWlcxd2RDQTlJR1poYkhObE95QXZMeUJVYUdVZ2NYVmxkV1VnYjJZZ1pHbHpZM0psZEdVZ1pYWmxiblJ6SUhSdklHSmxJSEpsY0d4aGVXVmtMbHh1WEc1MllYSWdjWFZsZFdWa1JHbHpZM0psZEdWRmRtVnVkSE1nUFNCYlhUc2dMeThnU1c1a2FXTmhkR1Z6SUdsbUlHRnVlU0JqYjI1MGFXNTFiM1Z6SUdWMlpXNTBJSFJoY21kbGRITWdZWEpsSUc1dmJpMXVkV3hzSUdadmNpQmxZWEpzZVNCaVlXbHNiM1YwTGx4dUx5OGdhV1lnZEdobElHeGhjM1FnZEdGeVoyVjBJSGRoY3lCa1pXaDVaSEpoZEdWa0xseHVYRzUyWVhJZ2NYVmxkV1ZrUm05amRYTWdQU0J1ZFd4c08xeHVkbUZ5SUhGMVpYVmxaRVJ5WVdjZ1BTQnVkV3hzTzF4dWRtRnlJSEYxWlhWbFpFMXZkWE5sSUQwZ2JuVnNiRHNnTHk4Z1JtOXlJSEJ2YVc1MFpYSWdaWFpsYm5SeklIUm9aWEpsSUdOaGJpQmlaU0J2Ym1VZ2JHRjBaWE4wSUdWMlpXNTBJSEJsY2lCd2IybHVkR1Z5U1dRdVhHNWNiblpoY2lCeGRXVjFaV1JRYjJsdWRHVnljeUE5SUc1bGR5Qk5ZWEFvS1R0Y2JuWmhjaUJ4ZFdWMVpXUlFiMmx1ZEdWeVEyRndkSFZ5WlhNZ1BTQnVaWGNnVFdGd0tDazdJQzh2SUZkbElHTnZkV3hrSUdOdmJuTnBaR1Z5SUhKbGNHeGhlV2x1WnlCelpXeGxZM1JwYjI1amFHRnVaMlVnWVc1a0lIUnZkV05vYlc5MlpYTWdkRzl2TGx4dVhHNTJZWElnY1hWbGRXVmtSWGh3YkdsamFYUkllV1J5WVhScGIyNVVZWEpuWlhSeklEMGdXMTA3WEc1bWRXNWpkR2x2YmlCb1lYTlJkV1YxWldSRWFYTmpjbVYwWlVWMlpXNTBjeWdwSUh0Y2JpQWdjbVYwZFhKdUlIRjFaWFZsWkVScGMyTnlaWFJsUlhabGJuUnpMbXhsYm1kMGFDQStJREE3WEc1OVhHNTJZWElnWkdselkzSmxkR1ZTWlhCc1lYbGhZbXhsUlhabGJuUnpJRDBnVzFSUFVGOU5UMVZUUlY5RVQxZE9MQ0JVVDFCZlRVOVZVMFZmVlZBc0lGUlBVRjlVVDFWRFNGOURRVTVEUlV3c0lGUlBVRjlVVDFWRFNGOUZUa1FzSUZSUFVGOVVUMVZEU0Y5VFZFRlNWQ3dnVkU5UVgwRlZXRjlEVEVsRFN5d2dWRTlRWDBSUFZVSk1SVjlEVEVsRFN5d2dWRTlRWDFCUFNVNVVSVkpmUTBGT1EwVk1MQ0JVVDFCZlVFOUpUbFJGVWw5RVQxZE9MQ0JVVDFCZlVFOUpUbFJGVWw5VlVDd2dWRTlRWDBSU1FVZGZSVTVFTENCVVQxQmZSRkpCUjE5VFZFRlNWQ3dnVkU5UVgwUlNUMUFzSUZSUFVGOURUMDFRVDFOSlZFbFBUbDlGVGtRc0lGUlBVRjlEVDAxUVQxTkpWRWxQVGw5VFZFRlNWQ3dnVkU5UVgwdEZXVjlFVDFkT0xDQlVUMUJmUzBWWlgxQlNSVk5UTENCVVQxQmZTMFZaWDFWUUxDQlVUMUJmU1U1UVZWUXNJRlJQVUY5VVJWaFVYMGxPVUZWVUxDQlVUMUJmUTB4UFUwVXNJRlJQVUY5RFFVNURSVXdzSUZSUFVGOURUMUJaTENCVVQxQmZRMVZVTENCVVQxQmZVRUZUVkVVc0lGUlBVRjlEVEVsRFN5d2dWRTlRWDBOSVFVNUhSU3dnVkU5UVgwTlBUbFJGV0ZSZlRVVk9WU3dnVkU5UVgxSkZVMFZVTENCVVQxQmZVMVZDVFVsVVhUdGNiblpoY2lCamIyNTBhVzUxYjNWelVtVndiR0Y1WVdKc1pVVjJaVzUwY3lBOUlGdFVUMUJmUms5RFZWTXNJRlJQVUY5Q1RGVlNMQ0JVVDFCZlJGSkJSMTlGVGxSRlVpd2dWRTlRWDBSU1FVZGZURVZCVmtVc0lGUlBVRjlOVDFWVFJWOVBWa1ZTTENCVVQxQmZUVTlWVTBWZlQxVlVMQ0JVVDFCZlVFOUpUbFJGVWw5UFZrVlNMQ0JVVDFCZlVFOUpUbFJGVWw5UFZWUXNJRlJQVUY5SFQxUmZVRTlKVGxSRlVsOURRVkJVVlZKRkxDQlVUMUJmVEU5VFZGOVFUMGxPVkVWU1gwTkJVRlJWVWtWZE8xeHVablZ1WTNScGIyNGdhWE5TWlhCc1lYbGhZbXhsUkdselkzSmxkR1ZGZG1WdWRDaGxkbVZ1ZEZSNWNHVXBJSHRjYmlBZ2NtVjBkWEp1SUdScGMyTnlaWFJsVW1Wd2JHRjVZV0pzWlVWMlpXNTBjeTVwYm1SbGVFOW1LR1YyWlc1MFZIbHdaU2tnUGlBdE1UdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RISmhjRkpsY0d4aGVXRmliR1ZGZG1WdWRFWnZja1J2WTNWdFpXNTBLSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pHOWpkVzFsYm5Rc0lHeHBjM1JsYm1WeVRXRndLU0I3WEc0Z0lHeGxaMkZqZVV4cGMzUmxibFJ2Vkc5d1RHVjJaV3hGZG1WdWRDaDBiM0JNWlhabGJGUjVjR1VzSUdSdlkzVnRaVzUwTENCc2FYTjBaVzVsY2sxaGNDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVmhaMlZ5YkhsVWNtRndVbVZ3YkdGNVlXSnNaVVYyWlc1MGN5aGpiMjUwWVdsdVpYSXNJR1J2WTNWdFpXNTBLU0I3WEc0Z0lIWmhjaUJzYVhOMFpXNWxjazFoY0VadmNrUnZZeUE5SUdkbGRFeHBjM1JsYm1WeVRXRndSbTl5Uld4bGJXVnVkQ2hrYjJOMWJXVnVkQ2s3SUM4dklFUnBjMk55WlhSbFhHNWNiaUFnWkdselkzSmxkR1ZTWlhCc1lYbGhZbXhsUlhabGJuUnpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSFJ2Y0V4bGRtVnNWSGx3WlNrZ2UxeHVJQ0FnSUhSeVlYQlNaWEJzWVhsaFlteGxSWFpsYm5SR2IzSkViMk4xYldWdWRDaDBiM0JNWlhabGJGUjVjR1VzSUdSdlkzVnRaVzUwTENCc2FYTjBaVzVsY2sxaGNFWnZja1J2WXlrN1hHNGdJSDBwT3lBdkx5QkRiMjUwYVc1MWIzVnpYRzVjYmlBZ1kyOXVkR2x1ZFc5MWMxSmxjR3hoZVdGaWJHVkZkbVZ1ZEhNdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb2RHOXdUR1YyWld4VWVYQmxLU0I3WEc0Z0lDQWdkSEpoY0ZKbGNHeGhlV0ZpYkdWRmRtVnVkRVp2Y2tSdlkzVnRaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2daRzlqZFcxbGJuUXNJR3hwYzNSbGJtVnlUV0Z3Um05eVJHOWpLVHRjYmlBZ2ZTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnlaV0YwWlZGMVpYVmxaRkpsY0d4aGVXRmliR1ZGZG1WdWRDaGliRzlqYTJWa1QyNHNJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z1kyOXVkR0ZwYm1WeUxDQnVZWFJwZG1WRmRtVnVkQ2tnZTF4dUlDQnlaWFIxY200Z2UxeHVJQ0FnSUdKc2IyTnJaV1JQYmpvZ1lteHZZMnRsWkU5dUxGeHVJQ0FnSUhSdmNFeGxkbVZzVkhsd1pUb2dkRzl3VEdWMlpXeFVlWEJsTEZ4dUlDQWdJR1YyWlc1MFUzbHpkR1Z0Um14aFozTTZJR1YyWlc1MFUzbHpkR1Z0Um14aFozTWdmQ0JKVTE5U1JWQk1RVmxGUkN4Y2JpQWdJQ0J1WVhScGRtVkZkbVZ1ZERvZ2JtRjBhWFpsUlhabGJuUXNYRzRnSUNBZ1kyOXVkR0ZwYm1WeU9pQmpiMjUwWVdsdVpYSmNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY1hWbGRXVkVhWE5qY21WMFpVVjJaVzUwS0dKc2IyTnJaV1JQYml3Z2RHOXdUR1YyWld4VWVYQmxMQ0JsZG1WdWRGTjVjM1JsYlVac1lXZHpMQ0JqYjI1MFlXbHVaWElzSUc1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUhaaGNpQnhkV1YxWldSRmRtVnVkQ0E5SUdOeVpXRjBaVkYxWlhWbFpGSmxjR3hoZVdGaWJHVkZkbVZ1ZENoaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDazdYRzRnSUhGMVpYVmxaRVJwYzJOeVpYUmxSWFpsYm5SekxuQjFjMmdvY1hWbGRXVmtSWFpsYm5RcE8xeHVmU0F2THlCU1pYTmxkSE1nZEdobElISmxjR3hoZVdsdVp5Qm1iM0lnZEdocGN5QjBlWEJsSUc5bUlHTnZiblJwYm5WdmRYTWdaWFpsYm5RZ2RHOGdibThnWlhabGJuUXVYRzVjYm1aMWJtTjBhVzl1SUdOc1pXRnlTV1pEYjI1MGFXNTFiM1Z6UlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNCemQybDBZMmdnS0hSdmNFeGxkbVZzVkhsd1pTa2dlMXh1SUNBZ0lHTmhjMlVnVkU5UVgwWlBRMVZUT2x4dUlDQWdJR05oYzJVZ1ZFOVFYMEpNVlZJNlhHNGdJQ0FnSUNCeGRXVjFaV1JHYjJOMWN5QTlJRzUxYkd3N1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR05oYzJVZ1ZFOVFYMFJTUVVkZlJVNVVSVkk2WEc0Z0lDQWdZMkZ6WlNCVVQxQmZSRkpCUjE5TVJVRldSVHBjYmlBZ0lDQWdJSEYxWlhWbFpFUnlZV2NnUFNCdWRXeHNPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJRlJQVUY5TlQxVlRSVjlQVmtWU09seHVJQ0FnSUdOaGMyVWdWRTlRWDAxUFZWTkZYMDlWVkRwY2JpQWdJQ0FnSUhGMVpYVmxaRTF2ZFhObElEMGdiblZzYkR0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNCVVQxQmZVRTlKVGxSRlVsOVBWa1ZTT2x4dUlDQWdJR05oYzJVZ1ZFOVFYMUJQU1U1VVJWSmZUMVZVT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdjRzlwYm5SbGNrbGtJRDBnYm1GMGFYWmxSWFpsYm5RdWNHOXBiblJsY2tsa08xeHVJQ0FnSUNBZ0lDQnhkV1YxWldSUWIybHVkR1Z5Y3k1a1pXeGxkR1VvY0c5cGJuUmxja2xrS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElGUlBVRjlIVDFSZlVFOUpUbFJGVWw5RFFWQlVWVkpGT2x4dUlDQWdJR05oYzJVZ1ZFOVFYMHhQVTFSZlVFOUpUbFJGVWw5RFFWQlVWVkpGT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM0J2YVc1MFpYSkpaQ0E5SUc1aGRHbDJaVVYyWlc1MExuQnZhVzUwWlhKSlpEdGNiaUFnSUNBZ0lDQWdjWFZsZFdWa1VHOXBiblJsY2tOaGNIUjFjbVZ6TG1SbGJHVjBaU2hmY0c5cGJuUmxja2xrS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1lXTmpkVzExYkdGMFpVOXlRM0psWVhSbFEyOXVkR2x1ZFc5MWMxRjFaWFZsWkZKbGNHeGhlV0ZpYkdWRmRtVnVkQ2hsZUdsemRHbHVaMUYxWlhWbFpFVjJaVzUwTENCaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNCcFppQW9aWGhwYzNScGJtZFJkV1YxWldSRmRtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCbGVHbHpkR2x1WjFGMVpYVmxaRVYyWlc1MExtNWhkR2wyWlVWMlpXNTBJQ0U5UFNCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNBZ0lIWmhjaUJ4ZFdWMVpXUkZkbVZ1ZENBOUlHTnlaV0YwWlZGMVpYVmxaRkpsY0d4aGVXRmliR1ZGZG1WdWRDaGliRzlqYTJWa1QyNHNJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z1kyOXVkR0ZwYm1WeUxDQnVZWFJwZG1WRmRtVnVkQ2s3WEc1Y2JpQWdJQ0JwWmlBb1lteHZZMnRsWkU5dUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWDJacFltVnlNaUE5SUdkbGRFbHVjM1JoYm1ObFJuSnZiVTV2WkdVa01TaGliRzlqYTJWa1QyNHBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1gyWnBZbVZ5TWlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJCZEhSbGJYQjBJSFJ2SUdsdVkzSmxZWE5sSUhSb1pTQndjbWx2Y21sMGVTQnZaaUIwYUdseklIUmhjbWRsZEM1Y2JpQWdJQ0FnSUNBZ1lYUjBaVzF3ZEVOdmJuUnBiblZ2ZFhOSWVXUnlZWFJwYjI0b1gyWnBZbVZ5TWlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEYxWlhWbFpFVjJaVzUwTzF4dUlDQjlJQzh2SUVsbUlIZGxJR2hoZG1VZ1lXeHlaV0ZrZVNCeGRXVjFaV1FnZEdocGN5QmxlR0ZqZENCbGRtVnVkQ3dnZEdobGJpQnBkQ2R6SUdKbFkyRjFjMlZjYmlBZ0x5OGdkR2hsSUdScFptWmxjbVZ1ZENCbGRtVnVkQ0J6ZVhOMFpXMXpJR2hoZG1VZ1pHbG1abVZ5Wlc1MElFUlBUU0JsZG1WdWRDQnNhWE4wWlc1bGNuTXVYRzRnSUM4dklGZGxJR05oYmlCaFkyTjFiWFZzWVhSbElIUm9aU0JtYkdGbmN5QmhibVFnYzNSdmNtVWdZU0J6YVc1bmJHVWdaWFpsYm5RZ2RHOGdZbVZjYmlBZ0x5OGdjbVZ3YkdGNVpXUXVYRzVjYmx4dUlDQmxlR2x6ZEdsdVoxRjFaWFZsWkVWMlpXNTBMbVYyWlc1MFUzbHpkR1Z0Um14aFozTWdmRDBnWlhabGJuUlRlWE4wWlcxR2JHRm5jenRjYmlBZ2NtVjBkWEp1SUdWNGFYTjBhVzVuVVhWbGRXVmtSWFpsYm5RN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhGMVpYVmxTV1pEYjI1MGFXNTFiM1Z6UlhabGJuUW9ZbXh2WTJ0bFpFOXVMQ0IwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHTnZiblJoYVc1bGNpd2dibUYwYVhabFJYWmxiblFwSUh0Y2JpQWdMeThnVkdobGMyVWdjMlYwSUhKbGJHRjBaV1JVWVhKblpYUWdkRzhnYm5Wc2JDQmlaV05oZFhObElIUm9aU0J5WlhCc1lYbGxaQ0JsZG1WdWRDQjNhV3hzSUdKbElIUnlaV0YwWldRZ1lYTWdhV1lnZDJWY2JpQWdMeThnYlc5MlpXUWdabkp2YlNCdmRYUnphV1JsSUhSb1pTQjNhVzVrYjNjZ0tHNXZJSFJoY21kbGRDa2diMjUwYnlCMGFHVWdkR0Z5WjJWMElHOXVZMlVnYVhRZ2FIbGtjbUYwWlhNdVhHNGdJQzh2SUVsdWMzUmxZV1FnYjJZZ2JYVjBZWFJwYm1jZ2QyVWdZMjkxYkdRZ1kyeHZibVVnZEdobElHVjJaVzUwTGx4dUlDQnpkMmwwWTJnZ0tIUnZjRXhsZG1Wc1ZIbHdaU2tnZTF4dUlDQWdJR05oYzJVZ1ZFOVFYMFpQUTFWVE9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWm05amRYTkZkbVZ1ZENBOUlHNWhkR2wyWlVWMlpXNTBPMXh1SUNBZ0lDQWdJQ0J4ZFdWMVpXUkdiMk4xY3lBOUlHRmpZM1Z0ZFd4aGRHVlBja055WldGMFpVTnZiblJwYm5WdmRYTlJkV1YxWldSU1pYQnNZWGxoWW14bFJYWmxiblFvY1hWbGRXVmtSbTlqZFhNc0lHSnNiMk5yWldSUGJpd2dkRzl3VEdWMlpXeFVlWEJsTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6TENCamIyNTBZV2x1WlhJc0lHWnZZM1Z6UlhabGJuUXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdWRTlRWDBSU1FVZGZSVTVVUlZJNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJrY21GblJYWmxiblFnUFNCdVlYUnBkbVZGZG1WdWREdGNiaUFnSUNBZ0lDQWdjWFZsZFdWa1JISmhaeUE5SUdGalkzVnRkV3hoZEdWUGNrTnlaV0YwWlVOdmJuUnBiblZ2ZFhOUmRXVjFaV1JTWlhCc1lYbGhZbXhsUlhabGJuUW9jWFZsZFdWa1JISmhaeXdnWW14dlkydGxaRTl1TENCMGIzQk1aWFpsYkZSNWNHVXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXNJR052Ym5SaGFXNWxjaXdnWkhKaFowVjJaVzUwS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUZSUFVGOU5UMVZUUlY5UFZrVlNPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2JXOTFjMlZGZG1WdWRDQTlJRzVoZEdsMlpVVjJaVzUwTzF4dUlDQWdJQ0FnSUNCeGRXVjFaV1JOYjNWelpTQTlJR0ZqWTNWdGRXeGhkR1ZQY2tOeVpXRjBaVU52Ym5ScGJuVnZkWE5SZFdWMVpXUlNaWEJzWVhsaFlteGxSWFpsYm5Rb2NYVmxkV1ZrVFc5MWMyVXNJR0pzYjJOclpXUlBiaXdnZEc5d1RHVjJaV3hVZVhCbExDQmxkbVZ1ZEZONWMzUmxiVVpzWVdkekxDQmpiMjUwWVdsdVpYSXNJRzF2ZFhObFJYWmxiblFwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnVkU5UVgxQlBTVTVVUlZKZlQxWkZVanBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlIQnZhVzUwWlhKRmRtVnVkQ0E5SUc1aGRHbDJaVVYyWlc1ME8xeHVJQ0FnSUNBZ0lDQjJZWElnY0c5cGJuUmxja2xrSUQwZ2NHOXBiblJsY2tWMlpXNTBMbkJ2YVc1MFpYSkpaRHRjYmlBZ0lDQWdJQ0FnY1hWbGRXVmtVRzlwYm5SbGNuTXVjMlYwS0hCdmFXNTBaWEpKWkN3Z1lXTmpkVzExYkdGMFpVOXlRM0psWVhSbFEyOXVkR2x1ZFc5MWMxRjFaWFZsWkZKbGNHeGhlV0ZpYkdWRmRtVnVkQ2h4ZFdWMVpXUlFiMmx1ZEdWeWN5NW5aWFFvY0c5cGJuUmxja2xrS1NCOGZDQnVkV3hzTENCaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCd2IybHVkR1Z5UlhabGJuUXBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNCallYTmxJRlJQVUY5SFQxUmZVRTlKVGxSRlVsOURRVkJVVlZKRk9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWDNCdmFXNTBaWEpGZG1WdWRDQTlJRzVoZEdsMlpVVjJaVzUwTzF4dUlDQWdJQ0FnSUNCMllYSWdYM0J2YVc1MFpYSkpaRElnUFNCZmNHOXBiblJsY2tWMlpXNTBMbkJ2YVc1MFpYSkpaRHRjYmlBZ0lDQWdJQ0FnY1hWbGRXVmtVRzlwYm5SbGNrTmhjSFIxY21WekxuTmxkQ2hmY0c5cGJuUmxja2xrTWl3Z1lXTmpkVzExYkdGMFpVOXlRM0psWVhSbFEyOXVkR2x1ZFc5MWMxRjFaWFZsWkZKbGNHeGhlV0ZpYkdWRmRtVnVkQ2h4ZFdWMVpXUlFiMmx1ZEdWeVEyRndkSFZ5WlhNdVoyVjBLRjl3YjJsdWRHVnlTV1F5S1NCOGZDQnVkV3hzTENCaWJHOWphMlZrVDI0c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCZmNHOXBiblJsY2tWMlpXNTBLU2s3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZTQXZMeUJEYUdWamF5QnBaaUIwYUdseklIUmhjbWRsZENCcGN5QjFibUpzYjJOclpXUXVJRkpsZEhWeWJuTWdkSEoxWlNCcFppQnBkQ2R6SUhWdVlteHZZMnRsWkM1Y2JseHVablZ1WTNScGIyNGdZWFIwWlcxd2RFVjRjR3hwWTJsMFNIbGtjbUYwYVc5dVZHRnlaMlYwS0hGMVpYVmxaRlJoY21kbGRDa2dlMXh1SUNBdkx5QlVUMFJQT2lCVWFHbHpJR1oxYm1OMGFXOXVJSE5vWVhKbGN5QmhJR3h2ZENCdlppQnNiMmRwWXlCM2FYUm9JR0YwZEdWdGNIUlViMFJwYzNCaGRHTm9SWFpsYm5RdVhHNGdJQzh2SUZSeWVTQjBieUIxYm1sbWVTQjBhR1Z0TGlCSmRDZHpJR0VnWW1sMElIUnlhV05yZVNCemFXNWpaU0JwZENCM2IzVnNaQ0J5WlhGMWFYSmxJSFIzYnlCeVpYUjFjbTVjYmlBZ0x5OGdkbUZzZFdWekxseHVJQ0IyWVhJZ2RHRnlaMlYwU1c1emRDQTlJR2RsZEVOc2IzTmxjM1JKYm5OMFlXNWpaVVp5YjIxT2IyUmxLSEYxWlhWbFpGUmhjbWRsZEM1MFlYSm5aWFFwTzF4dVhHNGdJR2xtSUNoMFlYSm5aWFJKYm5OMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJRzVsWVhKbGMzUk5iM1Z1ZEdWa0lEMGdaMlYwVG1WaGNtVnpkRTF2ZFc1MFpXUkdhV0psY2loMFlYSm5aWFJKYm5OMEtUdGNibHh1SUNBZ0lHbG1JQ2h1WldGeVpYTjBUVzkxYm5SbFpDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhSaFp5QTlJRzVsWVhKbGMzUk5iM1Z1ZEdWa0xuUmhaenRjYmx4dUlDQWdJQ0FnYVdZZ0tIUmhaeUE5UFQwZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdsdWMzUmhibU5sSUQwZ1oyVjBVM1Z6Y0dWdWMyVkpibk4wWVc1alpVWnliMjFHYVdKbGNpaHVaV0Z5WlhOMFRXOTFiblJsWkNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dsdWMzUmhibU5sSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVjJVbmNtVWdZbXh2WTJ0bFpDQnZiaUJvZVdSeVlYUnBibWNnZEdocGN5QmliM1Z1WkdGeWVTNWNiaUFnSUNBZ0lDQWdJQ0F2THlCSmJtTnlaV0Z6WlNCcGRITWdjSEpwYjNKcGRIa3VYRzRnSUNBZ0lDQWdJQ0FnY1hWbGRXVmtWR0Z5WjJWMExtSnNiMk5yWldSUGJpQTlJR2x1YzNSaGJtTmxPMXh1SUNBZ0lDQWdJQ0FnSUZOamFHVmtkV3hsY2k1MWJuTjBZV0pzWlY5eWRXNVhhWFJvVUhKcGIzSnBkSGtvY1hWbGRXVmtWR0Z5WjJWMExuQnlhVzl5YVhSNUxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhkSFJsYlhCMFNIbGtjbUYwYVc5dVFYUkRkWEp5Wlc1MFVISnBiM0pwZEhrb2JtVmhjbVZ6ZEUxdmRXNTBaV1FwTzF4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoMFlXY2dQVDA5SUVodmMzUlNiMjkwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ5YjI5MElEMGdibVZoY21WemRFMXZkVzUwWldRdWMzUmhkR1ZPYjJSbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoeWIyOTBMbWg1WkhKaGRHVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeGRXVjFaV1JVWVhKblpYUXVZbXh2WTJ0bFpFOXVJRDBnWjJWMFEyOXVkR0ZwYm1WeVJuSnZiVVpwWW1WeUtHNWxZWEpsYzNSTmIzVnVkR1ZrS1RzZ0x5OGdWMlVnWkc5dUozUWdZM1Z5Y21WdWRHeDVJR2hoZG1VZ1lTQjNZWGtnZEc4Z2FXNWpjbVZoYzJVZ2RHaGxJSEJ5YVc5eWFYUjVJRzltWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdZU0J5YjI5MElHOTBhR1Z5SUhSb1lXNGdjM2x1WXk1Y2JseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEYxWlhWbFpGUmhjbWRsZEM1aWJHOWphMlZrVDI0Z1BTQnVkV3hzTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJoZEhSbGJYQjBVbVZ3YkdGNVEyOXVkR2x1ZFc5MWMxRjFaWFZsWkVWMlpXNTBLSEYxWlhWbFpFVjJaVzUwS1NCN1hHNGdJR2xtSUNoeGRXVjFaV1JGZG1WdWRDNWliRzlqYTJWa1QyNGdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCMllYSWdibVY0ZEVKc2IyTnJaV1JQYmlBOUlHRjBkR1Z0Y0hSVWIwUnBjM0JoZEdOb1JYWmxiblFvY1hWbGRXVmtSWFpsYm5RdWRHOXdUR1YyWld4VWVYQmxMQ0J4ZFdWMVpXUkZkbVZ1ZEM1bGRtVnVkRk41YzNSbGJVWnNZV2R6TENCeGRXVjFaV1JGZG1WdWRDNWpiMjUwWVdsdVpYSXNJSEYxWlhWbFpFVjJaVzUwTG01aGRHbDJaVVYyWlc1MEtUdGNibHh1SUNCcFppQW9ibVY0ZEVKc2IyTnJaV1JQYmlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGZGxKM0psSUhOMGFXeHNJR0pzYjJOclpXUXVJRlJ5ZVNCaFoyRnBiaUJzWVhSbGNpNWNiaUFnSUNCMllYSWdYMlpwWW1WeU15QTlJR2RsZEVsdWMzUmhibU5sUm5KdmJVNXZaR1VrTVNodVpYaDBRbXh2WTJ0bFpFOXVLVHRjYmx4dUlDQWdJR2xtSUNoZlptbGlaWEl6SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCaGRIUmxiWEIwUTI5dWRHbHVkVzkxYzBoNVpISmhkR2x2YmloZlptbGlaWEl6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J4ZFdWMVpXUkZkbVZ1ZEM1aWJHOWphMlZrVDI0Z1BTQnVaWGgwUW14dlkydGxaRTl1TzF4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhkSFJsYlhCMFVtVndiR0Y1UTI5dWRHbHVkVzkxYzFGMVpYVmxaRVYyWlc1MFNXNU5ZWEFvY1hWbGRXVmtSWFpsYm5Rc0lHdGxlU3dnYldGd0tTQjdYRzRnSUdsbUlDaGhkSFJsYlhCMFVtVndiR0Y1UTI5dWRHbHVkVzkxYzFGMVpYVmxaRVYyWlc1MEtIRjFaWFZsWkVWMlpXNTBLU2tnZTF4dUlDQWdJRzFoY0M1a1pXeGxkR1VvYTJWNUtUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhCc1lYbFZibUpzYjJOclpXUkZkbVZ1ZEhNb0tTQjdYRzRnSUdoaGMxTmphR1ZrZFd4bFpGSmxjR3hoZVVGMGRHVnRjSFFnUFNCbVlXeHpaVHNnTHk4Z1JtbHljM1FnY21Wd2JHRjVJR1JwYzJOeVpYUmxJR1YyWlc1MGN5NWNibHh1SUNCM2FHbHNaU0FvY1hWbGRXVmtSR2x6WTNKbGRHVkZkbVZ1ZEhNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lIWmhjaUJ1WlhoMFJHbHpZM0psZEdWRmRtVnVkQ0E5SUhGMVpYVmxaRVJwYzJOeVpYUmxSWFpsYm5Seld6QmRPMXh1WEc0Z0lDQWdhV1lnS0c1bGVIUkVhWE5qY21WMFpVVjJaVzUwTG1Kc2IyTnJaV1JQYmlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdWMlVuY21VZ2MzUnBiR3dnWW14dlkydGxaQzVjYmlBZ0lDQWdJQzh2SUVsdVkzSmxZWE5sSUhSb1pTQndjbWx2Y21sMGVTQnZaaUIwYUdseklHSnZkVzVrWVhKNUlIUnZJSFZ1WW14dlkydGNiaUFnSUNBZ0lDOHZJSFJvWlNCdVpYaDBJR1JwYzJOeVpYUmxJR1YyWlc1MExseHVJQ0FnSUNBZ2RtRnlJRjltYVdKbGNqUWdQU0JuWlhSSmJuTjBZVzVqWlVaeWIyMU9iMlJsSkRFb2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVlteHZZMnRsWkU5dUtUdGNibHh1SUNBZ0lDQWdhV1lnS0Y5bWFXSmxjalFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1lYUjBaVzF3ZEZWelpYSkNiRzlqYTJsdVowaDVaSEpoZEdsdmJpaGZabWxpWlhJMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHNWxlSFJDYkc5amEyVmtUMjRnUFNCaGRIUmxiWEIwVkc5RWFYTndZWFJqYUVWMlpXNTBLRzVsZUhSRWFYTmpjbVYwWlVWMlpXNTBMblJ2Y0V4bGRtVnNWSGx3WlN3Z2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVpYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVkyOXVkR0ZwYm1WeUxDQnVaWGgwUkdselkzSmxkR1ZGZG1WdWRDNXVZWFJwZG1WRmRtVnVkQ2s3WEc1Y2JpQWdJQ0JwWmlBb2JtVjRkRUpzYjJOclpXUlBiaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVW5jbVVnYzNScGJHd2dZbXh2WTJ0bFpDNGdWSEo1SUdGbllXbHVJR3hoZEdWeUxseHVJQ0FnSUNBZ2JtVjRkRVJwYzJOeVpYUmxSWFpsYm5RdVlteHZZMnRsWkU5dUlEMGdibVY0ZEVKc2IyTnJaV1JQYmp0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnVjJVbmRtVWdjM1ZqWTJWemMyWjFiR3g1SUhKbGNHeGhlV1ZrSUhSb1pTQm1hWEp6ZENCbGRtVnVkQzRnVEdWMEozTWdkSEo1SUhSb1pTQnVaWGgwSUc5dVpTNWNiaUFnSUNBZ0lIRjFaWFZsWkVScGMyTnlaWFJsUlhabGJuUnpMbk5vYVdaMEtDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklFNWxlSFFnY21Wd2JHRjVJR0Z1ZVNCamIyNTBhVzUxYjNWeklHVjJaVzUwY3k1Y2JseHVYRzRnSUdsbUlDaHhkV1YxWldSR2IyTjFjeUFoUFQwZ2JuVnNiQ0FtSmlCaGRIUmxiWEIwVW1Wd2JHRjVRMjl1ZEdsdWRXOTFjMUYxWlhWbFpFVjJaVzUwS0hGMVpYVmxaRVp2WTNWektTa2dlMXh1SUNBZ0lIRjFaWFZsWkVadlkzVnpJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2xtSUNoeGRXVjFaV1JFY21GbklDRTlQU0J1ZFd4c0lDWW1JR0YwZEdWdGNIUlNaWEJzWVhsRGIyNTBhVzUxYjNWelVYVmxkV1ZrUlhabGJuUW9jWFZsZFdWa1JISmhaeWtwSUh0Y2JpQWdJQ0J4ZFdWMVpXUkVjbUZuSUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHhkV1YxWldSTmIzVnpaU0FoUFQwZ2JuVnNiQ0FtSmlCaGRIUmxiWEIwVW1Wd2JHRjVRMjl1ZEdsdWRXOTFjMUYxWlhWbFpFVjJaVzUwS0hGMVpYVmxaRTF2ZFhObEtTa2dlMXh1SUNBZ0lIRjFaWFZsWkUxdmRYTmxJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJSEYxWlhWbFpGQnZhVzUwWlhKekxtWnZja1ZoWTJnb1lYUjBaVzF3ZEZKbGNHeGhlVU52Ym5ScGJuVnZkWE5SZFdWMVpXUkZkbVZ1ZEVsdVRXRndLVHRjYmlBZ2NYVmxkV1ZrVUc5cGJuUmxja05oY0hSMWNtVnpMbVp2Y2tWaFkyZ29ZWFIwWlcxd2RGSmxjR3hoZVVOdmJuUnBiblZ2ZFhOUmRXVjFaV1JGZG1WdWRFbHVUV0Z3S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJOb1pXUjFiR1ZEWVd4c1ltRmphMGxtVlc1aWJHOWphMlZrS0hGMVpYVmxaRVYyWlc1MExDQjFibUpzYjJOclpXUXBJSHRjYmlBZ2FXWWdLSEYxWlhWbFpFVjJaVzUwTG1Kc2IyTnJaV1JQYmlBOVBUMGdkVzVpYkc5amEyVmtLU0I3WEc0Z0lDQWdjWFZsZFdWa1JYWmxiblF1WW14dlkydGxaRTl1SUQwZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNnaGFHRnpVMk5vWldSMWJHVmtVbVZ3YkdGNVFYUjBaVzF3ZENrZ2UxeHVJQ0FnSUNBZ2FHRnpVMk5vWldSMWJHVmtVbVZ3YkdGNVFYUjBaVzF3ZENBOUlIUnlkV1U3SUM4dklGTmphR1ZrZFd4bElHRWdZMkZzYkdKaFkyc2dkRzhnWVhSMFpXMXdkQ0J5WlhCc1lYbHBibWNnWVhNZ2JXRnVlU0JsZG1WdWRITWdZWE1nWVhKbFhHNGdJQ0FnSUNBdkx5QnViM2NnZFc1aWJHOWphMlZrTGlCVWFHbHpJR1pwY25OMElHMXBaMmgwSUc1dmRDQmhZM1IxWVd4c2VTQmlaU0IxYm1Kc2IyTnJaV1FnZVdWMExseHVJQ0FnSUNBZ0x5OGdWMlVnWTI5MWJHUWdZMmhsWTJzZ2FYUWdaV0Z5YkhrZ2RHOGdZWFp2YVdRZ2MyTm9aV1IxYkdsdVp5QmhiaUIxYm01bFkyVnpjMkZ5ZVNCallXeHNZbUZqYXk1Y2JseHVJQ0FnSUNBZ1UyTm9aV1IxYkdWeUxuVnVjM1JoWW14bFgzTmphR1ZrZFd4bFEyRnNiR0poWTJzb1UyTm9aV1IxYkdWeUxuVnVjM1JoWW14bFgwNXZjbTFoYkZCeWFXOXlhWFI1TENCeVpYQnNZWGxWYm1Kc2IyTnJaV1JGZG1WdWRITXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhSeWVVbG1RbXh2WTJ0bFpFOXVLSFZ1WW14dlkydGxaQ2tnZTF4dUlDQXZMeUJOWVhKcklHRnVlWFJvYVc1bklIUm9ZWFFnZDJGeklHSnNiMk5yWldRZ2IyNGdkR2hwY3lCaGN5QnVieUJzYjI1blpYSWdZbXh2WTJ0bFpGeHVJQ0F2THlCaGJtUWdaV3hwWjJsaWJHVWdabTl5SUdFZ2NtVndiR0Y1TGx4dUlDQnBaaUFvY1hWbGRXVmtSR2x6WTNKbGRHVkZkbVZ1ZEhNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lITmphR1ZrZFd4bFEyRnNiR0poWTJ0SlpsVnVZbXh2WTJ0bFpDaHhkV1YxWldSRWFYTmpjbVYwWlVWMlpXNTBjMXN3WFN3Z2RXNWliRzlqYTJWa0tUc2dMeThnVkdocGN5QnBjeUJoSUdWNGNHOXVaVzUwYVdGc0lITmxZWEpqYUNCbWIzSWdaV0ZqYUNCaWIzVnVaR0Z5ZVNCMGFHRjBJR052YlcxcGRITXVJRWtnZEdocGJtc2dhWFFuYzF4dUlDQWdJQzh2SUhkdmNuUm9JR2wwSUdKbFkyRjFjMlVnZDJVZ1pYaHdaV04wSUhabGNua2dabVYzSUdScGMyTnlaWFJsSUdWMlpXNTBjeUIwYnlCeGRXVjFaU0IxY0NCaGJtUWdiMjVqWlZ4dUlDQWdJQzh2SUhkbElHRnlaU0JoWTNSMVlXeHNlU0JtZFd4c2VTQjFibUpzYjJOclpXUWdhWFFnZDJsc2JDQmlaU0JtWVhOMElIUnZJSEpsY0d4aGVTQjBhR1Z0TGx4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlERTdJR2tnUENCeGRXVjFaV1JFYVhOamNtVjBaVVYyWlc1MGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlIRjFaWFZsWkVWMlpXNTBJRDBnY1hWbGRXVmtSR2x6WTNKbGRHVkZkbVZ1ZEhOYmFWMDdYRzVjYmlBZ0lDQWdJR2xtSUNoeGRXVjFaV1JGZG1WdWRDNWliRzlqYTJWa1QyNGdQVDA5SUhWdVlteHZZMnRsWkNrZ2UxeHVJQ0FnSUNBZ0lDQnhkV1YxWldSRmRtVnVkQzVpYkc5amEyVmtUMjRnUFNCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR2xtSUNoeGRXVjFaV1JHYjJOMWN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lITmphR1ZrZFd4bFEyRnNiR0poWTJ0SlpsVnVZbXh2WTJ0bFpDaHhkV1YxWldSR2IyTjFjeXdnZFc1aWJHOWphMlZrS1R0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h4ZFdWMVpXUkVjbUZuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnYzJOb1pXUjFiR1ZEWVd4c1ltRmphMGxtVlc1aWJHOWphMlZrS0hGMVpYVmxaRVJ5WVdjc0lIVnVZbXh2WTJ0bFpDazdYRzRnSUgxY2JseHVJQ0JwWmlBb2NYVmxkV1ZrVFc5MWMyVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnpZMmhsWkhWc1pVTmhiR3hpWVdOclNXWlZibUpzYjJOclpXUW9jWFZsZFdWa1RXOTFjMlVzSUhWdVlteHZZMnRsWkNrN1hHNGdJSDFjYmx4dUlDQjJZWElnZFc1aWJHOWpheUE5SUdaMWJtTjBhVzl1SUNoeGRXVjFaV1JGZG1WdWRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCelkyaGxaSFZzWlVOaGJHeGlZV05yU1daVmJtSnNiMk5yWldRb2NYVmxkV1ZrUlhabGJuUXNJSFZ1WW14dlkydGxaQ2s3WEc0Z0lIMDdYRzVjYmlBZ2NYVmxkV1ZrVUc5cGJuUmxjbk11Wm05eVJXRmphQ2gxYm1Kc2IyTnJLVHRjYmlBZ2NYVmxkV1ZrVUc5cGJuUmxja05oY0hSMWNtVnpMbVp2Y2tWaFkyZ29kVzVpYkc5amF5azdYRzVjYmlBZ1ptOXlJQ2gyWVhJZ1gya2dQU0F3T3lCZmFTQThJSEYxWlhWbFpFVjRjR3hwWTJsMFNIbGtjbUYwYVc5dVZHRnlaMlYwY3k1c1pXNW5kR2c3SUY5cEt5c3BJSHRjYmlBZ0lDQjJZWElnY1hWbGRXVmtWR0Z5WjJWMElEMGdjWFZsZFdWa1JYaHdiR2xqYVhSSWVXUnlZWFJwYjI1VVlYSm5aWFJ6VzE5cFhUdGNibHh1SUNBZ0lHbG1JQ2h4ZFdWMVpXUlVZWEpuWlhRdVlteHZZMnRsWkU5dUlEMDlQU0IxYm1Kc2IyTnJaV1FwSUh0Y2JpQWdJQ0FnSUhGMVpYVmxaRlJoY21kbGRDNWliRzlqYTJWa1QyNGdQU0J1ZFd4c08xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIZG9hV3hsSUNoeGRXVjFaV1JGZUhCc2FXTnBkRWg1WkhKaGRHbHZibFJoY21kbGRITXViR1Z1WjNSb0lENGdNQ2tnZTF4dUlDQWdJSFpoY2lCdVpYaDBSWGh3YkdsamFYUlVZWEpuWlhRZ1BTQnhkV1YxWldSRmVIQnNhV05wZEVoNVpISmhkR2x2YmxSaGNtZGxkSE5iTUYwN1hHNWNiaUFnSUNCcFppQW9ibVY0ZEVWNGNHeHBZMmwwVkdGeVoyVjBMbUpzYjJOclpXUlBiaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVW5jbVVnYzNScGJHd2dZbXh2WTJ0bFpDNWNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhkSFJsYlhCMFJYaHdiR2xqYVhSSWVXUnlZWFJwYjI1VVlYSm5aWFFvYm1WNGRFVjRjR3hwWTJsMFZHRnlaMlYwS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLRzVsZUhSRmVIQnNhV05wZEZSaGNtZGxkQzVpYkc5amEyVmtUMjRnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWMlVuY21VZ2RXNWliRzlqYTJWa0xseHVJQ0FnSUNBZ0lDQnhkV1YxWldSRmVIQnNhV05wZEVoNVpISmhkR2x2YmxSaGNtZGxkSE11YzJocFpuUW9LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVdSa1JYWmxiblJDZFdKaWJHVk1hWE4wWlc1bGNpaGxiR1Z0Wlc1MExDQmxkbVZ1ZEZSNWNHVXNJR3hwYzNSbGJtVnlLU0I3WEc0Z0lHVnNaVzFsYm5RdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lobGRtVnVkRlI1Y0dVc0lHeHBjM1JsYm1WeUxDQm1ZV3h6WlNrN1hHNTlYRzVtZFc1amRHbHZiaUJoWkdSRmRtVnVkRU5oY0hSMWNtVk1hWE4wWlc1bGNpaGxiR1Z0Wlc1MExDQmxkbVZ1ZEZSNWNHVXNJR3hwYzNSbGJtVnlLU0I3WEc0Z0lHVnNaVzFsYm5RdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lobGRtVnVkRlI1Y0dVc0lHeHBjM1JsYm1WeUxDQjBjblZsS1R0Y2JuMWNibHh1THk4Z1pHOGdhWFFnYVc0Z2RIZHZJSEJzWVdObGN5d2dkMmhwWTJnZ1pIVndiR2xqWVhSbGN5QnNiMmRwWTF4dUx5OGdZVzVrSUdsdVkzSmxZWE5sY3lCMGFHVWdZblZ1Wkd4bElITnBlbVVzSUhkbElHUnZJR2wwSUdGc2JGeHVMeThnYUdWeVpTQnZibU5sTGlCSlppQjNaU0J5WlcxdmRtVWdiM0lnY21WbVlXTjBiM0lnZEdobFhHNHZMeUJUYVcxd2JHVkZkbVZ1ZEZCc2RXZHBiaXdnZDJVZ2MyaHZkV3hrSUdGc2MyOGdjbVZ0YjNabElHOXlYRzR2THlCMWNHUmhkR1VnZEdobElHSmxiRzkzSUd4cGJtVXVYRzVjYm5aaGNpQnphVzF3YkdWRmRtVnVkRkJzZFdkcGJrVjJaVzUwVkhsd1pYTWdQU0I3ZlR0Y2JuWmhjaUIwYjNCTVpYWmxiRVYyWlc1MGMxUnZSR2x6Y0dGMFkyaERiMjVtYVdjZ1BTQnVaWGNnVFdGd0tDazdYRzUyWVhJZ1pYWmxiblJRY21sdmNtbDBhV1Z6SUQwZ2JtVjNJRTFoY0NncE95QXZMeUJYWlNCemRHOXlaU0J0YjNOMElHOW1JSFJvWlNCbGRtVnVkSE1nYVc0Z2RHaHBjeUJ0YjJSMWJHVWdhVzRnY0dGcGNuTWdiMllnZEhkdklITjBjbWx1WjNNZ2MyOGdkMlVnWTJGdUlISmxMWFZ6WlZ4dUx5OGdkR2hsSUdOdlpHVWdjbVZ4ZFdseVpXUWdkRzhnWVhCd2JIa2dkR2hsSUhOaGJXVWdiRzluYVdNZ1ptOXlJR1YyWlc1MElIQnlhVzl5YVhScGVtRjBhVzl1SUdGdVpDQjBhR0YwSUc5bUlIUm9aVnh1THk4Z1UybHRjR3hsUlhabGJuUlFiSFZuYVc0dUlGUm9hWE1nWTI5dGNHeHBZMkYwWlhNZ2RHaHBibWR6SUhOc2FXZG9kR3g1TENCaWRYUWdkR2hsSUdGcGJTQnBjeUIwYnlCeVpXUjFZMlVnWTI5a1pWeHVMeThnWkhWd2JHbGpZWFJwYjI0Z0tHWnZjaUIzYUdsamFDQjBhR1Z5WlNCM2IzVnNaQ0JpWlNCeGRXbDBaU0JoSUdKcGRDa3VJRVp2Y2lCMGFHVWdaWFpsYm5SeklIUm9ZWFFnWVhKbElHNXZkQ0J1WldWa1pXUmNiaTh2SUdadmNpQjBhR1VnVTJsdGNHeGxSWFpsYm5SUWJIVm5hVzRnS0c5MGFHVnlSR2x6WTNKbGRHVkZkbVZ1ZEhNcElIZGxJSEJ5YjJObGMzTWdkR2hsYlNCelpYQmhjbUYwWld4NUlHRnpJR0Z1WEc0dkx5QmhjbkpoZVNCdlppQjBiM0FnYkdWMlpXd2daWFpsYm5SekxseHVMeThnVEdGemRHeDVMQ0IzWlNCcFoyNXZjbVVnY0hKbGRIUnBaWElnYzI4Z2QyVWdZMkZ1SUd0bFpYQWdkR2hsSUdadmNtMWhkSFJwYm1jZ2MyRnVaUzVjYmk4dklIQnlaWFIwYVdWeUxXbG5ibTl5WlZ4dVhHNTJZWElnWkdselkzSmxkR1ZGZG1WdWRGQmhhWEp6Um05eVUybHRjR3hsUlhabGJuUlFiSFZuYVc0Z1BTQmJWRTlRWDBKTVZWSXNJQ2RpYkhWeUp5d2dWRTlRWDBOQlRrTkZUQ3dnSjJOaGJtTmxiQ2NzSUZSUFVGOURURWxEU3l3Z0oyTnNhV05ySnl3Z1ZFOVFYME5NVDFORkxDQW5ZMnh2YzJVbkxDQlVUMUJmUTA5T1ZFVllWRjlOUlU1VkxDQW5ZMjl1ZEdWNGRFMWxiblVuTENCVVQxQmZRMDlRV1N3Z0oyTnZjSGtuTENCVVQxQmZRMVZVTENBblkzVjBKeXdnVkU5UVgwRlZXRjlEVEVsRFN5d2dKMkYxZUVOc2FXTnJKeXdnVkU5UVgwUlBWVUpNUlY5RFRFbERTeXdnSjJSdmRXSnNaVU5zYVdOckp5d2dWRTlRWDBSU1FVZGZSVTVFTENBblpISmhaMFZ1WkNjc0lGUlBVRjlFVWtGSFgxTlVRVkpVTENBblpISmhaMU4wWVhKMEp5d2dWRTlRWDBSU1QxQXNJQ2RrY205d0p5d2dWRTlRWDBaUFExVlRMQ0FuWm05amRYTW5MQ0JVVDFCZlNVNVFWVlFzSUNkcGJuQjFkQ2NzSUZSUFVGOUpUbFpCVEVsRUxDQW5hVzUyWVd4cFpDY3NJRlJQVUY5TFJWbGZSRTlYVGl3Z0oydGxlVVJ2ZDI0bkxDQlVUMUJmUzBWWlgxQlNSVk5UTENBbmEyVjVVSEpsYzNNbkxDQlVUMUJmUzBWWlgxVlFMQ0FuYTJWNVZYQW5MQ0JVVDFCZlRVOVZVMFZmUkU5WFRpd2dKMjF2ZFhObFJHOTNiaWNzSUZSUFVGOU5UMVZUUlY5VlVDd2dKMjF2ZFhObFZYQW5MQ0JVVDFCZlVFRlRWRVVzSUNkd1lYTjBaU2NzSUZSUFVGOVFRVlZUUlN3Z0ozQmhkWE5sSnl3Z1ZFOVFYMUJNUVZrc0lDZHdiR0Y1Snl3Z1ZFOVFYMUJQU1U1VVJWSmZRMEZPUTBWTUxDQW5jRzlwYm5SbGNrTmhibU5sYkNjc0lGUlBVRjlRVDBsT1ZFVlNYMFJQVjA0c0lDZHdiMmx1ZEdWeVJHOTNiaWNzSUZSUFVGOVFUMGxPVkVWU1gxVlFMQ0FuY0c5cGJuUmxjbFZ3Snl3Z1ZFOVFYMUpCVkVWZlEwaEJUa2RGTENBbmNtRjBaVU5vWVc1blpTY3NJRlJQVUY5U1JWTkZWQ3dnSjNKbGMyVjBKeXdnVkU5UVgxTkZSVXRGUkN3Z0ozTmxaV3RsWkNjc0lGUlBVRjlUVlVKTlNWUXNJQ2R6ZFdKdGFYUW5MQ0JVVDFCZlZFOVZRMGhmUTBGT1EwVk1MQ0FuZEc5MVkyaERZVzVqWld3bkxDQlVUMUJmVkU5VlEwaGZSVTVFTENBbmRHOTFZMmhGYm1RbkxDQlVUMUJmVkU5VlEwaGZVMVJCVWxRc0lDZDBiM1ZqYUZOMFlYSjBKeXdnVkU5UVgxWlBURlZOUlY5RFNFRk9SMFVzSUNkMmIyeDFiV1ZEYUdGdVoyVW5YVHRjYm5aaGNpQnZkR2hsY2tScGMyTnlaWFJsUlhabGJuUnpJRDBnVzFSUFVGOURTRUZPUjBVc0lGUlBVRjlUUlV4RlExUkpUMDVmUTBoQlRrZEZMQ0JVVDFCZlZFVllWRjlKVGxCVlZDd2dWRTlRWDBOUFRWQlBVMGxVU1U5T1gxTlVRVkpVTENCVVQxQmZRMDlOVUU5VFNWUkpUMDVmUlU1RUxDQlVUMUJmUTA5TlVFOVRTVlJKVDA1ZlZWQkVRVlJGWFRzZ0x5OGdjSEpsZEhScFpYSXRhV2R1YjNKbFhHNWNiblpoY2lCMWMyVnlRbXh2WTJ0cGJtZFFZV2x5YzBadmNsTnBiWEJzWlVWMlpXNTBVR3gxWjJsdUlEMGdXMVJQVUY5RVVrRkhMQ0FuWkhKaFp5Y3NJRlJQVUY5RVVrRkhYMFZPVkVWU0xDQW5aSEpoWjBWdWRHVnlKeXdnVkU5UVgwUlNRVWRmUlZoSlZDd2dKMlJ5WVdkRmVHbDBKeXdnVkU5UVgwUlNRVWRmVEVWQlZrVXNJQ2RrY21GblRHVmhkbVVuTENCVVQxQmZSRkpCUjE5UFZrVlNMQ0FuWkhKaFowOTJaWEluTENCVVQxQmZUVTlWVTBWZlRVOVdSU3dnSjIxdmRYTmxUVzkyWlNjc0lGUlBVRjlOVDFWVFJWOVBWVlFzSUNkdGIzVnpaVTkxZENjc0lGUlBVRjlOVDFWVFJWOVBWa1ZTTENBbmJXOTFjMlZQZG1WeUp5d2dWRTlRWDFCUFNVNVVSVkpmVFU5V1JTd2dKM0J2YVc1MFpYSk5iM1psSnl3Z1ZFOVFYMUJQU1U1VVJWSmZUMVZVTENBbmNHOXBiblJsY2s5MWRDY3NJRlJQVUY5UVQwbE9WRVZTWDA5V1JWSXNJQ2R3YjJsdWRHVnlUM1psY2ljc0lGUlBVRjlUUTFKUFRFd3NJQ2R6WTNKdmJHd25MQ0JVVDFCZlZFOUhSMHhGTENBbmRHOW5aMnhsSnl3Z1ZFOVFYMVJQVlVOSVgwMVBWa1VzSUNkMGIzVmphRTF2ZG1VbkxDQlVUMUJmVjBoRlJVd3NJQ2QzYUdWbGJDZGRPeUF2THlCd2NtVjBkR2xsY2kxcFoyNXZjbVZjYmx4dWRtRnlJR052Ym5ScGJuVnZkWE5RWVdseWMwWnZjbE5wYlhCc1pVVjJaVzUwVUd4MVoybHVJRDBnVzFSUFVGOUJRazlTVkN3Z0oyRmliM0owSnl3Z1ZFOVFYMEZPU1UxQlZFbFBUbDlGVGtRc0lDZGhibWx0WVhScGIyNUZibVFuTENCVVQxQmZRVTVKVFVGVVNVOU9YMGxVUlZKQlZFbFBUaXdnSjJGdWFXMWhkR2x2YmtsMFpYSmhkR2x2Ymljc0lGUlBVRjlCVGtsTlFWUkpUMDVmVTFSQlVsUXNJQ2RoYm1sdFlYUnBiMjVUZEdGeWRDY3NJRlJQVUY5RFFVNWZVRXhCV1N3Z0oyTmhibEJzWVhrbkxDQlVUMUJmUTBGT1gxQk1RVmxmVkVoU1QxVkhTQ3dnSjJOaGJsQnNZWGxVYUhKdmRXZG9KeXdnVkU5UVgwUlZVa0ZVU1U5T1gwTklRVTVIUlN3Z0oyUjFjbUYwYVc5dVEyaGhibWRsSnl3Z1ZFOVFYMFZOVUZSSlJVUXNJQ2RsYlhCMGFXVmtKeXdnVkU5UVgwVk9RMUpaVUZSRlJDd2dKMlZ1WTNKNWNIUmxaQ2NzSUZSUFVGOUZUa1JGUkN3Z0oyVnVaR1ZrSnl3Z1ZFOVFYMFZTVWs5U0xDQW5aWEp5YjNJbkxDQlVUMUJmUjA5VVgxQlBTVTVVUlZKZlEwRlFWRlZTUlN3Z0oyZHZkRkJ2YVc1MFpYSkRZWEIwZFhKbEp5d2dWRTlRWDB4UFFVUXNJQ2RzYjJGa0p5d2dWRTlRWDB4UFFVUkZSRjlFUVZSQkxDQW5iRzloWkdWa1JHRjBZU2NzSUZSUFVGOU1UMEZFUlVSZlRVVlVRVVJCVkVFc0lDZHNiMkZrWldSTlpYUmhaR0YwWVNjc0lGUlBVRjlNVDBGRVgxTlVRVkpVTENBbmJHOWhaRk4wWVhKMEp5d2dWRTlRWDB4UFUxUmZVRTlKVGxSRlVsOURRVkJVVlZKRkxDQW5iRzl6ZEZCdmFXNTBaWEpEWVhCMGRYSmxKeXdnVkU5UVgxQk1RVmxKVGtjc0lDZHdiR0Y1YVc1bkp5d2dWRTlRWDFCU1QwZFNSVk5UTENBbmNISnZaM0psYzNNbkxDQlVUMUJmVTBWRlMwbE9SeXdnSjNObFpXdHBibWNuTENCVVQxQmZVMVJCVEV4RlJDd2dKM04wWVd4c1pXUW5MQ0JVVDFCZlUxVlRVRVZPUkN3Z0ozTjFjM0JsYm1RbkxDQlVUMUJmVkVsTlJWOVZVRVJCVkVVc0lDZDBhVzFsVlhCa1lYUmxKeXdnVkU5UVgxUlNRVTVUU1ZSSlQwNWZSVTVFTENBbmRISmhibk5wZEdsdmJrVnVaQ2NzSUZSUFVGOVhRVWxVU1U1SExDQW5kMkZwZEdsdVp5ZGRPMXh1THlvcVhHNGdLaUJVZFhKdWMxeHVJQ29nV3lkaFltOXlkQ2NzSUM0dUxsMWNiaUFxSUdsdWRHOWNiaUFxSUdWMlpXNTBWSGx3WlhNZ1BTQjdYRzRnS2lBZ0lDZGhZbTl5ZENjNklIdGNiaUFxSUNBZ0lDQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3pvZ2UxeHVJQ29nSUNBZ0lDQWdZblZpWW14bFpEb2dKMjl1UVdKdmNuUW5MRnh1SUNvZ0lDQWdJQ0FnWTJGd2RIVnlaV1E2SUNkdmJrRmliM0owUTJGd2RIVnlaU2NzWEc0Z0tpQWdJQ0FnZlN4Y2JpQXFJQ0FnSUNCa1pYQmxibVJsYm1OcFpYTTZJRnRVVDFCZlFVSlBVbFJkTEZ4dUlDb2dJQ0I5TEZ4dUlDb2dJQ0F1TGk1Y2JpQXFJSDA3WEc0Z0tpQjBiM0JNWlhabGJFVjJaVzUwYzFSdlJHbHpjR0YwWTJoRGIyNW1hV2NnUFNCdVpYY2dUV0Z3S0Z0Y2JpQXFJQ0FnVzFSUFVGOUJRazlTVkN3Z2V5QnpZVzFsUTI5dVptbG5JSDFkTEZ4dUlDb2dYU2s3WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnY0hKdlkyVnpjMU5wYlhCc1pVVjJaVzUwVUd4MVoybHVVR0ZwY25OQ2VWQnlhVzl5YVhSNUtHVjJaVzUwVkhsd1pYTXNJSEJ5YVc5eWFYUjVLU0I3WEc0Z0lDOHZJRUZ6SUhSb1pTQmxkbVZ1ZENCMGVYQmxjeUJoY21VZ2FXNGdjR0ZwY25NZ2IyWWdkSGR2TENCM1pTQnVaV1ZrSUhSdklHbDBaWEpoZEdWY2JpQWdMeThnZEdoeWIzVm5hQ0JwYmlCMGQyOXpMaUJVYUdVZ1pYWmxiblJ6SUdGeVpTQnBiaUJ3WVdseWN5QnZaaUIwZDI4Z2RHOGdjMkYyWlNCamIyUmxYRzRnSUM4dklHRnVaQ0JwYlhCeWIzWmxJR2x1YVhRZ2NHVnlaaUJ2WmlCd2NtOWpaWE56YVc1bklIUm9hWE1nWVhKeVlYa3NJR0Z6SUdsMElIZHBiR3hjYmlBZ0x5OGdjbVZ6ZFd4MElHbHVJR1poY2lCbVpYZGxjaUJ2WW1wbFkzUWdZV3hzYjJOaGRHbHZibk1nWVc1a0lIQnliM0JsY25SNUlHRmpZMlZ6YzJWelhHNGdJQzh2SUdsbUlIZGxJRzl1YkhrZ2RYTmxJSFJvY21WbElHRnljbUY1Y3lCMGJ5QndjbTlqWlhOeklHRnNiQ0IwYUdVZ1kyRjBaV2R2Y21sbGN5QnZabHh1SUNBdkx5QnBibk4wWldGa0lHOW1JSFIxY0d4bGN5NWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCbGRtVnVkRlI1Y0dWekxteGxibWQwYURzZ2FTQXJQU0F5S1NCN1hHNGdJQ0FnZG1GeUlIUnZjRVYyWlc1MElEMGdaWFpsYm5SVWVYQmxjMXRwWFR0Y2JpQWdJQ0IyWVhJZ1pYWmxiblFnUFNCbGRtVnVkRlI1Y0dWelcya2dLeUF4WFR0Y2JpQWdJQ0IyWVhJZ1kyRndhWFJoYkdsNlpXUkZkbVZ1ZENBOUlHVjJaVzUwV3pCZExuUnZWWEJ3WlhKRFlYTmxLQ2tnS3lCbGRtVnVkQzV6YkdsalpTZ3hLVHRjYmlBZ0lDQjJZWElnYjI1RmRtVnVkQ0E5SUNkdmJpY2dLeUJqWVhCcGRHRnNhWHBsWkVWMlpXNTBPMXh1SUNBZ0lIWmhjaUJqYjI1bWFXY2dQU0I3WEc0Z0lDQWdJQ0J3YUdGelpXUlNaV2RwYzNSeVlYUnBiMjVPWVcxbGN6b2dlMXh1SUNBZ0lDQWdJQ0JpZFdKaWJHVmtPaUJ2YmtWMlpXNTBMRnh1SUNBZ0lDQWdJQ0JqWVhCMGRYSmxaRG9nYjI1RmRtVnVkQ0FySUNkRFlYQjBkWEpsSjF4dUlDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXM1J2Y0VWMlpXNTBYU3hjYmlBZ0lDQWdJR1YyWlc1MFVISnBiM0pwZEhrNklIQnlhVzl5YVhSNVhHNGdJQ0FnZlR0Y2JpQWdJQ0JsZG1WdWRGQnlhVzl5YVhScFpYTXVjMlYwS0hSdmNFVjJaVzUwTENCd2NtbHZjbWwwZVNrN1hHNGdJQ0FnZEc5d1RHVjJaV3hGZG1WdWRITlViMFJwYzNCaGRHTm9RMjl1Wm1sbkxuTmxkQ2gwYjNCRmRtVnVkQ3dnWTI5dVptbG5LVHRjYmlBZ0lDQnphVzF3YkdWRmRtVnVkRkJzZFdkcGJrVjJaVzUwVkhsd1pYTmJaWFpsYm5SZElEMGdZMjl1Wm1sbk8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSEJ5YjJObGMzTlViM0JGZG1WdWRGQmhhWEp6UW5sUWNtbHZjbWwwZVNobGRtVnVkRlI1Y0dWekxDQndjbWx2Y21sMGVTa2dlMXh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElHVjJaVzUwVkhsd1pYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JsZG1WdWRGQnlhVzl5YVhScFpYTXVjMlYwS0dWMlpXNTBWSGx3WlhOYmFWMHNJSEJ5YVc5eWFYUjVLVHRjYmlBZ2ZWeHVmU0F2THlCVGFXMXdiR1ZGZG1WdWRGQnNkV2RwYmx4dVhHNWNibkJ5YjJObGMzTlRhVzF3YkdWRmRtVnVkRkJzZFdkcGJsQmhhWEp6UW5sUWNtbHZjbWwwZVNoa2FYTmpjbVYwWlVWMlpXNTBVR0ZwY25OR2IzSlRhVzF3YkdWRmRtVnVkRkJzZFdkcGJpd2dSR2x6WTNKbGRHVkZkbVZ1ZENrN1hHNXdjbTlqWlhOelUybHRjR3hsUlhabGJuUlFiSFZuYVc1UVlXbHljMEo1VUhKcGIzSnBkSGtvZFhObGNrSnNiMk5yYVc1blVHRnBjbk5HYjNKVGFXMXdiR1ZGZG1WdWRGQnNkV2RwYml3Z1ZYTmxja0pzYjJOcmFXNW5SWFpsYm5RcE8xeHVjSEp2WTJWemMxTnBiWEJzWlVWMlpXNTBVR3gxWjJsdVVHRnBjbk5DZVZCeWFXOXlhWFI1S0dOdmJuUnBiblZ2ZFhOUVlXbHljMFp2Y2xOcGJYQnNaVVYyWlc1MFVHeDFaMmx1TENCRGIyNTBhVzUxYjNWelJYWmxiblFwT3lBdkx5Qk9iM1FnZFhObFpDQmllU0JUYVcxd2JHVkZkbVZ1ZEZCc2RXZHBibHh1WEc1d2NtOWpaWE56Vkc5d1JYWmxiblJRWVdseWMwSjVVSEpwYjNKcGRIa29iM1JvWlhKRWFYTmpjbVYwWlVWMlpXNTBjeXdnUkdselkzSmxkR1ZGZG1WdWRDazdYRzVtZFc1amRHbHZiaUJuWlhSRmRtVnVkRkJ5YVc5eWFYUjVSbTl5VUd4MVoybHVVM2x6ZEdWdEtIUnZjRXhsZG1Wc1ZIbHdaU2tnZTF4dUlDQjJZWElnY0hKcGIzSnBkSGtnUFNCbGRtVnVkRkJ5YVc5eWFYUnBaWE11WjJWMEtIUnZjRXhsZG1Wc1ZIbHdaU2s3SUM4dklFUmxabUYxYkhRZ2RHOGdZU0JEYjI1MGFXNTFiM1Z6UlhabGJuUXVJRTV2ZEdVNklIZGxJRzFwWjJoMFhHNGdJQzh2SUhkaGJuUWdkRzhnZDJGeWJpQnBaaUIzWlNCallXNG5kQ0JrWlhSbFkzUWdkR2hsSUhCeWFXOXlhWFI1WEc0Z0lDOHZJR1p2Y2lCMGFHVWdaWFpsYm5RdVhHNWNiaUFnY21WMGRYSnVJSEJ5YVc5eWFYUjVJRDA5UFNCMWJtUmxabWx1WldRZ1B5QkRiMjUwYVc1MWIzVnpSWFpsYm5RZ09pQndjbWx2Y21sMGVUdGNibjFjYmx4dUx5OGdTVzUwWlc1MGFXOXVZV3hzZVNCdWIzUWdibUZ0WldRZ2FXMXdiM0owY3lCaVpXTmhkWE5sSUZKdmJHeDFjQ0IzYjNWc1pDQjFjMlVnWkhsdVlXMXBZeUJrYVhOd1lYUmphQ0JtYjNKY2JuWmhjaUJWYzJWeVFteHZZMnRwYm1kUWNtbHZjbWwwZVNBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOVZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlU3hjYmlBZ0lDQnlkVzVYYVhSb1VISnBiM0pwZEhrZ1BTQlRZMmhsWkhWc1pYSXVkVzV6ZEdGaWJHVmZjblZ1VjJsMGFGQnlhVzl5YVhSNU95QXZMeUJVVDBSUE9pQmpZVzRnZDJVZ2MzUnZjQ0JsZUhCdmNuUnBibWNnZEdobGMyVS9YRzVjYm5aaGNpQmZaVzVoWW14bFpDQTlJSFJ5ZFdVN1hHNW1kVzVqZEdsdmJpQnpaWFJGYm1GaWJHVmtLR1Z1WVdKc1pXUXBJSHRjYmlBZ1gyVnVZV0pzWldRZ1BTQWhJV1Z1WVdKc1pXUTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMwVnVZV0pzWldRb0tTQjdYRzRnSUhKbGRIVnliaUJmWlc1aFlteGxaRHRjYm4xY2JtWjFibU4wYVc5dUlIUnlZWEJDZFdKaWJHVmtSWFpsYm5Rb2RHOXdUR1YyWld4VWVYQmxMQ0JsYkdWdFpXNTBLU0I3WEc0Z0lIUnlZWEJGZG1WdWRFWnZjbEJzZFdkcGJrVjJaVzUwVTNsemRHVnRLR1ZzWlcxbGJuUXNJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1ptRnNjMlVwTzF4dWZWeHVablZ1WTNScGIyNGdkSEpoY0VOaGNIUjFjbVZrUlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCbGJHVnRaVzUwS1NCN1hHNGdJSFJ5WVhCRmRtVnVkRVp2Y2xCc2RXZHBia1YyWlc1MFUzbHpkR1Z0S0dWc1pXMWxiblFzSUhSdmNFeGxkbVZzVkhsd1pTd2dkSEoxWlNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhSeVlYQkZkbVZ1ZEVadmNsQnNkV2RwYmtWMlpXNTBVM2x6ZEdWdEtHTnZiblJoYVc1bGNpd2dkRzl3VEdWMlpXeFVlWEJsTENCallYQjBkWEpsS1NCN1hHNGdJSFpoY2lCc2FYTjBaVzVsY2p0Y2JseHVJQ0J6ZDJsMFkyZ2dLR2RsZEVWMlpXNTBVSEpwYjNKcGRIbEdiM0pRYkhWbmFXNVRlWE4wWlcwb2RHOXdUR1YyWld4VWVYQmxLU2tnZTF4dUlDQWdJR05oYzJVZ1JHbHpZM0psZEdWRmRtVnVkRHBjYmlBZ0lDQWdJR3hwYzNSbGJtVnlJRDBnWkdsemNHRjBZMmhFYVhOamNtVjBaVVYyWlc1MExtSnBibVFvYm5Wc2JDd2dkRzl3VEdWMlpXeFVlWEJsTENCUVRGVkhTVTVmUlZaRlRsUmZVMWxUVkVWTkxDQmpiMjUwWVdsdVpYSXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJRlZ6WlhKQ2JHOWphMmx1WjBWMlpXNTBPbHh1SUNBZ0lDQWdiR2x6ZEdWdVpYSWdQU0JrYVhOd1lYUmphRlZ6WlhKQ2JHOWphMmx1WjFWd1pHRjBaUzVpYVc1a0tHNTFiR3dzSUhSdmNFeGxkbVZzVkhsd1pTd2dVRXhWUjBsT1gwVldSVTVVWDFOWlUxUkZUU3dnWTI5dWRHRnBibVZ5S1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNCRGIyNTBhVzUxYjNWelJYWmxiblE2WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lHeHBjM1JsYm1WeUlEMGdaR2x6Y0dGMFkyaEZkbVZ1ZEM1aWFXNWtLRzUxYkd3c0lIUnZjRXhsZG1Wc1ZIbHdaU3dnVUV4VlIwbE9YMFZXUlU1VVgxTlpVMVJGVFN3Z1kyOXVkR0ZwYm1WeUtUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQjlYRzVjYmlBZ2RtRnlJSEpoZDBWMlpXNTBUbUZ0WlNBOUlHZGxkRkpoZDBWMlpXNTBUbUZ0WlNoMGIzQk1aWFpsYkZSNWNHVXBPMXh1WEc0Z0lHbG1JQ2hqWVhCMGRYSmxLU0I3WEc0Z0lDQWdZV1JrUlhabGJuUkRZWEIwZFhKbFRHbHpkR1Z1WlhJb1kyOXVkR0ZwYm1WeUxDQnlZWGRGZG1WdWRFNWhiV1VzSUd4cGMzUmxibVZ5S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCaFpHUkZkbVZ1ZEVKMVltSnNaVXhwYzNSbGJtVnlLR052Ym5SaGFXNWxjaXdnY21GM1JYWmxiblJPWVcxbExDQnNhWE4wWlc1bGNpazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWkdsemNHRjBZMmhFYVhOamNtVjBaVVYyWlc1MEtIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNCbWJIVnphRVJwYzJOeVpYUmxWWEJrWVhSbGMwbG1UbVZsWkdWa0tHNWhkR2wyWlVWMlpXNTBMblJwYldWVGRHRnRjQ2s3WEc0Z0lHUnBjMk55WlhSbFZYQmtZWFJsY3loa2FYTndZWFJqYUVWMlpXNTBMQ0IwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHTnZiblJoYVc1bGNpd2dibUYwYVhabFJYWmxiblFwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrYVhOd1lYUmphRlZ6WlhKQ2JHOWphMmx1WjFWd1pHRjBaU2gwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHTnZiblJoYVc1bGNpd2dibUYwYVhabFJYWmxiblFwSUh0Y2JpQWdjblZ1VjJsMGFGQnlhVzl5YVhSNUtGVnpaWEpDYkc5amEybHVaMUJ5YVc5eWFYUjVMQ0JrYVhOd1lYUmphRVYyWlc1MExtSnBibVFvYm5Wc2JDd2dkRzl3VEdWMlpXeFVlWEJsTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6TENCamIyNTBZV2x1WlhJc0lHNWhkR2wyWlVWMlpXNTBLU2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1JwYzNCaGRHTm9SWFpsYm5Rb2RHOXdUR1YyWld4VWVYQmxMQ0JsZG1WdWRGTjVjM1JsYlVac1lXZHpMQ0JqYjI1MFlXbHVaWElzSUc1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUdsbUlDZ2hYMlZ1WVdKc1pXUXBJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQnBaaUFvYUdGelVYVmxkV1ZrUkdselkzSmxkR1ZGZG1WdWRITW9LU0FtSmlCcGMxSmxjR3hoZVdGaWJHVkVhWE5qY21WMFpVVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTa3BJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQmhiSEpsWVdSNUlHaGhkbVVnWVNCeGRXVjFaU0J2WmlCa2FYTmpjbVYwWlNCbGRtVnVkSE1zSUdGdVpDQjBhR2x6SUdseklHRnViM1JvWlhJZ1pHbHpZM0psZEdWY2JpQWdJQ0F2THlCbGRtVnVkQ3dnZEdobGJpQjNaU0JqWVc0bmRDQmthWE53WVhSamFDQnBkQ0J5WldkaGNtUnNaWE56SUc5bUlHbDBjeUIwWVhKblpYUXNJSE5wYm1ObElIUm9aWGxjYmlBZ0lDQXZMeUJ1WldWa0lIUnZJR1JwYzNCaGRHTm9JR2x1SUc5eVpHVnlMbHh1SUNBZ0lIRjFaWFZsUkdselkzSmxkR1ZGZG1WdWRDaHVkV3hzTENBdkx5QkdiR0ZuY3lCMGFHRjBJSGRsSjNKbElHNXZkQ0JoWTNSMVlXeHNlU0JpYkc5amEyVmtJRzl1SUdGdWVYUm9hVzVuSUdGeklHWmhjaUJoY3lCM1pTQnJibTkzTGx4dUlDQWdJSFJ2Y0V4bGRtVnNWSGx3WlN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3l3Z1kyOXVkR0ZwYm1WeUxDQnVZWFJwZG1WRmRtVnVkQ2s3WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdKc2IyTnJaV1JQYmlBOUlHRjBkR1Z0Y0hSVWIwUnBjM0JoZEdOb1JYWmxiblFvZEc5d1RHVjJaV3hVZVhCbExDQmxkbVZ1ZEZONWMzUmxiVVpzWVdkekxDQmpiMjUwWVdsdVpYSXNJRzVoZEdsMlpVVjJaVzUwS1R0Y2JseHVJQ0JwWmlBb1lteHZZMnRsWkU5dUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWMlVnYzNWalkyVnpjMloxYkd4NUlHUnBjM0JoZEdOb1pXUWdkR2hwY3lCbGRtVnVkQzVjYmlBZ0lDQmpiR1ZoY2tsbVEyOXVkR2x1ZFc5MWMwVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwTzF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJR2xtSUNocGMxSmxjR3hoZVdGaWJHVkVhWE5qY21WMFpVVjJaVzUwS0hSdmNFeGxkbVZzVkhsd1pTa3BJSHRjYmlBZ0lDQXZMeUJVYUdseklIUm9hWE1nZEc4Z1ltVWdjbVZ3YkdGNVpXUWdiR0YwWlhJZ2IyNWpaU0IwYUdVZ2RHRnlaMlYwSUdseklHRjJZV2xzWVdKc1pTNWNiaUFnSUNCeGRXVjFaVVJwYzJOeVpYUmxSWFpsYm5Rb1lteHZZMnRsWkU5dUxDQjBiM0JNWlhabGJGUjVjR1VzSUdWMlpXNTBVM2x6ZEdWdFJteGhaM01zSUdOdmJuUmhhVzVsY2l3Z2JtRjBhWFpsUlhabGJuUXBPMXh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h4ZFdWMVpVbG1RMjl1ZEdsdWRXOTFjMFYyWlc1MEtHSnNiMk5yWldSUGJpd2dkRzl3VEdWMlpXeFVlWEJsTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6TENCamIyNTBZV2x1WlhJc0lHNWhkR2wyWlVWMlpXNTBLU2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlNBdkx5QlhaU0J1WldWa0lIUnZJR05zWldGeUlHOXViSGtnYVdZZ2QyVWdaR2xrYmlkMElIRjFaWFZsSUdKbFkyRjFjMlZjYmlBZ0x5OGdjWFZsZFdWcGJtY2dhWE1nWVdOamRXMXRkV3hoZEdsMlpTNWNibHh1WEc0Z0lHTnNaV0Z5U1daRGIyNTBhVzUxYjNWelJYWmxiblFvZEc5d1RHVjJaV3hVZVhCbExDQnVZWFJwZG1WRmRtVnVkQ2s3SUM4dklGUm9hWE1nYVhNZ2JtOTBJSEpsY0d4aGVXRmliR1VnYzI4Z2QyVW5iR3dnYVc1MmIydGxJR2wwSUdKMWRDQjNhWFJvYjNWMElHRWdkR0Z5WjJWMExGeHVJQ0F2THlCcGJpQmpZWE5sSUhSb1pTQmxkbVZ1ZENCemVYTjBaVzBnYm1WbFpITWdkRzhnZEhKaFkyVWdhWFF1WEc1Y2JpQWdlMXh1SUNBZ0lHUnBjM0JoZEdOb1JYWmxiblJHYjNKTVpXZGhZM2xRYkhWbmFXNUZkbVZ1ZEZONWMzUmxiU2gwYjNCTVpYWmxiRlI1Y0dVc0lHVjJaVzUwVTNsemRHVnRSbXhoWjNNc0lHNWhkR2wyWlVWMlpXNTBMQ0J1ZFd4c0tUdGNiaUFnZlZ4dWZTQXZMeUJCZEhSbGJYQjBJR1JwYzNCaGRHTm9hVzVuSUdGdUlHVjJaVzUwTGlCU1pYUjFjbTV6SUdFZ1UzVnpjR1Z1YzJWSmJuTjBZVzVqWlNCdmNpQkRiMjUwWVdsdVpYSWdhV1lnYVhRbmN5QmliRzlqYTJWa0xseHVYRzVtZFc1amRHbHZiaUJoZEhSbGJYQjBWRzlFYVhOd1lYUmphRVYyWlc1MEtIUnZjRXhsZG1Wc1ZIbHdaU3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeXdnWTI5dWRHRnBibVZ5TENCdVlYUnBkbVZGZG1WdWRDa2dlMXh1SUNBdkx5QlVUMFJQT2lCWFlYSnVJR2xtSUY5bGJtRmliR1ZrSUdseklHWmhiSE5sTGx4dUlDQjJZWElnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFnUFNCblpYUkZkbVZ1ZEZSaGNtZGxkQ2h1WVhScGRtVkZkbVZ1ZENrN1hHNGdJSFpoY2lCMFlYSm5aWFJKYm5OMElEMGdaMlYwUTJ4dmMyVnpkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVW9ibUYwYVhabFJYWmxiblJVWVhKblpYUXBPMXh1WEc0Z0lHbG1JQ2gwWVhKblpYUkpibk4wSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHNWxZWEpsYzNSTmIzVnVkR1ZrSUQwZ1oyVjBUbVZoY21WemRFMXZkVzUwWldSR2FXSmxjaWgwWVhKblpYUkpibk4wS1R0Y2JseHVJQ0FnSUdsbUlDaHVaV0Z5WlhOMFRXOTFiblJsWkNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdWR2hwY3lCMGNtVmxJR2hoY3lCaVpXVnVJSFZ1Ylc5MWJuUmxaQ0JoYkhKbFlXUjVMaUJFYVhOd1lYUmphQ0IzYVhSb2IzVjBJR0VnZEdGeVoyVjBMbHh1SUNBZ0lDQWdkR0Z5WjJWMFNXNXpkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhaaGNpQjBZV2NnUFNCdVpXRnlaWE4wVFc5MWJuUmxaQzUwWVdjN1hHNWNiaUFnSUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJRk4xYzNCbGJuTmxRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR2RsZEZOMWMzQmxibk5sU1c1emRHRnVZMlZHY205dFJtbGlaWElvYm1WaGNtVnpkRTF2ZFc1MFpXUXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHBibk4wWVc1alpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGRjFaWFZsSUhSb1pTQmxkbVZ1ZENCMGJ5QmlaU0J5WlhCc1lYbGxaQ0JzWVhSbGNpNGdRV0p2Y25RZ1pHbHpjR0YwWTJocGJtY2djMmx1WTJVZ2QyVmNiaUFnSUNBZ0lDQWdJQ0F2THlCa2IyNG5kQ0IzWVc1MElIUm9hWE1nWlhabGJuUWdaR2x6Y0dGMFkyaGxaQ0IwZDJsalpTQjBhSEp2ZFdkb0lIUm9aU0JsZG1WdWRDQnplWE4wWlcwdVhHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dTV1lnZEdocGN5QnBjeUIwYUdVZ1ptbHljM1FnWkdselkzSmxkR1VnWlhabGJuUWdhVzRnZEdobElIRjFaWFZsTGlCVFkyaGxaSFZzWlNCaGJpQnBibU55WldGelpXUmNiaUFnSUNBZ0lDQWdJQ0F2THlCd2NtbHZjbWwwZVNCbWIzSWdkR2hwY3lCaWIzVnVaR0Z5ZVM1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2FXNXpkR0Z1WTJVN1hHNGdJQ0FnSUNBZ0lIMGdMeThnVkdocGN5QnphRzkxYkdSdUozUWdhR0Z3Y0dWdUxDQnpiMjFsZEdocGJtY2dkMlZ1ZENCM2NtOXVaeUJpZFhRZ2RHOGdZWFp2YVdRZ1lteHZZMnRwYm1kY2JpQWdJQ0FnSUNBZ0x5OGdkR2hsSUhkb2IyeGxJSE41YzNSbGJTd2daR2x6Y0dGMFkyZ2dkR2hsSUdWMlpXNTBJSGRwZEdodmRYUWdZU0IwWVhKblpYUXVYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRmRoY200dVhHNWNibHh1SUNBZ0lDQWdJQ0IwWVhKblpYUkpibk4wSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvZEdGbklEMDlQU0JJYjNOMFVtOXZkQ2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdjbTl2ZENBOUlHNWxZWEpsYzNSTmIzVnVkR1ZrTG5OMFlYUmxUbTlrWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY205dmRDNW9lV1J5WVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hwY3lCb1lYQndaVzV6SUdSMWNtbHVaeUJoSUhKbGNHeGhlU0J6YjIxbGRHaHBibWNnZDJWdWRDQjNjbTl1WnlCaGJtUWdhWFFnYldsbmFIUWdZbXh2WTJ0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2QyaHZiR1VnYzNsemRHVnRMbHh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJuWlhSRGIyNTBZV2x1WlhKR2NtOXRSbWxpWlhJb2JtVmhjbVZ6ZEUxdmRXNTBaV1FwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdkR0Z5WjJWMFNXNXpkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzVsWVhKbGMzUk5iM1Z1ZEdWa0lDRTlQU0IwWVhKblpYUkpibk4wS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRWxtSUhkbElHZGxkQ0JoYmlCbGRtVnVkQ0FvWlhnNklHbHRaeUJ2Ym14dllXUXBJR0psWm05eVpTQmpiMjF0YVhSMGFXNW5JSFJvWVhSY2JpQWdJQ0FnSUNBZ0x5OGdZMjl0Y0c5dVpXNTBKM01nYlc5MWJuUXNJR2xuYm05eVpTQnBkQ0JtYjNJZ2JtOTNJQ2gwYUdGMElHbHpMQ0IwY21WaGRDQnBkQ0JoY3lCcFppQnBkQ0IzWVhNZ1lXNWNiaUFnSUNBZ0lDQWdMeThnWlhabGJuUWdiMjRnWVNCdWIyNHRVbVZoWTNRZ2RISmxaU2t1SUZkbElHMXBaMmgwSUdGc2MyOGdZMjl1YzJsa1pYSWdjWFZsZFdWcGJtY2daWFpsYm5SeklHRnVaRnh1SUNBZ0lDQWdJQ0F2THlCa2FYTndZWFJqYUdsdVp5QjBhR1Z0SUdGbWRHVnlJSFJvWlNCdGIzVnVkQzVjYmlBZ0lDQWdJQ0FnZEdGeVoyVjBTVzV6ZENBOUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJR1JwYzNCaGRHTm9SWFpsYm5SR2IzSk1aV2RoWTNsUWJIVm5hVzVGZG1WdWRGTjVjM1JsYlNoMGIzQk1aWFpsYkZSNWNHVXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXNJRzVoZEdsMlpVVjJaVzUwTENCMFlYSm5aWFJKYm5OMEtUdGNiaUFnZlNBdkx5QlhaU2R5WlNCdWIzUWdZbXh2WTJ0bFpDQnZiaUJoYm5sMGFHbHVaeTVjYmx4dVhHNGdJSEpsZEhWeWJpQnVkV3hzTzF4dWZWeHVYRzR2THlCTWFYTjBJR1JsY21sMlpXUWdabkp2YlNCSFpXTnJieUJ6YjNWeVkyVWdZMjlrWlRwY2JpOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl0YjNwcGJHeGhMMmRsWTJ0dkxXUmxkaTlpYkc5aUx6UmxOak00Wldaak56RXZiR0Y1YjNWMEwzTjBlV3hsTDNSbGMzUXZjSEp2Y0dWeWRIbGZaR0YwWVdKaGMyVXVhbk5jYm5aaGNpQnphRzl5ZEdoaGJtUlViMHh2Ym1kb1lXNWtJRDBnZTF4dUlDQmhibWx0WVhScGIyNDZJRnNuWVc1cGJXRjBhVzl1UkdWc1lYa25MQ0FuWVc1cGJXRjBhVzl1UkdseVpXTjBhVzl1Snl3Z0oyRnVhVzFoZEdsdmJrUjFjbUYwYVc5dUp5d2dKMkZ1YVcxaGRHbHZia1pwYkd4TmIyUmxKeXdnSjJGdWFXMWhkR2x2YmtsMFpYSmhkR2x2YmtOdmRXNTBKeXdnSjJGdWFXMWhkR2x2Yms1aGJXVW5MQ0FuWVc1cGJXRjBhVzl1VUd4aGVWTjBZWFJsSnl3Z0oyRnVhVzFoZEdsdmJsUnBiV2x1WjBaMWJtTjBhVzl1SjEwc1hHNGdJR0poWTJ0bmNtOTFibVE2SUZzblltRmphMmR5YjNWdVpFRjBkR0ZqYUcxbGJuUW5MQ0FuWW1GamEyZHliM1Z1WkVOc2FYQW5MQ0FuWW1GamEyZHliM1Z1WkVOdmJHOXlKeXdnSjJKaFkydG5jbTkxYm1SSmJXRm5aU2NzSUNkaVlXTnJaM0p2ZFc1a1QzSnBaMmx1Snl3Z0oySmhZMnRuY205MWJtUlFiM05wZEdsdmJsZ25MQ0FuWW1GamEyZHliM1Z1WkZCdmMybDBhVzl1V1Njc0lDZGlZV05yWjNKdmRXNWtVbVZ3WldGMEp5d2dKMkpoWTJ0bmNtOTFibVJUYVhwbEoxMHNYRzRnSUdKaFkydG5jbTkxYm1SUWIzTnBkR2x2YmpvZ1d5ZGlZV05yWjNKdmRXNWtVRzl6YVhScGIyNVlKeXdnSjJKaFkydG5jbTkxYm1SUWIzTnBkR2x2YmxrblhTeGNiaUFnWW05eVpHVnlPaUJiSjJKdmNtUmxja0p2ZEhSdmJVTnZiRzl5Snl3Z0oySnZjbVJsY2tKdmRIUnZiVk4wZVd4bEp5d2dKMkp2Y21SbGNrSnZkSFJ2YlZkcFpIUm9KeXdnSjJKdmNtUmxja2x0WVdkbFQzVjBjMlYwSnl3Z0oySnZjbVJsY2tsdFlXZGxVbVZ3WldGMEp5d2dKMkp2Y21SbGNrbHRZV2RsVTJ4cFkyVW5MQ0FuWW05eVpHVnlTVzFoWjJWVGIzVnlZMlVuTENBblltOXlaR1Z5U1cxaFoyVlhhV1IwYUNjc0lDZGliM0prWlhKTVpXWjBRMjlzYjNJbkxDQW5ZbTl5WkdWeVRHVm1kRk4wZVd4bEp5d2dKMkp2Y21SbGNreGxablJYYVdSMGFDY3NJQ2RpYjNKa1pYSlNhV2RvZEVOdmJHOXlKeXdnSjJKdmNtUmxjbEpwWjJoMFUzUjViR1VuTENBblltOXlaR1Z5VW1sbmFIUlhhV1IwYUNjc0lDZGliM0prWlhKVWIzQkRiMnh2Y2ljc0lDZGliM0prWlhKVWIzQlRkSGxzWlNjc0lDZGliM0prWlhKVWIzQlhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSkNiRzlqYTBWdVpEb2dXeWRpYjNKa1pYSkNiRzlqYTBWdVpFTnZiRzl5Snl3Z0oySnZjbVJsY2tKc2IyTnJSVzVrVTNSNWJHVW5MQ0FuWW05eVpHVnlRbXh2WTJ0RmJtUlhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSkNiRzlqYTFOMFlYSjBPaUJiSjJKdmNtUmxja0pzYjJOclUzUmhjblJEYjJ4dmNpY3NJQ2RpYjNKa1pYSkNiRzlqYTFOMFlYSjBVM1I1YkdVbkxDQW5ZbTl5WkdWeVFteHZZMnRUZEdGeWRGZHBaSFJvSjEwc1hHNGdJR0p2Y21SbGNrSnZkSFJ2YlRvZ1d5ZGliM0prWlhKQ2IzUjBiMjFEYjJ4dmNpY3NJQ2RpYjNKa1pYSkNiM1IwYjIxVGRIbHNaU2NzSUNkaWIzSmtaWEpDYjNSMGIyMVhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSkRiMnh2Y2pvZ1d5ZGliM0prWlhKQ2IzUjBiMjFEYjJ4dmNpY3NJQ2RpYjNKa1pYSk1aV1owUTI5c2IzSW5MQ0FuWW05eVpHVnlVbWxuYUhSRGIyeHZjaWNzSUNkaWIzSmtaWEpVYjNCRGIyeHZjaWRkTEZ4dUlDQmliM0prWlhKSmJXRm5aVG9nV3lkaWIzSmtaWEpKYldGblpVOTFkSE5sZENjc0lDZGliM0prWlhKSmJXRm5aVkpsY0dWaGRDY3NJQ2RpYjNKa1pYSkpiV0ZuWlZOc2FXTmxKeXdnSjJKdmNtUmxja2x0WVdkbFUyOTFjbU5sSnl3Z0oySnZjbVJsY2tsdFlXZGxWMmxrZEdnblhTeGNiaUFnWW05eVpHVnlTVzVzYVc1bFJXNWtPaUJiSjJKdmNtUmxja2x1YkdsdVpVVnVaRU52Ykc5eUp5d2dKMkp2Y21SbGNrbHViR2x1WlVWdVpGTjBlV3hsSnl3Z0oySnZjbVJsY2tsdWJHbHVaVVZ1WkZkcFpIUm9KMTBzWEc0Z0lHSnZjbVJsY2tsdWJHbHVaVk4wWVhKME9pQmJKMkp2Y21SbGNrbHViR2x1WlZOMFlYSjBRMjlzYjNJbkxDQW5ZbTl5WkdWeVNXNXNhVzVsVTNSaGNuUlRkSGxzWlNjc0lDZGliM0prWlhKSmJteHBibVZUZEdGeWRGZHBaSFJvSjEwc1hHNGdJR0p2Y21SbGNreGxablE2SUZzblltOXlaR1Z5VEdWbWRFTnZiRzl5Snl3Z0oySnZjbVJsY2t4bFpuUlRkSGxzWlNjc0lDZGliM0prWlhKTVpXWjBWMmxrZEdnblhTeGNiaUFnWW05eVpHVnlVbUZrYVhWek9pQmJKMkp2Y21SbGNrSnZkSFJ2YlV4bFpuUlNZV1JwZFhNbkxDQW5ZbTl5WkdWeVFtOTBkRzl0VW1sbmFIUlNZV1JwZFhNbkxDQW5ZbTl5WkdWeVZHOXdUR1ZtZEZKaFpHbDFjeWNzSUNkaWIzSmtaWEpVYjNCU2FXZG9kRkpoWkdsMWN5ZGRMRnh1SUNCaWIzSmtaWEpTYVdkb2REb2dXeWRpYjNKa1pYSlNhV2RvZEVOdmJHOXlKeXdnSjJKdmNtUmxjbEpwWjJoMFUzUjViR1VuTENBblltOXlaR1Z5VW1sbmFIUlhhV1IwYUNkZExGeHVJQ0JpYjNKa1pYSlRkSGxzWlRvZ1d5ZGliM0prWlhKQ2IzUjBiMjFUZEhsc1pTY3NJQ2RpYjNKa1pYSk1aV1owVTNSNWJHVW5MQ0FuWW05eVpHVnlVbWxuYUhSVGRIbHNaU2NzSUNkaWIzSmtaWEpVYjNCVGRIbHNaU2RkTEZ4dUlDQmliM0prWlhKVWIzQTZJRnNuWW05eVpHVnlWRzl3UTI5c2IzSW5MQ0FuWW05eVpHVnlWRzl3VTNSNWJHVW5MQ0FuWW05eVpHVnlWRzl3VjJsa2RHZ25YU3hjYmlBZ1ltOXlaR1Z5VjJsa2RHZzZJRnNuWW05eVpHVnlRbTkwZEc5dFYybGtkR2duTENBblltOXlaR1Z5VEdWbWRGZHBaSFJvSnl3Z0oySnZjbVJsY2xKcFoyaDBWMmxrZEdnbkxDQW5ZbTl5WkdWeVZHOXdWMmxrZEdnblhTeGNiaUFnWTI5c2RXMXVVblZzWlRvZ1d5ZGpiMngxYlc1U2RXeGxRMjlzYjNJbkxDQW5ZMjlzZFcxdVVuVnNaVk4wZVd4bEp5d2dKMk52YkhWdGJsSjFiR1ZYYVdSMGFDZGRMRnh1SUNCamIyeDFiVzV6T2lCYkoyTnZiSFZ0YmtOdmRXNTBKeXdnSjJOdmJIVnRibGRwWkhSb0oxMHNYRzRnSUdac1pYZzZJRnNuWm14bGVFSmhjMmx6Snl3Z0oyWnNaWGhIY205M0p5d2dKMlpzWlhoVGFISnBibXNuWFN4Y2JpQWdabXhsZUVac2IzYzZJRnNuWm14bGVFUnBjbVZqZEdsdmJpY3NJQ2RtYkdWNFYzSmhjQ2RkTEZ4dUlDQm1iMjUwT2lCYkoyWnZiblJHWVcxcGJIa25MQ0FuWm05dWRFWmxZWFIxY21WVFpYUjBhVzVuY3ljc0lDZG1iMjUwUzJWeWJtbHVaeWNzSUNkbWIyNTBUR0Z1WjNWaFoyVlBkbVZ5Y21sa1pTY3NJQ2RtYjI1MFUybDZaU2NzSUNkbWIyNTBVMmw2WlVGa2FuVnpkQ2NzSUNkbWIyNTBVM1J5WlhSamFDY3NJQ2RtYjI1MFUzUjViR1VuTENBblptOXVkRlpoY21saGJuUW5MQ0FuWm05dWRGWmhjbWxoYm5SQmJIUmxjbTVoZEdWekp5d2dKMlp2Ym5SV1lYSnBZVzUwUTJGd2N5Y3NJQ2RtYjI1MFZtRnlhV0Z1ZEVWaGMzUkJjMmxoYmljc0lDZG1iMjUwVm1GeWFXRnVkRXhwWjJGMGRYSmxjeWNzSUNkbWIyNTBWbUZ5YVdGdWRFNTFiV1Z5YVdNbkxDQW5abTl1ZEZaaGNtbGhiblJRYjNOcGRHbHZiaWNzSUNkbWIyNTBWMlZwWjJoMEp5d2dKMnhwYm1WSVpXbG5hSFFuWFN4Y2JpQWdabTl1ZEZaaGNtbGhiblE2SUZzblptOXVkRlpoY21saGJuUkJiSFJsY201aGRHVnpKeXdnSjJadmJuUldZWEpwWVc1MFEyRndjeWNzSUNkbWIyNTBWbUZ5YVdGdWRFVmhjM1JCYzJsaGJpY3NJQ2RtYjI1MFZtRnlhV0Z1ZEV4cFoyRjBkWEpsY3ljc0lDZG1iMjUwVm1GeWFXRnVkRTUxYldWeWFXTW5MQ0FuWm05dWRGWmhjbWxoYm5SUWIzTnBkR2x2YmlkZExGeHVJQ0JuWVhBNklGc25ZMjlzZFcxdVIyRndKeXdnSjNKdmQwZGhjQ2RkTEZ4dUlDQm5jbWxrT2lCYkoyZHlhV1JCZFhSdlEyOXNkVzF1Y3ljc0lDZG5jbWxrUVhWMGIwWnNiM2NuTENBblozSnBaRUYxZEc5U2IzZHpKeXdnSjJkeWFXUlVaVzF3YkdGMFpVRnlaV0Z6Snl3Z0oyZHlhV1JVWlcxd2JHRjBaVU52YkhWdGJuTW5MQ0FuWjNKcFpGUmxiWEJzWVhSbFVtOTNjeWRkTEZ4dUlDQm5jbWxrUVhKbFlUb2dXeWRuY21sa1EyOXNkVzF1Ulc1a0p5d2dKMmR5YVdSRGIyeDFiVzVUZEdGeWRDY3NJQ2RuY21sa1VtOTNSVzVrSnl3Z0oyZHlhV1JTYjNkVGRHRnlkQ2RkTEZ4dUlDQm5jbWxrUTI5c2RXMXVPaUJiSjJkeWFXUkRiMngxYlc1RmJtUW5MQ0FuWjNKcFpFTnZiSFZ0YmxOMFlYSjBKMTBzWEc0Z0lHZHlhV1JEYjJ4MWJXNUhZWEE2SUZzblkyOXNkVzF1UjJGd0oxMHNYRzRnSUdkeWFXUkhZWEE2SUZzblkyOXNkVzF1UjJGd0p5d2dKM0p2ZDBkaGNDZGRMRnh1SUNCbmNtbGtVbTkzT2lCYkoyZHlhV1JTYjNkRmJtUW5MQ0FuWjNKcFpGSnZkMU4wWVhKMEoxMHNYRzRnSUdkeWFXUlNiM2RIWVhBNklGc25jbTkzUjJGd0oxMHNYRzRnSUdkeWFXUlVaVzF3YkdGMFpUb2dXeWRuY21sa1ZHVnRjR3hoZEdWQmNtVmhjeWNzSUNkbmNtbGtWR1Z0Y0d4aGRHVkRiMngxYlc1ekp5d2dKMmR5YVdSVVpXMXdiR0YwWlZKdmQzTW5YU3hjYmlBZ2JHbHpkRk4wZVd4bE9pQmJKMnhwYzNSVGRIbHNaVWx0WVdkbEp5d2dKMnhwYzNSVGRIbHNaVkJ2YzJsMGFXOXVKeXdnSjJ4cGMzUlRkSGxzWlZSNWNHVW5YU3hjYmlBZ2JXRnlaMmx1T2lCYkoyMWhjbWRwYmtKdmRIUnZiU2NzSUNkdFlYSm5hVzVNWldaMEp5d2dKMjFoY21kcGJsSnBaMmgwSnl3Z0oyMWhjbWRwYmxSdmNDZGRMRnh1SUNCdFlYSnJaWEk2SUZzbmJXRnlhMlZ5Ulc1a0p5d2dKMjFoY210bGNrMXBaQ2NzSUNkdFlYSnJaWEpUZEdGeWRDZGRMRnh1SUNCdFlYTnJPaUJiSjIxaGMydERiR2x3Snl3Z0oyMWhjMnREYjIxd2IzTnBkR1VuTENBbmJXRnphMGx0WVdkbEp5d2dKMjFoYzJ0TmIyUmxKeXdnSjIxaGMydFBjbWxuYVc0bkxDQW5iV0Z6YTFCdmMybDBhVzl1V0Njc0lDZHRZWE5yVUc5emFYUnBiMjVaSnl3Z0oyMWhjMnRTWlhCbFlYUW5MQ0FuYldGemExTnBlbVVuWFN4Y2JpQWdiV0Z6YTFCdmMybDBhVzl1T2lCYkoyMWhjMnRRYjNOcGRHbHZibGduTENBbmJXRnphMUJ2YzJsMGFXOXVXU2RkTEZ4dUlDQnZkWFJzYVc1bE9pQmJKMjkxZEd4cGJtVkRiMnh2Y2ljc0lDZHZkWFJzYVc1bFUzUjViR1VuTENBbmIzVjBiR2x1WlZkcFpIUm9KMTBzWEc0Z0lHOTJaWEptYkc5M09pQmJKMjkyWlhKbWJHOTNXQ2NzSUNkdmRtVnlabXh2ZDFrblhTeGNiaUFnY0dGa1pHbHVaem9nV3lkd1lXUmthVzVuUW05MGRHOXRKeXdnSjNCaFpHUnBibWRNWldaMEp5d2dKM0JoWkdScGJtZFNhV2RvZENjc0lDZHdZV1JrYVc1blZHOXdKMTBzWEc0Z0lIQnNZV05sUTI5dWRHVnVkRG9nV3lkaGJHbG5ia052Ym5SbGJuUW5MQ0FuYW5WemRHbG1lVU52Ym5SbGJuUW5YU3hjYmlBZ2NHeGhZMlZKZEdWdGN6b2dXeWRoYkdsbmJrbDBaVzF6Snl3Z0oycDFjM1JwWm5sSmRHVnRjeWRkTEZ4dUlDQndiR0ZqWlZObGJHWTZJRnNuWVd4cFoyNVRaV3htSnl3Z0oycDFjM1JwWm5sVFpXeG1KMTBzWEc0Z0lIUmxlSFJFWldOdmNtRjBhVzl1T2lCYkozUmxlSFJFWldOdmNtRjBhVzl1UTI5c2IzSW5MQ0FuZEdWNGRFUmxZMjl5WVhScGIyNU1hVzVsSnl3Z0ozUmxlSFJFWldOdmNtRjBhVzl1VTNSNWJHVW5YU3hjYmlBZ2RHVjRkRVZ0Y0doaGMybHpPaUJiSjNSbGVIUkZiWEJvWVhOcGMwTnZiRzl5Snl3Z0ozUmxlSFJGYlhCb1lYTnBjMU4wZVd4bEoxMHNYRzRnSUhSeVlXNXphWFJwYjI0NklGc25kSEpoYm5OcGRHbHZia1JsYkdGNUp5d2dKM1J5WVc1emFYUnBiMjVFZFhKaGRHbHZiaWNzSUNkMGNtRnVjMmwwYVc5dVVISnZjR1Z5ZEhrbkxDQW5kSEpoYm5OcGRHbHZibFJwYldsdVowWjFibU4wYVc5dUoxMHNYRzRnSUhkdmNtUlhjbUZ3T2lCYkoyOTJaWEptYkc5M1YzSmhjQ2RkWEc1OU8xeHVYRzR2S2lwY2JpQXFJRU5UVXlCd2NtOXdaWEowYVdWeklIZG9hV05vSUdGalkyVndkQ0J1ZFcxaVpYSnpJR0oxZENCaGNtVWdibTkwSUdsdUlIVnVhWFJ6SUc5bUlGd2ljSGhjSWk1Y2JpQXFMMXh1ZG1GeUlHbHpWVzVwZEd4bGMzTk9kVzFpWlhJZ1BTQjdYRzRnSUdGdWFXMWhkR2x2YmtsMFpYSmhkR2x2YmtOdmRXNTBPaUIwY25WbExGeHVJQ0JpYjNKa1pYSkpiV0ZuWlU5MWRITmxkRG9nZEhKMVpTeGNiaUFnWW05eVpHVnlTVzFoWjJWVGJHbGpaVG9nZEhKMVpTeGNiaUFnWW05eVpHVnlTVzFoWjJWWGFXUjBhRG9nZEhKMVpTeGNiaUFnWW05NFJteGxlRG9nZEhKMVpTeGNiaUFnWW05NFJteGxlRWR5YjNWd09pQjBjblZsTEZ4dUlDQmliM2hQY21ScGJtRnNSM0p2ZFhBNklIUnlkV1VzWEc0Z0lHTnZiSFZ0YmtOdmRXNTBPaUIwY25WbExGeHVJQ0JqYjJ4MWJXNXpPaUIwY25WbExGeHVJQ0JtYkdWNE9pQjBjblZsTEZ4dUlDQm1iR1Y0UjNKdmR6b2dkSEoxWlN4Y2JpQWdabXhsZUZCdmMybDBhWFpsT2lCMGNuVmxMRnh1SUNCbWJHVjRVMmh5YVc1ck9pQjBjblZsTEZ4dUlDQm1iR1Y0VG1WbllYUnBkbVU2SUhSeWRXVXNYRzRnSUdac1pYaFBjbVJsY2pvZ2RISjFaU3hjYmlBZ1ozSnBaRUZ5WldFNklIUnlkV1VzWEc0Z0lHZHlhV1JTYjNjNklIUnlkV1VzWEc0Z0lHZHlhV1JTYjNkRmJtUTZJSFJ5ZFdVc1hHNGdJR2R5YVdSU2IzZFRjR0Z1T2lCMGNuVmxMRnh1SUNCbmNtbGtVbTkzVTNSaGNuUTZJSFJ5ZFdVc1hHNGdJR2R5YVdSRGIyeDFiVzQ2SUhSeWRXVXNYRzRnSUdkeWFXUkRiMngxYlc1RmJtUTZJSFJ5ZFdVc1hHNGdJR2R5YVdSRGIyeDFiVzVUY0dGdU9pQjBjblZsTEZ4dUlDQm5jbWxrUTI5c2RXMXVVM1JoY25RNklIUnlkV1VzWEc0Z0lHWnZiblJYWldsbmFIUTZJSFJ5ZFdVc1hHNGdJR3hwYm1WRGJHRnRjRG9nZEhKMVpTeGNiaUFnYkdsdVpVaGxhV2RvZERvZ2RISjFaU3hjYmlBZ2IzQmhZMmwwZVRvZ2RISjFaU3hjYmlBZ2IzSmtaWEk2SUhSeWRXVXNYRzRnSUc5eWNHaGhibk02SUhSeWRXVXNYRzRnSUhSaFlsTnBlbVU2SUhSeWRXVXNYRzRnSUhkcFpHOTNjem9nZEhKMVpTeGNiaUFnZWtsdVpHVjRPaUIwY25WbExGeHVJQ0I2YjI5dE9pQjBjblZsTEZ4dUlDQXZMeUJUVmtjdGNtVnNZWFJsWkNCd2NtOXdaWEowYVdWelhHNGdJR1pwYkd4UGNHRmphWFI1T2lCMGNuVmxMRnh1SUNCbWJHOXZaRTl3WVdOcGRIazZJSFJ5ZFdVc1hHNGdJSE4wYjNCUGNHRmphWFI1T2lCMGNuVmxMRnh1SUNCemRISnZhMlZFWVhOb1lYSnlZWGs2SUhSeWRXVXNYRzRnSUhOMGNtOXJaVVJoYzJodlptWnpaWFE2SUhSeWRXVXNYRzRnSUhOMGNtOXJaVTFwZEdWeWJHbHRhWFE2SUhSeWRXVXNYRzRnSUhOMGNtOXJaVTl3WVdOcGRIazZJSFJ5ZFdVc1hHNGdJSE4wY205clpWZHBaSFJvT2lCMGNuVmxYRzU5TzF4dUx5b3FYRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnY0hKbFptbDRJSFpsYm1SdmNpMXpjR1ZqYVdacFl5QndjbVZtYVhnc0lHVm5PaUJYWldKcmFYUmNiaUFxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JyWlhrZ2MzUjViR1VnYm1GdFpTd2daV2M2SUhSeVlXNXphWFJwYjI1RWRYSmhkR2x2Ymx4dUlDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZTQnpkSGxzWlNCdVlXMWxJSEJ5WldacGVHVmtJSGRwZEdnZ1lIQnlaV1pwZUdBc0lIQnliM0JsY214NUlHTmhiV1ZzUTJGelpXUXNJR1ZuT2x4dUlDb2dWMlZpYTJsMFZISmhibk5wZEdsdmJrUjFjbUYwYVc5dVhHNGdLaTljYmx4dVpuVnVZM1JwYjI0Z2NISmxabWw0UzJWNUtIQnlaV1pwZUN3Z2EyVjVLU0I3WEc0Z0lISmxkSFZ5YmlCd2NtVm1hWGdnS3lCclpYa3VZMmhoY2tGMEtEQXBMblJ2VlhCd1pYSkRZWE5sS0NrZ0t5QnJaWGt1YzNWaWMzUnlhVzVuS0RFcE8xeHVmVnh1THlvcVhHNGdLaUJUZFhCd2IzSjBJSE4wZVd4bElHNWhiV1Z6SUhSb1lYUWdiV0Y1SUdOdmJXVWdjR0Z6YzJWa0lHbHVJSEJ5WldacGVHVmtJR0o1SUdGa1pHbHVaeUJ3WlhKdGRYUmhkR2x2Ym5OY2JpQXFJRzltSUhabGJtUnZjaUJ3Y21WbWFYaGxjeTVjYmlBcUwxeHVYRzVjYm5aaGNpQndjbVZtYVhobGN5QTlJRnNuVjJWaWEybDBKeXdnSjIxekp5d2dKMDF2ZWljc0lDZFBKMTA3SUM4dklGVnphVzVuSUU5aWFtVmpkQzVyWlhseklHaGxjbVVzSUc5eUlHVnNjMlVnZEdobElIWmhibWxzYkdFZ1ptOXlMV2x1SUd4dmIzQWdiV0ZyWlhNZ1NVVTRJR2R2SUdsdWRHOGdZVzVjYmk4dklHbHVabWx1YVhSbElHeHZiM0FzSUdKbFkyRjFjMlVnYVhRZ2FYUmxjbUYwWlhNZ2IzWmxjaUIwYUdVZ2JtVjNiSGtnWVdSa1pXUWdjSEp2Y0hNZ2RHOXZMbHh1WEc1UFltcGxZM1F1YTJWNWN5aHBjMVZ1YVhSc1pYTnpUblZ0WW1WeUtTNW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHdjbTl3S1NCN1hHNGdJSEJ5WldacGVHVnpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSEJ5WldacGVDa2dlMXh1SUNBZ0lHbHpWVzVwZEd4bGMzTk9kVzFpWlhKYmNISmxabWw0UzJWNUtIQnlaV1pwZUN3Z2NISnZjQ2xkSUQwZ2FYTlZibWwwYkdWemMwNTFiV0psY2x0d2NtOXdYVHRjYmlBZ2ZTazdYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkRiMjUyWlhKMElHRWdkbUZzZFdVZ2FXNTBieUIwYUdVZ2NISnZjR1Z5SUdOemN5QjNjbWwwWVdKc1pTQjJZV3gxWlM0Z1ZHaGxJSE4wZVd4bElHNWhiV1VnWUc1aGJXVmdYRzRnS2lCemFHOTFiR1FnWW1VZ2JHOW5hV05oYkNBb2JtOGdhSGx3YUdWdWN5a3NJR0Z6SUhOd1pXTnBabWxsWkZ4dUlDb2dhVzRnWUVOVFUxQnliM0JsY25SNUxtbHpWVzVwZEd4bGMzTk9kVzFpWlhKZ0xseHVJQ3BjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCdVlXMWxJRU5UVXlCd2NtOXdaWEowZVNCdVlXMWxJSE4xWTJnZ1lYTWdZSFJ2Y0UxaGNtZHBibUF1WEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJSFpoYkhWbElFTlRVeUJ3Y205d1pYSjBlU0IyWVd4MVpTQnpkV05vSUdGeklHQXhNSEI0WUM1Y2JpQXFJRUJ5WlhSMWNtNGdlM04wY21sdVozMGdUbTl5YldGc2FYcGxaQ0J6ZEhsc1pTQjJZV3gxWlNCM2FYUm9JR1JwYldWdWMybHZibk1nWVhCd2JHbGxaQzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJrWVc1blpYSnZkWE5UZEhsc1pWWmhiSFZsS0c1aGJXVXNJSFpoYkhWbExDQnBjME4xYzNSdmJWQnliM0JsY25SNUtTQjdYRzRnSUM4dklFNXZkR1VnZEdoaGRDQjNaU2QyWlNCeVpXMXZkbVZrSUdWelkyRndaVlJsZUhSR2IzSkNjbTkzYzJWeUtDa2dZMkZzYkhNZ2FHVnlaU0J6YVc1alpTQjBhR1ZjYmlBZ0x5OGdkMmh2YkdVZ2MzUnlhVzVuSUhkcGJHd2dZbVVnWlhOallYQmxaQ0IzYUdWdUlIUm9aU0JoZEhSeWFXSjFkR1VnYVhNZ2FXNXFaV04wWldRZ2FXNTBiMXh1SUNBdkx5QjBhR1VnYldGeWEzVndMaUJKWmlCNWIzVWdjSEp2ZG1sa1pTQjFibk5oWm1VZ2RYTmxjaUJrWVhSaElHaGxjbVVnZEdobGVTQmpZVzRnYVc1cVpXTjBYRzRnSUM4dklHRnlZbWwwY21GeWVTQkRVMU1nZDJocFkyZ2diV0Y1SUdKbElIQnliMkpzWlcxaGRHbGpJQ2hKSUdOdmRXeGtiaWQwSUhKbGNISnZJSFJvYVhNcE9seHVJQ0F2THlCb2RIUndjem92TDNkM2R5NXZkMkZ6Y0M1dmNtY3ZhVzVrWlhndWNHaHdMMWhUVTE5R2FXeDBaWEpmUlhaaGMybHZibDlEYUdWaGRGOVRhR1ZsZEZ4dUlDQXZMeUJvZEhSd09pOHZkM2QzTG5Sb1pYTndZVzV1WlhJdVkyOHVkV3N2TWpBd055OHhNUzh5Tmk5MWJIUnBiV0YwWlMxNGMzTXRZM056TFdsdWFtVmpkR2x2Ymk5Y2JpQWdMeThnVkdocGN5QnBjeUJ1YjNRZ1lXNGdXRk5USUdodmJHVWdZblYwSUdsdWMzUmxZV1FnWVNCd2IzUmxiblJwWVd3Z1ExTlRJR2x1YW1WamRHbHZiaUJwYzNOMVpWeHVJQ0F2THlCM2FHbGphQ0JvWVhNZ2JHVmhaQ0IwYnlCaElHZHlaV0YwWlhJZ1pHbHpZM1Z6YzJsdmJpQmhZbTkxZENCb2IzY2dkMlVuY21VZ1oyOXBibWNnZEc5Y2JpQWdMeThnZEhKMWMzUWdWVkpNY3lCdGIzWnBibWNnWm05eWQyRnlaQzRnVTJWbElDTXlNVEUxT1RBeFhHNGdJSFpoY2lCcGMwVnRjSFI1SUQwZ2RtRnNkV1VnUFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUNkaWIyOXNaV0Z1SnlCOGZDQjJZV3gxWlNBOVBUMGdKeWM3WEc1Y2JpQWdhV1lnS0dselJXMXdkSGtwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdKeWM3WEc0Z0lIMWNibHh1SUNCcFppQW9JV2x6UTNWemRHOXRVSEp2Y0dWeWRIa2dKaVlnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYm5WdFltVnlKeUFtSmlCMllXeDFaU0FoUFQwZ01DQW1KaUFoS0dselZXNXBkR3hsYzNOT2RXMWlaWEl1YUdGelQzZHVVSEp2Y0dWeWRIa29ibUZ0WlNrZ0ppWWdhWE5WYm1sMGJHVnpjMDUxYldKbGNsdHVZVzFsWFNrcElIdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVWdLeUFuY0hnbk95QXZMeUJRY21WemRXMWxjeUJwYlhCc2FXTnBkQ0FuY0hnbklITjFabVpwZUNCbWIzSWdkVzVwZEd4bGMzTWdiblZ0WW1WeWMxeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlDZ25KeUFySUhaaGJIVmxLUzUwY21sdEtDazdYRzU5WEc1Y2JuWmhjaUIxY0hCbGNtTmhjMlZRWVhSMFpYSnVJRDBnTHloYlFTMWFYU2t2Wnp0Y2JuWmhjaUJ0YzFCaGRIUmxjbTRnUFNBdlhtMXpMUzg3WEc0dktpcGNiaUFxSUVoNWNHaGxibUYwWlhNZ1lTQmpZVzFsYkdOaGMyVmtJRU5UVXlCd2NtOXdaWEowZVNCdVlXMWxMQ0JtYjNJZ1pYaGhiWEJzWlRwY2JpQXFYRzRnS2lBZ0lENGdhSGx3YUdWdVlYUmxVM1I1YkdWT1lXMWxLQ2RpWVdOclozSnZkVzVrUTI5c2IzSW5LVnh1SUNvZ0lDQThJRndpWW1GamEyZHliM1Z1WkMxamIyeHZjbHdpWEc0Z0tpQWdJRDRnYUhsd2FHVnVZWFJsVTNSNWJHVk9ZVzFsS0NkTmIzcFVjbUZ1YzJsMGFXOXVKeWxjYmlBcUlDQWdQQ0JjSWkxdGIzb3RkSEpoYm5OcGRHbHZibHdpWEc0Z0tpQWdJRDRnYUhsd2FHVnVZWFJsVTNSNWJHVk9ZVzFsS0NkdGMxUnlZVzV6YVhScGIyNG5LVnh1SUNvZ0lDQThJRndpTFcxekxYUnlZVzV6YVhScGIyNWNJbHh1SUNwY2JpQXFJRUZ6SUUxdlpHVnlibWw2Y2lCemRXZG5aWE4wY3lBb2FIUjBjRG92TDIxdlpHVnlibWw2Y2k1amIyMHZaRzlqY3k4amNISmxabWw0WldRcExDQmhiaUJnYlhOZ0lIQnlaV1pwZUZ4dUlDb2dhWE1nWTI5dWRtVnlkR1ZrSUhSdklHQXRiWE10WUM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCb2VYQm9aVzVoZEdWVGRIbHNaVTVoYldVb2JtRnRaU2tnZTF4dUlDQnlaWFIxY200Z2JtRnRaUzV5WlhCc1lXTmxLSFZ3Y0dWeVkyRnpaVkJoZEhSbGNtNHNJQ2N0SkRFbktTNTBiMHh2ZDJWeVEyRnpaU2dwTG5KbGNHeGhZMlVvYlhOUVlYUjBaWEp1TENBbkxXMXpMU2NwTzF4dWZWeHVYRzUyWVhJZ2QyRnlibFpoYkdsa1UzUjViR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVHRjYmx4dWUxeHVJQ0F2THlBbmJYTlVjbUZ1YzJadmNtMG5JR2x6SUdOdmNuSmxZM1FzSUdKMWRDQjBhR1VnYjNSb1pYSWdjSEpsWm1sNFpYTWdjMmh2ZFd4a0lHSmxJR05oY0dsMFlXeHBlbVZrWEc0Z0lIWmhjaUJpWVdSV1pXNWtiM0psWkZOMGVXeGxUbUZ0WlZCaGRIUmxjbTRnUFNBdlhpZy9PbmRsWW10cGRIeHRiM3A4YnlsYlFTMWFYUzg3WEc0Z0lIWmhjaUJ0YzFCaGRIUmxjbTRrTVNBOUlDOWVMVzF6TFM4N1hHNGdJSFpoY2lCb2VYQm9aVzVRWVhSMFpYSnVJRDBnTHkwb0xpa3ZaenNnTHk4Z2MzUjViR1VnZG1Gc2RXVnpJSE5vYjNWc1pHNG5kQ0JqYjI1MFlXbHVJR0VnYzJWdGFXTnZiRzl1WEc1Y2JpQWdkbUZ5SUdKaFpGTjBlV3hsVm1Gc2RXVlhhWFJvVTJWdGFXTnZiRzl1VUdGMGRHVnliaUE5SUM4N1hGeHpLaVF2TzF4dUlDQjJZWElnZDJGeWJtVmtVM1I1YkdWT1lXMWxjeUE5SUh0OU8xeHVJQ0IyWVhJZ2QyRnlibVZrVTNSNWJHVldZV3gxWlhNZ1BTQjdmVHRjYmlBZ2RtRnlJSGRoY201bFpFWnZjazVoVGxaaGJIVmxJRDBnWm1Gc2MyVTdYRzRnSUhaaGNpQjNZWEp1WldSR2IzSkpibVpwYm1sMGVWWmhiSFZsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdkbUZ5SUdOaGJXVnNhWHBsSUQwZ1puVnVZM1JwYjI0Z0tITjBjbWx1WnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ6ZEhKcGJtY3VjbVZ3YkdGalpTaG9lWEJvWlc1UVlYUjBaWEp1TENCbWRXNWpkR2x2YmlBb1h5d2dZMmhoY21GamRHVnlLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZMmhoY21GamRHVnlMblJ2VlhCd1pYSkRZWE5sS0NrN1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdkbUZ5SUhkaGNtNUllWEJvWlc1aGRHVmtVM1I1YkdWT1lXMWxJRDBnWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ0lDQnBaaUFvZDJGeWJtVmtVM1I1YkdWT1lXMWxjeTVvWVhOUGQyNVFjbTl3WlhKMGVTaHVZVzFsS1NBbUppQjNZWEp1WldSVGRIbHNaVTVoYldWelcyNWhiV1ZkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMkZ5Ym1Wa1UzUjViR1ZPWVcxbGMxdHVZVzFsWFNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0JsY25KdmNpZ25WVzV6ZFhCd2IzSjBaV1FnYzNSNWJHVWdjSEp2Y0dWeWRIa2dKWE11SUVScFpDQjViM1VnYldWaGJpQWxjejhuTENCdVlXMWxMQ0F2THlCQmN5QkJibVJwSUZOdGFYUm9JSE4xWjJkbGMzUnpYRzRnSUNBZ0x5OGdLR2gwZEhBNkx5OTNkM2N1WVc1a2FYTnRhWFJvTG1OdmJTOWliRzluTHpJd01USXZNREl2Ylc5a1pYSnVhWHB5TFhCeVpXWnBlR1ZrTHlrc0lHRnVJR0F0YlhOZ0lIQnlaV1pwZUZ4dUlDQWdJQzh2SUdseklHTnZiblpsY25SbFpDQjBieUJzYjNkbGNtTmhjMlVnWUcxellDNWNiaUFnSUNCallXMWxiR2w2WlNodVlXMWxMbkpsY0d4aFkyVW9iWE5RWVhSMFpYSnVKREVzSUNkdGN5MG5LU2twTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUIzWVhKdVFtRmtWbVZ1Wkc5eVpXUlRkSGxzWlU1aGJXVWdQU0JtZFc1amRHbHZiaUFvYm1GdFpTa2dlMXh1SUNBZ0lHbG1JQ2gzWVhKdVpXUlRkSGxzWlU1aGJXVnpMbWhoYzA5M2JsQnliM0JsY25SNUtHNWhiV1VwSUNZbUlIZGhjbTVsWkZOMGVXeGxUbUZ0WlhOYmJtRnRaVjBwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjNZWEp1WldSVGRIbHNaVTVoYldWelcyNWhiV1ZkSUQwZ2RISjFaVHRjYmx4dUlDQWdJR1Z5Y205eUtDZFZibk4xY0hCdmNuUmxaQ0IyWlc1a2IzSXRjSEpsWm1sNFpXUWdjM1I1YkdVZ2NISnZjR1Z5ZEhrZ0pYTXVJRVJwWkNCNWIzVWdiV1ZoYmlBbGN6OG5MQ0J1WVcxbExDQnVZVzFsTG1Ob1lYSkJkQ2d3S1M1MGIxVndjR1Z5UTJGelpTZ3BJQ3NnYm1GdFpTNXpiR2xqWlNneEtTazdYRzRnSUgwN1hHNWNiaUFnZG1GeUlIZGhjbTVUZEhsc1pWWmhiSFZsVjJsMGFGTmxiV2xqYjJ4dmJpQTlJR1oxYm1OMGFXOXVJQ2h1WVcxbExDQjJZV3gxWlNrZ2UxeHVJQ0FnSUdsbUlDaDNZWEp1WldSVGRIbHNaVlpoYkhWbGN5NW9ZWE5QZDI1UWNtOXdaWEowZVNoMllXeDFaU2tnSmlZZ2QyRnlibVZrVTNSNWJHVldZV3gxWlhOYmRtRnNkV1ZkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMkZ5Ym1Wa1UzUjViR1ZXWVd4MVpYTmJkbUZzZFdWZElEMGdkSEoxWlR0Y2JseHVJQ0FnSUdWeWNtOXlLRndpVTNSNWJHVWdjSEp2Y0dWeWRIa2dkbUZzZFdWeklITm9iM1ZzWkc0bmRDQmpiMjUwWVdsdUlHRWdjMlZ0YVdOdmJHOXVMaUJjSWlBcklDZFVjbmtnWENJbGN6b2dKWE5jSWlCcGJuTjBaV0ZrTGljc0lHNWhiV1VzSUhaaGJIVmxMbkpsY0d4aFkyVW9ZbUZrVTNSNWJHVldZV3gxWlZkcGRHaFRaVzFwWTI5c2IyNVFZWFIwWlhKdUxDQW5KeWtwTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUIzWVhKdVUzUjViR1ZXWVd4MVpVbHpUbUZPSUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VzSUhaaGJIVmxLU0I3WEc0Z0lDQWdhV1lnS0hkaGNtNWxaRVp2Y2s1aFRsWmhiSFZsS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMkZ5Ym1Wa1JtOXlUbUZPVm1Gc2RXVWdQU0IwY25WbE8xeHVYRzRnSUNBZ1pYSnliM0lvSjJCT1lVNWdJR2x6SUdGdUlHbHVkbUZzYVdRZ2RtRnNkV1VnWm05eUlIUm9aU0JnSlhOZ0lHTnpjeUJ6ZEhsc1pTQndjbTl3WlhKMGVTNG5MQ0J1WVcxbEtUdGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2QyRnlibE4wZVd4bFZtRnNkV1ZKYzBsdVptbHVhWFI1SUQwZ1puVnVZM1JwYjI0Z0tHNWhiV1VzSUhaaGJIVmxLU0I3WEc0Z0lDQWdhV1lnS0hkaGNtNWxaRVp2Y2tsdVptbHVhWFI1Vm1Gc2RXVXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCM1lYSnVaV1JHYjNKSmJtWnBibWwwZVZaaGJIVmxJRDBnZEhKMVpUdGNibHh1SUNBZ0lHVnljbTl5S0NkZ1NXNW1hVzVwZEhsZ0lHbHpJR0Z1SUdsdWRtRnNhV1FnZG1Gc2RXVWdabTl5SUhSb1pTQmdKWE5nSUdOemN5QnpkSGxzWlNCd2NtOXdaWEowZVM0bkxDQnVZVzFsS1R0Y2JpQWdmVHRjYmx4dUlDQjNZWEp1Vm1Gc2FXUlRkSGxzWlNBOUlHWjFibU4wYVc5dUlDaHVZVzFsTENCMllXeDFaU2tnZTF4dUlDQWdJR2xtSUNodVlXMWxMbWx1WkdWNFQyWW9KeTBuS1NBK0lDMHhLU0I3WEc0Z0lDQWdJQ0IzWVhKdVNIbHdhR1Z1WVhSbFpGTjBlV3hsVG1GdFpTaHVZVzFsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dKaFpGWmxibVJ2Y21Wa1UzUjViR1ZPWVcxbFVHRjBkR1Z5Ymk1MFpYTjBLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQjNZWEp1UW1Ga1ZtVnVaRzl5WldSVGRIbHNaVTVoYldVb2JtRnRaU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2hpWVdSVGRIbHNaVlpoYkhWbFYybDBhRk5sYldsamIyeHZibEJoZEhSbGNtNHVkR1Z6ZENoMllXeDFaU2twSUh0Y2JpQWdJQ0FnSUhkaGNtNVRkSGxzWlZaaGJIVmxWMmwwYUZObGJXbGpiMnh2YmlodVlXMWxMQ0IyWVd4MVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjJZV3gxWlNBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJR2xtSUNocGMwNWhUaWgyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJQ0FnZDJGeWJsTjBlV3hsVm1Gc2RXVkpjMDVoVGlodVlXMWxMQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZwYzBacGJtbDBaU2gyWVd4MVpTa3BJSHRjYmlBZ0lDQWdJQ0FnZDJGeWJsTjBlV3hsVm1Gc2RXVkpjMGx1Wm1sdWFYUjVLRzVoYldVc0lIWmhiSFZsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUIzWVhKdVZtRnNhV1JUZEhsc1pTUXhJRDBnZDJGeWJsWmhiR2xrVTNSNWJHVTdYRzVjYmk4cUtseHVJQ29nVDNCbGNtRjBhVzl1Y3lCbWIzSWdaR1ZoYkdsdVp5QjNhWFJvSUVOVFV5QndjbTl3WlhKMGFXVnpMbHh1SUNvdlhHNWNiaThxS2x4dUlDb2dWR2hwY3lCamNtVmhkR1Z6SUdFZ2MzUnlhVzVuSUhSb1lYUWdhWE1nWlhod1pXTjBaV1FnZEc4Z1ltVWdaWEYxYVhaaGJHVnVkQ0IwYnlCMGFHVWdjM1I1YkdWY2JpQXFJR0YwZEhKcFluVjBaU0JuWlc1bGNtRjBaV1FnWW5rZ2MyVnlkbVZ5TFhOcFpHVWdjbVZ1WkdWeWFXNW5MaUJKZENCaWVTMXdZWE56WlhNZ2QyRnlibWx1WjNNZ1lXNWtYRzRnS2lCelpXTjFjbWwwZVNCamFHVmphM01nYzI4Z2FYUW5jeUJ1YjNRZ2MyRm1aU0IwYnlCMWMyVWdkR2hwY3lCMllXeDFaU0JtYjNJZ1lXNTVkR2hwYm1jZ2IzUm9aWElnZEdoaGJseHVJQ29nWTI5dGNHRnlhWE52Ymk0Z1NYUWdhWE1nYjI1c2VTQjFjMlZrSUdsdUlFUkZWaUJtYjNJZ1UxTlNJSFpoYkdsa1lYUnBiMjR1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSR0Z1WjJWeWIzVnpVM1J5YVc1blJtOXlVM1I1YkdWektITjBlV3hsY3lrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhObGNtbGhiR2w2WldRZ1BTQW5KenRjYmlBZ0lDQjJZWElnWkdWc2FXMXBkR1Z5SUQwZ0p5YzdYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnpkSGxzWlU1aGJXVWdhVzRnYzNSNWJHVnpLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lYTjBlV3hsY3k1b1lYTlBkMjVRY205d1pYSjBlU2h6ZEhsc1pVNWhiV1VwS1NCN1hHNGdJQ0FnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjJZWElnYzNSNWJHVldZV3gxWlNBOUlITjBlV3hsYzF0emRIbHNaVTVoYldWZE8xeHVYRzRnSUNBZ0lDQnBaaUFvYzNSNWJHVldZV3gxWlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwYzBOMWMzUnZiVkJ5YjNCbGNuUjVJRDBnYzNSNWJHVk9ZVzFsTG1sdVpHVjRUMllvSnkwdEp5a2dQVDA5SURBN1hHNGdJQ0FnSUNBZ0lITmxjbWxoYkdsNlpXUWdLejBnWkdWc2FXMXBkR1Z5SUNzZ0tHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrZ1B5QnpkSGxzWlU1aGJXVWdPaUJvZVhCb1pXNWhkR1ZUZEhsc1pVNWhiV1VvYzNSNWJHVk9ZVzFsS1NrZ0t5QW5PaWM3WEc0Z0lDQWdJQ0FnSUhObGNtbGhiR2w2WldRZ0t6MGdaR0Z1WjJWeWIzVnpVM1I1YkdWV1lXeDFaU2h6ZEhsc1pVNWhiV1VzSUhOMGVXeGxWbUZzZFdVc0lHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrcE8xeHVJQ0FnSUNBZ0lDQmtaV3hwYldsMFpYSWdQU0FuT3ljN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSE5sY21saGJHbDZaV1FnZkh3Z2JuVnNiRHRjYmlBZ2ZWeHVmVnh1THlvcVhHNGdLaUJUWlhSeklIUm9aU0IyWVd4MVpTQm1iM0lnYlhWc2RHbHdiR1VnYzNSNWJHVnpJRzl1SUdFZ2JtOWtaUzRnSUVsbUlHRWdkbUZzZFdVZ2FYTWdjM0JsWTJsbWFXVmtJR0Z6WEc0Z0tpQW5KeUFvWlcxd2RIa2djM1J5YVc1bktTd2dkR2hsSUdOdmNuSmxjM0J2Ym1ScGJtY2djM1I1YkdVZ2NISnZjR1Z5ZEhrZ2QybHNiQ0JpWlNCMWJuTmxkQzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlMFJQVFVWc1pXMWxiblI5SUc1dlpHVmNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J6ZEhsc1pYTmNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnpaWFJXWVd4MVpVWnZjbE4wZVd4bGN5aHViMlJsTENCemRIbHNaWE1wSUh0Y2JpQWdkbUZ5SUhOMGVXeGxJRDBnYm05a1pTNXpkSGxzWlR0Y2JseHVJQ0JtYjNJZ0tIWmhjaUJ6ZEhsc1pVNWhiV1VnYVc0Z2MzUjViR1Z6S1NCN1hHNGdJQ0FnYVdZZ0tDRnpkSGxzWlhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvYzNSNWJHVk9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrZ1BTQnpkSGxzWlU1aGJXVXVhVzVrWlhoUFppZ25MUzBuS1NBOVBUMGdNRHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNnaGFYTkRkWE4wYjIxUWNtOXdaWEowZVNrZ2UxeHVJQ0FnSUNBZ0lDQjNZWEp1Vm1Gc2FXUlRkSGxzWlNReEtITjBlV3hsVG1GdFpTd2djM1I1YkdWelczTjBlV3hsVG1GdFpWMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ6ZEhsc1pWWmhiSFZsSUQwZ1pHRnVaMlZ5YjNWelUzUjViR1ZXWVd4MVpTaHpkSGxzWlU1aGJXVXNJSE4wZVd4bGMxdHpkSGxzWlU1aGJXVmRMQ0JwYzBOMWMzUnZiVkJ5YjNCbGNuUjVLVHRjYmx4dUlDQWdJR2xtSUNoemRIbHNaVTVoYldVZ1BUMDlJQ2RtYkc5aGRDY3BJSHRjYmlBZ0lDQWdJSE4wZVd4bFRtRnRaU0E5SUNkamMzTkdiRzloZENjN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHbHpRM1Z6ZEc5dFVISnZjR1Z5ZEhrcElIdGNiaUFnSUNBZ0lITjBlV3hsTG5ObGRGQnliM0JsY25SNUtITjBlV3hsVG1GdFpTd2djM1I1YkdWV1lXeDFaU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lITjBlV3hsVzNOMGVXeGxUbUZ0WlYwZ1BTQnpkSGxzWlZaaGJIVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFaaGJIVmxSVzF3ZEhrb2RtRnNkV1VwSUh0Y2JpQWdjbVYwZFhKdUlIWmhiSFZsSUQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUhaaGJIVmxJRDA5UFNBblltOXZiR1ZoYmljZ2ZId2dkbUZzZFdVZ1BUMDlJQ2NuTzF4dWZWeHVMeW9xWEc0Z0tpQkhhWFpsYmlCN1kyOXNiM0k2SUNkeVpXUW5MQ0J2ZG1WeVpteHZkem9nSjJocFpHUmxiaWQ5SUhKbGRIVnlibk1nZTF4dUlDb2dJQ0JqYjJ4dmNqb2dKMk52Ykc5eUp5eGNiaUFxSUNBZ2IzWmxjbVpzYjNkWU9pQW5iM1psY21ac2IzY25MRnh1SUNvZ0lDQnZkbVZ5Wm14dmQxazZJQ2R2ZG1WeVpteHZkeWNzWEc0Z0tpQjlMaUJVYUdseklHTmhiaUJpWlNCeVpXRmtJR0Z6SUZ3aWRHaGxJRzkyWlhKbWJHOTNXU0J3Y205d1pYSjBlU0IzWVhNZ2MyVjBJR0o1SUhSb1pTQnZkbVZ5Wm14dmQxeHVJQ29nYzJodmNuUm9ZVzVrWENJdUlGUm9ZWFFnYVhNc0lIUm9aU0IyWVd4MVpYTWdZWEpsSUhSb1pTQndjbTl3WlhKMGVTQjBhR0YwSUdWaFkyZ2dkMkZ6SUdSbGNtbDJaV1FnWm5KdmJTNWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR1Y0Y0dGdVpGTm9iM0owYUdGdVpFMWhjQ2h6ZEhsc1pYTXBJSHRjYmlBZ2RtRnlJR1Y0Y0dGdVpHVmtJRDBnZTMwN1hHNWNiaUFnWm05eUlDaDJZWElnYTJWNUlHbHVJSE4wZVd4bGN5a2dlMXh1SUNBZ0lIWmhjaUJzYjI1bmFHRnVaSE1nUFNCemFHOXlkR2hoYm1SVWIweHZibWRvWVc1a1cydGxlVjBnZkh3Z1cydGxlVjA3WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUd4dmJtZG9ZVzVrY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdaWGh3WVc1a1pXUmJiRzl1WjJoaGJtUnpXMmxkWFNBOUlHdGxlVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdaWGh3WVc1a1pXUTdYRzU5WEc0dktpcGNiaUFxSUZkb1pXNGdiV2w0YVc1bklITm9iM0owYUdGdVpDQmhibVFnYkc5dVoyaGhibVFnY0hKdmNHVnlkSGtnYm1GdFpYTXNJSGRsSUhkaGNtNGdaSFZ5YVc1bklIVndaR0YwWlhNZ2FXWmNiaUFxSUhkbElHVjRjR1ZqZENCaGJpQnBibU52Y25KbFkzUWdjbVZ6ZFd4MElIUnZJRzlqWTNWeUxpQkpiaUJ3WVhKMGFXTjFiR0Z5TENCM1pTQjNZWEp1SUdadmNqcGNiaUFxWEc0Z0tpQlZjR1JoZEdsdVp5QmhJSE5vYjNKMGFHRnVaQ0J3Y205d1pYSjBlU0FvYkc5dVoyaGhibVFnWjJWMGN5QnZkbVZ5ZDNKcGRIUmxiaWs2WEc0Z0tpQWdJSHRtYjI1ME9pQW5abTl2Snl3Z1ptOXVkRlpoY21saGJuUTZJQ2RpWVhJbmZTQXRQaUI3Wm05dWREb2dKMkpoZWljc0lHWnZiblJXWVhKcFlXNTBPaUFuWW1GeUozMWNiaUFxSUNBZ1ltVmpiMjFsY3lBdWMzUjViR1V1Wm05dWRDQTlJQ2RpWVhvblhHNGdLaUJTWlcxdmRtbHVaeUJoSUhOb2IzSjBhR0Z1WkNCd2NtOXdaWEowZVNBb2JHOXVaMmhoYm1RZ1oyVjBjeUJzYjNOMElIUnZieWs2WEc0Z0tpQWdJSHRtYjI1ME9pQW5abTl2Snl3Z1ptOXVkRlpoY21saGJuUTZJQ2RpWVhJbmZTQXRQaUI3Wm05dWRGWmhjbWxoYm5RNklDZGlZWEluZlZ4dUlDb2dJQ0JpWldOdmJXVnpJQzV6ZEhsc1pTNW1iMjUwSUQwZ0p5ZGNiaUFxSUZKbGJXOTJhVzVuSUdFZ2JHOXVaMmhoYm1RZ2NISnZjR1Z5ZEhrZ0tITm9iM1ZzWkNCeVpYWmxjblFnZEc4Z2MyaHZjblJvWVc1a095QmtiMlZ6YmlkMEtUcGNiaUFxSUNBZ2UyWnZiblE2SUNkbWIyOG5MQ0JtYjI1MFZtRnlhV0Z1ZERvZ0oySmhjaWQ5SUMwK0lIdG1iMjUwT2lBblptOXZKMzFjYmlBcUlDQWdZbVZqYjIxbGN5QXVjM1I1YkdVdVptOXVkRlpoY21saGJuUWdQU0FuSjF4dUlDb3ZYRzVjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGFHOXlkR2hoYm1SUWNtOXdaWEowZVVOdmJHeHBjMmx2YmtsdVJHVjJLSE4wZVd4bFZYQmtZWFJsY3l3Z2JtVjRkRk4wZVd4bGN5a2dlMXh1SUNCN1hHNWNiaUFnSUNCcFppQW9JVzVsZUhSVGRIbHNaWE1wSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWlhod1lXNWtaV1JWY0dSaGRHVnpJRDBnWlhod1lXNWtVMmh2Y25Sb1lXNWtUV0Z3S0hOMGVXeGxWWEJrWVhSbGN5azdYRzRnSUNBZ2RtRnlJR1Y0Y0dGdVpHVmtVM1I1YkdWeklEMGdaWGh3WVc1a1UyaHZjblJvWVc1a1RXRndLRzVsZUhSVGRIbHNaWE1wTzF4dUlDQWdJSFpoY2lCM1lYSnVaV1JCWW05MWRDQTlJSHQ5TzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYTJWNUlHbHVJR1Y0Y0dGdVpHVmtWWEJrWVhSbGN5a2dlMXh1SUNBZ0lDQWdkbUZ5SUc5eWFXZHBibUZzUzJWNUlEMGdaWGh3WVc1a1pXUlZjR1JoZEdWelcydGxlVjA3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXljbVZqZEU5eWFXZHBibUZzUzJWNUlEMGdaWGh3WVc1a1pXUlRkSGxzWlhOYmEyVjVYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHTnZjbkpsWTNSUGNtbG5hVzVoYkV0bGVTQW1KaUJ2Y21sbmFXNWhiRXRsZVNBaFBUMGdZMjl5Y21WamRFOXlhV2RwYm1Gc1MyVjVLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQjNZWEp1YVc1blMyVjVJRDBnYjNKcFoybHVZV3hMWlhrZ0t5QW5MQ2NnS3lCamIzSnlaV04wVDNKcFoybHVZV3hMWlhrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0hkaGNtNWxaRUZpYjNWMFczZGhjbTVwYm1kTFpYbGRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0IzWVhKdVpXUkJZbTkxZEZ0M1lYSnVhVzVuUzJWNVhTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdaWEp5YjNJb0p5VnpJR0VnYzNSNWJHVWdjSEp2Y0dWeWRIa2daSFZ5YVc1bklISmxjbVZ1WkdWeUlDZ2xjeWtnZDJobGJpQmhJQ2NnS3lBblkyOXVabXhwWTNScGJtY2djSEp2Y0dWeWRIa2dhWE1nYzJWMElDZ2xjeWtnWTJGdUlHeGxZV1FnZEc4Z2MzUjViR2x1WnlCaWRXZHpMaUJVYnlBbklDc2dYQ0poZG05cFpDQjBhR2x6TENCa2IyNG5kQ0J0YVhnZ2MyaHZjblJvWVc1a0lHRnVaQ0J1YjI0dGMyaHZjblJvWVc1a0lIQnliM0JsY25ScFpYTWdYQ0lnS3lBblptOXlJSFJvWlNCellXMWxJSFpoYkhWbE95QnBibk4wWldGa0xDQnlaWEJzWVdObElIUm9aU0J6YUc5eWRHaGhibVFnZDJsMGFDQW5JQ3NnSjNObGNHRnlZWFJsSUhaaGJIVmxjeTRuTENCcGMxWmhiSFZsUlcxd2RIa29jM1I1YkdWVmNHUmhkR1Z6VzI5eWFXZHBibUZzUzJWNVhTa2dQeUFuVW1WdGIzWnBibWNuSURvZ0oxVndaR0YwYVc1bkp5d2diM0pwWjJsdVlXeExaWGtzSUdOdmNuSmxZM1JQY21sbmFXNWhiRXRsZVNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JpOHZJRVp2Y2lCSVZFMU1MQ0JqWlhKMFlXbHVJSFJoWjNNZ2MyaHZkV3hrSUc5dGFYUWdkR2hsYVhJZ1kyeHZjMlVnZEdGbkxpQlhaU0JyWldWd0lHRWdkMmhwZEdWc2FYTjBJR1p2Y2x4dUx5OGdkR2h2YzJVZ2MzQmxZMmxoYkMxallYTmxJSFJoWjNNdVhHNTJZWElnYjIxcGRIUmxaRU5zYjNObFZHRm5jeUE5SUh0Y2JpQWdZWEpsWVRvZ2RISjFaU3hjYmlBZ1ltRnpaVG9nZEhKMVpTeGNiaUFnWW5JNklIUnlkV1VzWEc0Z0lHTnZiRG9nZEhKMVpTeGNiaUFnWlcxaVpXUTZJSFJ5ZFdVc1hHNGdJR2h5T2lCMGNuVmxMRnh1SUNCcGJXYzZJSFJ5ZFdVc1hHNGdJR2x1Y0hWME9pQjBjblZsTEZ4dUlDQnJaWGxuWlc0NklIUnlkV1VzWEc0Z0lHeHBibXM2SUhSeWRXVXNYRzRnSUcxbGRHRTZJSFJ5ZFdVc1hHNGdJSEJoY21GdE9pQjBjblZsTEZ4dUlDQnpiM1Z5WTJVNklIUnlkV1VzWEc0Z0lIUnlZV05yT2lCMGNuVmxMRnh1SUNCM1luSTZJSFJ5ZFdVZ0x5OGdUazlVUlRvZ2JXVnVkV2wwWlcwbmN5QmpiRzl6WlNCMFlXY2djMmh2ZFd4a0lHSmxJRzl0YVhSMFpXUXNJR0oxZENCMGFHRjBJR05oZFhObGN5QndjbTlpYkdWdGN5NWNibHh1ZlR0Y2JseHVMeThnWUc5dGFYUjBaV1JEYkc5elpWUmhaM05nSUdWNFkyVndkQ0IwYUdGMElHQnRaVzUxYVhSbGJXQWdjMmh2ZFd4a0lITjBhV3hzSUdoaGRtVWdhWFJ6SUdOc2IzTnBibWNnZEdGbkxseHVYRzUyWVhJZ2RtOXBaRVZzWlcxbGJuUlVZV2R6SUQwZ1gyRnpjMmxuYmloN1hHNGdJRzFsYm5WcGRHVnRPaUIwY25WbFhHNTlMQ0J2YldsMGRHVmtRMnh2YzJWVVlXZHpLVHRjYmx4dWRtRnlJRWhVVFV3Z1BTQW5YMTlvZEcxc0p6dGNiblpoY2lCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxKRE1nUFNCdWRXeHNPMXh1WEc1N1hHNGdJRkpsWVdOMFJHVmlkV2REZFhKeVpXNTBSbkpoYldVa015QTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRnpjMlZ5ZEZaaGJHbGtVSEp2Y0hNb2RHRm5MQ0J3Y205d2N5a2dlMXh1SUNCcFppQW9JWEJ5YjNCektTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlJQzh2SUU1dmRHVWdkR2hsSUhWelpTQnZaaUJnUFQxZ0lIZG9hV05vSUdOb1pXTnJjeUJtYjNJZ2JuVnNiQ0J2Y2lCMWJtUmxabWx1WldRdVhHNWNibHh1SUNCcFppQW9kbTlwWkVWc1pXMWxiblJVWVdkelczUmhaMTBwSUh0Y2JpQWdJQ0JwWmlBb0lTaHdjbTl3Y3k1amFHbHNaSEpsYmlBOVBTQnVkV3hzSUNZbUlIQnliM0J6TG1SaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1JRDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQjBZV2NnS3lCY0lpQnBjeUJoSUhadmFXUWdaV3hsYldWdWRDQjBZV2NnWVc1a0lHMTFjM1FnYm1WcGRHaGxjaUJvWVhabElHQmphR2xzWkhKbGJtQWdibTl5SUhWelpTQmdaR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV4Z0xsd2lJQ3NnS0NCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxKRE11WjJWMFUzUmhZMnRCWkdSbGJtUjFiU2dwSUNrZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnBaaUFvY0hKdmNITXVaR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV3Z0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDZ2hLSEJ5YjNCekxtTm9hV3hrY21WdUlEMDlJRzUxYkd3cEtTQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrTmhiaUJ2Ym14NUlITmxkQ0J2Ym1VZ2IyWWdZR05vYVd4a2NtVnVZQ0J2Y2lCZ2NISnZjSE11WkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVeGdMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tDRW9kSGx3Wlc5bUlIQnliM0J6TG1SaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1JRDA5UFNBbmIySnFaV04wSnlBbUppQklWRTFNSUdsdUlIQnliM0J6TG1SaGJtZGxjbTkxYzJ4NVUyVjBTVzV1WlhKSVZFMU1LU2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pnY0hKdmNITXVaR0Z1WjJWeWIzVnpiSGxUWlhSSmJtNWxja2hVVFV4Z0lHMTFjM1FnWW1VZ2FXNGdkR2hsSUdadmNtMGdZSHRmWDJoMGJXdzZJQzR1TG4xZ0xpQlFiR1ZoYzJVZ2RtbHphWFFnYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxcGJuWmhjbWxoYm5RdFpHRnVaMlZ5YjNWemJIa3RjMlYwTFdsdWJtVnlMV2gwYld3Z1ptOXlJRzF2Y21VZ2FXNW1iM0p0WVhScGIyNHVYQ0lnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCN1hHNGdJQ0FnYVdZZ0tDRndjbTl3Y3k1emRYQndjbVZ6YzBOdmJuUmxiblJGWkdsMFlXSnNaVmRoY201cGJtY2dKaVlnY0hKdmNITXVZMjl1ZEdWdWRFVmthWFJoWW14bElDWW1JSEJ5YjNCekxtTm9hV3hrY21WdUlDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkQklHTnZiWEJ2Ym1WdWRDQnBjeUJnWTI5dWRHVnVkRVZrYVhSaFlteGxZQ0JoYm1RZ1kyOXVkR0ZwYm5NZ1lHTm9hV3hrY21WdVlDQnRZVzVoWjJWa0lHSjVJQ2NnS3lBblVtVmhZM1F1SUVsMElHbHpJRzV2ZHlCNWIzVnlJSEpsYzNCdmJuTnBZbWxzYVhSNUlIUnZJR2QxWVhKaGJuUmxaU0IwYUdGMElHNXZibVVnYjJZZ0p5QXJJQ2QwYUc5elpTQnViMlJsY3lCaGNtVWdkVzVsZUhCbFkzUmxaR3g1SUcxdlpHbG1hV1ZrSUc5eUlHUjFjR3hwWTJGMFpXUXVJRlJvYVhNZ2FYTWdKeUFySUNkd2NtOWlZV0pzZVNCdWIzUWdhVzUwWlc1MGFXOXVZV3d1SnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2FXWWdLQ0VvY0hKdmNITXVjM1I1YkdVZ1BUMGdiblZzYkNCOGZDQjBlWEJsYjJZZ2NISnZjSE11YzNSNWJHVWdQVDA5SUNkdlltcGxZM1FuS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbFJvWlNCZ2MzUjViR1ZnSUhCeWIzQWdaWGh3WldOMGN5QmhJRzFoY0hCcGJtY2dabkp2YlNCemRIbHNaU0J3Y205d1pYSjBhV1Z6SUhSdklIWmhiSFZsY3l3Z2JtOTBJR0VnYzNSeWFXNW5MaUJHYjNJZ1pYaGhiWEJzWlN3Z2MzUjViR1U5ZTN0dFlYSm5hVzVTYVdkb2REb2djM0JoWTJsdVp5QXJJQ2RsYlNkOWZTQjNhR1Z1SUhWemFXNW5JRXBUV0M1Y0lpQXJJQ2dnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTUXpMbWRsZEZOMFlXTnJRV1JrWlc1a2RXMG9LU0FwSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MEtIUmhaMDVoYldVc0lIQnliM0J6S1NCN1hHNGdJR2xtSUNoMFlXZE9ZVzFsTG1sdVpHVjRUMllvSnkwbktTQTlQVDBnTFRFcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhsd1pXOW1JSEJ5YjNCekxtbHpJRDA5UFNBbmMzUnlhVzVuSnp0Y2JpQWdmVnh1WEc0Z0lITjNhWFJqYUNBb2RHRm5UbUZ0WlNrZ2UxeHVJQ0FnSUM4dklGUm9aWE5sSUdGeVpTQnlaWE5sY25abFpDQlRWa2NnWVc1a0lFMWhkR2hOVENCbGJHVnRaVzUwY3k1Y2JpQWdJQ0F2THlCWFpTQmtiMjRuZENCdGFXNWtJSFJvYVhNZ2QyaHBkR1ZzYVhOMElIUnZieUJ0ZFdOb0lHSmxZMkYxYzJVZ2QyVWdaWGh3WldOMElHbDBJSFJ2SUc1bGRtVnlJR2R5YjNjdVhHNGdJQ0FnTHk4Z1ZHaGxJR0ZzZEdWeWJtRjBhWFpsSUdseklIUnZJSFJ5WVdOcklIUm9aU0J1WVcxbGMzQmhZMlVnYVc0Z1lTQm1aWGNnY0d4aFkyVnpJSGRvYVdOb0lHbHpJR052Ym5admJIVjBaV1F1WEc0Z0lDQWdMeThnYUhSMGNITTZMeTkzTTJNdVoybDBhSFZpTG1sdkwzZGxZbU52YlhCdmJtVnVkSE12YzNCbFl5OWpkWE4wYjIwdkkyTjFjM1J2YlMxbGJHVnRaVzUwY3kxamIzSmxMV052Ym1ObGNIUnpYRzRnSUNBZ1kyRnpaU0FuWVc1dWIzUmhkR2x2YmkxNGJXd25PbHh1SUNBZ0lHTmhjMlVnSjJOdmJHOXlMWEJ5YjJacGJHVW5PbHh1SUNBZ0lHTmhjMlVnSjJadmJuUXRabUZqWlNjNlhHNGdJQ0FnWTJGelpTQW5abTl1ZEMxbVlXTmxMWE55WXljNlhHNGdJQ0FnWTJGelpTQW5abTl1ZEMxbVlXTmxMWFZ5YVNjNlhHNGdJQ0FnWTJGelpTQW5abTl1ZEMxbVlXTmxMV1p2Y20xaGRDYzZYRzRnSUNBZ1kyRnpaU0FuWm05dWRDMW1ZV05sTFc1aGJXVW5PbHh1SUNBZ0lHTmhjMlVnSjIxcGMzTnBibWN0WjJ4NWNHZ25PbHh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQjlYRzU5WEc1Y2JpOHZJRmRvWlc0Z1lXUmthVzVuSUdGMGRISnBZblYwWlhNZ2RHOGdkR2hsSUVoVVRVd2diM0lnVTFaSElIZG9hWFJsYkdsemRDd2dZbVVnYzNWeVpTQjBiMXh1THk4Z1lXeHpieUJoWkdRZ2RHaGxiU0IwYnlCMGFHbHpJRzF2WkhWc1pTQjBieUJsYm5OMWNtVWdZMkZ6YVc1bklHRnVaQ0JwYm1OdmNuSmxZM1FnYm1GdFpWeHVMeThnZDJGeWJtbHVaM011WEc1MllYSWdjRzl6YzJsaWJHVlRkR0Z1WkdGeVpFNWhiV1Z6SUQwZ2UxeHVJQ0F2THlCSVZFMU1YRzRnSUdGalkyVndkRG9nSjJGalkyVndkQ2NzWEc0Z0lHRmpZMlZ3ZEdOb1lYSnpaWFE2SUNkaFkyTmxjSFJEYUdGeWMyVjBKeXhjYmlBZ0oyRmpZMlZ3ZEMxamFHRnljMlYwSnpvZ0oyRmpZMlZ3ZEVOb1lYSnpaWFFuTEZ4dUlDQmhZMk5sYzNOclpYazZJQ2RoWTJObGMzTkxaWGtuTEZ4dUlDQmhZM1JwYjI0NklDZGhZM1JwYjI0bkxGeHVJQ0JoYkd4dmQyWjFiR3h6WTNKbFpXNDZJQ2RoYkd4dmQwWjFiR3hUWTNKbFpXNG5MRnh1SUNCaGJIUTZJQ2RoYkhRbkxGeHVJQ0JoY3pvZ0oyRnpKeXhjYmlBZ1lYTjVibU02SUNkaGMzbHVZeWNzWEc0Z0lHRjFkRzlqWVhCcGRHRnNhWHBsT2lBbllYVjBiME5oY0dsMFlXeHBlbVVuTEZ4dUlDQmhkWFJ2WTI5dGNHeGxkR1U2SUNkaGRYUnZRMjl0Y0d4bGRHVW5MRnh1SUNCaGRYUnZZMjl5Y21WamREb2dKMkYxZEc5RGIzSnlaV04wSnl4Y2JpQWdZWFYwYjJadlkzVnpPaUFuWVhWMGIwWnZZM1Z6Snl4Y2JpQWdZWFYwYjNCc1lYazZJQ2RoZFhSdlVHeGhlU2NzWEc0Z0lHRjFkRzl6WVhabE9pQW5ZWFYwYjFOaGRtVW5MRnh1SUNCallYQjBkWEpsT2lBblkyRndkSFZ5WlNjc1hHNGdJR05sYkd4d1lXUmthVzVuT2lBblkyVnNiRkJoWkdScGJtY25MRnh1SUNCalpXeHNjM0JoWTJsdVp6b2dKMk5sYkd4VGNHRmphVzVuSnl4Y2JpQWdZMmhoYkd4bGJtZGxPaUFuWTJoaGJHeGxibWRsSnl4Y2JpQWdZMmhoY25ObGREb2dKMk5vWVhKVFpYUW5MRnh1SUNCamFHVmphMlZrT2lBblkyaGxZMnRsWkNjc1hHNGdJR05vYVd4a2NtVnVPaUFuWTJocGJHUnlaVzRuTEZ4dUlDQmphWFJsT2lBblkybDBaU2NzWEc0Z0lHTnNZWE56T2lBblkyeGhjM05PWVcxbEp5eGNiaUFnWTJ4aGMzTnBaRG9nSjJOc1lYTnpTVVFuTEZ4dUlDQmpiR0Z6YzI1aGJXVTZJQ2RqYkdGemMwNWhiV1VuTEZ4dUlDQmpiMnh6T2lBblkyOXNjeWNzWEc0Z0lHTnZiSE53WVc0NklDZGpiMnhUY0dGdUp5eGNiaUFnWTI5dWRHVnVkRG9nSjJOdmJuUmxiblFuTEZ4dUlDQmpiMjUwWlc1MFpXUnBkR0ZpYkdVNklDZGpiMjUwWlc1MFJXUnBkR0ZpYkdVbkxGeHVJQ0JqYjI1MFpYaDBiV1Z1ZFRvZ0oyTnZiblJsZUhSTlpXNTFKeXhjYmlBZ1kyOXVkSEp2YkhNNklDZGpiMjUwY205c2N5Y3NYRzRnSUdOdmJuUnliMnh6YkdsemREb2dKMk52Ym5SeWIyeHpUR2x6ZENjc1hHNGdJR052YjNKa2N6b2dKMk52YjNKa2N5Y3NYRzRnSUdOeWIzTnpiM0pwWjJsdU9pQW5ZM0p2YzNOUGNtbG5hVzRuTEZ4dUlDQmtZVzVuWlhKdmRYTnNlWE5sZEdsdWJtVnlhSFJ0YkRvZ0oyUmhibWRsY205MWMyeDVVMlYwU1c1dVpYSklWRTFNSnl4Y2JpQWdaR0YwWVRvZ0oyUmhkR0VuTEZ4dUlDQmtZWFJsZEdsdFpUb2dKMlJoZEdWVWFXMWxKeXhjYmlBZ1pHVm1ZWFZzZERvZ0oyUmxabUYxYkhRbkxGeHVJQ0JrWldaaGRXeDBZMmhsWTJ0bFpEb2dKMlJsWm1GMWJIUkRhR1ZqYTJWa0p5eGNiaUFnWkdWbVlYVnNkSFpoYkhWbE9pQW5aR1ZtWVhWc2RGWmhiSFZsSnl4Y2JpQWdaR1ZtWlhJNklDZGtaV1psY2ljc1hHNGdJR1JwY2pvZ0oyUnBjaWNzWEc0Z0lHUnBjMkZpYkdWa09pQW5aR2x6WVdKc1pXUW5MRnh1SUNCa2FYTmhZbXhsY0dsamRIVnlaV2x1Y0dsamRIVnlaVG9nSjJScGMyRmliR1ZRYVdOMGRYSmxTVzVRYVdOMGRYSmxKeXhjYmlBZ1pHOTNibXh2WVdRNklDZGtiM2R1Ykc5aFpDY3NYRzRnSUdSeVlXZG5ZV0pzWlRvZ0oyUnlZV2RuWVdKc1pTY3NYRzRnSUdWdVkzUjVjR1U2SUNkbGJtTlVlWEJsSnl4Y2JpQWdabTl5T2lBbmFIUnRiRVp2Y2ljc1hHNGdJR1p2Y20wNklDZG1iM0p0Snl4Y2JpQWdabTl5YlcxbGRHaHZaRG9nSjJadmNtMU5aWFJvYjJRbkxGeHVJQ0JtYjNKdFlXTjBhVzl1T2lBblptOXliVUZqZEdsdmJpY3NYRzRnSUdadmNtMWxibU4wZVhCbE9pQW5abTl5YlVWdVkxUjVjR1VuTEZ4dUlDQm1iM0p0Ym05MllXeHBaR0YwWlRvZ0oyWnZjbTFPYjFaaGJHbGtZWFJsSnl4Y2JpQWdabTl5YlhSaGNtZGxkRG9nSjJadmNtMVVZWEpuWlhRbkxGeHVJQ0JtY21GdFpXSnZjbVJsY2pvZ0oyWnlZVzFsUW05eVpHVnlKeXhjYmlBZ2FHVmhaR1Z5Y3pvZ0oyaGxZV1JsY25NbkxGeHVJQ0JvWldsbmFIUTZJQ2RvWldsbmFIUW5MRnh1SUNCb2FXUmtaVzQ2SUNkb2FXUmtaVzRuTEZ4dUlDQm9hV2RvT2lBbmFHbG5hQ2NzWEc0Z0lHaHlaV1k2SUNkb2NtVm1KeXhjYmlBZ2FISmxabXhoYm1jNklDZG9jbVZtVEdGdVp5Y3NYRzRnSUdoMGJXeG1iM0k2SUNkb2RHMXNSbTl5Snl4Y2JpQWdhSFIwY0dWeGRXbDJPaUFuYUhSMGNFVnhkV2wySnl4Y2JpQWdKMmgwZEhBdFpYRjFhWFluT2lBbmFIUjBjRVZ4ZFdsMkp5eGNiaUFnYVdOdmJqb2dKMmxqYjI0bkxGeHVJQ0JwWkRvZ0oybGtKeXhjYmlBZ2FXNXVaWEpvZEcxc09pQW5hVzV1WlhKSVZFMU1KeXhjYmlBZ2FXNXdkWFJ0YjJSbE9pQW5hVzV3ZFhSTmIyUmxKeXhjYmlBZ2FXNTBaV2R5YVhSNU9pQW5hVzUwWldkeWFYUjVKeXhjYmlBZ2FYTTZJQ2RwY3ljc1hHNGdJR2wwWlcxcFpEb2dKMmwwWlcxSlJDY3NYRzRnSUdsMFpXMXdjbTl3T2lBbmFYUmxiVkJ5YjNBbkxGeHVJQ0JwZEdWdGNtVm1PaUFuYVhSbGJWSmxaaWNzWEc0Z0lHbDBaVzF6WTI5d1pUb2dKMmwwWlcxVFkyOXdaU2NzWEc0Z0lHbDBaVzEwZVhCbE9pQW5hWFJsYlZSNWNHVW5MRnh1SUNCclpYbHdZWEpoYlhNNklDZHJaWGxRWVhKaGJYTW5MRnh1SUNCclpYbDBlWEJsT2lBbmEyVjVWSGx3WlNjc1hHNGdJR3RwYm1RNklDZHJhVzVrSnl4Y2JpQWdiR0ZpWld3NklDZHNZV0psYkNjc1hHNGdJR3hoYm1jNklDZHNZVzVuSnl4Y2JpQWdiR2x6ZERvZ0oyeHBjM1FuTEZ4dUlDQnNiMjl3T2lBbmJHOXZjQ2NzWEc0Z0lHeHZkem9nSjJ4dmR5Y3NYRzRnSUcxaGJtbG1aWE4wT2lBbmJXRnVhV1psYzNRbkxGeHVJQ0J0WVhKbmFXNTNhV1IwYURvZ0oyMWhjbWRwYmxkcFpIUm9KeXhjYmlBZ2JXRnlaMmx1YUdWcFoyaDBPaUFuYldGeVoybHVTR1ZwWjJoMEp5eGNiaUFnYldGNE9pQW5iV0Y0Snl4Y2JpQWdiV0Y0YkdWdVozUm9PaUFuYldGNFRHVnVaM1JvSnl4Y2JpQWdiV1ZrYVdFNklDZHRaV1JwWVNjc1hHNGdJRzFsWkdsaFozSnZkWEE2SUNkdFpXUnBZVWR5YjNWd0p5eGNiaUFnYldWMGFHOWtPaUFuYldWMGFHOWtKeXhjYmlBZ2JXbHVPaUFuYldsdUp5eGNiaUFnYldsdWJHVnVaM1JvT2lBbmJXbHVUR1Z1WjNSb0p5eGNiaUFnYlhWc2RHbHdiR1U2SUNkdGRXeDBhWEJzWlNjc1hHNGdJRzExZEdWa09pQW5iWFYwWldRbkxGeHVJQ0J1WVcxbE9pQW5ibUZ0WlNjc1hHNGdJRzV2Ylc5a2RXeGxPaUFuYm05TmIyUjFiR1VuTEZ4dUlDQnViMjVqWlRvZ0oyNXZibU5sSnl4Y2JpQWdibTkyWVd4cFpHRjBaVG9nSjI1dlZtRnNhV1JoZEdVbkxGeHVJQ0J2Y0dWdU9pQW5iM0JsYmljc1hHNGdJRzl3ZEdsdGRXMDZJQ2R2Y0hScGJYVnRKeXhjYmlBZ2NHRjBkR1Z5YmpvZ0ozQmhkSFJsY200bkxGeHVJQ0J3YkdGalpXaHZiR1JsY2pvZ0ozQnNZV05sYUc5c1pHVnlKeXhjYmlBZ2NHeGhlWE5wYm14cGJtVTZJQ2R3YkdGNWMwbHViR2x1WlNjc1hHNGdJSEJ2YzNSbGNqb2dKM0J2YzNSbGNpY3NYRzRnSUhCeVpXeHZZV1E2SUNkd2NtVnNiMkZrSnl4Y2JpQWdjSEp2Wm1sc1pUb2dKM0J5YjJacGJHVW5MRnh1SUNCeVlXUnBiMmR5YjNWd09pQW5jbUZrYVc5SGNtOTFjQ2NzWEc0Z0lISmxZV1J2Ym14NU9pQW5jbVZoWkU5dWJIa25MRnh1SUNCeVpXWmxjbkpsY25CdmJHbGplVG9nSjNKbFptVnljbVZ5VUc5c2FXTjVKeXhjYmlBZ2NtVnNPaUFuY21Wc0p5eGNiaUFnY21WeGRXbHlaV1E2SUNkeVpYRjFhWEpsWkNjc1hHNGdJSEpsZG1WeWMyVmtPaUFuY21WMlpYSnpaV1FuTEZ4dUlDQnliMnhsT2lBbmNtOXNaU2NzWEc0Z0lISnZkM002SUNkeWIzZHpKeXhjYmlBZ2NtOTNjM0JoYmpvZ0ozSnZkMU53WVc0bkxGeHVJQ0J6WVc1a1ltOTRPaUFuYzJGdVpHSnZlQ2NzWEc0Z0lITmpiM0JsT2lBbmMyTnZjR1VuTEZ4dUlDQnpZMjl3WldRNklDZHpZMjl3WldRbkxGeHVJQ0J6WTNKdmJHeHBibWM2SUNkelkzSnZiR3hwYm1jbkxGeHVJQ0J6WldGdGJHVnpjem9nSjNObFlXMXNaWE56Snl4Y2JpQWdjMlZzWldOMFpXUTZJQ2R6Wld4bFkzUmxaQ2NzWEc0Z0lITm9ZWEJsT2lBbmMyaGhjR1VuTEZ4dUlDQnphWHBsT2lBbmMybDZaU2NzWEc0Z0lITnBlbVZ6T2lBbmMybDZaWE1uTEZ4dUlDQnpjR0Z1T2lBbmMzQmhiaWNzWEc0Z0lITndaV3hzWTJobFkyczZJQ2R6Y0dWc2JFTm9aV05ySnl4Y2JpQWdjM0pqT2lBbmMzSmpKeXhjYmlBZ2MzSmpaRzlqT2lBbmMzSmpSRzlqSnl4Y2JpQWdjM0pqYkdGdVp6b2dKM055WTB4aGJtY25MRnh1SUNCemNtTnpaWFE2SUNkemNtTlRaWFFuTEZ4dUlDQnpkR0Z5ZERvZ0ozTjBZWEowSnl4Y2JpQWdjM1JsY0RvZ0ozTjBaWEFuTEZ4dUlDQnpkSGxzWlRvZ0ozTjBlV3hsSnl4Y2JpQWdjM1Z0YldGeWVUb2dKM04xYlcxaGNua25MRnh1SUNCMFlXSnBibVJsZURvZ0ozUmhZa2x1WkdWNEp5eGNiaUFnZEdGeVoyVjBPaUFuZEdGeVoyVjBKeXhjYmlBZ2RHbDBiR1U2SUNkMGFYUnNaU2NzWEc0Z0lIUjVjR1U2SUNkMGVYQmxKeXhjYmlBZ2RYTmxiV0Z3T2lBbmRYTmxUV0Z3Snl4Y2JpQWdkbUZzZFdVNklDZDJZV3gxWlNjc1hHNGdJSGRwWkhSb09pQW5kMmxrZEdnbkxGeHVJQ0IzYlc5a1pUb2dKM2R0YjJSbEp5eGNiaUFnZDNKaGNEb2dKM2R5WVhBbkxGeHVJQ0F2THlCVFZrZGNiaUFnWVdKdmRYUTZJQ2RoWW05MWRDY3NYRzRnSUdGalkyVnVkR2hsYVdkb2REb2dKMkZqWTJWdWRFaGxhV2RvZENjc1hHNGdJQ2RoWTJObGJuUXRhR1ZwWjJoMEp6b2dKMkZqWTJWdWRFaGxhV2RvZENjc1hHNGdJR0ZqWTNWdGRXeGhkR1U2SUNkaFkyTjFiWFZzWVhSbEp5eGNiaUFnWVdSa2FYUnBkbVU2SUNkaFpHUnBkR2wyWlNjc1hHNGdJR0ZzYVdkdWJXVnVkR0poYzJWc2FXNWxPaUFuWVd4cFoyNXRaVzUwUW1GelpXeHBibVVuTEZ4dUlDQW5ZV3hwWjI1dFpXNTBMV0poYzJWc2FXNWxKem9nSjJGc2FXZHViV1Z1ZEVKaGMyVnNhVzVsSnl4Y2JpQWdZV3hzYjNkeVpXOXlaR1Z5T2lBbllXeHNiM2RTWlc5eVpHVnlKeXhjYmlBZ1lXeHdhR0ZpWlhScFl6b2dKMkZzY0doaFltVjBhV01uTEZ4dUlDQmhiWEJzYVhSMVpHVTZJQ2RoYlhCc2FYUjFaR1VuTEZ4dUlDQmhjbUZpYVdObWIzSnRPaUFuWVhKaFltbGpSbTl5YlNjc1hHNGdJQ2RoY21GaWFXTXRabTl5YlNjNklDZGhjbUZpYVdOR2IzSnRKeXhjYmlBZ1lYTmpaVzUwT2lBbllYTmpaVzUwSnl4Y2JpQWdZWFIwY21saWRYUmxibUZ0WlRvZ0oyRjBkSEpwWW5WMFpVNWhiV1VuTEZ4dUlDQmhkSFJ5YVdKMWRHVjBlWEJsT2lBbllYUjBjbWxpZFhSbFZIbHdaU2NzWEc0Z0lHRjFkRzl5WlhabGNuTmxPaUFuWVhWMGIxSmxkbVZ5YzJVbkxGeHVJQ0JoZW1sdGRYUm9PaUFuWVhwcGJYVjBhQ2NzWEc0Z0lHSmhjMlZtY21WeGRXVnVZM2s2SUNkaVlYTmxSbkpsY1hWbGJtTjVKeXhjYmlBZ1ltRnpaV3hwYm1WemFHbG1kRG9nSjJKaGMyVnNhVzVsVTJocFpuUW5MRnh1SUNBblltRnpaV3hwYm1VdGMyaHBablFuT2lBblltRnpaV3hwYm1WVGFHbG1kQ2NzWEc0Z0lHSmhjMlZ3Y205bWFXeGxPaUFuWW1GelpWQnliMlpwYkdVbkxGeHVJQ0JpWW05NE9pQW5ZbUp2ZUNjc1hHNGdJR0psWjJsdU9pQW5ZbVZuYVc0bkxGeHVJQ0JpYVdGek9pQW5ZbWxoY3ljc1hHNGdJR0o1T2lBbllua25MRnh1SUNCallXeGpiVzlrWlRvZ0oyTmhiR05OYjJSbEp5eGNiaUFnWTJGd2FHVnBaMmgwT2lBblkyRndTR1ZwWjJoMEp5eGNiaUFnSjJOaGNDMW9aV2xuYUhRbk9pQW5ZMkZ3U0dWcFoyaDBKeXhjYmlBZ1kyeHBjRG9nSjJOc2FYQW5MRnh1SUNCamJHbHdjR0YwYURvZ0oyTnNhWEJRWVhSb0p5eGNiaUFnSjJOc2FYQXRjR0YwYUNjNklDZGpiR2x3VUdGMGFDY3NYRzRnSUdOc2FYQndZWFJvZFc1cGRITTZJQ2RqYkdsd1VHRjBhRlZ1YVhSekp5eGNiaUFnWTJ4cGNISjFiR1U2SUNkamJHbHdVblZzWlNjc1hHNGdJQ2RqYkdsd0xYSjFiR1VuT2lBblkyeHBjRkoxYkdVbkxGeHVJQ0JqYjJ4dmNqb2dKMk52Ykc5eUp5eGNiaUFnWTI5c2IzSnBiblJsY25CdmJHRjBhVzl1T2lBblkyOXNiM0pKYm5SbGNuQnZiR0YwYVc5dUp5eGNiaUFnSjJOdmJHOXlMV2x1ZEdWeWNHOXNZWFJwYjI0bk9pQW5ZMjlzYjNKSmJuUmxjbkJ2YkdGMGFXOXVKeXhjYmlBZ1kyOXNiM0pwYm5SbGNuQnZiR0YwYVc5dVptbHNkR1Z5Y3pvZ0oyTnZiRzl5U1c1MFpYSndiMnhoZEdsdmJrWnBiSFJsY25NbkxGeHVJQ0FuWTI5c2IzSXRhVzUwWlhKd2IyeGhkR2x2YmkxbWFXeDBaWEp6SnpvZ0oyTnZiRzl5U1c1MFpYSndiMnhoZEdsdmJrWnBiSFJsY25NbkxGeHVJQ0JqYjJ4dmNuQnliMlpwYkdVNklDZGpiMnh2Y2xCeWIyWnBiR1VuTEZ4dUlDQW5ZMjlzYjNJdGNISnZabWxzWlNjNklDZGpiMnh2Y2xCeWIyWnBiR1VuTEZ4dUlDQmpiMnh2Y25KbGJtUmxjbWx1WnpvZ0oyTnZiRzl5VW1WdVpHVnlhVzVuSnl4Y2JpQWdKMk52Ykc5eUxYSmxibVJsY21sdVp5YzZJQ2RqYjJ4dmNsSmxibVJsY21sdVp5Y3NYRzRnSUdOdmJuUmxiblJ6WTNKcGNIUjBlWEJsT2lBblkyOXVkR1Z1ZEZOamNtbHdkRlI1Y0dVbkxGeHVJQ0JqYjI1MFpXNTBjM1I1YkdWMGVYQmxPaUFuWTI5dWRHVnVkRk4wZVd4bFZIbHdaU2NzWEc0Z0lHTjFjbk52Y2pvZ0oyTjFjbk52Y2ljc1hHNGdJR040T2lBblkzZ25MRnh1SUNCamVUb2dKMk41Snl4Y2JpQWdaRG9nSjJRbkxGeHVJQ0JrWVhSaGRIbHdaVG9nSjJSaGRHRjBlWEJsSnl4Y2JpQWdaR1ZqWld4bGNtRjBaVG9nSjJSbFkyVnNaWEpoZEdVbkxGeHVJQ0JrWlhOalpXNTBPaUFuWkdWelkyVnVkQ2NzWEc0Z0lHUnBabVoxYzJWamIyNXpkR0Z1ZERvZ0oyUnBabVoxYzJWRGIyNXpkR0Z1ZENjc1hHNGdJR1JwY21WamRHbHZiam9nSjJScGNtVmpkR2x2Ymljc1hHNGdJR1JwYzNCc1lYazZJQ2RrYVhOd2JHRjVKeXhjYmlBZ1pHbDJhWE52Y2pvZ0oyUnBkbWx6YjNJbkxGeHVJQ0JrYjIxcGJtRnVkR0poYzJWc2FXNWxPaUFuWkc5dGFXNWhiblJDWVhObGJHbHVaU2NzWEc0Z0lDZGtiMjFwYm1GdWRDMWlZWE5sYkdsdVpTYzZJQ2RrYjIxcGJtRnVkRUpoYzJWc2FXNWxKeXhjYmlBZ1pIVnlPaUFuWkhWeUp5eGNiaUFnWkhnNklDZGtlQ2NzWEc0Z0lHUjVPaUFuWkhrbkxGeHVJQ0JsWkdkbGJXOWtaVG9nSjJWa1oyVk5iMlJsSnl4Y2JpQWdaV3hsZG1GMGFXOXVPaUFuWld4bGRtRjBhVzl1Snl4Y2JpQWdaVzVoWW14bFltRmphMmR5YjNWdVpEb2dKMlZ1WVdKc1pVSmhZMnRuY205MWJtUW5MRnh1SUNBblpXNWhZbXhsTFdKaFkydG5jbTkxYm1Rbk9pQW5aVzVoWW14bFFtRmphMmR5YjNWdVpDY3NYRzRnSUdWdVpEb2dKMlZ1WkNjc1hHNGdJR1Y0Y0c5dVpXNTBPaUFuWlhod2IyNWxiblFuTEZ4dUlDQmxlSFJsY201aGJISmxjMjkxY21ObGMzSmxjWFZwY21Wa09pQW5aWGgwWlhKdVlXeFNaWE52ZFhKalpYTlNaWEYxYVhKbFpDY3NYRzRnSUdacGJHdzZJQ2RtYVd4c0p5eGNiaUFnWm1sc2JHOXdZV05wZEhrNklDZG1hV3hzVDNCaFkybDBlU2NzWEc0Z0lDZG1hV3hzTFc5d1lXTnBkSGtuT2lBblptbHNiRTl3WVdOcGRIa25MRnh1SUNCbWFXeHNjblZzWlRvZ0oyWnBiR3hTZFd4bEp5eGNiaUFnSjJacGJHd3RjblZzWlNjNklDZG1hV3hzVW5Wc1pTY3NYRzRnSUdacGJIUmxjam9nSjJacGJIUmxjaWNzWEc0Z0lHWnBiSFJsY25KbGN6b2dKMlpwYkhSbGNsSmxjeWNzWEc0Z0lHWnBiSFJsY25WdWFYUnpPaUFuWm1sc2RHVnlWVzVwZEhNbkxGeHVJQ0JtYkc5dlpHOXdZV05wZEhrNklDZG1iRzl2WkU5d1lXTnBkSGtuTEZ4dUlDQW5abXh2YjJRdGIzQmhZMmwwZVNjNklDZG1iRzl2WkU5d1lXTnBkSGtuTEZ4dUlDQm1iRzl2WkdOdmJHOXlPaUFuWm14dmIyUkRiMnh2Y2ljc1hHNGdJQ2RtYkc5dlpDMWpiMnh2Y2ljNklDZG1iRzl2WkVOdmJHOXlKeXhjYmlBZ1ptOWpkWE5oWW14bE9pQW5abTlqZFhOaFlteGxKeXhjYmlBZ1ptOXVkR1poYldsc2VUb2dKMlp2Ym5SR1lXMXBiSGtuTEZ4dUlDQW5abTl1ZEMxbVlXMXBiSGtuT2lBblptOXVkRVpoYldsc2VTY3NYRzRnSUdadmJuUnphWHBsT2lBblptOXVkRk5wZW1VbkxGeHVJQ0FuWm05dWRDMXphWHBsSnpvZ0oyWnZiblJUYVhwbEp5eGNiaUFnWm05dWRITnBlbVZoWkdwMWMzUTZJQ2RtYjI1MFUybDZaVUZrYW5WemRDY3NYRzRnSUNkbWIyNTBMWE5wZW1VdFlXUnFkWE4wSnpvZ0oyWnZiblJUYVhwbFFXUnFkWE4wSnl4Y2JpQWdabTl1ZEhOMGNtVjBZMmc2SUNkbWIyNTBVM1J5WlhSamFDY3NYRzRnSUNkbWIyNTBMWE4wY21WMFkyZ25PaUFuWm05dWRGTjBjbVYwWTJnbkxGeHVJQ0JtYjI1MGMzUjViR1U2SUNkbWIyNTBVM1I1YkdVbkxGeHVJQ0FuWm05dWRDMXpkSGxzWlNjNklDZG1iMjUwVTNSNWJHVW5MRnh1SUNCbWIyNTBkbUZ5YVdGdWREb2dKMlp2Ym5SV1lYSnBZVzUwSnl4Y2JpQWdKMlp2Ym5RdGRtRnlhV0Z1ZENjNklDZG1iMjUwVm1GeWFXRnVkQ2NzWEc0Z0lHWnZiblIzWldsbmFIUTZJQ2RtYjI1MFYyVnBaMmgwSnl4Y2JpQWdKMlp2Ym5RdGQyVnBaMmgwSnpvZ0oyWnZiblJYWldsbmFIUW5MRnh1SUNCbWIzSnRZWFE2SUNkbWIzSnRZWFFuTEZ4dUlDQm1jbTl0T2lBblpuSnZiU2NzWEc0Z0lHWjRPaUFuWm5nbkxGeHVJQ0JtZVRvZ0oyWjVKeXhjYmlBZ1p6RTZJQ2RuTVNjc1hHNGdJR2N5T2lBblp6SW5MRnh1SUNCbmJIbHdhRzVoYldVNklDZG5iSGx3YUU1aGJXVW5MRnh1SUNBbloyeDVjR2d0Ym1GdFpTYzZJQ2RuYkhsd2FFNWhiV1VuTEZ4dUlDQm5iSGx3YUc5eWFXVnVkR0YwYVc5dWFHOXlhWHB2Ym5SaGJEb2dKMmRzZVhCb1QzSnBaVzUwWVhScGIyNUliM0pwZW05dWRHRnNKeXhjYmlBZ0oyZHNlWEJvTFc5eWFXVnVkR0YwYVc5dUxXaHZjbWw2YjI1MFlXd25PaUFuWjJ4NWNHaFBjbWxsYm5SaGRHbHZia2h2Y21sNmIyNTBZV3duTEZ4dUlDQm5iSGx3YUc5eWFXVnVkR0YwYVc5dWRtVnlkR2xqWVd3NklDZG5iSGx3YUU5eWFXVnVkR0YwYVc5dVZtVnlkR2xqWVd3bkxGeHVJQ0FuWjJ4NWNHZ3RiM0pwWlc1MFlYUnBiMjR0ZG1WeWRHbGpZV3duT2lBbloyeDVjR2hQY21sbGJuUmhkR2x2YmxabGNuUnBZMkZzSnl4Y2JpQWdaMng1Y0doeVpXWTZJQ2RuYkhsd2FGSmxaaWNzWEc0Z0lHZHlZV1JwWlc1MGRISmhibk5tYjNKdE9pQW5aM0poWkdsbGJuUlVjbUZ1YzJadmNtMG5MRnh1SUNCbmNtRmthV1Z1ZEhWdWFYUnpPaUFuWjNKaFpHbGxiblJWYm1sMGN5Y3NYRzRnSUdoaGJtZHBibWM2SUNkb1lXNW5hVzVuSnl4Y2JpQWdhRzl5YVhwaFpIWjRPaUFuYUc5eWFYcEJaSFpZSnl4Y2JpQWdKMmh2Y21sNkxXRmtkaTE0SnpvZ0oyaHZjbWw2UVdSMldDY3NYRzRnSUdodmNtbDZiM0pwWjJsdWVEb2dKMmh2Y21sNlQzSnBaMmx1V0Njc1hHNGdJQ2RvYjNKcGVpMXZjbWxuYVc0dGVDYzZJQ2RvYjNKcGVrOXlhV2RwYmxnbkxGeHVJQ0JwWkdWdlozSmhjR2hwWXpvZ0oybGtaVzluY21Gd2FHbGpKeXhjYmlBZ2FXMWhaMlZ5Wlc1a1pYSnBibWM2SUNkcGJXRm5aVkpsYm1SbGNtbHVaeWNzWEc0Z0lDZHBiV0ZuWlMxeVpXNWtaWEpwYm1jbk9pQW5hVzFoWjJWU1pXNWtaWEpwYm1jbkxGeHVJQ0JwYmpJNklDZHBiakluTEZ4dUlDQnBiam9nSjJsdUp5eGNiaUFnYVc1c2FYTjBPaUFuYVc1c2FYTjBKeXhjYmlBZ2FXNTBaWEpqWlhCME9pQW5hVzUwWlhKalpYQjBKeXhjYmlBZ2F6RTZJQ2RyTVNjc1hHNGdJR3N5T2lBbmF6SW5MRnh1SUNCck16b2dKMnN6Snl4Y2JpQWdhelE2SUNkck5DY3NYRzRnSUdzNklDZHJKeXhjYmlBZ2EyVnlibVZzYldGMGNtbDRPaUFuYTJWeWJtVnNUV0YwY21sNEp5eGNiaUFnYTJWeWJtVnNkVzVwZEd4bGJtZDBhRG9nSjJ0bGNtNWxiRlZ1YVhSTVpXNW5kR2duTEZ4dUlDQnJaWEp1YVc1bk9pQW5hMlZ5Ym1sdVp5Y3NYRzRnSUd0bGVYQnZhVzUwY3pvZ0oydGxlVkJ2YVc1MGN5Y3NYRzRnSUd0bGVYTndiR2x1WlhNNklDZHJaWGxUY0d4cGJtVnpKeXhjYmlBZ2EyVjVkR2x0WlhNNklDZHJaWGxVYVcxbGN5Y3NYRzRnSUd4bGJtZDBhR0ZrYW5WemREb2dKMnhsYm1kMGFFRmthblZ6ZENjc1hHNGdJR3hsZEhSbGNuTndZV05wYm1jNklDZHNaWFIwWlhKVGNHRmphVzVuSnl4Y2JpQWdKMnhsZEhSbGNpMXpjR0ZqYVc1bkp6b2dKMnhsZEhSbGNsTndZV05wYm1jbkxGeHVJQ0JzYVdkb2RHbHVaMk52Ykc5eU9pQW5iR2xuYUhScGJtZERiMnh2Y2ljc1hHNGdJQ2RzYVdkb2RHbHVaeTFqYjJ4dmNpYzZJQ2RzYVdkb2RHbHVaME52Ykc5eUp5eGNiaUFnYkdsdGFYUnBibWRqYjI1bFlXNW5iR1U2SUNkc2FXMXBkR2x1WjBOdmJtVkJibWRzWlNjc1hHNGdJR3h2WTJGc09pQW5iRzlqWVd3bkxGeHVJQ0J0WVhKclpYSmxibVE2SUNkdFlYSnJaWEpGYm1RbkxGeHVJQ0FuYldGeWEyVnlMV1Z1WkNjNklDZHRZWEpyWlhKRmJtUW5MRnh1SUNCdFlYSnJaWEpvWldsbmFIUTZJQ2R0WVhKclpYSklaV2xuYUhRbkxGeHVJQ0J0WVhKclpYSnRhV1E2SUNkdFlYSnJaWEpOYVdRbkxGeHVJQ0FuYldGeWEyVnlMVzFwWkNjNklDZHRZWEpyWlhKTmFXUW5MRnh1SUNCdFlYSnJaWEp6ZEdGeWREb2dKMjFoY210bGNsTjBZWEowSnl4Y2JpQWdKMjFoY210bGNpMXpkR0Z5ZENjNklDZHRZWEpyWlhKVGRHRnlkQ2NzWEc0Z0lHMWhjbXRsY25WdWFYUnpPaUFuYldGeWEyVnlWVzVwZEhNbkxGeHVJQ0J0WVhKclpYSjNhV1IwYURvZ0oyMWhjbXRsY2xkcFpIUm9KeXhjYmlBZ2JXRnphem9nSjIxaGMyc25MRnh1SUNCdFlYTnJZMjl1ZEdWdWRIVnVhWFJ6T2lBbmJXRnphME52Ym5SbGJuUlZibWwwY3ljc1hHNGdJRzFoYzJ0MWJtbDBjem9nSjIxaGMydFZibWwwY3ljc1hHNGdJRzFoZEdobGJXRjBhV05oYkRvZ0oyMWhkR2hsYldGMGFXTmhiQ2NzWEc0Z0lHMXZaR1U2SUNkdGIyUmxKeXhjYmlBZ2JuVnRiMk4wWVhabGN6b2dKMjUxYlU5amRHRjJaWE1uTEZ4dUlDQnZabVp6WlhRNklDZHZabVp6WlhRbkxGeHVJQ0J2Y0dGamFYUjVPaUFuYjNCaFkybDBlU2NzWEc0Z0lHOXdaWEpoZEc5eU9pQW5iM0JsY21GMGIzSW5MRnh1SUNCdmNtUmxjam9nSjI5eVpHVnlKeXhjYmlBZ2IzSnBaVzUwT2lBbmIzSnBaVzUwSnl4Y2JpQWdiM0pwWlc1MFlYUnBiMjQ2SUNkdmNtbGxiblJoZEdsdmJpY3NYRzRnSUc5eWFXZHBiam9nSjI5eWFXZHBiaWNzWEc0Z0lHOTJaWEptYkc5M09pQW5iM1psY21ac2IzY25MRnh1SUNCdmRtVnliR2x1WlhCdmMybDBhVzl1T2lBbmIzWmxjbXhwYm1WUWIzTnBkR2x2Ymljc1hHNGdJQ2R2ZG1WeWJHbHVaUzF3YjNOcGRHbHZiaWM2SUNkdmRtVnliR2x1WlZCdmMybDBhVzl1Snl4Y2JpQWdiM1psY214cGJtVjBhR2xqYTI1bGMzTTZJQ2R2ZG1WeWJHbHVaVlJvYVdOcmJtVnpjeWNzWEc0Z0lDZHZkbVZ5YkdsdVpTMTBhR2xqYTI1bGMzTW5PaUFuYjNabGNteHBibVZVYUdsamEyNWxjM01uTEZ4dUlDQndZV2x1ZEc5eVpHVnlPaUFuY0dGcGJuUlBjbVJsY2ljc1hHNGdJQ2R3WVdsdWRDMXZjbVJsY2ljNklDZHdZV2x1ZEU5eVpHVnlKeXhjYmlBZ2NHRnViM05sTVRvZ0ozQmhibTl6WlRFbkxGeHVJQ0FuY0dGdWIzTmxMVEVuT2lBbmNHRnViM05sTVNjc1hHNGdJSEJoZEdoc1pXNW5kR2c2SUNkd1lYUm9UR1Z1WjNSb0p5eGNiaUFnY0dGMGRHVnlibU52Ym5SbGJuUjFibWwwY3pvZ0ozQmhkSFJsY201RGIyNTBaVzUwVlc1cGRITW5MRnh1SUNCd1lYUjBaWEp1ZEhKaGJuTm1iM0p0T2lBbmNHRjBkR1Z5YmxSeVlXNXpabTl5YlNjc1hHNGdJSEJoZEhSbGNtNTFibWwwY3pvZ0ozQmhkSFJsY201VmJtbDBjeWNzWEc0Z0lIQnZhVzUwWlhKbGRtVnVkSE02SUNkd2IybHVkR1Z5UlhabGJuUnpKeXhjYmlBZ0ozQnZhVzUwWlhJdFpYWmxiblJ6SnpvZ0ozQnZhVzUwWlhKRmRtVnVkSE1uTEZ4dUlDQndiMmx1ZEhNNklDZHdiMmx1ZEhNbkxGeHVJQ0J3YjJsdWRITmhkSGc2SUNkd2IybHVkSE5CZEZnbkxGeHVJQ0J3YjJsdWRITmhkSGs2SUNkd2IybHVkSE5CZEZrbkxGeHVJQ0J3YjJsdWRITmhkSG82SUNkd2IybHVkSE5CZEZvbkxGeHVJQ0J3Y21WbWFYZzZJQ2R3Y21WbWFYZ25MRnh1SUNCd2NtVnpaWEoyWldGc2NHaGhPaUFuY0hKbGMyVnlkbVZCYkhCb1lTY3NYRzRnSUhCeVpYTmxjblpsWVhOd1pXTjBjbUYwYVc4NklDZHdjbVZ6WlhKMlpVRnpjR1ZqZEZKaGRHbHZKeXhjYmlBZ2NISnBiV2wwYVhabGRXNXBkSE02SUNkd2NtbHRhWFJwZG1WVmJtbDBjeWNzWEc0Z0lIQnliM0JsY25SNU9pQW5jSEp2Y0dWeWRIa25MRnh1SUNCeU9pQW5jaWNzWEc0Z0lISmhaR2wxY3pvZ0ozSmhaR2wxY3ljc1hHNGdJSEpsWm5nNklDZHlaV1pZSnl4Y2JpQWdjbVZtZVRvZ0ozSmxabGtuTEZ4dUlDQnlaVzVrWlhKcGJtZHBiblJsYm5RNklDZHlaVzVrWlhKcGJtZEpiblJsYm5RbkxGeHVJQ0FuY21WdVpHVnlhVzVuTFdsdWRHVnVkQ2M2SUNkeVpXNWtaWEpwYm1kSmJuUmxiblFuTEZ4dUlDQnlaWEJsWVhSamIzVnVkRG9nSjNKbGNHVmhkRU52ZFc1MEp5eGNiaUFnY21Wd1pXRjBaSFZ5T2lBbmNtVndaV0YwUkhWeUp5eGNiaUFnY21WeGRXbHlaV1JsZUhSbGJuTnBiMjV6T2lBbmNtVnhkV2x5WldSRmVIUmxibk5wYjI1ekp5eGNiaUFnY21WeGRXbHlaV1JtWldGMGRYSmxjem9nSjNKbGNYVnBjbVZrUm1WaGRIVnlaWE1uTEZ4dUlDQnlaWE52ZFhKalpUb2dKM0psYzI5MWNtTmxKeXhjYmlBZ2NtVnpkR0Z5ZERvZ0ozSmxjM1JoY25RbkxGeHVJQ0J5WlhOMWJIUTZJQ2R5WlhOMWJIUW5MRnh1SUNCeVpYTjFiSFJ6T2lBbmNtVnpkV3gwY3ljc1hHNGdJSEp2ZEdGMFpUb2dKM0p2ZEdGMFpTY3NYRzRnSUhKNE9pQW5jbmduTEZ4dUlDQnllVG9nSjNKNUp5eGNiaUFnYzJOaGJHVTZJQ2R6WTJGc1pTY3NYRzRnSUhObFkzVnlhWFI1T2lBbmMyVmpkWEpwZEhrbkxGeHVJQ0J6WldWa09pQW5jMlZsWkNjc1hHNGdJSE5vWVhCbGNtVnVaR1Z5YVc1bk9pQW5jMmhoY0dWU1pXNWtaWEpwYm1jbkxGeHVJQ0FuYzJoaGNHVXRjbVZ1WkdWeWFXNW5Kem9nSjNOb1lYQmxVbVZ1WkdWeWFXNW5KeXhjYmlBZ2MyeHZjR1U2SUNkemJHOXdaU2NzWEc0Z0lITndZV05wYm1jNklDZHpjR0ZqYVc1bkp5eGNiaUFnYzNCbFkzVnNZWEpqYjI1emRHRnVkRG9nSjNOd1pXTjFiR0Z5UTI5dWMzUmhiblFuTEZ4dUlDQnpjR1ZqZFd4aGNtVjRjRzl1Wlc1ME9pQW5jM0JsWTNWc1lYSkZlSEJ2Ym1WdWRDY3NYRzRnSUhOd1pXVmtPaUFuYzNCbFpXUW5MRnh1SUNCemNISmxZV1J0WlhSb2IyUTZJQ2R6Y0hKbFlXUk5aWFJvYjJRbkxGeHVJQ0J6ZEdGeWRHOW1abk5sZERvZ0ozTjBZWEowVDJabWMyVjBKeXhjYmlBZ2MzUmtaR1YyYVdGMGFXOXVPaUFuYzNSa1JHVjJhV0YwYVc5dUp5eGNiaUFnYzNSbGJXZzZJQ2R6ZEdWdGFDY3NYRzRnSUhOMFpXMTJPaUFuYzNSbGJYWW5MRnh1SUNCemRHbDBZMmgwYVd4bGN6b2dKM04wYVhSamFGUnBiR1Z6Snl4Y2JpQWdjM1J2Y0dOdmJHOXlPaUFuYzNSdmNFTnZiRzl5Snl4Y2JpQWdKM04wYjNBdFkyOXNiM0luT2lBbmMzUnZjRU52Ykc5eUp5eGNiaUFnYzNSdmNHOXdZV05wZEhrNklDZHpkRzl3VDNCaFkybDBlU2NzWEc0Z0lDZHpkRzl3TFc5d1lXTnBkSGtuT2lBbmMzUnZjRTl3WVdOcGRIa25MRnh1SUNCemRISnBhMlYwYUhKdmRXZG9jRzl6YVhScGIyNDZJQ2R6ZEhKcGEyVjBhSEp2ZFdkb1VHOXphWFJwYjI0bkxGeHVJQ0FuYzNSeWFXdGxkR2h5YjNWbmFDMXdiM05wZEdsdmJpYzZJQ2R6ZEhKcGEyVjBhSEp2ZFdkb1VHOXphWFJwYjI0bkxGeHVJQ0J6ZEhKcGEyVjBhSEp2ZFdkb2RHaHBZMnR1WlhOek9pQW5jM1J5YVd0bGRHaHliM1ZuYUZSb2FXTnJibVZ6Y3ljc1hHNGdJQ2R6ZEhKcGEyVjBhSEp2ZFdkb0xYUm9hV05yYm1WemN5YzZJQ2R6ZEhKcGEyVjBhSEp2ZFdkb1ZHaHBZMnR1WlhOekp5eGNiaUFnYzNSeWFXNW5PaUFuYzNSeWFXNW5KeXhjYmlBZ2MzUnliMnRsT2lBbmMzUnliMnRsSnl4Y2JpQWdjM1J5YjJ0bFpHRnphR0Z5Y21GNU9pQW5jM1J5YjJ0bFJHRnphR0Z5Y21GNUp5eGNiaUFnSjNOMGNtOXJaUzFrWVhOb1lYSnlZWGtuT2lBbmMzUnliMnRsUkdGemFHRnljbUY1Snl4Y2JpQWdjM1J5YjJ0bFpHRnphRzltWm5ObGREb2dKM04wY205clpVUmhjMmh2Wm1aelpYUW5MRnh1SUNBbmMzUnliMnRsTFdSaGMyaHZabVp6WlhRbk9pQW5jM1J5YjJ0bFJHRnphRzltWm5ObGRDY3NYRzRnSUhOMGNtOXJaV3hwYm1WallYQTZJQ2R6ZEhKdmEyVk1hVzVsWTJGd0p5eGNiaUFnSjNOMGNtOXJaUzFzYVc1bFkyRndKem9nSjNOMGNtOXJaVXhwYm1WallYQW5MRnh1SUNCemRISnZhMlZzYVc1bGFtOXBiam9nSjNOMGNtOXJaVXhwYm1WcWIybHVKeXhjYmlBZ0ozTjBjbTlyWlMxc2FXNWxhbTlwYmljNklDZHpkSEp2YTJWTWFXNWxhbTlwYmljc1hHNGdJSE4wY205clpXMXBkR1Z5YkdsdGFYUTZJQ2R6ZEhKdmEyVk5hWFJsY214cGJXbDBKeXhjYmlBZ0ozTjBjbTlyWlMxdGFYUmxjbXhwYldsMEp6b2dKM04wY205clpVMXBkR1Z5YkdsdGFYUW5MRnh1SUNCemRISnZhMlYzYVdSMGFEb2dKM04wY205clpWZHBaSFJvSnl4Y2JpQWdKM04wY205clpTMTNhV1IwYUNjNklDZHpkSEp2YTJWWGFXUjBhQ2NzWEc0Z0lITjBjbTlyWlc5d1lXTnBkSGs2SUNkemRISnZhMlZQY0dGamFYUjVKeXhjYmlBZ0ozTjBjbTlyWlMxdmNHRmphWFI1SnpvZ0ozTjBjbTlyWlU5d1lXTnBkSGtuTEZ4dUlDQnpkWEJ3Y21WemMyTnZiblJsYm5SbFpHbDBZV0pzWlhkaGNtNXBibWM2SUNkemRYQndjbVZ6YzBOdmJuUmxiblJGWkdsMFlXSnNaVmRoY201cGJtY25MRnh1SUNCemRYQndjbVZ6YzJoNVpISmhkR2x2Ym5kaGNtNXBibWM2SUNkemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNuTEZ4dUlDQnpkWEptWVdObGMyTmhiR1U2SUNkemRYSm1ZV05sVTJOaGJHVW5MRnh1SUNCemVYTjBaVzFzWVc1bmRXRm5aVG9nSjNONWMzUmxiVXhoYm1kMVlXZGxKeXhjYmlBZ2RHRmliR1YyWVd4MVpYTTZJQ2QwWVdKc1pWWmhiSFZsY3ljc1hHNGdJSFJoY21kbGRIZzZJQ2QwWVhKblpYUllKeXhjYmlBZ2RHRnlaMlYwZVRvZ0ozUmhjbWRsZEZrbkxGeHVJQ0IwWlhoMFlXNWphRzl5T2lBbmRHVjRkRUZ1WTJodmNpY3NYRzRnSUNkMFpYaDBMV0Z1WTJodmNpYzZJQ2QwWlhoMFFXNWphRzl5Snl4Y2JpQWdkR1Y0ZEdSbFkyOXlZWFJwYjI0NklDZDBaWGgwUkdWamIzSmhkR2x2Ymljc1hHNGdJQ2QwWlhoMExXUmxZMjl5WVhScGIyNG5PaUFuZEdWNGRFUmxZMjl5WVhScGIyNG5MRnh1SUNCMFpYaDBiR1Z1WjNSb09pQW5kR1Y0ZEV4bGJtZDBhQ2NzWEc0Z0lIUmxlSFJ5Wlc1a1pYSnBibWM2SUNkMFpYaDBVbVZ1WkdWeWFXNW5KeXhjYmlBZ0ozUmxlSFF0Y21WdVpHVnlhVzVuSnpvZ0ozUmxlSFJTWlc1a1pYSnBibWNuTEZ4dUlDQjBiem9nSjNSdkp5eGNiaUFnZEhKaGJuTm1iM0p0T2lBbmRISmhibk5tYjNKdEp5eGNiaUFnZEhsd1pXOW1PaUFuZEhsd1pXOW1KeXhjYmlBZ2RURTZJQ2QxTVNjc1hHNGdJSFV5T2lBbmRUSW5MRnh1SUNCMWJtUmxjbXhwYm1Wd2IzTnBkR2x2YmpvZ0ozVnVaR1Z5YkdsdVpWQnZjMmwwYVc5dUp5eGNiaUFnSjNWdVpHVnliR2x1WlMxd2IzTnBkR2x2YmljNklDZDFibVJsY214cGJtVlFiM05wZEdsdmJpY3NYRzRnSUhWdVpHVnliR2x1WlhSb2FXTnJibVZ6Y3pvZ0ozVnVaR1Z5YkdsdVpWUm9hV05yYm1WemN5Y3NYRzRnSUNkMWJtUmxjbXhwYm1VdGRHaHBZMnR1WlhOekp6b2dKM1Z1WkdWeWJHbHVaVlJvYVdOcmJtVnpjeWNzWEc0Z0lIVnVhV052WkdVNklDZDFibWxqYjJSbEp5eGNiaUFnZFc1cFkyOWtaV0pwWkdrNklDZDFibWxqYjJSbFFtbGthU2NzWEc0Z0lDZDFibWxqYjJSbExXSnBaR2tuT2lBbmRXNXBZMjlrWlVKcFpHa25MRnh1SUNCMWJtbGpiMlJsY21GdVoyVTZJQ2QxYm1samIyUmxVbUZ1WjJVbkxGeHVJQ0FuZFc1cFkyOWtaUzF5WVc1blpTYzZJQ2QxYm1samIyUmxVbUZ1WjJVbkxGeHVJQ0IxYm1sMGMzQmxjbVZ0T2lBbmRXNXBkSE5RWlhKRmJTY3NYRzRnSUNkMWJtbDBjeTF3WlhJdFpXMG5PaUFuZFc1cGRITlFaWEpGYlNjc1hHNGdJSFZ1YzJWc1pXTjBZV0pzWlRvZ0ozVnVjMlZzWldOMFlXSnNaU2NzWEc0Z0lIWmhiSEJvWVdKbGRHbGpPaUFuZGtGc2NHaGhZbVYwYVdNbkxGeHVJQ0FuZGkxaGJIQm9ZV0psZEdsakp6b2dKM1pCYkhCb1lXSmxkR2xqSnl4Y2JpQWdkbUZzZFdWek9pQW5kbUZzZFdWekp5eGNiaUFnZG1WamRHOXlaV1ptWldOME9pQW5kbVZqZEc5eVJXWm1aV04wSnl4Y2JpQWdKM1psWTNSdmNpMWxabVpsWTNRbk9pQW5kbVZqZEc5eVJXWm1aV04wSnl4Y2JpQWdkbVZ5YzJsdmJqb2dKM1psY25OcGIyNG5MRnh1SUNCMlpYSjBZV1IyZVRvZ0ozWmxjblJCWkhaWkp5eGNiaUFnSjNabGNuUXRZV1IyTFhrbk9pQW5kbVZ5ZEVGa2Rsa25MRnh1SUNCMlpYSjBiM0pwWjJsdWVEb2dKM1psY25SUGNtbG5hVzVZSnl4Y2JpQWdKM1psY25RdGIzSnBaMmx1TFhnbk9pQW5kbVZ5ZEU5eWFXZHBibGduTEZ4dUlDQjJaWEowYjNKcFoybHVlVG9nSjNabGNuUlBjbWxuYVc1Wkp5eGNiaUFnSjNabGNuUXRiM0pwWjJsdUxYa25PaUFuZG1WeWRFOXlhV2RwYmxrbkxGeHVJQ0IyYUdGdVoybHVaem9nSjNaSVlXNW5hVzVuSnl4Y2JpQWdKM1l0YUdGdVoybHVaeWM2SUNkMlNHRnVaMmx1Wnljc1hHNGdJSFpwWkdWdlozSmhjR2hwWXpvZ0ozWkpaR1Z2WjNKaGNHaHBZeWNzWEc0Z0lDZDJMV2xrWlc5bmNtRndhR2xqSnpvZ0ozWkpaR1Z2WjNKaGNHaHBZeWNzWEc0Z0lIWnBaWGRpYjNnNklDZDJhV1YzUW05NEp5eGNiaUFnZG1sbGQzUmhjbWRsZERvZ0ozWnBaWGRVWVhKblpYUW5MRnh1SUNCMmFYTnBZbWxzYVhSNU9pQW5kbWx6YVdKcGJHbDBlU2NzWEc0Z0lIWnRZWFJvWlcxaGRHbGpZV3c2SUNkMlRXRjBhR1Z0WVhScFkyRnNKeXhjYmlBZ0ozWXRiV0YwYUdWdFlYUnBZMkZzSnpvZ0ozWk5ZWFJvWlcxaGRHbGpZV3duTEZ4dUlDQjJiMk5oWWpvZ0ozWnZZMkZpSnl4Y2JpQWdkMmxrZEdoek9pQW5kMmxrZEdoekp5eGNiaUFnZDI5eVpITndZV05wYm1jNklDZDNiM0prVTNCaFkybHVaeWNzWEc0Z0lDZDNiM0prTFhOd1lXTnBibWNuT2lBbmQyOXlaRk53WVdOcGJtY25MRnh1SUNCM2NtbDBhVzVuYlc5a1pUb2dKM2R5YVhScGJtZE5iMlJsSnl4Y2JpQWdKM2R5YVhScGJtY3RiVzlrWlNjNklDZDNjbWwwYVc1blRXOWtaU2NzWEc0Z0lIZ3hPaUFuZURFbkxGeHVJQ0I0TWpvZ0ozZ3lKeXhjYmlBZ2VEb2dKM2duTEZ4dUlDQjRZMmhoYm01bGJITmxiR1ZqZEc5eU9pQW5lRU5vWVc1dVpXeFRaV3hsWTNSdmNpY3NYRzRnSUhob1pXbG5hSFE2SUNkNFNHVnBaMmgwSnl4Y2JpQWdKM2d0YUdWcFoyaDBKem9nSjNoSVpXbG5hSFFuTEZ4dUlDQjRiR2x1YTJGamRIVmhkR1U2SUNkNGJHbHVhMEZqZEhWaGRHVW5MRnh1SUNBbmVHeHBibXM2WVdOMGRXRjBaU2M2SUNkNGJHbHVhMEZqZEhWaGRHVW5MRnh1SUNCNGJHbHVhMkZ5WTNKdmJHVTZJQ2Q0YkdsdWEwRnlZM0p2YkdVbkxGeHVJQ0FuZUd4cGJtczZZWEpqY205c1pTYzZJQ2Q0YkdsdWEwRnlZM0p2YkdVbkxGeHVJQ0I0YkdsdWEyaHlaV1k2SUNkNGJHbHVhMGh5WldZbkxGeHVJQ0FuZUd4cGJtczZhSEpsWmljNklDZDRiR2x1YTBoeVpXWW5MRnh1SUNCNGJHbHVhM0p2YkdVNklDZDRiR2x1YTFKdmJHVW5MRnh1SUNBbmVHeHBibXM2Y205c1pTYzZJQ2Q0YkdsdWExSnZiR1VuTEZ4dUlDQjRiR2x1YTNOb2IzYzZJQ2Q0YkdsdWExTm9iM2NuTEZ4dUlDQW5lR3hwYm1zNmMyaHZkeWM2SUNkNGJHbHVhMU5vYjNjbkxGeHVJQ0I0YkdsdWEzUnBkR3hsT2lBbmVHeHBibXRVYVhSc1pTY3NYRzRnSUNkNGJHbHVhenAwYVhSc1pTYzZJQ2Q0YkdsdWExUnBkR3hsSnl4Y2JpQWdlR3hwYm10MGVYQmxPaUFuZUd4cGJtdFVlWEJsSnl4Y2JpQWdKM2hzYVc1ck9uUjVjR1VuT2lBbmVHeHBibXRVZVhCbEp5eGNiaUFnZUcxc1ltRnpaVG9nSjNodGJFSmhjMlVuTEZ4dUlDQW5lRzFzT21KaGMyVW5PaUFuZUcxc1FtRnpaU2NzWEc0Z0lIaHRiR3hoYm1jNklDZDRiV3hNWVc1bkp5eGNiaUFnSjNodGJEcHNZVzVuSnpvZ0ozaHRiRXhoYm1jbkxGeHVJQ0I0Yld4dWN6b2dKM2h0Ykc1ekp5eGNiaUFnSjNodGJEcHpjR0ZqWlNjNklDZDRiV3hUY0dGalpTY3NYRzRnSUhodGJHNXplR3hwYm1zNklDZDRiV3h1YzFoc2FXNXJKeXhjYmlBZ0ozaHRiRzV6T25oc2FXNXJKem9nSjNodGJHNXpXR3hwYm1zbkxGeHVJQ0I0Yld4emNHRmpaVG9nSjNodGJGTndZV05sSnl4Y2JpQWdlVEU2SUNkNU1TY3NYRzRnSUhreU9pQW5lVEluTEZ4dUlDQjVPaUFuZVNjc1hHNGdJSGxqYUdGdWJtVnNjMlZzWldOMGIzSTZJQ2Q1UTJoaGJtNWxiRk5sYkdWamRHOXlKeXhjYmlBZ2Vqb2dKM29uTEZ4dUlDQjZiMjl0WVc1a2NHRnVPaUFuZW05dmJVRnVaRkJoYmlkY2JuMDdYRzVjYm5aaGNpQmhjbWxoVUhKdmNHVnlkR2xsY3lBOUlIdGNiaUFnSjJGeWFXRXRZM1Z5Y21WdWRDYzZJREFzWEc0Z0lDOHZJSE4wWVhSbFhHNGdJQ2RoY21saExXUmxkR0ZwYkhNbk9pQXdMRnh1SUNBbllYSnBZUzFrYVhOaFlteGxaQ2M2SURBc1hHNGdJQzh2SUhOMFlYUmxYRzRnSUNkaGNtbGhMV2hwWkdSbGJpYzZJREFzWEc0Z0lDOHZJSE4wWVhSbFhHNGdJQ2RoY21saExXbHVkbUZzYVdRbk9pQXdMRnh1SUNBdkx5QnpkR0YwWlZ4dUlDQW5ZWEpwWVMxclpYbHphRzl5ZEdOMWRITW5PaUF3TEZ4dUlDQW5ZWEpwWVMxc1lXSmxiQ2M2SURBc1hHNGdJQ2RoY21saExYSnZiR1ZrWlhOamNtbHdkR2x2YmljNklEQXNYRzRnSUM4dklGZHBaR2RsZENCQmRIUnlhV0oxZEdWelhHNGdJQ2RoY21saExXRjFkRzlqYjIxd2JHVjBaU2M2SURBc1hHNGdJQ2RoY21saExXTm9aV05yWldRbk9pQXdMRnh1SUNBbllYSnBZUzFsZUhCaGJtUmxaQ2M2SURBc1hHNGdJQ2RoY21saExXaGhjM0J2Y0hWd0p6b2dNQ3hjYmlBZ0oyRnlhV0V0YkdWMlpXd25PaUF3TEZ4dUlDQW5ZWEpwWVMxdGIyUmhiQ2M2SURBc1hHNGdJQ2RoY21saExXMTFiSFJwYkdsdVpTYzZJREFzWEc0Z0lDZGhjbWxoTFcxMWJIUnBjMlZzWldOMFlXSnNaU2M2SURBc1hHNGdJQ2RoY21saExXOXlhV1Z1ZEdGMGFXOXVKem9nTUN4Y2JpQWdKMkZ5YVdFdGNHeGhZMlZvYjJ4a1pYSW5PaUF3TEZ4dUlDQW5ZWEpwWVMxd2NtVnpjMlZrSnpvZ01DeGNiaUFnSjJGeWFXRXRjbVZoWkc5dWJIa25PaUF3TEZ4dUlDQW5ZWEpwWVMxeVpYRjFhWEpsWkNjNklEQXNYRzRnSUNkaGNtbGhMWE5sYkdWamRHVmtKem9nTUN4Y2JpQWdKMkZ5YVdFdGMyOXlkQ2M2SURBc1hHNGdJQ2RoY21saExYWmhiSFZsYldGNEp6b2dNQ3hjYmlBZ0oyRnlhV0V0ZG1Gc2RXVnRhVzRuT2lBd0xGeHVJQ0FuWVhKcFlTMTJZV3gxWlc1dmR5YzZJREFzWEc0Z0lDZGhjbWxoTFhaaGJIVmxkR1Y0ZENjNklEQXNYRzRnSUM4dklFeHBkbVVnVW1WbmFXOXVJRUYwZEhKcFluVjBaWE5jYmlBZ0oyRnlhV0V0WVhSdmJXbGpKem9nTUN4Y2JpQWdKMkZ5YVdFdFluVnplU2M2SURBc1hHNGdJQ2RoY21saExXeHBkbVVuT2lBd0xGeHVJQ0FuWVhKcFlTMXlaV3hsZG1GdWRDYzZJREFzWEc0Z0lDOHZJRVJ5WVdjdFlXNWtMVVJ5YjNBZ1FYUjBjbWxpZFhSbGMxeHVJQ0FuWVhKcFlTMWtjbTl3WldabVpXTjBKem9nTUN4Y2JpQWdKMkZ5YVdFdFozSmhZbUpsWkNjNklEQXNYRzRnSUM4dklGSmxiR0YwYVc5dWMyaHBjQ0JCZEhSeWFXSjFkR1Z6WEc0Z0lDZGhjbWxoTFdGamRHbDJaV1JsYzJObGJtUmhiblFuT2lBd0xGeHVJQ0FuWVhKcFlTMWpiMnhqYjNWdWRDYzZJREFzWEc0Z0lDZGhjbWxoTFdOdmJHbHVaR1Y0SnpvZ01DeGNiaUFnSjJGeWFXRXRZMjlzYzNCaGJpYzZJREFzWEc0Z0lDZGhjbWxoTFdOdmJuUnliMnh6SnpvZ01DeGNiaUFnSjJGeWFXRXRaR1Z6WTNKcFltVmtZbmtuT2lBd0xGeHVJQ0FuWVhKcFlTMWxjbkp2Y20xbGMzTmhaMlVuT2lBd0xGeHVJQ0FuWVhKcFlTMW1iRzkzZEc4bk9pQXdMRnh1SUNBbllYSnBZUzFzWVdKbGJHeGxaR0o1SnpvZ01DeGNiaUFnSjJGeWFXRXRiM2R1Y3ljNklEQXNYRzRnSUNkaGNtbGhMWEJ2YzJsdWMyVjBKem9nTUN4Y2JpQWdKMkZ5YVdFdGNtOTNZMjkxYm5Rbk9pQXdMRnh1SUNBbllYSnBZUzF5YjNkcGJtUmxlQ2M2SURBc1hHNGdJQ2RoY21saExYSnZkM053WVc0bk9pQXdMRnh1SUNBbllYSnBZUzF6WlhSemFYcGxKem9nTUZ4dWZUdGNibHh1ZG1GeUlIZGhjbTVsWkZCeWIzQmxjblJwWlhNZ1BTQjdmVHRjYm5aaGNpQnlRVkpKUVNBOUlHNWxkeUJTWldkRmVIQW9KMTRvWVhKcFlTa3RXeWNnS3lCQlZGUlNTVUpWVkVWZlRrRk5SVjlEU0VGU0lDc2dKMTBxSkNjcE8xeHVkbUZ5SUhKQlVrbEJRMkZ0Wld3Z1BTQnVaWGNnVW1WblJYaHdLQ2RlS0dGeWFXRXBXMEV0V2wxYkp5QXJJRUZVVkZKSlFsVlVSVjlPUVUxRlgwTklRVklnS3lBblhTb2tKeWs3WEc1MllYSWdhR0Z6VDNkdVVISnZjR1Z5ZEhra01TQTlJRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrN1hHNWNibVoxYm1OMGFXOXVJSFpoYkdsa1lYUmxVSEp2Y0dWeWRIa29kR0ZuVG1GdFpTd2dibUZ0WlNrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0doaGMwOTNibEJ5YjNCbGNuUjVKREV1WTJGc2JDaDNZWEp1WldSUWNtOXdaWEowYVdWekxDQnVZVzFsS1NBbUppQjNZWEp1WldSUWNtOXdaWEowYVdWelcyNWhiV1ZkS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ja0ZTU1VGRFlXMWxiQzUwWlhOMEtHNWhiV1VwS1NCN1hHNGdJQ0FnSUNCMllYSWdZWEpwWVU1aGJXVWdQU0FuWVhKcFlTMG5JQ3NnYm1GdFpTNXpiR2xqWlNnMEtTNTBiMHh2ZDJWeVEyRnpaU2dwTzF4dUlDQWdJQ0FnZG1GeUlHTnZjbkpsWTNST1lXMWxJRDBnWVhKcFlWQnliM0JsY25ScFpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb1lYSnBZVTVoYldVcElEOGdZWEpwWVU1aGJXVWdPaUJ1ZFd4c095QXZMeUJKWmlCMGFHbHpJR2x6SUdGdUlHRnlhV0V0S2lCaGRIUnlhV0oxZEdVc0lHSjFkQ0JwY3lCdWIzUWdiR2x6ZEdWa0lHbHVJSFJvWlNCcmJtOTNiaUJFVDAxY2JpQWdJQ0FnSUM4dklFUlBUU0J3Y205d1pYSjBhV1Z6TENCMGFHVnVJR2wwSUdseklHRnVJR2x1ZG1Gc2FXUWdZWEpwWVMwcUlHRjBkSEpwWW5WMFpTNWNibHh1SUNBZ0lDQWdhV1lnS0dOdmNuSmxZM1JPWVcxbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb0owbHVkbUZzYVdRZ1FWSkpRU0JoZEhSeWFXSjFkR1VnWUNWellDNGdRVkpKUVNCaGRIUnlhV0oxZEdWeklHWnZiR3h2ZHlCMGFHVWdjR0YwZEdWeWJpQmhjbWxoTFNvZ1lXNWtJRzExYzNRZ1ltVWdiRzkzWlhKallYTmxMaWNzSUc1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJSDBnTHk4Z1lYSnBZUzBxSUdGMGRISnBZblYwWlhNZ2MyaHZkV3hrSUdKbElHeHZkMlZ5WTJGelpUc2djM1ZuWjJWemRDQjBhR1VnYkc5M1pYSmpZWE5sSUhabGNuTnBiMjR1WEc1Y2JseHVJQ0FnSUNBZ2FXWWdLRzVoYldVZ0lUMDlJR052Y25KbFkzUk9ZVzFsS1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkSmJuWmhiR2xrSUVGU1NVRWdZWFIwY21saWRYUmxJR0FsYzJBdUlFUnBaQ0I1YjNVZ2JXVmhiaUJnSlhOZ1B5Y3NJRzVoYldVc0lHTnZjbkpsWTNST1lXMWxLVHRjYmx4dUlDQWdJQ0FnSUNCM1lYSnVaV1JRY205d1pYSjBhV1Z6VzI1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hKQlVrbEJMblJsYzNRb2JtRnRaU2twSUh0Y2JpQWdJQ0FnSUhaaGNpQnNiM2RsY2tOaGMyVmtUbUZ0WlNBOUlHNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tUdGNiaUFnSUNBZ0lIWmhjaUJ6ZEdGdVpHRnlaRTVoYldVZ1BTQmhjbWxoVUhKdmNHVnlkR2xsY3k1b1lYTlBkMjVRY205d1pYSjBlU2hzYjNkbGNrTmhjMlZrVG1GdFpTa2dQeUJzYjNkbGNrTmhjMlZrVG1GdFpTQTZJRzUxYkd3N0lDOHZJRWxtSUhSb2FYTWdhWE1nWVc0Z1lYSnBZUzBxSUdGMGRISnBZblYwWlN3Z1luVjBJR2x6SUc1dmRDQnNhWE4wWldRZ2FXNGdkR2hsSUd0dWIzZHVJRVJQVFZ4dUlDQWdJQ0FnTHk4Z1JFOU5JSEJ5YjNCbGNuUnBaWE1zSUhSb1pXNGdhWFFnYVhNZ1lXNGdhVzUyWVd4cFpDQmhjbWxoTFNvZ1lYUjBjbWxpZFhSbExseHVYRzRnSUNBZ0lDQnBaaUFvYzNSaGJtUmhjbVJPWVcxbElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkMkZ5Ym1Wa1VISnZjR1Z5ZEdsbGMxdHVZVzFsWFNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNBZ0lIMGdMeThnWVhKcFlTMHFJR0YwZEhKcFluVjBaWE1nYzJodmRXeGtJR0psSUd4dmQyVnlZMkZ6WlRzZ2MzVm5aMlZ6ZENCMGFHVWdiRzkzWlhKallYTmxJSFpsY25OcGIyNHVYRzVjYmx4dUlDQWdJQ0FnYVdZZ0tHNWhiV1VnSVQwOUlITjBZVzVrWVhKa1RtRnRaU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduVlc1cmJtOTNiaUJCVWtsQklHRjBkSEpwWW5WMFpTQmdKWE5nTGlCRWFXUWdlVzkxSUcxbFlXNGdZQ1Z6WUQ4bkxDQnVZVzFsTENCemRHRnVaR0Z5WkU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE5iYm1GdFpWMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZDJGeWJrbHVkbUZzYVdSQlVrbEJVSEp2Y0hNb2RIbHdaU3dnY0hKdmNITXBJSHRjYmlBZ2UxeHVJQ0FnSUhaaGNpQnBiblpoYkdsa1VISnZjSE1nUFNCYlhUdGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlHdGxlU0JwYmlCd2NtOXdjeWtnZTF4dUlDQWdJQ0FnZG1GeUlHbHpWbUZzYVdRZ1BTQjJZV3hwWkdGMFpWQnliM0JsY25SNUtIUjVjR1VzSUd0bGVTazdYRzVjYmlBZ0lDQWdJR2xtSUNnaGFYTldZV3hwWkNrZ2UxeHVJQ0FnSUNBZ0lDQnBiblpoYkdsa1VISnZjSE11Y0hWemFDaHJaWGtwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCMWJtdHViM2R1VUhKdmNGTjBjbWx1WnlBOUlHbHVkbUZzYVdSUWNtOXdjeTV0WVhBb1puVnVZM1JwYjI0Z0tIQnliM0FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuWUNjZ0t5QndjbTl3SUNzZ0oyQW5PMXh1SUNBZ0lIMHBMbXB2YVc0b0p5d2dKeWs3WEc1Y2JpQWdJQ0JwWmlBb2FXNTJZV3hwWkZCeWIzQnpMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBsdWRtRnNhV1FnWVhKcFlTQndjbTl3SUNWeklHOXVJRHdsY3o0Z2RHRm5MaUFuSUNzZ0owWnZjaUJrWlhSaGFXeHpMQ0J6WldVZ2FIUjBjSE02THk5bVlpNXRaUzlwYm5aaGJHbGtMV0Z5YVdFdGNISnZjQ2NzSUhWdWEyNXZkMjVRY205d1UzUnlhVzVuTENCMGVYQmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x1ZG1Gc2FXUlFjbTl3Y3k1c1pXNW5kR2dnUGlBeEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblNXNTJZV3hwWkNCaGNtbGhJSEJ5YjNCeklDVnpJRzl1SUR3bGN6NGdkR0ZuTGlBbklDc2dKMFp2Y2lCa1pYUmhhV3h6TENCelpXVWdhSFIwY0hNNkx5OW1ZaTV0WlM5cGJuWmhiR2xrTFdGeWFXRXRjSEp2Y0Njc0lIVnVhMjV2ZDI1UWNtOXdVM1J5YVc1bkxDQjBlWEJsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWUWNtOXdaWEowYVdWektIUjVjR1VzSUhCeWIzQnpLU0I3WEc0Z0lHbG1JQ2hwYzBOMWMzUnZiVU52YlhCdmJtVnVkQ2gwZVhCbExDQndjbTl3Y3lrcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCM1lYSnVTVzUyWVd4cFpFRlNTVUZRY205d2N5aDBlWEJsTENCd2NtOXdjeWs3WEc1OVhHNWNiblpoY2lCa2FXUlhZWEp1Vm1Gc2RXVk9kV3hzSUQwZ1ptRnNjMlU3WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlZCeWIzQmxjblJwWlhNa01TaDBlWEJsTENCd2NtOXdjeWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dVZ0lUMDlJQ2RwYm5CMWRDY2dKaVlnZEhsd1pTQWhQVDBnSjNSbGVIUmhjbVZoSnlBbUppQjBlWEJsSUNFOVBTQW5jMlZzWldOMEp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3Y3lBaFBTQnVkV3hzSUNZbUlIQnliM0J6TG5aaGJIVmxJRDA5UFNCdWRXeHNJQ1ltSUNGa2FXUlhZWEp1Vm1Gc2RXVk9kV3hzS1NCN1hHNGdJQ0FnSUNCa2FXUlhZWEp1Vm1Gc2RXVk9kV3hzSUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUjVjR1VnUFQwOUlDZHpaV3hsWTNRbklDWW1JSEJ5YjNCekxtMTFiSFJwY0d4bEtTQjdYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDZGdkbUZzZFdWZ0lIQnliM0FnYjI0Z1lDVnpZQ0J6YUc5MWJHUWdibTkwSUdKbElHNTFiR3d1SUNjZ0t5QW5RMjl1YzJsa1pYSWdkWE5wYm1jZ1lXNGdaVzF3ZEhrZ1lYSnlZWGtnZDJobGJpQmdiWFZzZEdsd2JHVmdJR2x6SUhObGRDQjBieUJnZEhKMVpXQWdKeUFySUNkMGJ5QmpiR1ZoY2lCMGFHVWdZMjl0Y0c5dVpXNTBJRzl5SUdCMWJtUmxabWx1WldSZ0lHWnZjaUIxYm1OdmJuUnliMnhzWldRZ1kyOXRjRzl1Wlc1MGN5NG5MQ0IwZVhCbEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkZ2RtRnNkV1ZnSUhCeWIzQWdiMjRnWUNWellDQnphRzkxYkdRZ2JtOTBJR0psSUc1MWJHd3VJQ2NnS3lBblEyOXVjMmxrWlhJZ2RYTnBibWNnWVc0Z1pXMXdkSGtnYzNSeWFXNW5JSFJ2SUdOc1pXRnlJSFJvWlNCamIyMXdiMjVsYm5RZ2IzSWdZSFZ1WkdWbWFXNWxaR0FnSnlBcklDZG1iM0lnZFc1amIyNTBjbTlzYkdWa0lHTnZiWEJ2Ym1WdWRITXVKeXdnZEhsd1pTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCMllXeHBaR0YwWlZCeWIzQmxjblI1SkRFZ1BTQm1kVzVqZEdsdmJpQW9LU0I3ZlR0Y2JseHVlMXh1SUNCMllYSWdkMkZ5Ym1Wa1VISnZjR1Z5ZEdsbGN5UXhJRDBnZTMwN1hHNGdJSFpoY2lCZmFHRnpUM2R1VUhKdmNHVnlkSGtnUFNCUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG1oaGMwOTNibEJ5YjNCbGNuUjVPMXh1SUNCMllYSWdSVlpGVGxSZlRrRk5SVjlTUlVkRldDQTlJQzllYjI0dUx6dGNiaUFnZG1GeUlFbE9Wa0ZNU1VSZlJWWkZUbFJmVGtGTlJWOVNSVWRGV0NBOUlDOWViMjViWGtFdFdsMHZPMXh1SUNCMllYSWdja0ZTU1VFa01TQTlJRzVsZHlCU1pXZEZlSEFvSjE0b1lYSnBZU2t0V3ljZ0t5QkJWRlJTU1VKVlZFVmZUa0ZOUlY5RFNFRlNJQ3NnSjEwcUpDY3BPMXh1SUNCMllYSWdja0ZTU1VGRFlXMWxiQ1F4SUQwZ2JtVjNJRkpsWjBWNGNDZ25YaWhoY21saEtWdEJMVnBkV3ljZ0t5QkJWRlJTU1VKVlZFVmZUa0ZOUlY5RFNFRlNJQ3NnSjEwcUpDY3BPMXh1WEc0Z0lIWmhiR2xrWVhSbFVISnZjR1Z5ZEhra01TQTlJR1oxYm1OMGFXOXVJQ2gwWVdkT1lXMWxMQ0J1WVcxbExDQjJZV3gxWlN3Z1kyRnVWWE5sUlhabGJuUlRlWE4wWlcwcElIdGNiaUFnSUNCcFppQW9YMmhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvZDJGeWJtVmtVSEp2Y0dWeWRHbGxjeVF4TENCdVlXMWxLU0FtSmlCM1lYSnVaV1JRY205d1pYSjBhV1Z6SkRGYmJtRnRaVjBwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnNiM2RsY2tOaGMyVmtUbUZ0WlNBOUlHNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tUdGNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrTmhjMlZrVG1GdFpTQTlQVDBnSjI5dVptOWpkWE5wYmljZ2ZId2diRzkzWlhKRFlYTmxaRTVoYldVZ1BUMDlJQ2R2Ym1adlkzVnpiM1YwSnlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjFKbFlXTjBJSFZ6WlhNZ2IyNUdiMk4xY3lCaGJtUWdiMjVDYkhWeUlHbHVjM1JsWVdRZ2IyWWdiMjVHYjJOMWMwbHVJR0Z1WkNCdmJrWnZZM1Z6VDNWMExpQW5JQ3NnSjBGc2JDQlNaV0ZqZENCbGRtVnVkSE1nWVhKbElHNXZjbTFoYkdsNlpXUWdkRzhnWW5WaVlteGxMQ0J6YnlCdmJrWnZZM1Z6U1c0Z1lXNWtJRzl1Um05amRYTlBkWFFnSnlBcklDZGhjbVVnYm05MElHNWxaV1JsWkM5emRYQndiM0owWldRZ1lua2dVbVZoWTNRdUp5azdYRzVjYmlBZ0lDQWdJSGRoY201bFpGQnliM0JsY25ScFpYTWtNVnR1WVcxbFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOUlDOHZJRmRsSUdOaGJpZDBJSEpsYkhrZ2IyNGdkR2hsSUdWMlpXNTBJSE41YzNSbGJTQmlaV2x1WnlCcGJtcGxZM1JsWkNCdmJpQjBhR1VnYzJWeWRtVnlMbHh1WEc1Y2JpQWdJQ0JwWmlBb1kyRnVWWE5sUlhabGJuUlRlWE4wWlcwcElIdGNiaUFnSUNBZ0lHbG1JQ2h5WldkcGMzUnlZWFJwYjI1T1lXMWxUVzlrZFd4bGN5NW9ZWE5QZDI1UWNtOXdaWEowZVNodVlXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhKbFoybHpkSEpoZEdsdmJrNWhiV1VnUFNCd2IzTnphV0pzWlZKbFoybHpkSEpoZEdsdmJrNWhiV1Z6TG1oaGMwOTNibEJ5YjNCbGNuUjVLR3h2ZDJWeVEyRnpaV1JPWVcxbEtTQS9JSEJ2YzNOcFlteGxVbVZuYVhOMGNtRjBhVzl1VG1GdFpYTmJiRzkzWlhKRFlYTmxaRTVoYldWZElEb2diblZzYkR0Y2JseHVJQ0FnSUNBZ2FXWWdLSEpsWjJsemRISmhkR2x2Yms1aGJXVWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25TVzUyWVd4cFpDQmxkbVZ1ZENCb1lXNWtiR1Z5SUhCeWIzQmxjblI1SUdBbGMyQXVJRVJwWkNCNWIzVWdiV1ZoYmlCZ0pYTmdQeWNzSUc1aGJXVXNJSEpsWjJsemRISmhkR2x2Yms1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE1rTVZ0dVlXMWxYU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9SVlpGVGxSZlRrRk5SVjlTUlVkRldDNTBaWE4wS0c1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RWYm10dWIzZHVJR1YyWlc1MElHaGhibVJzWlhJZ2NISnZjR1Z5ZEhrZ1lDVnpZQzRnU1hRZ2QybHNiQ0JpWlNCcFoyNXZjbVZrTGljc0lHNWhiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lIZGhjbTVsWkZCeWIzQmxjblJwWlhNa01WdHVZVzFsWFNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1JWWkZUbFJmVGtGTlJWOVNSVWRGV0M1MFpYTjBLRzVoYldVcEtTQjdYRzRnSUNBZ0lDQXZMeUJKWmlCdWJ5QmxkbVZ1ZENCd2JIVm5hVzV6SUdoaGRtVWdZbVZsYmlCcGJtcGxZM1JsWkN3Z2QyVWdZWEpsSUdsdUlHRWdjMlZ5ZG1WeUlHVnVkbWx5YjI1dFpXNTBMbHh1SUNBZ0lDQWdMeThnVTI4Z2QyVWdZMkZ1SjNRZ2RHVnNiQ0JwWmlCMGFHVWdaWFpsYm5RZ2JtRnRaU0JwY3lCamIzSnlaV04wSUdadmNpQnpkWEpsTENCaWRYUWdkMlVnWTJGdUlHWnBiSFJsY2x4dUlDQWdJQ0FnTHk4Z2IzVjBJR3R1YjNkdUlHSmhaQ0J2Ym1WeklHeHBhMlVnWUc5dVkyeHBZMnRnTGlCWFpTQmpZVzRuZENCemRXZG5aWE4wSUdFZ2MzQmxZMmxtYVdNZ2NtVndiR0ZqWlcxbGJuUWdkR2h2ZFdkb0xseHVJQ0FnSUNBZ2FXWWdLRWxPVmtGTVNVUmZSVlpGVGxSZlRrRk5SVjlTUlVkRldDNTBaWE4wS0c1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RKYm5aaGJHbGtJR1YyWlc1MElHaGhibVJzWlhJZ2NISnZjR1Z5ZEhrZ1lDVnpZQzRnSnlBcklDZFNaV0ZqZENCbGRtVnVkSE1nZFhObElIUm9aU0JqWVcxbGJFTmhjMlVnYm1GdGFXNW5JR052Ym5abGJuUnBiMjRzSUdadmNpQmxlR0Z0Y0d4bElHQnZia05zYVdOcllDNG5MQ0J1WVcxbEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkMkZ5Ym1Wa1VISnZjR1Z5ZEdsbGN5UXhXMjVoYldWZElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUgwZ0x5OGdUR1YwSUhSb1pTQkJVa2xCSUdGMGRISnBZblYwWlNCb2IyOXJJSFpoYkdsa1lYUmxJRUZTU1VFZ1lYUjBjbWxpZFhSbGMxeHVYRzVjYmlBZ0lDQnBaaUFvY2tGU1NVRWtNUzUwWlhOMEtHNWhiV1VwSUh4OElISkJVa2xCUTJGdFpXd2tNUzUwWlhOMEtHNWhiV1VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9iRzkzWlhKRFlYTmxaRTVoYldVZ1BUMDlJQ2RwYm01bGNtaDBiV3duS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduUkdseVpXTjBiSGtnYzJWMGRHbHVaeUJ3Y205d1pYSjBlU0JnYVc1dVpYSklWRTFNWUNCcGN5QnViM1FnY0dWeWJXbDBkR1ZrTGlBbklDc2dKMFp2Y2lCdGIzSmxJR2x1Wm05eWJXRjBhVzl1TENCc2IyOXJkWEFnWkc5amRXMWxiblJoZEdsdmJpQnZiaUJnWkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVeGdMaWNwTzF4dVhHNGdJQ0FnSUNCM1lYSnVaV1JRY205d1pYSjBhV1Z6SkRGYmJtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0d4dmQyVnlRMkZ6WldST1lXMWxJRDA5UFNBbllYSnBZU2NwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RVYUdVZ1lHRnlhV0ZnSUdGMGRISnBZblYwWlNCcGN5QnlaWE5sY25abFpDQm1iM0lnWm5WMGRYSmxJSFZ6WlNCcGJpQlNaV0ZqZEM0Z0p5QXJJQ2RRWVhOeklHbHVaR2wyYVdSMVlXd2dZR0Z5YVdFdFlDQmhkSFJ5YVdKMWRHVnpJR2x1YzNSbFlXUXVKeWs3WEc1Y2JpQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE1rTVZ0dVlXMWxYU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYkc5M1pYSkRZWE5sWkU1aGJXVWdQVDA5SUNkcGN5Y2dKaVlnZG1Gc2RXVWdJVDA5SUc1MWJHd2dKaVlnZG1Gc2RXVWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQjBlWEJsYjJZZ2RtRnNkV1VnSVQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblVtVmpaV2wyWldRZ1lTQmdKWE5nSUdadmNpQmhJSE4wY21sdVp5QmhkSFJ5YVdKMWRHVWdZR2x6WUM0Z1NXWWdkR2hwY3lCcGN5QmxlSEJsWTNSbFpDd2dZMkZ6ZENBbklDc2dKM1JvWlNCMllXeDFaU0IwYnlCaElITjBjbWx1Wnk0bkxDQjBlWEJsYjJZZ2RtRnNkV1VwTzF4dVhHNGdJQ0FnSUNCM1lYSnVaV1JRY205d1pYSjBhV1Z6SkRGYmJtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUIyWVd4MVpTQTlQVDBnSjI1MWJXSmxjaWNnSmlZZ2FYTk9ZVTRvZG1Gc2RXVXBLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25VbVZqWldsMlpXUWdUbUZPSUdadmNpQjBhR1VnWUNWellDQmhkSFJ5YVdKMWRHVXVJRWxtSUhSb2FYTWdhWE1nWlhod1pXTjBaV1FzSUdOaGMzUWdKeUFySUNkMGFHVWdkbUZzZFdVZ2RHOGdZU0J6ZEhKcGJtY3VKeXdnYm1GdFpTazdYRzVjYmlBZ0lDQWdJSGRoY201bFpGQnliM0JsY25ScFpYTWtNVnR1WVcxbFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjSEp2Y0dWeWRIbEpibVp2SUQwZ1oyVjBVSEp2Y0dWeWRIbEpibVp2S0c1aGJXVXBPMXh1SUNBZ0lIWmhjaUJwYzFKbGMyVnlkbVZrSUQwZ2NISnZjR1Z5ZEhsSmJtWnZJQ0U5UFNCdWRXeHNJQ1ltSUhCeWIzQmxjblI1U1c1bWJ5NTBlWEJsSUQwOVBTQlNSVk5GVWxaRlJEc2dMeThnUzI1dmQyNGdZWFIwY21saWRYUmxjeUJ6YUc5MWJHUWdiV0YwWTJnZ2RHaGxJR05oYzJsdVp5QnpjR1ZqYVdacFpXUWdhVzRnZEdobElIQnliM0JsY25SNUlHTnZibVpwWnk1Y2JseHVJQ0FnSUdsbUlDaHdiM056YVdKc1pWTjBZVzVrWVhKa1RtRnRaWE11YUdGelQzZHVVSEp2Y0dWeWRIa29iRzkzWlhKRFlYTmxaRTVoYldVcEtTQjdYRzRnSUNBZ0lDQjJZWElnYzNSaGJtUmhjbVJPWVcxbElEMGdjRzl6YzJsaWJHVlRkR0Z1WkdGeVpFNWhiV1Z6VzJ4dmQyVnlRMkZ6WldST1lXMWxYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tITjBZVzVrWVhKa1RtRnRaU0FoUFQwZ2JtRnRaU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduU1c1MllXeHBaQ0JFVDAwZ2NISnZjR1Z5ZEhrZ1lDVnpZQzRnUkdsa0lIbHZkU0J0WldGdUlHQWxjMkEvSnl3Z2JtRnRaU3dnYzNSaGJtUmhjbVJPWVcxbEtUdGNibHh1SUNBZ0lDQWdJQ0IzWVhKdVpXUlFjbTl3WlhKMGFXVnpKREZiYm1GdFpWMGdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZwYzFKbGMyVnlkbVZrSUNZbUlHNWhiV1VnSVQwOUlHeHZkMlZ5UTJGelpXUk9ZVzFsS1NCN1hHNGdJQ0FnSUNBdkx5QlZibXR1YjNkdUlHRjBkSEpwWW5WMFpYTWdjMmh2ZFd4a0lHaGhkbVVnYkc5M1pYSmpZWE5sSUdOaGMybHVaeUJ6YVc1alpTQjBhR0YwSjNNZ2FHOTNJSFJvWlhsY2JpQWdJQ0FnSUM4dklIZHBiR3dnWW1VZ1kyRnpaV1FnWVc1NWQyRjVJSGRwZEdnZ2MyVnlkbVZ5SUhKbGJtUmxjbWx1Wnk1Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldGamRDQmtiMlZ6SUc1dmRDQnlaV052WjI1cGVtVWdkR2hsSUdBbGMyQWdjSEp2Y0NCdmJpQmhJRVJQVFNCbGJHVnRaVzUwTGlCSlppQjViM1VnSnlBcklDZHBiblJsYm5ScGIyNWhiR3g1SUhkaGJuUWdhWFFnZEc4Z1lYQndaV0Z5SUdsdUlIUm9aU0JFVDAwZ1lYTWdZU0JqZFhOMGIyMGdKeUFySUNkaGRIUnlhV0oxZEdVc0lITndaV3hzSUdsMElHRnpJR3h2ZDJWeVkyRnpaU0JnSlhOZ0lHbHVjM1JsWVdRdUlDY2dLeUFuU1dZZ2VXOTFJR0ZqWTJsa1pXNTBZV3hzZVNCd1lYTnpaV1FnYVhRZ1puSnZiU0JoSUhCaGNtVnVkQ0JqYjIxd2IyNWxiblFzSUhKbGJXOTJaU0FuSUNzZ0oybDBJR1p5YjIwZ2RHaGxJRVJQVFNCbGJHVnRaVzUwTGljc0lHNWhiV1VzSUd4dmQyVnlRMkZ6WldST1lXMWxLVHRjYmx4dUlDQWdJQ0FnZDJGeWJtVmtVSEp2Y0dWeWRHbGxjeVF4VzI1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2RpYjI5c1pXRnVKeUFtSmlCemFHOTFiR1JTWlcxdmRtVkJkSFJ5YVdKMWRHVlhhWFJvVjJGeWJtbHVaeWh1WVcxbExDQjJZV3gxWlN3Z2NISnZjR1Z5ZEhsSmJtWnZMQ0JtWVd4elpTa3BJSHRjYmlBZ0lDQWdJR2xtSUNoMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduVW1WalpXbDJaV1FnWUNWellDQm1iM0lnWVNCdWIyNHRZbTl2YkdWaGJpQmhkSFJ5YVdKMWRHVWdZQ1Z6WUM1Y1hHNWNYRzRuSUNzZ0owbG1JSGx2ZFNCM1lXNTBJSFJ2SUhkeWFYUmxJR2wwSUhSdklIUm9aU0JFVDAwc0lIQmhjM01nWVNCemRISnBibWNnYVc1emRHVmhaRG9nSnlBcklDY2xjejFjSWlWelhDSWdiM0lnSlhNOWUzWmhiSFZsTG5SdlUzUnlhVzVuS0NsOUxpY3NJSFpoYkhWbExDQnVZVzFsTENCdVlXMWxMQ0IyWVd4MVpTd2dibUZ0WlNrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduVW1WalpXbDJaV1FnWUNWellDQm1iM0lnWVNCdWIyNHRZbTl2YkdWaGJpQmhkSFJ5YVdKMWRHVWdZQ1Z6WUM1Y1hHNWNYRzRuSUNzZ0owbG1JSGx2ZFNCM1lXNTBJSFJ2SUhkeWFYUmxJR2wwSUhSdklIUm9aU0JFVDAwc0lIQmhjM01nWVNCemRISnBibWNnYVc1emRHVmhaRG9nSnlBcklDY2xjejFjSWlWelhDSWdiM0lnSlhNOWUzWmhiSFZsTG5SdlUzUnlhVzVuS0NsOUxseGNibHhjYmljZ0t5QW5TV1lnZVc5MUlIVnpaV1FnZEc4Z1kyOXVaR2wwYVc5dVlXeHNlU0J2YldsMElHbDBJSGRwZEdnZ0pYTTllMk52Ym1ScGRHbHZiaUFtSmlCMllXeDFaWDBzSUNjZ0t5QW5jR0Z6Y3lBbGN6MTdZMjl1WkdsMGFXOXVJRDhnZG1Gc2RXVWdPaUIxYm1SbFptbHVaV1I5SUdsdWMzUmxZV1F1Snl3Z2RtRnNkV1VzSUc1aGJXVXNJRzVoYldVc0lIWmhiSFZsTENCdVlXMWxMQ0J1WVcxbExDQnVZVzFsS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2QyRnlibVZrVUhKdmNHVnlkR2xsY3lReFcyNWhiV1ZkSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDBnTHk4Z1RtOTNJSFJvWVhRZ2QyVW5kbVVnZG1Gc2FXUmhkR1ZrSUdOaGMybHVaeXdnWkc4Z2JtOTBJSFpoYkdsa1lYUmxYRzRnSUNBZ0x5OGdaR0YwWVNCMGVYQmxjeUJtYjNJZ2NtVnpaWEoyWldRZ2NISnZjSE5jYmx4dVhHNGdJQ0FnYVdZZ0tHbHpVbVZ6WlhKMlpXUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJSDBnTHk4Z1YyRnliaUIzYUdWdUlHRWdhMjV2ZDI0Z1lYUjBjbWxpZFhSbElHbHpJR0VnWW1Ga0lIUjVjR1ZjYmx4dVhHNGdJQ0FnYVdZZ0tITm9iM1ZzWkZKbGJXOTJaVUYwZEhKcFluVjBaVmRwZEdoWFlYSnVhVzVuS0c1aGJXVXNJSFpoYkhWbExDQndjbTl3WlhKMGVVbHVabThzSUdaaGJITmxLU2tnZTF4dUlDQWdJQ0FnZDJGeWJtVmtVSEp2Y0dWeWRHbGxjeVF4VzI1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQjlJQzh2SUZkaGNtNGdkMmhsYmlCd1lYTnphVzVuSUhSb1pTQnpkSEpwYm1keklDZG1ZV3h6WlNjZ2IzSWdKM1J5ZFdVbklHbHVkRzhnWVNCaWIyOXNaV0Z1SUhCeWIzQmNibHh1WEc0Z0lDQWdhV1lnS0NoMllXeDFaU0E5UFQwZ0oyWmhiSE5sSnlCOGZDQjJZV3gxWlNBOVBUMGdKM1J5ZFdVbktTQW1KaUJ3Y205d1pYSjBlVWx1Wm04Z0lUMDlJRzUxYkd3Z0ppWWdjSEp2Y0dWeWRIbEpibVp2TG5SNWNHVWdQVDA5SUVKUFQweEZRVTRwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldObGFYWmxaQ0IwYUdVZ2MzUnlhVzVuSUdBbGMyQWdabTl5SUhSb1pTQmliMjlzWldGdUlHRjBkSEpwWW5WMFpTQmdKWE5nTGlBbklDc2dKeVZ6SUNjZ0t5QW5SR2xrSUhsdmRTQnRaV0Z1SUNWelBYc2xjMzAvSnl3Z2RtRnNkV1VzSUc1aGJXVXNJSFpoYkhWbElEMDlQU0FuWm1Gc2MyVW5JRDhnSjFSb1pTQmljbTkzYzJWeUlIZHBiR3dnYVc1MFpYSndjbVYwSUdsMElHRnpJR0VnZEhKMWRHaDVJSFpoYkhWbExpY2dPaUFuUVd4MGFHOTFaMmdnZEdocGN5QjNiM0pyY3l3Z2FYUWdkMmxzYkNCdWIzUWdkMjl5YXlCaGN5QmxlSEJsWTNSbFpDQnBaaUI1YjNVZ2NHRnpjeUIwYUdVZ2MzUnlhVzVuSUZ3aVptRnNjMlZjSWk0bkxDQnVZVzFsTENCMllXeDFaU2s3WEc1Y2JpQWdJQ0FnSUhkaGNtNWxaRkJ5YjNCbGNuUnBaWE1rTVZ0dVlXMWxYU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ2ZUdGNibjFjYmx4dWRtRnlJSGRoY201VmJtdHViM2R1VUhKdmNHVnlkR2xsY3lBOUlHWjFibU4wYVc5dUlDaDBlWEJsTENCd2NtOXdjeXdnWTJGdVZYTmxSWFpsYm5SVGVYTjBaVzBwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUIxYm10dWIzZHVVSEp2Y0hNZ1BTQmJYVHRjYmx4dUlDQWdJR1p2Y2lBb2RtRnlJR3RsZVNCcGJpQndjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2x6Vm1Gc2FXUWdQU0IyWVd4cFpHRjBaVkJ5YjNCbGNuUjVKREVvZEhsd1pTd2dhMlY1TENCd2NtOXdjMXRyWlhsZExDQmpZVzVWYzJWRmRtVnVkRk41YzNSbGJTazdYRzVjYmlBZ0lDQWdJR2xtSUNnaGFYTldZV3hwWkNrZ2UxeHVJQ0FnSUNBZ0lDQjFibXR1YjNkdVVISnZjSE11Y0hWemFDaHJaWGtwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCMWJtdHViM2R1VUhKdmNGTjBjbWx1WnlBOUlIVnVhMjV2ZDI1UWNtOXdjeTV0WVhBb1puVnVZM1JwYjI0Z0tIQnliM0FwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUFuWUNjZ0t5QndjbTl3SUNzZ0oyQW5PMXh1SUNBZ0lIMHBMbXB2YVc0b0p5d2dKeWs3WEc1Y2JpQWdJQ0JwWmlBb2RXNXJibTkzYmxCeWIzQnpMbXhsYm1kMGFDQTlQVDBnTVNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBsdWRtRnNhV1FnZG1Gc2RXVWdabTl5SUhCeWIzQWdKWE1nYjI0Z1BDVnpQaUIwWVdjdUlFVnBkR2hsY2lCeVpXMXZkbVVnYVhRZ1puSnZiU0IwYUdVZ1pXeGxiV1Z1ZEN3Z0p5QXJJQ2R2Y2lCd1lYTnpJR0VnYzNSeWFXNW5JRzl5SUc1MWJXSmxjaUIyWVd4MVpTQjBieUJyWldWd0lHbDBJR2x1SUhSb1pTQkVUMDB1SUNjZ0t5QW5SbTl5SUdSbGRHRnBiSE1zSUhObFpTQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV0YwZEhKcFluVjBaUzFpWldoaGRtbHZjaWNzSUhWdWEyNXZkMjVRY205d1UzUnlhVzVuTENCMGVYQmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFZ1YTI1dmQyNVFjbTl3Y3k1c1pXNW5kR2dnUGlBeEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblNXNTJZV3hwWkNCMllXeDFaWE1nWm05eUlIQnliM0J6SUNWeklHOXVJRHdsY3o0Z2RHRm5MaUJGYVhSb1pYSWdjbVZ0YjNabElIUm9aVzBnWm5KdmJTQjBhR1VnWld4bGJXVnVkQ3dnSnlBcklDZHZjaUJ3WVhOeklHRWdjM1J5YVc1bklHOXlJRzUxYldKbGNpQjJZV3gxWlNCMGJ5QnJaV1Z3SUhSb1pXMGdhVzRnZEdobElFUlBUUzRnSnlBcklDZEdiM0lnWkdWMFlXbHNjeXdnYzJWbElHaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRZWFIwY21saWRYUmxMV0psYUdGMmFXOXlKeXdnZFc1cmJtOTNibEJ5YjNCVGRISnBibWNzSUhSNWNHVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnZG1Gc2FXUmhkR1ZRY205d1pYSjBhV1Z6SkRJb2RIbHdaU3dnY0hKdmNITXNJR05oYmxWelpVVjJaVzUwVTNsemRHVnRLU0I3WEc0Z0lHbG1JQ2hwYzBOMWMzUnZiVU52YlhCdmJtVnVkQ2gwZVhCbExDQndjbTl3Y3lrcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCM1lYSnVWVzVyYm05M2JsQnliM0JsY25ScFpYTW9kSGx3WlN3Z2NISnZjSE1zSUdOaGJsVnpaVVYyWlc1MFUzbHpkR1Z0S1R0Y2JuMWNibHh1ZG1GeUlHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1SUQwZ1ptRnNjMlU3WEc1MllYSWdSRUZPUjBWU1QxVlRURmxmVTBWVVgwbE9Ua1ZTWDBoVVRVd2dQU0FuWkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVd25PMXh1ZG1GeUlGTlZVRkJTUlZOVFgwTlBUbFJGVGxSZlJVUkpWRUZDVEVWZlYwRlNUa2xPUnlBOUlDZHpkWEJ3Y21WemMwTnZiblJsYm5SRlpHbDBZV0pzWlZkaGNtNXBibWNuTzF4dWRtRnlJRk5WVUZCU1JWTlRYMGhaUkZKQlZFbFBUbDlYUVZKT1NVNUhJRDBnSjNOMWNIQnlaWE56U0hsa2NtRjBhVzl1VjJGeWJtbHVaeWM3WEc1MllYSWdRVlZVVDBaUFExVlRJRDBnSjJGMWRHOUdiMk4xY3ljN1hHNTJZWElnUTBoSlRFUlNSVTRnUFNBblkyaHBiR1J5Wlc0bk8xeHVkbUZ5SUZOVVdVeEZJRDBnSjNOMGVXeGxKenRjYm5aaGNpQklWRTFNSkRFZ1BTQW5YMTlvZEcxc0p6dGNiblpoY2lCSVZFMU1YMDVCVFVWVFVFRkRSU1F4SUQwZ1RtRnRaWE53WVdObGN5NW9kRzFzTzF4dWRtRnlJSGRoY201bFpGVnVhMjV2ZDI1VVlXZHpPMXh1ZG1GeUlITjFjSEJ5WlhOelNIbGtjbUYwYVc5dVYyRnlibWx1Wnp0Y2JuWmhjaUIyWVd4cFpHRjBaVkJ5YjNCbGNuUnBaWE5KYmtSbGRtVnNiM0J0Wlc1ME8xeHVkbUZ5SUhkaGNtNUdiM0pVWlhoMFJHbG1abVZ5Wlc1alpUdGNiblpoY2lCM1lYSnVSbTl5VUhKdmNFUnBabVpsY21WdVkyVTdYRzUyWVhJZ2QyRnlia1p2Y2tWNGRISmhRWFIwY21saWRYUmxjenRjYm5aaGNpQjNZWEp1Um05eVNXNTJZV3hwWkVWMlpXNTBUR2x6ZEdWdVpYSTdYRzUyWVhJZ1kyRnVSR2xtWmxOMGVXeGxSbTl5U0hsa2NtRjBhVzl1VjJGeWJtbHVaenRjYm5aaGNpQnViM0p0WVd4cGVtVk5ZWEpyZFhCR2IzSlVaWGgwVDNKQmRIUnlhV0oxZEdVN1hHNTJZWElnYm05eWJXRnNhWHBsU0ZSTlREdGNibHh1ZTF4dUlDQjNZWEp1WldSVmJtdHViM2R1VkdGbmN5QTlJSHRjYmlBZ0lDQXZMeUJEYUhKdmJXVWdhWE1nZEdobElHOXViSGtnYldGcWIzSWdZbkp2ZDNObGNpQnViM1FnYzJocGNIQnBibWNnUEhScGJXVStMaUJDZFhRZ1lYTWdiMllnU25Wc2VWeHVJQ0FnSUM4dklESXdNVGNnYVhRZ2FXNTBaVzVrY3lCMGJ5QnphR2x3SUdsMElHUjFaU0IwYnlCM2FXUmxjM0J5WldGa0lIVnpZV2RsTGlCWFpTQnBiblJsYm5ScGIyNWhiR3g1WEc0Z0lDQWdMeThnS21SdmJpZDBLaUIzWVhKdUlHWnZjaUE4ZEdsdFpUNGdaWFpsYmlCcFppQnBkQ2R6SUhWdWNtVmpiMmR1YVhwbFpDQmllU0JEYUhKdmJXVWdZbVZqWVhWelpWeHVJQ0FnSUM4dklHbDBJSE52YjI0Z2QybHNiQ0JpWlN3Z1lXNWtJRzFoYm5rZ1lYQndjeUJvWVhabElHSmxaVzRnZFhOcGJtY2dhWFFnWVc1NWQyRjVMbHh1SUNBZ0lIUnBiV1U2SUhSeWRXVXNYRzRnSUNBZ0x5OGdWR2hsY21VZ1lYSmxJSGR2Y210cGJtY2djRzlzZVdacGJHeHpJR1p2Y2lBOFpHbGhiRzluUGk0Z1RHVjBJSEJsYjNCc1pTQjFjMlVnYVhRdVhHNGdJQ0FnWkdsaGJHOW5PaUIwY25WbExGeHVJQ0FnSUM4dklFVnNaV04wY205dUlITm9hWEJ6SUdFZ1kzVnpkRzl0SUR4M1pXSjJhV1YzUGlCMFlXY2dkRzhnWkdsemNHeGhlU0JsZUhSbGNtNWhiQ0IzWldJZ1kyOXVkR1Z1ZENCcGJseHVJQ0FnSUM4dklHRnVJR2x6YjJ4aGRHVmtJR1p5WVcxbElHRnVaQ0J3Y205alpYTnpMbHh1SUNBZ0lDOHZJRlJvYVhNZ2RHRm5JR2x6SUc1dmRDQndjbVZ6Wlc1MElHbHVJRzV2YmlCRmJHVmpkSEp2YmlCbGJuWnBjbTl1YldWdWRITWdjM1ZqYUNCaGN5QktVMFJ2YlNCM2FHbGphRnh1SUNBZ0lDOHZJR2x6SUc5bWRHVnVJSFZ6WldRZ1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTXVYRzRnSUNBZ0x5OGdRSE5sWlNCb2RIUndjem92TDJWc1pXTjBjbTl1YW5NdWIzSm5MMlJ2WTNNdllYQnBMM2RsWW5acFpYY3RkR0ZuWEc0Z0lDQWdkMlZpZG1sbGR6b2dkSEoxWlZ4dUlDQjlPMXh1WEc0Z0lIWmhiR2xrWVhSbFVISnZjR1Z5ZEdsbGMwbHVSR1YyWld4dmNHMWxiblFnUFNCbWRXNWpkR2x2YmlBb2RIbHdaU3dnY0hKdmNITXBJSHRjYmlBZ0lDQjJZV3hwWkdGMFpWQnliM0JsY25ScFpYTW9kSGx3WlN3Z2NISnZjSE1wTzF4dUlDQWdJSFpoYkdsa1lYUmxVSEp2Y0dWeWRHbGxjeVF4S0hSNWNHVXNJSEJ5YjNCektUdGNiaUFnSUNCMllXeHBaR0YwWlZCeWIzQmxjblJwWlhNa01paDBlWEJsTENCd2NtOXdjeXhjYmlBZ0lDQXZLaUJqWVc1VmMyVkZkbVZ1ZEZONWMzUmxiU0FxTDF4dUlDQWdJSFJ5ZFdVcE8xeHVJQ0I5T3lBdkx5QkpSU0F4TVNCd1lYSnpaWE1nSmlCdWIzSnRZV3hwZW1WeklIUm9aU0J6ZEhsc1pTQmhkSFJ5YVdKMWRHVWdZWE1nYjNCd2IzTmxaQ0IwYnlCdmRHaGxjbHh1SUNBdkx5QmljbTkzYzJWeWN5NGdTWFFnWVdSa2N5QnpjR0ZqWlhNZ1lXNWtJSE52Y25SeklIUm9aU0J3Y205d1pYSjBhV1Z6SUdsdUlITnZiV1ZjYmlBZ0x5OGdibTl1TFdGc2NHaGhZbVYwYVdOaGJDQnZjbVJsY2k0Z1NHRnVaR3hwYm1jZ2RHaGhkQ0IzYjNWc1pDQnlaWEYxYVhKbElITnZjblJwYm1jZ1ExTlRYRzRnSUM4dklIQnliM0JsY25ScFpYTWdhVzRnZEdobElHTnNhV1Z1ZENBbUlITmxjblpsY2lCMlpYSnphVzl1Y3lCdmNpQmhjSEJzZVdsdVoxeHVJQ0F2THlCZ1pYaHdaV04wWldSVGRIbHNaV0FnZEc4Z1lTQjBaVzF3YjNKaGNua2dSRTlOSUc1dlpHVWdkRzhnY21WaFpDQnBkSE1nWUhOMGVXeGxZQ0JoZEhSeWFXSjFkR1ZjYmlBZ0x5OGdibTl5YldGc2FYcGxaQzRnVTJsdVkyVWdhWFFnYjI1c2VTQmhabVpsWTNSeklFbEZMQ0IzWlNkeVpTQnphMmx3Y0dsdVp5QnpkSGxzWlNCM1lYSnVhVzVuYzF4dUlDQXZMeUJwYmlCMGFHRjBJR0p5YjNkelpYSWdZMjl0Y0d4bGRHVnNlU0JwYmlCbVlYWnZjaUJ2WmlCa2IybHVaeUJoYkd3Z2RHaGhkQ0IzYjNKckxseHVJQ0F2THlCVFpXVWdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWVdOMEwybHpjM1ZsY3k4eE1UZ3dOMXh1WEc1Y2JpQWdZMkZ1UkdsbVpsTjBlV3hsUm05eVNIbGtjbUYwYVc5dVYyRnlibWx1WnlBOUlHTmhibFZ6WlVSUFRTQW1KaUFoWkc5amRXMWxiblF1Wkc5amRXMWxiblJOYjJSbE95QXZMeUJJVkUxTUlIQmhjbk5wYm1jZ2JtOXliV0ZzYVhwbGN5QkRVaUJoYm1RZ1ExSk1SaUIwYnlCTVJpNWNiaUFnTHk4Z1NYUWdZV3h6YnlCallXNGdkSFZ5YmlCY1hIVXdNREF3SUdsdWRHOGdYRngxUmtaR1JDQnBibk5wWkdVZ1lYUjBjbWxpZFhSbGN5NWNiaUFnTHk4Z2FIUjBjSE02THk5M2QzY3Vkek11YjNKbkwxUlNMMmgwYld3MUwzTnBibWRzWlMxd1lXZGxMbWgwYld3amNISmxjSEp2WTJWemMybHVaeTEwYUdVdGFXNXdkWFF0YzNSeVpXRnRYRzRnSUM4dklFbG1JSGRsSUdoaGRtVWdZU0J0YVhOdFlYUmphQ3dnYVhRZ2JXbG5hSFFnWW1VZ1kyRjFjMlZrSUdKNUlIUm9ZWFF1WEc0Z0lDOHZJRmRsSUhkcGJHd2djM1JwYkd3Z2NHRjBZMmdnZFhBZ2FXNGdkR2hwY3lCallYTmxJR0oxZENCdWIzUWdabWx5WlNCMGFHVWdkMkZ5Ym1sdVp5NWNibHh1SUNCMllYSWdUazlTVFVGTVNWcEZYMDVGVjB4SlRrVlRYMUpGUjBWWUlEMGdMMXhjY2x4Y2JqOHZaenRjYmlBZ2RtRnlJRTVQVWsxQlRFbGFSVjlPVlV4TVgwRk9SRjlTUlZCTVFVTkZUVVZPVkY5U1JVZEZXQ0E5SUM5Y1hIVXdNREF3ZkZ4Y2RVWkdSa1F2Wnp0Y2JseHVJQ0J1YjNKdFlXeHBlbVZOWVhKcmRYQkdiM0pVWlhoMFQzSkJkSFJ5YVdKMWRHVWdQU0JtZFc1amRHbHZiaUFvYldGeWEzVndLU0I3WEc0Z0lDQWdkbUZ5SUcxaGNtdDFjRk4wY21sdVp5QTlJSFI1Y0dWdlppQnRZWEpyZFhBZ1BUMDlJQ2R6ZEhKcGJtY25JRDhnYldGeWEzVndJRG9nSnljZ0t5QnRZWEpyZFhBN1hHNGdJQ0FnY21WMGRYSnVJRzFoY210MWNGTjBjbWx1Wnk1eVpYQnNZV05sS0U1UFVrMUJURWxhUlY5T1JWZE1TVTVGVTE5U1JVZEZXQ3dnSjF4Y2JpY3BMbkpsY0d4aFkyVW9UazlTVFVGTVNWcEZYMDVWVEV4ZlFVNUVYMUpGVUV4QlEwVk5SVTVVWDFKRlIwVllMQ0FuSnlrN1hHNGdJSDA3WEc1Y2JpQWdkMkZ5YmtadmNsUmxlSFJFYVdabVpYSmxibU5sSUQwZ1puVnVZM1JwYjI0Z0tITmxjblpsY2xSbGVIUXNJR05zYVdWdWRGUmxlSFFwSUh0Y2JpQWdJQ0JwWmlBb1pHbGtWMkZ5YmtsdWRtRnNhV1JJZVdSeVlYUnBiMjRwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYm05eWJXRnNhWHBsWkVOc2FXVnVkRlJsZUhRZ1BTQnViM0p0WVd4cGVtVk5ZWEpyZFhCR2IzSlVaWGgwVDNKQmRIUnlhV0oxZEdVb1kyeHBaVzUwVkdWNGRDazdYRzRnSUNBZ2RtRnlJRzV2Y20xaGJHbDZaV1JUWlhKMlpYSlVaWGgwSUQwZ2JtOXliV0ZzYVhwbFRXRnlhM1Z3Um05eVZHVjRkRTl5UVhSMGNtbGlkWFJsS0hObGNuWmxjbFJsZUhRcE8xeHVYRzRnSUNBZ2FXWWdLRzV2Y20xaGJHbDZaV1JUWlhKMlpYSlVaWGgwSUQwOVBTQnViM0p0WVd4cGVtVmtRMnhwWlc1MFZHVjRkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1SUQwZ2RISjFaVHRjYmx4dUlDQWdJR1Z5Y205eUtDZFVaWGgwSUdOdmJuUmxiblFnWkdsa0lHNXZkQ0J0WVhSamFDNGdVMlZ5ZG1WeU9pQmNJaVZ6WENJZ1EyeHBaVzUwT2lCY0lpVnpYQ0luTENCdWIzSnRZV3hwZW1Wa1UyVnlkbVZ5VkdWNGRDd2dibTl5YldGc2FYcGxaRU5zYVdWdWRGUmxlSFFwTzF4dUlDQjlPMXh1WEc0Z0lIZGhjbTVHYjNKUWNtOXdSR2xtWm1WeVpXNWpaU0E5SUdaMWJtTjBhVzl1SUNod2NtOXdUbUZ0WlN3Z2MyVnlkbVZ5Vm1Gc2RXVXNJR05zYVdWdWRGWmhiSFZsS1NCN1hHNGdJQ0FnYVdZZ0tHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1dmNtMWhiR2w2WldSRGJHbGxiblJXWVd4MVpTQTlJRzV2Y20xaGJHbDZaVTFoY210MWNFWnZjbFJsZUhSUGNrRjBkSEpwWW5WMFpTaGpiR2xsYm5SV1lXeDFaU2s3WEc0Z0lDQWdkbUZ5SUc1dmNtMWhiR2w2WldSVFpYSjJaWEpXWVd4MVpTQTlJRzV2Y20xaGJHbDZaVTFoY210MWNFWnZjbFJsZUhSUGNrRjBkSEpwWW5WMFpTaHpaWEoyWlhKV1lXeDFaU2s3WEc1Y2JpQWdJQ0JwWmlBb2JtOXliV0ZzYVhwbFpGTmxjblpsY2xaaGJIVmxJRDA5UFNCdWIzSnRZV3hwZW1Wa1EyeHBaVzUwVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCa2FXUlhZWEp1U1c1MllXeHBaRWg1WkhKaGRHbHZiaUE5SUhSeWRXVTdYRzVjYmlBZ0lDQmxjbkp2Y2lnblVISnZjQ0JnSlhOZ0lHUnBaQ0J1YjNRZ2JXRjBZMmd1SUZObGNuWmxjam9nSlhNZ1EyeHBaVzUwT2lBbGN5Y3NJSEJ5YjNCT1lXMWxMQ0JLVTA5T0xuTjBjbWx1WjJsbWVTaHViM0p0WVd4cGVtVmtVMlZ5ZG1WeVZtRnNkV1VwTENCS1UwOU9Mbk4wY21sdVoybG1lU2h1YjNKdFlXeHBlbVZrUTJ4cFpXNTBWbUZzZFdVcEtUdGNiaUFnZlR0Y2JseHVJQ0IzWVhKdVJtOXlSWGgwY21GQmRIUnlhV0oxZEdWeklEMGdablZ1WTNScGIyNGdLR0YwZEhKcFluVjBaVTVoYldWektTQjdYRzRnSUNBZ2FXWWdLR1JwWkZkaGNtNUpiblpoYkdsa1NIbGtjbUYwYVc5dUtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWkdsa1YyRnlia2x1ZG1Gc2FXUkllV1J5WVhScGIyNGdQU0IwY25WbE8xeHVJQ0FnSUhaaGNpQnVZVzFsY3lBOUlGdGRPMXh1SUNBZ0lHRjBkSEpwWW5WMFpVNWhiV1Z6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0c1aGJXVXBJSHRjYmlBZ0lDQWdJRzVoYldWekxuQjFjMmdvYm1GdFpTazdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQmxjbkp2Y2lnblJYaDBjbUVnWVhSMGNtbGlkWFJsY3lCbWNtOXRJSFJvWlNCelpYSjJaWEk2SUNWekp5d2dibUZ0WlhNcE8xeHVJQ0I5TzF4dVhHNGdJSGRoY201R2IzSkpiblpoYkdsa1JYWmxiblJNYVhOMFpXNWxjaUE5SUdaMWJtTjBhVzl1SUNoeVpXZHBjM1J5WVhScGIyNU9ZVzFsTENCc2FYTjBaVzVsY2lrZ2UxeHVJQ0FnSUdsbUlDaHNhWE4wWlc1bGNpQTlQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDZEZlSEJsWTNSbFpDQmdKWE5nSUd4cGMzUmxibVZ5SUhSdklHSmxJR0VnWm5WdVkzUnBiMjRzSUdsdWMzUmxZV1FnWjI5MElHQm1ZV3h6WldBdVhGeHVYRnh1SnlBcklDZEpaaUI1YjNVZ2RYTmxaQ0IwYnlCamIyNWthWFJwYjI1aGJHeDVJRzl0YVhRZ2FYUWdkMmwwYUNBbGN6MTdZMjl1WkdsMGFXOXVJQ1ltSUhaaGJIVmxmU3dnSnlBcklDZHdZWE56SUNWelBYdGpiMjVrYVhScGIyNGdQeUIyWVd4MVpTQTZJSFZ1WkdWbWFXNWxaSDBnYVc1emRHVmhaQzRuTENCeVpXZHBjM1J5WVhScGIyNU9ZVzFsTENCeVpXZHBjM1J5WVhScGIyNU9ZVzFsTENCeVpXZHBjM1J5WVhScGIyNU9ZVzFsS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lHQWxjMkFnYkdsemRHVnVaWElnZEc4Z1ltVWdZU0JtZFc1amRHbHZiaXdnYVc1emRHVmhaQ0JuYjNRZ1lTQjJZV3gxWlNCdlppQmdKWE5nSUhSNWNHVXVKeXdnY21WbmFYTjBjbUYwYVc5dVRtRnRaU3dnZEhsd1pXOW1JR3hwYzNSbGJtVnlLVHRjYmlBZ0lDQjlYRzRnSUgwN0lDOHZJRkJoY25ObElIUm9aU0JJVkUxTUlHRnVaQ0J5WldGa0lHbDBJR0poWTJzZ2RHOGdibTl5YldGc2FYcGxJSFJvWlNCSVZFMU1JSE4wY21sdVp5QnpieUIwYUdGMElHbDBYRzRnSUM4dklHTmhiaUJpWlNCMWMyVmtJR1p2Y2lCamIyMXdZWEpwYzI5dUxseHVYRzVjYmlBZ2JtOXliV0ZzYVhwbFNGUk5UQ0E5SUdaMWJtTjBhVzl1SUNod1lYSmxiblFzSUdoMGJXd3BJSHRjYmlBZ0lDQXZMeUJYWlNCamIzVnNaQ0JvWVhabElHTnlaV0YwWldRZ1lTQnpaWEJoY21GMFpTQmtiMk4xYldWdWRDQm9aWEpsSUhSdklHRjJiMmxrWEc0Z0lDQWdMeThnY21VdGFXNXBkR2xoYkdsNmFXNW5JR04xYzNSdmJTQmxiR1Z0Wlc1MGN5QnBaaUIwYUdWNUlHVjRhWE4wTGlCQ2RYUWdkR2hwY3lCaWNtVmhhM05jYmlBZ0lDQXZMeUJvYjNjZ1BHNXZjMk55YVhCMFBpQnBjeUJpWldsdVp5Qm9ZVzVrYkdWa0xpQlRieUIzWlNCMWMyVWdkR2hsSUhOaGJXVWdaRzlqZFcxbGJuUXVYRzRnSUNBZ0x5OGdVMlZsSUhSb1pTQmthWE5qZFhOemFXOXVJR2x1SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVlXTmxZbTl2YXk5eVpXRmpkQzl3ZFd4c0x6RXhNVFUzTGx4dUlDQWdJSFpoY2lCMFpYTjBSV3hsYldWdWRDQTlJSEJoY21WdWRDNXVZVzFsYzNCaFkyVlZVa2tnUFQwOUlFaFVUVXhmVGtGTlJWTlFRVU5GSkRFZ1B5QndZWEpsYm5RdWIzZHVaWEpFYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtIQmhjbVZ1ZEM1MFlXZE9ZVzFsS1NBNklIQmhjbVZ1ZEM1dmQyNWxja1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5ST1V5aHdZWEpsYm5RdWJtRnRaWE53WVdObFZWSkpMQ0J3WVhKbGJuUXVkR0ZuVG1GdFpTazdYRzRnSUNBZ2RHVnpkRVZzWlcxbGJuUXVhVzV1WlhKSVZFMU1JRDBnYUhSdGJEdGNiaUFnSUNCeVpYUjFjbTRnZEdWemRFVnNaVzFsYm5RdWFXNXVaWEpJVkUxTU8xeHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsYm5OMWNtVk1hWE4wWlc1cGJtZFVieWh5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEN3Z2NtVm5hWE4wY21GMGFXOXVUbUZ0WlNrZ2UxeHVJQ0IyWVhJZ2FYTkViMk4xYldWdWRFOXlSbkpoWjIxbGJuUWdQU0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEM1dWIyUmxWSGx3WlNBOVBUMGdSRTlEVlUxRlRsUmZUazlFUlNCOGZDQnliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQzV1YjJSbFZIbHdaU0E5UFQwZ1JFOURWVTFGVGxSZlJsSkJSMDFGVGxSZlRrOUVSVHRjYmlBZ2RtRnlJR1J2WXlBOUlHbHpSRzlqZFcxbGJuUlBja1p5WVdkdFpXNTBJRDhnY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5RZ09pQnliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQzV2ZDI1bGNrUnZZM1Z0Wlc1ME8xeHVJQ0JzWldkaFkzbE1hWE4wWlc1VWIwVjJaVzUwS0hKbFoybHpkSEpoZEdsdmJrNWhiV1VzSUdSdll5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRTkzYm1WeVJHOWpkVzFsYm5SR2NtOXRVbTl2ZEVOdmJuUmhhVzVsY2loeWIyOTBRMjl1ZEdGcGJtVnlSV3hsYldWdWRDa2dlMXh1SUNCeVpYUjFjbTRnY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5RdWJtOWtaVlI1Y0dVZ1BUMDlJRVJQUTFWTlJVNVVYMDVQUkVVZ1B5QnliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQ0E2SUhKdmIzUkRiMjUwWVdsdVpYSkZiR1Z0Wlc1MExtOTNibVZ5Ukc5amRXMWxiblE3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzV2YjNBb0tTQjdmVnh1WEc1bWRXNWpkR2x2YmlCMGNtRndRMnhwWTJ0UGJrNXZia2x1ZEdWeVlXTjBhWFpsUld4bGJXVnVkQ2h1YjJSbEtTQjdYRzRnSUM4dklFMXZZbWxzWlNCVFlXWmhjbWtnWkc5bGN5QnViM1FnWm1seVpTQndjbTl3WlhKc2VTQmlkV0ppYkdVZ1kyeHBZMnNnWlhabGJuUnpJRzl1WEc0Z0lDOHZJRzV2YmkxcGJuUmxjbUZqZEdsMlpTQmxiR1Z0Wlc1MGN5d2dkMmhwWTJnZ2JXVmhibk1nWkdWc1pXZGhkR1ZrSUdOc2FXTnJJR3hwYzNSbGJtVnljeUJrYnlCdWIzUmNiaUFnTHk4Z1ptbHlaUzRnVkdobElIZHZjbXRoY205MWJtUWdabTl5SUhSb2FYTWdZblZuSUdsdWRtOXNkbVZ6SUdGMGRHRmphR2x1WnlCaGJpQmxiWEIwZVNCamJHbGphMXh1SUNBdkx5QnNhWE4wWlc1bGNpQnZiaUIwYUdVZ2RHRnlaMlYwSUc1dlpHVXVYRzRnSUM4dklHaDBkSEE2THk5M2QzY3VjWFZwY210emJXOWtaUzV2Y21jdllteHZaeTloY21Ob2FYWmxjeTh5TURFd0x6QTVMMk5zYVdOclgyVjJaVzUwWDJSbGJDNW9kRzFzWEc0Z0lDOHZJRXAxYzNRZ2MyVjBJR2wwSUhWemFXNW5JSFJvWlNCdmJtTnNhV05ySUhCeWIzQmxjblI1SUhOdklIUm9ZWFFnZDJVZ1pHOXVKM1FnYUdGMlpTQjBieUJ0WVc1aFoyVWdZVzU1WEc0Z0lDOHZJR0p2YjJ0clpXVndhVzVuSUdadmNpQnBkQzRnVG05MElITjFjbVVnYVdZZ2QyVWdibVZsWkNCMGJ5QmpiR1ZoY2lCcGRDQjNhR1Z1SUhSb1pTQnNhWE4wWlc1bGNpQnBjMXh1SUNBdkx5QnlaVzF2ZG1Wa0xseHVJQ0F2THlCVVQwUlBPaUJQYm14NUlHUnZJSFJvYVhNZ1ptOXlJSFJvWlNCeVpXeGxkbUZ1ZENCVFlXWmhjbWx6SUcxaGVXSmxQMXh1SUNCdWIyUmxMbTl1WTJ4cFkyc2dQU0J1YjI5d08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCelpYUkpibWwwYVdGc1JFOU5VSEp2Y0dWeWRHbGxjeWgwWVdjc0lHUnZiVVZzWlcxbGJuUXNJSEp2YjNSRGIyNTBZV2x1WlhKRmJHVnRaVzUwTENCdVpYaDBVSEp2Y0hNc0lHbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5LU0I3WEc0Z0lHWnZjaUFvZG1GeUlIQnliM0JMWlhrZ2FXNGdibVY0ZEZCeWIzQnpLU0I3WEc0Z0lDQWdhV1lnS0NGdVpYaDBVSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0hKdmNFdGxlU2twSUh0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCdVpYaDBVSEp2Y0NBOUlHNWxlSFJRY205d2MxdHdjbTl3UzJWNVhUdGNibHh1SUNBZ0lHbG1JQ2h3Y205d1MyVjVJRDA5UFNCVFZGbE1SU2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCcFppQW9ibVY0ZEZCeWIzQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkdjbVZsZW1VZ2RHaGxJRzVsZUhRZ2MzUjViR1VnYjJKcVpXTjBJSE52SUhSb1lYUWdkMlVnWTJGdUlHRnpjM1Z0WlNCcGRDQjNiMjRuZENCaVpWeHVJQ0FnSUNBZ0lDQWdJQzh2SUcxMWRHRjBaV1F1SUZkbElHaGhkbVVnWVd4eVpXRmtlU0IzWVhKdVpXUWdabTl5SUhSb2FYTWdhVzRnZEdobElIQmhjM1F1WEc0Z0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1aeVpXVjZaU2h1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwZ0x5OGdVbVZzYVdWeklHOXVJR0IxY0dSaGRHVlRkSGxzWlhOQ2VVbEVZQ0J1YjNRZ2JYVjBZWFJwYm1jZ1lITjBlV3hsVlhCa1lYUmxjMkF1WEc1Y2JseHVJQ0FnSUNBZ2MyVjBWbUZzZFdWR2IzSlRkSGxzWlhNb1pHOXRSV3hsYldWdWRDd2dibVY0ZEZCeWIzQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9jSEp2Y0V0bGVTQTlQVDBnUkVGT1IwVlNUMVZUVEZsZlUwVlVYMGxPVGtWU1gwaFVUVXdwSUh0Y2JpQWdJQ0FnSUhaaGNpQnVaWGgwU0hSdGJDQTlJRzVsZUhSUWNtOXdJRDhnYm1WNGRGQnliM0JiU0ZSTlRDUXhYU0E2SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUNBZ2FXWWdLRzVsZUhSSWRHMXNJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYzJWMFNXNXVaWEpJVkUxTUtHUnZiVVZzWlcxbGJuUXNJRzVsZUhSSWRHMXNLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVOSVNVeEVVa1ZPS1NCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxlSFJRY205d0lEMDlQU0FuYzNSeWFXNW5KeWtnZTF4dUlDQWdJQ0FnSUNBdkx5QkJkbTlwWkNCelpYUjBhVzVuSUdsdWFYUnBZV3dnZEdWNGRFTnZiblJsYm5RZ2QyaGxiaUIwYUdVZ2RHVjRkQ0JwY3lCbGJYQjBlUzRnU1c0Z1NVVXhNU0J6WlhSMGFXNW5YRzRnSUNBZ0lDQWdJQzh2SUhSbGVIUkRiMjUwWlc1MElHOXVJR0VnUEhSbGVIUmhjbVZoUGlCM2FXeHNJR05oZFhObElIUm9aU0J3YkdGalpXaHZiR1JsY2lCMGJ5QnViM1JjYmlBZ0lDQWdJQ0FnTHk4Z2MyaHZkeUIzYVhSb2FXNGdkR2hsSUR4MFpYaDBZWEpsWVQ0Z2RXNTBhV3dnYVhRZ2FHRnpJR0psWlc0Z1ptOWpkWE5sWkNCaGJtUWdZbXgxY25KbFpDQmhaMkZwYmk1Y2JpQWdJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMlpoWTJWaWIyOXJMM0psWVdOMEwybHpjM1ZsY3k4Mk56TXhJMmx6YzNWbFkyOXRiV1Z1ZEMweU5UUTROelExTlROY2JpQWdJQ0FnSUNBZ2RtRnlJR05oYmxObGRGUmxlSFJEYjI1MFpXNTBJRDBnZEdGbklDRTlQU0FuZEdWNGRHRnlaV0VuSUh4OElHNWxlSFJRY205d0lDRTlQU0FuSnp0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWTJGdVUyVjBWR1Y0ZEVOdmJuUmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnpaWFJVWlhoMFEyOXVkR1Z1ZENoa2IyMUZiR1Z0Wlc1MExDQnVaWGgwVUhKdmNDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JRzVsZUhSUWNtOXdJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUNBZ0lDQnpaWFJVWlhoMFEyOXVkR1Z1ZENoa2IyMUZiR1Z0Wlc1MExDQW5KeUFySUc1bGVIUlFjbTl3S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0NCd2NtOXdTMlY1SUQwOVBTQlRWVkJRVWtWVFUxOURUMDVVUlU1VVgwVkVTVlJCUWt4RlgxZEJVazVKVGtjZ2ZId2djSEp2Y0V0bGVTQTlQVDBnVTFWUVVGSkZVMU5mU0ZsRVVrRlVTVTlPWDFkQlVrNUpUa2NwSURzZ1pXeHpaU0JwWmlBb2NISnZjRXRsZVNBOVBUMGdRVlZVVDBaUFExVlRLU0E3SUdWc2MyVWdhV1lnS0hKbFoybHpkSEpoZEdsdmJrNWhiV1ZOYjJSMWJHVnpMbWhoYzA5M2JsQnliM0JsY25SNUtIQnliM0JMWlhrcEtTQjdYRzRnSUNBZ0lDQnBaaUFvYm1WNGRGQnliM0FnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9JSFI1Y0dWdlppQnVaWGgwVUhKdmNDQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSGRoY201R2IzSkpiblpoYkdsa1JYWmxiblJNYVhOMFpXNWxjaWh3Y205d1MyVjVMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmxibk4xY21WTWFYTjBaVzVwYm1kVWJ5aHliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQ3dnY0hKdmNFdGxlU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h1WlhoMFVISnZjQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J6WlhSV1lXeDFaVVp2Y2xCeWIzQmxjblI1S0dSdmJVVnNaVzFsYm5Rc0lIQnliM0JMWlhrc0lHNWxlSFJRY205d0xDQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVVJQVFZCeWIzQmxjblJwWlhNb1pHOXRSV3hsYldWdWRDd2dkWEJrWVhSbFVHRjViRzloWkN3Z2QyRnpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5MQ0JwYzBOMWMzUnZiVU52YlhCdmJtVnVkRlJoWnlrZ2UxeHVJQ0F2THlCVVQwUlBPaUJJWVc1a2JHVWdkMkZ6UTNWemRHOXRRMjl0Y0c5dVpXNTBWR0ZuWEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dkWEJrWVhSbFVHRjViRzloWkM1c1pXNW5kR2c3SUdrZ0t6MGdNaWtnZTF4dUlDQWdJSFpoY2lCd2NtOXdTMlY1SUQwZ2RYQmtZWFJsVUdGNWJHOWhaRnRwWFR0Y2JpQWdJQ0IyWVhJZ2NISnZjRlpoYkhWbElEMGdkWEJrWVhSbFVHRjViRzloWkZ0cElDc2dNVjA3WEc1Y2JpQWdJQ0JwWmlBb2NISnZjRXRsZVNBOVBUMGdVMVJaVEVVcElIdGNiaUFnSUNBZ0lITmxkRlpoYkhWbFJtOXlVM1I1YkdWektHUnZiVVZzWlcxbGJuUXNJSEJ5YjNCV1lXeDFaU2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2h3Y205d1MyVjVJRDA5UFNCRVFVNUhSVkpQVlZOTVdWOVRSVlJmU1U1T1JWSmZTRlJOVENrZ2UxeHVJQ0FnSUNBZ2MyVjBTVzV1WlhKSVZFMU1LR1J2YlVWc1pXMWxiblFzSUhCeWIzQldZV3gxWlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNod2NtOXdTMlY1SUQwOVBTQkRTRWxNUkZKRlRpa2dlMXh1SUNBZ0lDQWdjMlYwVkdWNGRFTnZiblJsYm5Rb1pHOXRSV3hsYldWdWRDd2djSEp2Y0ZaaGJIVmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2MyVjBWbUZzZFdWR2IzSlFjbTl3WlhKMGVTaGtiMjFGYkdWdFpXNTBMQ0J3Y205d1MyVjVMQ0J3Y205d1ZtRnNkV1VzSUdselEzVnpkRzl0UTI5dGNHOXVaVzUwVkdGbktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFJXeGxiV1Z1ZENoMGVYQmxMQ0J3Y205d2N5d2djbTl2ZEVOdmJuUmhhVzVsY2tWc1pXMWxiblFzSUhCaGNtVnVkRTVoYldWemNHRmpaU2tnZTF4dUlDQjJZWElnYVhORGRYTjBiMjFEYjIxd2IyNWxiblJVWVdjN0lDOHZJRmRsSUdOeVpXRjBaU0IwWVdkeklHbHVJSFJvWlNCdVlXMWxjM0JoWTJVZ2IyWWdkR2hsYVhJZ2NHRnlaVzUwSUdOdmJuUmhhVzVsY2l3Z1pYaGpaWEIwSUVoVVRVeGNiaUFnTHk4Z2RHRm5jeUJuWlhRZ2JtOGdibUZ0WlhOd1lXTmxMbHh1WEc0Z0lIWmhjaUJ2ZDI1bGNrUnZZM1Z0Wlc1MElEMGdaMlYwVDNkdVpYSkViMk4xYldWdWRFWnliMjFTYjI5MFEyOXVkR0ZwYm1WeUtISnZiM1JEYjI1MFlXbHVaWEpGYkdWdFpXNTBLVHRjYmlBZ2RtRnlJR1J2YlVWc1pXMWxiblE3WEc0Z0lIWmhjaUJ1WVcxbGMzQmhZMlZWVWtrZ1BTQndZWEpsYm5ST1lXMWxjM0JoWTJVN1hHNWNiaUFnYVdZZ0tHNWhiV1Z6Y0dGalpWVlNTU0E5UFQwZ1NGUk5URjlPUVUxRlUxQkJRMFVrTVNrZ2UxeHVJQ0FnSUc1aGJXVnpjR0ZqWlZWU1NTQTlJR2RsZEVsdWRISnBibk5wWTA1aGJXVnpjR0ZqWlNoMGVYQmxLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHVZVzFsYzNCaFkyVlZVa2tnUFQwOUlFaFVUVXhmVGtGTlJWTlFRVU5GSkRFcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCcGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5QTlJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBLSFI1Y0dVc0lIQnliM0J6S1RzZ0x5OGdVMmh2ZFd4a0lIUm9hWE1nWTJobFkyc2dZbVVnWjJGMFpXUWdZbmtnY0dGeVpXNTBJRzVoYldWemNHRmpaVDhnVG05MElITjFjbVVnZDJVZ2QyRnVkQ0IwYjF4dUlDQWdJQ0FnTHk4Z1lXeHNiM2NnUEZOV1J6NGdiM0lnUEcxQlZFZytMbHh1WEc0Z0lDQWdJQ0JwWmlBb0lXbHpRM1Z6ZEc5dFEyOXRjRzl1Wlc1MFZHRm5JQ1ltSUhSNWNHVWdJVDA5SUhSNWNHVXVkRzlNYjNkbGNrTmhjMlVvS1NrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnblBDVnpJQzgrSUdseklIVnphVzVuSUdsdVkyOXljbVZqZENCallYTnBibWN1SUNjZ0t5QW5WWE5sSUZCaGMyTmhiRU5oYzJVZ1ptOXlJRkpsWVdOMElHTnZiWEJ2Ym1WdWRITXNJQ2NnS3lBbmIzSWdiRzkzWlhKallYTmxJR1p2Y2lCSVZFMU1JR1ZzWlcxbGJuUnpMaWNzSUhSNWNHVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbElEMDlQU0FuYzJOeWFYQjBKeWtnZTF4dUlDQWdJQ0FnTHk4Z1EzSmxZWFJsSUhSb1pTQnpZM0pwY0hRZ2RtbGhJQzVwYm01bGNraFVUVXdnYzI4Z2FYUnpJRndpY0dGeWMyVnlMV2x1YzJWeWRHVmtYQ0lnWm14aFp5QnBjMXh1SUNBZ0lDQWdMeThnYzJWMElIUnZJSFJ5ZFdVZ1lXNWtJR2wwSUdSdlpYTWdibTkwSUdWNFpXTjFkR1ZjYmlBZ0lDQWdJSFpoY2lCa2FYWWdQU0J2ZDI1bGNrUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjJScGRpY3BPMXh1WEc0Z0lDQWdJQ0JrYVhZdWFXNXVaWEpJVkUxTUlEMGdKenh6WTNKcGNIUStQQ2NnS3lBbkwzTmpjbWx3ZEQ0bk95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsWEc0Z0lDQWdJQ0F2THlCVWFHbHpJR2x6SUdkMVlYSmhiblJsWldRZ2RHOGdlV2xsYkdRZ1lTQnpZM0pwY0hRZ1pXeGxiV1Z1ZEM1Y2JseHVJQ0FnSUNBZ2RtRnlJR1pwY25OMFEyaHBiR1FnUFNCa2FYWXVabWx5YzNSRGFHbHNaRHRjYmlBZ0lDQWdJR1J2YlVWc1pXMWxiblFnUFNCa2FYWXVjbVZ0YjNabFEyaHBiR1FvWm1seWMzUkRhR2xzWkNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnY0hKdmNITXVhWE1nUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQXZMeUFrUm14dmQwbHpjM1ZsSUdCamNtVmhkR1ZGYkdWdFpXNTBZQ0J6YUc5MWJHUWdZbVVnZFhCa1lYUmxaQ0JtYjNJZ1YyVmlJRU52YlhCdmJtVnVkSE5jYmlBZ0lDQWdJR1J2YlVWc1pXMWxiblFnUFNCdmQyNWxja1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb2RIbHdaU3dnZTF4dUlDQWdJQ0FnSUNCcGN6b2djSEp2Y0hNdWFYTmNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QlRaWEJoY21GMFpTQmxiSE5sSUdKeVlXNWphQ0JwYm5OMFpXRmtJRzltSUhWemFXNW5JR0J3Y205d2N5NXBjeUI4ZkNCMWJtUmxabWx1WldSZ0lHRmliM1psSUdKbFkyRjFjMlVnYjJZZ1lTQkdhWEpsWm05NElHSjFaeTVjYmlBZ0lDQWdJQzh2SUZObFpTQmthWE5qZFhOemFXOXVJR2x1SUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVlXTmxZbTl2YXk5eVpXRmpkQzl3ZFd4c0x6WTRPVFpjYmlBZ0lDQWdJQzh2SUdGdVpDQmthWE5qZFhOemFXOXVJR2x1SUdoMGRIQnpPaTh2WW5WbmVtbHNiR0V1Ylc5NmFXeHNZUzV2Y21jdmMyaHZkMTlpZFdjdVkyZHBQMmxrUFRFeU56WXlOREJjYmlBZ0lDQWdJR1J2YlVWc1pXMWxiblFnUFNCdmQyNWxja1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb2RIbHdaU2s3SUM4dklFNXZjbTFoYkd4NUlHRjBkSEpwWW5WMFpYTWdZWEpsSUdGemMybG5ibVZrSUdsdUlHQnpaWFJKYm1sMGFXRnNSRTlOVUhKdmNHVnlkR2xsYzJBc0lHaHZkMlYyWlhJZ2RHaGxJR0J0ZFd4MGFYQnNaV0FnWVc1a0lHQnphWHBsWUZ4dUlDQWdJQ0FnTHk4Z1lYUjBjbWxpZFhSbGN5QnZiaUJnYzJWc1pXTjBZSE1nYm1WbFpITWdkRzhnWW1VZ1lXUmtaV1FnWW1WbWIzSmxJR0J2Y0hScGIyNWdjeUJoY21VZ2FXNXpaWEowWldRdVhHNGdJQ0FnSUNBdkx5QlVhR2x6SUhCeVpYWmxiblJ6T2x4dUlDQWdJQ0FnTHk4Z0xTQmhJR0oxWnlCM2FHVnlaU0IwYUdVZ1lITmxiR1ZqZEdBZ1pHOWxjeUJ1YjNRZ2MyTnliMnhzSUhSdklIUm9aU0JqYjNKeVpXTjBJRzl3ZEdsdmJpQmlaV05oZFhObElITnBibWQxYkdGeVhHNGdJQ0FnSUNBdkx5QWdZSE5sYkdWamRHQWdaV3hsYldWdWRITWdZWFYwYjIxaGRHbGpZV3hzZVNCd2FXTnJJSFJvWlNCbWFYSnpkQ0JwZEdWdElDTXhNekl5TWx4dUlDQWdJQ0FnTHk4Z0xTQmhJR0oxWnlCM2FHVnlaU0IwYUdVZ1lITmxiR1ZqZEdBZ2MyVjBJSFJvWlNCbWFYSnpkQ0JwZEdWdElHRnpJSE5sYkdWamRHVmtJR1JsYzNCcGRHVWdkR2hsSUdCemFYcGxZQ0JoZEhSeWFXSjFkR1VnSXpFME1qTTVYRzRnSUNBZ0lDQXZMeUJUWldVZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyWmhZMlZpYjI5ckwzSmxZV04wTDJsemMzVmxjeTh4TXpJeU1seHVJQ0FnSUNBZ0x5OGdZVzVrSUdoMGRIQnpPaTh2WjJsMGFIVmlMbU52YlM5bVlXTmxZbTl2YXk5eVpXRmpkQzlwYzNOMVpYTXZNVFF5TXpsY2JseHVJQ0FnSUNBZ2FXWWdLSFI1Y0dVZ1BUMDlJQ2R6Wld4bFkzUW5LU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnViMlJsSUQwZ1pHOXRSV3hsYldWdWREdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2NISnZjSE11YlhWc2RHbHdiR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnViMlJsTG0xMWJIUnBjR3hsSUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNod2NtOXdjeTV6YVhwbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1UyVjBkR2x1WnlCaElITnBlbVVnWjNKbFlYUmxjaUIwYUdGdUlERWdZMkYxYzJWeklHRWdjMlZzWldOMElIUnZJR0psYUdGMlpTQnNhV3RsSUdCdGRXeDBhWEJzWlQxMGNuVmxZQ3dnZDJobGNtVmNiaUFnSUNBZ0lDQWdJQ0F2THlCcGRDQnBjeUJ3YjNOemFXSnNaU0IwYUdGMElHNXZJRzl3ZEdsdmJpQnBjeUJ6Wld4bFkzUmxaQzVjYmlBZ0lDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQWdJQzh2SUZSb2FYTWdhWE1nYjI1c2VTQnVaV05sYzNOaGNua2dkMmhsYmlCaElITmxiR1ZqZENCcGJpQmNJbk5wYm1kc1pTQnpaV3hsWTNScGIyNGdiVzlrWlZ3aUxseHVJQ0FnSUNBZ0lDQWdJRzV2WkdVdWMybDZaU0E5SUhCeWIzQnpMbk5wZW1VN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pHOXRSV3hsYldWdWRDQTlJRzkzYm1WeVJHOWpkVzFsYm5RdVkzSmxZWFJsUld4bGJXVnVkRTVUS0c1aGJXVnpjR0ZqWlZWU1NTd2dkSGx3WlNrN1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLRzVoYldWemNHRmpaVlZTU1NBOVBUMGdTRlJOVEY5T1FVMUZVMUJCUTBVa01Ta2dlMXh1SUNBZ0lDQWdhV1lnS0NGcGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5QW1KaUJQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b1pHOXRSV3hsYldWdWRDa2dQVDA5SUNkYmIySnFaV04wSUVoVVRVeFZibXR1YjNkdVJXeGxiV1Z1ZEYwbklDWW1JQ0ZQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMbWhoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvZDJGeWJtVmtWVzVyYm05M2JsUmhaM01zSUhSNWNHVXBLU0I3WEc0Z0lDQWdJQ0FnSUhkaGNtNWxaRlZ1YTI1dmQyNVVZV2R6VzNSNWNHVmRJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25WR2hsSUhSaFp5QThKWE0rSUdseklIVnVjbVZqYjJkdWFYcGxaQ0JwYmlCMGFHbHpJR0p5YjNkelpYSXVJQ2NnS3lBblNXWWdlVzkxSUcxbFlXNTBJSFJ2SUhKbGJtUmxjaUJoSUZKbFlXTjBJR052YlhCdmJtVnVkQ3dnYzNSaGNuUWdhWFJ6SUc1aGJXVWdkMmwwYUNBbklDc2dKMkZ1SUhWd2NHVnlZMkZ6WlNCc1pYUjBaWEl1Snl3Z2RIbHdaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1J2YlVWc1pXMWxiblE3WEc1OVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWVVpYaDBUbTlrWlNoMFpYaDBMQ0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZENrZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwVDNkdVpYSkViMk4xYldWdWRFWnliMjFTYjI5MFEyOXVkR0ZwYm1WeUtISnZiM1JEYjI1MFlXbHVaWEpGYkdWdFpXNTBLUzVqY21WaGRHVlVaWGgwVG05a1pTaDBaWGgwS1R0Y2JuMWNibVoxYm1OMGFXOXVJSE5sZEVsdWFYUnBZV3hRY205d1pYSjBhV1Z6S0dSdmJVVnNaVzFsYm5Rc0lIUmhaeXdnY21GM1VISnZjSE1zSUhKdmIzUkRiMjUwWVdsdVpYSkZiR1Z0Wlc1MEtTQjdYRzRnSUhaaGNpQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeUE5SUdselEzVnpkRzl0UTI5dGNHOXVaVzUwS0hSaFp5d2djbUYzVUhKdmNITXBPMXh1WEc0Z0lIdGNiaUFnSUNCMllXeHBaR0YwWlZCeWIzQmxjblJwWlhOSmJrUmxkbVZzYjNCdFpXNTBLSFJoWnl3Z2NtRjNVSEp2Y0hNcE8xeHVJQ0I5SUM4dklGUlBSRTg2SUUxaGEyVWdjM1Z5WlNCMGFHRjBJSGRsSUdOb1pXTnJJR2x6VFc5MWJuUmxaQ0JpWldadmNtVWdabWx5YVc1bklHRnVlU0J2WmlCMGFHVnpaU0JsZG1WdWRITXVYRzVjYmx4dUlDQjJZWElnY0hKdmNITTdYRzVjYmlBZ2MzZHBkR05vSUNoMFlXY3BJSHRjYmlBZ0lDQmpZWE5sSUNkcFpuSmhiV1VuT2x4dUlDQWdJR05oYzJVZ0oyOWlhbVZqZENjNlhHNGdJQ0FnWTJGelpTQW5aVzFpWldRbk9seHVJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENoVVQxQmZURTlCUkN3Z1pHOXRSV3hsYldWdWRDazdYRzRnSUNBZ0lDQndjbTl3Y3lBOUlISmhkMUJ5YjNCek8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZDJhV1JsYnljNlhHNGdJQ0FnWTJGelpTQW5ZWFZrYVc4bk9seHVJQ0FnSUNBZ0x5OGdRM0psWVhSbElHeHBjM1JsYm1WeUlHWnZjaUJsWVdOb0lHMWxaR2xoSUdWMlpXNTBYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJRzFsWkdsaFJYWmxiblJVZVhCbGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0cxbFpHbGhSWFpsYm5SVWVYQmxjMXRwWFN3Z1pHOXRSV3hsYldWdWRDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEJ5YjNCeklEMGdjbUYzVUhKdmNITTdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKM052ZFhKalpTYzZYRzRnSUNBZ0lDQjBjbUZ3UW5WaVlteGxaRVYyWlc1MEtGUlBVRjlGVWxKUFVpd2daRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0J3Y205d2N5QTlJSEpoZDFCeWIzQnpPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJQ2RwYldjbk9seHVJQ0FnSUdOaGMyVWdKMmx0WVdkbEp6cGNiaUFnSUNCallYTmxJQ2RzYVc1ckp6cGNiaUFnSUNBZ0lIUnlZWEJDZFdKaWJHVmtSWFpsYm5Rb1ZFOVFYMFZTVWs5U0xDQmtiMjFGYkdWdFpXNTBLVHRjYmlBZ0lDQWdJSFJ5WVhCQ2RXSmliR1ZrUlhabGJuUW9WRTlRWDB4UFFVUXNJR1J2YlVWc1pXMWxiblFwTzF4dUlDQWdJQ0FnY0hKdmNITWdQU0J5WVhkUWNtOXdjenRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuWm05eWJTYzZYRzRnSUNBZ0lDQjBjbUZ3UW5WaVlteGxaRVYyWlc1MEtGUlBVRjlTUlZORlZDd2daRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0IwY21Gd1FuVmlZbXhsWkVWMlpXNTBLRlJQVUY5VFZVSk5TVlFzSUdSdmJVVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2NISnZjSE1nUFNCeVlYZFFjbTl3Y3p0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBblpHVjBZV2xzY3ljNlhHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOVVUMGRIVEVVc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdjSEp2Y0hNZ1BTQnlZWGRRY205d2N6dGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWTJGelpTQW5hVzV3ZFhRbk9seHVJQ0FnSUNBZ2FXNXBkRmR5WVhCd1pYSlRkR0YwWlNoa2IyMUZiR1Z0Wlc1MExDQnlZWGRRY205d2N5azdYRzRnSUNBZ0lDQndjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeWhrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOUpUbFpCVEVsRUxDQmtiMjFGYkdWdFpXNTBLVHNnTHk4Z1JtOXlJR052Ym5SeWIyeHNaV1FnWTI5dGNHOXVaVzUwY3lCM1pTQmhiSGRoZVhNZ2JtVmxaQ0IwYnlCbGJuTjFjbVVnZDJVbmNtVWdiR2x6ZEdWdWFXNW5YRzRnSUNBZ0lDQXZMeUIwYnlCdmJrTm9ZVzVuWlM0Z1JYWmxiaUJwWmlCMGFHVnlaU0JwY3lCdWJ5QnNhWE4wWlc1bGNpNWNibHh1SUNBZ0lDQWdaVzV6ZFhKbFRHbHpkR1Z1YVc1blZHOG9jbTl2ZEVOdmJuUmhhVzVsY2tWc1pXMWxiblFzSUNkdmJrTm9ZVzVuWlNjcE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZHZjSFJwYjI0bk9seHVJQ0FnSUNBZ2RtRnNhV1JoZEdWUWNtOXdjeWhrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCd2NtOXdjeUE5SUdkbGRFaHZjM1JRY205d2N5UXhLR1J2YlVWc1pXMWxiblFzSUhKaGQxQnliM0J6S1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBbmMyVnNaV04wSnpwY2JpQWdJQ0FnSUdsdWFYUlhjbUZ3Y0dWeVUzUmhkR1VrTVNoa2IyMUZiR1Z0Wlc1MExDQnlZWGRRY205d2N5azdYRzRnSUNBZ0lDQndjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeVF5S0dSdmJVVnNaVzFsYm5Rc0lISmhkMUJ5YjNCektUdGNiaUFnSUNBZ0lIUnlZWEJDZFdKaWJHVmtSWFpsYm5Rb1ZFOVFYMGxPVmtGTVNVUXNJR1J2YlVWc1pXMWxiblFwT3lBdkx5QkdiM0lnWTI5dWRISnZiR3hsWkNCamIyMXdiMjVsYm5SeklIZGxJR0ZzZDJGNWN5QnVaV1ZrSUhSdklHVnVjM1Z5WlNCM1pTZHlaU0JzYVhOMFpXNXBibWRjYmlBZ0lDQWdJQzh2SUhSdklHOXVRMmhoYm1kbExpQkZkbVZ1SUdsbUlIUm9aWEpsSUdseklHNXZJR3hwYzNSbGJtVnlMbHh1WEc0Z0lDQWdJQ0JsYm5OMWNtVk1hWE4wWlc1cGJtZFVieWh5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEN3Z0oyOXVRMmhoYm1kbEp5azdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKM1JsZUhSaGNtVmhKenBjYmlBZ0lDQWdJR2x1YVhSWGNtRndjR1Z5VTNSaGRHVWtNaWhrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCd2NtOXdjeUE5SUdkbGRFaHZjM1JRY205d2N5UXpLR1J2YlVWc1pXMWxiblFzSUhKaGQxQnliM0J6S1R0Y2JpQWdJQ0FnSUhSeVlYQkNkV0ppYkdWa1JYWmxiblFvVkU5UVgwbE9Wa0ZNU1VRc0lHUnZiVVZzWlcxbGJuUXBPeUF2THlCR2IzSWdZMjl1ZEhKdmJHeGxaQ0JqYjIxd2IyNWxiblJ6SUhkbElHRnNkMkY1Y3lCdVpXVmtJSFJ2SUdWdWMzVnlaU0IzWlNkeVpTQnNhWE4wWlc1cGJtZGNiaUFnSUNBZ0lDOHZJSFJ2SUc5dVEyaGhibWRsTGlCRmRtVnVJR2xtSUhSb1pYSmxJR2x6SUc1dklHeHBjM1JsYm1WeUxseHVYRzRnSUNBZ0lDQmxibk4xY21WTWFYTjBaVzVwYm1kVWJ5aHliMjkwUTI5dWRHRnBibVZ5Uld4bGJXVnVkQ3dnSjI5dVEyaGhibWRsSnlrN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQndjbTl3Y3lBOUlISmhkMUJ5YjNCek8xeHVJQ0I5WEc1Y2JpQWdZWE56WlhKMFZtRnNhV1JRY205d2N5aDBZV2NzSUhCeWIzQnpLVHRjYmlBZ2MyVjBTVzVwZEdsaGJFUlBUVkJ5YjNCbGNuUnBaWE1vZEdGbkxDQmtiMjFGYkdWdFpXNTBMQ0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZEN3Z2NISnZjSE1zSUdselEzVnpkRzl0UTI5dGNHOXVaVzUwVkdGbktUdGNibHh1SUNCemQybDBZMmdnS0hSaFp5a2dlMXh1SUNBZ0lHTmhjMlVnSjJsdWNIVjBKenBjYmlBZ0lDQWdJQzh2SUZSUFJFODZJRTFoYTJVZ2MzVnlaU0IzWlNCamFHVmpheUJwWmlCMGFHbHpJR2x6SUhOMGFXeHNJSFZ1Ylc5MWJuUmxaQ0J2Y2lCa2J5QmhibmtnWTJ4bFlXNWNiaUFnSUNBZ0lDOHZJSFZ3SUc1bFkyVnpjMkZ5ZVNCemFXNWpaU0IzWlNCdVpYWmxjaUJ6ZEc5d0lIUnlZV05yYVc1bklHRnVlVzF2Y21VdVhHNGdJQ0FnSUNCMGNtRmpheWhrYjIxRmJHVnRaVzUwS1R0Y2JpQWdJQ0FnSUhCdmMzUk5iM1Z1ZEZkeVlYQndaWElvWkc5dFJXeGxiV1Z1ZEN3Z2NtRjNVSEp2Y0hNc0lHWmhiSE5sS1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBbmRHVjRkR0Z5WldFbk9seHVJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1RXRnJaU0J6ZFhKbElIZGxJR05vWldOcklHbG1JSFJvYVhNZ2FYTWdjM1JwYkd3Z2RXNXRiM1Z1ZEdWa0lHOXlJR1J2SUdGdWVTQmpiR1ZoYmx4dUlDQWdJQ0FnTHk4Z2RYQWdibVZqWlhOellYSjVJSE5wYm1ObElIZGxJRzVsZG1WeUlITjBiM0FnZEhKaFkydHBibWNnWVc1NWJXOXlaUzVjYmlBZ0lDQWdJSFJ5WVdOcktHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdjRzl6ZEUxdmRXNTBWM0poY0hCbGNpUXpLR1J2YlVWc1pXMWxiblFwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQmpZWE5sSUNkdmNIUnBiMjRuT2x4dUlDQWdJQ0FnY0c5emRFMXZkVzUwVjNKaGNIQmxjaVF4S0dSdmJVVnNaVzFsYm5Rc0lISmhkMUJ5YjNCektUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWTJGelpTQW5jMlZzWldOMEp6cGNiaUFnSUNBZ0lIQnZjM1JOYjNWdWRGZHlZWEJ3WlhJa01paGtiMjFGYkdWdFpXNTBMQ0J5WVhkUWNtOXdjeWs3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlIQnliM0J6TG05dVEyeHBZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nVkdocGN5QmpZWE4wSUcxaGVTQnViM1FnWW1VZ2MyOTFibVFnWm05eUlGTldSeXdnVFdGMGFFMU1JRzl5SUdOMWMzUnZiU0JsYkdWdFpXNTBjeTVjYmlBZ0lDQWdJQ0FnZEhKaGNFTnNhV05yVDI1T2IyNUpiblJsY21GamRHbDJaVVZzWlcxbGJuUW9aRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNTlJQzh2SUVOaGJHTjFiR0YwWlNCMGFHVWdaR2xtWmlCaVpYUjNaV1Z1SUhSb1pTQjBkMjhnYjJKcVpXTjBjeTVjYmx4dVpuVnVZM1JwYjI0Z1pHbG1abEJ5YjNCbGNuUnBaWE1vWkc5dFJXeGxiV1Z1ZEN3Z2RHRm5MQ0JzWVhOMFVtRjNVSEp2Y0hNc0lHNWxlSFJTWVhkUWNtOXdjeXdnY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5RcElIdGNiaUFnZTF4dUlDQWdJSFpoYkdsa1lYUmxVSEp2Y0dWeWRHbGxjMGx1UkdWMlpXeHZjRzFsYm5Rb2RHRm5MQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhWd1pHRjBaVkJoZVd4dllXUWdQU0J1ZFd4c08xeHVJQ0IyWVhJZ2JHRnpkRkJ5YjNCek8xeHVJQ0IyWVhJZ2JtVjRkRkJ5YjNCek8xeHVYRzRnSUhOM2FYUmphQ0FvZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0FuYVc1d2RYUW5PbHh1SUNBZ0lDQWdiR0Z6ZEZCeWIzQnpJRDBnWjJWMFNHOXpkRkJ5YjNCektHUnZiVVZzWlcxbGJuUXNJR3hoYzNSU1lYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCdVpYaDBVSEp2Y0hNZ1BTQm5aWFJJYjNOMFVISnZjSE1vWkc5dFJXeGxiV1Z1ZEN3Z2JtVjRkRkpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJSFZ3WkdGMFpWQmhlV3h2WVdRZ1BTQmJYVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuYjNCMGFXOXVKenBjYmlBZ0lDQWdJR3hoYzNSUWNtOXdjeUE5SUdkbGRFaHZjM1JRY205d2N5UXhLR1J2YlVWc1pXMWxiblFzSUd4aGMzUlNZWGRRY205d2N5azdYRzRnSUNBZ0lDQnVaWGgwVUhKdmNITWdQU0JuWlhSSWIzTjBVSEp2Y0hNa01TaGtiMjFGYkdWdFpXNTBMQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0FnSUNBZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZHpaV3hsWTNRbk9seHVJQ0FnSUNBZ2JHRnpkRkJ5YjNCeklEMGdaMlYwU0c5emRGQnliM0J6SkRJb1pHOXRSV3hsYldWdWRDd2diR0Z6ZEZKaGQxQnliM0J6S1R0Y2JpQWdJQ0FnSUc1bGVIUlFjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeVF5S0dSdmJVVnNaVzFsYm5Rc0lHNWxlSFJTWVhkUWNtOXdjeWs3WEc0Z0lDQWdJQ0IxY0dSaGRHVlFZWGxzYjJGa0lEMGdXMTA3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHTmhjMlVnSjNSbGVIUmhjbVZoSnpwY2JpQWdJQ0FnSUd4aGMzUlFjbTl3Y3lBOUlHZGxkRWh2YzNSUWNtOXdjeVF6S0dSdmJVVnNaVzFsYm5Rc0lHeGhjM1JTWVhkUWNtOXdjeWs3WEc0Z0lDQWdJQ0J1WlhoMFVISnZjSE1nUFNCblpYUkliM04wVUhKdmNITWtNeWhrYjIxRmJHVnRaVzUwTENCdVpYaDBVbUYzVUhKdmNITXBPMXh1SUNBZ0lDQWdkWEJrWVhSbFVHRjViRzloWkNBOUlGdGRPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnYkdGemRGQnliM0J6SUQwZ2JHRnpkRkpoZDFCeWIzQnpPMXh1SUNBZ0lDQWdibVY0ZEZCeWIzQnpJRDBnYm1WNGRGSmhkMUJ5YjNCek8xeHVYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR3hoYzNSUWNtOXdjeTV2YmtOc2FXTnJJQ0U5UFNBblpuVnVZM1JwYjI0bklDWW1JSFI1Y0dWdlppQnVaWGgwVUhKdmNITXViMjVEYkdsamF5QTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlVhR2x6SUdOaGMzUWdiV0Y1SUc1dmRDQmlaU0J6YjNWdVpDQm1iM0lnVTFaSExDQk5ZWFJvVFV3Z2IzSWdZM1Z6ZEc5dElHVnNaVzFsYm5SekxseHVJQ0FnSUNBZ0lDQjBjbUZ3UTJ4cFkydFBiazV2YmtsdWRHVnlZV04wYVhabFJXeGxiV1Z1ZENoa2IyMUZiR1Z0Wlc1MEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJSDFjYmx4dUlDQmhjM05sY25SV1lXeHBaRkJ5YjNCektIUmhaeXdnYm1WNGRGQnliM0J6S1R0Y2JpQWdkbUZ5SUhCeWIzQkxaWGs3WEc0Z0lIWmhjaUJ6ZEhsc1pVNWhiV1U3WEc0Z0lIWmhjaUJ6ZEhsc1pWVndaR0YwWlhNZ1BTQnVkV3hzTzF4dVhHNGdJR1p2Y2lBb2NISnZjRXRsZVNCcGJpQnNZWE4wVUhKdmNITXBJSHRjYmlBZ0lDQnBaaUFvYm1WNGRGQnliM0J6TG1oaGMwOTNibEJ5YjNCbGNuUjVLSEJ5YjNCTFpYa3BJSHg4SUNGc1lYTjBVSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0hKdmNFdGxlU2tnZkh3Z2JHRnpkRkJ5YjNCelczQnliM0JMWlhsZElEMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHdjbTl3UzJWNUlEMDlQU0JUVkZsTVJTa2dlMXh1SUNBZ0lDQWdkbUZ5SUd4aGMzUlRkSGxzWlNBOUlHeGhjM1JRY205d2MxdHdjbTl3UzJWNVhUdGNibHh1SUNBZ0lDQWdabTl5SUNoemRIbHNaVTVoYldVZ2FXNGdiR0Z6ZEZOMGVXeGxLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHNZWE4wVTNSNWJHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2MzUjViR1ZPWVcxbEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2hjM1I1YkdWVmNHUmhkR1Z6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEhsc1pWVndaR0YwWlhNZ1BTQjdmVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0J6ZEhsc1pWVndaR0YwWlhOYmMzUjViR1ZPWVcxbFhTQTlJQ2NuTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNod2NtOXdTMlY1SUQwOVBTQkVRVTVIUlZKUFZWTk1XVjlUUlZSZlNVNU9SVkpmU0ZSTlRDQjhmQ0J3Y205d1MyVjVJRDA5UFNCRFNFbE1SRkpGVGlrZ095QmxiSE5sSUdsbUlDZ2djSEp2Y0V0bGVTQTlQVDBnVTFWUVVGSkZVMU5mUTA5T1ZFVk9WRjlGUkVsVVFVSk1SVjlYUVZKT1NVNUhJSHg4SUhCeWIzQkxaWGtnUFQwOUlGTlZVRkJTUlZOVFgwaFpSRkpCVkVsUFRsOVhRVkpPU1U1SEtTQTdJR1ZzYzJVZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVGVlZFOUdUME5WVXlrZ095QmxiSE5sSUdsbUlDaHlaV2RwYzNSeVlYUnBiMjVPWVcxbFRXOWtkV3hsY3k1b1lYTlBkMjVRY205d1pYSjBlU2h3Y205d1MyVjVLU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElITndaV05wWVd3Z1kyRnpaUzRnU1dZZ1lXNTVJR3hwYzNSbGJtVnlJSFZ3WkdGMFpYTWdkMlVnYm1WbFpDQjBieUJsYm5OMWNtVmNiaUFnSUNBZ0lDOHZJSFJvWVhRZ2RHaGxJRndpWTNWeWNtVnVkRndpSUdacFltVnlJSEJ2YVc1MFpYSWdaMlYwY3lCMWNHUmhkR1ZrSUhOdklIZGxJRzVsWldRZ1lTQmpiMjF0YVhSY2JpQWdJQ0FnSUM4dklIUnZJSFZ3WkdGMFpTQjBhR2x6SUdWc1pXMWxiblF1WEc0Z0lDQWdJQ0JwWmlBb0lYVndaR0YwWlZCaGVXeHZZV1FwSUh0Y2JpQWdJQ0FnSUNBZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCR2IzSWdZV3hzSUc5MGFHVnlJR1JsYkdWMFpXUWdjSEp2Y0dWeWRHbGxjeUIzWlNCaFpHUWdhWFFnZEc4Z2RHaGxJSEYxWlhWbExpQlhaU0IxYzJWY2JpQWdJQ0FnSUM4dklIUm9aU0IzYUdsMFpXeHBjM1FnYVc0Z2RHaGxJR052YlcxcGRDQndhR0Z6WlNCcGJuTjBaV0ZrTGx4dUlDQWdJQ0FnS0hWd1pHRjBaVkJoZVd4dllXUWdQU0IxY0dSaGRHVlFZWGxzYjJGa0lIeDhJRnRkS1M1d2RYTm9LSEJ5YjNCTFpYa3NJRzUxYkd3cE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWnZjaUFvY0hKdmNFdGxlU0JwYmlCdVpYaDBVSEp2Y0hNcElIdGNiaUFnSUNCMllYSWdibVY0ZEZCeWIzQWdQU0J1WlhoMFVISnZjSE5iY0hKdmNFdGxlVjA3WEc0Z0lDQWdkbUZ5SUd4aGMzUlFjbTl3SUQwZ2JHRnpkRkJ5YjNCeklDRTlJRzUxYkd3Z1B5QnNZWE4wVUhKdmNITmJjSEp2Y0V0bGVWMGdPaUIxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JwWmlBb0lXNWxlSFJRY205d2N5NW9ZWE5QZDI1UWNtOXdaWEowZVNod2NtOXdTMlY1S1NCOGZDQnVaWGgwVUhKdmNDQTlQVDBnYkdGemRGQnliM0FnZkh3Z2JtVjRkRkJ5YjNBZ1BUMGdiblZzYkNBbUppQnNZWE4wVUhKdmNDQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jSEp2Y0V0bGVTQTlQVDBnVTFSWlRFVXBJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHNWxlSFJRY205d0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1JuSmxaWHBsSUhSb1pTQnVaWGgwSUhOMGVXeGxJRzlpYW1WamRDQnpieUIwYUdGMElIZGxJR05oYmlCaGMzTjFiV1VnYVhRZ2QyOXVKM1FnWW1WY2JpQWdJQ0FnSUNBZ0lDQXZMeUJ0ZFhSaGRHVmtMaUJYWlNCb1lYWmxJR0ZzY21WaFpIa2dkMkZ5Ym1Wa0lHWnZjaUIwYUdseklHbHVJSFJvWlNCd1lYTjBMbHh1SUNBZ0lDQWdJQ0FnSUU5aWFtVmpkQzVtY21WbGVtVW9ibVY0ZEZCeWIzQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHNZWE4wVUhKdmNDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVmJuTmxkQ0J6ZEhsc1pYTWdiMjRnWUd4aGMzUlFjbTl3WUNCaWRYUWdibTkwSUc5dUlHQnVaWGgwVUhKdmNHQXVYRzRnSUNBZ0lDQWdJR1p2Y2lBb2MzUjViR1ZPWVcxbElHbHVJR3hoYzNSUWNtOXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR3hoYzNSUWNtOXdMbWhoYzA5M2JsQnliM0JsY25SNUtITjBlV3hsVG1GdFpTa2dKaVlnS0NGdVpYaDBVSEp2Y0NCOGZDQWhibVY0ZEZCeWIzQXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2MzUjViR1ZPWVcxbEtTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doYzNSNWJHVlZjR1JoZEdWektTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITjBlV3hsVlhCa1lYUmxjeUE5SUh0OU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEhsc1pWVndaR0YwWlhOYmMzUjViR1ZPWVcxbFhTQTlJQ2NuTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU0F2THlCVmNHUmhkR1VnYzNSNWJHVnpJSFJvWVhRZ1kyaGhibWRsWkNCemFXNWpaU0JnYkdGemRGQnliM0JnTGx4dVhHNWNiaUFnSUNBZ0lDQWdabTl5SUNoemRIbHNaVTVoYldVZ2FXNGdibVY0ZEZCeWIzQXBJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibVY0ZEZCeWIzQXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2MzUjViR1ZPWVcxbEtTQW1KaUJzWVhOMFVISnZjRnR6ZEhsc1pVNWhiV1ZkSUNFOVBTQnVaWGgwVUhKdmNGdHpkSGxzWlU1aGJXVmRLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhOMGVXeGxWWEJrWVhSbGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpkSGxzWlZWd1pHRjBaWE1nUFNCN2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVlZjR1JoZEdWelczTjBlV3hsVG1GdFpWMGdQU0J1WlhoMFVISnZjRnR6ZEhsc1pVNWhiV1ZkTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdMeThnVW1Wc2FXVnpJRzl1SUdCMWNHUmhkR1ZUZEhsc1pYTkNlVWxFWUNCdWIzUWdiWFYwWVhScGJtY2dZSE4wZVd4bFZYQmtZWFJsYzJBdVhHNGdJQ0FnSUNBZ0lHbG1JQ2doYzNSNWJHVlZjR1JoZEdWektTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRjFjR1JoZEdWUVlYbHNiMkZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IxY0dSaGRHVlFZWGxzYjJGa0lEMGdXMTA3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxVR0Y1Ykc5aFpDNXdkWE5vS0hCeWIzQkxaWGtzSUhOMGVXeGxWWEJrWVhSbGN5azdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCemRIbHNaVlZ3WkdGMFpYTWdQU0J1WlhoMFVISnZjRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVSQlRrZEZVazlWVTB4WlgxTkZWRjlKVGs1RlVsOUlWRTFNS1NCN1hHNGdJQ0FnSUNCMllYSWdibVY0ZEVoMGJXd2dQU0J1WlhoMFVISnZjQ0EvSUc1bGVIUlFjbTl3VzBoVVRVd2tNVjBnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCMllYSWdiR0Z6ZEVoMGJXd2dQU0JzWVhOMFVISnZjQ0EvSUd4aGMzUlFjbTl3VzBoVVRVd2tNVjBnT2lCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1WlhoMFNIUnRiQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaHNZWE4wU0hSdGJDQWhQVDBnYm1WNGRFaDBiV3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQW9kWEJrWVhSbFVHRjViRzloWkNBOUlIVndaR0YwWlZCaGVXeHZZV1FnZkh3Z1cxMHBMbkIxYzJnb2NISnZjRXRsZVN3Z2JtVjRkRWgwYld3cE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHdjbTl3UzJWNUlEMDlQU0JEU0VsTVJGSkZUaWtnZTF4dUlDQWdJQ0FnYVdZZ0tHeGhjM1JRY205d0lDRTlQU0J1WlhoMFVISnZjQ0FtSmlBb2RIbHdaVzltSUc1bGVIUlFjbTl3SUQwOVBTQW5jM1J5YVc1bkp5QjhmQ0IwZVhCbGIyWWdibVY0ZEZCeWIzQWdQVDA5SUNkdWRXMWlaWEluS1NrZ2UxeHVJQ0FnSUNBZ0lDQW9kWEJrWVhSbFVHRjViRzloWkNBOUlIVndaR0YwWlZCaGVXeHZZV1FnZkh3Z1cxMHBMbkIxYzJnb2NISnZjRXRsZVN3Z0p5Y2dLeUJ1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2dnY0hKdmNFdGxlU0E5UFQwZ1UxVlFVRkpGVTFOZlEwOU9WRVZPVkY5RlJFbFVRVUpNUlY5WFFWSk9TVTVISUh4OElIQnliM0JMWlhrZ1BUMDlJRk5WVUZCU1JWTlRYMGhaUkZKQlZFbFBUbDlYUVZKT1NVNUhLU0E3SUdWc2MyVWdhV1lnS0hKbFoybHpkSEpoZEdsdmJrNWhiV1ZOYjJSMWJHVnpMbWhoYzA5M2JsQnliM0JsY25SNUtIQnliM0JMWlhrcEtTQjdYRzRnSUNBZ0lDQnBaaUFvYm1WNGRGQnliM0FnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlhaU0JsWVdkbGNteDVJR3hwYzNSbGJpQjBieUIwYUdseklHVjJaVzRnZEdodmRXZG9JSGRsSUdoaGRtVnVKM1FnWTI5dGJXbDBkR1ZrSUhsbGRDNWNiaUFnSUNBZ0lDQWdhV1lnS0NCMGVYQmxiMllnYm1WNGRGQnliM0FnSVQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNCM1lYSnVSbTl5U1c1MllXeHBaRVYyWlc1MFRHbHpkR1Z1WlhJb2NISnZjRXRsZVN3Z2JtVjRkRkJ5YjNBcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWlc1emRYSmxUR2x6ZEdWdWFXNW5WRzhvY205dmRFTnZiblJoYVc1bGNrVnNaVzFsYm5Rc0lIQnliM0JMWlhrcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVhWd1pHRjBaVkJoZVd4dllXUWdKaVlnYkdGemRGQnliM0FnSVQwOUlHNWxlSFJRY205d0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb2FYTWdhWE1nWVNCemNHVmphV0ZzSUdOaGMyVXVJRWxtSUdGdWVTQnNhWE4wWlc1bGNpQjFjR1JoZEdWeklIZGxJRzVsWldRZ2RHOGdaVzV6ZFhKbFhHNGdJQ0FnSUNBZ0lDOHZJSFJvWVhRZ2RHaGxJRndpWTNWeWNtVnVkRndpSUhCeWIzQnpJSEJ2YVc1MFpYSWdaMlYwY3lCMWNHUmhkR1ZrSUhOdklIZGxJRzVsWldRZ1lTQmpiMjF0YVhSY2JpQWdJQ0FnSUNBZ0x5OGdkRzhnZFhCa1lYUmxJSFJvYVhNZ1pXeGxiV1Z1ZEM1Y2JpQWdJQ0FnSUNBZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUZ0ZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCR2IzSWdZVzU1SUc5MGFHVnlJSEJ5YjNCbGNuUjVJSGRsSUdGc2QyRjVjeUJoWkdRZ2FYUWdkRzhnZEdobElIRjFaWFZsSUdGdVpDQjBhR1Z1SUhkbFhHNGdJQ0FnSUNBdkx5Qm1hV3gwWlhJZ2FYUWdiM1YwSUhWemFXNW5JSFJvWlNCM2FHbDBaV3hwYzNRZ1pIVnlhVzVuSUhSb1pTQmpiMjF0YVhRdVhHNGdJQ0FnSUNBb2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUhWd1pHRjBaVkJoZVd4dllXUWdmSHdnVzEwcExuQjFjMmdvY0hKdmNFdGxlU3dnYm1WNGRGQnliM0FwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHpkSGxzWlZWd1pHRjBaWE1wSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVk5vYjNKMGFHRnVaRkJ5YjNCbGNuUjVRMjlzYkdsemFXOXVTVzVFWlhZb2MzUjViR1ZWY0dSaGRHVnpMQ0J1WlhoMFVISnZjSE5iVTFSWlRFVmRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQW9kWEJrWVhSbFVHRjViRzloWkNBOUlIVndaR0YwWlZCaGVXeHZZV1FnZkh3Z1cxMHBMbkIxYzJnb1UxUlpURVVzSUhOMGVXeGxWWEJrWVhSbGN5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkWEJrWVhSbFVHRjViRzloWkR0Y2JuMGdMeThnUVhCd2JIa2dkR2hsSUdScFptWXVYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVkJ5YjNCbGNuUnBaWE1vWkc5dFJXeGxiV1Z1ZEN3Z2RYQmtZWFJsVUdGNWJHOWhaQ3dnZEdGbkxDQnNZWE4wVW1GM1VISnZjSE1zSUc1bGVIUlNZWGRRY205d2N5a2dlMXh1SUNBdkx5QlZjR1JoZEdVZ1kyaGxZMnRsWkNBcVltVm1iM0psS2lCdVlXMWxMbHh1SUNBdkx5QkpiaUIwYUdVZ2JXbGtaR3hsSUc5bUlHRnVJSFZ3WkdGMFpTd2dhWFFnYVhNZ2NHOXpjMmxpYkdVZ2RHOGdhR0YyWlNCdGRXeDBhWEJzWlNCamFHVmphMlZrTGx4dUlDQXZMeUJYYUdWdUlHRWdZMmhsWTJ0bFpDQnlZV1JwYnlCMGNtbGxjeUIwYnlCamFHRnVaMlVnYm1GdFpTd2dZbkp2ZDNObGNpQnRZV3RsY3lCaGJtOTBhR1Z5SUhKaFpHbHZKM01nWTJobFkydGxaQ0JtWVd4elpTNWNiaUFnYVdZZ0tIUmhaeUE5UFQwZ0oybHVjSFYwSnlBbUppQnVaWGgwVW1GM1VISnZjSE11ZEhsd1pTQTlQVDBnSjNKaFpHbHZKeUFtSmlCdVpYaDBVbUYzVUhKdmNITXVibUZ0WlNBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnZFhCa1lYUmxRMmhsWTJ0bFpDaGtiMjFGYkdWdFpXNTBMQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhkaGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5QTlJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBLSFJoWnl3Z2JHRnpkRkpoZDFCeWIzQnpLVHRjYmlBZ2RtRnlJR2x6UTNWemRHOXRRMjl0Y0c5dVpXNTBWR0ZuSUQwZ2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5Rb2RHRm5MQ0J1WlhoMFVtRjNVSEp2Y0hNcE95QXZMeUJCY0hCc2VTQjBhR1VnWkdsbVppNWNibHh1SUNCMWNHUmhkR1ZFVDAxUWNtOXdaWEowYVdWektHUnZiVVZzWlcxbGJuUXNJSFZ3WkdGMFpWQmhlV3h2WVdRc0lIZGhjME4xYzNSdmJVTnZiWEJ2Ym1WdWRGUmhaeXdnYVhORGRYTjBiMjFEYjIxd2IyNWxiblJVWVdjcE95QXZMeUJVVDBSUE9pQkZibk4xY21VZ2RHaGhkQ0JoYmlCMWNHUmhkR1VnWjJWMGN5QnpZMmhsWkhWc1pXUWdhV1lnWVc1NUlHOW1JSFJvWlNCemNHVmphV0ZzSUhCeWIzQnpYRzRnSUM4dklHTm9ZVzVuWldRdVhHNWNiaUFnYzNkcGRHTm9JQ2gwWVdjcElIdGNiaUFnSUNCallYTmxJQ2RwYm5CMWRDYzZYRzRnSUNBZ0lDQXZMeUJWY0dSaGRHVWdkR2hsSUhkeVlYQndaWElnWVhKdmRXNWtJR2x1Y0hWMGN5QXFZV1owWlhJcUlIVndaR0YwYVc1bklIQnliM0J6TGlCVWFHbHpJR2hoY3lCMGIxeHVJQ0FnSUNBZ0x5OGdhR0Z3Y0dWdUlHRm1kR1Z5SUdCMWNHUmhkR1ZFVDAxUWNtOXdaWEowYVdWellDNGdUM1JvWlhKM2FYTmxJRWhVVFV3MUlHbHVjSFYwSUhaaGJHbGtZWFJwYjI1elhHNGdJQ0FnSUNBdkx5QnlZV2x6WlNCM1lYSnVhVzVuY3lCaGJtUWdjSEpsZG1WdWRDQjBhR1VnYm1WM0lIWmhiSFZsSUdaeWIyMGdZbVZwYm1jZ1lYTnphV2R1WldRdVhHNGdJQ0FnSUNCMWNHUmhkR1ZYY21Gd2NHVnlLR1J2YlVWc1pXMWxiblFzSUc1bGVIUlNZWGRRY205d2N5azdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKM1JsZUhSaGNtVmhKenBjYmlBZ0lDQWdJSFZ3WkdGMFpWZHlZWEJ3WlhJa01TaGtiMjFGYkdWdFpXNTBMQ0J1WlhoMFVtRjNVSEp2Y0hNcE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZHpaV3hsWTNRbk9seHVJQ0FnSUNBZ0x5OGdQSE5sYkdWamRENGdkbUZzZFdVZ2RYQmtZWFJsSUc1bFpXUnpJSFJ2SUc5alkzVnlJR0ZtZEdWeUlEeHZjSFJwYjI0K0lHTm9hV3hrY21WdVhHNGdJQ0FnSUNBdkx5QnlaV052Ym1OcGJHbGhkR2x2Ymx4dUlDQWdJQ0FnY0c5emRGVndaR0YwWlZkeVlYQndaWElvWkc5dFJXeGxiV1Z1ZEN3Z2JtVjRkRkpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEZCdmMzTnBZbXhsVTNSaGJtUmhjbVJPWVcxbEtIQnliM0JPWVcxbEtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2JHOTNaWEpEWVhObFpFNWhiV1VnUFNCd2NtOXdUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BPMXh1WEc0Z0lDQWdhV1lnS0NGd2IzTnphV0pzWlZOMFlXNWtZWEprVG1GdFpYTXVhR0Z6VDNkdVVISnZjR1Z5ZEhrb2JHOTNaWEpEWVhObFpFNWhiV1VwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnY0c5emMybGliR1ZUZEdGdVpHRnlaRTVoYldWelcyeHZkMlZ5UTJGelpXUk9ZVzFsWFNCOGZDQnVkV3hzTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUnBabVpJZVdSeVlYUmxaRkJ5YjNCbGNuUnBaWE1vWkc5dFJXeGxiV1Z1ZEN3Z2RHRm5MQ0J5WVhkUWNtOXdjeXdnY0dGeVpXNTBUbUZ0WlhOd1lXTmxMQ0J5YjI5MFEyOXVkR0ZwYm1WeVJXeGxiV1Z1ZENrZ2UxeHVJQ0IyWVhJZ2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXYzdYRzRnSUhaaGNpQmxlSFJ5WVVGMGRISnBZblYwWlU1aGJXVnpPMXh1WEc0Z0lIdGNiaUFnSUNCemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNnUFNCeVlYZFFjbTl3YzF0VFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUjEwZ1BUMDlJSFJ5ZFdVN1hHNGdJQ0FnYVhORGRYTjBiMjFEYjIxd2IyNWxiblJVWVdjZ1BTQnBjME4xYzNSdmJVTnZiWEJ2Ym1WdWRDaDBZV2NzSUhKaGQxQnliM0J6S1R0Y2JpQWdJQ0IyWVd4cFpHRjBaVkJ5YjNCbGNuUnBaWE5KYmtSbGRtVnNiM0J0Wlc1MEtIUmhaeXdnY21GM1VISnZjSE1wTzF4dUlDQjlJQzh2SUZSUFJFODZJRTFoYTJVZ2MzVnlaU0IwYUdGMElIZGxJR05vWldOcklHbHpUVzkxYm5SbFpDQmlaV1p2Y21VZ1ptbHlhVzVuSUdGdWVTQnZaaUIwYUdWelpTQmxkbVZ1ZEhNdVhHNWNibHh1SUNCemQybDBZMmdnS0hSaFp5a2dlMXh1SUNBZ0lHTmhjMlVnSjJsbWNtRnRaU2M2WEc0Z0lDQWdZMkZ6WlNBbmIySnFaV04wSnpwY2JpQWdJQ0JqWVhObElDZGxiV0psWkNjNlhHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOU1UMEZFTENCa2IyMUZiR1Z0Wlc1MEtUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWTJGelpTQW5kbWxrWlc4bk9seHVJQ0FnSUdOaGMyVWdKMkYxWkdsdkp6cGNiaUFnSUNBZ0lDOHZJRU55WldGMFpTQnNhWE4wWlc1bGNpQm1iM0lnWldGamFDQnRaV1JwWVNCbGRtVnVkRnh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J0WldScFlVVjJaVzUwVkhsd1pYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENodFpXUnBZVVYyWlc1MFZIbHdaWE5iYVYwc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHTmhjMlVnSjNOdmRYSmpaU2M2WEc0Z0lDQWdJQ0IwY21Gd1FuVmlZbXhsWkVWMlpXNTBLRlJQVUY5RlVsSlBVaXdnWkc5dFJXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJR05oYzJVZ0oybHRaeWM2WEc0Z0lDQWdZMkZ6WlNBbmFXMWhaMlVuT2x4dUlDQWdJR05oYzJVZ0oyeHBibXNuT2x4dUlDQWdJQ0FnZEhKaGNFSjFZbUpzWldSRmRtVnVkQ2hVVDFCZlJWSlNUMUlzSUdSdmJVVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENoVVQxQmZURTlCUkN3Z1pHOXRSV3hsYldWdWRDazdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdOaGMyVWdKMlp2Y20wbk9seHVJQ0FnSUNBZ2RISmhjRUoxWW1Kc1pXUkZkbVZ1ZENoVVQxQmZVa1ZUUlZRc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdkSEpoY0VKMVltSnNaV1JGZG1WdWRDaFVUMUJmVTFWQ1RVbFVMQ0JrYjIxRmJHVnRaVzUwS1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNBblpHVjBZV2xzY3ljNlhHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOVVUMGRIVEVVc0lHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJQ2RwYm5CMWRDYzZYRzRnSUNBZ0lDQnBibWwwVjNKaGNIQmxjbE4wWVhSbEtHUnZiVVZzWlcxbGJuUXNJSEpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJSFJ5WVhCQ2RXSmliR1ZrUlhabGJuUW9WRTlRWDBsT1ZrRk1TVVFzSUdSdmJVVnNaVzFsYm5RcE95QXZMeUJHYjNJZ1kyOXVkSEp2Ykd4bFpDQmpiMjF3YjI1bGJuUnpJSGRsSUdGc2QyRjVjeUJ1WldWa0lIUnZJR1Z1YzNWeVpTQjNaU2R5WlNCc2FYTjBaVzVwYm1kY2JpQWdJQ0FnSUM4dklIUnZJRzl1UTJoaGJtZGxMaUJGZG1WdUlHbG1JSFJvWlhKbElHbHpJRzV2SUd4cGMzUmxibVZ5TGx4dVhHNGdJQ0FnSUNCbGJuTjFjbVZNYVhOMFpXNXBibWRVYnloeWIyOTBRMjl1ZEdGcGJtVnlSV3hsYldWdWRDd2dKMjl1UTJoaGJtZGxKeWs3WEc0Z0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lHTmhjMlVnSjI5d2RHbHZiaWM2WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVkJ5YjNCektHUnZiVVZzWlcxbGJuUXNJSEpoZDFCeWIzQnpLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuYzJWc1pXTjBKenBjYmlBZ0lDQWdJR2x1YVhSWGNtRndjR1Z5VTNSaGRHVWtNU2hrYjIxRmJHVnRaVzUwTENCeVlYZFFjbTl3Y3lrN1hHNGdJQ0FnSUNCMGNtRndRblZpWW14bFpFVjJaVzUwS0ZSUFVGOUpUbFpCVEVsRUxDQmtiMjFGYkdWdFpXNTBLVHNnTHk4Z1JtOXlJR052Ym5SeWIyeHNaV1FnWTI5dGNHOXVaVzUwY3lCM1pTQmhiSGRoZVhNZ2JtVmxaQ0IwYnlCbGJuTjFjbVVnZDJVbmNtVWdiR2x6ZEdWdWFXNW5YRzRnSUNBZ0lDQXZMeUIwYnlCdmJrTm9ZVzVuWlM0Z1JYWmxiaUJwWmlCMGFHVnlaU0JwY3lCdWJ5QnNhWE4wWlc1bGNpNWNibHh1SUNBZ0lDQWdaVzV6ZFhKbFRHbHpkR1Z1YVc1blZHOG9jbTl2ZEVOdmJuUmhhVzVsY2tWc1pXMWxiblFzSUNkdmJrTm9ZVzVuWlNjcE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElDZDBaWGgwWVhKbFlTYzZYRzRnSUNBZ0lDQnBibWwwVjNKaGNIQmxjbE4wWVhSbEpESW9aRzl0Uld4bGJXVnVkQ3dnY21GM1VISnZjSE1wTzF4dUlDQWdJQ0FnZEhKaGNFSjFZbUpzWldSRmRtVnVkQ2hVVDFCZlNVNVdRVXhKUkN3Z1pHOXRSV3hsYldWdWRDazdJQzh2SUVadmNpQmpiMjUwY205c2JHVmtJR052YlhCdmJtVnVkSE1nZDJVZ1lXeDNZWGx6SUc1bFpXUWdkRzhnWlc1emRYSmxJSGRsSjNKbElHeHBjM1JsYm1sdVoxeHVJQ0FnSUNBZ0x5OGdkRzhnYjI1RGFHRnVaMlV1SUVWMlpXNGdhV1lnZEdobGNtVWdhWE1nYm04Z2JHbHpkR1Z1WlhJdVhHNWNiaUFnSUNBZ0lHVnVjM1Z5WlV4cGMzUmxibWx1WjFSdktISnZiM1JEYjI1MFlXbHVaWEpGYkdWdFpXNTBMQ0FuYjI1RGFHRnVaMlVuS1R0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNWNiaUFnWVhOelpYSjBWbUZzYVdSUWNtOXdjeWgwWVdjc0lISmhkMUJ5YjNCektUdGNibHh1SUNCN1hHNGdJQ0FnWlhoMGNtRkJkSFJ5YVdKMWRHVk9ZVzFsY3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnSUNCMllYSWdZWFIwY21saWRYUmxjeUE5SUdSdmJVVnNaVzFsYm5RdVlYUjBjbWxpZFhSbGN6dGNibHh1SUNBZ0lHWnZjaUFvZG1GeUlGOXBJRDBnTURzZ1gya2dQQ0JoZEhSeWFXSjFkR1Z6TG14bGJtZDBhRHNnWDJrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUc1aGJXVWdQU0JoZEhSeWFXSjFkR1Z6VzE5cFhTNXVZVzFsTG5SdlRHOTNaWEpEWVhObEtDazdYRzVjYmlBZ0lDQWdJSE4zYVhSamFDQW9ibUZ0WlNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJDZFdsc2RDMXBiaUJUVTFJZ1lYUjBjbWxpZFhSbElHbHpJSGRvYVhSbGJHbHpkR1ZrWEc0Z0lDQWdJQ0FnSUdOaGMyVWdKMlJoZEdFdGNtVmhZM1J5YjI5MEp6cGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdMeThnUTI5dWRISnZiR3hsWkNCaGRIUnlhV0oxZEdWeklHRnlaU0J1YjNRZ2RtRnNhV1JoZEdWa1hHNGdJQ0FnSUNBZ0lDOHZJRlJQUkU4NklFOXViSGtnYVdkdWIzSmxJSFJvWlcwZ2IyNGdZMjl1ZEhKdmJHeGxaQ0IwWVdkekxseHVYRzRnSUNBZ0lDQWdJR05oYzJVZ0ozWmhiSFZsSnpwY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUNkamFHVmphMlZrSnpwY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUNkelpXeGxZM1JsWkNjNlhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNBZ0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lDQWdJQ0F2THlCSmJuUmxiblJwYjI1aGJHeDVJSFZ6WlNCMGFHVWdiM0pwWjJsdVlXd2dibUZ0WlM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJUWldVZ1pHbHpZM1Z6YzJsdmJpQnBiaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Y21WaFkzUXZjSFZzYkM4eE1EWTNOaTVjYmlBZ0lDQWdJQ0FnSUNCbGVIUnlZVUYwZEhKcFluVjBaVTVoYldWekxtRmtaQ2hoZEhSeWFXSjFkR1Z6VzE5cFhTNXVZVzFsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdkWEJrWVhSbFVHRjViRzloWkNBOUlHNTFiR3c3WEc1Y2JpQWdabTl5SUNoMllYSWdjSEp2Y0V0bGVTQnBiaUJ5WVhkUWNtOXdjeWtnZTF4dUlDQWdJR2xtSUNnaGNtRjNVSEp2Y0hNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0hKdmNFdGxlU2twSUh0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCdVpYaDBVSEp2Y0NBOUlISmhkMUJ5YjNCelczQnliM0JMWlhsZE8xeHVYRzRnSUNBZ2FXWWdLSEJ5YjNCTFpYa2dQVDA5SUVOSVNVeEVVa1ZPS1NCN1hHNGdJQ0FnSUNBdkx5QkdiM0lnZEdWNGRDQmpiMjUwWlc1MElHTm9hV3hrY21WdUlIZGxJR052YlhCaGNtVWdZV2RoYVc1emRDQjBaWGgwUTI5dWRHVnVkQzRnVkdocGMxeHVJQ0FnSUNBZ0x5OGdiV2xuYUhRZ2JXRjBZMmdnWVdSa2FYUnBiMjVoYkNCSVZFMU1JSFJvWVhRZ2FYTWdhR2xrWkdWdUlIZG9aVzRnZDJVZ2NtVmhaQ0JwZENCMWMybHVaMXh1SUNBZ0lDQWdMeThnZEdWNGRFTnZiblJsYm5RdUlFVXVaeTRnWENKbWIyOWNJaUIzYVd4c0lHMWhkR05vSUZ3aVpqeHpjR0Z1UG05dlBDOXpjR0Z1UGx3aUlHSjFkQ0IwYUdGMElITjBhV3hzWEc0Z0lDQWdJQ0F2THlCellYUnBjMlpwWlhNZ2IzVnlJSEpsY1hWcGNtVnRaVzUwTGlCUGRYSWdjbVZ4ZFdseVpXMWxiblFnYVhNZ2JtOTBJSFJ2SUhCeWIyUjFZMlVnY0dWeVptVmpkRnh1SUNBZ0lDQWdMeThnU0ZSTlRDQmhibVFnWVhSMGNtbGlkWFJsY3k0Z1NXUmxZV3hzZVNCM1pTQnphRzkxYkdRZ2NISmxjMlZ5ZG1VZ2MzUnlkV04wZFhKbElHSjFkQ0JwZENkelhHNGdJQ0FnSUNBdkx5QnZheUJ1YjNRZ2RHOGdhV1lnZEdobElIWnBjMmxpYkdVZ1kyOXVkR1Z1ZENCcGN5QnpkR2xzYkNCbGJtOTFaMmdnZEc4Z2FXNWthV05oZEdVZ2QyaGhkRnh1SUNBZ0lDQWdMeThnWlhabGJpQnNhWE4wWlc1bGNuTWdkR2hsYzJVZ2JtOWtaWE1nYldsbmFIUWdZbVVnZDJseVpXUWdkWEFnZEc4dVhHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCWFlYSnVJR2xtSUhSb1pYSmxJR2x6SUcxdmNtVWdkR2hoYmlCaElITnBibWRzWlNCMFpYaDBUbTlrWlNCaGN5QmhJR05vYVd4a0xseHVJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1UyaHZkV3hrSUhkbElIVnpaU0JrYjIxRmJHVnRaVzUwTG1acGNuTjBRMmhwYkdRdWJtOWtaVlpoYkhWbElIUnZJR052YlhCaGNtVS9YRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JRzVsZUhSUWNtOXdJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWkc5dFJXeGxiV1Z1ZEM1MFpYaDBRMjl1ZEdWdWRDQWhQVDBnYm1WNGRGQnliM0FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSUNGemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGRoY201R2IzSlVaWGgwUkdsbVptVnlaVzVqWlNoa2IyMUZiR1Z0Wlc1MExuUmxlSFJEYjI1MFpXNTBMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxVR0Y1Ykc5aFpDQTlJRnREU0VsTVJGSkZUaXdnYm1WNGRGQnliM0JkTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCdVpYaDBVSEp2Y0NBOVBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHUnZiVVZzWlcxbGJuUXVkR1Y0ZEVOdmJuUmxiblFnSVQwOUlDY25JQ3NnYm1WNGRGQnliM0FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSUNGemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGRoY201R2IzSlVaWGgwUkdsbVptVnlaVzVqWlNoa2IyMUZiR1Z0Wlc1MExuUmxlSFJEYjI1MFpXNTBMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZFhCa1lYUmxVR0Y1Ykc5aFpDQTlJRnREU0VsTVJGSkZUaXdnSnljZ0t5QnVaWGgwVUhKdmNGMDdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEpsWjJsemRISmhkR2x2Yms1aGJXVk5iMlIxYkdWekxtaGhjMDkzYmxCeWIzQmxjblI1S0hCeWIzQkxaWGtwS1NCN1hHNGdJQ0FnSUNCcFppQW9ibVY0ZEZCeWIzQWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lIUjVjR1Z2WmlCdVpYaDBVSEp2Y0NBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIZGhjbTVHYjNKSmJuWmhiR2xrUlhabGJuUk1hWE4wWlc1bGNpaHdjbTl3UzJWNUxDQnVaWGgwVUhKdmNDazdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCbGJuTjFjbVZNYVhOMFpXNXBibWRVYnloeWIyOTBRMjl1ZEdGcGJtVnlSV3hsYldWdWRDd2djSEp2Y0V0bGVTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDZ2dMeThnUTI5dWRtbHVZMlVnUm14dmR5QjNaU2QyWlNCallXeGpkV3hoZEdWa0lHbDBJQ2hwZENkeklFUkZWaTF2Ym14NUlHbHVJSFJvYVhNZ2JXVjBhRzlrTGlsY2JpQWdJQ0IwZVhCbGIyWWdhWE5EZFhOMGIyMURiMjF3YjI1bGJuUlVZV2NnUFQwOUlDZGliMjlzWldGdUp5a2dlMXh1SUNBZ0lDQWdMeThnVm1Gc2FXUmhkR1VnZEdoaGRDQjBhR1VnY0hKdmNHVnlkR2xsY3lCamIzSnlaWE53YjI1a0lIUnZJSFJvWldseUlHVjRjR1ZqZEdWa0lIWmhiSFZsY3k1Y2JpQWdJQ0FnSUhaaGNpQnpaWEoyWlhKV1lXeDFaU0E5SUhadmFXUWdNRHRjYmlBZ0lDQWdJSFpoY2lCd2NtOXdaWEowZVVsdVptOGdQU0JuWlhSUWNtOXdaWEowZVVsdVptOG9jSEp2Y0V0bGVTazdYRzVjYmlBZ0lDQWdJR2xtSUNoemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNwSURzZ1pXeHpaU0JwWmlBb0lIQnliM0JMWlhrZ1BUMDlJRk5WVUZCU1JWTlRYME5QVGxSRlRsUmZSVVJKVkVGQ1RFVmZWMEZTVGtsT1J5QjhmQ0J3Y205d1MyVjVJRDA5UFNCVFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUnlCOGZDQXZMeUJEYjI1MGNtOXNiR1ZrSUdGMGRISnBZblYwWlhNZ1lYSmxJRzV2ZENCMllXeHBaR0YwWldSY2JpQWdJQ0FnSUM4dklGUlBSRTg2SUU5dWJIa2dhV2R1YjNKbElIUm9aVzBnYjI0Z1kyOXVkSEp2Ykd4bFpDQjBZV2R6TGx4dUlDQWdJQ0FnY0hKdmNFdGxlU0E5UFQwZ0ozWmhiSFZsSnlCOGZDQndjbTl3UzJWNUlEMDlQU0FuWTJobFkydGxaQ2NnZkh3Z2NISnZjRXRsZVNBOVBUMGdKM05sYkdWamRHVmtKeWtnT3lCbGJITmxJR2xtSUNod2NtOXdTMlY1SUQwOVBTQkVRVTVIUlZKUFZWTk1XVjlUUlZSZlNVNU9SVkpmU0ZSTlRDa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2MyVnlkbVZ5U0ZSTlRDQTlJR1J2YlVWc1pXMWxiblF1YVc1dVpYSklWRTFNTzF4dUlDQWdJQ0FnSUNCMllYSWdibVY0ZEVoMGJXd2dQU0J1WlhoMFVISnZjQ0EvSUc1bGVIUlFjbTl3VzBoVVRVd2tNVjBnT2lCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNBZ0lIWmhjaUJsZUhCbFkzUmxaRWhVVFV3Z1BTQnViM0p0WVd4cGVtVklWRTFNS0dSdmJVVnNaVzFsYm5Rc0lHNWxlSFJJZEcxc0lDRTlJRzUxYkd3Z1B5QnVaWGgwU0hSdGJDQTZJQ2NuS1R0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWlhod1pXTjBaV1JJVkUxTUlDRTlQU0J6WlhKMlpYSklWRTFNS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkMkZ5YmtadmNsQnliM0JFYVdabVpYSmxibU5sS0hCeWIzQkxaWGtzSUhObGNuWmxja2hVVFV3c0lHVjRjR1ZqZEdWa1NGUk5UQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2NISnZjRXRsZVNBOVBUMGdVMVJaVEVVcElIdGNiaUFnSUNBZ0lDQWdMeThnSkVac2IzZEdhWGhOWlNBdElGTm9iM1ZzWkNCaVpTQnBibVpsY25KbFpDQmhjeUJ1YjNRZ2RXNWtaV1pwYm1Wa0xseHVJQ0FnSUNBZ0lDQmxlSFJ5WVVGMGRISnBZblYwWlU1aGJXVnpMbVJsYkdWMFpTaHdjbTl3UzJWNUtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1kyRnVSR2xtWmxOMGVXeGxSbTl5U0hsa2NtRjBhVzl1VjJGeWJtbHVaeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJsZUhCbFkzUmxaRk4wZVd4bElEMGdZM0psWVhSbFJHRnVaMlZ5YjNWelUzUnlhVzVuUm05eVUzUjViR1Z6S0c1bGVIUlFjbTl3S1R0Y2JpQWdJQ0FnSUNBZ0lDQnpaWEoyWlhKV1lXeDFaU0E5SUdSdmJVVnNaVzFsYm5RdVoyVjBRWFIwY21saWRYUmxLQ2R6ZEhsc1pTY3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1Y0Y0dWamRHVmtVM1I1YkdVZ0lUMDlJSE5sY25abGNsWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IzWVhKdVJtOXlVSEp2Y0VScFptWmxjbVZ1WTJVb2NISnZjRXRsZVN3Z2MyVnlkbVZ5Vm1Gc2RXVXNJR1Y0Y0dWamRHVmtVM1I1YkdVcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNocGMwTjFjM1J2YlVOdmJYQnZibVZ1ZEZSaFp5a2dlMXh1SUNBZ0lDQWdJQ0F2THlBa1JteHZkMFpwZUUxbElDMGdVMmh2ZFd4a0lHSmxJR2x1Wm1WeWNtVmtJR0Z6SUc1dmRDQjFibVJsWm1sdVpXUXVYRzRnSUNBZ0lDQWdJR1Y0ZEhKaFFYUjBjbWxpZFhSbFRtRnRaWE11WkdWc1pYUmxLSEJ5YjNCTFpYa3VkRzlNYjNkbGNrTmhjMlVvS1NrN1hHNGdJQ0FnSUNBZ0lITmxjblpsY2xaaGJIVmxJRDBnWjJWMFZtRnNkV1ZHYjNKQmRIUnlhV0oxZEdVb1pHOXRSV3hsYldWdWRDd2djSEp2Y0V0bGVTd2dibVY0ZEZCeWIzQXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHVaWGgwVUhKdmNDQWhQVDBnYzJWeWRtVnlWbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0IzWVhKdVJtOXlVSEp2Y0VScFptWmxjbVZ1WTJVb2NISnZjRXRsZVN3Z2MyVnlkbVZ5Vm1Gc2RXVXNJRzVsZUhSUWNtOXdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNnaGMyaHZkV3hrU1dkdWIzSmxRWFIwY21saWRYUmxLSEJ5YjNCTFpYa3NJSEJ5YjNCbGNuUjVTVzVtYnl3Z2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXY3BJQ1ltSUNGemFHOTFiR1JTWlcxdmRtVkJkSFJ5YVdKMWRHVW9jSEp2Y0V0bGVTd2dibVY0ZEZCeWIzQXNJSEJ5YjNCbGNuUjVTVzVtYnl3Z2FYTkRkWE4wYjIxRGIyMXdiMjVsYm5SVVlXY3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBjMDFwYzIxaGRHTm9SSFZsVkc5Q1lXUkRZWE5wYm1jZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0hKdmNHVnlkSGxKYm1adklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z0pFWnNiM2RHYVhoTlpTQXRJRk5vYjNWc1pDQmlaU0JwYm1abGNuSmxaQ0JoY3lCdWIzUWdkVzVrWldacGJtVmtMbHh1SUNBZ0lDQWdJQ0FnSUdWNGRISmhRWFIwY21saWRYUmxUbUZ0WlhNdVpHVnNaWFJsS0hCeWIzQmxjblI1U1c1bWJ5NWhkSFJ5YVdKMWRHVk9ZVzFsS1R0Y2JpQWdJQ0FnSUNBZ0lDQnpaWEoyWlhKV1lXeDFaU0E5SUdkbGRGWmhiSFZsUm05eVVISnZjR1Z5ZEhrb1pHOXRSV3hsYldWdWRDd2djSEp2Y0V0bGVTd2dibVY0ZEZCeWIzQXNJSEJ5YjNCbGNuUjVTVzVtYnlrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUc5M2JrNWhiV1Z6Y0dGalpTQTlJSEJoY21WdWRFNWhiV1Z6Y0dGalpUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHZkMjVPWVcxbGMzQmhZMlVnUFQwOUlFaFVUVXhmVGtGTlJWTlFRVU5GSkRFcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5M2JrNWhiV1Z6Y0dGalpTQTlJR2RsZEVsdWRISnBibk5wWTA1aGJXVnpjR0ZqWlNoMFlXY3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNodmQyNU9ZVzFsYzNCaFkyVWdQVDA5SUVoVVRVeGZUa0ZOUlZOUVFVTkZKREVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUNSR2JHOTNSbWw0VFdVZ0xTQlRhRzkxYkdRZ1ltVWdhVzVtWlhKeVpXUWdZWE1nYm05MElIVnVaR1ZtYVc1bFpDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRISmhRWFIwY21saWRYUmxUbUZ0WlhNdVpHVnNaWFJsS0hCeWIzQkxaWGt1ZEc5TWIzZGxja05oYzJVb0tTazdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6ZEdGdVpHRnlaRTVoYldVZ1BTQm5aWFJRYjNOemFXSnNaVk4wWVc1a1lYSmtUbUZ0WlNod2NtOXdTMlY1S1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tITjBZVzVrWVhKa1RtRnRaU0FoUFQwZ2JuVnNiQ0FtSmlCemRHRnVaR0Z5WkU1aGJXVWdJVDA5SUhCeWIzQkxaWGtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdZVzRnVTFaSElIQnliM0FnYVhNZ2MzVndjR3hwWldRZ2QybDBhQ0JpWVdRZ1kyRnphVzVuTENCcGRDQjNhV3hzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdKbElITjFZMk5sYzNObWRXeHNlU0J3WVhKelpXUWdabkp2YlNCSVZFMU1MQ0JpZFhRZ2QybHNiQ0J3Y205a2RXTmxJR0VnYldsemJXRjBZMmhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnS0dGdVpDQjNiM1ZzWkNCaVpTQnBibU52Y25KbFkzUnNlU0J5Wlc1a1pYSmxaQ0J2YmlCMGFHVWdZMnhwWlc1MEtTNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTRzkzWlhabGNpd2dkMlVnWVd4eVpXRmtlU0IzWVhKdUlHRmliM1YwSUdKaFpDQmpZWE5wYm1jZ1pXeHpaWGRvWlhKbExseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRieUIzWlNkc2JDQnphMmx3SUhSb1pTQnRhWE5zWldGa2FXNW5JR1Y0ZEhKaElHMXBjMjFoZEdOb0lIZGhjbTVwYm1jZ2FXNGdkR2hwY3lCallYTmxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjMDFwYzIxaGRHTm9SSFZsVkc5Q1lXUkRZWE5wYm1jZ1BTQjBjblZsT3lBdkx5QWtSbXh2ZDBacGVFMWxJQzBnVTJodmRXeGtJR0psSUdsdVptVnljbVZrSUdGeklHNXZkQ0IxYm1SbFptbHVaV1F1WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWlhoMGNtRkJkSFJ5YVdKMWRHVk9ZVzFsY3k1a1pXeGxkR1VvYzNSaGJtUmhjbVJPWVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ0x5OGdKRVpzYjNkR2FYaE5aU0F0SUZOb2IzVnNaQ0JpWlNCcGJtWmxjbkpsWkNCaGN5QnViM1FnZFc1a1pXWnBibVZrTGx4dVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGRISmhRWFIwY21saWRYUmxUbUZ0WlhNdVpHVnNaWFJsS0hCeWIzQkxaWGtwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUhObGNuWmxjbFpoYkhWbElEMGdaMlYwVm1Gc2RXVkdiM0pCZEhSeWFXSjFkR1VvWkc5dFJXeGxiV1Z1ZEN3Z2NISnZjRXRsZVN3Z2JtVjRkRkJ5YjNBcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHNWxlSFJRY205d0lDRTlQU0J6WlhKMlpYSldZV3gxWlNBbUppQWhhWE5OYVhOdFlYUmphRVIxWlZSdlFtRmtRMkZ6YVc1bktTQjdYRzRnSUNBZ0lDQWdJQ0FnZDJGeWJrWnZjbEJ5YjNCRWFXWm1aWEpsYm1ObEtIQnliM0JMWlhrc0lITmxjblpsY2xaaGJIVmxMQ0J1WlhoMFVISnZjQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCN1hHNGdJQ0FnTHk4Z0pFWnNiM2RHYVhoTlpTQXRJRk5vYjNWc1pDQmlaU0JwYm1abGNuSmxaQ0JoY3lCdWIzUWdkVzVrWldacGJtVmtMbHh1SUNBZ0lHbG1JQ2hsZUhSeVlVRjBkSEpwWW5WMFpVNWhiV1Z6TG5OcGVtVWdQaUF3SUNZbUlDRnpkWEJ3Y21WemMwaDVaSEpoZEdsdmJsZGhjbTVwYm1jcElIdGNiaUFnSUNBZ0lDOHZJQ1JHYkc5M1JtbDRUV1VnTFNCVGFHOTFiR1FnWW1VZ2FXNW1aWEp5WldRZ1lYTWdibTkwSUhWdVpHVm1hVzVsWkM1Y2JpQWdJQ0FnSUhkaGNtNUdiM0pGZUhSeVlVRjBkSEpwWW5WMFpYTW9aWGgwY21GQmRIUnlhV0oxZEdWT1lXMWxjeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYzNkcGRHTm9JQ2gwWVdjcElIdGNiaUFnSUNCallYTmxJQ2RwYm5CMWRDYzZYRzRnSUNBZ0lDQXZMeUJVVDBSUE9pQk5ZV3RsSUhOMWNtVWdkMlVnWTJobFkyc2dhV1lnZEdocGN5QnBjeUJ6ZEdsc2JDQjFibTF2ZFc1MFpXUWdiM0lnWkc4Z1lXNTVJR05zWldGdVhHNGdJQ0FnSUNBdkx5QjFjQ0J1WldObGMzTmhjbmtnYzJsdVkyVWdkMlVnYm1WMlpYSWdjM1J2Y0NCMGNtRmphMmx1WnlCaGJubHRiM0psTGx4dUlDQWdJQ0FnZEhKaFkyc29aRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0J3YjNOMFRXOTFiblJYY21Gd2NHVnlLR1J2YlVWc1pXMWxiblFzSUhKaGQxQnliM0J6TENCMGNuVmxLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0FuZEdWNGRHRnlaV0VuT2x4dUlDQWdJQ0FnTHk4Z1ZFOUVUem9nVFdGclpTQnpkWEpsSUhkbElHTm9aV05ySUdsbUlIUm9hWE1nYVhNZ2MzUnBiR3dnZFc1dGIzVnVkR1ZrSUc5eUlHUnZJR0Z1ZVNCamJHVmhibHh1SUNBZ0lDQWdMeThnZFhBZ2JtVmpaWE56WVhKNUlITnBibU5sSUhkbElHNWxkbVZ5SUhOMGIzQWdkSEpoWTJ0cGJtY2dZVzU1Ylc5eVpTNWNiaUFnSUNBZ0lIUnlZV05yS0dSdmJVVnNaVzFsYm5RcE8xeHVJQ0FnSUNBZ2NHOXpkRTF2ZFc1MFYzSmhjSEJsY2lRektHUnZiVVZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJQ2R6Wld4bFkzUW5PbHh1SUNBZ0lHTmhjMlVnSjI5d2RHbHZiaWM2WEc0Z0lDQWdJQ0F2THlCR2IzSWdhVzV3ZFhRZ1lXNWtJSFJsZUhSaGNtVmhJSGRsSUdOMWNuSmxiblFnWVd4M1lYbHpJSE5sZENCMGFHVWdkbUZzZFdVZ2NISnZjR1Z5ZEhrZ1lYUmNiaUFnSUNBZ0lDOHZJSEJ2YzNRZ2JXOTFiblFnZEc4Z1ptOXlZMlVnYVhRZ2RHOGdaR2wyWlhKblpTQm1jbTl0SUdGMGRISnBZblYwWlhNdUlFaHZkMlYyWlhJc0lHWnZjbHh1SUNBZ0lDQWdMeThnYjNCMGFXOXVJR0Z1WkNCelpXeGxZM1FnZDJVZ1pHOXVKM1FnY1hWcGRHVWdaRzhnZEdobElITmhiV1VnZEdocGJtY2dZVzVrSUhObGJHVmpkRnh1SUNBZ0lDQWdMeThnYVhNZ2JtOTBJSEpsYzJsc2FXVnVkQ0IwYnlCMGFHVWdSRTlOSUhOMFlYUmxJR05vWVc1bmFXNW5JSE52SUhkbElHUnZiaWQwSUdSdklIUm9ZWFFnYUdWeVpTNWNiaUFnSUNBZ0lDOHZJRlJQUkU4NklFTnZibk5wWkdWeUlHNXZkQ0JrYjJsdVp5QjBhR2x6SUdadmNpQnBibkIxZENCaGJtUWdkR1Y0ZEdGeVpXRXVYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhKaGQxQnliM0J6TG05dVEyeHBZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nVkdocGN5QmpZWE4wSUcxaGVTQnViM1FnWW1VZ2MyOTFibVFnWm05eUlGTldSeXdnVFdGMGFFMU1JRzl5SUdOMWMzUnZiU0JsYkdWdFpXNTBjeTVjYmlBZ0lDQWdJQ0FnZEhKaGNFTnNhV05yVDI1T2IyNUpiblJsY21GamRHbDJaVVZzWlcxbGJuUW9aRzl0Uld4bGJXVnVkQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFZ3WkdGMFpWQmhlV3h2WVdRN1hHNTlYRzVtZFc1amRHbHZiaUJrYVdabVNIbGtjbUYwWldSVVpYaDBLSFJsZUhST2IyUmxMQ0IwWlhoMEtTQjdYRzRnSUhaaGNpQnBjMFJwWm1abGNtVnVkQ0E5SUhSbGVIUk9iMlJsTG01dlpHVldZV3gxWlNBaFBUMGdkR1Y0ZER0Y2JpQWdjbVYwZFhKdUlHbHpSR2xtWm1WeVpXNTBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2QyRnlia1p2Y2xWdWJXRjBZMmhsWkZSbGVIUW9kR1Y0ZEU1dlpHVXNJSFJsZUhRcElIdGNiaUFnZTF4dUlDQWdJSGRoY201R2IzSlVaWGgwUkdsbVptVnlaVzVqWlNoMFpYaDBUbTlrWlM1dWIyUmxWbUZzZFdVc0lIUmxlSFFwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCM1lYSnVSbTl5UkdWc1pYUmxaRWg1WkhKaGRHRmliR1ZGYkdWdFpXNTBLSEJoY21WdWRFNXZaR1VzSUdOb2FXeGtLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9aR2xrVjJGeWJrbHVkbUZzYVdSSWVXUnlZWFJwYjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JrYVdSWFlYSnVTVzUyWVd4cFpFaDVaSEpoZEdsdmJpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCbGNuSnZjaWduUkdsa0lHNXZkQ0JsZUhCbFkzUWdjMlZ5ZG1WeUlFaFVUVXdnZEc4Z1kyOXVkR0ZwYmlCaElEd2xjejRnYVc0Z1BDVnpQaTRuTENCamFHbHNaQzV1YjJSbFRtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncExDQndZWEpsYm5ST2IyUmxMbTV2WkdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0NrcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQjNZWEp1Um05eVJHVnNaWFJsWkVoNVpISmhkR0ZpYkdWVVpYaDBLSEJoY21WdWRFNXZaR1VzSUdOb2FXeGtLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9aR2xrVjJGeWJrbHVkbUZzYVdSSWVXUnlZWFJwYjI0cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JrYVdSWFlYSnVTVzUyWVd4cFpFaDVaSEpoZEdsdmJpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCbGNuSnZjaWduUkdsa0lHNXZkQ0JsZUhCbFkzUWdjMlZ5ZG1WeUlFaFVUVXdnZEc4Z1kyOXVkR0ZwYmlCMGFHVWdkR1Y0ZENCdWIyUmxJRndpSlhOY0lpQnBiaUE4SlhNK0xpY3NJR05vYVd4a0xtNXZaR1ZXWVd4MVpTd2djR0Z5Wlc1MFRtOWtaUzV1YjJSbFRtRnRaUzUwYjB4dmQyVnlRMkZ6WlNncEtUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdkMkZ5YmtadmNrbHVjMlZ5ZEdWa1NIbGtjbUYwWldSRmJHVnRaVzUwS0hCaGNtVnVkRTV2WkdVc0lIUmhaeXdnY0hKdmNITXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaGthV1JYWVhKdVNXNTJZV3hwWkVoNVpISmhkR2x2YmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1JwWkZkaGNtNUpiblpoYkdsa1NIbGtjbUYwYVc5dUlEMGdkSEoxWlR0Y2JseHVJQ0FnSUdWeWNtOXlLQ2RGZUhCbFkzUmxaQ0J6WlhKMlpYSWdTRlJOVENCMGJ5QmpiMjUwWVdsdUlHRWdiV0YwWTJocGJtY2dQQ1Z6UGlCcGJpQThKWE0rTGljc0lIUmhaeXdnY0dGeVpXNTBUbTlrWlM1dWIyUmxUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnZDJGeWJrWnZja2x1YzJWeWRHVmtTSGxrY21GMFpXUlVaWGgwS0hCaGNtVnVkRTV2WkdVc0lIUmxlSFFwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2gwWlhoMElEMDlQU0FuSnlrZ2UxeHVJQ0FnSUNBZ0x5OGdWMlVnWlhod1pXTjBJSFJ2SUdsdWMyVnlkQ0JsYlhCMGVTQjBaWGgwSUc1dlpHVnpJSE5wYm1ObElIUm9aWGtuY21VZ2JtOTBJSEpsY0hKbGMyVnVkR1ZrSUdsdVhHNGdJQ0FnSUNBdkx5QjBhR1VnU0ZSTlRDNWNiaUFnSUNBZ0lDOHZJRlJQUkU4NklGSmxiVzkyWlNCMGFHbHpJSE53WldOcFlXd2dZMkZ6WlNCcFppQjNaU0JqWVc0Z2FuVnpkQ0JoZG05cFpDQnBibk5sY25ScGJtY2daVzF3ZEhsY2JpQWdJQ0FnSUM4dklIUmxlSFFnYm05a1pYTXVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHUnBaRmRoY201SmJuWmhiR2xrU0hsa2NtRjBhVzl1S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaR2xrVjJGeWJrbHVkbUZzYVdSSWVXUnlZWFJwYjI0Z1BTQjBjblZsTzF4dVhHNGdJQ0FnWlhKeWIzSW9KMFY0Y0dWamRHVmtJSE5sY25abGNpQklWRTFNSUhSdklHTnZiblJoYVc0Z1lTQnRZWFJqYUdsdVp5QjBaWGgwSUc1dlpHVWdabTl5SUZ3aUpYTmNJaUJwYmlBOEpYTStMaWNzSUhSbGVIUXNJSEJoY21WdWRFNXZaR1V1Ym05a1pVNWhiV1V1ZEc5TWIzZGxja05oYzJVb0tTazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSEpsYzNSdmNtVkRiMjUwY205c2JHVmtVM1JoZEdVa015aGtiMjFGYkdWdFpXNTBMQ0IwWVdjc0lIQnliM0J6S1NCN1hHNGdJSE4zYVhSamFDQW9kR0ZuS1NCN1hHNGdJQ0FnWTJGelpTQW5hVzV3ZFhRbk9seHVJQ0FnSUNBZ2NtVnpkRzl5WlVOdmJuUnliMnhzWldSVGRHRjBaU2hrYjIxRmJHVnRaVzUwTENCd2NtOXdjeWs3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzVjYmlBZ0lDQmpZWE5sSUNkMFpYaDBZWEpsWVNjNlhHNGdJQ0FnSUNCeVpYTjBiM0psUTI5dWRISnZiR3hsWkZOMFlYUmxKRElvWkc5dFJXeGxiV1Z1ZEN3Z2NISnZjSE1wTzF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1WEc0Z0lDQWdZMkZ6WlNBbmMyVnNaV04wSnpwY2JpQWdJQ0FnSUhKbGMzUnZjbVZEYjI1MGNtOXNiR1ZrVTNSaGRHVWtNU2hrYjIxRmJHVnRaVzUwTENCd2NtOXdjeWs3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFFXTjBhWFpsUld4bGJXVnVkQ2hrYjJNcElIdGNiaUFnWkc5aklEMGdaRzlqSUh4OElDaDBlWEJsYjJZZ1pHOWpkVzFsYm5RZ0lUMDlJQ2QxYm1SbFptbHVaV1FuSUQ4Z1pHOWpkVzFsYm5RZ09pQjFibVJsWm1sdVpXUXBPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdaRzlqSUQwOVBTQW5kVzVrWldacGJtVmtKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnlaWFIxY200Z1pHOWpMbUZqZEdsMlpVVnNaVzFsYm5RZ2ZId2daRzlqTG1KdlpIazdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNCeVpYUjFjbTRnWkc5akxtSnZaSGs3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJoYm5rZ2JtOWtaU0J5WlhSMWNtNGdkR2hsSUdacGNuTjBJR3hsWVdZZ2JtOWtaU0IzYVhSb2IzVjBJR05vYVd4a2NtVnVMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdSRTlOUld4bGJXVnVkSHhFVDAxVVpYaDBUbTlrWlgwZ2JtOWtaVnh1SUNvZ1FISmxkSFZ5YmlCN1JFOU5SV3hsYldWdWRIeEVUMDFVWlhoMFRtOWtaWDFjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJuWlhSTVpXRm1UbTlrWlNodWIyUmxLU0I3WEc0Z0lIZG9hV3hsSUNodWIyUmxJQ1ltSUc1dlpHVXVabWx5YzNSRGFHbHNaQ2tnZTF4dUlDQWdJRzV2WkdVZ1BTQnViMlJsTG1acGNuTjBRMmhwYkdRN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtOWtaVHRjYm4xY2JpOHFLbHh1SUNvZ1IyVjBJSFJvWlNCdVpYaDBJSE5wWW14cGJtY2dkMmwwYUdsdUlHRWdZMjl1ZEdGcGJtVnlMaUJVYUdseklIZHBiR3dnZDJGc2F5QjFjQ0IwYUdWY2JpQXFJRVJQVFNCcFppQmhJRzV2WkdVbmN5QnphV0pzYVc1bmN5Qm9ZWFpsSUdKbFpXNGdaWGhvWVhWemRHVmtMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdSRTlOUld4bGJXVnVkSHhFVDAxVVpYaDBUbTlrWlgwZ2JtOWtaVnh1SUNvZ1FISmxkSFZ5YmlCN1AwUlBUVVZzWlcxbGJuUjhSRTlOVkdWNGRFNXZaR1Y5WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCblpYUlRhV0pzYVc1blRtOWtaU2h1YjJSbEtTQjdYRzRnSUhkb2FXeGxJQ2h1YjJSbEtTQjdYRzRnSUNBZ2FXWWdLRzV2WkdVdWJtVjRkRk5wWW14cGJtY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTG01bGVIUlRhV0pzYVc1bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUc1dlpHVWdQU0J1YjJSbExuQmhjbVZ1ZEU1dlpHVTdYRzRnSUgxY2JuMWNiaThxS2x4dUlDb2dSMlYwSUc5aWFtVmpkQ0JrWlhOamNtbGlhVzVuSUhSb1pTQnViMlJsY3lCM2FHbGphQ0JqYjI1MFlXbHVJR05vWVhKaFkzUmxjbk1nWVhRZ2IyWm1jMlYwTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3UkU5TlJXeGxiV1Z1ZEh4RVQwMVVaWGgwVG05a1pYMGdjbTl2ZEZ4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlHOW1abk5sZEZ4dUlDb2dRSEpsZEhWeWJpQjdQMjlpYW1WamRIMWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2RsZEU1dlpHVkdiM0pEYUdGeVlXTjBaWEpQWm1aelpYUW9jbTl2ZEN3Z2IyWm1jMlYwS1NCN1hHNGdJSFpoY2lCdWIyUmxJRDBnWjJWMFRHVmhaazV2WkdVb2NtOXZkQ2s3WEc0Z0lIWmhjaUJ1YjJSbFUzUmhjblFnUFNBd08xeHVJQ0IyWVhJZ2JtOWtaVVZ1WkNBOUlEQTdYRzVjYmlBZ2QyaHBiR1VnS0c1dlpHVXBJSHRjYmlBZ0lDQnBaaUFvYm05a1pTNXViMlJsVkhsd1pTQTlQVDBnVkVWWVZGOU9UMFJGS1NCN1hHNGdJQ0FnSUNCdWIyUmxSVzVrSUQwZ2JtOWtaVk4wWVhKMElDc2dibTlrWlM1MFpYaDBRMjl1ZEdWdWRDNXNaVzVuZEdnN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1YjJSbFUzUmhjblFnUEQwZ2IyWm1jMlYwSUNZbUlHNXZaR1ZGYm1RZ1BqMGdiMlptYzJWMEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJQ0FnYm05a1pUb2dibTlrWlN4Y2JpQWdJQ0FnSUNBZ0lDQnZabVp6WlhRNklHOW1abk5sZENBdElHNXZaR1ZUZEdGeWRGeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J1YjJSbFUzUmhjblFnUFNCdWIyUmxSVzVrTzF4dUlDQWdJSDFjYmx4dUlDQWdJRzV2WkdVZ1BTQm5aWFJNWldGbVRtOWtaU2huWlhSVGFXSnNhVzVuVG05a1pTaHViMlJsS1NrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFjR0Z5WVcwZ2UwUlBUVVZzWlcxbGJuUjlJRzkxZEdWeVRtOWtaVnh1SUNvZ1FISmxkSFZ5YmlCN1AyOWlhbVZqZEgxY2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCblpYUlBabVp6WlhSektHOTFkR1Z5VG05a1pTa2dlMXh1SUNCMllYSWdiM2R1WlhKRWIyTjFiV1Z1ZENBOUlHOTFkR1Z5VG05a1pTNXZkMjVsY2tSdlkzVnRaVzUwTzF4dUlDQjJZWElnZDJsdUlEMGdiM2R1WlhKRWIyTjFiV1Z1ZENBbUppQnZkMjVsY2tSdlkzVnRaVzUwTG1SbFptRjFiSFJXYVdWM0lIeDhJSGRwYm1SdmR6dGNiaUFnZG1GeUlITmxiR1ZqZEdsdmJpQTlJSGRwYmk1blpYUlRaV3hsWTNScGIyNGdKaVlnZDJsdUxtZGxkRk5sYkdWamRHbHZiaWdwTzF4dVhHNGdJR2xtSUNnaGMyVnNaV04wYVc5dUlIeDhJSE5sYkdWamRHbHZiaTV5WVc1blpVTnZkVzUwSUQwOVBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCMllYSWdZVzVqYUc5eVRtOWtaU0E5SUhObGJHVmpkR2x2Ymk1aGJtTm9iM0pPYjJSbExGeHVJQ0FnSUNBZ1lXNWphRzl5VDJabWMyVjBJRDBnYzJWc1pXTjBhVzl1TG1GdVkyaHZjazltWm5ObGRDeGNiaUFnSUNBZ0lHWnZZM1Z6VG05a1pTQTlJSE5sYkdWamRHbHZiaTVtYjJOMWMwNXZaR1VzWEc0Z0lDQWdJQ0JtYjJOMWMwOW1abk5sZENBOUlITmxiR1ZqZEdsdmJpNW1iMk4xYzA5bVpuTmxkRHNnTHk4Z1NXNGdSbWx5WldadmVDd2dZVzVqYUc5eVRtOWtaU0JoYm1RZ1ptOWpkWE5PYjJSbElHTmhiaUJpWlNCY0ltRnViMjU1Ylc5MWN5QmthWFp6WENJc0lHVXVaeTRnZEdobFhHNGdJQzh2SUhWd0wyUnZkMjRnWW5WMGRHOXVjeUJ2YmlCaGJpQThhVzV3ZFhRZ2RIbHdaVDFjSW01MWJXSmxjbHdpUGk0Z1FXNXZibmx0YjNWeklHUnBkbk1nWkc4Z2JtOTBJSE5sWlcwZ2RHOWNiaUFnTHk4Z1pYaHdiM05sSUhCeWIzQmxjblJwWlhNc0lIUnlhV2RuWlhKcGJtY2dZU0JjSWxCbGNtMXBjM05wYjI0Z1pHVnVhV1ZrSUdWeWNtOXlYQ0lnYVdZZ1lXNTVJRzltSUdsMGMxeHVJQ0F2THlCd2NtOXdaWEowYVdWeklHRnlaU0JoWTJObGMzTmxaQzRnVkdobElHOXViSGtnYzJWbGJXbHVaMng1SUhCdmMzTnBZbXhsSUhkaGVTQjBieUJoZG05cFpDQmxjbkp2Y21sdVoxeHVJQ0F2THlCcGN5QjBieUJoWTJObGMzTWdZU0J3Y205d1pYSjBlU0IwYUdGMElIUjVjR2xqWVd4c2VTQjNiM0pyY3lCbWIzSWdibTl1TFdGdWIyNTViVzkxY3lCa2FYWnpJR0Z1WkZ4dUlDQXZMeUJqWVhSamFDQmhibmtnWlhKeWIzSWdkR2hoZENCdFlYa2diM1JvWlhKM2FYTmxJR0Z5YVhObExpQlRaV1ZjYmlBZ0x5OGdhSFIwY0hNNkx5OWlkV2Q2YVd4c1lTNXRiM3BwYkd4aExtOXlaeTl6YUc5M1gySjFaeTVqWjJrL2FXUTlNakE0TkRJM1hHNWNiaUFnZEhKNUlIdGNiaUFnSUNBdktpQmxjMnhwYm5RdFpHbHpZV0pzWlNCdWJ5MTFiblZ6WldRdFpYaHdjbVZ6YzJsdmJuTWdLaTljYmlBZ0lDQmhibU5vYjNKT2IyUmxMbTV2WkdWVWVYQmxPMXh1SUNBZ0lHWnZZM1Z6VG05a1pTNXViMlJsVkhsd1pUdGNiaUFnSUNBdktpQmxjMnhwYm5RdFpXNWhZbXhsSUc1dkxYVnVkWE5sWkMxbGVIQnlaWE56YVc5dWN5QXFMMXh1SUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdaMlYwVFc5a1pYSnVUMlptYzJWMGMwWnliMjFRYjJsdWRITW9iM1YwWlhKT2IyUmxMQ0JoYm1Ob2IzSk9iMlJsTENCaGJtTm9iM0pQWm1aelpYUXNJR1p2WTNWelRtOWtaU3dnWm05amRYTlBabVp6WlhRcE8xeHVmVnh1THlvcVhHNGdLaUJTWlhSMWNtNXpJSHR6ZEdGeWRDd2daVzVrZlNCM2FHVnlaU0JnYzNSaGNuUmdJR2x6SUhSb1pTQmphR0Z5WVdOMFpYSXZZMjlrWlhCdmFXNTBJR2x1WkdWNElHOW1YRzRnS2lBb1lXNWphRzl5VG05a1pTd2dZVzVqYUc5eVQyWm1jMlYwS1NCM2FYUm9hVzRnZEdobElIUmxlSFJEYjI1MFpXNTBJRzltSUdCdmRYUmxjazV2WkdWZ0xDQmhibVJjYmlBcUlHQmxibVJnSUdseklIUm9aU0JwYm1SbGVDQnZaaUFvWm05amRYTk9iMlJsTENCbWIyTjFjMDltWm5ObGRDa3VYRzRnS2x4dUlDb2dVbVYwZFhKdWN5QnVkV3hzSUdsbUlIbHZkU0J3WVhOeklHbHVJR2RoY21KaFoyVWdhVzV3ZFhRZ1luVjBJSGRsSUhOb2IzVnNaQ0J3Y205aVlXSnNlU0JxZFhOMElHTnlZWE5vTGx4dUlDcGNiaUFxSUVWNGNHOXlkR1ZrSUc5dWJIa2dabTl5SUhSbGMzUnBibWN1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFRXOWtaWEp1VDJabWMyVjBjMFp5YjIxUWIybHVkSE1vYjNWMFpYSk9iMlJsTENCaGJtTm9iM0pPYjJSbExDQmhibU5vYjNKUFptWnpaWFFzSUdadlkzVnpUbTlrWlN3Z1ptOWpkWE5QWm1aelpYUXBJSHRjYmlBZ2RtRnlJR3hsYm1kMGFDQTlJREE3WEc0Z0lIWmhjaUJ6ZEdGeWRDQTlJQzB4TzF4dUlDQjJZWElnWlc1a0lEMGdMVEU3WEc0Z0lIWmhjaUJwYm1SbGVGZHBkR2hwYmtGdVkyaHZjaUE5SURBN1hHNGdJSFpoY2lCcGJtUmxlRmRwZEdocGJrWnZZM1Z6SUQwZ01EdGNiaUFnZG1GeUlHNXZaR1VnUFNCdmRYUmxjazV2WkdVN1hHNGdJSFpoY2lCd1lYSmxiblJPYjJSbElEMGdiblZzYkR0Y2JseHVJQ0J2ZFhSbGNqb2dkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0IyWVhJZ2JtVjRkQ0E5SUc1MWJHdzdYRzVjYmlBZ0lDQjNhR2xzWlNBb2RISjFaU2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNXZaR1VnUFQwOUlHRnVZMmh2Y2s1dlpHVWdKaVlnS0dGdVkyaHZjazltWm5ObGRDQTlQVDBnTUNCOGZDQnViMlJsTG01dlpHVlVlWEJsSUQwOVBTQlVSVmhVWDA1UFJFVXBLU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBJRDBnYkdWdVozUm9JQ3NnWVc1amFHOXlUMlptYzJWME8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTQTlQVDBnWm05amRYTk9iMlJsSUNZbUlDaG1iMk4xYzA5bVpuTmxkQ0E5UFQwZ01DQjhmQ0J1YjJSbExtNXZaR1ZVZVhCbElEMDlQU0JVUlZoVVgwNVBSRVVwS1NCN1hHNGdJQ0FnSUNBZ0lHVnVaQ0E5SUd4bGJtZDBhQ0FySUdadlkzVnpUMlptYzJWME8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNXViMlJsVkhsd1pTQTlQVDBnVkVWWVZGOU9UMFJGS1NCN1hHNGdJQ0FnSUNBZ0lHeGxibWQwYUNBclBTQnViMlJsTG01dlpHVldZV3gxWlM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDZ29ibVY0ZENBOUlHNXZaR1V1Wm1seWMzUkRhR2xzWkNrZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOUlDOHZJRTF2ZG1sdVp5Qm1jbTl0SUdCdWIyUmxZQ0IwYnlCcGRITWdabWx5YzNRZ1kyaHBiR1FnWUc1bGVIUmdMbHh1WEc1Y2JpQWdJQ0FnSUhCaGNtVnVkRTV2WkdVZ1BTQnViMlJsTzF4dUlDQWdJQ0FnYm05a1pTQTlJRzVsZUhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZDJocGJHVWdLSFJ5ZFdVcElIdGNiaUFnSUNBZ0lHbG1JQ2h1YjJSbElEMDlQU0J2ZFhSbGNrNXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWUc5MWRHVnlUbTlrWldBZ2FHRnpJR05vYVd4a2NtVnVMQ0IwYUdseklHbHpJR0ZzZDJGNWN5QjBhR1VnYzJWamIyNWtJSFJwYldVZ2RtbHphWFJwYm1kY2JpQWdJQ0FnSUNBZ0x5OGdhWFF1SUVsbUlHbDBJR2hoY3lCdWJ5QmphR2xzWkhKbGJpd2dkR2hwY3lCcGN5QnpkR2xzYkNCMGFHVWdabWx5YzNRZ2JHOXZjQ3dnWVc1a0lIUm9aU0J2Ym14NVhHNGdJQ0FnSUNBZ0lDOHZJSFpoYkdsa0lITmxiR1ZqZEdsdmJpQnBjeUJoYm1Ob2IzSk9iMlJsSUdGdVpDQm1iMk4xYzA1dlpHVWdZbTkwYUNCbGNYVmhiQ0IwYnlCMGFHbHpJRzV2WkdWY2JpQWdJQ0FnSUNBZ0x5OGdZVzVrSUdKdmRHZ2diMlptYzJWMGN5QXdMQ0JwYmlCM2FHbGphQ0JqWVhObElIZGxJSGRwYkd3Z2FHRjJaU0JvWVc1a2JHVmtJR0ZpYjNabExseHVJQ0FnSUNBZ0lDQmljbVZoYXlCdmRYUmxjanRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIQmhjbVZ1ZEU1dlpHVWdQVDA5SUdGdVkyaHZjazV2WkdVZ0ppWWdLeXRwYm1SbGVGZHBkR2hwYmtGdVkyaHZjaUE5UFQwZ1lXNWphRzl5VDJabWMyVjBLU0I3WEc0Z0lDQWdJQ0FnSUhOMFlYSjBJRDBnYkdWdVozUm9PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2NHRnlaVzUwVG05a1pTQTlQVDBnWm05amRYTk9iMlJsSUNZbUlDc3JhVzVrWlhoWGFYUm9hVzVHYjJOMWN5QTlQVDBnWm05amRYTlBabVp6WlhRcElIdGNiaUFnSUNBZ0lDQWdaVzVrSUQwZ2JHVnVaM1JvTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9LRzVsZUhRZ1BTQnViMlJsTG01bGVIUlRhV0pzYVc1bktTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlIQmhjbVZ1ZEU1dlpHVTdYRzRnSUNBZ0lDQndZWEpsYm5ST2IyUmxJRDBnYm05a1pTNXdZWEpsYm5ST2IyUmxPMXh1SUNBZ0lIMGdMeThnVFc5MmFXNW5JR1p5YjIwZ1lHNXZaR1ZnSUhSdklHbDBjeUJ1WlhoMElITnBZbXhwYm1jZ1lHNWxlSFJnTGx4dVhHNWNiaUFnSUNCdWIyUmxJRDBnYm1WNGREdGNiaUFnZlZ4dVhHNGdJR2xtSUNoemRHRnlkQ0E5UFQwZ0xURWdmSHdnWlc1a0lEMDlQU0F0TVNrZ2UxeHVJQ0FnSUM4dklGUm9hWE1nYzJodmRXeGtJRzVsZG1WeUlHaGhjSEJsYmk0Z0tGZHZkV3hrSUdoaGNIQmxiaUJwWmlCMGFHVWdZVzVqYUc5eUwyWnZZM1Z6SUc1dlpHVnpJR0Z5Wlc0bmRGeHVJQ0FnSUM4dklHRmpkSFZoYkd4NUlHbHVjMmxrWlNCMGFHVWdjR0Z6YzJWa0xXbHVJRzV2WkdVdUtWeHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlIdGNiaUFnSUNCemRHRnlkRG9nYzNSaGNuUXNYRzRnSUNBZ1pXNWtPaUJsYm1SY2JpQWdmVHRjYm4xY2JpOHFLbHh1SUNvZ1NXNGdiVzlrWlhKdUlHNXZiaTFKUlNCaWNtOTNjMlZ5Y3l3Z2QyVWdZMkZ1SUhOMWNIQnZjblFnWW05MGFDQm1iM0ozWVhKa0lHRnVaQ0JpWVdOcmQyRnlaRnh1SUNvZ2MyVnNaV04wYVc5dWN5NWNiaUFxWEc0Z0tpQk9iM1JsT2lCSlJURXdLeUJ6ZFhCd2IzSjBjeUIwYUdVZ1UyVnNaV04wYVc5dUlHOWlhbVZqZEN3Z1luVjBJR2wwSUdSdlpYTWdibTkwSUhOMWNIQnZjblJjYmlBcUlIUm9aU0JnWlhoMFpXNWtZQ0J0WlhSb2IyUXNJSGRvYVdOb0lHMWxZVzV6SUhSb1lYUWdaWFpsYmlCcGJpQnRiMlJsY200Z1NVVXNJR2wwSjNNZ2JtOTBJSEJ2YzNOcFlteGxYRzRnS2lCMGJ5QndjbTluY21GdGJXRjBhV05oYkd4NUlHTnlaV0YwWlNCaElHSmhZMnQzWVhKa0lITmxiR1ZqZEdsdmJpNGdWR2gxY3l3Z1ptOXlJR0ZzYkNCSlJWeHVJQ29nZG1WeWMybHZibk1zSUhkbElIVnpaU0IwYUdVZ2IyeGtJRWxGSUVGUVNTQjBieUJqY21WaGRHVWdiM1Z5SUhObGJHVmpkR2x2Ym5NdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0RVQwMUZiR1Z0Wlc1MGZFUlBUVlJsZUhST2IyUmxmU0J1YjJSbFhHNGdLaUJBY0dGeVlXMGdlMjlpYW1WamRIMGdiMlptYzJWMGMxeHVJQ292WEc1Y2JtWjFibU4wYVc5dUlITmxkRTltWm5ObGRITW9ibTlrWlN3Z2IyWm1jMlYwY3lrZ2UxeHVJQ0IyWVhJZ1pHOWpJRDBnYm05a1pTNXZkMjVsY2tSdlkzVnRaVzUwSUh4OElHUnZZM1Z0Wlc1ME8xeHVJQ0IyWVhJZ2QybHVJRDBnWkc5aklDWW1JR1J2WXk1a1pXWmhkV3gwVm1sbGR5QjhmQ0IzYVc1a2IzYzdJQzh2SUVWa1oyVWdabUZwYkhNZ2QybDBhQ0JjSWs5aWFtVmpkQ0JsZUhCbFkzUmxaRndpSUdsdUlITnZiV1VnYzJObGJtRnlhVzl6TGx4dUlDQXZMeUFvUm05eUlHbHVjM1JoYm1ObE9pQlVhVzU1VFVORklHVmthWFJ2Y2lCMWMyVmtJR2x1SUdFZ2JHbHpkQ0JqYjIxd2IyNWxiblFnZEdoaGRDQnpkWEJ3YjNKMGN5QndZWE4wYVc1bklIUnZJR0ZrWkNCdGIzSmxMRnh1SUNBdkx5Qm1ZV2xzY3lCM2FHVnVJSEJoYzNScGJtY2dNVEF3S3lCcGRHVnRjeWxjYmx4dUlDQnBaaUFvSVhkcGJpNW5aWFJUWld4bFkzUnBiMjRwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0IyWVhJZ2MyVnNaV04wYVc5dUlEMGdkMmx1TG1kbGRGTmxiR1ZqZEdsdmJpZ3BPMXh1SUNCMllYSWdiR1Z1WjNSb0lEMGdibTlrWlM1MFpYaDBRMjl1ZEdWdWRDNXNaVzVuZEdnN1hHNGdJSFpoY2lCemRHRnlkQ0E5SUUxaGRHZ3ViV2x1S0c5bVpuTmxkSE11YzNSaGNuUXNJR3hsYm1kMGFDazdYRzRnSUhaaGNpQmxibVFnUFNCdlptWnpaWFJ6TG1WdVpDQTlQVDBnZFc1a1pXWnBibVZrSUQ4Z2MzUmhjblFnT2lCTllYUm9MbTFwYmlodlptWnpaWFJ6TG1WdVpDd2diR1Z1WjNSb0tUc2dMeThnU1VVZ01URWdkWE5sY3lCdGIyUmxjbTRnYzJWc1pXTjBhVzl1TENCaWRYUWdaRzlsYzI0bmRDQnpkWEJ3YjNKMElIUm9aU0JsZUhSbGJtUWdiV1YwYUc5a0xseHVJQ0F2THlCR2JHbHdJR0poWTJ0M1lYSmtJSE5sYkdWamRHbHZibk1zSUhOdklIZGxJR05oYmlCelpYUWdkMmwwYUNCaElITnBibWRzWlNCeVlXNW5aUzVjYmx4dUlDQnBaaUFvSVhObGJHVmpkR2x2Ymk1bGVIUmxibVFnSmlZZ2MzUmhjblFnUGlCbGJtUXBJSHRjYmlBZ0lDQjJZWElnZEdWdGNDQTlJR1Z1WkR0Y2JpQWdJQ0JsYm1RZ1BTQnpkR0Z5ZER0Y2JpQWdJQ0J6ZEdGeWRDQTlJSFJsYlhBN1hHNGdJSDFjYmx4dUlDQjJZWElnYzNSaGNuUk5ZWEpyWlhJZ1BTQm5aWFJPYjJSbFJtOXlRMmhoY21GamRHVnlUMlptYzJWMEtHNXZaR1VzSUhOMFlYSjBLVHRjYmlBZ2RtRnlJR1Z1WkUxaGNtdGxjaUE5SUdkbGRFNXZaR1ZHYjNKRGFHRnlZV04wWlhKUFptWnpaWFFvYm05a1pTd2daVzVrS1R0Y2JseHVJQ0JwWmlBb2MzUmhjblJOWVhKclpYSWdKaVlnWlc1a1RXRnlhMlZ5S1NCN1hHNGdJQ0FnYVdZZ0tITmxiR1ZqZEdsdmJpNXlZVzVuWlVOdmRXNTBJRDA5UFNBeElDWW1JSE5sYkdWamRHbHZiaTVoYm1Ob2IzSk9iMlJsSUQwOVBTQnpkR0Z5ZEUxaGNtdGxjaTV1YjJSbElDWW1JSE5sYkdWamRHbHZiaTVoYm1Ob2IzSlBabVp6WlhRZ1BUMDlJSE4wWVhKMFRXRnlhMlZ5TG05bVpuTmxkQ0FtSmlCelpXeGxZM1JwYjI0dVptOWpkWE5PYjJSbElEMDlQU0JsYm1STllYSnJaWEl1Ym05a1pTQW1KaUJ6Wld4bFkzUnBiMjR1Wm05amRYTlBabVp6WlhRZ1BUMDlJR1Z1WkUxaGNtdGxjaTV2Wm1aelpYUXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjbUZ1WjJVZ1BTQmtiMk11WTNKbFlYUmxVbUZ1WjJVb0tUdGNiaUFnSUNCeVlXNW5aUzV6WlhSVGRHRnlkQ2h6ZEdGeWRFMWhjbXRsY2k1dWIyUmxMQ0J6ZEdGeWRFMWhjbXRsY2k1dlptWnpaWFFwTzF4dUlDQWdJSE5sYkdWamRHbHZiaTV5WlcxdmRtVkJiR3hTWVc1blpYTW9LVHRjYmx4dUlDQWdJR2xtSUNoemRHRnlkQ0ErSUdWdVpDa2dlMXh1SUNBZ0lDQWdjMlZzWldOMGFXOXVMbUZrWkZKaGJtZGxLSEpoYm1kbEtUdGNiaUFnSUNBZ0lITmxiR1ZqZEdsdmJpNWxlSFJsYm1Rb1pXNWtUV0Z5YTJWeUxtNXZaR1VzSUdWdVpFMWhjbXRsY2k1dlptWnpaWFFwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlZVzVuWlM1elpYUkZibVFvWlc1a1RXRnlhMlZ5TG01dlpHVXNJR1Z1WkUxaGNtdGxjaTV2Wm1aelpYUXBPMXh1SUNBZ0lDQWdjMlZzWldOMGFXOXVMbUZrWkZKaGJtZGxLSEpoYm1kbEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdhWE5VWlhoMFRtOWtaU2h1YjJSbEtTQjdYRzRnSUhKbGRIVnliaUJ1YjJSbElDWW1JRzV2WkdVdWJtOWtaVlI1Y0dVZ1BUMDlJRlJGV0ZSZlRrOUVSVHRjYm4xY2JseHVablZ1WTNScGIyNGdZMjl1ZEdGcGJuTk9iMlJsS0c5MWRHVnlUbTlrWlN3Z2FXNXVaWEpPYjJSbEtTQjdYRzRnSUdsbUlDZ2hiM1YwWlhKT2IyUmxJSHg4SUNGcGJtNWxjazV2WkdVcElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ1pXeHpaU0JwWmlBb2IzVjBaWEpPYjJSbElEMDlQU0JwYm01bGNrNXZaR1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmU0JsYkhObElHbG1JQ2hwYzFSbGVIUk9iMlJsS0c5MWRHVnlUbTlrWlNrcElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ1pXeHpaU0JwWmlBb2FYTlVaWGgwVG05a1pTaHBibTVsY2s1dlpHVXBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJoYVc1elRtOWtaU2h2ZFhSbGNrNXZaR1VzSUdsdWJtVnlUbTlrWlM1d1lYSmxiblJPYjJSbEtUdGNiaUFnZlNCbGJITmxJR2xtSUNnblkyOXVkR0ZwYm5NbklHbHVJRzkxZEdWeVRtOWtaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnZkWFJsY2s1dlpHVXVZMjl1ZEdGcGJuTW9hVzV1WlhKT2IyUmxLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHZkWFJsY2s1dlpHVXVZMjl0Y0dGeVpVUnZZM1Z0Wlc1MFVHOXphWFJwYjI0cElIdGNiaUFnSUNCeVpYUjFjbTRnSVNFb2IzVjBaWEpPYjJSbExtTnZiWEJoY21WRWIyTjFiV1Z1ZEZCdmMybDBhVzl1S0dsdWJtVnlUbTlrWlNrZ0ppQXhOaWs3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x6U1c1RWIyTjFiV1Z1ZENodWIyUmxLU0I3WEc0Z0lISmxkSFZ5YmlCdWIyUmxJQ1ltSUc1dlpHVXViM2R1WlhKRWIyTjFiV1Z1ZENBbUppQmpiMjUwWVdsdWMwNXZaR1VvYm05a1pTNXZkMjVsY2tSdlkzVnRaVzUwTG1SdlkzVnRaVzUwUld4bGJXVnVkQ3dnYm05a1pTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHpVMkZ0WlU5eWFXZHBia1p5WVcxbEtHbG1jbUZ0WlNrZ2UxeHVJQ0IwY25rZ2UxeHVJQ0FnSUM4dklFRmpZMlZ6YzJsdVp5QjBhR1VnWTI5dWRHVnVkRVJ2WTNWdFpXNTBJRzltSUdFZ1NGUk5URWxtY21GdFpVVnNaVzFsYm5RZ1kyRnVJR05oZFhObElIUm9aU0JpY205M2MyVnlYRzRnSUNBZ0x5OGdkRzhnZEdoeWIzY3NJR1V1Wnk0Z2FXWWdhWFFnYUdGeklHRWdZM0p2YzNNdGIzSnBaMmx1SUhOeVl5QmhkSFJ5YVdKMWRHVXVYRzRnSUNBZ0x5OGdVMkZtWVhKcElIZHBiR3dnYzJodmR5QmhiaUJsY25KdmNpQnBiaUIwYUdVZ1kyOXVjMjlzWlNCM2FHVnVJSFJvWlNCaFkyTmxjM01nY21WemRXeDBjeUJwYmlCY0lrSnNiMk5yWldRZ1lTQm1jbUZ0WlNCM2FYUm9JRzl5YVdkcGJsd2lMaUJsTG1jNlhHNGdJQ0FnTHk4Z2FXWnlZVzFsTG1OdmJuUmxiblJFYjJOMWJXVnVkQzVrWldaaGRXeDBWbWxsZHp0Y2JpQWdJQ0F2THlCQklITmhabVYwZVNCM1lYa2dhWE1nZEc4Z1lXTmpaWE56SUc5dVpTQnZaaUIwYUdVZ1kzSnZjM01nYjNKcFoybHVJSEJ5YjNCbGNuUnBaWE02SUZkcGJtUnZkeUJ2Y2lCTWIyTmhkR2x2Ymx4dUlDQWdJQzh2SUZkb2FXTm9JRzFwWjJoMElISmxjM1ZzZENCcGJpQmNJbE5sWTNWeWFYUjVSWEp5YjNKY0lpQkVUMDBnUlhoalpYQjBhVzl1SUdGdVpDQnBkQ0JwY3lCamIyMXdZWFJwWW14bElIUnZJRk5oWm1GeWFTNWNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwyaDBiV3d1YzNCbFl5NTNhR0YwZDJjdWIzSm5MMjExYkhScGNHRm5aUzlpY205M2MyVnljeTVvZEcxc0kybHVkR1ZuY21GMGFXOXVMWGRwZEdndGFXUnNYRzRnSUNBZ2NtVjBkWEp1SUhSNWNHVnZaaUJwWm5KaGJXVXVZMjl1ZEdWdWRGZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1b2NtVm1JRDA5UFNBbmMzUnlhVzVuSnp0Y2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVGamRHbDJaVVZzWlcxbGJuUkVaV1Z3S0NrZ2UxeHVJQ0IyWVhJZ2QybHVJRDBnZDJsdVpHOTNPMXh1SUNCMllYSWdaV3hsYldWdWRDQTlJR2RsZEVGamRHbDJaVVZzWlcxbGJuUW9LVHRjYmx4dUlDQjNhR2xzWlNBb1pXeGxiV1Z1ZENCcGJuTjBZVzVqWlc5bUlIZHBiaTVJVkUxTVNVWnlZVzFsUld4bGJXVnVkQ2tnZTF4dUlDQWdJR2xtSUNocGMxTmhiV1ZQY21sbmFXNUdjbUZ0WlNobGJHVnRaVzUwS1NrZ2UxeHVJQ0FnSUNBZ2QybHVJRDBnWld4bGJXVnVkQzVqYjI1MFpXNTBWMmx1Wkc5M08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaV3hsYldWdWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCbGJHVnRaVzUwSUQwZ1oyVjBRV04wYVhabFJXeGxiV1Z1ZENoM2FXNHVaRzlqZFcxbGJuUXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1ZzWlcxbGJuUTdYRzU5WEc0dktpcGNiaUFxSUVCU1pXRmpkRWx1Y0hWMFUyVnNaV04wYVc5dU9pQlNaV0ZqZENCcGJuQjFkQ0J6Wld4bFkzUnBiMjRnYlc5a2RXeGxMaUJDWVhObFpDQnZiaUJUWld4bFkzUnBiMjR1YW5Nc1hHNGdLaUJpZFhRZ2JXOWthV1pwWldRZ2RHOGdZbVVnYzNWcGRHRmliR1VnWm05eUlISmxZV04wSUdGdVpDQm9ZWE1nWVNCamIzVndiR1VnYjJZZ1luVm5JR1pwZUdWeklDaGtiMlZ6YmlkMFhHNGdLaUJoYzNOMWJXVWdZblYwZEc5dWN5Qm9ZWFpsSUhKaGJtZGxJSE5sYkdWamRHbHZibk1nWVd4c2IzZGxaQ2t1WEc0Z0tpQkpibkIxZENCelpXeGxZM1JwYjI0Z2JXOWtkV3hsSUdadmNpQlNaV0ZqZEM1Y2JpQXFMMXh1WEc0dktpcGNiaUFxSUVCb1lYTlRaV3hsWTNScGIyNURZWEJoWW1sc2FYUnBaWE02SUhkbElHZGxkQ0IwYUdVZ1pXeGxiV1Z1ZENCMGVYQmxjeUIwYUdGMElITjFjSEJ2Y25RZ2MyVnNaV04wYVc5dVhHNGdLaUJtY205dElHaDBkSEJ6T2k4dmFIUnRiQzV6Y0dWakxuZG9ZWFIzWnk1dmNtY3ZJMlJ2TFc1dmRDMWhjSEJzZVN3Z2JHOXZhMmx1WnlCaGRDQmdjMlZzWldOMGFXOXVVM1JoY25SZ1hHNGdLaUJoYm1RZ1lITmxiR1ZqZEdsdmJrVnVaR0FnY205M2N5NWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2hoYzFObGJHVmpkR2x2YmtOaGNHRmlhV3hwZEdsbGN5aGxiR1Z0S1NCN1hHNGdJSFpoY2lCdWIyUmxUbUZ0WlNBOUlHVnNaVzBnSmlZZ1pXeGxiUzV1YjJSbFRtRnRaU0FtSmlCbGJHVnRMbTV2WkdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0NrN1hHNGdJSEpsZEhWeWJpQnViMlJsVG1GdFpTQW1KaUFvYm05a1pVNWhiV1VnUFQwOUlDZHBibkIxZENjZ0ppWWdLR1ZzWlcwdWRIbHdaU0E5UFQwZ0ozUmxlSFFuSUh4OElHVnNaVzB1ZEhsd1pTQTlQVDBnSjNObFlYSmphQ2NnZkh3Z1pXeGxiUzUwZVhCbElEMDlQU0FuZEdWc0p5QjhmQ0JsYkdWdExuUjVjR1VnUFQwOUlDZDFjbXduSUh4OElHVnNaVzB1ZEhsd1pTQTlQVDBnSjNCaGMzTjNiM0prSnlrZ2ZId2dibTlrWlU1aGJXVWdQVDA5SUNkMFpYaDBZWEpsWVNjZ2ZId2daV3hsYlM1amIyNTBaVzUwUldScGRHRmliR1VnUFQwOUlDZDBjblZsSnlrN1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSVFpXeGxZM1JwYjI1SmJtWnZjbTFoZEdsdmJpZ3BJSHRjYmlBZ2RtRnlJR1p2WTNWelpXUkZiR1Z0SUQwZ1oyVjBRV04wYVhabFJXeGxiV1Z1ZEVSbFpYQW9LVHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0F2THlCVmMyVmtJR0o1SUVac1lYSmxYRzRnSUNBZ1lXTjBhWFpsUld4bGJXVnVkRVJsZEdGamFHVmtPaUJ1ZFd4c0xGeHVJQ0FnSUdadlkzVnpaV1JGYkdWdE9pQm1iMk4xYzJWa1JXeGxiU3hjYmlBZ0lDQnpaV3hsWTNScGIyNVNZVzVuWlRvZ2FHRnpVMlZzWldOMGFXOXVRMkZ3WVdKcGJHbDBhV1Z6S0dadlkzVnpaV1JGYkdWdEtTQS9JR2RsZEZObGJHVmpkR2x2YmlobWIyTjFjMlZrUld4bGJTa2dPaUJ1ZFd4c1hHNGdJSDA3WEc1OVhHNHZLaXBjYmlBcUlFQnlaWE4wYjNKbFUyVnNaV04wYVc5dU9pQkpaaUJoYm5rZ2MyVnNaV04wYVc5dUlHbHVabTl5YldGMGFXOXVJSGRoY3lCd2IzUmxiblJwWVd4c2VTQnNiM04wTEZ4dUlDb2djbVZ6ZEc5eVpTQnBkQzRnVkdocGN5QnBjeUIxYzJWbWRXd2dkMmhsYmlCd1pYSm1iM0p0YVc1bklHOXdaWEpoZEdsdmJuTWdkR2hoZENCamIzVnNaQ0J5WlcxdmRtVWdaRzl0WEc0Z0tpQnViMlJsY3lCaGJtUWdjR3hoWTJVZ2RHaGxiU0JpWVdOcklHbHVMQ0J5WlhOMWJIUnBibWNnYVc0Z1ptOWpkWE1nWW1WcGJtY2diRzl6ZEM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCeVpYTjBiM0psVTJWc1pXTjBhVzl1S0hCeWFXOXlVMlZzWldOMGFXOXVTVzVtYjNKdFlYUnBiMjRwSUh0Y2JpQWdkbUZ5SUdOMWNrWnZZM1Z6WldSRmJHVnRJRDBnWjJWMFFXTjBhWFpsUld4bGJXVnVkRVJsWlhBb0tUdGNiaUFnZG1GeUlIQnlhVzl5Um05amRYTmxaRVZzWlcwZ1BTQndjbWx2Y2xObGJHVmpkR2x2YmtsdVptOXliV0YwYVc5dUxtWnZZM1Z6WldSRmJHVnRPMXh1SUNCMllYSWdjSEpwYjNKVFpXeGxZM1JwYjI1U1lXNW5aU0E5SUhCeWFXOXlVMlZzWldOMGFXOXVTVzVtYjNKdFlYUnBiMjR1YzJWc1pXTjBhVzl1VW1GdVoyVTdYRzVjYmlBZ2FXWWdLR04xY2tadlkzVnpaV1JGYkdWdElDRTlQU0J3Y21sdmNrWnZZM1Z6WldSRmJHVnRJQ1ltSUdselNXNUViMk4xYldWdWRDaHdjbWx2Y2tadlkzVnpaV1JGYkdWdEtTa2dlMXh1SUNBZ0lHbG1JQ2h3Y21sdmNsTmxiR1ZqZEdsdmJsSmhibWRsSUNFOVBTQnVkV3hzSUNZbUlHaGhjMU5sYkdWamRHbHZia05oY0dGaWFXeHBkR2xsY3lod2NtbHZja1p2WTNWelpXUkZiR1Z0S1NrZ2UxeHVJQ0FnSUNBZ2MyVjBVMlZzWldOMGFXOXVLSEJ5YVc5eVJtOWpkWE5sWkVWc1pXMHNJSEJ5YVc5eVUyVnNaV04wYVc5dVVtRnVaMlVwTzF4dUlDQWdJSDBnTHk4Z1JtOWpkWE5wYm1jZ1lTQnViMlJsSUdOaGJpQmphR0Z1WjJVZ2RHaGxJSE5qY205c2JDQndiM05wZEdsdmJpd2dkMmhwWTJnZ2FYTWdkVzVrWlhOcGNtRmliR1ZjYmx4dVhHNGdJQ0FnZG1GeUlHRnVZMlZ6ZEc5eWN5QTlJRnRkTzF4dUlDQWdJSFpoY2lCaGJtTmxjM1J2Y2lBOUlIQnlhVzl5Um05amRYTmxaRVZzWlcwN1hHNWNiaUFnSUNCM2FHbHNaU0FvWVc1alpYTjBiM0lnUFNCaGJtTmxjM1J2Y2k1d1lYSmxiblJPYjJSbEtTQjdYRzRnSUNBZ0lDQnBaaUFvWVc1alpYTjBiM0l1Ym05a1pWUjVjR1VnUFQwOUlFVk1SVTFGVGxSZlRrOUVSU2tnZTF4dUlDQWdJQ0FnSUNCaGJtTmxjM1J2Y25NdWNIVnphQ2g3WEc0Z0lDQWdJQ0FnSUNBZ1pXeGxiV1Z1ZERvZ1lXNWpaWE4wYjNJc1hHNGdJQ0FnSUNBZ0lDQWdiR1ZtZERvZ1lXNWpaWE4wYjNJdWMyTnliMnhzVEdWbWRDeGNiaUFnSUNBZ0lDQWdJQ0IwYjNBNklHRnVZMlZ6ZEc5eUxuTmpjbTlzYkZSdmNGeHVJQ0FnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JSEJ5YVc5eVJtOWpkWE5sWkVWc1pXMHVabTlqZFhNZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUhCeWFXOXlSbTlqZFhObFpFVnNaVzB1Wm05amRYTW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z1WTJWemRHOXljeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2x1Wm04Z1BTQmhibU5sYzNSdmNuTmJhVjA3WEc0Z0lDQWdJQ0JwYm1adkxtVnNaVzFsYm5RdWMyTnliMnhzVEdWbWRDQTlJR2x1Wm04dWJHVm1kRHRjYmlBZ0lDQWdJR2x1Wm04dVpXeGxiV1Z1ZEM1elkzSnZiR3hVYjNBZ1BTQnBibVp2TG5SdmNEdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpOHFLbHh1SUNvZ1FHZGxkRk5sYkdWamRHbHZiam9nUjJWMGN5QjBhR1VnYzJWc1pXTjBhVzl1SUdKdmRXNWtjeUJ2WmlCaElHWnZZM1Z6WldRZ2RHVjRkR0Z5WldFc0lHbHVjSFYwSUc5eVhHNGdLaUJqYjI1MFpXNTBSV1JwZEdGaWJHVWdibTlrWlM1Y2JpQXFJQzFBYVc1d2RYUTZJRXh2YjJzZ2RYQWdjMlZzWldOMGFXOXVJR0p2ZFc1a2N5QnZaaUIwYUdseklHbHVjSFYwWEc0Z0tpQXRRSEpsZEhWeWJpQjdjM1JoY25RNklITmxiR1ZqZEdsdmJsTjBZWEowTENCbGJtUTZJSE5sYkdWamRHbHZia1Z1WkgxY2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCblpYUlRaV3hsWTNScGIyNG9hVzV3ZFhRcElIdGNiaUFnZG1GeUlITmxiR1ZqZEdsdmJqdGNibHh1SUNCcFppQW9KM05sYkdWamRHbHZibE4wWVhKMEp5QnBiaUJwYm5CMWRDa2dlMXh1SUNBZ0lDOHZJRTF2WkdWeWJpQmljbTkzYzJWeUlIZHBkR2dnYVc1d2RYUWdiM0lnZEdWNGRHRnlaV0V1WEc0Z0lDQWdjMlZzWldOMGFXOXVJRDBnZTF4dUlDQWdJQ0FnYzNSaGNuUTZJR2x1Y0hWMExuTmxiR1ZqZEdsdmJsTjBZWEowTEZ4dUlDQWdJQ0FnWlc1a09pQnBibkIxZEM1elpXeGxZM1JwYjI1RmJtUmNiaUFnSUNCOU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRU52Ym5SbGJuUWdaV1JwZEdGaWJHVWdiM0lnYjJ4a0lFbEZJSFJsZUhSaGNtVmhMbHh1SUNBZ0lITmxiR1ZqZEdsdmJpQTlJR2RsZEU5bVpuTmxkSE1vYVc1d2RYUXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSE5sYkdWamRHbHZiaUI4ZkNCN1hHNGdJQ0FnYzNSaGNuUTZJREFzWEc0Z0lDQWdaVzVrT2lBd1hHNGdJSDA3WEc1OVhHNHZLaXBjYmlBcUlFQnpaWFJUWld4bFkzUnBiMjQ2SUZObGRITWdkR2hsSUhObGJHVmpkR2x2YmlCaWIzVnVaSE1nYjJZZ1lTQjBaWGgwWVhKbFlTQnZjaUJwYm5CMWRDQmhibVFnWm05amRYTmxjMXh1SUNvZ2RHaGxJR2x1Y0hWMExseHVJQ29nTFVCcGJuQjFkQ0FnSUNBZ1UyVjBJSE5sYkdWamRHbHZiaUJpYjNWdVpITWdiMllnZEdocGN5QnBibkIxZENCdmNpQjBaWGgwWVhKbFlWeHVJQ29nTFVCdlptWnpaWFJ6SUNBZ1QySnFaV04wSUc5bUlITmhiV1VnWm05eWJTQjBhR0YwSUdseklISmxkSFZ5Ym1Wa0lHWnliMjBnWjJWMEtseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlITmxkRk5sYkdWamRHbHZiaWhwYm5CMWRDd2diMlptYzJWMGN5a2dlMXh1SUNCMllYSWdjM1JoY25RZ1BTQnZabVp6WlhSekxuTjBZWEowTEZ4dUlDQWdJQ0FnWlc1a0lEMGdiMlptYzJWMGN5NWxibVE3WEc1Y2JpQWdhV1lnS0dWdVpDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWlc1a0lEMGdjM1JoY25RN1hHNGdJSDFjYmx4dUlDQnBaaUFvSjNObGJHVmpkR2x2YmxOMFlYSjBKeUJwYmlCcGJuQjFkQ2tnZTF4dUlDQWdJR2x1Y0hWMExuTmxiR1ZqZEdsdmJsTjBZWEowSUQwZ2MzUmhjblE3WEc0Z0lDQWdhVzV3ZFhRdWMyVnNaV04wYVc5dVJXNWtJRDBnVFdGMGFDNXRhVzRvWlc1a0xDQnBibkIxZEM1MllXeDFaUzVzWlc1bmRHZ3BPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSE5sZEU5bVpuTmxkSE1vYVc1d2RYUXNJRzltWm5ObGRITXBPMXh1SUNCOVhHNTlYRzVjYm5aaGNpQjJZV3hwWkdGMFpVUlBUVTVsYzNScGJtY2dQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNibHh1ZG1GeUlIVndaR0YwWldSQmJtTmxjM1J2Y2tsdVptOGdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNibHh1ZTF4dUlDQXZMeUJVYUdseklIWmhiR2xrWVhScGIyNGdZMjlrWlNCM1lYTWdkM0pwZEhSbGJpQmlZWE5sWkNCdmJpQjBhR1VnU0ZSTlREVWdjR0Z5YzJsdVp5QnpjR1ZqT2x4dUlDQXZMeUJvZEhSd2N6b3ZMMmgwYld3dWMzQmxZeTUzYUdGMGQyY3ViM0puTDIxMWJIUnBjR0ZuWlM5emVXNTBZWGd1YUhSdGJDTm9ZWE10WVc0dFpXeGxiV1Z1ZEMxcGJpMXpZMjl3WlZ4dUlDQXZMMXh1SUNBdkx5Qk9iM1JsT2lCMGFHbHpJR1J2WlhNZ2JtOTBJR05oZEdOb0lHRnNiQ0JwYm5aaGJHbGtJRzVsYzNScGJtY3NJRzV2Y2lCa2IyVnpJR2wwSUhSeWVTQjBieUFvWVhNZ2FYUW5jMXh1SUNBdkx5QnViM1FnWTJ4bFlYSWdkMmhoZENCd2NtRmpkR2xqWVd3Z1ltVnVaV1pwZENCa2IybHVaeUJ6YnlCd2NtOTJhV1JsY3lrN0lHbHVjM1JsWVdRc0lIZGxJSGRoY200Z2IyNXNlVnh1SUNBdkx5Qm1iM0lnWTJGelpYTWdkMmhsY21VZ2RHaGxJSEJoY25ObGNpQjNhV3hzSUdkcGRtVWdZU0J3WVhKelpTQjBjbVZsSUdScFptWmxjbWx1WnlCbWNtOXRJSGRvWVhRZ1VtVmhZM1JjYmlBZ0x5OGdhVzUwWlc1a1pXUXVJRVp2Y2lCbGVHRnRjR3hsTENBOFlqNDhaR2wyUGp3dlpHbDJQand2WWo0Z2FYTWdhVzUyWVd4cFpDQmlkWFFnZDJVZ1pHOXVKM1FnZDJGeWJseHVJQ0F2THlCaVpXTmhkWE5sSUdsMElITjBhV3hzSUhCaGNuTmxjeUJqYjNKeVpXTjBiSGs3SUhkbElHUnZJSGRoY200Z1ptOXlJRzkwYUdWeUlHTmhjMlZ6SUd4cGEyVWdibVZ6ZEdWa1hHNGdJQzh2SUR4d1BpQjBZV2R6SUhkb1pYSmxJSFJvWlNCaVpXZHBibTVwYm1jZ2IyWWdkR2hsSUhObFkyOXVaQ0JsYkdWdFpXNTBJR2x0Y0d4cFkybDBiSGtnWTJ4dmMyVnpJSFJvWlZ4dUlDQXZMeUJtYVhKemRDd2dZMkYxYzJsdVp5QmhJR052Ym1aMWMybHVaeUJ0WlhOekxseHVJQ0F2THlCb2RIUndjem92TDJoMGJXd3VjM0JsWXk1M2FHRjBkMmN1YjNKbkwyMTFiSFJwY0dGblpTOXplVzUwWVhndWFIUnRiQ056Y0dWamFXRnNYRzRnSUhaaGNpQnpjR1ZqYVdGc1ZHRm5jeUE5SUZzbllXUmtjbVZ6Y3ljc0lDZGhjSEJzWlhRbkxDQW5ZWEpsWVNjc0lDZGhjblJwWTJ4bEp5d2dKMkZ6YVdSbEp5d2dKMkpoYzJVbkxDQW5ZbUZ6WldadmJuUW5MQ0FuWW1kemIzVnVaQ2NzSUNkaWJHOWphM0YxYjNSbEp5d2dKMkp2WkhrbkxDQW5ZbkluTENBblluVjBkRzl1Snl3Z0oyTmhjSFJwYjI0bkxDQW5ZMlZ1ZEdWeUp5d2dKMk52YkNjc0lDZGpiMnhuY205MWNDY3NJQ2RrWkNjc0lDZGtaWFJoYVd4ekp5d2dKMlJwY2ljc0lDZGthWFluTENBblpHd25MQ0FuWkhRbkxDQW5aVzFpWldRbkxDQW5abWxsYkdSelpYUW5MQ0FuWm1sblkyRndkR2x2Ymljc0lDZG1hV2QxY21VbkxDQW5abTl2ZEdWeUp5d2dKMlp2Y20wbkxDQW5abkpoYldVbkxDQW5abkpoYldWelpYUW5MQ0FuYURFbkxDQW5hREluTENBbmFETW5MQ0FuYURRbkxDQW5hRFVuTENBbmFEWW5MQ0FuYUdWaFpDY3NJQ2RvWldGa1pYSW5MQ0FuYUdkeWIzVndKeXdnSjJoeUp5d2dKMmgwYld3bkxDQW5hV1p5WVcxbEp5d2dKMmx0Wnljc0lDZHBibkIxZENjc0lDZHBjMmx1WkdWNEp5d2dKMnhwSnl3Z0oyeHBibXNuTENBbmJHbHpkR2x1Wnljc0lDZHRZV2x1Snl3Z0oyMWhjbkYxWldVbkxDQW5iV1Z1ZFNjc0lDZHRaVzUxYVhSbGJTY3NJQ2R0WlhSaEp5d2dKMjVoZGljc0lDZHViMlZ0WW1Wa0p5d2dKMjV2Wm5KaGJXVnpKeXdnSjI1dmMyTnlhWEIwSnl3Z0oyOWlhbVZqZENjc0lDZHZiQ2NzSUNkd0p5d2dKM0JoY21GdEp5d2dKM0JzWVdsdWRHVjRkQ2NzSUNkd2NtVW5MQ0FuYzJOeWFYQjBKeXdnSjNObFkzUnBiMjRuTENBbmMyVnNaV04wSnl3Z0ozTnZkWEpqWlNjc0lDZHpkSGxzWlNjc0lDZHpkVzF0WVhKNUp5d2dKM1JoWW14bEp5d2dKM1JpYjJSNUp5d2dKM1JrSnl3Z0ozUmxiWEJzWVhSbEp5d2dKM1JsZUhSaGNtVmhKeXdnSjNSbWIyOTBKeXdnSjNSb0p5d2dKM1JvWldGa0p5d2dKM1JwZEd4bEp5d2dKM1J5Snl3Z0ozUnlZV05ySnl3Z0ozVnNKeXdnSjNkaWNpY3NJQ2Q0YlhBblhUc2dMeThnYUhSMGNITTZMeTlvZEcxc0xuTndaV011ZDJoaGRIZG5MbTl5Wnk5dGRXeDBhWEJoWjJVdmMzbHVkR0Y0TG1oMGJXd2phR0Z6TFdGdUxXVnNaVzFsYm5RdGFXNHRjMk52Y0dWY2JseHVJQ0IyWVhJZ2FXNVRZMjl3WlZSaFozTWdQU0JiSjJGd2NHeGxkQ2NzSUNkallYQjBhVzl1Snl3Z0oyaDBiV3duTENBbmRHRmliR1VuTENBbmRHUW5MQ0FuZEdnbkxDQW5iV0Z5Y1hWbFpTY3NJQ2R2WW1wbFkzUW5MQ0FuZEdWdGNHeGhkR1VuTENBdkx5Qm9kSFJ3Y3pvdkwyaDBiV3d1YzNCbFl5NTNhR0YwZDJjdWIzSm5MMjExYkhScGNHRm5aUzl6ZVc1MFlYZ3VhSFJ0YkNOb2RHMXNMV2x1ZEdWbmNtRjBhVzl1TFhCdmFXNTBYRzRnSUM4dklGUlBSRTg2SUVScGMzUnBibWQxYVhOb0lHSjVJRzVoYldWemNHRmpaU0JvWlhKbElDMHRJR1p2Y2lBOGRHbDBiR1UrTENCcGJtTnNkV1JwYm1jZ2FYUWdhR1Z5WlZ4dUlDQXZMeUJsY25KeklHOXVJSFJvWlNCemFXUmxJRzltSUdabGQyVnlJSGRoY201cGJtZHpYRzRnSUNkbWIzSmxhV2R1VDJKcVpXTjBKeXdnSjJSbGMyTW5MQ0FuZEdsMGJHVW5YVHNnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqYUdGekxXRnVMV1ZzWlcxbGJuUXRhVzR0WW5WMGRHOXVMWE5qYjNCbFhHNWNiaUFnZG1GeUlHSjFkSFJ2YmxOamIzQmxWR0ZuY3lBOUlHbHVVMk52Y0dWVVlXZHpMbU52Ym1OaGRDaGJKMkoxZEhSdmJpZGRLVHNnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqWjJWdVpYSmhkR1V0YVcxd2JHbGxaQzFsYm1RdGRHRm5jMXh1WEc0Z0lIWmhjaUJwYlhCc2FXVmtSVzVrVkdGbmN5QTlJRnNuWkdRbkxDQW5aSFFuTENBbmJHa25MQ0FuYjNCMGFXOXVKeXdnSjI5d2RHZHliM1Z3Snl3Z0ozQW5MQ0FuY25BbkxDQW5jblFuWFR0Y2JpQWdkbUZ5SUdWdGNIUjVRVzVqWlhOMGIzSkpibVp2SUQwZ2UxeHVJQ0FnSUdOMWNuSmxiblE2SUc1MWJHd3NYRzRnSUNBZ1ptOXliVlJoWnpvZ2JuVnNiQ3hjYmlBZ0lDQmhWR0ZuU1c1VFkyOXdaVG9nYm5Wc2JDeGNiaUFnSUNCaWRYUjBiMjVVWVdkSmJsTmpiM0JsT2lCdWRXeHNMRnh1SUNBZ0lHNXZZbkpVWVdkSmJsTmpiM0JsT2lCdWRXeHNMRnh1SUNBZ0lIQlVZV2RKYmtKMWRIUnZibE5qYjNCbE9pQnVkV3hzTEZ4dUlDQWdJR3hwYzNSSmRHVnRWR0ZuUVhWMGIyTnNiM05wYm1jNklHNTFiR3dzWEc0Z0lDQWdaR3hKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWM2SUc1MWJHeGNiaUFnZlR0Y2JseHVJQ0IxY0dSaGRHVmtRVzVqWlhOMGIzSkpibVp2SUQwZ1puVnVZM1JwYjI0Z0tHOXNaRWx1Wm04c0lIUmhaeWtnZTF4dUlDQWdJSFpoY2lCaGJtTmxjM1J2Y2tsdVptOGdQU0JmWVhOemFXZHVLSHQ5TENCdmJHUkpibVp2SUh4OElHVnRjSFI1UVc1alpYTjBiM0pKYm1adktUdGNibHh1SUNBZ0lIWmhjaUJwYm1adklEMGdlMXh1SUNBZ0lDQWdkR0ZuT2lCMFlXZGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLR2x1VTJOdmNHVlVZV2R6TG1sdVpHVjRUMllvZEdGbktTQWhQVDBnTFRFcElIdGNiaUFnSUNBZ0lHRnVZMlZ6ZEc5eVNXNW1ieTVoVkdGblNXNVRZMjl3WlNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JoYm1ObGMzUnZja2x1Wm04dVluVjBkRzl1VkdGblNXNVRZMjl3WlNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JoYm1ObGMzUnZja2x1Wm04dWJtOWljbFJoWjBsdVUyTnZjR1VnUFNCdWRXeHNPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpZFhSMGIyNVRZMjl3WlZSaFozTXVhVzVrWlhoUFppaDBZV2NwSUNFOVBTQXRNU2tnZTF4dUlDQWdJQ0FnWVc1alpYTjBiM0pKYm1adkxuQlVZV2RKYmtKMWRIUnZibE5qYjNCbElEMGdiblZzYkR0Y2JpQWdJQ0I5SUM4dklGTmxaU0J5ZFd4bGN5Qm1iM0lnSjJ4cEp5d2dKMlJrSnl3Z0oyUjBKeUJ6ZEdGeWRDQjBZV2R6SUdsdVhHNGdJQ0FnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqY0dGeWMybHVaeTF0WVdsdUxXbHVZbTlrZVZ4dVhHNWNiaUFnSUNCcFppQW9jM0JsWTJsaGJGUmhaM011YVc1a1pYaFBaaWgwWVdjcElDRTlQU0F0TVNBbUppQjBZV2NnSVQwOUlDZGhaR1J5WlhOekp5QW1KaUIwWVdjZ0lUMDlJQ2RrYVhZbklDWW1JSFJoWnlBaFBUMGdKM0FuS1NCN1hHNGdJQ0FnSUNCaGJtTmxjM1J2Y2tsdVptOHViR2x6ZEVsMFpXMVVZV2RCZFhSdlkyeHZjMmx1WnlBOUlHNTFiR3c3WEc0Z0lDQWdJQ0JoYm1ObGMzUnZja2x1Wm04dVpHeEpkR1Z0VkdGblFYVjBiMk5zYjNOcGJtY2dQU0J1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdGdVkyVnpkRzl5U1c1bWJ5NWpkWEp5Wlc1MElEMGdhVzVtYnp0Y2JseHVJQ0FnSUdsbUlDaDBZV2NnUFQwOUlDZG1iM0p0SnlrZ2UxeHVJQ0FnSUNBZ1lXNWpaWE4wYjNKSmJtWnZMbVp2Y20xVVlXY2dQU0JwYm1adk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBZV2NnUFQwOUlDZGhKeWtnZTF4dUlDQWdJQ0FnWVc1alpYTjBiM0pKYm1adkxtRlVZV2RKYmxOamIzQmxJRDBnYVc1bWJ6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR0ZuSUQwOVBTQW5ZblYwZEc5dUp5a2dlMXh1SUNBZ0lDQWdZVzVqWlhOMGIzSkpibVp2TG1KMWRIUnZibFJoWjBsdVUyTnZjR1VnUFNCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJQ2R1YjJKeUp5a2dlMXh1SUNBZ0lDQWdZVzVqWlhOMGIzSkpibVp2TG01dlluSlVZV2RKYmxOamIzQmxJRDBnYVc1bWJ6dGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kR0ZuSUQwOVBTQW5jQ2NwSUh0Y2JpQWdJQ0FnSUdGdVkyVnpkRzl5U1c1bWJ5NXdWR0ZuU1c1Q2RYUjBiMjVUWTI5d1pTQTlJR2x1Wm04N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUmhaeUE5UFQwZ0oyeHBKeWtnZTF4dUlDQWdJQ0FnWVc1alpYTjBiM0pKYm1adkxteHBjM1JKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWNnUFNCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwWVdjZ1BUMDlJQ2RrWkNjZ2ZId2dkR0ZuSUQwOVBTQW5aSFFuS1NCN1hHNGdJQ0FnSUNCaGJtTmxjM1J2Y2tsdVptOHVaR3hKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWNnUFNCcGJtWnZPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCaGJtTmxjM1J2Y2tsdVptODdYRzRnSUgwN1hHNGdJQzhxS2x4dUlDQWdLaUJTWlhSMWNtNXpJSGRvWlhSb1pYSmNiaUFnSUNvdlhHNWNibHh1SUNCMllYSWdhWE5VWVdkV1lXeHBaRmRwZEdoUVlYSmxiblFnUFNCbWRXNWpkR2x2YmlBb2RHRm5MQ0J3WVhKbGJuUlVZV2NwSUh0Y2JpQWdJQ0F2THlCR2FYSnpkQ3dnYkdWMEozTWdZMmhsWTJzZ2FXWWdkMlVuY21VZ2FXNGdZVzRnZFc1MWMzVmhiQ0J3WVhKemFXNW5JRzF2WkdVdUxpNWNiaUFnSUNCemQybDBZMmdnS0hCaGNtVnVkRlJoWnlrZ2UxeHVJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OW9kRzFzTG5Od1pXTXVkMmhoZEhkbkxtOXlaeTl0ZFd4MGFYQmhaMlV2YzNsdWRHRjRMbWgwYld3amNHRnljMmx1WnkxdFlXbHVMV2x1YzJWc1pXTjBYRzRnSUNBZ0lDQmpZWE5sSUNkelpXeGxZM1FuT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbklEMDlQU0FuYjNCMGFXOXVKeUI4ZkNCMFlXY2dQVDA5SUNkdmNIUm5jbTkxY0NjZ2ZId2dkR0ZuSUQwOVBTQW5JM1JsZUhRbk8xeHVYRzRnSUNBZ0lDQmpZWE5sSUNkdmNIUm5jbTkxY0NjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMFlXY2dQVDA5SUNkdmNIUnBiMjRuSUh4OElIUmhaeUE5UFQwZ0p5TjBaWGgwSnp0Y2JpQWdJQ0FnSUM4dklGTjBjbWxqZEd4NUlITndaV0ZyYVc1bkxDQnpaV1ZwYm1jZ1lXNGdQRzl3ZEdsdmJqNGdaRzlsYzI0bmRDQnRaV0Z1SUhkbEozSmxJR2x1SUdFZ1BITmxiR1ZqZEQ1Y2JpQWdJQ0FnSUM4dklHSjFkRnh1WEc0Z0lDQWdJQ0JqWVhObElDZHZjSFJwYjI0bk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5JRDA5UFNBbkkzUmxlSFFuTzF4dUlDQWdJQ0FnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqY0dGeWMybHVaeTF0WVdsdUxXbHVkR1JjYmlBZ0lDQWdJQzh2SUdoMGRIQnpPaTh2YUhSdGJDNXpjR1ZqTG5kb1lYUjNaeTV2Y21jdmJYVnNkR2x3WVdkbEwzTjViblJoZUM1b2RHMXNJM0JoY25OcGJtY3RiV0ZwYmkxcGJtTmhjSFJwYjI1Y2JpQWdJQ0FnSUM4dklFNXZJSE53WldOcFlXd2dZbVZvWVhacGIzSWdjMmx1WTJVZ2RHaGxjMlVnY25Wc1pYTWdabUZzYkNCaVlXTnJJSFJ2SUZ3aWFXNGdZbTlrZVZ3aUlHMXZaR1VnWm05eVhHNGdJQ0FnSUNBdkx5QmhiR3dnWlhoalpYQjBJSE53WldOcFlXd2dkR0ZpYkdVZ2JtOWtaWE1nZDJocFkyZ2dZMkYxYzJVZ1ltRmtJSEJoY25OcGJtY2dZbVZvWVhacGIzSWdZVzU1ZDJGNUxseHVJQ0FnSUNBZ0x5OGdhSFIwY0hNNkx5OW9kRzFzTG5Od1pXTXVkMmhoZEhkbkxtOXlaeTl0ZFd4MGFYQmhaMlV2YzNsdWRHRjRMbWgwYld3amNHRnljMmx1WnkxdFlXbHVMV2x1ZEhKY2JseHVJQ0FnSUNBZ1kyRnpaU0FuZEhJbk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHRm5JRDA5UFNBbmRHZ25JSHg4SUhSaFp5QTlQVDBnSjNSa0p5QjhmQ0IwWVdjZ1BUMDlJQ2R6ZEhsc1pTY2dmSHdnZEdGbklEMDlQU0FuYzJOeWFYQjBKeUI4ZkNCMFlXY2dQVDA5SUNkMFpXMXdiR0YwWlNjN1hHNGdJQ0FnSUNBdkx5Qm9kSFJ3Y3pvdkwyaDBiV3d1YzNCbFl5NTNhR0YwZDJjdWIzSm5MMjExYkhScGNHRm5aUzl6ZVc1MFlYZ3VhSFJ0YkNOd1lYSnphVzVuTFcxaGFXNHRhVzUwWW05a2VWeHVYRzRnSUNBZ0lDQmpZWE5sSUNkMFltOWtlU2M2WEc0Z0lDQWdJQ0JqWVhObElDZDBhR1ZoWkNjNlhHNGdJQ0FnSUNCallYTmxJQ2QwWm05dmRDYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2NnUFQwOUlDZDBjaWNnZkh3Z2RHRm5JRDA5UFNBbmMzUjViR1VuSUh4OElIUmhaeUE5UFQwZ0ozTmpjbWx3ZENjZ2ZId2dkR0ZuSUQwOVBTQW5kR1Z0Y0d4aGRHVW5PMXh1SUNBZ0lDQWdMeThnYUhSMGNITTZMeTlvZEcxc0xuTndaV011ZDJoaGRIZG5MbTl5Wnk5dGRXeDBhWEJoWjJVdmMzbHVkR0Y0TG1oMGJXd2pjR0Z5YzJsdVp5MXRZV2x1TFdsdVkyOXNaM0p2ZFhCY2JseHVJQ0FnSUNBZ1kyRnpaU0FuWTI5c1ozSnZkWEFuT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbklEMDlQU0FuWTI5c0p5QjhmQ0IwWVdjZ1BUMDlJQ2QwWlcxd2JHRjBaU2M3WEc0Z0lDQWdJQ0F2THlCb2RIUndjem92TDJoMGJXd3VjM0JsWXk1M2FHRjBkMmN1YjNKbkwyMTFiSFJwY0dGblpTOXplVzUwWVhndWFIUnRiQ053WVhKemFXNW5MVzFoYVc0dGFXNTBZV0pzWlZ4dVhHNGdJQ0FnSUNCallYTmxJQ2QwWVdKc1pTYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2NnUFQwOUlDZGpZWEIwYVc5dUp5QjhmQ0IwWVdjZ1BUMDlJQ2RqYjJ4bmNtOTFjQ2NnZkh3Z2RHRm5JRDA5UFNBbmRHSnZaSGtuSUh4OElIUmhaeUE5UFQwZ0ozUm1iMjkwSnlCOGZDQjBZV2NnUFQwOUlDZDBhR1ZoWkNjZ2ZId2dkR0ZuSUQwOVBTQW5jM1I1YkdVbklIeDhJSFJoWnlBOVBUMGdKM05qY21sd2RDY2dmSHdnZEdGbklEMDlQU0FuZEdWdGNHeGhkR1VuTzF4dUlDQWdJQ0FnTHk4Z2FIUjBjSE02THk5b2RHMXNMbk53WldNdWQyaGhkSGRuTG05eVp5OXRkV3gwYVhCaFoyVXZjM2x1ZEdGNExtaDBiV3dqY0dGeWMybHVaeTF0WVdsdUxXbHVhR1ZoWkZ4dVhHNGdJQ0FnSUNCallYTmxJQ2RvWldGa0p6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUmhaeUE5UFQwZ0oySmhjMlVuSUh4OElIUmhaeUE5UFQwZ0oySmhjMlZtYjI1MEp5QjhmQ0IwWVdjZ1BUMDlJQ2RpWjNOdmRXNWtKeUI4ZkNCMFlXY2dQVDA5SUNkc2FXNXJKeUI4ZkNCMFlXY2dQVDA5SUNkdFpYUmhKeUI4ZkNCMFlXY2dQVDA5SUNkMGFYUnNaU2NnZkh3Z2RHRm5JRDA5UFNBbmJtOXpZM0pwY0hRbklIeDhJSFJoWnlBOVBUMGdKMjV2Wm5KaGJXVnpKeUI4ZkNCMFlXY2dQVDA5SUNkemRIbHNaU2NnZkh3Z2RHRm5JRDA5UFNBbmMyTnlhWEIwSnlCOGZDQjBZV2NnUFQwOUlDZDBaVzF3YkdGMFpTYzdYRzRnSUNBZ0lDQXZMeUJvZEhSd2N6b3ZMMmgwYld3dWMzQmxZeTUzYUdGMGQyY3ViM0puTDIxMWJIUnBjR0ZuWlM5elpXMWhiblJwWTNNdWFIUnRiQ04wYUdVdGFIUnRiQzFsYkdWdFpXNTBYRzVjYmlBZ0lDQWdJR05oYzJVZ0oyaDBiV3duT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdGbklEMDlQU0FuYUdWaFpDY2dmSHdnZEdGbklEMDlQU0FuWW05a2VTY2dmSHdnZEdGbklEMDlQU0FuWm5KaGJXVnpaWFFuTzF4dVhHNGdJQ0FnSUNCallYTmxJQ2RtY21GdFpYTmxkQ2M2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIwWVdjZ1BUMDlJQ2RtY21GdFpTYzdYRzVjYmlBZ0lDQWdJR05oYzJVZ0p5TmtiMk4xYldWdWRDYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZV2NnUFQwOUlDZG9kRzFzSnp0Y2JpQWdJQ0I5SUM4dklGQnliMkpoWW14NUlHbHVJSFJvWlNCY0ltbHVJR0p2WkhsY0lpQndZWEp6YVc1bklHMXZaR1VzSUhOdklIZGxJRzkxZEd4aGR5QnZibXg1SUhSaFp5QmpiMjFpYjNOY2JpQWdJQ0F2THlCM2FHVnlaU0IwYUdVZ2NHRnljMmx1WnlCeWRXeGxjeUJqWVhWelpTQnBiWEJzYVdOcGRDQnZjR1Z1Y3lCdmNpQmpiRzl6WlhNZ2RHOGdZbVVnWVdSa1pXUXVYRzRnSUNBZ0x5OGdhSFIwY0hNNkx5OW9kRzFzTG5Od1pXTXVkMmhoZEhkbkxtOXlaeTl0ZFd4MGFYQmhaMlV2YzNsdWRHRjRMbWgwYld3amNHRnljMmx1WnkxdFlXbHVMV2x1WW05a2VWeHVYRzVjYmlBZ0lDQnpkMmwwWTJnZ0tIUmhaeWtnZTF4dUlDQWdJQ0FnWTJGelpTQW5hREVuT2x4dUlDQWdJQ0FnWTJGelpTQW5hREluT2x4dUlDQWdJQ0FnWTJGelpTQW5hRE1uT2x4dUlDQWdJQ0FnWTJGelpTQW5hRFFuT2x4dUlDQWdJQ0FnWTJGelpTQW5hRFVuT2x4dUlDQWdJQ0FnWTJGelpTQW5hRFluT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0dGeVpXNTBWR0ZuSUNFOVBTQW5hREVuSUNZbUlIQmhjbVZ1ZEZSaFp5QWhQVDBnSjJneUp5QW1KaUJ3WVhKbGJuUlVZV2NnSVQwOUlDZG9NeWNnSmlZZ2NHRnlaVzUwVkdGbklDRTlQU0FuYURRbklDWW1JSEJoY21WdWRGUmhaeUFoUFQwZ0oyZzFKeUFtSmlCd1lYSmxiblJVWVdjZ0lUMDlJQ2RvTmljN1hHNWNiaUFnSUNBZ0lHTmhjMlVnSjNKd0p6cGNiaUFnSUNBZ0lHTmhjMlVnSjNKMEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHbHRjR3hwWldSRmJtUlVZV2R6TG1sdVpHVjRUMllvY0dGeVpXNTBWR0ZuS1NBOVBUMGdMVEU3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMkp2Wkhrbk9seHVJQ0FnSUNBZ1kyRnpaU0FuWTJGd2RHbHZiaWM2WEc0Z0lDQWdJQ0JqWVhObElDZGpiMnduT2x4dUlDQWdJQ0FnWTJGelpTQW5ZMjlzWjNKdmRYQW5PbHh1SUNBZ0lDQWdZMkZ6WlNBblpuSmhiV1Z6WlhRbk9seHVJQ0FnSUNBZ1kyRnpaU0FuWm5KaGJXVW5PbHh1SUNBZ0lDQWdZMkZ6WlNBbmFHVmhaQ2M2WEc0Z0lDQWdJQ0JqWVhObElDZG9kRzFzSnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1JpYjJSNUp6cGNiaUFnSUNBZ0lHTmhjMlVnSjNSa0p6cGNiaUFnSUNBZ0lHTmhjMlVnSjNSbWIyOTBKenBjYmlBZ0lDQWdJR05oYzJVZ0ozUm9KenBjYmlBZ0lDQWdJR05oYzJVZ0ozUm9aV0ZrSnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1J5SnpwY2JpQWdJQ0FnSUNBZ0x5OGdWR2hsYzJVZ2RHRm5jeUJoY21VZ2IyNXNlU0IyWVd4cFpDQjNhWFJvSUdFZ1ptVjNJSEJoY21WdWRITWdkR2hoZENCb1lYWmxJSE53WldOcFlXd2dZMmhwYkdSY2JpQWdJQ0FnSUNBZ0x5OGdjR0Z5YzJsdVp5QnlkV3hsY3lBdExTQnBaaUIzWlNkeVpTQmtiM2R1SUdobGNtVXNJSFJvWlc0Z2JtOXVaU0J2WmlCMGFHOXpaU0J0WVhSamFHVmtJR0Z1WkZ4dUlDQWdJQ0FnSUNBdkx5QnpieUIzWlNCaGJHeHZkeUJwZENCdmJteDVJR2xtSUhkbElHUnZiaWQwSUd0dWIzY2dkMmhoZENCMGFHVWdjR0Z5Wlc1MElHbHpMQ0JoY3lCaGJHd2diM1JvWlhKY2JpQWdJQ0FnSUNBZ0x5OGdZMkZ6WlhNZ1lYSmxJR2x1ZG1Gc2FXUXVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQndZWEpsYm5SVVlXY2dQVDBnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlR0Y2JpQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdkMmhsZEdobGNseHVJQ0FnS2k5Y2JseHVYRzRnSUhaaGNpQm1hVzVrU1c1MllXeHBaRUZ1WTJWemRHOXlSbTl5VkdGbklEMGdablZ1WTNScGIyNGdLSFJoWnl3Z1lXNWpaWE4wYjNKSmJtWnZLU0I3WEc0Z0lDQWdjM2RwZEdOb0lDaDBZV2NwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdKMkZrWkhKbGMzTW5PbHh1SUNBZ0lDQWdZMkZ6WlNBbllYSjBhV05zWlNjNlhHNGdJQ0FnSUNCallYTmxJQ2RoYzJsa1pTYzZYRzRnSUNBZ0lDQmpZWE5sSUNkaWJHOWphM0YxYjNSbEp6cGNiaUFnSUNBZ0lHTmhjMlVnSjJObGJuUmxjaWM2WEc0Z0lDQWdJQ0JqWVhObElDZGtaWFJoYVd4ekp6cGNiaUFnSUNBZ0lHTmhjMlVnSjJScFlXeHZaeWM2WEc0Z0lDQWdJQ0JqWVhObElDZGthWEluT2x4dUlDQWdJQ0FnWTJGelpTQW5aR2wySnpwY2JpQWdJQ0FnSUdOaGMyVWdKMlJzSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMlpwWld4a2MyVjBKenBjYmlBZ0lDQWdJR05oYzJVZ0oyWnBaMk5oY0hScGIyNG5PbHh1SUNBZ0lDQWdZMkZ6WlNBblptbG5kWEpsSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMlp2YjNSbGNpYzZYRzRnSUNBZ0lDQmpZWE5sSUNkb1pXRmtaWEluT2x4dUlDQWdJQ0FnWTJGelpTQW5hR2R5YjNWd0p6cGNiaUFnSUNBZ0lHTmhjMlVnSjIxaGFXNG5PbHh1SUNBZ0lDQWdZMkZ6WlNBbmJXVnVkU2M2WEc0Z0lDQWdJQ0JqWVhObElDZHVZWFluT2x4dUlDQWdJQ0FnWTJGelpTQW5iMnduT2x4dUlDQWdJQ0FnWTJGelpTQW5jQ2M2WEc0Z0lDQWdJQ0JqWVhObElDZHpaV04wYVc5dUp6cGNiaUFnSUNBZ0lHTmhjMlVnSjNOMWJXMWhjbmtuT2x4dUlDQWdJQ0FnWTJGelpTQW5kV3duT2x4dUlDQWdJQ0FnWTJGelpTQW5jSEpsSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMnhwYzNScGJtY25PbHh1SUNBZ0lDQWdZMkZ6WlNBbmRHRmliR1VuT2x4dUlDQWdJQ0FnWTJGelpTQW5hSEluT2x4dUlDQWdJQ0FnWTJGelpTQW5lRzF3SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmd4SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmd5SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmd6SnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmcwSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmcxSnpwY2JpQWdJQ0FnSUdOaGMyVWdKMmcySnpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGdVkyVnpkRzl5U1c1bWJ5NXdWR0ZuU1c1Q2RYUjBiMjVUWTI5d1pUdGNibHh1SUNBZ0lDQWdZMkZ6WlNBblptOXliU2M2WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJoYm1ObGMzUnZja2x1Wm04dVptOXliVlJoWnlCOGZDQmhibU5sYzNSdmNrbHVabTh1Y0ZSaFowbHVRblYwZEc5dVUyTnZjR1U3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMnhwSnpwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdGdVkyVnpkRzl5U1c1bWJ5NXNhWE4wU1hSbGJWUmhaMEYxZEc5amJHOXphVzVuTzF4dVhHNGdJQ0FnSUNCallYTmxJQ2RrWkNjNlhHNGdJQ0FnSUNCallYTmxJQ2RrZENjNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCaGJtTmxjM1J2Y2tsdVptOHVaR3hKZEdWdFZHRm5RWFYwYjJOc2IzTnBibWM3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdKMkoxZEhSdmJpYzZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmhibU5sYzNSdmNrbHVabTh1WW5WMGRHOXVWR0ZuU1c1VFkyOXdaVHRjYmx4dUlDQWdJQ0FnWTJGelpTQW5ZU2M2WEc0Z0lDQWdJQ0FnSUM4dklGTndaV01nYzJGNWN5QnpiMjFsZEdocGJtY2dZV0p2ZFhRZ2MzUnZjbWx1WnlCaElHeHBjM1FnYjJZZ2JXRnlhMlZ5Y3l3Z1luVjBJR2wwSUhOdmRXNWtjMXh1SUNBZ0lDQWdJQ0F2THlCbGNYVnBkbUZzWlc1MElIUnZJSFJvYVhNZ1kyaGxZMnN1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJoYm1ObGMzUnZja2x1Wm04dVlWUmhaMGx1VTJOdmNHVTdYRzVjYmlBZ0lDQWdJR05oYzJVZ0oyNXZZbkluT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWVc1alpYTjBiM0pKYm1adkxtNXZZbkpVWVdkSmJsTmpiM0JsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUJrYVdSWFlYSnVKREVnUFNCN2ZUdGNibHh1SUNCMllXeHBaR0YwWlVSUFRVNWxjM1JwYm1jZ1BTQm1kVzVqZEdsdmJpQW9ZMmhwYkdSVVlXY3NJR05vYVd4a1ZHVjRkQ3dnWVc1alpYTjBiM0pKYm1adktTQjdYRzRnSUNBZ1lXNWpaWE4wYjNKSmJtWnZJRDBnWVc1alpYTjBiM0pKYm1adklIeDhJR1Z0Y0hSNVFXNWpaWE4wYjNKSmJtWnZPMXh1SUNBZ0lIWmhjaUJ3WVhKbGJuUkpibVp2SUQwZ1lXNWpaWE4wYjNKSmJtWnZMbU4xY25KbGJuUTdYRzRnSUNBZ2RtRnlJSEJoY21WdWRGUmhaeUE5SUhCaGNtVnVkRWx1Wm04Z0ppWWdjR0Z5Wlc1MFNXNW1ieTUwWVdjN1hHNWNiaUFnSUNCcFppQW9ZMmhwYkdSVVpYaDBJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2xtSUNoamFHbHNaRlJoWnlBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkMllXeHBaR0YwWlVSUFRVNWxjM1JwYm1jNklIZG9aVzRnWTJocGJHUlVaWGgwSUdseklIQmhjM05sWkN3Z1kyaHBiR1JVWVdjZ2MyaHZkV3hrSUdKbElHNTFiR3duS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyaHBiR1JVWVdjZ1BTQW5JM1JsZUhRbk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQnBiblpoYkdsa1VHRnlaVzUwSUQwZ2FYTlVZV2RXWVd4cFpGZHBkR2hRWVhKbGJuUW9ZMmhwYkdSVVlXY3NJSEJoY21WdWRGUmhaeWtnUHlCdWRXeHNJRG9nY0dGeVpXNTBTVzVtYnp0Y2JpQWdJQ0IyWVhJZ2FXNTJZV3hwWkVGdVkyVnpkRzl5SUQwZ2FXNTJZV3hwWkZCaGNtVnVkQ0EvSUc1MWJHd2dPaUJtYVc1a1NXNTJZV3hwWkVGdVkyVnpkRzl5Um05eVZHRm5LR05vYVd4a1ZHRm5MQ0JoYm1ObGMzUnZja2x1Wm04cE8xeHVJQ0FnSUhaaGNpQnBiblpoYkdsa1VHRnlaVzUwVDNKQmJtTmxjM1J2Y2lBOUlHbHVkbUZzYVdSUVlYSmxiblFnZkh3Z2FXNTJZV3hwWkVGdVkyVnpkRzl5TzF4dVhHNGdJQ0FnYVdZZ0tDRnBiblpoYkdsa1VHRnlaVzUwVDNKQmJtTmxjM1J2Y2lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCaGJtTmxjM1J2Y2xSaFp5QTlJR2x1ZG1Gc2FXUlFZWEpsYm5SUGNrRnVZMlZ6ZEc5eUxuUmhaenRjYmlBZ0lDQjJZWElnWVdSa1pXNWtkVzBnUFNCblpYUkRkWEp5Wlc1MFJtbGlaWEpUZEdGamEwbHVSR1YyS0NrN1hHNGdJQ0FnZG1GeUlIZGhjbTVMWlhrZ1BTQWhJV2x1ZG1Gc2FXUlFZWEpsYm5RZ0t5QW5mQ2NnS3lCamFHbHNaRlJoWnlBcklDZDhKeUFySUdGdVkyVnpkRzl5VkdGbklDc2dKM3duSUNzZ1lXUmtaVzVrZFcwN1hHNWNiaUFnSUNCcFppQW9aR2xrVjJGeWJpUXhXM2RoY201TFpYbGRLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pHbGtWMkZ5YmlReFczZGhjbTVMWlhsZElEMGdkSEoxWlR0Y2JpQWdJQ0IyWVhJZ2RHRm5SR2x6Y0d4aGVVNWhiV1VnUFNCamFHbHNaRlJoWnp0Y2JpQWdJQ0IyWVhJZ2QyaHBkR1Z6Y0dGalpVbHVabThnUFNBbkp6dGNibHh1SUNBZ0lHbG1JQ2hqYUdsc1pGUmhaeUE5UFQwZ0p5TjBaWGgwSnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLQzljWEZNdkxuUmxjM1FvWTJocGJHUlVaWGgwS1NrZ2UxeHVJQ0FnSUNBZ0lDQjBZV2RFYVhOd2JHRjVUbUZ0WlNBOUlDZFVaWGgwSUc1dlpHVnpKenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFJoWjBScGMzQnNZWGxPWVcxbElEMGdKMWRvYVhSbGMzQmhZMlVnZEdWNGRDQnViMlJsY3ljN1hHNGdJQ0FnSUNBZ0lIZG9hWFJsYzNCaFkyVkpibVp2SUQwZ1hDSWdUV0ZyWlNCemRYSmxJSGx2ZFNCa2IyNG5kQ0JvWVhabElHRnVlU0JsZUhSeVlTQjNhR2wwWlhOd1lXTmxJR0psZEhkbFpXNGdkR0ZuY3lCdmJpQmNJaUFySUNkbFlXTm9JR3hwYm1VZ2IyWWdlVzkxY2lCemIzVnlZMlVnWTI5a1pTNG5PMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMFlXZEVhWE53YkdGNVRtRnRaU0E5SUNjOEp5QXJJR05vYVd4a1ZHRm5JQ3NnSno0bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHBiblpoYkdsa1VHRnlaVzUwS1NCN1hHNGdJQ0FnSUNCMllYSWdhVzVtYnlBOUlDY25PMXh1WEc0Z0lDQWdJQ0JwWmlBb1lXNWpaWE4wYjNKVVlXY2dQVDA5SUNkMFlXSnNaU2NnSmlZZ1kyaHBiR1JVWVdjZ1BUMDlJQ2QwY2ljcElIdGNiaUFnSUNBZ0lDQWdhVzVtYnlBclBTQW5JRUZrWkNCaElEeDBZbTlrZVQ0c0lEeDBhR1ZoWkQ0Z2IzSWdQSFJtYjI5MFBpQjBieUI1YjNWeUlHTnZaR1VnZEc4Z2JXRjBZMmdnZEdobElFUlBUU0IwY21WbElHZGxibVZ5WVhSbFpDQmllU0FuSUNzZ0ozUm9aU0JpY205M2MyVnlMaWM3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWeWNtOXlLQ2QyWVd4cFpHRjBaVVJQVFU1bGMzUnBibWNvTGk0dUtUb2dKWE1nWTJGdWJtOTBJR0Z3Y0dWaGNpQmhjeUJoSUdOb2FXeGtJRzltSUR3bGN6NHVKWE1sY3ljc0lIUmhaMFJwYzNCc1lYbE9ZVzFsTENCaGJtTmxjM1J2Y2xSaFp5d2dkMmhwZEdWemNHRmpaVWx1Wm04c0lHbHVabThwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnbmRtRnNhV1JoZEdWRVQwMU9aWE4wYVc1bktDNHVMaWs2SUNWeklHTmhibTV2ZENCaGNIQmxZWElnWVhNZ1lTQmtaWE5qWlc1a1lXNTBJRzltSUNjZ0t5QW5QQ1Z6UGk0bkxDQjBZV2RFYVhOd2JHRjVUbUZ0WlN3Z1lXNWpaWE4wYjNKVVlXY3BPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JuMWNibHh1ZG1GeUlGTlZVRkJTUlZOVFgwaFpSRkpCVkVsUFRsOVhRVkpPU1U1SEpERTdYRzVjYm50Y2JpQWdVMVZRVUZKRlUxTmZTRmxFVWtGVVNVOU9YMWRCVWs1SlRrY2tNU0E5SUNkemRYQndjbVZ6YzBoNVpISmhkR2x2YmxkaGNtNXBibWNuTzF4dWZWeHVYRzUyWVhJZ1UxVlRVRVZPVTBWZlUxUkJVbFJmUkVGVVFTQTlJQ2NrSnp0Y2JuWmhjaUJUVlZOUVJVNVRSVjlGVGtSZlJFRlVRU0E5SUNjdkpDYzdYRzUyWVhJZ1UxVlRVRVZPVTBWZlVFVk9SRWxPUjE5VFZFRlNWRjlFUVZSQklEMGdKeVEvSnp0Y2JuWmhjaUJUVlZOUVJVNVRSVjlHUVV4TVFrRkRTMTlUVkVGU1ZGOUVRVlJCSUQwZ0p5UWhKenRjYm5aaGNpQlRWRmxNUlNReElEMGdKM04wZVd4bEp6dGNiblpoY2lCbGRtVnVkSE5GYm1GaWJHVmtJRDBnYm5Wc2JEdGNiblpoY2lCelpXeGxZM1JwYjI1SmJtWnZjbTFoZEdsdmJpQTlJRzUxYkd3N1hHNWNibVoxYm1OMGFXOXVJSE5vYjNWc1pFRjFkRzlHYjJOMWMwaHZjM1JEYjIxd2IyNWxiblFvZEhsd1pTd2djSEp2Y0hNcElIdGNiaUFnYzNkcGRHTm9JQ2gwZVhCbEtTQjdYRzRnSUNBZ1kyRnpaU0FuWW5WMGRHOXVKenBjYmlBZ0lDQmpZWE5sSUNkcGJuQjFkQ2M2WEc0Z0lDQWdZMkZ6WlNBbmMyVnNaV04wSnpwY2JpQWdJQ0JqWVhObElDZDBaWGgwWVhKbFlTYzZYRzRnSUNBZ0lDQnlaWFIxY200Z0lTRndjbTl3Y3k1aGRYUnZSbTlqZFhNN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1ptRnNjMlU3WEc1OVhHNW1kVzVqZEdsdmJpQm5aWFJTYjI5MFNHOXpkRU52Ym5SbGVIUW9jbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS1NCN1hHNGdJSFpoY2lCMGVYQmxPMXh1SUNCMllYSWdibUZ0WlhOd1lXTmxPMXh1SUNCMllYSWdibTlrWlZSNWNHVWdQU0J5YjI5MFEyOXVkR0ZwYm1WeVNXNXpkR0Z1WTJVdWJtOWtaVlI1Y0dVN1hHNWNiaUFnYzNkcGRHTm9JQ2h1YjJSbFZIbHdaU2tnZTF4dUlDQWdJR05oYzJVZ1JFOURWVTFGVGxSZlRrOUVSVHBjYmlBZ0lDQmpZWE5sSUVSUFExVk5SVTVVWDBaU1FVZE5SVTVVWDA1UFJFVTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFI1Y0dVZ1BTQnViMlJsVkhsd1pTQTlQVDBnUkU5RFZVMUZUbFJmVGs5RVJTQS9JQ2NqWkc5amRXMWxiblFuSURvZ0p5Tm1jbUZuYldWdWRDYzdYRzRnSUNBZ0lDQWdJSFpoY2lCeWIyOTBJRDBnY205dmRFTnZiblJoYVc1bGNrbHVjM1JoYm1ObExtUnZZM1Z0Wlc1MFJXeGxiV1Z1ZER0Y2JpQWdJQ0FnSUNBZ2JtRnRaWE53WVdObElEMGdjbTl2ZENBL0lISnZiM1F1Ym1GdFpYTndZV05sVlZKSklEb2daMlYwUTJocGJHUk9ZVzFsYzNCaFkyVW9iblZzYkN3Z0p5Y3BPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqYjI1MFlXbHVaWElnUFNCdWIyUmxWSGx3WlNBOVBUMGdRMDlOVFVWT1ZGOU9UMFJGSUQ4Z2NtOXZkRU52Ym5SaGFXNWxja2x1YzNSaGJtTmxMbkJoY21WdWRFNXZaR1VnT2lCeWIyOTBRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVTdYRzRnSUNBZ0lDQWdJSFpoY2lCdmQyNU9ZVzFsYzNCaFkyVWdQU0JqYjI1MFlXbHVaWEl1Ym1GdFpYTndZV05sVlZKSklIeDhJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lIUjVjR1VnUFNCamIyNTBZV2x1WlhJdWRHRm5UbUZ0WlR0Y2JpQWdJQ0FnSUNBZ2JtRnRaWE53WVdObElEMGdaMlYwUTJocGJHUk9ZVzFsYzNCaFkyVW9iM2R1VG1GdFpYTndZV05sTENCMGVYQmxLVHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkbUZ5SUhaaGJHbGtZWFJsWkZSaFp5QTlJSFI1Y0dVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ0lDQjJZWElnWVc1alpYTjBiM0pKYm1adklEMGdkWEJrWVhSbFpFRnVZMlZ6ZEc5eVNXNW1ieWh1ZFd4c0xDQjJZV3hwWkdGMFpXUlVZV2NwTzF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnVZVzFsYzNCaFkyVTZJRzVoYldWemNHRmpaU3hjYmlBZ0lDQWdJR0Z1WTJWemRHOXlTVzVtYnpvZ1lXNWpaWE4wYjNKSmJtWnZYRzRnSUNBZ2ZUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdaMlYwUTJocGJHUkliM04wUTI5dWRHVjRkQ2h3WVhKbGJuUkliM04wUTI5dWRHVjRkQ3dnZEhsd1pTd2djbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnY0dGeVpXNTBTRzl6ZEVOdmJuUmxlSFJFWlhZZ1BTQndZWEpsYm5SSWIzTjBRMjl1ZEdWNGREdGNiaUFnSUNCMllYSWdibUZ0WlhOd1lXTmxJRDBnWjJWMFEyaHBiR1JPWVcxbGMzQmhZMlVvY0dGeVpXNTBTRzl6ZEVOdmJuUmxlSFJFWlhZdWJtRnRaWE53WVdObExDQjBlWEJsS1R0Y2JpQWdJQ0IyWVhJZ1lXNWpaWE4wYjNKSmJtWnZJRDBnZFhCa1lYUmxaRUZ1WTJWemRHOXlTVzVtYnlod1lYSmxiblJJYjNOMFEyOXVkR1Y0ZEVSbGRpNWhibU5sYzNSdmNrbHVabThzSUhSNWNHVXBPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCdVlXMWxjM0JoWTJVNklHNWhiV1Z6Y0dGalpTeGNiaUFnSUNBZ0lHRnVZMlZ6ZEc5eVNXNW1iem9nWVc1alpYTjBiM0pKYm1adlhHNGdJQ0FnZlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1oyVjBVSFZpYkdsalNXNXpkR0Z1WTJVb2FXNXpkR0Z1WTJVcElIdGNiaUFnY21WMGRYSnVJR2x1YzNSaGJtTmxPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NISmxjR0Z5WlVadmNrTnZiVzFwZENoamIyNTBZV2x1WlhKSmJtWnZLU0I3WEc0Z0lHVjJaVzUwYzBWdVlXSnNaV1FnUFNCcGMwVnVZV0pzWldRb0tUdGNiaUFnYzJWc1pXTjBhVzl1U1c1bWIzSnRZWFJwYjI0Z1BTQm5aWFJUWld4bFkzUnBiMjVKYm1admNtMWhkR2x2YmlncE8xeHVJQ0J6WlhSRmJtRmliR1ZrS0daaGJITmxLVHRjYm4xY2JtWjFibU4wYVc5dUlISmxjMlYwUVdaMFpYSkRiMjF0YVhRb1kyOXVkR0ZwYm1WeVNXNW1ieWtnZTF4dUlDQnlaWE4wYjNKbFUyVnNaV04wYVc5dUtITmxiR1ZqZEdsdmJrbHVabTl5YldGMGFXOXVLVHRjYmlBZ2MyVjBSVzVoWW14bFpDaGxkbVZ1ZEhORmJtRmliR1ZrS1R0Y2JpQWdaWFpsYm5SelJXNWhZbXhsWkNBOUlHNTFiR3c3WEc1Y2JpQWdjMlZzWldOMGFXOXVTVzVtYjNKdFlYUnBiMjRnUFNCdWRXeHNPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsU1c1emRHRnVZMlVvZEhsd1pTd2djSEp2Y0hNc0lISnZiM1JEYjI1MFlXbHVaWEpKYm5OMFlXNWpaU3dnYUc5emRFTnZiblJsZUhRc0lHbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJWSVlXNWtiR1VwSUh0Y2JpQWdkbUZ5SUhCaGNtVnVkRTVoYldWemNHRmpaVHRjYmx4dUlDQjdYRzRnSUNBZ0x5OGdWRTlFVHpvZ2RHRnJaU0J1WVcxbGMzQmhZMlVnYVc1MGJ5QmhZMk52ZFc1MElIZG9aVzRnZG1Gc2FXUmhkR2x1Wnk1Y2JpQWdJQ0IyWVhJZ2FHOXpkRU52Ym5SbGVIUkVaWFlnUFNCb2IzTjBRMjl1ZEdWNGREdGNiaUFnSUNCMllXeHBaR0YwWlVSUFRVNWxjM1JwYm1jb2RIbHdaU3dnYm5Wc2JDd2dhRzl6ZEVOdmJuUmxlSFJFWlhZdVlXNWpaWE4wYjNKSmJtWnZLVHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnY0hKdmNITXVZMmhwYkdSeVpXNGdQVDA5SUNkemRISnBibWNuSUh4OElIUjVjR1Z2WmlCd2NtOXdjeTVqYUdsc1pISmxiaUE5UFQwZ0oyNTFiV0psY2ljcElIdGNiaUFnSUNBZ0lIWmhjaUJ6ZEhKcGJtY2dQU0FuSnlBcklIQnliM0J6TG1Ob2FXeGtjbVZ1TzF4dUlDQWdJQ0FnZG1GeUlHOTNia0Z1WTJWemRHOXlTVzVtYnlBOUlIVndaR0YwWldSQmJtTmxjM1J2Y2tsdVptOG9hRzl6ZEVOdmJuUmxlSFJFWlhZdVlXNWpaWE4wYjNKSmJtWnZMQ0IwZVhCbEtUdGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFJFOU5UbVZ6ZEdsdVp5aHVkV3hzTENCemRISnBibWNzSUc5M2JrRnVZMlZ6ZEc5eVNXNW1ieWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjR0Z5Wlc1MFRtRnRaWE53WVdObElEMGdhRzl6ZEVOdmJuUmxlSFJFWlhZdWJtRnRaWE53WVdObE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdSdmJVVnNaVzFsYm5RZ1BTQmpjbVZoZEdWRmJHVnRaVzUwS0hSNWNHVXNJSEJ5YjNCekxDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUhCaGNtVnVkRTVoYldWemNHRmpaU2s3WEc0Z0lIQnlaV05oWTJobFJtbGlaWEpPYjJSbEtHbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJWSVlXNWtiR1VzSUdSdmJVVnNaVzFsYm5RcE8xeHVJQ0IxY0dSaGRHVkdhV0psY2xCeWIzQnpLR1J2YlVWc1pXMWxiblFzSUhCeWIzQnpLVHRjYmlBZ2NtVjBkWEp1SUdSdmJVVnNaVzFsYm5RN1hHNTlYRzVtZFc1amRHbHZiaUJoY0hCbGJtUkpibWwwYVdGc1EyaHBiR1FvY0dGeVpXNTBTVzV6ZEdGdVkyVXNJR05vYVd4a0tTQjdYRzRnSUhCaGNtVnVkRWx1YzNSaGJtTmxMbUZ3Y0dWdVpFTm9hV3hrS0dOb2FXeGtLVHRjYm4xY2JtWjFibU4wYVc5dUlHWnBibUZzYVhwbFNXNXBkR2xoYkVOb2FXeGtjbVZ1S0dSdmJVVnNaVzFsYm5Rc0lIUjVjR1VzSUhCeWIzQnpMQ0J5YjI5MFEyOXVkR0ZwYm1WeVNXNXpkR0Z1WTJVc0lHaHZjM1JEYjI1MFpYaDBLU0I3WEc0Z0lITmxkRWx1YVhScFlXeFFjbTl3WlhKMGFXVnpLR1J2YlVWc1pXMWxiblFzSUhSNWNHVXNJSEJ5YjNCekxDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVwTzF4dUlDQnlaWFIxY200Z2MyaHZkV3hrUVhWMGIwWnZZM1Z6U0c5emRFTnZiWEJ2Ym1WdWRDaDBlWEJsTENCd2NtOXdjeWs3WEc1OVhHNW1kVzVqZEdsdmJpQndjbVZ3WVhKbFZYQmtZWFJsS0dSdmJVVnNaVzFsYm5Rc0lIUjVjR1VzSUc5c1pGQnliM0J6TENCdVpYZFFjbTl3Y3l3Z2NtOXZkRU52Ym5SaGFXNWxja2x1YzNSaGJtTmxMQ0JvYjNOMFEyOXVkR1Y0ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUdodmMzUkRiMjUwWlhoMFJHVjJJRDBnYUc5emRFTnZiblJsZUhRN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNWxkMUJ5YjNCekxtTm9hV3hrY21WdUlDRTlQU0IwZVhCbGIyWWdiMnhrVUhKdmNITXVZMmhwYkdSeVpXNGdKaVlnS0hSNWNHVnZaaUJ1WlhkUWNtOXdjeTVqYUdsc1pISmxiaUE5UFQwZ0ozTjBjbWx1WnljZ2ZId2dkSGx3Wlc5bUlHNWxkMUJ5YjNCekxtTm9hV3hrY21WdUlEMDlQU0FuYm5WdFltVnlKeWtwSUh0Y2JpQWdJQ0FnSUhaaGNpQnpkSEpwYm1jZ1BTQW5KeUFySUc1bGQxQnliM0J6TG1Ob2FXeGtjbVZ1TzF4dUlDQWdJQ0FnZG1GeUlHOTNia0Z1WTJWemRHOXlTVzVtYnlBOUlIVndaR0YwWldSQmJtTmxjM1J2Y2tsdVptOG9hRzl6ZEVOdmJuUmxlSFJFWlhZdVlXNWpaWE4wYjNKSmJtWnZMQ0IwZVhCbEtUdGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFJFOU5UbVZ6ZEdsdVp5aHVkV3hzTENCemRISnBibWNzSUc5M2JrRnVZMlZ6ZEc5eVNXNW1ieWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1JwWm1aUWNtOXdaWEowYVdWektHUnZiVVZzWlcxbGJuUXNJSFI1Y0dVc0lHOXNaRkJ5YjNCekxDQnVaWGRRY205d2N5d2djbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS1R0Y2JuMWNibVoxYm1OMGFXOXVJSE5vYjNWc1pGTmxkRlJsZUhSRGIyNTBaVzUwS0hSNWNHVXNJSEJ5YjNCektTQjdYRzRnSUhKbGRIVnliaUIwZVhCbElEMDlQU0FuZEdWNGRHRnlaV0VuSUh4OElIUjVjR1VnUFQwOUlDZHZjSFJwYjI0bklIeDhJSFI1Y0dVZ1BUMDlJQ2R1YjNOamNtbHdkQ2NnZkh3Z2RIbHdaVzltSUhCeWIzQnpMbU5vYVd4a2NtVnVJRDA5UFNBbmMzUnlhVzVuSnlCOGZDQjBlWEJsYjJZZ2NISnZjSE11WTJocGJHUnlaVzRnUFQwOUlDZHVkVzFpWlhJbklIeDhJSFI1Y0dWdlppQndjbTl3Y3k1a1lXNW5aWEp2ZFhOc2VWTmxkRWx1Ym1WeVNGUk5UQ0E5UFQwZ0oyOWlhbVZqZENjZ0ppWWdjSEp2Y0hNdVpHRnVaMlZ5YjNWemJIbFRaWFJKYm01bGNraFVUVXdnSVQwOUlHNTFiR3dnSmlZZ2NISnZjSE11WkdGdVoyVnliM1Z6YkhsVFpYUkpibTVsY2toVVRVd3VYMTlvZEcxc0lDRTlJRzUxYkd3N1hHNTlYRzVtZFc1amRHbHZiaUJ6YUc5MWJHUkVaWEJ5YVc5eWFYUnBlbVZUZFdKMGNtVmxLSFI1Y0dVc0lIQnliM0J6S1NCN1hHNGdJSEpsZEhWeWJpQWhJWEJ5YjNCekxtaHBaR1JsYmp0Y2JuMWNibVoxYm1OMGFXOXVJR055WldGMFpWUmxlSFJKYm5OMFlXNWpaU2gwWlhoMExDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUdodmMzUkRiMjUwWlhoMExDQnBiblJsY201aGJFbHVjM1JoYm1ObFNHRnVaR3hsS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYUc5emRFTnZiblJsZUhSRVpYWWdQU0JvYjNOMFEyOXVkR1Y0ZER0Y2JpQWdJQ0IyWVd4cFpHRjBaVVJQVFU1bGMzUnBibWNvYm5Wc2JDd2dkR1Y0ZEN3Z2FHOXpkRU52Ym5SbGVIUkVaWFl1WVc1alpYTjBiM0pKYm1adktUdGNiaUFnZlZ4dVhHNGdJSFpoY2lCMFpYaDBUbTlrWlNBOUlHTnlaV0YwWlZSbGVIUk9iMlJsS0hSbGVIUXNJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNrN1hHNGdJSEJ5WldOaFkyaGxSbWxpWlhKT2IyUmxLR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVklZVzVrYkdVc0lIUmxlSFJPYjJSbEtUdGNiaUFnY21WMGRYSnVJSFJsZUhST2IyUmxPMXh1ZlZ4dUx5OGdhV1lnWVNCamIyMXdiMjVsYm5RZ2FuVnpkQ0JwYlhCdmNuUnpJRkpsWVdOMFJFOU5JQ2hsTG1jdUlHWnZjaUJtYVc1a1JFOU5UbTlrWlNrdVhHNHZMeUJUYjIxbElHVnVkbWx5YjI1dFpXNTBjeUJ0YVdkb2RDQnViM1FnYUdGMlpTQnpaWFJVYVcxbGIzVjBJRzl5SUdOc1pXRnlWR2x0Wlc5MWRDNWNibHh1ZG1GeUlITmphR1ZrZFd4bFZHbHRaVzkxZENBOUlIUjVjR1Z2WmlCelpYUlVhVzFsYjNWMElEMDlQU0FuWm5WdVkzUnBiMjRuSUQ4Z2MyVjBWR2x0Wlc5MWRDQTZJSFZ1WkdWbWFXNWxaRHRjYm5aaGNpQmpZVzVqWld4VWFXMWxiM1YwSUQwZ2RIbHdaVzltSUdOc1pXRnlWR2x0Wlc5MWRDQTlQVDBnSjJaMWJtTjBhVzl1SnlBL0lHTnNaV0Z5VkdsdFpXOTFkQ0E2SUhWdVpHVm1hVzVsWkR0Y2JuWmhjaUJ1YjFScGJXVnZkWFFnUFNBdE1Uc2dMeThnTFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4dVpuVnVZM1JwYjI0Z1kyOXRiV2wwVFc5MWJuUW9aRzl0Uld4bGJXVnVkQ3dnZEhsd1pTd2dibVYzVUhKdmNITXNJR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVklZVzVrYkdVcElIdGNiaUFnTHk4Z1JHVnpjR2wwWlNCMGFHVWdibUZ0YVc1bklIUm9ZWFFnYldsbmFIUWdhVzF3YkhrZ2IzUm9aWEozYVhObExDQjBhR2x6SUcxbGRHaHZaQ0J2Ym14NVhHNGdJQzh2SUdacGNtVnpJR2xtSUhSb1pYSmxJR2x6SUdGdUlHQlZjR1JoZEdWZ0lHVm1abVZqZENCelkyaGxaSFZzWldRZ1pIVnlhVzVuSUcxdmRXNTBhVzVuTGx4dUlDQXZMeUJVYUdseklHaGhjSEJsYm5NZ2FXWWdZR1pwYm1Gc2FYcGxTVzVwZEdsaGJFTm9hV3hrY21WdVlDQnlaWFIxY201eklHQjBjblZsWUNBb2QyaHBZMmdnYVhSY2JpQWdMeThnWkc5bGN5QjBieUJwYlhCc1pXMWxiblFnZEdobElHQmhkWFJ2Um05amRYTmdJR0YwZEhKcFluVjBaU0J2YmlCMGFHVWdZMnhwWlc1MEtTNGdRblYwWEc0Z0lDOHZJSFJvWlhKbElHRnlaU0JoYkhOdklHOTBhR1Z5SUdOaGMyVnpJSGRvWlc0Z2RHaHBjeUJ0YVdkb2RDQm9ZWEJ3Wlc0Z0tITjFZMmdnWVhNZ2NHRjBZMmhwYm1kY2JpQWdMeThnZFhBZ2RHVjRkQ0JqYjI1MFpXNTBJR1IxY21sdVp5Qm9lV1J5WVhScGIyNGdiV2x6YldGMFkyZ3BMaUJUYnlCM1pTZHNiQ0JqYUdWamF5QjBhR2x6SUdGbllXbHVMbHh1SUNCcFppQW9jMmh2ZFd4a1FYVjBiMFp2WTNWelNHOXpkRU52YlhCdmJtVnVkQ2gwZVhCbExDQnVaWGRRY205d2N5a3BJSHRjYmlBZ0lDQmtiMjFGYkdWdFpXNTBMbVp2WTNWektDazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR052YlcxcGRGVndaR0YwWlNoa2IyMUZiR1Z0Wlc1MExDQjFjR1JoZEdWUVlYbHNiMkZrTENCMGVYQmxMQ0J2YkdSUWNtOXdjeXdnYm1WM1VISnZjSE1zSUdsdWRHVnlibUZzU1c1emRHRnVZMlZJWVc1a2JHVXBJSHRjYmlBZ0x5OGdWWEJrWVhSbElIUm9aU0J3Y205d2N5Qm9ZVzVrYkdVZ2MyOGdkR2hoZENCM1pTQnJibTkzSUhkb2FXTm9JSEJ5YjNCeklHRnlaU0IwYUdVZ2IyNWxjeUIzYVhSb1hHNGdJQzh2SUhkcGRHZ2dZM1Z5Y21WdWRDQmxkbVZ1ZENCb1lXNWtiR1Z5Y3k1Y2JpQWdkWEJrWVhSbFJtbGlaWEpRY205d2N5aGtiMjFGYkdWdFpXNTBMQ0J1WlhkUWNtOXdjeWs3SUM4dklFRndjR3g1SUhSb1pTQmthV1ptSUhSdklIUm9aU0JFVDAwZ2JtOWtaUzVjYmx4dUlDQjFjR1JoZEdWUWNtOXdaWEowYVdWektHUnZiVVZzWlcxbGJuUXNJSFZ3WkdGMFpWQmhlV3h2WVdRc0lIUjVjR1VzSUc5c1pGQnliM0J6TENCdVpYZFFjbTl3Y3lrN1hHNTlYRzVtZFc1amRHbHZiaUJ5WlhObGRGUmxlSFJEYjI1MFpXNTBLR1J2YlVWc1pXMWxiblFwSUh0Y2JpQWdjMlYwVkdWNGRFTnZiblJsYm5Rb1pHOXRSV3hsYldWdWRDd2dKeWNwTzF4dWZWeHVablZ1WTNScGIyNGdZMjl0YldsMFZHVjRkRlZ3WkdGMFpTaDBaWGgwU1c1emRHRnVZMlVzSUc5c1pGUmxlSFFzSUc1bGQxUmxlSFFwSUh0Y2JpQWdkR1Y0ZEVsdWMzUmhibU5sTG01dlpHVldZV3gxWlNBOUlHNWxkMVJsZUhRN1hHNTlYRzVtZFc1amRHbHZiaUJoY0hCbGJtUkRhR2xzWkNod1lYSmxiblJKYm5OMFlXNWpaU3dnWTJocGJHUXBJSHRjYmlBZ2NHRnlaVzUwU1c1emRHRnVZMlV1WVhCd1pXNWtRMmhwYkdRb1kyaHBiR1FwTzF4dWZWeHVablZ1WTNScGIyNGdZWEJ3Wlc1a1EyaHBiR1JVYjBOdmJuUmhhVzVsY2loamIyNTBZV2x1WlhJc0lHTm9hV3hrS1NCN1hHNGdJSFpoY2lCd1lYSmxiblJPYjJSbE8xeHVYRzRnSUdsbUlDaGpiMjUwWVdsdVpYSXVibTlrWlZSNWNHVWdQVDA5SUVOUFRVMUZUbFJmVGs5RVJTa2dlMXh1SUNBZ0lIQmhjbVZ1ZEU1dlpHVWdQU0JqYjI1MFlXbHVaWEl1Y0dGeVpXNTBUbTlrWlR0Y2JpQWdJQ0J3WVhKbGJuUk9iMlJsTG1sdWMyVnlkRUpsWm05eVpTaGphR2xzWkN3Z1kyOXVkR0ZwYm1WeUtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQndZWEpsYm5ST2IyUmxJRDBnWTI5dWRHRnBibVZ5TzF4dUlDQWdJSEJoY21WdWRFNXZaR1V1WVhCd1pXNWtRMmhwYkdRb1kyaHBiR1FwTzF4dUlDQjlJQzh2SUZSb2FYTWdZMjl1ZEdGcGJtVnlJRzFwWjJoMElHSmxJSFZ6WldRZ1ptOXlJR0VnY0c5eWRHRnNMbHh1SUNBdkx5QkpaaUJ6YjIxbGRHaHBibWNnYVc1emFXUmxJR0VnY0c5eWRHRnNJR2x6SUdOc2FXTnJaV1FzSUhSb1lYUWdZMnhwWTJzZ2MyaHZkV3hrSUdKMVltSnNaVnh1SUNBdkx5QjBhSEp2ZFdkb0lIUm9aU0JTWldGamRDQjBjbVZsTGlCSWIzZGxkbVZ5TENCdmJpQk5iMkpwYkdVZ1UyRm1ZWEpwSUhSb1pTQmpiR2xqYXlCM2IzVnNaRnh1SUNBdkx5QnVaWFpsY2lCaWRXSmliR1VnZEdoeWIzVm5hQ0IwYUdVZ0trUlBUU29nZEhKbFpTQjFibXhsYzNNZ1lXNGdZVzVqWlhOMGIzSWdkMmwwYUNCdmJtTnNhV05yWEc0Z0lDOHZJR1YyWlc1MElHVjRhWE4wY3k0Z1UyOGdkMlVnZDI5MWJHUnVKM1FnYzJWbElHbDBJR0Z1WkNCa2FYTndZWFJqYUNCcGRDNWNiaUFnTHk4Z1ZHaHBjeUJwY3lCM2FIa2dkMlVnWlc1emRYSmxJSFJvWVhRZ2JtOXVJRkpsWVdOMElISnZiM1FnWTI5dWRHRnBibVZ5Y3lCb1lYWmxJR2x1YkdsdVpTQnZibU5zYVdOclhHNGdJQzh2SUdSbFptbHVaV1F1WEc0Z0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1URTVNVGhjYmx4dVhHNGdJSFpoY2lCeVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJZ1BTQmpiMjUwWVdsdVpYSXVYM0psWVdOMFVtOXZkRU52Ym5SaGFXNWxjanRjYmx4dUlDQnBaaUFvS0hKbFlXTjBVbTl2ZEVOdmJuUmhhVzVsY2lBOVBUMGdiblZzYkNCOGZDQnlaV0ZqZEZKdmIzUkRiMjUwWVdsdVpYSWdQVDA5SUhWdVpHVm1hVzVsWkNrZ0ppWWdjR0Z5Wlc1MFRtOWtaUzV2Ym1Oc2FXTnJJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdMeThnVkU5RVR6b2dWR2hwY3lCallYTjBJRzFoZVNCdWIzUWdZbVVnYzI5MWJtUWdabTl5SUZOV1J5d2dUV0YwYUUxTUlHOXlJR04xYzNSdmJTQmxiR1Z0Wlc1MGN5NWNiaUFnSUNCMGNtRndRMnhwWTJ0UGJrNXZia2x1ZEdWeVlXTjBhWFpsUld4bGJXVnVkQ2h3WVhKbGJuUk9iMlJsS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2FXNXpaWEowUW1WbWIzSmxLSEJoY21WdWRFbHVjM1JoYm1ObExDQmphR2xzWkN3Z1ltVm1iM0psUTJocGJHUXBJSHRjYmlBZ2NHRnlaVzUwU1c1emRHRnVZMlV1YVc1elpYSjBRbVZtYjNKbEtHTm9hV3hrTENCaVpXWnZjbVZEYUdsc1pDazdYRzU5WEc1bWRXNWpkR2x2YmlCcGJuTmxjblJKYmtOdmJuUmhhVzVsY2tKbFptOXlaU2hqYjI1MFlXbHVaWElzSUdOb2FXeGtMQ0JpWldadmNtVkRhR2xzWkNrZ2UxeHVJQ0JwWmlBb1kyOXVkR0ZwYm1WeUxtNXZaR1ZVZVhCbElEMDlQU0JEVDAxTlJVNVVYMDVQUkVVcElIdGNiaUFnSUNCamIyNTBZV2x1WlhJdWNHRnlaVzUwVG05a1pTNXBibk5sY25SQ1pXWnZjbVVvWTJocGJHUXNJR0psWm05eVpVTm9hV3hrS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCamIyNTBZV2x1WlhJdWFXNXpaWEowUW1WbWIzSmxLR05vYVd4a0xDQmlaV1p2Y21WRGFHbHNaQ2s3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhKbGJXOTJaVU5vYVd4a0tIQmhjbVZ1ZEVsdWMzUmhibU5sTENCamFHbHNaQ2tnZTF4dUlDQndZWEpsYm5SSmJuTjBZVzVqWlM1eVpXMXZkbVZEYUdsc1pDaGphR2xzWkNrN1hHNTlYRzVtZFc1amRHbHZiaUJ5WlcxdmRtVkRhR2xzWkVaeWIyMURiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlMQ0JqYUdsc1pDa2dlMXh1SUNCcFppQW9ZMjl1ZEdGcGJtVnlMbTV2WkdWVWVYQmxJRDA5UFNCRFQwMU5SVTVVWDA1UFJFVXBJSHRjYmlBZ0lDQmpiMjUwWVdsdVpYSXVjR0Z5Wlc1MFRtOWtaUzV5WlcxdmRtVkRhR2xzWkNoamFHbHNaQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnWTI5dWRHRnBibVZ5TG5KbGJXOTJaVU5vYVd4a0tHTm9hV3hrS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm9hV1JsU1c1emRHRnVZMlVvYVc1emRHRnVZMlVwSUh0Y2JpQWdMeThnY0dGemN5Qm9iM04wSUdOdmJuUmxlSFFnZEc4Z2RHaHBjeUJ0WlhSb2IyUS9YRzVjYmx4dUlDQnBibk4wWVc1alpTQTlJR2x1YzNSaGJtTmxPMXh1SUNCMllYSWdjM1I1YkdVZ1BTQnBibk4wWVc1alpTNXpkSGxzWlR0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUhOMGVXeGxMbk5sZEZCeWIzQmxjblI1SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdjM1I1YkdVdWMyVjBVSEp2Y0dWeWRIa29KMlJwYzNCc1lYa25MQ0FuYm05dVpTY3NJQ2RwYlhCdmNuUmhiblFuS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCemRIbHNaUzVrYVhOd2JHRjVJRDBnSjI1dmJtVW5PMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJvYVdSbFZHVjRkRWx1YzNSaGJtTmxLSFJsZUhSSmJuTjBZVzVqWlNrZ2UxeHVJQ0IwWlhoMFNXNXpkR0Z1WTJVdWJtOWtaVlpoYkhWbElEMGdKeWM3WEc1OVhHNW1kVzVqZEdsdmJpQjFibWhwWkdWSmJuTjBZVzVqWlNocGJuTjBZVzVqWlN3Z2NISnZjSE1wSUh0Y2JpQWdhVzV6ZEdGdVkyVWdQU0JwYm5OMFlXNWpaVHRjYmlBZ2RtRnlJSE4wZVd4bFVISnZjQ0E5SUhCeWIzQnpXMU5VV1V4RkpERmRPMXh1SUNCMllYSWdaR2x6Y0d4aGVTQTlJSE4wZVd4bFVISnZjQ0FoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JSE4wZVd4bFVISnZjQ0FoUFQwZ2JuVnNiQ0FtSmlCemRIbHNaVkJ5YjNBdWFHRnpUM2R1VUhKdmNHVnlkSGtvSjJScGMzQnNZWGtuS1NBL0lITjBlV3hsVUhKdmNDNWthWE53YkdGNUlEb2diblZzYkR0Y2JpQWdhVzV6ZEdGdVkyVXVjM1I1YkdVdVpHbHpjR3hoZVNBOUlHUmhibWRsY205MWMxTjBlV3hsVm1Gc2RXVW9KMlJwYzNCc1lYa25MQ0JrYVhOd2JHRjVLVHRjYm4xY2JtWjFibU4wYVc5dUlIVnVhR2xrWlZSbGVIUkpibk4wWVc1alpTaDBaWGgwU1c1emRHRnVZMlVzSUhSbGVIUXBJSHRjYmlBZ2RHVjRkRWx1YzNSaGJtTmxMbTV2WkdWV1lXeDFaU0E5SUhSbGVIUTdYRzU5SUM4dklDMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMWNibVoxYm1OMGFXOXVJR05oYmtoNVpISmhkR1ZKYm5OMFlXNWpaU2hwYm5OMFlXNWpaU3dnZEhsd1pTd2djSEp2Y0hNcElIdGNiaUFnYVdZZ0tHbHVjM1JoYm1ObExtNXZaR1ZVZVhCbElDRTlQU0JGVEVWTlJVNVVYMDVQUkVVZ2ZId2dkSGx3WlM1MGIweHZkMlZ5UTJGelpTZ3BJQ0U5UFNCcGJuTjBZVzVqWlM1dWIyUmxUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdMeThnVkdocGN5Qm9ZWE1nYm05M0lHSmxaVzRnY21WbWFXNWxaQ0IwYnlCaGJpQmxiR1Z0Wlc1MElHNXZaR1V1WEc1Y2JseHVJQ0J5WlhSMWNtNGdhVzV6ZEdGdVkyVTdYRzU5WEc1bWRXNWpkR2x2YmlCallXNUllV1J5WVhSbFZHVjRkRWx1YzNSaGJtTmxLR2x1YzNSaGJtTmxMQ0IwWlhoMEtTQjdYRzRnSUdsbUlDaDBaWGgwSUQwOVBTQW5KeUI4ZkNCcGJuTjBZVzVqWlM1dWIyUmxWSGx3WlNBaFBUMGdWRVZZVkY5T1QwUkZLU0I3WEc0Z0lDQWdMeThnUlcxd2RIa2djM1J5YVc1bmN5QmhjbVVnYm05MElIQmhjbk5sWkNCaWVTQklWRTFNSUhOdklIUm9aWEpsSUhkdmJpZDBJR0psSUdFZ1kyOXljbVZqZENCdFlYUmphQ0JvWlhKbExseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5SUM4dklGUm9hWE1nYUdGeklHNXZkeUJpWldWdUlISmxabWx1WldRZ2RHOGdZU0IwWlhoMElHNXZaR1V1WEc1Y2JseHVJQ0J5WlhSMWNtNGdhVzV6ZEdGdVkyVTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMxTjFjM0JsYm5ObFNXNXpkR0Z1WTJWUVpXNWthVzVuS0dsdWMzUmhibU5sS1NCN1hHNGdJSEpsZEhWeWJpQnBibk4wWVc1alpTNWtZWFJoSUQwOVBTQlRWVk5RUlU1VFJWOVFSVTVFU1U1SFgxTlVRVkpVWDBSQlZFRTdYRzU5WEc1bWRXNWpkR2x2YmlCcGMxTjFjM0JsYm5ObFNXNXpkR0Z1WTJWR1lXeHNZbUZqYXlocGJuTjBZVzVqWlNrZ2UxeHVJQ0J5WlhSMWNtNGdhVzV6ZEdGdVkyVXVaR0YwWVNBOVBUMGdVMVZUVUVWT1UwVmZSa0ZNVEVKQlEwdGZVMVJCVWxSZlJFRlVRVHRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwVG1WNGRFaDVaSEpoZEdGaWJHVW9ibTlrWlNrZ2UxeHVJQ0F2THlCVGEybHdJRzV2Ymkxb2VXUnlZWFJoWW14bElHNXZaR1Z6TGx4dUlDQm1iM0lnS0RzZ2JtOWtaU0FoUFNCdWRXeHNPeUJ1YjJSbElEMGdibTlrWlM1dVpYaDBVMmxpYkdsdVp5a2dlMXh1SUNBZ0lIWmhjaUJ1YjJSbFZIbHdaU0E5SUc1dlpHVXVibTlrWlZSNWNHVTdYRzVjYmlBZ0lDQnBaaUFvYm05a1pWUjVjR1VnUFQwOUlFVk1SVTFGVGxSZlRrOUVSU0I4ZkNCdWIyUmxWSGx3WlNBOVBUMGdWRVZZVkY5T1QwUkZLU0I3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtOWtaVHRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwVG1WNGRFaDVaSEpoZEdGaWJHVlRhV0pzYVc1bktHbHVjM1JoYm1ObEtTQjdYRzRnSUhKbGRIVnliaUJuWlhST1pYaDBTSGxrY21GMFlXSnNaU2hwYm5OMFlXNWpaUzV1WlhoMFUybGliR2x1WnlrN1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSR2FYSnpkRWg1WkhKaGRHRmliR1ZEYUdsc1pDaHdZWEpsYm5SSmJuTjBZVzVqWlNrZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwVG1WNGRFaDVaSEpoZEdGaWJHVW9jR0Z5Wlc1MFNXNXpkR0Z1WTJVdVptbHljM1JEYUdsc1pDazdYRzU5WEc1bWRXNWpkR2x2YmlCb2VXUnlZWFJsU1c1emRHRnVZMlVvYVc1emRHRnVZMlVzSUhSNWNHVXNJSEJ5YjNCekxDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUdodmMzUkRiMjUwWlhoMExDQnBiblJsY201aGJFbHVjM1JoYm1ObFNHRnVaR3hsS1NCN1hHNGdJSEJ5WldOaFkyaGxSbWxpWlhKT2IyUmxLR2x1ZEdWeWJtRnNTVzV6ZEdGdVkyVklZVzVrYkdVc0lHbHVjM1JoYm1ObEtUc2dMeThnVkU5RVR6b2dVRzl6YzJsaWJIa2daR1ZtWlhJZ2RHaHBjeUIxYm5ScGJDQjBhR1VnWTI5dGJXbDBJSEJvWVhObElIZG9aWEpsSUdGc2JDQjBhR1VnWlhabGJuUnpYRzRnSUM4dklHZGxkQ0JoZEhSaFkyaGxaQzVjYmx4dUlDQjFjR1JoZEdWR2FXSmxjbEJ5YjNCektHbHVjM1JoYm1ObExDQndjbTl3Y3lrN1hHNGdJSFpoY2lCd1lYSmxiblJPWVcxbGMzQmhZMlU3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJvYjNOMFEyOXVkR1Y0ZEVSbGRpQTlJR2h2YzNSRGIyNTBaWGgwTzF4dUlDQWdJSEJoY21WdWRFNWhiV1Z6Y0dGalpTQTlJR2h2YzNSRGIyNTBaWGgwUkdWMkxtNWhiV1Z6Y0dGalpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmthV1ptU0hsa2NtRjBaV1JRY205d1pYSjBhV1Z6S0dsdWMzUmhibU5sTENCMGVYQmxMQ0J3Y205d2N5d2djR0Z5Wlc1MFRtRnRaWE53WVdObExDQnliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVwTzF4dWZWeHVablZ1WTNScGIyNGdhSGxrY21GMFpWUmxlSFJKYm5OMFlXNWpaU2gwWlhoMFNXNXpkR0Z1WTJVc0lIUmxlSFFzSUdsdWRHVnlibUZzU1c1emRHRnVZMlZJWVc1a2JHVXBJSHRjYmlBZ2NISmxZMkZqYUdWR2FXSmxjazV2WkdVb2FXNTBaWEp1WVd4SmJuTjBZVzVqWlVoaGJtUnNaU3dnZEdWNGRFbHVjM1JoYm1ObEtUdGNiaUFnY21WMGRYSnVJR1JwWm1aSWVXUnlZWFJsWkZSbGVIUW9kR1Y0ZEVsdWMzUmhibU5sTENCMFpYaDBLVHRjYm4xY2JtWjFibU4wYVc5dUlHZGxkRTVsZUhSSWVXUnlZWFJoWW14bFNXNXpkR0Z1WTJWQlpuUmxjbE4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9jM1Z6Y0dWdWMyVkpibk4wWVc1alpTa2dlMXh1SUNCMllYSWdibTlrWlNBOUlITjFjM0JsYm5ObFNXNXpkR0Z1WTJVdWJtVjRkRk5wWW14cGJtYzdJQzh2SUZOcmFYQWdjR0Z6ZENCaGJHd2dibTlrWlhNZ2QybDBhR2x1SUhSb2FYTWdjM1Z6Y0dWdWMyVWdZbTkxYm1SaGNua3VYRzRnSUM4dklGUm9aWEpsSUcxcFoyaDBJR0psSUc1bGMzUmxaQ0J1YjJSbGN5QnpieUIzWlNCdVpXVmtJSFJ2SUd0bFpYQWdkSEpoWTJzZ2IyWWdhRzkzWEc0Z0lDOHZJR1JsWlhBZ2QyVWdZWEpsSUdGdVpDQnZibXg1SUdKeVpXRnJJRzkxZENCM2FHVnVJSGRsSjNKbElHSmhZMnNnYjI0Z2RHOXdMbHh1WEc0Z0lIWmhjaUJrWlhCMGFDQTlJREE3WEc1Y2JpQWdkMmhwYkdVZ0tHNXZaR1VwSUh0Y2JpQWdJQ0JwWmlBb2JtOWtaUzV1YjJSbFZIbHdaU0E5UFQwZ1EwOU5UVVZPVkY5T1QwUkZLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1pHRjBZU0E5SUc1dlpHVXVaR0YwWVR0Y2JseHVJQ0FnSUNBZ2FXWWdLR1JoZEdFZ1BUMDlJRk5WVTFCRlRsTkZYMFZPUkY5RVFWUkJLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtaWEIwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCblpYUk9aWGgwU0hsa2NtRjBZV0pzWlZOcFlteHBibWNvYm05a1pTazdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnWkdWd2RHZ3RMVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoa1lYUmhJRDA5UFNCVFZWTlFSVTVUUlY5VFZFRlNWRjlFUVZSQklIeDhJR1JoZEdFZ1BUMDlJRk5WVTFCRlRsTkZYMFpCVEV4Q1FVTkxYMU5VUVZKVVgwUkJWRUVnZkh3Z1pHRjBZU0E5UFQwZ1UxVlRVRVZPVTBWZlVFVk9SRWxPUjE5VFZFRlNWRjlFUVZSQktTQjdYRzRnSUNBZ0lDQWdJR1JsY0hSb0t5czdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JtOWtaU0E5SUc1dlpHVXVibVY0ZEZOcFlteHBibWM3WEc0Z0lIMGdMeThnVkU5RVR6b2dWMkZ5Yml3Z2QyVWdaR2xrYmlkMElHWnBibVFnZEdobElHVnVaQ0JqYjIxdFpXNTBJR0p2ZFc1a1lYSjVMbHh1WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OUlDOHZJRkpsZEhWeWJuTWdkR2hsSUZOMWMzQmxibk5sU1c1emRHRnVZMlVnYVdZZ2RHaHBjeUJ1YjJSbElHbHpJR0VnWkdseVpXTjBJR05vYVd4a0lHOW1JR0ZjYmk4dklGTjFjM0JsYm5ObFNXNXpkR0Z1WTJVdUlFa3VaUzRnYVdZZ2FYUnpJSEJ5WlhacGIzVnpJSE5wWW14cGJtY2dhWE1nWVNCRGIyMXRaVzUwSUhkcGRHaGNiaTh2SUZOVlUxQkZUbE5GWDNoZlUxUkJVbFJmUkVGVVFTNGdUM1JvWlhKM2FYTmxMQ0J1ZFd4c0xseHVYRzVtZFc1amRHbHZiaUJuWlhSUVlYSmxiblJUZFhOd1pXNXpaVWx1YzNSaGJtTmxLSFJoY21kbGRFbHVjM1JoYm1ObEtTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ2RHRnlaMlYwU1c1emRHRnVZMlV1Y0hKbGRtbHZkWE5UYVdKc2FXNW5PeUF2THlCVGEybHdJSEJoYzNRZ1lXeHNJRzV2WkdWeklIZHBkR2hwYmlCMGFHbHpJSE4xYzNCbGJuTmxJR0p2ZFc1a1lYSjVMbHh1SUNBdkx5QlVhR1Z5WlNCdGFXZG9kQ0JpWlNCdVpYTjBaV1FnYm05a1pYTWdjMjhnZDJVZ2JtVmxaQ0IwYnlCclpXVndJSFJ5WVdOcklHOW1JR2h2ZDF4dUlDQXZMeUJrWldWd0lIZGxJR0Z5WlNCaGJtUWdiMjVzZVNCaWNtVmhheUJ2ZFhRZ2QyaGxiaUIzWlNkeVpTQmlZV05ySUc5dUlIUnZjQzVjYmx4dUlDQjJZWElnWkdWd2RHZ2dQU0F3TzF4dVhHNGdJSGRvYVd4bElDaHViMlJsS1NCN1hHNGdJQ0FnYVdZZ0tHNXZaR1V1Ym05a1pWUjVjR1VnUFQwOUlFTlBUVTFGVGxSZlRrOUVSU2tnZTF4dUlDQWdJQ0FnZG1GeUlHUmhkR0VnUFNCdWIyUmxMbVJoZEdFN1hHNWNiaUFnSUNBZ0lHbG1JQ2hrWVhSaElEMDlQU0JUVlZOUVJVNVRSVjlUVkVGU1ZGOUVRVlJCSUh4OElHUmhkR0VnUFQwOUlGTlZVMUJGVGxORlgwWkJURXhDUVVOTFgxTlVRVkpVWDBSQlZFRWdmSHdnWkdGMFlTQTlQVDBnVTFWVFVFVk9VMFZmVUVWT1JFbE9SMTlUVkVGU1ZGOUVRVlJCS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hrWlhCMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnViMlJsTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHUmxjSFJvTFMwN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9aR0YwWVNBOVBUMGdVMVZUVUVWT1UwVmZSVTVFWDBSQlZFRXBJSHRjYmlBZ0lDQWdJQ0FnWkdWd2RHZ3JLenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnViMlJsSUQwZ2JtOWtaUzV3Y21WMmFXOTFjMU5wWW14cGJtYzdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiblZzYkR0Y2JuMWNibVoxYm1OMGFXOXVJR052YlcxcGRFaDVaSEpoZEdWa1EyOXVkR0ZwYm1WeUtHTnZiblJoYVc1bGNpa2dlMXh1SUNBdkx5QlNaWFJ5ZVNCcFppQmhibmtnWlhabGJuUWdjbVZ3YkdGNWFXNW5JSGRoY3lCaWJHOWphMlZrSUc5dUlIUm9hWE11WEc0Z0lISmxkSEo1U1daQ2JHOWphMlZrVDI0b1kyOXVkR0ZwYm1WeUtUdGNibjFjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRWg1WkhKaGRHVmtVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHpkWE53Wlc1elpVbHVjM1JoYm1ObEtTQjdYRzRnSUM4dklGSmxkSEo1SUdsbUlHRnVlU0JsZG1WdWRDQnlaWEJzWVhscGJtY2dkMkZ6SUdKc2IyTnJaV1FnYjI0Z2RHaHBjeTVjYmlBZ2NtVjBjbmxKWmtKc2IyTnJaV1JQYmloemRYTndaVzV6WlVsdWMzUmhibU5sS1R0Y2JuMWNibVoxYm1OMGFXOXVJR1JwWkU1dmRFMWhkR05vU0hsa2NtRjBaV1JEYjI1MFlXbHVaWEpVWlhoMFNXNXpkR0Z1WTJVb2NHRnlaVzUwUTI5dWRHRnBibVZ5TENCMFpYaDBTVzV6ZEdGdVkyVXNJSFJsZUhRcElIdGNiaUFnZTF4dUlDQWdJSGRoY201R2IzSlZibTFoZEdOb1pXUlVaWGgwS0hSbGVIUkpibk4wWVc1alpTd2dkR1Y0ZENrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHUnBaRTV2ZEUxaGRHTm9TSGxrY21GMFpXUlVaWGgwU1c1emRHRnVZMlVvY0dGeVpXNTBWSGx3WlN3Z2NHRnlaVzUwVUhKdmNITXNJSEJoY21WdWRFbHVjM1JoYm1ObExDQjBaWGgwU1c1emRHRnVZMlVzSUhSbGVIUXBJSHRjYmlBZ2FXWWdLQ0J3WVhKbGJuUlFjbTl3YzF0VFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUnlReFhTQWhQVDBnZEhKMVpTa2dlMXh1SUNBZ0lIZGhjbTVHYjNKVmJtMWhkR05vWldSVVpYaDBLSFJsZUhSSmJuTjBZVzVqWlN3Z2RHVjRkQ2s3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdScFpFNXZkRWg1WkhKaGRHVkRiMjUwWVdsdVpYSkpibk4wWVc1alpTaHdZWEpsYm5SRGIyNTBZV2x1WlhJc0lHbHVjM1JoYm1ObEtTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb2FXNXpkR0Z1WTJVdWJtOWtaVlI1Y0dVZ1BUMDlJRVZNUlUxRlRsUmZUazlFUlNrZ2UxeHVJQ0FnSUNBZ2QyRnlia1p2Y2tSbGJHVjBaV1JJZVdSeVlYUmhZbXhsUld4bGJXVnVkQ2h3WVhKbGJuUkRiMjUwWVdsdVpYSXNJR2x1YzNSaGJtTmxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR2x1YzNSaGJtTmxMbTV2WkdWVWVYQmxJRDA5UFNCRFQwMU5SVTVVWDA1UFJFVXBJRHNnWld4elpTQjdYRzRnSUNBZ0lDQjNZWEp1Um05eVJHVnNaWFJsWkVoNVpISmhkR0ZpYkdWVVpYaDBLSEJoY21WdWRFTnZiblJoYVc1bGNpd2dhVzV6ZEdGdVkyVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdaR2xrVG05MFNIbGtjbUYwWlVsdWMzUmhibU5sS0hCaGNtVnVkRlI1Y0dVc0lIQmhjbVZ1ZEZCeWIzQnpMQ0J3WVhKbGJuUkpibk4wWVc1alpTd2dhVzV6ZEdGdVkyVXBJSHRjYmlBZ2FXWWdLQ0J3WVhKbGJuUlFjbTl3YzF0VFZWQlFVa1ZUVTE5SVdVUlNRVlJKVDA1ZlYwRlNUa2xPUnlReFhTQWhQVDBnZEhKMVpTa2dlMXh1SUNBZ0lHbG1JQ2hwYm5OMFlXNWpaUzV1YjJSbFZIbHdaU0E5UFQwZ1JVeEZUVVZPVkY5T1QwUkZLU0I3WEc0Z0lDQWdJQ0IzWVhKdVJtOXlSR1ZzWlhSbFpFaDVaSEpoZEdGaWJHVkZiR1Z0Wlc1MEtIQmhjbVZ1ZEVsdWMzUmhibU5sTENCcGJuTjBZVzVqWlNrN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNocGJuTjBZVzVqWlM1dWIyUmxWSGx3WlNBOVBUMGdRMDlOVFVWT1ZGOU9UMFJGS1NBN0lHVnNjMlVnZTF4dUlDQWdJQ0FnZDJGeWJrWnZja1JsYkdWMFpXUkllV1J5WVhSaFlteGxWR1Y0ZENod1lYSmxiblJKYm5OMFlXNWpaU3dnYVc1emRHRnVZMlVwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWkdsa1RtOTBSbWx1WkVoNVpISmhkR0ZpYkdWRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNod1lYSmxiblJEYjI1MFlXbHVaWElzSUhSNWNHVXNJSEJ5YjNCektTQjdYRzRnSUh0Y2JpQWdJQ0IzWVhKdVJtOXlTVzV6WlhKMFpXUkllV1J5WVhSbFpFVnNaVzFsYm5Rb2NHRnlaVzUwUTI5dWRHRnBibVZ5TENCMGVYQmxLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWkdsa1RtOTBSbWx1WkVoNVpISmhkR0ZpYkdWRGIyNTBZV2x1WlhKVVpYaDBTVzV6ZEdGdVkyVW9jR0Z5Wlc1MFEyOXVkR0ZwYm1WeUxDQjBaWGgwS1NCN1hHNGdJSHRjYmlBZ0lDQjNZWEp1Um05eVNXNXpaWEowWldSSWVXUnlZWFJsWkZSbGVIUW9jR0Z5Wlc1MFEyOXVkR0ZwYm1WeUxDQjBaWGgwS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1pHbGtUbTkwUm1sdVpFaDVaSEpoZEdGaWJHVkpibk4wWVc1alpTaHdZWEpsYm5SVWVYQmxMQ0J3WVhKbGJuUlFjbTl3Y3l3Z2NHRnlaVzUwU1c1emRHRnVZMlVzSUhSNWNHVXNJSEJ5YjNCektTQjdYRzRnSUdsbUlDZ2djR0Z5Wlc1MFVISnZjSE5iVTFWUVVGSkZVMU5mU0ZsRVVrRlVTVTlPWDFkQlVrNUpUa2NrTVYwZ0lUMDlJSFJ5ZFdVcElIdGNiaUFnSUNCM1lYSnVSbTl5U1c1elpYSjBaV1JJZVdSeVlYUmxaRVZzWlcxbGJuUW9jR0Z5Wlc1MFNXNXpkR0Z1WTJVc0lIUjVjR1VwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCa2FXUk9iM1JHYVc1a1NIbGtjbUYwWVdKc1pWUmxlSFJKYm5OMFlXNWpaU2h3WVhKbGJuUlVlWEJsTENCd1lYSmxiblJRY205d2N5d2djR0Z5Wlc1MFNXNXpkR0Z1WTJVc0lIUmxlSFFwSUh0Y2JpQWdhV1lnS0NCd1lYSmxiblJRY205d2MxdFRWVkJRVWtWVFUxOUlXVVJTUVZSSlQwNWZWMEZTVGtsT1J5UXhYU0FoUFQwZ2RISjFaU2tnZTF4dUlDQWdJSGRoY201R2IzSkpibk5sY25SbFpFaDVaSEpoZEdWa1ZHVjRkQ2h3WVhKbGJuUkpibk4wWVc1alpTd2dkR1Y0ZENrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHUnBaRTV2ZEVacGJtUkllV1J5WVhSaFlteGxVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHdZWEpsYm5SVWVYQmxMQ0J3WVhKbGJuUlFjbTl3Y3l3Z2NHRnlaVzUwU1c1emRHRnVZMlVwSUh0Y2JpQWdhV1lnS0NCd1lYSmxiblJRY205d2MxdFRWVkJRVWtWVFUxOUlXVVJTUVZSSlQwNWZWMEZTVGtsT1J5UXhYU0FoUFQwZ2RISjFaU2tnTzF4dWZWeHVYRzUyWVhJZ2NtRnVaRzl0UzJWNUlEMGdUV0YwYUM1eVlXNWtiMjBvS1M1MGIxTjBjbWx1Wnlnek5pa3VjMnhwWTJVb01pazdYRzUyWVhJZ2FXNTBaWEp1WVd4SmJuTjBZVzVqWlV0bGVTQTlJQ2RmWDNKbFlXTjBTVzUwWlhKdVlXeEpibk4wWVc1alpTUW5JQ3NnY21GdVpHOXRTMlY1TzF4dWRtRnlJR2x1ZEdWeWJtRnNSWFpsYm5SSVlXNWtiR1Z5YzB0bGVTQTlJQ2RmWDNKbFlXTjBSWFpsYm5SSVlXNWtiR1Z5Y3lRbklDc2djbUZ1Wkc5dFMyVjVPMXh1ZG1GeUlHbHVkR1Z5Ym1Gc1EyOXVkR0ZwYm1WeVNXNXpkR0Z1WTJWTFpYa2dQU0FuWDE5eVpXRmpkRU52Ym5SaGFXNWxjbVVrSnlBcklISmhibVJ2YlV0bGVUdGNibVoxYm1OMGFXOXVJSEJ5WldOaFkyaGxSbWxpWlhKT2IyUmxLR2h2YzNSSmJuTjBMQ0J1YjJSbEtTQjdYRzRnSUc1dlpHVmJhVzUwWlhKdVlXeEpibk4wWVc1alpVdGxlVjBnUFNCb2IzTjBTVzV6ZER0Y2JuMWNibVoxYm1OMGFXOXVJRzFoY210RGIyNTBZV2x1WlhKQmMxSnZiM1FvYUc5emRGSnZiM1FzSUc1dlpHVXBJSHRjYmlBZ2JtOWtaVnRwYm5SbGNtNWhiRU52Ym5SaGFXNWxja2x1YzNSaGJtTmxTMlY1WFNBOUlHaHZjM1JTYjI5ME8xeHVmVnh1Wm5WdVkzUnBiMjRnZFc1dFlYSnJRMjl1ZEdGcGJtVnlRWE5TYjI5MEtHNXZaR1VwSUh0Y2JpQWdibTlrWlZ0cGJuUmxjbTVoYkVOdmJuUmhhVzVsY2tsdWMzUmhibU5sUzJWNVhTQTlJRzUxYkd3N1hHNTlYRzVtZFc1amRHbHZiaUJwYzBOdmJuUmhhVzVsY2sxaGNtdGxaRUZ6VW05dmRDaHViMlJsS1NCN1hHNGdJSEpsZEhWeWJpQWhJVzV2WkdWYmFXNTBaWEp1WVd4RGIyNTBZV2x1WlhKSmJuTjBZVzVqWlV0bGVWMDdYRzU5SUM4dklFZHBkbVZ1SUdFZ1JFOU5JRzV2WkdVc0lISmxkSFZ5YmlCMGFHVWdZMnh2YzJWemRDQkliM04wUTI5dGNHOXVaVzUwSUc5eUlFaHZjM1JVWlhoMElHWnBZbVZ5SUdGdVkyVnpkRzl5TGx4dUx5OGdTV1lnZEdobElIUmhjbWRsZENCdWIyUmxJR2x6SUhCaGNuUWdiMllnWVNCb2VXUnlZWFJsWkNCdmNpQnViM1FnZVdWMElISmxibVJsY21Wa0lITjFZblJ5WldVc0lIUm9aVzVjYmk4dklIUm9hWE1nYldGNUlHRnNjMjhnY21WMGRYSnVJR0VnVTNWemNHVnVjMlZEYjIxd2IyNWxiblFnYjNJZ1NHOXpkRkp2YjNRZ2RHOGdhVzVrYVdOaGRHVWdkR2hoZEM1Y2JpOHZJRU52Ym1ObGNIUjFZV3hzZVNCMGFHVWdTRzl6ZEZKdmIzUWdabWxpWlhJZ2FYTWdZU0JqYUdsc1pDQnZaaUIwYUdVZ1EyOXVkR0ZwYm1WeUlHNXZaR1V1SUZOdklHbG1JSGx2ZFZ4dUx5OGdjR0Z6Y3lCMGFHVWdRMjl1ZEdGcGJtVnlJRzV2WkdVZ1lYTWdkR2hsSUhSaGNtZGxkRTV2WkdVc0lIbHZkU0IzYVd4c0lHNXZkQ0JoWTNSMVlXeHNlU0JuWlhRZ2RHaGxYRzR2THlCSWIzTjBVbTl2ZENCaVlXTnJMaUJVYnlCblpYUWdkRzhnZEdobElFaHZjM1JTYjI5MExDQjViM1VnYm1WbFpDQjBieUJ3WVhOeklHRWdZMmhwYkdRZ2IyWWdhWFF1WEc0dkx5QlVhR1VnYzJGdFpTQjBhR2x1WnlCaGNIQnNhV1Z6SUhSdklGTjFjM0JsYm5ObElHSnZkVzVrWVhKcFpYTXVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTnNiM05sYzNSSmJuTjBZVzVqWlVaeWIyMU9iMlJsS0hSaGNtZGxkRTV2WkdVcElIdGNiaUFnZG1GeUlIUmhjbWRsZEVsdWMzUWdQU0IwWVhKblpYUk9iMlJsVzJsdWRHVnlibUZzU1c1emRHRnVZMlZMWlhsZE8xeHVYRzRnSUdsbUlDaDBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lDQWdMeThnUkc5dUozUWdjbVYwZFhKdUlFaHZjM1JTYjI5MElHOXlJRk4xYzNCbGJuTmxRMjl0Y0c5dVpXNTBJR2hsY21VdVhHNGdJQ0FnY21WMGRYSnVJSFJoY21kbGRFbHVjM1E3WEc0Z0lIMGdMeThnU1dZZ2RHaGxJR1JwY21WamRDQmxkbVZ1ZENCMFlYSm5aWFFnYVhOdUozUWdZU0JTWldGamRDQnZkMjVsWkNCRVQwMGdibTlrWlN3Z2QyVWdibVZsWkNCMGJ5QnNiMjlyWEc0Z0lDOHZJSFJ2SUhObFpTQnBaaUJ2Ym1VZ2IyWWdhWFJ6SUhCaGNtVnVkSE1nYVhNZ1lTQlNaV0ZqZENCdmQyNWxaQ0JFVDAwZ2JtOWtaUzVjYmx4dVhHNGdJSFpoY2lCd1lYSmxiblJPYjJSbElEMGdkR0Z5WjJWMFRtOWtaUzV3WVhKbGJuUk9iMlJsTzF4dVhHNGdJSGRvYVd4bElDaHdZWEpsYm5ST2IyUmxLU0I3WEc0Z0lDQWdMeThnVjJVbmJHd2dZMmhsWTJzZ2FXWWdkR2hwY3lCcGN5QmhJR052Ym5SaGFXNWxjaUJ5YjI5MElIUm9ZWFFnWTI5MWJHUWdhVzVqYkhWa1pWeHVJQ0FnSUM4dklGSmxZV04wSUc1dlpHVnpJR2x1SUhSb1pTQm1kWFIxY21VdUlGZGxJRzVsWldRZ2RHOGdZMmhsWTJzZ2RHaHBjeUJtYVhKemRDQmlaV05oZFhObFhHNGdJQ0FnTHk4Z2FXWWdkMlVuY21VZ1lTQmphR2xzWkNCdlppQmhJR1JsYUhsa2NtRjBaV1FnWTI5dWRHRnBibVZ5TENCM1pTQnVaV1ZrSUhSdklHWnBjbk4wWEc0Z0lDQWdMeThnWm1sdVpDQjBhR0YwSUdsdWJtVnlJR052Ym5SaGFXNWxjaUJpWldadmNtVWdiVzkyYVc1bklHOXVJSFJ2SUdacGJtUnBibWNnZEdobElIQmhjbVZ1ZEZ4dUlDQWdJQzh2SUdsdWMzUmhibU5sTGlCT2IzUmxJSFJvWVhRZ2QyVWdaRzl1SjNRZ1kyaGxZMnNnZEdocGN5Qm1hV1ZzWkNCdmJpQWdkR2hsSUhSaGNtZGxkRTV2WkdWY2JpQWdJQ0F2THlCcGRITmxiR1lnWW1WallYVnpaU0IwYUdVZ1ptbGlaWEp6SUdGeVpTQmpiMjVqWlhCMGRXRnNiSGtnWW1WMGQyVmxiaUIwYUdVZ1kyOXVkR0ZwYm1WeVhHNGdJQ0FnTHk4Z2JtOWtaU0JoYm1RZ2RHaGxJR1pwY25OMElHTm9hV3hrTGlCSmRDQnBjMjRuZENCemRYSnliM1Z1WkdsdVp5QjBhR1VnWTI5dWRHRnBibVZ5SUc1dlpHVXVYRzRnSUNBZ0x5OGdTV1lnYVhRbmN5QnViM1FnWVNCamIyNTBZV2x1WlhJc0lIZGxJR05vWldOcklHbG1JR2wwSjNNZ1lXNGdhVzV6ZEdGdVkyVXVYRzRnSUNBZ2RHRnlaMlYwU1c1emRDQTlJSEJoY21WdWRFNXZaR1ZiYVc1MFpYSnVZV3hEYjI1MFlXbHVaWEpKYm5OMFlXNWpaVXRsZVYwZ2ZId2djR0Z5Wlc1MFRtOWtaVnRwYm5SbGNtNWhiRWx1YzNSaGJtTmxTMlY1WFR0Y2JseHVJQ0FnSUdsbUlDaDBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lDQWdJQ0F2THlCVGFXNWpaU0IwYUdseklIZGhjMjRuZENCMGFHVWdaR2x5WldOMElIUmhjbWRsZENCdlppQjBhR1VnWlhabGJuUXNJSGRsSUcxcFoyaDBJR2hoZG1WY2JpQWdJQ0FnSUM4dklITjBaWEJ3WldRZ2NHRnpkQ0JrWldoNVpISmhkR1ZrSUVSUFRTQnViMlJsY3lCMGJ5Qm5aWFFnYUdWeVpTNGdTRzkzWlhabGNpQjBhR1Y1SUdOdmRXeGtYRzRnSUNBZ0lDQXZMeUJoYkhOdklHaGhkbVVnWW1WbGJpQnViMjR0VW1WaFkzUWdibTlrWlhNdUlGZGxJRzVsWldRZ2RHOGdZVzV6ZDJWeUlIZG9hV05vSUc5dVpTNWNiaUFnSUNBZ0lDOHZJRWxtSUhkbElIUm9aU0JwYm5OMFlXNWpaU0JrYjJWemJpZDBJR2hoZG1VZ1lXNTVJR05vYVd4a2NtVnVMQ0IwYUdWdUlIUm9aWEpsSUdOaGJpZDBJR0psWEc0Z0lDQWdJQ0F2THlCaElHNWxjM1JsWkNCemRYTndaVzV6WlNCaWIzVnVaR0Z5ZVNCM2FYUm9hVzRnYVhRdUlGTnZJSGRsSUdOaGJpQjFjMlVnZEdocGN5QmhjeUJoSUdaaGMzUmNiaUFnSUNBZ0lDOHZJR0poYVd4dmRYUXVJRTF2YzNRZ2IyWWdkR2hsSUhScGJXVXNJSGRvWlc0Z2NHVnZjR3hsSUdGa1pDQnViMjR0VW1WaFkzUWdZMmhwYkdSeVpXNGdkRzljYmlBZ0lDQWdJQzh2SUhSb1pTQjBjbVZsTENCcGRDQnBjeUIxYzJsdVp5QmhJSEpsWmlCMGJ5QmhJR05vYVd4a0xXeGxjM01nUkU5TklHNXZaR1V1WEc0Z0lDQWdJQ0F2THlCT2IzSnRZV3hzZVNCM1pTZGtJRzl1YkhrZ2JtVmxaQ0IwYnlCamFHVmpheUJ2Ym1VZ2IyWWdkR2hsSUdacFltVnljeUJpWldOaGRYTmxJR2xtSUdsMFhHNGdJQ0FnSUNBdkx5Qm9ZWE1nWlhabGNpQm5iMjVsSUdaeWIyMGdhR0YyYVc1bklHTm9hV3hrY21WdUlIUnZJR1JsYkdWMGFXNW5JSFJvWlcwZ2IzSWdkbWxqWlNCMlpYSnpZVnh1SUNBZ0lDQWdMeThnYVhRZ2QyOTFiR1FnYUdGMlpTQmtaV3hsZEdWa0lIUm9aU0JrWldoNVpISmhkR1ZrSUdKdmRXNWtZWEo1SUc1bGMzUmxaQ0JwYm5OcFpHVWdZV3h5WldGa2VTNWNiaUFnSUNBZ0lDOHZJRWh2ZDJWMlpYSXNJSE5wYm1ObElIUm9aU0JJYjNOMFVtOXZkQ0J6ZEdGeWRITWdiM1YwSUhkcGRHZ2dZVzRnWVd4MFpYSnVZWFJsSUdsMElHMXBaMmgwWEc0Z0lDQWdJQ0F2THlCb1lYWmxJRzl1WlNCdmJpQjBhR1VnWVd4MFpYSnVZWFJsSUhOdklIZGxJRzVsWldRZ2RHOGdZMmhsWTJzZ2FXNGdZMkZ6WlNCMGFHbHpJSGRoY3lCaFhHNGdJQ0FnSUNBdkx5QnliMjkwTGx4dUlDQWdJQ0FnZG1GeUlHRnNkR1Z5Ym1GMFpTQTlJSFJoY21kbGRFbHVjM1F1WVd4MFpYSnVZWFJsTzF4dVhHNGdJQ0FnSUNCcFppQW9kR0Z5WjJWMFNXNXpkQzVqYUdsc1pDQWhQVDBnYm5Wc2JDQjhmQ0JoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3dnSmlZZ1lXeDBaWEp1WVhSbExtTm9hV3hrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRTVsZUhRZ2QyVWdibVZsWkNCMGJ5Qm1hV2QxY21VZ2IzVjBJR2xtSUhSb1pTQnViMlJsSUhSb1lYUWdjMnRwY0hCbFpDQndZWE4wSUdselhHNGdJQ0FnSUNBZ0lDOHZJRzVsYzNSbFpDQjNhWFJvYVc0Z1lTQmtaV2g1WkhKaGRHVmtJR0p2ZFc1a1lYSjVJR0Z1WkNCcFppQnpieXdnZDJocFkyZ2diMjVsTGx4dUlDQWdJQ0FnSUNCMllYSWdjM1Z6Y0dWdWMyVkpibk4wWVc1alpTQTlJR2RsZEZCaGNtVnVkRk4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9kR0Z5WjJWMFRtOWtaU2s3WEc1Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0hOMWMzQmxibk5sU1c1emRHRnVZMlVnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCbWIzVnVaQ0JoSUhOMWMzQmxibk5sSUdsdWMzUmhibU5sTGlCVWFHRjBJRzFsWVc1eklIUm9ZWFFnZDJVZ2FHRjJaVzRuZEZ4dUlDQWdJQ0FnSUNBZ0lDOHZJR2g1WkhKaGRHVmtJR2wwSUhsbGRDNGdSWFpsYmlCMGFHOTFaMmdnZDJVZ2JHVmhkbVVnZEdobElHTnZiVzFsYm5SeklHbHVJSFJvWlZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRVJQVFNCaFpuUmxjaUJvZVdSeVlYUnBibWNzSUdGdVpDQjBhR1Z5WlNCaGNtVWdZbTkxYm1SaGNtbGxjeUJwYmlCMGFHVWdSRTlOWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdkR2hoZENCamIzVnNaQ0JoYkhKbFlXUjVJR0psSUdoNVpISmhkR1ZrTENCM1pTQjNiM1ZzWkc0bmRDQm9ZWFpsSUdadmRXNWtJSFJvWlcxY2JpQWdJQ0FnSUNBZ0lDQXZMeUIwYUhKdmRXZG9JSFJvYVhNZ2NHRnpjeUJ6YVc1alpTQnBaaUIwYUdVZ2RHRnlaMlYwSUdseklHaDVaSEpoZEdWa0lHbDBJSGR2ZFd4a1hHNGdJQ0FnSUNBZ0lDQWdMeThnYUdGMlpTQm9ZV1FnWVc0Z2FXNTBaWEp1WVd4SmJuTjBZVzVqWlV0bGVTQnZiaUJwZEM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJNWlhRbmN5Qm5aWFFnZEdobElHWnBZbVZ5SUdGemMyOWphV0YwWldRZ2QybDBhQ0IwYUdVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5SY2JpQWdJQ0FnSUNBZ0lDQXZMeUJoY3lCMGFHVWdaR1ZsY0dWemRDQnBibk4wWVc1alpTNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2RHRnlaMlYwVTNWemNHVnVjMlZKYm5OMElEMGdjM1Z6Y0dWdWMyVkpibk4wWVc1alpWdHBiblJsY201aGJFbHVjM1JoYm1ObFMyVjVYVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwWVhKblpYUlRkWE53Wlc1elpVbHVjM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBZWEpuWlhSVGRYTndaVzV6WlVsdWMzUTdYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5QkpaaUIzWlNCa2IyNG5kQ0JtYVc1a0lHRWdSbWxpWlhJZ2IyNGdkR2hsSUdOdmJXMWxiblFzSUdsMElHMXBaMmgwSUdKbElHSmxZMkYxYzJWY2JpQWdJQ0FnSUNBZ0lDQXZMeUIzWlNCb1lYWmxiaWQwSUdkdmRIUmxiaUIwYnlCb2VXUnlZWFJsSUdsMElIbGxkQzRnVkdobGNtVWdiV2xuYUhRZ2MzUnBiR3dnWW1VZ1lWeHVJQ0FnSUNBZ0lDQWdJQzh2SUhCaGNtVnVkQ0JpYjNWdVpHRnllU0IwYUdGMElHaGhjMjRuZENCaFltOTJaU0IwYUdseklHOXVaU0J6YnlCM1pTQnVaV1ZrSUhSdklHWnBibVJjYmlBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnYjNWMFpYSWdiVzl6ZENCMGFHRjBJR2x6SUd0dWIzZHVMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnpkWE53Wlc1elpVbHVjM1JoYm1ObElEMGdaMlYwVUdGeVpXNTBVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHpkWE53Wlc1elpVbHVjM1JoYm1ObEtUc2dMeThnU1dZZ2QyVWdaRzl1SjNRZ1ptbHVaQ0J2Ym1Vc0lIUm9aVzRnZEdoaGRDQnphRzkxYkdRZ2JXVmhiaUIwYUdGMElIUm9aU0J3WVhKbGJuUmNiaUFnSUNBZ0lDQWdJQ0F2THlCb2IzTjBJR052YlhCdmJtVnVkQ0JoYkhOdklHaGhjMjRuZENCb2VXUnlZWFJsWkNCNVpYUXVJRmRsSUdOaGJpQnlaWFIxY200Z2FYUmNiaUFnSUNBZ0lDQWdJQ0F2THlCaVpXeHZkeUJ6YVc1alpTQnBkQ0IzYVd4c0lHSmhhV3dnYjNWMElHOXVJSFJvWlNCcGMwMXZkVzUwWldRZ1kyaGxZMnNnYkdGMFpYSXVYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR0Z5WjJWMFRtOWtaU0E5SUhCaGNtVnVkRTV2WkdVN1hHNGdJQ0FnY0dGeVpXNTBUbTlrWlNBOUlIUmhjbWRsZEU1dlpHVXVjR0Z5Wlc1MFRtOWtaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1THlvcVhHNGdLaUJIYVhabGJpQmhJRVJQVFNCdWIyUmxMQ0J5WlhSMWNtNGdkR2hsSUZKbFlXTjBSRTlOUTI5dGNHOXVaVzUwSUc5eUlGSmxZV04wUkU5TlZHVjRkRU52YlhCdmJtVnVkRnh1SUNvZ2FXNXpkR0Z1WTJVc0lHOXlJRzUxYkd3Z2FXWWdkR2hsSUc1dlpHVWdkMkZ6SUc1dmRDQnlaVzVrWlhKbFpDQmllU0IwYUdseklGSmxZV04wTGx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdkbGRFbHVjM1JoYm1ObFJuSnZiVTV2WkdVa01TaHViMlJsS1NCN1hHNGdJSFpoY2lCcGJuTjBJRDBnYm05a1pWdHBiblJsY201aGJFbHVjM1JoYm1ObFMyVjVYU0I4ZkNCdWIyUmxXMmx1ZEdWeWJtRnNRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVkxaWGxkTzF4dVhHNGdJR2xtSUNocGJuTjBLU0I3WEc0Z0lDQWdhV1lnS0dsdWMzUXVkR0ZuSUQwOVBTQkliM04wUTI5dGNHOXVaVzUwSUh4OElHbHVjM1F1ZEdGbklEMDlQU0JJYjNOMFZHVjRkQ0I4ZkNCcGJuTjBMblJoWnlBOVBUMGdVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUWdmSHdnYVc1emRDNTBZV2NnUFQwOUlFaHZjM1JTYjI5MEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2FXNXpkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OVhHNHZLaXBjYmlBcUlFZHBkbVZ1SUdFZ1VtVmhZM1JFVDAxRGIyMXdiMjVsYm5RZ2IzSWdVbVZoWTNSRVQwMVVaWGgwUTI5dGNHOXVaVzUwTENCeVpYUjFjbTRnZEdobElHTnZjbkpsYzNCdmJtUnBibWRjYmlBcUlFUlBUU0J1YjJSbExseHVJQ292WEc1Y2JtWjFibU4wYVc5dUlHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWtNU2hwYm5OMEtTQjdYRzRnSUdsbUlDaHBibk4wTG5SaFp5QTlQVDBnU0c5emRFTnZiWEJ2Ym1WdWRDQjhmQ0JwYm5OMExuUmhaeUE5UFQwZ1NHOXpkRlJsZUhRcElIdGNiaUFnSUNBdkx5QkpiaUJHYVdKbGNpQjBhR2x6TENCcGN5QnFkWE4wSUhSb1pTQnpkR0YwWlNCdWIyUmxJSEpwWjJoMElHNXZkeTRnVjJVZ1lYTnpkVzFsSUdsMElIZHBiR3dnWW1WY2JpQWdJQ0F2THlCaElHaHZjM1FnWTI5dGNHOXVaVzUwSUc5eUlHaHZjM1FnZEdWNGRDNWNiaUFnSUNCeVpYUjFjbTRnYVc1emRDNXpkR0YwWlU1dlpHVTdYRzRnSUgwZ0x5OGdWMmwwYUc5MWRDQjBhR2x6SUdacGNuTjBJR2x1ZG1GeWFXRnVkQ3dnY0dGemMybHVaeUJoSUc1dmJpMUVUMDB0WTI5dGNHOXVaVzUwSUhSeWFXZG5aWEp6SUhSb1pTQnVaWGgwWEc0Z0lDOHZJR2x1ZG1GeWFXRnVkQ0JtYjNJZ1lTQnRhWE56YVc1bklIQmhjbVZ1ZEN3Z2QyaHBZMmdnYVhNZ2MzVndaWElnWTI5dVpuVnphVzVuTGx4dVhHNWNiaUFnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0ltZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVTZJRWx1ZG1Gc2FXUWdZWEpuZFcxbGJuUXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdkbGRFWnBZbVZ5UTNWeWNtVnVkRkJ5YjNCelJuSnZiVTV2WkdVa01TaHViMlJsS1NCN1hHNGdJSEpsZEhWeWJpQnViMlJsVzJsdWRHVnlibUZzUlhabGJuUklZVzVrYkdWeWMwdGxlVjBnZkh3Z2JuVnNiRHRjYm4xY2JtWjFibU4wYVc5dUlIVndaR0YwWlVacFltVnlVSEp2Y0hNb2JtOWtaU3dnY0hKdmNITXBJSHRjYmlBZ2JtOWtaVnRwYm5SbGNtNWhiRVYyWlc1MFNHRnVaR3hsY25OTFpYbGRJRDBnY0hKdmNITTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRkJoY21WdWRDaHBibk4wS1NCN1hHNGdJR1J2SUh0Y2JpQWdJQ0JwYm5OMElEMGdhVzV6ZEM1eVpYUjFjbTQ3SUM4dklGUlBSRTg2SUVsbUlIUm9hWE1nYVhNZ1lTQkliM04wVW05dmRDQjNaU0J0YVdkb2RDQjNZVzUwSUhSdklHSmhhV3dnYjNWMExseHVJQ0FnSUM4dklGUm9ZWFFnYVhNZ1pHVndaVzVrYVc1bklHOXVJR2xtSUhkbElIZGhiblFnYm1WemRHVmtJSE4xWW5SeVpXVnpJQ2hzWVhsbGNuTXBJSFJ2SUdKMVltSnNaVnh1SUNBZ0lDOHZJR1YyWlc1MGN5QjBieUIwYUdWcGNpQndZWEpsYm5RdUlGZGxJR052ZFd4a0lHRnNjMjhnWjI4Z2RHaHliM1ZuYUNCd1lYSmxiblJPYjJSbElHOXVJSFJvWlZ4dUlDQWdJQzh2SUdodmMzUWdibTlrWlNCaWRYUWdkR2hoZENCM2IzVnNaRzRuZENCM2IzSnJJR1p2Y2lCU1pXRmpkQ0JPWVhScGRtVWdZVzVrSUdSdlpYTnVKM1FnYkdWMElIVnpYRzRnSUNBZ0x5OGdaRzhnZEdobElIQnZjblJoYkNCbVpXRjBkWEpsTGx4dUlDQjlJSGRvYVd4bElDaHBibk4wSUNZbUlHbHVjM1F1ZEdGbklDRTlQU0JJYjNOMFEyOXRjRzl1Wlc1MEtUdGNibHh1SUNCcFppQW9hVzV6ZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUJwYm5OME8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OVhHNHZLaXBjYmlBcUlGSmxkSFZ5YmlCMGFHVWdiRzkzWlhOMElHTnZiVzF2YmlCaGJtTmxjM1J2Y2lCdlppQkJJR0Z1WkNCQ0xDQnZjaUJ1ZFd4c0lHbG1JSFJvWlhrZ1lYSmxJR2x1WEc0Z0tpQmthV1ptWlhKbGJuUWdkSEpsWlhNdVhHNGdLaTljYmx4dVhHNW1kVzVqZEdsdmJpQm5aWFJNYjNkbGMzUkRiMjF0YjI1QmJtTmxjM1J2Y2locGJuTjBRU3dnYVc1emRFSXBJSHRjYmlBZ2RtRnlJR1JsY0hSb1FTQTlJREE3WEc1Y2JpQWdabTl5SUNoMllYSWdkR1Z0Y0VFZ1BTQnBibk4wUVRzZ2RHVnRjRUU3SUhSbGJYQkJJRDBnWjJWMFVHRnlaVzUwS0hSbGJYQkJLU2tnZTF4dUlDQWdJR1JsY0hSb1FTc3JPMXh1SUNCOVhHNWNiaUFnZG1GeUlHUmxjSFJvUWlBOUlEQTdYRzVjYmlBZ1ptOXlJQ2gyWVhJZ2RHVnRjRUlnUFNCcGJuTjBRanNnZEdWdGNFSTdJSFJsYlhCQ0lEMGdaMlYwVUdGeVpXNTBLSFJsYlhCQ0tTa2dlMXh1SUNBZ0lHUmxjSFJvUWlzck8xeHVJQ0I5SUM4dklFbG1JRUVnYVhNZ1pHVmxjR1Z5TENCamNtRjNiQ0IxY0M1Y2JseHVYRzRnSUhkb2FXeGxJQ2hrWlhCMGFFRWdMU0JrWlhCMGFFSWdQaUF3S1NCN1hHNGdJQ0FnYVc1emRFRWdQU0JuWlhSUVlYSmxiblFvYVc1emRFRXBPMXh1SUNBZ0lHUmxjSFJvUVMwdE8xeHVJQ0I5SUM4dklFbG1JRUlnYVhNZ1pHVmxjR1Z5TENCamNtRjNiQ0IxY0M1Y2JseHVYRzRnSUhkb2FXeGxJQ2hrWlhCMGFFSWdMU0JrWlhCMGFFRWdQaUF3S1NCN1hHNGdJQ0FnYVc1emRFSWdQU0JuWlhSUVlYSmxiblFvYVc1emRFSXBPMXh1SUNBZ0lHUmxjSFJvUWkwdE8xeHVJQ0I5SUM4dklGZGhiR3NnYVc0Z2JHOWphM04wWlhBZ2RXNTBhV3dnZDJVZ1ptbHVaQ0JoSUcxaGRHTm9MbHh1WEc1Y2JpQWdkbUZ5SUdSbGNIUm9JRDBnWkdWd2RHaEJPMXh1WEc0Z0lIZG9hV3hsSUNoa1pYQjBhQzB0S1NCN1hHNGdJQ0FnYVdZZ0tHbHVjM1JCSUQwOVBTQnBibk4wUWlCOGZDQnBibk4wUVNBOVBUMGdhVzV6ZEVJdVlXeDBaWEp1WVhSbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2FXNXpkRUU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhVzV6ZEVFZ1BTQm5aWFJRWVhKbGJuUW9hVzV6ZEVFcE8xeHVJQ0FnSUdsdWMzUkNJRDBnWjJWMFVHRnlaVzUwS0dsdWMzUkNLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1THlvcVhHNGdLaUJUYVcxMWJHRjBaWE1nZEdobElIUnlZWFpsY25OaGJDQnZaaUJoSUhSM2J5MXdhR0Z6WlN3Z1kyRndkSFZ5WlM5aWRXSmliR1VnWlhabGJuUWdaR2x6Y0dGMFkyZ3VYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdkSEpoZG1WeWMyVlVkMjlRYUdGelpTaHBibk4wTENCbWJpd2dZWEpuS1NCN1hHNGdJSFpoY2lCd1lYUm9JRDBnVzEwN1hHNWNiaUFnZDJocGJHVWdLR2x1YzNRcElIdGNiaUFnSUNCd1lYUm9MbkIxYzJnb2FXNXpkQ2s3WEc0Z0lDQWdhVzV6ZENBOUlHZGxkRkJoY21WdWRDaHBibk4wS1R0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJwTzF4dVhHNGdJR1p2Y2lBb2FTQTlJSEJoZEdndWJHVnVaM1JvT3lCcExTMGdQaUF3T3lrZ2UxeHVJQ0FnSUdadUtIQmhkR2hiYVYwc0lDZGpZWEIwZFhKbFpDY3NJR0Z5WnlrN1hHNGdJSDFjYmx4dUlDQm1iM0lnS0drZ1BTQXdPeUJwSUR3Z2NHRjBhQzVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdadUtIQmhkR2hiYVYwc0lDZGlkV0ppYkdWa0p5d2dZWEpuS1R0Y2JpQWdmVnh1ZlZ4dUx5b3FYRzRnS2lCVWNtRjJaWEp6WlhNZ2RHaGxJRWxFSUdocFpYSmhjbU5vZVNCaGJtUWdhVzUyYjJ0bGN5QjBhR1VnYzNWd2NHeHBaV1FnWUdOaVlDQnZiaUJoYm5rZ1NVUnpJSFJvWVhSY2JpQXFJSE5vYjNWc1pDQjNiM1ZzWkNCeVpXTmxhWFpsSUdFZ1lHMXZkWE5sUlc1MFpYSmdJRzl5SUdCdGIzVnpaVXhsWVhabFlDQmxkbVZ1ZEM1Y2JpQXFYRzRnS2lCRWIyVnpJRzV2ZENCcGJuWnZhMlVnZEdobElHTmhiR3hpWVdOcklHOXVJSFJvWlNCdVpXRnlaWE4wSUdOdmJXMXZiaUJoYm1ObGMzUnZjaUJpWldOaGRYTmxJRzV2ZEdocGJtZGNiaUFxSUZ3aVpXNTBaWEpsWkZ3aUlHOXlJRndpYkdWbWRGd2lJSFJvWVhRZ1pXeGxiV1Z1ZEM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCMGNtRjJaWEp6WlVWdWRHVnlUR1ZoZG1Vb1puSnZiU3dnZEc4c0lHWnVMQ0JoY21kR2NtOXRMQ0JoY21kVWJ5a2dlMXh1SUNCMllYSWdZMjl0Ylc5dUlEMGdabkp2YlNBbUppQjBieUEvSUdkbGRFeHZkMlZ6ZEVOdmJXMXZia0Z1WTJWemRHOXlLR1p5YjIwc0lIUnZLU0E2SUc1MWJHdzdYRzRnSUhaaGNpQndZWFJvUm5KdmJTQTlJRnRkTzF4dVhHNGdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnYVdZZ0tDRm1jbTl0S1NCN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWm5KdmJTQTlQVDBnWTI5dGJXOXVLU0I3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZV3gwWlhKdVlYUmxJRDBnWm5KdmJTNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQnBaaUFvWVd4MFpYSnVZWFJsSUNFOVBTQnVkV3hzSUNZbUlHRnNkR1Z5Ym1GMFpTQTlQVDBnWTI5dGJXOXVLU0I3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCd1lYUm9Sbkp2YlM1d2RYTm9LR1p5YjIwcE8xeHVJQ0FnSUdaeWIyMGdQU0JuWlhSUVlYSmxiblFvWm5KdmJTazdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NHRjBhRlJ2SUQwZ1cxMDdYRzVjYmlBZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQnBaaUFvSVhSdktTQjdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RHOGdQVDA5SUdOdmJXMXZiaWtnZTF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJRjloYkhSbGNtNWhkR1VnUFNCMGJ5NWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQnBaaUFvWDJGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmZZV3gwWlhKdVlYUmxJRDA5UFNCamIyMXRiMjRwSUh0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIQmhkR2hVYnk1d2RYTm9LSFJ2S1R0Y2JpQWdJQ0IwYnlBOUlHZGxkRkJoY21WdWRDaDBieWs3WEc0Z0lIMWNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElIQmhkR2hHY205dExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdabTRvY0dGMGFFWnliMjFiYVYwc0lDZGlkV0ppYkdWa0p5d2dZWEpuUm5KdmJTazdYRzRnSUgxY2JseHVJQ0JtYjNJZ0tIWmhjaUJmYVNBOUlIQmhkR2hVYnk1c1pXNW5kR2c3SUY5cExTMGdQaUF3T3lrZ2UxeHVJQ0FnSUdadUtIQmhkR2hVYjF0ZmFWMHNJQ2RqWVhCMGRYSmxaQ2NzSUdGeVoxUnZLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMwbHVkR1Z5WVdOMGFYWmxLSFJoWnlrZ2UxeHVJQ0J5WlhSMWNtNGdkR0ZuSUQwOVBTQW5ZblYwZEc5dUp5QjhmQ0IwWVdjZ1BUMDlJQ2RwYm5CMWRDY2dmSHdnZEdGbklEMDlQU0FuYzJWc1pXTjBKeUI4ZkNCMFlXY2dQVDA5SUNkMFpYaDBZWEpsWVNjN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhOb2IzVnNaRkJ5WlhabGJuUk5iM1Z6WlVWMlpXNTBLRzVoYldVc0lIUjVjR1VzSUhCeWIzQnpLU0I3WEc0Z0lITjNhWFJqYUNBb2JtRnRaU2tnZTF4dUlDQWdJR05oYzJVZ0oyOXVRMnhwWTJzbk9seHVJQ0FnSUdOaGMyVWdKMjl1UTJ4cFkydERZWEIwZFhKbEp6cGNiaUFnSUNCallYTmxJQ2R2YmtSdmRXSnNaVU5zYVdOckp6cGNiaUFnSUNCallYTmxJQ2R2YmtSdmRXSnNaVU5zYVdOclEyRndkSFZ5WlNjNlhHNGdJQ0FnWTJGelpTQW5iMjVOYjNWelpVUnZkMjRuT2x4dUlDQWdJR05oYzJVZ0oyOXVUVzkxYzJWRWIzZHVRMkZ3ZEhWeVpTYzZYRzRnSUNBZ1kyRnpaU0FuYjI1TmIzVnpaVTF2ZG1Vbk9seHVJQ0FnSUdOaGMyVWdKMjl1VFc5MWMyVk5iM1psUTJGd2RIVnlaU2M2WEc0Z0lDQWdZMkZ6WlNBbmIyNU5iM1Z6WlZWd0p6cGNiaUFnSUNCallYTmxJQ2R2YmsxdmRYTmxWWEJEWVhCMGRYSmxKenBjYmlBZ0lDQmpZWE5sSUNkdmJrMXZkWE5sUlc1MFpYSW5PbHh1SUNBZ0lDQWdjbVYwZFhKdUlDRWhLSEJ5YjNCekxtUnBjMkZpYkdWa0lDWW1JR2x6U1c1MFpYSmhZM1JwZG1Vb2RIbHdaU2twTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dUx5b3FYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnYVc1emRDQlVhR1VnYVc1emRHRnVZMlVzSUhkb2FXTm9JR2x6SUhSb1pTQnpiM1Z5WTJVZ2IyWWdaWFpsYm5SekxseHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSEpsWjJsemRISmhkR2x2Yms1aGJXVWdUbUZ0WlNCdlppQnNhWE4wWlc1bGNpQW9aUzVuTGlCZ2IyNURiR2xqYTJBcExseHVJQ29nUUhKbGRIVnliaUI3UDJaMWJtTjBhVzl1ZlNCVWFHVWdjM1J2Y21Wa0lHTmhiR3hpWVdOckxseHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdaMlYwVEdsemRHVnVaWElvYVc1emRDd2djbVZuYVhOMGNtRjBhVzl1VG1GdFpTa2dlMXh1SUNCMllYSWdiR2x6ZEdWdVpYSTdJQzh2SUZSUFJFODZJSE5vYjNWc1pGQnlaWFpsYm5STmIzVnpaVVYyWlc1MElHbHpJRVJQVFMxemNHVmphV1pwWXlCaGJtUWdaR1ZtYVc1cGRHVnNlU0J6YUc5MWJHUWdibTkwWEc0Z0lDOHZJR3hwZG1VZ2FHVnlaVHNnYm1WbFpITWdkRzhnWW1VZ2JXOTJaV1FnZEc4Z1lTQmlaWFIwWlhJZ2NHeGhZMlVnYzI5dmJseHVYRzRnSUhaaGNpQnpkR0YwWlU1dlpHVWdQU0JwYm5OMExuTjBZWFJsVG05a1pUdGNibHh1SUNCcFppQW9JWE4wWVhSbFRtOWtaU2tnZTF4dUlDQWdJQzh2SUZkdmNtc2dhVzRnY0hKdlozSmxjM01nS0dWNE9pQnZibXh2WVdRZ1pYWmxiblJ6SUdsdUlHbHVZM0psYldWdWRHRnNJRzF2WkdVcExseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhCeWIzQnpJRDBnWjJWMFJtbGlaWEpEZFhKeVpXNTBVSEp2Y0hOR2NtOXRUbTlrWlNoemRHRjBaVTV2WkdVcE8xeHVYRzRnSUdsbUlDZ2hjSEp2Y0hNcElIdGNiaUFnSUNBdkx5QlhiM0pySUdsdUlIQnliMmR5WlhOekxseHVJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1Y2JpQWdiR2x6ZEdWdVpYSWdQU0J3Y205d2MxdHlaV2RwYzNSeVlYUnBiMjVPWVcxbFhUdGNibHh1SUNCcFppQW9jMmh2ZFd4a1VISmxkbVZ1ZEUxdmRYTmxSWFpsYm5Rb2NtVm5hWE4wY21GMGFXOXVUbUZ0WlN3Z2FXNXpkQzUwZVhCbExDQndjbTl3Y3lrcElIdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2xtSUNnaEtDRnNhWE4wWlc1bGNpQjhmQ0IwZVhCbGIyWWdiR2x6ZEdWdVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpUlhod1pXTjBaV1FnWUZ3aUlDc2djbVZuYVhOMGNtRjBhVzl1VG1GdFpTQXJJRndpWUNCc2FYTjBaVzVsY2lCMGJ5QmlaU0JoSUdaMWJtTjBhVzl1TENCcGJuTjBaV0ZrSUdkdmRDQmhJSFpoYkhWbElHOW1JR0JjSWlBcklIUjVjR1Z2WmlCc2FYTjBaVzVsY2lBcklGd2lZQ0IwZVhCbExsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR3hwYzNSbGJtVnlPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGTnZiV1VnWlhabGJuUWdkSGx3WlhNZ2FHRjJaU0JoSUc1dmRHbHZiaUJ2WmlCa2FXWm1aWEpsYm5RZ2NtVm5hWE4wY21GMGFXOXVJRzVoYldWeklHWnZjaUJrYVdabVpYSmxiblJjYmlBcUlGd2ljR2hoYzJWelhDSWdiMllnY0hKdmNHRm5ZWFJwYjI0dUlGUm9hWE1nWm1sdVpITWdiR2x6ZEdWdVpYSnpJR0o1SUdFZ1oybDJaVzRnY0doaGMyVXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHeHBjM1JsYm1WeVFYUlFhR0Z6WlNocGJuTjBMQ0JsZG1WdWRDd2djSEp2Y0dGbllYUnBiMjVRYUdGelpTa2dlMXh1SUNCMllYSWdjbVZuYVhOMGNtRjBhVzl1VG1GdFpTQTlJR1YyWlc1MExtUnBjM0JoZEdOb1EyOXVabWxuTG5Cb1lYTmxaRkpsWjJsemRISmhkR2x2Yms1aGJXVnpXM0J5YjNCaFoyRjBhVzl1VUdoaGMyVmRPMXh1SUNCeVpYUjFjbTRnWjJWMFRHbHpkR1Z1WlhJb2FXNXpkQ3dnY21WbmFYTjBjbUYwYVc5dVRtRnRaU2s3WEc1OVhHNHZLaXBjYmlBcUlFRWdjMjFoYkd3Z2MyVjBJRzltSUhCeWIzQmhaMkYwYVc5dUlIQmhkSFJsY201ekxDQmxZV05vSUc5bUlIZG9hV05vSUhkcGJHd2dZV05qWlhCMElHRWdjMjFoYkd3Z1lXMXZkVzUwWEc0Z0tpQnZaaUJwYm1admNtMWhkR2x2Yml3Z1lXNWtJR2RsYm1WeVlYUmxJR0VnYzJWMElHOW1JRndpWkdsemNHRjBZMmdnY21WaFpIa2daWFpsYm5RZ2IySnFaV04wYzF3aUlDMGdkMmhwWTJoY2JpQXFJR0Z5WlNCelpYUnpJRzltSUdWMlpXNTBjeUIwYUdGMElHaGhkbVVnWVd4eVpXRmtlU0JpWldWdUlHRnVibTkwWVhSbFpDQjNhWFJvSUdFZ2MyVjBJRzltSUdScGMzQmhkR05vWldSY2JpQXFJR3hwYzNSbGJtVnlJR1oxYm1OMGFXOXVjeTlwWkhNdUlGUm9aU0JCVUVrZ2FYTWdaR1Z6YVdkdVpXUWdkR2hwY3lCM1lYa2dkRzhnWkdselkyOTFjbUZuWlNCMGFHVnpaVnh1SUNvZ2NISnZjR0ZuWVhScGIyNGdjM1J5WVhSbFoybGxjeUJtY205dElHRmpkSFZoYkd4NUlHVjRaV04xZEdsdVp5QjBhR1VnWkdsemNHRjBZMmhsY3l3Z2MybHVZMlVnZDJWY2JpQXFJR0ZzZDJGNWN5QjNZVzUwSUhSdklHTnZiR3hsWTNRZ2RHaGxJR1Z1ZEdseVpTQnpaWFFnYjJZZ1pHbHpjR0YwWTJobGN5QmlaV1p2Y21VZ1pYaGxZM1YwYVc1bklHVjJaVzRnWVZ4dUlDb2djMmx1WjJ4bElHOXVaUzVjYmlBcUwxeHVYRzR2S2lwY2JpQXFJRlJoWjNNZ1lTQmdVM2x1ZEdobGRHbGpSWFpsYm5SZ0lIZHBkR2dnWkdsemNHRjBZMmhsWkNCc2FYTjBaVzVsY25NdUlFTnlaV0YwYVc1bklIUm9hWE1nWm5WdVkzUnBiMjVjYmlBcUlHaGxjbVVzSUdGc2JHOTNjeUIxY3lCMGJ5QnViM1FnYUdGMlpTQjBieUJpYVc1a0lHOXlJR055WldGMFpTQm1kVzVqZEdsdmJuTWdabTl5SUdWaFkyZ2daWFpsYm5RdVhHNGdLaUJOZFhSaGRHbHVaeUIwYUdVZ1pYWmxiblFuY3lCdFpXMWlaWEp6SUdGc2JHOTNjeUIxY3lCMGJ5QnViM1FnYUdGMlpTQjBieUJqY21WaGRHVWdZU0IzY21Gd2NHbHVaMXh1SUNvZ1hDSmthWE53WVhSamFGd2lJRzlpYW1WamRDQjBhR0YwSUhCaGFYSnpJSFJvWlNCbGRtVnVkQ0IzYVhSb0lIUm9aU0JzYVhOMFpXNWxjaTVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdGalkzVnRkV3hoZEdWRWFYSmxZM1JwYjI1aGJFUnBjM0JoZEdOb1pYTW9hVzV6ZEN3Z2NHaGhjMlVzSUdWMlpXNTBLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9JV2x1YzNRcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkRWFYTndZWFJqYUdsdVp5QnBibk4wSUcxMWMzUWdibTkwSUdKbElHNTFiR3duS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdiR2x6ZEdWdVpYSWdQU0JzYVhOMFpXNWxja0YwVUdoaGMyVW9hVzV6ZEN3Z1pYWmxiblFzSUhCb1lYTmxLVHRjYmx4dUlDQnBaaUFvYkdsemRHVnVaWElwSUh0Y2JpQWdJQ0JsZG1WdWRDNWZaR2x6Y0dGMFkyaE1hWE4wWlc1bGNuTWdQU0JoWTJOMWJYVnNZWFJsU1c1MGJ5aGxkbVZ1ZEM1ZlpHbHpjR0YwWTJoTWFYTjBaVzVsY25Nc0lHeHBjM1JsYm1WeUtUdGNiaUFnSUNCbGRtVnVkQzVmWkdsemNHRjBZMmhKYm5OMFlXNWpaWE1nUFNCaFkyTjFiWFZzWVhSbFNXNTBieWhsZG1WdWRDNWZaR2x6Y0dGMFkyaEpibk4wWVc1alpYTXNJR2x1YzNRcE8xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFTnZiR3hsWTNRZ1pHbHpjR0YwWTJobGN5QW9iWFZ6ZENCaVpTQmxiblJwY21Wc2VTQmpiMnhzWldOMFpXUWdZbVZtYjNKbElHUnBjM0JoZEdOb2FXNW5JQzBnYzJWbElIVnVhWFJjYmlBcUlIUmxjM1J6S1M0Z1RHRjZhV3g1SUdGc2JHOWpZWFJsSUhSb1pTQmhjbkpoZVNCMGJ5QmpiMjV6WlhKMlpTQnRaVzF2Y25rdUlDQlhaU0J0ZFhOMElHeHZiM0FnZEdoeWIzVm5hRnh1SUNvZ1pXRmphQ0JsZG1WdWRDQmhibVFnY0dWeVptOXliU0IwYUdVZ2RISmhkbVZ5YzJGc0lHWnZjaUJsWVdOb0lHOXVaUzRnVjJVZ1kyRnVibTkwSUhCbGNtWnZjbTBnWVZ4dUlDb2djMmx1WjJ4bElIUnlZWFpsY25OaGJDQm1iM0lnZEdobElHVnVkR2x5WlNCamIyeHNaV04wYVc5dUlHOW1JR1YyWlc1MGN5QmlaV05oZFhObElHVmhZMmdnWlhabGJuUWdiV0Y1WEc0Z0tpQm9ZWFpsSUdFZ1pHbG1abVZ5Wlc1MElIUmhjbWRsZEM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlHRmpZM1Z0ZFd4aGRHVlVkMjlRYUdGelpVUnBjM0JoZEdOb1pYTlRhVzVuYkdVb1pYWmxiblFwSUh0Y2JpQWdhV1lnS0dWMlpXNTBJQ1ltSUdWMlpXNTBMbVJwYzNCaGRHTm9RMjl1Wm1sbkxuQm9ZWE5sWkZKbFoybHpkSEpoZEdsdmJrNWhiV1Z6S1NCN1hHNGdJQ0FnZEhKaGRtVnljMlZVZDI5UWFHRnpaU2hsZG1WdWRDNWZkR0Z5WjJWMFNXNXpkQ3dnWVdOamRXMTFiR0YwWlVScGNtVmpkR2x2Ym1Gc1JHbHpjR0YwWTJobGN5d2daWFpsYm5RcE8xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFRmpZM1Z0ZFd4aGRHVnpJSGRwZEdodmRYUWdjbVZuWVhKa0lIUnZJR1JwY21WamRHbHZiaXdnWkc5bGN5QnViM1FnYkc5dmF5Qm1iM0lnY0doaGMyVmtYRzRnS2lCeVpXZHBjM1J5WVhScGIyNGdibUZ0WlhNdUlGTmhiV1VnWVhNZ1lHRmpZM1Z0ZFd4aGRHVkVhWEpsWTNSRWFYTndZWFJqYUdWelUybHVaMnhsWUNCaWRYUWdkMmwwYUc5MWRGeHVJQ29nY21WeGRXbHlhVzVuSUhSb1lYUWdkR2hsSUdCa2FYTndZWFJqYUUxaGNtdGxjbUFnWW1VZ2RHaGxJSE5oYldVZ1lYTWdkR2hsSUdScGMzQmhkR05vWldRZ1NVUXVYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUJoWTJOMWJYVnNZWFJsUkdsemNHRjBZMmhsY3locGJuTjBMQ0JwWjI1dmNtVmtSR2x5WldOMGFXOXVMQ0JsZG1WdWRDa2dlMXh1SUNCcFppQW9hVzV6ZENBbUppQmxkbVZ1ZENBbUppQmxkbVZ1ZEM1a2FYTndZWFJqYUVOdmJtWnBaeTV5WldkcGMzUnlZWFJwYjI1T1lXMWxLU0I3WEc0Z0lDQWdkbUZ5SUhKbFoybHpkSEpoZEdsdmJrNWhiV1VnUFNCbGRtVnVkQzVrYVhOd1lYUmphRU52Ym1acFp5NXlaV2RwYzNSeVlYUnBiMjVPWVcxbE8xeHVJQ0FnSUhaaGNpQnNhWE4wWlc1bGNpQTlJR2RsZEV4cGMzUmxibVZ5S0dsdWMzUXNJSEpsWjJsemRISmhkR2x2Yms1aGJXVXBPMXh1WEc0Z0lDQWdhV1lnS0d4cGMzUmxibVZ5S1NCN1hHNGdJQ0FnSUNCbGRtVnVkQzVmWkdsemNHRjBZMmhNYVhOMFpXNWxjbk1nUFNCaFkyTjFiWFZzWVhSbFNXNTBieWhsZG1WdWRDNWZaR2x6Y0dGMFkyaE1hWE4wWlc1bGNuTXNJR3hwYzNSbGJtVnlLVHRjYmlBZ0lDQWdJR1YyWlc1MExsOWthWE53WVhSamFFbHVjM1JoYm1ObGN5QTlJR0ZqWTNWdGRXeGhkR1ZKYm5SdktHVjJaVzUwTGw5a2FYTndZWFJqYUVsdWMzUmhibU5sY3l3Z2FXNXpkQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRUZqWTNWdGRXeGhkR1Z6SUdScGMzQmhkR05vWlhNZ2IyNGdZVzRnWUZONWJuUm9aWFJwWTBWMlpXNTBZQ3dnWW5WMElHOXViSGtnWm05eUlIUm9aVnh1SUNvZ1lHUnBjM0JoZEdOb1RXRnlhMlZ5WUM1Y2JpQXFJRUJ3WVhKaGJTQjdVM2x1ZEdobGRHbGpSWFpsYm5SOUlHVjJaVzUwWEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCaFkyTjFiWFZzWVhSbFJHbHlaV04wUkdsemNHRjBZMmhsYzFOcGJtZHNaU2hsZG1WdWRDa2dlMXh1SUNCcFppQW9aWFpsYm5RZ0ppWWdaWFpsYm5RdVpHbHpjR0YwWTJoRGIyNW1hV2N1Y21WbmFYTjBjbUYwYVc5dVRtRnRaU2tnZTF4dUlDQWdJR0ZqWTNWdGRXeGhkR1ZFYVhOd1lYUmphR1Z6S0dWMlpXNTBMbDkwWVhKblpYUkpibk4wTENCdWRXeHNMQ0JsZG1WdWRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWVdOamRXMTFiR0YwWlZSM2IxQm9ZWE5sUkdsemNHRjBZMmhsY3lobGRtVnVkSE1wSUh0Y2JpQWdabTl5UldGamFFRmpZM1Z0ZFd4aGRHVmtLR1YyWlc1MGN5d2dZV05qZFcxMWJHRjBaVlIzYjFCb1lYTmxSR2x6Y0dGMFkyaGxjMU5wYm1kc1pTazdYRzU5WEc1bWRXNWpkR2x2YmlCaFkyTjFiWFZzWVhSbFJXNTBaWEpNWldGMlpVUnBjM0JoZEdOb1pYTW9iR1ZoZG1Vc0lHVnVkR1Z5TENCbWNtOXRMQ0IwYnlrZ2UxeHVJQ0IwY21GMlpYSnpaVVZ1ZEdWeVRHVmhkbVVvWm5KdmJTd2dkRzhzSUdGalkzVnRkV3hoZEdWRWFYTndZWFJqYUdWekxDQnNaV0YyWlN3Z1pXNTBaWElwTzF4dWZWeHVablZ1WTNScGIyNGdZV05qZFcxMWJHRjBaVVJwY21WamRFUnBjM0JoZEdOb1pYTW9aWFpsYm5SektTQjdYRzRnSUdadmNrVmhZMmhCWTJOMWJYVnNZWFJsWkNobGRtVnVkSE1zSUdGalkzVnRkV3hoZEdWRWFYSmxZM1JFYVhOd1lYUmphR1Z6VTJsdVoyeGxLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlVhR1Z6WlNCMllYSnBZV0pzWlhNZ2MzUnZjbVVnYVc1bWIzSnRZWFJwYjI0Z1lXSnZkWFFnZEdWNGRDQmpiMjUwWlc1MElHOW1JR0VnZEdGeVoyVjBJRzV2WkdVc1hHNGdLaUJoYkd4dmQybHVaeUJqYjIxd1lYSnBjMjl1SUc5bUlHTnZiblJsYm5RZ1ltVm1iM0psSUdGdVpDQmhablJsY2lCaElHZHBkbVZ1SUdWMlpXNTBMbHh1SUNwY2JpQXFJRWxrWlc1MGFXWjVJSFJvWlNCdWIyUmxJSGRvWlhKbElITmxiR1ZqZEdsdmJpQmpkWEp5Wlc1MGJIa2dZbVZuYVc1ekxDQjBhR1Z1SUc5aWMyVnlkbVZjYmlBcUlHSnZkR2dnYVhSeklIUmxlSFFnWTI5dWRHVnVkQ0JoYm1RZ2FYUnpJR04xY25KbGJuUWdjRzl6YVhScGIyNGdhVzRnZEdobElFUlBUUzRnVTJsdVkyVWdkR2hsWEc0Z0tpQmljbTkzYzJWeUlHMWhlU0J1WVhScGRtVnNlU0J5WlhCc1lXTmxJSFJvWlNCMFlYSm5aWFFnYm05a1pTQmtkWEpwYm1jZ1kyOXRjRzl6YVhScGIyNHNJSGRsSUdOaGJseHVJQ29nZFhObElHbDBjeUJ3YjNOcGRHbHZiaUIwYnlCbWFXNWtJR2wwY3lCeVpYQnNZV05sYldWdWRDNWNiaUFxWEc0Z0tseHVJQ292WEc1MllYSWdjbTl2ZENBOUlHNTFiR3c3WEc1MllYSWdjM1JoY25SVVpYaDBJRDBnYm5Wc2JEdGNiblpoY2lCbVlXeHNZbUZqYTFSbGVIUWdQU0J1ZFd4c08xeHVablZ1WTNScGIyNGdhVzVwZEdsaGJHbDZaU2h1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ2tnZTF4dUlDQnliMjkwSUQwZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhRN1hHNGdJSE4wWVhKMFZHVjRkQ0E5SUdkbGRGUmxlSFFvS1R0Y2JpQWdjbVYwZFhKdUlIUnlkV1U3WEc1OVhHNW1kVzVqZEdsdmJpQnlaWE5sZENncElIdGNiaUFnY205dmRDQTlJRzUxYkd3N1hHNGdJSE4wWVhKMFZHVjRkQ0E5SUc1MWJHdzdYRzRnSUdaaGJHeGlZV05yVkdWNGRDQTlJRzUxYkd3N1hHNTlYRzVtZFc1amRHbHZiaUJuWlhSRVlYUmhLQ2tnZTF4dUlDQnBaaUFvWm1Gc2JHSmhZMnRVWlhoMEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUdaaGJHeGlZV05yVkdWNGREdGNiaUFnZlZ4dVhHNGdJSFpoY2lCemRHRnlkRHRjYmlBZ2RtRnlJSE4wWVhKMFZtRnNkV1VnUFNCemRHRnlkRlJsZUhRN1hHNGdJSFpoY2lCemRHRnlkRXhsYm1kMGFDQTlJSE4wWVhKMFZtRnNkV1V1YkdWdVozUm9PMXh1SUNCMllYSWdaVzVrTzF4dUlDQjJZWElnWlc1a1ZtRnNkV1VnUFNCblpYUlVaWGgwS0NrN1hHNGdJSFpoY2lCbGJtUk1aVzVuZEdnZ1BTQmxibVJXWVd4MVpTNXNaVzVuZEdnN1hHNWNiaUFnWm05eUlDaHpkR0Z5ZENBOUlEQTdJSE4wWVhKMElEd2djM1JoY25STVpXNW5kR2c3SUhOMFlYSjBLeXNwSUh0Y2JpQWdJQ0JwWmlBb2MzUmhjblJXWVd4MVpWdHpkR0Z5ZEYwZ0lUMDlJR1Z1WkZaaGJIVmxXM04wWVhKMFhTa2dlMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJRzFwYmtWdVpDQTlJSE4wWVhKMFRHVnVaM1JvSUMwZ2MzUmhjblE3WEc1Y2JpQWdabTl5SUNobGJtUWdQU0F4T3lCbGJtUWdQRDBnYldsdVJXNWtPeUJsYm1Rckt5a2dlMXh1SUNBZ0lHbG1JQ2h6ZEdGeWRGWmhiSFZsVzNOMFlYSjBUR1Z1WjNSb0lDMGdaVzVrWFNBaFBUMGdaVzVrVm1Gc2RXVmJaVzVrVEdWdVozUm9JQzBnWlc1a1hTa2dlMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJSE5zYVdObFZHRnBiQ0E5SUdWdVpDQStJREVnUHlBeElDMGdaVzVrSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0JtWVd4c1ltRmphMVJsZUhRZ1BTQmxibVJXWVd4MVpTNXpiR2xqWlNoemRHRnlkQ3dnYzJ4cFkyVlVZV2xzS1R0Y2JpQWdjbVYwZFhKdUlHWmhiR3hpWVdOclZHVjRkRHRjYm4xY2JtWjFibU4wYVc5dUlHZGxkRlJsZUhRb0tTQjdYRzRnSUdsbUlDZ25kbUZzZFdVbklHbHVJSEp2YjNRcElIdGNiaUFnSUNCeVpYUjFjbTRnY205dmRDNTJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCeWIyOTBMblJsZUhSRGIyNTBaVzUwTzF4dWZWeHVYRzUyWVhJZ1JWWkZUbFJmVUU5UFRGOVRTVnBGSUQwZ01UQTdYRzR2S2lwY2JpQXFJRUJwYm5SbGNtWmhZMlVnUlhabGJuUmNiaUFxSUVCelpXVWdhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2UkU5TkxVeGxkbVZzTFRNdFJYWmxiblJ6TDF4dUlDb3ZYRzVjYm5aaGNpQkZkbVZ1ZEVsdWRHVnlabUZqWlNBOUlIdGNiaUFnZEhsd1pUb2diblZzYkN4Y2JpQWdkR0Z5WjJWME9pQnVkV3hzTEZ4dUlDQXZMeUJqZFhKeVpXNTBWR0Z5WjJWMElHbHpJSE5sZENCM2FHVnVJR1JwYzNCaGRHTm9hVzVuT3lCdWJ5QjFjMlVnYVc0Z1kyOXdlV2x1WnlCcGRDQm9aWEpsWEc0Z0lHTjFjbkpsYm5SVVlYSm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnZlN4Y2JpQWdaWFpsYm5SUWFHRnpaVG9nYm5Wc2JDeGNiaUFnWW5WaVlteGxjem9nYm5Wc2JDeGNiaUFnWTJGdVkyVnNZV0pzWlRvZ2JuVnNiQ3hjYmlBZ2RHbHRaVk4wWVcxd09pQm1kVzVqZEdsdmJpQW9aWFpsYm5RcElIdGNiaUFnSUNCeVpYUjFjbTRnWlhabGJuUXVkR2x0WlZOMFlXMXdJSHg4SUVSaGRHVXVibTkzS0NrN1hHNGdJSDBzWEc0Z0lHUmxabUYxYkhSUWNtVjJaVzUwWldRNklHNTFiR3dzWEc0Z0lHbHpWSEoxYzNSbFpEb2diblZzYkZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzFSeWRXVW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1kVzVqZEdsdmJsUm9ZWFJTWlhSMWNtNXpSbUZzYzJVb0tTQjdYRzRnSUhKbGRIVnliaUJtWVd4elpUdGNibjFjYmk4cUtseHVJQ29nVTNsdWRHaGxkR2xqSUdWMlpXNTBjeUJoY21VZ1pHbHpjR0YwWTJobFpDQmllU0JsZG1WdWRDQndiSFZuYVc1ekxDQjBlWEJwWTJGc2JIa2dhVzRnY21WemNHOXVjMlVnZEc4Z1lWeHVJQ29nZEc5d0xXeGxkbVZzSUdWMlpXNTBJR1JsYkdWbllYUnBiMjRnYUdGdVpHeGxjaTVjYmlBcVhHNGdLaUJVYUdWelpTQnplWE4wWlcxeklITm9iM1ZzWkNCblpXNWxjbUZzYkhrZ2RYTmxJSEJ2YjJ4cGJtY2dkRzhnY21Wa2RXTmxJSFJvWlNCbWNtVnhkV1Z1WTNrZ2IyWWdaMkZ5WW1GblpWeHVJQ29nWTI5c2JHVmpkR2x2Ymk0Z1ZHaGxJSE41YzNSbGJTQnphRzkxYkdRZ1kyaGxZMnNnWUdselVHVnljMmx6ZEdWdWRHQWdkRzhnWkdWMFpYSnRhVzVsSUhkb1pYUm9aWElnZEdobFhHNGdLaUJsZG1WdWRDQnphRzkxYkdRZ1ltVWdjbVZzWldGelpXUWdhVzUwYnlCMGFHVWdjRzl2YkNCaFpuUmxjaUJpWldsdVp5QmthWE53WVhSamFHVmtMaUJWYzJWeWN5QjBhR0YwWEc0Z0tpQnVaV1ZrSUdFZ2NHVnljMmx6ZEdWa0lHVjJaVzUwSUhOb2IzVnNaQ0JwYm5admEyVWdZSEJsY25OcGMzUmdMbHh1SUNwY2JpQXFJRk41Ym5Sb1pYUnBZeUJsZG1WdWRITWdLR0Z1WkNCemRXSmpiR0Z6YzJWektTQnBiWEJzWlcxbGJuUWdkR2hsSUVSUFRTQk1aWFpsYkNBeklFVjJaVzUwY3lCQlVFa2dZbmxjYmlBcUlHNXZjbTFoYkdsNmFXNW5JR0p5YjNkelpYSWdjWFZwY210ekxpQlRkV0pqYkdGemMyVnpJR1J2SUc1dmRDQnVaV05sYzNOaGNtbHNlU0JvWVhabElIUnZJR2x0Y0d4bGJXVnVkQ0JoWEc0Z0tpQkVUMDBnYVc1MFpYSm1ZV05sT3lCamRYTjBiMjBnWVhCd2JHbGpZWFJwYjI0dGMzQmxZMmxtYVdNZ1pYWmxiblJ6SUdOaGJpQmhiSE52SUhOMVltTnNZWE56SUhSb2FYTXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdHZZbXBsWTNSOUlHUnBjM0JoZEdOb1EyOXVabWxuSUVOdmJtWnBaM1Z5WVhScGIyNGdkWE5sWkNCMGJ5QmthWE53WVhSamFDQjBhR2x6SUdWMlpXNTBMbHh1SUNvZ1FIQmhjbUZ0SUhzcWZTQjBZWEpuWlhSSmJuTjBJRTFoY210bGNpQnBaR1Z1ZEdsbWVXbHVaeUIwYUdVZ1pYWmxiblFnZEdGeVoyVjBMbHh1SUNvZ1FIQmhjbUZ0SUh0dlltcGxZM1I5SUc1aGRHbDJaVVYyWlc1MElFNWhkR2wyWlNCaWNtOTNjMlZ5SUdWMlpXNTBMbHh1SUNvZ1FIQmhjbUZ0SUh0RVQwMUZkbVZ1ZEZSaGNtZGxkSDBnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFnVkdGeVoyVjBJRzV2WkdVdVhHNGdLaTljYmx4dVhHNW1kVzVqZEdsdmJpQlRlVzUwYUdWMGFXTkZkbVZ1ZENoa2FYTndZWFJqYUVOdmJtWnBaeXdnZEdGeVoyVjBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLU0I3WEc0Z0lIdGNiaUFnSUNBdkx5QjBhR1Z6WlNCb1lYWmxJR0VnWjJWMGRHVnlMM05sZEhSbGNpQm1iM0lnZDJGeWJtbHVaM05jYmlBZ0lDQmtaV3hsZEdVZ2RHaHBjeTV1WVhScGRtVkZkbVZ1ZER0Y2JpQWdJQ0JrWld4bGRHVWdkR2hwY3k1d2NtVjJaVzUwUkdWbVlYVnNkRHRjYmlBZ0lDQmtaV3hsZEdVZ2RHaHBjeTV6ZEc5d1VISnZjR0ZuWVhScGIyNDdYRzRnSUNBZ1pHVnNaWFJsSUhSb2FYTXVhWE5FWldaaGRXeDBVSEpsZG1WdWRHVmtPMXh1SUNBZ0lHUmxiR1YwWlNCMGFHbHpMbWx6VUhKdmNHRm5ZWFJwYjI1VGRHOXdjR1ZrTzF4dUlDQjlYRzVjYmlBZ2RHaHBjeTVrYVhOd1lYUmphRU52Ym1acFp5QTlJR1JwYzNCaGRHTm9RMjl1Wm1sbk8xeHVJQ0IwYUdsekxsOTBZWEpuWlhSSmJuTjBJRDBnZEdGeVoyVjBTVzV6ZER0Y2JpQWdkR2hwY3k1dVlYUnBkbVZGZG1WdWRDQTlJRzVoZEdsMlpVVjJaVzUwTzF4dUlDQjJZWElnU1c1MFpYSm1ZV05sSUQwZ2RHaHBjeTVqYjI1emRISjFZM1J2Y2k1SmJuUmxjbVpoWTJVN1hHNWNiaUFnWm05eUlDaDJZWElnY0hKdmNFNWhiV1VnYVc0Z1NXNTBaWEptWVdObEtTQjdYRzRnSUNBZ2FXWWdLQ0ZKYm5SbGNtWmhZMlV1YUdGelQzZHVVSEp2Y0dWeWRIa29jSEp2Y0U1aGJXVXBLU0I3WEc0Z0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQmtaV3hsZEdVZ2RHaHBjMXR3Y205d1RtRnRaVjA3SUM4dklIUm9hWE1nYUdGeklHRWdaMlYwZEdWeUwzTmxkSFJsY2lCbWIzSWdkMkZ5Ym1sdVozTmNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdibTl5YldGc2FYcGxJRDBnU1c1MFpYSm1ZV05sVzNCeWIzQk9ZVzFsWFR0Y2JseHVJQ0FnSUdsbUlDaHViM0p0WVd4cGVtVXBJSHRjYmlBZ0lDQWdJSFJvYVhOYmNISnZjRTVoYldWZElEMGdibTl5YldGc2FYcGxLRzVoZEdsMlpVVjJaVzUwS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhV1lnS0hCeWIzQk9ZVzFsSUQwOVBTQW5kR0Z5WjJWMEp5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuUmhjbWRsZENBOUlHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWME8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjMXR3Y205d1RtRnRaVjBnUFNCdVlYUnBkbVZGZG1WdWRGdHdjbTl3VG1GdFpWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdSbFptRjFiSFJRY21WMlpXNTBaV1FnUFNCdVlYUnBkbVZGZG1WdWRDNWtaV1poZFd4MFVISmxkbVZ1ZEdWa0lDRTlJRzUxYkd3Z1B5QnVZWFJwZG1WRmRtVnVkQzVrWldaaGRXeDBVSEpsZG1WdWRHVmtJRG9nYm1GMGFYWmxSWFpsYm5RdWNtVjBkWEp1Vm1Gc2RXVWdQVDA5SUdaaGJITmxPMXh1WEc0Z0lHbG1JQ2hrWldaaGRXeDBVSEpsZG1WdWRHVmtLU0I3WEc0Z0lDQWdkR2hwY3k1cGMwUmxabUYxYkhSUWNtVjJaVzUwWldRZ1BTQm1kVzVqZEdsdmJsUm9ZWFJTWlhSMWNtNXpWSEoxWlR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCMGFHbHpMbWx6UkdWbVlYVnNkRkJ5WlhabGJuUmxaQ0E5SUdaMWJtTjBhVzl1VkdoaGRGSmxkSFZ5Ym5OR1lXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhSb2FYTXVhWE5RY205d1lXZGhkR2x2YmxOMGIzQndaV1FnUFNCbWRXNWpkR2x2YmxSb1lYUlNaWFIxY201elJtRnNjMlU3WEc0Z0lISmxkSFZ5YmlCMGFHbHpPMXh1ZlZ4dVhHNWZZWE56YVdkdUtGTjViblJvWlhScFkwVjJaVzUwTG5CeWIzUnZkSGx3WlN3Z2UxeHVJQ0J3Y21WMlpXNTBSR1ZtWVhWc2REb2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFJvYVhNdVpHVm1ZWFZzZEZCeVpYWmxiblJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdkbUZ5SUdWMlpXNTBJRDBnZEdocGN5NXVZWFJwZG1WRmRtVnVkRHRjYmx4dUlDQWdJR2xtSUNnaFpYWmxiblFwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWlhabGJuUXVjSEpsZG1WdWRFUmxabUYxYkhRcElIdGNiaUFnSUNBZ0lHVjJaVzUwTG5CeVpYWmxiblJFWldaaGRXeDBLQ2s3WEc0Z0lDQWdmU0JsYkhObElHbG1JQ2gwZVhCbGIyWWdaWFpsYm5RdWNtVjBkWEp1Vm1Gc2RXVWdJVDA5SUNkMWJtdHViM2R1SnlrZ2UxeHVJQ0FnSUNBZ1pYWmxiblF1Y21WMGRYSnVWbUZzZFdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtbHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDQTlJR1oxYm1OMGFXOXVWR2hoZEZKbGRIVnlibk5VY25WbE8xeHVJQ0I5TEZ4dUlDQnpkRzl3VUhKdmNHRm5ZWFJwYjI0NklHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQjJZWElnWlhabGJuUWdQU0IwYUdsekxtNWhkR2wyWlVWMlpXNTBPMXh1WEc0Z0lDQWdhV1lnS0NGbGRtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRDNXpkRzl3VUhKdmNHRm5ZWFJwYjI0cElIdGNiaUFnSUNBZ0lHVjJaVzUwTG5OMGIzQlFjbTl3WVdkaGRHbHZiaWdwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR1YyWlc1MExtTmhibU5sYkVKMVltSnNaU0FoUFQwZ0ozVnVhMjV2ZDI0bktTQjdYRzRnSUNBZ0lDQXZMeUJVYUdVZ1EyaGhibWRsUlhabGJuUlFiSFZuYVc0Z2NtVm5hWE4wWlhKeklHRWdYQ0p3Y205d1pYSjBlV05vWVc1blpWd2lJR1YyWlc1MElHWnZjbHh1SUNBZ0lDQWdMeThnU1VVdUlGUm9hWE1nWlhabGJuUWdaRzlsY3lCdWIzUWdjM1Z3Y0c5eWRDQmlkV0ppYkdsdVp5QnZjaUJqWVc1alpXeHNhVzVuTENCaGJtUmNiaUFnSUNBZ0lDOHZJR0Z1ZVNCeVpXWmxjbVZ1WTJWeklIUnZJR05oYm1ObGJFSjFZbUpzWlNCMGFISnZkeUJjSWsxbGJXSmxjaUJ1YjNRZ1ptOTFibVJjSWk0Z0lFRmNiaUFnSUNBZ0lDOHZJSFI1Y0dWdlppQmphR1ZqYXlCdlppQmNJblZ1YTI1dmQyNWNJaUJqYVhKamRXMTJaVzUwY3lCMGFHbHpJR2x6YzNWbElDaGhibVFnYVhNZ1lXeHpiMXh1SUNBZ0lDQWdMeThnU1VVZ2MzQmxZMmxtYVdNcExseHVJQ0FnSUNBZ1pYWmxiblF1WTJGdVkyVnNRblZpWW14bElEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IwYUdsekxtbHpVSEp2Y0dGbllYUnBiMjVUZEc5d2NHVmtJRDBnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzFSeWRXVTdYRzRnSUgwc1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUZkbElISmxiR1ZoYzJVZ1lXeHNJR1JwYzNCaGRHTm9aV1FnWUZONWJuUm9aWFJwWTBWMlpXNTBZSE1nWVdaMFpYSWdaV0ZqYUNCbGRtVnVkQ0JzYjI5d0xDQmhaR1JwYm1kY2JpQWdJQ29nZEdobGJTQmlZV05ySUdsdWRHOGdkR2hsSUhCdmIyd3VJRlJvYVhNZ1lXeHNiM2R6SUdFZ2QyRjVJSFJ2SUdodmJHUWdiMjUwYnlCaElISmxabVZ5Wlc1alpTQjBhR0YwWEc0Z0lDQXFJSGR2YmlkMElHSmxJR0ZrWkdWa0lHSmhZMnNnYVc1MGJ5QjBhR1VnY0c5dmJDNWNiaUFnSUNvdlhHNGdJSEJsY25OcGMzUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0IwYUdsekxtbHpVR1Z5YzJsemRHVnVkQ0E5SUdaMWJtTjBhVzl1VkdoaGRGSmxkSFZ5Ym5OVWNuVmxPMXh1SUNCOUxGeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGFHVmphM01nYVdZZ2RHaHBjeUJsZG1WdWRDQnphRzkxYkdRZ1ltVWdjbVZzWldGelpXUWdZbUZqYXlCcGJuUnZJSFJvWlNCd2IyOXNMbHh1SUNBZ0tseHVJQ0FnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlNCVWNuVmxJR2xtSUhSb2FYTWdjMmh2ZFd4a0lHNXZkQ0JpWlNCeVpXeGxZWE5sWkN3Z1ptRnNjMlVnYjNSb1pYSjNhWE5sTGx4dUlDQWdLaTljYmlBZ2FYTlFaWEp6YVhOMFpXNTBPaUJtZFc1amRHbHZibFJvWVhSU1pYUjFjbTV6Um1Gc2MyVXNYRzVjYmlBZ0x5b3FYRzRnSUNBcUlHQlFiMjlzWldSRGJHRnpjMkFnYkc5dmEzTWdabTl5SUdCa1pYTjBjblZqZEc5eVlDQnZiaUJsWVdOb0lHbHVjM1JoYm1ObElHbDBJSEpsYkdWaGMyVnpMbHh1SUNBZ0tpOWNiaUFnWkdWemRISjFZM1J2Y2pvZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIWmhjaUJKYm5SbGNtWmhZMlVnUFNCMGFHbHpMbU52Ym5OMGNuVmpkRzl5TGtsdWRHVnlabUZqWlR0Y2JseHVJQ0FnSUdadmNpQW9kbUZ5SUhCeWIzQk9ZVzFsSUdsdUlFbHVkR1Z5Wm1GalpTa2dlMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnY0hKdmNFNWhiV1VzSUdkbGRGQnZiMnhsWkZkaGNtNXBibWRRY205d1pYSjBlVVJsWm1sdWFYUnBiMjRvY0hKdmNFNWhiV1VzSUVsdWRHVnlabUZqWlZ0d2NtOXdUbUZ0WlYwcEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbVJwYzNCaGRHTm9RMjl1Wm1sbklEMGdiblZzYkR0Y2JpQWdJQ0IwYUdsekxsOTBZWEpuWlhSSmJuTjBJRDBnYm5Wc2JEdGNiaUFnSUNCMGFHbHpMbTVoZEdsMlpVVjJaVzUwSUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TG1selJHVm1ZWFZzZEZCeVpYWmxiblJsWkNBOUlHWjFibU4wYVc5dVZHaGhkRkpsZEhWeWJuTkdZV3h6WlR0Y2JpQWdJQ0IwYUdsekxtbHpVSEp2Y0dGbllYUnBiMjVUZEc5d2NHVmtJRDBnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzBaaGJITmxPMXh1SUNBZ0lIUm9hWE11WDJScGMzQmhkR05vVEdsemRHVnVaWEp6SUQwZ2JuVnNiRHRjYmlBZ0lDQjBhR2x6TGw5a2FYTndZWFJqYUVsdWMzUmhibU5sY3lBOUlHNTFiR3c3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnSjI1aGRHbDJaVVYyWlc1MEp5d2daMlYwVUc5dmJHVmtWMkZ5Ym1sdVoxQnliM0JsY25SNVJHVm1hVzVwZEdsdmJpZ25ibUYwYVhabFJYWmxiblFuTENCdWRXeHNLU2s3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnSjJselJHVm1ZWFZzZEZCeVpYWmxiblJsWkNjc0lHZGxkRkJ2YjJ4bFpGZGhjbTVwYm1kUWNtOXdaWEowZVVSbFptbHVhWFJwYjI0b0oybHpSR1ZtWVhWc2RGQnlaWFpsYm5SbFpDY3NJR1oxYm1OMGFXOXVWR2hoZEZKbGRIVnlibk5HWVd4elpTa3BPMXh1SUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJQ2RwYzFCeWIzQmhaMkYwYVc5dVUzUnZjSEJsWkNjc0lHZGxkRkJ2YjJ4bFpGZGhjbTVwYm1kUWNtOXdaWEowZVVSbFptbHVhWFJwYjI0b0oybHpVSEp2Y0dGbllYUnBiMjVUZEc5d2NHVmtKeXdnWm5WdVkzUnBiMjVVYUdGMFVtVjBkWEp1YzBaaGJITmxLU2s3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2RHaHBjeXdnSjNCeVpYWmxiblJFWldaaGRXeDBKeXdnWjJWMFVHOXZiR1ZrVjJGeWJtbHVaMUJ5YjNCbGNuUjVSR1ZtYVc1cGRHbHZiaWduY0hKbGRtVnVkRVJsWm1GMWJIUW5MQ0JtZFc1amRHbHZiaUFvS1NCN2ZTa3BPMXh1SUNBZ0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0hSb2FYTXNJQ2R6ZEc5d1VISnZjR0ZuWVhScGIyNG5MQ0JuWlhSUWIyOXNaV1JYWVhKdWFXNW5VSEp2Y0dWeWRIbEVaV1pwYm1sMGFXOXVLQ2R6ZEc5d1VISnZjR0ZuWVhScGIyNG5MQ0JtZFc1amRHbHZiaUFvS1NCN2ZTa3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZTazdYRzVjYmxONWJuUm9aWFJwWTBWMlpXNTBMa2x1ZEdWeVptRmpaU0E5SUVWMlpXNTBTVzUwWlhKbVlXTmxPMXh1THlvcVhHNGdLaUJJWld4d1pYSWdkRzhnY21Wa2RXTmxJR0p2YVd4bGNuQnNZWFJsSUhkb1pXNGdZM0psWVhScGJtY2djM1ZpWTJ4aGMzTmxjeTVjYmlBcUwxeHVYRzVUZVc1MGFHVjBhV05GZG1WdWRDNWxlSFJsYm1RZ1BTQm1kVzVqZEdsdmJpQW9TVzUwWlhKbVlXTmxLU0I3WEc0Z0lIWmhjaUJUZFhCbGNpQTlJSFJvYVhNN1hHNWNiaUFnZG1GeUlFVWdQU0JtZFc1amRHbHZiaUFvS1NCN2ZUdGNibHh1SUNCRkxuQnliM1J2ZEhsd1pTQTlJRk4xY0dWeUxuQnliM1J2ZEhsd1pUdGNiaUFnZG1GeUlIQnliM1J2ZEhsd1pTQTlJRzVsZHlCRktDazdYRzVjYmlBZ1puVnVZM1JwYjI0Z1EyeGhjM01vS1NCN1hHNGdJQ0FnY21WMGRYSnVJRk4xY0dWeUxtRndjR3g1S0hSb2FYTXNJR0Z5WjNWdFpXNTBjeWs3WEc0Z0lIMWNibHh1SUNCZllYTnphV2R1S0hCeWIzUnZkSGx3WlN3Z1EyeGhjM011Y0hKdmRHOTBlWEJsS1R0Y2JseHVJQ0JEYkdGemN5NXdjbTkwYjNSNWNHVWdQU0J3Y205MGIzUjVjR1U3WEc0Z0lFTnNZWE56TG5CeWIzUnZkSGx3WlM1amIyNXpkSEoxWTNSdmNpQTlJRU5zWVhOek8xeHVJQ0JEYkdGemN5NUpiblJsY21aaFkyVWdQU0JmWVhOemFXZHVLSHQ5TENCVGRYQmxjaTVKYm5SbGNtWmhZMlVzSUVsdWRHVnlabUZqWlNrN1hHNGdJRU5zWVhOekxtVjRkR1Z1WkNBOUlGTjFjR1Z5TG1WNGRHVnVaRHRjYmlBZ1lXUmtSWFpsYm5SUWIyOXNhVzVuVkc4b1EyeGhjM01wTzF4dUlDQnlaWFIxY200Z1EyeGhjM003WEc1OU8xeHVYRzVoWkdSRmRtVnVkRkJ2YjJ4cGJtZFVieWhUZVc1MGFHVjBhV05GZG1WdWRDazdYRzR2S2lwY2JpQXFJRWhsYkhCbGNpQjBieUJ1ZFd4c2FXWjVJSE41Ym5Sb1pYUnBZMFYyWlc1MElHbHVjM1JoYm1ObElIQnliM0JsY25ScFpYTWdkMmhsYmlCa1pYTjBjblZqZEdsdVoxeHVJQ3BjYmlBcUlFQndZWEpoYlNCN1UzUnlhVzVuZlNCd2NtOXdUbUZ0WlZ4dUlDb2dRSEJoY21GdElIcy9iMkpxWldOMGZTQm5aWFJXWVd4Y2JpQXFJRUJ5WlhSMWNtNGdlMjlpYW1WamRIMGdaR1ZtYVc1bFVISnZjR1Z5ZEhrZ2IySnFaV04wWEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFVHOXZiR1ZrVjJGeWJtbHVaMUJ5YjNCbGNuUjVSR1ZtYVc1cGRHbHZiaWh3Y205d1RtRnRaU3dnWjJWMFZtRnNLU0I3WEc0Z0lIWmhjaUJwYzBaMWJtTjBhVzl1SUQwZ2RIbHdaVzltSUdkbGRGWmhiQ0E5UFQwZ0oyWjFibU4wYVc5dUp6dGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQmpiMjVtYVdkMWNtRmliR1U2SUhSeWRXVXNYRzRnSUNBZ2MyVjBPaUJ6WlhRc1hHNGdJQ0FnWjJWME9pQm5aWFJjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCelpYUW9kbUZzS1NCN1hHNGdJQ0FnZG1GeUlHRmpkR2x2YmlBOUlHbHpSblZ1WTNScGIyNGdQeUFuYzJWMGRHbHVaeUIwYUdVZ2JXVjBhRzlrSnlBNklDZHpaWFIwYVc1bklIUm9aU0J3Y205d1pYSjBlU2M3WEc0Z0lDQWdkMkZ5YmloaFkzUnBiMjRzSUNkVWFHbHpJR2x6SUdWbVptVmpkR2wyWld4NUlHRWdibTh0YjNBbktUdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc08xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdaMlYwS0NrZ2UxeHVJQ0FnSUhaaGNpQmhZM1JwYjI0Z1BTQnBjMFoxYm1OMGFXOXVJRDhnSjJGalkyVnpjMmx1WnlCMGFHVWdiV1YwYUc5a0p5QTZJQ2RoWTJObGMzTnBibWNnZEdobElIQnliM0JsY25SNUp6dGNiaUFnSUNCMllYSWdjbVZ6ZFd4MElEMGdhWE5HZFc1amRHbHZiaUEvSUNkVWFHbHpJR2x6SUdFZ2JtOHRiM0FnWm5WdVkzUnBiMjRuSURvZ0oxUm9hWE1nYVhNZ2MyVjBJSFJ2SUc1MWJHd25PMXh1SUNBZ0lIZGhjbTRvWVdOMGFXOXVMQ0J5WlhOMWJIUXBPMXh1SUNBZ0lISmxkSFZ5YmlCblpYUldZV3c3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCM1lYSnVLR0ZqZEdsdmJpd2djbVZ6ZFd4MEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvWENKVWFHbHpJSE41Ym5Sb1pYUnBZeUJsZG1WdWRDQnBjeUJ5WlhWelpXUWdabTl5SUhCbGNtWnZjbTFoYm1ObElISmxZWE52Ym5NdUlFbG1JSGx2ZFNkeVpTQnpaV1ZwYm1jZ2RHaHBjeXdnWENJZ0t5QmNJbmx2ZFNkeVpTQWxjeUJnSlhOZ0lHOXVJR0VnY21Wc1pXRnpaV1F2Ym5Wc2JHbG1hV1ZrSUhONWJuUm9aWFJwWXlCbGRtVnVkQzRnSlhNdUlGd2lJQ3NnSjBsbUlIbHZkU0J0ZFhOMElHdGxaWEFnZEdobElHOXlhV2RwYm1Gc0lITjViblJvWlhScFl5QmxkbVZ1ZENCaGNtOTFibVFzSUhWelpTQmxkbVZ1ZEM1d1pYSnphWE4wS0NrdUlDY2dLeUFuVTJWbElHaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRaWFpsYm5RdGNHOXZiR2x1WnlCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpNG5MQ0JoWTNScGIyNHNJSEJ5YjNCT1lXMWxMQ0J5WlhOMWJIUXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSUWIyOXNaV1JGZG1WdWRDaGthWE53WVhSamFFTnZibVpwWnl3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVWx1YzNRcElIdGNiaUFnZG1GeUlFVjJaVzUwUTI5dWMzUnlkV04wYjNJZ1BTQjBhR2x6TzF4dVhHNGdJR2xtSUNoRmRtVnVkRU52Ym5OMGNuVmpkRzl5TG1WMlpXNTBVRzl2YkM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eUxtVjJaVzUwVUc5dmJDNXdiM0FvS1R0Y2JpQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlMbU5oYkd3b2FXNXpkR0Z1WTJVc0lHUnBjM0JoZEdOb1EyOXVabWxuTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxTVzV6ZENrN1hHNGdJQ0FnY21WMGRYSnVJR2x1YzNSaGJtTmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZHlCRmRtVnVkRU52Ym5OMGNuVmpkRzl5S0dScGMzQmhkR05vUTI5dVptbG5MQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFNXNXpkQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYkdWaGMyVlFiMjlzWldSRmRtVnVkQ2hsZG1WdWRDa2dlMXh1SUNCMllYSWdSWFpsYm5SRGIyNXpkSEoxWTNSdmNpQTlJSFJvYVhNN1hHNWNiaUFnYVdZZ0tDRW9aWFpsYm5RZ2FXNXpkR0Z1WTJWdlppQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eUtTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxSeWVXbHVaeUIwYnlCeVpXeGxZWE5sSUdGdUlHVjJaVzUwSUdsdWMzUmhibU5sSUdsdWRHOGdZU0J3YjI5c0lHOW1JR0VnWkdsbVptVnlaVzUwSUhSNWNHVXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbGRtVnVkQzVrWlhOMGNuVmpkRzl5S0NrN1hHNWNiaUFnYVdZZ0tFVjJaVzUwUTI5dWMzUnlkV04wYjNJdVpYWmxiblJRYjI5c0xteGxibWQwYUNBOElFVldSVTVVWDFCUFQweGZVMGxhUlNrZ2UxeHVJQ0FnSUVWMlpXNTBRMjl1YzNSeWRXTjBiM0l1WlhabGJuUlFiMjlzTG5CMWMyZ29aWFpsYm5RcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR0ZrWkVWMlpXNTBVRzl2YkdsdVoxUnZLRVYyWlc1MFEyOXVjM1J5ZFdOMGIzSXBJSHRjYmlBZ1JYWmxiblJEYjI1emRISjFZM1J2Y2k1bGRtVnVkRkJ2YjJ3Z1BTQmJYVHRjYmlBZ1JYWmxiblJEYjI1emRISjFZM1J2Y2k1blpYUlFiMjlzWldRZ1BTQm5aWFJRYjI5c1pXUkZkbVZ1ZER0Y2JpQWdSWFpsYm5SRGIyNXpkSEoxWTNSdmNpNXlaV3hsWVhObElEMGdjbVZzWldGelpWQnZiMnhsWkVWMlpXNTBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFQnBiblJsY21aaFkyVWdSWFpsYm5SY2JpQXFJRUJ6WldVZ2FIUjBjRG92TDNkM2R5NTNNeTV2Y21jdlZGSXZSRTlOTFV4bGRtVnNMVE10UlhabGJuUnpMeU5sZG1WdWRITXRZMjl0Y0c5emFYUnBiMjVsZG1WdWRITmNiaUFxTDF4dVhHNTJZWElnVTNsdWRHaGxkR2xqUTI5dGNHOXphWFJwYjI1RmRtVnVkQ0E5SUZONWJuUm9aWFJwWTBWMlpXNTBMbVY0ZEdWdVpDaDdYRzRnSUdSaGRHRTZJRzUxYkd4Y2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JYWmxiblJjYmlBcUlFQnpaV1VnYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2VkZJdk1qQXhNeTlYUkMxRVQwMHRUR1YyWld3dE15MUZkbVZ1ZEhNdE1qQXhNekV4TURWY2JpQXFJQ0FnSUNBZ0x5TmxkbVZ1ZEhNdGFXNXdkWFJsZG1WdWRITmNiaUFxTDF4dVhHNTJZWElnVTNsdWRHaGxkR2xqU1c1d2RYUkZkbVZ1ZENBOUlGTjViblJvWlhScFkwVjJaVzUwTG1WNGRHVnVaQ2g3WEc0Z0lHUmhkR0U2SUc1MWJHeGNibjBwTzF4dVhHNTJZWElnUlU1RVgwdEZXVU5QUkVWVElEMGdXemtzSURFekxDQXlOeXdnTXpKZE95QXZMeUJVWVdJc0lGSmxkSFZ5Yml3Z1JYTmpMQ0JUY0dGalpWeHVYRzUyWVhJZ1UxUkJVbFJmUzBWWlEwOUVSU0E5SURJeU9UdGNiblpoY2lCallXNVZjMlZEYjIxd2IzTnBkR2x2YmtWMlpXNTBJRDBnWTJGdVZYTmxSRTlOSUNZbUlDZERiMjF3YjNOcGRHbHZia1YyWlc1MEp5QnBiaUIzYVc1a2IzYzdYRzUyWVhJZ1pHOWpkVzFsYm5STmIyUmxJRDBnYm5Wc2JEdGNibHh1YVdZZ0tHTmhibFZ6WlVSUFRTQW1KaUFuWkc5amRXMWxiblJOYjJSbEp5QnBiaUJrYjJOMWJXVnVkQ2tnZTF4dUlDQmtiMk4xYldWdWRFMXZaR1VnUFNCa2IyTjFiV1Z1ZEM1a2IyTjFiV1Z1ZEUxdlpHVTdYRzU5SUM4dklGZGxZbXRwZENCdlptWmxjbk1nWVNCMlpYSjVJSFZ6WldaMWJDQmdkR1Y0ZEVsdWNIVjBZQ0JsZG1WdWRDQjBhR0YwSUdOaGJpQmlaU0IxYzJWa0lIUnZYRzR2THlCa2FYSmxZM1JzZVNCeVpYQnlaWE5sYm5RZ1lHSmxabTl5WlVsdWNIVjBZQzRnVkdobElFbEZJR0IwWlhoMGFXNXdkWFJnSUdWMlpXNTBJR2x6SUc1dmRDQmhjMXh1THk4Z2RYTmxablZzTENCemJ5QjNaU0JrYjI0bmRDQjFjMlVnYVhRdVhHNWNibHh1ZG1GeUlHTmhibFZ6WlZSbGVIUkpibkIxZEVWMlpXNTBJRDBnWTJGdVZYTmxSRTlOSUNZbUlDZFVaWGgwUlhabGJuUW5JR2x1SUhkcGJtUnZkeUFtSmlBaFpHOWpkVzFsYm5STmIyUmxPeUF2THlCSmJpQkpSVGtyTENCM1pTQm9ZWFpsSUdGalkyVnpjeUIwYnlCamIyMXdiM05wZEdsdmJpQmxkbVZ1ZEhNc0lHSjFkQ0IwYUdVZ1pHRjBZU0J6ZFhCd2JHbGxaRnh1THk4Z1lua2dkR2hsSUc1aGRHbDJaU0JqYjIxd2IzTnBkR2x2Ym1WdVpDQmxkbVZ1ZENCdFlYa2dZbVVnYVc1amIzSnlaV04wTGlCS1lYQmhibVZ6WlNCcFpHVnZaM0poY0docFkxeHVMeThnYzNCaFkyVnpMQ0JtYjNJZ2FXNXpkR0Z1WTJVZ0tGeGNkVE13TURBcElHRnlaU0J1YjNRZ2NtVmpiM0prWldRZ1kyOXljbVZqZEd4NUxseHVYRzUyWVhJZ2RYTmxSbUZzYkdKaFkydERiMjF3YjNOcGRHbHZia1JoZEdFZ1BTQmpZVzVWYzJWRVQwMGdKaVlnS0NGallXNVZjMlZEYjIxd2IzTnBkR2x2YmtWMlpXNTBJSHg4SUdSdlkzVnRaVzUwVFc5a1pTQW1KaUJrYjJOMWJXVnVkRTF2WkdVZ1BpQTRJQ1ltSUdSdlkzVnRaVzUwVFc5a1pTQThQU0F4TVNrN1hHNTJZWElnVTFCQlEwVkNRVkpmUTA5RVJTQTlJRE15TzF4dWRtRnlJRk5RUVVORlFrRlNYME5JUVZJZ1BTQlRkSEpwYm1jdVpuSnZiVU5vWVhKRGIyUmxLRk5RUVVORlFrRlNYME5QUkVVcE95QXZMeUJGZG1WdWRITWdZVzVrSUhSb1pXbHlJR052Y25KbGMzQnZibVJwYm1jZ2NISnZjR1Z5ZEhrZ2JtRnRaWE11WEc1Y2JuWmhjaUJsZG1WdWRGUjVjR1Z6SUQwZ2UxeHVJQ0JpWldadmNtVkpibkIxZERvZ2UxeHVJQ0FnSUhCb1lYTmxaRkpsWjJsemRISmhkR2x2Yms1aGJXVnpPaUI3WEc0Z0lDQWdJQ0JpZFdKaWJHVmtPaUFuYjI1Q1pXWnZjbVZKYm5CMWRDY3NYRzRnSUNBZ0lDQmpZWEIwZFhKbFpEb2dKMjl1UW1WbWIzSmxTVzV3ZFhSRFlYQjBkWEpsSjF4dUlDQWdJSDBzWEc0Z0lDQWdaR1Z3Wlc1a1pXNWphV1Z6T2lCYlZFOVFYME5QVFZCUFUwbFVTVTlPWDBWT1JDd2dWRTlRWDB0RldWOVFVa1ZUVXl3Z1ZFOVFYMVJGV0ZSZlNVNVFWVlFzSUZSUFVGOVFRVk5VUlYxY2JpQWdmU3hjYmlBZ1kyOXRjRzl6YVhScGIyNUZibVE2SUh0Y2JpQWdJQ0J3YUdGelpXUlNaV2RwYzNSeVlYUnBiMjVPWVcxbGN6b2dlMXh1SUNBZ0lDQWdZblZpWW14bFpEb2dKMjl1UTI5dGNHOXphWFJwYjI1RmJtUW5MRnh1SUNBZ0lDQWdZMkZ3ZEhWeVpXUTZJQ2R2YmtOdmJYQnZjMmwwYVc5dVJXNWtRMkZ3ZEhWeVpTZGNiaUFnSUNCOUxGeHVJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXMVJQVUY5Q1RGVlNMQ0JVVDFCZlEwOU5VRTlUU1ZSSlQwNWZSVTVFTENCVVQxQmZTMFZaWDBSUFYwNHNJRlJQVUY5TFJWbGZVRkpGVTFNc0lGUlBVRjlMUlZsZlZWQXNJRlJQVUY5TlQxVlRSVjlFVDFkT1hWeHVJQ0I5TEZ4dUlDQmpiMjF3YjNOcGRHbHZibE4wWVhKME9pQjdYRzRnSUNBZ2NHaGhjMlZrVW1WbmFYTjBjbUYwYVc5dVRtRnRaWE02SUh0Y2JpQWdJQ0FnSUdKMVltSnNaV1E2SUNkdmJrTnZiWEJ2YzJsMGFXOXVVM1JoY25RbkxGeHVJQ0FnSUNBZ1kyRndkSFZ5WldRNklDZHZia052YlhCdmMybDBhVzl1VTNSaGNuUkRZWEIwZFhKbEoxeHVJQ0FnSUgwc1hHNGdJQ0FnWkdWd1pXNWtaVzVqYVdWek9pQmJWRTlRWDBKTVZWSXNJRlJQVUY5RFQwMVFUMU5KVkVsUFRsOVRWRUZTVkN3Z1ZFOVFYMHRGV1Y5RVQxZE9MQ0JVVDFCZlMwVlpYMUJTUlZOVExDQlVUMUJmUzBWWlgxVlFMQ0JVVDFCZlRVOVZVMFZmUkU5WFRsMWNiaUFnZlN4Y2JpQWdZMjl0Y0c5emFYUnBiMjVWY0dSaGRHVTZJSHRjYmlBZ0lDQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3pvZ2UxeHVJQ0FnSUNBZ1luVmlZbXhsWkRvZ0oyOXVRMjl0Y0c5emFYUnBiMjVWY0dSaGRHVW5MRnh1SUNBZ0lDQWdZMkZ3ZEhWeVpXUTZJQ2R2YmtOdmJYQnZjMmwwYVc5dVZYQmtZWFJsUTJGd2RIVnlaU2RjYmlBZ0lDQjlMRnh1SUNBZ0lHUmxjR1Z1WkdWdVkybGxjem9nVzFSUFVGOUNURlZTTENCVVQxQmZRMDlOVUU5VFNWUkpUMDVmVlZCRVFWUkZMQ0JVVDFCZlMwVlpYMFJQVjA0c0lGUlBVRjlMUlZsZlVGSkZVMU1zSUZSUFVGOUxSVmxmVlZBc0lGUlBVRjlOVDFWVFJWOUVUMWRPWFZ4dUlDQjlYRzU5T3lBdkx5QlVjbUZqYXlCM2FHVjBhR1Z5SUhkbEozWmxJR1YyWlhJZ2FHRnVaR3hsWkNCaElHdGxlWEJ5WlhOeklHOXVJSFJvWlNCemNHRmpaU0JyWlhrdVhHNWNiblpoY2lCb1lYTlRjR0ZqWlV0bGVYQnlaWE56SUQwZ1ptRnNjMlU3WEc0dktpcGNiaUFxSUZKbGRIVnliaUIzYUdWMGFHVnlJR0VnYm1GMGFYWmxJR3RsZVhCeVpYTnpJR1YyWlc1MElHbHpJR0Z6YzNWdFpXUWdkRzhnWW1VZ1lTQmpiMjF0WVc1a0xseHVJQ29nVkdocGN5QnBjeUJ5WlhGMWFYSmxaQ0JpWldOaGRYTmxJRVpwY21WbWIzZ2dabWx5WlhNZ1lHdGxlWEJ5WlhOellDQmxkbVZ1ZEhNZ1ptOXlJR3RsZVNCamIyMXRZVzVrYzF4dUlDb2dLR04xZEN3Z1kyOXdlU3dnYzJWc1pXTjBMV0ZzYkN3Z1pYUmpMaWtnWlhabGJpQjBhRzkxWjJnZ2JtOGdZMmhoY21GamRHVnlJR2x6SUdsdWMyVnlkR1ZrTGx4dUlDb3ZYRzVjYm1aMWJtTjBhVzl1SUdselMyVjVjSEpsYzNORGIyMXRZVzVrS0c1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUhKbGRIVnliaUFvYm1GMGFYWmxSWFpsYm5RdVkzUnliRXRsZVNCOGZDQnVZWFJwZG1WRmRtVnVkQzVoYkhSTFpYa2dmSHdnYm1GMGFYWmxSWFpsYm5RdWJXVjBZVXRsZVNrZ0ppWWdMeThnWTNSeWJFdGxlU0FtSmlCaGJIUkxaWGtnYVhNZ1pYRjFhWFpoYkdWdWRDQjBieUJCYkhSSGNpd2dZVzVrSUdseklHNXZkQ0JoSUdOdmJXMWhibVF1WEc0Z0lDRW9ibUYwYVhabFJYWmxiblF1WTNSeWJFdGxlU0FtSmlCdVlYUnBkbVZGZG1WdWRDNWhiSFJMWlhrcE8xeHVmVnh1THlvcVhHNGdLaUJVY21GdWMyeGhkR1VnYm1GMGFYWmxJSFJ2Y0NCc1pYWmxiQ0JsZG1WdWRITWdhVzUwYnlCbGRtVnVkQ0IwZVhCbGN5NWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RHOXdUR1YyWld4VWVYQmxYRzRnS2lCQWNtVjBkWEp1SUh0dlltcGxZM1I5WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCblpYUkRiMjF3YjNOcGRHbHZia1YyWlc1MFZIbHdaU2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnYzNkcGRHTm9JQ2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnSUNCallYTmxJRlJQVUY5RFQwMVFUMU5KVkVsUFRsOVRWRUZTVkRwY2JpQWdJQ0FnSUhKbGRIVnliaUJsZG1WdWRGUjVjR1Z6TG1OdmJYQnZjMmwwYVc5dVUzUmhjblE3WEc1Y2JpQWdJQ0JqWVhObElGUlBVRjlEVDAxUVQxTkpWRWxQVGw5RlRrUTZYRzRnSUNBZ0lDQnlaWFIxY200Z1pYWmxiblJVZVhCbGN5NWpiMjF3YjNOcGRHbHZia1Z1WkR0Y2JseHVJQ0FnSUdOaGMyVWdWRTlRWDBOUFRWQlBVMGxVU1U5T1gxVlFSRUZVUlRwY2JpQWdJQ0FnSUhKbGRIVnliaUJsZG1WdWRGUjVjR1Z6TG1OdmJYQnZjMmwwYVc5dVZYQmtZWFJsTzF4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUVSdlpYTWdiM1Z5SUdaaGJHeGlZV05ySUdKbGMzUXRaM1ZsYzNNZ2JXOWtaV3dnZEdocGJtc2dkR2hwY3lCbGRtVnVkQ0J6YVdkdWFXWnBaWE1nZEdoaGRGeHVJQ29nWTI5dGNHOXphWFJwYjI0Z2FHRnpJR0psWjNWdVAxeHVJQ3BjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCMGIzQk1aWFpsYkZSNWNHVmNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J1WVhScGRtVkZkbVZ1ZEZ4dUlDb2dRSEpsZEhWeWJpQjdZbTl2YkdWaGJuMWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2x6Um1Gc2JHSmhZMnREYjIxd2IzTnBkR2x2YmxOMFlYSjBLSFJ2Y0V4bGRtVnNWSGx3WlN3Z2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2NtVjBkWEp1SUhSdmNFeGxkbVZzVkhsd1pTQTlQVDBnVkU5UVgwdEZXVjlFVDFkT0lDWW1JRzVoZEdsMlpVVjJaVzUwTG10bGVVTnZaR1VnUFQwOUlGTlVRVkpVWDB0RldVTlBSRVU3WEc1OVhHNHZLaXBjYmlBcUlFUnZaWE1nYjNWeUlHWmhiR3hpWVdOcklHMXZaR1VnZEdocGJtc2dkR2hoZENCMGFHbHpJR1YyWlc1MElHbHpJSFJvWlNCbGJtUWdiMllnWTI5dGNHOXphWFJwYjI0L1hHNGdLbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhSdmNFeGxkbVZzVkhsd1pWeHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjlJRzVoZEdsMlpVVjJaVzUwWEc0Z0tpQkFjbVYwZFhKdUlIdGliMjlzWldGdWZWeHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdhWE5HWVd4c1ltRmphME52YlhCdmMybDBhVzl1Ulc1a0tIUnZjRXhsZG1Wc1ZIbHdaU3dnYm1GMGFYWmxSWFpsYm5RcElIdGNiaUFnYzNkcGRHTm9JQ2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnSUNCallYTmxJRlJQVUY5TFJWbGZWVkE2WEc0Z0lDQWdJQ0F2THlCRGIyMXRZVzVrSUd0bGVYTWdhVzV6WlhKMElHOXlJR05zWldGeUlFbE5SU0JwYm5CMWRDNWNiaUFnSUNBZ0lISmxkSFZ5YmlCRlRrUmZTMFZaUTA5RVJWTXVhVzVrWlhoUFppaHVZWFJwZG1WRmRtVnVkQzVyWlhsRGIyUmxLU0FoUFQwZ0xURTdYRzVjYmlBZ0lDQmpZWE5sSUZSUFVGOUxSVmxmUkU5WFRqcGNiaUFnSUNBZ0lDOHZJRVY0Y0dWamRDQkpUVVVnYTJWNVEyOWtaU0J2YmlCbFlXTm9JR3RsZVdSdmQyNHVJRWxtSUhkbElHZGxkQ0JoYm5rZ2IzUm9aWEpjYmlBZ0lDQWdJQzh2SUdOdlpHVWdkMlVnYlhWemRDQm9ZWFpsSUdWNGFYUmxaQ0JsWVhKc2FXVnlMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNWhkR2wyWlVWMlpXNTBMbXRsZVVOdlpHVWdJVDA5SUZOVVFWSlVYMHRGV1VOUFJFVTdYRzVjYmlBZ0lDQmpZWE5sSUZSUFVGOUxSVmxmVUZKRlUxTTZYRzRnSUNBZ1kyRnpaU0JVVDFCZlRVOVZVMFZmUkU5WFRqcGNiaUFnSUNCallYTmxJRlJQVUY5Q1RGVlNPbHh1SUNBZ0lDQWdMeThnUlhabGJuUnpJR0Z5WlNCdWIzUWdjRzl6YzJsaWJHVWdkMmwwYUc5MWRDQmpZVzVqWld4c2FXNW5JRWxOUlM1Y2JpQWdJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dWZWeHVMeW9xWEc0Z0tpQkhiMjluYkdVZ1NXNXdkWFFnVkc5dmJITWdjSEp2ZG1sa1pYTWdZMjl0Y0c5emFYUnBiMjRnWkdGMFlTQjJhV0VnWVNCRGRYTjBiMjFGZG1WdWRDeGNiaUFxSUhkcGRHZ2dkR2hsSUdCa1lYUmhZQ0J3Y205d1pYSjBlU0J3YjNCMWJHRjBaV1FnYVc0Z2RHaGxJR0JrWlhSaGFXeGdJRzlpYW1WamRDNGdTV1lnZEdocGMxeHVJQ29nYVhNZ1lYWmhhV3hoWW14bElHOXVJSFJvWlNCbGRtVnVkQ0J2WW1wbFkzUXNJSFZ6WlNCcGRDNGdTV1lnYm05MExDQjBhR2x6SUdseklHRWdjR3hoYVc1Y2JpQXFJR052YlhCdmMybDBhVzl1SUdWMlpXNTBJR0Z1WkNCM1pTQm9ZWFpsSUc1dmRHaHBibWNnYzNCbFkybGhiQ0IwYnlCbGVIUnlZV04wTGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J1WVhScGRtVkZkbVZ1ZEZ4dUlDb2dRSEpsZEhWeWJpQjdQM04wY21sdVozMWNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJR2RsZEVSaGRHRkdjbTl0UTNWemRHOXRSWFpsYm5Rb2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2RtRnlJR1JsZEdGcGJDQTlJRzVoZEdsMlpVVjJaVzUwTG1SbGRHRnBiRHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR1JsZEdGcGJDQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ0oyUmhkR0VuSUdsdUlHUmxkR0ZwYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJrWlhSaGFXd3VaR0YwWVR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dUx5b3FYRzRnS2lCRGFHVmpheUJwWmlCaElHTnZiWEJ2YzJsMGFXOXVJR1YyWlc1MElIZGhjeUIwY21sbloyVnlaV1FnWW5rZ1MyOXlaV0Z1SUVsTlJTNWNiaUFxSUU5MWNpQm1ZV3hzWW1GamF5QnRiMlJsSUdSdlpYTWdibTkwSUhkdmNtc2dkMlZzYkNCM2FYUm9JRWxGSjNNZ1MyOXlaV0Z1SUVsTlJTeGNiaUFxSUhOdklHcDFjM1FnZFhObElHNWhkR2wyWlNCamIyMXdiM05wZEdsdmJpQmxkbVZ1ZEhNZ2QyaGxiaUJMYjNKbFlXNGdTVTFGSUdseklIVnpaV1F1WEc0Z0tpQkJiSFJvYjNWbmFDQkRiMjF3YjNOcGRHbHZia1YyWlc1MExteHZZMkZzWlNCd2NtOXdaWEowZVNCcGN5QmtaWEJ5WldOaGRHVmtMRnh1SUNvZ2FYUWdhWE1nWVhaaGFXeGhZbXhsSUdsdUlFbEZMQ0IzYUdWeVpTQnZkWElnWm1Gc2JHSmhZMnNnYlc5a1pTQnBjeUJsYm1GaWJHVmtMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnVZWFJwZG1WRmRtVnVkRnh1SUNvZ1FISmxkSFZ5YmlCN1ltOXZiR1ZoYm4xY2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlHbHpWWE5wYm1kTGIzSmxZVzVKVFVVb2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2NtVjBkWEp1SUc1aGRHbDJaVVYyWlc1MExteHZZMkZzWlNBOVBUMGdKMnR2Snp0Y2JuMGdMeThnVkhKaFkyc2dkR2hsSUdOMWNuSmxiblFnU1UxRklHTnZiWEJ2YzJsMGFXOXVJSE4wWVhSMWN5d2dhV1lnWVc1NUxseHVYRzVjYm5aaGNpQnBjME52YlhCdmMybHVaeUE5SUdaaGJITmxPMXh1THlvcVhHNGdLaUJBY21WMGRYSnVJSHMvYjJKcVpXTjBmU0JCSUZONWJuUm9aWFJwWTBOdmJYQnZjMmwwYVc5dVJYWmxiblF1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWlhoMGNtRmpkRU52YlhCdmMybDBhVzl1UlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFwSUh0Y2JpQWdkbUZ5SUdWMlpXNTBWSGx3WlR0Y2JpQWdkbUZ5SUdaaGJHeGlZV05yUkdGMFlUdGNibHh1SUNCcFppQW9ZMkZ1VlhObFEyOXRjRzl6YVhScGIyNUZkbVZ1ZENrZ2UxeHVJQ0FnSUdWMlpXNTBWSGx3WlNBOUlHZGxkRU52YlhCdmMybDBhVzl1UlhabGJuUlVlWEJsS0hSdmNFeGxkbVZzVkhsd1pTazdYRzRnSUgwZ1pXeHpaU0JwWmlBb0lXbHpRMjl0Y0c5emFXNW5LU0I3WEc0Z0lDQWdhV1lnS0dselJtRnNiR0poWTJ0RGIyMXdiM05wZEdsdmJsTjBZWEowS0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwS1NCN1hHNGdJQ0FnSUNCbGRtVnVkRlI1Y0dVZ1BTQmxkbVZ1ZEZSNWNHVnpMbU52YlhCdmMybDBhVzl1VTNSaGNuUTdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdhV1lnS0dselJtRnNiR0poWTJ0RGIyMXdiM05wZEdsdmJrVnVaQ2gwYjNCTVpYWmxiRlI1Y0dVc0lHNWhkR2wyWlVWMlpXNTBLU2tnZTF4dUlDQWdJR1YyWlc1MFZIbHdaU0E5SUdWMlpXNTBWSGx3WlhNdVkyOXRjRzl6YVhScGIyNUZibVE3WEc0Z0lIMWNibHh1SUNCcFppQW9JV1YyWlc1MFZIbHdaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2FXWWdLSFZ6WlVaaGJHeGlZV05yUTI5dGNHOXphWFJwYjI1RVlYUmhJQ1ltSUNGcGMxVnphVzVuUzI5eVpXRnVTVTFGS0c1aGRHbDJaVVYyWlc1MEtTa2dlMXh1SUNBZ0lDOHZJRlJvWlNCamRYSnlaVzUwSUdOdmJYQnZjMmwwYVc5dUlHbHpJSE4wYjNKbFpDQnpkR0YwYVdOaGJHeDVJR0Z1WkNCdGRYTjBJRzV2ZENCaVpWeHVJQ0FnSUM4dklHOTJaWEozY21sMGRHVnVJSGRvYVd4bElHTnZiWEJ2YzJsMGFXOXVJR052Ym5ScGJuVmxjeTVjYmlBZ0lDQnBaaUFvSVdselEyOXRjRzl6YVc1bklDWW1JR1YyWlc1MFZIbHdaU0E5UFQwZ1pYWmxiblJVZVhCbGN5NWpiMjF3YjNOcGRHbHZibE4wWVhKMEtTQjdYRzRnSUNBZ0lDQnBjME52YlhCdmMybHVaeUE5SUdsdWFYUnBZV3hwZW1Vb2JtRjBhWFpsUlhabGJuUlVZWEpuWlhRcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb1pYWmxiblJVZVhCbElEMDlQU0JsZG1WdWRGUjVjR1Z6TG1OdmJYQnZjMmwwYVc5dVJXNWtLU0I3WEc0Z0lDQWdJQ0JwWmlBb2FYTkRiMjF3YjNOcGJtY3BJSHRjYmlBZ0lDQWdJQ0FnWm1Gc2JHSmhZMnRFWVhSaElEMGdaMlYwUkdGMFlTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCbGRtVnVkQ0E5SUZONWJuUm9aWFJwWTBOdmJYQnZjMmwwYVc5dVJYWmxiblF1WjJWMFVHOXZiR1ZrS0dWMlpXNTBWSGx3WlN3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwS1R0Y2JseHVJQ0JwWmlBb1ptRnNiR0poWTJ0RVlYUmhLU0I3WEc0Z0lDQWdMeThnU1c1cVpXTjBJR1JoZEdFZ1oyVnVaWEpoZEdWa0lHWnliMjBnWm1Gc2JHSmhZMnNnY0dGMGFDQnBiblJ2SUhSb1pTQnplVzUwYUdWMGFXTWdaWFpsYm5RdVhHNGdJQ0FnTHk4Z1ZHaHBjeUJ0WVhSamFHVnpJSFJvWlNCd2NtOXdaWEowZVNCdlppQnVZWFJwZG1VZ1EyOXRjRzl6YVhScGIyNUZkbVZ1ZEVsdWRHVnlabUZqWlM1Y2JpQWdJQ0JsZG1WdWRDNWtZWFJoSUQwZ1ptRnNiR0poWTJ0RVlYUmhPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCamRYTjBiMjFFWVhSaElEMGdaMlYwUkdGMFlVWnliMjFEZFhOMGIyMUZkbVZ1ZENodVlYUnBkbVZGZG1WdWRDazdYRzVjYmlBZ0lDQnBaaUFvWTNWemRHOXRSR0YwWVNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1pYWmxiblF1WkdGMFlTQTlJR04xYzNSdmJVUmhkR0U3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWVdOamRXMTFiR0YwWlZSM2IxQm9ZWE5sUkdsemNHRjBZMmhsY3lobGRtVnVkQ2s3WEc0Z0lISmxkSFZ5YmlCbGRtVnVkRHRjYm4xY2JpOHFLbHh1SUNvZ1FIQmhjbUZ0SUh0VWIzQk1aWFpsYkZSNWNHVjlJSFJ2Y0V4bGRtVnNWSGx3WlNCT2RXMWlaWElnWm5KdmJTQmdWRzl3VEdWMlpXeFVlWEJsWUM1Y2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnVZWFJwZG1WRmRtVnVkQ0JPWVhScGRtVWdZbkp2ZDNObGNpQmxkbVZ1ZEM1Y2JpQXFJRUJ5WlhSMWNtNGdlejl6ZEhKcGJtZDlJRlJvWlNCemRISnBibWNnWTI5eWNtVnpjRzl1WkdsdVp5QjBieUIwYUdseklHQmlaV1p2Y21WSmJuQjFkR0FnWlhabGJuUXVYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUJuWlhST1lYUnBkbVZDWldadmNtVkpibkIxZEVOb1lYSnpLSFJ2Y0V4bGRtVnNWSGx3WlN3Z2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2MzZHBkR05vSUNoMGIzQk1aWFpsYkZSNWNHVXBJSHRjYmlBZ0lDQmpZWE5sSUZSUFVGOURUMDFRVDFOSlZFbFBUbDlGVGtRNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWjJWMFJHRjBZVVp5YjIxRGRYTjBiMjFGZG1WdWRDaHVZWFJwZG1WRmRtVnVkQ2s3WEc1Y2JpQWdJQ0JqWVhObElGUlBVRjlMUlZsZlVGSkZVMU02WEc0Z0lDQWdJQ0F2S2lwY2JpQWdJQ0FnSUNBcUlFbG1JRzVoZEdsMlpTQmdkR1Y0ZEVsdWNIVjBZQ0JsZG1WdWRITWdZWEpsSUdGMllXbHNZV0pzWlN3Z2IzVnlJR2R2WVd3Z2FYTWdkRzhnYldGclpWeHVJQ0FnSUNBZ0lDb2dkWE5sSUc5bUlIUm9aVzB1SUVodmQyVjJaWElzSUhSb1pYSmxJR2x6SUdFZ2MzQmxZMmxoYkNCallYTmxPaUIwYUdVZ2MzQmhZMlZpWVhJZ2EyVjVMbHh1SUNBZ0lDQWdJQ29nU1c0Z1YyVmlhMmwwTENCd2NtVjJaVzUwYVc1bklHUmxabUYxYkhRZ2IyNGdZU0J6Y0dGalpXSmhjaUJnZEdWNGRFbHVjSFYwWUNCbGRtVnVkRnh1SUNBZ0lDQWdJQ29nWTJGdVkyVnNjeUJqYUdGeVlXTjBaWElnYVc1elpYSjBhVzl1TENCaWRYUWdhWFFnS21Gc2MyOHFJR05oZFhObGN5QjBhR1VnWW5KdmQzTmxjbHh1SUNBZ0lDQWdJQ29nZEc4Z1ptRnNiQ0JpWVdOcklIUnZJR2wwY3lCa1pXWmhkV3gwSUhOd1lXTmxZbUZ5SUdKbGFHRjJhVzl5SUc5bUlITmpjbTlzYkdsdVp5QjBhR1ZjYmlBZ0lDQWdJQ0FxSUhCaFoyVXVYRzRnSUNBZ0lDQWdLbHh1SUNBZ0lDQWdJQ29nVkhKaFkydHBibWNnWVhRNlhHNGdJQ0FnSUNBZ0tpQm9kSFJ3Y3pvdkwyTnZaR1V1WjI5dloyeGxMbU52YlM5d0wyTm9jbTl0YVhWdEwybHpjM1ZsY3k5a1pYUmhhV3cvYVdROU16VTFNVEF6WEc0Z0lDQWdJQ0FnS2x4dUlDQWdJQ0FnSUNvZ1ZHOGdZWFp2YVdRZ2RHaHBjeUJwYzNOMVpTd2dkWE5sSUhSb1pTQnJaWGx3Y21WemN5QmxkbVZ1ZENCaGN5QnBaaUJ1YnlCZ2RHVjRkRWx1Y0hWMFlGeHVJQ0FnSUNBZ0lDb2daWFpsYm5RZ2FYTWdZWFpoYVd4aFlteGxMbHh1SUNBZ0lDQWdJQ292WEc0Z0lDQWdJQ0IyWVhJZ2QyaHBZMmdnUFNCdVlYUnBkbVZGZG1WdWRDNTNhR2xqYUR0Y2JseHVJQ0FnSUNBZ2FXWWdLSGRvYVdOb0lDRTlQU0JUVUVGRFJVSkJVbDlEVDBSRktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCb1lYTlRjR0ZqWlV0bGVYQnlaWE56SUQwZ2RISjFaVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQlRVRUZEUlVKQlVsOURTRUZTTzF4dVhHNGdJQ0FnWTJGelpTQlVUMUJmVkVWWVZGOUpUbEJWVkRwY2JpQWdJQ0FnSUM4dklGSmxZMjl5WkNCMGFHVWdZMmhoY21GamRHVnljeUIwYnlCaVpTQmhaR1JsWkNCMGJ5QjBhR1VnUkU5TkxseHVJQ0FnSUNBZ2RtRnlJR05vWVhKeklEMGdibUYwYVhabFJYWmxiblF1WkdGMFlUc2dMeThnU1dZZ2FYUW5jeUJoSUhOd1lXTmxZbUZ5SUdOb1lYSmhZM1JsY2l3Z1lYTnpkVzFsSUhSb1lYUWdkMlVnYUdGMlpTQmhiSEpsWVdSNUlHaGhibVJzWldSY2JpQWdJQ0FnSUM4dklHbDBJR0YwSUhSb1pTQnJaWGx3Y21WemN5QnNaWFpsYkNCaGJtUWdZbUZwYkNCcGJXMWxaR2xoZEdWc2VTNGdRVzVrY205cFpDQkRhSEp2YldWY2JpQWdJQ0FnSUM4dklHUnZaWE51SjNRZ1oybDJaU0IxY3lCclpYbGpiMlJsY3l3Z2MyOGdkMlVnYm1WbFpDQjBieUJwWjI1dmNtVWdhWFF1WEc1Y2JpQWdJQ0FnSUdsbUlDaGphR0Z5Y3lBOVBUMGdVMUJCUTBWQ1FWSmZRMGhCVWlBbUppQm9ZWE5UY0dGalpVdGxlWEJ5WlhOektTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnWTJoaGNuTTdYRzVjYmlBZ0lDQmtaV1poZFd4ME9seHVJQ0FnSUNBZ0x5OGdSbTl5SUc5MGFHVnlJRzVoZEdsMlpTQmxkbVZ1ZENCMGVYQmxjeXdnWkc4Z2JtOTBhR2x1Wnk1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFWnZjaUJpY205M2MyVnljeUIwYUdGMElHUnZJRzV2ZENCd2NtOTJhV1JsSUhSb1pTQmdkR1Y0ZEVsdWNIVjBZQ0JsZG1WdWRDd2daWGgwY21GamRDQjBhR1ZjYmlBcUlHRndjSEp2Y0hKcFlYUmxJSE4wY21sdVp5QjBieUIxYzJVZ1ptOXlJRk41Ym5Sb1pYUnBZMGx1Y0hWMFJYWmxiblF1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJSFJ2Y0V4bGRtVnNWSGx3WlNCT2RXMWlaWElnWm5KdmJTQmdWRzl3VEdWMlpXeEZkbVZ1ZEZSNWNHVnpZQzVjYmlBcUlFQndZWEpoYlNCN2IySnFaV04wZlNCdVlYUnBkbVZGZG1WdWRDQk9ZWFJwZG1VZ1luSnZkM05sY2lCbGRtVnVkQzVjYmlBcUlFQnlaWFIxY200Z2V6OXpkSEpwYm1kOUlGUm9aU0JtWVd4c1ltRmpheUJ6ZEhKcGJtY2dabTl5SUhSb2FYTWdZR0psWm05eVpVbHVjSFYwWUNCbGRtVnVkQzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRFWmhiR3hpWVdOclFtVm1iM0psU1c1d2RYUkRhR0Z5Y3loMGIzQk1aWFpsYkZSNWNHVXNJRzVoZEdsMlpVVjJaVzUwS1NCN1hHNGdJQzh2SUVsbUlIZGxJR0Z5WlNCamRYSnlaVzUwYkhrZ1kyOXRjRzl6YVc1bklDaEpUVVVwSUdGdVpDQjFjMmx1WnlCaElHWmhiR3hpWVdOcklIUnZJR1J2SUhOdkxGeHVJQ0F2THlCMGNua2dkRzhnWlhoMGNtRmpkQ0IwYUdVZ1kyOXRjRzl6WldRZ1kyaGhjbUZqZEdWeWN5Qm1jbTl0SUhSb1pTQm1ZV3hzWW1GamF5QnZZbXBsWTNRdVhHNGdJQzh2SUVsbUlHTnZiWEJ2YzJsMGFXOXVJR1YyWlc1MElHbHpJR0YyWVdsc1lXSnNaU3dnZDJVZ1pYaDBjbUZqZENCaElITjBjbWx1WnlCdmJteDVJR0YwWEc0Z0lDOHZJR052YlhCdmMybDBhVzl1WlhabGJuUXNJRzkwYUdWeWQybHpaU0JsZUhSeVlXTjBJR2wwSUdGMElHWmhiR3hpWVdOcklHVjJaVzUwY3k1Y2JpQWdhV1lnS0dselEyOXRjRzl6YVc1bktTQjdYRzRnSUNBZ2FXWWdLSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDBOUFRWQlBVMGxVU1U5T1gwVk9SQ0I4ZkNBaFkyRnVWWE5sUTI5dGNHOXphWFJwYjI1RmRtVnVkQ0FtSmlCcGMwWmhiR3hpWVdOclEyOXRjRzl6YVhScGIyNUZibVFvZEc5d1RHVjJaV3hVZVhCbExDQnVZWFJwZG1WRmRtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhaaGNpQmphR0Z5Y3lBOUlHZGxkRVJoZEdFb0tUdGNiaUFnSUNBZ0lISmxjMlYwS0NrN1hHNGdJQ0FnSUNCcGMwTnZiWEJ2YzJsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOb1lYSnpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYzNkcGRHTm9JQ2gwYjNCTVpYWmxiRlI1Y0dVcElIdGNiaUFnSUNCallYTmxJRlJQVUY5UVFWTlVSVHBjYmlBZ0lDQWdJQzh2SUVsbUlHRWdjR0Z6ZEdVZ1pYWmxiblFnYjJOamRYSnpJR0ZtZEdWeUlHRWdhMlY1Y0hKbGMzTXNJSFJvY205M0lHOTFkQ0IwYUdVZ2FXNXdkWFJjYmlBZ0lDQWdJQzh2SUdOb1lYSnpMaUJRWVhOMFpTQmxkbVZ1ZEhNZ2MyaHZkV3hrSUc1dmRDQnNaV0ZrSUhSdklFSmxabTl5WlVsdWNIVjBJR1YyWlc1MGN5NWNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdZMkZ6WlNCVVQxQmZTMFZaWDFCU1JWTlRPbHh1SUNBZ0lDQWdMeW9xWEc0Z0lDQWdJQ0FnS2lCQmN5QnZaaUIyTWpjc0lFWnBjbVZtYjNnZ2JXRjVJR1pwY21VZ2EyVjVjSEpsYzNNZ1pYWmxiblJ6SUdWMlpXNGdkMmhsYmlCdWJ5QmphR0Z5WVdOMFpYSmNiaUFnSUNBZ0lDQXFJSGRwYkd3Z1ltVWdhVzV6WlhKMFpXUXVJRUVnWm1WM0lIQnZjM05wWW1sc2FYUnBaWE02WEc0Z0lDQWdJQ0FnS2x4dUlDQWdJQ0FnSUNvZ0xTQmdkMmhwWTJoZ0lHbHpJR0F3WUM0Z1FYSnliM2NnYTJWNWN5d2dSWE5qSUd0bGVTd2daWFJqTGx4dUlDQWdJQ0FnSUNwY2JpQWdJQ0FnSUNBcUlDMGdZSGRvYVdOb1lDQnBjeUIwYUdVZ2NISmxjM05sWkNCclpYa2dZMjlrWlN3Z1luVjBJRzV2SUdOb1lYSWdhWE1nWVhaaGFXeGhZbXhsTGx4dUlDQWdJQ0FnSUNvZ0lDQkZlRG9nSjBGc2RFZHlJQ3NnWkdBZ2FXNGdVRzlzYVhOb0xpQlVhR1Z5WlNCcGN5QnVieUJ0YjJScFptbGxaQ0JqYUdGeVlXTjBaWElnWm05eVhHNGdJQ0FnSUNBZ0tpQWdJSFJvYVhNZ2EyVjVJR052YldKcGJtRjBhVzl1SUdGdVpDQnVieUJqYUdGeVlXTjBaWElnYVhNZ2FXNXpaWEowWldRZ2FXNTBieUIwYUdWY2JpQWdJQ0FnSUNBcUlDQWdaRzlqZFcxbGJuUXNJR0oxZENCR1JpQm1hWEpsY3lCMGFHVWdhMlY1Y0hKbGMzTWdabTl5SUdOb1lYSWdZMjlrWlNCZ01UQXdZQ0JoYm5sM1lYa3VYRzRnSUNBZ0lDQWdLaUFnSUU1dklHQnBibkIxZEdBZ1pYWmxiblFnZDJsc2JDQnZZMk4xY2k1Y2JpQWdJQ0FnSUNBcVhHNGdJQ0FnSUNBZ0tpQXRJR0IzYUdsamFHQWdhWE1nZEdobElIQnlaWE56WldRZ2EyVjVJR052WkdVc0lHSjFkQ0JoSUdOdmJXMWhibVFnWTI5dFltbHVZWFJwYjI0Z2FYTmNiaUFnSUNBZ0lDQXFJQ0FnWW1WcGJtY2dkWE5sWkM0Z1JYZzZJR0JEYldRclEyQXVJRTV2SUdOb1lYSmhZM1JsY2lCcGN5QnBibk5sY25SbFpDd2dZVzVrSUc1dlhHNGdJQ0FnSUNBZ0tpQWdJR0JwYm5CMWRHQWdaWFpsYm5RZ2QybHNiQ0J2WTJOMWNpNWNiaUFnSUNBZ0lDQXFMMXh1SUNBZ0lDQWdhV1lnS0NGcGMwdGxlWEJ5WlhOelEyOXRiV0Z1WkNodVlYUnBkbVZGZG1WdWRDa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1NVVWdabWx5WlhNZ2RHaGxJR0JyWlhsd2NtVnpjMkFnWlhabGJuUWdkMmhsYmlCaElIVnpaWElnZEhsd1pYTWdZVzRnWlcxdmFta2dkbWxoWEc0Z0lDQWdJQ0FnSUM4dklGUnZkV05vSUd0bGVXSnZZWEprSUc5bUlGZHBibVJ2ZDNNdUlDQkpiaUJ6ZFdOb0lHRWdZMkZ6WlN3Z2RHaGxJR0JqYUdGeVlDQndjbTl3WlhKMGVWeHVJQ0FnSUNBZ0lDQXZMeUJvYjJ4a2N5QmhiaUJsYlc5cWFTQmphR0Z5WVdOMFpYSWdiR2xyWlNCZ1hGeDFSRGd6UkZ4Y2RVUkZNRUZnTGlBZ1FtVmpZWFZ6WlNCcGRITWdiR1Z1WjNSb1hHNGdJQ0FnSUNBZ0lDOHZJR2x6SURJc0lIUm9aU0J3Y205d1pYSjBlU0JnZDJocFkyaGdJR1J2WlhNZ2JtOTBJSEpsY0hKbGMyVnVkQ0JoYmlCbGJXOXFhU0JqYjNKeVpXTjBiSGt1WEc0Z0lDQWdJQ0FnSUM4dklFbHVJSE4xWTJnZ1lTQmpZWE5sTENCM1pTQmthWEpsWTNSc2VTQnlaWFIxY200Z2RHaGxJR0JqYUdGeVlDQndjbTl3WlhKMGVTQnBibk4wWldGa0lHOW1YRzRnSUNBZ0lDQWdJQzh2SUhWemFXNW5JR0IzYUdsamFHQXVYRzRnSUNBZ0lDQWdJR2xtSUNodVlYUnBkbVZGZG1WdWRDNWphR0Z5SUNZbUlHNWhkR2wyWlVWMlpXNTBMbU5vWVhJdWJHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1WVhScGRtVkZkbVZ1ZEM1amFHRnlPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0c1aGRHbDJaVVYyWlc1MExuZG9hV05vS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlGTjBjbWx1Wnk1bWNtOXRRMmhoY2tOdlpHVW9ibUYwYVhabFJYWmxiblF1ZDJocFkyZ3BPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVYRzRnSUNBZ1kyRnpaU0JVVDFCZlEwOU5VRTlUU1ZSSlQwNWZSVTVFT2x4dUlDQWdJQ0FnY21WMGRYSnVJSFZ6WlVaaGJHeGlZV05yUTI5dGNHOXphWFJwYjI1RVlYUmhJQ1ltSUNGcGMxVnphVzVuUzI5eVpXRnVTVTFGS0c1aGRHbDJaVVYyWlc1MEtTQS9JRzUxYkd3Z09pQnVZWFJwZG1WRmRtVnVkQzVrWVhSaE8xeHVYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFVjRkSEpoWTNRZ1lTQlRlVzUwYUdWMGFXTkpibkIxZEVWMlpXNTBJR1p2Y2lCZ1ltVm1iM0psU1c1d2RYUmdMQ0JpWVhObFpDQnZiaUJsYVhSb1pYSWdibUYwYVhabFhHNGdLaUJnZEdWNGRFbHVjSFYwWUNCdmNpQm1ZV3hzWW1GamF5QmlaV2hoZG1sdmNpNWNiaUFxWEc0Z0tpQkFjbVYwZFhKdUlIcy9iMkpxWldOMGZTQkJJRk41Ym5Sb1pYUnBZMGx1Y0hWMFJYWmxiblF1WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCbGVIUnlZV04wUW1WbWIzSmxTVzV3ZFhSRmRtVnVkQ2gwYjNCTVpYWmxiRlI1Y0dVc0lIUmhjbWRsZEVsdWMzUXNJRzVoZEdsMlpVVjJaVzUwTENCdVlYUnBkbVZGZG1WdWRGUmhjbWRsZENrZ2UxeHVJQ0IyWVhJZ1kyaGhjbk03WEc1Y2JpQWdhV1lnS0dOaGJsVnpaVlJsZUhSSmJuQjFkRVYyWlc1MEtTQjdYRzRnSUNBZ1kyaGhjbk1nUFNCblpYUk9ZWFJwZG1WQ1pXWnZjbVZKYm5CMWRFTm9ZWEp6S0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUdOb1lYSnpJRDBnWjJWMFJtRnNiR0poWTJ0Q1pXWnZjbVZKYm5CMWRFTm9ZWEp6S0hSdmNFeGxkbVZzVkhsd1pTd2dibUYwYVhabFJYWmxiblFwTzF4dUlDQjlJQzh2SUVsbUlHNXZJR05vWVhKaFkzUmxjbk1nWVhKbElHSmxhVzVuSUdsdWMyVnlkR1ZrTENCdWJ5QkNaV1p2Y21WSmJuQjFkQ0JsZG1WdWRDQnphRzkxYkdSY2JpQWdMeThnWW1VZ1ptbHlaV1F1WEc1Y2JseHVJQ0JwWmlBb0lXTm9ZWEp6S1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjJZWElnWlhabGJuUWdQU0JUZVc1MGFHVjBhV05KYm5CMWRFVjJaVzUwTG1kbGRGQnZiMnhsWkNobGRtVnVkRlI1Y0dWekxtSmxabTl5WlVsdWNIVjBMQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXBPMXh1SUNCbGRtVnVkQzVrWVhSaElEMGdZMmhoY25NN1hHNGdJR0ZqWTNWdGRXeGhkR1ZVZDI5UWFHRnpaVVJwYzNCaGRHTm9aWE1vWlhabGJuUXBPMXh1SUNCeVpYUjFjbTRnWlhabGJuUTdYRzU5WEc0dktpcGNiaUFxSUVOeVpXRjBaU0JoYmlCZ2IyNUNaV1p2Y21WSmJuQjFkR0FnWlhabGJuUWdkRzhnYldGMFkyaGNiaUFxSUdoMGRIQTZMeTkzZDNjdWR6TXViM0puTDFSU0x6SXdNVE12VjBRdFJFOU5MVXhsZG1Wc0xUTXRSWFpsYm5SekxUSXdNVE14TVRBMUx5TmxkbVZ1ZEhNdGFXNXdkWFJsZG1WdWRITXVYRzRnS2x4dUlDb2dWR2hwY3lCbGRtVnVkQ0J3YkhWbmFXNGdhWE1nWW1GelpXUWdiMjRnZEdobElHNWhkR2wyWlNCZ2RHVjRkRWx1Y0hWMFlDQmxkbVZ1ZEZ4dUlDb2dZWFpoYVd4aFlteGxJR2x1SUVOb2NtOXRaU3dnVTJGbVlYSnBMQ0JQY0dWeVlTd2dZVzVrSUVsRkxpQlVhR2x6SUdWMlpXNTBJR1pwY21WeklHRm1kR1Z5WEc0Z0tpQmdiMjVMWlhsUWNtVnpjMkFnWVc1a0lHQnZia052YlhCdmMybDBhVzl1Ulc1a1lDd2dZblYwSUdKbFptOXlaU0JnYjI1SmJuQjFkR0F1WEc0Z0tseHVJQ29nWUdKbFptOXlaVWx1Y0hWMFlDQnBjeUJ6Y0dWakoyUWdZblYwSUc1dmRDQnBiWEJzWlcxbGJuUmxaQ0JwYmlCaGJua2dZbkp2ZDNObGNuTXNJR0Z1WkZ4dUlDb2dkR2hsSUdCcGJuQjFkR0FnWlhabGJuUWdaRzlsY3lCdWIzUWdjSEp2ZG1sa1pTQmhibmtnZFhObFpuVnNJR2x1Wm05eWJXRjBhVzl1SUdGaWIzVjBJSGRvWVhRZ2FHRnpYRzRnS2lCaFkzUjFZV3hzZVNCaVpXVnVJR0ZrWkdWa0xDQmpiMjUwY21GeWVTQjBieUIwYUdVZ2MzQmxZeTRnVkdoMWN5d2dZSFJsZUhSSmJuQjFkR0FnYVhNZ2RHaGxJR0psYzNSY2JpQXFJR0YyWVdsc1lXSnNaU0JsZG1WdWRDQjBieUJwWkdWdWRHbG1lU0IwYUdVZ1kyaGhjbUZqZEdWeWN5QjBhR0YwSUdoaGRtVWdZV04wZFdGc2JIa2dZbVZsYmlCcGJuTmxjblJsWkZ4dUlDb2dhVzUwYnlCMGFHVWdkR0Z5WjJWMElHNXZaR1V1WEc0Z0tseHVJQ29nVkdocGN5QndiSFZuYVc0Z2FYTWdZV3h6YnlCeVpYTndiMjV6YVdKc1pTQm1iM0lnWlcxcGRIUnBibWNnWUdOdmJYQnZjMmwwYVc5dVlDQmxkbVZ1ZEhNc0lIUm9kWE5jYmlBcUlHRnNiRzkzYVc1bklIVnpJSFJ2SUhOb1lYSmxJR052YlhCdmMybDBhVzl1SUdaaGJHeGlZV05ySUdOdlpHVWdabTl5SUdKdmRHZ2dZR0psWm05eVpVbHVjSFYwWUNCaGJtUmNiaUFxSUdCamIyMXdiM05wZEdsdmJtQWdaWFpsYm5RZ2RIbHdaWE11WEc0Z0tpOWNibHh1WEc1MllYSWdRbVZtYjNKbFNXNXdkWFJGZG1WdWRGQnNkV2RwYmlBOUlIdGNiaUFnWlhabGJuUlVlWEJsY3pvZ1pYWmxiblJVZVhCbGN5eGNiaUFnWlhoMGNtRmpkRVYyWlc1MGN6b2dablZ1WTNScGIyNGdLSFJ2Y0V4bGRtVnNWSGx3WlN3Z2RHRnlaMlYwU1c1emRDd2dibUYwYVhabFJYWmxiblFzSUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwTENCbGRtVnVkRk41YzNSbGJVWnNZV2R6S1NCN1hHNGdJQ0FnZG1GeUlHTnZiWEJ2YzJsMGFXOXVJRDBnWlhoMGNtRmpkRU52YlhCdmMybDBhVzl1UlhabGJuUW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFwTzF4dUlDQWdJSFpoY2lCaVpXWnZjbVZKYm5CMWRDQTlJR1Y0ZEhKaFkzUkNaV1p2Y21WSmJuQjFkRVYyWlc1MEtIUnZjRXhsZG1Wc1ZIbHdaU3dnZEdGeVoyVjBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLVHRjYmx4dUlDQWdJR2xtSUNoamIyMXdiM05wZEdsdmJpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHSmxabTl5WlVsdWNIVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hpWldadmNtVkpibkIxZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOdmJYQnZjMmwwYVc5dU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJiWTI5dGNHOXphWFJwYjI0c0lHSmxabTl5WlVsdWNIVjBYVHRjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCQWMyVmxJR2gwZEhBNkx5OTNkM2N1ZDJoaGRIZG5MbTl5Wnk5emNHVmpjeTkzWldJdFlYQndjeTlqZFhKeVpXNTBMWGR2Y21zdmJYVnNkR2x3WVdkbEwzUm9aUzFwYm5CMWRDMWxiR1Z0Wlc1MExtaDBiV3dqYVc1d2RYUXRkSGx3WlMxaGRIUnlMWE4xYlcxaGNubGNiaUFxTDF4dWRtRnlJSE4xY0hCdmNuUmxaRWx1Y0hWMFZIbHdaWE1nUFNCN1hHNGdJR052Ykc5eU9pQjBjblZsTEZ4dUlDQmtZWFJsT2lCMGNuVmxMRnh1SUNCa1lYUmxkR2x0WlRvZ2RISjFaU3hjYmlBZ0oyUmhkR1YwYVcxbExXeHZZMkZzSnpvZ2RISjFaU3hjYmlBZ1pXMWhhV3c2SUhSeWRXVXNYRzRnSUcxdmJuUm9PaUIwY25WbExGeHVJQ0J1ZFcxaVpYSTZJSFJ5ZFdVc1hHNGdJSEJoYzNOM2IzSmtPaUIwY25WbExGeHVJQ0J5WVc1blpUb2dkSEoxWlN4Y2JpQWdjMlZoY21Ob09pQjBjblZsTEZ4dUlDQjBaV3c2SUhSeWRXVXNYRzRnSUhSbGVIUTZJSFJ5ZFdVc1hHNGdJSFJwYldVNklIUnlkV1VzWEc0Z0lIVnliRG9nZEhKMVpTeGNiaUFnZDJWbGF6b2dkSEoxWlZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnYVhOVVpYaDBTVzV3ZFhSRmJHVnRaVzUwS0dWc1pXMHBJSHRjYmlBZ2RtRnlJRzV2WkdWT1lXMWxJRDBnWld4bGJTQW1KaUJsYkdWdExtNXZaR1ZPWVcxbElDWW1JR1ZzWlcwdWJtOWtaVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmx4dUlDQnBaaUFvYm05a1pVNWhiV1VnUFQwOUlDZHBibkIxZENjcElIdGNiaUFnSUNCeVpYUjFjbTRnSVNGemRYQndiM0owWldSSmJuQjFkRlI1Y0dWelcyVnNaVzB1ZEhsd1pWMDdYRzRnSUgxY2JseHVJQ0JwWmlBb2JtOWtaVTVoYldVZ1BUMDlJQ2QwWlhoMFlYSmxZU2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCbVlXeHpaVHRjYm4xY2JseHVkbUZ5SUdWMlpXNTBWSGx3WlhNa01TQTlJSHRjYmlBZ1kyaGhibWRsT2lCN1hHNGdJQ0FnY0doaGMyVmtVbVZuYVhOMGNtRjBhVzl1VG1GdFpYTTZJSHRjYmlBZ0lDQWdJR0oxWW1Kc1pXUTZJQ2R2YmtOb1lXNW5aU2NzWEc0Z0lDQWdJQ0JqWVhCMGRYSmxaRG9nSjI5dVEyaGhibWRsUTJGd2RIVnlaU2RjYmlBZ0lDQjlMRnh1SUNBZ0lHUmxjR1Z1WkdWdVkybGxjem9nVzFSUFVGOUNURlZTTENCVVQxQmZRMGhCVGtkRkxDQlVUMUJmUTB4SlEwc3NJRlJQVUY5R1QwTlZVeXdnVkU5UVgwbE9VRlZVTENCVVQxQmZTMFZaWDBSUFYwNHNJRlJQVUY5TFJWbGZWVkFzSUZSUFVGOVRSVXhGUTFSSlQwNWZRMGhCVGtkRlhWeHVJQ0I5WEc1OU8xeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkJibVJCWTJOMWJYVnNZWFJsUTJoaGJtZGxSWFpsYm5Rb2FXNXpkQ3dnYm1GMGFYWmxSWFpsYm5Rc0lIUmhjbWRsZENrZ2UxeHVJQ0IyWVhJZ1pYWmxiblFnUFNCVGVXNTBhR1YwYVdORmRtVnVkQzVuWlhSUWIyOXNaV1FvWlhabGJuUlVlWEJsY3lReExtTm9ZVzVuWlN3Z2FXNXpkQ3dnYm1GMGFYWmxSWFpsYm5Rc0lIUmhjbWRsZENrN1hHNGdJR1YyWlc1MExuUjVjR1VnUFNBblkyaGhibWRsSnpzZ0x5OGdSbXhoWnlCMGFHbHpJR1YyWlc1MElHeHZiM0FnWVhNZ2JtVmxaR2x1WnlCemRHRjBaU0J5WlhOMGIzSmxMbHh1WEc0Z0lHVnVjWFZsZFdWVGRHRjBaVkpsYzNSdmNtVW9kR0Z5WjJWMEtUdGNiaUFnWVdOamRXMTFiR0YwWlZSM2IxQm9ZWE5sUkdsemNHRjBZMmhsY3lobGRtVnVkQ2s3WEc0Z0lISmxkSFZ5YmlCbGRtVnVkRHRjYm4xY2JpOHFLbHh1SUNvZ1JtOXlJRWxGSUhOb2FXMXpYRzRnS2k5Y2JseHVYRzUyWVhJZ1lXTjBhWFpsUld4bGJXVnVkQ0E5SUc1MWJHdzdYRzUyWVhJZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRZ1BTQnVkV3hzTzF4dUx5b3FYRzRnS2lCVFJVTlVTVTlPT2lCb1lXNWtiR1VnWUdOb1lXNW5aV0FnWlhabGJuUmNiaUFxTDF4dVhHNW1kVzVqZEdsdmJpQnphRzkxYkdSVmMyVkRhR0Z1WjJWRmRtVnVkQ2hsYkdWdEtTQjdYRzRnSUhaaGNpQnViMlJsVG1GdFpTQTlJR1ZzWlcwdWJtOWtaVTVoYldVZ0ppWWdaV3hsYlM1dWIyUmxUbUZ0WlM1MGIweHZkMlZ5UTJGelpTZ3BPMXh1SUNCeVpYUjFjbTRnYm05a1pVNWhiV1VnUFQwOUlDZHpaV3hsWTNRbklIeDhJRzV2WkdWT1lXMWxJRDA5UFNBbmFXNXdkWFFuSUNZbUlHVnNaVzB1ZEhsd1pTQTlQVDBnSjJacGJHVW5PMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRZVzUxWVd4RWFYTndZWFJqYUVOb1lXNW5aVVYyWlc1MEtHNWhkR2wyWlVWMlpXNTBLU0I3WEc0Z0lIWmhjaUJsZG1WdWRDQTlJR055WldGMFpVRnVaRUZqWTNWdGRXeGhkR1ZEYUdGdVoyVkZkbVZ1ZENoaFkzUnBkbVZGYkdWdFpXNTBTVzV6ZEN3Z2JtRjBhWFpsUlhabGJuUXNJR2RsZEVWMlpXNTBWR0Z5WjJWMEtHNWhkR2wyWlVWMlpXNTBLU2s3SUM4dklFbG1JR05vWVc1blpTQmhibVFnY0hKdmNHVnlkSGxqYUdGdVoyVWdZblZpWW14bFpDd2dkMlVuWkNCcWRYTjBJR0pwYm1RZ2RHOGdhWFFnYkdsclpTQmhiR3dnZEdobFhHNGdJQzh2SUc5MGFHVnlJR1YyWlc1MGN5QmhibVFnYUdGMlpTQnBkQ0JuYnlCMGFISnZkV2RvSUZKbFlXTjBRbkp2ZDNObGNrVjJaVzUwUlcxcGRIUmxjaTRnVTJsdVkyVWdhWFJjYmlBZ0x5OGdaRzlsYzI0bmRDd2dkMlVnYldGdWRXRnNiSGtnYkdsemRHVnVJR1p2Y2lCMGFHVWdaWFpsYm5SeklHRnVaQ0J6YnlCM1pTQm9ZWFpsSUhSdklHVnVjWFZsZFdVZ1lXNWtYRzRnSUM4dklIQnliMk5sYzNNZ2RHaGxJR0ZpYzNSeVlXTjBJR1YyWlc1MElHMWhiblZoYkd4NUxseHVJQ0F2TDF4dUlDQXZMeUJDWVhSamFHbHVaeUJwY3lCdVpXTmxjM05oY25rZ2FHVnlaU0JwYmlCdmNtUmxjaUIwYnlCbGJuTjFjbVVnZEdoaGRDQmhiR3dnWlhabGJuUWdhR0Z1Wkd4bGNuTWdjblZ1WEc0Z0lDOHZJR0psWm05eVpTQjBhR1VnYm1WNGRDQnlaWEpsYm1SbGNpQW9hVzVqYkhWa2FXNW5JR1YyWlc1MElHaGhibVJzWlhKeklHRjBkR0ZqYUdWa0lIUnZJR0Z1WTJWemRHOXlYRzRnSUM4dklHVnNaVzFsYm5SeklHbHVjM1JsWVdRZ2IyWWdaR2x5WldOMGJIa2diMjRnZEdobElHbHVjSFYwS1M0Z1YybDBhRzkxZENCMGFHbHpMQ0JqYjI1MGNtOXNiR1ZrWEc0Z0lDOHZJR052YlhCdmJtVnVkSE1nWkc5dUozUWdkMjl5YXlCd2NtOXdaWEpzZVNCcGJpQmpiMjVxZFc1amRHbHZiaUIzYVhSb0lHVjJaVzUwSUdKMVltSnNhVzVuSUdKbFkyRjFjMlZjYmlBZ0x5OGdkR2hsSUdOdmJYQnZibVZ1ZENCcGN5QnlaWEpsYm1SbGNtVmtJR0Z1WkNCMGFHVWdkbUZzZFdVZ2NtVjJaWEowWldRZ1ltVm1iM0psSUdGc2JDQjBhR1VnWlhabGJuUmNiaUFnTHk4Z2FHRnVaR3hsY25NZ1kyRnVJSEoxYmk0Z1UyVmxJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk56QTRMbHh1WEc0Z0lHSmhkR05vWldSVmNHUmhkR1Z6S0hKMWJrVjJaVzUwU1c1Q1lYUmphQ3dnWlhabGJuUXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlkVzVGZG1WdWRFbHVRbUYwWTJnb1pYWmxiblFwSUh0Y2JpQWdjblZ1UlhabGJuUnpTVzVDWVhSamFDaGxkbVZ1ZENrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFbHVjM1JKWmxaaGJIVmxRMmhoYm1kbFpDaDBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lIWmhjaUIwWVhKblpYUk9iMlJsSUQwZ1oyVjBUbTlrWlVaeWIyMUpibk4wWVc1alpTUXhLSFJoY21kbGRFbHVjM1FwTzF4dVhHNGdJR2xtSUNoMWNHUmhkR1ZXWVd4MVpVbG1RMmhoYm1kbFpDaDBZWEpuWlhST2IyUmxLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBZWEpuWlhSSmJuTjBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRGUmhjbWRsZEVsdWMzUkdiM0pEYUdGdVoyVkZkbVZ1ZENoMGIzQk1aWFpsYkZSNWNHVXNJSFJoY21kbGRFbHVjM1FwSUh0Y2JpQWdhV1lnS0hSdmNFeGxkbVZzVkhsd1pTQTlQVDBnVkU5UVgwTklRVTVIUlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwWVhKblpYUkpibk4wTzF4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUZORlExUkpUMDQ2SUdoaGJtUnNaU0JnYVc1d2RYUmdJR1YyWlc1MFhHNGdLaTljYmx4dVhHNTJZWElnYVhOSmJuQjFkRVYyWlc1MFUzVndjRzl5ZEdWa0lEMGdabUZzYzJVN1hHNWNibWxtSUNoallXNVZjMlZFVDAwcElIdGNiaUFnTHk4Z1NVVTVJR05zWVdsdGN5QjBieUJ6ZFhCd2IzSjBJSFJvWlNCcGJuQjFkQ0JsZG1WdWRDQmlkWFFnWm1GcGJITWdkRzhnZEhKcFoyZGxjaUJwZENCM2FHVnVYRzRnSUM4dklHUmxiR1YwYVc1bklIUmxlSFFzSUhOdklIZGxJR2xuYm05eVpTQnBkSE1nYVc1d2RYUWdaWFpsYm5SekxseHVJQ0JwYzBsdWNIVjBSWFpsYm5SVGRYQndiM0owWldRZ1BTQnBjMFYyWlc1MFUzVndjRzl5ZEdWa0tDZHBibkIxZENjcElDWW1JQ2doWkc5amRXMWxiblF1Wkc5amRXMWxiblJOYjJSbElIeDhJR1J2WTNWdFpXNTBMbVJ2WTNWdFpXNTBUVzlrWlNBK0lEa3BPMXh1ZlZ4dUx5b3FYRzRnS2lBb1JtOXlJRWxGSUR3OU9Ta2dVM1JoY25SeklIUnlZV05yYVc1bklIQnliM0JsY25SNVkyaGhibWRsSUdWMlpXNTBjeUJ2YmlCMGFHVWdjR0Z6YzJWa0xXbHVJR1ZzWlcxbGJuUmNiaUFxSUdGdVpDQnZkbVZ5Y21sa1pTQjBhR1VnZG1Gc2RXVWdjSEp2Y0dWeWRIa2djMjhnZEdoaGRDQjNaU0JqWVc0Z1pHbHpkR2x1WjNWcGMyZ2dkWE5sY2lCbGRtVnVkSE1nWm5KdmJWeHVJQ29nZG1Gc2RXVWdZMmhoYm1kbGN5QnBiaUJLVXk1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlITjBZWEowVjJGMFkyaHBibWRHYjNKV1lXeDFaVU5vWVc1blpTaDBZWEpuWlhRc0lIUmhjbWRsZEVsdWMzUXBJSHRjYmlBZ1lXTjBhWFpsUld4bGJXVnVkQ0E5SUhSaGNtZGxkRHRjYmlBZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRZ1BTQjBZWEpuWlhSSmJuTjBPMXh1SUNCaFkzUnBkbVZGYkdWdFpXNTBMbUYwZEdGamFFVjJaVzUwS0NkdmJuQnliM0JsY25SNVkyaGhibWRsSnl3Z2FHRnVaR3hsVUhKdmNHVnlkSGxEYUdGdVoyVXBPMXh1ZlZ4dUx5b3FYRzRnS2lBb1JtOXlJRWxGSUR3OU9Ta2dVbVZ0YjNabGN5QjBhR1VnWlhabGJuUWdiR2x6ZEdWdVpYSnpJR1p5YjIwZ2RHaGxJR04xY25KbGJuUnNlUzEwY21GamEyVmtJR1ZzWlcxbGJuUXNYRzRnS2lCcFppQmhibmtnWlhocGMzUnpMbHh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnYzNSdmNGZGhkR05vYVc1blJtOXlWbUZzZFdWRGFHRnVaMlVvS1NCN1hHNGdJR2xtSUNnaFlXTjBhWFpsUld4bGJXVnVkQ2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJR0ZqZEdsMlpVVnNaVzFsYm5RdVpHVjBZV05vUlhabGJuUW9KMjl1Y0hKdmNHVnlkSGxqYUdGdVoyVW5MQ0JvWVc1a2JHVlFjbTl3WlhKMGVVTm9ZVzVuWlNrN1hHNGdJR0ZqZEdsMlpVVnNaVzFsYm5RZ1BTQnVkV3hzTzF4dUlDQmhZM1JwZG1WRmJHVnRaVzUwU1c1emRDQTlJRzUxYkd3N1hHNTlYRzR2S2lwY2JpQXFJQ2hHYjNJZ1NVVWdQRDA1S1NCSVlXNWtiR1Z6SUdFZ2NISnZjR1Z5ZEhsamFHRnVaMlVnWlhabGJuUXNJSE5sYm1ScGJtY2dZU0JnWTJoaGJtZGxZQ0JsZG1WdWRDQnBabHh1SUNvZ2RHaGxJSFpoYkhWbElHOW1JSFJvWlNCaFkzUnBkbVVnWld4bGJXVnVkQ0JvWVhNZ1kyaGhibWRsWkM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlHaGhibVJzWlZCeWIzQmxjblI1UTJoaGJtZGxLRzVoZEdsMlpVVjJaVzUwS1NCN1hHNGdJR2xtSUNodVlYUnBkbVZGZG1WdWRDNXdjbTl3WlhKMGVVNWhiV1VnSVQwOUlDZDJZV3gxWlNjcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCcFppQW9aMlYwU1c1emRFbG1WbUZzZFdWRGFHRnVaMlZrS0dGamRHbDJaVVZzWlcxbGJuUkpibk4wS1NrZ2UxeHVJQ0FnSUcxaGJuVmhiRVJwYzNCaGRHTm9RMmhoYm1kbFJYWmxiblFvYm1GMGFYWmxSWFpsYm5RcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hoYm1Sc1pVVjJaVzUwYzBadmNrbHVjSFYwUlhabGJuUlFiMng1Wm1sc2JDaDBiM0JNWlhabGJGUjVjR1VzSUhSaGNtZGxkQ3dnZEdGeVoyVjBTVzV6ZENrZ2UxeHVJQ0JwWmlBb2RHOXdUR1YyWld4VWVYQmxJRDA5UFNCVVQxQmZSazlEVlZNcElIdGNiaUFnSUNBdkx5QkpiaUJKUlRrc0lIQnliM0JsY25SNVkyaGhibWRsSUdacGNtVnpJR1p2Y2lCdGIzTjBJR2x1Y0hWMElHVjJaVzUwY3lCaWRYUWdhWE1nWW5Wbloza2dZVzVrWEc0Z0lDQWdMeThnWkc5bGMyNG5kQ0JtYVhKbElIZG9aVzRnZEdWNGRDQnBjeUJrWld4bGRHVmtMQ0JpZFhRZ1kyOXVkbVZ1YVdWdWRHeDVMQ0J6Wld4bFkzUnBiMjVqYUdGdVoyVmNiaUFnSUNBdkx5QmhjSEJsWVhKeklIUnZJR1pwY21VZ2FXNGdZV3hzSUc5bUlIUm9aU0J5WlcxaGFXNXBibWNnWTJGelpYTWdjMjhnZDJVZ1kyRjBZMmdnZEdodmMyVWdZVzVrWEc0Z0lDQWdMeThnWm05eWQyRnlaQ0IwYUdVZ1pYWmxiblFnYVdZZ2RHaGxJSFpoYkhWbElHaGhjeUJqYUdGdVoyVmtYRzRnSUNBZ0x5OGdTVzRnWldsMGFHVnlJR05oYzJVc0lIZGxJR1J2YmlkMElIZGhiblFnZEc4Z1kyRnNiQ0IwYUdVZ1pYWmxiblFnYUdGdVpHeGxjaUJwWmlCMGFHVWdkbUZzZFdWY2JpQWdJQ0F2THlCcGN5QmphR0Z1WjJWa0lHWnliMjBnU2xNZ2MyOGdkMlVnY21Wa1pXWnBibVVnWVNCelpYUjBaWElnWm05eUlHQXVkbUZzZFdWZ0lIUm9ZWFFnZFhCa1lYUmxjMXh1SUNBZ0lDOHZJRzkxY2lCaFkzUnBkbVZGYkdWdFpXNTBWbUZzZFdVZ2RtRnlhV0ZpYkdVc0lHRnNiRzkzYVc1bklIVnpJSFJ2SUdsbmJtOXlaU0IwYUc5elpTQmphR0Z1WjJWelhHNGdJQ0FnTHk5Y2JpQWdJQ0F2THlCemRHOXdWMkYwWTJocGJtY29LU0J6YUc5MWJHUWdZbVVnWVNCdWIyOXdJR2hsY21VZ1luVjBJSGRsSUdOaGJHd2dhWFFnYW5WemRDQnBiaUJqWVhObElIZGxYRzRnSUNBZ0x5OGdiV2x6YzJWa0lHRWdZbXgxY2lCbGRtVnVkQ0J6YjIxbGFHOTNMbHh1SUNBZ0lITjBiM0JYWVhSamFHbHVaMFp2Y2xaaGJIVmxRMmhoYm1kbEtDazdYRzRnSUNBZ2MzUmhjblJYWVhSamFHbHVaMFp2Y2xaaGJIVmxRMmhoYm1kbEtIUmhjbWRsZEN3Z2RHRnlaMlYwU1c1emRDazdYRzRnSUgwZ1pXeHpaU0JwWmlBb2RHOXdUR1YyWld4VWVYQmxJRDA5UFNCVVQxQmZRa3hWVWlrZ2UxeHVJQ0FnSUhOMGIzQlhZWFJqYUdsdVowWnZjbFpoYkhWbFEyaGhibWRsS0NrN1hHNGdJSDFjYm4wZ0x5OGdSbTl5SUVsRk9DQmhibVFnU1VVNUxseHVYRzVjYm1aMWJtTjBhVzl1SUdkbGRGUmhjbWRsZEVsdWMzUkdiM0pKYm5CMWRFVjJaVzUwVUc5c2VXWnBiR3dvZEc5d1RHVjJaV3hVZVhCbExDQjBZWEpuWlhSSmJuTjBLU0I3WEc0Z0lHbG1JQ2gwYjNCTVpYWmxiRlI1Y0dVZ1BUMDlJRlJQVUY5VFJVeEZRMVJKVDA1ZlEwaEJUa2RGSUh4OElIUnZjRXhsZG1Wc1ZIbHdaU0E5UFQwZ1ZFOVFYMHRGV1Y5VlVDQjhmQ0IwYjNCTVpYWmxiRlI1Y0dVZ1BUMDlJRlJQVUY5TFJWbGZSRTlYVGlrZ2UxeHVJQ0FnSUM4dklFOXVJSFJvWlNCelpXeGxZM1JwYjI1amFHRnVaMlVnWlhabGJuUXNJSFJvWlNCMFlYSm5aWFFnYVhNZ2FuVnpkQ0JrYjJOMWJXVnVkQ0IzYUdsamFDQnBjMjRuZEZ4dUlDQWdJQzh2SUdobGJIQm1kV3dnWm05eUlIVnpJSE52SUdwMWMzUWdZMmhsWTJzZ1lXTjBhWFpsUld4bGJXVnVkQ0JwYm5OMFpXRmtMbHh1SUNBZ0lDOHZYRzRnSUNBZ0x5OGdPVGtsSUc5bUlIUm9aU0IwYVcxbExDQnJaWGxrYjNkdUlHRnVaQ0JyWlhsMWNDQmhjbVZ1SjNRZ2JtVmpaWE56WVhKNUxpQkpSVGdnWm1GcGJITWdkRzhnWm1seVpWeHVJQ0FnSUM4dklIQnliM0JsY25SNVkyaGhibWRsSUc5dUlIUm9aU0JtYVhKemRDQnBibkIxZENCbGRtVnVkQ0JoWm5SbGNpQnpaWFIwYVc1bklHQjJZV3gxWldBZ1puSnZiU0JoWEc0Z0lDQWdMeThnYzJOeWFYQjBJR0Z1WkNCbWFYSmxjeUJ2Ym14NUlHdGxlV1J2ZDI0c0lHdGxlWEJ5WlhOekxDQnJaWGwxY0M0Z1EyRjBZMmhwYm1jZ2EyVjVkWEFnZFhOMVlXeHNlVnh1SUNBZ0lDOHZJR2RsZEhNZ2FYUWdZVzVrSUdOaGRHTm9hVzVuSUd0bGVXUnZkMjRnYkdWMGN5QjFjeUJtYVhKbElHRnVJR1YyWlc1MElHWnZjaUIwYUdVZ1ptbHljM1JjYmlBZ0lDQXZMeUJyWlhsemRISnZhMlVnYVdZZ2RYTmxjaUJrYjJWeklHRWdhMlY1SUhKbGNHVmhkQ0FvYVhRbmJHd2dZbVVnWVNCc2FYUjBiR1VnWkdWc1lYbGxaRG9nY21sbmFIUmNiaUFnSUNBdkx5QmlaV1p2Y21VZ2RHaGxJSE5sWTI5dVpDQnJaWGx6ZEhKdmEyVXBMaUJQZEdobGNpQnBibkIxZENCdFpYUm9iMlJ6SUNobExtY3VMQ0J3WVhOMFpTa2djMlZsYlNCMGIxeHVJQ0FnSUM4dklHWnBjbVVnYzJWc1pXTjBhVzl1WTJoaGJtZGxJRzV2Y20xaGJHeDVMbHh1SUNBZ0lISmxkSFZ5YmlCblpYUkpibk4wU1daV1lXeDFaVU5vWVc1blpXUW9ZV04wYVhabFJXeGxiV1Z1ZEVsdWMzUXBPMXh1SUNCOVhHNTlYRzR2S2lwY2JpQXFJRk5GUTFSSlQwNDZJR2hoYm1Sc1pTQmdZMnhwWTJ0Z0lHVjJaVzUwWEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCemFHOTFiR1JWYzJWRGJHbGphMFYyWlc1MEtHVnNaVzBwSUh0Y2JpQWdMeThnVlhObElIUm9aU0JnWTJ4cFkydGdJR1YyWlc1MElIUnZJR1JsZEdWamRDQmphR0Z1WjJWeklIUnZJR05vWldOclltOTRJR0Z1WkNCeVlXUnBieUJwYm5CMWRITXVYRzRnSUM4dklGUm9hWE1nWVhCd2NtOWhZMmdnZDI5eWEzTWdZV055YjNOeklHRnNiQ0JpY205M2MyVnljeXdnZDJobGNtVmhjeUJnWTJoaGJtZGxZQ0JrYjJWeklHNXZkQ0JtYVhKbFhHNGdJQzh2SUhWdWRHbHNJR0JpYkhWeVlDQnBiaUJKUlRndVhHNGdJSFpoY2lCdWIyUmxUbUZ0WlNBOUlHVnNaVzB1Ym05a1pVNWhiV1U3WEc0Z0lISmxkSFZ5YmlCdWIyUmxUbUZ0WlNBbUppQnViMlJsVG1GdFpTNTBiMHh2ZDJWeVEyRnpaU2dwSUQwOVBTQW5hVzV3ZFhRbklDWW1JQ2hsYkdWdExuUjVjR1VnUFQwOUlDZGphR1ZqYTJKdmVDY2dmSHdnWld4bGJTNTBlWEJsSUQwOVBTQW5jbUZrYVc4bktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWR0Z5WjJWMFNXNXpkRVp2Y2tOc2FXTnJSWFpsYm5Rb2RHOXdUR1YyWld4VWVYQmxMQ0IwWVhKblpYUkpibk4wS1NCN1hHNGdJR2xtSUNoMGIzQk1aWFpsYkZSNWNHVWdQVDA5SUZSUFVGOURURWxEU3lrZ2UxeHVJQ0FnSUhKbGRIVnliaUJuWlhSSmJuTjBTV1pXWVd4MVpVTm9ZVzVuWldRb2RHRnlaMlYwU1c1emRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFZHRnlaMlYwU1c1emRFWnZja2x1Y0hWMFQzSkRhR0Z1WjJWRmRtVnVkQ2gwYjNCTVpYWmxiRlI1Y0dVc0lIUmhjbWRsZEVsdWMzUXBJSHRjYmlBZ2FXWWdLSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDBsT1VGVlVJSHg4SUhSdmNFeGxkbVZzVkhsd1pTQTlQVDBnVkU5UVgwTklRVTVIUlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJuWlhSSmJuTjBTV1pXWVd4MVpVTm9ZVzVuWldRb2RHRnlaMlYwU1c1emRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYUdGdVpHeGxRMjl1ZEhKdmJHeGxaRWx1Y0hWMFFteDFjaWh1YjJSbEtTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlHNXZaR1V1WDNkeVlYQndaWEpUZEdGMFpUdGNibHh1SUNCcFppQW9JWE4wWVhSbElIeDhJQ0Z6ZEdGMFpTNWpiMjUwY205c2JHVmtJSHg4SUc1dlpHVXVkSGx3WlNBaFBUMGdKMjUxYldKbGNpY3BJSHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ0x5OGdTV1lnWTI5dWRISnZiR3hsWkN3Z1lYTnphV2R1SUhSb1pTQjJZV3gxWlNCaGRIUnlhV0oxZEdVZ2RHOGdkR2hsSUdOMWNuSmxiblFnZG1Gc2RXVWdiMjRnWW14MWNseHVJQ0FnSUhObGRFUmxabUYxYkhSV1lXeDFaU2h1YjJSbExDQW5iblZ0WW1WeUp5d2dibTlrWlM1MllXeDFaU2s3WEc0Z0lIMWNibjFjYmk4cUtseHVJQ29nVkdocGN5QndiSFZuYVc0Z1kzSmxZWFJsY3lCaGJpQmdiMjVEYUdGdVoyVmdJR1YyWlc1MElIUm9ZWFFnYm05eWJXRnNhWHBsY3lCamFHRnVaMlVnWlhabGJuUnpYRzRnS2lCaFkzSnZjM01nWm05eWJTQmxiR1Z0Wlc1MGN5NGdWR2hwY3lCbGRtVnVkQ0JtYVhKbGN5QmhkQ0JoSUhScGJXVWdkMmhsYmlCcGRDZHpJSEJ2YzNOcFlteGxJSFJ2WEc0Z0tpQmphR0Z1WjJVZ2RHaGxJR1ZzWlcxbGJuUW5jeUIyWVd4MVpTQjNhWFJvYjNWMElITmxaV2x1WnlCaElHWnNhV05yWlhJdVhHNGdLbHh1SUNvZ1UzVndjRzl5ZEdWa0lHVnNaVzFsYm5SeklHRnlaVHBjYmlBcUlDMGdhVzV3ZFhRZ0tITmxaU0JnYVhOVVpYaDBTVzV3ZFhSRmJHVnRaVzUwWUNsY2JpQXFJQzBnZEdWNGRHRnlaV0ZjYmlBcUlDMGdjMlZzWldOMFhHNGdLaTljYmx4dVhHNTJZWElnUTJoaGJtZGxSWFpsYm5SUWJIVm5hVzRnUFNCN1hHNGdJR1YyWlc1MFZIbHdaWE02SUdWMlpXNTBWSGx3WlhNa01TeGNiaUFnWDJselNXNXdkWFJGZG1WdWRGTjFjSEJ2Y25SbFpEb2dhWE5KYm5CMWRFVjJaVzUwVTNWd2NHOXlkR1ZrTEZ4dUlDQmxlSFJ5WVdOMFJYWmxiblJ6T2lCbWRXNWpkR2x2YmlBb2RHOXdUR1YyWld4VWVYQmxMQ0IwWVhKblpYUkpibk4wTENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXNJR1YyWlc1MFUzbHpkR1Z0Um14aFozTXBJSHRjYmlBZ0lDQjJZWElnZEdGeVoyVjBUbTlrWlNBOUlIUmhjbWRsZEVsdWMzUWdQeUJuWlhST2IyUmxSbkp2YlVsdWMzUmhibU5sSkRFb2RHRnlaMlYwU1c1emRDa2dPaUIzYVc1a2IzYzdYRzRnSUNBZ2RtRnlJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpMQ0JvWVc1a2JHVkZkbVZ1ZEVaMWJtTTdYRzVjYmlBZ0lDQnBaaUFvYzJodmRXeGtWWE5sUTJoaGJtZGxSWFpsYm5Rb2RHRnlaMlYwVG05a1pTa3BJSHRjYmlBZ0lDQWdJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpJRDBnWjJWMFZHRnlaMlYwU1c1emRFWnZja05vWVc1blpVVjJaVzUwTzF4dUlDQWdJSDBnWld4elpTQnBaaUFvYVhOVVpYaDBTVzV3ZFhSRmJHVnRaVzUwS0hSaGNtZGxkRTV2WkdVcEtTQjdYRzRnSUNBZ0lDQnBaaUFvYVhOSmJuQjFkRVYyWlc1MFUzVndjRzl5ZEdWa0tTQjdYRzRnSUNBZ0lDQWdJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpJRDBnWjJWMFZHRnlaMlYwU1c1emRFWnZja2x1Y0hWMFQzSkRhR0Z1WjJWRmRtVnVkRHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR2RsZEZSaGNtZGxkRWx1YzNSR2RXNWpJRDBnWjJWMFZHRnlaMlYwU1c1emRFWnZja2x1Y0hWMFJYWmxiblJRYjJ4NVptbHNiRHRjYmlBZ0lDQWdJQ0FnYUdGdVpHeGxSWFpsYm5SR2RXNWpJRDBnYUdGdVpHeGxSWFpsYm5SelJtOXlTVzV3ZFhSRmRtVnVkRkJ2YkhsbWFXeHNPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9jMmh2ZFd4a1ZYTmxRMnhwWTJ0RmRtVnVkQ2gwWVhKblpYUk9iMlJsS1NrZ2UxeHVJQ0FnSUNBZ1oyVjBWR0Z5WjJWMFNXNXpkRVoxYm1NZ1BTQm5aWFJVWVhKblpYUkpibk4wUm05eVEyeHBZMnRGZG1WdWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9aMlYwVkdGeVoyVjBTVzV6ZEVaMWJtTXBJSHRjYmlBZ0lDQWdJSFpoY2lCcGJuTjBJRDBnWjJWMFZHRnlaMlYwU1c1emRFWjFibU1vZEc5d1RHVjJaV3hVZVhCbExDQjBZWEpuWlhSSmJuTjBLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHVjM1FwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR1YyWlc1MElEMGdZM0psWVhSbFFXNWtRV05qZFcxMWJHRjBaVU5vWVc1blpVVjJaVzUwS0dsdWMzUXNJRzVoZEdsMlpVVjJaVzUwTENCdVlYUnBkbVZGZG1WdWRGUmhjbWRsZENrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGRtVnVkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYUdGdVpHeGxSWFpsYm5SR2RXNWpLU0I3WEc0Z0lDQWdJQ0JvWVc1a2JHVkZkbVZ1ZEVaMWJtTW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJPYjJSbExDQjBZWEpuWlhSSmJuTjBLVHRjYmlBZ0lDQjlJQzh2SUZkb1pXNGdZbXgxY25KcGJtY3NJSE5sZENCMGFHVWdkbUZzZFdVZ1lYUjBjbWxpZFhSbElHWnZjaUJ1ZFcxaVpYSWdhVzV3ZFhSelhHNWNibHh1SUNBZ0lHbG1JQ2gwYjNCTVpYWmxiRlI1Y0dVZ1BUMDlJRlJQVUY5Q1RGVlNLU0I3WEc0Z0lDQWdJQ0JvWVc1a2JHVkRiMjUwY205c2JHVmtTVzV3ZFhSQ2JIVnlLSFJoY21kbGRFNXZaR1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVHRjYmx4dWRtRnlJRk41Ym5Sb1pYUnBZMVZKUlhabGJuUWdQU0JUZVc1MGFHVjBhV05GZG1WdWRDNWxlSFJsYm1Rb2UxeHVJQ0IyYVdWM09pQnVkV3hzTEZ4dUlDQmtaWFJoYVd3NklHNTFiR3hjYm4wcE8xeHVYRzR2S2lwY2JpQXFJRlJ5WVc1emJHRjBhVzl1SUdaeWIyMGdiVzlrYVdacFpYSWdhMlY1SUhSdklIUm9aU0JoYzNOdlkybGhkR1ZrSUhCeWIzQmxjblI1SUdsdUlIUm9aU0JsZG1WdWRDNWNiaUFxSUVCelpXVWdhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZWRkl2UkU5TkxVeGxkbVZzTFRNdFJYWmxiblJ6THlOclpYbHpMVTF2WkdsbWFXVnljMXh1SUNvdlhHNTJZWElnYlc5a2FXWnBaWEpMWlhsVWIxQnliM0FnUFNCN1hHNGdJRUZzZERvZ0oyRnNkRXRsZVNjc1hHNGdJRU52Ym5SeWIydzZJQ2RqZEhKc1MyVjVKeXhjYmlBZ1RXVjBZVG9nSjIxbGRHRkxaWGtuTEZ4dUlDQlRhR2xtZERvZ0ozTm9hV1owUzJWNUoxeHVmVHNnTHk4Z1QyeGtaWElnWW5KdmQzTmxjbk1nS0ZOaFptRnlhU0E4UFNBeE1Dd2dhVTlUSUZOaFptRnlhU0E4UFNBeE1DNHlLU0JrYnlCdWIzUWdjM1Z3Y0c5eWRGeHVMeThnWjJWMFRXOWthV1pwWlhKVGRHRjBaUzRnU1dZZ1oyVjBUVzlrYVdacFpYSlRkR0YwWlNCcGN5QnViM1FnYzNWd2NHOXlkR1ZrTENCM1pTQnRZWEFnYVhRZ2RHOGdZU0J6WlhRZ2IyWmNiaTh2SUcxdlpHbG1hV1Z5SUd0bGVYTWdaWGh3YjNObFpDQmllU0IwYUdVZ1pYWmxiblF1SUVsdUlIUm9hWE1nWTJGelpTd2dURzlqYXkxclpYbHpJR0Z5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtMbHh1WEc1bWRXNWpkR2x2YmlCdGIyUnBabWxsY2xOMFlYUmxSMlYwZEdWeUtHdGxlVUZ5WnlrZ2UxeHVJQ0IyWVhJZ2MzbHVkR2hsZEdsalJYWmxiblFnUFNCMGFHbHpPMXh1SUNCMllYSWdibUYwYVhabFJYWmxiblFnUFNCemVXNTBhR1YwYVdORmRtVnVkQzV1WVhScGRtVkZkbVZ1ZER0Y2JseHVJQ0JwWmlBb2JtRjBhWFpsUlhabGJuUXVaMlYwVFc5a2FXWnBaWEpUZEdGMFpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdVlYUnBkbVZGZG1WdWRDNW5aWFJOYjJScFptbGxjbE4wWVhSbEtHdGxlVUZ5WnlrN1hHNGdJSDFjYmx4dUlDQjJZWElnYTJWNVVISnZjQ0E5SUcxdlpHbG1hV1Z5UzJWNVZHOVFjbTl3VzJ0bGVVRnlaMTA3WEc0Z0lISmxkSFZ5YmlCclpYbFFjbTl3SUQ4Z0lTRnVZWFJwZG1WRmRtVnVkRnRyWlhsUWNtOXdYU0E2SUdaaGJITmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJGZG1WdWRFMXZaR2xtYVdWeVUzUmhkR1VvYm1GMGFYWmxSWFpsYm5RcElIdGNiaUFnY21WMGRYSnVJRzF2WkdsbWFXVnlVM1JoZEdWSFpYUjBaWEk3WEc1OVhHNWNiblpoY2lCd2NtVjJhVzkxYzFOamNtVmxibGdnUFNBd08xeHVkbUZ5SUhCeVpYWnBiM1Z6VTJOeVpXVnVXU0E5SURBN0lDOHZJRlZ6WlNCbWJHRm5jeUIwYnlCemFXZHVZV3dnYlc5MlpXMWxiblJZTDFrZ2FHRnpJR0ZzY21WaFpIa2dZbVZsYmlCelpYUmNibHh1ZG1GeUlHbHpUVzkyWlcxbGJuUllVMlYwSUQwZ1ptRnNjMlU3WEc1MllYSWdhWE5OYjNabGJXVnVkRmxUWlhRZ1BTQm1ZV3h6WlR0Y2JpOHFLbHh1SUNvZ1FHbHVkR1Z5Wm1GalpTQk5iM1Z6WlVWMlpXNTBYRzRnS2lCQWMyVmxJR2gwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMVJTTDBSUFRTMU1aWFpsYkMwekxVVjJaVzUwY3k5Y2JpQXFMMXh1WEc1MllYSWdVM2x1ZEdobGRHbGpUVzkxYzJWRmRtVnVkQ0E5SUZONWJuUm9aWFJwWTFWSlJYWmxiblF1WlhoMFpXNWtLSHRjYmlBZ2MyTnlaV1Z1V0RvZ2JuVnNiQ3hjYmlBZ2MyTnlaV1Z1V1RvZ2JuVnNiQ3hjYmlBZ1kyeHBaVzUwV0RvZ2JuVnNiQ3hjYmlBZ1kyeHBaVzUwV1RvZ2JuVnNiQ3hjYmlBZ2NHRm5aVmc2SUc1MWJHd3NYRzRnSUhCaFoyVlpPaUJ1ZFd4c0xGeHVJQ0JqZEhKc1MyVjVPaUJ1ZFd4c0xGeHVJQ0J6YUdsbWRFdGxlVG9nYm5Wc2JDeGNiaUFnWVd4MFMyVjVPaUJ1ZFd4c0xGeHVJQ0J0WlhSaFMyVjVPaUJ1ZFd4c0xGeHVJQ0JuWlhSTmIyUnBabWxsY2xOMFlYUmxPaUJuWlhSRmRtVnVkRTF2WkdsbWFXVnlVM1JoZEdVc1hHNGdJR0oxZEhSdmJqb2diblZzYkN4Y2JpQWdZblYwZEc5dWN6b2diblZzYkN4Y2JpQWdjbVZzWVhSbFpGUmhjbWRsZERvZ1puVnVZM1JwYjI0Z0tHVjJaVzUwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1YyWlc1MExuSmxiR0YwWldSVVlYSm5aWFFnZkh3Z0tHVjJaVzUwTG1aeWIyMUZiR1Z0Wlc1MElEMDlQU0JsZG1WdWRDNXpjbU5GYkdWdFpXNTBJRDhnWlhabGJuUXVkRzlGYkdWdFpXNTBJRG9nWlhabGJuUXVabkp2YlVWc1pXMWxiblFwTzF4dUlDQjlMRnh1SUNCdGIzWmxiV1Z1ZEZnNklHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUdsbUlDZ25iVzkyWlcxbGJuUllKeUJwYmlCbGRtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1YyWlc1MExtMXZkbVZ0Wlc1MFdEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjMk55WldWdVdDQTlJSEJ5WlhacGIzVnpVMk55WldWdVdEdGNiaUFnSUNCd2NtVjJhVzkxYzFOamNtVmxibGdnUFNCbGRtVnVkQzV6WTNKbFpXNVlPMXh1WEc0Z0lDQWdhV1lnS0NGcGMwMXZkbVZ0Wlc1MFdGTmxkQ2tnZTF4dUlDQWdJQ0FnYVhOTmIzWmxiV1Z1ZEZoVFpYUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR1YyWlc1MExuUjVjR1VnUFQwOUlDZHRiM1Z6WlcxdmRtVW5JRDhnWlhabGJuUXVjMk55WldWdVdDQXRJSE5qY21WbGJsZ2dPaUF3TzF4dUlDQjlMRnh1SUNCdGIzWmxiV1Z1ZEZrNklHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUdsbUlDZ25iVzkyWlcxbGJuUlpKeUJwYmlCbGRtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJR1YyWlc1MExtMXZkbVZ0Wlc1MFdUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjMk55WldWdVdTQTlJSEJ5WlhacGIzVnpVMk55WldWdVdUdGNiaUFnSUNCd2NtVjJhVzkxYzFOamNtVmxibGtnUFNCbGRtVnVkQzV6WTNKbFpXNVpPMXh1WEc0Z0lDQWdhV1lnS0NGcGMwMXZkbVZ0Wlc1MFdWTmxkQ2tnZTF4dUlDQWdJQ0FnYVhOTmIzWmxiV1Z1ZEZsVFpYUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJR1YyWlc1MExuUjVjR1VnUFQwOUlDZHRiM1Z6WlcxdmRtVW5JRDhnWlhabGJuUXVjMk55WldWdVdTQXRJSE5qY21WbGJsa2dPaUF3TzF4dUlDQjlYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkFhVzUwWlhKbVlXTmxJRkJ2YVc1MFpYSkZkbVZ1ZEZ4dUlDb2dRSE5sWlNCb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOXdiMmx1ZEdWeVpYWmxiblJ6TDF4dUlDb3ZYRzVjYm5aaGNpQlRlVzUwYUdWMGFXTlFiMmx1ZEdWeVJYWmxiblFnUFNCVGVXNTBhR1YwYVdOTmIzVnpaVVYyWlc1MExtVjRkR1Z1WkNoN1hHNGdJSEJ2YVc1MFpYSkpaRG9nYm5Wc2JDeGNiaUFnZDJsa2RHZzZJRzUxYkd3c1hHNGdJR2hsYVdkb2REb2diblZzYkN4Y2JpQWdjSEpsYzNOMWNtVTZJRzUxYkd3c1hHNGdJSFJoYm1kbGJuUnBZV3hRY21WemMzVnlaVG9nYm5Wc2JDeGNiaUFnZEdsc2RGZzZJRzUxYkd3c1hHNGdJSFJwYkhSWk9pQnVkV3hzTEZ4dUlDQjBkMmx6ZERvZ2JuVnNiQ3hjYmlBZ2NHOXBiblJsY2xSNWNHVTZJRzUxYkd3c1hHNGdJR2x6VUhKcGJXRnllVG9nYm5Wc2JGeHVmU2s3WEc1Y2JuWmhjaUJsZG1WdWRGUjVjR1Z6SkRJZ1BTQjdYRzRnSUcxdmRYTmxSVzUwWlhJNklIdGNiaUFnSUNCeVpXZHBjM1J5WVhScGIyNU9ZVzFsT2lBbmIyNU5iM1Z6WlVWdWRHVnlKeXhjYmlBZ0lDQmtaWEJsYm1SbGJtTnBaWE02SUZ0VVQxQmZUVTlWVTBWZlQxVlVMQ0JVVDFCZlRVOVZVMFZmVDFaRlVsMWNiaUFnZlN4Y2JpQWdiVzkxYzJWTVpXRjJaVG9nZTF4dUlDQWdJSEpsWjJsemRISmhkR2x2Yms1aGJXVTZJQ2R2YmsxdmRYTmxUR1ZoZG1VbkxGeHVJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXMVJQVUY5TlQxVlRSVjlQVlZRc0lGUlBVRjlOVDFWVFJWOVBWa1ZTWFZ4dUlDQjlMRnh1SUNCd2IybHVkR1Z5Ulc1MFpYSTZJSHRjYmlBZ0lDQnlaV2RwYzNSeVlYUnBiMjVPWVcxbE9pQW5iMjVRYjJsdWRHVnlSVzUwWlhJbkxGeHVJQ0FnSUdSbGNHVnVaR1Z1WTJsbGN6b2dXMVJQVUY5UVQwbE9WRVZTWDA5VlZDd2dWRTlRWDFCUFNVNVVSVkpmVDFaRlVsMWNiaUFnZlN4Y2JpQWdjRzlwYm5SbGNreGxZWFpsT2lCN1hHNGdJQ0FnY21WbmFYTjBjbUYwYVc5dVRtRnRaVG9nSjI5dVVHOXBiblJsY2t4bFlYWmxKeXhjYmlBZ0lDQmtaWEJsYm1SbGJtTnBaWE02SUZ0VVQxQmZVRTlKVGxSRlVsOVBWVlFzSUZSUFVGOVFUMGxPVkVWU1gwOVdSVkpkWEc0Z0lIMWNibjA3WEc1MllYSWdSVzUwWlhKTVpXRjJaVVYyWlc1MFVHeDFaMmx1SUQwZ2UxeHVJQ0JsZG1WdWRGUjVjR1Z6T2lCbGRtVnVkRlI1Y0dWekpESXNYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFWnZjaUJoYkcxdmMzUWdaWFpsY25rZ2FXNTBaWEpoWTNScGIyNGdkMlVnWTJGeVpTQmhZbTkxZEN3Z2RHaGxjbVVnZDJsc2JDQmlaU0JpYjNSb0lHRWdkRzl3TFd4bGRtVnNYRzRnSUNBcUlHQnRiM1Z6Wlc5MlpYSmdJR0Z1WkNCZ2JXOTFjMlZ2ZFhSZ0lHVjJaVzUwSUhSb1lYUWdiMk5qZFhKekxpQlBibXg1SUhWelpTQmdiVzkxYzJWdmRYUmdJSE52SUhSb1lYUmNiaUFnSUNvZ2QyVWdaRzhnYm05MElHVjRkSEpoWTNRZ1pIVndiR2xqWVhSbElHVjJaVzUwY3k0Z1NHOTNaWFpsY2l3Z2JXOTJhVzVuSUhSb1pTQnRiM1Z6WlNCcGJuUnZJSFJvWlZ4dUlDQWdLaUJpY205M2MyVnlJR1p5YjIwZ2IzVjBjMmxrWlNCM2FXeHNJRzV2ZENCbWFYSmxJR0VnWUcxdmRYTmxiM1YwWUNCbGRtVnVkQzRnU1c0Z2RHaHBjeUJqWVhObExDQjNaU0IxYzJWY2JpQWdJQ29nZEdobElHQnRiM1Z6Wlc5MlpYSmdJSFJ2Y0Mxc1pYWmxiQ0JsZG1WdWRDNWNiaUFnSUNvdlhHNGdJR1Y0ZEhKaFkzUkZkbVZ1ZEhNNklHWjFibU4wYVc5dUlDaDBiM0JNWlhabGJGUjVjR1VzSUhSaGNtZGxkRWx1YzNRc0lHNWhkR2wyWlVWMlpXNTBMQ0J1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ3dnWlhabGJuUlRlWE4wWlcxR2JHRm5jeWtnZTF4dUlDQWdJSFpoY2lCcGMwOTJaWEpGZG1WdWRDQTlJSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDAxUFZWTkZYMDlXUlZJZ2ZId2dkRzl3VEdWMlpXeFVlWEJsSUQwOVBTQlVUMUJmVUU5SlRsUkZVbDlQVmtWU08xeHVJQ0FnSUhaaGNpQnBjMDkxZEVWMlpXNTBJRDBnZEc5d1RHVjJaV3hVZVhCbElEMDlQU0JVVDFCZlRVOVZVMFZmVDFWVUlIeDhJSFJ2Y0V4bGRtVnNWSGx3WlNBOVBUMGdWRTlRWDFCUFNVNVVSVkpmVDFWVU8xeHVYRzRnSUNBZ2FXWWdLR2x6VDNabGNrVjJaVzUwSUNZbUlDaGxkbVZ1ZEZONWMzUmxiVVpzWVdkeklDWWdTVk5mVWtWUVRFRlpSVVFwSUQwOVBTQXdJQ1ltSUNodVlYUnBkbVZGZG1WdWRDNXlaV3hoZEdWa1ZHRnlaMlYwSUh4OElHNWhkR2wyWlVWMlpXNTBMbVp5YjIxRmJHVnRaVzUwS1NrZ2UxeHVJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QnBjeUJoYmlCdmRtVnlJR1YyWlc1MElIZHBkR2dnWVNCMFlYSm5aWFFzSUhSb1pXNGdkMlVuZG1VZ1lXeHlaV0ZrZVNCa2FYTndZWFJqYUdWa1hHNGdJQ0FnSUNBdkx5QjBhR1VnWlhabGJuUWdhVzRnZEdobElHOTFkQ0JsZG1WdWRDQnZaaUIwYUdVZ2IzUm9aWElnZEdGeVoyVjBMaUJKWmlCMGFHbHpJR2x6SUhKbGNHeGhlV1ZrTEZ4dUlDQWdJQ0FnTHk4Z2RHaGxiaUJwZENkeklHSmxZMkYxYzJVZ2QyVWdZMjkxYkdSdUozUWdaR2x6Y0dGMFkyZ2dZV2RoYVc1emRDQjBhR2x6SUhSaGNtZGxkQ0J3Y21WMmFXOTFjMng1WEc0Z0lDQWdJQ0F2THlCemJ5QjNaU0JvWVhabElIUnZJR1J2SUdsMElHNXZkeUJwYm5OMFpXRmtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0NGcGMwOTFkRVYyWlc1MElDWW1JQ0ZwYzA5MlpYSkZkbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0x5OGdUWFZ6ZENCdWIzUWdZbVVnWVNCdGIzVnpaU0J2Y2lCd2IybHVkR1Z5SUdsdUlHOXlJRzkxZENBdElHbG5ibTl5YVc1bkxseHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSGRwYmp0Y2JseHVJQ0FnSUdsbUlDaHVZWFJwZG1WRmRtVnVkRlJoY21kbGRDNTNhVzVrYjNjZ1BUMDlJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLU0I3WEc0Z0lDQWdJQ0F2THlCZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhSZ0lHbHpJSEJ5YjJKaFlteDVJR0VnZDJsdVpHOTNJRzlpYW1WamRDNWNiaUFnSUNBZ0lIZHBiaUE5SUc1aGRHbDJaVVYyWlc1MFZHRnlaMlYwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVVDBSUE9pQkdhV2QxY21VZ2IzVjBJSGRvZVNCZ2IzZHVaWEpFYjJOMWJXVnVkR0FnYVhNZ2MyOXRaWFJwYldWeklIVnVaR1ZtYVc1bFpDQnBiaUJKUlRndVhHNGdJQ0FnSUNCMllYSWdaRzlqSUQwZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhRdWIzZHVaWEpFYjJOMWJXVnVkRHRjYmx4dUlDQWdJQ0FnYVdZZ0tHUnZZeWtnZTF4dUlDQWdJQ0FnSUNCM2FXNGdQU0JrYjJNdVpHVm1ZWFZzZEZacFpYY2dmSHdnWkc5akxuQmhjbVZ1ZEZkcGJtUnZkenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSGRwYmlBOUlIZHBibVJ2ZHp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1puSnZiVHRjYmlBZ0lDQjJZWElnZEc4N1hHNWNiaUFnSUNCcFppQW9hWE5QZFhSRmRtVnVkQ2tnZTF4dUlDQWdJQ0FnWm5KdmJTQTlJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdJQ0IyWVhJZ2NtVnNZWFJsWkNBOUlHNWhkR2wyWlVWMlpXNTBMbkpsYkdGMFpXUlVZWEpuWlhRZ2ZId2dibUYwYVhabFJYWmxiblF1ZEc5RmJHVnRaVzUwTzF4dUlDQWdJQ0FnZEc4Z1BTQnlaV3hoZEdWa0lEOGdaMlYwUTJ4dmMyVnpkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVW9jbVZzWVhSbFpDa2dPaUJ1ZFd4c08xeHVYRzRnSUNBZ0lDQnBaaUFvZEc4Z0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUc1bFlYSmxjM1JOYjNWdWRHVmtJRDBnWjJWMFRtVmhjbVZ6ZEUxdmRXNTBaV1JHYVdKbGNpaDBieWs3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJ2SUNFOVBTQnVaV0Z5WlhOMFRXOTFiblJsWkNCOGZDQjBieTUwWVdjZ0lUMDlJRWh2YzNSRGIyMXdiMjVsYm5RZ0ppWWdkRzh1ZEdGbklDRTlQU0JJYjNOMFZHVjRkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIUnZJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5Qk5iM1pwYm1jZ2RHOGdZU0J1YjJSbElHWnliMjBnYjNWMGMybGtaU0IwYUdVZ2QybHVaRzkzTGx4dUlDQWdJQ0FnWm5KdmJTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCMGJ5QTlJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0daeWIyMGdQVDA5SUhSdktTQjdYRzRnSUNBZ0lDQXZMeUJPYjNSb2FXNW5JSEJsY25SaGFXNXpJSFJ2SUc5MWNpQnRZVzVoWjJWa0lHTnZiWEJ2Ym1WdWRITXVYRzRnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWlhabGJuUkpiblJsY21aaFkyVXNJR3hsWVhabFJYWmxiblJVZVhCbExDQmxiblJsY2tWMlpXNTBWSGx3WlN3Z1pYWmxiblJVZVhCbFVISmxabWw0TzF4dVhHNGdJQ0FnYVdZZ0tIUnZjRXhsZG1Wc1ZIbHdaU0E5UFQwZ1ZFOVFYMDFQVlZORlgwOVZWQ0I4ZkNCMGIzQk1aWFpsYkZSNWNHVWdQVDA5SUZSUFVGOU5UMVZUUlY5UFZrVlNLU0I3WEc0Z0lDQWdJQ0JsZG1WdWRFbHVkR1Z5Wm1GalpTQTlJRk41Ym5Sb1pYUnBZMDF2ZFhObFJYWmxiblE3WEc0Z0lDQWdJQ0JzWldGMlpVVjJaVzUwVkhsd1pTQTlJR1YyWlc1MFZIbHdaWE1rTWk1dGIzVnpaVXhsWVhabE8xeHVJQ0FnSUNBZ1pXNTBaWEpGZG1WdWRGUjVjR1VnUFNCbGRtVnVkRlI1Y0dWekpESXViVzkxYzJWRmJuUmxjanRjYmlBZ0lDQWdJR1YyWlc1MFZIbHdaVkJ5WldacGVDQTlJQ2R0YjNWelpTYzdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBiM0JNWlhabGJGUjVjR1VnUFQwOUlGUlBVRjlRVDBsT1ZFVlNYMDlWVkNCOGZDQjBiM0JNWlhabGJGUjVjR1VnUFQwOUlGUlBVRjlRVDBsT1ZFVlNYMDlXUlZJcElIdGNiaUFnSUNBZ0lHVjJaVzUwU1c1MFpYSm1ZV05sSUQwZ1UzbHVkR2hsZEdsalVHOXBiblJsY2tWMlpXNTBPMXh1SUNBZ0lDQWdiR1ZoZG1WRmRtVnVkRlI1Y0dVZ1BTQmxkbVZ1ZEZSNWNHVnpKREl1Y0c5cGJuUmxja3hsWVhabE8xeHVJQ0FnSUNBZ1pXNTBaWEpGZG1WdWRGUjVjR1VnUFNCbGRtVnVkRlI1Y0dWekpESXVjRzlwYm5SbGNrVnVkR1Z5TzF4dUlDQWdJQ0FnWlhabGJuUlVlWEJsVUhKbFptbDRJRDBnSjNCdmFXNTBaWEluTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCbWNtOXRUbTlrWlNBOUlHWnliMjBnUFQwZ2JuVnNiQ0EvSUhkcGJpQTZJR2RsZEU1dlpHVkdjbTl0U1c1emRHRnVZMlVrTVNobWNtOXRLVHRjYmlBZ0lDQjJZWElnZEc5T2IyUmxJRDBnZEc4Z1BUMGdiblZzYkNBL0lIZHBiaUE2SUdkbGRFNXZaR1ZHY205dFNXNXpkR0Z1WTJVa01TaDBieWs3WEc0Z0lDQWdkbUZ5SUd4bFlYWmxJRDBnWlhabGJuUkpiblJsY21aaFkyVXVaMlYwVUc5dmJHVmtLR3hsWVhabFJYWmxiblJVZVhCbExDQm1jbTl0TENCdVlYUnBkbVZGZG1WdWRDd2dibUYwYVhabFJYWmxiblJVWVhKblpYUXBPMXh1SUNBZ0lHeGxZWFpsTG5SNWNHVWdQU0JsZG1WdWRGUjVjR1ZRY21WbWFYZ2dLeUFuYkdWaGRtVW5PMXh1SUNBZ0lHeGxZWFpsTG5SaGNtZGxkQ0E5SUdaeWIyMU9iMlJsTzF4dUlDQWdJR3hsWVhabExuSmxiR0YwWldSVVlYSm5aWFFnUFNCMGIwNXZaR1U3WEc0Z0lDQWdkbUZ5SUdWdWRHVnlJRDBnWlhabGJuUkpiblJsY21aaFkyVXVaMlYwVUc5dmJHVmtLR1Z1ZEdWeVJYWmxiblJVZVhCbExDQjBieXdnYm1GMGFYWmxSWFpsYm5Rc0lHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWMEtUdGNiaUFnSUNCbGJuUmxjaTUwZVhCbElEMGdaWFpsYm5SVWVYQmxVSEpsWm1sNElDc2dKMlZ1ZEdWeUp6dGNiaUFnSUNCbGJuUmxjaTUwWVhKblpYUWdQU0IwYjA1dlpHVTdYRzRnSUNBZ1pXNTBaWEl1Y21Wc1lYUmxaRlJoY21kbGRDQTlJR1p5YjIxT2IyUmxPMXh1SUNBZ0lHRmpZM1Z0ZFd4aGRHVkZiblJsY2t4bFlYWmxSR2x6Y0dGMFkyaGxjeWhzWldGMlpTd2daVzUwWlhJc0lHWnliMjBzSUhSdktUc2dMeThnU1dZZ2QyVWdZWEpsSUc1dmRDQndjbTlqWlhOemFXNW5JSFJvWlNCbWFYSnpkQ0JoYm1ObGMzUnZjaXdnZEdobGJpQjNaVnh1SUNBZ0lDOHZJSE5vYjNWc1pDQnViM1FnY0hKdlkyVnpjeUIwYUdVZ2MyRnRaU0J1WVhScGRtVkZkbVZ1ZENCaFoyRnBiaXdnWVhNZ2QyVmNiaUFnSUNBdkx5QjNhV3hzSUdoaGRtVWdZV3h5WldGa2VTQndjbTlqWlhOelpXUWdhWFFnYVc0Z2RHaGxJR1pwY25OMElHRnVZMlZ6ZEc5eUxseHVYRzRnSUNBZ2FXWWdLQ2hsZG1WdWRGTjVjM1JsYlVac1lXZHpJQ1lnU1ZOZlJrbFNVMVJmUVU1RFJWTlVUMUlwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdXMnhsWVhabFhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnVzJ4bFlYWmxMQ0JsYm5SbGNsMDdYRzRnSUgxY2JuMDdYRzVjYmk4cUtseHVJQ29nYVc1c2FXNWxaQ0JQWW1wbFkzUXVhWE1nY0c5c2VXWnBiR3dnZEc4Z1lYWnZhV1FnY21WeGRXbHlhVzVuSUdOdmJuTjFiV1Z5Y3lCemFHbHdJSFJvWldseUlHOTNibHh1SUNvZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlNtRjJZVk5qY21sd2RDOVNaV1psY21WdVkyVXZSMnh2WW1Gc1gwOWlhbVZqZEhNdlQySnFaV04wTDJselhHNGdLaTljYm1aMWJtTjBhVzl1SUdsektIZ3NJSGtwSUh0Y2JpQWdjbVYwZFhKdUlIZ2dQVDA5SUhrZ0ppWWdLSGdnSVQwOUlEQWdmSHdnTVNBdklIZ2dQVDA5SURFZ0x5QjVLU0I4ZkNCNElDRTlQU0I0SUNZbUlIa2dJVDA5SUhrZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJHbHVaU0J1YnkxelpXeG1MV052YlhCaGNtVmNiaUFnTzF4dWZWeHVYRzUyWVhJZ2IySnFaV04wU1hNZ1BTQjBlWEJsYjJZZ1QySnFaV04wTG1seklEMDlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1QySnFaV04wTG1seklEb2dhWE03WEc1Y2JuWmhjaUJvWVhOUGQyNVFjbTl3WlhKMGVTUXlJRDBnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaUzVvWVhOUGQyNVFjbTl3WlhKMGVUdGNiaThxS2x4dUlDb2dVR1Z5Wm05eWJYTWdaWEYxWVd4cGRIa2dZbmtnYVhSbGNtRjBhVzVuSUhSb2NtOTFaMmdnYTJWNWN5QnZiaUJoYmlCdlltcGxZM1FnWVc1a0lISmxkSFZ5Ym1sdVp5Qm1ZV3h6WlZ4dUlDb2dkMmhsYmlCaGJua2dhMlY1SUdoaGN5QjJZV3gxWlhNZ2QyaHBZMmdnWVhKbElHNXZkQ0J6ZEhKcFkzUnNlU0JsY1hWaGJDQmlaWFIzWldWdUlIUm9aU0JoY21kMWJXVnVkSE11WEc0Z0tpQlNaWFIxY201eklIUnlkV1VnZDJobGJpQjBhR1VnZG1Gc2RXVnpJRzltSUdGc2JDQnJaWGx6SUdGeVpTQnpkSEpwWTNSc2VTQmxjWFZoYkM1Y2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCemFHRnNiRzkzUlhGMVlXd29iMkpxUVN3Z2IySnFRaWtnZTF4dUlDQnBaaUFvYjJKcVpXTjBTWE1vYjJKcVFTd2diMkpxUWlrcElIdGNiaUFnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJR2xtSUNoMGVYQmxiMllnYjJKcVFTQWhQVDBnSjI5aWFtVmpkQ2NnZkh3Z2IySnFRU0E5UFQwZ2JuVnNiQ0I4ZkNCMGVYQmxiMllnYjJKcVFpQWhQVDBnSjI5aWFtVmpkQ2NnZkh3Z2IySnFRaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJyWlhselFTQTlJRTlpYW1WamRDNXJaWGx6S0c5aWFrRXBPMXh1SUNCMllYSWdhMlY1YzBJZ1BTQlBZbXBsWTNRdWEyVjVjeWh2WW1wQ0tUdGNibHh1SUNCcFppQW9hMlY1YzBFdWJHVnVaM1JvSUNFOVBTQnJaWGx6UWk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDBnTHk4Z1ZHVnpkQ0JtYjNJZ1FTZHpJR3RsZVhNZ1pHbG1abVZ5Wlc1MElHWnliMjBnUWk1Y2JseHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2EyVjVjMEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9JV2hoYzA5M2JsQnliM0JsY25SNUpESXVZMkZzYkNodlltcENMQ0JyWlhselFWdHBYU2tnZkh3Z0lXOWlhbVZqZEVsektHOWlha0ZiYTJWNWMwRmJhVjFkTENCdlltcENXMnRsZVhOQlcybGRYU2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2RISjFaVHRjYm4xY2JseHVkbUZ5SUhOcmFYQlRaV3hsWTNScGIyNURhR0Z1WjJWRmRtVnVkQ0E5SUdOaGJsVnpaVVJQVFNBbUppQW5aRzlqZFcxbGJuUk5iMlJsSnlCcGJpQmtiMk4xYldWdWRDQW1KaUJrYjJOMWJXVnVkQzVrYjJOMWJXVnVkRTF2WkdVZ1BEMGdNVEU3WEc1MllYSWdaWFpsYm5SVWVYQmxjeVF6SUQwZ2UxeHVJQ0J6Wld4bFkzUTZJSHRjYmlBZ0lDQndhR0Z6WldSU1pXZHBjM1J5WVhScGIyNU9ZVzFsY3pvZ2UxeHVJQ0FnSUNBZ1luVmlZbXhsWkRvZ0oyOXVVMlZzWldOMEp5eGNiaUFnSUNBZ0lHTmhjSFIxY21Wa09pQW5iMjVUWld4bFkzUkRZWEIwZFhKbEoxeHVJQ0FnSUgwc1hHNGdJQ0FnWkdWd1pXNWtaVzVqYVdWek9pQmJWRTlRWDBKTVZWSXNJRlJQVUY5RFQwNVVSVmhVWDAxRlRsVXNJRlJQVUY5RVVrRkhYMFZPUkN3Z1ZFOVFYMFpQUTFWVExDQlVUMUJmUzBWWlgwUlBWMDRzSUZSUFVGOUxSVmxmVlZBc0lGUlBVRjlOVDFWVFJWOUVUMWRPTENCVVQxQmZUVTlWVTBWZlZWQXNJRlJQVUY5VFJVeEZRMVJKVDA1ZlEwaEJUa2RGWFZ4dUlDQjlYRzU5TzF4dWRtRnlJR0ZqZEdsMlpVVnNaVzFsYm5Ra01TQTlJRzUxYkd3N1hHNTJZWElnWVdOMGFYWmxSV3hsYldWdWRFbHVjM1FrTVNBOUlHNTFiR3c3WEc1MllYSWdiR0Z6ZEZObGJHVmpkR2x2YmlBOUlHNTFiR3c3WEc1MllYSWdiVzkxYzJWRWIzZHVJRDBnWm1Gc2MyVTdYRzR2S2lwY2JpQXFJRWRsZENCaGJpQnZZbXBsWTNRZ2QyaHBZMmdnYVhNZ1lTQjFibWx4ZFdVZ2NtVndjbVZ6Wlc1MFlYUnBiMjRnYjJZZ2RHaGxJR04xY25KbGJuUWdjMlZzWldOMGFXOXVMbHh1SUNwY2JpQXFJRlJvWlNCeVpYUjFjbTRnZG1Gc2RXVWdkMmxzYkNCdWIzUWdZbVVnWTI5dWMybHpkR1Z1ZENCaFkzSnZjM01nYm05a1pYTWdiM0lnWW5KdmQzTmxjbk1zSUdKMWRGeHVJQ29nZEhkdklHbGtaVzUwYVdOaGJDQnpaV3hsWTNScGIyNXpJRzl1SUhSb1pTQnpZVzFsSUc1dlpHVWdkMmxzYkNCeVpYUjFjbTRnYVdSbGJuUnBZMkZzSUc5aWFtVmpkSE11WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRFVDAxRmJHVnRaVzUwZlNCdWIyUmxYRzRnS2lCQWNtVjBkWEp1SUh0dlltcGxZM1I5WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFUyVnNaV04wYVc5dUpERW9ibTlrWlNrZ2UxeHVJQ0JwWmlBb0ozTmxiR1ZqZEdsdmJsTjBZWEowSnlCcGJpQnViMlJsSUNZbUlHaGhjMU5sYkdWamRHbHZia05oY0dGaWFXeHBkR2xsY3lodWIyUmxLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnpkR0Z5ZERvZ2JtOWtaUzV6Wld4bFkzUnBiMjVUZEdGeWRDeGNiaUFnSUNBZ0lHVnVaRG9nYm05a1pTNXpaV3hsWTNScGIyNUZibVJjYmlBZ0lDQjlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCM2FXNGdQU0J1YjJSbExtOTNibVZ5Ukc5amRXMWxiblFnSmlZZ2JtOWtaUzV2ZDI1bGNrUnZZM1Z0Wlc1MExtUmxabUYxYkhSV2FXVjNJSHg4SUhkcGJtUnZkenRjYmlBZ0lDQjJZWElnYzJWc1pXTjBhVzl1SUQwZ2QybHVMbWRsZEZObGJHVmpkR2x2YmlncE8xeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0JoYm1Ob2IzSk9iMlJsT2lCelpXeGxZM1JwYjI0dVlXNWphRzl5VG05a1pTeGNiaUFnSUNBZ0lHRnVZMmh2Y2s5bVpuTmxkRG9nYzJWc1pXTjBhVzl1TG1GdVkyaHZjazltWm5ObGRDeGNiaUFnSUNBZ0lHWnZZM1Z6VG05a1pUb2djMlZzWldOMGFXOXVMbVp2WTNWelRtOWtaU3hjYmlBZ0lDQWdJR1p2WTNWelQyWm1jMlYwT2lCelpXeGxZM1JwYjI0dVptOWpkWE5QWm1aelpYUmNiaUFnSUNCOU8xeHVJQ0I5WEc1OVhHNHZLaXBjYmlBcUlFZGxkQ0JrYjJOMWJXVnVkQ0JoYzNOdlkybGhkR1ZrSUhkcGRHZ2dkR2hsSUdWMlpXNTBJSFJoY21kbGRDNWNiaUFxWEc0Z0tpQkFjR0Z5WVcwZ2UyOWlhbVZqZEgwZ2JtRjBhWFpsUlhabGJuUlVZWEpuWlhSY2JpQXFJRUJ5WlhSMWNtNGdlMFJ2WTNWdFpXNTBmVnh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnWjJWMFJYWmxiblJVWVhKblpYUkViMk4xYldWdWRDaGxkbVZ1ZEZSaGNtZGxkQ2tnZTF4dUlDQnlaWFIxY200Z1pYWmxiblJVWVhKblpYUXVkMmx1Wkc5M0lEMDlQU0JsZG1WdWRGUmhjbWRsZENBL0lHVjJaVzUwVkdGeVoyVjBMbVJ2WTNWdFpXNTBJRG9nWlhabGJuUlVZWEpuWlhRdWJtOWtaVlI1Y0dVZ1BUMDlJRVJQUTFWTlJVNVVYMDVQUkVVZ1B5QmxkbVZ1ZEZSaGNtZGxkQ0E2SUdWMlpXNTBWR0Z5WjJWMExtOTNibVZ5Ukc5amRXMWxiblE3WEc1OVhHNHZLaXBjYmlBcUlGQnZiR3dnYzJWc1pXTjBhVzl1SUhSdklITmxaU0IzYUdWMGFHVnlJR2wwSjNNZ1kyaGhibWRsWkM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnYm1GMGFYWmxSWFpsYm5SY2JpQXFJRUJ3WVhKaGJTQjdiMkpxWldOMGZTQnVZWFJwZG1WRmRtVnVkRlJoY21kbGRGeHVJQ29nUUhKbGRIVnliaUI3UDFONWJuUm9aWFJwWTBWMlpXNTBmVnh1SUNvdlhHNWNibHh1Wm5WdVkzUnBiMjRnWTI5dWMzUnlkV04wVTJWc1pXTjBSWFpsYm5Rb2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLU0I3WEc0Z0lDOHZJRVZ1YzNWeVpTQjNaU0JvWVhabElIUm9aU0J5YVdkb2RDQmxiR1Z0Wlc1MExDQmhibVFnZEdoaGRDQjBhR1VnZFhObGNpQnBjeUJ1YjNRZ1pISmhaMmRwYm1jZ1lWeHVJQ0F2THlCelpXeGxZM1JwYjI0Z0tIUm9hWE1nYldGMFkyaGxjeUJ1WVhScGRtVWdZSE5sYkdWamRHQWdaWFpsYm5RZ1ltVm9ZWFpwYjNJcExpQkpiaUJJVkUxTU5Td2djMlZzWldOMFhHNGdJQzh2SUdacGNtVnpJRzl1YkhrZ2IyNGdhVzV3ZFhRZ1lXNWtJSFJsZUhSaGNtVmhJSFJvZFhNZ2FXWWdkR2hsY21VbmN5QnVieUJtYjJOMWMyVmtJR1ZzWlcxbGJuUWdkMlZjYmlBZ0x5OGdkMjl1SjNRZ1pHbHpjR0YwWTJndVhHNGdJSFpoY2lCa2IyTWdQU0JuWlhSRmRtVnVkRlJoY21kbGRFUnZZM1Z0Wlc1MEtHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWMEtUdGNibHh1SUNCcFppQW9iVzkxYzJWRWIzZHVJSHg4SUdGamRHbDJaVVZzWlcxbGJuUWtNU0E5UFNCdWRXeHNJSHg4SUdGamRHbDJaVVZzWlcxbGJuUWtNU0FoUFQwZ1oyVjBRV04wYVhabFJXeGxiV1Z1ZENoa2IyTXBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMGdMeThnVDI1c2VTQm1hWEpsSUhkb1pXNGdjMlZzWldOMGFXOXVJR2hoY3lCaFkzUjFZV3hzZVNCamFHRnVaMlZrTGx4dVhHNWNiaUFnZG1GeUlHTjFjbkpsYm5SVFpXeGxZM1JwYjI0Z1BTQm5aWFJUWld4bFkzUnBiMjRrTVNoaFkzUnBkbVZGYkdWdFpXNTBKREVwTzF4dVhHNGdJR2xtSUNnaGJHRnpkRk5sYkdWamRHbHZiaUI4ZkNBaGMyaGhiR3h2ZDBWeGRXRnNLR3hoYzNSVFpXeGxZM1JwYjI0c0lHTjFjbkpsYm5SVFpXeGxZM1JwYjI0cEtTQjdYRzRnSUNBZ2JHRnpkRk5sYkdWamRHbHZiaUE5SUdOMWNuSmxiblJUWld4bFkzUnBiMjQ3WEc0Z0lDQWdkbUZ5SUhONWJuUm9aWFJwWTBWMlpXNTBJRDBnVTNsdWRHaGxkR2xqUlhabGJuUXVaMlYwVUc5dmJHVmtLR1YyWlc1MFZIbHdaWE1rTXk1elpXeGxZM1FzSUdGamRHbDJaVVZzWlcxbGJuUkpibk4wSkRFc0lHNWhkR2wyWlVWMlpXNTBMQ0J1WVhScGRtVkZkbVZ1ZEZSaGNtZGxkQ2s3WEc0Z0lDQWdjM2x1ZEdobGRHbGpSWFpsYm5RdWRIbHdaU0E5SUNkelpXeGxZM1FuTzF4dUlDQWdJSE41Ym5Sb1pYUnBZMFYyWlc1MExuUmhjbWRsZENBOUlHRmpkR2wyWlVWc1pXMWxiblFrTVR0Y2JpQWdJQ0JoWTJOMWJYVnNZWFJsVkhkdlVHaGhjMlZFYVhOd1lYUmphR1Z6S0hONWJuUm9aWFJwWTBWMlpXNTBLVHRjYmlBZ0lDQnlaWFIxY200Z2MzbHVkR2hsZEdsalJYWmxiblE3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYm5Wc2JEdGNibjFjYmk4cUtseHVJQ29nVkdocGN5QndiSFZuYVc0Z1kzSmxZWFJsY3lCaGJpQmdiMjVUWld4bFkzUmdJR1YyWlc1MElIUm9ZWFFnYm05eWJXRnNhWHBsY3lCelpXeGxZM1FnWlhabGJuUnpYRzRnS2lCaFkzSnZjM01nWm05eWJTQmxiR1Z0Wlc1MGN5NWNiaUFxWEc0Z0tpQlRkWEJ3YjNKMFpXUWdaV3hsYldWdWRITWdZWEpsT2x4dUlDb2dMU0JwYm5CMWRDQW9jMlZsSUdCcGMxUmxlSFJKYm5CMWRFVnNaVzFsYm5SZ0tWeHVJQ29nTFNCMFpYaDBZWEpsWVZ4dUlDb2dMU0JqYjI1MFpXNTBSV1JwZEdGaWJHVmNiaUFxWEc0Z0tpQlVhR2x6SUdScFptWmxjbk1nWm5KdmJTQnVZWFJwZG1VZ1luSnZkM05sY2lCcGJYQnNaVzFsYm5SaGRHbHZibk1nYVc0Z2RHaGxJR1p2Ykd4dmQybHVaeUIzWVhsek9seHVJQ29nTFNCR2FYSmxjeUJ2YmlCamIyNTBaVzUwUldScGRHRmliR1VnWm1sbGJHUnpJR0Z6SUhkbGJHd2dZWE1nYVc1d2RYUnpMbHh1SUNvZ0xTQkdhWEpsY3lCbWIzSWdZMjlzYkdGd2MyVmtJSE5sYkdWamRHbHZiaTVjYmlBcUlDMGdSbWx5WlhNZ1lXWjBaWElnZFhObGNpQnBibkIxZEM1Y2JpQXFMMXh1WEc1Y2JuWmhjaUJUWld4bFkzUkZkbVZ1ZEZCc2RXZHBiaUE5SUh0Y2JpQWdaWFpsYm5SVWVYQmxjem9nWlhabGJuUlVlWEJsY3lRekxGeHVJQ0JsZUhSeVlXTjBSWFpsYm5Sek9pQm1kVzVqZEdsdmJpQW9kRzl3VEdWMlpXeFVlWEJsTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFzSUdWMlpXNTBVM2x6ZEdWdFJteGhaM01zSUdOdmJuUmhhVzVsY2lrZ2UxeHVJQ0FnSUhaaGNpQmpiMjUwWVdsdVpYSlBja1J2WXlBOUlHTnZiblJoYVc1bGNpQjhmQ0JuWlhSRmRtVnVkRlJoY21kbGRFUnZZM1Z0Wlc1MEtHNWhkR2wyWlVWMlpXNTBWR0Z5WjJWMEtUc2dMeThnVkhKaFkyc2dkMmhsZEdobGNpQmhiR3dnYkdsemRHVnVaWEp6SUdWNGFYTjBjeUJtYjNJZ2RHaHBjeUJ3YkhWbmFXNHVJRWxtSUc1dmJtVWdaWGhwYzNRc0lIZGxJR1J2WEc0Z0lDQWdMeThnYm05MElHVjRkSEpoWTNRZ1pYWmxiblJ6TGlCVFpXVWdJek0yTXprdVhHNWNiaUFnSUNCcFppQW9JV052Ym5SaGFXNWxjazl5Ukc5aklIeDhJQ0ZwYzB4cGMzUmxibWx1WjFSdlFXeHNSR1Z3Wlc1a1pXNWphV1Z6S0NkdmJsTmxiR1ZqZENjc0lHTnZiblJoYVc1bGNrOXlSRzlqS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSFJoY21kbGRFNXZaR1VnUFNCMFlYSm5aWFJKYm5OMElEOGdaMlYwVG05a1pVWnliMjFKYm5OMFlXNWpaU1F4S0hSaGNtZGxkRWx1YzNRcElEb2dkMmx1Wkc5M08xeHVYRzRnSUNBZ2MzZHBkR05vSUNoMGIzQk1aWFpsYkZSNWNHVXBJSHRjYmlBZ0lDQWdJQzh2SUZSeVlXTnJJSFJvWlNCcGJuQjFkQ0J1YjJSbElIUm9ZWFFnYUdGeklHWnZZM1Z6TGx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUms5RFZWTTZYRzRnSUNBZ0lDQWdJR2xtSUNocGMxUmxlSFJKYm5CMWRFVnNaVzFsYm5Rb2RHRnlaMlYwVG05a1pTa2dmSHdnZEdGeVoyVjBUbTlrWlM1amIyNTBaVzUwUldScGRHRmliR1VnUFQwOUlDZDBjblZsSnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0ZqZEdsMlpVVnNaVzFsYm5Ra01TQTlJSFJoY21kbGRFNXZaR1U3WEc0Z0lDQWdJQ0FnSUNBZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRa01TQTlJSFJoY21kbGRFbHVjM1E3WEc0Z0lDQWdJQ0FnSUNBZ2JHRnpkRk5sYkdWamRHbHZiaUE5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUWt4VlVqcGNiaUFnSUNBZ0lDQWdZV04wYVhabFJXeGxiV1Z1ZENReElEMGdiblZzYkR0Y2JpQWdJQ0FnSUNBZ1lXTjBhWFpsUld4bGJXVnVkRWx1YzNRa01TQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lHeGhjM1JUWld4bFkzUnBiMjRnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDOHZJRVJ2YmlkMElHWnBjbVVnZEdobElHVjJaVzUwSUhkb2FXeGxJSFJvWlNCMWMyVnlJR2x6SUdSeVlXZG5hVzVuTGlCVWFHbHpJRzFoZEdOb1pYTWdkR2hsWEc0Z0lDQWdJQ0F2THlCelpXMWhiblJwWTNNZ2IyWWdkR2hsSUc1aGRHbDJaU0J6Wld4bFkzUWdaWFpsYm5RdVhHNWNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwMVBWVk5GWDBSUFYwNDZYRzRnSUNBZ0lDQWdJRzF2ZFhObFJHOTNiaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOURUMDVVUlZoVVgwMUZUbFU2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlOVDFWVFJWOVZVRHBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMFJTUVVkZlJVNUVPbHh1SUNBZ0lDQWdJQ0J0YjNWelpVUnZkMjRnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR052Ym5OMGNuVmpkRk5sYkdWamRFVjJaVzUwS0c1aGRHbDJaVVYyWlc1MExDQnVZWFJwZG1WRmRtVnVkRlJoY21kbGRDazdYRzRnSUNBZ0lDQXZMeUJEYUhKdmJXVWdZVzVrSUVsRklHWnBjbVVnYm05dUxYTjBZVzVrWVhKa0lHVjJaVzUwSUhkb1pXNGdjMlZzWldOMGFXOXVJR2x6SUdOb1lXNW5aV1FnS0dGdVpGeHVJQ0FnSUNBZ0x5OGdjMjl0WlhScGJXVnpJSGRvWlc0Z2FYUWdhR0Z6YmlkMEtTNGdTVVVuY3lCbGRtVnVkQ0JtYVhKbGN5QnZkWFFnYjJZZ2IzSmtaWElnZDJsMGFDQnlaWE53WldOMFhHNGdJQ0FnSUNBdkx5QjBieUJyWlhrZ1lXNWtJR2x1Y0hWMElHVjJaVzUwY3lCdmJpQmtaV3hsZEdsdmJpd2djMjhnZDJVZ1pHbHpZMkZ5WkNCcGRDNWNiaUFnSUNBZ0lDOHZYRzRnSUNBZ0lDQXZMeUJHYVhKbFptOTRJR1J2WlhOdUozUWdjM1Z3Y0c5eWRDQnpaV3hsWTNScGIyNWphR0Z1WjJVc0lITnZJR05vWldOcklITmxiR1ZqZEdsdmJpQnpkR0YwZFhOY2JpQWdJQ0FnSUM4dklHRm1kR1Z5SUdWaFkyZ2dhMlY1SUdWdWRISjVMaUJVYUdVZ2MyVnNaV04wYVc5dUlHTm9ZVzVuWlhNZ1lXWjBaWElnYTJWNVpHOTNiaUJoYm1RZ1ltVm1iM0psWEc0Z0lDQWdJQ0F2THlCclpYbDFjQ3dnWW5WMElIZGxJR05vWldOcklHOXVJR3RsZVdSdmQyNGdZWE1nZDJWc2JDQnBiaUIwYUdVZ1kyRnpaU0J2WmlCb2IyeGthVzVuSUdSdmQyNGdZVnh1SUNBZ0lDQWdMeThnYTJWNUxDQjNhR1Z1SUcxMWJIUnBjR3hsSUd0bGVXUnZkMjRnWlhabGJuUnpJR0Z5WlNCbWFYSmxaQ0JpZFhRZ2IyNXNlU0J2Ym1VZ2EyVjVkWEFnYVhNdVhHNGdJQ0FnSUNBdkx5QlVhR2x6SUdseklHRnNjMjhnYjNWeUlHRndjSEp2WVdOb0lHWnZjaUJKUlNCb1lXNWtiR2x1Wnl3Z1ptOXlJSFJvWlNCeVpXRnpiMjRnWVdKdmRtVXVYRzVjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMU5GVEVWRFZFbFBUbDlEU0VGT1IwVTZYRzRnSUNBZ0lDQWdJR2xtSUNoemEybHdVMlZzWldOMGFXOXVRMmhoYm1kbFJYWmxiblFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQXZMeUJtWVd4c2N5QjBhSEp2ZFdkb1hHNWNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwdEZXVjlFVDFkT09seHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlMwVlpYMVZRT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTI5dWMzUnlkV04wVTJWc1pXTjBSWFpsYm5Rb2JtRjBhWFpsUlhabGJuUXNJRzVoZEdsMlpVVjJaVzUwVkdGeVoyVjBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCQWFXNTBaWEptWVdObElFVjJaVzUwWEc0Z0tpQkFjMlZsSUdoMGRIQTZMeTkzZDNjdWR6TXViM0puTDFSU0wyTnpjek10WVc1cGJXRjBhVzl1Y3k4alFXNXBiV0YwYVc5dVJYWmxiblF0YVc1MFpYSm1ZV05sWEc0Z0tpQkFjMlZsSUdoMGRIQnpPaTh2WkdWMlpXeHZjR1Z5TG0xdmVtbHNiR0V1YjNKbkwyVnVMVlZUTDJSdlkzTXZWMlZpTDBGUVNTOUJibWx0WVhScGIyNUZkbVZ1ZEZ4dUlDb3ZYRzVjYm5aaGNpQlRlVzUwYUdWMGFXTkJibWx0WVhScGIyNUZkbVZ1ZENBOUlGTjViblJvWlhScFkwVjJaVzUwTG1WNGRHVnVaQ2g3WEc0Z0lHRnVhVzFoZEdsdmJrNWhiV1U2SUc1MWJHd3NYRzRnSUdWc1lYQnpaV1JVYVcxbE9pQnVkV3hzTEZ4dUlDQndjMlYxWkc5RmJHVnRaVzUwT2lCdWRXeHNYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQkFhVzUwWlhKbVlXTmxJRVYyWlc1MFhHNGdLaUJBYzJWbElHaDBkSEE2THk5M2QzY3Vkek11YjNKbkwxUlNMMk5zYVhCaWIyRnlaQzFoY0dsekwxeHVJQ292WEc1Y2JuWmhjaUJUZVc1MGFHVjBhV05EYkdsd1ltOWhjbVJGZG1WdWRDQTlJRk41Ym5Sb1pYUnBZMFYyWlc1MExtVjRkR1Z1WkNoN1hHNGdJR05zYVhCaWIyRnlaRVJoZEdFNklHWjFibU4wYVc5dUlDaGxkbVZ1ZENrZ2UxeHVJQ0FnSUhKbGRIVnliaUFuWTJ4cGNHSnZZWEprUkdGMFlTY2dhVzRnWlhabGJuUWdQeUJsZG1WdWRDNWpiR2x3WW05aGNtUkVZWFJoSURvZ2QybHVaRzkzTG1Oc2FYQmliMkZ5WkVSaGRHRTdYRzRnSUgxY2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JtOWpkWE5GZG1WdWRGeHVJQ29nUUhObFpTQm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTlFVDAwdFRHVjJaV3d0TXkxRmRtVnVkSE12WEc0Z0tpOWNibHh1ZG1GeUlGTjViblJvWlhScFkwWnZZM1Z6UlhabGJuUWdQU0JUZVc1MGFHVjBhV05WU1VWMlpXNTBMbVY0ZEdWdVpDaDdYRzRnSUhKbGJHRjBaV1JVWVhKblpYUTZJRzUxYkd4Y2JuMHBPMXh1WEc0dktpcGNiaUFxSUdCamFHRnlRMjlrWldBZ2NtVndjbVZ6Wlc1MGN5QjBhR1VnWVdOMGRXRnNJRndpWTJoaGNtRmpkR1Z5SUdOdlpHVmNJaUJoYm1RZ2FYTWdjMkZtWlNCMGJ5QjFjMlVnZDJsMGFGeHVJQ29nWUZOMGNtbHVaeTVtY205dFEyaGhja052WkdWZ0xpQkJjeUJ6ZFdOb0xDQnZibXg1SUd0bGVYTWdkR2hoZENCamIzSnlaWE53YjI1a0lIUnZJSEJ5YVc1MFlXSnNaVnh1SUNvZ1kyaGhjbUZqZEdWeWN5QndjbTlrZFdObElHRWdkbUZzYVdRZ1lHTm9ZWEpEYjJSbFlDd2dkR2hsSUc5dWJIa2daWGhqWlhCMGFXOXVJSFJ2SUhSb2FYTWdhWE1nUlc1MFpYSXVYRzRnS2lCVWFHVWdWR0ZpTFd0bGVTQnBjeUJqYjI1emFXUmxjbVZrSUc1dmJpMXdjbWx1ZEdGaWJHVWdZVzVrSUdSdlpYTWdibTkwSUdoaGRtVWdZU0JnWTJoaGNrTnZaR1ZnTEZ4dUlDb2djSEpsYzNWdFlXSnNlU0JpWldOaGRYTmxJR2wwSUdSdlpYTWdibTkwSUhCeWIyUjFZMlVnWVNCMFlXSXRZMmhoY21GamRHVnlJR2x1SUdKeWIzZHpaWEp6TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0J1WVhScGRtVkZkbVZ1ZENCT1lYUnBkbVVnWW5KdmQzTmxjaUJsZG1WdWRDNWNiaUFxSUVCeVpYUjFjbTRnZTI1MWJXSmxjbjBnVG05eWJXRnNhWHBsWkNCZ1kyaGhja052WkdWZ0lIQnliM0JsY25SNUxseHVJQ292WEc1bWRXNWpkR2x2YmlCblpYUkZkbVZ1ZEVOb1lYSkRiMlJsS0c1aGRHbDJaVVYyWlc1MEtTQjdYRzRnSUhaaGNpQmphR0Z5UTI5a1pUdGNiaUFnZG1GeUlHdGxlVU52WkdVZ1BTQnVZWFJwZG1WRmRtVnVkQzVyWlhsRGIyUmxPMXh1WEc0Z0lHbG1JQ2duWTJoaGNrTnZaR1VuSUdsdUlHNWhkR2wyWlVWMlpXNTBLU0I3WEc0Z0lDQWdZMmhoY2tOdlpHVWdQU0J1WVhScGRtVkZkbVZ1ZEM1amFHRnlRMjlrWlRzZ0x5OGdSa1lnWkc5bGN5QnViM1FnYzJWMElHQmphR0Z5UTI5a1pXQWdabTl5SUhSb1pTQkZiblJsY2kxclpYa3NJR05vWldOcklHRm5ZV2x1YzNRZ1lHdGxlVU52WkdWZ0xseHVYRzRnSUNBZ2FXWWdLR05vWVhKRGIyUmxJRDA5UFNBd0lDWW1JR3RsZVVOdlpHVWdQVDA5SURFektTQjdYRzRnSUNBZ0lDQmphR0Z5UTI5a1pTQTlJREV6TzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCSlJUZ2daRzlsY3lCdWIzUWdhVzF3YkdWdFpXNTBJR0JqYUdGeVEyOWtaV0FzSUdKMWRDQmdhMlY1UTI5a1pXQWdhR0Z6SUhSb1pTQmpiM0p5WldOMElIWmhiSFZsTGx4dUlDQWdJR05vWVhKRGIyUmxJRDBnYTJWNVEyOWtaVHRjYmlBZ2ZTQXZMeUJKUlNCaGJtUWdSV1JuWlNBb2IyNGdWMmx1Wkc5M2N5a2dZVzVrSUVOb2NtOXRaU0F2SUZOaFptRnlhU0FvYjI0Z1YybHVaRzkzY3lCaGJtUWdUR2x1ZFhncFhHNGdJQzh2SUhKbGNHOXlkQ0JGYm5SbGNpQmhjeUJqYUdGeVEyOWtaU0F4TUNCM2FHVnVJR04wY213Z2FYTWdjSEpsYzNObFpDNWNibHh1WEc0Z0lHbG1JQ2hqYUdGeVEyOWtaU0E5UFQwZ01UQXBJSHRjYmlBZ0lDQmphR0Z5UTI5a1pTQTlJREV6TzF4dUlDQjlJQzh2SUZOdmJXVWdibTl1TFhCeWFXNTBZV0pzWlNCclpYbHpJR0Z5WlNCeVpYQnZjblJsWkNCcGJpQmdZMmhoY2tOdlpHVmdMMkJyWlhsRGIyUmxZQ3dnWkdselkyRnlaQ0IwYUdWdExseHVJQ0F2THlCTmRYTjBJRzV2ZENCa2FYTmpZWEprSUhSb1pTQW9ibTl1TFNsd2NtbHVkR0ZpYkdVZ1JXNTBaWEl0YTJWNUxseHVYRzVjYmlBZ2FXWWdLR05vWVhKRGIyUmxJRDQ5SURNeUlIeDhJR05vWVhKRGIyUmxJRDA5UFNBeE15a2dlMXh1SUNBZ0lISmxkSFZ5YmlCamFHRnlRMjlrWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlBd08xeHVmVnh1WEc0dktpcGNiaUFxSUU1dmNtMWhiR2w2WVhScGIyNGdiMllnWkdWd2NtVmpZWFJsWkNCSVZFMU1OU0JnYTJWNVlDQjJZV3gxWlhOY2JpQXFJRUJ6WldVZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlFWQkpMMHRsZVdKdllYSmtSWFpsYm5RalMyVjVYMjVoYldWelhHNGdLaTljYmx4dWRtRnlJRzV2Y20xaGJHbDZaVXRsZVNBOUlIdGNiaUFnUlhOak9pQW5SWE5qWVhCbEp5eGNiaUFnVTNCaFkyVmlZWEk2SUNjZ0p5eGNiaUFnVEdWbWREb2dKMEZ5Y205M1RHVm1kQ2NzWEc0Z0lGVndPaUFuUVhKeWIzZFZjQ2NzWEc0Z0lGSnBaMmgwT2lBblFYSnliM2RTYVdkb2RDY3NYRzRnSUVSdmQyNDZJQ2RCY25KdmQwUnZkMjRuTEZ4dUlDQkVaV3c2SUNkRVpXeGxkR1VuTEZ4dUlDQlhhVzQ2SUNkUFV5Y3NYRzRnSUUxbGJuVTZJQ2REYjI1MFpYaDBUV1Z1ZFNjc1hHNGdJRUZ3Y0hNNklDZERiMjUwWlhoMFRXVnVkU2NzWEc0Z0lGTmpjbTlzYkRvZ0oxTmpjbTlzYkV4dlkyc25MRnh1SUNCTmIzcFFjbWx1ZEdGaWJHVkxaWGs2SUNkVmJtbGtaVzUwYVdacFpXUW5YRzU5TzF4dUx5b3FYRzRnS2lCVWNtRnVjMnhoZEdsdmJpQm1jbTl0SUd4bFoyRmplU0JnYTJWNVEyOWtaV0FnZEc4Z1NGUk5URFVnWUd0bGVXQmNiaUFxSUU5dWJIa2djM0JsWTJsaGJDQnJaWGx6SUhOMWNIQnZjblJsWkN3Z1lXeHNJRzkwYUdWeWN5QmtaWEJsYm1RZ2IyNGdhMlY1WW05aGNtUWdiR0Y1YjNWMElHOXlJR0p5YjNkelpYSmNiaUFxSUVCelpXVWdhSFIwY0hNNkx5OWtaWFpsYkc5d1pYSXViVzk2YVd4c1lTNXZjbWN2Wlc0dFZWTXZaRzlqY3k5WFpXSXZRVkJKTDB0bGVXSnZZWEprUlhabGJuUWpTMlY1WDI1aGJXVnpYRzRnS2k5Y2JseHVkbUZ5SUhSeVlXNXpiR0YwWlZSdlMyVjVJRDBnZTF4dUlDQW5PQ2M2SUNkQ1lXTnJjM0JoWTJVbkxGeHVJQ0FuT1NjNklDZFVZV0luTEZ4dUlDQW5NVEluT2lBblEyeGxZWEluTEZ4dUlDQW5NVE1uT2lBblJXNTBaWEluTEZ4dUlDQW5NVFluT2lBblUyaHBablFuTEZ4dUlDQW5NVGNuT2lBblEyOXVkSEp2YkNjc1hHNGdJQ2N4T0NjNklDZEJiSFFuTEZ4dUlDQW5NVGtuT2lBblVHRjFjMlVuTEZ4dUlDQW5NakFuT2lBblEyRndjMHh2WTJzbkxGeHVJQ0FuTWpjbk9pQW5SWE5qWVhCbEp5eGNiaUFnSnpNeUp6b2dKeUFuTEZ4dUlDQW5Nek1uT2lBblVHRm5aVlZ3Snl4Y2JpQWdKek0wSnpvZ0oxQmhaMlZFYjNkdUp5eGNiaUFnSnpNMUp6b2dKMFZ1WkNjc1hHNGdJQ2N6TmljNklDZEliMjFsSnl4Y2JpQWdKek0zSnpvZ0owRnljbTkzVEdWbWRDY3NYRzRnSUNjek9DYzZJQ2RCY25KdmQxVndKeXhjYmlBZ0p6TTVKem9nSjBGeWNtOTNVbWxuYUhRbkxGeHVJQ0FuTkRBbk9pQW5RWEp5YjNkRWIzZHVKeXhjYmlBZ0p6UTFKem9nSjBsdWMyVnlkQ2NzWEc0Z0lDYzBOaWM2SUNkRVpXeGxkR1VuTEZ4dUlDQW5NVEV5SnpvZ0owWXhKeXhjYmlBZ0p6RXhNeWM2SUNkR01pY3NYRzRnSUNjeE1UUW5PaUFuUmpNbkxGeHVJQ0FuTVRFMUp6b2dKMFkwSnl4Y2JpQWdKekV4TmljNklDZEdOU2NzWEc0Z0lDY3hNVGNuT2lBblJqWW5MRnh1SUNBbk1URTRKem9nSjBZM0p5eGNiaUFnSnpFeE9TYzZJQ2RHT0Njc1hHNGdJQ2N4TWpBbk9pQW5SamtuTEZ4dUlDQW5NVEl4SnpvZ0owWXhNQ2NzWEc0Z0lDY3hNakluT2lBblJqRXhKeXhjYmlBZ0p6RXlNeWM2SUNkR01USW5MRnh1SUNBbk1UUTBKem9nSjA1MWJVeHZZMnNuTEZ4dUlDQW5NVFExSnpvZ0oxTmpjbTlzYkV4dlkyc25MRnh1SUNBbk1qSTBKem9nSjAxbGRHRW5YRzU5TzF4dUx5b3FYRzRnS2lCQWNHRnlZVzBnZTI5aWFtVmpkSDBnYm1GMGFYWmxSWFpsYm5RZ1RtRjBhWFpsSUdKeWIzZHpaWElnWlhabGJuUXVYRzRnS2lCQWNtVjBkWEp1SUh0emRISnBibWQ5SUU1dmNtMWhiR2w2WldRZ1lHdGxlV0FnY0hKdmNHVnlkSGt1WEc0Z0tpOWNibHh1Wm5WdVkzUnBiMjRnWjJWMFJYWmxiblJMWlhrb2JtRjBhWFpsUlhabGJuUXBJSHRjYmlBZ2FXWWdLRzVoZEdsMlpVVjJaVzUwTG10bGVTa2dlMXh1SUNBZ0lDOHZJRTV2Y20xaGJHbDZaU0JwYm1OdmJuTnBjM1JsYm5RZ2RtRnNkV1Z6SUhKbGNHOXlkR1ZrSUdKNUlHSnliM2R6WlhKeklHUjFaU0IwYjF4dUlDQWdJQzh2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVjeUJ2WmlCaElIZHZjbXRwYm1jZ1pISmhablFnYzNCbFkybG1hV05oZEdsdmJpNWNiaUFnSUNBdkx5QkdhWEpsUm05NElHbHRjR3hsYldWdWRITWdZR3RsZVdBZ1luVjBJSEpsZEhWeWJuTWdZRTF2ZWxCeWFXNTBZV0pzWlV0bGVXQWdabTl5SUdGc2JGeHVJQ0FnSUM4dklIQnlhVzUwWVdKc1pTQmphR0Z5WVdOMFpYSnpJQ2h1YjNKdFlXeHBlbVZrSUhSdklHQlZibWxrWlc1MGFXWnBaV1JnS1N3Z2FXZHViM0psSUdsMExseHVJQ0FnSUhaaGNpQnJaWGtnUFNCdWIzSnRZV3hwZW1WTFpYbGJibUYwYVhabFJYWmxiblF1YTJWNVhTQjhmQ0J1WVhScGRtVkZkbVZ1ZEM1clpYazdYRzVjYmlBZ0lDQnBaaUFvYTJWNUlDRTlQU0FuVlc1cFpHVnVkR2xtYVdWa0p5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHdGxlVHRjYmlBZ0lDQjlYRzRnSUgwZ0x5OGdRbkp2ZDNObGNpQmtiMlZ6SUc1dmRDQnBiWEJzWlcxbGJuUWdZR3RsZVdBc0lIQnZiSGxtYVd4c0lHRnpJRzExWTJnZ2IyWWdhWFFnWVhNZ2QyVWdZMkZ1TGx4dVhHNWNiaUFnYVdZZ0tHNWhkR2wyWlVWMlpXNTBMblI1Y0dVZ1BUMDlJQ2RyWlhsd2NtVnpjeWNwSUh0Y2JpQWdJQ0IyWVhJZ1kyaGhja052WkdVZ1BTQm5aWFJGZG1WdWRFTm9ZWEpEYjJSbEtHNWhkR2wyWlVWMlpXNTBLVHNnTHk4Z1ZHaGxJR1Z1ZEdWeUxXdGxlU0JwY3lCMFpXTm9ibWxqWVd4c2VTQmliM1JvSUhCeWFXNTBZV0pzWlNCaGJtUWdibTl1TFhCeWFXNTBZV0pzWlNCaGJtUWdZMkZ1WEc0Z0lDQWdMeThnZEdoMWN5QmlaU0JqWVhCMGRYSmxaQ0JpZVNCZ2EyVjVjSEpsYzNOZ0xDQnVieUJ2ZEdobGNpQnViMjR0Y0hKcGJuUmhZbXhsSUd0bGVTQnphRzkxYkdRdVhHNWNiaUFnSUNCeVpYUjFjbTRnWTJoaGNrTnZaR1VnUFQwOUlERXpJRDhnSjBWdWRHVnlKeUE2SUZOMGNtbHVaeTVtY205dFEyaGhja052WkdVb1kyaGhja052WkdVcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0c1aGRHbDJaVVYyWlc1MExuUjVjR1VnUFQwOUlDZHJaWGxrYjNkdUp5QjhmQ0J1WVhScGRtVkZkbVZ1ZEM1MGVYQmxJRDA5UFNBbmEyVjVkWEFuS1NCN1hHNGdJQ0FnTHk4Z1YyaHBiR1VnZFhObGNpQnJaWGxpYjJGeVpDQnNZWGx2ZFhRZ1pHVjBaWEp0YVc1bGN5QjBhR1VnWVdOMGRXRnNJRzFsWVc1cGJtY2diMllnWldGamFGeHVJQ0FnSUM4dklHQnJaWGxEYjJSbFlDQjJZV3gxWlN3Z1lXeHRiM04wSUdGc2JDQm1kVzVqZEdsdmJpQnJaWGx6SUdoaGRtVWdZU0IxYm1sMlpYSnpZV3dnZG1Gc2RXVXVYRzRnSUNBZ2NtVjBkWEp1SUhSeVlXNXpiR0YwWlZSdlMyVjVXMjVoZEdsMlpVVjJaVzUwTG10bGVVTnZaR1ZkSUh4OElDZFZibWxrWlc1MGFXWnBaV1FuTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUNjbk8xeHVmVnh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1MyVjVZbTloY21SRmRtVnVkRnh1SUNvZ1FITmxaU0JvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlVVWk5RVQwMHRUR1YyWld3dE15MUZkbVZ1ZEhNdlhHNGdLaTljYmx4dWRtRnlJRk41Ym5Sb1pYUnBZMHRsZVdKdllYSmtSWFpsYm5RZ1BTQlRlVzUwYUdWMGFXTlZTVVYyWlc1MExtVjRkR1Z1WkNoN1hHNGdJR3RsZVRvZ1oyVjBSWFpsYm5STFpYa3NYRzRnSUd4dlkyRjBhVzl1T2lCdWRXeHNMRnh1SUNCamRISnNTMlY1T2lCdWRXeHNMRnh1SUNCemFHbG1kRXRsZVRvZ2JuVnNiQ3hjYmlBZ1lXeDBTMlY1T2lCdWRXeHNMRnh1SUNCdFpYUmhTMlY1T2lCdWRXeHNMRnh1SUNCeVpYQmxZWFE2SUc1MWJHd3NYRzRnSUd4dlkyRnNaVG9nYm5Wc2JDeGNiaUFnWjJWMFRXOWthV1pwWlhKVGRHRjBaVG9nWjJWMFJYWmxiblJOYjJScFptbGxjbE4wWVhSbExGeHVJQ0F2THlCTVpXZGhZM2tnU1c1MFpYSm1ZV05sWEc0Z0lHTm9ZWEpEYjJSbE9pQm1kVzVqZEdsdmJpQW9aWFpsYm5RcElIdGNiaUFnSUNBdkx5QmdZMmhoY2tOdlpHVmdJR2x6SUhSb1pTQnlaWE4xYkhRZ2IyWWdZU0JMWlhsUWNtVnpjeUJsZG1WdWRDQmhibVFnY21Wd2NtVnpaVzUwY3lCMGFHVWdkbUZzZFdVZ2IyWmNiaUFnSUNBdkx5QjBhR1VnWVdOMGRXRnNJSEJ5YVc1MFlXSnNaU0JqYUdGeVlXTjBaWEl1WEc0Z0lDQWdMeThnUzJWNVVISmxjM01nYVhNZ1pHVndjbVZqWVhSbFpDd2dZblYwSUdsMGN5QnlaWEJzWVdObGJXVnVkQ0JwY3lCdWIzUWdlV1YwSUdacGJtRnNJR0Z1WkNCdWIzUmNiaUFnSUNBdkx5QnBiWEJzWlcxbGJuUmxaQ0JwYmlCaGJua2diV0ZxYjNJZ1luSnZkM05sY2k0Z1QyNXNlU0JMWlhsUWNtVnpjeUJvWVhNZ1kyaGhja052WkdVdVhHNGdJQ0FnYVdZZ0tHVjJaVzUwTG5SNWNHVWdQVDA5SUNkclpYbHdjbVZ6Y3ljcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCblpYUkZkbVZ1ZEVOb1lYSkRiMlJsS0dWMlpXNTBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlN4Y2JpQWdhMlY1UTI5a1pUb2dablZ1WTNScGIyNGdLR1YyWlc1MEtTQjdYRzRnSUNBZ0x5OGdZR3RsZVVOdlpHVmdJR2x6SUhSb1pTQnlaWE4xYkhRZ2IyWWdZU0JMWlhsRWIzZHVMMVZ3SUdWMlpXNTBJR0Z1WkNCeVpYQnlaWE5sYm5SeklIUm9aU0IyWVd4MVpTQnZabHh1SUNBZ0lDOHZJSEJvZVhOcFkyRnNJR3RsZVdKdllYSmtJR3RsZVM1Y2JpQWdJQ0F2THlCVWFHVWdZV04wZFdGc0lHMWxZVzVwYm1jZ2IyWWdkR2hsSUhaaGJIVmxJR1JsY0dWdVpITWdiMjRnZEdobElIVnpaWEp6SnlCclpYbGliMkZ5WkNCc1lYbHZkWFJjYmlBZ0lDQXZMeUIzYUdsamFDQmpZVzV1YjNRZ1ltVWdaR1YwWldOMFpXUXVJRUZ6YzNWdGFXNW5JSFJvWVhRZ2FYUWdhWE1nWVNCVlV5QnJaWGxpYjJGeVpDQnNZWGx2ZFhSY2JpQWdJQ0F2THlCd2NtOTJhV1JsY3lCaElITjFjbkJ5YVhOcGJtZHNlU0JoWTJOMWNtRjBaU0J0WVhCd2FXNW5JR1p2Y2lCVlV5QmhibVFnUlhWeWIzQmxZVzRnZFhObGNuTXVYRzRnSUNBZ0x5OGdSSFZsSUhSdklIUm9hWE1zSUdsMElHbHpJR3hsWm5RZ2RHOGdkR2hsSUhWelpYSWdkRzhnYVcxd2JHVnRaVzUwSUdGMElIUm9hWE1nZEdsdFpTNWNiaUFnSUNCcFppQW9aWFpsYm5RdWRIbHdaU0E5UFQwZ0oydGxlV1J2ZDI0bklIeDhJR1YyWlc1MExuUjVjR1VnUFQwOUlDZHJaWGwxY0NjcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCbGRtVnVkQzVyWlhsRGIyUmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlBd08xeHVJQ0I5TEZ4dUlDQjNhR2xqYURvZ1puVnVZM1JwYjI0Z0tHVjJaVzUwS1NCN1hHNGdJQ0FnTHk4Z1lIZG9hV05vWUNCcGN5QmhiaUJoYkdsaGN5Qm1iM0lnWldsMGFHVnlJR0JyWlhsRGIyUmxZQ0J2Y2lCZ1kyaGhja052WkdWZ0lHUmxjR1Z1WkdsdVp5QnZiaUIwYUdWY2JpQWdJQ0F2THlCMGVYQmxJRzltSUhSb1pTQmxkbVZ1ZEM1Y2JpQWdJQ0JwWmlBb1pYWmxiblF1ZEhsd1pTQTlQVDBnSjJ0bGVYQnlaWE56SnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdkbGRFVjJaVzUwUTJoaGNrTnZaR1VvWlhabGJuUXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRDNTBlWEJsSUQwOVBTQW5hMlY1Wkc5M2JpY2dmSHdnWlhabGJuUXVkSGx3WlNBOVBUMGdKMnRsZVhWd0p5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHVjJaVzUwTG10bGVVTnZaR1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgxY2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JISmhaMFYyWlc1MFhHNGdLaUJBYzJWbElHaDBkSEE2THk5M2QzY3Vkek11YjNKbkwxUlNMMFJQVFMxTVpYWmxiQzB6TFVWMlpXNTBjeTljYmlBcUwxeHVYRzUyWVhJZ1UzbHVkR2hsZEdsalJISmhaMFYyWlc1MElEMGdVM2x1ZEdobGRHbGpUVzkxYzJWRmRtVnVkQzVsZUhSbGJtUW9lMXh1SUNCa1lYUmhWSEpoYm5ObVpYSTZJRzUxYkd4Y2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1ZHOTFZMmhGZG1WdWRGeHVJQ29nUUhObFpTQm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OVVVaTkwYjNWamFDMWxkbVZ1ZEhNdlhHNGdLaTljYmx4dWRtRnlJRk41Ym5Sb1pYUnBZMVJ2ZFdOb1JYWmxiblFnUFNCVGVXNTBhR1YwYVdOVlNVVjJaVzUwTG1WNGRHVnVaQ2g3WEc0Z0lIUnZkV05vWlhNNklHNTFiR3dzWEc0Z0lIUmhjbWRsZEZSdmRXTm9aWE02SUc1MWJHd3NYRzRnSUdOb1lXNW5aV1JVYjNWamFHVnpPaUJ1ZFd4c0xGeHVJQ0JoYkhSTFpYazZJRzUxYkd3c1hHNGdJRzFsZEdGTFpYazZJRzUxYkd3c1hHNGdJR04wY214TFpYazZJRzUxYkd3c1hHNGdJSE5vYVdaMFMyVjVPaUJ1ZFd4c0xGeHVJQ0JuWlhSTmIyUnBabWxsY2xOMFlYUmxPaUJuWlhSRmRtVnVkRTF2WkdsbWFXVnlVM1JoZEdWY2JuMHBPMXh1WEc0dktpcGNiaUFxSUVCcGJuUmxjbVpoWTJVZ1JYWmxiblJjYmlBcUlFQnpaV1VnYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2VkZJdk1qQXdPUzlYUkMxamMzTXpMWFJ5WVc1emFYUnBiMjV6TFRJd01Ea3dNekl3THlOMGNtRnVjMmwwYVc5dUxXVjJaVzUwY3kxY2JpQXFJRUJ6WldVZ2FIUjBjSE02THk5a1pYWmxiRzl3WlhJdWJXOTZhV3hzWVM1dmNtY3ZaVzR0VlZNdlpHOWpjeTlYWldJdlFWQkpMMVJ5WVc1emFYUnBiMjVGZG1WdWRGeHVJQ292WEc1Y2JuWmhjaUJUZVc1MGFHVjBhV05VY21GdWMybDBhVzl1UlhabGJuUWdQU0JUZVc1MGFHVjBhV05GZG1WdWRDNWxlSFJsYm1Rb2UxeHVJQ0J3Y205d1pYSjBlVTVoYldVNklHNTFiR3dzWEc0Z0lHVnNZWEJ6WldSVWFXMWxPaUJ1ZFd4c0xGeHVJQ0J3YzJWMVpHOUZiR1Z0Wlc1ME9pQnVkV3hzWEc1OUtUdGNibHh1THlvcVhHNGdLaUJBYVc1MFpYSm1ZV05sSUZkb1pXVnNSWFpsYm5SY2JpQXFJRUJ6WldVZ2FIUjBjRG92TDNkM2R5NTNNeTV2Y21jdlZGSXZSRTlOTFV4bGRtVnNMVE10UlhabGJuUnpMMXh1SUNvdlhHNWNiblpoY2lCVGVXNTBhR1YwYVdOWGFHVmxiRVYyWlc1MElEMGdVM2x1ZEdobGRHbGpUVzkxYzJWRmRtVnVkQzVsZUhSbGJtUW9lMXh1SUNCa1pXeDBZVmc2SUdaMWJtTjBhVzl1SUNobGRtVnVkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQW5aR1ZzZEdGWUp5QnBiaUJsZG1WdWRDQS9JR1YyWlc1MExtUmxiSFJoV0NBNklDOHZJRVpoYkd4aVlXTnJJSFJ2SUdCM2FHVmxiRVJsYkhSaFdHQWdabTl5SUZkbFltdHBkQ0JoYm1RZ2JtOXliV0ZzYVhwbElDaHlhV2RvZENCcGN5QndiM05wZEdsMlpTa3VYRzRnSUNBZ0ozZG9aV1ZzUkdWc2RHRllKeUJwYmlCbGRtVnVkQ0EvSUMxbGRtVnVkQzUzYUdWbGJFUmxiSFJoV0NBNklEQTdYRzRnSUgwc1hHNGdJR1JsYkhSaFdUb2dablZ1WTNScGIyNGdLR1YyWlc1MEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUNka1pXeDBZVmtuSUdsdUlHVjJaVzUwSUQ4Z1pYWmxiblF1WkdWc2RHRlpJRG9nTHk4Z1JtRnNiR0poWTJzZ2RHOGdZSGRvWldWc1JHVnNkR0ZaWUNCbWIzSWdWMlZpYTJsMElHRnVaQ0J1YjNKdFlXeHBlbVVnS0dSdmQyNGdhWE1nY0c5emFYUnBkbVVwTGx4dUlDQWdJQ2QzYUdWbGJFUmxiSFJoV1NjZ2FXNGdaWFpsYm5RZ1B5QXRaWFpsYm5RdWQyaGxaV3hFWld4MFlWa2dPaUF2THlCR1lXeHNZbUZqYXlCMGJ5QmdkMmhsWld4RVpXeDBZV0FnWm05eUlFbEZQRGtnWVc1a0lHNXZjbTFoYkdsNlpTQW9aRzkzYmlCcGN5QndiM05wZEdsMlpTa3VYRzRnSUNBZ0ozZG9aV1ZzUkdWc2RHRW5JR2x1SUdWMlpXNTBJRDhnTFdWMlpXNTBMbmRvWldWc1JHVnNkR0VnT2lBd08xeHVJQ0I5TEZ4dUlDQmtaV3gwWVZvNklHNTFiR3dzWEc0Z0lDOHZJRUp5YjNkelpYSnpJSGRwZEdodmRYUWdYQ0prWld4MFlVMXZaR1ZjSWlCcGN5QnlaWEJ2Y25ScGJtY2dhVzRnY21GM0lIZG9aV1ZzSUdSbGJIUmhJSGRvWlhKbElHOXVaVnh1SUNBdkx5QnViM1JqYUNCdmJpQjBhR1VnYzJOeWIyeHNJR2x6SUdGc2QyRjVjeUFyTHkwZ01USXdMQ0J5YjNWbmFHeDVJR1Z4ZFdsMllXeGxiblFnZEc4Z2NHbDRaV3h6TGx4dUlDQXZMeUJCSUdkdmIyUWdZWEJ3Y205NGFXMWhkR2x2YmlCdlppQkVUMDFmUkVWTVZFRmZURWxPUlNBb01Ta2dhWE1nTlNVZ2IyWWdkbWxsZDNCdmNuUWdjMmw2WlNCdmNseHVJQ0F2THlCK05EQWdjR2w0Wld4ekxDQm1iM0lnUkU5TlgwUkZURlJCWDFORFVrVkZUaUFvTWlrZ2FYUWdhWE1nT0RjdU5TVWdiMllnZG1sbGQzQnZjblFnYzJsNlpTNWNiaUFnWkdWc2RHRk5iMlJsT2lCdWRXeHNYRzU5S1R0Y2JseHVkbUZ5SUd0dWIzZHVTRlJOVEZSdmNFeGxkbVZzVkhsd1pYTWdQU0JiVkU5UVgwRkNUMUpVTENCVVQxQmZRMEZPUTBWTUxDQlVUMUJmUTBGT1gxQk1RVmtzSUZSUFVGOURRVTVmVUV4QldWOVVTRkpQVlVkSUxDQlVUMUJmUTB4UFUwVXNJRlJQVUY5RVZWSkJWRWxQVGw5RFNFRk9SMFVzSUZSUFVGOUZUVkJVU1VWRUxDQlVUMUJmUlU1RFVsbFFWRVZFTENCVVQxQmZSVTVFUlVRc0lGUlBVRjlGVWxKUFVpd2dWRTlRWDBsT1VGVlVMQ0JVVDFCZlNVNVdRVXhKUkN3Z1ZFOVFYMHhQUVVRc0lGUlBVRjlNVDBGRVJVUmZSRUZVUVN3Z1ZFOVFYMHhQUVVSRlJGOU5SVlJCUkVGVVFTd2dWRTlRWDB4UFFVUmZVMVJCVWxRc0lGUlBVRjlRUVZWVFJTd2dWRTlRWDFCTVFWa3NJRlJQVUY5UVRFRlpTVTVITENCVVQxQmZVRkpQUjFKRlUxTXNJRlJQVUY5U1FWUkZYME5JUVU1SFJTd2dWRTlRWDFKRlUwVlVMQ0JVVDFCZlUwVkZTMFZFTENCVVQxQmZVMFZGUzBsT1J5d2dWRTlRWDFOVVFVeE1SVVFzSUZSUFVGOVRWVUpOU1ZRc0lGUlBVRjlUVlZOUVJVNUVMQ0JVVDFCZlZFbE5SVjlWVUVSQlZFVXNJRlJQVUY5VVQwZEhURVVzSUZSUFVGOVdUMHhWVFVWZlEwaEJUa2RGTENCVVQxQmZWMEZKVkVsT1IxMDdYRzUyWVhJZ1UybHRjR3hsUlhabGJuUlFiSFZuYVc0Z1BTQjdYRzRnSUM4dklITnBiWEJzWlVWMlpXNTBVR3gxWjJsdVJYWmxiblJVZVhCbGN5Qm5aWFJ6SUhCdmNIVnNZWFJsWkNCbWNtOXRYRzRnSUM4dklIUm9aU0JFVDAxRmRtVnVkRkJ5YjNCbGNuUnBaWE1nYlc5a2RXeGxMbHh1SUNCbGRtVnVkRlI1Y0dWek9pQnphVzF3YkdWRmRtVnVkRkJzZFdkcGJrVjJaVzUwVkhsd1pYTXNYRzRnSUdWNGRISmhZM1JGZG1WdWRITTZJR1oxYm1OMGFXOXVJQ2gwYjNCTVpYWmxiRlI1Y0dVc0lIUmhjbWRsZEVsdWMzUXNJRzVoZEdsMlpVVjJaVzUwTENCdVlYUnBkbVZGZG1WdWRGUmhjbWRsZEN3Z1pYWmxiblJUZVhOMFpXMUdiR0ZuY3lrZ2UxeHVJQ0FnSUhaaGNpQmthWE53WVhSamFFTnZibVpwWnlBOUlIUnZjRXhsZG1Wc1JYWmxiblJ6Vkc5RWFYTndZWFJqYUVOdmJtWnBaeTVuWlhRb2RHOXdUR1YyWld4VWVYQmxLVHRjYmx4dUlDQWdJR2xtSUNnaFpHbHpjR0YwWTJoRGIyNW1hV2NwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eU8xeHVYRzRnSUNBZ2MzZHBkR05vSUNoMGIzQk1aWFpsYkZSNWNHVXBJSHRjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMHRGV1Y5UVVrVlRVenBjYmlBZ0lDQWdJQ0FnTHk4Z1JtbHlaV1p2ZUNCamNtVmhkR1Z6SUdFZ2EyVjVjSEpsYzNNZ1pYWmxiblFnWm05eUlHWjFibU4wYVc5dUlHdGxlWE1nZEc5dkxpQlVhR2x6SUhKbGJXOTJaWE5jYmlBZ0lDQWdJQ0FnTHk4Z2RHaGxJSFZ1ZDJGdWRHVmtJR3RsZVhCeVpYTnpJR1YyWlc1MGN5NGdSVzUwWlhJZ2FYTWdhRzkzWlhabGNpQmliM1JvSUhCeWFXNTBZV0pzWlNCaGJtUmNiaUFnSUNBZ0lDQWdMeThnYm05dUxYQnlhVzUwWVdKc1pTNGdUMjVsSUhkdmRXeGtJR1Y0Y0dWamRDQlVZV0lnZEc4Z1ltVWdZWE1nZDJWc2JDQW9ZblYwSUdsMElHbHpiaWQwS1M1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2RsZEVWMlpXNTBRMmhoY2tOdlpHVW9ibUYwYVhabFJYWmxiblFwSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHlvZ1ptRnNiSE1nZEdoeWIzVm5hQ0FxTDF4dVhHNGdJQ0FnSUNCallYTmxJRlJQVUY5TFJWbGZSRTlYVGpwY2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDB0RldWOVZVRHBjYmlBZ0lDQWdJQ0FnUlhabGJuUkRiMjV6ZEhKMVkzUnZjaUE5SUZONWJuUm9aWFJwWTB0bGVXSnZZWEprUlhabGJuUTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUNURlZTT2x4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUms5RFZWTTZYRzRnSUNBZ0lDQWdJRVYyWlc1MFEyOXVjM1J5ZFdOMGIzSWdQU0JUZVc1MGFHVjBhV05HYjJOMWMwVjJaVzUwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlVUMUJmUTB4SlEwczZYRzRnSUNBZ0lDQWdJQzh2SUVacGNtVm1iM2dnWTNKbFlYUmxjeUJoSUdOc2FXTnJJR1YyWlc1MElHOXVJSEpwWjJoMElHMXZkWE5sSUdOc2FXTnJjeTRnVkdocGN5QnlaVzF2ZG1WeklIUm9aVnh1SUNBZ0lDQWdJQ0F2THlCMWJuZGhiblJsWkNCamJHbGpheUJsZG1WdWRITXVYRzRnSUNBZ0lDQWdJR2xtSUNodVlYUnBkbVZGZG1WdWRDNWlkWFIwYjI0Z1BUMDlJRElwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBdktpQm1ZV3hzY3lCMGFISnZkV2RvSUNvdlhHNWNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwRlZXRjlEVEVsRFN6cGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwUlBWVUpNUlY5RFRFbERTenBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMDFQVlZORlgwUlBWMDQ2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlOVDFWVFJWOU5UMVpGT2x4dUlDQWdJQ0FnWTJGelpTQlVUMUJmVFU5VlUwVmZWVkE2SUM4dklGUlBSRTg2SUVScGMyRmliR1ZrSUdWc1pXMWxiblJ6SUhOb2IzVnNaQ0J1YjNRZ2NtVnpjRzl1WkNCMGJ5QnRiM1Z6WlNCbGRtVnVkSE5jYmx4dUlDQWdJQ0FnTHlvZ1ptRnNiSE1nZEdoeWIzVm5hQ0FxTDF4dVhHNGdJQ0FnSUNCallYTmxJRlJQVUY5TlQxVlRSVjlQVlZRNlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5TlQxVlRSVjlQVmtWU09seHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlEwOU9WRVZZVkY5TlJVNVZPbHh1SUNBZ0lDQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlJRDBnVTNsdWRHaGxkR2xqVFc5MWMyVkZkbVZ1ZER0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBSU1FVYzZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUVVa0ZIWDBWT1JEcGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgwUlNRVWRmUlU1VVJWSTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUVVa0ZIWDBWWVNWUTZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOUVVa0ZIWDB4RlFWWkZPbHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZSRkpCUjE5UFZrVlNPbHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZSRkpCUjE5VFZFRlNWRHBjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMFJTVDFBNlhHNGdJQ0FnSUNBZ0lFVjJaVzUwUTI5dWMzUnlkV04wYjNJZ1BTQlRlVzUwYUdWMGFXTkVjbUZuUlhabGJuUTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOVVUMVZEU0Y5RFFVNURSVXc2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlVVDFWRFNGOUZUa1E2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlVVDFWRFNGOU5UMVpGT2x4dUlDQWdJQ0FnWTJGelpTQlVUMUJmVkU5VlEwaGZVMVJCVWxRNlhHNGdJQ0FnSUNBZ0lFVjJaVzUwUTI5dWMzUnlkV04wYjNJZ1BTQlRlVzUwYUdWMGFXTlViM1ZqYUVWMlpXNTBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZRVTVKVFVGVVNVOU9YMFZPUkRwY2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBGT1NVMUJWRWxQVGw5SlZFVlNRVlJKVDA0NlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5QlRrbE5RVlJKVDA1ZlUxUkJVbFE2WEc0Z0lDQWdJQ0FnSUVWMlpXNTBRMjl1YzNSeWRXTjBiM0lnUFNCVGVXNTBhR1YwYVdOQmJtbHRZWFJwYjI1RmRtVnVkRHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQWdJR05oYzJVZ1ZFOVFYMVJTUVU1VFNWUkpUMDVmUlU1RU9seHVJQ0FnSUNBZ0lDQkZkbVZ1ZEVOdmJuTjBjblZqZEc5eUlEMGdVM2x1ZEdobGRHbGpWSEpoYm5OcGRHbHZia1YyWlc1ME8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlUwTlNUMHhNT2x4dUlDQWdJQ0FnSUNCRmRtVnVkRU52Ym5OMGNuVmpkRzl5SUQwZ1UzbHVkR2hsZEdsalZVbEZkbVZ1ZER0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDFkSVJVVk1PbHh1SUNBZ0lDQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlJRDBnVTNsdWRHaGxkR2xqVjJobFpXeEZkbVZ1ZER0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDBOUFVGazZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOURWVlE2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlRUVZOVVJUcGNiaUFnSUNBZ0lDQWdSWFpsYm5SRGIyNXpkSEoxWTNSdmNpQTlJRk41Ym5Sb1pYUnBZME5zYVhCaWIyRnlaRVYyWlc1ME8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JVVDFCZlIwOVVYMUJQU1U1VVJWSmZRMEZRVkZWU1JUcGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgweFBVMVJmVUU5SlRsUkZVbDlEUVZCVVZWSkZPbHh1SUNBZ0lDQWdZMkZ6WlNCVVQxQmZVRTlKVGxSRlVsOURRVTVEUlV3NlhHNGdJQ0FnSUNCallYTmxJRlJQVUY5UVQwbE9WRVZTWDBSUFYwNDZYRzRnSUNBZ0lDQmpZWE5sSUZSUFVGOVFUMGxPVkVWU1gwMVBWa1U2WEc0Z0lDQWdJQ0JqWVhObElGUlBVRjlRVDBsT1ZFVlNYMDlWVkRwY2JpQWdJQ0FnSUdOaGMyVWdWRTlRWDFCUFNVNVVSVkpmVDFaRlVqcGNiaUFnSUNBZ0lHTmhjMlVnVkU5UVgxQlBTVTVVUlZKZlZWQTZYRzRnSUNBZ0lDQWdJRVYyWlc1MFEyOXVjM1J5ZFdOMGIzSWdQU0JUZVc1MGFHVjBhV05RYjJsdWRHVnlSWFpsYm5RN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0d0dWIzZHVTRlJOVEZSdmNFeGxkbVZzVkhsd1pYTXVhVzVrWlhoUFppaDBiM0JNWlhabGJGUjVjR1VwSUQwOVBTQXRNU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0oxTnBiWEJzWlVWMlpXNTBVR3gxWjJsdU9pQlZibWhoYm1Sc1pXUWdaWFpsYm5RZ2RIbHdaU3dnWUNWellDNGdWR2hwY3lCM1lYSnVhVzVuSUNjZ0t5QW5hWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1Snl3Z2RHOXdUR1YyWld4VWVYQmxLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdMeThnU0ZSTlRDQkZkbVZ1ZEhOY2JpQWdJQ0FnSUNBZ0x5OGdRSE5sWlNCb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5VVVpOW9kRzFzTlM5cGJtUmxlQzVvZEcxc0kyVjJaVzUwY3kwd1hHNWNibHh1SUNBZ0lDQWdJQ0JGZG1WdWRFTnZibk4wY25WamRHOXlJRDBnVTNsdWRHaGxkR2xqUlhabGJuUTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmxkbVZ1ZENBOUlFVjJaVzUwUTI5dWMzUnlkV04wYjNJdVoyVjBVRzl2YkdWa0tHUnBjM0JoZEdOb1EyOXVabWxuTENCMFlYSm5aWFJKYm5OMExDQnVZWFJwZG1WRmRtVnVkQ3dnYm1GMGFYWmxSWFpsYm5SVVlYSm5aWFFwTzF4dUlDQWdJR0ZqWTNWdGRXeGhkR1ZVZDI5UWFHRnpaVVJwYzNCaGRHTm9aWE1vWlhabGJuUXBPMXh1SUNBZ0lISmxkSFZ5YmlCbGRtVnVkRHRjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCVGNHVmphV1pwWlhNZ1lTQmtaWFJsY20xcGJtbHpkR2xqSUc5eVpHVnlhVzVuSUc5bUlHQkZkbVZ1ZEZCc2RXZHBibUJ6TGlCQklHTnZiblpsYm1sbGJuUWdkMkY1SUhSdlhHNGdLaUJ5WldGemIyNGdZV0p2ZFhRZ2NHeDFaMmx1Y3l3Z2QybDBhRzkxZENCb1lYWnBibWNnZEc4Z2NHRmphMkZuWlNCbGRtVnllU0J2Ym1VZ2IyWWdkR2hsYlM0Z1ZHaHBjMXh1SUNvZ2FYTWdZbVYwZEdWeUlIUm9ZVzRnYUdGMmFXNW5JSEJzZFdkcGJuTWdZbVVnYjNKa1pYSmxaQ0JwYmlCMGFHVWdjMkZ0WlNCdmNtUmxjaUIwYUdGMElIUm9aWGxjYmlBcUlHRnlaU0JwYm1wbFkzUmxaQ0JpWldOaGRYTmxJSFJvWVhRZ2IzSmtaWEpwYm1jZ2QyOTFiR1FnWW1VZ2FXNW1iSFZsYm1ObFpDQmllU0IwYUdVZ2NHRmphMkZuYVc1bklHOXlaR1Z5TGx4dUlDb2dZRkpsYzNCdmJtUmxja1YyWlc1MFVHeDFaMmx1WUNCdGRYTjBJRzlqWTNWeUlHSmxabTl5WlNCZ1UybHRjR3hsUlhabGJuUlFiSFZuYVc1Z0lITnZJSFJvWVhSY2JpQXFJSEJ5WlhabGJuUnBibWNnWkdWbVlYVnNkQ0J2YmlCbGRtVnVkSE1nYVhNZ1kyOXVkbVZ1YVdWdWRDQnBiaUJnVTJsdGNHeGxSWFpsYm5SUWJIVm5hVzVnSUdoaGJtUnNaWEp6TGx4dUlDb3ZYRzVjYm5aaGNpQkVUMDFGZG1WdWRGQnNkV2RwYms5eVpHVnlJRDBnV3lkU1pYTndiMjVrWlhKRmRtVnVkRkJzZFdkcGJpY3NJQ2RUYVcxd2JHVkZkbVZ1ZEZCc2RXZHBiaWNzSUNkRmJuUmxja3hsWVhabFJYWmxiblJRYkhWbmFXNG5MQ0FuUTJoaGJtZGxSWFpsYm5SUWJIVm5hVzRuTENBblUyVnNaV04wUlhabGJuUlFiSFZuYVc0bkxDQW5RbVZtYjNKbFNXNXdkWFJGZG1WdWRGQnNkV2RwYmlkZE8xeHVMeW9xWEc0Z0tpQkpibXBsWTNRZ2JXOWtkV3hsY3lCbWIzSWdjbVZ6YjJ4MmFXNW5JRVJQVFNCb2FXVnlZWEpqYUhrZ1lXNWtJSEJzZFdkcGJpQnZjbVJsY21sdVp5NWNiaUFxTDF4dVhHNXBibXBsWTNSRmRtVnVkRkJzZFdkcGJrOXlaR1Z5S0VSUFRVVjJaVzUwVUd4MVoybHVUM0prWlhJcE8xeHVjMlYwUTI5dGNHOXVaVzUwVkhKbFpTaG5aWFJHYVdKbGNrTjFjbkpsYm5SUWNtOXdjMFp5YjIxT2IyUmxKREVzSUdkbGRFbHVjM1JoYm1ObFJuSnZiVTV2WkdVa01Td2daMlYwVG05a1pVWnliMjFKYm5OMFlXNWpaU1F4S1R0Y2JpOHFLbHh1SUNvZ1UyOXRaU0JwYlhCdmNuUmhiblFnWlhabGJuUWdjR3gxWjJsdWN5QnBibU5zZFdSbFpDQmllU0JrWldaaGRXeDBJQ2gzYVhSb2IzVjBJR2hoZG1sdVp5QjBieUJ5WlhGMWFYSmxYRzRnS2lCMGFHVnRLUzVjYmlBcUwxeHVYRzVwYm1wbFkzUkZkbVZ1ZEZCc2RXZHBibk5DZVU1aGJXVW9lMXh1SUNCVGFXMXdiR1ZGZG1WdWRGQnNkV2RwYmpvZ1UybHRjR3hsUlhabGJuUlFiSFZuYVc0c1hHNGdJRVZ1ZEdWeVRHVmhkbVZGZG1WdWRGQnNkV2RwYmpvZ1JXNTBaWEpNWldGMlpVVjJaVzUwVUd4MVoybHVMRnh1SUNCRGFHRnVaMlZGZG1WdWRGQnNkV2RwYmpvZ1EyaGhibWRsUlhabGJuUlFiSFZuYVc0c1hHNGdJRk5sYkdWamRFVjJaVzUwVUd4MVoybHVPaUJUWld4bFkzUkZkbVZ1ZEZCc2RXZHBiaXhjYmlBZ1FtVm1iM0psU1c1d2RYUkZkbVZ1ZEZCc2RXZHBiam9nUW1WbWIzSmxTVzV3ZFhSRmRtVnVkRkJzZFdkcGJseHVmU2s3WEc1Y2JpOHZJRkJ5WldacGVDQnRaV0Z6ZFhKbGJXVnVkSE1nYzI4Z2RHaGhkQ0JwZENkeklIQnZjM05wWW14bElIUnZJR1pwYkhSbGNpQjBhR1Z0TGx4dUx5OGdURzl1WjJWeUlIQnlaV1pwZUdWeklHRnlaU0JvWVhKa0lIUnZJSEpsWVdRZ2FXNGdSR1YyVkc5dmJITXVYRzUyWVhJZ2NtVmhZM1JGYlc5cWFTQTlJRndpWEZ4MU1qWTVRbHdpTzF4dWRtRnlJSGRoY201cGJtZEZiVzlxYVNBOUlGd2lYRngxTWpaRU5Gd2lPMXh1ZG1GeUlITjFjSEJ2Y25SelZYTmxjbFJwYldsdVp5QTlJSFI1Y0dWdlppQndaWEptYjNKdFlXNWpaU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY2dKaVlnZEhsd1pXOW1JSEJsY21admNtMWhibU5sTG0xaGNtc2dQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdkSGx3Wlc5bUlIQmxjbVp2Y20xaGJtTmxMbU5zWldGeVRXRnlhM01nUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JSEJsY21admNtMWhibU5sTG0xbFlYTjFjbVVnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JSEJsY21admNtMWhibU5sTG1Oc1pXRnlUV1ZoYzNWeVpYTWdQVDA5SUNkbWRXNWpkR2x2YmljN0lDOHZJRXRsWlhBZ2RISmhZMnNnYjJZZ1kzVnljbVZ1ZENCbWFXSmxjaUJ6YnlCMGFHRjBJSGRsSUd0dWIzY2dkR2hsSUhCaGRHZ2dkRzhnZFc1M2FXNWtJRzl1SUhCaGRYTmxMbHh1THk4Z1ZFOUVUem9nZEdocGN5QnNiMjlyY3lCMGFHVWdjMkZ0WlNCaGN5QnVaWGgwVlc1cGRFOW1WMjl5YXlCcGJpQnpZMmhsWkhWc1pYSXVJRU5oYmlCM1pTQjFibWxtZVNCMGFHVnRQMXh1WEc1MllYSWdZM1Z5Y21WdWRFWnBZbVZ5SUQwZ2JuVnNiRHNnTHk4Z1NXWWdkMlVuY21VZ2FXNGdkR2hsSUcxcFpHUnNaU0J2WmlCMWMyVnlJR052WkdVc0lIZG9hV05vSUdacFltVnlJR0Z1WkNCdFpYUm9iMlFnYVhNZ2FYUS9YRzR2THlCU1pYVnphVzVuSUdCamRYSnlaVzUwUm1saVpYSmdJSGR2ZFd4a0lHSmxJR052Ym1aMWMybHVaeUJtYjNJZ2RHaHBjeUJpWldOaGRYTmxJSFZ6WlhJZ1kyOWtaU0JtYVdKbGNseHVMeThnWTJGdUlHTm9ZVzVuWlNCa2RYSnBibWNnWTI5dGJXbDBJSEJvWVhObElIUnZieXdnWW5WMElIZGxJR1J2YmlkMElHNWxaV1FnZEc4Z2RXNTNhVzVrSUdsMElDaHphVzVqWlZ4dUx5OGdiR2xtWldONVkyeGxjeUJwYmlCMGFHVWdZMjl0YldsMElIQm9ZWE5sSUdSdmJpZDBJSEpsYzJWdFlteGxJR0VnZEhKbFpTa3VYRzVjYm5aaGNpQmpkWEp5Wlc1MFVHaGhjMlVnUFNCdWRXeHNPMXh1ZG1GeUlHTjFjbkpsYm5SUWFHRnpaVVpwWW1WeUlEMGdiblZzYkRzZ0x5OGdSR2xrSUd4cFptVmplV05zWlNCb2IyOXJJSE5qYUdWa2RXeGxJR0Z1SUhWd1pHRjBaVDhnVkdocGN5QnBjeUJ2Wm5SbGJpQmhJSEJsY21admNtMWhibU5sSUhCeWIySnNaVzBzWEc0dkx5QnpieUIzWlNCM2FXeHNJR3RsWlhBZ2RISmhZMnNnYjJZZ2FYUXNJR0Z1WkNCcGJtTnNkV1JsSUdsMElHbHVJSFJvWlNCeVpYQnZjblF1WEc0dkx5QlVjbUZqYXlCamIyMXRhWFJ6SUdOaGRYTmxaQ0JpZVNCallYTmpZV1JwYm1jZ2RYQmtZWFJsY3k1Y2JseHVkbUZ5SUdselEyOXRiV2wwZEdsdVp5QTlJR1poYkhObE8xeHVkbUZ5SUdoaGMxTmphR1ZrZFd4bFpGVndaR0YwWlVsdVEzVnljbVZ1ZEVOdmJXMXBkQ0E5SUdaaGJITmxPMXh1ZG1GeUlHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRGQm9ZWE5sSUQwZ1ptRnNjMlU3WEc1MllYSWdZMjl0YldsMFEyOTFiblJKYmtOMWNuSmxiblJYYjNKclRHOXZjQ0E5SURBN1hHNTJZWElnWldabVpXTjBRMjkxYm5SSmJrTjFjbkpsYm5SRGIyMXRhWFFnUFNBd08xeHVMeThnZEc4Z1lYWnZhV1FnYzNSeVpYUmphQ0IwYUdVZ1kyOXRiV2wwSUhCb1lYTmxJSGRwZEdnZ2JXVmhjM1Z5WlcxbGJuUWdiM1psY21obFlXUXVYRzVjYm5aaGNpQnNZV0psYkhOSmJrTjFjbkpsYm5SRGIyMXRhWFFnUFNCdVpYY2dVMlYwS0NrN1hHNWNiblpoY2lCbWIzSnRZWFJOWVhKclRtRnRaU0E5SUdaMWJtTjBhVzl1SUNodFlYSnJUbUZ0WlNrZ2UxeHVJQ0J5WlhSMWNtNGdjbVZoWTNSRmJXOXFhU0FySUZ3aUlGd2lJQ3NnYldGeWEwNWhiV1U3WEc1OU8xeHVYRzUyWVhJZ1ptOXliV0YwVEdGaVpXd2dQU0JtZFc1amRHbHZiaUFvYkdGaVpXd3NJSGRoY201cGJtY3BJSHRjYmlBZ2RtRnlJSEJ5WldacGVDQTlJSGRoY201cGJtY2dQeUIzWVhKdWFXNW5SVzF2YW1rZ0t5QmNJaUJjSWlBNklISmxZV04wUlcxdmFta2dLeUJjSWlCY0lqdGNiaUFnZG1GeUlITjFabVpwZUNBOUlIZGhjbTVwYm1jZ1B5QmNJaUJYWVhKdWFXNW5PaUJjSWlBcklIZGhjbTVwYm1jZ09pQW5KenRjYmlBZ2NtVjBkWEp1SUZ3aVhDSWdLeUJ3Y21WbWFYZ2dLeUJzWVdKbGJDQXJJSE4xWm1acGVEdGNibjA3WEc1Y2JuWmhjaUJpWldkcGJrMWhjbXNnUFNCbWRXNWpkR2x2YmlBb2JXRnlhMDVoYldVcElIdGNiaUFnY0dWeVptOXliV0Z1WTJVdWJXRnlheWhtYjNKdFlYUk5ZWEpyVG1GdFpTaHRZWEpyVG1GdFpTa3BPMXh1ZlR0Y2JseHVkbUZ5SUdOc1pXRnlUV0Z5YXlBOUlHWjFibU4wYVc5dUlDaHRZWEpyVG1GdFpTa2dlMXh1SUNCd1pYSm1iM0p0WVc1alpTNWpiR1ZoY2sxaGNtdHpLR1p2Y20xaGRFMWhjbXRPWVcxbEtHMWhjbXRPWVcxbEtTazdYRzU5TzF4dVhHNTJZWElnWlc1a1RXRnlheUE5SUdaMWJtTjBhVzl1SUNoc1lXSmxiQ3dnYldGeWEwNWhiV1VzSUhkaGNtNXBibWNwSUh0Y2JpQWdkbUZ5SUdadmNtMWhkSFJsWkUxaGNtdE9ZVzFsSUQwZ1ptOXliV0YwVFdGeWEwNWhiV1VvYldGeWEwNWhiV1VwTzF4dUlDQjJZWElnWm05eWJXRjBkR1ZrVEdGaVpXd2dQU0JtYjNKdFlYUk1ZV0psYkNoc1lXSmxiQ3dnZDJGeWJtbHVaeWs3WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0J3WlhKbWIzSnRZVzVqWlM1dFpXRnpkWEpsS0dadmNtMWhkSFJsWkV4aFltVnNMQ0JtYjNKdFlYUjBaV1JOWVhKclRtRnRaU2s3WEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTMwZ0x5OGdTV1lnY0hKbGRtbHZkWE1nYldGeWF5QjNZWE1nYldsemMybHVaeUJtYjNJZ2MyOXRaU0J5WldGemIyNHNJSFJvYVhNZ2QybHNiQ0IwYUhKdmR5NWNiaUFnTHk4Z1ZHaHBjeUJqYjNWc1pDQnZibXg1SUdoaGNIQmxiaUJwWmlCU1pXRmpkQ0JqY21GemFHVmtJR2x1SUdGdUlIVnVaWGh3WldOMFpXUWdjR3hoWTJVZ1pXRnliR2xsY2k1Y2JpQWdMeThnUkc5dUozUWdjR2xzWlNCdmJpQjNhWFJvSUcxdmNtVWdaWEp5YjNKekxseHVJQ0F2THlCRGJHVmhjaUJ0WVhKcmN5QnBiVzFsWkdsaGRHVnNlU0IwYnlCaGRtOXBaQ0JuY205M2FXNW5JR0oxWm1abGNpNWNibHh1WEc0Z0lIQmxjbVp2Y20xaGJtTmxMbU5zWldGeVRXRnlhM01vWm05eWJXRjBkR1ZrVFdGeWEwNWhiV1VwTzF4dUlDQndaWEptYjNKdFlXNWpaUzVqYkdWaGNrMWxZWE4xY21WektHWnZjbTFoZEhSbFpFeGhZbVZzS1R0Y2JuMDdYRzVjYm5aaGNpQm5aWFJHYVdKbGNrMWhjbXRPWVcxbElEMGdablZ1WTNScGIyNGdLR3hoWW1Wc0xDQmtaV0oxWjBsRUtTQjdYRzRnSUhKbGRIVnliaUJzWVdKbGJDQXJJRndpSUNnalhDSWdLeUJrWldKMVowbEVJQ3NnWENJcFhDSTdYRzU5TzF4dVhHNTJZWElnWjJWMFJtbGlaWEpNWVdKbGJDQTlJR1oxYm1OMGFXOXVJQ2hqYjIxd2IyNWxiblJPWVcxbExDQnBjMDF2ZFc1MFpXUXNJSEJvWVhObEtTQjdYRzRnSUdsbUlDaHdhR0Z6WlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGUm9aWE5sSUdGeVpTQmpiMjF3YjNOcGRHVWdZMjl0Y0c5dVpXNTBJSFJ2ZEdGc0lIUnBiV1VnYldWaGMzVnlaVzFsYm5SekxseHVJQ0FnSUhKbGRIVnliaUJqYjIxd2IyNWxiblJPWVcxbElDc2dYQ0lnVzF3aUlDc2dLR2x6VFc5MWJuUmxaQ0EvSUNkMWNHUmhkR1VuSURvZ0oyMXZkVzUwSnlrZ0t5QmNJbDFjSWp0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QkRiMjF3YjNOcGRHVWdZMjl0Y0c5dVpXNTBJRzFsZEdodlpITXVYRzRnSUNBZ2NtVjBkWEp1SUdOdmJYQnZibVZ1ZEU1aGJXVWdLeUJjSWk1Y0lpQXJJSEJvWVhObE8xeHVJQ0I5WEc1OU8xeHVYRzUyWVhJZ1ltVm5hVzVHYVdKbGNrMWhjbXNnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElzSUhCb1lYTmxLU0I3WEc0Z0lIWmhjaUJqYjIxd2IyNWxiblJPWVcxbElEMGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaG1hV0psY2k1MGVYQmxLU0I4ZkNBblZXNXJibTkzYmljN1hHNGdJSFpoY2lCa1pXSjFaMGxFSUQwZ1ptbGlaWEl1WDJSbFluVm5TVVE3WEc0Z0lIWmhjaUJwYzAxdmRXNTBaV1FnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3c3WEc0Z0lIWmhjaUJzWVdKbGJDQTlJR2RsZEVacFltVnlUR0ZpWld3b1kyOXRjRzl1Wlc1MFRtRnRaU3dnYVhOTmIzVnVkR1ZrTENCd2FHRnpaU2s3WEc1Y2JpQWdhV1lnS0dselEyOXRiV2wwZEdsdVp5QW1KaUJzWVdKbGJITkpia04xY25KbGJuUkRiMjF0YVhRdWFHRnpLR3hoWW1Wc0tTa2dlMXh1SUNBZ0lDOHZJRVIxY21sdVp5QjBhR1VnWTI5dGJXbDBJSEJvWVhObExDQjNaU0JrYjI0bmRDQnphRzkzSUdSMWNHeHBZMkYwWlNCc1lXSmxiSE1nWW1WallYVnpaVnh1SUNBZ0lDOHZJSFJvWlhKbElHbHpJR0VnWm1sNFpXUWdiM1psY21obFlXUWdabTl5SUdWMlpYSjVJRzFsWVhOMWNtVnRaVzUwTENCaGJtUWdkMlVnWkc5dUozUmNiaUFnSUNBdkx5QjNZVzUwSUhSdklITjBjbVYwWTJnZ2RHaGxJR052YlcxcGRDQndhR0Z6WlNCaVpYbHZibVFnYm1WalpYTnpZWEo1TGx4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lHeGhZbVZzYzBsdVEzVnljbVZ1ZEVOdmJXMXBkQzVoWkdRb2JHRmlaV3dwTzF4dUlDQjJZWElnYldGeWEwNWhiV1VnUFNCblpYUkdhV0psY2sxaGNtdE9ZVzFsS0d4aFltVnNMQ0JrWldKMVowbEVLVHRjYmlBZ1ltVm5hVzVOWVhKcktHMWhjbXRPWVcxbEtUdGNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hHNTlPMXh1WEc1MllYSWdZMnhsWVhKR2FXSmxjazFoY21zZ1BTQm1kVzVqZEdsdmJpQW9abWxpWlhJc0lIQm9ZWE5sS1NCN1hHNGdJSFpoY2lCamIyMXdiMjVsYm5ST1lXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2htYVdKbGNpNTBlWEJsS1NCOGZDQW5WVzVyYm05M2JpYzdYRzRnSUhaaGNpQmtaV0oxWjBsRUlEMGdabWxpWlhJdVgyUmxZblZuU1VRN1hHNGdJSFpoY2lCcGMwMXZkVzUwWldRZ1BTQm1hV0psY2k1aGJIUmxjbTVoZEdVZ0lUMDlJRzUxYkd3N1hHNGdJSFpoY2lCc1lXSmxiQ0E5SUdkbGRFWnBZbVZ5VEdGaVpXd29ZMjl0Y0c5dVpXNTBUbUZ0WlN3Z2FYTk5iM1Z1ZEdWa0xDQndhR0Z6WlNrN1hHNGdJSFpoY2lCdFlYSnJUbUZ0WlNBOUlHZGxkRVpwWW1WeVRXRnlhMDVoYldVb2JHRmlaV3dzSUdSbFluVm5TVVFwTzF4dUlDQmpiR1ZoY2sxaGNtc29iV0Z5YTA1aGJXVXBPMXh1ZlR0Y2JseHVkbUZ5SUdWdVpFWnBZbVZ5VFdGeWF5QTlJR1oxYm1OMGFXOXVJQ2htYVdKbGNpd2djR2hoYzJVc0lIZGhjbTVwYm1jcElIdGNiaUFnZG1GeUlHTnZiWEJ2Ym1WdWRFNWhiV1VnUFNCblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0dacFltVnlMblI1Y0dVcElIeDhJQ2RWYm10dWIzZHVKenRjYmlBZ2RtRnlJR1JsWW5WblNVUWdQU0JtYVdKbGNpNWZaR1ZpZFdkSlJEdGNiaUFnZG1GeUlHbHpUVzkxYm5SbFpDQTlJR1pwWW1WeUxtRnNkR1Z5Ym1GMFpTQWhQVDBnYm5Wc2JEdGNiaUFnZG1GeUlHeGhZbVZzSUQwZ1oyVjBSbWxpWlhKTVlXSmxiQ2hqYjIxd2IyNWxiblJPWVcxbExDQnBjMDF2ZFc1MFpXUXNJSEJvWVhObEtUdGNiaUFnZG1GeUlHMWhjbXRPWVcxbElEMGdaMlYwUm1saVpYSk5ZWEpyVG1GdFpTaHNZV0psYkN3Z1pHVmlkV2RKUkNrN1hHNGdJR1Z1WkUxaGNtc29iR0ZpWld3c0lHMWhjbXRPWVcxbExDQjNZWEp1YVc1bktUdGNibjA3WEc1Y2JuWmhjaUJ6YUc5MWJHUkpaMjV2Y21WR2FXSmxjaUE5SUdaMWJtTjBhVzl1SUNobWFXSmxjaWtnZTF4dUlDQXZMeUJJYjNOMElHTnZiWEJ2Ym1WdWRITWdjMmh2ZFd4a0lHSmxJSE5yYVhCd1pXUWdhVzRnZEdobElIUnBiV1ZzYVc1bExseHVJQ0F2THlCWFpTQmpiM1ZzWkNCamFHVmpheUIwZVhCbGIyWWdabWxpWlhJdWRIbHdaU3dnWW5WMElHUnZaWE1nZEdocGN5QjNiM0pySUhkcGRHZ2dVazQvWEc0Z0lITjNhWFJqYUNBb1ptbGlaWEl1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JJYjNOMFVtOXZkRHBjYmlBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ1kyRnpaU0JJYjNOMFZHVjRkRHBjYmlBZ0lDQmpZWE5sSUVodmMzUlFiM0owWVd3NlhHNGdJQ0FnWTJGelpTQkdjbUZuYldWdWREcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUlFjbTkyYVdSbGNqcGNiaUFnSUNCallYTmxJRU52Ym5SbGVIUkRiMjV6ZFcxbGNqcGNiaUFnSUNCallYTmxJRTF2WkdVNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JuMDdYRzVjYm5aaGNpQmpiR1ZoY2xCbGJtUnBibWRRYUdGelpVMWxZWE4xY21WdFpXNTBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0JwWmlBb1kzVnljbVZ1ZEZCb1lYTmxJQ0U5UFNCdWRXeHNJQ1ltSUdOMWNuSmxiblJRYUdGelpVWnBZbVZ5SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWTJ4bFlYSkdhV0psY2sxaGNtc29ZM1Z5Y21WdWRGQm9ZWE5sUm1saVpYSXNJR04xY25KbGJuUlFhR0Z6WlNrN1hHNGdJSDFjYmx4dUlDQmpkWEp5Wlc1MFVHaGhjMlZHYVdKbGNpQTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUlFhR0Z6WlNBOUlHNTFiR3c3WEc0Z0lHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRGQm9ZWE5sSUQwZ1ptRnNjMlU3WEc1OU8xeHVYRzUyWVhJZ2NHRjFjMlZVYVcxbGNuTWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQzh2SUZOMGIzQnpJR0ZzYkNCamRYSnlaVzUwYkhrZ1lXTjBhWFpsSUcxbFlYTjFjbVZ0Wlc1MGN5QnpieUIwYUdGMElIUm9aWGtnWTJGdUlHSmxJSEpsYzNWdFpXUmNiaUFnTHk4Z2FXWWdkMlVnWTI5dWRHbHVkV1VnYVc0Z1lTQnNZWFJsY2lCa1pXWmxjbkpsWkNCc2IyOXdJR1p5YjIwZ2RHaGxJSE5oYldVZ2RXNXBkQ0J2WmlCM2IzSnJMbHh1SUNCMllYSWdabWxpWlhJZ1BTQmpkWEp5Wlc1MFJtbGlaWEk3WEc1Y2JpQWdkMmhwYkdVZ0tHWnBZbVZ5S1NCN1hHNGdJQ0FnYVdZZ0tHWnBZbVZ5TGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5LU0I3WEc0Z0lDQWdJQ0JsYm1SR2FXSmxjazFoY21zb1ptbGlaWElzSUc1MWJHd3NJRzUxYkd3cE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdacFltVnlJRDBnWm1saVpYSXVjbVYwZFhKdU8xeHVJQ0I5WEc1OU8xeHVYRzUyWVhJZ2NtVnpkVzFsVkdsdFpYSnpVbVZqZFhKemFYWmxiSGtnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdhV1lnS0dacFltVnlMbkpsZEhWeWJpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxjM1Z0WlZScGJXVnljMUpsWTNWeWMybDJaV3g1S0dacFltVnlMbkpsZEhWeWJpazdYRzRnSUgxY2JseHVJQ0JwWmlBb1ptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY3BJSHRjYmlBZ0lDQmlaV2RwYmtacFltVnlUV0Z5YXlobWFXSmxjaXdnYm5Wc2JDazdYRzRnSUgxY2JuMDdYRzVjYm5aaGNpQnlaWE4xYldWVWFXMWxjbk1nUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUM4dklGSmxjM1Z0WlhNZ1lXeHNJRzFsWVhOMWNtVnRaVzUwY3lCMGFHRjBJSGRsY21VZ1lXTjBhWFpsSUdSMWNtbHVaeUIwYUdVZ2JHRnpkQ0JrWldabGNuSmxaQ0JzYjI5d0xseHVJQ0JwWmlBb1kzVnljbVZ1ZEVacFltVnlJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdjbVZ6ZFcxbFZHbHRaWEp6VW1WamRYSnphWFpsYkhrb1kzVnljbVZ1ZEVacFltVnlLVHRjYmlBZ2ZWeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2NtVmpiM0prUldabVpXTjBLQ2tnZTF4dUlDQjdYRzRnSUNBZ1pXWm1aV04wUTI5MWJuUkpia04xY25KbGJuUkRiMjF0YVhRckt6dGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjbVZqYjNKa1UyTm9aV1IxYkdWVmNHUmhkR1VvS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvYVhORGIyMXRhWFIwYVc1bktTQjdYRzRnSUNBZ0lDQm9ZWE5UWTJobFpIVnNaV1JWY0dSaGRHVkpia04xY25KbGJuUkRiMjF0YVhRZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamRYSnlaVzUwVUdoaGMyVWdJVDA5SUc1MWJHd2dKaVlnWTNWeWNtVnVkRkJvWVhObElDRTlQU0FuWTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSnlBbUppQmpkWEp5Wlc1MFVHaGhjMlVnSVQwOUlDZGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCekp5a2dlMXh1SUNBZ0lDQWdhR0Z6VTJOb1pXUjFiR1ZrVlhCa1lYUmxTVzVEZFhKeVpXNTBVR2hoYzJVZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYzNSaGNuUlhiM0pyVkdsdFpYSW9abWxpWlhJcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNnaGMzVndjRzl5ZEhOVmMyVnlWR2x0YVc1bklIeDhJSE5vYjNWc1pFbG5ibTl5WlVacFltVnlLR1pwWW1WeUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdTV1lnZDJVZ2NHRjFjMlVzSUhSb2FYTWdhWE1nZEdobElHWnBZbVZ5SUhSdklIVnVkMmx1WkNCbWNtOXRMbHh1WEc1Y2JpQWdJQ0JqZFhKeVpXNTBSbWxpWlhJZ1BTQm1hV0psY2p0Y2JseHVJQ0FnSUdsbUlDZ2hZbVZuYVc1R2FXSmxjazFoY21zb1ptbGlaWElzSUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY2dQU0IwY25WbE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQmpZVzVqWld4WGIzSnJWR2x0WlhJb1ptbGlaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYzNWd2NHOXlkSE5WYzJWeVZHbHRhVzVuSUh4OElITm9iM1ZzWkVsbmJtOXlaVVpwWW1WeUtHWnBZbVZ5S1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDBnTHk4Z1VtVnRaVzFpWlhJZ2QyVWdjMmh2ZFd4a2JpZDBJR052YlhCc1pYUmxJRzFsWVhOMWNtVnRaVzUwSUdadmNpQjBhR2x6SUdacFltVnlMbHh1SUNBZ0lDOHZJRTkwYUdWeWQybHpaU0JtYkdGdFpXTm9ZWEowSUhkcGJHd2dZbVVnWkdWbGNDQmxkbVZ1SUdadmNpQnpiV0ZzYkNCMWNHUmhkR1Z6TGx4dVhHNWNiaUFnSUNCbWFXSmxjaTVmWkdWaWRXZEpjME4xY25KbGJuUnNlVlJwYldsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUdOc1pXRnlSbWxpWlhKTllYSnJLR1pwWW1WeUxDQnVkV3hzS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MzUnZjRmR2Y210VWFXMWxjaWhtYVdKbGNpa2dlMXh1SUNCN1hHNGdJQ0FnYVdZZ0tDRnpkWEJ3YjNKMGMxVnpaWEpVYVcxcGJtY2dmSHdnYzJodmRXeGtTV2R1YjNKbFJtbGlaWElvWm1saVpYSXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQXZMeUJKWmlCM1pTQndZWFZ6WlN3Z2FYUnpJSEJoY21WdWRDQnBjeUIwYUdVZ1ptbGlaWElnZEc4Z2RXNTNhVzVrSUdaeWIyMHVYRzVjYmx4dUlDQWdJR04xY25KbGJuUkdhV0psY2lBOUlHWnBZbVZ5TG5KbGRIVnlianRjYmx4dUlDQWdJR2xtSUNnaFptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWFXSmxjaTVmWkdWaWRXZEpjME4xY25KbGJuUnNlVlJwYldsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUdWdVpFWnBZbVZ5VFdGeWF5aG1hV0psY2l3Z2JuVnNiQ3dnYm5Wc2JDazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSE4wYjNCR1lXbHNaV1JYYjNKclZHbHRaWElvWm1saVpYSXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2hjM1Z3Y0c5eWRITlZjMlZ5VkdsdGFXNW5JSHg4SUhOb2IzVnNaRWxuYm05eVpVWnBZbVZ5S0dacFltVnlLU2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMGdMeThnU1dZZ2QyVWdjR0YxYzJVc0lHbDBjeUJ3WVhKbGJuUWdhWE1nZEdobElHWnBZbVZ5SUhSdklIVnVkMmx1WkNCbWNtOXRMbHh1WEc1Y2JpQWdJQ0JqZFhKeVpXNTBSbWxpWlhJZ1BTQm1hV0psY2k1eVpYUjFjbTQ3WEc1Y2JpQWdJQ0JwWmlBb0lXWnBZbVZ5TGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1ptbGlaWEl1WDJSbFluVm5TWE5EZFhKeVpXNTBiSGxVYVcxcGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCMllYSWdkMkZ5Ym1sdVp5QTlJR1pwWW1WeUxuUmhaeUE5UFQwZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RZ1B5QW5VbVZ1WkdWeWFXNW5JSGRoY3lCemRYTndaVzVrWldRbklEb2dKMEZ1SUdWeWNtOXlJSGRoY3lCMGFISnZkMjRnYVc1emFXUmxJSFJvYVhNZ1pYSnliM0lnWW05MWJtUmhjbmtuTzF4dUlDQWdJR1Z1WkVacFltVnlUV0Z5YXlobWFXSmxjaXdnYm5Wc2JDd2dkMkZ5Ym1sdVp5azdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJSE4wWVhKMFVHaGhjMlZVYVcxbGNpaG1hV0psY2l3Z2NHaGhjMlVwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYzNWd2NHOXlkSE5WYzJWeVZHbHRhVzVuS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMnhsWVhKUVpXNWthVzVuVUdoaGMyVk5aV0Z6ZFhKbGJXVnVkQ2dwTzF4dVhHNGdJQ0FnYVdZZ0tDRmlaV2RwYmtacFltVnlUV0Z5YXlobWFXSmxjaXdnY0doaGMyVXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kzVnljbVZ1ZEZCb1lYTmxSbWxpWlhJZ1BTQm1hV0psY2p0Y2JpQWdJQ0JqZFhKeVpXNTBVR2hoYzJVZ1BTQndhR0Z6WlR0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2MzUnZjRkJvWVhObFZHbHRaWElvS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvSVhOMWNIQnZjblJ6VlhObGNsUnBiV2x1WnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamRYSnlaVzUwVUdoaGMyVWdJVDA5SUc1MWJHd2dKaVlnWTNWeWNtVnVkRkJvWVhObFJtbGlaWElnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhaaGNpQjNZWEp1YVc1bklEMGdhR0Z6VTJOb1pXUjFiR1ZrVlhCa1lYUmxTVzVEZFhKeVpXNTBVR2hoYzJVZ1B5QW5VMk5vWldSMWJHVmtJR0VnWTJGelkyRmthVzVuSUhWd1pHRjBaU2NnT2lCdWRXeHNPMXh1SUNBZ0lDQWdaVzVrUm1saVpYSk5ZWEpyS0dOMWNuSmxiblJRYUdGelpVWnBZbVZ5TENCamRYSnlaVzUwVUdoaGMyVXNJSGRoY201cGJtY3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTjFjbkpsYm5SUWFHRnpaU0E5SUc1MWJHdzdYRzRnSUNBZ1kzVnljbVZ1ZEZCb1lYTmxSbWxpWlhJZ1BTQnVkV3hzTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCemRHRnlkRmR2Y210TWIyOXdWR2x0WlhJb2JtVjRkRlZ1YVhSUFpsZHZjbXNwSUh0Y2JpQWdlMXh1SUNBZ0lHTjFjbkpsYm5SR2FXSmxjaUE5SUc1bGVIUlZibWwwVDJaWGIzSnJPMXh1WEc0Z0lDQWdhV1lnS0NGemRYQndiM0owYzFWelpYSlVhVzFwYm1jcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjIxdGFYUkRiM1Z1ZEVsdVEzVnljbVZ1ZEZkdmNtdE1iMjl3SUQwZ01Ec2dMeThnVkdocGN5QnBjeUIwYjNBZ2JHVjJaV3dnWTJGc2JDNWNiaUFnSUNBdkx5QkJibmtnYjNSb1pYSWdiV1ZoYzNWeVpXMWxiblJ6SUdGeVpTQndaWEptYjNKdFpXUWdkMmwwYUdsdUxseHVYRzRnSUNBZ1ltVm5hVzVOWVhKcktDY29VbVZoWTNRZ1ZISmxaU0JTWldOdmJtTnBiR2xoZEdsdmJpa25LVHNnTHk4Z1VtVnpkVzFsSUdGdWVTQnRaV0Z6ZFhKbGJXVnVkSE1nZEdoaGRDQjNaWEpsSUdsdUlIQnliMmR5WlhOeklHUjFjbWx1WnlCMGFHVWdiR0Z6ZENCc2IyOXdMbHh1WEc0Z0lDQWdjbVZ6ZFcxbFZHbHRaWEp6S0NrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITjBiM0JYYjNKclRHOXZjRlJwYldWeUtHbHVkR1Z5Y25Wd2RHVmtRbmtzSUdScFpFTnZiWEJzWlhSbFVtOXZkQ2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0Z6ZFhCd2IzSjBjMVZ6WlhKVWFXMXBibWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnZDJGeWJtbHVaeUE5SUc1MWJHdzdYRzVjYmlBZ0lDQnBaaUFvYVc1MFpYSnlkWEIwWldSQ2VTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0dsdWRHVnljblZ3ZEdWa1Fua3VkR0ZuSUQwOVBTQkliM04wVW05dmRDa2dlMXh1SUNBZ0lDQWdJQ0IzWVhKdWFXNW5JRDBnSjBFZ2RHOXdMV3hsZG1Wc0lIVndaR0YwWlNCcGJuUmxjbkoxY0hSbFpDQjBhR1VnY0hKbGRtbHZkWE1nY21WdVpHVnlKenRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCamIyMXdiMjVsYm5ST1lXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hwYm5SbGNuSjFjSFJsWkVKNUxuUjVjR1VwSUh4OElDZFZibXR1YjNkdUp6dGNiaUFnSUNBZ0lDQWdkMkZ5Ym1sdVp5QTlJRndpUVc0Z2RYQmtZWFJsSUhSdklGd2lJQ3NnWTI5dGNHOXVaVzUwVG1GdFpTQXJJRndpSUdsdWRHVnljblZ3ZEdWa0lIUm9aU0J3Y21WMmFXOTFjeUJ5Wlc1a1pYSmNJanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR052YlcxcGRFTnZkVzUwU1c1RGRYSnlaVzUwVjI5eWEweHZiM0FnUGlBeEtTQjdYRzRnSUNBZ0lDQjNZWEp1YVc1bklEMGdKMVJvWlhKbElIZGxjbVVnWTJGelkyRmthVzVuSUhWd1pHRjBaWE1uTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052YlcxcGRFTnZkVzUwU1c1RGRYSnlaVzUwVjI5eWEweHZiM0FnUFNBd08xeHVJQ0FnSUhaaGNpQnNZV0psYkNBOUlHUnBaRU52YlhCc1pYUmxVbTl2ZENBL0lDY29VbVZoWTNRZ1ZISmxaU0JTWldOdmJtTnBiR2xoZEdsdmJqb2dRMjl0Y0d4bGRHVmtJRkp2YjNRcEp5QTZJQ2NvVW1WaFkzUWdWSEpsWlNCU1pXTnZibU5wYkdsaGRHbHZiam9nV1dsbGJHUmxaQ2tuT3lBdkx5QlFZWFZ6WlNCaGJua2diV1ZoYzNWeVpXMWxiblJ6SUhWdWRHbHNJSFJvWlNCdVpYaDBJR3h2YjNBdVhHNWNiaUFnSUNCd1lYVnpaVlJwYldWeWN5Z3BPMXh1SUNBZ0lHVnVaRTFoY21zb2JHRmlaV3dzSUNjb1VtVmhZM1FnVkhKbFpTQlNaV052Ym1OcGJHbGhkR2x2YmlrbkxDQjNZWEp1YVc1bktUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjM1JoY25SRGIyMXRhWFJVYVcxbGNpZ3BJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2hjM1Z3Y0c5eWRITlZjMlZ5VkdsdGFXNW5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FYTkRiMjF0YVhSMGFXNW5JRDBnZEhKMVpUdGNiaUFnSUNCb1lYTlRZMmhsWkhWc1pXUlZjR1JoZEdWSmJrTjFjbkpsYm5SRGIyMXRhWFFnUFNCbVlXeHpaVHRjYmlBZ0lDQnNZV0psYkhOSmJrTjFjbkpsYm5SRGIyMXRhWFF1WTJ4bFlYSW9LVHRjYmlBZ0lDQmlaV2RwYmsxaGNtc29KeWhEYjIxdGFYUjBhVzVuSUVOb1lXNW5aWE1wSnlrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITjBiM0JEYjIxdGFYUlVhVzFsY2lncElIdGNiaUFnZTF4dUlDQWdJR2xtSUNnaGMzVndjRzl5ZEhOVmMyVnlWR2x0YVc1bktTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlIZGhjbTVwYm1jZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnYVdZZ0tHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRFTnZiVzFwZENrZ2UxeHVJQ0FnSUNBZ2QyRnlibWx1WnlBOUlDZE1hV1psWTNsamJHVWdhRzl2YXlCelkyaGxaSFZzWldRZ1lTQmpZWE5qWVdScGJtY2dkWEJrWVhSbEp6dGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTnZiVzFwZEVOdmRXNTBTVzVEZFhKeVpXNTBWMjl5YTB4dmIzQWdQaUF3S1NCN1hHNGdJQ0FnSUNCM1lYSnVhVzVuSUQwZ0owTmhkWE5sWkNCaWVTQmhJR05oYzJOaFpHbHVaeUIxY0dSaGRHVWdhVzRnWldGeWJHbGxjaUJqYjIxdGFYUW5PMXh1SUNBZ0lIMWNibHh1SUNBZ0lHaGhjMU5qYUdWa2RXeGxaRlZ3WkdGMFpVbHVRM1Z5Y21WdWRFTnZiVzFwZENBOUlHWmhiSE5sTzF4dUlDQWdJR052YlcxcGRFTnZkVzUwU1c1RGRYSnlaVzUwVjI5eWEweHZiM0FyS3p0Y2JpQWdJQ0JwYzBOdmJXMXBkSFJwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0JzWVdKbGJITkpia04xY25KbGJuUkRiMjF0YVhRdVkyeGxZWElvS1R0Y2JpQWdJQ0JsYm1STllYSnJLQ2NvUTI5dGJXbDBkR2x1WnlCRGFHRnVaMlZ6S1Njc0lDY29RMjl0YldsMGRHbHVaeUJEYUdGdVoyVnpLU2NzSUhkaGNtNXBibWNwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCemRHRnlkRU52YlcxcGRGTnVZWEJ6YUc5MFJXWm1aV04wYzFScGJXVnlLQ2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0Z6ZFhCd2IzSjBjMVZ6WlhKVWFXMXBibWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxabVpsWTNSRGIzVnVkRWx1UTNWeWNtVnVkRU52YlcxcGRDQTlJREE3WEc0Z0lDQWdZbVZuYVc1TllYSnJLQ2NvUTI5dGJXbDBkR2x1WnlCVGJtRndjMmh2ZENCRlptWmxZM1J6S1NjcE8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQnpkRzl3UTI5dGJXbDBVMjVoY0hOb2IzUkZabVpsWTNSelZHbHRaWElvS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvSVhOMWNIQnZjblJ6VlhObGNsUnBiV2x1WnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCamIzVnVkQ0E5SUdWbVptVmpkRU52ZFc1MFNXNURkWEp5Wlc1MFEyOXRiV2wwTzF4dUlDQWdJR1ZtWm1WamRFTnZkVzUwU1c1RGRYSnlaVzUwUTI5dGJXbDBJRDBnTUR0Y2JpQWdJQ0JsYm1STllYSnJLRndpS0VOdmJXMXBkSFJwYm1jZ1UyNWhjSE5vYjNRZ1JXWm1aV04wY3pvZ1hDSWdLeUJqYjNWdWRDQXJJRndpSUZSdmRHRnNLVndpTENBbktFTnZiVzFwZEhScGJtY2dVMjVoY0hOb2IzUWdSV1ptWldOMGN5a25MQ0J1ZFd4c0tUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjM1JoY25SRGIyMXRhWFJJYjNOMFJXWm1aV04wYzFScGJXVnlLQ2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0Z6ZFhCd2IzSjBjMVZ6WlhKVWFXMXBibWNwSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmxabVpsWTNSRGIzVnVkRWx1UTNWeWNtVnVkRU52YlcxcGRDQTlJREE3WEc0Z0lDQWdZbVZuYVc1TllYSnJLQ2NvUTI5dGJXbDBkR2x1WnlCSWIzTjBJRVZtWm1WamRITXBKeWs3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhOMGIzQkRiMjF0YVhSSWIzTjBSV1ptWldOMGMxUnBiV1Z5S0NrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0NGemRYQndiM0owYzFWelpYSlVhVzFwYm1jcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1kyOTFiblFnUFNCbFptWmxZM1JEYjNWdWRFbHVRM1Z5Y21WdWRFTnZiVzFwZER0Y2JpQWdJQ0JsWm1abFkzUkRiM1Z1ZEVsdVEzVnljbVZ1ZEVOdmJXMXBkQ0E5SURBN1hHNGdJQ0FnWlc1a1RXRnlheWhjSWloRGIyMXRhWFIwYVc1bklFaHZjM1FnUldabVpXTjBjem9nWENJZ0t5QmpiM1Z1ZENBcklGd2lJRlJ2ZEdGc0tWd2lMQ0FuS0VOdmJXMXBkSFJwYm1jZ1NHOXpkQ0JGWm1abFkzUnpLU2NzSUc1MWJHd3BPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ6ZEdGeWRFTnZiVzFwZEV4cFptVkRlV05zWlhOVWFXMWxjaWdwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYzNWd2NHOXlkSE5WYzJWeVZHbHRhVzVuS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdaV1ptWldOMFEyOTFiblJKYmtOMWNuSmxiblJEYjIxdGFYUWdQU0F3TzF4dUlDQWdJR0psWjJsdVRXRnlheWduS0VOaGJHeHBibWNnVEdsbVpXTjVZMnhsSUUxbGRHaHZaSE1wSnlrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlITjBiM0JEYjIxdGFYUk1hV1psUTNsamJHVnpWR2x0WlhJb0tTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb0lYTjFjSEJ2Y25SelZYTmxjbFJwYldsdVp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmpiM1Z1ZENBOUlHVm1abVZqZEVOdmRXNTBTVzVEZFhKeVpXNTBRMjl0YldsME8xeHVJQ0FnSUdWbVptVmpkRU52ZFc1MFNXNURkWEp5Wlc1MFEyOXRiV2wwSUQwZ01EdGNiaUFnSUNCbGJtUk5ZWEpyS0Z3aUtFTmhiR3hwYm1jZ1RHbG1aV041WTJ4bElFMWxkR2h2WkhNNklGd2lJQ3NnWTI5MWJuUWdLeUJjSWlCVWIzUmhiQ2xjSWl3Z0p5aERZV3hzYVc1bklFeHBabVZqZVdOc1pTQk5aWFJvYjJSektTY3NJRzUxYkd3cE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCMllXeDFaVk4wWVdOcklEMGdXMTA3WEc1MllYSWdabWxpWlhKVGRHRmphenRjYmx4dWUxeHVJQ0JtYVdKbGNsTjBZV05ySUQwZ1cxMDdYRzU5WEc1Y2JuWmhjaUJwYm1SbGVDQTlJQzB4TzF4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRGRYSnpiM0lvWkdWbVlYVnNkRlpoYkhWbEtTQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdZM1Z5Y21WdWREb2daR1ZtWVhWc2RGWmhiSFZsWEc0Z0lIMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQnZjQ2hqZFhKemIzSXNJR1pwWW1WeUtTQjdYRzRnSUdsbUlDaHBibVJsZUNBOElEQXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblZXNWxlSEJsWTNSbFpDQndiM0F1SnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJR2xtSUNobWFXSmxjaUFoUFQwZ1ptbGlaWEpUZEdGamExdHBibVJsZUYwcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkVmJtVjRjR1ZqZEdWa0lFWnBZbVZ5SUhCdmNIQmxaQzRuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCamRYSnpiM0l1WTNWeWNtVnVkQ0E5SUhaaGJIVmxVM1JoWTJ0YmFXNWtaWGhkTzF4dUlDQjJZV3gxWlZOMFlXTnJXMmx1WkdWNFhTQTlJRzUxYkd3N1hHNWNiaUFnZTF4dUlDQWdJR1pwWW1WeVUzUmhZMnRiYVc1a1pYaGRJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJR2x1WkdWNExTMDdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIQjFjMmdvWTNWeWMyOXlMQ0IyWVd4MVpTd2dabWxpWlhJcElIdGNiaUFnYVc1a1pYZ3JLenRjYmlBZ2RtRnNkV1ZUZEdGamExdHBibVJsZUYwZ1BTQmpkWEp6YjNJdVkzVnljbVZ1ZER0Y2JseHVJQ0I3WEc0Z0lDQWdabWxpWlhKVGRHRmphMXRwYm1SbGVGMGdQU0JtYVdKbGNqdGNiaUFnZlZ4dVhHNGdJR04xY25OdmNpNWpkWEp5Wlc1MElEMGdkbUZzZFdVN1hHNTlYRzVjYm5aaGNpQjNZWEp1WldSQlltOTFkRTFwYzNOcGJtZEhaWFJEYUdsc1pFTnZiblJsZUhRN1hHNWNibnRjYmlBZ2QyRnlibVZrUVdKdmRYUk5hWE56YVc1blIyVjBRMmhwYkdSRGIyNTBaWGgwSUQwZ2UzMDdYRzU5WEc1Y2JuWmhjaUJsYlhCMGVVTnZiblJsZUhSUFltcGxZM1FnUFNCN2ZUdGNibHh1ZTF4dUlDQlBZbXBsWTNRdVpuSmxaWHBsS0dWdGNIUjVRMjl1ZEdWNGRFOWlhbVZqZENrN1hHNTlJQzh2SUVFZ1kzVnljMjl5SUhSdklIUm9aU0JqZFhKeVpXNTBJRzFsY21kbFpDQmpiMjUwWlhoMElHOWlhbVZqZENCdmJpQjBhR1VnYzNSaFkyc3VYRzVjYmx4dWRtRnlJR052Ym5SbGVIUlRkR0ZqYTBOMWNuTnZjaUE5SUdOeVpXRjBaVU4xY25OdmNpaGxiWEIwZVVOdmJuUmxlSFJQWW1wbFkzUXBPeUF2THlCQklHTjFjbk52Y2lCMGJ5QmhJR0p2YjJ4bFlXNGdhVzVrYVdOaGRHbHVaeUIzYUdWMGFHVnlJSFJvWlNCamIyNTBaWGgwSUdoaGN5QmphR0Z1WjJWa0xseHVYRzUyWVhJZ1pHbGtVR1Z5Wm05eWJWZHZjbXRUZEdGamEwTjFjbk52Y2lBOUlHTnlaV0YwWlVOMWNuTnZjaWhtWVd4elpTazdJQzh2SUV0bFpYQWdkSEpoWTJzZ2IyWWdkR2hsSUhCeVpYWnBiM1Z6SUdOdmJuUmxlSFFnYjJKcVpXTjBJSFJvWVhRZ2QyRnpJRzl1SUhSb1pTQnpkR0ZqYXk1Y2JpOHZJRmRsSUhWelpTQjBhR2x6SUhSdklHZGxkQ0JoWTJObGMzTWdkRzhnZEdobElIQmhjbVZ1ZENCamIyNTBaWGgwSUdGbWRHVnlJSGRsSUdoaGRtVWdZV3h5WldGa2VWeHVMeThnY0hWemFHVmtJSFJvWlNCdVpYaDBJR052Ym5SbGVIUWdjSEp2ZG1sa1pYSXNJR0Z1WkNCdWIzY2dibVZsWkNCMGJ5QnRaWEpuWlNCMGFHVnBjaUJqYjI1MFpYaDBjeTVjYmx4dWRtRnlJSEJ5WlhacGIzVnpRMjl1ZEdWNGRDQTlJR1Z0Y0hSNVEyOXVkR1Y0ZEU5aWFtVmpkRHRjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWVzV0WVhOclpXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lHUnBaRkIxYzJoUGQyNURiMjUwWlhoMFNXWlFjbTkyYVdSbGNpa2dlMXh1SUNCN1hHNGdJQ0FnYVdZZ0tHUnBaRkIxYzJoUGQyNURiMjUwWlhoMFNXWlFjbTkyYVdSbGNpQW1KaUJwYzBOdmJuUmxlSFJRY205MmFXUmxjaWhEYjIxd2IyNWxiblFwS1NCN1hHNGdJQ0FnSUNBdkx5QkpaaUIwYUdVZ1ptbGlaWElnYVhNZ1lTQmpiMjUwWlhoMElIQnliM1pwWkdWeUlHbDBjMlZzWml3Z2QyaGxiaUIzWlNCeVpXRmtJR2wwY3lCamIyNTBaWGgwWEc0Z0lDQWdJQ0F2THlCM1pTQnRZWGtnYUdGMlpTQmhiSEpsWVdSNUlIQjFjMmhsWkNCcGRITWdiM2R1SUdOb2FXeGtJR052Ym5SbGVIUWdiMjRnZEdobElITjBZV05yTGlCQklHTnZiblJsZUhSY2JpQWdJQ0FnSUM4dklIQnliM1pwWkdWeUlITm9iM1ZzWkNCdWIzUWdYQ0p6WldWY0lpQnBkSE1nYjNkdUlHTm9hV3hrSUdOdmJuUmxlSFF1SUZSb1pYSmxabTl5WlNCM1pTQnlaV0ZrSUhSb1pWeHVJQ0FnSUNBZ0x5OGdjSEpsZG1sdmRYTWdLSEJoY21WdWRDa2dZMjl1ZEdWNGRDQnBibk4wWldGa0lHWnZjaUJoSUdOdmJuUmxlSFFnY0hKdmRtbGtaWEl1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjSEpsZG1sdmRYTkRiMjUwWlhoME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJqYjI1MFpYaDBVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkRHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCallXTm9aVU52Ym5SbGVIUW9kMjl5YTBsdVVISnZaM0psYzNNc0lIVnViV0Z6YTJWa1EyOXVkR1Y0ZEN3Z2JXRnphMlZrUTI5dWRHVjRkQ2tnZTF4dUlDQjdYRzRnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxPMXh1SUNBZ0lHbHVjM1JoYm1ObExsOWZjbVZoWTNSSmJuUmxjbTVoYkUxbGJXOXBlbVZrVlc1dFlYTnJaV1JEYUdsc1pFTnZiblJsZUhRZ1BTQjFibTFoYzJ0bFpFTnZiblJsZUhRN1hHNGdJQ0FnYVc1emRHRnVZMlV1WDE5eVpXRmpkRWx1ZEdWeWJtRnNUV1Z0YjJsNlpXUk5ZWE5yWldSRGFHbHNaRU52Ym5SbGVIUWdQU0J0WVhOclpXUkRiMjUwWlhoME8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEUxaGMydGxaRU52Ym5SbGVIUW9kMjl5YTBsdVVISnZaM0psYzNNc0lIVnViV0Z6YTJWa1EyOXVkR1Y0ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhSNWNHVWdQU0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTzF4dUlDQWdJSFpoY2lCamIyNTBaWGgwVkhsd1pYTWdQU0IwZVhCbExtTnZiblJsZUhSVWVYQmxjenRjYmx4dUlDQWdJR2xtSUNnaFkyOXVkR1Y0ZEZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaVzF3ZEhsRGIyNTBaWGgwVDJKcVpXTjBPMXh1SUNBZ0lIMGdMeThnUVhadmFXUWdjbVZqY21WaGRHbHVaeUJ0WVhOclpXUWdZMjl1ZEdWNGRDQjFibXhsYzNNZ2RXNXRZWE5yWldRZ1kyOXVkR1Y0ZENCb1lYTWdZMmhoYm1kbFpDNWNiaUFnSUNBdkx5QkdZV2xzYVc1bklIUnZJR1J2SUhSb2FYTWdkMmxzYkNCeVpYTjFiSFFnYVc0Z2RXNXVaV05sYzNOaGNua2dZMkZzYkhNZ2RHOGdZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2N5NWNiaUFnSUNBdkx5QlVhR2x6SUcxaGVTQjBjbWxuWjJWeUlHbHVabWx1YVhSbElHeHZiM0J6SUdsbUlHTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hNZ1kyRnNiSE1nYzJWMFUzUmhkR1V1WEc1Y2JseHVJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lHbG1JQ2hwYm5OMFlXNWpaU0FtSmlCcGJuTjBZVzVqWlM1ZlgzSmxZV04wU1c1MFpYSnVZV3hOWlcxdmFYcGxaRlZ1YldGemEyVmtRMmhwYkdSRGIyNTBaWGgwSUQwOVBTQjFibTFoYzJ0bFpFTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCcGJuTjBZVzVqWlM1ZlgzSmxZV04wU1c1MFpYSnVZV3hOWlcxdmFYcGxaRTFoYzJ0bFpFTm9hV3hrUTI5dWRHVjRkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTI5dWRHVjRkQ0E5SUh0OU8xeHVYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2EyVjVJR2x1SUdOdmJuUmxlSFJVZVhCbGN5a2dlMXh1SUNBZ0lDQWdZMjl1ZEdWNGRGdHJaWGxkSUQwZ2RXNXRZWE5yWldSRGIyNTBaWGgwVzJ0bGVWMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RtRnlJRzVoYldVZ1BTQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIUjVjR1VwSUh4OElDZFZibXR1YjNkdUp6dGNiaUFnSUNBZ0lHTm9aV05yVUhKdmNGUjVjR1Z6S0dOdmJuUmxlSFJVZVhCbGN5d2dZMjl1ZEdWNGRDd2dKMk52Ym5SbGVIUW5MQ0J1WVcxbExDQm5aWFJEZFhKeVpXNTBSbWxpWlhKVGRHRmphMGx1UkdWMktUdGNiaUFnSUNCOUlDOHZJRU5oWTJobElIVnViV0Z6YTJWa0lHTnZiblJsZUhRZ2MyOGdkMlVnWTJGdUlHRjJiMmxrSUhKbFkzSmxZWFJwYm1jZ2JXRnphMlZrSUdOdmJuUmxlSFFnZFc1c1pYTnpJRzVsWTJWemMyRnllUzVjYmlBZ0lDQXZMeUJEYjI1MFpYaDBJR2x6SUdOeVpXRjBaV1FnWW1WbWIzSmxJSFJvWlNCamJHRnpjeUJqYjIxd2IyNWxiblFnYVhNZ2FXNXpkR0Z1ZEdsaGRHVmtJSE52SUdOb1pXTnJJR1p2Y2lCcGJuTjBZVzVqWlM1Y2JseHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxLU0I3WEc0Z0lDQWdJQ0JqWVdOb1pVTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhWdWJXRnphMlZrUTI5dWRHVjRkQ3dnWTI5dWRHVjRkQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHTnZiblJsZUhRN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdhR0Z6UTI5dWRHVjRkRU5vWVc1blpXUW9LU0I3WEc0Z0lIdGNiaUFnSUNCeVpYUjFjbTRnWkdsa1VHVnlabTl5YlZkdmNtdFRkR0ZqYTBOMWNuTnZjaTVqZFhKeVpXNTBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdselEyOXVkR1Y0ZEZCeWIzWnBaR1Z5S0hSNWNHVXBJSHRjYmlBZ2UxeHVJQ0FnSUhaaGNpQmphR2xzWkVOdmJuUmxlSFJVZVhCbGN5QTlJSFI1Y0dVdVkyaHBiR1JEYjI1MFpYaDBWSGx3WlhNN1hHNGdJQ0FnY21WMGRYSnVJR05vYVd4a1EyOXVkR1Y0ZEZSNWNHVnpJQ0U5UFNCdWRXeHNJQ1ltSUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUNFOVBTQjFibVJsWm1sdVpXUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnY0c5d1EyOXVkR1Y0ZENobWFXSmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2NHOXdLR1JwWkZCbGNtWnZjbTFYYjNKclUzUmhZMnREZFhKemIzSXNJR1pwWW1WeUtUdGNiaUFnSUNCd2IzQW9ZMjl1ZEdWNGRGTjBZV05yUTNWeWMyOXlMQ0JtYVdKbGNpazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnY0c5d1ZHOXdUR1YyWld4RGIyNTBaWGgwVDJKcVpXTjBLR1pwWW1WeUtTQjdYRzRnSUh0Y2JpQWdJQ0J3YjNBb1pHbGtVR1Z5Wm05eWJWZHZjbXRUZEdGamEwTjFjbk52Y2l3Z1ptbGlaWElwTzF4dUlDQWdJSEJ2Y0NoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJc0lHWnBZbVZ5S1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndkWE5vVkc5d1RHVjJaV3hEYjI1MFpYaDBUMkpxWldOMEtHWnBZbVZ5TENCamIyNTBaWGgwTENCa2FXUkRhR0Z1WjJVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNnaEtHTnZiblJsZUhSVGRHRmphME4xY25OdmNpNWpkWEp5Wlc1MElEMDlQU0JsYlhCMGVVTnZiblJsZUhSUFltcGxZM1FwS1NCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxWdVpYaHdaV04wWldRZ1kyOXVkR1Y0ZENCbWIzVnVaQ0J2YmlCemRHRmpheTRnVkdocGN5Qmxjbkp2Y2lCcGN5QnNhV3RsYkhrZ1kyRjFjMlZrSUdKNUlHRWdZblZuSUdsdUlGSmxZV04wTGlCUWJHVmhjMlVnWm1sc1pTQmhiaUJwYzNOMVpTNWNJaUFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEIxYzJnb1kyOXVkR1Y0ZEZOMFlXTnJRM1Z5YzI5eUxDQmpiMjUwWlhoMExDQm1hV0psY2lrN1hHNGdJQ0FnY0hWemFDaGthV1JRWlhKbWIzSnRWMjl5YTFOMFlXTnJRM1Z5YzI5eUxDQmthV1JEYUdGdVoyVXNJR1pwWW1WeUtUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ3Y205alpYTnpRMmhwYkdSRGIyNTBaWGgwS0dacFltVnlMQ0IwZVhCbExDQndZWEpsYm5SRGIyNTBaWGgwS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYVc1emRHRnVZMlVnUFNCbWFXSmxjaTV6ZEdGMFpVNXZaR1U3WEc0Z0lDQWdkbUZ5SUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUQwZ2RIbHdaUzVqYUdsc1pFTnZiblJsZUhSVWVYQmxjenNnTHk4Z1ZFOUVUeUFvWW5aaGRXZG9iaWtnVW1Wd2JHRmpaU0IwYUdseklHSmxhR0YyYVc5eUlIZHBkR2dnWVc0Z2FXNTJZWEpwWVc1MEtDa2dhVzRnZEdobElHWjFkSFZ5WlM1Y2JpQWdJQ0F2THlCSmRDQm9ZWE1nYjI1c2VTQmlaV1Z1SUdGa1pHVmtJR2x1SUVacFltVnlJSFJ2SUcxaGRHTm9JSFJvWlNBb2RXNXBiblJsYm5ScGIyNWhiQ2tnWW1Wb1lYWnBiM0lnYVc0Z1UzUmhZMnN1WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1kbGRFTm9hV3hrUTI5dWRHVjRkQ0FoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1kyOXRjRzl1Wlc1MFRtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEhsd1pTa2dmSHdnSjFWdWEyNXZkMjRuTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2doZDJGeWJtVmtRV0p2ZFhSTmFYTnphVzVuUjJWMFEyaHBiR1JEYjI1MFpYaDBXMk52YlhCdmJtVnVkRTVoYldWZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZDJGeWJtVmtRV0p2ZFhSTmFYTnphVzVuUjJWMFEyaHBiR1JEYjI1MFpYaDBXMk52YlhCdmJtVnVkRTVoYldWZElEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeTVqYUdsc1pFTnZiblJsZUhSVWVYQmxjeUJwY3lCemNHVmphV1pwWldRZ1luVjBJSFJvWlhKbElHbHpJRzV2SUdkbGRFTm9hV3hrUTI5dWRHVjRkQ2dwSUcxbGRHaHZaQ0FuSUNzZ0oyOXVJSFJvWlNCcGJuTjBZVzVqWlM0Z1dXOTFJR05oYmlCbGFYUm9aWElnWkdWbWFXNWxJR2RsZEVOb2FXeGtRMjl1ZEdWNGRDZ3BJRzl1SUNWeklHOXlJSEpsYlc5MlpTQW5JQ3NnSjJOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUdaeWIyMGdhWFF1Snl3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnWTI5dGNHOXVaVzUwVG1GdFpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEJoY21WdWRFTnZiblJsZUhRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTm9hV3hrUTI5dWRHVjRkRHRjYmlBZ0lDQnpkR0Z5ZEZCb1lYTmxWR2x0WlhJb1ptbGlaWElzSUNkblpYUkRhR2xzWkVOdmJuUmxlSFFuS1R0Y2JpQWdJQ0JqYUdsc1pFTnZiblJsZUhRZ1BTQnBibk4wWVc1alpTNW5aWFJEYUdsc1pFTnZiblJsZUhRb0tUdGNiaUFnSUNCemRHOXdVR2hoYzJWVWFXMWxjaWdwTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnWTI5dWRHVjRkRXRsZVNCcGJpQmphR2xzWkVOdmJuUmxlSFFwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hLR052Ym5SbGVIUkxaWGtnYVc0Z1kyaHBiR1JEYjI1MFpYaDBWSGx3WlhNcEtTQjdYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dLR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9kSGx3WlNrZ2ZId2dKMVZ1YTI1dmQyNG5LU0FySUZ3aUxtZGxkRU5vYVd4a1EyOXVkR1Y0ZENncE9pQnJaWGtnWEZ4Y0lsd2lJQ3NnWTI5dWRHVjRkRXRsZVNBcklGd2lYRnhjSWlCcGN5QnViM1FnWkdWbWFXNWxaQ0JwYmlCamFHbHNaRU52Ym5SbGVIUlVlWEJsY3k1Y0lpQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkbUZ5SUc1aGJXVWdQU0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLSFI1Y0dVcElIeDhJQ2RWYm10dWIzZHVKenRjYmlBZ0lDQWdJR05vWldOclVISnZjRlI1Y0dWektHTm9hV3hrUTI5dWRHVjRkRlI1Y0dWekxDQmphR2xzWkVOdmJuUmxlSFFzSUNkamFHbHNaQ0JqYjI1MFpYaDBKeXdnYm1GdFpTd2dMeThnU1c0Z2NISmhZM1JwWTJVc0lIUm9aWEpsSUdseklHOXVaU0JqWVhObElHbHVJSGRvYVdOb0lIZGxJSGR2YmlkMElHZGxkQ0JoSUhOMFlXTnJMaUJKZENkeklIZG9aVzVjYmlBZ0lDQWdJQzh2SUhOdmJXVmliMlI1SUdOaGJHeHpJSFZ1YzNSaFlteGxYM0psYm1SbGNsTjFZblJ5WldWSmJuUnZRMjl1ZEdGcGJtVnlLQ2tnWVc1a0lIZGxJSEJ5YjJObGMzTmNiaUFnSUNBZ0lDOHZJR052Ym5SbGVIUWdabkp2YlNCMGFHVWdjR0Z5Wlc1MElHTnZiWEJ2Ym1WdWRDQnBibk4wWVc1alpTNGdWR2hsSUhOMFlXTnJJSGRwYkd3Z1ltVWdiV2x6YzJsdVoxeHVJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQnBkQ2R6SUc5MWRITnBaR1VnYjJZZ2RHaGxJSEpsWTI5dVkybHNhV0YwYVc5dUxDQmhibVFnYzI4Z2RHaGxJSEJ2YVc1MFpYSWdhR0Z6SUc1dmRGeHVJQ0FnSUNBZ0x5OGdZbVZsYmlCelpYUXVJRlJvYVhNZ2FYTWdjbUZ5WlNCaGJtUWdaRzlsYzI0bmRDQnRZWFIwWlhJdUlGZGxKMnhzSUdGc2MyOGdjbVZ0YjNabElIUm9ZWFFnUVZCSkxseHVJQ0FnSUNBZ1oyVjBRM1Z5Y21WdWRFWnBZbVZ5VTNSaFkydEpia1JsZGlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJRjloYzNOcFoyNG9lMzBzSUhCaGNtVnVkRU52Ym5SbGVIUXNJSHQ5TENCamFHbHNaRU52Ym5SbGVIUXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhCMWMyaERiMjUwWlhoMFVISnZkbWxrWlhJb2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbk4wWVhSbFRtOWtaVHNnTHk4Z1YyVWdjSFZ6YUNCMGFHVWdZMjl1ZEdWNGRDQmhjeUJsWVhKc2VTQmhjeUJ3YjNOemFXSnNaU0IwYnlCbGJuTjFjbVVnYzNSaFkyc2dhVzUwWldkeWFYUjVMbHh1SUNBZ0lDOHZJRWxtSUhSb1pTQnBibk4wWVc1alpTQmtiMlZ6SUc1dmRDQmxlR2x6ZENCNVpYUXNJSGRsSUhkcGJHd2djSFZ6YUNCdWRXeHNJR0YwSUdacGNuTjBMRnh1SUNBZ0lDOHZJR0Z1WkNCeVpYQnNZV05sSUdsMElHOXVJSFJvWlNCemRHRmpheUJzWVhSbGNpQjNhR1Z1SUdsdWRtRnNhV1JoZEdsdVp5QjBhR1VnWTI5dWRHVjRkQzVjYmx4dUlDQWdJSFpoY2lCdFpXMXZhWHBsWkUxbGNtZGxaRU5vYVd4a1EyOXVkR1Y0ZENBOUlHbHVjM1JoYm1ObElDWW1JR2x1YzNSaGJtTmxMbDlmY21WaFkzUkpiblJsY201aGJFMWxiVzlwZW1Wa1RXVnlaMlZrUTJocGJHUkRiMjUwWlhoMElIeDhJR1Z0Y0hSNVEyOXVkR1Y0ZEU5aWFtVmpkRHNnTHk4Z1VtVnRaVzFpWlhJZ2RHaGxJSEJoY21WdWRDQmpiMjUwWlhoMElITnZJSGRsSUdOaGJpQnRaWEpuWlNCM2FYUm9JR2wwSUd4aGRHVnlMbHh1SUNBZ0lDOHZJRWx1YUdWeWFYUWdkR2hsSUhCaGNtVnVkQ2R6SUdScFpDMXdaWEptYjNKdExYZHZjbXNnZG1Gc2RXVWdkRzhnWVhadmFXUWdhVzVoWkhabGNuUmxiblJzZVNCaWJHOWphMmx1WnlCMWNHUmhkR1Z6TGx4dVhHNGdJQ0FnY0hKbGRtbHZkWE5EYjI1MFpYaDBJRDBnWTI5dWRHVjRkRk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblE3WEc0Z0lDQWdjSFZ6YUNoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJc0lHMWxiVzlwZW1Wa1RXVnlaMlZrUTJocGJHUkRiMjUwWlhoMExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnY0hWemFDaGthV1JRWlhKbWIzSnRWMjl5YTFOMFlXTnJRM1Z5YzI5eUxDQmthV1JRWlhKbWIzSnRWMjl5YTFOMFlXTnJRM1Z5YzI5eUxtTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnBiblpoYkdsa1lYUmxRMjl1ZEdWNGRGQnliM1pwWkdWeUtIZHZjbXRKYmxCeWIyZHlaWE56TENCMGVYQmxMQ0JrYVdSRGFHRnVaMlVwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJR2xtSUNnaGFXNXpkR0Z1WTJVcElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYaHdaV04wWldRZ2RHOGdhR0YyWlNCaGJpQnBibk4wWVc1alpTQmllU0IwYUdseklIQnZhVzUwTGlCVWFHbHpJR1Z5Y205eUlHbHpJR3hwYTJWc2VTQmpZWFZ6WldRZ1lua2dZU0JpZFdjZ2FXNGdVbVZoWTNRdUlGQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMbHdpSUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHUnBaRU5vWVc1blpTa2dlMXh1SUNBZ0lDQWdMeThnVFdWeVoyVWdjR0Z5Wlc1MElHRnVaQ0J2ZDI0Z1kyOXVkR1Y0ZEM1Y2JpQWdJQ0FnSUM4dklGTnJhWEFnZEdocGN5QnBaaUIzWlNkeVpTQnViM1FnZFhCa1lYUnBibWNnWkhWbElIUnZJSE5EVlM1Y2JpQWdJQ0FnSUM4dklGUm9hWE1nWVhadmFXUnpJSFZ1Ym1WalpYTnpZWEpwYkhrZ2NtVmpiMjF3ZFhScGJtY2diV1Z0YjJsNlpXUWdkbUZzZFdWekxseHVJQ0FnSUNBZ2RtRnlJRzFsY21kbFpFTnZiblJsZUhRZ1BTQndjbTlqWlhOelEyaHBiR1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQjBlWEJsTENCd2NtVjJhVzkxYzBOdmJuUmxlSFFwTzF4dUlDQWdJQ0FnYVc1emRHRnVZMlV1WDE5eVpXRmpkRWx1ZEdWeWJtRnNUV1Z0YjJsNlpXUk5aWEpuWldSRGFHbHNaRU52Ym5SbGVIUWdQU0J0WlhKblpXUkRiMjUwWlhoME95QXZMeUJTWlhCc1lXTmxJSFJvWlNCdmJHUWdLRzl5SUdWdGNIUjVLU0JqYjI1MFpYaDBJSGRwZEdnZ2RHaGxJRzVsZHlCdmJtVXVYRzRnSUNBZ0lDQXZMeUJKZENCcGN5QnBiWEJ2Y25SaGJuUWdkRzhnZFc1M2FXNWtJSFJvWlNCamIyNTBaWGgwSUdsdUlIUm9aU0J5WlhabGNuTmxJRzl5WkdWeUxseHVYRzRnSUNBZ0lDQndiM0FvWkdsa1VHVnlabTl5YlZkdmNtdFRkR0ZqYTBOMWNuTnZjaXdnZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdjRzl3S0dOdmJuUmxlSFJUZEdGamEwTjFjbk52Y2l3Z2QyOXlhMGx1VUhKdlozSmxjM01wT3lBdkx5Qk9iM2NnY0hWemFDQjBhR1VnYm1WM0lHTnZiblJsZUhRZ1lXNWtJRzFoY21zZ2RHaGhkQ0JwZENCb1lYTWdZMmhoYm1kbFpDNWNibHh1SUNBZ0lDQWdjSFZ6YUNoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJc0lHMWxjbWRsWkVOdmJuUmxlSFFzSUhkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJSEIxYzJnb1pHbGtVR1Z5Wm05eWJWZHZjbXRUZEdGamEwTjFjbk52Y2l3Z1pHbGtRMmhoYm1kbExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSEJ2Y0Noa2FXUlFaWEptYjNKdFYyOXlhMU4wWVdOclEzVnljMjl5TENCM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdJQ0J3ZFhOb0tHUnBaRkJsY21admNtMVhiM0pyVTNSaFkydERkWEp6YjNJc0lHUnBaRU5vWVc1blpTd2dkMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1hVzVrUTNWeWNtVnVkRlZ1YldGemEyVmtRMjl1ZEdWNGRDaG1hV0psY2lrZ2UxeHVJQ0I3WEc0Z0lDQWdMeThnUTNWeWNtVnVkR3g1SUhSb2FYTWdhWE1nYjI1c2VTQjFjMlZrSUhkcGRHZ2djbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSTdJRzV2ZENCemRYSmxJR2xtSUdsMFhHNGdJQ0FnTHk4Z2JXRnJaWE1nYzJWdWMyVWdaV3h6Wlhkb1pYSmxYRzRnSUNBZ2FXWWdLQ0VvYVhOR2FXSmxjazF2ZFc1MFpXUW9abWxpWlhJcElDWW1JR1pwWW1WeUxuUmhaeUE5UFQwZ1EyeGhjM05EYjIxd2IyNWxiblFwS1NCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtWNGNHVmpkR1ZrSUhOMVluUnlaV1VnY0dGeVpXNTBJSFJ2SUdKbElHRWdiVzkxYm5SbFpDQmpiR0Z6Y3lCamIyMXdiMjVsYm5RdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdibTlrWlNBOUlHWnBZbVZ5TzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2MzZHBkR05vSUNodWIyUmxMblJoWnlrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUlNiMjkwT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWIyUmxMbk4wWVhSbFRtOWtaUzVqYjI1MFpYaDBPMXh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdRMnhoYzNORGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRU52YlhCdmJtVnVkQ0E5SUc1dlpHVXVkSGx3WlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHbHpRMjl1ZEdWNGRGQnliM1pwWkdWeUtFTnZiWEJ2Ym1WdWRDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNXZaR1V1YzNSaGRHVk9iMlJsTGw5ZmNtVmhZM1JKYm5SbGNtNWhiRTFsYlc5cGVtVmtUV1Z5WjJWa1EyaHBiR1JEYjI1MFpYaDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbkpsZEhWeWJqdGNiaUFnSUNCOUlIZG9hV3hsSUNodWIyUmxJQ0U5UFNCdWRXeHNLVHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lSbTkxYm1RZ2RXNWxlSEJsWTNSbFpDQmtaWFJoWTJobFpDQnpkV0owY21WbElIQmhjbVZ1ZEM0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnVEdWbllXTjVVbTl2ZENBOUlEQTdYRzUyWVhJZ1FteHZZMnRwYm1kU2IyOTBJRDBnTVR0Y2JuWmhjaUJEYjI1amRYSnlaVzUwVW05dmRDQTlJREk3WEc1Y2JuWmhjaUJUWTJobFpIVnNaWEpmY25WdVYybDBhRkJ5YVc5eWFYUjVJRDBnVTJOb1pXUjFiR1Z5TG5WdWMzUmhZbXhsWDNKMWJsZHBkR2hRY21sdmNtbDBlU3hjYmlBZ0lDQlRZMmhsWkhWc1pYSmZjMk5vWldSMWJHVkRZV3hzWW1GamF5QTlJRk5qYUdWa2RXeGxjaTUxYm5OMFlXSnNaVjl6WTJobFpIVnNaVU5oYkd4aVlXTnJMRnh1SUNBZ0lGTmphR1ZrZFd4bGNsOWpZVzVqWld4RFlXeHNZbUZqYXlBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOWpZVzVqWld4RFlXeHNZbUZqYXl4Y2JpQWdJQ0JUWTJobFpIVnNaWEpmYzJodmRXeGtXV2xsYkdRZ1BTQlRZMmhsWkhWc1pYSXVkVzV6ZEdGaWJHVmZjMmh2ZFd4a1dXbGxiR1FzWEc0Z0lDQWdVMk5vWldSMWJHVnlYM0psY1hWbGMzUlFZV2x1ZENBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOXlaWEYxWlhOMFVHRnBiblFzWEc0Z0lDQWdVMk5vWldSMWJHVnlYMjV2ZHlBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOXViM2NzWEc0Z0lDQWdVMk5vWldSMWJHVnlYMmRsZEVOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0lEMGdVMk5vWldSMWJHVnlMblZ1YzNSaFlteGxYMmRsZEVOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0xGeHVJQ0FnSUZOamFHVmtkV3hsY2w5SmJXMWxaR2xoZEdWUWNtbHZjbWwwZVNBOUlGTmphR1ZrZFd4bGNpNTFibk4wWVdKc1pWOUpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTeGNiaUFnSUNCVFkyaGxaSFZzWlhKZlZYTmxja0pzYjJOcmFXNW5VSEpwYjNKcGRIa2dQU0JUWTJobFpIVnNaWEl1ZFc1emRHRmliR1ZmVlhObGNrSnNiMk5yYVc1blVISnBiM0pwZEhrc1hHNGdJQ0FnVTJOb1pXUjFiR1Z5WDA1dmNtMWhiRkJ5YVc5eWFYUjVJRDBnVTJOb1pXUjFiR1Z5TG5WdWMzUmhZbXhsWDA1dmNtMWhiRkJ5YVc5eWFYUjVMRnh1SUNBZ0lGTmphR1ZrZFd4bGNsOU1iM2RRY21sdmNtbDBlU0E5SUZOamFHVmtkV3hsY2k1MWJuTjBZV0pzWlY5TWIzZFFjbWx2Y21sMGVTeGNiaUFnSUNCVFkyaGxaSFZzWlhKZlNXUnNaVkJ5YVc5eWFYUjVJRDBnVTJOb1pXUjFiR1Z5TG5WdWMzUmhZbXhsWDBsa2JHVlFjbWx2Y21sMGVUdGNibHh1ZTF4dUlDQXZMeUJRY205MmFXUmxJR1Y0Y0d4cFkybDBJR1Z5Y205eUlHMWxjM05oWjJVZ2QyaGxiaUJ3Y205a2RXTjBhVzl1SzNCeWIyWnBiR2x1WnlCaWRXNWtiR1VnYjJZZ1pTNW5MbHh1SUNBdkx5QnlaV0ZqZEMxa2IyMGdhWE1nZFhObFpDQjNhWFJvSUhCeWIyUjFZM1JwYjI0Z0tHNXZiaTF3Y205bWFXeHBibWNwSUdKMWJtUnNaU0J2Wmx4dUlDQXZMeUJ6WTJobFpIVnNaWEl2ZEhKaFkybHVaMXh1SUNCcFppQW9JU2gwY21GamFXNW5MbDlmYVc1MFpYSmhZM1JwYjI1elVtVm1JQ0U5SUc1MWJHd2dKaVlnZEhKaFkybHVaeTVmWDJsdWRHVnlZV04wYVc5dWMxSmxaaTVqZFhKeVpXNTBJQ0U5SUc1MWJHd3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVNYUWdhWE1nYm05MElITjFjSEJ2Y25SbFpDQjBieUJ5ZFc0Z2RHaGxJSEJ5YjJacGJHbHVaeUIyWlhKemFXOXVJRzltSUdFZ2NtVnVaR1Z5WlhJZ0tHWnZjaUJsZUdGdGNHeGxMQ0JnY21WaFkzUXRaRzl0TDNCeWIyWnBiR2x1WjJBcElIZHBkR2h2ZFhRZ1lXeHpieUJ5WlhCc1lXTnBibWNnZEdobElHQnpZMmhsWkhWc1pYSXZkSEpoWTJsdVoyQWdiVzlrZFd4bElIZHBkR2dnWUhOamFHVmtkV3hsY2k5MGNtRmphVzVuTFhCeWIyWnBiR2x1WjJBdUlGbHZkWElnWW5WdVpHeGxjaUJ0YVdkb2RDQm9ZWFpsSUdFZ2MyVjBkR2x1WnlCbWIzSWdZV3hwWVhOcGJtY2dZbTkwYUNCdGIyUjFiR1Z6TGlCTVpXRnliaUJ0YjNKbElHRjBJR2gwZEhBNkx5OW1ZaTV0WlM5eVpXRmpkQzF3Y205bWFXeHBibWRjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnWm1GclpVTmhiR3hpWVdOclRtOWtaU0E5SUh0OU95QXZMeUJGZUdObGNIUWdabTl5SUU1dlVISnBiM0pwZEhrc0lIUm9aWE5sSUdOdmNuSmxjM0J2Ym1RZ2RHOGdVMk5vWldSMWJHVnlJSEJ5YVc5eWFYUnBaWE11SUZkbElIVnpaVnh1THk4Z1lYTmpaVzVrYVc1bklHNTFiV0psY25NZ2MyOGdkMlVnWTJGdUlHTnZiWEJoY21VZ2RHaGxiU0JzYVd0bElHNTFiV0psY25NdUlGUm9aWGtnYzNSaGNuUWdZWFFnT1RBZ2RHOWNiaTh2SUdGMmIybGtJR05zWVhOb2FXNW5JSGRwZEdnZ1UyTm9aV1IxYkdWeUozTWdjSEpwYjNKcGRHbGxjeTVjYmx4dWRtRnlJRWx0YldWa2FXRjBaVkJ5YVc5eWFYUjVJRDBnT1RrN1hHNTJZWElnVlhObGNrSnNiMk5yYVc1blVISnBiM0pwZEhra01TQTlJRGs0TzF4dWRtRnlJRTV2Y20xaGJGQnlhVzl5YVhSNUlEMGdPVGM3WEc1MllYSWdURzkzVUhKcGIzSnBkSGtnUFNBNU5qdGNiblpoY2lCSlpHeGxVSEpwYjNKcGRIa2dQU0E1TlRzZ0x5OGdUbTlRY21sdmNtbDBlU0JwY3lCMGFHVWdZV0p6Wlc1alpTQnZaaUJ3Y21sdmNtbDBlUzRnUVd4emJ5QlNaV0ZqZEMxdmJteDVMbHh1WEc1MllYSWdUbTlRY21sdmNtbDBlU0E5SURrd08xeHVkbUZ5SUhOb2IzVnNaRmxwWld4a0lEMGdVMk5vWldSMWJHVnlYM05vYjNWc1pGbHBaV3hrTzF4dWRtRnlJSEpsY1hWbGMzUlFZV2x1ZENBOUlDOHZJRVpoYkd3Z1ltRmpheUJuY21GalpXWjFiR3g1SUdsbUlIZGxKM0psSUhKMWJtNXBibWNnWVc0Z2IyeGtaWElnZG1WeWMybHZiaUJ2WmlCVFkyaGxaSFZzWlhJdVhHNVRZMmhsWkhWc1pYSmZjbVZ4ZFdWemRGQmhhVzUwSUNFOVBTQjFibVJsWm1sdVpXUWdQeUJUWTJobFpIVnNaWEpmY21WeGRXVnpkRkJoYVc1MElEb2dablZ1WTNScGIyNGdLQ2tnZTMwN1hHNTJZWElnYzNsdVkxRjFaWFZsSUQwZ2JuVnNiRHRjYm5aaGNpQnBiVzFsWkdsaGRHVlJkV1YxWlVOaGJHeGlZV05yVG05a1pTQTlJRzUxYkd3N1hHNTJZWElnYVhOR2JIVnphR2x1WjFONWJtTlJkV1YxWlNBOUlHWmhiSE5sTzF4dWRtRnlJR2x1YVhScFlXeFVhVzFsVFhNZ1BTQlRZMmhsWkhWc1pYSmZibTkzS0NrN0lDOHZJRWxtSUhSb1pTQnBibWwwYVdGc0lIUnBiV1Z6ZEdGdGNDQnBjeUJ5WldGemIyNWhZbXg1SUhOdFlXeHNMQ0IxYzJVZ1UyTm9aV1IxYkdWeUozTWdZRzV2ZDJBZ1pHbHlaV04wYkhrdVhHNHZMeUJVYUdseklIZHBiR3dnWW1VZ2RHaGxJR05oYzJVZ1ptOXlJRzF2WkdWeWJpQmljbTkzYzJWeWN5QjBhR0YwSUhOMWNIQnZjblFnWUhCbGNtWnZjbTFoYm1ObExtNXZkMkF1SUVsdVhHNHZMeUJ2YkdSbGNpQmljbTkzYzJWeWN5d2dVMk5vWldSMWJHVnlJR1poYkd4eklHSmhZMnNnZEc4Z1lFUmhkR1V1Ym05M1lDd2dkMmhwWTJnZ2NtVjBkWEp1Y3lCaElGVnVhWGhjYmk4dklIUnBiV1Z6ZEdGdGNDNGdTVzRnZEdoaGRDQmpZWE5sTENCemRXSjBjbUZqZENCMGFHVWdiVzlrZFd4bElHbHVhWFJwWVd4cGVtRjBhVzl1SUhScGJXVWdkRzhnYzJsdGRXeGhkR1ZjYmk4dklIUm9aU0JpWldoaGRtbHZjaUJ2WmlCd1pYSm1iM0p0WVc1alpTNXViM2NnWVc1a0lHdGxaWEFnYjNWeUlIUnBiV1Z6SUhOdFlXeHNJR1Z1YjNWbmFDQjBieUJtYVhSY2JpOHZJSGRwZEdocGJpQXpNaUJpYVhSekxseHVMeThnVkU5RVR6b2dRMjl1YzJsa1pYSWdiR2xtZEdsdVp5QjBhR2x6SUdsdWRHOGdVMk5vWldSMWJHVnlMbHh1WEc1MllYSWdibTkzSUQwZ2FXNXBkR2xoYkZScGJXVk5jeUE4SURFd01EQXdJRDhnVTJOb1pXUjFiR1Z5WDI1dmR5QTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdjbVYwZFhKdUlGTmphR1ZrZFd4bGNsOXViM2NvS1NBdElHbHVhWFJwWVd4VWFXMWxUWE03WEc1OU8xeHVablZ1WTNScGIyNGdaMlYwUTNWeWNtVnVkRkJ5YVc5eWFYUjVUR1YyWld3b0tTQjdYRzRnSUhOM2FYUmphQ0FvVTJOb1pXUjFiR1Z5WDJkbGRFTjFjbkpsYm5SUWNtbHZjbWwwZVV4bGRtVnNLQ2twSUh0Y2JpQWdJQ0JqWVhObElGTmphR1ZrZFd4bGNsOUpiVzFsWkdsaGRHVlFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCSmJXMWxaR2xoZEdWUWNtbHZjbWwwZVR0Y2JseHVJQ0FnSUdOaGMyVWdVMk5vWldSMWJHVnlYMVZ6WlhKQ2JHOWphMmx1WjFCeWFXOXlhWFI1T2x4dUlDQWdJQ0FnY21WMGRYSnVJRlZ6WlhKQ2JHOWphMmx1WjFCeWFXOXlhWFI1SkRFN1hHNWNiaUFnSUNCallYTmxJRk5qYUdWa2RXeGxjbDlPYjNKdFlXeFFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lISmxkSFZ5YmlCT2IzSnRZV3hRY21sdmNtbDBlVHRjYmx4dUlDQWdJR05oYzJVZ1UyTm9aV1IxYkdWeVgweHZkMUJ5YVc5eWFYUjVPbHh1SUNBZ0lDQWdjbVYwZFhKdUlFeHZkMUJ5YVc5eWFYUjVPMXh1WEc0Z0lDQWdZMkZ6WlNCVFkyaGxaSFZzWlhKZlNXUnNaVkJ5YVc5eWFYUjVPbHh1SUNBZ0lDQWdjbVYwZFhKdUlFbGtiR1ZRY21sdmNtbDBlVHRjYmx4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pWYm10dWIzZHVJSEJ5YVc5eWFYUjVJR3hsZG1Wc0xsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsWVdOMFVISnBiM0pwZEhsVWIxTmphR1ZrZFd4bGNsQnlhVzl5YVhSNUtISmxZV04wVUhKcGIzSnBkSGxNWlhabGJDa2dlMXh1SUNCemQybDBZMmdnS0hKbFlXTjBVSEpwYjNKcGRIbE1aWFpsYkNrZ2UxeHVJQ0FnSUdOaGMyVWdTVzF0WldScFlYUmxVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQnlaWFIxY200Z1UyTm9aV1IxYkdWeVgwbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNU8xeHVYRzRnSUNBZ1kyRnpaU0JWYzJWeVFteHZZMnRwYm1kUWNtbHZjbWwwZVNReE9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZOamFHVmtkV3hsY2w5VmMyVnlRbXh2WTJ0cGJtZFFjbWx2Y21sMGVUdGNibHh1SUNBZ0lHTmhjMlVnVG05eWJXRnNVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQnlaWFIxY200Z1UyTm9aV1IxYkdWeVgwNXZjbTFoYkZCeWFXOXlhWFI1TzF4dVhHNGdJQ0FnWTJGelpTQk1iM2RRY21sdmNtbDBlVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQlRZMmhsWkhWc1pYSmZURzkzVUhKcGIzSnBkSGs3WEc1Y2JpQWdJQ0JqWVhObElFbGtiR1ZRY21sdmNtbDBlVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQlRZMmhsWkhWc1pYSmZTV1JzWlZCeWFXOXlhWFI1TzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxWdWEyNXZkMjRnY0hKcGIzSnBkSGtnYkdWMlpXd3VYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnY25WdVYybDBhRkJ5YVc5eWFYUjVKREVvY21WaFkzUlFjbWx2Y21sMGVVeGxkbVZzTENCbWJpa2dlMXh1SUNCMllYSWdjSEpwYjNKcGRIbE1aWFpsYkNBOUlISmxZV04wVUhKcGIzSnBkSGxVYjFOamFHVmtkV3hsY2xCeWFXOXlhWFI1S0hKbFlXTjBVSEpwYjNKcGRIbE1aWFpsYkNrN1hHNGdJSEpsZEhWeWJpQlRZMmhsWkhWc1pYSmZjblZ1VjJsMGFGQnlhVzl5YVhSNUtIQnlhVzl5YVhSNVRHVjJaV3dzSUdadUtUdGNibjFjYm1aMWJtTjBhVzl1SUhOamFHVmtkV3hsUTJGc2JHSmhZMnNvY21WaFkzUlFjbWx2Y21sMGVVeGxkbVZzTENCallXeHNZbUZqYXl3Z2IzQjBhVzl1Y3lrZ2UxeHVJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUhKbFlXTjBVSEpwYjNKcGRIbFViMU5qYUdWa2RXeGxjbEJ5YVc5eWFYUjVLSEpsWVdOMFVISnBiM0pwZEhsTVpYWmxiQ2s3WEc0Z0lISmxkSFZ5YmlCVFkyaGxaSFZzWlhKZmMyTm9aV1IxYkdWRFlXeHNZbUZqYXlod2NtbHZjbWwwZVV4bGRtVnNMQ0JqWVd4c1ltRmpheXdnYjNCMGFXOXVjeWs3WEc1OVhHNW1kVzVqZEdsdmJpQnpZMmhsWkhWc1pWTjVibU5EWVd4c1ltRmpheWhqWVd4c1ltRmpheWtnZTF4dUlDQXZMeUJRZFhOb0lIUm9hWE1nWTJGc2JHSmhZMnNnYVc1MGJ5QmhiaUJwYm5SbGNtNWhiQ0J4ZFdWMVpTNGdWMlVuYkd3Z1pteDFjMmdnZEdobGMyVWdaV2wwYUdWeUlHbHVYRzRnSUM4dklIUm9aU0J1WlhoMElIUnBZMnNzSUc5eUlHVmhjbXhwWlhJZ2FXWWdjMjl0WlhSb2FXNW5JR05oYkd4eklHQm1iSFZ6YUZONWJtTkRZV3hzWW1GamExRjFaWFZsWUM1Y2JpQWdhV1lnS0hONWJtTlJkV1YxWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhONWJtTlJkV1YxWlNBOUlGdGpZV3hzWW1GamExMDdJQzh2SUVac2RYTm9JSFJvWlNCeGRXVjFaU0JwYmlCMGFHVWdibVY0ZENCMGFXTnJMQ0JoZENCMGFHVWdaV0Z5YkdsbGMzUXVYRzVjYmlBZ0lDQnBiVzFsWkdsaGRHVlJkV1YxWlVOaGJHeGlZV05yVG05a1pTQTlJRk5qYUdWa2RXeGxjbDl6WTJobFpIVnNaVU5oYkd4aVlXTnJLRk5qYUdWa2RXeGxjbDlKYlcxbFpHbGhkR1ZRY21sdmNtbDBlU3dnWm14MWMyaFRlVzVqUTJGc2JHSmhZMnRSZFdWMVpVbHRjR3dwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGQjFjMmdnYjI1MGJ5QmxlR2x6ZEdsdVp5QnhkV1YxWlM0Z1JHOXVKM1FnYm1WbFpDQjBieUJ6WTJobFpIVnNaU0JoSUdOaGJHeGlZV05ySUdKbFkyRjFjMlZjYmlBZ0lDQXZMeUIzWlNCaGJISmxZV1I1SUhOamFHVmtkV3hsWkNCdmJtVWdkMmhsYmlCM1pTQmpjbVZoZEdWa0lIUm9aU0J4ZFdWMVpTNWNiaUFnSUNCemVXNWpVWFZsZFdVdWNIVnphQ2hqWVd4c1ltRmpheWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWm1GclpVTmhiR3hpWVdOclRtOWtaVHRjYm4xY2JtWjFibU4wYVc5dUlHTmhibU5sYkVOaGJHeGlZV05yS0dOaGJHeGlZV05yVG05a1pTa2dlMXh1SUNCcFppQW9ZMkZzYkdKaFkydE9iMlJsSUNFOVBTQm1ZV3RsUTJGc2JHSmhZMnRPYjJSbEtTQjdYRzRnSUNBZ1UyTm9aV1IxYkdWeVgyTmhibU5sYkVOaGJHeGlZV05yS0dOaGJHeGlZV05yVG05a1pTazdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR1pzZFhOb1UzbHVZME5oYkd4aVlXTnJVWFZsZFdVb0tTQjdYRzRnSUdsbUlDaHBiVzFsWkdsaGRHVlJkV1YxWlVOaGJHeGlZV05yVG05a1pTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIWmhjaUJ1YjJSbElEMGdhVzF0WldScFlYUmxVWFZsZFdWRFlXeHNZbUZqYTA1dlpHVTdYRzRnSUNBZ2FXMXRaV1JwWVhSbFVYVmxkV1ZEWVd4c1ltRmphMDV2WkdVZ1BTQnVkV3hzTzF4dUlDQWdJRk5qYUdWa2RXeGxjbDlqWVc1alpXeERZV3hzWW1GamF5aHViMlJsS1R0Y2JpQWdmVnh1WEc0Z0lHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1ZKYlhCc0tDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1ZKYlhCc0tDa2dlMXh1SUNCcFppQW9JV2x6Um14MWMyaHBibWRUZVc1alVYVmxkV1VnSmlZZ2MzbHVZMUYxWlhWbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdVSEpsZG1WdWRDQnlaUzFsYm5SeVlXNWplUzVjYmlBZ0lDQnBjMFpzZFhOb2FXNW5VM2x1WTFGMVpYVmxJRDBnZEhKMVpUdGNiaUFnSUNCMllYSWdhU0E5SURBN1hHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdkbUZ5SUY5cGMxTjVibU1nUFNCMGNuVmxPMXh1SUNBZ0lDQWdkbUZ5SUhGMVpYVmxJRDBnYzNsdVkxRjFaWFZsTzF4dUlDQWdJQ0FnY25WdVYybDBhRkJ5YVc5eWFYUjVKREVvU1cxdFpXUnBZWFJsVUhKcGIzSnBkSGtzSUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdabTl5SUNnN0lHa2dQQ0J4ZFdWMVpTNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJqWVd4c1ltRmpheUE5SUhGMVpYVmxXMmxkTzF4dVhHNGdJQ0FnSUNBZ0lDQWdaRzhnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZzYkdKaFkyc2dQU0JqWVd4c1ltRmpheWhmYVhOVGVXNWpLVHRjYmlBZ0lDQWdJQ0FnSUNCOUlIZG9hV3hsSUNoallXeHNZbUZqYXlBaFBUMGdiblZzYkNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdjM2x1WTFGMVpYVmxJRDBnYm5Wc2JEdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdjMjl0WlhSb2FXNW5JSFJvY205M2N5d2diR1ZoZG1VZ2RHaGxJSEpsYldGcGJtbHVaeUJqWVd4c1ltRmphM01nYjI0Z2RHaGxJSEYxWlhWbExseHVJQ0FnSUNBZ2FXWWdLSE41Ym1OUmRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCemVXNWpVWFZsZFdVZ1BTQnplVzVqVVhWbGRXVXVjMnhwWTJVb2FTQXJJREVwTzF4dUlDQWdJQ0FnZlNBdkx5QlNaWE4xYldVZ1pteDFjMmhwYm1jZ2FXNGdkR2hsSUc1bGVIUWdkR2xqYTF4dVhHNWNiaUFnSUNBZ0lGTmphR1ZrZFd4bGNsOXpZMmhsWkhWc1pVTmhiR3hpWVdOcktGTmphR1ZrZFd4bGNsOUpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTd2dabXgxYzJoVGVXNWpRMkZzYkdKaFkydFJkV1YxWlNrN1hHNGdJQ0FnSUNCMGFISnZkeUJsY25KdmNqdGNiaUFnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ2FYTkdiSFZ6YUdsdVoxTjVibU5SZFdWMVpTQTlJR1poYkhObE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnVG05TmIyUmxJRDBnTUR0Y2JuWmhjaUJUZEhKcFkzUk5iMlJsSUQwZ01Uc2dMeThnVkU5RVR6b2dVbVZ0YjNabElFSnNiMk5yYVc1blRXOWtaU0JoYm1RZ1EyOXVZM1Z5Y21WdWRFMXZaR1VnWW5rZ2NtVmhaR2x1WnlCbWNtOXRJSFJvWlNCeWIyOTBYRzR2THlCMFlXY2dhVzV6ZEdWaFpGeHVYRzUyWVhJZ1FteHZZMnRwYm1kTmIyUmxJRDBnTWp0Y2JuWmhjaUJEYjI1amRYSnlaVzUwVFc5a1pTQTlJRFE3WEc1MllYSWdVSEp2Wm1sc1pVMXZaR1VnUFNBNE8xeHVYRzR2THlCTllYZ2dNekVnWW1sMElHbHVkR1ZuWlhJdUlGUm9aU0J0WVhnZ2FXNTBaV2RsY2lCemFYcGxJR2x1SUZZNElHWnZjaUF6TWkxaWFYUWdjM2x6ZEdWdGN5NWNiaTh2SUUxaGRHZ3VjRzkzS0RJc0lETXdLU0F0SURGY2JpOHZJREJpTVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeFhHNTJZWElnVFVGWVgxTkpSMDVGUkY4ek1WOUNTVlJmU1U1VUlEMGdNVEEzTXpjME1UZ3lNenRjYmx4dWRtRnlJRTV2VjI5eWF5QTlJREE3SUM4dklGUlBSRTg2SUZSb2FXNXJJRzltSUdFZ1ltVjBkR1Z5SUc1aGJXVWdabTl5SUU1bGRtVnlMaUJVYUdVZ2EyVjVJR1JwWm1abGNtVnVZMlVnZDJsMGFDQkpaR3hsSUdseklIUm9ZWFJjYmk4dklFNWxkbVZ5SUhkdmNtc2dZMkZ1SUdKbElHTnZiVzFwZEhSbFpDQnBiaUJoYmlCcGJtTnZibk5wYzNSbGJuUWdjM1JoZEdVZ2QybDBhRzkxZENCMFpXRnlhVzVuSUhSb1pTQlZTUzVjYmk4dklGUm9aU0J0WVdsdUlHVjRZVzF3YkdVZ2FYTWdiMlptYzJOeVpXVnVJR052Ym5SbGJuUXNJR3hwYTJVZ1lTQm9hV1JrWlc0Z2MzVmlkSEpsWlM0Z1UyOGdiMjVsSUhCdmMzTnBZbXhsWEc0dkx5QnVZVzFsSUdseklFOW1abk5qY21WbGJpNGdTRzkzWlhabGNpd2dhWFFnWVd4emJ5QnBibU5zZFdSbGN5QmtaV2g1WkhKaGRHVmtJRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSnBaWE1zWEc0dkx5QjNhR2xqYUNCaGNtVWdhVzVqYjI1emFYTjBaVzUwSUdsdUlIUm9aU0J6Wlc1elpTQjBhR0YwSUhSb1pYa2dhR0YyWlc0bmRDQm1hVzVwYzJobFpDQjVaWFFzSUdKMWRGeHVMeThnWVhKbGJpZDBJSFpwYzJsaWJIa2dhVzVqYjI1emFYTjBaVzUwSUdKbFkyRjFjMlVnZEdobElITmxjblpsY2lCeVpXNWtaWEpsWkNCSVZFMU1JRzFoZEdOb1pYTWdkMmhoZENCMGFHVmNiaTh2SUdoNVpISmhkR1ZrSUhSeVpXVWdkMjkxYkdRZ2JHOXZheUJzYVd0bExseHVYRzUyWVhJZ1RtVjJaWElnUFNBeE95QXZMeUJKWkd4bElHbHpJSE5zYVdkb2RHeDVJR2hwWjJobGNpQndjbWx2Y21sMGVTQjBhR0Z1SUU1bGRtVnlMaUJKZENCdGRYTjBJR052YlhCc1pYUmxiSGtnWm1sdWFYTm9JR2x1WEc0dkx5QnZjbVJsY2lCMGJ5QmlaU0JqYjI1emFYTjBaVzUwTGx4dVhHNTJZWElnU1dSc1pTQTlJREk3SUM4dklFTnZiblJwYm5WdmRYTWdTSGxrY21GMGFXOXVJR2x6SUhOc2FXZG9kR3g1SUdocFoyaGxjaUIwYUdGdUlFbGtiR1VnWVc1a0lHbHpJSFZ6WldRZ2RHOGdhVzVqY21WaGMyVmNiaTh2SUhCeWFXOXlhWFI1SUc5bUlHaHZkbVZ5SUhSaGNtZGxkSE11WEc1Y2JuWmhjaUJEYjI1MGFXNTFiM1Z6U0hsa2NtRjBhVzl1SUQwZ016dGNiblpoY2lCVGVXNWpJRDBnVFVGWVgxTkpSMDVGUkY4ek1WOUNTVlJmU1U1VU8xeHVkbUZ5SUVKaGRHTm9aV1FnUFNCVGVXNWpJQzBnTVR0Y2JuWmhjaUJWVGtsVVgxTkpXa1VnUFNBeE1EdGNiblpoY2lCTlFVZEpRMTlPVlUxQ1JWSmZUMFpHVTBWVUlEMGdRbUYwWTJobFpDQXRJREU3SUM4dklERWdkVzVwZENCdlppQmxlSEJwY21GMGFXOXVJSFJwYldVZ2NtVndjbVZ6Wlc1MGN5QXhNRzF6TGx4dVhHNW1kVzVqZEdsdmJpQnRjMVJ2Ulhod2FYSmhkR2x2YmxScGJXVW9iWE1wSUh0Y2JpQWdMeThnUVd4M1lYbHpJSE4xWW5SeVlXTjBJR1p5YjIwZ2RHaGxJRzltWm5ObGRDQnpieUIwYUdGMElIZGxJR1J2YmlkMElHTnNZWE5vSUhkcGRHZ2dkR2hsSUcxaFoybGpJRzUxYldKbGNpQm1iM0lnVG05WGIzSnJMbHh1SUNCeVpYUjFjbTRnVFVGSFNVTmZUbFZOUWtWU1gwOUdSbE5GVkNBdElDaHRjeUF2SUZWT1NWUmZVMGxhUlNCOElEQXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1pYaHdhWEpoZEdsdmJsUnBiV1ZVYjAxektHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSEpsZEhWeWJpQW9UVUZIU1VOZlRsVk5Ra1ZTWDA5R1JsTkZWQ0F0SUdWNGNHbHlZWFJwYjI1VWFXMWxLU0FxSUZWT1NWUmZVMGxhUlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWTJWcGJHbHVaeWh1ZFcwc0lIQnlaV05wYzJsdmJpa2dlMXh1SUNCeVpYUjFjbTRnS0NodWRXMGdMeUJ3Y21WamFYTnBiMjRnZkNBd0tTQXJJREVwSUNvZ2NISmxZMmx6YVc5dU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIyMXdkWFJsUlhod2FYSmhkR2x2YmtKMVkydGxkQ2hqZFhKeVpXNTBWR2x0WlN3Z1pYaHdhWEpoZEdsdmJrbHVUWE1zSUdKMVkydGxkRk5wZW1WTmN5a2dlMXh1SUNCeVpYUjFjbTRnVFVGSFNVTmZUbFZOUWtWU1gwOUdSbE5GVkNBdElHTmxhV3hwYm1jb1RVRkhTVU5mVGxWTlFrVlNYMDlHUmxORlZDQXRJR04xY25KbGJuUlVhVzFsSUNzZ1pYaHdhWEpoZEdsdmJrbHVUWE1nTHlCVlRrbFVYMU5KV2tVc0lHSjFZMnRsZEZOcGVtVk5jeUF2SUZWT1NWUmZVMGxhUlNrN1hHNTlJQzh2SUZSUFJFODZJRlJvYVhNZ1kyOXljbVZ6Y0c5dVpITWdkRzhnVTJOb1pXUjFiR1Z5SjNNZ1RtOXliV0ZzVUhKcGIzSnBkSGtzSUc1dmRDQk1iM2RRY21sdmNtbDBlUzRnVlhCa1lYUmxYRzR2THlCMGFHVWdibUZ0WlhNZ2RHOGdjbVZtYkdWamRDNWNibHh1WEc1MllYSWdURTlYWDFCU1NVOVNTVlJaWDBWWVVFbFNRVlJKVDA0Z1BTQTFNREF3TzF4dWRtRnlJRXhQVjE5UVVrbFBVa2xVV1Y5Q1FWUkRTRjlUU1ZwRklEMGdNalV3TzF4dVpuVnVZM1JwYjI0Z1kyOXRjSFYwWlVGemVXNWpSWGh3YVhKaGRHbHZiaWhqZFhKeVpXNTBWR2x0WlNrZ2UxeHVJQ0J5WlhSMWNtNGdZMjl0Y0hWMFpVVjRjR2x5WVhScGIyNUNkV05yWlhRb1kzVnljbVZ1ZEZScGJXVXNJRXhQVjE5UVVrbFBVa2xVV1Y5RldGQkpVa0ZVU1U5T0xDQk1UMWRmVUZKSlQxSkpWRmxmUWtGVVEwaGZVMGxhUlNrN1hHNTlYRzVtZFc1amRHbHZiaUJqYjIxd2RYUmxVM1Z6Y0dWdWMyVkZlSEJwY21GMGFXOXVLR04xY25KbGJuUlVhVzFsTENCMGFXMWxiM1YwVFhNcElIdGNiaUFnTHk4Z1ZFOUVUem9nVTJodmRXeGtJSGRsSUhkaGNtNGdhV1lnZEdsdFpXOTFkRTF6SUdseklHeHZkMlZ5SUhSb1lXNGdkR2hsSUc1dmNtMWhiQ0J3Y21rZ1pYaHdhWEpoZEdsdmJpQjBhVzFsUDF4dUlDQnlaWFIxY200Z1kyOXRjSFYwWlVWNGNHbHlZWFJwYjI1Q2RXTnJaWFFvWTNWeWNtVnVkRlJwYldVc0lIUnBiV1Z2ZFhSTmN5d2dURTlYWDFCU1NVOVNTVlJaWDBKQlZFTklYMU5KV2tVcE8xeHVmU0F2THlCWFpTQnBiblJsYm5ScGIyNWhiR3g1SUhObGRDQmhJR2hwWjJobGNpQmxlSEJwY21GMGFXOXVJSFJwYldVZ1ptOXlJR2x1ZEdWeVlXTjBhWFpsSUhWd1pHRjBaWE1nYVc1Y2JpOHZJR1JsZGlCMGFHRnVJR2x1SUhCeWIyUjFZM1JwYjI0dVhHNHZMMXh1THk4Z1NXWWdkR2hsSUcxaGFXNGdkR2h5WldGa0lHbHpJR0psYVc1bklHSnNiMk5yWldRZ2MyOGdiRzl1WnlCMGFHRjBJSGx2ZFNCb2FYUWdkR2hsSUdWNGNHbHlZWFJwYjI0c1hHNHZMeUJwZENkeklHRWdjSEp2WW14bGJTQjBhR0YwSUdOdmRXeGtJR0psSUhOdmJIWmxaQ0IzYVhSb0lHSmxkSFJsY2lCelkyaGxaSFZzYVc1bkxseHVMeTljYmk4dklGQmxiM0JzWlNCM2FXeHNJR0psSUcxdmNtVWdiR2xyWld4NUlIUnZJRzV2ZEdsalpTQjBhR2x6SUdGdVpDQm1hWGdnYVhRZ2QybDBhQ0IwYUdVZ2JHOXVaMXh1THk4Z1pYaHdhWEpoZEdsdmJpQjBhVzFsSUdsdUlHUmxkbVZzYjNCdFpXNTBMbHh1THk5Y2JpOHZJRWx1SUhCeWIyUjFZM1JwYjI0Z2QyVWdiM0IwSUdadmNpQmlaWFIwWlhJZ1ZWZ2dZWFFnZEdobElISnBjMnNnYjJZZ2JXRnphMmx1WnlCelkyaGxaSFZzYVc1blhHNHZMeUJ3Y205aWJHVnRjeXdnWW5rZ1pYaHdhWEpwYm1jZ1ptRnpkQzVjYmx4dWRtRnlJRWhKUjBoZlVGSkpUMUpKVkZsZlJWaFFTVkpCVkVsUFRpQTlJQ0ExTURBZ08xeHVkbUZ5SUVoSlIwaGZVRkpKVDFKSlZGbGZRa0ZVUTBoZlUwbGFSU0E5SURFd01EdGNibVoxYm1OMGFXOXVJR052YlhCMWRHVkpiblJsY21GamRHbDJaVVY0Y0dseVlYUnBiMjRvWTNWeWNtVnVkRlJwYldVcElIdGNiaUFnY21WMGRYSnVJR052YlhCMWRHVkZlSEJwY21GMGFXOXVRblZqYTJWMEtHTjFjbkpsYm5SVWFXMWxMQ0JJU1VkSVgxQlNTVTlTU1ZSWlgwVllVRWxTUVZSSlQwNHNJRWhKUjBoZlVGSkpUMUpKVkZsZlFrRlVRMGhmVTBsYVJTazdYRzU5WEc1bWRXNWpkR2x2YmlCcGJtWmxjbEJ5YVc5eWFYUjVSbkp2YlVWNGNHbHlZWFJwYjI1VWFXMWxLR04xY25KbGJuUlVhVzFsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQVDA5SUZONWJtTXBJSHRjYmlBZ0lDQnlaWFIxY200Z1NXMXRaV1JwWVhSbFVISnBiM0pwZEhrN1hHNGdJSDFjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQVDA5SUU1bGRtVnlJSHg4SUdWNGNHbHlZWFJwYjI1VWFXMWxJRDA5UFNCSlpHeGxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlFbGtiR1ZRY21sdmNtbDBlVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnRjMVZ1ZEdsc0lEMGdaWGh3YVhKaGRHbHZibFJwYldWVWIwMXpLR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQXRJR1Y0Y0dseVlYUnBiMjVVYVcxbFZHOU5jeWhqZFhKeVpXNTBWR2x0WlNrN1hHNWNiaUFnYVdZZ0tHMXpWVzUwYVd3Z1BEMGdNQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkpiVzFsWkdsaGRHVlFjbWx2Y21sMGVUdGNiaUFnZlZ4dVhHNGdJR2xtSUNodGMxVnVkR2xzSUR3OUlFaEpSMGhmVUZKSlQxSkpWRmxmUlZoUVNWSkJWRWxQVGlBcklFaEpSMGhmVUZKSlQxSkpWRmxmUWtGVVEwaGZVMGxhUlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJWYzJWeVFteHZZMnRwYm1kUWNtbHZjbWwwZVNReE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0cxelZXNTBhV3dnUEQwZ1RFOVhYMUJTU1U5U1NWUlpYMFZZVUVsU1FWUkpUMDRnS3lCTVQxZGZVRkpKVDFKSlZGbGZRa0ZVUTBoZlUwbGFSU2tnZTF4dUlDQWdJSEpsZEhWeWJpQk9iM0p0WVd4UWNtbHZjbWwwZVR0Y2JpQWdmU0F2THlCVVQwUlBPaUJJWVc1a2JHVWdURzkzVUhKcGIzSnBkSGxjYmlBZ0x5OGdRWE56ZFcxbElHRnVlWFJvYVc1bklHeHZkMlZ5SUdoaGN5QnBaR3hsSUhCeWFXOXlhWFI1WEc1Y2JseHVJQ0J5WlhSMWNtNGdTV1JzWlZCeWFXOXlhWFI1TzF4dWZWeHVYRzUyWVhJZ1VtVmhZM1JUZEhKcFkzUk5iMlJsVjJGeWJtbHVaM01nUFNCN1hHNGdJSEpsWTI5eVpGVnVjMkZtWlV4cFptVmplV05zWlZkaGNtNXBibWR6T2lCbWRXNWpkR2x2YmlBb1ptbGlaWElzSUdsdWMzUmhibU5sS1NCN2ZTeGNiaUFnWm14MWMyaFFaVzVrYVc1blZXNXpZV1psVEdsbVpXTjVZMnhsVjJGeWJtbHVaM002SUdaMWJtTjBhVzl1SUNncElIdDlMRnh1SUNCeVpXTnZjbVJNWldkaFkzbERiMjUwWlhoMFYyRnlibWx1WnpvZ1puVnVZM1JwYjI0Z0tHWnBZbVZ5TENCcGJuTjBZVzVqWlNrZ2UzMHNYRzRnSUdac2RYTm9UR1ZuWVdONVEyOXVkR1Y0ZEZkaGNtNXBibWM2SUdaMWJtTjBhVzl1SUNncElIdDlMRnh1SUNCa2FYTmpZWEprVUdWdVpHbHVaMWRoY201cGJtZHpPaUJtZFc1amRHbHZiaUFvS1NCN2ZWeHVmVHRjYmx4dWUxeHVJQ0IyWVhJZ1ptbHVaRk4wY21samRGSnZiM1FnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdJQ0IyWVhJZ2JXRjVZbVZUZEhKcFkzUlNiMjkwSUQwZ2JuVnNiRHRjYmlBZ0lDQjJZWElnYm05a1pTQTlJR1pwWW1WeU8xeHVYRzRnSUNBZ2QyaHBiR1VnS0c1dlpHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2xtSUNodWIyUmxMbTF2WkdVZ0ppQlRkSEpwWTNSTmIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUcxaGVXSmxVM1J5YVdOMFVtOXZkQ0E5SUc1dlpHVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2JXRjVZbVZUZEhKcFkzUlNiMjkwTzF4dUlDQjlPMXh1WEc0Z0lIWmhjaUJ6WlhSVWIxTnZjblJsWkZOMGNtbHVaeUE5SUdaMWJtTjBhVzl1SUNoelpYUXBJSHRjYmlBZ0lDQjJZWElnWVhKeVlYa2dQU0JiWFR0Y2JpQWdJQ0J6WlhRdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUdGeWNtRjVMbkIxYzJnb2RtRnNkV1VwTzF4dUlDQWdJSDBwTzF4dUlDQWdJSEpsZEhWeWJpQmhjbkpoZVM1emIzSjBLQ2t1YW05cGJpZ25MQ0FuS1R0Y2JpQWdmVHRjYmx4dUlDQjJZWElnY0dWdVpHbHVaME52YlhCdmJtVnVkRmRwYkd4TmIzVnVkRmRoY201cGJtZHpJRDBnVzEwN1hHNGdJSFpoY2lCd1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4TmIzVnVkRmRoY201cGJtZHpJRDBnVzEwN1hHNGdJSFpoY2lCd1pXNWthVzVuUTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMWRoY201cGJtZHpJRDBnVzEwN1hHNGdJSFpoY2lCd1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4U1pXTmxhWFpsVUhKdmNITlhZWEp1YVc1bmN5QTlJRnRkTzF4dUlDQjJZWElnY0dWdVpHbHVaME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeUE5SUZ0ZE8xeHVJQ0IyWVhJZ2NHVnVaR2x1WjFWT1UwRkdSVjlEYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsVjJGeWJtbHVaM01nUFNCYlhUc2dMeThnVkhKaFkydHpJR052YlhCdmJtVnVkSE1nZDJVZ2FHRjJaU0JoYkhKbFlXUjVJSGRoY201bFpDQmhZbTkxZEM1Y2JseHVJQ0IyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBWVzV6WVdabFRHbG1aV041WTJ4bGN5QTlJRzVsZHlCVFpYUW9LVHRjYmx4dUlDQlNaV0ZqZEZOMGNtbGpkRTF2WkdWWFlYSnVhVzVuY3k1eVpXTnZjbVJWYm5OaFptVk1hV1psWTNsamJHVlhZWEp1YVc1bmN5QTlJR1oxYm1OMGFXOXVJQ2htYVdKbGNpd2dhVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQXZMeUJFWldSMWNDQnpkSEpoZEdWbmVUb2dWMkZ5YmlCdmJtTmxJSEJsY2lCamIyMXdiMjVsYm5RdVhHNGdJQ0FnYVdZZ0tHUnBaRmRoY201QlltOTFkRlZ1YzJGbVpVeHBabVZqZVdOc1pYTXVhR0Z6S0dacFltVnlMblI1Y0dVcEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SWGFXeHNUVzkxYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0x5OGdSRzl1SjNRZ2QyRnliaUJoWW05MWRDQnlaV0ZqZEMxc2FXWmxZM2xqYkdWekxXTnZiWEJoZENCd2IyeDVabWxzYkdWa0lHTnZiWEJ2Ym1WdWRITXVYRzRnSUNBZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MExsOWZjM1Z3Y0hKbGMzTkVaWEJ5WldOaGRHbHZibGRoY201cGJtY2dJVDA5SUhSeWRXVXBJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUlhZWEp1YVc1bmN5NXdkWE5vS0dacFltVnlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWm1saVpYSXViVzlrWlNBbUlGTjBjbWxqZEUxdlpHVWdKaVlnZEhsd1pXOW1JR2x1YzNSaGJtTmxMbFZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lIQmxibVJwYm1kVlRsTkJSa1ZmUTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwVjJGeWJtbHVaM011Y0hWemFDaG1hV0psY2lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE11WDE5emRYQndjbVZ6YzBSbGNISmxZMkYwYVc5dVYyRnlibWx1WnlBaFBUMGdkSEoxWlNrZ2UxeHVJQ0FnSUNBZ2NHVnVaR2x1WjBOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5YWVhKdWFXNW5jeTV3ZFhOb0tHWnBZbVZ5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1ptbGlaWEl1Ylc5a1pTQW1JRk4wY21samRFMXZaR1VnSmlZZ2RIbHdaVzltSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQndaVzVrYVc1blZVNVRRVVpGWDBOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5YWVhKdWFXNW5jeTV3ZFhOb0tHWnBZbVZ5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeFZjR1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpTNWZYM04xY0hCeVpYTnpSR1Z3Y21WallYUnBiMjVYWVhKdWFXNW5JQ0U5UFNCMGNuVmxLU0I3WEc0Z0lDQWdJQ0J3Wlc1a2FXNW5RMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVmRoY201cGJtZHpMbkIxYzJnb1ptbGlaWElwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobWFXSmxjaTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU0FtSmlCMGVYQmxiMllnYVc1emRHRnVZMlV1VlU1VFFVWkZYMk52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1VnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZFZUbE5CUmtWZlEyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpWZGhjbTVwYm1kekxuQjFjMmdvWm1saVpYSXBPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0JTWldGamRGTjBjbWxqZEUxdlpHVlhZWEp1YVc1bmN5NW1iSFZ6YUZCbGJtUnBibWRWYm5OaFptVk1hV1psWTNsamJHVlhZWEp1YVc1bmN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0F2THlCWFpTQmtieUJoYmlCcGJtbDBhV0ZzSUhCaGMzTWdkRzhnWjJGMGFHVnlJR052YlhCdmJtVnVkQ0J1WVcxbGMxeHVJQ0FnSUhaaGNpQmpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUlZibWx4ZFdWT1lXMWxjeUE5SUc1bGR5QlRaWFFvS1R0Y2JseHVJQ0FnSUdsbUlDaHdaVzVrYVc1blEyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MFYyRnlibWx1WjNNdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdjR1Z1WkdsdVowTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGZGhjbTVwYm1kekxtWnZja1ZoWTJnb1puVnVZM1JwYjI0Z0tHWnBZbVZ5S1NCN1hHNGdJQ0FnSUNBZ0lHTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGVnVhWEYxWlU1aGJXVnpMbUZrWkNoblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0dacFltVnlMblI1Y0dVcElIeDhJQ2REYjIxd2IyNWxiblFuS1R0Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBWVzV6WVdabFRHbG1aV041WTJ4bGN5NWhaR1FvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIQmxibVJwYm1kRGIyMXdiMjVsYm5SWGFXeHNUVzkxYm5SWFlYSnVhVzVuY3lBOUlGdGRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWVzVwY1hWbFRtRnRaWE1nUFNCdVpYY2dVMlYwS0NrN1hHNWNiaUFnSUNCcFppQW9jR1Z1WkdsdVoxVk9VMEZHUlY5RGIyMXdiMjVsYm5SWGFXeHNUVzkxYm5SWFlYSnVhVzVuY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQndaVzVrYVc1blZVNVRRVVpGWDBOdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZEZkaGNtNXBibWR6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0dacFltVnlLU0I3WEc0Z0lDQWdJQ0FnSUZWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1RXOTFiblJWYm1seGRXVk9ZVzFsY3k1aFpHUW9aMlYwUTI5dGNHOXVaVzUwVG1GdFpTaG1hV0psY2k1MGVYQmxLU0I4ZkNBblEyOXRjRzl1Wlc1MEp5azdYRzRnSUNBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEZWdWMyRm1aVXhwWm1WamVXTnNaWE11WVdSa0tHWnBZbVZ5TG5SNWNHVXBPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0J3Wlc1a2FXNW5WVTVUUVVaRlgwTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGZGhjbTVwYm1keklEMGdXMTA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5WYm1seGRXVk9ZVzFsY3lBOUlHNWxkeUJUWlhRb0tUdGNibHh1SUNBZ0lHbG1JQ2h3Wlc1a2FXNW5RMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2MxZGhjbTVwYm1kekxteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCelYyRnlibWx1WjNNdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXRjRzl1Wlc1MFYybHNiRkpsWTJWcGRtVlFjbTl3YzFWdWFYRjFaVTVoYldWekxtRmtaQ2huWlhSRGIyMXdiMjVsYm5ST1lXMWxLR1pwWW1WeUxuUjVjR1VwSUh4OElDZERiMjF3YjI1bGJuUW5LVHRjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFZXNXpZV1psVEdsbVpXTjVZMnhsY3k1aFpHUW9abWxpWlhJdWRIbHdaU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhCbGJtUnBibWREYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpWMkZ5Ym1sdVozTWdQU0JiWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5WYm1seGRXVk9ZVzFsY3lBOUlHNWxkeUJUWlhRb0tUdGNibHh1SUNBZ0lHbG1JQ2h3Wlc1a2FXNW5WVTVUUVVaRlgwTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hOWFlYSnVhVzVuY3k1c1pXNW5kR2dnUGlBd0tTQjdYRzRnSUNBZ0lDQndaVzVrYVc1blZVNVRRVVpGWDBOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE5YWVhKdWFXNW5jeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2htYVdKbGNpa2dlMXh1SUNBZ0lDQWdJQ0JWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2MxVnVhWEYxWlU1aGJXVnpMbUZrWkNoblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0dacFltVnlMblI1Y0dVcElIeDhJQ2REYjIxd2IyNWxiblFuS1R0Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBWVzV6WVdabFRHbG1aV041WTJ4bGN5NWhaR1FvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIQmxibVJwYm1kVlRsTkJSa1ZmUTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMWRoY201cGJtZHpJRDBnVzEwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTnZiWEJ2Ym1WdWRGZHBiR3hWY0dSaGRHVlZibWx4ZFdWT1lXMWxjeUE5SUc1bGR5QlRaWFFvS1R0Y2JseHVJQ0FnSUdsbUlDaHdaVzVrYVc1blEyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpWZGhjbTVwYm1kekxteGxibWQwYUNBK0lEQXBJSHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxWMkZ5Ym1sdVozTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9abWxpWlhJcElIdGNiaUFnSUNBZ0lDQWdZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6TG1Ga1pDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtHWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVlc1ellXWmxUR2xtWldONVkyeGxjeTVoWkdRb1ptbGlaWEl1ZEhsd1pTazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSEJsYm1ScGJtZERiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxWMkZ5Ym1sdVozTWdQU0JiWFR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFZjR1JoZEdWVmJtbHhkV1ZPWVcxbGN5QTlJRzVsZHlCVFpYUW9LVHRjYmx4dUlDQWdJR2xtSUNod1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeTVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnSUNCd1pXNWthVzVuVlU1VFFVWkZYME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeTVtYjNKRllXTm9LR1oxYm1OMGFXOXVJQ2htYVdKbGNpa2dlMXh1SUNBZ0lDQWdJQ0JWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6TG1Ga1pDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtHWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVlc1ellXWmxUR2xtWldONVkyeGxjeTVoWkdRb1ptbGlaWEl1ZEhsd1pTazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQWdJSEJsYm1ScGJtZFZUbE5CUmtWZlEyOXRjRzl1Wlc1MFYybHNiRlZ3WkdGMFpWZGhjbTVwYm1keklEMGdXMTA3WEc0Z0lDQWdmU0F2THlCR2FXNWhiR3g1TENCM1pTQm1iSFZ6YUNCaGJHd2dkR2hsSUhkaGNtNXBibWR6WEc0Z0lDQWdMeThnVlU1VFFVWkZYeUJ2Ym1WeklHSmxabTl5WlNCMGFHVWdaR1Z3Y21WallYUmxaQ0J2Ym1WekxDQnphVzVqWlNCMGFHVjVKMnhzSUdKbElDZHNiM1ZrWlhJblhHNWNibHh1SUNBZ0lHbG1JQ2hWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWVzVwY1hWbFRtRnRaWE11YzJsNlpTQStJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQnpiM0owWldST1lXMWxjeUE5SUhObGRGUnZVMjl5ZEdWa1UzUnlhVzVuS0ZWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1RXOTFiblJWYm1seGRXVk9ZVzFsY3lrN1hHNWNiaUFnSUNBZ0lHVnljbTl5S0NkVmMybHVaeUJWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBJR2x1SUhOMGNtbGpkQ0J0YjJSbElHbHpJRzV2ZENCeVpXTnZiVzFsYm1SbFpDQmhibVFnYldGNUlHbHVaR2xqWVhSbElHSjFaM01nYVc0Z2VXOTFjaUJqYjJSbExpQW5JQ3NnSjFObFpTQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWFZ1YzJGbVpTMWpiMjF3YjI1bGJuUXRiR2xtWldONVkyeGxjeUJtYjNJZ1pHVjBZV2xzY3k1Y1hHNWNYRzRuSUNzZ0p5b2dUVzkyWlNCamIyUmxJSGRwZEdnZ2MybGtaU0JsWm1abFkzUnpJSFJ2SUdOdmJYQnZibVZ1ZEVScFpFMXZkVzUwTENCaGJtUWdjMlYwSUdsdWFYUnBZV3dnYzNSaGRHVWdhVzRnZEdobElHTnZibk4wY25WamRHOXlMbHhjYmljZ0t5QW5YRnh1VUd4bFlYTmxJSFZ3WkdGMFpTQjBhR1VnWm05c2JHOTNhVzVuSUdOdmJYQnZibVZ1ZEhNNklDVnpKeXdnYzI5eWRHVmtUbUZ0WlhNcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaFZUbE5CUmtWZlkyOXRjRzl1Wlc1MFYybHNiRkpsWTJWcGRtVlFjbTl3YzFWdWFYRjFaVTVoYldWekxuTnBlbVVnUGlBd0tTQjdYRzRnSUNBZ0lDQjJZWElnWDNOdmNuUmxaRTVoYldWeklEMGdjMlYwVkc5VGIzSjBaV1JUZEhKcGJtY29WVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hOVmJtbHhkV1ZPWVcxbGN5azdYRzVjYmlBZ0lDQWdJR1Z5Y205eUtDZFZjMmx1WnlCVlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeUJwYmlCemRISnBZM1FnYlc5a1pTQnBjeUJ1YjNRZ2NtVmpiMjF0Wlc1a1pXUWdKeUFySUNkaGJtUWdiV0Y1SUdsdVpHbGpZWFJsSUdKMVozTWdhVzRnZVc5MWNpQmpiMlJsTGlBbklDc2dKMU5sWlNCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExYVnVjMkZtWlMxamIyMXdiMjVsYm5RdGJHbG1aV041WTJ4bGN5Qm1iM0lnWkdWMFlXbHNjeTVjWEc1Y1hHNG5JQ3NnSnlvZ1RXOTJaU0JrWVhSaElHWmxkR05vYVc1bklHTnZaR1VnYjNJZ2MybGtaU0JsWm1abFkzUnpJSFJ2SUdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlM1Y1hHNG5JQ3NnWENJcUlFbG1JSGx2ZFNkeVpTQjFjR1JoZEdsdVp5QnpkR0YwWlNCM2FHVnVaWFpsY2lCd2NtOXdjeUJqYUdGdVoyVXNJRndpSUNzZ0ozSmxabUZqZEc5eUlIbHZkWElnWTI5a1pTQjBieUIxYzJVZ2JXVnRiMmw2WVhScGIyNGdkR1ZqYUc1cGNYVmxjeUJ2Y2lCdGIzWmxJR2wwSUhSdklDY2dLeUFuYzNSaGRHbGpJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5NGdUR1ZoY200Z2JXOXlaU0JoZERvZ2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMWtaWEpwZG1Wa0xYTjBZWFJsWEZ4dUp5QXJJQ2RjWEc1UWJHVmhjMlVnZFhCa1lYUmxJSFJvWlNCbWIyeHNiM2RwYm1jZ1kyOXRjRzl1Wlc1MGN6b2dKWE1uTENCZmMyOXlkR1ZrVG1GdFpYTXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6TG5OcGVtVWdQaUF3S1NCN1hHNGdJQ0FnSUNCMllYSWdYM052Y25SbFpFNWhiV1Z6TWlBOUlITmxkRlJ2VTI5eWRHVmtVM1J5YVc1bktGVk9VMEZHUlY5amIyMXdiMjVsYm5SWGFXeHNWWEJrWVhSbFZXNXBjWFZsVG1GdFpYTXBPMXh1WEc0Z0lDQWdJQ0JsY25KdmNpZ25WWE5wYm1jZ1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFZjR1JoZEdVZ2FXNGdjM1J5YVdOMElHMXZaR1VnYVhNZ2JtOTBJSEpsWTI5dGJXVnVaR1ZrSUNjZ0t5QW5ZVzVrSUcxaGVTQnBibVJwWTJGMFpTQmlkV2R6SUdsdUlIbHZkWElnWTI5a1pTNGdKeUFySUNkVFpXVWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzExYm5OaFptVXRZMjl0Y0c5dVpXNTBMV3hwWm1WamVXTnNaWE1nWm05eUlHUmxkR0ZwYkhNdVhGeHVYRnh1SnlBcklDY3FJRTF2ZG1VZ1pHRjBZU0JtWlhSamFHbHVaeUJqYjJSbElHOXlJSE5wWkdVZ1pXWm1aV04wY3lCMGJ5QmpiMjF3YjI1bGJuUkVhV1JWY0dSaGRHVXVYRnh1SnlBcklDZGNYRzVRYkdWaGMyVWdkWEJrWVhSbElIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dGNHOXVaVzUwY3pvZ0pYTW5MQ0JmYzI5eWRHVmtUbUZ0WlhNeUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWVzVwY1hWbFRtRnRaWE11YzJsNlpTQStJREFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmZjMjl5ZEdWa1RtRnRaWE16SUQwZ2MyVjBWRzlUYjNKMFpXUlRkSEpwYm1jb1kyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MFZXNXBjWFZsVG1GdFpYTXBPMXh1WEc0Z0lDQWdJQ0IzWVhKdUtDZGpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdhR0Z6SUdKbFpXNGdjbVZ1WVcxbFpDd2dZVzVrSUdseklHNXZkQ0J5WldOdmJXMWxibVJsWkNCbWIzSWdkWE5sTGlBbklDc2dKMU5sWlNCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExYVnVjMkZtWlMxamIyMXdiMjVsYm5RdGJHbG1aV041WTJ4bGN5Qm1iM0lnWkdWMFlXbHNjeTVjWEc1Y1hHNG5JQ3NnSnlvZ1RXOTJaU0JqYjJSbElIZHBkR2dnYzJsa1pTQmxabVpsWTNSeklIUnZJR052YlhCdmJtVnVkRVJwWkUxdmRXNTBMQ0JoYm1RZ2MyVjBJR2x1YVhScFlXd2djM1JoZEdVZ2FXNGdkR2hsSUdOdmJuTjBjblZqZEc5eUxseGNiaWNnS3lBbktpQlNaVzVoYldVZ1kyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MElIUnZJRlZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdkRzhnYzNWd2NISmxjM01nSnlBcklDZDBhR2x6SUhkaGNtNXBibWNnYVc0Z2JtOXVMWE4wY21samRDQnRiMlJsTGlCSmJpQlNaV0ZqZENBeE55NTRMQ0J2Ym14NUlIUm9aU0JWVGxOQlJrVmZJRzVoYldVZ2QybHNiQ0IzYjNKckxpQW5JQ3NnSjFSdklISmxibUZ0WlNCaGJHd2daR1Z3Y21WallYUmxaQ0JzYVdabFkzbGpiR1Z6SUhSdklIUm9aV2x5SUc1bGR5QnVZVzFsY3l3Z2VXOTFJR05oYmlCeWRXNGdKeUFySUNkZ2JuQjRJSEpsWVdOMExXTnZaR1Z0YjJRZ2NtVnVZVzFsTFhWdWMyRm1aUzFzYVdabFkzbGpiR1Z6WUNCcGJpQjViM1Z5SUhCeWIycGxZM1FnYzI5MWNtTmxJR1p2YkdSbGNpNWNYRzRuSUNzZ0oxeGNibEJzWldGelpTQjFjR1JoZEdVZ2RHaGxJR1p2Ykd4dmQybHVaeUJqYjIxd2IyNWxiblJ6T2lBbGN5Y3NJRjl6YjNKMFpXUk9ZVzFsY3pNcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCelZXNXBjWFZsVG1GdFpYTXVjMmw2WlNBK0lEQXBJSHRjYmlBZ0lDQWdJSFpoY2lCZmMyOXlkR1ZrVG1GdFpYTTBJRDBnYzJWMFZHOVRiM0owWldSVGRISnBibWNvWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMVZ1YVhGMVpVNWhiV1Z6S1R0Y2JseHVJQ0FnSUNBZ2QyRnliaWduWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeUJvWVhNZ1ltVmxiaUJ5Wlc1aGJXVmtMQ0JoYm1RZ2FYTWdibTkwSUhKbFkyOXRiV1Z1WkdWa0lHWnZjaUIxYzJVdUlDY2dLeUFuVTJWbElHaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRkVzV6WVdabExXTnZiWEJ2Ym1WdWRDMXNhV1psWTNsamJHVnpJR1p2Y2lCa1pYUmhhV3h6TGx4Y2JseGNiaWNnS3lBbktpQk5iM1psSUdSaGRHRWdabVYwWTJocGJtY2dZMjlrWlNCdmNpQnphV1JsSUdWbVptVmpkSE1nZEc4Z1kyOXRjRzl1Wlc1MFJHbGtWWEJrWVhSbExseGNiaWNnS3lCY0lpb2dTV1lnZVc5MUozSmxJSFZ3WkdGMGFXNW5JSE4wWVhSbElIZG9aVzVsZG1WeUlIQnliM0J6SUdOb1lXNW5aU3dnY21WbVlXTjBiM0lnZVc5MWNpQmNJaUFySUNkamIyUmxJSFJ2SUhWelpTQnRaVzF2YVhwaGRHbHZiaUIwWldOb2JtbHhkV1Z6SUc5eUlHMXZkbVVnYVhRZ2RHOGdKeUFySUNkemRHRjBhV01nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpMaUJNWldGeWJpQnRiM0psSUdGME9pQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMV1JsY21sMlpXUXRjM1JoZEdWY1hHNG5JQ3NnSnlvZ1VtVnVZVzFsSUdOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1nZEc4Z1ZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1nZEc4Z2MzVndjSEpsYzNNZ0p5QXJJQ2QwYUdseklIZGhjbTVwYm1jZ2FXNGdibTl1TFhOMGNtbGpkQ0J0YjJSbExpQkpiaUJTWldGamRDQXhOeTU0TENCdmJteDVJSFJvWlNCVlRsTkJSa1ZmSUc1aGJXVWdkMmxzYkNCM2IzSnJMaUFuSUNzZ0oxUnZJSEpsYm1GdFpTQmhiR3dnWkdWd2NtVmpZWFJsWkNCc2FXWmxZM2xqYkdWeklIUnZJSFJvWldseUlHNWxkeUJ1WVcxbGN5d2dlVzkxSUdOaGJpQnlkVzRnSnlBcklDZGdibkI0SUhKbFlXTjBMV052WkdWdGIyUWdjbVZ1WVcxbExYVnVjMkZtWlMxc2FXWmxZM2xqYkdWellDQnBiaUI1YjNWeUlIQnliMnBsWTNRZ2MyOTFjbU5sSUdadmJHUmxjaTVjWEc0bklDc2dKMXhjYmxCc1pXRnpaU0IxY0dSaGRHVWdkR2hsSUdadmJHeHZkMmx1WnlCamIyMXdiMjVsYm5Sek9pQWxjeWNzSUY5emIzSjBaV1JPWVcxbGN6UXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hqYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsVlc1cGNYVmxUbUZ0WlhNdWMybDZaU0ErSURBcElIdGNiaUFnSUNBZ0lIWmhjaUJmYzI5eWRHVmtUbUZ0WlhNMUlEMGdjMlYwVkc5VGIzSjBaV1JUZEhKcGJtY29ZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVlZ1YVhGMVpVNWhiV1Z6S1R0Y2JseHVJQ0FnSUNBZ2QyRnliaWduWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNCb1lYTWdZbVZsYmlCeVpXNWhiV1ZrTENCaGJtUWdhWE1nYm05MElISmxZMjl0YldWdVpHVmtJR1p2Y2lCMWMyVXVJQ2NnS3lBblUyVmxJR2gwZEhCek9pOHZabUl1YldVdmNtVmhZM1F0ZFc1ellXWmxMV052YlhCdmJtVnVkQzFzYVdabFkzbGpiR1Z6SUdadmNpQmtaWFJoYVd4ekxseGNibHhjYmljZ0t5QW5LaUJOYjNabElHUmhkR0VnWm1WMFkyaHBibWNnWTI5a1pTQnZjaUJ6YVdSbElHVm1abVZqZEhNZ2RHOGdZMjl0Y0c5dVpXNTBSR2xrVlhCa1lYUmxMbHhjYmljZ0t5QW5LaUJTWlc1aGJXVWdZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU0IwYnlCVlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNCMGJ5QnpkWEJ3Y21WemN5QW5JQ3NnSjNSb2FYTWdkMkZ5Ym1sdVp5QnBiaUJ1YjI0dGMzUnlhV04wSUcxdlpHVXVJRWx1SUZKbFlXTjBJREUzTG5nc0lHOXViSGtnZEdobElGVk9VMEZHUlY4Z2JtRnRaU0IzYVd4c0lIZHZjbXN1SUNjZ0t5QW5WRzhnY21WdVlXMWxJR0ZzYkNCa1pYQnlaV05oZEdWa0lHeHBabVZqZVdOc1pYTWdkRzhnZEdobGFYSWdibVYzSUc1aGJXVnpMQ0I1YjNVZ1kyRnVJSEoxYmlBbklDc2dKMkJ1Y0hnZ2NtVmhZM1F0WTI5a1pXMXZaQ0J5Wlc1aGJXVXRkVzV6WVdabExXeHBabVZqZVdOc1pYTmdJR2x1SUhsdmRYSWdjSEp2YW1WamRDQnpiM1Z5WTJVZ1ptOXNaR1Z5TGx4Y2JpY2dLeUFuWEZ4dVVHeGxZWE5sSUhWd1pHRjBaU0IwYUdVZ1ptOXNiRzkzYVc1bklHTnZiWEJ2Ym1WdWRITTZJQ1Z6Snl3Z1gzTnZjblJsWkU1aGJXVnpOU2s3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUhaaGNpQndaVzVrYVc1blRHVm5ZV041UTI5dWRHVjRkRmRoY201cGJtY2dQU0J1WlhjZ1RXRndLQ2s3SUM4dklGUnlZV05yY3lCamIyMXdiMjVsYm5SeklIZGxJR2hoZG1VZ1lXeHlaV0ZrZVNCM1lYSnVaV1FnWVdKdmRYUXVYRzVjYmlBZ2RtRnlJR1JwWkZkaGNtNUJZbTkxZEV4bFoyRmplVU52Ym5SbGVIUWdQU0J1WlhjZ1UyVjBLQ2s3WEc1Y2JpQWdVbVZoWTNSVGRISnBZM1JOYjJSbFYyRnlibWx1WjNNdWNtVmpiM0prVEdWbllXTjVRMjl1ZEdWNGRGZGhjbTVwYm1jZ1BTQm1kVzVqZEdsdmJpQW9abWxpWlhJc0lHbHVjM1JoYm1ObEtTQjdYRzRnSUNBZ2RtRnlJSE4wY21samRGSnZiM1FnUFNCbWFXNWtVM1J5YVdOMFVtOXZkQ2htYVdKbGNpazdYRzVjYmlBZ0lDQnBaaUFvYzNSeWFXTjBVbTl2ZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUhSdklHWnBibVFnWVNCVGRISnBZM1JOYjJSbElHTnZiWEJ2Ym1WdWRDQnBiaUJoSUhOMGNtbGpkQ0J0YjJSbElIUnlaV1V1SUNjZ0t5QW5WR2hwY3lCbGNuSnZjaUJwY3lCc2FXdGxiSGtnWTJGMWMyVmtJR0o1SUdFZ1luVm5JR2x1SUZKbFlXTjBMaUJRYkdWaGMyVWdabWxzWlNCaGJpQnBjM04xWlM0bktUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdSR1ZrZFhBZ2MzUnlZWFJsWjNrNklGZGhjbTRnYjI1alpTQndaWElnWTI5dGNHOXVaVzUwTGx4dVhHNWNiaUFnSUNCcFppQW9aR2xrVjJGeWJrRmliM1YwVEdWbllXTjVRMjl1ZEdWNGRDNW9ZWE1vWm1saVpYSXVkSGx3WlNrcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2QyRnlibWx1WjNOR2IzSlNiMjkwSUQwZ2NHVnVaR2x1WjB4bFoyRmplVU52Ym5SbGVIUlhZWEp1YVc1bkxtZGxkQ2h6ZEhKcFkzUlNiMjkwS1R0Y2JseHVJQ0FnSUdsbUlDaG1hV0psY2k1MGVYQmxMbU52Ym5SbGVIUlVlWEJsY3lBaFBTQnVkV3hzSUh4OElHWnBZbVZ5TG5SNWNHVXVZMmhwYkdSRGIyNTBaWGgwVkhsd1pYTWdJVDBnYm5Wc2JDQjhmQ0JwYm5OMFlXNWpaU0FoUFQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnYVc1emRHRnVZMlV1WjJWMFEyaHBiR1JEYjI1MFpYaDBJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQnBaaUFvZDJGeWJtbHVaM05HYjNKU2IyOTBJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdkMkZ5Ym1sdVozTkdiM0pTYjI5MElEMGdXMTA3WEc0Z0lDQWdJQ0FnSUhCbGJtUnBibWRNWldkaFkzbERiMjUwWlhoMFYyRnlibWx1Wnk1elpYUW9jM1J5YVdOMFVtOXZkQ3dnZDJGeWJtbHVaM05HYjNKU2IyOTBLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZDJGeWJtbHVaM05HYjNKU2IyOTBMbkIxYzJnb1ptbGlaWElwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCU1pXRmpkRk4wY21samRFMXZaR1ZYWVhKdWFXNW5jeTVtYkhWemFFeGxaMkZqZVVOdmJuUmxlSFJYWVhKdWFXNW5JRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhCbGJtUnBibWRNWldkaFkzbERiMjUwWlhoMFYyRnlibWx1Wnk1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNobWFXSmxja0Z5Y21GNUxDQnpkSEpwWTNSU2IyOTBLU0I3WEc0Z0lDQWdJQ0JwWmlBb1ptbGlaWEpCY25KaGVTNXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMllYSWdabWx5YzNSR2FXSmxjaUE5SUdacFltVnlRWEp5WVhsYk1GMDdYRzRnSUNBZ0lDQjJZWElnZFc1cGNYVmxUbUZ0WlhNZ1BTQnVaWGNnVTJWMEtDazdYRzRnSUNBZ0lDQm1hV0psY2tGeWNtRjVMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR1pwWW1WeUtTQjdYRzRnSUNBZ0lDQWdJSFZ1YVhGMVpVNWhiV1Z6TG1Ga1pDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtHWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVEdWbllXTjVRMjl1ZEdWNGRDNWhaR1FvWm1saVpYSXVkSGx3WlNrN1hHNGdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lIWmhjaUJ6YjNKMFpXUk9ZVzFsY3lBOUlITmxkRlJ2VTI5eWRHVmtVM1J5YVc1bktIVnVhWEYxWlU1aGJXVnpLVHRjYmlBZ0lDQWdJSFpoY2lCbWFYSnpkRU52YlhCdmJtVnVkRk4wWVdOcklEMGdaMlYwVTNSaFkydENlVVpwWW1WeVNXNUVaWFpCYm1SUWNtOWtLR1pwY25OMFJtbGlaWElwTzF4dVhHNGdJQ0FnSUNCbGNuSnZjaWduVEdWbllXTjVJR052Ym5SbGVIUWdRVkJKSUdoaGN5QmlaV1Z1SUdSbGRHVmpkR1ZrSUhkcGRHaHBiaUJoSUhOMGNtbGpkQzF0YjJSbElIUnlaV1V1SnlBcklDZGNYRzVjWEc1VWFHVWdiMnhrSUVGUVNTQjNhV3hzSUdKbElITjFjSEJ2Y25SbFpDQnBiaUJoYkd3Z01UWXVlQ0J5Wld4bFlYTmxjeXdnWW5WMElHRndjR3hwWTJGMGFXOXVjeUFuSUNzZ0ozVnphVzVuSUdsMElITm9iM1ZzWkNCdGFXZHlZWFJsSUhSdklIUm9aU0J1WlhjZ2RtVnljMmx2Ymk0bklDc2dKMXhjYmx4Y2JsQnNaV0Z6WlNCMWNHUmhkR1VnZEdobElHWnZiR3h2ZDJsdVp5QmpiMjF3YjI1bGJuUnpPaUFsY3ljZ0t5QW5YRnh1WEZ4dVRHVmhjbTRnYlc5eVpTQmhZbTkxZENCMGFHbHpJSGRoY201cGJtY2dhR1Z5WlRvZ2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMXNaV2RoWTNrdFkyOXVkR1Y0ZENjZ0t5QW5KWE1uTENCemIzSjBaV1JPWVcxbGN5d2dabWx5YzNSRGIyMXdiMjVsYm5SVGRHRmpheWs3WEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzVjYmlBZ1VtVmhZM1JUZEhKcFkzUk5iMlJsVjJGeWJtbHVaM011WkdselkyRnlaRkJsYm1ScGJtZFhZWEp1YVc1bmN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J3Wlc1a2FXNW5RMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBWMkZ5Ym1sdVozTWdQU0JiWFR0Y2JpQWdJQ0J3Wlc1a2FXNW5WVTVUUVVaRlgwTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRGZGhjbTVwYm1keklEMGdXMTA3WEc0Z0lDQWdjR1Z1WkdsdVowTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hOWFlYSnVhVzVuY3lBOUlGdGRPMXh1SUNBZ0lIQmxibVJwYm1kVlRsTkJSa1ZmUTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjMWRoY201cGJtZHpJRDBnVzEwN1hHNGdJQ0FnY0dWdVpHbHVaME52YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZYWVhKdWFXNW5jeUE5SUZ0ZE8xeHVJQ0FnSUhCbGJtUnBibWRWVGxOQlJrVmZRMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaVmRoY201cGJtZHpJRDBnVzEwN1hHNGdJQ0FnY0dWdVpHbHVaMHhsWjJGamVVTnZiblJsZUhSWFlYSnVhVzVuSUQwZ2JtVjNJRTFoY0NncE8xeHVJQ0I5TzF4dWZWeHVYRzUyWVhJZ2NtVnpiMngyWlVaaGJXbHNlU0E5SUc1MWJHdzdJQzh2SUNSR2JHOTNSbWw0VFdVZ1JteHZkeUJuWlhSeklHTnZibVoxYzJWa0lHSjVJR0VnVjJWaGExTmxkQ0JtWldGMGRYSmxJR05vWldOcklHSmxiRzkzTGx4dVhHNTJZWElnWm1GcGJHVmtRbTkxYm1SaGNtbGxjeUE5SUc1MWJHdzdYRzUyWVhJZ2MyVjBVbVZtY21WemFFaGhibVJzWlhJZ1BTQm1kVzVqZEdsdmJpQW9hR0Z1Wkd4bGNpa2dlMXh1SUNCN1hHNGdJQ0FnY21WemIyeDJaVVpoYldsc2VTQTlJR2hoYm1Sc1pYSTdYRzRnSUgxY2JuMDdYRzVtZFc1amRHbHZiaUJ5WlhOdmJIWmxSblZ1WTNScGIyNUdiM0pJYjNSU1pXeHZZV1JwYm1jb2RIbHdaU2tnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSEpsYzI5c2RtVkdZVzFwYkhrZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDOHZJRWh2ZENCeVpXeHZZV1JwYm1jZ2FYTWdaR2x6WVdKc1pXUXVYRzRnSUNBZ0lDQnlaWFIxY200Z2RIbHdaVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWm1GdGFXeDVJRDBnY21WemIyeDJaVVpoYldsc2VTaDBlWEJsS1R0Y2JseHVJQ0FnSUdsbUlDaG1ZVzFwYkhrZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSFI1Y0dVN1hHNGdJQ0FnZlNBdkx5QlZjMlVnZEdobElHeGhkR1Z6ZENCcmJtOTNiaUJwYlhCc1pXMWxiblJoZEdsdmJpNWNibHh1WEc0Z0lDQWdjbVYwZFhKdUlHWmhiV2xzZVM1amRYSnlaVzUwTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCeVpYTnZiSFpsUTJ4aGMzTkdiM0pJYjNSU1pXeHZZV1JwYm1jb2RIbHdaU2tnZTF4dUlDQXZMeUJPYnlCcGJYQnNaVzFsYm5SaGRHbHZiaUJrYVdabVpYSmxibU5sY3k1Y2JpQWdjbVYwZFhKdUlISmxjMjlzZG1WR2RXNWpkR2x2YmtadmNraHZkRkpsYkc5aFpHbHVaeWgwZVhCbEtUdGNibjFjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZHYjNKM1lYSmtVbVZtUm05eVNHOTBVbVZzYjJGa2FXNW5LSFI1Y0dVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoeVpYTnZiSFpsUm1GdGFXeDVJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCSWIzUWdjbVZzYjJGa2FXNW5JR2x6SUdScGMyRmliR1ZrTGx4dUlDQWdJQ0FnY21WMGRYSnVJSFI1Y0dVN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHWmhiV2xzZVNBOUlISmxjMjlzZG1WR1lXMXBiSGtvZEhsd1pTazdYRzVjYmlBZ0lDQnBaaUFvWm1GdGFXeDVJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDOHZJRU5vWldOcklHbG1JSGRsSjNKbElHUmxZV3hwYm1jZ2QybDBhQ0JoSUhKbFlXd2dabTl5ZDJGeVpGSmxaaTRnUkc5dUozUWdkMkZ1ZENCMGJ5QmpjbUZ6YUNCbFlYSnNlUzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQjBlWEJsYjJZZ2RIbHdaUzV5Wlc1a1pYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdMeThnUm05eWQyRnlaRkpsWmlCcGN5QnpjR1ZqYVdGc0lHSmxZMkYxYzJVZ2FYUnpJSEpsYzI5c2RtVmtJQzUwZVhCbElHbHpJR0Z1SUc5aWFtVmpkQ3hjYmlBZ0lDQWdJQ0FnTHk4Z1luVjBJR2wwSjNNZ2NHOXpjMmxpYkdVZ2RHaGhkQ0IzWlNCdmJteDVJR2hoZG1VZ2FYUnpJR2x1Ym1WeUlISmxibVJsY2lCbWRXNWpkR2x2YmlCcGJpQjBhR1VnYldGd0xseHVJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHRjBJR2x1Ym1WeUlISmxibVJsY2lCbWRXNWpkR2x2YmlCcGN5QmthV1ptWlhKbGJuUXNJSGRsSjJ4c0lHSjFhV3hrSUdFZ2JtVjNJR1p2Y25kaGNtUlNaV1lnZEhsd1pTNWNiaUFnSUNBZ0lDQWdkbUZ5SUdOMWNuSmxiblJTWlc1a1pYSWdQU0J5WlhOdmJIWmxSblZ1WTNScGIyNUdiM0pJYjNSU1pXeHZZV1JwYm1jb2RIbHdaUzV5Wlc1a1pYSXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsTG5KbGJtUmxjaUFoUFQwZ1kzVnljbVZ1ZEZKbGJtUmxjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ6ZVc1MGFHVjBhV05VZVhCbElEMGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0pDUjBlWEJsYjJZNklGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaVzVrWlhJNklHTjFjbkpsYm5SU1pXNWtaWEpjYmlBZ0lDQWdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1V1WkdsemNHeGhlVTVoYldVZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM2x1ZEdobGRHbGpWSGx3WlM1a2FYTndiR0Y1VG1GdFpTQTlJSFI1Y0dVdVpHbHpjR3hoZVU1aGJXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITjViblJvWlhScFkxUjVjR1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVTdYRzRnSUNBZ2ZTQXZMeUJWYzJVZ2RHaGxJR3hoZEdWemRDQnJibTkzYmlCcGJYQnNaVzFsYm5SaGRHbHZiaTVjYmx4dVhHNGdJQ0FnY21WMGRYSnVJR1poYldsc2VTNWpkWEp5Wlc1ME8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQnBjME52YlhCaGRHbGliR1ZHWVcxcGJIbEdiM0pJYjNSU1pXeHZZV1JwYm1jb1ptbGlaWElzSUdWc1pXMWxiblFwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2h5WlhOdmJIWmxSbUZ0YVd4NUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJJYjNRZ2NtVnNiMkZrYVc1bklHbHpJR1JwYzJGaWJHVmtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCd2NtVjJWSGx3WlNBOUlHWnBZbVZ5TG1Wc1pXMWxiblJVZVhCbE8xeHVJQ0FnSUhaaGNpQnVaWGgwVkhsd1pTQTlJR1ZzWlcxbGJuUXVkSGx3WlRzZ0x5OGdTV1lnZDJVZ1oyOTBJR2hsY21Vc0lIZGxJR3R1YjNjZ2RIbHdaWE1nWVhKbGJpZDBJRDA5UFNCbGNYVmhiQzVjYmx4dUlDQWdJSFpoY2lCdVpXVmtjME52YlhCaGNtVkdZVzFwYkdsbGN5QTlJR1poYkhObE8xeHVJQ0FnSUhaaGNpQWtKSFI1Y0dWdlprNWxlSFJVZVhCbElEMGdkSGx3Wlc5bUlHNWxlSFJVZVhCbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCdVpYaDBWSGx3WlNBaFBUMGdiblZzYkNBL0lHNWxlSFJVZVhCbExpUWtkSGx3Wlc5bUlEb2diblZzYkR0Y2JseHVJQ0FnSUhOM2FYUmphQ0FvWm1saVpYSXVkR0ZuS1NCN1hHNGdJQ0FnSUNCallYTmxJRU5zWVhOelEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVpYaDBWSGx3WlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibVZsWkhORGIyMXdZWEpsUm1GdGFXeHBaWE1nUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR05oYzJVZ1JuVnVZM1JwYjI1RGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUc1bGVIUlVlWEJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaV1ZrYzBOdmJYQmhjbVZHWVcxcGJHbGxjeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNna0pIUjVjR1Z2Wms1bGVIUlVlWEJsSUQwOVBTQlNSVUZEVkY5TVFWcFpYMVJaVUVVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJR1J2YmlkMElHdHViM2NnZEdobElHbHVibVZ5SUhSNWNHVWdlV1YwTGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVjJVbmNtVWdaMjlwYm1jZ2RHOGdZWE56ZFcxbElIUm9ZWFFnZEdobElHeGhlbmtnYVc1dVpYSWdkSGx3WlNCcGN5QnpkR0ZpYkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCaGJtUWdjMjhnYVhRZ2FYTWdjM1ZtWm1samFXVnVkQ0IwYnlCaGRtOXBaQ0J5WldOdmJtTnBiR2x1WnlCcGRDQmhkMkY1TGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVjJVbmNtVWdibTkwSUdkdmFXNW5JSFJ2SUhWdWQzSmhjQ0J2Y2lCaFkzUjFZV3hzZVNCMWMyVWdkR2hsSUc1bGR5QnNZWHA1SUhSNWNHVXVYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpXVmtjME52YlhCaGNtVkdZVzFwYkdsbGN5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyRnpaU0JHYjNKM1lYSmtVbVZtT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NRa2RIbHdaVzltVG1WNGRGUjVjR1VnUFQwOUlGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsWldSelEyOXRjR0Z5WlVaaGJXbHNhV1Z6SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tDUWtkSGx3Wlc5bVRtVjRkRlI1Y0dVZ1BUMDlJRkpGUVVOVVgweEJXbGxmVkZsUVJTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JtVmxaSE5EYjIxd1lYSmxSbUZ0YVd4cFpYTWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTmhjMlVnVFdWdGIwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lHTmhjMlVnVTJsdGNHeGxUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNna0pIUjVjR1Z2Wms1bGVIUlVlWEJsSUQwOVBTQlNSVUZEVkY5TlJVMVBYMVJaVUVVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUlBSRTg2SUdsbUlHbDBJSGRoY3lCaWRYUWdZMkZ1SUc1dklHeHZibWRsY2lCaVpTQnphVzF3YkdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCM1pTQnphRzkxYkdSdUozUWdjMlYwSUhSb2FYTXVYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpXVmtjME52YlhCaGNtVkdZVzFwYkdsbGN5QTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2drSkhSNWNHVnZaazVsZUhSVWVYQmxJRDA5UFNCU1JVRkRWRjlNUVZwWlgxUlpVRVVwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsWldSelEyOXRjR0Z5WlVaaGJXbHNhV1Z6SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJQ0FnZlNBdkx5QkRhR1ZqYXlCcFppQmliM1JvSUhSNWNHVnpJR2hoZG1VZ1lTQm1ZVzFwYkhrZ1lXNWtJR2wwSjNNZ2RHaGxJSE5oYldVZ2IyNWxMbHh1WEc1Y2JpQWdJQ0JwWmlBb2JtVmxaSE5EYjIxd1lYSmxSbUZ0YVd4cFpYTXBJSHRjYmlBZ0lDQWdJQzh2SUU1dmRHVTZJRzFsYlc4b0tTQmhibVFnWm05eWQyRnlaRkpsWmlncElIZGxKMnhzSUdOdmJYQmhjbVVnYjNWMFpYSWdjbUYwYUdWeUlIUm9ZVzRnYVc1dVpYSWdkSGx3WlM1Y2JpQWdJQ0FnSUM4dklGUm9hWE1nYldWaGJuTWdZbTkwYUNCdlppQjBhR1Z0SUc1bFpXUWdkRzhnWW1VZ2NtVm5hWE4wWlhKbFpDQjBieUJ3Y21WelpYSjJaU0J6ZEdGMFpTNWNiaUFnSUNBZ0lDOHZJRWxtSUhkbElIVnVkM0poY0hCbFpDQmhibVFnWTI5dGNHRnlaV1FnZEdobElHbHVibVZ5SUhSNWNHVnpJR1p2Y2lCM2NtRndjR1Z5Y3lCcGJuTjBaV0ZrTEZ4dUlDQWdJQ0FnTHk4Z2RHaGxiaUIzWlNCM2IzVnNaQ0J5YVhOcklHWmhiSE5sYkhrZ2MyRjVhVzVuSUhSM2J5QnpaWEJoY21GMFpTQnRaVzF2S0VadmJ5bGNiaUFnSUNBZ0lDOHZJR05oYkd4eklHRnlaU0JsY1hWcGRtRnNaVzUwSUdKbFkyRjFjMlVnZEdobGVTQjNjbUZ3SUhSb1pTQnpZVzFsSUVadmJ5Qm1kVzVqZEdsdmJpNWNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJtRnRhV3g1SUQwZ2NtVnpiMngyWlVaaGJXbHNlU2h3Y21WMlZIbHdaU2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHdjbVYyUm1GdGFXeDVJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdjSEpsZGtaaGJXbHNlU0E5UFQwZ2NtVnpiMngyWlVaaGJXbHNlU2h1WlhoMFZIbHdaU2twSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ0WVhKclJtRnBiR1ZrUlhKeWIzSkNiM1Z1WkdGeWVVWnZja2h2ZEZKbGJHOWhaR2x1WnlobWFXSmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSEpsYzI5c2RtVkdZVzFwYkhrZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDOHZJRWh2ZENCeVpXeHZZV1JwYm1jZ2FYTWdaR2x6WVdKc1pXUXVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCWFpXRnJVMlYwSUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1poYVd4bFpFSnZkVzVrWVhKcFpYTWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR1poYVd4bFpFSnZkVzVrWVhKcFpYTWdQU0J1WlhjZ1YyVmhhMU5sZENncE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdaaGFXeGxaRUp2ZFc1a1lYSnBaWE11WVdSa0tHWnBZbVZ5S1R0Y2JpQWdmVnh1ZlZ4dWRtRnlJSE5qYUdWa2RXeGxVbVZtY21WemFDQTlJR1oxYm1OMGFXOXVJQ2h5YjI5MExDQjFjR1JoZEdVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoeVpYTnZiSFpsUm1GdGFXeDVJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCSWIzUWdjbVZzYjJGa2FXNW5JR2x6SUdScGMyRmliR1ZrTGx4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJ6ZEdGc1pVWmhiV2xzYVdWeklEMGdkWEJrWVhSbExuTjBZV3hsUm1GdGFXeHBaWE1zWEc0Z0lDQWdJQ0FnSUhWd1pHRjBaV1JHWVcxcGJHbGxjeUE5SUhWd1pHRjBaUzUxY0dSaGRHVmtSbUZ0YVd4cFpYTTdYRzRnSUNBZ1pteDFjMmhRWVhOemFYWmxSV1ptWldOMGN5Z3BPMXh1SUNBZ0lHWnNkWE5vVTNsdVl5aG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0J6WTJobFpIVnNaVVpwWW1WeWMxZHBkR2hHWVcxcGJHbGxjMUpsWTNWeWMybDJaV3g1S0hKdmIzUXVZM1Z5Y21WdWRDd2dkWEJrWVhSbFpFWmhiV2xzYVdWekxDQnpkR0ZzWlVaaGJXbHNhV1Z6S1R0Y2JpQWdJQ0I5S1R0Y2JpQWdmVnh1ZlR0Y2JuWmhjaUJ6WTJobFpIVnNaVkp2YjNRZ1BTQm1kVzVqZEdsdmJpQW9jbTl2ZEN3Z1pXeGxiV1Z1ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0hKdmIzUXVZMjl1ZEdWNGRDQWhQVDBnWlcxd2RIbERiMjUwWlhoMFQySnFaV04wS1NCN1hHNGdJQ0FnSUNBdkx5QlRkWEJsY2lCbFpHZGxJR05oYzJVNklISnZiM1FnYUdGeklHRWdiR1ZuWVdONUlGOXlaVzVrWlhKVGRXSjBjbVZsSUdOdmJuUmxlSFJjYmlBZ0lDQWdJQzh2SUdKMWRDQjNaU0JrYjI0bmRDQnJibTkzSUhSb1pTQndZWEpsYm5SRGIyMXdiMjVsYm5RZ2MyOGdkMlVnWTJGdUozUWdjR0Z6Y3lCcGRDNWNiaUFnSUNBZ0lDOHZJRXAxYzNRZ2FXZHViM0psTGlCWFpTZHNiQ0JrWld4bGRHVWdkR2hwY3lCM2FYUm9JRjl5Wlc1a1pYSlRkV0owY21WbElHTnZaR1VnY0dGMGFDQnNZWFJsY2k1Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc0Z0lDQWdjM2x1WTFWd1pHRjBaWE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ2RYQmtZWFJsUTI5dWRHRnBibVZ5S0dWc1pXMWxiblFzSUhKdmIzUXNJRzUxYkd3c0lHNTFiR3dwTzF4dUlDQWdJSDBwTzF4dUlDQjlYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQnpZMmhsWkhWc1pVWnBZbVZ5YzFkcGRHaEdZVzFwYkdsbGMxSmxZM1Z5YzJsMlpXeDVLR1pwWW1WeUxDQjFjR1JoZEdWa1JtRnRhV3hwWlhNc0lITjBZV3hsUm1GdGFXeHBaWE1wSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJoYkhSbGNtNWhkR1VnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1VzWEc0Z0lDQWdJQ0FnSUdOb2FXeGtJRDBnWm1saVpYSXVZMmhwYkdRc1hHNGdJQ0FnSUNBZ0lITnBZbXhwYm1jZ1BTQm1hV0psY2k1emFXSnNhVzVuTEZ4dUlDQWdJQ0FnSUNCMFlXY2dQU0JtYVdKbGNpNTBZV2NzWEc0Z0lDQWdJQ0FnSUhSNWNHVWdQU0JtYVdKbGNpNTBlWEJsTzF4dUlDQWdJSFpoY2lCallXNWthV1JoZEdWVWVYQmxJRDBnYm5Wc2JEdGNibHh1SUNBZ0lITjNhWFJqYUNBb2RHRm5LU0I3WEc0Z0lDQWdJQ0JqWVhObElFWjFibU4wYVc5dVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ1kyRnpaU0JUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnWTJGelpTQkRiR0Z6YzBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ1kyRnVaR2xrWVhSbFZIbHdaU0E5SUhSNWNHVTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnSUNBZ0lHTmhibVJwWkdGMFpWUjVjR1VnUFNCMGVYQmxMbkpsYm1SbGNqdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tISmxjMjlzZG1WR1lXMXBiSGtnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduUlhod1pXTjBaV1FnY21WemIyeDJaVVpoYldsc2VTQjBieUJpWlNCelpYUWdaSFZ5YVc1bklHaHZkQ0J5Wld4dllXUXVKeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1bFpXUnpVbVZ1WkdWeUlEMGdabUZzYzJVN1hHNGdJQ0FnZG1GeUlHNWxaV1J6VW1WdGIzVnVkQ0E5SUdaaGJITmxPMXh1WEc0Z0lDQWdhV1lnS0dOaGJtUnBaR0YwWlZSNWNHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSFpoY2lCbVlXMXBiSGtnUFNCeVpYTnZiSFpsUm1GdGFXeDVLR05oYm1ScFpHRjBaVlI1Y0dVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvWm1GdGFXeDVJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0hOMFlXeGxSbUZ0YVd4cFpYTXVhR0Z6S0daaGJXbHNlU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQnVaV1ZrYzFKbGJXOTFiblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hWd1pHRjBaV1JHWVcxcGJHbGxjeTVvWVhNb1ptRnRhV3g1S1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMFlXY2dQVDA5SUVOc1lYTnpRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaV1ZrYzFKbGJXOTFiblFnUFNCMGNuVmxPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnVaV1ZrYzFKbGJtUmxjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHWmhhV3hsWkVKdmRXNWtZWEpwWlhNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2htWVdsc1pXUkNiM1Z1WkdGeWFXVnpMbWhoY3lobWFXSmxjaWtnZkh3Z1lXeDBaWEp1WVhSbElDRTlQU0J1ZFd4c0lDWW1JR1poYVd4bFpFSnZkVzVrWVhKcFpYTXVhR0Z6S0dGc2RHVnlibUYwWlNrcElIdGNiaUFnSUNBZ0lDQWdibVZsWkhOU1pXMXZkVzUwSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYm1WbFpITlNaVzF2ZFc1MEtTQjdYRzRnSUNBZ0lDQm1hV0psY2k1ZlpHVmlkV2RPWldWa2MxSmxiVzkxYm5RZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNodVpXVmtjMUpsYlc5MWJuUWdmSHdnYm1WbFpITlNaVzVrWlhJcElIdGNiaUFnSUNBZ0lITmphR1ZrZFd4bFYyOXlheWhtYVdKbGNpd2dVM2x1WXlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTm9hV3hrSUNFOVBTQnVkV3hzSUNZbUlDRnVaV1ZrYzFKbGJXOTFiblFwSUh0Y2JpQWdJQ0FnSUhOamFHVmtkV3hsUm1saVpYSnpWMmwwYUVaaGJXbHNhV1Z6VW1WamRYSnphWFpsYkhrb1kyaHBiR1FzSUhWd1pHRjBaV1JHWVcxcGJHbGxjeXdnYzNSaGJHVkdZVzFwYkdsbGN5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSE5wWW14cGJtY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSE5qYUdWa2RXeGxSbWxpWlhKelYybDBhRVpoYldsc2FXVnpVbVZqZFhKemFYWmxiSGtvYzJsaWJHbHVaeXdnZFhCa1lYUmxaRVpoYldsc2FXVnpMQ0J6ZEdGc1pVWmhiV2xzYVdWektUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVkbUZ5SUdacGJtUkliM04wU1c1emRHRnVZMlZ6Um05eVVtVm1jbVZ6YUNBOUlHWjFibU4wYVc5dUlDaHliMjkwTENCbVlXMXBiR2xsY3lrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUdodmMzUkpibk4wWVc1alpYTWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lDQWdkbUZ5SUhSNWNHVnpJRDBnYm1WM0lGTmxkQ2htWVcxcGJHbGxjeTV0WVhBb1puVnVZM1JwYjI0Z0tHWmhiV2xzZVNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJXbHNlUzVqZFhKeVpXNTBPMXh1SUNBZ0lIMHBLVHRjYmlBZ0lDQm1hVzVrU0c5emRFbHVjM1JoYm1ObGMwWnZjazFoZEdOb2FXNW5SbWxpWlhKelVtVmpkWEp6YVhabGJIa29jbTl2ZEM1amRYSnlaVzUwTENCMGVYQmxjeXdnYUc5emRFbHVjM1JoYm1ObGN5azdYRzRnSUNBZ2NtVjBkWEp1SUdodmMzUkpibk4wWVc1alpYTTdYRzRnSUgxY2JuMDdYRzVjYm1aMWJtTjBhVzl1SUdacGJtUkliM04wU1c1emRHRnVZMlZ6Um05eVRXRjBZMmhwYm1kR2FXSmxjbk5TWldOMWNuTnBkbVZzZVNobWFXSmxjaXdnZEhsd1pYTXNJR2h2YzNSSmJuTjBZVzVqWlhNcElIdGNiaUFnZTF4dUlDQWdJSFpoY2lCamFHbHNaQ0E5SUdacFltVnlMbU5vYVd4a0xGeHVJQ0FnSUNBZ0lDQnphV0pzYVc1bklEMGdabWxpWlhJdWMybGliR2x1Wnl4Y2JpQWdJQ0FnSUNBZ2RHRm5JRDBnWm1saVpYSXVkR0ZuTEZ4dUlDQWdJQ0FnSUNCMGVYQmxJRDBnWm1saVpYSXVkSGx3WlR0Y2JpQWdJQ0IyWVhJZ1kyRnVaR2xrWVhSbFZIbHdaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQnpkMmwwWTJnZ0tIUmhaeWtnZTF4dUlDQWdJQ0FnWTJGelpTQkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lHTmhjMlVnVTJsdGNHeGxUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUdOaGMyVWdRMnhoYzNORGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNBZ0lHTmhibVJwWkdGMFpWUjVjR1VnUFNCMGVYQmxPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCR2IzSjNZWEprVW1WbU9seHVJQ0FnSUNBZ0lDQmpZVzVrYVdSaGRHVlVlWEJsSUQwZ2RIbHdaUzV5Wlc1a1pYSTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhaaGNpQmthV1JOWVhSamFDQTlJR1poYkhObE8xeHVYRzRnSUNBZ2FXWWdLR05oYm1ScFpHRjBaVlI1Y0dVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2gwZVhCbGN5NW9ZWE1vWTJGdVpHbGtZWFJsVkhsd1pTa3BJSHRjYmlBZ0lDQWdJQ0FnWkdsa1RXRjBZMmdnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hrYVdSTllYUmphQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVWdhR0YyWlNCaElHMWhkR05vTGlCVWFHbHpJRzl1YkhrZ1pISnBiR3h6SUdSdmQyNGdkRzhnZEdobElHTnNiM05sYzNRZ2FHOXpkQ0JqYjIxd2IyNWxiblJ6TGx4dUlDQWdJQ0FnTHk4Z1ZHaGxjbVVuY3lCdWJ5QnVaV1ZrSUhSdklITmxZWEpqYUNCa1pXVndaWElnWW1WallYVnpaU0JtYjNJZ2RHaGxJSEIxY25CdmMyVWdiMllnWjJsMmFXNW5YRzRnSUNBZ0lDQXZMeUIyYVhOMVlXd2dabVZsWkdKaFkyc3NJRndpWm14aGMyaHBibWRjSWlCdmRYUmxjbTF2YzNRZ2NHRnlaVzUwSUhKbFkzUmhibWRzWlhNZ2FYTWdjM1ZtWm1samFXVnVkQzVjYmlBZ0lDQWdJR1pwYm1SSWIzTjBTVzV6ZEdGdVkyVnpSbTl5Um1saVpYSlRhR0ZzYkc5M2JIa29abWxpWlhJc0lHaHZjM1JKYm5OMFlXNWpaWE1wTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJKWmlCMGFHVnlaU2R6SUc1dklHMWhkR05vTENCdFlYbGlaU0IwYUdWeVpTQjNhV3hzSUdKbElHOXVaU0JtZFhKMGFHVnlJR1J2ZDI0Z2FXNGdkR2hsSUdOb2FXeGtJSFJ5WldVdVhHNGdJQ0FnSUNCcFppQW9ZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdabWx1WkVodmMzUkpibk4wWVc1alpYTkdiM0pOWVhSamFHbHVaMFpwWW1WeWMxSmxZM1Z5YzJsMlpXeDVLR05vYVd4a0xDQjBlWEJsY3l3Z2FHOXpkRWx1YzNSaGJtTmxjeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0hOcFlteHBibWNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdacGJtUkliM04wU1c1emRHRnVZMlZ6Um05eVRXRjBZMmhwYm1kR2FXSmxjbk5TWldOMWNuTnBkbVZzZVNoemFXSnNhVzVuTENCMGVYQmxjeXdnYUc5emRFbHVjM1JoYm1ObGN5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1SSWIzTjBTVzV6ZEdGdVkyVnpSbTl5Um1saVpYSlRhR0ZzYkc5M2JIa29abWxpWlhJc0lHaHZjM1JKYm5OMFlXNWpaWE1wSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJtYjNWdVpFaHZjM1JKYm5OMFlXNWpaWE1nUFNCbWFXNWtRMmhwYkdSSWIzTjBTVzV6ZEdGdVkyVnpSbTl5Um1saVpYSlRhR0ZzYkc5M2JIa29abWxpWlhJc0lHaHZjM1JKYm5OMFlXNWpaWE1wTzF4dVhHNGdJQ0FnYVdZZ0tHWnZkVzVrU0c5emRFbHVjM1JoYm1ObGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdTV1lnZDJVZ1pHbGtiaWQwSUdacGJtUWdZVzU1SUdodmMzUWdZMmhwYkdSeVpXNHNJR1poYkd4aVlXTnJJSFJ2SUdOc2IzTmxjM1FnYUc5emRDQndZWEpsYm5RdVhHNWNibHh1SUNBZ0lIWmhjaUJ1YjJSbElEMGdabWxpWlhJN1hHNWNiaUFnSUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lDQWdjM2RwZEdOb0lDaHViMlJsTG5SaFp5a2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElFaHZjM1JEYjIxd2IyNWxiblE2WEc0Z0lDQWdJQ0FnSUNBZ2FHOXpkRWx1YzNSaGJtTmxjeTVoWkdRb2JtOWtaUzV6ZEdGMFpVNXZaR1VwTzF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUlFiM0owWVd3NlhHNGdJQ0FnSUNBZ0lDQWdhRzl6ZEVsdWMzUmhibU5sY3k1aFpHUW9ibTlrWlM1emRHRjBaVTV2WkdVdVkyOXVkR0ZwYm1WeVNXNW1ieWs3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dVhHNGdJQ0FnSUNBZ0lHTmhjMlVnU0c5emRGSnZiM1E2WEc0Z0lDQWdJQ0FnSUNBZ2FHOXpkRWx1YzNSaGJtTmxjeTVoWkdRb2JtOWtaUzV6ZEdGMFpVNXZaR1V1WTI5dWRHRnBibVZ5U1c1bWJ5azdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzV5WlhSMWNtNGdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RGZUhCbFkzUmxaQ0IwYnlCeVpXRmphQ0J5YjI5MElHWnBjbk4wTGljcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzV5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1SRGFHbHNaRWh2YzNSSmJuTjBZVzVqWlhOR2IzSkdhV0psY2xOb1lXeHNiM2RzZVNobWFXSmxjaXdnYUc5emRFbHVjM1JoYm1ObGN5a2dlMXh1SUNCN1hHNGdJQ0FnZG1GeUlHNXZaR1VnUFNCbWFXSmxjanRjYmlBZ0lDQjJZWElnWm05MWJtUkliM04wU1c1emRHRnVZMlZ6SUQwZ1ptRnNjMlU3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUM4dklGZGxJR2R2ZENCaElHMWhkR05vTGx4dUlDQWdJQ0FnSUNCbWIzVnVaRWh2YzNSSmJuTjBZVzVqWlhNZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNCb2IzTjBTVzV6ZEdGdVkyVnpMbUZrWkNodWIyUmxMbk4wWVhSbFRtOWtaU2s3SUM4dklGUm9aWEpsSUcxaGVTQnpkR2xzYkNCaVpTQnRiM0psTENCemJ5QnJaV1Z3SUhObFlYSmphR2x1Wnk1Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtOWtaUzVqYUdsc1pDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0J1YjJSbExtTm9hV3hrTG5KbGRIVnliaUE5SUc1dlpHVTdYRzRnSUNBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG1Ob2FXeGtPMXh1SUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHNXZaR1VnUFQwOUlHWnBZbVZ5S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbWIzVnVaRWh2YzNSSmJuTjBZVzVqWlhNN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIZG9hV3hsSUNodWIyUmxMbk5wWW14cGJtY2dQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHNXZaR1V1Y21WMGRYSnVJRDA5UFNCdWRXeHNJSHg4SUc1dlpHVXVjbVYwZFhKdUlEMDlQU0JtYVdKbGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtYjNWdVpFaHZjM1JKYm5OMFlXNWpaWE03WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzV5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRzV2WkdVdWMybGliR2x1Wnk1eVpYUjFjbTRnUFNCdWIyUmxMbkpsZEhWeWJqdGNiaUFnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbk5wWW14cGJtYzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHWmhiSE5sTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhOdmJIWmxSR1ZtWVhWc2RGQnliM0J6S0VOdmJYQnZibVZ1ZEN3Z1ltRnpaVkJ5YjNCektTQjdYRzRnSUdsbUlDaERiMjF3YjI1bGJuUWdKaVlnUTI5dGNHOXVaVzUwTG1SbFptRjFiSFJRY205d2N5a2dlMXh1SUNBZ0lDOHZJRkpsYzI5c2RtVWdaR1ZtWVhWc2RDQndjbTl3Y3k0Z1ZHRnJaVzRnWm5KdmJTQlNaV0ZqZEVWc1pXMWxiblJjYmlBZ0lDQjJZWElnY0hKdmNITWdQU0JmWVhOemFXZHVLSHQ5TENCaVlYTmxVSEp2Y0hNcE8xeHVYRzRnSUNBZ2RtRnlJR1JsWm1GMWJIUlFjbTl3Y3lBOUlFTnZiWEJ2Ym1WdWRDNWtaV1poZFd4MFVISnZjSE03WEc1Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJ3Y205d1RtRnRaU0JwYmlCa1pXWmhkV3gwVUhKdmNITXBJSHRjYmlBZ0lDQWdJR2xtSUNod2NtOXdjMXR3Y205d1RtRnRaVjBnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0J3Y205d2MxdHdjbTl3VG1GdFpWMGdQU0JrWldaaGRXeDBVSEp2Y0hOYmNISnZjRTVoYldWZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJ3Y205d2N6dGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmlZWE5sVUhKdmNITTdYRzU5WEc1bWRXNWpkR2x2YmlCeVpXRmtUR0Y2ZVVOdmJYQnZibVZ1ZEZSNWNHVW9iR0Y2ZVVOdmJYQnZibVZ1ZENrZ2UxeHVJQ0JwYm1sMGFXRnNhWHBsVEdGNmVVTnZiWEJ2Ym1WdWRGUjVjR1VvYkdGNmVVTnZiWEJ2Ym1WdWRDazdYRzVjYmlBZ2FXWWdLR3hoZW5sRGIyMXdiMjVsYm5RdVgzTjBZWFIxY3lBaFBUMGdVbVZ6YjJ4MlpXUXBJSHRjYmlBZ0lDQjBhSEp2ZHlCc1lYcDVRMjl0Y0c5dVpXNTBMbDl5WlhOMWJIUTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiR0Y2ZVVOdmJYQnZibVZ1ZEM1ZmNtVnpkV3gwTzF4dWZWeHVYRzUyWVhJZ2RtRnNkV1ZEZFhKemIzSWdQU0JqY21WaGRHVkRkWEp6YjNJb2JuVnNiQ2s3WEc1MllYSWdjbVZ1WkdWeVpYSlRhV2RwYkR0Y2JseHVlMXh1SUNBdkx5QlZjMlVnZEdocGN5QjBieUJrWlhSbFkzUWdiWFZzZEdsd2JHVWdjbVZ1WkdWeVpYSnpJSFZ6YVc1bklIUm9aU0J6WVcxbElHTnZiblJsZUhSY2JpQWdjbVZ1WkdWeVpYSlRhV2RwYkNBOUlIdDlPMXh1ZlZ4dVhHNTJZWElnWTNWeWNtVnVkR3g1VW1WdVpHVnlhVzVuUm1saVpYSWdQU0J1ZFd4c08xeHVkbUZ5SUd4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlJRzUxYkd3N1hHNTJZWElnYkdGemRFTnZiblJsZUhSWGFYUm9RV3hzUW1sMGMwOWljMlZ5ZG1Wa0lEMGdiblZzYkR0Y2JuWmhjaUJwYzBScGMyRnNiRzkzWldSRGIyNTBaWGgwVW1WaFpFbHVSRVZXSUQwZ1ptRnNjMlU3WEc1bWRXNWpkR2x2YmlCeVpYTmxkRU52Ym5SbGVIUkVaWEJsYm1SbGJtTnBaWE1vS1NCN1hHNGdJQzh2SUZSb2FYTWdhWE1nWTJGc2JHVmtJSEpwWjJoMElHSmxabTl5WlNCU1pXRmpkQ0I1YVdWc1pITWdaWGhsWTNWMGFXOXVMQ0IwYnlCbGJuTjFjbVVnWUhKbFlXUkRiMjUwWlhoMFlGeHVJQ0F2THlCallXNXViM1FnWW1VZ1kyRnNiR1ZrSUc5MWRITnBaR1VnZEdobElISmxibVJsY2lCd2FHRnpaUzVjYmlBZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElnUFNCdWRXeHNPMXh1SUNCc1lYTjBRMjl1ZEdWNGRFUmxjR1Z1WkdWdVkza2dQU0J1ZFd4c08xeHVJQ0JzWVhOMFEyOXVkR1Y0ZEZkcGRHaEJiR3hDYVhSelQySnpaWEoyWldRZ1BTQnVkV3hzTzF4dVhHNGdJSHRjYmlBZ0lDQnBjMFJwYzJGc2JHOTNaV1JEYjI1MFpYaDBVbVZoWkVsdVJFVldJRDBnWm1Gc2MyVTdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR1Z1ZEdWeVJHbHpZV3hzYjNkbFpFTnZiblJsZUhSU1pXRmtTVzVFUlZZb0tTQjdYRzRnSUh0Y2JpQWdJQ0JwYzBScGMyRnNiRzkzWldSRGIyNTBaWGgwVW1WaFpFbHVSRVZXSUQwZ2RISjFaVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWlhocGRFUnBjMkZzYkc5M1pXUkRiMjUwWlhoMFVtVmhaRWx1UkVWV0tDa2dlMXh1SUNCN1hHNGdJQ0FnYVhORWFYTmhiR3h2ZDJWa1EyOXVkR1Y0ZEZKbFlXUkpia1JGVmlBOUlHWmhiSE5sTzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCd2RYTm9VSEp2ZG1sa1pYSW9jSEp2ZG1sa1pYSkdhV0psY2l3Z2JtVjRkRlpoYkhWbEtTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdjSEp2ZG1sa1pYSkdhV0psY2k1MGVYQmxMbDlqYjI1MFpYaDBPMXh1WEc0Z0lIdGNiaUFnSUNCd2RYTm9LSFpoYkhWbFEzVnljMjl5TENCamIyNTBaWGgwTGw5amRYSnlaVzUwVm1Gc2RXVXNJSEJ5YjNacFpHVnlSbWxpWlhJcE8xeHVJQ0FnSUdOdmJuUmxlSFF1WDJOMWNuSmxiblJXWVd4MVpTQTlJRzVsZUhSV1lXeDFaVHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNoamIyNTBaWGgwTGw5amRYSnlaVzUwVW1WdVpHVnlaWElnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJqYjI1MFpYaDBMbDlqZFhKeVpXNTBVbVZ1WkdWeVpYSWdJVDA5SUc1MWJHd2dKaVlnWTI5dWRHVjRkQzVmWTNWeWNtVnVkRkpsYm1SbGNtVnlJQ0U5UFNCeVpXNWtaWEpsY2xOcFoybHNLU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RFWlhSbFkzUmxaQ0J0ZFd4MGFYQnNaU0J5Wlc1a1pYSmxjbk1nWTI5dVkzVnljbVZ1ZEd4NUlISmxibVJsY21sdVp5QjBhR1VnSnlBcklDZHpZVzFsSUdOdmJuUmxlSFFnY0hKdmRtbGtaWEl1SUZSb2FYTWdhWE1nWTNWeWNtVnVkR3g1SUhWdWMzVndjRzl5ZEdWa0xpY3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqYjI1MFpYaDBMbDlqZFhKeVpXNTBVbVZ1WkdWeVpYSWdQU0J5Wlc1a1pYSmxjbE5wWjJsc08xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2NHOXdVSEp2ZG1sa1pYSW9jSEp2ZG1sa1pYSkdhV0psY2lrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZaaGJIVmxJRDBnZG1Gc2RXVkRkWEp6YjNJdVkzVnljbVZ1ZER0Y2JpQWdjRzl3S0haaGJIVmxRM1Z5YzI5eUxDQndjbTkyYVdSbGNrWnBZbVZ5S1R0Y2JpQWdkbUZ5SUdOdmJuUmxlSFFnUFNCd2NtOTJhV1JsY2tacFltVnlMblI1Y0dVdVgyTnZiblJsZUhRN1hHNWNiaUFnZTF4dUlDQWdJR052Ym5SbGVIUXVYMk4xY25KbGJuUldZV3gxWlNBOUlHTjFjbkpsYm5SV1lXeDFaVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWTJGc1kzVnNZWFJsUTJoaGJtZGxaRUpwZEhNb1kyOXVkR1Y0ZEN3Z2JtVjNWbUZzZFdVc0lHOXNaRlpoYkhWbEtTQjdYRzRnSUdsbUlDaHZZbXBsWTNSSmN5aHZiR1JXWVd4MVpTd2dibVYzVm1Gc2RXVXBLU0I3WEc0Z0lDQWdMeThnVG04Z1kyaGhibWRsWEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUdOb1lXNW5aV1JDYVhSeklEMGdkSGx3Wlc5bUlHTnZiblJsZUhRdVgyTmhiR04xYkdGMFpVTm9ZVzVuWldSQ2FYUnpJRDA5UFNBblpuVnVZM1JwYjI0bklEOGdZMjl1ZEdWNGRDNWZZMkZzWTNWc1lYUmxRMmhoYm1kbFpFSnBkSE1vYjJ4a1ZtRnNkV1VzSUc1bGQxWmhiSFZsS1NBNklFMUJXRjlUU1VkT1JVUmZNekZmUWtsVVgwbE9WRHRjYmx4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNnb1kyaGhibWRsWkVKcGRITWdKaUJOUVZoZlUwbEhUa1ZFWHpNeFgwSkpWRjlKVGxRcElDRTlQU0JqYUdGdVoyVmtRbWwwY3lrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnblkyRnNZM1ZzWVhSbFEyaGhibWRsWkVKcGRITTZJRVY0Y0dWamRHVmtJSFJvWlNCeVpYUjFjbTRnZG1Gc2RXVWdkRzhnWW1VZ1lTQW5JQ3NnSnpNeExXSnBkQ0JwYm5SbFoyVnlMaUJKYm5OMFpXRmtJSEpsWTJWcGRtVmtPaUFsY3ljc0lHTm9ZVzVuWldSQ2FYUnpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1kyaGhibWRsWkVKcGRITWdmQ0F3TzF4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCelkyaGxaSFZzWlZkdmNtdFBibEJoY21WdWRGQmhkR2dvY0dGeVpXNTBMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0F2THlCVmNHUmhkR1VnZEdobElHTm9hV3hrSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0J2WmlCaGJHd2dkR2hsSUdGdVkyVnpkRzl5Y3l3Z2FXNWpiSFZrYVc1blhHNGdJQzh2SUhSb1pTQmhiSFJsY201aGRHVnpMbHh1SUNCMllYSWdibTlrWlNBOUlIQmhjbVZ1ZER0Y2JseHVJQ0IzYUdsc1pTQW9ibTlrWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhaaGNpQmhiSFJsY201aGRHVWdQU0J1YjJSbExtRnNkR1Z5Ym1GMFpUdGNibHh1SUNBZ0lHbG1JQ2h1YjJSbExtTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ2JtOWtaUzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJR2xtSUNoaGJIUmxjbTVoZEdVZ0lUMDlJRzUxYkd3Z0ppWWdZV3gwWlhKdVlYUmxMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0JoYkhSbGNtNWhkR1V1WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ZV3gwWlhKdVlYUmxJQ0U5UFNCdWRXeHNJQ1ltSUdGc2RHVnlibUYwWlM1amFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUdGc2RHVnlibUYwWlM1amFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRTVsYVhSb1pYSWdZV3gwWlhKdVlYUmxJSGRoY3lCMWNHUmhkR1ZrTENCM2FHbGphQ0J0WldGdWN5QjBhR1VnY21WemRDQnZaaUIwYUdWY2JpQWdJQ0FnSUM4dklHRnVZMlZ6ZEc5eUlIQmhkR2dnWVd4eVpXRmtlU0JvWVhNZ2MzVm1abWxqYVdWdWRDQndjbWx2Y21sMGVTNWNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJSDFjYmx4dUlDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnY0hKdmNHRm5ZWFJsUTI5dWRHVjRkRU5vWVc1blpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1kyOXVkR1Y0ZEN3Z1kyaGhibWRsWkVKcGRITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCbWFXSmxjaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVYRzRnSUdsbUlDaG1hV0psY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGTmxkQ0IwYUdVZ2NtVjBkWEp1SUhCdmFXNTBaWElnYjJZZ2RHaGxJR05vYVd4a0lIUnZJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUdacFltVnlMbHh1SUNBZ0lHWnBZbVZ5TG5KbGRIVnliaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpPMXh1SUNCOVhHNWNiaUFnZDJocGJHVWdLR1pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJRzVsZUhSR2FXSmxjaUE5SUhadmFXUWdNRHNnTHk4Z1ZtbHphWFFnZEdocGN5Qm1hV0psY2k1Y2JseHVJQ0FnSUhaaGNpQnNhWE4wSUQwZ1ptbGlaWEl1WkdWd1pXNWtaVzVqYVdWek8xeHVYRzRnSUNBZ2FXWWdLR3hwYzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHNWxlSFJHYVdKbGNpQTlJR1pwWW1WeUxtTm9hV3hrTzF4dUlDQWdJQ0FnZG1GeUlHUmxjR1Z1WkdWdVkza2dQU0JzYVhOMExtWnBjbk4wUTI5dWRHVjRkRHRjYmx4dUlDQWdJQ0FnZDJocGJHVWdLR1JsY0dWdVpHVnVZM2tnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRMmhsWTJzZ2FXWWdkR2hsSUdOdmJuUmxlSFFnYldGMFkyaGxjeTVjYmlBZ0lDQWdJQ0FnYVdZZ0tHUmxjR1Z1WkdWdVkza3VZMjl1ZEdWNGRDQTlQVDBnWTI5dWRHVjRkQ0FtSmlBb1pHVndaVzVrWlc1amVTNXZZbk5sY25abFpFSnBkSE1nSmlCamFHRnVaMlZrUW1sMGN5a2dJVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCTllYUmphQ0VnVTJOb1pXUjFiR1VnWVc0Z2RYQmtZWFJsSUc5dUlIUm9hWE1nWm1saVpYSXVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHWnBZbVZ5TG5SaFp5QTlQVDBnUTJ4aGMzTkRiMjF3YjI1bGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRk5qYUdWa2RXeGxJR0VnWm05eVkyVWdkWEJrWVhSbElHOXVJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56TGx4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhWd1pHRjBaU0E5SUdOeVpXRjBaVlZ3WkdGMFpTaHlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU3dnYm5Wc2JDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCMWNHUmhkR1V1ZEdGbklEMGdSbTl5WTJWVmNHUmhkR1U3SUM4dklGUlBSRTg2SUVKbFkyRjFjMlVnZDJVZ1pHOXVKM1FnYUdGMlpTQmhJSGR2Y21zdGFXNHRjSEp2WjNKbGMzTXNJSFJvYVhNZ2QybHNiQ0JoWkdRZ2RHaGxYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjFjR1JoZEdVZ2RHOGdkR2hsSUdOMWNuSmxiblFnWm1saVpYSXNJSFJ2Ynl3Z2QyaHBZMmdnYldWaGJuTWdhWFFnZDJsc2JDQndaWEp6YVhOMElHVjJaVzRnYVdaY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSb2FYTWdjbVZ1WkdWeUlHbHpJSFJvY205M2JpQmhkMkY1TGlCVGFXNWpaU0JwZENkeklHRWdjbUZqWlNCamIyNWthWFJwYjI0c0lHNXZkQ0J6ZFhKbElHbDBKM05jYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJSGR2Y25Sb0lHWnBlR2x1Wnk1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnWlc1eGRXVjFaVlZ3WkdGMFpTaG1hV0psY2l3Z2RYQmtZWFJsS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9abWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ptbGlaWEl1Wlhod2FYSmhkR2x2YmxScGJXVWdQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdZV3gwWlhKdVlYUmxJRDBnWm1saVpYSXVZV3gwWlhKdVlYUmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR0ZzZEdWeWJtRjBaU0FoUFQwZ2JuVnNiQ0FtSmlCaGJIUmxjbTVoZEdVdVpYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1lXeDBaWEp1WVhSbExtVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjMk5vWldSMWJHVlhiM0pyVDI1UVlYSmxiblJRWVhSb0tHWnBZbVZ5TG5KbGRIVnliaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE95QXZMeUJOWVhKcklIUm9aU0JsZUhCcGNtRjBhVzl1SUhScGJXVWdiMjRnZEdobElHeHBjM1FzSUhSdmJ5NWNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHNhWE4wTG1WNGNHbHlZWFJwYjI1VWFXMWxJRHdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd4cGMzUXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNCOUlDOHZJRk5wYm1ObElIZGxJR0ZzY21WaFpIa2dabTkxYm1RZ1lTQnRZWFJqYUN3Z2QyVWdZMkZ1SUhOMGIzQWdkSEpoZG1WeWMybHVaeUIwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJrWlhCbGJtUmxibU41SUd4cGMzUXVYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdaR1Z3Wlc1a1pXNWplU0E5SUdSbGNHVnVaR1Z1WTNrdWJtVjRkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1pwWW1WeUxuUmhaeUE5UFQwZ1EyOXVkR1Y0ZEZCeWIzWnBaR1Z5S1NCN1hHNGdJQ0FnSUNBdkx5QkViMjRuZENCelkyRnVJR1JsWlhCbGNpQnBaaUIwYUdseklHbHpJR0VnYldGMFkyaHBibWNnY0hKdmRtbGtaWEpjYmlBZ0lDQWdJRzVsZUhSR2FXSmxjaUE5SUdacFltVnlMblI1Y0dVZ1BUMDlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1VnUHlCdWRXeHNJRG9nWm1saVpYSXVZMmhwYkdRN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUZSeVlYWmxjbk5sSUdSdmQyNHVYRzRnSUNBZ0lDQnVaWGgwUm1saVpYSWdQU0JtYVdKbGNpNWphR2xzWkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JtVjRkRVpwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJUWlhRZ2RHaGxJSEpsZEhWeWJpQndiMmx1ZEdWeUlHOW1JSFJvWlNCamFHbHNaQ0IwYnlCMGFHVWdkMjl5YXkxcGJpMXdjbTluY21WemN5Qm1hV0psY2k1Y2JpQWdJQ0FnSUc1bGVIUkdhV0psY2k1eVpYUjFjbTRnUFNCbWFXSmxjanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdUbThnWTJocGJHUXVJRlJ5WVhabGNuTmxJSFJ2SUc1bGVIUWdjMmxpYkdsdVp5NWNiaUFnSUNBZ0lHNWxlSFJHYVdKbGNpQTlJR1pwWW1WeU8xeHVYRzRnSUNBZ0lDQjNhR2xzWlNBb2JtVjRkRVpwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR2xtSUNodVpYaDBSbWxpWlhJZ1BUMDlJSGR2Y210SmJsQnliMmR5WlhOektTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1YyVW5jbVVnWW1GamF5QjBieUIwYUdVZ2NtOXZkQ0J2WmlCMGFHbHpJSE4xWW5SeVpXVXVJRVY0YVhRdVhHNGdJQ0FnSUNBZ0lDQWdibVY0ZEVacFltVnlJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhaaGNpQnphV0pzYVc1bklEMGdibVY0ZEVacFltVnlMbk5wWW14cGJtYzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tITnBZbXhwYm1jZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCVFpYUWdkR2hsSUhKbGRIVnliaUJ3YjJsdWRHVnlJRzltSUhSb1pTQnphV0pzYVc1bklIUnZJSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUdacFltVnlMbHh1SUNBZ0lDQWdJQ0FnSUhOcFlteHBibWN1Y21WMGRYSnVJRDBnYm1WNGRFWnBZbVZ5TG5KbGRIVnlianRjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSbWxpWlhJZ1BTQnphV0pzYVc1bk8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUU1dklHMXZjbVVnYzJsaWJHbHVaM011SUZSeVlYWmxjbk5sSUhWd0xseHVYRzVjYmlBZ0lDQWdJQ0FnYm1WNGRFWnBZbVZ5SUQwZ2JtVjRkRVpwWW1WeUxuSmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JtYVdKbGNpQTlJRzVsZUhSR2FXSmxjanRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnY0hKbGNHRnlaVlJ2VW1WaFpFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUd4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlJRzUxYkd3N1hHNGdJR3hoYzNSRGIyNTBaWGgwVjJsMGFFRnNiRUpwZEhOUFluTmxjblpsWkNBOUlHNTFiR3c3WEc0Z0lIWmhjaUJrWlhCbGJtUmxibU5wWlhNZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1a1pYQmxibVJsYm1OcFpYTTdYRzVjYmlBZ2FXWWdLR1JsY0dWdVpHVnVZMmxsY3lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhaaGNpQm1hWEp6ZEVOdmJuUmxlSFFnUFNCa1pYQmxibVJsYm1OcFpYTXVabWx5YzNSRGIyNTBaWGgwTzF4dVhHNGdJQ0FnYVdZZ0tHWnBjbk4wUTI5dWRHVjRkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHUmxjR1Z1WkdWdVkybGxjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQStQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJEYjI1MFpYaDBJR3hwYzNRZ2FHRnpJR0VnY0dWdVpHbHVaeUIxY0dSaGRHVXVJRTFoY21zZ2RHaGhkQ0IwYUdseklHWnBZbVZ5SUhCbGNtWnZjbTFsWkNCM2IzSnJMbHh1SUNBZ0lDQWdJQ0J0WVhKclYyOXlhMGx1VUhKdlozSmxjM05TWldObGFYWmxaRlZ3WkdGMFpTZ3BPMXh1SUNBZ0lDQWdmU0F2THlCU1pYTmxkQ0IwYUdVZ2QyOXlheTFwYmkxd2NtOW5jbVZ6Y3lCc2FYTjBYRzVjYmx4dUlDQWdJQ0FnWkdWd1pXNWtaVzVqYVdWekxtWnBjbk4wUTI5dWRHVjRkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcElIdGNiaUFnZTF4dUlDQWdJQzh2SUZSb2FYTWdkMkZ5Ym1sdVp5QjNiM1ZzWkNCbWFYSmxJR2xtSUhsdmRTQnlaV0ZrSUdOdmJuUmxlSFFnYVc1emFXUmxJR0VnU0c5dmF5QnNhV3RsSUhWelpVMWxiVzh1WEc0Z0lDQWdMeThnVlc1c2FXdGxJSFJvWlNCamJHRnpjeUJqYUdWamF5QmlaV3h2ZHl3Z2FYUW5jeUJ1YjNRZ1pXNW1iM0pqWldRZ2FXNGdjSEp2WkhWamRHbHZiaUJtYjNJZ2NHVnlaaTVjYmlBZ0lDQnBaaUFvYVhORWFYTmhiR3h2ZDJWa1EyOXVkR1Y0ZEZKbFlXUkpia1JGVmlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjBOdmJuUmxlSFFnWTJGdUlHOXViSGtnWW1VZ2NtVmhaQ0IzYUdsc1pTQlNaV0ZqZENCcGN5QnlaVzVrWlhKcGJtY3VJQ2NnS3lBblNXNGdZMnhoYzNObGN5d2dlVzkxSUdOaGJpQnlaV0ZrSUdsMElHbHVJSFJvWlNCeVpXNWtaWElnYldWMGFHOWtJRzl5SUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeTRnSnlBcklDZEpiaUJtZFc1amRHbHZiaUJqYjIxd2IyNWxiblJ6TENCNWIzVWdZMkZ1SUhKbFlXUWdhWFFnWkdseVpXTjBiSGtnYVc0Z2RHaGxJR1oxYm1OMGFXOXVJR0p2Wkhrc0lHSjFkQ0J1YjNRZ0p5QXJJQ2RwYm5OcFpHVWdTRzl2YTNNZ2JHbHJaU0IxYzJWU1pXUjFZMlZ5S0NrZ2IzSWdkWE5sVFdWdGJ5Z3BMaWNwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHNZWE4wUTI5dWRHVjRkRmRwZEdoQmJHeENhWFJ6VDJKelpYSjJaV1FnUFQwOUlHTnZiblJsZUhRcElEc2daV3h6WlNCcFppQW9iMkp6WlhKMlpXUkNhWFJ6SUQwOVBTQm1ZV3h6WlNCOGZDQnZZbk5sY25abFpFSnBkSE1nUFQwOUlEQXBJRHNnWld4elpTQjdYRzRnSUNBZ2RtRnlJSEpsYzI5c2RtVmtUMkp6WlhKMlpXUkNhWFJ6T3lBdkx5QkJkbTlwWkNCa1pXOXdkR2x1WnlCdmJpQnZZbk5sY25aaFlteGxJR0Z5WjNWdFpXNTBjeUJ2Y2lCb1pYUmxjbTluWlc1bGIzVnpJSFI1Y0dWekxseHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZZbk5sY25abFpFSnBkSE1nSVQwOUlDZHVkVzFpWlhJbklIeDhJRzlpYzJWeWRtVmtRbWwwY3lBOVBUMGdUVUZZWDFOSlIwNUZSRjh6TVY5Q1NWUmZTVTVVS1NCN1hHNGdJQ0FnSUNBdkx5QlBZbk5sY25abElHRnNiQ0IxY0dSaGRHVnpMbHh1SUNBZ0lDQWdiR0Z6ZEVOdmJuUmxlSFJYYVhSb1FXeHNRbWwwYzA5aWMyVnlkbVZrSUQwZ1kyOXVkR1Y0ZER0Y2JpQWdJQ0FnSUhKbGMyOXNkbVZrVDJKelpYSjJaV1JDYVhSeklEMGdUVUZZWDFOSlIwNUZSRjh6TVY5Q1NWUmZTVTVVTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaWE52YkhabFpFOWljMlZ5ZG1Wa1FtbDBjeUE5SUc5aWMyVnlkbVZrUW1sMGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZMjl1ZEdWNGRFbDBaVzBnUFNCN1hHNGdJQ0FnSUNCamIyNTBaWGgwT2lCamIyNTBaWGgwTEZ4dUlDQWdJQ0FnYjJKelpYSjJaV1JDYVhSek9pQnlaWE52YkhabFpFOWljMlZ5ZG1Wa1FtbDBjeXhjYmlBZ0lDQWdJRzVsZUhRNklHNTFiR3hjYmlBZ0lDQjlPMXh1WEc0Z0lDQWdhV1lnS0d4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0NFb1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElnSVQwOUlHNTFiR3dwS1NCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkRiMjUwWlhoMElHTmhiaUJ2Ym14NUlHSmxJSEpsWVdRZ2QyaHBiR1VnVW1WaFkzUWdhWE1nY21WdVpHVnlhVzVuTGlCSmJpQmpiR0Z6YzJWekxDQjViM1VnWTJGdUlISmxZV1FnYVhRZ2FXNGdkR2hsSUhKbGJtUmxjaUJ0WlhSb2IyUWdiM0lnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpMaUJKYmlCbWRXNWpkR2x2YmlCamIyMXdiMjVsYm5SekxDQjViM1VnWTJGdUlISmxZV1FnYVhRZ1pHbHlaV04wYkhrZ2FXNGdkR2hsSUdaMWJtTjBhVzl1SUdKdlpIa3NJR0oxZENCdWIzUWdhVzV6YVdSbElFaHZiMnR6SUd4cGEyVWdkWE5sVW1Wa2RXTmxjaWdwSUc5eUlIVnpaVTFsYlc4b0tTNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUlDOHZJRlJvYVhNZ2FYTWdkR2hsSUdacGNuTjBJR1JsY0dWdVpHVnVZM2tnWm05eUlIUm9hWE1nWTI5dGNHOXVaVzUwTGlCRGNtVmhkR1VnWVNCdVpYY2diR2x6ZEM1Y2JseHVYRzRnSUNBZ0lDQnNZWE4wUTI5dWRHVjRkRVJsY0dWdVpHVnVZM2tnUFNCamIyNTBaWGgwU1hSbGJUdGNiaUFnSUNBZ0lHTjFjbkpsYm5Sc2VWSmxibVJsY21sdVowWnBZbVZ5TG1SbGNHVnVaR1Z1WTJsbGN5QTlJSHRjYmlBZ0lDQWdJQ0FnWlhod2FYSmhkR2x2YmxScGJXVTZJRTV2VjI5eWF5eGNiaUFnSUNBZ0lDQWdabWx5YzNSRGIyNTBaWGgwT2lCamIyNTBaWGgwU1hSbGJTeGNiaUFnSUNBZ0lDQWdjbVZ6Y0c5dVpHVnljem9nYm5Wc2JGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnTHk4Z1FYQndaVzVrSUdFZ2JtVjNJR052Ym5SbGVIUWdhWFJsYlM1Y2JpQWdJQ0FnSUd4aGMzUkRiMjUwWlhoMFJHVndaVzVrWlc1amVTQTlJR3hoYzNSRGIyNTBaWGgwUkdWd1pXNWtaVzVqZVM1dVpYaDBJRDBnWTI5dWRHVjRkRWwwWlcwN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUNCamIyNTBaWGgwTGw5amRYSnlaVzUwVm1Gc2RXVWdPMXh1ZlZ4dVhHNTJZWElnVlhCa1lYUmxVM1JoZEdVZ1BTQXdPMXh1ZG1GeUlGSmxjR3hoWTJWVGRHRjBaU0E5SURFN1hHNTJZWElnUm05eVkyVlZjR1JoZEdVZ1BTQXlPMXh1ZG1GeUlFTmhjSFIxY21WVmNHUmhkR1VnUFNBek95QXZMeUJIYkc5aVlXd2djM1JoZEdVZ2RHaGhkQ0JwY3lCeVpYTmxkQ0JoZENCMGFHVWdZbVZuYVc1dWFXNW5JRzltSUdOaGJHeHBibWNnWUhCeWIyTmxjM05WY0dSaGRHVlJkV1YxWldBdVhHNHZMeUJKZENCemFHOTFiR1FnYjI1c2VTQmlaU0J5WldGa0lISnBaMmgwSUdGbWRHVnlJR05oYkd4cGJtY2dZSEJ5YjJObGMzTlZjR1JoZEdWUmRXVjFaV0FzSUhacFlWeHVMeThnWUdOb1pXTnJTR0Z6Um05eVkyVlZjR1JoZEdWQlpuUmxjbEJ5YjJObGMzTnBibWRnTGx4dVhHNTJZWElnYUdGelJtOXlZMlZWY0dSaGRHVWdQU0JtWVd4elpUdGNiblpoY2lCa2FXUlhZWEp1VlhCa1lYUmxTVzV6YVdSbFZYQmtZWFJsTzF4dWRtRnlJR04xY25KbGJuUnNlVkJ5YjJObGMzTnBibWRSZFdWMVpUdGNibHh1ZTF4dUlDQmthV1JYWVhKdVZYQmtZWFJsU1c1emFXUmxWWEJrWVhSbElEMGdabUZzYzJVN1hHNGdJR04xY25KbGJuUnNlVkJ5YjJObGMzTnBibWRSZFdWMVpTQTlJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdsdWFYUnBZV3hwZW1WVmNHUmhkR1ZSZFdWMVpTaG1hV0psY2lrZ2UxeHVJQ0IyWVhJZ2NYVmxkV1VnUFNCN1hHNGdJQ0FnWW1GelpWTjBZWFJsT2lCbWFXSmxjaTV0WlcxdmFYcGxaRk4wWVhSbExGeHVJQ0FnSUdKaGMyVlJkV1YxWlRvZ2JuVnNiQ3hjYmlBZ0lDQnphR0Z5WldRNklIdGNiaUFnSUNBZ0lIQmxibVJwYm1jNklHNTFiR3hjYmlBZ0lDQjlMRnh1SUNBZ0lHVm1abVZqZEhNNklHNTFiR3hjYmlBZ2ZUdGNiaUFnWm1saVpYSXVkWEJrWVhSbFVYVmxkV1VnUFNCeGRXVjFaVHRjYm4xY2JtWjFibU4wYVc5dUlHTnNiMjVsVlhCa1lYUmxVWFZsZFdVb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdMeThnUTJ4dmJtVWdkR2hsSUhWd1pHRjBaU0J4ZFdWMVpTQm1jbTl0SUdOMWNuSmxiblF1SUZWdWJHVnpjeUJwZENkeklHRnNjbVZoWkhrZ1lTQmpiRzl1WlM1Y2JpQWdkbUZ5SUhGMVpYVmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVkWEJrWVhSbFVYVmxkV1U3WEc0Z0lIWmhjaUJqZFhKeVpXNTBVWFZsZFdVZ1BTQmpkWEp5Wlc1MExuVndaR0YwWlZGMVpYVmxPMXh1WEc0Z0lHbG1JQ2h4ZFdWMVpTQTlQVDBnWTNWeWNtVnVkRkYxWlhWbEtTQjdYRzRnSUNBZ2RtRnlJR05zYjI1bElEMGdlMXh1SUNBZ0lDQWdZbUZ6WlZOMFlYUmxPaUJqZFhKeVpXNTBVWFZsZFdVdVltRnpaVk4wWVhSbExGeHVJQ0FnSUNBZ1ltRnpaVkYxWlhWbE9pQmpkWEp5Wlc1MFVYVmxkV1V1WW1GelpWRjFaWFZsTEZ4dUlDQWdJQ0FnYzJoaGNtVmtPaUJqZFhKeVpXNTBVWFZsZFdVdWMyaGhjbVZrTEZ4dUlDQWdJQ0FnWldabVpXTjBjem9nWTNWeWNtVnVkRkYxWlhWbExtVm1abVZqZEhOY2JpQWdJQ0I5TzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnWTJ4dmJtVTdYRzRnSUgxY2JuMWNibVoxYm1OMGFXOXVJR055WldGMFpWVndaR0YwWlNobGVIQnBjbUYwYVc5dVZHbHRaU3dnYzNWemNHVnVjMlZEYjI1bWFXY3BJSHRjYmlBZ2RtRnlJSFZ3WkdGMFpTQTlJSHRjYmlBZ0lDQmxlSEJwY21GMGFXOXVWR2x0WlRvZ1pYaHdhWEpoZEdsdmJsUnBiV1VzWEc0Z0lDQWdjM1Z6Y0dWdWMyVkRiMjVtYVdjNklITjFjM0JsYm5ObFEyOXVabWxuTEZ4dUlDQWdJSFJoWnpvZ1ZYQmtZWFJsVTNSaGRHVXNYRzRnSUNBZ2NHRjViRzloWkRvZ2JuVnNiQ3hjYmlBZ0lDQmpZV3hzWW1GamF6b2diblZzYkN4Y2JpQWdJQ0J1WlhoME9pQnVkV3hzWEc0Z0lIMDdYRzRnSUhWd1pHRjBaUzV1WlhoMElEMGdkWEJrWVhSbE8xeHVYRzRnSUh0Y2JpQWdJQ0IxY0dSaGRHVXVjSEpwYjNKcGRIa2dQU0JuWlhSRGRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJDZ3BPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSFZ3WkdGMFpUdGNibjFjYm1aMWJtTjBhVzl1SUdWdWNYVmxkV1ZWY0dSaGRHVW9abWxpWlhJc0lIVndaR0YwWlNrZ2UxeHVJQ0IyWVhJZ2RYQmtZWFJsVVhWbGRXVWdQU0JtYVdKbGNpNTFjR1JoZEdWUmRXVjFaVHRjYmx4dUlDQnBaaUFvZFhCa1lYUmxVWFZsZFdVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBdkx5QlBibXg1SUc5alkzVnljeUJwWmlCMGFHVWdabWxpWlhJZ2FHRnpJR0psWlc0Z2RXNXRiM1Z1ZEdWa0xseHVJQ0FnSUhKbGRIVnlianRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnphR0Z5WldSUmRXVjFaU0E5SUhWd1pHRjBaVkYxWlhWbExuTm9ZWEpsWkR0Y2JpQWdkbUZ5SUhCbGJtUnBibWNnUFNCemFHRnlaV1JSZFdWMVpTNXdaVzVrYVc1bk8xeHVYRzRnSUdsbUlDaHdaVzVrYVc1bklEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWR2hwY3lCcGN5QjBhR1VnWm1seWMzUWdkWEJrWVhSbExpQkRjbVZoZEdVZ1lTQmphWEpqZFd4aGNpQnNhWE4wTGx4dUlDQWdJSFZ3WkdGMFpTNXVaWGgwSUQwZ2RYQmtZWFJsTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhWd1pHRjBaUzV1WlhoMElEMGdjR1Z1WkdsdVp5NXVaWGgwTzF4dUlDQWdJSEJsYm1ScGJtY3VibVY0ZENBOUlIVndaR0YwWlR0Y2JpQWdmVnh1WEc0Z0lITm9ZWEpsWkZGMVpYVmxMbkJsYm1ScGJtY2dQU0IxY0dSaGRHVTdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDaGpkWEp5Wlc1MGJIbFFjbTlqWlhOemFXNW5VWFZsZFdVZ1BUMDlJSE5vWVhKbFpGRjFaWFZsSUNZbUlDRmthV1JYWVhKdVZYQmtZWFJsU1c1emFXUmxWWEJrWVhSbEtTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblFXNGdkWEJrWVhSbElDaHpaWFJUZEdGMFpTd2djbVZ3YkdGalpWTjBZWFJsTENCdmNpQm1iM0pqWlZWd1pHRjBaU2tnZDJGeklITmphR1ZrZFd4bFpDQW5JQ3NnSjJaeWIyMGdhVzV6YVdSbElHRnVJSFZ3WkdGMFpTQm1kVzVqZEdsdmJpNGdWWEJrWVhSbElHWjFibU4wYVc5dWN5QnphRzkxYkdRZ1ltVWdjSFZ5WlN3Z0p5QXJJQ2QzYVhSb0lIcGxjbThnYzJsa1pTMWxabVpsWTNSekxpQkRiMjV6YVdSbGNpQjFjMmx1WnlCamIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVZ2IzSWdZU0FuSUNzZ0oyTmhiR3hpWVdOckxpY3BPMXh1WEc0Z0lDQWdJQ0JrYVdSWFlYSnVWWEJrWVhSbFNXNXphV1JsVlhCa1lYUmxJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHVnVjWFZsZFdWRFlYQjBkWEpsWkZWd1pHRjBaU2gzYjNKclNXNVFjbTluY21WemN5d2dkWEJrWVhSbEtTQjdYRzRnSUhaaGNpQmpkWEp5Wlc1MElEMGdkMjl5YTBsdVVISnZaM0psYzNNdVlXeDBaWEp1WVhSbE8xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdSVzV6ZFhKbElIUm9aU0IzYjNKckxXbHVMWEJ5YjJkeVpYTnpJSEYxWlhWbElHbHpJR0VnWTJ4dmJtVmNiaUFnSUNCamJHOXVaVlZ3WkdGMFpWRjFaWFZsS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ2ZTQXZMeUJEWVhCMGRYSmxaQ0IxY0dSaGRHVnpJR2R2SUc5dWJIa2diMjRnZEdobElIZHZjbXN0YVc0dGNISnZaM0psYzNNZ2NYVmxkV1V1WEc1Y2JseHVJQ0IyWVhJZ2NYVmxkV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlRzZ0x5OGdRWEJ3Wlc1a0lIUm9aU0IxY0dSaGRHVWdkRzhnZEdobElHVnVaQ0J2WmlCMGFHVWdiR2x6ZEM1Y2JseHVJQ0IyWVhJZ2JHRnpkQ0E5SUhGMVpYVmxMbUpoYzJWUmRXVjFaVHRjYmx4dUlDQnBaaUFvYkdGemRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIRjFaWFZsTG1KaGMyVlJkV1YxWlNBOUlIVndaR0YwWlM1dVpYaDBJRDBnZFhCa1lYUmxPMXh1SUNBZ0lIVndaR0YwWlM1dVpYaDBJRDBnZFhCa1lYUmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFZ3WkdGMFpTNXVaWGgwSUQwZ2JHRnpkQzV1WlhoME8xeHVJQ0FnSUd4aGMzUXVibVY0ZENBOUlIVndaR0YwWlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJUZEdGMFpVWnliMjFWY0dSaGRHVW9kMjl5YTBsdVVISnZaM0psYzNNc0lIRjFaWFZsTENCMWNHUmhkR1VzSUhCeVpYWlRkR0YwWlN3Z2JtVjRkRkJ5YjNCekxDQnBibk4wWVc1alpTa2dlMXh1SUNCemQybDBZMmdnS0hWd1pHRjBaUzUwWVdjcElIdGNiaUFnSUNCallYTmxJRkpsY0d4aFkyVlRkR0YwWlRwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJoZVd4dllXUWdQU0IxY0dSaGRHVXVjR0Y1Ykc5aFpEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUhCaGVXeHZZV1FnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlZjR1JoZEdWeUlHWjFibU4wYVc5dVhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXNTBaWEpFYVhOaGJHeHZkMlZrUTI5dWRHVjRkRkpsWVdSSmJrUkZWaWdwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xdlpHVWdKaUJUZEhKcFkzUk5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCaGVXeHZZV1F1WTJGc2JDaHBibk4wWVc1alpTd2djSEpsZGxOMFlYUmxMQ0J1WlhoMFVISnZjSE1wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCdVpYaDBVM1JoZEdVZ1BTQndZWGxzYjJGa0xtTmhiR3dvYVc1emRHRnVZMlVzSUhCeVpYWlRkR0YwWlN3Z2JtVjRkRkJ5YjNCektUdGNibHh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Y0YVhSRWFYTmhiR3h2ZDJWa1EyOXVkR1Y0ZEZKbFlXUkpia1JGVmlncE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYaDBVM1JoZEdVN1hHNGdJQ0FnSUNBZ0lIMGdMeThnVTNSaGRHVWdiMkpxWldOMFhHNWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjR0Y1Ykc5aFpEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUTJGd2RIVnlaVlZ3WkdGMFpUcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklEMGdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklDWWdmbE5vYjNWc1pFTmhjSFIxY21VZ2ZDQkVhV1JEWVhCMGRYSmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDOHZJRWx1ZEdWdWRHbHZibUZzSUdaaGJHeDBhSEp2ZFdkb1hHNWNiaUFnSUNCallYTmxJRlZ3WkdGMFpWTjBZWFJsT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM0JoZVd4dllXUWdQU0IxY0dSaGRHVXVjR0Y1Ykc5aFpEdGNiaUFnSUNBZ0lDQWdkbUZ5SUhCaGNuUnBZV3hUZEdGMFpUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RIbHdaVzltSUY5d1lYbHNiMkZrSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWWEJrWVhSbGNpQm1kVzVqZEdsdmJseHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHVnVkR1Z5UkdsellXeHNiM2RsWkVOdmJuUmxlSFJTWldGa1NXNUVSVllvS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dGIyUmxJQ1lnVTNSeWFXTjBUVzlrWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCZmNHRjViRzloWkM1allXeHNLR2x1YzNSaGJtTmxMQ0J3Y21WMlUzUmhkR1VzSUc1bGVIUlFjbTl3Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnY0dGeWRHbGhiRk4wWVhSbElEMGdYM0JoZVd4dllXUXVZMkZzYkNocGJuTjBZVzVqWlN3Z2NISmxkbE4wWVhSbExDQnVaWGgwVUhKdmNITXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhocGRFUnBjMkZzYkc5M1pXUkRiMjUwWlhoMFVtVmhaRWx1UkVWV0tDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRkJoY25ScFlXd2djM1JoZEdVZ2IySnFaV04wWEc0Z0lDQWdJQ0FnSUNBZ2NHRnlkR2xoYkZOMFlYUmxJRDBnWDNCaGVXeHZZV1E3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0dGeWRHbGhiRk4wWVhSbElEMDlQU0J1ZFd4c0lIeDhJSEJoY25ScFlXeFRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdUblZzYkNCaGJtUWdkVzVrWldacGJtVmtJR0Z5WlNCMGNtVmhkR1ZrSUdGeklHNXZMVzl3Y3k1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NISmxkbE4wWVhSbE8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUUxbGNtZGxJSFJvWlNCd1lYSjBhV0ZzSUhOMFlYUmxJR0Z1WkNCMGFHVWdjSEpsZG1sdmRYTWdjM1JoZEdVdVhHNWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdYMkZ6YzJsbmJpaDdmU3dnY0hKbGRsTjBZWFJsTENCd1lYSjBhV0ZzVTNSaGRHVXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCR2IzSmpaVlZ3WkdGMFpUcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdhR0Z6Um05eVkyVlZjR1JoZEdVZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0hKbGRsTjBZWFJsTzF4dUlDQWdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhCeVpYWlRkR0YwWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY0hKdlkyVnpjMVZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J3Y205d2N5d2dhVzV6ZEdGdVkyVXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQzh2SUZSb2FYTWdhWE1nWVd4M1lYbHpJRzV2YmkxdWRXeHNJRzl1SUdFZ1EyeGhjM05EYjIxd2IyNWxiblFnYjNJZ1NHOXpkRkp2YjNSY2JpQWdkbUZ5SUhGMVpYVmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVkWEJrWVhSbFVYVmxkV1U3WEc0Z0lHaGhjMFp2Y21ObFZYQmtZWFJsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdlMXh1SUNBZ0lHTjFjbkpsYm5Sc2VWQnliMk5sYzNOcGJtZFJkV1YxWlNBOUlIRjFaWFZsTG5Ob1lYSmxaRHRjYmlBZ2ZTQXZMeUJVYUdVZ2JHRnpkQ0J5WldKaGMyVWdkWEJrWVhSbElIUm9ZWFFnYVhNZ1RrOVVJSEJoY25RZ2IyWWdkR2hsSUdKaGMyVWdjM1JoZEdVdVhHNWNibHh1SUNCMllYSWdZbUZ6WlZGMVpYVmxJRDBnY1hWbGRXVXVZbUZ6WlZGMVpYVmxPeUF2THlCVWFHVWdiR0Z6ZENCd1pXNWthVzVuSUhWd1pHRjBaU0IwYUdGMElHaGhjMjRuZENCaVpXVnVJSEJ5YjJObGMzTmxaQ0I1WlhRdVhHNWNiaUFnZG1GeUlIQmxibVJwYm1kUmRXVjFaU0E5SUhGMVpYVmxMbk5vWVhKbFpDNXdaVzVrYVc1bk8xeHVYRzRnSUdsbUlDaHdaVzVrYVc1blVYVmxkV1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCWFpTQm9ZWFpsSUc1bGR5QjFjR1JoZEdWeklIUm9ZWFFnYUdGMlpXNG5kQ0JpWldWdUlIQnliMk5sYzNObFpDQjVaWFF1WEc0Z0lDQWdMeThnVjJVbmJHd2dZV1JrSUhSb1pXMGdkRzhnZEdobElHSmhjMlVnY1hWbGRXVXVYRzRnSUNBZ2FXWWdLR0poYzJWUmRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1RXVnlaMlVnZEdobElIQmxibVJwYm1jZ2NYVmxkV1VnWVc1a0lIUm9aU0JpWVhObElIRjFaWFZsTGx4dUlDQWdJQ0FnZG1GeUlHSmhjMlZHYVhKemRDQTlJR0poYzJWUmRXVjFaUzV1WlhoME8xeHVJQ0FnSUNBZ2RtRnlJSEJsYm1ScGJtZEdhWEp6ZENBOUlIQmxibVJwYm1kUmRXVjFaUzV1WlhoME8xeHVJQ0FnSUNBZ1ltRnpaVkYxWlhWbExtNWxlSFFnUFNCd1pXNWthVzVuUm1seWMzUTdYRzRnSUNBZ0lDQndaVzVrYVc1blVYVmxkV1V1Ym1WNGRDQTlJR0poYzJWR2FYSnpkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmlZWE5sVVhWbGRXVWdQU0J3Wlc1a2FXNW5VWFZsZFdVN1hHNGdJQ0FnY1hWbGRXVXVjMmhoY21Wa0xuQmxibVJwYm1jZ1BTQnVkV3hzT3lBdkx5QlVUMFJQT2lCUVlYTnpJR0JqZFhKeVpXNTBZQ0JoY3lCaGNtZDFiV1Z1ZEZ4dVhHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aGJIUmxjbTVoZEdVN1hHNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdOMWNuSmxiblJSZFdWMVpTQTlJR04xY25KbGJuUXVkWEJrWVhSbFVYVmxkV1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MFVYVmxkV1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEZGMVpYVmxMbUpoYzJWUmRXVjFaU0E5SUhCbGJtUnBibWRSZFdWMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnTHk4Z1ZHaGxjMlVnZG1Gc2RXVnpJRzFoZVNCamFHRnVaMlVnWVhNZ2QyVWdjSEp2WTJWemN5QjBhR1VnY1hWbGRXVXVYRzVjYmx4dUlDQnBaaUFvWW1GelpWRjFaWFZsSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHWnBjbk4wSUQwZ1ltRnpaVkYxWlhWbExtNWxlSFE3SUM4dklFbDBaWEpoZEdVZ2RHaHliM1ZuYUNCMGFHVWdiR2x6ZENCdlppQjFjR1JoZEdWeklIUnZJR052YlhCMWRHVWdkR2hsSUhKbGMzVnNkQzVjYmx4dUlDQWdJSFpoY2lCdVpYZFRkR0YwWlNBOUlIRjFaWFZsTG1KaGMyVlRkR0YwWlR0Y2JpQWdJQ0IyWVhJZ2JtVjNSWGh3YVhKaGRHbHZibFJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJQ0FnZG1GeUlHNWxkMEpoYzJWVGRHRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ2RtRnlJRzVsZDBKaGMyVlJkV1YxWlVacGNuTjBJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdibVYzUW1GelpWRjFaWFZsVEdGemRDQTlJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9abWx5YzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUIxY0dSaGRHVWdQU0JtYVhKemREdGNibHh1SUNBZ0lDQWdaRzhnZTF4dUlDQWdJQ0FnSUNCMllYSWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCMWNHUmhkR1V1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxJRHdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCUWNtbHZjbWwwZVNCcGN5QnBibk4xWm1acFkybGxiblF1SUZOcmFYQWdkR2hwY3lCMWNHUmhkR1V1SUVsbUlIUm9hWE1nYVhNZ2RHaGxJR1pwY25OMFhHNGdJQ0FnSUNBZ0lDQWdMeThnYzJ0cGNIQmxaQ0IxY0dSaGRHVXNJSFJvWlNCd2NtVjJhVzkxY3lCMWNHUmhkR1V2YzNSaGRHVWdhWE1nZEdobElHNWxkeUJpWVhObFhHNGdJQ0FnSUNBZ0lDQWdMeThnZFhCa1lYUmxMM04wWVhSbExseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCamJHOXVaU0E5SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Y0Y0dseVlYUnBiMjVVYVcxbE9pQjFjR1JoZEdVdVpYaHdhWEpoZEdsdmJsUnBiV1VzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpkWE53Wlc1elpVTnZibVpwWnpvZ2RYQmtZWFJsTG5OMWMzQmxibk5sUTI5dVptbG5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRm5PaUIxY0dSaGRHVXVkR0ZuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjR0Y1Ykc5aFpEb2dkWEJrWVhSbExuQmhlV3h2WVdRc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVd4c1ltRmphem9nZFhCa1lYUmxMbU5oYkd4aVlXTnJMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JtVjRkRG9nYm5Wc2JGeHVJQ0FnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYm1WM1FtRnpaVkYxWlhWbFRHRnpkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibVYzUW1GelpWRjFaWFZsUm1seWMzUWdQU0J1WlhkQ1lYTmxVWFZsZFdWTVlYTjBJRDBnWTJ4dmJtVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCdVpYZENZWE5sVTNSaGRHVWdQU0J1WlhkVGRHRjBaVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdibVYzUW1GelpWRjFaWFZsVEdGemRDQTlJRzVsZDBKaGMyVlJkV1YxWlV4aGMzUXVibVY0ZENBOUlHTnNiMjVsTzF4dUlDQWdJQ0FnSUNBZ0lIMGdMeThnVlhCa1lYUmxJSFJvWlNCeVpXMWhhVzVwYm1jZ2NISnBiM0pwZEhrZ2FXNGdkR2hsSUhGMVpYVmxMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVZ1BpQnVaWGRGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2JtVjNSWGh3YVhKaGRHbHZibFJwYldVZ1BTQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVkdocGN5QjFjR1JoZEdVZ1pHOWxjeUJvWVhabElITjFabVpwWTJsbGJuUWdjSEpwYjNKcGRIa3VYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxkMEpoYzJWUmRXVjFaVXhoYzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmZZMnh2Ym1VZ1BTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjRjR2x5WVhScGIyNVVhVzFsT2lCVGVXNWpMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdseklIVndaR0YwWlNCcGN5Qm5iMmx1WnlCMGJ5QmlaU0JqYjIxdGFYUjBaV1FnYzI4Z2QyVWdibVYyWlhJZ2QyRnVkQ0IxYm1OdmJXMXBkQ0JwZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNWemNHVnVjMlZEYjI1bWFXYzZJSFZ3WkdGMFpTNXpkWE53Wlc1elpVTnZibVpwWnl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdGbk9pQjFjR1JoZEdVdWRHRm5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQndZWGxzYjJGa09pQjFjR1JoZEdVdWNHRjViRzloWkN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGc2JHSmhZMnM2SUhWd1pHRjBaUzVqWVd4c1ltRmpheXhjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdibVY0ZERvZ2JuVnNiRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lDQWdJQ0FnSUc1bGQwSmhjMlZSZFdWMVpVeGhjM1FnUFNCdVpYZENZWE5sVVhWbGRXVk1ZWE4wTG01bGVIUWdQU0JmWTJ4dmJtVTdYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5Qk5ZWEpySUhSb1pTQmxkbVZ1ZENCMGFXMWxJRzltSUhSb2FYTWdkWEJrWVhSbElHRnpJSEpsYkdWMllXNTBJSFJ2SUhSb2FYTWdjbVZ1WkdWeUlIQmhjM011WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJ6YUc5MWJHUWdhV1JsWVd4c2VTQjFjMlVnZEdobElIUnlkV1VnWlhabGJuUWdkR2x0WlNCdlppQjBhR2x6SUhWd1pHRjBaU0J5WVhSb1pYSWdkR2hoYmx4dUlDQWdJQ0FnSUNBZ0lDOHZJR2wwY3lCd2NtbHZjbWwwZVNCM2FHbGphQ0JwY3lCaElHUmxjbWwyWldRZ1lXNWtJRzV2ZENCeVpYWmxjbk5sWVdKc1pTQjJZV3gxWlM1Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlhaU0J6YUc5MWJHUWdjMnRwY0NCMGFHbHpJSFZ3WkdGMFpTQnBaaUJwZENCM1lYTWdZV3h5WldGa2VTQmpiMjF0YVhSMFpXUWdZblYwSUdOMWNuSmxiblJzZVZ4dUlDQWdJQ0FnSUNBZ0lDOHZJSGRsSUdoaGRtVWdibThnZDJGNUlHOW1JR1JsZEdWamRHbHVaeUIwYUdVZ1pHbG1abVZ5Wlc1alpTQmlaWFIzWldWdUlHRWdZMjl0YldsMGRHVmtJR0Z1WkNCemRYTndaVzVrWldSY2JpQWdJQ0FnSUNBZ0lDQXZMeUIxY0dSaGRHVWdhR1Z5WlM1Y2JseHVYRzRnSUNBZ0lDQWdJQ0FnYldGeWExSmxibVJsY2tWMlpXNTBWR2x0WlVGdVpFTnZibVpwWnloMWNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpTd2dkWEJrWVhSbExuTjFjM0JsYm5ObFEyOXVabWxuS1RzZ0x5OGdVSEp2WTJWemN5QjBhR2x6SUhWd1pHRjBaUzVjYmx4dUlDQWdJQ0FnSUNBZ0lHNWxkMU4wWVhSbElEMGdaMlYwVTNSaGRHVkdjbTl0VlhCa1lYUmxLSGR2Y210SmJsQnliMmR5WlhOekxDQnhkV1YxWlN3Z2RYQmtZWFJsTENCdVpYZFRkR0YwWlN3Z2NISnZjSE1zSUdsdWMzUmhibU5sS1R0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTJGc2JHSmhZMnNnUFNCMWNHUmhkR1V1WTJGc2JHSmhZMnM3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWTJGc2JHSmhZMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JEWVd4c1ltRmphenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJsWm1abFkzUnpJRDBnY1hWbGRXVXVaV1ptWldOMGN6dGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1ZtWm1WamRITWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjWFZsZFdVdVpXWm1aV04wY3lBOUlGdDFjR1JoZEdWZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaV1ptWldOMGN5NXdkWE5vS0hWd1pHRjBaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdkWEJrWVhSbElEMGdkWEJrWVhSbExtNWxlSFE3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFZ3WkdGMFpTQTlQVDBnYm5Wc2JDQjhmQ0IxY0dSaGRHVWdQVDA5SUdacGNuTjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NHVnVaR2x1WjFGMVpYVmxJRDBnY1hWbGRXVXVjMmhoY21Wa0xuQmxibVJwYm1jN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2NHVnVaR2x1WjFGMVpYVmxJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1FXNGdkWEJrWVhSbElIZGhjeUJ6WTJobFpIVnNaV1FnWm5KdmJTQnBibk5wWkdVZ1lTQnlaV1IxWTJWeUxpQkJaR1FnZEdobElHNWxkMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjR1Z1WkdsdVp5QjFjR1JoZEdWeklIUnZJSFJvWlNCbGJtUWdiMllnZEdobElHeHBjM1FnWVc1a0lHdGxaWEFnY0hKdlkyVnpjMmx1Wnk1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFZ3WkdGMFpTQTlJR0poYzJWUmRXVjFaUzV1WlhoMElEMGdjR1Z1WkdsdVoxRjFaWFZsTG01bGVIUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCd1pXNWthVzVuVVhWbGRXVXVibVY0ZENBOUlHWnBjbk4wTzF4dUlDQWdJQ0FnSUNBZ0lDQWdjWFZsZFdVdVltRnpaVkYxWlhWbElEMGdZbUZ6WlZGMVpYVmxJRDBnY0dWdVpHbHVaMUYxWlhWbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY1hWbGRXVXVjMmhoY21Wa0xuQmxibVJwYm1jZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0IzYUdsc1pTQW9kSEoxWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHNWxkMEpoYzJWUmRXVjFaVXhoYzNRZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHNWxkMEpoYzJWVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnVaWGRDWVhObFVYVmxkV1ZNWVhOMExtNWxlSFFnUFNCdVpYZENZWE5sVVhWbGRXVkdhWEp6ZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J4ZFdWMVpTNWlZWE5sVTNSaGRHVWdQU0J1WlhkQ1lYTmxVM1JoZEdVN1hHNGdJQ0FnY1hWbGRXVXVZbUZ6WlZGMVpYVmxJRDBnYm1WM1FtRnpaVkYxWlhWbFRHRnpkRHNnTHk4Z1UyVjBJSFJvWlNCeVpXMWhhVzVwYm1jZ1pYaHdhWEpoZEdsdmJpQjBhVzFsSUhSdklHSmxJSGRvWVhSbGRtVnlJR2x6SUhKbGJXRnBibWx1WnlCcGJpQjBhR1VnY1hWbGRXVXVYRzRnSUNBZ0x5OGdWR2hwY3lCemFHOTFiR1FnWW1VZ1ptbHVaU0JpWldOaGRYTmxJSFJvWlNCdmJteDVJSFIzYnlCdmRHaGxjaUIwYUdsdVozTWdkR2hoZENCamIyNTBjbWxpZFhSbElIUnZYRzRnSUNBZ0x5OGdaWGh3YVhKaGRHbHZiaUIwYVcxbElHRnlaU0J3Y205d2N5QmhibVFnWTI5dWRHVjRkQzRnVjJVbmNtVWdZV3h5WldGa2VTQnBiaUIwYUdVZ2JXbGtaR3hsSUc5bUlIUm9aVnh1SUNBZ0lDOHZJR0psWjJsdUlIQm9ZWE5sSUdKNUlIUm9aU0IwYVcxbElIZGxJSE4wWVhKMElIQnliMk5sYzNOcGJtY2dkR2hsSUhGMVpYVmxMQ0J6YnlCM1pTZDJaU0JoYkhKbFlXUjVYRzRnSUNBZ0x5OGdaR1ZoYkhRZ2QybDBhQ0IwYUdVZ2NISnZjSE11SUVOdmJuUmxlSFFnYVc0Z1kyOXRjRzl1Wlc1MGN5QjBhR0YwSUhOd1pXTnBabmxjYmlBZ0lDQXZMeUJ6YUc5MWJHUkRiMjF3YjI1bGJuUlZjR1JoZEdVZ2FYTWdkSEpwWTJ0NU95QmlkWFFnZDJVbmJHd2dhR0YyWlNCMGJ5QmhZMk52ZFc1MElHWnZjbHh1SUNBZ0lDOHZJSFJvWVhRZ2NtVm5ZWEprYkdWemN5NWNibHh1SUNBZ0lHMWhjbXRWYm5CeWIyTmxjM05sWkZWd1pHRjBaVlJwYldVb2JtVjNSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdibVYzUlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YldWdGIybDZaV1JUZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh1SUNCOVhHNWNiaUFnZTF4dUlDQWdJR04xY25KbGJuUnNlVkJ5YjJObGMzTnBibWRSZFdWMVpTQTlJRzUxYkd3N1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZMkZzYkVOaGJHeGlZV05yS0dOaGJHeGlZV05yTENCamIyNTBaWGgwS1NCN1hHNGdJR2xtSUNnaEtIUjVjR1Z2WmlCallXeHNZbUZqYXlBOVBUMGdKMloxYm1OMGFXOXVKeWtwSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkpiblpoYkdsa0lHRnlaM1Z0Wlc1MElIQmhjM05sWkNCaGN5QmpZV3hzWW1GamF5NGdSWGh3WldOMFpXUWdZU0JtZFc1amRHbHZiaTRnU1c1emRHVmhaQ0J5WldObGFYWmxaRG9nWENJZ0t5QmpZV3hzWW1GamF5QXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR05oYkd4aVlXTnJMbU5oYkd3b1kyOXVkR1Y0ZENrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhKbGMyVjBTR0Z6Um05eVkyVlZjR1JoZEdWQ1pXWnZjbVZRY205alpYTnphVzVuS0NrZ2UxeHVJQ0JvWVhOR2IzSmpaVlZ3WkdGMFpTQTlJR1poYkhObE8xeHVmVnh1Wm5WdVkzUnBiMjRnWTJobFkydElZWE5HYjNKalpWVndaR0YwWlVGbWRHVnlVSEp2WTJWemMybHVaeWdwSUh0Y2JpQWdjbVYwZFhKdUlHaGhjMFp2Y21ObFZYQmtZWFJsTzF4dWZWeHVablZ1WTNScGIyNGdZMjl0YldsMFZYQmtZWFJsVVhWbGRXVW9abWx1YVhOb1pXUlhiM0pyTENCbWFXNXBjMmhsWkZGMVpYVmxMQ0JwYm5OMFlXNWpaU2tnZTF4dUlDQXZMeUJEYjIxdGFYUWdkR2hsSUdWbVptVmpkSE5jYmlBZ2RtRnlJR1ZtWm1WamRITWdQU0JtYVc1cGMyaGxaRkYxWlhWbExtVm1abVZqZEhNN1hHNGdJR1pwYm1semFHVmtVWFZsZFdVdVpXWm1aV04wY3lBOUlHNTFiR3c3WEc1Y2JpQWdhV1lnS0dWbVptVmpkSE1nSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdWbVptVmpkSE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJsWm1abFkzUWdQU0JsWm1abFkzUnpXMmxkTzF4dUlDQWdJQ0FnZG1GeUlHTmhiR3hpWVdOcklEMGdaV1ptWldOMExtTmhiR3hpWVdOck8xeHVYRzRnSUNBZ0lDQnBaaUFvWTJGc2JHSmhZMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ1pXWm1aV04wTG1OaGJHeGlZV05ySUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnWTJGc2JFTmhiR3hpWVdOcktHTmhiR3hpWVdOckxDQnBibk4wWVc1alpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNiblpoY2lCU1pXRmpkRU4xY25KbGJuUkNZWFJqYUVOdmJtWnBaeUE5SUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuTzF4dVpuVnVZM1JwYjI0Z2NtVnhkV1Z6ZEVOMWNuSmxiblJUZFhOd1pXNXpaVU52Ym1acFp5Z3BJSHRjYmlBZ2NtVjBkWEp1SUZKbFlXTjBRM1Z5Y21WdWRFSmhkR05vUTI5dVptbG5Mbk4xYzNCbGJuTmxPMXh1ZlZ4dVhHNTJZWElnWm1GclpVbHVkR1Z5Ym1Gc1NXNXpkR0Z1WTJVZ1BTQjdmVHRjYm5aaGNpQnBjMEZ5Y21GNUlEMGdRWEp5WVhrdWFYTkJjbkpoZVRzZ0x5OGdVbVZoWTNRdVEyOXRjRzl1Wlc1MElIVnpaWE1nWVNCemFHRnlaV1FnWm5KdmVtVnVJRzlpYW1WamRDQmllU0JrWldaaGRXeDBMbHh1THk4Z1YyVW5iR3dnZFhObElHbDBJSFJ2SUdSbGRHVnliV2x1WlNCM2FHVjBhR1Z5SUhkbElHNWxaV1FnZEc4Z2FXNXBkR2xoYkdsNlpTQnNaV2RoWTNrZ2NtVm1jeTVjYmx4dWRtRnlJR1Z0Y0hSNVVtVm1jMDlpYW1WamRDQTlJRzVsZHlCU1pXRmpkQzVEYjIxd2IyNWxiblFvS1M1eVpXWnpPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRk4wWVhSbFFYTnphV2R1YldWdWRFWnZja052YlhCdmJtVnVkRHRjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJWYm1sdWFYUnBZV3hwZW1Wa1UzUmhkR1U3WEc1MllYSWdaR2xrVjJGeWJrRmliM1YwUjJWMFUyNWhjSE5vYjNSQ1pXWnZjbVZWY0dSaGRHVlhhWFJvYjNWMFJHbGtWWEJrWVhSbE8xeHVkbUZ5SUdScFpGZGhjbTVCWW05MWRFeGxaMkZqZVV4cFptVmplV05zWlhOQmJtUkVaWEpwZG1Wa1UzUmhkR1U3WEc1MllYSWdaR2xrVjJGeWJrRmliM1YwVlc1a1pXWnBibVZrUkdWeWFYWmxaRk4wWVhSbE8xeHVkbUZ5SUhkaGNtNVBibFZ1WkdWbWFXNWxaRVJsY21sMlpXUlRkR0YwWlR0Y2JuWmhjaUIzWVhKdVQyNUpiblpoYkdsa1EyRnNiR0poWTJzN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFJHbHlaV04wYkhsQmMzTnBaMjVwYm1kUWNtOXdjMVJ2VTNSaGRHVTdYRzUyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBRMjl1ZEdWNGRGUjVjR1ZCYm1SRGIyNTBaWGgwVkhsd1pYTTdYRzUyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBTVzUyWVd4cFpHRjBaVU52Ym5SbGVIUlVlWEJsTzF4dVhHNTdYRzRnSUdScFpGZGhjbTVCWW05MWRGTjBZWFJsUVhOemFXZHViV1Z1ZEVadmNrTnZiWEJ2Ym1WdWRDQTlJRzVsZHlCVFpYUW9LVHRjYmlBZ1pHbGtWMkZ5YmtGaWIzVjBWVzVwYm1sMGFXRnNhWHBsWkZOMFlYUmxJRDBnYm1WM0lGTmxkQ2dwTzF4dUlDQmthV1JYWVhKdVFXSnZkWFJIWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpWZHBkR2h2ZFhSRWFXUlZjR1JoZEdVZ1BTQnVaWGNnVTJWMEtDazdYRzRnSUdScFpGZGhjbTVCWW05MWRFeGxaMkZqZVV4cFptVmplV05zWlhOQmJtUkVaWEpwZG1Wa1UzUmhkR1VnUFNCdVpYY2dVMlYwS0NrN1hHNGdJR1JwWkZkaGNtNUJZbTkxZEVScGNtVmpkR3g1UVhOemFXZHVhVzVuVUhKdmNITlViMU4wWVhSbElEMGdibVYzSUZObGRDZ3BPMXh1SUNCa2FXUlhZWEp1UVdKdmRYUlZibVJsWm1sdVpXUkVaWEpwZG1Wa1UzUmhkR1VnUFNCdVpYY2dVMlYwS0NrN1hHNGdJR1JwWkZkaGNtNUJZbTkxZEVOdmJuUmxlSFJVZVhCbFFXNWtRMjl1ZEdWNGRGUjVjR1Z6SUQwZ2JtVjNJRk5sZENncE8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSSmJuWmhiR2xrWVhSbFEyOXVkR1Y0ZEZSNWNHVWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lIWmhjaUJrYVdSWFlYSnVUMjVKYm5aaGJHbGtRMkZzYkdKaFkyc2dQU0J1WlhjZ1UyVjBLQ2s3WEc1Y2JpQWdkMkZ5Yms5dVNXNTJZV3hwWkVOaGJHeGlZV05ySUQwZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQmpZV3hzWlhKT1lXMWxLU0I3WEc0Z0lDQWdhV1lnS0dOaGJHeGlZV05ySUQwOVBTQnVkV3hzSUh4OElIUjVjR1Z2WmlCallXeHNZbUZqYXlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJyWlhrZ1BTQmpZV3hzWlhKT1lXMWxJQ3NnWENKZlhDSWdLeUJqWVd4c1ltRmphenRjYmx4dUlDQWdJR2xtSUNnaFpHbGtWMkZ5Yms5dVNXNTJZV3hwWkVOaGJHeGlZV05yTG1oaGN5aHJaWGtwS1NCN1hHNGdJQ0FnSUNCa2FXUlhZWEp1VDI1SmJuWmhiR2xrUTJGc2JHSmhZMnN1WVdSa0tHdGxlU2s3WEc1Y2JpQWdJQ0FnSUdWeWNtOXlLQ2NsY3lndUxpNHBPaUJGZUhCbFkzUmxaQ0IwYUdVZ2JHRnpkQ0J2Y0hScGIyNWhiQ0JnWTJGc2JHSmhZMnRnSUdGeVozVnRaVzUwSUhSdklHSmxJR0VnSnlBcklDZG1kVzVqZEdsdmJpNGdTVzV6ZEdWaFpDQnlaV05sYVhabFpEb2dKWE11Snl3Z1kyRnNiR1Z5VG1GdFpTd2dZMkZzYkdKaFkyc3BPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0IzWVhKdVQyNVZibVJsWm1sdVpXUkVaWEpwZG1Wa1UzUmhkR1VnUFNCbWRXNWpkR2x2YmlBb2RIbHdaU3dnY0dGeWRHbGhiRk4wWVhSbEtTQjdYRzRnSUNBZ2FXWWdLSEJoY25ScFlXeFRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXRjRzl1Wlc1MFRtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEhsd1pTa2dmSHdnSjBOdmJYQnZibVZ1ZENjN1hHNWNiaUFnSUNBZ0lHbG1JQ2doWkdsa1YyRnlia0ZpYjNWMFZXNWtaV1pwYm1Wa1JHVnlhWFpsWkZOMFlYUmxMbWhoY3loamIyMXdiMjVsYm5ST1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUlZibVJsWm1sdVpXUkVaWEpwZG1Wa1UzUmhkR1V1WVdSa0tHTnZiWEJ2Ym1WdWRFNWhiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5NW5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNb0tUb2dRU0IyWVd4cFpDQnpkR0YwWlNCdlltcGxZM1FnS0c5eUlHNTFiR3dwSUcxMWMzUWdZbVVnY21WMGRYSnVaV1F1SUNjZ0t5QW5XVzkxSUdoaGRtVWdjbVYwZFhKdVpXUWdkVzVrWldacGJtVmtMaWNzSUdOdmJYQnZibVZ1ZEU1aGJXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlRzZ0x5OGdWR2hwY3lCcGN5QnpieUJuY205emN5QmlkWFFnYVhRbmN5QmhkQ0JzWldGemRDQnViMjR0WTNKcGRHbGpZV3dnWVc1a0lHTmhiaUJpWlNCeVpXMXZkbVZrSUdsbVhHNGdJQzh2SUdsMElHTmhkWE5sY3lCd2NtOWliR1Z0Y3k0Z1ZHaHBjeUJwY3lCdFpXRnVkQ0IwYnlCbmFYWmxJR0VnYm1salpYSWdaWEp5YjNJZ2JXVnpjMkZuWlNCbWIzSmNiaUFnTHk4Z1VtVmhZM1JFVDAweE5TNTFibk4wWVdKc1pWOXlaVzVrWlhKVGRXSjBjbVZsU1c1MGIwTnZiblJoYVc1bGNpaHlaV0ZqZEVSUFRURTJRMjl0Y0c5dVpXNTBMRnh1SUNBdkx5QXVMaTRwS1NCM2FHbGphQ0J2ZEdobGNuZHBjMlVnZEdoeWIzZHpJR0VnWENKZmNISnZZMlZ6YzBOb2FXeGtRMjl1ZEdWNGRDQnBjeUJ1YjNRZ1lTQm1kVzVqZEdsdmJsd2lYRzRnSUM4dklHVjRZMlZ3ZEdsdmJpNWNibHh1WEc0Z0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2htWVd0bFNXNTBaWEp1WVd4SmJuTjBZVzVqWlN3Z0oxOXdjbTlqWlhOelEyaHBiR1JEYjI1MFpYaDBKeXdnZTF4dUlDQWdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNBZ0lIWmhiSFZsT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pmY0hKdlkyVnpjME5vYVd4a1EyOXVkR1Y0ZENCcGN5QnViM1FnWVhaaGFXeGhZbXhsSUdsdUlGSmxZV04wSURFMkt5NGdWR2hwY3lCc2FXdGxiSGtnYldWaGJuTWdlVzkxSUdoaGRtVWdiWFZzZEdsd2JHVWdZMjl3YVdWeklHOW1JRkpsWVdOMElHRnVaQ0JoY21VZ1lYUjBaVzF3ZEdsdVp5QjBieUJ1WlhOMElHRWdVbVZoWTNRZ01UVWdkSEpsWlNCcGJuTnBaR1VnWVNCU1pXRmpkQ0F4TmlCMGNtVmxJSFZ6YVc1bklIVnVjM1JoWW14bFgzSmxibVJsY2xOMVluUnlaV1ZKYm5SdlEyOXVkR0ZwYm1WeUxDQjNhR2xqYUNCcGMyNG5kQ0J6ZFhCd2IzSjBaV1F1SUZSeWVTQjBieUJ0WVd0bElITjFjbVVnZVc5MUlHaGhkbVVnYjI1c2VTQnZibVVnWTI5d2VTQnZaaUJTWldGamRDQW9ZVzVrSUdsa1pXRnNiSGtzSUhOM2FYUmphQ0IwYnlCU1pXRmpkRVJQVFM1amNtVmhkR1ZRYjNKMFlXd3BMbHdpSUNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBwTzF4dUlDQlBZbXBsWTNRdVpuSmxaWHBsS0daaGEyVkpiblJsY201aGJFbHVjM1JoYm1ObEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1lYQndiSGxFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5d2dibVY0ZEZCeWIzQnpLU0I3WEc0Z0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVYRzRnSUh0Y2JpQWdJQ0JwWmlBb0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xdlpHVWdKaUJUZEhKcFkzUk5iMlJsS1NCN1hHNGdJQ0FnSUNBdkx5Qkpiblp2YTJVZ2RHaGxJR1oxYm1OMGFXOXVJR0Z1SUdWNGRISmhJSFJwYldVZ2RHOGdhR1ZzY0NCa1pYUmxZM1FnYzJsa1pTMWxabVpsWTNSekxseHVJQ0FnSUNBZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6S0c1bGVIUlFjbTl3Y3l3Z2NISmxkbE4wWVhSbEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnY0dGeWRHbGhiRk4wWVhSbElEMGdaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCektHNWxlSFJRY205d2N5d2djSEpsZGxOMFlYUmxLVHRjYmx4dUlDQjdYRzRnSUNBZ2QyRnliazl1Vlc1a1pXWnBibVZrUkdWeWFYWmxaRk4wWVhSbEtHTjBiM0lzSUhCaGNuUnBZV3hUZEdGMFpTazdYRzRnSUgwZ0x5OGdUV1Z5WjJVZ2RHaGxJSEJoY25ScFlXd2djM1JoZEdVZ1lXNWtJSFJvWlNCd2NtVjJhVzkxY3lCemRHRjBaUzVjYmx4dVhHNGdJSFpoY2lCdFpXMXZhWHBsWkZOMFlYUmxJRDBnY0dGeWRHbGhiRk4wWVhSbElEMDlQU0J1ZFd4c0lIeDhJSEJoY25ScFlXeFRkR0YwWlNBOVBUMGdkVzVrWldacGJtVmtJRDhnY0hKbGRsTjBZWFJsSURvZ1gyRnpjMmxuYmloN2ZTd2djSEpsZGxOMFlYUmxMQ0J3WVhKMGFXRnNVM1JoZEdVcE8xeHVJQ0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGTjBZWFJsSUQwZ2JXVnRiMmw2WldSVGRHRjBaVHNnTHk4Z1QyNWpaU0IwYUdVZ2RYQmtZWFJsSUhGMVpYVmxJR2x6SUdWdGNIUjVMQ0J3WlhKemFYTjBJSFJvWlNCa1pYSnBkbVZrSUhOMFlYUmxJRzl1ZEc4Z2RHaGxYRzRnSUM4dklHSmhjMlVnYzNSaGRHVXVYRzVjYmlBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOekxtVjRjR2x5WVhScGIyNVVhVzFsSUQwOVBTQk9iMWR2Y21zcElIdGNiaUFnSUNBdkx5QlJkV1YxWlNCcGN5QmhiSGRoZVhNZ2JtOXVMVzUxYkd3Z1ptOXlJR05zWVhOelpYTmNiaUFnSUNCMllYSWdkWEJrWVhSbFVYVmxkV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlR0Y2JpQWdJQ0IxY0dSaGRHVlJkV1YxWlM1aVlYTmxVM1JoZEdVZ1BTQnRaVzF2YVhwbFpGTjBZWFJsTzF4dUlDQjlYRzU5WEc1MllYSWdZMnhoYzNORGIyMXdiMjVsYm5SVmNHUmhkR1Z5SUQwZ2UxeHVJQ0JwYzAxdmRXNTBaV1E2SUdselRXOTFiblJsWkN4Y2JpQWdaVzV4ZFdWMVpWTmxkRk4wWVhSbE9pQm1kVzVqZEdsdmJpQW9hVzV6ZEN3Z2NHRjViRzloWkN3Z1kyRnNiR0poWTJzcElIdGNiaUFnSUNCMllYSWdabWxpWlhJZ1BTQm5aWFFvYVc1emRDazdYRzRnSUNBZ2RtRnlJR04xY25KbGJuUlVhVzFsSUQwZ2NtVnhkV1Z6ZEVOMWNuSmxiblJVYVcxbFJtOXlWWEJrWVhSbEtDazdYRzRnSUNBZ2RtRnlJSE4xYzNCbGJuTmxRMjl1Wm1sbklEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVGRYTndaVzV6WlVOdmJtWnBaeWdwTzF4dUlDQWdJSFpoY2lCbGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdOdmJYQjFkR1ZGZUhCcGNtRjBhVzl1Um05eVJtbGlaWElvWTNWeWNtVnVkRlJwYldVc0lHWnBZbVZ5TENCemRYTndaVzV6WlVOdmJtWnBaeWs3WEc0Z0lDQWdkbUZ5SUhWd1pHRjBaU0E5SUdOeVpXRjBaVlZ3WkdGMFpTaGxlSEJwY21GMGFXOXVWR2x0WlN3Z2MzVnpjR1Z1YzJWRGIyNW1hV2NwTzF4dUlDQWdJSFZ3WkdGMFpTNXdZWGxzYjJGa0lEMGdjR0Y1Ykc5aFpEdGNibHh1SUNBZ0lHbG1JQ2hqWVd4c1ltRmpheUFoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR05oYkd4aVlXTnJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhkaGNtNVBia2x1ZG1Gc2FXUkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2dKM05sZEZOMFlYUmxKeWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhWd1pHRjBaUzVqWVd4c1ltRmpheUE5SUdOaGJHeGlZV05yTzF4dUlDQWdJSDFjYmx4dUlDQWdJR1Z1Y1hWbGRXVlZjR1JoZEdVb1ptbGlaWElzSUhWd1pHRjBaU2s3WEc0Z0lDQWdjMk5vWldSMWJHVlhiM0pyS0dacFltVnlMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgwc1hHNGdJR1Z1Y1hWbGRXVlNaWEJzWVdObFUzUmhkR1U2SUdaMWJtTjBhVzl1SUNocGJuTjBMQ0J3WVhsc2IyRmtMQ0JqWVd4c1ltRmpheWtnZTF4dUlDQWdJSFpoY2lCbWFXSmxjaUE5SUdkbGRDaHBibk4wS1R0Y2JpQWdJQ0IyWVhJZ1kzVnljbVZ1ZEZScGJXVWdQU0J5WlhGMVpYTjBRM1Z5Y21WdWRGUnBiV1ZHYjNKVmNHUmhkR1VvS1R0Y2JpQWdJQ0IyWVhJZ2MzVnpjR1Z1YzJWRGIyNW1hV2NnUFNCeVpYRjFaWE4wUTNWeWNtVnVkRk4xYzNCbGJuTmxRMjl1Wm1sbktDazdYRzRnSUNBZ2RtRnlJR1Y0Y0dseVlYUnBiMjVVYVcxbElEMGdZMjl0Y0hWMFpVVjRjR2x5WVhScGIyNUdiM0pHYVdKbGNpaGpkWEp5Wlc1MFZHbHRaU3dnWm1saVpYSXNJSE4xYzNCbGJuTmxRMjl1Wm1sbktUdGNiaUFnSUNCMllYSWdkWEJrWVhSbElEMGdZM0psWVhSbFZYQmtZWFJsS0dWNGNHbHlZWFJwYjI1VWFXMWxMQ0J6ZFhOd1pXNXpaVU52Ym1acFp5azdYRzRnSUNBZ2RYQmtZWFJsTG5SaFp5QTlJRkpsY0d4aFkyVlRkR0YwWlR0Y2JpQWdJQ0IxY0dSaGRHVXVjR0Y1Ykc5aFpDQTlJSEJoZVd4dllXUTdYRzVjYmlBZ0lDQnBaaUFvWTJGc2JHSmhZMnNnSVQwOUlIVnVaR1ZtYVc1bFpDQW1KaUJqWVd4c1ltRmpheUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCM1lYSnVUMjVKYm5aaGJHbGtRMkZzYkdKaFkyc29ZMkZzYkdKaFkyc3NJQ2R5WlhCc1lXTmxVM1JoZEdVbktUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkWEJrWVhSbExtTmhiR3hpWVdOcklEMGdZMkZzYkdKaFkyczdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pXNXhkV1YxWlZWd1pHRjBaU2htYVdKbGNpd2dkWEJrWVhSbEtUdGNiaUFnSUNCelkyaGxaSFZzWlZkdmNtc29abWxpWlhJc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdmU3hjYmlBZ1pXNXhkV1YxWlVadmNtTmxWWEJrWVhSbE9pQm1kVzVqZEdsdmJpQW9hVzV6ZEN3Z1kyRnNiR0poWTJzcElIdGNiaUFnSUNCMllYSWdabWxpWlhJZ1BTQm5aWFFvYVc1emRDazdYRzRnSUNBZ2RtRnlJR04xY25KbGJuUlVhVzFsSUQwZ2NtVnhkV1Z6ZEVOMWNuSmxiblJVYVcxbFJtOXlWWEJrWVhSbEtDazdYRzRnSUNBZ2RtRnlJSE4xYzNCbGJuTmxRMjl1Wm1sbklEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVGRYTndaVzV6WlVOdmJtWnBaeWdwTzF4dUlDQWdJSFpoY2lCbGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdOdmJYQjFkR1ZGZUhCcGNtRjBhVzl1Um05eVJtbGlaWElvWTNWeWNtVnVkRlJwYldVc0lHWnBZbVZ5TENCemRYTndaVzV6WlVOdmJtWnBaeWs3WEc0Z0lDQWdkbUZ5SUhWd1pHRjBaU0E5SUdOeVpXRjBaVlZ3WkdGMFpTaGxlSEJwY21GMGFXOXVWR2x0WlN3Z2MzVnpjR1Z1YzJWRGIyNW1hV2NwTzF4dUlDQWdJSFZ3WkdGMFpTNTBZV2NnUFNCR2IzSmpaVlZ3WkdGMFpUdGNibHh1SUNBZ0lHbG1JQ2hqWVd4c1ltRmpheUFoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR05oYkd4aVlXTnJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhkaGNtNVBia2x1ZG1Gc2FXUkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2dKMlp2Y21ObFZYQmtZWFJsSnlrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIVndaR0YwWlM1allXeHNZbUZqYXlBOUlHTmhiR3hpWVdOck8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdWdWNYVmxkV1ZWY0dSaGRHVW9abWxpWlhJc0lIVndaR0YwWlNrN1hHNGdJQ0FnYzJOb1pXUjFiR1ZYYjNKcktHWnBZbVZ5TENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lIMWNibjA3WEc1Y2JtWjFibU4wYVc5dUlHTm9aV05yVTJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEtIZHZjbXRKYmxCeWIyZHlaWE56TENCamRHOXlMQ0J2YkdSUWNtOXdjeXdnYm1WM1VISnZjSE1zSUc5c1pGTjBZWFJsTENCdVpYZFRkR0YwWlN3Z2JtVjRkRU52Ym5SbGVIUXBJSHRjYmlBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdhVzV6ZEdGdVkyVXVjMmh2ZFd4a1EyOXRjRzl1Wlc1MFZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdhV1lnS0NCM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU2tnZTF4dUlDQWdJQ0FnSUNBdkx5Qkpiblp2YTJVZ2RHaGxJR1oxYm1OMGFXOXVJR0Z1SUdWNGRISmhJSFJwYldVZ2RHOGdhR1ZzY0NCa1pYUmxZM1FnYzJsa1pTMWxabVpsWTNSekxseHVJQ0FnSUNBZ0lDQnBibk4wWVc1alpTNXphRzkxYkdSRGIyMXdiMjVsYm5SVmNHUmhkR1VvYm1WM1VISnZjSE1zSUc1bGQxTjBZWFJsTENCdVpYaDBRMjl1ZEdWNGRDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2MzUmhjblJRYUdGelpWUnBiV1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0FuYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEp5azdYRzRnSUNBZ2RtRnlJSE5vYjNWc1pGVndaR0YwWlNBOUlHbHVjM1JoYm1ObExuTm9iM1ZzWkVOdmJYQnZibVZ1ZEZWd1pHRjBaU2h1WlhkUWNtOXdjeXdnYm1WM1UzUmhkR1VzSUc1bGVIUkRiMjUwWlhoMEtUdGNiaUFnSUNCemRHOXdVR2hoYzJWVWFXMWxjaWdwTzF4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeTV6YUc5MWJHUkRiMjF3YjI1bGJuUlZjR1JoZEdVb0tUb2dVbVYwZFhKdVpXUWdkVzVrWldacGJtVmtJR2x1YzNSbFlXUWdiMllnWVNBbklDc2dKMkp2YjJ4bFlXNGdkbUZzZFdVdUlFMWhhMlVnYzNWeVpTQjBieUJ5WlhSMWNtNGdkSEoxWlNCdmNpQm1ZV3h6WlM0bkxDQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtHTjBiM0lwSUh4OElDZERiMjF3YjI1bGJuUW5LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2MyaHZkV3hrVlhCa1lYUmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHTjBiM0l1Y0hKdmRHOTBlWEJsSUNZbUlHTjBiM0l1Y0hKdmRHOTBlWEJsTG1selVIVnlaVkpsWVdOMFEyOXRjRzl1Wlc1MEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUNGemFHRnNiRzkzUlhGMVlXd29iMnhrVUhKdmNITXNJRzVsZDFCeWIzQnpLU0I4ZkNBaGMyaGhiR3h2ZDBWeGRXRnNLRzlzWkZOMFlYUmxMQ0J1WlhkVGRHRjBaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZEhKMVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyaGxZMnREYkdGemMwbHVjM1JoYm1ObEtIZHZjbXRKYmxCeWIyZHlaWE56TENCamRHOXlMQ0J1WlhkUWNtOXdjeWtnZTF4dUlDQjJZWElnYVc1emRHRnVZMlVnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJ1WVcxbElEMGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaGpkRzl5S1NCOGZDQW5RMjl0Y0c5dVpXNTBKenRjYmlBZ0lDQjJZWElnY21WdVpHVnlVSEpsYzJWdWRDQTlJR2x1YzNSaGJtTmxMbkpsYm1SbGNqdGNibHh1SUNBZ0lHbG1JQ2doY21WdVpHVnlVSEpsYzJWdWRDa2dlMXh1SUNBZ0lDQWdhV1lnS0dOMGIzSXVjSEp2ZEc5MGVYQmxJQ1ltSUhSNWNHVnZaaUJqZEc5eUxuQnliM1J2ZEhsd1pTNXlaVzVrWlhJZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWektDNHVMaWs2SUU1dklHQnlaVzVrWlhKZ0lHMWxkR2h2WkNCbWIzVnVaQ0J2YmlCMGFHVWdjbVYwZFhKdVpXUWdZMjl0Y0c5dVpXNTBJQ2NnS3lBbmFXNXpkR0Z1WTJVNklHUnBaQ0I1YjNVZ1lXTmphV1JsYm5SaGJHeDVJSEpsZEhWeWJpQmhiaUJ2WW1wbFkzUWdabkp2YlNCMGFHVWdZMjl1YzNSeWRXTjBiM0kvSnl3Z2JtRnRaU2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25KWE1vTGk0dUtUb2dUbThnWUhKbGJtUmxjbUFnYldWMGFHOWtJR1p2ZFc1a0lHOXVJSFJvWlNCeVpYUjFjbTVsWkNCamIyMXdiMjVsYm5RZ0p5QXJJQ2RwYm5OMFlXNWpaVG9nZVc5MUlHMWhlU0JvWVhabElHWnZjbWR2ZEhSbGJpQjBieUJrWldacGJtVWdZSEpsYm1SbGNtQXVKeXdnYm1GdFpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbWRsZEVsdWFYUnBZV3hUZEdGMFpTQW1KaUFoYVc1emRHRnVZMlV1WjJWMFNXNXBkR2xoYkZOMFlYUmxMbWx6VW1WaFkzUkRiR0Z6YzBGd2NISnZkbVZrSUNZbUlDRnBibk4wWVc1alpTNXpkR0YwWlNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjJkbGRFbHVhWFJwWVd4VGRHRjBaU0IzWVhNZ1pHVm1hVzVsWkNCdmJpQWxjeXdnWVNCd2JHRnBiaUJLWVhaaFUyTnlhWEIwSUdOc1lYTnpMaUFuSUNzZ0oxUm9hWE1nYVhNZ2IyNXNlU0J6ZFhCd2IzSjBaV1FnWm05eUlHTnNZWE56WlhNZ1kzSmxZWFJsWkNCMWMybHVaeUJTWldGamRDNWpjbVZoZEdWRGJHRnpjeTRnSnlBcklDZEVhV1FnZVc5MUlHMWxZVzRnZEc4Z1pHVm1hVzVsSUdFZ2MzUmhkR1VnY0hKdmNHVnlkSGtnYVc1emRHVmhaRDhuTENCdVlXMWxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYVc1emRHRnVZMlV1WjJWMFJHVm1ZWFZzZEZCeWIzQnpJQ1ltSUNGcGJuTjBZVzVqWlM1blpYUkVaV1poZFd4MFVISnZjSE11YVhOU1pXRmpkRU5zWVhOelFYQndjbTkyWldRcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkblpYUkVaV1poZFd4MFVISnZjSE1nZDJGeklHUmxabWx1WldRZ2IyNGdKWE1zSUdFZ2NHeGhhVzRnU21GMllWTmpjbWx3ZENCamJHRnpjeTRnSnlBcklDZFVhR2x6SUdseklHOXViSGtnYzNWd2NHOXlkR1ZrSUdadmNpQmpiR0Z6YzJWeklHTnlaV0YwWldRZ2RYTnBibWNnVW1WaFkzUXVZM0psWVhSbFEyeGhjM011SUNjZ0t5QW5WWE5sSUdFZ2MzUmhkR2xqSUhCeWIzQmxjblI1SUhSdklHUmxabWx1WlNCa1pXWmhkV3gwVUhKdmNITWdhVzV6ZEdWaFpDNG5MQ0J1WVcxbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9hVzV6ZEdGdVkyVXVjSEp2Y0ZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25jSEp2Y0ZSNWNHVnpJSGRoY3lCa1pXWnBibVZrSUdGeklHRnVJR2x1YzNSaGJtTmxJSEJ5YjNCbGNuUjVJRzl1SUNWekxpQlZjMlVnWVNCemRHRjBhV01nSnlBcklDZHdjbTl3WlhKMGVTQjBieUJrWldacGJtVWdjSEp2Y0ZSNWNHVnpJR2x1YzNSbFlXUXVKeXdnYm1GdFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbU52Ym5SbGVIUlVlWEJsS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduWTI5dWRHVjRkRlI1Y0dVZ2QyRnpJR1JsWm1sdVpXUWdZWE1nWVc0Z2FXNXpkR0Z1WTJVZ2NISnZjR1Z5ZEhrZ2IyNGdKWE11SUZWelpTQmhJSE4wWVhScFl5QW5JQ3NnSjNCeWIzQmxjblI1SUhSdklHUmxabWx1WlNCamIyNTBaWGgwVkhsd1pTQnBibk4wWldGa0xpY3NJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUdsbUlDaHBibk4wWVc1alpTNWpiMjUwWlhoMFZIbHdaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSjJOdmJuUmxlSFJVZVhCbGN5QjNZWE1nWkdWbWFXNWxaQ0JoY3lCaGJpQnBibk4wWVc1alpTQndjbTl3WlhKMGVTQnZiaUFsY3k0Z1ZYTmxJR0VnYzNSaGRHbGpJQ2NnS3lBbmNISnZjR1Z5ZEhrZ2RHOGdaR1ZtYVc1bElHTnZiblJsZUhSVWVYQmxjeUJwYm5OMFpXRmtMaWNzSUc1aGJXVXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kzUnZjaTVqYjI1MFpYaDBWSGx3WlNBbUppQmpkRzl5TG1OdmJuUmxlSFJVZVhCbGN5QW1KaUFoWkdsa1YyRnlia0ZpYjNWMFEyOXVkR1Y0ZEZSNWNHVkJibVJEYjI1MFpYaDBWSGx3WlhNdWFHRnpLR04wYjNJcEtTQjdYRzRnSUNBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEVOdmJuUmxlSFJVZVhCbFFXNWtRMjl1ZEdWNGRGUjVjR1Z6TG1Ga1pDaGpkRzl5S1R0Y2JseHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnbkpYTWdaR1ZqYkdGeVpYTWdZbTkwYUNCamIyNTBaWGgwVkhsd1pYTWdZVzVrSUdOdmJuUmxlSFJVZVhCbElITjBZWFJwWXlCd2NtOXdaWEowYVdWekxpQW5JQ3NnSjFSb1pTQnNaV2RoWTNrZ1kyOXVkR1Y0ZEZSNWNHVnpJSEJ5YjNCbGNuUjVJSGRwYkd3Z1ltVWdhV2R1YjNKbFpDNG5MQ0J1WVcxbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGTm9iM1ZzWkZWd1pHRjBaU0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0p5VnpJR2hoY3lCaElHMWxkR2h2WkNCallXeHNaV1FnSnlBcklDZGpiMjF3YjI1bGJuUlRhRzkxYkdSVmNHUmhkR1VvS1M0Z1JHbGtJSGx2ZFNCdFpXRnVJSE5vYjNWc1pFTnZiWEJ2Ym1WdWRGVndaR0YwWlNncFB5QW5JQ3NnSjFSb1pTQnVZVzFsSUdseklIQm9jbUZ6WldRZ1lYTWdZU0J4ZFdWemRHbHZiaUJpWldOaGRYTmxJSFJvWlNCbWRXNWpkR2x2YmlCcGN5QW5JQ3NnSjJWNGNHVmpkR1ZrSUhSdklISmxkSFZ5YmlCaElIWmhiSFZsTGljc0lHNWhiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoamRHOXlMbkJ5YjNSdmRIbHdaU0FtSmlCamRHOXlMbkJ5YjNSdmRIbHdaUzVwYzFCMWNtVlNaV0ZqZEVOdmJYQnZibVZ1ZENBbUppQjBlWEJsYjJZZ2FXNXpkR0Z1WTJVdWMyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJQ0U5UFNBbmRXNWtaV1pwYm1Wa0p5a2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0p5VnpJR2hoY3lCaElHMWxkR2h2WkNCallXeHNaV1FnYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbEtDa3VJQ2NnS3lBbmMyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJSE5vYjNWc1pDQnViM1FnWW1VZ2RYTmxaQ0IzYUdWdUlHVjRkR1Z1WkdsdVp5QlNaV0ZqZEM1UWRYSmxRMjl0Y0c5dVpXNTBMaUFuSUNzZ0oxQnNaV0Z6WlNCbGVIUmxibVFnVW1WaFkzUXVRMjl0Y0c5dVpXNTBJR2xtSUhOb2IzVnNaRU52YlhCdmJtVnVkRlZ3WkdGMFpTQnBjeUIxYzJWa0xpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1J2Y2lrZ2ZId2dKMEVnY0hWeVpTQmpiMjF3YjI1bGJuUW5LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRVJwWkZWdWJXOTFiblFnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDY2xjeUJvWVhNZ1lTQnRaWFJvYjJRZ1kyRnNiR1ZrSUNjZ0t5QW5ZMjl0Y0c5dVpXNTBSR2xrVlc1dGIzVnVkQ2dwTGlCQ2RYUWdkR2hsY21VZ2FYTWdibThnYzNWamFDQnNhV1psWTNsamJHVWdiV1YwYUc5a0xpQW5JQ3NnSjBScFpDQjViM1VnYldWaGJpQmpiMjF3YjI1bGJuUlhhV3hzVlc1dGIzVnVkQ2dwUHljc0lHNWhiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwUkdsa1VtVmpaV2wyWlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnbkpYTWdhR0Z6SUdFZ2JXVjBhRzlrSUdOaGJHeGxaQ0FuSUNzZ0oyTnZiWEJ2Ym1WdWRFUnBaRkpsWTJWcGRtVlFjbTl3Y3lncExpQkNkWFFnZEdobGNtVWdhWE1nYm04Z2MzVmphQ0JzYVdabFkzbGpiR1VnYldWMGFHOWtMaUFuSUNzZ0owbG1JSGx2ZFNCdFpXRnVkQ0IwYnlCMWNHUmhkR1VnZEdobElITjBZWFJsSUdsdUlISmxjM0J2Ym5ObElIUnZJR05vWVc1bmFXNW5JSEJ5YjNCekxDQW5JQ3NnSjNWelpTQmpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCektDa3VJRWxtSUhsdmRTQnRaV0Z1ZENCMGJ5Qm1aWFJqYUNCa1lYUmhJRzl5SUNjZ0t5QW5jblZ1SUhOcFpHVXRaV1ptWldOMGN5QnZjaUJ0ZFhSaGRHbHZibk1nWVdaMFpYSWdVbVZoWTNRZ2FHRnpJSFZ3WkdGMFpXUWdkR2hsSUZWSkxDQjFjMlVnWTI5dGNHOXVaVzUwUkdsa1ZYQmtZWFJsS0NrdUp5d2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SWGFXeHNVbVZqYVdWMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25KWE1nYUdGeklHRWdiV1YwYUc5a0lHTmhiR3hsWkNBbklDc2dKMk52YlhCdmJtVnVkRmRwYkd4U1pXTnBaWFpsVUhKdmNITW9LUzRnUkdsa0lIbHZkU0J0WldGdUlHTnZiWEJ2Ym1WdWRGZHBiR3hTWldObGFYWmxVSEp2Y0hNb0tUOG5MQ0J1WVcxbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExsVk9VMEZHUlY5amIyMXdiMjVsYm5SWGFXeHNVbVZqYVdWMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25KWE1nYUdGeklHRWdiV1YwYUc5a0lHTmhiR3hsWkNBbklDc2dKMVZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVW1WamFXVjJaVkJ5YjNCektDa3VJRVJwWkNCNWIzVWdiV1ZoYmlCVlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeWdwUHljc0lHNWhiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCb1lYTk5kWFJoZEdWa1VISnZjSE1nUFNCcGJuTjBZVzVqWlM1d2NtOXdjeUFoUFQwZ2JtVjNVSEp2Y0hNN1hHNWNiaUFnSUNCcFppQW9hVzV6ZEdGdVkyVXVjSEp2Y0hNZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCb1lYTk5kWFJoZEdWa1VISnZjSE1wSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2NsY3lndUxpNHBPaUJYYUdWdUlHTmhiR3hwYm1jZ2MzVndaWElvS1NCcGJpQmdKWE5nTENCdFlXdGxJSE4xY21VZ2RHOGdjR0Z6Y3lBbklDc2dYQ0oxY0NCMGFHVWdjMkZ0WlNCd2NtOXdjeUIwYUdGMElIbHZkWElnWTI5dGNHOXVaVzUwSjNNZ1kyOXVjM1J5ZFdOMGIzSWdkMkZ6SUhCaGMzTmxaQzVjSWl3Z2JtRnRaU3dnYm1GdFpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbVJsWm1GMWJIUlFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjFObGRIUnBibWNnWkdWbVlYVnNkRkJ5YjNCeklHRnpJR0Z1SUdsdWMzUmhibU5sSUhCeWIzQmxjblI1SUc5dUlDVnpJR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUWdZVzVrSUhkcGJHd2dZbVVnYVdkdWIzSmxaQzRuSUNzZ0p5Qkpibk4wWldGa0xDQmtaV1pwYm1VZ1pHVm1ZWFZzZEZCeWIzQnpJR0Z6SUdFZ2MzUmhkR2xqSUhCeWIzQmxjblI1SUc5dUlDVnpMaWNzSUc1aGJXVXNJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVoyVjBVMjVoY0hOb2IzUkNaV1p2Y21WVmNHUmhkR1VnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRVJwWkZWd1pHRjBaU0FoUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFoWkdsa1YyRnlia0ZpYjNWMFIyVjBVMjVoY0hOb2IzUkNaV1p2Y21WVmNHUmhkR1ZYYVhSb2IzVjBSR2xrVlhCa1lYUmxMbWhoY3loamRHOXlLU2tnZTF4dUlDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFIyVjBVMjVoY0hOb2IzUkNaV1p2Y21WVmNHUmhkR1ZYYVhSb2IzVjBSR2xrVlhCa1lYUmxMbUZrWkNoamRHOXlLVHRjYmx4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6T2lCblpYUlRibUZ3YzJodmRFSmxabTl5WlZWd1pHRjBaU2dwSUhOb2IzVnNaQ0JpWlNCMWMyVmtJSGRwZEdnZ1kyOXRjRzl1Wlc1MFJHbGtWWEJrWVhSbEtDa3VJQ2NnS3lBblZHaHBjeUJqYjIxd2IyNWxiblFnWkdWbWFXNWxjeUJuWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpTZ3BJRzl1YkhrdUp5d2daMlYwUTI5dGNHOXVaVzUwVG1GdFpTaGpkRzl5S1NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1blpYUkVaWEpwZG1Wa1UzUmhkR1ZHY205dFVISnZjSE1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR1Z5Y205eUtDY2xjem9nWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLQ2tnYVhNZ1pHVm1hVzVsWkNCaGN5QmhiaUJwYm5OMFlXNWpaU0J0WlhSb2IyUWdKeUFySUNkaGJtUWdkMmxzYkNCaVpTQnBaMjV2Y21Wa0xpQkpibk4wWldGa0xDQmtaV05zWVhKbElHbDBJR0Z6SUdFZ2MzUmhkR2xqSUcxbGRHaHZaQzRuTENCdVlXMWxLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbWRsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFGY25KdmNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQm5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRSWEp5YjNJb0tTQnBjeUJrWldacGJtVmtJR0Z6SUdGdUlHbHVjM1JoYm1ObElHMWxkR2h2WkNBbklDc2dKMkZ1WkNCM2FXeHNJR0psSUdsbmJtOXlaV1F1SUVsdWMzUmxZV1FzSUdSbFkyeGhjbVVnYVhRZ1lYTWdZU0J6ZEdGMGFXTWdiV1YwYUc5a0xpY3NJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kzUnZjaTVuWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQm5aWFJUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNncElHbHpJR1JsWm1sdVpXUWdZWE1nWVNCemRHRjBhV01nYldWMGFHOWtJQ2NnS3lBbllXNWtJSGRwYkd3Z1ltVWdhV2R1YjNKbFpDNGdTVzV6ZEdWaFpDd2daR1ZqYkdGeVpTQnBkQ0JoY3lCaGJpQnBibk4wWVc1alpTQnRaWFJvYjJRdUp5d2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlGOXpkR0YwWlNBOUlHbHVjM1JoYm1ObExuTjBZWFJsTzF4dVhHNGdJQ0FnYVdZZ0tGOXpkR0YwWlNBbUppQW9kSGx3Wlc5bUlGOXpkR0YwWlNBaFBUMGdKMjlpYW1WamRDY2dmSHdnYVhOQmNuSmhlU2hmYzNSaGRHVXBLU2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6TG5OMFlYUmxPaUJ0ZFhOMElHSmxJSE5sZENCMGJ5QmhiaUJ2WW1wbFkzUWdiM0lnYm5Wc2JDY3NJRzVoYldVcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVoyVjBRMmhwYkdSRGIyNTBaWGgwSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUhSNWNHVnZaaUJqZEc5eUxtTm9hV3hrUTI5dWRHVjRkRlI1Y0dWeklDRTlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6TG1kbGRFTm9hV3hrUTI5dWRHVjRkQ2dwT2lCamFHbHNaRU52Ym5SbGVIUlVlWEJsY3lCdGRYTjBJR0psSUdSbFptbHVaV1FnYVc0Z2IzSmtaWElnZEc4Z0p5QXJJQ2QxYzJVZ1oyVjBRMmhwYkdSRGIyNTBaWGgwS0NrdUp5d2dibUZ0WlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRmtiM0IwUTJ4aGMzTkpibk4wWVc1alpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2FXNXpkR0Z1WTJVcElIdGNiaUFnYVc1emRHRnVZMlV1ZFhCa1lYUmxjaUE5SUdOc1lYTnpRMjl0Y0c5dVpXNTBWWEJrWVhSbGNqdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxJRDBnYVc1emRHRnVZMlU3SUM4dklGUm9aU0JwYm5OMFlXNWpaU0J1WldWa2N5QmhZMk5sYzNNZ2RHOGdkR2hsSUdacFltVnlJSE52SUhSb1lYUWdhWFFnWTJGdUlITmphR1ZrZFd4bElIVndaR0YwWlhOY2JseHVJQ0J6WlhRb2FXNXpkR0Z1WTJVc0lIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JseHVJQ0I3WEc0Z0lDQWdhVzV6ZEdGdVkyVXVYM0psWVdOMFNXNTBaWEp1WVd4SmJuTjBZVzVqWlNBOUlHWmhhMlZKYm5SbGNtNWhiRWx1YzNSaGJtTmxPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJuTjBjblZqZEVOc1lYTnpTVzV6ZEdGdVkyVW9kMjl5YTBsdVVISnZaM0psYzNNc0lHTjBiM0lzSUhCeWIzQnpLU0I3WEc0Z0lIWmhjaUJwYzB4bFoyRmplVU52Ym5SbGVIUkRiMjV6ZFcxbGNpQTlJR1poYkhObE8xeHVJQ0IyWVhJZ2RXNXRZWE5yWldSRGIyNTBaWGgwSUQwZ1pXMXdkSGxEYjI1MFpYaDBUMkpxWldOME8xeHVJQ0IyWVhJZ1kyOXVkR1Y0ZENBOUlHVnRjSFI1UTI5dWRHVjRkRTlpYW1WamREdGNiaUFnZG1GeUlHTnZiblJsZUhSVWVYQmxJRDBnWTNSdmNpNWpiMjUwWlhoMFZIbHdaVHRjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLQ2RqYjI1MFpYaDBWSGx3WlNjZ2FXNGdZM1J2Y2lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2x6Vm1Gc2FXUWdQU0F2THlCQmJHeHZkeUJ1ZFd4c0lHWnZjaUJqYjI1a2FYUnBiMjVoYkNCa1pXTnNZWEpoZEdsdmJseHVJQ0FnSUNBZ1kyOXVkR1Y0ZEZSNWNHVWdQVDA5SUc1MWJHd2dmSHdnWTI5dWRHVjRkRlI1Y0dVZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCamIyNTBaWGgwVkhsd1pTNGtKSFI1Y0dWdlppQTlQVDBnVWtWQlExUmZRMDlPVkVWWVZGOVVXVkJGSUNZbUlHTnZiblJsZUhSVWVYQmxMbDlqYjI1MFpYaDBJRDA5UFNCMWJtUmxabWx1WldRN0lDOHZJRTV2ZENCaElEeERiMjUwWlhoMExrTnZibk4xYldWeVBseHVYRzRnSUNBZ0lDQnBaaUFvSVdselZtRnNhV1FnSmlZZ0lXUnBaRmRoY201QlltOTFkRWx1ZG1Gc2FXUmhkR1ZEYjI1MFpYaDBWSGx3WlM1b1lYTW9ZM1J2Y2lrcElIdGNiaUFnSUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwU1c1MllXeHBaR0YwWlVOdmJuUmxlSFJVZVhCbExtRmtaQ2hqZEc5eUtUdGNiaUFnSUNBZ0lDQWdkbUZ5SUdGa1pHVnVaSFZ0SUQwZ0p5YzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTnZiblJsZUhSVWVYQmxJRDA5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0JoWkdSbGJtUjFiU0E5SUNjZ1NHOTNaWFpsY2l3Z2FYUWdhWE1nYzJWMElIUnZJSFZ1WkdWbWFXNWxaQzRnSnlBcklDZFVhR2x6SUdOaGJpQmlaU0JqWVhWelpXUWdZbmtnWVNCMGVYQnZJRzl5SUdKNUlHMXBlR2x1WnlCMWNDQnVZVzFsWkNCaGJtUWdaR1ZtWVhWc2RDQnBiWEJ2Y25SekxpQW5JQ3NnSjFSb2FYTWdZMkZ1SUdGc2MyOGdhR0Z3Y0dWdUlHUjFaU0IwYnlCaElHTnBjbU4xYkdGeUlHUmxjR1Z1WkdWdVkza3NJSE52SUNjZ0t5QW5kSEo1SUcxdmRtbHVaeUIwYUdVZ1kzSmxZWFJsUTI5dWRHVjRkQ2dwSUdOaGJHd2dkRzhnWVNCelpYQmhjbUYwWlNCbWFXeGxMaWM3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2RIbHdaVzltSUdOdmJuUmxlSFJVZVhCbElDRTlQU0FuYjJKcVpXTjBKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHRmtaR1Z1WkhWdElEMGdKeUJJYjNkbGRtVnlMQ0JwZENCcGN5QnpaWFFnZEc4Z1lTQW5JQ3NnZEhsd1pXOW1JR052Ym5SbGVIUlVlWEJsSUNzZ0p5NG5PMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0dOdmJuUmxlSFJVZVhCbExpUWtkSGx3Wlc5bUlEMDlQU0JTUlVGRFZGOVFVazlXU1VSRlVsOVVXVkJGS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZV1JrWlc1a2RXMGdQU0FuSUVScFpDQjViM1VnWVdOamFXUmxiblJoYkd4NUlIQmhjM01nZEdobElFTnZiblJsZUhRdVVISnZkbWxrWlhJZ2FXNXpkR1ZoWkQ4bk8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLR052Ym5SbGVIUlVlWEJsTGw5amIyNTBaWGgwSUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QThRMjl1ZEdWNGRDNURiMjV6ZFcxbGNqNWNiaUFnSUNBZ0lDQWdJQ0JoWkdSbGJtUjFiU0E5SUNjZ1JHbGtJSGx2ZFNCaFkyTnBaR1Z1ZEdGc2JIa2djR0Z6Y3lCMGFHVWdRMjl1ZEdWNGRDNURiMjV6ZFcxbGNpQnBibk4wWldGa1B5YzdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnWVdSa1pXNWtkVzBnUFNBbklFaHZkMlYyWlhJc0lHbDBJR2x6SUhObGRDQjBieUJoYmlCdlltcGxZM1FnZDJsMGFDQnJaWGx6SUhzbklDc2dUMkpxWldOMExtdGxlWE1vWTI5dWRHVjRkRlI1Y0dVcExtcHZhVzRvSnl3Z0p5a2dLeUFuZlM0bk8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KeVZ6SUdSbFptbHVaWE1nWVc0Z2FXNTJZV3hwWkNCamIyNTBaWGgwVkhsd1pTNGdKeUFySUNkamIyNTBaWGgwVkhsd1pTQnphRzkxYkdRZ2NHOXBiblFnZEc4Z2RHaGxJRU52Ym5SbGVIUWdiMkpxWldOMElISmxkSFZ5Ym1Wa0lHSjVJRkpsWVdOMExtTnlaV0YwWlVOdmJuUmxlSFFvS1M0bGN5Y3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1J2Y2lrZ2ZId2dKME52YlhCdmJtVnVkQ2NzSUdGa1pHVnVaSFZ0S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCcFppQW9kSGx3Wlc5bUlHTnZiblJsZUhSVWVYQmxJRDA5UFNBbmIySnFaV04wSnlBbUppQmpiMjUwWlhoMFZIbHdaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR052Ym5SbGVIUWdQU0J5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwVkhsd1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkVzV0WVhOclpXUkRiMjUwWlhoMElEMGdaMlYwVlc1dFlYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkRzl5TENCMGNuVmxLVHRjYmlBZ0lDQjJZWElnWTI5dWRHVjRkRlI1Y0dWeklEMGdZM1J2Y2k1amIyNTBaWGgwVkhsd1pYTTdYRzRnSUNBZ2FYTk1aV2RoWTNsRGIyNTBaWGgwUTI5dWMzVnRaWElnUFNCamIyNTBaWGgwVkhsd1pYTWdJVDA5SUc1MWJHd2dKaVlnWTI5dWRHVjRkRlI1Y0dWeklDRTlQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdZMjl1ZEdWNGRDQTlJR2x6VEdWbllXTjVRMjl1ZEdWNGRFTnZibk4xYldWeUlEOGdaMlYwVFdGemEyVmtRMjl1ZEdWNGRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2RXNXRZWE5yWldSRGIyNTBaWGgwS1NBNklHVnRjSFI1UTI5dWRHVjRkRTlpYW1WamREdGNiaUFnZlNBdkx5Qkpibk4wWVc1MGFXRjBaU0IwZDJsalpTQjBieUJvWld4d0lHUmxkR1ZqZENCemFXUmxMV1ZtWm1WamRITXVYRzVjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLQ0IzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1UzUnlhV04wVFc5a1pTa2dlMXh1SUNBZ0lDQWdibVYzSUdOMGIzSW9jSEp2Y0hNc0lHTnZiblJsZUhRcE95QXZMeUJsYzJ4cGJuUXRaR2x6WVdKc1pTMXNhVzVsSUc1dkxXNWxkMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCcGJuTjBZVzVqWlNBOUlHNWxkeUJqZEc5eUtIQnliM0J6TENCamIyNTBaWGgwS1R0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBOUlHbHVjM1JoYm1ObExuTjBZWFJsSUNFOVBTQnVkV3hzSUNZbUlHbHVjM1JoYm1ObExuTjBZWFJsSUNFOVBTQjFibVJsWm1sdVpXUWdQeUJwYm5OMFlXNWpaUzV6ZEdGMFpTQTZJRzUxYkd3N1hHNGdJR0ZrYjNCMFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dhVzV6ZEdGdVkyVXBPMXh1WEc0Z0lIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTjBiM0l1WjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bklDWW1JSE4wWVhSbElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1J2Y2lrZ2ZId2dKME52YlhCdmJtVnVkQ2M3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwVlc1cGJtbDBhV0ZzYVhwbFpGTjBZWFJsTG1oaGN5aGpiMjF3YjI1bGJuUk9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJWYm1sdWFYUnBZV3hwZW1Wa1UzUmhkR1V1WVdSa0tHTnZiWEJ2Ym1WdWRFNWhiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkZ0pYTmdJSFZ6WlhNZ1lHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3YzJBZ1luVjBJR2wwY3lCcGJtbDBhV0ZzSUhOMFlYUmxJR2x6SUNjZ0t5QW5KWE11SUZSb2FYTWdhWE1nYm05MElISmxZMjl0YldWdVpHVmtMaUJKYm5OMFpXRmtMQ0JrWldacGJtVWdkR2hsSUdsdWFYUnBZV3dnYzNSaGRHVWdZbmtnSnlBcklDZGhjM05wWjI1cGJtY2dZVzRnYjJKcVpXTjBJSFJ2SUdCMGFHbHpMbk4wWVhSbFlDQnBiaUIwYUdVZ1kyOXVjM1J5ZFdOMGIzSWdiMllnWUNWellDNGdKeUFySUNkVWFHbHpJR1Z1YzNWeVpYTWdkR2hoZENCZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6WUNCaGNtZDFiV1Z1ZEhNZ2FHRjJaU0JoSUdOdmJuTnBjM1JsYm5RZ2MyaGhjR1V1Snl3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnYVc1emRHRnVZMlV1YzNSaGRHVWdQVDA5SUc1MWJHd2dQeUFuYm5Wc2JDY2dPaUFuZFc1a1pXWnBibVZrSnl3Z1kyOXRjRzl1Wlc1MFRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0F2THlCSlppQnVaWGNnWTI5dGNHOXVaVzUwSUVGUVNYTWdZWEpsSUdSbFptbHVaV1FzSUZ3aWRXNXpZV1psWENJZ2JHbG1aV041WTJ4bGN5QjNiMjRuZENCaVpTQmpZV3hzWldRdVhHNGdJQ0FnTHk4Z1YyRnliaUJoWW05MWRDQjBhR1Z6WlNCc2FXWmxZM2xqYkdWeklHbG1JSFJvWlhrZ1lYSmxJSEJ5WlhObGJuUXVYRzRnSUNBZ0x5OGdSRzl1SjNRZ2QyRnliaUJoWW05MWRDQnlaV0ZqZEMxc2FXWmxZM2xqYkdWekxXTnZiWEJoZENCd2IyeDVabWxzYkdWa0lHMWxkR2h2WkhNZ2RHaHZkV2RvTGx4dVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTjBiM0l1WjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJSFI1Y0dWdlppQnBibk4wWVc1alpTNW5aWFJUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnZG1GeUlHWnZkVzVrVjJsc2JFMXZkVzUwVG1GdFpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCMllYSWdabTkxYm1SWGFXeHNVbVZqWldsMlpWQnliM0J6VG1GdFpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCMllYSWdabTkxYm1SWGFXeHNWWEJrWVhSbFRtRnRaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZEM1ZlgzTjFjSEJ5WlhOelJHVndjbVZqWVhScGIyNVhZWEp1YVc1bklDRTlQU0IwY25WbEtTQjdYRzRnSUNBZ0lDQWdJR1p2ZFc1a1YybHNiRTF2ZFc1MFRtRnRaU0E5SUNkamIyMXdiMjVsYm5SWGFXeHNUVzkxYm5Rbk8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZENBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCbWIzVnVaRmRwYkd4TmIzVnVkRTVoYldVZ1BTQW5WVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDYzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeUE5UFQwZ0oyWjFibU4wYVc5dUp5QW1KaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpMbDlmYzNWd2NISmxjM05FWlhCeVpXTmhkR2x2YmxkaGNtNXBibWNnSVQwOUlIUnlkV1VwSUh0Y2JpQWdJQ0FnSUNBZ1ptOTFibVJYYVd4c1VtVmpaV2wyWlZCeWIzQnpUbUZ0WlNBOUlDZGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCekp6dGNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExsVk9VMEZHUlY5amIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUdadmRXNWtWMmxzYkZKbFkyVnBkbVZRY205d2MwNWhiV1VnUFNBblZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1uTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hWY0dSaGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaUzVmWDNOMWNIQnlaWE56UkdWd2NtVmpZWFJwYjI1WFlYSnVhVzVuSUNFOVBTQjBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lHWnZkVzVrVjJsc2JGVndaR0YwWlU1aGJXVWdQU0FuWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNjN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1VlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCbWIzVnVaRmRwYkd4VmNHUmhkR1ZPWVcxbElEMGdKMVZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxKenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tHWnZkVzVrVjJsc2JFMXZkVzUwVG1GdFpTQWhQVDBnYm5Wc2JDQjhmQ0JtYjNWdVpGZHBiR3hTWldObGFYWmxVSEp2Y0hOT1lXMWxJQ0U5UFNCdWRXeHNJSHg4SUdadmRXNWtWMmxzYkZWd1pHRjBaVTVoYldVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUY5amIyMXdiMjVsYm5ST1lXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hqZEc5eUtTQjhmQ0FuUTI5dGNHOXVaVzUwSnp0Y2JseHVJQ0FnSUNBZ0lDQjJZWElnYm1WM1FYQnBUbUZ0WlNBOUlIUjVjR1Z2WmlCamRHOXlMbWRsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5QTlQVDBnSjJaMWJtTjBhVzl1SnlBL0lDZG5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNb0tTY2dPaUFuWjJWMFUyNWhjSE5vYjNSQ1pXWnZjbVZWY0dSaGRHVW9LU2M3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0ZrYVdSWFlYSnVRV0p2ZFhSTVpXZGhZM2xNYVdabFkzbGpiR1Z6UVc1a1JHVnlhWFpsWkZOMFlYUmxMbWhoY3loZlkyOXRjRzl1Wlc1MFRtRnRaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJNWldkaFkzbE1hV1psWTNsamJHVnpRVzVrUkdWeWFYWmxaRk4wWVhSbExtRmtaQ2hmWTI5dGNHOXVaVzUwVG1GdFpTazdYRzVjYmlBZ0lDQWdJQ0FnSUNCbGNuSnZjaWduVlc1ellXWmxJR3hsWjJGamVTQnNhV1psWTNsamJHVnpJSGRwYkd3Z2JtOTBJR0psSUdOaGJHeGxaQ0JtYjNJZ1kyOXRjRzl1Wlc1MGN5QjFjMmx1WnlCdVpYY2dZMjl0Y0c5dVpXNTBJRUZRU1hNdVhGeHVYRnh1SnlBcklDY2xjeUIxYzJWeklDVnpJR0oxZENCaGJITnZJR052Ym5SaGFXNXpJSFJvWlNCbWIyeHNiM2RwYm1jZ2JHVm5ZV041SUd4cFptVmplV05zWlhNNkpYTWxjeVZ6WEZ4dVhGeHVKeUFySUNkVWFHVWdZV0p2ZG1VZ2JHbG1aV041WTJ4bGN5QnphRzkxYkdRZ1ltVWdjbVZ0YjNabFpDNGdUR1ZoY200Z2JXOXlaU0JoWW05MWRDQjBhR2x6SUhkaGNtNXBibWNnYUdWeVpUcGNYRzRuSUNzZ0oyaDBkSEJ6T2k4dlptSXViV1V2Y21WaFkzUXRkVzV6WVdabExXTnZiWEJ2Ym1WdWRDMXNhV1psWTNsamJHVnpKeXdnWDJOdmJYQnZibVZ1ZEU1aGJXVXNJRzVsZDBGd2FVNWhiV1VzSUdadmRXNWtWMmxzYkUxdmRXNTBUbUZ0WlNBaFBUMGdiblZzYkNBL0lGd2lYRnh1SUNCY0lpQXJJR1p2ZFc1a1YybHNiRTF2ZFc1MFRtRnRaU0E2SUNjbkxDQm1iM1Z1WkZkcGJHeFNaV05sYVhabFVISnZjSE5PWVcxbElDRTlQU0J1ZFd4c0lEOGdYQ0pjWEc0Z0lGd2lJQ3NnWm05MWJtUlhhV3hzVW1WalpXbDJaVkJ5YjNCelRtRnRaU0E2SUNjbkxDQm1iM1Z1WkZkcGJHeFZjR1JoZEdWT1lXMWxJQ0U5UFNCdWRXeHNJRDhnWENKY1hHNGdJRndpSUNzZ1ptOTFibVJYYVd4c1ZYQmtZWFJsVG1GdFpTQTZJQ2NuS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmU0F2THlCRFlXTm9aU0IxYm0xaGMydGxaQ0JqYjI1MFpYaDBJSE52SUhkbElHTmhiaUJoZG05cFpDQnlaV055WldGMGFXNW5JRzFoYzJ0bFpDQmpiMjUwWlhoMElIVnViR1Z6Y3lCdVpXTmxjM05oY25rdVhHNGdJQzh2SUZKbFlXTjBSbWxpWlhKRGIyNTBaWGgwSUhWemRXRnNiSGtnZFhCa1lYUmxjeUIwYUdseklHTmhZMmhsSUdKMWRDQmpZVzRuZENCbWIzSWdibVYzYkhrdFkzSmxZWFJsWkNCcGJuTjBZVzVqWlhNdVhHNWNibHh1SUNCcFppQW9hWE5NWldkaFkzbERiMjUwWlhoMFEyOXVjM1Z0WlhJcElIdGNiaUFnSUNCallXTm9aVU52Ym5SbGVIUW9kMjl5YTBsdVVISnZaM0psYzNNc0lIVnViV0Z6YTJWa1EyOXVkR1Y0ZEN3Z1kyOXVkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2FXNXpkR0Z1WTJVN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOaGJHeERiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUW9kMjl5YTBsdVVISnZaM0psYzNNc0lHbHVjM1JoYm1ObEtTQjdYRzRnSUhOMFlYSjBVR2hoYzJWVWFXMWxjaWgzYjNKclNXNVFjbTluY21WemN5d2dKMk52YlhCdmJtVnVkRmRwYkd4TmIzVnVkQ2NwTzF4dUlDQjJZWElnYjJ4a1UzUmhkR1VnUFNCcGJuTjBZVzVqWlM1emRHRjBaVHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRmRwYkd4TmIzVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDZ3BPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1VlRsTkJSa1ZmWTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdhVzV6ZEdGdVkyVXVWVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDZ3BPMXh1SUNCOVhHNWNiaUFnYzNSdmNGQm9ZWE5sVkdsdFpYSW9LVHRjYmx4dUlDQnBaaUFvYjJ4a1UzUmhkR1VnSVQwOUlHbHVjM1JoYm1ObExuTjBZWFJsS1NCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KeVZ6TG1OdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZENncE9pQkJjM05wWjI1cGJtY2daR2x5WldOMGJIa2dkRzhnZEdocGN5NXpkR0YwWlNCcGN5QW5JQ3NnWENKa1pYQnlaV05oZEdWa0lDaGxlR05sY0hRZ2FXNXphV1JsSUdFZ1kyOXRjRzl1Wlc1MEozTWdYQ0lnS3lBblkyOXVjM1J5ZFdOMGIzSXBMaUJWYzJVZ2MyVjBVM1JoZEdVZ2FXNXpkR1ZoWkM0bkxDQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5RbktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamJHRnpjME52YlhCdmJtVnVkRlZ3WkdGMFpYSXVaVzV4ZFdWMVpWSmxjR3hoWTJWVGRHRjBaU2hwYm5OMFlXNWpaU3dnYVc1emRHRnVZMlV1YzNSaGRHVXNJRzUxYkd3cE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR05oYkd4RGIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6S0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JwYm5OMFlXNWpaU3dnYm1WM1VISnZjSE1zSUc1bGVIUkRiMjUwWlhoMEtTQjdYRzRnSUhaaGNpQnZiR1JUZEdGMFpTQTlJR2x1YzNSaGJtTmxMbk4wWVhSbE8xeHVJQ0J6ZEdGeWRGQm9ZWE5sVkdsdFpYSW9kMjl5YTBsdVVISnZaM0psYzNNc0lDZGpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCekp5azdYRzVjYmlBZ2FXWWdLSFI1Y0dWdlppQnBibk4wWVc1alpTNWpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCeklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JGSmxZMlZwZG1WUWNtOXdjeWh1WlhkUWNtOXdjeXdnYm1WNGRFTnZiblJsZUhRcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZKbFkyVnBkbVZRY205d2N5QTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpLRzVsZDFCeWIzQnpMQ0J1WlhoMFEyOXVkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQnpkRzl3VUdoaGMyVlVhVzFsY2lncE8xeHVYRzRnSUdsbUlDaHBibk4wWVc1alpTNXpkR0YwWlNBaFBUMGdiMnhrVTNSaGRHVXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9kMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU2tnZkh3Z0owTnZiWEJ2Ym1WdWRDYzdYRzVjYmlBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBVM1JoZEdWQmMzTnBaMjV0Wlc1MFJtOXlRMjl0Y0c5dVpXNTBMbWhoY3loamIyMXdiMjVsYm5ST1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUlRkR0YwWlVGemMybG5ibTFsYm5SR2IzSkRiMjF3YjI1bGJuUXVZV1JrS0dOdmJYQnZibVZ1ZEU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2NsY3k1amIyMXdiMjVsYm5SWGFXeHNVbVZqWldsMlpWQnliM0J6S0NrNklFRnpjMmxuYm1sdVp5QmthWEpsWTNSc2VTQjBieUFuSUNzZ1hDSjBhR2x6TG5OMFlYUmxJR2x6SUdSbGNISmxZMkYwWldRZ0tHVjRZMlZ3ZENCcGJuTnBaR1VnWVNCamIyMXdiMjVsYm5RbmN5QmNJaUFySUNkamIyNXpkSEoxWTNSdmNpa3VJRlZ6WlNCelpYUlRkR0YwWlNCcGJuTjBaV0ZrTGljc0lHTnZiWEJ2Ym1WdWRFNWhiV1VwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR05zWVhOelEyOXRjRzl1Wlc1MFZYQmtZWFJsY2k1bGJuRjFaWFZsVW1Wd2JHRmpaVk4wWVhSbEtHbHVjM1JoYm1ObExDQnBibk4wWVc1alpTNXpkR0YwWlN3Z2JuVnNiQ2s3WEc0Z0lIMWNibjBnTHk4Z1NXNTJiMnRsY3lCMGFHVWdiVzkxYm5RZ2JHbG1aUzFqZVdOc1pYTWdiMjRnWVNCd2NtVjJhVzkxYzJ4NUlHNWxkbVZ5SUhKbGJtUmxjbVZrSUdsdWMzUmhibU5sTGx4dVhHNWNibVoxYm1OMGFXOXVJRzF2ZFc1MFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dZM1J2Y2l3Z2JtVjNVSEp2Y0hNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIdGNiaUFnSUNCamFHVmphME5zWVhOelNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJRzVsZDFCeWIzQnpLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNiaUFnYVc1emRHRnVZMlV1Y0hKdmNITWdQU0J1WlhkUWNtOXdjenRjYmlBZ2FXNXpkR0Z1WTJVdWMzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0JwYm5OMFlXNWpaUzV5WldaeklEMGdaVzF3ZEhsU1pXWnpUMkpxWldOME8xeHVJQ0JwYm1sMGFXRnNhWHBsVlhCa1lYUmxVWFZsZFdVb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQjJZWElnWTI5dWRHVjRkRlI1Y0dVZ1BTQmpkRzl5TG1OdmJuUmxlSFJVZVhCbE8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1kyOXVkR1Y0ZEZSNWNHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHTnZiblJsZUhSVWVYQmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdhVzV6ZEdGdVkyVXVZMjl1ZEdWNGRDQTlJSEpsWVdSRGIyNTBaWGgwS0dOdmJuUmxlSFJVZVhCbEtUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjJZWElnZFc1dFlYTnJaV1JEYjI1MFpYaDBJRDBnWjJWMFZXNXRZWE5yWldSRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JqZEc5eUxDQjBjblZsS1R0Y2JpQWdJQ0JwYm5OMFlXNWpaUzVqYjI1MFpYaDBJRDBnWjJWMFRXRnphMlZrUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5d2dkVzV0WVhOclpXUkRiMjUwWlhoMEtUdGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQnBaaUFvYVc1emRHRnVZMlV1YzNSaGRHVWdQVDA5SUc1bGQxQnliM0J6S1NCN1hHNGdJQ0FnSUNCMllYSWdZMjl0Y0c5dVpXNTBUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb1kzUnZjaWtnZkh3Z0owTnZiWEJ2Ym1WdWRDYzdYRzVjYmlBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBSR2x5WldOMGJIbEJjM05wWjI1cGJtZFFjbTl3YzFSdlUzUmhkR1V1YUdGektHTnZiWEJ2Ym1WdWRFNWhiV1VwS1NCN1hHNGdJQ0FnSUNBZ0lHUnBaRmRoY201QlltOTFkRVJwY21WamRHeDVRWE56YVdkdWFXNW5VSEp2Y0hOVWIxTjBZWFJsTG1Ga1pDaGpiMjF3YjI1bGJuUk9ZVzFsS1R0Y2JseHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnbkpYTTZJRWwwSUdseklHNXZkQ0J5WldOdmJXMWxibVJsWkNCMGJ5QmhjM05wWjI0Z2NISnZjSE1nWkdseVpXTjBiSGtnZEc4Z2MzUmhkR1VnSnlBcklGd2lZbVZqWVhWelpTQjFjR1JoZEdWeklIUnZJSEJ5YjNCeklIZHZiaWQwSUdKbElISmxabXhsWTNSbFpDQnBiaUJ6ZEdGMFpTNGdYQ0lnS3lBblNXNGdiVzl6ZENCallYTmxjeXdnYVhRZ2FYTWdZbVYwZEdWeUlIUnZJSFZ6WlNCd2NtOXdjeUJrYVhKbFkzUnNlUzRuTENCamIyMXdiMjVsYm5ST1lXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXViVzlrWlNBbUlGTjBjbWxqZEUxdlpHVXBJSHRjYmlBZ0lDQWdJRkpsWVdOMFUzUnlhV04wVFc5a1pWZGhjbTVwYm1kekxuSmxZMjl5WkV4bFoyRmplVU52Ym5SbGVIUlhZWEp1YVc1bktIZHZjbXRKYmxCeWIyZHlaWE56TENCcGJuTjBZVzVqWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnVW1WaFkzUlRkSEpwWTNSTmIyUmxWMkZ5Ym1sdVozTXVjbVZqYjNKa1ZXNXpZV1psVEdsbVpXTjVZMnhsVjJGeWJtbHVaM01vZDI5eWEwbHVVSEp2WjNKbGMzTXNJR2x1YzNSaGJtTmxLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3Y205alpYTnpWWEJrWVhSbFVYVmxkV1VvZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzVsZDFCeWIzQnpMQ0JwYm5OMFlXNWpaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0JwYm5OMFlXNWpaUzV6ZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc0Z0lIWmhjaUJuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITWdQU0JqZEc5eUxtZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3Y3p0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lHRndjR3g1UkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCektIZHZjbXRKYmxCeWIyZHlaWE56TENCamRHOXlMQ0JuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITXNJRzVsZDFCeWIzQnpLVHRjYmlBZ0lDQnBibk4wWVc1alpTNXpkR0YwWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdYRzRnSUgwZ0x5OGdTVzRnYjNKa1pYSWdkRzhnYzNWd2NHOXlkQ0J5WldGamRDMXNhV1psWTNsamJHVnpMV052YlhCaGRDQndiMng1Wm1sc2JHVmtJR052YlhCdmJtVnVkSE1zWEc0Z0lDOHZJRlZ1YzJGbVpTQnNhV1psWTNsamJHVnpJSE5vYjNWc1pDQnViM1FnWW1VZ2FXNTJiMnRsWkNCbWIzSWdZMjl0Y0c5dVpXNTBjeUIxYzJsdVp5QjBhR1VnYm1WM0lFRlFTWE11WEc1Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdOMGIzSXVaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCeklDRTlQU0FuWm5WdVkzUnBiMjRuSUNZbUlIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1blpYUlRibUZ3YzJodmRFSmxabTl5WlZWd1pHRjBaU0FoUFQwZ0oyWjFibU4wYVc5dUp5QW1KaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbFZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljZ2ZId2dkSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDQTlQVDBnSjJaMWJtTjBhVzl1SnlrcElIdGNiaUFnSUNCallXeHNRMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBLSGR2Y210SmJsQnliMmR5WlhOekxDQnBibk4wWVc1alpTazdJQzh2SUVsbUlIZGxJR2hoWkNCaFpHUnBkR2x2Ym1Gc0lITjBZWFJsSUhWd1pHRjBaWE1nWkhWeWFXNW5JSFJvYVhNZ2JHbG1aUzFqZVdOc1pTd2diR1YwSjNOY2JpQWdJQ0F2THlCd2NtOWpaWE56SUhSb1pXMGdibTkzTGx4dVhHNGdJQ0FnY0hKdlkyVnpjMVZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhkUWNtOXdjeXdnYVc1emRHRnVZMlVzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCcGJuTjBZVzVqWlM1emRHRjBaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVN1hHNGdJSDFjYmx4dUlDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRVJwWkUxdmRXNTBJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGVndaR0YwWlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWE4xYldWTmIzVnVkRU5zWVhOelNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJRzVsZDFCeWIzQnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1emRHRjBaVTV2WkdVN1hHNGdJSFpoY2lCdmJHUlFjbTl3Y3lBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUdsdWMzUmhibU5sTG5CeWIzQnpJRDBnYjJ4a1VISnZjSE03WEc0Z0lIWmhjaUJ2YkdSRGIyNTBaWGgwSUQwZ2FXNXpkR0Z1WTJVdVkyOXVkR1Y0ZER0Y2JpQWdkbUZ5SUdOdmJuUmxlSFJVZVhCbElEMGdZM1J2Y2k1amIyNTBaWGgwVkhsd1pUdGNiaUFnZG1GeUlHNWxlSFJEYjI1MFpYaDBJRDBnWlcxd2RIbERiMjUwWlhoMFQySnFaV04wTzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnWTI5dWRHVjRkRlI1Y0dVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUdOdmJuUmxlSFJVZVhCbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2JtVjRkRU52Ym5SbGVIUWdQU0J5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwVkhsd1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUc1bGVIUk1aV2RoWTNsVmJtMWhjMnRsWkVOdmJuUmxlSFFnUFNCblpYUlZibTFoYzJ0bFpFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMGIzSXNJSFJ5ZFdVcE8xeHVJQ0FnSUc1bGVIUkRiMjUwWlhoMElEMGdaMlYwVFdGemEyVmtRMjl1ZEdWNGRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2JtVjRkRXhsWjJGamVWVnViV0Z6YTJWa1EyOXVkR1Y0ZENrN1hHNGdJSDFjYmx4dUlDQjJZWElnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDBnWTNSdmNpNW5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNN1hHNGdJSFpoY2lCb1lYTk9aWGRNYVdabFkzbGpiR1Z6SUQwZ2RIbHdaVzltSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeUE5UFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0IwZVhCbGIyWWdhVzV6ZEdGdVkyVXVaMlYwVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWM3SUM4dklFNXZkR1U2SUVSMWNtbHVaeUIwYUdWelpTQnNhV1psTFdONVkyeGxjeXdnYVc1emRHRnVZMlV1Y0hKdmNITXZhVzV6ZEdGdVkyVXVjM1JoZEdVZ1lYSmxJSGRvWVhSY2JpQWdMeThnWlhabGNpQjBhR1VnY0hKbGRtbHZkWE5zZVNCaGRIUmxiWEIwWldRZ2RHOGdjbVZ1WkdWeUlDMGdibTkwSUhSb1pTQmNJbU4xY25KbGJuUmNJaTRnU0c5M1pYWmxjaXhjYmlBZ0x5OGdaSFZ5YVc1bklHTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQjNaU0J3WVhOeklIUm9aU0JjSW1OMWNuSmxiblJjSWlCd2NtOXdjeTVjYmlBZ0x5OGdTVzRnYjNKa1pYSWdkRzhnYzNWd2NHOXlkQ0J5WldGamRDMXNhV1psWTNsamJHVnpMV052YlhCaGRDQndiMng1Wm1sc2JHVmtJR052YlhCdmJtVnVkSE1zWEc0Z0lDOHZJRlZ1YzJGbVpTQnNhV1psWTNsamJHVnpJSE5vYjNWc1pDQnViM1FnWW1VZ2FXNTJiMnRsWkNCbWIzSWdZMjl0Y0c5dVpXNTBjeUIxYzJsdVp5QjBhR1VnYm1WM0lFRlFTWE11WEc1Y2JpQWdhV1lnS0NGb1lYTk9aWGRNYVdabFkzbGpiR1Z6SUNZbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVZVNVRRVVpGWDJOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1nUFQwOUlDZG1kVzVqZEdsdmJpY2dmSHdnZEhsd1pXOW1JR2x1YzNSaGJtTmxMbU52YlhCdmJtVnVkRmRwYkd4U1pXTmxhWFpsVUhKdmNITWdQVDA5SUNkbWRXNWpkR2x2YmljcEtTQjdYRzRnSUNBZ2FXWWdLRzlzWkZCeWIzQnpJQ0U5UFNCdVpYZFFjbTl3Y3lCOGZDQnZiR1JEYjI1MFpYaDBJQ0U5UFNCdVpYaDBRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdZMkZzYkVOdmJYQnZibVZ1ZEZkcGJHeFNaV05sYVhabFVISnZjSE1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJR2x1YzNSaGJtTmxMQ0J1WlhkUWNtOXdjeXdnYm1WNGRFTnZiblJsZUhRcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxjMlYwU0dGelJtOXlZMlZWY0dSaGRHVkNaV1p2Y21WUWNtOWpaWE56YVc1bktDazdYRzRnSUhaaGNpQnZiR1JUZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc0Z0lIWmhjaUJ1WlhkVGRHRjBaU0E5SUdsdWMzUmhibU5sTG5OMFlYUmxJRDBnYjJ4a1UzUmhkR1U3WEc0Z0lIQnliMk5sYzNOVmNHUmhkR1ZSZFdWMVpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2JtVjNVSEp2Y0hNc0lHbHVjM1JoYm1ObExDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lHNWxkMU4wWVhSbElEMGdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQnBaaUFvYjJ4a1VISnZjSE1nUFQwOUlHNWxkMUJ5YjNCeklDWW1JRzlzWkZOMFlYUmxJRDA5UFNCdVpYZFRkR0YwWlNBbUppQWhhR0Z6UTI5dWRHVjRkRU5vWVc1blpXUW9LU0FtSmlBaFkyaGxZMnRJWVhOR2IzSmpaVlZ3WkdGMFpVRm1kR1Z5VUhKdlkyVnpjMmx1WnlncEtTQjdYRzRnSUNBZ0x5OGdTV1lnWVc0Z2RYQmtZWFJsSUhkaGN5QmhiSEpsWVdSNUlHbHVJSEJ5YjJkeVpYTnpMQ0IzWlNCemFHOTFiR1FnYzJOb1pXUjFiR1VnWVc0Z1ZYQmtZWFJsWEc0Z0lDQWdMeThnWldabVpXTjBJR1YyWlc0Z2RHaHZkV2RvSUhkbEozSmxJR0poYVd4cGJtY2diM1YwTENCemJ5QjBhR0YwSUdOWFZTOWpSRlVnWVhKbElHTmhiR3hsWkM1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEVScFpFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dmRDBnVlhCa1lYUmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdZWEJ3YkhsRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITW9kMjl5YTBsdVVISnZaM0psYzNNc0lHTjBiM0lzSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjeXdnYm1WM1VISnZjSE1wTzF4dUlDQWdJRzVsZDFOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ6YUc5MWJHUlZjR1JoZEdVZ1BTQmphR1ZqYTBoaGMwWnZjbU5sVlhCa1lYUmxRV1owWlhKUWNtOWpaWE56YVc1bktDa2dmSHdnWTJobFkydFRhRzkxYkdSRGIyMXdiMjVsYm5SVmNHUmhkR1VvZDI5eWEwbHVVSEp2WjNKbGMzTXNJR04wYjNJc0lHOXNaRkJ5YjNCekxDQnVaWGRRY205d2N5d2diMnhrVTNSaGRHVXNJRzVsZDFOMFlYUmxMQ0J1WlhoMFEyOXVkR1Y0ZENrN1hHNWNiaUFnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaU2tnZTF4dUlDQWdJQzh2SUVsdUlHOXlaR1Z5SUhSdklITjFjSEJ2Y25RZ2NtVmhZM1F0YkdsbVpXTjVZMnhsY3kxamIyMXdZWFFnY0c5c2VXWnBiR3hsWkNCamIyMXdiMjVsYm5SekxGeHVJQ0FnSUM4dklGVnVjMkZtWlNCc2FXWmxZM2xqYkdWeklITm9iM1ZzWkNCdWIzUWdZbVVnYVc1MmIydGxaQ0JtYjNJZ1kyOXRjRzl1Wlc1MGN5QjFjMmx1WnlCMGFHVWdibVYzSUVGUVNYTXVYRzRnSUNBZ2FXWWdLQ0ZvWVhOT1pYZE1hV1psWTNsamJHVnpJQ1ltSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1VlU1VFFVWkZYMk52YlhCdmJtVnVkRmRwYkd4TmIzVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0IwZVhCbGIyWWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBWMmxzYkUxdmRXNTBJRDA5UFNBblpuVnVZM1JwYjI0bktTa2dlMXh1SUNBZ0lDQWdjM1JoY25SUWFHRnpaVlJwYldWeUtIZHZjbXRKYmxCeWIyZHlaWE56TENBblkyOXRjRzl1Wlc1MFYybHNiRTF2ZFc1MEp5azdYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVc1emRHRnVZMlV1WTI5dGNHOXVaVzUwVjJsc2JFMXZkVzUwSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUdsdWMzUmhibU5sTG1OdmJYQnZibVZ1ZEZkcGJHeE5iM1Z1ZENncE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbFZPVTBGR1JWOWpiMjF3YjI1bGJuUlhhV3hzVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdhVzV6ZEdGdVkyVXVWVTVUUVVaRlgyTnZiWEJ2Ym1WdWRGZHBiR3hOYjNWdWRDZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J6ZEc5d1VHaGhjMlZVYVcxbGNpZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBSR2xrVFc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQlZjR1JoZEdVN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFbG1JR0Z1SUhWd1pHRjBaU0IzWVhNZ1lXeHlaV0ZrZVNCcGJpQndjbTluY21WemN5d2dkMlVnYzJodmRXeGtJSE5qYUdWa2RXeGxJR0Z1SUZWd1pHRjBaVnh1SUNBZ0lDOHZJR1ZtWm1WamRDQmxkbVZ1SUhSb2IzVm5hQ0IzWlNkeVpTQmlZV2xzYVc1bklHOTFkQ3dnYzI4Z2RHaGhkQ0JqVjFVdlkwUlZJR0Z5WlNCallXeHNaV1F1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJFYVdSTmIzVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRlZ3WkdGMFpUdGNiaUFnSUNCOUlDOHZJRWxtSUhOb2IzVnNaRU52YlhCdmJtVnVkRlZ3WkdGMFpTQnlaWFIxY201bFpDQm1ZV3h6WlN3Z2QyVWdjMmh2ZFd4a0lITjBhV3hzSUhWd1pHRjBaU0IwYUdWY2JpQWdJQ0F2THlCdFpXMXZhWHBsWkNCemRHRjBaU0IwYnlCcGJtUnBZMkYwWlNCMGFHRjBJSFJvYVhNZ2QyOXlheUJqWVc0Z1ltVWdjbVYxYzJWa0xseHVYRzVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZCeWIzQnpJRDBnYm1WM1VISnZjSE03WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQjlJQzh2SUZWd1pHRjBaU0IwYUdVZ1pYaHBjM1JwYm1jZ2FXNXpkR0Z1WTJVbmN5QnpkR0YwWlN3Z2NISnZjSE1zSUdGdVpDQmpiMjUwWlhoMElIQnZhVzUwWlhKeklHVjJaVzVjYmlBZ0x5OGdhV1lnYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbElISmxkSFZ5Ym5NZ1ptRnNjMlV1WEc1Y2JseHVJQ0JwYm5OMFlXNWpaUzV3Y205d2N5QTlJRzVsZDFCeWIzQnpPMXh1SUNCcGJuTjBZVzVqWlM1emRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQnBibk4wWVc1alpTNWpiMjUwWlhoMElEMGdibVY0ZEVOdmJuUmxlSFE3WEc0Z0lISmxkSFZ5YmlCemFHOTFiR1JWY0dSaGRHVTdYRzU5SUM4dklFbHVkbTlyWlhNZ2RHaGxJSFZ3WkdGMFpTQnNhV1psTFdONVkyeGxjeUJoYm1RZ2NtVjBkWEp1Y3lCbVlXeHpaU0JwWmlCcGRDQnphRzkxYkdSdUozUWdjbVZ5Wlc1a1pYSXVYRzVjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsUTJ4aGMzTkpibk4wWVc1alpTaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1kzUnZjaXdnYm1WM1VISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNiaUFnWTJ4dmJtVlZjR1JoZEdWUmRXVjFaU2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUhaaGNpQnZiR1JRY205d2N5QTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE03WEc0Z0lHbHVjM1JoYm1ObExuQnliM0J6SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pTQTlQVDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV3hsYldWdWRGUjVjR1VnUHlCdmJHUlFjbTl3Y3lBNklISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9kMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU3dnYjJ4a1VISnZjSE1wTzF4dUlDQjJZWElnYjJ4a1EyOXVkR1Y0ZENBOUlHbHVjM1JoYm1ObExtTnZiblJsZUhRN1hHNGdJSFpoY2lCamIyNTBaWGgwVkhsd1pTQTlJR04wYjNJdVkyOXVkR1Y0ZEZSNWNHVTdYRzRnSUhaaGNpQnVaWGgwUTI5dWRHVjRkQ0E5SUdWdGNIUjVRMjl1ZEdWNGRFOWlhbVZqZER0Y2JseHVJQ0JwWmlBb2RIbHdaVzltSUdOdmJuUmxlSFJVZVhCbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCamIyNTBaWGgwVkhsd1pTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHNWxlSFJEYjI1MFpYaDBJRDBnY21WaFpFTnZiblJsZUhRb1kyOXVkR1Y0ZEZSNWNHVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCdVpYaDBWVzV0WVhOclpXUkRiMjUwWlhoMElEMGdaMlYwVlc1dFlYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkRzl5TENCMGNuVmxLVHRjYmlBZ0lDQnVaWGgwUTI5dWRHVjRkQ0E5SUdkbGRFMWhjMnRsWkVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzVsZUhSVmJtMWhjMnRsWkVOdmJuUmxlSFFwTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR2RsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5QTlJR04wYjNJdVoyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJWQnliM0J6TzF4dUlDQjJZWElnYUdGelRtVjNUR2xtWldONVkyeGxjeUE5SUhSNWNHVnZaaUJuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0VUhKdmNITWdQVDA5SUNkbWRXNWpkR2x2YmljZ2ZId2dkSGx3Wlc5bUlHbHVjM1JoYm1ObExtZGxkRk51WVhCemFHOTBRbVZtYjNKbFZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5PeUF2THlCT2IzUmxPaUJFZFhKcGJtY2dkR2hsYzJVZ2JHbG1aUzFqZVdOc1pYTXNJR2x1YzNSaGJtTmxMbkJ5YjNCekwybHVjM1JoYm1ObExuTjBZWFJsSUdGeVpTQjNhR0YwWEc0Z0lDOHZJR1YyWlhJZ2RHaGxJSEJ5WlhacGIzVnpiSGtnWVhSMFpXMXdkR1ZrSUhSdklISmxibVJsY2lBdElHNXZkQ0IwYUdVZ1hDSmpkWEp5Wlc1MFhDSXVJRWh2ZDJWMlpYSXNYRzRnSUM4dklHUjFjbWx1WnlCamIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVZ2QyVWdjR0Z6Y3lCMGFHVWdYQ0pqZFhKeVpXNTBYQ0lnY0hKdmNITXVYRzRnSUM4dklFbHVJRzl5WkdWeUlIUnZJSE4xY0hCdmNuUWdjbVZoWTNRdGJHbG1aV041WTJ4bGN5MWpiMjF3WVhRZ2NHOXNlV1pwYkd4bFpDQmpiMjF3YjI1bGJuUnpMRnh1SUNBdkx5QlZibk5oWm1VZ2JHbG1aV041WTJ4bGN5QnphRzkxYkdRZ2JtOTBJR0psSUdsdWRtOXJaV1FnWm05eUlHTnZiWEJ2Ym1WdWRITWdkWE5wYm1jZ2RHaGxJRzVsZHlCQlVFbHpMbHh1WEc0Z0lHbG1JQ2doYUdGelRtVjNUR2xtWldONVkyeGxjeUFtSmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJSFI1Y0dWdlppQnBibk4wWVc1alpTNWpiMjF3YjI1bGJuUlhhV3hzVW1WalpXbDJaVkJ5YjNCeklEMDlQU0FuWm5WdVkzUnBiMjRuS1NrZ2UxeHVJQ0FnSUdsbUlDaHZiR1JRY205d2N5QWhQVDBnYm1WM1VISnZjSE1nZkh3Z2IyeGtRMjl1ZEdWNGRDQWhQVDBnYm1WNGRFTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lHTmhiR3hEYjIxd2IyNWxiblJYYVd4c1VtVmpaV2wyWlZCeWIzQnpLSGR2Y210SmJsQnliMmR5WlhOekxDQnBibk4wWVc1alpTd2dibVYzVUhKdmNITXNJRzVsZUhSRGIyNTBaWGgwS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYTmxkRWhoYzBadmNtTmxWWEJrWVhSbFFtVm1iM0psVUhKdlkyVnpjMmx1WnlncE8xeHVJQ0IyWVhJZ2IyeGtVM1JoZEdVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxPMXh1SUNCMllYSWdibVYzVTNSaGRHVWdQU0JwYm5OMFlXNWpaUzV6ZEdGMFpTQTlJRzlzWkZOMFlYUmxPMXh1SUNCd2NtOWpaWE56VlhCa1lYUmxVWFZsZFdVb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1bGQxQnliM0J6TENCcGJuTjBZVzVqWlN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCdVpYZFRkR0YwWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdYRzVjYmlBZ2FXWWdLRzlzWkZCeWIzQnpJRDA5UFNCdVpYZFFjbTl3Y3lBbUppQnZiR1JUZEdGMFpTQTlQVDBnYm1WM1UzUmhkR1VnSmlZZ0lXaGhjME52Ym5SbGVIUkRhR0Z1WjJWa0tDa2dKaVlnSVdOb1pXTnJTR0Z6Um05eVkyVlZjR1JoZEdWQlpuUmxjbEJ5YjJObGMzTnBibWNvS1NrZ2UxeHVJQ0FnSUM4dklFbG1JR0Z1SUhWd1pHRjBaU0IzWVhNZ1lXeHlaV0ZrZVNCcGJpQndjbTluY21WemN5d2dkMlVnYzJodmRXeGtJSE5qYUdWa2RXeGxJR0Z1SUZWd1pHRjBaVnh1SUNBZ0lDOHZJR1ZtWm1WamRDQmxkbVZ1SUhSb2IzVm5hQ0IzWlNkeVpTQmlZV2xzYVc1bklHOTFkQ3dnYzI4Z2RHaGhkQ0JqVjFVdlkwUlZJR0Z5WlNCallXeHNaV1F1WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJFYVdSVmNHUmhkR1VnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR2xtSUNodmJHUlFjbTl3Y3lBaFBUMGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGQnliM0J6SUh4OElHOXNaRk4wWVhSbElDRTlQU0JqZFhKeVpXNTBMbTFsYlc5cGVtVmtVM1JoZEdVcElIdGNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRlZ3WkdGMFpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtZGxkRk51WVhCemFHOTBRbVZtYjNKbFZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JwWmlBb2IyeGtVSEp2Y0hNZ0lUMDlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlFjbTl3Y3lCOGZDQnZiR1JUZEdGMFpTQWhQVDBnWTNWeWNtVnVkQzV0WlcxdmFYcGxaRk4wWVhSbEtTQjdYRzRnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JUYm1Gd2MyaHZkRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCcFppQW9kSGx3Wlc5bUlHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMVFjbTl3Y3lBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJR0Z3Y0d4NVJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkRzl5TENCblpYUkVaWEpwZG1Wa1UzUmhkR1ZHY205dFVISnZjSE1zSUc1bGQxQnliM0J6S1R0Y2JpQWdJQ0J1WlhkVGRHRjBaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVN1hHNGdJSDFjYmx4dUlDQjJZWElnYzJodmRXeGtWWEJrWVhSbElEMGdZMmhsWTJ0SVlYTkdiM0pqWlZWd1pHRjBaVUZtZEdWeVVISnZZMlZ6YzJsdVp5Z3BJSHg4SUdOb1pXTnJVMmh2ZFd4a1EyOXRjRzl1Wlc1MFZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JqZEc5eUxDQnZiR1JRY205d2N5d2dibVYzVUhKdmNITXNJRzlzWkZOMFlYUmxMQ0J1WlhkVGRHRjBaU3dnYm1WNGRFTnZiblJsZUhRcE8xeHVYRzRnSUdsbUlDaHphRzkxYkdSVmNHUmhkR1VwSUh0Y2JpQWdJQ0F2THlCSmJpQnZjbVJsY2lCMGJ5QnpkWEJ3YjNKMElISmxZV04wTFd4cFptVmplV05zWlhNdFkyOXRjR0YwSUhCdmJIbG1hV3hzWldRZ1kyOXRjRzl1Wlc1MGN5eGNiaUFnSUNBdkx5QlZibk5oWm1VZ2JHbG1aV041WTJ4bGN5QnphRzkxYkdRZ2JtOTBJR0psSUdsdWRtOXJaV1FnWm05eUlHTnZiWEJ2Ym1WdWRITWdkWE5wYm1jZ2RHaGxJRzVsZHlCQlVFbHpMbHh1SUNBZ0lHbG1JQ2doYUdGelRtVjNUR2xtWldONVkyeGxjeUFtSmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTGxWT1UwRkdSVjlqYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5JSHg4SUhSNWNHVnZaaUJwYm5OMFlXNWpaUzVqYjIxd2IyNWxiblJYYVd4c1ZYQmtZWFJsSUQwOVBTQW5ablZ1WTNScGIyNG5LU2tnZTF4dUlDQWdJQ0FnYzNSaGNuUlFhR0Z6WlZScGJXVnlLSGR2Y210SmJsQnliMmR5WlhOekxDQW5ZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU2NwTzF4dVhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hWY0dSaGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdhVzV6ZEdGdVkyVXVZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU2h1WlhkUWNtOXdjeXdnYm1WM1UzUmhkR1VzSUc1bGVIUkRiMjUwWlhoMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJwYm5OMFlXNWpaUzVWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0JwYm5OMFlXNWpaUzVWVGxOQlJrVmZZMjl0Y0c5dVpXNTBWMmxzYkZWd1pHRjBaU2h1WlhkUWNtOXdjeXdnYm1WM1UzUmhkR1VzSUc1bGVIUkRiMjUwWlhoMEtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjM1J2Y0ZCb1lYTmxWR2x0WlhJb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGVndaR0YwWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdsdWMzUmhibU5sTG1kbGRGTnVZWEJ6YUc5MFFtVm1iM0psVlhCa1lYUmxJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdVMjVoY0hOb2IzUTdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRWxtSUdGdUlIVndaR0YwWlNCM1lYTWdZV3h5WldGa2VTQnBiaUJ3Y205bmNtVnpjeXdnZDJVZ2MyaHZkV3hrSUhOamFHVmtkV3hsSUdGdUlGVndaR0YwWlZ4dUlDQWdJQzh2SUdWbVptVmpkQ0JsZG1WdUlIUm9iM1ZuYUNCM1pTZHlaU0JpWVdsc2FXNW5JRzkxZEN3Z2MyOGdkR2hoZENCalYxVXZZMFJWSUdGeVpTQmpZV3hzWldRdVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUdsbUlDaHZiR1JRY205d2N5QWhQVDBnWTNWeWNtVnVkQzV0WlcxdmFYcGxaRkJ5YjNCeklIeDhJRzlzWkZOMFlYUmxJQ0U5UFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVXBJSHRjYmlBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5JSHc5SUZWd1pHRjBaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JR2x1YzNSaGJtTmxMbWRsZEZOdVlYQnphRzkwUW1WbWIzSmxWWEJrWVhSbElEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCcFppQW9iMnhrVUhKdmNITWdJVDA5SUdOMWNuSmxiblF1YldWdGIybDZaV1JRY205d2N5QjhmQ0J2YkdSVGRHRjBaU0FoUFQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCVGJtRndjMmh2ZER0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUM4dklFbG1JSE5vYjNWc1pFTnZiWEJ2Ym1WdWRGVndaR0YwWlNCeVpYUjFjbTVsWkNCbVlXeHpaU3dnZDJVZ2MyaHZkV3hrSUhOMGFXeHNJSFZ3WkdGMFpTQjBhR1ZjYmlBZ0lDQXZMeUJ0WlcxdmFYcGxaQ0J3Y205d2N5OXpkR0YwWlNCMGJ5QnBibVJwWTJGMFpTQjBhR0YwSUhSb2FYTWdkMjl5YXlCallXNGdZbVVnY21WMWMyVmtMbHh1WEc1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGQnliM0J6SUQwZ2JtVjNVSEp2Y0hNN1hHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBOUlHNWxkMU4wWVhSbE8xeHVJQ0I5SUM4dklGVndaR0YwWlNCMGFHVWdaWGhwYzNScGJtY2dhVzV6ZEdGdVkyVW5jeUJ6ZEdGMFpTd2djSEp2Y0hNc0lHRnVaQ0JqYjI1MFpYaDBJSEJ2YVc1MFpYSnpJR1YyWlc1Y2JpQWdMeThnYVdZZ2MyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJSEpsZEhWeWJuTWdabUZzYzJVdVhHNWNibHh1SUNCcGJuTjBZVzVqWlM1d2NtOXdjeUE5SUc1bGQxQnliM0J6TzF4dUlDQnBibk4wWVc1alpTNXpkR0YwWlNBOUlHNWxkMU4wWVhSbE8xeHVJQ0JwYm5OMFlXNWpaUzVqYjI1MFpYaDBJRDBnYm1WNGRFTnZiblJsZUhRN1hHNGdJSEpsZEhWeWJpQnphRzkxYkdSVmNHUmhkR1U3WEc1OVhHNWNiblpoY2lCa2FXUlhZWEp1UVdKdmRYUk5ZWEJ6TzF4dWRtRnlJR1JwWkZkaGNtNUJZbTkxZEVkbGJtVnlZWFJ2Y25NN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFUzUnlhVzVuVW1WbWN6dGNiblpoY2lCdmQyNWxja2hoYzB0bGVWVnpaVmRoY201cGJtYzdYRzUyWVhJZ2IzZHVaWEpJWVhOR2RXNWpkR2x2YmxSNWNHVlhZWEp1YVc1bk8xeHVYRzUyWVhJZ2QyRnlia1p2Y2sxcGMzTnBibWRMWlhrZ1BTQm1kVzVqZEdsdmJpQW9ZMmhwYkdRcElIdDlPMXh1WEc1N1hHNGdJR1JwWkZkaGNtNUJZbTkxZEUxaGNITWdQU0JtWVd4elpUdGNiaUFnWkdsa1YyRnlia0ZpYjNWMFIyVnVaWEpoZEc5eWN5QTlJR1poYkhObE8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSVGRISnBibWRTWldaeklEMGdlMzA3WEc0Z0lDOHFLbHh1SUNBZ0tpQlhZWEp1SUdsbUlIUm9aWEpsSjNNZ2JtOGdhMlY1SUdWNGNHeHBZMmwwYkhrZ2MyVjBJRzl1SUdSNWJtRnRhV01nWVhKeVlYbHpJRzltSUdOb2FXeGtjbVZ1SUc5eVhHNGdJQ0FxSUc5aWFtVmpkQ0JyWlhseklHRnlaU0J1YjNRZ2RtRnNhV1F1SUZSb2FYTWdZV3hzYjNkeklIVnpJSFJ2SUd0bFpYQWdkSEpoWTJzZ2IyWWdZMmhwYkdSeVpXNGdZbVYwZDJWbGJseHVJQ0FnS2lCMWNHUmhkR1Z6TGx4dUlDQWdLaTljYmx4dUlDQnZkMjVsY2toaGMwdGxlVlZ6WlZkaGNtNXBibWNnUFNCN2ZUdGNiaUFnYjNkdVpYSklZWE5HZFc1amRHbHZibFI1Y0dWWFlYSnVhVzVuSUQwZ2UzMDdYRzVjYmlBZ2QyRnlia1p2Y2sxcGMzTnBibWRMWlhrZ1BTQm1kVzVqZEdsdmJpQW9ZMmhwYkdRcElIdGNiaUFnSUNCcFppQW9ZMmhwYkdRZ1BUMDlJRzUxYkd3Z2ZId2dkSGx3Wlc5bUlHTm9hV3hrSUNFOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDZ2hZMmhwYkdRdVgzTjBiM0psSUh4OElHTm9hV3hrTGw5emRHOXlaUzUyWVd4cFpHRjBaV1FnZkh3Z1kyaHBiR1F1YTJWNUlDRTlJRzUxYkd3cElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0lTaDBlWEJsYjJZZ1kyaHBiR1F1WDNOMGIzSmxJRDA5UFNBbmIySnFaV04wSnlrcElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVVtVmhZM1FnUTI5dGNHOXVaVzUwSUdsdUlIZGhjbTVHYjNKTmFYTnphVzVuUzJWNUlITm9iM1ZzWkNCb1lYWmxJR0VnWDNOMGIzSmxMaUJVYUdseklHVnljbTl5SUdseklHeHBhMlZzZVNCallYVnpaV1FnWW5rZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMmhwYkdRdVgzTjBiM0psTG5aaGJHbGtZWFJsWkNBOUlIUnlkV1U3WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJEYjIxd2IyNWxiblJGY25KdmNrbHVabThnUFNBblJXRmphQ0JqYUdsc1pDQnBiaUJoSUd4cGMzUWdjMmh2ZFd4a0lHaGhkbVVnWVNCMWJtbHhkV1VnSnlBcklDZGNJbXRsZVZ3aUlIQnliM0F1SUZObFpTQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWGRoY201cGJtY3RhMlY1Y3lCbWIzSWdKeUFySUNkdGIzSmxJR2x1Wm05eWJXRjBhVzl1TGljZ0t5Qm5aWFJEZFhKeVpXNTBSbWxpWlhKVGRHRmphMGx1UkdWMktDazdYRzVjYmlBZ0lDQnBaaUFvYjNkdVpYSklZWE5MWlhsVmMyVlhZWEp1YVc1blcyTjFjbkpsYm5SRGIyMXdiMjVsYm5SRmNuSnZja2x1Wm05ZEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYjNkdVpYSklZWE5MWlhsVmMyVlhZWEp1YVc1blcyTjFjbkpsYm5SRGIyMXdiMjVsYm5SRmNuSnZja2x1Wm05ZElEMGdkSEoxWlR0Y2JseHVJQ0FnSUdWeWNtOXlLQ2RGWVdOb0lHTm9hV3hrSUdsdUlHRWdiR2x6ZENCemFHOTFiR1FnYUdGMlpTQmhJSFZ1YVhGMVpTQW5JQ3NnSjF3aWEyVjVYQ0lnY0hKdmNDNGdVMlZsSUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGQyRnlibWx1WnkxclpYbHpJR1p2Y2lBbklDc2dKMjF2Y21VZ2FXNW1iM0p0WVhScGIyNHVKeWs3WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJwYzBGeWNtRjVKREVnUFNCQmNuSmhlUzVwYzBGeWNtRjVPMXh1WEc1bWRXNWpkR2x2YmlCamIyVnlZMlZTWldZb2NtVjBkWEp1Um1saVpYSXNJR04xY25KbGJuUXNJR1ZzWlcxbGJuUXBJSHRjYmlBZ2RtRnlJRzFwZUdWa1VtVm1JRDBnWld4bGJXVnVkQzV5WldZN1hHNWNiaUFnYVdZZ0tHMXBlR1ZrVW1WbUlDRTlQU0J1ZFd4c0lDWW1JSFI1Y0dWdlppQnRhWGhsWkZKbFppQWhQVDBnSjJaMWJtTjBhVzl1SnlBbUppQjBlWEJsYjJZZ2JXbDRaV1JTWldZZ0lUMDlJQ2R2WW1wbFkzUW5LU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdMeThnVkU5RVR6b2dRMnhsWVc0Z2RHaHBjeUIxY0NCdmJtTmxJSGRsSUhSMWNtNGdiMjRnZEdobElITjBjbWx1WnlCeVpXWWdkMkZ5Ym1sdVp5Qm1iM0pjYmlBZ0lDQWdJQzh2SUdWMlpYSjViMjVsTENCaVpXTmhkWE5sSUhSb1pTQnpkSEpwWTNRZ2JXOWtaU0JqWVhObElIZHBiR3dnYm04Z2JHOXVaMlZ5SUdKbElISmxiR1YyWVc1MFhHNGdJQ0FnSUNCcFppQW9LSEpsZEhWeWJrWnBZbVZ5TG0xdlpHVWdKaUJUZEhKcFkzUk5iMlJsSUh4OElIZGhjbTVCWW05MWRGTjBjbWx1WjFKbFpuTXBJQ1ltSUM4dklGZGxJSGRoY200Z2FXNGdVbVZoWTNSRmJHVnRaVzUwTG1weklHbG1JRzkzYm1WeUlHRnVaQ0J6Wld4bUlHRnlaU0JsY1hWaGJDQm1iM0lnYzNSeWFXNW5JSEpsWm5OY2JpQWdJQ0FnSUM4dklHSmxZMkYxYzJVZ2RHaGxjMlVnWTJGdWJtOTBJR0psSUdGMWRHOXRZWFJwWTJGc2JIa2dZMjl1ZG1WeWRHVmtJSFJ2SUdGdUlHRnljbTkzSUdaMWJtTjBhVzl1WEc0Z0lDQWdJQ0F2THlCMWMybHVaeUJoSUdOdlpHVnRiMlF1SUZSb1pYSmxabTl5WlN3Z2QyVWdaRzl1SjNRZ2FHRjJaU0IwYnlCM1lYSnVJR0ZpYjNWMElITjBjbWx1WnlCeVpXWnpJR0ZuWVdsdUxseHVJQ0FnSUNBZ0lTaGxiR1Z0Wlc1MExsOXZkMjVsY2lBbUppQmxiR1Z0Wlc1MExsOXpaV3htSUNZbUlHVnNaVzFsYm5RdVgyOTNibVZ5TG5OMFlYUmxUbTlrWlNBaFBUMGdaV3hsYldWdWRDNWZjMlZzWmlrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdOdmJYQnZibVZ1ZEU1aGJXVWdQU0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLSEpsZEhWeWJrWnBZbVZ5TG5SNWNHVXBJSHg4SUNkRGIyMXdiMjVsYm5Rbk8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBVM1J5YVc1blVtVm1jMXRqYjIxd2IyNWxiblJPWVcxbFhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZEJJSE4wY21sdVp5QnlaV1lzSUZ3aUpYTmNJaXdnYUdGeklHSmxaVzRnWm05MWJtUWdkMmwwYUdsdUlHRWdjM1J5YVdOMElHMXZaR1VnZEhKbFpTNGdKeUFySUNkVGRISnBibWNnY21WbWN5QmhjbVVnWVNCemIzVnlZMlVnYjJZZ2NHOTBaVzUwYVdGc0lHSjFaM01nWVc1a0lITm9iM1ZzWkNCaVpTQmhkbTlwWkdWa0xpQW5JQ3NnSjFkbElISmxZMjl0YldWdVpDQjFjMmx1WnlCMWMyVlNaV1lvS1NCdmNpQmpjbVZoZEdWU1pXWW9LU0JwYm5OMFpXRmtMaUFuSUNzZ0oweGxZWEp1SUcxdmNtVWdZV0p2ZFhRZ2RYTnBibWNnY21WbWN5QnpZV1psYkhrZ2FHVnlaVG9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWE4wY21samRDMXRiMlJsTFhOMGNtbHVaeTF5WldZbGN5Y3NJRzFwZUdWa1VtVm1MQ0JuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvY21WMGRYSnVSbWxpWlhJcEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJUZEhKcGJtZFNaV1p6VzJOdmJYQnZibVZ1ZEU1aGJXVmRJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hsYkdWdFpXNTBMbDl2ZDI1bGNpa2dlMXh1SUNBZ0lDQWdkbUZ5SUc5M2JtVnlJRDBnWld4bGJXVnVkQzVmYjNkdVpYSTdYRzRnSUNBZ0lDQjJZWElnYVc1emREdGNibHh1SUNBZ0lDQWdhV1lnS0c5M2JtVnlLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnZkMjVsY2tacFltVnlJRDBnYjNkdVpYSTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRW9iM2R1WlhKR2FXSmxjaTUwWVdjZ1BUMDlJRU5zWVhOelEyOXRjRzl1Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrWjFibU4wYVc5dUlHTnZiWEJ2Ym1WdWRITWdZMkZ1Ym05MElHaGhkbVVnYzNSeWFXNW5JSEpsWm5NdUlGZGxJSEpsWTI5dGJXVnVaQ0IxYzJsdVp5QjFjMlZTWldZb0tTQnBibk4wWldGa0xpQk1aV0Z5YmlCdGIzSmxJR0ZpYjNWMElIVnphVzVuSUhKbFpuTWdjMkZtWld4NUlHaGxjbVU2SUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGMzUnlhV04wTFcxdlpHVXRjM1J5YVc1bkxYSmxabHdpSUNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXNXpkQ0E5SUc5M2JtVnlSbWxpWlhJdWMzUmhkR1ZPYjJSbE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVdsdWMzUXBJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWsxcGMzTnBibWNnYjNkdVpYSWdabTl5SUhOMGNtbHVaeUJ5WldZZ1hDSWdLeUJ0YVhobFpGSmxaaUFySUZ3aUxpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlITjBjbWx1WjFKbFppQTlJQ2NuSUNzZ2JXbDRaV1JTWldZN0lDOHZJRU5vWldOcklHbG1JSEJ5WlhacGIzVnpJSE4wY21sdVp5QnlaV1lnYldGMFkyaGxjeUJ1WlhjZ2MzUnlhVzVuSUhKbFpseHVYRzRnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ0FtSmlCamRYSnlaVzUwTG5KbFppQWhQVDBnYm5Wc2JDQW1KaUIwZVhCbGIyWWdZM1Z5Y21WdWRDNXlaV1lnUFQwOUlDZG1kVzVqZEdsdmJpY2dKaVlnWTNWeWNtVnVkQzV5WldZdVgzTjBjbWx1WjFKbFppQTlQVDBnYzNSeWFXNW5VbVZtS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCamRYSnlaVzUwTG5KbFpqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUhKbFppQTlJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVm1jeUE5SUdsdWMzUXVjbVZtY3p0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY21WbWN5QTlQVDBnWlcxd2RIbFNaV1p6VDJKcVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWR2hwY3lCcGN5QmhJR3hoZW5rZ2NHOXZiR1ZrSUdaeWIzcGxiaUJ2WW1wbFkzUXNJSE52SUhkbElHNWxaV1FnZEc4Z2FXNXBkR2xoYkdsNlpTNWNiaUFnSUNBZ0lDQWdJQ0J5WldaeklEMGdhVzV6ZEM1eVpXWnpJRDBnZTMwN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2RtRnNkV1VnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmtaV3hsZEdVZ2NtVm1jMXR6ZEhKcGJtZFNaV1pkTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lISmxabk5iYzNSeWFXNW5VbVZtWFNBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOU8xeHVYRzRnSUNBZ0lDQnlaV1l1WDNOMGNtbHVaMUpsWmlBOUlITjBjbWx1WjFKbFpqdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXWTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsbUlDZ2hLSFI1Y0dWdlppQnRhWGhsWkZKbFppQTlQVDBnSjNOMGNtbHVaeWNwS1NCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkZlSEJsWTNSbFpDQnlaV1lnZEc4Z1ltVWdZU0JtZFc1amRHbHZiaXdnWVNCemRISnBibWNzSUdGdUlHOWlhbVZqZENCeVpYUjFjbTVsWkNCaWVTQlNaV0ZqZEM1amNtVmhkR1ZTWldZb0tTd2diM0lnYm5Wc2JDNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2doWld4bGJXVnVkQzVmYjNkdVpYSXBJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtWc1pXMWxiblFnY21WbUlIZGhjeUJ6Y0dWamFXWnBaV1FnWVhNZ1lTQnpkSEpwYm1jZ0tGd2lJQ3NnYldsNFpXUlNaV1lnS3lCY0lpa2dZblYwSUc1dklHOTNibVZ5SUhkaGN5QnpaWFF1SUZSb2FYTWdZMjkxYkdRZ2FHRndjR1Z1SUdadmNpQnZibVVnYjJZZ2RHaGxJR1p2Ykd4dmQybHVaeUJ5WldGemIyNXpPbHhjYmpFdUlGbHZkU0J0WVhrZ1ltVWdZV1JrYVc1bklHRWdjbVZtSUhSdklHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBYRnh1TWk0Z1dXOTFJRzFoZVNCaVpTQmhaR1JwYm1jZ1lTQnlaV1lnZEc4Z1lTQmpiMjF3YjI1bGJuUWdkR2hoZENCM1lYTWdibTkwSUdOeVpXRjBaV1FnYVc1emFXUmxJR0VnWTI5dGNHOXVaVzUwSjNNZ2NtVnVaR1Z5SUcxbGRHaHZaRnhjYmpNdUlGbHZkU0JvWVhabElHMTFiSFJwY0d4bElHTnZjR2xsY3lCdlppQlNaV0ZqZENCc2IyRmtaV1JjWEc1VFpXVWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzF5WldaekxXMTFjM1F0YUdGMlpTMXZkMjVsY2lCbWIzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpNWNJaUFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUcxcGVHVmtVbVZtTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIwYUhKdmQwOXVTVzUyWVd4cFpFOWlhbVZqZEZSNWNHVW9jbVYwZFhKdVJtbGlaWElzSUc1bGQwTm9hV3hrS1NCN1hHNGdJR2xtSUNoeVpYUjFjbTVHYVdKbGNpNTBlWEJsSUNFOVBTQW5kR1Y0ZEdGeVpXRW5LU0I3WEc0Z0lDQWdkbUZ5SUdGa1pHVnVaSFZ0SUQwZ0p5YzdYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQmhaR1JsYm1SMWJTQTlJQ2NnU1dZZ2VXOTFJRzFsWVc1MElIUnZJSEpsYm1SbGNpQmhJR052Ykd4bFkzUnBiMjRnYjJZZ1kyaHBiR1J5Wlc0c0lIVnpaU0JoYmlCaGNuSmhlU0FuSUNzZ0oybHVjM1JsWVdRdUp5QXJJR2RsZEVOMWNuSmxiblJHYVdKbGNsTjBZV05yU1c1RVpYWW9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrOWlhbVZqZEhNZ1lYSmxJRzV2ZENCMllXeHBaQ0JoY3lCaElGSmxZV04wSUdOb2FXeGtJQ2htYjNWdVpEb2dYQ0lnS3lBb1QySnFaV04wTG5CeWIzUnZkSGx3WlM1MGIxTjBjbWx1Wnk1allXeHNLRzVsZDBOb2FXeGtLU0E5UFQwZ0oxdHZZbXBsWTNRZ1QySnFaV04wWFNjZ1B5QW5iMkpxWldOMElIZHBkR2dnYTJWNWN5QjdKeUFySUU5aWFtVmpkQzVyWlhsektHNWxkME5vYVd4a0tTNXFiMmx1S0Njc0lDY3BJQ3NnSjMwbklEb2dibVYzUTJocGJHUXBJQ3NnWENJcExsd2lJQ3NnWVdSa1pXNWtkVzBnS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2QyRnliazl1Um5WdVkzUnBiMjVVZVhCbEtDa2dlMXh1SUNCN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5SRGIyMXdiMjVsYm5SRmNuSnZja2x1Wm04Z1BTQW5SblZ1WTNScGIyNXpJR0Z5WlNCdWIzUWdkbUZzYVdRZ1lYTWdZU0JTWldGamRDQmphR2xzWkM0Z1ZHaHBjeUJ0WVhrZ2FHRndjR1Z1SUdsbUlDY2dLeUFuZVc5MUlISmxkSFZ5YmlCaElFTnZiWEJ2Ym1WdWRDQnBibk4wWldGa0lHOW1JRHhEYjIxd2IyNWxiblFnTHo0Z1puSnZiU0J5Wlc1a1pYSXVJQ2NnS3lBblQzSWdiV0Y1WW1VZ2VXOTFJRzFsWVc1MElIUnZJR05oYkd3Z2RHaHBjeUJtZFc1amRHbHZiaUJ5WVhSb1pYSWdkR2hoYmlCeVpYUjFjbTRnYVhRdUp5QXJJR2RsZEVOMWNuSmxiblJHYVdKbGNsTjBZV05yU1c1RVpYWW9LVHRjYmx4dUlDQWdJR2xtSUNodmQyNWxja2hoYzBaMWJtTjBhVzl1Vkhsd1pWZGhjbTVwYm1kYlkzVnljbVZ1ZEVOdmJYQnZibVZ1ZEVWeWNtOXlTVzVtYjEwcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J2ZDI1bGNraGhjMFoxYm1OMGFXOXVWSGx3WlZkaGNtNXBibWRiWTNWeWNtVnVkRU52YlhCdmJtVnVkRVZ5Y205eVNXNW1iMTBnUFNCMGNuVmxPMXh1WEc0Z0lDQWdaWEp5YjNJb0owWjFibU4wYVc5dWN5QmhjbVVnYm05MElIWmhiR2xrSUdGeklHRWdVbVZoWTNRZ1kyaHBiR1F1SUZSb2FYTWdiV0Y1SUdoaGNIQmxiaUJwWmlBbklDc2dKM2x2ZFNCeVpYUjFjbTRnWVNCRGIyMXdiMjVsYm5RZ2FXNXpkR1ZoWkNCdlppQThRMjl0Y0c5dVpXNTBJQzgrSUdaeWIyMGdjbVZ1WkdWeUxpQW5JQ3NnSjA5eUlHMWhlV0psSUhsdmRTQnRaV0Z1ZENCMGJ5QmpZV3hzSUhSb2FYTWdablZ1WTNScGIyNGdjbUYwYUdWeUlIUm9ZVzRnY21WMGRYSnVJR2wwTGljcE8xeHVJQ0I5WEc1OUlDOHZJRlJvYVhNZ2QzSmhjSEJsY2lCbWRXNWpkR2x2YmlCbGVHbHpkSE1nWW1WallYVnpaU0JKSUdWNGNHVmpkQ0IwYnlCamJHOXVaU0IwYUdVZ1kyOWtaU0JwYmlCbFlXTm9JSEJoZEdoY2JpOHZJSFJ2SUdKbElHRmliR1VnZEc4Z2IzQjBhVzFwZW1VZ1pXRmphQ0J3WVhSb0lHbHVaR2wyYVdSMVlXeHNlU0JpZVNCaWNtRnVZMmhwYm1jZ1pXRnliSGt1SUZSb2FYTWdibVZsWkhOY2JpOHZJR0VnWTI5dGNHbHNaWElnYjNJZ2QyVWdZMkZ1SUdSdklHbDBJRzFoYm5WaGJHeDVMaUJJWld4d1pYSnpJSFJvWVhRZ1pHOXVKM1FnYm1WbFpDQjBhR2x6SUdKeVlXNWphR2x1WjF4dUx5OGdiR2wyWlNCdmRYUnphV1JsSUc5bUlIUm9hWE1nWm5WdVkzUnBiMjR1WEc1Y2JseHVablZ1WTNScGIyNGdRMmhwYkdSU1pXTnZibU5wYkdWeUtITm9iM1ZzWkZSeVlXTnJVMmxrWlVWbVptVmpkSE1wSUh0Y2JpQWdablZ1WTNScGIyNGdaR1ZzWlhSbFEyaHBiR1FvY21WMGRYSnVSbWxpWlhJc0lHTm9hV3hrVkc5RVpXeGxkR1VwSUh0Y2JpQWdJQ0JwWmlBb0lYTm9iM1ZzWkZSeVlXTnJVMmxrWlVWbVptVmpkSE1wSUh0Y2JpQWdJQ0FnSUM4dklFNXZiM0F1WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZTQXZMeUJFWld4bGRHbHZibk1nWVhKbElHRmtaR1ZrSUdsdUlISmxkbVZ5YzJWa0lHOXlaR1Z5SUhOdklIZGxJR0ZrWkNCcGRDQjBieUIwYUdVZ1puSnZiblF1WEc0Z0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDd2dkR2hsSUhKbGRIVnliaUJtYVdKbGNpZHpJR1ZtWm1WamRDQnNhWE4wSUdseklHVnRjSFI1SUdWNFkyVndkQ0JtYjNKY2JpQWdJQ0F2THlCa1pXeGxkR2x2Ym5Nc0lITnZJSGRsSUdOaGJpQnFkWE4wSUdGd2NHVnVaQ0IwYUdVZ1pHVnNaWFJwYjI0Z2RHOGdkR2hsSUd4cGMzUXVJRlJvWlNCeVpXMWhhVzVwYm1kY2JpQWdJQ0F2THlCbFptWmxZM1J6SUdGeVpXNG5kQ0JoWkdSbFpDQjFiblJwYkNCMGFHVWdZMjl0Y0d4bGRHVWdjR2hoYzJVdUlFOXVZMlVnZDJVZ2FXMXdiR1Z0Wlc1MFhHNGdJQ0FnTHk4Z2NtVnpkVzFwYm1jc0lIUm9hWE1nYldGNUlHNXZkQ0JpWlNCMGNuVmxMbHh1WEc1Y2JpQWdJQ0IyWVhJZ2JHRnpkQ0E5SUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUTdYRzVjYmlBZ0lDQnBaaUFvYkdGemRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdiR0Z6ZEM1dVpYaDBSV1ptWldOMElEMGdZMmhwYkdSVWIwUmxiR1YwWlR0Y2JpQWdJQ0FnSUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUWdQU0JqYUdsc1pGUnZSR1ZzWlhSbE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNUdhV0psY2k1bWFYSnpkRVZtWm1WamRDQTlJSEpsZEhWeWJrWnBZbVZ5TG14aGMzUkZabVpsWTNRZ1BTQmphR2xzWkZSdlJHVnNaWFJsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR05vYVd4a1ZHOUVaV3hsZEdVdWJtVjRkRVZtWm1WamRDQTlJRzUxYkd3N1hHNGdJQ0FnWTJocGJHUlViMFJsYkdWMFpTNWxabVpsWTNSVVlXY2dQU0JFWld4bGRHbHZianRjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUdSbGJHVjBaVkpsYldGcGJtbHVaME5vYVd4a2NtVnVLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkNrZ2UxeHVJQ0FnSUdsbUlDZ2hjMmh2ZFd4a1ZISmhZMnRUYVdSbFJXWm1aV04wY3lrZ2UxeHVJQ0FnSUNBZ0x5OGdUbTl2Y0M1Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUgwZ0x5OGdWRTlFVHpvZ1JtOXlJSFJvWlNCemFHOTFiR1JEYkc5dVpTQmpZWE5sTENCMGFHbHpJR052ZFd4a0lHSmxJRzFwWTNKdkxXOXdkR2x0YVhwbFpDQmhJR0pwZENCaWVWeHVJQ0FnSUM4dklHRnpjM1Z0YVc1bklIUm9ZWFFnWVdaMFpYSWdkR2hsSUdacGNuTjBJR05vYVd4a0lIZGxKM1psSUdGc2NtVmhaSGtnWVdSa1pXUWdaWFpsY25sMGFHbHVaeTVjYmx4dVhHNGdJQ0FnZG1GeUlHTm9hV3hrVkc5RVpXeGxkR1VnUFNCamRYSnlaVzUwUm1seWMzUkRhR2xzWkR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2hqYUdsc1pGUnZSR1ZzWlhSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmtaV3hsZEdWRGFHbHNaQ2h5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1JVYjBSbGJHVjBaU2s3WEc0Z0lDQWdJQ0JqYUdsc1pGUnZSR1ZzWlhSbElEMGdZMmhwYkdSVWIwUmxiR1YwWlM1emFXSnNhVzVuTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2JXRndVbVZ0WVdsdWFXNW5RMmhwYkdSeVpXNG9jbVYwZFhKdVJtbGlaWElzSUdOMWNuSmxiblJHYVhKemRFTm9hV3hrS1NCN1hHNGdJQ0FnTHk4Z1FXUmtJSFJvWlNCeVpXMWhhVzVwYm1jZ1kyaHBiR1J5Wlc0Z2RHOGdZU0IwWlcxd2IzSmhjbmtnYldGd0lITnZJSFJvWVhRZ2QyVWdZMkZ1SUdacGJtUWdkR2hsYlNCaWVWeHVJQ0FnSUM4dklHdGxlWE1nY1hWcFkydHNlUzRnU1cxd2JHbGphWFFnS0c1MWJHd3BJR3RsZVhNZ1oyVjBJR0ZrWkdWa0lIUnZJSFJvYVhNZ2MyVjBJSGRwZEdnZ2RHaGxhWElnYVc1a1pYaGNiaUFnSUNBdkx5QnBibk4wWldGa0xseHVJQ0FnSUhaaGNpQmxlR2x6ZEdsdVowTm9hV3hrY21WdUlEMGdibVYzSUUxaGNDZ3BPMXh1SUNBZ0lIWmhjaUJsZUdsemRHbHVaME5vYVd4a0lEMGdZM1Z5Y21WdWRFWnBjbk4wUTJocGJHUTdYRzVjYmlBZ0lDQjNhR2xzWlNBb1pYaHBjM1JwYm1kRGFHbHNaQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHVjRhWE4wYVc1blEyaHBiR1F1YTJWNUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR1Y0YVhOMGFXNW5RMmhwYkdSeVpXNHVjMlYwS0dWNGFYTjBhVzVuUTJocGJHUXVhMlY1TENCbGVHbHpkR2x1WjBOb2FXeGtLVHRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJR1Y0YVhOMGFXNW5RMmhwYkdSeVpXNHVjMlYwS0dWNGFYTjBhVzVuUTJocGJHUXVhVzVrWlhnc0lHVjRhWE4wYVc1blEyaHBiR1FwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCbGVHbHpkR2x1WjBOb2FXeGtJRDBnWlhocGMzUnBibWREYUdsc1pDNXphV0pzYVc1bk8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJsZUdsemRHbHVaME5vYVd4a2NtVnVPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhObFJtbGlaWElvWm1saVpYSXNJSEJsYm1ScGJtZFFjbTl3Y3lrZ2UxeHVJQ0FnSUM4dklGZGxJR04xY25KbGJuUnNlU0J6WlhRZ2MybGliR2x1WnlCMGJ5QnVkV3hzSUdGdVpDQnBibVJsZUNCMGJ5QXdJR2hsY21VZ1ltVmpZWFZ6WlNCcGRDQnBjeUJsWVhONVhHNGdJQ0FnTHk4Z2RHOGdabTl5WjJWMElIUnZJR1J2SUdKbFptOXlaU0J5WlhSMWNtNXBibWNnYVhRdUlFVXVaeTRnWm05eUlIUm9aU0J6YVc1bmJHVWdZMmhwYkdRZ1kyRnpaUzVjYmlBZ0lDQjJZWElnWTJ4dmJtVWdQU0JqY21WaGRHVlhiM0pyU1c1UWNtOW5jbVZ6Y3lobWFXSmxjaXdnY0dWdVpHbHVaMUJ5YjNCektUdGNiaUFnSUNCamJHOXVaUzVwYm1SbGVDQTlJREE3WEc0Z0lDQWdZMnh2Ym1VdWMybGliR2x1WnlBOUlHNTFiR3c3WEc0Z0lDQWdjbVYwZFhKdUlHTnNiMjVsTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2NHeGhZMlZEYUdsc1pDaHVaWGRHYVdKbGNpd2diR0Z6ZEZCc1lXTmxaRWx1WkdWNExDQnVaWGRKYm1SbGVDa2dlMXh1SUNBZ0lHNWxkMFpwWW1WeUxtbHVaR1Y0SUQwZ2JtVjNTVzVrWlhnN1hHNWNiaUFnSUNCcFppQW9JWE5vYjNWc1pGUnlZV05yVTJsa1pVVm1abVZqZEhNcElIdGNiaUFnSUNBZ0lDOHZJRTV2YjNBdVhHNGdJQ0FnSUNCeVpYUjFjbTRnYkdGemRGQnNZV05sWkVsdVpHVjRPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJqZFhKeVpXNTBJRDBnYm1WM1JtbGlaWEl1WVd4MFpYSnVZWFJsTzF4dVhHNGdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJ2YkdSSmJtUmxlQ0E5SUdOMWNuSmxiblF1YVc1a1pYZzdYRzVjYmlBZ0lDQWdJR2xtSUNodmJHUkpibVJsZUNBOElHeGhjM1JRYkdGalpXUkpibVJsZUNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHbHpJR0VnYlc5MlpTNWNiaUFnSUNBZ0lDQWdibVYzUm1saVpYSXVaV1ptWldOMFZHRm5JRDBnVUd4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYkdGemRGQnNZV05sWkVsdVpHVjRPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdMeThnVkdocGN5QnBkR1Z0SUdOaGJpQnpkR0Y1SUdsdUlIQnNZV05sTGx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYjJ4a1NXNWtaWGc3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRlJvYVhNZ2FYTWdZVzRnYVc1elpYSjBhVzl1TGx4dUlDQWdJQ0FnYm1WM1JtbGlaWEl1WldabVpXTjBWR0ZuSUQwZ1VHeGhZMlZ0Wlc1ME8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUd4aGMzUlFiR0ZqWldSSmJtUmxlRHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUJ3YkdGalpWTnBibWRzWlVOb2FXeGtLRzVsZDBacFltVnlLU0I3WEc0Z0lDQWdMeThnVkdocGN5QnBjeUJ6YVcxd2JHVnlJR1p2Y2lCMGFHVWdjMmx1WjJ4bElHTm9hV3hrSUdOaGMyVXVJRmRsSUc5dWJIa2dibVZsWkNCMGJ5QmtieUJoWEc0Z0lDQWdMeThnY0d4aFkyVnRaVzUwSUdadmNpQnBibk5sY25ScGJtY2dibVYzSUdOb2FXeGtjbVZ1TGx4dUlDQWdJR2xtSUNoemFHOTFiR1JVY21GamExTnBaR1ZGWm1abFkzUnpJQ1ltSUc1bGQwWnBZbVZ5TG1Gc2RHVnlibUYwWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2JtVjNSbWxpWlhJdVpXWm1aV04wVkdGbklEMGdVR3hoWTJWdFpXNTBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdVpYZEdhV0psY2p0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlIVndaR0YwWlZSbGVIUk9iMlJsS0hKbGRIVnlia1pwWW1WeUxDQmpkWEp5Wlc1MExDQjBaWGgwUTI5dWRHVnVkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnBaaUFvWTNWeWNtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCamRYSnlaVzUwTG5SaFp5QWhQVDBnU0c5emRGUmxlSFFwSUh0Y2JpQWdJQ0FnSUM4dklFbHVjMlZ5ZEZ4dUlDQWdJQ0FnZG1GeUlHTnlaV0YwWldRZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxVVpYaDBLSFJsZUhSRGIyNTBaVzUwTENCeVpYUjFjbTVHYVdKbGNpNXRiMlJsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0JqY21WaGRHVmtMbkpsZEhWeWJpQTlJSEpsZEhWeWJrWnBZbVZ5TzF4dUlDQWdJQ0FnY21WMGRYSnVJR055WldGMFpXUTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUM4dklGVndaR0YwWlZ4dUlDQWdJQ0FnZG1GeUlHVjRhWE4wYVc1bklEMGdkWE5sUm1saVpYSW9ZM1Z5Y21WdWRDd2dkR1Y0ZEVOdmJuUmxiblFwTzF4dUlDQWdJQ0FnWlhocGMzUnBibWN1Y21WMGRYSnVJRDBnY21WMGRYSnVSbWxpWlhJN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWlhocGMzUnBibWM3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhCa1lYUmxSV3hsYldWdWRDaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkQ3dnWld4bGJXVnVkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5RdVpXeGxiV1Z1ZEZSNWNHVWdQVDA5SUdWc1pXMWxiblF1ZEhsd1pTQjhmQ0FvSUM4dklFdGxaWEFnZEdocGN5QmphR1ZqYXlCcGJteHBibVVnYzI4Z2FYUWdiMjVzZVNCeWRXNXpJRzl1SUhSb1pTQm1ZV3h6WlNCd1lYUm9PbHh1SUNBZ0lDQWdJR2x6UTI5dGNHRjBhV0pzWlVaaGJXbHNlVVp2Y2todmRGSmxiRzloWkdsdVp5aGpkWEp5Wlc1MExDQmxiR1Z0Wlc1MEtTQXBLU0I3WEc0Z0lDQWdJQ0FnSUM4dklFMXZkbVVnWW1GelpXUWdiMjRnYVc1a1pYaGNiaUFnSUNBZ0lDQWdkbUZ5SUdWNGFYTjBhVzVuSUQwZ2RYTmxSbWxpWlhJb1kzVnljbVZ1ZEN3Z1pXeGxiV1Z1ZEM1d2NtOXdjeWs3WEc0Z0lDQWdJQ0FnSUdWNGFYTjBhVzVuTG5KbFppQTlJR052WlhKalpWSmxaaWh5WlhSMWNtNUdhV0psY2l3Z1kzVnljbVZ1ZEN3Z1pXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHVjRhWE4wYVc1bkxuSmxkSFZ5YmlBOUlISmxkSFZ5YmtacFltVnlPMXh1WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQmxlR2x6ZEdsdVp5NWZaR1ZpZFdkVGIzVnlZMlVnUFNCbGJHVnRaVzUwTGw5emIzVnlZMlU3WEc0Z0lDQWdJQ0FnSUNBZ1pYaHBjM1JwYm1jdVgyUmxZblZuVDNkdVpYSWdQU0JsYkdWdFpXNTBMbDl2ZDI1bGNqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJsZUdsemRHbHVaenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJQzh2SUVsdWMyVnlkRnh1WEc1Y2JpQWdJQ0IyWVhJZ1kzSmxZWFJsWkNBOUlHTnlaV0YwWlVacFltVnlSbkp2YlVWc1pXMWxiblFvWld4bGJXVnVkQ3dnY21WMGRYSnVSbWxpWlhJdWJXOWtaU3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lHTnlaV0YwWldRdWNtVm1JRDBnWTI5bGNtTmxVbVZtS0hKbGRIVnlia1pwWW1WeUxDQmpkWEp5Wlc1MExDQmxiR1Z0Wlc1MEtUdGNiaUFnSUNCamNtVmhkR1ZrTG5KbGRIVnliaUE5SUhKbGRIVnlia1pwWW1WeU8xeHVJQ0FnSUhKbGRIVnliaUJqY21WaGRHVmtPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhCa1lYUmxVRzl5ZEdGc0tISmxkSFZ5YmtacFltVnlMQ0JqZFhKeVpXNTBMQ0J3YjNKMFlXd3NJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUWdQVDA5SUc1MWJHd2dmSHdnWTNWeWNtVnVkQzUwWVdjZ0lUMDlJRWh2YzNSUWIzSjBZV3dnZkh3Z1kzVnljbVZ1ZEM1emRHRjBaVTV2WkdVdVkyOXVkR0ZwYm1WeVNXNW1ieUFoUFQwZ2NHOXlkR0ZzTG1OdmJuUmhhVzVsY2tsdVptOGdmSHdnWTNWeWNtVnVkQzV6ZEdGMFpVNXZaR1V1YVcxd2JHVnRaVzUwWVhScGIyNGdJVDA5SUhCdmNuUmhiQzVwYlhCc1pXMWxiblJoZEdsdmJpa2dlMXh1SUNBZ0lDQWdMeThnU1c1elpYSjBYRzRnSUNBZ0lDQjJZWElnWTNKbFlYUmxaQ0E5SUdOeVpXRjBaVVpwWW1WeVJuSnZiVkJ2Y25SaGJDaHdiM0owWVd3c0lISmxkSFZ5YmtacFltVnlMbTF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0FnSUdOeVpXRjBaV1F1Y21WMGRYSnVJRDBnY21WMGRYSnVSbWxpWlhJN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxaRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdWWEJrWVhSbFhHNGdJQ0FnSUNCMllYSWdaWGhwYzNScGJtY2dQU0IxYzJWR2FXSmxjaWhqZFhKeVpXNTBMQ0J3YjNKMFlXd3VZMmhwYkdSeVpXNGdmSHdnVzEwcE8xeHVJQ0FnSUNBZ1pYaHBjM1JwYm1jdWNtVjBkWEp1SUQwZ2NtVjBkWEp1Um1saVpYSTdYRzRnSUNBZ0lDQnlaWFIxY200Z1pYaHBjM1JwYm1jN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2RYQmtZWFJsUm5KaFoyMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHTjFjbkpsYm5Rc0lHWnlZV2R0Wlc1MExDQmxlSEJwY21GMGFXOXVWR2x0WlN3Z2EyVjVLU0I3WEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dnZkh3Z1kzVnljbVZ1ZEM1MFlXY2dJVDA5SUVaeVlXZHRaVzUwS1NCN1hHNGdJQ0FnSUNBdkx5Qkpibk5sY25SY2JpQWdJQ0FnSUhaaGNpQmpjbVZoZEdWa0lEMGdZM0psWVhSbFJtbGlaWEpHY205dFJuSmhaMjFsYm5Rb1puSmhaMjFsYm5Rc0lISmxkSFZ5YmtacFltVnlMbTF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsTENCclpYa3BPMXh1SUNBZ0lDQWdZM0psWVhSbFpDNXlaWFIxY200Z1BTQnlaWFIxY201R2FXSmxjanRjYmlBZ0lDQWdJSEpsZEhWeWJpQmpjbVZoZEdWa08xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCVmNHUmhkR1ZjYmlBZ0lDQWdJSFpoY2lCbGVHbHpkR2x1WnlBOUlIVnpaVVpwWW1WeUtHTjFjbkpsYm5Rc0lHWnlZV2R0Wlc1MEtUdGNiaUFnSUNBZ0lHVjRhWE4wYVc1bkxuSmxkSFZ5YmlBOUlISmxkSFZ5YmtacFltVnlPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHVjRhWE4wYVc1bk8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHTnlaV0YwWlVOb2FXeGtLSEpsZEhWeWJrWnBZbVZ5TENCdVpYZERhR2xzWkN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1bGQwTm9hV3hrSUQwOVBTQW5jM1J5YVc1bkp5QjhmQ0IwZVhCbGIyWWdibVYzUTJocGJHUWdQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnSUNBdkx5QlVaWGgwSUc1dlpHVnpJR1J2YmlkMElHaGhkbVVnYTJWNWN5NGdTV1lnZEdobElIQnlaWFpwYjNWeklHNXZaR1VnYVhNZ2FXMXdiR2xqYVhSc2VTQnJaWGxsWkZ4dUlDQWdJQ0FnTHk4Z2QyVWdZMkZ1SUdOdmJuUnBiblZsSUhSdklISmxjR3hoWTJVZ2FYUWdkMmwwYUc5MWRDQmhZbTl5ZEdsdVp5QmxkbVZ1SUdsbUlHbDBJR2x6SUc1dmRDQmhJSFJsZUhSY2JpQWdJQ0FnSUM4dklHNXZaR1V1WEc0Z0lDQWdJQ0IyWVhJZ1kzSmxZWFJsWkNBOUlHTnlaV0YwWlVacFltVnlSbkp2YlZSbGVIUW9KeWNnS3lCdVpYZERhR2xzWkN3Z2NtVjBkWEp1Um1saVpYSXViVzlrWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnWTNKbFlYUmxaQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVmtPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibVYzUTJocGJHUWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHNWxkME5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnpkMmwwWTJnZ0tHNWxkME5vYVd4a0xpUWtkSGx3Wlc5bUtTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmUlV4RlRVVk9WRjlVV1ZCRk9seHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJmWTNKbFlYUmxaQ0E5SUdOeVpXRjBaVVpwWW1WeVJuSnZiVVZzWlcxbGJuUW9ibVYzUTJocGJHUXNJSEpsZEhWeWJrWnBZbVZ5TG0xdlpHVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1gyTnlaV0YwWldRdWNtVm1JRDBnWTI5bGNtTmxVbVZtS0hKbGRIVnlia1pwWW1WeUxDQnVkV3hzTENCdVpYZERhR2xzWkNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JmWTNKbFlYUmxaQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmZZM0psWVhSbFpEdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVFUMUpVUVV4ZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1gyTnlaV0YwWldReUlEMGdZM0psWVhSbFJtbGlaWEpHY205dFVHOXlkR0ZzS0c1bGQwTm9hV3hrTENCeVpYUjFjbTVHYVdKbGNpNXRiMlJsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJRjlqY21WaGRHVmtNaTV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmZZM0psWVhSbFpESTdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9hWE5CY25KaGVTUXhLRzVsZDBOb2FXeGtLU0I4ZkNCblpYUkpkR1Z5WVhSdmNrWnVLRzVsZDBOb2FXeGtLU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdYMk55WldGMFpXUXpJRDBnWTNKbFlYUmxSbWxpWlhKR2NtOXRSbkpoWjIxbGJuUW9ibVYzUTJocGJHUXNJSEpsZEhWeWJrWnBZbVZ5TG0xdlpHVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbExDQnVkV3hzS1R0Y2JseHVJQ0FnSUNBZ0lDQmZZM0psWVhSbFpETXVjbVYwZFhKdUlEMGdjbVYwZFhKdVJtbGlaWEk3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJmWTNKbFlYUmxaRE03WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhSb2NtOTNUMjVKYm5aaGJHbGtUMkpxWldOMFZIbHdaU2h5WlhSMWNtNUdhV0psY2l3Z2JtVjNRMmhwYkdRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JtVjNRMmhwYkdRZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ2QyRnliazl1Um5WdVkzUnBiMjVVZVhCbEtDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JtZFc1amRHbHZiaUIxY0dSaGRHVlRiRzkwS0hKbGRIVnlia1pwWW1WeUxDQnZiR1JHYVdKbGNpd2dibVYzUTJocGJHUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0x5OGdWWEJrWVhSbElIUm9aU0JtYVdKbGNpQnBaaUIwYUdVZ2EyVjVjeUJ0WVhSamFDd2diM1JvWlhKM2FYTmxJSEpsZEhWeWJpQnVkV3hzTGx4dUlDQWdJSFpoY2lCclpYa2dQU0J2YkdSR2FXSmxjaUFoUFQwZ2JuVnNiQ0EvSUc5c1pFWnBZbVZ5TG10bGVTQTZJRzUxYkd3N1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuYzNSeWFXNW5KeUI4ZkNCMGVYQmxiMllnYm1WM1EyaHBiR1FnUFQwOUlDZHVkVzFpWlhJbktTQjdYRzRnSUNBZ0lDQXZMeUJVWlhoMElHNXZaR1Z6SUdSdmJpZDBJR2hoZG1VZ2EyVjVjeTRnU1dZZ2RHaGxJSEJ5WlhacGIzVnpJRzV2WkdVZ2FYTWdhVzF3YkdsamFYUnNlU0JyWlhsbFpGeHVJQ0FnSUNBZ0x5OGdkMlVnWTJGdUlHTnZiblJwYm5WbElIUnZJSEpsY0d4aFkyVWdhWFFnZDJsMGFHOTFkQ0JoWW05eWRHbHVaeUJsZG1WdUlHbG1JR2wwSUdseklHNXZkQ0JoSUhSbGVIUmNiaUFnSUNBZ0lDOHZJRzV2WkdVdVhHNGdJQ0FnSUNCcFppQW9hMlY1SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFZHVjRkRTV2WkdVb2NtVjBkWEp1Um1saVpYSXNJRzlzWkVacFltVnlMQ0FuSnlBcklHNWxkME5vYVd4a0xDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVpYZERhR2xzWkNBOVBUMGdKMjlpYW1WamRDY2dKaVlnYm1WM1EyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhOM2FYUmphQ0FvYm1WM1EyaHBiR1F1SkNSMGVYQmxiMllwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOUZURVZOUlU1VVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxkME5vYVd4a0xtdGxlU0E5UFQwZ2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodVpYZERhR2xzWkM1MGVYQmxJRDA5UFNCU1JVRkRWRjlHVWtGSFRVVk9WRjlVV1ZCRktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVaeVlXZHRaVzUwS0hKbGRIVnlia1pwWW1WeUxDQnZiR1JHYVdKbGNpd2dibVYzUTJocGJHUXVjSEp2Y0hNdVkyaHBiR1J5Wlc0c0lHVjRjR2x5WVhScGIyNVVhVzFsTENCclpYa3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVWc1pXMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRTlTVkVGTVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHNWxkME5vYVd4a0xtdGxlU0E5UFQwZ2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWUWIzSjBZV3dvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9hWE5CY25KaGVTUXhLRzVsZDBOb2FXeGtLU0I4ZkNCblpYUkpkR1Z5WVhSdmNrWnVLRzVsZDBOb2FXeGtLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsUm5KaFoyMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVc0lHNTFiR3dwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFISnZkMDl1U1c1MllXeHBaRTlpYW1WamRGUjVjR1VvY21WMGRYSnVSbWxpWlhJc0lHNWxkME5vYVd4a0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lIZGhjbTVQYmtaMWJtTjBhVzl1Vkhsd1pTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnZFhCa1lYUmxSbkp2YlUxaGNDaGxlR2x6ZEdsdVowTm9hV3hrY21WdUxDQnlaWFIxY201R2FXSmxjaXdnYm1WM1NXUjRMQ0J1WlhkRGFHbHNaQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzVsZDBOb2FXeGtJRDA5UFNBbmMzUnlhVzVuSnlCOGZDQjBlWEJsYjJZZ2JtVjNRMmhwYkdRZ1BUMDlJQ2R1ZFcxaVpYSW5LU0I3WEc0Z0lDQWdJQ0F2THlCVVpYaDBJRzV2WkdWeklHUnZiaWQwSUdoaGRtVWdhMlY1Y3l3Z2MyOGdkMlVnYm1WcGRHaGxjaUJvWVhabElIUnZJR05vWldOcklIUm9aU0J2YkdRZ2JtOXlYRzRnSUNBZ0lDQXZMeUJ1WlhjZ2JtOWtaU0JtYjNJZ2RHaGxJR3RsZVM0Z1NXWWdZbTkwYUNCaGNtVWdkR1Y0ZENCdWIyUmxjeXdnZEdobGVTQnRZWFJqYUM1Y2JpQWdJQ0FnSUhaaGNpQnRZWFJqYUdWa1JtbGlaWElnUFNCbGVHbHpkR2x1WjBOb2FXeGtjbVZ1TG1kbGRDaHVaWGRKWkhncElIeDhJRzUxYkd3N1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxWR1Y0ZEU1dlpHVW9jbVYwZFhKdVJtbGlaWElzSUcxaGRHTm9aV1JHYVdKbGNpd2dKeWNnS3lCdVpYZERhR2xzWkN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnYm1WM1EyaHBiR1FnUFQwOUlDZHZZbXBsWTNRbklDWW1JRzVsZDBOb2FXeGtJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0J6ZDJsMFkyZ2dLRzVsZDBOb2FXeGtMaVFrZEhsd1pXOW1LU0I3WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlJVeEZUVVZPVkY5VVdWQkZPbHh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCZmJXRjBZMmhsWkVacFltVnlJRDBnWlhocGMzUnBibWREYUdsc1pISmxiaTVuWlhRb2JtVjNRMmhwYkdRdWEyVjVJRDA5UFNCdWRXeHNJRDhnYm1WM1NXUjRJRG9nYm1WM1EyaHBiR1F1YTJWNUtTQjhmQ0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ibVYzUTJocGJHUXVkSGx3WlNBOVBUMGdVa1ZCUTFSZlJsSkJSMDFGVGxSZlZGbFFSU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFJuSmhaMjFsYm5Rb2NtVjBkWEp1Um1saVpYSXNJRjl0WVhSamFHVmtSbWxpWlhJc0lHNWxkME5vYVd4a0xuQnliM0J6TG1Ob2FXeGtjbVZ1TENCbGVIQnBjbUYwYVc5dVZHbHRaU3dnYm1WM1EyaHBiR1F1YTJWNUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVVnNaVzFsYm5Rb2NtVjBkWEp1Um1saVpYSXNJRjl0WVhSamFHVmtSbWxpWlhJc0lHNWxkME5vYVd4a0xDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlVFOVNWRUZNWDFSWlVFVTZYRzRnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUY5dFlYUmphR1ZrUm1saVpYSXlJRDBnWlhocGMzUnBibWREYUdsc1pISmxiaTVuWlhRb2JtVjNRMmhwYkdRdWEyVjVJRDA5UFNCdWRXeHNJRDhnYm1WM1NXUjRJRG9nYm1WM1EyaHBiR1F1YTJWNUtTQjhmQ0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxVRzl5ZEdGc0tISmxkSFZ5YmtacFltVnlMQ0JmYldGMFkyaGxaRVpwWW1WeU1pd2dibVYzUTJocGJHUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHBjMEZ5Y21GNUpERW9ibVYzUTJocGJHUXBJSHg4SUdkbGRFbDBaWEpoZEc5eVJtNG9ibVYzUTJocGJHUXBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZiV0YwWTJobFpFWnBZbVZ5TXlBOUlHVjRhWE4wYVc1blEyaHBiR1J5Wlc0dVoyVjBLRzVsZDBsa2VDa2dmSHdnYm5Wc2JEdGNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFJuSmhaMjFsYm5Rb2NtVjBkWEp1Um1saVpYSXNJRjl0WVhSamFHVmtSbWxpWlhJekxDQnVaWGREYUdsc1pDd2daWGh3YVhKaGRHbHZibFJwYldVc0lHNTFiR3dwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGFISnZkMDl1U1c1MllXeHBaRTlpYW1WamRGUjVjR1VvY21WMGRYSnVSbWxpWlhJc0lHNWxkME5vYVd4a0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lIZGhjbTVQYmtaMWJtTjBhVzl1Vkhsd1pTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNGdJQzhxS2x4dUlDQWdLaUJYWVhKdWN5QnBaaUIwYUdWeVpTQnBjeUJoSUdSMWNHeHBZMkYwWlNCdmNpQnRhWE56YVc1bklHdGxlVnh1SUNBZ0tpOWNibHh1WEc0Z0lHWjFibU4wYVc5dUlIZGhjbTVQYmtsdWRtRnNhV1JMWlhrb1kyaHBiR1FzSUd0dWIzZHVTMlY1Y3lrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kyaHBiR1FnSVQwOUlDZHZZbXBsWTNRbklIeDhJR05vYVd4a0lEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnJibTkzYmt0bGVYTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSE4zYVhSamFDQW9ZMmhwYkdRdUpDUjBlWEJsYjJZcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRTlTVkVGTVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ2QyRnlia1p2Y2sxcGMzTnBibWRMWlhrb1kyaHBiR1FwTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJyWlhrZ1BTQmphR2xzWkM1clpYazdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHdGxlU0FoUFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNocmJtOTNia3RsZVhNZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUd0dWIzZHVTMlY1Y3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUd0dWIzZHVTMlY1Y3k1aFpHUW9hMlY1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2doYTI1dmQyNUxaWGx6TG1oaGN5aHJaWGtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JyYm05M2JrdGxlWE11WVdSa0tHdGxlU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCbGNuSnZjaWduUlc1amIzVnVkR1Z5WldRZ2RIZHZJR05vYVd4a2NtVnVJSGRwZEdnZ2RHaGxJSE5oYldVZ2EyVjVMQ0JnSlhOZ0xpQW5JQ3NnSjB0bGVYTWdjMmh2ZFd4a0lHSmxJSFZ1YVhGMVpTQnpieUIwYUdGMElHTnZiWEJ2Ym1WdWRITWdiV0ZwYm5SaGFXNGdkR2hsYVhJZ2FXUmxiblJwZEhrZ0p5QXJJQ2RoWTNKdmMzTWdkWEJrWVhSbGN5NGdUbTl1TFhWdWFYRjFaU0JyWlhseklHMWhlU0JqWVhWelpTQmphR2xzWkhKbGJpQjBieUJpWlNBbklDc2dKMlIxY0d4cFkyRjBaV1FnWVc1a0wyOXlJRzl0YVhSMFpXUWc0b0NVSUhSb1pTQmlaV2hoZG1sdmNpQnBjeUIxYm5OMWNIQnZjblJsWkNCaGJtUWdKeUFySUNkamIzVnNaQ0JqYUdGdVoyVWdhVzRnWVNCbWRYUjFjbVVnZG1WeWMybHZiaTRuTENCclpYa3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHdHViM2R1UzJWNWN6dGNiaUFnZlZ4dVhHNGdJR1oxYm1OMGFXOXVJSEpsWTI5dVkybHNaVU5vYVd4a2NtVnVRWEp5WVhrb2NtVjBkWEp1Um1saVpYSXNJR04xY25KbGJuUkdhWEp6ZEVOb2FXeGtMQ0J1WlhkRGFHbHNaSEpsYml3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0F2THlCVWFHbHpJR0ZzWjI5eWFYUm9iU0JqWVc0bmRDQnZjSFJwYldsNlpTQmllU0J6WldGeVkyaHBibWNnWm5KdmJTQmliM1JvSUdWdVpITWdjMmx1WTJVZ2QyVmNiaUFnSUNBdkx5QmtiMjRuZENCb1lYWmxJR0poWTJ0d2IybHVkR1Z5Y3lCdmJpQm1hV0psY25NdUlFa25iU0IwY25scGJtY2dkRzhnYzJWbElHaHZkeUJtWVhJZ2QyVWdZMkZ1SUdkbGRGeHVJQ0FnSUM4dklIZHBkR2dnZEdoaGRDQnRiMlJsYkM0Z1NXWWdhWFFnWlc1a2N5QjFjQ0J1YjNRZ1ltVnBibWNnZDI5eWRHZ2dkR2hsSUhSeVlXUmxiMlptY3l3Z2QyVWdZMkZ1WEc0Z0lDQWdMeThnWVdSa0lHbDBJR3hoZEdWeUxseHVJQ0FnSUM4dklFVjJaVzRnZDJsMGFDQmhJSFIzYnlCbGJtUmxaQ0J2Y0hScGJXbDZZWFJwYjI0c0lIZGxKMlFnZDJGdWRDQjBieUJ2Y0hScGJXbDZaU0JtYjNJZ2RHaGxJR05oYzJWY2JpQWdJQ0F2THlCM2FHVnlaU0IwYUdWeVpTQmhjbVVnWm1WM0lHTm9ZVzVuWlhNZ1lXNWtJR0p5ZFhSbElHWnZjbU5sSUhSb1pTQmpiMjF3WVhKcGMyOXVJR2x1YzNSbFlXUWdiMlpjYmlBZ0lDQXZMeUJuYjJsdVp5Qm1iM0lnZEdobElFMWhjQzRnU1hRblpDQnNhV3RsSUhSdklHVjRjR3h2Y21VZ2FHbDBkR2x1WnlCMGFHRjBJSEJoZEdnZ1ptbHljM1FnYVc1Y2JpQWdJQ0F2THlCbWIzSjNZWEprTFc5dWJIa2diVzlrWlNCaGJtUWdiMjVzZVNCbmJ5Qm1iM0lnZEdobElFMWhjQ0J2Ym1ObElIZGxJRzV2ZEdsalpTQjBhR0YwSUhkbElHNWxaV1JjYmlBZ0lDQXZMeUJzYjNSeklHOW1JR3h2YjJzZ1lXaGxZV1F1SUZSb2FYTWdaRzlsYzI0bmRDQm9ZVzVrYkdVZ2NtVjJaWEp6WVd3Z1lYTWdkMlZzYkNCaGN5QjBkMjhnWlc1a1pXUmNiaUFnSUNBdkx5QnpaV0Z5WTJnZ1luVjBJSFJvWVhRbmN5QjFiblZ6ZFdGc0xpQkNaWE5wWkdWekxDQm1iM0lnZEdobElIUjNieUJsYm1SbFpDQnZjSFJwYldsNllYUnBiMjRnZEc5Y2JpQWdJQ0F2THlCM2IzSnJJRzl1SUVsMFpYSmhZbXhsY3l3Z2QyVW5aQ0J1WldWa0lIUnZJR052Y0hrZ2RHaGxJSGRvYjJ4bElITmxkQzVjYmlBZ0lDQXZMeUJKYmlCMGFHbHpJR1pwY25OMElHbDBaWEpoZEdsdmJpd2dkMlVuYkd3Z2FuVnpkQ0JzYVhabElIZHBkR2dnYUdsMGRHbHVaeUIwYUdVZ1ltRmtJR05oYzJWY2JpQWdJQ0F2THlBb1lXUmthVzVuSUdWMlpYSjVkR2hwYm1jZ2RHOGdZU0JOWVhBcElHbHVJR1p2Y2lCbGRtVnllU0JwYm5ObGNuUXZiVzkyWlM1Y2JpQWdJQ0F2THlCSlppQjViM1VnWTJoaGJtZGxJSFJvYVhNZ1kyOWtaU3dnWVd4emJ5QjFjR1JoZEdVZ2NtVmpiMjVqYVd4bFEyaHBiR1J5Wlc1SmRHVnlZWFJ2Y2lncElIZG9hV05vWEc0Z0lDQWdMeThnZFhObGN5QjBhR1VnYzJGdFpTQmhiR2R2Y21sMGFHMHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdSbWx5YzNRc0lIWmhiR2xrWVhSbElHdGxlWE11WEc0Z0lDQWdJQ0IyWVhJZ2EyNXZkMjVMWlhseklEMGdiblZzYkR0Y2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQnVaWGREYUdsc1pISmxiaTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWTJocGJHUWdQU0J1WlhkRGFHbHNaSEpsYmx0cFhUdGNiaUFnSUNBZ0lDQWdhMjV2ZDI1TFpYbHpJRDBnZDJGeWJrOXVTVzUyWVd4cFpFdGxlU2hqYUdsc1pDd2dhMjV2ZDI1TFpYbHpLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WemRXeDBhVzVuUm1seWMzUkRhR2xzWkNBOUlHNTFiR3c3WEc0Z0lDQWdkbUZ5SUhCeVpYWnBiM1Z6VG1WM1JtbGlaWElnUFNCdWRXeHNPMXh1SUNBZ0lIWmhjaUJ2YkdSR2FXSmxjaUE5SUdOMWNuSmxiblJHYVhKemRFTm9hV3hrTzF4dUlDQWdJSFpoY2lCc1lYTjBVR3hoWTJWa1NXNWtaWGdnUFNBd08xeHVJQ0FnSUhaaGNpQnVaWGRKWkhnZ1BTQXdPMXh1SUNBZ0lIWmhjaUJ1WlhoMFQyeGtSbWxpWlhJZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnWm05eUlDZzdJRzlzWkVacFltVnlJQ0U5UFNCdWRXeHNJQ1ltSUc1bGQwbGtlQ0E4SUc1bGQwTm9hV3hrY21WdUxteGxibWQwYURzZ2JtVjNTV1I0S3lzcElIdGNiaUFnSUNBZ0lHbG1JQ2h2YkdSR2FXSmxjaTVwYm1SbGVDQStJRzVsZDBsa2VDa2dlMXh1SUNBZ0lDQWdJQ0J1WlhoMFQyeGtSbWxpWlhJZ1BTQnZiR1JHYVdKbGNqdGNiaUFnSUNBZ0lDQWdiMnhrUm1saVpYSWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2JtVjRkRTlzWkVacFltVnlJRDBnYjJ4a1JtbGlaWEl1YzJsaWJHbHVaenRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlHNWxkMFpwWW1WeUlEMGdkWEJrWVhSbFUyeHZkQ2h5WlhSMWNtNUdhV0psY2l3Z2IyeGtSbWxpWlhJc0lHNWxkME5vYVd4a2NtVnVXMjVsZDBsa2VGMHNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0c1bGQwWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRlJQUkU4NklGUm9hWE1nWW5KbFlXdHpJRzl1SUdWdGNIUjVJSE5zYjNSeklHeHBhMlVnYm5Wc2JDQmphR2xzWkhKbGJpNGdWR2hoZENkelhHNGdJQ0FnSUNBZ0lDOHZJSFZ1Wm05eWRIVnVZWFJsSUdKbFkyRjFjMlVnYVhRZ2RISnBaMmRsY25NZ2RHaGxJSE5zYjNjZ2NHRjBhQ0JoYkd3Z2RHaGxJSFJwYldVdUlGZGxJRzVsWldSY2JpQWdJQ0FnSUNBZ0x5OGdZU0JpWlhSMFpYSWdkMkY1SUhSdklHTnZiVzExYm1sallYUmxJSGRvWlhSb1pYSWdkR2hwY3lCM1lYTWdZU0J0YVhOeklHOXlJRzUxYkd3c1hHNGdJQ0FnSUNBZ0lDOHZJR0p2YjJ4bFlXNHNJSFZ1WkdWbWFXNWxaQ3dnWlhSakxseHVJQ0FnSUNBZ0lDQnBaaUFvYjJ4a1JtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnZiR1JHYVdKbGNpQTlJRzVsZUhSUGJHUkdhV0psY2p0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYzJodmRXeGtWSEpoWTJ0VGFXUmxSV1ptWldOMGN5a2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2IyeGtSbWxpWlhJZ0ppWWdibVYzUm1saVpYSXVZV3gwWlhKdVlYUmxJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWMlVnYldGMFkyaGxaQ0IwYUdVZ2MyeHZkQ3dnWW5WMElIZGxJR1JwWkc0bmRDQnlaWFZ6WlNCMGFHVWdaWGhwYzNScGJtY2dabWxpWlhJc0lITnZJSGRsWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdibVZsWkNCMGJ5QmtaV3hsZEdVZ2RHaGxJR1Y0YVhOMGFXNW5JR05vYVd4a0xseHVJQ0FnSUNBZ0lDQWdJR1JsYkdWMFpVTm9hV3hrS0hKbGRIVnlia1pwWW1WeUxDQnZiR1JHYVdKbGNpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYkdGemRGQnNZV05sWkVsdVpHVjRJRDBnY0d4aFkyVkRhR2xzWkNodVpYZEdhV0psY2l3Z2JHRnpkRkJzWVdObFpFbHVaR1Y0TENCdVpYZEpaSGdwTzF4dVhHNGdJQ0FnSUNCcFppQW9jSEpsZG1sdmRYTk9aWGRHYVdKbGNpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJOYjNabElHOTFkQ0J2WmlCMGFHVWdiRzl2Y0M0Z1ZHaHBjeUJ2Ym14NUlHaGhjSEJsYm5NZ1ptOXlJSFJvWlNCbWFYSnpkQ0J5ZFc0dVhHNGdJQ0FnSUNBZ0lISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUWdQU0J1WlhkR2FXSmxjanRjYmlBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRVJsWm1WeUlITnBZbXhwYm1keklHbG1JSGRsSjNKbElHNXZkQ0JoZENCMGFHVWdjbWxuYUhRZ2FXNWtaWGdnWm05eUlIUm9hWE1nYzJ4dmRDNWNiaUFnSUNBZ0lDQWdMeThnU1M1bExpQnBaaUIzWlNCb1lXUWdiblZzYkNCMllXeDFaWE1nWW1WbWIzSmxMQ0IwYUdWdUlIZGxJSGRoYm5RZ2RHOGdaR1ZtWlhJZ2RHaHBjMXh1SUNBZ0lDQWdJQ0F2THlCbWIzSWdaV0ZqYUNCdWRXeHNJSFpoYkhWbExpQkliM2RsZG1WeUxDQjNaU0JoYkhOdklHUnZiaWQwSUhkaGJuUWdkRzhnWTJGc2JDQjFjR1JoZEdWVGJHOTBYRzRnSUNBZ0lDQWdJQzh2SUhkcGRHZ2dkR2hsSUhCeVpYWnBiM1Z6SUc5dVpTNWNiaUFnSUNBZ0lDQWdjSEpsZG1sdmRYTk9aWGRHYVdKbGNpNXphV0pzYVc1bklEMGdibVYzUm1saVpYSTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEJ5WlhacGIzVnpUbVYzUm1saVpYSWdQU0J1WlhkR2FXSmxjanRjYmlBZ0lDQWdJRzlzWkVacFltVnlJRDBnYm1WNGRFOXNaRVpwWW1WeU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHVaWGRKWkhnZ1BUMDlJRzVsZDBOb2FXeGtjbVZ1TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVW5kbVVnY21WaFkyaGxaQ0IwYUdVZ1pXNWtJRzltSUhSb1pTQnVaWGNnWTJocGJHUnlaVzR1SUZkbElHTmhiaUJrWld4bGRHVWdkR2hsSUhKbGMzUXVYRzRnSUNBZ0lDQmtaV3hsZEdWU1pXMWhhVzVwYm1kRGFHbHNaSEpsYmloeVpYUjFjbTVHYVdKbGNpd2diMnhrUm1saVpYSXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzlzWkVacFltVnlJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCSlppQjNaU0JrYjI0bmRDQm9ZWFpsSUdGdWVTQnRiM0psSUdWNGFYTjBhVzVuSUdOb2FXeGtjbVZ1SUhkbElHTmhiaUJqYUc5dmMyVWdZU0JtWVhOMElIQmhkR2hjYmlBZ0lDQWdJQzh2SUhOcGJtTmxJSFJvWlNCeVpYTjBJSGRwYkd3Z1lXeHNJR0psSUdsdWMyVnlkR2x2Ym5NdVhHNGdJQ0FnSUNCbWIzSWdLRHNnYm1WM1NXUjRJRHdnYm1WM1EyaHBiR1J5Wlc0dWJHVnVaM1JvT3lCdVpYZEpaSGdyS3lrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWDI1bGQwWnBZbVZ5SUQwZ1kzSmxZWFJsUTJocGJHUW9jbVYwZFhKdVJtbGlaWElzSUc1bGQwTm9hV3hrY21WdVcyNWxkMGxrZUYwc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvWDI1bGQwWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCc1lYTjBVR3hoWTJWa1NXNWtaWGdnUFNCd2JHRmpaVU5vYVd4a0tGOXVaWGRHYVdKbGNpd2diR0Z6ZEZCc1lXTmxaRWx1WkdWNExDQnVaWGRKWkhncE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNod2NtVjJhVzkxYzA1bGQwWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dUVzkyWlNCdmRYUWdiMllnZEdobElHeHZiM0F1SUZSb2FYTWdiMjVzZVNCb1lYQndaVzV6SUdadmNpQjBhR1VnWm1seWMzUWdjblZ1TGx4dUlDQWdJQ0FnSUNBZ0lISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUWdQU0JmYm1WM1JtbGlaWEk3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NISmxkbWx2ZFhOT1pYZEdhV0psY2k1emFXSnNhVzVuSUQwZ1gyNWxkMFpwWW1WeU8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY0hKbGRtbHZkWE5PWlhkR2FXSmxjaUE5SUY5dVpYZEdhV0psY2p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkR2x1WjBacGNuTjBRMmhwYkdRN1hHNGdJQ0FnZlNBdkx5QkJaR1FnWVd4c0lHTm9hV3hrY21WdUlIUnZJR0VnYTJWNUlHMWhjQ0JtYjNJZ2NYVnBZMnNnYkc5dmEzVndjeTVjYmx4dVhHNGdJQ0FnZG1GeUlHVjRhWE4wYVc1blEyaHBiR1J5Wlc0Z1BTQnRZWEJTWlcxaGFXNXBibWREYUdsc1pISmxiaWh5WlhSMWNtNUdhV0psY2l3Z2IyeGtSbWxpWlhJcE95QXZMeUJMWldWd0lITmpZVzV1YVc1bklHRnVaQ0IxYzJVZ2RHaGxJRzFoY0NCMGJ5QnlaWE4wYjNKbElHUmxiR1YwWldRZ2FYUmxiWE1nWVhNZ2JXOTJaWE11WEc1Y2JpQWdJQ0JtYjNJZ0tEc2dibVYzU1dSNElEd2dibVYzUTJocGJHUnlaVzR1YkdWdVozUm9PeUJ1WlhkSlpIZ3JLeWtnZTF4dUlDQWdJQ0FnZG1GeUlGOXVaWGRHYVdKbGNqSWdQU0IxY0dSaGRHVkdjbTl0VFdGd0tHVjRhWE4wYVc1blEyaHBiR1J5Wlc0c0lISmxkSFZ5YmtacFltVnlMQ0J1WlhkSlpIZ3NJRzVsZDBOb2FXeGtjbVZ1VzI1bGQwbGtlRjBzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tGOXVaWGRHYVdKbGNqSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITm9iM1ZzWkZSeVlXTnJVMmxrWlVWbVptVmpkSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWDI1bGQwWnBZbVZ5TWk1aGJIUmxjbTVoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUm9aU0J1WlhjZ1ptbGlaWElnYVhNZ1lTQjNiM0pySUdsdUlIQnliMmR5WlhOekxDQmlkWFFnYVdZZ2RHaGxjbVVnWlhocGMzUnpJR0ZjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR04xY25KbGJuUXNJSFJvWVhRZ2JXVmhibk1nZEdoaGRDQjNaU0J5WlhWelpXUWdkR2hsSUdacFltVnlMaUJYWlNCdVpXVmtJSFJ2SUdSbGJHVjBaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdhWFFnWm5KdmJTQjBhR1VnWTJocGJHUWdiR2x6ZENCemJ5QjBhR0YwSUhkbElHUnZiaWQwSUdGa1pDQnBkQ0IwYnlCMGFHVWdaR1ZzWlhScGIyNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklHeHBjM1F1WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxlR2x6ZEdsdVowTm9hV3hrY21WdUxtUmxiR1YwWlNoZmJtVjNSbWxpWlhJeUxtdGxlU0E5UFQwZ2JuVnNiQ0EvSUc1bGQwbGtlQ0E2SUY5dVpYZEdhV0psY2pJdWEyVjVLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JzWVhOMFVHeGhZMlZrU1c1a1pYZ2dQU0J3YkdGalpVTm9hV3hrS0Y5dVpYZEdhV0psY2pJc0lHeGhjM1JRYkdGalpXUkpibVJsZUN3Z2JtVjNTV1I0S1R0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY0hKbGRtbHZkWE5PWlhkR2FXSmxjaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxjM1ZzZEdsdVowWnBjbk4wUTJocGJHUWdQU0JmYm1WM1JtbGlaWEl5TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lIQnlaWFpwYjNWelRtVjNSbWxpWlhJdWMybGliR2x1WnlBOUlGOXVaWGRHYVdKbGNqSTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCd2NtVjJhVzkxYzA1bGQwWnBZbVZ5SUQwZ1gyNWxkMFpwWW1WeU1qdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9jMmh2ZFd4a1ZISmhZMnRUYVdSbFJXWm1aV04wY3lrZ2UxeHVJQ0FnSUNBZ0x5OGdRVzU1SUdWNGFYTjBhVzVuSUdOb2FXeGtjbVZ1SUhSb1lYUWdkMlZ5Wlc0bmRDQmpiMjV6ZFcxbFpDQmhZbTkyWlNCM1pYSmxJR1JsYkdWMFpXUXVJRmRsSUc1bFpXUmNiaUFnSUNBZ0lDOHZJSFJ2SUdGa1pDQjBhR1Z0SUhSdklIUm9aU0JrWld4bGRHbHZiaUJzYVhOMExseHVJQ0FnSUNBZ1pYaHBjM1JwYm1kRGFHbHNaSEpsYmk1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNoamFHbHNaQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdWc1pYUmxRMmhwYkdRb2NtVjBkWEp1Um1saVpYSXNJR05vYVd4a0tUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCeVpYTjFiSFJwYm1kR2FYSnpkRU5vYVd4a08xeHVJQ0I5WEc1Y2JpQWdablZ1WTNScGIyNGdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNUpkR1Z5WVhSdmNpaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1FzSUc1bGQwTm9hV3hrY21WdVNYUmxjbUZpYkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdjMkZ0WlNCcGJYQnNaVzFsYm5SaGRHbHZiaUJoY3lCeVpXTnZibU5wYkdWRGFHbHNaSEpsYmtGeWNtRjVLQ2tzWEc0Z0lDQWdMeThnWW5WMElIVnphVzVuSUhSb1pTQnBkR1Z5WVhSdmNpQnBibk4wWldGa0xseHVJQ0FnSUhaaGNpQnBkR1Z5WVhSdmNrWnVJRDBnWjJWMFNYUmxjbUYwYjNKR2JpaHVaWGREYUdsc1pISmxia2wwWlhKaFlteGxLVHRjYmx4dUlDQWdJR2xtSUNnaEtIUjVjR1Z2WmlCcGRHVnlZWFJ2Y2tadUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKQmJpQnZZbXBsWTNRZ2FYTWdibTkwSUdGdUlHbDBaWEpoWW14bExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdWMlVnWkc5dUozUWdjM1Z3Y0c5eWRDQnlaVzVrWlhKcGJtY2dSMlZ1WlhKaGRHOXljeUJpWldOaGRYTmxJR2wwSjNNZ1lTQnRkWFJoZEdsdmJpNWNiaUFnSUNBZ0lDOHZJRk5sWlNCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlptRmpaV0p2YjJzdmNtVmhZM1F2YVhOemRXVnpMekV5T1RrMVhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlGTjViV0p2YkNBOVBUMGdKMloxYm1OMGFXOXVKeUFtSmlBdkx5QWtSbXh2ZDBacGVFMWxJRVpzYjNjZ1pHOWxjMjRuZENCcmJtOTNJR0ZpYjNWMElIUnZVM1J5YVc1blZHRm5YRzRnSUNBZ0lDQnVaWGREYUdsc1pISmxia2wwWlhKaFlteGxXMU41YldKdmJDNTBiMU4wY21sdVoxUmhaMTBnUFQwOUlDZEhaVzVsY21GMGIzSW5LU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUjJWdVpYSmhkRzl5Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZFZjMmx1WnlCSFpXNWxjbUYwYjNKeklHRnpJR05vYVd4a2NtVnVJR2x6SUhWdWMzVndjRzl5ZEdWa0lHRnVaQ0IzYVd4c0lHeHBhMlZzZVNCNWFXVnNaQ0FuSUNzZ0ozVnVaWGh3WldOMFpXUWdjbVZ6ZFd4MGN5QmlaV05oZFhObElHVnVkVzFsY21GMGFXNW5JR0VnWjJWdVpYSmhkRzl5SUcxMWRHRjBaWE1nYVhRdUlDY2dLeUFuV1c5MUlHMWhlU0JqYjI1MlpYSjBJR2wwSUhSdklHRnVJR0Z5Y21GNUlIZHBkR2dnWUVGeWNtRjVMbVp5YjIwb0tXQWdiM0lnZEdobElDY2dLeUFuWUZzdUxpNXpjSEpsWVdSZFlDQnZjR1Z5WVhSdmNpQmlaV1p2Y21VZ2NtVnVaR1Z5YVc1bkxpQkxaV1Z3SUdsdUlHMXBibVFnSnlBcklDZDViM1VnYldsbmFIUWdibVZsWkNCMGJ5QndiMng1Wm1sc2JDQjBhR1Z6WlNCbVpXRjBkWEpsY3lCbWIzSWdiMnhrWlhJZ1luSnZkM05sY25NdUp5azdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUkhaVzVsY21GMGIzSnpJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMGdMeThnVjJGeWJpQmhZbTkxZENCMWMybHVaeUJOWVhCeklHRnpJR05vYVd4a2NtVnVYRzVjYmx4dUlDQWdJQ0FnYVdZZ0tHNWxkME5vYVd4a2NtVnVTWFJsY21GaWJHVXVaVzUwY21sbGN5QTlQVDBnYVhSbGNtRjBiM0pHYmlrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVdScFpGZGhjbTVCWW05MWRFMWhjSE1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnblZYTnBibWNnVFdGd2N5QmhjeUJqYUdsc1pISmxiaUJwY3lCMWJuTjFjSEJ2Y25SbFpDQmhibVFnZDJsc2JDQnNhV3RsYkhrZ2VXbGxiR1FnSnlBcklDZDFibVY0Y0dWamRHVmtJSEpsYzNWc2RITXVJRU52Ym5abGNuUWdhWFFnZEc4Z1lTQnpaWEYxWlc1alpTOXBkR1Z5WVdKc1pTQnZaaUJyWlhsbFpDQW5JQ3NnSjFKbFlXTjBSV3hsYldWdWRITWdhVzV6ZEdWaFpDNG5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHUnBaRmRoY201QlltOTFkRTFoY0hNZ1BTQjBjblZsTzF4dUlDQWdJQ0FnZlNBdkx5QkdhWEp6ZEN3Z2RtRnNhV1JoZEdVZ2EyVjVjeTVjYmlBZ0lDQWdJQzh2SUZkbEoyeHNJR2RsZENCaElHUnBabVpsY21WdWRDQnBkR1Z5WVhSdmNpQnNZWFJsY2lCbWIzSWdkR2hsSUcxaGFXNGdjR0Z6Y3k1Y2JseHVYRzRnSUNBZ0lDQjJZWElnWDI1bGQwTm9hV3hrY21WdUlEMGdhWFJsY21GMGIzSkdiaTVqWVd4c0tHNWxkME5vYVd4a2NtVnVTWFJsY21GaWJHVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1gyNWxkME5vYVd4a2NtVnVLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJibTkzYmt0bGVYTWdQU0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJSFpoY2lCZmMzUmxjQ0E5SUY5dVpYZERhR2xzWkhKbGJpNXVaWGgwS0NrN1hHNWNiaUFnSUNBZ0lDQWdabTl5SUNnN0lDRmZjM1JsY0M1a2IyNWxPeUJmYzNSbGNDQTlJRjl1WlhkRGFHbHNaSEpsYmk1dVpYaDBLQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTJocGJHUWdQU0JmYzNSbGNDNTJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ0lDQnJibTkzYmt0bGVYTWdQU0IzWVhKdVQyNUpiblpoYkdsa1MyVjVLR05vYVd4a0xDQnJibTkzYmt0bGVYTXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1bGQwTm9hV3hrY21WdUlEMGdhWFJsY21GMGIzSkdiaTVqWVd4c0tHNWxkME5vYVd4a2NtVnVTWFJsY21GaWJHVXBPMXh1WEc0Z0lDQWdhV1lnS0NFb2JtVjNRMmhwYkdSeVpXNGdJVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lRVzRnYVhSbGNtRmliR1VnYjJKcVpXTjBJSEJ5YjNacFpHVmtJRzV2SUdsMFpYSmhkRzl5TGx3aUlDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSEpsYzNWc2RHbHVaMFpwY25OMFEyaHBiR1FnUFNCdWRXeHNPMXh1SUNBZ0lIWmhjaUJ3Y21WMmFXOTFjMDVsZDBacFltVnlJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdiMnhrUm1saVpYSWdQU0JqZFhKeVpXNTBSbWx5YzNSRGFHbHNaRHRjYmlBZ0lDQjJZWElnYkdGemRGQnNZV05sWkVsdVpHVjRJRDBnTUR0Y2JpQWdJQ0IyWVhJZ2JtVjNTV1I0SUQwZ01EdGNiaUFnSUNCMllYSWdibVY0ZEU5c1pFWnBZbVZ5SUQwZ2JuVnNiRHRjYmlBZ0lDQjJZWElnYzNSbGNDQTlJRzVsZDBOb2FXeGtjbVZ1TG01bGVIUW9LVHRjYmx4dUlDQWdJR1p2Y2lBb095QnZiR1JHYVdKbGNpQWhQVDBnYm5Wc2JDQW1KaUFoYzNSbGNDNWtiMjVsT3lCdVpYZEpaSGdyS3l3Z2MzUmxjQ0E5SUc1bGQwTm9hV3hrY21WdUxtNWxlSFFvS1NrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzlzWkVacFltVnlMbWx1WkdWNElENGdibVYzU1dSNEtTQjdYRzRnSUNBZ0lDQWdJRzVsZUhSUGJHUkdhV0psY2lBOUlHOXNaRVpwWW1WeU8xeHVJQ0FnSUNBZ0lDQnZiR1JHYVdKbGNpQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCdVpYaDBUMnhrUm1saVpYSWdQU0J2YkdSR2FXSmxjaTV6YVdKc2FXNW5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IyWVhJZ2JtVjNSbWxpWlhJZ1BTQjFjR1JoZEdWVGJHOTBLSEpsZEhWeWJrWnBZbVZ5TENCdmJHUkdhV0psY2l3Z2MzUmxjQzUyWVd4MVpTd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvYm1WM1JtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJpY21WaGEzTWdiMjRnWlcxd2RIa2djMnh2ZEhNZ2JHbHJaU0J1ZFd4c0lHTm9hV3hrY21WdUxpQlVhR0YwSjNOY2JpQWdJQ0FnSUNBZ0x5OGdkVzVtYjNKMGRXNWhkR1VnWW1WallYVnpaU0JwZENCMGNtbG5aMlZ5Y3lCMGFHVWdjMnh2ZHlCd1lYUm9JR0ZzYkNCMGFHVWdkR2x0WlM0Z1YyVWdibVZsWkZ4dUlDQWdJQ0FnSUNBdkx5QmhJR0psZEhSbGNpQjNZWGtnZEc4Z1kyOXRiWFZ1YVdOaGRHVWdkMmhsZEdobGNpQjBhR2x6SUhkaGN5QmhJRzFwYzNNZ2IzSWdiblZzYkN4Y2JpQWdJQ0FnSUNBZ0x5OGdZbTl2YkdWaGJpd2dkVzVrWldacGJtVmtMQ0JsZEdNdVhHNGdJQ0FnSUNBZ0lHbG1JQ2h2YkdSR2FXSmxjaUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHOXNaRVpwWW1WeUlEMGdibVY0ZEU5c1pFWnBZbVZ5TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHbG1JQ2h6YUc5MWJHUlVjbUZqYTFOcFpHVkZabVpsWTNSektTQjdYRzRnSUNBZ0lDQWdJR2xtSUNodmJHUkdhV0psY2lBbUppQnVaWGRHYVdKbGNpNWhiSFJsY201aGRHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlhaU0J0WVhSamFHVmtJSFJvWlNCemJHOTBMQ0JpZFhRZ2QyVWdaR2xrYmlkMElISmxkWE5sSUhSb1pTQmxlR2x6ZEdsdVp5Qm1hV0psY2l3Z2MyOGdkMlZjYmlBZ0lDQWdJQ0FnSUNBdkx5QnVaV1ZrSUhSdklHUmxiR1YwWlNCMGFHVWdaWGhwYzNScGJtY2dZMmhwYkdRdVhHNGdJQ0FnSUNBZ0lDQWdaR1ZzWlhSbFEyaHBiR1FvY21WMGRYSnVSbWxpWlhJc0lHOXNaRVpwWW1WeUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JzWVhOMFVHeGhZMlZrU1c1a1pYZ2dQU0J3YkdGalpVTm9hV3hrS0c1bGQwWnBZbVZ5TENCc1lYTjBVR3hoWTJWa1NXNWtaWGdzSUc1bGQwbGtlQ2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHdjbVYyYVc5MWMwNWxkMFpwWW1WeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRTF2ZG1VZ2IzVjBJRzltSUhSb1pTQnNiMjl3TGlCVWFHbHpJRzl1YkhrZ2FHRndjR1Z1Y3lCbWIzSWdkR2hsSUdacGNuTjBJSEoxYmk1Y2JpQWdJQ0FnSUNBZ2NtVnpkV3gwYVc1blJtbHljM1JEYUdsc1pDQTlJRzVsZDBacFltVnlPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dSR1ZtWlhJZ2MybGliR2x1WjNNZ2FXWWdkMlVuY21VZ2JtOTBJR0YwSUhSb1pTQnlhV2RvZENCcGJtUmxlQ0JtYjNJZ2RHaHBjeUJ6Ykc5MExseHVJQ0FnSUNBZ0lDQXZMeUJKTG1VdUlHbG1JSGRsSUdoaFpDQnVkV3hzSUhaaGJIVmxjeUJpWldadmNtVXNJSFJvWlc0Z2QyVWdkMkZ1ZENCMGJ5QmtaV1psY2lCMGFHbHpYRzRnSUNBZ0lDQWdJQzh2SUdadmNpQmxZV05vSUc1MWJHd2dkbUZzZFdVdUlFaHZkMlYyWlhJc0lIZGxJR0ZzYzI4Z1pHOXVKM1FnZDJGdWRDQjBieUJqWVd4c0lIVndaR0YwWlZOc2IzUmNiaUFnSUNBZ0lDQWdMeThnZDJsMGFDQjBhR1VnY0hKbGRtbHZkWE1nYjI1bExseHVJQ0FnSUNBZ0lDQndjbVYyYVc5MWMwNWxkMFpwWW1WeUxuTnBZbXhwYm1jZ1BTQnVaWGRHYVdKbGNqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjSEpsZG1sdmRYTk9aWGRHYVdKbGNpQTlJRzVsZDBacFltVnlPMXh1SUNBZ0lDQWdiMnhrUm1saVpYSWdQU0J1WlhoMFQyeGtSbWxpWlhJN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tITjBaWEF1Wkc5dVpTa2dlMXh1SUNBZ0lDQWdMeThnVjJVbmRtVWdjbVZoWTJobFpDQjBhR1VnWlc1a0lHOW1JSFJvWlNCdVpYY2dZMmhwYkdSeVpXNHVJRmRsSUdOaGJpQmtaV3hsZEdVZ2RHaGxJSEpsYzNRdVhHNGdJQ0FnSUNCa1pXeGxkR1ZTWlcxaGFXNXBibWREYUdsc1pISmxiaWh5WlhSMWNtNUdhV0psY2l3Z2IyeGtSbWxpWlhJcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkR2x1WjBacGNuTjBRMmhwYkdRN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHOXNaRVpwWW1WeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCb1lYWmxJR0Z1ZVNCdGIzSmxJR1Y0YVhOMGFXNW5JR05vYVd4a2NtVnVJSGRsSUdOaGJpQmphRzl2YzJVZ1lTQm1ZWE4wSUhCaGRHaGNiaUFnSUNBZ0lDOHZJSE5wYm1ObElIUm9aU0J5WlhOMElIZHBiR3dnWVd4c0lHSmxJR2x1YzJWeWRHbHZibk11WEc0Z0lDQWdJQ0JtYjNJZ0tEc2dJWE4wWlhBdVpHOXVaVHNnYm1WM1NXUjRLeXNzSUhOMFpYQWdQU0J1WlhkRGFHbHNaSEpsYmk1dVpYaDBLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl1WlhkR2FXSmxjak1nUFNCamNtVmhkR1ZEYUdsc1pDaHlaWFIxY201R2FXSmxjaXdnYzNSbGNDNTJZV3gxWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hmYm1WM1JtbGlaWEl6SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCc1lYTjBVR3hoWTJWa1NXNWtaWGdnUFNCd2JHRmpaVU5vYVd4a0tGOXVaWGRHYVdKbGNqTXNJR3hoYzNSUWJHRmpaV1JKYm1SbGVDd2dibVYzU1dSNEtUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2NISmxkbWx2ZFhOT1pYZEdhV0psY2lBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRTF2ZG1VZ2IzVjBJRzltSUhSb1pTQnNiMjl3TGlCVWFHbHpJRzl1YkhrZ2FHRndjR1Z1Y3lCbWIzSWdkR2hsSUdacGNuTjBJSEoxYmk1Y2JpQWdJQ0FnSUNBZ0lDQnlaWE4xYkhScGJtZEdhWEp6ZEVOb2FXeGtJRDBnWDI1bGQwWnBZbVZ5TXp0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQndjbVYyYVc5MWMwNWxkMFpwWW1WeUxuTnBZbXhwYm1jZ1BTQmZibVYzUm1saVpYSXpPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NISmxkbWx2ZFhOT1pYZEdhV0psY2lBOUlGOXVaWGRHYVdKbGNqTTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE4xYkhScGJtZEdhWEp6ZEVOb2FXeGtPMXh1SUNBZ0lIMGdMeThnUVdSa0lHRnNiQ0JqYUdsc1pISmxiaUIwYnlCaElHdGxlU0J0WVhBZ1ptOXlJSEYxYVdOcklHeHZiMnQxY0hNdVhHNWNibHh1SUNBZ0lIWmhjaUJsZUdsemRHbHVaME5vYVd4a2NtVnVJRDBnYldGd1VtVnRZV2x1YVc1blEyaHBiR1J5Wlc0b2NtVjBkWEp1Um1saVpYSXNJRzlzWkVacFltVnlLVHNnTHk4Z1MyVmxjQ0J6WTJGdWJtbHVaeUJoYm1RZ2RYTmxJSFJvWlNCdFlYQWdkRzhnY21WemRHOXlaU0JrWld4bGRHVmtJR2wwWlcxeklHRnpJRzF2ZG1WekxseHVYRzRnSUNBZ1ptOXlJQ2c3SUNGemRHVndMbVJ2Ym1VN0lHNWxkMGxrZUNzckxDQnpkR1Z3SUQwZ2JtVjNRMmhwYkdSeVpXNHVibVY0ZENncEtTQjdYRzRnSUNBZ0lDQjJZWElnWDI1bGQwWnBZbVZ5TkNBOUlIVndaR0YwWlVaeWIyMU5ZWEFvWlhocGMzUnBibWREYUdsc1pISmxiaXdnY21WMGRYSnVSbWxpWlhJc0lHNWxkMGxrZUN3Z2MzUmxjQzUyWVd4MVpTd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVYRzRnSUNBZ0lDQnBaaUFvWDI1bGQwWnBZbVZ5TkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzJodmRXeGtWSEpoWTJ0VGFXUmxSV1ptWldOMGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGZibVYzUm1saVpYSTBMbUZzZEdWeWJtRjBaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVkdobElHNWxkeUJtYVdKbGNpQnBjeUJoSUhkdmNtc2dhVzRnY0hKdlozSmxjM01zSUdKMWRDQnBaaUIwYUdWeVpTQmxlR2x6ZEhNZ1lWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kzVnljbVZ1ZEN3Z2RHaGhkQ0J0WldGdWN5QjBhR0YwSUhkbElISmxkWE5sWkNCMGFHVWdabWxpWlhJdUlGZGxJRzVsWldRZ2RHOGdaR1ZzWlhSbFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCcGRDQm1jbTl0SUhSb1pTQmphR2xzWkNCc2FYTjBJSE52SUhSb1lYUWdkMlVnWkc5dUozUWdZV1JrSUdsMElIUnZJSFJvWlNCa1pXeGxkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYkdsemRDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWNGFYTjBhVzVuUTJocGJHUnlaVzR1WkdWc1pYUmxLRjl1WlhkR2FXSmxjalF1YTJWNUlEMDlQU0J1ZFd4c0lEOGdibVYzU1dSNElEb2dYMjVsZDBacFltVnlOQzVyWlhrcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHeGhjM1JRYkdGalpXUkpibVJsZUNBOUlIQnNZV05sUTJocGJHUW9YMjVsZDBacFltVnlOQ3dnYkdGemRGQnNZV05sWkVsdVpHVjRMQ0J1WlhkSlpIZ3BPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHdjbVYyYVc5MWMwNWxkMFpwWW1WeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WemRXeDBhVzVuUm1seWMzUkRhR2xzWkNBOUlGOXVaWGRHYVdKbGNqUTdYRzRnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnY0hKbGRtbHZkWE5PWlhkR2FXSmxjaTV6YVdKc2FXNW5JRDBnWDI1bGQwWnBZbVZ5TkR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEJ5WlhacGIzVnpUbVYzUm1saVpYSWdQU0JmYm1WM1JtbGlaWEkwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoemFHOTFiR1JVY21GamExTnBaR1ZGWm1abFkzUnpLU0I3WEc0Z0lDQWdJQ0F2THlCQmJua2daWGhwYzNScGJtY2dZMmhwYkdSeVpXNGdkR2hoZENCM1pYSmxiaWQwSUdOdmJuTjFiV1ZrSUdGaWIzWmxJSGRsY21VZ1pHVnNaWFJsWkM0Z1YyVWdibVZsWkZ4dUlDQWdJQ0FnTHk4Z2RHOGdZV1JrSUhSb1pXMGdkRzhnZEdobElHUmxiR1YwYVc5dUlHeHBjM1F1WEc0Z0lDQWdJQ0JsZUdsemRHbHVaME5vYVd4a2NtVnVMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR05vYVd4a0tTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaV3hsZEdWRGFHbHNaQ2h5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1FwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2RHbHVaMFpwY25OMFEyaHBiR1E3WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCeVpXTnZibU5wYkdWVGFXNW5iR1ZVWlhoMFRtOWtaU2h5WlhSMWNtNUdhV0psY2l3Z1kzVnljbVZ1ZEVacGNuTjBRMmhwYkdRc0lIUmxlSFJEYjI1MFpXNTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDOHZJRlJvWlhKbEozTWdibThnYm1WbFpDQjBieUJqYUdWamF5Qm1iM0lnYTJWNWN5QnZiaUIwWlhoMElHNXZaR1Z6SUhOcGJtTmxJSGRsSUdSdmJpZDBJR2hoZG1VZ1lWeHVJQ0FnSUM4dklIZGhlU0IwYnlCa1pXWnBibVVnZEdobGJTNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRFWnBjbk4wUTJocGJHUWdJVDA5SUc1MWJHd2dKaVlnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1F1ZEdGbklEMDlQU0JJYjNOMFZHVjRkQ2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVWdZV3h5WldGa2VTQm9ZWFpsSUdGdUlHVjRhWE4wYVc1bklHNXZaR1VnYzI4Z2JHVjBKM01nYW5WemRDQjFjR1JoZEdVZ2FYUWdZVzVrSUdSbGJHVjBaVnh1SUNBZ0lDQWdMeThnZEdobElISmxjM1F1WEc0Z0lDQWdJQ0JrWld4bGRHVlNaVzFoYVc1cGJtZERhR2xzWkhKbGJpaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1F1YzJsaWJHbHVaeWs3WEc0Z0lDQWdJQ0IyWVhJZ1pYaHBjM1JwYm1jZ1BTQjFjMlZHYVdKbGNpaGpkWEp5Wlc1MFJtbHljM1JEYUdsc1pDd2dkR1Y0ZEVOdmJuUmxiblFwTzF4dUlDQWdJQ0FnWlhocGMzUnBibWN1Y21WMGRYSnVJRDBnY21WMGRYSnVSbWxpWlhJN1hHNGdJQ0FnSUNCeVpYUjFjbTRnWlhocGMzUnBibWM3WEc0Z0lDQWdmU0F2THlCVWFHVWdaWGhwYzNScGJtY2dabWx5YzNRZ1kyaHBiR1FnYVhNZ2JtOTBJR0VnZEdWNGRDQnViMlJsSUhOdklIZGxJRzVsWldRZ2RHOGdZM0psWVhSbElHOXVaVnh1SUNBZ0lDOHZJR0Z1WkNCa1pXeGxkR1VnZEdobElHVjRhWE4wYVc1bklHOXVaWE11WEc1Y2JseHVJQ0FnSUdSbGJHVjBaVkpsYldGcGJtbHVaME5vYVd4a2NtVnVLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkNrN1hHNGdJQ0FnZG1GeUlHTnlaV0YwWldRZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxVVpYaDBLSFJsZUhSRGIyNTBaVzUwTENCeVpYUjFjbTVHYVdKbGNpNXRiMlJsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdZM0psWVhSbFpDNXlaWFIxY200Z1BTQnlaWFIxY201R2FXSmxjanRjYmlBZ0lDQnlaWFIxY200Z1kzSmxZWFJsWkR0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlISmxZMjl1WTJsc1pWTnBibWRzWlVWc1pXMWxiblFvY21WMGRYSnVSbWxpWlhJc0lHTjFjbkpsYm5SR2FYSnpkRU5vYVd4a0xDQmxiR1Z0Wlc1MExDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUhaaGNpQnJaWGtnUFNCbGJHVnRaVzUwTG10bGVUdGNiaUFnSUNCMllYSWdZMmhwYkdRZ1BTQmpkWEp5Wlc1MFJtbHljM1JEYUdsc1pEdGNibHh1SUNBZ0lIZG9hV3hsSUNoamFHbHNaQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZFOUVUem9nU1dZZ2EyVjVJRDA5UFNCdWRXeHNJR0Z1WkNCamFHbHNaQzVyWlhrZ1BUMDlJRzUxYkd3c0lIUm9aVzRnZEdocGN5QnZibXg1SUdGd2NHeHBaWE1nZEc5Y2JpQWdJQ0FnSUM4dklIUm9aU0JtYVhKemRDQnBkR1Z0SUdsdUlIUm9aU0JzYVhOMExseHVJQ0FnSUNBZ2FXWWdLR05vYVd4a0xtdGxlU0E5UFQwZ2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUhOM2FYUmphQ0FvWTJocGJHUXVkR0ZuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCR2NtRm5iV1Z1ZERwY2JpQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWc1pXMWxiblF1ZEhsd1pTQTlQVDBnVWtWQlExUmZSbEpCUjAxRlRsUmZWRmxRUlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmxiR1YwWlZKbGJXRnBibWx1WjBOb2FXeGtjbVZ1S0hKbGRIVnlia1pwWW1WeUxDQmphR2xzWkM1emFXSnNhVzVuS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdaWGhwYzNScGJtY2dQU0IxYzJWR2FXSmxjaWhqYUdsc1pDd2daV3hsYldWdWRDNXdjbTl3Y3k1amFHbHNaSEpsYmlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYaHBjM1JwYm1jdWNtVjBkWEp1SUQwZ2NtVjBkWEp1Um1saVpYSTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGVHbHpkR2x1Wnk1ZlpHVmlkV2RUYjNWeVkyVWdQU0JsYkdWdFpXNTBMbDl6YjNWeVkyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JsZUdsemRHbHVaeTVmWkdWaWRXZFBkMjVsY2lBOUlHVnNaVzFsYm5RdVgyOTNibVZ5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCbGVHbHpkR2x1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWTJGelpTQkNiRzlqYXpwY2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHbHVkR1Z1ZEdsdmJtRnNiSGtnWm1Gc2JIUm9jbTkxWjJnZ2FHVnlaU0JwWmlCbGJtRmliR1ZDYkc5amEzTkJVRWtnYVhNZ2JtOTBJRzl1TGx4dUlDQWdJQ0FnSUNBZ0lDOHZJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpXUWdibTh0Wm1Gc2JIUm9jbTkxWjJoY2JseHVJQ0FnSUNBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaGphR2xzWkM1bGJHVnRaVzUwVkhsd1pTQTlQVDBnWld4bGJXVnVkQzUwZVhCbElIeDhJQ2dnTHk4Z1MyVmxjQ0IwYUdseklHTm9aV05ySUdsdWJHbHVaU0J6YnlCcGRDQnZibXg1SUhKMWJuTWdiMjRnZEdobElHWmhiSE5sSUhCaGRHZzZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBjME52YlhCaGRHbGliR1ZHWVcxcGJIbEdiM0pJYjNSU1pXeHZZV1JwYm1jb1kyaHBiR1FzSUdWc1pXMWxiblFwSUNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmtaV3hsZEdWU1pXMWhhVzVwYm1kRGFHbHNaSEpsYmloeVpYUjFjbTVHYVdKbGNpd2dZMmhwYkdRdWMybGliR2x1WnlrN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnWDJWNGFYTjBhVzVuTXlBOUlIVnpaVVpwWW1WeUtHTm9hV3hrTENCbGJHVnRaVzUwTG5CeWIzQnpLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUY5bGVHbHpkR2x1WnpNdWNtVm1JRDBnWTI5bGNtTmxVbVZtS0hKbGRIVnlia1pwWW1WeUxDQmphR2xzWkN3Z1pXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1gyVjRhWE4wYVc1bk15NXlaWFIxY200Z1BTQnlaWFIxY201R2FXSmxjanRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGOWxlR2x6ZEdsdVp6TXVYMlJsWW5WblUyOTFjbU5sSUQwZ1pXeGxiV1Z1ZEM1ZmMyOTFjbU5sTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1gyVjRhWE4wYVc1bk15NWZaR1ZpZFdkUGQyNWxjaUE5SUdWc1pXMWxiblF1WDI5M2JtVnlPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJmWlhocGMzUnBibWN6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdMeThnUkdsa2JpZDBJRzFoZEdOb0xseHVYRzVjYmlBZ0lDQWdJQ0FnWkdWc1pYUmxVbVZ0WVdsdWFXNW5RMmhwYkdSeVpXNG9jbVYwZFhKdVJtbGlaWElzSUdOb2FXeGtLVHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQmtaV3hsZEdWRGFHbHNaQ2h5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1FwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamFHbHNaQ0E5SUdOb2FXeGtMbk5wWW14cGJtYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR1ZzWlcxbGJuUXVkSGx3WlNBOVBUMGdVa1ZCUTFSZlJsSkJSMDFGVGxSZlZGbFFSU2tnZTF4dUlDQWdJQ0FnZG1GeUlHTnlaV0YwWldRZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxR2NtRm5iV1Z1ZENobGJHVnRaVzUwTG5CeWIzQnpMbU5vYVd4a2NtVnVMQ0J5WlhSMWNtNUdhV0psY2k1dGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2daV3hsYldWdWRDNXJaWGtwTzF4dUlDQWdJQ0FnWTNKbFlYUmxaQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVmtPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCMllYSWdYMk55WldGMFpXUTBJRDBnWTNKbFlYUmxSbWxpWlhKR2NtOXRSV3hsYldWdWRDaGxiR1Z0Wlc1MExDQnlaWFIxY201R2FXSmxjaTV0YjJSbExDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNWNiaUFnSUNBZ0lGOWpjbVZoZEdWa05DNXlaV1lnUFNCamIyVnlZMlZTWldZb2NtVjBkWEp1Um1saVpYSXNJR04xY25KbGJuUkdhWEp6ZEVOb2FXeGtMQ0JsYkdWdFpXNTBLVHRjYmlBZ0lDQWdJRjlqY21WaGRHVmtOQzV5WlhSMWNtNGdQU0J5WlhSMWNtNUdhV0psY2p0Y2JpQWdJQ0FnSUhKbGRIVnliaUJmWTNKbFlYUmxaRFE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnY21WamIyNWphV3hsVTJsdVoyeGxVRzl5ZEdGc0tISmxkSFZ5YmtacFltVnlMQ0JqZFhKeVpXNTBSbWx5YzNSRGFHbHNaQ3dnY0c5eWRHRnNMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lIWmhjaUJyWlhrZ1BTQndiM0owWVd3dWEyVjVPMXh1SUNBZ0lIWmhjaUJqYUdsc1pDQTlJR04xY25KbGJuUkdhWEp6ZEVOb2FXeGtPMXh1WEc0Z0lDQWdkMmhwYkdVZ0tHTm9hV3hrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCSlppQnJaWGtnUFQwOUlHNTFiR3dnWVc1a0lHTm9hV3hrTG10bGVTQTlQVDBnYm5Wc2JDd2dkR2hsYmlCMGFHbHpJRzl1YkhrZ1lYQndiR2xsY3lCMGIxeHVJQ0FnSUNBZ0x5OGdkR2hsSUdacGNuTjBJR2wwWlcwZ2FXNGdkR2hsSUd4cGMzUXVYRzRnSUNBZ0lDQnBaaUFvWTJocGJHUXVhMlY1SUQwOVBTQnJaWGtwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLR05vYVd4a0xuUmhaeUE5UFQwZ1NHOXpkRkJ2Y25SaGJDQW1KaUJqYUdsc1pDNXpkR0YwWlU1dlpHVXVZMjl1ZEdGcGJtVnlTVzVtYnlBOVBUMGdjRzl5ZEdGc0xtTnZiblJoYVc1bGNrbHVabThnSmlZZ1kyaHBiR1F1YzNSaGRHVk9iMlJsTG1sdGNHeGxiV1Z1ZEdGMGFXOXVJRDA5UFNCd2IzSjBZV3d1YVcxd2JHVnRaVzUwWVhScGIyNHBJSHRjYmlBZ0lDQWdJQ0FnSUNCa1pXeGxkR1ZTWlcxaGFXNXBibWREYUdsc1pISmxiaWh5WlhSMWNtNUdhV0psY2l3Z1kyaHBiR1F1YzJsaWJHbHVaeWs3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR1Y0YVhOMGFXNW5JRDBnZFhObFJtbGlaWElvWTJocGJHUXNJSEJ2Y25SaGJDNWphR2xzWkhKbGJpQjhmQ0JiWFNrN1hHNGdJQ0FnSUNBZ0lDQWdaWGhwYzNScGJtY3VjbVYwZFhKdUlEMGdjbVYwZFhKdVJtbGlaWEk3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdWNGFYTjBhVzVuTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHUmxiR1YwWlZKbGJXRnBibWx1WjBOb2FXeGtjbVZ1S0hKbGRIVnlia1pwWW1WeUxDQmphR2xzWkNrN1hHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHUmxiR1YwWlVOb2FXeGtLSEpsZEhWeWJrWnBZbVZ5TENCamFHbHNaQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOb2FXeGtJRDBnWTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZM0psWVhSbFpDQTlJR055WldGMFpVWnBZbVZ5Um5KdmJWQnZjblJoYkNod2IzSjBZV3dzSUhKbGRIVnlia1pwWW1WeUxtMXZaR1VzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQmpjbVZoZEdWa0xuSmxkSFZ5YmlBOUlISmxkSFZ5YmtacFltVnlPMXh1SUNBZ0lISmxkSFZ5YmlCamNtVmhkR1ZrTzF4dUlDQjlJQzh2SUZSb2FYTWdRVkJKSUhkcGJHd2dkR0ZuSUhSb1pTQmphR2xzWkhKbGJpQjNhWFJvSUhSb1pTQnphV1JsTFdWbVptVmpkQ0J2WmlCMGFHVWdjbVZqYjI1amFXeHBZWFJwYjI1Y2JpQWdMeThnYVhSelpXeG1MaUJVYUdWNUlIZHBiR3dnWW1VZ1lXUmtaV1FnZEc4Z2RHaGxJSE5wWkdVdFpXWm1aV04wSUd4cGMzUWdZWE1nZDJVZ2NHRnpjeUIwYUhKdmRXZG9JSFJvWlZ4dUlDQXZMeUJqYUdsc1pISmxiaUJoYm1RZ2RHaGxJSEJoY21WdWRDNWNibHh1WEc0Z0lHWjFibU4wYVc5dUlISmxZMjl1WTJsc1pVTm9hV3hrUm1saVpYSnpLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkN3Z2JtVjNRMmhwYkdRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCdWIzUWdjbVZqZFhKemFYWmxMbHh1SUNBZ0lDOHZJRWxtSUhSb1pTQjBiM0FnYkdWMlpXd2dhWFJsYlNCcGN5QmhiaUJoY25KaGVTd2dkMlVnZEhKbFlYUWdhWFFnWVhNZ1lTQnpaWFFnYjJZZ1kyaHBiR1J5Wlc0c1hHNGdJQ0FnTHk4Z2JtOTBJR0Z6SUdFZ1puSmhaMjFsYm5RdUlFNWxjM1JsWkNCaGNuSmhlWE1nYjI0Z2RHaGxJRzkwYUdWeUlHaGhibVFnZDJsc2JDQmlaU0IwY21WaGRHVmtJR0Z6WEc0Z0lDQWdMeThnWm5KaFoyMWxiblFnYm05a1pYTXVJRkpsWTNWeWMybHZiaUJvWVhCd1pXNXpJR0YwSUhSb1pTQnViM0p0WVd3Z1pteHZkeTVjYmlBZ0lDQXZMeUJJWVc1a2JHVWdkRzl3SUd4bGRtVnNJSFZ1YTJWNVpXUWdabkpoWjIxbGJuUnpJR0Z6SUdsbUlIUm9aWGtnZDJWeVpTQmhjbkpoZVhNdVhHNGdJQ0FnTHk4Z1ZHaHBjeUJzWldGa2N5QjBieUJoYmlCaGJXSnBaM1ZwZEhrZ1ltVjBkMlZsYmlBOFBudGJMaTR1WFgwOEx6NGdZVzVrSUR3K0xpNHVQQzgrTGx4dUlDQWdJQzh2SUZkbElIUnlaV0YwSUhSb1pTQmhiV0pwWjNWdmRYTWdZMkZ6WlhNZ1lXSnZkbVVnZEdobElITmhiV1V1WEc0Z0lDQWdkbUZ5SUdselZXNXJaWGxsWkZSdmNFeGxkbVZzUm5KaFoyMWxiblFnUFNCMGVYQmxiMllnYm1WM1EyaHBiR1FnUFQwOUlDZHZZbXBsWTNRbklDWW1JRzVsZDBOb2FXeGtJQ0U5UFNCdWRXeHNJQ1ltSUc1bGQwTm9hV3hrTG5SNWNHVWdQVDA5SUZKRlFVTlVYMFpTUVVkTlJVNVVYMVJaVUVVZ0ppWWdibVYzUTJocGJHUXVhMlY1SUQwOVBTQnVkV3hzTzF4dVhHNGdJQ0FnYVdZZ0tHbHpWVzVyWlhsbFpGUnZjRXhsZG1Wc1JuSmhaMjFsYm5RcElIdGNiaUFnSUNBZ0lHNWxkME5vYVd4a0lEMGdibVYzUTJocGJHUXVjSEp2Y0hNdVkyaHBiR1J5Wlc0N1hHNGdJQ0FnZlNBdkx5QklZVzVrYkdVZ2IySnFaV04wSUhSNWNHVnpYRzVjYmx4dUlDQWdJSFpoY2lCcGMwOWlhbVZqZENBOUlIUjVjR1Z2WmlCdVpYZERhR2xzWkNBOVBUMGdKMjlpYW1WamRDY2dKaVlnYm1WM1EyaHBiR1FnSVQwOUlHNTFiR3c3WEc1Y2JpQWdJQ0JwWmlBb2FYTlBZbXBsWTNRcElIdGNiaUFnSUNBZ0lITjNhWFJqYUNBb2JtVjNRMmhwYkdRdUpDUjBlWEJsYjJZcElIdGNiaUFnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQnNZV05sVTJsdVoyeGxRMmhwYkdRb2NtVmpiMjVqYVd4bFUybHVaMnhsUld4bGJXVnVkQ2h5WlhSMWNtNUdhV0psY2l3Z1kzVnljbVZ1ZEVacGNuTjBRMmhwYkdRc0lHNWxkME5vYVd4a0xDQmxlSEJwY21GMGFXOXVWR2x0WlNrcE8xeHVYRzRnSUNBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmVUU5U1ZFRk1YMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIQnNZV05sVTJsdVoyeGxRMmhwYkdRb2NtVmpiMjVqYVd4bFUybHVaMnhsVUc5eWRHRnNLSEpsZEhWeWJrWnBZbVZ5TENCamRYSnlaVzUwUm1seWMzUkRhR2xzWkN3Z2JtVjNRMmhwYkdRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdVpYZERhR2xzWkNBOVBUMGdKM04wY21sdVp5Y2dmSHdnZEhsd1pXOW1JRzVsZDBOb2FXeGtJRDA5UFNBbmJuVnRZbVZ5SnlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUhCc1lXTmxVMmx1WjJ4bFEyaHBiR1FvY21WamIyNWphV3hsVTJsdVoyeGxWR1Y0ZEU1dlpHVW9jbVYwZFhKdVJtbGlaWElzSUdOMWNuSmxiblJHYVhKemRFTm9hV3hrTENBbkp5QXJJRzVsZDBOb2FXeGtMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hwYzBGeWNtRjVKREVvYm1WM1EyaHBiR1FwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21WamIyNWphV3hsUTJocGJHUnlaVzVCY25KaGVTaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1FzSUc1bGQwTm9hV3hrTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dkbGRFbDBaWEpoZEc5eVJtNG9ibVYzUTJocGJHUXBLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNUpkR1Z5WVhSdmNpaHlaWFIxY201R2FXSmxjaXdnWTNWeWNtVnVkRVpwY25OMFEyaHBiR1FzSUc1bGQwTm9hV3hrTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0dselQySnFaV04wS1NCN1hHNGdJQ0FnSUNCMGFISnZkMDl1U1c1MllXeHBaRTlpYW1WamRGUjVjR1VvY21WMGRYSnVSbWxpWlhJc0lHNWxkME5vYVd4a0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHNWxkME5vYVd4a0lEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNBZ0lIZGhjbTVQYmtaMWJtTjBhVzl1Vkhsd1pTZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdibVYzUTJocGJHUWdQVDA5SUNkMWJtUmxabWx1WldRbklDWW1JQ0ZwYzFWdWEyVjVaV1JVYjNCTVpYWmxiRVp5WVdkdFpXNTBLU0I3WEc0Z0lDQWdJQ0F2THlCSlppQjBhR1VnYm1WM0lHTm9hV3hrSUdseklIVnVaR1ZtYVc1bFpDd2dZVzVrSUhSb1pTQnlaWFIxY200Z1ptbGlaWElnYVhNZ1lTQmpiMjF3YjNOcGRHVmNiaUFnSUNBZ0lDOHZJR052YlhCdmJtVnVkQ3dnZEdoeWIzY2dZVzRnWlhKeWIzSXVJRWxtSUVacFltVnlJSEpsZEhWeWJpQjBlWEJsY3lCaGNtVWdaR2x6WVdKc1pXUXNYRzRnSUNBZ0lDQXZMeUIzWlNCaGJISmxZV1I1SUhSb2NtVjNJR0ZpYjNabExseHVJQ0FnSUNBZ2MzZHBkR05vSUNoeVpYUjFjbTVHYVdKbGNpNTBZV2NwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JEYkdGemMwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUhKbGRIVnlia1pwWW1WeUxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVc1emRHRnVZMlV1Y21WdVpHVnlMbDlwYzAxdlkydEdkVzVqZEdsdmJpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHRnNiRzkzSUdGMWRHOHRiVzlqYTNNZ2RHOGdjSEp2WTJWbFpDQmhjeUJwWmlCMGFHVjVKM0psSUhKbGRIVnlibWx1WnlCdWRXeHNMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQXZMeUJKYm5SbGJuUnBiMjVoYkd4NUlHWmhiR3dnZEdoeWIzVm5hQ0IwYnlCMGFHVWdibVY0ZENCallYTmxMQ0IzYUdsamFDQm9ZVzVrYkdWeklHSnZkR2hjYmlBZ0lDQWdJQ0FnTHk4Z1puVnVZM1JwYjI1eklHRnVaQ0JqYkdGemMyVnpYRzRnSUNBZ0lDQWdJQzh2SUdWemJHbHVkQzFrYVhOaFlteGxMVzVsZUhRdGJHbHVaV1FnYm04dFptRnNiSFJvY205MVoyaGNibHh1SUNBZ0lDQWdJQ0JqWVhObElFWjFibU4wYVc5dVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJEYjIxd2IyNWxiblFnUFNCeVpYUjFjbTVHYVdKbGNpNTBlWEJsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ0tFTnZiWEJ2Ym1WdWRDNWthWE53YkdGNVRtRnRaU0I4ZkNCRGIyMXdiMjVsYm5RdWJtRnRaU0I4ZkNBblEyOXRjRzl1Wlc1MEp5a2dLeUJjSWlndUxpNHBPaUJPYjNSb2FXNW5JSGRoY3lCeVpYUjFjbTVsWkNCbWNtOXRJSEpsYm1SbGNpNGdWR2hwY3lCMWMzVmhiR3g1SUcxbFlXNXpJR0VnY21WMGRYSnVJSE4wWVhSbGJXVnVkQ0JwY3lCdGFYTnphVzVuTGlCUGNpd2dkRzhnY21WdVpHVnlJRzV2ZEdocGJtY3NJSEpsZEhWeWJpQnVkV3hzTGx3aUlDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQXZMeUJTWlcxaGFXNXBibWNnWTJGelpYTWdZWEpsSUdGc2JDQjBjbVZoZEdWa0lHRnpJR1Z0Y0hSNUxseHVYRzVjYmlBZ0lDQnlaWFIxY200Z1pHVnNaWFJsVW1WdFlXbHVhVzVuUTJocGJHUnlaVzRvY21WMGRYSnVSbWxpWlhJc0lHTjFjbkpsYm5SR2FYSnpkRU5vYVd4a0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnlaV052Ym1OcGJHVkRhR2xzWkVacFltVnljenRjYm4xY2JseHVkbUZ5SUhKbFkyOXVZMmxzWlVOb2FXeGtSbWxpWlhKeklEMGdRMmhwYkdSU1pXTnZibU5wYkdWeUtIUnlkV1VwTzF4dWRtRnlJRzF2ZFc1MFEyaHBiR1JHYVdKbGNuTWdQU0JEYUdsc1pGSmxZMjl1WTJsc1pYSW9abUZzYzJVcE8xeHVablZ1WTNScGIyNGdZMnh2Ym1WRGFHbHNaRVpwWW1WeWN5aGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrZ2UxeHVJQ0JwWmlBb0lTaGpkWEp5Wlc1MElEMDlQU0J1ZFd4c0lIeDhJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwOVBTQmpkWEp5Wlc1MExtTm9hV3hrS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbEpsYzNWdGFXNW5JSGR2Y21zZ2JtOTBJSGxsZENCcGJYQnNaVzFsYm5SbFpDNWNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCamRYSnlaVzUwUTJocGJHUWdQU0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkR0Y2JpQWdkbUZ5SUc1bGQwTm9hV3hrSUQwZ1kzSmxZWFJsVjI5eWEwbHVVSEp2WjNKbGMzTW9ZM1Z5Y21WdWRFTm9hV3hrTENCamRYSnlaVzUwUTJocGJHUXVjR1Z1WkdsdVoxQnliM0J6S1R0Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCdVpYZERhR2xzWkR0Y2JpQWdibVYzUTJocGJHUXVjbVYwZFhKdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNWNiaUFnZDJocGJHVWdLR04xY25KbGJuUkRhR2xzWkM1emFXSnNhVzVuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWTNWeWNtVnVkRU5vYVd4a0lEMGdZM1Z5Y21WdWRFTm9hV3hrTG5OcFlteHBibWM3WEc0Z0lDQWdibVYzUTJocGJHUWdQU0J1WlhkRGFHbHNaQzV6YVdKc2FXNW5JRDBnWTNKbFlYUmxWMjl5YTBsdVVISnZaM0psYzNNb1kzVnljbVZ1ZEVOb2FXeGtMQ0JqZFhKeVpXNTBRMmhwYkdRdWNHVnVaR2x1WjFCeWIzQnpLVHRjYmlBZ0lDQnVaWGREYUdsc1pDNXlaWFIxY200Z1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdmVnh1WEc0Z0lHNWxkME5vYVd4a0xuTnBZbXhwYm1jZ1BTQnVkV3hzTzF4dWZTQXZMeUJTWlhObGRDQmhJSGR2Y210SmJsQnliMmR5WlhOeklHTm9hV3hrSUhObGRDQjBieUJ3Y21Wd1lYSmxJR2wwSUdadmNpQmhJSE5sWTI5dVpDQndZWE56TGx4dVhHNW1kVzVqZEdsdmJpQnlaWE5sZEVOb2FXeGtSbWxpWlhKektIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCMllYSWdZMmhwYkdRZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaRHRjYmx4dUlDQjNhR2xzWlNBb1kyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhObGRGZHZjbXRKYmxCeWIyZHlaWE56S0dOb2FXeGtMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnWTJocGJHUWdQU0JqYUdsc1pDNXphV0pzYVc1bk8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCT1QxOURUMDVVUlZoVUlEMGdlMzA3WEc1MllYSWdZMjl1ZEdWNGRGTjBZV05yUTNWeWMyOXlKREVnUFNCamNtVmhkR1ZEZFhKemIzSW9UazlmUTA5T1ZFVllWQ2s3WEc1MllYSWdZMjl1ZEdWNGRFWnBZbVZ5VTNSaFkydERkWEp6YjNJZ1BTQmpjbVZoZEdWRGRYSnpiM0lvVGs5ZlEwOU9WRVZZVkNrN1hHNTJZWElnY205dmRFbHVjM1JoYm1ObFUzUmhZMnREZFhKemIzSWdQU0JqY21WaGRHVkRkWEp6YjNJb1RrOWZRMDlPVkVWWVZDazdYRzVjYm1aMWJtTjBhVzl1SUhKbGNYVnBjbVZrUTI5dWRHVjRkQ2hqS1NCN1hHNGdJR2xtSUNnaEtHTWdJVDA5SUU1UFgwTlBUbFJGV0ZRcEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpUlhod1pXTjBaV1FnYUc5emRDQmpiMjUwWlhoMElIUnZJR1Y0YVhOMExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHTTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRkp2YjNSSWIzTjBRMjl1ZEdGcGJtVnlLQ2tnZTF4dUlDQjJZWElnY205dmRFbHVjM1JoYm1ObElEMGdjbVZ4ZFdseVpXUkRiMjUwWlhoMEtISnZiM1JKYm5OMFlXNWpaVk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFwTzF4dUlDQnlaWFIxY200Z2NtOXZkRWx1YzNSaGJtTmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndkWE5vU0c5emRFTnZiblJoYVc1bGNpaG1hV0psY2l3Z2JtVjRkRkp2YjNSSmJuTjBZVzVqWlNrZ2UxeHVJQ0F2THlCUWRYTm9JR04xY25KbGJuUWdjbTl2ZENCcGJuTjBZVzVqWlNCdmJuUnZJSFJvWlNCemRHRmphenRjYmlBZ0x5OGdWR2hwY3lCaGJHeHZkM01nZFhNZ2RHOGdjbVZ6WlhRZ2NtOXZkQ0IzYUdWdUlIQnZjblJoYkhNZ1lYSmxJSEJ2Y0hCbFpDNWNiaUFnY0hWemFDaHliMjkwU1c1emRHRnVZMlZUZEdGamEwTjFjbk52Y2l3Z2JtVjRkRkp2YjNSSmJuTjBZVzVqWlN3Z1ptbGlaWElwT3lBdkx5QlVjbUZqYXlCMGFHVWdZMjl1ZEdWNGRDQmhibVFnZEdobElFWnBZbVZ5SUhSb1lYUWdjSEp2ZG1sa1pXUWdhWFF1WEc0Z0lDOHZJRlJvYVhNZ1pXNWhZbXhsY3lCMWN5QjBieUJ3YjNBZ2IyNXNlU0JHYVdKbGNuTWdkR2hoZENCd2NtOTJhV1JsSUhWdWFYRjFaU0JqYjI1MFpYaDBjeTVjYmx4dUlDQndkWE5vS0dOdmJuUmxlSFJHYVdKbGNsTjBZV05yUTNWeWMyOXlMQ0JtYVdKbGNpd2dabWxpWlhJcE95QXZMeUJHYVc1aGJHeDVMQ0IzWlNCdVpXVmtJSFJ2SUhCMWMyZ2dkR2hsSUdodmMzUWdZMjl1ZEdWNGRDQjBieUIwYUdVZ2MzUmhZMnN1WEc0Z0lDOHZJRWh2ZDJWMlpYSXNJSGRsSUdOaGJpZDBJR3AxYzNRZ1kyRnNiQ0JuWlhSU2IyOTBTRzl6ZEVOdmJuUmxlSFFvS1NCaGJtUWdjSFZ6YUNCcGRDQmlaV05oZFhObFhHNGdJQzh2SUhkbEoyUWdhR0YyWlNCaElHUnBabVpsY21WdWRDQnVkVzFpWlhJZ2IyWWdaVzUwY21sbGN5QnZiaUIwYUdVZ2MzUmhZMnNnWkdWd1pXNWthVzVuSUc5dVhHNGdJQzh2SUhkb1pYUm9aWElnWjJWMFVtOXZkRWh2YzNSRGIyNTBaWGgwS0NrZ2RHaHliM2R6SUhOdmJXVjNhR1Z5WlNCcGJpQnlaVzVrWlhKbGNpQmpiMlJsSUc5eUlHNXZkQzVjYmlBZ0x5OGdVMjhnZDJVZ2NIVnphQ0JoYmlCbGJYQjBlU0IyWVd4MVpTQm1hWEp6ZEM0Z1ZHaHBjeUJzWlhSeklIVnpJSE5oWm1Wc2VTQjFibmRwYm1RZ2IyNGdaWEp5YjNKekxseHVYRzRnSUhCMWMyZ29ZMjl1ZEdWNGRGTjBZV05yUTNWeWMyOXlKREVzSUU1UFgwTlBUbFJGV0ZRc0lHWnBZbVZ5S1R0Y2JpQWdkbUZ5SUc1bGVIUlNiMjkwUTI5dWRHVjRkQ0E5SUdkbGRGSnZiM1JJYjNOMFEyOXVkR1Y0ZENodVpYaDBVbTl2ZEVsdWMzUmhibU5sS1RzZ0x5OGdUbTkzSUhSb1lYUWdkMlVnYTI1dmR5QjBhR2x6SUdaMWJtTjBhVzl1SUdSdlpYTnVKM1FnZEdoeWIzY3NJSEpsY0d4aFkyVWdhWFF1WEc1Y2JpQWdjRzl3S0dOdmJuUmxlSFJUZEdGamEwTjFjbk52Y2lReExDQm1hV0psY2lrN1hHNGdJSEIxYzJnb1kyOXVkR1Y0ZEZOMFlXTnJRM1Z5YzI5eUpERXNJRzVsZUhSU2IyOTBRMjl1ZEdWNGRDd2dabWxpWlhJcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2IzQkliM04wUTI5dWRHRnBibVZ5S0dacFltVnlLU0I3WEc0Z0lIQnZjQ2hqYjI1MFpYaDBVM1JoWTJ0RGRYSnpiM0lrTVN3Z1ptbGlaWElwTzF4dUlDQndiM0FvWTI5dWRHVjRkRVpwWW1WeVUzUmhZMnREZFhKemIzSXNJR1pwWW1WeUtUdGNiaUFnY0c5d0tISnZiM1JKYm5OMFlXNWpaVk4wWVdOclEzVnljMjl5TENCbWFXSmxjaWs3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUkRiMjUwWlhoMEtDa2dlMXh1SUNCMllYSWdZMjl1ZEdWNGRDQTlJSEpsY1hWcGNtVmtRMjl1ZEdWNGRDaGpiMjUwWlhoMFUzUmhZMnREZFhKemIzSWtNUzVqZFhKeVpXNTBLVHRjYmlBZ2NtVjBkWEp1SUdOdmJuUmxlSFE3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEIxYzJoSWIzTjBRMjl1ZEdWNGRDaG1hV0psY2lrZ2UxeHVJQ0IyWVhJZ2NtOXZkRWx1YzNSaGJtTmxJRDBnY21WeGRXbHlaV1JEYjI1MFpYaDBLSEp2YjNSSmJuTjBZVzVqWlZOMFlXTnJRM1Z5YzI5eUxtTjFjbkpsYm5RcE8xeHVJQ0IyWVhJZ1kyOXVkR1Y0ZENBOUlISmxjWFZwY21Wa1EyOXVkR1Y0ZENoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJa01TNWpkWEp5Wlc1MEtUdGNiaUFnZG1GeUlHNWxlSFJEYjI1MFpYaDBJRDBnWjJWMFEyaHBiR1JJYjNOMFEyOXVkR1Y0ZENoamIyNTBaWGgwTENCbWFXSmxjaTUwZVhCbEtUc2dMeThnUkc5dUozUWdjSFZ6YUNCMGFHbHpJRVpwWW1WeUozTWdZMjl1ZEdWNGRDQjFibXhsYzNNZ2FYUW5jeUIxYm1seGRXVXVYRzVjYmlBZ2FXWWdLR052Ym5SbGVIUWdQVDA5SUc1bGVIUkRiMjUwWlhoMEtTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlJQzh2SUZSeVlXTnJJSFJvWlNCamIyNTBaWGgwSUdGdVpDQjBhR1VnUm1saVpYSWdkR2hoZENCd2NtOTJhV1JsWkNCcGRDNWNiaUFnTHk4Z1ZHaHBjeUJsYm1GaWJHVnpJSFZ6SUhSdklIQnZjQ0J2Ym14NUlFWnBZbVZ5Y3lCMGFHRjBJSEJ5YjNacFpHVWdkVzVwY1hWbElHTnZiblJsZUhSekxseHVYRzVjYmlBZ2NIVnphQ2hqYjI1MFpYaDBSbWxpWlhKVGRHRmphME4xY25OdmNpd2dabWxpWlhJc0lHWnBZbVZ5S1R0Y2JpQWdjSFZ6YUNoamIyNTBaWGgwVTNSaFkydERkWEp6YjNJa01Td2dibVY0ZEVOdmJuUmxlSFFzSUdacFltVnlLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjRzl3U0c5emRFTnZiblJsZUhRb1ptbGlaWElwSUh0Y2JpQWdMeThnUkc4Z2JtOTBJSEJ2Y0NCMWJteGxjM01nZEdocGN5QkdhV0psY2lCd2NtOTJhV1JsWkNCMGFHVWdZM1Z5Y21WdWRDQmpiMjUwWlhoMExseHVJQ0F2THlCd2RYTm9TRzl6ZEVOdmJuUmxlSFFvS1NCdmJteDVJSEIxYzJobGN5QkdhV0psY25NZ2RHaGhkQ0J3Y205MmFXUmxJSFZ1YVhGMVpTQmpiMjUwWlhoMGN5NWNiaUFnYVdZZ0tHTnZiblJsZUhSR2FXSmxjbE4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFnSVQwOUlHWnBZbVZ5S1NCN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnY0c5d0tHTnZiblJsZUhSVGRHRmphME4xY25OdmNpUXhMQ0JtYVdKbGNpazdYRzRnSUhCdmNDaGpiMjUwWlhoMFJtbGlaWEpUZEdGamEwTjFjbk52Y2l3Z1ptbGlaWElwTzF4dWZWeHVYRzUyWVhJZ1JHVm1ZWFZzZEZOMWMzQmxibk5sUTI5dWRHVjRkQ0E5SURBN0lDOHZJRlJvWlNCVGRYTndaVzV6WlNCRGIyNTBaWGgwSUdseklITndiR2wwSUdsdWRHOGdkSGR2SUhCaGNuUnpMaUJVYUdVZ2JHOTNaWElnWW1sMGN5QnBjMXh1THk4Z2FXNW9aWEpwZEdWa0lHUmxaWEJzZVNCa2IzZHVJSFJvWlNCemRXSjBjbVZsTGlCVWFHVWdkWEJ3WlhJZ1ltbDBjeUJ2Ym14NUlHRm1abVZqZEZ4dUx5OGdkR2hwY3lCcGJXMWxaR2xoZEdVZ2MzVnpjR1Z1YzJVZ1ltOTFibVJoY25rZ1lXNWtJR2RsZEhNZ2NtVnpaWFFnWldGamFDQnVaWGRjYmk4dklHSnZkVzVrWVhKNUlHOXlJSE4xYzNCbGJuTmxJR3hwYzNRdVhHNWNiblpoY2lCVGRXSjBjbVZsVTNWemNHVnVjMlZEYjI1MFpYaDBUV0Z6YXlBOUlERTdJQzh2SUZOMVluUnlaV1VnUm14aFozTTZYRzR2THlCSmJuWnBjMmxpYkdWUVlYSmxiblJUZFhOd1pXNXpaVU52Ym5SbGVIUWdhVzVrYVdOaGRHVnpJSFJvWVhRZ2IyNWxJRzltSUc5MWNpQndZWEpsYm5RZ1UzVnpjR1Z1YzJWY2JpOHZJR0p2ZFc1a1lYSnBaWE1nYVhNZ2JtOTBJR04xY25KbGJuUnNlU0J6YUc5M2FXNW5JSFpwYzJsaWJHVWdiV0ZwYmlCamIyNTBaVzUwTGx4dUx5OGdSV2wwYUdWeUlHSmxZMkYxYzJVZ2FYUWdhWE1nWVd4eVpXRmtlU0J6YUc5M2FXNW5JR0VnWm1Gc2JHSmhZMnNnYjNJZ2FYTWdibTkwSUcxdmRXNTBaV1FnWVhRZ1lXeHNMbHh1THk4Z1YyVWdZMkZ1SUhWelpTQjBhR2x6SUhSdklHUmxkR1Z5YldsdVpTQnBaaUJwZENCcGN5QmtaWE5wY21GaWJHVWdkRzhnZEhKcFoyZGxjaUJoSUdaaGJHeGlZV05ySUdGMFhHNHZMeUIwYUdVZ2NHRnlaVzUwTGlCSlppQnViM1FzSUhSb1pXNGdkMlVnYldsbmFIUWdibVZsWkNCMGJ5QjBjbWxuWjJWeUlIVnVaR1Z6YVhKaFlteGxJR0p2ZFc1a1lYSnBaWE5jYmk4dklHRnVaQzl2Y2lCemRYTndaVzVrSUhSb1pTQmpiMjF0YVhRZ2RHOGdZWFp2YVdRZ2FHbGthVzVuSUhSb1pTQndZWEpsYm5RZ1kyOXVkR1Z1ZEM1Y2JseHVkbUZ5SUVsdWRtbHphV0pzWlZCaGNtVnVkRk4xYzNCbGJuTmxRMjl1ZEdWNGRDQTlJREU3SUM4dklGTm9ZV3hzYjNjZ1JteGhaM002WEc0dkx5QkdiM0pqWlZOMWMzQmxibk5sUm1Gc2JHSmhZMnNnWTJGdUlHSmxJSFZ6WldRZ1lua2dVM1Z6Y0dWdWMyVk1hWE4wSUhSdklHWnZjbU5sSUc1bGQyeDVJR0ZrWkdWa1hHNHZMeUJwZEdWdGN5QnBiblJ2SUhSb1pXbHlJR1poYkd4aVlXTnJJSE4wWVhSbElHUjFjbWx1WnlCdmJtVWdiMllnZEdobElISmxibVJsY2lCd1lYTnpaWE11WEc1Y2JuWmhjaUJHYjNKalpWTjFjM0JsYm5ObFJtRnNiR0poWTJzZ1BTQXlPMXh1ZG1GeUlITjFjM0JsYm5ObFUzUmhZMnREZFhKemIzSWdQU0JqY21WaGRHVkRkWEp6YjNJb1JHVm1ZWFZzZEZOMWMzQmxibk5sUTI5dWRHVjRkQ2s3WEc1bWRXNWpkR2x2YmlCb1lYTlRkWE53Wlc1elpVTnZiblJsZUhRb2NHRnlaVzUwUTI5dWRHVjRkQ3dnWm14aFp5a2dlMXh1SUNCeVpYUjFjbTRnS0hCaGNtVnVkRU52Ym5SbGVIUWdKaUJtYkdGbktTQWhQVDBnTUR0Y2JuMWNibVoxYm1OMGFXOXVJSE5sZEVSbFptRjFiSFJUYUdGc2JHOTNVM1Z6Y0dWdWMyVkRiMjUwWlhoMEtIQmhjbVZ1ZEVOdmJuUmxlSFFwSUh0Y2JpQWdjbVYwZFhKdUlIQmhjbVZ1ZEVOdmJuUmxlSFFnSmlCVGRXSjBjbVZsVTNWemNHVnVjMlZEYjI1MFpYaDBUV0Z6YXp0Y2JuMWNibVoxYm1OMGFXOXVJSE5sZEZOb1lXeHNiM2RUZFhOd1pXNXpaVU52Ym5SbGVIUW9jR0Z5Wlc1MFEyOXVkR1Y0ZEN3Z2MyaGhiR3h2ZDBOdmJuUmxlSFFwSUh0Y2JpQWdjbVYwZFhKdUlIQmhjbVZ1ZEVOdmJuUmxlSFFnSmlCVGRXSjBjbVZsVTNWemNHVnVjMlZEYjI1MFpYaDBUV0Z6YXlCOElITm9ZV3hzYjNkRGIyNTBaWGgwTzF4dWZWeHVablZ1WTNScGIyNGdZV1JrVTNWaWRISmxaVk4xYzNCbGJuTmxRMjl1ZEdWNGRDaHdZWEpsYm5SRGIyNTBaWGgwTENCemRXSjBjbVZsUTI5dWRHVjRkQ2tnZTF4dUlDQnlaWFIxY200Z2NHRnlaVzUwUTI5dWRHVjRkQ0I4SUhOMVluUnlaV1ZEYjI1MFpYaDBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2NIVnphRk4xYzNCbGJuTmxRMjl1ZEdWNGRDaG1hV0psY2l3Z2JtVjNRMjl1ZEdWNGRDa2dlMXh1SUNCd2RYTm9LSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0lzSUc1bGQwTnZiblJsZUhRc0lHWnBZbVZ5S1R0Y2JuMWNibVoxYm1OMGFXOXVJSEJ2Y0ZOMWMzQmxibk5sUTI5dWRHVjRkQ2htYVdKbGNpa2dlMXh1SUNCd2IzQW9jM1Z6Y0dWdWMyVlRkR0ZqYTBOMWNuTnZjaXdnWm1saVpYSXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnphRzkxYkdSRFlYQjBkWEpsVTNWemNHVnVjMlVvZDI5eWEwbHVVSEp2WjNKbGMzTXNJR2hoYzBsdWRtbHphV0pzWlZCaGNtVnVkQ2tnZTF4dUlDQXZMeUJKWmlCcGRDQjNZWE1nZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0Z2RHaGhkQ0JxZFhOMElITjFjM0JsYm1SbFpDd2dZMkZ3ZEhWeVpTQmhibVFnY21WdVpHVnlJSFJvWlZ4dUlDQXZMeUJtWVd4c1ltRmpheTRnVDNSb1pYSjNhWE5sTENCa2IyNG5kQ0JqWVhCMGRYSmxJR0Z1WkNCaWRXSmliR1VnZEc4Z2RHaGxJRzVsZUhRZ1ltOTFibVJoY25rdVhHNGdJSFpoY2lCdVpYaDBVM1JoZEdVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2h1WlhoMFUzUmhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb2JtVjRkRk4wWVhSbExtUmxhSGxrY21GMFpXUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUVFZ1pHVm9lV1J5WVhSbFpDQmliM1Z1WkdGeWVTQmhiSGRoZVhNZ1kyRndkSFZ5WlhNdVhHNGdJQ0FnSUNCeVpYUjFjbTRnZEhKMVpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NISnZjSE1nUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRkJ5YjNCek95QXZMeUJKYmlCdmNtUmxjaUIwYnlCallYQjBkWEpsTENCMGFHVWdVM1Z6Y0dWdWMyVWdZMjl0Y0c5dVpXNTBJRzExYzNRZ2FHRjJaU0JoSUdaaGJHeGlZV05ySUhCeWIzQXVYRzVjYmlBZ2FXWWdLSEJ5YjNCekxtWmhiR3hpWVdOcklEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDBnTHk4Z1VtVm5kV3hoY2lCaWIzVnVaR0Z5YVdWeklHRnNkMkY1Y3lCallYQjBkWEpsTGx4dVhHNWNiaUFnYVdZZ0tIQnliM0J6TG5WdWMzUmhZbXhsWDJGMmIybGtWR2hwYzBaaGJHeGlZV05ySUNFOVBTQjBjblZsS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJ5ZFdVN1hHNGdJSDBnTHk4Z1NXWWdhWFFuY3lCaElHSnZkVzVrWVhKNUlIZGxJSE5vYjNWc1pDQmhkbTlwWkN3Z2RHaGxiaUIzWlNCd2NtVm1aWElnZEc4Z1luVmlZbXhsSUhWd0lIUnZJSFJvWlZ4dUlDQXZMeUJ3WVhKbGJuUWdZbTkxYm1SaGNua2dhV1lnYVhRZ2FYTWdZM1Z5Y21WdWRHeDVJR2x1ZG1semFXSnNaUzVjYmx4dVhHNGdJR2xtSUNob1lYTkpiblpwYzJsaWJHVlFZWEpsYm5RcElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ0x5OGdTV1lnZEdobElIQmhjbVZ1ZENCcGN5QnViM1FnWVdKc1pTQjBieUJvWVc1a2JHVWdhWFFzSUhkbElHMTFjM1FnYUdGdVpHeGxJR2wwTGx4dVhHNWNiaUFnY21WMGRYSnVJSFJ5ZFdVN1hHNTlYRzVtZFc1amRHbHZiaUJtYVc1a1JtbHljM1JUZFhOd1pXNWtaV1FvY205M0tTQjdYRzRnSUhaaGNpQnViMlJsSUQwZ2NtOTNPMXh1WEc0Z0lIZG9hV3hsSUNodWIyUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQlRkWE53Wlc1elpVTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhOMFlYUmxJRDBnYm05a1pTNXRaVzF2YVhwbFpGTjBZWFJsTzF4dVhHNGdJQ0FnSUNCcFppQW9jM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdSbGFIbGtjbUYwWldRZ1BTQnpkR0YwWlM1a1pXaDVaSEpoZEdWa08xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoa1pXaDVaSEpoZEdWa0lEMDlQU0J1ZFd4c0lIeDhJR2x6VTNWemNHVnVjMlZKYm5OMFlXNWpaVkJsYm1ScGJtY29aR1ZvZVdSeVlYUmxaQ2tnZkh3Z2FYTlRkWE53Wlc1elpVbHVjM1JoYm1ObFJtRnNiR0poWTJzb1pHVm9lV1J5WVhSbFpDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm05a1pUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9ibTlrWlM1MFlXY2dQVDA5SUZOMWMzQmxibk5sVEdsemRFTnZiWEJ2Ym1WdWRDQW1KaUF2THlCeVpYWmxZV3hQY21SbGNpQjFibVJsWm1sdVpXUWdZMkZ1SjNRZ1ltVWdkSEoxYzNSbFpDQmlaV05oZFhObElHbDBJR1J2YmlkMFhHNGdJQ0FnTHk4Z2EyVmxjQ0IwY21GamF5QnZaaUIzYUdWMGFHVnlJR2wwSUhOMWMzQmxibVJsWkNCdmNpQnViM1F1WEc0Z0lDQWdibTlrWlM1dFpXMXZhWHBsWkZCeWIzQnpMbkpsZG1WaGJFOXlaR1Z5SUNFOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSFpoY2lCa2FXUlRkWE53Wlc1a0lEMGdLRzV2WkdVdVpXWm1aV04wVkdGbklDWWdSR2xrUTJGd2RIVnlaU2tnSVQwOUlFNXZSV1ptWldOME8xeHVYRzRnSUNBZ0lDQnBaaUFvWkdsa1UzVnpjR1Z1WkNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JtOWtaVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzV2WkdVdVkyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUc1dlpHVXVZMmhwYkdRdWNtVjBkWEp1SUQwZ2JtOWtaVHRjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG1Ob2FXeGtPMXh1SUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzV2WkdVZ1BUMDlJSEp2ZHlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2QyaHBiR1VnS0c1dlpHVXVjMmxpYkdsdVp5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0c1dlpHVXVjbVYwZFhKdUlEMDlQU0J1ZFd4c0lIeDhJRzV2WkdVdWNtVjBkWEp1SUQwOVBTQnliM2NwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnViMlJsTG5OcFlteHBibWN1Y21WMGRYSnVJRDBnYm05a1pTNXlaWFIxY200N1hHNGdJQ0FnYm05a1pTQTlJRzV2WkdVdWMybGliR2x1Wnp0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRVpYQnlaV05oZEdWa1VtVnpjRzl1WkdWeVRHbHpkR1Z1WlhJb2NtVnpjRzl1WkdWeUxDQndjbTl3Y3lrZ2UxeHVJQ0IyWVhJZ1pYWmxiblJTWlhOd2IyNWtaWEpNYVhOMFpXNWxjaUE5SUh0Y2JpQWdJQ0J5WlhOd2IyNWtaWEk2SUhKbGMzQnZibVJsY2l4Y2JpQWdJQ0J3Y205d2N6b2djSEp2Y0hOY2JpQWdmVHRjYmx4dUlDQjdYRzRnSUNBZ1QySnFaV04wTG1aeVpXVjZaU2hsZG1WdWRGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxkbVZ1ZEZKbGMzQnZibVJsY2t4cGMzUmxibVZ5TzF4dWZWeHVYRzUyWVhJZ1NHRnpSV1ptWldOMElEMWNiaThxSUNvdlhHNHhPeUF2THlCU1pYQnlaWE5sYm5SeklIUm9aU0J3YUdGelpTQnBiaUIzYUdsamFDQjBhR1VnWldabVpXTjBJQ2h1YjNRZ2RHaGxJR05zWldGdUxYVndLU0JtYVhKbGN5NWNibHh1ZG1GeUlFeGhlVzkxZENBOVhHNHZLaUFnSUNBcUwxeHVNanRjYm5aaGNpQlFZWE56YVhabEpERWdQVnh1THlvZ0lDQXFMMXh1TkR0Y2JseHVkbUZ5SUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSWdQU0JTWldGamRGTm9ZWEpsWkVsdWRHVnlibUZzY3k1U1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMRnh1SUNBZ0lGSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuSkRFZ1BTQlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVTWldGamRFTjFjbkpsYm5SQ1lYUmphRU52Ym1acFp6dGNiblpoY2lCa2FXUlhZWEp1UVdKdmRYUk5hWE50WVhSamFHVmtTRzl2YTNOR2IzSkRiMjF3YjI1bGJuUTdYRzVjYm50Y2JpQWdaR2xrVjJGeWJrRmliM1YwVFdsemJXRjBZMmhsWkVodmIydHpSbTl5UTI5dGNHOXVaVzUwSUQwZ2JtVjNJRk5sZENncE8xeHVmVnh1WEc0dkx5QlVhR1Z6WlNCaGNtVWdjMlYwSUhKcFoyaDBJR0psWm05eVpTQmpZV3hzYVc1bklIUm9aU0JqYjIxd2IyNWxiblF1WEc1MllYSWdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3SUM4dklGUm9aU0IzYjNKckxXbHVMWEJ5YjJkeVpYTnpJR1pwWW1WeUxpQkpKM1psSUc1aGJXVmtJR2wwSUdScFptWmxjbVZ1ZEd4NUlIUnZJR1JwYzNScGJtZDFhWE5vSUdsMElHWnliMjFjYmk4dklIUm9aU0IzYjNKckxXbHVMWEJ5YjJkeVpYTnpJR2h2YjJzdVhHNWNiblpoY2lCamRYSnlaVzUwYkhsU1pXNWtaWEpwYm1kR2FXSmxjaVF4SUQwZ2JuVnNiRHNnTHk4Z1NHOXZhM01nWVhKbElITjBiM0psWkNCaGN5QmhJR3hwYm10bFpDQnNhWE4wSUc5dUlIUm9aU0JtYVdKbGNpZHpJRzFsYlc5cGVtVmtVM1JoZEdVZ1ptbGxiR1F1SUZSb1pWeHVMeThnWTNWeWNtVnVkQ0JvYjI5cklHeHBjM1FnYVhNZ2RHaGxJR3hwYzNRZ2RHaGhkQ0JpWld4dmJtZHpJSFJ2SUhSb1pTQmpkWEp5Wlc1MElHWnBZbVZ5TGlCVWFHVmNiaTh2SUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nYUc5dmF5QnNhWE4wSUdseklHRWdibVYzSUd4cGMzUWdkR2hoZENCM2FXeHNJR0psSUdGa1pHVmtJSFJ2SUhSb1pWeHVMeThnZDI5eWF5MXBiaTF3Y205bmNtVnpjeUJtYVdKbGNpNWNibHh1ZG1GeUlHTjFjbkpsYm5SSWIyOXJJRDBnYm5Wc2JEdGNiblpoY2lCM2IzSnJTVzVRY205bmNtVnpjMGh2YjJzZ1BTQnVkV3hzT3lBdkx5QlhhR1YwYUdWeUlHRnVJSFZ3WkdGMFpTQjNZWE1nYzJOb1pXUjFiR1ZrSUdGMElHRnVlU0J3YjJsdWRDQmtkWEpwYm1jZ2RHaGxJSEpsYm1SbGNpQndhR0Z6WlM0Z1ZHaHBjMXh1THk4Z1pHOWxjeUJ1YjNRZ1oyVjBJSEpsYzJWMElHbG1JSGRsSUdSdklHRnViM1JvWlhJZ2NtVnVaR1Z5SUhCaGMzTTdJRzl1YkhrZ2QyaGxiaUIzWlNkeVpTQmpiMjF3YkdWMFpXeDVYRzR2THlCbWFXNXBjMmhsWkNCbGRtRnNkV0YwYVc1bklIUm9hWE1nWTI5dGNHOXVaVzUwTGlCVWFHbHpJR2x6SUdGdUlHOXdkR2x0YVhwaGRHbHZiaUJ6YnlCM1pTQnJibTkzWEc0dkx5QjNhR1YwYUdWeUlIZGxJRzVsWldRZ2RHOGdZMnhsWVhJZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpYTWdZV1owWlhJZ1lTQjBhSEp2ZHk1Y2JseHVkbUZ5SUdScFpGTmphR1ZrZFd4bFVtVnVaR1Z5VUdoaGMyVlZjR1JoZEdVZ1BTQm1ZV3h6WlR0Y2JuWmhjaUJTUlY5U1JVNUVSVkpmVEVsTlNWUWdQU0F5TlRzZ0x5OGdTVzRnUkVWV0xDQjBhR2x6SUdseklIUm9aU0J1WVcxbElHOW1JSFJvWlNCamRYSnlaVzUwYkhrZ1pYaGxZM1YwYVc1bklIQnlhVzFwZEdsMlpTQm9iMjlyWEc1Y2JuWmhjaUJqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlHNTFiR3c3SUM4dklFbHVJRVJGVml3Z2RHaHBjeUJzYVhOMElHVnVjM1Z5WlhNZ2RHaGhkQ0JvYjI5cmN5QmhjbVVnWTJGc2JHVmtJR2x1SUhSb1pTQnpZVzFsSUc5eVpHVnlJR0psZEhkbFpXNGdjbVZ1WkdWeWN5NWNiaTh2SUZSb1pTQnNhWE4wSUhOMGIzSmxjeUIwYUdVZ2IzSmtaWElnYjJZZ2FHOXZhM01nZFhObFpDQmtkWEpwYm1jZ2RHaGxJR2x1YVhScFlXd2djbVZ1WkdWeUlDaHRiM1Z1ZENrdVhHNHZMeUJUZFdKelpYRjFaVzUwSUhKbGJtUmxjbk1nS0hWd1pHRjBaWE1wSUhKbFptVnlaVzVqWlNCMGFHbHpJR3hwYzNRdVhHNWNiblpoY2lCb2IyOXJWSGx3WlhORVpYWWdQU0J1ZFd4c08xeHVkbUZ5SUdodmIydFVlWEJsYzFWd1pHRjBaVWx1WkdWNFJHVjJJRDBnTFRFN0lDOHZJRWx1SUVSRlZpd2dkR2hwY3lCMGNtRmphM01nZDJobGRHaGxjaUJqZFhKeVpXNTBiSGtnY21WdVpHVnlhVzVuSUdOdmJYQnZibVZ1ZENCdVpXVmtjeUIwYnlCcFoyNXZjbVZjYmk4dklIUm9aU0JrWlhCbGJtUmxibU5wWlhNZ1ptOXlJRWh2YjJ0eklIUm9ZWFFnYm1WbFpDQjBhR1Z0SUNobExtY3VJSFZ6WlVWbVptVmpkQ0J2Y2lCMWMyVk5aVzF2S1M1Y2JpOHZJRmRvWlc0Z2RISjFaU3dnYzNWamFDQkliMjlyY3lCM2FXeHNJR0ZzZDJGNWN5QmlaU0JjSW5KbGJXOTFiblJsWkZ3aUxpQlBibXg1SUhWelpXUWdaSFZ5YVc1bklHaHZkQ0J5Wld4dllXUXVYRzVjYm5aaGNpQnBaMjV2Y21WUWNtVjJhVzkxYzBSbGNHVnVaR1Z1WTJsbGN5QTlJR1poYkhObE8xeHVYRzVtZFc1amRHbHZiaUJ0YjNWdWRFaHZiMnRVZVhCbGMwUmxkaWdwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJvYjI5clRtRnRaU0E5SUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMk8xeHVYRzRnSUNBZ2FXWWdLR2h2YjJ0VWVYQmxjMFJsZGlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FHOXZhMVI1Y0dWelJHVjJJRDBnVzJodmIydE9ZVzFsWFR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdhRzl2YTFSNWNHVnpSR1YyTG5CMWMyZ29hRzl2YTA1aGJXVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1NCN1hHNGdJSHRjYmlBZ0lDQjJZWElnYUc5dmEwNWhiV1VnUFNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRqdGNibHh1SUNBZ0lHbG1JQ2hvYjI5clZIbHdaWE5FWlhZZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHaHZiMnRVZVhCbGMxVndaR0YwWlVsdVpHVjRSR1YyS3lzN1hHNWNiaUFnSUNBZ0lHbG1JQ2hvYjI5clZIbHdaWE5FWlhaYmFHOXZhMVI1Y0dWelZYQmtZWFJsU1c1a1pYaEVaWFpkSUNFOVBTQm9iMjlyVG1GdFpTa2dlMXh1SUNBZ0lDQWdJQ0IzWVhKdVQyNUliMjlyVFdsemJXRjBZMmhKYmtSbGRpaG9iMjlyVG1GdFpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR05vWldOclJHVndjMEZ5WlVGeWNtRjVSR1YyS0dSbGNITXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaGtaWEJ6SUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnWkdWd2N5QWhQVDBnYm5Wc2JDQW1KaUFoUVhKeVlYa3VhWE5CY25KaGVTaGtaWEJ6S1NrZ2UxeHVJQ0FnSUNBZ0x5OGdWbVZ5YVdaNUlHUmxjSE1zSUdKMWRDQnZibXg1SUc5dUlHMXZkVzUwSUhSdklHRjJiMmxrSUdWNGRISmhJR05vWldOcmN5NWNiaUFnSUNBZ0lDOHZJRWwwSjNNZ2RXNXNhV3RsYkhrZ2RHaGxhWElnZEhsd1pTQjNiM1ZzWkNCamFHRnVaMlVnWVhNZ2RYTjFZV3hzZVNCNWIzVWdaR1ZtYVc1bElIUm9aVzBnYVc1c2FXNWxMbHh1SUNBZ0lDQWdaWEp5YjNJb0p5VnpJSEpsWTJWcGRtVmtJR0VnWm1sdVlXd2dZWEpuZFcxbGJuUWdkR2hoZENCcGN5QnViM1FnWVc0Z1lYSnlZWGtnS0dsdWMzUmxZV1FzSUhKbFkyVnBkbVZrSUdBbGMyQXBMaUJYYUdWdUlDY2dLeUFuYzNCbFkybG1hV1ZrTENCMGFHVWdabWx1WVd3Z1lYSm5kVzFsYm5RZ2JYVnpkQ0JpWlNCaGJpQmhjbkpoZVM0bkxDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaXdnZEhsd1pXOW1JR1JsY0hNcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjNZWEp1VDI1SWIyOXJUV2x6YldGMFkyaEpia1JsZGloamRYSnlaVzUwU0c5dmEwNWhiV1VwSUh0Y2JpQWdlMXh1SUNBZ0lIWmhjaUJqYjIxd2IyNWxiblJPWVcxbElEMGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaGpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReExuUjVjR1VwTzF4dVhHNGdJQ0FnYVdZZ0tDRmthV1JYWVhKdVFXSnZkWFJOYVhOdFlYUmphR1ZrU0c5dmEzTkdiM0pEYjIxd2IyNWxiblF1YUdGektHTnZiWEJ2Ym1WdWRFNWhiV1VwS1NCN1hHNGdJQ0FnSUNCa2FXUlhZWEp1UVdKdmRYUk5hWE50WVhSamFHVmtTRzl2YTNOR2IzSkRiMjF3YjI1bGJuUXVZV1JrS0dOdmJYQnZibVZ1ZEU1aGJXVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb2FHOXZhMVI1Y0dWelJHVjJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQjBZV0pzWlNBOUlDY25PMXh1SUNBZ0lDQWdJQ0IyWVhJZ2MyVmpiMjVrUTI5c2RXMXVVM1JoY25RZ1BTQXpNRHRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOFBTQm9iMjlyVkhsd1pYTlZjR1JoZEdWSmJtUmxlRVJsZGpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRzlzWkVodmIydE9ZVzFsSUQwZ2FHOXZhMVI1Y0dWelJHVjJXMmxkTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ1WlhkSWIyOXJUbUZ0WlNBOUlHa2dQVDA5SUdodmIydFVlWEJsYzFWd1pHRjBaVWx1WkdWNFJHVjJJRDhnWTNWeWNtVnVkRWh2YjJ0T1lXMWxJRG9nYjJ4a1NHOXZhMDVoYldVN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhKdmR5QTlJR2tnS3lBeElDc2dYQ0l1SUZ3aUlDc2diMnhrU0c5dmEwNWhiV1U3SUM4dklFVjRkSEpoSUhOd1lXTmxJSE52SUhObFkyOXVaQ0JqYjJ4MWJXNGdiR2x1WlhNZ2RYQmNiaUFnSUNBZ0lDQWdJQ0F2THlCc2Iyd2dRQ0JKUlNCdWIzUWdjM1Z3Y0c5eWRHbHVaeUJUZEhKcGJtY2pjbVZ3WldGMFhHNWNiaUFnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9jbTkzTG14bGJtZDBhQ0E4SUhObFkyOXVaRU52YkhWdGJsTjBZWEowS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5YjNjZ0t6MGdKeUFuTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUhKdmR5QXJQU0J1WlhkSWIyOXJUbUZ0WlNBcklDZGNYRzRuTzF4dUlDQWdJQ0FnSUNBZ0lIUmhZbXhsSUNzOUlISnZkenRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHVnljbTl5S0NkU1pXRmpkQ0JvWVhNZ1pHVjBaV04wWldRZ1lTQmphR0Z1WjJVZ2FXNGdkR2hsSUc5eVpHVnlJRzltSUVodmIydHpJR05oYkd4bFpDQmllU0FsY3k0Z0p5QXJJQ2RVYUdseklIZHBiR3dnYkdWaFpDQjBieUJpZFdkeklHRnVaQ0JsY25KdmNuTWdhV1lnYm05MElHWnBlR1ZrTGlBbklDc2dKMFp2Y2lCdGIzSmxJR2x1Wm05eWJXRjBhVzl1TENCeVpXRmtJSFJvWlNCU2RXeGxjeUJ2WmlCSWIyOXJjem9nYUhSMGNITTZMeTltWWk1dFpTOXlkV3hsY3kxdlppMW9iMjlyYzF4Y2JseGNiaWNnS3lBbklDQWdVSEpsZG1sdmRYTWdjbVZ1WkdWeUlDQWdJQ0FnSUNBZ0lDQWdUbVY0ZENCeVpXNWtaWEpjWEc0bklDc2dKeUFnSUMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFZ4Y2JpY2dLeUFuSlhNbklDc2dKeUFnSUY1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGw1ZVhsNWVYbDVlWGx4Y2JpY3NJR052YlhCdmJtVnVkRTVoYldVc0lIUmhZbXhsS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RHaHliM2RKYm5aaGJHbGtTRzl2YTBWeWNtOXlLQ2tnZTF4dUlDQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpU1c1MllXeHBaQ0JvYjI5cklHTmhiR3d1SUVodmIydHpJR05oYmlCdmJteDVJR0psSUdOaGJHeGxaQ0JwYm5OcFpHVWdiMllnZEdobElHSnZaSGtnYjJZZ1lTQm1kVzVqZEdsdmJpQmpiMjF3YjI1bGJuUXVJRlJvYVhNZ1kyOTFiR1FnYUdGd2NHVnVJR1p2Y2lCdmJtVWdiMllnZEdobElHWnZiR3h2ZDJsdVp5QnlaV0Z6YjI1ek9seGNiakV1SUZsdmRTQnRhV2RvZENCb1lYWmxJRzFwYzIxaGRHTm9hVzVuSUhabGNuTnBiMjV6SUc5bUlGSmxZV04wSUdGdVpDQjBhR1VnY21WdVpHVnlaWElnS0hOMVkyZ2dZWE1nVW1WaFkzUWdSRTlOS1Z4Y2JqSXVJRmx2ZFNCdGFXZG9kQ0JpWlNCaWNtVmhhMmx1WnlCMGFHVWdVblZzWlhNZ2IyWWdTRzl2YTNOY1hHNHpMaUJaYjNVZ2JXbG5hSFFnYUdGMlpTQnRiM0psSUhSb1lXNGdiMjVsSUdOdmNIa2diMllnVW1WaFkzUWdhVzRnZEdobElITmhiV1VnWVhCd1hGeHVVMlZsSUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGFXNTJZV3hwWkMxb2IyOXJMV05oYkd3Z1ptOXlJSFJwY0hNZ1lXSnZkWFFnYUc5M0lIUnZJR1JsWW5WbklHRnVaQ0JtYVhnZ2RHaHBjeUJ3Y205aWJHVnRMbHdpSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRnlaVWh2YjJ0SmJuQjFkSE5GY1hWaGJDaHVaWGgwUkdWd2N5d2djSEpsZGtSbGNITXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaHBaMjV2Y21WUWNtVjJhVzkxYzBSbGNHVnVaR1Z1WTJsbGN5a2dlMXh1SUNBZ0lDQWdMeThnVDI1c2VTQjBjblZsSUhkb1pXNGdkR2hwY3lCamIyMXdiMjVsYm5RZ2FYTWdZbVZwYm1jZ2FHOTBJSEpsYkc5aFpHVmtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaHdjbVYyUkdWd2N5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lHVnljbTl5S0NjbGN5QnlaV05sYVhabFpDQmhJR1pwYm1Gc0lHRnlaM1Z0Wlc1MElHUjFjbWx1WnlCMGFHbHpJSEpsYm1SbGNpd2dZblYwSUc1dmRDQmtkWEpwYm1jZ0p5QXJJQ2QwYUdVZ2NISmxkbWx2ZFhNZ2NtVnVaR1Z5TGlCRmRtVnVJSFJvYjNWbmFDQjBhR1VnWm1sdVlXd2dZWEpuZFcxbGJuUWdhWE1nYjNCMGFXOXVZV3dzSUNjZ0t5QW5hWFJ6SUhSNWNHVWdZMkZ1Ym05MElHTm9ZVzVuWlNCaVpYUjNaV1Z1SUhKbGJtUmxjbk11Snl3Z1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0F2THlCRWIyNG5kQ0JpYjNSb1pYSWdZMjl0Y0dGeWFXNW5JR3hsYm1kMGFITWdhVzRnY0hKdlpDQmlaV05oZFhObElIUm9aWE5sSUdGeWNtRjVjeUJ6YUc5MWJHUWdZbVZjYmlBZ0lDQXZMeUJ3WVhOelpXUWdhVzVzYVc1bExseHVJQ0FnSUdsbUlDaHVaWGgwUkdWd2N5NXNaVzVuZEdnZ0lUMDlJSEJ5WlhaRVpYQnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0oxUm9aU0JtYVc1aGJDQmhjbWQxYldWdWRDQndZWE56WldRZ2RHOGdKWE1nWTJoaGJtZGxaQ0J6YVhwbElHSmxkSGRsWlc0Z2NtVnVaR1Z5Y3k0Z1ZHaGxJQ2NnS3lBbmIzSmtaWElnWVc1a0lITnBlbVVnYjJZZ2RHaHBjeUJoY25KaGVTQnRkWE4wSUhKbGJXRnBiaUJqYjI1emRHRnVkQzVjWEc1Y1hHNG5JQ3NnSjFCeVpYWnBiM1Z6T2lBbGMxeGNiaWNnS3lBblNXNWpiMjFwYm1jNklDVnpKeXdnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZc0lGd2lXMXdpSUNzZ2NISmxka1JsY0hNdWFtOXBiaWduTENBbktTQXJJRndpWFZ3aUxDQmNJbHRjSWlBcklHNWxlSFJFWlhCekxtcHZhVzRvSnl3Z0p5a2dLeUJjSWwxY0lpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J3Y21WMlJHVndjeTVzWlc1bmRHZ2dKaVlnYVNBOElHNWxlSFJFWlhCekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdhV1lnS0c5aWFtVmpkRWx6S0c1bGVIUkVaWEJ6VzJsZExDQndjbVYyUkdWd2MxdHBYU2twSUh0Y2JpQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaVzVrWlhKWGFYUm9TRzl2YTNNb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2NISnZjSE1zSUhObFkyOXVaRUZ5Wnl3Z2JtVjRkRkpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2JtVjRkRkpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQmpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReElEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNWNiaUFnZTF4dUlDQWdJR2h2YjJ0VWVYQmxjMFJsZGlBOUlHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3Z1B5QmpkWEp5Wlc1MExsOWtaV0oxWjBodmIydFVlWEJsY3lBNklHNTFiR3c3WEc0Z0lDQWdhRzl2YTFSNWNHVnpWWEJrWVhSbFNXNWtaWGhFWlhZZ1BTQXRNVHNnTHk4Z1ZYTmxaQ0JtYjNJZ2FHOTBJSEpsYkc5aFpHbHVaenBjYmx4dUlDQWdJR2xuYm05eVpWQnlaWFpwYjNWelJHVndaVzVrWlc1amFXVnpJRDBnWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ0FtSmlCamRYSnlaVzUwTG5SNWNHVWdJVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVN1hHNGdJSDFjYmx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxJRDBnYm5Wc2JEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXVkWEJrWVhSbFVYVmxkV1VnUFNCdWRXeHNPMXh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6c2dMeThnVkdobElHWnZiR3h2ZDJsdVp5QnphRzkxYkdRZ2FHRjJaU0JoYkhKbFlXUjVJR0psWlc0Z2NtVnpaWFJjYmlBZ0x5OGdZM1Z5Y21WdWRFaHZiMnNnUFNCdWRXeHNPMXh1SUNBdkx5QjNiM0pyU1c1UWNtOW5jbVZ6YzBodmIyc2dQU0J1ZFd4c08xeHVJQ0F2THlCa2FXUlRZMmhsWkhWc1pWSmxibVJsY2xCb1lYTmxWWEJrWVhSbElEMGdabUZzYzJVN1hHNGdJQzh2SUZSUFJFOGdWMkZ5YmlCcFppQnVieUJvYjI5cmN5QmhjbVVnZFhObFpDQmhkQ0JoYkd3Z1pIVnlhVzVuSUcxdmRXNTBMQ0IwYUdWdUlITnZiV1VnWVhKbElIVnpaV1FnWkhWeWFXNW5JSFZ3WkdGMFpTNWNiaUFnTHk4Z1EzVnljbVZ1ZEd4NUlIZGxJSGRwYkd3Z2FXUmxiblJwWm5rZ2RHaGxJSFZ3WkdGMFpTQnlaVzVrWlhJZ1lYTWdZU0J0YjNWdWRDQmlaV05oZFhObElHMWxiVzlwZW1Wa1UzUmhkR1VnUFQwOUlHNTFiR3d1WEc0Z0lDOHZJRlJvYVhNZ2FYTWdkSEpwWTJ0NUlHSmxZMkYxYzJVZ2FYUW5jeUIyWVd4cFpDQm1iM0lnWTJWeWRHRnBiaUIwZVhCbGN5QnZaaUJqYjIxd2IyNWxiblJ6SUNobExtY3VJRkpsWVdOMExteGhlbmtwWEc0Z0lDOHZJRlZ6YVc1bklHMWxiVzlwZW1Wa1UzUmhkR1VnZEc4Z1pHbG1abVZ5Wlc1MGFXRjBaU0JpWlhSM1pXVnVJRzF2ZFc1MEwzVndaR0YwWlNCdmJteDVJSGR2Y210eklHbG1JR0YwSUd4bFlYTjBJRzl1WlNCemRHRjBaV1oxYkNCb2IyOXJJR2x6SUhWelpXUXVYRzRnSUM4dklFNXZiaTF6ZEdGMFpXWjFiQ0JvYjI5cmN5QW9aUzVuTGlCamIyNTBaWGgwS1NCa2IyNG5kQ0JuWlhRZ1lXUmtaV1FnZEc4Z2JXVnRiMmw2WldSVGRHRjBaU3hjYmlBZ0x5OGdjMjhnYldWdGIybDZaV1JUZEdGMFpTQjNiM1ZzWkNCaVpTQnVkV3hzSUdSMWNtbHVaeUIxY0dSaGRHVnpJR0Z1WkNCdGIzVnVkSE11WEc1Y2JpQWdlMXh1SUNBZ0lHbG1JQ2hqZFhKeVpXNTBJQ0U5UFNCdWRXeHNJQ1ltSUdOMWNuSmxiblF1YldWdGIybDZaV1JUZEdGMFpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NHOXZhM05FYVhOd1lYUmphR1Z5VDI1VmNHUmhkR1ZKYmtSRlZqdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHaHZiMnRVZVhCbGMwUmxkaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJrYVhOd1lYUmphR1Z5SUdoaGJtUnNaWE1nWVc0Z1pXUm5aU0JqWVhObElIZG9aWEpsSUdFZ1kyOXRjRzl1Wlc1MElHbHpJSFZ3WkdGMGFXNW5MRnh1SUNBZ0lDQWdMeThnWW5WMElHNXZJSE4wWVhSbFpuVnNJR2h2YjJ0eklHaGhkbVVnWW1WbGJpQjFjMlZrTGx4dUlDQWdJQ0FnTHk4Z1YyVWdkMkZ1ZENCMGJ5QnRZWFJqYUNCMGFHVWdjSEp2WkhWamRHbHZiaUJqYjJSbElHSmxhR0YyYVc5eUlDaDNhR2xqYUNCM2FXeHNJSFZ6WlNCSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmsxdmRXNTBLU3hjYmlBZ0lDQWdJQzh2SUdKMWRDQjNhWFJvSUhSb1pTQmxlSFJ5WVNCRVJWWWdkbUZzYVdSaGRHbHZiaUIwYnlCbGJuTjFjbVVnYUc5dmEzTWdiM0prWlhKcGJtY2dhR0Z6YmlkMElHTm9ZVzVuWldRdVhHNGdJQ0FnSUNBdkx5QlVhR2x6SUdScGMzQmhkR05vWlhJZ1pHOWxjeUIwYUdGMExseHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRGZHBkR2hJYjI5clZIbHdaWE5KYmtSRlZqdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1MElEMGdTRzl2YTNORWFYTndZWFJqYUdWeVQyNU5iM1Z1ZEVsdVJFVldPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCamFHbHNaSEpsYmlBOUlFTnZiWEJ2Ym1WdWRDaHdjbTl3Y3l3Z2MyVmpiMjVrUVhKbktUc2dMeThnUTJobFkyc2dhV1lnZEdobGNtVWdkMkZ6SUdFZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpWeHVYRzRnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGVIQnBjbUYwYVc5dVZHbHRaU0E5UFQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQXZMeUJMWldWd0lISmxibVJsY21sdVp5QnBiaUJoSUd4dmIzQWdabTl5SUdGeklHeHZibWNnWVhNZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpYTWdZMjl1ZEdsdWRXVWdkRzljYmlBZ0lDQXZMeUJpWlNCelkyaGxaSFZzWldRdUlGVnpaU0JoSUdOdmRXNTBaWElnZEc4Z2NISmxkbVZ1ZENCcGJtWnBibWwwWlNCc2IyOXdjeTVjYmlBZ0lDQjJZWElnYm5WdFltVnlUMlpTWlZKbGJtUmxjbk1nUFNBd08xeHVYRzRnSUNBZ1pHOGdlMXh1SUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2hLRzUxYldKbGNrOW1VbVZTWlc1a1pYSnpJRHdnVWtWZlVrVk9SRVZTWDB4SlRVbFVLU2tnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVZHOXZJRzFoYm5rZ2NtVXRjbVZ1WkdWeWN5NGdVbVZoWTNRZ2JHbHRhWFJ6SUhSb1pTQnVkVzFpWlhJZ2IyWWdjbVZ1WkdWeWN5QjBieUJ3Y21WMlpXNTBJR0Z1SUdsdVptbHVhWFJsSUd4dmIzQXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnVkVzFpWlhKUFpsSmxVbVZ1WkdWeWN5QXJQU0F4TzF4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDOHZJRVYyWlc0Z2QyaGxiaUJvYjNRZ2NtVnNiMkZrYVc1bkxDQmhiR3h2ZHlCa1pYQmxibVJsYm1OcFpYTWdkRzhnYzNSaFltbHNhWHBsWEc0Z0lDQWdJQ0FnSUM4dklHRm1kR1Z5SUdacGNuTjBJSEpsYm1SbGNpQjBieUJ3Y21WMlpXNTBJR2x1Wm1sdWFYUmxJSEpsYm1SbGNpQndhR0Z6WlNCMWNHUmhkR1Z6TGx4dUlDQWdJQ0FnSUNCcFoyNXZjbVZRY21WMmFXOTFjMFJsY0dWdVpHVnVZMmxsY3lBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlNBdkx5QlRkR0Z5ZENCdmRtVnlJR1p5YjIwZ2RHaGxJR0psWjJsdWJtbHVaeUJ2WmlCMGFHVWdiR2x6ZEZ4dVhHNWNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56U0c5dmF5QTlJRzUxYkd3N1hHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlNBOUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRV3h6YnlCMllXeHBaR0YwWlNCb2IyOXJJRzl5WkdWeUlHWnZjaUJqWVhOallXUnBibWNnZFhCa1lYUmxjeTVjYmlBZ0lDQWdJQ0FnYUc5dmExUjVjR1Z6VlhCa1lYUmxTVzVrWlhoRVpYWWdQU0F0TVR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnSUVodmIydHpSR2x6Y0dGMFkyaGxjazl1VW1WeVpXNWtaWEpKYmtSRlZpQTdYRzRnSUNBZ0lDQmphR2xzWkhKbGJpQTlJRU52YlhCdmJtVnVkQ2h3Y205d2N5d2djMlZqYjI1a1FYSm5LVHRjYmlBZ0lDQjlJSGRvYVd4bElDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGVIQnBjbUYwYVc5dVZHbHRaU0E5UFQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOUlDOHZJRmRsSUdOaGJpQmhjM04xYldVZ2RHaGxJSEJ5WlhacGIzVnpJR1JwYzNCaGRHTm9aWElnYVhNZ1lXeDNZWGx6SUhSb2FYTWdiMjVsTENCemFXNWpaU0IzWlNCelpYUWdhWFJjYmlBZ0x5OGdZWFFnZEdobElHSmxaMmx1Ym1sdVp5QnZaaUIwYUdVZ2NtVnVaR1Z5SUhCb1lYTmxJR0Z1WkNCMGFHVnlaU2R6SUc1dklISmxMV1Z1ZEhKaGJtTjVMbHh1WEc1Y2JpQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1EyOXVkR1Y0ZEU5dWJIbEVhWE53WVhSamFHVnlPMXh1WEc0Z0lIdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVmWkdWaWRXZEliMjlyVkhsd1pYTWdQU0JvYjI5clZIbHdaWE5FWlhZN1hHNGdJSDBnTHk4Z1ZHaHBjeUJqYUdWamF5QjFjMlZ6SUdOMWNuSmxiblJJYjI5cklITnZJSFJvWVhRZ2FYUWdkMjl5YTNNZ2RHaGxJSE5oYldVZ2FXNGdSRVZXSUdGdVpDQndjbTlrSUdKMWJtUnNaWE11WEc0Z0lDOHZJR2h2YjJ0VWVYQmxjMFJsZGlCamIzVnNaQ0JqWVhSamFDQnRiM0psSUdOaGMyVnpJQ2hsTG1jdUlHTnZiblJsZUhRcElHSjFkQ0J2Ym14NUlHbHVJRVJGVmlCaWRXNWtiR1Z6TGx4dVhHNWNiaUFnZG1GeUlHUnBaRkpsYm1SbGNsUnZiMFpsZDBodmIydHpJRDBnWTNWeWNtVnVkRWh2YjJzZ0lUMDlJRzUxYkd3Z0ppWWdZM1Z5Y21WdWRFaHZiMnN1Ym1WNGRDQWhQVDBnYm5Wc2JEdGNiaUFnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJR04xY25KbGJuUnNlVkpsYm1SbGNtbHVaMFpwWW1WeUpERWdQU0J1ZFd4c08xeHVJQ0JqZFhKeVpXNTBTRzl2YXlBOUlHNTFiR3c3WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56U0c5dmF5QTlJRzUxYkd3N1hHNWNiaUFnZTF4dUlDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ2JuVnNiRHRjYmlBZ0lDQm9iMjlyVkhsd1pYTkVaWFlnUFNCdWRXeHNPMXh1SUNBZ0lHaHZiMnRVZVhCbGMxVndaR0YwWlVsdVpHVjRSR1YySUQwZ0xURTdYRzRnSUgxY2JseHVJQ0JrYVdSVFkyaGxaSFZzWlZKbGJtUmxjbEJvWVhObFZYQmtZWFJsSUQwZ1ptRnNjMlU3WEc1Y2JpQWdhV1lnS0NFaFpHbGtVbVZ1WkdWeVZHOXZSbVYzU0c5dmEzTXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKU1pXNWtaWEpsWkNCbVpYZGxjaUJvYjI5cmN5QjBhR0Z1SUdWNGNHVmpkR1ZrTGlCVWFHbHpJRzFoZVNCaVpTQmpZWFZ6WldRZ1lua2dZVzRnWVdOamFXUmxiblJoYkNCbFlYSnNlU0J5WlhSMWNtNGdjM1JoZEdWdFpXNTBMbHdpSUNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdOb2FXeGtjbVZ1TzF4dWZWeHVablZ1WTNScGIyNGdZbUZwYkc5MWRFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlNBOUlHTjFjbkpsYm5RdWRYQmtZWFJsVVhWbGRXVTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUFtUFNCK0tGQmhjM05wZG1VZ2ZDQlZjR1JoZEdVcE8xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MExtVjRjR2x5WVhScGIyNVVhVzFsSUR3OUlHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnWTNWeWNtVnVkQzVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjbVZ6WlhSSWIyOXJjMEZtZEdWeVZHaHliM2NvS1NCN1hHNGdJQzh2SUZkbElHTmhiaUJoYzNOMWJXVWdkR2hsSUhCeVpYWnBiM1Z6SUdScGMzQmhkR05vWlhJZ2FYTWdZV3gzWVhseklIUm9hWE1nYjI1bExDQnphVzVqWlNCM1pTQnpaWFFnYVhSY2JpQWdMeThnWVhRZ2RHaGxJR0psWjJsdWJtbHVaeUJ2WmlCMGFHVWdjbVZ1WkdWeUlIQm9ZWE5sSUdGdVpDQjBhR1Z5WlNkeklHNXZJSEpsTFdWdWRISmhibU41TGx4dUlDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCRGIyNTBaWGgwVDI1c2VVUnBjM0JoZEdOb1pYSTdYRzVjYmlBZ2FXWWdLR1JwWkZOamFHVmtkV3hsVW1WdVpHVnlVR2hoYzJWVmNHUmhkR1VwSUh0Y2JpQWdJQ0F2THlCVWFHVnlaU0IzWlhKbElISmxibVJsY2lCd2FHRnpaU0IxY0dSaGRHVnpMaUJVYUdWelpTQmhjbVVnYjI1c2VTQjJZV3hwWkNCbWIzSWdkR2hwY3lCeVpXNWtaWEpjYmlBZ0lDQXZMeUJ3YUdGelpTd2dkMmhwWTJnZ2QyVWdZWEpsSUc1dmR5QmhZbTl5ZEdsdVp5NGdVbVZ0YjNabElIUm9aU0IxY0dSaGRHVnpJR1p5YjIwZ2RHaGxJSEYxWlhWbGN5QnpiMXh1SUNBZ0lDOHZJSFJvWlhrZ1pHOGdibTkwSUhCbGNuTnBjM1FnZEc4Z2RHaGxJRzVsZUhRZ2NtVnVaR1Z5TGlCRWJ5QnViM1FnY21WdGIzWmxJSFZ3WkdGMFpYTWdabkp2YlNCb2IyOXJjMXh1SUNBZ0lDOHZJSFJvWVhRZ2QyVnlaVzRuZENCd2NtOWpaWE56WldRdVhHNGdJQ0FnTHk5Y2JpQWdJQ0F2THlCUGJteDVJSEpsYzJWMElIUm9aU0IxY0dSaGRHVnpJR1p5YjIwZ2RHaGxJSEYxWlhWbElHbG1JR2wwSUdoaGN5QmhJR05zYjI1bExpQkpaaUJwZENCa2IyVnpYRzRnSUNBZ0x5OGdibTkwSUdoaGRtVWdZU0JqYkc5dVpTd2dkR2hoZENCdFpXRnVjeUJwZENCM1lYTnVKM1FnY0hKdlkyVnpjMlZrTENCaGJtUWdkR2hsSUhWd1pHRjBaWE1nZDJWeVpWeHVJQ0FnSUM4dklITmphR1ZrZFd4bFpDQmlaV1p2Y21VZ2QyVWdaVzUwWlhKbFpDQjBhR1VnY21WdVpHVnlJSEJvWVhObExseHVJQ0FnSUhaaGNpQm9iMjlySUQwZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElrTVM1dFpXMXZhWHBsWkZOMFlYUmxPMXh1WEc0Z0lDQWdkMmhwYkdVZ0tHaHZiMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhaaGNpQnhkV1YxWlNBOUlHaHZiMnN1Y1hWbGRXVTdYRzVjYmlBZ0lDQWdJR2xtSUNoeGRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNCeGRXVjFaUzV3Wlc1a2FXNW5JRDBnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhRzl2YXlBOUlHaHZiMnN1Ym1WNGREdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUU1dlYyOXlhenRjYmlBZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElrTVNBOUlHNTFiR3c3WEc0Z0lHTjFjbkpsYm5SSWIyOXJJRDBnYm5Wc2JEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2JuVnNiRHRjYmx4dUlDQjdYRzRnSUNBZ2FHOXZhMVI1Y0dWelJHVjJJRDBnYm5Wc2JEdGNiaUFnSUNCb2IyOXJWSGx3WlhOVmNHUmhkR1ZKYm1SbGVFUmxkaUE5SUMweE8xeHVJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHUnBaRk5qYUdWa2RXeGxVbVZ1WkdWeVVHaGhjMlZWY0dSaGRHVWdQU0JtWVd4elpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXOTFiblJYYjNKclNXNVFjbTluY21WemMwaHZiMnNvS1NCN1hHNGdJSFpoY2lCb2IyOXJJRDBnZTF4dUlDQWdJRzFsYlc5cGVtVmtVM1JoZEdVNklHNTFiR3dzWEc0Z0lDQWdZbUZ6WlZOMFlYUmxPaUJ1ZFd4c0xGeHVJQ0FnSUdKaGMyVlJkV1YxWlRvZ2JuVnNiQ3hjYmlBZ0lDQnhkV1YxWlRvZ2JuVnNiQ3hjYmlBZ0lDQnVaWGgwT2lCdWRXeHNYRzRnSUgwN1hHNWNiaUFnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56U0c5dmF5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2FYTWdkR2hsSUdacGNuTjBJR2h2YjJzZ2FXNGdkR2hsSUd4cGMzUmNiaUFnSUNCamRYSnlaVzUwYkhsU1pXNWtaWEpwYm1kR2FXSmxjaVF4TG0xbGJXOXBlbVZrVTNSaGRHVWdQU0IzYjNKclNXNVFjbTluY21WemMwaHZiMnNnUFNCb2IyOXJPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVGd2NHVnVaQ0IwYnlCMGFHVWdaVzVrSUc5bUlIUm9aU0JzYVhOMFhHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2QyOXlhMGx1VUhKdlozSmxjM05JYjI5ckxtNWxlSFFnUFNCb2IyOXJPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOelNHOXZhenRjYm4xY2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDa2dlMXh1SUNBdkx5QlVhR2x6SUdaMWJtTjBhVzl1SUdseklIVnpaV1FnWW05MGFDQm1iM0lnZFhCa1lYUmxjeUJoYm1RZ1ptOXlJSEpsTFhKbGJtUmxjbk1nZEhKcFoyZGxjbVZrSUdKNUlHRmNiaUFnTHk4Z2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpTNGdTWFFnWVhOemRXMWxjeUIwYUdWeVpTQnBjeUJsYVhSb1pYSWdZU0JqZFhKeVpXNTBJR2h2YjJzZ2QyVWdZMkZ1WEc0Z0lDOHZJR05zYjI1bExDQnZjaUJoSUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nYUc5dmF5Qm1jbTl0SUdFZ2NISmxkbWx2ZFhNZ2NtVnVaR1Z5SUhCaGMzTWdkR2hoZENCM1pTQmpZVzVjYmlBZ0x5OGdkWE5sSUdGeklHRWdZbUZ6WlM0Z1YyaGxiaUIzWlNCeVpXRmphQ0IwYUdVZ1pXNWtJRzltSUhSb1pTQmlZWE5sSUd4cGMzUXNJSGRsSUcxMWMzUWdjM2RwZEdOb0lIUnZYRzRnSUM4dklIUm9aU0JrYVhOd1lYUmphR1Z5SUhWelpXUWdabTl5SUcxdmRXNTBjeTVjYmlBZ2RtRnlJRzVsZUhSRGRYSnlaVzUwU0c5dmF6dGNibHh1SUNCcFppQW9ZM1Z5Y21WdWRFaHZiMnNnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0IyWVhJZ1kzVnljbVZ1ZENBOUlHTjFjbkpsYm5Sc2VWSmxibVJsY21sdVowWnBZbVZ5SkRFdVlXeDBaWEp1WVhSbE8xeHVYRzRnSUNBZ2FXWWdLR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJRzVsZUhSRGRYSnlaVzUwU0c5dmF5QTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdibVY0ZEVOMWNuSmxiblJJYjI5cklEMGdiblZzYkR0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYm1WNGRFTjFjbkpsYm5SSWIyOXJJRDBnWTNWeWNtVnVkRWh2YjJzdWJtVjRkRHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnVaWGgwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlyTzF4dVhHNGdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjMGh2YjJzZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNCdVpYaDBWMjl5YTBsdVVISnZaM0psYzNOSWIyOXJJRDBnWTNWeWNtVnVkR3g1VW1WdVpHVnlhVzVuUm1saVpYSWtNUzV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHNWxlSFJYYjNKclNXNVFjbTluY21WemMwaHZiMnNnUFNCM2IzSnJTVzVRY205bmNtVnpjMGh2YjJzdWJtVjRkRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHVaWGgwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1ZHaGxjbVVuY3lCaGJISmxZV1I1SUdFZ2QyOXlheTFwYmkxd2NtOW5jbVZ6Y3k0Z1VtVjFjMlVnYVhRdVhHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2JtVjRkRmR2Y210SmJsQnliMmR5WlhOelNHOXZhenRjYmlBZ0lDQnVaWGgwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2QyOXlhMGx1VUhKdlozSmxjM05JYjI5ckxtNWxlSFE3WEc0Z0lDQWdZM1Z5Y21WdWRFaHZiMnNnUFNCdVpYaDBRM1Z5Y21WdWRFaHZiMnM3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnTHk4Z1EyeHZibVVnWm5KdmJTQjBhR1VnWTNWeWNtVnVkQ0JvYjI5ckxseHVJQ0FnSUdsbUlDZ2hLRzVsZUhSRGRYSnlaVzUwU0c5dmF5QWhQVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVbVZ1WkdWeVpXUWdiVzl5WlNCb2IyOXJjeUIwYUdGdUlHUjFjbWx1WnlCMGFHVWdjSEpsZG1sdmRYTWdjbVZ1WkdWeUxsd2lJQ2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZM1Z5Y21WdWRFaHZiMnNnUFNCdVpYaDBRM1Z5Y21WdWRFaHZiMnM3WEc0Z0lDQWdkbUZ5SUc1bGQwaHZiMnNnUFNCN1hHNGdJQ0FnSUNCdFpXMXZhWHBsWkZOMFlYUmxPaUJqZFhKeVpXNTBTRzl2YXk1dFpXMXZhWHBsWkZOMFlYUmxMRnh1SUNBZ0lDQWdZbUZ6WlZOMFlYUmxPaUJqZFhKeVpXNTBTRzl2YXk1aVlYTmxVM1JoZEdVc1hHNGdJQ0FnSUNCaVlYTmxVWFZsZFdVNklHTjFjbkpsYm5SSWIyOXJMbUpoYzJWUmRXVjFaU3hjYmlBZ0lDQWdJSEYxWlhWbE9pQmpkWEp5Wlc1MFNHOXZheTV4ZFdWMVpTeGNiaUFnSUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOelNHOXZheUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdabWx5YzNRZ2FHOXZheUJwYmlCMGFHVWdiR2x6ZEM1Y2JpQWdJQ0FnSUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlKREV1YldWdGIybDZaV1JUZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOelNHOXZheUE5SUc1bGQwaHZiMnM3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRUZ3Y0dWdVpDQjBieUIwYUdVZ1pXNWtJRzltSUhSb1pTQnNhWE4wTGx4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTkliMjlySUQwZ2QyOXlhMGx1VUhKdlozSmxjM05JYjI5ckxtNWxlSFFnUFNCdVpYZEliMjlyTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIzYjNKclNXNVFjbTluY21WemMwaHZiMnM3WEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVWjFibU4wYVc5dVEyOXRjRzl1Wlc1MFZYQmtZWFJsVVhWbGRXVW9LU0I3WEc0Z0lISmxkSFZ5YmlCN1hHNGdJQ0FnYkdGemRFVm1abVZqZERvZ2JuVnNiRnh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCaVlYTnBZMU4wWVhSbFVtVmtkV05sY2loemRHRjBaU3dnWVdOMGFXOXVLU0I3WEc0Z0lDOHZJQ1JHYkc5M1JtbDRUV1U2SUVac2IzY2daRzlsYzI0bmRDQnNhV3RsSUcxcGVHVmtJSFI1Y0dWelhHNGdJSEpsZEhWeWJpQjBlWEJsYjJZZ1lXTjBhVzl1SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnWVdOMGFXOXVLSE4wWVhSbEtTQTZJR0ZqZEdsdmJqdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXOTFiblJTWldSMVkyVnlLSEpsWkhWalpYSXNJR2x1YVhScFlXeEJjbWNzSUdsdWFYUXBJSHRjYmlBZ2RtRnlJR2h2YjJzZ1BTQnRiM1Z1ZEZkdmNtdEpibEJ5YjJkeVpYTnpTRzl2YXlncE8xeHVJQ0IyWVhJZ2FXNXBkR2xoYkZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2hwYm1sMElDRTlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0JwYm1sMGFXRnNVM1JoZEdVZ1BTQnBibWwwS0dsdWFYUnBZV3hCY21jcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHbHVhWFJwWVd4VGRHRjBaU0E5SUdsdWFYUnBZV3hCY21jN1hHNGdJSDFjYmx4dUlDQm9iMjlyTG0xbGJXOXBlbVZrVTNSaGRHVWdQU0JvYjI5ckxtSmhjMlZUZEdGMFpTQTlJR2x1YVhScFlXeFRkR0YwWlR0Y2JpQWdkbUZ5SUhGMVpYVmxJRDBnYUc5dmF5NXhkV1YxWlNBOUlIdGNiaUFnSUNCd1pXNWthVzVuT2lCdWRXeHNMRnh1SUNBZ0lHUnBjM0JoZEdOb09pQnVkV3hzTEZ4dUlDQWdJR3hoYzNSU1pXNWtaWEpsWkZKbFpIVmpaWEk2SUhKbFpIVmpaWElzWEc0Z0lDQWdiR0Z6ZEZKbGJtUmxjbVZrVTNSaGRHVTZJR2x1YVhScFlXeFRkR0YwWlZ4dUlDQjlPMXh1SUNCMllYSWdaR2x6Y0dGMFkyZ2dQU0J4ZFdWMVpTNWthWE53WVhSamFDQTlJR1JwYzNCaGRHTm9RV04wYVc5dUxtSnBibVFvYm5Wc2JDd2dZM1Z5Y21WdWRHeDVVbVZ1WkdWeWFXNW5SbWxpWlhJa01Td2djWFZsZFdVcE8xeHVJQ0J5WlhSMWNtNGdXMmh2YjJzdWJXVnRiMmw2WldSVGRHRjBaU3dnWkdsemNHRjBZMmhkTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVlNaV1IxWTJWeUtISmxaSFZqWlhJc0lHbHVhWFJwWVd4QmNtY3NJR2x1YVhRcElIdGNiaUFnZG1GeUlHaHZiMnNnUFNCMWNHUmhkR1ZYYjNKclNXNVFjbTluY21WemMwaHZiMnNvS1R0Y2JpQWdkbUZ5SUhGMVpYVmxJRDBnYUc5dmF5NXhkV1YxWlR0Y2JseHVJQ0JwWmlBb0lTaHhkV1YxWlNBaFBUMGdiblZzYkNrcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pUYUc5MWJHUWdhR0YyWlNCaElIRjFaWFZsTGlCVWFHbHpJR2x6SUd4cGEyVnNlU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnhkV1YxWlM1c1lYTjBVbVZ1WkdWeVpXUlNaV1IxWTJWeUlEMGdjbVZrZFdObGNqdGNiaUFnZG1GeUlHTjFjbkpsYm5RZ1BTQmpkWEp5Wlc1MFNHOXZhenNnTHk4Z1ZHaGxJR3hoYzNRZ2NtVmlZWE5sSUhWd1pHRjBaU0IwYUdGMElHbHpJRTVQVkNCd1lYSjBJRzltSUhSb1pTQmlZWE5sSUhOMFlYUmxMbHh1WEc0Z0lIWmhjaUJpWVhObFVYVmxkV1VnUFNCamRYSnlaVzUwTG1KaGMyVlJkV1YxWlRzZ0x5OGdWR2hsSUd4aGMzUWdjR1Z1WkdsdVp5QjFjR1JoZEdVZ2RHaGhkQ0JvWVhOdUozUWdZbVZsYmlCd2NtOWpaWE56WldRZ2VXVjBMbHh1WEc0Z0lIWmhjaUJ3Wlc1a2FXNW5VWFZsZFdVZ1BTQnhkV1YxWlM1d1pXNWthVzVuTzF4dVhHNGdJR2xtSUNod1pXNWthVzVuVVhWbGRXVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQXZMeUJYWlNCb1lYWmxJRzVsZHlCMWNHUmhkR1Z6SUhSb1lYUWdhR0YyWlc0bmRDQmlaV1Z1SUhCeWIyTmxjM05sWkNCNVpYUXVYRzRnSUNBZ0x5OGdWMlVuYkd3Z1lXUmtJSFJvWlcwZ2RHOGdkR2hsSUdKaGMyVWdjWFZsZFdVdVhHNGdJQ0FnYVdZZ0tHSmhjMlZSZFdWMVpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdMeThnVFdWeVoyVWdkR2hsSUhCbGJtUnBibWNnY1hWbGRXVWdZVzVrSUhSb1pTQmlZWE5sSUhGMVpYVmxMbHh1SUNBZ0lDQWdkbUZ5SUdKaGMyVkdhWEp6ZENBOUlHSmhjMlZSZFdWMVpTNXVaWGgwTzF4dUlDQWdJQ0FnZG1GeUlIQmxibVJwYm1kR2FYSnpkQ0E5SUhCbGJtUnBibWRSZFdWMVpTNXVaWGgwTzF4dUlDQWdJQ0FnWW1GelpWRjFaWFZsTG01bGVIUWdQU0J3Wlc1a2FXNW5SbWx5YzNRN1hHNGdJQ0FnSUNCd1pXNWthVzVuVVhWbGRXVXVibVY0ZENBOUlHSmhjMlZHYVhKemREdGNiaUFnSUNCOVhHNWNiaUFnSUNCamRYSnlaVzUwTG1KaGMyVlJkV1YxWlNBOUlHSmhjMlZSZFdWMVpTQTlJSEJsYm1ScGJtZFJkV1YxWlR0Y2JpQWdJQ0J4ZFdWMVpTNXdaVzVrYVc1bklEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hpWVhObFVYVmxkV1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCWFpTQm9ZWFpsSUdFZ2NYVmxkV1VnZEc4Z2NISnZZMlZ6Y3k1Y2JpQWdJQ0IyWVhJZ1ptbHljM1FnUFNCaVlYTmxVWFZsZFdVdWJtVjRkRHRjYmlBZ0lDQjJZWElnYm1WM1UzUmhkR1VnUFNCamRYSnlaVzUwTG1KaGMyVlRkR0YwWlR0Y2JpQWdJQ0IyWVhJZ2JtVjNRbUZ6WlZOMFlYUmxJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdibVYzUW1GelpWRjFaWFZsUm1seWMzUWdQU0J1ZFd4c08xeHVJQ0FnSUhaaGNpQnVaWGRDWVhObFVYVmxkV1ZNWVhOMElEMGdiblZzYkR0Y2JpQWdJQ0IyWVhJZ2RYQmtZWFJsSUQwZ1ptbHljM1E3WEc1Y2JpQWdJQ0JrYnlCN1hHNGdJQ0FnSUNCMllYSWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCMWNHUmhkR1V1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJR2xtSUNoMWNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpTQThJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRkJ5YVc5eWFYUjVJR2x6SUdsdWMzVm1abWxqYVdWdWRDNGdVMnRwY0NCMGFHbHpJSFZ3WkdGMFpTNGdTV1lnZEdocGN5QnBjeUIwYUdVZ1ptbHljM1JjYmlBZ0lDQWdJQ0FnTHk4Z2MydHBjSEJsWkNCMWNHUmhkR1VzSUhSb1pTQndjbVYyYVc5MWN5QjFjR1JoZEdVdmMzUmhkR1VnYVhNZ2RHaGxJRzVsZHlCaVlYTmxYRzRnSUNBZ0lDQWdJQzh2SUhWd1pHRjBaUzl6ZEdGMFpTNWNiaUFnSUNBZ0lDQWdkbUZ5SUdOc2IyNWxJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lHVjRjR2x5WVhScGIyNVVhVzFsT2lCMWNHUmhkR1V1Wlhod2FYSmhkR2x2YmxScGJXVXNYRzRnSUNBZ0lDQWdJQ0FnYzNWemNHVnVjMlZEYjI1bWFXYzZJSFZ3WkdGMFpTNXpkWE53Wlc1elpVTnZibVpwWnl4Y2JpQWdJQ0FnSUNBZ0lDQmhZM1JwYjI0NklIVndaR0YwWlM1aFkzUnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ1pXRm5aWEpTWldSMVkyVnlPaUIxY0dSaGRHVXVaV0ZuWlhKU1pXUjFZMlZ5TEZ4dUlDQWdJQ0FnSUNBZ0lHVmhaMlZ5VTNSaGRHVTZJSFZ3WkdGMFpTNWxZV2RsY2xOMFlYUmxMRnh1SUNBZ0lDQWdJQ0FnSUc1bGVIUTZJRzUxYkd4Y2JpQWdJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2JtVjNRbUZ6WlZGMVpYVmxUR0Z6ZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzVsZDBKaGMyVlJkV1YxWlVacGNuTjBJRDBnYm1WM1FtRnpaVkYxWlhWbFRHRnpkQ0E5SUdOc2IyNWxPMXh1SUNBZ0lDQWdJQ0FnSUc1bGQwSmhjMlZUZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUc1bGQwSmhjMlZSZFdWMVpVeGhjM1FnUFNCdVpYZENZWE5sVVhWbGRXVk1ZWE4wTG01bGVIUWdQU0JqYkc5dVpUdGNiaUFnSUNBZ0lDQWdmU0F2THlCVmNHUmhkR1VnZEdobElISmxiV0ZwYm1sdVp5QndjbWx2Y21sMGVTQnBiaUIwYUdVZ2NYVmxkV1V1WEc1Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVZ1BpQmpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReExtVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZM1Z5Y21WdWRHeDVVbVZ1WkdWeWFXNW5SbWxpWlhJa01TNWxlSEJwY21GMGFXOXVWR2x0WlNBOUlIVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdJQ0FnSUcxaGNtdFZibkJ5YjJObGMzTmxaRlZ3WkdGMFpWUnBiV1VvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklIVndaR0YwWlNCa2IyVnpJR2hoZG1VZ2MzVm1abWxqYVdWdWRDQndjbWx2Y21sMGVTNWNiaUFnSUNBZ0lDQWdhV1lnS0c1bGQwSmhjMlZSZFdWMVpVeGhjM1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWDJOc2IyNWxJRDBnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaWGh3YVhKaGRHbHZibFJwYldVNklGTjVibU1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdseklIVndaR0YwWlNCcGN5Qm5iMmx1WnlCMGJ5QmlaU0JqYjIxdGFYUjBaV1FnYzI4Z2QyVWdibVYyWlhJZ2QyRnVkQ0IxYm1OdmJXMXBkQ0JwZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xYzNCbGJuTmxRMjl1Wm1sbk9pQjFjR1JoZEdVdWMzVnpjR1Z1YzJWRGIyNW1hV2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmhZM1JwYjI0NklIVndaR0YwWlM1aFkzUnBiMjRzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmxZV2RsY2xKbFpIVmpaWEk2SUhWd1pHRjBaUzVsWVdkbGNsSmxaSFZqWlhJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JsWVdkbGNsTjBZWFJsT2lCMWNHUmhkR1V1WldGblpYSlRkR0YwWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJRzVsZUhRNklHNTFiR3hjYmlBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJRzVsZDBKaGMyVlJkV1YxWlV4aGMzUWdQU0J1WlhkQ1lYTmxVWFZsZFdWTVlYTjBMbTVsZUhRZ1BTQmZZMnh2Ym1VN1hHNGdJQ0FnSUNBZ0lIMGdMeThnVFdGeWF5QjBhR1VnWlhabGJuUWdkR2x0WlNCdlppQjBhR2x6SUhWd1pHRjBaU0JoY3lCeVpXeGxkbUZ1ZENCMGJ5QjBhR2x6SUhKbGJtUmxjaUJ3WVhOekxseHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlVhR2x6SUhOb2IzVnNaQ0JwWkdWaGJHeDVJSFZ6WlNCMGFHVWdkSEoxWlNCbGRtVnVkQ0IwYVcxbElHOW1JSFJvYVhNZ2RYQmtZWFJsSUhKaGRHaGxjaUIwYUdGdVhHNGdJQ0FnSUNBZ0lDOHZJR2wwY3lCd2NtbHZjbWwwZVNCM2FHbGphQ0JwY3lCaElHUmxjbWwyWldRZ1lXNWtJRzV2ZENCeVpYWmxjbk5sWVdKc1pTQjJZV3gxWlM1Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1YyVWdjMmh2ZFd4a0lITnJhWEFnZEdocGN5QjFjR1JoZEdVZ2FXWWdhWFFnZDJGeklHRnNjbVZoWkhrZ1kyOXRiV2wwZEdWa0lHSjFkQ0JqZFhKeVpXNTBiSGxjYmlBZ0lDQWdJQ0FnTHk4Z2QyVWdhR0YyWlNCdWJ5QjNZWGtnYjJZZ1pHVjBaV04wYVc1bklIUm9aU0JrYVdabVpYSmxibU5sSUdKbGRIZGxaVzRnWVNCamIyMXRhWFIwWldRZ1lXNWtJSE4xYzNCbGJtUmxaRnh1SUNBZ0lDQWdJQ0F2THlCMWNHUmhkR1VnYUdWeVpTNWNibHh1WEc0Z0lDQWdJQ0FnSUcxaGNtdFNaVzVrWlhKRmRtVnVkRlJwYldWQmJtUkRiMjVtYVdjb2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVXNJSFZ3WkdGMFpTNXpkWE53Wlc1elpVTnZibVpwWnlrN0lDOHZJRkJ5YjJObGMzTWdkR2hwY3lCMWNHUmhkR1V1WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFZ3WkdGMFpTNWxZV2RsY2xKbFpIVmpaWElnUFQwOUlISmxaSFZqWlhJcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCSlppQjBhR2x6SUhWd1pHRjBaU0IzWVhNZ2NISnZZMlZ6YzJWa0lHVmhaMlZ5Ykhrc0lHRnVaQ0JwZEhNZ2NtVmtkV05sY2lCdFlYUmphR1Z6SUhSb1pWeHVJQ0FnSUNBZ0lDQWdJQzh2SUdOMWNuSmxiblFnY21Wa2RXTmxjaXdnZDJVZ1kyRnVJSFZ6WlNCMGFHVWdaV0ZuWlhKc2VTQmpiMjF3ZFhSbFpDQnpkR0YwWlM1Y2JpQWdJQ0FnSUNBZ0lDQnVaWGRUZEdGMFpTQTlJSFZ3WkdGMFpTNWxZV2RsY2xOMFlYUmxPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmhZM1JwYjI0Z1BTQjFjR1JoZEdVdVlXTjBhVzl1TzF4dUlDQWdJQ0FnSUNBZ0lHNWxkMU4wWVhSbElEMGdjbVZrZFdObGNpaHVaWGRUZEdGMFpTd2dZV04wYVc5dUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IxY0dSaGRHVWdQU0IxY0dSaGRHVXVibVY0ZER0Y2JpQWdJQ0I5SUhkb2FXeGxJQ2gxY0dSaGRHVWdJVDA5SUc1MWJHd2dKaVlnZFhCa1lYUmxJQ0U5UFNCbWFYSnpkQ2s3WEc1Y2JpQWdJQ0JwWmlBb2JtVjNRbUZ6WlZGMVpYVmxUR0Z6ZENBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2JtVjNRbUZ6WlZOMFlYUmxJRDBnYm1WM1UzUmhkR1U3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHNWxkMEpoYzJWUmRXVjFaVXhoYzNRdWJtVjRkQ0E5SUc1bGQwSmhjMlZSZFdWMVpVWnBjbk4wTzF4dUlDQWdJSDBnTHk4Z1RXRnlheUIwYUdGMElIUm9aU0JtYVdKbGNpQndaWEptYjNKdFpXUWdkMjl5YXl3Z1luVjBJRzl1YkhrZ2FXWWdkR2hsSUc1bGR5QnpkR0YwWlNCcGMxeHVJQ0FnSUM4dklHUnBabVpsY21WdWRDQm1jbTl0SUhSb1pTQmpkWEp5Wlc1MElITjBZWFJsTGx4dVhHNWNiaUFnSUNCcFppQW9JVzlpYW1WamRFbHpLRzVsZDFOMFlYUmxMQ0JvYjI5ckxtMWxiVzlwZW1Wa1UzUmhkR1VwS1NCN1hHNGdJQ0FnSUNCdFlYSnJWMjl5YTBsdVVISnZaM0psYzNOU1pXTmxhWFpsWkZWd1pHRjBaU2dwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQWdJR2h2YjJzdVltRnpaVk4wWVhSbElEMGdibVYzUW1GelpWTjBZWFJsTzF4dUlDQWdJR2h2YjJzdVltRnpaVkYxWlhWbElEMGdibVYzUW1GelpWRjFaWFZsVEdGemREdGNiaUFnSUNCeGRXVjFaUzVzWVhOMFVtVnVaR1Z5WldSVGRHRjBaU0E5SUc1bGQxTjBZWFJsTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR1JwYzNCaGRHTm9JRDBnY1hWbGRXVXVaR2x6Y0dGMFkyZzdYRzRnSUhKbGRIVnliaUJiYUc5dmF5NXRaVzF2YVhwbFpGTjBZWFJsTENCa2FYTndZWFJqYUYwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhKbGNtVnVaR1Z5VW1Wa2RXTmxjaWh5WldSMVkyVnlMQ0JwYm1sMGFXRnNRWEpuTENCcGJtbDBLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdkWEJrWVhSbFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDazdYRzRnSUhaaGNpQnhkV1YxWlNBOUlHaHZiMnN1Y1hWbGRXVTdYRzVjYmlBZ2FXWWdLQ0VvY1hWbGRXVWdJVDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVUyaHZkV3hrSUdoaGRtVWdZU0J4ZFdWMVpTNGdWR2hwY3lCcGN5QnNhV3RsYkhrZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY1hWbGRXVXViR0Z6ZEZKbGJtUmxjbVZrVW1Wa2RXTmxjaUE5SUhKbFpIVmpaWEk3SUM4dklGUm9hWE1nYVhNZ1lTQnlaUzF5Wlc1a1pYSXVJRUZ3Y0d4NUlIUm9aU0J1WlhjZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpYTWdkRzhnZEdobElIQnlaWFpwYjNWelhHNGdJQzh2SUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nYUc5dmF5NWNibHh1SUNCMllYSWdaR2x6Y0dGMFkyZ2dQU0J4ZFdWMVpTNWthWE53WVhSamFEdGNiaUFnZG1GeUlHeGhjM1JTWlc1a1pYSlFhR0Z6WlZWd1pHRjBaU0E5SUhGMVpYVmxMbkJsYm1ScGJtYzdYRzRnSUhaaGNpQnVaWGRUZEdGMFpTQTlJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQnBaaUFvYkdGemRGSmxibVJsY2xCb1lYTmxWWEJrWVhSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWR2hsSUhGMVpYVmxJR1J2WlhOdUozUWdjR1Z5YzJsemRDQndZWE4wSUhSb2FYTWdjbVZ1WkdWeUlIQmhjM011WEc0Z0lDQWdjWFZsZFdVdWNHVnVaR2x1WnlBOUlHNTFiR3c3WEc0Z0lDQWdkbUZ5SUdacGNuTjBVbVZ1WkdWeVVHaGhjMlZWY0dSaGRHVWdQU0JzWVhOMFVtVnVaR1Z5VUdoaGMyVlZjR1JoZEdVdWJtVjRkRHRjYmlBZ0lDQjJZWElnZFhCa1lYUmxJRDBnWm1seWMzUlNaVzVrWlhKUWFHRnpaVlZ3WkdGMFpUdGNibHh1SUNBZ0lHUnZJSHRjYmlBZ0lDQWdJQzh2SUZCeWIyTmxjM01nZEdocGN5QnlaVzVrWlhJZ2NHaGhjMlVnZFhCa1lYUmxMaUJYWlNCa2IyNG5kQ0JvWVhabElIUnZJR05vWldOcklIUm9aVnh1SUNBZ0lDQWdMeThnY0hKcGIzSnBkSGtnWW1WallYVnpaU0JwZENCM2FXeHNJR0ZzZDJGNWN5QmlaU0IwYUdVZ2MyRnRaU0JoY3lCMGFHVWdZM1Z5Y21WdWRGeHVJQ0FnSUNBZ0x5OGdjbVZ1WkdWeUozTXVYRzRnSUNBZ0lDQjJZWElnWVdOMGFXOXVJRDBnZFhCa1lYUmxMbUZqZEdsdmJqdGNiaUFnSUNBZ0lHNWxkMU4wWVhSbElEMGdjbVZrZFdObGNpaHVaWGRUZEdGMFpTd2dZV04wYVc5dUtUdGNiaUFnSUNBZ0lIVndaR0YwWlNBOUlIVndaR0YwWlM1dVpYaDBPMXh1SUNBZ0lIMGdkMmhwYkdVZ0tIVndaR0YwWlNBaFBUMGdabWx5YzNSU1pXNWtaWEpRYUdGelpWVndaR0YwWlNrN0lDOHZJRTFoY21zZ2RHaGhkQ0IwYUdVZ1ptbGlaWElnY0dWeVptOXliV1ZrSUhkdmNtc3NJR0oxZENCdmJteDVJR2xtSUhSb1pTQnVaWGNnYzNSaGRHVWdhWE5jYmlBZ0lDQXZMeUJrYVdabVpYSmxiblFnWm5KdmJTQjBhR1VnWTNWeWNtVnVkQ0J6ZEdGMFpTNWNibHh1WEc0Z0lDQWdhV1lnS0NGdlltcGxZM1JKY3lodVpYZFRkR0YwWlN3Z2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbEtTa2dlMXh1SUNBZ0lDQWdiV0Z5YTFkdmNtdEpibEJ5YjJkeVpYTnpVbVZqWldsMlpXUlZjR1JoZEdVb0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCb2IyOXJMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVaWGRUZEdGMFpUc2dMeThnUkc5dUozUWdjR1Z5YzJsemRDQjBhR1VnYzNSaGRHVWdZV05qZFcxMWJHRjBaV1FnWm5KdmJTQjBhR1VnY21WdVpHVnlJSEJvWVhObElIVndaR0YwWlhNZ2RHOWNiaUFnSUNBdkx5QjBhR1VnWW1GelpTQnpkR0YwWlNCMWJteGxjM01nZEdobElIRjFaWFZsSUdseklHVnRjSFI1TGx4dUlDQWdJQzh2SUZSUFJFODZJRTV2ZENCemRYSmxJR2xtSUhSb2FYTWdhWE1nZEdobElHUmxjMmx5WldRZ2MyVnRZVzUwYVdOekxDQmlkWFFnYVhRbmN5QjNhR0YwSUhkbFhHNGdJQ0FnTHk4Z1pHOGdabTl5SUdkRVUwWlFMaUJKSUdOaGJpZDBJSEpsYldWdFltVnlJSGRvZVM1Y2JseHVJQ0FnSUdsbUlDaG9iMjlyTG1KaGMyVlJkV1YxWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2FHOXZheTVpWVhObFUzUmhkR1VnUFNCdVpYZFRkR0YwWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J4ZFdWMVpTNXNZWE4wVW1WdVpHVnlaV1JUZEdGMFpTQTlJRzVsZDFOMFlYUmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRnR1WlhkVGRHRjBaU3dnWkdsemNHRjBZMmhkTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0YjNWdWRGTjBZWFJsS0dsdWFYUnBZV3hUZEdGMFpTa2dlMXh1SUNCMllYSWdhRzl2YXlBOUlHMXZkVzUwVjI5eWEwbHVVSEp2WjNKbGMzTkliMjlyS0NrN1hHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCcGJtbDBhV0ZzVTNSaGRHVWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBdkx5QWtSbXh2ZDBacGVFMWxPaUJHYkc5M0lHUnZaWE51SjNRZ2JHbHJaU0J0YVhobFpDQjBlWEJsYzF4dUlDQWdJR2x1YVhScFlXeFRkR0YwWlNBOUlHbHVhWFJwWVd4VGRHRjBaU2dwTzF4dUlDQjlYRzVjYmlBZ2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdhRzl2YXk1aVlYTmxVM1JoZEdVZ1BTQnBibWwwYVdGc1UzUmhkR1U3WEc0Z0lIWmhjaUJ4ZFdWMVpTQTlJR2h2YjJzdWNYVmxkV1VnUFNCN1hHNGdJQ0FnY0dWdVpHbHVaem9nYm5Wc2JDeGNiaUFnSUNCa2FYTndZWFJqYURvZ2JuVnNiQ3hjYmlBZ0lDQnNZWE4wVW1WdVpHVnlaV1JTWldSMVkyVnlPaUJpWVhOcFkxTjBZWFJsVW1Wa2RXTmxjaXhjYmlBZ0lDQnNZWE4wVW1WdVpHVnlaV1JUZEdGMFpUb2dhVzVwZEdsaGJGTjBZWFJsWEc0Z0lIMDdYRzRnSUhaaGNpQmthWE53WVhSamFDQTlJSEYxWlhWbExtUnBjM0JoZEdOb0lEMGdaR2x6Y0dGMFkyaEJZM1JwYjI0dVltbHVaQ2h1ZFd4c0xDQmpkWEp5Wlc1MGJIbFNaVzVrWlhKcGJtZEdhV0psY2lReExDQnhkV1YxWlNrN1hHNGdJSEpsZEhWeWJpQmJhRzl2YXk1dFpXMXZhWHBsWkZOMFlYUmxMQ0JrYVhOd1lYUmphRjA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpWTjBZWFJsS0dsdWFYUnBZV3hUZEdGMFpTa2dlMXh1SUNCeVpYUjFjbTRnZFhCa1lYUmxVbVZrZFdObGNpaGlZWE5wWTFOMFlYUmxVbVZrZFdObGNpazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxjbVZ1WkdWeVUzUmhkR1VvYVc1cGRHbGhiRk4wWVhSbEtTQjdYRzRnSUhKbGRIVnliaUJ5WlhKbGJtUmxjbEpsWkhWalpYSW9ZbUZ6YVdOVGRHRjBaVkpsWkhWalpYSXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndkWE5vUldabVpXTjBLSFJoWnl3Z1kzSmxZWFJsTENCa1pYTjBjbTk1TENCa1pYQnpLU0I3WEc0Z0lIWmhjaUJsWm1abFkzUWdQU0I3WEc0Z0lDQWdkR0ZuT2lCMFlXY3NYRzRnSUNBZ1kzSmxZWFJsT2lCamNtVmhkR1VzWEc0Z0lDQWdaR1Z6ZEhKdmVUb2daR1Z6ZEhKdmVTeGNiaUFnSUNCa1pYQnpPaUJrWlhCekxGeHVJQ0FnSUM4dklFTnBjbU4xYkdGeVhHNGdJQ0FnYm1WNGREb2diblZzYkZ4dUlDQjlPMXh1SUNCMllYSWdZMjl0Y0c5dVpXNTBWWEJrWVhSbFVYVmxkV1VnUFNCamRYSnlaVzUwYkhsU1pXNWtaWEpwYm1kR2FXSmxjaVF4TG5Wd1pHRjBaVkYxWlhWbE8xeHVYRzRnSUdsbUlDaGpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR052YlhCdmJtVnVkRlZ3WkdGMFpWRjFaWFZsSUQwZ1kzSmxZWFJsUm5WdVkzUnBiMjVEYjIxd2IyNWxiblJWY0dSaGRHVlJkV1YxWlNncE8xeHVJQ0FnSUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlKREV1ZFhCa1lYUmxVWFZsZFdVZ1BTQmpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaVHRjYmlBZ0lDQmpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaUzVzWVhOMFJXWm1aV04wSUQwZ1pXWm1aV04wTG01bGVIUWdQU0JsWm1abFkzUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUd4aGMzUkZabVpsWTNRZ1BTQmpiMjF3YjI1bGJuUlZjR1JoZEdWUmRXVjFaUzVzWVhOMFJXWm1aV04wTzF4dVhHNGdJQ0FnYVdZZ0tHeGhjM1JGWm1abFkzUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR052YlhCdmJtVnVkRlZ3WkdGMFpWRjFaWFZsTG14aGMzUkZabVpsWTNRZ1BTQmxabVpsWTNRdWJtVjRkQ0E5SUdWbVptVmpkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtRnlJR1pwY25OMFJXWm1aV04wSUQwZ2JHRnpkRVZtWm1WamRDNXVaWGgwTzF4dUlDQWdJQ0FnYkdGemRFVm1abVZqZEM1dVpYaDBJRDBnWldabVpXTjBPMXh1SUNBZ0lDQWdaV1ptWldOMExtNWxlSFFnUFNCbWFYSnpkRVZtWm1WamREdGNiaUFnSUNBZ0lHTnZiWEJ2Ym1WdWRGVndaR0YwWlZGMVpYVmxMbXhoYzNSRlptWmxZM1FnUFNCbFptWmxZM1E3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1ZtWm1WamREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXOTFiblJTWldZb2FXNXBkR2xoYkZaaGJIVmxLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdiVzkxYm5SWGIzSnJTVzVRY205bmNtVnpjMGh2YjJzb0tUdGNiaUFnZG1GeUlISmxaaUE5SUh0Y2JpQWdJQ0JqZFhKeVpXNTBPaUJwYm1sMGFXRnNWbUZzZFdWY2JpQWdmVHRjYmx4dUlDQjdYRzRnSUNBZ1QySnFaV04wTG5ObFlXd29jbVZtS1R0Y2JpQWdmVnh1WEc0Z0lHaHZiMnN1YldWdGIybDZaV1JUZEdGMFpTQTlJSEpsWmp0Y2JpQWdjbVYwZFhKdUlISmxaanRjYm4xY2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFVtVm1LR2x1YVhScFlXeFdZV3gxWlNrZ2UxeHVJQ0IyWVhJZ2FHOXZheUE5SUhWd1pHRjBaVmR2Y210SmJsQnliMmR5WlhOelNHOXZheWdwTzF4dUlDQnlaWFIxY200Z2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdGIzVnVkRVZtWm1WamRFbHRjR3dvWm1saVpYSkZabVpsWTNSVVlXY3NJR2h2YjJ0RlptWmxZM1JVWVdjc0lHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjJZWElnYUc5dmF5QTlJRzF2ZFc1MFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDazdYRzRnSUhaaGNpQnVaWGgwUkdWd2N5QTlJR1JsY0hNZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUc1MWJHd2dPaUJrWlhCek8xeHVJQ0JqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhMbVZtWm1WamRGUmhaeUI4UFNCbWFXSmxja1ZtWm1WamRGUmhaenRjYmlBZ2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdjSFZ6YUVWbVptVmpkQ2hJWVhORlptWmxZM1FnZkNCb2IyOXJSV1ptWldOMFZHRm5MQ0JqY21WaGRHVXNJSFZ1WkdWbWFXNWxaQ3dnYm1WNGRFUmxjSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkZabVpsWTNSSmJYQnNLR1pwWW1WeVJXWm1aV04wVkdGbkxDQm9iMjlyUldabVpXTjBWR0ZuTENCamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ2RtRnlJR2h2YjJzZ1BTQjFjR1JoZEdWWGIzSnJTVzVRY205bmNtVnpjMGh2YjJzb0tUdGNiaUFnZG1GeUlHNWxlSFJFWlhCeklEMGdaR1Z3Y3lBOVBUMGdkVzVrWldacGJtVmtJRDhnYm5Wc2JDQTZJR1JsY0hNN1hHNGdJSFpoY2lCa1pYTjBjbTk1SUQwZ2RXNWtaV1pwYm1Wa08xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MFNHOXZheUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSFpoY2lCd2NtVjJSV1ptWldOMElEMGdZM1Z5Y21WdWRFaHZiMnN1YldWdGIybDZaV1JUZEdGMFpUdGNiaUFnSUNCa1pYTjBjbTk1SUQwZ2NISmxka1ZtWm1WamRDNWtaWE4wY205NU8xeHVYRzRnSUNBZ2FXWWdLRzVsZUhSRVpYQnpJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JsY0hNZ1BTQndjbVYyUldabVpXTjBMbVJsY0hNN1hHNWNiaUFnSUNBZ0lHbG1JQ2hoY21WSWIyOXJTVzV3ZFhSelJYRjFZV3dvYm1WNGRFUmxjSE1zSUhCeVpYWkVaWEJ6S1NrZ2UxeHVJQ0FnSUNBZ0lDQndkWE5vUldabVpXTjBLR2h2YjJ0RlptWmxZM1JVWVdjc0lHTnlaV0YwWlN3Z1pHVnpkSEp2ZVN3Z2JtVjRkRVJsY0hNcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1kzVnljbVZ1ZEd4NVVtVnVaR1Z5YVc1blJtbGlaWElrTVM1bFptWmxZM1JVWVdjZ2ZEMGdabWxpWlhKRlptWmxZM1JVWVdjN1hHNGdJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaU0E5SUhCMWMyaEZabVpsWTNRb1NHRnpSV1ptWldOMElId2dhRzl2YTBWbVptVmpkRlJoWnl3Z1kzSmxZWFJsTENCa1pYTjBjbTk1TENCdVpYaDBSR1Z3Y3lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjdYRzRnSUNBZ0x5OGdKRVpzYjNkRmVIQmxZM1JsWkVWeWNtOXlJQzBnYW1WemRDQnBjMjRuZENCaElHZHNiMkpoYkN3Z1lXNWtJR2x6YmlkMElISmxZMjluYm1sNlpXUWdiM1YwYzJsa1pTQnZaaUIwWlhOMGMxeHVJQ0FnSUdsbUlDZ25kVzVrWldacGJtVmtKeUFoUFQwZ2RIbHdaVzltSUdwbGMzUXBJSHRjYmlBZ0lDQWdJSGRoY201SlprNXZkRU4xY25KbGJuUnNlVUZqZEdsdVowVm1abVZqZEhOSmJrUkZWaWhqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiVzkxYm5SRlptWmxZM1JKYlhCc0tGVndaR0YwWlNCOElGQmhjM05wZG1Vc0lGQmhjM05wZG1Va01Td2dZM0psWVhSbExDQmtaWEJ6S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFhCa1lYUmxSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjdYRzRnSUNBZ0x5OGdKRVpzYjNkRmVIQmxZM1JsWkVWeWNtOXlJQzBnYW1WemRDQnBjMjRuZENCaElHZHNiMkpoYkN3Z1lXNWtJR2x6YmlkMElISmxZMjluYm1sNlpXUWdiM1YwYzJsa1pTQnZaaUIwWlhOMGMxeHVJQ0FnSUdsbUlDZ25kVzVrWldacGJtVmtKeUFoUFQwZ2RIbHdaVzltSUdwbGMzUXBJSHRjYmlBZ0lDQWdJSGRoY201SlprNXZkRU4xY25KbGJuUnNlVUZqZEdsdVowVm1abVZqZEhOSmJrUkZWaWhqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkWEJrWVhSbFJXWm1aV04wU1cxd2JDaFZjR1JoZEdVZ2ZDQlFZWE56YVhabExDQlFZWE56YVhabEpERXNJR055WldGMFpTd2daR1Z3Y3lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBUR0Y1YjNWMFJXWm1aV04wS0dOeVpXRjBaU3dnWkdWd2N5a2dlMXh1SUNCeVpYUjFjbTRnYlc5MWJuUkZabVpsWTNSSmJYQnNLRlZ3WkdGMFpTd2dUR0Y1YjNWMExDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVk1ZWGx2ZFhSRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUhKbGRIVnliaUIxY0dSaGRHVkZabVpsWTNSSmJYQnNLRlZ3WkdGMFpTd2dUR0Y1YjNWMExDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYlhCbGNtRjBhWFpsU0dGdVpHeGxSV1ptWldOMEtHTnlaV0YwWlN3Z2NtVm1LU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdjbVZtSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdkbUZ5SUhKbFprTmhiR3hpWVdOcklEMGdjbVZtTzF4dVhHNGdJQ0FnZG1GeUlGOXBibk4wSUQwZ1kzSmxZWFJsS0NrN1hHNWNiaUFnSUNCeVpXWkRZV3hzWW1GamF5aGZhVzV6ZENrN1hHNGdJQ0FnY21WMGRYSnVJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUhKbFprTmhiR3hpWVdOcktHNTFiR3dwTzF4dUlDQWdJSDA3WEc0Z0lIMGdaV3h6WlNCcFppQW9jbVZtSUNFOVBTQnVkV3hzSUNZbUlISmxaaUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ2RtRnlJSEpsWms5aWFtVmpkQ0E5SUhKbFpqdGNibHh1SUNBZ0lIdGNiaUFnSUNBZ0lHbG1JQ2doY21WbVQySnFaV04wTG1oaGMwOTNibEJ5YjNCbGNuUjVLQ2RqZFhKeVpXNTBKeWtwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUhWelpVbHRjR1Z5WVhScGRtVklZVzVrYkdVb0tTQm1hWEp6ZENCaGNtZDFiV1Z1ZENCMGJ5QmxhWFJvWlhJZ1ltVWdZU0FuSUNzZ0ozSmxaaUJqWVd4c1ltRmpheUJ2Y2lCU1pXRmpkQzVqY21WaGRHVlNaV1lvS1NCdlltcGxZM1F1SUVsdWMzUmxZV1FnY21WalpXbDJaV1E2SUNWekxpY3NJQ2RoYmlCdlltcGxZM1FnZDJsMGFDQnJaWGx6SUhzbklDc2dUMkpxWldOMExtdGxlWE1vY21WbVQySnFaV04wS1M1cWIybHVLQ2NzSUNjcElDc2dKMzBuS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ1gybHVjM1F5SUQwZ1kzSmxZWFJsS0NrN1hHNWNiaUFnSUNCeVpXWlBZbXBsWTNRdVkzVnljbVZ1ZENBOUlGOXBibk4wTWp0Y2JpQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnY21WbVQySnFaV04wTG1OMWNuSmxiblFnUFNCdWRXeHNPMXh1SUNBZ0lIMDdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYlc5MWJuUkpiWEJsY21GMGFYWmxTR0Z1Wkd4bEtISmxaaXdnWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUdOeVpXRjBaU0FoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lIVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW9LU0J6WldOdmJtUWdZWEpuZFcxbGJuUWdkRzhnWW1VZ1lTQm1kVzVqZEdsdmJpQW5JQ3NnSjNSb1lYUWdZM0psWVhSbGN5QmhJR2hoYm1Sc1pTNGdTVzV6ZEdWaFpDQnlaV05sYVhabFpEb2dKWE11Snl3Z1kzSmxZWFJsSUNFOVBTQnVkV3hzSUQ4Z2RIbHdaVzltSUdOeVpXRjBaU0E2SUNkdWRXeHNKeWs3WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRlJQUkU4NklFbG1JR1JsY0hNZ1lYSmxJSEJ5YjNacFpHVmtMQ0J6YUc5MWJHUWdkMlVnYzJ0cGNDQmpiMjF3WVhKcGJtY2dkR2hsSUhKbFppQnBkSE5sYkdZL1hHNWNibHh1SUNCMllYSWdaV1ptWldOMFJHVndjeUE5SUdSbGNITWdJVDA5SUc1MWJHd2dKaVlnWkdWd2N5QWhQVDBnZFc1a1pXWnBibVZrSUQ4Z1pHVndjeTVqYjI1allYUW9XM0psWmwwcElEb2diblZzYkR0Y2JpQWdjbVYwZFhKdUlHMXZkVzUwUldabVpXTjBTVzF3YkNoVmNHUmhkR1VzSUV4aGVXOTFkQ3dnYVcxd1pYSmhkR2wyWlVoaGJtUnNaVVZtWm1WamRDNWlhVzVrS0c1MWJHd3NJR055WldGMFpTd2djbVZtS1N3Z1pXWm1aV04wUkdWd2N5azdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVndaR0YwWlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdZM0psWVhSbElDRTlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduUlhod1pXTjBaV1FnZFhObFNXMXdaWEpoZEdsMlpVaGhibVJzWlNncElITmxZMjl1WkNCaGNtZDFiV1Z1ZENCMGJ5QmlaU0JoSUdaMWJtTjBhVzl1SUNjZ0t5QW5kR2hoZENCamNtVmhkR1Z6SUdFZ2FHRnVaR3hsTGlCSmJuTjBaV0ZrSUhKbFkyVnBkbVZrT2lBbGN5NG5MQ0JqY21WaGRHVWdJVDA5SUc1MWJHd2dQeUIwZVhCbGIyWWdZM0psWVhSbElEb2dKMjUxYkd3bktUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1ZFOUVUem9nU1dZZ1pHVndjeUJoY21VZ2NISnZkbWxrWldRc0lITm9iM1ZzWkNCM1pTQnphMmx3SUdOdmJYQmhjbWx1WnlCMGFHVWdjbVZtSUdsMGMyVnNaajljYmx4dVhHNGdJSFpoY2lCbFptWmxZM1JFWlhCeklEMGdaR1Z3Y3lBaFBUMGdiblZzYkNBbUppQmtaWEJ6SUNFOVBTQjFibVJsWm1sdVpXUWdQeUJrWlhCekxtTnZibU5oZENoYmNtVm1YU2tnT2lCdWRXeHNPMXh1SUNCeVpYUjFjbTRnZFhCa1lYUmxSV1ptWldOMFNXMXdiQ2hWY0dSaGRHVXNJRXhoZVc5MWRDd2dhVzF3WlhKaGRHbDJaVWhoYm1Sc1pVVm1abVZqZEM1aWFXNWtLRzUxYkd3c0lHTnlaV0YwWlN3Z2NtVm1LU3dnWldabVpXTjBSR1Z3Y3lrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBSR1ZpZFdkV1lXeDFaU2gyWVd4MVpTd2dabTl5YldGMGRHVnlSbTRwSUhzdkx5QlVhR2x6SUdodmIyc2dhWE1nYm05eWJXRnNiSGtnWVNCdWJ5MXZjQzVjYmlBZ0x5OGdWR2hsSUhKbFlXTjBMV1JsWW5WbkxXaHZiMnR6SUhCaFkydGhaMlVnYVc1cVpXTjBjeUJwZEhNZ2IzZHVJR2x0Y0d4bGJXVnVkR0YwYVc5dVhHNGdJQzh2SUhOdklIUm9ZWFFnWlM1bkxpQkVaWFpVYjI5c2N5QmpZVzRnWkdsemNHeGhlU0JqZFhOMGIyMGdhRzl2YXlCMllXeDFaWE11WEc1OVhHNWNiblpoY2lCMWNHUmhkR1ZFWldKMVoxWmhiSFZsSUQwZ2JXOTFiblJFWldKMVoxWmhiSFZsTzF4dVhHNW1kVzVqZEdsdmJpQnRiM1Z1ZEVOaGJHeGlZV05yS0dOaGJHeGlZV05yTENCa1pYQnpLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdiVzkxYm5SWGIzSnJTVzVRY205bmNtVnpjMGh2YjJzb0tUdGNiaUFnZG1GeUlHNWxlSFJFWlhCeklEMGdaR1Z3Y3lBOVBUMGdkVzVrWldacGJtVmtJRDhnYm5Wc2JDQTZJR1JsY0hNN1hHNGdJR2h2YjJzdWJXVnRiMmw2WldSVGRHRjBaU0E5SUZ0allXeHNZbUZqYXl3Z2JtVjRkRVJsY0hOZE8xeHVJQ0J5WlhSMWNtNGdZMkZzYkdKaFkyczdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVndaR0YwWlVOaGJHeGlZV05yS0dOaGJHeGlZV05yTENCa1pYQnpLU0I3WEc0Z0lIWmhjaUJvYjI5cklEMGdkWEJrWVhSbFYyOXlhMGx1VUhKdlozSmxjM05JYjI5cktDazdYRzRnSUhaaGNpQnVaWGgwUkdWd2N5QTlJR1JsY0hNZ1BUMDlJSFZ1WkdWbWFXNWxaQ0EvSUc1MWJHd2dPaUJrWlhCek8xeHVJQ0IyWVhJZ2NISmxkbE4wWVhSbElEMGdhRzl2YXk1dFpXMXZhWHBsWkZOMFlYUmxPMXh1WEc0Z0lHbG1JQ2h3Y21WMlUzUmhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb2JtVjRkRVJsY0hNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJHVndjeUE5SUhCeVpYWlRkR0YwWlZzeFhUdGNibHh1SUNBZ0lDQWdhV1lnS0dGeVpVaHZiMnRKYm5CMWRITkZjWFZoYkNodVpYaDBSR1Z3Y3l3Z2NISmxka1JsY0hNcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQndjbVYyVTNSaGRHVmJNRjA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnYUc5dmF5NXRaVzF2YVhwbFpGTjBZWFJsSUQwZ1cyTmhiR3hpWVdOckxDQnVaWGgwUkdWd2MxMDdYRzRnSUhKbGRIVnliaUJqWVd4c1ltRmphenRjYm4xY2JseHVablZ1WTNScGIyNGdiVzkxYm5STlpXMXZLRzVsZUhSRGNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ2RtRnlJR2h2YjJzZ1BTQnRiM1Z1ZEZkdmNtdEpibEJ5YjJkeVpYTnpTRzl2YXlncE8xeHVJQ0IyWVhJZ2JtVjRkRVJsY0hNZ1BTQmtaWEJ6SUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ1ZFd4c0lEb2daR1Z3Y3p0Y2JpQWdkbUZ5SUc1bGVIUldZV3gxWlNBOUlHNWxlSFJEY21WaGRHVW9LVHRjYmlBZ2FHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdXMjVsZUhSV1lXeDFaU3dnYm1WNGRFUmxjSE5kTzF4dUlDQnlaWFIxY200Z2JtVjRkRlpoYkhWbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWNHUmhkR1ZOWlcxdktHNWxlSFJEY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnZG1GeUlHaHZiMnNnUFNCMWNHUmhkR1ZYYjNKclNXNVFjbTluY21WemMwaHZiMnNvS1R0Y2JpQWdkbUZ5SUc1bGVIUkVaWEJ6SUQwZ1pHVndjeUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHUmxjSE03WEc0Z0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCb2IyOXJMbTFsYlc5cGVtVmtVM1JoZEdVN1hHNWNiaUFnYVdZZ0tIQnlaWFpUZEdGMFpTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDOHZJRUZ6YzNWdFpTQjBhR1Z6WlNCaGNtVWdaR1ZtYVc1bFpDNGdTV1lnZEdobGVTZHlaU0J1YjNRc0lHRnlaVWh2YjJ0SmJuQjFkSE5GY1hWaGJDQjNhV3hzSUhkaGNtNHVYRzRnSUNBZ2FXWWdLRzVsZUhSRVpYQnpJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JsY0hNZ1BTQndjbVYyVTNSaGRHVmJNVjA3WEc1Y2JpQWdJQ0FnSUdsbUlDaGhjbVZJYjI5clNXNXdkWFJ6UlhGMVlXd29ibVY0ZEVSbGNITXNJSEJ5WlhaRVpYQnpLU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY0hKbGRsTjBZWFJsV3pCZE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ1WlhoMFZtRnNkV1VnUFNCdVpYaDBRM0psWVhSbEtDazdYRzRnSUdodmIyc3ViV1Z0YjJsNlpXUlRkR0YwWlNBOUlGdHVaWGgwVm1Gc2RXVXNJRzVsZUhSRVpYQnpYVHRjYmlBZ2NtVjBkWEp1SUc1bGVIUldZV3gxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYlc5MWJuUkVaV1psY25KbFpGWmhiSFZsS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ2RtRnlJRjl0YjNWdWRGTjBZWFJsSUQwZ2JXOTFiblJUZEdGMFpTaDJZV3gxWlNrc1hHNGdJQ0FnSUNCd2NtVjJWbUZzZFdVZ1BTQmZiVzkxYm5SVGRHRjBaVnN3WFN4Y2JpQWdJQ0FnSUhObGRGWmhiSFZsSUQwZ1gyMXZkVzUwVTNSaGRHVmJNVjA3WEc1Y2JpQWdiVzkxYm5SRlptWmxZM1FvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhaaGNpQndjbVYyYVc5MWMwTnZibVpwWnlBOUlGSmxZV04wUTNWeWNtVnVkRUpoZEdOb1EyOXVabWxuSkRFdWMzVnpjR1Z1YzJVN1hHNGdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFFtRjBZMmhEYjI1bWFXY2tNUzV6ZFhOd1pXNXpaU0E5SUdOdmJtWnBaeUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHTnZibVpwWnp0Y2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpaWFJXWVd4MVpTaDJZV3gxWlNrN1hHNGdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFSmhkR05vUTI5dVptbG5KREV1YzNWemNHVnVjMlVnUFNCd2NtVjJhVzkxYzBOdmJtWnBaenRjYmlBZ0lDQjlYRzRnSUgwc0lGdDJZV3gxWlN3Z1kyOXVabWxuWFNrN1hHNGdJSEpsZEhWeWJpQndjbVYyVm1Gc2RXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVndaR0YwWlVSbFptVnljbVZrVm1Gc2RXVW9kbUZzZFdVc0lHTnZibVpwWnlrZ2UxeHVJQ0IyWVhJZ1gzVndaR0YwWlZOMFlYUmxJRDBnZFhCa1lYUmxVM1JoZEdVb0tTeGNiaUFnSUNBZ0lIQnlaWFpXWVd4MVpTQTlJRjkxY0dSaGRHVlRkR0YwWlZzd1hTeGNiaUFnSUNBZ0lITmxkRlpoYkhWbElEMGdYM1Z3WkdGMFpWTjBZWFJsV3pGZE8xeHVYRzRnSUhWd1pHRjBaVVZtWm1WamRDaG1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdkbUZ5SUhCeVpYWnBiM1Z6UTI5dVptbG5JRDBnVW1WaFkzUkRkWEp5Wlc1MFFtRjBZMmhEYjI1bWFXY2tNUzV6ZFhOd1pXNXpaVHRjYmlBZ0lDQlNaV0ZqZEVOMWNuSmxiblJDWVhSamFFTnZibVpwWnlReExuTjFjM0JsYm5ObElEMGdZMjl1Wm1sbklEMDlQU0IxYm1SbFptbHVaV1FnUHlCdWRXeHNJRG9nWTI5dVptbG5PMXh1WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUhObGRGWmhiSFZsS0haaGJIVmxLVHRjYmlBZ0lDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUW1GMFkyaERiMjVtYVdja01TNXpkWE53Wlc1elpTQTlJSEJ5WlhacGIzVnpRMjl1Wm1sbk8xeHVJQ0FnSUgxY2JpQWdmU3dnVzNaaGJIVmxMQ0JqYjI1bWFXZGRLVHRjYmlBZ2NtVjBkWEp1SUhCeVpYWldZV3gxWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY21WeVpXNWtaWEpFWldabGNuSmxaRlpoYkhWbEtIWmhiSFZsTENCamIyNW1hV2NwSUh0Y2JpQWdkbUZ5SUY5eVpYSmxibVJsY2xOMFlYUmxJRDBnY21WeVpXNWtaWEpUZEdGMFpTZ3BMRnh1SUNBZ0lDQWdjSEpsZGxaaGJIVmxJRDBnWDNKbGNtVnVaR1Z5VTNSaGRHVmJNRjBzWEc0Z0lDQWdJQ0J6WlhSV1lXeDFaU0E5SUY5eVpYSmxibVJsY2xOMFlYUmxXekZkTzF4dVhHNGdJSFZ3WkdGMFpVVm1abVZqZENobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RtRnlJSEJ5WlhacGIzVnpRMjl1Wm1sbklEMGdVbVZoWTNSRGRYSnlaVzUwUW1GMFkyaERiMjVtYVdja01TNXpkWE53Wlc1elpUdGNiaUFnSUNCU1pXRmpkRU4xY25KbGJuUkNZWFJqYUVOdmJtWnBaeVF4TG5OMWMzQmxibk5sSUQwZ1kyOXVabWxuSUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ1ZFd4c0lEb2dZMjl1Wm1sbk8xeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSE5sZEZaaGJIVmxLSFpoYkhWbEtUdGNiaUFnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBRbUYwWTJoRGIyNW1hV2NrTVM1emRYTndaVzV6WlNBOUlIQnlaWFpwYjNWelEyOXVabWxuTzF4dUlDQWdJSDFjYmlBZ2ZTd2dXM1poYkhWbExDQmpiMjVtYVdkZEtUdGNiaUFnY21WMGRYSnVJSEJ5WlhaV1lXeDFaVHRjYm4xY2JseHVablZ1WTNScGIyNGdjM1JoY25SVWNtRnVjMmwwYVc5dUtITmxkRkJsYm1ScGJtY3NJR052Ym1acFp5d2dZMkZzYkdKaFkyc3BJSHRjYmlBZ2RtRnlJSEJ5YVc5eWFYUjVUR1YyWld3Z1BTQm5aWFJEZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkNncE8xeHVJQ0J5ZFc1WGFYUm9VSEpwYjNKcGRIa2tNU2h3Y21sdmNtbDBlVXhsZG1Wc0lEd2dWWE5sY2tKc2IyTnJhVzVuVUhKcGIzSnBkSGtrTVNBL0lGVnpaWEpDYkc5amEybHVaMUJ5YVc5eWFYUjVKREVnT2lCd2NtbHZjbWwwZVV4bGRtVnNMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYzJWMFVHVnVaR2x1WnloMGNuVmxLVHRjYmlBZ2ZTazdYRzRnSUhKMWJsZHBkR2hRY21sdmNtbDBlU1F4S0hCeWFXOXlhWFI1VEdWMlpXd2dQaUJPYjNKdFlXeFFjbWx2Y21sMGVTQS9JRTV2Y20xaGJGQnlhVzl5YVhSNUlEb2djSEpwYjNKcGRIbE1aWFpsYkN3Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIWmhjaUJ3Y21WMmFXOTFjME52Ym1acFp5QTlJRkpsWVdOMFEzVnljbVZ1ZEVKaGRHTm9RMjl1Wm1sbkpERXVjM1Z6Y0dWdWMyVTdYRzRnSUNBZ1VtVmhZM1JEZFhKeVpXNTBRbUYwWTJoRGIyNW1hV2NrTVM1emRYTndaVzV6WlNBOUlHTnZibVpwWnlBOVBUMGdkVzVrWldacGJtVmtJRDhnYm5Wc2JDQTZJR052Ym1acFp6dGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0J6WlhSUVpXNWthVzVuS0daaGJITmxLVHRjYmlBZ0lDQWdJR05oYkd4aVlXTnJLQ2s3WEc0Z0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVKaGRHTm9RMjl1Wm1sbkpERXVjM1Z6Y0dWdWMyVWdQU0J3Y21WMmFXOTFjME52Ym1acFp6dGNiaUFnSUNCOVhHNGdJSDBwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0YjNWdWRGUnlZVzV6YVhScGIyNG9ZMjl1Wm1sbktTQjdYRzRnSUhaaGNpQmZiVzkxYm5SVGRHRjBaVElnUFNCdGIzVnVkRk4wWVhSbEtHWmhiSE5sS1N4Y2JpQWdJQ0FnSUdselVHVnVaR2x1WnlBOUlGOXRiM1Z1ZEZOMFlYUmxNbHN3WFN4Y2JpQWdJQ0FnSUhObGRGQmxibVJwYm1jZ1BTQmZiVzkxYm5SVGRHRjBaVEpiTVYwN1hHNWNiaUFnZG1GeUlITjBZWEowSUQwZ2JXOTFiblJEWVd4c1ltRmpheWh6ZEdGeWRGUnlZVzV6YVhScGIyNHVZbWx1WkNodWRXeHNMQ0J6WlhSUVpXNWthVzVuTENCamIyNW1hV2NwTENCYmMyVjBVR1Z1WkdsdVp5d2dZMjl1Wm1sblhTazdYRzRnSUhKbGRIVnliaUJiYzNSaGNuUXNJR2x6VUdWdVpHbHVaMTA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpWUnlZVzV6YVhScGIyNG9ZMjl1Wm1sbktTQjdYRzRnSUhaaGNpQmZkWEJrWVhSbFUzUmhkR1V5SUQwZ2RYQmtZWFJsVTNSaGRHVW9LU3hjYmlBZ0lDQWdJR2x6VUdWdVpHbHVaeUE5SUY5MWNHUmhkR1ZUZEdGMFpUSmJNRjBzWEc0Z0lDQWdJQ0J6WlhSUVpXNWthVzVuSUQwZ1gzVndaR0YwWlZOMFlYUmxNbHN4WFR0Y2JseHVJQ0IyWVhJZ2MzUmhjblFnUFNCMWNHUmhkR1ZEWVd4c1ltRmpheWh6ZEdGeWRGUnlZVzV6YVhScGIyNHVZbWx1WkNodWRXeHNMQ0J6WlhSUVpXNWthVzVuTENCamIyNW1hV2NwTENCYmMyVjBVR1Z1WkdsdVp5d2dZMjl1Wm1sblhTazdYRzRnSUhKbGRIVnliaUJiYzNSaGNuUXNJR2x6VUdWdVpHbHVaMTA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsY21WdVpHVnlWSEpoYm5OcGRHbHZiaWhqYjI1bWFXY3BJSHRjYmlBZ2RtRnlJRjl5WlhKbGJtUmxjbE4wWVhSbE1pQTlJSEpsY21WdVpHVnlVM1JoZEdVb0tTeGNiaUFnSUNBZ0lHbHpVR1Z1WkdsdVp5QTlJRjl5WlhKbGJtUmxjbE4wWVhSbE1sc3dYU3hjYmlBZ0lDQWdJSE5sZEZCbGJtUnBibWNnUFNCZmNtVnlaVzVrWlhKVGRHRjBaVEpiTVYwN1hHNWNiaUFnZG1GeUlITjBZWEowSUQwZ2RYQmtZWFJsUTJGc2JHSmhZMnNvYzNSaGNuUlVjbUZ1YzJsMGFXOXVMbUpwYm1Rb2JuVnNiQ3dnYzJWMFVHVnVaR2x1Wnl3Z1kyOXVabWxuS1N3Z1czTmxkRkJsYm1ScGJtY3NJR052Ym1acFoxMHBPMXh1SUNCeVpYUjFjbTRnVzNOMFlYSjBMQ0JwYzFCbGJtUnBibWRkTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrYVhOd1lYUmphRUZqZEdsdmJpaG1hV0psY2l3Z2NYVmxkV1VzSUdGamRHbHZiaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmhjbWQxYldWdWRITmJNMTBnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJR1Z5Y205eUtGd2lVM1JoZEdVZ2RYQmtZWFJsY3lCbWNtOXRJSFJvWlNCMWMyVlRkR0YwWlNncElHRnVaQ0IxYzJWU1pXUjFZMlZ5S0NrZ1NHOXZhM01nWkc5dUozUWdjM1Z3Y0c5eWRDQjBhR1VnWENJZ0t5QW5jMlZqYjI1a0lHTmhiR3hpWVdOcklHRnlaM1Z0Wlc1MExpQlVieUJsZUdWamRYUmxJR0VnYzJsa1pTQmxabVpsWTNRZ1lXWjBaWElnSnlBcklDZHlaVzVrWlhKcGJtY3NJR1JsWTJ4aGNtVWdhWFFnYVc0Z2RHaGxJR052YlhCdmJtVnVkQ0JpYjJSNUlIZHBkR2dnZFhObFJXWm1aV04wS0NrdUp5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdOMWNuSmxiblJVYVcxbElEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVWFXMWxSbTl5VlhCa1lYUmxLQ2s3WEc0Z0lIWmhjaUJ6ZFhOd1pXNXpaVU52Ym1acFp5QTlJSEpsY1hWbGMzUkRkWEp5Wlc1MFUzVnpjR1Z1YzJWRGIyNW1hV2NvS1R0Y2JpQWdkbUZ5SUdWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWTI5dGNIVjBaVVY0Y0dseVlYUnBiMjVHYjNKR2FXSmxjaWhqZFhKeVpXNTBWR2x0WlN3Z1ptbGlaWElzSUhOMWMzQmxibk5sUTI5dVptbG5LVHRjYmlBZ2RtRnlJSFZ3WkdGMFpTQTlJSHRjYmlBZ0lDQmxlSEJwY21GMGFXOXVWR2x0WlRvZ1pYaHdhWEpoZEdsdmJsUnBiV1VzWEc0Z0lDQWdjM1Z6Y0dWdWMyVkRiMjVtYVdjNklITjFjM0JsYm5ObFEyOXVabWxuTEZ4dUlDQWdJR0ZqZEdsdmJqb2dZV04wYVc5dUxGeHVJQ0FnSUdWaFoyVnlVbVZrZFdObGNqb2diblZzYkN4Y2JpQWdJQ0JsWVdkbGNsTjBZWFJsT2lCdWRXeHNMRnh1SUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnZlR0Y2JseHVJQ0I3WEc0Z0lDQWdkWEJrWVhSbExuQnlhVzl5YVhSNUlEMGdaMlYwUTNWeWNtVnVkRkJ5YVc5eWFYUjVUR1YyWld3b0tUdGNiaUFnZlNBdkx5QkJjSEJsYm1RZ2RHaGxJSFZ3WkdGMFpTQjBieUIwYUdVZ1pXNWtJRzltSUhSb1pTQnNhWE4wTGx4dVhHNWNiaUFnZG1GeUlIQmxibVJwYm1jZ1BTQnhkV1YxWlM1d1pXNWthVzVuTzF4dVhHNGdJR2xtSUNod1pXNWthVzVuSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdabWx5YzNRZ2RYQmtZWFJsTGlCRGNtVmhkR1VnWVNCamFYSmpkV3hoY2lCc2FYTjBMbHh1SUNBZ0lIVndaR0YwWlM1dVpYaDBJRDBnZFhCa1lYUmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFZ3WkdGMFpTNXVaWGgwSUQwZ2NHVnVaR2x1Wnk1dVpYaDBPMXh1SUNBZ0lIQmxibVJwYm1jdWJtVjRkQ0E5SUhWd1pHRjBaVHRjYmlBZ2ZWeHVYRzRnSUhGMVpYVmxMbkJsYm1ScGJtY2dQU0IxY0dSaGRHVTdYRzRnSUhaaGNpQmhiSFJsY201aGRHVWdQU0JtYVdKbGNpNWhiSFJsY201aGRHVTdYRzVjYmlBZ2FXWWdLR1pwWW1WeUlEMDlQU0JqZFhKeVpXNTBiSGxTWlc1a1pYSnBibWRHYVdKbGNpUXhJSHg4SUdGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmhiSFJsY201aGRHVWdQVDA5SUdOMWNuSmxiblJzZVZKbGJtUmxjbWx1WjBacFltVnlKREVwSUh0Y2JpQWdJQ0F2THlCVWFHbHpJR2x6SUdFZ2NtVnVaR1Z5SUhCb1lYTmxJSFZ3WkdGMFpTNGdVM1JoYzJnZ2FYUWdhVzRnWVNCc1lYcHBiSGt0WTNKbFlYUmxaQ0J0WVhBZ2IyWmNiaUFnSUNBdkx5QnhkV1YxWlNBdFBpQnNhVzVyWldRZ2JHbHpkQ0J2WmlCMWNHUmhkR1Z6TGlCQlpuUmxjaUIwYUdseklISmxibVJsY2lCd1lYTnpMQ0IzWlNkc2JDQnlaWE4wWVhKMFhHNGdJQ0FnTHk4Z1lXNWtJR0Z3Y0d4NUlIUm9aU0J6ZEdGemFHVmtJSFZ3WkdGMFpYTWdiMjRnZEc5d0lHOW1JSFJvWlNCM2IzSnJMV2x1TFhCeWIyZHlaWE56SUdodmIyc3VYRzRnSUNBZ1pHbGtVMk5vWldSMWJHVlNaVzVrWlhKUWFHRnpaVlZ3WkdGMFpTQTlJSFJ5ZFdVN1hHNGdJQ0FnZFhCa1lYUmxMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lDQWdZM1Z5Y21WdWRHeDVVbVZ1WkdWeWFXNW5SbWxpWlhJa01TNWxlSEJwY21GMGFXOXVWR2x0WlNBOUlISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2xtSUNobWFXSmxjaTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlQVDBnVG05WGIzSnJJQ1ltSUNoaGJIUmxjbTVoZEdVZ1BUMDlJRzUxYkd3Z2ZId2dZV3gwWlhKdVlYUmxMbVY0Y0dseVlYUnBiMjVVYVcxbElEMDlQU0JPYjFkdmNtc3BLU0I3WEc0Z0lDQWdJQ0F2THlCVWFHVWdjWFZsZFdVZ2FYTWdZM1Z5Y21WdWRHeDVJR1Z0Y0hSNUxDQjNhR2xqYUNCdFpXRnVjeUIzWlNCallXNGdaV0ZuWlhKc2VTQmpiMjF3ZFhSbElIUm9aVnh1SUNBZ0lDQWdMeThnYm1WNGRDQnpkR0YwWlNCaVpXWnZjbVVnWlc1MFpYSnBibWNnZEdobElISmxibVJsY2lCd2FHRnpaUzRnU1dZZ2RHaGxJRzVsZHlCemRHRjBaU0JwY3lCMGFHVmNiaUFnSUNBZ0lDOHZJSE5oYldVZ1lYTWdkR2hsSUdOMWNuSmxiblFnYzNSaGRHVXNJSGRsSUcxaGVTQmlaU0JoWW14bElIUnZJR0poYVd3Z2IzVjBJR1Z1ZEdseVpXeDVMbHh1SUNBZ0lDQWdkbUZ5SUd4aGMzUlNaVzVrWlhKbFpGSmxaSFZqWlhJZ1BTQnhkV1YxWlM1c1lYTjBVbVZ1WkdWeVpXUlNaV1IxWTJWeU8xeHVYRzRnSUNBZ0lDQnBaaUFvYkdGemRGSmxibVJsY21Wa1VtVmtkV05sY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzVjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmxWd1pHRjBaVWx1UkVWV08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1kzVnljbVZ1ZEZOMFlYUmxJRDBnY1hWbGRXVXViR0Z6ZEZKbGJtUmxjbVZrVTNSaGRHVTdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHVmhaMlZ5VTNSaGRHVWdQU0JzWVhOMFVtVnVaR1Z5WldSU1pXUjFZMlZ5S0dOMWNuSmxiblJUZEdGMFpTd2dZV04wYVc5dUtUc2dMeThnVTNSaGMyZ2dkR2hsSUdWaFoyVnliSGtnWTI5dGNIVjBaV1FnYzNSaGRHVXNJR0Z1WkNCMGFHVWdjbVZrZFdObGNpQjFjMlZrSUhSdklHTnZiWEIxZEdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJwZEN3Z2IyNGdkR2hsSUhWd1pHRjBaU0J2WW1wbFkzUXVJRWxtSUhSb1pTQnlaV1IxWTJWeUlHaGhjMjRuZENCamFHRnVaMlZrSUdKNUlIUm9aVnh1SUNBZ0lDQWdJQ0FnSUM4dklIUnBiV1VnZDJVZ1pXNTBaWElnZEdobElISmxibVJsY2lCd2FHRnpaU3dnZEdobGJpQjBhR1VnWldGblpYSWdjM1JoZEdVZ1kyRnVJR0psSUhWelpXUmNiaUFnSUNBZ0lDQWdJQ0F2THlCM2FYUm9iM1YwSUdOaGJHeHBibWNnZEdobElISmxaSFZqWlhJZ1lXZGhhVzR1WEc1Y2JpQWdJQ0FnSUNBZ0lDQjFjR1JoZEdVdVpXRm5aWEpTWldSMVkyVnlJRDBnYkdGemRGSmxibVJsY21Wa1VtVmtkV05sY2p0Y2JpQWdJQ0FnSUNBZ0lDQjFjR1JoZEdVdVpXRm5aWEpUZEdGMFpTQTlJR1ZoWjJWeVUzUmhkR1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYjJKcVpXTjBTWE1vWldGblpYSlRkR0YwWlN3Z1kzVnljbVZ1ZEZOMFlYUmxLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnUm1GemRDQndZWFJvTGlCWFpTQmpZVzRnWW1GcGJDQnZkWFFnZDJsMGFHOTFkQ0J6WTJobFpIVnNhVzVuSUZKbFlXTjBJSFJ2SUhKbExYSmxibVJsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsMEozTWdjM1JwYkd3Z2NHOXpjMmxpYkdVZ2RHaGhkQ0IzWlNkc2JDQnVaV1ZrSUhSdklISmxZbUZ6WlNCMGFHbHpJSFZ3WkdGMFpTQnNZWFJsY2l4Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdsbUlIUm9aU0JqYjIxd2IyNWxiblFnY21VdGNtVnVaR1Z5Y3lCbWIzSWdZU0JrYVdabVpYSmxiblFnY21WaGMyOXVJR0Z1WkNCaWVTQjBhR0YwWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIwYVcxbElIUm9aU0J5WldSMVkyVnlJR2hoY3lCamFHRnVaMlZrTGx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHN2THlCVGRYQndjbVZ6Y3lCMGFHVWdaWEp5YjNJdUlFbDBJSGRwYkd3Z2RHaHliM2NnWVdkaGFXNGdhVzRnZEdobElISmxibVJsY2lCd2FHRnpaUzVjYmlBZ0lDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0F2THlBa1JteHZkMFY0Y0dWamRHVmtSWEp5YjNJZ0xTQnFaWE4wSUdsemJpZDBJR0VnWjJ4dlltRnNMQ0JoYm1RZ2FYTnVKM1FnY21WamIyZHVhWHBsWkNCdmRYUnphV1JsSUc5bUlIUmxjM1J6WEc0Z0lDQWdJQ0JwWmlBb0ozVnVaR1ZtYVc1bFpDY2dJVDA5SUhSNWNHVnZaaUJxWlhOMEtTQjdYRzRnSUNBZ0lDQWdJSGRoY201SlprNXZkRk5qYjNCbFpGZHBkR2hOWVhSamFHbHVaMEZqZENobWFXSmxjaWs3WEc0Z0lDQWdJQ0FnSUhkaGNtNUpaazV2ZEVOMWNuSmxiblJzZVVGamRHbHVaMVZ3WkdGMFpYTkpia1JsZGlobWFXSmxjaWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjMk5vWldSMWJHVlhiM0pyS0dacFltVnlMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgxY2JuMWNibHh1ZG1GeUlFTnZiblJsZUhSUGJteDVSR2x6Y0dGMFkyaGxjaUE5SUh0Y2JpQWdjbVZoWkVOdmJuUmxlSFE2SUhKbFlXUkRiMjUwWlhoMExGeHVJQ0IxYzJWRFlXeHNZbUZqYXpvZ2RHaHliM2RKYm5aaGJHbGtTRzl2YTBWeWNtOXlMRnh1SUNCMWMyVkRiMjUwWlhoME9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVVZtWm1WamREb2dkR2h5YjNkSmJuWmhiR2xrU0c5dmEwVnljbTl5TEZ4dUlDQjFjMlZKYlhCbGNtRjBhWFpsU0dGdVpHeGxPaUIwYUhKdmQwbHVkbUZzYVdSSWIyOXJSWEp5YjNJc1hHNGdJSFZ6WlV4aGVXOTFkRVZtWm1WamREb2dkR2h5YjNkSmJuWmhiR2xrU0c5dmEwVnljbTl5TEZ4dUlDQjFjMlZOWlcxdk9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVkpsWkhWalpYSTZJSFJvY205M1NXNTJZV3hwWkVodmIydEZjbkp2Y2l4Y2JpQWdkWE5sVW1WbU9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVk4wWVhSbE9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVVJsWW5WblZtRnNkV1U2SUhSb2NtOTNTVzUyWVd4cFpFaHZiMnRGY25KdmNpeGNiaUFnZFhObFVtVnpjRzl1WkdWeU9pQjBhSEp2ZDBsdWRtRnNhV1JJYjI5clJYSnliM0lzWEc0Z0lIVnpaVVJsWm1WeWNtVmtWbUZzZFdVNklIUm9jbTkzU1c1MllXeHBaRWh2YjJ0RmNuSnZjaXhjYmlBZ2RYTmxWSEpoYm5OcGRHbHZiam9nZEdoeWIzZEpiblpoYkdsa1NHOXZhMFZ5Y205eVhHNTlPMXh1ZG1GeUlFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVRXOTFiblJKYmtSRlZpQTlJRzUxYkd3N1hHNTJZWElnU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRGZHBkR2hJYjI5clZIbHdaWE5KYmtSRlZpQTlJRzUxYkd3N1hHNTJZWElnU0c5dmEzTkVhWE53WVhSamFHVnlUMjVWY0dSaGRHVkpia1JGVmlBOUlHNTFiR3c3WEc1MllYSWdTRzl2YTNORWFYTndZWFJqYUdWeVQyNVNaWEpsYm1SbGNrbHVSRVZXSUQwZ2JuVnNiRHRjYm5aaGNpQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRFbHVSRVZXSUQwZ2JuVnNiRHRjYm5aaGNpQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVWY0dSaGRHVkpia1JGVmlBOUlHNTFiR3c3WEc1MllYSWdTVzUyWVd4cFpFNWxjM1JsWkVodmIydHpSR2x6Y0dGMFkyaGxjazl1VW1WeVpXNWtaWEpKYmtSRlZpQTlJRzUxYkd3N1hHNWNibnRjYmlBZ2RtRnlJSGRoY201SmJuWmhiR2xrUTI5dWRHVjRkRUZqWTJWemN5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JsY25KdmNpZ25RMjl1ZEdWNGRDQmpZVzRnYjI1c2VTQmlaU0J5WldGa0lIZG9hV3hsSUZKbFlXTjBJR2x6SUhKbGJtUmxjbWx1Wnk0Z0p5QXJJQ2RKYmlCamJHRnpjMlZ6TENCNWIzVWdZMkZ1SUhKbFlXUWdhWFFnYVc0Z2RHaGxJSEpsYm1SbGNpQnRaWFJvYjJRZ2IzSWdaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVkJ5YjNCekxpQW5JQ3NnSjBsdUlHWjFibU4wYVc5dUlHTnZiWEJ2Ym1WdWRITXNJSGx2ZFNCallXNGdjbVZoWkNCcGRDQmthWEpsWTNSc2VTQnBiaUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlU3dnWW5WMElHNXZkQ0FuSUNzZ0oybHVjMmxrWlNCSWIyOXJjeUJzYVd0bElIVnpaVkpsWkhWalpYSW9LU0J2Y2lCMWMyVk5aVzF2S0NrdUp5azdYRzRnSUgwN1hHNWNiaUFnZG1GeUlIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCbGNuSnZjaWduUkc4Z2JtOTBJR05oYkd3Z1NHOXZhM01nYVc1emFXUmxJSFZ6WlVWbVptVmpkQ2d1TGk0cExDQjFjMlZOWlcxdktDNHVMaWtzSUc5eUlHOTBhR1Z5SUdKMWFXeDBMV2x1SUVodmIydHpMaUFuSUNzZ0oxbHZkU0JqWVc0Z2IyNXNlU0JqWVd4c0lFaHZiMnR6SUdGMElIUm9aU0IwYjNBZ2JHVjJaV3dnYjJZZ2VXOTFjaUJTWldGamRDQm1kVzVqZEdsdmJpNGdKeUFySUNkR2IzSWdiVzl5WlNCcGJtWnZjbTFoZEdsdmJpd2djMlZsSUNjZ0t5QW5hSFIwY0hNNkx5OW1ZaTV0WlM5eWRXeGxjeTF2Wmkxb2IyOXJjeWNwTzF4dUlDQjlPMXh1WEc0Z0lFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVRXOTFiblJKYmtSRlZpQTlJSHRjYmlBZ0lDQnlaV0ZrUTI5dWRHVjRkRG9nWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFzSUc5aWMyVnlkbVZrUW1sMGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JEYjI1MFpYaDBLR052Ym5SbGVIUXNJRzlpYzJWeWRtVmtRbWwwY3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRFlXeHNZbUZqYXpvZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRFlXeHNZbUZqYXljN1hHNGdJQ0FnSUNCdGIzVnVkRWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ1kyaGxZMnRFWlhCelFYSmxRWEp5WVhsRVpYWW9aR1Z3Y3lrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2daR1Z3Y3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRGIyNTBaWGgwT2lCbWRXNWpkR2x2YmlBb1kyOXVkR1Y0ZEN3Z2IySnpaWEoyWldSQ2FYUnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZEYjI1MFpYaDBKenRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZoWkVOdmJuUmxlSFFvWTI5dWRHVjRkQ3dnYjJKelpYSjJaV1JDYVhSektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVVm1abVZqZERvZ1puVnVZM1JwYjI0Z0tHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUldabVpXTjBKenRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0JqYUdWamEwUmxjSE5CY21WQmNuSmhlVVJsZGloa1pYQnpLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEVWbVptVmpkQ2hqY21WaGRHVXNJR1JsY0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFNXMXdaWEpoZEdsMlpVaGhibVJzWlRvZ1puVnVZM1JwYjI0Z0tISmxaaXdnWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVkpiWEJsY21GMGFYWmxTR0Z1Wkd4bEp6dGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQmphR1ZqYTBSbGNITkJjbVZCY25KaGVVUmxkaWhrWlhCektUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCdGIzVnVkRWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW9jbVZtTENCamNtVmhkR1VzSUdSbGNITXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxUR0Y1YjNWMFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZNWVhsdmRYUkZabVpsWTNRbk8xeHVJQ0FnSUNBZ2JXOTFiblJJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lHTm9aV05yUkdWd2MwRnlaVUZ5Y21GNVJHVjJLR1JsY0hNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBUR0Y1YjNWMFJXWm1aV04wS0dOeVpXRjBaU3dnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVk5aVzF2T2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZOWlcxdkp6dGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQmphR1ZqYTBSbGNITkJjbVZCY25KaGVVUmxkaWhrWlhCektUdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJHbHpjR0YwWTJobGNpQTlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZER0Y2JpQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmsxdmRXNTBTVzVFUlZZN1hHNWNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ0YjNWdWRFMWxiVzhvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNBZ0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZENBOUlIQnlaWFpFYVhOd1lYUmphR1Z5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVW1Wa2RXTmxjam9nWm5WdVkzUnBiMjRnS0hKbFpIVmpaWElzSUdsdWFYUnBZV3hCY21jc0lHbHVhWFFwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlZKbFpIVmpaWEluTzF4dUlDQWdJQ0FnYlc5MWJuUkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhaaGNpQndjbVYyUkdsemNHRjBZMmhsY2lBOUlGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkRHRjYmlBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZENBOUlFbHVkbUZzYVdST1pYTjBaV1JJYjI5cmMwUnBjM0JoZEdOb1pYSlBiazF2ZFc1MFNXNUVSVlk3WEc1Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEZKbFpIVmpaWElvY21Wa2RXTmxjaXdnYVc1cGRHbGhiRUZ5Wnl3Z2FXNXBkQ2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxaam9nWm5WdVkzUnBiMjRnS0dsdWFYUnBZV3hXWVd4MVpTa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZtSnp0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUlNaV1lvYVc1cGRHbGhiRlpoYkhWbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWTjBZWFJsT2lCbWRXNWpkR2x2YmlBb2FXNXBkR2xoYkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZUZEdGMFpTYzdYRzRnSUNBZ0lDQnRiM1Z1ZEVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdkbUZ5SUhCeVpYWkVhWE53WVhSamFHVnlJRDBnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1ME8xeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVRXOTFiblJKYmtSRlZqdGNibHh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBVM1JoZEdVb2FXNXBkR2xoYkZOMFlYUmxLVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJSEJ5WlhaRWFYTndZWFJqYUdWeU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVmlkV2RXWVd4MVpUb2dablZ1WTNScGIyNGdLSFpoYkhWbExDQm1iM0p0WVhSMFpYSkdiaWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWaWRXZFdZV3gxWlNjN1hHNGdJQ0FnSUNCdGIzVnVkRWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBSR1ZpZFdkV1lXeDFaU2dwTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVW1WemNHOXVaR1Z5T2lCbWRXNWpkR2x2YmlBb2NtVnpjRzl1WkdWeUxDQndjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFVtVnpjRzl1WkdWeUp6dGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z1kzSmxZWFJsUkdWd2NtVmpZWFJsWkZKbGMzQnZibVJsY2t4cGMzUmxibVZ5S0hKbGMzQnZibVJsY2l3Z2NISnZjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUkdWbVpYSnlaV1JXWVd4MVpUb2dablZ1WTNScGIyNGdLSFpoYkhWbExDQmpiMjVtYVdjcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVUmxabVZ5Y21Wa1ZtRnNkV1VuTzF4dUlDQWdJQ0FnYlc5MWJuUkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0YjNWdWRFUmxabVZ5Y21Wa1ZtRnNkV1VvZG1Gc2RXVXNJR052Ym1acFp5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlVjbUZ1YzJsMGFXOXVPaUJtZFc1amRHbHZiaUFvWTI5dVptbG5LU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZVY21GdWMybDBhVzl1Snp0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUlVjbUZ1YzJsMGFXOXVLR052Ym1acFp5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dUlDQkliMjlyYzBScGMzQmhkR05vWlhKUGJrMXZkVzUwVjJsMGFFaHZiMnRVZVhCbGMwbHVSRVZXSUQwZ2UxeHVJQ0FnSUhKbFlXUkRiMjUwWlhoME9pQm1kVzVqZEdsdmJpQW9ZMjl1ZEdWNGRDd2diMkp6WlhKMlpXUkNhWFJ6S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21WaFpFTnZiblJsZUhRb1kyOXVkR1Y0ZEN3Z2IySnpaWEoyWldSQ2FYUnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVU5oYkd4aVlXTnJPaUJtZFc1amRHbHZiaUFvWTJGc2JHSmhZMnNzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVU5oYkd4aVlXTnJKenRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJRzF2ZFc1MFEyRnNiR0poWTJzb1kyRnNiR0poWTJzc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUTI5dWRHVjRkRG9nWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFzSUc5aWMyVnlkbVZrUW1sMGN5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxRMjl1ZEdWNGRDYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZGWm1abFkzUW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5SRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVbHRjR1Z5WVhScGRtVklZVzVrYkdVNklHWjFibU4wYVc5dUlDaHlaV1lzSUdOeVpXRjBaU3dnWkdWd2N5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxTVzF3WlhKaGRHbDJaVWhoYm1Sc1pTYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEVsdGNHVnlZWFJwZG1WSVlXNWtiR1VvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVEdGNWIzVjBSV1ptWldOME9pQm1kVzVqZEdsdmJpQW9ZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWTVlYbHZkWFJGWm1abFkzUW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5STVlYbHZkWFJGWm1abFkzUW9ZM0psWVhSbExDQmtaWEJ6S1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlUxbGJXODZJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVMWxiVzhuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCMllYSWdjSEpsZGtScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblE3WEc0Z0lDQWdJQ0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RZ1BTQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRFbHVSRVZXTzF4dVhHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5STlpXMXZLR055WldGMFpTd2daR1Z3Y3lrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCd2NtVjJSR2x6Y0dGMFkyaGxjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVkpsWkhWalpYSTZJR1oxYm1OMGFXOXVJQ2h5WldSMVkyVnlMQ0JwYm1sMGFXRnNRWEpuTENCcGJtbDBLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZTWldSMVkyVnlKenRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVUVzkxYm5SSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwVW1Wa2RXTmxjaWh5WldSMVkyVnlMQ0JwYm1sMGFXRnNRWEpuTENCcGJtbDBLVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJSEJ5WlhaRWFYTndZWFJqYUdWeU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFVtVm1PaUJtZFc1amRHbHZiaUFvYVc1cGRHbGhiRlpoYkhWbEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaV1luTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUlNaV1lvYVc1cGRHbGhiRlpoYkhWbEtUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWTjBZWFJsT2lCbWRXNWpkR2x2YmlBb2FXNXBkR2xoYkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZUZEdGMFpTYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSFpoY2lCd2NtVjJSR2x6Y0dGMFkyaGxjaUE5SUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWREdGNiaUFnSUNBZ0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkQ0E5SUVsdWRtRnNhV1JPWlhOMFpXUkliMjlyYzBScGMzQmhkR05vWlhKUGJrMXZkVzUwU1c1RVJWWTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdGIzVnVkRk4wWVhSbEtHbHVhWFJwWVd4VGRHRjBaU2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVUmxZblZuVm1Gc2RXVTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTd2dabTl5YldGMGRHVnlSbTRwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVSbFluVm5WbUZzZFdVbk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJFWldKMVoxWmhiSFZsS0NrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pYTndiMjVrWlhJNklHWjFibU4wYVc5dUlDaHlaWE53YjI1a1pYSXNJSEJ5YjNCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaWE53YjI1a1pYSW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFJHVndjbVZqWVhSbFpGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtISmxjM0J2Ym1SbGNpd2djSEp2Y0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVm1aWEp5WldSV1lXeDFaVG9nWm5WdVkzUnBiMjRnS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVJsWm1WeWNtVmtWbUZzZFdVbk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJFWldabGNuSmxaRlpoYkhWbEtIWmhiSFZsTENCamIyNW1hV2NwTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVkhKaGJuTnBkR2x2YmpvZ1puVnVZM1JwYjI0Z0tHTnZibVpwWnlrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFZISmhibk5wZEdsdmJpYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnRiM1Z1ZEZSeVlXNXphWFJwYjI0b1kyOXVabWxuS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzRnSUVodmIydHpSR2x6Y0dGMFkyaGxjazl1VlhCa1lYUmxTVzVFUlZZZ1BTQjdYRzRnSUNBZ2NtVmhaRU52Ym5SbGVIUTZJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXRmtRMjl1ZEdWNGRDaGpiMjUwWlhoMExDQnZZbk5sY25abFpFSnBkSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUTJGc2JHSmhZMnM2SUdaMWJtTjBhVzl1SUNoallXeHNZbUZqYXl3Z1pHVndjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUTJGc2JHSmhZMnNuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxRMkZzYkdKaFkyc29ZMkZzYkdKaFkyc3NJR1JsY0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFEyOXVkR1Y0ZERvZ1puVnVZM1JwYjI0Z0tHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUTI5dWRHVjRkQ2M3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxSV1ptWldOME9pQm1kVzVqZEdsdmJpQW9ZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRlptWmxZM1FuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZKYlhCbGNtRjBhWFpsU0dGdVpHeGxPaUJtZFc1amRHbHZiaUFvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VuTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxTVzF3WlhKaGRHbDJaVWhoYm1Sc1pTaHlaV1lzSUdOeVpXRjBaU3dnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVk1ZWGx2ZFhSRlptWmxZM1E2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVXhoZVc5MWRFVm1abVZqZENjN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZNWVhsdmRYUkZabVpsWTNRb1kzSmxZWFJsTENCa1pYQnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVTFsYlc4NklHWjFibU4wYVc5dUlDaGpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlUxbGJXOG5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNVZjR1JoZEdWSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlUxbGJXOG9ZM0psWVhSbExDQmtaWEJ6S1R0Y2JpQWdJQ0FnSUgwZ1ptbHVZV3hzZVNCN1hHNGdJQ0FnSUNBZ0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkQ0E5SUhCeVpYWkVhWE53WVhSamFHVnlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxVbVZrZFdObGNqb2dablZ1WTNScGIyNGdLSEpsWkhWalpYSXNJR2x1YVhScFlXeEJjbWNzSUdsdWFYUXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsWkhWalpYSW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNVZjR1JoZEdWSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlZKbFpIVmpaWElvY21Wa2RXTmxjaXdnYVc1cGRHbGhiRUZ5Wnl3Z2FXNXBkQ2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxaam9nWm5WdVkzUnBiMjRnS0dsdWFYUnBZV3hXWVd4MVpTa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZtSnp0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVkpsWmlncE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFUzUmhkR1U2SUdaMWJtTjBhVzl1SUNocGJtbDBhV0ZzVTNSaGRHVXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVk4wWVhSbEp6dGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdkbUZ5SUhCeVpYWkVhWE53WVhSamFHVnlJRDBnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1ME8xeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVZYQmtZWFJsU1c1RVJWWTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZUZEdGMFpTaHBibWwwYVdGc1UzUmhkR1VwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV0oxWjFaaGJIVmxPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXNJR1p2Y20xaGRIUmxja1p1S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRVpXSjFaMVpoYkhWbEp6dGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVSbFluVm5WbUZzZFdVb0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxjM0J2Ym1SbGNqb2dablZ1WTNScGIyNGdLSEpsYzNCdmJtUmxjaXdnY0hKdmNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsYzNCdmJtUmxjaWM3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVkVaWEJ5WldOaGRHVmtVbVZ6Y0c5dVpHVnlUR2x6ZEdWdVpYSW9jbVZ6Y0c5dVpHVnlMQ0J3Y205d2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV1psY25KbFpGWmhiSFZsT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VzSUdOdmJtWnBaeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWbVpYSnlaV1JXWVd4MVpTYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWRVpXWmxjbkpsWkZaaGJIVmxLSFpoYkhWbExDQmpiMjVtYVdjcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFZISmhibk5wZEdsdmJqb2dablZ1WTNScGIyNGdLR052Ym1acFp5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxWSEpoYm5OcGRHbHZiaWM3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVlVjbUZ1YzJsMGFXOXVLR052Ym1acFp5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dUlDQkliMjlyYzBScGMzQmhkR05vWlhKUGJsSmxjbVZ1WkdWeVNXNUVSVllnUFNCN1hHNGdJQ0FnY21WaFpFTnZiblJsZUhRNklHWjFibU4wYVc5dUlDaGpiMjUwWlhoMExDQnZZbk5sY25abFpFSnBkSE1wSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WldGa1EyOXVkR1Y0ZENoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxRMkZzYkdKaFkyczZJR1oxYm1OMGFXOXVJQ2hqWVd4c1ltRmpheXdnWkdWd2N5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxRMkZzYkdKaFkyc25PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFEyRnNiR0poWTJzb1kyRnNiR0poWTJzc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUTI5dWRHVjRkRG9nWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFzSUc5aWMyVnlkbVZrUW1sMGN5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxRMjl1ZEdWNGRDYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZGWm1abFkzUW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFJXWm1aV04wS0dOeVpXRjBaU3dnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkpiWEJsY21GMGFYWmxTR0Z1Wkd4bE9pQm1kVzVqZEdsdmJpQW9jbVZtTENCamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFNXMXdaWEpoZEdsMlpVaGhibVJzWlNoeVpXWXNJR055WldGMFpTd2daR1Z3Y3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWTVlYbHZkWFJGWm1abFkzUTZJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVeGhlVzkxZEVWbVptVmpkQ2M3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVk1ZWGx2ZFhSRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVMWxiVzg2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVTFsYlc4bk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQjJZWElnY0hKbGRrUnBjM0JoZEdOb1pYSWdQU0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RN1hHNGdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0JKYm5aaGJHbGtUbVZ6ZEdWa1NHOXZhM05FYVhOd1lYUmphR1Z5VDI1U1pYSmxibVJsY2tsdVJFVldPMXh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsVFdWdGJ5aGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1IxWTJWeU9pQm1kVzVqZEdsdmJpQW9jbVZrZFdObGNpd2dhVzVwZEdsaGJFRnlaeXdnYVc1cGRDa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZrZFdObGNpYzdYRzRnSUNBZ0lDQjFjR1JoZEdWSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSFpoY2lCd2NtVjJSR2x6Y0dGMFkyaGxjaUE5SUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWREdGNiaUFnSUNBZ0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkQ0E5SUVsdWRtRnNhV1JPWlhOMFpXUkliMjlyYzBScGMzQmhkR05vWlhKUGJsSmxjbVZ1WkdWeVNXNUVSVlk3WEc1Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnlaWEpsYm1SbGNsSmxaSFZqWlhJb2NtVmtkV05sY2l3Z2FXNXBkR2xoYkVGeVp5d2dhVzVwZENrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCd2NtVjJSR2x6Y0dGMFkyaGxjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVkpsWmpvZ1puVnVZM1JwYjI0Z0tHbHVhWFJwWVd4V1lXeDFaU2tnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sVW1WbUp6dGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlZKbFppZ3BPMXh1SUNBZ0lIMHNYRzRnSUNBZ2RYTmxVM1JoZEdVNklHWjFibU4wYVc5dUlDaHBibWwwYVdGc1UzUmhkR1VwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlZOMFlYUmxKenRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVVbVZ5Wlc1a1pYSkpia1JGVmp0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsY21WdVpHVnlVM1JoZEdVb2FXNXBkR2xoYkZOMFlYUmxLVHRjYmlBZ0lDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJSEJ5WlhaRWFYTndZWFJqYUdWeU8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVmlkV2RXWVd4MVpUb2dablZ1WTNScGIyNGdLSFpoYkhWbExDQm1iM0p0WVhSMFpYSkdiaWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWaWRXZFdZV3gxWlNjN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZFWldKMVoxWmhiSFZsS0NrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pYTndiMjVrWlhJNklHWjFibU4wYVc5dUlDaHlaWE53YjI1a1pYSXNJSEJ5YjNCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaWE53YjI1a1pYSW5PMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFJHVndjbVZqWVhSbFpGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtISmxjM0J2Ym1SbGNpd2djSEp2Y0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVm1aWEp5WldSV1lXeDFaVG9nWm5WdVkzUnBiMjRnS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVJsWm1WeWNtVmtWbUZzZFdVbk8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2NtVnlaVzVrWlhKRVpXWmxjbkpsWkZaaGJIVmxLSFpoYkhWbExDQmpiMjVtYVdjcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFZISmhibk5wZEdsdmJqb2dablZ1WTNScGIyNGdLR052Ym1acFp5a2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxWSEpoYm5OcGRHbHZiaWM3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhKbGJtUmxjbFJ5WVc1emFYUnBiMjRvWTI5dVptbG5LVHRjYmlBZ0lDQjlYRzRnSUgwN1hHNGdJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmsxdmRXNTBTVzVFUlZZZ1BTQjdYRzRnSUNBZ2NtVmhaRU52Ym5SbGVIUTZJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcElIdGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtRMjl1ZEdWNGRFRmpZMlZ6Y3lncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbFlXUkRiMjUwWlhoMEtHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZEWVd4c1ltRmphem9nWm5WdVkzUnBiMjRnS0dOaGJHeGlZV05yTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZEWVd4c1ltRmpheWM3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lHMXZkVzUwU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJEWVd4c1ltRmpheWhqWVd4c1ltRmpheXdnWkdWd2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkRiMjUwWlhoME9pQm1kVzVqZEdsdmJpQW9ZMjl1ZEdWNGRDd2diMkp6WlhKMlpXUkNhWFJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRGIyNTBaWGgwSnp0Y2JpQWdJQ0FnSUhkaGNtNUpiblpoYkdsa1NHOXZhMEZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdiVzkxYm5SSWIyOXJWSGx3WlhORVpYWW9LVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaV0ZrUTI5dWRHVjRkQ2hqYjI1MFpYaDBMQ0J2WW5ObGNuWmxaRUpwZEhNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJXWm1aV04wT2lCbWRXNWpkR2x2YmlBb1kzSmxZWFJsTENCa1pYQnpLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZGWm1abFkzUW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCdGIzVnVkRWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxdmRXNTBSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZKYlhCbGNtRjBhWFpsU0dGdVpHeGxPaUJtZFc1amRHbHZiaUFvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VuTzF4dUlDQWdJQ0FnZDJGeWJrbHVkbUZzYVdSSWIyOXJRV05qWlhOektDazdYRzRnSUNBZ0lDQnRiM1Z1ZEVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwU1cxd1pYSmhkR2wyWlVoaGJtUnNaU2h5WldZc0lHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZNWVhsdmRYUkZabVpsWTNRNklHWjFibU4wYVc5dUlDaGpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlV4aGVXOTFkRVZtWm1WamRDYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUk1ZWGx2ZFhSRlptWmxZM1FvWTNKbFlYUmxMQ0JrWlhCektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVMWxiVzg2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVTFsYlc4bk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0J0YjNWdWRFaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVUVzkxYm5SSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwVFdWdGJ5aGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1IxWTJWeU9pQm1kVzVqZEdsdmJpQW9jbVZrZFdObGNpd2dhVzVwZEdsaGJFRnlaeXdnYVc1cGRDa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRFaHZiMnRPWVcxbFNXNUVaWFlnUFNBbmRYTmxVbVZrZFdObGNpYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUcxdmRXNTBTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCMllYSWdjSEpsZGtScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblE3WEc0Z0lDQWdJQ0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RZ1BTQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVOYjNWdWRFbHVSRVZXTzF4dVhHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5SU1pXUjFZMlZ5S0hKbFpIVmpaWElzSUdsdWFYUnBZV3hCY21jc0lHbHVhWFFwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1k2SUdaMWJtTjBhVzl1SUNocGJtbDBhV0ZzVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsWmljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5SU1pXWW9hVzVwZEdsaGJGWmhiSFZsS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlZOMFlYUmxPaUJtZFc1amRHbHZiaUFvYVc1cGRHbGhiRk4wWVhSbEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlRkR0YwWlNjN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNU5iM1Z1ZEVsdVJFVldPMXh1WEc0Z0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JXOTFiblJUZEdGMFpTaHBibWwwYVdGc1UzUmhkR1VwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV0oxWjFaaGJIVmxPaUJtZFc1amRHbHZiaUFvZG1Gc2RXVXNJR1p2Y20xaGRIUmxja1p1S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRVpXSjFaMVpoYkhWbEp6dGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeWdwTzF4dUlDQWdJQ0FnYlc5MWJuUkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ0YjNWdWRFUmxZblZuVm1Gc2RXVW9LVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVkpsYzNCdmJtUmxjam9nWm5WdVkzUnBiMjRnS0hKbGMzQnZibVJsY2l3Z2NISnZjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlZKbGMzQnZibVJsY2ljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJRzF2ZFc1MFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZM0psWVhSbFJHVndjbVZqWVhSbFpGSmxjM0J2Ym1SbGNreHBjM1JsYm1WeUtISmxjM0J2Ym1SbGNpd2djSEp2Y0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFJHVm1aWEp5WldSV1lXeDFaVG9nWm5WdVkzUnBiMjRnS0haaGJIVmxMQ0JqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVJsWm1WeWNtVmtWbUZzZFdVbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0J0YjNWdWRFaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJRzF2ZFc1MFJHVm1aWEp5WldSV1lXeDFaU2gyWVd4MVpTd2dZMjl1Wm1sbktUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWUnlZVzV6YVhScGIyNDZJR1oxYm1OMGFXOXVJQ2hqYjI1bWFXY3BJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVlJ5WVc1emFYUnBiMjRuTzF4dUlDQWdJQ0FnZDJGeWJrbHVkbUZzYVdSSWIyOXJRV05qWlhOektDazdYRzRnSUNBZ0lDQnRiM1Z1ZEVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwVkhKaGJuTnBkR2x2YmloamIyNW1hV2NwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVZYQmtZWFJsU1c1RVJWWWdQU0I3WEc0Z0lDQWdjbVZoWkVOdmJuUmxlSFE2SUdaMWJtTjBhVzl1SUNoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBJSHRjYmlBZ0lDQWdJSGRoY201SmJuWmhiR2xrUTI5dWRHVjRkRUZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JEYjI1MFpYaDBLR052Ym5SbGVIUXNJRzlpYzJWeWRtVmtRbWwwY3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRFlXeHNZbUZqYXpvZ1puVnVZM1JwYjI0Z0tHTmhiR3hpWVdOckxDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWRFlXeHNZbUZqYXljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVTmhiR3hpWVdOcktHTmhiR3hpWVdOckxDQmtaWEJ6S1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlVOdmJuUmxlSFE2SUdaMWJtTjBhVzl1SUNoamIyNTBaWGgwTENCdlluTmxjblpsWkVKcGRITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVU52Ym5SbGVIUW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpXRmtRMjl1ZEdWNGRDaGpiMjUwWlhoMExDQnZZbk5sY25abFpFSnBkSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sUldabVpXTjBPaUJtZFc1amRHbHZiaUFvWTNKbFlYUmxMQ0JrWlhCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVkZabVpsWTNRbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVkZabVpsWTNRb1kzSmxZWFJsTENCa1pYQnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVTZJR1oxYm1OMGFXOXVJQ2h5WldZc0lHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sU1cxd1pYSmhkR2wyWlVoaGJtUnNaU2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVsdGNHVnlZWFJwZG1WSVlXNWtiR1VvY21WbUxDQmpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVEdGNWIzVjBSV1ptWldOME9pQm1kVzVqZEdsdmJpQW9ZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWTVlYbHZkWFJGWm1abFkzUW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZNWVhsdmRYUkZabVpsWTNRb1kzSmxZWFJsTENCa1pYQnpLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVTFsYlc4NklHWjFibU4wYVc5dUlDaGpjbVZoZEdVc0lHUmxjSE1wSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlUxbGJXOG5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlJHbHpjR0YwWTJobGNpQTlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZER0Y2JpQWdJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXVZM1Z5Y21WdWRDQTlJRWx1ZG1Gc2FXUk9aWE4wWldSSWIyOXJjMFJwYzNCaGRHTm9aWEpQYmxWd1pHRjBaVWx1UkVWV08xeHVYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxUV1Z0YnloamNtVmhkR1VzSUdSbGNITXBPMXh1SUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1MElEMGdjSEpsZGtScGMzQmhkR05vWlhJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pXUjFZMlZ5T2lCbWRXNWpkR2x2YmlBb2NtVmtkV05sY2l3Z2FXNXBkR2xoYkVGeVp5d2dhVzVwZENrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFVtVmtkV05sY2ljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBPMXh1SUNBZ0lDQWdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwSUQwZ1NXNTJZV3hwWkU1bGMzUmxaRWh2YjJ0elJHbHpjR0YwWTJobGNrOXVWWEJrWVhSbFNXNUVSVlk3WEc1Y2JpQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWU1pXUjFZMlZ5S0hKbFpIVmpaWElzSUdsdWFYUnBZV3hCY21jc0lHbHVhWFFwTzF4dUlDQWdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnY0hKbGRrUnBjM0JoZEdOb1pYSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVlNaV1k2SUdaMWJtTjBhVzl1SUNocGJtbDBhV0ZzVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVkpsWmljN1hHNGdJQ0FnSUNCM1lYSnVTVzUyWVd4cFpFaHZiMnRCWTJObGMzTW9LVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZiMnRVZVhCbGMwUmxkaWdwTzF4dUlDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpWSmxaaWdwTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVTNSaGRHVTZJR1oxYm1OMGFXOXVJQ2hwYm1sMGFXRnNVM1JoZEdVcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpWTjBZWFJsSnp0Y2JpQWdJQ0FnSUhkaGNtNUpiblpoYkdsa1NHOXZhMEZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUTdYRzRnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCSmJuWmhiR2xrVG1WemRHVmtTRzl2YTNORWFYTndZWFJqYUdWeVQyNVZjR1JoZEdWSmJrUkZWanRjYmx4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlZOMFlYUmxLR2x1YVhScFlXeFRkR0YwWlNrN1hHNGdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblFnUFNCd2NtVjJSR2x6Y0dGMFkyaGxjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lIVnpaVVJsWW5WblZtRnNkV1U2SUdaMWJtTjBhVzl1SUNoMllXeDFaU3dnWm05eWJXRjBkR1Z5Um00cElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVUmxZblZuVm1Gc2RXVW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZFWldKMVoxWmhiSFZsS0NrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWU1pYTndiMjVrWlhJNklHWjFibU4wYVc5dUlDaHlaWE53YjI1a1pYSXNJSEJ5YjNCektTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaWE53YjI1a1pYSW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCamNtVmhkR1ZFWlhCeVpXTmhkR1ZrVW1WemNHOXVaR1Z5VEdsemRHVnVaWElvY21WemNHOXVaR1Z5TENCd2NtOXdjeWs3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZFWldabGNuSmxaRlpoYkhWbE9pQm1kVzVqZEdsdmJpQW9kbUZzZFdVc0lHTnZibVpwWnlrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFJHVm1aWEp5WldSV1lXeDFaU2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVSbFptVnljbVZrVm1Gc2RXVW9kbUZzZFdVc0lHTnZibVpwWnlrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWVWNtRnVjMmwwYVc5dU9pQm1kVzVqZEdsdmJpQW9ZMjl1Wm1sbktTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlVjbUZ1YzJsMGFXOXVKenRjYmlBZ0lDQWdJSGRoY201SmJuWmhiR2xrU0c5dmEwRmpZMlZ6Y3lncE8xeHVJQ0FnSUNBZ2RYQmtZWFJsU0c5dmExUjVjR1Z6UkdWMktDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsVkhKaGJuTnBkR2x2YmloamIyNW1hV2NwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNiaUFnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVVtVnlaVzVrWlhKSmJrUkZWaUE5SUh0Y2JpQWdJQ0J5WldGa1EyOXVkR1Y0ZERvZ1puVnVZM1JwYjI0Z0tHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQWdJQ0FnZDJGeWJrbHVkbUZzYVdSRGIyNTBaWGgwUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZoWkVOdmJuUmxlSFFvWTI5dWRHVjRkQ3dnYjJKelpYSjJaV1JDYVhSektUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVTmhiR3hpWVdOck9pQm1kVzVqZEdsdmJpQW9ZMkZzYkdKaFkyc3NJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVTmhiR3hpWVdOckp6dGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeWdwTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxRMkZzYkdKaFkyc29ZMkZzYkdKaFkyc3NJR1JsY0hNcE8xeHVJQ0FnSUgwc1hHNGdJQ0FnZFhObFEyOXVkR1Y0ZERvZ1puVnVZM1JwYjI0Z0tHTnZiblJsZUhRc0lHOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUTI5dWRHVjRkQ2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxZV1JEYjI1MFpYaDBLR052Ym5SbGVIUXNJRzlpYzJWeWRtVmtRbWwwY3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWRlptWmxZM1E2SUdaMWJtTjBhVzl1SUNoamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlyVG1GdFpVbHVSR1YySUQwZ0ozVnpaVVZtWm1WamRDYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVVZtWm1WamRDaGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sU1cxd1pYSmhkR2wyWlVoaGJtUnNaVG9nWm5WdVkzUnBiMjRnS0hKbFppd2dZM0psWVhSbExDQmtaWEJ6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWSmJYQmxjbUYwYVhabFNHRnVaR3hsSnp0Y2JpQWdJQ0FnSUhkaGNtNUpiblpoYkdsa1NHOXZhMEZqWTJWemN5Z3BPMXh1SUNBZ0lDQWdkWEJrWVhSbFNHOXZhMVI1Y0dWelJHVjJLQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFNXMXdaWEpoZEdsMlpVaGhibVJzWlNoeVpXWXNJR055WldGMFpTd2daR1Z3Y3lrN1hHNGdJQ0FnZlN4Y2JpQWdJQ0IxYzJWTVlYbHZkWFJGWm1abFkzUTZJR1oxYm1OMGFXOXVJQ2hqY21WaGRHVXNJR1JsY0hNcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpVeGhlVzkxZEVWbVptVmpkQ2M3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlV4aGVXOTFkRVZtWm1WamRDaGpjbVZoZEdVc0lHUmxjSE1wTzF4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVFdWdGJ6b2dablZ1WTNScGIyNGdLR055WldGMFpTd2daR1Z3Y3lrZ2UxeHVJQ0FnSUNBZ1kzVnljbVZ1ZEVodmIydE9ZVzFsU1c1RVpYWWdQU0FuZFhObFRXVnRieWM3WEc0Z0lDQWdJQ0IzWVhKdVNXNTJZV3hwWkVodmIydEJZMk5sYzNNb0tUdGNiaUFnSUNBZ0lIVndaR0YwWlVodmIydFVlWEJsYzBSbGRpZ3BPMXh1SUNBZ0lDQWdkbUZ5SUhCeVpYWkVhWE53WVhSamFHVnlJRDBnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1ME8xeHVJQ0FnSUNBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaTVqZFhKeVpXNTBJRDBnU1c1MllXeHBaRTVsYzNSbFpFaHZiMnR6UkdsemNHRjBZMmhsY2s5dVZYQmtZWFJsU1c1RVJWWTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZOWlcxdktHTnlaV0YwWlN3Z1pHVndjeWs3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWSmxaSFZqWlhJNklHWjFibU4wYVc5dUlDaHlaV1IxWTJWeUxDQnBibWwwYVdGc1FYSm5MQ0JwYm1sMEtTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZhMDVoYldWSmJrUmxkaUE5SUNkMWMyVlNaV1IxWTJWeUp6dGNiaUFnSUNBZ0lIZGhjbTVKYm5aaGJHbGtTRzl2YTBGalkyVnpjeWdwTzF4dUlDQWdJQ0FnZFhCa1lYUmxTRzl2YTFSNWNHVnpSR1YyS0NrN1hHNGdJQ0FnSUNCMllYSWdjSEpsZGtScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TG1OMWNuSmxiblE3WEc0Z0lDQWdJQ0JTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeUxtTjFjbkpsYm5RZ1BTQkpiblpoYkdsa1RtVnpkR1ZrU0c5dmEzTkVhWE53WVhSamFHVnlUMjVWY0dSaGRHVkpia1JGVmp0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsY21WdVpHVnlVbVZrZFdObGNpaHlaV1IxWTJWeUxDQnBibWwwYVdGc1FYSm5MQ0JwYm1sMEtUdGNiaUFnSUNBZ0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ0lDQWdJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJdVkzVnljbVZ1ZENBOUlIQnlaWFpFYVhOd1lYUmphR1Z5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc0Z0lDQWdkWE5sVW1WbU9pQm1kVzVqZEdsdmJpQW9hVzVwZEdsaGJGWmhiSFZsS1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWU1pXWW5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZTWldZb0tUdGNiaUFnSUNCOUxGeHVJQ0FnSUhWelpWTjBZWFJsT2lCbWRXNWpkR2x2YmlBb2FXNXBkR2xoYkZOMFlYUmxLU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBTRzl2YTA1aGJXVkpia1JsZGlBOUlDZDFjMlZUZEdGMFpTYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2RtRnlJSEJ5WlhaRWFYTndZWFJqYUdWeUlEMGdVbVZoWTNSRGRYSnlaVzUwUkdsemNHRjBZMmhsY2k1amRYSnlaVzUwTzF4dUlDQWdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpNWpkWEp5Wlc1MElEMGdTVzUyWVd4cFpFNWxjM1JsWkVodmIydHpSR2x6Y0dGMFkyaGxjazl1VlhCa1lYUmxTVzVFUlZZN1hHNWNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5WlhKbGJtUmxjbE4wWVhSbEtHbHVhWFJwWVd4VGRHRjBaU2s3WEc0Z0lDQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnSUNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlMbU4xY25KbGJuUWdQU0J3Y21WMlJHbHpjR0YwWTJobGNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVJQ0FnSUhWelpVUmxZblZuVm1Gc2RXVTZJR1oxYm1OMGFXOXVJQ2gyWVd4MVpTd2dabTl5YldGMGRHVnlSbTRwSUh0Y2JpQWdJQ0FnSUdOMWNuSmxiblJJYjI5clRtRnRaVWx1UkdWMklEMGdKM1Z6WlVSbFluVm5WbUZzZFdVbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVkVaV0oxWjFaaGJIVmxLQ2s3WEc0Z0lDQWdmU3hjYmlBZ0lDQjFjMlZTWlhOd2IyNWtaWEk2SUdaMWJtTjBhVzl1SUNoeVpYTndiMjVrWlhJc0lIQnliM0J6S1NCN1hHNGdJQ0FnSUNCamRYSnlaVzUwU0c5dmEwNWhiV1ZKYmtSbGRpQTlJQ2QxYzJWU1pYTndiMjVrWlhJbk8xeHVJQ0FnSUNBZ2QyRnlia2x1ZG1Gc2FXUkliMjlyUVdOalpYTnpLQ2s3WEc0Z0lDQWdJQ0IxY0dSaGRHVkliMjlyVkhsd1pYTkVaWFlvS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJqY21WaGRHVkVaWEJ5WldOaGRHVmtVbVZ6Y0c5dVpHVnlUR2x6ZEdWdVpYSW9jbVZ6Y0c5dVpHVnlMQ0J3Y205d2N5azdYRzRnSUNBZ2ZTeGNiaUFnSUNCMWMyVkVaV1psY25KbFpGWmhiSFZsT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VzSUdOdmJtWnBaeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRWh2YjJ0T1lXMWxTVzVFWlhZZ1BTQW5kWE5sUkdWbVpYSnlaV1JXWVd4MVpTYzdYRzRnSUNBZ0lDQjNZWEp1U1c1MllXeHBaRWh2YjJ0QlkyTmxjM01vS1R0Y2JpQWdJQ0FnSUhWd1pHRjBaVWh2YjJ0VWVYQmxjMFJsZGlncE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGNtVnVaR1Z5UkdWbVpYSnlaV1JXWVd4MVpTaDJZV3gxWlN3Z1kyOXVabWxuS1R0Y2JpQWdJQ0I5TEZ4dUlDQWdJSFZ6WlZSeVlXNXphWFJwYjI0NklHWjFibU4wYVc5dUlDaGpiMjVtYVdjcElIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SSWIyOXJUbUZ0WlVsdVJHVjJJRDBnSjNWelpWUnlZVzV6YVhScGIyNG5PMXh1SUNBZ0lDQWdkMkZ5YmtsdWRtRnNhV1JJYjI5clFXTmpaWE56S0NrN1hHNGdJQ0FnSUNCMWNHUmhkR1ZJYjI5clZIbHdaWE5FWlhZb0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYSmxibVJsY2xSeVlXNXphWFJwYjI0b1kyOXVabWxuS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJ1YjNja01TQTlJRk5qYUdWa2RXeGxjaTUxYm5OMFlXSnNaVjl1YjNjN1hHNTJZWElnWTI5dGJXbDBWR2x0WlNBOUlEQTdYRzUyWVhJZ2NISnZabWxzWlhKVGRHRnlkRlJwYldVZ1BTQXRNVHRjYmx4dVpuVnVZM1JwYjI0Z1oyVjBRMjl0YldsMFZHbHRaU2dwSUh0Y2JpQWdjbVYwZFhKdUlHTnZiVzFwZEZScGJXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxZMjl5WkVOdmJXMXBkRlJwYldVb0tTQjdYRzVjYmlBZ1kyOXRiV2wwVkdsdFpTQTlJRzV2ZHlReEtDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlITjBZWEowVUhKdlptbHNaWEpVYVcxbGNpaG1hV0psY2lrZ2UxeHVYRzRnSUhCeWIyWnBiR1Z5VTNSaGNuUlVhVzFsSUQwZ2JtOTNKREVvS1R0Y2JseHVJQ0JwWmlBb1ptbGlaWEl1WVdOMGRXRnNVM1JoY25SVWFXMWxJRHdnTUNrZ2UxeHVJQ0FnSUdacFltVnlMbUZqZEhWaGJGTjBZWEowVkdsdFpTQTlJRzV2ZHlReEtDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzNSdmNGQnliMlpwYkdWeVZHbHRaWEpKWmxKMWJtNXBibWNvWm1saVpYSXBJSHRjYmx4dUlDQndjbTltYVd4bGNsTjBZWEowVkdsdFpTQTlJQzB4TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ6ZEc5d1VISnZabWxzWlhKVWFXMWxja2xtVW5WdWJtbHVaMEZ1WkZKbFkyOXlaRVJsYkhSaEtHWnBZbVZ5TENCdmRtVnljbWxrWlVKaGMyVlVhVzFsS1NCN1hHNWNiaUFnYVdZZ0tIQnliMlpwYkdWeVUzUmhjblJVYVcxbElENDlJREFwSUh0Y2JpQWdJQ0IyWVhJZ1pXeGhjSE5sWkZScGJXVWdQU0J1YjNja01TZ3BJQzBnY0hKdlptbHNaWEpUZEdGeWRGUnBiV1U3WEc0Z0lDQWdabWxpWlhJdVlXTjBkV0ZzUkhWeVlYUnBiMjRnS3owZ1pXeGhjSE5sWkZScGJXVTdYRzVjYmlBZ0lDQnBaaUFvYjNabGNuSnBaR1ZDWVhObFZHbHRaU2tnZTF4dUlDQWdJQ0FnWm1saVpYSXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJR1ZzWVhCelpXUlVhVzFsTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEJ5YjJacGJHVnlVM1JoY25SVWFXMWxJRDBnTFRFN1hHNGdJSDFjYm4xY2JseHVMeThnVkdocGN5QnRZWGtnYUdGMlpTQmlaV1Z1SUdGdUlHbHVjMlZ5ZEdsdmJpQnZjaUJoSUdoNVpISmhkR2x2Ymk1Y2JseHVkbUZ5SUdoNVpISmhkR2x2YmxCaGNtVnVkRVpwWW1WeUlEMGdiblZzYkR0Y2JuWmhjaUJ1WlhoMFNIbGtjbUYwWVdKc1pVbHVjM1JoYm1ObElEMGdiblZzYkR0Y2JuWmhjaUJwYzBoNVpISmhkR2x1WnlBOUlHWmhiSE5sTzF4dVhHNW1kVzVqZEdsdmJpQmxiblJsY2toNVpISmhkR2x2YmxOMFlYUmxLR1pwWW1WeUtTQjdYRzVjYmlBZ2RtRnlJSEJoY21WdWRFbHVjM1JoYm1ObElEMGdabWxpWlhJdWMzUmhkR1ZPYjJSbExtTnZiblJoYVc1bGNrbHVabTg3WEc0Z0lHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlVnUFNCblpYUkdhWEp6ZEVoNVpISmhkR0ZpYkdWRGFHbHNaQ2h3WVhKbGJuUkpibk4wWVc1alpTazdYRzRnSUdoNVpISmhkR2x2YmxCaGNtVnVkRVpwWW1WeUlEMGdabWxpWlhJN1hHNGdJR2x6U0hsa2NtRjBhVzVuSUQwZ2RISjFaVHRjYmlBZ2NtVjBkWEp1SUhSeWRXVTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUmxiR1YwWlVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNoeVpYUjFjbTVHYVdKbGNpd2dhVzV6ZEdGdVkyVXBJSHRjYmlBZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvY21WMGRYSnVSbWxpWlhJdWRHRm5LU0I3WEc0Z0lDQWdJQ0JqWVhObElFaHZjM1JTYjI5ME9seHVJQ0FnSUNBZ0lDQmthV1JPYjNSSWVXUnlZWFJsUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVvY21WMGRYSnVSbWxpWlhJdWMzUmhkR1ZPYjJSbExtTnZiblJoYVc1bGNrbHVabThzSUdsdWMzUmhibU5sS1R0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ1pHbGtUbTkwU0hsa2NtRjBaVWx1YzNSaGJtTmxLSEpsZEhWeWJrWnBZbVZ5TG5SNWNHVXNJSEpsZEhWeWJrWnBZbVZ5TG0xbGJXOXBlbVZrVUhKdmNITXNJSEpsZEhWeWJrWnBZbVZ5TG5OMFlYUmxUbTlrWlN3Z2FXNXpkR0Z1WTJVcE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdZMmhwYkdSVWIwUmxiR1YwWlNBOUlHTnlaV0YwWlVacFltVnlSbkp2YlVodmMzUkpibk4wWVc1alpVWnZja1JsYkdWMGFXOXVLQ2s3WEc0Z0lHTm9hV3hrVkc5RVpXeGxkR1V1YzNSaGRHVk9iMlJsSUQwZ2FXNXpkR0Z1WTJVN1hHNGdJR05vYVd4a1ZHOUVaV3hsZEdVdWNtVjBkWEp1SUQwZ2NtVjBkWEp1Um1saVpYSTdYRzRnSUdOb2FXeGtWRzlFWld4bGRHVXVaV1ptWldOMFZHRm5JRDBnUkdWc1pYUnBiMjQ3SUM4dklGUm9hWE1nYldsbmFIUWdjMlZsYlNCc2FXdGxJR2wwSUdKbGJHOXVaM01nYjI0Z2NISnZaM0psYzNObFpFWnBjbk4wUkdWc1pYUnBiMjR1SUVodmQyVjJaWElzWEc0Z0lDOHZJSFJvWlhObElHTm9hV3hrY21WdUlHRnlaU0J1YjNRZ2NHRnlkQ0J2WmlCMGFHVWdjbVZqYjI1amFXeHBZWFJwYjI0Z2JHbHpkQ0J2WmlCamFHbHNaSEpsYmk1Y2JpQWdMeThnUlhabGJpQnBaaUIzWlNCaFltOXlkQ0JoYm1RZ2NtVnlaV052Ym1OcGJHVWdkR2hsSUdOb2FXeGtjbVZ1TENCMGFHRjBJSGRwYkd3Z2RISjVJSFJ2SUdoNVpISmhkR1ZjYmlBZ0x5OGdZV2RoYVc0Z1lXNWtJSFJvWlNCdWIyUmxjeUJoY21VZ2MzUnBiR3dnYVc0Z2RHaGxJR2h2YzNRZ2RISmxaU0J6YnlCMGFHVnpaU0IzYVd4c0lHSmxYRzRnSUM4dklISmxZM0psWVhSbFpDNWNibHh1SUNCcFppQW9jbVYwZFhKdVJtbGlaWEl1YkdGemRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUXVibVY0ZEVWbVptVmpkQ0E5SUdOb2FXeGtWRzlFWld4bGRHVTdYRzRnSUNBZ2NtVjBkWEp1Um1saVpYSXViR0Z6ZEVWbVptVmpkQ0E5SUdOb2FXeGtWRzlFWld4bGRHVTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdVJtbGlaWEl1Wm1seWMzUkZabVpsWTNRZ1BTQnlaWFIxY201R2FXSmxjaTVzWVhOMFJXWm1aV04wSUQwZ1kyaHBiR1JVYjBSbGJHVjBaVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJuTmxjblJPYjI1SWVXUnlZWFJsWkVsdWMzUmhibU5sS0hKbGRIVnlia1pwWW1WeUxDQm1hV0psY2lrZ2UxeHVJQ0JtYVdKbGNpNWxabVpsWTNSVVlXY2dQU0JtYVdKbGNpNWxabVpsWTNSVVlXY2dKaUIrU0hsa2NtRjBhVzVuSUh3Z1VHeGhZMlZ0Wlc1ME8xeHVYRzRnSUh0Y2JpQWdJQ0J6ZDJsMFkyZ2dLSEpsZEhWeWJrWnBZbVZ5TG5SaFp5a2dlMXh1SUNBZ0lDQWdZMkZ6WlNCSWIzTjBVbTl2ZERwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCd1lYSmxiblJEYjI1MFlXbHVaWElnUFNCeVpYUjFjbTVHYVdKbGNpNXpkR0YwWlU1dlpHVXVZMjl1ZEdGcGJtVnlTVzVtYnp0Y2JseHVJQ0FnSUNBZ0lDQWdJSE4zYVhSamFDQW9abWxpWlhJdWRHRm5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUIwZVhCbElEMGdabWxpWlhJdWRIbHdaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCeWIzQnpJRDBnWm1saVpYSXVjR1Z1WkdsdVoxQnliM0J6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVdST2IzUkdhVzVrU0hsa2NtRjBZV0pzWlVOdmJuUmhhVzVsY2tsdWMzUmhibU5sS0hCaGNtVnVkRU52Ym5SaGFXNWxjaXdnZEhsd1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElFaHZjM1JVWlhoME9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdkR1Y0ZENBOUlHWnBZbVZ5TG5CbGJtUnBibWRRY205d2N6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1pHbGtUbTkwUm1sdVpFaDVaSEpoZEdGaWJHVkRiMjUwWVdsdVpYSlVaWGgwU1c1emRHRnVZMlVvY0dGeVpXNTBRMjl1ZEdGcGJtVnlMQ0IwWlhoMEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTJGelpTQkliM04wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUhCaGNtVnVkRlI1Y0dVZ1BTQnlaWFIxY201R2FXSmxjaTUwZVhCbE8xeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCd1lYSmxiblJRY205d2N5QTlJSEpsZEhWeWJrWnBZbVZ5TG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlIQmhjbVZ1ZEVsdWMzUmhibU5sSUQwZ2NtVjBkWEp1Um1saVpYSXVjM1JoZEdWT2IyUmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNobWFXSmxjaTUwWVdjcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlGOTBlWEJsSUQwZ1ptbGlaWEl1ZEhsd1pUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRjl3Y205d2N5QTlJR1pwWW1WeUxuQmxibVJwYm1kUWNtOXdjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaR2xrVG05MFJtbHVaRWg1WkhKaGRHRmliR1ZKYm5OMFlXNWpaU2h3WVhKbGJuUlVlWEJsTENCd1lYSmxiblJRY205d2N5d2djR0Z5Wlc1MFNXNXpkR0Z1WTJVc0lGOTBlWEJsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHTmhjMlVnU0c5emRGUmxlSFE2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCZmRHVjRkQ0E5SUdacFltVnlMbkJsYm1ScGJtZFFjbTl3Y3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdsa1RtOTBSbWx1WkVoNVpISmhkR0ZpYkdWVVpYaDBTVzV6ZEdGdVkyVW9jR0Z5Wlc1MFZIbHdaU3dnY0dGeVpXNTBVSEp2Y0hNc0lIQmhjbVZ1ZEVsdWMzUmhibU5sTENCZmRHVjRkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCallYTmxJRk4xYzNCbGJuTmxRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmthV1JPYjNSR2FXNWtTSGxrY21GMFlXSnNaVk4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9jR0Z5Wlc1MFZIbHdaU3dnY0dGeVpXNTBVSEp2Y0hNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFJ5ZVVoNVpISmhkR1VvWm1saVpYSXNJRzVsZUhSSmJuTjBZVzVqWlNrZ2UxeHVJQ0J6ZDJsMFkyZ2dLR1pwWW1WeUxuUmhaeWtnZTF4dUlDQWdJR05oYzJVZ1NHOXpkRU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlIUjVjR1VnUFNCbWFXSmxjaTUwZVhCbE8xeHVJQ0FnSUNBZ0lDQjJZWElnY0hKdmNITWdQU0JtYVdKbGNpNXdaVzVrYVc1blVISnZjSE03WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR05oYmtoNVpISmhkR1ZKYm5OMFlXNWpaU2h1WlhoMFNXNXpkR0Z1WTJVc0lIUjVjR1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm5OMFlXNWpaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHWnBZbVZ5TG5OMFlYUmxUbTlrWlNBOUlHbHVjM1JoYm1ObE8xeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjBjblZsTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQkliM04wVkdWNGREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhSbGVIUWdQU0JtYVdKbGNpNXdaVzVrYVc1blVISnZjSE03WEc0Z0lDQWdJQ0FnSUhaaGNpQjBaWGgwU1c1emRHRnVZMlVnUFNCallXNUllV1J5WVhSbFZHVjRkRWx1YzNSaGJtTmxLRzVsZUhSSmJuTjBZVzVqWlN3Z2RHVjRkQ2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJsZUhSSmJuTjBZVzVqWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR1pwWW1WeUxuTjBZWFJsVG05a1pTQTlJSFJsZUhSSmJuTjBZVzVqWlR0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RISjFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjBjbmxVYjBOc1lXbHRUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNobWFXSmxjaWtnZTF4dUlDQnBaaUFvSVdselNIbGtjbUYwYVc1bktTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2RtRnlJRzVsZUhSSmJuTjBZVzVqWlNBOUlHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlU3WEc1Y2JpQWdhV1lnS0NGdVpYaDBTVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQXZMeUJPYjNSb2FXNW5JSFJ2SUdoNVpISmhkR1V1SUUxaGEyVWdhWFFnWVc0Z2FXNXpaWEowYVc5dUxseHVJQ0FnSUdsdWMyVnlkRTV2YmtoNVpISmhkR1ZrU1c1emRHRnVZMlVvYUhsa2NtRjBhVzl1VUdGeVpXNTBSbWxpWlhJc0lHWnBZbVZ5S1R0Y2JpQWdJQ0JwYzBoNVpISmhkR2x1WnlBOUlHWmhiSE5sTzF4dUlDQWdJR2g1WkhKaGRHbHZibEJoY21WdWRFWnBZbVZ5SUQwZ1ptbGlaWEk3WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUdacGNuTjBRWFIwWlcxd2RHVmtTVzV6ZEdGdVkyVWdQU0J1WlhoMFNXNXpkR0Z1WTJVN1hHNWNiaUFnYVdZZ0tDRjBjbmxJZVdSeVlYUmxLR1pwWW1WeUxDQnVaWGgwU1c1emRHRnVZMlVwS1NCN1hHNGdJQ0FnTHk4Z1NXWWdkMlVnWTJGdUozUWdhSGxrY21GMFpTQjBhR2x6SUdsdWMzUmhibU5sSUd4bGRDZHpJSFJ5ZVNCMGFHVWdibVY0ZENCdmJtVXVYRzRnSUNBZ0x5OGdWMlVnZFhObElIUm9hWE1nWVhNZ1lTQm9aWFZ5YVhOMGFXTXVJRWwwSjNNZ1ltRnpaV1FnYjI0Z2FXNTBkV2wwYVc5dUlHRnVaQ0J1YjNRZ1pHRjBZU0J6YnlCcGRGeHVJQ0FnSUM4dklHMXBaMmgwSUdKbElHWnNZWGRsWkNCdmNpQjFibTVsWTJWemMyRnllUzVjYmlBZ0lDQnVaWGgwU1c1emRHRnVZMlVnUFNCblpYUk9aWGgwU0hsa2NtRjBZV0pzWlZOcFlteHBibWNvWm1seWMzUkJkSFJsYlhCMFpXUkpibk4wWVc1alpTazdYRzVjYmlBZ0lDQnBaaUFvSVc1bGVIUkpibk4wWVc1alpTQjhmQ0FoZEhKNVNIbGtjbUYwWlNobWFXSmxjaXdnYm1WNGRFbHVjM1JoYm1ObEtTa2dlMXh1SUNBZ0lDQWdMeThnVG05MGFHbHVaeUIwYnlCb2VXUnlZWFJsTGlCTllXdGxJR2wwSUdGdUlHbHVjMlZ5ZEdsdmJpNWNiaUFnSUNBZ0lHbHVjMlZ5ZEU1dmJraDVaSEpoZEdWa1NXNXpkR0Z1WTJVb2FIbGtjbUYwYVc5dVVHRnlaVzUwUm1saVpYSXNJR1pwWW1WeUtUdGNiaUFnSUNBZ0lHbHpTSGxrY21GMGFXNW5JRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQm9lV1J5WVhScGIyNVFZWEpsYm5SR2FXSmxjaUE5SUdacFltVnlPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgwZ0x5OGdWMlVnYldGMFkyaGxaQ0IwYUdVZ2JtVjRkQ0J2Ym1Vc0lIZGxKMnhzSUc1dmR5QmhjM04xYldVZ2RHaGhkQ0IwYUdVZ1ptbHljM1FnYjI1bElIZGhjMXh1SUNBZ0lDOHZJSE4xY0dWeVpteDFiM1Z6SUdGdVpDQjNaU2RzYkNCa1pXeGxkR1VnYVhRdUlGTnBibU5sSUhkbElHTmhiaWQwSUdWaFoyVnliSGtnWkdWc1pYUmxJR2wwWEc0Z0lDQWdMeThnZDJVbmJHd2dhR0YyWlNCMGJ5QnpZMmhsWkhWc1pTQmhJR1JsYkdWMGFXOXVMaUJVYnlCa2J5QjBhR0YwTENCMGFHbHpJRzV2WkdVZ2JtVmxaSE1nWVNCa2RXMXRlVnh1SUNBZ0lDOHZJR1pwWW1WeUlHRnpjMjlqYVdGMFpXUWdkMmwwYUNCcGRDNWNibHh1WEc0Z0lDQWdaR1ZzWlhSbFNIbGtjbUYwWVdKc1pVbHVjM1JoYm1ObEtHaDVaSEpoZEdsdmJsQmhjbVZ1ZEVacFltVnlMQ0JtYVhKemRFRjBkR1Z0Y0hSbFpFbHVjM1JoYm1ObEtUdGNiaUFnZlZ4dVhHNGdJR2g1WkhKaGRHbHZibEJoY21WdWRFWnBZbVZ5SUQwZ1ptbGlaWEk3WEc0Z0lHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlVnUFNCblpYUkdhWEp6ZEVoNVpISmhkR0ZpYkdWRGFHbHNaQ2h1WlhoMFNXNXpkR0Z1WTJVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2NtVndZWEpsVkc5SWVXUnlZWFJsU0c5emRFbHVjM1JoYm1ObEtHWnBZbVZ5TENCeWIyOTBRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVXNJR2h2YzNSRGIyNTBaWGgwS1NCN1hHNWNiaUFnZG1GeUlHbHVjM1JoYm1ObElEMGdabWxpWlhJdWMzUmhkR1ZPYjJSbE8xeHVJQ0IyWVhJZ2RYQmtZWFJsVUdGNWJHOWhaQ0E5SUdoNVpISmhkR1ZKYm5OMFlXNWpaU2hwYm5OMFlXNWpaU3dnWm1saVpYSXVkSGx3WlN3Z1ptbGlaWEl1YldWdGIybDZaV1JRY205d2N5d2djbTl2ZEVOdmJuUmhhVzVsY2tsdWMzUmhibU5sTENCb2IzTjBRMjl1ZEdWNGRDd2dabWxpWlhJcE95QXZMeUJVVDBSUE9pQlVlWEJsSUhSb2FYTWdjM0JsWTJsbWFXTWdkRzhnZEdocGN5QjBlWEJsSUc5bUlHTnZiWEJ2Ym1WdWRDNWNibHh1SUNCbWFXSmxjaTUxY0dSaGRHVlJkV1YxWlNBOUlIVndaR0YwWlZCaGVXeHZZV1E3SUM4dklFbG1JSFJvWlNCMWNHUmhkR1VnY0dGNWJHOWhaQ0JwYm1ScFkyRjBaWE1nZEdoaGRDQjBhR1Z5WlNCcGN5QmhJR05vWVc1blpTQnZjaUJwWmlCMGFHVnlaVnh1SUNBdkx5QnBjeUJoSUc1bGR5QnlaV1lnZDJVZ2JXRnlheUIwYUdseklHRnpJR0Z1SUhWd1pHRjBaUzVjYmx4dUlDQnBaaUFvZFhCa1lYUmxVR0Y1Ykc5aFpDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2NtVndZWEpsVkc5SWVXUnlZWFJsU0c5emRGUmxlSFJKYm5OMFlXNWpaU2htYVdKbGNpa2dlMXh1WEc0Z0lIWmhjaUIwWlhoMFNXNXpkR0Z1WTJVZ1BTQm1hV0psY2k1emRHRjBaVTV2WkdVN1hHNGdJSFpoY2lCMFpYaDBRMjl1ZEdWdWRDQTlJR1pwWW1WeUxtMWxiVzlwZW1Wa1VISnZjSE03WEc0Z0lIWmhjaUJ6YUc5MWJHUlZjR1JoZEdVZ1BTQm9lV1J5WVhSbFZHVjRkRWx1YzNSaGJtTmxLSFJsZUhSSmJuTjBZVzVqWlN3Z2RHVjRkRU52Ym5SbGJuUXNJR1pwWW1WeUtUdGNibHh1SUNCN1hHNGdJQ0FnYVdZZ0tITm9iM1ZzWkZWd1pHRjBaU2tnZTF4dUlDQWdJQ0FnTHk4Z1YyVWdZWE56ZFcxbElIUm9ZWFFnY0hKbGNHRnlaVlJ2U0hsa2NtRjBaVWh2YzNSVVpYaDBTVzV6ZEdGdVkyVWdhWE1nWTJGc2JHVmtJR2x1SUdFZ1kyOXVkR1Y0ZENCM2FHVnlaU0IwYUdWY2JpQWdJQ0FnSUM4dklHaDVaSEpoZEdsdmJpQndZWEpsYm5RZ2FYTWdkR2hsSUhCaGNtVnVkQ0JvYjNOMElHTnZiWEJ2Ym1WdWRDQnZaaUIwYUdseklHaHZjM1FnZEdWNGRDNWNiaUFnSUNBZ0lIWmhjaUJ5WlhSMWNtNUdhV0psY2lBOUlHaDVaSEpoZEdsdmJsQmhjbVZ1ZEVacFltVnlPMXh1WEc0Z0lDQWdJQ0JwWmlBb2NtVjBkWEp1Um1saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYzNkcGRHTm9JQ2h5WlhSMWNtNUdhV0psY2k1MFlXY3BJSHRjYmlBZ0lDQWdJQ0FnSUNCallYTmxJRWh2YzNSU2IyOTBPbHh1SUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdjR0Z5Wlc1MFEyOXVkR0ZwYm1WeUlEMGdjbVYwZFhKdVJtbGlaWEl1YzNSaGRHVk9iMlJsTG1OdmJuUmhhVzVsY2tsdVptODdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnBaRTV2ZEUxaGRHTm9TSGxrY21GMFpXUkRiMjUwWVdsdVpYSlVaWGgwU1c1emRHRnVZMlVvY0dGeVpXNTBRMjl1ZEdGcGJtVnlMQ0IwWlhoMFNXNXpkR0Z1WTJVc0lIUmxlSFJEYjI1MFpXNTBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQndZWEpsYm5SVWVYQmxJRDBnY21WMGRYSnVSbWxpWlhJdWRIbHdaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCaGNtVnVkRkJ5YjNCeklEMGdjbVYwZFhKdVJtbGlaWEl1YldWdGIybDZaV1JRY205d2N6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJSEJoY21WdWRFbHVjM1JoYm1ObElEMGdjbVYwZFhKdVJtbGlaWEl1YzNSaGRHVk9iMlJsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVdST2IzUk5ZWFJqYUVoNVpISmhkR1ZrVkdWNGRFbHVjM1JoYm1ObEtIQmhjbVZ1ZEZSNWNHVXNJSEJoY21WdWRGQnliM0J6TENCd1lYSmxiblJKYm5OMFlXNWpaU3dnZEdWNGRFbHVjM1JoYm1ObExDQjBaWGgwUTI5dWRHVnVkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhOb2IzVnNaRlZ3WkdGMFpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2MydHBjRkJoYzNSRVpXaDVaSEpoZEdWa1UzVnpjR1Z1YzJWSmJuTjBZVzVqWlNobWFXSmxjaWtnZTF4dVhHNGdJSFpoY2lCemRYTndaVzV6WlZOMFlYUmxJRDBnWm1saVpYSXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdkbUZ5SUhOMWMzQmxibk5sU1c1emRHRnVZMlVnUFNCemRYTndaVzV6WlZOMFlYUmxJQ0U5UFNCdWRXeHNJRDhnYzNWemNHVnVjMlZUZEdGMFpTNWtaV2g1WkhKaGRHVmtJRG9nYm5Wc2JEdGNibHh1SUNCcFppQW9JWE4xYzNCbGJuTmxTVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRmVIQmxZM1JsWkNCMGJ5Qm9ZWFpsSUdFZ2FIbGtjbUYwWldRZ2MzVnpjR1Z1YzJVZ2FXNXpkR0Z1WTJVdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1oyVjBUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlVGbWRHVnlVM1Z6Y0dWdWMyVkpibk4wWVc1alpTaHpkWE53Wlc1elpVbHVjM1JoYm1ObEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHOXdWRzlPWlhoMFNHOXpkRkJoY21WdWRDaG1hV0psY2lrZ2UxeHVJQ0IyWVhJZ2NHRnlaVzUwSUQwZ1ptbGlaWEl1Y21WMGRYSnVPMXh1WEc0Z0lIZG9hV3hsSUNod1lYSmxiblFnSVQwOUlHNTFiR3dnSmlZZ2NHRnlaVzUwTG5SaFp5QWhQVDBnU0c5emRFTnZiWEJ2Ym1WdWRDQW1KaUJ3WVhKbGJuUXVkR0ZuSUNFOVBTQkliM04wVW05dmRDQW1KaUJ3WVhKbGJuUXVkR0ZuSUNFOVBTQlRkWE53Wlc1elpVTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lIQmhjbVZ1ZENBOUlIQmhjbVZ1ZEM1eVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCb2VXUnlZWFJwYjI1UVlYSmxiblJHYVdKbGNpQTlJSEJoY21WdWREdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHOXdTSGxrY21GMGFXOXVVM1JoZEdVb1ptbGlaWElwSUh0Y2JseHVJQ0JwWmlBb1ptbGlaWElnSVQwOUlHaDVaSEpoZEdsdmJsQmhjbVZ1ZEVacFltVnlLU0I3WEc0Z0lDQWdMeThnVjJVbmNtVWdaR1ZsY0dWeUlIUm9ZVzRnZEdobElHTjFjbkpsYm5RZ2FIbGtjbUYwYVc5dUlHTnZiblJsZUhRc0lHbHVjMmxrWlNCaGJpQnBibk5sY25SbFpGeHVJQ0FnSUM4dklIUnlaV1V1WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0ZwYzBoNVpISmhkR2x1WnlrZ2UxeHVJQ0FnSUM4dklFbG1JSGRsSjNKbElHNXZkQ0JqZFhKeVpXNTBiSGtnYUhsa2NtRjBhVzVuSUdKMWRDQjNaU2R5WlNCcGJpQmhJR2g1WkhKaGRHbHZiaUJqYjI1MFpYaDBMQ0IwYUdWdVhHNGdJQ0FnTHk4Z2QyVWdkMlZ5WlNCaGJpQnBibk5sY25ScGIyNGdZVzVrSUc1dmR5QnVaV1ZrSUhSdklIQnZjQ0IxY0NCeVpXVnVkR1Z5SUdoNVpISmhkR2x2YmlCdlppQnZkWEpjYmlBZ0lDQXZMeUJ6YVdKc2FXNW5jeTVjYmlBZ0lDQndiM0JVYjA1bGVIUkliM04wVUdGeVpXNTBLR1pwWW1WeUtUdGNiaUFnSUNCcGMwaDVaSEpoZEdsdVp5QTlJSFJ5ZFdVN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhSNWNHVWdQU0JtYVdKbGNpNTBlWEJsT3lBdkx5QkpaaUIzWlNCb1lYWmxJR0Z1ZVNCeVpXMWhhVzVwYm1jZ2FIbGtjbUYwWVdKc1pTQnViMlJsY3l3Z2QyVWdibVZsWkNCMGJ5QmtaV3hsZEdVZ2RHaGxiU0J1YjNjdVhHNGdJQzh2SUZkbElHOXViSGtnWkc4Z2RHaHBjeUJrWldWd1pYSWdkR2hoYmlCb1pXRmtJR0Z1WkNCaWIyUjVJSE5wYm1ObElIUm9aWGtnZEdWdVpDQjBieUJvWVhabElISmhibVJ2YlZ4dUlDQXZMeUJ2ZEdobGNpQnViMlJsY3lCcGJpQjBhR1Z0TGlCWFpTQmhiSE52SUdsbmJtOXlaU0JqYjIxd2IyNWxiblJ6SUhkcGRHZ2djSFZ5WlNCMFpYaDBJR052Ym5SbGJuUWdhVzVjYmlBZ0x5OGdjMmxrWlNCdlppQjBhR1Z0TGx4dUlDQXZMeUJVVDBSUE9pQkNaWFIwWlhJZ2FHVjFjbWx6ZEdsakxseHVYRzRnSUdsbUlDaG1hV0psY2k1MFlXY2dJVDA5SUVodmMzUkRiMjF3YjI1bGJuUWdmSHdnZEhsd1pTQWhQVDBnSjJobFlXUW5JQ1ltSUhSNWNHVWdJVDA5SUNkaWIyUjVKeUFtSmlBaGMyaHZkV3hrVTJWMFZHVjRkRU52Ym5SbGJuUW9kSGx3WlN3Z1ptbGlaWEl1YldWdGIybDZaV1JRY205d2N5a3BJSHRjYmlBZ0lDQjJZWElnYm1WNGRFbHVjM1JoYm1ObElEMGdibVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlR0Y2JseHVJQ0FnSUhkb2FXeGxJQ2h1WlhoMFNXNXpkR0Z1WTJVcElIdGNiaUFnSUNBZ0lHUmxiR1YwWlVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNobWFXSmxjaXdnYm1WNGRFbHVjM1JoYm1ObEtUdGNiaUFnSUNBZ0lHNWxlSFJKYm5OMFlXNWpaU0E5SUdkbGRFNWxlSFJJZVdSeVlYUmhZbXhsVTJsaWJHbHVaeWh1WlhoMFNXNXpkR0Z1WTJVcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQnZjRlJ2VG1WNGRFaHZjM1JRWVhKbGJuUW9abWxpWlhJcE8xeHVYRzRnSUdsbUlDaG1hV0psY2k1MFlXY2dQVDA5SUZOMWMzQmxibk5sUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnYm1WNGRFaDVaSEpoZEdGaWJHVkpibk4wWVc1alpTQTlJSE5yYVhCUVlYTjBSR1ZvZVdSeVlYUmxaRk4xYzNCbGJuTmxTVzV6ZEdGdVkyVW9abWxpWlhJcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHNWxlSFJJZVdSeVlYUmhZbXhsU1c1emRHRnVZMlVnUFNCb2VXUnlZWFJwYjI1UVlYSmxiblJHYVdKbGNpQS9JR2RsZEU1bGVIUkllV1J5WVhSaFlteGxVMmxpYkdsdVp5aG1hV0psY2k1emRHRjBaVTV2WkdVcElEb2diblZzYkR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMGNuVmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWE5sZEVoNVpISmhkR2x2YmxOMFlYUmxLQ2tnZTF4dVhHNGdJR2g1WkhKaGRHbHZibEJoY21WdWRFWnBZbVZ5SUQwZ2JuVnNiRHRjYmlBZ2JtVjRkRWg1WkhKaGRHRmliR1ZKYm5OMFlXNWpaU0E5SUc1MWJHdzdYRzRnSUdselNIbGtjbUYwYVc1bklEMGdabUZzYzJVN1hHNTlYRzVjYm5aaGNpQlNaV0ZqZEVOMWNuSmxiblJQZDI1bGNpUXhJRDBnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNdVVtVmhZM1JEZFhKeVpXNTBUM2R1WlhJN1hHNTJZWElnWkdsa1VtVmpaV2wyWlZWd1pHRjBaU0E5SUdaaGJITmxPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRUpoWkVOc1lYTnpPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRTF2WkhWc1pWQmhkSFJsY201RGIyMXdiMjVsYm5RN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFEyOXVkR1Y0ZEZSNWNHVlBia1oxYm1OMGFXOXVRMjl0Y0c5dVpXNTBPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRWRsZEVSbGNtbDJaV1JUZEdGMFpVOXVSblZ1WTNScGIyNURiMjF3YjI1bGJuUTdYRzUyWVhJZ1pHbGtWMkZ5YmtGaWIzVjBSblZ1WTNScGIyNVNaV1p6TzF4dWRtRnlJR1JwWkZkaGNtNUJZbTkxZEZKbFlYTnphV2R1YVc1blVISnZjSE03WEc1MllYSWdaR2xrVjJGeWJrRmliM1YwVW1WMlpXRnNUM0prWlhJN1hHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFZHRnBiRTl3ZEdsdmJuTTdYRzVjYm50Y2JpQWdaR2xrVjJGeWJrRmliM1YwUW1Ga1EyeGhjM01nUFNCN2ZUdGNiaUFnWkdsa1YyRnlia0ZpYjNWMFRXOWtkV3hsVUdGMGRHVnlia052YlhCdmJtVnVkQ0E5SUh0OU8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSRGIyNTBaWGgwVkhsd1pVOXVSblZ1WTNScGIyNURiMjF3YjI1bGJuUWdQU0I3ZlR0Y2JpQWdaR2xrVjJGeWJrRmliM1YwUjJWMFJHVnlhWFpsWkZOMFlYUmxUMjVHZFc1amRHbHZia052YlhCdmJtVnVkQ0E5SUh0OU8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSR2RXNWpkR2x2YmxKbFpuTWdQU0I3ZlR0Y2JpQWdaR2xrVjJGeWJrRmliM1YwVW1WaGMzTnBaMjVwYm1kUWNtOXdjeUE5SUdaaGJITmxPMXh1SUNCa2FXUlhZWEp1UVdKdmRYUlNaWFpsWVd4UGNtUmxjaUE5SUh0OU8xeHVJQ0JrYVdSWFlYSnVRV0p2ZFhSVVlXbHNUM0IwYVc5dWN5QTlJSHQ5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldOdmJtTnBiR1ZEYUdsc1pISmxiaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dibVY0ZEVOb2FXeGtjbVZ1TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCcFppQW9ZM1Z5Y21WdWRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDOHZJRWxtSUhSb2FYTWdhWE1nWVNCbWNtVnphQ0J1WlhjZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYUdGemJpZDBJR0psWlc0Z2NtVnVaR1Z5WldRZ2VXVjBMQ0IzWlZ4dUlDQWdJQzh2SUhkdmJpZDBJSFZ3WkdGMFpTQnBkSE1nWTJocGJHUWdjMlYwSUdKNUlHRndjR3g1YVc1bklHMXBibWx0WVd3Z2MybGtaUzFsWm1abFkzUnpMaUJKYm5OMFpXRmtMRnh1SUNBZ0lDOHZJSGRsSUhkcGJHd2dZV1JrSUhSb1pXMGdZV3hzSUhSdklIUm9aU0JqYUdsc1pDQmlaV1p2Y21VZ2FYUWdaMlYwY3lCeVpXNWtaWEpsWkM0Z1ZHaGhkQ0J0WldGdWMxeHVJQ0FnSUM4dklIZGxJR05oYmlCdmNIUnBiV2w2WlNCMGFHbHpJSEpsWTI5dVkybHNhV0YwYVc5dUlIQmhjM01nWW5rZ2JtOTBJSFJ5WVdOcmFXNW5JSE5wWkdVdFpXWm1aV04wY3k1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlHMXZkVzUwUTJocGJHUkdhV0psY25Nb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1MWJHd3NJRzVsZUhSRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUVsbUlIUm9aU0JqZFhKeVpXNTBJR05vYVd4a0lHbHpJSFJvWlNCellXMWxJR0Z6SUhSb1pTQjNiM0pySUdsdUlIQnliMmR5WlhOekxDQnBkQ0J0WldGdWN5QjBhR0YwWEc0Z0lDQWdMeThnZDJVZ2FHRjJaVzRuZENCNVpYUWdjM1JoY25SbFpDQmhibmtnZDI5eWF5QnZiaUIwYUdWelpTQmphR2xzWkhKbGJpNGdWR2hsY21WbWIzSmxMQ0IzWlNCMWMyVmNiaUFnSUNBdkx5QjBhR1VnWTJ4dmJtVWdZV3huYjNKcGRHaHRJSFJ2SUdOeVpXRjBaU0JoSUdOdmNIa2diMllnWVd4c0lIUm9aU0JqZFhKeVpXNTBJR05vYVd4a2NtVnVMbHh1SUNBZ0lDOHZJRWxtSUhkbElHaGhaQ0JoYm5rZ2NISnZaM0psYzNObFpDQjNiM0pySUdGc2NtVmhaSGtzSUhSb1lYUWdhWE1nYVc1MllXeHBaQ0JoZENCMGFHbHpJSEJ2YVc1MElITnZYRzRnSUNBZ0x5OGdiR1YwSjNNZ2RHaHliM2NnYVhRZ2IzVjBMbHh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtJRDBnY21WamIyNWphV3hsUTJocGJHUkdhV0psY25Nb2QyOXlhMGx1VUhKdlozSmxjM01zSUdOMWNuSmxiblF1WTJocGJHUXNJRzVsZUhSRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdadmNtTmxWVzV0YjNWdWRFTjFjbkpsYm5SQmJtUlNaV052Ym1OcGJHVW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnTHk4Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCbWIzSnJJRzltSUhKbFkyOXVZMmxzWlVOb2FXeGtjbVZ1TGlCSmRDZHpJSFZ6WldRZ2FXNGdZMkZ6WlhNZ2QyaGxjbVVnZDJWY2JpQWdMeThnZDJGdWRDQjBieUJ5WldOdmJtTnBiR1VnZDJsMGFHOTFkQ0J0WVhSamFHbHVaeUJoWjJGcGJuTjBJSFJvWlNCbGVHbHpkR2x1WnlCelpYUXVJRlJvYVhNZ2FHRnpJSFJvWlZ4dUlDQXZMeUJsWm1abFkzUWdiMllnWVd4c0lHTjFjbkpsYm5RZ1kyaHBiR1J5Wlc0Z1ltVnBibWNnZFc1dGIzVnVkR1ZrT3lCbGRtVnVJR2xtSUhSb1pTQjBlWEJsSUdGdVpDQnJaWGxjYmlBZ0x5OGdZWEpsSUhSb1pTQnpZVzFsTENCMGFHVWdiMnhrSUdOb2FXeGtJR2x6SUhWdWJXOTFiblJsWkNCaGJtUWdZU0J1WlhjZ1kyaHBiR1FnYVhNZ1kzSmxZWFJsWkM1Y2JpQWdMeTljYmlBZ0x5OGdWRzhnWkc4Z2RHaHBjeXdnZDJVbmNtVWdaMjlwYm1jZ2RHOGdaMjhnZEdoeWIzVm5hQ0IwYUdVZ2NtVmpiMjVqYVd4bElHRnNaMjl5YVhSb2JTQjBkMmxqWlM0Z1NXNWNiaUFnTHk4Z2RHaGxJR1pwY25OMElIQmhjM01zSUhkbElITmphR1ZrZFd4bElHRWdaR1ZzWlhScGIyNGdabTl5SUdGc2JDQjBhR1VnWTNWeWNtVnVkQ0JqYUdsc1pISmxiaUJpZVZ4dUlDQXZMeUJ3WVhOemFXNW5JRzUxYkd3dVhHNGdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2NtVmpiMjVqYVd4bFEyaHBiR1JHYVdKbGNuTW9kMjl5YTBsdVVISnZaM0psYzNNc0lHTjFjbkpsYm5RdVkyaHBiR1FzSUc1MWJHd3NJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1RzZ0x5OGdTVzRnZEdobElITmxZMjl1WkNCd1lYTnpMQ0IzWlNCdGIzVnVkQ0IwYUdVZ2JtVjNJR05vYVd4a2NtVnVMaUJVYUdVZ2RISnBZMnNnYUdWeVpTQnBjeUIwYUdGMElIZGxYRzRnSUM4dklIQmhjM01nYm5Wc2JDQnBiaUJ3YkdGalpTQnZaaUIzYUdWeVpTQjNaU0IxYzNWaGJHeDVJSEJoYzNNZ2RHaGxJR04xY25KbGJuUWdZMmhwYkdRZ2MyVjBMaUJVYUdseklHaGhjMXh1SUNBdkx5QjBhR1VnWldabVpXTjBJRzltSUhKbGJXOTFiblJwYm1jZ1lXeHNJR05vYVd4a2NtVnVJSEpsWjJGeVpHeGxjM01nYjJZZ2QyaGxkR2hsY2lCMGFHVnBjbHh1SUNBdkx5QnBaR1Z1ZEdsMGFXVnpJRzFoZEdOb0xseHVYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a0lEMGdjbVZqYjI1amFXeGxRMmhwYkdSR2FXSmxjbk1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzUxYkd3c0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWNHUmhkR1ZHYjNKM1lYSmtVbVZtS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0x5OGdWRTlFVHpvZ1kzVnljbVZ1ZENCallXNGdZbVVnYm05dUxXNTFiR3dnYUdWeVpTQmxkbVZ1SUdsbUlIUm9aU0JqYjIxd2IyNWxiblJjYmlBZ0x5OGdhR0Z6YmlkMElIbGxkQ0J0YjNWdWRHVmtMaUJVYUdseklHaGhjSEJsYm5NZ1lXWjBaWElnZEdobElHWnBjbk4wSUhKbGJtUmxjaUJ6ZFhOd1pXNWtjeTVjYmlBZ0x5OGdWMlVuYkd3Z2JtVmxaQ0IwYnlCbWFXZDFjbVVnYjNWMElHbG1JSFJvYVhNZ2FYTWdabWx1WlNCdmNpQmpZVzRnWTJGMWMyVWdhWE56ZFdWekxseHVJQ0I3WEc0Z0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVZ0lUMDlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxLU0I3WEc0Z0lDQWdJQ0F2THlCTVlYcDVJR052YlhCdmJtVnVkQ0J3Y205d2N5QmpZVzRuZENCaVpTQjJZV3hwWkdGMFpXUWdhVzRnWTNKbFlYUmxSV3hsYldWdWRGeHVJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQjBhR1Y1SjNKbElHOXViSGtnWjNWaGNtRnVkR1ZsWkNCMGJ5QmlaU0J5WlhOdmJIWmxaQ0JvWlhKbExseHVJQ0FnSUNBZ2RtRnlJR2x1Ym1WeVVISnZjRlI1Y0dWeklEMGdRMjl0Y0c5dVpXNTBMbkJ5YjNCVWVYQmxjenRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHVibVZ5VUhKdmNGUjVjR1Z6S1NCN1hHNGdJQ0FnSUNBZ0lHTm9aV05yVUhKdmNGUjVjR1Z6S0dsdWJtVnlVSEp2Y0ZSNWNHVnpMQ0J1WlhoMFVISnZjSE1zSUM4dklGSmxjMjlzZG1Wa0lIQnliM0J6WEc0Z0lDQWdJQ0FnSUNkd2NtOXdKeXdnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hEYjIxd2IyNWxiblFwTENCblpYUkRkWEp5Wlc1MFJtbGlaWEpUZEdGamEwbHVSR1YyS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdjbVZ1WkdWeUlEMGdRMjl0Y0c5dVpXNTBMbkpsYm1SbGNqdGNiaUFnZG1GeUlISmxaaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmpzZ0x5OGdWR2hsSUhKbGMzUWdhWE1nWVNCbWIzSnJJRzltSUhWd1pHRjBaVVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBYRzVjYmlBZ2RtRnlJRzVsZUhSRGFHbHNaSEpsYmp0Y2JpQWdjSEpsY0dGeVpWUnZVbVZoWkVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0I3WEc0Z0lDQWdVbVZoWTNSRGRYSnlaVzUwVDNkdVpYSWtNUzVqZFhKeVpXNTBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUNBZ2MyVjBTWE5TWlc1a1pYSnBibWNvZEhKMVpTazdYRzRnSUNBZ2JtVjRkRU5vYVd4a2NtVnVJRDBnY21WdVpHVnlWMmwwYUVodmIydHpLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnlaVzVrWlhJc0lHNWxlSFJRY205d2N5d2djbVZtTENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQnBaaUFvSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTF2WkdVZ0ppQlRkSEpwWTNSTmIyUmxLU0I3WEc0Z0lDQWdJQ0F2THlCUGJteDVJR1J2ZFdKc1pTMXlaVzVrWlhJZ1kyOXRjRzl1Wlc1MGN5QjNhWFJvSUVodmIydHpYRzRnSUNBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnVaWGgwUTJocGJHUnlaVzRnUFNCeVpXNWtaWEpYYVhSb1NHOXZhM01vWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNpd2dibVY0ZEZCeWIzQnpMQ0J5WldZc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnpaWFJKYzFKbGJtUmxjbWx1WnlobVlXeHpaU2s3WEc0Z0lIMWNibHh1SUNCcFppQW9ZM1Z5Y21WdWRDQWhQVDBnYm5Wc2JDQW1KaUFoWkdsa1VtVmpaV2wyWlZWd1pHRjBaU2tnZTF4dUlDQWdJR0poYVd4dmRYUkliMjlyY3loamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUhKbGRIVnliaUJpWVdsc2IzVjBUMjVCYkhKbFlXUjVSbWx1YVhOb1pXUlhiM0pyS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJSDBnTHk4Z1VtVmhZM1FnUkdWMlZHOXZiSE1nY21WaFpITWdkR2hwY3lCbWJHRm5MbHh1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRkJsY21admNtMWxaRmR2Y21zN1hHNGdJSEpsWTI5dVkybHNaVU5vYVd4a2NtVnVLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnVaWGgwUTJocGJHUnlaVzRzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVk5aVzF2UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJR2xtSUNoamRYSnlaVzUwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlIUjVjR1VnUFNCRGIyMXdiMjVsYm5RdWRIbHdaVHRjYmx4dUlDQWdJR2xtSUNocGMxTnBiWEJzWlVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwS0hSNWNHVXBJQ1ltSUVOdmJYQnZibVZ1ZEM1amIyMXdZWEpsSUQwOVBTQnVkV3hzSUNZbUlDOHZJRk5wYlhCc1pVMWxiVzlEYjIxd2IyNWxiblFnWTI5a1pYQmhkR2dnWkc5bGMyNG5kQ0J5WlhOdmJIWmxJRzkxZEdWeUlIQnliM0J6SUdWcGRHaGxjaTVjYmlBZ0lDQkRiMjF3YjI1bGJuUXVaR1ZtWVhWc2RGQnliM0J6SUQwOVBTQjFibVJsWm1sdVpXUXBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpYTnZiSFpsWkZSNWNHVWdQU0IwZVhCbE8xeHVYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEpsYzI5c2RtVmtWSGx3WlNBOUlISmxjMjlzZG1WR2RXNWpkR2x2YmtadmNraHZkRkpsYkc5aFpHbHVaeWgwZVhCbEtUdGNiaUFnSUNBZ0lIMGdMeThnU1dZZ2RHaHBjeUJwY3lCaElIQnNZV2x1SUdaMWJtTjBhVzl1SUdOdmJYQnZibVZ1ZENCM2FYUm9iM1YwSUdSbFptRjFiSFFnY0hKdmNITXNYRzRnSUNBZ0lDQXZMeUJoYm1RZ2QybDBhQ0J2Ym14NUlIUm9aU0JrWldaaGRXeDBJSE5vWVd4c2IzY2dZMjl0Y0dGeWFYTnZiaXdnZDJVZ2RYQm5jbUZrWlNCcGRGeHVJQ0FnSUNBZ0x5OGdkRzhnWVNCVGFXMXdiR1ZOWlcxdlEyOXRjRzl1Wlc1MElIUnZJR0ZzYkc5M0lHWmhjM1FnY0dGMGFDQjFjR1JoZEdWekxseHVYRzVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuUmhaeUE5SUZOcGJYQnNaVTFsYlc5RGIyMXdiMjVsYm5RN1hHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbElEMGdjbVZ6YjJ4MlpXUlVlWEJsTzF4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhiR2xrWVhSbFJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SSmJrUmxkaWgzYjNKclNXNVFjbTluY21WemN5d2dkSGx3WlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5WlhOdmJIWmxaRlI1Y0dVc0lHNWxlSFJRY205d2N5d2dkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCMllYSWdhVzV1WlhKUWNtOXdWSGx3WlhNZ1BTQjBlWEJsTG5CeWIzQlVlWEJsY3p0Y2JseHVJQ0FnSUNBZ2FXWWdLR2x1Ym1WeVVISnZjRlI1Y0dWektTQjdYRzRnSUNBZ0lDQWdJQzh2SUVsdWJtVnlJRzFsYlc4Z1kyOXRjRzl1Wlc1MElIQnliM0J6SUdGeVpXNG5kQ0JqZFhKeVpXNTBiSGtnZG1Gc2FXUmhkR1ZrSUdsdUlHTnlaV0YwWlVWc1pXMWxiblF1WEc0Z0lDQWdJQ0FnSUM4dklGZGxJR052ZFd4a0lHMXZkbVVnYVhRZ2RHaGxjbVVzSUdKMWRDQjNaU2RrSUhOMGFXeHNJRzVsWldRZ2RHaHBjeUJtYjNJZ2JHRjZlU0JqYjJSbElIQmhkR2d1WEc0Z0lDQWdJQ0FnSUdOb1pXTnJVSEp2Y0ZSNWNHVnpLR2x1Ym1WeVVISnZjRlI1Y0dWekxDQnVaWGgwVUhKdmNITXNJQzh2SUZKbGMyOXNkbVZrSUhCeWIzQnpYRzRnSUNBZ0lDQWdJQ2R3Y205d0p5d2daMlYwUTI5dGNHOXVaVzUwVG1GdFpTaDBlWEJsS1N3Z1oyVjBRM1Z5Y21WdWRFWnBZbVZ5VTNSaFkydEpia1JsZGlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlHTm9hV3hrSUQwZ1kzSmxZWFJsUm1saVpYSkdjbTl0Vkhsd1pVRnVaRkJ5YjNCektFTnZiWEJ2Ym1WdWRDNTBlWEJsTENCdWRXeHNMQ0J1WlhoMFVISnZjSE1zSUc1MWJHd3NJSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCamFHbHNaQzV5WldZZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1eVpXWTdYRzRnSUNBZ1kyaHBiR1F1Y21WMGRYSnVJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUWdQU0JqYUdsc1pEdGNiaUFnSUNCeVpYUjFjbTRnWTJocGJHUTdYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkbUZ5SUY5MGVYQmxJRDBnUTI5dGNHOXVaVzUwTG5SNWNHVTdYRzRnSUNBZ2RtRnlJRjlwYm01bGNsQnliM0JVZVhCbGN5QTlJRjkwZVhCbExuQnliM0JVZVhCbGN6dGNibHh1SUNBZ0lHbG1JQ2hmYVc1dVpYSlFjbTl3Vkhsd1pYTXBJSHRjYmlBZ0lDQWdJQzh2SUVsdWJtVnlJRzFsYlc4Z1kyOXRjRzl1Wlc1MElIQnliM0J6SUdGeVpXNG5kQ0JqZFhKeVpXNTBiSGtnZG1Gc2FXUmhkR1ZrSUdsdUlHTnlaV0YwWlVWc1pXMWxiblF1WEc0Z0lDQWdJQ0F2THlCWFpTQmpiM1ZzWkNCdGIzWmxJR2wwSUhSb1pYSmxMQ0JpZFhRZ2QyVW5aQ0J6ZEdsc2JDQnVaV1ZrSUhSb2FYTWdabTl5SUd4aGVua2dZMjlrWlNCd1lYUm9MbHh1SUNBZ0lDQWdZMmhsWTJ0UWNtOXdWSGx3WlhNb1gybHVibVZ5VUhKdmNGUjVjR1Z6TENCdVpYaDBVSEp2Y0hNc0lDOHZJRkpsYzI5c2RtVmtJSEJ5YjNCelhHNGdJQ0FnSUNBbmNISnZjQ2NzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWDNSNWNHVXBMQ0JuWlhSRGRYSnlaVzUwUm1saVpYSlRkR0ZqYTBsdVJHVjJLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IyWVhJZ1kzVnljbVZ1ZEVOb2FXeGtJRDBnWTNWeWNtVnVkQzVqYUdsc1pEc2dMeThnVkdocGN5QnBjeUJoYkhkaGVYTWdaWGhoWTNSc2VTQnZibVVnWTJocGJHUmNibHh1SUNCcFppQW9kWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2QybHNiQ0JpWlNCMGFHVWdjSEp2Y0hNZ2QybDBhQ0J5WlhOdmJIWmxaQ0JrWldaaGRXeDBVSEp2Y0hNc1hHNGdJQ0FnTHk4Z2RXNXNhV3RsSUdOMWNuSmxiblF1YldWdGIybDZaV1JRY205d2N5QjNhR2xqYUNCM2FXeHNJR0psSUhSb1pTQjFibkpsYzI5c2RtVmtJRzl1WlhNdVhHNGdJQ0FnZG1GeUlIQnlaWFpRY205d2N5QTlJR04xY25KbGJuUkRhR2xzWkM1dFpXMXZhWHBsWkZCeWIzQnpPeUF2THlCRVpXWmhkV3gwSUhSdklITm9ZV3hzYjNjZ1kyOXRjR0Z5YVhOdmJseHVYRzRnSUNBZ2RtRnlJR052YlhCaGNtVWdQU0JEYjIxd2IyNWxiblF1WTI5dGNHRnlaVHRjYmlBZ0lDQmpiMjF3WVhKbElEMGdZMjl0Y0dGeVpTQWhQVDBnYm5Wc2JDQS9JR052YlhCaGNtVWdPaUJ6YUdGc2JHOTNSWEYxWVd3N1hHNWNiaUFnSUNCcFppQW9ZMjl0Y0dGeVpTaHdjbVYyVUhKdmNITXNJRzVsZUhSUWNtOXdjeWtnSmlZZ1kzVnljbVZ1ZEM1eVpXWWdQVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmlrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdKaGFXeHZkWFJQYmtGc2NtVmhaSGxHYVc1cGMyaGxaRmR2Y21zb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1VtVmhZM1FnUkdWMlZHOXZiSE1nY21WaFpITWdkR2hwY3lCbWJHRm5MbHh1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRkJsY21admNtMWxaRmR2Y21zN1hHNGdJSFpoY2lCdVpYZERhR2xzWkNBOUlHTnlaV0YwWlZkdmNtdEpibEJ5YjJkeVpYTnpLR04xY25KbGJuUkRhR2xzWkN3Z2JtVjRkRkJ5YjNCektUdGNiaUFnYm1WM1EyaHBiR1F1Y21WbUlEMGdkMjl5YTBsdVVISnZaM0psYzNNdWNtVm1PMXh1SUNCdVpYZERhR2xzWkM1eVpYUjFjbTRnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUWdQU0J1WlhkRGFHbHNaRHRjYmlBZ2NtVjBkWEp1SUc1bGQwTm9hV3hrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVlRhVzF3YkdWTlpXMXZRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJRzVsZUhSUWNtOXdjeXdnZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDOHZJRlJQUkU4NklHTjFjbkpsYm5RZ1kyRnVJR0psSUc1dmJpMXVkV3hzSUdobGNtVWdaWFpsYmlCcFppQjBhR1VnWTI5dGNHOXVaVzUwWEc0Z0lDOHZJR2hoYzI0bmRDQjVaWFFnYlc5MWJuUmxaQzRnVkdocGN5Qm9ZWEJ3Wlc1eklIZG9aVzRnZEdobElHbHVibVZ5SUhKbGJtUmxjaUJ6ZFhOd1pXNWtjeTVjYmlBZ0x5OGdWMlVuYkd3Z2JtVmxaQ0IwYnlCbWFXZDFjbVVnYjNWMElHbG1JSFJvYVhNZ2FYTWdabWx1WlNCdmNpQmpZVzRnWTJGMWMyVWdhWE56ZFdWekxseHVJQ0I3WEc0Z0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVZ0lUMDlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxLU0I3WEc0Z0lDQWdJQ0F2THlCTVlYcDVJR052YlhCdmJtVnVkQ0J3Y205d2N5QmpZVzRuZENCaVpTQjJZV3hwWkdGMFpXUWdhVzRnWTNKbFlYUmxSV3hsYldWdWRGeHVJQ0FnSUNBZ0x5OGdZbVZqWVhWelpTQjBhR1Y1SjNKbElHOXViSGtnWjNWaGNtRnVkR1ZsWkNCMGJ5QmlaU0J5WlhOdmJIWmxaQ0JvWlhKbExseHVJQ0FnSUNBZ2RtRnlJRzkxZEdWeVRXVnRiMVI1Y0dVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGJHVnRaVzUwVkhsd1pUdGNibHh1SUNBZ0lDQWdhV1lnS0c5MWRHVnlUV1Z0YjFSNWNHVXVKQ1IwZVhCbGIyWWdQVDA5SUZKRlFVTlVYMHhCV2xsZlZGbFFSU2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlhaU0IzWVhKdUlIZG9aVzRnZVc5MUlHUmxabWx1WlNCd2NtOXdWSGx3WlhNZ2IyNGdiR0Y2ZVNncFhHNGdJQ0FnSUNBZ0lDOHZJSE52SUd4bGRDZHpJR3AxYzNRZ2MydHBjQ0J2ZG1WeUlHbDBJSFJ2SUdacGJtUWdiV1Z0YnlncElHOTFkR1Z5SUhkeVlYQndaWEl1WEc0Z0lDQWdJQ0FnSUM4dklFbHVibVZ5SUhCeWIzQnpJR1p2Y2lCdFpXMXZJR0Z5WlNCMllXeHBaR0YwWldRZ2JHRjBaWEl1WEc0Z0lDQWdJQ0FnSUc5MWRHVnlUV1Z0YjFSNWNHVWdQU0J5WldacGJtVlNaWE52YkhabFpFeGhlbmxEYjIxd2IyNWxiblFvYjNWMFpYSk5aVzF2Vkhsd1pTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCdmRYUmxjbEJ5YjNCVWVYQmxjeUE5SUc5MWRHVnlUV1Z0YjFSNWNHVWdKaVlnYjNWMFpYSk5aVzF2Vkhsd1pTNXdjbTl3Vkhsd1pYTTdYRzVjYmlBZ0lDQWdJR2xtSUNodmRYUmxjbEJ5YjNCVWVYQmxjeWtnZTF4dUlDQWdJQ0FnSUNCamFHVmphMUJ5YjNCVWVYQmxjeWh2ZFhSbGNsQnliM0JVZVhCbGN5d2dibVY0ZEZCeWIzQnpMQ0F2THlCU1pYTnZiSFpsWkNBb1UybHRjR3hsVFdWdGIwTnZiWEJ2Ym1WdWRDQm9ZWE1nYm04Z1pHVm1ZWFZzZEZCeWIzQnpLVnh1SUNBZ0lDQWdJQ0FuY0hKdmNDY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9iM1YwWlhKTlpXMXZWSGx3WlNrc0lHZGxkRU4xY25KbGJuUkdhV0psY2xOMFlXTnJTVzVFWlhZcE8xeHVJQ0FnSUNBZ2ZTQXZMeUJKYm01bGNpQndjbTl3Vkhsd1pYTWdkMmxzYkNCaVpTQjJZV3hwWkdGMFpXUWdhVzRnZEdobElHWjFibU4wYVc5dUlHTnZiWEJ2Ym1WdWRDQndZWFJvTGx4dVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2FXWWdLR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjJZWElnY0hKbGRsQnliM0J6SUQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpPMXh1WEc0Z0lDQWdhV1lnS0hOb1lXeHNiM2RGY1hWaGJDaHdjbVYyVUhKdmNITXNJRzVsZUhSUWNtOXdjeWtnSmlZZ1kzVnljbVZ1ZEM1eVpXWWdQVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmlBbUppQW9JQzh2SUZCeVpYWmxiblFnWW1GcGJHOTFkQ0JwWmlCMGFHVWdhVzF3YkdWdFpXNTBZWFJwYjI0Z1kyaGhibWRsWkNCa2RXVWdkRzhnYUc5MElISmxiRzloWkM1Y2JpQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlNBOVBUMGdZM1Z5Y21WdWRDNTBlWEJsSUNrcElIdGNiaUFnSUNBZ0lHUnBaRkpsWTJWcGRtVlZjR1JoZEdVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0FnSUNBZ2FXWWdLSFZ3WkdGMFpVVjRjR2x5WVhScGIyNVVhVzFsSUR3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1ZHaGxJSEJsYm1ScGJtY2dkWEJrWVhSbElIQnlhVzl5YVhSNUlIZGhjeUJqYkdWaGNtVmtJR0YwSUhSb1pTQmlaV2RwYm01cGJtY2diMlpjYmlBZ0lDQWdJQ0FnTHk4Z1ltVm5hVzVYYjNKckxpQlhaU2R5WlNCaFltOTFkQ0IwYnlCaVlXbHNJRzkxZEN3Z1luVjBJSFJvWlhKbElHMXBaMmgwSUdKbElHRmtaR2wwYVc5dVlXeGNiaUFnSUNBZ0lDQWdMeThnZFhCa1lYUmxjeUJoZENCaElHeHZkMlZ5SUhCeWFXOXlhWFI1TGlCVmMzVmhiR3g1TENCMGFHVWdjSEpwYjNKcGRIa2diR1YyWld3Z2IyWWdkR2hsWEc0Z0lDQWdJQ0FnSUM4dklISmxiV0ZwYm1sdVp5QjFjR1JoZEdWeklHbHpJR0ZqWTNWdGJHRjBaV1FnWkhWeWFXNW5JSFJvWlNCbGRtRnNkV0YwYVc5dUlHOW1JSFJvWlZ4dUlDQWdJQ0FnSUNBdkx5QmpiMjF3YjI1bGJuUWdLR2t1WlM0Z2QyaGxiaUJ3Y205alpYTnphVzVuSUhSb1pTQjFjR1JoZEdVZ2NYVmxkV1VwTGlCQ2RYUWdjMmx1WTJVZ2MybHVZMlZjYmlBZ0lDQWdJQ0FnTHk4Z2QyVW5jbVVnWW1GcGJHbHVaeUJ2ZFhRZ1pXRnliSGtnS25kcGRHaHZkWFFxSUdWMllXeDFZWFJwYm1jZ2RHaGxJR052YlhCdmJtVnVkQ3dnZDJVZ2JtVmxaRnh1SUNBZ0lDQWdJQ0F2THlCMGJ5QmhZMk52ZFc1MElHWnZjaUJwZENCb1pYSmxMQ0IwYjI4dUlGSmxjMlYwSUhSdklIUm9aU0IyWVd4MVpTQnZaaUIwYUdVZ1kzVnljbVZ1ZENCbWFXSmxjaTVjYmlBZ0lDQWdJQ0FnTHk4Z1RrOVVSVG9nVkdocGN5QnZibXg1SUdGd2NHeHBaWE1nZEc4Z1UybHRjR3hsVFdWdGIwTnZiWEJ2Ym1WdWRDd2dibTkwSUUxbGJXOURiMjF3YjI1bGJuUXNYRzRnSUNBZ0lDQWdJQzh2SUdKbFkyRjFjMlVnWVNCTlpXMXZRMjl0Y0c5dVpXNTBJR1pwWW1WeUlHUnZaWE1nYm05MElHaGhkbVVnYUc5dmEzTWdiM0lnWVc0Z2RYQmtZWFJsSUhGMVpYVmxPMXh1SUNBZ0lDQWdJQ0F2THlCeVlYUm9aWElzSUdsMElIZHlZWEJ6SUdGeWIzVnVaQ0JoYmlCcGJtNWxjaUJqYjIxd2IyNWxiblFzSUhkb2FXTm9JRzFoZVNCdmNpQnRZWGtnYm05MFhHNGdJQ0FnSUNBZ0lDOHZJR052Ym5SaGFXNXpJR2h2YjJ0ekxseHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQk5iM1psSUhSb1pTQnlaWE5sZENCaGRDQnBiaUJpWldkcGJsZHZjbXNnYjNWMElHOW1JSFJvWlNCamIyMXRiMjRnY0dGMGFDQnpieUIwYUdGMFhHNGdJQ0FnSUNBZ0lDOHZJSFJvYVhNZ2FYTWdibThnYkc5dVoyVnlJRzVsWTJWemMyRnllUzVjYmlBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQmpkWEp5Wlc1MExtVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWW1GcGJHOTFkRTl1UVd4eVpXRmtlVVpwYm1semFHVmtWMjl5YXloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMWNHUmhkR1ZHZFc1amRHbHZia052YlhCdmJtVnVkQ2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBMQ0J1WlhoMFVISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsUm5KaFoyMWxiblFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCdVpYaDBRMmhwYkdSeVpXNGdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc0Z0lISmxZMjl1WTJsc1pVTm9hV3hrY21WdUtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCdVpYaDBRMmhwYkdSeVpXNHNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdjbVYwZFhKdUlIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWTmIyUmxLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQjJZWElnYm1WNGRFTm9hV3hrY21WdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNdWNHVnVaR2x1WjFCeWIzQnpMbU5vYVd4a2NtVnVPMXh1SUNCeVpXTnZibU5wYkdWRGFHbHNaSEpsYmloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnYm1WNGRFTm9hV3hrY21WdUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lISmxkSFZ5YmlCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVUhKdlptbHNaWElvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSHRjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdWWEJrWVhSbE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1bGVIUlFjbTl3Y3lBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5CbGJtUnBibWRRY205d2N6dGNiaUFnZG1GeUlHNWxlSFJEYUdsc1pISmxiaUE5SUc1bGVIUlFjbTl3Y3k1amFHbHNaSEpsYmp0Y2JpQWdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNG9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0J5WlhSMWNtNGdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1E3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoY210U1pXWW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNcElIdGNiaUFnZG1GeUlISmxaaUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmp0Y2JseHVJQ0JwWmlBb1kzVnljbVZ1ZENBOVBUMGdiblZzYkNBbUppQnlaV1lnSVQwOUlHNTFiR3dnZkh3Z1kzVnljbVZ1ZENBaFBUMGdiblZzYkNBbUppQmpkWEp5Wlc1MExuSmxaaUFoUFQwZ2NtVm1LU0I3WEc0Z0lDQWdMeThnVTJOb1pXUjFiR1VnWVNCU1pXWWdaV1ptWldOMFhHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5JSHc5SUZKbFpqdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWRDaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MExDQnVaWGgwVUhKdmNITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlNBaFBUMGdkMjl5YTBsdVVISnZaM0psYzNNdVpXeGxiV1Z1ZEZSNWNHVXBJSHRjYmlBZ0lDQWdJQzh2SUV4aGVua2dZMjl0Y0c5dVpXNTBJSEJ5YjNCeklHTmhiaWQwSUdKbElIWmhiR2xrWVhSbFpDQnBiaUJqY21WaGRHVkZiR1Z0Wlc1MFhHNGdJQ0FnSUNBdkx5QmlaV05oZFhObElIUm9aWGtuY21VZ2IyNXNlU0JuZFdGeVlXNTBaV1ZrSUhSdklHSmxJSEpsYzI5c2RtVmtJR2hsY21VdVhHNGdJQ0FnSUNCMllYSWdhVzV1WlhKUWNtOXdWSGx3WlhNZ1BTQkRiMjF3YjI1bGJuUXVjSEp2Y0ZSNWNHVnpPMXh1WEc0Z0lDQWdJQ0JwWmlBb2FXNXVaWEpRY205d1ZIbHdaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1kyaGxZMnRRY205d1ZIbHdaWE1vYVc1dVpYSlFjbTl3Vkhsd1pYTXNJRzVsZUhSUWNtOXdjeXdnTHk4Z1VtVnpiMngyWldRZ2NISnZjSE5jYmlBZ0lDQWdJQ0FnSjNCeWIzQW5MQ0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLRU52YlhCdmJtVnVkQ2tzSUdkbGRFTjFjbkpsYm5SR2FXSmxjbE4wWVdOclNXNUVaWFlwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhaaGNpQmpiMjUwWlhoME8xeHVYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2RXNXRZWE5yWldSRGIyNTBaWGgwSUQwZ1oyVjBWVzV0WVhOclpXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lIUnlkV1VwTzF4dUlDQWdJR052Ym5SbGVIUWdQU0JuWlhSTllYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQjFibTFoYzJ0bFpFTnZiblJsZUhRcE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1bGVIUkRhR2xzWkhKbGJqdGNiaUFnY0hKbGNHRnlaVlJ2VW1WaFpFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNCN1hHNGdJQ0FnVW1WaFkzUkRkWEp5Wlc1MFQzZHVaWElrTVM1amRYSnlaVzUwSUQwZ2QyOXlhMGx1VUhKdlozSmxjM003WEc0Z0lDQWdjMlYwU1hOU1pXNWtaWEpwYm1jb2RISjFaU2s3WEc0Z0lDQWdibVY0ZEVOb2FXeGtjbVZ1SUQwZ2NtVnVaR1Z5VjJsMGFFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z1kyOXVkR1Y0ZEN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1WEc0Z0lDQWdhV1lnS0NCM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU2tnZTF4dUlDQWdJQ0FnTHk4Z1QyNXNlU0JrYjNWaWJHVXRjbVZ1WkdWeUlHTnZiWEJ2Ym1WdWRITWdkMmwwYUNCSWIyOXJjMXh1SUNBZ0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdibVY0ZEVOb2FXeGtjbVZ1SUQwZ2NtVnVaR1Z5VjJsMGFFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z1kyOXVkR1Y0ZEN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lITmxkRWx6VW1WdVpHVnlhVzVuS0daaGJITmxLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0lDWW1JQ0ZrYVdSU1pXTmxhWFpsVlhCa1lYUmxLU0I3WEc0Z0lDQWdZbUZwYkc5MWRFaHZiMnR6S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnY21WMGRYSnVJR0poYVd4dmRYUlBia0ZzY21WaFpIbEdhVzVwYzJobFpGZHZjbXNvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdmU0F2THlCU1pXRmpkQ0JFWlhaVWIyOXNjeUJ5WldGa2N5QjBhR2x6SUdac1lXY3VYRzVjYmx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdVR1Z5Wm05eWJXVmtWMjl5YXp0Y2JpQWdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNG9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxlSFJEYUdsc1pISmxiaXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0J5WlhSMWNtNGdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1E3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ3WkdGMFpVTnNZWE56UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUc1bGVIUlFjbTl3Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ2UxeHVJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1MGVYQmxJQ0U5UFNCM2IzSnJTVzVRY205bmNtVnpjeTVsYkdWdFpXNTBWSGx3WlNrZ2UxeHVJQ0FnSUNBZ0x5OGdUR0Y2ZVNCamIyMXdiMjVsYm5RZ2NISnZjSE1nWTJGdUozUWdZbVVnZG1Gc2FXUmhkR1ZrSUdsdUlHTnlaV0YwWlVWc1pXMWxiblJjYmlBZ0lDQWdJQzh2SUdKbFkyRjFjMlVnZEdobGVTZHlaU0J2Ym14NUlHZDFZWEpoYm5SbFpXUWdkRzhnWW1VZ2NtVnpiMngyWldRZ2FHVnlaUzVjYmlBZ0lDQWdJSFpoY2lCcGJtNWxjbEJ5YjNCVWVYQmxjeUE5SUVOdmJYQnZibVZ1ZEM1d2NtOXdWSGx3WlhNN1hHNWNiaUFnSUNBZ0lHbG1JQ2hwYm01bGNsQnliM0JVZVhCbGN5a2dlMXh1SUNBZ0lDQWdJQ0JqYUdWamExQnliM0JVZVhCbGN5aHBibTVsY2xCeWIzQlVlWEJsY3l3Z2JtVjRkRkJ5YjNCekxDQXZMeUJTWlhOdmJIWmxaQ0J3Y205d2MxeHVJQ0FnSUNBZ0lDQW5jSEp2Y0Njc0lHZGxkRU52YlhCdmJtVnVkRTVoYldVb1EyOXRjRzl1Wlc1MEtTd2daMlYwUTNWeWNtVnVkRVpwWW1WeVUzUmhZMnRKYmtSbGRpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklGQjFjMmdnWTI5dWRHVjRkQ0J3Y205MmFXUmxjbk1nWldGeWJIa2dkRzhnY0hKbGRtVnVkQ0JqYjI1MFpYaDBJSE4wWVdOcklHMXBjMjFoZEdOb1pYTXVYRzRnSUM4dklFUjFjbWx1WnlCdGIzVnVkR2x1WnlCM1pTQmtiMjRuZENCcmJtOTNJSFJvWlNCamFHbHNaQ0JqYjI1MFpYaDBJSGxsZENCaGN5QjBhR1VnYVc1emRHRnVZMlVnWkc5bGMyNG5kQ0JsZUdsemRDNWNiaUFnTHk4Z1YyVWdkMmxzYkNCcGJuWmhiR2xrWVhSbElIUm9aU0JqYUdsc1pDQmpiMjUwWlhoMElHbHVJR1pwYm1semFFTnNZWE56UTI5dGNHOXVaVzUwS0NrZ2NtbG5hSFFnWVdaMFpYSWdjbVZ1WkdWeWFXNW5MbHh1WEc1Y2JpQWdkbUZ5SUdoaGMwTnZiblJsZUhRN1hHNWNiaUFnYVdZZ0tHbHpRMjl1ZEdWNGRGQnliM1pwWkdWeUtFTnZiWEJ2Ym1WdWRDa3BJSHRjYmlBZ0lDQm9ZWE5EYjI1MFpYaDBJRDBnZEhKMVpUdGNiaUFnSUNCd2RYTm9RMjl1ZEdWNGRGQnliM1pwWkdWeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCb1lYTkRiMjUwWlhoMElEMGdabUZzYzJVN1hHNGdJSDFjYmx4dUlDQndjbVZ3WVhKbFZHOVNaV0ZrUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQjJZWElnYVc1emRHRnVZMlVnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc0Z0lIWmhjaUJ6YUc5MWJHUlZjR1JoZEdVN1hHNWNiaUFnYVdZZ0tHbHVjM1JoYm1ObElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUVFZ1kyeGhjM01nWTI5dGNHOXVaVzUwSUhkcGRHaHZkWFFnWVc0Z2FXNXpkR0Z1WTJVZ2IyNXNlU0J0YjNWdWRITWdhV1lnYVhRZ2MzVnpjR1Z1WkdWa1hHNGdJQ0FnSUNBdkx5QnBibk5wWkdVZ1lTQnViMjR0WTI5dVkzVnljbVZ1ZENCMGNtVmxMQ0JwYmlCaGJpQnBibU52Ym5OcGMzUmxiblFnYzNSaGRHVXVJRmRsSUhkaGJuUWdkRzljYmlBZ0lDQWdJQzh2SUhSeVpXRjBJR2wwSUd4cGEyVWdZU0J1WlhjZ2JXOTFiblFzSUdWMlpXNGdkR2h2ZFdkb0lHRnVJR1Z0Y0hSNUlIWmxjbk5wYjI0Z2IyWWdhWFFnWVd4eVpXRmtlVnh1SUNBZ0lDQWdMeThnWTI5dGJXbDBkR1ZrTGlCRWFYTmpiMjV1WldOMElIUm9aU0JoYkhSbGNtNWhkR1VnY0c5cGJuUmxjbk11WEc0Z0lDQWdJQ0JqZFhKeVpXNTBMbUZzZEdWeWJtRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aGJIUmxjbTVoZEdVZ1BTQnVkV3hzT3lBdkx5QlRhVzVqWlNCMGFHbHpJR2x6SUdOdmJtTmxjSFIxWVd4c2VTQmhJRzVsZHlCbWFXSmxjaXdnYzJOb1pXUjFiR1VnWVNCUWJHRmpaVzFsYm5RZ1pXWm1aV04wWEc1Y2JpQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCUWJHRmpaVzFsYm5RN1hHNGdJQ0FnZlNBdkx5QkpiaUIwYUdVZ2FXNXBkR2xoYkNCd1lYTnpJSGRsSUcxcFoyaDBJRzVsWldRZ2RHOGdZMjl1YzNSeWRXTjBJSFJvWlNCcGJuTjBZVzVqWlM1Y2JseHVYRzRnSUNBZ1kyOXVjM1J5ZFdOMFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBMQ0J1WlhoMFVISnZjSE1wTzF4dUlDQWdJRzF2ZFc1MFEyeGhjM05KYm5OMFlXNWpaU2gzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBMQ0J1WlhoMFVISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCemFHOTFiR1JWY0dSaGRHVWdQU0IwY25WbE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCSmJpQmhJSEpsYzNWdFpTd2dkMlVuYkd3Z1lXeHlaV0ZrZVNCb1lYWmxJR0Z1SUdsdWMzUmhibU5sSUhkbElHTmhiaUJ5WlhWelpTNWNiaUFnSUNCemFHOTFiR1JWY0dSaGRHVWdQU0J5WlhOMWJXVk5iM1Z1ZEVOc1lYTnpTVzV6ZEdGdVkyVW9kMjl5YTBsdVVISnZaM0psYzNNc0lFTnZiWEJ2Ym1WdWRDd2dibVY0ZEZCeWIzQnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MyaHZkV3hrVlhCa1lYUmxJRDBnZFhCa1lYUmxRMnhoYzNOSmJuTjBZVzVqWlNoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnUTI5dGNHOXVaVzUwTENCdVpYaDBVSEp2Y0hNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnVaWGgwVlc1cGRFOW1WMjl5YXlBOUlHWnBibWx6YUVOc1lYTnpRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJSE5vYjNWc1pGVndaR0YwWlN3Z2FHRnpRMjl1ZEdWNGRDd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJSHRjYmlBZ0lDQjJZWElnYVc1emRDQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lHbG1JQ2hwYm5OMExuQnliM0J6SUNFOVBTQnVaWGgwVUhKdmNITXBJSHRjYmlBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBVbVZoYzNOcFoyNXBibWRRY205d2N5a2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25TWFFnYkc5dmEzTWdiR2xyWlNBbGN5QnBjeUJ5WldGemMybG5ibWx1WnlCcGRITWdiM2R1SUdCMGFHbHpMbkJ5YjNCellDQjNhR2xzWlNCeVpXNWtaWEpwYm1jdUlDY2dLeUFuVkdocGN5QnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa0lHRnVaQ0JqWVc0Z2JHVmhaQ0IwYnlCamIyNW1kWE5wYm1jZ1luVm5jeTRuTENCblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0hkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVcElIeDhJQ2RoSUdOdmJYQnZibVZ1ZENjcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJTWldGemMybG5ibWx1WjFCeWIzQnpJRDBnZEhKMVpUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtVjRkRlZ1YVhSUFpsZHZjbXM3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1semFFTnNZWE56UTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUhOb2IzVnNaRlZ3WkdGMFpTd2dhR0Z6UTI5dWRHVjRkQ3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnTHk4Z1VtVm1jeUJ6YUc5MWJHUWdkWEJrWVhSbElHVjJaVzRnYVdZZ2MyaHZkV3hrUTI5dGNHOXVaVzUwVlhCa1lYUmxJSEpsZEhWeWJuTWdabUZzYzJWY2JpQWdiV0Z5YTFKbFppaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJSFpoY2lCa2FXUkRZWEIwZFhKbFJYSnliM0lnUFNBb2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUNZZ1JHbGtRMkZ3ZEhWeVpTa2dJVDA5SUU1dlJXWm1aV04wTzF4dVhHNGdJR2xtSUNnaGMyaHZkV3hrVlhCa1lYUmxJQ1ltSUNGa2FXUkRZWEIwZFhKbFJYSnliM0lwSUh0Y2JpQWdJQ0F2THlCRGIyNTBaWGgwSUhCeWIzWnBaR1Z5Y3lCemFHOTFiR1FnWkdWbVpYSWdkRzhnYzBOVklHWnZjaUJ5Wlc1a1pYSnBibWRjYmlBZ0lDQnBaaUFvYUdGelEyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUNBZ2FXNTJZV3hwWkdGMFpVTnZiblJsZUhSUWNtOTJhV1JsY2loM2IzSnJTVzVRY205bmNtVnpjeXdnUTI5dGNHOXVaVzUwTENCbVlXeHpaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHSmhhV3h2ZFhSUGJrRnNjbVZoWkhsR2FXNXBjMmhsWkZkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnBibk4wWVc1alpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pUc2dMeThnVW1WeVpXNWtaWEpjYmx4dUlDQlNaV0ZqZEVOMWNuSmxiblJQZDI1bGNpUXhMbU4xY25KbGJuUWdQU0IzYjNKclNXNVFjbTluY21WemN6dGNiaUFnZG1GeUlHNWxlSFJEYUdsc1pISmxianRjYmx4dUlDQnBaaUFvWkdsa1EyRndkSFZ5WlVWeWNtOXlJQ1ltSUhSNWNHVnZaaUJEYjIxd2IyNWxiblF1WjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlVWeWNtOXlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVZ1kyRndkSFZ5WldRZ1lXNGdaWEp5YjNJc0lHSjFkQ0JuWlhSRVpYSnBkbVZrVTNSaGRHVkdjbTl0UlhKeWIzSWdhWE1nYm05MElHUmxabWx1WldRc1hHNGdJQ0FnTHk4Z2RXNXRiM1Z1ZENCaGJHd2dkR2hsSUdOb2FXeGtjbVZ1TGlCamIyMXdiMjVsYm5SRWFXUkRZWFJqYUNCM2FXeHNJSE5qYUdWa2RXeGxJR0Z1SUhWd1pHRjBaU0IwYjF4dUlDQWdJQzh2SUhKbExYSmxibVJsY2lCaElHWmhiR3hpWVdOckxpQlVhR2x6SUdseklIUmxiWEJ2Y21GeWVTQjFiblJwYkNCM1pTQnRhV2R5WVhSbElHVjJaWEo1YjI1bElIUnZYRzRnSUNBZ0x5OGdkR2hsSUc1bGR5QkJVRWt1WEc0Z0lDQWdMeThnVkU5RVR6b2dWMkZ5YmlCcGJpQmhJR1oxZEhWeVpTQnlaV3hsWVhObExseHVJQ0FnSUc1bGVIUkRhR2xzWkhKbGJpQTlJRzUxYkd3N1hHNWNiaUFnSUNCN1hHNGdJQ0FnSUNCemRHOXdVSEp2Wm1sc1pYSlVhVzFsY2tsbVVuVnVibWx1WnlncE8xeHVJQ0FnSUgxY2JpQWdmU0JsYkhObElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCelpYUkpjMUpsYm1SbGNtbHVaeWgwY25WbEtUdGNiaUFnSUNBZ0lHNWxlSFJEYUdsc1pISmxiaUE5SUdsdWMzUmhibU5sTG5KbGJtUmxjaWdwTzF4dVhHNGdJQ0FnSUNCcFppQW9JSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCVGRISnBZM1JOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJR2x1YzNSaGJtTmxMbkpsYm1SbGNpZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J6WlhSSmMxSmxibVJsY21sdVp5aG1ZV3h6WlNrN1hHNGdJQ0FnZlZ4dUlDQjlJQzh2SUZKbFlXTjBJRVJsZGxSdmIyeHpJSEpsWVdSeklIUm9hWE1nWm14aFp5NWNibHh1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQlFaWEptYjNKdFpXUlhiM0pyTzF4dVhHNGdJR2xtSUNoamRYSnlaVzUwSUNFOVBTQnVkV3hzSUNZbUlHUnBaRU5oY0hSMWNtVkZjbkp2Y2lrZ2UxeHVJQ0FnSUM4dklFbG1JSGRsSjNKbElISmxZMjkyWlhKcGJtY2dabkp2YlNCaGJpQmxjbkp2Y2l3Z2NtVmpiMjVqYVd4bElIZHBkR2h2ZFhRZ2NtVjFjMmx1WnlCaGJua2diMlpjYmlBZ0lDQXZMeUIwYUdVZ1pYaHBjM1JwYm1jZ1kyaHBiR1J5Wlc0dUlFTnZibU5sY0hSMVlXeHNlU3dnZEdobElHNXZjbTFoYkNCamFHbHNaSEpsYmlCaGJtUWdkR2hsSUdOb2FXeGtjbVZ1WEc0Z0lDQWdMeThnZEdoaGRDQmhjbVVnYzJodmQyNGdiMjRnWlhKeWIzSWdZWEpsSUhSM2J5QmthV1ptWlhKbGJuUWdjMlYwY3l3Z2MyOGdkMlVnYzJodmRXeGtiaWQwSUhKbGRYTmxYRzRnSUNBZ0x5OGdibTl5YldGc0lHTm9hV3hrY21WdUlHVjJaVzRnYVdZZ2RHaGxhWElnYVdSbGJuUnBkR2xsY3lCdFlYUmphQzVjYmlBZ0lDQm1iM0pqWlZWdWJXOTFiblJEZFhKeVpXNTBRVzVrVW1WamIyNWphV3hsS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhoMFEyaHBiR1J5Wlc0c0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J5WldOdmJtTnBiR1ZEYUdsc1pISmxiaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dibVY0ZEVOb2FXeGtjbVZ1TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgwZ0x5OGdUV1Z0YjJsNlpTQnpkR0YwWlNCMWMybHVaeUIwYUdVZ2RtRnNkV1Z6SUhkbElHcDFjM1FnZFhObFpDQjBieUJ5Wlc1a1pYSXVYRzRnSUM4dklGUlBSRTg2SUZKbGMzUnlkV04wZFhKbElITnZJSGRsSUc1bGRtVnlJSEpsWVdRZ2RtRnNkV1Z6SUdaeWIyMGdkR2hsSUdsdWMzUmhibU5sTGx4dVhHNWNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlNBOUlHbHVjM1JoYm1ObExuTjBZWFJsT3lBdkx5QlVhR1VnWTI5dWRHVjRkQ0J0YVdkb2RDQm9ZWFpsSUdOb1lXNW5aV1FnYzI4Z2QyVWdibVZsWkNCMGJ5QnlaV05oYkdOMWJHRjBaU0JwZEM1Y2JseHVJQ0JwWmlBb2FHRnpRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lHbHVkbUZzYVdSaGRHVkRiMjUwWlhoMFVISnZkbWxrWlhJb2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2RISjFaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhCMWMyaEliM04wVW05dmRFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdkbUZ5SUhKdmIzUWdQU0IzYjNKclNXNVFjbTluY21WemN5NXpkR0YwWlU1dlpHVTdYRzVjYmlBZ2FXWWdLSEp2YjNRdWNHVnVaR2x1WjBOdmJuUmxlSFFwSUh0Y2JpQWdJQ0J3ZFhOb1ZHOXdUR1YyWld4RGIyNTBaWGgwVDJKcVpXTjBLSGR2Y210SmJsQnliMmR5WlhOekxDQnliMjkwTG5CbGJtUnBibWREYjI1MFpYaDBMQ0J5YjI5MExuQmxibVJwYm1kRGIyNTBaWGgwSUNFOVBTQnliMjkwTG1OdmJuUmxlSFFwTzF4dUlDQjlJR1ZzYzJVZ2FXWWdLSEp2YjNRdVkyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUM4dklGTm9iM1ZzWkNCaGJIZGhlWE1nWW1VZ2MyVjBYRzRnSUNBZ2NIVnphRlJ2Y0V4bGRtVnNRMjl1ZEdWNGRFOWlhbVZqZENoM2IzSnJTVzVRY205bmNtVnpjeXdnY205dmRDNWpiMjUwWlhoMExDQm1ZV3h6WlNrN1hHNGdJSDFjYmx4dUlDQndkWE5vU0c5emRFTnZiblJoYVc1bGNpaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtOXZkQzVqYjI1MFlXbHVaWEpKYm1adktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsU0c5emRGSnZiM1FvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSEIxYzJoSWIzTjBVbTl2ZEVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCMllYSWdkWEJrWVhSbFVYVmxkV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUxY0dSaGRHVlJkV1YxWlR0Y2JseHVJQ0JwWmlBb0lTaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0lDWW1JSFZ3WkdGMFpWRjFaWFZsSUNFOVBTQnVkV3hzS1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJa2xtSUhSb1pTQnliMjkwSUdSdlpYTWdibTkwSUdoaGRtVWdZVzRnZFhCa1lYUmxVWFZsZFdVc0lIZGxJSE5vYjNWc1pDQm9ZWFpsSUdGc2NtVmhaSGtnWW1GcGJHVmtJRzkxZEM0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ1WlhoMFVISnZjSE1nUFNCM2IzSnJTVzVRY205bmNtVnpjeTV3Wlc1a2FXNW5VSEp2Y0hNN1hHNGdJSFpoY2lCd2NtVjJVM1JoZEdVZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxPMXh1SUNCMllYSWdjSEpsZGtOb2FXeGtjbVZ1SUQwZ2NISmxkbE4wWVhSbElDRTlQU0J1ZFd4c0lEOGdjSEpsZGxOMFlYUmxMbVZzWlcxbGJuUWdPaUJ1ZFd4c08xeHVJQ0JqYkc5dVpWVndaR0YwWlZGMVpYVmxLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnY0hKdlkyVnpjMVZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhoMFVISnZjSE1zSUc1MWJHd3NJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdkbUZ5SUc1bGVIUlRkR0YwWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdJQzh2SUVOaGRYUnBiMjQ2SUZKbFlXTjBJRVJsZGxSdmIyeHpJR04xY25KbGJuUnNlU0JrWlhCbGJtUnpJRzl1SUhSb2FYTWdjSEp2Y0dWeWRIbGNiaUFnTHk4Z1ltVnBibWNnWTJGc2JHVmtJRndpWld4bGJXVnVkRndpTGx4dVhHNGdJSFpoY2lCdVpYaDBRMmhwYkdSeVpXNGdQU0J1WlhoMFUzUmhkR1V1Wld4bGJXVnVkRHRjYmx4dUlDQnBaaUFvYm1WNGRFTm9hV3hrY21WdUlEMDlQU0J3Y21WMlEyaHBiR1J5Wlc0cElIdGNiaUFnSUNBdkx5QkpaaUIwYUdVZ2MzUmhkR1VnYVhNZ2RHaGxJSE5oYldVZ1lYTWdZbVZtYjNKbExDQjBhR0YwSjNNZ1lTQmlZV2xzYjNWMElHSmxZMkYxYzJVZ2QyVWdhR0ZrWEc0Z0lDQWdMeThnYm04Z2QyOXlheUIwYUdGMElHVjRjR2x5WlhNZ1lYUWdkR2hwY3lCMGFXMWxMbHh1SUNBZ0lISmxjMlYwU0hsa2NtRjBhVzl1VTNSaGRHVW9LVHRjYmlBZ0lDQnlaWFIxY200Z1ltRnBiRzkxZEU5dVFXeHlaV0ZrZVVacGJtbHphR1ZrVjI5eWF5aGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOVhHNWNiaUFnZG1GeUlISnZiM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdhV1lnS0hKdmIzUXVhSGxrY21GMFpTQW1KaUJsYm5SbGNraDVaSEpoZEdsdmJsTjBZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpLU2tnZTF4dUlDQWdJQzh2SUVsbUlIZGxJR1J2YmlkMElHaGhkbVVnWVc1NUlHTjFjbkpsYm5RZ1kyaHBiR1J5Wlc0Z2RHaHBjeUJ0YVdkb2RDQmlaU0IwYUdVZ1ptbHljM1FnY0dGemN5NWNiaUFnSUNBdkx5QlhaU0JoYkhkaGVYTWdkSEo1SUhSdklHaDVaSEpoZEdVdUlFbG1JSFJvYVhNZ2FYTnVKM1FnWVNCb2VXUnlZWFJwYjI0Z2NHRnpjeUIwYUdWeVpTQjNiMjRuZEZ4dUlDQWdJQzh2SUdKbElHRnVlU0JqYUdsc1pISmxiaUIwYnlCb2VXUnlZWFJsSUhkb2FXTm9JR2x6SUdWbVptVmpkR2wyWld4NUlIUm9aU0J6WVcxbElIUm9hVzVuSUdGelhHNGdJQ0FnTHk4Z2JtOTBJR2g1WkhKaGRHbHVaeTVjYmlBZ0lDQjJZWElnWTJocGJHUWdQU0J0YjNWdWRFTm9hV3hrUm1saVpYSnpLSGR2Y210SmJsQnliMmR5WlhOekxDQnVkV3hzTENCdVpYaDBRMmhwYkdSeVpXNHNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlHTm9hV3hrTzF4dUlDQWdJSFpoY2lCdWIyUmxJRDBnWTJocGJHUTdYRzVjYmlBZ0lDQjNhR2xzWlNBb2JtOWtaU2tnZTF4dUlDQWdJQ0FnTHk4Z1RXRnlheUJsWVdOb0lHTm9hV3hrSUdGeklHaDVaSEpoZEdsdVp5NGdWR2hwY3lCcGN5QmhJR1poYzNRZ2NHRjBhQ0IwYnlCcmJtOTNJSGRvWlhSb1pYSWdkR2hwYzF4dUlDQWdJQ0FnTHk4Z2RISmxaU0JwY3lCd1lYSjBJRzltSUdFZ2FIbGtjbUYwYVc1bklIUnlaV1V1SUZSb2FYTWdhWE1nZFhObFpDQjBieUJrWlhSbGNtMXBibVVnYVdZZ1lTQmphR2xzWkZ4dUlDQWdJQ0FnTHk4Z2JtOWtaU0JvWVhNZ1puVnNiSGtnYlc5MWJuUmxaQ0I1WlhRc0lHRnVaQ0JtYjNJZ2MyTm9aV1IxYkdsdVp5QmxkbVZ1ZENCeVpYQnNZWGxwYm1jdVhHNGdJQ0FnSUNBdkx5QkRiMjVqWlhCMGRXRnNiSGtnZEdocGN5QnBjeUJ6YVcxcGJHRnlJSFJ2SUZCc1lXTmxiV1Z1ZENCcGJpQjBhR0YwSUdFZ2JtVjNJSE4xWW5SeVpXVWdhWE5jYmlBZ0lDQWdJQzh2SUdsdWMyVnlkR1ZrSUdsdWRHOGdkR2hsSUZKbFlXTjBJSFJ5WldVZ2FHVnlaUzRnU1hRZ2FuVnpkQ0JvWVhCd1pXNXpJSFJ2SUc1dmRDQnVaV1ZrSUVSUFRWeHVJQ0FnSUNBZ0x5OGdiWFYwWVhScGIyNXpJR0psWTJGMWMyVWdhWFFnWVd4eVpXRmtlU0JsZUdsemRITXVYRzRnSUNBZ0lDQnViMlJsTG1WbVptVmpkRlJoWnlBOUlHNXZaR1V1WldabVpXTjBWR0ZuSUNZZ2ZsQnNZV05sYldWdWRDQjhJRWg1WkhKaGRHbHVaenRjYmlBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5OcFlteHBibWM3WEc0Z0lDQWdmVnh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJQzh2SUU5MGFHVnlkMmx6WlNCeVpYTmxkQ0JvZVdSeVlYUnBiMjRnYzNSaGRHVWdhVzRnWTJGelpTQjNaU0JoWW05eWRHVmtJR0Z1WkNCeVpYTjFiV1ZrSUdGdWIzUm9aWEpjYmlBZ0lDQXZMeUJ5YjI5MExseHVJQ0FnSUhKbFkyOXVZMmxzWlVOb2FXeGtjbVZ1S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WlhoMFEyaHBiR1J5Wlc0c0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQnlaWE5sZEVoNVpISmhkR2x2YmxOMFlYUmxLQ2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhWd1pHRjBaVWh2YzNSRGIyMXdiMjVsYm5Rb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhCMWMyaEliM04wUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ2FXWWdLR04xY25KbGJuUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjBjbmxVYjBOc1lXbHRUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lIMWNibHh1SUNCMllYSWdkSGx3WlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVTdYRzRnSUhaaGNpQnVaWGgwVUhKdmNITWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc0Z0lIWmhjaUJ3Y21WMlVISnZjSE1nUFNCamRYSnlaVzUwSUNFOVBTQnVkV3hzSUQ4Z1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpJRG9nYm5Wc2JEdGNiaUFnZG1GeUlHNWxlSFJEYUdsc1pISmxiaUE5SUc1bGVIUlFjbTl3Y3k1amFHbHNaSEpsYmp0Y2JpQWdkbUZ5SUdselJHbHlaV04wVkdWNGRFTm9hV3hrSUQwZ2MyaHZkV3hrVTJWMFZHVjRkRU52Ym5SbGJuUW9kSGx3WlN3Z2JtVjRkRkJ5YjNCektUdGNibHh1SUNCcFppQW9hWE5FYVhKbFkzUlVaWGgwUTJocGJHUXBJSHRjYmlBZ0lDQXZMeUJYWlNCemNHVmphV0ZzSUdOaGMyVWdZU0JrYVhKbFkzUWdkR1Y0ZENCamFHbHNaQ0J2WmlCaElHaHZjM1FnYm05a1pTNGdWR2hwY3lCcGN5QmhJR052YlcxdmJseHVJQ0FnSUM4dklHTmhjMlV1SUZkbElIZHZiaWQwSUdoaGJtUnNaU0JwZENCaGN5QmhJSEpsYVdacFpXUWdZMmhwYkdRdUlGZGxJSGRwYkd3Z2FXNXpkR1ZoWkNCb1lXNWtiR1ZjYmlBZ0lDQXZMeUIwYUdseklHbHVJSFJvWlNCb2IzTjBJR1Z1ZG1seWIyNXRaVzUwSUhSb1lYUWdZV3h6YnlCb1lYTWdZV05qWlhOeklIUnZJSFJvYVhNZ2NISnZjQzRnVkdoaGRGeHVJQ0FnSUM4dklHRjJiMmxrY3lCaGJHeHZZMkYwYVc1bklHRnViM1JvWlhJZ1NHOXpkRlJsZUhRZ1ptbGlaWElnWVc1a0lIUnlZWFpsY25OcGJtY2dhWFF1WEc0Z0lDQWdibVY0ZEVOb2FXeGtjbVZ1SUQwZ2JuVnNiRHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHdjbVYyVUhKdmNITWdJVDA5SUc1MWJHd2dKaVlnYzJodmRXeGtVMlYwVkdWNGRFTnZiblJsYm5Rb2RIbHdaU3dnY0hKbGRsQnliM0J6S1NrZ2UxeHVJQ0FnSUM4dklFbG1JSGRsSjNKbElITjNhWFJqYUdsdVp5Qm1jbTl0SUdFZ1pHbHlaV04wSUhSbGVIUWdZMmhwYkdRZ2RHOGdZU0J1YjNKdFlXd2dZMmhwYkdRc0lHOXlJSFJ2WEc0Z0lDQWdMeThnWlcxd2RIa3NJSGRsSUc1bFpXUWdkRzhnYzJOb1pXUjFiR1VnZEdobElIUmxlSFFnWTI5dWRHVnVkQ0IwYnlCaVpTQnlaWE5sZEM1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dmRDBnUTI5dWRHVnVkRkpsYzJWME8xeHVJQ0I5WEc1Y2JpQWdiV0Z5YTFKbFppaGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrN0lDOHZJRU5vWldOcklIUm9aU0JvYjNOMElHTnZibVpwWnlCMGJ5QnpaV1VnYVdZZ2RHaGxJR05vYVd4a2NtVnVJR0Z5WlNCdlptWnpZM0psWlc0dmFHbGtaR1Z1TGx4dVhHNGdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdRMjl1WTNWeWNtVnVkRTF2WkdVZ0ppWWdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VnSVQwOUlFNWxkbVZ5SUNZbUlITm9iM1ZzWkVSbGNISnBiM0pwZEdsNlpWTjFZblJ5WldVb2RIbHdaU3dnYm1WNGRGQnliM0J6S1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUcxaGNtdFRjR0YzYm1Wa1YyOXlheWhPWlhabGNpazdYRzRnSUNBZ2ZTQXZMeUJUWTJobFpIVnNaU0IwYUdseklHWnBZbVZ5SUhSdklISmxMWEpsYm1SbGNpQmhkQ0J2Wm1aelkzSmxaVzRnY0hKcGIzSnBkSGt1SUZSb1pXNGdZbUZwYkc5MWRDNWNibHh1WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1RtVjJaWEk3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCeVpXTnZibU5wYkdWRGFHbHNaSEpsYmloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnYm1WNGRFTm9hV3hrY21WdUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lISmxkSFZ5YmlCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsU0c5emRGUmxlSFFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXBJSHRjYmlBZ2FXWWdLR04xY25KbGJuUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjBjbmxVYjBOc1lXbHRUbVY0ZEVoNVpISmhkR0ZpYkdWSmJuTjBZVzVqWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lIMGdMeThnVG05MGFHbHVaeUIwYnlCa2J5Qm9aWEpsTGlCVWFHbHpJR2x6SUhSbGNtMXBibUZzTGlCWFpTZHNiQ0JrYnlCMGFHVWdZMjl0Y0d4bGRHbHZiaUJ6ZEdWd1hHNGdJQzh2SUdsdGJXVmthV0YwWld4NUlHRm1kR1Z5TGx4dVhHNWNiaUFnY21WMGRYSnVJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUcxdmRXNTBUR0Y2ZVVOdmJYQnZibVZ1ZENoZlkzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUdWc1pXMWxiblJVZVhCbExDQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnYVdZZ0tGOWpkWEp5Wlc1MElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdRU0JzWVhwNUlHTnZiWEJ2Ym1WdWRDQnZibXg1SUcxdmRXNTBjeUJwWmlCcGRDQnpkWE53Wlc1a1pXUWdhVzV6YVdSbElHRWdibTl1TFZ4dUlDQWdJQzh2SUdOdmJtTjFjbkpsYm5RZ2RISmxaU3dnYVc0Z1lXNGdhVzVqYjI1emFYTjBaVzUwSUhOMFlYUmxMaUJYWlNCM1lXNTBJSFJ2SUhSeVpXRjBJR2wwSUd4cGEyVmNiaUFnSUNBdkx5QmhJRzVsZHlCdGIzVnVkQ3dnWlhabGJpQjBhRzkxWjJnZ1lXNGdaVzF3ZEhrZ2RtVnljMmx2YmlCdlppQnBkQ0JoYkhKbFlXUjVJR052YlcxcGRIUmxaQzVjYmlBZ0lDQXZMeUJFYVhOamIyNXVaV04wSUhSb1pTQmhiSFJsY201aGRHVWdjRzlwYm5SbGNuTXVYRzRnSUNBZ1gyTjFjbkpsYm5RdVlXeDBaWEp1WVhSbElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWhiSFJsY201aGRHVWdQU0J1ZFd4c095QXZMeUJUYVc1alpTQjBhR2x6SUdseklHTnZibU5sY0hSMVlXeHNlU0JoSUc1bGR5Qm1hV0psY2l3Z2MyTm9aV1IxYkdVZ1lTQlFiR0ZqWlcxbGJuUWdaV1ptWldOMFhHNWNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1VHeGhZMlZ0Wlc1ME8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUhCeWIzQnpJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjR1Z1WkdsdVoxQnliM0J6T3lBdkx5QlhaU0JqWVc0bmRDQnpkR0Z5ZENCaElGVnpaWElnVkdsdGFXNW5JRzFsWVhOMWNtVnRaVzUwSUhkcGRHZ2dZMjl5Y21WamRDQnNZV0psYkNCNVpYUXVYRzRnSUM4dklFTmhibU5sYkNCaGJtUWdjbVZ6ZFcxbElISnBaMmgwSUdGbWRHVnlJSGRsSUd0dWIzY2dkR2hsSUhSaFp5NWNibHh1SUNCallXNWpaV3hYYjNKclZHbHRaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCMllYSWdRMjl0Y0c5dVpXNTBJRDBnY21WaFpFeGhlbmxEYjIxd2IyNWxiblJVZVhCbEtHVnNaVzFsYm5SVWVYQmxLVHNnTHk4Z1UzUnZjbVVnZEdobElIVnVkM0poY0hCbFpDQmpiMjF3YjI1bGJuUWdhVzRnZEdobElIUjVjR1V1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU0E5SUVOdmJYQnZibVZ1ZER0Y2JpQWdkbUZ5SUhKbGMyOXNkbVZrVkdGbklEMGdkMjl5YTBsdVVISnZaM0psYzNNdWRHRm5JRDBnY21WemIyeDJaVXhoZW5sRGIyMXdiMjVsYm5SVVlXY29RMjl0Y0c5dVpXNTBLVHRjYmlBZ2MzUmhjblJYYjNKclZHbHRaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCMllYSWdjbVZ6YjJ4MlpXUlFjbTl3Y3lBOUlISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9RMjl0Y0c5dVpXNTBMQ0J3Y205d2N5azdYRzRnSUhaaGNpQmphR2xzWkR0Y2JseHVJQ0J6ZDJsMFkyZ2dLSEpsYzI5c2RtVmtWR0ZuS1NCN1hHNGdJQ0FnWTJGelpTQkdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGJHbGtZWFJsUm5WdVkzUnBiMjVEYjIxd2IyNWxiblJKYmtSbGRpaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MEtUdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ1EyOXRjRzl1Wlc1MElEMGdjbVZ6YjJ4MlpVWjFibU4wYVc5dVJtOXlTRzkwVW1Wc2IyRmthVzVuS0VOdmJYQnZibVZ1ZENrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYUdsc1pDQTlJSFZ3WkdGMFpVWjFibU4wYVc5dVEyOXRjRzl1Wlc1MEtHNTFiR3dzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0JEYjIxd2IyNWxiblFzSUhKbGMyOXNkbVZrVUhKdmNITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOb2FXeGtPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVWdQU0JEYjIxd2IyNWxiblFnUFNCeVpYTnZiSFpsUTJ4aGMzTkdiM0pJYjNSU1pXeHZZV1JwYm1jb1EyOXRjRzl1Wlc1MEtUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOb2FXeGtJRDBnZFhCa1lYUmxRMnhoYzNORGIyMXdiMjVsYm5Rb2JuVnNiQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRU52YlhCdmJtVnVkQ3dnY21WemIyeDJaV1JRY205d2N5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTJocGJHUTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ1EyOXRjRzl1Wlc1MElEMGdjbVZ6YjJ4MlpVWnZjbmRoY21SU1pXWkdiM0pJYjNSU1pXeHZZV1JwYm1jb1EyOXRjRzl1Wlc1MEtUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOb2FXeGtJRDBnZFhCa1lYUmxSbTl5ZDJGeVpGSmxaaWh1ZFd4c0xDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MExDQnlaWE52YkhabFpGQnliM0J6TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmphR2xzWkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbElDRTlQU0IzYjNKclNXNVFjbTluY21WemN5NWxiR1Z0Wlc1MFZIbHdaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5MWRHVnlVSEp2Y0ZSNWNHVnpJRDBnUTI5dGNHOXVaVzUwTG5CeWIzQlVlWEJsY3p0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHOTFkR1Z5VUhKdmNGUjVjR1Z6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOb1pXTnJVSEp2Y0ZSNWNHVnpLRzkxZEdWeVVISnZjRlI1Y0dWekxDQnlaWE52YkhabFpGQnliM0J6TENBdkx5QlNaWE52YkhabFpDQm1iM0lnYjNWMFpYSWdiMjVzZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FuY0hKdmNDY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9RMjl0Y0c5dVpXNTBLU3dnWjJWMFEzVnljbVZ1ZEVacFltVnlVM1JoWTJ0SmJrUmxkaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdZMmhwYkdRZ1BTQjFjR1JoZEdWTlpXMXZRMjl0Y0c5dVpXNTBLRzUxYkd3c0lIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9RMjl0Y0c5dVpXNTBMblI1Y0dVc0lISmxjMjlzZG1Wa1VISnZjSE1wTENBdkx5QlVhR1VnYVc1dVpYSWdkSGx3WlNCallXNGdhR0YyWlNCa1pXWmhkV3gwY3lCMGIyOWNiaUFnSUNBZ0lDQWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHTm9hV3hrTzF4dUlDQWdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJR2hwYm5RZ1BTQW5KenRjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLRU52YlhCdmJtVnVkQ0FoUFQwZ2JuVnNiQ0FtSmlCMGVYQmxiMllnUTI5dGNHOXVaVzUwSUQwOVBTQW5iMkpxWldOMEp5QW1KaUJEYjIxd2IyNWxiblF1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDB4QldsbGZWRmxRUlNrZ2UxeHVJQ0FnSUNBZ2FHbHVkQ0E5SUNjZ1JHbGtJSGx2ZFNCM2NtRndJR0VnWTI5dGNHOXVaVzUwSUdsdUlGSmxZV04wTG14aGVua29LU0J0YjNKbElIUm9ZVzRnYjI1alpUOG5PMXh1SUNBZ0lIMWNiaUFnZlNBdkx5QlVhR2x6SUcxbGMzTmhaMlVnYVc1MFpXNTBhVzl1WVd4c2VTQmtiMlZ6YmlkMElHMWxiblJwYjI0Z1JtOXlkMkZ5WkZKbFppQnZjaUJOWlcxdlEyOXRjRzl1Wlc1MFhHNGdJQzh2SUdKbFkyRjFjMlVnZEdobElHWmhZM1FnZEdoaGRDQnBkQ2R6SUdFZ2MyVndZWEpoZEdVZ2RIbHdaU0J2WmlCM2IzSnJJR2x6SUdGdVhHNGdJQzh2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1JsZEdGcGJDNWNibHh1WEc0Z0lIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pGYkdWdFpXNTBJSFI1Y0dVZ2FYTWdhVzUyWVd4cFpDNGdVbVZqWldsMlpXUWdZU0J3Y205dGFYTmxJSFJvWVhRZ2NtVnpiMngyWlhNZ2RHODZJRndpSUNzZ1EyOXRjRzl1Wlc1MElDc2dYQ0l1SUV4aGVua2daV3hsYldWdWRDQjBlWEJsSUcxMWMzUWdjbVZ6YjJ4MlpTQjBieUJoSUdOc1lYTnpJRzl5SUdaMWJtTjBhVzl1TGx3aUlDc2dhR2x1ZENBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRiM1Z1ZEVsdVkyOXRjR3hsZEdWRGJHRnpjME52YlhCdmJtVnVkQ2hmWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRU52YlhCdmJtVnVkQ3dnYm1WNGRGQnliM0J6TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCcFppQW9YMk4xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQXZMeUJCYmlCcGJtTnZiWEJzWlhSbElHTnZiWEJ2Ym1WdWRDQnZibXg1SUcxdmRXNTBjeUJwWmlCcGRDQnpkWE53Wlc1a1pXUWdhVzV6YVdSbElHRWdibTl1TFZ4dUlDQWdJQzh2SUdOdmJtTjFjbkpsYm5RZ2RISmxaU3dnYVc0Z1lXNGdhVzVqYjI1emFYTjBaVzUwSUhOMFlYUmxMaUJYWlNCM1lXNTBJSFJ2SUhSeVpXRjBJR2wwSUd4cGEyVmNiaUFnSUNBdkx5QmhJRzVsZHlCdGIzVnVkQ3dnWlhabGJpQjBhRzkxWjJnZ1lXNGdaVzF3ZEhrZ2RtVnljMmx2YmlCdlppQnBkQ0JoYkhKbFlXUjVJR052YlcxcGRIUmxaQzVjYmlBZ0lDQXZMeUJFYVhOamIyNXVaV04wSUhSb1pTQmhiSFJsY201aGRHVWdjRzlwYm5SbGNuTXVYRzRnSUNBZ1gyTjFjbkpsYm5RdVlXeDBaWEp1WVhSbElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWhiSFJsY201aGRHVWdQU0J1ZFd4c095QXZMeUJUYVc1alpTQjBhR2x6SUdseklHTnZibU5sY0hSMVlXeHNlU0JoSUc1bGR5Qm1hV0psY2l3Z2MyTm9aV1IxYkdVZ1lTQlFiR0ZqWlcxbGJuUWdaV1ptWldOMFhHNWNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1VHeGhZMlZ0Wlc1ME8xeHVJQ0I5SUM4dklGQnliMjF2ZEdVZ2RHaGxJR1pwWW1WeUlIUnZJR0VnWTJ4aGMzTWdZVzVrSUhSeWVTQnlaVzVrWlhKcGJtY2dZV2RoYVc0dVhHNWNibHh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTUwWVdjZ1BTQkRiR0Z6YzBOdmJYQnZibVZ1ZERzZ0x5OGdWR2hsSUhKbGMzUWdiMllnZEdocGN5Qm1kVzVqZEdsdmJpQnBjeUJoSUdadmNtc2diMllnWUhWd1pHRjBaVU5zWVhOelEyOXRjRzl1Wlc1MFlGeHVJQ0F2THlCUWRYTm9JR052Ym5SbGVIUWdjSEp2ZG1sa1pYSnpJR1ZoY214NUlIUnZJSEJ5WlhabGJuUWdZMjl1ZEdWNGRDQnpkR0ZqYXlCdGFYTnRZWFJqYUdWekxseHVJQ0F2THlCRWRYSnBibWNnYlc5MWJuUnBibWNnZDJVZ1pHOXVKM1FnYTI1dmR5QjBhR1VnWTJocGJHUWdZMjl1ZEdWNGRDQjVaWFFnWVhNZ2RHaGxJR2x1YzNSaGJtTmxJR1J2WlhOdUozUWdaWGhwYzNRdVhHNGdJQzh2SUZkbElIZHBiR3dnYVc1MllXeHBaR0YwWlNCMGFHVWdZMmhwYkdRZ1kyOXVkR1Y0ZENCcGJpQm1hVzVwYzJoRGJHRnpjME52YlhCdmJtVnVkQ2dwSUhKcFoyaDBJR0ZtZEdWeUlISmxibVJsY21sdVp5NWNibHh1SUNCMllYSWdhR0Z6UTI5dWRHVjRkRHRjYmx4dUlDQnBaaUFvYVhORGIyNTBaWGgwVUhKdmRtbGtaWElvUTI5dGNHOXVaVzUwS1NrZ2UxeHVJQ0FnSUdoaGMwTnZiblJsZUhRZ1BTQjBjblZsTzF4dUlDQWdJSEIxYzJoRGIyNTBaWGgwVUhKdmRtbGtaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2hoYzBOdmJuUmxlSFFnUFNCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhCeVpYQmhjbVZVYjFKbFlXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUdOdmJuTjBjblZqZEVOc1lYTnpTVzV6ZEdGdVkyVW9kMjl5YTBsdVVISnZaM0psYzNNc0lFTnZiWEJ2Ym1WdWRDd2dibVY0ZEZCeWIzQnpLVHRjYmlBZ2JXOTFiblJEYkdGemMwbHVjM1JoYm1ObEtIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lHNWxlSFJRY205d2N5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQnlaWFIxY200Z1ptbHVhWE5vUTJ4aGMzTkRiMjF3YjI1bGJuUW9iblZzYkN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2RISjFaU3dnYUdGelEyOXVkR1Y0ZEN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRiM1Z1ZEVsdVpHVjBaWEp0YVc1aGRHVkRiMjF3YjI1bGJuUW9YMk4xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJR2xtSUNoZlkzVnljbVZ1ZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklFRnVJR2x1WkdWMFpYSnRhVzVoZEdVZ1kyOXRjRzl1Wlc1MElHOXViSGtnYlc5MWJuUnpJR2xtSUdsMElITjFjM0JsYm1SbFpDQnBibk5wWkdVZ1lTQnViMjR0WEc0Z0lDQWdMeThnWTI5dVkzVnljbVZ1ZENCMGNtVmxMQ0JwYmlCaGJpQnBibU52Ym5OcGMzUmxiblFnYzNSaGRHVXVJRmRsSUhkaGJuUWdkRzhnZEhKbFlYUWdhWFFnYkdsclpWeHVJQ0FnSUM4dklHRWdibVYzSUcxdmRXNTBMQ0JsZG1WdUlIUm9iM1ZuYUNCaGJpQmxiWEIwZVNCMlpYSnphVzl1SUc5bUlHbDBJR0ZzY21WaFpIa2dZMjl0YldsMGRHVmtMbHh1SUNBZ0lDOHZJRVJwYzJOdmJtNWxZM1FnZEdobElHRnNkR1Z5Ym1GMFpTQndiMmx1ZEdWeWN5NWNiaUFnSUNCZlkzVnljbVZ1ZEM1aGJIUmxjbTVoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtRnNkR1Z5Ym1GMFpTQTlJRzUxYkd3N0lDOHZJRk5wYm1ObElIUm9hWE1nYVhNZ1kyOXVZMlZ3ZEhWaGJHeDVJR0VnYm1WM0lHWnBZbVZ5TENCelkyaGxaSFZzWlNCaElGQnNZV05sYldWdWRDQmxabVpsWTNSY2JseHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCUWJHRmpaVzFsYm5RN1hHNGdJSDFjYmx4dUlDQjJZWElnY0hKdmNITWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc0Z0lIWmhjaUJqYjI1MFpYaDBPMXh1WEc0Z0lIdGNiaUFnSUNCMllYSWdkVzV0WVhOclpXUkRiMjUwWlhoMElEMGdaMlYwVlc1dFlYTnJaV1JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJR1poYkhObEtUdGNiaUFnSUNCamIyNTBaWGgwSUQwZ1oyVjBUV0Z6YTJWa1EyOXVkR1Y0ZENoM2IzSnJTVzVRY205bmNtVnpjeXdnZFc1dFlYTnJaV1JEYjI1MFpYaDBLVHRjYmlBZ2ZWeHVYRzRnSUhCeVpYQmhjbVZVYjFKbFlXUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUhaaGNpQjJZV3gxWlR0Y2JseHVJQ0I3WEc0Z0lDQWdhV1lnS0VOdmJYQnZibVZ1ZEM1d2NtOTBiM1I1Y0dVZ0ppWWdkSGx3Wlc5bUlFTnZiWEJ2Ym1WdWRDNXdjbTkwYjNSNWNHVXVjbVZ1WkdWeUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCMllYSWdZMjl0Y0c5dVpXNTBUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb1EyOXRjRzl1Wlc1MEtTQjhmQ0FuVlc1cmJtOTNiaWM3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUW1Ga1EyeGhjM05iWTI5dGNHOXVaVzUwVG1GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9YQ0pVYUdVZ1BDVnpJQzgrSUdOdmJYQnZibVZ1ZENCaGNIQmxZWEp6SUhSdklHaGhkbVVnWVNCeVpXNWtaWElnYldWMGFHOWtMQ0JpZFhRZ1pHOWxjMjRuZENCbGVIUmxibVFnVW1WaFkzUXVRMjl0Y0c5dVpXNTBMaUJjSWlBcklDZFVhR2x6SUdseklHeHBhMlZzZVNCMGJ5QmpZWFZ6WlNCbGNuSnZjbk11SUVOb1lXNW5aU0FsY3lCMGJ5QmxlSFJsYm1RZ1VtVmhZM1F1UTI5dGNHOXVaVzUwSUdsdWMzUmxZV1F1Snl3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnWTI5dGNHOXVaVzUwVG1GdFpTazdYRzVjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFFtRmtRMnhoYzNOYlkyOXRjRzl1Wlc1MFRtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1UzUnlhV04wVFc5a1pTa2dlMXh1SUNBZ0lDQWdVbVZoWTNSVGRISnBZM1JOYjJSbFYyRnlibWx1WjNNdWNtVmpiM0prVEdWbllXTjVRMjl1ZEdWNGRGZGhjbTVwYm1jb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1MWJHd3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITmxkRWx6VW1WdVpHVnlhVzVuS0hSeWRXVXBPMXh1SUNBZ0lGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUpERXVZM1Z5Y21WdWRDQTlJSGR2Y210SmJsQnliMmR5WlhOek8xeHVJQ0FnSUhaaGJIVmxJRDBnY21WdVpHVnlWMmwwYUVodmIydHpLRzUxYkd3c0lIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5Rc0lIQnliM0J6TENCamIyNTBaWGgwTENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ2MyVjBTWE5TWlc1a1pYSnBibWNvWm1Gc2MyVXBPMXh1SUNCOUlDOHZJRkpsWVdOMElFUmxkbFJ2YjJ4eklISmxZV1J6SUhSb2FYTWdabXhoWnk1Y2JseHVYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCUVpYSm1iM0p0WldSWGIzSnJPMXh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhaaGJIVmxJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUIyWVd4MVpTNXlaVzVrWlhJZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ2RtRnNkV1V1SkNSMGVYQmxiMllnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIWmhjaUJmWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9RMjl0Y0c5dVpXNTBLU0I4ZkNBblZXNXJibTkzYmljN1hHNWNiaUFnSUNBZ0lHbG1JQ2doWkdsa1YyRnlia0ZpYjNWMFRXOWtkV3hsVUdGMGRHVnlia052YlhCdmJtVnVkRnRmWTI5dGNHOXVaVzUwVG1GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KMVJvWlNBOEpYTWdMejRnWTI5dGNHOXVaVzUwSUdGd2NHVmhjbk1nZEc4Z1ltVWdZU0JtZFc1amRHbHZiaUJqYjIxd2IyNWxiblFnZEdoaGRDQnlaWFIxY201eklHRWdZMnhoYzNNZ2FXNXpkR0Z1WTJVdUlDY2dLeUFuUTJoaGJtZGxJQ1Z6SUhSdklHRWdZMnhoYzNNZ2RHaGhkQ0JsZUhSbGJtUnpJRkpsWVdOMExrTnZiWEJ2Ym1WdWRDQnBibk4wWldGa0xpQW5JQ3NnWENKSlppQjViM1VnWTJGdUozUWdkWE5sSUdFZ1kyeGhjM01nZEhKNUlHRnpjMmxuYm1sdVp5QjBhR1VnY0hKdmRHOTBlWEJsSUc5dUlIUm9aU0JtZFc1amRHbHZiaUJoY3lCaElIZHZjbXRoY205MWJtUXVJRndpSUNzZ1hDSmdKWE11Y0hKdmRHOTBlWEJsSUQwZ1VtVmhZM1F1UTI5dGNHOXVaVzUwTG5CeWIzUnZkSGx3WldBdUlFUnZiaWQwSUhWelpTQmhiaUJoY25KdmR5Qm1kVzVqZEdsdmJpQnphVzVqWlNCcGRDQmNJaUFySUNkallXNXViM1FnWW1VZ1kyRnNiR1ZrSUhkcGRHZ2dZRzVsZDJBZ1lua2dVbVZoWTNRdUp5d2dYMk52YlhCdmJtVnVkRTVoYldVc0lGOWpiMjF3YjI1bGJuUk9ZVzFsTENCZlkyOXRjRzl1Wlc1MFRtRnRaU2s3WEc1Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBUVzlrZFd4bFVHRjBkR1Z5YmtOdmJYQnZibVZ1ZEZ0ZlkyOXRjRzl1Wlc1MFRtRnRaVjBnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdMeThnVUhKdlkyVmxaQ0IxYm1SbGNpQjBhR1VnWVhOemRXMXdkR2x2YmlCMGFHRjBJSFJvYVhNZ2FYTWdZU0JqYkdGemN5QnBibk4wWVc1alpWeHVYRzVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY2dQU0JEYkdGemMwTnZiWEJ2Ym1WdWREc2dMeThnVkdoeWIzY2diM1YwSUdGdWVTQm9iMjlyY3lCMGFHRjBJSGRsY21VZ2RYTmxaQzVjYmx4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCdWRXeHNPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5Wd1pHRjBaVkYxWlhWbElEMGdiblZzYkRzZ0x5OGdVSFZ6YUNCamIyNTBaWGgwSUhCeWIzWnBaR1Z5Y3lCbFlYSnNlU0IwYnlCd2NtVjJaVzUwSUdOdmJuUmxlSFFnYzNSaFkyc2diV2x6YldGMFkyaGxjeTVjYmlBZ0lDQXZMeUJFZFhKcGJtY2diVzkxYm5ScGJtY2dkMlVnWkc5dUozUWdhMjV2ZHlCMGFHVWdZMmhwYkdRZ1kyOXVkR1Y0ZENCNVpYUWdZWE1nZEdobElHbHVjM1JoYm1ObElHUnZaWE51SjNRZ1pYaHBjM1F1WEc0Z0lDQWdMeThnVjJVZ2QybHNiQ0JwYm5aaGJHbGtZWFJsSUhSb1pTQmphR2xzWkNCamIyNTBaWGgwSUdsdUlHWnBibWx6YUVOc1lYTnpRMjl0Y0c5dVpXNTBLQ2tnY21sbmFIUWdZV1owWlhJZ2NtVnVaR1Z5YVc1bkxseHVYRzRnSUNBZ2RtRnlJR2hoYzBOdmJuUmxlSFFnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR2xtSUNocGMwTnZiblJsZUhSUWNtOTJhV1JsY2loRGIyMXdiMjVsYm5RcEtTQjdYRzRnSUNBZ0lDQm9ZWE5EYjI1MFpYaDBJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIQjFjMmhEYjI1MFpYaDBVSEp2ZG1sa1pYSW9kMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JvWVhORGIyNTBaWGgwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0E5SUhaaGJIVmxMbk4wWVhSbElDRTlQU0J1ZFd4c0lDWW1JSFpoYkhWbExuTjBZWFJsSUNFOVBTQjFibVJsWm1sdVpXUWdQeUIyWVd4MVpTNXpkR0YwWlNBNklHNTFiR3c3WEc0Z0lDQWdhVzVwZEdsaGJHbDZaVlZ3WkdGMFpWRjFaWFZsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQjJZWElnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDBnUTI5dGNHOXVaVzUwTG1kbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxUWNtOXdjenRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmhjSEJzZVVSbGNtbDJaV1JUZEdGMFpVWnliMjFRY205d2N5aDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1EyOXRjRzl1Wlc1MExDQm5aWFJFWlhKcGRtVmtVM1JoZEdWR2NtOXRVSEp2Y0hNc0lIQnliM0J6S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JoWkc5d2RFTnNZWE56U1c1emRHRnVZMlVvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSFpoYkhWbEtUdGNiaUFnSUNCdGIzVnVkRU5zWVhOelNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUVOdmJYQnZibVZ1ZEN3Z2NISnZjSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCeVpYUjFjbTRnWm1sdWFYTm9RMnhoYzNORGIyMXdiMjVsYm5Rb2JuVnNiQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRU52YlhCdmJtVnVkQ3dnZEhKMVpTd2dhR0Z6UTI5dWRHVjRkQ3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRkJ5YjJObFpXUWdkVzVrWlhJZ2RHaGxJR0Z6YzNWdGNIUnBiMjRnZEdoaGRDQjBhR2x6SUdseklHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011ZEdGbklEMGdSblZ1WTNScGIyNURiMjF3YjI1bGJuUTdYRzVjYmlBZ0lDQjdYRzVjYmlBZ0lDQWdJR2xtSUNnZ2QyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRk4wY21samRFMXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCa2IzVmliR1V0Y21WdVpHVnlJR052YlhCdmJtVnVkSE1nZDJsMGFDQkliMjlyYzF4dUlDQWdJQ0FnSUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhiSFZsSUQwZ2NtVnVaR1Z5VjJsMGFFaHZiMnR6S0c1MWJHd3NJSGR2Y210SmJsQnliMmR5WlhOekxDQkRiMjF3YjI1bGJuUXNJSEJ5YjNCekxDQmpiMjUwWlhoMExDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WldOdmJtTnBiR1ZEYUdsc1pISmxiaWh1ZFd4c0xDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2RtRnNkV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lIdGNiaUFnSUNBZ0lIWmhiR2xrWVhSbFJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SSmJrUmxkaWgzYjNKclNXNVFjbTluY21WemN5d2dRMjl0Y0c5dVpXNTBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnZG1Gc2FXUmhkR1ZHZFc1amRHbHZia052YlhCdmJtVnVkRWx1UkdWMktIZHZjbXRKYmxCeWIyZHlaWE56TENCRGIyMXdiMjVsYm5RcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoRGIyMXdiMjVsYm5RcElIdGNiaUFnSUNBZ0lHbG1JQ2hEYjIxd2IyNWxiblF1WTJocGJHUkRiMjUwWlhoMFZIbHdaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWektDNHVMaWs2SUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUdOaGJtNXZkQ0JpWlNCa1pXWnBibVZrSUc5dUlHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBMaWNzSUVOdmJYQnZibVZ1ZEM1a2FYTndiR0Y1VG1GdFpTQjhmQ0JEYjIxd2IyNWxiblF1Ym1GdFpTQjhmQ0FuUTI5dGNHOXVaVzUwSnlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56TG5KbFppQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUdsdVptOGdQU0FuSnp0Y2JpQWdJQ0FnSUhaaGNpQnZkMjVsY2s1aGJXVWdQU0JuWlhSRGRYSnlaVzUwUm1saVpYSlBkMjVsY2s1aGJXVkpia1JsZGs5eVRuVnNiQ2dwTzF4dVhHNGdJQ0FnSUNCcFppQW9iM2R1WlhKT1lXMWxLU0I3WEc0Z0lDQWdJQ0FnSUdsdVptOGdLejBnSjF4Y2JseGNia05vWldOcklIUm9aU0J5Wlc1a1pYSWdiV1YwYUc5a0lHOW1JR0FuSUNzZ2IzZHVaWEpPWVcxbElDc2dKMkF1Snp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJSGRoY201cGJtZExaWGtnUFNCdmQyNWxjazVoYldVZ2ZId2dkMjl5YTBsdVVISnZaM0psYzNNdVgyUmxZblZuU1VRZ2ZId2dKeWM3WEc0Z0lDQWdJQ0IyWVhJZ1pHVmlkV2RUYjNWeVkyVWdQU0IzYjNKclNXNVFjbTluY21WemN5NWZaR1ZpZFdkVGIzVnlZMlU3WEc1Y2JpQWdJQ0FnSUdsbUlDaGtaV0oxWjFOdmRYSmpaU2tnZTF4dUlDQWdJQ0FnSUNCM1lYSnVhVzVuUzJWNUlEMGdaR1ZpZFdkVGIzVnlZMlV1Wm1sc1pVNWhiV1VnS3lBbk9pY2dLeUJrWldKMVoxTnZkWEpqWlM1c2FXNWxUblZ0WW1WeU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvSVdScFpGZGhjbTVCWW05MWRFWjFibU4wYVc5dVVtVm1jMXQzWVhKdWFXNW5TMlY1WFNrZ2UxeHVJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJHZFc1amRHbHZibEpsWm5OYmQyRnlibWx1WjB0bGVWMGdQU0IwY25WbE8xeHVYRzRnSUNBZ0lDQWdJR1Z5Y205eUtDZEdkVzVqZEdsdmJpQmpiMjF3YjI1bGJuUnpJR05oYm01dmRDQmlaU0JuYVhabGJpQnlaV1p6TGlBbklDc2dKMEYwZEdWdGNIUnpJSFJ2SUdGalkyVnpjeUIwYUdseklISmxaaUIzYVd4c0lHWmhhV3d1SUNjZ0t5QW5SR2xrSUhsdmRTQnRaV0Z1SUhSdklIVnpaU0JTWldGamRDNW1iM0ozWVhKa1VtVm1LQ2svSlhNbkxDQnBibVp2S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUVOdmJYQnZibVZ1ZEM1blpYUkVaWEpwZG1Wa1UzUmhkR1ZHY205dFVISnZjSE1nUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFpoY2lCZlkyOXRjRzl1Wlc1MFRtRnRaVElnUFNCblpYUkRiMjF3YjI1bGJuUk9ZVzFsS0VOdmJYQnZibVZ1ZENrZ2ZId2dKMVZ1YTI1dmQyNG5PMXh1WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRmRoY201QlltOTFkRWRsZEVSbGNtbDJaV1JUZEdGMFpVOXVSblZ1WTNScGIyNURiMjF3YjI1bGJuUmJYMk52YlhCdmJtVnVkRTVoYldVeVhTa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25KWE02SUVaMWJtTjBhVzl1SUdOdmJYQnZibVZ1ZEhNZ1pHOGdibTkwSUhOMWNIQnZjblFnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlZCeWIzQnpMaWNzSUY5amIyMXdiMjVsYm5ST1lXMWxNaWs3WEc1Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBSMlYwUkdWeWFYWmxaRk4wWVhSbFQyNUdkVzVqZEdsdmJrTnZiWEJ2Ym1WdWRGdGZZMjl0Y0c5dVpXNTBUbUZ0WlRKZElEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUVOdmJYQnZibVZ1ZEM1amIyNTBaWGgwVkhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ1EyOXRjRzl1Wlc1MExtTnZiblJsZUhSVWVYQmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1gyTnZiWEJ2Ym1WdWRFNWhiV1V6SUQwZ1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNoRGIyMXdiMjVsYm5RcElIeDhJQ2RWYm10dWIzZHVKenRjYmx4dUlDQWdJQ0FnYVdZZ0tDRmthV1JYWVhKdVFXSnZkWFJEYjI1MFpYaDBWSGx3WlU5dVJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SYlgyTnZiWEJ2Ym1WdWRFNWhiV1V6WFNrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnbkpYTTZJRVoxYm1OMGFXOXVJR052YlhCdmJtVnVkSE1nWkc4Z2JtOTBJSE4xY0hCdmNuUWdZMjl1ZEdWNGRGUjVjR1V1Snl3Z1gyTnZiWEJ2Ym1WdWRFNWhiV1V6S1R0Y2JseHVJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJEYjI1MFpYaDBWSGx3WlU5dVJuVnVZM1JwYjI1RGIyMXdiMjVsYm5SYlgyTnZiWEJ2Ym1WdWRFNWhiV1V6WFNBOUlIUnlkV1U3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm5aaGNpQlRWVk5RUlU1RVJVUmZUVUZTUzBWU0lEMGdlMXh1SUNCa1pXaDVaSEpoZEdWa09pQnVkV3hzTEZ4dUlDQnlaWFJ5ZVZScGJXVTZJRTV2VjI5eWExeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2MyaHZkV3hrVW1WdFlXbHVUMjVHWVd4c1ltRmpheWh6ZFhOd1pXNXpaVU52Ym5SbGVIUXNJR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOektTQjdYRzRnSUM4dklFbG1JSFJvWlNCamIyNTBaWGgwSUdseklIUmxiR3hwYm1jZ2RYTWdkR2hoZENCM1pTQnphRzkxYkdRZ2MyaHZkeUJoSUdaaGJHeGlZV05yTENCaGJtUWdkMlVuY21VZ2JtOTBYRzRnSUM4dklHRnNjbVZoWkhrZ2MyaHZkMmx1WnlCamIyNTBaVzUwTENCMGFHVnVJSGRsSUhOb2IzVnNaQ0J6YUc5M0lIUm9aU0JtWVd4c1ltRmpheUJwYm5OMFpXRmtMbHh1SUNCeVpYUjFjbTRnYUdGelUzVnpjR1Z1YzJWRGIyNTBaWGgwS0hOMWMzQmxibk5sUTI5dWRHVjRkQ3dnUm05eVkyVlRkWE53Wlc1elpVWmhiR3hpWVdOcktTQW1KaUFvWTNWeWNtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVWdJVDA5SUc1MWJHd3BPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFjR1JoZEdWVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnZG1GeUlHMXZaR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbE8xeHVJQ0IyWVhJZ2JtVjRkRkJ5YjNCeklEMGdkMjl5YTBsdVVISnZaM0psYzNNdWNHVnVaR2x1WjFCeWIzQnpPeUF2THlCVWFHbHpJR2x6SUhWelpXUWdZbmtnUkdWMlZHOXZiSE1nZEc4Z1ptOXlZMlVnWVNCaWIzVnVaR0Z5ZVNCMGJ5QnpkWE53Wlc1a0xseHVYRzRnSUh0Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrVTNWemNHVnVaQ2gzYjNKclNXNVFjbTluY21WemN5a3BJSHRjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JFYVdSRFlYQjBkWEpsTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhaaGNpQnpkWE53Wlc1elpVTnZiblJsZUhRZ1BTQnpkWE53Wlc1elpWTjBZV05yUTNWeWMyOXlMbU4xY25KbGJuUTdYRzRnSUhaaGNpQnVaWGgwUkdsa1ZHbHRaVzkxZENBOUlHWmhiSE5sTzF4dUlDQjJZWElnWkdsa1UzVnpjR1Z1WkNBOUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ0ppQkVhV1JEWVhCMGRYSmxLU0FoUFQwZ1RtOUZabVpsWTNRN1hHNWNiaUFnYVdZZ0tHUnBaRk4xYzNCbGJtUWdmSHdnYzJodmRXeGtVbVZ0WVdsdVQyNUdZV3hzWW1GamF5aHpkWE53Wlc1elpVTnZiblJsZUhRc0lHTjFjbkpsYm5RcEtTQjdYRzRnSUNBZ0x5OGdVMjl0WlhSb2FXNW5JR2x1SUhSb2FYTWdZbTkxYm1SaGNua25jeUJ6ZFdKMGNtVmxJR0ZzY21WaFpIa2djM1Z6Y0dWdVpHVmtMaUJUZDJsMFkyZ2dkRzljYmlBZ0lDQXZMeUJ5Wlc1a1pYSnBibWNnZEdobElHWmhiR3hpWVdOcklHTm9hV3hrY21WdUxseHVJQ0FnSUc1bGVIUkVhV1JVYVcxbGIzVjBJRDBnZEhKMVpUdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnSmowZ2ZrUnBaRU5oY0hSMWNtVTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnUVhSMFpXMXdkR2x1WnlCMGFHVWdiV0ZwYmlCamIyNTBaVzUwWEc0Z0lDQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dnZkh3Z1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZOMFlYUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0F2THlCVWFHbHpJR2x6SUdFZ2JtVjNJRzF2ZFc1MElHOXlJSFJvYVhNZ1ltOTFibVJoY25rZ2FYTWdZV3h5WldGa2VTQnphRzkzYVc1bklHRWdabUZzYkdKaFkyc2djM1JoZEdVdVhHNGdJQ0FnSUNBdkx5Qk5ZWEpySUhSb2FYTWdjM1ZpZEhKbFpTQmpiMjUwWlhoMElHRnpJR2hoZG1sdVp5QmhkQ0JzWldGemRDQnZibVVnYVc1MmFYTnBZbXhsSUhCaGNtVnVkQ0IwYUdGMElHTnZkV3hrWEc0Z0lDQWdJQ0F2THlCb1lXNWtiR1VnZEdobElHWmhiR3hpWVdOcklITjBZWFJsTGx4dUlDQWdJQ0FnTHk4Z1FtOTFibVJoY21sbGN5QjNhWFJvYjNWMElHWmhiR3hpWVdOcmN5QnZjaUJ6YUc5MWJHUWdZbVVnWVhadmFXUmxaQ0JoY21VZ2JtOTBJR052Ym5OcFpHVnlaV1FnYzJsdVkyVmNiaUFnSUNBZ0lDOHZJSFJvWlhrZ1kyRnVibTkwSUdoaGJtUnNaU0J3Y21WbVpYSnlaV1FnWm1Gc2JHSmhZMnNnYzNSaGRHVnpMbHh1SUNBZ0lDQWdhV1lnS0c1bGVIUlFjbTl3Y3k1bVlXeHNZbUZqYXlBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUc1bGVIUlFjbTl3Y3k1MWJuTjBZV0pzWlY5aGRtOXBaRlJvYVhOR1lXeHNZbUZqYXlBaFBUMGdkSEoxWlNrZ2UxeHVJQ0FnSUNBZ0lDQnpkWE53Wlc1elpVTnZiblJsZUhRZ1BTQmhaR1JUZFdKMGNtVmxVM1Z6Y0dWdWMyVkRiMjUwWlhoMEtITjFjM0JsYm5ObFEyOXVkR1Y0ZEN3Z1NXNTJhWE5wWW14bFVHRnlaVzUwVTNWemNHVnVjMlZEYjI1MFpYaDBLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J6ZFhOd1pXNXpaVU52Ym5SbGVIUWdQU0J6WlhSRVpXWmhkV3gwVTJoaGJHeHZkMU4xYzNCbGJuTmxRMjl1ZEdWNGRDaHpkWE53Wlc1elpVTnZiblJsZUhRcE8xeHVJQ0J3ZFhOb1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J6ZFhOd1pXNXpaVU52Ym5SbGVIUXBPeUF2THlCVWFHbHpJRzVsZUhRZ2NHRnlkQ0JwY3lCaElHSnBkQ0JqYjI1bWRYTnBibWN1SUVsbUlIUm9aU0JqYUdsc1pISmxiaUIwYVcxbGIzVjBMQ0IzWlNCemQybDBZMmdnZEc5Y2JpQWdMeThnYzJodmQybHVaeUIwYUdVZ1ptRnNiR0poWTJzZ1kyaHBiR1J5Wlc0Z2FXNGdjR3hoWTJVZ2IyWWdkR2hsSUZ3aWNISnBiV0Z5ZVZ3aUlHTm9hV3hrY21WdUxseHVJQ0F2THlCSWIzZGxkbVZ5TENCM1pTQmtiMjRuZENCM1lXNTBJSFJ2SUdSbGJHVjBaU0IwYUdVZ2NISnBiV0Z5ZVNCamFHbHNaSEpsYmlCaVpXTmhkWE5sSUhSb1pXNGdkR2hsYVhKY2JpQWdMeThnYzNSaGRHVWdkMmxzYkNCaVpTQnNiM04wSUNoaWIzUm9JSFJvWlNCU1pXRmpkQ0J6ZEdGMFpTQmhibVFnZEdobElHaHZjM1FnYzNSaGRHVXNJR1V1Wnk1Y2JpQWdMeThnZFc1amIyNTBjbTlzYkdWa0lHWnZjbTBnYVc1d2RYUnpLUzRnU1c1emRHVmhaQ0IzWlNCclpXVndJSFJvWlcwZ2JXOTFiblJsWkNCaGJtUWdhR2xrWlNCMGFHVnRMbHh1SUNBdkx5QkNiM1JvSUhSb1pTQm1ZV3hzWW1GamF5QmphR2xzWkhKbGJpQkJUa1FnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0Z1lYSmxJSEpsYm1SbGNtVmtJR0YwSUhSb1pWeHVJQ0F2THlCellXMWxJSFJwYldVdUlFOXVZMlVnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0Z1lYSmxJSFZ1TFhOMWMzQmxibVJsWkN3Z2QyVWdZMkZ1SUdSbGJHVjBaVnh1SUNBdkx5QjBhR1VnWm1Gc2JHSmhZMnNnWTJocGJHUnlaVzRnNG9DVUlHUnZiaWQwSUc1bFpXUWdkRzhnY0hKbGMyVnlkbVVnZEdobGFYSWdjM1JoZEdVdVhHNGdJQzh2WEc0Z0lDOHZJRlJvWlNCMGQyOGdjMlYwY3lCdlppQmphR2xzWkhKbGJpQmhjbVVnYzJsaWJHbHVaM01nYVc0Z2RHaGxJR2h2YzNRZ1pXNTJhWEp2Ym0xbGJuUXNJR0oxZEZ4dUlDQXZMeUJ6WlcxaGJuUnBZMkZzYkhrc0lHWnZjaUJ3ZFhKd2IzTmxjeUJ2WmlCeVpXTnZibU5wYkdsaGRHbHZiaXdnZEdobGVTQmhjbVVnZEhkdklITmxjR0Z5WVhSbElITmxkSE11WEc0Z0lDOHZJRk52SUhkbElITjBiM0psSUhSb1pXMGdkWE5wYm1jZ2RIZHZJR1p5WVdkdFpXNTBJR1pwWW1WeWN5NWNiaUFnTHk5Y2JpQWdMeThnU0c5M1pYWmxjaXdnZDJVZ2QyRnVkQ0IwYnlCaGRtOXBaQ0JoYkd4dlkyRjBhVzVuSUdWNGRISmhJR1pwWW1WeWN5Qm1iM0lnWlhabGNua2djR3hoWTJWb2IyeGtaWEl1WEc0Z0lDOHZJRlJvWlhrbmNtVWdiMjVzZVNCdVpXTmxjM05oY25rZ2QyaGxiaUIwYUdVZ1kyaHBiR1J5Wlc0Z2RHbHRaU0J2ZFhRc0lHSmxZMkYxYzJVZ2RHaGhkQ2R6SUhSb1pWeHVJQ0F2THlCdmJteDVJSFJwYldVZ2QyaGxiaUJpYjNSb0lITmxkSE1nWVhKbElHMXZkVzUwWldRdVhHNGdJQzh2WEc0Z0lDOHZJRk52TENCMGFHVWdaWGgwY21FZ1puSmhaMjFsYm5RZ1ptbGlaWEp6SUdGeVpTQnZibXg1SUhWelpXUWdhV1lnZEdobElHTm9hV3hrY21WdUlIUnBiV1VnYjNWMExseHVJQ0F2THlCUGRHaGxjbmRwYzJVc0lIZGxJSEpsYm1SbGNpQjBhR1VnY0hKcGJXRnllU0JqYUdsc1pISmxiaUJrYVhKbFkzUnNlUzRnVkdocGN5QnlaWEYxYVhKbGN5QnpiMjFsWEc0Z0lDOHZJR04xYzNSdmJTQnlaV052Ym1OcGJHbGhkR2x2YmlCc2IyZHBZeUIwYnlCd2NtVnpaWEoyWlNCMGFHVWdjM1JoZEdVZ2IyWWdkR2hsSUhCeWFXMWhjbmxjYmlBZ0x5OGdZMmhwYkdSeVpXNHVJRWwwSjNNZ1pYTnpaVzUwYVdGc2JIa2dZU0IyWlhKNUlHSmhjMmxqSUdadmNtMGdiMllnY21VdGNHRnlaVzUwYVc1bkxseHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdTV1lnZDJVbmNtVWdZM1Z5Y21WdWRHeDVJR2g1WkhKaGRHbHVaeXdnZEhKNUlIUnZJR2g1WkhKaGRHVWdkR2hwY3lCaWIzVnVaR0Z5ZVM1Y2JpQWdJQ0F2THlCQ2RYUWdiMjVzZVNCcFppQjBhR2x6SUdoaGN5QmhJR1poYkd4aVlXTnJMbHh1SUNBZ0lHbG1JQ2h1WlhoMFVISnZjSE11Wm1Gc2JHSmhZMnNnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdkSEo1Vkc5RGJHRnBiVTVsZUhSSWVXUnlZWFJoWW14bFNXNXpkR0Z1WTJVb2QyOXlhMGx1VUhKdlozSmxjM01wT3lBdkx5QlVhR2x6SUdOdmRXeGtKM1psSUdKbFpXNGdZU0JrWldoNVpISmhkR1ZrSUhOMWMzQmxibk5sSUdOdmJYQnZibVZ1ZEM1Y2JpQWdJQ0I5SUM4dklGUm9hWE1nYVhNZ2RHaGxJR2x1YVhScFlXd2diVzkxYm5RdUlGUm9hWE1nWW5KaGJtTm9JR2x6SUhCeVpYUjBlU0J6YVcxd2JHVWdZbVZqWVhWelpTQjBhR1Z5WlNkelhHNGdJQ0FnTHk4Z2JtOGdjSEpsZG1sdmRYTWdjM1JoZEdVZ2RHaGhkQ0J1WldWa2N5QjBieUJpWlNCd2NtVnpaWEoyWldRdVhHNWNibHh1SUNBZ0lHbG1JQ2h1WlhoMFJHbGtWR2x0Wlc5MWRDa2dlMXh1SUNBZ0lDQWdMeThnVFc5MWJuUWdjMlZ3WVhKaGRHVWdabkpoWjIxbGJuUnpJR1p2Y2lCd2NtbHRZWEo1SUdGdVpDQm1ZV3hzWW1GamF5QmphR2xzWkhKbGJpNWNiaUFnSUNBZ0lIWmhjaUJ1WlhoMFJtRnNiR0poWTJ0RGFHbHNaSEpsYmlBOUlHNWxlSFJRY205d2N5NW1ZV3hzWW1GamF6dGNiaUFnSUNBZ0lIWmhjaUJ3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZENBOUlHTnlaV0YwWlVacFltVnlSbkp2YlVaeVlXZHRaVzUwS0c1MWJHd3NJRzF2WkdVc0lFNXZWMjl5YXl3Z2JuVnNiQ2s3WEc0Z0lDQWdJQ0J3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZEM1eVpYUjFjbTRnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmx4dUlDQWdJQ0FnYVdZZ0tDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1dGIyUmxJQ1lnUW14dlkydHBibWROYjJSbEtTQTlQVDBnVG05TmIyUmxLU0I3WEc0Z0lDQWdJQ0FnSUM4dklFOTFkSE5wWkdVZ2IyWWdZbXh2WTJ0cGJtY2diVzlrWlN3Z2QyVWdZMjl0YldsMElIUm9aU0JsWm1abFkzUnpJR1p5YjIwZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUhCaGNuUnBZV3hzZVNCamIyMXdiR1YwWldRc0lIUnBiV1ZrTFc5MWRDQjBjbVZsTENCMGIyOHVYRzRnSUNBZ0lDQWdJSFpoY2lCd2NtOW5jbVZ6YzJWa1UzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0FnSUNBZ0lDQjJZWElnY0hKdlozSmxjM05sWkZCeWFXMWhjbmxEYUdsc1pDQTlJSEJ5YjJkeVpYTnpaV1JUZEdGMFpTQWhQVDBnYm5Wc2JDQS9JSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrTG1Ob2FXeGtJRG9nZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNGdJQ0FnSUNBZ0lIQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBMbU5vYVd4a0lEMGdjSEp2WjNKbGMzTmxaRkJ5YVcxaGNubERhR2xzWkR0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJ5YjJkeVpYTnpaV1JEYUdsc1pDQTlJSEJ5YjJkeVpYTnpaV1JRY21sdFlYSjVRMmhwYkdRN1hHNWNiaUFnSUNBZ0lDQWdkMmhwYkdVZ0tIQnliMmR5WlhOelpXUkRhR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEJ5YjJkeVpYTnpaV1JEYUdsc1pDNXlaWFIxY200Z1BTQndjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkRHRjYmlBZ0lDQWdJQ0FnSUNCd2NtOW5jbVZ6YzJWa1EyaHBiR1FnUFNCd2NtOW5jbVZ6YzJWa1EyaHBiR1F1YzJsaWJHbHVaenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMllYSWdabUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwSUQwZ1kzSmxZWFJsUm1saVpYSkdjbTl0Um5KaFoyMWxiblFvYm1WNGRFWmhiR3hpWVdOclEyaHBiR1J5Wlc0c0lHMXZaR1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbExDQnVkV3hzS1R0Y2JpQWdJQ0FnSUdaaGJHeGlZV05yUTJocGJHUkdjbUZuYldWdWRDNXlaWFIxY200Z1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdJQ0FnSUhCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1MExuTnBZbXhwYm1jZ1BTQm1ZV3hzWW1GamEwTm9hV3hrUm5KaFoyMWxiblE3SUM4dklGTnJhWEFnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0c0lHRnVaQ0JqYjI1MGFXNTFaU0IzYjNKcmFXNW5JRzl1SUhSb1pWeHVJQ0FnSUNBZ0x5OGdabUZzYkdKaFkyc2dZMmhwYkdSeVpXNHVYRzVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCVFZWTlFSVTVFUlVSZlRVRlNTMFZTTzF4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQndjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkRHRjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3hzWW1GamEwTm9hV3hrUm5KaFoyMWxiblE3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRTF2ZFc1MElIUm9aU0J3Y21sdFlYSjVJR05vYVd4a2NtVnVJSGRwZEdodmRYUWdZVzRnYVc1MFpYSnRaV1JwWVhSbElHWnlZV2R0Wlc1MElHWnBZbVZ5TGx4dUlDQWdJQ0FnZG1GeUlHNWxlSFJRY21sdFlYSjVRMmhwYkdSeVpXNGdQU0J1WlhoMFVISnZjSE11WTJocGJHUnlaVzQ3WEc0Z0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGTjBZWFJsSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaQ0E5SUcxdmRXNTBRMmhwYkdSR2FXSmxjbk1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzUxYkd3c0lHNWxlSFJRY21sdFlYSjVRMmhwYkdSeVpXNHNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaGJpQjFjR1JoZEdVdUlGUm9hWE1nWW5KaGJtTm9JR2x6SUcxdmNtVWdZMjl0Y0d4cFkyRjBaV1FnWW1WallYVnpaU0IzWlNCdVpXVmtJSFJ2WEc0Z0lDQWdMeThnWlc1emRYSmxJSFJvWlNCemRHRjBaU0J2WmlCMGFHVWdjSEpwYldGeWVTQmphR2xzWkhKbGJpQnBjeUJ3Y21WelpYSjJaV1F1WEc0Z0lDQWdkbUZ5SUhCeVpYWlRkR0YwWlNBOUlHTjFjbkpsYm5RdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQWdJR2xtSUNod2NtVjJVM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDOHZJSGR5WVhCd1pXUWdhVzRnWVNCbWNtRm5iV1Z1ZENCbWFXSmxjaTVjYmx4dVhHNGdJQ0FnSUNCMllYSWdZM1Z5Y21WdWRGQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBJRDBnWTNWeWNtVnVkQzVqYUdsc1pEdGNiaUFnSUNBZ0lIWmhjaUJqZFhKeVpXNTBSbUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwSUQwZ1kzVnljbVZ1ZEZCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1MExuTnBZbXhwYm1jN1hHNWNiaUFnSUNBZ0lHbG1JQ2h1WlhoMFJHbGtWR2x0Wlc5MWRDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVGRHbHNiQ0IwYVcxbFpDQnZkWFF1SUZKbGRYTmxJSFJvWlNCamRYSnlaVzUwSUhCeWFXMWhjbmtnWTJocGJHUnlaVzRnWW5rZ1kyeHZibWx1WjF4dUlDQWdJQ0FnSUNBdkx5QnBkSE1nWm5KaFoyMWxiblF1SUZkbEozSmxJR2R2YVc1bklIUnZJSE5yYVhBZ2IzWmxjaUIwYUdWelpTQmxiblJwY21Wc2VTNWNiaUFnSUNBZ0lDQWdkbUZ5SUY5dVpYaDBSbUZzYkdKaFkydERhR2xzWkhKbGJqSWdQU0J1WlhoMFVISnZjSE11Wm1Gc2JHSmhZMnM3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZERJZ1BTQmpjbVZoZEdWWGIzSnJTVzVRY205bmNtVnpjeWhqZFhKeVpXNTBVSEpwYldGeWVVTm9hV3hrUm5KaFoyMWxiblFzSUdOMWNuSmxiblJRY21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZEM1d1pXNWthVzVuVUhKdmNITXBPMXh1WEc0Z0lDQWdJQ0FnSUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRESXVjbVYwZFhKdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NoM2IzSnJTVzVRY205bmNtVnpjeTV0YjJSbElDWWdRbXh2WTJ0cGJtZE5iMlJsS1NBOVBUMGdUbTlOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1QzVjBjMmxrWlNCdlppQmliRzlqYTJsdVp5QnRiMlJsTENCM1pTQmpiMjF0YVhRZ2RHaGxJR1ZtWm1WamRITWdabkp2YlNCMGFHVmNiaUFnSUNBZ0lDQWdJQ0F2THlCd1lYSjBhV0ZzYkhrZ1kyOXRjR3hsZEdWa0xDQjBhVzFsWkMxdmRYUWdkSEpsWlN3Z2RHOXZMbHh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmZjSEp2WjNKbGMzTmxaRk4wWVhSbElEMGdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJmY0hKdlozSmxjM05sWkZCeWFXMWhjbmxEYUdsc1pDQTlJRjl3Y205bmNtVnpjMlZrVTNSaGRHVWdJVDA5SUc1MWJHd2dQeUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkM1amFHbHNaQ0E2SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tGOXdjbTluY21WemMyVmtVSEpwYldGeWVVTm9hV3hrSUNFOVBTQmpkWEp5Wlc1MFVISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXVZMmhwYkdRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRESXVZMmhwYkdRZ1BTQmZjSEp2WjNKbGMzTmxaRkJ5YVcxaGNubERhR2xzWkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCZmNISnZaM0psYzNObFpFTm9hV3hrTWlBOUlGOXdjbTluY21WemMyVmtVSEpwYldGeWVVTm9hV3hrTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9YM0J5YjJkeVpYTnpaV1JEYUdsc1pESWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdYM0J5YjJkeVpYTnpaV1JEYUdsc1pESXVjbVYwZFhKdUlEMGdYM0J5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwTWp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWDNCeWIyZHlaWE56WldSRGFHbHNaRElnUFNCZmNISnZaM0psYzNObFpFTm9hV3hrTWk1emFXSnNhVzVuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQXZMeUJDWldOaGRYTmxJSEJ5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwSUdseklHRWdibVYzSUdacFltVnlJSFJvWVhRZ2QyVW5jbVVnYVc1elpYSjBhVzVuSUdGeklIUm9aVnh1SUNBZ0lDQWdJQ0F2THlCd1lYSmxiblFnYjJZZ1lTQnVaWGNnZEhKbFpTd2dkMlVnYm1WbFpDQjBieUJ6WlhRZ2FYUnpJSFJ5WldWQ1lYTmxSSFZ5WVhScGIyNHVYRzVjYmx4dUlDQWdJQ0FnSUNCcFppQW9JSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCUWNtOW1hV3hsVFc5a1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklIUnlaV1ZDWVhObFJIVnlZWFJwYjI0Z2FYTWdkR2hsSUhOMWJTQnZaaUJoYkd3Z2RHaGxJR05vYVd4a0lIUnlaV1VnWW1GelpTQmtkWEpoZEdsdmJuTXVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlGOTBjbVZsUW1GelpVUjFjbUYwYVc5dUlEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYMmhwWkdSbGJrTm9hV3hrSUQwZ1gzQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBNaTVqYUdsc1pEdGNibHh1SUNBZ0lDQWdJQ0FnSUhkb2FXeGxJQ2hmYUdsa1pHVnVRMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUY5MGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUNzOUlGOW9hV1JrWlc1RGFHbHNaQzUwY21WbFFtRnpaVVIxY21GMGFXOXVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1gyaHBaR1JsYmtOb2FXeGtJRDBnWDJocFpHUmxia05vYVd4a0xuTnBZbXhwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1gzQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBNaTUwY21WbFFtRnpaVVIxY21GMGFXOXVJRDBnWDNSeVpXVkNZWE5sUkhWeVlYUnBiMjQ3WEc0Z0lDQWdJQ0FnSUgwZ0x5OGdRMnh2Ym1VZ2RHaGxJR1poYkd4aVlXTnJJR05vYVd4a0lHWnlZV2R0Wlc1MExDQjBiMjh1SUZSb1pYTmxJSGRsSjJ4c0lHTnZiblJwYm5WbFhHNGdJQ0FnSUNBZ0lDOHZJSGR2Y210cGJtY2diMjR1WEc1Y2JseHVJQ0FnSUNBZ0lDQjJZWElnWDJaaGJHeGlZV05yUTJocGJHUkdjbUZuYldWdWRESWdQU0JqY21WaGRHVlhiM0pyU1c1UWNtOW5jbVZ6Y3loamRYSnlaVzUwUm1Gc2JHSmhZMnREYUdsc1pFWnlZV2R0Wlc1MExDQmZibVY0ZEVaaGJHeGlZV05yUTJocGJHUnlaVzR5S1R0Y2JseHVJQ0FnSUNBZ0lDQmZabUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwTWk1eVpYUjFjbTRnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQWdJQ0FnWDNCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1ME1pNXphV0pzYVc1bklEMGdYMlpoYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZERJN1hHNGdJQ0FnSUNBZ0lGOXdjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkREl1WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlFNXZWMjl5YXpzZ0x5OGdVMnRwY0NCMGFHVWdjSEpwYldGeWVTQmphR2xzWkhKbGJpd2dZVzVrSUdOdmJuUnBiblZsSUhkdmNtdHBibWNnYjI0Z2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUdaaGJHeGlZV05ySUdOb2FXeGtjbVZ1TGx4dVhHNGdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVWdQU0JUVlZOUVJVNUVSVVJmVFVGU1MwVlNPMXh1SUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlGOXdjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkREk3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJmWm1Gc2JHSmhZMnREYUdsc1pFWnlZV2R0Wlc1ME1qdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDOHZJRTV2SUd4dmJtZGxjaUJ6ZFhOd1pXNWtaV1F1SUZOM2FYUmphQ0JpWVdOcklIUnZJSE5vYjNkcGJtY2dkR2hsSUhCeWFXMWhjbmtnWTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0FnSUM4dklHRnVaQ0J5WlcxdmRtVWdkR2hsSUdsdWRHVnliV1ZrYVdGMFpTQm1jbUZuYldWdWRDQm1hV0psY2k1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl1WlhoMFVISnBiV0Z5ZVVOb2FXeGtjbVZ1SUQwZ2JtVjRkRkJ5YjNCekxtTm9hV3hrY21WdU8xeHVJQ0FnSUNBZ0lDQjJZWElnWTNWeWNtVnVkRkJ5YVcxaGNubERhR2xzWkNBOUlHTjFjbkpsYm5SUWNtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRDNWphR2xzWkR0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEJ5YVcxaGNubERhR2xzWkNBOUlISmxZMjl1WTJsc1pVTm9hV3hrUm1saVpYSnpLSGR2Y210SmJsQnliMmR5WlhOekxDQmpkWEp5Wlc1MFVISnBiV0Z5ZVVOb2FXeGtMQ0JmYm1WNGRGQnlhVzFoY25sRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPeUF2THlCSlppQjBhR2x6SUhKbGJtUmxjaUJrYjJWemJpZDBJSE4xYzNCbGJtUXNJSGRsSUc1bFpXUWdkRzhnWkdWc1pYUmxJSFJvWlNCbVlXeHNZbUZqYTF4dUlDQWdJQ0FnSUNBdkx5QmphR2xzWkhKbGJpNGdWMkZwZENCMWJuUnBiQ0IwYUdVZ1kyOXRjR3hsZEdVZ2NHaGhjMlVzSUdGbWRHVnlJSGRsSjNabElHTnZibVpwY20xbFpDQjBhR1ZjYmlBZ0lDQWdJQ0FnTHk4Z1ptRnNiR0poWTJzZ2FYTWdibThnYkc5dVoyVnlJRzVsWldSbFpDNWNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dWMjkxYkdRZ2FYUWdZbVVnWW1WMGRHVnlJSFJ2SUhOMGIzSmxJSFJvWlNCbVlXeHNZbUZqYXlCbWNtRm5iV1Z1ZENCdmJseHVJQ0FnSUNBZ0lDQXZMeUIwYUdVZ2MzUmhkR1ZPYjJSbFAxeHVJQ0FnSUNBZ0lDQXZMeUJEYjI1MGFXNTFaU0J5Wlc1a1pYSnBibWNnZEdobElHTm9hV3hrY21WdUxDQnNhV3RsSUhkbElHNXZjbTFoYkd4NUlHUnZMbHh1WEc0Z0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQndjbWx0WVhKNVEyaHBiR1E3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJRlJvWlNCamRYSnlaVzUwSUhSeVpXVWdhR0Z6SUc1dmRDQmhiSEpsWVdSNUlIUnBiV1ZrSUc5MWRDNGdWR2hoZENCdFpXRnVjeUIwYUdVZ2NISnBiV0Z5ZVZ4dUlDQWdJQ0FnTHk4Z1kyaHBiR1J5Wlc0Z1lYSmxJRzV2ZENCM2NtRndjR1ZrSUdsdUlHRWdabkpoWjIxbGJuUWdabWxpWlhJdVhHNGdJQ0FnSUNCMllYSWdYMk4xY25KbGJuUlFjbWx0WVhKNVEyaHBiR1FnUFNCamRYSnlaVzUwTG1Ob2FXeGtPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JtVjRkRVJwWkZScGJXVnZkWFFwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWR2x0WldRZ2IzVjBMaUJYY21Gd0lIUm9aU0JqYUdsc1pISmxiaUJwYmlCaElHWnlZV2R0Wlc1MElHWnBZbVZ5SUhSdklHdGxaWEFnZEdobGJWeHVJQ0FnSUNBZ0lDQXZMeUJ6WlhCaGNtRjBaU0JtY205dElIUm9aU0JtWVd4c1ltRmpheUJqYUdsc1pISmxiaTVjYmlBZ0lDQWdJQ0FnZG1GeUlGOXVaWGgwUm1Gc2JHSmhZMnREYUdsc1pISmxiak1nUFNCdVpYaDBVSEp2Y0hNdVptRnNiR0poWTJzN1hHNWNiaUFnSUNBZ0lDQWdkbUZ5SUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRETWdQU0JqY21WaGRHVkdhV0psY2taeWIyMUdjbUZuYldWdWRDZ2dMeThnU1hRZ2MyaHZkV3hrYmlkMElHMWhkSFJsY2lCM2FHRjBJSFJvWlNCd1pXNWthVzVuSUhCeWIzQnpJR0Z5WlNCaVpXTmhkWE5sSUhkbElHRnlaVzRuZEZ4dUlDQWdJQ0FnSUNBdkx5Qm5iMmx1WnlCMGJ5QnlaVzVrWlhJZ2RHaHBjeUJtY21GbmJXVnVkQzVjYmlBZ0lDQWdJQ0FnYm5Wc2JDd2diVzlrWlN3Z1RtOVhiM0pyTENCdWRXeHNLVHRjYmx4dUlDQWdJQ0FnSUNCZmNISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXpMbkpsZEhWeWJpQTlJSGR2Y210SmJsQnliMmR5WlhOek8xeHVJQ0FnSUNBZ0lDQmZjSEpwYldGeWVVTm9hV3hrUm5KaFoyMWxiblF6TG1Ob2FXeGtJRDBnWDJOMWNuSmxiblJRY21sdFlYSjVRMmhwYkdRN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0Y5amRYSnlaVzUwVUhKcGJXRnllVU5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnWDJOMWNuSmxiblJRY21sdFlYSjVRMmhwYkdRdWNtVjBkWEp1SUQwZ1gzQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBNenRjYmlBZ0lDQWdJQ0FnZlNBdkx5QkZkbVZ1SUhSb2IzVm5hQ0IzWlNkeVpTQmpjbVZoZEdsdVp5QmhJRzVsZHlCbWFXSmxjaXdnZEdobGNtVWdZWEpsSUc1dklHNWxkeUJqYUdsc1pISmxiaXhjYmlBZ0lDQWdJQ0FnTHk4Z1ltVmpZWFZ6WlNCM1pTZHlaU0J5WlhWemFXNW5JR0Z1SUdGc2NtVmhaSGtnYlc5MWJuUmxaQ0IwY21WbExpQlRieUIzWlNCa2IyNG5kQ0J1WldWa0lIUnZYRzRnSUNBZ0lDQWdJQzh2SUhOamFHVmtkV3hsSUdFZ2NHeGhZMlZ0Wlc1MExseHVJQ0FnSUNBZ0lDQXZMeUJ3Y21sdFlYSjVRMmhwYkdSR2NtRm5iV1Z1ZEM1bFptWmxZM1JVWVdjZ2ZEMGdVR3hoWTJWdFpXNTBPMXh1WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ2gzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1FteHZZMnRwYm1kTmIyUmxLU0E5UFQwZ1RtOU5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVDNWMGMybGtaU0J2WmlCaWJHOWphMmx1WnlCdGIyUmxMQ0IzWlNCamIyMXRhWFFnZEdobElHVm1abVZqZEhNZ1puSnZiU0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJ3WVhKMGFXRnNiSGtnWTI5dGNHeGxkR1ZrTENCMGFXMWxaQzF2ZFhRZ2RISmxaU3dnZEc5dkxseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZmNISnZaM0psYzNObFpGTjBZWFJsTWlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVTNSaGRHVTdYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYM0J5YjJkeVpYTnpaV1JRY21sdFlYSjVRMmhwYkdReUlEMGdYM0J5YjJkeVpYTnpaV1JUZEdGMFpUSWdJVDA5SUc1MWJHd2dQeUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkM1amFHbHNaQ0E2SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVYRzRnSUNBZ0lDQWdJQ0FnWDNCeWFXMWhjbmxEYUdsc1pFWnlZV2R0Wlc1ME15NWphR2xzWkNBOUlGOXdjbTluY21WemMyVmtVSEpwYldGeWVVTm9hV3hrTWp0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWDNCeWIyZHlaWE56WldSRGFHbHNaRE1nUFNCZmNISnZaM0psYzNObFpGQnlhVzFoY25sRGFHbHNaREk3WEc1Y2JpQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb1gzQnliMmR5WlhOelpXUkRhR2xzWkRNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUY5d2NtOW5jbVZ6YzJWa1EyaHBiR1F6TG5KbGRIVnliaUE5SUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRETTdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmNISnZaM0psYzNObFpFTm9hV3hrTXlBOUlGOXdjbTluY21WemMyVmtRMmhwYkdRekxuTnBZbXhwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5SUM4dklFSmxZMkYxYzJVZ2NISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUWdhWE1nWVNCdVpYY2dabWxpWlhJZ2RHaGhkQ0IzWlNkeVpTQnBibk5sY25ScGJtY2dZWE1nZEdobFhHNGdJQ0FnSUNBZ0lDOHZJSEJoY21WdWRDQnZaaUJoSUc1bGR5QjBjbVZsTENCM1pTQnVaV1ZrSUhSdklITmxkQ0JwZEhNZ2RISmxaVUpoYzJWRWRYSmhkR2x2Ymk1Y2JseHVYRzRnSUNBZ0lDQWdJR2xtSUNnZ2QyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRkJ5YjJacGJHVk5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnZEhKbFpVSmhjMlZFZFhKaGRHbHZiaUJwY3lCMGFHVWdjM1Z0SUc5bUlHRnNiQ0IwYUdVZ1kyaHBiR1FnZEhKbFpTQmlZWE5sSUdSMWNtRjBhVzl1Y3k1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWDNSeVpXVkNZWE5sUkhWeVlYUnBiMjR5SUQwZ01EdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gyaHBaR1JsYmtOb2FXeGtNaUE5SUY5d2NtbHRZWEo1UTJocGJHUkdjbUZuYldWdWRETXVZMmhwYkdRN1hHNWNiaUFnSUNBZ0lDQWdJQ0IzYUdsc1pTQW9YMmhwWkdSbGJrTm9hV3hrTWlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWDNSeVpXVkNZWE5sUkhWeVlYUnBiMjR5SUNzOUlGOW9hV1JrWlc1RGFHbHNaREl1ZEhKbFpVSmhjMlZFZFhKaGRHbHZianRjYmlBZ0lDQWdJQ0FnSUNBZ0lGOW9hV1JrWlc1RGFHbHNaRElnUFNCZmFHbGtaR1Z1UTJocGJHUXlMbk5wWW14cGJtYzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdYM0J5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwTXk1MGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUQwZ1gzUnlaV1ZDWVhObFJIVnlZWFJwYjI0eU8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUVOeVpXRjBaU0JoSUdaeVlXZHRaVzUwSUdaeWIyMGdkR2hsSUdaaGJHeGlZV05ySUdOb2FXeGtjbVZ1TENCMGIyOHVYRzVjYmx4dUlDQWdJQ0FnSUNCMllYSWdYMlpoYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZERNZ1BTQmpjbVZoZEdWR2FXSmxja1p5YjIxR2NtRm5iV1Z1ZENoZmJtVjRkRVpoYkd4aVlXTnJRMmhwYkdSeVpXNHpMQ0J0YjJSbExDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU3dnYm5Wc2JDazdYRzVjYmlBZ0lDQWdJQ0FnWDJaaGJHeGlZV05yUTJocGJHUkdjbUZuYldWdWRETXVjbVYwZFhKdUlEMGdkMjl5YTBsdVVISnZaM0psYzNNN1hHNGdJQ0FnSUNBZ0lGOXdjbWx0WVhKNVEyaHBiR1JHY21GbmJXVnVkRE11YzJsaWJHbHVaeUE5SUY5bVlXeHNZbUZqYTBOb2FXeGtSbkpoWjIxbGJuUXpPMXh1SUNBZ0lDQWdJQ0JmWm1Gc2JHSmhZMnREYUdsc1pFWnlZV2R0Wlc1ME15NWxabVpsWTNSVVlXY2dmRDBnVUd4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNCZmNISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXpMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3SUM4dklGTnJhWEFnZEdobElIQnlhVzFoY25rZ1kyaHBiR1J5Wlc0c0lHRnVaQ0JqYjI1MGFXNTFaU0IzYjNKcmFXNW5JRzl1SUhSb1pWeHVJQ0FnSUNBZ0lDQXZMeUJtWVd4c1ltRmpheUJqYUdsc1pISmxiaTVjYmx4dUlDQWdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbElEMGdVMVZUVUVWT1JFVkVYMDFCVWt0RlVqdGNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCZmNISnBiV0Z5ZVVOb2FXeGtSbkpoWjIxbGJuUXpPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdYMlpoYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZERNN1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBdkx5QlRkR2xzYkNCb1lYWmxiaWQwSUhScGJXVmtJRzkxZEM0Z1EyOXVkR2x1ZFdVZ2NtVnVaR1Z5YVc1bklIUm9aU0JqYUdsc1pISmxiaXdnYkdsclpTQjNaVnh1SUNBZ0lDQWdJQ0F2THlCdWIzSnRZV3hzZVNCa2J5NWNiaUFnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWJXVnRiMmw2WldSVGRHRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSFpoY2lCZmJtVjRkRkJ5YVcxaGNubERhR2xzWkhKbGJqSWdQU0J1WlhoMFVISnZjSE11WTJocGJHUnlaVzQ3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkNBOUlISmxZMjl1WTJsc1pVTm9hV3hrUm1saVpYSnpLSGR2Y210SmJsQnliMmR5WlhOekxDQmZZM1Z5Y21WdWRGQnlhVzFoY25sRGFHbHNaQ3dnWDI1bGVIUlFjbWx0WVhKNVEyaHBiR1J5Wlc0eUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhOamFHVmtkV3hsVjI5eWEwOXVSbWxpWlhJb1ptbGlaWElzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUdsbUlDaG1hV0psY2k1bGVIQnBjbUYwYVc5dVZHbHRaU0E4SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ1ptbGlaWEl1Wlhod2FYSmhkR2x2YmxScGJXVWdQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJoYkhSbGNtNWhkR1VnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1U3WEc1Y2JpQWdhV1lnS0dGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmhiSFJsY201aGRHVXVaWGh3YVhKaGRHbHZibFJwYldVZ1BDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQWdJR0ZzZEdWeWJtRjBaUzVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQjlYRzVjYmlBZ2MyTm9aV1IxYkdWWGIzSnJUMjVRWVhKbGJuUlFZWFJvS0dacFltVnlMbkpsZEhWeWJpd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ3Y205d1lXZGhkR1ZUZFhOd1pXNXpaVU52Ym5SbGVIUkRhR0Z1WjJVb2QyOXlhMGx1VUhKdlozSmxjM01zSUdacGNuTjBRMmhwYkdRc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDOHZJRTFoY21zZ1lXNTVJRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSnBaWE1nZDJsMGFDQm1ZV3hzWW1GamEzTWdZWE1nYUdGMmFXNW5JSGR2Y21zZ2RHOGdaRzh1WEc0Z0lDOHZJRWxtSUhSb1pYa2dkMlZ5WlNCd2NtVjJhVzkxYzJ4NUlHWnZjbU5sWkNCcGJuUnZJR1poYkd4aVlXTnJjeXdnZEdobGVTQnRZWGtnYm05M0lHSmxJR0ZpYkdWY2JpQWdMeThnZEc4Z2RXNWliRzlqYXk1Y2JpQWdkbUZ5SUc1dlpHVWdQU0JtYVhKemRFTm9hV3hrTzF4dVhHNGdJSGRvYVd4bElDaHViMlJsSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnYVdZZ0tHNXZaR1V1ZEdGbklEMDlQU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQ0FnZG1GeUlITjBZWFJsSUQwZ2JtOWtaUzV0WlcxdmFYcGxaRk4wWVhSbE8xeHVYRzRnSUNBZ0lDQnBaaUFvYzNSaGRHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYzJOb1pXUjFiR1ZYYjNKclQyNUdhV0psY2lodWIyUmxMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMblJoWnlBOVBUMGdVM1Z6Y0dWdWMyVk1hWE4wUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnSUNBdkx5QkpaaUIwYUdVZ2RHRnBiQ0JwY3lCb2FXUmtaVzRnZEdobGNtVWdiV2xuYUhRZ2JtOTBJR0psSUdGdUlGTjFjM0JsYm5ObElHSnZkVzVrWVhKcFpYTmNiaUFnSUNBZ0lDOHZJSFJ2SUhOamFHVmtkV3hsSUhkdmNtc2diMjR1SUVsdUlIUm9hWE1nWTJGelpTQjNaU0JvWVhabElIUnZJSE5qYUdWa2RXeGxJR2wwSUc5dUlIUm9aVnh1SUNBZ0lDQWdMeThnYkdsemRDQnBkSE5sYkdZdVhHNGdJQ0FnSUNBdkx5QlhaU0JrYjI0bmRDQm9ZWFpsSUhSdklIUnlZWFpsY25ObElIUnZJSFJvWlNCamFHbHNaSEpsYmlCdlppQjBhR1VnYkdsemRDQnphVzVqWlZ4dUlDQWdJQ0FnTHk4Z2RHaGxJR3hwYzNRZ2QybHNiQ0J3Y205d1lXZGhkR1VnZEdobElHTm9ZVzVuWlNCM2FHVnVJR2wwSUhKbGNtVnVaR1Z5Y3k1Y2JpQWdJQ0FnSUhOamFHVmtkV3hsVjI5eWEwOXVSbWxpWlhJb2JtOWtaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JtOWtaUzVqYUdsc1pDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdibTlrWlM1amFHbHNaQzV5WlhSMWNtNGdQU0J1YjJSbE8xeHVJQ0FnSUNBZ2JtOWtaU0E5SUc1dlpHVXVZMmhwYkdRN1hHNGdJQ0FnSUNCamIyNTBhVzUxWlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2JtOWtaU0E5UFQwZ2QyOXlhMGx1VUhKdlozSmxjM01wSUh0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjNhR2xzWlNBb2JtOWtaUzV6YVdKc2FXNW5JRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzV5WlhSMWNtNGdQVDA5SUc1MWJHd2dmSHdnYm05a1pTNXlaWFIxY200Z1BUMDlJSGR2Y210SmJsQnliMmR5WlhOektTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHNXZaR1V1YzJsaWJHbHVaeTV5WlhSMWNtNGdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0J1YjJSbElEMGdibTlrWlM1emFXSnNhVzVuTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnBibVJNWVhOMFEyOXVkR1Z1ZEZKdmR5aG1hWEp6ZEVOb2FXeGtLU0I3WEc0Z0lDOHZJRlJvYVhNZ2FYTWdaMjlwYm1jZ2RHOGdabWx1WkNCMGFHVWdiR0Z6ZENCeWIzY2dZVzF2Ym1jZ2RHaGxjMlVnWTJocGJHUnlaVzRnZEdoaGRDQnBjeUJoYkhKbFlXUjVYRzRnSUM4dklITm9iM2RwYm1jZ1kyOXVkR1Z1ZENCdmJpQjBhR1VnYzJOeVpXVnVMQ0JoY3lCdmNIQnZjMlZrSUhSdklHSmxhVzVuSUdsdUlHWmhiR3hpWVdOcklITjBZWFJsSUc5eVhHNGdJQzh2SUc1bGR5NGdTV1lnWVNCeWIzY2dhR0Z6SUcxMWJIUnBjR3hsSUZOMWMzQmxibk5sSUdKdmRXNWtZWEpwWlhNc0lHRnVlU0J2WmlCMGFHVnRJR0psYVc1bklHbHVJSFJvWlZ4dUlDQXZMeUJtWVd4c1ltRmpheUJ6ZEdGMFpTd2dZMjkxYm5SeklHRnpJSFJvWlNCM2FHOXNaU0J5YjNjZ1ltVnBibWNnYVc0Z1lTQm1ZV3hzWW1GamF5QnpkR0YwWlM1Y2JpQWdMeThnVG05MFpTQjBhR0YwSUhSb1pTQmNJbkp2ZDNOY0lpQjNhV3hzSUdKbElIZHZjbXRKYmxCeWIyZHlaWE56TENCaWRYUWdZVzU1SUc1bGMzUmxaQ0JqYUdsc1pISmxibHh1SUNBdkx5QjNhV3hzSUhOMGFXeHNJR0psSUdOMWNuSmxiblFnYzJsdVkyVWdkMlVnYUdGMlpXNG5kQ0J5Wlc1a1pYSmxaQ0IwYUdWdElIbGxkQzRnVkdobElHMXZkVzUwWldSY2JpQWdMeThnYjNKa1pYSWdiV0Y1SUc1dmRDQmlaU0IwYUdVZ2MyRnRaU0JoY3lCMGFHVWdibVYzSUc5eVpHVnlMaUJYWlNCMWMyVWdkR2hsSUc1bGR5QnZjbVJsY2k1Y2JpQWdkbUZ5SUhKdmR5QTlJR1pwY25OMFEyaHBiR1E3WEc0Z0lIWmhjaUJzWVhOMFEyOXVkR1Z1ZEZKdmR5QTlJRzUxYkd3N1hHNWNiaUFnZDJocGJHVWdLSEp2ZHlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MFVtOTNJRDBnY205M0xtRnNkR1Z5Ym1GMFpUc2dMeThnVG1WM0lISnZkM01nWTJGdUozUWdZbVVnWTI5dWRHVnVkQ0J5YjNkekxseHVYRzRnSUNBZ2FXWWdLR04xY25KbGJuUlNiM2NnSVQwOUlHNTFiR3dnSmlZZ1ptbHVaRVpwY25OMFUzVnpjR1Z1WkdWa0tHTjFjbkpsYm5SU2IzY3BJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0JzWVhOMFEyOXVkR1Z1ZEZKdmR5QTlJSEp2ZHp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5YjNjZ1BTQnliM2N1YzJsaWJHbHVaenRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJzWVhOMFEyOXVkR1Z1ZEZKdmR6dGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWU1pYWmxZV3hQY21SbGNpaHlaWFpsWVd4UGNtUmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSEpsZG1WaGJFOXlaR1Z5SUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnY21WMlpXRnNUM0prWlhJZ0lUMDlJQ2RtYjNKM1lYSmtjeWNnSmlZZ2NtVjJaV0ZzVDNKa1pYSWdJVDA5SUNkaVlXTnJkMkZ5WkhNbklDWW1JSEpsZG1WaGJFOXlaR1Z5SUNFOVBTQW5kRzluWlhSb1pYSW5JQ1ltSUNGa2FXUlhZWEp1UVdKdmRYUlNaWFpsWVd4UGNtUmxjbHR5WlhabFlXeFBjbVJsY2wwcElIdGNiaUFnSUNBZ0lHUnBaRmRoY201QlltOTFkRkpsZG1WaGJFOXlaR1Z5VzNKbGRtVmhiRTl5WkdWeVhTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdjbVYyWldGc1QzSmtaWElnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9jbVYyWldGc1QzSmtaWEl1ZEc5TWIzZGxja05oYzJVb0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdKM1J2WjJWMGFHVnlKenBjYmlBZ0lDQWdJQ0FnSUNCallYTmxJQ2RtYjNKM1lYSmtjeWM2WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0FuWW1GamEzZGhjbVJ6SnpwY2JpQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0oxd2lKWE5jSWlCcGN5QnViM1FnWVNCMllXeHBaQ0IyWVd4MVpTQm1iM0lnY21WMlpXRnNUM0prWlhJZ2IyNGdQRk4xYzNCbGJuTmxUR2x6ZENBdlBpNGdKeUFySUNkVmMyVWdiRzkzWlhKallYTmxJRndpSlhOY0lpQnBibk4wWldGa0xpY3NJSEpsZG1WaGJFOXlaR1Z5TENCeVpYWmxZV3hQY21SbGNpNTBiMHh2ZDJWeVEyRnpaU2dwS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMlp2Y25kaGNtUW5PbHh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdKMkpoWTJ0M1lYSmtKenBjYmlBZ0lDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjF3aUpYTmNJaUJwY3lCdWIzUWdZU0IyWVd4cFpDQjJZV3gxWlNCbWIzSWdjbVYyWldGc1QzSmtaWElnYjI0Z1BGTjFjM0JsYm5ObFRHbHpkQ0F2UGk0Z0p5QXJJQ2RTWldGamRDQjFjMlZ6SUhSb1pTQXRjeUJ6ZFdabWFYZ2dhVzRnZEdobElITndaV3hzYVc1bkxpQlZjMlVnWENJbGMzTmNJaUJwYm5OMFpXRmtMaWNzSUhKbGRtVmhiRTl5WkdWeUxDQnlaWFpsWVd4UGNtUmxjaTUwYjB4dmQyVnlRMkZ6WlNncEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JsY25KdmNpZ25YQ0lsYzF3aUlHbHpJRzV2ZENCaElITjFjSEJ2Y25SbFpDQnlaWFpsWVd4UGNtUmxjaUJ2YmlBOFUzVnpjR1Z1YzJWTWFYTjBJQzgrTGlBbklDc2dKMFJwWkNCNWIzVWdiV1ZoYmlCY0luUnZaMlYwYUdWeVhDSXNJRndpWm05eWQyRnlaSE5jSWlCdmNpQmNJbUpoWTJ0M1lYSmtjMXdpUHljc0lISmxkbVZoYkU5eVpHVnlLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5QnBjeUJ1YjNRZ1lTQnpkWEJ3YjNKMFpXUWdkbUZzZFdVZ1ptOXlJSEpsZG1WaGJFOXlaR1Z5SUc5dUlEeFRkWE53Wlc1elpVeHBjM1FnTHo0dUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlGd2lkRzluWlhSb1pYSmNJaXdnWENKbWIzSjNZWEprYzF3aUlHOXlJRndpWW1GamEzZGhjbVJ6WENJL0p5d2djbVYyWldGc1QzSmtaWElwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlZSaGFXeFBjSFJwYjI1ektIUmhhV3hOYjJSbExDQnlaWFpsWVd4UGNtUmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLSFJoYVd4TmIyUmxJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdJV1JwWkZkaGNtNUJZbTkxZEZSaGFXeFBjSFJwYjI1elczUmhhV3hOYjJSbFhTa2dlMXh1SUNBZ0lDQWdhV1lnS0hSaGFXeE5iMlJsSUNFOVBTQW5ZMjlzYkdGd2MyVmtKeUFtSmlCMFlXbHNUVzlrWlNBaFBUMGdKMmhwWkdSbGJpY3BJSHRjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFZHRnBiRTl3ZEdsdmJuTmJkR0ZwYkUxdlpHVmRJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25YQ0lsYzF3aUlHbHpJRzV2ZENCaElITjFjSEJ2Y25SbFpDQjJZV3gxWlNCbWIzSWdkR0ZwYkNCdmJpQThVM1Z6Y0dWdWMyVk1hWE4wSUM4K0xpQW5JQ3NnSjBScFpDQjViM1VnYldWaGJpQmNJbU52Ykd4aGNITmxaRndpSUc5eUlGd2lhR2xrWkdWdVhDSS9KeXdnZEdGcGJFMXZaR1VwTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNoeVpYWmxZV3hQY21SbGNpQWhQVDBnSjJadmNuZGhjbVJ6SnlBbUppQnlaWFpsWVd4UGNtUmxjaUFoUFQwZ0oySmhZMnQzWVhKa2N5Y3BJSHRjYmlBZ0lDQWdJQ0FnWkdsa1YyRnlia0ZpYjNWMFZHRnBiRTl3ZEdsdmJuTmJkR0ZwYkUxdlpHVmRJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25QRk4xYzNCbGJuTmxUR2x6ZENCMFlXbHNQVndpSlhOY0lpQXZQaUJwY3lCdmJteDVJSFpoYkdsa0lHbG1JSEpsZG1WaGJFOXlaR1Z5SUdseklDY2dLeUFuWENKbWIzSjNZWEprYzF3aUlHOXlJRndpWW1GamEzZGhjbVJ6WENJdUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlIUnZJSE53WldOcFpua2djbVYyWldGc1QzSmtaWEk5WENKbWIzSjNZWEprYzF3aVB5Y3NJSFJoYVd4TmIyUmxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnZG1Gc2FXUmhkR1ZUZFhOd1pXNXpaVXhwYzNST1pYTjBaV1JEYUdsc1pDaGphR2xzWkZOc2IzUXNJR2x1WkdWNEtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2FYTkJjbkpoZVNBOUlFRnljbUY1TG1selFYSnlZWGtvWTJocGJHUlRiRzkwS1R0Y2JpQWdJQ0IyWVhJZ2FYTkpkR1Z5WVdKc1pTQTlJQ0ZwYzBGeWNtRjVJQ1ltSUhSNWNHVnZaaUJuWlhSSmRHVnlZWFJ2Y2tadUtHTm9hV3hrVTJ4dmRDa2dQVDA5SUNkbWRXNWpkR2x2YmljN1hHNWNiaUFnSUNCcFppQW9hWE5CY25KaGVTQjhmQ0JwYzBsMFpYSmhZbXhsS1NCN1hHNGdJQ0FnSUNCMllYSWdkSGx3WlNBOUlHbHpRWEp5WVhrZ1B5QW5ZWEp5WVhrbklEb2dKMmwwWlhKaFlteGxKenRjYmx4dUlDQWdJQ0FnWlhKeWIzSW9KMEVnYm1WemRHVmtJQ1Z6SUhkaGN5QndZWE56WldRZ2RHOGdjbTkzSUNNbGN5QnBiaUE4VTNWemNHVnVjMlZNYVhOMElDOCtMaUJYY21Gd0lHbDBJR2x1SUNjZ0t5QW5ZVzRnWVdSa2FYUnBiMjVoYkNCVGRYTndaVzV6WlV4cGMzUWdkRzhnWTI5dVptbG5kWEpsSUdsMGN5QnlaWFpsWVd4UGNtUmxjam9nSnlBcklDYzhVM1Z6Y0dWdWMyVk1hWE4wSUhKbGRtVmhiRTl5WkdWeVBTNHVMajRnTGk0dUlDY2dLeUFuUEZOMWMzQmxibk5sVEdsemRDQnlaWFpsWVd4UGNtUmxjajB1TGk0K2V5VnpmVHd2VTNWemNHVnVjMlZNYVhOMFBpQXVMaTRnSnlBcklDYzhMMU4xYzNCbGJuTmxUR2x6ZEQ0bkxDQjBlWEJsTENCcGJtUmxlQ3dnZEhsd1pTazdYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZEhKMVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RtRnNhV1JoZEdWVGRYTndaVzV6WlV4cGMzUkRhR2xzWkhKbGJpaGphR2xzWkhKbGJpd2djbVYyWldGc1QzSmtaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2dvY21WMlpXRnNUM0prWlhJZ1BUMDlJQ2RtYjNKM1lYSmtjeWNnZkh3Z2NtVjJaV0ZzVDNKa1pYSWdQVDA5SUNkaVlXTnJkMkZ5WkhNbktTQW1KaUJqYUdsc1pISmxiaUFoUFQwZ2RXNWtaV1pwYm1Wa0lDWW1JR05vYVd4a2NtVnVJQ0U5UFNCdWRXeHNJQ1ltSUdOb2FXeGtjbVZ1SUNFOVBTQm1ZV3h6WlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRUZ5Y21GNUxtbHpRWEp5WVhrb1kyaHBiR1J5Wlc0cEtTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd095QnBJRHdnWTJocGJHUnlaVzR1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lYWmhiR2xrWVhSbFUzVnpjR1Z1YzJWTWFYTjBUbVZ6ZEdWa1EyaHBiR1FvWTJocGJHUnlaVzViYVYwc0lHa3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FYUmxjbUYwYjNKR2JpQTlJR2RsZEVsMFpYSmhkRzl5Um00b1kyaHBiR1J5Wlc0cE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVhSbGNtRjBiM0pHYmlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJqYUdsc1pISmxia2wwWlhKaGRHOXlJRDBnYVhSbGNtRjBiM0pHYmk1allXeHNLR05vYVd4a2NtVnVLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hqYUdsc1pISmxia2wwWlhKaGRHOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnYzNSbGNDQTlJR05vYVd4a2NtVnVTWFJsY21GMGIzSXVibVY0ZENncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlGOXBJRDBnTUR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnWm05eUlDZzdJQ0Z6ZEdWd0xtUnZibVU3SUhOMFpYQWdQU0JqYUdsc1pISmxia2wwWlhKaGRHOXlMbTVsZUhRb0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVhaaGJHbGtZWFJsVTNWemNHVnVjMlZNYVhOMFRtVnpkR1ZrUTJocGJHUW9jM1JsY0M1MllXeDFaU3dnWDJrcEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1gya3JLenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjBFZ2MybHVaMnhsSUhKdmR5QjNZWE1nY0dGemMyVmtJSFJ2SUdFZ1BGTjFjM0JsYm5ObFRHbHpkQ0J5WlhabFlXeFBjbVJsY2oxY0lpVnpYQ0lnTHo0dUlDY2dLeUFuVkdocGN5QnBjeUJ1YjNRZ2RYTmxablZzSUhOcGJtTmxJR2wwSUc1bFpXUnpJRzExYkhScGNHeGxJSEp2ZDNNdUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlIUnZJSEJoYzNNZ2JYVnNkR2x3YkdVZ1kyaHBiR1J5Wlc0Z2IzSWdZVzRnWVhKeVlYay9KeXdnY21WMlpXRnNUM0prWlhJcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x1YVhSVGRYTndaVzV6WlV4cGMzUlNaVzVrWlhKVGRHRjBaU2gzYjNKclNXNVFjbTluY21WemN5d2dhWE5DWVdOcmQyRnlaSE1zSUhSaGFXd3NJR3hoYzNSRGIyNTBaVzUwVW05M0xDQjBZV2xzVFc5a1pTd2diR0Z6ZEVWbVptVmpkRUpsWm05eVpWSmxibVJsY21sdVp5a2dlMXh1SUNCMllYSWdjbVZ1WkdWeVUzUmhkR1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVYRzRnSUdsbUlDaHlaVzVrWlhKVGRHRjBaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCN1hHNGdJQ0FnSUNCcGMwSmhZMnQzWVhKa2N6b2dhWE5DWVdOcmQyRnlaSE1zWEc0Z0lDQWdJQ0J5Wlc1a1pYSnBibWM2SUc1MWJHd3NYRzRnSUNBZ0lDQnlaVzVrWlhKcGJtZFRkR0Z5ZEZScGJXVTZJREFzWEc0Z0lDQWdJQ0JzWVhOME9pQnNZWE4wUTI5dWRHVnVkRkp2ZHl4Y2JpQWdJQ0FnSUhSaGFXdzZJSFJoYVd3c1hHNGdJQ0FnSUNCMFlXbHNSWGh3YVhKaGRHbHZiam9nTUN4Y2JpQWdJQ0FnSUhSaGFXeE5iMlJsT2lCMFlXbHNUVzlrWlN4Y2JpQWdJQ0FnSUd4aGMzUkZabVpsWTNRNklHeGhjM1JGWm1abFkzUkNaV1p2Y21WU1pXNWtaWEpwYm1kY2JpQWdJQ0I5TzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGZGxJR05oYmlCeVpYVnpaU0IwYUdVZ1pYaHBjM1JwYm1jZ2IySnFaV04wSUdaeWIyMGdjSEpsZG1sdmRYTWdjbVZ1WkdWeWN5NWNiaUFnSUNCeVpXNWtaWEpUZEdGMFpTNXBjMEpoWTJ0M1lYSmtjeUE5SUdselFtRmphM2RoY21Sek8xeHVJQ0FnSUhKbGJtUmxjbE4wWVhSbExuSmxibVJsY21sdVp5QTlJRzUxYkd3N1hHNGdJQ0FnY21WdVpHVnlVM1JoZEdVdWNtVnVaR1Z5YVc1blUzUmhjblJVYVcxbElEMGdNRHRjYmlBZ0lDQnlaVzVrWlhKVGRHRjBaUzVzWVhOMElEMGdiR0Z6ZEVOdmJuUmxiblJTYjNjN1hHNGdJQ0FnY21WdVpHVnlVM1JoZEdVdWRHRnBiQ0E5SUhSaGFXdzdYRzRnSUNBZ2NtVnVaR1Z5VTNSaGRHVXVkR0ZwYkVWNGNHbHlZWFJwYjI0Z1BTQXdPMXh1SUNBZ0lISmxibVJsY2xOMFlYUmxMblJoYVd4TmIyUmxJRDBnZEdGcGJFMXZaR1U3WEc0Z0lDQWdjbVZ1WkdWeVUzUmhkR1V1YkdGemRFVm1abVZqZENBOUlHeGhjM1JGWm1abFkzUkNaV1p2Y21WU1pXNWtaWEpwYm1jN1hHNGdJSDFjYm4wZ0x5OGdWR2hwY3lCallXNGdaVzVrSUhWd0lISmxibVJsY21sdVp5QjBhR2x6SUdOdmJYQnZibVZ1ZENCdGRXeDBhWEJzWlNCd1lYTnpaWE11WEc0dkx5QlVhR1VnWm1seWMzUWdjR0Z6Y3lCemNHeHBkSE1nZEdobElHTm9hV3hrY21WdUlHWnBZbVZ5Y3lCcGJuUnZJSFIzYnlCelpYUnpMaUJCSUdobFlXUWdZVzVrSUhSaGFXd3VYRzR2THlCWFpTQm1hWEp6ZENCeVpXNWtaWElnZEdobElHaGxZV1F1SUVsbUlHRnVlWFJvYVc1bklHbHpJR2x1SUdaaGJHeGlZV05ySUhOMFlYUmxMQ0IzWlNCa2J5QmhibTkwYUdWeVhHNHZMeUJ3WVhOeklIUm9jbTkxWjJnZ1ltVm5hVzVYYjNKcklIUnZJSEpsY21WdVpHVnlJR0ZzYkNCamFHbHNaSEpsYmlBb2FXNWpiSFZrYVc1bklIUm9aU0IwWVdsc0tTQjNhWFJvWEc0dkx5QjBhR1VnWm05eVkyVWdjM1Z6Y0dWdVpDQmpiMjUwWlhoMExpQkpaaUIwYUdVZ1ptbHljM1FnY21WdVpHVnlJR1JwWkc0bmRDQm9ZWFpsSUdGdWVYUm9hVzVuSUdsdVhHNHZMeUJwYmlCbVlXeHNZbUZqYXlCemRHRjBaUzRnVkdobGJpQjNaU0J5Wlc1a1pYSWdaV0ZqYUNCeWIzY2dhVzRnZEdobElIUmhhV3dnYjI1bExXSjVMVzl1WlM1Y2JpOHZJRlJvWVhRZ2FHRndjR1Z1Y3lCcGJpQjBhR1VnWTI5dGNHeGxkR1ZYYjNKcklIQm9ZWE5sSUhkcGRHaHZkWFFnWjI5cGJtY2dZbUZqYXlCMGJ5QmlaV2RwYmxkdmNtc3VYRzVjYmx4dVpuVnVZM1JwYjI0Z2RYQmtZWFJsVTNWemNHVnVjMlZNYVhOMFEyOXRjRzl1Wlc1MEtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCMllYSWdibVY0ZEZCeWIzQnpJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjR1Z1WkdsdVoxQnliM0J6TzF4dUlDQjJZWElnY21WMlpXRnNUM0prWlhJZ1BTQnVaWGgwVUhKdmNITXVjbVYyWldGc1QzSmtaWEk3WEc0Z0lIWmhjaUIwWVdsc1RXOWtaU0E5SUc1bGVIUlFjbTl3Y3k1MFlXbHNPMXh1SUNCMllYSWdibVYzUTJocGJHUnlaVzRnUFNCdVpYaDBVSEp2Y0hNdVkyaHBiR1J5Wlc0N1hHNGdJSFpoYkdsa1lYUmxVbVYyWldGc1QzSmtaWElvY21WMlpXRnNUM0prWlhJcE8xeHVJQ0IyWVd4cFpHRjBaVlJoYVd4UGNIUnBiMjV6S0hSaGFXeE5iMlJsTENCeVpYWmxZV3hQY21SbGNpazdYRzRnSUhaaGJHbGtZWFJsVTNWemNHVnVjMlZNYVhOMFEyaHBiR1J5Wlc0b2JtVjNRMmhwYkdSeVpXNHNJSEpsZG1WaGJFOXlaR1Z5S1R0Y2JpQWdjbVZqYjI1amFXeGxRMmhwYkdSeVpXNG9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHNWxkME5vYVd4a2NtVnVMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJSFpoY2lCemRYTndaVzV6WlVOdmJuUmxlSFFnUFNCemRYTndaVzV6WlZOMFlXTnJRM1Z5YzI5eUxtTjFjbkpsYm5RN1hHNGdJSFpoY2lCemFHOTFiR1JHYjNKalpVWmhiR3hpWVdOcklEMGdhR0Z6VTNWemNHVnVjMlZEYjI1MFpYaDBLSE4xYzNCbGJuTmxRMjl1ZEdWNGRDd2dSbTl5WTJWVGRYTndaVzV6WlVaaGJHeGlZV05yS1R0Y2JseHVJQ0JwWmlBb2MyaHZkV3hrUm05eVkyVkdZV3hzWW1GamF5a2dlMXh1SUNBZ0lITjFjM0JsYm5ObFEyOXVkR1Y0ZENBOUlITmxkRk5vWVd4c2IzZFRkWE53Wlc1elpVTnZiblJsZUhRb2MzVnpjR1Z1YzJWRGIyNTBaWGgwTENCR2IzSmpaVk4xYzNCbGJuTmxSbUZzYkdKaFkyc3BPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQkVhV1JEWVhCMGRYSmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCa2FXUlRkWE53Wlc1a1FtVm1iM0psSUQwZ1kzVnljbVZ1ZENBaFBUMGdiblZzYkNBbUppQW9ZM1Z5Y21WdWRDNWxabVpsWTNSVVlXY2dKaUJFYVdSRFlYQjBkWEpsS1NBaFBUMGdUbTlGWm1abFkzUTdYRzVjYmlBZ0lDQnBaaUFvWkdsa1UzVnpjR1Z1WkVKbFptOXlaU2tnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdkMlVnY0hKbGRtbHZkWE5zZVNCbWIzSmpaV1FnWVNCbVlXeHNZbUZqYXl3Z2QyVWdibVZsWkNCMGJ5QnpZMmhsWkhWc1pTQjNiM0pyWEc0Z0lDQWdJQ0F2THlCdmJpQmhibmtnYm1WemRHVmtJR0p2ZFc1a1lYSnBaWE1nZEc4Z2JHVjBJSFJvWlcwZ2EyNXZkeUIwYnlCMGNua2dkRzhnY21WdVpHVnlYRzRnSUNBZ0lDQXZMeUJoWjJGcGJpNGdWR2hwY3lCcGN5QjBhR1VnYzJGdFpTQmhjeUJqYjI1MFpYaDBJSFZ3WkdGMGFXNW5MbHh1SUNBZ0lDQWdjSEp2Y0dGbllYUmxVM1Z6Y0dWdWMyVkRiMjUwWlhoMFEyaGhibWRsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkN3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjFjM0JsYm5ObFEyOXVkR1Y0ZENBOUlITmxkRVJsWm1GMWJIUlRhR0ZzYkc5M1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hOMWMzQmxibk5sUTI5dWRHVjRkQ2s3WEc0Z0lIMWNibHh1SUNCd2RYTm9VM1Z6Y0dWdWMyVkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCemRYTndaVzV6WlVOdmJuUmxlSFFwTzF4dVhHNGdJR2xtSUNnb2QyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRUpzYjJOcmFXNW5UVzlrWlNrZ1BUMDlJRTV2VFc5a1pTa2dlMXh1SUNBZ0lDOHZJRTkxZEhOcFpHVWdiMllnWW14dlkydHBibWNnYlc5a1pTd2dVM1Z6Y0dWdWMyVk1hWE4wSUdSdlpYTnVKM1FnZDI5eWF5QnpieUIzWlNCcWRYTjBYRzRnSUNBZ0x5OGdkWE5sSUcxaGEyVWdhWFFnWVNCdWIyOXdJR0o1SUhSeVpXRjBhVzVuSUdsMElHRnpJSFJvWlNCa1pXWmhkV3gwSUhKbGRtVmhiRTl5WkdWeUxseHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVkV3hzTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvY21WMlpXRnNUM0prWlhJcElIdGNiaUFnSUNBZ0lHTmhjMlVnSjJadmNuZGhjbVJ6SnpwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCc1lYTjBRMjl1ZEdWdWRGSnZkeUE5SUdacGJtUk1ZWE4wUTI5dWRHVnVkRkp2ZHloM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pDazdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlIUmhhV3c3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYkdGemRFTnZiblJsYm5SU2IzY2dQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvWlNCM2FHOXNaU0JzYVhOMElHbHpJSEJoY25RZ2IyWWdkR2hsSUhSaGFXd3VYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVUMFJQT2lCWFpTQmpiM1ZzWkNCbVlYTjBJSEJoZEdnZ1lua2dhblZ6ZENCeVpXNWtaWEpwYm1jZ2RHaGxJSFJoYVd3Z2JtOTNMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHRnBiQ0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCRWFYTmpiMjV1WldOMElIUm9aU0IwWVdsc0lISnZkM01nWVdaMFpYSWdkR2hsSUdOdmJuUmxiblFnY205M0xseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyVW5jbVVnWjI5cGJtY2dkRzhnY21WdVpHVnlJSFJvWlcwZ2MyVndZWEpoZEdWc2VTQnNZWFJsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJoYVd3Z1BTQnNZWE4wUTI5dWRHVnVkRkp2ZHk1emFXSnNhVzVuTzF4dUlDQWdJQ0FnSUNBZ0lDQWdiR0Z6ZEVOdmJuUmxiblJTYjNjdWMybGliR2x1WnlBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnYVc1cGRGTjFjM0JsYm5ObFRHbHpkRkpsYm1SbGNsTjBZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JtWVd4elpTd2dMeThnYVhOQ1lXTnJkMkZ5WkhOY2JpQWdJQ0FnSUNBZ0lDQjBZV2xzTENCc1lYTjBRMjl1ZEdWdWRGSnZkeXdnZEdGcGJFMXZaR1VzSUhkdmNtdEpibEJ5YjJkeVpYTnpMbXhoYzNSRlptWmxZM1FwTzF4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTmhjMlVnSjJKaFkydDNZWEprY3ljNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCWFpTZHlaU0JuYjJsdVp5QjBieUJtYVc1a0lIUm9aU0JtYVhKemRDQnliM2NnZEdoaGRDQm9ZWE1nWlhocGMzUnBibWNnWTI5dWRHVnVkQzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QkJkQ0IwYUdVZ2MyRnRaU0IwYVcxbElIZGxKM0psSUdkdmFXNW5JSFJ2SUhKbGRtVnljMlVnZEdobElHeHBjM1FnYjJZZ1pYWmxjbmwwYUdsdVoxeHVJQ0FnSUNBZ0lDQWdJQzh2SUhkbElIQmhjM01nYVc0Z2RHaGxJRzFsWVc1MGFXMWxMaUJVYUdGMEozTWdaMjlwYm1jZ2RHOGdZbVVnYjNWeUlIUmhhV3dnYVc0Z2NtVjJaWEp6WlZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRzl5WkdWeUxseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZmRHRnBiQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISnZkeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2JuVnNiRHRjYmx4dUlDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNoeWIzY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJqZFhKeVpXNTBVbTkzSUQwZ2NtOTNMbUZzZEdWeWJtRjBaVHNnTHk4Z1RtVjNJSEp2ZDNNZ1kyRnVKM1FnWW1VZ1kyOXVkR1Z1ZENCeWIzZHpMbHh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkRkp2ZHlBaFBUMGdiblZzYkNBbUppQm1hVzVrUm1seWMzUlRkWE53Wlc1a1pXUW9ZM1Z5Y21WdWRGSnZkeWtnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdZbVZuYVc1dWFXNW5JRzltSUhSb1pTQnRZV2x1SUdOdmJuUmxiblF1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2NtOTNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc1bGVIUlNiM2NnUFNCeWIzY3VjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKdmR5NXphV0pzYVc1bklEMGdYM1JoYVd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0JmZEdGcGJDQTlJSEp2ZHp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEp2ZHlBOUlHNWxlSFJTYjNjN1hHNGdJQ0FnSUNBZ0lDQWdmU0F2THlCVVQwUlBPaUJKWmlCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pDQnBjeUJ1ZFd4c0xDQjNaU0JqWVc0Z1kyOXVkR2x1ZFdVZ2IyNGdkR2hsSUhSaGFXd2dhVzF0WldScFlYUmxiSGt1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJR2x1YVhSVGRYTndaVzV6WlV4cGMzUlNaVzVrWlhKVGRHRjBaU2gzYjNKclNXNVFjbTluY21WemN5d2dkSEoxWlN3Z0x5OGdhWE5DWVdOcmQyRnlaSE5jYmlBZ0lDQWdJQ0FnSUNCZmRHRnBiQ3dnYm5Wc2JDd2dMeThnYkdGemRGeHVJQ0FnSUNBZ0lDQWdJSFJoYVd4TmIyUmxMQ0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBLVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCallYTmxJQ2QwYjJkbGRHaGxjaWM2WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBibWwwVTNWemNHVnVjMlZNYVhOMFVtVnVaR1Z5VTNSaGRHVW9kMjl5YTBsdVVISnZaM0psYzNNc0lHWmhiSE5sTENBdkx5QnBjMEpoWTJ0M1lYSmtjMXh1SUNBZ0lDQWdJQ0FnSUc1MWJHd3NJQzh2SUhSaGFXeGNiaUFnSUNBZ0lDQWdJQ0J1ZFd4c0xDQXZMeUJzWVhOMFhHNGdJQ0FnSUNBZ0lDQWdkVzVrWldacGJtVmtMQ0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBLVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVkdobElHUmxabUYxYkhRZ2NtVjJaV0ZzSUc5eVpHVnlJR2x6SUhSb1pTQnpZVzFsSUdGeklHNXZkQ0JvWVhacGJtZGNiaUFnSUNBZ0lDQWdJQ0F2THlCaElHSnZkVzVrWVhKNUxseHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1VnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVlFiM0owWVd4RGIyMXdiMjVsYm5Rb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhCMWMyaEliM04wUTI5dWRHRnBibVZ5S0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0IzYjNKclNXNVFjbTluY21WemN5NXpkR0YwWlU1dlpHVXVZMjl1ZEdGcGJtVnlTVzVtYnlrN1hHNGdJSFpoY2lCdVpYaDBRMmhwYkdSeVpXNGdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdhV1lnS0dOMWNuSmxiblFnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0F2THlCUWIzSjBZV3h6SUdGeVpTQnpjR1ZqYVdGc0lHSmxZMkYxYzJVZ2QyVWdaRzl1SjNRZ1lYQndaVzVrSUhSb1pTQmphR2xzWkhKbGJpQmtkWEpwYm1jZ2JXOTFiblJjYmlBZ0lDQXZMeUJpZFhRZ1lYUWdZMjl0YldsMExpQlVhR1Z5WldadmNtVWdkMlVnYm1WbFpDQjBieUIwY21GamF5QnBibk5sY25ScGIyNXpJSGRvYVdOb0lIUm9aU0J1YjNKdFlXeGNiaUFnSUNBdkx5Qm1iRzkzSUdSdlpYTnVKM1FnWkc4Z1pIVnlhVzVuSUcxdmRXNTBMaUJVYUdseklHUnZaWE51SjNRZ2FHRndjR1Z1SUdGMElIUm9aU0J5YjI5MElHSmxZMkYxYzJWY2JpQWdJQ0F2THlCMGFHVWdjbTl2ZENCaGJIZGhlWE1nYzNSaGNuUnpJSGRwZEdnZ1lTQmNJbU4xY25KbGJuUmNJaUIzYVhSb0lHRWdiblZzYkNCamFHbHNaQzVjYmlBZ0lDQXZMeUJVVDBSUE9pQkRiMjV6YVdSbGNpQjFibWxtZVdsdVp5QjBhR2x6SUhkcGRHZ2dhRzkzSUhSb1pTQnliMjkwSUhkdmNtdHpMbHh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtJRDBnY21WamIyNWphV3hsUTJocGJHUkdhV0psY25Nb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1MWJHd3NJRzVsZUhSRGFHbHNaSEpsYml3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsWTI5dVkybHNaVU5vYVd4a2NtVnVLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnVaWGgwUTJocGJHUnlaVzRzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaRHRjYm4xY2JseHVablZ1WTNScGIyNGdkWEJrWVhSbFEyOXVkR1Y0ZEZCeWIzWnBaR1Z5S0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0IyWVhJZ2NISnZkbWxrWlhKVWVYQmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlR0Y2JpQWdkbUZ5SUdOdmJuUmxlSFFnUFNCd2NtOTJhV1JsY2xSNWNHVXVYMk52Ym5SbGVIUTdYRzRnSUhaaGNpQnVaWGRRY205d2N5QTlJSGR2Y210SmJsQnliMmR5WlhOekxuQmxibVJwYm1kUWNtOXdjenRjYmlBZ2RtRnlJRzlzWkZCeWIzQnpJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlFjbTl3Y3p0Y2JpQWdkbUZ5SUc1bGQxWmhiSFZsSUQwZ2JtVjNVSEp2Y0hNdWRtRnNkV1U3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJ3Y205MmFXUmxjbEJ5YjNCVWVYQmxjeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMblI1Y0dVdWNISnZjRlI1Y0dWek8xeHVYRzRnSUNBZ2FXWWdLSEJ5YjNacFpHVnlVSEp2Y0ZSNWNHVnpLU0I3WEc0Z0lDQWdJQ0JqYUdWamExQnliM0JVZVhCbGN5aHdjbTkyYVdSbGNsQnliM0JVZVhCbGN5d2dibVYzVUhKdmNITXNJQ2R3Y205d0p5d2dKME52Ym5SbGVIUXVVSEp2ZG1sa1pYSW5MQ0JuWlhSRGRYSnlaVzUwUm1saVpYSlRkR0ZqYTBsdVJHVjJLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J3ZFhOb1VISnZkbWxrWlhJb2QyOXlhMGx1VUhKdlozSmxjM01zSUc1bGQxWmhiSFZsS1R0Y2JseHVJQ0JwWmlBb2IyeGtVSEp2Y0hNZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCMllYSWdiMnhrVm1Gc2RXVWdQU0J2YkdSUWNtOXdjeTUyWVd4MVpUdGNiaUFnSUNCMllYSWdZMmhoYm1kbFpFSnBkSE1nUFNCallXeGpkV3hoZEdWRGFHRnVaMlZrUW1sMGN5aGpiMjUwWlhoMExDQnVaWGRXWVd4MVpTd2diMnhrVm1Gc2RXVXBPMXh1WEc0Z0lDQWdhV1lnS0dOb1lXNW5aV1JDYVhSeklEMDlQU0F3S1NCN1hHNGdJQ0FnSUNBdkx5Qk9ieUJqYUdGdVoyVXVJRUpoYVd4dmRYUWdaV0Z5YkhrZ2FXWWdZMmhwYkdSeVpXNGdZWEpsSUhSb1pTQnpZVzFsTGx4dUlDQWdJQ0FnYVdZZ0tHOXNaRkJ5YjNCekxtTm9hV3hrY21WdUlEMDlQU0J1WlhkUWNtOXdjeTVqYUdsc1pISmxiaUFtSmlBaGFHRnpRMjl1ZEdWNGRFTm9ZVzVuWldRb0tTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZbUZwYkc5MWRFOXVRV3h5WldGa2VVWnBibWx6YUdWa1YyOXlheWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVYUdVZ1kyOXVkR1Y0ZENCMllXeDFaU0JqYUdGdVoyVmtMaUJUWldGeVkyZ2dabTl5SUcxaGRHTm9hVzVuSUdOdmJuTjFiV1Z5Y3lCaGJtUWdjMk5vWldSMWJHVmNiaUFnSUNBZ0lDOHZJSFJvWlcwZ2RHOGdkWEJrWVhSbExseHVJQ0FnSUNBZ2NISnZjR0ZuWVhSbFEyOXVkR1Y0ZEVOb1lXNW5aU2gzYjNKclNXNVFjbTluY21WemN5d2dZMjl1ZEdWNGRDd2dZMmhoYm1kbFpFSnBkSE1zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnYm1WM1EyaHBiR1J5Wlc0Z1BTQnVaWGRRY205d2N5NWphR2xzWkhKbGJqdGNiaUFnY21WamIyNWphV3hsUTJocGJHUnlaVzRvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzVsZDBOb2FXeGtjbVZ1TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUhKbGRIVnliaUIzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkR0Y2JuMWNibHh1ZG1GeUlHaGhjMWRoY201bFpFRmliM1YwVlhOcGJtZERiMjUwWlhoMFFYTkRiMjV6ZFcxbGNpQTlJR1poYkhObE8xeHVYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkRiMjUwWlhoMFEyOXVjM1Z0WlhJb1kzVnljbVZ1ZEN3Z2QyOXlhMGx1VUhKdlozSmxjM01zSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQmpiMjUwWlhoMElEMGdkMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaVHNnTHk4Z1ZHaGxJR3h2WjJsaklHSmxiRzkzSUdadmNpQkRiMjUwWlhoMElHUnBabVpsY25NZ1pHVndaVzVrYVc1bklHOXVJRkJTVDBRZ2IzSWdSRVZXSUcxdlpHVXVJRWx1WEc0Z0lDOHZJRVJGVmlCdGIyUmxMQ0IzWlNCamNtVmhkR1VnWVNCelpYQmhjbUYwWlNCdlltcGxZM1FnWm05eUlFTnZiblJsZUhRdVEyOXVjM1Z0WlhJZ2RHaGhkQ0JoWTNSelhHNGdJQzh2SUd4cGEyVWdZU0J3Y205NGVTQjBieUJEYjI1MFpYaDBMaUJVYUdseklIQnliM2g1SUc5aWFtVmpkQ0JoWkdSeklIVnVibVZqWlhOellYSjVJR052WkdVZ2FXNGdVRkpQUkZ4dUlDQXZMeUJ6YnlCM1pTQjFjMlVnZEdobElHOXNaQ0JpWldoaGRtbHZkWElnS0VOdmJuUmxlSFF1UTI5dWMzVnRaWElnY21WbVpYSmxibU5sY3lCRGIyNTBaWGgwS1NCMGIxeHVJQ0F2THlCeVpXUjFZMlVnYzJsNlpTQmhibVFnYjNabGNtaGxZV1F1SUZSb1pTQnpaWEJoY21GMFpTQnZZbXBsWTNRZ2NtVm1aWEpsYm1ObGN5QmpiMjUwWlhoMElIWnBZVnh1SUNBdkx5QmhJSEJ5YjNCbGNuUjVJR05oYkd4bFpDQmNJbDlqYjI1MFpYaDBYQ0lzSUhkb2FXTm9JR0ZzYzI4Z1oybDJaWE1nZFhNZ2RHaGxJR0ZpYVd4cGRIa2dkRzhnWTJobFkydGNiaUFnTHk4Z2FXNGdSRVZXSUcxdlpHVWdhV1lnZEdocGN5QndjbTl3WlhKMGVTQmxlR2x6ZEhNZ2IzSWdibTkwSUdGdVpDQjNZWEp1SUdsbUlHbDBJR1J2WlhNZ2JtOTBMbHh1WEc0Z0lIdGNiaUFnSUNCcFppQW9ZMjl1ZEdWNGRDNWZZMjl1ZEdWNGRDQTlQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnSUNBdkx5QlVhR2x6SUcxaGVTQmlaU0JpWldOaGRYTmxJR2wwSjNNZ1lTQkRiMjUwWlhoMElDaHlZWFJvWlhJZ2RHaGhiaUJoSUVOdmJuTjFiV1Z5S1M1Y2JpQWdJQ0FnSUM4dklFOXlJR2wwSUcxaGVTQmlaU0JpWldOaGRYTmxJR2wwSjNNZ2IyeGtaWElnVW1WaFkzUWdkMmhsY21VZ2RHaGxlU2R5WlNCMGFHVWdjMkZ0WlNCMGFHbHVaeTVjYmlBZ0lDQWdJQzh2SUZkbElHOXViSGtnZDJGdWRDQjBieUIzWVhKdUlHbG1JSGRsSjNKbElITjFjbVVnYVhRbmN5QmhJRzVsZHlCU1pXRmpkQzVjYmlBZ0lDQWdJR2xtSUNoamIyNTBaWGgwSUNFOVBTQmpiMjUwWlhoMExrTnZibk4xYldWeUtTQjdYRzRnSUNBZ0lDQWdJR2xtSUNnaGFHRnpWMkZ5Ym1Wa1FXSnZkWFJWYzJsdVowTnZiblJsZUhSQmMwTnZibk4xYldWeUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYUdGelYyRnlibVZrUVdKdmRYUlZjMmx1WjBOdmJuUmxlSFJCYzBOdmJuTjFiV1Z5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkU1pXNWtaWEpwYm1jZ1BFTnZiblJsZUhRK0lHUnBjbVZqZEd4NUlHbHpJRzV2ZENCemRYQndiM0owWldRZ1lXNWtJSGRwYkd3Z1ltVWdjbVZ0YjNabFpDQnBiaUFuSUNzZ0oyRWdablYwZFhKbElHMWhhbTl5SUhKbGJHVmhjMlV1SUVScFpDQjViM1VnYldWaGJpQjBieUJ5Wlc1a1pYSWdQRU52Ym5SbGVIUXVRMjl1YzNWdFpYSStJR2x1YzNSbFlXUS9KeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZMjl1ZEdWNGRDQTlJR052Ym5SbGVIUXVYMk52Ym5SbGVIUTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdkbUZ5SUc1bGQxQnliM0J6SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011Y0dWdVpHbHVaMUJ5YjNCek8xeHVJQ0IyWVhJZ2NtVnVaR1Z5SUQwZ2JtVjNVSEp2Y0hNdVkyaHBiR1J5Wlc0N1hHNWNiaUFnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnY21WdVpHVnlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblFTQmpiMjUwWlhoMElHTnZibk4xYldWeUlIZGhjeUJ5Wlc1a1pYSmxaQ0IzYVhSb0lHMTFiSFJwY0d4bElHTm9hV3hrY21WdUxDQnZjaUJoSUdOb2FXeGtJQ2NnS3lCY0luUm9ZWFFnYVhOdUozUWdZU0JtZFc1amRHbHZiaTRnUVNCamIyNTBaWGgwSUdOdmJuTjFiV1Z5SUdWNGNHVmpkSE1nWVNCemFXNW5iR1VnWTJocGJHUWdYQ0lnS3lBbmRHaGhkQ0JwY3lCaElHWjFibU4wYVc5dUxpQkpaaUI1YjNVZ1pHbGtJSEJoYzNNZ1lTQm1kVzVqZEdsdmJpd2diV0ZyWlNCemRYSmxJSFJvWlhKbElDY2dLeUFuYVhNZ2JtOGdkSEpoYVd4cGJtY2diM0lnYkdWaFpHbHVaeUIzYUdsMFpYTndZV05sSUdGeWIzVnVaQ0JwZEM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbVZ3WVhKbFZHOVNaV0ZrUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQjJZWElnYm1WM1ZtRnNkV1VnUFNCeVpXRmtRMjl1ZEdWNGRDaGpiMjUwWlhoMExDQnVaWGRRY205d2N5NTFibk4wWVdKc1pWOXZZbk5sY25abFpFSnBkSE1wTzF4dUlDQjJZWElnYm1WM1EyaHBiR1J5Wlc0N1hHNWNiaUFnZTF4dUlDQWdJRkpsWVdOMFEzVnljbVZ1ZEU5M2JtVnlKREV1WTNWeWNtVnVkQ0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpPMXh1SUNBZ0lITmxkRWx6VW1WdVpHVnlhVzVuS0hSeWRXVXBPMXh1SUNBZ0lHNWxkME5vYVd4a2NtVnVJRDBnY21WdVpHVnlLRzVsZDFaaGJIVmxLVHRjYmlBZ0lDQnpaWFJKYzFKbGJtUmxjbWx1WnlobVlXeHpaU2s3WEc0Z0lIMGdMeThnVW1WaFkzUWdSR1YyVkc5dmJITWdjbVZoWkhNZ2RHaHBjeUJtYkdGbkxseHVYRzVjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGQmxjbVp2Y20xbFpGZHZjbXM3WEc0Z0lISmxZMjl1WTJsc1pVTm9hV3hrY21WdUtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCdVpYZERhR2xzWkhKbGJpd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHMWhjbXRYYjNKclNXNVFjbTluY21WemMxSmxZMlZwZG1Wa1ZYQmtZWFJsS0NrZ2UxeHVJQ0JrYVdSU1pXTmxhWFpsVlhCa1lYUmxJRDBnZEhKMVpUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRnBiRzkxZEU5dVFXeHlaV0ZrZVVacGJtbHphR1ZrVjI5eWF5aGpkWEp5Wlc1MExDQjNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ1kyRnVZMlZzVjI5eWExUnBiV1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmx4dUlDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQzh2SUZKbGRYTmxJSEJ5WlhacGIzVnpJR1JsY0dWdVpHVnVZMmxsYzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtUmxjR1Z1WkdWdVkybGxjeUE5SUdOMWNuSmxiblF1WkdWd1pXNWtaVzVqYVdWek8xeHVJQ0I5WEc1Y2JpQWdlMXh1SUNBZ0lDOHZJRVJ2YmlkMElIVndaR0YwWlNCY0ltSmhjMlZjSWlCeVpXNWtaWElnZEdsdFpYTWdabTl5SUdKaGFXeHZkWFJ6TGx4dUlDQWdJSE4wYjNCUWNtOW1hV3hsY2xScGJXVnlTV1pTZFc1dWFXNW5LQ2s3WEc0Z0lIMWNibHh1SUNCMllYSWdkWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVsZUhCcGNtRjBhVzl1VkdsdFpUdGNibHh1SUNCcFppQW9kWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnSVQwOUlFNXZWMjl5YXlrZ2UxeHVJQ0FnSUcxaGNtdFZibkJ5YjJObGMzTmxaRlZ3WkdGMFpWUnBiV1VvZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0I5SUM4dklFTm9aV05ySUdsbUlIUm9aU0JqYUdsc1pISmxiaUJvWVhabElHRnVlU0J3Wlc1a2FXNW5JSGR2Y21zdVhHNWNibHh1SUNCMllYSWdZMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1U3WEc1Y2JpQWdhV1lnS0dOb2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQWdJQzh2SUZSb1pTQmphR2xzWkhKbGJpQmtiMjRuZENCb1lYWmxJR0Z1ZVNCM2IzSnJJR1ZwZEdobGNpNGdWMlVnWTJGdUlITnJhWEFnZEdobGJTNWNiaUFnSUNBdkx5QlVUMFJQT2lCUGJtTmxJSGRsSUdGa1pDQmlZV05ySUhKbGMzVnRhVzVuTENCM1pTQnphRzkxYkdRZ1kyaGxZMnNnYVdZZ2RHaGxJR05vYVd4a2NtVnVJR0Z5WlZ4dUlDQWdJQzh2SUdFZ2QyOXlheTFwYmkxd2NtOW5jbVZ6Y3lCelpYUXVJRWxtSUhOdkxDQjNaU0J1WldWa0lIUnZJSFJ5WVc1elptVnlJSFJvWldseUlHVm1abVZqZEhNdVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdWR2hwY3lCbWFXSmxjaUJrYjJWemJpZDBJR2hoZG1VZ2QyOXlheXdnWW5WMElHbDBjeUJ6ZFdKMGNtVmxJR1J2WlhNdUlFTnNiMjVsSUhSb1pTQmphR2xzWkZ4dUlDQWdJQzh2SUdacFltVnljeUJoYm1RZ1kyOXVkR2x1ZFdVdVhHNGdJQ0FnWTJ4dmJtVkRhR2xzWkVacFltVnljeWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ2NtVjBkWEp1SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a08xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYlc5MWJuUkdhV0psY2loamRYSnlaVzUwTENCdmJHUlhiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2JtVjNWMjl5YTBsdVVISnZaM0psYzNNcElIdGNiaUFnZTF4dUlDQWdJSFpoY2lCeVpYUjFjbTVHYVdKbGNpQTlJRzlzWkZkdmNtdEpibEJ5YjJkeVpYTnpMbkpsZEhWeWJqdGNibHh1SUNBZ0lHbG1JQ2h5WlhSMWNtNUdhV0psY2lBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkRFlXNXViM1FnYzNkaGNDQjBhR1VnY205dmRDQm1hV0psY2k0bktUdGNiaUFnSUNCOUlDOHZJRVJwYzJOdmJtNWxZM1FnWm5KdmJTQjBhR1VnYjJ4a0lHTjFjbkpsYm5RdVhHNGdJQ0FnTHk4Z1NYUWdkMmxzYkNCblpYUWdaR1ZzWlhSbFpDNWNibHh1WEc0Z0lDQWdZM1Z5Y21WdWRDNWhiSFJsY201aGRHVWdQU0J1ZFd4c08xeHVJQ0FnSUc5c1pGZHZjbXRKYmxCeWIyZHlaWE56TG1Gc2RHVnlibUYwWlNBOUlHNTFiR3c3SUM4dklFTnZibTVsWTNRZ2RHOGdkR2hsSUc1bGR5QjBjbVZsTGx4dVhHNGdJQ0FnYm1WM1YyOXlhMGx1VUhKdlozSmxjM011YVc1a1pYZ2dQU0J2YkdSWGIzSnJTVzVRY205bmNtVnpjeTVwYm1SbGVEdGNiaUFnSUNCdVpYZFhiM0pyU1c1UWNtOW5jbVZ6Y3k1emFXSnNhVzVuSUQwZ2IyeGtWMjl5YTBsdVVISnZaM0psYzNNdWMybGliR2x1Wnp0Y2JpQWdJQ0J1WlhkWGIzSnJTVzVRY205bmNtVnpjeTV5WlhSMWNtNGdQU0J2YkdSWGIzSnJTVzVRY205bmNtVnpjeTV5WlhSMWNtNDdYRzRnSUNBZ2JtVjNWMjl5YTBsdVVISnZaM0psYzNNdWNtVm1JRDBnYjJ4a1YyOXlhMGx1VUhKdlozSmxjM011Y21WbU95QXZMeUJTWlhCc1lXTmxJSFJvWlNCamFHbHNaQzl6YVdKc2FXNW5JSEJ2YVc1MFpYSnpJR0ZpYjNabElHbDBMbHh1WEc0Z0lDQWdhV1lnS0c5c1pGZHZjbXRKYmxCeWIyZHlaWE56SUQwOVBTQnlaWFIxY201R2FXSmxjaTVqYUdsc1pDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdVJtbGlaWEl1WTJocGJHUWdQU0J1WlhkWGIzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5WlhaVGFXSnNhVzVuSUQwZ2NtVjBkWEp1Um1saVpYSXVZMmhwYkdRN1hHNWNiaUFnSUNBZ0lHbG1JQ2h3Y21WMlUybGliR2x1WnlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owVjRjR1ZqZEdWa0lIQmhjbVZ1ZENCMGJ5Qm9ZWFpsSUdFZ1kyaHBiR1F1SnlrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIZG9hV3hsSUNod2NtVjJVMmxpYkdsdVp5NXphV0pzYVc1bklDRTlQU0J2YkdSWGIzSnJTVzVRY205bmNtVnpjeWtnZTF4dUlDQWdJQ0FnSUNCd2NtVjJVMmxpYkdsdVp5QTlJSEJ5WlhaVGFXSnNhVzVuTG5OcFlteHBibWM3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSEJ5WlhaVGFXSnNhVzVuSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZEZlSEJsWTNSbFpDQjBieUJtYVc1a0lIUm9aU0J3Y21WMmFXOTFjeUJ6YVdKc2FXNW5MaWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIQnlaWFpUYVdKc2FXNW5Mbk5wWW14cGJtY2dQU0J1WlhkWGIzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQjlJQzh2SUVSbGJHVjBaU0IwYUdVZ2IyeGtJR1pwWW1WeUlHRnVaQ0J3YkdGalpTQjBhR1VnYm1WM0lHOXVaUzVjYmlBZ0lDQXZMeUJUYVc1alpTQjBhR1VnYjJ4a0lHWnBZbVZ5SUdseklHUnBjMk52Ym01bFkzUmxaQ3dnZDJVZ2FHRjJaU0IwYnlCelkyaGxaSFZzWlNCcGRDQnRZVzUxWVd4c2VTNWNibHh1WEc0Z0lDQWdkbUZ5SUd4aGMzUWdQU0J5WlhSMWNtNUdhV0psY2k1c1lYTjBSV1ptWldOME8xeHVYRzRnSUNBZ2FXWWdLR3hoYzNRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHeGhjM1F1Ym1WNGRFVm1abVZqZENBOUlHTjFjbkpsYm5RN1hHNGdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBJRDBnWTNWeWNtVnVkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1Um1saVpYSXVabWx5YzNSRlptWmxZM1FnUFNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBJRDBnWTNWeWNtVnVkRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpkWEp5Wlc1MExtNWxlSFJGWm1abFkzUWdQU0J1ZFd4c08xeHVJQ0FnSUdOMWNuSmxiblF1WldabVpXTjBWR0ZuSUQwZ1JHVnNaWFJwYjI0N1hHNGdJQ0FnYm1WM1YyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGQnNZV05sYldWdWREc2dMeThnVW1WemRHRnlkQ0IzYjNKcklHWnliMjBnZEdobElHNWxkeUJtYVdKbGNpNWNibHh1SUNBZ0lISmxkSFZ5YmlCdVpYZFhiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmlaV2RwYmxkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIWmhjaUIxY0dSaGRHVkZlSEJwY21GMGFXOXVWR2x0WlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG1WNGNHbHlZWFJwYjI1VWFXMWxPMXh1WEc0Z0lIdGNiaUFnSUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNdVgyUmxZblZuVG1WbFpITlNaVzF2ZFc1MElDWW1JR04xY25KbGJuUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUZSb2FYTWdkMmxzYkNCeVpYTjBZWEowSUhSb1pTQmlaV2RwYmlCd2FHRnpaU0IzYVhSb0lHRWdibVYzSUdacFltVnlMbHh1SUNBZ0lDQWdjbVYwZFhKdUlISmxiVzkxYm5SR2FXSmxjaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dZM0psWVhSbFJtbGlaWEpHY205dFZIbHdaVUZ1WkZCeWIzQnpLSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1VzSUhkdmNtdEpibEJ5YjJkeVpYTnpMbXRsZVN3Z2QyOXlhMGx1VUhKdlozSmxjM011Y0dWdVpHbHVaMUJ5YjNCekxDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1ZlpHVmlkV2RQZDI1bGNpQjhmQ0J1ZFd4c0xDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dGIyUmxMQ0IzYjNKclNXNVFjbTluY21WemN5NWxlSEJwY21GMGFXOXVWR2x0WlNrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2hqZFhKeVpXNTBJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdkbUZ5SUc5c1pGQnliM0J6SUQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpPMXh1SUNBZ0lIWmhjaUJ1WlhkUWNtOXdjeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkJsYm1ScGJtZFFjbTl3Y3p0Y2JseHVJQ0FnSUdsbUlDaHZiR1JRY205d2N5QWhQVDBnYm1WM1VISnZjSE1nZkh3Z2FHRnpRMjl1ZEdWNGRFTm9ZVzVuWldRb0tTQjhmQ0FvSUM4dklFWnZjbU5sSUdFZ2NtVXRjbVZ1WkdWeUlHbG1JSFJvWlNCcGJYQnNaVzFsYm5SaGRHbHZiaUJqYUdGdVoyVmtJR1IxWlNCMGJ5Qm9iM1FnY21Wc2IyRmtPbHh1SUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MGVYQmxJQ0U5UFNCamRYSnlaVzUwTG5SNWNHVWdLU2tnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdjSEp2Y0hNZ2IzSWdZMjl1ZEdWNGRDQmphR0Z1WjJWa0xDQnRZWEpySUhSb1pTQm1hV0psY2lCaGN5Qm9ZWFpwYm1jZ2NHVnlabTl5YldWa0lIZHZjbXN1WEc0Z0lDQWdJQ0F2THlCVWFHbHpJRzFoZVNCaVpTQjFibk5sZENCcFppQjBhR1VnY0hKdmNITWdZWEpsSUdSbGRHVnliV2x1WldRZ2RHOGdZbVVnWlhGMVlXd2diR0YwWlhJZ0tHMWxiVzhwTGx4dUlDQWdJQ0FnWkdsa1VtVmpaV2wyWlZWd1pHRjBaU0E5SUhSeWRXVTdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaDFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU0E4SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQmthV1JTWldObGFYWmxWWEJrWVhSbElEMGdabUZzYzJVN0lDOHZJRlJvYVhNZ1ptbGlaWElnWkc5bGN5QnViM1FnYUdGMlpTQmhibmtnY0dWdVpHbHVaeUIzYjNKckxpQkNZV2xzYjNWMElIZHBkR2h2ZFhRZ1pXNTBaWEpwYm1kY2JpQWdJQ0FnSUM4dklIUm9aU0JpWldkcGJpQndhR0Z6WlM0Z1ZHaGxjbVVuY3lCemRHbHNiQ0J6YjIxbElHSnZiMnRyWldWd2FXNW5JSGRsSUhSb1lYUWdibVZsWkhNZ2RHOGdZbVVnWkc5dVpWeHVJQ0FnSUNBZ0x5OGdhVzRnZEdocGN5QnZjSFJwYldsNlpXUWdjR0YwYUN3Z2JXOXpkR3g1SUhCMWMyaHBibWNnYzNSMVptWWdiMjUwYnlCMGFHVWdjM1JoWTJzdVhHNWNiaUFnSUNBZ0lITjNhWFJqYUNBb2QyOXlhMGx1VUhKdlozSmxjM011ZEdGbktTQjdYRzRnSUNBZ0lDQWdJR05oYzJVZ1NHOXpkRkp2YjNRNlhHNGdJQ0FnSUNBZ0lDQWdjSFZ6YUVodmMzUlNiMjkwUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ0lDQWdJQ0FnY21WelpYUkllV1J5WVhScGIyNVRkR0YwWlNncE8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJR05oYzJVZ1NHOXpkRU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJQ0FnSUNCd2RYTm9TRzl6ZEVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCRGIyNWpkWEp5Wlc1MFRXOWtaU0FtSmlCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTQWhQVDBnVG1WMlpYSWdKaVlnYzJodmRXeGtSR1Z3Y21sdmNtbDBhWHBsVTNWaWRISmxaU2gzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTENCdVpYZFFjbTl3Y3lrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYldGeWExTndZWGR1WldSWGIzSnJLRTVsZG1WeUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ0x5OGdVMk5vWldSMWJHVWdkR2hwY3lCbWFXSmxjaUIwYnlCeVpTMXlaVzVrWlhJZ1lYUWdiMlptYzJOeVpXVnVJSEJ5YVc5eWFYUjVMaUJVYUdWdUlHSmhhV3h2ZFhRdVhHNWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011Wlhod2FYSmhkR2x2YmxScGJXVWdQU0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG1WMlpYSTdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCRGIyMXdiMjVsYm5RZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MGVYQmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhORGIyNTBaWGgwVUhKdmRtbGtaWElvUTI5dGNHOXVaVzUwS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2RYTm9RMjl1ZEdWNGRGQnliM1pwWkdWeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdTRzl6ZEZCdmNuUmhiRHBjYmlBZ0lDQWdJQ0FnSUNCd2RYTm9TRzl6ZEVOdmJuUmhhVzVsY2loM2IzSnJTVzVRY205bmNtVnpjeXdnZDI5eWEwbHVVSEp2WjNKbGMzTXVjM1JoZEdWT2IyUmxMbU52Ym5SaGFXNWxja2x1Wm04cE8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJR05oYzJVZ1EyOXVkR1Y0ZEZCeWIzWnBaR1Z5T2x4dUlDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnVaWGRXWVd4MVpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE11ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCd2RYTm9VSEp2ZG1sa1pYSW9kMjl5YTBsdVVISnZaM0psYzNNc0lHNWxkMVpoYkhWbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmpZWE5sSUZCeWIyWnBiR1Z5T2x4dUlDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGQnliMlpwYkdWeUlITm9iM1ZzWkNCdmJteDVJR05oYkd3Z2IyNVNaVzVrWlhJZ2QyaGxiaUJ2Ym1VZ2IyWWdhWFJ6SUdSbGMyTmxibVJoYm5SeklHRmpkSFZoYkd4NUlISmxibVJsY21Wa0xseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHaGhjME5vYVd4a1YyOXlheUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUGowZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVhORGFHbHNaRmR2Y21zcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGVndaR0YwWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdJQ0JqWVhObElGTjFjM0JsYm5ObFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6ZEdGMFpTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoemRHRjBaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCM2FHVjBhR1Z5SUhSdklISmxkSEo1SUhSb1pTQndjbWx0WVhKNUlHTm9hV3hrY21WdUxDQnZjaUIwYnlCemEybHdJRzkyWlhJZ2FYUWdZVzVrWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdkdklITjBjbUZwWjJoMElIUnZJSFJvWlNCbVlXeHNZbUZqYXk0Z1EyaGxZMnNnZEdobElIQnlhVzl5YVhSNUlHOW1JSFJvWlNCd2NtbHRZWEo1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdOb2FXeGtJR1p5WVdkdFpXNTBMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIQnlhVzFoY25sRGFHbHNaRVp5WVdkdFpXNTBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQndjbWx0WVhKNVEyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpTQTlJSEJ5YVcxaGNubERhR2xzWkVaeVlXZHRaVzUwTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEJ5YVcxaGNubERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJQ0U5UFNCT2IxZHZjbXNnSmlZZ2NISnBiV0Z5ZVVOb2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BqMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR1VnY0hKcGJXRnllU0JqYUdsc1pISmxiaUJvWVhabElIQmxibVJwYm1jZ2QyOXlheTRnVlhObElIUm9aU0J1YjNKdFlXd2djR0YwYUZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklIUnZJR0YwZEdWdGNIUWdkRzhnY21WdVpHVnlJSFJvWlNCd2NtbHRZWEo1SUdOb2FXeGtjbVZ1SUdGbllXbHVMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhCMWMyaFRkWE53Wlc1elpVTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01zSUhObGRFUmxabUYxYkhSVGFHRnNiRzkzVTNWemNHVnVjMlZEYjI1MFpYaDBLSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkQ2twT3lBdkx5QlVhR1VnY0hKcGJXRnllU0JqYUdsc1pISmxiaUJrYnlCdWIzUWdhR0YyWlNCd1pXNWthVzVuSUhkdmNtc2dkMmwwYUNCemRXWm1hV05wWlc1MFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjSEpwYjNKcGRIa3VJRUpoYVd4dmRYUXVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1kyaHBiR1FnUFNCaVlXbHNiM1YwVDI1QmJISmxZV1I1Um1sdWFYTm9aV1JYYjNKcktHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1kyaHBiR1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvWlNCbVlXeHNZbUZqYXlCamFHbHNaSEpsYmlCb1lYWmxJSEJsYm1ScGJtY2dkMjl5YXk0Z1UydHBjQ0J2ZG1WeUlIUm9aVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NISnBiV0Z5ZVNCamFHbHNaSEpsYmlCaGJtUWdkMjl5YXlCdmJpQjBhR1VnWm1Gc2JHSmhZMnN1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnWTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2RYTm9VM1Z6Y0dWdWMyVkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56TENCelpYUkVaV1poZFd4MFUyaGhiR3h2ZDFOMWMzQmxibk5sUTI5dWRHVjRkQ2h6ZFhOd1pXNXpaVk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFwS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVM1Z6Y0dWdWMyVk1hWE4wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmthV1JUZFhOd1pXNWtRbVZtYjNKbElEMGdLR04xY25KbGJuUXVaV1ptWldOMFZHRm5JQ1lnUkdsa1EyRndkSFZ5WlNrZ0lUMDlJRTV2UldabVpXTjBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnWDJoaGMwTm9hV3hrVjI5eWF5QTlJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQajBnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGthV1JUZFhOd1pXNWtRbVZtYjNKbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmYUdGelEyaHBiR1JYYjNKcktTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2MyOXRaWFJvYVc1bklIZGhjeUJwYmlCbVlXeHNZbUZqYXlCemRHRjBaU0JzWVhOMElIUnBiV1VzSUdGdVpDQjNaU0JvWVhabElHRnNiQ0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnpZVzFsSUdOb2FXeGtjbVZ1SUhSb1pXNGdkMlVuY21VZ2MzUnBiR3dnYVc0Z2NISnZaM0psYzNOcGRtVWdiRzloWkdsdVp5QnpkR0YwWlM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRiMjFsZEdocGJtY2diV2xuYUhRZ1oyVjBJSFZ1WW14dlkydGxaQ0JpZVNCemRHRjBaU0IxY0dSaGRHVnpJRzl5SUhKbGRISnBaWE1nYVc0Z2RHaGxYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEhKbFpTQjNhR2xqYUNCM2FXeHNJR0ZtWm1WamRDQjBhR1VnZEdGcGJDNGdVMjhnZDJVZ2JtVmxaQ0IwYnlCMWMyVWdkR2hsSUc1dmNtMWhiRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhCaGRHZ2dkRzhnWTI5dGNIVjBaU0IwYUdVZ1kyOXljbVZqZENCMFlXbHNMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWVGRYTndaVzV6WlV4cGMzUkRiMjF3YjI1bGJuUW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0F2THlCSlppQnViMjVsSUc5bUlIUm9aU0JqYUdsc1pISmxiaUJvWVdRZ1lXNTVJSGR2Y21zc0lIUm9ZWFFnYldWaGJuTWdkR2hoZENCdWIyNWxJRzltWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSb1pXMGdaMjkwSUhKbGRISnBaV1FnYzI4Z2RHaGxlU2RzYkNCemRHbHNiQ0JpWlNCaWJHOWphMlZrSUdsdUlIUm9aU0J6WVcxbElIZGhlVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJoY3lCaVpXWnZjbVV1SUZkbElHTmhiaUJtWVhOMElHSmhhV3dnYjNWMExseHVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRVJwWkVOaGNIUjFjbVU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJQzh2SUVsbUlHNXZkR2hwYm1jZ2MzVnpjR1Z1WkdWa0lHSmxabTl5WlNCaGJtUWdkMlVuY21VZ2NtVnVaR1Z5YVc1bklIUm9aU0J6WVcxbElHTm9hV3hrY21WdUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUIwYUdVZ2RHRnBiQ0JrYjJWemJpZDBJRzFoZEhSbGNpNGdRVzU1ZEdocGJtY2dibVYzSUhSb1lYUWdjM1Z6Y0dWdVpITWdkMmxzYkNCM2IzSnJYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBiaUIwYUdVZ1hDSjBiMmRsZEdobGNsd2lJRzF2WkdVc0lITnZJSGRsSUdOaGJpQmpiMjUwYVc1MVpTQm1jbTl0SUhSb1pTQnpkR0YwWlNCM1pTQm9ZV1F1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlISmxibVJsY2xOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tISmxibVJsY2xOMFlYUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZKbGMyVjBJSFJ2SUhSb1pTQmNJblJ2WjJWMGFHVnlYQ0lnYlc5a1pTQnBiaUJqWVhObElIZGxKM1psSUhOMFlYSjBaV1FnWVNCa2FXWm1aWEpsYm5SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RYQmtZWFJsSUdsdUlIUm9aU0J3WVhOMElHSjFkQ0JrYVdSdUozUWdZMjl0Y0d4bGRHVWdhWFF1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYm1SbGNsTjBZWFJsTG5KbGJtUmxjbWx1WnlBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYm1SbGNsTjBZWFJsTG5SaGFXd2dQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J3ZFhOb1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J6ZFhOd1pXNXpaVk4wWVdOclEzVnljMjl5TG1OMWNuSmxiblFwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1gyaGhjME5vYVd4a1YyOXlheWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsbUlHNXZibVVnYjJZZ2RHaGxJR05vYVd4a2NtVnVJR2hoWkNCaGJua2dkMjl5YXl3Z2RHaGhkQ0J0WldGdWN5QjBhR0YwSUc1dmJtVWdiMlpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdobGJTQm5iM1FnY21WMGNtbGxaQ0J6YnlCMGFHVjVKMnhzSUhOMGFXeHNJR0psSUdKc2IyTnJaV1FnYVc0Z2RHaGxJSE5oYldVZ2QyRjVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJR0Z6SUdKbFptOXlaUzRnVjJVZ1kyRnVJR1poYzNRZ1ltRnBiQ0J2ZFhRdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlHSmhhV3h2ZFhSUGJrRnNjbVZoWkhsR2FXNXBjMmhsWkZkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0x5OGdRVzRnZFhCa1lYUmxJSGRoY3lCelkyaGxaSFZzWldRZ2IyNGdkR2hwY3lCbWFXSmxjaXdnWW5WMElIUm9aWEpsSUdGeVpTQnVieUJ1WlhjZ2NISnZjSE5jYmlBZ0lDQWdJQzh2SUc1dmNpQnNaV2RoWTNrZ1kyOXVkR1Y0ZEM0Z1UyVjBJSFJvYVhNZ2RHOGdabUZzYzJVdUlFbG1JR0Z1SUhWd1pHRjBaU0J4ZFdWMVpTQnZjaUJqYjI1MFpYaDBYRzRnSUNBZ0lDQXZMeUJqYjI1emRXMWxjaUJ3Y205a2RXTmxjeUJoSUdOb1lXNW5aV1FnZG1Gc2RXVXNJR2wwSUhkcGJHd2djMlYwSUhSb2FYTWdkRzhnZEhKMVpTNGdUM1JvWlhKM2FYTmxMRnh1SUNBZ0lDQWdMeThnZEdobElHTnZiWEJ2Ym1WdWRDQjNhV3hzSUdGemMzVnRaU0IwYUdVZ1kyaHBiR1J5Wlc0Z2FHRjJaU0J1YjNRZ1kyaGhibWRsWkNCaGJtUWdZbUZwYkNCdmRYUXVYRzRnSUNBZ0lDQmthV1JTWldObGFYWmxWWEJrWVhSbElEMGdabUZzYzJVN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUdScFpGSmxZMlZwZG1WVmNHUmhkR1VnUFNCbVlXeHpaVHRjYmlBZ2ZTQXZMeUJDWldadmNtVWdaVzUwWlhKcGJtY2dkR2hsSUdKbFoybHVJSEJvWVhObExDQmpiR1ZoY2lCd1pXNWthVzVuSUhWd1pHRjBaU0J3Y21sdmNtbDBlUzVjYmlBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJoYzNOMWJXVnpJSFJvWVhRZ2QyVW5jbVVnWVdKdmRYUWdkRzhnWlhaaGJIVmhkR1VnZEdobElHTnZiWEJ2Ym1WdWRDQmhibVFnY0hKdlkyVnpjMXh1SUNBdkx5QjBhR1VnZFhCa1lYUmxJSEYxWlhWbExpQkliM2RsZG1WeUxDQjBhR1Z5WlNkeklHRnVJR1Y0WTJWd2RHbHZiam9nVTJsdGNHeGxUV1Z0YjBOdmJYQnZibVZ1ZEZ4dUlDQXZMeUJ6YjIxbGRHbHRaWE1nWW1GcGJITWdiM1YwSUd4aGRHVnlJR2x1SUhSb1pTQmlaV2RwYmlCd2FHRnpaUzRnVkdocGN5QnBibVJwWTJGMFpYTWdkR2hoZENCM1pTQnphRzkxYkdSY2JpQWdMeThnYlc5MlpTQjBhR2x6SUdGemMybG5ibTFsYm5RZ2IzVjBJRzltSUhSb1pTQmpiMjF0YjI0Z2NHRjBhQ0JoYm1RZ2FXNTBieUJsWVdOb0lHSnlZVzVqYUM1Y2JseHVYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdUbTlYYjNKck8xeHVYRzRnSUhOM2FYUmphQ0FvZDI5eWEwbHVVSEp2WjNKbGMzTXVkR0ZuS1NCN1hHNGdJQ0FnWTJGelpTQkpibVJsZEdWeWJXbHVZWFJsUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYlc5MWJuUkpibVJsZEdWeWJXbHVZWFJsUTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUV4aGVubERiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSFpoY2lCbGJHVnRaVzUwVkhsd1pTQTlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiVzkxYm5STVlYcDVRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQmxiR1Z0Wlc1MFZIbHdaU3dnZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1JuVnVZM1JwYjI1RGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJmUTI5dGNHOXVaVzUwSUQwZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pUdGNiaUFnSUNBZ0lDQWdkbUZ5SUhWdWNtVnpiMngyWldSUWNtOXdjeUE5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkJsYm1ScGJtZFFjbTl3Y3p0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzI5c2RtVmtVSEp2Y0hNZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGJHVnRaVzUwVkhsd1pTQTlQVDBnWDBOdmJYQnZibVZ1ZENBL0lIVnVjbVZ6YjJ4MlpXUlFjbTl3Y3lBNklISmxjMjlzZG1WRVpXWmhkV3gwVUhKdmNITW9YME52YlhCdmJtVnVkQ3dnZFc1eVpYTnZiSFpsWkZCeWIzQnpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVWjFibU4wYVc5dVEyOXRjRzl1Wlc1MEtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCZlEyOXRjRzl1Wlc1MExDQnlaWE52YkhabFpGQnliM0J6TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1gwTnZiWEJ2Ym1WdWRESWdQU0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTzF4dUlDQWdJQ0FnSUNCMllYSWdYM1Z1Y21WemIyeDJaV1JRY205d2N5QTlJSGR2Y210SmJsQnliMmR5WlhOekxuQmxibVJwYm1kUWNtOXdjenRjYmx4dUlDQWdJQ0FnSUNCMllYSWdYM0psYzI5c2RtVmtVSEp2Y0hNZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGJHVnRaVzUwVkhsd1pTQTlQVDBnWDBOdmJYQnZibVZ1ZERJZ1B5QmZkVzV5WlhOdmJIWmxaRkJ5YjNCeklEb2djbVZ6YjJ4MlpVUmxabUYxYkhSUWNtOXdjeWhmUTI5dGNHOXVaVzUwTWl3Z1gzVnVjbVZ6YjJ4MlpXUlFjbTl3Y3lrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVOc1lYTnpRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQmZRMjl0Y0c5dVpXNTBNaXdnWDNKbGMyOXNkbVZrVUhKdmNITXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZKdmIzUTZYRzRnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsU0c5emRGSnZiM1FvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUhKbGRIVnliaUIxY0dSaGRHVkliM04wUTI5dGNHOXVaVzUwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNWNiaUFnSUNCallYTmxJRWh2YzNSVVpYaDBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlIVndaR0YwWlVodmMzUlVaWGgwS0dOMWNuSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmx4dUlDQWdJR05oYzJVZ1NHOXpkRkJ2Y25SaGJEcGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZRYjNKMFlXeERiMjF3YjI1bGJuUW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmx4dUlDQWdJR05oYzJVZ1JtOXlkMkZ5WkZKbFpqcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhSNWNHVWdQU0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsTzF4dUlDQWdJQ0FnSUNCMllYSWdYM1Z1Y21WemIyeDJaV1JRY205d2N6SWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjl5WlhOdmJIWmxaRkJ5YjNCek1pQTlJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxJRDA5UFNCMGVYQmxJRDhnWDNWdWNtVnpiMngyWldSUWNtOXdjeklnT2lCeVpYTnZiSFpsUkdWbVlYVnNkRkJ5YjNCektIUjVjR1VzSUY5MWJuSmxjMjlzZG1Wa1VISnZjSE15S1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RYQmtZWFJsUm05eWQyRnlaRkpsWmloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnZEhsd1pTd2dYM0psYzI5c2RtVmtVSEp2Y0hNeUxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElFWnlZV2R0Wlc1ME9seHVJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVVp5WVdkdFpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc1Y2JpQWdJQ0JqWVhObElFMXZaR1U2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWEJrWVhSbFRXOWtaU2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnWTJGelpTQlFjbTltYVd4bGNqcGNiaUFnSUNBZ0lISmxkSFZ5YmlCMWNHUmhkR1ZRY205bWFXeGxjaWhqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnWTJGelpTQkRiMjUwWlhoMFVISnZkbWxrWlhJNlhHNGdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxRMjl1ZEdWNGRGQnliM1pwWkdWeUtHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQmpZWE5sSUVOdmJuUmxlSFJEYjI1emRXMWxjanBjYmlBZ0lDQWdJSEpsZEhWeWJpQjFjR1JoZEdWRGIyNTBaWGgwUTI5dWMzVnRaWElvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JseHVJQ0FnSUdOaGMyVWdUV1Z0YjBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRjkwZVhCbE1pQTlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1U3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZkVzV5WlhOdmJIWmxaRkJ5YjNCek15QTlJSGR2Y210SmJsQnliMmR5WlhOekxuQmxibVJwYm1kUWNtOXdjenNnTHk4Z1VtVnpiMngyWlNCdmRYUmxjaUJ3Y205d2N5Qm1hWEp6ZEN3Z2RHaGxiaUJ5WlhOdmJIWmxJR2x1Ym1WeUlIQnliM0J6TGx4dVhHNGdJQ0FnSUNBZ0lIWmhjaUJmY21WemIyeDJaV1JRY205d2N6TWdQU0J5WlhOdmJIWmxSR1ZtWVhWc2RGQnliM0J6S0Y5MGVYQmxNaXdnWDNWdWNtVnpiMngyWldSUWNtOXdjek1wTzF4dVhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pTQWhQVDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV3hsYldWdWRGUjVjR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCdmRYUmxjbEJ5YjNCVWVYQmxjeUE5SUY5MGVYQmxNaTV3Y205d1ZIbHdaWE03WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNodmRYUmxjbEJ5YjNCVWVYQmxjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqYUdWamExQnliM0JVZVhCbGN5aHZkWFJsY2xCeWIzQlVlWEJsY3l3Z1gzSmxjMjlzZG1Wa1VISnZjSE16TENBdkx5QlNaWE52YkhabFpDQm1iM0lnYjNWMFpYSWdiMjVzZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FuY0hKdmNDY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9YM1I1Y0dVeUtTd2daMlYwUTNWeWNtVnVkRVpwWW1WeVUzUmhZMnRKYmtSbGRpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1gzSmxjMjlzZG1Wa1VISnZjSE16SUQwZ2NtVnpiMngyWlVSbFptRjFiSFJRY205d2N5aGZkSGx3WlRJdWRIbHdaU3dnWDNKbGMyOXNkbVZrVUhKdmNITXpLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ3WkdGMFpVMWxiVzlEYjIxd2IyNWxiblFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRjkwZVhCbE1pd2dYM0psYzI5c2RtVmtVSEp2Y0hNekxDQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ1kyRnpaU0JUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZFhCa1lYUmxVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkQ2hqZFhKeVpXNTBMQ0IzYjNKclNXNVFjbTluY21WemN5d2dkMjl5YTBsdVVISnZaM0psYzNNdWRIbHdaU3dnZDI5eWEwbHVVSEp2WjNKbGMzTXVjR1Z1WkdsdVoxQnliM0J6TENCMWNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpTd2djbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQkpibU52YlhCc1pYUmxRMnhoYzNORGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJmUTI5dGNHOXVaVzUwTXlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVTdYRzRnSUNBZ0lDQWdJSFpoY2lCZmRXNXlaWE52YkhabFpGQnliM0J6TkNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5CbGJtUnBibWRRY205d2N6dGNibHh1SUNBZ0lDQWdJQ0IyWVhJZ1gzSmxjMjlzZG1Wa1VISnZjSE0wSUQwZ2QyOXlhMGx1VUhKdlozSmxjM011Wld4bGJXVnVkRlI1Y0dVZ1BUMDlJRjlEYjIxd2IyNWxiblF6SUQ4Z1gzVnVjbVZ6YjJ4MlpXUlFjbTl3Y3pRZ09pQnlaWE52YkhabFJHVm1ZWFZzZEZCeWIzQnpLRjlEYjIxd2IyNWxiblF6TENCZmRXNXlaWE52YkhabFpGQnliM0J6TkNrN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHMXZkVzUwU1c1amIyMXdiR1YwWlVOc1lYTnpRMjl0Y0c5dVpXNTBLR04xY25KbGJuUXNJSGR2Y210SmJsQnliMmR5WlhOekxDQmZRMjl0Y0c5dVpXNTBNeXdnWDNKbGMyOXNkbVZrVUhKdmNITTBMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNCallYTmxJRk4xYzNCbGJuTmxUR2x6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaVk4xYzNCbGJuTmxUR2x6ZEVOdmJYQnZibVZ1ZENoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWxWdWEyNXZkMjRnZFc1cGRDQnZaaUIzYjNKcklIUmhaeUFvWENJZ0t5QjNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY2dLeUJjSWlrdUlGUm9hWE1nWlhKeWIzSWdhWE1nYkdsclpXeDVJR05oZFhObFpDQmllU0JoSUdKMVp5QnBiaUJTWldGamRDNGdVR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiV0Z5YTFWd1pHRjBaU2gzYjNKclNXNVFjbTluY21WemN5a2dlMXh1SUNBdkx5QlVZV2NnZEdobElHWnBZbVZ5SUhkcGRHZ2dZVzRnZFhCa1lYUmxJR1ZtWm1WamRDNGdWR2hwY3lCMGRYSnVjeUJoSUZCc1lXTmxiV1Z1ZENCcGJuUnZYRzRnSUM4dklHRWdVR3hoWTJWdFpXNTBRVzVrVlhCa1lYUmxMbHh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1ZYQmtZWFJsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0WVhKclVtVm1KREVvZDI5eWEwbHVVSEp2WjNKbGMzTXBJSHRjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGSmxaanRjYm4xY2JseHVkbUZ5SUdGd2NHVnVaRUZzYkVOb2FXeGtjbVZ1TzF4dWRtRnlJSFZ3WkdGMFpVaHZjM1JEYjI1MFlXbHVaWEk3WEc1MllYSWdkWEJrWVhSbFNHOXpkRU52YlhCdmJtVnVkQ1F4TzF4dWRtRnlJSFZ3WkdGMFpVaHZjM1JVWlhoMEpERTdYRzVjYm50Y2JpQWdMeThnVFhWMFlYUnBiMjRnYlc5a1pWeHVJQ0JoY0hCbGJtUkJiR3hEYUdsc1pISmxiaUE5SUdaMWJtTjBhVzl1SUNod1lYSmxiblFzSUhkdmNtdEpibEJ5YjJkeVpYTnpMQ0J1WldWa2MxWnBjMmxpYVd4cGRIbFViMmRuYkdVc0lHbHpTR2xrWkdWdUtTQjdYRzRnSUNBZ0x5OGdWMlVnYjI1c2VTQm9ZWFpsSUhSb1pTQjBiM0FnUm1saVpYSWdkR2hoZENCM1lYTWdZM0psWVhSbFpDQmlkWFFnZDJVZ2JtVmxaQ0J5WldOMWNuTmxJR1J2ZDI0Z2FYUnpYRzRnSUNBZ0x5OGdZMmhwYkdSeVpXNGdkRzhnWm1sdVpDQmhiR3dnZEdobElIUmxjbTFwYm1Gc0lHNXZaR1Z6TGx4dUlDQWdJSFpoY2lCdWIyUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRN1hHNWNiaUFnSUNCM2FHbHNaU0FvYm05a1pTQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQkliM04wUTI5dGNHOXVaVzUwSUh4OElHNXZaR1V1ZEdGbklEMDlQU0JJYjNOMFZHVjRkQ2tnZTF4dUlDQWdJQ0FnSUNCaGNIQmxibVJKYm1sMGFXRnNRMmhwYkdRb2NHRnlaVzUwTENCdWIyUmxMbk4wWVhSbFRtOWtaU2s3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQkliM04wVUc5eWRHRnNLU0E3SUdWc2MyVWdhV1lnS0c1dlpHVXVZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdibTlrWlM1amFHbHNaQzV5WlhSMWNtNGdQU0J1YjJSbE8xeHVJQ0FnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzVqYUdsc1pEdGNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodWIyUmxJRDA5UFNCM2IzSnJTVzVRY205bmNtVnpjeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2h1YjJSbExuTnBZbXhwYm1jZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdhV1lnS0c1dlpHVXVjbVYwZFhKdUlEMDlQU0J1ZFd4c0lIeDhJRzV2WkdVdWNtVjBkWEp1SUQwOVBTQjNiM0pyU1c1UWNtOW5jbVZ6Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2JtOWtaUzV6YVdKc2FXNW5MbkpsZEhWeWJpQTlJRzV2WkdVdWNtVjBkWEp1TzF4dUlDQWdJQ0FnYm05a1pTQTlJRzV2WkdVdWMybGliR2x1Wnp0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2RYQmtZWFJsU0c5emRFTnZiblJoYVc1bGNpQTlJR1oxYm1OMGFXOXVJQ2gzYjNKclNXNVFjbTluY21WemN5a2dleTh2SUU1dmIzQmNiaUFnZlR0Y2JseHVJQ0IxY0dSaGRHVkliM04wUTI5dGNHOXVaVzUwSkRFZ1BTQm1kVzVqZEdsdmJpQW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lIUjVjR1VzSUc1bGQxQnliM0J6TENCeWIyOTBRMjl1ZEdGcGJtVnlTVzV6ZEdGdVkyVXBJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQm9ZWFpsSUdGdUlHRnNkR1Z5Ym1GMFpTd2dkR2hoZENCdFpXRnVjeUIwYUdseklHbHpJR0Z1SUhWd1pHRjBaU0JoYm1RZ2QyVWdibVZsWkNCMGIxeHVJQ0FnSUM4dklITmphR1ZrZFd4bElHRWdjMmxrWlMxbFptWmxZM1FnZEc4Z1pHOGdkR2hsSUhWd1pHRjBaWE11WEc0Z0lDQWdkbUZ5SUc5c1pGQnliM0J6SUQwZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpPMXh1WEc0Z0lDQWdhV1lnS0c5c1pGQnliM0J6SUQwOVBTQnVaWGRRY205d2N5a2dlMXh1SUNBZ0lDQWdMeThnU1c0Z2JYVjBZWFJwYjI0Z2JXOWtaU3dnZEdocGN5QnBjeUJ6ZFdabWFXTnBaVzUwSUdadmNpQmhJR0poYVd4dmRYUWdZbVZqWVhWelpWeHVJQ0FnSUNBZ0x5OGdkMlVnZDI5dUozUWdkRzkxWTJnZ2RHaHBjeUJ1YjJSbElHVjJaVzRnYVdZZ1kyaHBiR1J5Wlc0Z1kyaGhibWRsWkM1Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlJQzh2SUVsbUlIZGxJR2RsZENCMWNHUmhkR1ZrSUdKbFkyRjFjMlVnYjI1bElHOW1JRzkxY2lCamFHbHNaSEpsYmlCMWNHUmhkR1ZrTENCM1pTQmtiMjRuZEZ4dUlDQWdJQzh2SUdoaGRtVWdibVYzVUhKdmNITWdjMjhnZDJVbmJHd2dhR0YyWlNCMGJ5QnlaWFZ6WlNCMGFHVnRMbHh1SUNBZ0lDOHZJRlJQUkU4NklGTndiR2wwSUhSb1pTQjFjR1JoZEdVZ1FWQkpJR0Z6SUhObGNHRnlZWFJsSUdadmNpQjBhR1VnY0hKdmNITWdkbk11SUdOb2FXeGtjbVZ1TGx4dUlDQWdJQzh2SUVWMlpXNGdZbVYwZEdWeUlIZHZkV3hrSUdKbElHbG1JR05vYVd4a2NtVnVJSGRsY21WdUozUWdjM0JsWTJsaGJDQmpZWE5sWkNCaGRDQmhiR3dnZEdodkxseHVYRzVjYmlBZ0lDQjJZWElnYVc1emRHRnVZMlVnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJJYjNOMFEyOXVkR1Y0ZENBOUlHZGxkRWh2YzNSRGIyNTBaWGgwS0NrN0lDOHZJRlJQUkU4NklFVjRjR1Z5YVdWdVkybHVaeUJoYmlCbGNuSnZjaUIzYUdWeVpTQnZiR1JRY205d2N5QnBjeUJ1ZFd4c0xpQlRkV2RuWlhOMGN5QmhJR2h2YzNSY2JpQWdJQ0F2THlCamIyMXdiMjVsYm5RZ2FYTWdhR2wwZEdsdVp5QjBhR1VnY21WemRXMWxJSEJoZEdndUlFWnBaM1Z5WlNCdmRYUWdkMmg1TGlCUWIzTnphV0pzZVZ4dUlDQWdJQzh2SUhKbGJHRjBaV1FnZEc4Z1lHaHBaR1JsYm1BdVhHNWNiaUFnSUNCMllYSWdkWEJrWVhSbFVHRjViRzloWkNBOUlIQnlaWEJoY21WVmNHUmhkR1VvYVc1emRHRnVZMlVzSUhSNWNHVXNJRzlzWkZCeWIzQnpMQ0J1WlhkUWNtOXdjeXdnY205dmRFTnZiblJoYVc1bGNrbHVjM1JoYm1ObExDQmpkWEp5Wlc1MFNHOXpkRU52Ym5SbGVIUXBPeUF2THlCVVQwUlBPaUJVZVhCbElIUm9hWE1nYzNCbFkybG1hV01nZEc4Z2RHaHBjeUIwZVhCbElHOW1JR052YlhCdmJtVnVkQzVjYmx4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnZFhCa1lYUmxVR0Y1Ykc5aFpEc2dMeThnU1dZZ2RHaGxJSFZ3WkdGMFpTQndZWGxzYjJGa0lHbHVaR2xqWVhSbGN5QjBhR0YwSUhSb1pYSmxJR2x6SUdFZ1kyaGhibWRsSUc5eUlHbG1JSFJvWlhKbFhHNGdJQ0FnTHk4Z2FYTWdZU0J1WlhjZ2NtVm1JSGRsSUcxaGNtc2dkR2hwY3lCaGN5QmhiaUIxY0dSaGRHVXVJRUZzYkNCMGFHVWdkMjl5YXlCcGN5QmtiMjVsSUdsdUlHTnZiVzFwZEZkdmNtc3VYRzVjYmlBZ0lDQnBaaUFvZFhCa1lYUmxVR0Y1Ykc5aFpDa2dlMXh1SUNBZ0lDQWdiV0Z5YTFWd1pHRjBaU2gzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJSFZ3WkdGMFpVaHZjM1JVWlhoMEpERWdQU0JtZFc1amRHbHZiaUFvWTNWeWNtVnVkQ3dnZDI5eWEwbHVVSEp2WjNKbGMzTXNJRzlzWkZSbGVIUXNJRzVsZDFSbGVIUXBJSHRjYmlBZ0lDQXZMeUJKWmlCMGFHVWdkR1Y0ZENCa2FXWm1aWEp6TENCdFlYSnJJR2wwSUdGeklHRnVJSFZ3WkdGMFpTNGdRV3hzSUhSb1pTQjNiM0pySUdsdUlHUnZibVVnYVc0Z1kyOXRiV2wwVjI5eWF5NWNiaUFnSUNCcFppQW9iMnhrVkdWNGRDQWhQVDBnYm1WM1ZHVjRkQ2tnZTF4dUlDQWdJQ0FnYldGeWExVndaR0YwWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdmVnh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamRYUlBabVpVWVdsc1NXWk9aV1ZrWldRb2NtVnVaR1Z5VTNSaGRHVXNJR2hoYzFKbGJtUmxjbVZrUVZSaGFXeEdZV3hzWW1GamF5a2dlMXh1SUNCemQybDBZMmdnS0hKbGJtUmxjbE4wWVhSbExuUmhhV3hOYjJSbEtTQjdYRzRnSUNBZ1kyRnpaU0FuYUdsa1pHVnVKenBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FXNTVJR2x1YzJWeWRHbHZibk1nWVhRZ2RHaGxJR1Z1WkNCdlppQjBhR1VnZEdGcGJDQnNhWE4wSUdGbWRHVnlJSFJvYVhNZ2NHOXBiblJjYmlBZ0lDQWdJQ0FnTHk4Z2MyaHZkV3hrSUdKbElHbHVkbWx6YVdKc1pTNGdTV1lnZEdobGNtVWdZWEpsSUdGc2NtVmhaSGtnYlc5MWJuUmxaQ0JpYjNWdVpHRnlhV1Z6WEc0Z0lDQWdJQ0FnSUM4dklHRnVlWFJvYVc1bklHSmxabTl5WlNCMGFHVnRJR0Z5WlNCdWIzUWdZMjl1YzJsa1pYSmxaQ0JtYjNJZ1kyOXNiR0Z3YzJsdVp5NWNiaUFnSUNBZ0lDQWdMeThnVkdobGNtVm1iM0psSUhkbElHNWxaV1FnZEc4Z1oyOGdkR2h5YjNWbmFDQjBhR1VnZDJodmJHVWdkR0ZwYkNCMGJ5Qm1hVzVrSUdsbVhHNGdJQ0FnSUNBZ0lDOHZJSFJvWlhKbElHRnlaU0JoYm5rdVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWVdsc1RtOWtaU0E5SUhKbGJtUmxjbE4wWVhSbExuUmhhV3c3WEc0Z0lDQWdJQ0FnSUhaaGNpQnNZWE4wVkdGcGJFNXZaR1VnUFNCdWRXeHNPMXh1WEc0Z0lDQWdJQ0FnSUhkb2FXeGxJQ2gwWVdsc1RtOWtaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwWVdsc1RtOWtaUzVoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR3hoYzNSVVlXbHNUbTlrWlNBOUlIUmhhV3hPYjJSbE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIUmhhV3hPYjJSbElEMGdkR0ZwYkU1dlpHVXVjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdmU0F2THlCT1pYaDBJSGRsSjNKbElITnBiWEJzZVNCbmIybHVaeUIwYnlCa1pXeGxkR1VnWVd4c0lHbHVjMlZ5ZEdsdmJuTWdZV1owWlhJZ2RHaGxYRzRnSUNBZ0lDQWdJQzh2SUd4aGMzUWdjbVZ1WkdWeVpXUWdhWFJsYlM1Y2JseHVYRzRnSUNBZ0lDQWdJR2xtSUNoc1lYTjBWR0ZwYkU1dlpHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkJiR3dnY21WdFlXbHVhVzVuSUdsMFpXMXpJR2x1SUhSb1pTQjBZV2xzSUdGeVpTQnBibk5sY25ScGIyNXpMbHh1SUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExuUmhhV3dnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFUmxkR0ZqYUNCMGFHVWdhVzV6WlhKMGFXOXVJR0ZtZEdWeUlIUm9aU0JzWVhOMElHNXZaR1VnZEdoaGRDQjNZWE1nWVd4eVpXRmtlVnh1SUNBZ0lDQWdJQ0FnSUM4dklHbHVjMlZ5ZEdWa0xseHVJQ0FnSUNBZ0lDQWdJR3hoYzNSVVlXbHNUbTlrWlM1emFXSnNhVzVuSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQW5ZMjlzYkdGd2MyVmtKenBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FXNTVJR2x1YzJWeWRHbHZibk1nWVhRZ2RHaGxJR1Z1WkNCdlppQjBhR1VnZEdGcGJDQnNhWE4wSUdGbWRHVnlJSFJvYVhNZ2NHOXBiblJjYmlBZ0lDQWdJQ0FnTHk4Z2MyaHZkV3hrSUdKbElHbHVkbWx6YVdKc1pTNGdTV1lnZEdobGNtVWdZWEpsSUdGc2NtVmhaSGtnYlc5MWJuUmxaQ0JpYjNWdVpHRnlhV1Z6WEc0Z0lDQWdJQ0FnSUM4dklHRnVlWFJvYVc1bklHSmxabTl5WlNCMGFHVnRJR0Z5WlNCdWIzUWdZMjl1YzJsa1pYSmxaQ0JtYjNJZ1kyOXNiR0Z3YzJsdVp5NWNiaUFnSUNBZ0lDQWdMeThnVkdobGNtVm1iM0psSUhkbElHNWxaV1FnZEc4Z1oyOGdkR2h5YjNWbmFDQjBhR1VnZDJodmJHVWdkR0ZwYkNCMGJ5Qm1hVzVrSUdsbVhHNGdJQ0FnSUNBZ0lDOHZJSFJvWlhKbElHRnlaU0JoYm5rdVhHNGdJQ0FnSUNBZ0lIWmhjaUJmZEdGcGJFNXZaR1VnUFNCeVpXNWtaWEpUZEdGMFpTNTBZV2xzTzF4dUlDQWdJQ0FnSUNCMllYSWdYMnhoYzNSVVlXbHNUbTlrWlNBOUlHNTFiR3c3WEc1Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0Y5MFlXbHNUbTlrWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoZmRHRnBiRTV2WkdVdVlXeDBaWEp1WVhSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCZmJHRnpkRlJoYVd4T2IyUmxJRDBnWDNSaGFXeE9iMlJsTzF4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUY5MFlXbHNUbTlrWlNBOUlGOTBZV2xzVG05a1pTNXphV0pzYVc1bk8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUU1bGVIUWdkMlVuY21VZ2MybHRjR3g1SUdkdmFXNW5JSFJ2SUdSbGJHVjBaU0JoYkd3Z2FXNXpaWEowYVc5dWN5QmhablJsY2lCMGFHVmNiaUFnSUNBZ0lDQWdMeThnYkdGemRDQnlaVzVrWlhKbFpDQnBkR1Z0TGx4dVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0Y5c1lYTjBWR0ZwYkU1dlpHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkJiR3dnY21WdFlXbHVhVzVuSUdsMFpXMXpJR2x1SUhSb1pTQjBZV2xzSUdGeVpTQnBibk5sY25ScGIyNXpMbHh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2hhR0Z6VW1WdVpHVnlaV1JCVkdGcGJFWmhiR3hpWVdOcklDWW1JSEpsYm1SbGNsTjBZWFJsTG5SaGFXd2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRsSUhOMWMzQmxibVJsWkNCa2RYSnBibWNnZEdobElHaGxZV1F1SUZkbElIZGhiblFnZEc4Z2MyaHZkeUJoZENCc1pXRnpkQ0J2Ym1WY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhKdmR5QmhkQ0IwYUdVZ2RHRnBiQzRnVTI4Z2QyVW5iR3dnYTJWbGNDQnZiaUJoYm1RZ1kzVjBJRzltWmlCMGFHVWdjbVZ6ZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsYm1SbGNsTjBZWFJsTG5SaGFXd3VjMmxpYkdsdVp5QTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExuUmhhV3dnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJFWlhSaFkyZ2dkR2hsSUdsdWMyVnlkR2x2YmlCaFpuUmxjaUIwYUdVZ2JHRnpkQ0J1YjJSbElIUm9ZWFFnZDJGeklHRnNjbVZoWkhsY2JpQWdJQ0FnSUNBZ0lDQXZMeUJwYm5ObGNuUmxaQzVjYmlBZ0lDQWdJQ0FnSUNCZmJHRnpkRlJoYVd4T2IyUmxMbk5wWW14cGJtY2dQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGNHeGxkR1ZYYjNKcktHTjFjbkpsYm5Rc0lIZHZjbXRKYmxCeWIyZHlaWE56TENCeVpXNWtaWEpGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCMllYSWdibVYzVUhKdmNITWdQU0IzYjNKclNXNVFjbTluY21WemN5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdjM2RwZEdOb0lDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY3BJSHRjYmlBZ0lDQmpZWE5sSUVsdVpHVjBaWEp0YVc1aGRHVkRiMjF3YjI1bGJuUTZYRzRnSUNBZ1kyRnpaU0JNWVhwNVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUdOaGMyVWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwT2x4dUlDQWdJR05oYzJVZ1JtOXlkMkZ5WkZKbFpqcGNiaUFnSUNCallYTmxJRVp5WVdkdFpXNTBPbHh1SUNBZ0lHTmhjMlVnVFc5a1pUcGNiaUFnSUNCallYTmxJRkJ5YjJacGJHVnlPbHh1SUNBZ0lHTmhjMlVnUTI5dWRHVjRkRU52Ym5OMWJXVnlPbHh1SUNBZ0lHTmhjMlVnVFdWdGIwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1WEc0Z0lDQWdZMkZ6WlNCRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlFTnZiWEJ2Ym1WdWRDQTlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6UTI5dWRHVjRkRkJ5YjNacFpHVnlLRU52YlhCdmJtVnVkQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiM0JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ1kyRnpaU0JJYjNOMFVtOXZkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnY0c5d1NHOXpkRU52Ym5SaGFXNWxjaWgzYjNKclNXNVFjbTluY21WemN5azdYRzRnSUNBZ0lDQWdJSEJ2Y0ZSdmNFeGxkbVZzUTI5dWRHVjRkRTlpYW1WamRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNBZ0lIWmhjaUJtYVdKbGNsSnZiM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR1pwWW1WeVVtOXZkQzV3Wlc1a2FXNW5RMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdacFltVnlVbTl2ZEM1amIyNTBaWGgwSUQwZ1ptbGlaWEpTYjI5MExuQmxibVJwYm1kRGIyNTBaWGgwTzF4dUlDQWdJQ0FnSUNBZ0lHWnBZbVZ5VW05dmRDNXdaVzVrYVc1blEyOXVkR1Y0ZENBOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCamRYSnlaVzUwTG1Ob2FXeGtJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdTV1lnZDJVZ2FIbGtjbUYwWldRc0lIQnZjQ0J6YnlCMGFHRjBJSGRsSUdOaGJpQmtaV3hsZEdVZ1lXNTVJSEpsYldGcGJtbHVaeUJqYUdsc1pISmxibHh1SUNBZ0lDQWdJQ0FnSUM4dklIUm9ZWFFnZDJWeVpXNG5kQ0JvZVdSeVlYUmxaQzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdkMkZ6U0hsa2NtRjBaV1FnUFNCd2IzQkllV1J5WVhScGIyNVRkR0YwWlNoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvZDJGelNIbGtjbUYwWldRcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFbG1JSGRsSUdoNVpISmhkR1ZrTENCMGFHVnVJSGRsSjJ4c0lHNWxaV1FnZEc4Z2MyTm9aV1IxYkdVZ1lXNGdkWEJrWVhSbElHWnZjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hsSUdOdmJXMXBkQ0J6YVdSbExXVm1abVZqZEhNZ2IyNGdkR2hsSUhKdmIzUXVYRzRnSUNBZ0lDQWdJQ0FnSUNCdFlYSnJWWEJrWVhSbEtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCMWNHUmhkR1ZJYjNOMFEyOXVkR0ZwYm1WeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEJ2Y0VodmMzUkRiMjUwWlhoMEtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNBOUlHZGxkRkp2YjNSSWIzTjBRMjl1ZEdGcGJtVnlLQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQjBlWEJsSUQwZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhsd1pUdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZENBaFBUMGdiblZzYkNBbUppQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1emRHRjBaVTV2WkdVZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFZ3WkdGMFpVaHZjM1JEYjIxd2IyNWxiblFrTVNoamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnZEhsd1pTd2dibVYzVUhKdmNITXNJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlNrN1hHNWNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEM1eVpXWWdJVDA5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsWmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYldGeWExSmxaaVF4S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NGdVpYZFFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRW9kMjl5YTBsdVVISnZaM0psYzNNdWMzUmhkR1ZPYjJSbElDRTlQU0J1ZFd4c0tTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVYyVWdiWFZ6ZENCb1lYWmxJRzVsZHlCd2NtOXdjeUJtYjNJZ2JtVjNJRzF2ZFc1MGN5NGdWR2hwY3lCbGNuSnZjaUJwY3lCc2FXdGxiSGtnWTJGMWMyVmtJR0o1SUdFZ1luVm5JR2x1SUZKbFlXTjBMaUJRYkdWaGMyVWdabWxzWlNCaGJpQnBjM04xWlM1Y0lpQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlDOHZJRlJvYVhNZ1kyRnVJR2hoY0hCbGJpQjNhR1Z1SUhkbElHRmliM0owSUhkdmNtc3VYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHTjFjbkpsYm5SSWIzTjBRMjl1ZEdWNGRDQTlJR2RsZEVodmMzUkRiMjUwWlhoMEtDazdJQzh2SUZSUFJFODZJRTF2ZG1VZ1kzSmxZWFJsU1c1emRHRnVZMlVnZEc4Z1ltVm5hVzVYYjNKcklHRnVaQ0JyWldWd0lHbDBJRzl1SUdFZ1kyOXVkR1Y0ZEZ4dUlDQWdJQ0FnSUNBZ0lDOHZJRndpYzNSaFkydGNJaUJoY3lCMGFHVWdjR0Z5Wlc1MExpQlVhR1Z1SUdGd2NHVnVaQ0JqYUdsc1pISmxiaUJoY3lCM1pTQm5ieUJwYmlCaVpXZHBibGR2Y210Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJ2Y2lCamIyMXdiR1YwWlZkdmNtc2daR1Z3Wlc1a2FXNW5JRzl1SUhkb1pYUm9aWElnZDJVZ2QyRnVkQ0IwYnlCaFpHUWdkR2hsYlNCMGIzQXRQbVJ2ZDI0Z2IzSmNiaUFnSUNBZ0lDQWdJQ0F2THlCaWIzUjBiMjB0UG5Wd0xpQlViM0F0UG1SdmQyNGdhWE1nWm1GemRHVnlJR2x1SUVsRk1URXVYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYM2RoYzBoNVpISmhkR1ZrSUQwZ2NHOXdTSGxrY21GMGFXOXVVM1JoZEdVb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0Y5M1lYTkllV1J5WVhSbFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1RXOTJaU0IwYUdseklHRnVaQ0JqY21WaGRHVkpibk4wWVc1alpTQnpkR1Z3SUdsdWRHOGdkR2hsSUdKbFoybHVVR2hoYzJWY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhSdklHTnZibk52Ykdsa1lYUmxMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSEJ5WlhCaGNtVlViMGg1WkhKaGRHVkliM04wU1c1emRHRnVZMlVvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEp2YjNSRGIyNTBZV2x1WlhKSmJuTjBZVzVqWlN3Z1kzVnljbVZ1ZEVodmMzUkRiMjUwWlhoMEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCamFHRnVaMlZ6SUhSdklIUm9aU0JvZVdSeVlYUmxaQ0J1YjJSbElHNWxaV1FnZEc4Z1ltVWdZWEJ3YkdsbFpDQmhkQ0IwYUdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kyOXRiV2wwTFhCb1lYTmxJSGRsSUcxaGNtc2dkR2hwY3lCaGN5QnpkV05vTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhKclZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnWTNKbFlYUmxTVzV6ZEdGdVkyVW9kSGx3WlN3Z2JtVjNVSEp2Y0hNc0lISnZiM1JEYjI1MFlXbHVaWEpKYm5OMFlXNWpaU3dnWTNWeWNtVnVkRWh2YzNSRGIyNTBaWGgwTENCM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmhjSEJsYm1SQmJHeERhR2xzWkhKbGJpaHBibk4wWVc1alpTd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHWmhiSE5sTENCbVlXeHpaU2s3SUM4dklGUm9hWE1nYm1WbFpITWdkRzhnWW1VZ2MyVjBJR0psWm05eVpTQjNaU0J0YjNWdWRDQkdiR0Z5WlNCbGRtVnVkQ0JzYVhOMFpXNWxjbk5jYmx4dUlDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWMzUmhkR1ZPYjJSbElEMGdhVzV6ZEdGdVkyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QW9aV2NnUkU5TklISmxibVJsY21WeUlITjFjSEJ2Y25SeklHRjFkRzh0Wm05amRYTWdabTl5SUdObGNuUmhhVzRnWld4bGJXVnVkSE1wTGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVFdGclpTQnpkWEpsSUhOMVkyZ2djbVZ1WkdWeVpYSnpJR2RsZENCelkyaGxaSFZzWldRZ1ptOXlJR3hoZEdWeUlIZHZjbXN1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHWnBibUZzYVhwbFNXNXBkR2xoYkVOb2FXeGtjbVZ1S0dsdWMzUmhibU5sTENCMGVYQmxMQ0J1WlhkUWNtOXdjeXdnY205dmRFTnZiblJoYVc1bGNrbHVjM1JoYm1ObEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnRZWEpyVlhCa1lYUmxLSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNdWNtVm1JQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHVnlaU0JwY3lCaElISmxaaUJ2YmlCaElHaHZjM1FnYm05a1pTQjNaU0J1WldWa0lIUnZJSE5qYUdWa2RXeGxJR0VnWTJGc2JHSmhZMnRjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWhjbXRTWldZa01TaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlVaWGgwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdibVYzVkdWNGRDQTlJRzVsZDFCeWIzQnpPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MElDWW1JSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHOXNaRlJsZUhRZ1BTQmpkWEp5Wlc1MExtMWxiVzlwZW1Wa1VISnZjSE03SUM4dklFbG1JSGRsSUdoaGRtVWdZVzRnWVd4MFpYSnVZWFJsTENCMGFHRjBJRzFsWVc1eklIUm9hWE1nYVhNZ1lXNGdkWEJrWVhSbElHRnVaQ0IzWlNCdVpXVmtYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHOGdjMk5vWldSMWJHVWdZU0J6YVdSbExXVm1abVZqZENCMGJ5QmtieUIwYUdVZ2RYQmtZWFJsY3k1Y2JseHVJQ0FnSUNBZ0lDQWdJSFZ3WkdGMFpVaHZjM1JVWlhoMEpERW9ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lHOXNaRlJsZUhRc0lHNWxkMVJsZUhRcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYm1WM1ZHVjRkQ0FoUFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hLSGR2Y210SmJsQnliMmR5WlhOekxuTjBZWFJsVG05a1pTQWhQVDBnYm5Wc2JDa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lsZGxJRzExYzNRZ2FHRjJaU0J1WlhjZ2NISnZjSE1nWm05eUlHNWxkeUJ0YjNWdWRITXVJRlJvYVhNZ1pYSnliM0lnYVhNZ2JHbHJaV3g1SUdOaGRYTmxaQ0JpZVNCaElHSjFaeUJwYmlCU1pXRmpkQzRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQXZMeUJVYUdseklHTmhiaUJvWVhCd1pXNGdkMmhsYmlCM1pTQmhZbTl5ZENCM2IzSnJMbHh1WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlGOXliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVnUFNCblpYUlNiMjkwU0c5emRFTnZiblJoYVc1bGNpZ3BPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjlqZFhKeVpXNTBTRzl6ZEVOdmJuUmxlSFFnUFNCblpYUkliM04wUTI5dWRHVjRkQ2dwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUY5M1lYTkllV1J5WVhSbFpESWdQU0J3YjNCSWVXUnlZWFJwYjI1VGRHRjBaU2gzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9YM2RoYzBoNVpISmhkR1ZrTWlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIQnlaWEJoY21WVWIwaDVaSEpoZEdWSWIzTjBWR1Y0ZEVsdWMzUmhibU5sS0hkdmNtdEpibEJ5YjJkeVpYTnpLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhKclZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YzNSaGRHVk9iMlJsSUQwZ1kzSmxZWFJsVkdWNGRFbHVjM1JoYm1ObEtHNWxkMVJsZUhRc0lGOXliMjkwUTI5dWRHRnBibVZ5U1c1emRHRnVZMlVzSUY5amRYSnlaVzUwU0c5emRFTnZiblJsZUhRc0lIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnVTNWemNHVnVjMlZEYjIxd2IyNWxiblE2WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhCdmNGTjFjM0JsYm5ObFEyOXVkR1Y0ZENoM2IzSnJTVzVRY205bmNtVnpjeWs3WEc0Z0lDQWdJQ0FnSUhaaGNpQnVaWGgwVTNSaGRHVWdQU0IzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGTjBZWFJsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2dvZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5JQ1lnUkdsa1EyRndkSFZ5WlNrZ0lUMDlJRTV2UldabVpXTjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdVMjl0WlhSb2FXNW5JSE4xYzNCbGJtUmxaQzRnVW1VdGNtVnVaR1Z5SUhkcGRHZ2dkR2hsSUdaaGJHeGlZV05ySUdOb2FXeGtjbVZ1TGx4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WNGNHbHlZWFJwYjI1VWFXMWxJRDBnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVN0lDOHZJRVJ2SUc1dmRDQnlaWE5sZENCMGFHVWdaV1ptWldOMElHeHBjM1F1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM003WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQjJZWElnYm1WNGRFUnBaRlJwYldWdmRYUWdQU0J1WlhoMFUzUmhkR1VnSVQwOUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUhaaGNpQndjbVYyUkdsa1ZHbHRaVzkxZENBOUlHWmhiSE5sTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBJRDA5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE11Wm1Gc2JHSmhZMnNnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NHOXdTSGxrY21GMGFXOXVVM1JoZEdVb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2NISmxkbE4wWVhSbElEMGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGTjBZWFJsTzF4dUlDQWdJQ0FnSUNBZ0lIQnlaWFpFYVdSVWFXMWxiM1YwSUQwZ2NISmxkbE4wWVhSbElDRTlQU0J1ZFd4c08xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tDRnVaWGgwUkdsa1ZHbHRaVzkxZENBbUppQndjbVYyVTNSaGRHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRmRsSUdwMWMzUWdjM2RwZEdOb1pXUWdabkp2YlNCMGFHVWdabUZzYkdKaFkyc2dkRzhnZEdobElHNXZjbTFoYkNCamFHbHNaSEpsYmk1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVSbGJHVjBaU0IwYUdVZ1ptRnNiR0poWTJzdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJYYjNWc1pDQnBkQ0JpWlNCaVpYUjBaWElnZEc4Z2MzUnZjbVVnZEdobElHWmhiR3hpWVdOcklHWnlZV2R0Wlc1MElHOXVYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnYzNSaGRHVk9iMlJsSUdSMWNtbHVaeUIwYUdVZ1ltVm5hVzRnY0doaGMyVS9YRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdZM1Z5Y21WdWRFWmhiR3hpWVdOclEyaHBiR1FnUFNCamRYSnlaVzUwTG1Ob2FXeGtMbk5wWW14cGJtYzdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBSbUZzYkdKaFkydERhR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QkVaV3hsZEdsdmJuTWdaMjhnWVhRZ2RHaGxJR0psWjJsdWJtbHVaeUJ2WmlCMGFHVWdjbVYwZFhKdUlHWnBZbVZ5SjNNZ1pXWm1aV04wSUd4cGMzUmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJR1pwY25OMElEMGdkMjl5YTBsdVVISnZaM0psYzNNdVptbHljM1JGWm1abFkzUTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dacGNuTjBJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVabWx5YzNSRlptWmxZM1FnUFNCamRYSnlaVzUwUm1Gc2JHSmhZMnREYUdsc1pEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFJtRnNiR0poWTJ0RGFHbHNaQzV1WlhoMFJXWm1aV04wSUQwZ1ptbHljM1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVptbHljM1JGWm1abFkzUWdQU0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBJRDBnWTNWeWNtVnVkRVpoYkd4aVlXTnJRMmhwYkdRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEVaaGJHeGlZV05yUTJocGJHUXVibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFJtRnNiR0poWTJ0RGFHbHNaQzVsWm1abFkzUlVZV2NnUFNCRVpXeGxkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb2JtVjRkRVJwWkZScGJXVnZkWFFnSmlZZ0lYQnlaWFpFYVdSVWFXMWxiM1YwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2RHaHBjeUJ6ZFdKMGNtVmxaU0JwY3lCeWRXNXVhVzVuSUdsdUlHSnNiMk5yYVc1bklHMXZaR1VnZDJVZ1kyRnVJSE4xYzNCbGJtUXNYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2IzUm9aWEozYVhObElIZGxJSGR2YmlkMElITjFjM0JsYm1RdVhHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dWR2hwY3lCM2FXeHNJSE4wYVd4c0lITjFjM0JsYm1RZ1lTQnplVzVqYUhKdmJtOTFjeUIwY21WbElHbG1JR0Z1ZVhSb2FXNW5YRzRnSUNBZ0lDQWdJQ0FnTHk4Z2FXNGdkR2hsSUdOdmJtTjFjbkpsYm5RZ2RISmxaU0JoYkhKbFlXUjVJSE4xYzNCbGJtUmxaQ0JrZFhKcGJtY2dkR2hwY3lCeVpXNWtaWEl1WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWR2hwY3lCcGN5QmhJR3R1YjNkdUlHSjFaeTVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9LSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCQ2JHOWphMmx1WjAxdlpHVXBJQ0U5UFNCT2IwMXZaR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRTF2ZG1VZ2RHaHBjeUJpWVdOcklIUnZJSFJvY205M1JYaGpaWEIwYVc5dUlHSmxZMkYxYzJVZ2RHaHBjeUJwY3lCMGIyOGdiR0YwWlZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYVdZZ2RHaHBjeUJwY3lCaElHeGhjbWRsSUhSeVpXVWdkMmhwWTJnZ2FYTWdZMjl0Ylc5dUlHWnZjaUJwYm1sMGFXRnNJR3h2WVdSekxpQlhaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdaRzl1SjNRZ2EyNXZkeUJwWmlCM1pTQnphRzkxYkdRZ2NtVnpkR0Z5ZENCaElISmxibVJsY2lCdmNpQnViM1FnZFc1MGFXd2dkMlVnWjJWMFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCMGFHbHpJRzFoY210bGNpd2dZVzVrSUhSb2FYTWdhWE1nZEc5dklHeGhkR1V1WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCMGFHbHpJSEpsYm1SbGNpQmhiSEpsWVdSNUlHaGhaQ0JoSUhCcGJtY2diM0lnYkc5M1pYSWdjSEpwSUhWd1pHRjBaWE1zWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJoYm1RZ2RHaHBjeUJwY3lCMGFHVWdabWx5YzNRZ2RHbHRaU0IzWlNCcmJtOTNJSGRsSjNKbElHZHZhVzVuSUhSdklITjFjM0JsYm1RZ2QyVmNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklITm9iM1ZzWkNCaVpTQmhZbXhsSUhSdklHbHRiV1ZrYVdGMFpXeDVJSEpsYzNSaGNuUWdabkp2YlNCM2FYUm9hVzRnZEdoeWIzZEZlR05sY0hScGIyNHVYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdhR0Z6U1c1MmFYTnBZbXhsUTJocGJHUkRiMjUwWlhoMElEMGdZM1Z5Y21WdWRDQTlQVDBnYm5Wc2JDQW1KaUIzYjNKclNXNVFjbTluY21WemN5NXRaVzF2YVhwbFpGQnliM0J6TG5WdWMzUmhZbXhsWDJGMmIybGtWR2hwYzBaaGJHeGlZV05ySUNFOVBTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FHRnpTVzUyYVhOcFlteGxRMmhwYkdSRGIyNTBaWGgwSUh4OElHaGhjMU4xYzNCbGJuTmxRMjl1ZEdWNGRDaHpkWE53Wlc1elpWTjBZV05yUTNWeWMyOXlMbU4xY25KbGJuUXNJRWx1ZG1semFXSnNaVkJoY21WdWRGTjFjM0JsYm5ObFEyOXVkR1Y0ZENrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QjNZWE1nYVc0Z1lXNGdhVzUyYVhOcFlteGxJSFJ5WldVZ2IzSWdZU0J1WlhjZ2NtVnVaR1Z5TENCMGFHVnVJSE5vYjNkcGJtZGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hwY3lCaWIzVnVaR0Z5ZVNCcGN5QnZheTVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVZ1WkdWeVJHbGtVM1Z6Y0dWdVpDZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1QzUm9aWEozYVhObExDQjNaU2R5WlNCbmIybHVaeUIwYnlCb1lYWmxJSFJ2SUdocFpHVWdZMjl1ZEdWdWRDQnpieUIzWlNCemFHOTFiR1JjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnYzNWemNHVnVaQ0JtYjNJZ2JHOXVaMlZ5SUdsbUlIQnZjM05wWW14bExseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpXNWtaWEpFYVdSVGRYTndaVzVrUkdWc1lYbEpabEJ2YzNOcFlteGxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGUlBSRTg2SUU5dWJIa2djMk5vWldSMWJHVWdkWEJrWVhSbGN5QnBaaUIwYUdWelpTQjJZV3gxWlhNZ1lYSmxJRzV2YmlCbGNYVmhiQ3dnYVM1bExpQnBkQ0JqYUdGdVoyVmtMbHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHVaWGgwUkdsa1ZHbHRaVzkxZENCOGZDQndjbVYyUkdsa1ZHbHRaVzkxZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hwY3lCaWIzVnVaR0Z5ZVNCcWRYTjBJSFJwYldWa0lHOTFkQ3dnYzJOb1pXUjFiR1VnWVc0Z1pXWm1aV04wSUhSdklHRjBkR0ZqYUNCaFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCeVpYUnllU0JzYVhOMFpXNWxjaUIwYnlCMGFHVWdjSEp2YldselpTNGdWR2hwY3lCbWJHRm5JR2x6SUdGc2MyOGdkWE5sWkNCMGJ5Qm9hV1JsSUhSb1pWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NISnBiV0Z5ZVNCamFHbHNaSEpsYmk0Z1NXNGdiWFYwWVhScGIyNGdiVzlrWlN3Z2QyVWdZV3h6YnlCdVpXVmtJSFJvWlNCbWJHRm5JSFJ2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUFxZFc1b2FXUmxLaUJqYUdsc1pISmxiaUIwYUdGMElIZGxjbVVnY0hKbGRtbHZkWE5zZVNCb2FXUmtaVzRzSUhOdklHTm9aV05ySUdsbUlIUm9hWE5jYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR2x6SUdOMWNuSmxiblJzZVNCMGFXMWxaQ0J2ZFhRc0lIUnZieTVjYmlBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlCOFBTQlZjR1JoZEdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlFiM0owWVd3NlhHNGdJQ0FnSUNCd2IzQkliM04wUTI5dWRHRnBibVZ5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJSFZ3WkdGMFpVaHZjM1JEYjI1MFlXbHVaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc1Y2JpQWdJQ0JqWVhObElFTnZiblJsZUhSUWNtOTJhV1JsY2pwY2JpQWdJQ0FnSUM4dklGQnZjQ0J3Y205MmFXUmxjaUJtYVdKbGNseHVJQ0FnSUNBZ2NHOXdVSEp2ZG1sa1pYSW9kMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQmpZWE5sSUVsdVkyOXRjR3hsZEdWRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1UyRnRaU0JoY3lCamJHRnpjeUJqYjIxd2IyNWxiblFnWTJGelpTNGdTU0J3ZFhRZ2FYUWdaRzkzYmlCb1pYSmxJSE52SUhSb1lYUWdkR2hsSUhSaFozTWdZWEpsWEc0Z0lDQWdJQ0FnSUM4dklITmxjWFZsYm5ScFlXd2dkRzhnWlc1emRYSmxJSFJvYVhNZ2MzZHBkR05vSUdseklHTnZiWEJwYkdWa0lIUnZJR0VnYW5WdGNDQjBZV0pzWlM1Y2JpQWdJQ0FnSUNBZ2RtRnlJRjlEYjIxd2IyNWxiblFnUFNCM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNocGMwTnZiblJsZUhSUWNtOTJhV1JsY2loZlEyOXRjRzl1Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhCdmNFTnZiblJsZUhRb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElGTjFjM0JsYm5ObFRHbHpkRU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnY0c5d1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlISmxibVJsY2xOMFlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvY21WdVpHVnlVM1JoZEdVZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCWFpTZHlaU0J5ZFc1dWFXNW5JR2x1SUhSb1pTQmtaV1poZFd4MExDQmNJbWx1WkdWd1pXNWtaVzUwWENJZ2JXOWtaUzVjYmlBZ0lDQWdJQ0FnSUNBdkx5QlhaU0JrYjI0bmRDQmtieUJoYm5sMGFHbHVaeUJwYmlCMGFHbHpJRzF2WkdVdVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQjJZWElnWkdsa1UzVnpjR1Z1WkVGc2NtVmhaSGtnUFNBb2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUNZZ1JHbGtRMkZ3ZEhWeVpTa2dJVDA5SUU1dlJXWm1aV04wTzF4dUlDQWdJQ0FnSUNCMllYSWdjbVZ1WkdWeVpXUlVZV2xzSUQwZ2NtVnVaR1Z5VTNSaGRHVXVjbVZ1WkdWeWFXNW5PMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaVzVrWlhKbFpGUmhhV3dnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJYWlNCcWRYTjBJSEpsYm1SbGNtVmtJSFJvWlNCb1pXRmtMbHh1SUNBZ0lDQWdJQ0FnSUdsbUlDZ2haR2xrVTNWemNHVnVaRUZzY21WaFpIa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ2FYTWdkR2hsSUdacGNuTjBJSEJoYzNNdUlGZGxJRzVsWldRZ2RHOGdabWxuZFhKbElHOTFkQ0JwWmlCaGJubDBhR2x1WnlCcGN5QnpkR2xzYkZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYzNWemNHVnVaR1ZrSUdsdUlIUm9aU0J5Wlc1a1pYSmxaQ0J6WlhRdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCSlppQnVaWGNnWTI5dWRHVnVkQ0IxYm5OMWMzQmxibVJsWkN3Z1luVjBJSFJvWlhKbEozTWdjM1JwYkd3Z2MyOXRaU0JqYjI1MFpXNTBJSFJvWVhSY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdScFpHNG5kQzRnVkdobGJpQjNaU0J1WldWa0lIUnZJR1J2SUdFZ2MyVmpiMjVrSUhCaGMzTWdkR2hoZENCbWIzSmpaWE1nWlhabGNubDBhR2x1WjF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnZEc4Z2EyVmxjQ0J6YUc5M2FXNW5JSFJvWldseUlHWmhiR3hpWVdOcmN5NWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJRzFwWjJoMElHSmxJSE4xYzNCbGJtUmxaQ0JwWmlCemIyMWxkR2hwYm1jZ2FXNGdkR2hwY3lCeVpXNWtaWElnY0dGemN5QnpkWE53Wlc1a1pXUXNJRzl5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ6YjIxbGRHaHBibWNnYVc0Z2RHaGxJSEJ5WlhacGIzVnpJR052YlcxcGRIUmxaQ0J3WVhOeklITjFjM0JsYm1SbFpDNGdUM1JvWlhKM2FYTmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkR2hsY21VbmN5QnVieUJqYUdGdVkyVWdjMjhnZDJVZ1kyRnVJSE5yYVhBZ2RHaGxJR1Y0Y0dWdWMybDJaU0JqWVd4c0lIUnZYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5Qm1hVzVrUm1seWMzUlRkWE53Wlc1a1pXUXVYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdZMkZ1Ym05MFFtVlRkWE53Wlc1a1pXUWdQU0J5Wlc1a1pYSklZWE5PYjNSVGRYTndaVzVrWldSWlpYUW9LU0FtSmlBb1kzVnljbVZ1ZENBOVBUMGdiblZzYkNCOGZDQW9ZM1Z5Y21WdWRDNWxabVpsWTNSVVlXY2dKaUJFYVdSRFlYQjBkWEpsS1NBOVBUMGdUbTlGWm1abFkzUXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdOaGJtNXZkRUpsVTNWemNHVnVaR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnliM2NnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjNhR2xzWlNBb2NtOTNJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlITjFjM0JsYm1SbFpDQTlJR1pwYm1SR2FYSnpkRk4xYzNCbGJtUmxaQ2h5YjNjcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hOMWMzQmxibVJsWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR2xrVTNWemNHVnVaRUZzY21WaFpIa2dQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRVJwWkVOaGNIUjFjbVU3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamRYUlBabVpVWVdsc1NXWk9aV1ZrWldRb2NtVnVaR1Z5VTNSaGRHVXNJR1poYkhObEtUc2dMeThnU1dZZ2RHaHBjeUJwY3lCaElHNWxkMng1SUhOMWMzQmxibVJsWkNCMGNtVmxMQ0JwZENCdGFXZG9kQ0J1YjNRZ1oyVjBJR052YlcxcGRIUmxaQ0JoYzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjR0Z5ZENCdlppQjBhR1VnYzJWamIyNWtJSEJoYzNNdUlFbHVJSFJvWVhRZ1kyRnpaU0J1YjNSb2FXNW5JSGRwYkd3Z2MzVmljMk55YVdKbElIUnZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCcGRITWdkR2hsYm01aFlteGxjeTRnU1c1emRHVmhaQ3dnZDJVbmJHd2dkSEpoYm5ObVpYSWdhWFJ6SUhSb1pXNXVZV0pzWlhNZ2RHOGdkR2hsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlRkWE53Wlc1elpVeHBjM1FnYzI4Z2RHaGhkQ0JwZENCallXNGdjbVYwY25rZ2FXWWdkR2hsZVNCeVpYTnZiSFpsTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWR2hsY21VZ2JXbG5hSFFnWW1VZ2JYVnNkR2x3YkdVZ2IyWWdkR2hsYzJVZ2FXNGdkR2hsSUd4cGMzUWdZblYwSUhOcGJtTmxJSGRsSjNKbFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJuYjJsdVp5QjBieUIzWVdsMElHWnZjaUJoYkd3Z2IyWWdkR2hsYlNCaGJubDNZWGtzSUdsMElHUnZaWE51SjNRZ2NtVmhiR3g1SUcxaGRIUmxjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2QyaHBZMmdnYjI1bGN5Qm5aWFJ6SUhSdklIQnBibWN1SUVsdUlIUm9aVzl5ZVNCM1pTQmpiM1ZzWkNCblpYUWdZMnhsZG1WeUlHRnVaQ0JyWldWd1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUIwY21GamF5QnZaaUJvYjNjZ2JXRnVlU0JrWlhCbGJtUmxibU5wWlhNZ2NtVnRZV2x1SUdKMWRDQnBkQ0JuWlhSeklIUnlhV05yZVNCaVpXTmhkWE5sWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBiaUIwYUdVZ2JXVmhiblJwYldVc0lIZGxJR05oYmlCaFpHUXZjbVZ0YjNabEwyTm9ZVzVuWlNCcGRHVnRjeUJoYm1RZ1pHVndaVzVrWlc1amFXVnpMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1YyVWdiV2xuYUhRZ1ltRnBiQ0J2ZFhRZ2IyWWdkR2hsSUd4dmIzQWdZbVZtYjNKbElHWnBibVJwYm1jZ1lXNTVJR0oxZENCMGFHRjBYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCa2IyVnpiaWQwSUcxaGRIUmxjaUJ6YVc1alpTQjBhR0YwSUcxbFlXNXpJSFJvWVhRZ2RHaGxJRzkwYUdWeUlHSnZkVzVrWVhKcFpYTWdkR2hoZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdkMlVnWkdsa0lHWnBibVFnWVd4eVpXRmtlU0JvWVhNZ2RHaGxhWElnYkdsemRHVnVaWEp6SUdGMGRHRmphR1ZrTGx4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnYm1WM1ZHaGxibTVoWW14bGN5QTlJSE4xYzNCbGJtUmxaQzUxY0dSaGRHVlJkV1YxWlR0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0c1bGQxUm9aVzV1WVdKc1pYTWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011ZFhCa1lYUmxVWFZsZFdVZ1BTQnVaWGRVYUdWdWJtRmliR1Z6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1bFptWmxZM1JVWVdjZ2ZEMGdWWEJrWVhSbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0F2THlCU1pYSmxibVJsY2lCMGFHVWdkMmh2YkdVZ2JHbHpkQ3dnWW5WMElIUm9hWE1nZEdsdFpTd2dkMlVuYkd3Z1ptOXlZMlVnWm1Gc2JHSmhZMnR6WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBieUJ6ZEdGNUlHbHVJSEJzWVdObExseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVW1WelpYUWdkR2hsSUdWbVptVmpkQ0JzYVhOMElHSmxabTl5WlNCa2IybHVaeUIwYUdVZ2MyVmpiMjVrSUhCaGMzTWdjMmx1WTJVZ2RHaGhkQ2R6SUc1dmR5QnBiblpoYkdsa0xseHVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHlaVzVrWlhKVGRHRjBaUzVzWVhOMFJXWm1aV04wSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtWnBjbk4wUldabVpXTjBJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YkdGemRFVm1abVZqZENBOUlISmxibVJsY2xOMFlYUmxMbXhoYzNSRlptWmxZM1E3SUM4dklGSmxjMlYwSUhSb1pTQmphR2xzWkNCbWFXSmxjbk1nZEc4Z2RHaGxhWElnYjNKcFoybHVZV3dnYzNSaGRHVXVYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGMyVjBRMmhwYkdSR2FXSmxjbk1vZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1RzZ0x5OGdVMlYwSUhWd0lIUm9aU0JUZFhOd1pXNXpaU0JEYjI1MFpYaDBJSFJ2SUdadmNtTmxJSE4xYzNCbGJuTmxJR0Z1WkNCcGJXMWxaR2xoZEdWc2VWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnY21WeVpXNWtaWElnZEdobElHTm9hV3hrY21WdUxseHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3ZFhOb1UzVnpjR1Z1YzJWRGIyNTBaWGgwS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0J6WlhSVGFHRnNiRzkzVTNWemNHVnVjMlZEYjI1MFpYaDBLSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkQ3dnUm05eVkyVlRkWE53Wlc1elpVWmhiR3hpWVdOcktTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1E3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtOTNJRDBnY205M0xuTnBZbXhwYm1jN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZM1YwVDJabVZHRnBiRWxtVG1WbFpHVmtLSEpsYm1SbGNsTjBZWFJsTENCbVlXeHpaU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQXZMeUJPWlhoMElIZGxKM0psSUdkdmFXNW5JSFJ2SUhKbGJtUmxjaUIwYUdVZ2RHRnBiQzVjYmx4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRUZ3Y0dWdVpDQjBhR1VnY21WdVpHVnlaV1FnY205M0lIUnZJSFJvWlNCamFHbHNaQ0JzYVhOMExseHVJQ0FnSUNBZ0lDQWdJR2xtSUNnaFpHbGtVM1Z6Y0dWdVpFRnNjbVZoWkhrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmZjM1Z6Y0dWdVpHVmtJRDBnWm1sdVpFWnBjbk4wVTNWemNHVnVaR1ZrS0hKbGJtUmxjbVZrVkdGcGJDazdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmYzNWemNHVnVaR1ZrSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUI4UFNCRWFXUkRZWEIwZFhKbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCa2FXUlRkWE53Wlc1a1FXeHlaV0ZrZVNBOUlIUnlkV1U3SUM4dklFVnVjM1Z5WlNCM1pTQjBjbUZ1YzJabGNpQjBhR1VnZFhCa1lYUmxJSEYxWlhWbElIUnZJSFJvWlNCd1lYSmxiblFnYzI4Z2RHaGhkQ0JwZENCa2IyVnpiaWQwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdkbGRDQnNiM04wSUdsbUlIUm9hWE1nY205M0lHVnVaSE1nZFhBZ1pISnZjSEJsWkNCa2RYSnBibWNnWVNCelpXTnZibVFnY0dGemN5NWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnWDI1bGQxUm9aVzV1WVdKc1pYTWdQU0JmYzNWemNHVnVaR1ZrTG5Wd1pHRjBaVkYxWlhWbE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hmYm1WM1ZHaGxibTVoWW14bGN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnWDI1bGQxUm9aVzV1WVdKc1pYTTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRlZ3WkdGMFpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTjFkRTltWmxSaGFXeEpaazVsWldSbFpDaHlaVzVrWlhKVGRHRjBaU3dnZEhKMVpTazdJQzh2SUZSb2FYTWdiV2xuYUhRZ2FHRjJaU0JpWldWdUlHMXZaR2xtYVdWa0xseHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5Wlc1a1pYSlRkR0YwWlM1MFlXbHNJRDA5UFNCdWRXeHNJQ1ltSUhKbGJtUmxjbE4wWVhSbExuUmhhV3hOYjJSbElEMDlQU0FuYUdsa1pHVnVKeUFtSmlBaGNtVnVaR1Z5WldSVVlXbHNMbUZzZEdWeWJtRjBaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJRzVsWldRZ2RHOGdaR1ZzWlhSbElIUm9aU0J5YjNjZ2QyVWdhblZ6ZENCeVpXNWtaWEpsWkM1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlNaWE5sZENCMGFHVWdaV1ptWldOMElHeHBjM1FnZEc4Z2QyaGhkQ0JwZENCM1lYTWdZbVZtYjNKbElIZGxJSEpsYm1SbGNtVmtJSFJvYVhOY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmphR2xzWkM0Z1ZHaGxJRzVsYzNSbFpDQmphR2xzWkhKbGJpQm9ZWFpsSUdGc2NtVmhaSGtnWVhCd1pXNWtaV1FnZEdobGJYTmxiSFpsY3k1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCMllYSWdiR0Z6ZEVWbVptVmpkQ0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpMbXhoYzNSRlptWmxZM1FnUFNCeVpXNWtaWEpUZEdGMFpTNXNZWE4wUldabVpXTjBPeUF2THlCU1pXMXZkbVVnWVc1NUlHVm1abVZqZEhNZ2RHaGhkQ0IzWlhKbElHRndjR1Z1WkdWa0lHRm1kR1Z5SUhSb2FYTWdjRzlwYm5RdVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYkdGemRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdiR0Z6ZEVWbVptVmpkQzV1WlhoMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5SUM4dklGZGxKM0psSUdSdmJtVXVYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJ1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0NBdkx5QlVhR1VnZEdsdFpTQnBkQ0IwYjI5cklIUnZJSEpsYm1SbGNpQnNZWE4wSUhKdmR5QnBjeUJuY21WaGRHVnlJSFJvWVc0Z2RHbHRaU0IxYm5ScGJGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxJR1Y0Y0dseVlYUnBiMjR1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnViM2NvS1NBcUlESWdMU0J5Wlc1a1pYSlRkR0YwWlM1eVpXNWtaWEpwYm1kVGRHRnlkRlJwYldVZ1BpQnlaVzVrWlhKVGRHRjBaUzUwWVdsc1JYaHdhWEpoZEdsdmJpQW1KaUJ5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNBK0lFNWxkbVZ5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGZGxJR2hoZG1VZ2JtOTNJSEJoYzNObFpDQnZkWElnUTFCVklHUmxZV1JzYVc1bElHRnVaQ0IzWlNkc2JDQnFkWE4wSUdkcGRtVWdkWEFnWm5WeWRHaGxjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJoZEhSbGJYQjBjeUIwYnlCeVpXNWtaWElnZEdobElHMWhhVzRnWTI5dWRHVnVkQ0JoYm1RZ2IyNXNlU0J5Wlc1a1pYSWdabUZzYkdKaFkydHpMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJVYUdVZ1lYTnpkVzF3ZEdsdmJpQnBjeUIwYUdGMElIUm9hWE1nYVhNZ2RYTjFZV3hzZVNCbVlYTjBaWEl1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JFYVdSRFlYQjBkWEpsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JrYVdSVGRYTndaVzVrUVd4eVpXRmtlU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTjFkRTltWmxSaGFXeEpaazVsWldSbFpDaHlaVzVrWlhKVGRHRjBaU3dnWm1Gc2MyVXBPeUF2THlCVGFXNWpaU0J1YjNSb2FXNW5JR0ZqZEhWaGJHeDVJSE4xYzNCbGJtUmxaQ3dnZEdobGNtVWdkMmxzYkNCdWIzUm9hVzVuSUhSdklIQnBibWNnZEdocGMxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QjBieUJuWlhRZ2FYUWdjM1JoY25SbFpDQmlZV05ySUhWd0lIUnZJR0YwZEdWdGNIUWdkR2hsSUc1bGVIUWdhWFJsYlM0Z1NXWWdkMlVnWTJGdUlITm9iM2RjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnZEdobGJTd2dkR2hsYmlCMGFHVjVJSEpsWVd4c2VTQm9ZWFpsSUhSb1pTQnpZVzFsSUhCeWFXOXlhWFI1SUdGeklIUm9hWE1nY21WdVpHVnlMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJUYnlCM1pTZHNiQ0J3YVdOcklHbDBJR0poWTJzZ2RYQWdkR2hsSUhabGNua2dibVY0ZENCeVpXNWtaWElnY0dGemN5QnZibU5sSUhkbEozWmxJR2hoWkZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCaGJpQnZjSEJ2Y25SMWJtbDBlU0IwYnlCNWFXVnNaQ0JtYjNJZ2NHRnBiblF1WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHNWxlSFJRY21sdmNtbDBlU0E5SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbElDMGdNVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2JtVjRkRkJ5YVc5eWFYUjVPMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0WVhKclUzQmhkMjVsWkZkdmNtc29ibVY0ZEZCeWFXOXlhWFI1S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXNWtaWEpUZEdGMFpTNXBjMEpoWTJ0M1lYSmtjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVkdobElHVm1abVZqZENCc2FYTjBJRzltSUhSb1pTQmlZV05yZDJGeVpITWdkR0ZwYkNCM2FXeHNJR2hoZG1VZ1ltVmxiaUJoWkdSbFpGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHOGdkR2hsSUdWdVpDNGdWR2hwY3lCaWNtVmhhM01nZEdobElHZDFZWEpoYm5SbFpTQjBhR0YwSUd4cFptVXRZM2xqYkdWeklHWnBjbVVnYVc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhOcFlteHBibWNnYjNKa1pYSWdZblYwSUhSb1lYUWdhWE51SjNRZ1lTQnpkSEp2Ym1jZ1ozVmhjbUZ1ZEdWbElIQnliMjFwYzJWa0lHSjVJRkpsWVdOMExseHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1JYTndaV05wWVd4c2VTQnphVzVqWlNCMGFHVnpaU0J0YVdkb2RDQmhiSE52SUdwMWMzUWdjRzl3SUdsdUlHUjFjbWx1WnlCbWRYUjFjbVVnWTI5dGJXbDBjeTVjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRUZ3Y0dWdVpDQjBieUIwYUdVZ1ltVm5hVzV1YVc1bklHOW1JSFJvWlNCc2FYTjBMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVnVaR1Z5WldSVVlXbHNMbk5wWW14cGJtY2dQU0IzYjNKclNXNVFjbTluY21WemN5NWphR2xzWkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtTm9hV3hrSUQwZ2NtVnVaR1Z5WldSVVlXbHNPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjJZWElnY0hKbGRtbHZkWE5UYVdKc2FXNW5JRDBnY21WdVpHVnlVM1JoZEdVdWJHRnpkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hCeVpYWnBiM1Z6VTJsaWJHbHVaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21WMmFXOTFjMU5wWW14cGJtY3VjMmxpYkdsdVp5QTlJSEpsYm1SbGNtVmtWR0ZwYkR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtJRDBnY21WdVpHVnlaV1JVWVdsc08xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0J5Wlc1a1pYSlRkR0YwWlM1c1lYTjBJRDBnY21WdVpHVnlaV1JVWVdsc08xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2h5Wlc1a1pYSlRkR0YwWlM1MFlXbHNJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWMlVnYzNScGJHd2dhR0YyWlNCMFlXbHNJSEp2ZDNNZ2RHOGdjbVZ1WkdWeUxseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXNWtaWEpUZEdGMFpTNTBZV2xzUlhod2FYSmhkR2x2YmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnU0dWMWNtbHpkR2xqSUdadmNpQm9iM2NnYkc5dVp5QjNaU2R5WlNCM2FXeHNhVzVuSUhSdklITndaVzVrSUhKbGJtUmxjbWx1WnlCeWIzZHpYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QjFiblJwYkNCM1pTQnFkWE4wSUdkcGRtVWdkWEFnWVc1a0lITm9iM2NnZDJoaGRDQjNaU0JvWVhabElITnZJR1poY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCVVFVbE1YMFZZVUVsU1FWUkpUMDVmVkVsTlJVOVZWRjlOVXlBOUlEVXdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxibVJsY2xOMFlYUmxMblJoYVd4RmVIQnBjbUYwYVc5dUlEMGdibTkzS0NrZ0t5QlVRVWxNWDBWWVVFbFNRVlJKVDA1ZlZFbE5SVTlWVkY5TlV6c2dMeThnVkU5RVR6b2dWR2hwY3lCcGN5QnRaV0Z1ZENCMGJ5QnRhVzFwWXlCMGFHVWdkSEpoYVc0Z2JXOWtaV3dnYjNJZ1NrNUVJR0oxZENCMGFHbHpYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBjeUJoSUhCbGNpQmpiMjF3YjI1bGJuUWdkbUZzZFdVdUlFbDBJSE5vYjNWc1pDQnlaV0ZzYkhrZ1ltVWdjMmx1WTJVZ2RHaGxJSE4wWVhKMFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCdlppQjBhR1VnZEc5MFlXd2djbVZ1WkdWeUlHOXlJR3hoYzNRZ1kyOXRiV2wwTGlCRGIyNXphV1JsY2lCMWMybHVaeUJ6YjIxbGRHaHBibWNnYkdsclpWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1oyeHZZbUZzVFc5emRGSmxZMlZ1ZEVaaGJHeGlZV05yVkdsdFpTNGdWR2hoZENCa2IyVnpiaWQwSUdGalkyOTFiblFnWm05eUlHSmxhVzVuWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ6ZFhOd1pXNWtaV1FnWm05eUlIQmhjblFnYjJZZ2RHaGxJSFJwYldVZ2IzSWdkMmhsYmlCcGRDZHpJR0VnYm1WM0lISmxibVJsY2k1Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsMElITm9iM1ZzWkNCd2NtOWlZV0pzZVNCMWMyVWdZU0JuYkc5aVlXd2djM1JoY25RZ2RHbHRaU0IyWVd4MVpTQnBibk4wWldGa0xseHVJQ0FnSUNBZ0lDQWdJSDBnTHk4Z1VHOXdJR0VnY205M0xseHVYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdibVY0ZENBOUlISmxibVJsY2xOMFlYUmxMblJoYVd3N1hHNGdJQ0FnSUNBZ0lDQWdjbVZ1WkdWeVUzUmhkR1V1Y21WdVpHVnlhVzVuSUQwZ2JtVjRkRHRjYmlBZ0lDQWdJQ0FnSUNCeVpXNWtaWEpUZEdGMFpTNTBZV2xzSUQwZ2JtVjRkQzV6YVdKc2FXNW5PMXh1SUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExteGhjM1JGWm1abFkzUWdQU0IzYjNKclNXNVFjbTluY21WemN5NXNZWE4wUldabVpXTjBPMXh1SUNBZ0lDQWdJQ0FnSUhKbGJtUmxjbE4wWVhSbExuSmxibVJsY21sdVoxTjBZWEowVkdsdFpTQTlJRzV2ZHlncE8xeHVJQ0FnSUNBZ0lDQWdJRzVsZUhRdWMybGliR2x1WnlBOUlHNTFiR3c3SUM4dklGSmxjM1J2Y21VZ2RHaGxJR052Ym5SbGVIUXVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nVjJVZ1kyRnVJSEJ5YjJKaFlteDVJR3AxYzNRZ1lYWnZhV1FnY0c5d2NHbHVaeUJwZENCcGJuTjBaV0ZrSUdGdVpDQnZibXg1WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdjMlYwZEdsdVp5QnBkQ0IwYUdVZ1ptbHljM1FnZEdsdFpTQjNaU0JuYnlCbWNtOXRJRzV2ZENCemRYTndaVzVrWldRZ2RHOGdjM1Z6Y0dWdVpHVmtMbHh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJSE4xYzNCbGJuTmxRMjl1ZEdWNGRDQTlJSE4xYzNCbGJuTmxVM1JoWTJ0RGRYSnpiM0l1WTNWeWNtVnVkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hrYVdSVGRYTndaVzVrUVd4eVpXRmtlU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM1Z6Y0dWdWMyVkRiMjUwWlhoMElEMGdjMlYwVTJoaGJHeHZkMU4xYzNCbGJuTmxRMjl1ZEdWNGRDaHpkWE53Wlc1elpVTnZiblJsZUhRc0lFWnZjbU5sVTNWemNHVnVjMlZHWVd4c1ltRmpheWs3WEc0Z0lDQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4xYzNCbGJuTmxRMjl1ZEdWNGRDQTlJSE5sZEVSbFptRjFiSFJUYUdGc2JHOTNVM1Z6Y0dWdWMyVkRiMjUwWlhoMEtITjFjM0JsYm5ObFEyOXVkR1Y0ZENrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2NIVnphRk4xYzNCbGJuTmxRMjl1ZEdWNGRDaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2MzVnpjR1Z1YzJWRGIyNTBaWGgwS1RzZ0x5OGdSRzhnWVNCd1lYTnpJRzkyWlhJZ2RHaGxJRzVsZUhRZ2NtOTNMbHh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVmJtdHViM2R1SUhWdWFYUWdiMllnZDI5eWF5QjBZV2NnS0Z3aUlDc2dkMjl5YTBsdVVISnZaM0psYzNNdWRHRm5JQ3NnWENJcExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ1ZDJsdVpGZHZjbXNvZDI5eWEwbHVVSEp2WjNKbGMzTXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSE4zYVhSamFDQW9kMjl5YTBsdVVISnZaM0psYzNNdWRHRm5LU0I3WEc0Z0lDQWdZMkZ6WlNCRGJHRnpjME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlFTnZiWEJ2Ym1WdWRDQTlJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6UTI5dWRHVjRkRkJ5YjNacFpHVnlLRU52YlhCdmJtVnVkQ2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiM0JEYjI1MFpYaDBLSGR2Y210SmJsQnliMmR5WlhOektUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhaaGNpQmxabVpsWTNSVVlXY2dQU0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXYzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHVm1abVZqZEZSaFp5QW1JRk5vYjNWc1pFTmhjSFIxY21VcElIdGNiaUFnSUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dQU0JsWm1abFkzUlVZV2NnSmlCK1UyaHZkV3hrUTJGd2RIVnlaU0I4SUVScFpFTmhjSFIxY21VN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlIZHZjbXRKYmxCeWIyZHlaWE56TzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElFaHZjM1JTYjI5ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQndiM0JJYjNOMFEyOXVkR0ZwYm1WeUtIZHZjbXRKYmxCeWIyZHlaWE56S1R0Y2JpQWdJQ0FnSUNBZ2NHOXdWRzl3VEdWMlpXeERiMjUwWlhoMFQySnFaV04wS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnZG1GeUlGOWxabVpsWTNSVVlXY2dQU0IzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXYzdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRW9LRjlsWm1abFkzUlVZV2NnSmlCRWFXUkRZWEIwZFhKbEtTQTlQVDBnVG05RlptWmxZM1FwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpVkdobElISnZiM1FnWm1GcGJHVmtJSFJ2SUhWdWJXOTFiblFnWVdaMFpYSWdZVzRnWlhKeWIzSXVJRlJvYVhNZ2FYTWdiR2xyWld4NUlHRWdZblZuSUdsdUlGSmxZV04wTGlCUWJHVmhjMlVnWm1sc1pTQmhiaUJwYzNOMVpTNWNJaUFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUE5SUY5bFptWmxZM1JVWVdjZ0ppQitVMmh2ZFd4a1EyRndkSFZ5WlNCOElFUnBaRU5oY0hSMWNtVTdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjNiM0pyU1c1UWNtOW5jbVZ6Y3p0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ2NHOXdTSGxrY21GMGFXOXVVM1JoZEdWY2JpQWdJQ0FnSUNBZ2NHOXdTRzl6ZEVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEJ2Y0ZOMWMzQmxibk5sUTI5dWRHVjRkQ2gzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlGOWxabVpsWTNSVVlXY3lJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVaV1ptWldOMFZHRm5PMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGZaV1ptWldOMFZHRm5NaUFtSUZOb2IzVnNaRU5oY0hSMWNtVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnUFNCZlpXWm1aV04wVkdGbk1pQW1JSDVUYUc5MWJHUkRZWEIwZFhKbElId2dSR2xrUTJGd2RIVnlaVHNnTHk4Z1EyRndkSFZ5WldRZ1lTQnpkWE53Wlc1elpTQmxabVpsWTNRdUlGSmxMWEpsYm1SbGNpQjBhR1VnWW05MWJtUmhjbmt1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2QyOXlhMGx1VUhKdlozSmxjM003WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWTWFYTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0J3YjNCVGRYTndaVzV6WlVOdmJuUmxlSFFvZDI5eWEwbHVVSEp2WjNKbGMzTXBPeUF2THlCVGRYTndaVzV6WlV4cGMzUWdaRzlsYzI0bmRDQmhZM1IxWVd4c2VTQmpZWFJqYUNCaGJubDBhR2x1Wnk0Z1NYUWdjMmh2ZFd4a0ozWmxJR0psWlc1Y2JpQWdJQ0FnSUNBZ0x5OGdZMkYxWjJoMElHSjVJR0VnYm1WemRHVmtJR0p2ZFc1a1lYSjVMaUJKWmlCdWIzUXNJR2wwSUhOb2IzVnNaQ0JpZFdKaWJHVWdkR2h5YjNWbmFDNWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZCdmNuUmhiRHBjYmlBZ0lDQWdJSEJ2Y0VodmMzUkRiMjUwWVdsdVpYSW9kMjl5YTBsdVVISnZaM0psYzNNcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ0lDQmpZWE5sSUVOdmJuUmxlSFJRY205MmFXUmxjanBjYmlBZ0lDQWdJSEJ2Y0ZCeWIzWnBaR1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVkMmx1WkVsdWRHVnljblZ3ZEdWa1YyOXlheWhwYm5SbGNuSjFjSFJsWkZkdmNtc3BJSHRjYmlBZ2MzZHBkR05vSUNocGJuUmxjbkoxY0hSbFpGZHZjbXN1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JEYkdGemMwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdOb2FXeGtRMjl1ZEdWNGRGUjVjR1Z6SUQwZ2FXNTBaWEp5ZFhCMFpXUlhiM0pyTG5SNWNHVXVZMmhwYkdSRGIyNTBaWGgwVkhsd1pYTTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTm9hV3hrUTI5dWRHVjRkRlI1Y0dWeklDRTlQU0J1ZFd4c0lDWW1JR05vYVd4a1EyOXVkR1Y0ZEZSNWNHVnpJQ0U5UFNCMWJtUmxabWx1WldRcElIdGNiaUFnSUNBZ0lDQWdJQ0J3YjNCRGIyNTBaWGgwS0dsdWRHVnljblZ3ZEdWa1YyOXlheWs3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZKdmIzUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEJ2Y0VodmMzUkRiMjUwWVdsdVpYSW9hVzUwWlhKeWRYQjBaV1JYYjNKcktUdGNiaUFnSUNBZ0lDQWdjRzl3Vkc5d1RHVjJaV3hEYjI1MFpYaDBUMkpxWldOMEtHbHVkR1Z5Y25Wd2RHVmtWMjl5YXlrN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQkliM04wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCd2IzQkliM04wUTI5dWRHVjRkQ2hwYm5SbGNuSjFjSFJsWkZkdmNtc3BPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnU0c5emRGQnZjblJoYkRwY2JpQWdJQ0FnSUhCdmNFaHZjM1JEYjI1MFlXbHVaWElvYVc1MFpYSnlkWEIwWldSWGIzSnJLVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJSEJ2Y0ZOMWMzQmxibk5sUTI5dWRHVjRkQ2hwYm5SbGNuSjFjSFJsWkZkdmNtc3BPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNCallYTmxJRk4xYzNCbGJuTmxUR2x6ZEVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUhCdmNGTjFjM0JsYm5ObFEyOXVkR1Y0ZENocGJuUmxjbkoxY0hSbFpGZHZjbXNwTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzVjYmlBZ0lDQmpZWE5sSUVOdmJuUmxlSFJRY205MmFXUmxjanBjYmlBZ0lDQWdJSEJ2Y0ZCeWIzWnBaR1Z5S0dsdWRHVnljblZ3ZEdWa1YyOXlheWs3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkRZWEIwZFhKbFpGWmhiSFZsS0haaGJIVmxMQ0J6YjNWeVkyVXBJSHRjYmlBZ0x5OGdTV1lnZEdobElIWmhiSFZsSUdseklHRnVJR1Z5Y205eUxDQmpZV3hzSUhSb2FYTWdablZ1WTNScGIyNGdhVzF0WldScFlYUmxiSGtnWVdaMFpYSWdhWFFnYVhNZ2RHaHliM2R1WEc0Z0lDOHZJSE52SUhSb1pTQnpkR0ZqYXlCcGN5QmhZMk4xY21GMFpTNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQjJZV3gxWlRvZ2RtRnNkV1VzWEc0Z0lDQWdjMjkxY21ObE9pQnpiM1Z5WTJVc1hHNGdJQ0FnYzNSaFkyczZJR2RsZEZOMFlXTnJRbmxHYVdKbGNrbHVSR1YyUVc1a1VISnZaQ2h6YjNWeVkyVXBYRzRnSUgwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUd4dlowTmhjSFIxY21Wa1JYSnliM0lvWTJGd2RIVnlaV1JGY25KdmNpa2dlMXh1WEc0Z0lIWmhjaUJsY25KdmNpQTlJR05oY0hSMWNtVmtSWEp5YjNJdVpYSnliM0k3WEc1Y2JpQWdlMXh1SUNBZ0lIWmhjaUJqYjIxd2IyNWxiblJPWVcxbElEMGdZMkZ3ZEhWeVpXUkZjbkp2Y2k1amIyMXdiMjVsYm5ST1lXMWxMRnh1SUNBZ0lDQWdJQ0JqYjIxd2IyNWxiblJUZEdGamF5QTlJR05oY0hSMWNtVmtSWEp5YjNJdVkyOXRjRzl1Wlc1MFUzUmhZMnNzWEc0Z0lDQWdJQ0FnSUdWeWNtOXlRbTkxYm1SaGNubE9ZVzFsSUQwZ1kyRndkSFZ5WldSRmNuSnZjaTVsY25KdmNrSnZkVzVrWVhKNVRtRnRaU3hjYmlBZ0lDQWdJQ0FnWlhKeWIzSkNiM1Z1WkdGeWVVWnZkVzVrSUQwZ1kyRndkSFZ5WldSRmNuSnZjaTVsY25KdmNrSnZkVzVrWVhKNVJtOTFibVFzWEc0Z0lDQWdJQ0FnSUhkcGJHeFNaWFJ5ZVNBOUlHTmhjSFIxY21Wa1JYSnliM0l1ZDJsc2JGSmxkSEo1T3lBdkx5QkNjbTkzYzJWeWN5QnpkWEJ3YjNKMElITnBiR1Z1WTJsdVp5QjFibU5oZFdkb2RDQmxjbkp2Y25NZ1lua2dZMkZzYkdsdVoxeHVJQ0FnSUM4dklHQndjbVYyWlc1MFJHVm1ZWFZzZENncFlDQnBiaUIzYVc1a2IzY2dZR1Z5Y205eVlDQm9ZVzVrYkdWeUxseHVJQ0FnSUM4dklGZGxJSEpsWTI5eVpDQjBhR2x6SUdsdVptOXliV0YwYVc5dUlHRnpJR0Z1SUdWNGNHRnVaRzhnYjI0Z2RHaGxJR1Z5Y205eUxseHVYRzRnSUNBZ2FXWWdLR1Z5Y205eUlDRTlJRzUxYkd3Z0ppWWdaWEp5YjNJdVgzTjFjSEJ5WlhOelRHOW5aMmx1WnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLR1Z5Y205eVFtOTFibVJoY25sR2IzVnVaQ0FtSmlCM2FXeHNVbVYwY25rcElIdGNiaUFnSUNBZ0lDQWdMeThnVkdobElHVnljbTl5SUdseklISmxZMjkyWlhKaFlteGxJR0Z1WkNCM1lYTWdjMmxzWlc1alpXUXVYRzRnSUNBZ0lDQWdJQzh2SUVsbmJtOXlaU0JwZENCaGJtUWdaRzl1SjNRZ2NISnBiblFnZEdobElITjBZV05ySUdGa1pHVnVaSFZ0TGx4dUlDQWdJQ0FnSUNBdkx5QlVhR2x6SUdseklHaGhibVI1SUdadmNpQjBaWE4wYVc1bklHVnljbTl5SUdKdmRXNWtZWEpwWlhNZ2QybDBhRzkxZENCdWIybHpaUzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmU0F2THlCVWFHVWdaWEp5YjNJZ2FYTWdabUYwWVd3dUlGTnBibU5sSUhSb1pTQnphV3hsYm1OcGJtY2diV2xuYUhRZ2FHRjJaVnh1SUNBZ0lDQWdMeThnWW1WbGJpQmhZMk5wWkdWdWRHRnNMQ0IzWlNkc2JDQnpkWEptWVdObElHbDBJR0Z1ZVhkaGVTNWNiaUFnSUNBZ0lDOHZJRWh2ZDJWMlpYSXNJSFJvWlNCaWNtOTNjMlZ5SUhkdmRXeGtJR2hoZG1VZ2MybHNaVzVqWldRZ2RHaGxJRzl5YVdkcGJtRnNJR1Z5Y205eVhHNGdJQ0FnSUNBdkx5QnpieUIzWlNkc2JDQndjbWx1ZENCcGRDQm1hWEp6ZEN3Z1lXNWtJSFJvWlc0Z2NISnBiblFnZEdobElITjBZV05ySUdGa1pHVnVaSFZ0TGx4dVhHNWNiaUFnSUNBZ0lHTnZibk52YkdWYkoyVnljbTl5SjEwb1pYSnliM0lwT3lBdkx5QkViMjRuZENCMGNtRnVjMlp2Y20wZ2RHOGdiM1Z5SUhkeVlYQndaWEpjYmlBZ0lDQWdJQzh2SUVadmNpQmhJRzF2Y21VZ1pHVjBZV2xzWldRZ1pHVnpZM0pwY0hScGIyNGdiMllnZEdocGN5QmliRzlqYXl3Z2MyVmxPbHh1SUNBZ0lDQWdMeThnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyTDNKbFlXTjBMM0IxYkd3dk1UTXpPRFJjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpVMWxjM05oWjJVZ1BTQmpiMjF3YjI1bGJuUk9ZVzFsSUQ4Z1hDSlVhR1VnWVdKdmRtVWdaWEp5YjNJZ2IyTmpkWEp5WldRZ2FXNGdkR2hsSUR4Y0lpQXJJR052YlhCdmJtVnVkRTVoYldVZ0t5QmNJajRnWTI5dGNHOXVaVzUwT2x3aUlEb2dKMVJvWlNCaFltOTJaU0JsY25KdmNpQnZZMk4xY25KbFpDQnBiaUJ2Ym1VZ2IyWWdlVzkxY2lCU1pXRmpkQ0JqYjIxd2IyNWxiblJ6T2ljN1hHNGdJQ0FnZG1GeUlHVnljbTl5UW05MWJtUmhjbmxOWlhOellXZGxPeUF2THlCbGNuSnZja0p2ZFc1a1lYSjVSbTkxYm1RZ1kyaGxZMnNnYVhNZ2MzVm1abWxqYVdWdWREc2daWEp5YjNKQ2IzVnVaR0Z5ZVU1aGJXVWdZMmhsWTJzZ2FYTWdkRzhnYzJGMGFYTm1lU0JHYkc5M0xseHVYRzRnSUNBZ2FXWWdLR1Z5Y205eVFtOTFibVJoY25sR2IzVnVaQ0FtSmlCbGNuSnZja0p2ZFc1a1lYSjVUbUZ0WlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLSGRwYkd4U1pYUnllU2tnZTF4dUlDQWdJQ0FnSUNCbGNuSnZja0p2ZFc1a1lYSjVUV1Z6YzJGblpTQTlJRndpVW1WaFkzUWdkMmxzYkNCMGNua2dkRzhnY21WamNtVmhkR1VnZEdocGN5QmpiMjF3YjI1bGJuUWdkSEpsWlNCbWNtOXRJSE5qY21GMFkyZ2dYQ0lnS3lBb1hDSjFjMmx1WnlCMGFHVWdaWEp5YjNJZ1ltOTFibVJoY25rZ2VXOTFJSEJ5YjNacFpHVmtMQ0JjSWlBcklHVnljbTl5UW05MWJtUmhjbmxPWVcxbElDc2dYQ0l1WENJcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0pDYjNWdVpHRnllVTFsYzNOaFoyVWdQU0JjSWxSb2FYTWdaWEp5YjNJZ2QyRnpJR2x1YVhScFlXeHNlU0JvWVc1a2JHVmtJR0o1SUhSb1pTQmxjbkp2Y2lCaWIzVnVaR0Z5ZVNCY0lpQXJJR1Z5Y205eVFtOTFibVJoY25sT1lXMWxJQ3NnWENJdVhGeHVYQ0lnS3lCY0lsSmxZM0psWVhScGJtY2dkR2hsSUhSeVpXVWdabkp2YlNCelkzSmhkR05vSUdaaGFXeGxaQ0J6YnlCU1pXRmpkQ0IzYVd4c0lIVnViVzkxYm5RZ2RHaGxJSFJ5WldVdVhDSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdWeWNtOXlRbTkxYm1SaGNubE5aWE56WVdkbElEMGdKME52Ym5OcFpHVnlJR0ZrWkdsdVp5QmhiaUJsY25KdmNpQmliM1Z1WkdGeWVTQjBieUI1YjNWeUlIUnlaV1VnZEc4Z1kzVnpkRzl0YVhwbElHVnljbTl5SUdoaGJtUnNhVzVuSUdKbGFHRjJhVzl5TGx4Y2JpY2dLeUFuVm1semFYUWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzFsY25KdmNpMWliM1Z1WkdGeWFXVnpJSFJ2SUd4bFlYSnVJRzF2Y21VZ1lXSnZkWFFnWlhKeWIzSWdZbTkxYm1SaGNtbGxjeTRuTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCamIyMWlhVzVsWkUxbGMzTmhaMlVnUFNCY0lsd2lJQ3NnWTI5dGNHOXVaVzUwVG1GdFpVMWxjM05oWjJVZ0t5QmpiMjF3YjI1bGJuUlRkR0ZqYXlBcklGd2lYRnh1WEZ4dVhDSWdLeUFvWENKY0lpQXJJR1Z5Y205eVFtOTFibVJoY25sTlpYTnpZV2RsS1RzZ0x5OGdTVzRnWkdWMlpXeHZjRzFsYm5Rc0lIZGxJSEJ5YjNacFpHVWdiM1Z5SUc5M2JpQnRaWE56WVdkbElIZHBkR2dnYW5WemRDQjBhR1VnWTI5dGNHOXVaVzUwSUhOMFlXTnJMbHh1SUNBZ0lDOHZJRmRsSUdSdmJpZDBJR2x1WTJ4MVpHVWdkR2hsSUc5eWFXZHBibUZzSUdWeWNtOXlJRzFsYzNOaFoyVWdZVzVrSUVwVElITjBZV05ySUdKbFkyRjFjMlVnZEdobElHSnliM2R6WlhKY2JpQWdJQ0F2THlCb1lYTWdZV3h5WldGa2VTQndjbWx1ZEdWa0lHbDBMaUJGZG1WdUlHbG1JSFJvWlNCaGNIQnNhV05oZEdsdmJpQnpkMkZzYkc5M2N5QjBhR1VnWlhKeWIzSXNJR2wwSUdseklITjBhV3hzWEc0Z0lDQWdMeThnWkdsemNHeGhlV1ZrSUdKNUlIUm9aU0JpY205M2MyVnlJSFJvWVc1cmN5QjBieUIwYUdVZ1JFVldMVzl1YkhrZ1ptRnJaU0JsZG1WdWRDQjBjbWxqYXlCcGJpQlNaV0ZqZEVWeWNtOXlWWFJwYkhNdVhHNWNiaUFnSUNCamIyNXpiMnhsV3lkbGNuSnZjaWRkS0dOdmJXSnBibVZrVFdWemMyRm5aU2s3SUM4dklFUnZiaWQwSUhSeVlXNXpabTl5YlNCMGJ5QnZkWElnZDNKaGNIQmxjbHh1SUNCOVhHNTlYRzVjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJWYm1SbFptbHVaV1JUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNBOUlHNTFiR3c3WEc1Y2JudGNiaUFnWkdsa1YyRnlia0ZpYjNWMFZXNWtaV1pwYm1Wa1UyNWhjSE5vYjNSQ1pXWnZjbVZWY0dSaGRHVWdQU0J1WlhjZ1UyVjBLQ2s3WEc1OVhHNWNiblpoY2lCUWIzTnphV0pzZVZkbFlXdFRaWFFnUFNCMGVYQmxiMllnVjJWaGExTmxkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5QS9JRmRsWVd0VFpYUWdPaUJUWlhRN1hHNW1kVzVqZEdsdmJpQnNiMmRGY25KdmNpaGliM1Z1WkdGeWVTd2daWEp5YjNKSmJtWnZLU0I3WEc0Z0lIWmhjaUJ6YjNWeVkyVWdQU0JsY25KdmNrbHVabTh1YzI5MWNtTmxPMXh1SUNCMllYSWdjM1JoWTJzZ1BTQmxjbkp2Y2tsdVptOHVjM1JoWTJzN1hHNWNiaUFnYVdZZ0tITjBZV05ySUQwOVBTQnVkV3hzSUNZbUlITnZkWEpqWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhOMFlXTnJJRDBnWjJWMFUzUmhZMnRDZVVacFltVnlTVzVFWlhaQmJtUlFjbTlrS0hOdmRYSmpaU2s3WEc0Z0lIMWNibHh1SUNCMllYSWdZMkZ3ZEhWeVpXUkZjbkp2Y2lBOUlIdGNiaUFnSUNCamIyMXdiMjVsYm5ST1lXMWxPaUJ6YjNWeVkyVWdJVDA5SUc1MWJHd2dQeUJuWlhSRGIyMXdiMjVsYm5ST1lXMWxLSE52ZFhKalpTNTBlWEJsS1NBNklHNTFiR3dzWEc0Z0lDQWdZMjl0Y0c5dVpXNTBVM1JoWTJzNklITjBZV05ySUNFOVBTQnVkV3hzSUQ4Z2MzUmhZMnNnT2lBbkp5eGNiaUFnSUNCbGNuSnZjam9nWlhKeWIzSkpibVp2TG5aaGJIVmxMRnh1SUNBZ0lHVnljbTl5UW05MWJtUmhjbms2SUc1MWJHd3NYRzRnSUNBZ1pYSnliM0pDYjNWdVpHRnllVTVoYldVNklHNTFiR3dzWEc0Z0lDQWdaWEp5YjNKQ2IzVnVaR0Z5ZVVadmRXNWtPaUJtWVd4elpTeGNiaUFnSUNCM2FXeHNVbVYwY25rNklHWmhiSE5sWEc0Z0lIMDdYRzVjYmlBZ2FXWWdLR0p2ZFc1a1lYSjVJQ0U5UFNCdWRXeHNJQ1ltSUdKdmRXNWtZWEo1TG5SaFp5QTlQVDBnUTJ4aGMzTkRiMjF3YjI1bGJuUXBJSHRjYmlBZ0lDQmpZWEIwZFhKbFpFVnljbTl5TG1WeWNtOXlRbTkxYm1SaGNua2dQU0JpYjNWdVpHRnllUzV6ZEdGMFpVNXZaR1U3WEc0Z0lDQWdZMkZ3ZEhWeVpXUkZjbkp2Y2k1bGNuSnZja0p2ZFc1a1lYSjVUbUZ0WlNBOUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb1ltOTFibVJoY25rdWRIbHdaU2s3WEc0Z0lDQWdZMkZ3ZEhWeVpXUkZjbkp2Y2k1bGNuSnZja0p2ZFc1a1lYSjVSbTkxYm1RZ1BTQjBjblZsTzF4dUlDQWdJR05oY0hSMWNtVmtSWEp5YjNJdWQybHNiRkpsZEhKNUlEMGdkSEoxWlR0Y2JpQWdmVnh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdiRzluUTJGd2RIVnlaV1JGY25KdmNpaGpZWEIwZFhKbFpFVnljbTl5S1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQWdJQzh2SUZSb2FYTWdiV1YwYUc5a0lHMTFjM1FnYm05MElIUm9jbTkzTENCdmNpQlNaV0ZqZENCcGJuUmxjbTVoYkNCemRHRjBaU0IzYVd4c0lHZGxkQ0J0WlhOelpXUWdkWEF1WEc0Z0lDQWdMeThnU1dZZ1kyOXVjMjlzWlM1bGNuSnZjaUJwY3lCdmRtVnljbWxrWkdWdUxDQnZjaUJzYjJkRFlYQjBkWEpsWkVWeWNtOXlLQ2tnYzJodmQzTWdZU0JrYVdGc2IyY2dkR2hoZENCMGFISnZkM01zWEc0Z0lDQWdMeThnZDJVZ2QyRnVkQ0IwYnlCeVpYQnZjblFnZEdocGN5Qmxjbkp2Y2lCdmRYUnphV1JsSUc5bUlIUm9aU0J1YjNKdFlXd2djM1JoWTJzZ1lYTWdZU0JzWVhOMElISmxjMjl5ZEM1Y2JpQWdJQ0F2THlCb2RIUndjem92TDJkcGRHaDFZaTVqYjIwdlptRmpaV0p2YjJzdmNtVmhZM1F2YVhOemRXVnpMekV6TVRnNFhHNGdJQ0FnYzJWMFZHbHRaVzkxZENobWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCbE8xeHVJQ0FnSUgwcE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCallXeHNRMjl0Y0c5dVpXNTBWMmxzYkZWdWJXOTFiblJYYVhSb1ZHbHRaWElnUFNCbWRXNWpkR2x2YmlBb1kzVnljbVZ1ZEN3Z2FXNXpkR0Z1WTJVcElIdGNiaUFnYzNSaGNuUlFhR0Z6WlZScGJXVnlLR04xY25KbGJuUXNJQ2RqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENjcE8xeHVJQ0JwYm5OMFlXNWpaUzV3Y205d2N5QTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlFjbTl3Y3p0Y2JpQWdhVzV6ZEdGdVkyVXVjM1JoZEdVZ1BTQmpkWEp5Wlc1MExtMWxiVzlwZW1Wa1UzUmhkR1U3WEc0Z0lHbHVjM1JoYm1ObExtTnZiWEJ2Ym1WdWRGZHBiR3hWYm0xdmRXNTBLQ2s3WEc0Z0lITjBiM0JRYUdGelpWUnBiV1Z5S0NrN1hHNTlPeUF2THlCRFlYQjBkWEpsSUdWeWNtOXljeUJ6YnlCMGFHVjVJR1J2YmlkMElHbHVkR1Z5Y25Wd2RDQjFibTF2ZFc1MGFXNW5MbHh1WEc1Y2JtWjFibU4wYVc5dUlITmhabVZzZVVOaGJHeERiMjF3YjI1bGJuUlhhV3hzVlc1dGIzVnVkQ2hqZFhKeVpXNTBMQ0JwYm5OMFlXNWpaU2tnZTF4dUlDQjdYRzRnSUNBZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJLRzUxYkd3c0lHTmhiR3hEYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZEZkcGRHaFVhVzFsY2l3Z2JuVnNiQ3dnWTNWeWNtVnVkQ3dnYVc1emRHRnVZMlVwTzF4dVhHNGdJQ0FnYVdZZ0tHaGhjME5oZFdkb2RFVnljbTl5S0NrcElIdGNiaUFnSUNBZ0lIWmhjaUIxYm0xdmRXNTBSWEp5YjNJZ1BTQmpiR1ZoY2tOaGRXZG9kRVZ5Y205eUtDazdYRzRnSUNBZ0lDQmpZWEIwZFhKbFEyOXRiV2wwVUdoaGMyVkZjbkp2Y2loamRYSnlaVzUwTENCMWJtMXZkVzUwUlhKeWIzSXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJ6WVdabGJIbEVaWFJoWTJoU1pXWW9ZM1Z5Y21WdWRDa2dlMXh1SUNCMllYSWdjbVZtSUQwZ1kzVnljbVZ1ZEM1eVpXWTdYRzVjYmlBZ2FXWWdLSEpsWmlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2NtVm1JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR2x1ZG05clpVZDFZWEprWldSRFlXeHNZbUZqYXlodWRXeHNMQ0J5WldZc0lHNTFiR3dzSUc1MWJHd3BPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaG9ZWE5EWVhWbmFIUkZjbkp2Y2lncEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlISmxaa1Z5Y205eUlEMGdZMnhsWVhKRFlYVm5hSFJGY25KdmNpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUdOaGNIUjFjbVZEYjIxdGFYUlFhR0Z6WlVWeWNtOXlLR04xY25KbGJuUXNJSEpsWmtWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaV1l1WTNWeWNtVnVkQ0E5SUc1MWJHdzdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSE5oWm1Wc2VVTmhiR3hFWlhOMGNtOTVLR04xY25KbGJuUXNJR1JsYzNSeWIza3BJSHRjYmlBZ2UxeHVJQ0FnSUdsdWRtOXJaVWQxWVhKa1pXUkRZV3hzWW1GamF5aHVkV3hzTENCa1pYTjBjbTk1TENCdWRXeHNLVHRjYmx4dUlDQWdJR2xtSUNob1lYTkRZWFZuYUhSRmNuSnZjaWdwS1NCN1hHNGdJQ0FnSUNCMllYSWdaWEp5YjNJZ1BTQmpiR1ZoY2tOaGRXZG9kRVZ5Y205eUtDazdYRzRnSUNBZ0lDQmpZWEIwZFhKbFEyOXRiV2wwVUdoaGMyVkZjbkp2Y2loamRYSnlaVzUwTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRUpsWm05eVpVMTFkR0YwYVc5dVRHbG1aVU41WTJ4bGN5aGpkWEp5Wlc1MExDQm1hVzVwYzJobFpGZHZjbXNwSUh0Y2JpQWdjM2RwZEdOb0lDaG1hVzVwYzJobFpGZHZjbXN1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JHZFc1amRHbHZia052YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnWTJGelpTQlRhVzF3YkdWTlpXMXZRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lHTmhjMlVnUW14dlkyczZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUTJ4aGMzTkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJR2xtSUNobWFXNXBjMmhsWkZkdmNtc3VaV1ptWldOMFZHRm5JQ1lnVTI1aGNITm9iM1FwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvWTNWeWNtVnVkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCeVpYWlFjbTl3Y3lBOUlHTjFjbkpsYm5RdWJXVnRiMmw2WldSUWNtOXdjenRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRnlkRkJvWVhObFZHbHRaWElvWm1sdWFYTm9aV1JYYjNKckxDQW5aMlYwVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVbktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR1pwYm1semFHVmtWMjl5YXk1emRHRjBaVTV2WkdVN0lDOHZJRmRsSUdOdmRXeGtJSFZ3WkdGMFpTQnBibk4wWVc1alpTQndjbTl3Y3lCaGJtUWdjM1JoZEdVZ2FHVnlaU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJR0oxZENCcGJuTjBaV0ZrSUhkbElISmxiSGtnYjI0Z2RHaGxiU0JpWldsdVp5QnpaWFFnWkhWeWFXNW5JR3hoYzNRZ2NtVnVaR1Z5TGx4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2djbVYyYVhOcGRDQjBhR2x6SUhkb1pXNGdkMlVnYVcxd2JHVnRaVzUwSUhKbGMzVnRhVzVuTGx4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNobWFXNXBjMmhsWkZkdmNtc3VkSGx3WlNBOVBUMGdabWx1YVhOb1pXUlhiM0pyTG1Wc1pXMWxiblJVZVhCbElDWW1JQ0ZrYVdSWFlYSnVRV0p2ZFhSU1pXRnpjMmxuYm1sdVoxQnliM0J6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbkJ5YjNCeklDRTlQU0JtYVc1cGMyaGxaRmR2Y21zdWJXVnRiMmw2WldSUWNtOXdjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUNWeklIQnliM0J6SUhSdklHMWhkR05vSUcxbGJXOXBlbVZrSUhCeWIzQnpJR0psWm05eVpTQW5JQ3NnSjJkbGRGTnVZWEJ6YUc5MFFtVm1iM0psVlhCa1lYUmxMaUFuSUNzZ0oxUm9hWE1nYldsbmFIUWdaV2wwYUdWeUlHSmxJR0psWTJGMWMyVWdiMllnWVNCaWRXY2dhVzRnVW1WaFkzUXNJRzl5SUdKbFkyRjFjMlVnSnlBcklDZGhJR052YlhCdmJtVnVkQ0J5WldGemMybG5ibk1nYVhSeklHOTNiaUJnZEdocGN5NXdjbTl3YzJBdUlDY2dLeUFuVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdUp5d2daMlYwUTI5dGNHOXVaVzUwVG1GdFpTaG1hVzVwYzJobFpGZHZjbXN1ZEhsd1pTa2dmSHdnSjJsdWMzUmhibU5sSnlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dsdWMzUmhibU5sTG5OMFlYUmxJQ0U5UFNCbWFXNXBjMmhsWkZkdmNtc3ViV1Z0YjJsNlpXUlRkR0YwWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lDVnpJSE4wWVhSbElIUnZJRzFoZEdOb0lHMWxiVzlwZW1Wa0lITjBZWFJsSUdKbFptOXlaU0FuSUNzZ0oyZGxkRk51WVhCemFHOTBRbVZtYjNKbFZYQmtZWFJsTGlBbklDc2dKMVJvYVhNZ2JXbG5hSFFnWldsMGFHVnlJR0psSUdKbFkyRjFjMlVnYjJZZ1lTQmlkV2NnYVc0Z1VtVmhZM1FzSUc5eUlHSmxZMkYxYzJVZ0p5QXJJQ2RoSUdOdmJYQnZibVZ1ZENCeVpXRnpjMmxuYm5NZ2FYUnpJRzkzYmlCZ2RHaHBjeTV3Y205d2MyQXVJQ2NnS3lBblVHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVXVKeXdnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2htYVc1cGMyaGxaRmR2Y21zdWRIbHdaU2tnZkh3Z0oybHVjM1JoYm1ObEp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQnpibUZ3YzJodmRDQTlJR2x1YzNSaGJtTmxMbWRsZEZOdVlYQnphRzkwUW1WbWIzSmxWWEJrWVhSbEtHWnBibWx6YUdWa1YyOXlheTVsYkdWdFpXNTBWSGx3WlNBOVBUMGdabWx1YVhOb1pXUlhiM0pyTG5SNWNHVWdQeUJ3Y21WMlVISnZjSE1nT2lCeVpYTnZiSFpsUkdWbVlYVnNkRkJ5YjNCektHWnBibWx6YUdWa1YyOXlheTUwZVhCbExDQndjbVYyVUhKdmNITXBMQ0J3Y21WMlUzUmhkR1VwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCa2FXUlhZWEp1VTJWMElEMGdaR2xrVjJGeWJrRmliM1YwVlc1a1pXWnBibVZrVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSE51WVhCemFHOTBJRDA5UFNCMWJtUmxabWx1WldRZ0ppWWdJV1JwWkZkaGNtNVRaWFF1YUdGektHWnBibWx6YUdWa1YyOXlheTUwZVhCbEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JwWkZkaGNtNVRaWFF1WVdSa0tHWnBibWx6YUdWa1YyOXlheTUwZVhCbEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeTVuWlhSVGJtRndjMmh2ZEVKbFptOXlaVlZ3WkdGMFpTZ3BPaUJCSUhOdVlYQnphRzkwSUhaaGJIVmxJQ2h2Y2lCdWRXeHNLU0FuSUNzZ0oyMTFjM1FnWW1VZ2NtVjBkWEp1WldRdUlGbHZkU0JvWVhabElISmxkSFZ5Ym1Wa0lIVnVaR1ZtYVc1bFpDNG5MQ0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLR1pwYm1semFHVmtWMjl5YXk1MGVYQmxLU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNXpkR0Z1WTJVdVgxOXlaV0ZqZEVsdWRHVnlibUZzVTI1aGNITm9iM1JDWldadmNtVlZjR1JoZEdVZ1BTQnpibUZ3YzJodmREdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMGIzQlFhR0Z6WlZScGJXVnlLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBVbTl2ZERwY2JpQWdJQ0JqWVhObElFaHZjM1JEYjIxd2IyNWxiblE2WEc0Z0lDQWdZMkZ6WlNCSWIzTjBWR1Y0ZERwY2JpQWdJQ0JqWVhObElFaHZjM1JRYjNKMFlXdzZYRzRnSUNBZ1kyRnpaU0JKYm1OdmJYQnNaWFJsUTJ4aGMzTkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQXZMeUJPYjNSb2FXNW5JSFJ2SUdSdklHWnZjaUIwYUdWelpTQmpiMjF3YjI1bGJuUWdkSGx3WlhOY2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSlVhR2x6SUhWdWFYUWdiMllnZDI5eWF5QjBZV2NnYzJodmRXeGtJRzV2ZENCb1lYWmxJSE5wWkdVdFpXWm1aV04wY3k0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSSWIyOXJSV1ptWldOMFRHbHpkRlZ1Ylc5MWJuUW9kR0ZuTENCbWFXNXBjMmhsWkZkdmNtc3BJSHRjYmlBZ2RtRnlJSFZ3WkdGMFpWRjFaWFZsSUQwZ1ptbHVhWE5vWldSWGIzSnJMblZ3WkdGMFpWRjFaWFZsTzF4dUlDQjJZWElnYkdGemRFVm1abVZqZENBOUlIVndaR0YwWlZGMVpYVmxJQ0U5UFNCdWRXeHNJRDhnZFhCa1lYUmxVWFZsZFdVdWJHRnpkRVZtWm1WamRDQTZJRzUxYkd3N1hHNWNiaUFnYVdZZ0tHeGhjM1JGWm1abFkzUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjJZWElnWm1seWMzUkZabVpsWTNRZ1BTQnNZWE4wUldabVpXTjBMbTVsZUhRN1hHNGdJQ0FnZG1GeUlHVm1abVZqZENBOUlHWnBjbk4wUldabVpXTjBPMXh1WEc0Z0lDQWdaRzhnZTF4dUlDQWdJQ0FnYVdZZ0tDaGxabVpsWTNRdWRHRm5JQ1lnZEdGbktTQTlQVDBnZEdGbktTQjdYRzRnSUNBZ0lDQWdJQzh2SUZWdWJXOTFiblJjYmlBZ0lDQWdJQ0FnZG1GeUlHUmxjM1J5YjNrZ1BTQmxabVpsWTNRdVpHVnpkSEp2ZVR0Y2JpQWdJQ0FnSUNBZ1pXWm1aV04wTG1SbGMzUnliM2tnUFNCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0dSbGMzUnliM2tnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdSbGMzUnliM2tvS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmxabVpsWTNRZ1BTQmxabVpsWTNRdWJtVjRkRHRjYmlBZ0lDQjlJSGRvYVd4bElDaGxabVpsWTNRZ0lUMDlJR1pwY25OMFJXWm1aV04wS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSSWIyOXJSV1ptWldOMFRHbHpkRTF2ZFc1MEtIUmhaeXdnWm1sdWFYTm9aV1JYYjNKcktTQjdYRzRnSUhaaGNpQjFjR1JoZEdWUmRXVjFaU0E5SUdacGJtbHphR1ZrVjI5eWF5NTFjR1JoZEdWUmRXVjFaVHRjYmlBZ2RtRnlJR3hoYzNSRlptWmxZM1FnUFNCMWNHUmhkR1ZSZFdWMVpTQWhQVDBnYm5Wc2JDQS9JSFZ3WkdGMFpWRjFaWFZsTG14aGMzUkZabVpsWTNRZ09pQnVkV3hzTzF4dVhHNGdJR2xtSUNoc1lYTjBSV1ptWldOMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR1pwY25OMFJXWm1aV04wSUQwZ2JHRnpkRVZtWm1WamRDNXVaWGgwTzF4dUlDQWdJSFpoY2lCbFptWmxZM1FnUFNCbWFYSnpkRVZtWm1WamREdGNibHh1SUNBZ0lHUnZJSHRjYmlBZ0lDQWdJR2xtSUNnb1pXWm1aV04wTG5SaFp5QW1JSFJoWnlrZ1BUMDlJSFJoWnlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJOYjNWdWRGeHVJQ0FnSUNBZ0lDQjJZWElnWTNKbFlYUmxJRDBnWldabVpXTjBMbU55WldGMFpUdGNiaUFnSUNBZ0lDQWdaV1ptWldOMExtUmxjM1J5YjNrZ1BTQmpjbVZoZEdVb0tUdGNibHh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR1JsYzNSeWIza2dQU0JsWm1abFkzUXVaR1Z6ZEhKdmVUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGtaWE4wY205NUlDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ2RIbHdaVzltSUdSbGMzUnliM2tnSVQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJoWkdSbGJtUjFiU0E5SUhadmFXUWdNRHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dSbGMzUnliM2tnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdSa1pXNWtkVzBnUFNBbklGbHZkU0J5WlhSMWNtNWxaQ0J1ZFd4c0xpQkpaaUI1YjNWeUlHVm1abVZqZENCa2IyVnpJRzV2ZENCeVpYRjFhWEpsSUdOc1pXRnVJQ2NnS3lBbmRYQXNJSEpsZEhWeWJpQjFibVJsWm1sdVpXUWdLRzl5SUc1dmRHaHBibWNwTGljN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hSNWNHVnZaaUJrWlhOMGNtOTVMblJvWlc0Z1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWVdSa1pXNWtkVzBnUFNBblhGeHVYRnh1U1hRZ2JHOXZhM01nYkdsclpTQjViM1VnZDNKdmRHVWdkWE5sUldabVpXTjBLR0Z6ZVc1aklDZ3BJRDArSUM0dUxpa2diM0lnY21WMGRYSnVaV1FnWVNCUWNtOXRhWE5sTGlBbklDc2dKMGx1YzNSbFlXUXNJSGR5YVhSbElIUm9aU0JoYzNsdVl5Qm1kVzVqZEdsdmJpQnBibk5wWkdVZ2VXOTFjaUJsWm1abFkzUWdKeUFySUNkaGJtUWdZMkZzYkNCcGRDQnBiVzFsWkdsaGRHVnNlVHBjWEc1Y1hHNG5JQ3NnSjNWelpVVm1abVZqZENnb0tTQTlQaUI3WEZ4dUp5QXJJQ2NnSUdGemVXNWpJR1oxYm1OMGFXOXVJR1psZEdOb1JHRjBZU2dwSUh0Y1hHNG5JQ3NnSnlBZ0lDQXZMeUJaYjNVZ1kyRnVJR0YzWVdsMElHaGxjbVZjWEc0bklDc2dKeUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJRTE1UVZCSkxtZGxkRVJoZEdFb2MyOXRaVWxrS1R0Y1hHNG5JQ3NnSnlBZ0lDQXZMeUF1TGk1Y1hHNG5JQ3NnSnlBZ2ZWeGNiaWNnS3lBbklDQm1aWFJqYUVSaGRHRW9LVHRjWEc0bklDc2dYQ0o5TENCYmMyOXRaVWxrWFNrN0lDOHZJRTl5SUZ0ZElHbG1JR1ZtWm1WamRDQmtiMlZ6YmlkMElHNWxaV1FnY0hKdmNITWdiM0lnYzNSaGRHVmNYRzVjWEc1Y0lpQXJJQ2RNWldGeWJpQnRiM0psSUdGaWIzVjBJR1JoZEdFZ1ptVjBZMmhwYm1jZ2QybDBhQ0JJYjI5cmN6b2dhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzFvYjI5cmN5MWtZWFJoTFdabGRHTm9hVzVuSnp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHRmtaR1Z1WkhWdElEMGdKeUJaYjNVZ2NtVjBkWEp1WldRNklDY2dLeUJrWlhOMGNtOTVPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCbGNuSnZjaWduUVc0Z1pXWm1aV04wSUdaMWJtTjBhVzl1SUcxMWMzUWdibTkwSUhKbGRIVnliaUJoYm5sMGFHbHVaeUJpWlhOcFpHVnpJR0VnWm5WdVkzUnBiMjRzSUNjZ0t5QW5kMmhwWTJnZ2FYTWdkWE5sWkNCbWIzSWdZMnhsWVc0dGRYQXVKWE1sY3ljc0lHRmtaR1Z1WkhWdExDQm5aWFJUZEdGamEwSjVSbWxpWlhKSmJrUmxka0Z1WkZCeWIyUW9abWx1YVhOb1pXUlhiM0pyS1NrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWbVptVmpkQ0E5SUdWbVptVmpkQzV1WlhoME8xeHVJQ0FnSUgwZ2QyaHBiR1VnS0dWbVptVmpkQ0FoUFQwZ1ptbHljM1JGWm1abFkzUXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRkJoYzNOcGRtVkliMjlyUldabVpXTjBjeWhtYVc1cGMyaGxaRmR2Y21zcElIdGNiaUFnYVdZZ0tDaG1hVzVwYzJobFpGZHZjbXN1WldabVpXTjBWR0ZuSUNZZ1VHRnpjMmwyWlNrZ0lUMDlJRTV2UldabVpXTjBLU0I3WEc0Z0lDQWdjM2RwZEdOb0lDaG1hVzVwYzJobFpGZHZjbXN1ZEdGbktTQjdYRzRnSUNBZ0lDQmpZWE5sSUVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnWTJGelpTQkdiM0ozWVhKa1VtVm1PbHh1SUNBZ0lDQWdZMkZ6WlNCVGFXMXdiR1ZOWlcxdlEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ1kyRnpaU0JDYkc5amF6cGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUM4dklGUlBSRThnS0NNeE56azBOU2tnVjJVZ2MyaHZkV3hrSUdOaGJHd2dZV3hzSUhCaGMzTnBkbVVnWkdWemRISnZlU0JtZFc1amRHbHZibk1nS0dadmNpQmhiR3dnWm1saVpYSnpLVnh1SUNBZ0lDQWdJQ0FnSUM4dklHSmxabTl5WlNCallXeHNhVzVuSUdGdWVTQmpjbVZoZEdVZ1puVnVZM1JwYjI1ekxpQlVhR1VnWTNWeWNtVnVkQ0JoY0hCeWIyRmphQ0J2Ym14NUlITmxjbWxoYkdsNlpYTmNiaUFnSUNBZ0lDQWdJQ0F2THlCMGFHVnpaU0JtYjNJZ1lTQnphVzVuYkdVZ1ptbGlaWEl1WEc0Z0lDQWdJQ0FnSUNBZ1kyOXRiV2wwU0c5dmEwVm1abVZqZEV4cGMzUlZibTF2ZFc1MEtGQmhjM05wZG1Va01TQjhJRWhoYzBWbVptVmpkQ3dnWm1sdWFYTm9aV1JYYjNKcktUdGNiaUFnSUNBZ0lDQWdJQ0JqYjIxdGFYUkliMjlyUldabVpXTjBUR2x6ZEUxdmRXNTBLRkJoYzNOcGRtVWtNU0I4SUVoaGMwVm1abVZqZEN3Z1ptbHVhWE5vWldSWGIzSnJLVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIyMXRhWFJNYVdabFEzbGpiR1Z6S0dacGJtbHphR1ZrVW05dmRDd2dZM1Z5Y21WdWRDd2dabWx1YVhOb1pXUlhiM0pyTENCamIyMXRhWFIwWldSRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQnpkMmwwWTJnZ0tHWnBibWx6YUdWa1YyOXlheTUwWVdjcElIdGNiaUFnSUNCallYTmxJRVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lHTmhjMlVnUm05eWQyRnlaRkpsWmpwY2JpQWdJQ0JqWVhObElGTnBiWEJzWlUxbGJXOURiMjF3YjI1bGJuUTZYRzRnSUNBZ1kyRnpaU0JDYkc5amF6cGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdMeThnUVhRZ2RHaHBjeUJ3YjJsdWRDQnNZWGx2ZFhRZ1pXWm1aV04wY3lCb1lYWmxJR0ZzY21WaFpIa2dZbVZsYmlCa1pYTjBjbTk1WldRZ0tHUjFjbWx1WnlCdGRYUmhkR2x2YmlCd2FHRnpaU2t1WEc0Z0lDQWdJQ0FnSUM4dklGUm9hWE1nYVhNZ1pHOXVaU0IwYnlCd2NtVjJaVzUwSUhOcFlteHBibWNnWTI5dGNHOXVaVzUwSUdWbVptVmpkSE1nWm5KdmJTQnBiblJsY21abGNtbHVaeUIzYVhSb0lHVmhZMmdnYjNSb1pYSXNYRzRnSUNBZ0lDQWdJQzh2SUdVdVp5NGdZU0JrWlhOMGNtOTVJR1oxYm1OMGFXOXVJR2x1SUc5dVpTQmpiMjF3YjI1bGJuUWdjMmh2ZFd4a0lHNWxkbVZ5SUc5MlpYSnlhV1JsSUdFZ2NtVm1JSE5sZEZ4dUlDQWdJQ0FnSUNBdkx5QmllU0JoSUdOeVpXRjBaU0JtZFc1amRHbHZiaUJwYmlCaGJtOTBhR1Z5SUdOdmJYQnZibVZ1ZENCa2RYSnBibWNnZEdobElITmhiV1VnWTI5dGJXbDBMbHh1SUNBZ0lDQWdJQ0JqYjIxdGFYUkliMjlyUldabVpXTjBUR2x6ZEUxdmRXNTBLRXhoZVc5MWRDQjhJRWhoYzBWbVptVmpkQ3dnWm1sdWFYTm9aV1JYYjNKcktUdGNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2FXNXpkR0Z1WTJVZ1BTQm1hVzVwYzJobFpGZHZjbXN1YzNSaGRHVk9iMlJsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2htYVc1cGMyaGxaRmR2Y21zdVpXWm1aV04wVkdGbklDWWdWWEJrWVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOMFlYSjBVR2hoYzJWVWFXMWxjaWhtYVc1cGMyaGxaRmR2Y21zc0lDZGpiMjF3YjI1bGJuUkVhV1JOYjNWdWRDY3BPeUF2THlCWFpTQmpiM1ZzWkNCMWNHUmhkR1VnYVc1emRHRnVZMlVnY0hKdmNITWdZVzVrSUhOMFlYUmxJR2hsY21Vc1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCaWRYUWdhVzV6ZEdWaFpDQjNaU0J5Wld4NUlHOXVJSFJvWlcwZ1ltVnBibWNnYzJWMElHUjFjbWx1WnlCc1lYTjBJSEpsYm1SbGNpNWNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUlBSRTg2SUhKbGRtbHphWFFnZEdocGN5QjNhR1Z1SUhkbElHbHRjR3hsYldWdWRDQnlaWE4xYldsdVp5NWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9abWx1YVhOb1pXUlhiM0pyTG5SNWNHVWdQVDA5SUdacGJtbHphR1ZrVjI5eWF5NWxiR1Z0Wlc1MFZIbHdaU0FtSmlBaFpHbGtWMkZ5YmtGaWIzVjBVbVZoYzNOcFoyNXBibWRRY205d2N5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGJuTjBZVzVqWlM1d2NtOXdjeUFoUFQwZ1ptbHVhWE5vWldSWGIzSnJMbTFsYlc5cGVtVmtVSEp2Y0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZEZlSEJsWTNSbFpDQWxjeUJ3Y205d2N5QjBieUJ0WVhSamFDQnRaVzF2YVhwbFpDQndjbTl3Y3lCaVpXWnZjbVVnSnlBcklDZGpiMjF3YjI1bGJuUkVhV1JOYjNWdWRDNGdKeUFySUNkVWFHbHpJRzFwWjJoMElHVnBkR2hsY2lCaVpTQmlaV05oZFhObElHOW1JR0VnWW5WbklHbHVJRkpsWVdOMExDQnZjaUJpWldOaGRYTmxJQ2NnS3lBbllTQmpiMjF3YjI1bGJuUWdjbVZoYzNOcFoyNXpJR2wwY3lCdmQyNGdZSFJvYVhNdWNISnZjSE5nTGlBbklDc2dKMUJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljc0lHZGxkRU52YlhCdmJtVnVkRTVoYldVb1ptbHVhWE5vWldSWGIzSnJMblI1Y0dVcElIeDhJQ2RwYm5OMFlXNWpaU2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYm5OMFlXNWpaUzV6ZEdGMFpTQWhQVDBnWm1sdWFYTm9aV1JYYjNKckxtMWxiVzlwZW1Wa1UzUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkRmVIQmxZM1JsWkNBbGN5QnpkR0YwWlNCMGJ5QnRZWFJqYUNCdFpXMXZhWHBsWkNCemRHRjBaU0JpWldadmNtVWdKeUFySUNkamIyMXdiMjVsYm5SRWFXUk5iM1Z1ZEM0Z0p5QXJJQ2RVYUdseklHMXBaMmgwSUdWcGRHaGxjaUJpWlNCaVpXTmhkWE5sSUc5bUlHRWdZblZuSUdsdUlGSmxZV04wTENCdmNpQmlaV05oZFhObElDY2dLeUFuWVNCamIyMXdiMjVsYm5RZ2NtVmhjM05wWjI1eklHbDBjeUJ2ZDI0Z1lIUm9hWE11Y0hKdmNITmdMaUFuSUNzZ0oxQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMaWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1sdWFYTm9aV1JYYjNKckxuUjVjR1VwSUh4OElDZHBibk4wWVc1alpTY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SRWFXUk5iM1Z1ZENncE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSdmNGQm9ZWE5sVkdsdFpYSW9LVHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhCeVpYWlFjbTl3Y3lBOUlHWnBibWx6YUdWa1YyOXlheTVsYkdWdFpXNTBWSGx3WlNBOVBUMGdabWx1YVhOb1pXUlhiM0pyTG5SNWNHVWdQeUJqZFhKeVpXNTBMbTFsYlc5cGVtVmtVSEp2Y0hNZ09pQnlaWE52YkhabFJHVm1ZWFZzZEZCeWIzQnpLR1pwYm1semFHVmtWMjl5YXk1MGVYQmxMQ0JqZFhKeVpXNTBMbTFsYlc5cGVtVmtVSEp2Y0hNcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIQnlaWFpUZEdGMFpTQTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE4wWVhKMFVHaGhjMlZVYVcxbGNpaG1hVzVwYzJobFpGZHZjbXNzSUNkamIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVbktUc2dMeThnVjJVZ1kyOTFiR1FnZFhCa1lYUmxJR2x1YzNSaGJtTmxJSEJ5YjNCeklHRnVaQ0J6ZEdGMFpTQm9aWEpsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnWW5WMElHbHVjM1JsWVdRZ2QyVWdjbVZzZVNCdmJpQjBhR1Z0SUdKbGFXNW5JSE5sZENCa2RYSnBibWNnYkdGemRDQnlaVzVrWlhJdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJ5WlhacGMybDBJSFJvYVhNZ2QyaGxiaUIzWlNCcGJYQnNaVzFsYm5RZ2NtVnpkVzFwYm1jdVhHNWNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHWnBibWx6YUdWa1YyOXlheTUwZVhCbElEMDlQU0JtYVc1cGMyaGxaRmR2Y21zdVpXeGxiV1Z1ZEZSNWNHVWdKaVlnSVdScFpGZGhjbTVCWW05MWRGSmxZWE56YVdkdWFXNW5VSEp2Y0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVc1emRHRnVZMlV1Y0hKdmNITWdJVDA5SUdacGJtbHphR1ZrVjI5eWF5NXRaVzF2YVhwbFpGQnliM0J6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnblJYaHdaV04wWldRZ0pYTWdjSEp2Y0hNZ2RHOGdiV0YwWTJnZ2JXVnRiMmw2WldRZ2NISnZjSE1nWW1WbWIzSmxJQ2NnS3lBblkyOXRjRzl1Wlc1MFJHbGtWWEJrWVhSbExpQW5JQ3NnSjFSb2FYTWdiV2xuYUhRZ1pXbDBhR1Z5SUdKbElHSmxZMkYxYzJVZ2IyWWdZU0JpZFdjZ2FXNGdVbVZoWTNRc0lHOXlJR0psWTJGMWMyVWdKeUFySUNkaElHTnZiWEJ2Ym1WdWRDQnlaV0Z6YzJsbmJuTWdhWFJ6SUc5M2JpQmdkR2hwY3k1d2NtOXdjMkF1SUNjZ0t5QW5VR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1Snl3Z1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNobWFXNXBjMmhsWkZkdmNtc3VkSGx3WlNrZ2ZId2dKMmx1YzNSaGJtTmxKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR2x1YzNSaGJtTmxMbk4wWVhSbElDRTlQU0JtYVc1cGMyaGxaRmR2Y21zdWJXVnRiMmw2WldSVGRHRjBaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1pYSnliM0lvSjBWNGNHVmpkR1ZrSUNWeklITjBZWFJsSUhSdklHMWhkR05vSUcxbGJXOXBlbVZrSUhOMFlYUmxJR0psWm05eVpTQW5JQ3NnSjJOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlM0Z0p5QXJJQ2RVYUdseklHMXBaMmgwSUdWcGRHaGxjaUJpWlNCaVpXTmhkWE5sSUc5bUlHRWdZblZuSUdsdUlGSmxZV04wTENCdmNpQmlaV05oZFhObElDY2dLeUFuWVNCamIyMXdiMjVsYm5RZ2NtVmhjM05wWjI1eklHbDBjeUJ2ZDI0Z1lIUm9hWE11Y0hKdmNITmdMaUFuSUNzZ0oxQnNaV0Z6WlNCbWFXeGxJR0Z1SUdsemMzVmxMaWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1sdWFYTm9aV1JYYjNKckxuUjVjR1VwSUh4OElDZHBibk4wWVc1alpTY3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcGJuTjBZVzVqWlM1amIyMXdiMjVsYm5SRWFXUlZjR1JoZEdVb2NISmxkbEJ5YjNCekxDQndjbVYyVTNSaGRHVXNJR2x1YzNSaGJtTmxMbDlmY21WaFkzUkpiblJsY201aGJGTnVZWEJ6YUc5MFFtVm1iM0psVlhCa1lYUmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBiM0JRYUdGelpWUnBiV1Z5S0NrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJSFZ3WkdGMFpWRjFaWFZsSUQwZ1ptbHVhWE5vWldSWGIzSnJMblZ3WkdGMFpWRjFaWFZsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2gxY0dSaGRHVlJkV1YxWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2htYVc1cGMyaGxaRmR2Y21zdWRIbHdaU0E5UFQwZ1ptbHVhWE5vWldSWGIzSnJMbVZzWlcxbGJuUlVlWEJsSUNZbUlDRmthV1JYWVhKdVFXSnZkWFJTWldGemMybG5ibWx1WjFCeWIzQnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNocGJuTjBZVzVqWlM1d2NtOXdjeUFoUFQwZ1ptbHVhWE5vWldSWGIzSnJMbTFsYlc5cGVtVmtVSEp2Y0hNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnblJYaHdaV04wWldRZ0pYTWdjSEp2Y0hNZ2RHOGdiV0YwWTJnZ2JXVnRiMmw2WldRZ2NISnZjSE1nWW1WbWIzSmxJQ2NnS3lBbmNISnZZMlZ6YzJsdVp5QjBhR1VnZFhCa1lYUmxJSEYxWlhWbExpQW5JQ3NnSjFSb2FYTWdiV2xuYUhRZ1pXbDBhR1Z5SUdKbElHSmxZMkYxYzJVZ2IyWWdZU0JpZFdjZ2FXNGdVbVZoWTNRc0lHOXlJR0psWTJGMWMyVWdKeUFySUNkaElHTnZiWEJ2Ym1WdWRDQnlaV0Z6YzJsbmJuTWdhWFJ6SUc5M2JpQmdkR2hwY3k1d2NtOXdjMkF1SUNjZ0t5QW5VR3hsWVhObElHWnBiR1VnWVc0Z2FYTnpkV1V1Snl3Z1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNobWFXNXBjMmhsWkZkdmNtc3VkSGx3WlNrZ2ZId2dKMmx1YzNSaGJtTmxKeWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2FXNXpkR0Z1WTJVdWMzUmhkR1VnSVQwOUlHWnBibWx6YUdWa1YyOXlheTV0WlcxdmFYcGxaRk4wWVhSbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0owVjRjR1ZqZEdWa0lDVnpJSE4wWVhSbElIUnZJRzFoZEdOb0lHMWxiVzlwZW1Wa0lITjBZWFJsSUdKbFptOXlaU0FuSUNzZ0ozQnliMk5sYzNOcGJtY2dkR2hsSUhWd1pHRjBaU0J4ZFdWMVpTNGdKeUFySUNkVWFHbHpJRzFwWjJoMElHVnBkR2hsY2lCaVpTQmlaV05oZFhObElHOW1JR0VnWW5WbklHbHVJRkpsWVdOMExDQnZjaUJpWldOaGRYTmxJQ2NnS3lBbllTQmpiMjF3YjI1bGJuUWdjbVZoYzNOcFoyNXpJR2wwY3lCdmQyNGdZSFJvYVhNdWNISnZjSE5nTGlBbklDc2dKMUJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljc0lHZGxkRU52YlhCdmJtVnVkRTVoYldVb1ptbHVhWE5vWldSWGIzSnJMblI1Y0dVcElIeDhJQ2RwYm5OMFlXNWpaU2NwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5QlhaU0JqYjNWc1pDQjFjR1JoZEdVZ2FXNXpkR0Z1WTJVZ2NISnZjSE1nWVc1a0lITjBZWFJsSUdobGNtVXNYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1luVjBJR2x1YzNSbFlXUWdkMlVnY21Wc2VTQnZiaUIwYUdWdElHSmxhVzVuSUhObGRDQmtkWEpwYm1jZ2JHRnpkQ0J5Wlc1a1pYSXVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nY21WMmFYTnBkQ0IwYUdseklIZG9aVzRnZDJVZ2FXMXdiR1Z0Wlc1MElISmxjM1Z0YVc1bkxseHVYRzVjYmlBZ0lDQWdJQ0FnSUNCamIyMXRhWFJWY0dSaGRHVlJkV1YxWlNobWFXNXBjMmhsWkZkdmNtc3NJSFZ3WkdGMFpWRjFaWFZsTENCcGJuTjBZVzVqWlNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlNiMjkwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMllYSWdYM1Z3WkdGMFpWRjFaWFZsSUQwZ1ptbHVhWE5vWldSWGIzSnJMblZ3WkdGMFpWRjFaWFZsTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hmZFhCa1lYUmxVWFZsZFdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gybHVjM1JoYm1ObElEMGdiblZzYkR0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNobWFXNXBjMmhsWkZkdmNtc3VZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhOM2FYUmphQ0FvWm1sdWFYTm9aV1JYYjNKckxtTm9hV3hrTG5SaFp5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUVodmMzUkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYMmx1YzNSaGJtTmxJRDBnWjJWMFVIVmliR2xqU1c1emRHRnVZMlVvWm1sdWFYTm9aV1JYYjNKckxtTm9hV3hrTG5OMFlYUmxUbTlrWlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQkRiR0Z6YzBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZmFXNXpkR0Z1WTJVZ1BTQm1hVzVwYzJobFpGZHZjbXN1WTJocGJHUXVjM1JoZEdWT2IyUmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUdOdmJXMXBkRlZ3WkdGMFpWRjFaWFZsS0dacGJtbHphR1ZrVjI5eWF5d2dYM1Z3WkdGMFpWRjFaWFZsTENCZmFXNXpkR0Z1WTJVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1gybHVjM1JoYm1ObE1pQTlJR1pwYm1semFHVmtWMjl5YXk1emRHRjBaVTV2WkdVN0lDOHZJRkpsYm1SbGNtVnljeUJ0WVhrZ2MyTm9aV1IxYkdVZ2QyOXlheUIwYnlCaVpTQmtiMjVsSUdGbWRHVnlJR2h2YzNRZ1kyOXRjRzl1Wlc1MGN5QmhjbVVnYlc5MWJuUmxaRnh1SUNBZ0lDQWdJQ0F2THlBb1pXY2dSRTlOSUhKbGJtUmxjbVZ5SUcxaGVTQnpZMmhsWkhWc1pTQmhkWFJ2TFdadlkzVnpJR1p2Y2lCcGJuQjFkSE1nWVc1a0lHWnZjbTBnWTI5dWRISnZiSE1wTGx4dUlDQWdJQ0FnSUNBdkx5QlVhR1Z6WlNCbFptWmxZM1J6SUhOb2IzVnNaQ0J2Ym14NUlHSmxJR052YlcxcGRIUmxaQ0IzYUdWdUlHTnZiWEJ2Ym1WdWRITWdZWEpsSUdacGNuTjBJRzF2ZFc1MFpXUXNYRzRnSUNBZ0lDQWdJQzh2SUdGcllTQjNhR1Z1SUhSb1pYSmxJR2x6SUc1dklHTjFjbkpsYm5RdllXeDBaWEp1WVhSbExseHVYRzRnSUNBZ0lDQWdJR2xtSUNoamRYSnlaVzUwSUQwOVBTQnVkV3hzSUNZbUlHWnBibWx6YUdWa1YyOXlheTVsWm1abFkzUlVZV2NnSmlCVmNHUmhkR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnZEhsd1pTQTlJR1pwYm1semFHVmtWMjl5YXk1MGVYQmxPMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQndjbTl3Y3lBOUlHWnBibWx6YUdWa1YyOXlheTV0WlcxdmFYcGxaRkJ5YjNCek8xeHVJQ0FnSUNBZ0lDQWdJR052YlcxcGRFMXZkVzUwS0Y5cGJuTjBZVzVqWlRJc0lIUjVjR1VzSUhCeWIzQnpLVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTRzl6ZEZSbGVIUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQzh2SUZkbElHaGhkbVVnYm04Z2JHbG1aUzFqZVdOc1pYTWdZWE56YjJOcFlYUmxaQ0IzYVhSb0lIUmxlSFF1WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1NHOXpkRkJ2Y25SaGJEcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdMeThnVjJVZ2FHRjJaU0J1YnlCc2FXWmxMV041WTJ4bGN5QmhjM052WTJsaGRHVmtJSGRwZEdnZ2NHOXlkR0ZzY3k1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQlFjbTltYVd4bGNqcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnZibEpsYm1SbGNpQTlJR1pwYm1semFHVmtWMjl5YXk1dFpXMXZhWHBsWkZCeWIzQnpMbTl1VW1WdVpHVnlPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dWdlppQnZibEpsYm1SbGNpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmxKbGJtUmxjaWhtYVc1cGMyaGxaRmR2Y21zdWJXVnRiMmw2WldSUWNtOXdjeTVwWkN3Z1kzVnljbVZ1ZENBOVBUMGdiblZzYkNBL0lDZHRiM1Z1ZENjZ09pQW5kWEJrWVhSbEp5d2dabWx1YVhOb1pXUlhiM0pyTG1GamRIVmhiRVIxY21GMGFXOXVMQ0JtYVc1cGMyaGxaRmR2Y21zdWRISmxaVUpoYzJWRWRYSmhkR2x2Yml3Z1ptbHVhWE5vWldSWGIzSnJMbUZqZEhWaGJGTjBZWEowVkdsdFpTd2daMlYwUTI5dGJXbDBWR2x0WlNncExDQm1hVzVwYzJobFpGSnZiM1F1YldWdGIybDZaV1JKYm5SbGNtRmpkR2x2Ym5NcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHTnZiVzFwZEZOMWMzQmxibk5sU0hsa2NtRjBhVzl1UTJGc2JHSmhZMnR6S0dacGJtbHphR1ZrVW05dmRDd2dabWx1YVhOb1pXUlhiM0pyS1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQlRkWE53Wlc1elpVeHBjM1JEYjIxd2IyNWxiblE2WEc0Z0lDQWdZMkZ6WlNCSmJtTnZiWEJzWlhSbFEyeGhjM05EYjIxd2IyNWxiblE2WEc0Z0lDQWdZMkZ6WlNCR2RXNWtZVzFsYm5SaGJFTnZiWEJ2Ym1WdWREcGNiaUFnSUNCallYTmxJRk5qYjNCbFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbFJvYVhNZ2RXNXBkQ0J2WmlCM2IzSnJJSFJoWnlCemFHOTFiR1FnYm05MElHaGhkbVVnYzJsa1pTMWxabVpsWTNSekxpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2hwWkdWUGNsVnVhR2xrWlVGc2JFTm9hV3hrY21WdUtHWnBibWx6YUdWa1YyOXlheXdnYVhOSWFXUmtaVzRwSUh0Y2JpQWdlMXh1SUNBZ0lDOHZJRmRsSUc5dWJIa2dhR0YyWlNCMGFHVWdkRzl3SUVacFltVnlJSFJvWVhRZ2QyRnpJR2x1YzJWeWRHVmtJR0oxZENCM1pTQnVaV1ZrSUhSdklISmxZM1Z5YzJVZ1pHOTNiaUJwZEhOY2JpQWdJQ0F2THlCamFHbHNaSEpsYmlCMGJ5Qm1hVzVrSUdGc2JDQjBhR1VnZEdWeWJXbHVZV3dnYm05a1pYTXVYRzRnSUNBZ2RtRnlJRzV2WkdVZ1BTQm1hVzVwYzJobFpGZHZjbXM3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJRzV2WkdVdWMzUmhkR1ZPYjJSbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNocGMwaHBaR1JsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2hwWkdWSmJuTjBZVzVqWlNocGJuTjBZVzVqWlNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdkVzVvYVdSbFNXNXpkR0Z1WTJVb2JtOWtaUzV6ZEdGMFpVNXZaR1VzSUc1dlpHVXViV1Z0YjJsNlpXUlFjbTl3Y3lrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdaV3h6WlNCcFppQW9ibTlrWlM1MFlXY2dQVDA5SUVodmMzUlVaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJmYVc1emRHRnVZMlV6SUQwZ2JtOWtaUzV6ZEdGMFpVNXZaR1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR2x6U0dsa1pHVnVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FHbGtaVlJsZUhSSmJuTjBZVzVqWlNoZmFXNXpkR0Z1WTJVektUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0IxYm1ocFpHVlVaWGgwU1c1emRHRnVZMlVvWDJsdWMzUmhibU5sTXl3Z2JtOWtaUzV0WlcxdmFYcGxaRkJ5YjNCektUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h1YjJSbExuUmhaeUE5UFQwZ1UzVnpjR1Z1YzJWRGIyMXdiMjVsYm5RZ0ppWWdibTlrWlM1dFpXMXZhWHBsWkZOMFlYUmxJQ0U5UFNCdWRXeHNJQ1ltSUc1dlpHVXViV1Z0YjJsNlpXUlRkR0YwWlM1a1pXaDVaSEpoZEdWa0lEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUVadmRXNWtJR0VnYm1WemRHVmtJRk4xYzNCbGJuTmxJR052YlhCdmJtVnVkQ0IwYUdGMElIUnBiV1ZrSUc5MWRDNGdVMnRwY0NCdmRtVnlJSFJvWlZ4dUlDQWdJQ0FnSUNBdkx5QndjbWx0WVhKNUlHTm9hV3hrSUdaeVlXZHRaVzUwTENCM2FHbGphQ0J6YUc5MWJHUWdjbVZ0WVdsdUlHaHBaR1JsYmk1Y2JpQWdJQ0FnSUNBZ2RtRnlJR1poYkd4aVlXTnJRMmhwYkdSR2NtRm5iV1Z1ZENBOUlHNXZaR1V1WTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNBZ0lDQWdabUZzYkdKaFkydERhR2xzWkVaeVlXZHRaVzUwTG5KbGRIVnliaUE5SUc1dlpHVTdYRzRnSUNBZ0lDQWdJRzV2WkdVZ1BTQm1ZV3hzWW1GamEwTm9hV3hrUm5KaFoyMWxiblE3WEc0Z0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnZlNCbGJITmxJR2xtSUNodWIyUmxMbU5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJRzV2WkdVdVkyaHBiR1F1Y21WMGRYSnVJRDBnYm05a1pUdGNiaUFnSUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1WTJocGJHUTdYRzRnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaU0E5UFQwZ1ptbHVhWE5vWldSWGIzSnJLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZDJocGJHVWdLRzV2WkdVdWMybGliR2x1WnlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYm05a1pTNXlaWFIxY200Z1BUMDlJRzUxYkd3Z2ZId2dibTlrWlM1eVpYUjFjbTRnUFQwOUlHWnBibWx6YUdWa1YyOXlheWtnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJRzV2WkdVZ1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYm05a1pTNXphV0pzYVc1bkxuSmxkSFZ5YmlBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1YzJsaWJHbHVaenRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBRWFIwWVdOb1VtVm1LR1pwYm1semFHVmtWMjl5YXlrZ2UxeHVJQ0IyWVhJZ2NtVm1JRDBnWm1sdWFYTm9aV1JYYjNKckxuSmxaanRjYmx4dUlDQnBaaUFvY21WbUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnWm1sdWFYTm9aV1JYYjNKckxuTjBZWFJsVG05a1pUdGNiaUFnSUNCMllYSWdhVzV6ZEdGdVkyVlViMVZ6WlR0Y2JseHVJQ0FnSUhOM2FYUmphQ0FvWm1sdWFYTm9aV1JYYjNKckxuUmhaeWtnZTF4dUlDQWdJQ0FnWTJGelpTQkliM04wUTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCcGJuTjBZVzVqWlZSdlZYTmxJRDBnWjJWMFVIVmliR2xqU1c1emRHRnVZMlVvYVc1emRHRnVZMlVwTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJQ0FnYVc1emRHRnVZMlZVYjFWelpTQTlJR2x1YzNSaGJtTmxPMXh1SUNBZ0lIMGdMeThnVFc5MlpXUWdiM1YwYzJsa1pTQjBieUJsYm5OMWNtVWdSRU5GSUhkdmNtdHpJSGRwZEdnZ2RHaHBjeUJtYkdGblhHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlISmxaaUE5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdjbVZtS0dsdWMzUmhibU5sVkc5VmMyVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doY21WbUxtaGhjMDkzYmxCeWIzQmxjblI1S0NkamRYSnlaVzUwSnlrcElIdGNiaUFnSUNBZ0lDQWdJQ0JsY25KdmNpZ25WVzVsZUhCbFkzUmxaQ0J5WldZZ2IySnFaV04wSUhCeWIzWnBaR1ZrSUdadmNpQWxjeTRnSnlBcklDZFZjMlVnWldsMGFHVnlJR0VnY21WbUxYTmxkSFJsY2lCbWRXNWpkR2x2YmlCdmNpQlNaV0ZqZEM1amNtVmhkR1ZTWldZb0tTNGxjeWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1sdWFYTm9aV1JYYjNKckxuUjVjR1VwTENCblpYUlRkR0ZqYTBKNVJtbGlaWEpKYmtSbGRrRnVaRkJ5YjJRb1ptbHVhWE5vWldSWGIzSnJLU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVm1MbU4xY25KbGJuUWdQU0JwYm5OMFlXNWpaVlJ2VlhObE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSRVpYUmhZMmhTWldZb1kzVnljbVZ1ZENrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZKbFppQTlJR04xY25KbGJuUXVjbVZtTzF4dVhHNGdJR2xtSUNoamRYSnlaVzUwVW1WbUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmpkWEp5Wlc1MFVtVm1JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFVtVm1LRzUxYkd3cE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqZFhKeVpXNTBVbVZtTG1OMWNuSmxiblFnUFNCdWRXeHNPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZTQXZMeUJWYzJWeUxXOXlhV2RwYm1GMGFXNW5JR1Z5Y205eWN5QW9iR2xtWldONVkyeGxjeUJoYm1RZ2NtVm1jeWtnYzJodmRXeGtJRzV2ZENCcGJuUmxjbkoxY0hSY2JpOHZJR1JsYkdWMGFXOXVMQ0J6YnlCa2IyNG5kQ0JzWlhRZ2RHaGxiU0IwYUhKdmR5NGdTRzl6ZEMxdmNtbG5hVzVoZEdsdVp5Qmxjbkp2Y25NZ2MyaHZkV3hrWEc0dkx5QnBiblJsY25KMWNIUWdaR1ZzWlhScGIyNHNJSE52SUdsMEozTWdiMnRoZVZ4dVhHNWNibVoxYm1OMGFXOXVJR052YlcxcGRGVnViVzkxYm5Rb1ptbHVhWE5vWldSU2IyOTBMQ0JqZFhKeVpXNTBMQ0J5Wlc1a1pYSlFjbWx2Y21sMGVVeGxkbVZzS1NCN1hHNGdJRzl1UTI5dGJXbDBWVzV0YjNWdWRDaGpkWEp5Wlc1MEtUdGNibHh1SUNCemQybDBZMmdnS0dOMWNuSmxiblF1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JHZFc1amRHbHZia052YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVadmNuZGhjbVJTWldZNlhHNGdJQ0FnWTJGelpTQk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJR05oYzJVZ1UybHRjR3hsVFdWdGIwTnZiWEJ2Ym1WdWREcGNiaUFnSUNCallYTmxJRUpzYjJOck9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnZFhCa1lYUmxVWFZsZFdVZ1BTQmpkWEp5Wlc1MExuVndaR0YwWlZGMVpYVmxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaDFjR1JoZEdWUmRXVjFaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJzWVhOMFJXWm1aV04wSUQwZ2RYQmtZWFJsVVhWbGRXVXViR0Z6ZEVWbVptVmpkRHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hzWVhOMFJXWm1aV04wSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1ptbHljM1JGWm1abFkzUWdQU0JzWVhOMFJXWm1aV04wTG01bGVIUTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWMmhsYmlCMGFHVWdiM2R1WlhJZ1ptbGlaWElnYVhNZ1pHVnNaWFJsWkN3Z2RHaGxJR1JsYzNSeWIza2dablZ1WTNScGIyNGdiMllnWVNCd1lYTnphWFpsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdWbVptVmpkQ0JvYjI5cklHbHpJR05oYkd4bFpDQmtkWEpwYm1jZ2RHaGxJSE41Ym1Ob2NtOXViM1Z6SUdOdmJXMXBkQ0J3YUdGelpTNGdWR2hwY3lCcGMxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmhJR052Ym1ObGMzTnBiMjRnZEc4Z2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWTI5dGNHeGxlR2wwZVM0Z1EyRnNiR2x1WnlCcGRDQnBiaUIwYUdWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2NHRnpjMmwyWlNCbFptWmxZM1FnY0doaGMyVWdLR3hwYTJVZ2RHaGxlU0IxYzNWaGJHeDVJR0Z5WlN3Z2QyaGxiaUJrWlhCbGJtUmxibU5wWlhOY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kyaGhibWRsSUdSMWNtbHVaeUJoYmlCMWNHUmhkR1VwSUhkdmRXeGtJSEpsY1hWcGNtVWdaV2wwYUdWeUlIUnlZWFpsY25OcGJtY2dkR2hsWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUdOb2FXeGtjbVZ1SUc5bUlIUm9aU0JrWld4bGRHVmtJR1pwWW1WeUlHRm5ZV2x1TENCdmNpQnBibU5zZFdScGJtY2dkVzV0YjNWdWRDQmxabVpsWTNSelhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklHRnpJSEJoY25RZ2IyWWdkR2hsSUdacFltVnlJR1ZtWm1WamRDQnNhWE4wTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2TDF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCQ1pXTmhkWE5sSUhSb2FYTWdhWE1nWkhWeWFXNW5JSFJvWlNCemVXNWpJR052YlcxcGRDQndhR0Z6WlN3Z2QyVWdibVZsWkNCMGJ5QmphR0Z1WjJWY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxJSEJ5YVc5eWFYUjVMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQlNaV052Ym5OcFpHVnlJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnZEhKaFpHVWdiMlptTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUhKbGJtUmxjbEJ5YVc5eWFYUjVUR1YyWld3Z1BpQk9iM0p0WVd4UWNtbHZjbWwwZVNBL0lFNXZjbTFoYkZCeWFXOXlhWFI1SURvZ2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJEdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NuVnVWMmwwYUZCeWFXOXlhWFI1SkRFb2NISnBiM0pwZEhsTVpYWmxiQ3dnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJsWm1abFkzUWdQU0JtYVhKemRFVm1abVZqZER0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUnZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQmZaR1Z6ZEhKdmVTQTlJR1ZtWm1WamRDNWtaWE4wY205NU8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1gyUmxjM1J5YjNrZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZV1psYkhsRFlXeHNSR1Z6ZEhKdmVTaGpkWEp5Wlc1MExDQmZaR1Z6ZEhKdmVTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVm1abVZqZENBOUlHVm1abVZqZEM1dVpYaDBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBnZDJocGJHVWdLR1ZtWm1WamRDQWhQVDBnWm1seWMzUkZabVpsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElFTnNZWE56UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCellXWmxiSGxFWlhSaFkyaFNaV1lvWTNWeWNtVnVkQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBibk4wWVc1alpTQTlJR04xY25KbGJuUXVjM1JoZEdWT2IyUmxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFYybHNiRlZ1Ylc5MWJuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdJQ0J6WVdabGJIbERZV3hzUTI5dGNHOXVaVzUwVjJsc2JGVnViVzkxYm5Rb1kzVnljbVZ1ZEN3Z2FXNXpkR0Z1WTJVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdlMXh1WEc0Z0lDQWdJQ0FnSUhOaFptVnNlVVJsZEdGamFGSmxaaWhqZFhKeVpXNTBLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBVRzl5ZEdGc09seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVVDBSUE9pQjBhR2x6SUdseklISmxZM1Z5YzJsMlpTNWNiaUFnSUNBZ0lDQWdMeThnVjJVZ1lYSmxJR0ZzYzI4Z2JtOTBJSFZ6YVc1bklIUm9hWE1nY0dGeVpXNTBJR0psWTJGMWMyVmNiaUFnSUNBZ0lDQWdMeThnZEdobElIQnZjblJoYkNCM2FXeHNJR2RsZENCd2RYTm9aV1FnYVcxdFpXUnBZWFJsYkhrdVhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IxYm0xdmRXNTBTRzl6ZEVOdmJYQnZibVZ1ZEhNb1ptbHVhWE5vWldSU2IyOTBMQ0JqZFhKeVpXNTBMQ0J5Wlc1a1pYSlFjbWx2Y21sMGVVeGxkbVZzS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUm5WdVpHRnRaVzUwWVd4RGIyMXdiMjVsYm5RNlhHNGdJQ0FnSUNCN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ1kyRnpaU0JFWldoNVpISmhkR1ZrUm5KaFoyMWxiblE2WEc0Z0lDQWdJQ0I3WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnWTJGelpTQlRZMjl3WlVOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUh0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZMjl0YldsMFRtVnpkR1ZrVlc1dGIzVnVkSE1vWm1sdWFYTm9aV1JTYjI5MExDQnliMjkwTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tTQjdYRzRnSUM4dklGZG9hV3hsSUhkbEozSmxJR2x1YzJsa1pTQmhJSEpsYlc5MlpXUWdhRzl6ZENCdWIyUmxJSGRsSUdSdmJpZDBJSGRoYm5RZ2RHOGdZMkZzYkZ4dUlDQXZMeUJ5WlcxdmRtVkRhR2xzWkNCdmJpQjBhR1VnYVc1dVpYSWdibTlrWlhNZ1ltVmpZWFZ6WlNCMGFHVjVKM0psSUhKbGJXOTJaV1FnWW5rZ2RHaGxJSFJ2Y0Z4dUlDQXZMeUJqWVd4c0lHRnVlWGRoZVM0Z1YyVWdZV3h6YnlCM1lXNTBJSFJ2SUdOaGJHd2dZMjl0Y0c5dVpXNTBWMmxzYkZWdWJXOTFiblFnYjI0Z1lXeHNYRzRnSUM4dklHTnZiWEJ2YzJsMFpYTWdZbVZtYjNKbElIUm9hWE1nYUc5emRDQnViMlJsSUdseklISmxiVzkyWldRZ1puSnZiU0IwYUdVZ2RISmxaUzRnVkdobGNtVm1iM0psWEc0Z0lDOHZJSGRsSUdSdklHRnVJR2x1Ym1WeUlHeHZiM0FnZDJocGJHVWdkMlVuY21VZ2MzUnBiR3dnYVc1emFXUmxJSFJvWlNCb2IzTjBJRzV2WkdVdVhHNGdJSFpoY2lCdWIyUmxJRDBnY205dmREdGNibHh1SUNCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lHTnZiVzFwZEZWdWJXOTFiblFvWm1sdWFYTm9aV1JTYjI5MExDQnViMlJsTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tUc2dMeThnVm1semFYUWdZMmhwYkdSeVpXNGdZbVZqWVhWelpTQjBhR1Y1SUcxaGVTQmpiMjUwWVdsdUlHMXZjbVVnWTI5dGNHOXphWFJsSUc5eUlHaHZjM1FnYm05a1pYTXVYRzRnSUNBZ0x5OGdVMnRwY0NCd2IzSjBZV3h6SUdKbFkyRjFjMlVnWTI5dGJXbDBWVzV0YjNWdWRDZ3BJR04xY25KbGJuUnNlU0IyYVhOcGRITWdkR2hsYlNCeVpXTjFjbk5wZG1Wc2VTNWNibHh1SUNBZ0lHbG1JQ2h1YjJSbExtTm9hV3hrSUNFOVBTQnVkV3hzSUNZbUlDZ2dMeThnU1dZZ2QyVWdkWE5sSUcxMWRHRjBhVzl1SUhkbElHUnlhV3hzSUdSdmQyNGdhVzUwYnlCd2IzSjBZV3h6SUhWemFXNW5JR052YlcxcGRGVnViVzkxYm5RZ1lXSnZkbVV1WEc0Z0lDQWdMeThnU1dZZ2QyVWdaRzl1SjNRZ2RYTmxJRzExZEdGMGFXOXVJSGRsSUdSeWFXeHNJR1J2ZDI0Z2FXNTBieUJ3YjNKMFlXeHpJR2hsY21VZ2FXNXpkR1ZoWkM1Y2JpQWdJQ0FnYm05a1pTNTBZV2NnSVQwOUlFaHZjM1JRYjNKMFlXd3BLU0I3WEc0Z0lDQWdJQ0J1YjJSbExtTm9hV3hrTG5KbGRIVnliaUE5SUc1dlpHVTdYRzRnSUNBZ0lDQnViMlJsSUQwZ2JtOWtaUzVqYUdsc1pEdGNiaUFnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHViMlJsSUQwOVBTQnliMjkwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkMmhwYkdVZ0tHNXZaR1V1YzJsaWJHbHVaeUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNXZaR1V1Y21WMGRYSnVJRDA5UFNCdWRXeHNJSHg4SUc1dlpHVXVjbVYwZFhKdUlEMDlQU0J5YjI5MEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdibTlrWlNBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHNXZaR1V1YzJsaWJHbHVaeTV5WlhSMWNtNGdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0J1YjJSbElEMGdibTlrWlM1emFXSnNhVzVuTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHUmxkR0ZqYUVacFltVnlLR04xY25KbGJuUXBJSHRjYmlBZ2RtRnlJR0ZzZEdWeWJtRjBaU0E5SUdOMWNuSmxiblF1WVd4MFpYSnVZWFJsT3lBdkx5QkRkWFFnYjJabUlIUm9aU0J5WlhSMWNtNGdjRzlwYm5SbGNuTWdkRzhnWkdselkyOXVibVZqZENCcGRDQm1jbTl0SUhSb1pTQjBjbVZsTGlCSlpHVmhiR3g1TENCM1pWeHVJQ0F2THlCemFHOTFiR1FnWTJ4bFlYSWdkR2hsSUdOb2FXeGtJSEJ2YVc1MFpYSWdiMllnZEdobElIQmhjbVZ1ZENCaGJIUmxjbTVoZEdVZ2RHOGdiR1YwSUhSb2FYTmNiaUFnTHk4Z1oyVjBJRWRET21Wa0lHSjFkQ0IzWlNCa2IyNG5kQ0JyYm05M0lIZG9hV05vSUdadmNpQnpkWEpsSUhkb2FXTm9JSEJoY21WdWRDQnBjeUIwYUdVZ1kzVnljbVZ1ZEZ4dUlDQXZMeUJ2Ym1VZ2MyOGdkMlVuYkd3Z2MyVjBkR3hsSUdadmNpQkhRenBwYm1jZ2RHaGxJSE4xWW5SeVpXVWdiMllnZEdocGN5QmphR2xzWkM0Z1ZHaHBjeUJqYUdsc1pGeHVJQ0F2THlCcGRITmxiR1lnZDJsc2JDQmlaU0JIUXpwbFpDQjNhR1Z1SUhSb1pTQndZWEpsYm5RZ2RYQmtZWFJsY3lCMGFHVWdibVY0ZENCMGFXMWxMbHh1WEc0Z0lHTjFjbkpsYm5RdWNtVjBkWEp1SUQwZ2JuVnNiRHRjYmlBZ1kzVnljbVZ1ZEM1amFHbHNaQ0E5SUc1MWJHdzdYRzRnSUdOMWNuSmxiblF1YldWdGIybDZaV1JUZEdGMFpTQTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUXVkWEJrWVhSbFVYVmxkV1VnUFNCdWRXeHNPMXh1SUNCamRYSnlaVzUwTG1SbGNHVnVaR1Z1WTJsbGN5QTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUXVZV3gwWlhKdVlYUmxJRDBnYm5Wc2JEdGNiaUFnWTNWeWNtVnVkQzVtYVhKemRFVm1abVZqZENBOUlHNTFiR3c3WEc0Z0lHTjFjbkpsYm5RdWJHRnpkRVZtWm1WamRDQTlJRzUxYkd3N1hHNGdJR04xY25KbGJuUXVjR1Z1WkdsdVoxQnliM0J6SUQwZ2JuVnNiRHRjYmlBZ1kzVnljbVZ1ZEM1dFpXMXZhWHBsWkZCeWIzQnpJRDBnYm5Wc2JEdGNiaUFnWTNWeWNtVnVkQzV6ZEdGMFpVNXZaR1VnUFNCdWRXeHNPMXh1WEc0Z0lHbG1JQ2hoYkhSbGNtNWhkR1VnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JrWlhSaFkyaEdhV0psY2loaGJIUmxjbTVoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUlFZWEpsYm5SR2FXSmxjaWhtYVdKbGNpa2dlMXh1SUNCMllYSWdjR0Z5Wlc1MElEMGdabWxpWlhJdWNtVjBkWEp1TzF4dVhHNGdJSGRvYVd4bElDaHdZWEpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCcFppQW9hWE5JYjNOMFVHRnlaVzUwS0hCaGNtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3WVhKbGJuUTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NHRnlaVzUwSUQwZ2NHRnlaVzUwTG5KbGRIVnlianRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QkZjbkp2Y2lnZ1hDSkZlSEJsWTNSbFpDQjBieUJtYVc1a0lHRWdhRzl6ZENCd1lYSmxiblF1SUZSb2FYTWdaWEp5YjNJZ2FYTWdiR2xyWld4NUlHTmhkWE5sWkNCaWVTQmhJR0oxWnlCcGJpQlNaV0ZqZEM0Z1VHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTkliM04wVUdGeVpXNTBLR1pwWW1WeUtTQjdYRzRnSUhKbGRIVnliaUJtYVdKbGNpNTBZV2NnUFQwOUlFaHZjM1JEYjIxd2IyNWxiblFnZkh3Z1ptbGlaWEl1ZEdGbklEMDlQU0JJYjNOMFVtOXZkQ0I4ZkNCbWFXSmxjaTUwWVdjZ1BUMDlJRWh2YzNSUWIzSjBZV3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2RsZEVodmMzUlRhV0pzYVc1bktHWnBZbVZ5S1NCN1hHNGdJQzh2SUZkbEozSmxJR2R2YVc1bklIUnZJSE5sWVhKamFDQm1iM0ozWVhKa0lHbHVkRzhnZEdobElIUnlaV1VnZFc1MGFXd2dkMlVnWm1sdVpDQmhJSE5wWW14cGJtY2dhRzl6ZEZ4dUlDQXZMeUJ1YjJSbExpQlZibVp2Y25SMWJtRjBaV3g1TENCcFppQnRkV3gwYVhCc1pTQnBibk5sY25ScGIyNXpJR0Z5WlNCa2IyNWxJR2x1SUdFZ2NtOTNJSGRsSUdoaGRtVWdkRzljYmlBZ0x5OGdjMlZoY21Ob0lIQmhjM1FnZEdobGJTNGdWR2hwY3lCc1pXRmtjeUIwYnlCbGVIQnZibVZ1ZEdsaGJDQnpaV0Z5WTJnZ1ptOXlJSFJvWlNCdVpYaDBJSE5wWW14cGJtY3VYRzRnSUM4dklGUlBSRTg2SUVacGJtUWdZU0J0YjNKbElHVm1abWxqYVdWdWRDQjNZWGtnZEc4Z1pHOGdkR2hwY3k1Y2JpQWdkbUZ5SUc1dlpHVWdQU0JtYVdKbGNqdGNibHh1SUNCemFXSnNhVzVuY3pvZ2QyaHBiR1VnS0hSeWRXVXBJSHRjYmlBZ0lDQXZMeUJKWmlCM1pTQmthV1J1SjNRZ1ptbHVaQ0JoYm5sMGFHbHVaeXdnYkdWMEozTWdkSEo1SUhSb1pTQnVaWGgwSUhOcFlteHBibWN1WEc0Z0lDQWdkMmhwYkdVZ0tHNXZaR1V1YzJsaWJHbHVaeUE5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNXZaR1V1Y21WMGRYSnVJRDA5UFNCdWRXeHNJSHg4SUdselNHOXpkRkJoY21WdWRDaHViMlJsTG5KbGRIVnliaWtwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZDJVZ2NHOXdJRzkxZENCdlppQjBhR1VnY205dmRDQnZjaUJvYVhRZ2RHaGxJSEJoY21WdWRDQjBhR1VnWm1saVpYSWdkMlVnWVhKbElIUm9aVnh1SUNBZ0lDQWdJQ0F2THlCc1lYTjBJSE5wWW14cGJtY3VYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCdWIyUmxJRDBnYm05a1pTNXlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYm05a1pTNXphV0pzYVc1bkxuSmxkSFZ5YmlBOUlHNXZaR1V1Y21WMGRYSnVPMXh1SUNBZ0lHNXZaR1VnUFNCdWIyUmxMbk5wWW14cGJtYzdYRzVjYmlBZ0lDQjNhR2xzWlNBb2JtOWtaUzUwWVdjZ0lUMDlJRWh2YzNSRGIyMXdiMjVsYm5RZ0ppWWdibTlrWlM1MFlXY2dJVDA5SUVodmMzUlVaWGgwSUNZbUlHNXZaR1V1ZEdGbklDRTlQU0JFWldoNVpISmhkR1ZrUm5KaFoyMWxiblFwSUh0Y2JpQWdJQ0FnSUM4dklFbG1JR2wwSUdseklHNXZkQ0JvYjNOMElHNXZaR1VnWVc1a0xDQjNaU0J0YVdkb2RDQm9ZWFpsSUdFZ2FHOXpkQ0J1YjJSbElHbHVjMmxrWlNCcGRDNWNiaUFnSUNBZ0lDOHZJRlJ5ZVNCMGJ5QnpaV0Z5WTJnZ1pHOTNiaUIxYm5ScGJDQjNaU0JtYVc1a0lHOXVaUzVjYmlBZ0lDQWdJR2xtSUNodWIyUmxMbVZtWm1WamRGUmhaeUFtSUZCc1lXTmxiV1Z1ZENrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCb1lYWmxJR0VnWTJocGJHUXNJSFJ5ZVNCMGFHVWdjMmxpYkdsdVozTWdhVzV6ZEdWaFpDNWNiaUFnSUNBZ0lDQWdZMjl1ZEdsdWRXVWdjMmxpYkdsdVozTTdYRzRnSUNBZ0lDQjlJQzh2SUVsbUlIZGxJR1J2YmlkMElHaGhkbVVnWVNCamFHbHNaQ3dnZEhKNUlIUm9aU0J6YVdKc2FXNW5jeUJwYm5OMFpXRmtMbHh1SUNBZ0lDQWdMeThnVjJVZ1lXeHpieUJ6YTJsd0lIQnZjblJoYkhNZ1ltVmpZWFZ6WlNCMGFHVjVJR0Z5WlNCdWIzUWdjR0Z5ZENCdlppQjBhR2x6SUdodmMzUWdkSEpsWlM1Y2JseHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNWphR2xzWkNBOVBUMGdiblZzYkNCOGZDQnViMlJsTG5SaFp5QTlQVDBnU0c5emRGQnZjblJoYkNrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpTQnphV0pzYVc1bmN6dGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHNXZaR1V1WTJocGJHUXVjbVYwZFhKdUlEMGdibTlrWlR0Y2JpQWdJQ0FnSUNBZ2JtOWtaU0E5SUc1dlpHVXVZMmhwYkdRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNBdkx5QkRhR1ZqYXlCcFppQjBhR2x6SUdodmMzUWdibTlrWlNCcGN5QnpkR0ZpYkdVZ2IzSWdZV0p2ZFhRZ2RHOGdZbVVnY0d4aFkyVmtMbHh1WEc1Y2JpQWdJQ0JwWmlBb0lTaHViMlJsTG1WbVptVmpkRlJoWnlBbUlGQnNZV05sYldWdWRDa3BJSHRjYmlBZ0lDQWdJQzh2SUVadmRXNWtJR2wwSVZ4dUlDQWdJQ0FnY21WMGRYSnVJRzV2WkdVdWMzUmhkR1ZPYjJSbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpiMjF0YVhSUWJHRmpaVzFsYm5Rb1ptbHVhWE5vWldSWGIzSnJLU0I3WEc1Y2JseHVJQ0IyWVhJZ2NHRnlaVzUwUm1saVpYSWdQU0JuWlhSSWIzTjBVR0Z5Wlc1MFJtbGlaWElvWm1sdWFYTm9aV1JYYjNKcktUc2dMeThnVG05MFpUb2dkR2hsYzJVZ2RIZHZJSFpoY21saFlteGxjeUFxYlhWemRDb2dZV3gzWVhseklHSmxJSFZ3WkdGMFpXUWdkRzluWlhSb1pYSXVYRzVjYmlBZ2RtRnlJSEJoY21WdWREdGNiaUFnZG1GeUlHbHpRMjl1ZEdGcGJtVnlPMXh1SUNCMllYSWdjR0Z5Wlc1MFUzUmhkR1ZPYjJSbElEMGdjR0Z5Wlc1MFJtbGlaWEl1YzNSaGRHVk9iMlJsTzF4dVhHNGdJSE4zYVhSamFDQW9jR0Z5Wlc1MFJtbGlaWEl1ZEdGbktTQjdYRzRnSUNBZ1kyRnpaU0JJYjNOMFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2NHRnlaVzUwSUQwZ2NHRnlaVzUwVTNSaGRHVk9iMlJsTzF4dUlDQWdJQ0FnYVhORGIyNTBZV2x1WlhJZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdZMkZ6WlNCSWIzTjBVbTl2ZERwY2JpQWdJQ0FnSUhCaGNtVnVkQ0E5SUhCaGNtVnVkRk4wWVhSbFRtOWtaUzVqYjI1MFlXbHVaWEpKYm1adk8xeHVJQ0FnSUNBZ2FYTkRiMjUwWVdsdVpYSWdQU0IwY25WbE8xeHVJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0JqWVhObElFaHZjM1JRYjNKMFlXdzZYRzRnSUNBZ0lDQndZWEpsYm5RZ1BTQndZWEpsYm5SVGRHRjBaVTV2WkdVdVkyOXVkR0ZwYm1WeVNXNW1ienRjYmlBZ0lDQWdJR2x6UTI5dWRHRnBibVZ5SUQwZ2RISjFaVHRjYmlBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ1kyRnpaU0JHZFc1a1lXMWxiblJoYkVOdmJYQnZibVZ1ZERwY2JseHVJQ0FnSUM4dklHVnpiR2x1ZEMxa2FYTmhZbXhsTFc1bGVIUXRiR2x1WlMxdWJ5MW1ZV3hzZEdoeWIzVm5hRnh1WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJa2x1ZG1Gc2FXUWdhRzl6ZENCd1lYSmxiblFnWm1saVpYSXVJRlJvYVhNZ1pYSnliM0lnYVhNZ2JHbHJaV3g1SUdOaGRYTmxaQ0JpZVNCaElHSjFaeUJwYmlCU1pXRmpkQzRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJSDFjYmx4dUlDQnBaaUFvY0dGeVpXNTBSbWxpWlhJdVpXWm1aV04wVkdGbklDWWdRMjl1ZEdWdWRGSmxjMlYwS1NCN1hHNGdJQ0FnTHk4Z1VtVnpaWFFnZEdobElIUmxlSFFnWTI5dWRHVnVkQ0J2WmlCMGFHVWdjR0Z5Wlc1MElHSmxabTl5WlNCa2IybHVaeUJoYm5rZ2FXNXpaWEowYVc5dWMxeHVJQ0FnSUhKbGMyVjBWR1Y0ZEVOdmJuUmxiblFvY0dGeVpXNTBLVHNnTHk4Z1EyeGxZWElnUTI5dWRHVnVkRkpsYzJWMElHWnliMjBnZEdobElHVm1abVZqZENCMFlXZGNibHh1SUNBZ0lIQmhjbVZ1ZEVacFltVnlMbVZtWm1WamRGUmhaeUFtUFNCK1EyOXVkR1Z1ZEZKbGMyVjBPMXh1SUNCOVhHNWNiaUFnZG1GeUlHSmxabTl5WlNBOUlHZGxkRWh2YzNSVGFXSnNhVzVuS0dacGJtbHphR1ZrVjI5eWF5azdJQzh2SUZkbElHOXViSGtnYUdGMlpTQjBhR1VnZEc5d0lFWnBZbVZ5SUhSb1lYUWdkMkZ6SUdsdWMyVnlkR1ZrSUdKMWRDQjNaU0J1WldWa0lIUnZJSEpsWTNWeWMyVWdaRzkzYmlCcGRITmNiaUFnTHk4Z1kyaHBiR1J5Wlc0Z2RHOGdabWx1WkNCaGJHd2dkR2hsSUhSbGNtMXBibUZzSUc1dlpHVnpMbHh1WEc0Z0lHbG1JQ2hwYzBOdmJuUmhhVzVsY2lrZ2UxeHVJQ0FnSUdsdWMyVnlkRTl5UVhCd1pXNWtVR3hoWTJWdFpXNTBUbTlrWlVsdWRHOURiMjUwWVdsdVpYSW9abWx1YVhOb1pXUlhiM0pyTENCaVpXWnZjbVVzSUhCaGNtVnVkQ2s3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYVc1elpYSjBUM0pCY0hCbGJtUlFiR0ZqWlcxbGJuUk9iMlJsS0dacGJtbHphR1ZrVjI5eWF5d2dZbVZtYjNKbExDQndZWEpsYm5RcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x1YzJWeWRFOXlRWEJ3Wlc1a1VHeGhZMlZ0Wlc1MFRtOWtaVWx1ZEc5RGIyNTBZV2x1WlhJb2JtOWtaU3dnWW1WbWIzSmxMQ0J3WVhKbGJuUXBJSHRjYmlBZ2RtRnlJSFJoWnlBOUlHNXZaR1V1ZEdGbk8xeHVJQ0IyWVhJZ2FYTkliM04wSUQwZ2RHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBJSHg4SUhSaFp5QTlQVDBnU0c5emRGUmxlSFE3WEc1Y2JpQWdhV1lnS0dselNHOXpkQ0I4ZkNCbGJtRmliR1ZHZFc1a1lXMWxiblJoYkVGUVNTQXBJSHRjYmlBZ0lDQjJZWElnYzNSaGRHVk9iMlJsSUQwZ2FYTkliM04wSUQ4Z2JtOWtaUzV6ZEdGMFpVNXZaR1VnT2lCdWIyUmxMbk4wWVhSbFRtOWtaUzVwYm5OMFlXNWpaVHRjYmx4dUlDQWdJR2xtSUNoaVpXWnZjbVVwSUh0Y2JpQWdJQ0FnSUdsdWMyVnlkRWx1UTI5dWRHRnBibVZ5UW1WbWIzSmxLSEJoY21WdWRDd2djM1JoZEdWT2IyUmxMQ0JpWldadmNtVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGNIQmxibVJEYUdsc1pGUnZRMjl1ZEdGcGJtVnlLSEJoY21WdWRDd2djM1JoZEdWT2IyUmxLVHRjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0JwWmlBb2RHRm5JRDA5UFNCSWIzTjBVRzl5ZEdGc0tTQTdJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmphR2xzWkNBOUlHNXZaR1V1WTJocGJHUTdYRzVjYmlBZ0lDQnBaaUFvWTJocGJHUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2x1YzJWeWRFOXlRWEJ3Wlc1a1VHeGhZMlZ0Wlc1MFRtOWtaVWx1ZEc5RGIyNTBZV2x1WlhJb1kyaHBiR1FzSUdKbFptOXlaU3dnY0dGeVpXNTBLVHRjYmlBZ0lDQWdJSFpoY2lCemFXSnNhVzVuSUQwZ1kyaHBiR1F1YzJsaWJHbHVaenRjYmx4dUlDQWdJQ0FnZDJocGJHVWdLSE5wWW14cGJtY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnYVc1elpYSjBUM0pCY0hCbGJtUlFiR0ZqWlcxbGJuUk9iMlJsU1c1MGIwTnZiblJoYVc1bGNpaHphV0pzYVc1bkxDQmlaV1p2Y21Vc0lIQmhjbVZ1ZENrN1hHNGdJQ0FnSUNBZ0lITnBZbXhwYm1jZ1BTQnphV0pzYVc1bkxuTnBZbXhwYm1jN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHbHVjMlZ5ZEU5eVFYQndaVzVrVUd4aFkyVnRaVzUwVG05a1pTaHViMlJsTENCaVpXWnZjbVVzSUhCaGNtVnVkQ2tnZTF4dUlDQjJZWElnZEdGbklEMGdibTlrWlM1MFlXYzdYRzRnSUhaaGNpQnBjMGh2YzNRZ1BTQjBZV2NnUFQwOUlFaHZjM1JEYjIxd2IyNWxiblFnZkh3Z2RHRm5JRDA5UFNCSWIzTjBWR1Y0ZER0Y2JseHVJQ0JwWmlBb2FYTkliM04wSUh4OElHVnVZV0pzWlVaMWJtUmhiV1Z1ZEdGc1FWQkpJQ2tnZTF4dUlDQWdJSFpoY2lCemRHRjBaVTV2WkdVZ1BTQnBjMGh2YzNRZ1B5QnViMlJsTG5OMFlYUmxUbTlrWlNBNklHNXZaR1V1YzNSaGRHVk9iMlJsTG1sdWMzUmhibU5sTzF4dVhHNGdJQ0FnYVdZZ0tHSmxabTl5WlNrZ2UxeHVJQ0FnSUNBZ2FXNXpaWEowUW1WbWIzSmxLSEJoY21WdWRDd2djM1JoZEdWT2IyUmxMQ0JpWldadmNtVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCaGNIQmxibVJEYUdsc1pDaHdZWEpsYm5Rc0lITjBZWFJsVG05a1pTazdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnU0c5emRGQnZjblJoYkNrZ095QmxiSE5sSUh0Y2JpQWdJQ0IyWVhJZ1kyaHBiR1FnUFNCdWIyUmxMbU5vYVd4a08xeHVYRzRnSUNBZ2FXWWdLR05vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnBibk5sY25SUGNrRndjR1Z1WkZCc1lXTmxiV1Z1ZEU1dlpHVW9ZMmhwYkdRc0lHSmxabTl5WlN3Z2NHRnlaVzUwS1R0Y2JpQWdJQ0FnSUhaaGNpQnphV0pzYVc1bklEMGdZMmhwYkdRdWMybGliR2x1Wnp0Y2JseHVJQ0FnSUNBZ2QyaHBiR1VnS0hOcFlteHBibWNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ2FXNXpaWEowVDNKQmNIQmxibVJRYkdGalpXMWxiblJPYjJSbEtITnBZbXhwYm1jc0lHSmxabTl5WlN3Z2NHRnlaVzUwS1R0Y2JpQWdJQ0FnSUNBZ2MybGliR2x1WnlBOUlITnBZbXhwYm1jdWMybGliR2x1Wnp0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNXRiM1Z1ZEVodmMzUkRiMjF3YjI1bGJuUnpLR1pwYm1semFHVmtVbTl2ZEN3Z1kzVnljbVZ1ZEN3Z2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJDa2dlMXh1SUNBdkx5QlhaU0J2Ym14NUlHaGhkbVVnZEdobElIUnZjQ0JHYVdKbGNpQjBhR0YwSUhkaGN5QmtaV3hsZEdWa0lHSjFkQ0IzWlNCdVpXVmtJSFJ2SUhKbFkzVnljMlVnWkc5M2JpQnBkSE5jYmlBZ0x5OGdZMmhwYkdSeVpXNGdkRzhnWm1sdVpDQmhiR3dnZEdobElIUmxjbTFwYm1Gc0lHNXZaR1Z6TGx4dUlDQjJZWElnYm05a1pTQTlJR04xY25KbGJuUTdJQzh2SUVWaFkyZ2dhWFJsY21GMGFXOXVMQ0JqZFhKeVpXNTBVR0Z5Wlc1MElHbHpJSEJ2Y0hWc1lYUmxaQ0IzYVhSb0lHNXZaR1VuY3lCb2IzTjBJSEJoY21WdWRDQnBaaUJ1YjNSY2JpQWdMeThnWTNWeWNtVnVkRkJoY21WdWRFbHpWbUZzYVdRdVhHNWNiaUFnZG1GeUlHTjFjbkpsYm5SUVlYSmxiblJKYzFaaGJHbGtJRDBnWm1Gc2MyVTdJQzh2SUU1dmRHVTZJSFJvWlhObElIUjNieUIyWVhKcFlXSnNaWE1nS20xMWMzUXFJR0ZzZDJGNWN5QmlaU0IxY0dSaGRHVmtJSFJ2WjJWMGFHVnlMbHh1WEc0Z0lIWmhjaUJqZFhKeVpXNTBVR0Z5Wlc1ME8xeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZCaGNtVnVkRWx6UTI5dWRHRnBibVZ5TzF4dVhHNGdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnYVdZZ0tDRmpkWEp5Wlc1MFVHRnlaVzUwU1hOV1lXeHBaQ2tnZTF4dUlDQWdJQ0FnZG1GeUlIQmhjbVZ1ZENBOUlHNXZaR1V1Y21WMGRYSnVPMXh1WEc0Z0lDQWdJQ0JtYVc1a1VHRnlaVzUwT2lCM2FHbHNaU0FvZEhKMVpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb0lTaHdZWEpsYm5RZ0lUMDlJRzUxYkd3cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVJYaHdaV04wWldRZ2RHOGdabWx1WkNCaElHaHZjM1FnY0dGeVpXNTBMaUJVYUdseklHVnljbTl5SUdseklHeHBhMlZzZVNCallYVnpaV1FnWW5rZ1lTQmlkV2NnYVc0Z1VtVmhZM1F1SUZCc1pXRnpaU0JtYVd4bElHRnVJR2x6YzNWbExsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlIQmhjbVZ1ZEZOMFlYUmxUbTlrWlNBOUlIQmhjbVZ1ZEM1emRHRjBaVTV2WkdVN1hHNWNiaUFnSUNBZ0lDQWdjM2RwZEdOb0lDaHdZWEpsYm5RdWRHRm5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyRnpaU0JJYjNOMFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ0lDQWdJQ0FnWTNWeWNtVnVkRkJoY21WdWRDQTlJSEJoY21WdWRGTjBZWFJsVG05a1pUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJRWVhKbGJuUkpjME52Ym5SaGFXNWxjaUE5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3NnWm1sdVpGQmhjbVZ1ZER0Y2JseHVJQ0FnSUNBZ0lDQWdJR05oYzJVZ1NHOXpkRkp2YjNRNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqZFhKeVpXNTBVR0Z5Wlc1MElEMGdjR0Z5Wlc1MFUzUmhkR1ZPYjJSbExtTnZiblJoYVc1bGNrbHVabTg3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpkWEp5Wlc1MFVHRnlaVzUwU1hORGIyNTBZV2x1WlhJZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzZ1ptbHVaRkJoY21WdWREdGNibHh1SUNBZ0lDQWdJQ0FnSUdOaGMyVWdTRzl6ZEZCdmNuUmhiRHBjYmlBZ0lDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5SUVlYSmxiblFnUFNCd1lYSmxiblJUZEdGMFpVNXZaR1V1WTI5dWRHRnBibVZ5U1c1bWJ6dGNiaUFnSUNBZ0lDQWdJQ0FnSUdOMWNuSmxiblJRWVhKbGJuUkpjME52Ym5SaGFXNWxjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhheUJtYVc1a1VHRnlaVzUwTzF4dVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J3WVhKbGJuUWdQU0J3WVhKbGJuUXVjbVYwZFhKdU8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpkWEp5Wlc1MFVHRnlaVzUwU1hOV1lXeHBaQ0E5SUhSeWRXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBRMjl0Y0c5dVpXNTBJSHg4SUc1dlpHVXVkR0ZuSUQwOVBTQkliM04wVkdWNGRDa2dlMXh1SUNBZ0lDQWdZMjl0YldsMFRtVnpkR1ZrVlc1dGIzVnVkSE1vWm1sdWFYTm9aV1JTYjI5MExDQnViMlJsTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tUc2dMeThnUVdaMFpYSWdZV3hzSUhSb1pTQmphR2xzWkhKbGJpQm9ZWFpsSUhWdWJXOTFiblJsWkN3Z2FYUWdhWE1nYm05M0lITmhabVVnZEc4Z2NtVnRiM1psSUhSb1pWeHVJQ0FnSUNBZ0x5OGdibTlrWlNCbWNtOXRJSFJvWlNCMGNtVmxMbHh1WEc0Z0lDQWdJQ0JwWmlBb1kzVnljbVZ1ZEZCaGNtVnVkRWx6UTI5dWRHRnBibVZ5S1NCN1hHNGdJQ0FnSUNBZ0lISmxiVzkyWlVOb2FXeGtSbkp2YlVOdmJuUmhhVzVsY2loamRYSnlaVzUwVUdGeVpXNTBMQ0J1YjJSbExuTjBZWFJsVG05a1pTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQnlaVzF2ZG1WRGFHbHNaQ2hqZFhKeVpXNTBVR0Z5Wlc1MExDQnViMlJsTG5OMFlYUmxUbTlrWlNrN1hHNGdJQ0FnSUNCOUlDOHZJRVJ2YmlkMElIWnBjMmwwSUdOb2FXeGtjbVZ1SUdKbFkyRjFjMlVnZDJVZ1lXeHlaV0ZrZVNCMmFYTnBkR1ZrSUhSb1pXMHVYRzVjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzV2WkdVdWRHRm5JRDA5UFNCSWIzTjBVRzl5ZEdGc0tTQjdYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNWphR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJYYUdWdUlIZGxJR2R2SUdsdWRHOGdZU0J3YjNKMFlXd3NJR2wwSUdKbFkyOXRaWE1nZEdobElIQmhjbVZ1ZENCMGJ5QnlaVzF2ZG1VZ1puSnZiUzVjYmlBZ0lDQWdJQ0FnTHk4Z1YyVWdkMmxzYkNCeVpXRnpjMmxuYmlCcGRDQmlZV05ySUhkb1pXNGdkMlVnY0c5d0lIUm9aU0J3YjNKMFlXd2diMjRnZEdobElIZGhlU0IxY0M1Y2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEZCaGNtVnVkQ0E5SUc1dlpHVXVjM1JoZEdWT2IyUmxMbU52Ym5SaGFXNWxja2x1Wm04N1hHNGdJQ0FnSUNBZ0lHTjFjbkpsYm5SUVlYSmxiblJKYzBOdmJuUmhhVzVsY2lBOUlIUnlkV1U3SUM4dklGWnBjMmwwSUdOb2FXeGtjbVZ1SUdKbFkyRjFjMlVnY0c5eWRHRnNjeUJ0YVdkb2RDQmpiMjUwWVdsdUlHaHZjM1FnWTI5dGNHOXVaVzUwY3k1Y2JseHVJQ0FnSUNBZ0lDQnViMlJsTG1Ob2FXeGtMbkpsZEhWeWJpQTlJRzV2WkdVN1hHNGdJQ0FnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnWTI5dGJXbDBWVzV0YjNWdWRDaG1hVzVwYzJobFpGSnZiM1FzSUc1dlpHVXNJSEpsYm1SbGNsQnlhVzl5YVhSNVRHVjJaV3dwT3lBdkx5QldhWE5wZENCamFHbHNaSEpsYmlCaVpXTmhkWE5sSUhkbElHMWhlU0JtYVc1a0lHMXZjbVVnYUc5emRDQmpiMjF3YjI1bGJuUnpJR0psYkc5M0xseHVYRzRnSUNBZ0lDQnBaaUFvYm05a1pTNWphR2xzWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQnViMlJsTG1Ob2FXeGtMbkpsZEhWeWJpQTlJRzV2WkdVN1hHNGdJQ0FnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbU5vYVd4a08xeHVJQ0FnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9ibTlrWlNBOVBUMGdZM1Z5Y21WdWRDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhkb2FXeGxJQ2h1YjJSbExuTnBZbXhwYm1jZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHbG1JQ2h1YjJSbExuSmxkSFZ5YmlBOVBUMGdiblZzYkNCOGZDQnViMlJsTG5KbGRIVnliaUE5UFQwZ1kzVnljbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHNXZaR1VnUFNCdWIyUmxMbkpsZEhWeWJqdGNibHh1SUNBZ0lDQWdhV1lnS0c1dlpHVXVkR0ZuSUQwOVBTQkliM04wVUc5eWRHRnNLU0I3WEc0Z0lDQWdJQ0FnSUM4dklGZG9aVzRnZDJVZ1oyOGdiM1YwSUc5bUlIUm9aU0J3YjNKMFlXd3NJSGRsSUc1bFpXUWdkRzhnY21WemRHOXlaU0IwYUdVZ2NHRnlaVzUwTGx4dUlDQWdJQ0FnSUNBdkx5QlRhVzVqWlNCM1pTQmtiMjRuZENCclpXVndJR0VnYzNSaFkyc2diMllnZEdobGJTd2dkMlVnZDJsc2JDQnpaV0Z5WTJnZ1ptOXlJR2wwTGx4dUlDQWdJQ0FnSUNCamRYSnlaVzUwVUdGeVpXNTBTWE5XWVd4cFpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUc1dlpHVXVjMmxpYkdsdVp5NXlaWFIxY200Z1BTQnViMlJsTG5KbGRIVnlianRjYmlBZ0lDQnViMlJsSUQwZ2JtOWtaUzV6YVdKc2FXNW5PMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOdmJXMXBkRVJsYkdWMGFXOXVLR1pwYm1semFHVmtVbTl2ZEN3Z1kzVnljbVZ1ZEN3Z2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJDa2dlMXh1SUNCN1hHNGdJQ0FnTHk4Z1VtVmpkWEp6YVhabGJIa2daR1ZzWlhSbElHRnNiQ0JvYjNOMElHNXZaR1Z6SUdaeWIyMGdkR2hsSUhCaGNtVnVkQzVjYmlBZ0lDQXZMeUJFWlhSaFkyZ2djbVZtY3lCaGJtUWdZMkZzYkNCamIyMXdiMjVsYm5SWGFXeHNWVzV0YjNWdWRDZ3BJRzl1SUhSb1pTQjNhRzlzWlNCemRXSjBjbVZsTGx4dUlDQWdJSFZ1Ylc5MWJuUkliM04wUTI5dGNHOXVaVzUwY3lobWFXNXBjMmhsWkZKdmIzUXNJR04xY25KbGJuUXNJSEpsYm1SbGNsQnlhVzl5YVhSNVRHVjJaV3dwTzF4dUlDQjlYRzVjYmlBZ1pHVjBZV05vUm1saVpYSW9ZM1Z5Y21WdWRDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTnZiVzFwZEZkdmNtc29ZM1Z5Y21WdWRDd2dabWx1YVhOb1pXUlhiM0pyS1NCN1hHNWNiaUFnYzNkcGRHTm9JQ2htYVc1cGMyaGxaRmR2Y21zdWRHRm5LU0I3WEc0Z0lDQWdZMkZ6WlNCR2RXNWpkR2x2YmtOdmJYQnZibVZ1ZERwY2JpQWdJQ0JqWVhObElFWnZjbmRoY21SU1pXWTZYRzRnSUNBZ1kyRnpaU0JOWlcxdlEyOXRjRzl1Wlc1ME9seHVJQ0FnSUdOaGMyVWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkRHBjYmlBZ0lDQmpZWE5sSUVKc2IyTnJPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0F2THlCTVlYbHZkWFFnWldabVpXTjBjeUJoY21VZ1pHVnpkSEp2ZVdWa0lHUjFjbWx1WnlCMGFHVWdiWFYwWVhScGIyNGdjR2hoYzJVZ2MyOGdkR2hoZENCaGJHeGNiaUFnSUNBZ0lDQWdMeThnWkdWemRISnZlU0JtZFc1amRHbHZibk1nWm05eUlHRnNiQ0JtYVdKbGNuTWdZWEpsSUdOaGJHeGxaQ0JpWldadmNtVWdZVzU1SUdOeVpXRjBaU0JtZFc1amRHbHZibk11WEc0Z0lDQWdJQ0FnSUM4dklGUm9hWE1nY0hKbGRtVnVkSE1nYzJsaWJHbHVaeUJqYjIxd2IyNWxiblFnWldabVpXTjBjeUJtY205dElHbHVkR1Z5Wm1WeWFXNW5JSGRwZEdnZ1pXRmphQ0J2ZEdobGNpeGNiaUFnSUNBZ0lDQWdMeThnWlM1bkxpQmhJR1JsYzNSeWIza2dablZ1WTNScGIyNGdhVzRnYjI1bElHTnZiWEJ2Ym1WdWRDQnphRzkxYkdRZ2JtVjJaWElnYjNabGNuSnBaR1VnWVNCeVpXWWdjMlYwWEc0Z0lDQWdJQ0FnSUM4dklHSjVJR0VnWTNKbFlYUmxJR1oxYm1OMGFXOXVJR2x1SUdGdWIzUm9aWElnWTI5dGNHOXVaVzUwSUdSMWNtbHVaeUIwYUdVZ2MyRnRaU0JqYjIxdGFYUXVYRzRnSUNBZ0lDQWdJR052YlcxcGRFaHZiMnRGWm1abFkzUk1hWE4wVlc1dGIzVnVkQ2hNWVhsdmRYUWdmQ0JJWVhORlptWmxZM1FzSUdacGJtbHphR1ZrVjI5eWF5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnUTJ4aGMzTkRiMjF3YjI1bGJuUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnU0c5emRFTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdsdWMzUmhibU5sSUQwZ1ptbHVhWE5vWldSWGIzSnJMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJQ0FnSUNCcFppQW9hVzV6ZEdGdVkyVWdJVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFTnZiVzFwZENCMGFHVWdkMjl5YXlCd2NtVndZWEpsWkNCbFlYSnNhV1Z5TGx4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ1WlhkUWNtOXdjeUE5SUdacGJtbHphR1ZrVjI5eWF5NXRaVzF2YVhwbFpGQnliM0J6T3lBdkx5QkdiM0lnYUhsa2NtRjBhVzl1SUhkbElISmxkWE5sSUhSb1pTQjFjR1JoZEdVZ2NHRjBhQ0JpZFhRZ2QyVWdkSEpsWVhRZ2RHaGxJRzlzWkZCeWIzQnpYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1lYTWdkR2hsSUc1bGQxQnliM0J6TGlCVWFHVWdkWEJrWVhSbFVHRjViRzloWkNCM2FXeHNJR052Ym5SaGFXNGdkR2hsSUhKbFlXd2dZMmhoYm1kbElHbHVYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHaHBjeUJqWVhObExseHVYRzRnSUNBZ0lDQWdJQ0FnZG1GeUlHOXNaRkJ5YjNCeklEMGdZM1Z5Y21WdWRDQWhQVDBnYm5Wc2JDQS9JR04xY25KbGJuUXViV1Z0YjJsNlpXUlFjbTl3Y3lBNklHNWxkMUJ5YjNCek8xeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCMGVYQmxJRDBnWm1sdWFYTm9aV1JYYjNKckxuUjVjR1U3SUM4dklGUlBSRTg2SUZSNWNHVWdkR2hsSUhWd1pHRjBaVkYxWlhWbElIUnZJR0psSUhOd1pXTnBabWxqSUhSdklHaHZjM1FnWTI5dGNHOXVaVzUwY3k1Y2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCMWNHUmhkR1ZRWVhsc2IyRmtJRDBnWm1sdWFYTm9aV1JYYjNKckxuVndaR0YwWlZGMVpYVmxPMXh1SUNBZ0lDQWdJQ0FnSUdacGJtbHphR1ZrVjI5eWF5NTFjR1JoZEdWUmRXVjFaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9kWEJrWVhSbFVHRjViRzloWkNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dGJXbDBWWEJrWVhSbEtHbHVjM1JoYm1ObExDQjFjR1JoZEdWUVlYbHNiMkZrTENCMGVYQmxMQ0J2YkdSUWNtOXdjeXdnYm1WM1VISnZjSE1wTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJR05oYzJVZ1NHOXpkRlJsZUhRNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2doS0dacGJtbHphR1ZrVjI5eWF5NXpkR0YwWlU1dlpHVWdJVDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lWR2hwY3lCemFHOTFiR1FnYUdGMlpTQmhJSFJsZUhRZ2JtOWtaU0JwYm1sMGFXRnNhWHBsWkM0Z1ZHaHBjeUJsY25KdmNpQnBjeUJzYVd0bGJIa2dZMkYxYzJWa0lHSjVJR0VnWW5WbklHbHVJRkpsWVdOMExpQlFiR1ZoYzJVZ1ptbHNaU0JoYmlCcGMzTjFaUzVjSWlBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lIWmhjaUIwWlhoMFNXNXpkR0Z1WTJVZ1BTQm1hVzVwYzJobFpGZHZjbXN1YzNSaGRHVk9iMlJsTzF4dUlDQWdJQ0FnSUNCMllYSWdibVYzVkdWNGRDQTlJR1pwYm1semFHVmtWMjl5YXk1dFpXMXZhWHBsWkZCeWIzQnpPeUF2THlCR2IzSWdhSGxrY21GMGFXOXVJSGRsSUhKbGRYTmxJSFJvWlNCMWNHUmhkR1VnY0dGMGFDQmlkWFFnZDJVZ2RISmxZWFFnZEdobElHOXNaRkJ5YjNCelhHNGdJQ0FnSUNBZ0lDOHZJR0Z6SUhSb1pTQnVaWGRRY205d2N5NGdWR2hsSUhWd1pHRjBaVkJoZVd4dllXUWdkMmxzYkNCamIyNTBZV2x1SUhSb1pTQnlaV0ZzSUdOb1lXNW5aU0JwYmx4dUlDQWdJQ0FnSUNBdkx5QjBhR2x6SUdOaGMyVXVYRzVjYmlBZ0lDQWdJQ0FnZG1GeUlHOXNaRlJsZUhRZ1BTQmpkWEp5Wlc1MElDRTlQU0J1ZFd4c0lEOGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGQnliM0J6SURvZ2JtVjNWR1Y0ZER0Y2JpQWdJQ0FnSUNBZ1kyOXRiV2wwVkdWNGRGVndaR0YwWlNoMFpYaDBTVzV6ZEdGdVkyVXNJRzlzWkZSbGVIUXNJRzVsZDFSbGVIUXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUVodmMzUlNiMjkwT2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkbUZ5SUY5eWIyOTBJRDBnWm1sdWFYTm9aV1JYYjNKckxuTjBZWFJsVG05a1pUdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGZjbTl2ZEM1b2VXUnlZWFJsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTZDJaU0JxZFhOMElHaDVaSEpoZEdWa0xpQk9ieUJ1WldWa0lIUnZJR2g1WkhKaGRHVWdZV2RoYVc0dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JmY205dmRDNW9lV1J5WVhSbElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjIxdGFYUkllV1J5WVhSbFpFTnZiblJoYVc1bGNpaGZjbTl2ZEM1amIyNTBZV2x1WlhKSmJtWnZLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUZCeWIyWnBiR1Z5T2x4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0JqWVhObElGTjFjM0JsYm5ObFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQmpiMjF0YVhSVGRYTndaVzV6WlVOdmJYQnZibVZ1ZENobWFXNXBjMmhsWkZkdmNtc3BPMXh1SUNBZ0lDQWdJQ0JoZEhSaFkyaFRkWE53Wlc1elpWSmxkSEo1VEdsemRHVnVaWEp6S0dacGJtbHphR1ZrVjI5eWF5azdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHTmhjMlVnVTNWemNHVnVjMlZNYVhOMFEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQmhkSFJoWTJoVGRYTndaVzV6WlZKbGRISjVUR2x6ZEdWdVpYSnpLR1pwYm1semFHVmtWMjl5YXlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdTVzVqYjIxd2JHVjBaVU5zWVhOelEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpVkdocGN5QjFibWwwSUc5bUlIZHZjbXNnZEdGbklITm9iM1ZzWkNCdWIzUWdhR0YyWlNCemFXUmxMV1ZtWm1WamRITXVJRlJvYVhNZ1pYSnliM0lnYVhNZ2JHbHJaV3g1SUdOaGRYTmxaQ0JpZVNCaElHSjFaeUJwYmlCU1pXRmpkQzRnVUd4bFlYTmxJR1pwYkdVZ1lXNGdhWE56ZFdVdVhDSWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBVM1Z6Y0dWdWMyVkRiMjF3YjI1bGJuUW9abWx1YVhOb1pXUlhiM0pyS1NCN1hHNGdJSFpoY2lCdVpYZFRkR0YwWlNBOUlHWnBibWx6YUdWa1YyOXlheTV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0IyWVhJZ2JtVjNSR2xrVkdsdFpXOTFkRHRjYmlBZ2RtRnlJSEJ5YVcxaGNubERhR2xzWkZCaGNtVnVkQ0E5SUdacGJtbHphR1ZrVjI5eWF6dGNibHh1SUNCcFppQW9ibVYzVTNSaGRHVWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnVaWGRFYVdSVWFXMWxiM1YwSUQwZ1ptRnNjMlU3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYm1WM1JHbGtWR2x0Wlc5MWRDQTlJSFJ5ZFdVN1hHNGdJQ0FnY0hKcGJXRnllVU5vYVd4a1VHRnlaVzUwSUQwZ1ptbHVhWE5vWldSWGIzSnJMbU5vYVd4a08xeHVJQ0FnSUcxaGNtdERiMjF0YVhSVWFXMWxUMlpHWVd4c1ltRmpheWdwTzF4dUlDQjlYRzVjYmlBZ2FXWWdLQ0J3Y21sdFlYSjVRMmhwYkdSUVlYSmxiblFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JvYVdSbFQzSlZibWhwWkdWQmJHeERhR2xzWkhKbGJpaHdjbWx0WVhKNVEyaHBiR1JRWVhKbGJuUXNJRzVsZDBScFpGUnBiV1Z2ZFhRcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR052YlcxcGRGTjFjM0JsYm5ObFNIbGtjbUYwYVc5dVEyRnNiR0poWTJ0ektHWnBibWx6YUdWa1VtOXZkQ3dnWm1sdWFYTm9aV1JYYjNKcktTQjdYRzVjYmlBZ2RtRnlJRzVsZDFOMFlYUmxJRDBnWm1sdWFYTm9aV1JYYjNKckxtMWxiVzlwZW1Wa1UzUmhkR1U3WEc1Y2JpQWdhV1lnS0c1bGQxTjBZWFJsSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQm1hVzVwYzJobFpGZHZjbXN1WVd4MFpYSnVZWFJsTzF4dVhHNGdJQ0FnYVdZZ0tHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJ3Y21WMlUzUmhkR1VnUFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVTNSaGRHVTdYRzVjYmlBZ0lDQWdJR2xtSUNod2NtVjJVM1JoZEdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhOMWMzQmxibk5sU1c1emRHRnVZMlVnUFNCd2NtVjJVM1JoZEdVdVpHVm9lV1J5WVhSbFpEdGNibHh1SUNBZ0lDQWdJQ0JwWmlBb2MzVnpjR1Z1YzJWSmJuTjBZVzVqWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052YlcxcGRFaDVaSEpoZEdWa1UzVnpjR1Z1YzJWSmJuTjBZVzVqWlNoemRYTndaVzV6WlVsdWMzUmhibU5sS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmhkSFJoWTJoVGRYTndaVzV6WlZKbGRISjVUR2x6ZEdWdVpYSnpLR1pwYm1semFHVmtWMjl5YXlrZ2UxeHVJQ0F2THlCSlppQjBhR2x6SUdKdmRXNWtZWEo1SUdwMWMzUWdkR2x0WldRZ2IzVjBMQ0IwYUdWdUlHbDBJSGRwYkd3Z2FHRjJaU0JoSUhObGRDQnZaaUIwYUdWdVlXSnNaWE11WEc0Z0lDOHZJRVp2Y2lCbFlXTm9JSFJvWlc1aFlteGxMQ0JoZEhSaFkyZ2dZU0JzYVhOMFpXNWxjaUJ6YnlCMGFHRjBJSGRvWlc0Z2FYUWdjbVZ6YjJ4MlpYTXNJRkpsWVdOMFhHNGdJQzh2SUdGMGRHVnRjSFJ6SUhSdklISmxMWEpsYm1SbGNpQjBhR1VnWW05MWJtUmhjbmtnYVc0Z2RHaGxJSEJ5YVcxaGNua2dLSEJ5WlMxMGFXMWxiM1YwS1NCemRHRjBaUzVjYmlBZ2RtRnlJSFJvWlc1aFlteGxjeUE5SUdacGJtbHphR1ZrVjI5eWF5NTFjR1JoZEdWUmRXVjFaVHRjYmx4dUlDQnBaaUFvZEdobGJtRmliR1Z6SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnWm1sdWFYTm9aV1JYYjNKckxuVndaR0YwWlZGMVpYVmxJRDBnYm5Wc2JEdGNiaUFnSUNCMllYSWdjbVYwY25sRFlXTm9aU0E5SUdacGJtbHphR1ZrVjI5eWF5NXpkR0YwWlU1dlpHVTdYRzVjYmlBZ0lDQnBaaUFvY21WMGNubERZV05vWlNBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtVjBjbmxEWVdOb1pTQTlJR1pwYm1semFHVmtWMjl5YXk1emRHRjBaVTV2WkdVZ1BTQnVaWGNnVUc5emMybGliSGxYWldGclUyVjBLQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hsYm1GaWJHVnpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLSFJvWlc1aFlteGxLU0I3WEc0Z0lDQWdJQ0F2THlCTlpXMXZhWHBsSUhWemFXNW5JSFJvWlNCaWIzVnVaR0Z5ZVNCbWFXSmxjaUIwYnlCd2NtVjJaVzUwSUhKbFpIVnVaR0Z1ZENCc2FYTjBaVzVsY25NdVhHNGdJQ0FnSUNCMllYSWdjbVYwY25rZ1BTQnlaWE52YkhabFVtVjBjbmxVYUdWdVlXSnNaUzVpYVc1a0tHNTFiR3dzSUdacGJtbHphR1ZrVjI5eWF5d2dkR2hsYm1GaWJHVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYSmxkSEo1UTJGamFHVXVhR0Z6S0hSb1pXNWhZbXhsS1NrZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIUm9aVzVoWW14bExsOWZjbVZoWTNSRWIwNXZkRlJ5WVdObFNXNTBaWEpoWTNScGIyNXpJQ0U5UFNCMGNuVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWFJ5ZVNBOUlIUnlZV05wYm1jdWRXNXpkR0ZpYkdWZmQzSmhjQ2h5WlhSeWVTazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwY25sRFlXTm9aUzVoWkdRb2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQjBhR1Z1WVdKc1pTNTBhR1Z1S0hKbGRISjVMQ0J5WlhSeWVTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBVbVZ6WlhSVVpYaDBRMjl1ZEdWdWRDaGpkWEp5Wlc1MEtTQjdYRzVjYmlBZ2NtVnpaWFJVWlhoMFEyOXVkR1Z1ZENoamRYSnlaVzUwTG5OMFlYUmxUbTlrWlNrN1hHNTlYRzVjYm5aaGNpQlFiM056YVdKc2VWZGxZV3ROWVhBa01TQTlJSFI1Y0dWdlppQlhaV0ZyVFdGd0lEMDlQU0FuWm5WdVkzUnBiMjRuSUQ4Z1YyVmhhMDFoY0NBNklFMWhjRHRjYmx4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsVW05dmRFVnljbTl5VlhCa1lYUmxLR1pwWW1WeUxDQmxjbkp2Y2tsdVptOHNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQjFjR1JoZEdVZ1BTQmpjbVZoZEdWVmNHUmhkR1VvWlhod2FYSmhkR2x2YmxScGJXVXNJRzUxYkd3cE95QXZMeUJWYm0xdmRXNTBJSFJvWlNCeWIyOTBJR0o1SUhKbGJtUmxjbWx1WnlCdWRXeHNMbHh1WEc0Z0lIVndaR0YwWlM1MFlXY2dQU0JEWVhCMGRYSmxWWEJrWVhSbE95QXZMeUJEWVhWMGFXOXVPaUJTWldGamRDQkVaWFpVYjI5c2N5QmpkWEp5Wlc1MGJIa2daR1Z3Wlc1a2N5QnZiaUIwYUdseklIQnliM0JsY25SNVhHNGdJQzh2SUdKbGFXNW5JR05oYkd4bFpDQmNJbVZzWlcxbGJuUmNJaTVjYmx4dUlDQjFjR1JoZEdVdWNHRjViRzloWkNBOUlIdGNiaUFnSUNCbGJHVnRaVzUwT2lCdWRXeHNYRzRnSUgwN1hHNGdJSFpoY2lCbGNuSnZjaUE5SUdWeWNtOXlTVzVtYnk1MllXeDFaVHRjYmx4dUlDQjFjR1JoZEdVdVkyRnNiR0poWTJzZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdiMjVWYm1OaGRXZG9kRVZ5Y205eUtHVnljbTl5S1R0Y2JpQWdJQ0JzYjJkRmNuSnZjaWhtYVdKbGNpd2daWEp5YjNKSmJtWnZLVHRjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnZFhCa1lYUmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRGJHRnpjMFZ5Y205eVZYQmtZWFJsS0dacFltVnlMQ0JsY25KdmNrbHVabThzSUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIWmhjaUIxY0dSaGRHVWdQU0JqY21WaGRHVlZjR1JoZEdVb1pYaHdhWEpoZEdsdmJsUnBiV1VzSUc1MWJHd3BPMXh1SUNCMWNHUmhkR1V1ZEdGbklEMGdRMkZ3ZEhWeVpWVndaR0YwWlR0Y2JpQWdkbUZ5SUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxRmNuSnZjaUE5SUdacFltVnlMblI1Y0dVdVoyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJVVnljbTl5TzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlVWeWNtOXlJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ2RtRnlJR1Z5Y205eUpERWdQU0JsY25KdmNrbHVabTh1ZG1Gc2RXVTdYRzVjYmlBZ0lDQjFjR1JoZEdVdWNHRjViRzloWkNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJR3h2WjBWeWNtOXlLR1pwWW1WeUxDQmxjbkp2Y2tsdVptOHBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHZGxkRVJsY21sMlpXUlRkR0YwWlVaeWIyMUZjbkp2Y2lobGNuSnZjaVF4S1R0Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ2RtRnlJR2x1YzNRZ1BTQm1hV0psY2k1emRHRjBaVTV2WkdVN1hHNWNiaUFnYVdZZ0tHbHVjM1FnSVQwOUlHNTFiR3dnSmlZZ2RIbHdaVzltSUdsdWMzUXVZMjl0Y0c5dVpXNTBSR2xrUTJGMFkyZ2dQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCMWNHUmhkR1V1WTJGc2JHSmhZMnNnUFNCbWRXNWpkR2x2YmlCallXeHNZbUZqYXlncElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdiV0Z5YTBaaGFXeGxaRVZ5Y205eVFtOTFibVJoY25sR2IzSkliM1JTWld4dllXUnBibWNvWm1saVpYSXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2RIbHdaVzltSUdkbGRFUmxjbWwyWldSVGRHRjBaVVp5YjIxRmNuSnZjaUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0F2THlCVWJ5QndjbVZ6WlhKMlpTQjBhR1VnY0hKbFpYaHBjM1JwYm1jZ2NtVjBjbmtnWW1Wb1lYWnBiM0lnYjJZZ1pYSnliM0lnWW05MWJtUmhjbWxsY3l4Y2JpQWdJQ0FnSUNBZ0x5OGdkMlVnYTJWbGNDQjBjbUZqYXlCdlppQjNhR2xqYUNCdmJtVnpJR0ZzY21WaFpIa2dabUZwYkdWa0lHUjFjbWx1WnlCMGFHbHpJR0poZEdOb0xseHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHZGxkSE1nY21WelpYUWdZbVZtYjNKbElIZGxJSGxwWld4a0lHSmhZMnNnZEc4Z2RHaGxJR0p5YjNkelpYSXVYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRmRoY200Z2FXNGdjM1J5YVdOMElHMXZaR1VnYVdZZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJVVnljbTl5SUdselhHNGdJQ0FnSUNBZ0lDOHZJRzV2ZENCa1pXWnBibVZrTGx4dUlDQWdJQ0FnSUNCdFlYSnJUR1ZuWVdONVJYSnliM0pDYjNWdVpHRnllVUZ6Um1GcGJHVmtLSFJvYVhNcE95QXZMeUJQYm14NUlHeHZaeUJvWlhKbElHbG1JR052YlhCdmJtVnVkRVJwWkVOaGRHTm9JR2x6SUhSb1pTQnZibXg1SUdWeWNtOXlJR0p2ZFc1a1lYSjVJRzFsZEdodlpDQmtaV1pwYm1Wa1hHNWNiaUFnSUNBZ0lDQWdiRzluUlhKeWIzSW9abWxpWlhJc0lHVnljbTl5U1c1bWJ5azdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFpoY2lCbGNuSnZjaVF4SUQwZ1pYSnliM0pKYm1adkxuWmhiSFZsTzF4dUlDQWdJQ0FnZG1GeUlITjBZV05ySUQwZ1pYSnliM0pKYm1adkxuTjBZV05yTzF4dUlDQWdJQ0FnZEdocGN5NWpiMjF3YjI1bGJuUkVhV1JEWVhSamFDaGxjbkp2Y2lReExDQjdYRzRnSUNBZ0lDQWdJR052YlhCdmJtVnVkRk4wWVdOck9pQnpkR0ZqYXlBaFBUMGdiblZzYkNBL0lITjBZV05ySURvZ0p5ZGNiaUFnSUNBZ0lIMHBPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1oyVjBSR1Z5YVhabFpGTjBZWFJsUm5KdmJVVnljbTl5SUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdTV1lnWTI5dGNHOXVaVzUwUkdsa1EyRjBZMmdnYVhNZ2RHaGxJRzl1YkhrZ1pYSnliM0lnWW05MWJtUmhjbmtnYldWMGFHOWtJR1JsWm1sdVpXUXNYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUJwZENCdVpXVmtjeUIwYnlCallXeHNJSE5sZEZOMFlYUmxJSFJ2SUhKbFkyOTJaWElnWm5KdmJTQmxjbkp2Y25NdVhHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2JtOGdjM1JoZEdVZ2RYQmtZWFJsSUdseklITmphR1ZrZFd4bFpDQjBhR1Z1SUhSb1pTQmliM1Z1WkdGeWVTQjNhV3hzSUhOM1lXeHNiM2NnZEdobElHVnljbTl5TGx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2htYVdKbGNpNWxlSEJwY21GMGFXOXVWR2x0WlNBaFBUMGdVM2x1WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWlhKeWIzSW9KeVZ6T2lCRmNuSnZjaUJpYjNWdVpHRnlhV1Z6SUhOb2IzVnNaQ0JwYlhCc1pXMWxiblFnWjJWMFJHVnlhWFpsWkZOMFlYUmxSbkp2YlVWeWNtOXlLQ2t1SUNjZ0t5QW5TVzRnZEdoaGRDQnRaWFJvYjJRc0lISmxkSFZ5YmlCaElITjBZWFJsSUhWd1pHRjBaU0IwYnlCa2FYTndiR0Y1SUdGdUlHVnljbTl5SUcxbGMzTmhaMlVnYjNJZ1ptRnNiR0poWTJzZ1ZVa3VKeXdnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2htYVdKbGNpNTBlWEJsS1NCOGZDQW5WVzVyYm05M2JpY3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RYQmtZWFJsTG1OaGJHeGlZV05ySUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdiV0Z5YTBaaGFXeGxaRVZ5Y205eVFtOTFibVJoY25sR2IzSkliM1JTWld4dllXUnBibWNvWm1saVpYSXBPMXh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkWEJrWVhSbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCaGRIUmhZMmhRYVc1blRHbHpkR1Z1WlhJb2NtOXZkQ3dnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVc0lIUm9aVzVoWW14bEtTQjdYRzRnSUM4dklFRjBkR0ZqYUNCaElHeHBjM1JsYm1WeUlIUnZJSFJvWlNCd2NtOXRhWE5sSUhSdklGd2ljR2x1WjF3aUlIUm9aU0J5YjI5MElHRnVaQ0J5WlhSeWVTNGdRblYwWEc0Z0lDOHZJRzl1YkhrZ2FXWWdiMjVsSUdSdlpYTWdibTkwSUdGc2NtVmhaSGtnWlhocGMzUWdabTl5SUhSb1pTQmpkWEp5Wlc1MElISmxibVJsY2lCbGVIQnBjbUYwYVc5dVhHNGdJQzh2SUhScGJXVWdLSGRvYVdOb0lHRmpkSE1nYkdsclpTQmhJRndpZEdoeVpXRmtJRWxFWENJZ2FHVnlaU2t1WEc0Z0lIWmhjaUJ3YVc1blEyRmphR1VnUFNCeWIyOTBMbkJwYm1kRFlXTm9aVHRjYmlBZ2RtRnlJSFJvY21WaFpFbEVjenRjYmx4dUlDQnBaaUFvY0dsdVowTmhZMmhsSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY0dsdVowTmhZMmhsSUQwZ2NtOXZkQzV3YVc1blEyRmphR1VnUFNCdVpYY2dVRzl6YzJsaWJIbFhaV0ZyVFdGd0pERW9LVHRjYmlBZ0lDQjBhSEpsWVdSSlJITWdQU0J1WlhjZ1UyVjBLQ2s3WEc0Z0lDQWdjR2x1WjBOaFkyaGxMbk5sZENoMGFHVnVZV0pzWlN3Z2RHaHlaV0ZrU1VSektUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQjBhSEpsWVdSSlJITWdQU0J3YVc1blEyRmphR1V1WjJWMEtIUm9aVzVoWW14bEtUdGNibHh1SUNBZ0lHbG1JQ2gwYUhKbFlXUkpSSE1nUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdkR2h5WldGa1NVUnpJRDBnYm1WM0lGTmxkQ2dwTzF4dUlDQWdJQ0FnY0dsdVowTmhZMmhsTG5ObGRDaDBhR1Z1WVdKc1pTd2dkR2h5WldGa1NVUnpLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JwWmlBb0lYUm9jbVZoWkVsRWN5NW9ZWE1vY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVcEtTQjdYRzRnSUNBZ0x5OGdUV1Z0YjJsNlpTQjFjMmx1WnlCMGFHVWdkR2h5WldGa0lFbEVJSFJ2SUhCeVpYWmxiblFnY21Wa2RXNWtZVzUwSUd4cGMzUmxibVZ5Y3k1Y2JpQWdJQ0IwYUhKbFlXUkpSSE11WVdSa0tISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQjJZWElnY0dsdVp5QTlJSEJwYm1kVGRYTndaVzVrWldSU2IyOTBMbUpwYm1Rb2JuVnNiQ3dnY205dmRDd2dkR2hsYm1GaWJHVXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0IwYUdWdVlXSnNaUzUwYUdWdUtIQnBibWNzSUhCcGJtY3BPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhSb2NtOTNSWGhqWlhCMGFXOXVLSEp2YjNRc0lISmxkSFZ5YmtacFltVnlMQ0J6YjNWeVkyVkdhV0psY2l3Z2RtRnNkV1VzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUM4dklGUm9aU0J6YjNWeVkyVWdabWxpWlhJZ1pHbGtJRzV2ZENCamIyMXdiR1YwWlM1Y2JpQWdjMjkxY21ObFJtbGlaWEl1WldabVpXTjBWR0ZuSUh3OUlFbHVZMjl0Y0d4bGRHVTdJQzh2SUVsMGN5QmxabVpsWTNRZ2JHbHpkQ0JwY3lCdWJ5QnNiMjVuWlhJZ2RtRnNhV1F1WEc1Y2JpQWdjMjkxY21ObFJtbGlaWEl1Wm1seWMzUkZabVpsWTNRZ1BTQnpiM1Z5WTJWR2FXSmxjaTVzWVhOMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmx4dUlDQnBaaUFvZG1Gc2RXVWdJVDA5SUc1MWJHd2dKaVlnZEhsd1pXOW1JSFpoYkhWbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGVYQmxiMllnZG1Gc2RXVXVkR2hsYmlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQzh2SUZSb2FYTWdhWE1nWVNCMGFHVnVZV0pzWlM1Y2JpQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQjJZV3gxWlR0Y2JseHVJQ0FnSUdsbUlDZ29jMjkxY21ObFJtbGlaWEl1Ylc5a1pTQW1JRUpzYjJOcmFXNW5UVzlrWlNrZ1BUMDlJRTV2VFc5a1pTa2dlMXh1SUNBZ0lDQWdMeThnVW1WelpYUWdkR2hsSUcxbGJXOXBlbVZrVTNSaGRHVWdkRzhnZDJoaGRDQnBkQ0IzWVhNZ1ltVm1iM0psSUhkbElHRjBkR1Z0Y0hSbFpGeHVJQ0FnSUNBZ0x5OGdkRzhnY21WdVpHVnlJR2wwTGx4dUlDQWdJQ0FnZG1GeUlHTjFjbkpsYm5SVGIzVnlZMlVnUFNCemIzVnlZMlZHYVdKbGNpNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQWdJR2xtSUNoamRYSnlaVzUwVTI5MWNtTmxLU0I3WEc0Z0lDQWdJQ0FnSUhOdmRYSmpaVVpwWW1WeUxuVndaR0YwWlZGMVpYVmxJRDBnWTNWeWNtVnVkRk52ZFhKalpTNTFjR1JoZEdWUmRXVjFaVHRjYmlBZ0lDQWdJQ0FnYzI5MWNtTmxSbWxpWlhJdWJXVnRiMmw2WldSVGRHRjBaU0E5SUdOMWNuSmxiblJUYjNWeVkyVXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0FnSUNBZ2MyOTFjbU5sUm1saVpYSXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQmpkWEp5Wlc1MFUyOTFjbU5sTG1WNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdjMjkxY21ObFJtbGlaWEl1ZFhCa1lYUmxVWFZsZFdVZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCemIzVnlZMlZHYVdKbGNpNXRaVzF2YVhwbFpGTjBZWFJsSUQwZ2JuVnNiRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYUdGelNXNTJhWE5wWW14bFVHRnlaVzUwUW05MWJtUmhjbmtnUFNCb1lYTlRkWE53Wlc1elpVTnZiblJsZUhRb2MzVnpjR1Z1YzJWVGRHRmphME4xY25OdmNpNWpkWEp5Wlc1MExDQkpiblpwYzJsaWJHVlFZWEpsYm5SVGRYTndaVzV6WlVOdmJuUmxlSFFwT3lBdkx5QlRZMmhsWkhWc1pTQjBhR1VnYm1WaGNtVnpkQ0JUZFhOd1pXNXpaU0IwYnlCeVpTMXlaVzVrWlhJZ2RHaGxJSFJwYldWa0lHOTFkQ0IyYVdWM0xseHVYRzRnSUNBZ2RtRnlJRjkzYjNKclNXNVFjbTluY21WemN5QTlJSEpsZEhWeWJrWnBZbVZ5TzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2FXWWdLRjkzYjNKclNXNVFjbTluY21WemN5NTBZV2NnUFQwOUlGTjFjM0JsYm5ObFEyOXRjRzl1Wlc1MElDWW1JSE5vYjNWc1pFTmhjSFIxY21WVGRYTndaVzV6WlNoZmQyOXlhMGx1VUhKdlozSmxjM01zSUdoaGMwbHVkbWx6YVdKc1pWQmhjbVZ1ZEVKdmRXNWtZWEo1S1NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJHYjNWdVpDQjBhR1VnYm1WaGNtVnpkQ0JpYjNWdVpHRnllUzVjYmlBZ0lDQWdJQ0FnTHk4Z1UzUmhjMmdnZEdobElIQnliMjFwYzJVZ2IyNGdkR2hsSUdKdmRXNWtZWEo1SUdacFltVnlMaUJKWmlCMGFHVWdZbTkxYm1SaGNua2dkR2x0WlhNZ2IzVjBMQ0IzWlNkc2JGeHVJQ0FnSUNBZ0lDQXZMeUJoZEhSaFkyZ2dZVzV2ZEdobGNpQnNhWE4wWlc1bGNpQjBieUJtYkdsd0lIUm9aU0JpYjNWdVpHRnllU0JpWVdOcklIUnZJR2wwY3lCdWIzSnRZV3dnYzNSaGRHVXVYRzRnSUNBZ0lDQWdJSFpoY2lCMGFHVnVZV0pzWlhNZ1BTQmZkMjl5YTBsdVVISnZaM0psYzNNdWRYQmtZWFJsVVhWbGRXVTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tIUm9aVzVoWW14bGN5QTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQjFjR1JoZEdWUmRXVjFaU0E5SUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0FnSUNBZ0lDQjFjR1JoZEdWUmRXVjFaUzVoWkdRb2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQWdJRjkzYjNKclNXNVFjbTluY21WemN5NTFjR1JoZEdWUmRXVjFaU0E5SUhWd1pHRjBaVkYxWlhWbE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJvWlc1aFlteGxjeTVoWkdRb2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQjlJQzh2SUVsbUlIUm9aU0JpYjNWdVpHRnllU0JwY3lCdmRYUnphV1JsSUc5bUlHSnNiMk5yYVc1bklHMXZaR1VzSUhkbElITm9iM1ZzWkNBcWJtOTBLbHh1SUNBZ0lDQWdJQ0F2THlCemRYTndaVzVrSUhSb1pTQmpiMjF0YVhRdUlGQnlaWFJsYm1RZ1lYTWdhV1lnZEdobElITjFjM0JsYm1SbFpDQmpiMjF3YjI1bGJuUWdjbVZ1WkdWeVpXUmNiaUFnSUNBZ0lDQWdMeThnYm5Wc2JDQmhibVFnYTJWbGNDQnlaVzVrWlhKcGJtY3VJRWx1SUhSb1pTQmpiMjF0YVhRZ2NHaGhjMlVzSUhkbEoyeHNJSE5qYUdWa2RXeGxJR0ZjYmlBZ0lDQWdJQ0FnTHk4Z2MzVmljMlZ4ZFdWdWRDQnplVzVqYUhKdmJtOTFjeUIxY0dSaGRHVWdkRzhnY21VdGNtVnVaR1Z5SUhSb1pTQlRkWE53Wlc1elpTNWNiaUFnSUNBZ0lDQWdMeTljYmlBZ0lDQWdJQ0FnTHk4Z1RtOTBaVG9nU1hRZ1pHOWxjMjRuZENCdFlYUjBaWElnZDJobGRHaGxjaUIwYUdVZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYzNWemNHVnVaR1ZrSUhkaGMxeHVJQ0FnSUNBZ0lDQXZMeUJwYm5OcFpHVWdZU0JpYkc5amEybHVaeUJ0YjJSbElIUnlaV1V1SUVsbUlIUm9aU0JUZFhOd1pXNXpaU0JwY3lCdmRYUnphV1JsSUc5bUlHbDBMQ0IzWlZ4dUlDQWdJQ0FnSUNBdkx5QnphRzkxYkdRZ0ttNXZkQ29nYzNWemNHVnVaQ0IwYUdVZ1kyOXRiV2wwTGx4dVhHNWNiaUFnSUNBZ0lDQWdhV1lnS0NoZmQyOXlhMGx1VUhKdlozSmxjM011Ylc5a1pTQW1JRUpzYjJOcmFXNW5UVzlrWlNrZ1BUMDlJRTV2VFc5a1pTa2dlMXh1SUNBZ0lDQWdJQ0FnSUY5M2IzSnJTVzVRY205bmNtVnpjeTVsWm1abFkzUlVZV2NnZkQwZ1JHbGtRMkZ3ZEhWeVpUc2dMeThnVjJVbmNtVWdaMjlwYm1jZ2RHOGdZMjl0YldsMElIUm9hWE1nWm1saVpYSWdaWFpsYmlCMGFHOTFaMmdnYVhRZ1pHbGtiaWQwSUdOdmJYQnNaWFJsTGx4dUlDQWdJQ0FnSUNBZ0lDOHZJRUoxZENCM1pTQnphRzkxYkdSdUozUWdZMkZzYkNCaGJua2diR2xtWldONVkyeGxJRzFsZEdodlpITWdiM0lnWTJGc2JHSmhZMnR6TGlCU1pXMXZkbVZjYmlBZ0lDQWdJQ0FnSUNBdkx5QmhiR3dnYkdsbVpXTjVZMnhsSUdWbVptVmpkQ0IwWVdkekxseHVYRzRnSUNBZ0lDQWdJQ0FnYzI5MWNtTmxSbWxpWlhJdVpXWm1aV04wVkdGbklDWTlJSDRvVEdsbVpXTjVZMnhsUldabVpXTjBUV0Z6YXlCOElFbHVZMjl0Y0d4bGRHVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSE52ZFhKalpVWnBZbVZ5TG5SaFp5QTlQVDBnUTJ4aGMzTkRiMjF3YjI1bGJuUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJqZFhKeVpXNTBVMjkxY21ObFJtbGlaWElnUFNCemIzVnlZMlZHYVdKbGNpNWhiSFJsY201aGRHVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBVMjkxY21ObFJtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElHNWxkeUJ0YjNWdWRDNGdRMmhoYm1kbElIUm9aU0IwWVdjZ2MyOGdhWFFuY3lCdWIzUWdiV2x6ZEdGclpXNGdabTl5SUdGY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1kyOXRjR3hsZEdWa0lHTnNZWE56SUdOdmJYQnZibVZ1ZEM0Z1JtOXlJR1Y0WVcxd2JHVXNJSGRsSUhOb2IzVnNaQ0J1YjNRZ1kyRnNiRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQXZMeUJqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENCcFppQnBkQ0JwY3lCa1pXeGxkR1ZrTGx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J6YjNWeVkyVkdhV0psY2k1MFlXY2dQU0JKYm1OdmJYQnNaWFJsUTJ4aGMzTkRiMjF3YjI1bGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCWGFHVnVJSGRsSUhSeWVTQnlaVzVrWlhKcGJtY2dZV2RoYVc0c0lIZGxJSE5vYjNWc1pDQnViM1FnY21WMWMyVWdkR2hsSUdOMWNuSmxiblFnWm1saVpYSXNYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDOHZJSE5wYm1ObElHbDBKM01nYTI1dmQyNGdkRzhnWW1VZ2FXNGdZVzRnYVc1amIyNXphWE4wWlc1MElITjBZWFJsTGlCVmMyVWdZU0JtYjNKalpTQjFjR1JoZEdVZ2RHOWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjSEpsZG1WdWRDQmhJR0poYVd3Z2IzVjBMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjJZWElnZFhCa1lYUmxJRDBnWTNKbFlYUmxWWEJrWVhSbEtGTjVibU1zSUc1MWJHd3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjFjR1JoZEdVdWRHRm5JRDBnUm05eVkyVlZjR1JoZEdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWdWNYVmxkV1ZWY0dSaGRHVW9jMjkxY21ObFJtbGlaWElzSUhWd1pHRjBaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlNBdkx5QlVhR1VnYzI5MWNtTmxJR1pwWW1WeUlHUnBaQ0J1YjNRZ1kyOXRjR3hsZEdVdUlFMWhjbXNnYVhRZ2QybDBhQ0JUZVc1aklIQnlhVzl5YVhSNUlIUnZYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2FXNWthV05oZEdVZ2RHaGhkQ0JwZENCemRHbHNiQ0JvWVhNZ2NHVnVaR2x1WnlCM2IzSnJMbHh1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnpiM1Z5WTJWR2FXSmxjaTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRk41Ym1NN0lDOHZJRVY0YVhRZ2QybDBhRzkxZENCemRYTndaVzVrYVc1bkxseHVYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdJQ0I5SUM4dklFTnZibVpwY20xbFpDQjBhR0YwSUhSb1pTQmliM1Z1WkdGeWVTQnBjeUJwYmlCaElHTnZibU4xY25KbGJuUWdiVzlrWlNCMGNtVmxMaUJEYjI1MGFXNTFaVnh1SUNBZ0lDQWdJQ0F2THlCM2FYUm9JSFJvWlNCdWIzSnRZV3dnYzNWemNHVnVaQ0J3WVhSb0xseHVJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0F2THlCQlpuUmxjaUIwYUdseklIZGxKMnhzSUhWelpTQmhJSE5sZENCdlppQm9aWFZ5YVhOMGFXTnpJSFJ2SUdSbGRHVnliV2x1WlNCM2FHVjBhR1Z5SUhSb2FYTmNiaUFnSUNBZ0lDQWdMeThnY21WdVpHVnlJSEJoYzNNZ2QybHNiQ0J5ZFc0Z2RHOGdZMjl0Y0d4bGRHbHZiaUJ2Y2lCeVpYTjBZWEowSUc5eUlGd2ljM1Z6Y0dWdVpGd2lJSFJvWlNCamIyMXRhWFF1WEc0Z0lDQWdJQ0FnSUM4dklGUm9aU0JoWTNSMVlXd2diRzluYVdNZ1ptOXlJSFJvYVhNZ2FYTWdjM0J5WldGa0lHOTFkQ0JwYmlCa2FXWm1aWEpsYm5RZ2NHeGhZMlZ6TGx4dUlDQWdJQ0FnSUNBdkwxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdseklHWnBjbk4wSUhCeWFXNWphWEJzWlNCcGN5QjBhR0YwSUdsbUlIZGxKM0psSUdkdmFXNW5JSFJ2SUhOMWMzQmxibVFnZDJobGJpQjNaU0JqYjIxd2JHVjBaVnh1SUNBZ0lDQWdJQ0F2THlCaElISnZiM1FzSUhSb1pXNGdkMlVnYzJodmRXeGtJR0ZzYzI4Z2NtVnpkR0Z5ZENCcFppQjNaU0JuWlhRZ1lXNGdkWEJrWVhSbElHOXlJSEJwYm1jZ2RHaGhkRnh1SUNBZ0lDQWdJQ0F2THlCdGFXZG9kQ0IxYm5OMWMzQmxibVFnYVhRc0lHRnVaQ0IyYVdObElIWmxjbk5oTGlCVWFHVWdiMjVzZVNCeVpXRnpiMjRnZEc4Z2MzVnpjR1Z1WkNCcGMxeHVJQ0FnSUNBZ0lDQXZMeUJpWldOaGRYTmxJSGx2ZFNCMGFHbHVheUI1YjNVZ2JXbG5hSFFnZDJGdWRDQjBieUJ5WlhOMFlYSjBJR0psWm05eVpTQmpiMjF0YVhSMGFXNW5MaUJJYjNkbGRtVnlMRnh1SUNBZ0lDQWdJQ0F2THlCcGRDQmtiMlZ6YmlkMElHMWhhMlVnYzJWdWMyVWdkRzhnY21WemRHRnlkQ0J2Ym14NUlIZG9hV3hsSUdsdUlIUm9aU0J3WlhKcGIyUWdkMlVuY21VZ2MzVnpjR1Z1WkdWa0xseHVJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0F2THlCU1pYTjBZWEowYVc1bklIUnZieUJoWjJkeVpYTnphWFpsYkhrZ2FYTWdZV3h6YnlCdWIzUWdaMjl2WkNCaVpXTmhkWE5sSUdsMElITjBZWEoyWlhNZ2IzVjBJR0Z1ZVZ4dUlDQWdJQ0FnSUNBdkx5QnBiblJsY20xbFpHbGhkR1VnYkc5aFpHbHVaeUJ6ZEdGMFpTNGdVMjhnZDJVZ2RYTmxJR2hsZFhKcGMzUnBZM01nZEc4Z1pHVjBaWEp0YVc1bElIZG9aVzR1WEc0Z0lDQWdJQ0FnSUM4dklGTjFjM0JsYm5ObElFaGxkWEpwYzNScFkzTmNiaUFnSUNBZ0lDQWdMeTljYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdibTkwYUdsdVp5QjBhSEpsZHlCaElGQnliMjFwYzJVZ2IzSWdZV3hzSUhSb1pTQnpZVzFsSUdaaGJHeGlZV05yY3lCaGNtVWdZV3h5WldGa2VTQnphRzkzYVc1bkxGeHVJQ0FnSUNBZ0lDQXZMeUIwYUdWdUlHUnZiaWQwSUhOMWMzQmxibVF2Y21WemRHRnlkQzVjYmlBZ0lDQWdJQ0FnTHk5Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QnBjeUJoYmlCcGJtbDBhV0ZzSUhKbGJtUmxjaUJ2WmlCaElHNWxkeUIwY21WbElHOW1JRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSnBaWE1nWVc1a1hHNGdJQ0FnSUNBZ0lDOHZJSFJvYjNObElIUnlhV2RuWlhJZ1lTQm1ZV3hzWW1GamF5d2dkR2hsYmlCa2IyNG5kQ0J6ZFhOd1pXNWtMM0psYzNSaGNuUXVJRmRsSUhkaGJuUWdkRzhnWlc1emRYSmxYRzRnSUNBZ0lDQWdJQzh2SUhSb1lYUWdkMlVnWTJGdUlITm9iM2NnZEdobElHbHVhWFJwWVd3Z2JHOWhaR2x1WnlCemRHRjBaU0JoY3lCeGRXbGphMng1SUdGeklIQnZjM05wWW14bExseHVJQ0FnSUNBZ0lDQXZMMXh1SUNBZ0lDQWdJQ0F2THlCSlppQjNaU0JvYVhRZ1lTQmNJa1JsYkdGNVpXUmNJaUJqWVhObExDQnpkV05vSUdGeklIZG9aVzRnZDJVblpDQnpkMmwwWTJnZ1puSnZiU0JqYjI1MFpXNTBJR0poWTJzZ2FXNTBiMXh1SUNBZ0lDQWdJQ0F2THlCaElHWmhiR3hpWVdOckxDQjBhR1Z1SUhkbElITm9iM1ZzWkNCaGJIZGhlWE1nYzNWemNHVnVaQzl5WlhOMFlYSjBMaUJUZFhOd1pXNXpaVU52Ym1acFp5QmhjSEJzYVdWeklIUnZYRzRnSUNBZ0lDQWdJQzh2SUhSb2FYTWdZMkZ6WlM0Z1NXWWdibTl1WlNCcGN5QmtaV1pwYm1Wa0xDQktUa1FnYVhNZ2RYTmxaQ0JwYm5OMFpXRmtMbHh1SUNBZ0lDQWdJQ0F2TDF4dUlDQWdJQ0FnSUNBdkx5QkpaaUIzWlNkeVpTQmhiSEpsWVdSNUlITm9iM2RwYm1jZ1lTQm1ZV3hzWW1GamF5QmhibVFnYVhRZ1oyVjBjeUJjSW5KbGRISnBaV1JjSWl3Z1lXeHNiM2RwYm1jZ2RYTWdkRzhnYzJodmQxeHVJQ0FnSUNBZ0lDQXZMeUJoYm05MGFHVnlJR3hsZG1Wc0xDQmlkWFFnZEdobGNtVW5jeUJ6ZEdsc2JDQmhiaUJwYm01bGNpQmliM1Z1WkdGeWVTQjBhR0YwSUhkdmRXeGtJSE5vYjNjZ1lTQm1ZV3hzWW1GamF5eGNiaUFnSUNBZ0lDQWdMeThnZEdobGJpQjNaU0J6ZFhOd1pXNWtMM0psYzNSaGNuUWdabTl5SURVd01HMXpJSE5wYm1ObElIUm9aU0JzWVhOMElIUnBiV1VnZDJVZ2MyaHZkMlZrSUdFZ1ptRnNiR0poWTJ0Y2JpQWdJQ0FnSUNBZ0x5OGdZVzU1ZDJobGNtVWdhVzRnZEdobElIUnlaV1V1SUZSb2FYTWdaV1ptWldOMGFYWmxiSGtnZEdoeWIzUjBiR1Z6SUhCeWIyZHlaWE56YVhabElHeHZZV1JwYm1jZ2FXNTBieUJoWEc0Z0lDQWdJQ0FnSUM4dklHTnZibk5wYzNSbGJuUWdkSEpoYVc0Z2IyWWdZMjl0YldsMGN5NGdWR2hwY3lCaGJITnZJR2RwZG1WeklIVnpJR0Z1SUc5d2NHOXlkSFZ1YVhSNUlIUnZJSEpsYzNSaGNuUWdkRzljYmlBZ0lDQWdJQ0FnTHk4Z1oyVjBJSFJ2SUhSb1pTQmpiMjF3YkdWMFpXUWdjM1JoZEdVZ2MyeHBaMmgwYkhrZ1pXRnliR2xsY2k1Y2JpQWdJQ0FnSUNBZ0x5OWNiaUFnSUNBZ0lDQWdMeThnU1dZZ2RHaGxjbVVuY3lCaGJXSnBaM1ZwZEhrZ1pIVmxJSFJ2SUdKaGRHTm9hVzVuSUdsMEozTWdjbVZ6YjJ4MlpXUWdhVzRnY0hKbFptVnlaVzVqWlNCdlpqcGNiaUFnSUNBZ0lDQWdMeThnTVNrZ1hDSmtaV3hoZVdWa1hDSXNJRElwSUZ3aWFXNXBkR2xoYkNCeVpXNWtaWEpjSWl3Z015a2dYQ0p5WlhSeWVWd2lMbHh1SUNBZ0lDQWdJQ0F2TDF4dUlDQWdJQ0FnSUNBdkx5QlhaU0IzWVc1MElIUnZJR1Z1YzNWeVpTQjBhR0YwSUdFZ1hDSmlkWE41WENJZ2MzUmhkR1VnWkc5bGMyNG5kQ0JuWlhRZ1ptOXlZMlVnWTI5dGJXbDBkR1ZrTGlCWFpTQjNZVzUwSUhSdlhHNGdJQ0FnSUNBZ0lDOHZJR1Z1YzNWeVpTQjBhR0YwSUc1bGR5QnBibWwwYVdGc0lHeHZZV1JwYm1jZ2MzUmhkR1Z6SUdOaGJpQmpiMjF0YVhRZ1lYTWdjMjl2YmlCaGN5QndiM056YVdKc1pTNWNibHh1WEc0Z0lDQWdJQ0FnSUdGMGRHRmphRkJwYm1kTWFYTjBaVzVsY2loeWIyOTBMQ0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlN3Z2RHaGxibUZpYkdVcE8xeHVJQ0FnSUNBZ0lDQmZkMjl5YTBsdVVISnZaM0psYzNNdVpXWm1aV04wVkdGbklIdzlJRk5vYjNWc1pFTmhjSFIxY21VN1hHNGdJQ0FnSUNBZ0lGOTNiM0pyU1c1UWNtOW5jbVZ6Y3k1bGVIQnBjbUYwYVc5dVZHbHRaU0E5SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOUlDOHZJRlJvYVhNZ1ltOTFibVJoY25rZ1lXeHlaV0ZrZVNCallYQjBkWEpsWkNCa2RYSnBibWNnZEdocGN5QnlaVzVrWlhJdUlFTnZiblJwYm5WbElIUnZJSFJvWlNCdVpYaDBYRzRnSUNBZ0lDQXZMeUJpYjNWdVpHRnllUzVjYmx4dVhHNGdJQ0FnSUNCZmQyOXlhMGx1VUhKdlozSmxjM01nUFNCZmQyOXlhMGx1VUhKdlozSmxjM011Y21WMGRYSnVPMXh1SUNBZ0lIMGdkMmhwYkdVZ0tGOTNiM0pyU1c1UWNtOW5jbVZ6Y3lBaFBUMGdiblZzYkNrN0lDOHZJRTV2SUdKdmRXNWtZWEo1SUhkaGN5Qm1iM1Z1WkM0Z1JtRnNiSFJvY205MVoyZ2dkRzhnWlhKeWIzSWdiVzlrWlM1Y2JpQWdJQ0F2THlCVVQwUlBPaUJWYzJVZ2FXNTJZWEpwWVc1MElITnZJSFJvWlNCdFpYTnpZV2RsSUdseklITjBjbWx3Y0dWa0lHbHVJSEJ5YjJRL1hHNWNibHh1SUNBZ0lIWmhiSFZsSUQwZ2JtVjNJRVZ5Y205eUtDaG5aWFJEYjIxd2IyNWxiblJPWVcxbEtITnZkWEpqWlVacFltVnlMblI1Y0dVcElIeDhJQ2RCSUZKbFlXTjBJR052YlhCdmJtVnVkQ2NwSUNzZ0p5QnpkWE53Wlc1a1pXUWdkMmhwYkdVZ2NtVnVaR1Z5YVc1bkxDQmlkWFFnYm04Z1ptRnNiR0poWTJzZ1ZVa2dkMkZ6SUhOd1pXTnBabWxsWkM1Y1hHNG5JQ3NnSjF4Y2JpY2dLeUFuUVdSa0lHRWdQRk4xYzNCbGJuTmxJR1poYkd4aVlXTnJQUzR1TGo0Z1kyOXRjRzl1Wlc1MElHaHBaMmhsY2lCcGJpQjBhR1VnZEhKbFpTQjBieUFuSUNzZ0ozQnliM1pwWkdVZ1lTQnNiMkZrYVc1bklHbHVaR2xqWVhSdmNpQnZjaUJ3YkdGalpXaHZiR1JsY2lCMGJ5QmthWE53YkdGNUxpY2dLeUJuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvYzI5MWNtTmxSbWxpWlhJcEtUdGNiaUFnZlNBdkx5QlhaU0JrYVdSdUozUWdabWx1WkNCaElHSnZkVzVrWVhKNUlIUm9ZWFFnWTI5MWJHUWdhR0Z1Wkd4bElIUm9hWE1nZEhsd1pTQnZaaUJsZUdObGNIUnBiMjR1SUZOMFlYSjBYRzRnSUM4dklHOTJaWElnWVc1a0lIUnlZWFpsY25ObElIQmhjbVZ1ZENCd1lYUm9JR0ZuWVdsdUxDQjBhR2x6SUhScGJXVWdkSEpsWVhScGJtY2dkR2hsSUdWNFkyVndkR2x2Ymx4dUlDQXZMeUJoY3lCaGJpQmxjbkp2Y2k1Y2JseHVYRzRnSUhKbGJtUmxja1JwWkVWeWNtOXlLQ2s3WEc0Z0lIWmhiSFZsSUQwZ1kzSmxZWFJsUTJGd2RIVnlaV1JXWVd4MVpTaDJZV3gxWlN3Z2MyOTFjbU5sUm1saVpYSXBPMXh1SUNCMllYSWdkMjl5YTBsdVVISnZaM0psYzNNZ1BTQnlaWFIxY201R2FXSmxjanRjYmx4dUlDQmtieUI3WEc0Z0lDQWdjM2RwZEdOb0lDaDNiM0pyU1c1UWNtOW5jbVZ6Y3k1MFlXY3BJSHRjYmlBZ0lDQWdJR05oYzJVZ1NHOXpkRkp2YjNRNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gyVnljbTl5U1c1bWJ5QTlJSFpoYkhWbE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVm1abVZqZEZSaFp5QjhQU0JUYUc5MWJHUkRZWEIwZFhKbE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVjRjR2x5WVhScGIyNVVhVzFsSUQwZ2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYM1Z3WkdGMFpTQTlJR055WldGMFpWSnZiM1JGY25KdmNsVndaR0YwWlNoM2IzSnJTVzVRY205bmNtVnpjeXdnWDJWeWNtOXlTVzVtYnl3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1pXNXhkV1YxWlVOaGNIUjFjbVZrVlhCa1lYUmxLSGR2Y210SmJsQnliMmR5WlhOekxDQmZkWEJrWVhSbEtUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWTJGelpTQkRiR0Z6YzBOdmJYQnZibVZ1ZERwY2JpQWdJQ0FnSUNBZ0x5OGdRMkZ3ZEhWeVpTQmhibVFnY21WMGNubGNiaUFnSUNBZ0lDQWdkbUZ5SUdWeWNtOXlTVzVtYnlBOUlIWmhiSFZsTzF4dUlDQWdJQ0FnSUNCMllYSWdZM1J2Y2lBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5SNWNHVTdYRzRnSUNBZ0lDQWdJSFpoY2lCcGJuTjBZVzVqWlNBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG5OMFlYUmxUbTlrWlR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvS0hkdmNtdEpibEJ5YjJkeVpYTnpMbVZtWm1WamRGUmhaeUFtSUVScFpFTmhjSFIxY21VcElEMDlQU0JPYjBWbVptVmpkQ0FtSmlBb2RIbHdaVzltSUdOMGIzSXVaMlYwUkdWeWFYWmxaRk4wWVhSbFJuSnZiVVZ5Y205eUlEMDlQU0FuWm5WdVkzUnBiMjRuSUh4OElHbHVjM1JoYm1ObElDRTlQU0J1ZFd4c0lDWW1JSFI1Y0dWdlppQnBibk4wWVc1alpTNWpiMjF3YjI1bGJuUkVhV1JEWVhSamFDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQWhhWE5CYkhKbFlXUjVSbUZwYkdWa1RHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWVTaHBibk4wWVc1alpTa3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUh3OUlGTm9iM1ZzWkVOaGNIUjFjbVU3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011Wlhod2FYSmhkR2x2YmxScGJXVWdQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlRzZ0x5OGdVMk5vWldSMWJHVWdkR2hsSUdWeWNtOXlJR0p2ZFc1a1lYSjVJSFJ2SUhKbExYSmxibVJsY2lCMWMybHVaeUIxY0dSaGRHVmtJSE4wWVhSbFhHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gzVndaR0YwWlRJZ1BTQmpjbVZoZEdWRGJHRnpjMFZ5Y205eVZYQmtZWFJsS0hkdmNtdEpibEJ5YjJkeVpYTnpMQ0JsY25KdmNrbHVabThzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdJQ0FnSUdWdWNYVmxkV1ZEWVhCMGRYSmxaRlZ3WkdGMFpTaDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z1gzVndaR0YwWlRJcE8xeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011Y21WMGRYSnVPMXh1SUNCOUlIZG9hV3hsSUNoM2IzSnJTVzVRY205bmNtVnpjeUFoUFQwZ2JuVnNiQ2s3WEc1OVhHNWNiblpoY2lCalpXbHNJRDBnVFdGMGFDNWpaV2xzTzF4dWRtRnlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJa01TQTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSXNYRzRnSUNBZ1VtVmhZM1JEZFhKeVpXNTBUM2R1WlhJa01pQTlJRkpsWVdOMFUyaGhjbVZrU1c1MFpYSnVZV3h6TGxKbFlXTjBRM1Z5Y21WdWRFOTNibVZ5TEZ4dUlDQWdJRWx6VTI5dFpWSmxibVJsY21WeVFXTjBhVzVuSUQwZ1VtVmhZM1JUYUdGeVpXUkpiblJsY201aGJITXVTWE5UYjIxbFVtVnVaR1Z5WlhKQlkzUnBibWM3WEc1MllYSWdUbTlEYjI1MFpYaDBJRDFjYmk4cUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXFMMXh1TUR0Y2JuWmhjaUJDWVhSamFHVmtRMjl1ZEdWNGRDQTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ292WEc0eE8xeHVkbUZ5SUVWMlpXNTBRMjl1ZEdWNGRDQTlYRzR2S2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS2k5Y2JqSTdYRzUyWVhJZ1JHbHpZM0psZEdWRmRtVnVkRU52Ym5SbGVIUWdQVnh1THlvZ0lDQWdJQ0FnSUNBcUwxeHVORHRjYm5aaGNpQk1aV2RoWTNsVmJtSmhkR05vWldSRGIyNTBaWGgwSUQxY2JpOHFJQ0FnSUNBZ0lDb3ZYRzQ0TzF4dWRtRnlJRkpsYm1SbGNrTnZiblJsZUhRZ1BWeHVMeW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdLaTljYmpFMk8xeHVkbUZ5SUVOdmJXMXBkRU52Ym5SbGVIUWdQVnh1THlvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS2k5Y2JqTXlPMXh1ZG1GeUlGSnZiM1JKYm1OdmJYQnNaWFJsSUQwZ01EdGNiblpoY2lCU2IyOTBSbUYwWVd4RmNuSnZjbVZrSUQwZ01UdGNiblpoY2lCU2IyOTBSWEp5YjNKbFpDQTlJREk3WEc1MllYSWdVbTl2ZEZOMWMzQmxibVJsWkNBOUlETTdYRzUyWVhJZ1VtOXZkRk4xYzNCbGJtUmxaRmRwZEdoRVpXeGhlU0E5SURRN1hHNTJZWElnVW05dmRFTnZiWEJzWlhSbFpDQTlJRFU3WEc0dkx5QkVaWE5qY21saVpYTWdkMmhsY21VZ2QyVWdZWEpsSUdsdUlIUm9aU0JTWldGamRDQmxlR1ZqZFhScGIyNGdjM1JoWTJ0Y2JuWmhjaUJsZUdWamRYUnBiMjVEYjI1MFpYaDBJRDBnVG05RGIyNTBaWGgwT3lBdkx5QlVhR1VnY205dmRDQjNaU2R5WlNCM2IzSnJhVzVuSUc5dVhHNWNiblpoY2lCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNRZ1BTQnVkV3hzT3lBdkx5QlVhR1VnWm1saVpYSWdkMlVuY21VZ2QyOXlhMmx1WnlCdmJseHVYRzUyWVhJZ2QyOXlhMGx1VUhKdlozSmxjM01nUFNCdWRXeHNPeUF2THlCVWFHVWdaWGh3YVhKaGRHbHZiaUIwYVcxbElIZGxKM0psSUhKbGJtUmxjbWx1WjF4dVhHNTJZWElnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TQTlJRTV2VjI5eWF6c2dMeThnVjJobGRHaGxjaUIwYnlCeWIyOTBJR052YlhCc1pYUmxaQ3dnWlhKeWIzSmxaQ3dnYzNWemNHVnVaR1ZrTENCbGRHTXVYRzVjYm5aaGNpQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUkZlR2wwVTNSaGRIVnpJRDBnVW05dmRFbHVZMjl0Y0d4bGRHVTdJQzh2SUVFZ1ptRjBZV3dnWlhKeWIzSXNJR2xtSUc5dVpTQnBjeUIwYUhKdmQyNWNibHh1ZG1GeUlIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFWmhkR0ZzUlhKeWIzSWdQU0J1ZFd4c095QXZMeUJOYjNOMElISmxZMlZ1ZENCbGRtVnVkQ0IwYVcxbElHRnRiMjVuSUhCeWIyTmxjM05sWkNCMWNHUmhkR1Z6SUdSMWNtbHVaeUIwYUdseklISmxibVJsY2k1Y2JpOHZJRlJvYVhNZ2FYTWdZMjl1WTJWd2RIVmhiR3g1SUdFZ2RHbHRaU0J6ZEdGdGNDQmlkWFFnWlhod2NtVnpjMlZrSUdsdUlIUmxjbTF6SUc5bUlHRnVJRVY0Y0dseVlYUnBiMjVVYVcxbFhHNHZMeUJpWldOaGRYTmxJSGRsSUdSbFlXd2diVzl6ZEd4NUlIZHBkR2dnWlhod2FYSmhkR2x2YmlCMGFXMWxjeUJwYmlCMGFHVWdhRzkwSUhCaGRHZ3NJSE52SUhSb2FYTWdZWFp2YVdSelhHNHZMeUIwYUdVZ1kyOXVkbVZ5YzJsdmJpQm9ZWEJ3Wlc1cGJtY2dhVzRnZEdobElHaHZkQ0J3WVhSb0xseHVYRzUyWVhJZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFRHRjBaWE4wVUhKdlkyVnpjMlZrUlhod2FYSmhkR2x2YmxScGJXVWdQU0JUZVc1ak8xeHVkbUZ5SUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEV4aGRHVnpkRk4xYzNCbGJuTmxWR2x0Wlc5MWRDQTlJRk41Ym1NN1hHNTJZWElnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwUTJGdVUzVnpjR1Z1WkZWemFXNW5RMjl1Wm1sbklEMGdiblZzYkRzZ0x5OGdWR2hsSUhkdmNtc2diR1ZtZENCdmRtVnlJR0o1SUdOdmJYQnZibVZ1ZEhNZ2RHaGhkQ0IzWlhKbElIWnBjMmwwWldRZ1pIVnlhVzVuSUhSb2FYTWdjbVZ1WkdWeUxpQlBibXg1WEc0dkx5QnBibU5zZFdSbGN5QjFibkJ5YjJObGMzTmxaQ0IxY0dSaGRHVnpMQ0J1YjNRZ2QyOXlheUJwYmlCaVlXbHNaV1FnYjNWMElHTm9hV3hrY21WdUxseHVYRzUyWVhJZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFRtVjRkRlZ1Y0hKdlkyVnpjMlZrVlhCa1lYUmxWR2x0WlNBOUlFNXZWMjl5YXpzZ0x5OGdTV1lnZDJVbmNtVWdjR2x1WjJWa0lIZG9hV3hsSUhKbGJtUmxjbWx1WnlCM1pTQmtiMjRuZENCaGJIZGhlWE1nY21WemRHRnlkQ0JwYlcxbFpHbGhkR1ZzZVM1Y2JpOHZJRlJvYVhNZ1pteGhaeUJrWlhSbGNtMXBibVZ6SUdsbUlHbDBJRzFwWjJoMElHSmxJSGR2Y25Sb2QyaHBiR1VnZEc4Z2NtVnpkR0Z5ZENCcFppQmhiaUJ2Y0hCdmNuUjFibWwwZVZ4dUx5OGdhR0Z3Y0dWdWN5QnNZWFJsY21VdVhHNWNiblpoY2lCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSSVlYTlFaVzVrYVc1blVHbHVaeUE5SUdaaGJITmxPeUF2THlCVWFHVWdiVzl6ZENCeVpXTmxiblFnZEdsdFpTQjNaU0JqYjIxdGFYUjBaV1FnWVNCbVlXeHNZbUZqYXk0Z1ZHaHBjeUJzWlhSeklIVnpJR1Z1YzNWeVpTQmhJSFJ5WVdsdVhHNHZMeUJ0YjJSbGJDQjNhR1Z5WlNCM1pTQmtiMjRuZENCamIyMXRhWFFnYm1WM0lHeHZZV1JwYm1jZ2MzUmhkR1Z6SUdsdUlIUnZieUJ4ZFdsamF5QnpkV05qWlhOemFXOXVMbHh1WEc1MllYSWdaMnh2WW1Gc1RXOXpkRkpsWTJWdWRFWmhiR3hpWVdOclZHbHRaU0E5SURBN1hHNTJZWElnUmtGTVRFSkJRMHRmVkVoU1QxUlVURVZmVFZNZ1BTQTFNREE3WEc1MllYSWdibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzUyWVhJZ2FHRnpWVzVqWVhWbmFIUkZjbkp2Y2lBOUlHWmhiSE5sTzF4dWRtRnlJR1pwY25OMFZXNWpZWFZuYUhSRmNuSnZjaUE5SUc1MWJHdzdYRzUyWVhJZ2JHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWFXVnpWR2hoZEVGc2NtVmhaSGxHWVdsc1pXUWdQU0J1ZFd4c08xeHVkbUZ5SUhKdmIzUkViMlZ6U0dGMlpWQmhjM05wZG1WRlptWmxZM1J6SUQwZ1ptRnNjMlU3WEc1MllYSWdjbTl2ZEZkcGRHaFFaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE1nUFNCdWRXeHNPMXh1ZG1GeUlIQmxibVJwYm1kUVlYTnphWFpsUldabVpXTjBjMUpsYm1SbGNsQnlhVzl5YVhSNUlEMGdUbTlRY21sdmNtbDBlVHRjYm5aaGNpQndaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE5GZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiblpoY2lCeWIyOTBjMWRwZEdoUVpXNWthVzVuUkdselkzSmxkR1ZWY0dSaGRHVnpJRDBnYm5Wc2JEc2dMeThnVlhObElIUm9aWE5sSUhSdklIQnlaWFpsYm5RZ1lXNGdhVzVtYVc1cGRHVWdiRzl2Y0NCdlppQnVaWE4wWldRZ2RYQmtZWFJsYzF4dVhHNTJZWElnVGtWVFZFVkVYMVZRUkVGVVJWOU1TVTFKVkNBOUlEVXdPMXh1ZG1GeUlHNWxjM1JsWkZWd1pHRjBaVU52ZFc1MElEMGdNRHRjYm5aaGNpQnliMjkwVjJsMGFFNWxjM1JsWkZWd1pHRjBaWE1nUFNCdWRXeHNPMXh1ZG1GeUlFNUZVMVJGUkY5UVFWTlRTVlpGWDFWUVJFRlVSVjlNU1UxSlZDQTlJRFV3TzF4dWRtRnlJRzVsYzNSbFpGQmhjM05wZG1WVmNHUmhkR1ZEYjNWdWRDQTlJREE3WEc1MllYSWdhVzUwWlhKeWRYQjBaV1JDZVNBOUlHNTFiR3c3SUM4dklFMWhjbXR6SUhSb1pTQnVaV1ZrSUhSdklISmxjMk5vWldSMWJHVWdjR1Z1WkdsdVp5QnBiblJsY21GamRHbHZibk1nWVhRZ2RHaGxjMlVnWlhod2FYSmhkR2x2YmlCMGFXMWxjMXh1THk4Z1pIVnlhVzVuSUhSb1pTQmpiMjF0YVhRZ2NHaGhjMlV1SUZSb2FYTWdaVzVoWW14bGN5QjBhR1Z0SUhSdklHSmxJSFJ5WVdObFpDQmhZM0p2YzNNZ1kyOXRjRzl1Wlc1MGMxeHVMeThnZEdoaGRDQnpjR0YzYmlCdVpYY2dkMjl5YXlCa2RYSnBibWNnY21WdVpHVnlMaUJGTG1jdUlHaHBaR1JsYmlCaWIzVnVaR0Z5YVdWekxDQnpkWE53Wlc1a1pXUWdVMU5TWEc0dkx5Qm9lV1J5WVhScGIyNGdiM0lnVTNWemNHVnVjMlZNYVhOMExseHVYRzUyWVhJZ2MzQmhkMjVsWkZkdmNtdEVkWEpwYm1kU1pXNWtaWElnUFNCdWRXeHNPeUF2THlCRmVIQnBjbUYwYVc5dUlIUnBiV1Z6SUdGeVpTQmpiMjF3ZFhSbFpDQmllU0JoWkdScGJtY2dkRzhnZEdobElHTjFjbkpsYm5RZ2RHbHRaU0FvZEdobElITjBZWEowWEc0dkx5QjBhVzFsS1M0Z1NHOTNaWFpsY2l3Z2FXWWdkSGR2SUhWd1pHRjBaWE1nWVhKbElITmphR1ZrZFd4bFpDQjNhWFJvYVc0Z2RHaGxJSE5oYldVZ1pYWmxiblFzSUhkbFhHNHZMeUJ6YUc5MWJHUWdkSEpsWVhRZ2RHaGxhWElnYzNSaGNuUWdkR2x0WlhNZ1lYTWdjMmx0ZFd4MFlXNWxiM1Z6TENCbGRtVnVJR2xtSUhSb1pTQmhZM1IxWVd3Z1kyeHZZMnRjYmk4dklIUnBiV1VnYUdGeklHRmtkbUZ1WTJWa0lHSmxkSGRsWlc0Z2RHaGxJR1pwY25OMElHRnVaQ0J6WldOdmJtUWdZMkZzYkM1Y2JpOHZJRWx1SUc5MGFHVnlJSGR2Y21SekxDQmlaV05oZFhObElHVjRjR2x5WVhScGIyNGdkR2x0WlhNZ1pHVjBaWEp0YVc1bElHaHZkeUIxY0dSaGRHVnpJR0Z5WlNCaVlYUmphR1ZrTEZ4dUx5OGdkMlVnZDJGdWRDQmhiR3dnZFhCa1lYUmxjeUJ2WmlCc2FXdGxJSEJ5YVc5eWFYUjVJSFJvWVhRZ2IyTmpkWElnZDJsMGFHbHVJSFJvWlNCellXMWxJR1YyWlc1MElIUnZYRzR2THlCeVpXTmxhWFpsSUhSb1pTQnpZVzFsSUdWNGNHbHlZWFJwYjI0Z2RHbHRaUzRnVDNSb1pYSjNhWE5sSUhkbElHZGxkQ0IwWldGeWFXNW5MbHh1WEc1MllYSWdZM1Z5Y21WdWRFVjJaVzUwVkdsdFpTQTlJRTV2VjI5eWF6dGNibVoxYm1OMGFXOXVJSEpsY1hWbGMzUkRkWEp5Wlc1MFZHbHRaVVp2Y2xWd1pHRjBaU2dwSUh0Y2JpQWdhV1lnS0NobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUNZZ0tGSmxibVJsY2tOdmJuUmxlSFFnZkNCRGIyMXRhWFJEYjI1MFpYaDBLU2tnSVQwOUlFNXZRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDOHZJRmRsSjNKbElHbHVjMmxrWlNCU1pXRmpkQ3dnYzI4Z2FYUW5jeUJtYVc1bElIUnZJSEpsWVdRZ2RHaGxJR0ZqZEhWaGJDQjBhVzFsTGx4dUlDQWdJSEpsZEhWeWJpQnRjMVJ2Ulhod2FYSmhkR2x2YmxScGJXVW9ibTkzS0NrcE8xeHVJQ0I5SUM4dklGZGxKM0psSUc1dmRDQnBibk5wWkdVZ1VtVmhZM1FzSUhOdklIZGxJRzFoZVNCaVpTQnBiaUIwYUdVZ2JXbGtaR3hsSUc5bUlHRWdZbkp2ZDNObGNpQmxkbVZ1ZEM1Y2JseHVYRzRnSUdsbUlDaGpkWEp5Wlc1MFJYWmxiblJVYVcxbElDRTlQU0JPYjFkdmNtc3BJSHRjYmlBZ0lDQXZMeUJWYzJVZ2RHaGxJSE5oYldVZ2MzUmhjblFnZEdsdFpTQm1iM0lnWVd4c0lIVndaR0YwWlhNZ2RXNTBhV3dnZDJVZ1pXNTBaWElnVW1WaFkzUWdZV2RoYVc0dVhHNGdJQ0FnY21WMGRYSnVJR04xY25KbGJuUkZkbVZ1ZEZScGJXVTdYRzRnSUgwZ0x5OGdWR2hwY3lCcGN5QjBhR1VnWm1seWMzUWdkWEJrWVhSbElITnBibU5sSUZKbFlXTjBJSGxwWld4a1pXUXVJRU52YlhCMWRHVWdZU0J1WlhjZ2MzUmhjblFnZEdsdFpTNWNibHh1WEc0Z0lHTjFjbkpsYm5SRmRtVnVkRlJwYldVZ1BTQnRjMVJ2Ulhod2FYSmhkR2x2YmxScGJXVW9ibTkzS0NrcE8xeHVJQ0J5WlhSMWNtNGdZM1Z5Y21WdWRFVjJaVzUwVkdsdFpUdGNibjFjYm1aMWJtTjBhVzl1SUdkbGRFTjFjbkpsYm5SVWFXMWxLQ2tnZTF4dUlDQnlaWFIxY200Z2JYTlViMFY0Y0dseVlYUnBiMjVVYVcxbEtHNXZkeWdwS1R0Y2JuMWNibVoxYm1OMGFXOXVJR052YlhCMWRHVkZlSEJwY21GMGFXOXVSbTl5Um1saVpYSW9ZM1Z5Y21WdWRGUnBiV1VzSUdacFltVnlMQ0J6ZFhOd1pXNXpaVU52Ym1acFp5a2dlMXh1SUNCMllYSWdiVzlrWlNBOUlHWnBZbVZ5TG0xdlpHVTdYRzVjYmlBZ2FXWWdLQ2h0YjJSbElDWWdRbXh2WTJ0cGJtZE5iMlJsS1NBOVBUMGdUbTlOYjJSbEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUZONWJtTTdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUdkbGRFTjFjbkpsYm5SUWNtbHZjbWwwZVV4bGRtVnNLQ2s3WEc1Y2JpQWdhV1lnS0NodGIyUmxJQ1lnUTI5dVkzVnljbVZ1ZEUxdlpHVXBJRDA5UFNCT2IwMXZaR1VwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdjSEpwYjNKcGRIbE1aWFpsYkNBOVBUMGdTVzF0WldScFlYUmxVSEpwYjNKcGRIa2dQeUJUZVc1aklEb2dRbUYwWTJobFpEdGNiaUFnZlZ4dVhHNGdJR2xtSUNnb1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBbUlGSmxibVJsY2tOdmJuUmxlSFFwSUNFOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQXZMeUJWYzJVZ2QyaGhkR1YyWlhJZ2RHbHRaU0IzWlNkeVpTQmhiSEpsWVdSNUlISmxibVJsY21sdVoxeHVJQ0FnSUM4dklGUlBSRTg2SUZOb2IzVnNaQ0IwYUdWeVpTQmlaU0JoSUhkaGVTQjBieUJ2Y0hRZ2IzVjBMQ0JzYVd0bElIZHBkR2dnWUhKMWJsZHBkR2hRY21sdmNtbDBlV0EvWEc0Z0lDQWdjbVYwZFhKdUlISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREU3WEc0Z0lIMWNibHh1SUNCMllYSWdaWGh3YVhKaGRHbHZibFJwYldVN1hHNWNiaUFnYVdZZ0tITjFjM0JsYm5ObFEyOXVabWxuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1EyOXRjSFYwWlNCaGJpQmxlSEJwY21GMGFXOXVJSFJwYldVZ1ltRnpaV1FnYjI0Z2RHaGxJRk4xYzNCbGJuTmxJSFJwYldWdmRYUXVYRzRnSUNBZ1pYaHdhWEpoZEdsdmJsUnBiV1VnUFNCamIyMXdkWFJsVTNWemNHVnVjMlZGZUhCcGNtRjBhVzl1S0dOMWNuSmxiblJVYVcxbExDQnpkWE53Wlc1elpVTnZibVpwWnk1MGFXMWxiM1YwVFhNZ2ZDQXdJSHg4SUV4UFYxOVFVa2xQVWtsVVdWOUZXRkJKVWtGVVNVOU9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCRGIyMXdkWFJsSUdGdUlHVjRjR2x5WVhScGIyNGdkR2x0WlNCaVlYTmxaQ0J2YmlCMGFHVWdVMk5vWldSMWJHVnlJSEJ5YVc5eWFYUjVMbHh1SUNBZ0lITjNhWFJqYUNBb2NISnBiM0pwZEhsTVpYWmxiQ2tnZTF4dUlDQWdJQ0FnWTJGelpTQkpiVzFsWkdsaGRHVlFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lDQWdaWGh3YVhKaGRHbHZibFJwYldVZ1BTQlRlVzVqTzF4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmx4dUlDQWdJQ0FnWTJGelpTQlZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlU1F4T2x4dUlDQWdJQ0FnSUNBdkx5QlVUMFJQT2lCU1pXNWhiV1VnZEdocGN5QjBieUJqYjIxd2RYUmxWWE5sY2tKc2IyTnJhVzVuUlhod2FYSmhkR2x2Ymx4dUlDQWdJQ0FnSUNCbGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdOdmJYQjFkR1ZKYm5SbGNtRmpkR2wyWlVWNGNHbHlZWFJwYjI0b1kzVnljbVZ1ZEZScGJXVXBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCT2IzSnRZV3hRY21sdmNtbDBlVHBjYmlBZ0lDQWdJR05oYzJVZ1RHOTNVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQWdJQzh2SUZSUFJFODZJRWhoYm1Sc1pTQk1iM2RRY21sdmNtbDBlVnh1SUNBZ0lDQWdJQ0F2THlCVVQwUlBPaUJTWlc1aGJXVWdkR2hwY3lCMGJ5NHVMaUJ6YjIxbGRHaHBibWNnWW1WMGRHVnlMbHh1SUNBZ0lDQWdJQ0JsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR052YlhCMWRHVkJjM2x1WTBWNGNHbHlZWFJwYjI0b1kzVnljbVZ1ZEZScGJXVXBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdZMkZ6WlNCSlpHeGxVSEpwYjNKcGRIazZYRzRnSUNBZ0lDQWdJR1Y0Y0dseVlYUnBiMjVVYVcxbElEMGdTV1JzWlR0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc1Y2JpQWdJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pGZUhCbFkzUmxaQ0JoSUhaaGJHbGtJSEJ5YVc5eWFYUjVJR3hsZG1Wc1hDSWdLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lIMWNiaUFnZlNBdkx5QkpaaUIzWlNkeVpTQnBiaUIwYUdVZ2JXbGtaR3hsSUc5bUlISmxibVJsY21sdVp5QmhJSFJ5WldVc0lHUnZJRzV2ZENCMWNHUmhkR1VnWVhRZ2RHaGxJSE5oYldWY2JpQWdMeThnWlhod2FYSmhkR2x2YmlCMGFXMWxJSFJvWVhRZ2FYTWdZV3h5WldGa2VTQnlaVzVrWlhKcGJtY3VYRzRnSUM4dklGUlBSRTg2SUZkbElITm9iM1ZzWkc0bmRDQm9ZWFpsSUhSdklHUnZJSFJvYVhNZ2FXWWdkR2hsSUhWd1pHRjBaU0JwY3lCdmJpQmhJR1JwWm1abGNtVnVkQ0J5YjI5MExseHVJQ0F2THlCU1pXWmhZM1J2Y2lCamIyMXdkWFJsUlhod2FYSmhkR2x2YmtadmNrWnBZbVZ5SUNzZ2MyTm9aV1IxYkdWVmNHUmhkR1VnYzI4Z2QyVWdhR0YyWlNCaFkyTmxjM01nZEc5Y2JpQWdMeThnZEdobElISnZiM1FnZDJobGJpQjNaU0JqYUdWamF5Qm1iM0lnZEdocGN5QmpiMjVrYVhScGIyNHVYRzVjYmx4dUlDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwSUNFOVBTQnVkV3hzSUNZbUlHVjRjR2x5WVhScGIyNVVhVzFsSUQwOVBTQnlaVzVrWlhKRmVIQnBjbUYwYVc5dVZHbHRaU1F4S1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElIUnlhV05ySUhSdklHMXZkbVVnZEdocGN5QjFjR1JoZEdVZ2FXNTBieUJoSUhObGNHRnlZWFJsSUdKaGRHTm9YRzRnSUNBZ1pYaHdhWEpoZEdsdmJsUnBiV1VnTFQwZ01UdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JuMWNibVoxYm1OMGFXOXVJSE5qYUdWa2RXeGxWWEJrWVhSbFQyNUdhV0psY2lobWFXSmxjaXdnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ1kyaGxZMnRHYjNKT1pYTjBaV1JWY0dSaGRHVnpLQ2s3WEc0Z0lIZGhjbTVCWW05MWRGSmxibVJsY2xCb1lYTmxWWEJrWVhSbGMwbHVSRVZXS0dacFltVnlLVHRjYmlBZ2RtRnlJSEp2YjNRZ1BTQnRZWEpyVlhCa1lYUmxWR2x0WlVaeWIyMUdhV0psY2xSdlVtOXZkQ2htYVdKbGNpd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVYRzRnSUdsbUlDaHliMjkwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZDJGeWJrRmliM1YwVlhCa1lYUmxUMjVWYm0xdmRXNTBaV1JHYVdKbGNrbHVSRVZXS0dacFltVnlLVHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQmphR1ZqYTBadmNrbHVkR1Z5Y25Wd2RHbHZiaWhtYVdKbGNpd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0J5WldOdmNtUlRZMmhsWkhWc1pWVndaR0YwWlNncE95QXZMeUJVVDBSUE9pQmpiMjF3ZFhSbFJYaHdhWEpoZEdsdmJrWnZja1pwWW1WeUlHRnNjMjhnY21WaFpITWdkR2hsSUhCeWFXOXlhWFI1TGlCUVlYTnpJSFJvWlZ4dUlDQXZMeUJ3Y21sdmNtbDBlU0JoY3lCaGJpQmhjbWQxYldWdWRDQjBieUIwYUdGMElHWjFibU4wYVc5dUlHRnVaQ0IwYUdseklHOXVaUzVjYmx4dUlDQjJZWElnY0hKcGIzSnBkSGxNWlhabGJDQTlJR2RsZEVOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0tDazdYRzVjYmlBZ2FXWWdLR1Y0Y0dseVlYUnBiMjVVYVcxbElEMDlQU0JUZVc1aktTQjdYRzRnSUNBZ2FXWWdLQ0F2THlCRGFHVmpheUJwWmlCM1pTZHlaU0JwYm5OcFpHVWdkVzVpWVhSamFHVmtWWEJrWVhSbGMxeHVJQ0FnSUNobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUNZZ1RHVm5ZV041Vlc1aVlYUmphR1ZrUTI5dWRHVjRkQ2tnSVQwOUlFNXZRMjl1ZEdWNGRDQW1KaUF2THlCRGFHVmpheUJwWmlCM1pTZHlaU0J1YjNRZ1lXeHlaV0ZrZVNCeVpXNWtaWEpwYm1kY2JpQWdJQ0FvWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0FtSUNoU1pXNWtaWEpEYjI1MFpYaDBJSHdnUTI5dGJXbDBRMjl1ZEdWNGRDa3BJRDA5UFNCT2IwTnZiblJsZUhRcElIdGNiaUFnSUNBZ0lDOHZJRkpsWjJsemRHVnlJSEJsYm1ScGJtY2dhVzUwWlhKaFkzUnBiMjV6SUc5dUlIUm9aU0J5YjI5MElIUnZJR0YyYjJsa0lHeHZjMmx1WnlCMGNtRmpaV1FnYVc1MFpYSmhZM1JwYjI0Z1pHRjBZUzVjYmlBZ0lDQWdJSE5qYUdWa2RXeGxVR1Z1WkdsdVowbHVkR1Z5WVdOMGFXOXVjeWh5YjI5MExDQmxlSEJwY21GMGFXOXVWR2x0WlNrN0lDOHZJRlJvYVhNZ2FYTWdZU0JzWldkaFkza2daV1JuWlNCallYTmxMaUJVYUdVZ2FXNXBkR2xoYkNCdGIzVnVkQ0J2WmlCaElGSmxZV04wUkU5TkxuSmxibVJsY2kxbFpGeHVJQ0FnSUNBZ0x5OGdjbTl2ZENCcGJuTnBaR1VnYjJZZ1ltRjBZMmhsWkZWd1pHRjBaWE1nYzJodmRXeGtJR0psSUhONWJtTm9jbTl1YjNWekxDQmlkWFFnYkdGNWIzVjBJSFZ3WkdGMFpYTmNiaUFnSUNBZ0lDOHZJSE5vYjNWc1pDQmlaU0JrWldabGNuSmxaQ0IxYm5ScGJDQjBhR1VnWlc1a0lHOW1JSFJvWlNCaVlYUmphQzVjYmx4dUlDQWdJQ0FnY0dWeVptOXliVk41Ym1OWGIzSnJUMjVTYjI5MEtISnZiM1FwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmxibk4xY21WU2IyOTBTWE5UWTJobFpIVnNaV1FvY205dmRDazdYRzRnSUNBZ0lDQnpZMmhsWkhWc1pWQmxibVJwYm1kSmJuUmxjbUZqZEdsdmJuTW9jbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnSUNCcFppQW9aWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQTlQVDBnVG05RGIyNTBaWGgwS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRVpzZFhOb0lIUm9aU0J6ZVc1amFISnZibTkxY3lCM2IzSnJJRzV2ZHl3Z2RXNXNaWE56SUhkbEozSmxJR0ZzY21WaFpIa2dkMjl5YTJsdVp5QnZjaUJwYm5OcFpHVmNiaUFnSUNBZ0lDQWdMeThnWVNCaVlYUmphQzRnVkdocGN5QnBjeUJwYm5SbGJuUnBiMjVoYkd4NUlHbHVjMmxrWlNCelkyaGxaSFZzWlZWd1pHRjBaVTl1Um1saVpYSWdhVzV6ZEdWaFpDQnZabHh1SUNBZ0lDQWdJQ0F2THlCelkyaGxaSFZzWlVOaGJHeGlZV05yUm05eVJtbGlaWElnZEc4Z2NISmxjMlZ5ZG1VZ2RHaGxJR0ZpYVd4cGRIa2dkRzhnYzJOb1pXUjFiR1VnWVNCallXeHNZbUZqYTF4dUlDQWdJQ0FnSUNBdkx5QjNhWFJvYjNWMElHbHRiV1ZrYVdGMFpXeDVJR1pzZFhOb2FXNW5JR2wwTGlCWFpTQnZibXg1SUdSdklIUm9hWE1nWm05eUlIVnpaWEl0YVc1cGRHbGhkR1ZrWEc0Z0lDQWdJQ0FnSUM4dklIVndaR0YwWlhNc0lIUnZJSEJ5WlhObGNuWmxJR2hwYzNSdmNtbGpZV3dnWW1Wb1lYWnBiM0lnYjJZZ2JHVm5ZV041SUcxdlpHVXVYRzRnSUNBZ0lDQWdJR1pzZFhOb1UzbHVZME5oYkd4aVlXTnJVWFZsZFdVb0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pXNXpkWEpsVW05dmRFbHpVMk5vWldSMWJHVmtLSEp2YjNRcE8xeHVJQ0FnSUhOamFHVmtkV3hsVUdWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1Y3loeWIyOTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzRnSUgxY2JseHVJQ0JwWmlBb0tHVjRaV04xZEdsdmJrTnZiblJsZUhRZ0ppQkVhWE5qY21WMFpVVjJaVzUwUTI5dWRHVjRkQ2tnSVQwOUlFNXZRMjl1ZEdWNGRDQW1KaUFvSUM4dklFOXViSGtnZFhCa1lYUmxjeUJoZENCMWMyVnlMV0pzYjJOcmFXNW5JSEJ5YVc5eWFYUjVJRzl5SUdkeVpXRjBaWElnWVhKbElHTnZibk5wWkdWeVpXUmNiaUFnTHk4Z1pHbHpZM0psZEdVc0lHVjJaVzRnYVc1emFXUmxJR0VnWkdselkzSmxkR1VnWlhabGJuUXVYRzRnSUhCeWFXOXlhWFI1VEdWMlpXd2dQVDA5SUZWelpYSkNiRzlqYTJsdVoxQnlhVzl5YVhSNUpERWdmSHdnY0hKcGIzSnBkSGxNWlhabGJDQTlQVDBnU1cxdFpXUnBZWFJsVUhKcGIzSnBkSGtwS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdjbVZ6ZFd4MElHOW1JR0VnWkdselkzSmxkR1VnWlhabGJuUXVJRlJ5WVdOcklIUm9aU0JzYjNkbGMzUWdjSEpwYjNKcGRIbGNiaUFnSUNBdkx5QmthWE5qY21WMFpTQjFjR1JoZEdVZ2NHVnlJSEp2YjNRZ2MyOGdkMlVnWTJGdUlHWnNkWE5vSUhSb1pXMGdaV0Z5Ykhrc0lHbG1JRzVsWldSbFpDNWNiaUFnSUNCcFppQW9jbTl2ZEhOWGFYUm9VR1Z1WkdsdVowUnBjMk55WlhSbFZYQmtZWFJsY3lBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2NtOXZkSE5YYVhSb1VHVnVaR2x1WjBScGMyTnlaWFJsVlhCa1lYUmxjeUE5SUc1bGR5Qk5ZWEFvVzF0eWIyOTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpWMWRLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RtRnlJR3hoYzNSRWFYTmpjbVYwWlZScGJXVWdQU0J5YjI5MGMxZHBkR2hRWlc1a2FXNW5SR2x6WTNKbGRHVlZjR1JoZEdWekxtZGxkQ2h5YjI5MEtUdGNibHh1SUNBZ0lDQWdhV1lnS0d4aGMzUkVhWE5qY21WMFpWUnBiV1VnUFQwOUlIVnVaR1ZtYVc1bFpDQjhmQ0JzWVhOMFJHbHpZM0psZEdWVWFXMWxJRDRnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnY205dmRITlhhWFJvVUdWdVpHbHVaMFJwYzJOeVpYUmxWWEJrWVhSbGN5NXpaWFFvY205dmRDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dWRtRnlJSE5qYUdWa2RXeGxWMjl5YXlBOUlITmphR1ZrZFd4bFZYQmtZWFJsVDI1R2FXSmxjanNnTHk4Z1ZHaHBjeUJwY3lCemNHeHBkQ0JwYm5SdklHRWdjMlZ3WVhKaGRHVWdablZ1WTNScGIyNGdjMjhnZDJVZ1kyRnVJRzFoY21zZ1lTQm1hV0psY2lCM2FYUm9JSEJsYm1ScGJtZGNiaTh2SUhkdmNtc2dkMmwwYUc5MWRDQjBjbVZoZEdsdVp5QnBkQ0JoY3lCaElIUjVjR2xqWVd3Z2RYQmtZWFJsSUhSb1lYUWdiM0pwWjJsdVlYUmxjeUJtY205dElHRnVJR1YyWlc1ME8xeHVMeThnWlM1bkxpQnlaWFJ5ZVdsdVp5QmhJRk4xYzNCbGJuTmxJR0p2ZFc1a1lYSjVJR2x6YmlkMElHRnVJSFZ3WkdGMFpTd2dZblYwSUdsMElHUnZaWE1nYzJOb1pXUjFiR1VnZDI5eWExeHVMeThnYjI0Z1lTQm1hV0psY2k1Y2JseHVablZ1WTNScGIyNGdiV0Z5YTFWd1pHRjBaVlJwYldWR2NtOXRSbWxpWlhKVWIxSnZiM1FvWm1saVpYSXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUM4dklGVndaR0YwWlNCMGFHVWdjMjkxY21ObElHWnBZbVZ5SjNNZ1pYaHdhWEpoZEdsdmJpQjBhVzFsWEc0Z0lHbG1JQ2htYVdKbGNpNWxlSEJwY21GMGFXOXVWR2x0WlNBOElHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnWm1saVpYSXVaWGh3YVhKaGRHbHZibFJwYldVZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJoYkhSbGNtNWhkR1VnUFNCbWFXSmxjaTVoYkhSbGNtNWhkR1U3WEc1Y2JpQWdhV1lnS0dGc2RHVnlibUYwWlNBaFBUMGdiblZzYkNBbUppQmhiSFJsY201aGRHVXVaWGh3YVhKaGRHbHZibFJwYldVZ1BDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUdGc2RHVnlibUYwWlM1bGVIQnBjbUYwYVc5dVZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOUlDOHZJRmRoYkdzZ2RHaGxJSEJoY21WdWRDQndZWFJvSUhSdklIUm9aU0J5YjI5MElHRnVaQ0IxY0dSaGRHVWdkR2hsSUdOb2FXeGtJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTNWNibHh1WEc0Z0lIWmhjaUJ1YjJSbElEMGdabWxpWlhJdWNtVjBkWEp1TzF4dUlDQjJZWElnY205dmRDQTlJRzUxYkd3N1hHNWNiaUFnYVdZZ0tHNXZaR1VnUFQwOUlHNTFiR3dnSmlZZ1ptbGlaWEl1ZEdGbklEMDlQU0JJYjNOMFVtOXZkQ2tnZTF4dUlDQWdJSEp2YjNRZ1BTQm1hV0psY2k1emRHRjBaVTV2WkdVN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2QyaHBiR1VnS0c1dlpHVWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR0ZzZEdWeWJtRjBaU0E5SUc1dlpHVXVZV3gwWlhKdVlYUmxPMXh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUR3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUNBZ2JtOWtaUzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1pYaHdhWEpoZEdsdmJsUnBiV1U3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR0ZzZEdWeWJtRjBaU0FoUFQwZ2JuVnNiQ0FtSmlCaGJIUmxjbTVoZEdVdVkyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpTQThJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnWVd4MFpYSnVZWFJsTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGhiSFJsY201aGRHVWdJVDA5SUc1MWJHd2dKaVlnWVd4MFpYSnVZWFJsTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ0lDQmhiSFJsY201aGRHVXVZMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2JtOWtaUzV5WlhSMWNtNGdQVDA5SUc1MWJHd2dKaVlnYm05a1pTNTBZV2NnUFQwOUlFaHZjM1JTYjI5MEtTQjdYRzRnSUNBZ0lDQWdJSEp2YjNRZ1BTQnViMlJsTG5OMFlYUmxUbTlrWlR0Y2JpQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc1dlpHVWdQU0J1YjJSbExuSmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCcFppQW9jbTl2ZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdQVDA5SUhKdmIzUXBJSHRjYmlBZ0lDQWdJQzh2SUZKbFkyVnBkbVZrSUdGdUlIVndaR0YwWlNCMGJ5QmhJSFJ5WldVZ2RHaGhkQ2R6SUdsdUlIUm9aU0J0YVdSa2JHVWdiMllnY21WdVpHVnlhVzVuTGlCTllYSnJYRzRnSUNBZ0lDQXZMeUIwYUdGMEozTWdkVzV3Y205alpYTnpaV1FnZDI5eWF5QnZiaUIwYUdseklISnZiM1F1WEc0Z0lDQWdJQ0J0WVhKclZXNXdjbTlqWlhOelpXUlZjR1JoZEdWVWFXMWxLR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEVWNGFYUlRkR0YwZFhNZ1BUMDlJRkp2YjNSVGRYTndaVzVrWldSWGFYUm9SR1ZzWVhrcElIdGNiaUFnSUNBZ0lDQWdMeThnVkdobElISnZiM1FnWVd4eVpXRmtlU0J6ZFhOd1pXNWtaV1FnZDJsMGFDQmhJR1JsYkdGNUxDQjNhR2xqYUNCdFpXRnVjeUIwYUdseklISmxibVJsY2x4dUlDQWdJQ0FnSUNBdkx5QmtaV1pwYm1sMFpXeDVJSGR2YmlkMElHWnBibWx6YUM0Z1UybHVZMlVnZDJVZ2FHRjJaU0JoSUc1bGR5QjFjR1JoZEdVc0lHeGxkQ2R6SUcxaGNtc2dhWFFnWVhOY2JpQWdJQ0FnSUNBZ0x5OGdjM1Z6Y0dWdVpHVmtJRzV2ZHl3Z2NtbG5hSFFnWW1WbWIzSmxJRzFoY210cGJtY2dkR2hsSUdsdVkyOXRhVzVuSUhWd1pHRjBaUzRnVkdocGN5Qm9ZWE1nZEdobFhHNGdJQ0FnSUNBZ0lDOHZJR1ZtWm1WamRDQnZaaUJwYm5SbGNuSjFjSFJwYm1jZ2RHaGxJR04xY25KbGJuUWdjbVZ1WkdWeUlHRnVaQ0J6ZDJsMFkyaHBibWNnZEc4Z2RHaGxJSFZ3WkdGMFpTNWNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dWR2hwY3lCb1lYQndaVzV6SUhSdklIZHZjbXNnZDJobGJpQnlaV05sYVhacGJtY2dZVzRnZFhCa1lYUmxJR1IxY21sdVp5QjBhR1VnY21WdVpHVnlYRzRnSUNBZ0lDQWdJQzh2SUhCb1lYTmxMQ0JpWldOaGRYTmxJRzltSUhSb1pTQjBjbWxqYXlCcGJuTnBaR1VnWTI5dGNIVjBaVVY0Y0dseVlYUnBiMjVHYjNKR2FXSmxjaUIwYjF4dUlDQWdJQ0FnSUNBdkx5QnpkV0owY21GamRDQXhJR1p5YjIwZ1lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxZQ0IwYnlCdGIzWmxJR2wwSUdsdWRHOGdZVnh1SUNBZ0lDQWdJQ0F2THlCelpYQmhjbUYwWlNCaWRXTnJaWFF1SUVKMWRDQjNaU0J6YUc5MWJHUWdjSEp2WW1GaWJIa2diVzlrWld3Z2FYUWdkMmwwYUNCaGJpQmxlR05sY0hScGIyNHNYRzRnSUNBZ0lDQWdJQzh2SUhWemFXNW5JSFJvWlNCellXMWxJRzFsWTJoaGJtbHpiU0IzWlNCMWMyVWdkRzhnWm05eVkyVWdhSGxrY21GMGFXOXVJRzltSUdFZ2MzVmlkSEpsWlM1Y2JpQWdJQ0FnSUNBZ0x5OGdWRTlFVHpvZ1ZHaHBjeUJrYjJWeklHNXZkQ0JoWTJOdmRXNTBJR1p2Y2lCc2IzY2djSEpwSUhWd1pHRjBaWE1nZEdoaGRDQjNaWEpsSUdGc2NtVmhaSGxjYmlBZ0lDQWdJQ0FnTHk4Z2MyTm9aV1IxYkdWa0lHSmxabTl5WlNCMGFHVWdjbTl2ZENCemRHRnlkR1ZrSUhKbGJtUmxjbWx1Wnk0Z1RtVmxaQ0IwYnlCMGNtRmpheUIwYUdVZ2JtVjRkRnh1SUNBZ0lDQWdJQ0F2THlCd1pXNWthVzVuSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0FvY0dWeWFHRndjeUJpZVNCaVlXTnJkSEpoWTJ0cGJtY2dkR2hsSUhKbGRIVnliaUJ3WVhSb0tTQmhibVJjYmlBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUIwY21sbloyVnlJR0VnY21WemRHRnlkQ0JwYmlCMGFHVWdZSEpsYm1SbGNrUnBaRk4xYzNCbGJtUkVaV3hoZVVsbVVHOXpjMmxpYkdWZ0lIQmhkR2d1WEc0Z0lDQWdJQ0FnSUcxaGNtdFNiMjkwVTNWemNHVnVaR1ZrUVhSVWFXMWxLSEp2YjNRc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnTHk4Z1RXRnlheUIwYUdGMElIUm9aU0J5YjI5MElHaGhjeUJoSUhCbGJtUnBibWNnZFhCa1lYUmxMbHh1WEc1Y2JpQWdJQ0J0WVhKclVtOXZkRlZ3WkdGMFpXUkJkRlJwYldVb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEp2YjNRN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFNWxlSFJTYjI5MFJYaHdhWEpoZEdsdmJsUnBiV1ZVYjFkdmNtdFBiaWh5YjI5MEtTQjdYRzRnSUM4dklFUmxkR1Z5YldsdVpYTWdkR2hsSUc1bGVIUWdaWGh3YVhKaGRHbHZiaUIwYVcxbElIUm9ZWFFnZEdobElISnZiM1FnYzJodmRXeGtJSEpsYm1SbGNpd2dkR0ZyYVc1blhHNGdJQzh2SUdsdWRHOGdZV05qYjNWdWRDQnNaWFpsYkhNZ2RHaGhkQ0J0WVhrZ1ltVWdjM1Z6Y0dWdVpHVmtMQ0J2Y2lCc1pYWmxiSE1nZEdoaGRDQnRZWGtnYUdGMlpWeHVJQ0F2THlCeVpXTmxhWFpsWkNCaElIQnBibWN1WEc0Z0lIWmhjaUJzWVhOMFJYaHdhWEpsWkZScGJXVWdQU0J5YjI5MExteGhjM1JGZUhCcGNtVmtWR2x0WlR0Y2JseHVJQ0JwWmlBb2JHRnpkRVY0Y0dseVpXUlVhVzFsSUNFOVBTQk9iMWR2Y21zcElIdGNiaUFnSUNCeVpYUjFjbTRnYkdGemRFVjRjR2x5WldSVWFXMWxPMXh1SUNCOUlDOHZJRndpVUdWdVpHbHVaMXdpSUhKbFptVnljeUIwYnlCaGJua2dkWEJrWVhSbElIUm9ZWFFnYUdGemJpZDBJR052YlcxcGRIUmxaQ0I1WlhRc0lHbHVZMngxWkdsdVp5QnBaaUJwZEZ4dUlDQXZMeUJ6ZFhOd1pXNWtaV1F1SUZSb1pTQmNJbk4xYzNCbGJtUmxaRndpSUhKaGJtZGxJR2x6SUhSb1pYSmxabTl5WlNCaElITjFZbk5sZEM1Y2JseHVYRzRnSUhaaGNpQm1hWEp6ZEZCbGJtUnBibWRVYVcxbElEMGdjbTl2ZEM1bWFYSnpkRkJsYm1ScGJtZFVhVzFsTzF4dVhHNGdJR2xtSUNnaGFYTlNiMjkwVTNWemNHVnVaR1ZrUVhSVWFXMWxLSEp2YjNRc0lHWnBjbk4wVUdWdVpHbHVaMVJwYldVcEtTQjdYRzRnSUNBZ0x5OGdWR2hsSUdocFoyaGxjM1FnY0hKcGIzSnBkSGtnY0dWdVpHbHVaeUIwYVcxbElHbHpJRzV2ZENCemRYTndaVzVrWldRdUlFeGxkQ2R6SUhkdmNtc2diMjRnZEdoaGRDNWNiaUFnSUNCeVpYUjFjbTRnWm1seWMzUlFaVzVrYVc1blZHbHRaVHRjYmlBZ2ZTQXZMeUJKWmlCMGFHVWdabWx5YzNRZ2NHVnVaR2x1WnlCMGFXMWxJR2x6SUhOMWMzQmxibVJsWkN3Z1kyaGxZMnNnYVdZZ2RHaGxjbVVuY3lCaElHeHZkMlZ5SUhCeWFXOXlhWFI1WEc0Z0lDOHZJSEJsYm1ScGJtY2diR1YyWld3Z2RHaGhkQ0IzWlNCcmJtOTNJR0ZpYjNWMExpQlBjaUJqYUdWamF5QnBaaUIzWlNCeVpXTmxhWFpsWkNCaElIQnBibWN1SUZkdmNtdGNiaUFnTHk4Z2IyNGdkMmhwWTJobGRtVnlJR2x6SUdocFoyaGxjaUJ3Y21sdmNtbDBlUzVjYmx4dVhHNGdJSFpoY2lCc1lYTjBVR2x1WjJWa1ZHbHRaU0E5SUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVN1hHNGdJSFpoY2lCdVpYaDBTMjV2ZDI1UVpXNWthVzVuVEdWMlpXd2dQU0J5YjI5MExtNWxlSFJMYm05M2JsQmxibVJwYm1kTVpYWmxiRHRjYmlBZ2RtRnlJRzVsZUhSTVpYWmxiQ0E5SUd4aGMzUlFhVzVuWldSVWFXMWxJRDRnYm1WNGRFdHViM2R1VUdWdVpHbHVaMHhsZG1Wc0lEOGdiR0Z6ZEZCcGJtZGxaRlJwYldVZ09pQnVaWGgwUzI1dmQyNVFaVzVrYVc1blRHVjJaV3c3WEc1Y2JpQWdhV1lnS0NCdVpYaDBUR1YyWld3Z1BEMGdTV1JzWlNBbUppQm1hWEp6ZEZCbGJtUnBibWRVYVcxbElDRTlQU0J1WlhoMFRHVjJaV3dwSUh0Y2JpQWdJQ0F2THlCRWIyNG5kQ0IzYjNKcklHOXVJRWxrYkdVdlRtVjJaWElnY0hKcGIzSnBkSGtnZFc1c1pYTnpJR1YyWlhKNWRHaHBibWNnWld4elpTQnBjeUJqYjIxdGFYUjBaV1F1WEc0Z0lDQWdjbVYwZFhKdUlFNXZWMjl5YXp0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdVpYaDBUR1YyWld3N1hHNTlJQzh2SUZWelpTQjBhR2x6SUdaMWJtTjBhVzl1SUhSdklITmphR1ZrZFd4bElHRWdkR0Z6YXlCbWIzSWdZU0J5YjI5MExpQlVhR1Z5WlNkeklHOXViSGtnYjI1bElIUmhjMnNnY0dWeVhHNHZMeUJ5YjI5ME95QnBaaUJoSUhSaGMyc2dkMkZ6SUdGc2NtVmhaSGtnYzJOb1pXUjFiR1ZrTENCM1pTZHNiQ0JqYUdWamF5QjBieUJ0WVd0bElITjFjbVVnZEdobFhHNHZMeUJsZUhCcGNtRjBhVzl1SUhScGJXVWdiMllnZEdobElHVjRhWE4wYVc1bklIUmhjMnNnYVhNZ2RHaGxJSE5oYldVZ1lYTWdkR2hsSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0J2Wmx4dUx5OGdkR2hsSUc1bGVIUWdiR1YyWld3Z2RHaGhkQ0IwYUdVZ2NtOXZkQ0JvWVhNZ2QyOXlheUJ2Ymk0Z1ZHaHBjeUJtZFc1amRHbHZiaUJwY3lCallXeHNaV1FnYjI0Z1pYWmxjbmxjYmk4dklIVndaR0YwWlN3Z1lXNWtJSEpwWjJoMElHSmxabTl5WlNCbGVHbDBhVzVuSUdFZ2RHRnpheTVjYmx4dVhHNW1kVzVqZEdsdmJpQmxibk4xY21WU2IyOTBTWE5UWTJobFpIVnNaV1FvY205dmRDa2dlMXh1SUNCMllYSWdiR0Z6ZEVWNGNHbHlaV1JVYVcxbElEMGdjbTl2ZEM1c1lYTjBSWGh3YVhKbFpGUnBiV1U3WEc1Y2JpQWdhV1lnS0d4aGMzUkZlSEJwY21Wa1ZHbHRaU0FoUFQwZ1RtOVhiM0pyS1NCN1hHNGdJQ0FnTHk4Z1UzQmxZMmxoYkNCallYTmxPaUJGZUhCcGNtVmtJSGR2Y21zZ2MyaHZkV3hrSUdac2RYTm9JSE41Ym1Ob2NtOXViM1Z6YkhrdVhHNGdJQ0FnY205dmRDNWpZV3hzWW1GamEwVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1UzbHVZenRjYmlBZ0lDQnliMjkwTG1OaGJHeGlZV05yVUhKcGIzSnBkSGtnUFNCSmJXMWxaR2xoZEdWUWNtbHZjbWwwZVR0Y2JpQWdJQ0J5YjI5MExtTmhiR3hpWVdOclRtOWtaU0E5SUhOamFHVmtkV3hsVTNsdVkwTmhiR3hpWVdOcktIQmxjbVp2Y20xVGVXNWpWMjl5YTA5dVVtOXZkQzVpYVc1a0tHNTFiR3dzSUhKdmIzUXBLVHRjYmlBZ0lDQnlaWFIxY200N1hHNGdJSDFjYmx4dUlDQjJZWElnWlhod2FYSmhkR2x2YmxScGJXVWdQU0JuWlhST1pYaDBVbTl2ZEVWNGNHbHlZWFJwYjI1VWFXMWxWRzlYYjNKclQyNG9jbTl2ZENrN1hHNGdJSFpoY2lCbGVHbHpkR2x1WjBOaGJHeGlZV05yVG05a1pTQTlJSEp2YjNRdVkyRnNiR0poWTJ0T2IyUmxPMXh1WEc0Z0lHbG1JQ2hsZUhCcGNtRjBhVzl1VkdsdFpTQTlQVDBnVG05WGIzSnJLU0I3WEc0Z0lDQWdMeThnVkdobGNtVW5jeUJ1YjNSb2FXNW5JSFJ2SUhkdmNtc2diMjR1WEc0Z0lDQWdhV1lnS0dWNGFYTjBhVzVuUTJGc2JHSmhZMnRPYjJSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnliMjkwTG1OaGJHeGlZV05yVG05a1pTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCeWIyOTBMbU5oYkd4aVlXTnJSWGh3YVhKaGRHbHZibFJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJQ0FnSUNCeWIyOTBMbU5oYkd4aVlXTnJVSEpwYjNKcGRIa2dQU0JPYjFCeWFXOXlhWFI1TzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlNBdkx5QlVUMFJQT2lCSlppQjBhR2x6SUdseklHRnVJSFZ3WkdGMFpTd2dkMlVnWVd4eVpXRmtlU0J5WldGa0lIUm9aU0JqZFhKeVpXNTBJSFJwYldVdUlGQmhjM01nZEdobFhHNGdJQzh2SUhScGJXVWdZWE1nWVc0Z1lYSm5kVzFsYm5RdVhHNWNibHh1SUNCMllYSWdZM1Z5Y21WdWRGUnBiV1VnUFNCeVpYRjFaWE4wUTNWeWNtVnVkRlJwYldWR2IzSlZjR1JoZEdVb0tUdGNiaUFnZG1GeUlIQnlhVzl5YVhSNVRHVjJaV3dnUFNCcGJtWmxjbEJ5YVc5eWFYUjVSbkp2YlVWNGNHbHlZWFJwYjI1VWFXMWxLR04xY25KbGJuUlVhVzFsTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3SUM4dklFbG1JSFJvWlhKbEozTWdZVzRnWlhocGMzUnBibWNnY21WdVpHVnlJSFJoYzJzc0lHTnZibVpwY20wZ2FYUWdhR0Z6SUhSb1pTQmpiM0p5WldOMElIQnlhVzl5YVhSNUlHRnVaRnh1SUNBdkx5QmxlSEJwY21GMGFXOXVJSFJwYldVdUlFOTBhR1Z5ZDJselpTd2dkMlVuYkd3Z1kyRnVZMlZzSUdsMElHRnVaQ0J6WTJobFpIVnNaU0JoSUc1bGR5QnZibVV1WEc1Y2JpQWdhV1lnS0dWNGFYTjBhVzVuUTJGc2JHSmhZMnRPYjJSbElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2RtRnlJR1Y0YVhOMGFXNW5RMkZzYkdKaFkydFFjbWx2Y21sMGVTQTlJSEp2YjNRdVkyRnNiR0poWTJ0UWNtbHZjbWwwZVR0Y2JpQWdJQ0IyWVhJZ1pYaHBjM1JwYm1kRFlXeHNZbUZqYTBWNGNHbHlZWFJwYjI1VWFXMWxJRDBnY205dmRDNWpZV3hzWW1GamEwVjRjR2x5WVhScGIyNVVhVzFsTzF4dVhHNGdJQ0FnYVdZZ0tDQXZMeUJEWVd4c1ltRmpheUJ0ZFhOMElHaGhkbVVnZEdobElHVjRZV04wSUhOaGJXVWdaWGh3YVhKaGRHbHZiaUIwYVcxbExseHVJQ0FnSUdWNGFYTjBhVzVuUTJGc2JHSmhZMnRGZUhCcGNtRjBhVzl1VkdsdFpTQTlQVDBnWlhod2FYSmhkR2x2YmxScGJXVWdKaVlnTHk4Z1EyRnNiR0poWTJzZ2JYVnpkQ0JvWVhabElHZHlaV0YwWlhJZ2IzSWdaWEYxWVd3Z2NISnBiM0pwZEhrdVhHNGdJQ0FnWlhocGMzUnBibWREWVd4c1ltRmphMUJ5YVc5eWFYUjVJRDQ5SUhCeWFXOXlhWFI1VEdWMlpXd3BJSHRjYmlBZ0lDQWdJQzh2SUVWNGFYTjBhVzVuSUdOaGJHeGlZV05ySUdseklITjFabVpwWTJsbGJuUXVYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlNBdkx5Qk9aV1ZrSUhSdklITmphR1ZrZFd4bElHRWdibVYzSUhSaGMyc3VYRzRnSUNBZ0x5OGdWRTlFVHpvZ1NXNXpkR1ZoWkNCdlppQnpZMmhsWkhWc2FXNW5JR0VnYm1WM0lIUmhjMnNzSUhkbElITm9iM1ZzWkNCaVpTQmhZbXhsSUhSdklHTm9ZVzVuWlNCMGFHVmNiaUFnSUNBdkx5QndjbWx2Y21sMGVTQnZaaUIwYUdVZ1pYaHBjM1JwYm1jZ2IyNWxMbHh1WEc1Y2JpQWdJQ0JqWVc1alpXeERZV3hzWW1GamF5aGxlR2x6ZEdsdVowTmhiR3hpWVdOclRtOWtaU2s3WEc0Z0lIMWNibHh1SUNCeWIyOTBMbU5oYkd4aVlXTnJSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdjbTl2ZEM1allXeHNZbUZqYTFCeWFXOXlhWFI1SUQwZ2NISnBiM0pwZEhsTVpYWmxiRHRjYmlBZ2RtRnlJR05oYkd4aVlXTnJUbTlrWlR0Y2JseHVJQ0JwWmlBb1pYaHdhWEpoZEdsdmJsUnBiV1VnUFQwOUlGTjVibU1wSUh0Y2JpQWdJQ0F2THlCVGVXNWpJRkpsWVdOMElHTmhiR3hpWVdOcmN5QmhjbVVnYzJOb1pXUjFiR1ZrSUc5dUlHRWdjM0JsWTJsaGJDQnBiblJsY201aGJDQnhkV1YxWlZ4dUlDQWdJR05oYkd4aVlXTnJUbTlrWlNBOUlITmphR1ZrZFd4bFUzbHVZME5oYkd4aVlXTnJLSEJsY21admNtMVRlVzVqVjI5eWEwOXVVbTl2ZEM1aWFXNWtLRzUxYkd3c0lISnZiM1FwS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCallXeHNZbUZqYTA1dlpHVWdQU0J6WTJobFpIVnNaVU5oYkd4aVlXTnJLSEJ5YVc5eWFYUjVUR1YyWld3c0lIQmxjbVp2Y20xRGIyNWpkWEp5Wlc1MFYyOXlhMDl1VW05dmRDNWlhVzVrS0c1MWJHd3NJSEp2YjNRcExDQXZMeUJEYjIxd2RYUmxJR0VnZEdGemF5QjBhVzFsYjNWMElHSmhjMlZrSUc5dUlIUm9aU0JsZUhCcGNtRjBhVzl1SUhScGJXVXVJRlJvYVhNZ1lXeHpieUJoWm1abFkzUnpYRzRnSUNBZ0x5OGdiM0prWlhKcGJtY2dZbVZqWVhWelpTQjBZWE5yY3lCaGNtVWdjSEp2WTJWemMyVmtJR2x1SUhScGJXVnZkWFFnYjNKa1pYSXVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ1pYaHdhWEpoZEdsdmJsUnBiV1ZVYjAxektHVjRjR2x5WVhScGIyNVVhVzFsS1NBdElHNXZkeWdwWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibHh1SUNCeWIyOTBMbU5oYkd4aVlXTnJUbTlrWlNBOUlHTmhiR3hpWVdOclRtOWtaVHRjYm4wZ0x5OGdWR2hwY3lCcGN5QjBhR1VnWlc1MGNua2djRzlwYm5RZ1ptOXlJR1YyWlhKNUlHTnZibU4xY25KbGJuUWdkR0Z6YXl3Z2FTNWxMaUJoYm5sMGFHbHVaeUIwYUdGMFhHNHZMeUJuYjJWeklIUm9jbTkxWjJnZ1UyTm9aV1IxYkdWeUxseHVYRzVjYm1aMWJtTjBhVzl1SUhCbGNtWnZjbTFEYjI1amRYSnlaVzUwVjI5eWEwOXVVbTl2ZENoeWIyOTBMQ0JrYVdSVWFXMWxiM1YwS1NCN1hHNGdJQzh2SUZOcGJtTmxJSGRsSUd0dWIzY2dkMlVuY21VZ2FXNGdZU0JTWldGamRDQmxkbVZ1ZEN3Z2QyVWdZMkZ1SUdOc1pXRnlJSFJvWlNCamRYSnlaVzUwWEc0Z0lDOHZJR1YyWlc1MElIUnBiV1V1SUZSb1pTQnVaWGgwSUhWd1pHRjBaU0IzYVd4c0lHTnZiWEIxZEdVZ1lTQnVaWGNnWlhabGJuUWdkR2x0WlM1Y2JpQWdZM1Z5Y21WdWRFVjJaVzUwVkdsdFpTQTlJRTV2VjI5eWF6dGNibHh1SUNCcFppQW9aR2xrVkdsdFpXOTFkQ2tnZTF4dUlDQWdJQzh2SUZSb1pTQnlaVzVrWlhJZ2RHRnpheUIwYjI5cklIUnZieUJzYjI1bklIUnZJR052YlhCc1pYUmxMaUJOWVhKcklIUm9aU0JqZFhKeVpXNTBJSFJwYldVZ1lYTmNiaUFnSUNBdkx5QmxlSEJwY21Wa0lIUnZJSE41Ym1Ob2NtOXViM1Z6YkhrZ2NtVnVaR1Z5SUdGc2JDQmxlSEJwY21Wa0lIZHZjbXNnYVc0Z1lTQnphVzVuYkdVZ1ltRjBZMmd1WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJVYVcxbElEMGdjbVZ4ZFdWemRFTjFjbkpsYm5SVWFXMWxSbTl5VlhCa1lYUmxLQ2s3WEc0Z0lDQWdiV0Z5YTFKdmIzUkZlSEJwY21Wa1FYUlVhVzFsS0hKdmIzUXNJR04xY25KbGJuUlVhVzFsS1RzZ0x5OGdWR2hwY3lCM2FXeHNJSE5qYUdWa2RXeGxJR0VnYzNsdVkyaHliMjV2ZFhNZ1kyRnNiR0poWTJzdVhHNWNiaUFnSUNCbGJuTjFjbVZTYjI5MFNYTlRZMmhsWkhWc1pXUW9jbTl2ZENrN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBnTHk4Z1JHVjBaWEp0YVc1bElIUm9aU0J1WlhoMElHVjRjR2x5WVhScGIyNGdkR2x0WlNCMGJ5QjNiM0pySUc5dUxDQjFjMmx1WnlCMGFHVWdabWxsYkdSeklITjBiM0psWkZ4dUlDQXZMeUJ2YmlCMGFHVWdjbTl2ZEM1Y2JseHVYRzRnSUhaaGNpQmxlSEJwY21GMGFXOXVWR2x0WlNBOUlHZGxkRTVsZUhSU2IyOTBSWGh3YVhKaGRHbHZibFJwYldWVWIxZHZjbXRQYmloeWIyOTBLVHRjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdJVDA5SUU1dlYyOXlheWtnZTF4dUlDQWdJSFpoY2lCdmNtbG5hVzVoYkVOaGJHeGlZV05yVG05a1pTQTlJSEp2YjNRdVkyRnNiR0poWTJ0T2IyUmxPMXh1WEc0Z0lDQWdhV1lnS0NFb0tHVjRaV04xZEdsdmJrTnZiblJsZUhRZ0ppQW9VbVZ1WkdWeVEyOXVkR1Y0ZENCOElFTnZiVzFwZEVOdmJuUmxlSFFwS1NBOVBUMGdUbTlEYjI1MFpYaDBLU2tnZTF4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pUYUc5MWJHUWdibTkwSUdGc2NtVmhaSGtnWW1VZ2QyOXlhMmx1Wnk1Y0lpQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHWnNkWE5vVUdGemMybDJaVVZtWm1WamRITW9LVHNnTHk4Z1NXWWdkR2hsSUhKdmIzUWdiM0lnWlhod2FYSmhkR2x2YmlCMGFXMWxJR2hoZG1VZ1kyaGhibWRsWkN3Z2RHaHliM2NnYjNWMElIUm9aU0JsZUdsemRHbHVaeUJ6ZEdGamExeHVJQ0FnSUM4dklHRnVaQ0J3Y21Wd1lYSmxJR0VnWm5KbGMyZ2diMjVsTGlCUGRHaGxjbmRwYzJVZ2QyVW5iR3dnWTI5dWRHbHVkV1VnZDJobGNtVWdkMlVnYkdWbWRDQnZabVl1WEc1Y2JpQWdJQ0JwWmlBb2NtOXZkQ0FoUFQwZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MElIeDhJR1Y0Y0dseVlYUnBiMjVVYVcxbElDRTlQU0J5Wlc1a1pYSkZlSEJwY21GMGFXOXVWR2x0WlNReEtTQjdYRzRnSUNBZ0lDQndjbVZ3WVhKbFJuSmxjMmhUZEdGamF5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0J6ZEdGeWRGZHZjbXRQYmxCbGJtUnBibWRKYm5SbGNtRmpkR2x2Ym5Nb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lIMGdMeThnU1dZZ2QyVWdhR0YyWlNCaElIZHZjbXN0YVc0dGNISnZaM0psYzNNZ1ptbGlaWElzSUdsMElHMWxZVzV6SUhSb1pYSmxKM01nYzNScGJHd2dkMjl5YXlCMGJ5QmtiMXh1SUNBZ0lDOHZJR2x1SUhSb2FYTWdjbTl2ZEM1Y2JseHVYRzRnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOeklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnY0hKbGRrVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQmxlR1ZqZFhScGIyNURiMjUwWlhoME8xeHVJQ0FnSUNBZ1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENCOFBTQlNaVzVrWlhKRGIyNTBaWGgwTzF4dUlDQWdJQ0FnZG1GeUlIQnlaWFpFYVhOd1lYUmphR1Z5SUQwZ2NIVnphRVJwYzNCaGRHTm9aWElvS1R0Y2JpQWdJQ0FnSUhaaGNpQndjbVYyU1c1MFpYSmhZM1JwYjI1eklEMGdjSFZ6YUVsdWRHVnlZV04wYVc5dWN5aHliMjkwS1R0Y2JpQWdJQ0FnSUhOMFlYSjBWMjl5YTB4dmIzQlVhVzFsY2loM2IzSnJTVzVRY205bmNtVnpjeWs3WEc1Y2JpQWdJQ0FnSUdSdklIdGNiaUFnSUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ0lDQjNiM0pyVEc5dmNFTnZibU4xY25KbGJuUW9LVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvZEdoeWIzZHVWbUZzZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0JvWVc1a2JHVkZjbkp2Y2loeWIyOTBMQ0IwYUhKdmQyNVdZV3gxWlNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMGdkMmhwYkdVZ0tIUnlkV1VwTzF4dVhHNGdJQ0FnSUNCeVpYTmxkRU52Ym5SbGVIUkVaWEJsYm1SbGJtTnBaWE1vS1R0Y2JpQWdJQ0FnSUdWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFNCd2NtVjJSWGhsWTNWMGFXOXVRMjl1ZEdWNGREdGNiaUFnSUNBZ0lIQnZjRVJwYzNCaGRHTm9aWElvY0hKbGRrUnBjM0JoZEdOb1pYSXBPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhCdmNFbHVkR1Z5WVdOMGFXOXVjeWh3Y21WMlNXNTBaWEpoWTNScGIyNXpLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFVjRhWFJUZEdGMGRYTWdQVDA5SUZKdmIzUkdZWFJoYkVWeWNtOXlaV1FwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR1poZEdGc1JYSnliM0lnUFNCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSR1lYUmhiRVZ5Y205eU8xeHVJQ0FnSUNBZ0lDQnpkRzl3U1c1MFpYSnlkWEIwWldSWGIzSnJURzl2Y0ZScGJXVnlLQ2s3WEc0Z0lDQWdJQ0FnSUhCeVpYQmhjbVZHY21WemFGTjBZV05yS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdiV0Z5YTFKdmIzUlRkWE53Wlc1a1pXUkJkRlJwYldVb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdJQ0JsYm5OMWNtVlNiMjkwU1hOVFkyaGxaSFZzWldRb2NtOXZkQ2s3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJR1poZEdGc1JYSnliM0k3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6Y3lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdWeVpTZHpJSE4wYVd4c0lIZHZjbXNnYkdWbWRDQnZkbVZ5TGlCRmVHbDBJSGRwZEdodmRYUWdZMjl0YldsMGRHbHVaeTVjYmlBZ0lDQWdJQ0FnYzNSdmNFbHVkR1Z5Y25Wd2RHVmtWMjl5YTB4dmIzQlVhVzFsY2lncE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdWMlVnYm05M0lHaGhkbVVnWVNCamIyNXphWE4wWlc1MElIUnlaV1V1SUZSb1pTQnVaWGgwSUhOMFpYQWdhWE1nWldsMGFHVnlJSFJ2SUdOdmJXMXBkQ0JwZEN4Y2JpQWdJQ0FnSUNBZ0x5OGdiM0lzSUdsbUlITnZiV1YwYUdsdVp5QnpkWE53Wlc1a1pXUXNJSGRoYVhRZ2RHOGdZMjl0YldsMElHbDBJR0ZtZEdWeUlHRWdkR2x0Wlc5MWRDNWNiaUFnSUNBZ0lDQWdjM1J2Y0VacGJtbHphR1ZrVjI5eWEweHZiM0JVYVcxbGNpZ3BPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1ptbHVhWE5vWldSWGIzSnJJRDBnY205dmRDNW1hVzVwYzJobFpGZHZjbXNnUFNCeWIyOTBMbU4xY25KbGJuUXVZV3gwWlhKdVlYUmxPMXh1SUNBZ0lDQWdJQ0J5YjI5MExtWnBibWx6YUdWa1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnWm1sdWFYTm9RMjl1WTNWeWNtVnVkRkpsYm1SbGNpaHliMjkwTENCbWFXNXBjMmhsWkZkdmNtc3NJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1zSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWlc1emRYSmxVbTl2ZEVselUyTm9aV1IxYkdWa0tISnZiM1FwTzF4dVhHNGdJQ0FnSUNCcFppQW9jbTl2ZEM1allXeHNZbUZqYTA1dlpHVWdQVDA5SUc5eWFXZHBibUZzUTJGc2JHSmhZMnRPYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb1pTQjBZWE5ySUc1dlpHVWdjMk5vWldSMWJHVmtJR1p2Y2lCMGFHbHpJSEp2YjNRZ2FYTWdkR2hsSUhOaGJXVWdiMjVsSUhSb1lYUW5jMXh1SUNBZ0lDQWdJQ0F2THlCamRYSnlaVzUwYkhrZ1pYaGxZM1YwWldRdUlFNWxaV1FnZEc4Z2NtVjBkWEp1SUdFZ1kyOXVkR2x1ZFdGMGFXOXVMbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjR1Z5Wm05eWJVTnZibU4xY25KbGJuUlhiM0pyVDI1U2IyOTBMbUpwYm1Rb2JuVnNiQ3dnY205dmRDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNTFiR3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pwYm1semFFTnZibU4xY25KbGJuUlNaVzVrWlhJb2NtOXZkQ3dnWm1sdWFYTm9aV1JYYjNKckxDQmxlR2wwVTNSaGRIVnpMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBdkx5QlRaWFFnZEdocGN5QjBieUJ1ZFd4c0lIUnZJR2x1WkdsallYUmxJSFJvWlhKbEozTWdibThnYVc0dGNISnZaM0psYzNNZ2NtVnVaR1Z5TGx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdQU0J1ZFd4c08xeHVYRzRnSUhOM2FYUmphQ0FvWlhocGRGTjBZWFIxY3lrZ2UxeHVJQ0FnSUdOaGMyVWdVbTl2ZEVsdVkyOXRjR3hsZEdVNlhHNGdJQ0FnWTJGelpTQlNiMjkwUm1GMFlXeEZjbkp2Y21Wa09seHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVVtOXZkQ0JrYVdRZ2JtOTBJR052YlhCc1pYUmxMaUJVYUdseklHbHpJR0VnWW5WbklHbHVJRkpsWVdOMExsd2lJQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0x5OGdSbXh2ZHlCcmJtOTNjeUJoWW05MWRDQnBiblpoY21saGJuUXNJSE52SUdsMElHTnZiWEJzWVdsdWN5QnBaaUJKSUdGa1pDQmhJR0p5WldGclhHNGdJQ0FnTHk4Z2MzUmhkR1Z0Wlc1MExDQmlkWFFnWlhOc2FXNTBJR1J2WlhOdUozUWdhMjV2ZHlCaFltOTFkQ0JwYm5aaGNtbGhiblFzSUhOdklHbDBJR052YlhCc1lXbHVjMXh1SUNBZ0lDOHZJR2xtSUVrZ1pHOHVJR1Z6YkdsdWRDMWthWE5oWW14bExXNWxlSFF0YkdsdVpTQnVieTFtWVd4c2RHaHliM1ZuYUZ4dVhHNGdJQ0FnWTJGelpTQlNiMjkwUlhKeWIzSmxaRHBjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1NXWWdkR2hwY3lCM1lYTWdZVzRnWVhONWJtTWdjbVZ1WkdWeUxDQjBhR1VnWlhKeWIzSWdiV0Y1SUdoaGRtVWdhR0Z3Y0dWdVpXUWdaSFZsSUhSdlhHNGdJQ0FnSUNBZ0lDOHZJR0VnYlhWMFlYUnBiMjRnYVc0Z1lTQmpiMjVqZFhKeVpXNTBJR1YyWlc1MExpQlVjbmtnY21WdVpHVnlhVzVuSUc5dVpTQnRiM0psSUhScGJXVXNYRzRnSUNBZ0lDQWdJQzh2SUhONWJtTm9jbTl1YjNWemJIa3NJSFJ2SUhObFpTQnBaaUIwYUdVZ1pYSnliM0lnWjI5bGN5QmhkMkY1TGlCSlppQjBhR1Z5WlNCaGNtVmNiaUFnSUNBZ0lDQWdMeThnYkc5M1pYSWdjSEpwYjNKcGRIa2dkWEJrWVhSbGN5d2diR1YwSjNNZ2FXNWpiSFZrWlNCMGFHOXpaU3dnZEc5dkxDQnBiaUJqWVhObElIUm9aWGxjYmlBZ0lDQWdJQ0FnTHk4Z1ptbDRJSFJvWlNCcGJtTnZibk5wYzNSbGJtTjVMaUJTWlc1a1pYSWdZWFFnU1dSc1pTQjBieUJwYm1Oc2RXUmxJR0ZzYkNCMWNHUmhkR1Z6TGx4dUlDQWdJQ0FnSUNBdkx5QkpaaUJwZENCM1lYTWdTV1JzWlNCdmNpQk9aWFpsY2lCdmNpQnpiMjFsSUc1dmRDMTVaWFF0YVc1MlpXNTBaV1FnZEdsdFpTd2djbVZ1WkdWeVhHNGdJQ0FnSUNBZ0lDOHZJR0YwSUhSb1lYUWdkR2x0WlM1Y2JpQWdJQ0FnSUNBZ2JXRnlhMUp2YjNSRmVIQnBjbVZrUVhSVWFXMWxLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsSUQ0Z1NXUnNaU0EvSUVsa2JHVWdPaUJsZUhCcGNtRjBhVzl1VkdsdFpTazdJQzh2SUZkbElHRnpjM1Z0WlNCMGFHRjBJSFJvYVhNZ2MyVmpiMjVrSUhKbGJtUmxjaUJ3WVhOeklIZHBiR3dnWW1VZ2MzbHVZMmh5YjI1dmRYTmNiaUFnSUNBZ0lDQWdMeThnWVc1a0lIUm9aWEpsWm05eVpTQnViM1FnYUdsMElIUm9hWE1nY0dGMGFDQmhaMkZwYmk1Y2JseHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUdOaGMyVWdVbTl2ZEZOMWMzQmxibVJsWkRwY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2JXRnlhMUp2YjNSVGRYTndaVzVrWldSQmRGUnBiV1VvY205dmRDd2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQjJZWElnYkdGemRGTjFjM0JsYm1SbFpGUnBiV1VnUFNCeWIyOTBMbXhoYzNSVGRYTndaVzVrWldSVWFXMWxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGxlSEJwY21GMGFXOXVWR2x0WlNBOVBUMGdiR0Z6ZEZOMWMzQmxibVJsWkZScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCeWIyOTBMbTVsZUhSTGJtOTNibEJsYm1ScGJtZE1aWFpsYkNBOUlHZGxkRkpsYldGcGJtbHVaMFY0Y0dseVlYUnBiMjVVYVcxbEtHWnBibWx6YUdWa1YyOXlheWs3WEc0Z0lDQWdJQ0FnSUgwZ0x5OGdWMlVnYUdGMlpTQmhiaUJoWTJObGNIUmhZbXhsSUd4dllXUnBibWNnYzNSaGRHVXVJRmRsSUc1bFpXUWdkRzhnWm1sbmRYSmxJRzkxZENCcFppQjNaVnh1SUNBZ0lDQWdJQ0F2THlCemFHOTFiR1FnYVcxdFpXUnBZWFJsYkhrZ1kyOXRiV2wwSUdsMElHOXlJSGRoYVhRZ1lTQmlhWFF1WEc0Z0lDQWdJQ0FnSUM4dklFbG1JSGRsSUdoaGRtVWdjSEp2WTJWemMyVmtJRzVsZHlCMWNHUmhkR1Z6SUdSMWNtbHVaeUIwYUdseklISmxibVJsY2l3Z2QyVWdiV0Y1SUc1dmQxeHVJQ0FnSUNBZ0lDQXZMeUJvWVhabElHRWdibVYzSUd4dllXUnBibWNnYzNSaGRHVWdjbVZoWkhrdUlGZGxJSGRoYm5RZ2RHOGdaVzV6ZFhKbElIUm9ZWFFnZDJVZ1kyOXRiV2wwWEc0Z0lDQWdJQ0FnSUM4dklIUm9ZWFFnWVhNZ2MyOXZiaUJoY3lCd2IzTnphV0pzWlM1Y2JseHVYRzRnSUNBZ0lDQWdJSFpoY2lCb1lYTk9iM1JRY205alpYTnpaV1JPWlhkVmNHUmhkR1Z6SUQwZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFRHRjBaWE4wVUhKdlkyVnpjMlZrUlhod2FYSmhkR2x2YmxScGJXVWdQVDA5SUZONWJtTTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjMDV2ZEZCeWIyTmxjM05sWkU1bGQxVndaR0YwWlhNZ0ppWWdMeThnWkc4Z2JtOTBJR1JsYkdGNUlHbG1JSGRsSjNKbElHbHVjMmxrWlNCaGJpQmhZM1FvS1NCelkyOXdaVnh1SUNBZ0lDQWdJQ0FoS0NCSmMxUm9hWE5TWlc1a1pYSmxja0ZqZEdsdVp5NWpkWEp5Wlc1MEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JSGRsSUdoaGRtVWdibTkwSUhCeWIyTmxjM05sWkNCaGJua2dibVYzSUhWd1pHRjBaWE1nWkhWeWFXNW5JSFJvYVhNZ2NHRnpjeXdnZEdobGJseHVJQ0FnSUNBZ0lDQWdJQzh2SUhSb2FYTWdhWE1nWldsMGFHVnlJR0VnY21WMGNua2diMllnWVc0Z1pYaHBjM1JwYm1jZ1ptRnNiR0poWTJzZ2MzUmhkR1VnYjNJZ1lWeHVJQ0FnSUNBZ0lDQWdJQzh2SUdocFpHUmxiaUIwY21WbExpQklhV1JrWlc0Z2RISmxaWE1nYzJodmRXeGtiaWQwSUdKbElHSmhkR05vWldRZ2QybDBhQ0J2ZEdobGNpQjNiM0pyWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdZVzVrSUdGbWRHVnlJSFJvWVhRbmN5Qm1hWGhsWkNCcGRDQmpZVzRnYjI1c2VTQmlaU0JoSUhKbGRISjVMaUJYWlNkeVpTQm5iMmx1WnlCMGIxeHVJQ0FnSUNBZ0lDQWdJQzh2SUhSb2NtOTBkR3hsSUdOdmJXMXBkSFJwYm1jZ2NtVjBjbWxsY3lCemJ5QjBhR0YwSUhkbElHUnZiaWQwSUhOb2IzY2dkRzl2SUcxaGJubGNiaUFnSUNBZ0lDQWdJQ0F2THlCc2IyRmthVzVuSUhOMFlYUmxjeUIwYjI4Z2NYVnBZMnRzZVM1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnYlhOVmJuUnBiRlJwYldWdmRYUWdQU0JuYkc5aVlXeE5iM04wVW1WalpXNTBSbUZzYkdKaFkydFVhVzFsSUNzZ1JrRk1URUpCUTB0ZlZFaFNUMVJVVEVWZlRWTWdMU0J1YjNjb0tUc2dMeThnUkc5dUozUWdZbTkwYUdWeUlIZHBkR2dnWVNCMlpYSjVJSE5vYjNKMElITjFjM0JsYm5ObElIUnBiV1V1WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYlhOVmJuUnBiRlJwYldWdmRYUWdQaUF4TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFaGhjMUJsYm1ScGJtZFFhVzVuS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhaaGNpQnNZWE4wVUdsdVoyVmtWR2x0WlNBOUlISnZiM1F1YkdGemRGQnBibWRsWkZScGJXVTdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d4aGMzUlFhVzVuWldSVWFXMWxJRDA5UFNCT2IxZHZjbXNnZkh3Z2JHRnpkRkJwYm1kbFpGUnBiV1VnUGowZ1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QlVhR2x6SUhKbGJtUmxjaUIzWVhNZ2NHbHVaMlZrSUdKMWRDQjNaU0JrYVdSdUozUWdaMlYwSUhSdklISmxjM1JoY25SY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBdkx5QmxZWEpzYVdWeUlITnZJSFJ5ZVNCeVpYTjBZWEowYVc1bklHNXZkeUJwYm5OMFpXRmtMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEp2YjNRdWJHRnpkRkJwYm1kbFpGUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J3Y21Wd1lYSmxSbkpsYzJoVGRHRmpheWh5YjI5MExDQmxlSEJwY21GMGFXOXVWR2x0WlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2RtRnlJRzVsZUhSVWFXMWxJRDBnWjJWMFRtVjRkRkp2YjNSRmVIQnBjbUYwYVc5dVZHbHRaVlJ2VjI5eWEwOXVLSEp2YjNRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9ibVY0ZEZScGJXVWdJVDA5SUU1dlYyOXlheUFtSmlCdVpYaDBWR2x0WlNBaFBUMGdaWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdWR2hsY21VbmN5QmhaR1JwZEdsdmJtRnNJSGR2Y21zZ2IyNGdkR2hwY3lCeWIyOTBMbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0d4aGMzUlRkWE53Wlc1a1pXUlVhVzFsSUNFOVBTQk9iMWR2Y21zZ0ppWWdiR0Z6ZEZOMWMzQmxibVJsWkZScGJXVWdJVDA5SUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElITm9iM1ZzWkNCd2NtVm1aWElnZEc4Z2NtVnVaR1Z5SUhSb1pTQm1ZV3hzWW1GamF5QnZaaUJoZENCMGFHVWdiR0Z6ZEZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCemRYTndaVzVrWldRZ2JHVjJaV3d1SUZCcGJtY2dkR2hsSUd4aGMzUWdjM1Z6Y0dWdVpHVmtJR3hsZG1Wc0lIUnZJSFJ5ZVZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCeVpXNWtaWEpwYm1jZ2FYUWdZV2RoYVc0dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVZ1BTQnNZWE4wVTNWemNHVnVaR1ZrVkdsdFpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJQzh2SUZSb1pTQnlaVzVrWlhJZ2FYTWdjM1Z6Y0dWdVpHVmtMQ0JwZENCb1lYTnVKM1FnZEdsdFpXUWdiM1YwTENCaGJtUWdkR2hsY21VbmN5QnViMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdiRzkzWlhJZ2NISnBiM0pwZEhrZ2QyOXlheUIwYnlCa2J5NGdTVzV6ZEdWaFpDQnZaaUJqYjIxdGFYUjBhVzVuSUhSb1pTQm1ZV3hzWW1GamExeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2FXMXRaV1JwWVhSbGJIa3NJSGRoYVhRZ1ptOXlJRzF2Y21VZ1pHRjBZU0IwYnlCaGNuSnBkbVV1WEc1Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnY205dmRDNTBhVzFsYjNWMFNHRnVaR3hsSUQwZ2MyTm9aV1IxYkdWVWFXMWxiM1YwS0dOdmJXMXBkRkp2YjNRdVltbHVaQ2h1ZFd4c0xDQnliMjkwS1N3Z2JYTlZiblJwYkZScGJXVnZkWFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5SUM4dklGUm9aU0IzYjNKcklHVjRjR2x5WldRdUlFTnZiVzFwZENCcGJXMWxaR2xoZEdWc2VTNWNibHh1WEc0Z0lDQWdJQ0FnSUdOdmJXMXBkRkp2YjNRb2NtOXZkQ2s3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdZMkZ6WlNCU2IyOTBVM1Z6Y0dWdVpHVmtWMmwwYUVSbGJHRjVPbHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0J0WVhKclVtOXZkRk4xYzNCbGJtUmxaRUYwVkdsdFpTaHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQmZiR0Z6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExteGhjM1JUZFhOd1pXNWtaV1JVYVcxbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNobGVIQnBjbUYwYVc5dVZHbHRaU0E5UFQwZ1gyeGhjM1JUZFhOd1pXNWtaV1JVYVcxbEtTQjdYRzRnSUNBZ0lDQWdJQ0FnY205dmRDNXVaWGgwUzI1dmQyNVFaVzVrYVc1blRHVjJaV3dnUFNCblpYUlNaVzFoYVc1cGJtZEZlSEJwY21GMGFXOXVWR2x0WlNobWFXNXBjMmhsWkZkdmNtc3BPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0F2THlCa2J5QnViM1FnWkdWc1lYa2dhV1lnZDJVbmNtVWdhVzV6YVdSbElHRnVJR0ZqZENncElITmpiM0JsWEc0Z0lDQWdJQ0FnSUNFb0lFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5MbU4xY25KbGJuUXBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdWMlVuY21VZ2MzVnpjR1Z1WkdWa0lHbHVJR0VnYzNSaGRHVWdkR2hoZENCemFHOTFiR1FnWW1VZ1lYWnZhV1JsWkM0Z1YyVW5iR3dnZEhKNUlIUnZYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1lYWnZhV1FnWTI5dGJXbDBkR2x1WnlCcGRDQm1iM0lnWVhNZ2JHOXVaeUJoY3lCMGFHVWdkR2x0Wlc5MWRITWdiR1YwSUhWekxseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSSVlYTlFaVzVrYVc1blVHbHVaeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUY5c1lYTjBVR2x1WjJWa1ZHbHRaU0E5SUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGZiR0Z6ZEZCcGJtZGxaRlJwYldVZ1BUMDlJRTV2VjI5eWF5QjhmQ0JmYkdGemRGQnBibWRsWkZScGJXVWdQajBnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdMeThnVkdocGN5QnlaVzVrWlhJZ2QyRnpJSEJwYm1kbFpDQmlkWFFnZDJVZ1pHbGtiaWQwSUdkbGRDQjBieUJ5WlhOMFlYSjBJR1ZoY214cFpYSmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdjMjhnZEhKNUlISmxjM1JoY25ScGJtY2dibTkzSUdsdWMzUmxZV1F1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEp2YjNRdWJHRnpkRkJwYm1kbFpGUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjSEpsY0dGeVpVWnlaWE5vVTNSaFkyc29jbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYMjVsZUhSVWFXMWxJRDBnWjJWMFRtVjRkRkp2YjNSRmVIQnBjbUYwYVc5dVZHbHRaVlJ2VjI5eWEwOXVLSEp2YjNRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tGOXVaWGgwVkdsdFpTQWhQVDBnVG05WGIzSnJJQ1ltSUY5dVpYaDBWR2x0WlNBaFBUMGdaWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklGUm9aWEpsSjNNZ1lXUmthWFJwYjI1aGJDQjNiM0pySUc5dUlIUm9hWE1nY205dmRDNWNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoZmJHRnpkRk4xYzNCbGJtUmxaRlJwYldVZ0lUMDlJRTV2VjI5eWF5QW1KaUJmYkdGemRGTjFjM0JsYm1SbFpGUnBiV1VnSVQwOUlHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTQnphRzkxYkdRZ2NISmxabVZ5SUhSdklISmxibVJsY2lCMGFHVWdabUZzYkdKaFkyc2diMllnWVhRZ2RHaGxJR3hoYzNSY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUhOMWMzQmxibVJsWkNCc1pYWmxiQzRnVUdsdVp5QjBhR1VnYkdGemRDQnpkWE53Wlc1a1pXUWdiR1YyWld3Z2RHOGdkSEo1WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJ5Wlc1a1pYSnBibWNnYVhRZ1lXZGhhVzR1WEc0Z0lDQWdJQ0FnSUNBZ0lDQnliMjkwTG14aGMzUlFhVzVuWldSVWFXMWxJRDBnWDJ4aGMzUlRkWE53Wlc1a1pXUlVhVzFsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjl0YzFWdWRHbHNWR2x0Wlc5MWREdGNibHh1SUNBZ0lDQWdJQ0FnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUk1ZWFJsYzNSVGRYTndaVzV6WlZScGJXVnZkWFFnSVQwOUlGTjVibU1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUZkbElHaGhkbVVnY0hKdlkyVnpjMlZrSUdFZ2MzVnpjR1Z1YzJVZ1kyOXVabWxuSUhkb2IzTmxJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTQjNaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdZMkZ1SUhWelpTQmhjeUIwYUdVZ2RHbHRaVzkxZEM1Y2JpQWdJQ0FnSUNBZ0lDQWdJRjl0YzFWdWRHbHNWR2x0Wlc5MWRDQTlJR1Y0Y0dseVlYUnBiMjVVYVcxbFZHOU5jeWgzYjNKclNXNVFjbTluY21WemMxSnZiM1JNWVhSbGMzUlRkWE53Wlc1elpWUnBiV1Z2ZFhRcElDMGdibTkzS0NrN1hHNGdJQ0FnSUNBZ0lDQWdmU0JsYkhObElHbG1JQ2gzYjNKclNXNVFjbTluY21WemMxSnZiM1JNWVhSbGMzUlFjbTlqWlhOelpXUkZlSEJwY21GMGFXOXVWR2x0WlNBOVBUMGdVM2x1WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJ6YUc5MWJHUWdibVYyWlhJZ2JtOXliV0ZzYkhrZ2FHRndjR1Z1SUdKbFkyRjFjMlVnYjI1c2VTQnVaWGNnZFhCa1lYUmxjMXh1SUNBZ0lDQWdJQ0FnSUNBZ0x5OGdZMkYxYzJVZ1pHVnNZWGxsWkNCemRHRjBaWE1zSUhOdklIZGxJSE5vYjNWc1pDQm9ZWFpsSUhCeWIyTmxjM05sWkNCemIyMWxkR2hwYm1jdVhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCSWIzZGxkbVZ5TENCMGFHbHpJR052ZFd4a0lHRnNjMjhnYUdGd2NHVnVJR2x1SUdGdUlHOW1abk5qY21WbGJpQjBjbVZsTGx4dUlDQWdJQ0FnSUNBZ0lDQWdYMjF6Vlc1MGFXeFVhVzFsYjNWMElEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2QyVWdaRzl1SjNRZ2FHRjJaU0JoSUhOMWMzQmxibk5sSUdOdmJtWnBaeXdnZDJVbmNtVWdaMjlwYm1jZ2RHOGdkWE5sSUdGY2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUdobGRYSnBjM1JwWXlCMGJ5QmtaWFJsY20xcGJtVWdhRzkzSUd4dmJtY2dkMlVnWTJGdUlITjFjM0JsYm1RdVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ1pYWmxiblJVYVcxbFRYTWdQU0JwYm1abGNsUnBiV1ZHY205dFJYaHdhWEpoZEdsdmJsUnBiV1VvZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVEdGMFpYTjBVSEp2WTJWemMyVmtSWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHTjFjbkpsYm5SVWFXMWxUWE1nUFNCdWIzY29LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUIwYVcxbFZXNTBhV3hGZUhCcGNtRjBhVzl1VFhNZ1BTQmxlSEJwY21GMGFXOXVWR2x0WlZSdlRYTW9aWGh3YVhKaGRHbHZibFJwYldVcElDMGdZM1Z5Y21WdWRGUnBiV1ZOY3p0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCMGFXMWxSV3hoY0hObFpDQTlJR04xY25KbGJuUlVhVzFsVFhNZ0xTQmxkbVZ1ZEZScGJXVk5jenRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hScGJXVkZiR0Z3YzJWa0lEd2dNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0F2THlCWFpTQm5aWFFnZEdocGN5QjNjbTl1WnlCemIyMWxJSFJwYldVZ2MybHVZMlVnZDJVZ1pYTjBhVzFoZEdVZ2RHaGxJSFJwYldVdVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhScGJXVkZiR0Z3YzJWa0lEMGdNRHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1gyMXpWVzUwYVd4VWFXMWxiM1YwSUQwZ2FtNWtLSFJwYldWRmJHRndjMlZrS1NBdElIUnBiV1ZGYkdGd2MyVmtPeUF2THlCRGJHRnRjQ0IwYUdVZ2RHbHRaVzkxZENCMGJ5QjBhR1VnWlhod2FYSmhkR2x2YmlCMGFXMWxMaUJVVDBSUE9pQlBibU5sSUhSb1pWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1pYWmxiblFnZEdsdFpTQnBjeUJsZUdGamRDQnBibk4wWldGa0lHOW1JR2x1Wm1WeWNtVmtJR1p5YjIwZ1pYaHdhWEpoZEdsdmJpQjBhVzFsWEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUIzWlNCa2IyNG5kQ0J1WldWa0lIUm9hWE11WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFXMWxWVzUwYVd4RmVIQnBjbUYwYVc5dVRYTWdQQ0JmYlhOVmJuUnBiRlJwYldWdmRYUXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdYMjF6Vlc1MGFXeFVhVzFsYjNWMElEMGdkR2x0WlZWdWRHbHNSWGh3YVhKaGRHbHZiazF6TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUgwZ0x5OGdSRzl1SjNRZ1ltOTBhR1Z5SUhkcGRHZ2dZU0IyWlhKNUlITm9iM0owSUhOMWMzQmxibk5sSUhScGJXVXVYRzVjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hmYlhOVmJuUnBiRlJwYldWdmRYUWdQaUF4TUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaGxJSEpsYm1SbGNpQnBjeUJ6ZFhOd1pXNWtaV1FzSUdsMElHaGhjMjRuZENCMGFXMWxaQ0J2ZFhRc0lHRnVaQ0IwYUdWeVpTZHpJRzV2WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJzYjNkbGNpQndjbWx2Y21sMGVTQjNiM0pySUhSdklHUnZMaUJKYm5OMFpXRmtJRzltSUdOdmJXMXBkSFJwYm1jZ2RHaGxJR1poYkd4aVlXTnJYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QnBiVzFsWkdsaGRHVnNlU3dnZDJGcGRDQm1iM0lnYlc5eVpTQmtZWFJoSUhSdklHRnljbWwyWlM1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEp2YjNRdWRHbHRaVzkxZEVoaGJtUnNaU0E5SUhOamFHVmtkV3hsVkdsdFpXOTFkQ2hqYjIxdGFYUlNiMjkwTG1KcGJtUW9iblZzYkN3Z2NtOXZkQ2tzSUY5dGMxVnVkR2xzVkdsdFpXOTFkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDBnTHk4Z1ZHaGxJSGR2Y21zZ1pYaHdhWEpsWkM0Z1EyOXRiV2wwSUdsdGJXVmthV0YwWld4NUxseHVYRzVjYmlBZ0lDQWdJQ0FnWTI5dGJXbDBVbTl2ZENoeWIyOTBLVHRjYmlBZ0lDQWdJQ0FnWW5KbFlXczdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQmpZWE5sSUZKdmIzUkRiMjF3YkdWMFpXUTZYRzRnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQzh2SUZSb1pTQjNiM0pySUdOdmJYQnNaWFJsWkM0Z1VtVmhaSGtnZEc4Z1kyOXRiV2wwTGx4dUlDQWdJQ0FnSUNCcFppQW9JQzh2SUdSdklHNXZkQ0JrWld4aGVTQnBaaUIzWlNkeVpTQnBibk5wWkdVZ1lXNGdZV04wS0NrZ2MyTnZjR1ZjYmlBZ0lDQWdJQ0FnSVNnZ1NYTlVhR2x6VW1WdVpHVnlaWEpCWTNScGJtY3VZM1Z5Y21WdWRDa2dKaVlnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVEdGMFpYTjBVSEp2WTJWemMyVmtSWGh3YVhKaGRHbHZibFJwYldVZ0lUMDlJRk41Ym1NZ0ppWWdkMjl5YTBsdVVISnZaM0psYzNOU2IyOTBRMkZ1VTNWemNHVnVaRlZ6YVc1blEyOXVabWxuSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnU1dZZ2QyVWdhR0YyWlNCbGVHTmxaV1JsWkNCMGFHVWdiV2x1YVcxMWJTQnNiMkZrYVc1bklHUmxiR0Y1TENCM2FHbGphQ0J3Y205aVlXSnNlVnh1SUNBZ0lDQWdJQ0FnSUM4dklHMWxZVzV6SUhkbElHaGhkbVVnYzJodmQyNGdZU0J6Y0dsdWJtVnlJR0ZzY21WaFpIa3NJSGRsSUcxcFoyaDBJR2hoZG1VZ2RHOGdjM1Z6Y0dWdVpGeHVJQ0FnSUNBZ0lDQWdJQzh2SUdFZ1ltbDBJR3h2Ym1kbGNpQjBieUJsYm5OMWNtVWdkR2hoZENCMGFHVWdjM0JwYm01bGNpQnBjeUJ6YUc5M2JpQm1iM0pjYmlBZ0lDQWdJQ0FnSUNBdkx5QmxibTkxWjJnZ2RHbHRaUzVjYmlBZ0lDQWdJQ0FnSUNCMllYSWdYMjF6Vlc1MGFXeFVhVzFsYjNWME1pQTlJR052YlhCMWRHVk5jMVZ1ZEdsc1UzVnpjR1Z1YzJWTWIyRmthVzVuUkdWc1lYa29kMjl5YTBsdVVISnZaM0psYzNOU2IyOTBUR0YwWlhOMFVISnZZMlZ6YzJWa1JYaHdhWEpoZEdsdmJsUnBiV1VzSUdWNGNHbHlZWFJwYjI1VWFXMWxMQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JEWVc1VGRYTndaVzVrVlhOcGJtZERiMjVtYVdjcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tGOXRjMVZ1ZEdsc1ZHbHRaVzkxZERJZ1BpQXhNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdiV0Z5YTFKdmIzUlRkWE53Wlc1a1pXUkJkRlJwYldVb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtOXZkQzUwYVcxbGIzVjBTR0Z1Wkd4bElEMGdjMk5vWldSMWJHVlVhVzFsYjNWMEtHTnZiVzFwZEZKdmIzUXVZbWx1WkNodWRXeHNMQ0J5YjI5MEtTd2dYMjF6Vlc1MGFXeFVhVzFsYjNWME1pazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JqYjIxdGFYUlNiMjkwS0hKdmIzUXBPMXh1SUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVmJtdHViM2R1SUhKdmIzUWdaWGhwZENCemRHRjBkWE11WENJZ0tUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdmVnh1ZlNBdkx5QlVhR2x6SUdseklIUm9aU0JsYm5SeWVTQndiMmx1ZENCbWIzSWdjM2x1WTJoeWIyNXZkWE1nZEdGemEzTWdkR2hoZENCa2IyNG5kQ0JuYjF4dUx5OGdkR2h5YjNWbmFDQlRZMmhsWkhWc1pYSmNibHh1WEc1bWRXNWpkR2x2YmlCd1pYSm1iM0p0VTNsdVkxZHZjbXRQYmxKdmIzUW9jbTl2ZENrZ2UxeHVJQ0F2THlCRGFHVmpheUJwWmlCMGFHVnlaU2R6SUdWNGNHbHlaV1FnZDI5eWF5QnZiaUIwYUdseklISnZiM1F1SUU5MGFHVnlkMmx6WlN3Z2NtVnVaR1Z5SUdGMElGTjVibU11WEc0Z0lIWmhjaUJzWVhOMFJYaHdhWEpsWkZScGJXVWdQU0J5YjI5MExteGhjM1JGZUhCcGNtVmtWR2x0WlR0Y2JpQWdkbUZ5SUdWNGNHbHlZWFJwYjI1VWFXMWxJRDBnYkdGemRFVjRjR2x5WldSVWFXMWxJQ0U5UFNCT2IxZHZjbXNnUHlCc1lYTjBSWGh3YVhKbFpGUnBiV1VnT2lCVGVXNWpPMXh1WEc0Z0lHbG1JQ2doS0NobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUNZZ0tGSmxibVJsY2tOdmJuUmxlSFFnZkNCRGIyMXRhWFJEYjI1MFpYaDBLU2tnUFQwOUlFNXZRMjl1ZEdWNGRDa3BJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVGFHOTFiR1FnYm05MElHRnNjbVZoWkhrZ1ltVWdkMjl5YTJsdVp5NWNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdac2RYTm9VR0Z6YzJsMlpVVm1abVZqZEhNb0tUc2dMeThnU1dZZ2RHaGxJSEp2YjNRZ2IzSWdaWGh3YVhKaGRHbHZiaUIwYVcxbElHaGhkbVVnWTJoaGJtZGxaQ3dnZEdoeWIzY2diM1YwSUhSb1pTQmxlR2x6ZEdsdVp5QnpkR0ZqYTF4dUlDQXZMeUJoYm1RZ2NISmxjR0Z5WlNCaElHWnlaWE5vSUc5dVpTNGdUM1JvWlhKM2FYTmxJSGRsSjJ4c0lHTnZiblJwYm5WbElIZG9aWEpsSUhkbElHeGxablFnYjJabUxseHVYRzRnSUdsbUlDaHliMjkwSUNFOVBTQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdmSHdnWlhod2FYSmhkR2x2YmxScGJXVWdJVDA5SUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEpERXBJSHRjYmlBZ0lDQndjbVZ3WVhKbFJuSmxjMmhUZEdGamF5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdjM1JoY25SWGIzSnJUMjVRWlc1a2FXNW5TVzUwWlhKaFkzUnBiMjV6S0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnZlNBdkx5QkpaaUIzWlNCb1lYWmxJR0VnZDI5eWF5MXBiaTF3Y205bmNtVnpjeUJtYVdKbGNpd2dhWFFnYldWaGJuTWdkR2hsY21VbmN5QnpkR2xzYkNCM2IzSnJJSFJ2SUdSdlhHNGdJQzh2SUdsdUlIUm9hWE1nY205dmRDNWNibHh1WEc0Z0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIWmhjaUJ3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlHVjRaV04xZEdsdmJrTnZiblJsZUhRN1hHNGdJQ0FnWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0I4UFNCU1pXNWtaWEpEYjI1MFpYaDBPMXh1SUNBZ0lIWmhjaUJ3Y21WMlJHbHpjR0YwWTJobGNpQTlJSEIxYzJoRWFYTndZWFJqYUdWeUtDazdYRzRnSUNBZ2RtRnlJSEJ5WlhaSmJuUmxjbUZqZEdsdmJuTWdQU0J3ZFhOb1NXNTBaWEpoWTNScGIyNXpLSEp2YjNRcE8xeHVJQ0FnSUhOMFlYSjBWMjl5YTB4dmIzQlVhVzFsY2loM2IzSnJTVzVRY205bmNtVnpjeWs3WEc1Y2JpQWdJQ0JrYnlCN1hHNGdJQ0FnSUNCMGNua2dlMXh1SUNBZ0lDQWdJQ0IzYjNKclRHOXZjRk41Ym1Nb0tUdGNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNoMGFISnZkMjVXWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0JvWVc1a2JHVkZjbkp2Y2loeWIyOTBMQ0IwYUhKdmQyNVdZV3gxWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCM2FHbHNaU0FvZEhKMVpTazdYRzVjYmlBZ0lDQnlaWE5sZEVOdmJuUmxlSFJFWlhCbGJtUmxibU5wWlhNb0tUdGNiaUFnSUNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwZ2NISmxka1Y0WldOMWRHbHZia052Ym5SbGVIUTdYRzRnSUNBZ2NHOXdSR2x6Y0dGMFkyaGxjaWh3Y21WMlJHbHpjR0YwWTJobGNpazdYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQndiM0JKYm5SbGNtRmpkR2x2Ym5Nb2NISmxka2x1ZEdWeVlXTjBhVzl1Y3lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFVjRhWFJUZEdGMGRYTWdQVDA5SUZKdmIzUkdZWFJoYkVWeWNtOXlaV1FwSUh0Y2JpQWdJQ0FnSUhaaGNpQm1ZWFJoYkVWeWNtOXlJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwUm1GMFlXeEZjbkp2Y2p0Y2JpQWdJQ0FnSUhOMGIzQkpiblJsY25KMWNIUmxaRmR2Y210TWIyOXdWR2x0WlhJb0tUdGNiaUFnSUNBZ0lIQnlaWEJoY21WR2NtVnphRk4wWVdOcktISnZiM1FzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJRzFoY210U2IyOTBVM1Z6Y0dWdVpHVmtRWFJVYVcxbEtISnZiM1FzSUdWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQWdJR1Z1YzNWeVpWSnZiM1JKYzFOamFHVmtkV3hsWkNoeWIyOTBLVHRjYmlBZ0lDQWdJSFJvY205M0lHWmhkR0ZzUlhKeWIzSTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOeklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQXZMeUJVYUdseklHbHpJR0VnYzNsdVl5QnlaVzVrWlhJc0lITnZJSGRsSUhOb2IzVnNaQ0JvWVhabElHWnBibWx6YUdWa0lIUm9aU0IzYUc5c1pTQjBjbVZsTGx4dUlDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVEyRnVibTkwSUdOdmJXMXBkQ0JoYmlCcGJtTnZiWEJzWlhSbElISnZiM1F1SUZSb2FYTWdaWEp5YjNJZ2FYTWdiR2xyWld4NUlHTmhkWE5sWkNCaWVTQmhJR0oxWnlCcGJpQlNaV0ZqZEM0Z1VHeGxZWE5sSUdacGJHVWdZVzRnYVhOemRXVXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0F2THlCWFpTQnViM2NnYUdGMlpTQmhJR052Ym5OcGMzUmxiblFnZEhKbFpTNGdRbVZqWVhWelpTQjBhR2x6SUdseklHRWdjM2x1WXlCeVpXNWtaWElzSUhkbFhHNGdJQ0FnSUNBdkx5QjNhV3hzSUdOdmJXMXBkQ0JwZENCbGRtVnVJR2xtSUhOdmJXVjBhR2x1WnlCemRYTndaVzVrWldRdVhHNGdJQ0FnSUNCemRHOXdSbWx1YVhOb1pXUlhiM0pyVEc5dmNGUnBiV1Z5S0NrN1hHNGdJQ0FnSUNCeWIyOTBMbVpwYm1semFHVmtWMjl5YXlBOUlISnZiM1F1WTNWeWNtVnVkQzVoYkhSbGNtNWhkR1U3WEc0Z0lDQWdJQ0J5YjI5MExtWnBibWx6YUdWa1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ0lDQWdJR1pwYm1semFGTjVibU5TWlc1a1pYSW9jbTl2ZENrN1hHNGdJQ0FnZlNBdkx5QkNaV1p2Y21VZ1pYaHBkR2x1Wnl3Z2JXRnJaU0J6ZFhKbElIUm9aWEpsSjNNZ1lTQmpZV3hzWW1GamF5QnpZMmhsWkhWc1pXUWdabTl5SUhSb1pTQnVaWGgwWEc0Z0lDQWdMeThnY0dWdVpHbHVaeUJzWlhabGJDNWNibHh1WEc0Z0lDQWdaVzV6ZFhKbFVtOXZkRWx6VTJOb1pXUjFiR1ZrS0hKdmIzUXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzUxYkd3N1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdacGJtbHphRk41Ym1OU1pXNWtaWElvY205dmRDa2dlMXh1SUNBdkx5QlRaWFFnZEdocGN5QjBieUJ1ZFd4c0lIUnZJR2x1WkdsallYUmxJSFJvWlhKbEozTWdibThnYVc0dGNISnZaM0psYzNNZ2NtVnVaR1Z5TGx4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUWdQU0J1ZFd4c08xeHVJQ0JqYjIxdGFYUlNiMjkwS0hKdmIzUXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1pteDFjMmhFYVhOamNtVjBaVlZ3WkdGMFpYTW9LU0I3WEc0Z0lDOHZJRlJQUkU4NklGTm9iM1ZzWkNCaVpTQmhZbXhsSUhSdklHWnNkWE5vSUdsdWMybGtaU0JpWVhSamFHVmtWWEJrWVhSbGN5d2dZblYwSUc1dmRDQnBibk5wWkdVZ1lHRmpkR0F1WEc0Z0lDOHZJRWh2ZDJWMlpYSXNJR0JoWTNSZ0lIVnpaWE1nWUdKaGRHTm9aV1JWY0dSaGRHVnpZQ3dnYzI4Z2RHaGxjbVVuY3lCdWJ5QjNZWGtnZEc4Z1pHbHpkR2x1WjNWcGMyaGNiaUFnTHk4Z2RHaHZjMlVnZEhkdklHTmhjMlZ6TGlCT1pXVmtJSFJ2SUdacGVDQjBhR2x6SUdKbFptOXlaU0JsZUhCdmMybHVaeUJtYkhWemFFUnBjMk55WlhSbFZYQmtZWFJsYzF4dUlDQXZMeUJoY3lCaElIQjFZbXhwWXlCQlVFa3VYRzRnSUdsbUlDZ29aWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQW1JQ2hDWVhSamFHVmtRMjl1ZEdWNGRDQjhJRkpsYm1SbGNrTnZiblJsZUhRZ2ZDQkRiMjF0YVhSRGIyNTBaWGgwS1NrZ0lUMDlJRTV2UTI5dWRHVjRkQ2tnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJR2xtSUNnb1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBbUlGSmxibVJsY2tOdmJuUmxlSFFwSUNFOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KM1Z1YzNSaFlteGxYMlpzZFhOb1JHbHpZM0psZEdWVmNHUmhkR1Z6T2lCRFlXNXViM1FnWm14MWMyZ2dkWEJrWVhSbGN5QjNhR1Z1SUZKbFlXTjBJR2x6SUNjZ0t5QW5ZV3h5WldGa2VTQnlaVzVrWlhKcGJtY3VKeWs3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0F2THlCWFpTZHlaU0JoYkhKbFlXUjVJSEpsYm1SbGNtbHVaeXdnYzI4Z2QyVWdZMkZ1SjNRZ2MzbHVZMmh5YjI1dmRYTnNlU0JtYkhWemFDQndaVzVrYVc1bklIZHZjbXN1WEc0Z0lDQWdMeThnVkdocGN5QnBjeUJ3Y205aVlXSnNlU0JoSUc1bGMzUmxaQ0JsZG1WdWRDQmthWE53WVhSamFDQjBjbWxuWjJWeVpXUWdZbmtnWVNCc2FXWmxZM2xqYkdVdlpXWm1aV04wTEZ4dUlDQWdJQzh2SUd4cGEyVWdZR1ZzTG1adlkzVnpLQ2xnTGlCRmVHbDBMbHh1WEc1Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JtYkhWemFGQmxibVJwYm1kRWFYTmpjbVYwWlZWd1pHRjBaWE1vS1RzZ0x5OGdTV1lnZEdobElHUnBjMk55WlhSbElIVndaR0YwWlhNZ2MyTm9aV1IxYkdWa0lIQmhjM05wZG1VZ1pXWm1aV04wY3l3Z1pteDFjMmdnZEdobGJTQnViM2NnYzI4Z2RHaGhkRnh1SUNBdkx5QjBhR1Y1SUdacGNtVWdZbVZtYjNKbElIUm9aU0J1WlhoMElITmxjbWxoYkNCbGRtVnVkQzVjYmx4dUlDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc1OVhHNW1kVzVqZEdsdmJpQnplVzVqVlhCa1lYUmxjeWhtYml3Z1lTd2dZaXdnWXlrZ2UxeHVJQ0J5WlhSMWNtNGdjblZ1VjJsMGFGQnlhVzl5YVhSNUpERW9TVzF0WldScFlYUmxVSEpwYjNKcGRIa3NJR1p1TG1KcGJtUW9iblZzYkN3Z1lTd2dZaXdnWXlrcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWJIVnphRkJsYm1ScGJtZEVhWE5qY21WMFpWVndaR0YwWlhNb0tTQjdYRzRnSUdsbUlDaHliMjkwYzFkcGRHaFFaVzVrYVc1blJHbHpZM0psZEdWVmNHUmhkR1Z6SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1JtOXlJR1ZoWTJnZ2NtOXZkQ0IzYVhSb0lIQmxibVJwYm1jZ1pHbHpZM0psZEdVZ2RYQmtZWFJsY3l3Z2MyTm9aV1IxYkdVZ1lTQmpZV3hzWW1GamF5QjBiMXh1SUNBZ0lDOHZJR2x0YldWa2FXRjBaV3g1SUdac2RYTm9JSFJvWlcwdVhHNGdJQ0FnZG1GeUlISnZiM1J6SUQwZ2NtOXZkSE5YYVhSb1VHVnVaR2x1WjBScGMyTnlaWFJsVlhCa1lYUmxjenRjYmlBZ0lDQnliMjkwYzFkcGRHaFFaVzVrYVc1blJHbHpZM0psZEdWVmNHUmhkR1Z6SUQwZ2JuVnNiRHRjYmlBZ0lDQnliMjkwY3k1bWIzSkZZV05vS0daMWJtTjBhVzl1SUNobGVIQnBjbUYwYVc5dVZHbHRaU3dnY205dmRDa2dlMXh1SUNBZ0lDQWdiV0Z5YTFKdmIzUkZlSEJwY21Wa1FYUlVhVzFsS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lHVnVjM1Z5WlZKdmIzUkpjMU5qYUdWa2RXeGxaQ2h5YjI5MEtUdGNiaUFnSUNCOUtUc2dMeThnVG05M0lHWnNkWE5vSUhSb1pTQnBiVzFsWkdsaGRHVWdjWFZsZFdVdVhHNWNiaUFnSUNCbWJIVnphRk41Ym1ORFlXeHNZbUZqYTFGMVpYVmxLQ2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRjBZMmhsWkZWd1pHRjBaWE1rTVNobWJpd2dZU2tnZTF4dUlDQjJZWElnY0hKbGRrVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQmxlR1ZqZFhScGIyNURiMjUwWlhoME8xeHVJQ0JsZUdWamRYUnBiMjVEYjI1MFpYaDBJSHc5SUVKaGRHTm9aV1JEYjI1MFpYaDBPMXh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWnVLR0VwTzF4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lHVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQndjbVYyUlhobFkzVjBhVzl1UTI5dWRHVjRkRHRjYmx4dUlDQWdJR2xtSUNobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQzh2SUVac2RYTm9JSFJvWlNCcGJXMWxaR2xoZEdVZ1kyRnNiR0poWTJ0eklIUm9ZWFFnZDJWeVpTQnpZMmhsWkhWc1pXUWdaSFZ5YVc1bklIUm9hWE1nWW1GMFkyaGNiaUFnSUNBZ0lHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdKaGRHTm9aV1JGZG1WdWRGVndaR0YwWlhNa01TaG1iaXdnWVNrZ2UxeHVJQ0IyWVhJZ2NISmxka1Y0WldOMWRHbHZia052Ym5SbGVIUWdQU0JsZUdWamRYUnBiMjVEYjI1MFpYaDBPMXh1SUNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwSUh3OUlFVjJaVzUwUTI5dWRHVjRkRHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQm1iaWhoS1R0Y2JpQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQmxlR1ZqZFhScGIyNURiMjUwWlhoMElEMGdjSEpsZGtWNFpXTjFkR2x2YmtOdmJuUmxlSFE3WEc1Y2JpQWdJQ0JwWmlBb1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOVBUMGdUbTlEYjI1MFpYaDBLU0I3WEc0Z0lDQWdJQ0F2THlCR2JIVnphQ0IwYUdVZ2FXMXRaV1JwWVhSbElHTmhiR3hpWVdOcmN5QjBhR0YwSUhkbGNtVWdjMk5vWldSMWJHVmtJR1IxY21sdVp5QjBhR2x6SUdKaGRHTm9YRzRnSUNBZ0lDQm1iSFZ6YUZONWJtTkRZV3hzWW1GamExRjFaWFZsS0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCa2FYTmpjbVYwWlZWd1pHRjBaWE1rTVNobWJpd2dZU3dnWWl3Z1l5d2daQ2tnZTF4dUlDQjJZWElnY0hKbGRrVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQmxlR1ZqZFhScGIyNURiMjUwWlhoME8xeHVJQ0JsZUdWamRYUnBiMjVEYjI1MFpYaDBJSHc5SUVScGMyTnlaWFJsUlhabGJuUkRiMjUwWlhoME8xeHVYRzRnSUhSeWVTQjdYRzRnSUNBZ0x5OGdVMmh2ZFd4a0lIUm9hWE5jYmlBZ0lDQnlaWFIxY200Z2NuVnVWMmwwYUZCeWFXOXlhWFI1SkRFb1ZYTmxja0pzYjJOcmFXNW5VSEpwYjNKcGRIa2tNU3dnWm00dVltbHVaQ2h1ZFd4c0xDQmhMQ0JpTENCakxDQmtLU2s3WEc0Z0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlIQnlaWFpGZUdWamRYUnBiMjVEYjI1MFpYaDBPMXh1WEc0Z0lDQWdhV1lnS0dWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFQwOUlFNXZRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdMeThnUm14MWMyZ2dkR2hsSUdsdGJXVmthV0YwWlNCallXeHNZbUZqYTNNZ2RHaGhkQ0IzWlhKbElITmphR1ZrZFd4bFpDQmtkWEpwYm1jZ2RHaHBjeUJpWVhSamFGeHVJQ0FnSUNBZ1pteDFjMmhUZVc1alEyRnNiR0poWTJ0UmRXVjFaU2dwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnZFc1aVlYUmphR1ZrVlhCa1lYUmxjeWhtYml3Z1lTa2dlMXh1SUNCMllYSWdjSEpsZGtWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwTzF4dUlDQmxlR1ZqZFhScGIyNURiMjUwWlhoMElDWTlJSDVDWVhSamFHVmtRMjl1ZEdWNGREdGNiaUFnWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0I4UFNCTVpXZGhZM2xWYm1KaGRHTm9aV1JEYjI1MFpYaDBPMXh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdjbVYwZFhKdUlHWnVLR0VwTzF4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lHVjRaV04xZEdsdmJrTnZiblJsZUhRZ1BTQndjbVYyUlhobFkzVjBhVzl1UTI5dWRHVjRkRHRjYmx4dUlDQWdJR2xtSUNobGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwOVBTQk9iME52Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQzh2SUVac2RYTm9JSFJvWlNCcGJXMWxaR2xoZEdVZ1kyRnNiR0poWTJ0eklIUm9ZWFFnZDJWeVpTQnpZMmhsWkhWc1pXUWdaSFZ5YVc1bklIUm9hWE1nWW1GMFkyaGNiaUFnSUNBZ0lHWnNkWE5vVTNsdVkwTmhiR3hpWVdOclVYVmxkV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUdac2RYTm9VM2x1WXlobWJpd2dZU2tnZTF4dUlDQnBaaUFvS0dWNFpXTjFkR2x2YmtOdmJuUmxlSFFnSmlBb1VtVnVaR1Z5UTI5dWRHVjRkQ0I4SUVOdmJXMXBkRU52Ym5SbGVIUXBLU0FoUFQwZ1RtOURiMjUwWlhoMEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKbWJIVnphRk41Ym1NZ2QyRnpJR05oYkd4bFpDQm1jbTl0SUdsdWMybGtaU0JoSUd4cFptVmplV05zWlNCdFpYUm9iMlF1SUVsMElHTmhibTV2ZENCaVpTQmpZV3hzWldRZ2QyaGxiaUJTWldGamRDQnBjeUJoYkhKbFlXUjVJSEpsYm1SbGNtbHVaeTVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlHVjRaV04xZEdsdmJrTnZiblJsZUhRN1hHNGdJR1Y0WldOMWRHbHZia052Ym5SbGVIUWdmRDBnUW1GMFkyaGxaRU52Ym5SbGVIUTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnlaWFIxY200Z2NuVnVWMmwwYUZCeWFXOXlhWFI1SkRFb1NXMXRaV1JwWVhSbFVISnBiM0pwZEhrc0lHWnVMbUpwYm1Rb2JuVnNiQ3dnWVNrcE8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJR1Y0WldOMWRHbHZia052Ym5SbGVIUWdQU0J3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZERzZ0x5OGdSbXgxYzJnZ2RHaGxJR2x0YldWa2FXRjBaU0JqWVd4c1ltRmphM01nZEdoaGRDQjNaWEpsSUhOamFHVmtkV3hsWkNCa2RYSnBibWNnZEdocGN5QmlZWFJqYUM1Y2JpQWdJQ0F2THlCT2IzUmxJSFJvWVhRZ2RHaHBjeUIzYVd4c0lHaGhjSEJsYmlCbGRtVnVJR2xtSUdKaGRHTm9aV1JWY0dSaGRHVnpJR2x6SUdocFoyaGxjaUIxY0Z4dUlDQWdJQzh2SUhSb1pTQnpkR0ZqYXk1Y2JseHVJQ0FnSUdac2RYTm9VM2x1WTBOaGJHeGlZV05yVVhWbGRXVW9LVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2NtVndZWEpsUm5KbGMyaFRkR0ZqYXloeWIyOTBMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNCeWIyOTBMbVpwYm1semFHVmtWMjl5YXlBOUlHNTFiR3c3WEc0Z0lISnZiM1F1Wm1sdWFYTm9aV1JGZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZG1GeUlIUnBiV1Z2ZFhSSVlXNWtiR1VnUFNCeWIyOTBMblJwYldWdmRYUklZVzVrYkdVN1hHNWNiaUFnYVdZZ0tIUnBiV1Z2ZFhSSVlXNWtiR1VnSVQwOUlHNXZWR2x0Wlc5MWRDa2dlMXh1SUNBZ0lDOHZJRlJvWlNCeWIyOTBJSEJ5WlhacGIzVnpJSE4xYzNCbGJtUmxaQ0JoYm1RZ2MyTm9aV1IxYkdWa0lHRWdkR2x0Wlc5MWRDQjBieUJqYjIxdGFYUWdZU0JtWVd4c1ltRmphMXh1SUNBZ0lDOHZJSE4wWVhSbExpQk9iM2NnZEdoaGRDQjNaU0JvWVhabElHRmtaR2wwYVc5dVlXd2dkMjl5YXl3Z1kyRnVZMlZzSUhSb1pTQjBhVzFsYjNWMExseHVJQ0FnSUhKdmIzUXVkR2x0Wlc5MWRFaGhibVJzWlNBOUlHNXZWR2x0Wlc5MWREc2dMeThnSkVac2IzZEdhWGhOWlNCRGIyMXdiR0ZwYm5NZ2JtOVVhVzFsYjNWMElHbHpJRzV2ZENCaElGUnBiV1Z2ZFhSSlJDd2daR1Z6Y0dsMFpTQjBhR1VnWTJobFkyc2dZV0p2ZG1WY2JseHVJQ0FnSUdOaGJtTmxiRlJwYldWdmRYUW9kR2x0Wlc5MWRFaGhibVJzWlNrN1hHNGdJSDFjYmx4dUlDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQjJZWElnYVc1MFpYSnlkWEIwWldSWGIzSnJJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjbVYwZFhKdU8xeHVYRzRnSUNBZ2QyaHBiR1VnS0dsdWRHVnljblZ3ZEdWa1YyOXlheUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnZFc1M2FXNWtTVzUwWlhKeWRYQjBaV1JYYjNKcktHbHVkR1Z5Y25Wd2RHVmtWMjl5YXlrN1hHNGdJQ0FnSUNCcGJuUmxjbkoxY0hSbFpGZHZjbXNnUFNCcGJuUmxjbkoxY0hSbFpGZHZjbXN1Y21WMGRYSnVPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkQ0E5SUhKdmIzUTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpJRDBnWTNKbFlYUmxWMjl5YTBsdVVISnZaM0psYzNNb2NtOXZkQzVqZFhKeVpXNTBMQ0J1ZFd4c0tUdGNiaUFnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TQTlJR1Y0Y0dseVlYUnBiMjVVYVcxbE8xeHVJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwZ1VtOXZkRWx1WTI5dGNHeGxkR1U3WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFWmhkR0ZzUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JNWVhSbGMzUlFjbTlqWlhOelpXUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlGTjVibU03WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFeGhkR1Z6ZEZOMWMzQmxibk5sVkdsdFpXOTFkQ0E5SUZONWJtTTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEVOaGJsTjFjM0JsYm1SVmMybHVaME52Ym1acFp5QTlJRzUxYkd3N1hHNGdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRTVsZUhSVmJuQnliMk5sYzNObFpGVndaR0YwWlZScGJXVWdQU0JPYjFkdmNtczdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZEVoaGMxQmxibVJwYm1kUWFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ2UxeHVJQ0FnSUhOd1lYZHVaV1JYYjNKclJIVnlhVzVuVW1WdVpHVnlJRDBnYm5Wc2JEdGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQlNaV0ZqZEZOMGNtbGpkRTF2WkdWWFlYSnVhVzVuY3k1a2FYTmpZWEprVUdWdVpHbHVaMWRoY201cGJtZHpLQ2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FHRnVaR3hsUlhKeWIzSW9jbTl2ZEN3Z2RHaHliM2R1Vm1Gc2RXVXBJSHRjYmlBZ1pHOGdlMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlCU1pYTmxkQ0J0YjJSMWJHVXRiR1YyWld3Z2MzUmhkR1VnZEdoaGRDQjNZWE1nYzJWMElHUjFjbWx1WnlCMGFHVWdjbVZ1WkdWeUlIQm9ZWE5sTGx4dUlDQWdJQ0FnY21WelpYUkRiMjUwWlhoMFJHVndaVzVrWlc1amFXVnpLQ2s3WEc0Z0lDQWdJQ0J5WlhObGRFaHZiMnR6UVdaMFpYSlVhSEp2ZHlncE8xeHVJQ0FnSUNBZ2NtVnpaWFJEZFhKeVpXNTBSbWxpWlhJb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0hkdmNtdEpibEJ5YjJkeVpYTnpJRDA5UFNCdWRXeHNJSHg4SUhkdmNtdEpibEJ5YjJkeVpYTnpMbkpsZEhWeWJpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCRmVIQmxZM1JsWkNCMGJ5QmlaU0IzYjNKcmFXNW5JRzl1SUdFZ2JtOXVMWEp2YjNRZ1ptbGlaWEl1SUZSb2FYTWdhWE1nWVNCbVlYUmhiQ0JsY25KdmNseHVJQ0FnSUNBZ0lDQXZMeUJpWldOaGRYTmxJSFJvWlhKbEozTWdibThnWVc1alpYTjBiM0lnZEdoaGRDQmpZVzRnYUdGdVpHeGxJR2wwT3lCMGFHVWdjbTl2ZENCcGMxeHVJQ0FnSUNBZ0lDQXZMeUJ6ZFhCd2IzTmxaQ0IwYnlCallYQjBkWEpsSUdGc2JDQmxjbkp2Y25NZ2RHaGhkQ0IzWlhKbGJpZDBJR05oZFdkb2RDQmllU0JoYmlCbGNuSnZjbHh1SUNBZ0lDQWdJQ0F2THlCaWIzVnVaR0Z5ZVM1Y2JpQWdJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFJYaHBkRk4wWVhSMWN5QTlJRkp2YjNSR1lYUmhiRVZ5Y205eVpXUTdYRzRnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVpoZEdGc1JYSnliM0lnUFNCMGFISnZkMjVXWVd4MVpUc2dMeThnVTJWMElHQjNiM0pyU1c1UWNtOW5jbVZ6YzJBZ2RHOGdiblZzYkM0Z1ZHaHBjeUJ5WlhCeVpYTmxiblJ6SUdGa2RtRnVZMmx1WnlCMGJ5QjBhR1VnYm1WNGRGeHVJQ0FnSUNBZ0lDQXZMeUJ6YVdKc2FXNW5MQ0J2Y2lCMGFHVWdjR0Z5Wlc1MElHbG1JSFJvWlhKbElHRnlaU0J1YnlCemFXSnNhVzVuY3k0Z1FuVjBJSE5wYm1ObElIUm9aU0J5YjI5MFhHNGdJQ0FnSUNBZ0lDOHZJR2hoY3lCdWJ5QnphV0pzYVc1bmN5QnViM0lnWVNCd1lYSmxiblFzSUhkbElITmxkQ0JwZENCMGJ5QnVkV3hzTGlCVmMzVmhiR3g1SUhSb2FYTWdhWE5jYmlBZ0lDQWdJQ0FnTHk4Z2FHRnVaR3hsWkNCaWVTQmdZMjl0Y0d4bGRHVlZibWwwVDJaWGIzSnJZQ0J2Y2lCZ2RXNTNhVzVrVjI5eWEyQXNJR0oxZENCemFXNWpaU0IzWlNkeVpWeHVJQ0FnSUNBZ0lDQXZMeUJwYm5SbGNtNTBhVzl1WVd4c2VTQnViM1FnWTJGc2JHbHVaeUIwYUc5elpTd2dkMlVnYm1WbFpDQnpaWFFnYVhRZ2FHVnlaUzVjYmlBZ0lDQWdJQ0FnTHk4Z1ZFOUVUem9nUTI5dWMybGtaWElnWTJGc2JHbHVaeUJnZFc1M2FXNWtWMjl5YTJBZ2RHOGdjRzl3SUhSb1pTQmpiMjUwWlhoMGN5NWNibHh1SUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1pXNWhZbXhsVUhKdlptbHNaWEpVYVcxbGNpQW1KaUIzYjNKclNXNVFjbTluY21WemN5NXRiMlJsSUNZZ1VISnZabWxzWlUxdlpHVXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1VtVmpiM0prSUhSb1pTQjBhVzFsSUhOd1pXNTBJSEpsYm1SbGNtbHVaeUJpWldadmNtVWdZVzRnWlhKeWIzSWdkMkZ6SUhSb2NtOTNiaTRnVkdocGMxeHVJQ0FnSUNBZ0lDQXZMeUJoZG05cFpITWdhVzVoWTJOMWNtRjBaU0JRY205bWFXeGxjaUJrZFhKaGRHbHZibk1nYVc0Z2RHaGxJR05oYzJVZ2IyWWdZVnh1SUNBZ0lDQWdJQ0F2THlCemRYTndaVzVrWldRZ2NtVnVaR1Z5TGx4dUlDQWdJQ0FnSUNCemRHOXdVSEp2Wm1sc1pYSlVhVzFsY2tsbVVuVnVibWx1WjBGdVpGSmxZMjl5WkVSbGJIUmhLSGR2Y210SmJsQnliMmR5WlhOekxDQjBjblZsS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RHaHliM2RGZUdObGNIUnBiMjRvY205dmRDd2dkMjl5YTBsdVVISnZaM0psYzNNdWNtVjBkWEp1TENCM2IzSnJTVzVRY205bmNtVnpjeXdnZEdoeWIzZHVWbUZzZFdVc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTWdQU0JqYjIxd2JHVjBaVlZ1YVhSUFpsZHZjbXNvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tIbGxkRUZ1YjNSb1pYSlVhSEp2ZDI1V1lXeDFaU2tnZTF4dUlDQWdJQ0FnTHk4Z1UyOXRaWFJvYVc1bklHbHVJSFJvWlNCeVpYUjFjbTRnY0dGMGFDQmhiSE52SUhSb2NtVjNMbHh1SUNBZ0lDQWdkR2h5YjNkdVZtRnNkV1VnUFNCNVpYUkJibTkwYUdWeVZHaHliM2R1Vm1Gc2RXVTdYRzRnSUNBZ0lDQmpiMjUwYVc1MVpUdGNiaUFnSUNCOUlDOHZJRkpsZEhWeWJpQjBieUIwYUdVZ2JtOXliV0ZzSUhkdmNtc2diRzl2Y0M1Y2JseHVYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlJSGRvYVd4bElDaDBjblZsS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnY0hWemFFUnBjM0JoZEdOb1pYSW9jbTl2ZENrZ2UxeHVJQ0IyWVhJZ2NISmxka1JwYzNCaGRHTm9aWElnUFNCU1pXRmpkRU4xY25KbGJuUkVhWE53WVhSamFHVnlKREV1WTNWeWNtVnVkRHRjYmlBZ1VtVmhZM1JEZFhKeVpXNTBSR2x6Y0dGMFkyaGxjaVF4TG1OMWNuSmxiblFnUFNCRGIyNTBaWGgwVDI1c2VVUnBjM0JoZEdOb1pYSTdYRzVjYmlBZ2FXWWdLSEJ5WlhaRWFYTndZWFJqYUdWeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdWR2hsSUZKbFlXTjBJR2x6YjIxdmNuQm9hV01nY0dGamEyRm5aU0JrYjJWeklHNXZkQ0JwYm1Oc2RXUmxJR0VnWkdWbVlYVnNkQ0JrYVhOd1lYUmphR1Z5TGx4dUlDQWdJQzh2SUVsdWMzUmxZV1FnZEdobElHWnBjbk4wSUhKbGJtUmxjbVZ5SUhkcGJHd2diR0Y2YVd4NUlHRjBkR0ZqYUNCdmJtVXNJR2x1SUc5eVpHVnlJSFJ2SUdkcGRtVmNiaUFnSUNBdkx5QnVhV05sY2lCbGNuSnZjaUJ0WlhOellXZGxjeTVjYmlBZ0lDQnlaWFIxY200Z1EyOXVkR1Y0ZEU5dWJIbEVhWE53WVhSamFHVnlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQndjbVYyUkdsemNHRjBZMmhsY2p0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndiM0JFYVhOd1lYUmphR1Z5S0hCeVpYWkVhWE53WVhSamFHVnlLU0I3WEc0Z0lGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWElrTVM1amRYSnlaVzUwSUQwZ2NISmxka1JwYzNCaGRHTm9aWEk3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEIxYzJoSmJuUmxjbUZqZEdsdmJuTW9jbTl2ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhCeVpYWkpiblJsY21GamRHbHZibk1nUFNCMGNtRmphVzVuTGw5ZmFXNTBaWEpoWTNScGIyNXpVbVZtTG1OMWNuSmxiblE3WEc0Z0lDQWdkSEpoWTJsdVp5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1MElEMGdjbTl2ZEM1dFpXMXZhWHBsWkVsdWRHVnlZV04wYVc5dWN6dGNiaUFnSUNCeVpYUjFjbTRnY0hKbGRrbHVkR1Z5WVdOMGFXOXVjenRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2IzQkpiblJsY21GamRHbHZibk1vY0hKbGRrbHVkR1Z5WVdOMGFXOXVjeWtnZTF4dUlDQjdYRzRnSUNBZ2RISmhZMmx1Wnk1ZlgybHVkR1Z5WVdOMGFXOXVjMUpsWmk1amRYSnlaVzUwSUQwZ2NISmxka2x1ZEdWeVlXTjBhVzl1Y3p0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnRZWEpyUTI5dGJXbDBWR2x0WlU5bVJtRnNiR0poWTJzb0tTQjdYRzRnSUdkc2IySmhiRTF2YzNSU1pXTmxiblJHWVd4c1ltRmphMVJwYldVZ1BTQnViM2NvS1R0Y2JuMWNibVoxYm1OMGFXOXVJRzFoY210U1pXNWtaWEpGZG1WdWRGUnBiV1ZCYm1SRGIyNW1hV2NvWlhod2FYSmhkR2x2YmxScGJXVXNJSE4xYzNCbGJuTmxRMjl1Wm1sbktTQjdYRzRnSUdsbUlDaGxlSEJwY21GMGFXOXVWR2x0WlNBOElIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFeGhkR1Z6ZEZCeWIyTmxjM05sWkVWNGNHbHlZWFJwYjI1VWFXMWxJQ1ltSUdWNGNHbHlZWFJwYjI1VWFXMWxJRDRnU1dSc1pTa2dlMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFeGhkR1Z6ZEZCeWIyTmxjM05sWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUgxY2JseHVJQ0JwWmlBb2MzVnpjR1Z1YzJWRGIyNW1hV2NnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb1pYaHdhWEpoZEdsdmJsUnBiV1VnUENCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSTVlYUmxjM1JUZFhOd1pXNXpaVlJwYldWdmRYUWdKaVlnWlhod2FYSmhkR2x2YmxScGJXVWdQaUJKWkd4bEtTQjdYRzRnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUk1ZWFJsYzNSVGRYTndaVzV6WlZScGJXVnZkWFFnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHNnTHk4Z1RXOXpkQ0J2WmlCMGFHVWdkR2x0WlNCM1pTQnZibXg1SUdoaGRtVWdiMjVsSUdOdmJtWnBaeUJoYm1RZ1oyVjBkR2x1WnlCM2NtOXVaeUJwY3lCdWIzUWdZbUZrTGx4dVhHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNSRFlXNVRkWE53Wlc1a1ZYTnBibWREYjI1bWFXY2dQU0J6ZFhOd1pXNXpaVU52Ym1acFp6dGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRWYm5CeWIyTmxjM05sWkZWd1pHRjBaVlJwYldVb1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdhV1lnS0dWNGNHbHlZWFJwYjI1VWFXMWxJRDRnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVG1WNGRGVnVjSEp2WTJWemMyVmtWWEJrWVhSbFZHbHRaU2tnZTF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRTVsZUhSVmJuQnliMk5sYzNObFpGVndaR0YwWlZScGJXVWdQU0JsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjbVZ1WkdWeVJHbGtVM1Z6Y0dWdVpDZ3BJSHRjYmlBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1nUFQwOUlGSnZiM1JKYm1OdmJYQnNaWFJsS1NCN1hHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwUlhocGRGTjBZWFIxY3lBOUlGSnZiM1JUZFhOd1pXNWtaV1E3WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhKbGJtUmxja1JwWkZOMWMzQmxibVJFWld4aGVVbG1VRzl6YzJsaWJHVW9LU0I3WEc0Z0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwOVBTQlNiMjkwU1c1amIyMXdiR1YwWlNCOGZDQjNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUkZlR2wwVTNSaGRIVnpJRDA5UFNCU2IyOTBVM1Z6Y0dWdVpHVmtLU0I3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNOU2IyOTBSWGhwZEZOMFlYUjFjeUE5SUZKdmIzUlRkWE53Wlc1a1pXUlhhWFJvUkdWc1lYazdYRzRnSUgwZ0x5OGdRMmhsWTJzZ2FXWWdkR2hsY21VbmN5QmhJR3h2ZDJWeUlIQnlhVzl5YVhSNUlIVndaR0YwWlNCemIyMWxkMmhsY21VZ1pXeHpaU0JwYmlCMGFHVWdkSEpsWlM1Y2JseHVYRzRnSUdsbUlDaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUk9aWGgwVlc1d2NtOWpaWE56WldSVmNHUmhkR1ZVYVcxbElDRTlQU0JPYjFkdmNtc2dKaVlnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1RXRnlheUIwYUdVZ1kzVnljbVZ1ZENCeVpXNWtaWElnWVhNZ2MzVnpjR1Z1WkdWa0xDQmhibVFnZEdobGJpQnRZWEpySUhSb1lYUWdkR2hsY21VbmN5QmhYRzRnSUNBZ0x5OGdjR1Z1WkdsdVp5QjFjR1JoZEdVdVhHNGdJQ0FnTHk4Z1ZFOUVUem9nVkdocGN5QnphRzkxYkdRZ2FXMXRaV1JwWVhSbGJIa2dhVzUwWlhKeWRYQjBJSFJvWlNCamRYSnlaVzUwSUhKbGJtUmxjaXdnYVc1emRHVmhaRnh1SUNBZ0lDOHZJRzltSUhkaGFYUnBibWNnZFc1MGFXd2dkR2hsSUc1bGVIUWdkR2x0WlNCM1pTQjVhV1ZzWkM1Y2JpQWdJQ0J0WVhKclVtOXZkRk4xYzNCbGJtUmxaRUYwVkdsdFpTaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUXNJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsSkRFcE8xeHVJQ0FnSUcxaGNtdFNiMjkwVlhCa1lYUmxaRUYwVkdsdFpTaDNiM0pyU1c1UWNtOW5jbVZ6YzFKdmIzUXNJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRTVsZUhSVmJuQnliMk5sYzNObFpGVndaR0YwWlZScGJXVXBPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ5Wlc1a1pYSkVhV1JGY25KdmNpZ3BJSHRjYmlBZ2FXWWdLSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1nSVQwOUlGSnZiM1JEYjIxd2JHVjBaV1FwSUh0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwZ1VtOXZkRVZ5Y205eVpXUTdYRzRnSUgxY2JuMGdMeThnUTJGc2JHVmtJR1IxY21sdVp5QnlaVzVrWlhJZ2RHOGdaR1YwWlhKdGFXNWxJR2xtSUdGdWVYUm9hVzVuSUdoaGN5QnpkWE53Wlc1a1pXUXVYRzR2THlCU1pYUjFjbTV6SUdaaGJITmxJR2xtSUhkbEozSmxJRzV2ZENCemRYSmxMbHh1WEc1bWRXNWpkR2x2YmlCeVpXNWtaWEpJWVhOT2IzUlRkWE53Wlc1a1pXUlpaWFFvS1NCN1hHNGdJQzh2SUVsbUlITnZiV1YwYUdsdVp5Qmxjbkp2Y21Wa0lHOXlJR052YlhCc1pYUmxaQ3dnZDJVZ1kyRnVKM1FnY21WaGJHeDVJR0psSUhOMWNtVXNYRzRnSUM4dklITnZJSFJvYjNObElHRnlaU0JtWVd4elpTNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOelVtOXZkRVY0YVhSVGRHRjBkWE1nUFQwOUlGSnZiM1JKYm1OdmJYQnNaWFJsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYm1abGNsUnBiV1ZHY205dFJYaHdhWEpoZEdsdmJsUnBiV1VvWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0x5OGdWMlVnWkc5dUozUWdhMjV2ZHlCbGVHRmpkR3g1SUhkb1pXNGdkR2hsSUhWd1pHRjBaU0IzWVhNZ2MyTm9aV1IxYkdWa0xDQmlkWFFnZDJVZ1kyRnVJR2x1Wm1WeUlHRnVYRzRnSUM4dklHRndjSEp2ZUdsdFlYUmxJSE4wWVhKMElIUnBiV1VnWm5KdmJTQjBhR1VnWlhod2FYSmhkR2x2YmlCMGFXMWxMbHh1SUNCMllYSWdaV0Z5YkdsbGMzUkZlSEJwY21GMGFXOXVWR2x0WlUxeklEMGdaWGh3YVhKaGRHbHZibFJwYldWVWIwMXpLR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnY21WMGRYSnVJR1ZoY214cFpYTjBSWGh3YVhKaGRHbHZibFJwYldWTmN5QXRJRXhQVjE5UVVrbFBVa2xVV1Y5RldGQkpVa0ZVU1U5T08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGJtWmxjbFJwYldWR2NtOXRSWGh3YVhKaGRHbHZibFJwYldWWGFYUm9VM1Z6Y0dWdWMyVkRiMjVtYVdjb1pYaHdhWEpoZEdsdmJsUnBiV1VzSUhOMWMzQmxibk5sUTI5dVptbG5LU0I3WEc0Z0lDOHZJRmRsSUdSdmJpZDBJR3R1YjNjZ1pYaGhZM1JzZVNCM2FHVnVJSFJvWlNCMWNHUmhkR1VnZDJGeklITmphR1ZrZFd4bFpDd2dZblYwSUhkbElHTmhiaUJwYm1abGNpQmhibHh1SUNBdkx5QmhjSEJ5YjNocGJXRjBaU0J6ZEdGeWRDQjBhVzFsSUdaeWIyMGdkR2hsSUdWNGNHbHlZWFJwYjI0Z2RHbHRaU0JpZVNCemRXSjBjbUZqZEdsdVp5QjBhR1VnZEdsdFpXOTFkRnh1SUNBdkx5QjBhR0YwSUhkaGN5QmhaR1JsWkNCMGJ5QjBhR1VnWlhabGJuUWdkR2x0WlM1Y2JpQWdkbUZ5SUdWaGNteHBaWE4wUlhod2FYSmhkR2x2YmxScGJXVk5jeUE5SUdWNGNHbHlZWFJwYjI1VWFXMWxWRzlOY3lobGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lISmxkSFZ5YmlCbFlYSnNhV1Z6ZEVWNGNHbHlZWFJwYjI1VWFXMWxUWE1nTFNBb2MzVnpjR1Z1YzJWRGIyNW1hV2N1ZEdsdFpXOTFkRTF6SUh3Z01DQjhmQ0JNVDFkZlVGSkpUMUpKVkZsZlJWaFFTVkpCVkVsUFRpazdYRzU5SUM4dklGUm9aU0IzYjNKcklHeHZiM0FnYVhNZ1lXNGdaWGgwY21WdFpXeDVJR2h2ZENCd1lYUm9MaUJVWld4c0lFTnNiM04xY21VZ2JtOTBJSFJ2SUdsdWJHbHVaU0JwZEM1Y2JseHVMeW9xSUVCdWIybHViR2x1WlNBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUhkdmNtdE1iMjl3VTNsdVl5Z3BJSHRjYmlBZ0x5OGdRV3h5WldGa2VTQjBhVzFsWkNCdmRYUXNJSE52SUhCbGNtWnZjbTBnZDI5eWF5QjNhWFJvYjNWMElHTm9aV05yYVc1bklHbG1JSGRsSUc1bFpXUWdkRzhnZVdsbGJHUXVYRzRnSUhkb2FXeGxJQ2gzYjNKclNXNVFjbTluY21WemN5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56SUQwZ2NHVnlabTl5YlZWdWFYUlBabGR2Y21zb2QyOXlhMGx1VUhKdlozSmxjM01wTzF4dUlDQjlYRzU5WEc0dktpb2dRRzV2YVc1c2FXNWxJQ292WEc1Y2JseHVablZ1WTNScGIyNGdkMjl5YTB4dmIzQkRiMjVqZFhKeVpXNTBLQ2tnZTF4dUlDQXZMeUJRWlhKbWIzSnRJSGR2Y21zZ2RXNTBhV3dnVTJOb1pXUjFiR1Z5SUdGemEzTWdkWE1nZEc4Z2VXbGxiR1JjYmlBZ2QyaHBiR1VnS0hkdmNtdEpibEJ5YjJkeVpYTnpJQ0U5UFNCdWRXeHNJQ1ltSUNGemFHOTFiR1JaYVdWc1pDZ3BLU0I3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNZ1BTQndaWEptYjNKdFZXNXBkRTltVjI5eWF5aDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdjR1Z5Wm05eWJWVnVhWFJQWmxkdmNtc29kVzVwZEU5bVYyOXlheWtnZTF4dUlDQXZMeUJVYUdVZ1kzVnljbVZ1ZEN3Z1pteDFjMmhsWkN3Z2MzUmhkR1VnYjJZZ2RHaHBjeUJtYVdKbGNpQnBjeUIwYUdVZ1lXeDBaWEp1WVhSbExpQkpaR1ZoYkd4NVhHNGdJQzh2SUc1dmRHaHBibWNnYzJodmRXeGtJSEpsYkhrZ2IyNGdkR2hwY3l3Z1luVjBJSEpsYkhscGJtY2diMjRnYVhRZ2FHVnlaU0J0WldGdWN5QjBhR0YwSUhkbElHUnZiaWQwWEc0Z0lDOHZJRzVsWldRZ1lXNGdZV1JrYVhScGIyNWhiQ0JtYVdWc1pDQnZiaUIwYUdVZ2QyOXlheUJwYmlCd2NtOW5jbVZ6Y3k1Y2JpQWdkbUZ5SUdOMWNuSmxiblFnUFNCMWJtbDBUMlpYYjNKckxtRnNkR1Z5Ym1GMFpUdGNiaUFnYzNSaGNuUlhiM0pyVkdsdFpYSW9kVzVwZEU5bVYyOXlheWs3WEc0Z0lITmxkRU4xY25KbGJuUkdhV0psY2loMWJtbDBUMlpYYjNKcktUdGNiaUFnZG1GeUlHNWxlSFE3WEc1Y2JpQWdhV1lnS0NBb2RXNXBkRTltVjI5eWF5NXRiMlJsSUNZZ1VISnZabWxzWlUxdlpHVXBJQ0U5UFNCT2IwMXZaR1VwSUh0Y2JpQWdJQ0J6ZEdGeWRGQnliMlpwYkdWeVZHbHRaWElvZFc1cGRFOW1WMjl5YXlrN1hHNGdJQ0FnYm1WNGRDQTlJR0psWjJsdVYyOXlheVF4S0dOMWNuSmxiblFzSUhWdWFYUlBabGR2Y21zc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJSE4wYjNCUWNtOW1hV3hsY2xScGJXVnlTV1pTZFc1dWFXNW5RVzVrVW1WamIzSmtSR1ZzZEdFb2RXNXBkRTltVjI5eWF5d2dkSEoxWlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JtVjRkQ0E5SUdKbFoybHVWMjl5YXlReEtHTjFjbkpsYm5Rc0lIVnVhWFJQWmxkdmNtc3NJSEpsYm1SbGNrVjRjR2x5WVhScGIyNVVhVzFsSkRFcE8xeHVJQ0I5WEc1Y2JpQWdjbVZ6WlhSRGRYSnlaVzUwUm1saVpYSW9LVHRjYmlBZ2RXNXBkRTltVjI5eWF5NXRaVzF2YVhwbFpGQnliM0J6SUQwZ2RXNXBkRTltVjI5eWF5NXdaVzVrYVc1blVISnZjSE03WEc1Y2JpQWdhV1lnS0c1bGVIUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQXZMeUJKWmlCMGFHbHpJR1J2WlhOdUozUWdjM0JoZDI0Z2JtVjNJSGR2Y21zc0lHTnZiWEJzWlhSbElIUm9aU0JqZFhKeVpXNTBJSGR2Y21zdVhHNGdJQ0FnYm1WNGRDQTlJR052YlhCc1pYUmxWVzVwZEU5bVYyOXlheWgxYm1sMFQyWlhiM0pyS1R0Y2JpQWdmVnh1WEc0Z0lGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUpESXVZM1Z5Y21WdWRDQTlJRzUxYkd3N1hHNGdJSEpsZEhWeWJpQnVaWGgwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqYjIxd2JHVjBaVlZ1YVhSUFpsZHZjbXNvZFc1cGRFOW1WMjl5YXlrZ2UxeHVJQ0F2THlCQmRIUmxiWEIwSUhSdklHTnZiWEJzWlhSbElIUm9aU0JqZFhKeVpXNTBJSFZ1YVhRZ2IyWWdkMjl5YXl3Z2RHaGxiaUJ0YjNabElIUnZJSFJvWlNCdVpYaDBYRzRnSUM4dklITnBZbXhwYm1jdUlFbG1JSFJvWlhKbElHRnlaU0J1YnlCdGIzSmxJSE5wWW14cGJtZHpMQ0J5WlhSMWNtNGdkRzhnZEdobElIQmhjbVZ1ZENCbWFXSmxjaTVjYmlBZ2QyOXlhMGx1VUhKdlozSmxjM01nUFNCMWJtbDBUMlpYYjNKck8xeHVYRzRnSUdSdklIdGNiaUFnSUNBdkx5QlVhR1VnWTNWeWNtVnVkQ3dnWm14MWMyaGxaQ3dnYzNSaGRHVWdiMllnZEdocGN5Qm1hV0psY2lCcGN5QjBhR1VnWVd4MFpYSnVZWFJsTGlCSlpHVmhiR3g1WEc0Z0lDQWdMeThnYm05MGFHbHVaeUJ6YUc5MWJHUWdjbVZzZVNCdmJpQjBhR2x6TENCaWRYUWdjbVZzZVdsdVp5QnZiaUJwZENCb1pYSmxJRzFsWVc1eklIUm9ZWFFnZDJVZ1pHOXVKM1JjYmlBZ0lDQXZMeUJ1WldWa0lHRnVJR0ZrWkdsMGFXOXVZV3dnWm1sbGJHUWdiMjRnZEdobElIZHZjbXNnYVc0Z2NISnZaM0psYzNNdVhHNGdJQ0FnZG1GeUlHTjFjbkpsYm5RZ1BTQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aGJIUmxjbTVoZEdVN1hHNGdJQ0FnZG1GeUlISmxkSFZ5YmtacFltVnlJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVjbVYwZFhKdU95QXZMeUJEYUdWamF5QnBaaUIwYUdVZ2QyOXlheUJqYjIxd2JHVjBaV1FnYjNJZ2FXWWdjMjl0WlhSb2FXNW5JSFJvY21WM0xseHVYRzRnSUNBZ2FXWWdLQ2gzYjNKclNXNVFjbTluY21WemN5NWxabVpsWTNSVVlXY2dKaUJKYm1OdmJYQnNaWFJsS1NBOVBUMGdUbTlGWm1abFkzUXBJSHRjYmlBZ0lDQWdJSE5sZEVOMWNuSmxiblJHYVdKbGNpaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNCMllYSWdibVY0ZENBOUlIWnZhV1FnTUR0Y2JseHVJQ0FnSUNBZ2FXWWdLQ0FvZDI5eWEwbHVVSEp2WjNKbGMzTXViVzlrWlNBbUlGQnliMlpwYkdWTmIyUmxLU0E5UFQwZ1RtOU5iMlJsS1NCN1hHNGdJQ0FnSUNBZ0lHNWxlSFFnUFNCamIyMXdiR1YwWlZkdmNtc29ZM1Z5Y21WdWRDd2dkMjl5YTBsdVVISnZaM0psYzNNc0lISmxibVJsY2tWNGNHbHlZWFJwYjI1VWFXMWxKREVwTzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnYzNSaGNuUlFjbTltYVd4bGNsUnBiV1Z5S0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmlBZ0lDQWdJQ0FnYm1WNGRDQTlJR052YlhCc1pYUmxWMjl5YXloamRYSnlaVzUwTENCM2IzSnJTVzVRY205bmNtVnpjeXdnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TazdJQzh2SUZWd1pHRjBaU0J5Wlc1a1pYSWdaSFZ5WVhScGIyNGdZWE56ZFcxcGJtY2dkMlVnWkdsa2JpZDBJR1Z5Y205eUxseHVYRzRnSUNBZ0lDQWdJSE4wYjNCUWNtOW1hV3hsY2xScGJXVnlTV1pTZFc1dWFXNW5RVzVrVW1WamIzSmtSR1ZzZEdFb2QyOXlhMGx1VUhKdlozSmxjM01zSUdaaGJITmxLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYzNSdmNGZHZjbXRVYVcxbGNpaDNiM0pyU1c1UWNtOW5jbVZ6Y3lrN1hHNGdJQ0FnSUNCeVpYTmxkRU4xY25KbGJuUkdhV0psY2lncE8xeHVJQ0FnSUNBZ2NtVnpaWFJEYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsS0hkdmNtdEpibEJ5YjJkeVpYTnpLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHNWxlSFFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdRMjl0Y0d4bGRHbHVaeUIwYUdseklHWnBZbVZ5SUhOd1lYZHVaV1FnYm1WM0lIZHZjbXN1SUZkdmNtc2diMjRnZEdoaGRDQnVaWGgwTGx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WNGREdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hKbGRIVnlia1pwWW1WeUlDRTlQU0J1ZFd4c0lDWW1JQzh2SUVSdklHNXZkQ0JoY0hCbGJtUWdaV1ptWldOMGN5QjBieUJ3WVhKbGJuUnpJR2xtSUdFZ2MybGliR2x1WnlCbVlXbHNaV1FnZEc4Z1kyOXRjR3hsZEdWY2JpQWdJQ0FnSUNoeVpYUjFjbTVHYVdKbGNpNWxabVpsWTNSVVlXY2dKaUJKYm1OdmJYQnNaWFJsS1NBOVBUMGdUbTlGWm1abFkzUXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FYQndaVzVrSUdGc2JDQjBhR1VnWldabVpXTjBjeUJ2WmlCMGFHVWdjM1ZpZEhKbFpTQmhibVFnZEdocGN5Qm1hV0psY2lCdmJuUnZJSFJvWlNCbFptWmxZM1JjYmlBZ0lDQWdJQ0FnTHk4Z2JHbHpkQ0J2WmlCMGFHVWdjR0Z5Wlc1MExpQlVhR1VnWTI5dGNHeGxkR2x2YmlCdmNtUmxjaUJ2WmlCMGFHVWdZMmhwYkdSeVpXNGdZV1ptWldOMGN5QjBhR1ZjYmlBZ0lDQWdJQ0FnTHk4Z2MybGtaUzFsWm1abFkzUWdiM0prWlhJdVhHNGdJQ0FnSUNBZ0lHbG1JQ2h5WlhSMWNtNUdhV0psY2k1bWFYSnpkRVZtWm1WamRDQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlia1pwWW1WeUxtWnBjbk4wUldabVpXTjBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXVabWx5YzNSRlptWmxZM1E3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvZDI5eWEwbHVVSEp2WjNKbGMzTXViR0Z6ZEVWbVptVmpkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h5WlhSMWNtNUdhV0psY2k1c1lYTjBSV1ptWldOMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBMbTVsZUhSRlptWmxZM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVtYVhKemRFVm1abVZqZER0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNXNZWE4wUldabVpXTjBJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTXViR0Z6ZEVWbVptVmpkRHRjYmlBZ0lDQWdJQ0FnZlNBdkx5QkpaaUIwYUdseklHWnBZbVZ5SUdoaFpDQnphV1JsTFdWbVptVmpkSE1zSUhkbElHRndjR1Z1WkNCcGRDQkJSbFJGVWlCMGFHVWdZMmhwYkdSeVpXNG5jMXh1SUNBZ0lDQWdJQ0F2THlCemFXUmxMV1ZtWm1WamRITXVJRmRsSUdOaGJpQndaWEptYjNKdElHTmxjblJoYVc0Z2MybGtaUzFsWm1abFkzUnpJR1ZoY214cFpYSWdhV1lnYm1WbFpHVmtMRnh1SUNBZ0lDQWdJQ0F2THlCaWVTQmtiMmx1WnlCdGRXeDBhWEJzWlNCd1lYTnpaWE1nYjNabGNpQjBhR1VnWldabVpXTjBJR3hwYzNRdUlGZGxJR1J2YmlkMElIZGhiblFnZEc5Y2JpQWdJQ0FnSUNBZ0x5OGdjMk5vWldSMWJHVWdiM1Z5SUc5M2JpQnphV1JsTFdWbVptVmpkQ0J2YmlCdmRYSWdiM2R1SUd4cGMzUWdZbVZqWVhWelpTQnBaaUJsYm1RZ2RYQmNiaUFnSUNBZ0lDQWdMeThnY21WMWMybHVaeUJqYUdsc1pISmxiaUIzWlNkc2JDQnpZMmhsWkhWc1pTQjBhR2x6SUdWbVptVmpkQ0J2Ym5SdklHbDBjMlZzWmlCemFXNWpaU0IzWlNkeVpWeHVJQ0FnSUNBZ0lDQXZMeUJoZENCMGFHVWdaVzVrTGx4dVhHNWNiaUFnSUNBZ0lDQWdkbUZ5SUdWbVptVmpkRlJoWnlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnpzZ0x5OGdVMnRwY0NCaWIzUm9JRTV2VjI5eWF5QmhibVFnVUdWeVptOXliV1ZrVjI5eWF5QjBZV2R6SUhkb1pXNGdZM0psWVhScGJtY2dkR2hsSUdWbVptVmpkRnh1SUNBZ0lDQWdJQ0F2THlCc2FYTjBMaUJRWlhKbWIzSnRaV1JYYjNKcklHVm1abVZqZENCcGN5QnlaV0ZrSUdKNUlGSmxZV04wSUVSbGRsUnZiMnh6SUdKMWRDQnphRzkxYkdSdUozUWdZbVZjYmlBZ0lDQWdJQ0FnTHk4Z1kyOXRiV2wwZEdWa0xseHVYRzRnSUNBZ0lDQWdJR2xtSUNobFptWmxZM1JVWVdjZ1BpQlFaWEptYjNKdFpXUlhiM0pyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0hKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmtacFltVnlMbXhoYzNSRlptWmxZM1F1Ym1WNGRFVm1abVZqZENBOUlIZHZjbXRKYmxCeWIyZHlaWE56TzF4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNUdhV0psY2k1bWFYSnpkRVZtWm1WamRDQTlJSGR2Y210SmJsQnliMmR5WlhOek8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmtacFltVnlMbXhoYzNSRlptWmxZM1FnUFNCM2IzSnJTVzVRY205bmNtVnpjenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVYUdseklHWnBZbVZ5SUdScFpDQnViM1FnWTI5dGNHeGxkR1VnWW1WallYVnpaU0J6YjIxbGRHaHBibWNnZEdoeVpYY3VJRkJ2Y0NCMllXeDFaWE1nYjJabVhHNGdJQ0FnSUNBdkx5QjBhR1VnYzNSaFkyc2dkMmwwYUc5MWRDQmxiblJsY21sdVp5QjBhR1VnWTI5dGNHeGxkR1VnY0doaGMyVXVJRWxtSUhSb2FYTWdhWE1nWVNCaWIzVnVaR0Z5ZVN4Y2JpQWdJQ0FnSUM4dklHTmhjSFIxY21VZ2RtRnNkV1Z6SUdsbUlIQnZjM05wWW14bExseHVJQ0FnSUNBZ2RtRnlJRjl1WlhoMElEMGdkVzUzYVc1a1YyOXlheWgzYjNKclNXNVFjbTluY21WemN5azdJQzh2SUVKbFkyRjFjMlVnZEdocGN5Qm1hV0psY2lCa2FXUWdibTkwSUdOdmJYQnNaWFJsTENCa2IyNG5kQ0J5WlhObGRDQnBkSE1nWlhod2FYSmhkR2x2YmlCMGFXMWxMbHh1WEc1Y2JpQWdJQ0FnSUdsbUlDZ2dLSGR2Y210SmJsQnliMmR5WlhOekxtMXZaR1VnSmlCUWNtOW1hV3hsVFc5a1pTa2dJVDA5SUU1dlRXOWtaU2tnZTF4dUlDQWdJQ0FnSUNBdkx5QlNaV052Y21RZ2RHaGxJSEpsYm1SbGNpQmtkWEpoZEdsdmJpQm1iM0lnZEdobElHWnBZbVZ5SUhSb1lYUWdaWEp5YjNKbFpDNWNiaUFnSUNBZ0lDQWdjM1J2Y0ZCeWIyWnBiR1Z5VkdsdFpYSkpabEoxYm01cGJtZEJibVJTWldOdmNtUkVaV3gwWVNoM2IzSnJTVzVRY205bmNtVnpjeXdnWm1Gc2MyVXBPeUF2THlCSmJtTnNkV1JsSUhSb1pTQjBhVzFsSUhOd1pXNTBJSGR2Y210cGJtY2diMjRnWm1GcGJHVmtJR05vYVd4a2NtVnVJR0psWm05eVpTQmpiMjUwYVc1MWFXNW5MbHh1WEc0Z0lDQWdJQ0FnSUhaaGNpQmhZM1IxWVd4RWRYSmhkR2x2YmlBOUlIZHZjbXRKYmxCeWIyZHlaWE56TG1GamRIVmhiRVIxY21GMGFXOXVPMXh1SUNBZ0lDQWdJQ0IyWVhJZ1kyaHBiR1FnUFNCM2IzSnJTVzVRY205bmNtVnpjeTVqYUdsc1pEdGNibHh1SUNBZ0lDQWdJQ0IzYUdsc1pTQW9ZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lDQWdJQ0JoWTNSMVlXeEVkWEpoZEdsdmJpQXJQU0JqYUdsc1pDNWhZM1IxWVd4RWRYSmhkR2x2Ymp0Y2JpQWdJQ0FnSUNBZ0lDQmphR2xzWkNBOUlHTm9hV3hrTG5OcFlteHBibWM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1aFkzUjFZV3hFZFhKaGRHbHZiaUE5SUdGamRIVmhiRVIxY21GMGFXOXVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1gyNWxlSFFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnWTI5dGNHeGxkR2x1WnlCMGFHbHpJSGR2Y21zZ2MzQmhkMjVsWkNCdVpYY2dkMjl5YXl3Z1pHOGdkR2hoZENCdVpYaDBMaUJYWlNkc2JDQmpiMjFsWEc0Z0lDQWdJQ0FnSUM4dklHSmhZMnNnYUdWeVpTQmhaMkZwYmk1Y2JpQWdJQ0FnSUNBZ0x5OGdVMmx1WTJVZ2QyVW5jbVVnY21WemRHRnlkR2x1Wnl3Z2NtVnRiM1psSUdGdWVYUm9hVzVuSUhSb1lYUWdhWE1nYm05MElHRWdhRzl6ZENCbFptWmxZM1JjYmlBZ0lDQWdJQ0FnTHk4Z1puSnZiU0IwYUdVZ1pXWm1aV04wSUhSaFp5NWNiaUFnSUNBZ0lDQWdMeThnVkU5RVR6b2dWR2hsSUc1aGJXVWdjM1J2Y0VaaGFXeGxaRmR2Y210VWFXMWxjaUJwY3lCdGFYTnNaV0ZrYVc1bklHSmxZMkYxYzJVZ1UzVnpjR1Z1YzJWY2JpQWdJQ0FnSUNBZ0x5OGdZV3h6YnlCallYQjBkWEpsY3lCaGJtUWdjbVZ6ZEdGeWRITXVYRzRnSUNBZ0lDQWdJSE4wYjNCR1lXbHNaV1JYYjNKclZHbHRaWElvZDI5eWEwbHVVSEp2WjNKbGMzTXBPMXh1SUNBZ0lDQWdJQ0JmYm1WNGRDNWxabVpsWTNSVVlXY2dKajBnU0c5emRFVm1abVZqZEUxaGMyczdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmZibVY0ZER0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MzUnZjRmR2Y210VWFXMWxjaWgzYjNKclNXNVFjbTluY21WemN5azdYRzVjYmlBZ0lDQWdJR2xtSUNoeVpYUjFjbTVHYVdKbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0F2THlCTllYSnJJSFJvWlNCd1lYSmxiblFnWm1saVpYSWdZWE1nYVc1amIyMXdiR1YwWlNCaGJtUWdZMnhsWVhJZ2FYUnpJR1ZtWm1WamRDQnNhWE4wTGx4dUlDQWdJQ0FnSUNCeVpYUjFjbTVHYVdKbGNpNW1hWEp6ZEVWbVptVmpkQ0E5SUhKbGRIVnlia1pwWW1WeUxteGhjM1JGWm1abFkzUWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQnlaWFIxY201R2FXSmxjaTVsWm1abFkzUlVZV2NnZkQwZ1NXNWpiMjF3YkdWMFpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjMmxpYkdsdVowWnBZbVZ5SUQwZ2QyOXlhMGx1VUhKdlozSmxjM011YzJsaWJHbHVaenRjYmx4dUlDQWdJR2xtSUNoemFXSnNhVzVuUm1saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQzh2SUVsbUlIUm9aWEpsSUdseklHMXZjbVVnZDI5eWF5QjBieUJrYnlCcGJpQjBhR2x6SUhKbGRIVnlia1pwWW1WeUxDQmtieUIwYUdGMElHNWxlSFF1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjMmxpYkdsdVowWnBZbVZ5TzF4dUlDQWdJSDBnTHk4Z1QzUm9aWEozYVhObExDQnlaWFIxY200Z2RHOGdkR2hsSUhCaGNtVnVkRnh1WEc1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJSEpsZEhWeWJrWnBZbVZ5TzF4dUlDQjlJSGRvYVd4bElDaDNiM0pyU1c1UWNtOW5jbVZ6Y3lBaFBUMGdiblZzYkNrN0lDOHZJRmRsSjNabElISmxZV05vWldRZ2RHaGxJSEp2YjNRdVhHNWNibHh1SUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNOU2IyOTBSWGhwZEZOMFlYUjFjeUE5UFQwZ1VtOXZkRWx1WTI5dGNHeGxkR1VwSUh0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwZ1VtOXZkRU52YlhCc1pYUmxaRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCblpYUlNaVzFoYVc1cGJtZEZlSEJwY21GMGFXOXVWR2x0WlNobWFXSmxjaWtnZTF4dUlDQjJZWElnZFhCa1lYUmxSWGh3YVhKaGRHbHZibFJwYldVZ1BTQm1hV0psY2k1bGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ2RtRnlJR05vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbWFXSmxjaTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQnlaWFIxY200Z2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVWdQaUJqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQ4Z2RYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVWdPaUJqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WlhObGRFTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVW9ZMjl0Y0d4bGRHVmtWMjl5YXlrZ2UxeHVJQ0JwWmlBb2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVWtNU0FoUFQwZ1RtVjJaWElnSmlZZ1kyOXRjR3hsZEdWa1YyOXlheTVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQwOVBTQk9aWFpsY2lrZ2UxeHVJQ0FnSUM4dklGUm9aU0JqYUdsc1pISmxiaUJ2WmlCMGFHbHpJR052YlhCdmJtVnVkQ0JoY21VZ2FHbGtaR1Z1TGlCRWIyNG5kQ0JpZFdKaWJHVWdkR2hsYVhKY2JpQWdJQ0F2THlCbGVIQnBjbUYwYVc5dUlIUnBiV1Z6TGx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG05WGIzSnJPeUF2THlCQ2RXSmliR1VnZFhBZ2RHaGxJR1ZoY214cFpYTjBJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTNWNibHh1SUNCcFppQW9JQ2hqYjIxd2JHVjBaV1JYYjNKckxtMXZaR1VnSmlCUWNtOW1hV3hsVFc5a1pTa2dJVDA5SUU1dlRXOWtaU2tnZTF4dUlDQWdJQzh2SUVsdUlIQnliMlpwYkdsdVp5QnRiMlJsTENCeVpYTmxkRU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnYVhNZ1lXeHpieUIxYzJWa0lIUnZJSEpsYzJWMFhHNGdJQ0FnTHk4Z2NISnZabWxzWlhJZ1pIVnlZWFJwYjI1ekxseHVJQ0FnSUhaaGNpQmhZM1IxWVd4RWRYSmhkR2x2YmlBOUlHTnZiWEJzWlhSbFpGZHZjbXN1WVdOMGRXRnNSSFZ5WVhScGIyNDdYRzRnSUNBZ2RtRnlJSFJ5WldWQ1lYTmxSSFZ5WVhScGIyNGdQU0JqYjIxd2JHVjBaV1JYYjNKckxuTmxiR1pDWVhObFJIVnlZWFJwYjI0N0lDOHZJRmRvWlc0Z1lTQm1hV0psY2lCcGN5QmpiRzl1WldRc0lHbDBjeUJoWTNSMVlXeEVkWEpoZEdsdmJpQnBjeUJ5WlhObGRDQjBieUF3TGlCVWFHbHpJSFpoYkhWbElIZHBiR3hjYmlBZ0lDQXZMeUJ2Ym14NUlHSmxJSFZ3WkdGMFpXUWdhV1lnZDI5eWF5QnBjeUJrYjI1bElHOXVJSFJvWlNCbWFXSmxjaUFvYVM1bExpQnBkQ0JrYjJWemJpZDBJR0poYVd4dmRYUXBMbHh1SUNBZ0lDOHZJRmRvWlc0Z2QyOXlheUJwY3lCa2IyNWxMQ0JwZENCemFHOTFiR1FnWW5WaVlteGxJSFJ2SUhSb1pTQndZWEpsYm5RbmN5QmhZM1IxWVd4RWRYSmhkR2x2Ymk0Z1NXWmNiaUFnSUNBdkx5QjBhR1VnWm1saVpYSWdhR0Z6SUc1dmRDQmlaV1Z1SUdOc2IyNWxaQ0IwYUc5MVoyZ3NJQ2h0WldGdWFXNW5JRzV2SUhkdmNtc2dkMkZ6SUdSdmJtVXBMQ0IwYUdWdVhHNGdJQ0FnTHk4Z2RHaHBjeUIyWVd4MVpTQjNhV3hzSUhKbFpteGxZM1FnZEdobElHRnRiM1Z1ZENCdlppQjBhVzFsSUhOd1pXNTBJSGR2Y210cGJtY2diMjRnWVNCd2NtVjJhVzkxYzF4dUlDQWdJQzh2SUhKbGJtUmxjaTRnU1c0Z2RHaGhkQ0JqWVhObElHbDBJSE5vYjNWc1pDQnViM1FnWW5WaVlteGxMaUJYWlNCa1pYUmxjbTFwYm1VZ2QyaGxkR2hsY2lCcGRDQjNZWE5jYmlBZ0lDQXZMeUJqYkc5dVpXUWdZbmtnWTI5dGNHRnlhVzVuSUhSb1pTQmphR2xzWkNCd2IybHVkR1Z5TGx4dVhHNGdJQ0FnZG1GeUlITm9iM1ZzWkVKMVltSnNaVUZqZEhWaGJFUjFjbUYwYVc5dWN5QTlJR052YlhCc1pYUmxaRmR2Y21zdVlXeDBaWEp1WVhSbElEMDlQU0J1ZFd4c0lIeDhJR052YlhCc1pYUmxaRmR2Y21zdVkyaHBiR1FnSVQwOUlHTnZiWEJzWlhSbFpGZHZjbXN1WVd4MFpYSnVZWFJsTG1Ob2FXeGtPMXh1SUNBZ0lIWmhjaUJqYUdsc1pDQTlJR052YlhCc1pYUmxaRmR2Y21zdVkyaHBiR1E3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9ZMmhwYkdRZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJqYUdsc1pGVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWTJocGJHUXVaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJQ0FnSUNCMllYSWdZMmhwYkdSRGFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEMGdZMmhwYkdRdVkyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpUdGNibHh1SUNBZ0lDQWdhV1lnS0dOb2FXeGtWWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUGlCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdJQ0FnSUc1bGQwTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQU0JqYUdsc1pGVndaR0YwWlVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1kyaHBiR1JEYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsSUQ0Z2JtVjNRMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQWdJQ0FnSUNCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnWTJocGJHUkRhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2MyaHZkV3hrUW5WaVlteGxRV04wZFdGc1JIVnlZWFJwYjI1ektTQjdYRzRnSUNBZ0lDQWdJR0ZqZEhWaGJFUjFjbUYwYVc5dUlDczlJR05vYVd4a0xtRmpkSFZoYkVSMWNtRjBhVzl1TzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCMGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUNzOUlHTm9hV3hrTG5SeVpXVkNZWE5sUkhWeVlYUnBiMjQ3WEc0Z0lDQWdJQ0JqYUdsc1pDQTlJR05vYVd4a0xuTnBZbXhwYm1jN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dGNHeGxkR1ZrVjI5eWF5NWhZM1IxWVd4RWRYSmhkR2x2YmlBOUlHRmpkSFZoYkVSMWNtRjBhVzl1TzF4dUlDQWdJR052YlhCc1pYUmxaRmR2Y21zdWRISmxaVUpoYzJWRWRYSmhkR2x2YmlBOUlIUnlaV1ZDWVhObFJIVnlZWFJwYjI0N1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2RtRnlJRjlqYUdsc1pDQTlJR052YlhCc1pYUmxaRmR2Y21zdVkyaHBiR1E3WEc1Y2JpQWdJQ0IzYUdsc1pTQW9YMk5vYVd4a0lDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQjJZWElnWDJOb2FXeGtWWEJrWVhSbFJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCZlkyaHBiR1F1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ0lDQjJZWElnWDJOb2FXeGtRMmhwYkdSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUY5amFHbHNaQzVqYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dVhHNGdJQ0FnSUNCcFppQW9YMk5vYVd4a1ZYQmtZWFJsUlhod2FYSmhkR2x2YmxScGJXVWdQaUJ1WlhkRGFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQWdJRzVsZDBOb2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmZZMmhwYkdSVmNHUmhkR1ZGZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0Y5amFHbHNaRU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUGlCdVpYZERhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdJQ0FnSUc1bGQwTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVWdQU0JmWTJocGJHUkRhR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JmWTJocGJHUWdQU0JmWTJocGJHUXVjMmxpYkdsdVp6dGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmpiMjF3YkdWMFpXUlhiM0pyTG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQnVaWGREYUdsc1pFVjRjR2x5WVhScGIyNVVhVzFsTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqYjIxdGFYUlNiMjkwS0hKdmIzUXBJSHRjYmlBZ2RtRnlJSEpsYm1SbGNsQnlhVzl5YVhSNVRHVjJaV3dnUFNCblpYUkRkWEp5Wlc1MFVISnBiM0pwZEhsTVpYWmxiQ2dwTzF4dUlDQnlkVzVYYVhSb1VISnBiM0pwZEhra01TaEpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTd2dZMjl0YldsMFVtOXZkRWx0Y0d3dVltbHVaQ2h1ZFd4c0xDQnliMjkwTENCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc0tTazdYRzRnSUhKbGRIVnliaUJ1ZFd4c08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamIyMXRhWFJTYjI5MFNXMXdiQ2h5YjI5MExDQnlaVzVrWlhKUWNtbHZjbWwwZVV4bGRtVnNLU0I3WEc0Z0lHUnZJSHRjYmlBZ0lDQXZMeUJnWm14MWMyaFFZWE56YVhabFJXWm1aV04wYzJBZ2QybHNiQ0JqWVd4c0lHQm1iSFZ6YUZONWJtTlZjR1JoZEdWUmRXVjFaV0FnWVhRZ2RHaGxJR1Z1WkN3Z2QyaHBZMmhjYmlBZ0lDQXZMeUJ0WldGdWN5QmdabXgxYzJoUVlYTnphWFpsUldabVpXTjBjMkFnZDJsc2JDQnpiMjFsZEdsdFpYTWdjbVZ6ZFd4MElHbHVJR0ZrWkdsMGFXOXVZV3hjYmlBZ0lDQXZMeUJ3WVhOemFYWmxJR1ZtWm1WamRITXVJRk52SUhkbElHNWxaV1FnZEc4Z2EyVmxjQ0JtYkhWemFHbHVaeUJwYmlCaElHeHZiM0FnZFc1MGFXd2dkR2hsY21VZ1lYSmxYRzRnSUNBZ0x5OGdibThnYlc5eVpTQndaVzVrYVc1bklHVm1abVZqZEhNdVhHNGdJQ0FnTHk4Z1ZFOUVUem9nVFdsbmFIUWdZbVVnWW1WMGRHVnlJR2xtSUdCbWJIVnphRkJoYzNOcGRtVkZabVpsWTNSellDQmthV1FnYm05MElHRjFkRzl0WVhScFkyRnNiSGxjYmlBZ0lDQXZMeUJtYkhWemFDQnplVzVqYUhKdmJtOTFjeUIzYjNKcklHRjBJSFJvWlNCbGJtUXNJSFJ2SUdGMmIybGtJR1poWTNSdmNtbHVaeUJvWVhwaGNtUnpJR3hwYTJVZ2RHaHBjeTVjYmlBZ0lDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc0Z0lIMGdkMmhwYkdVZ0tISnZiM1JYYVhSb1VHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpJQ0U5UFNCdWRXeHNLVHRjYmx4dUlDQm1iSFZ6YUZKbGJtUmxjbEJvWVhObFUzUnlhV04wVFc5a1pWZGhjbTVwYm1kelNXNUVSVllvS1R0Y2JseHVJQ0JwWmlBb0lTZ29aWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQW1JQ2hTWlc1a1pYSkRiMjUwWlhoMElId2dRMjl0YldsMFEyOXVkR1Y0ZENrcElEMDlQU0JPYjBOdmJuUmxlSFFwS1NCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVMmh2ZFd4a0lHNXZkQ0JoYkhKbFlXUjVJR0psSUhkdmNtdHBibWN1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnWm1sdWFYTm9aV1JYYjNKcklEMGdjbTl2ZEM1bWFXNXBjMmhsWkZkdmNtczdYRzRnSUhaaGNpQmxlSEJwY21GMGFXOXVWR2x0WlNBOUlISnZiM1F1Wm1sdWFYTm9aV1JGZUhCcGNtRjBhVzl1VkdsdFpUdGNibHh1SUNCcFppQW9abWx1YVhOb1pXUlhiM0pySUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnliMjkwTG1acGJtbHphR1ZrVjI5eWF5QTlJRzUxYkd3N1hHNGdJSEp2YjNRdVptbHVhWE5vWldSRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUU1dlYyOXlhenRjYmx4dUlDQnBaaUFvSVNobWFXNXBjMmhsWkZkdmNtc2dJVDA5SUhKdmIzUXVZM1Z5Y21WdWRDa3BJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKRFlXNXViM1FnWTI5dGJXbDBJSFJvWlNCellXMWxJSFJ5WldVZ1lYTWdZbVZtYjNKbExpQlVhR2x6SUdWeWNtOXlJR2x6SUd4cGEyVnNlU0JqWVhWelpXUWdZbmtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklHTnZiVzFwZEZKdmIzUWdibVYyWlhJZ2NtVjBkWEp1Y3lCaElHTnZiblJwYm5WaGRHbHZianNnYVhRZ1lXeDNZWGx6SUdacGJtbHphR1Z6SUhONWJtTm9jbTl1YjNWemJIa3VYRzRnSUM4dklGTnZJSGRsSUdOaGJpQmpiR1ZoY2lCMGFHVnpaU0J1YjNjZ2RHOGdZV3hzYjNjZ1lTQnVaWGNnWTJGc2JHSmhZMnNnZEc4Z1ltVWdjMk5vWldSMWJHVmtMbHh1WEc1Y2JpQWdjbTl2ZEM1allXeHNZbUZqYTA1dlpHVWdQU0J1ZFd4c08xeHVJQ0J5YjI5MExtTmhiR3hpWVdOclJYaHdhWEpoZEdsdmJsUnBiV1VnUFNCT2IxZHZjbXM3WEc0Z0lISnZiM1F1WTJGc2JHSmhZMnRRY21sdmNtbDBlU0E5SUU1dlVISnBiM0pwZEhrN1hHNGdJSEp2YjNRdWJtVjRkRXR1YjNkdVVHVnVaR2x1WjB4bGRtVnNJRDBnVG05WGIzSnJPMXh1SUNCemRHRnlkRU52YlcxcGRGUnBiV1Z5S0NrN0lDOHZJRlZ3WkdGMFpTQjBhR1VnWm1seWMzUWdZVzVrSUd4aGMzUWdjR1Z1WkdsdVp5QjBhVzFsY3lCdmJpQjBhR2x6SUhKdmIzUXVJRlJvWlNCdVpYY2dabWx5YzNSY2JpQWdMeThnY0dWdVpHbHVaeUIwYVcxbElHbHpJSGRvWVhSbGRtVnlJR2x6SUd4bFpuUWdiMjRnZEdobElISnZiM1FnWm1saVpYSXVYRzVjYmlBZ2RtRnlJSEpsYldGcGJtbHVaMFY0Y0dseVlYUnBiMjVVYVcxbFFtVm1iM0psUTI5dGJXbDBJRDBnWjJWMFVtVnRZV2x1YVc1blJYaHdhWEpoZEdsdmJsUnBiV1VvWm1sdWFYTm9aV1JYYjNKcktUdGNiaUFnYldGeWExSnZiM1JHYVc1cGMyaGxaRUYwVkdsdFpTaHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU3dnY21WdFlXbHVhVzVuUlhod2FYSmhkR2x2YmxScGJXVkNaV1p2Y21WRGIyMXRhWFFwTzF4dVhHNGdJR2xtSUNoeWIyOTBJRDA5UFNCM2IzSnJTVzVRY205bmNtVnpjMUp2YjNRcElIdGNiaUFnSUNBdkx5QlhaU0JqWVc0Z2NtVnpaWFFnZEdobGMyVWdibTkzSUhSb1lYUWdkR2hsZVNCaGNtVWdabWx1YVhOb1pXUXVYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJRzUxYkd3N1hHNGdJQ0FnY21WdVpHVnlSWGh3YVhKaGRHbHZibFJwYldVa01TQTlJRTV2VjI5eWF6dGNiaUFnZlNBdkx5QlVhR2x6SUdsdVpHbGpZWFJsY3lCMGFHRjBJSFJvWlNCc1lYTjBJSEp2YjNRZ2QyVWdkMjl5YTJWa0lHOXVJR2x6SUc1dmRDQjBhR1VnYzJGdFpTQnZibVVnZEdoaGRGeHVJQ0F2THlCM1pTZHlaU0JqYjIxdGFYUjBhVzVuSUc1dmR5NGdWR2hwY3lCdGIzTjBJR052YlcxdmJteDVJR2hoY0hCbGJuTWdkMmhsYmlCaElITjFjM0JsYm1SbFpDQnliMjkwWEc0Z0lDOHZJSFJwYldWeklHOTFkQzVjYmlBZ0x5OGdSMlYwSUhSb1pTQnNhWE4wSUc5bUlHVm1abVZqZEhNdVhHNWNibHh1SUNCMllYSWdabWx5YzNSRlptWmxZM1E3WEc1Y2JpQWdhV1lnS0dacGJtbHphR1ZrVjI5eWF5NWxabVpsWTNSVVlXY2dQaUJRWlhKbWIzSnRaV1JYYjNKcktTQjdYRzRnSUNBZ0x5OGdRU0JtYVdKbGNpZHpJR1ZtWm1WamRDQnNhWE4wSUdOdmJuTnBjM1J6SUc5dWJIa2diMllnYVhSeklHTm9hV3hrY21WdUxDQnViM1FnYVhSelpXeG1MaUJUYnlCcFpseHVJQ0FnSUM4dklIUm9aU0J5YjI5MElHaGhjeUJoYmlCbFptWmxZM1FzSUhkbElHNWxaV1FnZEc4Z1lXUmtJR2wwSUhSdklIUm9aU0JsYm1RZ2IyWWdkR2hsSUd4cGMzUXVJRlJvWlZ4dUlDQWdJQzh2SUhKbGMzVnNkR2x1WnlCc2FYTjBJR2x6SUhSb1pTQnpaWFFnZEdoaGRDQjNiM1ZzWkNCaVpXeHZibWNnZEc4Z2RHaGxJSEp2YjNRbmN5QndZWEpsYm5Rc0lHbG1JR2wwWEc0Z0lDQWdMeThnYUdGa0lHOXVaVHNnZEdoaGRDQnBjeXdnWVd4c0lIUm9aU0JsWm1abFkzUnpJR2x1SUhSb1pTQjBjbVZsSUdsdVkyeDFaR2x1WnlCMGFHVWdjbTl2ZEM1Y2JpQWdJQ0JwWmlBb1ptbHVhWE5vWldSWGIzSnJMbXhoYzNSRlptWmxZM1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdacGJtbHphR1ZrVjI5eWF5NXNZWE4wUldabVpXTjBMbTVsZUhSRlptWmxZM1FnUFNCbWFXNXBjMmhsWkZkdmNtczdYRzRnSUNBZ0lDQm1hWEp6ZEVWbVptVmpkQ0E5SUdacGJtbHphR1ZrVjI5eWF5NW1hWEp6ZEVWbVptVmpkRHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1ptbHljM1JGWm1abFkzUWdQU0JtYVc1cGMyaGxaRmR2Y21zN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklGUm9aWEpsSUdseklHNXZJR1ZtWm1WamRDQnZiaUIwYUdVZ2NtOXZkQzVjYmlBZ0lDQm1hWEp6ZEVWbVptVmpkQ0E5SUdacGJtbHphR1ZrVjI5eWF5NW1hWEp6ZEVWbVptVmpkRHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaG1hWEp6ZEVWbVptVmpkQ0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSFpoY2lCd2NtVjJSWGhsWTNWMGFXOXVRMjl1ZEdWNGRDQTlJR1Y0WldOMWRHbHZia052Ym5SbGVIUTdYRzRnSUNBZ1pYaGxZM1YwYVc5dVEyOXVkR1Y0ZENCOFBTQkRiMjF0YVhSRGIyNTBaWGgwTzF4dUlDQWdJSFpoY2lCd2NtVjJTVzUwWlhKaFkzUnBiMjV6SUQwZ2NIVnphRWx1ZEdWeVlXTjBhVzl1Y3loeWIyOTBLVHNnTHk4Z1VtVnpaWFFnZEdocGN5QjBieUJ1ZFd4c0lHSmxabTl5WlNCallXeHNhVzVuSUd4cFptVmplV05zWlhOY2JseHVJQ0FnSUZKbFlXTjBRM1Z5Y21WdWRFOTNibVZ5SkRJdVkzVnljbVZ1ZENBOUlHNTFiR3c3SUM4dklGUm9aU0JqYjIxdGFYUWdjR2hoYzJVZ2FYTWdZbkp2YTJWdUlHbHVkRzhnYzJWMlpYSmhiQ0J6ZFdJdGNHaGhjMlZ6TGlCWFpTQmtieUJoSUhObGNHRnlZWFJsSUhCaGMzTmNiaUFnSUNBdkx5QnZaaUIwYUdVZ1pXWm1aV04wSUd4cGMzUWdabTl5SUdWaFkyZ2djR2hoYzJVNklHRnNiQ0J0ZFhSaGRHbHZiaUJsWm1abFkzUnpJR052YldVZ1ltVm1iM0psSUdGc2JGeHVJQ0FnSUM4dklHeGhlVzkxZENCbFptWmxZM1J6TENCaGJtUWdjMjhnYjI0dVhHNGdJQ0FnTHk4Z1ZHaGxJR1pwY25OMElIQm9ZWE5sSUdFZ1hDSmlaV1p2Y21VZ2JYVjBZWFJwYjI1Y0lpQndhR0Z6WlM0Z1YyVWdkWE5sSUhSb2FYTWdjR2hoYzJVZ2RHOGdjbVZoWkNCMGFHVmNiaUFnSUNBdkx5QnpkR0YwWlNCdlppQjBhR1VnYUc5emRDQjBjbVZsSUhKcFoyaDBJR0psWm05eVpTQjNaU0J0ZFhSaGRHVWdhWFF1SUZSb2FYTWdhWE1nZDJobGNtVmNiaUFnSUNBdkx5Qm5aWFJUYm1Gd2MyaHZkRUpsWm05eVpWVndaR0YwWlNCcGN5QmpZV3hzWldRdVhHNWNiaUFnSUNCemRHRnlkRU52YlcxcGRGTnVZWEJ6YUc5MFJXWm1aV04wYzFScGJXVnlLQ2s3WEc0Z0lDQWdjSEpsY0dGeVpVWnZja052YlcxcGRDaHliMjkwTG1OdmJuUmhhVzVsY2tsdVptOHBPMXh1SUNBZ0lHNWxlSFJGWm1abFkzUWdQU0JtYVhKemRFVm1abVZqZER0Y2JseHVJQ0FnSUdSdklIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yS0c1MWJHd3NJR052YlcxcGRFSmxabTl5WlUxMWRHRjBhVzl1UldabVpXTjBjeXdnYm5Wc2JDazdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjME5oZFdkb2RFVnljbTl5S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lTaHVaWGgwUldabVpXTjBJQ0U5UFNCdWRXeHNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVGFHOTFiR1FnWW1VZ2QyOXlhMmx1WnlCdmJpQmhiaUJsWm1abFkzUXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1pYSnliM0lnUFNCamJHVmhja05oZFdkb2RFVnljbTl5S0NrN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ3ZEhWeVpVTnZiVzFwZEZCb1lYTmxSWEp5YjNJb2JtVjRkRVZtWm1WamRDd2daWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQWdJRzVsZUhSRlptWmxZM1FnUFNCdVpYaDBSV1ptWldOMExtNWxlSFJGWm1abFkzUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJSGRvYVd4bElDaHVaWGgwUldabVpXTjBJQ0U5UFNCdWRXeHNLVHRjYmx4dUlDQWdJSE4wYjNCRGIyMXRhWFJUYm1Gd2MyaHZkRVZtWm1WamRITlVhVzFsY2lncE8xeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdUV0Z5YXlCMGFHVWdZM1Z5Y21WdWRDQmpiMjF0YVhRZ2RHbHRaU0IwYnlCaVpTQnphR0Z5WldRZ1lua2dZV3hzSUZCeWIyWnBiR1Z5Y3lCcGJpQjBhR2x6WEc0Z0lDQWdJQ0F2THlCaVlYUmphQzRnVkdocGN5QmxibUZpYkdWeklIUm9aVzBnZEc4Z1ltVWdaM0p2ZFhCbFpDQnNZWFJsY2k1Y2JpQWdJQ0FnSUhKbFkyOXlaRU52YlcxcGRGUnBiV1VvS1R0Y2JpQWdJQ0I5SUM4dklGUm9aU0J1WlhoMElIQm9ZWE5sSUdseklIUm9aU0J0ZFhSaGRHbHZiaUJ3YUdGelpTd2dkMmhsY21VZ2QyVWdiWFYwWVhSbElIUm9aU0JvYjNOMElIUnlaV1V1WEc1Y2JseHVJQ0FnSUhOMFlYSjBRMjl0YldsMFNHOXpkRVZtWm1WamRITlVhVzFsY2lncE8xeHVJQ0FnSUc1bGVIUkZabVpsWTNRZ1BTQm1hWEp6ZEVWbVptVmpkRHRjYmx4dUlDQWdJR1J2SUh0Y2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2FXNTJiMnRsUjNWaGNtUmxaRU5oYkd4aVlXTnJLRzUxYkd3c0lHTnZiVzFwZEUxMWRHRjBhVzl1UldabVpXTjBjeXdnYm5Wc2JDd2djbTl2ZEN3Z2NtVnVaR1Z5VUhKcGIzSnBkSGxNWlhabGJDazdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHaGhjME5oZFdkb2RFVnljbTl5S0NrcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lTaHVaWGgwUldabVpXTjBJQ0U5UFNCdWRXeHNLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKVGFHOTFiR1FnWW1VZ2QyOXlhMmx1WnlCdmJpQmhiaUJsWm1abFkzUXVYQ0lnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ1gyVnljbTl5SUQwZ1kyeGxZWEpEWVhWbmFIUkZjbkp2Y2lncE8xeHVYRzRnSUNBZ0lDQWdJQ0FnWTJGd2RIVnlaVU52YlcxcGRGQm9ZWE5sUlhKeWIzSW9ibVY0ZEVWbVptVmpkQ3dnWDJWeWNtOXlLVHRjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSV1ptWldOMElEMGdibVY0ZEVWbVptVmpkQzV1WlhoMFJXWm1aV04wTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlNCM2FHbHNaU0FvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrN1hHNWNiaUFnSUNCemRHOXdRMjl0YldsMFNHOXpkRVZtWm1WamRITlVhVzFsY2lncE8xeHVJQ0FnSUhKbGMyVjBRV1owWlhKRGIyMXRhWFFvY205dmRDNWpiMjUwWVdsdVpYSkpibVp2S1RzZ0x5OGdWR2hsSUhkdmNtc3RhVzR0Y0hKdlozSmxjM01nZEhKbFpTQnBjeUJ1YjNjZ2RHaGxJR04xY25KbGJuUWdkSEpsWlM0Z1ZHaHBjeUJ0ZFhOMElHTnZiV1VnWVdaMFpYSmNiaUFnSUNBdkx5QjBhR1VnYlhWMFlYUnBiMjRnY0doaGMyVXNJSE52SUhSb1lYUWdkR2hsSUhCeVpYWnBiM1Z6SUhSeVpXVWdhWE1nYzNScGJHd2dZM1Z5Y21WdWRDQmtkWEpwYm1kY2JpQWdJQ0F2THlCamIyMXdiMjVsYm5SWGFXeHNWVzV0YjNWdWRDd2dZblYwSUdKbFptOXlaU0IwYUdVZ2JHRjViM1YwSUhCb1lYTmxMQ0J6YnlCMGFHRjBJSFJvWlNCbWFXNXBjMmhsWkZ4dUlDQWdJQzh2SUhkdmNtc2dhWE1nWTNWeWNtVnVkQ0JrZFhKcGJtY2dZMjl0Y0c5dVpXNTBSR2xrVFc5MWJuUXZWWEJrWVhSbExseHVYRzRnSUNBZ2NtOXZkQzVqZFhKeVpXNTBJRDBnWm1sdWFYTm9aV1JYYjNKck95QXZMeUJVYUdVZ2JtVjRkQ0J3YUdGelpTQnBjeUIwYUdVZ2JHRjViM1YwSUhCb1lYTmxMQ0IzYUdWeVpTQjNaU0JqWVd4c0lHVm1abVZqZEhNZ2RHaGhkQ0J5WldGa1hHNGdJQ0FnTHk4Z2RHaGxJR2h2YzNRZ2RISmxaU0JoWm5SbGNpQnBkQ2R6SUdKbFpXNGdiWFYwWVhSbFpDNGdWR2hsSUdsa2FXOXRZWFJwWXlCMWMyVWdZMkZ6WlNCbWIzSWdkR2hwY3lCcGMxeHVJQ0FnSUM4dklHeGhlVzkxZEN3Z1luVjBJR05zWVhOeklHTnZiWEJ2Ym1WdWRDQnNhV1psWTNsamJHVnpJR0ZzYzI4Z1ptbHlaU0JvWlhKbElHWnZjaUJzWldkaFkza2djbVZoYzI5dWN5NWNibHh1SUNBZ0lITjBZWEowUTI5dGJXbDBUR2xtWlVONVkyeGxjMVJwYldWeUtDazdYRzRnSUNBZ2JtVjRkRVZtWm1WamRDQTlJR1pwY25OMFJXWm1aV04wTzF4dVhHNGdJQ0FnWkc4Z2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBiblp2YTJWSGRXRnlaR1ZrUTJGc2JHSmhZMnNvYm5Wc2JDd2dZMjl0YldsMFRHRjViM1YwUldabVpXTjBjeXdnYm5Wc2JDd2djbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hvWVhORFlYVm5hSFJGY25KdmNpZ3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLQ0VvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dSWEp5YjNJb0lGd2lVMmh2ZFd4a0lHSmxJSGR2Y210cGJtY2diMjRnWVc0Z1pXWm1aV04wTGx3aUlDazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjlsY25KdmNqSWdQU0JqYkdWaGNrTmhkV2RvZEVWeWNtOXlLQ2s3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmpZWEIwZFhKbFEyOXRiV2wwVUdoaGMyVkZjbkp2Y2lodVpYaDBSV1ptWldOMExDQmZaWEp5YjNJeUtUdGNiaUFnSUNBZ0lDQWdJQ0J1WlhoMFJXWm1aV04wSUQwZ2JtVjRkRVZtWm1WamRDNXVaWGgwUldabVpXTjBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU0IzYUdsc1pTQW9ibVY0ZEVWbVptVmpkQ0FoUFQwZ2JuVnNiQ2s3WEc1Y2JpQWdJQ0J6ZEc5d1EyOXRiV2wwVEdsbVpVTjVZMnhsYzFScGJXVnlLQ2s3WEc0Z0lDQWdibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdJQzh2SUZSbGJHd2dVMk5vWldSMWJHVnlJSFJ2SUhscFpXeGtJR0YwSUhSb1pTQmxibVFnYjJZZ2RHaGxJR1p5WVcxbExDQnpieUIwYUdVZ1luSnZkM05sY2lCb1lYTWdZVzVjYmlBZ0lDQXZMeUJ2Y0hCdmNuUjFibWwwZVNCMGJ5QndZV2x1ZEM1Y2JseHVJQ0FnSUhKbGNYVmxjM1JRWVdsdWRDZ3BPMXh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdjRzl3U1c1MFpYSmhZM1JwYjI1ektIQnlaWFpKYm5SbGNtRmpkR2x2Ym5NcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdWNFpXTjFkR2x2YmtOdmJuUmxlSFFnUFNCd2NtVjJSWGhsWTNWMGFXOXVRMjl1ZEdWNGREdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQXZMeUJPYnlCbFptWmxZM1J6TGx4dUlDQWdJSEp2YjNRdVkzVnljbVZ1ZENBOUlHWnBibWx6YUdWa1YyOXlhenNnTHk4Z1RXVmhjM1Z5WlNCMGFHVnpaU0JoYm5sM1lYa2djMjhnZEdobElHWnNZVzFsWjNKaGNHZ2daWGh3YkdsamFYUnNlU0J6YUc5M2N5QjBhR0YwSUhSb1pYSmxJSGRsY21WY2JpQWdJQ0F2THlCdWJ5QmxabVpsWTNSekxseHVJQ0FnSUM4dklGUlBSRTg2SUUxaGVXSmxJSFJvWlhKbEozTWdZU0JpWlhSMFpYSWdkMkY1SUhSdklISmxjRzl5ZENCMGFHbHpMbHh1WEc0Z0lDQWdjM1JoY25SRGIyMXRhWFJUYm1Gd2MyaHZkRVZtWm1WamRITlVhVzFsY2lncE8xeHVJQ0FnSUhOMGIzQkRiMjF0YVhSVGJtRndjMmh2ZEVWbVptVmpkSE5VYVcxbGNpZ3BPMXh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdjbVZqYjNKa1EyOXRiV2wwVkdsdFpTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjBZWEowUTI5dGJXbDBTRzl6ZEVWbVptVmpkSE5VYVcxbGNpZ3BPMXh1SUNBZ0lITjBiM0JEYjIxdGFYUkliM04wUldabVpXTjBjMVJwYldWeUtDazdYRzRnSUNBZ2MzUmhjblJEYjIxdGFYUk1hV1psUTNsamJHVnpWR2x0WlhJb0tUdGNiaUFnSUNCemRHOXdRMjl0YldsMFRHbG1aVU41WTJ4bGMxUnBiV1Z5S0NrN1hHNGdJSDFjYmx4dUlDQnpkRzl3UTI5dGJXbDBWR2x0WlhJb0tUdGNiaUFnZG1GeUlISnZiM1JFYVdSSVlYWmxVR0Z6YzJsMlpVVm1abVZqZEhNZ1BTQnliMjkwUkc5bGMwaGhkbVZRWVhOemFYWmxSV1ptWldOMGN6dGNibHh1SUNCcFppQW9jbTl2ZEVSdlpYTklZWFpsVUdGemMybDJaVVZtWm1WamRITXBJSHRjYmlBZ0lDQXZMeUJVYUdseklHTnZiVzFwZENCb1lYTWdjR0Z6YzJsMlpTQmxabVpsWTNSekxpQlRkR0Z6YUNCaElISmxabVZ5Wlc1alpTQjBieUIwYUdWdExpQkNkWFFnWkc5dUozUmNiaUFnSUNBdkx5QnpZMmhsWkhWc1pTQmhJR05oYkd4aVlXTnJJSFZ1ZEdsc0lHRm1kR1Z5SUdac2RYTm9hVzVuSUd4aGVXOTFkQ0IzYjNKckxseHVJQ0FnSUhKdmIzUkViMlZ6U0dGMlpWQmhjM05wZG1WRlptWmxZM1J6SUQwZ1ptRnNjMlU3WEc0Z0lDQWdjbTl2ZEZkcGRHaFFaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE1nUFNCeWIyOTBPMXh1SUNBZ0lIQmxibVJwYm1kUVlYTnphWFpsUldabVpXTjBjMFY0Y0dseVlYUnBiMjVVYVcxbElEMGdaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJQ0FnY0dWdVpHbHVaMUJoYzNOcGRtVkZabVpsWTNSelVtVnVaR1Z5VUhKcGIzSnBkSGtnUFNCeVpXNWtaWEpRY21sdmNtbDBlVXhsZG1Wc08xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRmRsSUdGeVpTQmtiMjVsSUhkcGRHZ2dkR2hsSUdWbVptVmpkQ0JqYUdGcGJpQmhkQ0IwYUdseklIQnZhVzUwSUhOdklHeGxkQ2R6SUdOc1pXRnlJSFJvWlZ4dUlDQWdJQzh2SUc1bGVIUkZabVpsWTNRZ2NHOXBiblJsY25NZ2RHOGdZWE56YVhOMElIZHBkR2dnUjBNdUlFbG1JSGRsSUdoaGRtVWdjR0Z6YzJsMlpTQmxabVpsWTNSekxDQjNaU2RzYkZ4dUlDQWdJQzh2SUdOc1pXRnlJSFJvYVhNZ2FXNGdabXgxYzJoUVlYTnphWFpsUldabVpXTjBjeTVjYmlBZ0lDQnVaWGgwUldabVpXTjBJRDBnWm1seWMzUkZabVpsWTNRN1hHNWNiaUFnSUNCM2FHbHNaU0FvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2RtRnlJRzVsZUhST1pYaDBSV1ptWldOMElEMGdibVY0ZEVWbVptVmpkQzV1WlhoMFJXWm1aV04wTzF4dUlDQWdJQ0FnYm1WNGRFVm1abVZqZEM1dVpYaDBSV1ptWldOMElEMGdiblZzYkR0Y2JpQWdJQ0FnSUc1bGVIUkZabVpsWTNRZ1BTQnVaWGgwVG1WNGRFVm1abVZqZER0Y2JpQWdJQ0I5WEc0Z0lIMGdMeThnUTJobFkyc2dhV1lnZEdobGNtVW5jeUJ5WlcxaGFXNXBibWNnZDI5eWF5QnZiaUIwYUdseklISnZiM1JjYmx4dVhHNGdJSFpoY2lCeVpXMWhhVzVwYm1kRmVIQnBjbUYwYVc5dVZHbHRaU0E5SUhKdmIzUXVabWx5YzNSUVpXNWthVzVuVkdsdFpUdGNibHh1SUNCcFppQW9jbVZ0WVdsdWFXNW5SWGh3YVhKaGRHbHZibFJwYldVZ0lUMDlJRTV2VjI5eWF5a2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lHbG1JQ2h6Y0dGM2JtVmtWMjl5YTBSMWNtbHVaMUpsYm1SbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1pYaHdhWEpoZEdsdmJsUnBiV1Z6SUQwZ2MzQmhkMjVsWkZkdmNtdEVkWEpwYm1kU1pXNWtaWEk3WEc0Z0lDQWdJQ0FnSUhOd1lYZHVaV1JYYjNKclJIVnlhVzVuVW1WdVpHVnlJRDBnYm5Wc2JEdGNibHh1SUNBZ0lDQWdJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUdWNGNHbHlZWFJwYjI1VWFXMWxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJSE5qYUdWa2RXeGxTVzUwWlhKaFkzUnBiMjV6S0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbGMxdHBYU3dnY205dmRDNXRaVzF2YVhwbFpFbHVkR1Z5WVdOMGFXOXVjeWs3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2MyTm9aV1IxYkdWUVpXNWthVzVuU1c1MFpYSmhZM1JwYjI1ektISnZiM1FzSUhKbGJXRnBibWx1WjBWNGNHbHlZWFJwYjI1VWFXMWxLVHRjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnU1dZZ2RHaGxjbVVuY3lCdWJ5QnlaVzFoYVc1cGJtY2dkMjl5YXl3Z2QyVWdZMkZ1SUdOc1pXRnlJSFJvWlNCelpYUWdiMllnWVd4eVpXRmtlU0JtWVdsc1pXUmNiaUFnSUNBdkx5Qmxjbkp2Y2lCaWIzVnVaR0Z5YVdWekxseHVJQ0FnSUd4bFoyRmplVVZ5Y205eVFtOTFibVJoY21sbGMxUm9ZWFJCYkhKbFlXUjVSbUZwYkdWa0lEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lIdGNiaUFnSUNCcFppQW9JWEp2YjNSRWFXUklZWFpsVUdGemMybDJaVVZtWm1WamRITXBJSHRjYmlBZ0lDQWdJQzh2SUVsbUlIUm9aWEpsSUdGeVpTQnVieUJ3WVhOemFYWmxJR1ZtWm1WamRITXNJSFJvWlc0Z2QyVWdZMkZ1SUdOdmJYQnNaWFJsSUhSb1pTQndaVzVrYVc1bklHbHVkR1Z5WVdOMGFXOXVjeTVjYmlBZ0lDQWdJQzh2SUU5MGFHVnlkMmx6WlN3Z2QyVW5iR3dnZDJGcGRDQjFiblJwYkNCaFpuUmxjaUIwYUdVZ2NHRnpjMmwyWlNCbFptWmxZM1J6SUdGeVpTQm1iSFZ6YUdWa0xseHVJQ0FnSUNBZ0x5OGdWMkZwZENCMGJ5QmtieUIwYUdseklIVnVkR2xzSUdGbWRHVnlJSEpsYldGcGJtbHVaeUIzYjNKcklHaGhjeUJpWldWdUlITmphR1ZrZFd4bFpDeGNiaUFnSUNBZ0lDOHZJSE52SUhSb1lYUWdkMlVnWkc5dUozUWdjSEpsYldGMGRYSmxiSGtnYzJsbmJtRnNJR052YlhCc1pYUmxJR1p2Y2lCcGJuUmxjbUZqZEdsdmJuTWdkMmhsYmlCMGFHVnlaU2R6SUdVdVp5NGdhR2xrWkdWdUlIZHZjbXN1WEc0Z0lDQWdJQ0JtYVc1cGMyaFFaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCcFppQW9jbVZ0WVdsdWFXNW5SWGh3YVhKaGRHbHZibFJwYldVZ1BUMDlJRk41Ym1NcElIdGNiaUFnSUNBdkx5QkRiM1Z1ZENCMGFHVWdiblZ0WW1WeUlHOW1JSFJwYldWeklIUm9aU0J5YjI5MElITjVibU5vY205dWIzVnpiSGtnY21VdGNtVnVaR1Z5Y3lCM2FYUm9iM1YwWEc0Z0lDQWdMeThnWm1sdWFYTm9hVzVuTGlCSlppQjBhR1Z5WlNCaGNtVWdkRzl2SUcxaGJua3NJR2wwSUdsdVpHbGpZWFJsY3lCaGJpQnBibVpwYm1sMFpTQjFjR1JoZEdVZ2JHOXZjQzVjYmlBZ0lDQnBaaUFvY205dmRDQTlQVDBnY205dmRGZHBkR2hPWlhOMFpXUlZjR1JoZEdWektTQjdYRzRnSUNBZ0lDQnVaWE4wWldSVmNHUmhkR1ZEYjNWdWRDc3JPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdVpYTjBaV1JWY0dSaGRHVkRiM1Z1ZENBOUlEQTdYRzRnSUNBZ0lDQnliMjkwVjJsMGFFNWxjM1JsWkZWd1pHRjBaWE1nUFNCeWIyOTBPMXh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnVaWE4wWldSVmNHUmhkR1ZEYjNWdWRDQTlJREE3WEc0Z0lIMWNibHh1SUNCdmJrTnZiVzFwZEZKdmIzUW9abWx1YVhOb1pXUlhiM0pyTG5OMFlYUmxUbTlrWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwT3lBdkx5QkJiSGRoZVhNZ1kyRnNiQ0IwYUdseklHSmxabTl5WlNCbGVHbDBhVzVuSUdCamIyMXRhWFJTYjI5MFlDd2dkRzhnWlc1emRYSmxJSFJvWVhRZ1lXNTVYRzRnSUM4dklHRmtaR2wwYVc5dVlXd2dkMjl5YXlCdmJpQjBhR2x6SUhKdmIzUWdhWE1nYzJOb1pXUjFiR1ZrTGx4dVhHNGdJR1Z1YzNWeVpWSnZiM1JKYzFOamFHVmtkV3hsWkNoeWIyOTBLVHRjYmx4dUlDQnBaaUFvYUdGelZXNWpZWFZuYUhSRmNuSnZjaWtnZTF4dUlDQWdJR2hoYzFWdVkyRjFaMmgwUlhKeWIzSWdQU0JtWVd4elpUdGNiaUFnSUNCMllYSWdYMlZ5Y205eU15QTlJR1pwY25OMFZXNWpZWFZuYUhSRmNuSnZjanRjYmlBZ0lDQm1hWEp6ZEZWdVkyRjFaMmgwUlhKeWIzSWdQU0J1ZFd4c08xeHVJQ0FnSUhSb2NtOTNJRjlsY25KdmNqTTdYRzRnSUgxY2JseHVJQ0JwWmlBb0tHVjRaV04xZEdsdmJrTnZiblJsZUhRZ0ppQk1aV2RoWTNsVmJtSmhkR05vWldSRGIyNTBaWGgwS1NBaFBUMGdUbTlEYjI1MFpYaDBLU0I3WEc0Z0lDQWdMeThnVkdocGN5QnBjeUJoSUd4bFoyRmplU0JsWkdkbElHTmhjMlV1SUZkbElHcDFjM1FnWTI5dGJXbDBkR1ZrSUhSb1pTQnBibWwwYVdGc0lHMXZkVzUwSUc5bVhHNGdJQ0FnTHk4Z1lTQlNaV0ZqZEVSUFRTNXlaVzVrWlhJdFpXUWdjbTl2ZENCcGJuTnBaR1VnYjJZZ1ltRjBZMmhsWkZWd1pHRjBaWE11SUZSb1pTQmpiMjF0YVhRZ1ptbHlaV1JjYmlBZ0lDQXZMeUJ6ZVc1amFISnZibTkxYzJ4NUxDQmlkWFFnYkdGNWIzVjBJSFZ3WkdGMFpYTWdjMmh2ZFd4a0lHSmxJR1JsWm1WeWNtVmtJSFZ1ZEdsc0lIUm9aU0JsYm1SY2JpQWdJQ0F2THlCdlppQjBhR1VnWW1GMFkyZ3VYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgwZ0x5OGdTV1lnYkdGNWIzVjBJSGR2Y21zZ2QyRnpJSE5qYUdWa2RXeGxaQ3dnWm14MWMyZ2dhWFFnYm05M0xseHVYRzVjYmlBZ1pteDFjMmhUZVc1alEyRnNiR0poWTJ0UmRXVjFaU2dwTzF4dUlDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdZMjl0YldsMFFtVm1iM0psVFhWMFlYUnBiMjVGWm1abFkzUnpLQ2tnZTF4dUlDQjNhR2xzWlNBb2JtVjRkRVZtWm1WamRDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lIWmhjaUJsWm1abFkzUlVZV2NnUFNCdVpYaDBSV1ptWldOMExtVm1abVZqZEZSaFp6dGNibHh1SUNBZ0lHbG1JQ2dvWldabVpXTjBWR0ZuSUNZZ1UyNWhjSE5vYjNRcElDRTlQU0JPYjBWbVptVmpkQ2tnZTF4dUlDQWdJQ0FnYzJWMFEzVnljbVZ1ZEVacFltVnlLRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJQ0FnY21WamIzSmtSV1ptWldOMEtDazdYRzRnSUNBZ0lDQjJZWElnWTNWeWNtVnVkQ0E5SUc1bGVIUkZabVpsWTNRdVlXeDBaWEp1WVhSbE8xeHVJQ0FnSUNBZ1kyOXRiV2wwUW1WbWIzSmxUWFYwWVhScGIyNU1hV1psUTNsamJHVnpLR04xY25KbGJuUXNJRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJQ0FnY21WelpYUkRkWEp5Wlc1MFJtbGlaWElvS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0tHVm1abVZqZEZSaFp5QW1JRkJoYzNOcGRtVXBJQ0U5UFNCT2IwVm1abVZqZENrZ2UxeHVJQ0FnSUNBZ0x5OGdTV1lnZEdobGNtVWdZWEpsSUhCaGMzTnBkbVVnWldabVpXTjBjeXdnYzJOb1pXUjFiR1VnWVNCallXeHNZbUZqYXlCMGJ5Qm1iSFZ6YUNCaGRGeHVJQ0FnSUNBZ0x5OGdkR2hsSUdWaGNteHBaWE4wSUc5d2NHOXlkSFZ1YVhSNUxseHVJQ0FnSUNBZ2FXWWdLQ0Z5YjI5MFJHOWxjMGhoZG1WUVlYTnphWFpsUldabVpXTjBjeWtnZTF4dUlDQWdJQ0FnSUNCeWIyOTBSRzlsYzBoaGRtVlFZWE56YVhabFJXWm1aV04wY3lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUhOamFHVmtkV3hsUTJGc2JHSmhZMnNvVG05eWJXRnNVSEpwYjNKcGRIa3NJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQm1iSFZ6YUZCaGMzTnBkbVZGWm1abFkzUnpLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJRzVsZUhSRlptWmxZM1FnUFNCdVpYaDBSV1ptWldOMExtNWxlSFJGWm1abFkzUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBUWFYwWVhScGIyNUZabVpsWTNSektISnZiM1FzSUhKbGJtUmxjbEJ5YVc5eWFYUjVUR1YyWld3cElIdGNiaUFnTHk4Z1ZFOUVUem9nVTJodmRXeGtJSEJ5YjJKaFlteDVJRzF2ZG1VZ2RHaGxJR0oxYkdzZ2IyWWdkR2hwY3lCbWRXNWpkR2x2YmlCMGJ5QmpiMjF0YVhSWGIzSnJMbHh1SUNCM2FHbHNaU0FvYm1WNGRFVm1abVZqZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhObGRFTjFjbkpsYm5SR2FXSmxjaWh1WlhoMFJXWm1aV04wS1R0Y2JpQWdJQ0IyWVhJZ1pXWm1aV04wVkdGbklEMGdibVY0ZEVWbVptVmpkQzVsWm1abFkzUlVZV2M3WEc1Y2JpQWdJQ0JwWmlBb1pXWm1aV04wVkdGbklDWWdRMjl1ZEdWdWRGSmxjMlYwS1NCN1hHNGdJQ0FnSUNCamIyMXRhWFJTWlhObGRGUmxlSFJEYjI1MFpXNTBLRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobFptWmxZM1JVWVdjZ0ppQlNaV1lwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpkWEp5Wlc1MElEMGdibVY0ZEVWbVptVmpkQzVoYkhSbGNtNWhkR1U3WEc1Y2JpQWdJQ0FnSUdsbUlDaGpkWEp5Wlc1MElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJR052YlcxcGRFUmxkR0ZqYUZKbFppaGpkWEp5Wlc1MEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlDOHZJRlJvWlNCbWIyeHNiM2RwYm1jZ2MzZHBkR05vSUhOMFlYUmxiV1Z1ZENCcGN5QnZibXg1SUdOdmJtTmxjbTVsWkNCaFltOTFkQ0J3YkdGalpXMWxiblFzWEc0Z0lDQWdMeThnZFhCa1lYUmxjeXdnWVc1a0lHUmxiR1YwYVc5dWN5NGdWRzhnWVhadmFXUWdibVZsWkdsdVp5QjBieUJoWkdRZ1lTQmpZWE5sSUdadmNpQmxkbVZ5ZVNCd2IzTnphV0pzWlZ4dUlDQWdJQzh2SUdKcGRHMWhjQ0IyWVd4MVpTd2dkMlVnY21WdGIzWmxJSFJvWlNCelpXTnZibVJoY25rZ1pXWm1aV04wY3lCbWNtOXRJSFJvWlNCbFptWmxZM1FnZEdGbklHRnVaRnh1SUNBZ0lDOHZJSE4zYVhSamFDQnZiaUIwYUdGMElIWmhiSFZsTGx4dVhHNWNiaUFnSUNCMllYSWdjSEpwYldGeWVVVm1abVZqZEZSaFp5QTlJR1ZtWm1WamRGUmhaeUFtSUNoUWJHRmpaVzFsYm5RZ2ZDQlZjR1JoZEdVZ2ZDQkVaV3hsZEdsdmJpQjhJRWg1WkhKaGRHbHVaeWs3WEc1Y2JpQWdJQ0J6ZDJsMFkyZ2dLSEJ5YVcxaGNubEZabVpsWTNSVVlXY3BJSHRjYmlBZ0lDQWdJR05oYzJVZ1VHeGhZMlZ0Wlc1ME9seHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dGJXbDBVR3hoWTJWdFpXNTBLRzVsZUhSRlptWmxZM1FwT3lBdkx5QkRiR1ZoY2lCMGFHVWdYQ0p3YkdGalpXMWxiblJjSWlCbWNtOXRJR1ZtWm1WamRDQjBZV2NnYzI4Z2RHaGhkQ0IzWlNCcmJtOTNJSFJvWVhRZ2RHaHBjeUJwYzF4dUlDQWdJQ0FnSUNBZ0lDOHZJR2x1YzJWeWRHVmtMQ0JpWldadmNtVWdZVzU1SUd4cFptVXRZM2xqYkdWeklHeHBhMlVnWTI5dGNHOXVaVzUwUkdsa1RXOTFiblFnWjJWMGN5QmpZV3hzWldRdVhHNGdJQ0FnSUNBZ0lDQWdMeThnVkU5RVR6b2dabWx1WkVSUFRVNXZaR1VnWkc5bGMyNG5kQ0J5Wld4NUlHOXVJSFJvYVhNZ1lXNTVJRzF2Y21VZ1luVjBJR2x6VFc5MWJuUmxaQ0JrYjJWelhHNGdJQ0FnSUNBZ0lDQWdMeThnWVc1a0lHbHpUVzkxYm5SbFpDQnBjeUJrWlhCeVpXTmhkR1ZrSUdGdWVYZGhlU0J6YnlCM1pTQnphRzkxYkdRZ1ltVWdZV0pzWlNCMGJ5QnJhV3hzSUhSb2FYTXVYRzVjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSV1ptWldOMExtVm1abVZqZEZSaFp5QW1QU0IrVUd4aFkyVnRaVzUwTzF4dUlDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTmhjMlVnVUd4aFkyVnRaVzUwUVc1a1ZYQmtZWFJsT2x4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVUd4aFkyVnRaVzUwWEc0Z0lDQWdJQ0FnSUNBZ1kyOXRiV2wwVUd4aFkyVnRaVzUwS0c1bGVIUkZabVpsWTNRcE95QXZMeUJEYkdWaGNpQjBhR1VnWENKd2JHRmpaVzFsYm5SY0lpQm1jbTl0SUdWbVptVmpkQ0IwWVdjZ2MyOGdkR2hoZENCM1pTQnJibTkzSUhSb1lYUWdkR2hwY3lCcGMxeHVJQ0FnSUNBZ0lDQWdJQzh2SUdsdWMyVnlkR1ZrTENCaVpXWnZjbVVnWVc1NUlHeHBabVV0WTNsamJHVnpJR3hwYTJVZ1kyOXRjRzl1Wlc1MFJHbGtUVzkxYm5RZ1oyVjBjeUJqWVd4c1pXUXVYRzVjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBSV1ptWldOMExtVm1abVZqZEZSaFp5QW1QU0IrVUd4aFkyVnRaVzUwT3lBdkx5QlZjR1JoZEdWY2JseHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZlkzVnljbVZ1ZENBOUlHNWxlSFJGWm1abFkzUXVZV3gwWlhKdVlYUmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJXMXBkRmR2Y21zb1gyTjFjbkpsYm5Rc0lHNWxlSFJGWm1abFkzUXBPMXh1SUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOaGMyVWdTSGxrY21GMGFXNW5PbHh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2JtVjRkRVZtWm1WamRDNWxabVpsWTNSVVlXY2dKajBnZmtoNVpISmhkR2x1Wnp0Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmpZWE5sSUVoNVpISmhkR2x1WjBGdVpGVndaR0YwWlRwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJRzVsZUhSRlptWmxZM1F1WldabVpXTjBWR0ZuSUNZOUlINUllV1J5WVhScGJtYzdJQzh2SUZWd1pHRjBaVnh1WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJRjlqZFhKeVpXNTBNaUE5SUc1bGVIUkZabVpsWTNRdVlXeDBaWEp1WVhSbE8xeHVJQ0FnSUNBZ0lDQWdJR052YlcxcGRGZHZjbXNvWDJOMWNuSmxiblF5TENCdVpYaDBSV1ptWldOMEtUdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JqWVhObElGVndaR0YwWlRwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCZlkzVnljbVZ1ZERNZ1BTQnVaWGgwUldabVpXTjBMbUZzZEdWeWJtRjBaVHRjYmlBZ0lDQWdJQ0FnSUNCamIyMXRhWFJYYjNKcktGOWpkWEp5Wlc1ME15d2dibVY0ZEVWbVptVmpkQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1kyRnpaU0JFWld4bGRHbHZianBjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZiVzFwZEVSbGJHVjBhVzl1S0hKdmIzUXNJRzVsZUhSRlptWmxZM1FzSUhKbGJtUmxjbEJ5YVc5eWFYUjVUR1YyWld3cE8xeHVJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZTQXZMeUJVVDBSUE9pQlBibXg1SUhKbFkyOXlaQ0JoSUcxMWRHRjBhVzl1SUdWbVptVmpkQ0JwWmlCd2NtbHRZWEo1UldabVpXTjBWR0ZuSUdseklHNXZiaTE2WlhKdkxseHVYRzVjYmlBZ0lDQnlaV052Y21SRlptWmxZM1FvS1R0Y2JpQWdJQ0J5WlhObGRFTjFjbkpsYm5SR2FXSmxjaWdwTzF4dUlDQWdJRzVsZUhSRlptWmxZM1FnUFNCdVpYaDBSV1ptWldOMExtNWxlSFJGWm1abFkzUTdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGJXbDBUR0Y1YjNWMFJXWm1aV04wY3loeWIyOTBMQ0JqYjIxdGFYUjBaV1JGZUhCcGNtRjBhVzl1VkdsdFpTa2dlMXh1SUNBdkx5QlVUMFJQT2lCVGFHOTFiR1FnY0hKdlltRmliSGtnYlc5MlpTQjBhR1VnWW5Wc2F5QnZaaUIwYUdseklHWjFibU4wYVc5dUlIUnZJR052YlcxcGRGZHZjbXN1WEc0Z0lIZG9hV3hsSUNodVpYaDBSV1ptWldOMElDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2MyVjBRM1Z5Y21WdWRFWnBZbVZ5S0c1bGVIUkZabVpsWTNRcE8xeHVJQ0FnSUhaaGNpQmxabVpsWTNSVVlXY2dQU0J1WlhoMFJXWm1aV04wTG1WbVptVmpkRlJoWnp0Y2JseHVJQ0FnSUdsbUlDaGxabVpsWTNSVVlXY2dKaUFvVlhCa1lYUmxJSHdnUTJGc2JHSmhZMnNwS1NCN1hHNGdJQ0FnSUNCeVpXTnZjbVJGWm1abFkzUW9LVHRjYmlBZ0lDQWdJSFpoY2lCamRYSnlaVzUwSUQwZ2JtVjRkRVZtWm1WamRDNWhiSFJsY201aGRHVTdYRzRnSUNBZ0lDQmpiMjF0YVhSTWFXWmxRM2xqYkdWektISnZiM1FzSUdOMWNuSmxiblFzSUc1bGVIUkZabVpsWTNRcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGxabVpsWTNSVVlXY2dKaUJTWldZcElIdGNiaUFnSUNBZ0lISmxZMjl5WkVWbVptVmpkQ2dwTzF4dUlDQWdJQ0FnWTI5dGJXbDBRWFIwWVdOb1VtVm1LRzVsZUhSRlptWmxZM1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsYzJWMFEzVnljbVZ1ZEVacFltVnlLQ2s3WEc0Z0lDQWdibVY0ZEVWbVptVmpkQ0E5SUc1bGVIUkZabVpsWTNRdWJtVjRkRVZtWm1WamREdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtYkhWemFGQmhjM05wZG1WRlptWmxZM1J6S0NrZ2UxeHVJQ0JwWmlBb2NHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpVbVZ1WkdWeVVISnBiM0pwZEhrZ0lUMDlJRTV2VUhKcGIzSnBkSGtwSUh0Y2JpQWdJQ0IyWVhJZ2NISnBiM0pwZEhsTVpYWmxiQ0E5SUhCbGJtUnBibWRRWVhOemFYWmxSV1ptWldOMGMxSmxibVJsY2xCeWFXOXlhWFI1SUQ0Z1RtOXliV0ZzVUhKcGIzSnBkSGtnUHlCT2IzSnRZV3hRY21sdmNtbDBlU0E2SUhCbGJtUnBibWRRWVhOemFYWmxSV1ptWldOMGMxSmxibVJsY2xCeWFXOXlhWFI1TzF4dUlDQWdJSEJsYm1ScGJtZFFZWE56YVhabFJXWm1aV04wYzFKbGJtUmxjbEJ5YVc5eWFYUjVJRDBnVG05UWNtbHZjbWwwZVR0Y2JpQWdJQ0J5WlhSMWNtNGdjblZ1VjJsMGFGQnlhVzl5YVhSNUpERW9jSEpwYjNKcGRIbE1aWFpsYkN3Z1pteDFjMmhRWVhOemFYWmxSV1ptWldOMGMwbHRjR3dwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHWnNkWE5vVUdGemMybDJaVVZtWm1WamRITkpiWEJzS0NrZ2UxeHVJQ0JwWmlBb2NtOXZkRmRwZEdoUVpXNWthVzVuVUdGemMybDJaVVZtWm1WamRITWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lIMWNibHh1SUNCMllYSWdjbTl2ZENBOUlISnZiM1JYYVhSb1VHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpPMXh1SUNCMllYSWdaWGh3YVhKaGRHbHZibFJwYldVZ1BTQndaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE5GZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnY205dmRGZHBkR2hRWlc1a2FXNW5VR0Z6YzJsMlpVVm1abVZqZEhNZ1BTQnVkV3hzTzF4dUlDQndaVzVrYVc1blVHRnpjMmwyWlVWbVptVmpkSE5GZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNibHh1SUNCcFppQW9JU2dvWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0FtSUNoU1pXNWtaWEpEYjI1MFpYaDBJSHdnUTI5dGJXbDBRMjl1ZEdWNGRDa3BJRDA5UFNCT2IwTnZiblJsZUhRcEtTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnUlhKeWIzSW9JRndpUTJGdWJtOTBJR1pzZFhOb0lIQmhjM05wZG1VZ1pXWm1aV04wY3lCM2FHbHNaU0JoYkhKbFlXUjVJSEpsYm1SbGNtbHVaeTVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21WMlJYaGxZM1YwYVc5dVEyOXVkR1Y0ZENBOUlHVjRaV04xZEdsdmJrTnZiblJsZUhRN1hHNGdJR1Y0WldOMWRHbHZia052Ym5SbGVIUWdmRDBnUTI5dGJXbDBRMjl1ZEdWNGREdGNiaUFnZG1GeUlIQnlaWFpKYm5SbGNtRmpkR2x2Ym5NZ1BTQndkWE5vU1c1MFpYSmhZM1JwYjI1ektISnZiM1FwTzF4dVhHNGdJSHRjYmlBZ0lDQXZMeUJPYjNSbE9pQlVhR2x6SUdOMWNuSmxiblJzZVNCaGMzTjFiV1Z6SUhSb1pYSmxJR0Z5WlNCdWJ5QndZWE56YVhabElHVm1abVZqZEhNZ2IyNGdkR2hsSUhKdmIzUWdabWxpWlhKY2JpQWdJQ0F2THlCaVpXTmhkWE5sSUhSb1pTQnliMjkwSUdseklHNXZkQ0J3WVhKMElHOW1JR2wwY3lCdmQyNGdaV1ptWldOMElHeHBjM1F1WEc0Z0lDQWdMeThnVkdocGN5QmpiM1ZzWkNCamFHRnVaMlVnYVc0Z2RHaGxJR1oxZEhWeVpTNWNiaUFnSUNCMllYSWdYMlZtWm1WamRESWdQU0J5YjI5MExtTjFjbkpsYm5RdVptbHljM1JGWm1abFkzUTdYRzVjYmlBZ0lDQjNhR2xzWlNBb1gyVm1abVZqZERJZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdjMlYwUTNWeWNtVnVkRVpwWW1WeUtGOWxabVpsWTNReUtUdGNiaUFnSUNBZ0lDQWdhVzUyYjJ0bFIzVmhjbVJsWkVOaGJHeGlZV05yS0c1MWJHd3NJR052YlcxcGRGQmhjM05wZG1WSWIyOXJSV1ptWldOMGN5d2diblZzYkN3Z1gyVm1abVZqZERJcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNob1lYTkRZWFZuYUhSRmNuSnZjaWdwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NFb1gyVm1abVZqZERJZ0lUMDlJRzUxYkd3cEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbE5vYjNWc1pDQmlaU0IzYjNKcmFXNW5JRzl1SUdGdUlHVm1abVZqZEM1Y0lpQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJmWlhKeWIzSTFJRDBnWTJ4bFlYSkRZWFZuYUhSRmNuSnZjaWdwTzF4dVhHNGdJQ0FnSUNBZ0lDQWdZMkZ3ZEhWeVpVTnZiVzFwZEZCb1lYTmxSWEp5YjNJb1gyVm1abVZqZERJc0lGOWxjbkp2Y2pVcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WelpYUkRkWEp5Wlc1MFJtbGlaWElvS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJRzVsZUhST1pYaDBSV1ptWldOMElEMGdYMlZtWm1WamRESXVibVY0ZEVWbVptVmpkRHNnTHk4Z1VtVnRiM1psSUc1bGVIUkZabVpsWTNRZ2NHOXBiblJsY2lCMGJ5QmhjM05wYzNRZ1IwTmNibHh1SUNBZ0lDQWdYMlZtWm1WamRESXVibVY0ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQmZaV1ptWldOME1pQTlJRzVsZUhST1pYaDBSV1ptWldOME8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIdGNiaUFnSUNCd2IzQkpiblJsY21GamRHbHZibk1vY0hKbGRrbHVkR1Z5WVdOMGFXOXVjeWs3WEc0Z0lDQWdabWx1YVhOb1VHVnVaR2x1WjBsdWRHVnlZV04wYVc5dWN5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lIMWNibHh1SUNCbGVHVmpkWFJwYjI1RGIyNTBaWGgwSUQwZ2NISmxka1Y0WldOMWRHbHZia052Ym5SbGVIUTdYRzRnSUdac2RYTm9VM2x1WTBOaGJHeGlZV05yVVhWbGRXVW9LVHNnTHk4Z1NXWWdZV1JrYVhScGIyNWhiQ0J3WVhOemFYWmxJR1ZtWm1WamRITWdkMlZ5WlNCelkyaGxaSFZzWldRc0lHbHVZM0psYldWdWRDQmhJR052ZFc1MFpYSXVJRWxtSUhSb2FYTmNiaUFnTHk4Z1pYaGpaV1ZrY3lCMGFHVWdiR2x0YVhRc0lIZGxKMnhzSUdacGNtVWdZU0IzWVhKdWFXNW5MbHh1WEc0Z0lHNWxjM1JsWkZCaGMzTnBkbVZWY0dSaGRHVkRiM1Z1ZENBOUlISnZiM1JYYVhSb1VHVnVaR2x1WjFCaGMzTnBkbVZGWm1abFkzUnpJRDA5UFNCdWRXeHNJRDhnTUNBNklHNWxjM1JsWkZCaGMzTnBkbVZWY0dSaGRHVkRiM1Z1ZENBcklERTdYRzRnSUhKbGRIVnliaUIwY25WbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMwRnNjbVZoWkhsR1lXbHNaV1JNWldkaFkzbEZjbkp2Y2tKdmRXNWtZWEo1S0dsdWMzUmhibU5sS1NCN1hHNGdJSEpsZEhWeWJpQnNaV2RoWTNsRmNuSnZja0p2ZFc1a1lYSnBaWE5VYUdGMFFXeHlaV0ZrZVVaaGFXeGxaQ0FoUFQwZ2JuVnNiQ0FtSmlCc1pXZGhZM2xGY25KdmNrSnZkVzVrWVhKcFpYTlVhR0YwUVd4eVpXRmtlVVpoYVd4bFpDNW9ZWE1vYVc1emRHRnVZMlVwTzF4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTB4bFoyRmplVVZ5Y205eVFtOTFibVJoY25sQmMwWmhhV3hsWkNocGJuTjBZVzVqWlNrZ2UxeHVJQ0JwWmlBb2JHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWFXVnpWR2hoZEVGc2NtVmhaSGxHWVdsc1pXUWdQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnNaV2RoWTNsRmNuSnZja0p2ZFc1a1lYSnBaWE5VYUdGMFFXeHlaV0ZrZVVaaGFXeGxaQ0E5SUc1bGR5QlRaWFFvVzJsdWMzUmhibU5sWFNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2JHVm5ZV041UlhKeWIzSkNiM1Z1WkdGeWFXVnpWR2hoZEVGc2NtVmhaSGxHWVdsc1pXUXVZV1JrS0dsdWMzUmhibU5sS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndjbVZ3WVhKbFZHOVVhSEp2ZDFWdVkyRjFaMmgwUlhKeWIzSW9aWEp5YjNJcElIdGNiaUFnYVdZZ0tDRm9ZWE5WYm1OaGRXZG9kRVZ5Y205eUtTQjdYRzRnSUNBZ2FHRnpWVzVqWVhWbmFIUkZjbkp2Y2lBOUlIUnlkV1U3WEc0Z0lDQWdabWx5YzNSVmJtTmhkV2RvZEVWeWNtOXlJRDBnWlhKeWIzSTdYRzRnSUgxY2JuMWNibHh1ZG1GeUlHOXVWVzVqWVhWbmFIUkZjbkp2Y2lBOUlIQnlaWEJoY21WVWIxUm9jbTkzVlc1allYVm5hSFJGY25KdmNqdGNibHh1Wm5WdVkzUnBiMjRnWTJGd2RIVnlaVU52YlcxcGRGQm9ZWE5sUlhKeWIzSlBibEp2YjNRb2NtOXZkRVpwWW1WeUxDQnpiM1Z5WTJWR2FXSmxjaXdnWlhKeWIzSXBJSHRjYmlBZ2RtRnlJR1Z5Y205eVNXNW1ieUE5SUdOeVpXRjBaVU5oY0hSMWNtVmtWbUZzZFdVb1pYSnliM0lzSUhOdmRYSmpaVVpwWW1WeUtUdGNiaUFnZG1GeUlIVndaR0YwWlNBOUlHTnlaV0YwWlZKdmIzUkZjbkp2Y2xWd1pHRjBaU2h5YjI5MFJtbGlaWElzSUdWeWNtOXlTVzVtYnl3Z1UzbHVZeWs3WEc0Z0lHVnVjWFZsZFdWVmNHUmhkR1VvY205dmRFWnBZbVZ5TENCMWNHUmhkR1VwTzF4dUlDQjJZWElnY205dmRDQTlJRzFoY210VmNHUmhkR1ZVYVcxbFJuSnZiVVpwWW1WeVZHOVNiMjkwS0hKdmIzUkdhV0psY2l3Z1UzbHVZeWs3WEc1Y2JpQWdhV1lnS0hKdmIzUWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQmxibk4xY21WU2IyOTBTWE5UWTJobFpIVnNaV1FvY205dmRDazdYRzRnSUNBZ2MyTm9aV1IxYkdWUVpXNWthVzVuU1c1MFpYSmhZM1JwYjI1ektISnZiM1FzSUZONWJtTXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdOaGNIUjFjbVZEYjIxdGFYUlFhR0Z6WlVWeWNtOXlLSE52ZFhKalpVWnBZbVZ5TENCbGNuSnZjaWtnZTF4dUlDQnBaaUFvYzI5MWNtTmxSbWxpWlhJdWRHRm5JRDA5UFNCSWIzTjBVbTl2ZENrZ2UxeHVJQ0FnSUM4dklFVnljbTl5SUhkaGN5QjBhSEp2ZDI0Z1lYUWdkR2hsSUhKdmIzUXVJRlJvWlhKbElHbHpJRzV2SUhCaGNtVnVkQ3dnYzI4Z2RHaGxJSEp2YjNSY2JpQWdJQ0F2THlCcGRITmxiR1lnYzJodmRXeGtJR05oY0hSMWNtVWdhWFF1WEc0Z0lDQWdZMkZ3ZEhWeVpVTnZiVzFwZEZCb1lYTmxSWEp5YjNKUGJsSnZiM1FvYzI5MWNtTmxSbWxpWlhJc0lITnZkWEpqWlVacFltVnlMQ0JsY25KdmNpazdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2RtRnlJR1pwWW1WeUlEMGdjMjkxY21ObFJtbGlaWEl1Y21WMGRYSnVPMXh1WEc0Z0lIZG9hV3hsSUNobWFXSmxjaUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJR2xtSUNobWFXSmxjaTUwWVdjZ1BUMDlJRWh2YzNSU2IyOTBLU0I3WEc0Z0lDQWdJQ0JqWVhCMGRYSmxRMjl0YldsMFVHaGhjMlZGY25KdmNrOXVVbTl2ZENobWFXSmxjaXdnYzI5MWNtTmxSbWxpWlhJc0lHVnljbTl5S1R0Y2JpQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLR1pwWW1WeUxuUmhaeUE5UFQwZ1EyeGhjM05EYjIxd2IyNWxiblFwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpkRzl5SUQwZ1ptbGlaWEl1ZEhsd1pUdGNiaUFnSUNBZ0lIWmhjaUJwYm5OMFlXNWpaU0E5SUdacFltVnlMbk4wWVhSbFRtOWtaVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamRHOXlMbWRsZEVSbGNtbDJaV1JUZEdGMFpVWnliMjFGY25KdmNpQTlQVDBnSjJaMWJtTjBhVzl1SnlCOGZDQjBlWEJsYjJZZ2FXNXpkR0Z1WTJVdVkyOXRjRzl1Wlc1MFJHbGtRMkYwWTJnZ1BUMDlJQ2RtZFc1amRHbHZiaWNnSmlZZ0lXbHpRV3h5WldGa2VVWmhhV3hsWkV4bFoyRmplVVZ5Y205eVFtOTFibVJoY25rb2FXNXpkR0Z1WTJVcEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCbGNuSnZja2x1Wm04Z1BTQmpjbVZoZEdWRFlYQjBkWEpsWkZaaGJIVmxLR1Z5Y205eUxDQnpiM1Z5WTJWR2FXSmxjaWs3WEc0Z0lDQWdJQ0FnSUhaaGNpQjFjR1JoZEdVZ1BTQmpjbVZoZEdWRGJHRnpjMFZ5Y205eVZYQmtZWFJsS0dacFltVnlMQ0JsY25KdmNrbHVabThzSUM4dklGUlBSRTg2SUZSb2FYTWdhWE1nWVd4M1lYbHpJSE41Ym1OY2JpQWdJQ0FnSUNBZ1UzbHVZeWs3WEc0Z0lDQWdJQ0FnSUdWdWNYVmxkV1ZWY0dSaGRHVW9abWxpWlhJc0lIVndaR0YwWlNrN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ5YjI5MElEMGdiV0Z5YTFWd1pHRjBaVlJwYldWR2NtOXRSbWxpWlhKVWIxSnZiM1FvWm1saVpYSXNJRk41Ym1NcE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNoeWIyOTBJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1pXNXpkWEpsVW05dmRFbHpVMk5vWldSMWJHVmtLSEp2YjNRcE8xeHVJQ0FnSUNBZ0lDQWdJSE5qYUdWa2RXeGxVR1Z1WkdsdVowbHVkR1Z5WVdOMGFXOXVjeWh5YjI5MExDQlRlVzVqS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCbWFXSmxjaUE5SUdacFltVnlMbkpsZEhWeWJqdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdjR2x1WjFOMWMzQmxibVJsWkZKdmIzUW9jbTl2ZEN3Z2RHaGxibUZpYkdVc0lITjFjM0JsYm1SbFpGUnBiV1VwSUh0Y2JpQWdkbUZ5SUhCcGJtZERZV05vWlNBOUlISnZiM1F1Y0dsdVowTmhZMmhsTzF4dVhHNGdJR2xtSUNod2FXNW5RMkZqYUdVZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBdkx5QlVhR1VnZEdobGJtRmliR1VnY21WemIyeDJaV1FzSUhOdklIZGxJRzV2SUd4dmJtZGxjaUJ1WldWa0lIUnZJRzFsYlc5cGVtVXNJR0psWTJGMWMyVWdhWFFnZDJsc2JGeHVJQ0FnSUM4dklHNWxkbVZ5SUdKbElIUm9jbTkzYmlCaFoyRnBiaTVjYmlBZ0lDQndhVzVuUTJGamFHVXVaR1ZzWlhSbEtIUm9aVzVoWW14bEtUdGNiaUFnZlZ4dVhHNGdJR2xtSUNoM2IzSnJTVzVRY205bmNtVnpjMUp2YjNRZ1BUMDlJSEp2YjNRZ0ppWWdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1VrTVNBOVBUMGdjM1Z6Y0dWdVpHVmtWR2x0WlNrZ2UxeHVJQ0FnSUM4dklGSmxZMlZwZG1Wa0lHRWdjR2x1WnlCaGRDQjBhR1VnYzJGdFpTQndjbWx2Y21sMGVTQnNaWFpsYkNCaGRDQjNhR2xqYUNCM1pTZHlaU0JqZFhKeVpXNTBiSGxjYmlBZ0lDQXZMeUJ5Wlc1a1pYSnBibWN1SUZkbElHMXBaMmgwSUhkaGJuUWdkRzhnY21WemRHRnlkQ0IwYUdseklISmxibVJsY2k0Z1ZHaHBjeUJ6YUc5MWJHUWdiV2x5Y205eVhHNGdJQ0FnTHk4Z2RHaGxJR3h2WjJsaklHOW1JSGRvWlhSb1pYSWdiM0lnYm05MElHRWdjbTl2ZENCemRYTndaVzVrY3lCdmJtTmxJR2wwSUdOdmJYQnNaWFJsY3k1Y2JpQWdJQ0F2THlCVVQwUlBPaUJKWmlCM1pTZHlaU0J5Wlc1a1pYSnBibWNnYzNsdVl5QmxhWFJvWlhJZ1pIVmxJSFJ2SUZONWJtTXNJRUpoZEdOb1pXUWdiM0lnWlhod2FYSmxaQ3hjYmlBZ0lDQXZMeUIzWlNCemFHOTFiR1FnY0hKdlltRmliSGtnYm1WMlpYSWdjbVZ6ZEdGeWRDNWNiaUFnSUNBdkx5QkpaaUIzWlNkeVpTQnpkWE53Wlc1a1pXUWdkMmwwYUNCa1pXeGhlU3dnZDJVbmJHd2dZV3gzWVhseklITjFjM0JsYm1RZ2MyOGdkMlVnWTJGdUlHRnNkMkY1YzF4dUlDQWdJQzh2SUhKbGMzUmhjblF1SUVsbUlIZGxKM0psSUhOMWMzQmxibVJsWkNCM2FYUm9iM1YwSUdGdWVTQjFjR1JoZEdWekxDQnBkQ0J0YVdkb2RDQmlaU0JoSUhKbGRISjVMbHh1SUNBZ0lDOHZJRWxtSUdsMEozTWdaV0Z5YkhrZ2FXNGdkR2hsSUhKbGRISjVJSGRsSUdOaGJpQnlaWE4wWVhKMExpQlhaU0JqWVc0bmRDQnJibTkzSUdadmNpQnpkWEpsWEc0Z0lDQWdMeThnZDJobGRHaGxjaUIzWlNkc2JDQmxkbVZ1ZEhWaGJHeDVJSEJ5YjJObGMzTWdZVzRnZFhCa1lYUmxJR1IxY21sdVp5QjBhR2x6SUhKbGJtUmxjaUJ3WVhOekxGeHVJQ0FnSUM4dklHSjFkQ0JwZENkeklITnZiV1YzYUdGMElIVnViR2xyWld4NUlIUm9ZWFFnZDJVZ1oyVjBJSFJ2SUdFZ2NHbHVaeUJpWldadmNtVWdkR2hoZEN3Z2MybHVZMlZjYmlBZ0lDQXZMeUJuWlhSMGFXNW5JSFJ2SUhSb1pTQnliMjkwSUcxdmMzUWdkWEJrWVhSbElHbHpJSFZ6ZFdGc2JIa2dkbVZ5ZVNCbVlYTjBMbHh1SUNBZ0lHbG1JQ2gzYjNKclNXNVFjbTluY21WemMxSnZiM1JGZUdsMFUzUmhkSFZ6SUQwOVBTQlNiMjkwVTNWemNHVnVaR1ZrVjJsMGFFUmxiR0Y1SUh4OElIZHZjbXRKYmxCeWIyZHlaWE56VW05dmRFVjRhWFJUZEdGMGRYTWdQVDA5SUZKdmIzUlRkWE53Wlc1a1pXUWdKaVlnZDI5eWEwbHVVSEp2WjNKbGMzTlNiMjkwVEdGMFpYTjBVSEp2WTJWemMyVmtSWGh3YVhKaGRHbHZibFJwYldVZ1BUMDlJRk41Ym1NZ0ppWWdibTkzS0NrZ0xTQm5iRzlpWVd4TmIzTjBVbVZqWlc1MFJtRnNiR0poWTJ0VWFXMWxJRHdnUmtGTVRFSkJRMHRmVkVoU1QxUlVURVZmVFZNcElIdGNiaUFnSUNBZ0lDOHZJRkpsYzNSaGNuUWdabkp2YlNCMGFHVWdjbTl2ZEM0Z1JHOXVKM1FnYm1WbFpDQjBieUJ6WTJobFpIVnNaU0JoSUhCcGJtY2dZbVZqWVhWelpWeHVJQ0FnSUNBZ0x5OGdkMlVuY21VZ1lXeHlaV0ZrZVNCM2IzSnJhVzVuSUc5dUlIUm9hWE1nZEhKbFpTNWNiaUFnSUNBZ0lIQnlaWEJoY21WR2NtVnphRk4wWVdOcktISnZiM1FzSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEpERXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QkZkbVZ1SUhSb2IzVm5hQ0IzWlNCallXNG5kQ0J5WlhOMFlYSjBJSEpwWjJoMElHNXZkeXdnZDJVZ2JXbG5hSFFnWjJWMElHRnVYRzRnSUNBZ0lDQXZMeUJ2Y0hCdmNuUjFibWwwZVNCc1lYUmxjaTRnVTI4Z2QyVWdiV0Z5YXlCMGFHbHpJSEpsYm1SbGNpQmhjeUJvWVhacGJtY2dZU0J3YVc1bkxseHVJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM05TYjI5MFNHRnpVR1Z1WkdsdVoxQnBibWNnUFNCMGNuVmxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5Ymp0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2doYVhOU2IyOTBVM1Z6Y0dWdVpHVmtRWFJVYVcxbEtISnZiM1FzSUhOMWMzQmxibVJsWkZScGJXVXBLU0I3WEc0Z0lDQWdMeThnVkdobElISnZiM1FnYVhNZ2JtOGdiRzl1WjJWeUlITjFjM0JsYm1SbFpDQmhkQ0IwYUdseklIUnBiV1V1WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUd4aGMzUlFhVzVuWldSVWFXMWxJRDBnY205dmRDNXNZWE4wVUdsdVoyVmtWR2x0WlR0Y2JseHVJQ0JwWmlBb2JHRnpkRkJwYm1kbFpGUnBiV1VnSVQwOUlFNXZWMjl5YXlBbUppQnNZWE4wVUdsdVoyVmtWR2x0WlNBOElITjFjM0JsYm1SbFpGUnBiV1VwSUh0Y2JpQWdJQ0F2THlCVWFHVnlaU2R6SUdGc2NtVmhaSGtnWVNCc2IzZGxjaUJ3Y21sdmNtbDBlU0J3YVc1bklITmphR1ZrZFd4bFpDNWNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMGdMeThnVFdGeWF5QjBhR1VnZEdsdFpTQmhkQ0IzYUdsamFDQjBhR2x6SUhCcGJtY2dkMkZ6SUhOamFHVmtkV3hsWkM1Y2JseHVYRzRnSUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVZ1BTQnpkWE53Wlc1a1pXUlVhVzFsTzF4dVhHNGdJR1Z1YzNWeVpWSnZiM1JKYzFOamFHVmtkV3hsWkNoeWIyOTBLVHRjYmlBZ2MyTm9aV1IxYkdWUVpXNWthVzVuU1c1MFpYSmhZM1JwYjI1ektISnZiM1FzSUhOMWMzQmxibVJsWkZScGJXVXBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnlaWFJ5ZVZScGJXVmtUM1YwUW05MWJtUmhjbmtvWW05MWJtUmhjbmxHYVdKbGNpd2djbVYwY25sVWFXMWxLU0I3WEc0Z0lDOHZJRlJvWlNCaWIzVnVaR0Z5ZVNCbWFXSmxjaUFvWVNCVGRYTndaVzV6WlNCamIyMXdiMjVsYm5RZ2IzSWdVM1Z6Y0dWdWMyVk1hWE4wSUdOdmJYQnZibVZ1ZENsY2JpQWdMeThnY0hKbGRtbHZkWE5zZVNCM1lYTWdjbVZ1WkdWeVpXUWdhVzRnYVhSeklHWmhiR3hpWVdOcklITjBZWFJsTGlCUGJtVWdiMllnZEdobElIQnliMjFwYzJWeklIUm9ZWFJjYmlBZ0x5OGdjM1Z6Y0dWdVpHVmtJR2wwSUdoaGN5QnlaWE52YkhabFpDd2dkMmhwWTJnZ2JXVmhibk1nWVhRZ2JHVmhjM1FnY0dGeWRDQnZaaUIwYUdVZ2RISmxaU0IzWVhOY2JpQWdMeThnYkdsclpXeDVJSFZ1WW14dlkydGxaQzRnVkhKNUlISmxibVJsY21sdVp5QmhaMkZwYml3Z1lYUWdZU0J1WlhjZ1pYaHdhWEpoZEdsdmJpQjBhVzFsTGx4dUlDQnBaaUFvY21WMGNubFVhVzFsSUQwOVBTQk9iMWR2Y21zcElIdGNiaUFnSUNCMllYSWdjM1Z6Y0dWdWMyVkRiMjVtYVdjZ1BTQnVkV3hzT3lBdkx5QlNaWFJ5YVdWeklHUnZiaWQwSUdOaGNuSjVJRzkyWlhJZ2RHaGxJR0ZzY21WaFpIa2dZMjl0YldsMGRHVmtJSFZ3WkdGMFpTNWNibHh1SUNBZ0lIWmhjaUJqZFhKeVpXNTBWR2x0WlNBOUlISmxjWFZsYzNSRGRYSnlaVzUwVkdsdFpVWnZjbFZ3WkdGMFpTZ3BPMXh1SUNBZ0lISmxkSEo1VkdsdFpTQTlJR052YlhCMWRHVkZlSEJwY21GMGFXOXVSbTl5Um1saVpYSW9ZM1Z5Y21WdWRGUnBiV1VzSUdKdmRXNWtZWEo1Um1saVpYSXNJSE4xYzNCbGJuTmxRMjl1Wm1sbktUdGNiaUFnZlNBdkx5QlVUMFJQT2lCVGNHVmphV0ZzSUdOaGMyVWdhV1JzWlNCd2NtbHZjbWwwZVQ5Y2JseHVYRzRnSUhaaGNpQnliMjkwSUQwZ2JXRnlhMVZ3WkdGMFpWUnBiV1ZHY205dFJtbGlaWEpVYjFKdmIzUW9ZbTkxYm1SaGNubEdhV0psY2l3Z2NtVjBjbmxVYVcxbEtUdGNibHh1SUNCcFppQW9jbTl2ZENBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdWdWMzVnlaVkp2YjNSSmMxTmphR1ZrZFd4bFpDaHliMjkwS1R0Y2JpQWdJQ0J6WTJobFpIVnNaVkJsYm1ScGJtZEpiblJsY21GamRHbHZibk1vY205dmRDd2djbVYwY25sVWFXMWxLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnY21WemIyeDJaVkpsZEhKNVZHaGxibUZpYkdVb1ltOTFibVJoY25sR2FXSmxjaXdnZEdobGJtRmliR1VwSUh0Y2JpQWdkbUZ5SUhKbGRISjVWR2x0WlNBOUlFNXZWMjl5YXpzZ0x5OGdSR1ZtWVhWc2RGeHVYRzRnSUhaaGNpQnlaWFJ5ZVVOaFkyaGxPMXh1WEc0Z0lIdGNiaUFnSUNCeVpYUnllVU5oWTJobElEMGdZbTkxYm1SaGNubEdhV0psY2k1emRHRjBaVTV2WkdVN1hHNGdJSDFjYmx4dUlDQnBaaUFvY21WMGNubERZV05vWlNBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUM4dklGUm9aU0IwYUdWdVlXSnNaU0J5WlhOdmJIWmxaQ3dnYzI4Z2QyVWdibThnYkc5dVoyVnlJRzVsWldRZ2RHOGdiV1Z0YjJsNlpTd2dZbVZqWVhWelpTQnBkQ0IzYVd4c1hHNGdJQ0FnTHk4Z2JtVjJaWElnWW1VZ2RHaHliM2R1SUdGbllXbHVMbHh1SUNBZ0lISmxkSEo1UTJGamFHVXVaR1ZzWlhSbEtIUm9aVzVoWW14bEtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhKNVZHbHRaV1JQZFhSQ2IzVnVaR0Z5ZVNoaWIzVnVaR0Z5ZVVacFltVnlMQ0J5WlhSeWVWUnBiV1VwTzF4dWZTQXZMeUJEYjIxd2RYUmxjeUIwYUdVZ2JtVjRkQ0JLZFhOMElFNXZkR2xqWldGaWJHVWdSR2xtWm1WeVpXNWpaU0FvU2s1RUtTQmliM1Z1WkdGeWVTNWNiaTh2SUZSb1pTQjBhR1Z2Y25rZ2FYTWdkR2hoZENCaElIQmxjbk52YmlCallXNG5kQ0IwWld4c0lIUm9aU0JrYVdabVpYSmxibU5sSUdKbGRIZGxaVzRnYzIxaGJHd2daR2xtWm1WeVpXNWpaWE1nYVc0Z2RHbHRaUzVjYmk4dklGUm9aWEpsWm05eVpTd2dhV1lnZDJVZ2QyRnBkQ0JoSUdKcGRDQnNiMjVuWlhJZ2RHaGhiaUJ1WldObGMzTmhjbmtnZEdoaGRDQjNiMjRuZENCMGNtRnVjMnhoZEdVZ2RHOGdZU0J1YjNScFkyVmhZbXhsWEc0dkx5QmthV1ptWlhKbGJtTmxJR2x1SUhSb1pTQmxlSEJsY21sbGJtTmxMaUJJYjNkbGRtVnlMQ0IzWVdsMGFXNW5JR1p2Y2lCc2IyNW5aWElnYldsbmFIUWdiV1ZoYmlCMGFHRjBJSGRsSUdOaGJpQmhkbTlwWkZ4dUx5OGdjMmh2ZDJsdVp5QmhiaUJwYm5SbGNtMWxaR2xoZEdVZ2JHOWhaR2x1WnlCemRHRjBaUzRnVkdobElHeHZibWRsY2lCM1pTQm9ZWFpsSUdGc2NtVmhaSGtnZDJGcGRHVmtMQ0IwYUdVZ2FHRnlaR1Z5SUdsMFhHNHZMeUJwY3lCMGJ5QjBaV3hzSUhOdFlXeHNJR1JwWm1abGNtVnVZMlZ6SUdsdUlIUnBiV1V1SUZSb1pYSmxabTl5WlN3Z2RHaGxJR3h2Ym1kbGNpQjNaU2QyWlNCaGJISmxZV1I1SUhkaGFYUmxaQ3hjYmk4dklIUm9aU0JzYjI1blpYSWdkMlVnWTJGdUlIZGhhWFFnWVdSa2FYUnBiMjVoYkd4NUxpQkJkQ0J6YjIxbElIQnZhVzUwSUhkbElHaGhkbVVnZEc4Z1oybDJaU0IxY0NCMGFHOTFaMmd1WEc0dkx5QlhaU0J3YVdOcklHRWdkSEpoYVc0Z2JXOWtaV3dnZDJobGNtVWdkR2hsSUc1bGVIUWdZbTkxYm1SaGNua2dZMjl0YldsMGN5QmhkQ0JoSUdOdmJuTnBjM1JsYm5RZ2MyTm9aV1IxYkdVdVhHNHZMeUJVYUdWelpTQndZWEowYVdOMWJHRnlJRzUxYldKbGNuTWdZWEpsSUhaaFozVmxJR1Z6ZEdsdFlYUmxjeTRnVjJVZ1pYaHdaV04wSUhSdklHRmthblZ6ZENCMGFHVnRJR0poYzJWa0lHOXVJSEpsYzJWaGNtTm9MbHh1WEc1bWRXNWpkR2x2YmlCcWJtUW9kR2x0WlVWc1lYQnpaV1FwSUh0Y2JpQWdjbVYwZFhKdUlIUnBiV1ZGYkdGd2MyVmtJRHdnTVRJd0lEOGdNVEl3SURvZ2RHbHRaVVZzWVhCelpXUWdQQ0EwT0RBZ1B5QTBPREFnT2lCMGFXMWxSV3hoY0hObFpDQThJREV3T0RBZ1B5QXhNRGd3SURvZ2RHbHRaVVZzWVhCelpXUWdQQ0F4T1RJd0lEOGdNVGt5TUNBNklIUnBiV1ZGYkdGd2MyVmtJRHdnTXpBd01DQS9JRE13TURBZ09pQjBhVzFsUld4aGNITmxaQ0E4SURRek1qQWdQeUEwTXpJd0lEb2dZMlZwYkNoMGFXMWxSV3hoY0hObFpDQXZJREU1TmpBcElDb2dNVGsyTUR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWTI5dGNIVjBaVTF6Vlc1MGFXeFRkWE53Wlc1elpVeHZZV1JwYm1kRVpXeGhlU2h0YjNOMFVtVmpaVzUwUlhabGJuUlVhVzFsTENCamIyMXRhWFIwWldSRmVIQnBjbUYwYVc5dVZHbHRaU3dnYzNWemNHVnVjMlZEYjI1bWFXY3BJSHRjYmlBZ2RtRnlJR0oxYzNsTmFXNUVkWEpoZEdsdmJrMXpJRDBnYzNWemNHVnVjMlZEYjI1bWFXY3VZblZ6ZVUxcGJrUjFjbUYwYVc5dVRYTWdmQ0F3TzF4dVhHNGdJR2xtSUNoaWRYTjVUV2x1UkhWeVlYUnBiMjVOY3lBOFBTQXdLU0I3WEc0Z0lDQWdjbVYwZFhKdUlEQTdYRzRnSUgxY2JseHVJQ0IyWVhJZ1luVnplVVJsYkdGNVRYTWdQU0J6ZFhOd1pXNXpaVU52Ym1acFp5NWlkWE41UkdWc1lYbE5jeUI4SURBN0lDOHZJRU52YlhCMWRHVWdkR2hsSUhScGJXVWdkVzUwYVd3Z2RHaHBjeUJ5Wlc1a1pYSWdjR0Z6Y3lCM2IzVnNaQ0JsZUhCcGNtVXVYRzVjYmlBZ2RtRnlJR04xY25KbGJuUlVhVzFsVFhNZ1BTQnViM2NvS1R0Y2JpQWdkbUZ5SUdWMlpXNTBWR2x0WlUxeklEMGdhVzVtWlhKVWFXMWxSbkp2YlVWNGNHbHlZWFJwYjI1VWFXMWxWMmwwYUZOMWMzQmxibk5sUTI5dVptbG5LRzF2YzNSU1pXTmxiblJGZG1WdWRGUnBiV1VzSUhOMWMzQmxibk5sUTI5dVptbG5LVHRjYmlBZ2RtRnlJSFJwYldWRmJHRndjMlZrSUQwZ1kzVnljbVZ1ZEZScGJXVk5jeUF0SUdWMlpXNTBWR2x0WlUxek8xeHVYRzRnSUdsbUlDaDBhVzFsUld4aGNITmxaQ0E4UFNCaWRYTjVSR1ZzWVhsTmN5a2dlMXh1SUNBZ0lDOHZJRWxtSUhkbElHaGhkbVZ1SjNRZ2VXVjBJSGRoYVhSbFpDQnNiMjVuWlhJZ2RHaGhiaUIwYUdVZ2FXNXBkR2xoYkNCa1pXeGhlU3dnZDJVZ1pHOXVKM1JjYmlBZ0lDQXZMeUJvWVhabElIUnZJSGRoYVhRZ1lXNTVJR0ZrWkdsMGFXOXVZV3dnZEdsdFpTNWNiaUFnSUNCeVpYUjFjbTRnTUR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ0YzFWdWRHbHNWR2x0Wlc5MWRDQTlJR0oxYzNsRVpXeGhlVTF6SUNzZ1luVnplVTFwYmtSMWNtRjBhVzl1VFhNZ0xTQjBhVzFsUld4aGNITmxaRHNnTHk4Z1ZHaHBjeUJwY3lCMGFHVWdkbUZzZFdVZ2RHaGhkQ0JwY3lCd1lYTnpaV1FnZEc4Z1lITmxkRlJwYldWdmRYUmdMbHh1WEc0Z0lISmxkSFZ5YmlCdGMxVnVkR2xzVkdsdFpXOTFkRHRjYm4xY2JseHVablZ1WTNScGIyNGdZMmhsWTJ0R2IzSk9aWE4wWldSVmNHUmhkR1Z6S0NrZ2UxeHVJQ0JwWmlBb2JtVnpkR1ZrVlhCa1lYUmxRMjkxYm5RZ1BpQk9SVk5VUlVSZlZWQkVRVlJGWDB4SlRVbFVLU0I3WEc0Z0lDQWdibVZ6ZEdWa1ZYQmtZWFJsUTI5MWJuUWdQU0F3TzF4dUlDQWdJSEp2YjNSWGFYUm9UbVZ6ZEdWa1ZYQmtZWFJsY3lBOUlHNTFiR3c3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJazFoZUdsdGRXMGdkWEJrWVhSbElHUmxjSFJvSUdWNFkyVmxaR1ZrTGlCVWFHbHpJR05oYmlCb1lYQndaVzRnZDJobGJpQmhJR052YlhCdmJtVnVkQ0J5WlhCbFlYUmxaR3g1SUdOaGJHeHpJSE5sZEZOMFlYUmxJR2x1YzJsa1pTQmpiMjF3YjI1bGJuUlhhV3hzVlhCa1lYUmxJRzl5SUdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlM0Z1VtVmhZM1FnYkdsdGFYUnpJSFJvWlNCdWRXMWlaWElnYjJZZ2JtVnpkR1ZrSUhWd1pHRjBaWE1nZEc4Z2NISmxkbVZ1ZENCcGJtWnBibWwwWlNCc2IyOXdjeTVjSWlBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIdGNiaUFnSUNCcFppQW9ibVZ6ZEdWa1VHRnpjMmwyWlZWd1pHRjBaVU52ZFc1MElENGdUa1ZUVkVWRVgxQkJVMU5KVmtWZlZWQkVRVlJGWDB4SlRVbFVLU0I3WEc0Z0lDQWdJQ0J1WlhOMFpXUlFZWE56YVhabFZYQmtZWFJsUTI5MWJuUWdQU0F3TzF4dVhHNGdJQ0FnSUNCbGNuSnZjaWduVFdGNGFXMTFiU0IxY0dSaGRHVWdaR1Z3ZEdnZ1pYaGpaV1ZrWldRdUlGUm9hWE1nWTJGdUlHaGhjSEJsYmlCM2FHVnVJR0VnWTI5dGNHOXVaVzUwSUNjZ0t5QmNJbU5oYkd4eklITmxkRk4wWVhSbElHbHVjMmxrWlNCMWMyVkZabVpsWTNRc0lHSjFkQ0IxYzJWRlptWmxZM1FnWldsMGFHVnlJR1J2WlhOdUozUWdYQ0lnS3lBbmFHRjJaU0JoSUdSbGNHVnVaR1Z1WTNrZ1lYSnlZWGtzSUc5eUlHOXVaU0J2WmlCMGFHVWdaR1Z3Wlc1a1pXNWphV1Z6SUdOb1lXNW5aWE1nYjI0Z0p5QXJJQ2RsZG1WeWVTQnlaVzVrWlhJdUp5azdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pzZFhOb1VtVnVaR1Z5VUdoaGMyVlRkSEpwWTNSTmIyUmxWMkZ5Ym1sdVozTkpia1JGVmlncElIdGNiaUFnZTF4dUlDQWdJRkpsWVdOMFUzUnlhV04wVFc5a1pWZGhjbTVwYm1kekxtWnNkWE5vVEdWbllXTjVRMjl1ZEdWNGRGZGhjbTVwYm1jb0tUdGNibHh1SUNBZ0lIdGNiaUFnSUNBZ0lGSmxZV04wVTNSeWFXTjBUVzlrWlZkaGNtNXBibWR6TG1ac2RYTm9VR1Z1WkdsdVoxVnVjMkZtWlV4cFptVmplV05zWlZkaGNtNXBibWR6S0NrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITjBiM0JHYVc1cGMyaGxaRmR2Y210TWIyOXdWR2x0WlhJb0tTQjdYRzRnSUhaaGNpQmthV1JEYjIxd2JHVjBaVkp2YjNRZ1BTQjBjblZsTzF4dUlDQnpkRzl3VjI5eWEweHZiM0JVYVcxbGNpaHBiblJsY25KMWNIUmxaRUo1TENCa2FXUkRiMjF3YkdWMFpWSnZiM1FwTzF4dUlDQnBiblJsY25KMWNIUmxaRUo1SUQwZ2JuVnNiRHRjYm4xY2JseHVablZ1WTNScGIyNGdjM1J2Y0VsdWRHVnljblZ3ZEdWa1YyOXlhMHh2YjNCVWFXMWxjaWdwSUh0Y2JpQWdMeThnVkU5RVR6b2dWSEpoWTJzZ2QyaHBZMmdnWm1saVpYSWdZMkYxYzJWa0lIUm9aU0JwYm5SbGNuSjFjSFJwYjI0dVhHNGdJSFpoY2lCa2FXUkRiMjF3YkdWMFpWSnZiM1FnUFNCbVlXeHpaVHRjYmlBZ2MzUnZjRmR2Y210TWIyOXdWR2x0WlhJb2FXNTBaWEp5ZFhCMFpXUkNlU3dnWkdsa1EyOXRjR3hsZEdWU2IyOTBLVHRjYmlBZ2FXNTBaWEp5ZFhCMFpXUkNlU0E5SUc1MWJHdzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHTm9aV05yUm05eVNXNTBaWEp5ZFhCMGFXOXVLR1pwWW1WeVZHaGhkRkpsWTJWcGRtVmtWWEJrWVhSbExDQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQnBaaUFvSUhkdmNtdEpibEJ5YjJkeVpYTnpVbTl2ZENBaFBUMGdiblZzYkNBbUppQjFjR1JoZEdWRmVIQnBjbUYwYVc5dVZHbHRaU0ErSUhKbGJtUmxja1Y0Y0dseVlYUnBiMjVVYVcxbEpERXBJSHRjYmlBZ0lDQnBiblJsY25KMWNIUmxaRUo1SUQwZ1ptbGlaWEpVYUdGMFVtVmpaV2wyWldSVmNHUmhkR1U3WEc0Z0lIMWNibjFjYmx4dWRtRnlJR1JwWkZkaGNtNVRkR0YwWlZWd1pHRjBaVVp2Y2xWdWJXOTFiblJsWkVOdmJYQnZibVZ1ZENBOUlHNTFiR3c3WEc1Y2JtWjFibU4wYVc5dUlIZGhjbTVCWW05MWRGVndaR0YwWlU5dVZXNXRiM1Z1ZEdWa1JtbGlaWEpKYmtSRlZpaG1hV0psY2lrZ2UxeHVJQ0I3WEc0Z0lDQWdkbUZ5SUhSaFp5QTlJR1pwWW1WeUxuUmhaenRjYmx4dUlDQWdJR2xtSUNoMFlXY2dJVDA5SUVodmMzUlNiMjkwSUNZbUlIUmhaeUFoUFQwZ1EyeGhjM05EYjIxd2IyNWxiblFnSmlZZ2RHRm5JQ0U5UFNCR2RXNWpkR2x2YmtOdmJYQnZibVZ1ZENBbUppQjBZV2NnSVQwOUlFWnZjbmRoY21SU1pXWWdKaVlnZEdGbklDRTlQU0JOWlcxdlEyOXRjRzl1Wlc1MElDWW1JSFJoWnlBaFBUMGdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkQ0FtSmlCMFlXY2dJVDA5SUVKc2IyTnJLU0I3WEc0Z0lDQWdJQ0F2THlCUGJteDVJSGRoY200Z1ptOXlJSFZ6WlhJdFpHVm1hVzVsWkNCamIyMXdiMjVsYm5SekxDQnViM1FnYVc1MFpYSnVZV3dnYjI1bGN5QnNhV3RsSUZOMWMzQmxibk5sTGx4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNiaUFnSUNBdkx5QjBhR1VnY0hKdllteGxiV0YwYVdNZ1kyOWtaU0JoYkcxdmMzUWdZV3gzWVhseklHeHBaWE1nYVc1emFXUmxJSFJvWVhRZ1kyOXRjRzl1Wlc1MExseHVYRzVjYmlBZ0lDQjJZWElnWTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9abWxpWlhJdWRIbHdaU2tnZkh3Z0oxSmxZV04wUTI5dGNHOXVaVzUwSnp0Y2JseHVJQ0FnSUdsbUlDaGthV1JYWVhKdVUzUmhkR1ZWY0dSaGRHVkdiM0pWYm0xdmRXNTBaV1JEYjIxd2IyNWxiblFnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUdsbUlDaGthV1JYWVhKdVUzUmhkR1ZWY0dSaGRHVkdiM0pWYm0xdmRXNTBaV1JEYjIxd2IyNWxiblF1YUdGektHTnZiWEJ2Ym1WdWRFNWhiV1VwS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1pHbGtWMkZ5YmxOMFlYUmxWWEJrWVhSbFJtOXlWVzV0YjNWdWRHVmtRMjl0Y0c5dVpXNTBMbUZrWkNoamIyMXdiMjVsYm5ST1lXMWxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1pHbGtWMkZ5YmxOMFlYUmxWWEJrWVhSbFJtOXlWVzV0YjNWdWRHVmtRMjl0Y0c5dVpXNTBJRDBnYm1WM0lGTmxkQ2hiWTI5dGNHOXVaVzUwVG1GdFpWMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHVnljbTl5S0Z3aVEyRnVKM1FnY0dWeVptOXliU0JoSUZKbFlXTjBJSE4wWVhSbElIVndaR0YwWlNCdmJpQmhiaUIxYm0xdmRXNTBaV1FnWTI5dGNHOXVaVzUwTGlCVWFHbHpJRndpSUNzZ0oybHpJR0VnYm04dGIzQXNJR0oxZENCcGRDQnBibVJwWTJGMFpYTWdZU0J0WlcxdmNua2diR1ZoYXlCcGJpQjViM1Z5SUdGd2NHeHBZMkYwYVc5dUxpQlVieUFuSUNzZ0oyWnBlQ3dnWTJGdVkyVnNJR0ZzYkNCemRXSnpZM0pwY0hScGIyNXpJR0Z1WkNCaGMzbHVZMmh5YjI1dmRYTWdkR0Z6YTNNZ2FXNGdKWE11SlhNbkxDQjBZV2NnUFQwOUlFTnNZWE56UTI5dGNHOXVaVzUwSUQ4Z0ozUm9aU0JqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENCdFpYUm9iMlFuSURvZ0oyRWdkWE5sUldabVpXTjBJR05zWldGdWRYQWdablZ1WTNScGIyNG5MQ0JuWlhSVGRHRmphMEo1Um1saVpYSkpia1JsZGtGdVpGQnliMlFvWm1saVpYSXBLVHRjYmlBZ2ZWeHVmVnh1WEc1MllYSWdZbVZuYVc1WGIzSnJKREU3WEc1Y2JudGNiaUFnZG1GeUlHUjFiVzE1Um1saVpYSWdQU0J1ZFd4c08xeHVYRzRnSUdKbFoybHVWMjl5YXlReElEMGdablZ1WTNScGIyNGdLR04xY25KbGJuUXNJSFZ1YVhSUFpsZHZjbXNzSUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lDQWdMeThnU1dZZ1lTQmpiMjF3YjI1bGJuUWdkR2h5YjNkeklHRnVJR1Z5Y205eUxDQjNaU0J5WlhCc1lYa2dhWFFnWVdkaGFXNGdhVzRnWVNCemVXNWphSEp2Ym05MWMyeDVYRzRnSUNBZ0x5OGdaR2x6Y0dGMFkyaGxaQ0JsZG1WdWRDd2djMjhnZEdoaGRDQjBhR1VnWkdWaWRXZG5aWElnZDJsc2JDQjBjbVZoZENCcGRDQmhjeUJoYmlCMWJtTmhkV2RvZEZ4dUlDQWdJQzh2SUdWeWNtOXlJRk5sWlNCU1pXRmpkRVZ5Y205eVZYUnBiSE1nWm05eUlHMXZjbVVnYVc1bWIzSnRZWFJwYjI0dVhHNGdJQ0FnTHk4Z1FtVm1iM0psSUdWdWRHVnlhVzVuSUhSb1pTQmlaV2RwYmlCd2FHRnpaU3dnWTI5d2VTQjBhR1VnZDI5eWF5MXBiaTF3Y205bmNtVnpjeUJ2Ym5SdklHRWdaSFZ0YlhsY2JpQWdJQ0F2THlCbWFXSmxjaTRnU1dZZ1ltVm5hVzVYYjNKcklIUm9jbTkzY3l3Z2QyVW5iR3dnZFhObElIUm9hWE1nZEc4Z2NtVnpaWFFnZEdobElITjBZWFJsTGx4dUlDQWdJSFpoY2lCdmNtbG5hVzVoYkZkdmNtdEpibEJ5YjJkeVpYTnpRMjl3ZVNBOUlHRnpjMmxuYmtacFltVnlVSEp2Y0dWeWRHbGxjMGx1UkVWV0tHUjFiVzE1Um1saVpYSXNJSFZ1YVhSUFpsZHZjbXNwTzF4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaVpXZHBibGR2Y21zb1kzVnljbVZ1ZEN3Z2RXNXBkRTltVjI5eWF5d2daWGh3YVhKaGRHbHZibFJwYldVcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0c5eWFXZHBibUZzUlhKeWIzSXBJSHRjYmlBZ0lDQWdJR2xtSUNodmNtbG5hVzVoYkVWeWNtOXlJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUJ2Y21sbmFXNWhiRVZ5Y205eUlEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGVYQmxiMllnYjNKcFoybHVZV3hGY25KdmNpNTBhR1Z1SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0FnSUM4dklFUnZiaWQwSUhKbGNHeGhlU0J3Y205dGFYTmxjeTRnVkhKbFlYUWdaWFpsY25sMGFHbHVaeUJsYkhObElHeHBhMlVnWVc0Z1pYSnliM0l1WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzl5YVdkcGJtRnNSWEp5YjNJN1hHNGdJQ0FnSUNCOUlDOHZJRXRsWlhBZ2RHaHBjeUJqYjJSbElHbHVJSE41Ym1NZ2QybDBhQ0JvWVc1a2JHVkZjbkp2Y2pzZ1lXNTVJR05vWVc1blpYTWdhR1Z5WlNCdGRYTjBJR2hoZG1WY2JpQWdJQ0FnSUM4dklHTnZjbkpsYzNCdmJtUnBibWNnWTJoaGJtZGxjeUIwYUdWeVpTNWNibHh1WEc0Z0lDQWdJQ0J5WlhObGRFTnZiblJsZUhSRVpYQmxibVJsYm1OcFpYTW9LVHRjYmlBZ0lDQWdJSEpsYzJWMFNHOXZhM05CWm5SbGNsUm9jbTkzS0NrN0lDOHZJRVJ2YmlkMElISmxjMlYwSUdOMWNuSmxiblFnWkdWaWRXY2dabWxpWlhJc0lITnBibU5sSUhkbEozSmxJR0ZpYjNWMElIUnZJSGR2Y21zZ2IyNGdkR2hsWEc0Z0lDQWdJQ0F2THlCellXMWxJR1pwWW1WeUlHRm5ZV2x1TGx4dUlDQWdJQ0FnTHk4Z1ZXNTNhVzVrSUhSb1pTQm1ZV2xzWldRZ2MzUmhZMnNnWm5KaGJXVmNibHh1SUNBZ0lDQWdkVzUzYVc1a1NXNTBaWEp5ZFhCMFpXUlhiM0pyS0hWdWFYUlBabGR2Y21zcE95QXZMeUJTWlhOMGIzSmxJSFJvWlNCdmNtbG5hVzVoYkNCd2NtOXdaWEowYVdWeklHOW1JSFJvWlNCbWFXSmxjaTVjYmx4dUlDQWdJQ0FnWVhOemFXZHVSbWxpWlhKUWNtOXdaWEowYVdWelNXNUVSVllvZFc1cGRFOW1WMjl5YXl3Z2IzSnBaMmx1WVd4WGIzSnJTVzVRY205bmNtVnpjME52Y0hrcE8xeHVYRzRnSUNBZ0lDQnBaaUFvSUhWdWFYUlBabGR2Y21zdWJXOWtaU0FtSUZCeWIyWnBiR1ZOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJQzh2SUZKbGMyVjBJSFJvWlNCd2NtOW1hV3hsY2lCMGFXMWxjaTVjYmlBZ0lDQWdJQ0FnYzNSaGNuUlFjbTltYVd4bGNsUnBiV1Z5S0hWdWFYUlBabGR2Y21zcE8xeHVJQ0FnSUNBZ2ZTQXZMeUJTZFc0Z1ltVm5hVzVYYjNKcklHRm5ZV2x1TGx4dVhHNWNiaUFnSUNBZ0lHbHVkbTlyWlVkMVlYSmtaV1JEWVd4c1ltRmpheWh1ZFd4c0xDQmlaV2RwYmxkdmNtc3NJRzUxYkd3c0lHTjFjbkpsYm5Rc0lIVnVhWFJQWmxkdmNtc3NJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0doaGMwTmhkV2RvZEVWeWNtOXlLQ2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsY0d4aGVVVnljbTl5SUQwZ1kyeGxZWEpEWVhWbmFIUkZjbkp2Y2lncE95QXZMeUJnYVc1MmIydGxSM1ZoY21SbFpFTmhiR3hpWVdOcllDQnpiMjFsZEdsdFpYTWdjMlYwY3lCaGJpQmxlSEJoYm1SdklHQmZjM1Z3Y0hKbGMzTk1iMmRuYVc1bllDNWNiaUFnSUNBZ0lDQWdMeThnVW1WMGFISnZkeUIwYUdseklHVnljbTl5SUdsdWMzUmxZV1FnYjJZZ2RHaGxJRzl5YVdkcGJtRnNJRzl1WlM1Y2JseHVJQ0FnSUNBZ0lDQjBhSEp2ZHlCeVpYQnNZWGxGY25KdmNqdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDOHZJRlJvYVhNZ1luSmhibU5vSUdseklISmxZV05vWVdKc1pTQnBaaUIwYUdVZ2NtVnVaR1Z5SUhCb1lYTmxJR2x6SUdsdGNIVnlaUzVjYmlBZ0lDQWdJQ0FnZEdoeWIzY2diM0pwWjJsdVlXeEZjbkp2Y2p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMDdYRzU5WEc1Y2JuWmhjaUJrYVdSWFlYSnVRV0p2ZFhSVmNHUmhkR1ZKYmxKbGJtUmxjaUE5SUdaaGJITmxPMXh1ZG1GeUlHUnBaRmRoY201QlltOTFkRlZ3WkdGMFpVbHVVbVZ1WkdWeVJtOXlRVzV2ZEdobGNrTnZiWEJ2Ym1WdWREdGNibHh1ZTF4dUlDQmthV1JYWVhKdVFXSnZkWFJWY0dSaGRHVkpibEpsYm1SbGNrWnZja0Z1YjNSb1pYSkRiMjF3YjI1bGJuUWdQU0J1WlhjZ1UyVjBLQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJSGRoY201QlltOTFkRkpsYm1SbGNsQm9ZWE5sVlhCa1lYUmxjMGx1UkVWV0tHWnBZbVZ5S1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvYVhOU1pXNWtaWEpwYm1jZ0ppWWdLR1Y0WldOMWRHbHZia052Ym5SbGVIUWdKaUJTWlc1a1pYSkRiMjUwWlhoMEtTQWhQVDBnVG05RGIyNTBaWGgwS1NCN1hHNGdJQ0FnSUNCemQybDBZMmdnS0dacFltVnlMblJoWnlrZ2UxeHVJQ0FnSUNBZ0lDQmpZWE5sSUVaMWJtTjBhVzl1UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCallYTmxJRVp2Y25kaGNtUlNaV1k2WEc0Z0lDQWdJQ0FnSUdOaGMyVWdVMmx0Y0d4bFRXVnRiME52YlhCdmJtVnVkRHBjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2NtVnVaR1Z5YVc1blEyOXRjRzl1Wlc1MFRtRnRaU0E5SUhkdmNtdEpibEJ5YjJkeVpYTnpJQ1ltSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZDI5eWEwbHVVSEp2WjNKbGMzTXVkSGx3WlNrZ2ZId2dKMVZ1YTI1dmQyNG5PeUF2THlCRVpXUjFjR1VnWW5rZ2RHaGxJSEpsYm1SbGNtbHVaeUJqYjIxd2IyNWxiblFnWW1WallYVnpaU0JwZENkeklIUm9aU0J2Ym1VZ2RHaGhkQ0J1WldWa2N5QjBieUJpWlNCbWFYaGxaQzVjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUdSbFpIVndaVXRsZVNBOUlISmxibVJsY21sdVowTnZiWEJ2Ym1WdWRFNWhiV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNnaFpHbGtWMkZ5YmtGaWIzVjBWWEJrWVhSbFNXNVNaVzVrWlhKR2IzSkJibTkwYUdWeVEyOXRjRzl1Wlc1MExtaGhjeWhrWldSMWNHVkxaWGtwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdScFpGZGhjbTVCWW05MWRGVndaR0YwWlVsdVVtVnVaR1Z5Um05eVFXNXZkR2hsY2tOdmJYQnZibVZ1ZEM1aFpHUW9aR1ZrZFhCbFMyVjVLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhObGRGTjBZWFJsUTI5dGNHOXVaVzUwVG1GdFpTQTlJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9abWxpWlhJdWRIbHdaU2tnZkh3Z0oxVnVhMjV2ZDI0bk8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkRFlXNXViM1FnZFhCa1lYUmxJR0VnWTI5dGNHOXVaVzUwSUNoZ0pYTmdLU0IzYUdsc1pTQnlaVzVrWlhKcGJtY2dZU0FuSUNzZ0oyUnBabVpsY21WdWRDQmpiMjF3YjI1bGJuUWdLR0FsYzJBcExpQlVieUJzYjJOaGRHVWdkR2hsSUdKaFpDQnpaWFJUZEdGMFpTZ3BJR05oYkd3Z2FXNXphV1JsSUdBbGMyQXNJQ2NnS3lBblptOXNiRzkzSUhSb1pTQnpkR0ZqYXlCMGNtRmpaU0JoY3lCa1pYTmpjbWxpWldRZ2FXNGdhSFIwY0hNNkx5OW1ZaTV0WlM5elpYUnpkR0YwWlMxcGJpMXlaVzVrWlhJbkxDQnpaWFJUZEdGMFpVTnZiWEJ2Ym1WdWRFNWhiV1VzSUhKbGJtUmxjbWx1WjBOdmJYQnZibVZ1ZEU1aGJXVXNJSEpsYm1SbGNtbHVaME52YlhCdmJtVnVkRTVoYldVcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyRnpaU0JEYkdGemMwTnZiWEJ2Ym1WdWREcGNiaUFnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdScFpGZGhjbTVCWW05MWRGVndaR0YwWlVsdVVtVnVaR1Z5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2REWVc1dWIzUWdkWEJrWVhSbElHUjFjbWx1WnlCaGJpQmxlR2x6ZEdsdVp5QnpkR0YwWlNCMGNtRnVjMmwwYVc5dUlDaHpkV05vSUdGeklDY2dLeUFuZDJsMGFHbHVJR0J5Wlc1a1pYSmdLUzRnVW1WdVpHVnlJRzFsZEdodlpITWdjMmh2ZFd4a0lHSmxJR0VnY0hWeVpTQW5JQ3NnSjJaMWJtTjBhVzl1SUc5bUlIQnliM0J6SUdGdVpDQnpkR0YwWlM0bktUdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmthV1JYWVhKdVFXSnZkWFJWY0dSaGRHVkpibEpsYm1SbGNpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgxY2JuMGdMeThnWVNBbmMyaGhjbVZrSnlCMllYSnBZV0pzWlNCMGFHRjBJR05vWVc1blpYTWdkMmhsYmlCaFkzUW9LU0J2Y0dWdWN5OWpiRzl6WlhNZ2FXNGdkR1Z6ZEhNdVhHNWNibHh1ZG1GeUlFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5JRDBnZTF4dUlDQmpkWEp5Wlc1ME9pQm1ZV3h6WlZ4dWZUdGNibVoxYm1OMGFXOXVJSGRoY201SlprNXZkRk5qYjNCbFpGZHBkR2hOWVhSamFHbHVaMEZqZENobWFXSmxjaWtnZTF4dUlDQjdYRzRnSUNBZ2FXWWdLQ0JKYzFOdmJXVlNaVzVrWlhKbGNrRmpkR2x1Wnk1amRYSnlaVzUwSUQwOVBTQjBjblZsSUNZbUlFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5MbU4xY25KbGJuUWdJVDA5SUhSeWRXVXBJSHRjYmlBZ0lDQWdJR1Z5Y205eUtGd2lTWFFnYkc5dmEzTWdiR2xyWlNCNWIzVW5jbVVnZFhOcGJtY2dkR2hsSUhkeWIyNW5JR0ZqZENncElHRnliM1Z1WkNCNWIzVnlJSFJsYzNRZ2FXNTBaWEpoWTNScGIyNXpMbHhjYmx3aUlDc2dKMEpsSUhOMWNtVWdkRzhnZFhObElIUm9aU0J0WVhSamFHbHVaeUIyWlhKemFXOXVJRzltSUdGamRDZ3BJR052Y25KbGMzQnZibVJwYm1jZ2RHOGdlVzkxY2lCeVpXNWtaWEpsY2pwY1hHNWNYRzRuSUNzZ0p5OHZJR1p2Y2lCeVpXRmpkQzFrYjIwNlhGeHVKeUFySUZ3aWFXMXdiM0owSUh0aFkzUjlJR1p5YjIwZ0ozSmxZV04wTFdSdmJTOTBaWE4wTFhWMGFXeHpKenRjWEc1Y0lpQXJJQ2N2THlBdUxpNWNYRzRuSUNzZ0oyRmpkQ2dvS1NBOVBpQXVMaTRwTzF4Y2JseGNiaWNnS3lBbkx5OGdabTl5SUhKbFlXTjBMWFJsYzNRdGNtVnVaR1Z5WlhJNlhGeHVKeUFySUZ3aWFXMXdiM0owSUZSbGMzUlNaVzVrWlhKbGNpQm1jbTl0SUNkeVpXRmpkQzEwWlhOMExYSmxibVJsY21WeUp6dGNYRzVjSWlBcklDZGpiMjV6ZENCN1lXTjBmU0E5SUZSbGMzUlNaVzVrWlhKbGNqdGNYRzRuSUNzZ0p5OHZJQzR1TGx4Y2JpY2dLeUFuWVdOMEtDZ3BJRDArSUM0dUxpazdKeUFySUNjbGN5Y3NJR2RsZEZOMFlXTnJRbmxHYVdKbGNrbHVSR1YyUVc1a1VISnZaQ2htYVdKbGNpa3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdkMkZ5YmtsbVRtOTBRM1Z5Y21WdWRHeDVRV04wYVc1blJXWm1aV04wYzBsdVJFVldLR1pwWW1WeUtTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb0lDaG1hV0psY2k1dGIyUmxJQ1lnVTNSeWFXTjBUVzlrWlNrZ0lUMDlJRTV2VFc5a1pTQW1KaUJKYzFOdmJXVlNaVzVrWlhKbGNrRmpkR2x1Wnk1amRYSnlaVzUwSUQwOVBTQm1ZV3h6WlNBbUppQkpjMVJvYVhOU1pXNWtaWEpsY2tGamRHbHVaeTVqZFhKeVpXNTBJRDA5UFNCbVlXeHpaU2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMEZ1SUhWd1pHRjBaU0IwYnlBbGN5QnlZVzRnWVc0Z1pXWm1aV04wTENCaWRYUWdkMkZ6SUc1dmRDQjNjbUZ3Y0dWa0lHbHVJR0ZqZENndUxpNHBMbHhjYmx4Y2JpY2dLeUFuVjJobGJpQjBaWE4wYVc1bkxDQmpiMlJsSUhSb1lYUWdZMkYxYzJWeklGSmxZV04wSUhOMFlYUmxJSFZ3WkdGMFpYTWdjMmh2ZFd4a0lHSmxJQ2NnS3lBbmQzSmhjSEJsWkNCcGJuUnZJR0ZqZENndUxpNHBPbHhjYmx4Y2JpY2dLeUFuWVdOMEtDZ3BJRDArSUh0Y1hHNG5JQ3NnSnlBZ0x5b2dabWx5WlNCbGRtVnVkSE1nZEdoaGRDQjFjR1JoZEdVZ2MzUmhkR1VnS2k5Y1hHNG5JQ3NnSjMwcE8xeGNiaWNnS3lBbkx5b2dZWE56WlhKMElHOXVJSFJvWlNCdmRYUndkWFFnS2k5Y1hHNWNYRzRuSUNzZ1hDSlVhR2x6SUdWdWMzVnlaWE1nZEdoaGRDQjViM1VuY21VZ2RHVnpkR2x1WnlCMGFHVWdZbVZvWVhacGIzSWdkR2hsSUhWelpYSWdkMjkxYkdRZ2MyVmxJRndpSUNzZ0oybHVJSFJvWlNCaWNtOTNjMlZ5TGljZ0t5QW5JRXhsWVhKdUlHMXZjbVVnWVhRZ2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMTNjbUZ3TFhSbGMzUnpMWGRwZEdndFlXTjBKeUFySUNjbGN5Y3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9abWxpWlhJdWRIbHdaU2tzSUdkbGRGTjBZV05yUW5sR2FXSmxja2x1UkdWMlFXNWtVSEp2WkNobWFXSmxjaWtwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCM1lYSnVTV1pPYjNSRGRYSnlaVzUwYkhsQlkzUnBibWRWY0dSaGRHVnpTVzVFUlZZb1ptbGlaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2dnWlhobFkzVjBhVzl1UTI5dWRHVjRkQ0E5UFQwZ1RtOURiMjUwWlhoMElDWW1JRWx6VTI5dFpWSmxibVJsY21WeVFXTjBhVzVuTG1OMWNuSmxiblFnUFQwOUlHWmhiSE5sSUNZbUlFbHpWR2hwYzFKbGJtUmxjbVZ5UVdOMGFXNW5MbU4xY25KbGJuUWdQVDA5SUdaaGJITmxLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25RVzRnZFhCa1lYUmxJSFJ2SUNWeklHbHVjMmxrWlNCaElIUmxjM1FnZDJGeklHNXZkQ0IzY21Gd2NHVmtJR2x1SUdGamRDZ3VMaTRwTGx4Y2JseGNiaWNnS3lBblYyaGxiaUIwWlhOMGFXNW5MQ0JqYjJSbElIUm9ZWFFnWTJGMWMyVnpJRkpsWVdOMElITjBZWFJsSUhWd1pHRjBaWE1nYzJodmRXeGtJR0psSUNjZ0t5QW5kM0poY0hCbFpDQnBiblJ2SUdGamRDZ3VMaTRwT2x4Y2JseGNiaWNnS3lBbllXTjBLQ2dwSUQwK0lIdGNYRzRuSUNzZ0p5QWdMeW9nWm1seVpTQmxkbVZ1ZEhNZ2RHaGhkQ0IxY0dSaGRHVWdjM1JoZEdVZ0tpOWNYRzRuSUNzZ0ozMHBPMXhjYmljZ0t5QW5MeW9nWVhOelpYSjBJRzl1SUhSb1pTQnZkWFJ3ZFhRZ0tpOWNYRzVjWEc0bklDc2dYQ0pVYUdseklHVnVjM1Z5WlhNZ2RHaGhkQ0I1YjNVbmNtVWdkR1Z6ZEdsdVp5QjBhR1VnWW1Wb1lYWnBiM0lnZEdobElIVnpaWElnZDI5MWJHUWdjMlZsSUZ3aUlDc2dKMmx1SUhSb1pTQmljbTkzYzJWeUxpY2dLeUFuSUV4bFlYSnVJRzF2Y21VZ1lYUWdhSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzEzY21Gd0xYUmxjM1J6TFhkcGRHZ3RZV04wSnlBcklDY2xjeWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1saVpYSXVkSGx3WlNrc0lHZGxkRk4wWVdOclFubEdhV0psY2tsdVJHVjJRVzVrVUhKdlpDaG1hV0psY2lrcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNTJZWElnZDJGeWJrbG1UbTkwUTNWeWNtVnVkR3g1UVdOMGFXNW5WWEJrWVhSbGMwbHVSR1YySUQwZ2QyRnlia2xtVG05MFEzVnljbVZ1ZEd4NVFXTjBhVzVuVlhCa1lYUmxjMGx1UkVWV095QXZMeUJKYmlCMFpYTjBjeXdnZDJVZ2QyRnVkQ0IwYnlCbGJtWnZjbU5sSUdFZ2JXOWphMlZrSUhOamFHVmtkV3hsY2k1Y2JseHVkbUZ5SUdScFpGZGhjbTVCWW05MWRGVnViVzlqYTJWa1UyTm9aV1IxYkdWeUlEMGdabUZzYzJVN0lDOHZJRlJQUkU4Z1FtVm1iM0psSUhkbElISmxiR1ZoYzJVZ1kyOXVZM1Z5Y21WdWRDQnRiMlJsTENCeVpYWnBjMmwwSUhSb2FYTWdZVzVrSUdSbFkybGtaU0IzYUdWMGFHVnlJR0VnYlc5amEyVmtYRzR2THlCelkyaGxaSFZzWlhJZ2FYTWdkR2hsSUdGamRIVmhiQ0J5WldOdmJXMWxibVJoZEdsdmJpNGdWR2hsSUdGc2RHVnlibUYwYVhabElHTnZkV3hrSUdKbElHRWdkR1Z6ZEdsdVp5QmlkV2xzWkN4Y2JpOHZJR0VnYm1WM0lHeHBZaXdnYjNJZ2QyaGhkR1YyWlhJN0lIZGxJR1IxYm01dklHcDFjM1FnZVdWMExpQlVhR2x6SUcxbGMzTmhaMlVnYVhNZ1ptOXlJR1ZoY214NUlHRmtiM0IwWlhKelhHNHZMeUIwYnlCblpYUWdkR2hsYVhJZ2RHVnpkSE1nY21sbmFIUXVYRzVjYm1aMWJtTjBhVzl1SUhkaGNtNUpabFZ1Ylc5amEyVmtVMk5vWldSMWJHVnlLR1pwWW1WeUtTQjdYRzRnSUh0Y2JpQWdJQ0JwWmlBb1pHbGtWMkZ5YmtGaWIzVjBWVzV0YjJOclpXUlRZMmhsWkhWc1pYSWdQVDA5SUdaaGJITmxJQ1ltSUZOamFHVmtkV3hsY2k1MWJuTjBZV0pzWlY5bWJIVnphRUZzYkZkcGRHaHZkWFJCYzNObGNuUnBibWNnUFQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdhV1lnS0dacFltVnlMbTF2WkdVZ0ppQkNiRzlqYTJsdVowMXZaR1VnZkh3Z1ptbGlaWEl1Ylc5a1pTQW1JRU52Ym1OMWNuSmxiblJOYjJSbEtTQjdYRzRnSUNBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEZWdWJXOWphMlZrVTJOb1pXUjFiR1Z5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNCbGNuSnZjaWduU1c0Z1EyOXVZM1Z5Y21WdWRDQnZjaUJUZVc1aklHMXZaR1Z6TENCMGFHVWdYQ0p6WTJobFpIVnNaWEpjSWlCdGIyUjFiR1VnYm1WbFpITWdkRzhnWW1VZ2JXOWphMlZrSUNjZ0t5QW5kRzhnWjNWaGNtRnVkR1ZsSUdOdmJuTnBjM1JsYm5RZ1ltVm9ZWFpwYjNWeUlHRmpjbTl6Y3lCMFpYTjBjeUJoYm1RZ1luSnZkM05sY25NdUlDY2dLeUFuUm05eUlHVjRZVzF3YkdVc0lIZHBkR2dnYW1WemREb2dYRnh1SnlBcklGd2lhbVZ6ZEM1dGIyTnJLQ2R6WTJobFpIVnNaWEluTENBb0tTQTlQaUJ5WlhGMWFYSmxLQ2R6WTJobFpIVnNaWEl2ZFc1emRHRmliR1ZmYlc5amF5Y3BLVHRjWEc1Y1hHNWNJaUFySUNkR2IzSWdiVzl5WlNCcGJtWnZMQ0IyYVhOcGRDQm9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMVzF2WTJzdGMyTm9aV1IxYkdWeUp5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR052YlhCMWRHVlVhSEpsWVdSSlJDaHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dUlDQXZMeUJKYm5SbGNtRmpkR2x2YmlCMGFISmxZV1J6SUdGeVpTQjFibWx4ZFdVZ2NHVnlJSEp2YjNRZ1lXNWtJR1Y0Y0dseVlYUnBiMjRnZEdsdFpTNWNiaUFnY21WMGRYSnVJR1Y0Y0dseVlYUnBiMjVVYVcxbElDb2dNVEF3TUNBcklISnZiM1F1YVc1MFpYSmhZM1JwYjI1VWFISmxZV1JKUkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYldGeWExTndZWGR1WldSWGIzSnJLR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzVjYmlBZ2FXWWdLSE53WVhkdVpXUlhiM0pyUkhWeWFXNW5VbVZ1WkdWeUlEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ2MzQmhkMjVsWkZkdmNtdEVkWEpwYm1kU1pXNWtaWElnUFNCYlpYaHdhWEpoZEdsdmJsUnBiV1ZkTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhOd1lYZHVaV1JYYjNKclJIVnlhVzVuVW1WdVpHVnlMbkIxYzJnb1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITmphR1ZrZFd4bFNXNTBaWEpoWTNScGIyNXpLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsTENCcGJuUmxjbUZqZEdsdmJuTXBJSHRjYmx4dUlDQnBaaUFvYVc1MFpYSmhZM1JwYjI1ekxuTnBlbVVnUGlBd0tTQjdYRzRnSUNBZ2RtRnlJSEJsYm1ScGJtZEpiblJsY21GamRHbHZiazFoY0NBOUlISnZiM1F1Y0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1VFdGd08xeHVJQ0FnSUhaaGNpQndaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpJRDBnY0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1VFdGd0xtZGxkQ2hsZUhCcGNtRjBhVzl1VkdsdFpTazdYRzVjYmlBZ0lDQnBaaUFvY0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1Y3lBaFBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCcGJuUmxjbUZqZEdsdmJuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzUwWlhKaFkzUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLQ0Z3Wlc1a2FXNW5TVzUwWlhKaFkzUnBiMjV6TG1oaGN5aHBiblJsY21GamRHbHZiaWtwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJWY0dSaGRHVWdkR2hsSUhCbGJtUnBibWNnWVhONWJtTWdkMjl5YXlCamIzVnVkQ0JtYjNJZ2NISmxkbWx2ZFhOc2VTQjFibk5qYUdWa2RXeGxaQ0JwYm5SbGNtRmpkR2x2Ymk1Y2JpQWdJQ0FnSUNBZ0lDQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBLeXM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQndaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpMbUZrWkNocGJuUmxjbUZqZEdsdmJpazdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2NHVnVaR2x1WjBsdWRHVnlZV04wYVc5dVRXRndMbk5sZENobGVIQnBjbUYwYVc5dVZHbHRaU3dnYm1WM0lGTmxkQ2hwYm5SbGNtRmpkR2x2Ym5NcEtUc2dMeThnVlhCa1lYUmxJSFJvWlNCd1pXNWthVzVuSUdGemVXNWpJSGR2Y21zZ1kyOTFiblFnWm05eUlIUm9aU0JqZFhKeVpXNTBJR2x1ZEdWeVlXTjBhVzl1Y3k1Y2JseHVJQ0FnSUNBZ2FXNTBaWEpoWTNScGIyNXpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR2x1ZEdWeVlXTjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lHbHVkR1Z5WVdOMGFXOXVMbDlmWTI5MWJuUXJLenRjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCemRXSnpZM0pwWW1WeUlEMGdkSEpoWTJsdVp5NWZYM04xWW5OamNtbGlaWEpTWldZdVkzVnljbVZ1ZER0Y2JseHVJQ0FnSUdsbUlDaHpkV0p6WTNKcFltVnlJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2RHaHlaV0ZrU1VRZ1BTQmpiMjF3ZFhSbFZHaHlaV0ZrU1VRb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBPMXh1SUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmxkdmNtdFRZMmhsWkhWc1pXUW9hVzUwWlhKaFkzUnBiMjV6TENCMGFISmxZV1JKUkNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITmphR1ZrZFd4bFVHVnVaR2x1WjBsdWRHVnlZV04wYVc5dWN5aHliMjkwTENCbGVIQnBjbUYwYVc5dVZHbHRaU2tnZTF4dVhHNGdJSE5qYUdWa2RXeGxTVzUwWlhKaFkzUnBiMjV6S0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbExDQjBjbUZqYVc1bkxsOWZhVzUwWlhKaFkzUnBiMjV6VW1WbUxtTjFjbkpsYm5RcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCemRHRnlkRmR2Y210UGJsQmxibVJwYm1kSmJuUmxjbUZqZEdsdmJuTW9jbTl2ZEN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdMeThnZDJVZ1kyRnVJR0ZqWTNWeVlYUmxiSGtnWVhSMGNtbGlkWFJsSUhScGJXVWdjM0JsYm5RZ2QyOXlhMmx1WnlCdmJpQnBkQ3dnUVc1a0lITnZJSFJvWVhRZ1kyRnpZMkZrYVc1blhHNGdJQzh2SUhkdmNtc2dkSEpwWjJkbGNtVmtJR1IxY21sdVp5QjBhR1VnY21WdVpHVnlJSEJvWVhObElIZHBiR3dnWW1VZ1lYTnpiMk5wWVhSbFpDQjNhWFJvSUdsMExseHVYRzVjYmlBZ2RtRnlJR2x1ZEdWeVlXTjBhVzl1Y3lBOUlHNWxkeUJUWlhRb0tUdGNiaUFnY205dmRDNXdaVzVrYVc1blNXNTBaWEpoWTNScGIyNU5ZWEF1Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYzJOb1pXUjFiR1ZrU1c1MFpYSmhZM1JwYjI1ekxDQnpZMmhsWkhWc1pXUkZlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUdsbUlDaHpZMmhsWkhWc1pXUkZlSEJwY21GMGFXOXVWR2x0WlNBK1BTQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0FnSUNBZ2MyTm9aV1IxYkdWa1NXNTBaWEpoWTNScGIyNXpMbVp2Y2tWaFkyZ29ablZ1WTNScGIyNGdLR2x1ZEdWeVlXTjBhVzl1S1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuUmxjbUZqZEdsdmJuTXVZV1JrS0dsdWRHVnlZV04wYVc5dUtUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNiaUFnZlNrN0lDOHZJRk4wYjNKbElIUm9aU0JqZFhKeVpXNTBJSE5sZENCdlppQnBiblJsY21GamRHbHZibk1nYjI0Z2RHaGxJRVpwWW1WeVVtOXZkQ0JtYjNJZ1lTQm1aWGNnY21WaGMyOXVjenBjYmlBZ0x5OGdWMlVnWTJGdUlISmxMWFZ6WlNCcGRDQnBiaUJvYjNRZ1puVnVZM1JwYjI1eklHeHBhMlVnY0dWeVptOXliVU52Ym1OMWNuSmxiblJYYjNKclQyNVNiMjkwS0NsY2JpQWdMeThnZDJsMGFHOTFkQ0JvWVhacGJtY2dkRzhnY21WallXeGpkV3hoZEdVZ2FYUXVJRmRsSUhkcGJHd2dZV3h6YnlCMWMyVWdhWFFnYVc0Z1kyOXRiV2wwVjI5eWF5Z3BJSFJ2WEc0Z0lDOHZJSEJoYzNNZ2RHOGdZVzU1SUZCeWIyWnBiR1Z5SUc5dVVtVnVaR1Z5S0NrZ2FHOXZhM011SUZSb2FYTWdZV3h6YnlCd2NtOTJhV1JsY3lCRVpYWlViMjlzY3lCM2FYUm9JR0ZjYmlBZ0x5OGdkMkY1SUhSdklHRmpZMlZ6Y3lCcGRDQjNhR1Z1SUhSb1pTQnZia052YlcxcGRGSnZiM1FvS1NCb2IyOXJJR2x6SUdOaGJHeGxaQzVjYmx4dUlDQnliMjkwTG0xbGJXOXBlbVZrU1c1MFpYSmhZM1JwYjI1eklEMGdhVzUwWlhKaFkzUnBiMjV6TzF4dVhHNGdJR2xtSUNocGJuUmxjbUZqZEdsdmJuTXVjMmw2WlNBK0lEQXBJSHRjYmlBZ0lDQjJZWElnYzNWaWMyTnlhV0psY2lBOUlIUnlZV05wYm1jdVgxOXpkV0p6WTNKcFltVnlVbVZtTG1OMWNuSmxiblE3WEc1Y2JpQWdJQ0JwWmlBb2MzVmljMk55YVdKbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdkbUZ5SUhSb2NtVmhaRWxFSUQwZ1kyOXRjSFYwWlZSb2NtVmhaRWxFS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ2MzVmljMk55YVdKbGNpNXZibGR2Y210VGRHRnlkR1ZrS0dsdWRHVnlZV04wYVc5dWN5d2dkR2h5WldGa1NVUXBPMXh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdMeThnU1dZZ2RHaGxJSE4xWW5OamNtbGlaWElnZEdoeWIzZHpMQ0J5WlhSb2NtOTNJR2wwSUdsdUlHRWdjMlZ3WVhKaGRHVWdkR0Z6YTF4dUlDQWdJQ0FnSUNCelkyaGxaSFZzWlVOaGJHeGlZV05yS0VsdGJXVmthV0YwWlZCeWFXOXlhWFI1TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2daWEp5YjNJN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJtYVc1cGMyaFFaVzVrYVc1blNXNTBaWEpoWTNScGIyNXpLSEp2YjNRc0lHTnZiVzFwZEhSbFpFVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNWNiaUFnZG1GeUlHVmhjbXhwWlhOMFVtVnRZV2x1YVc1blZHbHRaVUZtZEdWeVEyOXRiV2wwSUQwZ2NtOXZkQzVtYVhKemRGQmxibVJwYm1kVWFXMWxPMXh1SUNCMllYSWdjM1ZpYzJOeWFXSmxjanRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSE4xWW5OamNtbGlaWElnUFNCMGNtRmphVzVuTGw5ZmMzVmljMk55YVdKbGNsSmxaaTVqZFhKeVpXNTBPMXh1WEc0Z0lDQWdhV1lnS0hOMVluTmpjbWxpWlhJZ0lUMDlJRzUxYkd3Z0ppWWdjbTl2ZEM1dFpXMXZhWHBsWkVsdWRHVnlZV04wYVc5dWN5NXphWHBsSUQ0Z01Da2dlMXh1SUNBZ0lDQWdkbUZ5SUhSb2NtVmhaRWxFSUQwZ1kyOXRjSFYwWlZSb2NtVmhaRWxFS0hKdmIzUXNJR052YlcxcGRIUmxaRVY0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lITjFZbk5qY21saVpYSXViMjVYYjNKclUzUnZjSEJsWkNoeWIyOTBMbTFsYlc5cGVtVmtTVzUwWlhKaFkzUnBiMjV6TENCMGFISmxZV1JKUkNrN1hHNGdJQ0FnZlZ4dUlDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUM4dklFbG1JSFJvWlNCemRXSnpZM0pwWW1WeUlIUm9jbTkzY3l3Z2NtVjBhSEp2ZHlCcGRDQnBiaUJoSUhObGNHRnlZWFJsSUhSaGMydGNiaUFnSUNCelkyaGxaSFZzWlVOaGJHeGlZV05yS0VsdGJXVmthV0YwWlZCeWFXOXlhWFI1TENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCbGNuSnZjanRjYmlBZ0lDQjlLVHRjYmlBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBdkx5QkRiR1ZoY2lCamIyMXdiR1YwWldRZ2FXNTBaWEpoWTNScGIyNXpJR1p5YjIwZ2RHaGxJSEJsYm1ScGJtY2dUV0Z3TGx4dUlDQWdJQzh2SUZWdWJHVnpjeUIwYUdVZ2NtVnVaR1Z5SUhkaGN5QnpkWE53Wlc1a1pXUWdiM0lnWTJGelkyRmthVzVuSUhkdmNtc2dkMkZ6SUhOamFHVmtkV3hsWkN4Y2JpQWdJQ0F2THlCSmJpQjNhR2xqYUNCallYTmw0b0NUSUd4bFlYWmxJSEJsYm1ScGJtY2dhVzUwWlhKaFkzUnBiMjV6SUhWdWRHbHNJSFJvWlNCemRXSnpaWEYxWlc1MElISmxibVJsY2k1Y2JpQWdJQ0IyWVhJZ2NHVnVaR2x1WjBsdWRHVnlZV04wYVc5dVRXRndJRDBnY205dmRDNXdaVzVrYVc1blNXNTBaWEpoWTNScGIyNU5ZWEE3WEc0Z0lDQWdjR1Z1WkdsdVowbHVkR1Z5WVdOMGFXOXVUV0Z3TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0hOamFHVmtkV3hsWkVsdWRHVnlZV04wYVc5dWN5d2djMk5vWldSMWJHVmtSWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNBZ0lDOHZJRTl1YkhrZ1pHVmpjbVZ0Wlc1MElIUm9aU0J3Wlc1a2FXNW5JR2x1ZEdWeVlXTjBhVzl1SUdOdmRXNTBJR2xtSUhkbEozSmxJR1J2Ym1VdVhHNGdJQ0FnSUNBdkx5QkpaaUIwYUdWeVpTZHpJSE4wYVd4c0lIZHZjbXNnWVhRZ2RHaGxJR04xY25KbGJuUWdjSEpwYjNKcGRIa3NYRzRnSUNBZ0lDQXZMeUJVYUdGMElHbHVaR2xqWVhSbGN5QjBhR0YwSUhkbElHRnlaU0IzWVdsMGFXNW5JR1p2Y2lCemRYTndaVzV6WlNCa1lYUmhMbHh1SUNBZ0lDQWdhV1lnS0hOamFHVmtkV3hsWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDRnWldGeWJHbGxjM1JTWlcxaGFXNXBibWRVYVcxbFFXWjBaWEpEYjIxdGFYUXBJSHRjYmlBZ0lDQWdJQ0FnY0dWdVpHbHVaMGx1ZEdWeVlXTjBhVzl1VFdGd0xtUmxiR1YwWlNoelkyaGxaSFZzWldSRmVIQnBjbUYwYVc5dVZHbHRaU2s3WEc0Z0lDQWdJQ0FnSUhOamFHVmtkV3hsWkVsdWRHVnlZV04wYVc5dWN5NW1iM0pGWVdOb0tHWjFibU4wYVc5dUlDaHBiblJsY21GamRHbHZiaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHbHVkR1Z5WVdOMGFXOXVMbDlmWTI5MWJuUXRMVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h6ZFdKelkzSnBZbVZ5SUNFOVBTQnVkV3hzSUNZbUlHbHVkR1Z5WVdOMGFXOXVMbDlmWTI5MWJuUWdQVDA5SURBcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lITjFZbk5qY21saVpYSXViMjVKYm5SbGNtRmpkR2x2YmxOamFHVmtkV3hsWkZkdmNtdERiMjF3YkdWMFpXUW9hVzUwWlhKaFkzUnBiMjRwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0x5OGdTV1lnZEdobElITjFZbk5qY21saVpYSWdkR2h5YjNkekxDQnlaWFJvY205M0lHbDBJR2x1SUdFZ2MyVndZWEpoZEdVZ2RHRnphMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnpZMmhsWkhWc1pVTmhiR3hpWVdOcktFbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNUxDQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZEdoeWIzY2daWEp5YjNJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmx4dWRtRnlJRzl1VTJOb1pXUjFiR1ZHYVdKbGNsSnZiM1FnUFNCdWRXeHNPMXh1ZG1GeUlHOXVRMjl0YldsMFJtbGlaWEpTYjI5MElEMGdiblZzYkR0Y2JuWmhjaUJ2YmtOdmJXMXBkRVpwWW1WeVZXNXRiM1Z1ZENBOUlHNTFiR3c3WEc1MllYSWdhR0Z6VEc5bloyVmtSWEp5YjNJZ1BTQm1ZV3h6WlR0Y2JuWmhjaUJwYzBSbGRsUnZiMnh6VUhKbGMyVnVkQ0E5SUhSNWNHVnZaaUJmWDFKRlFVTlVYMFJGVmxSUFQweFRYMGRNVDBKQlRGOUlUMDlMWDE4Z0lUMDlJQ2QxYm1SbFptbHVaV1FuTzF4dVpuVnVZM1JwYjI0Z2FXNXFaV04wU1c1MFpYSnVZV3h6S0dsdWRHVnlibUZzY3lrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUY5ZlVrVkJRMVJmUkVWV1ZFOVBURk5mUjB4UFFrRk1YMGhQVDB0Zlh5QTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNBdkx5Qk9ieUJFWlhaVWIyOXNjMXh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQm9iMjlySUQwZ1gxOVNSVUZEVkY5RVJWWlVUMDlNVTE5SFRFOUNRVXhmU0U5UFMxOWZPMXh1WEc0Z0lHbG1JQ2hvYjI5ckxtbHpSR2x6WVdKc1pXUXBJSHRjYmlBZ0lDQXZMeUJVYUdseklHbHpiaWQwSUdFZ2NtVmhiQ0J3Y205d1pYSjBlU0J2YmlCMGFHVWdhRzl2YXl3Z1luVjBJR2wwSUdOaGJpQmlaU0J6WlhRZ2RHOGdiM0IwSUc5MWRGeHVJQ0FnSUM4dklHOW1JRVJsZGxSdmIyeHpJR2x1ZEdWbmNtRjBhVzl1SUdGdVpDQmhjM052WTJsaGRHVmtJSGRoY201cGJtZHpJR0Z1WkNCc2IyZHpMbHh1SUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk16ZzNOMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRm9iMjlyTG5OMWNIQnZjblJ6Um1saVpYSXBJSHRjYmlBZ0lDQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblZHaGxJR2x1YzNSaGJHeGxaQ0IyWlhKemFXOXVJRzltSUZKbFlXTjBJRVJsZGxSdmIyeHpJR2x6SUhSdmJ5QnZiR1FnWVc1a0lIZHBiR3dnYm05MElIZHZjbXNnSnlBcklDZDNhWFJvSUhSb1pTQmpkWEp5Wlc1MElIWmxjbk5wYjI0Z2IyWWdVbVZoWTNRdUlGQnNaV0Z6WlNCMWNHUmhkR1VnVW1WaFkzUWdSR1YyVkc5dmJITXVJQ2NnS3lBbmFIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMWtaWFowYjI5c2N5Y3BPMXh1SUNBZ0lIMGdMeThnUkdWMlZHOXZiSE1nWlhocGMzUnpMQ0JsZG1WdUlIUm9iM1ZuYUNCcGRDQmtiMlZ6YmlkMElITjFjSEJ2Y25RZ1JtbGlaWEl1WEc1Y2JseHVJQ0FnSUhKbGRIVnliaUIwY25WbE8xeHVJQ0I5WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IyWVhJZ2NtVnVaR1Z5WlhKSlJDQTlJR2h2YjJzdWFXNXFaV04wS0dsdWRHVnlibUZzY3lrN0lDOHZJRmRsSUdoaGRtVWdjM1ZqWTJWemMyWjFiR3g1SUdsdWFtVmpkR1ZrTENCemJ5QnViM2NnYVhRZ2FYTWdjMkZtWlNCMGJ5QnpaWFFnZFhBZ2FHOXZhM011WEc1Y2JpQWdJQ0JwWmlBb2RISjFaU2tnZTF4dUlDQWdJQ0FnTHk4Z1QyNXNlU0IxYzJWa0lHSjVJRVpoYzNRZ1VtVm1jbVZ6YUZ4dUlDQWdJQ0FnYVdZZ0tIUjVjR1Z2WmlCb2IyOXJMbTl1VTJOb1pXUjFiR1ZHYVdKbGNsSnZiM1FnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJQ0FnYjI1VFkyaGxaSFZzWlVacFltVnlVbTl2ZENBOUlHWjFibU4wYVc5dUlDaHliMjkwTENCamFHbHNaSEpsYmlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JvYjI5ckxtOXVVMk5vWldSMWJHVkdhV0psY2xKdmIzUW9jbVZ1WkdWeVpYSkpSQ3dnY205dmRDd2dZMmhwYkdSeVpXNHBPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJ5ZFdVZ0ppWWdJV2hoYzB4dloyZGxaRVZ5Y205eUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHaGhjMHh2WjJkbFpFVnljbTl5SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JsY25KdmNpZ25VbVZoWTNRZ2FXNXpkSEoxYldWdWRHRjBhVzl1SUdWdVkyOTFiblJsY21Wa0lHRnVJR1Z5Y205eU9pQWxjeWNzSUdWeWNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJRzl1UTI5dGJXbDBSbWxpWlhKU2IyOTBJRDBnWm5WdVkzUnBiMjRnS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCMllYSWdaR2xrUlhKeWIzSWdQU0FvY205dmRDNWpkWEp5Wlc1MExtVm1abVZqZEZSaFp5QW1JRVJwWkVOaGNIUjFjbVVwSUQwOVBTQkVhV1JEWVhCMGRYSmxPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGxibUZpYkdWUWNtOW1hV3hsY2xScGJXVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RtRnlJR04xY25KbGJuUlVhVzFsSUQwZ1oyVjBRM1Z5Y21WdWRGUnBiV1VvS1R0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnY0hKcGIzSnBkSGxNWlhabGJDQTlJR2x1Wm1WeVVISnBiM0pwZEhsR2NtOXRSWGh3YVhKaGRHbHZibFJwYldVb1kzVnljbVZ1ZEZScGJXVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnSUNBZ0lDQWdJQ0JvYjI5ckxtOXVRMjl0YldsMFJtbGlaWEpTYjI5MEtISmxibVJsY21WeVNVUXNJSEp2YjNRc0lIQnlhVzl5YVhSNVRHVjJaV3dzSUdScFpFVnljbTl5S1R0Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ0lDQm9iMjlyTG05dVEyOXRiV2wwUm1saVpYSlNiMjkwS0hKbGJtUmxjbVZ5U1VRc0lISnZiM1FzSUhWdVpHVm1hVzVsWkN3Z1pHbGtSWEp5YjNJcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR05oZEdOb0lDaGxjbklwSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJ5ZFdVcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb0lXaGhjMHh2WjJkbFpFVnljbTl5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JvWVhOTWIyZG5aV1JGY25KdmNpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2RTWldGamRDQnBibk4wY25WdFpXNTBZWFJwYjI0Z1pXNWpiM1Z1ZEdWeVpXUWdZVzRnWlhKeWIzSTZJQ1Z6Snl3Z1pYSnlLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOU8xeHVYRzRnSUNBZ2IyNURiMjF0YVhSR2FXSmxjbFZ1Ylc5MWJuUWdQU0JtZFc1amRHbHZiaUFvWm1saVpYSXBJSHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lHaHZiMnN1YjI1RGIyMXRhWFJHYVdKbGNsVnViVzkxYm5Rb2NtVnVaR1Z5WlhKSlJDd2dabWxpWlhJcE8xeHVJQ0FnSUNBZ2ZTQmpZWFJqYUNBb1pYSnlLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NGb1lYTk1iMmRuWldSRmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhR0Z6VEc5bloyVmtSWEp5YjNJZ1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0JsY25KdmNpZ25VbVZoWTNRZ2FXNXpkSEoxYldWdWRHRjBhVzl1SUdWdVkyOTFiblJsY21Wa0lHRnVJR1Z5Y205eU9pQWxjeWNzSUdWeWNpazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnZlR0Y2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnTHk4Z1EyRjBZMmdnWVd4c0lHVnljbTl5Y3lCaVpXTmhkWE5sSUdsMElHbHpJSFZ1YzJGbVpTQjBieUIwYUhKdmR5QmtkWEpwYm1jZ2FXNXBkR2xoYkdsNllYUnBiMjR1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdaWEp5YjNJb0oxSmxZV04wSUdsdWMzUnlkVzFsYm5SaGRHbHZiaUJsYm1OdmRXNTBaWEpsWkNCaGJpQmxjbkp2Y2pvZ0pYTXVKeXdnWlhKeUtUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1JHVjJWRzl2YkhNZ1pYaHBjM1J6WEc1Y2JseHVJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JuMWNibVoxYm1OMGFXOXVJRzl1VTJOb1pXUjFiR1ZTYjI5MEtISnZiM1FzSUdOb2FXeGtjbVZ1S1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYjI1VFkyaGxaSFZzWlVacFltVnlVbTl2ZENBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJRzl1VTJOb1pXUjFiR1ZHYVdKbGNsSnZiM1FvY205dmRDd2dZMmhwYkdSeVpXNHBPMXh1SUNCOVhHNTlYRzVtZFc1amRHbHZiaUJ2YmtOdmJXMXBkRkp2YjNRb2NtOXZkQ3dnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnZia052YlcxcGRFWnBZbVZ5VW05dmRDQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUc5dVEyOXRiV2wwUm1saVpYSlNiMjkwS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdiMjVEYjIxdGFYUlZibTF2ZFc1MEtHWnBZbVZ5S1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYjI1RGIyMXRhWFJHYVdKbGNsVnViVzkxYm5RZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0J2YmtOdmJXMXBkRVpwWW1WeVZXNXRiM1Z1ZENobWFXSmxjaWs3WEc0Z0lIMWNibjFjYmx4dWRtRnlJR2hoYzBKaFpFMWhjRkJ2YkhsbWFXeHNPMXh1WEc1N1hHNGdJR2hoYzBKaFpFMWhjRkJ2YkhsbWFXeHNJRDBnWm1Gc2MyVTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQjJZWElnYm05dVJYaDBaVzV6YVdKc1pVOWlhbVZqZENBOUlFOWlhbVZqZEM1d2NtVjJaVzUwUlhoMFpXNXphVzl1Y3loN2ZTazdYRzRnSUNBZ2RtRnlJSFJsYzNSTllYQWdQU0J1WlhjZ1RXRndLRnRiYm05dVJYaDBaVzV6YVdKc1pVOWlhbVZqZEN3Z2JuVnNiRjFkS1R0Y2JpQWdJQ0IyWVhJZ2RHVnpkRk5sZENBOUlHNWxkeUJUWlhRb1cyNXZia1Y0ZEdWdWMybGliR1ZQWW1wbFkzUmRLVHNnTHk4Z1ZHaHBjeUJwY3lCdVpXTmxjM05oY25rZ1ptOXlJRkp2Ykd4MWNDQjBieUJ1YjNRZ1kyOXVjMmxrWlhJZ2RHaGxjMlVnZFc1MWMyVmtMbHh1SUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzl5YjJ4c2RYQXZjbTlzYkhWd0wybHpjM1ZsY3k4eE56Y3hYRzRnSUNBZ0x5OGdWRTlFVHpvZ2QyVWdZMkZ1SUhKbGJXOTJaU0IwYUdWelpTQnBaaUJTYjJ4c2RYQWdabWw0WlhNZ2RHaGxJR0oxWnk1Y2JseHVJQ0FnSUhSbGMzUk5ZWEF1YzJWMEtEQXNJREFwTzF4dUlDQWdJSFJsYzNSVFpYUXVZV1JrS0RBcE8xeHVJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnTHk4Z1ZFOUVUem9nUTI5dWMybGtaWElnZDJGeWJtbHVaeUJoWW05MWRDQmlZV1FnY0c5c2VXWnBiR3h6WEc0Z0lDQWdhR0Z6UW1Ga1RXRndVRzlzZVdacGJHd2dQU0IwY25WbE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCa1pXSjFaME52ZFc1MFpYSWdQU0F4TzF4dVhHNW1kVzVqZEdsdmJpQkdhV0psY2s1dlpHVW9kR0ZuTENCd1pXNWthVzVuVUhKdmNITXNJR3RsZVN3Z2JXOWtaU2tnZTF4dUlDQXZMeUJKYm5OMFlXNWpaVnh1SUNCMGFHbHpMblJoWnlBOUlIUmhaenRjYmlBZ2RHaHBjeTVyWlhrZ1BTQnJaWGs3WEc0Z0lIUm9hWE11Wld4bGJXVnVkRlI1Y0dVZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG5SNWNHVWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxuTjBZWFJsVG05a1pTQTlJRzUxYkd3N0lDOHZJRVpwWW1WeVhHNWNiaUFnZEdocGN5NXlaWFIxY200Z1BTQnVkV3hzTzF4dUlDQjBhR2x6TG1Ob2FXeGtJRDBnYm5Wc2JEdGNiaUFnZEdocGN5NXphV0pzYVc1bklEMGdiblZzYkR0Y2JpQWdkR2hwY3k1cGJtUmxlQ0E5SURBN1hHNGdJSFJvYVhNdWNtVm1JRDBnYm5Wc2JEdGNiaUFnZEdocGN5NXdaVzVrYVc1blVISnZjSE1nUFNCd1pXNWthVzVuVUhKdmNITTdYRzRnSUhSb2FYTXViV1Z0YjJsNlpXUlFjbTl3Y3lBOUlHNTFiR3c3WEc0Z0lIUm9hWE11ZFhCa1lYUmxVWFZsZFdVZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG0xbGJXOXBlbVZrVTNSaGRHVWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxtUmxjR1Z1WkdWdVkybGxjeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXViVzlrWlNBOUlHMXZaR1U3SUM4dklFVm1abVZqZEhOY2JseHVJQ0IwYUdsekxtVm1abVZqZEZSaFp5QTlJRTV2UldabVpXTjBPMXh1SUNCMGFHbHpMbTVsZUhSRlptWmxZM1FnUFNCdWRXeHNPMXh1SUNCMGFHbHpMbVpwY25OMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVzWVhOMFJXWm1aV04wSUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZEdocGN5NWphR2xzWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG05WGIzSnJPMXh1SUNCMGFHbHpMbUZzZEdWeWJtRjBaU0E5SUc1MWJHdzdYRzVjYmlBZ2UxeHVJQ0FnSUM4dklFNXZkR1U2SUZSb1pTQm1iMnhzYjNkcGJtY2dhWE1nWkc5dVpTQjBieUJoZG05cFpDQmhJSFk0SUhCbGNtWnZjbTFoYm1ObElHTnNhV1ptTGx4dUlDQWdJQzh2WEc0Z0lDQWdMeThnU1c1cGRHbGhiR2w2YVc1bklIUm9aU0JtYVdWc1pITWdZbVZzYjNjZ2RHOGdjMjFwY3lCaGJtUWdiR0YwWlhJZ2RYQmtZWFJwYm1jZ2RHaGxiU0IzYVhSb1hHNGdJQ0FnTHk4Z1pHOTFZbXhsSUhaaGJIVmxjeUIzYVd4c0lHTmhkWE5sSUVacFltVnljeUIwYnlCbGJtUWdkWEFnYUdGMmFXNW5JSE5sY0dGeVlYUmxJSE5vWVhCbGN5NWNiaUFnSUNBdkx5QlVhR2x6SUdKbGFHRjJhVzl5TDJKMVp5Qm9ZWE1nYzI5dFpYUm9hVzVuSUhSdklHUnZJSGRwZEdnZ1QySnFaV04wTG5CeVpYWmxiblJGZUhSbGJuTnBiMjRvS1M1Y2JpQWdJQ0F2THlCR2IzSjBkVzVoZEdWc2VTQjBhR2x6SUc5dWJIa2dhVzF3WVdOMGN5QkVSVllnWW5WcGJHUnpMbHh1SUNBZ0lDOHZJRlZ1Wm05eWRIVnVZWFJsYkhrZ2FYUWdiV0ZyWlhNZ1VtVmhZM1FnZFc1MWMyRmliSGtnYzJ4dmR5Qm1iM0lnYzI5dFpTQmhjSEJzYVdOaGRHbHZibk11WEc0Z0lDQWdMeThnVkc4Z2QyOXlheUJoY205MWJtUWdkR2hwY3l3Z2FXNXBkR2xoYkdsNlpTQjBhR1VnWm1sbGJHUnpJR0psYkc5M0lIZHBkR2dnWkc5MVlteGxjeTVjYmlBZ0lDQXZMMXh1SUNBZ0lDOHZJRXhsWVhKdUlHMXZjbVVnWVdKdmRYUWdkR2hwY3lCb1pYSmxPbHh1SUNBZ0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1UUXpOalZjYmlBZ0lDQXZMeUJvZEhSd2N6b3ZMMkoxWjNNdVkyaHliMjFwZFcwdWIzSm5MM0F2ZGpndmFYTnpkV1Z6TDJSbGRHRnBiRDlwWkQwNE5UTTRYRzRnSUNBZ2RHaHBjeTVoWTNSMVlXeEVkWEpoZEdsdmJpQTlJRTUxYldKbGNpNU9ZVTQ3WEc0Z0lDQWdkR2hwY3k1aFkzUjFZV3hUZEdGeWRGUnBiV1VnUFNCT2RXMWlaWEl1VG1GT08xeHVJQ0FnSUhSb2FYTXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJRTUxYldKbGNpNU9ZVTQ3WEc0Z0lDQWdkR2hwY3k1MGNtVmxRbUZ6WlVSMWNtRjBhVzl1SUQwZ1RuVnRZbVZ5TGs1aFRqc2dMeThnU1hRbmN5QnZhMkY1SUhSdklISmxjR3hoWTJVZ2RHaGxJR2x1YVhScFlXd2daRzkxWW14bGN5QjNhWFJvSUhOdGFYTWdZV1owWlhJZ2FXNXBkR2xoYkdsNllYUnBiMjR1WEc0Z0lDQWdMeThnVkdocGN5QjNiMjRuZENCMGNtbG5aMlZ5SUhSb1pTQndaWEptYjNKdFlXNWpaU0JqYkdsbVppQnRaVzUwYVc5dVpXUWdZV0p2ZG1Vc1hHNGdJQ0FnTHk4Z1lXNWtJR2wwSUhOcGJYQnNhV1pwWlhNZ2IzUm9aWElnY0hKdlptbHNaWElnWTI5a1pTQW9hVzVqYkhWa2FXNW5JRVJsZGxSdmIyeHpLUzVjYmx4dUlDQWdJSFJvYVhNdVlXTjBkV0ZzUkhWeVlYUnBiMjRnUFNBd08xeHVJQ0FnSUhSb2FYTXVZV04wZFdGc1UzUmhjblJVYVcxbElEMGdMVEU3WEc0Z0lDQWdkR2hwY3k1elpXeG1RbUZ6WlVSMWNtRjBhVzl1SUQwZ01EdGNiaUFnSUNCMGFHbHpMblJ5WldWQ1lYTmxSSFZ5WVhScGIyNGdQU0F3TzF4dUlDQjlJQzh2SUZSb2FYTWdhWE1nYm05eWJXRnNiSGtnUkVWV0xXOXViSGtnWlhoalpYQjBJSGQzZHlCM2FHVnVJR2wwSUdGa1pITWdiR2x6ZEdWdVpYSnpMbHh1SUNBdkx5QlVUMFJQT2lCeVpXMXZkbVVnZEdobElGVnpaWElnVkdsdGFXNW5JR2x1ZEdWbmNtRjBhVzl1SUdsdUlHWmhkbTl5SUc5bUlGSnZiM1FnUlhabGJuUnpMbHh1WEc1Y2JpQWdlMXh1SUNBZ0lIUm9hWE11WDJSbFluVm5TVVFnUFNCa1pXSjFaME52ZFc1MFpYSXJLenRjYmlBZ0lDQjBhR2x6TGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5JRDBnWm1Gc2MyVTdYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkR2hwY3k1ZlpHVmlkV2RUYjNWeVkyVWdQU0J1ZFd4c08xeHVJQ0FnSUhSb2FYTXVYMlJsWW5WblQzZHVaWElnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11WDJSbFluVm5UbVZsWkhOU1pXMXZkVzUwSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZlpHVmlkV2RJYjI5clZIbHdaWE1nUFNCdWRXeHNPMXh1WEc0Z0lDQWdhV1lnS0NGb1lYTkNZV1JOWVhCUWIyeDVabWxzYkNBbUppQjBlWEJsYjJZZ1QySnFaV04wTG5CeVpYWmxiblJGZUhSbGJuTnBiMjV6SUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JQWW1wbFkzUXVjSEpsZG1WdWRFVjRkR1Z1YzJsdmJuTW9kR2hwY3lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5SUM4dklGUm9hWE1nYVhNZ1lTQmpiMjV6ZEhKMVkzUnZjaUJtZFc1amRHbHZiaXdnY21GMGFHVnlJSFJvWVc0Z1lTQlFUMHBQSUdOdmJuTjBjblZqZEc5eUxDQnpkR2xzYkZ4dUx5OGdjR3hsWVhObElHVnVjM1Z5WlNCM1pTQmtieUIwYUdVZ1ptOXNiRzkzYVc1bk9seHVMeThnTVNrZ1RtOWliMlI1SUhOb2IzVnNaQ0JoWkdRZ1lXNTVJR2x1YzNSaGJtTmxJRzFsZEdodlpITWdiMjRnZEdocGN5NGdTVzV6ZEdGdVkyVWdiV1YwYUc5a2N5QmpZVzRnWW1WY2JpOHZJQ0FnSUcxdmNtVWdaR2xtWm1samRXeDBJSFJ2SUhCeVpXUnBZM1FnZDJobGJpQjBhR1Y1SUdkbGRDQnZjSFJwYldsNlpXUWdZVzVrSUhSb1pYa2dZWEpsSUdGc2JXOXpkRnh1THk4Z0lDQWdibVYyWlhJZ2FXNXNhVzVsWkNCd2NtOXdaWEpzZVNCcGJpQnpkR0YwYVdNZ1kyOXRjR2xzWlhKekxseHVMeThnTWlrZ1RtOWliMlI1SUhOb2IzVnNaQ0J5Wld4NUlHOXVJR0JwYm5OMFlXNWpaVzltSUVacFltVnlZQ0JtYjNJZ2RIbHdaU0IwWlhOMGFXNW5MaUJYWlNCemFHOTFiR1JjYmk4dklDQWdJR0ZzZDJGNWN5QnJibTkzSUhkb1pXNGdhWFFnYVhNZ1lTQm1hV0psY2k1Y2JpOHZJRE1wSUZkbElHMXBaMmgwSUhkaGJuUWdkRzhnWlhod1pYSnBiV1Z1ZENCM2FYUm9JSFZ6YVc1bklHNTFiV1Z5YVdNZ2EyVjVjeUJ6YVc1alpTQjBhR1Y1SUdGeVpTQmxZWE5wWlhKY2JpOHZJQ0FnSUhSdklHOXdkR2x0YVhwbElHbHVJR0VnYm05dUxVcEpWQ0JsYm5acGNtOXViV1Z1ZEM1Y2JpOHZJRFFwSUZkbElHTmhiaUJsWVhOcGJIa2daMjhnWm5KdmJTQmhJR052Ym5OMGNuVmpkRzl5SUhSdklHRWdZM0psWVhSbFJtbGlaWElnYjJKcVpXTjBJR3hwZEdWeVlXd2dhV1lnZEdoaGRGeHVMeThnSUNBZ2FYTWdabUZ6ZEdWeUxseHVMeThnTlNrZ1NYUWdjMmh2ZFd4a0lHSmxJR1ZoYzNrZ2RHOGdjRzl5ZENCMGFHbHpJSFJ2SUdFZ1F5QnpkSEoxWTNRZ1lXNWtJR3RsWlhBZ1lTQkRJR2x0Y0d4bGJXVnVkR0YwYVc5dVhHNHZMeUFnSUNCamIyMXdZWFJwWW14bExseHVYRzVjYm5aaGNpQmpjbVZoZEdWR2FXSmxjaUE5SUdaMWJtTjBhVzl1SUNoMFlXY3NJSEJsYm1ScGJtZFFjbTl3Y3l3Z2EyVjVMQ0J0YjJSbEtTQjdYRzRnSUM4dklDUkdiRzkzUm1sNFRXVTZJSFJvWlNCemFHRndaWE1nWVhKbElHVjRZV04wSUdobGNtVWdZblYwSUVac2IzY2daRzlsYzI0bmRDQnNhV3RsSUdOdmJuTjBjblZqZEc5eWMxeHVJQ0J5WlhSMWNtNGdibVYzSUVacFltVnlUbTlrWlNoMFlXY3NJSEJsYm1ScGJtZFFjbTl3Y3l3Z2EyVjVMQ0J0YjJSbEtUdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlITm9iM1ZzWkVOdmJuTjBjblZqZENoRGIyMXdiMjVsYm5RcElIdGNiaUFnZG1GeUlIQnliM1J2ZEhsd1pTQTlJRU52YlhCdmJtVnVkQzV3Y205MGIzUjVjR1U3WEc0Z0lISmxkSFZ5YmlBaElTaHdjbTkwYjNSNWNHVWdKaVlnY0hKdmRHOTBlWEJsTG1selVtVmhZM1JEYjIxd2IyNWxiblFwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYzFOcGJYQnNaVVoxYm1OMGFXOXVRMjl0Y0c5dVpXNTBLSFI1Y0dVcElIdGNiaUFnY21WMGRYSnVJSFI1Y0dWdlppQjBlWEJsSUQwOVBTQW5ablZ1WTNScGIyNG5JQ1ltSUNGemFHOTFiR1JEYjI1emRISjFZM1FvZEhsd1pTa2dKaVlnZEhsd1pTNWtaV1poZFd4MFVISnZjSE1nUFQwOUlIVnVaR1ZtYVc1bFpEdGNibjFjYm1aMWJtTjBhVzl1SUhKbGMyOXNkbVZNWVhwNVEyOXRjRzl1Wlc1MFZHRm5LRU52YlhCdmJtVnVkQ2tnZTF4dUlDQnBaaUFvZEhsd1pXOW1JRU52YlhCdmJtVnVkQ0E5UFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lISmxkSFZ5YmlCemFHOTFiR1JEYjI1emRISjFZM1FvUTI5dGNHOXVaVzUwS1NBL0lFTnNZWE56UTI5dGNHOXVaVzUwSURvZ1JuVnVZM1JwYjI1RGIyMXdiMjVsYm5RN1hHNGdJSDBnWld4elpTQnBaaUFvUTI5dGNHOXVaVzUwSUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnUTI5dGNHOXVaVzUwSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnZG1GeUlDUWtkSGx3Wlc5bUlEMGdRMjl0Y0c5dVpXNTBMaVFrZEhsd1pXOW1PMXh1WEc0Z0lDQWdhV1lnS0NRa2RIbHdaVzltSUQwOVBTQlNSVUZEVkY5R1QxSlhRVkpFWDFKRlJsOVVXVkJGS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnUm05eWQyRnlaRkpsWmp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb0pDUjBlWEJsYjJZZ1BUMDlJRkpGUVVOVVgwMUZUVTlmVkZsUVJTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFMWxiVzlEYjIxd2IyNWxiblE3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRWx1WkdWMFpYSnRhVzVoZEdWRGIyMXdiMjVsYm5RN1hHNTlJQzh2SUZSb2FYTWdhWE1nZFhObFpDQjBieUJqY21WaGRHVWdZVzRnWVd4MFpYSnVZWFJsSUdacFltVnlJSFJ2SUdSdklIZHZjbXNnYjI0dVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpWZHZjbXRKYmxCeWIyZHlaWE56S0dOMWNuSmxiblFzSUhCbGJtUnBibWRRY205d2N5a2dlMXh1SUNCMllYSWdkMjl5YTBsdVVISnZaM0psYzNNZ1BTQmpkWEp5Wlc1MExtRnNkR1Z5Ym1GMFpUdGNibHh1SUNCcFppQW9kMjl5YTBsdVVISnZaM0psYzNNZ1BUMDlJRzUxYkd3cElIdGNiaUFnSUNBdkx5QlhaU0IxYzJVZ1lTQmtiM1ZpYkdVZ1luVm1abVZ5YVc1bklIQnZiMnhwYm1jZ2RHVmphRzVwY1hWbElHSmxZMkYxYzJVZ2QyVWdhMjV2ZHlCMGFHRjBJSGRsSjJ4c1hHNGdJQ0FnTHk4Z2IyNXNlU0JsZG1WeUlHNWxaV1FnWVhRZ2JXOXpkQ0IwZDI4Z2RtVnljMmx2Ym5NZ2IyWWdZU0IwY21WbExpQlhaU0J3YjI5c0lIUm9aU0JjSW05MGFHVnlYQ0lnZFc1MWMyVmtYRzRnSUNBZ0x5OGdibTlrWlNCMGFHRjBJSGRsSjNKbElHWnlaV1VnZEc4Z2NtVjFjMlV1SUZSb2FYTWdhWE1nYkdGNmFXeDVJR055WldGMFpXUWdkRzhnWVhadmFXUWdZV3hzYjJOaGRHbHVaMXh1SUNBZ0lDOHZJR1Y0ZEhKaElHOWlhbVZqZEhNZ1ptOXlJSFJvYVc1bmN5QjBhR0YwSUdGeVpTQnVaWFpsY2lCMWNHUmhkR1ZrTGlCSmRDQmhiSE52SUdGc2JHOTNJSFZ6SUhSdlhHNGdJQ0FnTHk4Z2NtVmpiR0ZwYlNCMGFHVWdaWGgwY21FZ2JXVnRiM0o1SUdsbUlHNWxaV1JsWkM1Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5QTlJR055WldGMFpVWnBZbVZ5S0dOMWNuSmxiblF1ZEdGbkxDQndaVzVrYVc1blVISnZjSE1zSUdOMWNuSmxiblF1YTJWNUxDQmpkWEp5Wlc1MExtMXZaR1VwTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtVnNaVzFsYm5SVWVYQmxJRDBnWTNWeWNtVnVkQzVsYkdWdFpXNTBWSGx3WlR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ1kzVnljbVZ1ZEM1MGVYQmxPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5OMFlYUmxUbTlrWlNBOUlHTjFjbkpsYm5RdWMzUmhkR1ZPYjJSbE8xeHVYRzRnSUNBZ2UxeHVJQ0FnSUNBZ0x5OGdSRVZXTFc5dWJIa2dabWxsYkdSelhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TGw5a1pXSjFaMGxFSUQwZ1kzVnljbVZ1ZEM1ZlpHVmlkV2RKUkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WDJSbFluVm5VMjkxY21ObElEMGdZM1Z5Y21WdWRDNWZaR1ZpZFdkVGIzVnlZMlU3WEc0Z0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWZaR1ZpZFdkUGQyNWxjaUE5SUdOMWNuSmxiblF1WDJSbFluVm5UM2R1WlhJN1hHNGdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVmWkdWaWRXZEliMjlyVkhsd1pYTWdQU0JqZFhKeVpXNTBMbDlrWldKMVowaHZiMnRVZVhCbGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVoYkhSbGNtNWhkR1VnUFNCamRYSnlaVzUwTzF4dUlDQWdJR04xY25KbGJuUXVZV3gwWlhKdVlYUmxJRDBnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWNHVnVaR2x1WjFCeWIzQnpJRDBnY0dWdVpHbHVaMUJ5YjNCek95QXZMeUJYWlNCaGJISmxZV1I1SUdoaGRtVWdZVzRnWVd4MFpYSnVZWFJsTGx4dUlDQWdJQzh2SUZKbGMyVjBJSFJvWlNCbFptWmxZM1FnZEdGbkxseHVYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WldabVpXTjBWR0ZuSUQwZ1RtOUZabVpsWTNRN0lDOHZJRlJvWlNCbFptWmxZM1FnYkdsemRDQnBjeUJ1YnlCc2IyNW5aWElnZG1Gc2FXUXVYRzVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dVpYaDBSV1ptWldOMElEMGdiblZzYkR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NW1hWEp6ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YkdGemRFVm1abVZqZENBOUlHNTFiR3c3WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0F2THlCWFpTQnBiblJsYm5ScGIyNWhiR3g1SUhKbGMyVjBMQ0J5WVhSb1pYSWdkR2hoYmlCamIzQjVMQ0JoWTNSMVlXeEVkWEpoZEdsdmJpQW1JR0ZqZEhWaGJGTjBZWEowVkdsdFpTNWNiaUFnSUNBZ0lDOHZJRlJvYVhNZ2NISmxkbVZ1ZEhNZ2RHbHRaU0JtY205dElHVnVaR3hsYzNOc2VTQmhZMk4xYlhWc1lYUnBibWNnYVc0Z2JtVjNJR052YlcxcGRITXVYRzRnSUNBZ0lDQXZMeUJVYUdseklHaGhjeUIwYUdVZ1pHOTNibk5wWkdVZ2IyWWdjbVZ6WlhSMGFXNW5JSFpoYkhWbGN5Qm1iM0lnWkdsbVptVnlaVzUwSUhCeWFXOXlhWFI1SUhKbGJtUmxjbk1zWEc0Z0lDQWdJQ0F2THlCQ2RYUWdkMjl5YTNNZ1ptOXlJSGxwWld4a2FXNW5JQ2gwYUdVZ1kyOXRiVzl1SUdOaGMyVXBJR0Z1WkNCemFHOTFiR1FnYzNWd2NHOXlkQ0J5WlhOMWJXbHVaeTVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtRmpkSFZoYkVSMWNtRjBhVzl1SUQwZ01EdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG1GamRIVmhiRk4wWVhKMFZHbHRaU0E5SUMweE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1Ob2FXeGtSWGh3YVhKaGRHbHZibFJwYldVZ1BTQmpkWEp5Wlc1MExtTm9hV3hrUlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdZM1Z5Y21WdWRDNWxlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCamRYSnlaVzUwTG1Ob2FXeGtPMXh1SUNCM2IzSnJTVzVRY205bmNtVnpjeTV0WlcxdmFYcGxaRkJ5YjNCeklEMGdZM1Z5Y21WdWRDNXRaVzF2YVhwbFpGQnliM0J6TzF4dUlDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1dFpXMXZhWHBsWkZOMFlYUmxJRDBnWTNWeWNtVnVkQzV0WlcxdmFYcGxaRk4wWVhSbE8xeHVJQ0IzYjNKclNXNVFjbTluY21WemN5NTFjR1JoZEdWUmRXVjFaU0E5SUdOMWNuSmxiblF1ZFhCa1lYUmxVWFZsZFdVN0lDOHZJRU5zYjI1bElIUm9aU0JrWlhCbGJtUmxibU5wWlhNZ2IySnFaV04wTGlCVWFHbHpJR2x6SUcxMWRHRjBaV1FnWkhWeWFXNW5JSFJvWlNCeVpXNWtaWElnY0doaGMyVXNJSE52WEc0Z0lDOHZJR2wwSUdOaGJtNXZkQ0JpWlNCemFHRnlaV1FnZDJsMGFDQjBhR1VnWTNWeWNtVnVkQ0JtYVdKbGNpNWNibHh1SUNCMllYSWdZM1Z5Y21WdWRFUmxjR1Z1WkdWdVkybGxjeUE5SUdOMWNuSmxiblF1WkdWd1pXNWtaVzVqYVdWek8xeHVJQ0IzYjNKclNXNVFjbTluY21WemN5NWtaWEJsYm1SbGJtTnBaWE1nUFNCamRYSnlaVzUwUkdWd1pXNWtaVzVqYVdWeklEMDlQU0J1ZFd4c0lEOGdiblZzYkNBNklIdGNiaUFnSUNCbGVIQnBjbUYwYVc5dVZHbHRaVG9nWTNWeWNtVnVkRVJsY0dWdVpHVnVZMmxsY3k1bGVIQnBjbUYwYVc5dVZHbHRaU3hjYmlBZ0lDQm1hWEp6ZEVOdmJuUmxlSFE2SUdOMWNuSmxiblJFWlhCbGJtUmxibU5wWlhNdVptbHljM1JEYjI1MFpYaDBMRnh1SUNBZ0lISmxjM0J2Ym1SbGNuTTZJR04xY25KbGJuUkVaWEJsYm1SbGJtTnBaWE11Y21WemNHOXVaR1Z5YzF4dUlDQjlPeUF2THlCVWFHVnpaU0IzYVd4c0lHSmxJRzkyWlhKeWFXUmtaVzRnWkhWeWFXNW5JSFJvWlNCd1lYSmxiblFuY3lCeVpXTnZibU5wYkdsaGRHbHZibHh1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG5OcFlteHBibWNnUFNCamRYSnlaVzUwTG5OcFlteHBibWM3WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1sdVpHVjRJRDBnWTNWeWNtVnVkQzVwYm1SbGVEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXVjbVZtSUQwZ1kzVnljbVZ1ZEM1eVpXWTdYRzVjYmlBZ2UxeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbk5sYkdaQ1lYTmxSSFZ5WVhScGIyNGdQU0JqZFhKeVpXNTBMbk5sYkdaQ1lYTmxSSFZ5WVhScGIyNDdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011ZEhKbFpVSmhjMlZFZFhKaGRHbHZiaUE5SUdOMWNuSmxiblF1ZEhKbFpVSmhjMlZFZFhKaGRHbHZianRjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NWZaR1ZpZFdkT1pXVmtjMUpsYlc5MWJuUWdQU0JqZFhKeVpXNTBMbDlrWldKMVowNWxaV1J6VW1WdGIzVnVkRHRjYmx4dUlDQWdJSE4zYVhSamFDQW9kMjl5YTBsdVVISnZaM0psYzNNdWRHRm5LU0I3WEc0Z0lDQWdJQ0JqWVhObElFbHVaR1YwWlhKdGFXNWhkR1ZEYjIxd2IyNWxiblE2WEc0Z0lDQWdJQ0JqWVhObElFWjFibU4wYVc5dVEyOXRjRzl1Wlc1ME9seHVJQ0FnSUNBZ1kyRnpaU0JUYVcxd2JHVk5aVzF2UTI5dGNHOXVaVzUwT2x4dUlDQWdJQ0FnSUNCM2IzSnJTVzVRY205bmNtVnpjeTUwZVhCbElEMGdjbVZ6YjJ4MlpVWjFibU4wYVc5dVJtOXlTRzkwVW1Wc2IyRmthVzVuS0dOMWNuSmxiblF1ZEhsd1pTazdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUVOc1lYTnpRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTBlWEJsSUQwZ2NtVnpiMngyWlVOc1lYTnpSbTl5U0c5MFVtVnNiMkZrYVc1bktHTjFjbkpsYm5RdWRIbHdaU2s3WEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1WEc0Z0lDQWdJQ0JqWVhObElFWnZjbmRoY21SU1pXWTZYRzRnSUNBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuUjVjR1VnUFNCeVpYTnZiSFpsUm05eWQyRnlaRkpsWmtadmNraHZkRkpsYkc5aFpHbHVaeWhqZFhKeVpXNTBMblI1Y0dVcE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnZDI5eWEwbHVVSEp2WjNKbGMzTTdYRzU5SUM4dklGVnpaV1FnZEc4Z2NtVjFjMlVnWVNCR2FXSmxjaUJtYjNJZ1lTQnpaV052Ym1RZ2NHRnpjeTVjYmx4dVpuVnVZM1JwYjI0Z2NtVnpaWFJYYjNKclNXNVFjbTluY21WemN5aDNiM0pyU1c1UWNtOW5jbVZ6Y3l3Z2NtVnVaR1Z5Ulhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0x5OGdWR2hwY3lCeVpYTmxkSE1nZEdobElFWnBZbVZ5SUhSdklIZG9ZWFFnWTNKbFlYUmxSbWxpWlhJZ2IzSWdZM0psWVhSbFYyOXlhMGx1VUhKdlozSmxjM01nZDI5MWJHUmNiaUFnTHk4Z2FHRjJaU0J6WlhRZ2RHaGxJSFpoYkhWbGN5QjBieUJpWldadmNtVWdaSFZ5YVc1bklIUm9aU0JtYVhKemRDQndZWE56TGlCSlpHVmhiR3g1SUhSb2FYTWdkMjkxYkdSdUozUmNiaUFnTHk4Z1ltVWdibVZqWlhOellYSjVJR0oxZENCMWJtWnZjblIxYm1GMFpXeDVJRzFoYm5rZ1kyOWtaU0J3WVhSb2N5QnlaV0ZrY3lCbWNtOXRJSFJvWlNCM2IzSnJTVzVRY205bmNtVnpjMXh1SUNBdkx5QjNhR1Z1SUhSb1pYa2djMmh2ZFd4a0lHSmxJSEpsWVdScGJtY2dabkp2YlNCamRYSnlaVzUwSUdGdVpDQjNjbWwwYVc1bklIUnZJSGR2Y210SmJsQnliMmR5WlhOekxseHVJQ0F2THlCWFpTQmhjM04xYldVZ2NHVnVaR2x1WjFCeWIzQnpMQ0JwYm1SbGVDd2dhMlY1TENCeVpXWXNJSEpsZEhWeWJpQmhjbVVnYzNScGJHd2dkVzUwYjNWamFHVmtJSFJ2WEc0Z0lDOHZJR0YyYjJsa0lHUnZhVzVuSUdGdWIzUm9aWElnY21WamIyNWphV3hwWVhScGIyNHVYRzRnSUM4dklGSmxjMlYwSUhSb1pTQmxabVpsWTNRZ2RHRm5JR0oxZENCclpXVndJR0Z1ZVNCUWJHRmpaVzFsYm5RZ2RHRm5jeXdnYzJsdVkyVWdkR2hoZENkeklITnZiV1YwYUdsdVoxeHVJQ0F2THlCMGFHRjBJR05vYVd4a0lHWnBZbVZ5SUdseklITmxkSFJwYm1jc0lHNXZkQ0IwYUdVZ2NtVmpiMjVqYVd4cFlYUnBiMjR1WEc0Z0lIZHZjbXRKYmxCeWIyZHlaWE56TG1WbVptVmpkRlJoWnlBbVBTQlFiR0ZqWlcxbGJuUTdJQzh2SUZSb1pTQmxabVpsWTNRZ2JHbHpkQ0JwY3lCdWJ5QnNiMjVuWlhJZ2RtRnNhV1F1WEc1Y2JpQWdkMjl5YTBsdVVISnZaM0psYzNNdWJtVjRkRVZtWm1WamRDQTlJRzUxYkd3N1hHNGdJSGR2Y210SmJsQnliMmR5WlhOekxtWnBjbk4wUldabVpXTjBJRDBnYm5Wc2JEdGNiaUFnZDI5eWEwbHVVSEp2WjNKbGMzTXViR0Z6ZEVWbVptVmpkQ0E5SUc1MWJHdzdYRzRnSUhaaGNpQmpkWEp5Wlc1MElEMGdkMjl5YTBsdVVISnZaM0psYzNNdVlXeDBaWEp1WVhSbE8xeHVYRzRnSUdsbUlDaGpkWEp5Wlc1MElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdVbVZ6WlhRZ2RHOGdZM0psWVhSbFJtbGlaWEluY3lCcGJtbDBhV0ZzSUhaaGJIVmxjeTVjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1amFHbHNaRVY0Y0dseVlYUnBiMjVVYVcxbElEMGdUbTlYYjNKck8xeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbVY0Y0dseVlYUnBiMjVVYVcxbElEMGdjbVZ1WkdWeVJYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdVkyaHBiR1FnUFNCdWRXeHNPMXh1SUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG0xbGJXOXBlbVZrVUhKdmNITWdQU0J1ZFd4c08xeHVJQ0FnSUhkdmNtdEpibEJ5YjJkeVpYTnpMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuVndaR0YwWlZGMVpYVmxJRDBnYm5Wc2JEdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVrWlhCbGJtUmxibU5wWlhNZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnZTF4dUlDQWdJQ0FnTHk4Z1RtOTBaVG9nVjJVZ1pHOXVKM1FnY21WelpYUWdkR2hsSUdGamRIVmhiRlJwYldVZ1kyOTFiblJ6TGlCSmRDZHpJSFZ6WldaMWJDQjBieUJoWTJOMWJYVnNZWFJsWEc0Z0lDQWdJQ0F2THlCaFkzUjFZV3dnZEdsdFpTQmhZM0p2YzNNZ2JYVnNkR2x3YkdVZ2NtVnVaR1Z5SUhCaGMzTmxjeTVjYmlBZ0lDQWdJSGR2Y210SmJsQnliMmR5WlhOekxuTmxiR1pDWVhObFJIVnlZWFJwYjI0Z1BTQXdPMXh1SUNBZ0lDQWdkMjl5YTBsdVVISnZaM0psYzNNdWRISmxaVUpoYzJWRWRYSmhkR2x2YmlBOUlEQTdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJRkpsYzJWMElIUnZJSFJvWlNCamJHOXVaV1FnZG1Gc2RXVnpJSFJvWVhRZ1kzSmxZWFJsVjI5eWEwbHVVSEp2WjNKbGMzTWdkMjkxYkdRbmRtVXVYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlNBOUlHTjFjbkpsYm5RdVkyaHBiR1JGZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnSUNCM2IzSnJTVzVRY205bmNtVnpjeTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR04xY25KbGJuUXVaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVZMmhwYkdRZ1BTQmpkWEp5Wlc1MExtTm9hV3hrTzF4dUlDQWdJSGR2Y210SmJsQnliMmR5WlhOekxtMWxiVzlwZW1Wa1VISnZjSE1nUFNCamRYSnlaVzUwTG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUNBZ2QyOXlhMGx1VUhKdlozSmxjM011YldWdGIybDZaV1JUZEdGMFpTQTlJR04xY25KbGJuUXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JpQWdJQ0IzYjNKclNXNVFjbTluY21WemN5NTFjR1JoZEdWUmRXVjFaU0E5SUdOMWNuSmxiblF1ZFhCa1lYUmxVWFZsZFdVN0lDOHZJRU5zYjI1bElIUm9aU0JrWlhCbGJtUmxibU5wWlhNZ2IySnFaV04wTGlCVWFHbHpJR2x6SUcxMWRHRjBaV1FnWkhWeWFXNW5JSFJvWlNCeVpXNWtaWElnY0doaGMyVXNJSE52WEc0Z0lDQWdMeThnYVhRZ1kyRnVibTkwSUdKbElITm9ZWEpsWkNCM2FYUm9JSFJvWlNCamRYSnlaVzUwSUdacFltVnlMbHh1WEc0Z0lDQWdkbUZ5SUdOMWNuSmxiblJFWlhCbGJtUmxibU5wWlhNZ1BTQmpkWEp5Wlc1MExtUmxjR1Z1WkdWdVkybGxjenRjYmlBZ0lDQjNiM0pyU1c1UWNtOW5jbVZ6Y3k1a1pYQmxibVJsYm1OcFpYTWdQU0JqZFhKeVpXNTBSR1Z3Wlc1a1pXNWphV1Z6SUQwOVBTQnVkV3hzSUQ4Z2JuVnNiQ0E2SUh0Y2JpQWdJQ0FnSUdWNGNHbHlZWFJwYjI1VWFXMWxPaUJqZFhKeVpXNTBSR1Z3Wlc1a1pXNWphV1Z6TG1WNGNHbHlZWFJwYjI1VWFXMWxMRnh1SUNBZ0lDQWdabWx5YzNSRGIyNTBaWGgwT2lCamRYSnlaVzUwUkdWd1pXNWtaVzVqYVdWekxtWnBjbk4wUTI5dWRHVjRkQ3hjYmlBZ0lDQWdJSEpsYzNCdmJtUmxjbk02SUdOMWNuSmxiblJFWlhCbGJtUmxibU5wWlhNdWNtVnpjRzl1WkdWeWMxeHVJQ0FnSUgwN1hHNWNiaUFnSUNCN1hHNGdJQ0FnSUNBdkx5Qk9iM1JsT2lCWFpTQmtiMjRuZENCeVpYTmxkQ0IwYUdVZ1lXTjBkV0ZzVkdsdFpTQmpiM1Z1ZEhNdUlFbDBKM01nZFhObFpuVnNJSFJ2SUdGalkzVnRkV3hoZEdWY2JpQWdJQ0FnSUM4dklHRmpkSFZoYkNCMGFXMWxJR0ZqY205emN5QnRkV3gwYVhCc1pTQnlaVzVrWlhJZ2NHRnpjMlZ6TGx4dUlDQWdJQ0FnZDI5eWEwbHVVSEp2WjNKbGMzTXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJR04xY25KbGJuUXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJqdGNiaUFnSUNBZ0lIZHZjbXRKYmxCeWIyZHlaWE56TG5SeVpXVkNZWE5sUkhWeVlYUnBiMjRnUFNCamRYSnlaVzUwTG5SeVpXVkNZWE5sUkhWeVlYUnBiMjQ3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSGR2Y210SmJsQnliMmR5WlhOek8xeHVmVnh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxTRzl6ZEZKdmIzUkdhV0psY2loMFlXY3BJSHRjYmlBZ2RtRnlJRzF2WkdVN1hHNWNiaUFnYVdZZ0tIUmhaeUE5UFQwZ1EyOXVZM1Z5Y21WdWRGSnZiM1FwSUh0Y2JpQWdJQ0J0YjJSbElEMGdRMjl1WTNWeWNtVnVkRTF2WkdVZ2ZDQkNiRzlqYTJsdVowMXZaR1VnZkNCVGRISnBZM1JOYjJSbE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0hSaFp5QTlQVDBnUW14dlkydHBibWRTYjI5MEtTQjdYRzRnSUNBZ2JXOWtaU0E5SUVKc2IyTnJhVzVuVFc5a1pTQjhJRk4wY21samRFMXZaR1U3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYlc5a1pTQTlJRTV2VFc5a1pUdGNiaUFnZlZ4dVhHNGdJR2xtSUNnZ2FYTkVaWFpVYjI5c2MxQnlaWE5sYm5RcElIdGNiaUFnSUNBdkx5QkJiSGRoZVhNZ1kyOXNiR1ZqZENCd2NtOW1hV3hsSUhScGJXbHVaM01nZDJobGJpQkVaWFpVYjI5c2N5QmhjbVVnY0hKbGMyVnVkQzVjYmlBZ0lDQXZMeUJVYUdseklHVnVZV0pzWlhNZ1JHVjJWRzl2YkhNZ2RHOGdjM1JoY25RZ1kyRndkSFZ5YVc1bklIUnBiV2x1WnlCaGRDQmhibmtnY0c5cGJuVGlnSk5jYmlBZ0lDQXZMeUJYYVhSb2IzVjBJSE52YldVZ2JtOWtaWE1nYVc0Z2RHaGxJSFJ5WldVZ2FHRjJhVzVuSUdWdGNIUjVJR0poYzJVZ2RHbHRaWE11WEc0Z0lDQWdiVzlrWlNCOFBTQlFjbTltYVd4bFRXOWtaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJqY21WaGRHVkdhV0psY2loSWIzTjBVbTl2ZEN3Z2JuVnNiQ3dnYm5Wc2JDd2diVzlrWlNrN1hHNTlYRzVtZFc1amRHbHZiaUJqY21WaGRHVkdhV0psY2taeWIyMVVlWEJsUVc1a1VISnZjSE1vZEhsd1pTd2dMeThnVW1WaFkzUWtSV3hsYldWdWRGUjVjR1ZjYm10bGVTd2djR1Z1WkdsdVoxQnliM0J6TENCdmQyNWxjaXdnYlc5a1pTd2daWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnZG1GeUlHWnBZbVZ5TzF4dUlDQjJZWElnWm1saVpYSlVZV2NnUFNCSmJtUmxkR1Z5YldsdVlYUmxRMjl0Y0c5dVpXNTBPeUF2THlCVWFHVWdjbVZ6YjJ4MlpXUWdkSGx3WlNCcGN5QnpaWFFnYVdZZ2QyVWdhMjV2ZHlCM2FHRjBJSFJvWlNCbWFXNWhiQ0IwZVhCbElIZHBiR3dnWW1VdUlFa3VaUzRnYVhRbmN5QnViM1FnYkdGNmVTNWNibHh1SUNCMllYSWdjbVZ6YjJ4MlpXUlVlWEJsSUQwZ2RIbHdaVHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JSFI1Y0dVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0JwWmlBb2MyaHZkV3hrUTI5dWMzUnlkV04wS0hSNWNHVXBLU0I3WEc0Z0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUVOc1lYTnpRMjl0Y0c5dVpXNTBPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVZrVkhsd1pTQTlJSEpsYzI5c2RtVkRiR0Z6YzBadmNraHZkRkpsYkc5aFpHbHVaeWh5WlhOdmJIWmxaRlI1Y0dVcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUhKbGMyOXNkbVZrVkhsd1pTQTlJSEpsYzI5c2RtVkdkVzVqZEdsdmJrWnZja2h2ZEZKbGJHOWhaR2x1WnloeVpYTnZiSFpsWkZSNWNHVXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjNOMGNtbHVaeWNwSUh0Y2JpQWdJQ0JtYVdKbGNsUmhaeUE5SUVodmMzUkRiMjF3YjI1bGJuUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdaMlYwVkdGbk9pQnpkMmwwWTJnZ0tIUjVjR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlJsSkJSMDFGVGxSZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJR055WldGMFpVWnBZbVZ5Um5KdmJVWnlZV2R0Wlc1MEtIQmxibVJwYm1kUWNtOXdjeTVqYUdsc1pISmxiaXdnYlc5a1pTd2daWGh3YVhKaGRHbHZibFJwYldVc0lHdGxlU2s3WEc1Y2JpQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlEwOU9RMVZTVWtWT1ZGOU5UMFJGWDFSWlVFVTZYRzRnSUNBZ0lDQWdJR1pwWW1WeVZHRm5JRDBnVFc5a1pUdGNiaUFnSUNBZ0lDQWdiVzlrWlNCOFBTQkRiMjVqZFhKeVpXNTBUVzlrWlNCOElFSnNiMk5yYVc1blRXOWtaU0I4SUZOMGNtbGpkRTF2WkdVN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnSUNCallYTmxJRkpGUVVOVVgxTlVVa2xEVkY5TlQwUkZYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lHWnBZbVZ5VkdGbklEMGdUVzlrWlR0Y2JpQWdJQ0FnSUNBZ2JXOWtaU0I4UFNCVGRISnBZM1JOYjJSbE8xeHVJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVFVazlHU1V4RlVsOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxSbWxpWlhKR2NtOXRVSEp2Wm1sc1pYSW9jR1Z1WkdsdVoxQnliM0J6TENCdGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2dhMlY1S1R0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVRWVk5RUlU1VFJWOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWTNKbFlYUmxSbWxpWlhKR2NtOXRVM1Z6Y0dWdWMyVW9jR1Z1WkdsdVoxQnliM0J6TENCdGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2dhMlY1S1R0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOVRWVk5RUlU1VFJWOU1TVk5VWDFSWlVFVTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmpjbVZoZEdWR2FXSmxja1p5YjIxVGRYTndaVzV6WlV4cGMzUW9jR1Z1WkdsdVoxQnliM0J6TENCdGIyUmxMQ0JsZUhCcGNtRjBhVzl1VkdsdFpTd2dhMlY1S1R0Y2JseHVJQ0FnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2RIbHdaU0FoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM2RwZEdOb0lDaDBlWEJsTGlRa2RIbHdaVzltS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlVGSlBWa2xFUlZKZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUVOdmJuUmxlSFJRY205MmFXUmxjanRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF5Qm5aWFJVWVdjN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOURUMDVVUlZoVVgxUlpVRVU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z1ZHaHBjeUJwY3lCaElHTnZibk4xYldWeVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptbGlaWEpVWVdjZ1BTQkRiMjUwWlhoMFEyOXVjM1Z0WlhJN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1luSmxZV3NnWjJWMFZHRm5PMXh1WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmUms5U1YwRlNSRjlTUlVaZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUVadmNuZGhjbVJTWldZN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxaRlI1Y0dVZ1BTQnlaWE52YkhabFJtOXlkMkZ5WkZKbFprWnZja2h2ZEZKbGJHOWhaR2x1WnloeVpYTnZiSFpsWkZSNWNHVXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJJR2RsZEZSaFp6dGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpZWE5sSUZKRlFVTlVYMDFGVFU5ZlZGbFFSVHBjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JtYVdKbGNsUmhaeUE5SUUxbGJXOURiMjF3YjI1bGJuUTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZbkpsWVdzZ1oyVjBWR0ZuTzF4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOaGMyVWdVa1ZCUTFSZlRFRmFXVjlVV1ZCRk9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHWnBZbVZ5VkdGbklEMGdUR0Y2ZVVOdmJYQnZibVZ1ZER0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTnZiSFpsWkZSNWNHVWdQU0J1ZFd4c08xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZySUdkbGRGUmhaenRjYmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElGSkZRVU5VWDBKTVQwTkxYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1ptbGlaWEpVWVdjZ1BTQkNiRzlqYXp0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCaWNtVmhheUJuWlhSVVlXYzdYRzVjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnYVc1bWJ5QTlJQ2NuTzF4dVhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFI1Y0dVZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCMGVYQmxiMllnZEhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ2RIbHdaU0FoUFQwZ2JuVnNiQ0FtSmlCUFltcGxZM1F1YTJWNWN5aDBlWEJsS1M1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdhVzVtYnlBclBTQW5JRmx2ZFNCc2FXdGxiSGtnWm05eVoyOTBJSFJ2SUdWNGNHOXlkQ0I1YjNWeUlHTnZiWEJ2Ym1WdWRDQm1jbTl0SUhSb1pTQm1hV3hsSUNjZ0t5QmNJbWwwSjNNZ1pHVm1hVzVsWkNCcGJpd2diM0lnZVc5MUlHMXBaMmgwSUdoaGRtVWdiV2w0WldRZ2RYQWdaR1ZtWVhWc2RDQmhibVFnWENJZ0t5QW5ibUZ0WldRZ2FXMXdiM0owY3k0bk8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2IzZHVaWEpPWVcxbElEMGdiM2R1WlhJZ1B5Qm5aWFJEYjIxd2IyNWxiblJPWVcxbEtHOTNibVZ5TG5SNWNHVXBJRG9nYm5Wc2JEdGNibHh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLRzkzYm1WeVRtRnRaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwYm1adklDczlJQ2RjWEc1Y1hHNURhR1ZqYXlCMGFHVWdjbVZ1WkdWeUlHMWxkR2h2WkNCdlppQmdKeUFySUc5M2JtVnlUbUZ0WlNBcklDZGdMaWM3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pGYkdWdFpXNTBJSFI1Y0dVZ2FYTWdhVzUyWVd4cFpEb2daWGh3WldOMFpXUWdZU0J6ZEhKcGJtY2dLR1p2Y2lCaWRXbHNkQzFwYmlCamIyMXdiMjVsYm5SektTQnZjaUJoSUdOc1lYTnpMMloxYm1OMGFXOXVJQ2htYjNJZ1kyOXRjRzl6YVhSbElHTnZiWEJ2Ym1WdWRITXBJR0oxZENCbmIzUTZJRndpSUNzZ0tIUjVjR1VnUFQwZ2JuVnNiQ0EvSUhSNWNHVWdPaUIwZVhCbGIyWWdkSGx3WlNrZ0t5QmNJaTVjSWlBcklHbHVabThnS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQm1hV0psY2lBOUlHTnlaV0YwWlVacFltVnlLR1pwWW1WeVZHRm5MQ0J3Wlc1a2FXNW5VSEp2Y0hNc0lHdGxlU3dnYlc5a1pTazdYRzRnSUdacFltVnlMbVZzWlcxbGJuUlVlWEJsSUQwZ2RIbHdaVHRjYmlBZ1ptbGlaWEl1ZEhsd1pTQTlJSEpsYzI5c2RtVmtWSGx3WlR0Y2JpQWdabWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ2NtVjBkWEp1SUdacFltVnlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUm1saVpYSkdjbTl0Uld4bGJXVnVkQ2hsYkdWdFpXNTBMQ0J0YjJSbExDQmxlSEJwY21GMGFXOXVWR2x0WlNrZ2UxeHVJQ0IyWVhJZ2IzZHVaWElnUFNCdWRXeHNPMXh1WEc0Z0lIdGNiaUFnSUNCdmQyNWxjaUE5SUdWc1pXMWxiblF1WDI5M2JtVnlPMXh1SUNCOVhHNWNiaUFnZG1GeUlIUjVjR1VnUFNCbGJHVnRaVzUwTG5SNWNHVTdYRzRnSUhaaGNpQnJaWGtnUFNCbGJHVnRaVzUwTG10bGVUdGNiaUFnZG1GeUlIQmxibVJwYm1kUWNtOXdjeUE5SUdWc1pXMWxiblF1Y0hKdmNITTdYRzRnSUhaaGNpQm1hV0psY2lBOUlHTnlaV0YwWlVacFltVnlSbkp2YlZSNWNHVkJibVJRY205d2N5aDBlWEJsTENCclpYa3NJSEJsYm1ScGJtZFFjbTl3Y3l3Z2IzZHVaWElzSUcxdlpHVXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtUdGNibHh1SUNCN1hHNGdJQ0FnWm1saVpYSXVYMlJsWW5WblUyOTFjbU5sSUQwZ1pXeGxiV1Z1ZEM1ZmMyOTFjbU5sTzF4dUlDQWdJR1pwWW1WeUxsOWtaV0oxWjA5M2JtVnlJRDBnWld4bGJXVnVkQzVmYjNkdVpYSTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabWxpWlhJN1hHNTlYRzVtZFc1amRHbHZiaUJqY21WaGRHVkdhV0psY2taeWIyMUdjbUZuYldWdWRDaGxiR1Z0Wlc1MGN5d2diVzlrWlN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VzSUd0bGVTa2dlMXh1SUNCMllYSWdabWxpWlhJZ1BTQmpjbVZoZEdWR2FXSmxjaWhHY21GbmJXVnVkQ3dnWld4bGJXVnVkSE1zSUd0bGVTd2diVzlrWlNrN1hHNGdJR1pwWW1WeUxtVjRjR2x5WVhScGIyNVVhVzFsSUQwZ1pYaHdhWEpoZEdsdmJsUnBiV1U3WEc0Z0lISmxkSFZ5YmlCbWFXSmxjanRjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFJtbGlaWEpHY205dFVISnZabWxzWlhJb2NHVnVaR2x1WjFCeWIzQnpMQ0J0YjJSbExDQmxlSEJwY21GMGFXOXVWR2x0WlN3Z2EyVjVLU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlIQmxibVJwYm1kUWNtOXdjeTVwWkNBaFBUMGdKM04wY21sdVp5Y2dmSHdnZEhsd1pXOW1JSEJsYm1ScGJtZFFjbTl3Y3k1dmJsSmxibVJsY2lBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMUJ5YjJacGJHVnlJRzExYzNRZ2MzQmxZMmxtZVNCaGJpQmNJbWxrWENJZ2MzUnlhVzVuSUdGdVpDQmNJbTl1VW1WdVpHVnlYQ0lnWm5WdVkzUnBiMjRnWVhNZ2NISnZjSE1uS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdabWxpWlhJZ1BTQmpjbVZoZEdWR2FXSmxjaWhRY205bWFXeGxjaXdnY0dWdVpHbHVaMUJ5YjNCekxDQnJaWGtzSUcxdlpHVWdmQ0JRY205bWFXeGxUVzlrWlNrN0lDOHZJRlJQUkU4NklGUm9aU0JRY205bWFXeGxjaUJtYVdKbGNpQnphRzkxYkdSdUozUWdhR0YyWlNCaElIUjVjR1V1SUVsMElHaGhjeUJoSUhSaFp5NWNibHh1SUNCbWFXSmxjaTVsYkdWdFpXNTBWSGx3WlNBOUlGSkZRVU5VWDFCU1QwWkpURVZTWDFSWlVFVTdYRzRnSUdacFltVnlMblI1Y0dVZ1BTQlNSVUZEVkY5UVVrOUdTVXhGVWw5VVdWQkZPMXh1SUNCbWFXSmxjaTVsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR1Y0Y0dseVlYUnBiMjVVYVcxbE8xeHVJQ0J5WlhSMWNtNGdabWxpWlhJN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVVpwWW1WeVJuSnZiVk4xYzNCbGJuTmxLSEJsYm1ScGJtZFFjbTl3Y3l3Z2JXOWtaU3dnWlhod2FYSmhkR2x2YmxScGJXVXNJR3RsZVNrZ2UxeHVJQ0IyWVhJZ1ptbGlaWElnUFNCamNtVmhkR1ZHYVdKbGNpaFRkWE53Wlc1elpVTnZiWEJ2Ym1WdWRDd2djR1Z1WkdsdVoxQnliM0J6TENCclpYa3NJRzF2WkdVcE95QXZMeUJVVDBSUE9pQlVhR1VnVTNWemNHVnVjMlZEYjIxd2IyNWxiblFnWm1saVpYSWdjMmh2ZFd4a2JpZDBJR2hoZG1VZ1lTQjBlWEJsTGlCSmRDQm9ZWE1nWVNCMFlXY3VYRzRnSUM4dklGUm9hWE1nYm1WbFpITWdkRzhnWW1VZ1ptbDRaV1FnYVc0Z1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNCemJ5QjBhR0YwSUdsMElISmxiR2xsY3lCdmJpQjBhR1VnZEdGblhHNGdJQzh2SUdsdWMzUmxZV1F1WEc1Y2JpQWdabWxpWlhJdWRIbHdaU0E5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVN1hHNGdJR1pwWW1WeUxtVnNaVzFsYm5SVWVYQmxJRDBnVWtWQlExUmZVMVZUVUVWT1UwVmZWRmxRUlR0Y2JpQWdabWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ2NtVjBkWEp1SUdacFltVnlPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUm1saVpYSkdjbTl0VTNWemNHVnVjMlZNYVhOMEtIQmxibVJwYm1kUWNtOXdjeXdnYlc5a1pTd2daWGh3YVhKaGRHbHZibFJwYldVc0lHdGxlU2tnZTF4dUlDQjJZWElnWm1saVpYSWdQU0JqY21WaGRHVkdhV0psY2loVGRYTndaVzV6WlV4cGMzUkRiMjF3YjI1bGJuUXNJSEJsYm1ScGJtZFFjbTl3Y3l3Z2EyVjVMQ0J0YjJSbEtUdGNibHh1SUNCN1hHNGdJQ0FnTHk4Z1ZFOUVUem9nVkdobElGTjFjM0JsYm5ObFRHbHpkRU52YlhCdmJtVnVkQ0JtYVdKbGNpQnphRzkxYkdSdUozUWdhR0YyWlNCaElIUjVjR1V1SUVsMElHaGhjeUJoSUhSaFp5NWNiaUFnSUNBdkx5QlVhR2x6SUc1bFpXUnpJSFJ2SUdKbElHWnBlR1ZrSUdsdUlHZGxkRU52YlhCdmJtVnVkRTVoYldVZ2MyOGdkR2hoZENCcGRDQnlaV3hwWlhNZ2IyNGdkR2hsSUhSaFoxeHVJQ0FnSUM4dklHbHVjM1JsWVdRdVhHNGdJQ0FnWm1saVpYSXVkSGx3WlNBOUlGSkZRVU5VWDFOVlUxQkZUbE5GWDB4SlUxUmZWRmxRUlR0Y2JpQWdmVnh1WEc0Z0lHWnBZbVZ5TG1Wc1pXMWxiblJVZVhCbElEMGdVa1ZCUTFSZlUxVlRVRVZPVTBWZlRFbFRWRjlVV1ZCRk8xeHVJQ0JtYVdKbGNpNWxlSEJwY21GMGFXOXVWR2x0WlNBOUlHVjRjR2x5WVhScGIyNVVhVzFsTzF4dUlDQnlaWFIxY200Z1ptbGlaWEk3WEc1OVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWR2FXSmxja1p5YjIxVVpYaDBLR052Ym5SbGJuUXNJRzF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCbWFXSmxjaUE5SUdOeVpXRjBaVVpwWW1WeUtFaHZjM1JVWlhoMExDQmpiMjUwWlc1MExDQnVkV3hzTENCdGIyUmxLVHRjYmlBZ1ptbGlaWEl1Wlhod2FYSmhkR2x2YmxScGJXVWdQU0JsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnY21WMGRYSnVJR1pwWW1WeU8xeHVmVnh1Wm5WdVkzUnBiMjRnWTNKbFlYUmxSbWxpWlhKR2NtOXRTRzl6ZEVsdWMzUmhibU5sUm05eVJHVnNaWFJwYjI0b0tTQjdYRzRnSUhaaGNpQm1hV0psY2lBOUlHTnlaV0YwWlVacFltVnlLRWh2YzNSRGIyMXdiMjVsYm5Rc0lHNTFiR3dzSUc1MWJHd3NJRTV2VFc5a1pTazdJQzh2SUZSUFJFODZJRlJvWlhObElITm9iM1ZzWkNCdWIzUWdibVZsWkNCaElIUjVjR1V1WEc1Y2JpQWdabWxpWlhJdVpXeGxiV1Z1ZEZSNWNHVWdQU0FuUkVWTVJWUkZSQ2M3WEc0Z0lHWnBZbVZ5TG5SNWNHVWdQU0FuUkVWTVJWUkZSQ2M3WEc0Z0lISmxkSFZ5YmlCbWFXSmxjanRjYm4xY2JtWjFibU4wYVc5dUlHTnlaV0YwWlVacFltVnlSbkp2YlZCdmNuUmhiQ2h3YjNKMFlXd3NJRzF2WkdVc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCd1pXNWthVzVuVUhKdmNITWdQU0J3YjNKMFlXd3VZMmhwYkdSeVpXNGdJVDA5SUc1MWJHd2dQeUJ3YjNKMFlXd3VZMmhwYkdSeVpXNGdPaUJiWFR0Y2JpQWdkbUZ5SUdacFltVnlJRDBnWTNKbFlYUmxSbWxpWlhJb1NHOXpkRkJ2Y25SaGJDd2djR1Z1WkdsdVoxQnliM0J6TENCd2IzSjBZV3d1YTJWNUxDQnRiMlJsS1R0Y2JpQWdabWxpWlhJdVpYaHdhWEpoZEdsdmJsUnBiV1VnUFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYmlBZ1ptbGlaWEl1YzNSaGRHVk9iMlJsSUQwZ2UxeHVJQ0FnSUdOdmJuUmhhVzVsY2tsdVptODZJSEJ2Y25SaGJDNWpiMjUwWVdsdVpYSkpibVp2TEZ4dUlDQWdJSEJsYm1ScGJtZERhR2xzWkhKbGJqb2diblZzYkN4Y2JpQWdJQ0F2THlCVmMyVmtJR0o1SUhCbGNuTnBjM1JsYm5RZ2RYQmtZWFJsYzF4dUlDQWdJR2x0Y0d4bGJXVnVkR0YwYVc5dU9pQndiM0owWVd3dWFXMXdiR1Z0Wlc1MFlYUnBiMjVjYmlBZ2ZUdGNiaUFnY21WMGRYSnVJR1pwWW1WeU8xeHVmU0F2THlCVmMyVmtJR1p2Y2lCemRHRnphR2x1WnlCWFNWQWdjSEp2Y0dWeWRHbGxjeUIwYnlCeVpYQnNZWGtnWm1GcGJHVmtJSGR2Y21zZ2FXNGdSRVZXTGx4dVhHNW1kVzVqZEdsdmJpQmhjM05wWjI1R2FXSmxjbEJ5YjNCbGNuUnBaWE5KYmtSRlZpaDBZWEpuWlhRc0lITnZkWEpqWlNrZ2UxeHVJQ0JwWmlBb2RHRnlaMlYwSUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnTHk4Z1ZHaHBjeUJHYVdKbGNpZHpJR2x1YVhScFlXd2djSEp2Y0dWeWRHbGxjeUIzYVd4c0lHRnNkMkY1Y3lCaVpTQnZkbVZ5ZDNKcGRIUmxiaTVjYmlBZ0lDQXZMeUJYWlNCdmJteDVJSFZ6WlNCaElFWnBZbVZ5SUhSdklHVnVjM1Z5WlNCMGFHVWdjMkZ0WlNCb2FXUmtaVzRnWTJ4aGMzTWdjMjhnUkVWV0lHbHpiaWQwSUhOc2IzY3VYRzRnSUNBZ2RHRnlaMlYwSUQwZ1kzSmxZWFJsUm1saVpYSW9TVzVrWlhSbGNtMXBibUYwWlVOdmJYQnZibVZ1ZEN3Z2JuVnNiQ3dnYm5Wc2JDd2dUbTlOYjJSbEtUdGNiaUFnZlNBdkx5QlVhR2x6SUdseklHbHVkR1Z1ZEdsdmJtRnNiSGtnZDNKcGRIUmxiaUJoY3lCaElHeHBjM1FnYjJZZ1lXeHNJSEJ5YjNCbGNuUnBaWE11WEc0Z0lDOHZJRmRsSUhSeWFXVmtJSFJ2SUhWelpTQlBZbXBsWTNRdVlYTnphV2R1S0NrZ2FXNXpkR1ZoWkNCaWRYUWdkR2hwY3lCcGN5QmpZV3hzWldRZ2FXNWNiaUFnTHk4Z2RHaGxJR2h2ZEhSbGMzUWdjR0YwYUN3Z1lXNWtJRTlpYW1WamRDNWhjM05wWjI0b0tTQjNZWE1nZEc5dklITnNiM2M2WEc0Z0lDOHZJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzltWVdObFltOXZheTl5WldGamRDOXBjM04xWlhNdk1USTFNREpjYmlBZ0x5OGdWR2hwY3lCamIyUmxJR2x6SUVSRlZpMXZibXg1SUhOdklITnBlbVVnYVhNZ2JtOTBJR0VnWTI5dVkyVnliaTVjYmx4dVhHNGdJSFJoY21kbGRDNTBZV2NnUFNCemIzVnlZMlV1ZEdGbk8xeHVJQ0IwWVhKblpYUXVhMlY1SUQwZ2MyOTFjbU5sTG10bGVUdGNiaUFnZEdGeVoyVjBMbVZzWlcxbGJuUlVlWEJsSUQwZ2MyOTFjbU5sTG1Wc1pXMWxiblJVZVhCbE8xeHVJQ0IwWVhKblpYUXVkSGx3WlNBOUlITnZkWEpqWlM1MGVYQmxPMXh1SUNCMFlYSm5aWFF1YzNSaGRHVk9iMlJsSUQwZ2MyOTFjbU5sTG5OMFlYUmxUbTlrWlR0Y2JpQWdkR0Z5WjJWMExuSmxkSFZ5YmlBOUlITnZkWEpqWlM1eVpYUjFjbTQ3WEc0Z0lIUmhjbWRsZEM1amFHbHNaQ0E5SUhOdmRYSmpaUzVqYUdsc1pEdGNiaUFnZEdGeVoyVjBMbk5wWW14cGJtY2dQU0J6YjNWeVkyVXVjMmxpYkdsdVp6dGNiaUFnZEdGeVoyVjBMbWx1WkdWNElEMGdjMjkxY21ObExtbHVaR1Y0TzF4dUlDQjBZWEpuWlhRdWNtVm1JRDBnYzI5MWNtTmxMbkpsWmp0Y2JpQWdkR0Z5WjJWMExuQmxibVJwYm1kUWNtOXdjeUE5SUhOdmRYSmpaUzV3Wlc1a2FXNW5VSEp2Y0hNN1hHNGdJSFJoY21kbGRDNXRaVzF2YVhwbFpGQnliM0J6SUQwZ2MyOTFjbU5sTG0xbGJXOXBlbVZrVUhKdmNITTdYRzRnSUhSaGNtZGxkQzUxY0dSaGRHVlJkV1YxWlNBOUlITnZkWEpqWlM1MWNHUmhkR1ZSZFdWMVpUdGNiaUFnZEdGeVoyVjBMbTFsYlc5cGVtVmtVM1JoZEdVZ1BTQnpiM1Z5WTJVdWJXVnRiMmw2WldSVGRHRjBaVHRjYmlBZ2RHRnlaMlYwTG1SbGNHVnVaR1Z1WTJsbGN5QTlJSE52ZFhKalpTNWtaWEJsYm1SbGJtTnBaWE03WEc0Z0lIUmhjbWRsZEM1dGIyUmxJRDBnYzI5MWNtTmxMbTF2WkdVN1hHNGdJSFJoY21kbGRDNWxabVpsWTNSVVlXY2dQU0J6YjNWeVkyVXVaV1ptWldOMFZHRm5PMXh1SUNCMFlYSm5aWFF1Ym1WNGRFVm1abVZqZENBOUlITnZkWEpqWlM1dVpYaDBSV1ptWldOME8xeHVJQ0IwWVhKblpYUXVabWx5YzNSRlptWmxZM1FnUFNCemIzVnlZMlV1Wm1seWMzUkZabVpsWTNRN1hHNGdJSFJoY21kbGRDNXNZWE4wUldabVpXTjBJRDBnYzI5MWNtTmxMbXhoYzNSRlptWmxZM1E3WEc0Z0lIUmhjbWRsZEM1bGVIQnBjbUYwYVc5dVZHbHRaU0E5SUhOdmRYSmpaUzVsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnZEdGeVoyVjBMbU5vYVd4a1JYaHdhWEpoZEdsdmJsUnBiV1VnUFNCemIzVnlZMlV1WTJocGJHUkZlSEJwY21GMGFXOXVWR2x0WlR0Y2JpQWdkR0Z5WjJWMExtRnNkR1Z5Ym1GMFpTQTlJSE52ZFhKalpTNWhiSFJsY201aGRHVTdYRzVjYmlBZ2UxeHVJQ0FnSUhSaGNtZGxkQzVoWTNSMVlXeEVkWEpoZEdsdmJpQTlJSE52ZFhKalpTNWhZM1IxWVd4RWRYSmhkR2x2Ymp0Y2JpQWdJQ0IwWVhKblpYUXVZV04wZFdGc1UzUmhjblJVYVcxbElEMGdjMjkxY21ObExtRmpkSFZoYkZOMFlYSjBWR2x0WlR0Y2JpQWdJQ0IwWVhKblpYUXVjMlZzWmtKaGMyVkVkWEpoZEdsdmJpQTlJSE52ZFhKalpTNXpaV3htUW1GelpVUjFjbUYwYVc5dU8xeHVJQ0FnSUhSaGNtZGxkQzUwY21WbFFtRnpaVVIxY21GMGFXOXVJRDBnYzI5MWNtTmxMblJ5WldWQ1lYTmxSSFZ5WVhScGIyNDdYRzRnSUgxY2JseHVJQ0I3WEc0Z0lDQWdkR0Z5WjJWMExsOWtaV0oxWjBsRUlEMGdjMjkxY21ObExsOWtaV0oxWjBsRU8xeHVJQ0I5WEc1Y2JpQWdkR0Z5WjJWMExsOWtaV0oxWjFOdmRYSmpaU0E5SUhOdmRYSmpaUzVmWkdWaWRXZFRiM1Z5WTJVN1hHNGdJSFJoY21kbGRDNWZaR1ZpZFdkUGQyNWxjaUE5SUhOdmRYSmpaUzVmWkdWaWRXZFBkMjVsY2p0Y2JpQWdkR0Z5WjJWMExsOWtaV0oxWjBselEzVnljbVZ1ZEd4NVZHbHRhVzVuSUQwZ2MyOTFjbU5sTGw5a1pXSjFaMGx6UTNWeWNtVnVkR3g1VkdsdGFXNW5PMXh1SUNCMFlYSm5aWFF1WDJSbFluVm5UbVZsWkhOU1pXMXZkVzUwSUQwZ2MyOTFjbU5sTGw5a1pXSjFaMDVsWldSelVtVnRiM1Z1ZER0Y2JpQWdkR0Z5WjJWMExsOWtaV0oxWjBodmIydFVlWEJsY3lBOUlITnZkWEpqWlM1ZlpHVmlkV2RJYjI5clZIbHdaWE03WEc0Z0lISmxkSFZ5YmlCMFlYSm5aWFE3WEc1OVhHNWNibVoxYm1OMGFXOXVJRVpwWW1WeVVtOXZkRTV2WkdVb1kyOXVkR0ZwYm1WeVNXNW1ieXdnZEdGbkxDQm9lV1J5WVhSbEtTQjdYRzRnSUhSb2FYTXVkR0ZuSUQwZ2RHRm5PMXh1SUNCMGFHbHpMbU4xY25KbGJuUWdQU0J1ZFd4c08xeHVJQ0IwYUdsekxtTnZiblJoYVc1bGNrbHVabThnUFNCamIyNTBZV2x1WlhKSmJtWnZPMXh1SUNCMGFHbHpMbkJsYm1ScGJtZERhR2xzWkhKbGJpQTlJRzUxYkd3N1hHNGdJSFJvYVhNdWNHbHVaME5oWTJobElEMGdiblZzYkR0Y2JpQWdkR2hwY3k1bWFXNXBjMmhsWkVWNGNHbHlZWFJwYjI1VWFXMWxJRDBnVG05WGIzSnJPMXh1SUNCMGFHbHpMbVpwYm1semFHVmtWMjl5YXlBOUlHNTFiR3c3WEc0Z0lIUm9hWE11ZEdsdFpXOTFkRWhoYm1Sc1pTQTlJRzV2VkdsdFpXOTFkRHRjYmlBZ2RHaHBjeTVqYjI1MFpYaDBJRDBnYm5Wc2JEdGNiaUFnZEdocGN5NXdaVzVrYVc1blEyOXVkR1Y0ZENBOUlHNTFiR3c3WEc0Z0lIUm9hWE11YUhsa2NtRjBaU0E5SUdoNVpISmhkR1U3WEc0Z0lIUm9hWE11WTJGc2JHSmhZMnRPYjJSbElEMGdiblZzYkR0Y2JpQWdkR2hwY3k1allXeHNZbUZqYTFCeWFXOXlhWFI1SUQwZ1RtOVFjbWx2Y21sMGVUdGNiaUFnZEdocGN5NW1hWEp6ZEZCbGJtUnBibWRVYVcxbElEMGdUbTlYYjNKck8xeHVJQ0IwYUdsekxtWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZEdocGN5NXNZWE4wVTNWemNHVnVaR1ZrVkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZEdocGN5NXVaWGgwUzI1dmQyNVFaVzVrYVc1blRHVjJaV3dnUFNCT2IxZHZjbXM3WEc0Z0lIUm9hWE11YkdGemRGQnBibWRsWkZScGJXVWdQU0JPYjFkdmNtczdYRzRnSUhSb2FYTXViR0Z6ZEVWNGNHbHlaV1JVYVcxbElEMGdUbTlYYjNKck8xeHVYRzRnSUh0Y2JpQWdJQ0IwYUdsekxtbHVkR1Z5WVdOMGFXOXVWR2h5WldGa1NVUWdQU0IwY21GamFXNW5MblZ1YzNSaFlteGxYMmRsZEZSb2NtVmhaRWxFS0NrN1hHNGdJQ0FnZEdocGN5NXRaVzF2YVhwbFpFbHVkR1Z5WVdOMGFXOXVjeUE5SUc1bGR5QlRaWFFvS1R0Y2JpQWdJQ0IwYUdsekxuQmxibVJwYm1kSmJuUmxjbUZqZEdsdmJrMWhjQ0E5SUc1bGR5Qk5ZWEFvS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWR2FXSmxjbEp2YjNRb1kyOXVkR0ZwYm1WeVNXNW1ieXdnZEdGbkxDQm9lV1J5WVhSbExDQm9lV1J5WVhScGIyNURZV3hzWW1GamEzTXBJSHRjYmlBZ2RtRnlJSEp2YjNRZ1BTQnVaWGNnUm1saVpYSlNiMjkwVG05a1pTaGpiMjUwWVdsdVpYSkpibVp2TENCMFlXY3NJR2g1WkhKaGRHVXBPMXh1SUNBdkx5QnpkR0YwWlU1dlpHVWdhWE1nWVc1NUxseHVYRzVjYmlBZ2RtRnlJSFZ1YVc1cGRHbGhiR2w2WldSR2FXSmxjaUE5SUdOeVpXRjBaVWh2YzNSU2IyOTBSbWxpWlhJb2RHRm5LVHRjYmlBZ2NtOXZkQzVqZFhKeVpXNTBJRDBnZFc1cGJtbDBhV0ZzYVhwbFpFWnBZbVZ5TzF4dUlDQjFibWx1YVhScFlXeHBlbVZrUm1saVpYSXVjM1JoZEdWT2IyUmxJRDBnY205dmREdGNiaUFnYVc1cGRHbGhiR2w2WlZWd1pHRjBaVkYxWlhWbEtIVnVhVzVwZEdsaGJHbDZaV1JHYVdKbGNpazdYRzRnSUhKbGRIVnliaUJ5YjI5ME8xeHVmVnh1Wm5WdVkzUnBiMjRnYVhOU2IyOTBVM1Z6Y0dWdVpHVmtRWFJVYVcxbEtISnZiM1FzSUdWNGNHbHlZWFJwYjI1VWFXMWxLU0I3WEc0Z0lIWmhjaUJtYVhKemRGTjFjM0JsYm1SbFpGUnBiV1VnUFNCeWIyOTBMbVpwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaVHRjYmlBZ2RtRnlJR3hoYzNSVGRYTndaVzVrWldSVWFXMWxJRDBnY205dmRDNXNZWE4wVTNWemNHVnVaR1ZrVkdsdFpUdGNiaUFnY21WMGRYSnVJR1pwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0FoUFQwZ1RtOVhiM0pySUNZbUlHWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpTQStQU0JsZUhCcGNtRjBhVzl1VkdsdFpTQW1KaUJzWVhOMFUzVnpjR1Z1WkdWa1ZHbHRaU0E4UFNCbGVIQnBjbUYwYVc5dVZHbHRaVHRjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRTYjI5MFUzVnpjR1Z1WkdWa1FYUlVhVzFsS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUhaaGNpQm1hWEp6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExtWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpUdGNiaUFnZG1GeUlHeGhjM1JUZFhOd1pXNWtaV1JVYVcxbElEMGdjbTl2ZEM1c1lYTjBVM1Z6Y0dWdVpHVmtWR2x0WlR0Y2JseHVJQ0JwWmlBb1ptbHljM1JUZFhOd1pXNWtaV1JVYVcxbElEd2daWGh3YVhKaGRHbHZibFJwYldVcElIdGNiaUFnSUNCeWIyOTBMbVpwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHeGhjM1JUZFhOd1pXNWtaV1JVYVcxbElENGdaWGh3YVhKaGRHbHZibFJwYldVZ2ZId2dabWx5YzNSVGRYTndaVzVrWldSVWFXMWxJRDA5UFNCT2IxZHZjbXNwSUh0Y2JpQWdJQ0J5YjI5MExteGhjM1JUZFhOd1pXNWtaV1JVYVcxbElEMGdaWGh3YVhKaGRHbHZibFJwYldVN1hHNGdJSDFjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQRDBnY205dmRDNXNZWE4wVUdsdVoyVmtWR2x0WlNrZ2UxeHVJQ0FnSUhKdmIzUXViR0Z6ZEZCcGJtZGxaRlJwYldVZ1BTQk9iMWR2Y21zN1hHNGdJSDFjYmx4dUlDQnBaaUFvWlhod2FYSmhkR2x2YmxScGJXVWdQRDBnY205dmRDNXNZWE4wUlhod2FYSmxaRlJwYldVcElIdGNiaUFnSUNCeWIyOTBMbXhoYzNSRmVIQnBjbVZrVkdsdFpTQTlJRTV2VjI5eWF6dGNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTFKdmIzUlZjR1JoZEdWa1FYUlVhVzFsS0hKdmIzUXNJR1Y0Y0dseVlYUnBiMjVVYVcxbEtTQjdYRzRnSUM4dklGVndaR0YwWlNCMGFHVWdjbUZ1WjJVZ2IyWWdjR1Z1WkdsdVp5QjBhVzFsYzF4dUlDQjJZWElnWm1seWMzUlFaVzVrYVc1blZHbHRaU0E5SUhKdmIzUXVabWx5YzNSUVpXNWthVzVuVkdsdFpUdGNibHh1SUNCcFppQW9aWGh3YVhKaGRHbHZibFJwYldVZ1BpQm1hWEp6ZEZCbGJtUnBibWRVYVcxbEtTQjdYRzRnSUNBZ2NtOXZkQzVtYVhKemRGQmxibVJwYm1kVWFXMWxJRDBnWlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUgwZ0x5OGdWWEJrWVhSbElIUm9aU0J5WVc1blpTQnZaaUJ6ZFhOd1pXNWtaV1FnZEdsdFpYTXVJRlJ5WldGMElHVjJaWEo1ZEdocGJtY2diRzkzWlhJZ2NISnBiM0pwZEhrZ2IzSmNiaUFnTHk4Z1pYRjFZV3dnZEc4Z2RHaHBjeUIxY0dSaGRHVWdZWE1nZFc1emRYTndaVzVrWldRdVhHNWNibHh1SUNCMllYSWdabWx5YzNSVGRYTndaVzVrWldSVWFXMWxJRDBnY205dmRDNW1hWEp6ZEZOMWMzQmxibVJsWkZScGJXVTdYRzVjYmlBZ2FXWWdLR1pwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0FoUFQwZ1RtOVhiM0pyS1NCN1hHNGdJQ0FnYVdZZ0tHVjRjR2x5WVhScGIyNVVhVzFsSUQ0OUlHWnBjbk4wVTNWemNHVnVaR1ZrVkdsdFpTa2dlMXh1SUNBZ0lDQWdMeThnVkdobElHVnVkR2x5WlNCemRYTndaVzVrWldRZ2NtRnVaMlVnYVhNZ2JtOTNJSFZ1YzNWemNHVnVaR1ZrTGx4dUlDQWdJQ0FnY205dmRDNW1hWEp6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExteGhjM1JUZFhOd1pXNWtaV1JVYVcxbElEMGdjbTl2ZEM1dVpYaDBTMjV2ZDI1UVpXNWthVzVuVEdWMlpXd2dQU0JPYjFkdmNtczdYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaGxlSEJwY21GMGFXOXVWR2x0WlNBK1BTQnliMjkwTG14aGMzUlRkWE53Wlc1a1pXUlVhVzFsS1NCN1hHNGdJQ0FnSUNCeWIyOTBMbXhoYzNSVGRYTndaVzVrWldSVWFXMWxJRDBnWlhod2FYSmhkR2x2YmxScGJXVWdLeUF4TzF4dUlDQWdJSDBnTHk4Z1ZHaHBjeUJwY3lCaElIQmxibVJwYm1jZ2JHVjJaV3d1SUVOb1pXTnJJR2xtSUdsMEozTWdhR2xuYUdWeUlIQnlhVzl5YVhSNUlIUm9ZVzRnZEdobElHNWxlSFJjYmlBZ0lDQXZMeUJyYm05M2JpQndaVzVrYVc1bklHeGxkbVZzTGx4dVhHNWNiaUFnSUNCcFppQW9aWGh3YVhKaGRHbHZibFJwYldVZ1BpQnliMjkwTG01bGVIUkxibTkzYmxCbGJtUnBibWRNWlhabGJDa2dlMXh1SUNBZ0lDQWdjbTl2ZEM1dVpYaDBTMjV2ZDI1UVpXNWthVzVuVEdWMlpXd2dQU0JsZUhCcGNtRjBhVzl1VkdsdFpUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRTYjI5MFJtbHVhWE5vWldSQmRGUnBiV1VvY205dmRDd2dabWx1YVhOb1pXUkZlSEJwY21GMGFXOXVWR2x0WlN3Z2NtVnRZV2x1YVc1blJYaHdhWEpoZEdsdmJsUnBiV1VwSUh0Y2JpQWdMeThnVlhCa1lYUmxJSFJvWlNCeVlXNW5aU0J2WmlCd1pXNWthVzVuSUhScGJXVnpYRzRnSUhKdmIzUXVabWx5YzNSUVpXNWthVzVuVkdsdFpTQTlJSEpsYldGcGJtbHVaMFY0Y0dseVlYUnBiMjVVYVcxbE95QXZMeUJWY0dSaGRHVWdkR2hsSUhKaGJtZGxJRzltSUhOMWMzQmxibVJsWkNCMGFXMWxjeTRnVkhKbFlYUWdaWFpsY25sMGFHbHVaeUJvYVdkb1pYSWdjSEpwYjNKcGRIa2diM0pjYmlBZ0x5OGdaWEYxWVd3Z2RHOGdkR2hwY3lCMWNHUmhkR1VnWVhNZ2RXNXpkWE53Wlc1a1pXUXVYRzVjYmlBZ2FXWWdLR1pwYm1semFHVmtSWGh3YVhKaGRHbHZibFJwYldVZ1BEMGdjbTl2ZEM1c1lYTjBVM1Z6Y0dWdVpHVmtWR2x0WlNrZ2UxeHVJQ0FnSUM4dklGUm9aU0JsYm5ScGNtVWdjM1Z6Y0dWdVpHVmtJSEpoYm1kbElHbHpJRzV2ZHlCMWJuTjFjM0JsYm1SbFpDNWNiaUFnSUNCeWIyOTBMbVpwY25OMFUzVnpjR1Z1WkdWa1ZHbHRaU0E5SUhKdmIzUXViR0Z6ZEZOMWMzQmxibVJsWkZScGJXVWdQU0J5YjI5MExtNWxlSFJMYm05M2JsQmxibVJwYm1kTVpYWmxiQ0E5SUU1dlYyOXlhenRjYmlBZ2ZTQmxiSE5sSUdsbUlDaG1hVzVwYzJobFpFVjRjR2x5WVhScGIyNVVhVzFsSUR3OUlISnZiM1F1Wm1seWMzUlRkWE53Wlc1a1pXUlVhVzFsS1NCN1hHNGdJQ0FnTHk4Z1VHRnlkQ0J2WmlCMGFHVWdjM1Z6Y0dWdVpHVmtJSEpoYm1kbElHbHpJRzV2ZHlCMWJuTjFjM0JsYm1SbFpDNGdUbUZ5Y205M0lIUm9aU0J5WVc1blpTQjBiMXh1SUNBZ0lDOHZJR2x1WTJ4MVpHVWdaWFpsY25sMGFHbHVaeUJpWlhSM1pXVnVJSFJvWlNCMWJuTjFjM0JsYm1SbFpDQjBhVzFsSUNodWIyNHRhVzVqYkhWemFYWmxLU0JoYm1RZ2RHaGxYRzRnSUNBZ0x5OGdiR0Z6ZENCemRYTndaVzVrWldRZ2RHbHRaUzVjYmlBZ0lDQnliMjkwTG1acGNuTjBVM1Z6Y0dWdVpHVmtWR2x0WlNBOUlHWnBibWx6YUdWa1JYaHdhWEpoZEdsdmJsUnBiV1VnTFNBeE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dacGJtbHphR1ZrUlhod2FYSmhkR2x2YmxScGJXVWdQRDBnY205dmRDNXNZWE4wVUdsdVoyVmtWR2x0WlNrZ2UxeHVJQ0FnSUM4dklFTnNaV0Z5SUhSb1pTQndhVzVuWldRZ2RHbHRaVnh1SUNBZ0lISnZiM1F1YkdGemRGQnBibWRsWkZScGJXVWdQU0JPYjFkdmNtczdYRzRnSUgxY2JseHVJQ0JwWmlBb1ptbHVhWE5vWldSRmVIQnBjbUYwYVc5dVZHbHRaU0E4UFNCeWIyOTBMbXhoYzNSRmVIQnBjbVZrVkdsdFpTa2dlMXh1SUNBZ0lDOHZJRU5zWldGeUlIUm9aU0JsZUhCcGNtVmtJSFJwYldWY2JpQWdJQ0J5YjI5MExteGhjM1JGZUhCcGNtVmtWR2x0WlNBOUlFNXZWMjl5YXp0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2JXRnlhMUp2YjNSRmVIQnBjbVZrUVhSVWFXMWxLSEp2YjNRc0lHVjRjR2x5WVhScGIyNVVhVzFsS1NCN1hHNGdJSFpoY2lCc1lYTjBSWGh3YVhKbFpGUnBiV1VnUFNCeWIyOTBMbXhoYzNSRmVIQnBjbVZrVkdsdFpUdGNibHh1SUNCcFppQW9iR0Z6ZEVWNGNHbHlaV1JVYVcxbElEMDlQU0JPYjFkdmNtc2dmSHdnYkdGemRFVjRjR2x5WldSVWFXMWxJRDRnWlhod2FYSmhkR2x2YmxScGJXVXBJSHRjYmlBZ0lDQnliMjkwTG14aGMzUkZlSEJwY21Wa1ZHbHRaU0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNCOVhHNTlYRzVjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJPWlhOMFpXUlZjR1JoZEdWek8xeHVkbUZ5SUdScFpGZGhjbTVCWW05MWRFWnBibVJPYjJSbFNXNVRkSEpwWTNSTmIyUmxPMXh1WEc1N1hHNGdJR1JwWkZkaGNtNUJZbTkxZEU1bGMzUmxaRlZ3WkdGMFpYTWdQU0JtWVd4elpUdGNiaUFnWkdsa1YyRnlia0ZpYjNWMFJtbHVaRTV2WkdWSmJsTjBjbWxqZEUxdlpHVWdQU0I3ZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWjJWMFEyOXVkR1Y0ZEVadmNsTjFZblJ5WldVb2NHRnlaVzUwUTI5dGNHOXVaVzUwS1NCN1hHNGdJR2xtSUNnaGNHRnlaVzUwUTI5dGNHOXVaVzUwS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1Z0Y0hSNVEyOXVkR1Y0ZEU5aWFtVmpkRHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQm1hV0psY2lBOUlHZGxkQ2h3WVhKbGJuUkRiMjF3YjI1bGJuUXBPMXh1SUNCMllYSWdjR0Z5Wlc1MFEyOXVkR1Y0ZENBOUlHWnBibVJEZFhKeVpXNTBWVzV0WVhOclpXUkRiMjUwWlhoMEtHWnBZbVZ5S1R0Y2JseHVJQ0JwWmlBb1ptbGlaWEl1ZEdGbklEMDlQU0JEYkdGemMwTnZiWEJ2Ym1WdWRDa2dlMXh1SUNBZ0lIWmhjaUJEYjIxd2IyNWxiblFnUFNCbWFXSmxjaTUwZVhCbE8xeHVYRzRnSUNBZ2FXWWdLR2x6UTI5dWRHVjRkRkJ5YjNacFpHVnlLRU52YlhCdmJtVnVkQ2twSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3Y205alpYTnpRMmhwYkdSRGIyNTBaWGgwS0dacFltVnlMQ0JEYjIxd2IyNWxiblFzSUhCaGNtVnVkRU52Ym5SbGVIUXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQndZWEpsYm5SRGIyNTBaWGgwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJtYVc1a1NHOXpkRWx1YzNSaGJtTmxWMmwwYUZkaGNtNXBibWNvWTI5dGNHOXVaVzUwTENCdFpYUm9iMlJPWVcxbEtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ1ptbGlaWElnUFNCblpYUW9ZMjl0Y0c5dVpXNTBLVHRjYmx4dUlDQWdJR2xtSUNobWFXSmxjaUE5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnBaaUFvZEhsd1pXOW1JR052YlhCdmJtVnVkQzV5Wlc1a1pYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lsVnVZV0pzWlNCMGJ5Qm1hVzVrSUc1dlpHVWdiMjRnWVc0Z2RXNXRiM1Z1ZEdWa0lHTnZiWEJ2Ym1WdWRDNWNJaUFwTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lrRnlaM1Z0Wlc1MElHRndjR1ZoY25NZ2RHOGdibTkwSUdKbElHRWdVbVZoWTNSRGIyMXdiMjVsYm5RdUlFdGxlWE02SUZ3aUlDc2dUMkpxWldOMExtdGxlWE1vWTI5dGNHOXVaVzUwS1NBcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCb2IzTjBSbWxpWlhJZ1BTQm1hVzVrUTNWeWNtVnVkRWh2YzNSR2FXSmxjaWhtYVdKbGNpazdYRzVjYmlBZ0lDQnBaaUFvYUc5emRFWnBZbVZ5SUQwOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm5Wc2JEdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9hRzl6ZEVacFltVnlMbTF2WkdVZ0ppQlRkSEpwWTNSTmIyUmxLU0I3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXRjRzl1Wlc1MFRtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvWm1saVpYSXVkSGx3WlNrZ2ZId2dKME52YlhCdmJtVnVkQ2M3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUm1sdVpFNXZaR1ZKYmxOMGNtbGpkRTF2WkdWYlkyOXRjRzl1Wlc1MFRtRnRaVjBwSUh0Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBSbWx1WkU1dlpHVkpibE4wY21samRFMXZaR1ZiWTI5dGNHOXVaVzUwVG1GdFpWMGdQU0IwY25WbE8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNobWFXSmxjaTV0YjJSbElDWWdVM1J5YVdOMFRXOWtaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5QnBjeUJrWlhCeVpXTmhkR1ZrSUdsdUlGTjBjbWxqZEUxdlpHVXVJQ2NnS3lBbkpYTWdkMkZ6SUhCaGMzTmxaQ0JoYmlCcGJuTjBZVzVqWlNCdlppQWxjeUIzYUdsamFDQnBjeUJwYm5OcFpHVWdVM1J5YVdOMFRXOWtaUzRnSnlBcklDZEpibk4wWldGa0xDQmhaR1FnWVNCeVpXWWdaR2x5WldOMGJIa2dkRzhnZEdobElHVnNaVzFsYm5RZ2VXOTFJSGRoYm5RZ2RHOGdjbVZtWlhKbGJtTmxMaUFuSUNzZ0oweGxZWEp1SUcxdmNtVWdZV0p2ZFhRZ2RYTnBibWNnY21WbWN5QnpZV1psYkhrZ2FHVnlaVG9nSnlBcklDZG9kSFJ3Y3pvdkwyWmlMbTFsTDNKbFlXTjBMWE4wY21samRDMXRiMlJsTFdacGJtUXRibTlrWlNWekp5d2diV1YwYUc5a1RtRnRaU3dnYldWMGFHOWtUbUZ0WlN3Z1kyOXRjRzl1Wlc1MFRtRnRaU3dnWjJWMFUzUmhZMnRDZVVacFltVnlTVzVFWlhaQmJtUlFjbTlrS0dodmMzUkdhV0psY2lrcE8xeHVJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDY2xjeUJwY3lCa1pYQnlaV05oZEdWa0lHbHVJRk4wY21samRFMXZaR1V1SUNjZ0t5QW5KWE1nZDJGeklIQmhjM05sWkNCaGJpQnBibk4wWVc1alpTQnZaaUFsY3lCM2FHbGphQ0J5Wlc1a1pYSnpJRk4wY21samRFMXZaR1VnWTJocGJHUnlaVzR1SUNjZ0t5QW5TVzV6ZEdWaFpDd2dZV1JrSUdFZ2NtVm1JR1JwY21WamRHeDVJSFJ2SUhSb1pTQmxiR1Z0Wlc1MElIbHZkU0IzWVc1MElIUnZJSEpsWm1WeVpXNWpaUzRnSnlBcklDZE1aV0Z5YmlCdGIzSmxJR0ZpYjNWMElIVnphVzVuSUhKbFpuTWdjMkZtWld4NUlHaGxjbVU2SUNjZ0t5QW5hSFIwY0hNNkx5OW1ZaTV0WlM5eVpXRmpkQzF6ZEhKcFkzUXRiVzlrWlMxbWFXNWtMVzV2WkdVbGN5Y3NJRzFsZEdodlpFNWhiV1VzSUcxbGRHaHZaRTVoYldVc0lHTnZiWEJ2Ym1WdWRFNWhiV1VzSUdkbGRGTjBZV05yUW5sR2FXSmxja2x1UkdWMlFXNWtVSEp2WkNob2IzTjBSbWxpWlhJcEtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCb2IzTjBSbWxpWlhJdWMzUmhkR1ZPYjJSbE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR055WldGMFpVTnZiblJoYVc1bGNpaGpiMjUwWVdsdVpYSkpibVp2TENCMFlXY3NJR2g1WkhKaGRHVXNJR2g1WkhKaGRHbHZia05oYkd4aVlXTnJjeWtnZTF4dUlDQnlaWFIxY200Z1kzSmxZWFJsUm1saVpYSlNiMjkwS0dOdmJuUmhhVzVsY2tsdVptOHNJSFJoWnl3Z2FIbGtjbUYwWlNrN1hHNTlYRzVtZFc1amRHbHZiaUIxY0dSaGRHVkRiMjUwWVdsdVpYSW9aV3hsYldWdWRDd2dZMjl1ZEdGcGJtVnlMQ0J3WVhKbGJuUkRiMjF3YjI1bGJuUXNJR05oYkd4aVlXTnJLU0I3WEc0Z0lIdGNiaUFnSUNCdmJsTmphR1ZrZFd4bFVtOXZkQ2hqYjI1MFlXbHVaWElzSUdWc1pXMWxiblFwTzF4dUlDQjlYRzVjYmlBZ2RtRnlJR04xY25KbGJuUWtNU0E5SUdOdmJuUmhhVzVsY2k1amRYSnlaVzUwTzF4dUlDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQnlaWEYxWlhOMFEzVnljbVZ1ZEZScGJXVkdiM0pWY0dSaGRHVW9LVHRjYmx4dUlDQjdYRzRnSUNBZ0x5OGdKRVpzYjNkRmVIQmxZM1JsWkVWeWNtOXlJQzBnYW1WemRDQnBjMjRuZENCaElHZHNiMkpoYkN3Z1lXNWtJR2x6YmlkMElISmxZMjluYm1sNlpXUWdiM1YwYzJsa1pTQnZaaUIwWlhOMGMxeHVJQ0FnSUdsbUlDZ25kVzVrWldacGJtVmtKeUFoUFQwZ2RIbHdaVzltSUdwbGMzUXBJSHRjYmlBZ0lDQWdJSGRoY201SlpsVnViVzlqYTJWa1UyTm9aV1IxYkdWeUtHTjFjbkpsYm5Ra01TazdYRzRnSUNBZ0lDQjNZWEp1U1daT2IzUlRZMjl3WldSWGFYUm9UV0YwWTJocGJtZEJZM1FvWTNWeWNtVnVkQ1F4S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdjM1Z6Y0dWdWMyVkRiMjVtYVdjZ1BTQnlaWEYxWlhOMFEzVnljbVZ1ZEZOMWMzQmxibk5sUTI5dVptbG5LQ2s3WEc0Z0lIWmhjaUJsZUhCcGNtRjBhVzl1VkdsdFpTQTlJR052YlhCMWRHVkZlSEJwY21GMGFXOXVSbTl5Um1saVpYSW9ZM1Z5Y21WdWRGUnBiV1VzSUdOMWNuSmxiblFrTVN3Z2MzVnpjR1Z1YzJWRGIyNW1hV2NwTzF4dUlDQjJZWElnWTI5dWRHVjRkQ0E5SUdkbGRFTnZiblJsZUhSR2IzSlRkV0owY21WbEtIQmhjbVZ1ZEVOdmJYQnZibVZ1ZENrN1hHNWNiaUFnYVdZZ0tHTnZiblJoYVc1bGNpNWpiMjUwWlhoMElEMDlQU0J1ZFd4c0tTQjdYRzRnSUNBZ1kyOXVkR0ZwYm1WeUxtTnZiblJsZUhRZ1BTQmpiMjUwWlhoME8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHTnZiblJoYVc1bGNpNXdaVzVrYVc1blEyOXVkR1Y0ZENBOUlHTnZiblJsZUhRN1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLR2x6VW1WdVpHVnlhVzVuSUNZbUlHTjFjbkpsYm5RZ0lUMDlJRzUxYkd3Z0ppWWdJV1JwWkZkaGNtNUJZbTkxZEU1bGMzUmxaRlZ3WkdGMFpYTXBJSHRjYmlBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEU1bGMzUmxaRlZ3WkdGMFpYTWdQU0IwY25WbE8xeHVYRzRnSUNBZ0lDQmxjbkp2Y2lnblVtVnVaR1Z5SUcxbGRHaHZaSE1nYzJodmRXeGtJR0psSUdFZ2NIVnlaU0JtZFc1amRHbHZiaUJ2WmlCd2NtOXdjeUJoYm1RZ2MzUmhkR1U3SUNjZ0t5QW5kSEpwWjJkbGNtbHVaeUJ1WlhOMFpXUWdZMjl0Y0c5dVpXNTBJSFZ3WkdGMFpYTWdabkp2YlNCeVpXNWtaWElnYVhNZ2JtOTBJR0ZzYkc5M1pXUXVJQ2NnS3lBblNXWWdibVZqWlhOellYSjVMQ0IwY21sbloyVnlJRzVsYzNSbFpDQjFjR1JoZEdWeklHbHVJR052YlhCdmJtVnVkRVJwWkZWd1pHRjBaUzVjWEc1Y1hHNG5JQ3NnSjBOb1pXTnJJSFJvWlNCeVpXNWtaWElnYldWMGFHOWtJRzltSUNWekxpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9ZM1Z5Y21WdWRDNTBlWEJsS1NCOGZDQW5WVzVyYm05M2JpY3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCMWNHUmhkR1VnUFNCamNtVmhkR1ZWY0dSaGRHVW9aWGh3YVhKaGRHbHZibFJwYldVc0lITjFjM0JsYm5ObFEyOXVabWxuS1RzZ0x5OGdRMkYxZEdsdmJqb2dVbVZoWTNRZ1JHVjJWRzl2YkhNZ1kzVnljbVZ1ZEd4NUlHUmxjR1Z1WkhNZ2IyNGdkR2hwY3lCd2NtOXdaWEowZVZ4dUlDQXZMeUJpWldsdVp5QmpZV3hzWldRZ1hDSmxiR1Z0Wlc1MFhDSXVYRzVjYmlBZ2RYQmtZWFJsTG5CaGVXeHZZV1FnUFNCN1hHNGdJQ0FnWld4bGJXVnVkRG9nWld4bGJXVnVkRnh1SUNCOU8xeHVJQ0JqWVd4c1ltRmpheUE5SUdOaGJHeGlZV05ySUQwOVBTQjFibVJsWm1sdVpXUWdQeUJ1ZFd4c0lEb2dZMkZzYkdKaFkyczdYRzVjYmlBZ2FXWWdLR05oYkd4aVlXTnJJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqWVd4c1ltRmpheUFoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25jbVZ1WkdWeUtDNHVMaWs2SUVWNGNHVmpkR1ZrSUhSb1pTQnNZWE4wSUc5d2RHbHZibUZzSUdCallXeHNZbUZqYTJBZ1lYSm5kVzFsYm5RZ2RHOGdZbVVnWVNBbklDc2dKMloxYm1OMGFXOXVMaUJKYm5OMFpXRmtJSEpsWTJWcGRtVmtPaUFsY3k0bkxDQmpZV3hzWW1GamF5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RYQmtZWFJsTG1OaGJHeGlZV05ySUQwZ1kyRnNiR0poWTJzN1hHNGdJSDFjYmx4dUlDQmxibkYxWlhWbFZYQmtZWFJsS0dOMWNuSmxiblFrTVN3Z2RYQmtZWFJsS1R0Y2JpQWdjMk5vWldSMWJHVlhiM0pyS0dOMWNuSmxiblFrTVN3Z1pYaHdhWEpoZEdsdmJsUnBiV1VwTzF4dUlDQnlaWFIxY200Z1pYaHdhWEpoZEdsdmJsUnBiV1U3WEc1OVhHNW1kVzVqZEdsdmJpQm5aWFJRZFdKc2FXTlNiMjkwU1c1emRHRnVZMlVvWTI5dWRHRnBibVZ5S1NCN1hHNGdJSFpoY2lCamIyNTBZV2x1WlhKR2FXSmxjaUE5SUdOdmJuUmhhVzVsY2k1amRYSnlaVzUwTzF4dVhHNGdJR2xtSUNnaFkyOXVkR0ZwYm1WeVJtbGlaWEl1WTJocGJHUXBJSHRjYmlBZ0lDQnlaWFIxY200Z2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUhOM2FYUmphQ0FvWTI5dWRHRnBibVZ5Um1saVpYSXVZMmhwYkdRdWRHRm5LU0I3WEc0Z0lDQWdZMkZ6WlNCSWIzTjBRMjl0Y0c5dVpXNTBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHZGxkRkIxWW14cFkwbHVjM1JoYm1ObEtHTnZiblJoYVc1bGNrWnBZbVZ5TG1Ob2FXeGtMbk4wWVhSbFRtOWtaU2s3WEc1Y2JpQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdjbVYwZFhKdUlHTnZiblJoYVc1bGNrWnBZbVZ5TG1Ob2FXeGtMbk4wWVhSbFRtOWtaVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCdFlYSnJVbVYwY25sVWFXMWxTVzF3YkNobWFXSmxjaXdnY21WMGNubFVhVzFsS1NCN1hHNGdJSFpoY2lCemRYTndaVzV6WlZOMFlYUmxJRDBnWm1saVpYSXViV1Z0YjJsNlpXUlRkR0YwWlR0Y2JseHVJQ0JwWmlBb2MzVnpjR1Z1YzJWVGRHRjBaU0FoUFQwZ2JuVnNiQ0FtSmlCemRYTndaVzV6WlZOMFlYUmxMbVJsYUhsa2NtRjBaV1FnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0JwWmlBb2MzVnpjR1Z1YzJWVGRHRjBaUzV5WlhSeWVWUnBiV1VnUENCeVpYUnllVlJwYldVcElIdGNiaUFnSUNBZ0lITjFjM0JsYm5ObFUzUmhkR1V1Y21WMGNubFVhVzFsSUQwZ2NtVjBjbmxVYVcxbE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlNBdkx5QkpibU55WldGelpYTWdkR2hsSUhCeWFXOXlhWFI1SUc5bUlIUm9aVzV1WVdKc1pYTWdkMmhsYmlCMGFHVjVJSEpsYzI5c2RtVWdkMmwwYUdsdUlIUm9hWE1nWW05MWJtUmhjbmt1WEc1Y2JseHVablZ1WTNScGIyNGdiV0Z5YTFKbGRISjVWR2x0WlVsbVRtOTBTSGxrY21GMFpXUW9abWxpWlhJc0lISmxkSEo1VkdsdFpTa2dlMXh1SUNCdFlYSnJVbVYwY25sVWFXMWxTVzF3YkNobWFXSmxjaXdnY21WMGNubFVhVzFsS1R0Y2JpQWdkbUZ5SUdGc2RHVnlibUYwWlNBOUlHWnBZbVZ5TG1Gc2RHVnlibUYwWlR0Y2JseHVJQ0JwWmlBb1lXeDBaWEp1WVhSbEtTQjdYRzRnSUNBZ2JXRnlhMUpsZEhKNVZHbHRaVWx0Y0d3b1lXeDBaWEp1WVhSbExDQnlaWFJ5ZVZScGJXVXBPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUdGMGRHVnRjSFJWYzJWeVFteHZZMnRwYm1kSWVXUnlZWFJwYjI0a01TaG1hV0psY2lrZ2UxeHVJQ0JwWmlBb1ptbGlaWEl1ZEdGbklDRTlQU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQzh2SUZkbElHbG5ibTl5WlNCSWIzTjBVbTl2ZEhNZ2FHVnlaU0JpWldOaGRYTmxJSGRsSUdOaGJpZDBJR2x1WTNKbFlYTmxYRzRnSUNBZ0x5OGdkR2hsYVhJZ2NISnBiM0pwZEhrZ1lXNWtJSFJvWlhrZ2MyaHZkV3hrSUc1dmRDQnpkWE53Wlc1a0lHOXVJRWt2VHl4Y2JpQWdJQ0F2THlCemFXNWpaU0I1YjNVZ2FHRjJaU0IwYnlCM2NtRndJR0Z1ZVhSb2FXNW5JSFJvWVhRZ2JXbG5hSFFnYzNWemNHVnVaQ0JwYmx4dUlDQWdJQzh2SUZOMWMzQmxibk5sTGx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCbGVIQlVhVzFsSUQwZ1kyOXRjSFYwWlVsdWRHVnlZV04wYVhabFJYaHdhWEpoZEdsdmJpaHlaWEYxWlhOMFEzVnljbVZ1ZEZScGJXVkdiM0pWY0dSaGRHVW9LU2s3WEc0Z0lITmphR1ZrZFd4bFYyOXlheWhtYVdKbGNpd2daWGh3VkdsdFpTazdYRzRnSUcxaGNtdFNaWFJ5ZVZScGJXVkpaazV2ZEVoNVpISmhkR1ZrS0dacFltVnlMQ0JsZUhCVWFXMWxLVHRjYm4xY2JtWjFibU4wYVc5dUlHRjBkR1Z0Y0hSRGIyNTBhVzUxYjNWelNIbGtjbUYwYVc5dUpERW9abWxpWlhJcElIdGNiaUFnYVdZZ0tHWnBZbVZ5TG5SaFp5QWhQVDBnVTNWemNHVnVjMlZEYjIxd2IyNWxiblFwSUh0Y2JpQWdJQ0F2THlCWFpTQnBaMjV2Y21VZ1NHOXpkRkp2YjNSeklHaGxjbVVnWW1WallYVnpaU0IzWlNCallXNG5kQ0JwYm1OeVpXRnpaVnh1SUNBZ0lDOHZJSFJvWldseUlIQnlhVzl5YVhSNUlHRnVaQ0IwYUdWNUlITm9iM1ZzWkNCdWIzUWdjM1Z6Y0dWdVpDQnZiaUJKTDA4c1hHNGdJQ0FnTHk4Z2MybHVZMlVnZVc5MUlHaGhkbVVnZEc4Z2QzSmhjQ0JoYm5sMGFHbHVaeUIwYUdGMElHMXBaMmgwSUhOMWMzQmxibVFnYVc1Y2JpQWdJQ0F2THlCVGRYTndaVzV6WlM1Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0J6WTJobFpIVnNaVmR2Y21zb1ptbGlaWElzSUVOdmJuUnBiblZ2ZFhOSWVXUnlZWFJwYjI0cE8xeHVJQ0J0WVhKclVtVjBjbmxVYVcxbFNXWk9iM1JJZVdSeVlYUmxaQ2htYVdKbGNpd2dRMjl1ZEdsdWRXOTFjMGg1WkhKaGRHbHZiaWs3WEc1OVhHNW1kVzVqZEdsdmJpQmhkSFJsYlhCMFNIbGtjbUYwYVc5dVFYUkRkWEp5Wlc1MFVISnBiM0pwZEhra01TaG1hV0psY2lrZ2UxeHVJQ0JwWmlBb1ptbGlaWEl1ZEdGbklDRTlQU0JUZFhOd1pXNXpaVU52YlhCdmJtVnVkQ2tnZTF4dUlDQWdJQzh2SUZkbElHbG5ibTl5WlNCSWIzTjBVbTl2ZEhNZ2FHVnlaU0JpWldOaGRYTmxJSGRsSUdOaGJpZDBJR2x1WTNKbFlYTmxYRzRnSUNBZ0x5OGdkR2hsYVhJZ2NISnBiM0pwZEhrZ2IzUm9aWElnZEdoaGJpQnplVzVqYUhKdmJtOTFjMng1SUdac2RYTm9JR2wwTGx4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dVhHNGdJSFpoY2lCamRYSnlaVzUwVkdsdFpTQTlJSEpsY1hWbGMzUkRkWEp5Wlc1MFZHbHRaVVp2Y2xWd1pHRjBaU2dwTzF4dUlDQjJZWElnWlhod1ZHbHRaU0E5SUdOdmJYQjFkR1ZGZUhCcGNtRjBhVzl1Um05eVJtbGlaWElvWTNWeWNtVnVkRlJwYldVc0lHWnBZbVZ5TENCdWRXeHNLVHRjYmlBZ2MyTm9aV1IxYkdWWGIzSnJLR1pwWW1WeUxDQmxlSEJVYVcxbEtUdGNiaUFnYldGeWExSmxkSEo1VkdsdFpVbG1UbTkwU0hsa2NtRjBaV1FvWm1saVpYSXNJR1Y0Y0ZScGJXVXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1ptbHVaRWh2YzNSSmJuTjBZVzVqWlZkcGRHaE9iMUJ2Y25SaGJITW9abWxpWlhJcElIdGNiaUFnZG1GeUlHaHZjM1JHYVdKbGNpQTlJR1pwYm1SRGRYSnlaVzUwU0c5emRFWnBZbVZ5VjJsMGFFNXZVRzl5ZEdGc2N5aG1hV0psY2lrN1hHNWNiaUFnYVdZZ0tHaHZjM1JHYVdKbGNpQTlQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHaHZjM1JHYVdKbGNpNTBZV2NnUFQwOUlFWjFibVJoYldWdWRHRnNRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHaHZjM1JHYVdKbGNpNXpkR0YwWlU1dlpHVXVhVzV6ZEdGdVkyVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdhRzl6ZEVacFltVnlMbk4wWVhSbFRtOWtaVHRjYm4xY2JseHVkbUZ5SUhOb2IzVnNaRk4xYzNCbGJtUkpiWEJzSUQwZ1puVnVZM1JwYjI0Z0tHWnBZbVZ5S1NCN1hHNGdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JuMDdYRzVjYm1aMWJtTjBhVzl1SUhOb2IzVnNaRk4xYzNCbGJtUW9abWxpWlhJcElIdGNiaUFnY21WMGRYSnVJSE5vYjNWc1pGTjFjM0JsYm1SSmJYQnNLR1pwWW1WeUtUdGNibjFjYm5aaGNpQnZkbVZ5Y21sa1pVaHZiMnRUZEdGMFpTQTlJRzUxYkd3N1hHNTJZWElnYjNabGNuSnBaR1ZRY205d2N5QTlJRzUxYkd3N1hHNTJZWElnYzJOb1pXUjFiR1ZWY0dSaGRHVWdQU0J1ZFd4c08xeHVkbUZ5SUhObGRGTjFjM0JsYm5ObFNHRnVaR3hsY2lBOUlHNTFiR3c3WEc1Y2JudGNiaUFnZG1GeUlHTnZjSGxYYVhSb1UyVjBTVzF3YkNBOUlHWjFibU4wYVc5dUlDaHZZbW9zSUhCaGRHZ3NJR2xrZUN3Z2RtRnNkV1VwSUh0Y2JpQWdJQ0JwWmlBb2FXUjRJRDQ5SUhCaGRHZ3ViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RtRnNkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUd0bGVTQTlJSEJoZEdoYmFXUjRYVHRjYmlBZ0lDQjJZWElnZFhCa1lYUmxaQ0E5SUVGeWNtRjVMbWx6UVhKeVlYa29iMkpxS1NBL0lHOWlhaTV6YkdsalpTZ3BJRG9nWDJGemMybG5iaWg3ZlN3Z2IySnFLVHNnTHk4Z0pFWnNiM2RHYVhoTlpTQnVkVzFpWlhJZ2IzSWdjM1J5YVc1bklHbHpJR1pwYm1VZ2FHVnlaVnh1WEc0Z0lDQWdkWEJrWVhSbFpGdHJaWGxkSUQwZ1kyOXdlVmRwZEdoVFpYUkpiWEJzS0c5aWFsdHJaWGxkTENCd1lYUm9MQ0JwWkhnZ0t5QXhMQ0IyWVd4MVpTazdYRzRnSUNBZ2NtVjBkWEp1SUhWd1pHRjBaV1E3WEc0Z0lIMDdYRzVjYmlBZ2RtRnlJR052Y0hsWGFYUm9VMlYwSUQwZ1puVnVZM1JwYjI0Z0tHOWlhaXdnY0dGMGFDd2dkbUZzZFdVcElIdGNiaUFnSUNCeVpYUjFjbTRnWTI5d2VWZHBkR2hUWlhSSmJYQnNLRzlpYWl3Z2NHRjBhQ3dnTUN3Z2RtRnNkV1VwTzF4dUlDQjlPeUF2THlCVGRYQndiM0owSUVSbGRsUnZiMnh6SUdWa2FYUmhZbXhsSUhaaGJIVmxjeUJtYjNJZ2RYTmxVM1JoZEdVZ1lXNWtJSFZ6WlZKbFpIVmpaWEl1WEc1Y2JseHVJQ0J2ZG1WeWNtbGtaVWh2YjJ0VGRHRjBaU0E5SUdaMWJtTjBhVzl1SUNobWFXSmxjaXdnYVdRc0lIQmhkR2dzSUhaaGJIVmxLU0I3WEc0Z0lDQWdMeThnUm05eUlHNXZkeXdnZEdobElGd2lhV1JjSWlCdlppQnpkR0YwWldaMWJDQm9iMjlyY3lCcGN5QnFkWE4wSUhSb1pTQnpkR0YwWldaMWJDQm9iMjlySUdsdVpHVjRMbHh1SUNBZ0lDOHZJRlJvYVhNZ2JXRjVJR05vWVc1blpTQnBiaUIwYUdVZ1puVjBkWEpsSUhkcGRHZ2daUzVuTGlCdVpYTjBaV1FnYUc5dmEzTXVYRzRnSUNBZ2RtRnlJR04xY25KbGJuUkliMjlySUQwZ1ptbGlaWEl1YldWdGIybDZaV1JUZEdGMFpUdGNibHh1SUNBZ0lIZG9hV3hsSUNoamRYSnlaVzUwU0c5dmF5QWhQVDBnYm5Wc2JDQW1KaUJwWkNBK0lEQXBJSHRjYmlBZ0lDQWdJR04xY25KbGJuUkliMjlySUQwZ1kzVnljbVZ1ZEVodmIyc3VibVY0ZER0Y2JpQWdJQ0FnSUdsa0xTMDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLR04xY25KbGJuUkliMjlySUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCMllYSWdibVYzVTNSaGRHVWdQU0JqYjNCNVYybDBhRk5sZENoamRYSnlaVzUwU0c5dmF5NXRaVzF2YVhwbFpGTjBZWFJsTENCd1lYUm9MQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZheTV0WlcxdmFYcGxaRk4wWVhSbElEMGdibVYzVTNSaGRHVTdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFNHOXZheTVpWVhObFUzUmhkR1VnUFNCdVpYZFRkR0YwWlRzZ0x5OGdWMlVnWVhKbGJpZDBJR0ZqZEhWaGJHeDVJR0ZrWkdsdVp5QmhiaUIxY0dSaGRHVWdkRzhnZEdobElIRjFaWFZsTEZ4dUlDQWdJQ0FnTHk4Z1ltVmpZWFZ6WlNCMGFHVnlaU0JwY3lCdWJ5QjFjR1JoZEdVZ2QyVWdZMkZ1SUdGa1pDQm1iM0lnZFhObFVtVmtkV05sY2lCb2IyOXJjeUIwYUdGMElIZHZiaWQwSUhSeWFXZG5aWElnWVc0Z1pYSnliM0l1WEc0Z0lDQWdJQ0F2THlBb1ZHaGxjbVVuY3lCdWJ5QmhjSEJ5YjNCeWFXRjBaU0JoWTNScGIyNGdkSGx3WlNCbWIzSWdSR1YyVkc5dmJITWdiM1psY25KcFpHVnpMaWxjYmlBZ0lDQWdJQzh2SUVGeklHRWdjbVZ6ZFd4MElIUm9iM1ZuYUN3Z1VtVmhZM1FnZDJsc2JDQnpaV1VnZEdobElITmphR1ZrZFd4bFpDQjFjR1JoZEdVZ1lYTWdZU0J1YjI5d0lHRnVaQ0JpWVdsc2IzVjBMbHh1SUNBZ0lDQWdMeThnVTJoaGJHeHZkeUJqYkc5dWFXNW5JSEJ5YjNCeklIZHZjbXR6SUdGeklHRWdkMjl5YTJGeWIzVnVaQ0JtYjNJZ2JtOTNJSFJ2SUdKNWNHRnpjeUIwYUdVZ1ltRnBiRzkxZENCamFHVmpheTVjYmx4dUlDQWdJQ0FnWm1saVpYSXViV1Z0YjJsNlpXUlFjbTl3Y3lBOUlGOWhjM05wWjI0b2UzMHNJR1pwWW1WeUxtMWxiVzlwZW1Wa1VISnZjSE1wTzF4dUlDQWdJQ0FnYzJOb1pXUjFiR1ZYYjNKcktHWnBZbVZ5TENCVGVXNWpLVHRjYmlBZ0lDQjlYRzRnSUgwN0lDOHZJRk4xY0hCdmNuUWdSR1YyVkc5dmJITWdjSEp2Y0hNZ1ptOXlJR1oxYm1OMGFXOXVJR052YlhCdmJtVnVkSE1zSUdadmNuZGhjbVJTWldZc0lHMWxiVzhzSUdodmMzUWdZMjl0Y0c5dVpXNTBjeXdnWlhSakxseHVYRzVjYmlBZ2IzWmxjbkpwWkdWUWNtOXdjeUE5SUdaMWJtTjBhVzl1SUNobWFXSmxjaXdnY0dGMGFDd2dkbUZzZFdVcElIdGNiaUFnSUNCbWFXSmxjaTV3Wlc1a2FXNW5VSEp2Y0hNZ1BTQmpiM0I1VjJsMGFGTmxkQ2htYVdKbGNpNXRaVzF2YVhwbFpGQnliM0J6TENCd1lYUm9MQ0IyWVd4MVpTazdYRzVjYmlBZ0lDQnBaaUFvWm1saVpYSXVZV3gwWlhKdVlYUmxLU0I3WEc0Z0lDQWdJQ0JtYVdKbGNpNWhiSFJsY201aGRHVXVjR1Z1WkdsdVoxQnliM0J6SUQwZ1ptbGlaWEl1Y0dWdVpHbHVaMUJ5YjNCek8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhOamFHVmtkV3hsVjI5eWF5aG1hV0psY2l3Z1UzbHVZeWs3WEc0Z0lIMDdYRzVjYmlBZ2MyTm9aV1IxYkdWVmNHUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1ptbGlaWElwSUh0Y2JpQWdJQ0J6WTJobFpIVnNaVmR2Y21zb1ptbGlaWElzSUZONWJtTXBPMXh1SUNCOU8xeHVYRzRnSUhObGRGTjFjM0JsYm5ObFNHRnVaR3hsY2lBOUlHWjFibU4wYVc5dUlDaHVaWGRUYUc5MWJHUlRkWE53Wlc1a1NXMXdiQ2tnZTF4dUlDQWdJSE5vYjNWc1pGTjFjM0JsYm1SSmJYQnNJRDBnYm1WM1UyaHZkV3hrVTNWemNHVnVaRWx0Y0d3N1hHNGdJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJR2x1YW1WamRFbHVkRzlFWlhaVWIyOXNjeWhrWlhaVWIyOXNjME52Ym1acFp5a2dlMXh1SUNCMllYSWdabWx1WkVacFltVnlRbmxJYjNOMFNXNXpkR0Z1WTJVZ1BTQmtaWFpVYjI5c2MwTnZibVpwWnk1bWFXNWtSbWxpWlhKQ2VVaHZjM1JKYm5OMFlXNWpaVHRjYmlBZ2RtRnlJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJZ1BTQlNaV0ZqZEZOb1lYSmxaRWx1ZEdWeWJtRnNjeTVTWldGamRFTjFjbkpsYm5SRWFYTndZWFJqYUdWeU8xeHVJQ0J5WlhSMWNtNGdhVzVxWldOMFNXNTBaWEp1WVd4ektGOWhjM05wWjI0b2UzMHNJR1JsZGxSdmIyeHpRMjl1Wm1sbkxDQjdYRzRnSUNBZ2IzWmxjbkpwWkdWSWIyOXJVM1JoZEdVNklHOTJaWEp5YVdSbFNHOXZhMU4wWVhSbExGeHVJQ0FnSUc5MlpYSnlhV1JsVUhKdmNITTZJRzkyWlhKeWFXUmxVSEp2Y0hNc1hHNGdJQ0FnYzJWMFUzVnpjR1Z1YzJWSVlXNWtiR1Z5T2lCelpYUlRkWE53Wlc1elpVaGhibVJzWlhJc1hHNGdJQ0FnYzJOb1pXUjFiR1ZWY0dSaGRHVTZJSE5qYUdWa2RXeGxWWEJrWVhSbExGeHVJQ0FnSUdOMWNuSmxiblJFYVhOd1lYUmphR1Z5VW1WbU9pQlNaV0ZqZEVOMWNuSmxiblJFYVhOd1lYUmphR1Z5TEZ4dUlDQWdJR1pwYm1SSWIzTjBTVzV6ZEdGdVkyVkNlVVpwWW1WeU9pQm1kVzVqZEdsdmJpQW9abWxpWlhJcElIdGNiaUFnSUNBZ0lIWmhjaUJvYjNOMFJtbGlaWElnUFNCbWFXNWtRM1Z5Y21WdWRFaHZjM1JHYVdKbGNpaG1hV0psY2lrN1hHNWNiaUFnSUNBZ0lHbG1JQ2hvYjNOMFJtbGlaWElnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQm9iM04wUm1saVpYSXVjM1JoZEdWT2IyUmxPMXh1SUNBZ0lIMHNYRzRnSUNBZ1ptbHVaRVpwWW1WeVFubEliM04wU1c1emRHRnVZMlU2SUdaMWJtTjBhVzl1SUNocGJuTjBZVzVqWlNrZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0ZtYVc1a1JtbGlaWEpDZVVodmMzUkpibk4wWVc1alpTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCTmFXZG9kQ0J1YjNRZ1ltVWdhVzF3YkdWdFpXNTBaV1FnWW5rZ2RHaGxJSEpsYm1SbGNtVnlMbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUdacGJtUkdhV0psY2tKNVNHOXpkRWx1YzNSaGJtTmxLR2x1YzNSaGJtTmxLVHRjYmlBZ0lDQjlMRnh1SUNBZ0lDOHZJRkpsWVdOMElGSmxabkpsYzJoY2JpQWdJQ0JtYVc1a1NHOXpkRWx1YzNSaGJtTmxjMFp2Y2xKbFpuSmxjMmc2SUNCbWFXNWtTRzl6ZEVsdWMzUmhibU5sYzBadmNsSmxabkpsYzJnZ0xGeHVJQ0FnSUhOamFHVmtkV3hsVW1WbWNtVnphRG9nSUhOamFHVmtkV3hsVW1WbWNtVnphQ0FzWEc0Z0lDQWdjMk5vWldSMWJHVlNiMjkwT2lBZ2MyTm9aV1IxYkdWU2IyOTBJQ3hjYmlBZ0lDQnpaWFJTWldaeVpYTm9TR0Z1Wkd4bGNqb2dJSE5sZEZKbFpuSmxjMmhJWVc1a2JHVnlJQ3hjYmlBZ0lDQXZMeUJGYm1GaWJHVnpJRVJsZGxSdmIyeHpJSFJ2SUdGd2NHVnVaQ0J2ZDI1bGNpQnpkR0ZqYTNNZ2RHOGdaWEp5YjNJZ2JXVnpjMkZuWlhNZ2FXNGdSRVZXSUcxdlpHVXVYRzRnSUNBZ1oyVjBRM1Z5Y21WdWRFWnBZbVZ5T2lBZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHTjFjbkpsYm5RN1hHNGdJQ0FnZlNCY2JpQWdmU2twTzF4dWZWeHVkbUZ5SUVselUyOXRaVkpsYm1SbGNtVnlRV04wYVc1bkpERWdQU0JTWldGamRGTm9ZWEpsWkVsdWRHVnlibUZzY3k1SmMxTnZiV1ZTWlc1a1pYSmxja0ZqZEdsdVp6dGNibHh1Wm5WdVkzUnBiMjRnVW1WaFkzUkVUMDFTYjI5MEtHTnZiblJoYVc1bGNpd2diM0IwYVc5dWN5a2dlMXh1SUNCMGFHbHpMbDlwYm5SbGNtNWhiRkp2YjNRZ1BTQmpjbVZoZEdWU2IyOTBTVzF3YkNoamIyNTBZV2x1WlhJc0lFTnZibU4xY25KbGJuUlNiMjkwTENCdmNIUnBiMjV6S1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnVW1WaFkzUkVUMDFDYkc5amEybHVaMUp2YjNRb1kyOXVkR0ZwYm1WeUxDQjBZV2NzSUc5d2RHbHZibk1wSUh0Y2JpQWdkR2hwY3k1ZmFXNTBaWEp1WVd4U2IyOTBJRDBnWTNKbFlYUmxVbTl2ZEVsdGNHd29ZMjl1ZEdGcGJtVnlMQ0IwWVdjc0lHOXdkR2x2Ym5NcE8xeHVmVnh1WEc1U1pXRmpkRVJQVFZKdmIzUXVjSEp2ZEc5MGVYQmxMbkpsYm1SbGNpQTlJRkpsWVdOMFJFOU5RbXh2WTJ0cGJtZFNiMjkwTG5CeWIzUnZkSGx3WlM1eVpXNWtaWElnUFNCbWRXNWpkR2x2YmlBb1kyaHBiR1J5Wlc0cElIdGNiaUFnZG1GeUlISnZiM1FnUFNCMGFHbHpMbDlwYm5SbGNtNWhiRkp2YjNRN1hHNWNiaUFnZTF4dUlDQWdJR2xtSUNoMGVYQmxiMllnWVhKbmRXMWxiblJ6V3pGZElEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCbGNuSnZjaWduY21WdVpHVnlLQzR1TGlrNklHUnZaWE1nYm05MElITjFjSEJ2Y25RZ2RHaGxJSE5sWTI5dVpDQmpZV3hzWW1GamF5QmhjbWQxYldWdWRDNGdKeUFySUNkVWJ5QmxlR1ZqZFhSbElHRWdjMmxrWlNCbFptWmxZM1FnWVdaMFpYSWdjbVZ1WkdWeWFXNW5MQ0JrWldOc1lYSmxJR2wwSUdsdUlHRWdZMjl0Y0c5dVpXNTBJR0p2WkhrZ2QybDBhQ0IxYzJWRlptWmxZM1FvS1M0bktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZMjl1ZEdGcGJtVnlJRDBnY205dmRDNWpiMjUwWVdsdVpYSkpibVp2TzF4dVhHNGdJQ0FnYVdZZ0tHTnZiblJoYVc1bGNpNXViMlJsVkhsd1pTQWhQVDBnUTA5TlRVVk9WRjlPVDBSRktTQjdYRzRnSUNBZ0lDQjJZWElnYUc5emRFbHVjM1JoYm1ObElEMGdabWx1WkVodmMzUkpibk4wWVc1alpWZHBkR2hPYjFCdmNuUmhiSE1vY205dmRDNWpkWEp5Wlc1MEtUdGNibHh1SUNBZ0lDQWdhV1lnS0dodmMzUkpibk4wWVc1alpTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FHOXpkRWx1YzNSaGJtTmxMbkJoY21WdWRFNXZaR1VnSVQwOUlHTnZiblJoYVc1bGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2R5Wlc1a1pYSW9MaTR1S1RvZ1NYUWdiRzl2YTNNZ2JHbHJaU0IwYUdVZ1VtVmhZM1F0Y21WdVpHVnlaV1FnWTI5dWRHVnVkQ0J2WmlCMGFHVWdKeUFySUNkeWIyOTBJR052Ym5SaGFXNWxjaUIzWVhNZ2NtVnRiM1psWkNCM2FYUm9iM1YwSUhWemFXNW5JRkpsWVdOMExpQlVhR2x6SUdseklHNXZkQ0FuSUNzZ0ozTjFjSEJ2Y25SbFpDQmhibVFnZDJsc2JDQmpZWFZ6WlNCbGNuSnZjbk11SUVsdWMzUmxZV1FzSUdOaGJHd2dKeUFySUZ3aWNtOXZkQzUxYm0xdmRXNTBLQ2tnZEc4Z1pXMXdkSGtnWVNCeWIyOTBKM01nWTI5dWRHRnBibVZ5TGx3aUtUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFZ3WkdGMFpVTnZiblJoYVc1bGNpaGphR2xzWkhKbGJpd2djbTl2ZEN3Z2JuVnNiQ3dnYm5Wc2JDazdYRzU5TzF4dVhHNVNaV0ZqZEVSUFRWSnZiM1F1Y0hKdmRHOTBlWEJsTG5WdWJXOTFiblFnUFNCU1pXRmpkRVJQVFVKc2IyTnJhVzVuVW05dmRDNXdjbTkwYjNSNWNHVXVkVzV0YjNWdWRDQTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdZWEpuZFcxbGJuUnpXekJkSUQwOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25kVzV0YjNWdWRDZ3VMaTRwT2lCa2IyVnpJRzV2ZENCemRYQndiM0owSUdFZ1kyRnNiR0poWTJzZ1lYSm5kVzFsYm5RdUlDY2dLeUFuVkc4Z1pYaGxZM1YwWlNCaElITnBaR1VnWldabVpXTjBJR0ZtZEdWeUlISmxibVJsY21sdVp5d2daR1ZqYkdGeVpTQnBkQ0JwYmlCaElHTnZiWEJ2Ym1WdWRDQmliMlI1SUhkcGRHZ2dkWE5sUldabVpXTjBLQ2t1SnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2RtRnlJSEp2YjNRZ1BTQjBhR2x6TGw5cGJuUmxjbTVoYkZKdmIzUTdYRzRnSUhaaGNpQmpiMjUwWVdsdVpYSWdQU0J5YjI5MExtTnZiblJoYVc1bGNrbHVabTg3WEc0Z0lIVndaR0YwWlVOdmJuUmhhVzVsY2lodWRXeHNMQ0J5YjI5MExDQnVkV3hzTENCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RXNXRZWEpyUTI5dWRHRnBibVZ5UVhOU2IyOTBLR052Ym5SaGFXNWxjaWs3WEc0Z0lIMHBPMXh1ZlR0Y2JseHVablZ1WTNScGIyNGdZM0psWVhSbFVtOXZkRWx0Y0d3b1kyOXVkR0ZwYm1WeUxDQjBZV2NzSUc5d2RHbHZibk1wSUh0Y2JpQWdMeThnVkdGbklHbHpJR1ZwZEdobGNpQk1aV2RoWTNsU2IyOTBJRzl5SUVOdmJtTjFjbkpsYm5RZ1VtOXZkRnh1SUNCMllYSWdhSGxrY21GMFpTQTlJRzl3ZEdsdmJuTWdJVDBnYm5Wc2JDQW1KaUJ2Y0hScGIyNXpMbWg1WkhKaGRHVWdQVDA5SUhSeWRXVTdYRzRnSUhaaGNpQm9lV1J5WVhScGIyNURZV3hzWW1GamEzTWdQU0J2Y0hScGIyNXpJQ0U5SUc1MWJHd2dKaVlnYjNCMGFXOXVjeTVvZVdSeVlYUnBiMjVQY0hScGIyNXpJSHg4SUc1MWJHdzdYRzRnSUhaaGNpQnliMjkwSUQwZ1kzSmxZWFJsUTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2l3Z2RHRm5MQ0JvZVdSeVlYUmxLVHRjYmlBZ2JXRnlhME52Ym5SaGFXNWxja0Z6VW05dmRDaHliMjkwTG1OMWNuSmxiblFzSUdOdmJuUmhhVzVsY2lrN1hHNWNiaUFnYVdZZ0tHaDVaSEpoZEdVZ0ppWWdkR0ZuSUNFOVBTQk1aV2RoWTNsU2IyOTBLU0I3WEc0Z0lDQWdkbUZ5SUdSdll5QTlJR052Ym5SaGFXNWxjaTV1YjJSbFZIbHdaU0E5UFQwZ1JFOURWVTFGVGxSZlRrOUVSU0EvSUdOdmJuUmhhVzVsY2lBNklHTnZiblJoYVc1bGNpNXZkMjVsY2tSdlkzVnRaVzUwTzF4dUlDQWdJR1ZoWjJWeWJIbFVjbUZ3VW1Wd2JHRjVZV0pzWlVWMlpXNTBjeWhqYjI1MFlXbHVaWElzSUdSdll5azdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdjbTl2ZER0Y2JuMWNibVoxYm1OMGFXOXVJR055WldGMFpVeGxaMkZqZVZKdmIzUW9ZMjl1ZEdGcGJtVnlMQ0J2Y0hScGIyNXpLU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dVbVZoWTNSRVQwMUNiRzlqYTJsdVoxSnZiM1FvWTI5dWRHRnBibVZ5TENCTVpXZGhZM2xTYjI5MExDQnZjSFJwYjI1ektUdGNibjFjYm1aMWJtTjBhVzl1SUdselZtRnNhV1JEYjI1MFlXbHVaWElvYm05a1pTa2dlMXh1SUNCeVpYUjFjbTRnSVNFb2JtOWtaU0FtSmlBb2JtOWtaUzV1YjJSbFZIbHdaU0E5UFQwZ1JVeEZUVVZPVkY5T1QwUkZJSHg4SUc1dlpHVXVibTlrWlZSNWNHVWdQVDA5SUVSUFExVk5SVTVVWDA1UFJFVWdmSHdnYm05a1pTNXViMlJsVkhsd1pTQTlQVDBnUkU5RFZVMUZUbFJmUmxKQlIwMUZUbFJmVGs5RVJTQjhmQ0J1YjJSbExtNXZaR1ZVZVhCbElEMDlQU0JEVDAxTlJVNVVYMDVQUkVVZ0ppWWdibTlrWlM1dWIyUmxWbUZzZFdVZ1BUMDlJQ2NnY21WaFkzUXRiVzkxYm5RdGNHOXBiblF0ZFc1emRHRmliR1VnSnlrcE8xeHVmVnh1WEc1MllYSWdVbVZoWTNSRGRYSnlaVzUwVDNkdVpYSWtNeUE5SUZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxsSmxZV04wUTNWeWNtVnVkRTkzYm1WeU8xeHVkbUZ5SUhSdmNFeGxkbVZzVlhCa1lYUmxWMkZ5Ym1sdVozTTdYRzUyWVhJZ2QyRnlibVZrUVdKdmRYUkllV1J5WVhSbFFWQkpJRDBnWm1Gc2MyVTdYRzVjYm50Y2JpQWdkRzl3VEdWMlpXeFZjR1JoZEdWWFlYSnVhVzVuY3lBOUlHWjFibU4wYVc5dUlDaGpiMjUwWVdsdVpYSXBJSHRjYmlBZ0lDQnBaaUFvWTI5dWRHRnBibVZ5TGw5eVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJZ0ppWWdZMjl1ZEdGcGJtVnlMbTV2WkdWVWVYQmxJQ0U5UFNCRFQwMU5SVTVVWDA1UFJFVXBJSHRjYmlBZ0lDQWdJSFpoY2lCb2IzTjBTVzV6ZEdGdVkyVWdQU0JtYVc1a1NHOXpkRWx1YzNSaGJtTmxWMmwwYUU1dlVHOXlkR0ZzY3loamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNpNWZhVzUwWlhKdVlXeFNiMjkwTG1OMWNuSmxiblFwTzF4dVhHNGdJQ0FnSUNCcFppQW9hRzl6ZEVsdWMzUmhibU5sS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hvYjNOMFNXNXpkR0Z1WTJVdWNHRnlaVzUwVG05a1pTQWhQVDBnWTI5dWRHRnBibVZ5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdaWEp5YjNJb0ozSmxibVJsY2lndUxpNHBPaUJKZENCc2IyOXJjeUJzYVd0bElIUm9aU0JTWldGamRDMXlaVzVrWlhKbFpDQmpiMjUwWlc1MElHOW1JSFJvYVhNZ0p5QXJJQ2RqYjI1MFlXbHVaWElnZDJGeklISmxiVzkyWldRZ2QybDBhRzkxZENCMWMybHVaeUJTWldGamRDNGdWR2hwY3lCcGN5QnViM1FnSnlBcklDZHpkWEJ3YjNKMFpXUWdZVzVrSUhkcGJHd2dZMkYxYzJVZ1pYSnliM0p6TGlCSmJuTjBaV0ZrTENCallXeHNJQ2NnS3lBblVtVmhZM1JFVDAwdWRXNXRiM1Z1ZEVOdmJYQnZibVZ1ZEVGMFRtOWtaU0IwYnlCbGJYQjBlU0JoSUdOdmJuUmhhVzVsY2k0bktUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUJwYzFKdmIzUlNaVzVrWlhKbFpFSjVVMjl0WlZKbFlXTjBJRDBnSVNGamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNqdGNiaUFnSUNCMllYSWdjbTl2ZEVWc0lEMGdaMlYwVW1WaFkzUlNiMjkwUld4bGJXVnVkRWx1UTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2lrN1hHNGdJQ0FnZG1GeUlHaGhjMDV2YmxKdmIzUlNaV0ZqZEVOb2FXeGtJRDBnSVNFb2NtOXZkRVZzSUNZbUlHZGxkRWx1YzNSaGJtTmxSbkp2YlU1dlpHVWtNU2h5YjI5MFJXd3BLVHRjYmx4dUlDQWdJR2xtSUNob1lYTk9iMjVTYjI5MFVtVmhZM1JEYUdsc1pDQW1KaUFoYVhOU2IyOTBVbVZ1WkdWeVpXUkNlVk52YldWU1pXRmpkQ2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KM0psYm1SbGNpZ3VMaTRwT2lCU1pYQnNZV05wYm1jZ1VtVmhZM1F0Y21WdVpHVnlaV1FnWTJocGJHUnlaVzRnZDJsMGFDQmhJRzVsZHlCeWIyOTBJQ2NnS3lBblkyOXRjRzl1Wlc1MExpQkpaaUI1YjNVZ2FXNTBaVzVrWldRZ2RHOGdkWEJrWVhSbElIUm9aU0JqYUdsc1pISmxiaUJ2WmlCMGFHbHpJRzV2WkdVc0lDY2dLeUFuZVc5MUlITm9iM1ZzWkNCcGJuTjBaV0ZrSUdoaGRtVWdkR2hsSUdWNGFYTjBhVzVuSUdOb2FXeGtjbVZ1SUhWd1pHRjBaU0IwYUdWcGNpQnpkR0YwWlNBbklDc2dKMkZ1WkNCeVpXNWtaWElnZEdobElHNWxkeUJqYjIxd2IyNWxiblJ6SUdsdWMzUmxZV1FnYjJZZ1kyRnNiR2x1WnlCU1pXRmpkRVJQVFM1eVpXNWtaWEl1SnlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tHTnZiblJoYVc1bGNpNXViMlJsVkhsd1pTQTlQVDBnUlV4RlRVVk9WRjlPVDBSRklDWW1JR052Ym5SaGFXNWxjaTUwWVdkT1lXMWxJQ1ltSUdOdmJuUmhhVzVsY2k1MFlXZE9ZVzFsTG5SdlZYQndaWEpEWVhObEtDa2dQVDA5SUNkQ1QwUlpKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KM0psYm1SbGNpZ3BPaUJTWlc1a1pYSnBibWNnWTI5dGNHOXVaVzUwY3lCa2FYSmxZM1JzZVNCcGJuUnZJR1J2WTNWdFpXNTBMbUp2WkhrZ2FYTWdKeUFySUNka2FYTmpiM1Z5WVdkbFpDd2djMmx1WTJVZ2FYUnpJR05vYVd4a2NtVnVJR0Z5WlNCdlpuUmxiaUJ0WVc1cGNIVnNZWFJsWkNCaWVTQjBhR2x5WkMxd1lYSjBlU0FuSUNzZ0ozTmpjbWx3ZEhNZ1lXNWtJR0p5YjNkelpYSWdaWGgwWlc1emFXOXVjeTRnVkdocGN5QnRZWGtnYkdWaFpDQjBieUJ6ZFdKMGJHVWdKeUFySUNkeVpXTnZibU5wYkdsaGRHbHZiaUJwYzNOMVpYTXVJRlJ5ZVNCeVpXNWtaWEpwYm1jZ2FXNTBieUJoSUdOdmJuUmhhVzVsY2lCbGJHVnRaVzUwSUdOeVpXRjBaV1FnSnlBcklDZG1iM0lnZVc5MWNpQmhjSEF1SnlrN1hHNGdJQ0FnZlZ4dUlDQjlPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJTWldGamRGSnZiM1JGYkdWdFpXNTBTVzVEYjI1MFlXbHVaWElvWTI5dWRHRnBibVZ5S1NCN1hHNGdJR2xtSUNnaFkyOXVkR0ZwYm1WeUtTQjdYRzRnSUNBZ2NtVjBkWEp1SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0JwWmlBb1kyOXVkR0ZwYm1WeUxtNXZaR1ZVZVhCbElEMDlQU0JFVDBOVlRVVk9WRjlPVDBSRktTQjdYRzRnSUNBZ2NtVjBkWEp1SUdOdmJuUmhhVzVsY2k1a2IyTjFiV1Z1ZEVWc1pXMWxiblE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnY21WMGRYSnVJR052Ym5SaGFXNWxjaTVtYVhKemRFTm9hV3hrTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlITm9iM1ZzWkVoNVpISmhkR1ZFZFdWVWIweGxaMkZqZVVobGRYSnBjM1JwWXloamIyNTBZV2x1WlhJcElIdGNiaUFnZG1GeUlISnZiM1JGYkdWdFpXNTBJRDBnWjJWMFVtVmhZM1JTYjI5MFJXeGxiV1Z1ZEVsdVEyOXVkR0ZwYm1WeUtHTnZiblJoYVc1bGNpazdYRzRnSUhKbGRIVnliaUFoSVNoeWIyOTBSV3hsYldWdWRDQW1KaUJ5YjI5MFJXeGxiV1Z1ZEM1dWIyUmxWSGx3WlNBOVBUMGdSVXhGVFVWT1ZGOU9UMFJGSUNZbUlISnZiM1JGYkdWdFpXNTBMbWhoYzBGMGRISnBZblYwWlNoU1QwOVVYMEZVVkZKSlFsVlVSVjlPUVUxRktTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHeGxaMkZqZVVOeVpXRjBaVkp2YjNSR2NtOXRSRTlOUTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2l3Z1ptOXlZMlZJZVdSeVlYUmxLU0I3WEc0Z0lIWmhjaUJ6YUc5MWJHUkllV1J5WVhSbElEMGdabTl5WTJWSWVXUnlZWFJsSUh4OElITm9iM1ZzWkVoNVpISmhkR1ZFZFdWVWIweGxaMkZqZVVobGRYSnBjM1JwWXloamIyNTBZV2x1WlhJcE95QXZMeUJHYVhKemRDQmpiR1ZoY2lCaGJua2daWGhwYzNScGJtY2dZMjl1ZEdWdWRDNWNibHh1SUNCcFppQW9JWE5vYjNWc1pFaDVaSEpoZEdVcElIdGNiaUFnSUNCMllYSWdkMkZ5Ym1Wa0lEMGdabUZzYzJVN1hHNGdJQ0FnZG1GeUlISnZiM1JUYVdKc2FXNW5PMXh1WEc0Z0lDQWdkMmhwYkdVZ0tISnZiM1JUYVdKc2FXNW5JRDBnWTI5dWRHRnBibVZ5TG14aGMzUkRhR2xzWkNrZ2UxeHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvSVhkaGNtNWxaQ0FtSmlCeWIyOTBVMmxpYkdsdVp5NXViMlJsVkhsd1pTQTlQVDBnUlV4RlRVVk9WRjlPVDBSRklDWW1JSEp2YjNSVGFXSnNhVzVuTG1oaGMwRjBkSEpwWW5WMFpTaFNUMDlVWDBGVVZGSkpRbFZVUlY5T1FVMUZLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIZGhjbTVsWkNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmxjbkp2Y2lnbmNtVnVaR1Z5S0NrNklGUmhjbWRsZENCdWIyUmxJR2hoY3lCdFlYSnJkWEFnY21WdVpHVnlaV1FnWW5rZ1VtVmhZM1FzSUdKMWRDQjBhR1Z5WlNBbklDc2dKMkZ5WlNCMWJuSmxiR0YwWldRZ2JtOWtaWE1nWVhNZ2QyVnNiQzRnVkdocGN5QnBjeUJ0YjNOMElHTnZiVzF2Ym14NUlHTmhkWE5sWkNCaWVTQW5JQ3NnSjNkb2FYUmxMWE53WVdObElHbHVjMlZ5ZEdWa0lHRnliM1Z1WkNCelpYSjJaWEl0Y21WdVpHVnlaV1FnYldGeWEzVndMaWNwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZiblJoYVc1bGNpNXlaVzF2ZG1WRGFHbHNaQ2h5YjI5MFUybGliR2x1WnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDaHphRzkxYkdSSWVXUnlZWFJsSUNZbUlDRm1iM0pqWlVoNVpISmhkR1VnSmlZZ0lYZGhjbTVsWkVGaWIzVjBTSGxrY21GMFpVRlFTU2tnZTF4dUlDQWdJQ0FnZDJGeWJtVmtRV0p2ZFhSSWVXUnlZWFJsUVZCSklEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ2QyRnliaWduY21WdVpHVnlLQ2s2SUVOaGJHeHBibWNnVW1WaFkzUkVUMDB1Y21WdVpHVnlLQ2tnZEc4Z2FIbGtjbUYwWlNCelpYSjJaWEl0Y21WdVpHVnlaV1FnYldGeWEzVndJQ2NnS3lBbmQybHNiQ0J6ZEc5d0lIZHZjbXRwYm1jZ2FXNGdVbVZoWTNRZ2RqRTNMaUJTWlhCc1lXTmxJSFJvWlNCU1pXRmpkRVJQVFM1eVpXNWtaWElvS1NCallXeHNJQ2NnS3lBbmQybDBhQ0JTWldGamRFUlBUUzVvZVdSeVlYUmxLQ2tnYVdZZ2VXOTFJSGRoYm5RZ1VtVmhZM1FnZEc4Z1lYUjBZV05vSUhSdklIUm9aU0J6WlhKMlpYSWdTRlJOVEM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1kzSmxZWFJsVEdWbllXTjVVbTl2ZENoamIyNTBZV2x1WlhJc0lITm9iM1ZzWkVoNVpISmhkR1VnUHlCN1hHNGdJQ0FnYUhsa2NtRjBaVG9nZEhKMVpWeHVJQ0I5SURvZ2RXNWtaV1pwYm1Wa0tUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2QyRnliazl1U1c1MllXeHBaRU5oYkd4aVlXTnJKREVvWTJGc2JHSmhZMnNzSUdOaGJHeGxjazVoYldVcElIdGNiaUFnZTF4dUlDQWdJR2xtSUNoallXeHNZbUZqYXlBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1kyRnNiR0poWTJzZ0lUMDlJQ2RtZFc1amRHbHZiaWNwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2NsY3lndUxpNHBPaUJGZUhCbFkzUmxaQ0IwYUdVZ2JHRnpkQ0J2Y0hScGIyNWhiQ0JnWTJGc2JHSmhZMnRnSUdGeVozVnRaVzUwSUhSdklHSmxJR0VnSnlBcklDZG1kVzVqZEdsdmJpNGdTVzV6ZEdWaFpDQnlaV05sYVhabFpEb2dKWE11Snl3Z1kyRnNiR1Z5VG1GdFpTd2dZMkZzYkdKaFkyc3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJzWldkaFkzbFNaVzVrWlhKVGRXSjBjbVZsU1c1MGIwTnZiblJoYVc1bGNpaHdZWEpsYm5SRGIyMXdiMjVsYm5Rc0lHTm9hV3hrY21WdUxDQmpiMjUwWVdsdVpYSXNJR1p2Y21ObFNIbGtjbUYwWlN3Z1kyRnNiR0poWTJzcElIdGNiaUFnZTF4dUlDQWdJSFJ2Y0V4bGRtVnNWWEJrWVhSbFYyRnlibWx1WjNNb1kyOXVkR0ZwYm1WeUtUdGNiaUFnSUNCM1lYSnVUMjVKYm5aaGJHbGtRMkZzYkdKaFkyc2tNU2hqWVd4c1ltRmpheUE5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHTmhiR3hpWVdOckxDQW5jbVZ1WkdWeUp5azdYRzRnSUgwZ0x5OGdWRTlFVHpvZ1YybDBhRzkxZENCZ1lXNTVZQ0IwZVhCbExDQkdiRzkzSUhOaGVYTWdYQ0pRY205d1pYSjBlU0JqWVc1dWIzUWdZbVVnWVdOalpYTnpaV1FnYjI0Z1lXNTVYRzRnSUM4dklHMWxiV0psY2lCdlppQnBiblJsY25ObFkzUnBiMjRnZEhsd1pTNWNJaUJYYUhsNWVYbDVlUzVjYmx4dVhHNGdJSFpoY2lCeWIyOTBJRDBnWTI5dWRHRnBibVZ5TGw5eVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJN1hHNGdJSFpoY2lCbWFXSmxjbEp2YjNRN1hHNWNiaUFnYVdZZ0tDRnliMjkwS1NCN1hHNGdJQ0FnTHk4Z1NXNXBkR2xoYkNCdGIzVnVkRnh1SUNBZ0lISnZiM1FnUFNCamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNpQTlJR3hsWjJGamVVTnlaV0YwWlZKdmIzUkdjbTl0UkU5TlEyOXVkR0ZwYm1WeUtHTnZiblJoYVc1bGNpd2dabTl5WTJWSWVXUnlZWFJsS1R0Y2JpQWdJQ0JtYVdKbGNsSnZiM1FnUFNCeWIyOTBMbDlwYm5SbGNtNWhiRkp2YjNRN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHTmhiR3hpWVdOcklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnSUNCMllYSWdiM0pwWjJsdVlXeERZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh1WEc0Z0lDQWdJQ0JqWVd4c1ltRmpheUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdsdWMzUmhibU5sSUQwZ1oyVjBVSFZpYkdsalVtOXZkRWx1YzNSaGJtTmxLR1pwWW1WeVVtOXZkQ2s3WEc0Z0lDQWdJQ0FnSUc5eWFXZHBibUZzUTJGc2JHSmhZMnN1WTJGc2JDaHBibk4wWVc1alpTazdYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdMeThnU1c1cGRHbGhiQ0J0YjNWdWRDQnphRzkxYkdRZ2JtOTBJR0psSUdKaGRHTm9aV1F1WEc1Y2JseHVJQ0FnSUhWdVltRjBZMmhsWkZWd1pHRjBaWE1vWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ2RYQmtZWFJsUTI5dWRHRnBibVZ5S0dOb2FXeGtjbVZ1TENCbWFXSmxjbEp2YjNRc0lIQmhjbVZ1ZEVOdmJYQnZibVZ1ZEN3Z1kyRnNiR0poWTJzcE8xeHVJQ0FnSUgwcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHWnBZbVZ5VW05dmRDQTlJSEp2YjNRdVgybHVkR1Z5Ym1Gc1VtOXZkRHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnWTJGc2JHSmhZMnNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFpoY2lCZmIzSnBaMmx1WVd4RFlXeHNZbUZqYXlBOUlHTmhiR3hpWVdOck8xeHVYRzRnSUNBZ0lDQmpZV3hzWW1GamF5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJR2x1YzNSaGJtTmxJRDBnWjJWMFVIVmliR2xqVW05dmRFbHVjM1JoYm1ObEtHWnBZbVZ5VW05dmRDazdYRzVjYmlBZ0lDQWdJQ0FnWDI5eWFXZHBibUZzUTJGc2JHSmhZMnN1WTJGc2JDaHBibk4wWVc1alpTazdYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdMeThnVlhCa1lYUmxYRzVjYmx4dUlDQWdJSFZ3WkdGMFpVTnZiblJoYVc1bGNpaGphR2xzWkhKbGJpd2dabWxpWlhKU2IyOTBMQ0J3WVhKbGJuUkRiMjF3YjI1bGJuUXNJR05oYkd4aVlXTnJLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJuWlhSUWRXSnNhV05TYjI5MFNXNXpkR0Z1WTJVb1ptbGlaWEpTYjI5MEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ptbHVaRVJQVFU1dlpHVW9ZMjl0Y0c5dVpXNTBUM0pGYkdWdFpXNTBLU0I3WEc0Z0lIdGNiaUFnSUNCMllYSWdiM2R1WlhJZ1BTQlNaV0ZqZEVOMWNuSmxiblJQZDI1bGNpUXpMbU4xY25KbGJuUTdYRzVjYmlBZ0lDQnBaaUFvYjNkdVpYSWdJVDA5SUc1MWJHd2dKaVlnYjNkdVpYSXVjM1JoZEdWT2IyUmxJQ0U5UFNCdWRXeHNLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2QyRnlibVZrUVdKdmRYUlNaV1p6U1c1U1pXNWtaWElnUFNCdmQyNWxjaTV6ZEdGMFpVNXZaR1V1WDNkaGNtNWxaRUZpYjNWMFVtVm1jMGx1VW1WdVpHVnlPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lYZGhjbTVsWkVGaWIzVjBVbVZtYzBsdVVtVnVaR1Z5S1NCN1hHNGdJQ0FnSUNBZ0lHVnljbTl5S0NjbGN5QnBjeUJoWTJObGMzTnBibWNnWm1sdVpFUlBUVTV2WkdVZ2FXNXphV1JsSUdsMGN5QnlaVzVrWlhJb0tTNGdKeUFySUNkeVpXNWtaWElvS1NCemFHOTFiR1FnWW1VZ1lTQndkWEpsSUdaMWJtTjBhVzl1SUc5bUlIQnliM0J6SUdGdVpDQnpkR0YwWlM0Z1NYUWdjMmh2ZFd4a0lDY2dLeUFuYm1WMlpYSWdZV05qWlhOeklITnZiV1YwYUdsdVp5QjBhR0YwSUhKbGNYVnBjbVZ6SUhOMFlXeGxJR1JoZEdFZ1puSnZiU0IwYUdVZ2NISmxkbWx2ZFhNZ0p5QXJJQ2R5Wlc1a1pYSXNJSE4xWTJnZ1lYTWdjbVZtY3k0Z1RXOTJaU0IwYUdseklHeHZaMmxqSUhSdklHTnZiWEJ2Ym1WdWRFUnBaRTF2ZFc1MElHRnVaQ0FuSUNzZ0oyTnZiWEJ2Ym1WdWRFUnBaRlZ3WkdGMFpTQnBibk4wWldGa0xpY3NJR2RsZEVOdmJYQnZibVZ1ZEU1aGJXVW9iM2R1WlhJdWRIbHdaU2tnZkh3Z0owRWdZMjl0Y0c5dVpXNTBKeWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUc5M2JtVnlMbk4wWVhSbFRtOWtaUzVmZDJGeWJtVmtRV0p2ZFhSU1pXWnpTVzVTWlc1a1pYSWdQU0IwY25WbE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2hqYjIxd2IyNWxiblJQY2tWc1pXMWxiblFnUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ2FXWWdLR052YlhCdmJtVnVkRTl5Uld4bGJXVnVkQzV1YjJSbFZIbHdaU0E5UFQwZ1JVeEZUVVZPVkY5T1QwUkZLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnZiWEJ2Ym1WdWRFOXlSV3hsYldWdWREdGNiaUFnZlZ4dVhHNGdJSHRjYmlBZ0lDQnlaWFIxY200Z1ptbHVaRWh2YzNSSmJuTjBZVzVqWlZkcGRHaFhZWEp1YVc1bktHTnZiWEJ2Ym1WdWRFOXlSV3hsYldWdWRDd2dKMlpwYm1SRVQwMU9iMlJsSnlrN1hHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHaDVaSEpoZEdVb1pXeGxiV1Z1ZEN3Z1kyOXVkR0ZwYm1WeUxDQmpZV3hzWW1GamF5a2dlMXh1SUNCcFppQW9JV2x6Vm1Gc2FXUkRiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlLU2tnZTF4dUlDQWdJSHRjYmlBZ0lDQWdJSFJvY205M0lFVnljbTl5S0NCY0lsUmhjbWRsZENCamIyNTBZV2x1WlhJZ2FYTWdibTkwSUdFZ1JFOU5JR1ZzWlcxbGJuUXVYQ0lnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCN1hHNGdJQ0FnZG1GeUlHbHpUVzlrWlhKdVVtOXZkQ0E5SUdselEyOXVkR0ZwYm1WeVRXRnlhMlZrUVhOU2IyOTBLR052Ym5SaGFXNWxjaWtnSmlZZ1kyOXVkR0ZwYm1WeUxsOXlaV0ZqZEZKdmIzUkRiMjUwWVdsdVpYSWdQVDA5SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0FnSUdsbUlDaHBjMDF2WkdWeWJsSnZiM1FwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RaYjNVZ1lYSmxJR05oYkd4cGJtY2dVbVZoWTNSRVQwMHVhSGxrY21GMFpTZ3BJRzl1SUdFZ1kyOXVkR0ZwYm1WeUlIUm9ZWFFnZDJGeklIQnlaWFpwYjNWemJIa2dKeUFySUNkd1lYTnpaV1FnZEc4Z1VtVmhZM1JFVDAwdVkzSmxZWFJsVW05dmRDZ3BMaUJVYUdseklHbHpJRzV2ZENCemRYQndiM0owWldRdUlDY2dLeUFuUkdsa0lIbHZkU0J0WldGdUlIUnZJR05oYkd3Z1kzSmxZWFJsVW05dmRDaGpiMjUwWVdsdVpYSXNJSHRvZVdSeVlYUmxPaUIwY25WbGZTa3VjbVZ1WkdWeUtHVnNaVzFsYm5RcFB5Y3BPMXh1SUNBZ0lIMWNiaUFnZlNBdkx5QlVUMFJQT2lCMGFISnZkeUJ2Y2lCM1lYSnVJR2xtSUhkbElHTnZkV3hrYmlkMElHaDVaSEpoZEdVL1hHNWNibHh1SUNCeVpYUjFjbTRnYkdWbllXTjVVbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSW9iblZzYkN3Z1pXeGxiV1Z1ZEN3Z1kyOXVkR0ZwYm1WeUxDQjBjblZsTENCallXeHNZbUZqYXlrN1hHNTlYRzVtZFc1amRHbHZiaUJ5Wlc1a1pYSW9aV3hsYldWdWRDd2dZMjl1ZEdGcGJtVnlMQ0JqWVd4c1ltRmpheWtnZTF4dUlDQnBaaUFvSVdselZtRnNhV1JEYjI1MFlXbHVaWElvWTI5dWRHRnBibVZ5S1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbFJoY21kbGRDQmpiMjUwWVdsdVpYSWdhWE1nYm05MElHRWdSRTlOSUdWc1pXMWxiblF1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2RtRnlJR2x6VFc5a1pYSnVVbTl2ZENBOUlHbHpRMjl1ZEdGcGJtVnlUV0Z5YTJWa1FYTlNiMjkwS0dOdmJuUmhhVzVsY2lrZ0ppWWdZMjl1ZEdGcGJtVnlMbDl5WldGamRGSnZiM1JEYjI1MFlXbHVaWElnUFQwOUlIVnVaR1ZtYVc1bFpEdGNibHh1SUNBZ0lHbG1JQ2hwYzAxdlpHVnlibEp2YjNRcElIdGNiaUFnSUNBZ0lHVnljbTl5S0NkWmIzVWdZWEpsSUdOaGJHeHBibWNnVW1WaFkzUkVUMDB1Y21WdVpHVnlLQ2tnYjI0Z1lTQmpiMjUwWVdsdVpYSWdkR2hoZENCM1lYTWdjSEpsZG1sdmRYTnNlU0FuSUNzZ0ozQmhjM05sWkNCMGJ5QlNaV0ZqZEVSUFRTNWpjbVZoZEdWU2IyOTBLQ2t1SUZSb2FYTWdhWE1nYm05MElITjFjSEJ2Y25SbFpDNGdKeUFySUNkRWFXUWdlVzkxSUcxbFlXNGdkRzhnWTJGc2JDQnliMjkwTG5KbGJtUmxjaWhsYkdWdFpXNTBLVDhuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnYkdWbllXTjVVbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSW9iblZzYkN3Z1pXeGxiV1Z1ZEN3Z1kyOXVkR0ZwYm1WeUxDQm1ZV3h6WlN3Z1kyRnNiR0poWTJzcE8xeHVmVnh1Wm5WdVkzUnBiMjRnZFc1emRHRmliR1ZmY21WdVpHVnlVM1ZpZEhKbFpVbHVkRzlEYjI1MFlXbHVaWElvY0dGeVpXNTBRMjl0Y0c5dVpXNTBMQ0JsYkdWdFpXNTBMQ0JqYjI1MFlXbHVaWEpPYjJSbExDQmpZV3hzWW1GamF5a2dlMXh1SUNCcFppQW9JV2x6Vm1Gc2FXUkRiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlUbTlrWlNrcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pVWVhKblpYUWdZMjl1ZEdGcGJtVnlJR2x6SUc1dmRDQmhJRVJQVFNCbGJHVnRaVzUwTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0NFb2NHRnlaVzUwUTI5dGNHOXVaVzUwSUNFOUlHNTFiR3dnSmlZZ2FHRnpLSEJoY21WdWRFTnZiWEJ2Ym1WdWRDa3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aWNHRnlaVzUwUTI5dGNHOXVaVzUwSUcxMWMzUWdZbVVnWVNCMllXeHBaQ0JTWldGamRDQkRiMjF3YjI1bGJuUmNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJzWldkaFkzbFNaVzVrWlhKVGRXSjBjbVZsU1c1MGIwTnZiblJoYVc1bGNpaHdZWEpsYm5SRGIyMXdiMjVsYm5Rc0lHVnNaVzFsYm5Rc0lHTnZiblJoYVc1bGNrNXZaR1VzSUdaaGJITmxMQ0JqWVd4c1ltRmpheWs3WEc1OVhHNW1kVzVqZEdsdmJpQjFibTF2ZFc1MFEyOXRjRzl1Wlc1MFFYUk9iMlJsS0dOdmJuUmhhVzVsY2lrZ2UxeHVJQ0JwWmlBb0lXbHpWbUZzYVdSRGIyNTBZV2x1WlhJb1kyOXVkR0ZwYm1WeUtTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSW5WdWJXOTFiblJEYjIxd2IyNWxiblJCZEU1dlpHVW9MaTR1S1RvZ1ZHRnlaMlYwSUdOdmJuUmhhVzVsY2lCcGN5QnViM1FnWVNCRVQwMGdaV3hsYldWdWRDNWNJaUFwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0IyWVhJZ2FYTk5iMlJsY201U2IyOTBJRDBnYVhORGIyNTBZV2x1WlhKTllYSnJaV1JCYzFKdmIzUW9ZMjl1ZEdGcGJtVnlLU0FtSmlCamIyNTBZV2x1WlhJdVgzSmxZV04wVW05dmRFTnZiblJoYVc1bGNpQTlQVDBnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnYVdZZ0tHbHpUVzlrWlhKdVVtOXZkQ2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMWx2ZFNCaGNtVWdZMkZzYkdsdVp5QlNaV0ZqZEVSUFRTNTFibTF2ZFc1MFEyOXRjRzl1Wlc1MFFYUk9iMlJsS0NrZ2IyNGdZU0JqYjI1MFlXbHVaWElnZEdoaGRDQjNZWE1nY0hKbGRtbHZkWE5zZVNBbklDc2dKM0JoYzNObFpDQjBieUJTWldGamRFUlBUUzVqY21WaGRHVlNiMjkwS0NrdUlGUm9hWE1nYVhNZ2JtOTBJSE4xY0hCdmNuUmxaQzRnUkdsa0lIbHZkU0J0WldGdUlIUnZJR05oYkd3Z2NtOXZkQzUxYm0xdmRXNTBLQ2svSnlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2FXWWdLR052Ym5SaGFXNWxjaTVmY21WaFkzUlNiMjkwUTI5dWRHRnBibVZ5S1NCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnZG1GeUlISnZiM1JGYkNBOUlHZGxkRkpsWVdOMFVtOXZkRVZzWlcxbGJuUkpia052Ym5SaGFXNWxjaWhqYjI1MFlXbHVaWElwTzF4dUlDQWdJQ0FnZG1GeUlISmxibVJsY21Wa1FubEVhV1ptWlhKbGJuUlNaV0ZqZENBOUlISnZiM1JGYkNBbUppQWhaMlYwU1c1emRHRnVZMlZHY205dFRtOWtaU1F4S0hKdmIzUkZiQ2s3WEc1Y2JpQWdJQ0FnSUdsbUlDaHlaVzVrWlhKbFpFSjVSR2xtWm1WeVpXNTBVbVZoWTNRcElIdGNiaUFnSUNBZ0lDQWdaWEp5YjNJb1hDSjFibTF2ZFc1MFEyOXRjRzl1Wlc1MFFYUk9iMlJsS0NrNklGUm9aU0J1YjJSbElIbHZkU2R5WlNCaGRIUmxiWEIwYVc1bklIUnZJSFZ1Ylc5MWJuUWdYQ0lnS3lBbmQyRnpJSEpsYm1SbGNtVmtJR0o1SUdGdWIzUm9aWElnWTI5d2VTQnZaaUJTWldGamRDNG5LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJQzh2SUZWdWJXOTFiblFnYzJodmRXeGtJRzV2ZENCaVpTQmlZWFJqYUdWa0xseHVYRzVjYmlBZ0lDQjFibUpoZEdOb1pXUlZjR1JoZEdWektHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJR3hsWjJGamVWSmxibVJsY2xOMVluUnlaV1ZKYm5SdlEyOXVkR0ZwYm1WeUtHNTFiR3dzSUc1MWJHd3NJR052Ym5SaGFXNWxjaXdnWm1Gc2MyVXNJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdKRVpzYjNkR2FYaE5aU0JVYUdseklITm9iM1ZzWkNCd2NtOWlZV0pzZVNCMWMyVWdZR1JsYkdWMFpTQmpiMjUwWVdsdVpYSXVYM0psWVdOMFVtOXZkRU52Ym5SaGFXNWxjbUJjYmlBZ0lDQWdJQ0FnWTI5dWRHRnBibVZ5TGw5eVpXRmpkRkp2YjNSRGIyNTBZV2x1WlhJZ1BTQnVkV3hzTzF4dUlDQWdJQ0FnSUNCMWJtMWhjbXREYjI1MFlXbHVaWEpCYzFKdmIzUW9ZMjl1ZEdGcGJtVnlLVHRjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDBwT3lBdkx5QkpaaUI1YjNVZ1kyRnNiQ0IxYm0xdmRXNTBRMjl0Y0c5dVpXNTBRWFJPYjJSbElIUjNhV05sSUdsdUlIRjFhV05ySUhOMVkyTmxjM05wYjI0c0lIbHZkU2RzYkZ4dUlDQWdJQzh2SUdkbGRDQmdkSEoxWldBZ2RIZHBZMlV1SUZSb1lYUW5jeUJ3Y205aVlXSnNlU0JtYVc1bFAxeHVYRzRnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkbUZ5SUY5eWIyOTBSV3dnUFNCblpYUlNaV0ZqZEZKdmIzUkZiR1Z0Wlc1MFNXNURiMjUwWVdsdVpYSW9ZMjl1ZEdGcGJtVnlLVHRjYmx4dUlDQWdJQ0FnZG1GeUlHaGhjMDV2YmxKdmIzUlNaV0ZqZEVOb2FXeGtJRDBnSVNFb1gzSnZiM1JGYkNBbUppQm5aWFJKYm5OMFlXNWpaVVp5YjIxT2IyUmxKREVvWDNKdmIzUkZiQ2twT3lBdkx5QkRhR1ZqYXlCcFppQjBhR1VnWTI5dWRHRnBibVZ5SUdsMGMyVnNaaUJwY3lCaElGSmxZV04wSUhKdmIzUWdibTlrWlM1Y2JseHVJQ0FnSUNBZ2RtRnlJR2x6UTI5dWRHRnBibVZ5VW1WaFkzUlNiMjkwSUQwZ1kyOXVkR0ZwYm1WeUxtNXZaR1ZVZVhCbElEMDlQU0JGVEVWTlJVNVVYMDVQUkVVZ0ppWWdhWE5XWVd4cFpFTnZiblJoYVc1bGNpaGpiMjUwWVdsdVpYSXVjR0Z5Wlc1MFRtOWtaU2tnSmlZZ0lTRmpiMjUwWVdsdVpYSXVjR0Z5Wlc1MFRtOWtaUzVmY21WaFkzUlNiMjkwUTI5dWRHRnBibVZ5TzF4dVhHNGdJQ0FnSUNCcFppQW9hR0Z6VG05dVVtOXZkRkpsWVdOMFEyaHBiR1FwSUh0Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvWENKMWJtMXZkVzUwUTI5dGNHOXVaVzUwUVhST2IyUmxLQ2s2SUZSb1pTQnViMlJsSUhsdmRTZHlaU0JoZEhSbGJYQjBhVzVuSUhSdklIVnViVzkxYm5RZ1hDSWdLeUFuZDJGeklISmxibVJsY21Wa0lHSjVJRkpsWVdOMElHRnVaQ0JwY3lCdWIzUWdZU0IwYjNBdGJHVjJaV3dnWTI5dWRHRnBibVZ5TGlBbGN5Y3NJR2x6UTI5dWRHRnBibVZ5VW1WaFkzUlNiMjkwSUQ4Z0oxbHZkU0J0WVhrZ2FHRjJaU0JoWTJOcFpHVnVkR0ZzYkhrZ2NHRnpjMlZrSUdsdUlHRWdVbVZoWTNRZ2NtOXZkQ0J1YjJSbElHbHVjM1JsWVdRZ0p5QXJJQ2R2WmlCcGRITWdZMjl1ZEdGcGJtVnlMaWNnT2lBblNXNXpkR1ZoWkN3Z2FHRjJaU0IwYUdVZ2NHRnlaVzUwSUdOdmJYQnZibVZ1ZENCMWNHUmhkR1VnYVhSeklITjBZWFJsSUdGdVpDQW5JQ3NnSjNKbGNtVnVaR1Z5SUdsdUlHOXlaR1Z5SUhSdklISmxiVzkyWlNCMGFHbHpJR052YlhCdmJtVnVkQzRuS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdZM0psWVhSbFVHOXlkR0ZzS0dOb2FXeGtjbVZ1TENCamIyNTBZV2x1WlhKSmJtWnZMQ0F2THlCVVQwUlBPaUJtYVdkMWNtVWdiM1YwSUhSb1pTQkJVRWtnWm05eUlHTnliM056TFhKbGJtUmxjbVZ5SUdsdGNHeGxiV1Z1ZEdGMGFXOXVMbHh1YVcxd2JHVnRaVzUwWVhScGIyNHBJSHRjYmlBZ2RtRnlJR3RsZVNBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnZ1BpQXpJQ1ltSUdGeVozVnRaVzUwYzFzelhTQWhQVDBnZFc1a1pXWnBibVZrSUQ4Z1lYSm5kVzFsYm5Seld6TmRJRG9nYm5Wc2JEdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQXZMeUJVYUdseklIUmhaeUJoYkd4dmR5QjFjeUIwYnlCMWJtbHhkV1ZzZVNCcFpHVnVkR2xtZVNCMGFHbHpJR0Z6SUdFZ1VtVmhZM1FnVUc5eWRHRnNYRzRnSUNBZ0pDUjBlWEJsYjJZNklGSkZRVU5VWDFCUFVsUkJURjlVV1ZCRkxGeHVJQ0FnSUd0bGVUb2dhMlY1SUQwOUlHNTFiR3dnUHlCdWRXeHNJRG9nSnljZ0t5QnJaWGtzWEc0Z0lDQWdZMmhwYkdSeVpXNDZJR05vYVd4a2NtVnVMRnh1SUNBZ0lHTnZiblJoYVc1bGNrbHVabTg2SUdOdmJuUmhhVzVsY2tsdVptOHNYRzRnSUNBZ2FXMXdiR1Z0Wlc1MFlYUnBiMjQ2SUdsdGNHeGxiV1Z1ZEdGMGFXOXVYRzRnSUgwN1hHNTlYRzVjYm5aaGNpQlNaV0ZqZEZabGNuTnBiMjRnUFNBbk1UWXVNVE11TVNjN1hHNWNibk5sZEVGMGRHVnRjSFJWYzJWeVFteHZZMnRwYm1kSWVXUnlZWFJwYjI0b1lYUjBaVzF3ZEZWelpYSkNiRzlqYTJsdVowaDVaSEpoZEdsdmJpUXhLVHRjYm5ObGRFRjBkR1Z0Y0hSRGIyNTBhVzUxYjNWelNIbGtjbUYwYVc5dUtHRjBkR1Z0Y0hSRGIyNTBhVzUxYjNWelNIbGtjbUYwYVc5dUpERXBPMXh1YzJWMFFYUjBaVzF3ZEVoNVpISmhkR2x2YmtGMFEzVnljbVZ1ZEZCeWFXOXlhWFI1S0dGMGRHVnRjSFJJZVdSeVlYUnBiMjVCZEVOMWNuSmxiblJRY21sdmNtbDBlU1F4S1R0Y2JuWmhjaUJrYVdSWFlYSnVRV0p2ZFhSVmJuTjBZV0pzWlVOeVpXRjBaVkJ2Y25SaGJDQTlJR1poYkhObE8xeHVYRzU3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdUV0Z3SUNFOVBTQW5ablZ1WTNScGIyNG5JSHg4SUM4dklDUkdiRzkzU1hOemRXVWdSbXh2ZHlCcGJtTnZjbkpsWTNSc2VTQjBhR2x1YTNNZ1RXRndJR2hoY3lCdWJ5QndjbTkwYjNSNWNHVmNiaUFnVFdGd0xuQnliM1J2ZEhsd1pTQTlQU0J1ZFd4c0lIeDhJSFI1Y0dWdlppQk5ZWEF1Y0hKdmRHOTBlWEJsTG1admNrVmhZMmdnSVQwOUlDZG1kVzVqZEdsdmJpY2dmSHdnZEhsd1pXOW1JRk5sZENBaFBUMGdKMloxYm1OMGFXOXVKeUI4ZkNBdkx5QWtSbXh2ZDBsemMzVmxJRVpzYjNjZ2FXNWpiM0p5WldOMGJIa2dkR2hwYm10eklGTmxkQ0JvWVhNZ2JtOGdjSEp2ZEc5MGVYQmxYRzRnSUZObGRDNXdjbTkwYjNSNWNHVWdQVDBnYm5Wc2JDQjhmQ0IwZVhCbGIyWWdVMlYwTG5CeWIzUnZkSGx3WlM1amJHVmhjaUFoUFQwZ0oyWjFibU4wYVc5dUp5QjhmQ0IwZVhCbGIyWWdVMlYwTG5CeWIzUnZkSGx3WlM1bWIzSkZZV05vSUNFOVBTQW5ablZ1WTNScGIyNG5LU0I3WEc0Z0lDQWdaWEp5YjNJb0oxSmxZV04wSUdSbGNHVnVaSE1nYjI0Z1RXRndJR0Z1WkNCVFpYUWdZblZwYkhRdGFXNGdkSGx3WlhNdUlFMWhhMlVnYzNWeVpTQjBhR0YwSUhsdmRTQnNiMkZrSUdFZ0p5QXJJQ2R3YjJ4NVptbHNiQ0JwYmlCdmJHUmxjaUJpY205M2MyVnljeTRnYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxd2IyeDVabWxzYkhNbktUdGNiaUFnZlZ4dWZWeHVYRzV6WlhSU1pYTjBiM0psU1cxd2JHVnRaVzUwWVhScGIyNG9jbVZ6ZEc5eVpVTnZiblJ5YjJ4c1pXUlRkR0YwWlNRektUdGNibk5sZEVKaGRHTm9hVzVuU1cxd2JHVnRaVzUwWVhScGIyNG9ZbUYwWTJobFpGVndaR0YwWlhNa01Td2daR2x6WTNKbGRHVlZjR1JoZEdWekpERXNJR1pzZFhOb1JHbHpZM0psZEdWVmNHUmhkR1Z6TENCaVlYUmphR1ZrUlhabGJuUlZjR1JoZEdWekpERXBPMXh1WEc1bWRXNWpkR2x2YmlCamNtVmhkR1ZRYjNKMFlXd2tNU2hqYUdsc1pISmxiaXdnWTI5dWRHRnBibVZ5S1NCN1hHNGdJSFpoY2lCclpYa2dQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTWlBbUppQmhjbWQxYldWdWRITmJNbDBnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR0Z5WjNWdFpXNTBjMXN5WFNBNklHNTFiR3c3WEc1Y2JpQWdhV1lnS0NGcGMxWmhiR2xrUTI5dWRHRnBibVZ5S0dOdmJuUmhhVzVsY2lrcElIdGNiaUFnSUNCN1hHNGdJQ0FnSUNCMGFISnZkeUJGY25KdmNpZ2dYQ0pVWVhKblpYUWdZMjl1ZEdGcGJtVnlJR2x6SUc1dmRDQmhJRVJQVFNCbGJHVnRaVzUwTGx3aUlDazdYRzRnSUNBZ2ZWeHVJQ0I5SUM4dklGUlBSRTg2SUhCaGMzTWdVbVZoWTNSRVQwMGdjRzl5ZEdGc0lHbHRjR3hsYldWdWRHRjBhVzl1SUdGeklIUm9hWEprSUdGeVozVnRaVzUwWEc0Z0lDOHZJQ1JHYkc5M1JtbDRUV1VnVkdobElFWnNiM2NnZEhsd1pTQnBjeUJ2Y0dGeGRXVWdZblYwSUhSb1pYSmxKM01nYm04Z2QyRjVJSFJ2SUdGamRIVmhiR3g1SUdOeVpXRjBaU0JwZEM1Y2JseHVYRzRnSUhKbGRIVnliaUJqY21WaGRHVlFiM0owWVd3b1kyaHBiR1J5Wlc0c0lHTnZiblJoYVc1bGNpd2diblZzYkN3Z2EyVjVLVHRjYm4xY2JseHVablZ1WTNScGIyNGdjbVZ1WkdWeVUzVmlkSEpsWlVsdWRHOURiMjUwWVdsdVpYSW9jR0Z5Wlc1MFEyOXRjRzl1Wlc1MExDQmxiR1Z0Wlc1MExDQmpiMjUwWVdsdVpYSk9iMlJsTENCallXeHNZbUZqYXlrZ2UxeHVYRzRnSUhKbGRIVnliaUIxYm5OMFlXSnNaVjl5Wlc1a1pYSlRkV0owY21WbFNXNTBiME52Ym5SaGFXNWxjaWh3WVhKbGJuUkRiMjF3YjI1bGJuUXNJR1ZzWlcxbGJuUXNJR052Ym5SaGFXNWxjazV2WkdVc0lHTmhiR3hpWVdOcktUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNXpkR0ZpYkdWZlkzSmxZWFJsVUc5eWRHRnNLR05vYVd4a2NtVnVMQ0JqYjI1MFlXbHVaWElwSUh0Y2JpQWdkbUZ5SUd0bGVTQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ2dQaUF5SUNZbUlHRnlaM1Z0Wlc1MGMxc3lYU0FoUFQwZ2RXNWtaV1pwYm1Wa0lEOGdZWEpuZFcxbGJuUnpXekpkSURvZ2JuVnNiRHRjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLQ0ZrYVdSWFlYSnVRV0p2ZFhSVmJuTjBZV0pzWlVOeVpXRjBaVkJ2Y25SaGJDa2dlMXh1SUNBZ0lDQWdaR2xrVjJGeWJrRmliM1YwVlc1emRHRmliR1ZEY21WaGRHVlFiM0owWVd3Z1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNCM1lYSnVLQ2RVYUdVZ1VtVmhZM1JFVDAwdWRXNXpkR0ZpYkdWZlkzSmxZWFJsVUc5eWRHRnNLQ2tnWVd4cFlYTWdhR0Z6SUdKbFpXNGdaR1Z3Y21WallYUmxaQ3dnSnlBcklDZGhibVFnZDJsc2JDQmlaU0J5WlcxdmRtVmtJR2x1SUZKbFlXTjBJREUzS3k0Z1ZYQmtZWFJsSUhsdmRYSWdZMjlrWlNCMGJ5QjFjMlVnSnlBcklDZFNaV0ZqZEVSUFRTNWpjbVZoZEdWUWIzSjBZV3dvS1NCcGJuTjBaV0ZrTGlCSmRDQm9ZWE1nZEdobElHVjRZV04wSUhOaGJXVWdRVkJKTENBbklDc2dKMkoxZENCM2FYUm9iM1YwSUhSb1pTQmNJblZ1YzNSaFlteGxYMXdpSUhCeVpXWnBlQzRuS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnWTNKbFlYUmxVRzl5ZEdGc0pERW9ZMmhwYkdSeVpXNHNJR052Ym5SaGFXNWxjaXdnYTJWNUtUdGNibjFjYmx4dWRtRnlJRWx1ZEdWeWJtRnNjeUE5SUh0Y2JpQWdMeThnUzJWbGNDQnBiaUJ6ZVc1aklIZHBkR2dnVW1WaFkzUkVUMDFWYm5OMFlXSnNaVTVoZEdsMlpVUmxjR1Z1WkdWdVkybGxjeTVxYzF4dUlDQXZMeUJTWldGamRGUmxjM1JWZEdsc2N5NXFjeXdnWVc1a0lGSmxZV04wVkdWemRGVjBhV3h6UVdOMExtcHpMaUJVYUdseklHbHpJR0Z1SUdGeWNtRjVJR1p2Y2lCaVpYUjBaWElnYldsdWFXWnBZMkYwYVc5dUxseHVJQ0JGZG1WdWRITTZJRnRuWlhSSmJuTjBZVzVqWlVaeWIyMU9iMlJsSkRFc0lHZGxkRTV2WkdWR2NtOXRTVzV6ZEdGdVkyVWtNU3dnWjJWMFJtbGlaWEpEZFhKeVpXNTBVSEp2Y0hOR2NtOXRUbTlrWlNReExDQnBibXBsWTNSRmRtVnVkRkJzZFdkcGJuTkNlVTVoYldVc0lHVjJaVzUwVG1GdFpVUnBjM0JoZEdOb1EyOXVabWxuY3l3Z1lXTmpkVzExYkdGMFpWUjNiMUJvWVhObFJHbHpjR0YwWTJobGN5d2dZV05qZFcxMWJHRjBaVVJwY21WamRFUnBjM0JoZEdOb1pYTXNJR1Z1Y1hWbGRXVlRkR0YwWlZKbGMzUnZjbVVzSUhKbGMzUnZjbVZUZEdGMFpVbG1UbVZsWkdWa0xDQmthWE53WVhSamFFVjJaVzUwTENCeWRXNUZkbVZ1ZEhOSmJrSmhkR05vTENCbWJIVnphRkJoYzNOcGRtVkZabVpsWTNSekxDQkpjMVJvYVhOU1pXNWtaWEpsY2tGamRHbHVaMTFjYm4wN1hHNTJZWElnWm05MWJtUkVaWFpVYjI5c2N5QTlJR2x1YW1WamRFbHVkRzlFWlhaVWIyOXNjeWg3WEc0Z0lHWnBibVJHYVdKbGNrSjVTRzl6ZEVsdWMzUmhibU5sT2lCblpYUkRiRzl6WlhOMFNXNXpkR0Z1WTJWR2NtOXRUbTlrWlN4Y2JpQWdZblZ1Wkd4bFZIbHdaVG9nSURFZ0xGeHVJQ0IyWlhKemFXOXVPaUJTWldGamRGWmxjbk5wYjI0c1hHNGdJSEpsYm1SbGNtVnlVR0ZqYTJGblpVNWhiV1U2SUNkeVpXRmpkQzFrYjIwblhHNTlLVHRjYmx4dWUxeHVJQ0JwWmlBb0lXWnZkVzVrUkdWMlZHOXZiSE1nSmlZZ1kyRnVWWE5sUkU5TklDWW1JSGRwYm1SdmR5NTBiM0FnUFQwOUlIZHBibVJ2ZHk1elpXeG1LU0I3WEc0Z0lDQWdMeThnU1dZZ2QyVW5jbVVnYVc0Z1EyaHliMjFsSUc5eUlFWnBjbVZtYjNnc0lIQnliM1pwWkdVZ1lTQmtiM2R1Ykc5aFpDQnNhVzVySUdsbUlHNXZkQ0JwYm5OMFlXeHNaV1F1WEc0Z0lDQWdhV1lnS0c1aGRtbG5ZWFJ2Y2k1MWMyVnlRV2RsYm5RdWFXNWtaWGhQWmlnblEyaHliMjFsSnlrZ1BpQXRNU0FtSmlCdVlYWnBaMkYwYjNJdWRYTmxja0ZuWlc1MExtbHVaR1Y0VDJZb0owVmtaMlVuS1NBOVBUMGdMVEVnZkh3Z2JtRjJhV2RoZEc5eUxuVnpaWEpCWjJWdWRDNXBibVJsZUU5bUtDZEdhWEpsWm05NEp5a2dQaUF0TVNrZ2UxeHVJQ0FnSUNBZ2RtRnlJSEJ5YjNSdlkyOXNJRDBnZDJsdVpHOTNMbXh2WTJGMGFXOXVMbkJ5YjNSdlkyOXNPeUF2THlCRWIyNG5kQ0IzWVhKdUlHbHVJR1Y0YjNScFl5QmpZWE5sY3lCc2FXdGxJR05vY205dFpTMWxlSFJsYm5OcGIyNDZMeTh1WEc1Y2JpQWdJQ0FnSUdsbUlDZ3ZYaWhvZEhSd2N6OThabWxzWlNrNkpDOHVkR1Z6ZENod2NtOTBiMk52YkNrcElIdGNiaUFnSUNBZ0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEpsWVdOMExXbHVkR1Z5Ym1Gc0wyNXZMWEJ5YjJSMVkzUnBiMjR0Ykc5bloybHVaMXh1SUNBZ0lDQWdJQ0JqYjI1emIyeGxMbWx1Wm04b0p5VmpSRzkzYm14dllXUWdkR2hsSUZKbFlXTjBJRVJsZGxSdmIyeHpJQ2NnS3lBblptOXlJR0VnWW1WMGRHVnlJR1JsZG1Wc2IzQnRaVzUwSUdWNGNHVnlhV1Z1WTJVNklDY2dLeUFuYUhSMGNITTZMeTltWWk1dFpTOXlaV0ZqZEMxa1pYWjBiMjlzY3ljZ0t5QW9jSEp2ZEc5amIyd2dQVDA5SUNkbWFXeGxPaWNnUHlBblhGeHVXVzkxSUcxcFoyaDBJRzVsWldRZ2RHOGdkWE5sSUdFZ2JHOWpZV3dnU0ZSVVVDQnpaWEoyWlhJZ0tHbHVjM1JsWVdRZ2IyWWdabWxzWlRvdkx5azZJQ2NnS3lBbmFIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMWtaWFowYjI5c2N5MW1ZWEVuSURvZ0p5Y3BMQ0FuWm05dWRDMTNaV2xuYUhRNlltOXNaQ2NwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1WEc1bGVIQnZjblJ6TGw5ZlUwVkRVa1ZVWDBsT1ZFVlNUa0ZNVTE5RVQxOU9UMVJmVlZORlgwOVNYMWxQVlY5WFNVeE1YMEpGWDBaSlVrVkVJRDBnU1c1MFpYSnVZV3h6TzF4dVpYaHdiM0owY3k1amNtVmhkR1ZRYjNKMFlXd2dQU0JqY21WaGRHVlFiM0owWVd3a01UdGNibVY0Y0c5eWRITXVabWx1WkVSUFRVNXZaR1VnUFNCbWFXNWtSRTlOVG05a1pUdGNibVY0Y0c5eWRITXVabXgxYzJoVGVXNWpJRDBnWm14MWMyaFRlVzVqTzF4dVpYaHdiM0owY3k1b2VXUnlZWFJsSUQwZ2FIbGtjbUYwWlR0Y2JtVjRjRzl5ZEhNdWNtVnVaR1Z5SUQwZ2NtVnVaR1Z5TzF4dVpYaHdiM0owY3k1MWJtMXZkVzUwUTI5dGNHOXVaVzUwUVhST2IyUmxJRDBnZFc1dGIzVnVkRU52YlhCdmJtVnVkRUYwVG05a1pUdGNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZZbUYwWTJobFpGVndaR0YwWlhNZ1BTQmlZWFJqYUdWa1ZYQmtZWFJsY3lReE8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOWpjbVZoZEdWUWIzSjBZV3dnUFNCMWJuTjBZV0pzWlY5amNtVmhkR1ZRYjNKMFlXdzdYRzVsZUhCdmNuUnpMblZ1YzNSaFlteGxYM0psYm1SbGNsTjFZblJ5WldWSmJuUnZRMjl1ZEdGcGJtVnlJRDBnY21WdVpHVnlVM1ZpZEhKbFpVbHVkRzlEYjI1MFlXbHVaWEk3WEc1bGVIQnZjblJ6TG5abGNuTnBiMjRnUFNCU1pXRmpkRlpsY25OcGIyNDdYRzRnSUgwcEtDazdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vY2pzL3JlYWN0LWRvbS5kZXZlbG9wbWVudC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmZ1bmN0aW9uIGNoZWNrRENFKCkge1xcbiAgLyogZ2xvYmFsIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyAqL1xcbiAgaWYgKFxcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fID09PSAndW5kZWZpbmVkJyB8fFxcbiAgICB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFICE9PSAnZnVuY3Rpb24nXFxuICApIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcbiAgaWYgKHRydWUpIHtcXG4gICAgLy8gVGhpcyBicmFuY2ggaXMgdW5yZWFjaGFibGUgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkgY2FsbGVkXFxuICAgIC8vIGluIHByb2R1Y3Rpb24sIGJ1dCB0aGUgY29uZGl0aW9uIGlzIHRydWUgb25seSBpbiBkZXZlbG9wbWVudC5cXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxcbiAgICAvLyBwcm9wZXJseSBhcHBsaWVkLlxcbiAgICAvLyBEb24ndCBjaGFuZ2UgdGhlIG1lc3NhZ2UuIFJlYWN0IERldlRvb2xzIHJlbGllcyBvbiBpdC4gQWxzbyBtYWtlIHN1cmVcXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcXG4gICAgLy8gYSBmYWxzZSBwb3NpdGl2ZS5cXG4gICAgdGhyb3cgbmV3IEVycm9yKCdeX14nKTtcXG4gIH1cXG4gIHRyeSB7XFxuICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBjb2RlIGFib3ZlIGhhcyBiZWVuIGRlYWQgY29kZSBlbGltaW5hdGVkIChEQ0UnZCkuXFxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XFxuICB9IGNhdGNoIChlcnIpIHtcXG4gICAgLy8gRGV2VG9vbHMgc2hvdWxkbid0IGNyYXNoIFJlYWN0LCBubyBtYXR0ZXIgd2hhdC5cXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cXG4gICAgY29uc29sZS5lcnJvcihlcnIpO1xcbiAgfVxcbn1cXG5cXG5pZiAoZmFsc2UpIHt9IGVsc2Uge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLmRldmVsb3BtZW50LmpzXFxcIik7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmpkQzFrYjIwdmFXNWtaWGd1YW5NL01tRTBOQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCWVRzN1FVRkZZanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1RVRkJUU3hKUVVGeFF6dEJRVU16UXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hKUVVGSkxFdEJRWEZETEVWQlFVVXNSVUZMTVVNN1FVRkRSQ3h0UWtGQmJVSXNiVUpCUVU4c1EwRkJReXcyUmtGQlowTTdRVUZETTBRaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12Y21WaFkzUXRaRzl0TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lKM1Z6WlNCemRISnBZM1FuTzF4dVhHNW1kVzVqZEdsdmJpQmphR1ZqYTBSRFJTZ3BJSHRjYmlBZ0x5b2daMnh2WW1Gc0lGOWZVa1ZCUTFSZlJFVldWRTlQVEZOZlIweFBRa0ZNWDBoUFQwdGZYeUFxTDF4dUlDQnBaaUFvWEc0Z0lDQWdkSGx3Wlc5bUlGOWZVa1ZCUTFSZlJFVldWRTlQVEZOZlIweFBRa0ZNWDBoUFQwdGZYeUE5UFQwZ0ozVnVaR1ZtYVc1bFpDY2dmSHhjYmlBZ0lDQjBlWEJsYjJZZ1gxOVNSVUZEVkY5RVJWWlVUMDlNVTE5SFRFOUNRVXhmU0U5UFMxOWZMbU5vWldOclJFTkZJQ0U5UFNBblpuVnVZM1JwYjI0blhHNGdJQ2tnZTF4dUlDQWdJSEpsZEhWeWJqdGNiaUFnZlZ4dUlDQnBaaUFvY0hKdlkyVnpjeTVsYm5ZdVRrOUVSVjlGVGxZZ0lUMDlJQ2R3Y205a2RXTjBhVzl1SnlrZ2UxeHVJQ0FnSUM4dklGUm9hWE1nWW5KaGJtTm9JR2x6SUhWdWNtVmhZMmhoWW14bElHSmxZMkYxYzJVZ2RHaHBjeUJtZFc1amRHbHZiaUJwY3lCdmJteDVJR05oYkd4bFpGeHVJQ0FnSUM4dklHbHVJSEJ5YjJSMVkzUnBiMjRzSUdKMWRDQjBhR1VnWTI5dVpHbDBhVzl1SUdseklIUnlkV1VnYjI1c2VTQnBiaUJrWlhabGJHOXdiV1Z1ZEM1Y2JpQWdJQ0F2THlCVWFHVnlaV1p2Y21VZ2FXWWdkR2hsSUdKeVlXNWphQ0JwY3lCemRHbHNiQ0JvWlhKbExDQmtaV0ZrSUdOdlpHVWdaV3hwYldsdVlYUnBiMjRnZDJGemJpZDBYRzRnSUNBZ0x5OGdjSEp2Y0dWeWJIa2dZWEJ3YkdsbFpDNWNiaUFnSUNBdkx5QkViMjRuZENCamFHRnVaMlVnZEdobElHMWxjM05oWjJVdUlGSmxZV04wSUVSbGRsUnZiMnh6SUhKbGJHbGxjeUJ2YmlCcGRDNGdRV3h6YnlCdFlXdGxJSE4xY21WY2JpQWdJQ0F2THlCMGFHbHpJRzFsYzNOaFoyVWdaRzlsYzI0bmRDQnZZMk4xY2lCbGJITmxkMmhsY21VZ2FXNGdkR2hwY3lCbWRXNWpkR2x2Yml3Z2IzSWdhWFFnZDJsc2JDQmpZWFZ6WlZ4dUlDQWdJQzh2SUdFZ1ptRnNjMlVnY0c5emFYUnBkbVV1WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGVYMTRuS1R0Y2JpQWdmVnh1SUNCMGNua2dlMXh1SUNBZ0lDOHZJRlpsY21sbWVTQjBhR0YwSUhSb1pTQmpiMlJsSUdGaWIzWmxJR2hoY3lCaVpXVnVJR1JsWVdRZ1kyOWtaU0JsYkdsdGFXNWhkR1ZrSUNoRVEwVW5aQ2t1WEc0Z0lDQWdYMTlTUlVGRFZGOUVSVlpVVDA5TVUxOUhURTlDUVV4ZlNFOVBTMTlmTG1Ob1pXTnJSRU5GS0dOb1pXTnJSRU5GS1R0Y2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnTHk4Z1JHVjJWRzl2YkhNZ2MyaHZkV3hrYmlkMElHTnlZWE5vSUZKbFlXTjBMQ0J1YnlCdFlYUjBaWElnZDJoaGRDNWNiaUFnSUNBdkx5QlhaU0J6YUc5MWJHUWdjM1JwYkd3Z2NtVndiM0owSUdsdUlHTmhjMlVnZDJVZ1luSmxZV3NnZEdocGN5QmpiMlJsTGx4dUlDQWdJR052Ym5OdmJHVXVaWEp5YjNJb1pYSnlLVHRjYmlBZ2ZWeHVmVnh1WEc1cFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnUFQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQXZMeUJFUTBVZ1kyaGxZMnNnYzJodmRXeGtJR2hoY0hCbGJpQmlaV1p2Y21VZ1VtVmhZM1JFVDAwZ1luVnVaR3hsSUdWNFpXTjFkR1Z6SUhOdklIUm9ZWFJjYmlBZ0x5OGdSR1YyVkc5dmJITWdZMkZ1SUhKbGNHOXlkQ0JpWVdRZ2JXbHVhV1pwWTJGMGFXOXVJR1IxY21sdVp5QnBibXBsWTNScGIyNHVYRzRnSUdOb1pXTnJSRU5GS0NrN1hHNGdJRzF2WkhWc1pTNWxlSEJ2Y25SeklEMGdjbVZ4ZFdseVpTZ25MaTlqYW5NdmNtVmhZM1F0Wkc5dExuQnliMlIxWTNScGIyNHViV2x1TG1wekp5azdYRzU5SUdWc2MyVWdlMXh1SUNCdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSnk0dlkycHpMM0psWVdOMExXUnZiUzVrWlhabGJHOXdiV1Z1ZEM1cWN5Y3BPMXh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLyoqIEBsaWNlbnNlIFJlYWN0IHYxNi4xMy4xXFxuICogcmVhY3QuZGV2ZWxvcG1lbnQuanNcXG4gKlxcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxcbiAqXFxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXFxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxcbiAqL1xcblxcblxcblxcblxcblxcbmlmICh0cnVlKSB7XFxuICAoZnVuY3Rpb24oKSB7XFxuJ3VzZSBzdHJpY3QnO1xcblxcbnZhciBfYXNzaWduID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgb2JqZWN0LWFzc2lnbiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qc1xcXCIpO1xcbnZhciBjaGVja1Byb3BUeXBlcyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHByb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanNcXFwiKTtcXG5cXG52YXIgUmVhY3RWZXJzaW9uID0gJzE2LjEzLjEnO1xcblxcbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXFxuLy8gbm9yIHBvbHlmaWxsLCB0aGVuIGEgcGxhaW4gbnVtYmVyIGlzIHVzZWQgZm9yIHBlcmZvcm1hbmNlLlxcbnZhciBoYXNTeW1ib2wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5mb3I7XFxudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcXG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKSA6IDB4ZWFjYTtcXG52YXIgUkVBQ1RfRlJBR01FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZyYWdtZW50JykgOiAweGVhY2I7XFxudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKSA6IDB4ZWFkMjtcXG52YXIgUkVBQ1RfUFJPVklERVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnByb3ZpZGVyJykgOiAweGVhY2Q7XFxudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XFxudmFyIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29uY3VycmVudF9tb2RlJykgOiAweGVhY2Y7XFxudmFyIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mb3J3YXJkX3JlZicpIDogMHhlYWQwO1xcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKSA6IDB4ZWFkMTtcXG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpIDogMHhlYWQ4O1xcbnZhciBSRUFDVF9NRU1PX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5tZW1vJykgOiAweGVhZDM7XFxudmFyIFJFQUNUX0xBWllfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKSA6IDB4ZWFkNDtcXG52YXIgUkVBQ1RfQkxPQ0tfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmJsb2NrJykgOiAweGVhZDk7XFxudmFyIFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mdW5kYW1lbnRhbCcpIDogMHhlYWQ1O1xcbnZhciBSRUFDVF9SRVNQT05ERVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnJlc3BvbmRlcicpIDogMHhlYWQ2O1xcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKSA6IDB4ZWFkNztcXG52YXIgTUFZQkVfSVRFUkFUT1JfU1lNQk9MID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaXRlcmF0b3I7XFxudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xcbiAgaWYgKG1heWJlSXRlcmFibGUgPT09IG51bGwgfHwgdHlwZW9mIG1heWJlSXRlcmFibGUgIT09ICdvYmplY3QnKSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xcblxcbiAgaWYgKHR5cGVvZiBtYXliZUl0ZXJhdG9yID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xcbiAgfVxcblxcbiAgcmV0dXJuIG51bGw7XFxufVxcblxcbi8qKlxcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXFxuICovXFxudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSB7XFxuICAvKipcXG4gICAqIEBpbnRlcm5hbFxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxcbiAgICovXFxuICBjdXJyZW50OiBudWxsXFxufTtcXG5cXG4vKipcXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBiYXRjaCdzIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBob3cgbG9uZyBhbiB1cGRhdGVcXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXFxuICovXFxudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnID0ge1xcbiAgc3VzcGVuc2U6IG51bGxcXG59O1xcblxcbi8qKlxcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IG93bmVyLlxcbiAqXFxuICogVGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIGNvbXBvbmVudCB3aG8gc2hvdWxkIG93biBhbnkgY29tcG9uZW50cyB0aGF0IGFyZVxcbiAqIGN1cnJlbnRseSBiZWluZyBjb25zdHJ1Y3RlZC5cXG4gKi9cXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSB7XFxuICAvKipcXG4gICAqIEBpbnRlcm5hbFxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxcbiAgICovXFxuICBjdXJyZW50OiBudWxsXFxufTtcXG5cXG52YXIgQkVGT1JFX1NMQVNIX1JFID0gL14oLiopW1xcXFxcXFxcXFxcXC9dLztcXG5mdW5jdGlvbiBkZXNjcmliZUNvbXBvbmVudEZyYW1lIChuYW1lLCBzb3VyY2UsIG93bmVyTmFtZSkge1xcbiAgdmFyIHNvdXJjZUluZm8gPSAnJztcXG5cXG4gIGlmIChzb3VyY2UpIHtcXG4gICAgdmFyIHBhdGggPSBzb3VyY2UuZmlsZU5hbWU7XFxuICAgIHZhciBmaWxlTmFtZSA9IHBhdGgucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcXG5cXG4gICAge1xcbiAgICAgIC8vIEluIERFViwgaW5jbHVkZSBjb2RlIGZvciBhIGNvbW1vbiBzcGVjaWFsIGNhc2U6XFxuICAgICAgLy8gcHJlZmVyIFxcXCJmb2xkZXIvaW5kZXguanNcXFwiIGluc3RlYWQgb2YganVzdCBcXFwiaW5kZXguanNcXFwiLlxcbiAgICAgIGlmICgvXmluZGV4XFxcXC4vLnRlc3QoZmlsZU5hbWUpKSB7XFxuICAgICAgICB2YXIgbWF0Y2ggPSBwYXRoLm1hdGNoKEJFRk9SRV9TTEFTSF9SRSk7XFxuXFxuICAgICAgICBpZiAobWF0Y2gpIHtcXG4gICAgICAgICAgdmFyIHBhdGhCZWZvcmVTbGFzaCA9IG1hdGNoWzFdO1xcblxcbiAgICAgICAgICBpZiAocGF0aEJlZm9yZVNsYXNoKSB7XFxuICAgICAgICAgICAgdmFyIGZvbGRlck5hbWUgPSBwYXRoQmVmb3JlU2xhc2gucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcXG4gICAgICAgICAgICBmaWxlTmFtZSA9IGZvbGRlck5hbWUgKyAnLycgKyBmaWxlTmFtZTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBzb3VyY2VJbmZvID0gJyAoYXQgJyArIGZpbGVOYW1lICsgJzonICsgc291cmNlLmxpbmVOdW1iZXIgKyAnKSc7XFxuICB9IGVsc2UgaWYgKG93bmVyTmFtZSkge1xcbiAgICBzb3VyY2VJbmZvID0gJyAoY3JlYXRlZCBieSAnICsgb3duZXJOYW1lICsgJyknO1xcbiAgfVxcblxcbiAgcmV0dXJuICdcXFxcbiAgICBpbiAnICsgKG5hbWUgfHwgJ1Vua25vd24nKSArIHNvdXJjZUluZm87XFxufVxcblxcbnZhciBSZXNvbHZlZCA9IDE7XFxuZnVuY3Rpb24gcmVmaW5lUmVzb2x2ZWRMYXp5Q29tcG9uZW50KGxhenlDb21wb25lbnQpIHtcXG4gIHJldHVybiBsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFJlc29sdmVkID8gbGF6eUNvbXBvbmVudC5fcmVzdWx0IDogbnVsbDtcXG59XFxuXFxuZnVuY3Rpb24gZ2V0V3JhcHBlZE5hbWUob3V0ZXJUeXBlLCBpbm5lclR5cGUsIHdyYXBwZXJOYW1lKSB7XFxuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xcbiAgcmV0dXJuIG91dGVyVHlwZS5kaXNwbGF5TmFtZSB8fCAoZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXFxcIihcXFwiICsgZnVuY3Rpb25OYW1lICsgXFxcIilcXFwiIDogd3JhcHBlck5hbWUpO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKHR5cGUpIHtcXG4gIGlmICh0eXBlID09IG51bGwpIHtcXG4gICAgLy8gSG9zdCByb290LCB0ZXh0IG5vZGUgb3IganVzdCBpbnZhbGlkIHR5cGUuXFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcblxcbiAge1xcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xcbiAgICAgIGVycm9yKCdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIG9iamVjdCBpbiBnZXRDb21wb25lbnROYW1lKCkuICcgKyAnVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicpO1xcbiAgICB9XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XFxuICB9XFxuXFxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XFxuICAgIHJldHVybiB0eXBlO1xcbiAgfVxcblxcbiAgc3dpdGNoICh0eXBlKSB7XFxuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcXG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcXG5cXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcXG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcXG4gICAgICByZXR1cm4gXFxcIlByb2ZpbGVyXFxcIjtcXG5cXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxcbiAgICAgIHJldHVybiAnU3RyaWN0TW9kZSc7XFxuXFxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcXG4gICAgICByZXR1cm4gJ1N1c3BlbnNlJztcXG5cXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XFxuICAgICAgcmV0dXJuICdTdXNwZW5zZUxpc3QnO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0Jykge1xcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcXG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcXG4gICAgICAgIHJldHVybiAnQ29udGV4dC5Db25zdW1lcic7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxcbiAgICAgICAgcmV0dXJuICdDb250ZXh0LlByb3ZpZGVyJztcXG5cXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0V3JhcHBlZE5hbWUodHlwZSwgdHlwZS5yZW5kZXIsICdGb3J3YXJkUmVmJyk7XFxuXFxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XFxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnR5cGUpO1xcblxcbiAgICAgIGNhc2UgUkVBQ1RfQkxPQ0tfVFlQRTpcXG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHR5cGUucmVuZGVyKTtcXG5cXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcXG4gICAgICAgIHtcXG4gICAgICAgICAgdmFyIHRoZW5hYmxlID0gdHlwZTtcXG4gICAgICAgICAgdmFyIHJlc29sdmVkVGhlbmFibGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQodGhlbmFibGUpO1xcblxcbiAgICAgICAgICBpZiAocmVzb2x2ZWRUaGVuYWJsZSkge1xcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHJlc29sdmVkVGhlbmFibGUpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIGJyZWFrO1xcbiAgICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbnVsbDtcXG59XFxuXFxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSB7fTtcXG52YXIgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBudWxsO1xcbmZ1bmN0aW9uIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpIHtcXG4gIHtcXG4gICAgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBlbGVtZW50O1xcbiAgfVxcbn1cXG5cXG57XFxuICAvLyBTdGFjayBpbXBsZW1lbnRhdGlvbiBpbmplY3RlZCBieSB0aGUgY3VycmVudCByZW5kZXJlci5cXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcXG5cXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSA9IGZ1bmN0aW9uICgpIHtcXG4gICAgdmFyIHN0YWNrID0gJyc7IC8vIEFkZCBhbiBleHRyYSB0b3AgZnJhbWUgd2hpbGUgYW4gZWxlbWVudCBpcyBiZWluZyB2YWxpZGF0ZWRcXG5cXG4gICAgaWYgKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KSB7XFxuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50LnR5cGUpO1xcbiAgICAgIHZhciBvd25lciA9IGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50Ll9vd25lcjtcXG4gICAgICBzdGFjayArPSBkZXNjcmliZUNvbXBvbmVudEZyYW1lKG5hbWUsIGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50Ll9zb3VyY2UsIG93bmVyICYmIGdldENvbXBvbmVudE5hbWUob3duZXIudHlwZSkpO1xcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxcblxcblxcbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xcblxcbiAgICBpZiAoaW1wbCkge1xcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcXG4gICAgfVxcblxcbiAgICByZXR1cm4gc3RhY2s7XFxuICB9O1xcbn1cXG5cXG4vKipcXG4gKiBVc2VkIGJ5IGFjdCgpIHRvIHRyYWNrIHdoZXRoZXIgeW91J3JlIGluc2lkZSBhbiBhY3QoKSBzY29wZS5cXG4gKi9cXG52YXIgSXNTb21lUmVuZGVyZXJBY3RpbmcgPSB7XFxuICBjdXJyZW50OiBmYWxzZVxcbn07XFxuXFxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0ge1xcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcXG4gIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyxcXG4gIFJlYWN0Q3VycmVudE93bmVyOiBSZWFjdEN1cnJlbnRPd25lcixcXG4gIElzU29tZVJlbmRlcmVyQWN0aW5nOiBJc1NvbWVSZW5kZXJlckFjdGluZyxcXG4gIC8vIFVzZWQgYnkgcmVuZGVyZXJzIHRvIGF2b2lkIGJ1bmRsaW5nIG9iamVjdC1hc3NpZ24gdHdpY2UgaW4gVU1EIGJ1bmRsZXM6XFxuICBhc3NpZ246IF9hc3NpZ25cXG59O1xcblxcbntcXG4gIF9hc3NpZ24oUmVhY3RTaGFyZWRJbnRlcm5hbHMsIHtcXG4gICAgLy8gVGhlc2Ugc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiBwcm9kdWN0aW9uLlxcbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lOiBSZWFjdERlYnVnQ3VycmVudEZyYW1lLFxcbiAgICAvLyBTaGltIGZvciBSZWFjdCBET00gMTYuMC4wIHdoaWNoIHN0aWxsIGRlc3RydWN0dXJlZCAoYnV0IG5vdCB1c2VkKSB0aGlzLlxcbiAgICAvLyBUT0RPOiByZW1vdmUgaW4gUmVhY3QgMTcuMC5cXG4gICAgUmVhY3RDb21wb25lbnRUcmVlSG9vazoge31cXG4gIH0pO1xcbn1cXG5cXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxcbi8vXFxuLy8gSW4gUFJPRCAob3IgaW4gcGFja2FnZXMgd2l0aG91dCBhY2Nlc3MgdG8gUmVhY3QgaW50ZXJuYWxzKSxcXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXFxuXFxuZnVuY3Rpb24gd2Fybihmb3JtYXQpIHtcXG4gIHtcXG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xcbiAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xcbiAgICB9XFxuXFxuICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xcbiAge1xcbiAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xcbiAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XFxuICAgIH1cXG5cXG4gICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XFxuICAvLyBXaGVuIGNoYW5naW5nIHRoaXMgbG9naWMsIHlvdSBtaWdodCB3YW50IHRvIGFsc29cXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxcbiAge1xcbiAgICB2YXIgaGFzRXhpc3RpbmdTdGFjayA9IGFyZ3MubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnc1thcmdzLmxlbmd0aCAtIDFdID09PSAnc3RyaW5nJyAmJiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0uaW5kZXhPZignXFxcXG4gICAgaW4nKSA9PT0gMDtcXG5cXG4gICAgaWYgKCFoYXNFeGlzdGluZ1N0YWNrKSB7XFxuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xcbiAgICAgIHZhciBzdGFjayA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSgpO1xcblxcbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcXG4gICAgICAgIGZvcm1hdCArPSAnJXMnO1xcbiAgICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xcbiAgICAgIHJldHVybiAnJyArIGl0ZW07XFxuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxcblxcbiAgICBhcmdzV2l0aEZvcm1hdC51bnNoaWZ0KCdXYXJuaW5nOiAnICsgZm9ybWF0KTsgLy8gV2UgaW50ZW50aW9uYWxseSBkb24ndCB1c2Ugc3ByZWFkIChvciAuYXBwbHkpIGRpcmVjdGx5IGJlY2F1c2UgaXRcXG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXFxuXFxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxcbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XFxuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XFxuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcXG4gICAgICB9KTtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XFxuICAgIH0gY2F0Y2ggKHgpIHt9XFxuICB9XFxufVxcblxcbnZhciBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQgPSB7fTtcXG5cXG5mdW5jdGlvbiB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgY2FsbGVyTmFtZSkge1xcbiAge1xcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XFxuICAgIHZhciBjb21wb25lbnROYW1lID0gX2NvbnN0cnVjdG9yICYmIChfY29uc3RydWN0b3IuZGlzcGxheU5hbWUgfHwgX2NvbnN0cnVjdG9yLm5hbWUpIHx8ICdSZWFjdENsYXNzJztcXG4gICAgdmFyIHdhcm5pbmdLZXkgPSBjb21wb25lbnROYW1lICsgXFxcIi5cXFwiICsgY2FsbGVyTmFtZTtcXG5cXG4gICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudFt3YXJuaW5nS2V5XSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICBlcnJvcihcXFwiQ2FuJ3QgY2FsbCAlcyBvbiBhIGNvbXBvbmVudCB0aGF0IGlzIG5vdCB5ZXQgbW91bnRlZC4gXFxcIiArICdUaGlzIGlzIGEgbm8tb3AsIGJ1dCBpdCBtaWdodCBpbmRpY2F0ZSBhIGJ1ZyBpbiB5b3VyIGFwcGxpY2F0aW9uLiAnICsgJ0luc3RlYWQsIGFzc2lnbiB0byBgdGhpcy5zdGF0ZWAgZGlyZWN0bHkgb3IgZGVmaW5lIGEgYHN0YXRlID0ge307YCAnICsgJ2NsYXNzIHByb3BlcnR5IHdpdGggdGhlIGRlc2lyZWQgc3RhdGUgaW4gdGhlICVzIGNvbXBvbmVudC4nLCBjYWxsZXJOYW1lLCBjb21wb25lbnROYW1lKTtcXG5cXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcXG4gIH1cXG59XFxuLyoqXFxuICogVGhpcyBpcyB0aGUgYWJzdHJhY3QgQVBJIGZvciBhbiB1cGRhdGUgcXVldWUuXFxuICovXFxuXFxuXFxudmFyIFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlID0ge1xcbiAgLyoqXFxuICAgKiBDaGVja3Mgd2hldGhlciBvciBub3QgdGhpcyBjb21wb3NpdGUgY29tcG9uZW50IGlzIG1vdW50ZWQuXFxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB3ZSB3YW50IHRvIHRlc3QuXFxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cXG4gICAqIEBwcm90ZWN0ZWRcXG4gICAqIEBmaW5hbFxcbiAgICovXFxuICBpc01vdW50ZWQ6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9LFxcblxcbiAgLyoqXFxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXFxuICAgKiBjZXJ0YWludHkgdGhhdCB3ZSBhcmUgKipub3QqKiBpbiBhIERPTSB0cmFuc2FjdGlvbi5cXG4gICAqXFxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXFxuICAgKiBjb21wb25lbnQncyBzdGF0ZSBoYXMgY2hhbmdlZCBidXQgYHNldFN0YXRlYCB3YXMgbm90IGNhbGxlZC5cXG4gICAqXFxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXFxuICAgKiBgY29tcG9uZW50V2lsbFVwZGF0ZWAgYW5kIGBjb21wb25lbnREaWRVcGRhdGVgLlxcbiAgICpcXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxcbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gY2FsbGVyTmFtZSBuYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxcbiAgICogQGludGVybmFsXFxuICAgKi9cXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XFxuICB9LFxcblxcbiAgLyoqXFxuICAgKiBSZXBsYWNlcyBhbGwgb2YgdGhlIHN0YXRlLiBBbHdheXMgdXNlIHRoaXMgb3IgYHNldFN0YXRlYCB0byBtdXRhdGUgc3RhdGUuXFxuICAgKiBZb3Ugc2hvdWxkIHRyZWF0IGB0aGlzLnN0YXRlYCBhcyBpbW11dGFibGUuXFxuICAgKlxcbiAgICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYHRoaXMuc3RhdGVgIHdpbGwgYmUgaW1tZWRpYXRlbHkgdXBkYXRlZCwgc29cXG4gICAqIGFjY2Vzc2luZyBgdGhpcy5zdGF0ZWAgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBvbGQgdmFsdWUuXFxuICAgKlxcbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2UgdGhhdCBzaG91bGQgcmVyZW5kZXIuXFxuICAgKiBAcGFyYW0ge29iamVjdH0gY29tcGxldGVTdGF0ZSBOZXh0IHN0YXRlLlxcbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gY2FsbGVyTmFtZSBuYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxcbiAgICogQGludGVybmFsXFxuICAgKi9cXG4gIGVucXVldWVSZXBsYWNlU3RhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY29tcGxldGVTdGF0ZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcXG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdyZXBsYWNlU3RhdGUnKTtcXG4gIH0sXFxuXFxuICAvKipcXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xcbiAgICogaW50ZXJuYWwuIFRoaXMgcHJvdmlkZXMgYSBtZXJnaW5nIHN0cmF0ZWd5IHRoYXQgaXMgbm90IGF2YWlsYWJsZSB0byBkZWVwXFxuICAgKiBwcm9wZXJ0aWVzIHdoaWNoIGlzIGNvbmZ1c2luZy4gVE9ETzogRXhwb3NlIHBlbmRpbmdTdGF0ZSBvciBkb24ndCB1c2UgaXRcXG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXFxuICAgKlxcbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2UgdGhhdCBzaG91bGQgcmVyZW5kZXIuXFxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cXG4gICAqIEBwYXJhbSB7P2Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsZWQgYWZ0ZXIgY29tcG9uZW50IGlzIHVwZGF0ZWQuXFxuICAgKiBAcGFyYW0gez9zdHJpbmd9IE5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXFxuICAgKiBAaW50ZXJuYWxcXG4gICAqL1xcbiAgZW5xdWV1ZVNldFN0YXRlOiBmdW5jdGlvbiAocHVibGljSW5zdGFuY2UsIHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcXG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xcbiAgfVxcbn07XFxuXFxudmFyIGVtcHR5T2JqZWN0ID0ge307XFxuXFxue1xcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eU9iamVjdCk7XFxufVxcbi8qKlxcbiAqIEJhc2UgY2xhc3MgaGVscGVycyBmb3IgdGhlIHVwZGF0aW5nIHN0YXRlIG9mIGEgY29tcG9uZW50LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIENvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xcbiAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsgLy8gSWYgYSBjb21wb25lbnQgaGFzIHN0cmluZyByZWZzLCB3ZSB3aWxsIGFzc2lnbiBhIGRpZmZlcmVudCBvYmplY3QgbGF0ZXIuXFxuXFxuICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDsgLy8gV2UgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCB1cGRhdGVyIGJ1dCB0aGUgcmVhbCBvbmUgZ2V0cyBpbmplY3RlZCBieSB0aGVcXG4gIC8vIHJlbmRlcmVyLlxcblxcbiAgdGhpcy51cGRhdGVyID0gdXBkYXRlciB8fCBSZWFjdE5vb3BVcGRhdGVRdWV1ZTtcXG59XFxuXFxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XFxuLyoqXFxuICogU2V0cyBhIHN1YnNldCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyB0byBtdXRhdGVcXG4gKiBzdGF0ZS4gWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxcbiAqXFxuICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYHRoaXMuc3RhdGVgIHdpbGwgYmUgaW1tZWRpYXRlbHkgdXBkYXRlZCwgc29cXG4gKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxcbiAqXFxuICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgY2FsbHMgdG8gYHNldFN0YXRlYCB3aWxsIHJ1biBzeW5jaHJvbm91c2x5LFxcbiAqIGFzIHRoZXkgbWF5IGV2ZW50dWFsbHkgYmUgYmF0Y2hlZCB0b2dldGhlci4gIFlvdSBjYW4gcHJvdmlkZSBhbiBvcHRpb25hbFxcbiAqIGNhbGxiYWNrIHRoYXQgd2lsbCBiZSBleGVjdXRlZCB3aGVuIHRoZSBjYWxsIHRvIHNldFN0YXRlIGlzIGFjdHVhbGx5XFxuICogY29tcGxldGVkLlxcbiAqXFxuICogV2hlbiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIHRvIHNldFN0YXRlLCBpdCB3aWxsIGJlIGNhbGxlZCBhdCBzb21lIHBvaW50IGluXFxuICogdGhlIGZ1dHVyZSAobm90IHN5bmNocm9ub3VzbHkpLiBJdCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSB1cCB0byBkYXRlXFxuICogY29tcG9uZW50IGFyZ3VtZW50cyAoc3RhdGUsIHByb3BzLCBjb250ZXh0KS4gVGhlc2UgdmFsdWVzIGNhbiBiZSBkaWZmZXJlbnRcXG4gKiBmcm9tIHRoaXMuKiBiZWNhdXNlIHlvdXIgZnVuY3Rpb24gbWF5IGJlIGNhbGxlZCBhZnRlciByZWNlaXZlUHJvcHMgYnV0IGJlZm9yZVxcbiAqIHNob3VsZENvbXBvbmVudFVwZGF0ZSwgYW5kIHRoaXMgbmV3IHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgd2lsbCBub3QgeWV0IGJlXFxuICogYXNzaWduZWQgdG8gdGhpcy5cXG4gKlxcbiAqIEBwYXJhbSB7b2JqZWN0fGZ1bmN0aW9ufSBwYXJ0aWFsU3RhdGUgTmV4dCBwYXJ0aWFsIHN0YXRlIG9yIGZ1bmN0aW9uIHRvXFxuICogICAgICAgIHByb2R1Y2UgbmV4dCBwYXJ0aWFsIHN0YXRlIHRvIGJlIG1lcmdlZCB3aXRoIGN1cnJlbnQgc3RhdGUuXFxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBzdGF0ZSBpcyB1cGRhdGVkLlxcbiAqIEBmaW5hbFxcbiAqIEBwcm90ZWN0ZWRcXG4gKi9cXG5cXG5Db21wb25lbnQucHJvdG90eXBlLnNldFN0YXRlID0gZnVuY3Rpb24gKHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2spIHtcXG4gIGlmICghKHR5cGVvZiBwYXJ0aWFsU3RhdGUgPT09ICdvYmplY3QnIHx8IHR5cGVvZiBwYXJ0aWFsU3RhdGUgPT09ICdmdW5jdGlvbicgfHwgcGFydGlhbFN0YXRlID09IG51bGwpKSB7XFxuICAgIHtcXG4gICAgICB0aHJvdyBFcnJvciggXFxcInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcXG59O1xcbi8qKlxcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcXG4gKiBjZXJ0YWludHkgdGhhdCB3ZSBhcmUgKipub3QqKiBpbiBhIERPTSB0cmFuc2FjdGlvbi5cXG4gKlxcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcXG4gKiBjb21wb25lbnQncyBzdGF0ZSBoYXMgY2hhbmdlZCBidXQgYHNldFN0YXRlYCB3YXMgbm90IGNhbGxlZC5cXG4gKlxcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcXG4gKiBgY29tcG9uZW50V2lsbFVwZGF0ZWAgYW5kIGBjb21wb25lbnREaWRVcGRhdGVgLlxcbiAqXFxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXFxuICogQGZpbmFsXFxuICogQHByb3RlY3RlZFxcbiAqL1xcblxcblxcbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcXG4gIHRoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcywgY2FsbGJhY2ssICdmb3JjZVVwZGF0ZScpO1xcbn07XFxuLyoqXFxuICogRGVwcmVjYXRlZCBBUElzLiBUaGVzZSBBUElzIHVzZWQgdG8gZXhpc3Qgb24gY2xhc3NpYyBSZWFjdCBjbGFzc2VzIGJ1dCBzaW5jZVxcbiAqIHdlIHdvdWxkIGxpa2UgdG8gZGVwcmVjYXRlIHRoZW0sIHdlJ3JlIG5vdCBnb2luZyB0byBtb3ZlIHRoZW0gb3ZlciB0byB0aGlzXFxuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXFxuICovXFxuXFxuXFxue1xcbiAgdmFyIGRlcHJlY2F0ZWRBUElzID0ge1xcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXFxuICAgIHJlcGxhY2VTdGF0ZTogWydyZXBsYWNlU3RhdGUnLCAnUmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBzZXRTdGF0ZSBpbnN0ZWFkIChzZWUgJyArICdodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzMyMzYpLiddXFxuICB9O1xcblxcbiAgdmFyIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyA9IGZ1bmN0aW9uIChtZXRob2ROYW1lLCBpbmZvKSB7XFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb21wb25lbnQucHJvdG90eXBlLCBtZXRob2ROYW1lLCB7XFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICB3YXJuKCclcyguLi4pIGlzIGRlcHJlY2F0ZWQgaW4gcGxhaW4gSmF2YVNjcmlwdCBSZWFjdCBjbGFzc2VzLiAlcycsIGluZm9bMF0sIGluZm9bMV0pO1xcblxcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcXG4gICAgICB9XFxuICAgIH0pO1xcbiAgfTtcXG5cXG4gIGZvciAodmFyIGZuTmFtZSBpbiBkZXByZWNhdGVkQVBJcykge1xcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xcbiAgICAgIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyhmbk5hbWUsIGRlcHJlY2F0ZWRBUElzW2ZuTmFtZV0pO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cXG5cXG5Db21wb25lbnREdW1teS5wcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xcbi8qKlxcbiAqIENvbnZlbmllbmNlIGNvbXBvbmVudCB3aXRoIGRlZmF1bHQgc2hhbGxvdyBlcXVhbGl0eSBjaGVjayBmb3Igc0NVLlxcbiAqL1xcblxcbmZ1bmN0aW9uIFB1cmVDb21wb25lbnQocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcXG4gIHRoaXMucHJvcHMgPSBwcm9wcztcXG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxcblxcbiAgdGhpcy5yZWZzID0gZW1wdHlPYmplY3Q7XFxuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xcbn1cXG5cXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XFxucHVyZUNvbXBvbmVudFByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFB1cmVDb21wb25lbnQ7IC8vIEF2b2lkIGFuIGV4dHJhIHByb3RvdHlwZSBqdW1wIGZvciB0aGVzZSBtZXRob2RzLlxcblxcbl9hc3NpZ24ocHVyZUNvbXBvbmVudFByb3RvdHlwZSwgQ29tcG9uZW50LnByb3RvdHlwZSk7XFxuXFxucHVyZUNvbXBvbmVudFByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCA9IHRydWU7XFxuXFxuLy8gYW4gaW1tdXRhYmxlIG9iamVjdCB3aXRoIGEgc2luZ2xlIG11dGFibGUgdmFsdWVcXG5mdW5jdGlvbiBjcmVhdGVSZWYoKSB7XFxuICB2YXIgcmVmT2JqZWN0ID0ge1xcbiAgICBjdXJyZW50OiBudWxsXFxuICB9O1xcblxcbiAge1xcbiAgICBPYmplY3Quc2VhbChyZWZPYmplY3QpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHJlZk9iamVjdDtcXG59XFxuXFxudmFyIGhhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcXG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XFxuICBrZXk6IHRydWUsXFxuICByZWY6IHRydWUsXFxuICBfX3NlbGY6IHRydWUsXFxuICBfX3NvdXJjZTogdHJ1ZVxcbn07XFxudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcXG5cXG57XFxuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XFxufVxcblxcbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xcbiAge1xcbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsICdyZWYnKSkge1xcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcXG5cXG4gICAgICBpZiAoZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZykge1xcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGNvbmZpZy5yZWYgIT09IHVuZGVmaW5lZDtcXG59XFxuXFxuZnVuY3Rpb24gaGFzVmFsaWRLZXkoY29uZmlnKSB7XFxuICB7XFxuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XFxuICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCAna2V5JykuZ2V0O1xcblxcbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xcbn1cXG5cXG5mdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcXG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkgPSBmdW5jdGlvbiAoKSB7XFxuICAgIHtcXG4gICAgICBpZiAoIXNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duKSB7XFxuICAgICAgICBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biA9IHRydWU7XFxuXFxuICAgICAgICBlcnJvcignJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIHdhcm5BYm91dEFjY2Vzc2luZ0tleS5pc1JlYWN0V2FybmluZyA9IHRydWU7XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XFxuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxcbiAgICBjb25maWd1cmFibGU6IHRydWVcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcXG4gIHZhciB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYgPSBmdW5jdGlvbiAoKSB7XFxuICAgIHtcXG4gICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XFxuICAgICAgICBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biA9IHRydWU7XFxuXFxuICAgICAgICBlcnJvcignJXM6IGByZWZgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfTtcXG5cXG4gIHdhcm5BYm91dEFjY2Vzc2luZ1JlZi5pc1JlYWN0V2FybmluZyA9IHRydWU7XFxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XFxuICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nUmVmLFxcbiAgICBjb25maWd1cmFibGU6IHRydWVcXG4gIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XFxuICB7XFxuICAgIGlmICh0eXBlb2YgY29uZmlnLnJlZiA9PT0gJ3N0cmluZycgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCAmJiBjb25maWcuX19zZWxmICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQuc3RhdGVOb2RlICE9PSBjb25maWcuX19zZWxmKSB7XFxuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XFxuXFxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XFxuICAgICAgICBlcnJvcignQ29tcG9uZW50IFxcXCIlc1xcXCIgY29udGFpbnMgdGhlIHN0cmluZyByZWYgXFxcIiVzXFxcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSksIGNvbmZpZy5yZWYpO1xcblxcbiAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxufVxcbi8qKlxcbiAqIEZhY3RvcnkgbWV0aG9kIHRvIGNyZWF0ZSBhIG5ldyBSZWFjdCBlbGVtZW50LiBUaGlzIG5vIGxvbmdlciBhZGhlcmVzIHRvXFxuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcXG4gKiBpZiBzb21ldGhpbmcgaXMgYSBSZWFjdCBFbGVtZW50LlxcbiAqXFxuICogQHBhcmFtIHsqfSB0eXBlXFxuICogQHBhcmFtIHsqfSBwcm9wc1xcbiAqIEBwYXJhbSB7Kn0ga2V5XFxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcXG4gKiBAcGFyYW0geyp9IG93bmVyXFxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXFxuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxcbiAqIGNhbiB3YXJuLiBXZSB3YW50IHRvIGdldCByaWQgb2Ygb3duZXIgYW5kIHJlcGxhY2Ugc3RyaW5nIGByZWZgcyB3aXRoIGFycm93XFxuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xcbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cXG4gKiBAcGFyYW0geyp9IHNvdXJjZSBBbiBhbm5vdGF0aW9uIG9iamVjdCAoYWRkZWQgYnkgYSB0cmFuc3BpbGVyIG9yIG90aGVyd2lzZSlcXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxcbiAqIEBpbnRlcm5hbFxcbiAqL1xcblxcblxcbnZhciBSZWFjdEVsZW1lbnQgPSBmdW5jdGlvbiAodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XFxuICB2YXIgZWxlbWVudCA9IHtcXG4gICAgLy8gVGhpcyB0YWcgYWxsb3dzIHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBFbGVtZW50XFxuICAgICQkdHlwZW9mOiBSRUFDVF9FTEVNRU5UX1RZUEUsXFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcXG4gICAgdHlwZTogdHlwZSxcXG4gICAga2V5OiBrZXksXFxuICAgIHJlZjogcmVmLFxcbiAgICBwcm9wczogcHJvcHMsXFxuICAgIC8vIFJlY29yZCB0aGUgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBjcmVhdGluZyB0aGlzIGVsZW1lbnQuXFxuICAgIF9vd25lcjogb3duZXJcXG4gIH07XFxuXFxuICB7XFxuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cXG4gICAgLy8gYW4gZXh0ZXJuYWwgYmFja2luZyBzdG9yZSBzbyB0aGF0IHdlIGNhbiBmcmVlemUgdGhlIHdob2xlIG9iamVjdC5cXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxcbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cXG4gICAgZWxlbWVudC5fc3RvcmUgPSB7fTsgLy8gVG8gbWFrZSBjb21wYXJpbmcgUmVhY3RFbGVtZW50cyBlYXNpZXIgZm9yIHRlc3RpbmcgcHVycG9zZXMsIHdlIG1ha2VcXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xcbiAgICAvLyBpZ25vcmVzIGl0LlxcblxcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcXG4gICAgICB2YWx1ZTogZmFsc2VcXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cXG5cXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc2VsZicsIHtcXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcXG4gICAgICB2YWx1ZTogc2VsZlxcbiAgICB9KTsgLy8gVHdvIGVsZW1lbnRzIGNyZWF0ZWQgaW4gdHdvIGRpZmZlcmVudCBwbGFjZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWRcXG4gICAgLy8gZXF1YWwgZm9yIHRlc3RpbmcgcHVycG9zZXMgYW5kIHRoZXJlZm9yZSB3ZSBoaWRlIGl0IGZyb20gZW51bWVyYXRpb24uXFxuXFxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NvdXJjZScsIHtcXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcXG4gICAgICB2YWx1ZTogc291cmNlXFxuICAgIH0pO1xcblxcbiAgICBpZiAoT2JqZWN0LmZyZWV6ZSkge1xcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XFxuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIGVsZW1lbnQ7XFxufTtcXG4vKipcXG4gKiBDcmVhdGUgYW5kIHJldHVybiBhIG5ldyBSZWFjdEVsZW1lbnQgb2YgdGhlIGdpdmVuIHR5cGUuXFxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XFxuICovXFxuXFxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XFxuICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcXG5cXG4gIHZhciBwcm9wcyA9IHt9O1xcbiAgdmFyIGtleSA9IG51bGw7XFxuICB2YXIgcmVmID0gbnVsbDtcXG4gIHZhciBzZWxmID0gbnVsbDtcXG4gIHZhciBzb3VyY2UgPSBudWxsO1xcblxcbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XFxuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XFxuICAgICAgcmVmID0gY29uZmlnLnJlZjtcXG5cXG4gICAgICB7XFxuICAgICAgICB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKTtcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcXG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XFxuICAgIH1cXG5cXG4gICAgc2VsZiA9IGNvbmZpZy5fX3NlbGYgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zZWxmO1xcbiAgICBzb3VyY2UgPSBjb25maWcuX19zb3VyY2UgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zb3VyY2U7IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIGFyZSBhZGRlZCB0byBhIG5ldyBwcm9wcyBvYmplY3RcXG5cXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcXG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XFxuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSAvLyBDaGlsZHJlbiBjYW4gYmUgbW9yZSB0aGFuIG9uZSBhcmd1bWVudCwgYW5kIHRob3NlIGFyZSB0cmFuc2ZlcnJlZCBvbnRvXFxuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cXG5cXG5cXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xcblxcbiAgaWYgKGNoaWxkcmVuTGVuZ3RoID09PSAxKSB7XFxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XFxuICB9IGVsc2UgaWYgKGNoaWxkcmVuTGVuZ3RoID4gMSkge1xcbiAgICB2YXIgY2hpbGRBcnJheSA9IEFycmF5KGNoaWxkcmVuTGVuZ3RoKTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkxlbmd0aDsgaSsrKSB7XFxuICAgICAgY2hpbGRBcnJheVtpXSA9IGFyZ3VtZW50c1tpICsgMl07XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGlmIChPYmplY3QuZnJlZXplKSB7XFxuICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkQXJyYXkpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7XFxuICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xcblxcblxcbiAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcXG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IHR5cGUuZGVmYXVsdFByb3BzO1xcblxcbiAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xcbiAgICAgIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHtcXG4gICAgaWYgKGtleSB8fCByZWYpIHtcXG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XFxuXFxuICAgICAgaWYgKGtleSkge1xcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcXG4gICAgICB9XFxuXFxuICAgICAgaWYgKHJlZikge1xcbiAgICAgICAgZGVmaW5lUmVmUHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xcbn1cXG5mdW5jdGlvbiBjbG9uZUFuZFJlcGxhY2VLZXkob2xkRWxlbWVudCwgbmV3S2V5KSB7XFxuICB2YXIgbmV3RWxlbWVudCA9IFJlYWN0RWxlbWVudChvbGRFbGVtZW50LnR5cGUsIG5ld0tleSwgb2xkRWxlbWVudC5yZWYsIG9sZEVsZW1lbnQuX3NlbGYsIG9sZEVsZW1lbnQuX3NvdXJjZSwgb2xkRWxlbWVudC5fb3duZXIsIG9sZEVsZW1lbnQucHJvcHMpO1xcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XFxufVxcbi8qKlxcbiAqIENsb25lIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IHVzaW5nIGVsZW1lbnQgYXMgdGhlIHN0YXJ0aW5nIHBvaW50LlxcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjY2xvbmVlbGVtZW50XFxuICovXFxuXFxuZnVuY3Rpb24gY2xvbmVFbGVtZW50KGVsZW1lbnQsIGNvbmZpZywgY2hpbGRyZW4pIHtcXG4gIGlmICghIShlbGVtZW50ID09PSBudWxsIHx8IGVsZW1lbnQgPT09IHVuZGVmaW5lZCkpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiUmVhY3QuY2xvbmVFbGVtZW50KC4uLik6IFRoZSBhcmd1bWVudCBtdXN0IGJlIGEgUmVhY3QgZWxlbWVudCwgYnV0IHlvdSBwYXNzZWQgXFxcIiArIGVsZW1lbnQgKyBcXFwiLlxcXCIgKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgdmFyIHByb3BOYW1lOyAvLyBPcmlnaW5hbCBwcm9wcyBhcmUgY29waWVkXFxuXFxuICB2YXIgcHJvcHMgPSBfYXNzaWduKHt9LCBlbGVtZW50LnByb3BzKTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxcblxcblxcbiAgdmFyIGtleSA9IGVsZW1lbnQua2V5O1xcbiAgdmFyIHJlZiA9IGVsZW1lbnQucmVmOyAvLyBTZWxmIGlzIHByZXNlcnZlZCBzaW5jZSB0aGUgb3duZXIgaXMgcHJlc2VydmVkLlxcblxcbiAgdmFyIHNlbGYgPSBlbGVtZW50Ll9zZWxmOyAvLyBTb3VyY2UgaXMgcHJlc2VydmVkIHNpbmNlIGNsb25lRWxlbWVudCBpcyB1bmxpa2VseSB0byBiZSB0YXJnZXRlZCBieSBhXFxuICAvLyB0cmFuc3BpbGVyLCBhbmQgdGhlIG9yaWdpbmFsIHNvdXJjZSBpcyBwcm9iYWJseSBhIGJldHRlciBpbmRpY2F0b3Igb2YgdGhlXFxuICAvLyB0cnVlIG93bmVyLlxcblxcbiAgdmFyIHNvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTsgLy8gT3duZXIgd2lsbCBiZSBwcmVzZXJ2ZWQsIHVubGVzcyByZWYgaXMgb3ZlcnJpZGRlblxcblxcbiAgdmFyIG93bmVyID0gZWxlbWVudC5fb3duZXI7XFxuXFxuICBpZiAoY29uZmlnICE9IG51bGwpIHtcXG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcXG4gICAgICAvLyBTaWxlbnRseSBzdGVhbCB0aGUgcmVmIGZyb20gdGhlIHBhcmVudC5cXG4gICAgICByZWYgPSBjb25maWcucmVmO1xcbiAgICAgIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcXG4gICAgfVxcblxcbiAgICBpZiAoaGFzVmFsaWRLZXkoY29uZmlnKSkge1xcbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcXG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xcblxcblxcbiAgICB2YXIgZGVmYXVsdFByb3BzO1xcblxcbiAgICBpZiAoZWxlbWVudC50eXBlICYmIGVsZW1lbnQudHlwZS5kZWZhdWx0UHJvcHMpIHtcXG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xcbiAgICB9XFxuXFxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XFxuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBwcm9wTmFtZSkgJiYgIVJFU0VSVkVEX1BST1BTLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkge1xcbiAgICAgICAgaWYgKGNvbmZpZ1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCAmJiBkZWZhdWx0UHJvcHMgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcXG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9IC8vIENoaWxkcmVuIGNhbiBiZSBtb3JlIHRoYW4gb25lIGFyZ3VtZW50LCBhbmQgdGhvc2UgYXJlIHRyYW5zZmVycmVkIG9udG9cXG4gIC8vIHRoZSBuZXdseSBhbGxvY2F0ZWQgcHJvcHMgb2JqZWN0LlxcblxcblxcbiAgdmFyIGNoaWxkcmVuTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCAtIDI7XFxuXFxuICBpZiAoY2hpbGRyZW5MZW5ndGggPT09IDEpIHtcXG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcXG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XFxuICAgIHZhciBjaGlsZEFycmF5ID0gQXJyYXkoY2hpbGRyZW5MZW5ndGgpO1xcblxcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcXG4gICAgICBjaGlsZEFycmF5W2ldID0gYXJndW1lbnRzW2kgKyAyXTtcXG4gICAgfVxcblxcbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7XFxuICB9XFxuXFxuICByZXR1cm4gUmVhY3RFbGVtZW50KGVsZW1lbnQudHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKTtcXG59XFxuLyoqXFxuICogVmVyaWZpZXMgdGhlIG9iamVjdCBpcyBhIFJlYWN0RWxlbWVudC5cXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIGBvYmplY3RgIGlzIGEgUmVhY3RFbGVtZW50LlxcbiAqIEBmaW5hbFxcbiAqL1xcblxcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcXG59XFxuXFxudmFyIFNFUEFSQVRPUiA9ICcuJztcXG52YXIgU1VCU0VQQVJBVE9SID0gJzonO1xcbi8qKlxcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXFxuICpcXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IHRvIGJlIGVzY2FwZWQuXFxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXFxuICovXFxuXFxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xcbiAgdmFyIGVzY2FwZVJlZ2V4ID0gL1s9Ol0vZztcXG4gIHZhciBlc2NhcGVyTG9va3VwID0ge1xcbiAgICAnPSc6ICc9MCcsXFxuICAgICc6JzogJz0yJ1xcbiAgfTtcXG4gIHZhciBlc2NhcGVkU3RyaW5nID0gKCcnICsga2V5KS5yZXBsYWNlKGVzY2FwZVJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gpIHtcXG4gICAgcmV0dXJuIGVzY2FwZXJMb29rdXBbbWF0Y2hdO1xcbiAgfSk7XFxuICByZXR1cm4gJyQnICsgZXNjYXBlZFN0cmluZztcXG59XFxuLyoqXFxuICogVE9ETzogVGVzdCB0aGF0IGEgc2luZ2xlIGNoaWxkIGFuZCBhbiBhcnJheSB3aXRoIG9uZSBpdGVtIGhhdmUgdGhlIHNhbWUga2V5XFxuICogcGF0dGVybi5cXG4gKi9cXG5cXG5cXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xcbnZhciB1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCA9IC9cXFxcLysvZztcXG5cXG5mdW5jdGlvbiBlc2NhcGVVc2VyUHJvdmlkZWRLZXkodGV4dCkge1xcbiAgcmV0dXJuICgnJyArIHRleHQpLnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcXG59XFxuXFxudmFyIFBPT0xfU0laRSA9IDEwO1xcbnZhciB0cmF2ZXJzZUNvbnRleHRQb29sID0gW107XFxuXFxuZnVuY3Rpb24gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG1hcFJlc3VsdCwga2V5UHJlZml4LCBtYXBGdW5jdGlvbiwgbWFwQ29udGV4dCkge1xcbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoKSB7XFxuICAgIHZhciB0cmF2ZXJzZUNvbnRleHQgPSB0cmF2ZXJzZUNvbnRleHRQb29sLnBvcCgpO1xcbiAgICB0cmF2ZXJzZUNvbnRleHQucmVzdWx0ID0gbWFwUmVzdWx0O1xcbiAgICB0cmF2ZXJzZUNvbnRleHQua2V5UHJlZml4ID0ga2V5UHJlZml4O1xcbiAgICB0cmF2ZXJzZUNvbnRleHQuZnVuYyA9IG1hcEZ1bmN0aW9uO1xcbiAgICB0cmF2ZXJzZUNvbnRleHQuY29udGV4dCA9IG1hcENvbnRleHQ7XFxuICAgIHRyYXZlcnNlQ29udGV4dC5jb3VudCA9IDA7XFxuICAgIHJldHVybiB0cmF2ZXJzZUNvbnRleHQ7XFxuICB9IGVsc2Uge1xcbiAgICByZXR1cm4ge1xcbiAgICAgIHJlc3VsdDogbWFwUmVzdWx0LFxcbiAgICAgIGtleVByZWZpeDoga2V5UHJlZml4LFxcbiAgICAgIGZ1bmM6IG1hcEZ1bmN0aW9uLFxcbiAgICAgIGNvbnRleHQ6IG1hcENvbnRleHQsXFxuICAgICAgY291bnQ6IDBcXG4gICAgfTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVsZWFzZVRyYXZlcnNlQ29udGV4dCh0cmF2ZXJzZUNvbnRleHQpIHtcXG4gIHRyYXZlcnNlQ29udGV4dC5yZXN1bHQgPSBudWxsO1xcbiAgdHJhdmVyc2VDb250ZXh0LmtleVByZWZpeCA9IG51bGw7XFxuICB0cmF2ZXJzZUNvbnRleHQuZnVuYyA9IG51bGw7XFxuICB0cmF2ZXJzZUNvbnRleHQuY29udGV4dCA9IG51bGw7XFxuICB0cmF2ZXJzZUNvbnRleHQuY291bnQgPSAwO1xcblxcbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoIDwgUE9PTF9TSVpFKSB7XFxuICAgIHRyYXZlcnNlQ29udGV4dFBvb2wucHVzaCh0cmF2ZXJzZUNvbnRleHQpO1xcbiAgfVxcbn1cXG4vKipcXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cXG4gKiBAcGFyYW0geyFzdHJpbmd9IG5hbWVTb0ZhciBOYW1lIG9mIHRoZSBrZXkgcGF0aCBzbyBmYXIuXFxuICogQHBhcmFtIHshZnVuY3Rpb259IGNhbGxiYWNrIENhbGxiYWNrIHRvIGludm9rZSB3aXRoIGVhY2ggY2hpbGQgZm91bmQuXFxuICogQHBhcmFtIHs/Kn0gdHJhdmVyc2VDb250ZXh0IFVzZWQgdG8gcGFzcyBpbmZvcm1hdGlvbiB0aHJvdWdob3V0IHRoZSB0cmF2ZXJzYWxcXG4gKiBwcm9jZXNzLlxcbiAqIEByZXR1cm4geyFudW1iZXJ9IFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gdGhpcyBzdWJ0cmVlLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkcmVuLCBuYW1lU29GYXIsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpIHtcXG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xcblxcbiAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdib29sZWFuJykge1xcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cXG4gICAgY2hpbGRyZW4gPSBudWxsO1xcbiAgfVxcblxcbiAgdmFyIGludm9rZUNhbGxiYWNrID0gZmFsc2U7XFxuXFxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcXG4gICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xcbiAgfSBlbHNlIHtcXG4gICAgc3dpdGNoICh0eXBlKSB7XFxuICAgICAgY2FzZSAnc3RyaW5nJzpcXG4gICAgICBjYXNlICdudW1iZXInOlxcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xcbiAgICAgICAgYnJlYWs7XFxuXFxuICAgICAgY2FzZSAnb2JqZWN0JzpcXG4gICAgICAgIHN3aXRjaCAoY2hpbGRyZW4uJCR0eXBlb2YpIHtcXG4gICAgICAgICAgY2FzZSBSRUFDVF9FTEVNRU5UX1RZUEU6XFxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XFxuICAgICAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xcbiAgICAgICAgfVxcblxcbiAgICB9XFxuICB9XFxuXFxuICBpZiAoaW52b2tlQ2FsbGJhY2spIHtcXG4gICAgY2FsbGJhY2sodHJhdmVyc2VDb250ZXh0LCBjaGlsZHJlbiwgLy8gSWYgaXQncyB0aGUgb25seSBjaGlsZCwgdHJlYXQgdGhlIG5hbWUgYXMgaWYgaXQgd2FzIHdyYXBwZWQgaW4gYW4gYXJyYXlcXG4gICAgLy8gc28gdGhhdCBpdCdzIGNvbnNpc3RlbnQgaWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBncm93cy5cXG4gICAgbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiArIGdldENvbXBvbmVudEtleShjaGlsZHJlbiwgMCkgOiBuYW1lU29GYXIpO1xcbiAgICByZXR1cm4gMTtcXG4gIH1cXG5cXG4gIHZhciBjaGlsZDtcXG4gIHZhciBuZXh0TmFtZTtcXG4gIHZhciBzdWJ0cmVlQ291bnQgPSAwOyAvLyBDb3VudCBvZiBjaGlsZHJlbiBmb3VuZCBpbiB0aGUgY3VycmVudCBzdWJ0cmVlLlxcblxcbiAgdmFyIG5leHROYW1lUHJlZml4ID0gbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiA6IG5hbWVTb0ZhciArIFNVQlNFUEFSQVRPUjtcXG5cXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcXG4gICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpKTtcXG4gICAgICBzdWJ0cmVlQ291bnQgKz0gdHJhdmVyc2VBbGxDaGlsZHJlbkltcGwoY2hpbGQsIG5leHROYW1lLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KTtcXG4gICAgfVxcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcXG5cXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XFxuXFxuICAgICAge1xcbiAgICAgICAgLy8gV2FybiBhYm91dCB1c2luZyBNYXBzIGFzIGNoaWxkcmVuXFxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gY2hpbGRyZW4uZW50cmllcykge1xcbiAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dE1hcHMpIHtcXG4gICAgICAgICAgICB3YXJuKCdVc2luZyBNYXBzIGFzIGNoaWxkcmVuIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiAnICsgJ2EgZnV0dXJlIG1ham9yIHJlbGVhc2UuIENvbnNpZGVyIGNvbnZlcnRpbmcgY2hpbGRyZW4gdG8gJyArICdhbiBhcnJheSBvZiBrZXllZCBSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XFxuICAgICAgICAgIH1cXG5cXG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XFxuICAgICAgdmFyIHN0ZXA7XFxuICAgICAgdmFyIGlpID0gMDtcXG5cXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XFxuICAgICAgICBjaGlsZCA9IHN0ZXAudmFsdWU7XFxuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpaSsrKTtcXG4gICAgICAgIHN1YnRyZWVDb3VudCArPSB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZCwgbmV4dE5hbWUsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xcblxcbiAgICAgIHtcXG4gICAgICAgIGFkZGVuZHVtID0gJyBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nICsgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XFxuICAgICAgfVxcblxcbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9ICcnICsgY2hpbGRyZW47XFxuXFxuICAgICAge1xcbiAgICAgICAge1xcbiAgICAgICAgICB0aHJvdyBFcnJvciggXFxcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXFxcIiArIChjaGlsZHJlblN0cmluZyA9PT0gJ1tvYmplY3QgT2JqZWN0XScgPyAnb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNoaWxkcmVuKS5qb2luKCcsICcpICsgJ30nIDogY2hpbGRyZW5TdHJpbmcpICsgXFxcIikuXFxcIiArIGFkZGVuZHVtICk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gc3VidHJlZUNvdW50O1xcbn1cXG4vKipcXG4gKiBUcmF2ZXJzZXMgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLCBidXRcXG4gKiBtaWdodCBhbHNvIGJlIHNwZWNpZmllZCB0aHJvdWdoIGF0dHJpYnV0ZXM6XFxuICpcXG4gKiAtIGB0cmF2ZXJzZUFsbENoaWxkcmVuKHRoaXMucHJvcHMuY2hpbGRyZW4sIC4uLilgXFxuICogLSBgdHJhdmVyc2VBbGxDaGlsZHJlbih0aGlzLnByb3BzLmxlZnRQYW5lbENoaWxkcmVuLCAuLi4pYFxcbiAqXFxuICogVGhlIGB0cmF2ZXJzZUNvbnRleHRgIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgaXMgcGFzc2VkIHRocm91Z2ggdGhlXFxuICogZW50aXJlIHRyYXZlcnNhbC4gSXQgY2FuIGJlIHVzZWQgdG8gc3RvcmUgYWNjdW11bGF0aW9ucyBvciBhbnl0aGluZyBlbHNlIHRoYXRcXG4gKiB0aGUgY2FsbGJhY2sgbWlnaHQgZmluZCByZWxldmFudC5cXG4gKlxcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgb2JqZWN0LlxcbiAqIEBwYXJhbSB7IWZ1bmN0aW9ufSBjYWxsYmFjayBUbyBpbnZva2UgdXBvbiB0cmF2ZXJzaW5nIGVhY2ggY2hpbGQuXFxuICogQHBhcmFtIHs/Kn0gdHJhdmVyc2VDb250ZXh0IENvbnRleHQgZm9yIHRyYXZlcnNhbC5cXG4gKiBAcmV0dXJuIHshbnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuIGluIHRoaXMgc3VidHJlZS5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiB0cmF2ZXJzZUFsbENoaWxkcmVuKGNoaWxkcmVuLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KSB7XFxuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xcbiAgICByZXR1cm4gMDtcXG4gIH1cXG5cXG4gIHJldHVybiB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZHJlbiwgJycsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xcbn1cXG4vKipcXG4gKiBHZW5lcmF0ZSBhIGtleSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIGEgY29tcG9uZW50IHdpdGhpbiBhIHNldC5cXG4gKlxcbiAqIEBwYXJhbSB7Kn0gY29tcG9uZW50IEEgY29tcG9uZW50IHRoYXQgY291bGQgY29udGFpbiBhIG1hbnVhbCBrZXkuXFxuICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IEluZGV4IHRoYXQgaXMgdXNlZCBpZiBhIG1hbnVhbCBrZXkgaXMgbm90IHByb3ZpZGVkLlxcbiAqIEByZXR1cm4ge3N0cmluZ31cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xcbiAgLy8gRG8gc29tZSB0eXBlY2hlY2tpbmcgaGVyZSBzaW5jZSB3ZSBjYWxsIHRoaXMgYmxpbmRseS4gV2Ugd2FudCB0byBlbnN1cmVcXG4gIC8vIHRoYXQgd2UgZG9uJ3QgYmxvY2sgcG90ZW50aWFsIGZ1dHVyZSBFUyBBUElzLlxcbiAgaWYgKHR5cGVvZiBjb21wb25lbnQgPT09ICdvYmplY3QnICYmIGNvbXBvbmVudCAhPT0gbnVsbCAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcXG4gICAgLy8gRXhwbGljaXQga2V5XFxuICAgIHJldHVybiBlc2NhcGUoY29tcG9uZW50LmtleSk7XFxuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XFxuXFxuXFxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xcbn1cXG5cXG5mdW5jdGlvbiBmb3JFYWNoU2luZ2xlQ2hpbGQoYm9va0tlZXBpbmcsIGNoaWxkLCBuYW1lKSB7XFxuICB2YXIgZnVuYyA9IGJvb2tLZWVwaW5nLmZ1bmMsXFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XFxuICBmdW5jLmNhbGwoY29udGV4dCwgY2hpbGQsIGJvb2tLZWVwaW5nLmNvdW50KyspO1xcbn1cXG4vKipcXG4gKiBJdGVyYXRlcyB0aHJvdWdoIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYC5cXG4gKlxcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcXG4gKlxcbiAqIFRoZSBwcm92aWRlZCBmb3JFYWNoRnVuYyhjaGlsZCwgaW5kZXgpIHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoXFxuICogbGVhZiBjaGlsZC5cXG4gKlxcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcXG4gKiBAcGFyYW0geyp9IGZvckVhY2hDb250ZXh0IENvbnRleHQgZm9yIGZvckVhY2hDb250ZXh0LlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIGZvckVhY2hDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KSB7XFxuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xcbiAgICByZXR1cm4gY2hpbGRyZW47XFxuICB9XFxuXFxuICB2YXIgdHJhdmVyc2VDb250ZXh0ID0gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG51bGwsIG51bGwsIGZvckVhY2hGdW5jLCBmb3JFYWNoQ29udGV4dCk7XFxuICB0cmF2ZXJzZUFsbENoaWxkcmVuKGNoaWxkcmVuLCBmb3JFYWNoU2luZ2xlQ2hpbGQsIHRyYXZlcnNlQ29udGV4dCk7XFxuICByZWxlYXNlVHJhdmVyc2VDb250ZXh0KHRyYXZlcnNlQ29udGV4dCk7XFxufVxcblxcbmZ1bmN0aW9uIG1hcFNpbmdsZUNoaWxkSW50b0NvbnRleHQoYm9va0tlZXBpbmcsIGNoaWxkLCBjaGlsZEtleSkge1xcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdCxcXG4gICAgICBrZXlQcmVmaXggPSBib29rS2VlcGluZy5rZXlQcmVmaXgsXFxuICAgICAgZnVuYyA9IGJvb2tLZWVwaW5nLmZ1bmMsXFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XFxuICB2YXIgbWFwcGVkQ2hpbGQgPSBmdW5jLmNhbGwoY29udGV4dCwgY2hpbGQsIGJvb2tLZWVwaW5nLmNvdW50KyspO1xcblxcbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XFxuICAgIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwobWFwcGVkQ2hpbGQsIHJlc3VsdCwgY2hpbGRLZXksIGZ1bmN0aW9uIChjKSB7XFxuICAgICAgcmV0dXJuIGM7XFxuICAgIH0pO1xcbiAgfSBlbHNlIGlmIChtYXBwZWRDaGlsZCAhPSBudWxsKSB7XFxuICAgIGlmIChpc1ZhbGlkRWxlbWVudChtYXBwZWRDaGlsZCkpIHtcXG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShtYXBwZWRDaGlsZCwgLy8gS2VlcCBib3RoIHRoZSAobWFwcGVkKSBhbmQgb2xkIGtleXMgaWYgdGhleSBkaWZmZXIsIGp1c3QgYXNcXG4gICAgICAvLyB0cmF2ZXJzZUFsbENoaWxkcmVuIHVzZWQgdG8gZG8gZm9yIG9iamVjdHMgYXMgY2hpbGRyZW5cXG4gICAgICBrZXlQcmVmaXggKyAobWFwcGVkQ2hpbGQua2V5ICYmICghY2hpbGQgfHwgY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpID8gZXNjYXBlVXNlclByb3ZpZGVkS2V5KG1hcHBlZENoaWxkLmtleSkgKyAnLycgOiAnJykgKyBjaGlsZEtleSk7XFxuICAgIH1cXG5cXG4gICAgcmVzdWx0LnB1c2gobWFwcGVkQ2hpbGQpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCBhcnJheSwgcHJlZml4LCBmdW5jLCBjb250ZXh0KSB7XFxuICB2YXIgZXNjYXBlZFByZWZpeCA9ICcnO1xcblxcbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XFxuICAgIGVzY2FwZWRQcmVmaXggPSBlc2NhcGVVc2VyUHJvdmlkZWRLZXkocHJlZml4KSArICcvJztcXG4gIH1cXG5cXG4gIHZhciB0cmF2ZXJzZUNvbnRleHQgPSBnZXRQb29sZWRUcmF2ZXJzZUNvbnRleHQoYXJyYXksIGVzY2FwZWRQcmVmaXgsIGZ1bmMsIGNvbnRleHQpO1xcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgbWFwU2luZ2xlQ2hpbGRJbnRvQ29udGV4dCwgdHJhdmVyc2VDb250ZXh0KTtcXG4gIHJlbGVhc2VUcmF2ZXJzZUNvbnRleHQodHJhdmVyc2VDb250ZXh0KTtcXG59XFxuLyoqXFxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXFxuICpcXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5tYXBcXG4gKlxcbiAqIFRoZSBwcm92aWRlZCBtYXBGdW5jdGlvbihjaGlsZCwga2V5LCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcXG4gKiBsZWFmIGNoaWxkLlxcbiAqXFxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXFxuICogQHBhcmFtIHtmdW5jdGlvbigqLCBpbnQpfSBmdW5jIFRoZSBtYXAgZnVuY3Rpb24uXFxuICogQHBhcmFtIHsqfSBjb250ZXh0IENvbnRleHQgZm9yIG1hcEZ1bmN0aW9uLlxcbiAqIEByZXR1cm4ge29iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9yZGVyZWQgbWFwIG9mIHJlc3VsdHMuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gbWFwQ2hpbGRyZW4oY2hpbGRyZW4sIGZ1bmMsIGNvbnRleHQpIHtcXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XFxuICAgIHJldHVybiBjaGlsZHJlbjtcXG4gIH1cXG5cXG4gIHZhciByZXN1bHQgPSBbXTtcXG4gIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIHJlc3VsdCwgbnVsbCwgZnVuYywgY29udGV4dCk7XFxuICByZXR1cm4gcmVzdWx0O1xcbn1cXG4vKipcXG4gKiBDb3VudCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXNcXG4gKiBgcHJvcHMuY2hpbGRyZW5gLlxcbiAqXFxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVuY291bnRcXG4gKlxcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxcbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiBjaGlsZHJlbi5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiBjb3VudENoaWxkcmVuKGNoaWxkcmVuKSB7XFxuICByZXR1cm4gdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH0sIG51bGwpO1xcbn1cXG4vKipcXG4gKiBGbGF0dGVuIGEgY2hpbGRyZW4gb2JqZWN0ICh0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmApIGFuZFxcbiAqIHJldHVybiBhbiBhcnJheSB3aXRoIGFwcHJvcHJpYXRlbHkgcmUta2V5ZWQgY2hpbGRyZW4uXFxuICpcXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW50b2FycmF5XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdG9BcnJheShjaGlsZHJlbikge1xcbiAgdmFyIHJlc3VsdCA9IFtdO1xcbiAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChjaGlsZHJlbiwgcmVzdWx0LCBudWxsLCBmdW5jdGlvbiAoY2hpbGQpIHtcXG4gICAgcmV0dXJuIGNoaWxkO1xcbiAgfSk7XFxuICByZXR1cm4gcmVzdWx0O1xcbn1cXG4vKipcXG4gKiBSZXR1cm5zIHRoZSBmaXJzdCBjaGlsZCBpbiBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4gYW5kIHZlcmlmaWVzIHRoYXQgdGhlcmVcXG4gKiBpcyBvbmx5IG9uZSBjaGlsZCBpbiB0aGUgY29sbGVjdGlvbi5cXG4gKlxcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbm9ubHlcXG4gKlxcbiAqIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGEgc2luZ2xlIGNoaWxkIGdldHNcXG4gKiBwYXNzZWQgd2l0aG91dCBhIHdyYXBwZXIsIGJ1dCB0aGUgcHVycG9zZSBvZiB0aGlzIGhlbHBlciBmdW5jdGlvbiBpcyB0b1xcbiAqIGFic3RyYWN0IGF3YXkgdGhlIHBhcnRpY3VsYXIgc3RydWN0dXJlIG9mIGNoaWxkcmVuLlxcbiAqXFxuICogQHBhcmFtIHs/b2JqZWN0fSBjaGlsZHJlbiBDaGlsZCBjb2xsZWN0aW9uIHN0cnVjdHVyZS5cXG4gKiBAcmV0dXJuIHtSZWFjdEVsZW1lbnR9IFRoZSBmaXJzdCBhbmQgb25seSBgUmVhY3RFbGVtZW50YCBjb250YWluZWQgaW4gdGhlXFxuICogc3RydWN0dXJlLlxcbiAqL1xcblxcblxcbmZ1bmN0aW9uIG9ubHlDaGlsZChjaGlsZHJlbikge1xcbiAgaWYgKCFpc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcXG4gICAge1xcbiAgICAgIHRocm93IEVycm9yKCBcXFwiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuXFxcIiApO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gY2hpbGRyZW47XFxufVxcblxcbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlLCBjYWxjdWxhdGVDaGFuZ2VkQml0cykge1xcbiAgaWYgKGNhbGN1bGF0ZUNoYW5nZWRCaXRzID09PSB1bmRlZmluZWQpIHtcXG4gICAgY2FsY3VsYXRlQ2hhbmdlZEJpdHMgPSBudWxsO1xcbiAgfSBlbHNlIHtcXG4gICAge1xcbiAgICAgIGlmIChjYWxjdWxhdGVDaGFuZ2VkQml0cyAhPT0gbnVsbCAmJiB0eXBlb2YgY2FsY3VsYXRlQ2hhbmdlZEJpdHMgIT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAgIGVycm9yKCdjcmVhdGVDb250ZXh0OiBFeHBlY3RlZCB0aGUgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMnLCBjYWxjdWxhdGVDaGFuZ2VkQml0cyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgY29udGV4dCA9IHtcXG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcXG4gICAgX2NhbGN1bGF0ZUNoYW5nZWRCaXRzOiBjYWxjdWxhdGVDaGFuZ2VkQml0cyxcXG4gICAgLy8gQXMgYSB3b3JrYXJvdW5kIHRvIHN1cHBvcnQgbXVsdGlwbGUgY29uY3VycmVudCByZW5kZXJlcnMsIHdlIGNhdGVnb3JpemVcXG4gICAgLy8gc29tZSByZW5kZXJlcnMgYXMgcHJpbWFyeSBhbmQgb3RoZXJzIGFzIHNlY29uZGFyeS4gV2Ugb25seSBleHBlY3RcXG4gICAgLy8gdGhlcmUgdG8gYmUgdHdvIGNvbmN1cnJlbnQgcmVuZGVyZXJzIGF0IG1vc3Q6IFJlYWN0IE5hdGl2ZSAocHJpbWFyeSkgYW5kXFxuICAgIC8vIEZhYnJpYyAoc2Vjb25kYXJ5KTsgUmVhY3QgRE9NIChwcmltYXJ5KSBhbmQgUmVhY3QgQVJUIChzZWNvbmRhcnkpLlxcbiAgICAvLyBTZWNvbmRhcnkgcmVuZGVyZXJzIHN0b3JlIHRoZWlyIGNvbnRleHQgdmFsdWVzIG9uIHNlcGFyYXRlIGZpZWxkcy5cXG4gICAgX2N1cnJlbnRWYWx1ZTogZGVmYXVsdFZhbHVlLFxcbiAgICBfY3VycmVudFZhbHVlMjogZGVmYXVsdFZhbHVlLFxcbiAgICAvLyBVc2VkIHRvIHRyYWNrIGhvdyBtYW55IGNvbmN1cnJlbnQgcmVuZGVyZXJzIHRoaXMgY29udGV4dCBjdXJyZW50bHlcXG4gICAgLy8gc3VwcG9ydHMgd2l0aGluIGluIGEgc2luZ2xlIHJlbmRlcmVyLiBTdWNoIGFzIHBhcmFsbGVsIHNlcnZlciByZW5kZXJpbmcuXFxuICAgIF90aHJlYWRDb3VudDogMCxcXG4gICAgLy8gVGhlc2UgYXJlIGNpcmN1bGFyXFxuICAgIFByb3ZpZGVyOiBudWxsLFxcbiAgICBDb25zdW1lcjogbnVsbFxcbiAgfTtcXG4gIGNvbnRleHQuUHJvdmlkZXIgPSB7XFxuICAgICQkdHlwZW9mOiBSRUFDVF9QUk9WSURFUl9UWVBFLFxcbiAgICBfY29udGV4dDogY29udGV4dFxcbiAgfTtcXG4gIHZhciBoYXNXYXJuZWRBYm91dFVzaW5nTmVzdGVkQ29udGV4dENvbnN1bWVycyA9IGZhbHNlO1xcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XFxuXFxuICB7XFxuICAgIC8vIEEgc2VwYXJhdGUgb2JqZWN0LCBidXQgcHJveGllcyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBjb250ZXh0IG9iamVjdCBmb3JcXG4gICAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuIEl0IGhhcyBhIGRpZmZlcmVudCAkJHR5cGVvZiwgc28gd2UgY2FuIHByb3Blcmx5XFxuICAgIC8vIHdhcm4gZm9yIHRoZSBpbmNvcnJlY3QgdXNhZ2Ugb2YgQ29udGV4dCBhcyBhIENvbnN1bWVyLlxcbiAgICB2YXIgQ29uc3VtZXIgPSB7XFxuICAgICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcXG4gICAgICBfY29udGV4dDogY29udGV4dCxcXG4gICAgICBfY2FsY3VsYXRlQ2hhbmdlZEJpdHM6IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzXFxuICAgIH07IC8vICRGbG93Rml4TWU6IEZsb3cgY29tcGxhaW5zIGFib3V0IG5vdCBzZXR0aW5nIGEgdmFsdWUsIHdoaWNoIGlzIGludGVudGlvbmFsIGhlcmVcXG5cXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcXG4gICAgICBQcm92aWRlcjoge1xcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcXG4gICAgICAgICAgICBoYXNXYXJuZWRBYm91dFVzaW5nQ29uc3VtZXJQcm92aWRlciA9IHRydWU7XFxuXFxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcXG4gICAgICAgICAgfVxcblxcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcXG4gICAgICAgIH0sXFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfUHJvdmlkZXIpIHtcXG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlO1xcbiAgICAgICAgfSxcXG4gICAgICAgIHNldDogZnVuY3Rpb24gKF9jdXJyZW50VmFsdWUpIHtcXG4gICAgICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gX2N1cnJlbnRWYWx1ZTtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIF9jdXJyZW50VmFsdWUyOiB7XFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTI7XFxuICAgICAgICB9LFxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcXG4gICAgICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlMiA9IF9jdXJyZW50VmFsdWUyO1xcbiAgICAgICAgfVxcbiAgICAgIH0sXFxuICAgICAgX3RocmVhZENvdW50OiB7XFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xcbiAgICAgICAgfSxcXG4gICAgICAgIHNldDogZnVuY3Rpb24gKF90aHJlYWRDb3VudCkge1xcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIENvbnN1bWVyOiB7XFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgaWYgKCFoYXNXYXJuZWRBYm91dFVzaW5nTmVzdGVkQ29udGV4dENvbnN1bWVycykge1xcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcXG5cXG4gICAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0LkNvbnN1bWVyLkNvbnN1bWVyPiBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xcbiAgICAgICAgICB9XFxuXFxuICAgICAgICAgIHJldHVybiBjb250ZXh0LkNvbnN1bWVyO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSk7IC8vICRGbG93Rml4TWU6IEZsb3cgY29tcGxhaW5zIGFib3V0IG1pc3NpbmcgcHJvcGVydGllcyBiZWNhdXNlIGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCBkZWZpbmVQcm9wZXJ0eVxcblxcbiAgICBjb250ZXh0LkNvbnN1bWVyID0gQ29uc3VtZXI7XFxuICB9XFxuXFxuICB7XFxuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciA9IG51bGw7XFxuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xcbiAgfVxcblxcbiAgcmV0dXJuIGNvbnRleHQ7XFxufVxcblxcbmZ1bmN0aW9uIGxhenkoY3Rvcikge1xcbiAgdmFyIGxhenlUeXBlID0ge1xcbiAgICAkJHR5cGVvZjogUkVBQ1RfTEFaWV9UWVBFLFxcbiAgICBfY3RvcjogY3RvcixcXG4gICAgLy8gUmVhY3QgdXNlcyB0aGVzZSBmaWVsZHMgdG8gc3RvcmUgdGhlIHJlc3VsdC5cXG4gICAgX3N0YXR1czogLTEsXFxuICAgIF9yZXN1bHQ6IG51bGxcXG4gIH07XFxuXFxuICB7XFxuICAgIC8vIEluIHByb2R1Y3Rpb24sIHRoaXMgd291bGQganVzdCBzZXQgaXQgb24gdGhlIG9iamVjdC5cXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcXG4gICAgdmFyIHByb3BUeXBlcztcXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobGF6eVR5cGUsIHtcXG4gICAgICBkZWZhdWx0UHJvcHM6IHtcXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICByZXR1cm4gZGVmYXVsdFByb3BzO1xcbiAgICAgICAgfSxcXG4gICAgICAgIHNldDogZnVuY3Rpb24gKG5ld0RlZmF1bHRQcm9wcykge1xcbiAgICAgICAgICBlcnJvcignUmVhY3QubGF6eSguLi4pOiBJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIGFzc2lnbiBgZGVmYXVsdFByb3BzYCB0byAnICsgJ2EgbGF6eSBjb21wb25lbnQgaW1wb3J0LiBFaXRoZXIgc3BlY2lmeSB0aGVtIHdoZXJlIHRoZSBjb21wb25lbnQgJyArICdpcyBkZWZpbmVkLCBvciBjcmVhdGUgYSB3cmFwcGluZyBjb21wb25lbnQgYXJvdW5kIGl0LicpO1xcblxcbiAgICAgICAgICBkZWZhdWx0UHJvcHMgPSBuZXdEZWZhdWx0UHJvcHM7IC8vIE1hdGNoIHByb2R1Y3Rpb24gYmVoYXZpb3IgbW9yZSBjbG9zZWx5OlxcblxcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobGF6eVR5cGUsICdkZWZhdWx0UHJvcHMnLCB7XFxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxcbiAgICAgICAgICB9KTtcXG4gICAgICAgIH1cXG4gICAgICB9LFxcbiAgICAgIHByb3BUeXBlczoge1xcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIHJldHVybiBwcm9wVHlwZXM7XFxuICAgICAgICB9LFxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3UHJvcFR5cGVzKSB7XFxuICAgICAgICAgIGVycm9yKCdSZWFjdC5sYXp5KC4uLik6IEl0IGlzIG5vdCBzdXBwb3J0ZWQgdG8gYXNzaWduIGBwcm9wVHlwZXNgIHRvICcgKyAnYSBsYXp5IGNvbXBvbmVudCBpbXBvcnQuIEVpdGhlciBzcGVjaWZ5IHRoZW0gd2hlcmUgdGhlIGNvbXBvbmVudCAnICsgJ2lzIGRlZmluZWQsIG9yIGNyZWF0ZSBhIHdyYXBwaW5nIGNvbXBvbmVudCBhcm91bmQgaXQuJyk7XFxuXFxuICAgICAgICAgIHByb3BUeXBlcyA9IG5ld1Byb3BUeXBlczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XFxuXFxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5VHlwZSwgJ3Byb3BUeXBlcycsIHtcXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXFxuICAgICAgICAgIH0pO1xcbiAgICAgICAgfVxcbiAgICAgIH1cXG4gICAgfSk7XFxuICB9XFxuXFxuICByZXR1cm4gbGF6eVR5cGU7XFxufVxcblxcbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XFxuICB7XFxuICAgIGlmIChyZW5kZXIgIT0gbnVsbCAmJiByZW5kZXIuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSkge1xcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVuZGVyICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVxdWlyZXMgYSByZW5kZXIgZnVuY3Rpb24gYnV0IHdhcyBnaXZlbiAlcy4nLCByZW5kZXIgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgcmVuZGVyKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBpZiAocmVuZGVyLmxlbmd0aCAhPT0gMCAmJiByZW5kZXIubGVuZ3RoICE9PSAyKSB7XFxuICAgICAgICBlcnJvcignZm9yd2FyZFJlZiByZW5kZXIgZnVuY3Rpb25zIGFjY2VwdCBleGFjdGx5IHR3byBwYXJhbWV0ZXJzOiBwcm9wcyBhbmQgcmVmLiAlcycsIHJlbmRlci5sZW5ndGggPT09IDEgPyAnRGlkIHlvdSBmb3JnZXQgdG8gdXNlIHRoZSByZWYgcGFyYW1ldGVyPycgOiAnQW55IGFkZGl0aW9uYWwgcGFyYW1ldGVyIHdpbGwgYmUgdW5kZWZpbmVkLicpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcXG4gICAgICBpZiAocmVuZGVyLmRlZmF1bHRQcm9wcyAhPSBudWxsIHx8IHJlbmRlci5wcm9wVHlwZXMgIT0gbnVsbCkge1xcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBkbyBub3Qgc3VwcG9ydCBwcm9wVHlwZXMgb3IgZGVmYXVsdFByb3BzLiAnICsgJ0RpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgYSBSZWFjdCBjb21wb25lbnQ/Jyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4ge1xcbiAgICAkJHR5cGVvZjogUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSxcXG4gICAgcmVuZGVyOiByZW5kZXJcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XFxuICByZXR1cm4gdHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nIHx8IC8vIE5vdGU6IGl0cyB0eXBlb2YgbWlnaHQgYmUgb3RoZXIgdGhhbiAnc3ltYm9sJyBvciAnbnVtYmVyJyBpZiBpdCdzIGEgcG9seWZpbGwuXFxuICB0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUkVTUE9OREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfU0NPUEVfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9CTE9DS19UWVBFKTtcXG59XFxuXFxuZnVuY3Rpb24gbWVtbyh0eXBlLCBjb21wYXJlKSB7XFxuICB7XFxuICAgIGlmICghaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpKSB7XFxuICAgICAgZXJyb3IoJ21lbW86IFRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgY29tcG9uZW50LiBJbnN0ZWFkICcgKyAncmVjZWl2ZWQ6ICVzJywgdHlwZSA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiB0eXBlKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHtcXG4gICAgJCR0eXBlb2Y6IFJFQUNUX01FTU9fVFlQRSxcXG4gICAgdHlwZTogdHlwZSxcXG4gICAgY29tcGFyZTogY29tcGFyZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbXBhcmVcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIHJlc29sdmVEaXNwYXRjaGVyKCkge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XFxuXFxuICBpZiAoIShkaXNwYXRjaGVyICE9PSBudWxsKSkge1xcbiAgICB7XFxuICAgICAgdGhyb3cgRXJyb3IoIFxcXCJJbnZhbGlkIGhvb2sgY2FsbC4gSG9va3MgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBvZiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxcXG4xLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXFxcbjIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXFxcbjMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXFxcblNlZSBodHRwczovL2ZiLm1lL3JlYWN0LWludmFsaWQtaG9vay1jYWxsIGZvciB0aXBzIGFib3V0IGhvdyB0byBkZWJ1ZyBhbmQgZml4IHRoaXMgcHJvYmxlbS5cXFwiICk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBkaXNwYXRjaGVyO1xcbn1cXG5cXG5mdW5jdGlvbiB1c2VDb250ZXh0KENvbnRleHQsIHVuc3RhYmxlX29ic2VydmVkQml0cykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcblxcbiAge1xcbiAgICBpZiAodW5zdGFibGVfb2JzZXJ2ZWRCaXRzICE9PSB1bmRlZmluZWQpIHtcXG4gICAgICBlcnJvcigndXNlQ29udGV4dCgpIHNlY29uZCBhcmd1bWVudCBpcyByZXNlcnZlZCBmb3IgZnV0dXJlICcgKyAndXNlIGluIFJlYWN0LiBQYXNzaW5nIGl0IGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnWW91IHBhc3NlZDogJXMuJXMnLCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMsIHR5cGVvZiB1bnN0YWJsZV9vYnNlcnZlZEJpdHMgPT09ICdudW1iZXInICYmIEFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzJdKSA/ICdcXFxcblxcXFxuRGlkIHlvdSBjYWxsIGFycmF5Lm1hcCh1c2VDb250ZXh0KT8gJyArICdDYWxsaW5nIEhvb2tzIGluc2lkZSBhIGxvb3AgaXMgbm90IHN1cHBvcnRlZC4gJyArICdMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcnVsZXMtb2YtaG9va3MnIDogJycpO1xcbiAgICB9IC8vIFRPRE86IGFkZCBhIG1vcmUgZ2VuZXJpYyB3YXJuaW5nIGZvciBpbnZhbGlkIHZhbHVlcy5cXG5cXG5cXG4gICAgaWYgKENvbnRleHQuX2NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcXG4gICAgICAvLyBhbmQgbm9ib2R5IHNob3VsZCBiZSB1c2luZyB0aGlzIGluIGV4aXN0aW5nIGNvZGUuXFxuXFxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XFxuICAgICAgICBlcnJvcignQ2FsbGluZyB1c2VDb250ZXh0KENvbnRleHQuQ29uc3VtZXIpIGlzIG5vdCBzdXBwb3J0ZWQsIG1heSBjYXVzZSBidWdzLCBhbmQgd2lsbCBiZSAnICsgJ3JlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIGNhbGwgdXNlQ29udGV4dChDb250ZXh0KSBpbnN0ZWFkPycpO1xcbiAgICAgIH0gZWxzZSBpZiAocmVhbENvbnRleHQuUHJvdmlkZXIgPT09IENvbnRleHQpIHtcXG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDb250ZXh0KENvbnRleHQsIHVuc3RhYmxlX29ic2VydmVkQml0cyk7XFxufVxcbmZ1bmN0aW9uIHVzZVN0YXRlKGluaXRpYWxTdGF0ZSkge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlU3RhdGUoaW5pdGlhbFN0YXRlKTtcXG59XFxuZnVuY3Rpb24gdXNlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XFxuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xcbn1cXG5mdW5jdGlvbiB1c2VSZWYoaW5pdGlhbFZhbHVlKSB7XFxuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWYoaW5pdGlhbFZhbHVlKTtcXG59XFxuZnVuY3Rpb24gdXNlRWZmZWN0KGNyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XFxufVxcbmZ1bmN0aW9uIHVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcXG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcXG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xcbn1cXG5mdW5jdGlvbiB1c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xcbn1cXG5mdW5jdGlvbiB1c2VNZW1vKGNyZWF0ZSwgZGVwcykge1xcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlTWVtbyhjcmVhdGUsIGRlcHMpO1xcbn1cXG5mdW5jdGlvbiB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKSB7XFxuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XFxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcXG59XFxuZnVuY3Rpb24gdXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcXG4gIHtcXG4gICAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xcbiAgICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbik7XFxuICB9XFxufVxcblxcbnZhciBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bjtcXG5cXG57XFxuICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XFxuICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcXG5cXG4gICAgaWYgKG5hbWUpIHtcXG4gICAgICByZXR1cm4gJ1xcXFxuXFxcXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG5hbWUgKyAnYC4nO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gJyc7XFxufVxcblxcbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtKHNvdXJjZSkge1xcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XFxuICAgIHZhciBmaWxlTmFtZSA9IHNvdXJjZS5maWxlTmFtZS5yZXBsYWNlKC9eLipbXFxcXFxcXFxcXFxcL10vLCAnJyk7XFxuICAgIHZhciBsaW5lTnVtYmVyID0gc291cmNlLmxpbmVOdW1iZXI7XFxuICAgIHJldHVybiAnXFxcXG5cXFxcbkNoZWNrIHlvdXIgY29kZSBhdCAnICsgZmlsZU5hbWUgKyAnOicgKyBsaW5lTnVtYmVyICsgJy4nO1xcbiAgfVxcblxcbiAgcmV0dXJuICcnO1xcbn1cXG5cXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKGVsZW1lbnRQcm9wcykge1xcbiAgaWYgKGVsZW1lbnRQcm9wcyAhPT0gbnVsbCAmJiBlbGVtZW50UHJvcHMgIT09IHVuZGVmaW5lZCkge1xcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcXG4gIH1cXG5cXG4gIHJldHVybiAnJztcXG59XFxuLyoqXFxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxcbiAqIG9iamVjdCBrZXlzIGFyZSBub3QgdmFsaWQuIFRoaXMgYWxsb3dzIHVzIHRvIGtlZXAgdHJhY2sgb2YgY2hpbGRyZW4gYmV0d2VlblxcbiAqIHVwZGF0ZXMuXFxuICovXFxuXFxuXFxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xcblxcbmZ1bmN0aW9uIGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSkge1xcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcXG5cXG4gIGlmICghaW5mbykge1xcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcXG5cXG4gICAgaWYgKHBhcmVudE5hbWUpIHtcXG4gICAgICBpbmZvID0gXFxcIlxcXFxuXFxcXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcXFwiICsgcGFyZW50TmFtZSArIFxcXCI+LlxcXCI7XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiBpbmZvO1xcbn1cXG4vKipcXG4gKiBXYXJuIGlmIHRoZSBlbGVtZW50IGRvZXNuJ3QgaGF2ZSBhbiBleHBsaWNpdCBrZXkgYXNzaWduZWQgdG8gaXQuXFxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXFxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXFxuICogaGF2ZSBhIFxcXCJrZXlcXFwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxcbiAqXFxuICogQGludGVybmFsXFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxcbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBlbGVtZW50J3MgcGFyZW50J3MgdHlwZS5cXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcXG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkID0gdHJ1ZTtcXG4gIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcXG5cXG4gIGlmIChvd25lckhhc0tleVVzZVdhcm5pbmdbY3VycmVudENvbXBvbmVudEVycm9ySW5mb10pIHtcXG4gICAgcmV0dXJuO1xcbiAgfVxcblxcbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dID0gdHJ1ZTsgLy8gVXN1YWxseSB0aGUgY3VycmVudCBvd25lciBpcyB0aGUgb2ZmZW5kZXIsIGJ1dCBpZiBpdCBhY2NlcHRzIGNoaWxkcmVuIGFzIGFcXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcXG4gIC8vIGFzc2lnbmluZyBpdCBhIGtleS5cXG5cXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XFxuXFxuICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cXG4gICAgY2hpbGRPd25lciA9IFxcXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXFxcIiArIGdldENvbXBvbmVudE5hbWUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcXFwiLlxcXCI7XFxuICB9XFxuXFxuICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcXG5cXG4gIHtcXG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFxcXCJrZXlcXFwiIHByb3AuJyArICclcyVzIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmcta2V5cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLCBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvLCBjaGlsZE93bmVyKTtcXG4gIH1cXG5cXG4gIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xcbn1cXG4vKipcXG4gKiBFbnN1cmUgdGhhdCBldmVyeSBlbGVtZW50IGVpdGhlciBpcyBwYXNzZWQgaW4gYSBzdGF0aWMgbG9jYXRpb24sIGluIGFuXFxuICogYXJyYXkgd2l0aCBhbiBleHBsaWNpdCBrZXlzIHByb3BlcnR5IGRlZmluZWQsIG9yIGluIGFuIG9iamVjdCBsaXRlcmFsXFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXFxuICpcXG4gKiBAaW50ZXJuYWxcXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgbm9kZSdzIHBhcmVudCdzIHR5cGUuXFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEtleXMobm9kZSwgcGFyZW50VHlwZSkge1xcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xcbiAgICByZXR1cm47XFxuICB9XFxuXFxuICBpZiAoQXJyYXkuaXNBcnJheShub2RlKSkge1xcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUubGVuZ3RoOyBpKyspIHtcXG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xcblxcbiAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChjaGlsZCkpIHtcXG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xcbiAgICAvLyBUaGlzIGVsZW1lbnQgd2FzIHBhc3NlZCBpbiBhIHZhbGlkIGxvY2F0aW9uLlxcbiAgICBpZiAobm9kZS5fc3RvcmUpIHtcXG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xcbiAgICB9XFxuICB9IGVsc2UgaWYgKG5vZGUpIHtcXG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xcblxcbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXFxuICAgICAgLy8gYnV0IG5vdyB3ZSBwcmludCBhIHNlcGFyYXRlIHdhcm5pbmcgZm9yIHRoZW0gbGF0ZXIuXFxuICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xcbiAgICAgICAgdmFyIHN0ZXA7XFxuXFxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XFxuICAgICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChzdGVwLnZhbHVlKSkge1xcbiAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuLyoqXFxuICogR2l2ZW4gYW4gZWxlbWVudCwgdmFsaWRhdGUgdGhhdCBpdHMgcHJvcHMgZm9sbG93IHRoZSBwcm9wVHlwZXMgZGVmaW5pdGlvbixcXG4gKiBwcm92aWRlZCBieSB0aGUgdHlwZS5cXG4gKlxcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBlbGVtZW50XFxuICovXFxuXFxuXFxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wVHlwZXMoZWxlbWVudCkge1xcbiAge1xcbiAgICB2YXIgdHlwZSA9IGVsZW1lbnQudHlwZTtcXG5cXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUodHlwZSk7XFxuICAgIHZhciBwcm9wVHlwZXM7XFxuXFxuICAgIGlmICh0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBOb3RlOiBNZW1vIG9ubHkgY2hlY2tzIG91dGVyIHByb3BzIGhlcmUuXFxuICAgIC8vIElubmVyIHByb3BzIGFyZSBjaGVja2VkIGluIHRoZSByZWNvbmNpbGVyLlxcbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XFxuICAgICAgcHJvcFR5cGVzID0gdHlwZS5wcm9wVHlwZXM7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGlmIChwcm9wVHlwZXMpIHtcXG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcXG4gICAgICBjaGVja1Byb3BUeXBlcyhwcm9wVHlwZXMsIGVsZW1lbnQucHJvcHMsICdwcm9wJywgbmFtZSwgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKTtcXG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcXG4gICAgfSBlbHNlIGlmICh0eXBlLlByb3BUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bikge1xcbiAgICAgIHByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duID0gdHJ1ZTtcXG5cXG4gICAgICBlcnJvcignQ29tcG9uZW50ICVzIGRlY2xhcmVkIGBQcm9wVHlwZXNgIGluc3RlYWQgb2YgYHByb3BUeXBlc2AuIERpZCB5b3UgbWlzc3BlbGwgdGhlIHByb3BlcnR5IGFzc2lnbm1lbnQ/JywgbmFtZSB8fCAnVW5rbm93bicpO1xcbiAgICB9XFxuXFxuICAgIGlmICh0eXBlb2YgdHlwZS5nZXREZWZhdWx0UHJvcHMgPT09ICdmdW5jdGlvbicgJiYgIXR5cGUuZ2V0RGVmYXVsdFByb3BzLmlzUmVhY3RDbGFzc0FwcHJvdmVkKSB7XFxuICAgICAgZXJyb3IoJ2dldERlZmF1bHRQcm9wcyBpcyBvbmx5IHVzZWQgb24gY2xhc3NpYyBSZWFjdC5jcmVhdGVDbGFzcyAnICsgJ2RlZmluaXRpb25zLiBVc2UgYSBzdGF0aWMgcHJvcGVydHkgbmFtZWQgYGRlZmF1bHRQcm9wc2AgaW5zdGVhZC4nKTtcXG4gICAgfVxcbiAgfVxcbn1cXG4vKipcXG4gKiBHaXZlbiBhIGZyYWdtZW50LCB2YWxpZGF0ZSB0aGF0IGl0IGNhbiBvbmx5IGJlIHByb3ZpZGVkIHdpdGggZnJhZ21lbnQgcHJvcHNcXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZnJhZ21lbnRcXG4gKi9cXG5cXG5cXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcXG4gIHtcXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZnJhZ21lbnQpO1xcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGZyYWdtZW50LnByb3BzKTtcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGtleSA9IGtleXNbaV07XFxuXFxuICAgICAgaWYgKGtleSAhPT0gJ2NoaWxkcmVuJyAmJiBrZXkgIT09ICdrZXknKSB7XFxuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XFxuXFxuICAgICAgICBicmVhaztcXG4gICAgICB9XFxuICAgIH1cXG5cXG4gICAgaWYgKGZyYWdtZW50LnJlZiAhPT0gbnVsbCkge1xcbiAgICAgIGVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBgcmVmYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLicpO1xcbiAgICB9XFxuXFxuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xcbiAgfVxcbn1cXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XFxuICB2YXIgdmFsaWRUeXBlID0gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpOyAvLyBXZSB3YXJuIGluIHRoaXMgY2FzZSBidXQgZG9uJ3QgdGhyb3cuIFdlIGV4cGVjdCB0aGUgZWxlbWVudCBjcmVhdGlvbiB0b1xcbiAgLy8gc3VjY2VlZCBhbmQgdGhlcmUgd2lsbCBsaWtlbHkgYmUgZXJyb3JzIGluIHJlbmRlci5cXG5cXG4gIGlmICghdmFsaWRUeXBlKSB7XFxuICAgIHZhciBpbmZvID0gJyc7XFxuXFxuICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XFxuICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcXFwiaXQncyBkZWZpbmVkIGluLCBvciB5b3UgbWlnaHQgaGF2ZSBtaXhlZCB1cCBkZWZhdWx0IGFuZCBuYW1lZCBpbXBvcnRzLlxcXCI7XFxuICAgIH1cXG5cXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcXG5cXG4gICAgaWYgKHNvdXJjZUluZm8pIHtcXG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XFxuICAgIH0gZWxzZSB7XFxuICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcXG4gICAgfVxcblxcbiAgICB2YXIgdHlwZVN0cmluZztcXG5cXG4gICAgaWYgKHR5cGUgPT09IG51bGwpIHtcXG4gICAgICB0eXBlU3RyaW5nID0gJ251bGwnO1xcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodHlwZSkpIHtcXG4gICAgICB0eXBlU3RyaW5nID0gJ2FycmF5JztcXG4gICAgfSBlbHNlIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XFxuICAgICAgdHlwZVN0cmluZyA9IFxcXCI8XFxcIiArIChnZXRDb21wb25lbnROYW1lKHR5cGUudHlwZSkgfHwgJ1Vua25vd24nKSArIFxcXCIgLz5cXFwiO1xcbiAgICAgIGluZm8gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IGV4cG9ydCBhIEpTWCBsaXRlcmFsIGluc3RlYWQgb2YgYSBjb21wb25lbnQ/JztcXG4gICAgfSBlbHNlIHtcXG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XFxuICAgIH1cXG5cXG4gICAge1xcbiAgICAgIGVycm9yKCdSZWFjdC5jcmVhdGVFbGVtZW50OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xcbiAgICB9XFxuICB9XFxuXFxuICB2YXIgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gVGhlIHJlc3VsdCBjYW4gYmUgbnVsbGlzaCBpZiBhIG1vY2sgb3IgYSBjdXN0b20gZnVuY3Rpb24gaXMgdXNlZC5cXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cXG5cXG4gIGlmIChlbGVtZW50ID09IG51bGwpIHtcXG4gICAgcmV0dXJuIGVsZW1lbnQ7XFxuICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXFxuICAvLyBkb2Vzbid0IGV4cGVjdCBhIG5vbi1zdHJpbmcvZnVuY3Rpb24gdHlwZSBhbmQgY2FuIHRocm93IGNvbmZ1c2luZyBlcnJvcnMuXFxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXFxuICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xcbiAgLy8gZml4ZWQsIHRoZSBrZXkgd2FybmluZ3Mgd2lsbCBhcHBlYXIuKVxcblxcblxcbiAgaWYgKHZhbGlkVHlwZSkge1xcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xcbiAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgdHlwZSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFKSB7XFxuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGVsZW1lbnQ7XFxufVxcbnZhciBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IGZhbHNlO1xcbmZ1bmN0aW9uIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbih0eXBlKSB7XFxuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xcbiAgdmFsaWRhdGVkRmFjdG9yeS50eXBlID0gdHlwZTtcXG5cXG4gIHtcXG4gICAgaWYgKCFkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSkge1xcbiAgICAgIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gdHJ1ZTtcXG5cXG4gICAgICB3YXJuKCdSZWFjdC5jcmVhdGVGYWN0b3J5KCkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgdXNpbmcgSlNYICcgKyAnb3IgdXNlIFJlYWN0LmNyZWF0ZUVsZW1lbnQoKSBkaXJlY3RseSBpbnN0ZWFkLicpO1xcbiAgICB9IC8vIExlZ2FjeSBob29rOiByZW1vdmUgaXRcXG5cXG5cXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbGlkYXRlZEZhY3RvcnksICd0eXBlJywge1xcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xcbiAgICAgICAgd2FybignRmFjdG9yeS50eXBlIGlzIGRlcHJlY2F0ZWQuIEFjY2VzcyB0aGUgY2xhc3MgZGlyZWN0bHkgJyArICdiZWZvcmUgcGFzc2luZyBpdCB0byBjcmVhdGVGYWN0b3J5LicpO1xcblxcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0eXBlJywge1xcbiAgICAgICAgICB2YWx1ZTogdHlwZVxcbiAgICAgICAgfSk7XFxuICAgICAgICByZXR1cm4gdHlwZTtcXG4gICAgICB9XFxuICAgIH0pO1xcbiAgfVxcblxcbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XFxufVxcbmZ1bmN0aW9uIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uKGVsZW1lbnQsIHByb3BzLCBjaGlsZHJlbikge1xcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG5cXG4gIGZvciAodmFyIGkgPSAyOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XFxuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcXG4gIH1cXG5cXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XFxufVxcblxcbntcXG5cXG4gIHRyeSB7XFxuICAgIHZhciBmcm96ZW5PYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcXG4gICAgdmFyIHRlc3RNYXAgPSBuZXcgTWFwKFtbZnJvemVuT2JqZWN0LCBudWxsXV0pO1xcbiAgICB2YXIgdGVzdFNldCA9IG5ldyBTZXQoW2Zyb3plbk9iamVjdF0pOyAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgUm9sbHVwIHRvIG5vdCBjb25zaWRlciB0aGVzZSB1bnVzZWQuXFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2xsdXAvcm9sbHVwL2lzc3Vlcy8xNzcxXFxuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhlc2UgaWYgUm9sbHVwIGZpeGVzIHRoZSBidWcuXFxuXFxuICAgIHRlc3RNYXAuc2V0KDAsIDApO1xcbiAgICB0ZXN0U2V0LmFkZCgwKTtcXG4gIH0gY2F0Y2ggKGUpIHtcXG4gIH1cXG59XFxuXFxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xcbnZhciBjbG9uZUVsZW1lbnQkMSA9ICBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbiA7XFxudmFyIGNyZWF0ZUZhY3RvcnkgPSAgY3JlYXRlRmFjdG9yeVdpdGhWYWxpZGF0aW9uIDtcXG52YXIgQ2hpbGRyZW4gPSB7XFxuICBtYXA6IG1hcENoaWxkcmVuLFxcbiAgZm9yRWFjaDogZm9yRWFjaENoaWxkcmVuLFxcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXFxuICB0b0FycmF5OiB0b0FycmF5LFxcbiAgb25seTogb25seUNoaWxkXFxufTtcXG5cXG5leHBvcnRzLkNoaWxkcmVuID0gQ2hpbGRyZW47XFxuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XFxuZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XFxuZXhwb3J0cy5Qcm9maWxlciA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XFxuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcXG5leHBvcnRzLlN0cmljdE1vZGUgPSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFO1xcbmV4cG9ydHMuU3VzcGVuc2UgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcXG5leHBvcnRzLmNsb25lRWxlbWVudCA9IGNsb25lRWxlbWVudCQxO1xcbmV4cG9ydHMuY3JlYXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ7XFxuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xcbmV4cG9ydHMuY3JlYXRlRmFjdG9yeSA9IGNyZWF0ZUZhY3Rvcnk7XFxuZXhwb3J0cy5jcmVhdGVSZWYgPSBjcmVhdGVSZWY7XFxuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcXG5leHBvcnRzLmlzVmFsaWRFbGVtZW50ID0gaXNWYWxpZEVsZW1lbnQ7XFxuZXhwb3J0cy5sYXp5ID0gbGF6eTtcXG5leHBvcnRzLm1lbW8gPSBtZW1vO1xcbmV4cG9ydHMudXNlQ2FsbGJhY2sgPSB1c2VDYWxsYmFjaztcXG5leHBvcnRzLnVzZUNvbnRleHQgPSB1c2VDb250ZXh0O1xcbmV4cG9ydHMudXNlRGVidWdWYWx1ZSA9IHVzZURlYnVnVmFsdWU7XFxuZXhwb3J0cy51c2VFZmZlY3QgPSB1c2VFZmZlY3Q7XFxuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcXG5leHBvcnRzLnVzZUxheW91dEVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcXG5leHBvcnRzLnVzZU1lbW8gPSB1c2VNZW1vO1xcbmV4cG9ydHMudXNlUmVkdWNlciA9IHVzZVJlZHVjZXI7XFxuZXhwb3J0cy51c2VSZWYgPSB1c2VSZWY7XFxuZXhwb3J0cy51c2VTdGF0ZSA9IHVzZVN0YXRlO1xcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcXG4gIH0pKCk7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmpkQzlqYW5NdmNtVmhZM1F1WkdWMlpXeHZjRzFsYm5RdWFuTS9PV00wT0NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZoT3pzN08wRkJTV0lzU1VGQlNTeEpRVUZ4UXp0QlFVTjZRenRCUVVOQk96dEJRVVZCTEdOQlFXTXNiVUpCUVU4c1EwRkJReXcwUkVGQlpUdEJRVU55UXl4eFFrRkJjVUlzYlVKQlFVOHNRMEZCUXl3NFJVRkJNa0k3TzBGQlJYaEVPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxEQkZRVUV3UlR0QlFVTXhSVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3haUVVGWk8wRkJRMW83UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmxCUVZrN1FVRkRXanRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEcxQ1FVRnRRanM3UVVGRmJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE96czdRVUZIVERzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTd3dSa0ZCTUVZc1lVRkJZVHRCUVVOMlJ6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzRSa0ZCT0VZc1pVRkJaVHRCUVVNM1J6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxMRVZCUVVVN08wRkJSVkFzYVVSQlFXbEVPMEZCUTJwRU8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTdzRUVUZCT0UwN08wRkJSVGxOTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1lVRkJZU3hYUVVGWE8wRkJRM2hDTEdOQlFXTXNVVUZCVVR0QlFVTjBRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxHRkJRV0VzVjBGQlZ6dEJRVU40UWl4aFFVRmhMRlZCUVZVN1FVRkRka0lzWVVGQllTeFJRVUZSTzBGQlEzSkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdRVUZGU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdGQlFXRXNWMEZCVnp0QlFVTjRRaXhoUVVGaExFOUJRVTg3UVVGRGNFSXNZVUZCWVN4VlFVRlZPMEZCUTNaQ0xHRkJRV0VzVVVGQlVUdEJRVU55UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3TzBGQlJVZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzWVVGQllTeFhRVUZYTzBGQlEzaENMR0ZCUVdFc1QwRkJUenRCUVVOd1FpeGhRVUZoTEZWQlFWVTdRVUZEZGtJc1lVRkJZU3hSUVVGUk8wRkJRM0pDTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRU3g1UWtGQmVVSTdPMEZCUlhwQ0xEQkNRVUV3UWp0QlFVTXhRanM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hYUVVGWExHZENRVUZuUWp0QlFVTXpRanRCUVVOQkxGZEJRVmNzVlVGQlZUdEJRVU55UWp0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWVUZCVlR0QlFVTnlRanRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPenRCUVVkQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEhsQ1FVRjVRanM3UVVGRmVrSTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYlVSQlFXMUVPenRCUVVWdVJEczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NSVUZCUlR0QlFVTmlMRmRCUVZjc1JVRkJSVHRCUVVOaUxGZEJRVmNzUlVGQlJUdEJRVU5pTEZkQlFWY3NZMEZCWXp0QlFVTjZRaXhYUVVGWExFVkJRVVU3UVVGRFlpeFhRVUZYTEVWQlFVVTdRVUZEWWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzUlVGQlJUdEJRVU5pTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDNRa0ZCZDBJN1FVRkRlRUk3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTEVWQlFVVTdPMEZCUlZBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVc3NSVUZCUlR0QlFVTlFPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1pVRkJaVHM3UVVGRlpqdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRU3h2UlVGQmIwVTdPMEZCUlhCRk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRXNiVUpCUVcxQ0xHOUNRVUZ2UWp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZIT3pzN1FVRkhTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdWQlFXVTdPMEZCUldZc2QwSkJRWGRDTEdsQ1FVRnBRanM3TzBGQlIzcERPMEZCUTBFc2QwSkJRWGRDT3p0QlFVVjRRaXd5UWtGQk1rSTdRVUZETTBJN1FVRkRRVHM3UVVGRlFTd3JRa0ZCSzBJN08wRkJSUzlDT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1MwRkJTenM3TzBGQlIwdzdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN096dEJRVWRCT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRXNiVUpCUVcxQ0xHOUNRVUZ2UWp0QlFVTjJRenRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVVUZCVVR0QlFVTnVRaXhaUVVGWkxGRkJRVkU3UVVGRGNFSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzVDBGQlR6dEJRVU5zUWl4WlFVRlpMRTlCUVU4N1FVRkRia0k3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGZEJRVmNzUjBGQlJ6dEJRVU5rTEZkQlFWY3NVVUZCVVR0QlFVTnVRaXhYUVVGWExGVkJRVlU3UVVGRGNrSXNWMEZCVnl4SFFVRkhPMEZCUTJRN1FVRkRRU3haUVVGWkxGRkJRVkU3UVVGRGNFSTdPenRCUVVkQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzZFVKQlFYVkNPenRCUVVWMlFqczdRVUZGUVR0QlFVTkJMRzFDUVVGdFFpeHhRa0ZCY1VJN1FVRkRlRU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMSE5KUVVGelNTeDVRMEZCZVVNN1FVRkRMMHM3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFhRVUZYTEVkQlFVYzdRVUZEWkN4WFFVRlhMRlZCUVZVN1FVRkRja0lzVjBGQlZ5eEhRVUZITzBGQlEyUXNXVUZCV1N4UlFVRlJPMEZCUTNCQ096czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1YwRkJWeXhGUVVGRk8wRkJRMklzVjBGQlZ5eFBRVUZQTzBGQlEyeENMRmxCUVZrN1FVRkRXanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6czdPMEZCUjBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1IwRkJSenRCUVVOa0xGZEJRVmNzYVVKQlFXbENPMEZCUXpWQ0xGZEJRVmNzUlVGQlJUdEJRVU5pT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1MRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRWRCUVVjN1FVRkRaQ3hYUVVGWExHbENRVUZwUWp0QlFVTTFRaXhYUVVGWExFVkJRVVU3UVVGRFlpeFpRVUZaTEU5QlFVODdRVUZEYmtJN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eEhRVUZITzBGQlEyUXNXVUZCV1N4UFFVRlBPMEZCUTI1Q096czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN096dEJRVWRCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NVVUZCVVR0QlFVTnVRaXhaUVVGWkxHRkJRV0U3UVVGRGVrSTdRVUZEUVRzN08wRkJSMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3d1FrRkJNRUk3UVVGRE1VSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEUxQlFVMDdPMEZCUlU0N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzVTBGQlV6dEJRVU5VTzBGQlEwRTdRVUZEUVR0QlFVTkJMRTlCUVU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CTEZOQlFWTTdRVUZEVkR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzc1JVRkJSVHM3UVVGRlVEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUczdRVUZGUVN4NVEwRkJlVU03TzBGQlJYcERPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUczdRVUZGUVN4dFEwRkJiVU03TzBGQlJXNURPMEZCUTBFN1FVRkRRU3hYUVVGWE8wRkJRMWc3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenM3UVVGSFREdEJRVU5CTEhsRFFVRjVRenRCUVVONlF6czdRVUZGUVR0QlFVTkJPMEZCUTBFc1QwRkJUenRCUVVOUU8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN08wRkJSMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eGhRVUZoTzBGQlEzaENMRmRCUVZjc1JVRkJSVHRCUVVOaU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTd3dSRUZCTUVRN1FVRkRNVVE3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NWVUZCVlR0QlFVTnlRaXhYUVVGWExFVkJRVVU3UVVGRFlqczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4dFFrRkJiVUlzYVVKQlFXbENPMEZCUTNCRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEZkQlFWY3NZVUZCWVR0QlFVTjRRanM3TzBGQlIwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRmRCUVZjc1lVRkJZVHRCUVVONFFqczdPMEZCUjBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNiVUpCUVcxQ0xHbENRVUZwUWp0QlFVTndRenM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3lRMEZCTWtNN1FVRkRNME03TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEhGRVFVRnhSRHRCUVVOeVJEczdRVUZGUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQkxHMUNRVUZ0UWl4elFrRkJjMEk3UVVGRGVrTTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNTMEZCU3pzN08wRkJSMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeHpRa0ZCYzBJN1FVRkRka003UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVN4MVEwRkJkVU03UVVGRGRrTTdRVUZEUVN3d1EwRkJNRU03UVVGRE1VTTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZ2lMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhZM1F2WTJwekwzSmxZV04wTG1SbGRtVnNiM0J0Wlc1MExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FJRUJzYVdObGJuTmxJRkpsWVdOMElIWXhOaTR4TXk0eFhHNGdLaUJ5WldGamRDNWtaWFpsYkc5d2JXVnVkQzVxYzF4dUlDcGNiaUFxSUVOdmNIbHlhV2RvZENBb1l5a2dSbUZqWldKdmIyc3NJRWx1WXk0Z1lXNWtJR2wwY3lCaFptWnBiR2xoZEdWekxseHVJQ3BjYmlBcUlGUm9hWE1nYzI5MWNtTmxJR052WkdVZ2FYTWdiR2xqWlc1elpXUWdkVzVrWlhJZ2RHaGxJRTFKVkNCc2FXTmxibk5sSUdadmRXNWtJR2x1SUhSb1pWeHVJQ29nVEVsRFJVNVRSU0JtYVd4bElHbHVJSFJvWlNCeWIyOTBJR1JwY21WamRHOXllU0J2WmlCMGFHbHpJSE52ZFhKalpTQjBjbVZsTGx4dUlDb3ZYRzVjYmlkMWMyVWdjM1J5YVdOMEp6dGNibHh1WEc1Y2JtbG1JQ2h3Y205alpYTnpMbVZ1ZGk1T1QwUkZYMFZPVmlBaFBUMGdYQ0p3Y205a2RXTjBhVzl1WENJcElIdGNiaUFnS0daMWJtTjBhVzl1S0NrZ2UxeHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNTJZWElnWDJGemMybG5iaUE5SUhKbGNYVnBjbVVvSjI5aWFtVmpkQzFoYzNOcFoyNG5LVHRjYm5aaGNpQmphR1ZqYTFCeWIzQlVlWEJsY3lBOUlISmxjWFZwY21Vb0ozQnliM0F0ZEhsd1pYTXZZMmhsWTJ0UWNtOXdWSGx3WlhNbktUdGNibHh1ZG1GeUlGSmxZV04wVm1WeWMybHZiaUE5SUNjeE5pNHhNeTR4Snp0Y2JseHVMeThnVkdobElGTjViV0p2YkNCMWMyVmtJSFJ2SUhSaFp5QjBhR1VnVW1WaFkzUkZiR1Z0Wlc1MExXeHBhMlVnZEhsd1pYTXVJRWxtSUhSb1pYSmxJR2x6SUc1dklHNWhkR2wyWlNCVGVXMWliMnhjYmk4dklHNXZjaUJ3YjJ4NVptbHNiQ3dnZEdobGJpQmhJSEJzWVdsdUlHNTFiV0psY2lCcGN5QjFjMlZrSUdadmNpQndaWEptYjNKdFlXNWpaUzVjYm5aaGNpQm9ZWE5UZVcxaWIyd2dQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlGTjViV0p2YkM1bWIzSTdYRzUyWVhJZ1VrVkJRMVJmUlV4RlRVVk9WRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1Wld4bGJXVnVkQ2NwSURvZ01IaGxZV00zTzF4dWRtRnlJRkpGUVVOVVgxQlBVbFJCVEY5VVdWQkZJRDBnYUdGelUzbHRZbTlzSUQ4Z1UzbHRZbTlzTG1admNpZ25jbVZoWTNRdWNHOXlkR0ZzSnlrZ09pQXdlR1ZoWTJFN1hHNTJZWElnVWtWQlExUmZSbEpCUjAxRlRsUmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbVp5WVdkdFpXNTBKeWtnT2lBd2VHVmhZMkk3WEc1MllYSWdVa1ZCUTFSZlUxUlNTVU5VWDAxUFJFVmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbk4wY21samRGOXRiMlJsSnlrZ09pQXdlR1ZoWTJNN1hHNTJZWElnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbkJ5YjJacGJHVnlKeWtnT2lBd2VHVmhaREk3WEc1MllYSWdVa1ZCUTFSZlVGSlBWa2xFUlZKZlZGbFFSU0E5SUdoaGMxTjViV0p2YkNBL0lGTjViV0p2YkM1bWIzSW9KM0psWVdOMExuQnliM1pwWkdWeUp5a2dPaUF3ZUdWaFkyUTdYRzUyWVhJZ1VrVkJRMVJmUTA5T1ZFVllWRjlVV1ZCRklEMGdhR0Z6VTNsdFltOXNJRDhnVTNsdFltOXNMbVp2Y2lnbmNtVmhZM1F1WTI5dWRHVjRkQ2NwSURvZ01IaGxZV05sT3lBdkx5QlVUMFJQT2lCWFpTQmtiMjRuZENCMWMyVWdRWE41Ym1OTmIyUmxJRzl5SUVOdmJtTjFjbkpsYm5STmIyUmxJR0Z1ZVcxdmNtVXVJRlJvWlhrZ2QyVnlaU0IwWlcxd2IzSmhjbmxjYm5aaGNpQlNSVUZEVkY5RFQwNURWVkpTUlU1VVgwMVBSRVZmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG1OdmJtTjFjbkpsYm5SZmJXOWtaU2NwSURvZ01IaGxZV05tTzF4dWRtRnlJRkpGUVVOVVgwWlBVbGRCVWtSZlVrVkdYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzVtYjNKM1lYSmtYM0psWmljcElEb2dNSGhsWVdRd08xeHVkbUZ5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV6ZFhOd1pXNXpaU2NwSURvZ01IaGxZV1F4TzF4dWRtRnlJRkpGUVVOVVgxTlZVMUJGVGxORlgweEpVMVJmVkZsUVJTQTlJR2hoYzFONWJXSnZiQ0EvSUZONWJXSnZiQzVtYjNJb0ozSmxZV04wTG5OMWMzQmxibk5sWDJ4cGMzUW5LU0E2SURCNFpXRmtPRHRjYm5aaGNpQlNSVUZEVkY5TlJVMVBYMVJaVUVVZ1BTQm9ZWE5UZVcxaWIyd2dQeUJUZVcxaWIyd3VabTl5S0NkeVpXRmpkQzV0Wlcxdkp5a2dPaUF3ZUdWaFpETTdYRzUyWVhJZ1VrVkJRMVJmVEVGYVdWOVVXVkJGSUQwZ2FHRnpVM2x0WW05c0lEOGdVM2x0WW05c0xtWnZjaWduY21WaFkzUXViR0Y2ZVNjcElEb2dNSGhsWVdRME8xeHVkbUZ5SUZKRlFVTlVYMEpNVDBOTFgxUlpVRVVnUFNCb1lYTlRlVzFpYjJ3Z1B5QlRlVzFpYjJ3dVptOXlLQ2R5WldGamRDNWliRzlqYXljcElEb2dNSGhsWVdRNU8xeHVkbUZ5SUZKRlFVTlVYMFpWVGtSQlRVVk9WRUZNWDFSWlVFVWdQU0JvWVhOVGVXMWliMndnUHlCVGVXMWliMnd1Wm05eUtDZHlaV0ZqZEM1bWRXNWtZVzFsYm5SaGJDY3BJRG9nTUhobFlXUTFPMXh1ZG1GeUlGSkZRVU5VWDFKRlUxQlBUa1JGVWw5VVdWQkZJRDBnYUdGelUzbHRZbTlzSUQ4Z1UzbHRZbTlzTG1admNpZ25jbVZoWTNRdWNtVnpjRzl1WkdWeUp5a2dPaUF3ZUdWaFpEWTdYRzUyWVhJZ1VrVkJRMVJmVTBOUFVFVmZWRmxRUlNBOUlHaGhjMU41YldKdmJDQS9JRk41YldKdmJDNW1iM0lvSjNKbFlXTjBMbk5qYjNCbEp5a2dPaUF3ZUdWaFpEYzdYRzUyWVhJZ1RVRlpRa1ZmU1ZSRlVrRlVUMUpmVTFsTlFrOU1JRDBnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnSjJaMWJtTjBhVzl1SnlBbUppQlRlVzFpYjJ3dWFYUmxjbUYwYjNJN1hHNTJZWElnUmtGVldGOUpWRVZTUVZSUFVsOVRXVTFDVDB3Z1BTQW5RRUJwZEdWeVlYUnZjaWM3WEc1bWRXNWpkR2x2YmlCblpYUkpkR1Z5WVhSdmNrWnVLRzFoZVdKbFNYUmxjbUZpYkdVcElIdGNiaUFnYVdZZ0tHMWhlV0psU1hSbGNtRmliR1VnUFQwOUlHNTFiR3dnZkh3Z2RIbHdaVzltSUcxaGVXSmxTWFJsY21GaWJHVWdJVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjJZWElnYldGNVltVkpkR1Z5WVhSdmNpQTlJRTFCV1VKRlgwbFVSVkpCVkU5U1gxTlpUVUpQVENBbUppQnRZWGxpWlVsMFpYSmhZbXhsVzAxQldVSkZYMGxVUlZKQlZFOVNYMU5aVFVKUFRGMGdmSHdnYldGNVltVkpkR1Z5WVdKc1pWdEdRVlZZWDBsVVJWSkJWRTlTWDFOWlRVSlBURjA3WEc1Y2JpQWdhV1lnS0hSNWNHVnZaaUJ0WVhsaVpVbDBaWEpoZEc5eUlEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzFoZVdKbFNYUmxjbUYwYjNJN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JuVnNiRHRjYm4xY2JseHVMeW9xWEc0Z0tpQkxaV1Z3Y3lCMGNtRmpheUJ2WmlCMGFHVWdZM1Z5Y21WdWRDQmthWE53WVhSamFHVnlMbHh1SUNvdlhHNTJZWElnVW1WaFkzUkRkWEp5Wlc1MFJHbHpjR0YwWTJobGNpQTlJSHRjYmlBZ0x5b3FYRzRnSUNBcUlFQnBiblJsY201aGJGeHVJQ0FnS2lCQWRIbHdaU0I3VW1WaFkzUkRiMjF3YjI1bGJuUjlYRzRnSUNBcUwxeHVJQ0JqZFhKeVpXNTBPaUJ1ZFd4c1hHNTlPMXh1WEc0dktpcGNiaUFxSUV0bFpYQnpJSFJ5WVdOcklHOW1JSFJvWlNCamRYSnlaVzUwSUdKaGRHTm9KM01nWTI5dVptbG5kWEpoZEdsdmJpQnpkV05vSUdGeklHaHZkeUJzYjI1bklHRnVJSFZ3WkdGMFpWeHVJQ29nYzJodmRXeGtJSE4xYzNCbGJtUWdabTl5SUdsbUlHbDBJRzVsWldSeklIUnZMbHh1SUNvdlhHNTJZWElnVW1WaFkzUkRkWEp5Wlc1MFFtRjBZMmhEYjI1bWFXY2dQU0I3WEc0Z0lITjFjM0JsYm5ObE9pQnVkV3hzWEc1OU8xeHVYRzR2S2lwY2JpQXFJRXRsWlhCeklIUnlZV05ySUc5bUlIUm9aU0JqZFhKeVpXNTBJRzkzYm1WeUxseHVJQ3BjYmlBcUlGUm9aU0JqZFhKeVpXNTBJRzkzYm1WeUlHbHpJSFJvWlNCamIyMXdiMjVsYm5RZ2QyaHZJSE5vYjNWc1pDQnZkMjRnWVc1NUlHTnZiWEJ2Ym1WdWRITWdkR2hoZENCaGNtVmNiaUFxSUdOMWNuSmxiblJzZVNCaVpXbHVaeUJqYjI1emRISjFZM1JsWkM1Y2JpQXFMMXh1ZG1GeUlGSmxZV04wUTNWeWNtVnVkRTkzYm1WeUlEMGdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHbHVkR1Z5Ym1Gc1hHNGdJQ0FxSUVCMGVYQmxJSHRTWldGamRFTnZiWEJ2Ym1WdWRIMWNiaUFnSUNvdlhHNGdJR04xY25KbGJuUTZJRzUxYkd4Y2JuMDdYRzVjYm5aaGNpQkNSVVpQVWtWZlUweEJVMGhmVWtVZ1BTQXZYaWd1S2lsYlhGeGNYRnhjTDEwdk8xeHVablZ1WTNScGIyNGdaR1Z6WTNKcFltVkRiMjF3YjI1bGJuUkdjbUZ0WlNBb2JtRnRaU3dnYzI5MWNtTmxMQ0J2ZDI1bGNrNWhiV1VwSUh0Y2JpQWdkbUZ5SUhOdmRYSmpaVWx1Wm04Z1BTQW5KenRjYmx4dUlDQnBaaUFvYzI5MWNtTmxLU0I3WEc0Z0lDQWdkbUZ5SUhCaGRHZ2dQU0J6YjNWeVkyVXVabWxzWlU1aGJXVTdYRzRnSUNBZ2RtRnlJR1pwYkdWT1lXMWxJRDBnY0dGMGFDNXlaWEJzWVdObEtFSkZSazlTUlY5VFRFRlRTRjlTUlN3Z0p5Y3BPMXh1WEc0Z0lDQWdlMXh1SUNBZ0lDQWdMeThnU1c0Z1JFVldMQ0JwYm1Oc2RXUmxJR052WkdVZ1ptOXlJR0VnWTI5dGJXOXVJSE53WldOcFlXd2dZMkZ6WlRwY2JpQWdJQ0FnSUM4dklIQnlaV1psY2lCY0ltWnZiR1JsY2k5cGJtUmxlQzVxYzF3aUlHbHVjM1JsWVdRZ2IyWWdhblZ6ZENCY0ltbHVaR1Y0TG1welhDSXVYRzRnSUNBZ0lDQnBaaUFvTDE1cGJtUmxlRnhjTGk4dWRHVnpkQ2htYVd4bFRtRnRaU2twSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzFoZEdOb0lEMGdjR0YwYUM1dFlYUmphQ2hDUlVaUFVrVmZVMHhCVTBoZlVrVXBPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHRZWFJqYUNrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCd1lYUm9RbVZtYjNKbFUyeGhjMmdnUFNCdFlYUmphRnN4WFR0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNod1lYUm9RbVZtYjNKbFUyeGhjMmdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCbWIyeGtaWEpPWVcxbElEMGdjR0YwYUVKbFptOXlaVk5zWVhOb0xuSmxjR3hoWTJVb1FrVkdUMUpGWDFOTVFWTklYMUpGTENBbkp5azdYRzRnSUNBZ0lDQWdJQ0FnSUNCbWFXeGxUbUZ0WlNBOUlHWnZiR1JsY2s1aGJXVWdLeUFuTHljZ0t5Qm1hV3hsVG1GdFpUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J6YjNWeVkyVkpibVp2SUQwZ0p5QW9ZWFFnSnlBcklHWnBiR1ZPWVcxbElDc2dKem9uSUNzZ2MyOTFjbU5sTG14cGJtVk9kVzFpWlhJZ0t5QW5LU2M3WEc0Z0lIMGdaV3h6WlNCcFppQW9iM2R1WlhKT1lXMWxLU0I3WEc0Z0lDQWdjMjkxY21ObFNXNW1ieUE5SUNjZ0tHTnlaV0YwWldRZ1lua2dKeUFySUc5M2JtVnlUbUZ0WlNBcklDY3BKenRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUFuWEZ4dUlDQWdJR2x1SUNjZ0t5QW9ibUZ0WlNCOGZDQW5WVzVyYm05M2JpY3BJQ3NnYzI5MWNtTmxTVzVtYnp0Y2JuMWNibHh1ZG1GeUlGSmxjMjlzZG1Wa0lEMGdNVHRjYm1aMWJtTjBhVzl1SUhKbFptbHVaVkpsYzI5c2RtVmtUR0Y2ZVVOdmJYQnZibVZ1ZENoc1lYcDVRMjl0Y0c5dVpXNTBLU0I3WEc0Z0lISmxkSFZ5YmlCc1lYcDVRMjl0Y0c5dVpXNTBMbDl6ZEdGMGRYTWdQVDA5SUZKbGMyOXNkbVZrSUQ4Z2JHRjZlVU52YlhCdmJtVnVkQzVmY21WemRXeDBJRG9nYm5Wc2JEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1oyVjBWM0poY0hCbFpFNWhiV1VvYjNWMFpYSlVlWEJsTENCcGJtNWxjbFI1Y0dVc0lIZHlZWEJ3WlhKT1lXMWxLU0I3WEc0Z0lIWmhjaUJtZFc1amRHbHZiazVoYldVZ1BTQnBibTVsY2xSNWNHVXVaR2x6Y0d4aGVVNWhiV1VnZkh3Z2FXNXVaWEpVZVhCbExtNWhiV1VnZkh3Z0p5YzdYRzRnSUhKbGRIVnliaUJ2ZFhSbGNsUjVjR1V1WkdsemNHeGhlVTVoYldVZ2ZId2dLR1oxYm1OMGFXOXVUbUZ0WlNBaFBUMGdKeWNnUHlCM2NtRndjR1Z5VG1GdFpTQXJJRndpS0Z3aUlDc2dablZ1WTNScGIyNU9ZVzFsSUNzZ1hDSXBYQ0lnT2lCM2NtRndjR1Z5VG1GdFpTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHZGxkRU52YlhCdmJtVnVkRTVoYldVb2RIbHdaU2tnZTF4dUlDQnBaaUFvZEhsd1pTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdTRzl6ZENCeWIyOTBMQ0IwWlhoMElHNXZaR1VnYjNJZ2FuVnpkQ0JwYm5aaGJHbGtJSFI1Y0dVdVhHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQjBlWEJsTG5SaFp5QTlQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0FnSUdWeWNtOXlLQ2RTWldObGFYWmxaQ0JoYmlCMWJtVjRjR1ZqZEdWa0lHOWlhbVZqZENCcGJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtDa3VJQ2NnS3lBblZHaHBjeUJwY3lCc2FXdGxiSGtnWVNCaWRXY2dhVzRnVW1WaFkzUXVJRkJzWldGelpTQm1hV3hsSUdGdUlHbHpjM1ZsTGljcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkSGx3WlNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJSEpsZEhWeWJpQjBlWEJsTG1ScGMzQnNZWGxPWVcxbElIeDhJSFI1Y0dVdWJtRnRaU0I4ZkNCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmMzUnlhVzVuSnlrZ2UxeHVJQ0FnSUhKbGRIVnliaUIwZVhCbE8xeHVJQ0I5WEc1Y2JpQWdjM2RwZEdOb0lDaDBlWEJsS1NCN1hHNGdJQ0FnWTJGelpTQlNSVUZEVkY5R1VrRkhUVVZPVkY5VVdWQkZPbHh1SUNBZ0lDQWdjbVYwZFhKdUlDZEdjbUZuYldWdWRDYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMUJQVWxSQlRGOVVXVkJGT2x4dUlDQWdJQ0FnY21WMGRYSnVJQ2RRYjNKMFlXd25PMXh1WEc0Z0lDQWdZMkZ6WlNCU1JVRkRWRjlRVWs5R1NVeEZVbDlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUZ3aVVISnZabWxzWlhKY0lqdGNibHh1SUNBZ0lHTmhjMlVnVWtWQlExUmZVMVJTU1VOVVgwMVBSRVZmVkZsUVJUcGNiaUFnSUNBZ0lISmxkSFZ5YmlBblUzUnlhV04wVFc5a1pTYzdYRzVjYmlBZ0lDQmpZWE5sSUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVNlhHNGdJQ0FnSUNCeVpYUjFjbTRnSjFOMWMzQmxibk5sSnp0Y2JseHVJQ0FnSUdOaGMyVWdVa1ZCUTFSZlUxVlRVRVZPVTBWZlRFbFRWRjlVV1ZCRk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUNkVGRYTndaVzV6WlV4cGMzUW5PMXh1SUNCOVhHNWNiaUFnYVdZZ0tIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBbmIySnFaV04wSnlrZ2UxeHVJQ0FnSUhOM2FYUmphQ0FvZEhsd1pTNGtKSFI1Y0dWdlppa2dlMXh1SUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlEVDA1VVJWaFVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBblEyOXVkR1Y0ZEM1RGIyNXpkVzFsY2ljN1hHNWNiaUFnSUNBZ0lHTmhjMlVnVWtWQlExUmZVRkpQVmtsRVJWSmZWRmxRUlRwY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRGIyNTBaWGgwTGxCeWIzWnBaR1Z5Snp0Y2JseHVJQ0FnSUNBZ1kyRnpaU0JTUlVGRFZGOUdUMUpYUVZKRVgxSkZSbDlVV1ZCRk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1oyVjBWM0poY0hCbFpFNWhiV1VvZEhsd1pTd2dkSGx3WlM1eVpXNWtaWElzSUNkR2IzSjNZWEprVW1WbUp5azdYRzVjYmlBZ0lDQWdJR05oYzJVZ1VrVkJRMVJmVFVWTlQxOVVXVkJGT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2gwZVhCbExuUjVjR1VwTzF4dVhHNGdJQ0FnSUNCallYTmxJRkpGUVVOVVgwSk1UME5MWDFSWlVFVTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQm5aWFJEYjIxd2IyNWxiblJPWVcxbEtIUjVjR1V1Y21WdVpHVnlLVHRjYmx4dUlDQWdJQ0FnWTJGelpTQlNSVUZEVkY5TVFWcFpYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0IyWVhJZ2RHaGxibUZpYkdVZ1BTQjBlWEJsTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ5WlhOdmJIWmxaRlJvWlc1aFlteGxJRDBnY21WbWFXNWxVbVZ6YjJ4MlpXUk1ZWHA1UTI5dGNHOXVaVzUwS0hSb1pXNWhZbXhsS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpYTnZiSFpsWkZSb1pXNWhZbXhsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaHlaWE52YkhabFpGUm9aVzVoWW14bEtUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdWRXeHNPMXh1ZlZ4dVhHNTJZWElnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTQTlJSHQ5TzF4dWRtRnlJR04xY25KbGJuUnNlVlpoYkdsa1lYUnBibWRGYkdWdFpXNTBJRDBnYm5Wc2JEdGNibVoxYm1OMGFXOXVJSE5sZEVOMWNuSmxiblJzZVZaaGJHbGtZWFJwYm1kRmJHVnRaVzUwS0dWc1pXMWxiblFwSUh0Y2JpQWdlMXh1SUNBZ0lHTjFjbkpsYm5Sc2VWWmhiR2xrWVhScGJtZEZiR1Z0Wlc1MElEMGdaV3hsYldWdWREdGNiaUFnZlZ4dWZWeHVYRzU3WEc0Z0lDOHZJRk4wWVdOcklHbHRjR3hsYldWdWRHRjBhVzl1SUdsdWFtVmpkR1ZrSUdKNUlIUm9aU0JqZFhKeVpXNTBJSEpsYm1SbGNtVnlMbHh1SUNCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxMbWRsZEVOMWNuSmxiblJUZEdGamF5QTlJRzUxYkd3N1hHNWNiaUFnVW1WaFkzUkVaV0oxWjBOMWNuSmxiblJHY21GdFpTNW5aWFJUZEdGamEwRmtaR1Z1WkhWdElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFpoY2lCemRHRmpheUE5SUNjbk95QXZMeUJCWkdRZ1lXNGdaWGgwY21FZ2RHOXdJR1p5WVcxbElIZG9hV3hsSUdGdUlHVnNaVzFsYm5RZ2FYTWdZbVZwYm1jZ2RtRnNhV1JoZEdWa1hHNWNiaUFnSUNCcFppQW9ZM1Z5Y21WdWRHeDVWbUZzYVdSaGRHbHVaMFZzWlcxbGJuUXBJSHRjYmlBZ0lDQWdJSFpoY2lCdVlXMWxJRDBnWjJWMFEyOXRjRzl1Wlc1MFRtRnRaU2hqZFhKeVpXNTBiSGxXWVd4cFpHRjBhVzVuUld4bGJXVnVkQzUwZVhCbEtUdGNiaUFnSUNBZ0lIWmhjaUJ2ZDI1bGNpQTlJR04xY25KbGJuUnNlVlpoYkdsa1lYUnBibWRGYkdWdFpXNTBMbDl2ZDI1bGNqdGNiaUFnSUNBZ0lITjBZV05ySUNzOUlHUmxjMk55YVdKbFEyOXRjRzl1Wlc1MFJuSmhiV1VvYm1GdFpTd2dZM1Z5Y21WdWRHeDVWbUZzYVdSaGRHbHVaMFZzWlcxbGJuUXVYM052ZFhKalpTd2diM2R1WlhJZ0ppWWdaMlYwUTI5dGNHOXVaVzUwVG1GdFpTaHZkMjVsY2k1MGVYQmxLU2s3WEc0Z0lDQWdmU0F2THlCRVpXeGxaMkYwWlNCMGJ5QjBhR1VnYVc1cVpXTjBaV1FnY21WdVpHVnlaWEl0YzNCbFkybG1hV01nYVcxd2JHVnRaVzUwWVhScGIyNWNibHh1WEc0Z0lDQWdkbUZ5SUdsdGNHd2dQU0JTWldGamRFUmxZblZuUTNWeWNtVnVkRVp5WVcxbExtZGxkRU4xY25KbGJuUlRkR0ZqYXp0Y2JseHVJQ0FnSUdsbUlDaHBiWEJzS1NCN1hHNGdJQ0FnSUNCemRHRmpheUFyUFNCcGJYQnNLQ2tnZkh3Z0p5YzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhOMFlXTnJPMXh1SUNCOU8xeHVmVnh1WEc0dktpcGNiaUFxSUZWelpXUWdZbmtnWVdOMEtDa2dkRzhnZEhKaFkyc2dkMmhsZEdobGNpQjViM1VuY21VZ2FXNXphV1JsSUdGdUlHRmpkQ2dwSUhOamIzQmxMbHh1SUNvdlhHNTJZWElnU1hOVGIyMWxVbVZ1WkdWeVpYSkJZM1JwYm1jZ1BTQjdYRzRnSUdOMWNuSmxiblE2SUdaaGJITmxYRzU5TzF4dVhHNTJZWElnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNZ1BTQjdYRzRnSUZKbFlXTjBRM1Z5Y21WdWRFUnBjM0JoZEdOb1pYSTZJRkpsWVdOMFEzVnljbVZ1ZEVScGMzQmhkR05vWlhJc1hHNGdJRkpsWVdOMFEzVnljbVZ1ZEVKaGRHTm9RMjl1Wm1sbk9pQlNaV0ZqZEVOMWNuSmxiblJDWVhSamFFTnZibVpwWnl4Y2JpQWdVbVZoWTNSRGRYSnlaVzUwVDNkdVpYSTZJRkpsWVdOMFEzVnljbVZ1ZEU5M2JtVnlMRnh1SUNCSmMxTnZiV1ZTWlc1a1pYSmxja0ZqZEdsdVp6b2dTWE5UYjIxbFVtVnVaR1Z5WlhKQlkzUnBibWNzWEc0Z0lDOHZJRlZ6WldRZ1lua2djbVZ1WkdWeVpYSnpJSFJ2SUdGMmIybGtJR0oxYm1Sc2FXNW5JRzlpYW1WamRDMWhjM05wWjI0Z2RIZHBZMlVnYVc0Z1ZVMUVJR0oxYm1Sc1pYTTZYRzRnSUdGemMybG5iam9nWDJGemMybG5ibHh1ZlR0Y2JseHVlMXh1SUNCZllYTnphV2R1S0ZKbFlXTjBVMmhoY21Wa1NXNTBaWEp1WVd4ekxDQjdYRzRnSUNBZ0x5OGdWR2hsYzJVZ2MyaHZkV3hrSUc1dmRDQmlaU0JwYm1Oc2RXUmxaQ0JwYmlCd2NtOWtkV04wYVc5dUxseHVJQ0FnSUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVTZJRkpsWVdOMFJHVmlkV2REZFhKeVpXNTBSbkpoYldVc1hHNGdJQ0FnTHk4Z1UyaHBiU0JtYjNJZ1VtVmhZM1FnUkU5TklERTJMakF1TUNCM2FHbGphQ0J6ZEdsc2JDQmtaWE4wY25WamRIVnlaV1FnS0dKMWRDQnViM1FnZFhObFpDa2dkR2hwY3k1Y2JpQWdJQ0F2THlCVVQwUlBPaUJ5WlcxdmRtVWdhVzRnVW1WaFkzUWdNVGN1TUM1Y2JpQWdJQ0JTWldGamRFTnZiWEJ2Ym1WdWRGUnlaV1ZJYjI5ck9pQjdmVnh1SUNCOUtUdGNibjFjYmx4dUx5OGdZbmtnWTJGc2JITWdkRzhnZEdobGMyVWdiV1YwYUc5a2N5QmllU0JoSUVKaFltVnNJSEJzZFdkcGJpNWNiaTh2WEc0dkx5QkpiaUJRVWs5RUlDaHZjaUJwYmlCd1lXTnJZV2RsY3lCM2FYUm9iM1YwSUdGalkyVnpjeUIwYnlCU1pXRmpkQ0JwYm5SbGNtNWhiSE1wTEZ4dUx5OGdkR2hsZVNCaGNtVWdiR1ZtZENCaGN5QjBhR1Y1SUdGeVpTQnBibk4wWldGa0xseHVYRzVtZFc1amRHbHZiaUIzWVhKdUtHWnZjbTFoZENrZ2UxeHVJQ0I3WEc0Z0lDQWdabTl5SUNoMllYSWdYMnhsYmlBOUlHRnlaM1Z0Wlc1MGN5NXNaVzVuZEdnc0lHRnlaM01nUFNCdVpYY2dRWEp5WVhrb1gyeGxiaUErSURFZ1B5QmZiR1Z1SUMwZ01TQTZJREFwTENCZmEyVjVJRDBnTVRzZ1gydGxlU0E4SUY5c1pXNDdJRjlyWlhrckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0ZmEyVjVJQzBnTVYwZ1BTQmhjbWQxYldWdWRITmJYMnRsZVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hKcGJuUlhZWEp1YVc1bktDZDNZWEp1Snl3Z1ptOXliV0YwTENCaGNtZHpLVHRjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnWlhKeWIzSW9abTl5YldGMEtTQjdYRzRnSUh0Y2JpQWdJQ0JtYjNJZ0tIWmhjaUJmYkdWdU1pQTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3NJR0Z5WjNNZ1BTQnVaWGNnUVhKeVlYa29YMnhsYmpJZ1BpQXhJRDhnWDJ4bGJqSWdMU0F4SURvZ01Da3NJRjlyWlhreUlEMGdNVHNnWDJ0bGVUSWdQQ0JmYkdWdU1qc2dYMnRsZVRJckt5a2dlMXh1SUNBZ0lDQWdZWEpuYzF0ZmEyVjVNaUF0SURGZElEMGdZWEpuZFcxbGJuUnpXMTlyWlhreVhUdGNiaUFnSUNCOVhHNWNiaUFnSUNCd2NtbHVkRmRoY201cGJtY29KMlZ5Y205eUp5d2dabTl5YldGMExDQmhjbWR6S1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQndjbWx1ZEZkaGNtNXBibWNvYkdWMlpXd3NJR1p2Y20xaGRDd2dZWEpuY3lrZ2UxeHVJQ0F2THlCWGFHVnVJR05vWVc1bmFXNW5JSFJvYVhNZ2JHOW5hV01zSUhsdmRTQnRhV2RvZENCM1lXNTBJSFJ2SUdGc2MyOWNiaUFnTHk4Z2RYQmtZWFJsSUdOdmJuTnZiR1ZYYVhSb1UzUmhZMnRFWlhZdWQzZDNMbXB6SUdGeklIZGxiR3d1WEc0Z0lIdGNiaUFnSUNCMllYSWdhR0Z6UlhocGMzUnBibWRUZEdGamF5QTlJR0Z5WjNNdWJHVnVaM1JvSUQ0Z01DQW1KaUIwZVhCbGIyWWdZWEpuYzF0aGNtZHpMbXhsYm1kMGFDQXRJREZkSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJoY21kelcyRnlaM011YkdWdVozUm9JQzBnTVYwdWFXNWtaWGhQWmlnblhGeHVJQ0FnSUdsdUp5a2dQVDA5SURBN1hHNWNiaUFnSUNCcFppQW9JV2hoYzBWNGFYTjBhVzVuVTNSaFkyc3BJSHRjYmlBZ0lDQWdJSFpoY2lCU1pXRmpkRVJsWW5WblEzVnljbVZ1ZEVaeVlXMWxJRDBnVW1WaFkzUlRhR0Z5WldSSmJuUmxjbTVoYkhNdVVtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaVHRjYmlBZ0lDQWdJSFpoY2lCemRHRmpheUE5SUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVXVaMlYwVTNSaFkydEJaR1JsYm1SMWJTZ3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2MzUmhZMnNnSVQwOUlDY25LU0I3WEc0Z0lDQWdJQ0FnSUdadmNtMWhkQ0FyUFNBbkpYTW5PMXh1SUNBZ0lDQWdJQ0JoY21keklEMGdZWEpuY3k1amIyNWpZWFFvVzNOMFlXTnJYU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUdGeVozTlhhWFJvUm05eWJXRjBJRDBnWVhKbmN5NXRZWEFvWm5WdVkzUnBiMjRnS0dsMFpXMHBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQW5KeUFySUdsMFpXMDdYRzRnSUNBZ2ZTazdJQzh2SUVOaGNtVm1kV3c2SUZKT0lHTjFjbkpsYm5Sc2VTQmtaWEJsYm1SeklHOXVJSFJvYVhNZ2NISmxabWw0WEc1Y2JpQWdJQ0JoY21kelYybDBhRVp2Y20xaGRDNTFibk5vYVdaMEtDZFhZWEp1YVc1bk9pQW5JQ3NnWm05eWJXRjBLVHNnTHk4Z1YyVWdhVzUwWlc1MGFXOXVZV3hzZVNCa2IyNG5kQ0IxYzJVZ2MzQnlaV0ZrSUNodmNpQXVZWEJ3YkhrcElHUnBjbVZqZEd4NUlHSmxZMkYxYzJVZ2FYUmNiaUFnSUNBdkx5QmljbVZoYTNNZ1NVVTVPaUJvZEhSd2N6b3ZMMmRwZEdoMVlpNWpiMjB2Wm1GalpXSnZiMnN2Y21WaFkzUXZhWE56ZFdWekx6RXpOakV3WEc0Z0lDQWdMeThnWlhOc2FXNTBMV1JwYzJGaWJHVXRibVY0ZEMxc2FXNWxJSEpsWVdOMExXbHVkR1Z5Ym1Gc0wyNXZMWEJ5YjJSMVkzUnBiMjR0Ykc5bloybHVaMXh1WEc0Z0lDQWdSblZ1WTNScGIyNHVjSEp2ZEc5MGVYQmxMbUZ3Y0d4NUxtTmhiR3dvWTI5dWMyOXNaVnRzWlhabGJGMHNJR052Ym5OdmJHVXNJR0Z5WjNOWGFYUm9SbTl5YldGMEtUdGNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0F2THlBdExTMGdWMlZzWTI5dFpTQjBieUJrWldKMVoyZHBibWNnVW1WaFkzUWdMUzB0WEc0Z0lDQWdJQ0F2THlCVWFHbHpJR1Z5Y205eUlIZGhjeUIwYUhKdmQyNGdZWE1nWVNCamIyNTJaVzVwWlc1alpTQnpieUIwYUdGMElIbHZkU0JqWVc0Z2RYTmxJSFJvYVhNZ2MzUmhZMnRjYmlBZ0lDQWdJQzh2SUhSdklHWnBibVFnZEdobElHTmhiR3h6YVhSbElIUm9ZWFFnWTJGMWMyVmtJSFJvYVhNZ2QyRnlibWx1WnlCMGJ5Qm1hWEpsTGx4dUlDQWdJQ0FnZG1GeUlHRnlaMGx1WkdWNElEMGdNRHRjYmlBZ0lDQWdJSFpoY2lCdFpYTnpZV2RsSUQwZ0oxZGhjbTVwYm1jNklDY2dLeUJtYjNKdFlYUXVjbVZ3YkdGalpTZ3ZKWE12Wnl3Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZWEpuYzF0aGNtZEpibVJsZUNzclhUdGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHMWxjM05oWjJVcE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0hncElIdDlYRzRnSUgxY2JuMWNibHh1ZG1GeUlHUnBaRmRoY201VGRHRjBaVlZ3WkdGMFpVWnZjbFZ1Ylc5MWJuUmxaRU52YlhCdmJtVnVkQ0E5SUh0OU8xeHVYRzVtZFc1amRHbHZiaUIzWVhKdVRtOXZjQ2h3ZFdKc2FXTkpibk4wWVc1alpTd2dZMkZzYkdWeVRtRnRaU2tnZTF4dUlDQjdYRzRnSUNBZ2RtRnlJRjlqYjI1emRISjFZM1J2Y2lBOUlIQjFZbXhwWTBsdWMzUmhibU5sTG1OdmJuTjBjblZqZEc5eU8xeHVJQ0FnSUhaaGNpQmpiMjF3YjI1bGJuUk9ZVzFsSUQwZ1gyTnZibk4wY25WamRHOXlJQ1ltSUNoZlkyOXVjM1J5ZFdOMGIzSXVaR2x6Y0d4aGVVNWhiV1VnZkh3Z1gyTnZibk4wY25WamRHOXlMbTVoYldVcElIeDhJQ2RTWldGamRFTnNZWE56Snp0Y2JpQWdJQ0IyWVhJZ2QyRnlibWx1WjB0bGVTQTlJR052YlhCdmJtVnVkRTVoYldVZ0t5QmNJaTVjSWlBcklHTmhiR3hsY2s1aGJXVTdYRzVjYmlBZ0lDQnBaaUFvWkdsa1YyRnlibE4wWVhSbFZYQmtZWFJsUm05eVZXNXRiM1Z1ZEdWa1EyOXRjRzl1Wlc1MFczZGhjbTVwYm1kTFpYbGRLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pYSnliM0lvWENKRFlXNG5kQ0JqWVd4c0lDVnpJRzl1SUdFZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYVhNZ2JtOTBJSGxsZENCdGIzVnVkR1ZrTGlCY0lpQXJJQ2RVYUdseklHbHpJR0VnYm04dGIzQXNJR0oxZENCcGRDQnRhV2RvZENCcGJtUnBZMkYwWlNCaElHSjFaeUJwYmlCNWIzVnlJR0Z3Y0d4cFkyRjBhVzl1TGlBbklDc2dKMGx1YzNSbFlXUXNJR0Z6YzJsbmJpQjBieUJnZEdocGN5NXpkR0YwWldBZ1pHbHlaV04wYkhrZ2IzSWdaR1ZtYVc1bElHRWdZSE4wWVhSbElEMGdlMzA3WUNBbklDc2dKMk5zWVhOeklIQnliM0JsY25SNUlIZHBkR2dnZEdobElHUmxjMmx5WldRZ2MzUmhkR1VnYVc0Z2RHaGxJQ1Z6SUdOdmJYQnZibVZ1ZEM0bkxDQmpZV3hzWlhKT1lXMWxMQ0JqYjIxd2IyNWxiblJPWVcxbEtUdGNibHh1SUNBZ0lHUnBaRmRoY201VGRHRjBaVlZ3WkdGMFpVWnZjbFZ1Ylc5MWJuUmxaRU52YlhCdmJtVnVkRnQzWVhKdWFXNW5TMlY1WFNBOUlIUnlkV1U3WEc0Z0lIMWNibjFjYmk4cUtseHVJQ29nVkdocGN5QnBjeUIwYUdVZ1lXSnpkSEpoWTNRZ1FWQkpJR1p2Y2lCaGJpQjFjR1JoZEdVZ2NYVmxkV1V1WEc0Z0tpOWNibHh1WEc1MllYSWdVbVZoWTNST2IyOXdWWEJrWVhSbFVYVmxkV1VnUFNCN1hHNGdJQzhxS2x4dUlDQWdLaUJEYUdWamEzTWdkMmhsZEdobGNpQnZjaUJ1YjNRZ2RHaHBjeUJqYjIxd2IzTnBkR1VnWTI5dGNHOXVaVzUwSUdseklHMXZkVzUwWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3VW1WaFkzUkRiR0Z6YzMwZ2NIVmliR2xqU1c1emRHRnVZMlVnVkdobElHbHVjM1JoYm1ObElIZGxJSGRoYm5RZ2RHOGdkR1Z6ZEM1Y2JpQWdJQ29nUUhKbGRIVnliaUI3WW05dmJHVmhibjBnVkhKMVpTQnBaaUJ0YjNWdWRHVmtMQ0JtWVd4elpTQnZkR2hsY25kcGMyVXVYRzRnSUNBcUlFQndjbTkwWldOMFpXUmNiaUFnSUNvZ1FHWnBibUZzWEc0Z0lDQXFMMXh1SUNCcGMwMXZkVzUwWldRNklHWjFibU4wYVc5dUlDaHdkV0pzYVdOSmJuTjBZVzVqWlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlN4Y2JseHVJQ0F2S2lwY2JpQWdJQ29nUm05eVkyVnpJR0Z1SUhWd1pHRjBaUzRnVkdocGN5QnphRzkxYkdRZ2IyNXNlU0JpWlNCcGJuWnZhMlZrSUhkb1pXNGdhWFFnYVhNZ2EyNXZkMjRnZDJsMGFGeHVJQ0FnS2lCalpYSjBZV2x1ZEhrZ2RHaGhkQ0IzWlNCaGNtVWdLaXB1YjNRcUtpQnBiaUJoSUVSUFRTQjBjbUZ1YzJGamRHbHZiaTVjYmlBZ0lDcGNiaUFnSUNvZ1dXOTFJRzFoZVNCM1lXNTBJSFJ2SUdOaGJHd2dkR2hwY3lCM2FHVnVJSGx2ZFNCcmJtOTNJSFJvWVhRZ2MyOXRaU0JrWldWd1pYSWdZWE53WldOMElHOW1JSFJvWlZ4dUlDQWdLaUJqYjIxd2IyNWxiblFuY3lCemRHRjBaU0JvWVhNZ1kyaGhibWRsWkNCaWRYUWdZSE5sZEZOMFlYUmxZQ0IzWVhNZ2JtOTBJR05oYkd4bFpDNWNiaUFnSUNwY2JpQWdJQ29nVkdocGN5QjNhV3hzSUc1dmRDQnBiblp2YTJVZ1lITm9iM1ZzWkVOdmJYQnZibVZ1ZEZWd1pHRjBaV0FzSUdKMWRDQnBkQ0IzYVd4c0lHbHVkbTlyWlZ4dUlDQWdLaUJnWTI5dGNHOXVaVzUwVjJsc2JGVndaR0YwWldBZ1lXNWtJR0JqYjIxd2IyNWxiblJFYVdSVmNHUmhkR1ZnTGx4dUlDQWdLbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UxSmxZV04wUTJ4aGMzTjlJSEIxWW14cFkwbHVjM1JoYm1ObElGUm9aU0JwYm5OMFlXNWpaU0IwYUdGMElITm9iM1ZzWkNCeVpYSmxibVJsY2k1Y2JpQWdJQ29nUUhCaGNtRnRJSHMvWm5WdVkzUnBiMjU5SUdOaGJHeGlZV05ySUVOaGJHeGxaQ0JoWm5SbGNpQmpiMjF3YjI1bGJuUWdhWE1nZFhCa1lYUmxaQzVjYmlBZ0lDb2dRSEJoY21GdElIcy9jM1J5YVc1bmZTQmpZV3hzWlhKT1lXMWxJRzVoYldVZ2IyWWdkR2hsSUdOaGJHeHBibWNnWm5WdVkzUnBiMjRnYVc0Z2RHaGxJSEIxWW14cFl5QkJVRWt1WEc0Z0lDQXFJRUJwYm5SbGNtNWhiRnh1SUNBZ0tpOWNiaUFnWlc1eGRXVjFaVVp2Y21ObFZYQmtZWFJsT2lCbWRXNWpkR2x2YmlBb2NIVmliR2xqU1c1emRHRnVZMlVzSUdOaGJHeGlZV05yTENCallXeHNaWEpPWVcxbEtTQjdYRzRnSUNBZ2QyRnliazV2YjNBb2NIVmliR2xqU1c1emRHRnVZMlVzSUNkbWIzSmpaVlZ3WkdGMFpTY3BPMXh1SUNCOUxGeHVYRzRnSUM4cUtseHVJQ0FnS2lCU1pYQnNZV05sY3lCaGJHd2diMllnZEdobElITjBZWFJsTGlCQmJIZGhlWE1nZFhObElIUm9hWE1nYjNJZ1lITmxkRk4wWVhSbFlDQjBieUJ0ZFhSaGRHVWdjM1JoZEdVdVhHNGdJQ0FxSUZsdmRTQnphRzkxYkdRZ2RISmxZWFFnWUhSb2FYTXVjM1JoZEdWZ0lHRnpJR2x0YlhWMFlXSnNaUzVjYmlBZ0lDcGNiaUFnSUNvZ1ZHaGxjbVVnYVhNZ2JtOGdaM1ZoY21GdWRHVmxJSFJvWVhRZ1lIUm9hWE11YzNSaGRHVmdJSGRwYkd3Z1ltVWdhVzF0WldScFlYUmxiSGtnZFhCa1lYUmxaQ3dnYzI5Y2JpQWdJQ29nWVdOalpYTnphVzVuSUdCMGFHbHpMbk4wWVhSbFlDQmhablJsY2lCallXeHNhVzVuSUhSb2FYTWdiV1YwYUc5a0lHMWhlU0J5WlhSMWNtNGdkR2hsSUc5c1pDQjJZV3gxWlM1Y2JpQWdJQ3BjYmlBZ0lDb2dRSEJoY21GdElIdFNaV0ZqZEVOc1lYTnpmU0J3ZFdKc2FXTkpibk4wWVc1alpTQlVhR1VnYVc1emRHRnVZMlVnZEdoaGRDQnphRzkxYkdRZ2NtVnlaVzVrWlhJdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JqYjIxd2JHVjBaVk4wWVhSbElFNWxlSFFnYzNSaGRHVXVYRzRnSUNBcUlFQndZWEpoYlNCN1AyWjFibU4wYVc5dWZTQmpZV3hzWW1GamF5QkRZV3hzWldRZ1lXWjBaWElnWTI5dGNHOXVaVzUwSUdseklIVndaR0YwWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UDNOMGNtbHVaMzBnWTJGc2JHVnlUbUZ0WlNCdVlXMWxJRzltSUhSb1pTQmpZV3hzYVc1bklHWjFibU4wYVc5dUlHbHVJSFJvWlNCd2RXSnNhV01nUVZCSkxseHVJQ0FnS2lCQWFXNTBaWEp1WVd4Y2JpQWdJQ292WEc0Z0lHVnVjWFZsZFdWU1pYQnNZV05sVTNSaGRHVTZJR1oxYm1OMGFXOXVJQ2h3ZFdKc2FXTkpibk4wWVc1alpTd2dZMjl0Y0d4bGRHVlRkR0YwWlN3Z1kyRnNiR0poWTJzc0lHTmhiR3hsY2s1aGJXVXBJSHRjYmlBZ0lDQjNZWEp1VG05dmNDaHdkV0pzYVdOSmJuTjBZVzVqWlN3Z0ozSmxjR3hoWTJWVGRHRjBaU2NwTzF4dUlDQjlMRnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlRaWFJ6SUdFZ2MzVmljMlYwSUc5bUlIUm9aU0J6ZEdGMFpTNGdWR2hwY3lCdmJteDVJR1Y0YVhOMGN5QmlaV05oZFhObElGOXdaVzVrYVc1blUzUmhkR1VnYVhOY2JpQWdJQ29nYVc1MFpYSnVZV3d1SUZSb2FYTWdjSEp2ZG1sa1pYTWdZU0J0WlhKbmFXNW5JSE4wY21GMFpXZDVJSFJvWVhRZ2FYTWdibTkwSUdGMllXbHNZV0pzWlNCMGJ5QmtaV1Z3WEc0Z0lDQXFJSEJ5YjNCbGNuUnBaWE1nZDJocFkyZ2dhWE1nWTI5dVpuVnphVzVuTGlCVVQwUlBPaUJGZUhCdmMyVWdjR1Z1WkdsdVoxTjBZWFJsSUc5eUlHUnZiaWQwSUhWelpTQnBkRnh1SUNBZ0tpQmtkWEpwYm1jZ2RHaGxJRzFsY21kbExseHVJQ0FnS2x4dUlDQWdLaUJBY0dGeVlXMGdlMUpsWVdOMFEyeGhjM045SUhCMVlteHBZMGx1YzNSaGJtTmxJRlJvWlNCcGJuTjBZVzVqWlNCMGFHRjBJSE5vYjNWc1pDQnlaWEpsYm1SbGNpNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0dlltcGxZM1I5SUhCaGNuUnBZV3hUZEdGMFpTQk9aWGgwSUhCaGNuUnBZV3dnYzNSaGRHVWdkRzhnWW1VZ2JXVnlaMlZrSUhkcGRHZ2djM1JoZEdVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UDJaMWJtTjBhVzl1ZlNCallXeHNZbUZqYXlCRFlXeHNaV1FnWVdaMFpYSWdZMjl0Y0c5dVpXNTBJR2x6SUhWd1pHRjBaV1F1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdQM04wY21sdVozMGdUbUZ0WlNCdlppQjBhR1VnWTJGc2JHbHVaeUJtZFc1amRHbHZiaUJwYmlCMGFHVWdjSFZpYkdsaklFRlFTUzVjYmlBZ0lDb2dRR2x1ZEdWeWJtRnNYRzRnSUNBcUwxeHVJQ0JsYm5GMVpYVmxVMlYwVTNSaGRHVTZJR1oxYm1OMGFXOXVJQ2h3ZFdKc2FXTkpibk4wWVc1alpTd2djR0Z5ZEdsaGJGTjBZWFJsTENCallXeHNZbUZqYXl3Z1kyRnNiR1Z5VG1GdFpTa2dlMXh1SUNBZ0lIZGhjbTVPYjI5d0tIQjFZbXhwWTBsdWMzUmhibU5sTENBbmMyVjBVM1JoZEdVbktUdGNiaUFnZlZ4dWZUdGNibHh1ZG1GeUlHVnRjSFI1VDJKcVpXTjBJRDBnZTMwN1hHNWNibnRjYmlBZ1QySnFaV04wTG1aeVpXVjZaU2hsYlhCMGVVOWlhbVZqZENrN1hHNTlYRzR2S2lwY2JpQXFJRUpoYzJVZ1kyeGhjM01nYUdWc2NHVnljeUJtYjNJZ2RHaGxJSFZ3WkdGMGFXNW5JSE4wWVhSbElHOW1JR0VnWTI5dGNHOXVaVzUwTGx4dUlDb3ZYRzVjYmx4dVpuVnVZM1JwYjI0Z1EyOXRjRzl1Wlc1MEtIQnliM0J6TENCamIyNTBaWGgwTENCMWNHUmhkR1Z5S1NCN1hHNGdJSFJvYVhNdWNISnZjSE1nUFNCd2NtOXdjenRjYmlBZ2RHaHBjeTVqYjI1MFpYaDBJRDBnWTI5dWRHVjRkRHNnTHk4Z1NXWWdZU0JqYjIxd2IyNWxiblFnYUdGeklITjBjbWx1WnlCeVpXWnpMQ0IzWlNCM2FXeHNJR0Z6YzJsbmJpQmhJR1JwWm1abGNtVnVkQ0J2WW1wbFkzUWdiR0YwWlhJdVhHNWNiaUFnZEdocGN5NXlaV1p6SUQwZ1pXMXdkSGxQWW1wbFkzUTdJQzh2SUZkbElHbHVhWFJwWVd4cGVtVWdkR2hsSUdSbFptRjFiSFFnZFhCa1lYUmxjaUJpZFhRZ2RHaGxJSEpsWVd3Z2IyNWxJR2RsZEhNZ2FXNXFaV04wWldRZ1lua2dkR2hsWEc0Z0lDOHZJSEpsYm1SbGNtVnlMbHh1WEc0Z0lIUm9hWE11ZFhCa1lYUmxjaUE5SUhWd1pHRjBaWElnZkh3Z1VtVmhZM1JPYjI5d1ZYQmtZWFJsVVhWbGRXVTdYRzU5WEc1Y2JrTnZiWEJ2Ym1WdWRDNXdjbTkwYjNSNWNHVXVhWE5TWldGamRFTnZiWEJ2Ym1WdWRDQTlJSHQ5TzF4dUx5b3FYRzRnS2lCVFpYUnpJR0VnYzNWaWMyVjBJRzltSUhSb1pTQnpkR0YwWlM0Z1FXeDNZWGx6SUhWelpTQjBhR2x6SUhSdklHMTFkR0YwWlZ4dUlDb2djM1JoZEdVdUlGbHZkU0J6YUc5MWJHUWdkSEpsWVhRZ1lIUm9hWE11YzNSaGRHVmdJR0Z6SUdsdGJYVjBZV0pzWlM1Y2JpQXFYRzRnS2lCVWFHVnlaU0JwY3lCdWJ5Qm5kV0Z5WVc1MFpXVWdkR2hoZENCZ2RHaHBjeTV6ZEdGMFpXQWdkMmxzYkNCaVpTQnBiVzFsWkdsaGRHVnNlU0IxY0dSaGRHVmtMQ0J6YjF4dUlDb2dZV05qWlhOemFXNW5JR0IwYUdsekxuTjBZWFJsWUNCaFpuUmxjaUJqWVd4c2FXNW5JSFJvYVhNZ2JXVjBhRzlrSUcxaGVTQnlaWFIxY200Z2RHaGxJRzlzWkNCMllXeDFaUzVjYmlBcVhHNGdLaUJVYUdWeVpTQnBjeUJ1YnlCbmRXRnlZVzUwWldVZ2RHaGhkQ0JqWVd4c2N5QjBieUJnYzJWMFUzUmhkR1ZnSUhkcGJHd2djblZ1SUhONWJtTm9jbTl1YjNWemJIa3NYRzRnS2lCaGN5QjBhR1Y1SUcxaGVTQmxkbVZ1ZEhWaGJHeDVJR0psSUdKaGRHTm9aV1FnZEc5blpYUm9aWEl1SUNCWmIzVWdZMkZ1SUhCeWIzWnBaR1VnWVc0Z2IzQjBhVzl1WVd4Y2JpQXFJR05oYkd4aVlXTnJJSFJvWVhRZ2QybHNiQ0JpWlNCbGVHVmpkWFJsWkNCM2FHVnVJSFJvWlNCallXeHNJSFJ2SUhObGRGTjBZWFJsSUdseklHRmpkSFZoYkd4NVhHNGdLaUJqYjIxd2JHVjBaV1F1WEc0Z0tseHVJQ29nVjJobGJpQmhJR1oxYm1OMGFXOXVJR2x6SUhCeWIzWnBaR1ZrSUhSdklITmxkRk4wWVhSbExDQnBkQ0IzYVd4c0lHSmxJR05oYkd4bFpDQmhkQ0J6YjIxbElIQnZhVzUwSUdsdVhHNGdLaUIwYUdVZ1puVjBkWEpsSUNodWIzUWdjM2x1WTJoeWIyNXZkWE5zZVNrdUlFbDBJSGRwYkd3Z1ltVWdZMkZzYkdWa0lIZHBkR2dnZEdobElIVndJSFJ2SUdSaGRHVmNiaUFxSUdOdmJYQnZibVZ1ZENCaGNtZDFiV1Z1ZEhNZ0tITjBZWFJsTENCd2NtOXdjeXdnWTI5dWRHVjRkQ2t1SUZSb1pYTmxJSFpoYkhWbGN5QmpZVzRnWW1VZ1pHbG1abVZ5Wlc1MFhHNGdLaUJtY205dElIUm9hWE11S2lCaVpXTmhkWE5sSUhsdmRYSWdablZ1WTNScGIyNGdiV0Y1SUdKbElHTmhiR3hsWkNCaFpuUmxjaUJ5WldObGFYWmxVSEp2Y0hNZ1luVjBJR0psWm05eVpWeHVJQ29nYzJodmRXeGtRMjl0Y0c5dVpXNTBWWEJrWVhSbExDQmhibVFnZEdocGN5QnVaWGNnYzNSaGRHVXNJSEJ5YjNCekxDQmhibVFnWTI5dWRHVjRkQ0IzYVd4c0lHNXZkQ0I1WlhRZ1ltVmNiaUFxSUdGemMybG5ibVZrSUhSdklIUm9hWE11WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHR2WW1wbFkzUjhablZ1WTNScGIyNTlJSEJoY25ScFlXeFRkR0YwWlNCT1pYaDBJSEJoY25ScFlXd2djM1JoZEdVZ2IzSWdablZ1WTNScGIyNGdkRzljYmlBcUlDQWdJQ0FnSUNCd2NtOWtkV05sSUc1bGVIUWdjR0Z5ZEdsaGJDQnpkR0YwWlNCMGJ5QmlaU0J0WlhKblpXUWdkMmwwYUNCamRYSnlaVzUwSUhOMFlYUmxMbHh1SUNvZ1FIQmhjbUZ0SUhzL1puVnVZM1JwYjI1OUlHTmhiR3hpWVdOcklFTmhiR3hsWkNCaFpuUmxjaUJ6ZEdGMFpTQnBjeUIxY0dSaGRHVmtMbHh1SUNvZ1FHWnBibUZzWEc0Z0tpQkFjSEp2ZEdWamRHVmtYRzRnS2k5Y2JseHVRMjl0Y0c5dVpXNTBMbkJ5YjNSdmRIbHdaUzV6WlhSVGRHRjBaU0E5SUdaMWJtTjBhVzl1SUNod1lYSjBhV0ZzVTNSaGRHVXNJR05oYkd4aVlXTnJLU0I3WEc0Z0lHbG1JQ2doS0hSNWNHVnZaaUJ3WVhKMGFXRnNVM1JoZEdVZ1BUMDlJQ2R2WW1wbFkzUW5JSHg4SUhSNWNHVnZaaUJ3WVhKMGFXRnNVM1JoZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNnZkh3Z2NHRnlkR2xoYkZOMFlYUmxJRDA5SUc1MWJHd3BLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aWMyVjBVM1JoZEdVb0xpNHVLVG9nZEdGclpYTWdZVzRnYjJKcVpXTjBJRzltSUhOMFlYUmxJSFpoY21saFlteGxjeUIwYnlCMWNHUmhkR1VnYjNJZ1lTQm1kVzVqZEdsdmJpQjNhR2xqYUNCeVpYUjFjbTV6SUdGdUlHOWlhbVZqZENCdlppQnpkR0YwWlNCMllYSnBZV0pzWlhNdVhDSWdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0IwYUdsekxuVndaR0YwWlhJdVpXNXhkV1YxWlZObGRGTjBZWFJsS0hSb2FYTXNJSEJoY25ScFlXeFRkR0YwWlN3Z1kyRnNiR0poWTJzc0lDZHpaWFJUZEdGMFpTY3BPMXh1ZlR0Y2JpOHFLbHh1SUNvZ1JtOXlZMlZ6SUdGdUlIVndaR0YwWlM0Z1ZHaHBjeUJ6YUc5MWJHUWdiMjVzZVNCaVpTQnBiblp2YTJWa0lIZG9aVzRnYVhRZ2FYTWdhMjV2ZDI0Z2QybDBhRnh1SUNvZ1kyVnlkR0ZwYm5SNUlIUm9ZWFFnZDJVZ1lYSmxJQ29xYm05MEtpb2dhVzRnWVNCRVQwMGdkSEpoYm5OaFkzUnBiMjR1WEc0Z0tseHVJQ29nV1c5MUlHMWhlU0IzWVc1MElIUnZJR05oYkd3Z2RHaHBjeUIzYUdWdUlIbHZkU0JyYm05M0lIUm9ZWFFnYzI5dFpTQmtaV1Z3WlhJZ1lYTndaV04wSUc5bUlIUm9aVnh1SUNvZ1kyOXRjRzl1Wlc1MEozTWdjM1JoZEdVZ2FHRnpJR05vWVc1blpXUWdZblYwSUdCelpYUlRkR0YwWldBZ2QyRnpJRzV2ZENCallXeHNaV1F1WEc0Z0tseHVJQ29nVkdocGN5QjNhV3hzSUc1dmRDQnBiblp2YTJVZ1lITm9iM1ZzWkVOdmJYQnZibVZ1ZEZWd1pHRjBaV0FzSUdKMWRDQnBkQ0IzYVd4c0lHbHVkbTlyWlZ4dUlDb2dZR052YlhCdmJtVnVkRmRwYkd4VmNHUmhkR1ZnSUdGdVpDQmdZMjl0Y0c5dVpXNTBSR2xrVlhCa1lYUmxZQzVjYmlBcVhHNGdLaUJBY0dGeVlXMGdlejltZFc1amRHbHZibjBnWTJGc2JHSmhZMnNnUTJGc2JHVmtJR0ZtZEdWeUlIVndaR0YwWlNCcGN5QmpiMjF3YkdWMFpTNWNiaUFxSUVCbWFXNWhiRnh1SUNvZ1FIQnliM1JsWTNSbFpGeHVJQ292WEc1Y2JseHVRMjl0Y0c5dVpXNTBMbkJ5YjNSdmRIbHdaUzVtYjNKalpWVndaR0YwWlNBOUlHWjFibU4wYVc5dUlDaGpZV3hzWW1GamF5a2dlMXh1SUNCMGFHbHpMblZ3WkdGMFpYSXVaVzV4ZFdWMVpVWnZjbU5sVlhCa1lYUmxLSFJvYVhNc0lHTmhiR3hpWVdOckxDQW5abTl5WTJWVmNHUmhkR1VuS1R0Y2JuMDdYRzR2S2lwY2JpQXFJRVJsY0hKbFkyRjBaV1FnUVZCSmN5NGdWR2hsYzJVZ1FWQkpjeUIxYzJWa0lIUnZJR1Y0YVhOMElHOXVJR05zWVhOemFXTWdVbVZoWTNRZ1kyeGhjM05sY3lCaWRYUWdjMmx1WTJWY2JpQXFJSGRsSUhkdmRXeGtJR3hwYTJVZ2RHOGdaR1Z3Y21WallYUmxJSFJvWlcwc0lIZGxKM0psSUc1dmRDQm5iMmx1WnlCMGJ5QnRiM1psSUhSb1pXMGdiM1psY2lCMGJ5QjBhR2x6WEc0Z0tpQnRiMlJsY200Z1ltRnpaU0JqYkdGemN5NGdTVzV6ZEdWaFpDd2dkMlVnWkdWbWFXNWxJR0VnWjJWMGRHVnlJSFJvWVhRZ2QyRnlibk1nYVdZZ2FYUW5jeUJoWTJObGMzTmxaQzVjYmlBcUwxeHVYRzVjYm50Y2JpQWdkbUZ5SUdSbGNISmxZMkYwWldSQlVFbHpJRDBnZTF4dUlDQWdJR2x6VFc5MWJuUmxaRG9nV3lkcGMwMXZkVzUwWldRbkxDQW5TVzV6ZEdWaFpDd2diV0ZyWlNCemRYSmxJSFJ2SUdOc1pXRnVJSFZ3SUhOMVluTmpjbWx3ZEdsdmJuTWdZVzVrSUhCbGJtUnBibWNnY21WeGRXVnpkSE1nYVc0Z0p5QXJJQ2RqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENCMGJ5QndjbVYyWlc1MElHMWxiVzl5ZVNCc1pXRnJjeTRuWFN4Y2JpQWdJQ0J5WlhCc1lXTmxVM1JoZEdVNklGc25jbVZ3YkdGalpWTjBZWFJsSnl3Z0oxSmxabUZqZEc5eUlIbHZkWElnWTI5a1pTQjBieUIxYzJVZ2MyVjBVM1JoZEdVZ2FXNXpkR1ZoWkNBb2MyVmxJQ2NnS3lBbmFIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyWmhZMlZpYjI5ckwzSmxZV04wTDJsemMzVmxjeTh6TWpNMktTNG5YVnh1SUNCOU8xeHVYRzRnSUhaaGNpQmtaV1pwYm1WRVpYQnlaV05oZEdsdmJsZGhjbTVwYm1jZ1BTQm1kVzVqZEdsdmJpQW9iV1YwYUc5a1RtRnRaU3dnYVc1bWJ5a2dlMXh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hEYjIxd2IyNWxiblF1Y0hKdmRHOTBlWEJsTENCdFpYUm9iMlJPWVcxbExDQjdYRzRnSUNBZ0lDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNBZ0lDQWdkMkZ5YmlnbkpYTW9MaTR1S1NCcGN5QmtaWEJ5WldOaGRHVmtJR2x1SUhCc1lXbHVJRXBoZG1GVFkzSnBjSFFnVW1WaFkzUWdZMnhoYzNObGN5NGdKWE1uTENCcGJtWnZXekJkTENCcGJtWnZXekZkS1R0Y2JseHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVJQ0I5TzF4dVhHNGdJR1p2Y2lBb2RtRnlJR1p1VG1GdFpTQnBiaUJrWlhCeVpXTmhkR1ZrUVZCSmN5a2dlMXh1SUNBZ0lHbG1JQ2hrWlhCeVpXTmhkR1ZrUVZCSmN5NW9ZWE5QZDI1UWNtOXdaWEowZVNobWJrNWhiV1VwS1NCN1hHNGdJQ0FnSUNCa1pXWnBibVZFWlhCeVpXTmhkR2x2YmxkaGNtNXBibWNvWm01T1lXMWxMQ0JrWlhCeVpXTmhkR1ZrUVZCSmMxdG1iazVoYldWZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdRMjl0Y0c5dVpXNTBSSFZ0Ylhrb0tTQjdmVnh1WEc1RGIyMXdiMjVsYm5SRWRXMXRlUzV3Y205MGIzUjVjR1VnUFNCRGIyMXdiMjVsYm5RdWNISnZkRzkwZVhCbE8xeHVMeW9xWEc0Z0tpQkRiMjUyWlc1cFpXNWpaU0JqYjIxd2IyNWxiblFnZDJsMGFDQmtaV1poZFd4MElITm9ZV3hzYjNjZ1pYRjFZV3hwZEhrZ1kyaGxZMnNnWm05eUlITkRWUzVjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJRZFhKbFEyOXRjRzl1Wlc1MEtIQnliM0J6TENCamIyNTBaWGgwTENCMWNHUmhkR1Z5S1NCN1hHNGdJSFJvYVhNdWNISnZjSE1nUFNCd2NtOXdjenRjYmlBZ2RHaHBjeTVqYjI1MFpYaDBJRDBnWTI5dWRHVjRkRHNnTHk4Z1NXWWdZU0JqYjIxd2IyNWxiblFnYUdGeklITjBjbWx1WnlCeVpXWnpMQ0IzWlNCM2FXeHNJR0Z6YzJsbmJpQmhJR1JwWm1abGNtVnVkQ0J2WW1wbFkzUWdiR0YwWlhJdVhHNWNiaUFnZEdocGN5NXlaV1p6SUQwZ1pXMXdkSGxQWW1wbFkzUTdYRzRnSUhSb2FYTXVkWEJrWVhSbGNpQTlJSFZ3WkdGMFpYSWdmSHdnVW1WaFkzUk9iMjl3VlhCa1lYUmxVWFZsZFdVN1hHNTlYRzVjYm5aaGNpQndkWEpsUTI5dGNHOXVaVzUwVUhKdmRHOTBlWEJsSUQwZ1VIVnlaVU52YlhCdmJtVnVkQzV3Y205MGIzUjVjR1VnUFNCdVpYY2dRMjl0Y0c5dVpXNTBSSFZ0Ylhrb0tUdGNibkIxY21WRGIyMXdiMjVsYm5SUWNtOTBiM1I1Y0dVdVkyOXVjM1J5ZFdOMGIzSWdQU0JRZFhKbFEyOXRjRzl1Wlc1ME95QXZMeUJCZG05cFpDQmhiaUJsZUhSeVlTQndjbTkwYjNSNWNHVWdhblZ0Y0NCbWIzSWdkR2hsYzJVZ2JXVjBhRzlrY3k1Y2JseHVYMkZ6YzJsbmJpaHdkWEpsUTI5dGNHOXVaVzUwVUhKdmRHOTBlWEJsTENCRGIyMXdiMjVsYm5RdWNISnZkRzkwZVhCbEtUdGNibHh1Y0hWeVpVTnZiWEJ2Ym1WdWRGQnliM1J2ZEhsd1pTNXBjMUIxY21WU1pXRmpkRU52YlhCdmJtVnVkQ0E5SUhSeWRXVTdYRzVjYmk4dklHRnVJR2x0YlhWMFlXSnNaU0J2WW1wbFkzUWdkMmwwYUNCaElITnBibWRzWlNCdGRYUmhZbXhsSUhaaGJIVmxYRzVtZFc1amRHbHZiaUJqY21WaGRHVlNaV1lvS1NCN1hHNGdJSFpoY2lCeVpXWlBZbXBsWTNRZ1BTQjdYRzRnSUNBZ1kzVnljbVZ1ZERvZ2JuVnNiRnh1SUNCOU8xeHVYRzRnSUh0Y2JpQWdJQ0JQWW1wbFkzUXVjMlZoYkNoeVpXWlBZbXBsWTNRcE8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlISmxaazlpYW1WamREdGNibjFjYmx4dWRtRnlJR2hoYzA5M2JsQnliM0JsY25SNUlEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pTNW9ZWE5QZDI1UWNtOXdaWEowZVR0Y2JuWmhjaUJTUlZORlVsWkZSRjlRVWs5UVV5QTlJSHRjYmlBZ2EyVjVPaUIwY25WbExGeHVJQ0J5WldZNklIUnlkV1VzWEc0Z0lGOWZjMlZzWmpvZ2RISjFaU3hjYmlBZ1gxOXpiM1Z5WTJVNklIUnlkV1ZjYm4wN1hHNTJZWElnYzNCbFkybGhiRkJ5YjNCTFpYbFhZWEp1YVc1blUyaHZkMjRzSUhOd1pXTnBZV3hRY205d1VtVm1WMkZ5Ym1sdVoxTm9iM2R1TENCa2FXUlhZWEp1UVdKdmRYUlRkSEpwYm1kU1pXWnpPMXh1WEc1N1hHNGdJR1JwWkZkaGNtNUJZbTkxZEZOMGNtbHVaMUpsWm5NZ1BTQjdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdhR0Z6Vm1Gc2FXUlNaV1lvWTI5dVptbG5LU0I3WEc0Z0lIdGNiaUFnSUNCcFppQW9hR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hqYjI1bWFXY3NJQ2R5WldZbktTa2dlMXh1SUNBZ0lDQWdkbUZ5SUdkbGRIUmxjaUE5SUU5aWFtVmpkQzVuWlhSUGQyNVFjbTl3WlhKMGVVUmxjMk55YVhCMGIzSW9ZMjl1Wm1sbkxDQW5jbVZtSnlrdVoyVjBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1oyVjBkR1Z5SUNZbUlHZGxkSFJsY2k1cGMxSmxZV04wVjJGeWJtbHVaeWtnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHTnZibVpwWnk1eVpXWWdJVDA5SUhWdVpHVm1hVzVsWkR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYUdGelZtRnNhV1JMWlhrb1kyOXVabWxuS1NCN1hHNGdJSHRjYmlBZ0lDQnBaaUFvYUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoamIyNW1hV2NzSUNkclpYa25LU2tnZTF4dUlDQWdJQ0FnZG1GeUlHZGxkSFJsY2lBOUlFOWlhbVZqZEM1blpYUlBkMjVRY205d1pYSjBlVVJsYzJOeWFYQjBiM0lvWTI5dVptbG5MQ0FuYTJWNUp5a3VaMlYwTzF4dVhHNGdJQ0FnSUNCcFppQW9aMlYwZEdWeUlDWW1JR2RsZEhSbGNpNXBjMUpsWVdOMFYyRnlibWx1WnlrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR052Ym1acFp5NXJaWGtnSVQwOUlIVnVaR1ZtYVc1bFpEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHVm1hVzVsUzJWNVVISnZjRmRoY201cGJtZEhaWFIwWlhJb2NISnZjSE1zSUdScGMzQnNZWGxPWVcxbEtTQjdYRzRnSUhaaGNpQjNZWEp1UVdKdmRYUkJZMk5sYzNOcGJtZExaWGtnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z6Y0dWamFXRnNVSEp2Y0V0bGVWZGhjbTVwYm1kVGFHOTNiaWtnZTF4dUlDQWdJQ0FnSUNCemNHVmphV0ZzVUhKdmNFdGxlVmRoY201cGJtZFRhRzkzYmlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQmdhMlY1WUNCcGN5QnViM1FnWVNCd2NtOXdMaUJVY25scGJtY2dkRzhnWVdOalpYTnpJR2wwSUhkcGJHd2djbVZ6ZFd4MElDY2dLeUFuYVc0Z1lIVnVaR1ZtYVc1bFpHQWdZbVZwYm1jZ2NtVjBkWEp1WldRdUlFbG1JSGx2ZFNCdVpXVmtJSFJ2SUdGalkyVnpjeUIwYUdVZ2MyRnRaU0FuSUNzZ0ozWmhiSFZsSUhkcGRHaHBiaUIwYUdVZ1kyaHBiR1FnWTI5dGNHOXVaVzUwTENCNWIzVWdjMmh2ZFd4a0lIQmhjM01nYVhRZ1lYTWdZU0JrYVdabVpYSmxiblFnSnlBcklDZHdjbTl3TGlBb2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMXpjR1ZqYVdGc0xYQnliM0J6S1Njc0lHUnBjM0JzWVhsT1lXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnZDJGeWJrRmliM1YwUVdOalpYTnphVzVuUzJWNUxtbHpVbVZoWTNSWFlYSnVhVzVuSUQwZ2RISjFaVHRjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEJ5YjNCekxDQW5hMlY1Snl3Z2UxeHVJQ0FnSUdkbGREb2dkMkZ5YmtGaWIzVjBRV05qWlhOemFXNW5TMlY1TEZ4dUlDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh1SUNCOUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pHVm1hVzVsVW1WbVVISnZjRmRoY201cGJtZEhaWFIwWlhJb2NISnZjSE1zSUdScGMzQnNZWGxPWVcxbEtTQjdYRzRnSUhaaGNpQjNZWEp1UVdKdmRYUkJZMk5sYzNOcGJtZFNaV1lnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2UxeHVJQ0FnSUNBZ2FXWWdLQ0Z6Y0dWamFXRnNVSEp2Y0ZKbFpsZGhjbTVwYm1kVGFHOTNiaWtnZTF4dUlDQWdJQ0FnSUNCemNHVmphV0ZzVUhKdmNGSmxabGRoY201cGJtZFRhRzkzYmlBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1pYSnliM0lvSnlWek9pQmdjbVZtWUNCcGN5QnViM1FnWVNCd2NtOXdMaUJVY25scGJtY2dkRzhnWVdOalpYTnpJR2wwSUhkcGJHd2djbVZ6ZFd4MElDY2dLeUFuYVc0Z1lIVnVaR1ZtYVc1bFpHQWdZbVZwYm1jZ2NtVjBkWEp1WldRdUlFbG1JSGx2ZFNCdVpXVmtJSFJ2SUdGalkyVnpjeUIwYUdVZ2MyRnRaU0FuSUNzZ0ozWmhiSFZsSUhkcGRHaHBiaUIwYUdVZ1kyaHBiR1FnWTI5dGNHOXVaVzUwTENCNWIzVWdjMmh2ZFd4a0lIQmhjM01nYVhRZ1lYTWdZU0JrYVdabVpYSmxiblFnSnlBcklDZHdjbTl3TGlBb2FIUjBjSE02THk5bVlpNXRaUzl5WldGamRDMXpjR1ZqYVdGc0xYQnliM0J6S1Njc0lHUnBjM0JzWVhsT1lXMWxLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwN1hHNWNiaUFnZDJGeWJrRmliM1YwUVdOalpYTnphVzVuVW1WbUxtbHpVbVZoWTNSWFlYSnVhVzVuSUQwZ2RISjFaVHRjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSEJ5YjNCekxDQW5jbVZtSnl3Z2UxeHVJQ0FnSUdkbGREb2dkMkZ5YmtGaWIzVjBRV05qWlhOemFXNW5VbVZtTEZ4dUlDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaVnh1SUNCOUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2QyRnlia2xtVTNSeWFXNW5VbVZtUTJGdWJtOTBRbVZCZFhSdlEyOXVkbVZ5ZEdWa0tHTnZibVpwWnlrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1bWFXY3VjbVZtSUQwOVBTQW5jM1J5YVc1bkp5QW1KaUJTWldGamRFTjFjbkpsYm5SUGQyNWxjaTVqZFhKeVpXNTBJQ1ltSUdOdmJtWnBaeTVmWDNObGJHWWdKaVlnVW1WaFkzUkRkWEp5Wlc1MFQzZHVaWEl1WTNWeWNtVnVkQzV6ZEdGMFpVNXZaR1VnSVQwOUlHTnZibVpwWnk1ZlgzTmxiR1lwSUh0Y2JpQWdJQ0FnSUhaaGNpQmpiMjF3YjI1bGJuUk9ZVzFsSUQwZ1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNoU1pXRmpkRU4xY25KbGJuUlBkMjVsY2k1amRYSnlaVzUwTG5SNWNHVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRmRoY201QlltOTFkRk4wY21sdVoxSmxabk5iWTI5dGNHOXVaVzUwVG1GdFpWMHBJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KME52YlhCdmJtVnVkQ0JjSWlWelhDSWdZMjl1ZEdGcGJuTWdkR2hsSUhOMGNtbHVaeUJ5WldZZ1hDSWxjMXdpTGlBbklDc2dKMU4xY0hCdmNuUWdabTl5SUhOMGNtbHVaeUJ5WldaeklIZHBiR3dnWW1VZ2NtVnRiM1psWkNCcGJpQmhJR1oxZEhWeVpTQnRZV3B2Y2lCeVpXeGxZWE5sTGlBbklDc2dKMVJvYVhNZ1kyRnpaU0JqWVc1dWIzUWdZbVVnWVhWMGIyMWhkR2xqWVd4c2VTQmpiMjUyWlhKMFpXUWdkRzhnWVc0Z1lYSnliM2NnWm5WdVkzUnBiMjR1SUNjZ0t5QW5WMlVnWVhOcklIbHZkU0IwYnlCdFlXNTFZV3hzZVNCbWFYZ2dkR2hwY3lCallYTmxJR0o1SUhWemFXNW5JSFZ6WlZKbFppZ3BJRzl5SUdOeVpXRjBaVkpsWmlncElHbHVjM1JsWVdRdUlDY2dLeUFuVEdWaGNtNGdiVzl5WlNCaFltOTFkQ0IxYzJsdVp5QnlaV1p6SUhOaFptVnNlU0JvWlhKbE9pQW5JQ3NnSjJoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGMzUnlhV04wTFcxdlpHVXRjM1J5YVc1bkxYSmxaaWNzSUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvVW1WaFkzUkRkWEp5Wlc1MFQzZHVaWEl1WTNWeWNtVnVkQzUwZVhCbEtTd2dZMjl1Wm1sbkxuSmxaaWs3WEc1Y2JpQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBVM1J5YVc1blVtVm1jMXRqYjIxd2IyNWxiblJPWVcxbFhTQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc0dktpcGNiaUFxSUVaaFkzUnZjbmtnYldWMGFHOWtJSFJ2SUdOeVpXRjBaU0JoSUc1bGR5QlNaV0ZqZENCbGJHVnRaVzUwTGlCVWFHbHpJRzV2SUd4dmJtZGxjaUJoWkdobGNtVnpJSFJ2WEc0Z0tpQjBhR1VnWTJ4aGMzTWdjR0YwZEdWeWJpd2djMjhnWkc4Z2JtOTBJSFZ6WlNCdVpYY2dkRzhnWTJGc2JDQnBkQzRnUVd4emJ5d2dhVzV6ZEdGdVkyVnZaaUJqYUdWamExeHVJQ29nZDJsc2JDQnViM1FnZDI5eWF5NGdTVzV6ZEdWaFpDQjBaWE4wSUNRa2RIbHdaVzltSUdacFpXeGtJR0ZuWVdsdWMzUWdVM2x0WW05c0xtWnZjaWduY21WaFkzUXVaV3hsYldWdWRDY3BJSFJ2SUdOb1pXTnJYRzRnS2lCcFppQnpiMjFsZEdocGJtY2dhWE1nWVNCU1pXRmpkQ0JGYkdWdFpXNTBMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdLbjBnZEhsd1pWeHVJQ29nUUhCaGNtRnRJSHNxZlNCd2NtOXdjMXh1SUNvZ1FIQmhjbUZ0SUhzcWZTQnJaWGxjYmlBcUlFQndZWEpoYlNCN2MzUnlhVzVuZkc5aWFtVmpkSDBnY21WbVhHNGdLaUJBY0dGeVlXMGdleXA5SUc5M2JtVnlYRzRnS2lCQWNHRnlZVzBnZXlwOUlITmxiR1lnUVNBcWRHVnRjRzl5WVhKNUtpQm9aV3h3WlhJZ2RHOGdaR1YwWldOMElIQnNZV05sY3lCM2FHVnlaU0JnZEdocGMyQWdhWE5jYmlBcUlHUnBabVpsY21WdWRDQm1jbTl0SUhSb1pTQmdiM2R1WlhKZ0lIZG9aVzRnVW1WaFkzUXVZM0psWVhSbFJXeGxiV1Z1ZENCcGN5QmpZV3hzWldRc0lITnZJSFJvWVhRZ2QyVmNiaUFxSUdOaGJpQjNZWEp1TGlCWFpTQjNZVzUwSUhSdklHZGxkQ0J5YVdRZ2IyWWdiM2R1WlhJZ1lXNWtJSEpsY0d4aFkyVWdjM1J5YVc1bklHQnlaV1pnY3lCM2FYUm9JR0Z5Y205M1hHNGdLaUJtZFc1amRHbHZibk1zSUdGdVpDQmhjeUJzYjI1bklHRnpJR0IwYUdsellDQmhibVFnYjNkdVpYSWdZWEpsSUhSb1pTQnpZVzFsTENCMGFHVnlaU0IzYVd4c0lHSmxJRzV2WEc0Z0tpQmphR0Z1WjJVZ2FXNGdZbVZvWVhacGIzSXVYRzRnS2lCQWNHRnlZVzBnZXlwOUlITnZkWEpqWlNCQmJpQmhibTV2ZEdGMGFXOXVJRzlpYW1WamRDQW9ZV1JrWldRZ1lua2dZU0IwY21GdWMzQnBiR1Z5SUc5eUlHOTBhR1Z5ZDJselpTbGNiaUFxSUdsdVpHbGpZWFJwYm1jZ1ptbHNaVzVoYldVc0lHeHBibVVnYm5WdFltVnlMQ0JoYm1RdmIzSWdiM1JvWlhJZ2FXNW1iM0p0WVhScGIyNHVYRzRnS2lCQWFXNTBaWEp1WVd4Y2JpQXFMMXh1WEc1Y2JuWmhjaUJTWldGamRFVnNaVzFsYm5RZ1BTQm1kVzVqZEdsdmJpQW9kSGx3WlN3Z2EyVjVMQ0J5WldZc0lITmxiR1lzSUhOdmRYSmpaU3dnYjNkdVpYSXNJSEJ5YjNCektTQjdYRzRnSUhaaGNpQmxiR1Z0Wlc1MElEMGdlMXh1SUNBZ0lDOHZJRlJvYVhNZ2RHRm5JR0ZzYkc5M2N5QjFjeUIwYnlCMWJtbHhkV1ZzZVNCcFpHVnVkR2xtZVNCMGFHbHpJR0Z6SUdFZ1VtVmhZM1FnUld4bGJXVnVkRnh1SUNBZ0lDUWtkSGx3Wlc5bU9pQlNSVUZEVkY5RlRFVk5SVTVVWDFSWlVFVXNYRzRnSUNBZ0x5OGdRblZwYkhRdGFXNGdjSEp2Y0dWeWRHbGxjeUIwYUdGMElHSmxiRzl1WnlCdmJpQjBhR1VnWld4bGJXVnVkRnh1SUNBZ0lIUjVjR1U2SUhSNWNHVXNYRzRnSUNBZ2EyVjVPaUJyWlhrc1hHNGdJQ0FnY21WbU9pQnlaV1lzWEc0Z0lDQWdjSEp2Y0hNNklIQnliM0J6TEZ4dUlDQWdJQzh2SUZKbFkyOXlaQ0IwYUdVZ1kyOXRjRzl1Wlc1MElISmxjM0J2Ym5OcFlteGxJR1p2Y2lCamNtVmhkR2x1WnlCMGFHbHpJR1ZzWlcxbGJuUXVYRzRnSUNBZ1gyOTNibVZ5T2lCdmQyNWxjbHh1SUNCOU8xeHVYRzRnSUh0Y2JpQWdJQ0F2THlCVWFHVWdkbUZzYVdSaGRHbHZiaUJtYkdGbklHbHpJR04xY25KbGJuUnNlU0J0ZFhSaGRHbDJaUzRnVjJVZ2NIVjBJR2wwSUc5dVhHNGdJQ0FnTHk4Z1lXNGdaWGgwWlhKdVlXd2dZbUZqYTJsdVp5QnpkRzl5WlNCemJ5QjBhR0YwSUhkbElHTmhiaUJtY21WbGVtVWdkR2hsSUhkb2IyeGxJRzlpYW1WamRDNWNiaUFnSUNBdkx5QlVhR2x6SUdOaGJpQmlaU0J5WlhCc1lXTmxaQ0IzYVhSb0lHRWdWMlZoYTAxaGNDQnZibU5sSUhSb1pYa2dZWEpsSUdsdGNHeGxiV1Z1ZEdWa0lHbHVYRzRnSUNBZ0x5OGdZMjl0Ylc5dWJIa2dkWE5sWkNCa1pYWmxiRzl3YldWdWRDQmxiblpwY205dWJXVnVkSE11WEc0Z0lDQWdaV3hsYldWdWRDNWZjM1J2Y21VZ1BTQjdmVHNnTHk4Z1ZHOGdiV0ZyWlNCamIyMXdZWEpwYm1jZ1VtVmhZM1JGYkdWdFpXNTBjeUJsWVhOcFpYSWdabTl5SUhSbGMzUnBibWNnY0hWeWNHOXpaWE1zSUhkbElHMWhhMlZjYmlBZ0lDQXZMeUIwYUdVZ2RtRnNhV1JoZEdsdmJpQm1iR0ZuSUc1dmJpMWxiblZ0WlhKaFlteGxJQ2gzYUdWeVpTQndiM056YVdKc1pTd2dkMmhwWTJnZ2MyaHZkV3hrWEc0Z0lDQWdMeThnYVc1amJIVmtaU0JsZG1WeWVTQmxiblpwY205dWJXVnVkQ0IzWlNCeWRXNGdkR1Z6ZEhNZ2FXNHBMQ0J6YnlCMGFHVWdkR1Z6ZENCbWNtRnRaWGR2Y210Y2JpQWdJQ0F2THlCcFoyNXZjbVZ6SUdsMExseHVYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR1ZzWlcxbGJuUXVYM04wYjNKbExDQW5kbUZzYVdSaGRHVmtKeXdnZTF4dUlDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQWdJQ0FnZDNKcGRHRmliR1U2SUhSeWRXVXNYRzRnSUNBZ0lDQjJZV3gxWlRvZ1ptRnNjMlZjYmlBZ0lDQjlLVHNnTHk4Z2MyVnNaaUJoYm1RZ2MyOTFjbU5sSUdGeVpTQkVSVllnYjI1c2VTQndjbTl3WlhKMGFXVnpMbHh1WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0dWc1pXMWxiblFzSUNkZmMyVnNaaWNzSUh0Y2JpQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUhkeWFYUmhZbXhsT2lCbVlXeHpaU3hjYmlBZ0lDQWdJSFpoYkhWbE9pQnpaV3htWEc0Z0lDQWdmU2s3SUM4dklGUjNieUJsYkdWdFpXNTBjeUJqY21WaGRHVmtJR2x1SUhSM2J5QmthV1ptWlhKbGJuUWdjR3hoWTJWeklITm9iM1ZzWkNCaVpTQmpiMjV6YVdSbGNtVmtYRzRnSUNBZ0x5OGdaWEYxWVd3Z1ptOXlJSFJsYzNScGJtY2djSFZ5Y0c5elpYTWdZVzVrSUhSb1pYSmxabTl5WlNCM1pTQm9hV1JsSUdsMElHWnliMjBnWlc1MWJXVnlZWFJwYjI0dVhHNWNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29aV3hsYldWdWRDd2dKMTl6YjNWeVkyVW5MQ0I3WEc0Z0lDQWdJQ0JqYjI1bWFXZDFjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ1ptRnNjMlVzWEc0Z0lDQWdJQ0IzY21sMFlXSnNaVG9nWm1Gc2MyVXNYRzRnSUNBZ0lDQjJZV3gxWlRvZ2MyOTFjbU5sWEc0Z0lDQWdmU2s3WEc1Y2JpQWdJQ0JwWmlBb1QySnFaV04wTG1aeVpXVjZaU2tnZTF4dUlDQWdJQ0FnVDJKcVpXTjBMbVp5WldWNlpTaGxiR1Z0Wlc1MExuQnliM0J6S1R0Y2JpQWdJQ0FnSUU5aWFtVmpkQzVtY21WbGVtVW9aV3hsYldWdWRDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHVnNaVzFsYm5RN1hHNTlPMXh1THlvcVhHNGdLaUJEY21WaGRHVWdZVzVrSUhKbGRIVnliaUJoSUc1bGR5QlNaV0ZqZEVWc1pXMWxiblFnYjJZZ2RHaGxJR2RwZG1WdUlIUjVjR1V1WEc0Z0tpQlRaV1VnYUhSMGNITTZMeTl5WldGamRHcHpMbTl5Wnk5a2IyTnpMM0psWVdOMExXRndhUzVvZEcxc0kyTnlaV0YwWldWc1pXMWxiblJjYmlBcUwxeHVYRzVtZFc1amRHbHZiaUJqY21WaGRHVkZiR1Z0Wlc1MEtIUjVjR1VzSUdOdmJtWnBaeXdnWTJocGJHUnlaVzRwSUh0Y2JpQWdkbUZ5SUhCeWIzQk9ZVzFsT3lBdkx5QlNaWE5sY25abFpDQnVZVzFsY3lCaGNtVWdaWGgwY21GamRHVmtYRzVjYmlBZ2RtRnlJSEJ5YjNCeklEMGdlMzA3WEc0Z0lIWmhjaUJyWlhrZ1BTQnVkV3hzTzF4dUlDQjJZWElnY21WbUlEMGdiblZzYkR0Y2JpQWdkbUZ5SUhObGJHWWdQU0J1ZFd4c08xeHVJQ0IyWVhJZ2MyOTFjbU5sSUQwZ2JuVnNiRHRjYmx4dUlDQnBaaUFvWTI5dVptbG5JQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQnBaaUFvYUdGelZtRnNhV1JTWldZb1kyOXVabWxuS1NrZ2UxeHVJQ0FnSUNBZ2NtVm1JRDBnWTI5dVptbG5MbkpsWmp0Y2JseHVJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQjNZWEp1U1daVGRISnBibWRTWldaRFlXNXViM1JDWlVGMWRHOURiMjUyWlhKMFpXUW9ZMjl1Wm1sbktUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9hR0Z6Vm1Gc2FXUkxaWGtvWTI5dVptbG5LU2tnZTF4dUlDQWdJQ0FnYTJWNUlEMGdKeWNnS3lCamIyNW1hV2N1YTJWNU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhObGJHWWdQU0JqYjI1bWFXY3VYMTl6Wld4bUlEMDlQU0IxYm1SbFptbHVaV1FnUHlCdWRXeHNJRG9nWTI5dVptbG5MbDlmYzJWc1pqdGNiaUFnSUNCemIzVnlZMlVnUFNCamIyNW1hV2N1WDE5emIzVnlZMlVnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JRzUxYkd3Z09pQmpiMjVtYVdjdVgxOXpiM1Z5WTJVN0lDOHZJRkpsYldGcGJtbHVaeUJ3Y205d1pYSjBhV1Z6SUdGeVpTQmhaR1JsWkNCMGJ5QmhJRzVsZHlCd2NtOXdjeUJ2WW1wbFkzUmNibHh1SUNBZ0lHWnZjaUFvY0hKdmNFNWhiV1VnYVc0Z1kyOXVabWxuS1NCN1hHNGdJQ0FnSUNCcFppQW9hR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2hqYjI1bWFXY3NJSEJ5YjNCT1lXMWxLU0FtSmlBaFVrVlRSVkpXUlVSZlVGSlBVRk11YUdGelQzZHVVSEp2Y0dWeWRIa29jSEp2Y0U1aGJXVXBLU0I3WEc0Z0lDQWdJQ0FnSUhCeWIzQnpXM0J5YjNCT1lXMWxYU0E5SUdOdmJtWnBaMXR3Y205d1RtRnRaVjA3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRU5vYVd4a2NtVnVJR05oYmlCaVpTQnRiM0psSUhSb1lXNGdiMjVsSUdGeVozVnRaVzUwTENCaGJtUWdkR2h2YzJVZ1lYSmxJSFJ5WVc1elptVnljbVZrSUc5dWRHOWNiaUFnTHk4Z2RHaGxJRzVsZDJ4NUlHRnNiRzlqWVhSbFpDQndjbTl3Y3lCdlltcGxZM1F1WEc1Y2JseHVJQ0IyWVhJZ1kyaHBiR1J5Wlc1TVpXNW5kR2dnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUMwZ01qdGNibHh1SUNCcFppQW9ZMmhwYkdSeVpXNU1aVzVuZEdnZ1BUMDlJREVwSUh0Y2JpQWdJQ0J3Y205d2N5NWphR2xzWkhKbGJpQTlJR05vYVd4a2NtVnVPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHTm9hV3hrY21WdVRHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lIWmhjaUJqYUdsc1pFRnljbUY1SUQwZ1FYSnlZWGtvWTJocGJHUnlaVzVNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYUdsc1pISmxia3hsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamFHbHNaRUZ5Y21GNVcybGRJRDBnWVhKbmRXMWxiblJ6VzJrZ0t5QXlYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQnBaaUFvVDJKcVpXTjBMbVp5WldWNlpTa2dlMXh1SUNBZ0lDQWdJQ0JQWW1wbFkzUXVabkpsWlhwbEtHTm9hV3hrUVhKeVlYa3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lIQnliM0J6TG1Ob2FXeGtjbVZ1SUQwZ1kyaHBiR1JCY25KaGVUdGNiaUFnZlNBdkx5QlNaWE52YkhabElHUmxabUYxYkhRZ2NISnZjSE5jYmx4dVhHNGdJR2xtSUNoMGVYQmxJQ1ltSUhSNWNHVXVaR1ZtWVhWc2RGQnliM0J6S1NCN1hHNGdJQ0FnZG1GeUlHUmxabUYxYkhSUWNtOXdjeUE5SUhSNWNHVXVaR1ZtWVhWc2RGQnliM0J6TzF4dVhHNGdJQ0FnWm05eUlDaHdjbTl3VG1GdFpTQnBiaUJrWldaaGRXeDBVSEp2Y0hNcElIdGNiaUFnSUNBZ0lHbG1JQ2h3Y205d2MxdHdjbTl3VG1GdFpWMGdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0lDQndjbTl3YzF0d2NtOXdUbUZ0WlYwZ1BTQmtaV1poZFd4MFVISnZjSE5iY0hKdmNFNWhiV1ZkTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUh0Y2JpQWdJQ0JwWmlBb2EyVjVJSHg4SUhKbFppa2dlMXh1SUNBZ0lDQWdkbUZ5SUdScGMzQnNZWGxPWVcxbElEMGdkSGx3Wlc5bUlIUjVjR1VnUFQwOUlDZG1kVzVqZEdsdmJpY2dQeUIwZVhCbExtUnBjM0JzWVhsT1lXMWxJSHg4SUhSNWNHVXVibUZ0WlNCOGZDQW5WVzVyYm05M2JpY2dPaUIwZVhCbE8xeHVYRzRnSUNBZ0lDQnBaaUFvYTJWNUtTQjdYRzRnSUNBZ0lDQWdJR1JsWm1sdVpVdGxlVkJ5YjNCWFlYSnVhVzVuUjJWMGRHVnlLSEJ5YjNCekxDQmthWE53YkdGNVRtRnRaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaHlaV1lwSUh0Y2JpQWdJQ0FnSUNBZ1pHVm1hVzVsVW1WbVVISnZjRmRoY201cGJtZEhaWFIwWlhJb2NISnZjSE1zSUdScGMzQnNZWGxPWVcxbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1VtVmhZM1JGYkdWdFpXNTBLSFI1Y0dVc0lHdGxlU3dnY21WbUxDQnpaV3htTENCemIzVnlZMlVzSUZKbFlXTjBRM1Z5Y21WdWRFOTNibVZ5TG1OMWNuSmxiblFzSUhCeWIzQnpLVHRjYm4xY2JtWjFibU4wYVc5dUlHTnNiMjVsUVc1a1VtVndiR0ZqWlV0bGVTaHZiR1JGYkdWdFpXNTBMQ0J1WlhkTFpYa3BJSHRjYmlBZ2RtRnlJRzVsZDBWc1pXMWxiblFnUFNCU1pXRmpkRVZzWlcxbGJuUW9iMnhrUld4bGJXVnVkQzUwZVhCbExDQnVaWGRMWlhrc0lHOXNaRVZzWlcxbGJuUXVjbVZtTENCdmJHUkZiR1Z0Wlc1MExsOXpaV3htTENCdmJHUkZiR1Z0Wlc1MExsOXpiM1Z5WTJVc0lHOXNaRVZzWlcxbGJuUXVYMjkzYm1WeUxDQnZiR1JGYkdWdFpXNTBMbkJ5YjNCektUdGNiaUFnY21WMGRYSnVJRzVsZDBWc1pXMWxiblE3WEc1OVhHNHZLaXBjYmlBcUlFTnNiMjVsSUdGdVpDQnlaWFIxY200Z1lTQnVaWGNnVW1WaFkzUkZiR1Z0Wlc1MElIVnphVzVuSUdWc1pXMWxiblFnWVhNZ2RHaGxJSE4wWVhKMGFXNW5JSEJ2YVc1MExseHVJQ29nVTJWbElHaDBkSEJ6T2k4dmNtVmhZM1JxY3k1dmNtY3ZaRzlqY3k5eVpXRmpkQzFoY0drdWFIUnRiQ05qYkc5dVpXVnNaVzFsYm5SY2JpQXFMMXh1WEc1bWRXNWpkR2x2YmlCamJHOXVaVVZzWlcxbGJuUW9aV3hsYldWdWRDd2dZMjl1Wm1sbkxDQmphR2xzWkhKbGJpa2dlMXh1SUNCcFppQW9JU0VvWld4bGJXVnVkQ0E5UFQwZ2JuVnNiQ0I4ZkNCbGJHVnRaVzUwSUQwOVBTQjFibVJsWm1sdVpXUXBLU0I3WEc0Z0lDQWdlMXh1SUNBZ0lDQWdkR2h5YjNjZ1JYSnliM0lvSUZ3aVVtVmhZM1F1WTJ4dmJtVkZiR1Z0Wlc1MEtDNHVMaWs2SUZSb1pTQmhjbWQxYldWdWRDQnRkWE4wSUdKbElHRWdVbVZoWTNRZ1pXeGxiV1Z1ZEN3Z1luVjBJSGx2ZFNCd1lYTnpaV1FnWENJZ0t5QmxiR1Z0Wlc1MElDc2dYQ0l1WENJZ0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQjJZWElnY0hKdmNFNWhiV1U3SUM4dklFOXlhV2RwYm1Gc0lIQnliM0J6SUdGeVpTQmpiM0JwWldSY2JseHVJQ0IyWVhJZ2NISnZjSE1nUFNCZllYTnphV2R1S0h0OUxDQmxiR1Z0Wlc1MExuQnliM0J6S1RzZ0x5OGdVbVZ6WlhKMlpXUWdibUZ0WlhNZ1lYSmxJR1Y0ZEhKaFkzUmxaRnh1WEc1Y2JpQWdkbUZ5SUd0bGVTQTlJR1ZzWlcxbGJuUXVhMlY1TzF4dUlDQjJZWElnY21WbUlEMGdaV3hsYldWdWRDNXlaV1k3SUM4dklGTmxiR1lnYVhNZ2NISmxjMlZ5ZG1Wa0lITnBibU5sSUhSb1pTQnZkMjVsY2lCcGN5QndjbVZ6WlhKMlpXUXVYRzVjYmlBZ2RtRnlJSE5sYkdZZ1BTQmxiR1Z0Wlc1MExsOXpaV3htT3lBdkx5QlRiM1Z5WTJVZ2FYTWdjSEpsYzJWeWRtVmtJSE5wYm1ObElHTnNiMjVsUld4bGJXVnVkQ0JwY3lCMWJteHBhMlZzZVNCMGJ5QmlaU0IwWVhKblpYUmxaQ0JpZVNCaFhHNGdJQzh2SUhSeVlXNXpjR2xzWlhJc0lHRnVaQ0IwYUdVZ2IzSnBaMmx1WVd3Z2MyOTFjbU5sSUdseklIQnliMkpoWW14NUlHRWdZbVYwZEdWeUlHbHVaR2xqWVhSdmNpQnZaaUIwYUdWY2JpQWdMeThnZEhKMVpTQnZkMjVsY2k1Y2JseHVJQ0IyWVhJZ2MyOTFjbU5sSUQwZ1pXeGxiV1Z1ZEM1ZmMyOTFjbU5sT3lBdkx5QlBkMjVsY2lCM2FXeHNJR0psSUhCeVpYTmxjblpsWkN3Z2RXNXNaWE56SUhKbFppQnBjeUJ2ZG1WeWNtbGtaR1Z1WEc1Y2JpQWdkbUZ5SUc5M2JtVnlJRDBnWld4bGJXVnVkQzVmYjNkdVpYSTdYRzVjYmlBZ2FXWWdLR052Ym1acFp5QWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2FXWWdLR2hoYzFaaGJHbGtVbVZtS0dOdmJtWnBaeWtwSUh0Y2JpQWdJQ0FnSUM4dklGTnBiR1Z1ZEd4NUlITjBaV0ZzSUhSb1pTQnlaV1lnWm5KdmJTQjBhR1VnY0dGeVpXNTBMbHh1SUNBZ0lDQWdjbVZtSUQwZ1kyOXVabWxuTG5KbFpqdGNiaUFnSUNBZ0lHOTNibVZ5SUQwZ1VtVmhZM1JEZFhKeVpXNTBUM2R1WlhJdVkzVnljbVZ1ZER0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2FHRnpWbUZzYVdSTFpYa29ZMjl1Wm1sbktTa2dlMXh1SUNBZ0lDQWdhMlY1SUQwZ0p5Y2dLeUJqYjI1bWFXY3VhMlY1TzF4dUlDQWdJSDBnTHk4Z1VtVnRZV2x1YVc1bklIQnliM0JsY25ScFpYTWdiM1psY25KcFpHVWdaWGhwYzNScGJtY2djSEp2Y0hOY2JseHVYRzRnSUNBZ2RtRnlJR1JsWm1GMWJIUlFjbTl3Y3p0Y2JseHVJQ0FnSUdsbUlDaGxiR1Z0Wlc1MExuUjVjR1VnSmlZZ1pXeGxiV1Z1ZEM1MGVYQmxMbVJsWm1GMWJIUlFjbTl3Y3lrZ2UxeHVJQ0FnSUNBZ1pHVm1ZWFZzZEZCeWIzQnpJRDBnWld4bGJXVnVkQzUwZVhCbExtUmxabUYxYkhSUWNtOXdjenRjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1iM0lnS0hCeWIzQk9ZVzFsSUdsdUlHTnZibVpwWnlrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2hoYzA5M2JsQnliM0JsY25SNUxtTmhiR3dvWTI5dVptbG5MQ0J3Y205d1RtRnRaU2tnSmlZZ0lWSkZVMFZTVmtWRVgxQlNUMUJUTG1oaGMwOTNibEJ5YjNCbGNuUjVLSEJ5YjNCT1lXMWxLU2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZMjl1Wm1sblczQnliM0JPWVcxbFhTQTlQVDBnZFc1a1pXWnBibVZrSUNZbUlHUmxabUYxYkhSUWNtOXdjeUFoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1VtVnpiMngyWlNCa1pXWmhkV3gwSUhCeWIzQnpYRzRnSUNBZ0lDQWdJQ0FnY0hKdmNITmJjSEp2Y0U1aGJXVmRJRDBnWkdWbVlYVnNkRkJ5YjNCelczQnliM0JPWVcxbFhUdGNiaUFnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0J3Y205d2MxdHdjbTl3VG1GdFpWMGdQU0JqYjI1bWFXZGJjSEp2Y0U1aGJXVmRPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUlDOHZJRU5vYVd4a2NtVnVJR05oYmlCaVpTQnRiM0psSUhSb1lXNGdiMjVsSUdGeVozVnRaVzUwTENCaGJtUWdkR2h2YzJVZ1lYSmxJSFJ5WVc1elptVnljbVZrSUc5dWRHOWNiaUFnTHk4Z2RHaGxJRzVsZDJ4NUlHRnNiRzlqWVhSbFpDQndjbTl3Y3lCdlltcGxZM1F1WEc1Y2JseHVJQ0IyWVhJZ1kyaHBiR1J5Wlc1TVpXNW5kR2dnUFNCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUMwZ01qdGNibHh1SUNCcFppQW9ZMmhwYkdSeVpXNU1aVzVuZEdnZ1BUMDlJREVwSUh0Y2JpQWdJQ0J3Y205d2N5NWphR2xzWkhKbGJpQTlJR05vYVd4a2NtVnVPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHTm9hV3hrY21WdVRHVnVaM1JvSUQ0Z01Ta2dlMXh1SUNBZ0lIWmhjaUJqYUdsc1pFRnljbUY1SUQwZ1FYSnlZWGtvWTJocGJHUnlaVzVNWlc1bmRHZ3BPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JqYUdsc1pISmxia3hsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCamFHbHNaRUZ5Y21GNVcybGRJRDBnWVhKbmRXMWxiblJ6VzJrZ0t5QXlYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQndjbTl3Y3k1amFHbHNaSEpsYmlBOUlHTm9hV3hrUVhKeVlYazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdVbVZoWTNSRmJHVnRaVzUwS0dWc1pXMWxiblF1ZEhsd1pTd2dhMlY1TENCeVpXWXNJSE5sYkdZc0lITnZkWEpqWlN3Z2IzZHVaWElzSUhCeWIzQnpLVHRjYm4xY2JpOHFLbHh1SUNvZ1ZtVnlhV1pwWlhNZ2RHaGxJRzlpYW1WamRDQnBjeUJoSUZKbFlXTjBSV3hsYldWdWRDNWNiaUFxSUZObFpTQm9kSFJ3Y3pvdkwzSmxZV04wYW5NdWIzSm5MMlJ2WTNNdmNtVmhZM1F0WVhCcExtaDBiV3dqYVhOMllXeHBaR1ZzWlcxbGJuUmNiaUFxSUVCd1lYSmhiU0I3UDI5aWFtVmpkSDBnYjJKcVpXTjBYRzRnS2lCQWNtVjBkWEp1SUh0aWIyOXNaV0Z1ZlNCVWNuVmxJR2xtSUdCdlltcGxZM1JnSUdseklHRWdVbVZoWTNSRmJHVnRaVzUwTGx4dUlDb2dRR1pwYm1Gc1hHNGdLaTljYmx4dVpuVnVZM1JwYjI0Z2FYTldZV3hwWkVWc1pXMWxiblFvYjJKcVpXTjBLU0I3WEc0Z0lISmxkSFZ5YmlCMGVYQmxiMllnYjJKcVpXTjBJRDA5UFNBbmIySnFaV04wSnlBbUppQnZZbXBsWTNRZ0lUMDlJRzUxYkd3Z0ppWWdiMkpxWldOMExpUWtkSGx3Wlc5bUlEMDlQU0JTUlVGRFZGOUZURVZOUlU1VVgxUlpVRVU3WEc1OVhHNWNiblpoY2lCVFJWQkJVa0ZVVDFJZ1BTQW5MaWM3WEc1MllYSWdVMVZDVTBWUVFWSkJWRTlTSUQwZ0p6b25PMXh1THlvcVhHNGdLaUJGYzJOaGNHVWdZVzVrSUhkeVlYQWdhMlY1SUhOdklHbDBJR2x6SUhOaFptVWdkRzhnZFhObElHRnpJR0VnY21WaFkzUnBaRnh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnJaWGtnZEc4Z1ltVWdaWE5qWVhCbFpDNWNiaUFxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMzBnZEdobElHVnpZMkZ3WldRZ2EyVjVMbHh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR1Z6WTJGd1pTaHJaWGtwSUh0Y2JpQWdkbUZ5SUdWelkyRndaVkpsWjJWNElEMGdMMXM5T2wwdlp6dGNiaUFnZG1GeUlHVnpZMkZ3WlhKTWIyOXJkWEFnUFNCN1hHNGdJQ0FnSnowbk9pQW5QVEFuTEZ4dUlDQWdJQ2M2SnpvZ0p6MHlKMXh1SUNCOU8xeHVJQ0IyWVhJZ1pYTmpZWEJsWkZOMGNtbHVaeUE5SUNnbkp5QXJJR3RsZVNrdWNtVndiR0ZqWlNobGMyTmhjR1ZTWldkbGVDd2dablZ1WTNScGIyNGdLRzFoZEdOb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUdWelkyRndaWEpNYjI5cmRYQmJiV0YwWTJoZE8xeHVJQ0I5S1R0Y2JpQWdjbVYwZFhKdUlDY2tKeUFySUdWelkyRndaV1JUZEhKcGJtYzdYRzU5WEc0dktpcGNiaUFxSUZSUFJFODZJRlJsYzNRZ2RHaGhkQ0JoSUhOcGJtZHNaU0JqYUdsc1pDQmhibVFnWVc0Z1lYSnlZWGtnZDJsMGFDQnZibVVnYVhSbGJTQm9ZWFpsSUhSb1pTQnpZVzFsSUd0bGVWeHVJQ29nY0dGMGRHVnliaTVjYmlBcUwxeHVYRzVjYm5aaGNpQmthV1JYWVhKdVFXSnZkWFJOWVhCeklEMGdabUZzYzJVN1hHNTJZWElnZFhObGNsQnliM1pwWkdWa1MyVjVSWE5qWVhCbFVtVm5aWGdnUFNBdlhGd3ZLeTluTzF4dVhHNW1kVzVqZEdsdmJpQmxjMk5oY0dWVmMyVnlVSEp2ZG1sa1pXUkxaWGtvZEdWNGRDa2dlMXh1SUNCeVpYUjFjbTRnS0NjbklDc2dkR1Y0ZENrdWNtVndiR0ZqWlNoMWMyVnlVSEp2ZG1sa1pXUkxaWGxGYzJOaGNHVlNaV2RsZUN3Z0p5UW1MeWNwTzF4dWZWeHVYRzUyWVhJZ1VFOVBURjlUU1ZwRklEMGdNVEE3WEc1MllYSWdkSEpoZG1WeWMyVkRiMjUwWlhoMFVHOXZiQ0E5SUZ0ZE8xeHVYRzVtZFc1amRHbHZiaUJuWlhSUWIyOXNaV1JVY21GMlpYSnpaVU52Ym5SbGVIUW9iV0Z3VW1WemRXeDBMQ0JyWlhsUWNtVm1hWGdzSUcxaGNFWjFibU4wYVc5dUxDQnRZWEJEYjI1MFpYaDBLU0I3WEc0Z0lHbG1JQ2gwY21GMlpYSnpaVU52Ym5SbGVIUlFiMjlzTG14bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCMGNtRjJaWEp6WlVOdmJuUmxlSFFnUFNCMGNtRjJaWEp6WlVOdmJuUmxlSFJRYjI5c0xuQnZjQ2dwTzF4dUlDQWdJSFJ5WVhabGNuTmxRMjl1ZEdWNGRDNXlaWE4xYkhRZ1BTQnRZWEJTWlhOMWJIUTdYRzRnSUNBZ2RISmhkbVZ5YzJWRGIyNTBaWGgwTG10bGVWQnlaV1pwZUNBOUlHdGxlVkJ5WldacGVEdGNiaUFnSUNCMGNtRjJaWEp6WlVOdmJuUmxlSFF1Wm5WdVl5QTlJRzFoY0VaMWJtTjBhVzl1TzF4dUlDQWdJSFJ5WVhabGNuTmxRMjl1ZEdWNGRDNWpiMjUwWlhoMElEMGdiV0Z3UTI5dWRHVjRkRHRjYmlBZ0lDQjBjbUYyWlhKelpVTnZiblJsZUhRdVkyOTFiblFnUFNBd08xeHVJQ0FnSUhKbGRIVnliaUIwY21GMlpYSnpaVU52Ym5SbGVIUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lISmxjM1ZzZERvZ2JXRndVbVZ6ZFd4MExGeHVJQ0FnSUNBZ2EyVjVVSEpsWm1sNE9pQnJaWGxRY21WbWFYZ3NYRzRnSUNBZ0lDQm1kVzVqT2lCdFlYQkdkVzVqZEdsdmJpeGNiaUFnSUNBZ0lHTnZiblJsZUhRNklHMWhjRU52Ym5SbGVIUXNYRzRnSUNBZ0lDQmpiM1Z1ZERvZ01GeHVJQ0FnSUgwN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdjbVZzWldGelpWUnlZWFpsY25ObFEyOXVkR1Y0ZENoMGNtRjJaWEp6WlVOdmJuUmxlSFFwSUh0Y2JpQWdkSEpoZG1WeWMyVkRiMjUwWlhoMExuSmxjM1ZzZENBOUlHNTFiR3c3WEc0Z0lIUnlZWFpsY25ObFEyOXVkR1Y0ZEM1clpYbFFjbVZtYVhnZ1BTQnVkV3hzTzF4dUlDQjBjbUYyWlhKelpVTnZiblJsZUhRdVpuVnVZeUE5SUc1MWJHdzdYRzRnSUhSeVlYWmxjbk5sUTI5dWRHVjRkQzVqYjI1MFpYaDBJRDBnYm5Wc2JEdGNiaUFnZEhKaGRtVnljMlZEYjI1MFpYaDBMbU52ZFc1MElEMGdNRHRjYmx4dUlDQnBaaUFvZEhKaGRtVnljMlZEYjI1MFpYaDBVRzl2YkM1c1pXNW5kR2dnUENCUVQwOU1YMU5KV2tVcElIdGNiaUFnSUNCMGNtRjJaWEp6WlVOdmJuUmxlSFJRYjI5c0xuQjFjMmdvZEhKaGRtVnljMlZEYjI1MFpYaDBLVHRjYmlBZ2ZWeHVmVnh1THlvcVhHNGdLaUJBY0dGeVlXMGdlejhxZlNCamFHbHNaSEpsYmlCRGFHbHNaSEpsYmlCMGNtVmxJR052Ym5SaGFXNWxjaTVjYmlBcUlFQndZWEpoYlNCN0lYTjBjbWx1WjMwZ2JtRnRaVk52Um1GeUlFNWhiV1VnYjJZZ2RHaGxJR3RsZVNCd1lYUm9JSE52SUdaaGNpNWNiaUFxSUVCd1lYSmhiU0I3SVdaMWJtTjBhVzl1ZlNCallXeHNZbUZqYXlCRFlXeHNZbUZqYXlCMGJ5QnBiblp2YTJVZ2QybDBhQ0JsWVdOb0lHTm9hV3hrSUdadmRXNWtMbHh1SUNvZ1FIQmhjbUZ0SUhzL0tuMGdkSEpoZG1WeWMyVkRiMjUwWlhoMElGVnpaV1FnZEc4Z2NHRnpjeUJwYm1admNtMWhkR2x2YmlCMGFISnZkV2RvYjNWMElIUm9aU0IwY21GMlpYSnpZV3hjYmlBcUlIQnliMk5sYzNNdVhHNGdLaUJBY21WMGRYSnVJSHNoYm5WdFltVnlmU0JVYUdVZ2JuVnRZbVZ5SUc5bUlHTm9hV3hrY21WdUlHbHVJSFJvYVhNZ2MzVmlkSEpsWlM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIUnlZWFpsY25ObFFXeHNRMmhwYkdSeVpXNUpiWEJzS0dOb2FXeGtjbVZ1TENCdVlXMWxVMjlHWVhJc0lHTmhiR3hpWVdOckxDQjBjbUYyWlhKelpVTnZiblJsZUhRcElIdGNiaUFnZG1GeUlIUjVjR1VnUFNCMGVYQmxiMllnWTJocGJHUnlaVzQ3WEc1Y2JpQWdhV1lnS0hSNWNHVWdQVDA5SUNkMWJtUmxabWx1WldRbklIeDhJSFI1Y0dVZ1BUMDlJQ2RpYjI5c1pXRnVKeWtnZTF4dUlDQWdJQzh2SUVGc2JDQnZaaUIwYUdVZ1lXSnZkbVVnWVhKbElIQmxjbU5sYVhabFpDQmhjeUJ1ZFd4c0xseHVJQ0FnSUdOb2FXeGtjbVZ1SUQwZ2JuVnNiRHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnBiblp2YTJWRFlXeHNZbUZqYXlBOUlHWmhiSE5sTzF4dVhHNGdJR2xtSUNoamFHbHNaSEpsYmlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsdWRtOXJaVU5oYkd4aVlXTnJJRDBnZEhKMVpUdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnpkMmwwWTJnZ0tIUjVjR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdKM04wY21sdVp5YzZYRzRnSUNBZ0lDQmpZWE5sSUNkdWRXMWlaWEluT2x4dUlDQWdJQ0FnSUNCcGJuWnZhMlZEWVd4c1ltRmpheUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQmpZWE5sSUNkdlltcGxZM1FuT2x4dUlDQWdJQ0FnSUNCemQybDBZMmdnS0dOb2FXeGtjbVZ1TGlRa2RIbHdaVzltS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVNlhHNGdJQ0FnSUNBZ0lDQWdZMkZ6WlNCU1JVRkRWRjlRVDFKVVFVeGZWRmxRUlRwY2JpQWdJQ0FnSUNBZ0lDQWdJR2x1ZG05clpVTmhiR3hpWVdOcklEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdhV1lnS0dsdWRtOXJaVU5oYkd4aVlXTnJLU0I3WEc0Z0lDQWdZMkZzYkdKaFkyc29kSEpoZG1WeWMyVkRiMjUwWlhoMExDQmphR2xzWkhKbGJpd2dMeThnU1dZZ2FYUW5jeUIwYUdVZ2IyNXNlU0JqYUdsc1pDd2dkSEpsWVhRZ2RHaGxJRzVoYldVZ1lYTWdhV1lnYVhRZ2QyRnpJSGR5WVhCd1pXUWdhVzRnWVc0Z1lYSnlZWGxjYmlBZ0lDQXZMeUJ6YnlCMGFHRjBJR2wwSjNNZ1kyOXVjMmx6ZEdWdWRDQnBaaUIwYUdVZ2JuVnRZbVZ5SUc5bUlHTm9hV3hrY21WdUlHZHliM2R6TGx4dUlDQWdJRzVoYldWVGIwWmhjaUE5UFQwZ0p5Y2dQeUJUUlZCQlVrRlVUMUlnS3lCblpYUkRiMjF3YjI1bGJuUkxaWGtvWTJocGJHUnlaVzRzSURBcElEb2dibUZ0WlZOdlJtRnlLVHRjYmlBZ0lDQnlaWFIxY200Z01UdGNiaUFnZlZ4dVhHNGdJSFpoY2lCamFHbHNaRHRjYmlBZ2RtRnlJRzVsZUhST1lXMWxPMXh1SUNCMllYSWdjM1ZpZEhKbFpVTnZkVzUwSUQwZ01Ec2dMeThnUTI5MWJuUWdiMllnWTJocGJHUnlaVzRnWm05MWJtUWdhVzRnZEdobElHTjFjbkpsYm5RZ2MzVmlkSEpsWlM1Y2JseHVJQ0IyWVhJZ2JtVjRkRTVoYldWUWNtVm1hWGdnUFNCdVlXMWxVMjlHWVhJZ1BUMDlJQ2NuSUQ4Z1UwVlFRVkpCVkU5U0lEb2dibUZ0WlZOdlJtRnlJQ3NnVTFWQ1UwVlFRVkpCVkU5U08xeHVYRzRnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0dOb2FXeGtjbVZ1S1NrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z1kyaHBiR1J5Wlc0dWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR05vYVd4a0lEMGdZMmhwYkdSeVpXNWJhVjA3WEc0Z0lDQWdJQ0J1WlhoMFRtRnRaU0E5SUc1bGVIUk9ZVzFsVUhKbFptbDRJQ3NnWjJWMFEyOXRjRzl1Wlc1MFMyVjVLR05vYVd4a0xDQnBLVHRjYmlBZ0lDQWdJSE4xWW5SeVpXVkRiM1Z1ZENBclBTQjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVTVzF3YkNoamFHbHNaQ3dnYm1WNGRFNWhiV1VzSUdOaGJHeGlZV05yTENCMGNtRjJaWEp6WlVOdmJuUmxlSFFwTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IyWVhJZ2FYUmxjbUYwYjNKR2JpQTlJR2RsZEVsMFpYSmhkRzl5Um00b1kyaHBiR1J5Wlc0cE8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnBkR1Z5WVhSdmNrWnVJRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzVjYmlBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1YyRnliaUJoWW05MWRDQjFjMmx1WnlCTllYQnpJR0Z6SUdOb2FXeGtjbVZ1WEc0Z0lDQWdJQ0FnSUdsbUlDaHBkR1Z5WVhSdmNrWnVJRDA5UFNCamFHbHNaSEpsYmk1bGJuUnlhV1Z6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0NGa2FXUlhZWEp1UVdKdmRYUk5ZWEJ6S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IzWVhKdUtDZFZjMmx1WnlCTllYQnpJR0Z6SUdOb2FXeGtjbVZ1SUdseklHUmxjSEpsWTJGMFpXUWdZVzVrSUhkcGJHd2dZbVVnY21WdGIzWmxaQ0JwYmlBbklDc2dKMkVnWm5WMGRYSmxJRzFoYW05eUlISmxiR1ZoYzJVdUlFTnZibk5wWkdWeUlHTnZiblpsY25ScGJtY2dZMmhwYkdSeVpXNGdkRzhnSnlBcklDZGhiaUJoY25KaGVTQnZaaUJyWlhsbFpDQlNaV0ZqZEVWc1pXMWxiblJ6SUdsdWMzUmxZV1F1SnlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1pHbGtWMkZ5YmtGaWIzVjBUV0Z3Y3lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2RtRnlJR2wwWlhKaGRHOXlJRDBnYVhSbGNtRjBiM0pHYmk1allXeHNLR05vYVd4a2NtVnVLVHRjYmlBZ0lDQWdJSFpoY2lCemRHVndPMXh1SUNBZ0lDQWdkbUZ5SUdscElEMGdNRHRjYmx4dUlDQWdJQ0FnZDJocGJHVWdLQ0VvYzNSbGNDQTlJR2wwWlhKaGRHOXlMbTVsZUhRb0tTa3VaRzl1WlNrZ2UxeHVJQ0FnSUNBZ0lDQmphR2xzWkNBOUlITjBaWEF1ZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJRzVsZUhST1lXMWxJRDBnYm1WNGRFNWhiV1ZRY21WbWFYZ2dLeUJuWlhSRGIyMXdiMjVsYm5STFpYa29ZMmhwYkdRc0lHbHBLeXNwTzF4dUlDQWdJQ0FnSUNCemRXSjBjbVZsUTI5MWJuUWdLejBnZEhKaGRtVnljMlZCYkd4RGFHbHNaSEpsYmtsdGNHd29ZMmhwYkdRc0lHNWxlSFJPWVcxbExDQmpZV3hzWW1GamF5d2dkSEpoZG1WeWMyVkRiMjUwWlhoMEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUjVjR1VnUFQwOUlDZHZZbXBsWTNRbktTQjdYRzRnSUNBZ0lDQjJZWElnWVdSa1pXNWtkVzBnUFNBbkp6dGNibHh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0JoWkdSbGJtUjFiU0E5SUNjZ1NXWWdlVzkxSUcxbFlXNTBJSFJ2SUhKbGJtUmxjaUJoSUdOdmJHeGxZM1JwYjI0Z2IyWWdZMmhwYkdSeVpXNHNJSFZ6WlNCaGJpQmhjbkpoZVNBbklDc2dKMmx1YzNSbFlXUXVKeUFySUZKbFlXTjBSR1ZpZFdkRGRYSnlaVzUwUm5KaGJXVXVaMlYwVTNSaFkydEJaR1JsYm1SMWJTZ3BPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IyWVhJZ1kyaHBiR1J5Wlc1VGRISnBibWNnUFNBbkp5QXJJR05vYVd4a2NtVnVPMXh1WEc0Z0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCRmNuSnZjaWdnWENKUFltcGxZM1J6SUdGeVpTQnViM1FnZG1Gc2FXUWdZWE1nWVNCU1pXRmpkQ0JqYUdsc1pDQW9abTkxYm1RNklGd2lJQ3NnS0dOb2FXeGtjbVZ1VTNSeWFXNW5JRDA5UFNBblcyOWlhbVZqZENCUFltcGxZM1JkSnlBL0lDZHZZbXBsWTNRZ2QybDBhQ0JyWlhseklIc25JQ3NnVDJKcVpXTjBMbXRsZVhNb1kyaHBiR1J5Wlc0cExtcHZhVzRvSnl3Z0p5a2dLeUFuZlNjZ09pQmphR2xzWkhKbGJsTjBjbWx1WnlrZ0t5QmNJaWt1WENJZ0t5QmhaR1JsYm1SMWJTQXBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSE4xWW5SeVpXVkRiM1Z1ZER0Y2JuMWNiaThxS2x4dUlDb2dWSEpoZG1WeWMyVnpJR05vYVd4a2NtVnVJSFJvWVhRZ1lYSmxJSFI1Y0dsallXeHNlU0J6Y0dWamFXWnBaV1FnWVhNZ1lIQnliM0J6TG1Ob2FXeGtjbVZ1WUN3Z1luVjBYRzRnS2lCdGFXZG9kQ0JoYkhOdklHSmxJSE53WldOcFptbGxaQ0IwYUhKdmRXZG9JR0YwZEhKcFluVjBaWE02WEc0Z0tseHVJQ29nTFNCZ2RISmhkbVZ5YzJWQmJHeERhR2xzWkhKbGJpaDBhR2x6TG5CeWIzQnpMbU5vYVd4a2NtVnVMQ0F1TGk0cFlGeHVJQ29nTFNCZ2RISmhkbVZ5YzJWQmJHeERhR2xzWkhKbGJpaDBhR2x6TG5CeWIzQnpMbXhsWm5SUVlXNWxiRU5vYVd4a2NtVnVMQ0F1TGk0cFlGeHVJQ3BjYmlBcUlGUm9aU0JnZEhKaGRtVnljMlZEYjI1MFpYaDBZQ0JwY3lCaGJpQnZjSFJwYjI1aGJDQmhjbWQxYldWdWRDQjBhR0YwSUdseklIQmhjM05sWkNCMGFISnZkV2RvSUhSb1pWeHVJQ29nWlc1MGFYSmxJSFJ5WVhabGNuTmhiQzRnU1hRZ1kyRnVJR0psSUhWelpXUWdkRzhnYzNSdmNtVWdZV05qZFcxMWJHRjBhVzl1Y3lCdmNpQmhibmwwYUdsdVp5QmxiSE5sSUhSb1lYUmNiaUFxSUhSb1pTQmpZV3hzWW1GamF5QnRhV2RvZENCbWFXNWtJSEpsYkdWMllXNTBMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdQeXA5SUdOb2FXeGtjbVZ1SUVOb2FXeGtjbVZ1SUhSeVpXVWdiMkpxWldOMExseHVJQ29nUUhCaGNtRnRJSHNoWm5WdVkzUnBiMjU5SUdOaGJHeGlZV05ySUZSdklHbHVkbTlyWlNCMWNHOXVJSFJ5WVhabGNuTnBibWNnWldGamFDQmphR2xzWkM1Y2JpQXFJRUJ3WVhKaGJTQjdQeXA5SUhSeVlYWmxjbk5sUTI5dWRHVjRkQ0JEYjI1MFpYaDBJR1p2Y2lCMGNtRjJaWEp6WVd3dVhHNGdLaUJBY21WMGRYSnVJSHNoYm5WdFltVnlmU0JVYUdVZ2JuVnRZbVZ5SUc5bUlHTm9hV3hrY21WdUlHbHVJSFJvYVhNZ2MzVmlkSEpsWlM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIUnlZWFpsY25ObFFXeHNRMmhwYkdSeVpXNG9ZMmhwYkdSeVpXNHNJR05oYkd4aVlXTnJMQ0IwY21GMlpYSnpaVU52Ym5SbGVIUXBJSHRjYmlBZ2FXWWdLR05vYVd4a2NtVnVJRDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVTVzF3YkNoamFHbHNaSEpsYml3Z0p5Y3NJR05oYkd4aVlXTnJMQ0IwY21GMlpYSnpaVU52Ym5SbGVIUXBPMXh1ZlZ4dUx5b3FYRzRnS2lCSFpXNWxjbUYwWlNCaElHdGxlU0J6ZEhKcGJtY2dkR2hoZENCcFpHVnVkR2xtYVdWeklHRWdZMjl0Y0c5dVpXNTBJSGRwZEdocGJpQmhJSE5sZEM1Y2JpQXFYRzRnS2lCQWNHRnlZVzBnZXlwOUlHTnZiWEJ2Ym1WdWRDQkJJR052YlhCdmJtVnVkQ0IwYUdGMElHTnZkV3hrSUdOdmJuUmhhVzRnWVNCdFlXNTFZV3dnYTJWNUxseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJR2x1WkdWNElFbHVaR1Y0SUhSb1lYUWdhWE1nZFhObFpDQnBaaUJoSUcxaGJuVmhiQ0JyWlhrZ2FYTWdibTkwSUhCeWIzWnBaR1ZrTGx4dUlDb2dRSEpsZEhWeWJpQjdjM1J5YVc1bmZWeHVJQ292WEc1Y2JseHVablZ1WTNScGIyNGdaMlYwUTI5dGNHOXVaVzUwUzJWNUtHTnZiWEJ2Ym1WdWRDd2dhVzVrWlhncElIdGNiaUFnTHk4Z1JHOGdjMjl0WlNCMGVYQmxZMmhsWTJ0cGJtY2dhR1Z5WlNCemFXNWpaU0IzWlNCallXeHNJSFJvYVhNZ1lteHBibVJzZVM0Z1YyVWdkMkZ1ZENCMGJ5Qmxibk4xY21WY2JpQWdMeThnZEdoaGRDQjNaU0JrYjI0bmRDQmliRzlqYXlCd2IzUmxiblJwWVd3Z1puVjBkWEpsSUVWVElFRlFTWE11WEc0Z0lHbG1JQ2gwZVhCbGIyWWdZMjl0Y0c5dVpXNTBJRDA5UFNBbmIySnFaV04wSnlBbUppQmpiMjF3YjI1bGJuUWdJVDA5SUc1MWJHd2dKaVlnWTI5dGNHOXVaVzUwTG10bGVTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ0x5OGdSWGh3YkdsamFYUWdhMlY1WEc0Z0lDQWdjbVYwZFhKdUlHVnpZMkZ3WlNoamIyMXdiMjVsYm5RdWEyVjVLVHRjYmlBZ2ZTQXZMeUJKYlhCc2FXTnBkQ0JyWlhrZ1pHVjBaWEp0YVc1bFpDQmllU0IwYUdVZ2FXNWtaWGdnYVc0Z2RHaGxJSE5sZEZ4dVhHNWNiaUFnY21WMGRYSnVJR2x1WkdWNExuUnZVM1J5YVc1bktETTJLVHRjYm4xY2JseHVablZ1WTNScGIyNGdabTl5UldGamFGTnBibWRzWlVOb2FXeGtLR0p2YjJ0TFpXVndhVzVuTENCamFHbHNaQ3dnYm1GdFpTa2dlMXh1SUNCMllYSWdablZ1WXlBOUlHSnZiMnRMWldWd2FXNW5MbVoxYm1Nc1hHNGdJQ0FnSUNCamIyNTBaWGgwSUQwZ1ltOXZhMHRsWlhCcGJtY3VZMjl1ZEdWNGREdGNiaUFnWm5WdVl5NWpZV3hzS0dOdmJuUmxlSFFzSUdOb2FXeGtMQ0JpYjI5clMyVmxjR2x1Wnk1amIzVnVkQ3NyS1R0Y2JuMWNiaThxS2x4dUlDb2dTWFJsY21GMFpYTWdkR2h5YjNWbmFDQmphR2xzWkhKbGJpQjBhR0YwSUdGeVpTQjBlWEJwWTJGc2JIa2djM0JsWTJsbWFXVmtJR0Z6SUdCd2NtOXdjeTVqYUdsc1pISmxibUF1WEc0Z0tseHVJQ29nVTJWbElHaDBkSEJ6T2k4dmNtVmhZM1JxY3k1dmNtY3ZaRzlqY3k5eVpXRmpkQzFoY0drdWFIUnRiQ055WldGamRHTm9hV3hrY21WdVptOXlaV0ZqYUZ4dUlDcGNiaUFxSUZSb1pTQndjbTkyYVdSbFpDQm1iM0pGWVdOb1JuVnVZeWhqYUdsc1pDd2dhVzVrWlhncElIZHBiR3dnWW1VZ1kyRnNiR1ZrSUdadmNpQmxZV05vWEc0Z0tpQnNaV0ZtSUdOb2FXeGtMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdQeXA5SUdOb2FXeGtjbVZ1SUVOb2FXeGtjbVZ1SUhSeVpXVWdZMjl1ZEdGcGJtVnlMbHh1SUNvZ1FIQmhjbUZ0SUh0bWRXNWpkR2x2YmlncUxDQnBiblFwZlNCbWIzSkZZV05vUm5WdVkxeHVJQ29nUUhCaGNtRnRJSHNxZlNCbWIzSkZZV05vUTI5dWRHVjRkQ0JEYjI1MFpYaDBJR1p2Y2lCbWIzSkZZV05vUTI5dWRHVjRkQzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUdadmNrVmhZMmhEYUdsc1pISmxiaWhqYUdsc1pISmxiaXdnWm05eVJXRmphRVoxYm1Nc0lHWnZja1ZoWTJoRGIyNTBaWGgwS1NCN1hHNGdJR2xtSUNoamFHbHNaSEpsYmlBOVBTQnVkV3hzS1NCN1hHNGdJQ0FnY21WMGRYSnVJR05vYVd4a2NtVnVPMXh1SUNCOVhHNWNiaUFnZG1GeUlIUnlZWFpsY25ObFEyOXVkR1Y0ZENBOUlHZGxkRkJ2YjJ4bFpGUnlZWFpsY25ObFEyOXVkR1Y0ZENodWRXeHNMQ0J1ZFd4c0xDQm1iM0pGWVdOb1JuVnVZeXdnWm05eVJXRmphRU52Ym5SbGVIUXBPMXh1SUNCMGNtRjJaWEp6WlVGc2JFTm9hV3hrY21WdUtHTm9hV3hrY21WdUxDQm1iM0pGWVdOb1UybHVaMnhsUTJocGJHUXNJSFJ5WVhabGNuTmxRMjl1ZEdWNGRDazdYRzRnSUhKbGJHVmhjMlZVY21GMlpYSnpaVU52Ym5SbGVIUW9kSEpoZG1WeWMyVkRiMjUwWlhoMEtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRndVMmx1WjJ4bFEyaHBiR1JKYm5SdlEyOXVkR1Y0ZENoaWIyOXJTMlZsY0dsdVp5d2dZMmhwYkdRc0lHTm9hV3hrUzJWNUtTQjdYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQmliMjlyUzJWbGNHbHVaeTV5WlhOMWJIUXNYRzRnSUNBZ0lDQnJaWGxRY21WbWFYZ2dQU0JpYjI5clMyVmxjR2x1Wnk1clpYbFFjbVZtYVhnc1hHNGdJQ0FnSUNCbWRXNWpJRDBnWW05dmEwdGxaWEJwYm1jdVpuVnVZeXhjYmlBZ0lDQWdJR052Ym5SbGVIUWdQU0JpYjI5clMyVmxjR2x1Wnk1amIyNTBaWGgwTzF4dUlDQjJZWElnYldGd2NHVmtRMmhwYkdRZ1BTQm1kVzVqTG1OaGJHd29ZMjl1ZEdWNGRDd2dZMmhwYkdRc0lHSnZiMnRMWldWd2FXNW5MbU52ZFc1MEt5c3BPMXh1WEc0Z0lHbG1JQ2hCY25KaGVTNXBjMEZ5Y21GNUtHMWhjSEJsWkVOb2FXeGtLU2tnZTF4dUlDQWdJRzFoY0VsdWRHOVhhWFJvUzJWNVVISmxabWw0U1c1MFpYSnVZV3dvYldGd2NHVmtRMmhwYkdRc0lISmxjM1ZzZEN3Z1kyaHBiR1JMWlhrc0lHWjFibU4wYVc5dUlDaGpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZenRjYmlBZ0lDQjlLVHRjYmlBZ2ZTQmxiSE5sSUdsbUlDaHRZWEJ3WldSRGFHbHNaQ0FoUFNCdWRXeHNLU0I3WEc0Z0lDQWdhV1lnS0dselZtRnNhV1JGYkdWdFpXNTBLRzFoY0hCbFpFTm9hV3hrS1NrZ2UxeHVJQ0FnSUNBZ2JXRndjR1ZrUTJocGJHUWdQU0JqYkc5dVpVRnVaRkpsY0d4aFkyVkxaWGtvYldGd2NHVmtRMmhwYkdRc0lDOHZJRXRsWlhBZ1ltOTBhQ0IwYUdVZ0tHMWhjSEJsWkNrZ1lXNWtJRzlzWkNCclpYbHpJR2xtSUhSb1pYa2daR2xtWm1WeUxDQnFkWE4wSUdGelhHNGdJQ0FnSUNBdkx5QjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVJSFZ6WldRZ2RHOGdaRzhnWm05eUlHOWlhbVZqZEhNZ1lYTWdZMmhwYkdSeVpXNWNiaUFnSUNBZ0lHdGxlVkJ5WldacGVDQXJJQ2h0WVhCd1pXUkRhR2xzWkM1clpYa2dKaVlnS0NGamFHbHNaQ0I4ZkNCamFHbHNaQzVyWlhrZ0lUMDlJRzFoY0hCbFpFTm9hV3hrTG10bGVTa2dQeUJsYzJOaGNHVlZjMlZ5VUhKdmRtbGtaV1JMWlhrb2JXRndjR1ZrUTJocGJHUXVhMlY1S1NBcklDY3ZKeUE2SUNjbktTQXJJR05vYVd4a1MyVjVLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWE4xYkhRdWNIVnphQ2h0WVhCd1pXUkRhR2xzWkNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiV0Z3U1c1MGIxZHBkR2hMWlhsUWNtVm1hWGhKYm5SbGNtNWhiQ2hqYUdsc1pISmxiaXdnWVhKeVlYa3NJSEJ5WldacGVDd2dablZ1WXl3Z1kyOXVkR1Y0ZENrZ2UxeHVJQ0IyWVhJZ1pYTmpZWEJsWkZCeVpXWnBlQ0E5SUNjbk8xeHVYRzRnSUdsbUlDaHdjbVZtYVhnZ0lUMGdiblZzYkNrZ2UxeHVJQ0FnSUdWelkyRndaV1JRY21WbWFYZ2dQU0JsYzJOaGNHVlZjMlZ5VUhKdmRtbGtaV1JMWlhrb2NISmxabWw0S1NBcklDY3ZKenRjYmlBZ2ZWeHVYRzRnSUhaaGNpQjBjbUYyWlhKelpVTnZiblJsZUhRZ1BTQm5aWFJRYjI5c1pXUlVjbUYyWlhKelpVTnZiblJsZUhRb1lYSnlZWGtzSUdWelkyRndaV1JRY21WbWFYZ3NJR1oxYm1Nc0lHTnZiblJsZUhRcE8xeHVJQ0IwY21GMlpYSnpaVUZzYkVOb2FXeGtjbVZ1S0dOb2FXeGtjbVZ1TENCdFlYQlRhVzVuYkdWRGFHbHNaRWx1ZEc5RGIyNTBaWGgwTENCMGNtRjJaWEp6WlVOdmJuUmxlSFFwTzF4dUlDQnlaV3hsWVhObFZISmhkbVZ5YzJWRGIyNTBaWGgwS0hSeVlYWmxjbk5sUTI5dWRHVjRkQ2s3WEc1OVhHNHZLaXBjYmlBcUlFMWhjSE1nWTJocGJHUnlaVzRnZEdoaGRDQmhjbVVnZEhsd2FXTmhiR3g1SUhOd1pXTnBabWxsWkNCaGN5QmdjSEp2Y0hNdVkyaHBiR1J5Wlc1Z0xseHVJQ3BjYmlBcUlGTmxaU0JvZEhSd2N6b3ZMM0psWVdOMGFuTXViM0puTDJSdlkzTXZjbVZoWTNRdFlYQnBMbWgwYld3amNtVmhZM1JqYUdsc1pISmxibTFoY0Z4dUlDcGNiaUFxSUZSb1pTQndjbTkyYVdSbFpDQnRZWEJHZFc1amRHbHZiaWhqYUdsc1pDd2dhMlY1TENCcGJtUmxlQ2tnZDJsc2JDQmlaU0JqWVd4c1pXUWdabTl5SUdWaFkyaGNiaUFxSUd4bFlXWWdZMmhwYkdRdVhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUhzL0tuMGdZMmhwYkdSeVpXNGdRMmhwYkdSeVpXNGdkSEpsWlNCamIyNTBZV2x1WlhJdVhHNGdLaUJBY0dGeVlXMGdlMloxYm1OMGFXOXVLQ29zSUdsdWRDbDlJR1oxYm1NZ1ZHaGxJRzFoY0NCbWRXNWpkR2x2Ymk1Y2JpQXFJRUJ3WVhKaGJTQjdLbjBnWTI5dWRHVjRkQ0JEYjI1MFpYaDBJR1p2Y2lCdFlYQkdkVzVqZEdsdmJpNWNiaUFxSUVCeVpYUjFjbTRnZTI5aWFtVmpkSDBnVDJKcVpXTjBJR052Ym5SaGFXNXBibWNnZEdobElHOXlaR1Z5WldRZ2JXRndJRzltSUhKbGMzVnNkSE11WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCdFlYQkRhR2xzWkhKbGJpaGphR2xzWkhKbGJpd2dablZ1WXl3Z1kyOXVkR1Y0ZENrZ2UxeHVJQ0JwWmlBb1kyaHBiR1J5Wlc0Z1BUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJqYUdsc1pISmxianRjYmlBZ2ZWeHVYRzRnSUhaaGNpQnlaWE4xYkhRZ1BTQmJYVHRjYmlBZ2JXRndTVzUwYjFkcGRHaExaWGxRY21WbWFYaEpiblJsY201aGJDaGphR2xzWkhKbGJpd2djbVZ6ZFd4MExDQnVkV3hzTENCbWRXNWpMQ0JqYjI1MFpYaDBLVHRjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4xY2JpOHFLbHh1SUNvZ1EyOTFiblFnZEdobElHNTFiV0psY2lCdlppQmphR2xzWkhKbGJpQjBhR0YwSUdGeVpTQjBlWEJwWTJGc2JIa2djM0JsWTJsbWFXVmtJR0Z6WEc0Z0tpQmdjSEp2Y0hNdVkyaHBiR1J5Wlc1Z0xseHVJQ3BjYmlBcUlGTmxaU0JvZEhSd2N6b3ZMM0psWVdOMGFuTXViM0puTDJSdlkzTXZjbVZoWTNRdFlYQnBMbWgwYld3amNtVmhZM1JqYUdsc1pISmxibU52ZFc1MFhHNGdLbHh1SUNvZ1FIQmhjbUZ0SUhzL0tuMGdZMmhwYkdSeVpXNGdRMmhwYkdSeVpXNGdkSEpsWlNCamIyNTBZV2x1WlhJdVhHNGdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlJRlJvWlNCdWRXMWlaWElnYjJZZ1kyaHBiR1J5Wlc0dVhHNGdLaTljYmx4dVhHNW1kVzVqZEdsdmJpQmpiM1Z1ZEVOb2FXeGtjbVZ1S0dOb2FXeGtjbVZ1S1NCN1hHNGdJSEpsZEhWeWJpQjBjbUYyWlhKelpVRnNiRU5vYVd4a2NtVnVLR05vYVd4a2NtVnVMQ0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDBzSUc1MWJHd3BPMXh1ZlZ4dUx5b3FYRzRnS2lCR2JHRjBkR1Z1SUdFZ1kyaHBiR1J5Wlc0Z2IySnFaV04wSUNoMGVYQnBZMkZzYkhrZ2MzQmxZMmxtYVdWa0lHRnpJR0J3Y205d2N5NWphR2xzWkhKbGJtQXBJR0Z1WkZ4dUlDb2djbVYwZFhKdUlHRnVJR0Z5Y21GNUlIZHBkR2dnWVhCd2NtOXdjbWxoZEdWc2VTQnlaUzFyWlhsbFpDQmphR2xzWkhKbGJpNWNiaUFxWEc0Z0tpQlRaV1VnYUhSMGNITTZMeTl5WldGamRHcHpMbTl5Wnk5a2IyTnpMM0psWVdOMExXRndhUzVvZEcxc0kzSmxZV04wWTJocGJHUnlaVzUwYjJGeWNtRjVYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUIwYjBGeWNtRjVLR05vYVd4a2NtVnVLU0I3WEc0Z0lIWmhjaUJ5WlhOMWJIUWdQU0JiWFR0Y2JpQWdiV0Z3U1c1MGIxZHBkR2hMWlhsUWNtVm1hWGhKYm5SbGNtNWhiQ2hqYUdsc1pISmxiaXdnY21WemRXeDBMQ0J1ZFd4c0xDQm1kVzVqZEdsdmJpQW9ZMmhwYkdRcElIdGNiaUFnSUNCeVpYUjFjbTRnWTJocGJHUTdYRzRnSUgwcE8xeHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1THlvcVhHNGdLaUJTWlhSMWNtNXpJSFJvWlNCbWFYSnpkQ0JqYUdsc1pDQnBiaUJoSUdOdmJHeGxZM1JwYjI0Z2IyWWdZMmhwYkdSeVpXNGdZVzVrSUhabGNtbG1hV1Z6SUhSb1lYUWdkR2hsY21WY2JpQXFJR2x6SUc5dWJIa2diMjVsSUdOb2FXeGtJR2x1SUhSb1pTQmpiMnhzWldOMGFXOXVMbHh1SUNwY2JpQXFJRk5sWlNCb2RIUndjem92TDNKbFlXTjBhbk11YjNKbkwyUnZZM012Y21WaFkzUXRZWEJwTG1oMGJXd2pjbVZoWTNSamFHbHNaSEpsYm05dWJIbGNiaUFxWEc0Z0tpQlVhR1VnWTNWeWNtVnVkQ0JwYlhCc1pXMWxiblJoZEdsdmJpQnZaaUIwYUdseklHWjFibU4wYVc5dUlHRnpjM1Z0WlhNZ2RHaGhkQ0JoSUhOcGJtZHNaU0JqYUdsc1pDQm5aWFJ6WEc0Z0tpQndZWE56WldRZ2QybDBhRzkxZENCaElIZHlZWEJ3WlhJc0lHSjFkQ0IwYUdVZ2NIVnljRzl6WlNCdlppQjBhR2x6SUdobGJIQmxjaUJtZFc1amRHbHZiaUJwY3lCMGIxeHVJQ29nWVdKemRISmhZM1FnWVhkaGVTQjBhR1VnY0dGeWRHbGpkV3hoY2lCemRISjFZM1IxY21VZ2IyWWdZMmhwYkdSeVpXNHVYRzRnS2x4dUlDb2dRSEJoY21GdElIcy9iMkpxWldOMGZTQmphR2xzWkhKbGJpQkRhR2xzWkNCamIyeHNaV04wYVc5dUlITjBjblZqZEhWeVpTNWNiaUFxSUVCeVpYUjFjbTRnZTFKbFlXTjBSV3hsYldWdWRIMGdWR2hsSUdacGNuTjBJR0Z1WkNCdmJteDVJR0JTWldGamRFVnNaVzFsYm5SZ0lHTnZiblJoYVc1bFpDQnBiaUIwYUdWY2JpQXFJSE4wY25WamRIVnlaUzVjYmlBcUwxeHVYRzVjYm1aMWJtTjBhVzl1SUc5dWJIbERhR2xzWkNoamFHbHNaSEpsYmlrZ2UxeHVJQ0JwWmlBb0lXbHpWbUZzYVdSRmJHVnRaVzUwS0dOb2FXeGtjbVZ1S1NrZ2UxeHVJQ0FnSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRVZ5Y205eUtDQmNJbEpsWVdOMExrTm9hV3hrY21WdUxtOXViSGtnWlhod1pXTjBaV1FnZEc4Z2NtVmpaV2wyWlNCaElITnBibWRzWlNCU1pXRmpkQ0JsYkdWdFpXNTBJR05vYVd4a0xsd2lJQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR05vYVd4a2NtVnVPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmpjbVZoZEdWRGIyNTBaWGgwS0dSbFptRjFiSFJXWVd4MVpTd2dZMkZzWTNWc1lYUmxRMmhoYm1kbFpFSnBkSE1wSUh0Y2JpQWdhV1lnS0dOaGJHTjFiR0YwWlVOb1lXNW5aV1JDYVhSeklEMDlQU0IxYm1SbFptbHVaV1FwSUh0Y2JpQWdJQ0JqWVd4amRXeGhkR1ZEYUdGdVoyVmtRbWwwY3lBOUlHNTFiR3c3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnZTF4dUlDQWdJQ0FnYVdZZ0tHTmhiR04xYkdGMFpVTm9ZVzVuWldSQ2FYUnpJQ0U5UFNCdWRXeHNJQ1ltSUhSNWNHVnZaaUJqWVd4amRXeGhkR1ZEYUdGdVoyVmtRbWwwY3lBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCbGNuSnZjaWduWTNKbFlYUmxRMjl1ZEdWNGREb2dSWGh3WldOMFpXUWdkR2hsSUc5d2RHbHZibUZzSUhObFkyOXVaQ0JoY21kMWJXVnVkQ0IwYnlCaVpTQmhJQ2NnS3lBblpuVnVZM1JwYjI0dUlFbHVjM1JsWVdRZ2NtVmpaV2wyWldRNklDVnpKeXdnWTJGc1kzVnNZWFJsUTJoaGJtZGxaRUpwZEhNcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIWmhjaUJqYjI1MFpYaDBJRDBnZTF4dUlDQWdJQ1FrZEhsd1pXOW1PaUJTUlVGRFZGOURUMDVVUlZoVVgxUlpVRVVzWEc0Z0lDQWdYMk5oYkdOMWJHRjBaVU5vWVc1blpXUkNhWFJ6T2lCallXeGpkV3hoZEdWRGFHRnVaMlZrUW1sMGN5eGNiaUFnSUNBdkx5QkJjeUJoSUhkdmNtdGhjbTkxYm1RZ2RHOGdjM1Z3Y0c5eWRDQnRkV3gwYVhCc1pTQmpiMjVqZFhKeVpXNTBJSEpsYm1SbGNtVnljeXdnZDJVZ1kyRjBaV2R2Y21sNlpWeHVJQ0FnSUM4dklITnZiV1VnY21WdVpHVnlaWEp6SUdGeklIQnlhVzFoY25rZ1lXNWtJRzkwYUdWeWN5QmhjeUJ6WldOdmJtUmhjbmt1SUZkbElHOXViSGtnWlhod1pXTjBYRzRnSUNBZ0x5OGdkR2hsY21VZ2RHOGdZbVVnZEhkdklHTnZibU4xY25KbGJuUWdjbVZ1WkdWeVpYSnpJR0YwSUcxdmMzUTZJRkpsWVdOMElFNWhkR2wyWlNBb2NISnBiV0Z5ZVNrZ1lXNWtYRzRnSUNBZ0x5OGdSbUZpY21saklDaHpaV052Ym1SaGNua3BPeUJTWldGamRDQkVUMDBnS0hCeWFXMWhjbmtwSUdGdVpDQlNaV0ZqZENCQlVsUWdLSE5sWTI5dVpHRnllU2t1WEc0Z0lDQWdMeThnVTJWamIyNWtZWEo1SUhKbGJtUmxjbVZ5Y3lCemRHOXlaU0IwYUdWcGNpQmpiMjUwWlhoMElIWmhiSFZsY3lCdmJpQnpaWEJoY21GMFpTQm1hV1ZzWkhNdVhHNGdJQ0FnWDJOMWNuSmxiblJXWVd4MVpUb2daR1ZtWVhWc2RGWmhiSFZsTEZ4dUlDQWdJRjlqZFhKeVpXNTBWbUZzZFdVeU9pQmtaV1poZFd4MFZtRnNkV1VzWEc0Z0lDQWdMeThnVlhObFpDQjBieUIwY21GamF5Qm9iM2NnYldGdWVTQmpiMjVqZFhKeVpXNTBJSEpsYm1SbGNtVnljeUIwYUdseklHTnZiblJsZUhRZ1kzVnljbVZ1ZEd4NVhHNGdJQ0FnTHk4Z2MzVndjRzl5ZEhNZ2QybDBhR2x1SUdsdUlHRWdjMmx1WjJ4bElISmxibVJsY21WeUxpQlRkV05vSUdGeklIQmhjbUZzYkdWc0lITmxjblpsY2lCeVpXNWtaWEpwYm1jdVhHNGdJQ0FnWDNSb2NtVmhaRU52ZFc1ME9pQXdMRnh1SUNBZ0lDOHZJRlJvWlhObElHRnlaU0JqYVhKamRXeGhjbHh1SUNBZ0lGQnliM1pwWkdWeU9pQnVkV3hzTEZ4dUlDQWdJRU52Ym5OMWJXVnlPaUJ1ZFd4c1hHNGdJSDA3WEc0Z0lHTnZiblJsZUhRdVVISnZkbWxrWlhJZ1BTQjdYRzRnSUNBZ0pDUjBlWEJsYjJZNklGSkZRVU5VWDFCU1QxWkpSRVZTWDFSWlVFVXNYRzRnSUNBZ1gyTnZiblJsZUhRNklHTnZiblJsZUhSY2JpQWdmVHRjYmlBZ2RtRnlJR2hoYzFkaGNtNWxaRUZpYjNWMFZYTnBibWRPWlhOMFpXUkRiMjUwWlhoMFEyOXVjM1Z0WlhKeklEMGdabUZzYzJVN1hHNGdJSFpoY2lCb1lYTlhZWEp1WldSQlltOTFkRlZ6YVc1blEyOXVjM1Z0WlhKUWNtOTJhV1JsY2lBOUlHWmhiSE5sTzF4dVhHNGdJSHRjYmlBZ0lDQXZMeUJCSUhObGNHRnlZWFJsSUc5aWFtVmpkQ3dnWW5WMElIQnliM2hwWlhNZ1ltRmpheUIwYnlCMGFHVWdiM0pwWjJsdVlXd2dZMjl1ZEdWNGRDQnZZbXBsWTNRZ1ptOXlYRzRnSUNBZ0x5OGdZbUZqYTNkaGNtUnpJR052YlhCaGRHbGlhV3hwZEhrdUlFbDBJR2hoY3lCaElHUnBabVpsY21WdWRDQWtKSFI1Y0dWdlppd2djMjhnZDJVZ1kyRnVJSEJ5YjNCbGNteDVYRzRnSUNBZ0x5OGdkMkZ5YmlCbWIzSWdkR2hsSUdsdVkyOXljbVZqZENCMWMyRm5aU0J2WmlCRGIyNTBaWGgwSUdGeklHRWdRMjl1YzNWdFpYSXVYRzRnSUNBZ2RtRnlJRU52Ym5OMWJXVnlJRDBnZTF4dUlDQWdJQ0FnSkNSMGVYQmxiMlk2SUZKRlFVTlVYME5QVGxSRldGUmZWRmxRUlN4Y2JpQWdJQ0FnSUY5amIyNTBaWGgwT2lCamIyNTBaWGgwTEZ4dUlDQWdJQ0FnWDJOaGJHTjFiR0YwWlVOb1lXNW5aV1JDYVhSek9pQmpiMjUwWlhoMExsOWpZV3hqZFd4aGRHVkRhR0Z1WjJWa1FtbDBjMXh1SUNBZ0lIMDdJQzh2SUNSR2JHOTNSbWw0VFdVNklFWnNiM2NnWTI5dGNHeGhhVzV6SUdGaWIzVjBJRzV2ZENCelpYUjBhVzVuSUdFZ2RtRnNkV1VzSUhkb2FXTm9JR2x6SUdsdWRHVnVkR2x2Ym1Gc0lHaGxjbVZjYmx4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowYVdWektFTnZibk4xYldWeUxDQjdYRzRnSUNBZ0lDQlFjbTkyYVdSbGNqb2dlMXh1SUNBZ0lDQWdJQ0JuWlhRNklHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9JV2hoYzFkaGNtNWxaRUZpYjNWMFZYTnBibWREYjI1emRXMWxjbEJ5YjNacFpHVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm9ZWE5YWVhKdVpXUkJZbTkxZEZWemFXNW5RMjl1YzNWdFpYSlFjbTkyYVdSbGNpQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdWeWNtOXlLQ2RTWlc1a1pYSnBibWNnUEVOdmJuUmxlSFF1UTI5dWMzVnRaWEl1VUhKdmRtbGtaWEkrSUdseklHNXZkQ0J6ZFhCd2IzSjBaV1FnWVc1a0lIZHBiR3dnWW1VZ2NtVnRiM1psWkNCcGJpQW5JQ3NnSjJFZ1puVjBkWEpsSUcxaGFtOXlJSEpsYkdWaGMyVXVJRVJwWkNCNWIzVWdiV1ZoYmlCMGJ5QnlaVzVrWlhJZ1BFTnZiblJsZUhRdVVISnZkbWxrWlhJK0lHbHVjM1JsWVdRL0p5azdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHTnZiblJsZUhRdVVISnZkbWxrWlhJN1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tGOVFjbTkyYVdSbGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1VUhKdmRtbGtaWElnUFNCZlVISnZkbWxrWlhJN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMHNYRzRnSUNBZ0lDQmZZM1Z5Y21WdWRGWmhiSFZsT2lCN1hHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmpiMjUwWlhoMExsOWpkWEp5Wlc1MFZtRnNkV1U3WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0Y5amRYSnlaVzUwVm1Gc2RXVXBJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNTBaWGgwTGw5amRYSnlaVzUwVm1Gc2RXVWdQU0JmWTNWeWNtVnVkRlpoYkhWbE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdYMk4xY25KbGJuUldZV3gxWlRJNklIdGNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR052Ym5SbGVIUXVYMk4xY25KbGJuUldZV3gxWlRJN1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJSE5sZERvZ1puVnVZM1JwYjI0Z0tGOWpkWEp5Wlc1MFZtRnNkV1V5S1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdWNGRDNWZZM1Z5Y21WdWRGWmhiSFZsTWlBOUlGOWpkWEp5Wlc1MFZtRnNkV1V5TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ1gzUm9jbVZoWkVOdmRXNTBPaUI3WEc0Z0lDQWdJQ0FnSUdkbGREb2dablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIyNTBaWGgwTGw5MGFISmxZV1JEYjNWdWREdGNiaUFnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnYzJWME9pQm1kVzVqZEdsdmJpQW9YM1JvY21WaFpFTnZkVzUwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdWNGRDNWZkR2h5WldGa1EyOTFiblFnUFNCZmRHaHlaV0ZrUTI5MWJuUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JEYjI1emRXMWxjam9nZTF4dUlDQWdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVdoaGMxZGhjbTVsWkVGaWIzVjBWWE5wYm1kT1pYTjBaV1JEYjI1MFpYaDBRMjl1YzNWdFpYSnpLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQm9ZWE5YWVhKdVpXUkJZbTkxZEZWemFXNW5UbVZ6ZEdWa1EyOXVkR1Y0ZEVOdmJuTjFiV1Z5Y3lBOUlIUnlkV1U3WEc1Y2JpQWdJQ0FnSUNBZ0lDQWdJR1Z5Y205eUtDZFNaVzVrWlhKcGJtY2dQRU52Ym5SbGVIUXVRMjl1YzNWdFpYSXVRMjl1YzNWdFpYSStJR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUWdZVzVrSUhkcGJHd2dZbVVnY21WdGIzWmxaQ0JwYmlBbklDc2dKMkVnWm5WMGRYSmxJRzFoYW05eUlISmxiR1ZoYzJVdUlFUnBaQ0I1YjNVZ2JXVmhiaUIwYnlCeVpXNWtaWElnUEVOdmJuUmxlSFF1UTI5dWMzVnRaWEkrSUdsdWMzUmxZV1EvSnlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdOdmJuUmxlSFF1UTI5dWMzVnRaWEk3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1RzZ0x5OGdKRVpzYjNkR2FYaE5aVG9nUm14dmR5QmpiMjF3YkdGcGJuTWdZV0p2ZFhRZ2JXbHpjMmx1WnlCd2NtOXdaWEowYVdWeklHSmxZMkYxYzJVZ2FYUWdaRzlsYzI0bmRDQjFibVJsY25OMFlXNWtJR1JsWm1sdVpWQnliM0JsY25SNVhHNWNiaUFnSUNCamIyNTBaWGgwTGtOdmJuTjFiV1Z5SUQwZ1EyOXVjM1Z0WlhJN1hHNGdJSDFjYmx4dUlDQjdYRzRnSUNBZ1kyOXVkR1Y0ZEM1ZlkzVnljbVZ1ZEZKbGJtUmxjbVZ5SUQwZ2JuVnNiRHRjYmlBZ0lDQmpiMjUwWlhoMExsOWpkWEp5Wlc1MFVtVnVaR1Z5WlhJeUlEMGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCamIyNTBaWGgwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJzWVhwNUtHTjBiM0lwSUh0Y2JpQWdkbUZ5SUd4aGVubFVlWEJsSUQwZ2UxeHVJQ0FnSUNRa2RIbHdaVzltT2lCU1JVRkRWRjlNUVZwWlgxUlpVRVVzWEc0Z0lDQWdYMk4wYjNJNklHTjBiM0lzWEc0Z0lDQWdMeThnVW1WaFkzUWdkWE5sY3lCMGFHVnpaU0JtYVdWc1pITWdkRzhnYzNSdmNtVWdkR2hsSUhKbGMzVnNkQzVjYmlBZ0lDQmZjM1JoZEhWek9pQXRNU3hjYmlBZ0lDQmZjbVZ6ZFd4ME9pQnVkV3hzWEc0Z0lIMDdYRzVjYmlBZ2UxeHVJQ0FnSUM4dklFbHVJSEJ5YjJSMVkzUnBiMjRzSUhSb2FYTWdkMjkxYkdRZ2FuVnpkQ0J6WlhRZ2FYUWdiMjRnZEdobElHOWlhbVZqZEM1Y2JpQWdJQ0IyWVhJZ1pHVm1ZWFZzZEZCeWIzQnpPMXh1SUNBZ0lIWmhjaUJ3Y205d1ZIbHdaWE03WEc0Z0lDQWdUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblJwWlhNb2JHRjZlVlI1Y0dVc0lIdGNiaUFnSUNBZ0lHUmxabUYxYkhSUWNtOXdjem9nZTF4dUlDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lHZGxkRG9nWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQmtaV1poZFd4MFVISnZjSE03WEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lITmxkRG9nWm5WdVkzUnBiMjRnS0c1bGQwUmxabUYxYkhSUWNtOXdjeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHVnljbTl5S0NkU1pXRmpkQzVzWVhwNUtDNHVMaWs2SUVsMElHbHpJRzV2ZENCemRYQndiM0owWldRZ2RHOGdZWE56YVdkdUlHQmtaV1poZFd4MFVISnZjSE5nSUhSdklDY2dLeUFuWVNCc1lYcDVJR052YlhCdmJtVnVkQ0JwYlhCdmNuUXVJRVZwZEdobGNpQnpjR1ZqYVdaNUlIUm9aVzBnZDJobGNtVWdkR2hsSUdOdmJYQnZibVZ1ZENBbklDc2dKMmx6SUdSbFptbHVaV1FzSUc5eUlHTnlaV0YwWlNCaElIZHlZWEJ3YVc1bklHTnZiWEJ2Ym1WdWRDQmhjbTkxYm1RZ2FYUXVKeWs3WEc1Y2JpQWdJQ0FnSUNBZ0lDQmtaV1poZFd4MFVISnZjSE1nUFNCdVpYZEVaV1poZFd4MFVISnZjSE03SUM4dklFMWhkR05vSUhCeWIyUjFZM1JwYjI0Z1ltVm9ZWFpwYjNJZ2JXOXlaU0JqYkc5elpXeDVPbHh1WEc0Z0lDQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLR3hoZW5sVWVYQmxMQ0FuWkdWbVlYVnNkRkJ5YjNCekp5d2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlZ4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnY0hKdmNGUjVjR1Z6T2lCN1hHNGdJQ0FnSUNBZ0lHTnZibVpwWjNWeVlXSnNaVG9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdaMlYwT2lCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEJ5YjNCVWVYQmxjenRjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ2MyVjBPaUJtZFc1amRHbHZiaUFvYm1WM1VISnZjRlI1Y0dWektTQjdYRzRnSUNBZ0lDQWdJQ0FnWlhKeWIzSW9KMUpsWVdOMExteGhlbmtvTGk0dUtUb2dTWFFnYVhNZ2JtOTBJSE4xY0hCdmNuUmxaQ0IwYnlCaGMzTnBaMjRnWUhCeWIzQlVlWEJsYzJBZ2RHOGdKeUFySUNkaElHeGhlbmtnWTI5dGNHOXVaVzUwSUdsdGNHOXlkQzRnUldsMGFHVnlJSE53WldOcFpua2dkR2hsYlNCM2FHVnlaU0IwYUdVZ1kyOXRjRzl1Wlc1MElDY2dLeUFuYVhNZ1pHVm1hVzVsWkN3Z2IzSWdZM0psWVhSbElHRWdkM0poY0hCcGJtY2dZMjl0Y0c5dVpXNTBJR0Z5YjNWdVpDQnBkQzRuS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJSEJ5YjNCVWVYQmxjeUE5SUc1bGQxQnliM0JVZVhCbGN6c2dMeThnVFdGMFkyZ2djSEp2WkhWamRHbHZiaUJpWldoaGRtbHZjaUJ0YjNKbElHTnNiM05sYkhrNlhHNWNiaUFnSUNBZ0lDQWdJQ0JQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb2JHRjZlVlI1Y0dVc0lDZHdjbTl3Vkhsd1pYTW5MQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmxiblZ0WlhKaFlteGxPaUIwY25WbFhHNGdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5S1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCc1lYcDVWSGx3WlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWm05eWQyRnlaRkpsWmloeVpXNWtaWElwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2h5Wlc1a1pYSWdJVDBnYm5Wc2JDQW1KaUJ5Wlc1a1pYSXVKQ1IwZVhCbGIyWWdQVDA5SUZKRlFVTlVYMDFGVFU5ZlZGbFFSU2tnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMlp2Y25kaGNtUlNaV1lnY21WeGRXbHlaWE1nWVNCeVpXNWtaWElnWm5WdVkzUnBiMjRnWW5WMElISmxZMlZwZG1Wa0lHRWdZRzFsYlc5Z0lDY2dLeUFuWTI5dGNHOXVaVzUwTGlCSmJuTjBaV0ZrSUc5bUlHWnZjbmRoY21SU1pXWW9iV1Z0YnlndUxpNHBLU3dnZFhObElDY2dLeUFuYldWdGJ5aG1iM0ozWVhKa1VtVm1LQzR1TGlrcExpY3BPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlISmxibVJsY2lBaFBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnWlhKeWIzSW9KMlp2Y25kaGNtUlNaV1lnY21WeGRXbHlaWE1nWVNCeVpXNWtaWElnWm5WdVkzUnBiMjRnWW5WMElIZGhjeUJuYVhabGJpQWxjeTRuTENCeVpXNWtaWElnUFQwOUlHNTFiR3dnUHlBbmJuVnNiQ2NnT2lCMGVYQmxiMllnY21WdVpHVnlLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2FXWWdLSEpsYm1SbGNpNXNaVzVuZEdnZ0lUMDlJREFnSmlZZ2NtVnVaR1Z5TG14bGJtZDBhQ0FoUFQwZ01pa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25abTl5ZDJGeVpGSmxaaUJ5Wlc1a1pYSWdablZ1WTNScGIyNXpJR0ZqWTJWd2RDQmxlR0ZqZEd4NUlIUjNieUJ3WVhKaGJXVjBaWEp6T2lCd2NtOXdjeUJoYm1RZ2NtVm1MaUFsY3ljc0lISmxibVJsY2k1c1pXNW5kR2dnUFQwOUlERWdQeUFuUkdsa0lIbHZkU0JtYjNKblpYUWdkRzhnZFhObElIUm9aU0J5WldZZ2NHRnlZVzFsZEdWeVB5Y2dPaUFuUVc1NUlHRmtaR2wwYVc5dVlXd2djR0Z5WVcxbGRHVnlJSGRwYkd3Z1ltVWdkVzVrWldacGJtVmtMaWNwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoeVpXNWtaWElnSVQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tISmxibVJsY2k1a1pXWmhkV3gwVUhKdmNITWdJVDBnYm5Wc2JDQjhmQ0J5Wlc1a1pYSXVjSEp2Y0ZSNWNHVnpJQ0U5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnWlhKeWIzSW9KMlp2Y25kaGNtUlNaV1lnY21WdVpHVnlJR1oxYm1OMGFXOXVjeUJrYnlCdWIzUWdjM1Z3Y0c5eWRDQndjbTl3Vkhsd1pYTWdiM0lnWkdWbVlYVnNkRkJ5YjNCekxpQW5JQ3NnSjBScFpDQjViM1VnWVdOamFXUmxiblJoYkd4NUlIQmhjM01nWVNCU1pXRmpkQ0JqYjIxd2IyNWxiblEvSnlrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FrSkhSNWNHVnZaam9nVWtWQlExUmZSazlTVjBGU1JGOVNSVVpmVkZsUVJTeGNiaUFnSUNCeVpXNWtaWEk2SUhKbGJtUmxjbHh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMxWmhiR2xrUld4bGJXVnVkRlI1Y0dVb2RIbHdaU2tnZTF4dUlDQnlaWFIxY200Z2RIbHdaVzltSUhSNWNHVWdQVDA5SUNkemRISnBibWNuSUh4OElIUjVjR1Z2WmlCMGVYQmxJRDA5UFNBblpuVnVZM1JwYjI0bklIeDhJQzh2SUU1dmRHVTZJR2wwY3lCMGVYQmxiMllnYldsbmFIUWdZbVVnYjNSb1pYSWdkR2hoYmlBbmMzbHRZbTlzSnlCdmNpQW5iblZ0WW1WeUp5QnBaaUJwZENkeklHRWdjRzlzZVdacGJHd3VYRzRnSUhSNWNHVWdQVDA5SUZKRlFVTlVYMFpTUVVkTlJVNVVYMVJaVUVVZ2ZId2dkSGx3WlNBOVBUMGdVa1ZCUTFSZlEwOU9RMVZTVWtWT1ZGOU5UMFJGWDFSWlVFVWdmSHdnZEhsd1pTQTlQVDBnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlNCOGZDQjBlWEJsSUQwOVBTQlNSVUZEVkY5VFZGSkpRMVJmVFU5RVJWOVVXVkJGSUh4OElIUjVjR1VnUFQwOUlGSkZRVU5VWDFOVlUxQkZUbE5GWDFSWlVFVWdmSHdnZEhsd1pTQTlQVDBnVWtWQlExUmZVMVZUVUVWT1UwVmZURWxUVkY5VVdWQkZJSHg4SUhSNWNHVnZaaUIwZVhCbElEMDlQU0FuYjJKcVpXTjBKeUFtSmlCMGVYQmxJQ0U5UFNCdWRXeHNJQ1ltSUNoMGVYQmxMaVFrZEhsd1pXOW1JRDA5UFNCU1JVRkRWRjlNUVZwWlgxUlpVRVVnZkh3Z2RIbHdaUzRrSkhSNWNHVnZaaUE5UFQwZ1VrVkJRMVJmVFVWTlQxOVVXVkJGSUh4OElIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDFCU1QxWkpSRVZTWDFSWlVFVWdmSHdnZEhsd1pTNGtKSFI1Y0dWdlppQTlQVDBnVWtWQlExUmZRMDlPVkVWWVZGOVVXVkJGSUh4OElIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVnZkh3Z2RIbHdaUzRrSkhSNWNHVnZaaUE5UFQwZ1VrVkJRMVJmUmxWT1JFRk5SVTVVUVV4ZlZGbFFSU0I4ZkNCMGVYQmxMaVFrZEhsd1pXOW1JRDA5UFNCU1JVRkRWRjlTUlZOUVQwNUVSVkpmVkZsUVJTQjhmQ0IwZVhCbExpUWtkSGx3Wlc5bUlEMDlQU0JTUlVGRFZGOVRRMDlRUlY5VVdWQkZJSHg4SUhSNWNHVXVKQ1IwZVhCbGIyWWdQVDA5SUZKRlFVTlVYMEpNVDBOTFgxUlpVRVVwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ0WlcxdktIUjVjR1VzSUdOdmJYQmhjbVVwSUh0Y2JpQWdlMXh1SUNBZ0lHbG1JQ2doYVhOV1lXeHBaRVZzWlcxbGJuUlVlWEJsS0hSNWNHVXBLU0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25iV1Z0YnpvZ1ZHaGxJR1pwY25OMElHRnlaM1Z0Wlc1MElHMTFjM1FnWW1VZ1lTQmpiMjF3YjI1bGJuUXVJRWx1YzNSbFlXUWdKeUFySUNkeVpXTmxhWFpsWkRvZ0pYTW5MQ0IwZVhCbElEMDlQU0J1ZFd4c0lEOGdKMjUxYkd3bklEb2dkSGx3Wlc5bUlIUjVjR1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdKQ1IwZVhCbGIyWTZJRkpGUVVOVVgwMUZUVTlmVkZsUVJTeGNiaUFnSUNCMGVYQmxPaUIwZVhCbExGeHVJQ0FnSUdOdmJYQmhjbVU2SUdOdmJYQmhjbVVnUFQwOUlIVnVaR1ZtYVc1bFpDQS9JRzUxYkd3Z09pQmpiMjF3WVhKbFhHNGdJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2tnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlGSmxZV04wUTNWeWNtVnVkRVJwYzNCaGRHTm9aWEl1WTNWeWNtVnVkRHRjYmx4dUlDQnBaaUFvSVNoa2FYTndZWFJqYUdWeUlDRTlQU0J1ZFd4c0tTa2dlMXh1SUNBZ0lIdGNiaUFnSUNBZ0lIUm9jbTkzSUVWeWNtOXlLQ0JjSWtsdWRtRnNhV1FnYUc5dmF5QmpZV3hzTGlCSWIyOXJjeUJqWVc0Z2IyNXNlU0JpWlNCallXeHNaV1FnYVc1emFXUmxJRzltSUhSb1pTQmliMlI1SUc5bUlHRWdablZ1WTNScGIyNGdZMjl0Y0c5dVpXNTBMaUJVYUdseklHTnZkV3hrSUdoaGNIQmxiaUJtYjNJZ2IyNWxJRzltSUhSb1pTQm1iMnhzYjNkcGJtY2djbVZoYzI5dWN6cGNYRzR4TGlCWmIzVWdiV2xuYUhRZ2FHRjJaU0J0YVhOdFlYUmphR2x1WnlCMlpYSnphVzl1Y3lCdlppQlNaV0ZqZENCaGJtUWdkR2hsSUhKbGJtUmxjbVZ5SUNoemRXTm9JR0Z6SUZKbFlXTjBJRVJQVFNsY1hHNHlMaUJaYjNVZ2JXbG5hSFFnWW1VZ1luSmxZV3RwYm1jZ2RHaGxJRkoxYkdWeklHOW1JRWh2YjJ0elhGeHVNeTRnV1c5MUlHMXBaMmgwSUdoaGRtVWdiVzl5WlNCMGFHRnVJRzl1WlNCamIzQjVJRzltSUZKbFlXTjBJR2x1SUhSb1pTQnpZVzFsSUdGd2NGeGNibE5sWlNCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExXbHVkbUZzYVdRdGFHOXZheTFqWVd4c0lHWnZjaUIwYVhCeklHRmliM1YwSUdodmR5QjBieUJrWldKMVp5QmhibVFnWm1sNElIUm9hWE1nY0hKdllteGxiUzVjSWlBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCa2FYTndZWFJqYUdWeU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWMyVkRiMjUwWlhoMEtFTnZiblJsZUhRc0lIVnVjM1JoWW14bFgyOWljMlZ5ZG1Wa1FtbDBjeWtnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlISmxjMjlzZG1WRWFYTndZWFJqYUdWeUtDazdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDaDFibk4wWVdKc1pWOXZZbk5sY25abFpFSnBkSE1nSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdaWEp5YjNJb0ozVnpaVU52Ym5SbGVIUW9LU0J6WldOdmJtUWdZWEpuZFcxbGJuUWdhWE1nY21WelpYSjJaV1FnWm05eUlHWjFkSFZ5WlNBbklDc2dKM1Z6WlNCcGJpQlNaV0ZqZEM0Z1VHRnpjMmx1WnlCcGRDQnBjeUJ1YjNRZ2MzVndjRzl5ZEdWa0xpQW5JQ3NnSjFsdmRTQndZWE56WldRNklDVnpMaVZ6Snl3Z2RXNXpkR0ZpYkdWZmIySnpaWEoyWldSQ2FYUnpMQ0IwZVhCbGIyWWdkVzV6ZEdGaWJHVmZiMkp6WlhKMlpXUkNhWFJ6SUQwOVBTQW5iblZ0WW1WeUp5QW1KaUJCY25KaGVTNXBjMEZ5Y21GNUtHRnlaM1Z0Wlc1MGMxc3lYU2tnUHlBblhGeHVYRnh1Ukdsa0lIbHZkU0JqWVd4c0lHRnljbUY1TG0xaGNDaDFjMlZEYjI1MFpYaDBLVDhnSnlBcklDZERZV3hzYVc1bklFaHZiMnR6SUdsdWMybGtaU0JoSUd4dmIzQWdhWE1nYm05MElITjFjSEJ2Y25SbFpDNGdKeUFySUNkTVpXRnliaUJ0YjNKbElHRjBJR2gwZEhCek9pOHZabUl1YldVdmNuVnNaWE10YjJZdGFHOXZhM01uSURvZ0p5Y3BPMXh1SUNBZ0lIMGdMeThnVkU5RVR6b2dZV1JrSUdFZ2JXOXlaU0JuWlc1bGNtbGpJSGRoY201cGJtY2dabTl5SUdsdWRtRnNhV1FnZG1Gc2RXVnpMbHh1WEc1Y2JpQWdJQ0JwWmlBb1EyOXVkR1Y0ZEM1ZlkyOXVkR1Y0ZENBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdJQ0IyWVhJZ2NtVmhiRU52Ym5SbGVIUWdQU0JEYjI1MFpYaDBMbDlqYjI1MFpYaDBPeUF2THlCRWIyNG5kQ0JrWldSMWNHeHBZMkYwWlNCaVpXTmhkWE5sSUhSb2FYTWdiR1ZuYVhScGJXRjBaV3g1SUdOaGRYTmxjeUJpZFdkelhHNGdJQ0FnSUNBdkx5QmhibVFnYm05aWIyUjVJSE5vYjNWc1pDQmlaU0IxYzJsdVp5QjBhR2x6SUdsdUlHVjRhWE4wYVc1bklHTnZaR1V1WEc1Y2JpQWdJQ0FnSUdsbUlDaHlaV0ZzUTI5dWRHVjRkQzVEYjI1emRXMWxjaUE5UFQwZ1EyOXVkR1Y0ZENrZ2UxeHVJQ0FnSUNBZ0lDQmxjbkp2Y2lnblEyRnNiR2x1WnlCMWMyVkRiMjUwWlhoMEtFTnZiblJsZUhRdVEyOXVjM1Z0WlhJcElHbHpJRzV2ZENCemRYQndiM0owWldRc0lHMWhlU0JqWVhWelpTQmlkV2R6TENCaGJtUWdkMmxzYkNCaVpTQW5JQ3NnSjNKbGJXOTJaV1FnYVc0Z1lTQm1kWFIxY21VZ2JXRnFiM0lnY21Wc1pXRnpaUzRnUkdsa0lIbHZkU0J0WldGdUlIUnZJR05oYkd3Z2RYTmxRMjl1ZEdWNGRDaERiMjUwWlhoMEtTQnBibk4wWldGa1B5Y3BPMXh1SUNBZ0lDQWdmU0JsYkhObElHbG1JQ2h5WldGc1EyOXVkR1Y0ZEM1UWNtOTJhV1JsY2lBOVBUMGdRMjl1ZEdWNGRDa2dlMXh1SUNBZ0lDQWdJQ0JsY25KdmNpZ25RMkZzYkdsdVp5QjFjMlZEYjI1MFpYaDBLRU52Ym5SbGVIUXVVSEp2ZG1sa1pYSXBJR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUXVJQ2NnS3lBblJHbGtJSGx2ZFNCdFpXRnVJSFJ2SUdOaGJHd2dkWE5sUTI5dWRHVjRkQ2hEYjI1MFpYaDBLU0JwYm5OMFpXRmtQeWNwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJrYVhOd1lYUmphR1Z5TG5WelpVTnZiblJsZUhRb1EyOXVkR1Y0ZEN3Z2RXNXpkR0ZpYkdWZmIySnpaWEoyWldSQ2FYUnpLVHRjYm4xY2JtWjFibU4wYVc5dUlIVnpaVk4wWVhSbEtHbHVhWFJwWVd4VGRHRjBaU2tnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlISmxjMjlzZG1WRWFYTndZWFJqYUdWeUtDazdYRzRnSUhKbGRIVnliaUJrYVhOd1lYUmphR1Z5TG5WelpWTjBZWFJsS0dsdWFYUnBZV3hUZEdGMFpTazdYRzU5WEc1bWRXNWpkR2x2YmlCMWMyVlNaV1IxWTJWeUtISmxaSFZqWlhJc0lHbHVhWFJwWVd4QmNtY3NJR2x1YVhRcElIdGNiaUFnZG1GeUlHUnBjM0JoZEdOb1pYSWdQU0J5WlhOdmJIWmxSR2x6Y0dGMFkyaGxjaWdwTzF4dUlDQnlaWFIxY200Z1pHbHpjR0YwWTJobGNpNTFjMlZTWldSMVkyVnlLSEpsWkhWalpYSXNJR2x1YVhScFlXeEJjbWNzSUdsdWFYUXBPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2RYTmxVbVZtS0dsdWFYUnBZV3hXWVd4MVpTa2dlMXh1SUNCMllYSWdaR2x6Y0dGMFkyaGxjaUE5SUhKbGMyOXNkbVZFYVhOd1lYUmphR1Z5S0NrN1hHNGdJSEpsZEhWeWJpQmthWE53WVhSamFHVnlMblZ6WlZKbFppaHBibWwwYVdGc1ZtRnNkV1VwTzF4dWZWeHVablZ1WTNScGIyNGdkWE5sUldabVpXTjBLR055WldGMFpTd2daR1Z3Y3lrZ2UxeHVJQ0IyWVhJZ1pHbHpjR0YwWTJobGNpQTlJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2s3WEc0Z0lISmxkSFZ5YmlCa2FYTndZWFJqYUdWeUxuVnpaVVZtWm1WamRDaGpjbVZoZEdVc0lHUmxjSE1wTzF4dWZWeHVablZ1WTNScGIyNGdkWE5sVEdGNWIzVjBSV1ptWldOMEtHTnlaV0YwWlN3Z1pHVndjeWtnZTF4dUlDQjJZWElnWkdsemNHRjBZMmhsY2lBOUlISmxjMjlzZG1WRWFYTndZWFJqYUdWeUtDazdYRzRnSUhKbGRIVnliaUJrYVhOd1lYUmphR1Z5TG5WelpVeGhlVzkxZEVWbVptVmpkQ2hqY21WaGRHVXNJR1JsY0hNcE8xeHVmVnh1Wm5WdVkzUnBiMjRnZFhObFEyRnNiR0poWTJzb1kyRnNiR0poWTJzc0lHUmxjSE1wSUh0Y2JpQWdkbUZ5SUdScGMzQmhkR05vWlhJZ1BTQnlaWE52YkhabFJHbHpjR0YwWTJobGNpZ3BPMXh1SUNCeVpYUjFjbTRnWkdsemNHRjBZMmhsY2k1MWMyVkRZV3hzWW1GamF5aGpZV3hzWW1GamF5d2daR1Z3Y3lrN1hHNTlYRzVtZFc1amRHbHZiaUIxYzJWTlpXMXZLR055WldGMFpTd2daR1Z3Y3lrZ2UxeHVJQ0IyWVhJZ1pHbHpjR0YwWTJobGNpQTlJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2s3WEc0Z0lISmxkSFZ5YmlCa2FYTndZWFJqYUdWeUxuVnpaVTFsYlc4b1kzSmxZWFJsTENCa1pYQnpLVHRjYm4xY2JtWjFibU4wYVc5dUlIVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVW9jbVZtTENCamNtVmhkR1VzSUdSbGNITXBJSHRjYmlBZ2RtRnlJR1JwYzNCaGRHTm9aWElnUFNCeVpYTnZiSFpsUkdsemNHRjBZMmhsY2lncE8xeHVJQ0J5WlhSMWNtNGdaR2x6Y0dGMFkyaGxjaTUxYzJWSmJYQmxjbUYwYVhabFNHRnVaR3hsS0hKbFppd2dZM0psWVhSbExDQmtaWEJ6S1R0Y2JuMWNibVoxYm1OMGFXOXVJSFZ6WlVSbFluVm5WbUZzZFdVb2RtRnNkV1VzSUdadmNtMWhkSFJsY2tadUtTQjdYRzRnSUh0Y2JpQWdJQ0IyWVhJZ1pHbHpjR0YwWTJobGNpQTlJSEpsYzI5c2RtVkVhWE53WVhSamFHVnlLQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHUnBjM0JoZEdOb1pYSXVkWE5sUkdWaWRXZFdZV3gxWlNoMllXeDFaU3dnWm05eWJXRjBkR1Z5Um00cE8xeHVJQ0I5WEc1OVhHNWNiblpoY2lCd2NtOXdWSGx3WlhOTmFYTnpjR1ZzYkZkaGNtNXBibWRUYUc5M2JqdGNibHh1ZTF4dUlDQndjbTl3Vkhsd1pYTk5hWE56Y0dWc2JGZGhjbTVwYm1kVGFHOTNiaUE5SUdaaGJITmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJFWldOc1lYSmhkR2x2YmtWeWNtOXlRV1JrWlc1a2RXMG9LU0I3WEc0Z0lHbG1JQ2hTWldGamRFTjFjbkpsYm5SUGQyNWxjaTVqZFhKeVpXNTBLU0I3WEc0Z0lDQWdkbUZ5SUc1aGJXVWdQU0JuWlhSRGIyMXdiMjVsYm5ST1lXMWxLRkpsWVdOMFEzVnljbVZ1ZEU5M2JtVnlMbU4xY25KbGJuUXVkSGx3WlNrN1hHNWNiaUFnSUNCcFppQW9ibUZ0WlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUNkY1hHNWNYRzVEYUdWamF5QjBhR1VnY21WdVpHVnlJRzFsZEdodlpDQnZaaUJnSnlBcklHNWhiV1VnS3lBbllDNG5PMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQW5KenRjYm4xY2JseHVablZ1WTNScGIyNGdaMlYwVTI5MWNtTmxTVzVtYjBWeWNtOXlRV1JrWlc1a2RXMG9jMjkxY21ObEtTQjdYRzRnSUdsbUlDaHpiM1Z5WTJVZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJSFpoY2lCbWFXeGxUbUZ0WlNBOUlITnZkWEpqWlM1bWFXeGxUbUZ0WlM1eVpYQnNZV05sS0M5ZUxpcGJYRnhjWEZ4Y0wxMHZMQ0FuSnlrN1hHNGdJQ0FnZG1GeUlHeHBibVZPZFcxaVpYSWdQU0J6YjNWeVkyVXViR2x1WlU1MWJXSmxjanRjYmlBZ0lDQnlaWFIxY200Z0oxeGNibHhjYmtOb1pXTnJJSGx2ZFhJZ1kyOWtaU0JoZENBbklDc2dabWxzWlU1aGJXVWdLeUFuT2ljZ0t5QnNhVzVsVG5WdFltVnlJQ3NnSnk0bk8xeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlDY25PMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJUYjNWeVkyVkpibVp2UlhKeWIzSkJaR1JsYm1SMWJVWnZjbEJ5YjNCektHVnNaVzFsYm5SUWNtOXdjeWtnZTF4dUlDQnBaaUFvWld4bGJXVnVkRkJ5YjNCeklDRTlQU0J1ZFd4c0lDWW1JR1ZzWlcxbGJuUlFjbTl3Y3lBaFBUMGdkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHZGxkRk52ZFhKalpVbHVabTlGY25KdmNrRmtaR1Z1WkhWdEtHVnNaVzFsYm5SUWNtOXdjeTVmWDNOdmRYSmpaU2s3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnSnljN1hHNTlYRzR2S2lwY2JpQXFJRmRoY200Z2FXWWdkR2hsY21VbmN5QnVieUJyWlhrZ1pYaHdiR2xqYVhSc2VTQnpaWFFnYjI0Z1pIbHVZVzFwWXlCaGNuSmhlWE1nYjJZZ1kyaHBiR1J5Wlc0Z2IzSmNiaUFxSUc5aWFtVmpkQ0JyWlhseklHRnlaU0J1YjNRZ2RtRnNhV1F1SUZSb2FYTWdZV3hzYjNkeklIVnpJSFJ2SUd0bFpYQWdkSEpoWTJzZ2IyWWdZMmhwYkdSeVpXNGdZbVYwZDJWbGJseHVJQ29nZFhCa1lYUmxjeTVjYmlBcUwxeHVYRzVjYm5aaGNpQnZkMjVsY2toaGMwdGxlVlZ6WlZkaGNtNXBibWNnUFNCN2ZUdGNibHh1Wm5WdVkzUnBiMjRnWjJWMFEzVnljbVZ1ZEVOdmJYQnZibVZ1ZEVWeWNtOXlTVzVtYnlod1lYSmxiblJVZVhCbEtTQjdYRzRnSUhaaGNpQnBibVp2SUQwZ1oyVjBSR1ZqYkdGeVlYUnBiMjVGY25KdmNrRmtaR1Z1WkhWdEtDazdYRzVjYmlBZ2FXWWdLQ0ZwYm1adktTQjdYRzRnSUNBZ2RtRnlJSEJoY21WdWRFNWhiV1VnUFNCMGVYQmxiMllnY0dGeVpXNTBWSGx3WlNBOVBUMGdKM04wY21sdVp5Y2dQeUJ3WVhKbGJuUlVlWEJsSURvZ2NHRnlaVzUwVkhsd1pTNWthWE53YkdGNVRtRnRaU0I4ZkNCd1lYSmxiblJVZVhCbExtNWhiV1U3WEc1Y2JpQWdJQ0JwWmlBb2NHRnlaVzUwVG1GdFpTa2dlMXh1SUNBZ0lDQWdhVzVtYnlBOUlGd2lYRnh1WEZ4dVEyaGxZMnNnZEdobElIUnZjQzFzWlhabGJDQnlaVzVrWlhJZ1kyRnNiQ0IxYzJsdVp5QThYQ0lnS3lCd1lYSmxiblJPWVcxbElDc2dYQ0krTGx3aU8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCcGJtWnZPMXh1ZlZ4dUx5b3FYRzRnS2lCWFlYSnVJR2xtSUhSb1pTQmxiR1Z0Wlc1MElHUnZaWE51SjNRZ2FHRjJaU0JoYmlCbGVIQnNhV05wZENCclpYa2dZWE56YVdkdVpXUWdkRzhnYVhRdVhHNGdLaUJVYUdseklHVnNaVzFsYm5RZ2FYTWdhVzRnWVc0Z1lYSnlZWGt1SUZSb1pTQmhjbkpoZVNCamIzVnNaQ0JuY205M0lHRnVaQ0J6YUhKcGJtc2diM0lnWW1WY2JpQXFJSEpsYjNKa1pYSmxaQzRnUVd4c0lHTm9hV3hrY21WdUlIUm9ZWFFnYUdGMlpXNG5kQ0JoYkhKbFlXUjVJR0psWlc0Z2RtRnNhV1JoZEdWa0lHRnlaU0J5WlhGMWFYSmxaQ0IwYjF4dUlDb2dhR0YyWlNCaElGd2lhMlY1WENJZ2NISnZjR1Z5ZEhrZ1lYTnphV2R1WldRZ2RHOGdhWFF1SUVWeWNtOXlJSE4wWVhSMWMyVnpJR0Z5WlNCallXTm9aV1FnYzI4Z1lTQjNZWEp1YVc1blhHNGdLaUIzYVd4c0lHOXViSGtnWW1VZ2MyaHZkMjRnYjI1alpTNWNiaUFxWEc0Z0tpQkFhVzUwWlhKdVlXeGNiaUFxSUVCd1lYSmhiU0I3VW1WaFkzUkZiR1Z0Wlc1MGZTQmxiR1Z0Wlc1MElFVnNaVzFsYm5RZ2RHaGhkQ0J5WlhGMWFYSmxjeUJoSUd0bGVTNWNiaUFxSUVCd1lYSmhiU0I3S24wZ2NHRnlaVzUwVkhsd1pTQmxiR1Z0Wlc1MEozTWdjR0Z5Wlc1MEozTWdkSGx3WlM1Y2JpQXFMMXh1WEc1Y2JtWjFibU4wYVc5dUlIWmhiR2xrWVhSbFJYaHdiR2xqYVhSTFpYa29aV3hsYldWdWRDd2djR0Z5Wlc1MFZIbHdaU2tnZTF4dUlDQnBaaUFvSVdWc1pXMWxiblF1WDNOMGIzSmxJSHg4SUdWc1pXMWxiblF1WDNOMGIzSmxMblpoYkdsa1lYUmxaQ0I4ZkNCbGJHVnRaVzUwTG10bGVTQWhQU0J1ZFd4c0tTQjdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ1pXeGxiV1Z1ZEM1ZmMzUnZjbVV1ZG1Gc2FXUmhkR1ZrSUQwZ2RISjFaVHRjYmlBZ2RtRnlJR04xY25KbGJuUkRiMjF3YjI1bGJuUkZjbkp2Y2tsdVptOGdQU0JuWlhSRGRYSnlaVzUwUTI5dGNHOXVaVzUwUlhKeWIzSkpibVp2S0hCaGNtVnVkRlI1Y0dVcE8xeHVYRzRnSUdsbUlDaHZkMjVsY2toaGMwdGxlVlZ6WlZkaGNtNXBibWRiWTNWeWNtVnVkRU52YlhCdmJtVnVkRVZ5Y205eVNXNW1iMTBwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0J2ZDI1bGNraGhjMHRsZVZWelpWZGhjbTVwYm1kYlkzVnljbVZ1ZEVOdmJYQnZibVZ1ZEVWeWNtOXlTVzVtYjEwZ1BTQjBjblZsT3lBdkx5QlZjM1ZoYkd4NUlIUm9aU0JqZFhKeVpXNTBJRzkzYm1WeUlHbHpJSFJvWlNCdlptWmxibVJsY2l3Z1luVjBJR2xtSUdsMElHRmpZMlZ3ZEhNZ1kyaHBiR1J5Wlc0Z1lYTWdZVnh1SUNBdkx5QndjbTl3WlhKMGVTd2dhWFFnYldGNUlHSmxJSFJvWlNCamNtVmhkRzl5SUc5bUlIUm9aU0JqYUdsc1pDQjBhR0YwSjNNZ2NtVnpjRzl1YzJsaWJHVWdabTl5WEc0Z0lDOHZJR0Z6YzJsbmJtbHVaeUJwZENCaElHdGxlUzVjYmx4dUlDQjJZWElnWTJocGJHUlBkMjVsY2lBOUlDY25PMXh1WEc0Z0lHbG1JQ2hsYkdWdFpXNTBJQ1ltSUdWc1pXMWxiblF1WDI5M2JtVnlJQ1ltSUdWc1pXMWxiblF1WDI5M2JtVnlJQ0U5UFNCU1pXRmpkRU4xY25KbGJuUlBkMjVsY2k1amRYSnlaVzUwS1NCN1hHNGdJQ0FnTHk4Z1IybDJaU0IwYUdVZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYjNKcFoybHVZV3hzZVNCamNtVmhkR1ZrSUhSb2FYTWdZMmhwYkdRdVhHNGdJQ0FnWTJocGJHUlBkMjVsY2lBOUlGd2lJRWwwSUhkaGN5QndZWE56WldRZ1lTQmphR2xzWkNCbWNtOXRJRndpSUNzZ1oyVjBRMjl0Y0c5dVpXNTBUbUZ0WlNobGJHVnRaVzUwTGw5dmQyNWxjaTUwZVhCbEtTQXJJRndpTGx3aU8xeHVJQ0I5WEc1Y2JpQWdjMlYwUTNWeWNtVnVkR3g1Vm1Gc2FXUmhkR2x1WjBWc1pXMWxiblFvWld4bGJXVnVkQ2s3WEc1Y2JpQWdlMXh1SUNBZ0lHVnljbTl5S0NkRllXTm9JR05vYVd4a0lHbHVJR0VnYkdsemRDQnphRzkxYkdRZ2FHRjJaU0JoSUhWdWFYRjFaU0JjSW10bGVWd2lJSEJ5YjNBdUp5QXJJQ2NsY3lWeklGTmxaU0JvZEhSd2N6b3ZMMlppTG0xbEwzSmxZV04wTFhkaGNtNXBibWN0YTJWNWN5Qm1iM0lnYlc5eVpTQnBibVp2Y20xaGRHbHZiaTRuTENCamRYSnlaVzUwUTI5dGNHOXVaVzUwUlhKeWIzSkpibVp2TENCamFHbHNaRTkzYm1WeUtUdGNiaUFnZlZ4dVhHNGdJSE5sZEVOMWNuSmxiblJzZVZaaGJHbGtZWFJwYm1kRmJHVnRaVzUwS0c1MWJHd3BPMXh1ZlZ4dUx5b3FYRzRnS2lCRmJuTjFjbVVnZEdoaGRDQmxkbVZ5ZVNCbGJHVnRaVzUwSUdWcGRHaGxjaUJwY3lCd1lYTnpaV1FnYVc0Z1lTQnpkR0YwYVdNZ2JHOWpZWFJwYjI0c0lHbHVJR0Z1WEc0Z0tpQmhjbkpoZVNCM2FYUm9JR0Z1SUdWNGNHeHBZMmwwSUd0bGVYTWdjSEp2Y0dWeWRIa2daR1ZtYVc1bFpDd2diM0lnYVc0Z1lXNGdiMkpxWldOMElHeHBkR1Z5WVd4Y2JpQXFJSGRwZEdnZ2RtRnNhV1FnYTJWNUlIQnliM0JsY25SNUxseHVJQ3BjYmlBcUlFQnBiblJsY201aGJGeHVJQ29nUUhCaGNtRnRJSHRTWldGamRFNXZaR1Y5SUc1dlpHVWdVM1JoZEdsallXeHNlU0J3WVhOelpXUWdZMmhwYkdRZ2IyWWdZVzU1SUhSNWNHVXVYRzRnS2lCQWNHRnlZVzBnZXlwOUlIQmhjbVZ1ZEZSNWNHVWdibTlrWlNkeklIQmhjbVZ1ZENkeklIUjVjR1V1WEc0Z0tpOWNibHh1WEc1bWRXNWpkR2x2YmlCMllXeHBaR0YwWlVOb2FXeGtTMlY1Y3lodWIyUmxMQ0J3WVhKbGJuUlVlWEJsS1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYm05a1pTQWhQVDBnSjI5aWFtVmpkQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2h1YjJSbEtTa2dlMXh1SUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dibTlrWlM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdkbUZ5SUdOb2FXeGtJRDBnYm05a1pWdHBYVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHbHpWbUZzYVdSRmJHVnRaVzUwS0dOb2FXeGtLU2tnZTF4dUlDQWdJQ0FnSUNCMllXeHBaR0YwWlVWNGNHeHBZMmwwUzJWNUtHTm9hV3hrTENCd1lYSmxiblJVZVhCbEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDBnWld4elpTQnBaaUFvYVhOV1lXeHBaRVZzWlcxbGJuUW9ibTlrWlNrcElIdGNiaUFnSUNBdkx5QlVhR2x6SUdWc1pXMWxiblFnZDJGeklIQmhjM05sWkNCcGJpQmhJSFpoYkdsa0lHeHZZMkYwYVc5dUxseHVJQ0FnSUdsbUlDaHViMlJsTGw5emRHOXlaU2tnZTF4dUlDQWdJQ0FnYm05a1pTNWZjM1J2Y21VdWRtRnNhV1JoZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0I5WEc0Z0lIMGdaV3h6WlNCcFppQW9ibTlrWlNrZ2UxeHVJQ0FnSUhaaGNpQnBkR1Z5WVhSdmNrWnVJRDBnWjJWMFNYUmxjbUYwYjNKR2JpaHViMlJsS1R0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FYUmxjbUYwYjNKR2JpQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ0x5OGdSVzUwY25rZ2FYUmxjbUYwYjNKeklIVnpaV1FnZEc4Z2NISnZkbWxrWlNCcGJYQnNhV05wZENCclpYbHpMRnh1SUNBZ0lDQWdMeThnWW5WMElHNXZkeUIzWlNCd2NtbHVkQ0JoSUhObGNHRnlZWFJsSUhkaGNtNXBibWNnWm05eUlIUm9aVzBnYkdGMFpYSXVYRzRnSUNBZ0lDQnBaaUFvYVhSbGNtRjBiM0pHYmlBaFBUMGdibTlrWlM1bGJuUnlhV1Z6S1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwZEdWeVlYUnZjaUE5SUdsMFpYSmhkRzl5Um00dVkyRnNiQ2h1YjJSbEtUdGNiaUFnSUNBZ0lDQWdkbUZ5SUhOMFpYQTdYRzVjYmlBZ0lDQWdJQ0FnZDJocGJHVWdLQ0VvYzNSbGNDQTlJR2wwWlhKaGRHOXlMbTVsZUhRb0tTa3VaRzl1WlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNocGMxWmhiR2xrUld4bGJXVnVkQ2h6ZEdWd0xuWmhiSFZsS1NrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1Gc2FXUmhkR1ZGZUhCc2FXTnBkRXRsZVNoemRHVndMblpoYkhWbExDQndZWEpsYm5SVWVYQmxLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpOHFLbHh1SUNvZ1IybDJaVzRnWVc0Z1pXeGxiV1Z1ZEN3Z2RtRnNhV1JoZEdVZ2RHaGhkQ0JwZEhNZ2NISnZjSE1nWm05c2JHOTNJSFJvWlNCd2NtOXdWSGx3WlhNZ1pHVm1hVzVwZEdsdmJpeGNiaUFxSUhCeWIzWnBaR1ZrSUdKNUlIUm9aU0IwZVhCbExseHVJQ3BjYmlBcUlFQndZWEpoYlNCN1VtVmhZM1JGYkdWdFpXNTBmU0JsYkdWdFpXNTBYRzRnS2k5Y2JseHVYRzVtZFc1amRHbHZiaUIyWVd4cFpHRjBaVkJ5YjNCVWVYQmxjeWhsYkdWdFpXNTBLU0I3WEc0Z0lIdGNiaUFnSUNCMllYSWdkSGx3WlNBOUlHVnNaVzFsYm5RdWRIbHdaVHRjYmx4dUlDQWdJR2xtSUNoMGVYQmxJRDA5UFNCdWRXeHNJSHg4SUhSNWNHVWdQVDA5SUhWdVpHVm1hVzVsWkNCOGZDQjBlWEJsYjJZZ2RIbHdaU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2JtRnRaU0E5SUdkbGRFTnZiWEJ2Ym1WdWRFNWhiV1VvZEhsd1pTazdYRzRnSUNBZ2RtRnlJSEJ5YjNCVWVYQmxjenRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0FnSUNBZ2NISnZjRlI1Y0dWeklEMGdkSGx3WlM1d2NtOXdWSGx3WlhNN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoMGVYQmxiMllnZEhsd1pTQTlQVDBnSjI5aWFtVmpkQ2NnSmlZZ0tIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDBaUFVsZEJVa1JmVWtWR1gxUlpVRVVnZkh3Z0x5OGdUbTkwWlRvZ1RXVnRieUJ2Ym14NUlHTm9aV05yY3lCdmRYUmxjaUJ3Y205d2N5Qm9aWEpsTGx4dUlDQWdJQzh2SUVsdWJtVnlJSEJ5YjNCeklHRnlaU0JqYUdWamEyVmtJR2x1SUhSb1pTQnlaV052Ym1OcGJHVnlMbHh1SUNBZ0lIUjVjR1V1SkNSMGVYQmxiMllnUFQwOUlGSkZRVU5VWDAxRlRVOWZWRmxRUlNrcElIdGNiaUFnSUNBZ0lIQnliM0JVZVhCbGN5QTlJSFI1Y0dVdWNISnZjRlI1Y0dWek8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSEJ5YjNCVWVYQmxjeWtnZTF4dUlDQWdJQ0FnYzJWMFEzVnljbVZ1ZEd4NVZtRnNhV1JoZEdsdVowVnNaVzFsYm5Rb1pXeGxiV1Z1ZENrN1hHNGdJQ0FnSUNCamFHVmphMUJ5YjNCVWVYQmxjeWh3Y205d1ZIbHdaWE1zSUdWc1pXMWxiblF1Y0hKdmNITXNJQ2R3Y205d0p5d2dibUZ0WlN3Z1VtVmhZM1JFWldKMVowTjFjbkpsYm5SR2NtRnRaUzVuWlhSVGRHRmphMEZrWkdWdVpIVnRLVHRjYmlBZ0lDQWdJSE5sZEVOMWNuSmxiblJzZVZaaGJHbGtZWFJwYm1kRmJHVnRaVzUwS0c1MWJHd3BPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kSGx3WlM1UWNtOXdWSGx3WlhNZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlBaGNISnZjRlI1Y0dWelRXbHpjM0JsYkd4WFlYSnVhVzVuVTJodmQyNHBJSHRjYmlBZ0lDQWdJSEJ5YjNCVWVYQmxjMDFwYzNOd1pXeHNWMkZ5Ym1sdVoxTm9iM2R1SUQwZ2RISjFaVHRjYmx4dUlDQWdJQ0FnWlhKeWIzSW9KME52YlhCdmJtVnVkQ0FsY3lCa1pXTnNZWEpsWkNCZ1VISnZjRlI1Y0dWellDQnBibk4wWldGa0lHOW1JR0J3Y205d1ZIbHdaWE5nTGlCRWFXUWdlVzkxSUcxcGMzTndaV3hzSUhSb1pTQndjbTl3WlhKMGVTQmhjM05wWjI1dFpXNTBQeWNzSUc1aGJXVWdmSHdnSjFWdWEyNXZkMjRuS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUhSNWNHVXVaMlYwUkdWbVlYVnNkRkJ5YjNCeklEMDlQU0FuWm5WdVkzUnBiMjRuSUNZbUlDRjBlWEJsTG1kbGRFUmxabUYxYkhSUWNtOXdjeTVwYzFKbFlXTjBRMnhoYzNOQmNIQnliM1psWkNrZ2UxeHVJQ0FnSUNBZ1pYSnliM0lvSjJkbGRFUmxabUYxYkhSUWNtOXdjeUJwY3lCdmJteDVJSFZ6WldRZ2IyNGdZMnhoYzNOcFl5QlNaV0ZqZEM1amNtVmhkR1ZEYkdGemN5QW5JQ3NnSjJSbFptbHVhWFJwYjI1ekxpQlZjMlVnWVNCemRHRjBhV01nY0hKdmNHVnlkSGtnYm1GdFpXUWdZR1JsWm1GMWJIUlFjbTl3YzJBZ2FXNXpkR1ZoWkM0bktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpOHFLbHh1SUNvZ1IybDJaVzRnWVNCbWNtRm5iV1Z1ZEN3Z2RtRnNhV1JoZEdVZ2RHaGhkQ0JwZENCallXNGdiMjVzZVNCaVpTQndjbTkyYVdSbFpDQjNhWFJvSUdaeVlXZHRaVzUwSUhCeWIzQnpYRzRnS2lCQWNHRnlZVzBnZTFKbFlXTjBSV3hsYldWdWRIMGdabkpoWjIxbGJuUmNiaUFxTDF4dVhHNWNibVoxYm1OMGFXOXVJSFpoYkdsa1lYUmxSbkpoWjIxbGJuUlFjbTl3Y3lobWNtRm5iV1Z1ZENrZ2UxeHVJQ0I3WEc0Z0lDQWdjMlYwUTNWeWNtVnVkR3g1Vm1Gc2FXUmhkR2x1WjBWc1pXMWxiblFvWm5KaFoyMWxiblFwTzF4dUlDQWdJSFpoY2lCclpYbHpJRDBnVDJKcVpXTjBMbXRsZVhNb1puSmhaMjFsYm5RdWNISnZjSE1wTzF4dVhHNGdJQ0FnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCclpYbHpMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNCMllYSWdhMlY1SUQwZ2EyVjVjMXRwWFR0Y2JseHVJQ0FnSUNBZ2FXWWdLR3RsZVNBaFBUMGdKMk5vYVd4a2NtVnVKeUFtSmlCclpYa2dJVDA5SUNkclpYa25LU0I3WEc0Z0lDQWdJQ0FnSUdWeWNtOXlLQ2RKYm5aaGJHbGtJSEJ5YjNBZ1lDVnpZQ0J6ZFhCd2JHbGxaQ0IwYnlCZ1VtVmhZM1F1Um5KaFoyMWxiblJnTGlBbklDc2dKMUpsWVdOMExrWnlZV2R0Wlc1MElHTmhiaUJ2Ym14NUlHaGhkbVVnWUd0bGVXQWdZVzVrSUdCamFHbHNaSEpsYm1BZ2NISnZjSE11Snl3Z2EyVjVLVHRjYmx4dUlDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWm5KaFoyMWxiblF1Y21WbUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQmxjbkp2Y2lnblNXNTJZV3hwWkNCaGRIUnlhV0oxZEdVZ1lISmxabUFnYzNWd2NHeHBaV1FnZEc4Z1lGSmxZV04wTGtaeVlXZHRaVzUwWUM0bktUdGNiaUFnSUNCOVhHNWNiaUFnSUNCelpYUkRkWEp5Wlc1MGJIbFdZV3hwWkdGMGFXNW5SV3hsYldWdWRDaHVkV3hzS1R0Y2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z1kzSmxZWFJsUld4bGJXVnVkRmRwZEdoV1lXeHBaR0YwYVc5dUtIUjVjR1VzSUhCeWIzQnpMQ0JqYUdsc1pISmxiaWtnZTF4dUlDQjJZWElnZG1Gc2FXUlVlWEJsSUQwZ2FYTldZV3hwWkVWc1pXMWxiblJVZVhCbEtIUjVjR1VwT3lBdkx5QlhaU0IzWVhKdUlHbHVJSFJvYVhNZ1kyRnpaU0JpZFhRZ1pHOXVKM1FnZEdoeWIzY3VJRmRsSUdWNGNHVmpkQ0IwYUdVZ1pXeGxiV1Z1ZENCamNtVmhkR2x2YmlCMGIxeHVJQ0F2THlCemRXTmpaV1ZrSUdGdVpDQjBhR1Z5WlNCM2FXeHNJR3hwYTJWc2VTQmlaU0JsY25KdmNuTWdhVzRnY21WdVpHVnlMbHh1WEc0Z0lHbG1JQ2doZG1Gc2FXUlVlWEJsS1NCN1hHNGdJQ0FnZG1GeUlHbHVabThnUFNBbkp6dGNibHh1SUNBZ0lHbG1JQ2gwZVhCbElEMDlQU0IxYm1SbFptbHVaV1FnZkh3Z2RIbHdaVzltSUhSNWNHVWdQVDA5SUNkdlltcGxZM1FuSUNZbUlIUjVjR1VnSVQwOUlHNTFiR3dnSmlZZ1QySnFaV04wTG10bGVYTW9kSGx3WlNrdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdJQ0JwYm1adklDczlJQ2NnV1c5MUlHeHBhMlZzZVNCbWIzSm5iM1FnZEc4Z1pYaHdiM0owSUhsdmRYSWdZMjl0Y0c5dVpXNTBJR1p5YjIwZ2RHaGxJR1pwYkdVZ0p5QXJJRndpYVhRbmN5QmtaV1pwYm1Wa0lHbHVMQ0J2Y2lCNWIzVWdiV2xuYUhRZ2FHRjJaU0J0YVhobFpDQjFjQ0JrWldaaGRXeDBJR0Z1WkNCdVlXMWxaQ0JwYlhCdmNuUnpMbHdpTzF4dUlDQWdJSDFjYmx4dUlDQWdJSFpoY2lCemIzVnlZMlZKYm1adklEMGdaMlYwVTI5MWNtTmxTVzVtYjBWeWNtOXlRV1JrWlc1a2RXMUdiM0pRY205d2N5aHdjbTl3Y3lrN1hHNWNiaUFnSUNCcFppQW9jMjkxY21ObFNXNW1ieWtnZTF4dUlDQWdJQ0FnYVc1bWJ5QXJQU0J6YjNWeVkyVkpibVp2TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBibVp2SUNzOUlHZGxkRVJsWTJ4aGNtRjBhVzl1UlhKeWIzSkJaR1JsYm1SMWJTZ3BPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIWmhjaUIwZVhCbFUzUnlhVzVuTzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1VnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUhSNWNHVlRkSEpwYm1jZ1BTQW5iblZzYkNjN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLSFI1Y0dVcEtTQjdYRzRnSUNBZ0lDQjBlWEJsVTNSeWFXNW5JRDBnSjJGeWNtRjVKenRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFI1Y0dVZ0lUMDlJSFZ1WkdWbWFXNWxaQ0FtSmlCMGVYQmxMaVFrZEhsd1pXOW1JRDA5UFNCU1JVRkRWRjlGVEVWTlJVNVVYMVJaVUVVcElIdGNiaUFnSUNBZ0lIUjVjR1ZUZEhKcGJtY2dQU0JjSWp4Y0lpQXJJQ2huWlhSRGIyMXdiMjVsYm5ST1lXMWxLSFI1Y0dVdWRIbHdaU2tnZkh3Z0oxVnVhMjV2ZDI0bktTQXJJRndpSUM4K1hDSTdYRzRnSUNBZ0lDQnBibVp2SUQwZ0p5QkVhV1FnZVc5MUlHRmpZMmxrWlc1MFlXeHNlU0JsZUhCdmNuUWdZU0JLVTFnZ2JHbDBaWEpoYkNCcGJuTjBaV0ZrSUc5bUlHRWdZMjl0Y0c5dVpXNTBQeWM3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lIUjVjR1ZUZEhKcGJtY2dQU0IwZVhCbGIyWWdkSGx3WlR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0I3WEc0Z0lDQWdJQ0JsY25KdmNpZ25VbVZoWTNRdVkzSmxZWFJsUld4bGJXVnVkRG9nZEhsd1pTQnBjeUJwYm5aaGJHbGtJQzB0SUdWNGNHVmpkR1ZrSUdFZ2MzUnlhVzVuSUNobWIzSWdKeUFySUNkaWRXbHNkQzFwYmlCamIyMXdiMjVsYm5SektTQnZjaUJoSUdOc1lYTnpMMloxYm1OMGFXOXVJQ2htYjNJZ1kyOXRjRzl6YVhSbElDY2dLeUFuWTI5dGNHOXVaVzUwY3lrZ1luVjBJR2R2ZERvZ0pYTXVKWE1uTENCMGVYQmxVM1J5YVc1bkxDQnBibVp2S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCMllYSWdaV3hsYldWdWRDQTlJR055WldGMFpVVnNaVzFsYm5RdVlYQndiSGtvZEdocGN5d2dZWEpuZFcxbGJuUnpLVHNnTHk4Z1ZHaGxJSEpsYzNWc2RDQmpZVzRnWW1VZ2JuVnNiR2x6YUNCcFppQmhJRzF2WTJzZ2IzSWdZU0JqZFhOMGIyMGdablZ1WTNScGIyNGdhWE1nZFhObFpDNWNiaUFnTHk4Z1ZFOUVUem9nUkhKdmNDQjBhR2x6SUhkb1pXNGdkR2hsYzJVZ1lYSmxJRzV2SUd4dmJtZGxjaUJoYkd4dmQyVmtJR0Z6SUhSb1pTQjBlWEJsSUdGeVozVnRaVzUwTGx4dVhHNGdJR2xtSUNobGJHVnRaVzUwSUQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaV3hsYldWdWREdGNiaUFnZlNBdkx5QlRhMmx3SUd0bGVTQjNZWEp1YVc1bklHbG1JSFJvWlNCMGVYQmxJR2x6YmlkMElIWmhiR2xrSUhOcGJtTmxJRzkxY2lCclpYa2dkbUZzYVdSaGRHbHZiaUJzYjJkcFkxeHVJQ0F2THlCa2IyVnpiaWQwSUdWNGNHVmpkQ0JoSUc1dmJpMXpkSEpwYm1jdlpuVnVZM1JwYjI0Z2RIbHdaU0JoYm1RZ1kyRnVJSFJvY205M0lHTnZibVoxYzJsdVp5Qmxjbkp2Y25NdVhHNGdJQzh2SUZkbElHUnZiaWQwSUhkaGJuUWdaWGhqWlhCMGFXOXVJR0psYUdGMmFXOXlJSFJ2SUdScFptWmxjaUJpWlhSM1pXVnVJR1JsZGlCaGJtUWdjSEp2WkM1Y2JpQWdMeThnS0ZKbGJtUmxjbWx1WnlCM2FXeHNJSFJvY205M0lIZHBkR2dnWVNCb1pXeHdablZzSUcxbGMzTmhaMlVnWVc1a0lHRnpJSE52YjI0Z1lYTWdkR2hsSUhSNWNHVWdhWE5jYmlBZ0x5OGdabWw0WldRc0lIUm9aU0JyWlhrZ2QyRnlibWx1WjNNZ2QybHNiQ0JoY0hCbFlYSXVLVnh1WEc1Y2JpQWdhV1lnS0haaGJHbGtWSGx3WlNrZ2UxeHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVU5vYVd4a1MyVjVjeWhoY21kMWJXVnVkSE5iYVYwc0lIUjVjR1VwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUdsbUlDaDBlWEJsSUQwOVBTQlNSVUZEVkY5R1VrRkhUVVZPVkY5VVdWQkZLU0I3WEc0Z0lDQWdkbUZzYVdSaGRHVkdjbUZuYldWdWRGQnliM0J6S0dWc1pXMWxiblFwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGJHbGtZWFJsVUhKdmNGUjVjR1Z6S0dWc1pXMWxiblFwTzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUdWc1pXMWxiblE3WEc1OVhHNTJZWElnWkdsa1YyRnlia0ZpYjNWMFJHVndjbVZqWVhSbFpFTnlaV0YwWlVaaFkzUnZjbmtnUFNCbVlXeHpaVHRjYm1aMWJtTjBhVzl1SUdOeVpXRjBaVVpoWTNSdmNubFhhWFJvVm1Gc2FXUmhkR2x2YmloMGVYQmxLU0I3WEc0Z0lIWmhjaUIyWVd4cFpHRjBaV1JHWVdOMGIzSjVJRDBnWTNKbFlYUmxSV3hsYldWdWRGZHBkR2hXWVd4cFpHRjBhVzl1TG1KcGJtUW9iblZzYkN3Z2RIbHdaU2s3WEc0Z0lIWmhiR2xrWVhSbFpFWmhZM1J2Y25rdWRIbHdaU0E5SUhSNWNHVTdYRzVjYmlBZ2UxeHVJQ0FnSUdsbUlDZ2haR2xrVjJGeWJrRmliM1YwUkdWd2NtVmpZWFJsWkVOeVpXRjBaVVpoWTNSdmNua3BJSHRjYmlBZ0lDQWdJR1JwWkZkaGNtNUJZbTkxZEVSbGNISmxZMkYwWldSRGNtVmhkR1ZHWVdOMGIzSjVJRDBnZEhKMVpUdGNibHh1SUNBZ0lDQWdkMkZ5YmlnblVtVmhZM1F1WTNKbFlYUmxSbUZqZEc5eWVTZ3BJR2x6SUdSbGNISmxZMkYwWldRZ1lXNWtJSGRwYkd3Z1ltVWdjbVZ0YjNabFpDQnBiaUFuSUNzZ0oyRWdablYwZFhKbElHMWhhbTl5SUhKbGJHVmhjMlV1SUVOdmJuTnBaR1Z5SUhWemFXNW5JRXBUV0NBbklDc2dKMjl5SUhWelpTQlNaV0ZqZEM1amNtVmhkR1ZGYkdWdFpXNTBLQ2tnWkdseVpXTjBiSGtnYVc1emRHVmhaQzRuS1R0Y2JpQWdJQ0I5SUM4dklFeGxaMkZqZVNCb2IyOXJPaUJ5WlcxdmRtVWdhWFJjYmx4dVhHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtIWmhiR2xrWVhSbFpFWmhZM1J2Y25rc0lDZDBlWEJsSnl3Z2UxeHVJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dabUZzYzJVc1hHNGdJQ0FnSUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUNBZ2QyRnliaWduUm1GamRHOXllUzUwZVhCbElHbHpJR1JsY0hKbFkyRjBaV1F1SUVGalkyVnpjeUIwYUdVZ1kyeGhjM01nWkdseVpXTjBiSGtnSnlBcklDZGlaV1p2Y21VZ2NHRnpjMmx1WnlCcGRDQjBieUJqY21WaGRHVkdZV04wYjNKNUxpY3BPMXh1WEc0Z0lDQWdJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaDBhR2x6TENBbmRIbHdaU2NzSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZV3gxWlRvZ2RIbHdaVnh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhSNWNHVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdkbUZzYVdSaGRHVmtSbUZqZEc5eWVUdGNibjFjYm1aMWJtTjBhVzl1SUdOc2IyNWxSV3hsYldWdWRGZHBkR2hXWVd4cFpHRjBhVzl1S0dWc1pXMWxiblFzSUhCeWIzQnpMQ0JqYUdsc1pISmxiaWtnZTF4dUlDQjJZWElnYm1WM1JXeGxiV1Z1ZENBOUlHTnNiMjVsUld4bGJXVnVkQzVoY0hCc2VTaDBhR2x6TENCaGNtZDFiV1Z1ZEhNcE8xeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXlPeUJwSUR3Z1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdkbUZzYVdSaGRHVkRhR2xzWkV0bGVYTW9ZWEpuZFcxbGJuUnpXMmxkTENCdVpYZEZiR1Z0Wlc1MExuUjVjR1VwTzF4dUlDQjlYRzVjYmlBZ2RtRnNhV1JoZEdWUWNtOXdWSGx3WlhNb2JtVjNSV3hsYldWdWRDazdYRzRnSUhKbGRIVnliaUJ1WlhkRmJHVnRaVzUwTzF4dWZWeHVYRzU3WEc1Y2JpQWdkSEo1SUh0Y2JpQWdJQ0IyWVhJZ1puSnZlbVZ1VDJKcVpXTjBJRDBnVDJKcVpXTjBMbVp5WldWNlpTaDdmU2s3WEc0Z0lDQWdkbUZ5SUhSbGMzUk5ZWEFnUFNCdVpYY2dUV0Z3S0Z0YlpuSnZlbVZ1VDJKcVpXTjBMQ0J1ZFd4c1hWMHBPMXh1SUNBZ0lIWmhjaUIwWlhOMFUyVjBJRDBnYm1WM0lGTmxkQ2hiWm5KdmVtVnVUMkpxWldOMFhTazdJQzh2SUZSb2FYTWdhWE1nYm1WalpYTnpZWEo1SUdadmNpQlNiMnhzZFhBZ2RHOGdibTkwSUdOdmJuTnBaR1Z5SUhSb1pYTmxJSFZ1ZFhObFpDNWNiaUFnSUNBdkx5Qm9kSFJ3Y3pvdkwyZHBkR2gxWWk1amIyMHZjbTlzYkhWd0wzSnZiR3gxY0M5cGMzTjFaWE12TVRjM01WeHVJQ0FnSUM4dklGUlBSRTg2SUhkbElHTmhiaUJ5WlcxdmRtVWdkR2hsYzJVZ2FXWWdVbTlzYkhWd0lHWnBlR1Z6SUhSb1pTQmlkV2N1WEc1Y2JpQWdJQ0IwWlhOMFRXRndMbk5sZENnd0xDQXdLVHRjYmlBZ0lDQjBaWE4wVTJWMExtRmtaQ2d3S1R0Y2JpQWdmU0JqWVhSamFDQW9aU2tnZTF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJqY21WaGRHVkZiR1Z0Wlc1MEpERWdQU0FnWTNKbFlYUmxSV3hsYldWdWRGZHBkR2hXWVd4cFpHRjBhVzl1SUR0Y2JuWmhjaUJqYkc5dVpVVnNaVzFsYm5Ra01TQTlJQ0JqYkc5dVpVVnNaVzFsYm5SWGFYUm9WbUZzYVdSaGRHbHZiaUE3WEc1MllYSWdZM0psWVhSbFJtRmpkRzl5ZVNBOUlDQmpjbVZoZEdWR1lXTjBiM0o1VjJsMGFGWmhiR2xrWVhScGIyNGdPMXh1ZG1GeUlFTm9hV3hrY21WdUlEMGdlMXh1SUNCdFlYQTZJRzFoY0VOb2FXeGtjbVZ1TEZ4dUlDQm1iM0pGWVdOb09pQm1iM0pGWVdOb1EyaHBiR1J5Wlc0c1hHNGdJR052ZFc1ME9pQmpiM1Z1ZEVOb2FXeGtjbVZ1TEZ4dUlDQjBiMEZ5Y21GNU9pQjBiMEZ5Y21GNUxGeHVJQ0J2Ym14NU9pQnZibXg1UTJocGJHUmNibjA3WEc1Y2JtVjRjRzl5ZEhNdVEyaHBiR1J5Wlc0Z1BTQkRhR2xzWkhKbGJqdGNibVY0Y0c5eWRITXVRMjl0Y0c5dVpXNTBJRDBnUTI5dGNHOXVaVzUwTzF4dVpYaHdiM0owY3k1R2NtRm5iV1Z1ZENBOUlGSkZRVU5VWDBaU1FVZE5SVTVVWDFSWlVFVTdYRzVsZUhCdmNuUnpMbEJ5YjJacGJHVnlJRDBnVWtWQlExUmZVRkpQUmtsTVJWSmZWRmxRUlR0Y2JtVjRjRzl5ZEhNdVVIVnlaVU52YlhCdmJtVnVkQ0E5SUZCMWNtVkRiMjF3YjI1bGJuUTdYRzVsZUhCdmNuUnpMbE4wY21samRFMXZaR1VnUFNCU1JVRkRWRjlUVkZKSlExUmZUVTlFUlY5VVdWQkZPMXh1Wlhod2IzSjBjeTVUZFhOd1pXNXpaU0E5SUZKRlFVTlVYMU5WVTFCRlRsTkZYMVJaVUVVN1hHNWxlSEJ2Y25SekxsOWZVMFZEVWtWVVgwbE9WRVZTVGtGTVUxOUVUMTlPVDFSZlZWTkZYMDlTWDFsUFZWOVhTVXhNWDBKRlgwWkpVa1ZFSUQwZ1VtVmhZM1JUYUdGeVpXUkpiblJsY201aGJITTdYRzVsZUhCdmNuUnpMbU5zYjI1bFJXeGxiV1Z1ZENBOUlHTnNiMjVsUld4bGJXVnVkQ1F4TzF4dVpYaHdiM0owY3k1amNtVmhkR1ZEYjI1MFpYaDBJRDBnWTNKbFlYUmxRMjl1ZEdWNGREdGNibVY0Y0c5eWRITXVZM0psWVhSbFJXeGxiV1Z1ZENBOUlHTnlaV0YwWlVWc1pXMWxiblFrTVR0Y2JtVjRjRzl5ZEhNdVkzSmxZWFJsUm1GamRHOXllU0E5SUdOeVpXRjBaVVpoWTNSdmNuazdYRzVsZUhCdmNuUnpMbU55WldGMFpWSmxaaUE5SUdOeVpXRjBaVkpsWmp0Y2JtVjRjRzl5ZEhNdVptOXlkMkZ5WkZKbFppQTlJR1p2Y25kaGNtUlNaV1k3WEc1bGVIQnZjblJ6TG1selZtRnNhV1JGYkdWdFpXNTBJRDBnYVhOV1lXeHBaRVZzWlcxbGJuUTdYRzVsZUhCdmNuUnpMbXhoZW5rZ1BTQnNZWHA1TzF4dVpYaHdiM0owY3k1dFpXMXZJRDBnYldWdGJ6dGNibVY0Y0c5eWRITXVkWE5sUTJGc2JHSmhZMnNnUFNCMWMyVkRZV3hzWW1GamF6dGNibVY0Y0c5eWRITXVkWE5sUTI5dWRHVjRkQ0E5SUhWelpVTnZiblJsZUhRN1hHNWxlSEJ2Y25SekxuVnpaVVJsWW5WblZtRnNkV1VnUFNCMWMyVkVaV0oxWjFaaGJIVmxPMXh1Wlhod2IzSjBjeTUxYzJWRlptWmxZM1FnUFNCMWMyVkZabVpsWTNRN1hHNWxlSEJ2Y25SekxuVnpaVWx0Y0dWeVlYUnBkbVZJWVc1a2JHVWdQU0IxYzJWSmJYQmxjbUYwYVhabFNHRnVaR3hsTzF4dVpYaHdiM0owY3k1MWMyVk1ZWGx2ZFhSRlptWmxZM1FnUFNCMWMyVk1ZWGx2ZFhSRlptWmxZM1E3WEc1bGVIQnZjblJ6TG5WelpVMWxiVzhnUFNCMWMyVk5aVzF2TzF4dVpYaHdiM0owY3k1MWMyVlNaV1IxWTJWeUlEMGdkWE5sVW1Wa2RXTmxjanRjYm1WNGNHOXlkSE11ZFhObFVtVm1JRDBnZFhObFVtVm1PMXh1Wlhod2IzSjBjeTUxYzJWVGRHRjBaU0E5SUhWelpWTjBZWFJsTzF4dVpYaHdiM0owY3k1MlpYSnphVzl1SUQwZ1VtVmhZM1JXWlhKemFXOXVPMXh1SUNCOUtTZ3BPMXh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5pZiAoZmFsc2UpIHt9IGVsc2Uge1xcbiAgbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzXFxcIik7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmpkQzlwYm1SbGVDNXFjejlpTkRsaUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxFbEJRVWtzUzBGQmNVTXNSVUZCUlN4RlFVVXhRenRCUVVORUxHMUNRVUZ0UWl4dFFrRkJUeXhEUVVGRExHbEdRVUUwUWp0QlFVTjJSQ0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZqZEM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaWQxYzJVZ2MzUnlhV04wSnp0Y2JseHVhV1lnS0hCeWIyTmxjM011Wlc1MkxrNVBSRVZmUlU1V0lEMDlQU0FuY0hKdlpIVmpkR2x2YmljcElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJOcWN5OXlaV0ZqZEM1d2NtOWtkV04wYVc5dUxtMXBiaTVxY3ljcE8xeHVmU0JsYkhObElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJOcWN5OXlaV0ZqZEM1a1pYWmxiRzl3YldWdWRDNXFjeWNwTzF4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZHVwbGV4LWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9kdXBsZXgtYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdlpIVndiR1Y0TFdKeWIzZHpaWEl1YW5NL05UYzNOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl4eFJrRkJlVUlpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyUjFjR3hsZUMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWZjM1J5WldGdFgyUjFjR3hsZUM1cWN5Y3BPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vZHVwbGV4LWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXFxuLy9cXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcXG4vLyBcXFwiU29mdHdhcmVcXFwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXFxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcXG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcXG4vL1xcbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXFxuLy9cXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXFxcIkFTIElTXFxcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xcbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0ZcXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXFxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXFxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXFxuXFxuLy8gYSBkdXBsZXggc3RyZWFtIGlzIGp1c3QgYSBzdHJlYW0gdGhhdCBpcyBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZS5cXG4vLyBTaW5jZSBKUyBkb2Vzbid0IGhhdmUgbXVsdGlwbGUgcHJvdG90eXBhbCBpbmhlcml0YW5jZSwgdGhpcyBjbGFzc1xcbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cXG4vLyBXcml0YWJsZS5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBwbmEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwcm9jZXNzLW5leHRpY2stYXJncyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvaW5kZXguanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciBvYmplY3RLZXlzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24gKG9iaikge1xcbiAgdmFyIGtleXMgPSBbXTtcXG4gIGZvciAodmFyIGtleSBpbiBvYmopIHtcXG4gICAga2V5cy5wdXNoKGtleSk7XFxuICB9cmV0dXJuIGtleXM7XFxufTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IER1cGxleDtcXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciB1dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29yZS11dGlsLWlzICovIFxcXCIuL25vZGVfbW9kdWxlcy9jb3JlLXV0aWwtaXMvbGliL3V0aWwuanNcXFwiKTtcXG51dGlsLmluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgUmVhZGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qc1xcXCIpO1xcbnZhciBXcml0YWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV93cml0YWJsZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXFxcIik7XFxuXFxudXRpbC5pbmhlcml0cyhEdXBsZXgsIFJlYWRhYmxlKTtcXG5cXG57XFxuICAvLyBhdm9pZCBzY29wZSBjcmVlcCwgdGhlIGtleXMgYXJyYXkgY2FuIHRoZW4gYmUgY29sbGVjdGVkXFxuICB2YXIga2V5cyA9IG9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKTtcXG4gIGZvciAodmFyIHYgPSAwOyB2IDwga2V5cy5sZW5ndGg7IHYrKykge1xcbiAgICB2YXIgbWV0aG9kID0ga2V5c1t2XTtcXG4gICAgaWYgKCFEdXBsZXgucHJvdG90eXBlW21ldGhvZF0pIER1cGxleC5wcm90b3R5cGVbbWV0aG9kXSA9IFdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBEdXBsZXgob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHJldHVybiBuZXcgRHVwbGV4KG9wdGlvbnMpO1xcblxcbiAgUmVhZGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcXG4gIFdyaXRhYmxlLmNhbGwodGhpcywgb3B0aW9ucyk7XFxuXFxuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLnJlYWRhYmxlID09PSBmYWxzZSkgdGhpcy5yZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy53cml0YWJsZSA9PT0gZmFsc2UpIHRoaXMud3JpdGFibGUgPSBmYWxzZTtcXG5cXG4gIHRoaXMuYWxsb3dIYWxmT3BlbiA9IHRydWU7XFxuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB0aGlzLmFsbG93SGFsZk9wZW4gPSBmYWxzZTtcXG5cXG4gIHRoaXMub25jZSgnZW5kJywgb25lbmQpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSwgJ3dyaXRhYmxlSGlnaFdhdGVyTWFyaycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIH1cXG59KTtcXG5cXG4vLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXFxuZnVuY3Rpb24gb25lbmQoKSB7XFxuICAvLyBpZiB3ZSBhbGxvdyBoYWxmLW9wZW4gc3RhdGUsIG9yIGlmIHRoZSB3cml0YWJsZSBzaWRlIGVuZGVkLFxcbiAgLy8gdGhlbiB3ZSdyZSBvay5cXG4gIGlmICh0aGlzLmFsbG93SGFsZk9wZW4gfHwgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCkgcmV0dXJuO1xcblxcbiAgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxcbiAgLy8gQnV0IGFsbG93IG1vcmUgd3JpdGVzIHRvIGhhcHBlbiBpbiB0aGlzIHRpY2suXFxuICBwbmEubmV4dFRpY2sob25FbmROVCwgdGhpcyk7XFxufVxcblxcbmZ1bmN0aW9uIG9uRW5kTlQoc2VsZikge1xcbiAgc2VsZi5lbmQoKTtcXG59XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcXG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICB9XFxufSk7XFxuXFxuRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XFxuICB0aGlzLnB1c2gobnVsbCk7XFxuICB0aGlzLmVuZCgpO1xcblxcbiAgcG5hLm5leHRUaWNrKGNiLCBlcnIpO1xcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmWkhWd2JHVjRMbXB6UHpWbVpqTWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRllUczdRVUZGWWpzN1FVRkZRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNNRVZCUVhOQ08wRkJRM2hET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUkVGQll6dEJRVU5xUXl4blFrRkJaMElzYlVKQlFVOHNRMEZCUXl3MlJFRkJWVHRCUVVOc1F6czdRVUZGUVN4bFFVRmxMRzFDUVVGUExFTkJRVU1zYTBaQlFXOUNPMEZCUXpORExHVkJRV1VzYlVKQlFVOHNRMEZCUXl4clJrRkJiMEk3TzBGQlJUTkRPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdsQ1FVRnBRaXhwUWtGQmFVSTdRVUZEYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZYM04wY21WaGJWOWtkWEJzWlhndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1THk4Z1lTQmtkWEJzWlhnZ2MzUnlaV0Z0SUdseklHcDFjM1FnWVNCemRISmxZVzBnZEdoaGRDQnBjeUJpYjNSb0lISmxZV1JoWW14bElHRnVaQ0IzY21sMFlXSnNaUzVjYmk4dklGTnBibU5sSUVwVElHUnZaWE51SjNRZ2FHRjJaU0J0ZFd4MGFYQnNaU0J3Y205MGIzUjVjR0ZzSUdsdWFHVnlhWFJoYm1ObExDQjBhR2x6SUdOc1lYTnpYRzR2THlCd2NtOTBiM1I1Y0dGc2JIa2dhVzVvWlhKcGRITWdabkp2YlNCU1pXRmtZV0pzWlN3Z1lXNWtJSFJvWlc0Z2NHRnlZWE5wZEdsallXeHNlU0JtY205dFhHNHZMeUJYY21sMFlXSnNaUzVjYmx4dUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnY0c1aElEMGdjbVZ4ZFdseVpTZ25jSEp2WTJWemN5MXVaWGgwYVdOckxXRnlaM01uS1R0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlHOWlhbVZqZEV0bGVYTWdQU0JQWW1wbFkzUXVhMlY1Y3lCOGZDQm1kVzVqZEdsdmJpQW9iMkpxS1NCN1hHNGdJSFpoY2lCclpYbHpJRDBnVzEwN1hHNGdJR1p2Y2lBb2RtRnlJR3RsZVNCcGJpQnZZbW9wSUh0Y2JpQWdJQ0JyWlhsekxuQjFjMmdvYTJWNUtUdGNiaUFnZlhKbGRIVnliaUJyWlhsek8xeHVmVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlFUjFjR3hsZUR0Y2JseHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNiblpoY2lCMWRHbHNJRDBnY21WeGRXbHlaU2duWTI5eVpTMTFkR2xzTFdsekp5azdYRzUxZEdsc0xtbHVhR1Z5YVhSeklEMGdjbVZ4ZFdseVpTZ25hVzVvWlhKcGRITW5LVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnVW1WaFpHRmliR1VnUFNCeVpYRjFhWEpsS0NjdUwxOXpkSEpsWVcxZmNtVmhaR0ZpYkdVbktUdGNiblpoY2lCWGNtbDBZV0pzWlNBOUlISmxjWFZwY21Vb0p5NHZYM04wY21WaGJWOTNjbWwwWVdKc1pTY3BPMXh1WEc1MWRHbHNMbWx1YUdWeWFYUnpLRVIxY0d4bGVDd2dVbVZoWkdGaWJHVXBPMXh1WEc1N1hHNGdJQzh2SUdGMmIybGtJSE5qYjNCbElHTnlaV1Z3TENCMGFHVWdhMlY1Y3lCaGNuSmhlU0JqWVc0Z2RHaGxiaUJpWlNCamIyeHNaV04wWldSY2JpQWdkbUZ5SUd0bGVYTWdQU0J2WW1wbFkzUkxaWGx6S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlNrN1hHNGdJR1p2Y2lBb2RtRnlJSFlnUFNBd095QjJJRHdnYTJWNWN5NXNaVzVuZEdnN0lIWXJLeWtnZTF4dUlDQWdJSFpoY2lCdFpYUm9iMlFnUFNCclpYbHpXM1pkTzF4dUlDQWdJR2xtSUNnaFJIVndiR1Y0TG5CeWIzUnZkSGx3WlZ0dFpYUm9iMlJkS1NCRWRYQnNaWGd1Y0hKdmRHOTBlWEJsVzIxbGRHaHZaRjBnUFNCWGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dWYmJXVjBhRzlrWFR0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkVkWEJzWlhnb2IzQjBhVzl1Y3lrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1JIVndiR1Y0S1NrZ2NtVjBkWEp1SUc1bGR5QkVkWEJzWlhnb2IzQjBhVzl1Y3lrN1hHNWNiaUFnVW1WaFpHRmliR1V1WTJGc2JDaDBhR2x6TENCdmNIUnBiMjV6S1R0Y2JpQWdWM0pwZEdGaWJHVXVZMkZzYkNoMGFHbHpMQ0J2Y0hScGIyNXpLVHRjYmx4dUlDQnBaaUFvYjNCMGFXOXVjeUFtSmlCdmNIUnBiMjV6TG5KbFlXUmhZbXhsSUQwOVBTQm1ZV3h6WlNrZ2RHaHBjeTV5WldGa1lXSnNaU0E5SUdaaGJITmxPMXh1WEc0Z0lHbG1JQ2h2Y0hScGIyNXpJQ1ltSUc5d2RHbHZibk11ZDNKcGRHRmliR1VnUFQwOUlHWmhiSE5sS1NCMGFHbHpMbmR5YVhSaFlteGxJRDBnWm1Gc2MyVTdYRzVjYmlBZ2RHaHBjeTVoYkd4dmQwaGhiR1pQY0dWdUlEMGdkSEoxWlR0Y2JpQWdhV1lnS0c5d2RHbHZibk1nSmlZZ2IzQjBhVzl1Y3k1aGJHeHZkMGhoYkdaUGNHVnVJRDA5UFNCbVlXeHpaU2tnZEdocGN5NWhiR3h2ZDBoaGJHWlBjR1Z1SUQwZ1ptRnNjMlU3WEc1Y2JpQWdkR2hwY3k1dmJtTmxLQ2RsYm1RbkxDQnZibVZ1WkNrN1hHNTlYRzVjYms5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaEVkWEJzWlhndWNISnZkRzkwZVhCbExDQW5kM0pwZEdGaWJHVklhV2RvVjJGMFpYSk5ZWEpySnl3Z2UxeHVJQ0F2THlCdFlXdHBibWNnYVhRZ1pYaHdiR2xqYVhRZ2RHaHBjeUJ3Y205d1pYSjBlU0JwY3lCdWIzUWdaVzUxYldWeVlXSnNaVnh1SUNBdkx5QmlaV05oZFhObElHOTBhR1Z5ZDJselpTQnpiMjFsSUhCeWIzUnZkSGx3WlNCdFlXNXBjSFZzWVhScGIyNGdhVzVjYmlBZ0x5OGdkWE5sY214aGJtUWdkMmxzYkNCbVlXbHNYRzRnSUdWdWRXMWxjbUZpYkdVNklHWmhiSE5sTEZ4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCOVhHNTlLVHRjYmx4dUx5OGdkR2hsSUc1dkxXaGhiR1l0YjNCbGJpQmxibVp2Y21ObGNseHVablZ1WTNScGIyNGdiMjVsYm1Rb0tTQjdYRzRnSUM4dklHbG1JSGRsSUdGc2JHOTNJR2hoYkdZdGIzQmxiaUJ6ZEdGMFpTd2diM0lnYVdZZ2RHaGxJSGR5YVhSaFlteGxJSE5wWkdVZ1pXNWtaV1FzWEc0Z0lDOHZJSFJvWlc0Z2QyVW5jbVVnYjJzdVhHNGdJR2xtSUNoMGFHbHpMbUZzYkc5M1NHRnNaazl3Wlc0Z2ZId2dkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVsYm1SbFpDa2djbVYwZFhKdU8xeHVYRzRnSUM4dklHNXZJRzF2Y21VZ1pHRjBZU0JqWVc0Z1ltVWdkM0pwZEhSbGJpNWNiaUFnTHk4Z1FuVjBJR0ZzYkc5M0lHMXZjbVVnZDNKcGRHVnpJSFJ2SUdoaGNIQmxiaUJwYmlCMGFHbHpJSFJwWTJzdVhHNGdJSEJ1WVM1dVpYaDBWR2xqYXlodmJrVnVaRTVVTENCMGFHbHpLVHRjYm4xY2JseHVablZ1WTNScGIyNGdiMjVGYm1ST1ZDaHpaV3htS1NCN1hHNGdJSE5sYkdZdVpXNWtLQ2s3WEc1OVhHNWNiazlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoRWRYQnNaWGd1Y0hKdmRHOTBlWEJsTENBblpHVnpkSEp2ZVdWa0p5d2dlMXh1SUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTQTlQVDBnZFc1a1pXWnBibVZrSUh4OElIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlM1a1pYTjBjbTk1WldRZ0ppWWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVrWlhOMGNtOTVaV1E3WEc0Z0lIMHNYRzRnSUhObGREb2dablZ1WTNScGIyNGdLSFpoYkhWbEtTQjdYRzRnSUNBZ0x5OGdkMlVnYVdkdWIzSmxJSFJvWlNCMllXeDFaU0JwWmlCMGFHVWdjM1J5WldGdFhHNGdJQ0FnTHk4Z2FHRnpJRzV2ZENCaVpXVnVJR2x1YVhScFlXeHBlbVZrSUhsbGRGeHVJQ0FnSUdsbUlDaDBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJRDA5UFNCMWJtUmxabWx1WldRZ2ZId2dkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ltRmphM2RoY21RZ1kyOXRjR0YwYVdKcGJHbDBlU3dnZEdobElIVnpaWElnYVhNZ1pYaHdiR2xqYVhSc2VWeHVJQ0FnSUM4dklHMWhibUZuYVc1bklHUmxjM1J5YjNsbFpGeHVJQ0FnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJQ0FnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1a1pYTjBjbTk1WldRZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1ZlNrN1hHNWNia1IxY0d4bGVDNXdjbTkwYjNSNWNHVXVYMlJsYzNSeWIza2dQU0JtZFc1amRHbHZiaUFvWlhKeUxDQmpZaWtnZTF4dUlDQjBhR2x6TG5CMWMyZ29iblZzYkNrN1hHNGdJSFJvYVhNdVpXNWtLQ2s3WEc1Y2JpQWdjRzVoTG01bGVIUlVhV05yS0dOaUxDQmxjbklwTzF4dWZUc2lYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcbi8vIGEgcGFzc3Rocm91Z2ggc3RyZWFtLlxcbi8vIGJhc2ljYWxseSBqdXN0IHRoZSBtb3N0IG1pbmltYWwgc29ydCBvZiBUcmFuc2Zvcm0gc3RyZWFtLlxcbi8vIEV2ZXJ5IHdyaXR0ZW4gY2h1bmsgZ2V0cyBvdXRwdXQgYXMtaXMuXFxuXFxuXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBQYXNzVGhyb3VnaDtcXG5cXG52YXIgVHJhbnNmb3JtID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX3RyYW5zZm9ybSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qc1xcXCIpO1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIHV0aWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb3JlLXV0aWwtaXMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvcmUtdXRpbC1pcy9saWIvdXRpbC5qc1xcXCIpO1xcbnV0aWwuaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbnV0aWwuaW5oZXJpdHMoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XFxuXFxuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcXG5cXG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xcbn1cXG5cXG5QYXNzVGhyb3VnaC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICBjYihudWxsLCBjaHVuayk7XFxufTsvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMTl6ZEhKbFlXMWZjR0Z6YzNSb2NtOTFaMmd1YW5NL1l6UXpOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGWVRzN1FVRkZZanM3UVVGRlFTeG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5eHZSa0ZCY1VJN08wRkJSVGRETzBGQlEwRXNWMEZCVnl4dFFrRkJUeXhEUVVGRExEWkVRVUZqTzBGQlEycERMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnhET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlmYzNSeVpXRnRYM0JoYzNOMGFISnZkV2RvTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHk4Z1EyOXdlWEpwWjJoMElFcHZlV1Z1ZEN3Z1NXNWpMaUJoYm1RZ2IzUm9aWElnVG05a1pTQmpiMjUwY21saWRYUnZjbk11WEc0dkwxeHVMeThnVUdWeWJXbHpjMmx2YmlCcGN5Qm9aWEpsWW5rZ1ozSmhiblJsWkN3Z1puSmxaU0J2WmlCamFHRnlaMlVzSUhSdklHRnVlU0J3WlhKemIyNGdiMkowWVdsdWFXNW5JR0ZjYmk4dklHTnZjSGtnYjJZZ2RHaHBjeUJ6YjJaMGQyRnlaU0JoYm1RZ1lYTnpiMk5wWVhSbFpDQmtiMk4xYldWdWRHRjBhVzl1SUdacGJHVnpJQ2gwYUdWY2JpOHZJRndpVTI5bWRIZGhjbVZjSWlrc0lIUnZJR1JsWVd3Z2FXNGdkR2hsSUZOdlpuUjNZWEpsSUhkcGRHaHZkWFFnY21WemRISnBZM1JwYjI0c0lHbHVZMngxWkdsdVoxeHVMeThnZDJsMGFHOTFkQ0JzYVcxcGRHRjBhVzl1SUhSb1pTQnlhV2RvZEhNZ2RHOGdkWE5sTENCamIzQjVMQ0J0YjJScFpua3NJRzFsY21kbExDQndkV0pzYVhOb0xGeHVMeThnWkdsemRISnBZblYwWlN3Z2MzVmliR2xqWlc1elpTd2dZVzVrTDI5eUlITmxiR3dnWTI5d2FXVnpJRzltSUhSb1pTQlRiMlowZDJGeVpTd2dZVzVrSUhSdklIQmxjbTFwZEZ4dUx5OGdjR1Z5YzI5dWN5QjBieUIzYUc5dElIUm9aU0JUYjJaMGQyRnlaU0JwY3lCbWRYSnVhWE5vWldRZ2RHOGdaRzhnYzI4c0lITjFZbXBsWTNRZ2RHOGdkR2hsWEc0dkx5Qm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjenBjYmk4dlhHNHZMeUJVYUdVZ1lXSnZkbVVnWTI5d2VYSnBaMmgwSUc1dmRHbGpaU0JoYm1RZ2RHaHBjeUJ3WlhKdGFYTnphVzl1SUc1dmRHbGpaU0J6YUdGc2JDQmlaU0JwYm1Oc2RXUmxaRnh1THk4Z2FXNGdZV3hzSUdOdmNHbGxjeUJ2Y2lCemRXSnpkR0Z1ZEdsaGJDQndiM0owYVc5dWN5QnZaaUIwYUdVZ1UyOW1kSGRoY21VdVhHNHZMMXh1THk4Z1ZFaEZJRk5QUmxSWFFWSkZJRWxUSUZCU1QxWkpSRVZFSUZ3aVFWTWdTVk5jSWl3Z1YwbFVTRTlWVkNCWFFWSlNRVTVVV1NCUFJpQkJUbGtnUzBsT1JDd2dSVmhRVWtWVFUxeHVMeThnVDFJZ1NVMVFURWxGUkN3Z1NVNURURlZFU1U1SElFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5QlVTRVVnVjBGU1VrRk9WRWxGVXlCUFJseHVMeThnVFVWU1EwaEJUbFJCUWtsTVNWUlpMQ0JHU1ZST1JWTlRJRVpQVWlCQklGQkJVbFJKUTFWTVFWSWdVRlZTVUU5VFJTQkJUa1FnVGs5T1NVNUdVa2xPUjBWTlJVNVVMaUJKVGx4dUx5OGdUazhnUlZaRlRsUWdVMGhCVEV3Z1ZFaEZJRUZWVkVoUFVsTWdUMUlnUTA5UVdWSkpSMGhVSUVoUFRFUkZVbE1nUWtVZ1RFbEJRa3hGSUVaUFVpQkJUbGtnUTB4QlNVMHNYRzR2THlCRVFVMUJSMFZUSUU5U0lFOVVTRVZTSUV4SlFVSkpURWxVV1N3Z1YwaEZWRWhGVWlCSlRpQkJUaUJCUTFSSlQwNGdUMFlnUTA5T1ZGSkJRMVFzSUZSUFVsUWdUMUpjYmk4dklFOVVTRVZTVjBsVFJTd2dRVkpKVTBsT1J5QkdVazlOTENCUFZWUWdUMFlnVDFJZ1NVNGdRMDlPVGtWRFZFbFBUaUJYU1ZSSUlGUklSU0JUVDBaVVYwRlNSU0JQVWlCVVNFVmNiaTh2SUZWVFJTQlBVaUJQVkVoRlVpQkVSVUZNU1U1SFV5QkpUaUJVU0VVZ1UwOUdWRmRCVWtVdVhHNWNiaTh2SUdFZ2NHRnpjM1JvY205MVoyZ2djM1J5WldGdExseHVMeThnWW1GemFXTmhiR3g1SUdwMWMzUWdkR2hsSUcxdmMzUWdiV2x1YVcxaGJDQnpiM0owSUc5bUlGUnlZVzV6Wm05eWJTQnpkSEpsWVcwdVhHNHZMeUJGZG1WeWVTQjNjbWwwZEdWdUlHTm9kVzVySUdkbGRITWdiM1YwY0hWMElHRnpMV2x6TGx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1VHRnpjMVJvY205MVoyZzdYRzVjYm5aaGNpQlVjbUZ1YzJadmNtMGdQU0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmZEhKaGJuTm1iM0p0SnlrN1hHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ2RYUnBiQ0E5SUhKbGNYVnBjbVVvSjJOdmNtVXRkWFJwYkMxcGN5Y3BPMXh1ZFhScGJDNXBibWhsY21sMGN5QTlJSEpsY1hWcGNtVW9KMmx1YUdWeWFYUnpKeWs3WEc0dktqd3ZjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVkWFJwYkM1cGJtaGxjbWwwY3loUVlYTnpWR2h5YjNWbmFDd2dWSEpoYm5ObWIzSnRLVHRjYmx4dVpuVnVZM1JwYjI0Z1VHRnpjMVJvY205MVoyZ29iM0IwYVc5dWN5a2dlMXh1SUNCcFppQW9JU2gwYUdseklHbHVjM1JoYm1ObGIyWWdVR0Z6YzFSb2NtOTFaMmdwS1NCeVpYUjFjbTRnYm1WM0lGQmhjM05VYUhKdmRXZG9LRzl3ZEdsdmJuTXBPMXh1WEc0Z0lGUnlZVzV6Wm05eWJTNWpZV3hzS0hSb2FYTXNJRzl3ZEdsdmJuTXBPMXh1ZlZ4dVhHNVFZWE56VkdoeWIzVm5hQzV3Y205MGIzUjVjR1V1WDNSeVlXNXpabTl5YlNBOUlHWjFibU4wYVc5dUlDaGphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLU0I3WEc0Z0lHTmlLRzUxYkd3c0lHTm9kVzVyS1R0Y2JuMDdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqLyhmdW5jdGlvbihnbG9iYWwsIHByb2Nlc3MpIHsvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBwbmEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwcm9jZXNzLW5leHRpY2stYXJncyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvaW5kZXguanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWRhYmxlO1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIGlzQXJyYXkgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpc2FycmF5ICovIFxcXCIuL25vZGVfbW9kdWxlcy9pc2FycmF5L2luZGV4LmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgRHVwbGV4O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcblJlYWRhYmxlLlJlYWRhYmxlU3RhdGUgPSBSZWFkYWJsZVN0YXRlO1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIEVFID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZlbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxcIikuRXZlbnRFbWl0dGVyO1xcblxcbnZhciBFRWxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiAoZW1pdHRlciwgdHlwZSkge1xcbiAgcmV0dXJuIGVtaXR0ZXIubGlzdGVuZXJzKHR5cGUpLmxlbmd0aDtcXG59O1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIFN0cmVhbSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qc1xcXCIpO1xcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxuXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlcjtcXG52YXIgT3VyVWludDhBcnJheSA9IGdsb2JhbC5VaW50OEFycmF5IHx8IGZ1bmN0aW9uICgpIHt9O1xcbmZ1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspIHtcXG4gIHJldHVybiBCdWZmZXIuZnJvbShjaHVuayk7XFxufVxcbmZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkob2JqKSB7XFxuICByZXR1cm4gQnVmZmVyLmlzQnVmZmVyKG9iaikgfHwgb2JqIGluc3RhbmNlb2YgT3VyVWludDhBcnJheTtcXG59XFxuXFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtdXRpbC1pcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzXFxcIik7XFxudXRpbC5pbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgZGVidWdVdGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdXRpbCAqLyAyKTtcXG52YXIgZGVidWcgPSB2b2lkIDA7XFxuaWYgKGRlYnVnVXRpbCAmJiBkZWJ1Z1V0aWwuZGVidWdsb2cpIHtcXG4gIGRlYnVnID0gZGVidWdVdGlsLmRlYnVnbG9nKCdzdHJlYW0nKTtcXG59IGVsc2Uge1xcbiAgZGVidWcgPSBmdW5jdGlvbiAoKSB7fTtcXG59XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxudmFyIEJ1ZmZlckxpc3QgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL0J1ZmZlckxpc3QuanNcXFwiKTtcXG52YXIgZGVzdHJveUltcGwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcXFwiKTtcXG52YXIgU3RyaW5nRGVjb2RlcjtcXG5cXG51dGlsLmluaGVyaXRzKFJlYWRhYmxlLCBTdHJlYW0pO1xcblxcbnZhciBrUHJveHlFdmVudHMgPSBbJ2Vycm9yJywgJ2Nsb3NlJywgJ2Rlc3Ryb3knLCAncGF1c2UnLCAncmVzdW1lJ107XFxuXFxuZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGVtaXR0ZXIsIGV2ZW50LCBmbikge1xcbiAgLy8gU2FkbHkgdGhpcyBpcyBub3QgY2FjaGVhYmxlIGFzIHNvbWUgbGlicmFyaWVzIGJ1bmRsZSB0aGVpciBvd25cXG4gIC8vIGV2ZW50IGVtaXR0ZXIgaW1wbGVtZW50YXRpb24gd2l0aCB0aGVtLlxcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyKGV2ZW50LCBmbik7XFxuXFxuICAvLyBUaGlzIGlzIGEgaGFjayB0byBtYWtlIHN1cmUgdGhhdCBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgYW55XFxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcXG4gIC8vIHRvIGNvbnRpbnVlIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBOb2RlLmpzIHRoYXQgZG8gbm90IGluY2x1ZGVcXG4gIC8vIHRoZSBwcmVwZW5kTGlzdGVuZXIoKSBtZXRob2QuIFRoZSBnb2FsIGlzIHRvIGV2ZW50dWFsbHkgcmVtb3ZlIHRoaXMgaGFjay5cXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xcbn1cXG5cXG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSkge1xcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG5cXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xcblxcbiAgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXFxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cXG4gIHZhciBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcXG5cXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXFxuICAvLyBtYWtlIGFsbCB0aGUgYnVmZmVyIG1lcmdpbmcgYW5kIGxlbmd0aCBjaGVja3MgZ28gYXdheVxcbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XFxuXFxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlO1xcblxcbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIGl0IHN0b3BzIGNhbGxpbmcgX3JlYWQoKSB0byBmaWxsIHRoZSBidWZmZXJcXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgXFxcImRvbid0IGNhbGwgX3JlYWQgcHJlZW1wdGl2ZWx5IGV2ZXJcXFwiXFxuICB2YXIgaHdtID0gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrO1xcbiAgdmFyIHJlYWRhYmxlSHdtID0gb3B0aW9ucy5yZWFkYWJsZUhpZ2hXYXRlck1hcms7XFxuICB2YXIgZGVmYXVsdEh3bSA9IHRoaXMub2JqZWN0TW9kZSA/IDE2IDogMTYgKiAxMDI0O1xcblxcbiAgaWYgKGh3bSB8fCBod20gPT09IDApIHRoaXMuaGlnaFdhdGVyTWFyayA9IGh3bTtlbHNlIGlmIChpc0R1cGxleCAmJiAocmVhZGFibGVId20gfHwgcmVhZGFibGVId20gPT09IDApKSB0aGlzLmhpZ2hXYXRlck1hcmsgPSByZWFkYWJsZUh3bTtlbHNlIHRoaXMuaGlnaFdhdGVyTWFyayA9IGRlZmF1bHRId207XFxuXFxuICAvLyBjYXN0IHRvIGludHMuXFxuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSBNYXRoLmZsb29yKHRoaXMuaGlnaFdhdGVyTWFyayk7XFxuXFxuICAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxcbiAgLy8gbGlua2VkIGxpc3QgY2FuIHJlbW92ZSBlbGVtZW50cyBmcm9tIHRoZSBiZWdpbm5pbmcgZmFzdGVyIHRoYW5cXG4gIC8vIGFycmF5LnNoaWZ0KClcXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcXG4gIHRoaXMubGVuZ3RoID0gMDtcXG4gIHRoaXMucGlwZXMgPSBudWxsO1xcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcXG4gIHRoaXMuZmxvd2luZyA9IG51bGw7XFxuICB0aGlzLmVuZGVkID0gZmFsc2U7XFxuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcXG4gIHRoaXMucmVhZGluZyA9IGZhbHNlO1xcblxcbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxcbiAgLy8gaW1tZWRpYXRlbHksIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2VcXG4gIC8vIGFueSBhY3Rpb25zIHRoYXQgc2hvdWxkbid0IGhhcHBlbiB1bnRpbCBcXFwibGF0ZXJcXFwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xcbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHJlYWQgY2FsbC5cXG4gIHRoaXMuc3luYyA9IHRydWU7XFxuXFxuICAvLyB3aGVuZXZlciB3ZSByZXR1cm4gbnVsbCwgdGhlbiB3ZSBzZXQgYSBmbGFnIHRvIHNheVxcbiAgLy8gdGhhdCB3ZSdyZSBhd2FpdGluZyBhICdyZWFkYWJsZScgZXZlbnQgZW1pc3Npb24uXFxuICB0aGlzLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgdGhpcy5lbWl0dGVkUmVhZGFibGUgPSBmYWxzZTtcXG4gIHRoaXMucmVhZGFibGVMaXN0ZW5pbmcgPSBmYWxzZTtcXG4gIHRoaXMucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XFxuXFxuICAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7XFxuXFxuICAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXFxuICAvLyBlbmNvZGluZyBpcyAnYmluYXJ5JyBzbyB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBjb25maWd1cmFibGUuXFxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaW4gdGhlIHVuaXZlcnNlIHVzZXMgJ3V0ZjgnLCB0aG91Z2guXFxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JztcXG5cXG4gIC8vIHRoZSBudW1iZXIgb2Ygd3JpdGVycyB0aGF0IGFyZSBhd2FpdGluZyBhIGRyYWluIGV2ZW50IGluIC5waXBlKClzXFxuICB0aGlzLmF3YWl0RHJhaW4gPSAwO1xcblxcbiAgLy8gaWYgdHJ1ZSwgYSBtYXliZVJlYWRNb3JlIGhhcyBiZWVuIHNjaGVkdWxlZFxcbiAgdGhpcy5yZWFkaW5nTW9yZSA9IGZhbHNlO1xcblxcbiAgdGhpcy5kZWNvZGVyID0gbnVsbDtcXG4gIHRoaXMuZW5jb2RpbmcgPSBudWxsO1xcbiAgaWYgKG9wdGlvbnMuZW5jb2RpbmcpIHtcXG4gICAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIvICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanNcXFwiKS5TdHJpbmdEZWNvZGVyO1xcbiAgICB0aGlzLmRlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihvcHRpb25zLmVuY29kaW5nKTtcXG4gICAgdGhpcy5lbmNvZGluZyA9IG9wdGlvbnMuZW5jb2Rpbmc7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIFJlYWRhYmxlKG9wdGlvbnMpIHtcXG4gIER1cGxleCA9IER1cGxleCB8fCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fZHVwbGV4ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuXFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKSByZXR1cm4gbmV3IFJlYWRhYmxlKG9wdGlvbnMpO1xcblxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZSA9IG5ldyBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMpO1xcblxcbiAgLy8gbGVnYWN5XFxuICB0aGlzLnJlYWRhYmxlID0gdHJ1ZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5yZWFkID09PSAnZnVuY3Rpb24nKSB0aGlzLl9yZWFkID0gb3B0aW9ucy5yZWFkO1xcblxcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZGVzdHJveSA9IG9wdGlvbnMuZGVzdHJveTtcXG4gIH1cXG5cXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xcbn1cXG5cXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICAgIH1cXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xcbiAgfSxcXG4gIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XFxuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxcbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XFxuICAgIGlmICghdGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICAgIHJldHVybjtcXG4gICAgfVxcblxcbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XFxuICAgIC8vIG1hbmFnaW5nIGRlc3Ryb3llZFxcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xcbiAgfVxcbn0pO1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLnVuZGVzdHJveTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgdGhpcy5wdXNoKG51bGwpO1xcbiAgY2IoZXJyKTtcXG59O1xcblxcbi8vIE1hbnVhbGx5IHNob3ZlIHNvbWV0aGluZyBpbnRvIHRoZSByZWFkKCkgYnVmZmVyLlxcbi8vIFRoaXMgcmV0dXJucyB0cnVlIGlmIHRoZSBoaWdoV2F0ZXJNYXJrIGhhcyBub3QgYmVlbiBoaXQgeWV0LFxcbi8vIHNpbWlsYXIgdG8gaG93IFdyaXRhYmxlLndyaXRlKCkgcmV0dXJucyB0cnVlIGlmIHlvdSBzaG91bGRcXG4vLyB3cml0ZSgpIHNvbWUgbW9yZS5cXG5SZWFkYWJsZS5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgc2tpcENodW5rQ2hlY2s7XFxuXFxuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUpIHtcXG4gICAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycpIHtcXG4gICAgICBlbmNvZGluZyA9IGVuY29kaW5nIHx8IHN0YXRlLmRlZmF1bHRFbmNvZGluZztcXG4gICAgICBpZiAoZW5jb2RpbmcgIT09IHN0YXRlLmVuY29kaW5nKSB7XFxuICAgICAgICBjaHVuayA9IEJ1ZmZlci5mcm9tKGNodW5rLCBlbmNvZGluZyk7XFxuICAgICAgICBlbmNvZGluZyA9ICcnO1xcbiAgICAgIH1cXG4gICAgICBza2lwQ2h1bmtDaGVjayA9IHRydWU7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBlbmNvZGluZywgZmFsc2UsIHNraXBDaHVua0NoZWNrKTtcXG59O1xcblxcbi8vIFVuc2hpZnQgc2hvdWxkICphbHdheXMqIGJlIHNvbWV0aGluZyBkaXJlY3RseSBvdXQgb2YgcmVhZCgpXFxuUmVhZGFibGUucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiAoY2h1bmspIHtcXG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBudWxsLCB0cnVlLCBmYWxzZSk7XFxufTtcXG5cXG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgaWYgKGNodW5rID09PSBudWxsKSB7XFxuICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcXG4gICAgb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciBlcjtcXG4gICAgaWYgKCFza2lwQ2h1bmtDaGVjaykgZXIgPSBjaHVua0ludmFsaWQoc3RhdGUsIGNodW5rKTtcXG4gICAgaWYgKGVyKSB7XFxuICAgICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgICB9IGVsc2UgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsgJiYgY2h1bmsubGVuZ3RoID4gMCkge1xcbiAgICAgIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmICFzdGF0ZS5vYmplY3RNb2RlICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihjaHVuaykgIT09IEJ1ZmZlci5wcm90b3R5cGUpIHtcXG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XFxuICAgICAgfVxcblxcbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XFxuICAgICAgICBpZiAoc3RhdGUuZW5kRW1pdHRlZCkgc3RyZWFtLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCdzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCcpKTtlbHNlIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCB0cnVlKTtcXG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmVuZGVkKSB7XFxuICAgICAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ3N0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GJykpO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBzdGF0ZS5yZWFkaW5nID0gZmFsc2U7XFxuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcXG4gICAgICAgICAgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLndyaXRlKGNodW5rKTtcXG4gICAgICAgICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgfHwgY2h1bmsubGVuZ3RoICE9PSAwKSBhZGRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgZmFsc2UpO2Vsc2UgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgIGFkZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBmYWxzZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcbiAgICB9IGVsc2UgaWYgKCFhZGRUb0Zyb250KSB7XFxuICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xcbiAgICB9XFxuICB9XFxuXFxuICByZXR1cm4gbmVlZE1vcmVEYXRhKHN0YXRlKTtcXG59XFxuXFxuZnVuY3Rpb24gYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGFkZFRvRnJvbnQpIHtcXG4gIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCA9PT0gMCAmJiAhc3RhdGUuc3luYykge1xcbiAgICBzdHJlYW0uZW1pdCgnZGF0YScsIGNodW5rKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyB1cGRhdGUgdGhlIGJ1ZmZlciBpbmZvLlxcbiAgICBzdGF0ZS5sZW5ndGggKz0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XFxuICAgIGlmIChhZGRUb0Zyb250KSBzdGF0ZS5idWZmZXIudW5zaGlmdChjaHVuayk7ZWxzZSBzdGF0ZS5idWZmZXIucHVzaChjaHVuayk7XFxuXFxuICAgIGlmIChzdGF0ZS5uZWVkUmVhZGFibGUpIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xcbiAgfVxcbiAgbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKTtcXG59XFxuXFxuZnVuY3Rpb24gY2h1bmtJbnZhbGlkKHN0YXRlLCBjaHVuaykge1xcbiAgdmFyIGVyO1xcbiAgaWYgKCFfaXNVaW50OEFycmF5KGNodW5rKSAmJiB0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmIGNodW5rICE9PSB1bmRlZmluZWQgJiYgIXN0YXRlLm9iamVjdE1vZGUpIHtcXG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rJyk7XFxuICB9XFxuICByZXR1cm4gZXI7XFxufVxcblxcbi8vIGlmIGl0J3MgcGFzdCB0aGUgaGlnaCB3YXRlciBtYXJrLCB3ZSBjYW4gcHVzaCBpbiBzb21lIG1vcmUuXFxuLy8gQWxzbywgaWYgd2UgaGF2ZSBubyBkYXRhIHlldCwgd2UgY2FuIHN0YW5kIHNvbWVcXG4vLyBtb3JlIGJ5dGVzLiAgVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBjYXNlcyB3aGVyZSBod209MCxcXG4vLyBzdWNoIGFzIHRoZSByZXBsLiAgQWxzbywgaWYgdGhlIHB1c2goKSB0cmlnZ2VyZWQgYVxcbi8vIHJlYWRhYmxlIGV2ZW50LCBhbmQgdGhlIHVzZXIgY2FsbGVkIHJlYWQobGFyZ2VOdW1iZXIpIHN1Y2ggdGhhdFxcbi8vIG5lZWRSZWFkYWJsZSB3YXMgc2V0LCB0aGVuIHdlIG91Z2h0IHRvIHB1c2ggbW9yZSwgc28gdGhhdCBhbm90aGVyXFxuLy8gJ3JlYWRhYmxlJyBldmVudCB3aWxsIGJlIHRyaWdnZXJlZC5cXG5mdW5jdGlvbiBuZWVkTW9yZURhdGEoc3RhdGUpIHtcXG4gIHJldHVybiAhc3RhdGUuZW5kZWQgJiYgKHN0YXRlLm5lZWRSZWFkYWJsZSB8fCBzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCk7XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcXG4gIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPT09IGZhbHNlO1xcbn07XFxuXFxuLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXFxuUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nID0gZnVuY3Rpb24gKGVuYykge1xcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc3RyaW5nX2RlY29kZXIvICovIFxcXCIuL25vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanNcXFwiKS5TdHJpbmdEZWNvZGVyO1xcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2RpbmcgPSBlbmM7XFxuICByZXR1cm4gdGhpcztcXG59O1xcblxcbi8vIERvbid0IHJhaXNlIHRoZSBod20gPiA4TUJcXG52YXIgTUFYX0hXTSA9IDB4ODAwMDAwO1xcbmZ1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pIHtcXG4gIGlmIChuID49IE1BWF9IV00pIHtcXG4gICAgbiA9IE1BWF9IV007XFxuICB9IGVsc2Uge1xcbiAgICAvLyBHZXQgdGhlIG5leHQgaGlnaGVzdCBwb3dlciBvZiAyIHRvIHByZXZlbnQgaW5jcmVhc2luZyBod20gZXhjZXNzaXZlbHkgaW5cXG4gICAgLy8gdGlueSBhbW91bnRzXFxuICAgIG4tLTtcXG4gICAgbiB8PSBuID4+PiAxO1xcbiAgICBuIHw9IG4gPj4+IDI7XFxuICAgIG4gfD0gbiA+Pj4gNDtcXG4gICAgbiB8PSBuID4+PiA4O1xcbiAgICBuIHw9IG4gPj4+IDE2O1xcbiAgICBuKys7XFxuICB9XFxuICByZXR1cm4gbjtcXG59XFxuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcbmZ1bmN0aW9uIGhvd011Y2hUb1JlYWQobiwgc3RhdGUpIHtcXG4gIGlmIChuIDw9IDAgfHwgc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSByZXR1cm4gMDtcXG4gIGlmIChzdGF0ZS5vYmplY3RNb2RlKSByZXR1cm4gMTtcXG4gIGlmIChuICE9PSBuKSB7XFxuICAgIC8vIE9ubHkgZmxvdyBvbmUgYnVmZmVyIGF0IGEgdGltZVxcbiAgICBpZiAoc3RhdGUuZmxvd2luZyAmJiBzdGF0ZS5sZW5ndGgpIHJldHVybiBzdGF0ZS5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDtlbHNlIHJldHVybiBzdGF0ZS5sZW5ndGg7XFxuICB9XFxuICAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cXG4gIGlmIChuID4gc3RhdGUuaGlnaFdhdGVyTWFyaykgc3RhdGUuaGlnaFdhdGVyTWFyayA9IGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKG4pO1xcbiAgaWYgKG4gPD0gc3RhdGUubGVuZ3RoKSByZXR1cm4gbjtcXG4gIC8vIERvbid0IGhhdmUgZW5vdWdoXFxuICBpZiAoIXN0YXRlLmVuZGVkKSB7XFxuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgIHJldHVybiAwO1xcbiAgfVxcbiAgcmV0dXJuIHN0YXRlLmxlbmd0aDtcXG59XFxuXFxuLy8geW91IGNhbiBvdmVycmlkZSBlaXRoZXIgdGhpcyBtZXRob2QsIG9yIHRoZSBhc3luYyBfcmVhZChuKSBiZWxvdy5cXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICBkZWJ1ZygncmVhZCcsIG4pO1xcbiAgbiA9IHBhcnNlSW50KG4sIDEwKTtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgbk9yaWcgPSBuO1xcblxcbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xcblxcbiAgLy8gaWYgd2UncmUgZG9pbmcgcmVhZCgwKSB0byB0cmlnZ2VyIGEgcmVhZGFibGUgZXZlbnQsIGJ1dCB3ZVxcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxcbiAgLy8gdGhlICdyZWFkYWJsZScgZXZlbnQgYW5kIG1vdmUgb24uXFxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5uZWVkUmVhZGFibGUgJiYgKHN0YXRlLmxlbmd0aCA+PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmVuZGVkKSkge1xcbiAgICBkZWJ1ZygncmVhZDogZW1pdFJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO2Vsc2UgZW1pdFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIG4gPSBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKTtcXG5cXG4gIC8vIGlmIHdlJ3ZlIGVuZGVkLCBhbmQgd2UncmUgbm93IGNsZWFyLCB0aGVuIGZpbmlzaCBpdCB1cC5cXG4gIGlmIChuID09PSAwICYmIHN0YXRlLmVuZGVkKSB7XFxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xcbiAgICByZXR1cm4gbnVsbDtcXG4gIH1cXG5cXG4gIC8vIEFsbCB0aGUgYWN0dWFsIGNodW5rIGdlbmVyYXRpb24gbG9naWMgbmVlZHMgdG8gYmVcXG4gIC8vICpiZWxvdyogdGhlIGNhbGwgdG8gX3JlYWQuICBUaGUgcmVhc29uIGlzIHRoYXQgaW4gY2VydGFpblxcbiAgLy8gc3ludGhldGljIHN0cmVhbSBjYXNlcywgc3VjaCBhcyBwYXNzdGhyb3VnaCBzdHJlYW1zLCBfcmVhZFxcbiAgLy8gbWF5IGJlIGEgY29tcGxldGVseSBzeW5jaHJvbm91cyBvcGVyYXRpb24gd2hpY2ggbWF5IGNoYW5nZVxcbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSByZWFkIGJ1ZmZlciwgcHJvdmlkaW5nIGVub3VnaCBkYXRhIHdoZW5cXG4gIC8vIGJlZm9yZSB0aGVyZSB3YXMgKm5vdCogZW5vdWdoLlxcbiAgLy9cXG4gIC8vIFNvLCB0aGUgc3RlcHMgYXJlOlxcbiAgLy8gMS4gRmlndXJlIG91dCB3aGF0IHRoZSBzdGF0ZSBvZiB0aGluZ3Mgd2lsbCBiZSBhZnRlciB3ZSBkb1xcbiAgLy8gYSByZWFkIGZyb20gdGhlIGJ1ZmZlci5cXG4gIC8vXFxuICAvLyAyLiBJZiB0aGF0IHJlc3VsdGluZyBzdGF0ZSB3aWxsIHRyaWdnZXIgYSBfcmVhZCwgdGhlbiBjYWxsIF9yZWFkLlxcbiAgLy8gTm90ZSB0aGF0IHRoaXMgbWF5IGJlIGFzeW5jaHJvbm91cywgb3Igc3luY2hyb25vdXMuICBZZXMsIGl0IGlzXFxuICAvLyBkZWVwbHkgdWdseSB0byB3cml0ZSBBUElzIHRoaXMgd2F5LCBidXQgdGhhdCBzdGlsbCBkb2Vzbid0IG1lYW5cXG4gIC8vIHRoYXQgdGhlIFJlYWRhYmxlIGNsYXNzIHNob3VsZCBiZWhhdmUgaW1wcm9wZXJseSwgYXMgc3RyZWFtcyBhcmVcXG4gIC8vIGRlc2lnbmVkIHRvIGJlIHN5bmMvYXN5bmMgYWdub3N0aWMuXFxuICAvLyBUYWtlIG5vdGUgaWYgdGhlIF9yZWFkIGNhbGwgaXMgc3luYyBvciBhc3luYyAoaWUsIGlmIHRoZSByZWFkIGNhbGxcXG4gIC8vIGhhcyByZXR1cm5lZCB5ZXQpLCBzbyB0aGF0IHdlIGtub3cgd2hldGhlciBvciBub3QgaXQncyBzYWZlIHRvIGVtaXRcXG4gIC8vICdyZWFkYWJsZScgZXRjLlxcbiAgLy9cXG4gIC8vIDMuIEFjdHVhbGx5IHB1bGwgdGhlIHJlcXVlc3RlZCBjaHVua3Mgb3V0IG9mIHRoZSBidWZmZXIgYW5kIHJldHVybi5cXG5cXG4gIC8vIGlmIHdlIG5lZWQgYSByZWFkYWJsZSBldmVudCwgdGhlbiB3ZSBuZWVkIHRvIGRvIHNvbWUgcmVhZGluZy5cXG4gIHZhciBkb1JlYWQgPSBzdGF0ZS5uZWVkUmVhZGFibGU7XFxuICBkZWJ1ZygnbmVlZCByZWFkYWJsZScsIGRvUmVhZCk7XFxuXFxuICAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgfHwgc3RhdGUubGVuZ3RoIC0gbiA8IHN0YXRlLmhpZ2hXYXRlck1hcmspIHtcXG4gICAgZG9SZWFkID0gdHJ1ZTtcXG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcXG4gIH1cXG5cXG4gIC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XFxuICAvLyByZWFkaW5nLCB0aGVuIGl0J3MgdW5uZWNlc3NhcnkuXFxuICBpZiAoc3RhdGUuZW5kZWQgfHwgc3RhdGUucmVhZGluZykge1xcbiAgICBkb1JlYWQgPSBmYWxzZTtcXG4gICAgZGVidWcoJ3JlYWRpbmcgb3IgZW5kZWQnLCBkb1JlYWQpO1xcbiAgfSBlbHNlIGlmIChkb1JlYWQpIHtcXG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcXG4gICAgc3RhdGUucmVhZGluZyA9IHRydWU7XFxuICAgIHN0YXRlLnN5bmMgPSB0cnVlO1xcbiAgICAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxcbiAgICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICAvLyBjYWxsIGludGVybmFsIHJlYWQgbWV0aG9kXFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XFxuICAgIHN0YXRlLnN5bmMgPSBmYWxzZTtcXG4gICAgLy8gSWYgX3JlYWQgcHVzaGVkIGRhdGEgc3luY2hyb25vdXNseSwgdGhlbiBgcmVhZGluZ2Agd2lsbCBiZSBmYWxzZSxcXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxcbiAgICBpZiAoIXN0YXRlLnJlYWRpbmcpIG4gPSBob3dNdWNoVG9SZWFkKG5PcmlnLCBzdGF0ZSk7XFxuICB9XFxuXFxuICB2YXIgcmV0O1xcbiAgaWYgKG4gPiAwKSByZXQgPSBmcm9tTGlzdChuLCBzdGF0ZSk7ZWxzZSByZXQgPSBudWxsO1xcblxcbiAgaWYgKHJldCA9PT0gbnVsbCkge1xcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICBuID0gMDtcXG4gIH0gZWxzZSB7XFxuICAgIHN0YXRlLmxlbmd0aCAtPSBuO1xcbiAgfVxcblxcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkge1xcbiAgICAvLyBJZiB3ZSBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciwgdGhlbiB3ZSB3YW50IHRvIGtub3dcXG4gICAgLy8gYXMgc29vbiBhcyB3ZSAqZG8qIGdldCBzb21ldGhpbmcgaW50byB0aGUgYnVmZmVyLlxcbiAgICBpZiAoIXN0YXRlLmVuZGVkKSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xcblxcbiAgICAvLyBJZiB3ZSB0cmllZCB0byByZWFkKCkgcGFzdCB0aGUgRU9GLCB0aGVuIGVtaXQgZW5kIG9uIHRoZSBuZXh0IHRpY2suXFxuICAgIGlmIChuT3JpZyAhPT0gbiAmJiBzdGF0ZS5lbmRlZCkgZW5kUmVhZGFibGUodGhpcyk7XFxuICB9XFxuXFxuICBpZiAocmV0ICE9PSBudWxsKSB0aGlzLmVtaXQoJ2RhdGEnLCByZXQpO1xcblxcbiAgcmV0dXJuIHJldDtcXG59O1xcblxcbmZ1bmN0aW9uIG9uRW9mQ2h1bmsoc3RyZWFtLCBzdGF0ZSkge1xcbiAgaWYgKHN0YXRlLmVuZGVkKSByZXR1cm47XFxuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xcbiAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xcbiAgICBpZiAoY2h1bmsgJiYgY2h1bmsubGVuZ3RoKSB7XFxuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xcbiAgICAgIHN0YXRlLmxlbmd0aCArPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG4gICAgfVxcbiAgfVxcbiAgc3RhdGUuZW5kZWQgPSB0cnVlO1xcblxcbiAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXFxuICBlbWl0UmVhZGFibGUoc3RyZWFtKTtcXG59XFxuXFxuLy8gRG9uJ3QgZW1pdCByZWFkYWJsZSByaWdodCBhd2F5IGluIHN5bmMgbW9kZSwgYmVjYXVzZSB0aGlzIGNhbiB0cmlnZ2VyXFxuLy8gYW5vdGhlciByZWFkKCkgY2FsbCA9PiBzdGFjayBvdmVyZmxvdy4gIFRoaXMgd2F5LCBpdCBtaWdodCB0cmlnZ2VyXFxuLy8gYSBuZXh0VGljayByZWN1cnNpb24gd2FybmluZywgYnV0IHRoYXQncyBub3Qgc28gYmFkLlxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZShzdHJlYW0pIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcXG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xcbiAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcXG4gICAgZGVidWcoJ2VtaXRSZWFkYWJsZScsIHN0YXRlLmZsb3dpbmcpO1xcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xcbiAgICBpZiAoc3RhdGUuc3luYykgcG5hLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sIHN0cmVhbSk7ZWxzZSBlbWl0UmVhZGFibGVfKHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oc3RyZWFtKSB7XFxuICBkZWJ1ZygnZW1pdCByZWFkYWJsZScpO1xcbiAgc3RyZWFtLmVtaXQoJ3JlYWRhYmxlJyk7XFxuICBmbG93KHN0cmVhbSk7XFxufVxcblxcbi8vIGF0IHRoaXMgcG9pbnQsIHRoZSB1c2VyIGhhcyBwcmVzdW1hYmx5IHNlZW4gdGhlICdyZWFkYWJsZScgZXZlbnQsXFxuLy8gYW5kIGNhbGxlZCByZWFkKCkgdG8gY29uc3VtZSBzb21lIGRhdGEuICB0aGF0IG1heSBoYXZlIHRyaWdnZXJlZFxcbi8vIGluIHR1cm4gYW5vdGhlciBfcmVhZChuKSBjYWxsLCBpbiB3aGljaCBjYXNlIHJlYWRpbmcgPSB0cnVlIGlmXFxuLy8gaXQncyBpbiBwcm9ncmVzcy5cXG4vLyBIb3dldmVyLCBpZiB3ZSdyZSBub3QgZW5kZWQsIG9yIHJlYWRpbmcsIGFuZCB0aGUgbGVuZ3RoIDwgaHdtLFxcbi8vIHRoZW4gZ28gYWhlYWQgYW5kIHRyeSB0byByZWFkIHNvbWUgbW9yZSBwcmVlbXB0aXZlbHkuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlYWRpbmdNb3JlKSB7XFxuICAgIHN0YXRlLnJlYWRpbmdNb3JlID0gdHJ1ZTtcXG4gICAgcG5hLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLCBzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xcbiAgdmFyIGxlbiA9IHN0YXRlLmxlbmd0aDtcXG4gIHdoaWxlICghc3RhdGUucmVhZGluZyAmJiAhc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUuZW5kZWQgJiYgc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykge1xcbiAgICBkZWJ1ZygnbWF5YmVSZWFkTW9yZSByZWFkIDAnKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICAgIGlmIChsZW4gPT09IHN0YXRlLmxlbmd0aClcXG4gICAgICAvLyBkaWRuJ3QgZ2V0IGFueSBkYXRhLCBzdG9wIHNwaW5uaW5nLlxcbiAgICAgIGJyZWFrO2Vsc2UgbGVuID0gc3RhdGUubGVuZ3RoO1xcbiAgfVxcbiAgc3RhdGUucmVhZGluZ01vcmUgPSBmYWxzZTtcXG59XFxuXFxuLy8gYWJzdHJhY3QgbWV0aG9kLiAgdG8gYmUgb3ZlcnJpZGRlbiBpbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxcbi8vIGNhbGwgY2IoZXIsIGRhdGEpIHdoZXJlIGRhdGEgaXMgPD0gbiBpbiBsZW5ndGguXFxuLy8gZm9yIHZpcnR1YWwgKG5vbi1zdHJpbmcsIG5vbi1idWZmZXIpIHN0cmVhbXMsIFxcXCJsZW5ndGhcXFwiIGlzIHNvbWV3aGF0XFxuLy8gYXJiaXRyYXJ5LCBhbmQgcGVyaGFwcyBub3QgdmVyeSBtZWFuaW5nZnVsLlxcblJlYWRhYmxlLnByb3RvdHlwZS5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XFxuICB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCdfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpKTtcXG59O1xcblxcblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XFxuICB2YXIgc3JjID0gdGhpcztcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuXFxuICBzd2l0Y2ggKHN0YXRlLnBpcGVzQ291bnQpIHtcXG4gICAgY2FzZSAwOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gZGVzdDtcXG4gICAgICBicmVhaztcXG4gICAgY2FzZSAxOlxcbiAgICAgIHN0YXRlLnBpcGVzID0gW3N0YXRlLnBpcGVzLCBkZXN0XTtcXG4gICAgICBicmVhaztcXG4gICAgZGVmYXVsdDpcXG4gICAgICBzdGF0ZS5waXBlcy5wdXNoKGRlc3QpO1xcbiAgICAgIGJyZWFrO1xcbiAgfVxcbiAgc3RhdGUucGlwZXNDb3VudCArPSAxO1xcbiAgZGVidWcoJ3BpcGUgY291bnQ9JWQgb3B0cz0laicsIHN0YXRlLnBpcGVzQ291bnQsIHBpcGVPcHRzKTtcXG5cXG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XFxuXFxuICB2YXIgZW5kRm4gPSBkb0VuZCA/IG9uZW5kIDogdW5waXBlO1xcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHBuYS5uZXh0VGljayhlbmRGbik7ZWxzZSBzcmMub25jZSgnZW5kJywgZW5kRm4pO1xcblxcbiAgZGVzdC5vbigndW5waXBlJywgb251bnBpcGUpO1xcbiAgZnVuY3Rpb24gb251bnBpcGUocmVhZGFibGUsIHVucGlwZUluZm8pIHtcXG4gICAgZGVidWcoJ29udW5waXBlJyk7XFxuICAgIGlmIChyZWFkYWJsZSA9PT0gc3JjKSB7XFxuICAgICAgaWYgKHVucGlwZUluZm8gJiYgdW5waXBlSW5mby5oYXNVbnBpcGVkID09PSBmYWxzZSkge1xcbiAgICAgICAgdW5waXBlSW5mby5oYXNVbnBpcGVkID0gdHJ1ZTtcXG4gICAgICAgIGNsZWFudXAoKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIGZ1bmN0aW9uIG9uZW5kKCkge1xcbiAgICBkZWJ1Zygnb25lbmQnKTtcXG4gICAgZGVzdC5lbmQoKTtcXG4gIH1cXG5cXG4gIC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcXG4gIC8vIG9uIHRoZSBzb3VyY2UuICBUaGlzIHdvdWxkIGJlIG1vcmUgZWxlZ2FudCB3aXRoIGEgLm9uY2UoKVxcbiAgLy8gaGFuZGxlciBpbiBmbG93KCksIGJ1dCBhZGRpbmcgYW5kIHJlbW92aW5nIHJlcGVhdGVkbHkgaXNcXG4gIC8vIHRvbyBzbG93LlxcbiAgdmFyIG9uZHJhaW4gPSBwaXBlT25EcmFpbihzcmMpO1xcbiAgZGVzdC5vbignZHJhaW4nLCBvbmRyYWluKTtcXG5cXG4gIHZhciBjbGVhbmVkVXAgPSBmYWxzZTtcXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XFxuICAgIGRlYnVnKCdjbGVhbnVwJyk7XFxuICAgIC8vIGNsZWFudXAgZXZlbnQgaGFuZGxlcnMgb25jZSB0aGUgcGlwZSBpcyBicm9rZW5cXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdkcmFpbicsIG9uZHJhaW4pO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCd1bnBpcGUnLCBvbnVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIHVucGlwZSk7XFxuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XFxuXFxuICAgIGNsZWFuZWRVcCA9IHRydWU7XFxuXFxuICAgIC8vIGlmIHRoZSByZWFkZXIgaXMgd2FpdGluZyBmb3IgYSBkcmFpbiBldmVudCBmcm9tIHRoaXNcXG4gICAgLy8gc3BlY2lmaWMgd3JpdGVyLCB0aGVuIGl0IHdvdWxkIGNhdXNlIGl0IHRvIG5ldmVyIHN0YXJ0XFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXFxuICAgIC8vIFNvLCBpZiB0aGlzIGlzIGF3YWl0aW5nIGEgZHJhaW4sIHRoZW4gd2UganVzdCBjYWxsIGl0IG5vdy5cXG4gICAgLy8gSWYgd2UgZG9uJ3Qga25vdywgdGhlbiBhc3N1bWUgdGhhdCB3ZSBhcmUgd2FpdGluZyBmb3Igb25lLlxcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XFxuICB9XFxuXFxuICAvLyBJZiB0aGUgdXNlciBwdXNoZXMgbW9yZSBkYXRhIHdoaWxlIHdlJ3JlIHdyaXRpbmcgdG8gZGVzdCB0aGVuIHdlJ2xsIGVuZCB1cFxcbiAgLy8gaW4gb25kYXRhIGFnYWluLiBIb3dldmVyLCB3ZSBvbmx5IHdhbnQgdG8gaW5jcmVhc2UgYXdhaXREcmFpbiBvbmNlIGJlY2F1c2VcXG4gIC8vIGRlc3Qgd2lsbCBvbmx5IGVtaXQgb25lICdkcmFpbicgZXZlbnQgZm9yIHRoZSBtdWx0aXBsZSB3cml0ZXMuXFxuICAvLyA9PiBJbnRyb2R1Y2UgYSBndWFyZCBvbiBpbmNyZWFzaW5nIGF3YWl0RHJhaW4uXFxuICB2YXIgaW5jcmVhc2VkQXdhaXREcmFpbiA9IGZhbHNlO1xcbiAgc3JjLm9uKCdkYXRhJywgb25kYXRhKTtcXG4gIGZ1bmN0aW9uIG9uZGF0YShjaHVuaykge1xcbiAgICBkZWJ1Zygnb25kYXRhJyk7XFxuICAgIGluY3JlYXNlZEF3YWl0RHJhaW4gPSBmYWxzZTtcXG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xcbiAgICBpZiAoZmFsc2UgPT09IHJldCAmJiAhaW5jcmVhc2VkQXdhaXREcmFpbikge1xcbiAgICAgIC8vIElmIHRoZSB1c2VyIHVucGlwZWQgZHVyaW5nIGBkZXN0LndyaXRlKClgLCBpdCBpcyBwb3NzaWJsZVxcbiAgICAgIC8vIHRvIGdldCBzdHVjayBpbiBhIHBlcm1hbmVudGx5IHBhdXNlZCBzdGF0ZSBpZiB0aGF0IHdyaXRlXFxuICAgICAgLy8gYWxzbyByZXR1cm5lZCBmYWxzZS5cXG4gICAgICAvLyA9PiBDaGVjayB3aGV0aGVyIGBkZXN0YCBpcyBzdGlsbCBhIHBpcGluZyBkZXN0aW5hdGlvbi5cXG4gICAgICBpZiAoKHN0YXRlLnBpcGVzQ291bnQgPT09IDEgJiYgc3RhdGUucGlwZXMgPT09IGRlc3QgfHwgc3RhdGUucGlwZXNDb3VudCA+IDEgJiYgaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCkgIT09IC0xKSAmJiAhY2xlYW5lZFVwKSB7XFxuICAgICAgICBkZWJ1ZygnZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlJywgc3JjLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4pO1xcbiAgICAgICAgc3JjLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKztcXG4gICAgICAgIGluY3JlYXNlZEF3YWl0RHJhaW4gPSB0cnVlO1xcbiAgICAgIH1cXG4gICAgICBzcmMucGF1c2UoKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgLy8gaWYgdGhlIGRlc3QgaGFzIGFuIGVycm9yLCB0aGVuIHN0b3AgcGlwaW5nIGludG8gaXQuXFxuICAvLyBob3dldmVyLCBkb24ndCBzdXBwcmVzcyB0aGUgdGhyb3dpbmcgYmVoYXZpb3IgZm9yIHRoaXMuXFxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XFxuICAgIGRlYnVnKCdvbmVycm9yJywgZXIpO1xcbiAgICB1bnBpcGUoKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgaWYgKEVFbGlzdGVuZXJDb3VudChkZXN0LCAnZXJyb3InKSA9PT0gMCkgZGVzdC5lbWl0KCdlcnJvcicsIGVyKTtcXG4gIH1cXG5cXG4gIC8vIE1ha2Ugc3VyZSBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgdXNlcmxhbmQgb25lcy5cXG4gIHByZXBlbmRMaXN0ZW5lcihkZXN0LCAnZXJyb3InLCBvbmVycm9yKTtcXG5cXG4gIC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXFxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdmaW5pc2gnLCBvbmZpbmlzaCk7XFxuICAgIHVucGlwZSgpO1xcbiAgfVxcbiAgZGVzdC5vbmNlKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XFxuICAgIGRlYnVnKCdvbmZpbmlzaCcpO1xcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xcbiAgICB1bnBpcGUoKTtcXG4gIH1cXG4gIGRlc3Qub25jZSgnZmluaXNoJywgb25maW5pc2gpO1xcblxcbiAgZnVuY3Rpb24gdW5waXBlKCkge1xcbiAgICBkZWJ1ZygndW5waXBlJyk7XFxuICAgIHNyYy51bnBpcGUoZGVzdCk7XFxuICB9XFxuXFxuICAvLyB0ZWxsIHRoZSBkZXN0IHRoYXQgaXQncyBiZWluZyBwaXBlZCB0b1xcbiAgZGVzdC5lbWl0KCdwaXBlJywgc3JjKTtcXG5cXG4gIC8vIHN0YXJ0IHRoZSBmbG93IGlmIGl0IGhhc24ndCBiZWVuIHN0YXJ0ZWQgYWxyZWFkeS5cXG4gIGlmICghc3RhdGUuZmxvd2luZykge1xcbiAgICBkZWJ1ZygncGlwZSByZXN1bWUnKTtcXG4gICAgc3JjLnJlc3VtZSgpO1xcbiAgfVxcblxcbiAgcmV0dXJuIGRlc3Q7XFxufTtcXG5cXG5mdW5jdGlvbiBwaXBlT25EcmFpbihzcmMpIHtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIHZhciBzdGF0ZSA9IHNyYy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgZGVidWcoJ3BpcGVPbkRyYWluJywgc3RhdGUuYXdhaXREcmFpbik7XFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluKSBzdGF0ZS5hd2FpdERyYWluLS07XFxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluID09PSAwICYmIEVFbGlzdGVuZXJDb3VudChzcmMsICdkYXRhJykpIHtcXG4gICAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcXG4gICAgICBmbG93KHNyYyk7XFxuICAgIH1cXG4gIH07XFxufVxcblxcblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gIHZhciB1bnBpcGVJbmZvID0geyBoYXNVbnBpcGVkOiBmYWxzZSB9O1xcblxcbiAgLy8gaWYgd2UncmUgbm90IHBpcGluZyBhbnl3aGVyZSwgdGhlbiBkbyBub3RoaW5nLlxcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDApIHJldHVybiB0aGlzO1xcblxcbiAgLy8ganVzdCBvbmUgZGVzdGluYXRpb24uICBtb3N0IGNvbW1vbiBjYXNlLlxcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHtcXG4gICAgLy8gcGFzc2VkIGluIG9uZSwgYnV0IGl0J3Mgbm90IHRoZSByaWdodCBvbmUuXFxuICAgIGlmIChkZXN0ICYmIGRlc3QgIT09IHN0YXRlLnBpcGVzKSByZXR1cm4gdGhpcztcXG5cXG4gICAgaWYgKCFkZXN0KSBkZXN0ID0gc3RhdGUucGlwZXM7XFxuXFxuICAgIC8vIGdvdCBhIG1hdGNoLlxcbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XFxuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuICAgIGlmIChkZXN0KSBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xcbiAgICByZXR1cm4gdGhpcztcXG4gIH1cXG5cXG4gIC8vIHNsb3cgY2FzZS4gbXVsdGlwbGUgcGlwZSBkZXN0aW5hdGlvbnMuXFxuXFxuICBpZiAoIWRlc3QpIHtcXG4gICAgLy8gcmVtb3ZlIGFsbC5cXG4gICAgdmFyIGRlc3RzID0gc3RhdGUucGlwZXM7XFxuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xcbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XFxuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcXG4gICAgICBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcXG4gICAgfXJldHVybiB0aGlzO1xcbiAgfVxcblxcbiAgLy8gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IG9uZS5cXG4gIHZhciBpbmRleCA9IGluZGV4T2Yoc3RhdGUucGlwZXMsIGRlc3QpO1xcbiAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIHRoaXM7XFxuXFxuICBzdGF0ZS5waXBlcy5zcGxpY2UoaW5kZXgsIDEpO1xcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xcbiAgaWYgKHN0YXRlLnBpcGVzQ291bnQgPT09IDEpIHN0YXRlLnBpcGVzID0gc3RhdGUucGlwZXNbMF07XFxuXFxuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xcblxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG4vLyBzZXQgdXAgZGF0YSBldmVudHMgaWYgdGhleSBhcmUgYXNrZWQgZm9yXFxuLy8gRW5zdXJlIHJlYWRhYmxlIGxpc3RlbmVycyBldmVudHVhbGx5IGdldCBzb21ldGhpbmdcXG5SZWFkYWJsZS5wcm90b3R5cGUub24gPSBmdW5jdGlvbiAoZXYsIGZuKSB7XFxuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsIGV2LCBmbik7XFxuXFxuICBpZiAoZXYgPT09ICdkYXRhJykge1xcbiAgICAvLyBTdGFydCBmbG93aW5nIG9uIG5leHQgdGljayBpZiBzdHJlYW0gaXNuJ3QgZXhwbGljaXRseSBwYXVzZWRcXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAhPT0gZmFsc2UpIHRoaXMucmVzdW1lKCk7XFxuICB9IGVsc2UgaWYgKGV2ID09PSAncmVhZGFibGUnKSB7XFxuICAgIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICAgIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcpIHtcXG4gICAgICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XFxuICAgICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XFxuICAgICAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XFxuICAgICAgICBwbmEubmV4dFRpY2soblJlYWRpbmdOZXh0VGljaywgdGhpcyk7XFxuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5sZW5ndGgpIHtcXG4gICAgICAgIGVtaXRSZWFkYWJsZSh0aGlzKTtcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiByZXM7XFxufTtcXG5SZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIgPSBSZWFkYWJsZS5wcm90b3R5cGUub247XFxuXFxuZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhzZWxmKSB7XFxuICBkZWJ1ZygncmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwJyk7XFxuICBzZWxmLnJlYWQoMCk7XFxufVxcblxcbi8vIHBhdXNlKCkgYW5kIHJlc3VtZSgpIGFyZSByZW1uYW50cyBvZiB0aGUgbGVnYWN5IHJlYWRhYmxlIHN0cmVhbSBBUElcXG4vLyBJZiB0aGUgdXNlciB1c2VzIHRoZW0sIHRoZW4gc3dpdGNoIGludG8gb2xkIG1vZGUuXFxuUmVhZGFibGUucHJvdG90eXBlLnJlc3VtZSA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcXG4gICAgZGVidWcoJ3Jlc3VtZScpO1xcbiAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcXG4gICAgcmVzdW1lKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuZnVuY3Rpb24gcmVzdW1lKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XFxuICAgIHN0YXRlLnJlc3VtZVNjaGVkdWxlZCA9IHRydWU7XFxuICAgIHBuYS5uZXh0VGljayhyZXN1bWVfLCBzdHJlYW0sIHN0YXRlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gcmVzdW1lXyhzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnJlYWRpbmcpIHtcXG4gICAgZGVidWcoJ3Jlc3VtZSByZWFkIDAnKTtcXG4gICAgc3RyZWFtLnJlYWQoMCk7XFxuICB9XFxuXFxuICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcXG4gIHN0YXRlLmF3YWl0RHJhaW4gPSAwO1xcbiAgc3RyZWFtLmVtaXQoJ3Jlc3VtZScpO1xcbiAgZmxvdyhzdHJlYW0pO1xcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLnJlYWRpbmcpIHN0cmVhbS5yZWFkKDApO1xcbn1cXG5cXG5SZWFkYWJsZS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbiAoKSB7XFxuICBkZWJ1ZygnY2FsbCBwYXVzZSBmbG93aW5nPSVqJywgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKTtcXG4gIGlmIChmYWxzZSAhPT0gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSB7XFxuICAgIGRlYnVnKCdwYXVzZScpO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xcbiAgfVxcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5mdW5jdGlvbiBmbG93KHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcbiAgZGVidWcoJ2Zsb3cnLCBzdGF0ZS5mbG93aW5nKTtcXG4gIHdoaWxlIChzdGF0ZS5mbG93aW5nICYmIHN0cmVhbS5yZWFkKCkgIT09IG51bGwpIHt9XFxufVxcblxcbi8vIHdyYXAgYW4gb2xkLXN0eWxlIHN0cmVhbSBhcyB0aGUgYXN5bmMgZGF0YSBzb3VyY2UuXFxuLy8gVGhpcyBpcyAqbm90KiBwYXJ0IG9mIHRoZSByZWFkYWJsZSBzdHJlYW0gaW50ZXJmYWNlLlxcbi8vIEl0IGlzIGFuIHVnbHkgdW5mb3J0dW5hdGUgbWVzcyBvZiBoaXN0b3J5LlxcblJlYWRhYmxlLnByb3RvdHlwZS53cmFwID0gZnVuY3Rpb24gKHN0cmVhbSkge1xcbiAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XFxuICB2YXIgcGF1c2VkID0gZmFsc2U7XFxuXFxuICBzdHJlYW0ub24oJ2VuZCcsIGZ1bmN0aW9uICgpIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgZW5kJyk7XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyICYmICFzdGF0ZS5lbmRlZCkge1xcbiAgICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XFxuICAgICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkgX3RoaXMucHVzaChjaHVuayk7XFxuICAgIH1cXG5cXG4gICAgX3RoaXMucHVzaChudWxsKTtcXG4gIH0pO1xcblxcbiAgc3RyZWFtLm9uKCdkYXRhJywgZnVuY3Rpb24gKGNodW5rKSB7XFxuICAgIGRlYnVnKCd3cmFwcGVkIGRhdGEnKTtcXG4gICAgaWYgKHN0YXRlLmRlY29kZXIpIGNodW5rID0gc3RhdGUuZGVjb2Rlci53cml0ZShjaHVuayk7XFxuXFxuICAgIC8vIGRvbid0IHNraXAgb3ZlciBmYWxzeSB2YWx1ZXMgaW4gb2JqZWN0TW9kZVxcbiAgICBpZiAoc3RhdGUub2JqZWN0TW9kZSAmJiAoY2h1bmsgPT09IG51bGwgfHwgY2h1bmsgPT09IHVuZGVmaW5lZCkpIHJldHVybjtlbHNlIGlmICghc3RhdGUub2JqZWN0TW9kZSAmJiAoIWNodW5rIHx8ICFjaHVuay5sZW5ndGgpKSByZXR1cm47XFxuXFxuICAgIHZhciByZXQgPSBfdGhpcy5wdXNoKGNodW5rKTtcXG4gICAgaWYgKCFyZXQpIHtcXG4gICAgICBwYXVzZWQgPSB0cnVlO1xcbiAgICAgIHN0cmVhbS5wYXVzZSgpO1xcbiAgICB9XFxuICB9KTtcXG5cXG4gIC8vIHByb3h5IGFsbCB0aGUgb3RoZXIgbWV0aG9kcy5cXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxcbiAgZm9yICh2YXIgaSBpbiBzdHJlYW0pIHtcXG4gICAgaWYgKHRoaXNbaV0gPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygc3RyZWFtW2ldID09PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIChtZXRob2QpIHtcXG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgIHJldHVybiBzdHJlYW1bbWV0aG9kXS5hcHBseShzdHJlYW0sIGFyZ3VtZW50cyk7XFxuICAgICAgICB9O1xcbiAgICAgIH0oaSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIC8vIHByb3h5IGNlcnRhaW4gaW1wb3J0YW50IGV2ZW50cy5cXG4gIGZvciAodmFyIG4gPSAwOyBuIDwga1Byb3h5RXZlbnRzLmxlbmd0aDsgbisrKSB7XFxuICAgIHN0cmVhbS5vbihrUHJveHlFdmVudHNbbl0sIHRoaXMuZW1pdC5iaW5kKHRoaXMsIGtQcm94eUV2ZW50c1tuXSkpO1xcbiAgfVxcblxcbiAgLy8gd2hlbiB3ZSB0cnkgdG8gY29uc3VtZSBzb21lIG1vcmUgYnl0ZXMsIHNpbXBseSB1bnBhdXNlIHRoZVxcbiAgLy8gdW5kZXJseWluZyBzdHJlYW0uXFxuICB0aGlzLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gICAgZGVidWcoJ3dyYXBwZWQgX3JlYWQnLCBuKTtcXG4gICAgaWYgKHBhdXNlZCkge1xcbiAgICAgIHBhdXNlZCA9IGZhbHNlO1xcbiAgICAgIHN0cmVhbS5yZXN1bWUoKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn07XFxuXFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlSGlnaFdhdGVyTWFyaycsIHtcXG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXFxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxcbiAgZW51bWVyYWJsZTogZmFsc2UsXFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcXG4gIH1cXG59KTtcXG5cXG4vLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXFxuUmVhZGFibGUuX2Zyb21MaXN0ID0gZnJvbUxpc3Q7XFxuXFxuLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxcbi8vIExlbmd0aCBpcyB0aGUgY29tYmluZWQgbGVuZ3RocyBvZiBhbGwgdGhlIGJ1ZmZlcnMgaW4gdGhlIGxpc3QuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcbmZ1bmN0aW9uIGZyb21MaXN0KG4sIHN0YXRlKSB7XFxuICAvLyBub3RoaW5nIGJ1ZmZlcmVkXFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcXG5cXG4gIHZhciByZXQ7XFxuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0ID0gc3RhdGUuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZiAoIW4gfHwgbiA+PSBzdGF0ZS5sZW5ndGgpIHtcXG4gICAgLy8gcmVhZCBpdCBhbGwsIHRydW5jYXRlIHRoZSBsaXN0XFxuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSByZXQgPSBzdGF0ZS5idWZmZXIuam9pbignJyk7ZWxzZSBpZiAoc3RhdGUuYnVmZmVyLmxlbmd0aCA9PT0gMSkgcmV0ID0gc3RhdGUuYnVmZmVyLmhlYWQuZGF0YTtlbHNlIHJldCA9IHN0YXRlLmJ1ZmZlci5jb25jYXQoc3RhdGUubGVuZ3RoKTtcXG4gICAgc3RhdGUuYnVmZmVyLmNsZWFyKCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyByZWFkIHBhcnQgb2YgbGlzdFxcbiAgICByZXQgPSBmcm9tTGlzdFBhcnRpYWwobiwgc3RhdGUuYnVmZmVyLCBzdGF0ZS5kZWNvZGVyKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXQ7XFxufVxcblxcbi8vIEV4dHJhY3RzIG9ubHkgZW5vdWdoIGJ1ZmZlcmVkIGRhdGEgdG8gc2F0aXNmeSB0aGUgYW1vdW50IHJlcXVlc3RlZC5cXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGlubGluYWJsZSwgc28gcGxlYXNlIHRha2UgY2FyZSB3aGVuIG1ha2luZ1xcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXFxuZnVuY3Rpb24gZnJvbUxpc3RQYXJ0aWFsKG4sIGxpc3QsIGhhc1N0cmluZ3MpIHtcXG4gIHZhciByZXQ7XFxuICBpZiAobiA8IGxpc3QuaGVhZC5kYXRhLmxlbmd0aCkge1xcbiAgICAvLyBzbGljZSBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5nc1xcbiAgICByZXQgPSBsaXN0LmhlYWQuZGF0YS5zbGljZSgwLCBuKTtcXG4gICAgbGlzdC5oZWFkLmRhdGEgPSBsaXN0LmhlYWQuZGF0YS5zbGljZShuKTtcXG4gIH0gZWxzZSBpZiAobiA9PT0gbGlzdC5oZWFkLmRhdGEubGVuZ3RoKSB7XFxuICAgIC8vIGZpcnN0IGNodW5rIGlzIGEgcGVyZmVjdCBtYXRjaFxcbiAgICByZXQgPSBsaXN0LnNoaWZ0KCk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyByZXN1bHQgc3BhbnMgbW9yZSB0aGFuIG9uZSBidWZmZXJcXG4gICAgcmV0ID0gaGFzU3RyaW5ncyA/IGNvcHlGcm9tQnVmZmVyU3RyaW5nKG4sIGxpc3QpIDogY29weUZyb21CdWZmZXIobiwgbGlzdCk7XFxuICB9XFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG4vLyBDb3BpZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGNoYXJhY3RlcnMgZnJvbSB0aGUgbGlzdCBvZiBidWZmZXJlZCBkYXRhXFxuLy8gY2h1bmtzLlxcbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXFxuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cXG5mdW5jdGlvbiBjb3B5RnJvbUJ1ZmZlclN0cmluZyhuLCBsaXN0KSB7XFxuICB2YXIgcCA9IGxpc3QuaGVhZDtcXG4gIHZhciBjID0gMTtcXG4gIHZhciByZXQgPSBwLmRhdGE7XFxuICBuIC09IHJldC5sZW5ndGg7XFxuICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICB2YXIgc3RyID0gcC5kYXRhO1xcbiAgICB2YXIgbmIgPSBuID4gc3RyLmxlbmd0aCA/IHN0ci5sZW5ndGggOiBuO1xcbiAgICBpZiAobmIgPT09IHN0ci5sZW5ndGgpIHJldCArPSBzdHI7ZWxzZSByZXQgKz0gc3RyLnNsaWNlKDAsIG4pO1xcbiAgICBuIC09IG5iO1xcbiAgICBpZiAobiA9PT0gMCkge1xcbiAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkge1xcbiAgICAgICAgKytjO1xcbiAgICAgICAgaWYgKHAubmV4dCkgbGlzdC5oZWFkID0gcC5uZXh0O2Vsc2UgbGlzdC5oZWFkID0gbGlzdC50YWlsID0gbnVsbDtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgbGlzdC5oZWFkID0gcDtcXG4gICAgICAgIHAuZGF0YSA9IHN0ci5zbGljZShuYik7XFxuICAgICAgfVxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuICAgICsrYztcXG4gIH1cXG4gIGxpc3QubGVuZ3RoIC09IGM7XFxuICByZXR1cm4gcmV0O1xcbn1cXG5cXG4vLyBDb3BpZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIGZyb20gdGhlIGxpc3Qgb2YgYnVmZmVyZWQgZGF0YSBjaHVua3MuXFxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxcbmZ1bmN0aW9uIGNvcHlGcm9tQnVmZmVyKG4sIGxpc3QpIHtcXG4gIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobik7XFxuICB2YXIgcCA9IGxpc3QuaGVhZDtcXG4gIHZhciBjID0gMTtcXG4gIHAuZGF0YS5jb3B5KHJldCk7XFxuICBuIC09IHAuZGF0YS5sZW5ndGg7XFxuICB3aGlsZSAocCA9IHAubmV4dCkge1xcbiAgICB2YXIgYnVmID0gcC5kYXRhO1xcbiAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xcbiAgICBidWYuY29weShyZXQsIHJldC5sZW5ndGggLSBuLCAwLCBuYik7XFxuICAgIG4gLT0gbmI7XFxuICAgIGlmIChuID09PSAwKSB7XFxuICAgICAgaWYgKG5iID09PSBidWYubGVuZ3RoKSB7XFxuICAgICAgICArK2M7XFxuICAgICAgICBpZiAocC5uZXh0KSBsaXN0LmhlYWQgPSBwLm5leHQ7ZWxzZSBsaXN0LmhlYWQgPSBsaXN0LnRhaWwgPSBudWxsO1xcbiAgICAgIH0gZWxzZSB7XFxuICAgICAgICBsaXN0LmhlYWQgPSBwO1xcbiAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcXG4gICAgICB9XFxuICAgICAgYnJlYWs7XFxuICAgIH1cXG4gICAgKytjO1xcbiAgfVxcbiAgbGlzdC5sZW5ndGggLT0gYztcXG4gIHJldHVybiByZXQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFJlYWRhYmxlKHN0cmVhbSkge1xcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xcblxcbiAgLy8gSWYgd2UgZ2V0IGhlcmUgYmVmb3JlIGNvbnN1bWluZyBhbGwgdGhlIGJ5dGVzLCB0aGVuIHRoYXQgaXMgYVxcbiAgLy8gYnVnIGluIG5vZGUuICBTaG91bGQgbmV2ZXIgaGFwcGVuLlxcbiAgaWYgKHN0YXRlLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcignXFxcImVuZFJlYWRhYmxlKClcXFwiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7XFxuXFxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQpIHtcXG4gICAgc3RhdGUuZW5kZWQgPSB0cnVlO1xcbiAgICBwbmEubmV4dFRpY2soZW5kUmVhZGFibGVOVCwgc3RhdGUsIHN0cmVhbSk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xcbiAgLy8gQ2hlY2sgdGhhdCB3ZSBkaWRuJ3QgZ2V0IG9uZSBsYXN0IHVuc2hpZnQuXFxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQgJiYgc3RhdGUubGVuZ3RoID09PSAwKSB7XFxuICAgIHN0YXRlLmVuZEVtaXR0ZWQgPSB0cnVlO1xcbiAgICBzdHJlYW0ucmVhZGFibGUgPSBmYWxzZTtcXG4gICAgc3RyZWFtLmVtaXQoJ2VuZCcpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBpbmRleE9mKHhzLCB4KSB7XFxuICBmb3IgKHZhciBpID0gMCwgbCA9IHhzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xcbiAgICBpZiAoeHNbaV0gPT09IHgpIHJldHVybiBpO1xcbiAgfVxcbiAgcmV0dXJuIC0xO1xcbn1cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vcHJvY2Vzcy9icm93c2VyLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanNcXFwiKSkpLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmY21WaFpHRmliR1V1YW5NL05tTTNZU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWaE96dEJRVVZpT3p0QlFVVkJMRlZCUVZVc2JVSkJRVThzUTBGQlF5d3dSVUZCYzBJN1FVRkRlRU03TzBGQlJVRTdPMEZCUlVFN1FVRkRRU3hqUVVGakxHMUNRVUZQTEVOQlFVTXNaMFJCUVZNN1FVRkRMMEk3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNVMEZCVXl4dFFrRkJUeXhEUVVGRExDdERRVUZST3p0QlFVVjZRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSMEZCTWtJN1FVRkRhRVE3TzBGQlJVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRVFVRmhPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRXNWMEZCVnl4dFFrRkJUeXhEUVVGRExEWkVRVUZqTzBGQlEycERMR2RDUVVGblFpeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnhET3p0QlFVVkJPMEZCUTBFc1owSkJRV2RDTEcxQ1FVRlBMRU5CUVVNc1lVRkJUVHRCUVVNNVFqdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPMEZCUTBRN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhkSFFVRXJRanRCUVVONFJDeHJRa0ZCYTBJc2JVSkJRVThzUTBGQlF5eHJSMEZCTkVJN1FVRkRkRVE3TzBGQlJVRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeDVSVUZCZVVVc05rVkJRVFpGTzBGQlEzUktPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zT0VWQlFXdENPenRCUVVVdlF6czdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzYVVSQlFXbEVMREJHUVVFd1JqczdRVUZGTTBrN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMSGREUVVGM1F5eHRRa0ZCVHl4RFFVRkRMRFJGUVVGcFFqdEJRVU5xUlR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEhGQ1FVRnhRaXh0UWtGQlR5eERRVUZETERoRlFVRnJRanM3UVVGRkwwTTdPMEZCUlVFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEd0SFFVRnJSenRCUVVOc1J5eFBRVUZQTzBGQlExQTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEVzTkVaQlFUUkdPMEZCUXpWR0xGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJMR2RFUVVGblJEczdRVUZGYUVRN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4elEwRkJjME1zYlVKQlFVOHNRMEZCUXl3MFJVRkJhVUk3UVVGREwwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTdzBSVUZCTkVVN1FVRkROVVU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERaRVFVRTJSRHRCUVVNM1JEdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYzBOQlFYTkRPenRCUVVWMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzZDBSQlFYZEVPMEZCUTNoRU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WlFVRlpPMEZCUTFvN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxEUkRRVUUwUXpzN1FVRkZOVU03UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc2IwSkJRVzlDT3p0QlFVVndRanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpeFRRVUZUTzBGQlF6VkNPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN3MFJVRkJORVU3TzBGQlJUVkZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHM3UVVGRlFUdEJRVU5CTEdsQ1FVRnBRaXg1UWtGQmVVSTdRVUZETVVNN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc2JVUkJRVzFFTzBGQlEyNUVPMEZCUTBFc2JVUkJRVzFFTEdsRlFVRnBSVHRCUVVOd1NEdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhORFFVRnpRenRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMSFZEUVVGMVF6dEJRVU4yUXl4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIVkRRVUYxUXp0QlFVTjJReXhQUVVGUE8wRkJRMUE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRXNaME5CUVdkRExFOUJRVTg3UVVGRGRrTTdRVUZEUVR0QlFVTkJPMEZCUTBFc1F5SXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmNtVmhaR0ZpYkdVdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdkx5QkRiM0I1Y21sbmFIUWdTbTk1Wlc1MExDQkpibU11SUdGdVpDQnZkR2hsY2lCT2IyUmxJR052Ym5SeWFXSjFkRzl5Y3k1Y2JpOHZYRzR2THlCUVpYSnRhWE56YVc5dUlHbHpJR2hsY21WaWVTQm5jbUZ1ZEdWa0xDQm1jbVZsSUc5bUlHTm9ZWEpuWlN3Z2RHOGdZVzU1SUhCbGNuTnZiaUJ2WW5SaGFXNXBibWNnWVZ4dUx5OGdZMjl3ZVNCdlppQjBhR2x6SUhOdlpuUjNZWEpsSUdGdVpDQmhjM052WTJsaGRHVmtJR1J2WTNWdFpXNTBZWFJwYjI0Z1ptbHNaWE1nS0hSb1pWeHVMeThnWENKVGIyWjBkMkZ5WlZ3aUtTd2dkRzhnWkdWaGJDQnBiaUIwYUdVZ1UyOW1kSGRoY21VZ2QybDBhRzkxZENCeVpYTjBjbWxqZEdsdmJpd2dhVzVqYkhWa2FXNW5YRzR2THlCM2FYUm9iM1YwSUd4cGJXbDBZWFJwYjI0Z2RHaGxJSEpwWjJoMGN5QjBieUIxYzJVc0lHTnZjSGtzSUcxdlpHbG1lU3dnYldWeVoyVXNJSEIxWW14cGMyZ3NYRzR2THlCa2FYTjBjbWxpZFhSbExDQnpkV0pzYVdObGJuTmxMQ0JoYm1RdmIzSWdjMlZzYkNCamIzQnBaWE1nYjJZZ2RHaGxJRk52Wm5SM1lYSmxMQ0JoYm1RZ2RHOGdjR1Z5YldsMFhHNHZMeUJ3WlhKemIyNXpJSFJ2SUhkb2IyMGdkR2hsSUZOdlpuUjNZWEpsSUdseklHWjFjbTVwYzJobFpDQjBieUJrYnlCemJ5d2djM1ZpYW1WamRDQjBieUIwYUdWY2JpOHZJR1p2Ykd4dmQybHVaeUJqYjI1a2FYUnBiMjV6T2x4dUx5OWNiaTh2SUZSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sSUdGdVpDQjBhR2x6SUhCbGNtMXBjM05wYjI0Z2JtOTBhV05sSUhOb1lXeHNJR0psSUdsdVkyeDFaR1ZrWEc0dkx5QnBiaUJoYkd3Z1kyOXdhV1Z6SUc5eUlITjFZbk4wWVc1MGFXRnNJSEJ2Y25ScGIyNXpJRzltSUhSb1pTQlRiMlowZDJGeVpTNWNiaTh2WEc0dkx5QlVTRVVnVTA5R1ZGZEJVa1VnU1ZNZ1VGSlBWa2xFUlVRZ1hDSkJVeUJKVTF3aUxDQlhTVlJJVDFWVUlGZEJVbEpCVGxSWklFOUdJRUZPV1NCTFNVNUVMQ0JGV0ZCU1JWTlRYRzR2THlCUFVpQkpUVkJNU1VWRUxDQkpUa05NVlVSSlRrY2dRbFZVSUU1UFZDQk1TVTFKVkVWRUlGUlBJRlJJUlNCWFFWSlNRVTVVU1VWVElFOUdYRzR2THlCTlJWSkRTRUZPVkVGQ1NVeEpWRmtzSUVaSlZFNUZVMU1nUms5U0lFRWdVRUZTVkVsRFZVeEJVaUJRVlZKUVQxTkZJRUZPUkNCT1QwNUpUa1pTU1U1SFJVMUZUbFF1SUVsT1hHNHZMeUJPVHlCRlZrVk9WQ0JUU0VGTVRDQlVTRVVnUVZWVVNFOVNVeUJQVWlCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQ1JTQk1TVUZDVEVVZ1JrOVNJRUZPV1NCRFRFRkpUU3hjYmk4dklFUkJUVUZIUlZNZ1QxSWdUMVJJUlZJZ1RFbEJRa2xNU1ZSWkxDQlhTRVZVU0VWU0lFbE9JRUZPSUVGRFZFbFBUaUJQUmlCRFQwNVVVa0ZEVkN3Z1ZFOVNWQ0JQVWx4dUx5OGdUMVJJUlZKWFNWTkZMQ0JCVWtsVFNVNUhJRVpTVDAwc0lFOVZWQ0JQUmlCUFVpQkpUaUJEVDA1T1JVTlVTVTlPSUZkSlZFZ2dWRWhGSUZOUFJsUlhRVkpGSUU5U0lGUklSVnh1THk4Z1ZWTkZJRTlTSUU5VVNFVlNJRVJGUVV4SlRrZFRJRWxPSUZSSVJTQlRUMFpVVjBGU1JTNWNibHh1SjNWelpTQnpkSEpwWTNRbk8xeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1WEc1MllYSWdjRzVoSUQwZ2NtVnhkV2x5WlNnbmNISnZZMlZ6Y3kxdVpYaDBhV05yTFdGeVozTW5LVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGSmxZV1JoWW14bE8xeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlHbHpRWEp5WVhrZ1BTQnlaWEYxYVhKbEtDZHBjMkZ5Y21GNUp5azdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dUx5bzhjbVZ3YkdGalpXMWxiblErS2k5Y2JuWmhjaUJFZFhCc1pYZzdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dVVtVmhaR0ZpYkdVdVVtVmhaR0ZpYkdWVGRHRjBaU0E5SUZKbFlXUmhZbXhsVTNSaGRHVTdYRzVjYmk4cVBISmxjR3hoWTJWdFpXNTBQaW92WEc1MllYSWdSVVVnUFNCeVpYRjFhWEpsS0NkbGRtVnVkSE1uS1M1RmRtVnVkRVZ0YVhSMFpYSTdYRzVjYm5aaGNpQkZSV3hwYzNSbGJtVnlRMjkxYm5RZ1BTQm1kVzVqZEdsdmJpQW9aVzFwZEhSbGNpd2dkSGx3WlNrZ2UxeHVJQ0J5WlhSMWNtNGdaVzFwZEhSbGNpNXNhWE4wWlc1bGNuTW9kSGx3WlNrdWJHVnVaM1JvTzF4dWZUdGNiaThxUEM5eVpYQnNZV05sYldWdWRENHFMMXh1WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dWRtRnlJRk4wY21WaGJTQTlJSEpsY1hWcGNtVW9KeTR2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTl6ZEhKbFlXMG5LVHRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNHZLanh5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSTdYRzUyWVhJZ1QzVnlWV2x1ZERoQmNuSmhlU0E5SUdkc2IySmhiQzVWYVc1ME9FRnljbUY1SUh4OElHWjFibU4wYVc5dUlDZ3BJSHQ5TzF4dVpuVnVZM1JwYjI0Z1gzVnBiblE0UVhKeVlYbFViMEoxWm1abGNpaGphSFZ1YXlrZ2UxeHVJQ0J5WlhSMWNtNGdRblZtWm1WeUxtWnliMjBvWTJoMWJtc3BPMXh1ZlZ4dVpuVnVZM1JwYjI0Z1gybHpWV2x1ZERoQmNuSmhlU2h2WW1vcElIdGNiaUFnY21WMGRYSnVJRUoxWm1abGNpNXBjMEoxWm1abGNpaHZZbW9wSUh4OElHOWlhaUJwYm5OMFlXNWpaVzltSUU5MWNsVnBiblE0UVhKeVlYazdYRzU5WEc1Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlIVjBhV3dnUFNCeVpYRjFhWEpsS0NkamIzSmxMWFYwYVd3dGFYTW5LVHRjYm5WMGFXd3VhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwTzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ1pHVmlkV2RWZEdsc0lEMGdjbVZ4ZFdseVpTZ25kWFJwYkNjcE8xeHVkbUZ5SUdSbFluVm5JRDBnZG05cFpDQXdPMXh1YVdZZ0tHUmxZblZuVlhScGJDQW1KaUJrWldKMVoxVjBhV3d1WkdWaWRXZHNiMmNwSUh0Y2JpQWdaR1ZpZFdjZ1BTQmtaV0oxWjFWMGFXd3VaR1ZpZFdkc2IyY29KM04wY21WaGJTY3BPMXh1ZlNCbGJITmxJSHRjYmlBZ1pHVmlkV2NnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVHRjYm4xY2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzUyWVhJZ1FuVm1abVZ5VEdsemRDQTlJSEpsY1hWcGNtVW9KeTR2YVc1MFpYSnVZV3d2YzNSeVpXRnRjeTlDZFdabVpYSk1hWE4wSnlrN1hHNTJZWElnWkdWemRISnZlVWx0Y0d3Z1BTQnlaWEYxYVhKbEtDY3VMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZaR1Z6ZEhKdmVTY3BPMXh1ZG1GeUlGTjBjbWx1WjBSbFkyOWtaWEk3WEc1Y2JuVjBhV3d1YVc1b1pYSnBkSE1vVW1WaFpHRmliR1VzSUZOMGNtVmhiU2s3WEc1Y2JuWmhjaUJyVUhKdmVIbEZkbVZ1ZEhNZ1BTQmJKMlZ5Y205eUp5d2dKMk5zYjNObEp5d2dKMlJsYzNSeWIza25MQ0FuY0dGMWMyVW5MQ0FuY21WemRXMWxKMTA3WEc1Y2JtWjFibU4wYVc5dUlIQnlaWEJsYm1STWFYTjBaVzVsY2lobGJXbDBkR1Z5TENCbGRtVnVkQ3dnWm00cElIdGNiaUFnTHk4Z1UyRmtiSGtnZEdocGN5QnBjeUJ1YjNRZ1kyRmphR1ZoWW14bElHRnpJSE52YldVZ2JHbGljbUZ5YVdWeklHSjFibVJzWlNCMGFHVnBjaUJ2ZDI1Y2JpQWdMeThnWlhabGJuUWdaVzFwZEhSbGNpQnBiWEJzWlcxbGJuUmhkR2x2YmlCM2FYUm9JSFJvWlcwdVhHNGdJR2xtSUNoMGVYQmxiMllnWlcxcGRIUmxjaTV3Y21Wd1pXNWtUR2x6ZEdWdVpYSWdQVDA5SUNkbWRXNWpkR2x2YmljcElISmxkSFZ5YmlCbGJXbDBkR1Z5TG5CeVpYQmxibVJNYVhOMFpXNWxjaWhsZG1WdWRDd2dabTRwTzF4dVhHNGdJQzh2SUZSb2FYTWdhWE1nWVNCb1lXTnJJSFJ2SUcxaGEyVWdjM1Z5WlNCMGFHRjBJRzkxY2lCbGNuSnZjaUJvWVc1a2JHVnlJR2x6SUdGMGRHRmphR1ZrSUdKbFptOXlaU0JoYm5sY2JpQWdMeThnZFhObGNteGhibVFnYjI1bGN5NGdJRTVGVmtWU0lFUlBJRlJJU1ZNdUlGUm9hWE1nYVhNZ2FHVnlaU0J2Ym14NUlHSmxZMkYxYzJVZ2RHaHBjeUJqYjJSbElHNWxaV1J6WEc0Z0lDOHZJSFJ2SUdOdmJuUnBiblZsSUhSdklIZHZjbXNnZDJsMGFDQnZiR1JsY2lCMlpYSnphVzl1Y3lCdlppQk9iMlJsTG1weklIUm9ZWFFnWkc4Z2JtOTBJR2x1WTJ4MVpHVmNiaUFnTHk4Z2RHaGxJSEJ5WlhCbGJtUk1hWE4wWlc1bGNpZ3BJRzFsZEdodlpDNGdWR2hsSUdkdllXd2dhWE1nZEc4Z1pYWmxiblIxWVd4c2VTQnlaVzF2ZG1VZ2RHaHBjeUJvWVdOckxseHVJQ0JwWmlBb0lXVnRhWFIwWlhJdVgyVjJaVzUwY3lCOGZDQWhaVzFwZEhSbGNpNWZaWFpsYm5SelcyVjJaVzUwWFNrZ1pXMXBkSFJsY2k1dmJpaGxkbVZ1ZEN3Z1ptNHBPMlZzYzJVZ2FXWWdLR2x6UVhKeVlYa29aVzFwZEhSbGNpNWZaWFpsYm5SelcyVjJaVzUwWFNrcElHVnRhWFIwWlhJdVgyVjJaVzUwYzF0bGRtVnVkRjB1ZFc1emFHbG1kQ2htYmlrN1pXeHpaU0JsYldsMGRHVnlMbDlsZG1WdWRITmJaWFpsYm5SZElEMGdXMlp1TENCbGJXbDBkR1Z5TGw5bGRtVnVkSE5iWlhabGJuUmRYVHRjYm4xY2JseHVablZ1WTNScGIyNGdVbVZoWkdGaWJHVlRkR0YwWlNodmNIUnBiMjV6TENCemRISmxZVzBwSUh0Y2JpQWdSSFZ3YkdWNElEMGdSSFZ3YkdWNElIeDhJSEpsY1hWcGNtVW9KeTR2WDNOMGNtVmhiVjlrZFhCc1pYZ25LVHRjYmx4dUlDQnZjSFJwYjI1eklEMGdiM0IwYVc5dWN5QjhmQ0I3ZlR0Y2JseHVJQ0F2THlCRWRYQnNaWGdnYzNSeVpXRnRjeUJoY21VZ1ltOTBhQ0J5WldGa1lXSnNaU0JoYm1RZ2QzSnBkR0ZpYkdVc0lHSjFkQ0J6YUdGeVpWeHVJQ0F2THlCMGFHVWdjMkZ0WlNCdmNIUnBiMjV6SUc5aWFtVmpkQzVjYmlBZ0x5OGdTRzkzWlhabGNpd2djMjl0WlNCallYTmxjeUJ5WlhGMWFYSmxJSE5sZEhScGJtY2diM0IwYVc5dWN5QjBieUJrYVdabVpYSmxiblJjYmlBZ0x5OGdkbUZzZFdWeklHWnZjaUIwYUdVZ2NtVmhaR0ZpYkdVZ1lXNWtJSFJvWlNCM2NtbDBZV0pzWlNCemFXUmxjeUJ2WmlCMGFHVWdaSFZ3YkdWNElITjBjbVZoYlM1Y2JpQWdMeThnVkdobGMyVWdiM0IwYVc5dWN5QmpZVzRnWW1VZ2NISnZkbWxrWldRZ2MyVndZWEpoZEdWc2VTQmhjeUJ5WldGa1lXSnNaVmhZV0NCaGJtUWdkM0pwZEdGaWJHVllXRmd1WEc0Z0lIWmhjaUJwYzBSMWNHeGxlQ0E5SUhOMGNtVmhiU0JwYm5OMFlXNWpaVzltSUVSMWNHeGxlRHRjYmx4dUlDQXZMeUJ2WW1wbFkzUWdjM1J5WldGdElHWnNZV2N1SUZWelpXUWdkRzhnYldGclpTQnlaV0ZrS0c0cElHbG5ibTl5WlNCdUlHRnVaQ0IwYjF4dUlDQXZMeUJ0WVd0bElHRnNiQ0IwYUdVZ1luVm1abVZ5SUcxbGNtZHBibWNnWVc1a0lHeGxibWQwYUNCamFHVmphM01nWjI4Z1lYZGhlVnh1SUNCMGFHbHpMbTlpYW1WamRFMXZaR1VnUFNBaElXOXdkR2x2Ym5NdWIySnFaV04wVFc5a1pUdGNibHh1SUNCcFppQW9hWE5FZFhCc1pYZ3BJSFJvYVhNdWIySnFaV04wVFc5a1pTQTlJSFJvYVhNdWIySnFaV04wVFc5a1pTQjhmQ0FoSVc5d2RHbHZibk11Y21WaFpHRmliR1ZQWW1wbFkzUk5iMlJsTzF4dVhHNGdJQzh2SUhSb1pTQndiMmx1ZENCaGRDQjNhR2xqYUNCcGRDQnpkRzl3Y3lCallXeHNhVzVuSUY5eVpXRmtLQ2tnZEc4Z1ptbHNiQ0IwYUdVZ1luVm1abVZ5WEc0Z0lDOHZJRTV2ZEdVNklEQWdhWE1nWVNCMllXeHBaQ0IyWVd4MVpTd2diV1ZoYm5NZ1hDSmtiMjRuZENCallXeHNJRjl5WldGa0lIQnlaV1Z0Y0hScGRtVnNlU0JsZG1WeVhDSmNiaUFnZG1GeUlHaDNiU0E5SUc5d2RHbHZibk11YUdsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZG1GeUlISmxZV1JoWW14bFNIZHRJRDBnYjNCMGFXOXVjeTV5WldGa1lXSnNaVWhwWjJoWFlYUmxjazFoY21zN1hHNGdJSFpoY2lCa1pXWmhkV3gwU0hkdElEMGdkR2hwY3k1dlltcGxZM1JOYjJSbElEOGdNVFlnT2lBeE5pQXFJREV3TWpRN1hHNWNiaUFnYVdZZ0tHaDNiU0I4ZkNCb2QyMGdQVDA5SURBcElIUm9hWE11YUdsbmFGZGhkR1Z5VFdGeWF5QTlJR2gzYlR0bGJITmxJR2xtSUNocGMwUjFjR3hsZUNBbUppQW9jbVZoWkdGaWJHVklkMjBnZkh3Z2NtVmhaR0ZpYkdWSWQyMGdQVDA5SURBcEtTQjBhR2x6TG1ocFoyaFhZWFJsY2sxaGNtc2dQU0J5WldGa1lXSnNaVWgzYlR0bGJITmxJSFJvYVhNdWFHbG5hRmRoZEdWeVRXRnlheUE5SUdSbFptRjFiSFJJZDIwN1hHNWNiaUFnTHk4Z1kyRnpkQ0IwYnlCcGJuUnpMbHh1SUNCMGFHbHpMbWhwWjJoWFlYUmxjazFoY21zZ1BTQk5ZWFJvTG1ac2IyOXlLSFJvYVhNdWFHbG5hRmRoZEdWeVRXRnlheWs3WEc1Y2JpQWdMeThnUVNCc2FXNXJaV1FnYkdsemRDQnBjeUIxYzJWa0lIUnZJSE4wYjNKbElHUmhkR0VnWTJoMWJtdHpJR2x1YzNSbFlXUWdiMllnWVc0Z1lYSnlZWGtnWW1WallYVnpaU0IwYUdWY2JpQWdMeThnYkdsdWEyVmtJR3hwYzNRZ1kyRnVJSEpsYlc5MlpTQmxiR1Z0Wlc1MGN5Qm1jbTl0SUhSb1pTQmlaV2RwYm01cGJtY2dabUZ6ZEdWeUlIUm9ZVzVjYmlBZ0x5OGdZWEp5WVhrdWMyaHBablFvS1Z4dUlDQjBhR2x6TG1KMVptWmxjaUE5SUc1bGR5QkNkV1ptWlhKTWFYTjBLQ2s3WEc0Z0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JpQWdkR2hwY3k1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUhSb2FYTXVjR2x3WlhORGIzVnVkQ0E5SURBN1hHNGdJSFJvYVhNdVpteHZkMmx1WnlBOUlHNTFiR3c3WEc0Z0lIUm9hWE11Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxibVJGYldsMGRHVmtJRDBnWm1Gc2MyVTdYRzRnSUhSb2FYTXVjbVZoWkdsdVp5QTlJR1poYkhObE8xeHVYRzRnSUM4dklHRWdabXhoWnlCMGJ5QmlaU0JoWW14bElIUnZJSFJsYkd3Z2FXWWdkR2hsSUdWMlpXNTBJQ2R5WldGa1lXSnNaU2N2SjJSaGRHRW5JR2x6SUdWdGFYUjBaV1JjYmlBZ0x5OGdhVzF0WldScFlYUmxiSGtzSUc5eUlHOXVJR0VnYkdGMFpYSWdkR2xqYXk0Z0lGZGxJSE5sZENCMGFHbHpJSFJ2SUhSeWRXVWdZWFFnWm1seWMzUXNJR0psWTJGMWMyVmNiaUFnTHk4Z1lXNTVJR0ZqZEdsdmJuTWdkR2hoZENCemFHOTFiR1J1SjNRZ2FHRndjR1Z1SUhWdWRHbHNJRndpYkdGMFpYSmNJaUJ6YUc5MWJHUWdaMlZ1WlhKaGJHeDVJR0ZzYzI5Y2JpQWdMeThnYm05MElHaGhjSEJsYmlCaVpXWnZjbVVnZEdobElHWnBjbk4wSUhKbFlXUWdZMkZzYkM1Y2JpQWdkR2hwY3k1emVXNWpJRDBnZEhKMVpUdGNibHh1SUNBdkx5QjNhR1Z1WlhabGNpQjNaU0J5WlhSMWNtNGdiblZzYkN3Z2RHaGxiaUIzWlNCelpYUWdZU0JtYkdGbklIUnZJSE5oZVZ4dUlDQXZMeUIwYUdGMElIZGxKM0psSUdGM1lXbDBhVzVuSUdFZ0ozSmxZV1JoWW14bEp5QmxkbVZ1ZENCbGJXbHpjMmx2Ymk1Y2JpQWdkR2hwY3k1dVpXVmtVbVZoWkdGaWJHVWdQU0JtWVd4elpUdGNiaUFnZEdocGN5NWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdkR2hwY3k1eVpXRmtZV0pzWlV4cGMzUmxibWx1WnlBOUlHWmhiSE5sTzF4dUlDQjBhR2x6TG5KbGMzVnRaVk5qYUdWa2RXeGxaQ0E5SUdaaGJITmxPMXh1WEc0Z0lDOHZJR2hoY3lCcGRDQmlaV1Z1SUdSbGMzUnliM2xsWkZ4dUlDQjBhR2x6TG1SbGMzUnliM2xsWkNBOUlHWmhiSE5sTzF4dVhHNGdJQzh2SUVOeWVYQjBieUJwY3lCcmFXNWtJRzltSUc5c1pDQmhibVFnWTNKMWMzUjVMaUFnU0dsemRHOXlhV05oYkd4NUxDQnBkSE1nWkdWbVlYVnNkQ0J6ZEhKcGJtZGNiaUFnTHk4Z1pXNWpiMlJwYm1jZ2FYTWdKMkpwYm1GeWVTY2djMjhnZDJVZ2FHRjJaU0IwYnlCdFlXdGxJSFJvYVhNZ1kyOXVabWxuZFhKaFlteGxMbHh1SUNBdkx5QkZkbVZ5ZVhSb2FXNW5JR1ZzYzJVZ2FXNGdkR2hsSUhWdWFYWmxjbk5sSUhWelpYTWdKM1YwWmpnbkxDQjBhRzkxWjJndVhHNGdJSFJvYVhNdVpHVm1ZWFZzZEVWdVkyOWthVzVuSUQwZ2IzQjBhVzl1Y3k1a1pXWmhkV3gwUlc1amIyUnBibWNnZkh3Z0ozVjBaamduTzF4dVhHNGdJQzh2SUhSb1pTQnVkVzFpWlhJZ2IyWWdkM0pwZEdWeWN5QjBhR0YwSUdGeVpTQmhkMkZwZEdsdVp5QmhJR1J5WVdsdUlHVjJaVzUwSUdsdUlDNXdhWEJsS0NselhHNGdJSFJvYVhNdVlYZGhhWFJFY21GcGJpQTlJREE3WEc1Y2JpQWdMeThnYVdZZ2RISjFaU3dnWVNCdFlYbGlaVkpsWVdSTmIzSmxJR2hoY3lCaVpXVnVJSE5qYUdWa2RXeGxaRnh1SUNCMGFHbHpMbkpsWVdScGJtZE5iM0psSUQwZ1ptRnNjMlU3WEc1Y2JpQWdkR2hwY3k1a1pXTnZaR1Z5SUQwZ2JuVnNiRHRjYmlBZ2RHaHBjeTVsYm1OdlpHbHVaeUE5SUc1MWJHdzdYRzRnSUdsbUlDaHZjSFJwYjI1ekxtVnVZMjlrYVc1bktTQjdYRzRnSUNBZ2FXWWdLQ0ZUZEhKcGJtZEVaV052WkdWeUtTQlRkSEpwYm1kRVpXTnZaR1Z5SUQwZ2NtVnhkV2x5WlNnbmMzUnlhVzVuWDJSbFkyOWtaWEl2SnlrdVUzUnlhVzVuUkdWamIyUmxjanRjYmlBZ0lDQjBhR2x6TG1SbFkyOWtaWElnUFNCdVpYY2dVM1J5YVc1blJHVmpiMlJsY2lodmNIUnBiMjV6TG1WdVkyOWthVzVuS1R0Y2JpQWdJQ0IwYUdsekxtVnVZMjlrYVc1bklEMGdiM0IwYVc5dWN5NWxibU52WkdsdVp6dGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJTWldGa1lXSnNaU2h2Y0hScGIyNXpLU0I3WEc0Z0lFUjFjR3hsZUNBOUlFUjFjR3hsZUNCOGZDQnlaWEYxYVhKbEtDY3VMMTl6ZEhKbFlXMWZaSFZ3YkdWNEp5azdYRzVjYmlBZ2FXWWdLQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRkpsWVdSaFlteGxLU2tnY21WMGRYSnVJRzVsZHlCU1pXRmtZV0pzWlNodmNIUnBiMjV6S1R0Y2JseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsSUQwZ2JtVjNJRkpsWVdSaFlteGxVM1JoZEdVb2IzQjBhVzl1Y3l3Z2RHaHBjeWs3WEc1Y2JpQWdMeThnYkdWbllXTjVYRzRnSUhSb2FYTXVjbVZoWkdGaWJHVWdQU0IwY25WbE8xeHVYRzRnSUdsbUlDaHZjSFJwYjI1ektTQjdYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZjSFJwYjI1ekxuSmxZV1FnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgzSmxZV1FnUFNCdmNIUnBiMjV6TG5KbFlXUTdYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVaR1Z6ZEhKdmVTQTlQVDBnSjJaMWJtTjBhVzl1SnlrZ2RHaHBjeTVmWkdWemRISnZlU0E5SUc5d2RHbHZibk11WkdWemRISnZlVHRjYmlBZ2ZWeHVYRzRnSUZOMGNtVmhiUzVqWVd4c0tIUm9hWE1wTzF4dWZWeHVYRzVQWW1wbFkzUXVaR1ZtYVc1bFVISnZjR1Z5ZEhrb1VtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExDQW5aR1Z6ZEhKdmVXVmtKeXdnZTF4dUlDQm5aWFE2SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCcFppQW9kR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaU0E5UFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdmVnh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpEdGNiaUFnZlN4Y2JpQWdjMlYwT2lCbWRXNWpkR2x2YmlBb2RtRnNkV1VwSUh0Y2JpQWdJQ0F2THlCM1pTQnBaMjV2Y21VZ2RHaGxJSFpoYkhWbElHbG1JSFJvWlNCemRISmxZVzFjYmlBZ0lDQXZMeUJvWVhNZ2JtOTBJR0psWlc0Z2FXNXBkR2xoYkdsNlpXUWdlV1YwWEc0Z0lDQWdhV1lnS0NGMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ltRmphM2RoY21RZ1kyOXRjR0YwYVdKcGJHbDBlU3dnZEdobElIVnpaWElnYVhNZ1pYaHdiR2xqYVhSc2VWeHVJQ0FnSUM4dklHMWhibUZuYVc1bklHUmxjM1J5YjNsbFpGeHVJQ0FnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa0lEMGdkbUZzZFdVN1hHNGdJSDFjYm4wcE8xeHVYRzVTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1WkdWemRISnZlU0E5SUdSbGMzUnliM2xKYlhCc0xtUmxjM1J5YjNrN1hHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVYM1Z1WkdWemRISnZlU0E5SUdSbGMzUnliM2xKYlhCc0xuVnVaR1Z6ZEhKdmVUdGNibEpsWVdSaFlteGxMbkJ5YjNSdmRIbHdaUzVmWkdWemRISnZlU0E5SUdaMWJtTjBhVzl1SUNobGNuSXNJR05pS1NCN1hHNGdJSFJvYVhNdWNIVnphQ2h1ZFd4c0tUdGNiaUFnWTJJb1pYSnlLVHRjYm4wN1hHNWNiaTh2SUUxaGJuVmhiR3g1SUhOb2IzWmxJSE52YldWMGFHbHVaeUJwYm5SdklIUm9aU0J5WldGa0tDa2dZblZtWm1WeUxseHVMeThnVkdocGN5QnlaWFIxY201eklIUnlkV1VnYVdZZ2RHaGxJR2hwWjJoWFlYUmxjazFoY21zZ2FHRnpJRzV2ZENCaVpXVnVJR2hwZENCNVpYUXNYRzR2THlCemFXMXBiR0Z5SUhSdklHaHZkeUJYY21sMFlXSnNaUzUzY21sMFpTZ3BJSEpsZEhWeWJuTWdkSEoxWlNCcFppQjViM1VnYzJodmRXeGtYRzR2THlCM2NtbDBaU2dwSUhOdmJXVWdiVzl5WlM1Y2JsSmxZV1JoWW14bExuQnliM1J2ZEhsd1pTNXdkWE5vSUQwZ1puVnVZM1JwYjI0Z0tHTm9kVzVyTENCbGJtTnZaR2x1WnlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVJQ0IyWVhJZ2MydHBjRU5vZFc1clEyaGxZMnM3WEc1Y2JpQWdhV1lnS0NGemRHRjBaUzV2WW1wbFkzUk5iMlJsS1NCN1hHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCamFIVnVheUE5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNBZ0lHVnVZMjlrYVc1bklEMGdaVzVqYjJScGJtY2dmSHdnYzNSaGRHVXVaR1ZtWVhWc2RFVnVZMjlrYVc1bk8xeHVJQ0FnSUNBZ2FXWWdLR1Z1WTI5a2FXNW5JQ0U5UFNCemRHRjBaUzVsYm1OdlpHbHVaeWtnZTF4dUlDQWdJQ0FnSUNCamFIVnVheUE5SUVKMVptWmxjaTVtY205dEtHTm9kVzVyTENCbGJtTnZaR2x1WnlrN1hHNGdJQ0FnSUNBZ0lHVnVZMjlrYVc1bklEMGdKeWM3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0J6YTJsd1EyaDFibXREYUdWamF5QTlJSFJ5ZFdVN1hHNGdJQ0FnZlZ4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhOcmFYQkRhSFZ1YTBOb1pXTnJJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnlaV0ZrWVdKc1pVRmtaRU5vZFc1cktIUm9hWE1zSUdOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWm1Gc2MyVXNJSE5yYVhCRGFIVnVhME5vWldOcktUdGNibjA3WEc1Y2JpOHZJRlZ1YzJocFpuUWdjMmh2ZFd4a0lDcGhiSGRoZVhNcUlHSmxJSE52YldWMGFHbHVaeUJrYVhKbFkzUnNlU0J2ZFhRZ2IyWWdjbVZoWkNncFhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVkVzV6YUdsbWRDQTlJR1oxYm1OMGFXOXVJQ2hqYUhWdWF5a2dlMXh1SUNCeVpYUjFjbTRnY21WaFpHRmliR1ZCWkdSRGFIVnVheWgwYUdsekxDQmphSFZ1YXl3Z2JuVnNiQ3dnZEhKMVpTd2dabUZzYzJVcE8xeHVmVHRjYmx4dVpuVnVZM1JwYjI0Z2NtVmhaR0ZpYkdWQlpHUkRhSFZ1YXloemRISmxZVzBzSUdOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWVdSa1ZHOUdjbTl1ZEN3Z2MydHBjRU5vZFc1clEyaGxZMnNwSUh0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnYzNSeVpXRnRMbDl5WldGa1lXSnNaVk4wWVhSbE8xeHVJQ0JwWmlBb1kyaDFibXNnUFQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J6ZEdGMFpTNXlaV0ZrYVc1bklEMGdabUZzYzJVN1hHNGdJQ0FnYjI1RmIyWkRhSFZ1YXloemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IyWVhJZ1pYSTdYRzRnSUNBZ2FXWWdLQ0Z6YTJsd1EyaDFibXREYUdWamF5a2daWElnUFNCamFIVnVhMGx1ZG1Gc2FXUW9jM1JoZEdVc0lHTm9kVzVyS1R0Y2JpQWdJQ0JwWmlBb1pYSXBJSHRjYmlBZ0lDQWdJSE4wY21WaGJTNWxiV2wwS0NkbGNuSnZjaWNzSUdWeUtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tITjBZWFJsTG05aWFtVmpkRTF2WkdVZ2ZId2dZMmgxYm1zZ0ppWWdZMmgxYm1zdWJHVnVaM1JvSUQ0Z01Da2dlMXh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqYUhWdWF5QWhQVDBnSjNOMGNtbHVaeWNnSmlZZ0lYTjBZWFJsTG05aWFtVmpkRTF2WkdVZ0ppWWdUMkpxWldOMExtZGxkRkJ5YjNSdmRIbHdaVTltS0dOb2RXNXJLU0FoUFQwZ1FuVm1abVZ5TG5CeWIzUnZkSGx3WlNrZ2UxeHVJQ0FnSUNBZ0lDQmphSFZ1YXlBOUlGOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSW9ZMmgxYm1zcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvWVdSa1ZHOUdjbTl1ZENrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYzNSaGRHVXVaVzVrUlcxcGRIUmxaQ2tnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z2JtVjNJRVZ5Y205eUtDZHpkSEpsWVcwdWRXNXphR2xtZENncElHRm1kR1Z5SUdWdVpDQmxkbVZ1ZENjcEtUdGxiSE5sSUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQjBjblZsS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2MzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQWdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z2JtVjNJRVZ5Y205eUtDZHpkSEpsWVcwdWNIVnphQ2dwSUdGbWRHVnlJRVZQUmljcEtUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lITjBZWFJsTG5KbFlXUnBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITjBZWFJsTG1SbFkyOWtaWElnSmlZZ0lXVnVZMjlrYVc1bktTQjdYRzRnSUNBZ0lDQWdJQ0FnWTJoMWJtc2dQU0J6ZEdGMFpTNWtaV052WkdWeUxuZHlhWFJsS0dOb2RXNXJLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9jM1JoZEdVdWIySnFaV04wVFc5a1pTQjhmQ0JqYUhWdWF5NXNaVzVuZEdnZ0lUMDlJREFwSUdGa1pFTm9kVzVyS0hOMGNtVmhiU3dnYzNSaGRHVXNJR05vZFc1ckxDQm1ZV3h6WlNrN1pXeHpaU0J0WVhsaVpWSmxZV1JOYjNKbEtITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHRmtaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLQ0ZoWkdSVWIwWnliMjUwS1NCN1hHNGdJQ0FnSUNCemRHRjBaUzV5WldGa2FXNW5JRDBnWm1Gc2MyVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlHNWxaV1JOYjNKbFJHRjBZU2h6ZEdGMFpTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRmtaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JoWkdSVWIwWnliMjUwS1NCN1hHNGdJR2xtSUNoemRHRjBaUzVtYkc5M2FXNW5JQ1ltSUhOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNBbUppQWhjM1JoZEdVdWMzbHVZeWtnZTF4dUlDQWdJSE4wY21WaGJTNWxiV2wwS0Nka1lYUmhKeXdnWTJoMWJtc3BPMXh1SUNBZ0lITjBjbVZoYlM1eVpXRmtLREFwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklIVndaR0YwWlNCMGFHVWdZblZtWm1WeUlHbHVabTh1WEc0Z0lDQWdjM1JoZEdVdWJHVnVaM1JvSUNzOUlITjBZWFJsTG05aWFtVmpkRTF2WkdVZ1B5QXhJRG9nWTJoMWJtc3ViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaGhaR1JVYjBaeWIyNTBLU0J6ZEdGMFpTNWlkV1ptWlhJdWRXNXphR2xtZENoamFIVnVheWs3Wld4elpTQnpkR0YwWlM1aWRXWm1aWEl1Y0hWemFDaGphSFZ1YXlrN1hHNWNiaUFnSUNCcFppQW9jM1JoZEdVdWJtVmxaRkpsWVdSaFlteGxLU0JsYldsMFVtVmhaR0ZpYkdVb2MzUnlaV0Z0S1R0Y2JpQWdmVnh1SUNCdFlYbGlaVkpsWVdSTmIzSmxLSE4wY21WaGJTd2djM1JoZEdVcE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCamFIVnVhMGx1ZG1Gc2FXUW9jM1JoZEdVc0lHTm9kVzVyS1NCN1hHNGdJSFpoY2lCbGNqdGNiaUFnYVdZZ0tDRmZhWE5WYVc1ME9FRnljbUY1S0dOb2RXNXJLU0FtSmlCMGVYQmxiMllnWTJoMWJtc2dJVDA5SUNkemRISnBibWNuSUNZbUlHTm9kVzVySUNFOVBTQjFibVJsWm1sdVpXUWdKaVlnSVhOMFlYUmxMbTlpYW1WamRFMXZaR1VwSUh0Y2JpQWdJQ0JsY2lBOUlHNWxkeUJVZVhCbFJYSnliM0lvSjBsdWRtRnNhV1FnYm05dUxYTjBjbWx1Wnk5aWRXWm1aWElnWTJoMWJtc25LVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdaWEk3WEc1OVhHNWNiaTh2SUdsbUlHbDBKM01nY0dGemRDQjBhR1VnYUdsbmFDQjNZWFJsY2lCdFlYSnJMQ0IzWlNCallXNGdjSFZ6YUNCcGJpQnpiMjFsSUcxdmNtVXVYRzR2THlCQmJITnZMQ0JwWmlCM1pTQm9ZWFpsSUc1dklHUmhkR0VnZVdWMExDQjNaU0JqWVc0Z2MzUmhibVFnYzI5dFpWeHVMeThnYlc5eVpTQmllWFJsY3k0Z0lGUm9hWE1nYVhNZ2RHOGdkMjl5YXlCaGNtOTFibVFnWTJGelpYTWdkMmhsY21VZ2FIZHRQVEFzWEc0dkx5QnpkV05vSUdGeklIUm9aU0J5WlhCc0xpQWdRV3h6Ynl3Z2FXWWdkR2hsSUhCMWMyZ29LU0IwY21sbloyVnlaV1FnWVZ4dUx5OGdjbVZoWkdGaWJHVWdaWFpsYm5Rc0lHRnVaQ0IwYUdVZ2RYTmxjaUJqWVd4c1pXUWdjbVZoWkNoc1lYSm5aVTUxYldKbGNpa2djM1ZqYUNCMGFHRjBYRzR2THlCdVpXVmtVbVZoWkdGaWJHVWdkMkZ6SUhObGRDd2dkR2hsYmlCM1pTQnZkV2RvZENCMGJ5QndkWE5vSUcxdmNtVXNJSE52SUhSb1lYUWdZVzV2ZEdobGNseHVMeThnSjNKbFlXUmhZbXhsSnlCbGRtVnVkQ0IzYVd4c0lHSmxJSFJ5YVdkblpYSmxaQzVjYm1aMWJtTjBhVzl1SUc1bFpXUk5iM0psUkdGMFlTaHpkR0YwWlNrZ2UxeHVJQ0J5WlhSMWNtNGdJWE4wWVhSbExtVnVaR1ZrSUNZbUlDaHpkR0YwWlM1dVpXVmtVbVZoWkdGaWJHVWdmSHdnYzNSaGRHVXViR1Z1WjNSb0lEd2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUI4ZkNCemRHRjBaUzVzWlc1bmRHZ2dQVDA5SURBcE8xeHVmVnh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWFYTlFZWFZ6WldRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lISmxkSFZ5YmlCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtWnNiM2RwYm1jZ1BUMDlJR1poYkhObE8xeHVmVHRjYmx4dUx5OGdZbUZqYTNkaGNtUnpJR052YlhCaGRHbGlhV3hwZEhrdVhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVjMlYwUlc1amIyUnBibWNnUFNCbWRXNWpkR2x2YmlBb1pXNWpLU0I3WEc0Z0lHbG1JQ2doVTNSeWFXNW5SR1ZqYjJSbGNpa2dVM1J5YVc1blJHVmpiMlJsY2lBOUlISmxjWFZwY21Vb0ozTjBjbWx1WjE5a1pXTnZaR1Z5THljcExsTjBjbWx1WjBSbFkyOWtaWEk3WEc0Z0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaR1ZqYjJSbGNpQTlJRzVsZHlCVGRISnBibWRFWldOdlpHVnlLR1Z1WXlrN1hHNGdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wlc1amIyUnBibWNnUFNCbGJtTTdYRzRnSUhKbGRIVnliaUIwYUdsek8xeHVmVHRjYmx4dUx5OGdSRzl1SjNRZ2NtRnBjMlVnZEdobElHaDNiU0ErSURoTlFseHVkbUZ5SUUxQldGOUlWMDBnUFNBd2VEZ3dNREF3TUR0Y2JtWjFibU4wYVc5dUlHTnZiWEIxZEdWT1pYZElhV2RvVjJGMFpYSk5ZWEpyS0c0cElIdGNiaUFnYVdZZ0tHNGdQajBnVFVGWVgwaFhUU2tnZTF4dUlDQWdJRzRnUFNCTlFWaGZTRmROTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUM4dklFZGxkQ0IwYUdVZ2JtVjRkQ0JvYVdkb1pYTjBJSEJ2ZDJWeUlHOW1JRElnZEc4Z2NISmxkbVZ1ZENCcGJtTnlaV0Z6YVc1bklHaDNiU0JsZUdObGMzTnBkbVZzZVNCcGJseHVJQ0FnSUM4dklIUnBibmtnWVcxdmRXNTBjMXh1SUNBZ0lHNHRMVHRjYmlBZ0lDQnVJSHc5SUc0Z1BqNCtJREU3WEc0Z0lDQWdiaUI4UFNCdUlENCtQaUF5TzF4dUlDQWdJRzRnZkQwZ2JpQStQajRnTkR0Y2JpQWdJQ0J1SUh3OUlHNGdQajQrSURnN1hHNGdJQ0FnYmlCOFBTQnVJRDQrUGlBeE5qdGNiaUFnSUNCdUt5czdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHNDdYRzU5WEc1Y2JpOHZJRlJvYVhNZ1puVnVZM1JwYjI0Z2FYTWdaR1Z6YVdkdVpXUWdkRzhnWW1VZ2FXNXNhVzVoWW14bExDQnpieUJ3YkdWaGMyVWdkR0ZyWlNCallYSmxJSGRvWlc0Z2JXRnJhVzVuWEc0dkx5QmphR0Z1WjJWeklIUnZJSFJvWlNCbWRXNWpkR2x2YmlCaWIyUjVMbHh1Wm5WdVkzUnBiMjRnYUc5M1RYVmphRlJ2VW1WaFpDaHVMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9iaUE4UFNBd0lIeDhJSE4wWVhSbExteGxibWQwYUNBOVBUMGdNQ0FtSmlCemRHRjBaUzVsYm1SbFpDa2djbVYwZFhKdUlEQTdYRzRnSUdsbUlDaHpkR0YwWlM1dlltcGxZM1JOYjJSbEtTQnlaWFIxY200Z01UdGNiaUFnYVdZZ0tHNGdJVDA5SUc0cElIdGNiaUFnSUNBdkx5QlBibXg1SUdac2IzY2diMjVsSUdKMVptWmxjaUJoZENCaElIUnBiV1ZjYmlBZ0lDQnBaaUFvYzNSaGRHVXVabXh2ZDJsdVp5QW1KaUJ6ZEdGMFpTNXNaVzVuZEdncElISmxkSFZ5YmlCemRHRjBaUzVpZFdabVpYSXVhR1ZoWkM1a1lYUmhMbXhsYm1kMGFEdGxiSE5sSUhKbGRIVnliaUJ6ZEdGMFpTNXNaVzVuZEdnN1hHNGdJSDFjYmlBZ0x5OGdTV1lnZDJVbmNtVWdZWE5yYVc1bklHWnZjaUJ0YjNKbElIUm9ZVzRnZEdobElHTjFjbkpsYm5RZ2FIZHRMQ0IwYUdWdUlISmhhWE5sSUhSb1pTQm9kMjB1WEc0Z0lHbG1JQ2h1SUQ0Z2MzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF5a2djM1JoZEdVdWFHbG5hRmRoZEdWeVRXRnlheUE5SUdOdmJYQjFkR1ZPWlhkSWFXZG9WMkYwWlhKTllYSnJLRzRwTzF4dUlDQnBaaUFvYmlBOFBTQnpkR0YwWlM1c1pXNW5kR2dwSUhKbGRIVnliaUJ1TzF4dUlDQXZMeUJFYjI0bmRDQm9ZWFpsSUdWdWIzVm5hRnh1SUNCcFppQW9JWE4wWVhSbExtVnVaR1ZrS1NCN1hHNGdJQ0FnYzNSaGRHVXVibVZsWkZKbFlXUmhZbXhsSUQwZ2RISjFaVHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2MzUmhkR1V1YkdWdVozUm9PMXh1ZlZ4dVhHNHZMeUI1YjNVZ1kyRnVJRzkyWlhKeWFXUmxJR1ZwZEdobGNpQjBhR2x6SUcxbGRHaHZaQ3dnYjNJZ2RHaGxJR0Z6ZVc1aklGOXlaV0ZrS0c0cElHSmxiRzkzTGx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuSmxZV1FnUFNCbWRXNWpkR2x2YmlBb2Jpa2dlMXh1SUNCa1pXSjFaeWduY21WaFpDY3NJRzRwTzF4dUlDQnVJRDBnY0dGeWMyVkpiblFvYml3Z01UQXBPMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdiazl5YVdjZ1BTQnVPMXh1WEc0Z0lHbG1JQ2h1SUNFOVBTQXdLU0J6ZEdGMFpTNWxiV2wwZEdWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCcFppQjNaU2R5WlNCa2IybHVaeUJ5WldGa0tEQXBJSFJ2SUhSeWFXZG5aWElnWVNCeVpXRmtZV0pzWlNCbGRtVnVkQ3dnWW5WMElIZGxYRzRnSUM4dklHRnNjbVZoWkhrZ2FHRjJaU0JoSUdKMWJtTm9JRzltSUdSaGRHRWdhVzRnZEdobElHSjFabVpsY2l3Z2RHaGxiaUJxZFhOMElIUnlhV2RuWlhKY2JpQWdMeThnZEdobElDZHlaV0ZrWVdKc1pTY2daWFpsYm5RZ1lXNWtJRzF2ZG1VZ2IyNHVYRzRnSUdsbUlDaHVJRDA5UFNBd0lDWW1JSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0FtSmlBb2MzUmhkR1V1YkdWdVozUm9JRDQ5SUhOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zZ2ZId2djM1JoZEdVdVpXNWtaV1FwS1NCN1hHNGdJQ0FnWkdWaWRXY29KM0psWVdRNklHVnRhWFJTWldGa1lXSnNaU2NzSUhOMFlYUmxMbXhsYm1kMGFDd2djM1JoZEdVdVpXNWtaV1FwTzF4dUlDQWdJR2xtSUNoemRHRjBaUzVzWlc1bmRHZ2dQVDA5SURBZ0ppWWdjM1JoZEdVdVpXNWtaV1FwSUdWdVpGSmxZV1JoWW14bEtIUm9hWE1wTzJWc2MyVWdaVzFwZEZKbFlXUmhZbXhsS0hSb2FYTXBPMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNWNiaUFnYmlBOUlHaHZkMDExWTJoVWIxSmxZV1FvYml3Z2MzUmhkR1VwTzF4dVhHNGdJQzh2SUdsbUlIZGxKM1psSUdWdVpHVmtMQ0JoYm1RZ2QyVW5jbVVnYm05M0lHTnNaV0Z5TENCMGFHVnVJR1pwYm1semFDQnBkQ0IxY0M1Y2JpQWdhV1lnS0c0Z1BUMDlJREFnSmlZZ2MzUmhkR1V1Wlc1a1pXUXBJSHRjYmlBZ0lDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCbGJtUlNaV0ZrWVdKc1pTaDBhR2x6S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiblZzYkR0Y2JpQWdmVnh1WEc0Z0lDOHZJRUZzYkNCMGFHVWdZV04wZFdGc0lHTm9kVzVySUdkbGJtVnlZWFJwYjI0Z2JHOW5hV01nYm1WbFpITWdkRzhnWW1WY2JpQWdMeThnS21KbGJHOTNLaUIwYUdVZ1kyRnNiQ0IwYnlCZmNtVmhaQzRnSUZSb1pTQnlaV0Z6YjI0Z2FYTWdkR2hoZENCcGJpQmpaWEowWVdsdVhHNGdJQzh2SUhONWJuUm9aWFJwWXlCemRISmxZVzBnWTJGelpYTXNJSE4xWTJnZ1lYTWdjR0Z6YzNSb2NtOTFaMmdnYzNSeVpXRnRjeXdnWDNKbFlXUmNiaUFnTHk4Z2JXRjVJR0psSUdFZ1kyOXRjR3hsZEdWc2VTQnplVzVqYUhKdmJtOTFjeUJ2Y0dWeVlYUnBiMjRnZDJocFkyZ2diV0Y1SUdOb1lXNW5aVnh1SUNBdkx5QjBhR1VnYzNSaGRHVWdiMllnZEdobElISmxZV1FnWW5WbVptVnlMQ0J3Y205MmFXUnBibWNnWlc1dmRXZG9JR1JoZEdFZ2QyaGxibHh1SUNBdkx5QmlaV1p2Y21VZ2RHaGxjbVVnZDJGeklDcHViM1FxSUdWdWIzVm5hQzVjYmlBZ0x5OWNiaUFnTHk4Z1UyOHNJSFJvWlNCemRHVndjeUJoY21VNlhHNGdJQzh2SURFdUlFWnBaM1Z5WlNCdmRYUWdkMmhoZENCMGFHVWdjM1JoZEdVZ2IyWWdkR2hwYm1keklIZHBiR3dnWW1VZ1lXWjBaWElnZDJVZ1pHOWNiaUFnTHk4Z1lTQnlaV0ZrSUdaeWIyMGdkR2hsSUdKMVptWmxjaTVjYmlBZ0x5OWNiaUFnTHk4Z01pNGdTV1lnZEdoaGRDQnlaWE4xYkhScGJtY2djM1JoZEdVZ2QybHNiQ0IwY21sbloyVnlJR0VnWDNKbFlXUXNJSFJvWlc0Z1kyRnNiQ0JmY21WaFpDNWNiaUFnTHk4Z1RtOTBaU0IwYUdGMElIUm9hWE1nYldGNUlHSmxJR0Z6ZVc1amFISnZibTkxY3l3Z2IzSWdjM2x1WTJoeWIyNXZkWE11SUNCWlpYTXNJR2wwSUdselhHNGdJQzh2SUdSbFpYQnNlU0IxWjJ4NUlIUnZJSGR5YVhSbElFRlFTWE1nZEdocGN5QjNZWGtzSUdKMWRDQjBhR0YwSUhOMGFXeHNJR1J2WlhOdUozUWdiV1ZoYmx4dUlDQXZMeUIwYUdGMElIUm9aU0JTWldGa1lXSnNaU0JqYkdGemN5QnphRzkxYkdRZ1ltVm9ZWFpsSUdsdGNISnZjR1Z5Ykhrc0lHRnpJSE4wY21WaGJYTWdZWEpsWEc0Z0lDOHZJR1JsYzJsbmJtVmtJSFJ2SUdKbElITjVibU12WVhONWJtTWdZV2R1YjNOMGFXTXVYRzRnSUM4dklGUmhhMlVnYm05MFpTQnBaaUIwYUdVZ1gzSmxZV1FnWTJGc2JDQnBjeUJ6ZVc1aklHOXlJR0Z6ZVc1aklDaHBaU3dnYVdZZ2RHaGxJSEpsWVdRZ1kyRnNiRnh1SUNBdkx5Qm9ZWE1nY21WMGRYSnVaV1FnZVdWMEtTd2djMjhnZEdoaGRDQjNaU0JyYm05M0lIZG9aWFJvWlhJZ2IzSWdibTkwSUdsMEozTWdjMkZtWlNCMGJ5QmxiV2wwWEc0Z0lDOHZJQ2R5WldGa1lXSnNaU2NnWlhSakxseHVJQ0F2TDF4dUlDQXZMeUF6TGlCQlkzUjFZV3hzZVNCd2RXeHNJSFJvWlNCeVpYRjFaWE4wWldRZ1kyaDFibXR6SUc5MWRDQnZaaUIwYUdVZ1luVm1abVZ5SUdGdVpDQnlaWFIxY200dVhHNWNiaUFnTHk4Z2FXWWdkMlVnYm1WbFpDQmhJSEpsWVdSaFlteGxJR1YyWlc1MExDQjBhR1Z1SUhkbElHNWxaV1FnZEc4Z1pHOGdjMjl0WlNCeVpXRmthVzVuTGx4dUlDQjJZWElnWkc5U1pXRmtJRDBnYzNSaGRHVXVibVZsWkZKbFlXUmhZbXhsTzF4dUlDQmtaV0oxWnlnbmJtVmxaQ0J5WldGa1lXSnNaU2NzSUdSdlVtVmhaQ2s3WEc1Y2JpQWdMeThnYVdZZ2QyVWdZM1Z5Y21WdWRHeDVJR2hoZG1VZ2JHVnpjeUIwYUdGdUlIUm9aU0JvYVdkb1YyRjBaWEpOWVhKckxDQjBhR1Z1SUdGc2MyOGdjbVZoWkNCemIyMWxYRzRnSUdsbUlDaHpkR0YwWlM1c1pXNW5kR2dnUFQwOUlEQWdmSHdnYzNSaGRHVXViR1Z1WjNSb0lDMGdiaUE4SUhOMFlYUmxMbWhwWjJoWFlYUmxjazFoY21zcElIdGNiaUFnSUNCa2IxSmxZV1FnUFNCMGNuVmxPMXh1SUNBZ0lHUmxZblZuS0Nkc1pXNW5kR2dnYkdWemN5QjBhR0Z1SUhkaGRHVnliV0Z5YXljc0lHUnZVbVZoWkNrN1hHNGdJSDFjYmx4dUlDQXZMeUJvYjNkbGRtVnlMQ0JwWmlCM1pTZDJaU0JsYm1SbFpDd2dkR2hsYmlCMGFHVnlaU2R6SUc1dklIQnZhVzUwTENCaGJtUWdhV1lnZDJVbmNtVWdZV3h5WldGa2VWeHVJQ0F2THlCeVpXRmthVzVuTENCMGFHVnVJR2wwSjNNZ2RXNXVaV05sYzNOaGNua3VYRzRnSUdsbUlDaHpkR0YwWlM1bGJtUmxaQ0I4ZkNCemRHRjBaUzV5WldGa2FXNW5LU0I3WEc0Z0lDQWdaRzlTWldGa0lEMGdabUZzYzJVN1hHNGdJQ0FnWkdWaWRXY29KM0psWVdScGJtY2diM0lnWlc1a1pXUW5MQ0JrYjFKbFlXUXBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHUnZVbVZoWkNrZ2UxeHVJQ0FnSUdSbFluVm5LQ2RrYnlCeVpXRmtKeWs3WEc0Z0lDQWdjM1JoZEdVdWNtVmhaR2x1WnlBOUlIUnlkV1U3WEc0Z0lDQWdjM1JoZEdVdWMzbHVZeUE5SUhSeWRXVTdYRzRnSUNBZ0x5OGdhV1lnZEdobElHeGxibWQwYUNCcGN5QmpkWEp5Wlc1MGJIa2dlbVZ5Ynl3Z2RHaGxiaUIzWlNBcWJtVmxaQ29nWVNCeVpXRmtZV0pzWlNCbGRtVnVkQzVjYmlBZ0lDQnBaaUFvYzNSaGRHVXViR1Z1WjNSb0lEMDlQU0F3S1NCemRHRjBaUzV1WldWa1VtVmhaR0ZpYkdVZ1BTQjBjblZsTzF4dUlDQWdJQzh2SUdOaGJHd2dhVzUwWlhKdVlXd2djbVZoWkNCdFpYUm9iMlJjYmlBZ0lDQjBhR2x6TGw5eVpXRmtLSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXNwTzF4dUlDQWdJSE4wWVhSbExuTjVibU1nUFNCbVlXeHpaVHRjYmlBZ0lDQXZMeUJKWmlCZmNtVmhaQ0J3ZFhOb1pXUWdaR0YwWVNCemVXNWphSEp2Ym05MWMyeDVMQ0IwYUdWdUlHQnlaV0ZrYVc1bllDQjNhV3hzSUdKbElHWmhiSE5sTEZ4dUlDQWdJQzh2SUdGdVpDQjNaU0J1WldWa0lIUnZJSEpsTFdWMllXeDFZWFJsSUdodmR5QnRkV05vSUdSaGRHRWdkMlVnWTJGdUlISmxkSFZ5YmlCMGJ5QjBhR1VnZFhObGNpNWNiaUFnSUNCcFppQW9JWE4wWVhSbExuSmxZV1JwYm1jcElHNGdQU0JvYjNkTmRXTm9WRzlTWldGa0tHNVBjbWxuTENCemRHRjBaU2s3WEc0Z0lIMWNibHh1SUNCMllYSWdjbVYwTzF4dUlDQnBaaUFvYmlBK0lEQXBJSEpsZENBOUlHWnliMjFNYVhOMEtHNHNJSE4wWVhSbEtUdGxiSE5sSUhKbGRDQTlJRzUxYkd3N1hHNWNiaUFnYVdZZ0tISmxkQ0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdYRzRnSUNBZ2JpQTlJREE3WEc0Z0lIMGdaV3h6WlNCN1hHNGdJQ0FnYzNSaGRHVXViR1Z1WjNSb0lDMDlJRzQ3WEc0Z0lIMWNibHh1SUNCcFppQW9jM1JoZEdVdWJHVnVaM1JvSUQwOVBTQXdLU0I3WEc0Z0lDQWdMeThnU1dZZ2QyVWdhR0YyWlNCdWIzUm9hVzVuSUdsdUlIUm9aU0JpZFdabVpYSXNJSFJvWlc0Z2QyVWdkMkZ1ZENCMGJ5QnJibTkzWEc0Z0lDQWdMeThnWVhNZ2MyOXZiaUJoY3lCM1pTQXFaRzhxSUdkbGRDQnpiMjFsZEdocGJtY2dhVzUwYnlCMGFHVWdZblZtWm1WeUxseHVJQ0FnSUdsbUlDZ2hjM1JoZEdVdVpXNWtaV1FwSUhOMFlYUmxMbTVsWldSU1pXRmtZV0pzWlNBOUlIUnlkV1U3WEc1Y2JpQWdJQ0F2THlCSlppQjNaU0IwY21sbFpDQjBieUJ5WldGa0tDa2djR0Z6ZENCMGFHVWdSVTlHTENCMGFHVnVJR1Z0YVhRZ1pXNWtJRzl1SUhSb1pTQnVaWGgwSUhScFkyc3VYRzRnSUNBZ2FXWWdLRzVQY21sbklDRTlQU0J1SUNZbUlITjBZWFJsTG1WdVpHVmtLU0JsYm1SU1pXRmtZV0pzWlNoMGFHbHpLVHRjYmlBZ2ZWeHVYRzRnSUdsbUlDaHlaWFFnSVQwOUlHNTFiR3dwSUhSb2FYTXVaVzFwZENnblpHRjBZU2NzSUhKbGRDazdYRzVjYmlBZ2NtVjBkWEp1SUhKbGREdGNibjA3WEc1Y2JtWjFibU4wYVc5dUlHOXVSVzltUTJoMWJtc29jM1J5WldGdExDQnpkR0YwWlNrZ2UxeHVJQ0JwWmlBb2MzUmhkR1V1Wlc1a1pXUXBJSEpsZEhWeWJqdGNiaUFnYVdZZ0tITjBZWFJsTG1SbFkyOWtaWElwSUh0Y2JpQWdJQ0IyWVhJZ1kyaDFibXNnUFNCemRHRjBaUzVrWldOdlpHVnlMbVZ1WkNncE8xeHVJQ0FnSUdsbUlDaGphSFZ1YXlBbUppQmphSFZ1YXk1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbUoxWm1abGNpNXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQWdJSE4wWVhSbExteGxibWQwYUNBclBTQnpkR0YwWlM1dlltcGxZM1JOYjJSbElEOGdNU0E2SUdOb2RXNXJMbXhsYm1kMGFEdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2MzUmhkR1V1Wlc1a1pXUWdQU0IwY25WbE8xeHVYRzRnSUM4dklHVnRhWFFnSjNKbFlXUmhZbXhsSnlCdWIzY2dkRzhnYldGclpTQnpkWEpsSUdsMElHZGxkSE1nY0dsamEyVmtJSFZ3TGx4dUlDQmxiV2wwVW1WaFpHRmliR1VvYzNSeVpXRnRLVHRjYm4xY2JseHVMeThnUkc5dUozUWdaVzFwZENCeVpXRmtZV0pzWlNCeWFXZG9kQ0JoZDJGNUlHbHVJSE41Ym1NZ2JXOWtaU3dnWW1WallYVnpaU0IwYUdseklHTmhiaUIwY21sbloyVnlYRzR2THlCaGJtOTBhR1Z5SUhKbFlXUW9LU0JqWVd4c0lEMCtJSE4wWVdOcklHOTJaWEptYkc5M0xpQWdWR2hwY3lCM1lYa3NJR2wwSUcxcFoyaDBJSFJ5YVdkblpYSmNiaTh2SUdFZ2JtVjRkRlJwWTJzZ2NtVmpkWEp6YVc5dUlIZGhjbTVwYm1jc0lHSjFkQ0IwYUdGMEozTWdibTkwSUhOdklHSmhaQzVjYm1aMWJtTjBhVzl1SUdWdGFYUlNaV0ZrWVdKc1pTaHpkSEpsWVcwcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2MzUnlaV0Z0TGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNCemRHRjBaUzV1WldWa1VtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdhV1lnS0NGemRHRjBaUzVsYldsMGRHVmtVbVZoWkdGaWJHVXBJSHRjYmlBZ0lDQmtaV0oxWnlnblpXMXBkRkpsWVdSaFlteGxKeXdnYzNSaGRHVXVabXh2ZDJsdVp5azdYRzRnSUNBZ2MzUmhkR1V1WlcxcGRIUmxaRkpsWVdSaFlteGxJRDBnZEhKMVpUdGNiaUFnSUNCcFppQW9jM1JoZEdVdWMzbHVZeWtnY0c1aExtNWxlSFJVYVdOcktHVnRhWFJTWldGa1lXSnNaVjhzSUhOMGNtVmhiU2s3Wld4elpTQmxiV2wwVW1WaFpHRmliR1ZmS0hOMGNtVmhiU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXMXBkRkpsWVdSaFlteGxYeWh6ZEhKbFlXMHBJSHRjYmlBZ1pHVmlkV2NvSjJWdGFYUWdjbVZoWkdGaWJHVW5LVHRjYmlBZ2MzUnlaV0Z0TG1WdGFYUW9KM0psWVdSaFlteGxKeWs3WEc0Z0lHWnNiM2NvYzNSeVpXRnRLVHRjYm4xY2JseHVMeThnWVhRZ2RHaHBjeUJ3YjJsdWRDd2dkR2hsSUhWelpYSWdhR0Z6SUhCeVpYTjFiV0ZpYkhrZ2MyVmxiaUIwYUdVZ0ozSmxZV1JoWW14bEp5QmxkbVZ1ZEN4Y2JpOHZJR0Z1WkNCallXeHNaV1FnY21WaFpDZ3BJSFJ2SUdOdmJuTjFiV1VnYzI5dFpTQmtZWFJoTGlBZ2RHaGhkQ0J0WVhrZ2FHRjJaU0IwY21sbloyVnlaV1JjYmk4dklHbHVJSFIxY200Z1lXNXZkR2hsY2lCZmNtVmhaQ2h1S1NCallXeHNMQ0JwYmlCM2FHbGphQ0JqWVhObElISmxZV1JwYm1jZ1BTQjBjblZsSUdsbVhHNHZMeUJwZENkeklHbHVJSEJ5YjJkeVpYTnpMbHh1THk4Z1NHOTNaWFpsY2l3Z2FXWWdkMlVuY21VZ2JtOTBJR1Z1WkdWa0xDQnZjaUJ5WldGa2FXNW5MQ0JoYm1RZ2RHaGxJR3hsYm1kMGFDQThJR2gzYlN4Y2JpOHZJSFJvWlc0Z1oyOGdZV2hsWVdRZ1lXNWtJSFJ5ZVNCMGJ5QnlaV0ZrSUhOdmJXVWdiVzl5WlNCd2NtVmxiWEIwYVhabGJIa3VYRzVtZFc1amRHbHZiaUJ0WVhsaVpWSmxZV1JOYjNKbEtITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdhV1lnS0NGemRHRjBaUzV5WldGa2FXNW5UVzl5WlNrZ2UxeHVJQ0FnSUhOMFlYUmxMbkpsWVdScGJtZE5iM0psSUQwZ2RISjFaVHRjYmlBZ0lDQndibUV1Ym1WNGRGUnBZMnNvYldGNVltVlNaV0ZrVFc5eVpWOHNJSE4wY21WaGJTd2djM1JoZEdVcE8xeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoZVdKbFVtVmhaRTF2Y21WZktITjBjbVZoYlN3Z2MzUmhkR1VwSUh0Y2JpQWdkbUZ5SUd4bGJpQTlJSE4wWVhSbExteGxibWQwYUR0Y2JpQWdkMmhwYkdVZ0tDRnpkR0YwWlM1eVpXRmthVzVuSUNZbUlDRnpkR0YwWlM1bWJHOTNhVzVuSUNZbUlDRnpkR0YwWlM1bGJtUmxaQ0FtSmlCemRHRjBaUzVzWlc1bmRHZ2dQQ0J6ZEdGMFpTNW9hV2RvVjJGMFpYSk5ZWEpyS1NCN1hHNGdJQ0FnWkdWaWRXY29KMjFoZVdKbFVtVmhaRTF2Y21VZ2NtVmhaQ0F3SnlrN1hHNGdJQ0FnYzNSeVpXRnRMbkpsWVdRb01DazdYRzRnSUNBZ2FXWWdLR3hsYmlBOVBUMGdjM1JoZEdVdWJHVnVaM1JvS1Z4dUlDQWdJQ0FnTHk4Z1pHbGtiaWQwSUdkbGRDQmhibmtnWkdGMFlTd2djM1J2Y0NCemNHbHVibWx1Wnk1Y2JpQWdJQ0FnSUdKeVpXRnJPMlZzYzJVZ2JHVnVJRDBnYzNSaGRHVXViR1Z1WjNSb08xeHVJQ0I5WEc0Z0lITjBZWFJsTG5KbFlXUnBibWROYjNKbElEMGdabUZzYzJVN1hHNTlYRzVjYmk4dklHRmljM1J5WVdOMElHMWxkR2h2WkM0Z0lIUnZJR0psSUc5MlpYSnlhV1JrWlc0Z2FXNGdjM0JsWTJsbWFXTWdhVzF3YkdWdFpXNTBZWFJwYjI0Z1kyeGhjM05sY3k1Y2JpOHZJR05oYkd3Z1kySW9aWElzSUdSaGRHRXBJSGRvWlhKbElHUmhkR0VnYVhNZ1BEMGdiaUJwYmlCc1pXNW5kR2d1WEc0dkx5Qm1iM0lnZG1seWRIVmhiQ0FvYm05dUxYTjBjbWx1Wnl3Z2JtOXVMV0oxWm1abGNpa2djM1J5WldGdGN5d2dYQ0pzWlc1bmRHaGNJaUJwY3lCemIyMWxkMmhoZEZ4dUx5OGdZWEppYVhSeVlYSjVMQ0JoYm1RZ2NHVnlhR0Z3Y3lCdWIzUWdkbVZ5ZVNCdFpXRnVhVzVuWm5Wc0xseHVVbVZoWkdGaWJHVXVjSEp2ZEc5MGVYQmxMbDl5WldGa0lEMGdablZ1WTNScGIyNGdLRzRwSUh0Y2JpQWdkR2hwY3k1bGJXbDBLQ2RsY25KdmNpY3NJRzVsZHlCRmNuSnZjaWduWDNKbFlXUW9LU0JwY3lCdWIzUWdhVzF3YkdWdFpXNTBaV1FuS1NrN1hHNTlPMXh1WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWNHbHdaU0E5SUdaMWJtTjBhVzl1SUNoa1pYTjBMQ0J3YVhCbFQzQjBjeWtnZTF4dUlDQjJZWElnYzNKaklEMGdkR2hwY3p0Y2JpQWdkbUZ5SUhOMFlYUmxJRDBnZEdocGN5NWZjbVZoWkdGaWJHVlRkR0YwWlR0Y2JseHVJQ0J6ZDJsMFkyZ2dLSE4wWVhSbExuQnBjR1Z6UTI5MWJuUXBJSHRjYmlBZ0lDQmpZWE5sSURBNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5QTlJR1JsYzNRN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQmpZWE5sSURFNlhHNGdJQ0FnSUNCemRHRjBaUzV3YVhCbGN5QTlJRnR6ZEdGMFpTNXdhWEJsY3l3Z1pHVnpkRjA3WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnYzNSaGRHVXVjR2x3WlhNdWNIVnphQ2hrWlhOMEtUdGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dUlDQjlYRzRnSUhOMFlYUmxMbkJwY0dWelEyOTFiblFnS3owZ01UdGNiaUFnWkdWaWRXY29KM0JwY0dVZ1kyOTFiblE5SldRZ2IzQjBjejBsYWljc0lITjBZWFJsTG5CcGNHVnpRMjkxYm5Rc0lIQnBjR1ZQY0hSektUdGNibHh1SUNCMllYSWdaRzlGYm1RZ1BTQW9JWEJwY0dWUGNIUnpJSHg4SUhCcGNHVlBjSFJ6TG1WdVpDQWhQVDBnWm1Gc2MyVXBJQ1ltSUdSbGMzUWdJVDA5SUhCeWIyTmxjM011YzNSa2IzVjBJQ1ltSUdSbGMzUWdJVDA5SUhCeWIyTmxjM011YzNSa1pYSnlPMXh1WEc0Z0lIWmhjaUJsYm1SR2JpQTlJR1J2Ulc1a0lEOGdiMjVsYm1RZ09pQjFibkJwY0dVN1hHNGdJR2xtSUNoemRHRjBaUzVsYm1SRmJXbDBkR1ZrS1NCd2JtRXVibVY0ZEZScFkyc29aVzVrUm00cE8yVnNjMlVnYzNKakxtOXVZMlVvSjJWdVpDY3NJR1Z1WkVadUtUdGNibHh1SUNCa1pYTjBMbTl1S0NkMWJuQnBjR1VuTENCdmJuVnVjR2x3WlNrN1hHNGdJR1oxYm1OMGFXOXVJRzl1ZFc1d2FYQmxLSEpsWVdSaFlteGxMQ0IxYm5CcGNHVkpibVp2S1NCN1hHNGdJQ0FnWkdWaWRXY29KMjl1ZFc1d2FYQmxKeWs3WEc0Z0lDQWdhV1lnS0hKbFlXUmhZbXhsSUQwOVBTQnpjbU1wSUh0Y2JpQWdJQ0FnSUdsbUlDaDFibkJwY0dWSmJtWnZJQ1ltSUhWdWNHbHdaVWx1Wm04dWFHRnpWVzV3YVhCbFpDQTlQVDBnWm1Gc2MyVXBJSHRjYmlBZ0lDQWdJQ0FnZFc1d2FYQmxTVzVtYnk1b1lYTlZibkJwY0dWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUNBZ1kyeGxZVzUxY0NncE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlHOXVaVzVrS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R2Ym1WdVpDY3BPMXh1SUNBZ0lHUmxjM1F1Wlc1a0tDazdYRzRnSUgxY2JseHVJQ0F2THlCM2FHVnVJSFJvWlNCa1pYTjBJR1J5WVdsdWN5d2dhWFFnY21Wa2RXTmxjeUIwYUdVZ1lYZGhhWFJFY21GcGJpQmpiM1Z1ZEdWeVhHNGdJQzh2SUc5dUlIUm9aU0J6YjNWeVkyVXVJQ0JVYUdseklIZHZkV3hrSUdKbElHMXZjbVVnWld4bFoyRnVkQ0IzYVhSb0lHRWdMbTl1WTJVb0tWeHVJQ0F2THlCb1lXNWtiR1Z5SUdsdUlHWnNiM2NvS1N3Z1luVjBJR0ZrWkdsdVp5QmhibVFnY21WdGIzWnBibWNnY21Wd1pXRjBaV1JzZVNCcGMxeHVJQ0F2THlCMGIyOGdjMnh2ZHk1Y2JpQWdkbUZ5SUc5dVpISmhhVzRnUFNCd2FYQmxUMjVFY21GcGJpaHpjbU1wTzF4dUlDQmtaWE4wTG05dUtDZGtjbUZwYmljc0lHOXVaSEpoYVc0cE8xeHVYRzRnSUhaaGNpQmpiR1ZoYm1Wa1ZYQWdQU0JtWVd4elpUdGNiaUFnWm5WdVkzUnBiMjRnWTJ4bFlXNTFjQ2dwSUh0Y2JpQWdJQ0JrWldKMVp5Z25ZMnhsWVc1MWNDY3BPMXh1SUNBZ0lDOHZJR05zWldGdWRYQWdaWFpsYm5RZ2FHRnVaR3hsY25NZ2IyNWpaU0IwYUdVZ2NHbHdaU0JwY3lCaWNtOXJaVzVjYmlBZ0lDQmtaWE4wTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RqYkc5elpTY3NJRzl1WTJ4dmMyVXBPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMlpwYm1semFDY3NJRzl1Wm1sdWFYTm9LVHRjYmlBZ0lDQmtaWE4wTG5KbGJXOTJaVXhwYzNSbGJtVnlLQ2RrY21GcGJpY3NJRzl1WkhKaGFXNHBPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMlZ5Y205eUp5d2diMjVsY25KdmNpazdYRzRnSUNBZ1pHVnpkQzV5WlcxdmRtVk1hWE4wWlc1bGNpZ25kVzV3YVhCbEp5d2diMjUxYm5CcGNHVXBPMXh1SUNBZ0lITnlZeTV5WlcxdmRtVk1hWE4wWlc1bGNpZ25aVzVrSnl3Z2IyNWxibVFwTzF4dUlDQWdJSE55WXk1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlc1a0p5d2dkVzV3YVhCbEtUdGNiaUFnSUNCemNtTXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyUmhkR0VuTENCdmJtUmhkR0VwTzF4dVhHNGdJQ0FnWTJ4bFlXNWxaRlZ3SUQwZ2RISjFaVHRjYmx4dUlDQWdJQzh2SUdsbUlIUm9aU0J5WldGa1pYSWdhWE1nZDJGcGRHbHVaeUJtYjNJZ1lTQmtjbUZwYmlCbGRtVnVkQ0JtY205dElIUm9hWE5jYmlBZ0lDQXZMeUJ6Y0dWamFXWnBZeUIzY21sMFpYSXNJSFJvWlc0Z2FYUWdkMjkxYkdRZ1kyRjFjMlVnYVhRZ2RHOGdibVYyWlhJZ2MzUmhjblJjYmlBZ0lDQXZMeUJtYkc5M2FXNW5JR0ZuWVdsdUxseHVJQ0FnSUM4dklGTnZMQ0JwWmlCMGFHbHpJR2x6SUdGM1lXbDBhVzVuSUdFZ1pISmhhVzRzSUhSb1pXNGdkMlVnYW5WemRDQmpZV3hzSUdsMElHNXZkeTVjYmlBZ0lDQXZMeUJKWmlCM1pTQmtiMjRuZENCcmJtOTNMQ0IwYUdWdUlHRnpjM1Z0WlNCMGFHRjBJSGRsSUdGeVpTQjNZV2wwYVc1bklHWnZjaUJ2Ym1VdVhHNGdJQ0FnYVdZZ0tITjBZWFJsTG1GM1lXbDBSSEpoYVc0Z0ppWWdLQ0ZrWlhOMExsOTNjbWwwWVdKc1pWTjBZWFJsSUh4OElHUmxjM1F1WDNkeWFYUmhZbXhsVTNSaGRHVXVibVZsWkVSeVlXbHVLU2tnYjI1a2NtRnBiaWdwTzF4dUlDQjlYRzVjYmlBZ0x5OGdTV1lnZEdobElIVnpaWElnY0hWemFHVnpJRzF2Y21VZ1pHRjBZU0IzYUdsc1pTQjNaU2R5WlNCM2NtbDBhVzVuSUhSdklHUmxjM1FnZEdobGJpQjNaU2RzYkNCbGJtUWdkWEJjYmlBZ0x5OGdhVzRnYjI1a1lYUmhJR0ZuWVdsdUxpQkliM2RsZG1WeUxDQjNaU0J2Ym14NUlIZGhiblFnZEc4Z2FXNWpjbVZoYzJVZ1lYZGhhWFJFY21GcGJpQnZibU5sSUdKbFkyRjFjMlZjYmlBZ0x5OGdaR1Z6ZENCM2FXeHNJRzl1YkhrZ1pXMXBkQ0J2Ym1VZ0oyUnlZV2x1SnlCbGRtVnVkQ0JtYjNJZ2RHaGxJRzExYkhScGNHeGxJSGR5YVhSbGN5NWNiaUFnTHk4Z1BUNGdTVzUwY205a2RXTmxJR0VnWjNWaGNtUWdiMjRnYVc1amNtVmhjMmx1WnlCaGQyRnBkRVJ5WVdsdUxseHVJQ0IyWVhJZ2FXNWpjbVZoYzJWa1FYZGhhWFJFY21GcGJpQTlJR1poYkhObE8xeHVJQ0J6Y21NdWIyNG9KMlJoZEdFbkxDQnZibVJoZEdFcE8xeHVJQ0JtZFc1amRHbHZiaUJ2Ym1SaGRHRW9ZMmgxYm1zcElIdGNiaUFnSUNCa1pXSjFaeWduYjI1a1lYUmhKeWs3WEc0Z0lDQWdhVzVqY21WaGMyVmtRWGRoYVhSRWNtRnBiaUE5SUdaaGJITmxPMXh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQmtaWE4wTG5keWFYUmxLR05vZFc1cktUdGNiaUFnSUNCcFppQW9abUZzYzJVZ1BUMDlJSEpsZENBbUppQWhhVzVqY21WaGMyVmtRWGRoYVhSRWNtRnBiaWtnZTF4dUlDQWdJQ0FnTHk4Z1NXWWdkR2hsSUhWelpYSWdkVzV3YVhCbFpDQmtkWEpwYm1jZ1lHUmxjM1F1ZDNKcGRHVW9LV0FzSUdsMElHbHpJSEJ2YzNOcFlteGxYRzRnSUNBZ0lDQXZMeUIwYnlCblpYUWdjM1IxWTJzZ2FXNGdZU0J3WlhKdFlXNWxiblJzZVNCd1lYVnpaV1FnYzNSaGRHVWdhV1lnZEdoaGRDQjNjbWwwWlZ4dUlDQWdJQ0FnTHk4Z1lXeHpieUJ5WlhSMWNtNWxaQ0JtWVd4elpTNWNiaUFnSUNBZ0lDOHZJRDArSUVOb1pXTnJJSGRvWlhSb1pYSWdZR1JsYzNSZ0lHbHpJSE4wYVd4c0lHRWdjR2x3YVc1bklHUmxjM1JwYm1GMGFXOXVMbHh1SUNBZ0lDQWdhV1lnS0NoemRHRjBaUzV3YVhCbGMwTnZkVzUwSUQwOVBTQXhJQ1ltSUhOMFlYUmxMbkJwY0dWeklEMDlQU0JrWlhOMElIeDhJSE4wWVhSbExuQnBjR1Z6UTI5MWJuUWdQaUF4SUNZbUlHbHVaR1Y0VDJZb2MzUmhkR1V1Y0dsd1pYTXNJR1JsYzNRcElDRTlQU0F0TVNrZ0ppWWdJV05zWldGdVpXUlZjQ2tnZTF4dUlDQWdJQ0FnSUNCa1pXSjFaeWduWm1Gc2MyVWdkM0pwZEdVZ2NtVnpjRzl1YzJVc0lIQmhkWE5sSnl3Z2MzSmpMbDl5WldGa1lXSnNaVk4wWVhSbExtRjNZV2wwUkhKaGFXNHBPMXh1SUNBZ0lDQWdJQ0J6Y21NdVgzSmxZV1JoWW14bFUzUmhkR1V1WVhkaGFYUkVjbUZwYmlzck8xeHVJQ0FnSUNBZ0lDQnBibU55WldGelpXUkJkMkZwZEVSeVlXbHVJRDBnZEhKMVpUdGNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lITnlZeTV3WVhWelpTZ3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzh2SUdsbUlIUm9aU0JrWlhOMElHaGhjeUJoYmlCbGNuSnZjaXdnZEdobGJpQnpkRzl3SUhCcGNHbHVaeUJwYm5SdklHbDBMbHh1SUNBdkx5Qm9iM2RsZG1WeUxDQmtiMjRuZENCemRYQndjbVZ6Y3lCMGFHVWdkR2h5YjNkcGJtY2dZbVZvWVhacGIzSWdabTl5SUhSb2FYTXVYRzRnSUdaMWJtTjBhVzl1SUc5dVpYSnliM0lvWlhJcElIdGNiaUFnSUNCa1pXSjFaeWduYjI1bGNuSnZjaWNzSUdWeUtUdGNiaUFnSUNCMWJuQnBjR1VvS1R0Y2JpQWdJQ0JrWlhOMExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkbGNuSnZjaWNzSUc5dVpYSnliM0lwTzF4dUlDQWdJR2xtSUNoRlJXeHBjM1JsYm1WeVEyOTFiblFvWkdWemRDd2dKMlZ5Y205eUp5a2dQVDA5SURBcElHUmxjM1F1WlcxcGRDZ25aWEp5YjNJbkxDQmxjaWs3WEc0Z0lIMWNibHh1SUNBdkx5Qk5ZV3RsSUhOMWNtVWdiM1Z5SUdWeWNtOXlJR2hoYm1Sc1pYSWdhWE1nWVhSMFlXTm9aV1FnWW1WbWIzSmxJSFZ6WlhKc1lXNWtJRzl1WlhNdVhHNGdJSEJ5WlhCbGJtUk1hWE4wWlc1bGNpaGtaWE4wTENBblpYSnliM0luTENCdmJtVnljbTl5S1R0Y2JseHVJQ0F2THlCQ2IzUm9JR05zYjNObElHRnVaQ0JtYVc1cGMyZ2djMmh2ZFd4a0lIUnlhV2RuWlhJZ2RXNXdhWEJsTENCaWRYUWdiMjVzZVNCdmJtTmxMbHh1SUNCbWRXNWpkR2x2YmlCdmJtTnNiM05sS0NrZ2UxeHVJQ0FnSUdSbGMzUXVjbVZ0YjNabFRHbHpkR1Z1WlhJb0oyWnBibWx6YUNjc0lHOXVabWx1YVhOb0tUdGNiaUFnSUNCMWJuQnBjR1VvS1R0Y2JpQWdmVnh1SUNCa1pYTjBMbTl1WTJVb0oyTnNiM05sSnl3Z2IyNWpiRzl6WlNrN1hHNGdJR1oxYm1OMGFXOXVJRzl1Wm1sdWFYTm9LQ2tnZTF4dUlDQWdJR1JsWW5WbktDZHZibVpwYm1semFDY3BPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzRnSUNBZ2RXNXdhWEJsS0NrN1hHNGdJSDFjYmlBZ1pHVnpkQzV2Ym1ObEtDZG1hVzVwYzJnbkxDQnZibVpwYm1semFDazdYRzVjYmlBZ1puVnVZM1JwYjI0Z2RXNXdhWEJsS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QxYm5CcGNHVW5LVHRjYmlBZ0lDQnpjbU11ZFc1d2FYQmxLR1JsYzNRcE8xeHVJQ0I5WEc1Y2JpQWdMeThnZEdWc2JDQjBhR1VnWkdWemRDQjBhR0YwSUdsMEozTWdZbVZwYm1jZ2NHbHdaV1FnZEc5Y2JpQWdaR1Z6ZEM1bGJXbDBLQ2R3YVhCbEp5d2djM0pqS1R0Y2JseHVJQ0F2THlCemRHRnlkQ0IwYUdVZ1pteHZkeUJwWmlCcGRDQm9ZWE51SjNRZ1ltVmxiaUJ6ZEdGeWRHVmtJR0ZzY21WaFpIa3VYRzRnSUdsbUlDZ2hjM1JoZEdVdVpteHZkMmx1WnlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R3YVhCbElISmxjM1Z0WlNjcE8xeHVJQ0FnSUhOeVl5NXlaWE4xYldVb0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQmtaWE4wTzF4dWZUdGNibHh1Wm5WdVkzUnBiMjRnY0dsd1pVOXVSSEpoYVc0b2MzSmpLU0I3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2RtRnlJSE4wWVhSbElEMGdjM0pqTGw5eVpXRmtZV0pzWlZOMFlYUmxPMXh1SUNBZ0lHUmxZblZuS0Nkd2FYQmxUMjVFY21GcGJpY3NJSE4wWVhSbExtRjNZV2wwUkhKaGFXNHBPMXh1SUNBZ0lHbG1JQ2h6ZEdGMFpTNWhkMkZwZEVSeVlXbHVLU0J6ZEdGMFpTNWhkMkZwZEVSeVlXbHVMUzA3WEc0Z0lDQWdhV1lnS0hOMFlYUmxMbUYzWVdsMFJISmhhVzRnUFQwOUlEQWdKaVlnUlVWc2FYTjBaVzVsY2tOdmRXNTBLSE55WXl3Z0oyUmhkR0VuS1NrZ2UxeHVJQ0FnSUNBZ2MzUmhkR1V1Wm14dmQybHVaeUE5SUhSeWRXVTdYRzRnSUNBZ0lDQm1iRzkzS0hOeVl5azdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dWZWeHVYRzVTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1ZFc1d2FYQmxJRDBnWm5WdVkzUnBiMjRnS0dSbGMzUXBJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2RtRnlJSFZ1Y0dsd1pVbHVabThnUFNCN0lHaGhjMVZ1Y0dsd1pXUTZJR1poYkhObElIMDdYRzVjYmlBZ0x5OGdhV1lnZDJVbmNtVWdibTkwSUhCcGNHbHVaeUJoYm5sM2FHVnlaU3dnZEdobGJpQmtieUJ1YjNSb2FXNW5MbHh1SUNCcFppQW9jM1JoZEdVdWNHbHdaWE5EYjNWdWRDQTlQVDBnTUNrZ2NtVjBkWEp1SUhSb2FYTTdYRzVjYmlBZ0x5OGdhblZ6ZENCdmJtVWdaR1Z6ZEdsdVlYUnBiMjR1SUNCdGIzTjBJR052YlcxdmJpQmpZWE5sTGx4dUlDQnBaaUFvYzNSaGRHVXVjR2x3WlhORGIzVnVkQ0E5UFQwZ01Ta2dlMXh1SUNBZ0lDOHZJSEJoYzNObFpDQnBiaUJ2Ym1Vc0lHSjFkQ0JwZENkeklHNXZkQ0IwYUdVZ2NtbG5hSFFnYjI1bExseHVJQ0FnSUdsbUlDaGtaWE4wSUNZbUlHUmxjM1FnSVQwOUlITjBZWFJsTG5CcGNHVnpLU0J5WlhSMWNtNGdkR2hwY3p0Y2JseHVJQ0FnSUdsbUlDZ2haR1Z6ZENrZ1pHVnpkQ0E5SUhOMFlYUmxMbkJwY0dWek8xeHVYRzRnSUNBZ0x5OGdaMjkwSUdFZ2JXRjBZMmd1WEc0Z0lDQWdjM1JoZEdVdWNHbHdaWE1nUFNCdWRXeHNPMXh1SUNBZ0lITjBZWFJsTG5CcGNHVnpRMjkxYm5RZ1BTQXdPMXh1SUNBZ0lITjBZWFJsTG1ac2IzZHBibWNnUFNCbVlXeHpaVHRjYmlBZ0lDQnBaaUFvWkdWemRDa2daR1Z6ZEM1bGJXbDBLQ2QxYm5CcGNHVW5MQ0IwYUdsekxDQjFibkJwY0dWSmJtWnZLVHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4dklITnNiM2NnWTJGelpTNGdiWFZzZEdsd2JHVWdjR2x3WlNCa1pYTjBhVzVoZEdsdmJuTXVYRzVjYmlBZ2FXWWdLQ0ZrWlhOMEtTQjdYRzRnSUNBZ0x5OGdjbVZ0YjNabElHRnNiQzVjYmlBZ0lDQjJZWElnWkdWemRITWdQU0J6ZEdGMFpTNXdhWEJsY3p0Y2JpQWdJQ0IyWVhJZ2JHVnVJRDBnYzNSaGRHVXVjR2x3WlhORGIzVnVkRHRjYmlBZ0lDQnpkR0YwWlM1d2FYQmxjeUE5SUc1MWJHdzdYRzRnSUNBZ2MzUmhkR1V1Y0dsd1pYTkRiM1Z1ZENBOUlEQTdYRzRnSUNBZ2MzUmhkR1V1Wm14dmQybHVaeUE5SUdaaGJITmxPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJQ0FnWkdWemRITmJhVjB1WlcxcGRDZ25kVzV3YVhCbEp5d2dkR2hwY3l3Z2RXNXdhWEJsU1c1bWJ5azdYRzRnSUNBZ2ZYSmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnTHk4Z2RISjVJSFJ2SUdacGJtUWdkR2hsSUhKcFoyaDBJRzl1WlM1Y2JpQWdkbUZ5SUdsdVpHVjRJRDBnYVc1a1pYaFBaaWh6ZEdGMFpTNXdhWEJsY3l3Z1pHVnpkQ2s3WEc0Z0lHbG1JQ2hwYm1SbGVDQTlQVDBnTFRFcElISmxkSFZ5YmlCMGFHbHpPMXh1WEc0Z0lITjBZWFJsTG5CcGNHVnpMbk53YkdsalpTaHBibVJsZUN3Z01TazdYRzRnSUhOMFlYUmxMbkJwY0dWelEyOTFiblFnTFQwZ01UdGNiaUFnYVdZZ0tITjBZWFJsTG5CcGNHVnpRMjkxYm5RZ1BUMDlJREVwSUhOMFlYUmxMbkJwY0dWeklEMGdjM1JoZEdVdWNHbHdaWE5iTUYwN1hHNWNiaUFnWkdWemRDNWxiV2wwS0NkMWJuQnBjR1VuTENCMGFHbHpMQ0IxYm5CcGNHVkpibVp2S1R0Y2JseHVJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JuMDdYRzVjYmk4dklITmxkQ0IxY0NCa1lYUmhJR1YyWlc1MGN5QnBaaUIwYUdWNUlHRnlaU0JoYzJ0bFpDQm1iM0pjYmk4dklFVnVjM1Z5WlNCeVpXRmtZV0pzWlNCc2FYTjBaVzVsY25NZ1pYWmxiblIxWVd4c2VTQm5aWFFnYzI5dFpYUm9hVzVuWEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdWIyNGdQU0JtZFc1amRHbHZiaUFvWlhZc0lHWnVLU0I3WEc0Z0lIWmhjaUJ5WlhNZ1BTQlRkSEpsWVcwdWNISnZkRzkwZVhCbExtOXVMbU5oYkd3b2RHaHBjeXdnWlhZc0lHWnVLVHRjYmx4dUlDQnBaaUFvWlhZZ1BUMDlJQ2RrWVhSaEp5a2dlMXh1SUNBZ0lDOHZJRk4wWVhKMElHWnNiM2RwYm1jZ2IyNGdibVY0ZENCMGFXTnJJR2xtSUhOMGNtVmhiU0JwYzI0bmRDQmxlSEJzYVdOcGRHeDVJSEJoZFhObFpGeHVJQ0FnSUdsbUlDaDBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxMbVpzYjNkcGJtY2dJVDA5SUdaaGJITmxLU0IwYUdsekxuSmxjM1Z0WlNncE8xeHVJQ0I5SUdWc2MyVWdhV1lnS0dWMklEMDlQU0FuY21WaFpHRmliR1VuS1NCN1hHNGdJQ0FnZG1GeUlITjBZWFJsSUQwZ2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpUdGNiaUFnSUNCcFppQW9JWE4wWVhSbExtVnVaRVZ0YVhSMFpXUWdKaVlnSVhOMFlYUmxMbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5LU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNXlaV0ZrWVdKc1pVeHBjM1JsYm1sdVp5QTlJSE4wWVhSbExtNWxaV1JTWldGa1lXSnNaU0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnpkR0YwWlM1bGJXbDBkR1ZrVW1WaFpHRmliR1VnUFNCbVlXeHpaVHRjYmlBZ0lDQWdJR2xtSUNnaGMzUmhkR1V1Y21WaFpHbHVaeWtnZTF4dUlDQWdJQ0FnSUNCd2JtRXVibVY0ZEZScFkyc29ibEpsWVdScGJtZE9aWGgwVkdsamF5d2dkR2hwY3lrN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tITjBZWFJsTG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnSUNCbGJXbDBVbVZoWkdGaWJHVW9kR2hwY3lrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUhKbGN6dGNibjA3WEc1U1pXRmtZV0pzWlM1d2NtOTBiM1I1Y0dVdVlXUmtUR2x6ZEdWdVpYSWdQU0JTWldGa1lXSnNaUzV3Y205MGIzUjVjR1V1YjI0N1hHNWNibVoxYm1OMGFXOXVJRzVTWldGa2FXNW5UbVY0ZEZScFkyc29jMlZzWmlrZ2UxeHVJQ0JrWldKMVp5Z25jbVZoWkdGaWJHVWdibVY0ZEhScFkyc2djbVZoWkNBd0p5azdYRzRnSUhObGJHWXVjbVZoWkNnd0tUdGNibjFjYmx4dUx5OGdjR0YxYzJVb0tTQmhibVFnY21WemRXMWxLQ2tnWVhKbElISmxiVzVoYm5SeklHOW1JSFJvWlNCc1pXZGhZM2tnY21WaFpHRmliR1VnYzNSeVpXRnRJRUZRU1Z4dUx5OGdTV1lnZEdobElIVnpaWElnZFhObGN5QjBhR1Z0TENCMGFHVnVJSE4zYVhSamFDQnBiblJ2SUc5c1pDQnRiMlJsTGx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuSmxjM1Z0WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNW1iRzkzYVc1bktTQjdYRzRnSUNBZ1pHVmlkV2NvSjNKbGMzVnRaU2NwTzF4dUlDQWdJSE4wWVhSbExtWnNiM2RwYm1jZ1BTQjBjblZsTzF4dUlDQWdJSEpsYzNWdFpTaDBhR2x6TENCemRHRjBaU2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSFJvYVhNN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCeVpYTjFiV1VvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCcFppQW9JWE4wWVhSbExuSmxjM1Z0WlZOamFHVmtkV3hsWkNrZ2UxeHVJQ0FnSUhOMFlYUmxMbkpsYzNWdFpWTmphR1ZrZFd4bFpDQTlJSFJ5ZFdVN1hHNGdJQ0FnY0c1aExtNWxlSFJVYVdOcktISmxjM1Z0WlY4c0lITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlISmxjM1Z0WlY4b2MzUnlaV0Z0TENCemRHRjBaU2tnZTF4dUlDQnBaaUFvSVhOMFlYUmxMbkpsWVdScGJtY3BJSHRjYmlBZ0lDQmtaV0oxWnlnbmNtVnpkVzFsSUhKbFlXUWdNQ2NwTzF4dUlDQWdJSE4wY21WaGJTNXlaV0ZrS0RBcE8xeHVJQ0I5WEc1Y2JpQWdjM1JoZEdVdWNtVnpkVzFsVTJOb1pXUjFiR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lITjBZWFJsTG1GM1lXbDBSSEpoYVc0Z1BTQXdPMXh1SUNCemRISmxZVzB1WlcxcGRDZ25jbVZ6ZFcxbEp5azdYRzRnSUdac2IzY29jM1J5WldGdEtUdGNiaUFnYVdZZ0tITjBZWFJsTG1ac2IzZHBibWNnSmlZZ0lYTjBZWFJsTG5KbFlXUnBibWNwSUhOMGNtVmhiUzV5WldGa0tEQXBPMXh1ZlZ4dVhHNVNaV0ZrWVdKc1pTNXdjbTkwYjNSNWNHVXVjR0YxYzJVZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lHUmxZblZuS0NkallXeHNJSEJoZFhObElHWnNiM2RwYm1jOUpXb25MQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG1ac2IzZHBibWNwTzF4dUlDQnBaaUFvWm1Gc2MyVWdJVDA5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpteHZkMmx1WnlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2R3WVhWelpTY3BPMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVabXh2ZDJsdVp5QTlJR1poYkhObE8xeHVJQ0FnSUhSb2FYTXVaVzFwZENnbmNHRjFjMlVuS1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnZEdocGN6dGNibjA3WEc1Y2JtWjFibU4wYVc5dUlHWnNiM2NvYzNSeVpXRnRLU0I3WEc0Z0lIWmhjaUJ6ZEdGMFpTQTlJSE4wY21WaGJTNWZjbVZoWkdGaWJHVlRkR0YwWlR0Y2JpQWdaR1ZpZFdjb0oyWnNiM2NuTENCemRHRjBaUzVtYkc5M2FXNW5LVHRjYmlBZ2QyaHBiR1VnS0hOMFlYUmxMbVpzYjNkcGJtY2dKaVlnYzNSeVpXRnRMbkpsWVdRb0tTQWhQVDBnYm5Wc2JDa2dlMzFjYm4xY2JseHVMeThnZDNKaGNDQmhiaUJ2YkdRdGMzUjViR1VnYzNSeVpXRnRJR0Z6SUhSb1pTQmhjM2x1WXlCa1lYUmhJSE52ZFhKalpTNWNiaTh2SUZSb2FYTWdhWE1nS201dmRDb2djR0Z5ZENCdlppQjBhR1VnY21WaFpHRmliR1VnYzNSeVpXRnRJR2x1ZEdWeVptRmpaUzVjYmk4dklFbDBJR2x6SUdGdUlIVm5iSGtnZFc1bWIzSjBkVzVoZEdVZ2JXVnpjeUJ2WmlCb2FYTjBiM0o1TGx4dVVtVmhaR0ZpYkdVdWNISnZkRzkwZVhCbExuZHlZWEFnUFNCbWRXNWpkR2x2YmlBb2MzUnlaV0Z0S1NCN1hHNGdJSFpoY2lCZmRHaHBjeUE5SUhSb2FYTTdYRzVjYmlBZ2RtRnlJSE4wWVhSbElEMGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaVHRjYmlBZ2RtRnlJSEJoZFhObFpDQTlJR1poYkhObE8xeHVYRzRnSUhOMGNtVmhiUzV2YmlnblpXNWtKeXdnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QzY21Gd2NHVmtJR1Z1WkNjcE8xeHVJQ0FnSUdsbUlDaHpkR0YwWlM1a1pXTnZaR1Z5SUNZbUlDRnpkR0YwWlM1bGJtUmxaQ2tnZTF4dUlDQWdJQ0FnZG1GeUlHTm9kVzVySUQwZ2MzUmhkR1V1WkdWamIyUmxjaTVsYm1Rb0tUdGNiaUFnSUNBZ0lHbG1JQ2hqYUhWdWF5QW1KaUJqYUhWdWF5NXNaVzVuZEdncElGOTBhR2x6TG5CMWMyZ29ZMmgxYm1zcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUY5MGFHbHpMbkIxYzJnb2JuVnNiQ2s3WEc0Z0lIMHBPMXh1WEc0Z0lITjBjbVZoYlM1dmJpZ25aR0YwWVNjc0lHWjFibU4wYVc5dUlDaGphSFZ1YXlrZ2UxeHVJQ0FnSUdSbFluVm5LQ2QzY21Gd2NHVmtJR1JoZEdFbktUdGNiaUFnSUNCcFppQW9jM1JoZEdVdVpHVmpiMlJsY2lrZ1kyaDFibXNnUFNCemRHRjBaUzVrWldOdlpHVnlMbmR5YVhSbEtHTm9kVzVyS1R0Y2JseHVJQ0FnSUM4dklHUnZiaWQwSUhOcmFYQWdiM1psY2lCbVlXeHplU0IyWVd4MVpYTWdhVzRnYjJKcVpXTjBUVzlrWlZ4dUlDQWdJR2xtSUNoemRHRjBaUzV2WW1wbFkzUk5iMlJsSUNZbUlDaGphSFZ1YXlBOVBUMGdiblZzYkNCOGZDQmphSFZ1YXlBOVBUMGdkVzVrWldacGJtVmtLU2tnY21WMGRYSnVPMlZzYzJVZ2FXWWdLQ0Z6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJQ1ltSUNnaFkyaDFibXNnZkh3Z0lXTm9kVzVyTG14bGJtZDBhQ2twSUhKbGRIVnlianRjYmx4dUlDQWdJSFpoY2lCeVpYUWdQU0JmZEdocGN5NXdkWE5vS0dOb2RXNXJLVHRjYmlBZ0lDQnBaaUFvSVhKbGRDa2dlMXh1SUNBZ0lDQWdjR0YxYzJWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhOMGNtVmhiUzV3WVhWelpTZ3BPMXh1SUNBZ0lIMWNiaUFnZlNrN1hHNWNiaUFnTHk4Z2NISnZlSGtnWVd4c0lIUm9aU0J2ZEdobGNpQnRaWFJvYjJSekxseHVJQ0F2THlCcGJYQnZjblJoYm5RZ2QyaGxiaUIzY21Gd2NHbHVaeUJtYVd4MFpYSnpJR0Z1WkNCa2RYQnNaWGhsY3k1Y2JpQWdabTl5SUNoMllYSWdhU0JwYmlCemRISmxZVzBwSUh0Y2JpQWdJQ0JwWmlBb2RHaHBjMXRwWFNBOVBUMGdkVzVrWldacGJtVmtJQ1ltSUhSNWNHVnZaaUJ6ZEhKbFlXMWJhVjBnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSFJvYVhOYmFWMGdQU0JtZFc1amRHbHZiaUFvYldWMGFHOWtLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlITjBjbVZoYlZ0dFpYUm9iMlJkTG1Gd2NHeDVLSE4wY21WaGJTd2dZWEpuZFcxbGJuUnpLVHRjYmlBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUgwb2FTazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeThnY0hKdmVIa2dZMlZ5ZEdGcGJpQnBiWEJ2Y25SaGJuUWdaWFpsYm5SekxseHVJQ0JtYjNJZ0tIWmhjaUJ1SUQwZ01Ec2diaUE4SUd0UWNtOTRlVVYyWlc1MGN5NXNaVzVuZEdnN0lHNHJLeWtnZTF4dUlDQWdJSE4wY21WaGJTNXZiaWhyVUhKdmVIbEZkbVZ1ZEhOYmJsMHNJSFJvYVhNdVpXMXBkQzVpYVc1a0tIUm9hWE1zSUd0UWNtOTRlVVYyWlc1MGMxdHVYU2twTzF4dUlDQjlYRzVjYmlBZ0x5OGdkMmhsYmlCM1pTQjBjbmtnZEc4Z1kyOXVjM1Z0WlNCemIyMWxJRzF2Y21VZ1lubDBaWE1zSUhOcGJYQnNlU0IxYm5CaGRYTmxJSFJvWlZ4dUlDQXZMeUIxYm1SbGNteDVhVzVuSUhOMGNtVmhiUzVjYmlBZ2RHaHBjeTVmY21WaFpDQTlJR1oxYm1OMGFXOXVJQ2h1S1NCN1hHNGdJQ0FnWkdWaWRXY29KM2R5WVhCd1pXUWdYM0psWVdRbkxDQnVLVHRjYmlBZ0lDQnBaaUFvY0dGMWMyVmtLU0I3WEc0Z0lDQWdJQ0J3WVhWelpXUWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lITjBjbVZoYlM1eVpYTjFiV1VvS1R0Y2JpQWdJQ0I5WEc0Z0lIMDdYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNVBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvVW1WaFpHRmliR1V1Y0hKdmRHOTBlWEJsTENBbmNtVmhaR0ZpYkdWSWFXZG9WMkYwWlhKTllYSnJKeXdnZTF4dUlDQXZMeUJ0WVd0cGJtY2dhWFFnWlhod2JHbGphWFFnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJ1YjNRZ1pXNTFiV1Z5WVdKc1pWeHVJQ0F2THlCaVpXTmhkWE5sSUc5MGFHVnlkMmx6WlNCemIyMWxJSEJ5YjNSdmRIbHdaU0J0WVc1cGNIVnNZWFJwYjI0Z2FXNWNiaUFnTHk4Z2RYTmxjbXhoYm1RZ2QybHNiQ0JtWVdsc1hHNGdJR1Z1ZFcxbGNtRmliR1U2SUdaaGJITmxMRnh1SUNCblpYUTZJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZmNtVmhaR0ZpYkdWVGRHRjBaUzVvYVdkb1YyRjBaWEpOWVhKck8xeHVJQ0I5WEc1OUtUdGNibHh1THk4Z1pYaHdiM05sWkNCbWIzSWdkR1Z6ZEdsdVp5QndkWEp3YjNObGN5QnZibXg1TGx4dVVtVmhaR0ZpYkdVdVgyWnliMjFNYVhOMElEMGdabkp2YlV4cGMzUTdYRzVjYmk4dklGQnNkV05ySUc5bVppQnVJR0o1ZEdWeklHWnliMjBnWVc0Z1lYSnlZWGtnYjJZZ1luVm1abVZ5Y3k1Y2JpOHZJRXhsYm1kMGFDQnBjeUIwYUdVZ1kyOXRZbWx1WldRZ2JHVnVaM1JvY3lCdlppQmhiR3dnZEdobElHSjFabVpsY25NZ2FXNGdkR2hsSUd4cGMzUXVYRzR2THlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdSbGMybG5ibVZrSUhSdklHSmxJR2x1YkdsdVlXSnNaU3dnYzI4Z2NHeGxZWE5sSUhSaGEyVWdZMkZ5WlNCM2FHVnVJRzFoYTJsdVoxeHVMeThnWTJoaGJtZGxjeUIwYnlCMGFHVWdablZ1WTNScGIyNGdZbTlrZVM1Y2JtWjFibU4wYVc5dUlHWnliMjFNYVhOMEtHNHNJSE4wWVhSbEtTQjdYRzRnSUM4dklHNXZkR2hwYm1jZ1luVm1abVZ5WldSY2JpQWdhV1lnS0hOMFlYUmxMbXhsYm1kMGFDQTlQVDBnTUNrZ2NtVjBkWEp1SUc1MWJHdzdYRzVjYmlBZ2RtRnlJSEpsZER0Y2JpQWdhV1lnS0hOMFlYUmxMbTlpYW1WamRFMXZaR1VwSUhKbGRDQTlJSE4wWVhSbExtSjFabVpsY2k1emFHbG1kQ2dwTzJWc2MyVWdhV1lnS0NGdUlIeDhJRzRnUGowZ2MzUmhkR1V1YkdWdVozUm9LU0I3WEc0Z0lDQWdMeThnY21WaFpDQnBkQ0JoYkd3c0lIUnlkVzVqWVhSbElIUm9aU0JzYVhOMFhHNGdJQ0FnYVdZZ0tITjBZWFJsTG1SbFkyOWtaWElwSUhKbGRDQTlJSE4wWVhSbExtSjFabVpsY2k1cWIybHVLQ2NuS1R0bGJITmxJR2xtSUNoemRHRjBaUzVpZFdabVpYSXViR1Z1WjNSb0lEMDlQU0F4S1NCeVpYUWdQU0J6ZEdGMFpTNWlkV1ptWlhJdWFHVmhaQzVrWVhSaE8yVnNjMlVnY21WMElEMGdjM1JoZEdVdVluVm1abVZ5TG1OdmJtTmhkQ2h6ZEdGMFpTNXNaVzVuZEdncE8xeHVJQ0FnSUhOMFlYUmxMbUoxWm1abGNpNWpiR1ZoY2lncE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDOHZJSEpsWVdRZ2NHRnlkQ0J2WmlCc2FYTjBYRzRnSUNBZ2NtVjBJRDBnWm5KdmJVeHBjM1JRWVhKMGFXRnNLRzRzSUhOMFlYUmxMbUoxWm1abGNpd2djM1JoZEdVdVpHVmpiMlJsY2lrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2NtVjBPMXh1ZlZ4dVhHNHZMeUJGZUhSeVlXTjBjeUJ2Ym14NUlHVnViM1ZuYUNCaWRXWm1aWEpsWkNCa1lYUmhJSFJ2SUhOaGRHbHpabmtnZEdobElHRnRiM1Z1ZENCeVpYRjFaWE4wWldRdVhHNHZMeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR1JsYzJsbmJtVmtJSFJ2SUdKbElHbHViR2x1WVdKc1pTd2djMjhnY0d4bFlYTmxJSFJoYTJVZ1kyRnlaU0IzYUdWdUlHMWhhMmx1WjF4dUx5OGdZMmhoYm1kbGN5QjBieUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlUzVjYm1aMWJtTjBhVzl1SUdaeWIyMU1hWE4wVUdGeWRHbGhiQ2h1TENCc2FYTjBMQ0JvWVhOVGRISnBibWR6S1NCN1hHNGdJSFpoY2lCeVpYUTdYRzRnSUdsbUlDaHVJRHdnYkdsemRDNW9aV0ZrTG1SaGRHRXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0x5OGdjMnhwWTJVZ2FYTWdkR2hsSUhOaGJXVWdabTl5SUdKMVptWmxjbk1nWVc1a0lITjBjbWx1WjNOY2JpQWdJQ0J5WlhRZ1BTQnNhWE4wTG1obFlXUXVaR0YwWVM1emJHbGpaU2d3TENCdUtUdGNiaUFnSUNCc2FYTjBMbWhsWVdRdVpHRjBZU0E5SUd4cGMzUXVhR1ZoWkM1a1lYUmhMbk5zYVdObEtHNHBPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHNGdQVDA5SUd4cGMzUXVhR1ZoWkM1a1lYUmhMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDOHZJR1pwY25OMElHTm9kVzVySUdseklHRWdjR1Z5Wm1WamRDQnRZWFJqYUZ4dUlDQWdJSEpsZENBOUlHeHBjM1F1YzJocFpuUW9LVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0F2THlCeVpYTjFiSFFnYzNCaGJuTWdiVzl5WlNCMGFHRnVJRzl1WlNCaWRXWm1aWEpjYmlBZ0lDQnlaWFFnUFNCb1lYTlRkSEpwYm1keklEOGdZMjl3ZVVaeWIyMUNkV1ptWlhKVGRISnBibWNvYml3Z2JHbHpkQ2tnT2lCamIzQjVSbkp2YlVKMVptWmxjaWh1TENCc2FYTjBLVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZWeHVYRzR2THlCRGIzQnBaWE1nWVNCemNHVmphV1pwWldRZ1lXMXZkVzUwSUc5bUlHTm9ZWEpoWTNSbGNuTWdabkp2YlNCMGFHVWdiR2x6ZENCdlppQmlkV1ptWlhKbFpDQmtZWFJoWEc0dkx5QmphSFZ1YTNNdVhHNHZMeUJVYUdseklHWjFibU4wYVc5dUlHbHpJR1JsYzJsbmJtVmtJSFJ2SUdKbElHbHViR2x1WVdKc1pTd2djMjhnY0d4bFlYTmxJSFJoYTJVZ1kyRnlaU0IzYUdWdUlHMWhhMmx1WjF4dUx5OGdZMmhoYm1kbGN5QjBieUIwYUdVZ1puVnVZM1JwYjI0Z1ltOWtlUzVjYm1aMWJtTjBhVzl1SUdOdmNIbEdjbTl0UW5WbVptVnlVM1J5YVc1bktHNHNJR3hwYzNRcElIdGNiaUFnZG1GeUlIQWdQU0JzYVhOMExtaGxZV1E3WEc0Z0lIWmhjaUJqSUQwZ01UdGNiaUFnZG1GeUlISmxkQ0E5SUhBdVpHRjBZVHRjYmlBZ2JpQXRQU0J5WlhRdWJHVnVaM1JvTzF4dUlDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lIWmhjaUJ6ZEhJZ1BTQndMbVJoZEdFN1hHNGdJQ0FnZG1GeUlHNWlJRDBnYmlBK0lITjBjaTVzWlc1bmRHZ2dQeUJ6ZEhJdWJHVnVaM1JvSURvZ2JqdGNiaUFnSUNCcFppQW9ibUlnUFQwOUlITjBjaTVzWlc1bmRHZ3BJSEpsZENBclBTQnpkSEk3Wld4elpTQnlaWFFnS3owZ2MzUnlMbk5zYVdObEtEQXNJRzRwTzF4dUlDQWdJRzRnTFQwZ2JtSTdYRzRnSUNBZ2FXWWdLRzRnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJR2xtSUNodVlpQTlQVDBnYzNSeUxteGxibWQwYUNrZ2UxeHVJQ0FnSUNBZ0lDQXJLMk03WEc0Z0lDQWdJQ0FnSUdsbUlDaHdMbTVsZUhRcElHeHBjM1F1YUdWaFpDQTlJSEF1Ym1WNGREdGxiSE5sSUd4cGMzUXVhR1ZoWkNBOUlHeHBjM1F1ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNCc2FYTjBMbWhsWVdRZ1BTQndPMXh1SUNBZ0lDQWdJQ0J3TG1SaGRHRWdQU0J6ZEhJdWMyeHBZMlVvYm1JcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdmVnh1SUNBZ0lDc3JZenRjYmlBZ2ZWeHVJQ0JzYVhOMExteGxibWQwYUNBdFBTQmpPMXh1SUNCeVpYUjFjbTRnY21WME8xeHVmVnh1WEc0dkx5QkRiM0JwWlhNZ1lTQnpjR1ZqYVdacFpXUWdZVzF2ZFc1MElHOW1JR0o1ZEdWeklHWnliMjBnZEdobElHeHBjM1FnYjJZZ1luVm1abVZ5WldRZ1pHRjBZU0JqYUhWdWEzTXVYRzR2THlCVWFHbHpJR1oxYm1OMGFXOXVJR2x6SUdSbGMybG5ibVZrSUhSdklHSmxJR2x1YkdsdVlXSnNaU3dnYzI4Z2NHeGxZWE5sSUhSaGEyVWdZMkZ5WlNCM2FHVnVJRzFoYTJsdVoxeHVMeThnWTJoaGJtZGxjeUIwYnlCMGFHVWdablZ1WTNScGIyNGdZbTlrZVM1Y2JtWjFibU4wYVc5dUlHTnZjSGxHY205dFFuVm1abVZ5S0c0c0lHeHBjM1FwSUh0Y2JpQWdkbUZ5SUhKbGRDQTlJRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aU2h1S1R0Y2JpQWdkbUZ5SUhBZ1BTQnNhWE4wTG1obFlXUTdYRzRnSUhaaGNpQmpJRDBnTVR0Y2JpQWdjQzVrWVhSaExtTnZjSGtvY21WMEtUdGNiaUFnYmlBdFBTQndMbVJoZEdFdWJHVnVaM1JvTzF4dUlDQjNhR2xzWlNBb2NDQTlJSEF1Ym1WNGRDa2dlMXh1SUNBZ0lIWmhjaUJpZFdZZ1BTQndMbVJoZEdFN1hHNGdJQ0FnZG1GeUlHNWlJRDBnYmlBK0lHSjFaaTVzWlc1bmRHZ2dQeUJpZFdZdWJHVnVaM1JvSURvZ2JqdGNiaUFnSUNCaWRXWXVZMjl3ZVNoeVpYUXNJSEpsZEM1c1pXNW5kR2dnTFNCdUxDQXdMQ0J1WWlrN1hHNGdJQ0FnYmlBdFBTQnVZanRjYmlBZ0lDQnBaaUFvYmlBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVdZZ0tHNWlJRDA5UFNCaWRXWXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJQ3NyWXp0Y2JpQWdJQ0FnSUNBZ2FXWWdLSEF1Ym1WNGRDa2diR2x6ZEM1b1pXRmtJRDBnY0M1dVpYaDBPMlZzYzJVZ2JHbHpkQzVvWldGa0lEMGdiR2x6ZEM1MFlXbHNJRDBnYm5Wc2JEdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHeHBjM1F1YUdWaFpDQTlJSEE3WEc0Z0lDQWdJQ0FnSUhBdVpHRjBZU0E5SUdKMVppNXpiR2xqWlNodVlpazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5WEc0Z0lDQWdLeXRqTzF4dUlDQjlYRzRnSUd4cGMzUXViR1Z1WjNSb0lDMDlJR003WEc0Z0lISmxkSFZ5YmlCeVpYUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHVnVaRkpsWVdSaFlteGxLSE4wY21WaGJTa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQnpkSEpsWVcwdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc1Y2JpQWdMeThnU1dZZ2QyVWdaMlYwSUdobGNtVWdZbVZtYjNKbElHTnZibk4xYldsdVp5QmhiR3dnZEdobElHSjVkR1Z6TENCMGFHVnVJSFJvWVhRZ2FYTWdZVnh1SUNBdkx5QmlkV2NnYVc0Z2JtOWtaUzRnSUZOb2IzVnNaQ0J1WlhabGNpQm9ZWEJ3Wlc0dVhHNGdJR2xtSUNoemRHRjBaUzVzWlc1bmRHZ2dQaUF3S1NCMGFISnZkeUJ1WlhjZ1JYSnliM0lvSjF3aVpXNWtVbVZoWkdGaWJHVW9LVndpSUdOaGJHeGxaQ0J2YmlCdWIyNHRaVzF3ZEhrZ2MzUnlaV0Z0SnlrN1hHNWNiaUFnYVdZZ0tDRnpkR0YwWlM1bGJtUkZiV2wwZEdWa0tTQjdYRzRnSUNBZ2MzUmhkR1V1Wlc1a1pXUWdQU0IwY25WbE8xeHVJQ0FnSUhCdVlTNXVaWGgwVkdsamF5aGxibVJTWldGa1lXSnNaVTVVTENCemRHRjBaU3dnYzNSeVpXRnRLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCbGJtUlNaV0ZrWVdKc1pVNVVLSE4wWVhSbExDQnpkSEpsWVcwcElIdGNiaUFnTHk4Z1EyaGxZMnNnZEdoaGRDQjNaU0JrYVdSdUozUWdaMlYwSUc5dVpTQnNZWE4wSUhWdWMyaHBablF1WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzVrUlcxcGRIUmxaQ0FtSmlCemRHRjBaUzVzWlc1bmRHZ2dQVDA5SURBcElIdGNiaUFnSUNCemRHRjBaUzVsYm1SRmJXbDBkR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQnpkSEpsWVcwdWNtVmhaR0ZpYkdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnblpXNWtKeWs3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FXNWtaWGhQWmloNGN5d2dlQ2tnZTF4dUlDQm1iM0lnS0haaGNpQnBJRDBnTUN3Z2JDQTlJSGh6TG14bGJtZDBhRHNnYVNBOElHdzdJR2tyS3lrZ2UxeHVJQ0FnSUdsbUlDaDRjMXRwWFNBOVBUMGdlQ2tnY21WMGRYSnVJR2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJQzB4TzF4dWZTSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcbi8vIGEgdHJhbnNmb3JtIHN0cmVhbSBpcyBhIHJlYWRhYmxlL3dyaXRhYmxlIHN0cmVhbSB3aGVyZSB5b3UgZG9cXG4vLyBzb21ldGhpbmcgd2l0aCB0aGUgZGF0YS4gIFNvbWV0aW1lcyBpdCdzIGNhbGxlZCBhIFxcXCJmaWx0ZXJcXFwiLFxcbi8vIGJ1dCB0aGF0J3Mgbm90IGEgZ3JlYXQgbmFtZSBmb3IgaXQsIHNpbmNlIHRoYXQgaW1wbGllcyBhIHRoaW5nIHdoZXJlXFxuLy8gc29tZSBiaXRzIHBhc3MgdGhyb3VnaCwgYW5kIG90aGVycyBhcmUgc2ltcGx5IGlnbm9yZWQuICAoVGhhdCB3b3VsZFxcbi8vIGJlIGEgdmFsaWQgZXhhbXBsZSBvZiBhIHRyYW5zZm9ybSwgb2YgY291cnNlLilcXG4vL1xcbi8vIFdoaWxlIHRoZSBvdXRwdXQgaXMgY2F1c2FsbHkgcmVsYXRlZCB0byB0aGUgaW5wdXQsIGl0J3Mgbm90IGFcXG4vLyBuZWNlc3NhcmlseSBzeW1tZXRyaWMgb3Igc3luY2hyb25vdXMgdHJhbnNmb3JtYXRpb24uICBGb3IgZXhhbXBsZSxcXG4vLyBhIHpsaWIgc3RyZWFtIG1pZ2h0IHRha2UgbXVsdGlwbGUgcGxhaW4tdGV4dCB3cml0ZXMoKSwgYW5kIHRoZW5cXG4vLyBlbWl0IGEgc2luZ2xlIGNvbXByZXNzZWQgY2h1bmsgc29tZSB0aW1lIGluIHRoZSBmdXR1cmUuXFxuLy9cXG4vLyBIZXJlJ3MgaG93IHRoaXMgd29ya3M6XFxuLy9cXG4vLyBUaGUgVHJhbnNmb3JtIHN0cmVhbSBoYXMgYWxsIHRoZSBhc3BlY3RzIG9mIHRoZSByZWFkYWJsZSBhbmQgd3JpdGFibGVcXG4vLyBzdHJlYW0gY2xhc3Nlcy4gIFdoZW4geW91IHdyaXRlKGNodW5rKSwgdGhhdCBjYWxscyBfd3JpdGUoY2h1bmssY2IpXFxuLy8gaW50ZXJuYWxseSwgYW5kIHJldHVybnMgZmFsc2UgaWYgdGhlcmUncyBhIGxvdCBvZiBwZW5kaW5nIHdyaXRlc1xcbi8vIGJ1ZmZlcmVkIHVwLiAgV2hlbiB5b3UgY2FsbCByZWFkKCksIHRoYXQgY2FsbHMgX3JlYWQobikgdW50aWxcXG4vLyB0aGVyZSdzIGVub3VnaCBwZW5kaW5nIHJlYWRhYmxlIGRhdGEgYnVmZmVyZWQgdXAuXFxuLy9cXG4vLyBJbiBhIHRyYW5zZm9ybSBzdHJlYW0sIHRoZSB3cml0dGVuIGRhdGEgaXMgcGxhY2VkIGluIGEgYnVmZmVyLiAgV2hlblxcbi8vIF9yZWFkKG4pIGlzIGNhbGxlZCwgaXQgdHJhbnNmb3JtcyB0aGUgcXVldWVkIHVwIGRhdGEsIGNhbGxpbmcgdGhlXFxuLy8gYnVmZmVyZWQgX3dyaXRlIGNiJ3MgYXMgaXQgY29uc3VtZXMgY2h1bmtzLiAgSWYgY29uc3VtaW5nIGEgc2luZ2xlXFxuLy8gd3JpdHRlbiBjaHVuayB3b3VsZCByZXN1bHQgaW4gbXVsdGlwbGUgb3V0cHV0IGNodW5rcywgdGhlbiB0aGUgZmlyc3RcXG4vLyBvdXRwdXR0ZWQgYml0IGNhbGxzIHRoZSByZWFkY2IsIGFuZCBzdWJzZXF1ZW50IGNodW5rcyBqdXN0IGdvIGludG9cXG4vLyB0aGUgcmVhZCBidWZmZXIsIGFuZCB3aWxsIGNhdXNlIGl0IHRvIGVtaXQgJ3JlYWRhYmxlJyBpZiBuZWNlc3NhcnkuXFxuLy9cXG4vLyBUaGlzIHdheSwgYmFjay1wcmVzc3VyZSBpcyBhY3R1YWxseSBkZXRlcm1pbmVkIGJ5IHRoZSByZWFkaW5nIHNpZGUsXFxuLy8gc2luY2UgX3JlYWQgaGFzIHRvIGJlIGNhbGxlZCB0byBzdGFydCBwcm9jZXNzaW5nIGEgbmV3IGNodW5rLiAgSG93ZXZlcixcXG4vLyBhIHBhdGhvbG9naWNhbCBpbmZsYXRlIHR5cGUgb2YgdHJhbnNmb3JtIGNhbiBjYXVzZSBleGNlc3NpdmUgYnVmZmVyaW5nXFxuLy8gaGVyZS4gIEZvciBleGFtcGxlLCBpbWFnaW5lIGEgc3RyZWFtIHdoZXJlIGV2ZXJ5IGJ5dGUgb2YgaW5wdXQgaXNcXG4vLyBpbnRlcnByZXRlZCBhcyBhbiBpbnRlZ2VyIGZyb20gMC0yNTUsIGFuZCB0aGVuIHJlc3VsdHMgaW4gdGhhdCBtYW55XFxuLy8gYnl0ZXMgb2Ygb3V0cHV0LiAgV3JpdGluZyB0aGUgNCBieXRlcyB7ZmYsZmYsZmYsZmZ9IHdvdWxkIHJlc3VsdCBpblxcbi8vIDFrYiBvZiBkYXRhIGJlaW5nIG91dHB1dC4gIEluIHRoaXMgY2FzZSwgeW91IGNvdWxkIHdyaXRlIGEgdmVyeSBzbWFsbFxcbi8vIGFtb3VudCBvZiBpbnB1dCwgYW5kIGVuZCB1cCB3aXRoIGEgdmVyeSBsYXJnZSBhbW91bnQgb2Ygb3V0cHV0LiAgSW5cXG4vLyBzdWNoIGEgcGF0aG9sb2dpY2FsIGluZmxhdGluZyBtZWNoYW5pc20sIHRoZXJlJ2QgYmUgbm8gd2F5IHRvIHRlbGxcXG4vLyB0aGUgc3lzdGVtIHRvIHN0b3AgZG9pbmcgdGhlIHRyYW5zZm9ybS4gIEEgc2luZ2xlIDRNQiB3cml0ZSBjb3VsZFxcbi8vIGNhdXNlIHRoZSBzeXN0ZW0gdG8gcnVuIG91dCBvZiBtZW1vcnkuXFxuLy9cXG4vLyBIb3dldmVyLCBldmVuIGluIHN1Y2ggYSBwYXRob2xvZ2ljYWwgY2FzZSwgb25seSBhIHNpbmdsZSB3cml0dGVuIGNodW5rXFxuLy8gd291bGQgYmUgY29uc3VtZWQsIGFuZCB0aGVuIHRoZSByZXN0IHdvdWxkIHdhaXQgKHVuLXRyYW5zZm9ybWVkKSB1bnRpbFxcbi8vIHRoZSByZXN1bHRzIG9mIHRoZSBwcmV2aW91cyB0cmFuc2Zvcm1lZCBjaHVuayB3ZXJlIGNvbnN1bWVkLlxcblxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gVHJhbnNmb3JtO1xcblxcbnZhciBEdXBsZXggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL19zdHJlYW1fZHVwbGV4ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fZHVwbGV4LmpzXFxcIik7XFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtdXRpbC1pcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzXFxcIik7XFxudXRpbC5pbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxudXRpbC5pbmhlcml0cyhUcmFuc2Zvcm0sIER1cGxleCk7XFxuXFxuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMudHJhbnNmb3JtaW5nID0gZmFsc2U7XFxuXFxuICB2YXIgY2IgPSB0cy53cml0ZWNiO1xcblxcbiAgaWYgKCFjYikge1xcbiAgICByZXR1cm4gdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFcnJvcignd3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzJykpO1xcbiAgfVxcblxcbiAgdHMud3JpdGVjaHVuayA9IG51bGw7XFxuICB0cy53cml0ZWNiID0gbnVsbDtcXG5cXG4gIGlmIChkYXRhICE9IG51bGwpIC8vIHNpbmdsZSBlcXVhbHMgY2hlY2sgZm9yIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYFxcbiAgICB0aGlzLnB1c2goZGF0YSk7XFxuXFxuICBjYihlcik7XFxuXFxuICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xcbiAgcnMucmVhZGluZyA9IGZhbHNlO1xcbiAgaWYgKHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB7XFxuICAgIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIFRyYW5zZm9ybShvcHRpb25zKSB7XFxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgVHJhbnNmb3JtKSkgcmV0dXJuIG5ldyBUcmFuc2Zvcm0ob3B0aW9ucyk7XFxuXFxuICBEdXBsZXguY2FsbCh0aGlzLCBvcHRpb25zKTtcXG5cXG4gIHRoaXMuX3RyYW5zZm9ybVN0YXRlID0ge1xcbiAgICBhZnRlclRyYW5zZm9ybTogYWZ0ZXJUcmFuc2Zvcm0uYmluZCh0aGlzKSxcXG4gICAgbmVlZFRyYW5zZm9ybTogZmFsc2UsXFxuICAgIHRyYW5zZm9ybWluZzogZmFsc2UsXFxuICAgIHdyaXRlY2I6IG51bGwsXFxuICAgIHdyaXRlY2h1bms6IG51bGwsXFxuICAgIHdyaXRlZW5jb2Rpbmc6IG51bGxcXG4gIH07XFxuXFxuICAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcXG5cXG4gIC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xcbiAgLy8gdGhhdCBSZWFkYWJsZSB3YW50cyBiZWZvcmUgdGhlIGZpcnN0IF9yZWFkIGNhbGwsIHNvIHVuc2V0IHRoZVxcbiAgLy8gc3luYyBndWFyZCBmbGFnLlxcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XFxuXFxuICBpZiAob3B0aW9ucykge1xcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcXG5cXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmZsdXNoID09PSAnZnVuY3Rpb24nKSB0aGlzLl9mbHVzaCA9IG9wdGlvbnMuZmx1c2g7XFxuICB9XFxuXFxuICAvLyBXaGVuIHRoZSB3cml0YWJsZSBzaWRlIGZpbmlzaGVzLCB0aGVuIGZsdXNoIG91dCBhbnl0aGluZyByZW1haW5pbmcuXFxuICB0aGlzLm9uKCdwcmVmaW5pc2gnLCBwcmVmaW5pc2gpO1xcbn1cXG5cXG5mdW5jdGlvbiBwcmVmaW5pc2goKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgaWYgKHR5cGVvZiB0aGlzLl9mbHVzaCA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICB0aGlzLl9mbHVzaChmdW5jdGlvbiAoZXIsIGRhdGEpIHtcXG4gICAgICBkb25lKF90aGlzLCBlciwgZGF0YSk7XFxuICAgIH0pO1xcbiAgfSBlbHNlIHtcXG4gICAgZG9uZSh0aGlzLCBudWxsLCBudWxsKTtcXG4gIH1cXG59XFxuXFxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybSA9IGZhbHNlO1xcbiAgcmV0dXJuIER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsIGNodW5rLCBlbmNvZGluZyk7XFxufTtcXG5cXG4vLyBUaGlzIGlzIHRoZSBwYXJ0IHdoZXJlIHlvdSBkbyBzdHVmZiFcXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXFxuLy8gJ2NodW5rJyBpcyBhbiBpbnB1dCBjaHVuay5cXG4vL1xcbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxcbi8vIHRvIHRoZSByZWFkYWJsZSBzaWRlLiAgWW91IG1heSBjYWxsICdwdXNoJyB6ZXJvIG9yIG1vcmUgdGltZXMuXFxuLy9cXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xcbi8vIGFuIGVycm9yLCB0aGVuIHRoYXQnbGwgcHV0IHRoZSBodXJ0IG9uIHRoZSB3aG9sZSBvcGVyYXRpb24uICBJZiB5b3VcXG4vLyBuZXZlciBjYWxsIGNiKCksIHRoZW4geW91J2xsIG5ldmVyIGdldCBhbm90aGVyIGNodW5rLlxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB0aHJvdyBuZXcgRXJyb3IoJ190cmFuc2Zvcm0oKSBpcyBub3QgaW1wbGVtZW50ZWQnKTtcXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcbiAgdHMud3JpdGVjYiA9IGNiO1xcbiAgdHMud3JpdGVjaHVuayA9IGNodW5rO1xcbiAgdHMud3JpdGVlbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcXG4gICAgdmFyIHJzID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcXG4gICAgaWYgKHRzLm5lZWRUcmFuc2Zvcm0gfHwgcnMubmVlZFJlYWRhYmxlIHx8IHJzLmxlbmd0aCA8IHJzLmhpZ2hXYXRlck1hcmspIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XFxuICB9XFxufTtcXG5cXG4vLyBEb2Vzbid0IG1hdHRlciB3aGF0IHRoZSBhcmdzIGFyZSBoZXJlLlxcbi8vIF90cmFuc2Zvcm0gZG9lcyBhbGwgdGhlIHdvcmsuXFxuLy8gVGhhdCB3ZSBnb3QgaGVyZSBtZWFucyB0aGF0IHRoZSByZWFkYWJsZSBzaWRlIHdhbnRzIG1vcmUgZGF0YS5cXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcXG4gIHZhciB0cyA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xcblxcbiAgaWYgKHRzLndyaXRlY2h1bmsgIT09IG51bGwgJiYgdHMud3JpdGVjYiAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XFxuICAgIHRzLnRyYW5zZm9ybWluZyA9IHRydWU7XFxuICAgIHRoaXMuX3RyYW5zZm9ybSh0cy53cml0ZWNodW5rLCB0cy53cml0ZWVuY29kaW5nLCB0cy5hZnRlclRyYW5zZm9ybSk7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBtYXJrIHRoYXQgd2UgbmVlZCBhIHRyYW5zZm9ybSwgc28gdGhhdCBhbnkgZGF0YSB0aGF0IGNvbWVzIGluXFxuICAgIC8vIHdpbGwgZ2V0IHByb2Nlc3NlZCwgbm93IHRoYXQgd2UndmUgYXNrZWQgZm9yIGl0LlxcbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcXG4gIH1cXG59O1xcblxcblRyYW5zZm9ybS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xcbiAgdmFyIF90aGlzMiA9IHRoaXM7XFxuXFxuICBEdXBsZXgucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcywgZXJyLCBmdW5jdGlvbiAoZXJyMikge1xcbiAgICBjYihlcnIyKTtcXG4gICAgX3RoaXMyLmVtaXQoJ2Nsb3NlJyk7XFxuICB9KTtcXG59O1xcblxcbmZ1bmN0aW9uIGRvbmUoc3RyZWFtLCBlciwgZGF0YSkge1xcbiAgaWYgKGVyKSByZXR1cm4gc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcblxcbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXFxuICAgIHN0cmVhbS5wdXNoKGRhdGEpO1xcblxcbiAgLy8gaWYgdGhlcmUncyBub3RoaW5nIGluIHRoZSB3cml0ZSBidWZmZXIsIHRoZW4gdGhhdCBtZWFuc1xcbiAgLy8gdGhhdCBub3RoaW5nIG1vcmUgd2lsbCBldmVyIGJlIHByb3ZpZGVkXFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gd3MubGVuZ3RoICE9IDAnKTtcXG5cXG4gIGlmIChzdHJlYW0uX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZykgdGhyb3cgbmV3IEVycm9yKCdDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gc3RpbGwgdHJhbnNmb3JtaW5nJyk7XFxuXFxuICByZXR1cm4gc3RyZWFtLnB1c2gobnVsbCk7XFxufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmRISmhibk5tYjNKdExtcHpQek5tTkRBaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERCRFFVRXdReXhaUVVGWk8wRkJRM1JFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGWVRzN1FVRkZZanM3UVVGRlFTeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc09FVkJRV3RDT3p0QlFVVjJRenRCUVVOQkxGZEJRVmNzYlVKQlFVOHNRMEZCUXl3MlJFRkJZenRCUVVOcVF5eG5Ra0ZCWjBJc2JVSkJRVThzUTBGQlF5dzJSRUZCVlR0QlFVTnNRenM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVEN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM0psWVdSaFlteGxMWE4wY21WaGJTOXNhV0l2WDNOMGNtVmhiVjkwY21GdWMyWnZjbTB1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JseHVMeThnWVNCMGNtRnVjMlp2Y20wZ2MzUnlaV0Z0SUdseklHRWdjbVZoWkdGaWJHVXZkM0pwZEdGaWJHVWdjM1J5WldGdElIZG9aWEpsSUhsdmRTQmtiMXh1THk4Z2MyOXRaWFJvYVc1bklIZHBkR2dnZEdobElHUmhkR0V1SUNCVGIyMWxkR2x0WlhNZ2FYUW5jeUJqWVd4c1pXUWdZU0JjSW1acGJIUmxjbHdpTEZ4dUx5OGdZblYwSUhSb1lYUW5jeUJ1YjNRZ1lTQm5jbVZoZENCdVlXMWxJR1p2Y2lCcGRDd2djMmx1WTJVZ2RHaGhkQ0JwYlhCc2FXVnpJR0VnZEdocGJtY2dkMmhsY21WY2JpOHZJSE52YldVZ1ltbDBjeUJ3WVhOeklIUm9jbTkxWjJnc0lHRnVaQ0J2ZEdobGNuTWdZWEpsSUhOcGJYQnNlU0JwWjI1dmNtVmtMaUFnS0ZSb1lYUWdkMjkxYkdSY2JpOHZJR0psSUdFZ2RtRnNhV1FnWlhoaGJYQnNaU0J2WmlCaElIUnlZVzV6Wm05eWJTd2diMllnWTI5MWNuTmxMaWxjYmk4dlhHNHZMeUJYYUdsc1pTQjBhR1VnYjNWMGNIVjBJR2x6SUdOaGRYTmhiR3g1SUhKbGJHRjBaV1FnZEc4Z2RHaGxJR2x1Y0hWMExDQnBkQ2R6SUc1dmRDQmhYRzR2THlCdVpXTmxjM05oY21sc2VTQnplVzF0WlhSeWFXTWdiM0lnYzNsdVkyaHliMjV2ZFhNZ2RISmhibk5tYjNKdFlYUnBiMjR1SUNCR2IzSWdaWGhoYlhCc1pTeGNiaTh2SUdFZ2VteHBZaUJ6ZEhKbFlXMGdiV2xuYUhRZ2RHRnJaU0J0ZFd4MGFYQnNaU0J3YkdGcGJpMTBaWGgwSUhkeWFYUmxjeWdwTENCaGJtUWdkR2hsYmx4dUx5OGdaVzFwZENCaElITnBibWRzWlNCamIyMXdjbVZ6YzJWa0lHTm9kVzVySUhOdmJXVWdkR2x0WlNCcGJpQjBhR1VnWm5WMGRYSmxMbHh1THk5Y2JpOHZJRWhsY21VbmN5Qm9iM2NnZEdocGN5QjNiM0pyY3pwY2JpOHZYRzR2THlCVWFHVWdWSEpoYm5ObWIzSnRJSE4wY21WaGJTQm9ZWE1nWVd4c0lIUm9aU0JoYzNCbFkzUnpJRzltSUhSb1pTQnlaV0ZrWVdKc1pTQmhibVFnZDNKcGRHRmliR1ZjYmk4dklITjBjbVZoYlNCamJHRnpjMlZ6TGlBZ1YyaGxiaUI1YjNVZ2QzSnBkR1VvWTJoMWJtc3BMQ0IwYUdGMElHTmhiR3h6SUY5M2NtbDBaU2hqYUhWdWF5eGpZaWxjYmk4dklHbHVkR1Z5Ym1Gc2JIa3NJR0Z1WkNCeVpYUjFjbTV6SUdaaGJITmxJR2xtSUhSb1pYSmxKM01nWVNCc2IzUWdiMllnY0dWdVpHbHVaeUIzY21sMFpYTmNiaTh2SUdKMVptWmxjbVZrSUhWd0xpQWdWMmhsYmlCNWIzVWdZMkZzYkNCeVpXRmtLQ2tzSUhSb1lYUWdZMkZzYkhNZ1gzSmxZV1FvYmlrZ2RXNTBhV3hjYmk4dklIUm9aWEpsSjNNZ1pXNXZkV2RvSUhCbGJtUnBibWNnY21WaFpHRmliR1VnWkdGMFlTQmlkV1ptWlhKbFpDQjFjQzVjYmk4dlhHNHZMeUJKYmlCaElIUnlZVzV6Wm05eWJTQnpkSEpsWVcwc0lIUm9aU0IzY21sMGRHVnVJR1JoZEdFZ2FYTWdjR3hoWTJWa0lHbHVJR0VnWW5WbVptVnlMaUFnVjJobGJseHVMeThnWDNKbFlXUW9iaWtnYVhNZ1kyRnNiR1ZrTENCcGRDQjBjbUZ1YzJadmNtMXpJSFJvWlNCeGRXVjFaV1FnZFhBZ1pHRjBZU3dnWTJGc2JHbHVaeUIwYUdWY2JpOHZJR0oxWm1abGNtVmtJRjkzY21sMFpTQmpZaWR6SUdGeklHbDBJR052Ym5OMWJXVnpJR05vZFc1cmN5NGdJRWxtSUdOdmJuTjFiV2x1WnlCaElITnBibWRzWlZ4dUx5OGdkM0pwZEhSbGJpQmphSFZ1YXlCM2IzVnNaQ0J5WlhOMWJIUWdhVzRnYlhWc2RHbHdiR1VnYjNWMGNIVjBJR05vZFc1cmN5d2dkR2hsYmlCMGFHVWdabWx5YzNSY2JpOHZJRzkxZEhCMWRIUmxaQ0JpYVhRZ1kyRnNiSE1nZEdobElISmxZV1JqWWl3Z1lXNWtJSE4xWW5ObGNYVmxiblFnWTJoMWJtdHpJR3AxYzNRZ1oyOGdhVzUwYjF4dUx5OGdkR2hsSUhKbFlXUWdZblZtWm1WeUxDQmhibVFnZDJsc2JDQmpZWFZ6WlNCcGRDQjBieUJsYldsMElDZHlaV0ZrWVdKc1pTY2dhV1lnYm1WalpYTnpZWEo1TGx4dUx5OWNiaTh2SUZSb2FYTWdkMkY1TENCaVlXTnJMWEJ5WlhOemRYSmxJR2x6SUdGamRIVmhiR3g1SUdSbGRHVnliV2x1WldRZ1lua2dkR2hsSUhKbFlXUnBibWNnYzJsa1pTeGNiaTh2SUhOcGJtTmxJRjl5WldGa0lHaGhjeUIwYnlCaVpTQmpZV3hzWldRZ2RHOGdjM1JoY25RZ2NISnZZMlZ6YzJsdVp5QmhJRzVsZHlCamFIVnVheTRnSUVodmQyVjJaWElzWEc0dkx5QmhJSEJoZEdodmJHOW5hV05oYkNCcGJtWnNZWFJsSUhSNWNHVWdiMllnZEhKaGJuTm1iM0p0SUdOaGJpQmpZWFZ6WlNCbGVHTmxjM05wZG1VZ1luVm1abVZ5YVc1blhHNHZMeUJvWlhKbExpQWdSbTl5SUdWNFlXMXdiR1VzSUdsdFlXZHBibVVnWVNCemRISmxZVzBnZDJobGNtVWdaWFpsY25rZ1lubDBaU0J2WmlCcGJuQjFkQ0JwYzF4dUx5OGdhVzUwWlhKd2NtVjBaV1FnWVhNZ1lXNGdhVzUwWldkbGNpQm1jbTl0SURBdE1qVTFMQ0JoYm1RZ2RHaGxiaUJ5WlhOMWJIUnpJR2x1SUhSb1lYUWdiV0Z1ZVZ4dUx5OGdZbmwwWlhNZ2IyWWdiM1YwY0hWMExpQWdWM0pwZEdsdVp5QjBhR1VnTkNCaWVYUmxjeUI3Wm1Zc1ptWXNabVlzWm1aOUlIZHZkV3hrSUhKbGMzVnNkQ0JwYmx4dUx5OGdNV3RpSUc5bUlHUmhkR0VnWW1WcGJtY2diM1YwY0hWMExpQWdTVzRnZEdocGN5QmpZWE5sTENCNWIzVWdZMjkxYkdRZ2QzSnBkR1VnWVNCMlpYSjVJSE50WVd4c1hHNHZMeUJoYlc5MWJuUWdiMllnYVc1d2RYUXNJR0Z1WkNCbGJtUWdkWEFnZDJsMGFDQmhJSFpsY25rZ2JHRnlaMlVnWVcxdmRXNTBJRzltSUc5MWRIQjFkQzRnSUVsdVhHNHZMeUJ6ZFdOb0lHRWdjR0YwYUc5c2IyZHBZMkZzSUdsdVpteGhkR2x1WnlCdFpXTm9ZVzVwYzIwc0lIUm9aWEpsSjJRZ1ltVWdibThnZDJGNUlIUnZJSFJsYkd4Y2JpOHZJSFJvWlNCemVYTjBaVzBnZEc4Z2MzUnZjQ0JrYjJsdVp5QjBhR1VnZEhKaGJuTm1iM0p0TGlBZ1FTQnphVzVuYkdVZ05FMUNJSGR5YVhSbElHTnZkV3hrWEc0dkx5QmpZWFZ6WlNCMGFHVWdjM2x6ZEdWdElIUnZJSEoxYmlCdmRYUWdiMllnYldWdGIzSjVMbHh1THk5Y2JpOHZJRWh2ZDJWMlpYSXNJR1YyWlc0Z2FXNGdjM1ZqYUNCaElIQmhkR2h2Ykc5bmFXTmhiQ0JqWVhObExDQnZibXg1SUdFZ2MybHVaMnhsSUhkeWFYUjBaVzRnWTJoMWJtdGNiaTh2SUhkdmRXeGtJR0psSUdOdmJuTjFiV1ZrTENCaGJtUWdkR2hsYmlCMGFHVWdjbVZ6ZENCM2IzVnNaQ0IzWVdsMElDaDFiaTEwY21GdWMyWnZjbTFsWkNrZ2RXNTBhV3hjYmk4dklIUm9aU0J5WlhOMWJIUnpJRzltSUhSb1pTQndjbVYyYVc5MWN5QjBjbUZ1YzJadmNtMWxaQ0JqYUhWdWF5QjNaWEpsSUdOdmJuTjFiV1ZrTGx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1ZISmhibk5tYjNKdE8xeHVYRzUyWVhJZ1JIVndiR1Y0SUQwZ2NtVnhkV2x5WlNnbkxpOWZjM1J5WldGdFgyUjFjR3hsZUNjcE8xeHVYRzR2S2p4eVpYQnNZV05sYldWdWRENHFMMXh1ZG1GeUlIVjBhV3dnUFNCeVpYRjFhWEpsS0NkamIzSmxMWFYwYVd3dGFYTW5LVHRjYm5WMGFXd3VhVzVvWlhKcGRITWdQU0J5WlhGMWFYSmxLQ2RwYm1obGNtbDBjeWNwTzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiblYwYVd3dWFXNW9aWEpwZEhNb1ZISmhibk5tYjNKdExDQkVkWEJzWlhncE8xeHVYRzVtZFc1amRHbHZiaUJoWm5SbGNsUnlZVzV6Wm05eWJTaGxjaXdnWkdGMFlTa2dlMXh1SUNCMllYSWdkSE1nUFNCMGFHbHpMbDkwY21GdWMyWnZjbTFUZEdGMFpUdGNiaUFnZEhNdWRISmhibk5tYjNKdGFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ2RtRnlJR05pSUQwZ2RITXVkM0pwZEdWallqdGNibHh1SUNCcFppQW9JV05pS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVpXMXBkQ2duWlhKeWIzSW5MQ0J1WlhjZ1JYSnliM0lvSjNkeWFYUmxJR05oYkd4aVlXTnJJR05oYkd4bFpDQnRkV3gwYVhCc1pTQjBhVzFsY3ljcEtUdGNiaUFnZlZ4dVhHNGdJSFJ6TG5keWFYUmxZMmgxYm1zZ1BTQnVkV3hzTzF4dUlDQjBjeTUzY21sMFpXTmlJRDBnYm5Wc2JEdGNibHh1SUNCcFppQW9aR0YwWVNBaFBTQnVkV3hzS1NBdkx5QnphVzVuYkdVZ1pYRjFZV3h6SUdOb1pXTnJJR1p2Y2lCaWIzUm9JR0J1ZFd4c1lDQmhibVFnWUhWdVpHVm1hVzVsWkdCY2JpQWdJQ0IwYUdsekxuQjFjMmdvWkdGMFlTazdYRzVjYmlBZ1kySW9aWElwTzF4dVhHNGdJSFpoY2lCeWN5QTlJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1U3WEc0Z0lISnpMbkpsWVdScGJtY2dQU0JtWVd4elpUdGNiaUFnYVdZZ0tISnpMbTVsWldSU1pXRmtZV0pzWlNCOGZDQnljeTVzWlc1bmRHZ2dQQ0J5Y3k1b2FXZG9WMkYwWlhKTllYSnJLU0I3WEc0Z0lDQWdkR2hwY3k1ZmNtVmhaQ2h5Y3k1b2FXZG9WMkYwWlhKTllYSnJLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCVWNtRnVjMlp2Y20wb2IzQjBhVzl1Y3lrZ2UxeHVJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1ZISmhibk5tYjNKdEtTa2djbVYwZFhKdUlHNWxkeUJVY21GdWMyWnZjbTBvYjNCMGFXOXVjeWs3WEc1Y2JpQWdSSFZ3YkdWNExtTmhiR3dvZEdocGN5d2diM0IwYVc5dWN5azdYRzVjYmlBZ2RHaHBjeTVmZEhKaGJuTm1iM0p0VTNSaGRHVWdQU0I3WEc0Z0lDQWdZV1owWlhKVWNtRnVjMlp2Y20wNklHRm1kR1Z5VkhKaGJuTm1iM0p0TG1KcGJtUW9kR2hwY3lrc1hHNGdJQ0FnYm1WbFpGUnlZVzV6Wm05eWJUb2dabUZzYzJVc1hHNGdJQ0FnZEhKaGJuTm1iM0p0YVc1bk9pQm1ZV3h6WlN4Y2JpQWdJQ0IzY21sMFpXTmlPaUJ1ZFd4c0xGeHVJQ0FnSUhkeWFYUmxZMmgxYm1zNklHNTFiR3dzWEc0Z0lDQWdkM0pwZEdWbGJtTnZaR2x1WnpvZ2JuVnNiRnh1SUNCOU8xeHVYRzRnSUM4dklITjBZWEowSUc5MWRDQmhjMnRwYm1jZ1ptOXlJR0VnY21WaFpHRmliR1VnWlhabGJuUWdiMjVqWlNCa1lYUmhJR2x6SUhSeVlXNXpabTl5YldWa0xseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG01bFpXUlNaV0ZrWVdKc1pTQTlJSFJ5ZFdVN1hHNWNiaUFnTHk4Z2QyVWdhR0YyWlNCcGJYQnNaVzFsYm5SbFpDQjBhR1VnWDNKbFlXUWdiV1YwYUc5a0xDQmhibVFnWkc5dVpTQjBhR1VnYjNSb1pYSWdkR2hwYm1kelhHNGdJQzh2SUhSb1lYUWdVbVZoWkdGaWJHVWdkMkZ1ZEhNZ1ltVm1iM0psSUhSb1pTQm1hWEp6ZENCZmNtVmhaQ0JqWVd4c0xDQnpieUIxYm5ObGRDQjBhR1ZjYmlBZ0x5OGdjM2x1WXlCbmRXRnlaQ0JtYkdGbkxseHVJQ0IwYUdsekxsOXlaV0ZrWVdKc1pWTjBZWFJsTG5ONWJtTWdQU0JtWVd4elpUdGNibHh1SUNCcFppQW9iM0IwYVc5dWN5a2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiM0IwYVc5dWN5NTBjbUZ1YzJadmNtMGdQVDA5SUNkbWRXNWpkR2x2YmljcElIUm9hWE11WDNSeVlXNXpabTl5YlNBOUlHOXdkR2x2Ym5NdWRISmhibk5tYjNKdE8xeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQnZjSFJwYjI1ekxtWnNkWE5vSUQwOVBTQW5ablZ1WTNScGIyNG5LU0IwYUdsekxsOW1iSFZ6YUNBOUlHOXdkR2x2Ym5NdVpteDFjMmc3WEc0Z0lIMWNibHh1SUNBdkx5QlhhR1Z1SUhSb1pTQjNjbWwwWVdKc1pTQnphV1JsSUdacGJtbHphR1Z6TENCMGFHVnVJR1pzZFhOb0lHOTFkQ0JoYm5sMGFHbHVaeUJ5WlcxaGFXNXBibWN1WEc0Z0lIUm9hWE11YjI0b0ozQnlaV1pwYm1semFDY3NJSEJ5WldacGJtbHphQ2s3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEJ5WldacGJtbHphQ2dwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNCcFppQW9kSGx3Wlc5bUlIUm9hWE11WDJac2RYTm9JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ2RHaHBjeTVmWm14MWMyZ29ablZ1WTNScGIyNGdLR1Z5TENCa1lYUmhLU0I3WEc0Z0lDQWdJQ0JrYjI1bEtGOTBhR2x6TENCbGNpd2daR0YwWVNrN1hHNGdJQ0FnZlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ1pHOXVaU2gwYUdsekxDQnVkV3hzTENCdWRXeHNLVHRjYmlBZ2ZWeHVmVnh1WEc1VWNtRnVjMlp2Y20wdWNISnZkRzkwZVhCbExuQjFjMmdnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuS1NCN1hHNGdJSFJvYVhNdVgzUnlZVzV6Wm05eWJWTjBZWFJsTG01bFpXUlVjbUZ1YzJadmNtMGdQU0JtWVd4elpUdGNiaUFnY21WMGRYSnVJRVIxY0d4bGVDNXdjbTkwYjNSNWNHVXVjSFZ6YUM1allXeHNLSFJvYVhNc0lHTm9kVzVyTENCbGJtTnZaR2x1WnlrN1hHNTlPMXh1WEc0dkx5QlVhR2x6SUdseklIUm9aU0J3WVhKMElIZG9aWEpsSUhsdmRTQmtieUJ6ZEhWbVppRmNiaTh2SUc5MlpYSnlhV1JsSUhSb2FYTWdablZ1WTNScGIyNGdhVzRnYVcxd2JHVnRaVzUwWVhScGIyNGdZMnhoYzNObGN5NWNiaTh2SUNkamFIVnVheWNnYVhNZ1lXNGdhVzV3ZFhRZ1kyaDFibXN1WEc0dkwxeHVMeThnUTJGc2JDQmdjSFZ6YUNodVpYZERhSFZ1YXlsZ0lIUnZJSEJoYzNNZ1lXeHZibWNnZEhKaGJuTm1iM0p0WldRZ2IzVjBjSFYwWEc0dkx5QjBieUIwYUdVZ2NtVmhaR0ZpYkdVZ2MybGtaUzRnSUZsdmRTQnRZWGtnWTJGc2JDQW5jSFZ6YUNjZ2VtVnlieUJ2Y2lCdGIzSmxJSFJwYldWekxseHVMeTljYmk4dklFTmhiR3dnWUdOaUtHVnljaWxnSUhkb1pXNGdlVzkxSUdGeVpTQmtiMjVsSUhkcGRHZ2dkR2hwY3lCamFIVnVheTRnSUVsbUlIbHZkU0J3WVhOelhHNHZMeUJoYmlCbGNuSnZjaXdnZEdobGJpQjBhR0YwSjJ4c0lIQjFkQ0IwYUdVZ2FIVnlkQ0J2YmlCMGFHVWdkMmh2YkdVZ2IzQmxjbUYwYVc5dUxpQWdTV1lnZVc5MVhHNHZMeUJ1WlhabGNpQmpZV3hzSUdOaUtDa3NJSFJvWlc0Z2VXOTFKMnhzSUc1bGRtVnlJR2RsZENCaGJtOTBhR1Z5SUdOb2RXNXJMbHh1VkhKaGJuTm1iM0p0TG5CeWIzUnZkSGx3WlM1ZmRISmhibk5tYjNKdElEMGdablZ1WTNScGIyNGdLR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwSUh0Y2JpQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZGZkSEpoYm5ObWIzSnRLQ2tnYVhNZ2JtOTBJR2x0Y0d4bGJXVnVkR1ZrSnlrN1hHNTlPMXh1WEc1VWNtRnVjMlp2Y20wdWNISnZkRzkwZVhCbExsOTNjbWwwWlNBOUlHWjFibU4wYVc5dUlDaGphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLU0I3WEc0Z0lIWmhjaUIwY3lBOUlIUm9hWE11WDNSeVlXNXpabTl5YlZOMFlYUmxPMXh1SUNCMGN5NTNjbWwwWldOaUlEMGdZMkk3WEc0Z0lIUnpMbmR5YVhSbFkyaDFibXNnUFNCamFIVnVhenRjYmlBZ2RITXVkM0pwZEdWbGJtTnZaR2x1WnlBOUlHVnVZMjlrYVc1bk8xeHVJQ0JwWmlBb0lYUnpMblJ5WVc1elptOXliV2x1WnlrZ2UxeHVJQ0FnSUhaaGNpQnljeUE5SUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVN1hHNGdJQ0FnYVdZZ0tIUnpMbTVsWldSVWNtRnVjMlp2Y20wZ2ZId2djbk11Ym1WbFpGSmxZV1JoWW14bElIeDhJSEp6TG14bGJtZDBhQ0E4SUhKekxtaHBaMmhYWVhSbGNrMWhjbXNwSUhSb2FYTXVYM0psWVdRb2NuTXVhR2xuYUZkaGRHVnlUV0Z5YXlrN1hHNGdJSDFjYm4wN1hHNWNiaTh2SUVSdlpYTnVKM1FnYldGMGRHVnlJSGRvWVhRZ2RHaGxJR0Z5WjNNZ1lYSmxJR2hsY21VdVhHNHZMeUJmZEhKaGJuTm1iM0p0SUdSdlpYTWdZV3hzSUhSb1pTQjNiM0pyTGx4dUx5OGdWR2hoZENCM1pTQm5iM1FnYUdWeVpTQnRaV0Z1Y3lCMGFHRjBJSFJvWlNCeVpXRmtZV0pzWlNCemFXUmxJSGRoYm5SeklHMXZjbVVnWkdGMFlTNWNibFJ5WVc1elptOXliUzV3Y205MGIzUjVjR1V1WDNKbFlXUWdQU0JtZFc1amRHbHZiaUFvYmlrZ2UxeHVJQ0IyWVhJZ2RITWdQU0IwYUdsekxsOTBjbUZ1YzJadmNtMVRkR0YwWlR0Y2JseHVJQ0JwWmlBb2RITXVkM0pwZEdWamFIVnVheUFoUFQwZ2JuVnNiQ0FtSmlCMGN5NTNjbWwwWldOaUlDWW1JQ0YwY3k1MGNtRnVjMlp2Y20xcGJtY3BJSHRjYmlBZ0lDQjBjeTUwY21GdWMyWnZjbTFwYm1jZ1BTQjBjblZsTzF4dUlDQWdJSFJvYVhNdVgzUnlZVzV6Wm05eWJTaDBjeTUzY21sMFpXTm9kVzVyTENCMGN5NTNjbWwwWldWdVkyOWthVzVuTENCMGN5NWhablJsY2xSeVlXNXpabTl5YlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ0x5OGdiV0Z5YXlCMGFHRjBJSGRsSUc1bFpXUWdZU0IwY21GdWMyWnZjbTBzSUhOdklIUm9ZWFFnWVc1NUlHUmhkR0VnZEdoaGRDQmpiMjFsY3lCcGJseHVJQ0FnSUM4dklIZHBiR3dnWjJWMElIQnliMk5sYzNObFpDd2dibTkzSUhSb1lYUWdkMlVuZG1VZ1lYTnJaV1FnWm05eUlHbDBMbHh1SUNBZ0lIUnpMbTVsWldSVWNtRnVjMlp2Y20wZ1BTQjBjblZsTzF4dUlDQjlYRzU5TzF4dVhHNVVjbUZ1YzJadmNtMHVjSEp2ZEc5MGVYQmxMbDlrWlhOMGNtOTVJRDBnWm5WdVkzUnBiMjRnS0dWeWNpd2dZMklwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpNaUE5SUhSb2FYTTdYRzVjYmlBZ1JIVndiR1Y0TG5CeWIzUnZkSGx3WlM1ZlpHVnpkSEp2ZVM1allXeHNLSFJvYVhNc0lHVnljaXdnWm5WdVkzUnBiMjRnS0dWeWNqSXBJSHRjYmlBZ0lDQmpZaWhsY25JeUtUdGNiaUFnSUNCZmRHaHBjekl1WlcxcGRDZ25ZMnh2YzJVbktUdGNiaUFnZlNrN1hHNTlPMXh1WEc1bWRXNWpkR2x2YmlCa2IyNWxLSE4wY21WaGJTd2daWElzSUdSaGRHRXBJSHRjYmlBZ2FXWWdLR1Z5S1NCeVpYUjFjbTRnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z1pYSXBPMXh1WEc0Z0lHbG1JQ2hrWVhSaElDRTlJRzUxYkd3cElDOHZJSE5wYm1kc1pTQmxjWFZoYkhNZ1kyaGxZMnNnWm05eUlHSnZkR2dnWUc1MWJHeGdJR0Z1WkNCZ2RXNWtaV1pwYm1Wa1lGeHVJQ0FnSUhOMGNtVmhiUzV3ZFhOb0tHUmhkR0VwTzF4dVhHNGdJQzh2SUdsbUlIUm9aWEpsSjNNZ2JtOTBhR2x1WnlCcGJpQjBhR1VnZDNKcGRHVWdZblZtWm1WeUxDQjBhR1Z1SUhSb1lYUWdiV1ZoYm5OY2JpQWdMeThnZEdoaGRDQnViM1JvYVc1bklHMXZjbVVnZDJsc2JDQmxkbVZ5SUdKbElIQnliM1pwWkdWa1hHNGdJR2xtSUNoemRISmxZVzB1WDNkeWFYUmhZbXhsVTNSaGRHVXViR1Z1WjNSb0tTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owTmhiR3hwYm1jZ2RISmhibk5tYjNKdElHUnZibVVnZDJobGJpQjNjeTVzWlc1bmRHZ2dJVDBnTUNjcE8xeHVYRzRnSUdsbUlDaHpkSEpsWVcwdVgzUnlZVzV6Wm05eWJWTjBZWFJsTG5SeVlXNXpabTl5YldsdVp5a2dkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZERZV3hzYVc1bklIUnlZVzV6Wm05eWJTQmtiMjVsSUhkb1pXNGdjM1JwYkd3Z2RISmhibk5tYjNKdGFXNW5KeWs3WEc1Y2JpQWdjbVYwZFhKdUlITjBjbVZoYlM1d2RYTm9LRzUxYkd3cE8xeHVmU0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24ocHJvY2Vzcywgc2V0SW1tZWRpYXRlLCBnbG9iYWwpIHsvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG4vLyBBIGJpdCBzaW1wbGVyIHRoYW4gcmVhZGFibGUgc3RyZWFtcy5cXG4vLyBJbXBsZW1lbnQgYW4gYXN5bmMgLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKSwgYW5kIGl0J2xsIGhhbmRsZSBhbGxcXG4vLyB0aGUgZHJhaW4gZXZlbnQgZW1pc3Npb24gYW5kIGJ1ZmZlcmluZy5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBwbmEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBwcm9jZXNzLW5leHRpY2stYXJncyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy1uZXh0aWNrLWFyZ3MvaW5kZXguanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFdyaXRhYmxlO1xcblxcbi8qIDxyZXBsYWNlbWVudD4gKi9cXG5mdW5jdGlvbiBXcml0ZVJlcShjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB0aGlzLmNodW5rID0gY2h1bms7XFxuICB0aGlzLmVuY29kaW5nID0gZW5jb2Rpbmc7XFxuICB0aGlzLmNhbGxiYWNrID0gY2I7XFxuICB0aGlzLm5leHQgPSBudWxsO1xcbn1cXG5cXG4vLyBJdCBzZWVtcyBhIGxpbmtlZCBsaXN0IGJ1dCBpdCBpcyBub3RcXG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cXG5mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KHN0YXRlKSB7XFxuICB2YXIgX3RoaXMgPSB0aGlzO1xcblxcbiAgdGhpcy5uZXh0ID0gbnVsbDtcXG4gIHRoaXMuZW50cnkgPSBudWxsO1xcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XFxuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XFxuICB9O1xcbn1cXG4vKiA8L3JlcGxhY2VtZW50PiAqL1xcblxcbi8qPHJlcGxhY2VtZW50PiovXFxudmFyIGFzeW5jV3JpdGUgPSAhcHJvY2Vzcy5icm93c2VyICYmIFsndjAuMTAnLCAndjAuOS4nXS5pbmRleE9mKHByb2Nlc3MudmVyc2lvbi5zbGljZSgwLCA1KSkgPiAtMSA/IHNldEltbWVkaWF0ZSA6IHBuYS5uZXh0VGljaztcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciBEdXBsZXg7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuV3JpdGFibGUuV3JpdGFibGVTdGF0ZSA9IFdyaXRhYmxlU3RhdGU7XFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgdXRpbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGNvcmUtdXRpbC1pcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29yZS11dGlsLWlzL2xpYi91dGlsLmpzXFxcIik7XFxudXRpbC5pbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG52YXIgaW50ZXJuYWxVdGlsID0ge1xcbiAgZGVwcmVjYXRlOiBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB1dGlsLWRlcHJlY2F0ZSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qc1xcXCIpXFxufTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcbnZhciBTdHJlYW0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcXFwiKTtcXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxudmFyIE91clVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcXG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XFxuICByZXR1cm4gQnVmZmVyLmZyb20oY2h1bmspO1xcbn1cXG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xcbiAgcmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihvYmopIHx8IG9iaiBpbnN0YW5jZW9mIE91clVpbnQ4QXJyYXk7XFxufVxcblxcbi8qPC9yZXBsYWNlbWVudD4qL1xcblxcbnZhciBkZXN0cm95SW1wbCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveS5qc1xcXCIpO1xcblxcbnV0aWwuaW5oZXJpdHMoV3JpdGFibGUsIFN0cmVhbSk7XFxuXFxuZnVuY3Rpb24gbm9wKCkge31cXG5cXG5mdW5jdGlvbiBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSkge1xcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vX3N0cmVhbV9kdXBsZXggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG5cXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xcblxcbiAgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxcbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcXG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXFxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cXG4gIHZhciBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcXG5cXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIG9yIG5vdCB0aGlzIHN0cmVhbVxcbiAgLy8gY29udGFpbnMgYnVmZmVycyBvciBvYmplY3RzLlxcbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XFxuXFxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMud3JpdGFibGVPYmplY3RNb2RlO1xcblxcbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIHdyaXRlKCkgc3RhcnRzIHJldHVybmluZyBmYWxzZVxcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyB0aGF0IHdlIGFsd2F5cyByZXR1cm4gZmFsc2UgaWZcXG4gIC8vIHRoZSBlbnRpcmUgYnVmZmVyIGlzIG5vdCBmbHVzaGVkIGltbWVkaWF0ZWx5IG9uIHdyaXRlKClcXG4gIHZhciBod20gPSBvcHRpb25zLmhpZ2hXYXRlck1hcms7XFxuICB2YXIgd3JpdGFibGVId20gPSBvcHRpb25zLndyaXRhYmxlSGlnaFdhdGVyTWFyaztcXG4gIHZhciBkZWZhdWx0SHdtID0gdGhpcy5vYmplY3RNb2RlID8gMTYgOiAxNiAqIDEwMjQ7XFxuXFxuICBpZiAoaHdtIHx8IGh3bSA9PT0gMCkgdGhpcy5oaWdoV2F0ZXJNYXJrID0gaHdtO2Vsc2UgaWYgKGlzRHVwbGV4ICYmICh3cml0YWJsZUh3bSB8fCB3cml0YWJsZUh3bSA9PT0gMCkpIHRoaXMuaGlnaFdhdGVyTWFyayA9IHdyaXRhYmxlSHdtO2Vsc2UgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZGVmYXVsdEh3bTtcXG5cXG4gIC8vIGNhc3QgdG8gaW50cy5cXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IE1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKTtcXG5cXG4gIC8vIGlmIF9maW5hbCBoYXMgYmVlbiBjYWxsZWRcXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTtcXG5cXG4gIC8vIGRyYWluIGV2ZW50IGZsYWcuXFxuICB0aGlzLm5lZWREcmFpbiA9IGZhbHNlO1xcbiAgLy8gYXQgdGhlIHN0YXJ0IG9mIGNhbGxpbmcgZW5kKClcXG4gIHRoaXMuZW5kaW5nID0gZmFsc2U7XFxuICAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXFxuICB0aGlzLmVuZGVkID0gZmFsc2U7XFxuICAvLyB3aGVuICdmaW5pc2gnIGlzIGVtaXR0ZWRcXG4gIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcXG5cXG4gIC8vIGhhcyBpdCBiZWVuIGRlc3Ryb3llZFxcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcXG5cXG4gIC8vIHNob3VsZCB3ZSBkZWNvZGUgc3RyaW5ncyBpbnRvIGJ1ZmZlcnMgYmVmb3JlIHBhc3NpbmcgdG8gX3dyaXRlP1xcbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXFxuICAvLyBoYW5kbGluZyBhdCBhIGxvd2VyIGxldmVsLlxcbiAgdmFyIG5vRGVjb2RlID0gb3B0aW9ucy5kZWNvZGVTdHJpbmdzID09PSBmYWxzZTtcXG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTtcXG5cXG4gIC8vIENyeXB0byBpcyBraW5kIG9mIG9sZCBhbmQgY3J1c3R5LiAgSGlzdG9yaWNhbGx5LCBpdHMgZGVmYXVsdCBzdHJpbmdcXG4gIC8vIGVuY29kaW5nIGlzICdiaW5hcnknIHNvIHdlIGhhdmUgdG8gbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZS5cXG4gIC8vIEV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGUgdW5pdmVyc2UgdXNlcyAndXRmOCcsIHRob3VnaC5cXG4gIHRoaXMuZGVmYXVsdEVuY29kaW5nID0gb3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcgfHwgJ3V0ZjgnO1xcblxcbiAgLy8gbm90IGFuIGFjdHVhbCBidWZmZXIgd2Uga2VlcCB0cmFjayBvZiwgYnV0IGEgbWVhc3VyZW1lbnRcXG4gIC8vIG9mIGhvdyBtdWNoIHdlJ3JlIHdhaXRpbmcgdG8gZ2V0IHB1c2hlZCB0byBzb21lIHVuZGVybHlpbmdcXG4gIC8vIHNvY2tldCBvciBmaWxlLlxcbiAgdGhpcy5sZW5ndGggPSAwO1xcblxcbiAgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cXG4gIHRoaXMud3JpdGluZyA9IGZhbHNlO1xcblxcbiAgLy8gd2hlbiB0cnVlIGFsbCB3cml0ZXMgd2lsbCBiZSBidWZmZXJlZCB1bnRpbCAudW5jb3JrKCkgY2FsbFxcbiAgdGhpcy5jb3JrZWQgPSAwO1xcblxcbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgb253cml0ZSBjYiBpcyBjYWxsZWQgaW1tZWRpYXRlbHksXFxuICAvLyBvciBvbiBhIGxhdGVyIHRpY2suICBXZSBzZXQgdGhpcyB0byB0cnVlIGF0IGZpcnN0LCBiZWNhdXNlIGFueVxcbiAgLy8gYWN0aW9ucyB0aGF0IHNob3VsZG4ndCBoYXBwZW4gdW50aWwgXFxcImxhdGVyXFxcIiBzaG91bGQgZ2VuZXJhbGx5IGFsc29cXG4gIC8vIG5vdCBoYXBwZW4gYmVmb3JlIHRoZSBmaXJzdCB3cml0ZSBjYWxsLlxcbiAgdGhpcy5zeW5jID0gdHJ1ZTtcXG5cXG4gIC8vIGEgZmxhZyB0byBrbm93IGlmIHdlJ3JlIHByb2Nlc3NpbmcgcHJldmlvdXNseSBidWZmZXJlZCBpdGVtcywgd2hpY2hcXG4gIC8vIG1heSBjYWxsIHRoZSBfd3JpdGUoKSBjYWxsYmFjayBpbiB0aGUgc2FtZSB0aWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cXG4gIHRoaXMuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xcblxcbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQncyBwYXNzZWQgdG8gX3dyaXRlKGNodW5rLGNiKVxcbiAgdGhpcy5vbndyaXRlID0gZnVuY3Rpb24gKGVyKSB7XFxuICAgIG9ud3JpdGUoc3RyZWFtLCBlcik7XFxuICB9O1xcblxcbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQgdGhlIHVzZXIgc3VwcGxpZXMgdG8gd3JpdGUoY2h1bmssZW5jb2RpbmcsY2IpXFxuICB0aGlzLndyaXRlY2IgPSBudWxsO1xcblxcbiAgLy8gdGhlIGFtb3VudCB0aGF0IGlzIGJlaW5nIHdyaXR0ZW4gd2hlbiBfd3JpdGUgaXMgY2FsbGVkLlxcbiAgdGhpcy53cml0ZWxlbiA9IDA7XFxuXFxuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XFxuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xcblxcbiAgLy8gbnVtYmVyIG9mIHBlbmRpbmcgdXNlci1zdXBwbGllZCB3cml0ZSBjYWxsYmFja3NcXG4gIC8vIHRoaXMgbXVzdCBiZSAwIGJlZm9yZSAnZmluaXNoJyBjYW4gYmUgZW1pdHRlZFxcbiAgdGhpcy5wZW5kaW5nY2IgPSAwO1xcblxcbiAgLy8gZW1pdCBwcmVmaW5pc2ggaWYgdGhlIG9ubHkgdGhpbmcgd2UncmUgd2FpdGluZyBmb3IgaXMgX3dyaXRlIGNic1xcbiAgLy8gVGhpcyBpcyByZWxldmFudCBmb3Igc3luY2hyb25vdXMgVHJhbnNmb3JtIHN0cmVhbXNcXG4gIHRoaXMucHJlZmluaXNoZWQgPSBmYWxzZTtcXG5cXG4gIC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXFxuICB0aGlzLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcblxcbiAgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcXG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQgPSAwO1xcblxcbiAgLy8gYWxsb2NhdGUgdGhlIGZpcnN0IENvcmtlZFJlcXVlc3QsIHRoZXJlIGlzIGFsd2F5c1xcbiAgLy8gb25lIGFsbG9jYXRlZCBhbmQgZnJlZSB0byB1c2UsIGFuZCB3ZSBtYWludGFpbiBhdCBtb3N0IHR3b1xcbiAgdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdCh0aGlzKTtcXG59XFxuXFxuV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyID0gZnVuY3Rpb24gZ2V0QnVmZmVyKCkge1xcbiAgdmFyIGN1cnJlbnQgPSB0aGlzLmJ1ZmZlcmVkUmVxdWVzdDtcXG4gIHZhciBvdXQgPSBbXTtcXG4gIHdoaWxlIChjdXJyZW50KSB7XFxuICAgIG91dC5wdXNoKGN1cnJlbnQpO1xcbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xcbiAgfVxcbiAgcmV0dXJuIG91dDtcXG59O1xcblxcbihmdW5jdGlvbiAoKSB7XFxuICB0cnkge1xcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsICdidWZmZXInLCB7XFxuICAgICAgZ2V0OiBpbnRlcm5hbFV0aWwuZGVwcmVjYXRlKGZ1bmN0aW9uICgpIHtcXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1ZmZlcigpO1xcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxcbiAgICB9KTtcXG4gIH0gY2F0Y2ggKF8pIHt9XFxufSkoKTtcXG5cXG4vLyBUZXN0IF93cml0YWJsZVN0YXRlIGZvciBpbmhlcml0YW5jZSB0byBhY2NvdW50IGZvciBEdXBsZXggc3RyZWFtcyxcXG4vLyB3aG9zZSBwcm90b3R5cGUgY2hhaW4gb25seSBwb2ludHMgdG8gUmVhZGFibGUuXFxudmFyIHJlYWxIYXNJbnN0YW5jZTtcXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuaGFzSW5zdGFuY2UgJiYgdHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZVtTeW1ib2wuaGFzSW5zdGFuY2VdID09PSAnZnVuY3Rpb24nKSB7XFxuICByZWFsSGFzSW5zdGFuY2UgPSBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXTtcXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XFxuICAgIHZhbHVlOiBmdW5jdGlvbiAob2JqZWN0KSB7XFxuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xcbiAgICAgIGlmICh0aGlzICE9PSBXcml0YWJsZSkgcmV0dXJuIGZhbHNlO1xcblxcbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcXG4gICAgfVxcbiAgfSk7XFxufSBlbHNlIHtcXG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIChvYmplY3QpIHtcXG4gICAgcmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIHRoaXM7XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XFxuICBEdXBsZXggPSBEdXBsZXggfHwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9fc3RyZWFtX2R1cGxleCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1xcXCIpO1xcblxcbiAgLy8gV3JpdGFibGUgY3RvciBpcyBhcHBsaWVkIHRvIER1cGxleGVzLCB0b28uXFxuICAvLyBgcmVhbEhhc0luc3RhbmNlYCBpcyBuZWNlc3NhcnkgYmVjYXVzZSB1c2luZyBwbGFpbiBgaW5zdGFuY2VvZmBcXG4gIC8vIHdvdWxkIHJldHVybiBmYWxzZSwgYXMgbm8gYF93cml0YWJsZVN0YXRlYCBwcm9wZXJ0eSBpcyBhdHRhY2hlZC5cXG5cXG4gIC8vIFRyeWluZyB0byB1c2UgdGhlIGN1c3RvbSBgaW5zdGFuY2VvZmAgZm9yIFdyaXRhYmxlIGhlcmUgd2lsbCBhbHNvIGJyZWFrIHRoZVxcbiAgLy8gTm9kZS5qcyBMYXp5VHJhbnNmb3JtIGltcGxlbWVudGF0aW9uLCB3aGljaCBoYXMgYSBub24tdHJpdmlhbCBnZXR0ZXIgZm9yXFxuICAvLyBgX3dyaXRhYmxlU3RhdGVgIHRoYXQgd291bGQgbGVhZCB0byBpbmZpbml0ZSByZWN1cnNpb24uXFxuICBpZiAoIXJlYWxIYXNJbnN0YW5jZS5jYWxsKFdyaXRhYmxlLCB0aGlzKSAmJiAhKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKSB7XFxuICAgIHJldHVybiBuZXcgV3JpdGFibGUob3B0aW9ucyk7XFxuICB9XFxuXFxuICB0aGlzLl93cml0YWJsZVN0YXRlID0gbmV3IFdyaXRhYmxlU3RhdGUob3B0aW9ucywgdGhpcyk7XFxuXFxuICAvLyBsZWdhY3kuXFxuICB0aGlzLndyaXRhYmxlID0gdHJ1ZTtcXG5cXG4gIGlmIChvcHRpb25zKSB7XFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53cml0ZSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fd3JpdGUgPSBvcHRpb25zLndyaXRlO1xcblxcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGV2ID09PSAnZnVuY3Rpb24nKSB0aGlzLl93cml0ZXYgPSBvcHRpb25zLndyaXRldjtcXG5cXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIHRoaXMuX2Rlc3Ryb3kgPSBvcHRpb25zLmRlc3Ryb3k7XFxuXFxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5maW5hbCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZmluYWwgPSBvcHRpb25zLmZpbmFsO1xcbiAgfVxcblxcbiAgU3RyZWFtLmNhbGwodGhpcyk7XFxufVxcblxcbi8vIE90aGVyd2lzZSBwZW9wbGUgY2FuIHBpcGUgV3JpdGFibGUgc3RyZWFtcywgd2hpY2ggaXMganVzdCB3cm9uZy5cXG5Xcml0YWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ0Nhbm5vdCBwaXBlLCBub3QgcmVhZGFibGUnKSk7XFxufTtcXG5cXG5mdW5jdGlvbiB3cml0ZUFmdGVyRW5kKHN0cmVhbSwgY2IpIHtcXG4gIHZhciBlciA9IG5ldyBFcnJvcignd3JpdGUgYWZ0ZXIgZW5kJyk7XFxuICAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxcbiAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgcG5hLm5leHRUaWNrKGNiLCBlcik7XFxufVxcblxcbi8vIENoZWNrcyB0aGF0IGEgdXNlci1zdXBwbGllZCBjaHVuayBpcyB2YWxpZCwgZXNwZWNpYWxseSBmb3IgdGhlIHBhcnRpY3VsYXJcXG4vLyBtb2RlIHRoZSBzdHJlYW0gaXMgaW4uIEN1cnJlbnRseSB0aGlzIG1lYW5zIHRoYXQgYG51bGxgIGlzIG5ldmVyIGFjY2VwdGVkXFxuLy8gYW5kIHVuZGVmaW5lZC9ub24tc3RyaW5nIHZhbHVlcyBhcmUgb25seSBhbGxvd2VkIGluIG9iamVjdCBtb2RlLlxcbmZ1bmN0aW9uIHZhbGlkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGNiKSB7XFxuICB2YXIgdmFsaWQgPSB0cnVlO1xcbiAgdmFyIGVyID0gZmFsc2U7XFxuXFxuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcXG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbScpO1xcbiAgfSBlbHNlIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmIGNodW5rICE9PSB1bmRlZmluZWQgJiYgIXN0YXRlLm9iamVjdE1vZGUpIHtcXG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rJyk7XFxuICB9XFxuICBpZiAoZXIpIHtcXG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgICBwbmEubmV4dFRpY2soY2IsIGVyKTtcXG4gICAgdmFsaWQgPSBmYWxzZTtcXG4gIH1cXG4gIHJldHVybiB2YWxpZDtcXG59XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XFxuICB2YXIgcmV0ID0gZmFsc2U7XFxuICB2YXIgaXNCdWYgPSAhc3RhdGUub2JqZWN0TW9kZSAmJiBfaXNVaW50OEFycmF5KGNodW5rKTtcXG5cXG4gIGlmIChpc0J1ZiAmJiAhQnVmZmVyLmlzQnVmZmVyKGNodW5rKSkge1xcbiAgICBjaHVuayA9IF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspO1xcbiAgfVxcblxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGVuY29kaW5nO1xcbiAgICBlbmNvZGluZyA9IG51bGw7XFxuICB9XFxuXFxuICBpZiAoaXNCdWYpIGVuY29kaW5nID0gJ2J1ZmZlcic7ZWxzZSBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9IHN0YXRlLmRlZmF1bHRFbmNvZGluZztcXG5cXG4gIGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIGNiID0gbm9wO1xcblxcbiAgaWYgKHN0YXRlLmVuZGVkKSB3cml0ZUFmdGVyRW5kKHRoaXMsIGNiKTtlbHNlIGlmIChpc0J1ZiB8fCB2YWxpZENodW5rKHRoaXMsIHN0YXRlLCBjaHVuaywgY2IpKSB7XFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XFxuICB9XFxuXFxuICByZXR1cm4gcmV0O1xcbn07XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgc3RhdGUuY29ya2VkKys7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUudW5jb3JrID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIHN0YXRlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcXG5cXG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcXG4gICAgc3RhdGUuY29ya2VkLS07XFxuXFxuICAgIGlmICghc3RhdGUud3JpdGluZyAmJiAhc3RhdGUuY29ya2VkICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcXG4gIH1cXG59O1xcblxcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcXG4gIC8vIG5vZGU6OlBhcnNlRW5jb2RpbmcoKSByZXF1aXJlcyBsb3dlciBjYXNlLlxcbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcXG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZyk7XFxuICB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZyA9IGVuY29kaW5nO1xcbiAgcmV0dXJuIHRoaXM7XFxufTtcXG5cXG5mdW5jdGlvbiBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKSB7XFxuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgc3RhdGUuZGVjb2RlU3RyaW5ncyAhPT0gZmFsc2UgJiYgdHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xcbiAgICBjaHVuayA9IEJ1ZmZlci5mcm9tKGNodW5rLCBlbmNvZGluZyk7XFxuICB9XFxuICByZXR1cm4gY2h1bms7XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XFxuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXFxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcXG4gIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XFxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XFxuICB9XFxufSk7XFxuXFxuLy8gaWYgd2UncmUgYWxyZWFkeSB3cml0aW5nIHNvbWV0aGluZywgdGhlbiBqdXN0IHB1dCB0aGlzXFxuLy8gaW4gdGhlIHF1ZXVlLCBhbmQgd2FpdCBvdXIgdHVybi4gIE90aGVyd2lzZSwgY2FsbCBfd3JpdGVcXG4vLyBJZiB3ZSByZXR1cm4gZmFsc2UsIHRoZW4gd2UgbmVlZCBhIGRyYWluIGV2ZW50LCBzbyBzZXQgdGhhdCBmbGFnLlxcbmZ1bmN0aW9uIHdyaXRlT3JCdWZmZXIoc3RyZWFtLCBzdGF0ZSwgaXNCdWYsIGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIGlmICghaXNCdWYpIHtcXG4gICAgdmFyIG5ld0NodW5rID0gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZyk7XFxuICAgIGlmIChjaHVuayAhPT0gbmV3Q2h1bmspIHtcXG4gICAgICBpc0J1ZiA9IHRydWU7XFxuICAgICAgZW5jb2RpbmcgPSAnYnVmZmVyJztcXG4gICAgICBjaHVuayA9IG5ld0NodW5rO1xcbiAgICB9XFxuICB9XFxuICB2YXIgbGVuID0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XFxuXFxuICBzdGF0ZS5sZW5ndGggKz0gbGVuO1xcblxcbiAgdmFyIHJldCA9IHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcms7XFxuICAvLyB3ZSBtdXN0IGVuc3VyZSB0aGF0IHByZXZpb3VzIG5lZWREcmFpbiB3aWxsIG5vdCBiZSByZXNldCB0byBmYWxzZS5cXG4gIGlmICghcmV0KSBzdGF0ZS5uZWVkRHJhaW4gPSB0cnVlO1xcblxcbiAgaWYgKHN0YXRlLndyaXRpbmcgfHwgc3RhdGUuY29ya2VkKSB7XFxuICAgIHZhciBsYXN0ID0gc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtcXG4gICAgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IHtcXG4gICAgICBjaHVuazogY2h1bmssXFxuICAgICAgZW5jb2Rpbmc6IGVuY29kaW5nLFxcbiAgICAgIGlzQnVmOiBpc0J1ZixcXG4gICAgICBjYWxsYmFjazogY2IsXFxuICAgICAgbmV4dDogbnVsbFxcbiAgICB9O1xcbiAgICBpZiAobGFzdCkge1xcbiAgICAgIGxhc3QubmV4dCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID0gc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtcXG4gICAgfVxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xcbiAgfSBlbHNlIHtcXG4gICAgZG9Xcml0ZShzdHJlYW0sIHN0YXRlLCBmYWxzZSwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKTtcXG4gIH1cXG5cXG4gIHJldHVybiByZXQ7XFxufVxcblxcbmZ1bmN0aW9uIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgd3JpdGV2LCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpIHtcXG4gIHN0YXRlLndyaXRlbGVuID0gbGVuO1xcbiAgc3RhdGUud3JpdGVjYiA9IGNiO1xcbiAgc3RhdGUud3JpdGluZyA9IHRydWU7XFxuICBzdGF0ZS5zeW5jID0gdHJ1ZTtcXG4gIGlmICh3cml0ZXYpIHN0cmVhbS5fd3JpdGV2KGNodW5rLCBzdGF0ZS5vbndyaXRlKTtlbHNlIHN0cmVhbS5fd3JpdGUoY2h1bmssIGVuY29kaW5nLCBzdGF0ZS5vbndyaXRlKTtcXG4gIHN0YXRlLnN5bmMgPSBmYWxzZTtcXG59XFxuXFxuZnVuY3Rpb24gb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYikge1xcbiAgLS1zdGF0ZS5wZW5kaW5nY2I7XFxuXFxuICBpZiAoc3luYykge1xcbiAgICAvLyBkZWZlciB0aGUgY2FsbGJhY2sgaWYgd2UgYXJlIGJlaW5nIGNhbGxlZCBzeW5jaHJvbm91c2x5XFxuICAgIC8vIHRvIGF2b2lkIHBpbGluZyB1cCB0aGluZ3Mgb24gdGhlIHN0YWNrXFxuICAgIHBuYS5uZXh0VGljayhjYiwgZXIpO1xcbiAgICAvLyB0aGlzIGNhbiBlbWl0IGZpbmlzaCwgYW5kIGl0IHdpbGwgYWx3YXlzIGhhcHBlblxcbiAgICAvLyBhZnRlciBlcnJvclxcbiAgICBwbmEubmV4dFRpY2soZmluaXNoTWF5YmUsIHN0cmVhbSwgc3RhdGUpO1xcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xcbiAgfSBlbHNlIHtcXG4gICAgLy8gdGhlIGNhbGxlciBleHBlY3QgdGhpcyB0byBoYXBwZW4gYmVmb3JlIGlmXFxuICAgIC8vIGl0IGlzIGFzeW5jXFxuICAgIGNiKGVyKTtcXG4gICAgc3RyZWFtLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XFxuICAgIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVyKTtcXG4gICAgLy8gdGhpcyBjYW4gZW1pdCBmaW5pc2gsIGJ1dCBmaW5pc2ggbXVzdFxcbiAgICAvLyBhbHdheXMgZm9sbG93IGVycm9yXFxuICAgIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvbndyaXRlU3RhdGVVcGRhdGUoc3RhdGUpIHtcXG4gIHN0YXRlLndyaXRpbmcgPSBmYWxzZTtcXG4gIHN0YXRlLndyaXRlY2IgPSBudWxsO1xcbiAgc3RhdGUubGVuZ3RoIC09IHN0YXRlLndyaXRlbGVuO1xcbiAgc3RhdGUud3JpdGVsZW4gPSAwO1xcbn1cXG5cXG5mdW5jdGlvbiBvbndyaXRlKHN0cmVhbSwgZXIpIHtcXG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcXG4gIHZhciBzeW5jID0gc3RhdGUuc3luYztcXG4gIHZhciBjYiA9IHN0YXRlLndyaXRlY2I7XFxuXFxuICBvbndyaXRlU3RhdGVVcGRhdGUoc3RhdGUpO1xcblxcbiAgaWYgKGVyKSBvbndyaXRlRXJyb3Ioc3RyZWFtLCBzdGF0ZSwgc3luYywgZXIsIGNiKTtlbHNlIHtcXG4gICAgLy8gQ2hlY2sgaWYgd2UncmUgYWN0dWFsbHkgcmVhZHkgdG8gZmluaXNoLCBidXQgZG9uJ3QgZW1pdCB5ZXRcXG4gICAgdmFyIGZpbmlzaGVkID0gbmVlZEZpbmlzaChzdGF0ZSk7XFxuXFxuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcXG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcXG4gICAgfVxcblxcbiAgICBpZiAoc3luYykge1xcbiAgICAgIC8qPHJlcGxhY2VtZW50PiovXFxuICAgICAgYXN5bmNXcml0ZShhZnRlcldyaXRlLCBzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpO1xcbiAgICAgIC8qPC9yZXBsYWNlbWVudD4qL1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIGFmdGVyV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYikge1xcbiAgaWYgKCFmaW5pc2hlZCkgb253cml0ZURyYWluKHN0cmVhbSwgc3RhdGUpO1xcbiAgc3RhdGUucGVuZGluZ2NiLS07XFxuICBjYigpO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxufVxcblxcbi8vIE11c3QgZm9yY2UgY2FsbGJhY2sgdG8gYmUgY2FsbGVkIG9uIG5leHRUaWNrLCBzbyB0aGF0IHdlIGRvbid0XFxuLy8gZW1pdCAnZHJhaW4nIGJlZm9yZSB0aGUgd3JpdGUoKSBjb25zdW1lciBnZXRzIHRoZSAnZmFsc2UnIHJldHVyblxcbi8vIHZhbHVlLCBhbmQgaGFzIGEgY2hhbmNlIHRvIGF0dGFjaCBhICdkcmFpbicgbGlzdGVuZXIuXFxuZnVuY3Rpb24gb253cml0ZURyYWluKHN0cmVhbSwgc3RhdGUpIHtcXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUubmVlZERyYWluKSB7XFxuICAgIHN0YXRlLm5lZWREcmFpbiA9IGZhbHNlO1xcbiAgICBzdHJlYW0uZW1pdCgnZHJhaW4nKTtcXG4gIH1cXG59XFxuXFxuLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcXG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gdHJ1ZTtcXG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcXG5cXG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XFxuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcXG4gICAgdmFyIGwgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudDtcXG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcXG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcXG4gICAgaG9sZGVyLmVudHJ5ID0gZW50cnk7XFxuXFxuICAgIHZhciBjb3VudCA9IDA7XFxuICAgIHZhciBhbGxCdWZmZXJzID0gdHJ1ZTtcXG4gICAgd2hpbGUgKGVudHJ5KSB7XFxuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xcbiAgICAgIGlmICghZW50cnkuaXNCdWYpIGFsbEJ1ZmZlcnMgPSBmYWxzZTtcXG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICAgICAgY291bnQgKz0gMTtcXG4gICAgfVxcbiAgICBidWZmZXIuYWxsQnVmZmVycyA9IGFsbEJ1ZmZlcnM7XFxuXFxuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTtcXG5cXG4gICAgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXFxuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcXG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XFxuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gaG9sZGVyLm5leHQ7XFxuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IG5ldyBDb3JrZWRSZXF1ZXN0KHN0YXRlKTtcXG4gICAgfVxcbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XFxuICB9IGVsc2Uge1xcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXFxuICAgIHdoaWxlIChlbnRyeSkge1xcbiAgICAgIHZhciBjaHVuayA9IGVudHJ5LmNodW5rO1xcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xcbiAgICAgIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcXG5cXG4gICAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcXG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tO1xcbiAgICAgIC8vIGlmIHdlIGRpZG4ndCBjYWxsIHRoZSBvbndyaXRlIGltbWVkaWF0ZWx5LCB0aGVuXFxuICAgICAgLy8gaXQgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIHdhaXQgdW50aWwgaXQgZG9lcy5cXG4gICAgICAvLyBhbHNvLCB0aGF0IG1lYW5zIHRoYXQgdGhlIGNodW5rIGFuZCBjYiBhcmUgY3VycmVudGx5XFxuICAgICAgLy8gYmVpbmcgcHJvY2Vzc2VkLCBzbyBtb3ZlIHRoZSBidWZmZXIgY291bnRlciBwYXN0IHRoZW0uXFxuICAgICAgaWYgKHN0YXRlLndyaXRpbmcpIHtcXG4gICAgICAgIGJyZWFrO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBpZiAoZW50cnkgPT09IG51bGwpIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xcbiAgfVxcblxcbiAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID0gZW50cnk7XFxuICBzdGF0ZS5idWZmZXJQcm9jZXNzaW5nID0gZmFsc2U7XFxufVxcblxcbldyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xcbiAgY2IobmV3IEVycm9yKCdfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQnKSk7XFxufTtcXG5cXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XFxuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xcblxcbiAgaWYgKHR5cGVvZiBjaHVuayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICBjYiA9IGNodW5rO1xcbiAgICBjaHVuayA9IG51bGw7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIGNiID0gZW5jb2Rpbmc7XFxuICAgIGVuY29kaW5nID0gbnVsbDtcXG4gIH1cXG5cXG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7XFxuXFxuICAvLyAuZW5kKCkgZnVsbHkgdW5jb3Jrc1xcbiAgaWYgKHN0YXRlLmNvcmtlZCkge1xcbiAgICBzdGF0ZS5jb3JrZWQgPSAxO1xcbiAgICB0aGlzLnVuY29yaygpO1xcbiAgfVxcblxcbiAgLy8gaWdub3JlIHVubmVjZXNzYXJ5IGVuZCgpIGNhbGxzLlxcbiAgaWYgKCFzdGF0ZS5lbmRpbmcgJiYgIXN0YXRlLmZpbmlzaGVkKSBlbmRXcml0YWJsZSh0aGlzLCBzdGF0ZSwgY2IpO1xcbn07XFxuXFxuZnVuY3Rpb24gbmVlZEZpbmlzaChzdGF0ZSkge1xcbiAgcmV0dXJuIHN0YXRlLmVuZGluZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID09PSBudWxsICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUud3JpdGluZztcXG59XFxuZnVuY3Rpb24gY2FsbEZpbmFsKHN0cmVhbSwgc3RhdGUpIHtcXG4gIHN0cmVhbS5fZmluYWwoZnVuY3Rpb24gKGVycikge1xcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcXG4gICAgaWYgKGVycikge1xcbiAgICAgIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XFxuICAgIH1cXG4gICAgc3RhdGUucHJlZmluaXNoZWQgPSB0cnVlO1xcbiAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XFxuICAgIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xcbiAgfSk7XFxufVxcbmZ1bmN0aW9uIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKSB7XFxuICBpZiAoIXN0YXRlLnByZWZpbmlzaGVkICYmICFzdGF0ZS5maW5hbENhbGxlZCkge1xcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5fZmluYWwgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcXG4gICAgICBzdGF0ZS5maW5hbENhbGxlZCA9IHRydWU7XFxuICAgICAgcG5hLm5leHRUaWNrKGNhbGxGaW5hbCwgc3RyZWFtLCBzdGF0ZSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgc3RhdGUucHJlZmluaXNoZWQgPSB0cnVlO1xcbiAgICAgIHN0cmVhbS5lbWl0KCdwcmVmaW5pc2gnKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKSB7XFxuICB2YXIgbmVlZCA9IG5lZWRGaW5pc2goc3RhdGUpO1xcbiAgaWYgKG5lZWQpIHtcXG4gICAgcHJlZmluaXNoKHN0cmVhbSwgc3RhdGUpO1xcbiAgICBpZiAoc3RhdGUucGVuZGluZ2NiID09PSAwKSB7XFxuICAgICAgc3RhdGUuZmluaXNoZWQgPSB0cnVlO1xcbiAgICAgIHN0cmVhbS5lbWl0KCdmaW5pc2gnKTtcXG4gICAgfVxcbiAgfVxcbiAgcmV0dXJuIG5lZWQ7XFxufVxcblxcbmZ1bmN0aW9uIGVuZFdyaXRhYmxlKHN0cmVhbSwgc3RhdGUsIGNiKSB7XFxuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XFxuICBpZiAoY2IpIHtcXG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwbmEubmV4dFRpY2soY2IpO2Vsc2Ugc3RyZWFtLm9uY2UoJ2ZpbmlzaCcsIGNiKTtcXG4gIH1cXG4gIHN0YXRlLmVuZGVkID0gdHJ1ZTtcXG4gIHN0cmVhbS53cml0YWJsZSA9IGZhbHNlO1xcbn1cXG5cXG5mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChjb3JrUmVxLCBzdGF0ZSwgZXJyKSB7XFxuICB2YXIgZW50cnkgPSBjb3JrUmVxLmVudHJ5O1xcbiAgY29ya1JlcS5lbnRyeSA9IG51bGw7XFxuICB3aGlsZSAoZW50cnkpIHtcXG4gICAgdmFyIGNiID0gZW50cnkuY2FsbGJhY2s7XFxuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xcbiAgICBjYihlcnIpO1xcbiAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XFxuICB9XFxuICBpZiAoc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlKSB7XFxuICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0ID0gY29ya1JlcTtcXG4gIH0gZWxzZSB7XFxuICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGNvcmtSZXE7XFxuICB9XFxufVxcblxcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcXG4gICAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xcbiAgICAgIHJldHVybiBmYWxzZTtcXG4gICAgfVxcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XFxuICB9LFxcbiAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcXG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXFxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcXG4gICAgaWYgKCF0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcXG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XFxuICB9XFxufSk7XFxuXFxuV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3kgPSBkZXN0cm95SW1wbC5kZXN0cm95O1xcbldyaXRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95ID0gZGVzdHJveUltcGwudW5kZXN0cm95O1xcbldyaXRhYmxlLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XFxuICB0aGlzLmVuZCgpO1xcbiAgY2IoZXJyKTtcXG59O1xcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uLy4uL3Byb2Nlc3MvYnJvd3Nlci5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzXFxcIiksIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vLi4vdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qc1xcXCIpLnNldEltbWVkaWF0ZSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmQzSnBkR0ZpYkdVdWFuTS9ZVFU0TXlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRllUczdRVUZGWWpzN1FVRkZRU3hWUVVGVkxHMUNRVUZQTEVOQlFVTXNNRVZCUVhOQ08wRkJRM2hET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc05rUkJRV003UVVGRGFrTXNaMEpCUVdkQ0xHMUNRVUZQTEVOQlFVTXNOa1JCUVZVN1FVRkRiRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eG5SVUZCWjBJN1FVRkRja003UVVGRFFUczdRVUZGUVR0QlFVTkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSMEZCTWtJN1FVRkRhRVE3TzBGQlJVRTdPMEZCUlVFc1lVRkJZU3h0UWtGQlR5eERRVUZETEhkRVFVRmhPMEZCUTJ4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTEd0Q1FVRnJRaXh0UWtGQlR5eERRVUZETEd0SFFVRTBRanM3UVVGRmRFUTdPMEZCUlVFN08wRkJSVUU3UVVGRFFTeHhRa0ZCY1VJc2JVSkJRVThzUTBGQlF5dzRSVUZCYTBJN08wRkJSUzlET3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsRVFVRnBSQ3d3UmtGQk1FWTdPMEZCUlROSk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUN4TFFVRkxPMEZCUTB3c1IwRkJSenRCUVVOSUxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGdzUTBGQlF6dEJRVU5FTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzY1VKQlFYRkNMRzFDUVVGUExFTkJRVU1zT0VWQlFXdENPenRCUVVVdlF6dEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNhVU5CUVdsRE96dEJRVVZxUXpzN1FVRkZRU3d5UTBGQk1rTTdRVUZETTBNN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hEUVVGRE96dEJRVVZFTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEcxRVFVRnRSRHRCUVVOdVJEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVN4dlJFRkJiMFE3UVVGRGNFUTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhsRFFVRjVRenRCUVVONlF6dEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUlNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDE5emRISmxZVzFmZDNKcGRHRmliR1V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2THlCRGIzQjVjbWxuYUhRZ1NtOTVaVzUwTENCSmJtTXVJR0Z1WkNCdmRHaGxjaUJPYjJSbElHTnZiblJ5YVdKMWRHOXljeTVjYmk4dlhHNHZMeUJRWlhKdGFYTnphVzl1SUdseklHaGxjbVZpZVNCbmNtRnVkR1ZrTENCbWNtVmxJRzltSUdOb1lYSm5aU3dnZEc4Z1lXNTVJSEJsY25OdmJpQnZZblJoYVc1cGJtY2dZVnh1THk4Z1kyOXdlU0J2WmlCMGFHbHpJSE52Wm5SM1lYSmxJR0Z1WkNCaGMzTnZZMmxoZEdWa0lHUnZZM1Z0Wlc1MFlYUnBiMjRnWm1sc1pYTWdLSFJvWlZ4dUx5OGdYQ0pUYjJaMGQyRnlaVndpS1N3Z2RHOGdaR1ZoYkNCcGJpQjBhR1VnVTI5bWRIZGhjbVVnZDJsMGFHOTFkQ0J5WlhOMGNtbGpkR2x2Yml3Z2FXNWpiSFZrYVc1blhHNHZMeUIzYVhSb2IzVjBJR3hwYldsMFlYUnBiMjRnZEdobElISnBaMmgwY3lCMGJ5QjFjMlVzSUdOdmNIa3NJRzF2WkdsbWVTd2diV1Z5WjJVc0lIQjFZbXhwYzJnc1hHNHZMeUJrYVhOMGNtbGlkWFJsTENCemRXSnNhV05sYm5ObExDQmhibVF2YjNJZ2MyVnNiQ0JqYjNCcFpYTWdiMllnZEdobElGTnZablIzWVhKbExDQmhibVFnZEc4Z2NHVnliV2wwWEc0dkx5QndaWEp6YjI1eklIUnZJSGRvYjIwZ2RHaGxJRk52Wm5SM1lYSmxJR2x6SUdaMWNtNXBjMmhsWkNCMGJ5QmtieUJ6Ynl3Z2MzVmlhbVZqZENCMGJ5QjBhR1ZjYmk4dklHWnZiR3h2ZDJsdVp5QmpiMjVrYVhScGIyNXpPbHh1THk5Y2JpOHZJRlJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxJR0Z1WkNCMGFHbHpJSEJsY20xcGMzTnBiMjRnYm05MGFXTmxJSE5vWVd4c0lHSmxJR2x1WTJ4MVpHVmtYRzR2THlCcGJpQmhiR3dnWTI5d2FXVnpJRzl5SUhOMVluTjBZVzUwYVdGc0lIQnZjblJwYjI1eklHOW1JSFJvWlNCVGIyWjBkMkZ5WlM1Y2JpOHZYRzR2THlCVVNFVWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnWENKQlV5QkpVMXdpTENCWFNWUklUMVZVSUZkQlVsSkJUbFJaSUU5R0lFRk9XU0JMU1U1RUxDQkZXRkJTUlZOVFhHNHZMeUJQVWlCSlRWQk1TVVZFTENCSlRrTk1WVVJKVGtjZ1FsVlVJRTVQVkNCTVNVMUpWRVZFSUZSUElGUklSU0JYUVZKU1FVNVVTVVZUSUU5R1hHNHZMeUJOUlZKRFNFRk9WRUZDU1V4SlZGa3NJRVpKVkU1RlUxTWdSazlTSUVFZ1VFRlNWRWxEVlV4QlVpQlFWVkpRVDFORklFRk9SQ0JPVDA1SlRrWlNTVTVIUlUxRlRsUXVJRWxPWEc0dkx5Qk9UeUJGVmtWT1ZDQlRTRUZNVENCVVNFVWdRVlZVU0U5U1V5QlBVaUJEVDFCWlVrbEhTRlFnU0U5TVJFVlNVeUJDUlNCTVNVRkNURVVnUms5U0lFRk9XU0JEVEVGSlRTeGNiaTh2SUVSQlRVRkhSVk1nVDFJZ1QxUklSVklnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFRk9JRUZEVkVsUFRpQlBSaUJEVDA1VVVrRkRWQ3dnVkU5U1ZDQlBVbHh1THk4Z1QxUklSVkpYU1ZORkxDQkJVa2xUU1U1SElFWlNUMDBzSUU5VlZDQlBSaUJQVWlCSlRpQkRUMDVPUlVOVVNVOU9JRmRKVkVnZ1ZFaEZJRk5QUmxSWFFWSkZJRTlTSUZSSVJWeHVMeThnVlZORklFOVNJRTlVU0VWU0lFUkZRVXhKVGtkVElFbE9JRlJJUlNCVFQwWlVWMEZTUlM1Y2JseHVMeThnUVNCaWFYUWdjMmx0Y0d4bGNpQjBhR0Z1SUhKbFlXUmhZbXhsSUhOMGNtVmhiWE11WEc0dkx5QkpiWEJzWlcxbGJuUWdZVzRnWVhONWJtTWdMbDkzY21sMFpTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jc0lHTmlLU3dnWVc1a0lHbDBKMnhzSUdoaGJtUnNaU0JoYkd4Y2JpOHZJSFJvWlNCa2NtRnBiaUJsZG1WdWRDQmxiV2x6YzJsdmJpQmhibVFnWW5WbVptVnlhVzVuTGx4dVhHNG5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNWNiblpoY2lCd2JtRWdQU0J5WlhGMWFYSmxLQ2R3Y205alpYTnpMVzVsZUhScFkyc3RZWEpuY3ljcE8xeHVMeW84TDNKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnVjNKcGRHRmliR1U3WEc1Y2JpOHFJRHh5WlhCc1lXTmxiV1Z1ZEQ0Z0tpOWNibVoxYm1OMGFXOXVJRmR5YVhSbFVtVnhLR05vZFc1ckxDQmxibU52WkdsdVp5d2dZMklwSUh0Y2JpQWdkR2hwY3k1amFIVnVheUE5SUdOb2RXNXJPMXh1SUNCMGFHbHpMbVZ1WTI5a2FXNW5JRDBnWlc1amIyUnBibWM3WEc0Z0lIUm9hWE11WTJGc2JHSmhZMnNnUFNCallqdGNiaUFnZEdocGN5NXVaWGgwSUQwZ2JuVnNiRHRjYm4xY2JseHVMeThnU1hRZ2MyVmxiWE1nWVNCc2FXNXJaV1FnYkdsemRDQmlkWFFnYVhRZ2FYTWdibTkwWEc0dkx5QjBhR1Z5WlNCM2FXeHNJR0psSUc5dWJIa2dNaUJ2WmlCMGFHVnpaU0JtYjNJZ1pXRmphQ0J6ZEhKbFlXMWNibVoxYm1OMGFXOXVJRU52Y210bFpGSmxjWFZsYzNRb2MzUmhkR1VwSUh0Y2JpQWdkbUZ5SUY5MGFHbHpJRDBnZEdocGN6dGNibHh1SUNCMGFHbHpMbTVsZUhRZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG1WdWRISjVJRDBnYm5Wc2JEdGNiaUFnZEdocGN5NW1hVzVwYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdiMjVEYjNKclpXUkdhVzVwYzJnb1gzUm9hWE1zSUhOMFlYUmxLVHRjYmlBZ2ZUdGNibjFjYmk4cUlEd3ZjbVZ3YkdGalpXMWxiblErSUNvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ1lYTjVibU5YY21sMFpTQTlJQ0Z3Y205alpYTnpMbUp5YjNkelpYSWdKaVlnV3lkMk1DNHhNQ2NzSUNkMk1DNDVMaWRkTG1sdVpHVjRUMllvY0hKdlkyVnpjeTUyWlhKemFXOXVMbk5zYVdObEtEQXNJRFVwS1NBK0lDMHhJRDhnYzJWMFNXMXRaV1JwWVhSbElEb2djRzVoTG01bGVIUlVhV05yTzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzUyWVhJZ1JIVndiR1Y0TzF4dUx5bzhMM0psY0d4aFkyVnRaVzUwUGlvdlhHNWNibGR5YVhSaFlteGxMbGR5YVhSaFlteGxVM1JoZEdVZ1BTQlhjbWwwWVdKc1pWTjBZWFJsTzF4dVhHNHZLanh5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVkbUZ5SUhWMGFXd2dQU0J5WlhGMWFYSmxLQ2RqYjNKbExYVjBhV3d0YVhNbktUdGNiblYwYVd3dWFXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BPMXh1THlvOEwzSmxjR3hoWTJWdFpXNTBQaW92WEc1Y2JpOHFQSEpsY0d4aFkyVnRaVzUwUGlvdlhHNTJZWElnYVc1MFpYSnVZV3hWZEdsc0lEMGdlMXh1SUNCa1pYQnlaV05oZEdVNklISmxjWFZwY21Vb0ozVjBhV3d0WkdWd2NtVmpZWFJsSnlsY2JuMDdYRzR2S2p3dmNtVndiR0ZqWlcxbGJuUStLaTljYmx4dUx5bzhjbVZ3YkdGalpXMWxiblErS2k5Y2JuWmhjaUJUZEhKbFlXMGdQU0J5WlhGMWFYSmxLQ2N1TDJsdWRHVnlibUZzTDNOMGNtVmhiWE12YzNSeVpXRnRKeWs3WEc0dktqd3ZjbVZ3YkdGalpXMWxiblErS2k5Y2JseHVMeW84Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlPMXh1ZG1GeUlFOTFjbFZwYm5RNFFYSnlZWGtnUFNCbmJHOWlZV3d1VldsdWREaEJjbkpoZVNCOGZDQm1kVzVqZEdsdmJpQW9LU0I3ZlR0Y2JtWjFibU4wYVc5dUlGOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSW9ZMmgxYm1zcElIdGNiaUFnY21WMGRYSnVJRUoxWm1abGNpNW1jbTl0S0dOb2RXNXJLVHRjYm4xY2JtWjFibU4wYVc5dUlGOXBjMVZwYm5RNFFYSnlZWGtvYjJKcUtTQjdYRzRnSUhKbGRIVnliaUJDZFdabVpYSXVhWE5DZFdabVpYSW9iMkpxS1NCOGZDQnZZbW9nYVc1emRHRnVZMlZ2WmlCUGRYSlZhVzUwT0VGeWNtRjVPMXh1ZlZ4dVhHNHZLand2Y21Wd2JHRmpaVzFsYm5RK0tpOWNibHh1ZG1GeUlHUmxjM1J5YjNsSmJYQnNJRDBnY21WeGRXbHlaU2duTGk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDJSbGMzUnliM2tuS1R0Y2JseHVkWFJwYkM1cGJtaGxjbWwwY3loWGNtbDBZV0pzWlN3Z1UzUnlaV0Z0S1R0Y2JseHVablZ1WTNScGIyNGdibTl3S0NrZ2UzMWNibHh1Wm5WdVkzUnBiMjRnVjNKcGRHRmliR1ZUZEdGMFpTaHZjSFJwYjI1ekxDQnpkSEpsWVcwcElIdGNiaUFnUkhWd2JHVjRJRDBnUkhWd2JHVjRJSHg4SUhKbGNYVnBjbVVvSnk0dlgzTjBjbVZoYlY5a2RYQnNaWGduS1R0Y2JseHVJQ0J2Y0hScGIyNXpJRDBnYjNCMGFXOXVjeUI4ZkNCN2ZUdGNibHh1SUNBdkx5QkVkWEJzWlhnZ2MzUnlaV0Z0Y3lCaGNtVWdZbTkwYUNCeVpXRmtZV0pzWlNCaGJtUWdkM0pwZEdGaWJHVXNJR0oxZENCemFHRnlaVnh1SUNBdkx5QjBhR1VnYzJGdFpTQnZjSFJwYjI1eklHOWlhbVZqZEM1Y2JpQWdMeThnU0c5M1pYWmxjaXdnYzI5dFpTQmpZWE5sY3lCeVpYRjFhWEpsSUhObGRIUnBibWNnYjNCMGFXOXVjeUIwYnlCa2FXWm1aWEpsYm5SY2JpQWdMeThnZG1Gc2RXVnpJR1p2Y2lCMGFHVWdjbVZoWkdGaWJHVWdZVzVrSUhSb1pTQjNjbWwwWVdKc1pTQnphV1JsY3lCdlppQjBhR1VnWkhWd2JHVjRJSE4wY21WaGJTNWNiaUFnTHk4Z1ZHaGxjMlVnYjNCMGFXOXVjeUJqWVc0Z1ltVWdjSEp2ZG1sa1pXUWdjMlZ3WVhKaGRHVnNlU0JoY3lCeVpXRmtZV0pzWlZoWVdDQmhibVFnZDNKcGRHRmliR1ZZV0ZndVhHNGdJSFpoY2lCcGMwUjFjR3hsZUNBOUlITjBjbVZoYlNCcGJuTjBZVzVqWlc5bUlFUjFjR3hsZUR0Y2JseHVJQ0F2THlCdlltcGxZM1FnYzNSeVpXRnRJR1pzWVdjZ2RHOGdhVzVrYVdOaGRHVWdkMmhsZEdobGNpQnZjaUJ1YjNRZ2RHaHBjeUJ6ZEhKbFlXMWNiaUFnTHk4Z1kyOXVkR0ZwYm5NZ1luVm1abVZ5Y3lCdmNpQnZZbXBsWTNSekxseHVJQ0IwYUdsekxtOWlhbVZqZEUxdlpHVWdQU0FoSVc5d2RHbHZibk11YjJKcVpXTjBUVzlrWlR0Y2JseHVJQ0JwWmlBb2FYTkVkWEJzWlhncElIUm9hWE11YjJKcVpXTjBUVzlrWlNBOUlIUm9hWE11YjJKcVpXTjBUVzlrWlNCOGZDQWhJVzl3ZEdsdmJuTXVkM0pwZEdGaWJHVlBZbXBsWTNSTmIyUmxPMXh1WEc0Z0lDOHZJSFJvWlNCd2IybHVkQ0JoZENCM2FHbGphQ0IzY21sMFpTZ3BJSE4wWVhKMGN5QnlaWFIxY201cGJtY2dabUZzYzJWY2JpQWdMeThnVG05MFpUb2dNQ0JwY3lCaElIWmhiR2xrSUhaaGJIVmxMQ0J0WldGdWN5QjBhR0YwSUhkbElHRnNkMkY1Y3lCeVpYUjFjbTRnWm1Gc2MyVWdhV1pjYmlBZ0x5OGdkR2hsSUdWdWRHbHlaU0JpZFdabVpYSWdhWE1nYm05MElHWnNkWE5vWldRZ2FXMXRaV1JwWVhSbGJIa2diMjRnZDNKcGRHVW9LVnh1SUNCMllYSWdhSGR0SUQwZ2IzQjBhVzl1Y3k1b2FXZG9WMkYwWlhKTllYSnJPMXh1SUNCMllYSWdkM0pwZEdGaWJHVklkMjBnUFNCdmNIUnBiMjV6TG5keWFYUmhZbXhsU0dsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZG1GeUlHUmxabUYxYkhSSWQyMGdQU0IwYUdsekxtOWlhbVZqZEUxdlpHVWdQeUF4TmlBNklERTJJQ29nTVRBeU5EdGNibHh1SUNCcFppQW9hSGR0SUh4OElHaDNiU0E5UFQwZ01Da2dkR2hwY3k1b2FXZG9WMkYwWlhKTllYSnJJRDBnYUhkdE8yVnNjMlVnYVdZZ0tHbHpSSFZ3YkdWNElDWW1JQ2gzY21sMFlXSnNaVWgzYlNCOGZDQjNjbWwwWVdKc1pVaDNiU0E5UFQwZ01Da3BJSFJvYVhNdWFHbG5hRmRoZEdWeVRXRnlheUE5SUhkeWFYUmhZbXhsU0hkdE8yVnNjMlVnZEdocGN5NW9hV2RvVjJGMFpYSk5ZWEpySUQwZ1pHVm1ZWFZzZEVoM2JUdGNibHh1SUNBdkx5QmpZWE4wSUhSdklHbHVkSE11WEc0Z0lIUm9hWE11YUdsbmFGZGhkR1Z5VFdGeWF5QTlJRTFoZEdndVpteHZiM0lvZEdocGN5NW9hV2RvVjJGMFpYSk5ZWEpyS1R0Y2JseHVJQ0F2THlCcFppQmZabWx1WVd3Z2FHRnpJR0psWlc0Z1kyRnNiR1ZrWEc0Z0lIUm9hWE11Wm1sdVlXeERZV3hzWldRZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCa2NtRnBiaUJsZG1WdWRDQm1iR0ZuTGx4dUlDQjBhR2x6TG01bFpXUkVjbUZwYmlBOUlHWmhiSE5sTzF4dUlDQXZMeUJoZENCMGFHVWdjM1JoY25RZ2IyWWdZMkZzYkdsdVp5QmxibVFvS1Z4dUlDQjBhR2x6TG1WdVpHbHVaeUE5SUdaaGJITmxPMXh1SUNBdkx5QjNhR1Z1SUdWdVpDZ3BJR2hoY3lCaVpXVnVJR05oYkd4bFpDd2dZVzVrSUhKbGRIVnlibVZrWEc0Z0lIUm9hWE11Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnTHk4Z2QyaGxiaUFuWm1sdWFYTm9KeUJwY3lCbGJXbDBkR1ZrWEc0Z0lIUm9hWE11Wm1sdWFYTm9aV1FnUFNCbVlXeHpaVHRjYmx4dUlDQXZMeUJvWVhNZ2FYUWdZbVZsYmlCa1pYTjBjbTk1WldSY2JpQWdkR2hwY3k1a1pYTjBjbTk1WldRZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCemFHOTFiR1FnZDJVZ1pHVmpiMlJsSUhOMGNtbHVaM01nYVc1MGJ5QmlkV1ptWlhKeklHSmxabTl5WlNCd1lYTnphVzVuSUhSdklGOTNjbWwwWlQ5Y2JpQWdMeThnZEdocGN5QnBjeUJvWlhKbElITnZJSFJvWVhRZ2MyOXRaU0J1YjJSbExXTnZjbVVnYzNSeVpXRnRjeUJqWVc0Z2IzQjBhVzFwZW1VZ2MzUnlhVzVuWEc0Z0lDOHZJR2hoYm1Sc2FXNW5JR0YwSUdFZ2JHOTNaWElnYkdWMlpXd3VYRzRnSUhaaGNpQnViMFJsWTI5a1pTQTlJRzl3ZEdsdmJuTXVaR1ZqYjJSbFUzUnlhVzVuY3lBOVBUMGdabUZzYzJVN1hHNGdJSFJvYVhNdVpHVmpiMlJsVTNSeWFXNW5jeUE5SUNGdWIwUmxZMjlrWlR0Y2JseHVJQ0F2THlCRGNubHdkRzhnYVhNZ2EybHVaQ0J2WmlCdmJHUWdZVzVrSUdOeWRYTjBlUzRnSUVocGMzUnZjbWxqWVd4c2VTd2dhWFJ6SUdSbFptRjFiSFFnYzNSeWFXNW5YRzRnSUM4dklHVnVZMjlrYVc1bklHbHpJQ2RpYVc1aGNua25JSE52SUhkbElHaGhkbVVnZEc4Z2JXRnJaU0IwYUdseklHTnZibVpwWjNWeVlXSnNaUzVjYmlBZ0x5OGdSWFpsY25sMGFHbHVaeUJsYkhObElHbHVJSFJvWlNCMWJtbDJaWEp6WlNCMWMyVnpJQ2QxZEdZNEp5d2dkR2h2ZFdkb0xseHVJQ0IwYUdsekxtUmxabUYxYkhSRmJtTnZaR2x1WnlBOUlHOXdkR2x2Ym5NdVpHVm1ZWFZzZEVWdVkyOWthVzVuSUh4OElDZDFkR1k0Snp0Y2JseHVJQ0F2THlCdWIzUWdZVzRnWVdOMGRXRnNJR0oxWm1abGNpQjNaU0JyWldWd0lIUnlZV05ySUc5bUxDQmlkWFFnWVNCdFpXRnpkWEpsYldWdWRGeHVJQ0F2THlCdlppQm9iM2NnYlhWamFDQjNaU2R5WlNCM1lXbDBhVzVuSUhSdklHZGxkQ0J3ZFhOb1pXUWdkRzhnYzI5dFpTQjFibVJsY214NWFXNW5YRzRnSUM4dklITnZZMnRsZENCdmNpQm1hV3hsTGx4dUlDQjBhR2x6TG14bGJtZDBhQ0E5SURBN1hHNWNiaUFnTHk4Z1lTQm1iR0ZuSUhSdklITmxaU0IzYUdWdUlIZGxKM0psSUdsdUlIUm9aU0J0YVdSa2JHVWdiMllnWVNCM2NtbDBaUzVjYmlBZ2RHaHBjeTUzY21sMGFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdkMmhsYmlCMGNuVmxJR0ZzYkNCM2NtbDBaWE1nZDJsc2JDQmlaU0JpZFdabVpYSmxaQ0IxYm5ScGJDQXVkVzVqYjNKcktDa2dZMkZzYkZ4dUlDQjBhR2x6TG1OdmNtdGxaQ0E5SURBN1hHNWNiaUFnTHk4Z1lTQm1iR0ZuSUhSdklHSmxJR0ZpYkdVZ2RHOGdkR1ZzYkNCcFppQjBhR1VnYjI1M2NtbDBaU0JqWWlCcGN5QmpZV3hzWldRZ2FXMXRaV1JwWVhSbGJIa3NYRzRnSUM4dklHOXlJRzl1SUdFZ2JHRjBaWElnZEdsamF5NGdJRmRsSUhObGRDQjBhR2x6SUhSdklIUnlkV1VnWVhRZ1ptbHljM1FzSUdKbFkyRjFjMlVnWVc1NVhHNGdJQzh2SUdGamRHbHZibk1nZEdoaGRDQnphRzkxYkdSdUozUWdhR0Z3Y0dWdUlIVnVkR2xzSUZ3aWJHRjBaWEpjSWlCemFHOTFiR1FnWjJWdVpYSmhiR3g1SUdGc2MyOWNiaUFnTHk4Z2JtOTBJR2hoY0hCbGJpQmlaV1p2Y21VZ2RHaGxJR1pwY25OMElIZHlhWFJsSUdOaGJHd3VYRzRnSUhSb2FYTXVjM2x1WXlBOUlIUnlkV1U3WEc1Y2JpQWdMeThnWVNCbWJHRm5JSFJ2SUd0dWIzY2dhV1lnZDJVbmNtVWdjSEp2WTJWemMybHVaeUJ3Y21WMmFXOTFjMng1SUdKMVptWmxjbVZrSUdsMFpXMXpMQ0IzYUdsamFGeHVJQ0F2THlCdFlYa2dZMkZzYkNCMGFHVWdYM2R5YVhSbEtDa2dZMkZzYkdKaFkyc2dhVzRnZEdobElITmhiV1VnZEdsamF5d2djMjhnZEdoaGRDQjNaU0JrYjI0bmRGeHVJQ0F2THlCbGJtUWdkWEFnYVc0Z1lXNGdiM1psY214aGNIQmxaQ0J2Ym5keWFYUmxJSE5wZEhWaGRHbHZiaTVjYmlBZ2RHaHBjeTVpZFdabVpYSlFjbTlqWlhOemFXNW5JRDBnWm1Gc2MyVTdYRzVjYmlBZ0x5OGdkR2hsSUdOaGJHeGlZV05ySUhSb1lYUW5jeUJ3WVhOelpXUWdkRzhnWDNkeWFYUmxLR05vZFc1ckxHTmlLVnh1SUNCMGFHbHpMbTl1ZDNKcGRHVWdQU0JtZFc1amRHbHZiaUFvWlhJcElIdGNiaUFnSUNCdmJuZHlhWFJsS0hOMGNtVmhiU3dnWlhJcE8xeHVJQ0I5TzF4dVhHNGdJQzh2SUhSb1pTQmpZV3hzWW1GamF5QjBhR0YwSUhSb1pTQjFjMlZ5SUhOMWNIQnNhV1Z6SUhSdklIZHlhWFJsS0dOb2RXNXJMR1Z1WTI5a2FXNW5MR05pS1Z4dUlDQjBhR2x6TG5keWFYUmxZMklnUFNCdWRXeHNPMXh1WEc0Z0lDOHZJSFJvWlNCaGJXOTFiblFnZEdoaGRDQnBjeUJpWldsdVp5QjNjbWwwZEdWdUlIZG9aVzRnWDNkeWFYUmxJR2x6SUdOaGJHeGxaQzVjYmlBZ2RHaHBjeTUzY21sMFpXeGxiaUE5SURBN1hHNWNiaUFnZEdocGN5NWlkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQnVkV3hzTzF4dUlDQjBhR2x6TG14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQnVkV3hzTzF4dVhHNGdJQzh2SUc1MWJXSmxjaUJ2WmlCd1pXNWthVzVuSUhWelpYSXRjM1Z3Y0d4cFpXUWdkM0pwZEdVZ1kyRnNiR0poWTJ0elhHNGdJQzh2SUhSb2FYTWdiWFZ6ZENCaVpTQXdJR0psWm05eVpTQW5abWx1YVhOb0p5QmpZVzRnWW1VZ1pXMXBkSFJsWkZ4dUlDQjBhR2x6TG5CbGJtUnBibWRqWWlBOUlEQTdYRzVjYmlBZ0x5OGdaVzFwZENCd2NtVm1hVzVwYzJnZ2FXWWdkR2hsSUc5dWJIa2dkR2hwYm1jZ2QyVW5jbVVnZDJGcGRHbHVaeUJtYjNJZ2FYTWdYM2R5YVhSbElHTmljMXh1SUNBdkx5QlVhR2x6SUdseklISmxiR1YyWVc1MElHWnZjaUJ6ZVc1amFISnZibTkxY3lCVWNtRnVjMlp2Y20wZ2MzUnlaV0Z0YzF4dUlDQjBhR2x6TG5CeVpXWnBibWx6YUdWa0lEMGdabUZzYzJVN1hHNWNiaUFnTHk4Z1ZISjFaU0JwWmlCMGFHVWdaWEp5YjNJZ2QyRnpJR0ZzY21WaFpIa2daVzFwZEhSbFpDQmhibVFnYzJodmRXeGtJRzV2ZENCaVpTQjBhSEp2ZDI0Z1lXZGhhVzVjYmlBZ2RHaHBjeTVsY25KdmNrVnRhWFIwWldRZ1BTQm1ZV3h6WlR0Y2JseHVJQ0F2THlCamIzVnVkQ0JpZFdabVpYSmxaQ0J5WlhGMVpYTjBjMXh1SUNCMGFHbHpMbUoxWm1abGNtVmtVbVZ4ZFdWemRFTnZkVzUwSUQwZ01EdGNibHh1SUNBdkx5QmhiR3h2WTJGMFpTQjBhR1VnWm1seWMzUWdRMjl5YTJWa1VtVnhkV1Z6ZEN3Z2RHaGxjbVVnYVhNZ1lXeDNZWGx6WEc0Z0lDOHZJRzl1WlNCaGJHeHZZMkYwWldRZ1lXNWtJR1p5WldVZ2RHOGdkWE5sTENCaGJtUWdkMlVnYldGcGJuUmhhVzRnWVhRZ2JXOXpkQ0IwZDI5Y2JpQWdkR2hwY3k1amIzSnJaV1JTWlhGMVpYTjBjMFp5WldVZ1BTQnVaWGNnUTI5eWEyVmtVbVZ4ZFdWemRDaDBhR2x6S1R0Y2JuMWNibHh1VjNKcGRHRmliR1ZUZEdGMFpTNXdjbTkwYjNSNWNHVXVaMlYwUW5WbVptVnlJRDBnWm5WdVkzUnBiMjRnWjJWMFFuVm1abVZ5S0NrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZENBOUlIUm9hWE11WW5WbVptVnlaV1JTWlhGMVpYTjBPMXh1SUNCMllYSWdiM1YwSUQwZ1cxMDdYRzRnSUhkb2FXeGxJQ2hqZFhKeVpXNTBLU0I3WEc0Z0lDQWdiM1YwTG5CMWMyZ29ZM1Z5Y21WdWRDazdYRzRnSUNBZ1kzVnljbVZ1ZENBOUlHTjFjbkpsYm5RdWJtVjRkRHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdiM1YwTzF4dWZUdGNibHh1S0daMWJtTjBhVzl1SUNncElIdGNiaUFnZEhKNUlIdGNiaUFnSUNCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa29WM0pwZEdGaWJHVlRkR0YwWlM1d2NtOTBiM1I1Y0dVc0lDZGlkV1ptWlhJbkxDQjdYRzRnSUNBZ0lDQm5aWFE2SUdsdWRHVnlibUZzVlhScGJDNWtaWEJ5WldOaGRHVW9ablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NW5aWFJDZFdabVpYSW9LVHRjYmlBZ0lDQWdJSDBzSUNkZmQzSnBkR0ZpYkdWVGRHRjBaUzVpZFdabVpYSWdhWE1nWkdWd2NtVmpZWFJsWkM0Z1ZYTmxJRjkzY21sMFlXSnNaVk4wWVhSbExtZGxkRUoxWm1abGNpQW5JQ3NnSjJsdWMzUmxZV1F1Snl3Z0owUkZVREF3TURNbktWeHVJQ0FnSUgwcE8xeHVJQ0I5SUdOaGRHTm9JQ2hmS1NCN2ZWeHVmU2tvS1R0Y2JseHVMeThnVkdWemRDQmZkM0pwZEdGaWJHVlRkR0YwWlNCbWIzSWdhVzVvWlhKcGRHRnVZMlVnZEc4Z1lXTmpiM1Z1ZENCbWIzSWdSSFZ3YkdWNElITjBjbVZoYlhNc1hHNHZMeUIzYUc5elpTQndjbTkwYjNSNWNHVWdZMmhoYVc0Z2IyNXNlU0J3YjJsdWRITWdkRzhnVW1WaFpHRmliR1V1WEc1MllYSWdjbVZoYkVoaGMwbHVjM1JoYm1ObE8xeHVhV1lnS0hSNWNHVnZaaUJUZVcxaWIyd2dQVDA5SUNkbWRXNWpkR2x2YmljZ0ppWWdVM2x0WW05c0xtaGhjMGx1YzNSaGJtTmxJQ1ltSUhSNWNHVnZaaUJHZFc1amRHbHZiaTV3Y205MGIzUjVjR1ZiVTNsdFltOXNMbWhoYzBsdWMzUmhibU5sWFNBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQnlaV0ZzU0dGelNXNXpkR0Z1WTJVZ1BTQkdkVzVqZEdsdmJpNXdjbTkwYjNSNWNHVmJVM2x0WW05c0xtaGhjMGx1YzNSaGJtTmxYVHRjYmlBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRmR5YVhSaFlteGxMQ0JUZVcxaWIyd3VhR0Z6U1c1emRHRnVZMlVzSUh0Y2JpQWdJQ0IyWVd4MVpUb2dablZ1WTNScGIyNGdLRzlpYW1WamRDa2dlMXh1SUNBZ0lDQWdhV1lnS0hKbFlXeElZWE5KYm5OMFlXNWpaUzVqWVd4c0tIUm9hWE1zSUc5aWFtVmpkQ2twSUhKbGRIVnliaUIwY25WbE8xeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNZ0lUMDlJRmR5YVhSaFlteGxLU0J5WlhSMWNtNGdabUZzYzJVN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCdlltcGxZM1FnSmlZZ2IySnFaV04wTGw5M2NtbDBZV0pzWlZOMFlYUmxJR2x1YzNSaGJtTmxiMllnVjNKcGRHRmliR1ZUZEdGMFpUdGNiaUFnSUNCOVhHNGdJSDBwTzF4dWZTQmxiSE5sSUh0Y2JpQWdjbVZoYkVoaGMwbHVjM1JoYm1ObElEMGdablZ1WTNScGIyNGdLRzlpYW1WamRDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCdlltcGxZM1FnYVc1emRHRnVZMlZ2WmlCMGFHbHpPMXh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCWGNtbDBZV0pzWlNodmNIUnBiMjV6S1NCN1hHNGdJRVIxY0d4bGVDQTlJRVIxY0d4bGVDQjhmQ0J5WlhGMWFYSmxLQ2N1TDE5emRISmxZVzFmWkhWd2JHVjRKeWs3WEc1Y2JpQWdMeThnVjNKcGRHRmliR1VnWTNSdmNpQnBjeUJoY0hCc2FXVmtJSFJ2SUVSMWNHeGxlR1Z6TENCMGIyOHVYRzRnSUM4dklHQnlaV0ZzU0dGelNXNXpkR0Z1WTJWZ0lHbHpJRzVsWTJWemMyRnllU0JpWldOaGRYTmxJSFZ6YVc1bklIQnNZV2x1SUdCcGJuTjBZVzVqWlc5bVlGeHVJQ0F2THlCM2IzVnNaQ0J5WlhSMWNtNGdabUZzYzJVc0lHRnpJRzV2SUdCZmQzSnBkR0ZpYkdWVGRHRjBaV0FnY0hKdmNHVnlkSGtnYVhNZ1lYUjBZV05vWldRdVhHNWNiaUFnTHk4Z1ZISjVhVzVuSUhSdklIVnpaU0IwYUdVZ1kzVnpkRzl0SUdCcGJuTjBZVzVqWlc5bVlDQm1iM0lnVjNKcGRHRmliR1VnYUdWeVpTQjNhV3hzSUdGc2MyOGdZbkpsWVdzZ2RHaGxYRzRnSUM4dklFNXZaR1V1YW5NZ1RHRjZlVlJ5WVc1elptOXliU0JwYlhCc1pXMWxiblJoZEdsdmJpd2dkMmhwWTJnZ2FHRnpJR0VnYm05dUxYUnlhWFpwWVd3Z1oyVjBkR1Z5SUdadmNseHVJQ0F2THlCZ1gzZHlhWFJoWW14bFUzUmhkR1ZnSUhSb1lYUWdkMjkxYkdRZ2JHVmhaQ0IwYnlCcGJtWnBibWwwWlNCeVpXTjFjbk5wYjI0dVhHNGdJR2xtSUNnaGNtVmhiRWhoYzBsdWMzUmhibU5sTG1OaGJHd29WM0pwZEdGaWJHVXNJSFJvYVhNcElDWW1JQ0VvZEdocGN5QnBibk4wWVc1alpXOW1JRVIxY0d4bGVDa3BJSHRjYmlBZ0lDQnlaWFIxY200Z2JtVjNJRmR5YVhSaFlteGxLRzl3ZEdsdmJuTXBPMXh1SUNCOVhHNWNiaUFnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlNBOUlHNWxkeUJYY21sMFlXSnNaVk4wWVhSbEtHOXdkR2x2Ym5Nc0lIUm9hWE1wTzF4dVhHNGdJQzh2SUd4bFoyRmplUzVjYmlBZ2RHaHBjeTUzY21sMFlXSnNaU0E5SUhSeWRXVTdYRzVjYmlBZ2FXWWdLRzl3ZEdsdmJuTXBJSHRjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTXVkM0pwZEdVZ1BUMDlJQ2RtZFc1amRHbHZiaWNwSUhSb2FYTXVYM2R5YVhSbElEMGdiM0IwYVc5dWN5NTNjbWwwWlR0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2IzQjBhVzl1Y3k1M2NtbDBaWFlnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgzZHlhWFJsZGlBOUlHOXdkR2x2Ym5NdWQzSnBkR1YyTzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCdmNIUnBiMjV6TG1SbGMzUnliM2tnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgyUmxjM1J5YjNrZ1BTQnZjSFJwYjI1ekxtUmxjM1J5YjNrN1hHNWNiaUFnSUNCcFppQW9kSGx3Wlc5bUlHOXdkR2x2Ym5NdVptbHVZV3dnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSFJvYVhNdVgyWnBibUZzSUQwZ2IzQjBhVzl1Y3k1bWFXNWhiRHRjYmlBZ2ZWeHVYRzRnSUZOMGNtVmhiUzVqWVd4c0tIUm9hWE1wTzF4dWZWeHVYRzR2THlCUGRHaGxjbmRwYzJVZ2NHVnZjR3hsSUdOaGJpQndhWEJsSUZkeWFYUmhZbXhsSUhOMGNtVmhiWE1zSUhkb2FXTm9JR2x6SUdwMWMzUWdkM0p2Ym1jdVhHNVhjbWwwWVdKc1pTNXdjbTkwYjNSNWNHVXVjR2x3WlNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTVsYldsMEtDZGxjbkp2Y2ljc0lHNWxkeUJGY25KdmNpZ25RMkZ1Ym05MElIQnBjR1VzSUc1dmRDQnlaV0ZrWVdKc1pTY3BLVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJSGR5YVhSbFFXWjBaWEpGYm1Rb2MzUnlaV0Z0TENCallpa2dlMXh1SUNCMllYSWdaWElnUFNCdVpYY2dSWEp5YjNJb0ozZHlhWFJsSUdGbWRHVnlJR1Z1WkNjcE8xeHVJQ0F2THlCVVQwUlBPaUJrWldabGNpQmxjbkp2Y2lCbGRtVnVkSE1nWTI5dWMybHpkR1Z1ZEd4NUlHVjJaWEo1ZDJobGNtVXNJRzV2ZENCcWRYTjBJSFJvWlNCallseHVJQ0J6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUhCdVlTNXVaWGgwVkdsamF5aGpZaXdnWlhJcE8xeHVmVnh1WEc0dkx5QkRhR1ZqYTNNZ2RHaGhkQ0JoSUhWelpYSXRjM1Z3Y0d4cFpXUWdZMmgxYm1zZ2FYTWdkbUZzYVdRc0lHVnpjR1ZqYVdGc2JIa2dabTl5SUhSb1pTQndZWEowYVdOMWJHRnlYRzR2THlCdGIyUmxJSFJvWlNCemRISmxZVzBnYVhNZ2FXNHVJRU4xY25KbGJuUnNlU0IwYUdseklHMWxZVzV6SUhSb1lYUWdZRzUxYkd4Z0lHbHpJRzVsZG1WeUlHRmpZMlZ3ZEdWa1hHNHZMeUJoYm1RZ2RXNWtaV1pwYm1Wa0wyNXZiaTF6ZEhKcGJtY2dkbUZzZFdWeklHRnlaU0J2Ym14NUlHRnNiRzkzWldRZ2FXNGdiMkpxWldOMElHMXZaR1V1WEc1bWRXNWpkR2x2YmlCMllXeHBaRU5vZFc1cktITjBjbVZoYlN3Z2MzUmhkR1VzSUdOb2RXNXJMQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2RtRnNhV1FnUFNCMGNuVmxPMXh1SUNCMllYSWdaWElnUFNCbVlXeHpaVHRjYmx4dUlDQnBaaUFvWTJoMWJtc2dQVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQmxjaUE5SUc1bGR5QlVlWEJsUlhKeWIzSW9KMDFoZVNCdWIzUWdkM0pwZEdVZ2JuVnNiQ0IyWVd4MVpYTWdkRzhnYzNSeVpXRnRKeWs3WEc0Z0lIMGdaV3h6WlNCcFppQW9kSGx3Wlc5bUlHTm9kVzVySUNFOVBTQW5jM1J5YVc1bkp5QW1KaUJqYUhWdWF5QWhQVDBnZFc1a1pXWnBibVZrSUNZbUlDRnpkR0YwWlM1dlltcGxZM1JOYjJSbEtTQjdYRzRnSUNBZ1pYSWdQU0J1WlhjZ1ZIbHdaVVZ5Y205eUtDZEpiblpoYkdsa0lHNXZiaTF6ZEhKcGJtY3ZZblZtWm1WeUlHTm9kVzVySnlrN1hHNGdJSDFjYmlBZ2FXWWdLR1Z5S1NCN1hHNGdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0oyVnljbTl5Snl3Z1pYSXBPMXh1SUNBZ0lIQnVZUzV1WlhoMFZHbGpheWhqWWl3Z1pYSXBPMXh1SUNBZ0lIWmhiR2xrSUQwZ1ptRnNjMlU3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSFpoYkdsa08xeHVmVnh1WEc1WGNtbDBZV0pzWlM1d2NtOTBiM1I1Y0dVdWQzSnBkR1VnUFNCbWRXNWpkR2x2YmlBb1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpa2dlMXh1SUNCMllYSWdjM1JoZEdVZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjbVYwSUQwZ1ptRnNjMlU3WEc0Z0lIWmhjaUJwYzBKMVppQTlJQ0Z6ZEdGMFpTNXZZbXBsWTNSTmIyUmxJQ1ltSUY5cGMxVnBiblE0UVhKeVlYa29ZMmgxYm1zcE8xeHVYRzRnSUdsbUlDaHBjMEoxWmlBbUppQWhRblZtWm1WeUxtbHpRblZtWm1WeUtHTm9kVzVyS1NrZ2UxeHVJQ0FnSUdOb2RXNXJJRDBnWDNWcGJuUTRRWEp5WVhsVWIwSjFabVpsY2loamFIVnVheWs3WEc0Z0lIMWNibHh1SUNCcFppQW9kSGx3Wlc5bUlHVnVZMjlrYVc1bklEMDlQU0FuWm5WdVkzUnBiMjRuS1NCN1hHNGdJQ0FnWTJJZ1BTQmxibU52WkdsdVp6dGNiaUFnSUNCbGJtTnZaR2x1WnlBOUlHNTFiR3c3WEc0Z0lIMWNibHh1SUNCcFppQW9hWE5DZFdZcElHVnVZMjlrYVc1bklEMGdKMkoxWm1abGNpYzdaV3h6WlNCcFppQW9JV1Z1WTI5a2FXNW5LU0JsYm1OdlpHbHVaeUE5SUhOMFlYUmxMbVJsWm1GMWJIUkZibU52WkdsdVp6dGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHTmlJQ0U5UFNBblpuVnVZM1JwYjI0bktTQmpZaUE5SUc1dmNEdGNibHh1SUNCcFppQW9jM1JoZEdVdVpXNWtaV1FwSUhkeWFYUmxRV1owWlhKRmJtUW9kR2hwY3l3Z1kySXBPMlZzYzJVZ2FXWWdLR2x6UW5WbUlIeDhJSFpoYkdsa1EyaDFibXNvZEdocGN5d2djM1JoZEdVc0lHTm9kVzVyTENCallpa3BJSHRjYmlBZ0lDQnpkR0YwWlM1d1pXNWthVzVuWTJJckt6dGNiaUFnSUNCeVpYUWdQU0IzY21sMFpVOXlRblZtWm1WeUtIUm9hWE1zSUhOMFlYUmxMQ0JwYzBKMVppd2dZMmgxYm1zc0lHVnVZMjlrYVc1bkxDQmpZaWs3WEc0Z0lIMWNibHh1SUNCeVpYUjFjbTRnY21WME8xeHVmVHRjYmx4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExtTnZjbXNnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUhaaGNpQnpkR0YwWlNBOUlIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVTdYRzVjYmlBZ2MzUmhkR1V1WTI5eWEyVmtLeXM3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1ZFc1amIzSnJJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRdExUdGNibHh1SUNBZ0lHbG1JQ2doYzNSaGRHVXVkM0pwZEdsdVp5QW1KaUFoYzNSaGRHVXVZMjl5YTJWa0lDWW1JQ0Z6ZEdGMFpTNW1hVzVwYzJobFpDQW1KaUFoYzNSaGRHVXVZblZtWm1WeVVISnZZMlZ6YzJsdVp5QW1KaUJ6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNRcElHTnNaV0Z5UW5WbVptVnlLSFJvYVhNc0lITjBZWFJsS1R0Y2JpQWdmVnh1ZlR0Y2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbk5sZEVSbFptRjFiSFJGYm1OdlpHbHVaeUE5SUdaMWJtTjBhVzl1SUhObGRFUmxabUYxYkhSRmJtTnZaR2x1WnlobGJtTnZaR2x1WnlrZ2UxeHVJQ0F2THlCdWIyUmxPanBRWVhKelpVVnVZMjlrYVc1bktDa2djbVZ4ZFdseVpYTWdiRzkzWlhJZ1kyRnpaUzVjYmlBZ2FXWWdLSFI1Y0dWdlppQmxibU52WkdsdVp5QTlQVDBnSjNOMGNtbHVaeWNwSUdWdVkyOWthVzVuSUQwZ1pXNWpiMlJwYm1jdWRHOU1iM2RsY2tOaGMyVW9LVHRjYmlBZ2FXWWdLQ0VvV3lkb1pYZ25MQ0FuZFhSbU9DY3NJQ2QxZEdZdE9DY3NJQ2RoYzJOcGFTY3NJQ2RpYVc1aGNua25MQ0FuWW1GelpUWTBKeXdnSjNWamN6SW5MQ0FuZFdOekxUSW5MQ0FuZFhSbU1UWnNaU2NzSUNkMWRHWXRNVFpzWlNjc0lDZHlZWGNuWFM1cGJtUmxlRTltS0NobGJtTnZaR2x1WnlBcklDY25LUzUwYjB4dmQyVnlRMkZ6WlNncEtTQStJQzB4S1NrZ2RHaHliM2NnYm1WM0lGUjVjR1ZGY25KdmNpZ25WVzVyYm05M2JpQmxibU52WkdsdVp6b2dKeUFySUdWdVkyOWthVzVuS1R0Y2JpQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVrWldaaGRXeDBSVzVqYjJScGJtY2dQU0JsYm1OdlpHbHVaenRjYmlBZ2NtVjBkWEp1SUhSb2FYTTdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQmtaV052WkdWRGFIVnVheWh6ZEdGMFpTd2dZMmgxYm1zc0lHVnVZMjlrYVc1bktTQjdYRzRnSUdsbUlDZ2hjM1JoZEdVdWIySnFaV04wVFc5a1pTQW1KaUJ6ZEdGMFpTNWtaV052WkdWVGRISnBibWR6SUNFOVBTQm1ZV3h6WlNBbUppQjBlWEJsYjJZZ1kyaDFibXNnUFQwOUlDZHpkSEpwYm1jbktTQjdYRzRnSUNBZ1kyaDFibXNnUFNCQ2RXWm1aWEl1Wm5KdmJTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCamFIVnVhenRjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlN3Z0ozZHlhWFJoWW14bFNHbG5hRmRoZEdWeVRXRnlheWNzSUh0Y2JpQWdMeThnYldGcmFXNW5JR2wwSUdWNGNHeHBZMmwwSUhSb2FYTWdjSEp2Y0dWeWRIa2dhWE1nYm05MElHVnVkVzFsY21GaWJHVmNiaUFnTHk4Z1ltVmpZWFZ6WlNCdmRHaGxjbmRwYzJVZ2MyOXRaU0J3Y205MGIzUjVjR1VnYldGdWFYQjFiR0YwYVc5dUlHbHVYRzRnSUM4dklIVnpaWEpzWVc1a0lIZHBiR3dnWm1GcGJGeHVJQ0JsYm5WdFpYSmhZbXhsT2lCbVlXeHpaU3hjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1YUdsbmFGZGhkR1Z5VFdGeWF6dGNiaUFnZlZ4dWZTazdYRzVjYmk4dklHbG1JSGRsSjNKbElHRnNjbVZoWkhrZ2QzSnBkR2x1WnlCemIyMWxkR2hwYm1jc0lIUm9aVzRnYW5WemRDQndkWFFnZEdocGMxeHVMeThnYVc0Z2RHaGxJSEYxWlhWbExDQmhibVFnZDJGcGRDQnZkWElnZEhWeWJpNGdJRTkwYUdWeWQybHpaU3dnWTJGc2JDQmZkM0pwZEdWY2JpOHZJRWxtSUhkbElISmxkSFZ5YmlCbVlXeHpaU3dnZEdobGJpQjNaU0J1WldWa0lHRWdaSEpoYVc0Z1pYWmxiblFzSUhOdklITmxkQ0IwYUdGMElHWnNZV2N1WEc1bWRXNWpkR2x2YmlCM2NtbDBaVTl5UW5WbVptVnlLSE4wY21WaGJTd2djM1JoZEdVc0lHbHpRblZtTENCamFIVnVheXdnWlc1amIyUnBibWNzSUdOaUtTQjdYRzRnSUdsbUlDZ2hhWE5DZFdZcElIdGNiaUFnSUNCMllYSWdibVYzUTJoMWJtc2dQU0JrWldOdlpHVkRhSFZ1YXloemRHRjBaU3dnWTJoMWJtc3NJR1Z1WTI5a2FXNW5LVHRjYmlBZ0lDQnBaaUFvWTJoMWJtc2dJVDA5SUc1bGQwTm9kVzVyS1NCN1hHNGdJQ0FnSUNCcGMwSjFaaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQmxibU52WkdsdVp5QTlJQ2RpZFdabVpYSW5PMXh1SUNBZ0lDQWdZMmgxYm1zZ1BTQnVaWGREYUhWdWF6dGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2RtRnlJR3hsYmlBOUlITjBZWFJsTG05aWFtVmpkRTF2WkdVZ1B5QXhJRG9nWTJoMWJtc3ViR1Z1WjNSb08xeHVYRzRnSUhOMFlYUmxMbXhsYm1kMGFDQXJQU0JzWlc0N1hHNWNiaUFnZG1GeUlISmxkQ0E5SUhOMFlYUmxMbXhsYm1kMGFDQThJSE4wWVhSbExtaHBaMmhYWVhSbGNrMWhjbXM3WEc0Z0lDOHZJSGRsSUcxMWMzUWdaVzV6ZFhKbElIUm9ZWFFnY0hKbGRtbHZkWE1nYm1WbFpFUnlZV2x1SUhkcGJHd2dibTkwSUdKbElISmxjMlYwSUhSdklHWmhiSE5sTGx4dUlDQnBaaUFvSVhKbGRDa2djM1JoZEdVdWJtVmxaRVJ5WVdsdUlEMGdkSEoxWlR0Y2JseHVJQ0JwWmlBb2MzUmhkR1V1ZDNKcGRHbHVaeUI4ZkNCemRHRjBaUzVqYjNKclpXUXBJSHRjYmlBZ0lDQjJZWElnYkdGemRDQTlJSE4wWVhSbExteGhjM1JDZFdabVpYSmxaRkpsY1hWbGMzUTdYRzRnSUNBZ2MzUmhkR1V1YkdGemRFSjFabVpsY21Wa1VtVnhkV1Z6ZENBOUlIdGNiaUFnSUNBZ0lHTm9kVzVyT2lCamFIVnVheXhjYmlBZ0lDQWdJR1Z1WTI5a2FXNW5PaUJsYm1OdlpHbHVaeXhjYmlBZ0lDQWdJR2x6UW5WbU9pQnBjMEoxWml4Y2JpQWdJQ0FnSUdOaGJHeGlZV05yT2lCallpeGNiaUFnSUNBZ0lHNWxlSFE2SUc1MWJHeGNiaUFnSUNCOU8xeHVJQ0FnSUdsbUlDaHNZWE4wS1NCN1hHNGdJQ0FnSUNCc1lYTjBMbTVsZUhRZ1BTQnpkR0YwWlM1c1lYTjBRblZtWm1WeVpXUlNaWEYxWlhOME8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQnpkR0YwWlM1c1lYTjBRblZtWm1WeVpXUlNaWEYxWlhOME8xeHVJQ0FnSUgxY2JpQWdJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNSRGIzVnVkQ0FyUFNBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHUnZWM0pwZEdVb2MzUnlaV0Z0TENCemRHRjBaU3dnWm1Gc2MyVXNJR3hsYml3Z1kyaDFibXNzSUdWdVkyOWthVzVuTENCallpazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdjbVYwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJrYjFkeWFYUmxLSE4wY21WaGJTd2djM1JoZEdVc0lIZHlhWFJsZGl3Z2JHVnVMQ0JqYUhWdWF5d2daVzVqYjJScGJtY3NJR05pS1NCN1hHNGdJSE4wWVhSbExuZHlhWFJsYkdWdUlEMGdiR1Z1TzF4dUlDQnpkR0YwWlM1M2NtbDBaV05pSUQwZ1kySTdYRzRnSUhOMFlYUmxMbmR5YVhScGJtY2dQU0IwY25WbE8xeHVJQ0J6ZEdGMFpTNXplVzVqSUQwZ2RISjFaVHRjYmlBZ2FXWWdLSGR5YVhSbGRpa2djM1J5WldGdExsOTNjbWwwWlhZb1kyaDFibXNzSUhOMFlYUmxMbTl1ZDNKcGRHVXBPMlZzYzJVZ2MzUnlaV0Z0TGw5M2NtbDBaU2hqYUhWdWF5d2daVzVqYjJScGJtY3NJSE4wWVhSbExtOXVkM0pwZEdVcE8xeHVJQ0J6ZEdGMFpTNXplVzVqSUQwZ1ptRnNjMlU3WEc1OVhHNWNibVoxYm1OMGFXOXVJRzl1ZDNKcGRHVkZjbkp2Y2loemRISmxZVzBzSUhOMFlYUmxMQ0J6ZVc1akxDQmxjaXdnWTJJcElIdGNiaUFnTFMxemRHRjBaUzV3Wlc1a2FXNW5ZMkk3WEc1Y2JpQWdhV1lnS0hONWJtTXBJSHRjYmlBZ0lDQXZMeUJrWldabGNpQjBhR1VnWTJGc2JHSmhZMnNnYVdZZ2QyVWdZWEpsSUdKbGFXNW5JR05oYkd4bFpDQnplVzVqYUhKdmJtOTFjMng1WEc0Z0lDQWdMeThnZEc4Z1lYWnZhV1FnY0dsc2FXNW5JSFZ3SUhSb2FXNW5jeUJ2YmlCMGFHVWdjM1JoWTJ0Y2JpQWdJQ0J3Ym1FdWJtVjRkRlJwWTJzb1kySXNJR1Z5S1R0Y2JpQWdJQ0F2THlCMGFHbHpJR05oYmlCbGJXbDBJR1pwYm1semFDd2dZVzVrSUdsMElIZHBiR3dnWVd4M1lYbHpJR2hoY0hCbGJseHVJQ0FnSUM4dklHRm1kR1Z5SUdWeWNtOXlYRzRnSUNBZ2NHNWhMbTVsZUhSVWFXTnJLR1pwYm1semFFMWhlV0psTENCemRISmxZVzBzSUhOMFlYUmxLVHRjYmlBZ0lDQnpkSEpsWVcwdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0J6ZEhKbFlXMHVaVzFwZENnblpYSnliM0luTENCbGNpazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdMeThnZEdobElHTmhiR3hsY2lCbGVIQmxZM1FnZEdocGN5QjBieUJvWVhCd1pXNGdZbVZtYjNKbElHbG1YRzRnSUNBZ0x5OGdhWFFnYVhNZ1lYTjVibU5jYmlBZ0lDQmpZaWhsY2lrN1hHNGdJQ0FnYzNSeVpXRnRMbDkzY21sMFlXSnNaVk4wWVhSbExtVnljbTl5UlcxcGRIUmxaQ0E5SUhSeWRXVTdYRzRnSUNBZ2MzUnlaV0Z0TG1WdGFYUW9KMlZ5Y205eUp5d2daWElwTzF4dUlDQWdJQzh2SUhSb2FYTWdZMkZ1SUdWdGFYUWdabWx1YVhOb0xDQmlkWFFnWm1sdWFYTm9JRzExYzNSY2JpQWdJQ0F2THlCaGJIZGhlWE1nWm05c2JHOTNJR1Z5Y205eVhHNGdJQ0FnWm1sdWFYTm9UV0Y1WW1Vb2MzUnlaV0Z0TENCemRHRjBaU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNTNjbWwwWlZOMFlYUmxWWEJrWVhSbEtITjBZWFJsS1NCN1hHNGdJSE4wWVhSbExuZHlhWFJwYm1jZ1BTQm1ZV3h6WlR0Y2JpQWdjM1JoZEdVdWQzSnBkR1ZqWWlBOUlHNTFiR3c3WEc0Z0lITjBZWFJsTG14bGJtZDBhQ0F0UFNCemRHRjBaUzUzY21sMFpXeGxianRjYmlBZ2MzUmhkR1V1ZDNKcGRHVnNaVzRnUFNBd08xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJuZHlhWFJsS0hOMGNtVmhiU3dnWlhJcElIdGNiaUFnZG1GeUlITjBZWFJsSUQwZ2MzUnlaV0Z0TGw5M2NtbDBZV0pzWlZOMFlYUmxPMXh1SUNCMllYSWdjM2x1WXlBOUlITjBZWFJsTG5ONWJtTTdYRzRnSUhaaGNpQmpZaUE5SUhOMFlYUmxMbmR5YVhSbFkySTdYRzVjYmlBZ2IyNTNjbWwwWlZOMFlYUmxWWEJrWVhSbEtITjBZWFJsS1R0Y2JseHVJQ0JwWmlBb1pYSXBJRzl1ZDNKcGRHVkZjbkp2Y2loemRISmxZVzBzSUhOMFlYUmxMQ0J6ZVc1akxDQmxjaXdnWTJJcE8yVnNjMlVnZTF4dUlDQWdJQzh2SUVOb1pXTnJJR2xtSUhkbEozSmxJR0ZqZEhWaGJHeDVJSEpsWVdSNUlIUnZJR1pwYm1semFDd2dZblYwSUdSdmJpZDBJR1Z0YVhRZ2VXVjBYRzRnSUNBZ2RtRnlJR1pwYm1semFHVmtJRDBnYm1WbFpFWnBibWx6YUNoemRHRjBaU2s3WEc1Y2JpQWdJQ0JwWmlBb0lXWnBibWx6YUdWa0lDWW1JQ0Z6ZEdGMFpTNWpiM0pyWldRZ0ppWWdJWE4wWVhSbExtSjFabVpsY2xCeWIyTmxjM05wYm1jZ0ppWWdjM1JoZEdVdVluVm1abVZ5WldSU1pYRjFaWE4wS1NCN1hHNGdJQ0FnSUNCamJHVmhja0oxWm1abGNpaHpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2MzbHVZeWtnZTF4dUlDQWdJQ0FnTHlvOGNtVndiR0ZqWlcxbGJuUStLaTljYmlBZ0lDQWdJR0Z6ZVc1alYzSnBkR1VvWVdaMFpYSlhjbWwwWlN3Z2MzUnlaV0Z0TENCemRHRjBaU3dnWm1sdWFYTm9aV1FzSUdOaUtUdGNiaUFnSUNBZ0lDOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JoWm5SbGNsZHlhWFJsS0hOMGNtVmhiU3dnYzNSaGRHVXNJR1pwYm1semFHVmtMQ0JqWWlrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHRm1kR1Z5VjNKcGRHVW9jM1J5WldGdExDQnpkR0YwWlN3Z1ptbHVhWE5vWldRc0lHTmlLU0I3WEc0Z0lHbG1JQ2doWm1sdWFYTm9aV1FwSUc5dWQzSnBkR1ZFY21GcGJpaHpkSEpsWVcwc0lITjBZWFJsS1R0Y2JpQWdjM1JoZEdVdWNHVnVaR2x1WjJOaUxTMDdYRzRnSUdOaUtDazdYRzRnSUdacGJtbHphRTFoZVdKbEtITjBjbVZoYlN3Z2MzUmhkR1VwTzF4dWZWeHVYRzR2THlCTmRYTjBJR1p2Y21ObElHTmhiR3hpWVdOcklIUnZJR0psSUdOaGJHeGxaQ0J2YmlCdVpYaDBWR2xqYXl3Z2MyOGdkR2hoZENCM1pTQmtiMjRuZEZ4dUx5OGdaVzFwZENBblpISmhhVzRuSUdKbFptOXlaU0IwYUdVZ2QzSnBkR1VvS1NCamIyNXpkVzFsY2lCblpYUnpJSFJvWlNBblptRnNjMlVuSUhKbGRIVnlibHh1THk4Z2RtRnNkV1VzSUdGdVpDQm9ZWE1nWVNCamFHRnVZMlVnZEc4Z1lYUjBZV05vSUdFZ0oyUnlZV2x1SnlCc2FYTjBaVzVsY2k1Y2JtWjFibU4wYVc5dUlHOXVkM0pwZEdWRWNtRnBiaWh6ZEhKbFlXMHNJSE4wWVhSbEtTQjdYRzRnSUdsbUlDaHpkR0YwWlM1c1pXNW5kR2dnUFQwOUlEQWdKaVlnYzNSaGRHVXVibVZsWkVSeVlXbHVLU0I3WEc0Z0lDQWdjM1JoZEdVdWJtVmxaRVJ5WVdsdUlEMGdabUZzYzJVN1hHNGdJQ0FnYzNSeVpXRnRMbVZ0YVhRb0oyUnlZV2x1SnlrN1hHNGdJSDFjYm4xY2JseHVMeThnYVdZZ2RHaGxjbVVuY3lCemIyMWxkR2hwYm1jZ2FXNGdkR2hsSUdKMVptWmxjaUIzWVdsMGFXNW5MQ0IwYUdWdUlIQnliMk5sYzNNZ2FYUmNibVoxYm1OMGFXOXVJR05zWldGeVFuVm1abVZ5S0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ2MzUmhkR1V1WW5WbVptVnlVSEp2WTJWemMybHVaeUE5SUhSeWRXVTdYRzRnSUhaaGNpQmxiblJ5ZVNBOUlITjBZWFJsTG1KMVptWmxjbVZrVW1WeGRXVnpkRHRjYmx4dUlDQnBaaUFvYzNSeVpXRnRMbDkzY21sMFpYWWdKaVlnWlc1MGNua2dKaVlnWlc1MGNua3VibVY0ZENrZ2UxeHVJQ0FnSUM4dklFWmhjM1FnWTJGelpTd2dkM0pwZEdVZ1pYWmxjbmwwYUdsdVp5QjFjMmx1WnlCZmQzSnBkR1YyS0NsY2JpQWdJQ0IyWVhJZ2JDQTlJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZEVOdmRXNTBPMXh1SUNBZ0lIWmhjaUJpZFdabVpYSWdQU0J1WlhjZ1FYSnlZWGtvYkNrN1hHNGdJQ0FnZG1GeUlHaHZiR1JsY2lBOUlITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlR0Y2JpQWdJQ0JvYjJ4a1pYSXVaVzUwY25rZ1BTQmxiblJ5ZVR0Y2JseHVJQ0FnSUhaaGNpQmpiM1Z1ZENBOUlEQTdYRzRnSUNBZ2RtRnlJR0ZzYkVKMVptWmxjbk1nUFNCMGNuVmxPMXh1SUNBZ0lIZG9hV3hsSUNobGJuUnllU2tnZTF4dUlDQWdJQ0FnWW5WbVptVnlXMk52ZFc1MFhTQTlJR1Z1ZEhKNU8xeHVJQ0FnSUNBZ2FXWWdLQ0ZsYm5SeWVTNXBjMEoxWmlrZ1lXeHNRblZtWm1WeWN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ1pXNTBjbmtnUFNCbGJuUnllUzV1WlhoME8xeHVJQ0FnSUNBZ1kyOTFiblFnS3owZ01UdGNiaUFnSUNCOVhHNGdJQ0FnWW5WbVptVnlMbUZzYkVKMVptWmxjbk1nUFNCaGJHeENkV1ptWlhKek8xeHVYRzRnSUNBZ1pHOVhjbWwwWlNoemRISmxZVzBzSUhOMFlYUmxMQ0IwY25WbExDQnpkR0YwWlM1c1pXNW5kR2dzSUdKMVptWmxjaXdnSnljc0lHaHZiR1JsY2k1bWFXNXBjMmdwTzF4dVhHNGdJQ0FnTHk4Z1pHOVhjbWwwWlNCcGN5QmhiRzF2YzNRZ1lXeDNZWGx6SUdGemVXNWpMQ0JrWldabGNpQjBhR1Z6WlNCMGJ5QnpZWFpsSUdFZ1ltbDBJRzltSUhScGJXVmNiaUFnSUNBdkx5QmhjeUIwYUdVZ2FHOTBJSEJoZEdnZ1pXNWtjeUIzYVhSb0lHUnZWM0pwZEdWY2JpQWdJQ0J6ZEdGMFpTNXdaVzVrYVc1blkySXJLenRjYmlBZ0lDQnpkR0YwWlM1c1lYTjBRblZtWm1WeVpXUlNaWEYxWlhOMElEMGdiblZzYkR0Y2JpQWdJQ0JwWmlBb2FHOXNaR1Z5TG01bGVIUXBJSHRjYmlBZ0lDQWdJSE4wWVhSbExtTnZjbXRsWkZKbGNYVmxjM1J6Um5KbFpTQTlJR2h2YkdSbGNpNXVaWGgwTzF4dUlDQWdJQ0FnYUc5c1pHVnlMbTVsZUhRZ1BTQnVkV3hzTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnpkR0YwWlM1amIzSnJaV1JTWlhGMVpYTjBjMFp5WldVZ1BTQnVaWGNnUTI5eWEyVmtVbVZ4ZFdWemRDaHpkR0YwWlNrN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wWVhSbExtSjFabVpsY21Wa1VtVnhkV1Z6ZEVOdmRXNTBJRDBnTUR0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNBdkx5QlRiRzkzSUdOaGMyVXNJSGR5YVhSbElHTm9kVzVyY3lCdmJtVXRZbmt0YjI1bFhHNGdJQ0FnZDJocGJHVWdLR1Z1ZEhKNUtTQjdYRzRnSUNBZ0lDQjJZWElnWTJoMWJtc2dQU0JsYm5SeWVTNWphSFZ1YXp0Y2JpQWdJQ0FnSUhaaGNpQmxibU52WkdsdVp5QTlJR1Z1ZEhKNUxtVnVZMjlrYVc1bk8xeHVJQ0FnSUNBZ2RtRnlJR05pSUQwZ1pXNTBjbmt1WTJGc2JHSmhZMnM3WEc0Z0lDQWdJQ0IyWVhJZ2JHVnVJRDBnYzNSaGRHVXViMkpxWldOMFRXOWtaU0EvSURFZ09pQmphSFZ1YXk1c1pXNW5kR2c3WEc1Y2JpQWdJQ0FnSUdSdlYzSnBkR1VvYzNSeVpXRnRMQ0J6ZEdGMFpTd2dabUZzYzJVc0lHeGxiaXdnWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrN1hHNGdJQ0FnSUNCbGJuUnllU0E5SUdWdWRISjVMbTVsZUhRN1hHNGdJQ0FnSUNCemRHRjBaUzVpZFdabVpYSmxaRkpsY1hWbGMzUkRiM1Z1ZEMwdE8xeHVJQ0FnSUNBZ0x5OGdhV1lnZDJVZ1pHbGtiaWQwSUdOaGJHd2dkR2hsSUc5dWQzSnBkR1VnYVcxdFpXUnBZWFJsYkhrc0lIUm9aVzVjYmlBZ0lDQWdJQzh2SUdsMElHMWxZVzV6SUhSb1lYUWdkMlVnYm1WbFpDQjBieUIzWVdsMElIVnVkR2xzSUdsMElHUnZaWE11WEc0Z0lDQWdJQ0F2THlCaGJITnZMQ0IwYUdGMElHMWxZVzV6SUhSb1lYUWdkR2hsSUdOb2RXNXJJR0Z1WkNCallpQmhjbVVnWTNWeWNtVnVkR3g1WEc0Z0lDQWdJQ0F2THlCaVpXbHVaeUJ3Y205alpYTnpaV1FzSUhOdklHMXZkbVVnZEdobElHSjFabVpsY2lCamIzVnVkR1Z5SUhCaGMzUWdkR2hsYlM1Y2JpQWdJQ0FnSUdsbUlDaHpkR0YwWlM1M2NtbDBhVzVuS1NCN1hHNGdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNobGJuUnllU0E5UFQwZ2JuVnNiQ2tnYzNSaGRHVXViR0Z6ZEVKMVptWmxjbVZrVW1WeGRXVnpkQ0E5SUc1MWJHdzdYRzRnSUgxY2JseHVJQ0J6ZEdGMFpTNWlkV1ptWlhKbFpGSmxjWFZsYzNRZ1BTQmxiblJ5ZVR0Y2JpQWdjM1JoZEdVdVluVm1abVZ5VUhKdlkyVnpjMmx1WnlBOUlHWmhiSE5sTzF4dWZWeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxJRDBnWm5WdVkzUnBiMjRnS0dOb2RXNXJMQ0JsYm1OdlpHbHVaeXdnWTJJcElIdGNiaUFnWTJJb2JtVjNJRVZ5Y205eUtDZGZkM0pwZEdVb0tTQnBjeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUW5LU2s3WEc1OU8xeHVYRzVYY21sMFlXSnNaUzV3Y205MGIzUjVjR1V1WDNkeWFYUmxkaUE5SUc1MWJHdzdYRzVjYmxkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlM1bGJtUWdQU0JtZFc1amRHbHZiaUFvWTJoMWJtc3NJR1Z1WTI5a2FXNW5MQ0JqWWlrZ2UxeHVJQ0IyWVhJZ2MzUmhkR1VnUFNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbE8xeHVYRzRnSUdsbUlDaDBlWEJsYjJZZ1kyaDFibXNnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQmpZaUE5SUdOb2RXNXJPMXh1SUNBZ0lHTm9kVzVySUQwZ2JuVnNiRHRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDBnWld4elpTQnBaaUFvZEhsd1pXOW1JR1Z1WTI5a2FXNW5JRDA5UFNBblpuVnVZM1JwYjI0bktTQjdYRzRnSUNBZ1kySWdQU0JsYm1OdlpHbHVaenRjYmlBZ0lDQmxibU52WkdsdVp5QTlJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQnBaaUFvWTJoMWJtc2dJVDA5SUc1MWJHd2dKaVlnWTJoMWJtc2dJVDA5SUhWdVpHVm1hVzVsWkNrZ2RHaHBjeTUzY21sMFpTaGphSFZ1YXl3Z1pXNWpiMlJwYm1jcE8xeHVYRzRnSUM4dklDNWxibVFvS1NCbWRXeHNlU0IxYm1OdmNtdHpYRzRnSUdsbUlDaHpkR0YwWlM1amIzSnJaV1FwSUh0Y2JpQWdJQ0J6ZEdGMFpTNWpiM0pyWldRZ1BTQXhPMXh1SUNBZ0lIUm9hWE11ZFc1amIzSnJLQ2s3WEc0Z0lIMWNibHh1SUNBdkx5QnBaMjV2Y21VZ2RXNXVaV05sYzNOaGNua2daVzVrS0NrZ1kyRnNiSE11WEc0Z0lHbG1JQ2doYzNSaGRHVXVaVzVrYVc1bklDWW1JQ0Z6ZEdGMFpTNW1hVzVwYzJobFpDa2daVzVrVjNKcGRHRmliR1VvZEdocGN5d2djM1JoZEdVc0lHTmlLVHRjYm4wN1hHNWNibVoxYm1OMGFXOXVJRzVsWldSR2FXNXBjMmdvYzNSaGRHVXBJSHRjYmlBZ2NtVjBkWEp1SUhOMFlYUmxMbVZ1WkdsdVp5QW1KaUJ6ZEdGMFpTNXNaVzVuZEdnZ1BUMDlJREFnSmlZZ2MzUmhkR1V1WW5WbVptVnlaV1JTWlhGMVpYTjBJRDA5UFNCdWRXeHNJQ1ltSUNGemRHRjBaUzVtYVc1cGMyaGxaQ0FtSmlBaGMzUmhkR1V1ZDNKcGRHbHVaenRjYm4xY2JtWjFibU4wYVc5dUlHTmhiR3hHYVc1aGJDaHpkSEpsWVcwc0lITjBZWFJsS1NCN1hHNGdJSE4wY21WaGJTNWZabWx1WVd3b1puVnVZM1JwYjI0Z0tHVnljaWtnZTF4dUlDQWdJSE4wWVhSbExuQmxibVJwYm1kallpMHRPMXh1SUNBZ0lHbG1JQ2hsY25JcElIdGNiaUFnSUNBZ0lITjBjbVZoYlM1bGJXbDBLQ2RsY25KdmNpY3NJR1Z5Y2lrN1hHNGdJQ0FnZlZ4dUlDQWdJSE4wWVhSbExuQnlaV1pwYm1semFHVmtJRDBnZEhKMVpUdGNiaUFnSUNCemRISmxZVzB1WlcxcGRDZ25jSEpsWm1sdWFYTm9KeWs3WEc0Z0lDQWdabWx1YVhOb1RXRjVZbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUgwcE8xeHVmVnh1Wm5WdVkzUnBiMjRnY0hKbFptbHVhWE5vS0hOMGNtVmhiU3dnYzNSaGRHVXBJSHRjYmlBZ2FXWWdLQ0Z6ZEdGMFpTNXdjbVZtYVc1cGMyaGxaQ0FtSmlBaGMzUmhkR1V1Wm1sdVlXeERZV3hzWldRcElIdGNiaUFnSUNCcFppQW9kSGx3Wlc5bUlITjBjbVZoYlM1ZlptbHVZV3dnUFQwOUlDZG1kVzVqZEdsdmJpY3BJSHRjYmlBZ0lDQWdJSE4wWVhSbExuQmxibVJwYm1kallpc3JPMXh1SUNBZ0lDQWdjM1JoZEdVdVptbHVZV3hEWVd4c1pXUWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NHNWhMbTVsZUhSVWFXTnJLR05oYkd4R2FXNWhiQ3dnYzNSeVpXRnRMQ0J6ZEdGMFpTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUhOMFlYUmxMbkJ5WldacGJtbHphR1ZrSUQwZ2RISjFaVHRjYmlBZ0lDQWdJSE4wY21WaGJTNWxiV2wwS0Nkd2NtVm1hVzVwYzJnbktUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdabWx1YVhOb1RXRjVZbVVvYzNSeVpXRnRMQ0J6ZEdGMFpTa2dlMXh1SUNCMllYSWdibVZsWkNBOUlHNWxaV1JHYVc1cGMyZ29jM1JoZEdVcE8xeHVJQ0JwWmlBb2JtVmxaQ2tnZTF4dUlDQWdJSEJ5WldacGJtbHphQ2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNiaUFnSUNCcFppQW9jM1JoZEdVdWNHVnVaR2x1WjJOaUlEMDlQU0F3S1NCN1hHNGdJQ0FnSUNCemRHRjBaUzVtYVc1cGMyaGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnpkSEpsWVcwdVpXMXBkQ2duWm1sdWFYTm9KeWs3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnVaV1ZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJsYm1SWGNtbDBZV0pzWlNoemRISmxZVzBzSUhOMFlYUmxMQ0JqWWlrZ2UxeHVJQ0J6ZEdGMFpTNWxibVJwYm1jZ1BTQjBjblZsTzF4dUlDQm1hVzVwYzJoTllYbGlaU2h6ZEhKbFlXMHNJSE4wWVhSbEtUdGNiaUFnYVdZZ0tHTmlLU0I3WEc0Z0lDQWdhV1lnS0hOMFlYUmxMbVpwYm1semFHVmtLU0J3Ym1FdWJtVjRkRlJwWTJzb1kySXBPMlZzYzJVZ2MzUnlaV0Z0TG05dVkyVW9KMlpwYm1semFDY3NJR05pS1R0Y2JpQWdmVnh1SUNCemRHRjBaUzVsYm1SbFpDQTlJSFJ5ZFdVN1hHNGdJSE4wY21WaGJTNTNjbWwwWVdKc1pTQTlJR1poYkhObE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJrTnZjbXRsWkVacGJtbHphQ2hqYjNKclVtVnhMQ0J6ZEdGMFpTd2daWEp5S1NCN1hHNGdJSFpoY2lCbGJuUnllU0E5SUdOdmNtdFNaWEV1Wlc1MGNuazdYRzRnSUdOdmNtdFNaWEV1Wlc1MGNua2dQU0J1ZFd4c08xeHVJQ0IzYUdsc1pTQW9aVzUwY25rcElIdGNiaUFnSUNCMllYSWdZMklnUFNCbGJuUnllUzVqWVd4c1ltRmphenRjYmlBZ0lDQnpkR0YwWlM1d1pXNWthVzVuWTJJdExUdGNiaUFnSUNCallpaGxjbklwTzF4dUlDQWdJR1Z1ZEhKNUlEMGdaVzUwY25rdWJtVjRkRHRjYmlBZ2ZWeHVJQ0JwWmlBb2MzUmhkR1V1WTI5eWEyVmtVbVZ4ZFdWemRITkdjbVZsS1NCN1hHNGdJQ0FnYzNSaGRHVXVZMjl5YTJWa1VtVnhkV1Z6ZEhOR2NtVmxMbTVsZUhRZ1BTQmpiM0pyVW1WeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lITjBZWFJsTG1OdmNtdGxaRkpsY1hWbGMzUnpSbkpsWlNBOUlHTnZjbXRTWlhFN1hHNGdJSDFjYm4xY2JseHVUMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S0ZkeWFYUmhZbXhsTG5CeWIzUnZkSGx3WlN3Z0oyUmxjM1J5YjNsbFpDY3NJSHRjYmlBZ1oyVjBPaUJtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnYVdZZ0tIUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdaaGJITmxPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1a1pYTjBjbTk1WldRN1hHNGdJSDBzWEc0Z0lITmxkRG9nWm5WdVkzUnBiMjRnS0haaGJIVmxLU0I3WEc0Z0lDQWdMeThnZDJVZ2FXZHViM0psSUhSb1pTQjJZV3gxWlNCcFppQjBhR1VnYzNSeVpXRnRYRzRnSUNBZ0x5OGdhR0Z6SUc1dmRDQmlaV1Z1SUdsdWFYUnBZV3hwZW1Wa0lIbGxkRnh1SUNBZ0lHbG1JQ2doZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUdKaFkydDNZWEprSUdOdmJYQmhkR2xpYVd4cGRIa3NJSFJvWlNCMWMyVnlJR2x6SUdWNGNHeHBZMmwwYkhsY2JpQWdJQ0F2THlCdFlXNWhaMmx1WnlCa1pYTjBjbTk1WldSY2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlIWmhiSFZsTzF4dUlDQjlYRzU5S1R0Y2JseHVWM0pwZEdGaWJHVXVjSEp2ZEc5MGVYQmxMbVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1a1pYTjBjbTk1TzF4dVYzSnBkR0ZpYkdVdWNISnZkRzkwZVhCbExsOTFibVJsYzNSeWIza2dQU0JrWlhOMGNtOTVTVzF3YkM1MWJtUmxjM1J5YjNrN1hHNVhjbWwwWVdKc1pTNXdjbTkwYjNSNWNHVXVYMlJsYzNSeWIza2dQU0JtZFc1amRHbHZiaUFvWlhKeUxDQmpZaWtnZTF4dUlDQjBhR2x6TG1WdVpDZ3BPMXh1SUNCallpaGxjbklwTzF4dWZUc2lYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblxcXCIpOyB9IH1cXG5cXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyO1xcbnZhciB1dGlsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdXRpbCAqLyAzKTtcXG5cXG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcXG4gIHNyYy5jb3B5KHRhcmdldCwgb2Zmc2V0KTtcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XFxuICBmdW5jdGlvbiBCdWZmZXJMaXN0KCkge1xcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnVmZmVyTGlzdCk7XFxuXFxuICAgIHRoaXMuaGVhZCA9IG51bGw7XFxuICAgIHRoaXMudGFpbCA9IG51bGw7XFxuICAgIHRoaXMubGVuZ3RoID0gMDtcXG4gIH1cXG5cXG4gIEJ1ZmZlckxpc3QucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiBwdXNoKHYpIHtcXG4gICAgdmFyIGVudHJ5ID0geyBkYXRhOiB2LCBuZXh0OiBudWxsIH07XFxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgdGhpcy50YWlsID0gZW50cnk7XFxuICAgICsrdGhpcy5sZW5ndGg7XFxuICB9O1xcblxcbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uIHVuc2hpZnQodikge1xcbiAgICB2YXIgZW50cnkgPSB7IGRhdGE6IHYsIG5leHQ6IHRoaXMuaGVhZCB9O1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHRoaXMudGFpbCA9IGVudHJ5O1xcbiAgICB0aGlzLmhlYWQgPSBlbnRyeTtcXG4gICAgKyt0aGlzLmxlbmd0aDtcXG4gIH07XFxuXFxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5zaGlmdCA9IGZ1bmN0aW9uIHNoaWZ0KCkge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybjtcXG4gICAgdmFyIHJldCA9IHRoaXMuaGVhZC5kYXRhO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcXG4gICAgLS10aGlzLmxlbmd0aDtcXG4gICAgcmV0dXJuIHJldDtcXG4gIH07XFxuXFxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uIGNsZWFyKCkge1xcbiAgICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xcbiAgICB0aGlzLmxlbmd0aCA9IDA7XFxuICB9O1xcblxcbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUuam9pbiA9IGZ1bmN0aW9uIGpvaW4ocykge1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiAnJztcXG4gICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgIHZhciByZXQgPSAnJyArIHAuZGF0YTtcXG4gICAgd2hpbGUgKHAgPSBwLm5leHQpIHtcXG4gICAgICByZXQgKz0gcyArIHAuZGF0YTtcXG4gICAgfXJldHVybiByZXQ7XFxuICB9O1xcblxcbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUuY29uY2F0ID0gZnVuY3Rpb24gY29uY2F0KG4pIHtcXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gQnVmZmVyLmFsbG9jKDApO1xcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHJldHVybiB0aGlzLmhlYWQuZGF0YTtcXG4gICAgdmFyIHJldCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuID4+PiAwKTtcXG4gICAgdmFyIHAgPSB0aGlzLmhlYWQ7XFxuICAgIHZhciBpID0gMDtcXG4gICAgd2hpbGUgKHApIHtcXG4gICAgICBjb3B5QnVmZmVyKHAuZGF0YSwgcmV0LCBpKTtcXG4gICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XFxuICAgICAgcCA9IHAubmV4dDtcXG4gICAgfVxcbiAgICByZXR1cm4gcmV0O1xcbiAgfTtcXG5cXG4gIHJldHVybiBCdWZmZXJMaXN0O1xcbn0oKTtcXG5cXG5pZiAodXRpbCAmJiB1dGlsLmluc3BlY3QgJiYgdXRpbC5pbnNwZWN0LmN1c3RvbSkge1xcbiAgbW9kdWxlLmV4cG9ydHMucHJvdG90eXBlW3V0aWwuaW5zcGVjdC5jdXN0b21dID0gZnVuY3Rpb24gKCkge1xcbiAgICB2YXIgb2JqID0gdXRpbC5pbnNwZWN0KHsgbGVuZ3RoOiB0aGlzLmxlbmd0aCB9KTtcXG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZSArICcgJyArIG9iajtcXG4gIH07XFxufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdlFuVm1abVZ5VEdsemRDNXFjejlqTkdSa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaUxHbEVRVUZwUkN3d1EwRkJNRU1zTUVSQlFUQkVMRVZCUVVVN08wRkJSWFpLTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUdEJRVU5zUXl4WFFVRlhMRzFDUVVGUExFTkJRVU1zWVVGQlRUczdRVUZGZWtJN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMR2xDUVVGcFFqdEJRVU5xUWl4blJFRkJaMFE3UVVGRGFFUTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzYVVKQlFXbENPMEZCUTJwQ08wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxIZEVRVUYzUkR0QlFVTjRSRHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEVzUTBGQlF6czdRVUZGUkR0QlFVTkJPMEZCUTBFc05FSkJRVFJDTEhOQ1FVRnpRanRCUVVOc1JEdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOXBiblJsY201aGJDOXpkSEpsWVcxekwwSjFabVpsY2t4cGMzUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JtWjFibU4wYVc5dUlGOWpiR0Z6YzBOaGJHeERhR1ZqYXlocGJuTjBZVzVqWlN3Z1EyOXVjM1J5ZFdOMGIzSXBJSHNnYVdZZ0tDRW9hVzV6ZEdGdVkyVWdhVzV6ZEdGdVkyVnZaaUJEYjI1emRISjFZM1J2Y2lrcElIc2dkR2h5YjNjZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSWtOaGJtNXZkQ0JqWVd4c0lHRWdZMnhoYzNNZ1lYTWdZU0JtZFc1amRHbHZibHdpS1RzZ2ZTQjlYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjanRjYm5aaGNpQjFkR2xzSUQwZ2NtVnhkV2x5WlNnbmRYUnBiQ2NwTzF4dVhHNW1kVzVqZEdsdmJpQmpiM0I1UW5WbVptVnlLSE55WXl3Z2RHRnlaMlYwTENCdlptWnpaWFFwSUh0Y2JpQWdjM0pqTG1OdmNIa29kR0Z5WjJWMExDQnZabVp6WlhRcE8xeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnWm5WdVkzUnBiMjRnUW5WbVptVnlUR2x6ZENncElIdGNiaUFnSUNCZlkyeGhjM05EWVd4c1EyaGxZMnNvZEdocGN5d2dRblZtWm1WeVRHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtaGxZV1FnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11ZEdGcGJDQTlJRzUxYkd3N1hHNGdJQ0FnZEdocGN5NXNaVzVuZEdnZ1BTQXdPMXh1SUNCOVhHNWNiaUFnUW5WbVptVnlUR2x6ZEM1d2NtOTBiM1I1Y0dVdWNIVnphQ0E5SUdaMWJtTjBhVzl1SUhCMWMyZ29kaWtnZTF4dUlDQWdJSFpoY2lCbGJuUnllU0E5SUhzZ1pHRjBZVG9nZGl3Z2JtVjRkRG9nYm5Wc2JDQjlPMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBK0lEQXBJSFJvYVhNdWRHRnBiQzV1WlhoMElEMGdaVzUwY25rN1pXeHpaU0IwYUdsekxtaGxZV1FnUFNCbGJuUnllVHRjYmlBZ0lDQjBhR2x6TG5SaGFXd2dQU0JsYm5SeWVUdGNiaUFnSUNBckszUm9hWE11YkdWdVozUm9PMXh1SUNCOU8xeHVYRzRnSUVKMVptWmxja3hwYzNRdWNISnZkRzkwZVhCbExuVnVjMmhwWm5RZ1BTQm1kVzVqZEdsdmJpQjFibk5vYVdaMEtIWXBJSHRjYmlBZ0lDQjJZWElnWlc1MGNua2dQU0I3SUdSaGRHRTZJSFlzSUc1bGVIUTZJSFJvYVhNdWFHVmhaQ0I5TzF4dUlDQWdJR2xtSUNoMGFHbHpMbXhsYm1kMGFDQTlQVDBnTUNrZ2RHaHBjeTUwWVdsc0lEMGdaVzUwY25rN1hHNGdJQ0FnZEdocGN5NW9aV0ZrSUQwZ1pXNTBjbms3WEc0Z0lDQWdLeXQwYUdsekxteGxibWQwYUR0Y2JpQWdmVHRjYmx4dUlDQkNkV1ptWlhKTWFYTjBMbkJ5YjNSdmRIbHdaUzV6YUdsbWRDQTlJR1oxYm1OMGFXOXVJSE5vYVdaMEtDa2dlMXh1SUNBZ0lHbG1JQ2gwYUdsekxteGxibWQwYUNBOVBUMGdNQ2tnY21WMGRYSnVPMXh1SUNBZ0lIWmhjaUJ5WlhRZ1BTQjBhR2x6TG1obFlXUXVaR0YwWVR0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURFcElIUm9hWE11YUdWaFpDQTlJSFJvYVhNdWRHRnBiQ0E5SUc1MWJHdzdaV3h6WlNCMGFHbHpMbWhsWVdRZ1BTQjBhR2x6TG1obFlXUXVibVY0ZER0Y2JpQWdJQ0F0TFhSb2FYTXViR1Z1WjNSb08xeHVJQ0FnSUhKbGRIVnliaUJ5WlhRN1hHNGdJSDA3WEc1Y2JpQWdRblZtWm1WeVRHbHpkQzV3Y205MGIzUjVjR1V1WTJ4bFlYSWdQU0JtZFc1amRHbHZiaUJqYkdWaGNpZ3BJSHRjYmlBZ0lDQjBhR2x6TG1obFlXUWdQU0IwYUdsekxuUmhhV3dnUFNCdWRXeHNPMXh1SUNBZ0lIUm9hWE11YkdWdVozUm9JRDBnTUR0Y2JpQWdmVHRjYmx4dUlDQkNkV1ptWlhKTWFYTjBMbkJ5YjNSdmRIbHdaUzVxYjJsdUlEMGdablZ1WTNScGIyNGdhbTlwYmloektTQjdYRzRnSUNBZ2FXWWdLSFJvYVhNdWJHVnVaM1JvSUQwOVBTQXdLU0J5WlhSMWNtNGdKeWM3WEc0Z0lDQWdkbUZ5SUhBZ1BTQjBhR2x6TG1obFlXUTdYRzRnSUNBZ2RtRnlJSEpsZENBOUlDY25JQ3NnY0M1a1lYUmhPMXh1SUNBZ0lIZG9hV3hsSUNod0lEMGdjQzV1WlhoMEtTQjdYRzRnSUNBZ0lDQnlaWFFnS3owZ2N5QXJJSEF1WkdGMFlUdGNiaUFnSUNCOWNtVjBkWEp1SUhKbGREdGNiaUFnZlR0Y2JseHVJQ0JDZFdabVpYSk1hWE4wTG5CeWIzUnZkSGx3WlM1amIyNWpZWFFnUFNCbWRXNWpkR2x2YmlCamIyNWpZWFFvYmlrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TG14bGJtZDBhQ0E5UFQwZ01Da2djbVYwZFhKdUlFSjFabVpsY2k1aGJHeHZZeWd3S1R0Y2JpQWdJQ0JwWmlBb2RHaHBjeTVzWlc1bmRHZ2dQVDA5SURFcElISmxkSFZ5YmlCMGFHbHpMbWhsWVdRdVpHRjBZVHRjYmlBZ0lDQjJZWElnY21WMElEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLRzRnUGo0K0lEQXBPMXh1SUNBZ0lIWmhjaUJ3SUQwZ2RHaHBjeTVvWldGa08xeHVJQ0FnSUhaaGNpQnBJRDBnTUR0Y2JpQWdJQ0IzYUdsc1pTQW9jQ2tnZTF4dUlDQWdJQ0FnWTI5d2VVSjFabVpsY2lod0xtUmhkR0VzSUhKbGRDd2dhU2s3WEc0Z0lDQWdJQ0JwSUNzOUlIQXVaR0YwWVM1c1pXNW5kR2c3WEc0Z0lDQWdJQ0J3SUQwZ2NDNXVaWGgwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NtVjBPMXh1SUNCOU8xeHVYRzRnSUhKbGRIVnliaUJDZFdabVpYSk1hWE4wTzF4dWZTZ3BPMXh1WEc1cFppQW9kWFJwYkNBbUppQjFkR2xzTG1sdWMzQmxZM1FnSmlZZ2RYUnBiQzVwYm5Od1pXTjBMbU4xYzNSdmJTa2dlMXh1SUNCdGIyUjFiR1V1Wlhod2IzSjBjeTV3Y205MGIzUjVjR1ZiZFhScGJDNXBibk53WldOMExtTjFjM1J2YlYwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdkbUZ5SUc5aWFpQTlJSFYwYVd3dWFXNXpjR1ZqZENoN0lHeGxibWQwYURvZ2RHaHBjeTVzWlc1bmRHZ2dmU2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTI5dWMzUnlkV04wYjNJdWJtRnRaU0FySUNjZ0p5QXJJRzlpYWp0Y2JpQWdmVHRjYm4waVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxuLyo8cmVwbGFjZW1lbnQ+Ki9cXG5cXG52YXIgcG5hID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcHJvY2Vzcy1uZXh0aWNrLWFyZ3MgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MtbmV4dGljay1hcmdzL2luZGV4LmpzXFxcIik7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxuLy8gdW5kb2N1bWVudGVkIGNiKCkgQVBJLCBuZWVkZWQgZm9yIGNvcmUsIG5vdCBmb3IgcHVibGljIEFQSVxcbmZ1bmN0aW9uIGRlc3Ryb3koZXJyLCBjYikge1xcbiAgdmFyIF90aGlzID0gdGhpcztcXG5cXG4gIHZhciByZWFkYWJsZURlc3Ryb3llZCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ7XFxuICB2YXIgd3JpdGFibGVEZXN0cm95ZWQgPSB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xcblxcbiAgaWYgKHJlYWRhYmxlRGVzdHJveWVkIHx8IHdyaXRhYmxlRGVzdHJveWVkKSB7XFxuICAgIGlmIChjYikge1xcbiAgICAgIGNiKGVycik7XFxuICAgIH0gZWxzZSBpZiAoZXJyICYmICghdGhpcy5fd3JpdGFibGVTdGF0ZSB8fCAhdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpKSB7XFxuICAgICAgcG5hLm5leHRUaWNrKGVtaXRFcnJvck5ULCB0aGlzLCBlcnIpO1xcbiAgICB9XFxuICAgIHJldHVybiB0aGlzO1xcbiAgfVxcblxcbiAgLy8gd2Ugc2V0IGRlc3Ryb3llZCB0byB0cnVlIGJlZm9yZSBmaXJpbmcgZXJyb3IgY2FsbGJhY2tzIGluIG9yZGVyXFxuICAvLyB0byBtYWtlIGl0IHJlLWVudHJhbmNlIHNhZmUgaW4gY2FzZSBkZXN0cm95KCkgaXMgY2FsbGVkIHdpdGhpbiBjYWxsYmFja3NcXG5cXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIC8vIGlmIHRoaXMgaXMgYSBkdXBsZXggc3RyZWFtIG1hcmsgdGhlIHdyaXRhYmxlIHBhcnQgYXMgZGVzdHJveWVkIGFzIHdlbGxcXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcXG4gIH1cXG5cXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgaWYgKCFjYiAmJiBlcnIpIHtcXG4gICAgICBwbmEubmV4dFRpY2soZW1pdEVycm9yTlQsIF90aGlzLCBlcnIpO1xcbiAgICAgIGlmIChfdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xcbiAgICAgICAgX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAoY2IpIHtcXG4gICAgICBjYihlcnIpO1xcbiAgICB9XFxuICB9KTtcXG5cXG4gIHJldHVybiB0aGlzO1xcbn1cXG5cXG5mdW5jdGlvbiB1bmRlc3Ryb3koKSB7XFxuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQgPSBmYWxzZTtcXG4gIH1cXG5cXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XFxuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmcgPSBmYWxzZTtcXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZCA9IGZhbHNlO1xcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcXG4gIHNlbGYuZW1pdCgnZXJyb3InLCBlcnIpO1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IHtcXG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXFxuICB1bmRlc3Ryb3k6IHVuZGVzdHJveVxcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12WkdWemRISnZlUzVxY3o5aU5XTXpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZoT3p0QlFVVmlPenRCUVVWQkxGVkJRVlVzYlVKQlFVOHNRMEZCUXl3d1JVRkJjMEk3UVVGRGVFTTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFc1IwRkJSenM3UVVGRlNEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OWtaWE4wY205NUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc0dktqeHlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnY0c1aElEMGdjbVZ4ZFdseVpTZ25jSEp2WTJWemN5MXVaWGgwYVdOckxXRnlaM01uS1R0Y2JpOHFQQzl5WlhCc1lXTmxiV1Z1ZEQ0cUwxeHVYRzR2THlCMWJtUnZZM1Z0Wlc1MFpXUWdZMklvS1NCQlVFa3NJRzVsWldSbFpDQm1iM0lnWTI5eVpTd2dibTkwSUdadmNpQndkV0pzYVdNZ1FWQkpYRzVtZFc1amRHbHZiaUJrWlhOMGNtOTVLR1Z5Y2l3Z1kySXBJSHRjYmlBZ2RtRnlJRjkwYUdseklEMGdkR2hwY3p0Y2JseHVJQ0IyWVhJZ2NtVmhaR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5eVpXRmtZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVJQ0IyWVhJZ2QzSnBkR0ZpYkdWRVpYTjBjbTk1WldRZ1BTQjBhR2x6TGw5M2NtbDBZV0pzWlZOMFlYUmxJQ1ltSUhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpHVnpkSEp2ZVdWa08xeHVYRzRnSUdsbUlDaHlaV0ZrWVdKc1pVUmxjM1J5YjNsbFpDQjhmQ0IzY21sMFlXSnNaVVJsYzNSeWIzbGxaQ2tnZTF4dUlDQWdJR2xtSUNoallpa2dlMXh1SUNBZ0lDQWdZMklvWlhKeUtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHVnljaUFtSmlBb0lYUm9hWE11WDNkeWFYUmhZbXhsVTNSaGRHVWdmSHdnSVhSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVdVpYSnliM0pGYldsMGRHVmtLU2tnZTF4dUlDQWdJQ0FnY0c1aExtNWxlSFJVYVdOcktHVnRhWFJGY25KdmNrNVVMQ0IwYUdsekxDQmxjbklwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUM4dklIZGxJSE5sZENCa1pYTjBjbTk1WldRZ2RHOGdkSEoxWlNCaVpXWnZjbVVnWm1seWFXNW5JR1Z5Y205eUlHTmhiR3hpWVdOcmN5QnBiaUJ2Y21SbGNseHVJQ0F2THlCMGJ5QnRZV3RsSUdsMElISmxMV1Z1ZEhKaGJtTmxJSE5oWm1VZ2FXNGdZMkZ6WlNCa1pYTjBjbTk1S0NrZ2FYTWdZMkZzYkdWa0lIZHBkR2hwYmlCallXeHNZbUZqYTNOY2JseHVJQ0JwWmlBb2RHaHBjeTVmY21WaFpHRmliR1ZUZEdGMFpTa2dlMXh1SUNBZ0lIUm9hWE11WDNKbFlXUmhZbXhsVTNSaGRHVXVaR1Z6ZEhKdmVXVmtJRDBnZEhKMVpUdGNiaUFnZlZ4dVhHNGdJQzh2SUdsbUlIUm9hWE1nYVhNZ1lTQmtkWEJzWlhnZ2MzUnlaV0Z0SUcxaGNtc2dkR2hsSUhkeWFYUmhZbXhsSUhCaGNuUWdZWE1nWkdWemRISnZlV1ZrSUdGeklIZGxiR3hjYmlBZ2FXWWdLSFJvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1VwSUh0Y2JpQWdJQ0IwYUdsekxsOTNjbWwwWVdKc1pWTjBZWFJsTG1SbGMzUnliM2xsWkNBOUlIUnlkV1U3WEc0Z0lIMWNibHh1SUNCMGFHbHpMbDlrWlhOMGNtOTVLR1Z5Y2lCOGZDQnVkV3hzTENCbWRXNWpkR2x2YmlBb1pYSnlLU0I3WEc0Z0lDQWdhV1lnS0NGallpQW1KaUJsY25JcElIdGNiaUFnSUNBZ0lIQnVZUzV1WlhoMFZHbGpheWhsYldsMFJYSnliM0pPVkN3Z1gzUm9hWE1zSUdWeWNpazdYRzRnSUNBZ0lDQnBaaUFvWDNSb2FYTXVYM2R5YVhSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNBZ0lDQWdYM1JvYVhNdVgzZHlhWFJoWW14bFUzUmhkR1V1WlhKeWIzSkZiV2wwZEdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0dOaUtTQjdYRzRnSUNBZ0lDQmpZaWhsY25JcE8xeHVJQ0FnSUgxY2JpQWdmU2s3WEc1Y2JpQWdjbVYwZFhKdUlIUm9hWE03WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ1WkdWemRISnZlU2dwSUh0Y2JpQWdhV1lnS0hSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVcElIdGNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtUmxjM1J5YjNsbFpDQTlJR1poYkhObE8xeHVJQ0FnSUhSb2FYTXVYM0psWVdSaFlteGxVM1JoZEdVdWNtVmhaR2x1WnlBOUlHWmhiSE5sTzF4dUlDQWdJSFJvYVhNdVgzSmxZV1JoWW14bFUzUmhkR1V1Wlc1a1pXUWdQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDl5WldGa1lXSnNaVk4wWVhSbExtVnVaRVZ0YVhSMFpXUWdQU0JtWVd4elpUdGNiaUFnZlZ4dVhHNGdJR2xtSUNoMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbEtTQjdYRzRnSUNBZ2RHaHBjeTVmZDNKcGRHRmliR1ZUZEdGMFpTNWtaWE4wY205NVpXUWdQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtVnVaR1ZrSUQwZ1ptRnNjMlU3WEc0Z0lDQWdkR2hwY3k1ZmQzSnBkR0ZpYkdWVGRHRjBaUzVsYm1ScGJtY2dQU0JtWVd4elpUdGNiaUFnSUNCMGFHbHpMbDkzY21sMFlXSnNaVk4wWVhSbExtWnBibWx6YUdWa0lEMGdabUZzYzJVN1hHNGdJQ0FnZEdocGN5NWZkM0pwZEdGaWJHVlRkR0YwWlM1bGNuSnZja1Z0YVhSMFpXUWdQU0JtWVd4elpUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJsYldsMFJYSnliM0pPVkNoelpXeG1MQ0JsY25JcElIdGNiaUFnYzJWc1ppNWxiV2wwS0NkbGNuSnZjaWNzSUdWeWNpazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ2UxeHVJQ0JrWlhOMGNtOTVPaUJrWlhOMGNtOTVMRnh1SUNCMWJtUmxjM1J5YjNrNklIVnVaR1Z6ZEhKdmVWeHVmVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtLWJyb3dzZXIuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIm1vZHVsZS5leHBvcnRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZXZlbnRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzXFxcIikuRXZlbnRFbWl0dGVyO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwybHVkR1Z5Ym1Gc0wzTjBjbVZoYlhNdmMzUnlaV0Z0TFdKeWIzZHpaWEl1YW5NL09EVTVOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4cFFrRkJhVUlzYlVKQlFVOHNRMEZCUXl3clEwRkJVU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZjM1J5WldGdExXSnliM2R6WlhJdWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSjJWMlpXNTBjeWNwTGtWMlpXNTBSVzFwZEhSbGNqdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxcIikuUGFzc1Rocm91Z2hcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmNHRnpjM1JvY205MVoyZ3Vhbk0vTkdJek1pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hwUWtGQmFVSXNiVUpCUVU4c1EwRkJReXh6UlVGQldTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2Y0dGemMzUm9jbTkxWjJndWFuTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKdGIyUjFiR1V1Wlhod2IzSjBjeUE5SUhKbGNYVnBjbVVvSnk0dmNtVmhaR0ZpYkdVbktTNVFZWE56VkdoeWIzVm5hRnh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcXFwiKTtcXG5leHBvcnRzLlN0cmVhbSA9IGV4cG9ydHM7XFxuZXhwb3J0cy5SZWFkYWJsZSA9IGV4cG9ydHM7XFxuZXhwb3J0cy5Xcml0YWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbmV4cG9ydHMuRHVwbGV4ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9saWIvX3N0cmVhbV9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9kdXBsZXguanNcXFwiKTtcXG5leHBvcnRzLlRyYW5zZm9ybSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXFxcIik7XFxuZXhwb3J0cy5QYXNzVGhyb3VnaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fcGFzc3Rocm91Z2guanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2Y21WaFpHRmliR1V0WW5KdmQzTmxjaTVxY3o4Mk9XTm1JbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTERKQ1FVRXlRaXh0UWtGQlR5eERRVUZETEhsR1FVRXlRanRCUVVNNVJEdEJRVU5CTzBGQlEwRXNiVUpCUVcxQ0xHMUNRVUZQTEVOQlFVTXNlVVpCUVRKQ08wRkJRM1JFTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhGR1FVRjVRanRCUVVOc1JDeHZRa0ZCYjBJc2JVSkJRVThzUTBGQlF5d3lSa0ZCTkVJN1FVRkRlRVFzYzBKQlFYTkNMRzFDUVVGUExFTkJRVU1zSzBaQlFUaENJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5eVpXRmtZV0pzWlMxaWNtOTNjMlZ5TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBjeUE5SUcxdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZYM04wY21WaGJWOXlaV0ZrWVdKc1pTNXFjeWNwTzF4dVpYaHdiM0owY3k1VGRISmxZVzBnUFNCbGVIQnZjblJ6TzF4dVpYaHdiM0owY3k1U1pXRmtZV0pzWlNBOUlHVjRjRzl5ZEhNN1hHNWxlSEJ2Y25SekxsZHlhWFJoWW14bElEMGdjbVZ4ZFdseVpTZ25MaTlzYVdJdlgzTjBjbVZoYlY5M2NtbDBZV0pzWlM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVFZFhCc1pYZ2dQU0J5WlhGMWFYSmxLQ2N1TDJ4cFlpOWZjM1J5WldGdFgyUjFjR3hsZUM1cWN5Y3BPMXh1Wlhod2IzSjBjeTVVY21GdWMyWnZjbTBnUFNCeVpYRjFhWEpsS0NjdUwyeHBZaTlmYzNSeVpXRnRYM1J5WVc1elptOXliUzVxY3ljcE8xeHVaWGh3YjNKMGN5NVFZWE56VkdoeWIzVm5hQ0E5SUhKbGNYVnBjbVVvSnk0dmJHbGlMMTl6ZEhKbFlXMWZjR0Z6YzNSb2NtOTFaMmd1YW5NbktUdGNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3RyYW5zZm9ybS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vcmVhZGFibGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1icm93c2VyLmpzXFxcIikuVHJhbnNmb3JtXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZkSEpoYm5ObWIzSnRMbXB6UHpZeE9HSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzYVVKQlFXbENMRzFDUVVGUExFTkJRVU1zYzBWQlFWa2lMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDNSeVlXNXpabTl5YlM1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5eVpXRmtZV0pzWlNjcExsUnlZVzV6Wm05eWJWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS90cmFuc2Zvcm0uanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS93cml0YWJsZS1icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS93cml0YWJsZS1icm93c2VyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbGliL19zdHJlYW1fd3JpdGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qc1xcXCIpO1xcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2ZDNKcGRHRmliR1V0WW5KdmQzTmxjaTVxY3o5a01XSTJJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhsR1FVRXlRaUlzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmQzSnBkR0ZpYkdVdFluSnZkM05sY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnY21WeGRXbHlaU2duTGk5c2FXSXZYM04wY21WaGJWOTNjbWwwWVdKc1pTNXFjeWNwTzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLWJyb3dzZXIuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3JpcGVtZDE2MC9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvcmlwZW1kMTYwL2luZGV4LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIEhhc2hCYXNlID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaGFzaC1iYXNlICovIFxcXCIuL25vZGVfbW9kdWxlcy9oYXNoLWJhc2UvaW5kZXguanNcXFwiKVxcblxcbnZhciBBUlJBWTE2ID0gbmV3IEFycmF5KDE2KVxcblxcbnZhciB6bCA9IFtcXG4gIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsXFxuICA3LCA0LCAxMywgMSwgMTAsIDYsIDE1LCAzLCAxMiwgMCwgOSwgNSwgMiwgMTQsIDExLCA4LFxcbiAgMywgMTAsIDE0LCA0LCA5LCAxNSwgOCwgMSwgMiwgNywgMCwgNiwgMTMsIDExLCA1LCAxMixcXG4gIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsXFxuICA0LCAwLCA1LCA5LCA3LCAxMiwgMiwgMTAsIDE0LCAxLCAzLCA4LCAxMSwgNiwgMTUsIDEzXFxuXVxcblxcbnZhciB6ciA9IFtcXG4gIDUsIDE0LCA3LCAwLCA5LCAyLCAxMSwgNCwgMTMsIDYsIDE1LCA4LCAxLCAxMCwgMywgMTIsXFxuICA2LCAxMSwgMywgNywgMCwgMTMsIDUsIDEwLCAxNCwgMTUsIDgsIDEyLCA0LCA5LCAxLCAyLFxcbiAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcXG4gIDgsIDYsIDQsIDEsIDMsIDExLCAxNSwgMCwgNSwgMTIsIDIsIDEzLCA5LCA3LCAxMCwgMTQsXFxuICAxMiwgMTUsIDEwLCA0LCAxLCA1LCA4LCA3LCA2LCAyLCAxMywgMTQsIDAsIDMsIDksIDExXFxuXVxcblxcbnZhciBzbCA9IFtcXG4gIDExLCAxNCwgMTUsIDEyLCA1LCA4LCA3LCA5LCAxMSwgMTMsIDE0LCAxNSwgNiwgNywgOSwgOCxcXG4gIDcsIDYsIDgsIDEzLCAxMSwgOSwgNywgMTUsIDcsIDEyLCAxNSwgOSwgMTEsIDcsIDEzLCAxMixcXG4gIDExLCAxMywgNiwgNywgMTQsIDksIDEzLCAxNSwgMTQsIDgsIDEzLCA2LCA1LCAxMiwgNywgNSxcXG4gIDExLCAxMiwgMTQsIDE1LCAxNCwgMTUsIDksIDgsIDksIDE0LCA1LCA2LCA4LCA2LCA1LCAxMixcXG4gIDksIDE1LCA1LCAxMSwgNiwgOCwgMTMsIDEyLCA1LCAxMiwgMTMsIDE0LCAxMSwgOCwgNSwgNlxcbl1cXG5cXG52YXIgc3IgPSBbXFxuICA4LCA5LCA5LCAxMSwgMTMsIDE1LCAxNSwgNSwgNywgNywgOCwgMTEsIDE0LCAxNCwgMTIsIDYsXFxuICA5LCAxMywgMTUsIDcsIDEyLCA4LCA5LCAxMSwgNywgNywgMTIsIDcsIDYsIDE1LCAxMywgMTEsXFxuICA5LCA3LCAxNSwgMTEsIDgsIDYsIDYsIDE0LCAxMiwgMTMsIDUsIDE0LCAxMywgMTMsIDcsIDUsXFxuICAxNSwgNSwgOCwgMTEsIDE0LCAxNCwgNiwgMTQsIDYsIDksIDEyLCA5LCAxMiwgNSwgMTUsIDgsXFxuICA4LCA1LCAxMiwgOSwgMTIsIDUsIDE0LCA2LCA4LCAxMywgNiwgNSwgMTUsIDEzLCAxMSwgMTFcXG5dXFxuXFxudmFyIGhsID0gWzB4MDAwMDAwMDAsIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMsIDB4YTk1M2ZkNGVdXFxudmFyIGhyID0gWzB4NTBhMjhiZTYsIDB4NWM0ZGQxMjQsIDB4NmQ3MDNlZjMsIDB4N2E2ZDc2ZTksIDB4MDAwMDAwMDBdXFxuXFxuZnVuY3Rpb24gUklQRU1EMTYwICgpIHtcXG4gIEhhc2hCYXNlLmNhbGwodGhpcywgNjQpXFxuXFxuICAvLyBzdGF0ZVxcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcXG4gIHRoaXMuX2IgPSAweGVmY2RhYjg5XFxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcXG4gIHRoaXMuX2UgPSAweGMzZDJlMWYwXFxufVxcblxcbmluaGVyaXRzKFJJUEVNRDE2MCwgSGFzaEJhc2UpXFxuXFxuUklQRU1EMTYwLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIHdvcmRzID0gQVJSQVkxNlxcbiAgZm9yICh2YXIgaiA9IDA7IGogPCAxNjsgKytqKSB3b3Jkc1tqXSA9IHRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKGogKiA0KVxcblxcbiAgdmFyIGFsID0gdGhpcy5fYSB8IDBcXG4gIHZhciBibCA9IHRoaXMuX2IgfCAwXFxuICB2YXIgY2wgPSB0aGlzLl9jIHwgMFxcbiAgdmFyIGRsID0gdGhpcy5fZCB8IDBcXG4gIHZhciBlbCA9IHRoaXMuX2UgfCAwXFxuXFxuICB2YXIgYXIgPSB0aGlzLl9hIHwgMFxcbiAgdmFyIGJyID0gdGhpcy5fYiB8IDBcXG4gIHZhciBjciA9IHRoaXMuX2MgfCAwXFxuICB2YXIgZHIgPSB0aGlzLl9kIHwgMFxcbiAgdmFyIGVyID0gdGhpcy5fZSB8IDBcXG5cXG4gIC8vIGNvbXB1dGF0aW9uXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDgwOyBpICs9IDEpIHtcXG4gICAgdmFyIHRsXFxuICAgIHZhciB0clxcbiAgICBpZiAoaSA8IDE2KSB7XFxuICAgICAgdGwgPSBmbjEoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzBdLCBzbFtpXSlcXG4gICAgICB0ciA9IGZuNShhciwgYnIsIGNyLCBkciwgZXIsIHdvcmRzW3pyW2ldXSwgaHJbMF0sIHNyW2ldKVxcbiAgICB9IGVsc2UgaWYgKGkgPCAzMikge1xcbiAgICAgIHRsID0gZm4yKGFsLCBibCwgY2wsIGRsLCBlbCwgd29yZHNbemxbaV1dLCBobFsxXSwgc2xbaV0pXFxuICAgICAgdHIgPSBmbjQoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzFdLCBzcltpXSlcXG4gICAgfSBlbHNlIGlmIChpIDwgNDgpIHtcXG4gICAgICB0bCA9IGZuMyhhbCwgYmwsIGNsLCBkbCwgZWwsIHdvcmRzW3psW2ldXSwgaGxbMl0sIHNsW2ldKVxcbiAgICAgIHRyID0gZm4zKGFyLCBiciwgY3IsIGRyLCBlciwgd29yZHNbenJbaV1dLCBoclsyXSwgc3JbaV0pXFxuICAgIH0gZWxzZSBpZiAoaSA8IDY0KSB7XFxuICAgICAgdGwgPSBmbjQoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzNdLCBzbFtpXSlcXG4gICAgICB0ciA9IGZuMihhciwgYnIsIGNyLCBkciwgZXIsIHdvcmRzW3pyW2ldXSwgaHJbM10sIHNyW2ldKVxcbiAgICB9IGVsc2UgeyAvLyBpZiAoaTw4MCkge1xcbiAgICAgIHRsID0gZm41KGFsLCBibCwgY2wsIGRsLCBlbCwgd29yZHNbemxbaV1dLCBobFs0XSwgc2xbaV0pXFxuICAgICAgdHIgPSBmbjEoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzRdLCBzcltpXSlcXG4gICAgfVxcblxcbiAgICBhbCA9IGVsXFxuICAgIGVsID0gZGxcXG4gICAgZGwgPSByb3RsKGNsLCAxMClcXG4gICAgY2wgPSBibFxcbiAgICBibCA9IHRsXFxuXFxuICAgIGFyID0gZXJcXG4gICAgZXIgPSBkclxcbiAgICBkciA9IHJvdGwoY3IsIDEwKVxcbiAgICBjciA9IGJyXFxuICAgIGJyID0gdHJcXG4gIH1cXG5cXG4gIC8vIHVwZGF0ZSBzdGF0ZVxcbiAgdmFyIHQgPSAodGhpcy5fYiArIGNsICsgZHIpIHwgMFxcbiAgdGhpcy5fYiA9ICh0aGlzLl9jICsgZGwgKyBlcikgfCAwXFxuICB0aGlzLl9jID0gKHRoaXMuX2QgKyBlbCArIGFyKSB8IDBcXG4gIHRoaXMuX2QgPSAodGhpcy5fZSArIGFsICsgYnIpIHwgMFxcbiAgdGhpcy5fZSA9ICh0aGlzLl9hICsgYmwgKyBjcikgfCAwXFxuICB0aGlzLl9hID0gdFxcbn1cXG5cXG5SSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XFxuICAvLyBjcmVhdGUgcGFkZGluZyBhbmQgaGFuZGxlIGJsb2Nrc1xcbiAgdGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSAweDgwXFxuICBpZiAodGhpcy5fYmxvY2tPZmZzZXQgPiA1Nikge1xcbiAgICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA2NClcXG4gICAgdGhpcy5fdXBkYXRlKClcXG4gICAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXFxuICB9XFxuXFxuICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLCA1NilcXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLCA2MClcXG4gIHRoaXMuX3VwZGF0ZSgpXFxuXFxuICAvLyBwcm9kdWNlIHJlc3VsdFxcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyA/IEJ1ZmZlci5hbGxvYygyMCkgOiBuZXcgQnVmZmVyKDIwKVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9hLCAwKVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9iLCA0KVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9jLCA4KVxcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9kLCAxMilcXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fZSwgMTYpXFxuICByZXR1cm4gYnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcXG4gIHJldHVybiAoeCA8PCBuKSB8ICh4ID4+PiAoMzIgLSBuKSlcXG59XFxuXFxuZnVuY3Rpb24gZm4xIChhLCBiLCBjLCBkLCBlLCBtLCBrLCBzKSB7XFxuICByZXR1cm4gKHJvdGwoKGEgKyAoYiBeIGMgXiBkKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuMiAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgYykgfCAoKH5iKSAmIGQpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuMyAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChiIHwgKH5jKSkgXiBkKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuNCAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgZCkgfCAoYyAmICh+ZCkpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbmZ1bmN0aW9uIGZuNSAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xcbiAgcmV0dXJuIChyb3RsKChhICsgKGIgXiAoYyB8ICh+ZCkpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gUklQRU1EMTYwXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl5YVhCbGJXUXhOakF2YVc1a1pYZ3Vhbk0vWXpjek5DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJXVHRCUVVOYUxHRkJRV0VzYlVKQlFVOHNRMEZCUXl3NFEwRkJVVHRCUVVNM1FpeGxRVUZsTEcxQ1FVRlBMRU5CUVVNc05rUkJRVlU3UVVGRGFrTXNaVUZCWlN4dFFrRkJUeXhEUVVGRExHOUVRVUZYT3p0QlFVVnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMR2xDUVVGcFFpeFJRVUZST3p0QlFVVjZRanRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4cFFrRkJhVUlzVVVGQlVUdEJRVU42UWp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNTMEZCU3l4UFFVRlBPMEZCUTFvN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmNtbHdaVzFrTVRZd0wybHVaR1Y0TG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpSjNWelpTQnpkSEpwWTNRblhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duWW5WbVptVnlKeWt1UW5WbVptVnlYRzUyWVhJZ2FXNW9aWEpwZEhNZ1BTQnlaWEYxYVhKbEtDZHBibWhsY21sMGN5Y3BYRzUyWVhJZ1NHRnphRUpoYzJVZ1BTQnlaWEYxYVhKbEtDZG9ZWE5vTFdKaGMyVW5LVnh1WEc1MllYSWdRVkpTUVZreE5pQTlJRzVsZHlCQmNuSmhlU2d4TmlsY2JseHVkbUZ5SUhwc0lEMGdXMXh1SUNBd0xDQXhMQ0F5TENBekxDQTBMQ0ExTENBMkxDQTNMQ0E0TENBNUxDQXhNQ3dnTVRFc0lERXlMQ0F4TXl3Z01UUXNJREUxTEZ4dUlDQTNMQ0EwTENBeE15d2dNU3dnTVRBc0lEWXNJREUxTENBekxDQXhNaXdnTUN3Z09Td2dOU3dnTWl3Z01UUXNJREV4TENBNExGeHVJQ0F6TENBeE1Dd2dNVFFzSURRc0lEa3NJREUxTENBNExDQXhMQ0F5TENBM0xDQXdMQ0EyTENBeE15d2dNVEVzSURVc0lERXlMRnh1SUNBeExDQTVMQ0F4TVN3Z01UQXNJREFzSURnc0lERXlMQ0EwTENBeE15d2dNeXdnTnl3Z01UVXNJREUwTENBMUxDQTJMQ0F5TEZ4dUlDQTBMQ0F3TENBMUxDQTVMQ0EzTENBeE1pd2dNaXdnTVRBc0lERTBMQ0F4TENBekxDQTRMQ0F4TVN3Z05pd2dNVFVzSURFelhHNWRYRzVjYm5aaGNpQjZjaUE5SUZ0Y2JpQWdOU3dnTVRRc0lEY3NJREFzSURrc0lESXNJREV4TENBMExDQXhNeXdnTml3Z01UVXNJRGdzSURFc0lERXdMQ0F6TENBeE1peGNiaUFnTml3Z01URXNJRE1zSURjc0lEQXNJREV6TENBMUxDQXhNQ3dnTVRRc0lERTFMQ0E0TENBeE1pd2dOQ3dnT1N3Z01Td2dNaXhjYmlBZ01UVXNJRFVzSURFc0lETXNJRGNzSURFMExDQTJMQ0E1TENBeE1Td2dPQ3dnTVRJc0lESXNJREV3TENBd0xDQTBMQ0F4TXl4Y2JpQWdPQ3dnTml3Z05Dd2dNU3dnTXl3Z01URXNJREUxTENBd0xDQTFMQ0F4TWl3Z01pd2dNVE1zSURrc0lEY3NJREV3TENBeE5DeGNiaUFnTVRJc0lERTFMQ0F4TUN3Z05Dd2dNU3dnTlN3Z09Dd2dOeXdnTml3Z01pd2dNVE1zSURFMExDQXdMQ0F6TENBNUxDQXhNVnh1WFZ4dVhHNTJZWElnYzJ3Z1BTQmJYRzRnSURFeExDQXhOQ3dnTVRVc0lERXlMQ0ExTENBNExDQTNMQ0E1TENBeE1Td2dNVE1zSURFMExDQXhOU3dnTml3Z055d2dPU3dnT0N4Y2JpQWdOeXdnTml3Z09Dd2dNVE1zSURFeExDQTVMQ0EzTENBeE5Td2dOeXdnTVRJc0lERTFMQ0E1TENBeE1Td2dOeXdnTVRNc0lERXlMRnh1SUNBeE1Td2dNVE1zSURZc0lEY3NJREUwTENBNUxDQXhNeXdnTVRVc0lERTBMQ0E0TENBeE15d2dOaXdnTlN3Z01USXNJRGNzSURVc1hHNGdJREV4TENBeE1pd2dNVFFzSURFMUxDQXhOQ3dnTVRVc0lEa3NJRGdzSURrc0lERTBMQ0ExTENBMkxDQTRMQ0EyTENBMUxDQXhNaXhjYmlBZ09Td2dNVFVzSURVc0lERXhMQ0EyTENBNExDQXhNeXdnTVRJc0lEVXNJREV5TENBeE15d2dNVFFzSURFeExDQTRMQ0ExTENBMlhHNWRYRzVjYm5aaGNpQnpjaUE5SUZ0Y2JpQWdPQ3dnT1N3Z09Td2dNVEVzSURFekxDQXhOU3dnTVRVc0lEVXNJRGNzSURjc0lEZ3NJREV4TENBeE5Dd2dNVFFzSURFeUxDQTJMRnh1SUNBNUxDQXhNeXdnTVRVc0lEY3NJREV5TENBNExDQTVMQ0F4TVN3Z055d2dOeXdnTVRJc0lEY3NJRFlzSURFMUxDQXhNeXdnTVRFc1hHNGdJRGtzSURjc0lERTFMQ0F4TVN3Z09Dd2dOaXdnTml3Z01UUXNJREV5TENBeE15d2dOU3dnTVRRc0lERXpMQ0F4TXl3Z055d2dOU3hjYmlBZ01UVXNJRFVzSURnc0lERXhMQ0F4TkN3Z01UUXNJRFlzSURFMExDQTJMQ0E1TENBeE1pd2dPU3dnTVRJc0lEVXNJREUxTENBNExGeHVJQ0E0TENBMUxDQXhNaXdnT1N3Z01USXNJRFVzSURFMExDQTJMQ0E0TENBeE15d2dOaXdnTlN3Z01UVXNJREV6TENBeE1Td2dNVEZjYmwxY2JseHVkbUZ5SUdoc0lEMGdXekI0TURBd01EQXdNREFzSURCNE5XRTRNamM1T1Rrc0lEQjRObVZrT1dWaVlURXNJREI0T0dZeFltSmpaR01zSURCNFlUazFNMlprTkdWZFhHNTJZWElnYUhJZ1BTQmJNSGcxTUdFeU9HSmxOaXdnTUhnMVl6UmtaREV5TkN3Z01IZzJaRGN3TTJWbU15d2dNSGczWVRaa056WmxPU3dnTUhnd01EQXdNREF3TUYxY2JseHVablZ1WTNScGIyNGdVa2xRUlUxRU1UWXdJQ2dwSUh0Y2JpQWdTR0Z6YUVKaGMyVXVZMkZzYkNoMGFHbHpMQ0EyTkNsY2JseHVJQ0F2THlCemRHRjBaVnh1SUNCMGFHbHpMbDloSUQwZ01IZzJOelExTWpNd01WeHVJQ0IwYUdsekxsOWlJRDBnTUhobFptTmtZV0k0T1Z4dUlDQjBhR2x6TGw5aklEMGdNSGc1T0dKaFpHTm1aVnh1SUNCMGFHbHpMbDlrSUQwZ01IZ3hNRE15TlRRM05seHVJQ0IwYUdsekxsOWxJRDBnTUhoak0yUXlaVEZtTUZ4dWZWeHVYRzVwYm1obGNtbDBjeWhTU1ZCRlRVUXhOakFzSUVoaGMyaENZWE5sS1Z4dVhHNVNTVkJGVFVReE5qQXVjSEp2ZEc5MGVYQmxMbDkxY0dSaGRHVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCM2IzSmtjeUE5SUVGU1VrRlpNVFpjYmlBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQXhOanNnS3l0cUtTQjNiM0prYzF0cVhTQTlJSFJvYVhNdVgySnNiMk5yTG5KbFlXUkpiblF6TWt4RktHb2dLaUEwS1Z4dVhHNGdJSFpoY2lCaGJDQTlJSFJvYVhNdVgyRWdmQ0F3WEc0Z0lIWmhjaUJpYkNBOUlIUm9hWE11WDJJZ2ZDQXdYRzRnSUhaaGNpQmpiQ0E5SUhSb2FYTXVYMk1nZkNBd1hHNGdJSFpoY2lCa2JDQTlJSFJvYVhNdVgyUWdmQ0F3WEc0Z0lIWmhjaUJsYkNBOUlIUm9hWE11WDJVZ2ZDQXdYRzVjYmlBZ2RtRnlJR0Z5SUQwZ2RHaHBjeTVmWVNCOElEQmNiaUFnZG1GeUlHSnlJRDBnZEdocGN5NWZZaUI4SURCY2JpQWdkbUZ5SUdOeUlEMGdkR2hwY3k1Zll5QjhJREJjYmlBZ2RtRnlJR1J5SUQwZ2RHaHBjeTVmWkNCOElEQmNiaUFnZG1GeUlHVnlJRDBnZEdocGN5NWZaU0I4SURCY2JseHVJQ0F2THlCamIyMXdkWFJoZEdsdmJseHVJQ0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SURnd095QnBJQ3M5SURFcElIdGNiaUFnSUNCMllYSWdkR3hjYmlBZ0lDQjJZWElnZEhKY2JpQWdJQ0JwWmlBb2FTQThJREUyS1NCN1hHNGdJQ0FnSUNCMGJDQTlJR1p1TVNoaGJDd2dZbXdzSUdOc0xDQmtiQ3dnWld3c0lIZHZjbVJ6VzNwc1cybGRYU3dnYUd4Yk1GMHNJSE5zVzJsZEtWeHVJQ0FnSUNBZ2RISWdQU0JtYmpVb1lYSXNJR0p5TENCamNpd2daSElzSUdWeUxDQjNiM0prYzF0NmNsdHBYVjBzSUdoeVd6QmRMQ0J6Y2x0cFhTbGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHa2dQQ0F6TWlrZ2UxeHVJQ0FnSUNBZ2RHd2dQU0JtYmpJb1lXd3NJR0pzTENCamJDd2daR3dzSUdWc0xDQjNiM0prYzF0NmJGdHBYVjBzSUdoc1d6RmRMQ0J6YkZ0cFhTbGNiaUFnSUNBZ0lIUnlJRDBnWm00MEtHRnlMQ0JpY2l3Z1kzSXNJR1J5TENCbGNpd2dkMjl5WkhOYmVuSmJhVjFkTENCb2Nsc3hYU3dnYzNKYmFWMHBYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaHBJRHdnTkRncElIdGNiaUFnSUNBZ0lIUnNJRDBnWm00ektHRnNMQ0JpYkN3Z1kyd3NJR1JzTENCbGJDd2dkMjl5WkhOYmVteGJhVjFkTENCb2JGc3lYU3dnYzJ4YmFWMHBYRzRnSUNBZ0lDQjBjaUE5SUdadU15aGhjaXdnWW5Jc0lHTnlMQ0JrY2l3Z1pYSXNJSGR2Y21SelczcHlXMmxkWFN3Z2FISmJNbDBzSUhOeVcybGRLVnh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hU0E4SURZMEtTQjdYRzRnSUNBZ0lDQjBiQ0E5SUdadU5DaGhiQ3dnWW13c0lHTnNMQ0JrYkN3Z1pXd3NJSGR2Y21SelczcHNXMmxkWFN3Z2FHeGJNMTBzSUhOc1cybGRLVnh1SUNBZ0lDQWdkSElnUFNCbWJqSW9ZWElzSUdKeUxDQmpjaXdnWkhJc0lHVnlMQ0IzYjNKa2MxdDZjbHRwWFYwc0lHaHlXek5kTENCemNsdHBYU2xjYmlBZ0lDQjlJR1ZzYzJVZ2V5QXZMeUJwWmlBb2FUdzRNQ2tnZTF4dUlDQWdJQ0FnZEd3Z1BTQm1ialVvWVd3c0lHSnNMQ0JqYkN3Z1pHd3NJR1ZzTENCM2IzSmtjMXQ2YkZ0cFhWMHNJR2hzV3pSZExDQnpiRnRwWFNsY2JpQWdJQ0FnSUhSeUlEMGdabTR4S0dGeUxDQmljaXdnWTNJc0lHUnlMQ0JsY2l3Z2QyOXlaSE5iZW5KYmFWMWRMQ0JvY2xzMFhTd2djM0piYVYwcFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVd3Z1BTQmxiRnh1SUNBZ0lHVnNJRDBnWkd4Y2JpQWdJQ0JrYkNBOUlISnZkR3dvWTJ3c0lERXdLVnh1SUNBZ0lHTnNJRDBnWW14Y2JpQWdJQ0JpYkNBOUlIUnNYRzVjYmlBZ0lDQmhjaUE5SUdWeVhHNGdJQ0FnWlhJZ1BTQmtjbHh1SUNBZ0lHUnlJRDBnY205MGJDaGpjaXdnTVRBcFhHNGdJQ0FnWTNJZ1BTQmljbHh1SUNBZ0lHSnlJRDBnZEhKY2JpQWdmVnh1WEc0Z0lDOHZJSFZ3WkdGMFpTQnpkR0YwWlZ4dUlDQjJZWElnZENBOUlDaDBhR2x6TGw5aUlDc2dZMndnS3lCa2Npa2dmQ0F3WEc0Z0lIUm9hWE11WDJJZ1BTQW9kR2hwY3k1Zll5QXJJR1JzSUNzZ1pYSXBJSHdnTUZ4dUlDQjBhR2x6TGw5aklEMGdLSFJvYVhNdVgyUWdLeUJsYkNBcklHRnlLU0I4SURCY2JpQWdkR2hwY3k1ZlpDQTlJQ2gwYUdsekxsOWxJQ3NnWVd3Z0t5QmljaWtnZkNBd1hHNGdJSFJvYVhNdVgyVWdQU0FvZEdocGN5NWZZU0FySUdKc0lDc2dZM0lwSUh3Z01GeHVJQ0IwYUdsekxsOWhJRDBnZEZ4dWZWeHVYRzVTU1ZCRlRVUXhOakF1Y0hKdmRHOTBlWEJsTGw5a2FXZGxjM1FnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUM4dklHTnlaV0YwWlNCd1lXUmthVzVuSUdGdVpDQm9ZVzVrYkdVZ1lteHZZMnR6WEc0Z0lIUm9hWE11WDJKc2IyTnJXM1JvYVhNdVgySnNiMk5yVDJabWMyVjBLeXRkSUQwZ01IZzRNRnh1SUNCcFppQW9kR2hwY3k1ZllteHZZMnRQWm1aelpYUWdQaUExTmlrZ2UxeHVJQ0FnSUhSb2FYTXVYMkpzYjJOckxtWnBiR3dvTUN3Z2RHaHBjeTVmWW14dlkydFBabVp6WlhRc0lEWTBLVnh1SUNBZ0lIUm9hWE11WDNWd1pHRjBaU2dwWEc0Z0lDQWdkR2hwY3k1ZllteHZZMnRQWm1aelpYUWdQU0F3WEc0Z0lIMWNibHh1SUNCMGFHbHpMbDlpYkc5amF5NW1hV3hzS0RBc0lIUm9hWE11WDJKc2IyTnJUMlptYzJWMExDQTFOaWxjYmlBZ2RHaHBjeTVmWW14dlkyc3VkM0pwZEdWVlNXNTBNekpNUlNoMGFHbHpMbDlzWlc1bmRHaGJNRjBzSURVMktWeHVJQ0IwYUdsekxsOWliRzlqYXk1M2NtbDBaVlZKYm5Rek1reEZLSFJvYVhNdVgyeGxibWQwYUZzeFhTd2dOakFwWEc0Z0lIUm9hWE11WDNWd1pHRjBaU2dwWEc1Y2JpQWdMeThnY0hKdlpIVmpaU0J5WlhOMWJIUmNiaUFnZG1GeUlHSjFabVpsY2lBOUlFSjFabVpsY2k1aGJHeHZZeUEvSUVKMVptWmxjaTVoYkd4dll5Z3lNQ2tnT2lCdVpYY2dRblZtWm1WeUtESXdLVnh1SUNCaWRXWm1aWEl1ZDNKcGRHVkpiblF6TWt4RktIUm9hWE11WDJFc0lEQXBYRzRnSUdKMVptWmxjaTUzY21sMFpVbHVkRE15VEVVb2RHaHBjeTVmWWl3Z05DbGNiaUFnWW5WbVptVnlMbmR5YVhSbFNXNTBNekpNUlNoMGFHbHpMbDlqTENBNEtWeHVJQ0JpZFdabVpYSXVkM0pwZEdWSmJuUXpNa3hGS0hSb2FYTXVYMlFzSURFeUtWeHVJQ0JpZFdabVpYSXVkM0pwZEdWSmJuUXpNa3hGS0hSb2FYTXVYMlVzSURFMktWeHVJQ0J5WlhSMWNtNGdZblZtWm1WeVhHNTlYRzVjYm1aMWJtTjBhVzl1SUhKdmRHd2dLSGdzSUc0cElIdGNiaUFnY21WMGRYSnVJQ2g0SUR3OElHNHBJSHdnS0hnZ1BqNCtJQ2d6TWlBdElHNHBLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1iakVnS0dFc0lHSXNJR01zSUdRc0lHVXNJRzBzSUdzc0lITXBJSHRjYmlBZ2NtVjBkWEp1SUNoeWIzUnNLQ2hoSUNzZ0tHSWdYaUJqSUY0Z1pDa2dLeUJ0SUNzZ2F5a2dmQ0F3TENCektTQXJJR1VwSUh3Z01GeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWJqSWdLR0VzSUdJc0lHTXNJR1FzSUdVc0lHMHNJR3NzSUhNcElIdGNiaUFnY21WMGRYSnVJQ2h5YjNSc0tDaGhJQ3NnS0NoaUlDWWdZeWtnZkNBb0tINWlLU0FtSUdRcEtTQXJJRzBnS3lCcktTQjhJREFzSUhNcElDc2daU2tnZkNBd1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdadU15QW9ZU3dnWWl3Z1l5d2daQ3dnWlN3Z2JTd2dheXdnY3lrZ2UxeHVJQ0J5WlhSMWNtNGdLSEp2ZEd3b0tHRWdLeUFvS0dJZ2ZDQW9mbU1wS1NCZUlHUXBJQ3NnYlNBcklHc3BJSHdnTUN3Z2N5a2dLeUJsS1NCOElEQmNibjFjYmx4dVpuVnVZM1JwYjI0Z1ptNDBJQ2hoTENCaUxDQmpMQ0JrTENCbExDQnRMQ0JyTENCektTQjdYRzRnSUhKbGRIVnliaUFvY205MGJDZ29ZU0FySUNnb1lpQW1JR1FwSUh3Z0tHTWdKaUFvZm1RcEtTa2dLeUJ0SUNzZ2F5a2dmQ0F3TENCektTQXJJR1VwSUh3Z01GeHVmVnh1WEc1bWRXNWpkR2x2YmlCbWJqVWdLR0VzSUdJc0lHTXNJR1FzSUdVc0lHMHNJR3NzSUhNcElIdGNiaUFnY21WMGRYSnVJQ2h5YjNSc0tDaGhJQ3NnS0dJZ1hpQW9ZeUI4SUNoK1pDa3BLU0FySUcwZ0t5QnJLU0I4SURBc0lITXBJQ3NnWlNrZ2ZDQXdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1VrbFFSVTFFTVRZd1hHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvcmlwZW1kMTYwL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwiLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xcbnZhciBidWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBidWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IGJ1ZmZlci5CdWZmZXJcXG5cXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXFxuZnVuY3Rpb24gY29weVByb3BzIChzcmMsIGRzdCkge1xcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXFxuICB9XFxufVxcbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcXG4gIG1vZHVsZS5leHBvcnRzID0gYnVmZmVyXFxufSBlbHNlIHtcXG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXFxuICBjb3B5UHJvcHMoYnVmZmVyLCBleHBvcnRzKVxcbiAgZXhwb3J0cy5CdWZmZXIgPSBTYWZlQnVmZmVyXFxufVxcblxcbmZ1bmN0aW9uIFNhZmVCdWZmZXIgKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG4vLyBDb3B5IHN0YXRpYyBtZXRob2RzIGZyb20gQnVmZmVyXFxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcXG5cXG5TYWZlQnVmZmVyLmZyb20gPSBmdW5jdGlvbiAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcXG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXFxuICB9XFxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxcbn1cXG5cXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XFxuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XFxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxcbiAgfVxcbiAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxcbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIGJ1Zi5maWxsKDApXFxuICB9XFxuICByZXR1cm4gYnVmXFxufVxcblxcblNhZmVCdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcXG59XFxuXFxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcXG4gIH1cXG4gIHJldHVybiBidWZmZXIuU2xvd0J1ZmZlcihzaXplKVxcbn1cXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXpZV1psTFdKMVptWmxjaTlwYm1SbGVDNXFjejlpTW1FNUlsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFc1lVRkJZU3h0UWtGQlR5eERRVUZETERoRFFVRlJPMEZCUXpkQ096dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeERRVUZETzBGQlEwUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzTmhabVV0WW5WbVptVnlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b2daWE5zYVc1MExXUnBjMkZpYkdVZ2JtOWtaUzl1Ynkxa1pYQnlaV05oZEdWa0xXRndhU0FxTDF4dWRtRnlJR0oxWm1abGNpQTlJSEpsY1hWcGNtVW9KMkoxWm1abGNpY3BYRzUyWVhJZ1FuVm1abVZ5SUQwZ1luVm1abVZ5TGtKMVptWmxjbHh1WEc0dkx5QmhiSFJsY201aGRHbDJaU0IwYnlCMWMybHVaeUJQWW1wbFkzUXVhMlY1Y3lCbWIzSWdiMnhrSUdKeWIzZHpaWEp6WEc1bWRXNWpkR2x2YmlCamIzQjVVSEp2Y0hNZ0tITnlZeXdnWkhOMEtTQjdYRzRnSUdadmNpQW9kbUZ5SUd0bGVTQnBiaUJ6Y21NcElIdGNiaUFnSUNCa2MzUmJhMlY1WFNBOUlITnlZMXRyWlhsZFhHNGdJSDFjYm4xY2JtbG1JQ2hDZFdabVpYSXVabkp2YlNBbUppQkNkV1ptWlhJdVlXeHNiMk1nSmlZZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabElDWW1JRUoxWm1abGNpNWhiR3h2WTFWdWMyRm1aVk5zYjNjcElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0JpZFdabVpYSmNibjBnWld4elpTQjdYRzRnSUM4dklFTnZjSGtnY0hKdmNHVnlkR2xsY3lCbWNtOXRJSEpsY1hWcGNtVW9KMkoxWm1abGNpY3BYRzRnSUdOdmNIbFFjbTl3Y3loaWRXWm1aWElzSUdWNGNHOXlkSE1wWEc0Z0lHVjRjRzl5ZEhNdVFuVm1abVZ5SUQwZ1UyRm1aVUoxWm1abGNseHVmVnh1WEc1bWRXNWpkR2x2YmlCVFlXWmxRblZtWm1WeUlDaGhjbWNzSUdWdVkyOWthVzVuVDNKUFptWnpaWFFzSUd4bGJtZDBhQ2tnZTF4dUlDQnlaWFIxY200Z1FuVm1abVZ5S0dGeVp5d2daVzVqYjJScGJtZFBjazltWm5ObGRDd2diR1Z1WjNSb0tWeHVmVnh1WEc0dkx5QkRiM0I1SUhOMFlYUnBZeUJ0WlhSb2IyUnpJR1p5YjIwZ1FuVm1abVZ5WEc1amIzQjVVSEp2Y0hNb1FuVm1abVZ5TENCVFlXWmxRblZtWm1WeUtWeHVYRzVUWVdabFFuVm1abVZ5TG1aeWIyMGdQU0JtZFc1amRHbHZiaUFvWVhKbkxDQmxibU52WkdsdVowOXlUMlptYzJWMExDQnNaVzVuZEdncElIdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCaGNtY2dQVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblFYSm5kVzFsYm5RZ2JYVnpkQ0J1YjNRZ1ltVWdZU0J1ZFcxaVpYSW5LVnh1SUNCOVhHNGdJSEpsZEhWeWJpQkNkV1ptWlhJb1lYSm5MQ0JsYm1OdlpHbHVaMDl5VDJabWMyVjBMQ0JzWlc1bmRHZ3BYRzU5WEc1Y2JsTmhabVZDZFdabVpYSXVZV3hzYjJNZ1BTQm1kVzVqZEdsdmJpQW9jMmw2WlN3Z1ptbHNiQ3dnWlc1amIyUnBibWNwSUh0Y2JpQWdhV1lnS0hSNWNHVnZaaUJ6YVhwbElDRTlQU0FuYm5WdFltVnlKeWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJVZVhCbFJYSnliM0lvSjBGeVozVnRaVzUwSUcxMWMzUWdZbVVnWVNCdWRXMWlaWEluS1Z4dUlDQjlYRzRnSUhaaGNpQmlkV1lnUFNCQ2RXWm1aWElvYzJsNlpTbGNiaUFnYVdZZ0tHWnBiR3dnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdaVzVqYjJScGJtY2dQVDA5SUNkemRISnBibWNuS1NCN1hHNGdJQ0FnSUNCaWRXWXVabWxzYkNobWFXeHNMQ0JsYm1OdlpHbHVaeWxjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ1luVm1MbVpwYkd3b1ptbHNiQ2xjYmlBZ0lDQjlYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdZblZtTG1acGJHd29NQ2xjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdZblZtWEc1OVhHNWNibE5oWm1WQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1VZ1BTQm1kVzVqZEdsdmJpQW9jMmw2WlNrZ2UxeHVJQ0JwWmlBb2RIbHdaVzltSUhOcGVtVWdJVDA5SUNkdWRXMWlaWEluS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2lnblFYSm5kVzFsYm5RZ2JYVnpkQ0JpWlNCaElHNTFiV0psY2ljcFhHNGdJSDFjYmlBZ2NtVjBkWEp1SUVKMVptWmxjaWh6YVhwbEtWeHVmVnh1WEc1VFlXWmxRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxVMnh2ZHlBOUlHWjFibU4wYVc5dUlDaHphWHBsS1NCN1hHNGdJR2xtSUNoMGVYQmxiMllnYzJsNlpTQWhQVDBnSjI1MWJXSmxjaWNwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0NkQmNtZDFiV1Z1ZENCdGRYTjBJR0psSUdFZ2JuVnRZbVZ5SnlsY2JpQWdmVnh1SUNCeVpYUjFjbTRnWW5WbVptVnlMbE5zYjNkQ2RXWm1aWElvYzJsNlpTbGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXItdHJhY2luZy5kZXZlbG9wbWVudC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9janMvc2NoZWR1bGVyLXRyYWNpbmcuZGV2ZWxvcG1lbnQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiogQGxpY2Vuc2UgUmVhY3QgdjAuMTkuMVxcbiAqIHNjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzXFxuICpcXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cXG4gKlxcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cXG4gKi9cXG5cXG5cXG5cXG5cXG5cXG5pZiAodHJ1ZSkge1xcbiAgKGZ1bmN0aW9uKCkge1xcbid1c2Ugc3RyaWN0JztcXG5cXG52YXIgREVGQVVMVF9USFJFQURfSUQgPSAwOyAvLyBDb3VudGVycyB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMuXFxuXFxudmFyIGludGVyYWN0aW9uSURDb3VudGVyID0gMDtcXG52YXIgdGhyZWFkSURDb3VudGVyID0gMDsgLy8gU2V0IG9mIGN1cnJlbnRseSB0cmFjZWQgaW50ZXJhY3Rpb25zLlxcbi8vIEludGVyYWN0aW9ucyBcXFwic3RhY2tcXFwi4oCTXFxuLy8gTWVhbmluZyB0aGF0IG5ld2x5IHRyYWNlZCBpbnRlcmFjdGlvbnMgYXJlIGFwcGVuZGVkIHRvIHRoZSBwcmV2aW91c2x5IGFjdGl2ZSBzZXQuXFxuLy8gV2hlbiBhbiBpbnRlcmFjdGlvbiBnb2VzIG91dCBvZiBzY29wZSwgdGhlIHByZXZpb3VzIHNldCAoaWYgYW55KSBpcyByZXN0b3JlZC5cXG5cXG5leHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmID0gbnVsbDsgLy8gTGlzdGVuZXIocykgdG8gbm90aWZ5IHdoZW4gaW50ZXJhY3Rpb25zIGJlZ2luIGFuZCBlbmQuXFxuXFxuZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYgPSBudWxsO1xcblxcbntcXG4gIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYgPSB7XFxuICAgIGN1cnJlbnQ6IG5ldyBTZXQoKVxcbiAgfTtcXG4gIGV4cG9ydHMuX19zdWJzY3JpYmVyUmVmID0ge1xcbiAgICBjdXJyZW50OiBudWxsXFxuICB9O1xcbn1cXG5mdW5jdGlvbiB1bnN0YWJsZV9jbGVhcihjYWxsYmFjaykge1xcblxcbiAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQ7XFxuICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQgPSBuZXcgU2V0KCk7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gY2FsbGJhY2soKTtcXG4gIH0gZmluYWxseSB7XFxuICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldEN1cnJlbnQoKSB7XFxuICB7XFxuICAgIHJldHVybiBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQ7XFxuICB9XFxufVxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldFRocmVhZElEKCkge1xcbiAgcmV0dXJuICsrdGhyZWFkSURDb3VudGVyO1xcbn1cXG5mdW5jdGlvbiB1bnN0YWJsZV90cmFjZShuYW1lLCB0aW1lc3RhbXAsIGNhbGxiYWNrKSB7XFxuICB2YXIgdGhyZWFkSUQgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IERFRkFVTFRfVEhSRUFEX0lEO1xcblxcbiAgdmFyIGludGVyYWN0aW9uID0ge1xcbiAgICBfX2NvdW50OiAxLFxcbiAgICBpZDogaW50ZXJhY3Rpb25JRENvdW50ZXIrKyxcXG4gICAgbmFtZTogbmFtZSxcXG4gICAgdGltZXN0YW1wOiB0aW1lc3RhbXBcXG4gIH07XFxuICB2YXIgcHJldkludGVyYWN0aW9ucyA9IGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDsgLy8gVHJhY2VkIGludGVyYWN0aW9ucyBzaG91bGQgc3RhY2svYWNjdW11bGF0ZS5cXG4gIC8vIFRvIGRvIHRoYXQsIGNsb25lIHRoZSBjdXJyZW50IGludGVyYWN0aW9ucy5cXG4gIC8vIFRoZSBwcmV2aW91cyBzZXQgd2lsbCBiZSByZXN0b3JlZCB1cG9uIGNvbXBsZXRpb24uXFxuXFxuICB2YXIgaW50ZXJhY3Rpb25zID0gbmV3IFNldChwcmV2SW50ZXJhY3Rpb25zKTtcXG4gIGludGVyYWN0aW9ucy5hZGQoaW50ZXJhY3Rpb24pO1xcbiAgZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gaW50ZXJhY3Rpb25zO1xcbiAgdmFyIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xcbiAgdmFyIHJldHVyblZhbHVlO1xcblxcbiAgdHJ5IHtcXG4gICAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcXG4gICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25UcmFjZWQoaW50ZXJhY3Rpb24pO1xcbiAgICB9XFxuICB9IGZpbmFsbHkge1xcbiAgICB0cnkge1xcbiAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgICAgfVxcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIHRyeSB7XFxuICAgICAgICByZXR1cm5WYWx1ZSA9IGNhbGxiYWNrKCk7XFxuICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuXFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xcbiAgICAgICAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tOyAvLyBJZiBubyBhc3luYyB3b3JrIHdhcyBzY2hlZHVsZWQgZm9yIHRoaXMgaW50ZXJhY3Rpb24sXFxuICAgICAgICAgIC8vIE5vdGlmeSBzdWJzY3JpYmVycyB0aGF0IGl0J3MgY29tcGxldGVkLlxcblxcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCAmJiBpbnRlcmFjdGlvbi5fX2NvdW50ID09PSAwKSB7XFxuICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG5cXG4gIHJldHVybiByZXR1cm5WYWx1ZTtcXG59XFxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcChjYWxsYmFjaykge1xcbiAgdmFyIHRocmVhZElEID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBERUZBVUxUX1RIUkVBRF9JRDtcXG5cXG4gIHZhciB3cmFwcGVkSW50ZXJhY3Rpb25zID0gZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50O1xcbiAgdmFyIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xcblxcbiAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcXG4gICAgc3Vic2NyaWJlci5vbldvcmtTY2hlZHVsZWQod3JhcHBlZEludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgfSAvLyBVcGRhdGUgdGhlIHBlbmRpbmcgYXN5bmMgd29yayBjb3VudCBmb3IgdGhlIGN1cnJlbnQgaW50ZXJhY3Rpb25zLlxcbiAgLy8gVXBkYXRlIGFmdGVyIGNhbGxpbmcgc3Vic2NyaWJlcnMgaW4gY2FzZSBvZiBlcnJvci5cXG5cXG5cXG4gIHdyYXBwZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgaW50ZXJhY3Rpb24uX19jb3VudCsrO1xcbiAgfSk7XFxuICB2YXIgaGFzUnVuID0gZmFsc2U7XFxuXFxuICBmdW5jdGlvbiB3cmFwcGVkKCkge1xcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDtcXG4gICAgZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gd3JhcHBlZEludGVyYWN0aW9ucztcXG4gICAgc3Vic2NyaWJlciA9IGV4cG9ydHMuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XFxuXFxuICAgIHRyeSB7XFxuICAgICAgdmFyIHJldHVyblZhbHVlO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xcbiAgICAgICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQod3JhcHBlZEludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgICAgICAgfVxcbiAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICByZXR1cm5WYWx1ZSA9IGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcXG4gICAgICAgIH0gZmluYWxseSB7XFxuICAgICAgICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XFxuXFxuICAgICAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgICAgICAgc3Vic2NyaWJlci5vbldvcmtTdG9wcGVkKHdyYXBwZWRJbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgIH1cXG5cXG4gICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XFxuICAgIH0gZmluYWxseSB7XFxuICAgICAgaWYgKCFoYXNSdW4pIHtcXG4gICAgICAgIC8vIFdlIG9ubHkgZXhwZWN0IGEgd3JhcHBlZCBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBvbmNlLFxcbiAgICAgICAgLy8gQnV0IGluIHRoZSBldmVudCB0aGF0IGl0J3MgZXhlY3V0ZWQgbW9yZSB0aGFuIG9uY2XigJNcXG4gICAgICAgIC8vIE9ubHkgZGVjcmVtZW50IHRoZSBvdXRzdGFuZGluZyBpbnRlcmFjdGlvbiBjb3VudHMgb25jZS5cXG4gICAgICAgIGhhc1J1biA9IHRydWU7IC8vIFVwZGF0ZSBwZW5kaW5nIGFzeW5jIGNvdW50cyBmb3IgYWxsIHdyYXBwZWQgaW50ZXJhY3Rpb25zLlxcbiAgICAgICAgLy8gSWYgdGhpcyB3YXMgdGhlIGxhc3Qgc2NoZWR1bGVkIGFzeW5jIHdvcmsgZm9yIGFueSBvZiB0aGVtLFxcbiAgICAgICAgLy8gTWFyayB0aGVtIGFzIGNvbXBsZXRlZC5cXG5cXG4gICAgICAgIHdyYXBwZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcXG4gICAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tO1xcblxcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCAmJiBpbnRlcmFjdGlvbi5fX2NvdW50ID09PSAwKSB7XFxuICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XFxuICAgICAgICAgIH1cXG4gICAgICAgIH0pO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcblxcbiAgd3JhcHBlZC5jYW5jZWwgPSBmdW5jdGlvbiBjYW5jZWwoKSB7XFxuICAgIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xcblxcbiAgICB0cnkge1xcbiAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XFxuICAgICAgICBzdWJzY3JpYmVyLm9uV29ya0NhbmNlbGVkKHdyYXBwZWRJbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgICB9XFxuICAgIH0gZmluYWxseSB7XFxuICAgICAgLy8gVXBkYXRlIHBlbmRpbmcgYXN5bmMgY291bnRzIGZvciBhbGwgd3JhcHBlZCBpbnRlcmFjdGlvbnMuXFxuICAgICAgLy8gSWYgdGhpcyB3YXMgdGhlIGxhc3Qgc2NoZWR1bGVkIGFzeW5jIHdvcmsgZm9yIGFueSBvZiB0aGVtLFxcbiAgICAgIC8vIE1hcmsgdGhlbSBhcyBjb21wbGV0ZWQuXFxuICAgICAgd3JhcHBlZEludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xcbiAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tO1xcblxcbiAgICAgICAgaWYgKHN1YnNjcmliZXIgJiYgaW50ZXJhY3Rpb24uX19jb3VudCA9PT0gMCkge1xcbiAgICAgICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25TY2hlZHVsZWRXb3JrQ29tcGxldGVkKGludGVyYWN0aW9uKTtcXG4gICAgICAgIH1cXG4gICAgICB9KTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJldHVybiB3cmFwcGVkO1xcbn1cXG5cXG52YXIgc3Vic2NyaWJlcnMgPSBudWxsO1xcblxcbntcXG4gIHN1YnNjcmliZXJzID0gbmV3IFNldCgpO1xcbn1cXG5cXG5mdW5jdGlvbiB1bnN0YWJsZV9zdWJzY3JpYmUoc3Vic2NyaWJlcikge1xcbiAge1xcbiAgICBzdWJzY3JpYmVycy5hZGQoc3Vic2NyaWJlcik7XFxuXFxuICAgIGlmIChzdWJzY3JpYmVycy5zaXplID09PSAxKSB7XFxuICAgICAgZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYuY3VycmVudCA9IHtcXG4gICAgICAgIG9uSW50ZXJhY3Rpb25TY2hlZHVsZWRXb3JrQ29tcGxldGVkOiBvbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZCxcXG4gICAgICAgIG9uSW50ZXJhY3Rpb25UcmFjZWQ6IG9uSW50ZXJhY3Rpb25UcmFjZWQsXFxuICAgICAgICBvbldvcmtDYW5jZWxlZDogb25Xb3JrQ2FuY2VsZWQsXFxuICAgICAgICBvbldvcmtTY2hlZHVsZWQ6IG9uV29ya1NjaGVkdWxlZCxcXG4gICAgICAgIG9uV29ya1N0YXJ0ZWQ6IG9uV29ya1N0YXJ0ZWQsXFxuICAgICAgICBvbldvcmtTdG9wcGVkOiBvbldvcmtTdG9wcGVkXFxuICAgICAgfTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiB1bnN0YWJsZV91bnN1YnNjcmliZShzdWJzY3JpYmVyKSB7XFxuICB7XFxuICAgIHN1YnNjcmliZXJzLmRlbGV0ZShzdWJzY3JpYmVyKTtcXG5cXG4gICAgaWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDApIHtcXG4gICAgICBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50ID0gbnVsbDtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvbkludGVyYWN0aW9uVHJhY2VkKGludGVyYWN0aW9uKSB7XFxuICB2YXIgZGlkQ2F0Y2hFcnJvciA9IGZhbHNlO1xcbiAgdmFyIGNhdWdodEVycm9yID0gbnVsbDtcXG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcXG4gICAgdHJ5IHtcXG4gICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25UcmFjZWQoaW50ZXJhY3Rpb24pO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XFxuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSk7XFxuXFxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XFxuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSk7XFxuXFxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25Xb3JrU2NoZWR1bGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU2NoZWR1bGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xcbiAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XFxuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfSk7XFxuXFxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gb25Xb3JrU3RhcnRlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKSB7XFxuICB2YXIgZGlkQ2F0Y2hFcnJvciA9IGZhbHNlO1xcbiAgdmFyIGNhdWdodEVycm9yID0gbnVsbDtcXG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcXG4gICAgdHJ5IHtcXG4gICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XFxuICAgICAgICBkaWRDYXRjaEVycm9yID0gdHJ1ZTtcXG4gICAgICAgIGNhdWdodEVycm9yID0gZXJyb3I7XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG5cXG4gIGlmIChkaWRDYXRjaEVycm9yKSB7XFxuICAgIHRocm93IGNhdWdodEVycm9yO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBvbldvcmtTdG9wcGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgICBpZiAoIWRpZENhdGNoRXJyb3IpIHtcXG4gICAgICAgIGRpZENhdGNoRXJyb3IgPSB0cnVlO1xcbiAgICAgICAgY2F1Z2h0RXJyb3IgPSBlcnJvcjtcXG4gICAgICB9XFxuICAgIH1cXG4gIH0pO1xcblxcbiAgaWYgKGRpZENhdGNoRXJyb3IpIHtcXG4gICAgdGhyb3cgY2F1Z2h0RXJyb3I7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIG9uV29ya0NhbmNlbGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpIHtcXG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XFxuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xcbiAgc3Vic2NyaWJlcnMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2NyaWJlcikge1xcbiAgICB0cnkge1xcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrQ2FuY2VsZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XFxuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XFxuICAgICAgICBkaWRDYXRjaEVycm9yID0gdHJ1ZTtcXG4gICAgICAgIGNhdWdodEVycm9yID0gZXJyb3I7XFxuICAgICAgfVxcbiAgICB9XFxuICB9KTtcXG5cXG4gIGlmIChkaWRDYXRjaEVycm9yKSB7XFxuICAgIHRocm93IGNhdWdodEVycm9yO1xcbiAgfVxcbn1cXG5cXG5leHBvcnRzLnVuc3RhYmxlX2NsZWFyID0gdW5zdGFibGVfY2xlYXI7XFxuZXhwb3J0cy51bnN0YWJsZV9nZXRDdXJyZW50ID0gdW5zdGFibGVfZ2V0Q3VycmVudDtcXG5leHBvcnRzLnVuc3RhYmxlX2dldFRocmVhZElEID0gdW5zdGFibGVfZ2V0VGhyZWFkSUQ7XFxuZXhwb3J0cy51bnN0YWJsZV9zdWJzY3JpYmUgPSB1bnN0YWJsZV9zdWJzY3JpYmU7XFxuZXhwb3J0cy51bnN0YWJsZV90cmFjZSA9IHVuc3RhYmxlX3RyYWNlO1xcbmV4cG9ydHMudW5zdGFibGVfdW5zdWJzY3JpYmUgPSB1bnN0YWJsZV91bnN1YnNjcmliZTtcXG5leHBvcnRzLnVuc3RhYmxlX3dyYXAgPSB1bnN0YWJsZV93cmFwO1xcbiAgfSkoKTtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpMTBjbUZqYVc1bkxtUmxkbVZzYjNCdFpXNTBMbXB6UDJVNE16UWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRllUczdPenRCUVVsaUxFbEJRVWtzU1VGQmNVTTdRVUZEZWtNN1FVRkRRVHM3UVVGRlFTd3dRa0ZCTUVJN08wRkJSVEZDTzBGQlEwRXNkMEpCUVhkQ08wRkJRM2hDTzBGQlEwRTdRVUZEUVRzN1FVRkZRU3hwUTBGQmFVTTdPMEZCUldwRE96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc01rUkJRVEpFTzBGQlF6TkVPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRXNUMEZCVHp0QlFVTlFPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVMR2REUVVGblF6dEJRVU5vUXpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdPenRCUVVkQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h6UWtGQmMwSTdRVUZEZEVJN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN08wRkJSVWc3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeEhRVUZIT3p0QlFVVklPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenM3UVVGRlNEdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdPMEZCUlVnN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUzBGQlN6dEJRVU5NTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE96dEJRVVZJTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0NJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpMTBjbUZqYVc1bkxtUmxkbVZzYjNCdFpXNTBMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xSUVCc2FXTmxibk5sSUZKbFlXTjBJSFl3TGpFNUxqRmNiaUFxSUhOamFHVmtkV3hsY2kxMGNtRmphVzVuTG1SbGRtVnNiM0J0Wlc1MExtcHpYRzRnS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NCR1lXTmxZbTl2YXl3Z1NXNWpMaUJoYm1RZ2FYUnpJR0ZtWm1sc2FXRjBaWE11WEc0Z0tseHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCc2FXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1RVbFVJR3hwWTJWdWMyVWdabTkxYm1RZ2FXNGdkR2hsWEc0Z0tpQk1TVU5GVGxORklHWnBiR1VnYVc0Z2RHaGxJSEp2YjNRZ1pHbHlaV04wYjNKNUlHOW1JSFJvYVhNZ2MyOTFjbU5sSUhSeVpXVXVYRzRnS2k5Y2JseHVKM1Z6WlNCemRISnBZM1FuTzF4dVhHNWNibHh1YVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJQ0U5UFNCY0luQnliMlIxWTNScGIyNWNJaWtnZTF4dUlDQW9ablZ1WTNScGIyNG9LU0I3WEc0bmRYTmxJSE4wY21samRDYzdYRzVjYm5aaGNpQkVSVVpCVlV4VVgxUklVa1ZCUkY5SlJDQTlJREE3SUM4dklFTnZkVzUwWlhKeklIVnpaV1FnZEc4Z1oyVnVaWEpoZEdVZ2RXNXBjWFZsSUVsRWN5NWNibHh1ZG1GeUlHbHVkR1Z5WVdOMGFXOXVTVVJEYjNWdWRHVnlJRDBnTUR0Y2JuWmhjaUIwYUhKbFlXUkpSRU52ZFc1MFpYSWdQU0F3T3lBdkx5QlRaWFFnYjJZZ1kzVnljbVZ1ZEd4NUlIUnlZV05sWkNCcGJuUmxjbUZqZEdsdmJuTXVYRzR2THlCSmJuUmxjbUZqZEdsdmJuTWdYQ0p6ZEdGamExd2k0b0NUWEc0dkx5Qk5aV0Z1YVc1bklIUm9ZWFFnYm1WM2JIa2dkSEpoWTJWa0lHbHVkR1Z5WVdOMGFXOXVjeUJoY21VZ1lYQndaVzVrWldRZ2RHOGdkR2hsSUhCeVpYWnBiM1Z6YkhrZ1lXTjBhWFpsSUhObGRDNWNiaTh2SUZkb1pXNGdZVzRnYVc1MFpYSmhZM1JwYjI0Z1oyOWxjeUJ2ZFhRZ2IyWWdjMk52Y0dVc0lIUm9aU0J3Y21WMmFXOTFjeUJ6WlhRZ0tHbG1JR0Z1ZVNrZ2FYTWdjbVZ6ZEc5eVpXUXVYRzVjYm1WNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1lnUFNCdWRXeHNPeUF2THlCTWFYTjBaVzVsY2loektTQjBieUJ1YjNScFpua2dkMmhsYmlCcGJuUmxjbUZqZEdsdmJuTWdZbVZuYVc0Z1lXNWtJR1Z1WkM1Y2JseHVaWGh3YjNKMGN5NWZYM04xWW5OamNtbGlaWEpTWldZZ1BTQnVkV3hzTzF4dVhHNTdYRzRnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1lnUFNCN1hHNGdJQ0FnWTNWeWNtVnVkRG9nYm1WM0lGTmxkQ2dwWEc0Z0lIMDdYRzRnSUdWNGNHOXlkSE11WDE5emRXSnpZM0pwWW1WeVVtVm1JRDBnZTF4dUlDQWdJR04xY25KbGJuUTZJRzUxYkd4Y2JpQWdmVHRjYm4xY2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgyTnNaV0Z5S0dOaGJHeGlZV05yS1NCN1hHNWNiaUFnZG1GeUlIQnlaWFpKYm5SbGNtRmpkR2x2Ym5NZ1BTQmxlSEJ2Y25SekxsOWZhVzUwWlhKaFkzUnBiMjV6VW1WbUxtTjFjbkpsYm5RN1hHNGdJR1Y0Y0c5eWRITXVYMTlwYm5SbGNtRmpkR2x2Ym5OU1pXWXVZM1Z5Y21WdWRDQTlJRzVsZHlCVFpYUW9LVHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQmpZV3hzWW1GamF5Z3BPMXh1SUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1l1WTNWeWNtVnVkQ0E5SUhCeVpYWkpiblJsY21GamRHbHZibk03WEc0Z0lIMWNibjFjYm1aMWJtTjBhVzl1SUhWdWMzUmhZbXhsWDJkbGRFTjFjbkpsYm5Rb0tTQjdYRzRnSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaWGh3YjNKMGN5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1ME8xeHVJQ0I5WEc1OVhHNW1kVzVqZEdsdmJpQjFibk4wWVdKc1pWOW5aWFJVYUhKbFlXUkpSQ2dwSUh0Y2JpQWdjbVYwZFhKdUlDc3JkR2h5WldGa1NVUkRiM1Z1ZEdWeU8xeHVmVnh1Wm5WdVkzUnBiMjRnZFc1emRHRmliR1ZmZEhKaFkyVW9ibUZ0WlN3Z2RHbHRaWE4wWVcxd0xDQmpZV3hzWW1GamF5a2dlMXh1SUNCMllYSWdkR2h5WldGa1NVUWdQU0JoY21kMWJXVnVkSE11YkdWdVozUm9JRDRnTXlBbUppQmhjbWQxYldWdWRITmJNMTBnSVQwOUlIVnVaR1ZtYVc1bFpDQS9JR0Z5WjNWdFpXNTBjMXN6WFNBNklFUkZSa0ZWVEZSZlZFaFNSVUZFWDBsRU8xeHVYRzRnSUhaaGNpQnBiblJsY21GamRHbHZiaUE5SUh0Y2JpQWdJQ0JmWDJOdmRXNTBPaUF4TEZ4dUlDQWdJR2xrT2lCcGJuUmxjbUZqZEdsdmJrbEVRMjkxYm5SbGNpc3JMRnh1SUNBZ0lHNWhiV1U2SUc1aGJXVXNYRzRnSUNBZ2RHbHRaWE4wWVcxd09pQjBhVzFsYzNSaGJYQmNiaUFnZlR0Y2JpQWdkbUZ5SUhCeVpYWkpiblJsY21GamRHbHZibk1nUFNCbGVIQnZjblJ6TGw5ZmFXNTBaWEpoWTNScGIyNXpVbVZtTG1OMWNuSmxiblE3SUM4dklGUnlZV05sWkNCcGJuUmxjbUZqZEdsdmJuTWdjMmh2ZFd4a0lITjBZV05yTDJGalkzVnRkV3hoZEdVdVhHNGdJQzh2SUZSdklHUnZJSFJvWVhRc0lHTnNiMjVsSUhSb1pTQmpkWEp5Wlc1MElHbHVkR1Z5WVdOMGFXOXVjeTVjYmlBZ0x5OGdWR2hsSUhCeVpYWnBiM1Z6SUhObGRDQjNhV3hzSUdKbElISmxjM1J2Y21Wa0lIVndiMjRnWTI5dGNHeGxkR2x2Ymk1Y2JseHVJQ0IyWVhJZ2FXNTBaWEpoWTNScGIyNXpJRDBnYm1WM0lGTmxkQ2h3Y21WMlNXNTBaWEpoWTNScGIyNXpLVHRjYmlBZ2FXNTBaWEpoWTNScGIyNXpMbUZrWkNocGJuUmxjbUZqZEdsdmJpazdYRzRnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1l1WTNWeWNtVnVkQ0E5SUdsdWRHVnlZV04wYVc5dWN6dGNiaUFnZG1GeUlITjFZbk5qY21saVpYSWdQU0JsZUhCdmNuUnpMbDlmYzNWaWMyTnlhV0psY2xKbFppNWpkWEp5Wlc1ME8xeHVJQ0IyWVhJZ2NtVjBkWEp1Vm1Gc2RXVTdYRzVjYmlBZ2RISjVJSHRjYmlBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2MzVmljMk55YVdKbGNpNXZia2x1ZEdWeVlXTjBhVzl1VkhKaFkyVmtLR2x1ZEdWeVlXTjBhVzl1S1R0Y2JpQWdJQ0I5WEc0Z0lIMGdabWx1WVd4c2VTQjdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR2xtSUNoemRXSnpZM0pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSE4xWW5OamNtbGlaWEl1YjI1WGIzSnJVM1JoY25SbFpDaHBiblJsY21GamRHbHZibk1zSUhSb2NtVmhaRWxFS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdVZtRnNkV1VnUFNCallXeHNZbUZqYXlncE8xeHVJQ0FnSUNBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBZ0lDQWdaWGh3YjNKMGN5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1MElEMGdjSEpsZGtsdWRHVnlZV04wYVc5dWN6dGNibHh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoemRXSnpZM0pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTFOMGIzQndaV1FvYVc1MFpYSmhZM1JwYjI1ekxDQjBhSEpsWVdSSlJDazdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2x1ZEdWeVlXTjBhVzl1TGw5ZlkyOTFiblF0TFRzZ0x5OGdTV1lnYm04Z1lYTjVibU1nZDI5eWF5QjNZWE1nYzJOb1pXUjFiR1ZrSUdadmNpQjBhR2x6SUdsdWRHVnlZV04wYVc5dUxGeHVJQ0FnSUNBZ0lDQWdJQzh2SUU1dmRHbG1lU0J6ZFdKelkzSnBZbVZ5Y3lCMGFHRjBJR2wwSjNNZ1kyOXRjR3hsZEdWa0xseHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tITjFZbk5qY21saVpYSWdJVDA5SUc1MWJHd2dKaVlnYVc1MFpYSmhZM1JwYjI0dVgxOWpiM1Z1ZENBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmtsdWRHVnlZV04wYVc5dVUyTm9aV1IxYkdWa1YyOXlhME52YlhCc1pYUmxaQ2hwYm5SbGNtRmpkR2x2YmlrN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJSEpsZEhWeWJsWmhiSFZsTzF4dWZWeHVablZ1WTNScGIyNGdkVzV6ZEdGaWJHVmZkM0poY0NoallXeHNZbUZqYXlrZ2UxeHVJQ0IyWVhJZ2RHaHlaV0ZrU1VRZ1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb0lENGdNU0FtSmlCaGNtZDFiV1Z1ZEhOYk1WMGdJVDA5SUhWdVpHVm1hVzVsWkNBL0lHRnlaM1Z0Wlc1MGMxc3hYU0E2SUVSRlJrRlZURlJmVkVoU1JVRkVYMGxFTzF4dVhHNGdJSFpoY2lCM2NtRndjR1ZrU1c1MFpYSmhZM1JwYjI1eklEMGdaWGh3YjNKMGN5NWZYMmx1ZEdWeVlXTjBhVzl1YzFKbFppNWpkWEp5Wlc1ME8xeHVJQ0IyWVhJZ2MzVmljMk55YVdKbGNpQTlJR1Y0Y0c5eWRITXVYMTl6ZFdKelkzSnBZbVZ5VW1WbUxtTjFjbkpsYm5RN1hHNWNiaUFnYVdZZ0tITjFZbk5qY21saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnpkV0p6WTNKcFltVnlMbTl1VjI5eWExTmphR1ZrZFd4bFpDaDNjbUZ3Y0dWa1NXNTBaWEpoWTNScGIyNXpMQ0IwYUhKbFlXUkpSQ2s3WEc0Z0lIMGdMeThnVlhCa1lYUmxJSFJvWlNCd1pXNWthVzVuSUdGemVXNWpJSGR2Y21zZ1kyOTFiblFnWm05eUlIUm9aU0JqZFhKeVpXNTBJR2x1ZEdWeVlXTjBhVzl1Y3k1Y2JpQWdMeThnVlhCa1lYUmxJR0ZtZEdWeUlHTmhiR3hwYm1jZ2MzVmljMk55YVdKbGNuTWdhVzRnWTJGelpTQnZaaUJsY25KdmNpNWNibHh1WEc0Z0lIZHlZWEJ3WldSSmJuUmxjbUZqZEdsdmJuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzUwWlhKaFkzUnBiMjRwSUh0Y2JpQWdJQ0JwYm5SbGNtRmpkR2x2Ymk1ZlgyTnZkVzUwS3lzN1hHNGdJSDBwTzF4dUlDQjJZWElnYUdGelVuVnVJRDBnWm1Gc2MyVTdYRzVjYmlBZ1puVnVZM1JwYjI0Z2QzSmhjSEJsWkNncElIdGNiaUFnSUNCMllYSWdjSEpsZGtsdWRHVnlZV04wYVc5dWN5QTlJR1Y0Y0c5eWRITXVYMTlwYm5SbGNtRmpkR2x2Ym5OU1pXWXVZM1Z5Y21WdWREdGNiaUFnSUNCbGVIQnZjblJ6TGw5ZmFXNTBaWEpoWTNScGIyNXpVbVZtTG1OMWNuSmxiblFnUFNCM2NtRndjR1ZrU1c1MFpYSmhZM1JwYjI1ek8xeHVJQ0FnSUhOMVluTmpjbWxpWlhJZ1BTQmxlSEJ2Y25SekxsOWZjM1ZpYzJOeWFXSmxjbEpsWmk1amRYSnlaVzUwTzF4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lIWmhjaUJ5WlhSMWNtNVdZV3gxWlR0Y2JseHVJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tITjFZbk5qY21saVpYSWdJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTFOMFlYSjBaV1FvZDNKaGNIQmxaRWx1ZEdWeVlXTjBhVzl1Y3l3Z2RHaHlaV0ZrU1VRcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lDQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJsWmhiSFZsSUQwZ1kyRnNiR0poWTJzdVlYQndiSGtvZFc1a1pXWnBibVZrTENCaGNtZDFiV1Z1ZEhNcE8xeHVJQ0FnSUNBZ0lDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lDQWdJQ0FnSUdWNGNHOXlkSE11WDE5cGJuUmxjbUZqZEdsdmJuTlNaV1l1WTNWeWNtVnVkQ0E5SUhCeVpYWkpiblJsY21GamRHbHZibk03WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNWaWMyTnlhV0psY2k1dmJsZHZjbXRUZEc5d2NHVmtLSGR5WVhCd1pXUkpiblJsY21GamRHbHZibk1zSUhSb2NtVmhaRWxFS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsZEhWeWJsWmhiSFZsTzF4dUlDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0JwWmlBb0lXaGhjMUoxYmlrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJYWlNCdmJteDVJR1Y0Y0dWamRDQmhJSGR5WVhCd1pXUWdablZ1WTNScGIyNGdkRzhnWW1VZ1pYaGxZM1YwWldRZ2IyNWpaU3hjYmlBZ0lDQWdJQ0FnTHk4Z1FuVjBJR2x1SUhSb1pTQmxkbVZ1ZENCMGFHRjBJR2wwSjNNZ1pYaGxZM1YwWldRZ2JXOXlaU0IwYUdGdUlHOXVZMlhpZ0pOY2JpQWdJQ0FnSUNBZ0x5OGdUMjVzZVNCa1pXTnlaVzFsYm5RZ2RHaGxJRzkxZEhOMFlXNWthVzVuSUdsdWRHVnlZV04wYVc5dUlHTnZkVzUwY3lCdmJtTmxMbHh1SUNBZ0lDQWdJQ0JvWVhOU2RXNGdQU0IwY25WbE95QXZMeUJWY0dSaGRHVWdjR1Z1WkdsdVp5QmhjM2x1WXlCamIzVnVkSE1nWm05eUlHRnNiQ0IzY21Gd2NHVmtJR2x1ZEdWeVlXTjBhVzl1Y3k1Y2JpQWdJQ0FnSUNBZ0x5OGdTV1lnZEdocGN5QjNZWE1nZEdobElHeGhjM1FnYzJOb1pXUjFiR1ZrSUdGemVXNWpJSGR2Y21zZ1ptOXlJR0Z1ZVNCdlppQjBhR1Z0TEZ4dUlDQWdJQ0FnSUNBdkx5Qk5ZWEpySUhSb1pXMGdZWE1nWTI5dGNHeGxkR1ZrTGx4dVhHNGdJQ0FnSUNBZ0lIZHlZWEJ3WldSSmJuUmxjbUZqZEdsdmJuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9hVzUwWlhKaFkzUnBiMjRwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBMUzA3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBaFBUMGdiblZzYkNBbUppQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVTVzUwWlhKaFkzUnBiMjVUWTJobFpIVnNaV1JYYjNKclEyOXRjR3hsZEdWa0tHbHVkR1Z5WVdOMGFXOXVLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSGR5WVhCd1pXUXVZMkZ1WTJWc0lEMGdablZ1WTNScGIyNGdZMkZ1WTJWc0tDa2dlMXh1SUNBZ0lITjFZbk5qY21saVpYSWdQU0JsZUhCdmNuUnpMbDlmYzNWaWMyTnlhV0psY2xKbFppNWpkWEp5Wlc1ME8xeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR2xtSUNoemRXSnpZM0pwWW1WeUlDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQWdJSE4xWW5OamNtbGlaWEl1YjI1WGIzSnJRMkZ1WTJWc1pXUW9kM0poY0hCbFpFbHVkR1Z5WVdOMGFXOXVjeXdnZEdoeVpXRmtTVVFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWm1sdVlXeHNlU0I3WEc0Z0lDQWdJQ0F2THlCVmNHUmhkR1VnY0dWdVpHbHVaeUJoYzNsdVl5QmpiM1Z1ZEhNZ1ptOXlJR0ZzYkNCM2NtRndjR1ZrSUdsdWRHVnlZV04wYVc5dWN5NWNiaUFnSUNBZ0lDOHZJRWxtSUhSb2FYTWdkMkZ6SUhSb1pTQnNZWE4wSUhOamFHVmtkV3hsWkNCaGMzbHVZeUIzYjNKcklHWnZjaUJoYm5rZ2IyWWdkR2hsYlN4Y2JpQWdJQ0FnSUM4dklFMWhjbXNnZEdobGJTQmhjeUJqYjIxd2JHVjBaV1F1WEc0Z0lDQWdJQ0IzY21Gd2NHVmtTVzUwWlhKaFkzUnBiMjV6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0dsdWRHVnlZV04wYVc5dUtTQjdYRzRnSUNBZ0lDQWdJR2x1ZEdWeVlXTjBhVzl1TGw5ZlkyOTFiblF0TFR0Y2JseHVJQ0FnSUNBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY2lBbUppQnBiblJsY21GamRHbHZiaTVmWDJOdmRXNTBJRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQWdJQ0FnYzNWaWMyTnlhV0psY2k1dmJrbHVkR1Z5WVdOMGFXOXVVMk5vWldSMWJHVmtWMjl5YTBOdmJYQnNaWFJsWkNocGJuUmxjbUZqZEdsdmJpazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnZDNKaGNIQmxaRHRjYm4xY2JseHVkbUZ5SUhOMVluTmpjbWxpWlhKeklEMGdiblZzYkR0Y2JseHVlMXh1SUNCemRXSnpZM0pwWW1WeWN5QTlJRzVsZHlCVFpYUW9LVHRjYm4xY2JseHVablZ1WTNScGIyNGdkVzV6ZEdGaWJHVmZjM1ZpYzJOeWFXSmxLSE4xWW5OamNtbGlaWElwSUh0Y2JpQWdlMXh1SUNBZ0lITjFZbk5qY21saVpYSnpMbUZrWkNoemRXSnpZM0pwWW1WeUtUdGNibHh1SUNBZ0lHbG1JQ2h6ZFdKelkzSnBZbVZ5Y3k1emFYcGxJRDA5UFNBeEtTQjdYRzRnSUNBZ0lDQmxlSEJ2Y25SekxsOWZjM1ZpYzJOeWFXSmxjbEpsWmk1amRYSnlaVzUwSUQwZ2UxeHVJQ0FnSUNBZ0lDQnZia2x1ZEdWeVlXTjBhVzl1VTJOb1pXUjFiR1ZrVjI5eWEwTnZiWEJzWlhSbFpEb2diMjVKYm5SbGNtRmpkR2x2YmxOamFHVmtkV3hsWkZkdmNtdERiMjF3YkdWMFpXUXNYRzRnSUNBZ0lDQWdJRzl1U1c1MFpYSmhZM1JwYjI1VWNtRmpaV1E2SUc5dVNXNTBaWEpoWTNScGIyNVVjbUZqWldRc1hHNGdJQ0FnSUNBZ0lHOXVWMjl5YTBOaGJtTmxiR1ZrT2lCdmJsZHZjbXREWVc1alpXeGxaQ3hjYmlBZ0lDQWdJQ0FnYjI1WGIzSnJVMk5vWldSMWJHVmtPaUJ2YmxkdmNtdFRZMmhsWkhWc1pXUXNYRzRnSUNBZ0lDQWdJRzl1VjI5eWExTjBZWEowWldRNklHOXVWMjl5YTFOMFlYSjBaV1FzWEc0Z0lDQWdJQ0FnSUc5dVYyOXlhMU4wYjNCd1pXUTZJRzl1VjI5eWExTjBiM0J3WldSY2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCMWJuTjBZV0pzWlY5MWJuTjFZbk5qY21saVpTaHpkV0p6WTNKcFltVnlLU0I3WEc0Z0lIdGNiaUFnSUNCemRXSnpZM0pwWW1WeWN5NWtaV3hsZEdVb2MzVmljMk55YVdKbGNpazdYRzVjYmlBZ0lDQnBaaUFvYzNWaWMyTnlhV0psY25NdWMybDZaU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdaWGh3YjNKMGN5NWZYM04xWW5OamNtbGlaWEpTWldZdVkzVnljbVZ1ZENBOUlHNTFiR3c3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUc5dVNXNTBaWEpoWTNScGIyNVVjbUZqWldRb2FXNTBaWEpoWTNScGIyNHBJSHRjYmlBZ2RtRnlJR1JwWkVOaGRHTm9SWEp5YjNJZ1BTQm1ZV3h6WlR0Y2JpQWdkbUZ5SUdOaGRXZG9kRVZ5Y205eUlEMGdiblZzYkR0Y2JpQWdjM1ZpYzJOeWFXSmxjbk11Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYzNWaWMyTnlhV0psY2lrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpkV0p6WTNKcFltVnlMbTl1U1c1MFpYSmhZM1JwYjI1VWNtRmpaV1FvYVc1MFpYSmhZM1JwYjI0cE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0JwWmlBb0lXUnBaRU5oZEdOb1JYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ1pHbGtRMkYwWTJoRmNuSnZjaUE5SUhSeWRXVTdYRzRnSUNBZ0lDQWdJR05oZFdkb2RFVnljbTl5SUQwZ1pYSnliM0k3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1SUNCOUtUdGNibHh1SUNCcFppQW9aR2xrUTJGMFkyaEZjbkp2Y2lrZ2UxeHVJQ0FnSUhSb2NtOTNJR05oZFdkb2RFVnljbTl5TzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlHOXVTVzUwWlhKaFkzUnBiMjVUWTJobFpIVnNaV1JYYjNKclEyOXRjR3hsZEdWa0tHbHVkR1Z5WVdOMGFXOXVLU0I3WEc0Z0lIWmhjaUJrYVdSRFlYUmphRVZ5Y205eUlEMGdabUZzYzJVN1hHNGdJSFpoY2lCallYVm5hSFJGY25KdmNpQTlJRzUxYkd3N1hHNGdJSE4xWW5OamNtbGlaWEp6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0hOMVluTmpjbWxpWlhJcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmtsdWRHVnlZV04wYVc5dVUyTm9aV1IxYkdWa1YyOXlhME52YlhCc1pYUmxaQ2hwYm5SbGNtRmpkR2x2YmlrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJR2xtSUNnaFpHbGtRMkYwWTJoRmNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCa2FXUkRZWFJqYUVWeWNtOXlJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdZMkYxWjJoMFJYSnliM0lnUFNCbGNuSnZjanRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUgwcE8xeHVYRzRnSUdsbUlDaGthV1JEWVhSamFFVnljbTl5S1NCN1hHNGdJQ0FnZEdoeWIzY2dZMkYxWjJoMFJYSnliM0k3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2IyNVhiM0pyVTJOb1pXUjFiR1ZrS0dsdWRHVnlZV04wYVc5dWN5d2dkR2h5WldGa1NVUXBJSHRjYmlBZ2RtRnlJR1JwWkVOaGRHTm9SWEp5YjNJZ1BTQm1ZV3h6WlR0Y2JpQWdkbUZ5SUdOaGRXZG9kRVZ5Y205eUlEMGdiblZzYkR0Y2JpQWdjM1ZpYzJOeWFXSmxjbk11Wm05eVJXRmphQ2htZFc1amRHbHZiaUFvYzNWaWMyTnlhV0psY2lrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnpkV0p6WTNKcFltVnlMbTl1VjI5eWExTmphR1ZrZFd4bFpDaHBiblJsY21GamRHbHZibk1zSUhSb2NtVmhaRWxFS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdhV1lnS0NGa2FXUkRZWFJqYUVWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUdScFpFTmhkR05vUlhKeWIzSWdQU0IwY25WbE8xeHVJQ0FnSUNBZ0lDQmpZWFZuYUhSRmNuSnZjaUE5SUdWeWNtOXlPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnZlNrN1hHNWNiaUFnYVdZZ0tHUnBaRU5oZEdOb1JYSnliM0lwSUh0Y2JpQWdJQ0IwYUhKdmR5QmpZWFZuYUhSRmNuSnZjanRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCdmJsZHZjbXRUZEdGeWRHVmtLR2x1ZEdWeVlXTjBhVzl1Y3l3Z2RHaHlaV0ZrU1VRcElIdGNiaUFnZG1GeUlHUnBaRU5oZEdOb1JYSnliM0lnUFNCbVlXeHpaVHRjYmlBZ2RtRnlJR05oZFdkb2RFVnljbTl5SUQwZ2JuVnNiRHRjYmlBZ2MzVmljMk55YVdKbGNuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9jM1ZpYzJOeWFXSmxjaWtnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTFOMFlYSjBaV1FvYVc1MFpYSmhZM1JwYjI1ekxDQjBhSEpsWVdSSlJDazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUdsbUlDZ2haR2xrUTJGMFkyaEZjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQmthV1JEWVhSamFFVnljbTl5SUQwZ2RISjFaVHRjYmlBZ0lDQWdJQ0FnWTJGMVoyaDBSWEp5YjNJZ1BTQmxjbkp2Y2p0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMHBPMXh1WEc0Z0lHbG1JQ2hrYVdSRFlYUmphRVZ5Y205eUtTQjdYRzRnSUNBZ2RHaHliM2NnWTJGMVoyaDBSWEp5YjNJN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdiMjVYYjNKclUzUnZjSEJsWkNocGJuUmxjbUZqZEdsdmJuTXNJSFJvY21WaFpFbEVLU0I3WEc0Z0lIWmhjaUJrYVdSRFlYUmphRVZ5Y205eUlEMGdabUZzYzJVN1hHNGdJSFpoY2lCallYVm5hSFJGY25KdmNpQTlJRzUxYkd3N1hHNGdJSE4xWW5OamNtbGlaWEp6TG1admNrVmhZMmdvWm5WdVkzUnBiMjRnS0hOMVluTmpjbWxpWlhJcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjM1ZpYzJOeWFXSmxjaTV2YmxkdmNtdFRkRzl3Y0dWa0tHbHVkR1Z5WVdOMGFXOXVjeXdnZEdoeVpXRmtTVVFwTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQnBaaUFvSVdScFpFTmhkR05vUlhKeWIzSXBJSHRjYmlBZ0lDQWdJQ0FnWkdsa1EyRjBZMmhGY25KdmNpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lHTmhkV2RvZEVWeWNtOXlJRDBnWlhKeWIzSTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5S1R0Y2JseHVJQ0JwWmlBb1pHbGtRMkYwWTJoRmNuSnZjaWtnZTF4dUlDQWdJSFJvY205M0lHTmhkV2RvZEVWeWNtOXlPMXh1SUNCOVhHNTlYRzVjYm1aMWJtTjBhVzl1SUc5dVYyOXlhME5oYm1ObGJHVmtLR2x1ZEdWeVlXTjBhVzl1Y3l3Z2RHaHlaV0ZrU1VRcElIdGNiaUFnZG1GeUlHUnBaRU5oZEdOb1JYSnliM0lnUFNCbVlXeHpaVHRjYmlBZ2RtRnlJR05oZFdkb2RFVnljbTl5SUQwZ2JuVnNiRHRjYmlBZ2MzVmljMk55YVdKbGNuTXVabTl5UldGamFDaG1kVzVqZEdsdmJpQW9jM1ZpYzJOeWFXSmxjaWtnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCemRXSnpZM0pwWW1WeUxtOXVWMjl5YTBOaGJtTmxiR1ZrS0dsdWRHVnlZV04wYVc5dWN5d2dkR2h5WldGa1NVUXBPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNCcFppQW9JV1JwWkVOaGRHTm9SWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdaR2xrUTJGMFkyaEZjbkp2Y2lBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUdOaGRXZG9kRVZ5Y205eUlEMGdaWEp5YjNJN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQjlLVHRjYmx4dUlDQnBaaUFvWkdsa1EyRjBZMmhGY25KdmNpa2dlMXh1SUNBZ0lIUm9jbTkzSUdOaGRXZG9kRVZ5Y205eU8xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZZMnhsWVhJZ1BTQjFibk4wWVdKc1pWOWpiR1ZoY2p0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZloyVjBRM1Z5Y21WdWRDQTlJSFZ1YzNSaFlteGxYMmRsZEVOMWNuSmxiblE3WEc1bGVIQnZjblJ6TG5WdWMzUmhZbXhsWDJkbGRGUm9jbVZoWkVsRUlEMGdkVzV6ZEdGaWJHVmZaMlYwVkdoeVpXRmtTVVE3WEc1bGVIQnZjblJ6TG5WdWMzUmhZbXhsWDNOMVluTmpjbWxpWlNBOUlIVnVjM1JoWW14bFgzTjFZbk5qY21saVpUdGNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZkSEpoWTJVZ1BTQjFibk4wWVdKc1pWOTBjbUZqWlR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmRXNXpkV0p6WTNKcFltVWdQU0IxYm5OMFlXSnNaVjkxYm5OMVluTmpjbWxpWlR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmQzSmhjQ0E5SUhWdWMzUmhZbXhsWDNkeVlYQTdYRzRnSUgwcEtDazdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvKiogQGxpY2Vuc2UgUmVhY3QgdjAuMTkuMVxcbiAqIHNjaGVkdWxlci5kZXZlbG9wbWVudC5qc1xcbiAqXFxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXFxuICpcXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXFxuICovXFxuXFxuXFxuXFxuXFxuXFxuaWYgKHRydWUpIHtcXG4gIChmdW5jdGlvbigpIHtcXG4ndXNlIHN0cmljdCc7XFxuXFxudmFyIGVuYWJsZVNjaGVkdWxlckRlYnVnZ2luZyA9IGZhbHNlO1xcbnZhciBlbmFibGVQcm9maWxpbmcgPSB0cnVlO1xcblxcbnZhciByZXF1ZXN0SG9zdENhbGxiYWNrO1xcbnZhciByZXF1ZXN0SG9zdFRpbWVvdXQ7XFxudmFyIGNhbmNlbEhvc3RUaW1lb3V0O1xcbnZhciBzaG91bGRZaWVsZFRvSG9zdDtcXG52YXIgcmVxdWVzdFBhaW50O1xcblxcbmlmICggLy8gSWYgU2NoZWR1bGVyIHJ1bnMgaW4gYSBub24tRE9NIGVudmlyb25tZW50LCBpdCBmYWxscyBiYWNrIHRvIGEgbmFpdmVcXG4vLyBpbXBsZW1lbnRhdGlvbiB1c2luZyBzZXRUaW1lb3V0LlxcbnR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnIHx8IC8vIENoZWNrIGlmIE1lc3NhZ2VDaGFubmVsIGlzIHN1cHBvcnRlZCwgdG9vLlxcbnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgLy8gSWYgdGhpcyBhY2NpZGVudGFsbHkgZ2V0cyBpbXBvcnRlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50LCBlLmcuIEphdmFTY3JpcHRDb3JlLFxcbiAgLy8gZmFsbGJhY2sgdG8gYSBuYWl2ZSBpbXBsZW1lbnRhdGlvbi5cXG4gIHZhciBfY2FsbGJhY2sgPSBudWxsO1xcbiAgdmFyIF90aW1lb3V0SUQgPSBudWxsO1xcblxcbiAgdmFyIF9mbHVzaENhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xcbiAgICBpZiAoX2NhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICAgICAgICB2YXIgaGFzUmVtYWluaW5nVGltZSA9IHRydWU7XFxuXFxuICAgICAgICBfY2FsbGJhY2soaGFzUmVtYWluaW5nVGltZSwgY3VycmVudFRpbWUpO1xcblxcbiAgICAgICAgX2NhbGxiYWNrID0gbnVsbDtcXG4gICAgICB9IGNhdGNoIChlKSB7XFxuICAgICAgICBzZXRUaW1lb3V0KF9mbHVzaENhbGxiYWNrLCAwKTtcXG4gICAgICAgIHRocm93IGU7XFxuICAgICAgfVxcbiAgICB9XFxuICB9O1xcblxcbiAgdmFyIGluaXRpYWxUaW1lID0gRGF0ZS5ub3coKTtcXG5cXG4gIGV4cG9ydHMudW5zdGFibGVfbm93ID0gZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gRGF0ZS5ub3coKSAtIGluaXRpYWxUaW1lO1xcbiAgfTtcXG5cXG4gIHJlcXVlc3RIb3N0Q2FsbGJhY2sgPSBmdW5jdGlvbiAoY2IpIHtcXG4gICAgaWYgKF9jYWxsYmFjayAhPT0gbnVsbCkge1xcbiAgICAgIC8vIFByb3RlY3QgYWdhaW5zdCByZS1lbnRyYW5jeS5cXG4gICAgICBzZXRUaW1lb3V0KHJlcXVlc3RIb3N0Q2FsbGJhY2ssIDAsIGNiKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBfY2FsbGJhY2sgPSBjYjtcXG4gICAgICBzZXRUaW1lb3V0KF9mbHVzaENhbGxiYWNrLCAwKTtcXG4gICAgfVxcbiAgfTtcXG5cXG4gIHJlcXVlc3RIb3N0VGltZW91dCA9IGZ1bmN0aW9uIChjYiwgbXMpIHtcXG4gICAgX3RpbWVvdXRJRCA9IHNldFRpbWVvdXQoY2IsIG1zKTtcXG4gIH07XFxuXFxuICBjYW5jZWxIb3N0VGltZW91dCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgY2xlYXJUaW1lb3V0KF90aW1lb3V0SUQpO1xcbiAgfTtcXG5cXG4gIHNob3VsZFlpZWxkVG9Ib3N0ID0gZnVuY3Rpb24gKCkge1xcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9O1xcblxcbiAgcmVxdWVzdFBhaW50ID0gZXhwb3J0cy51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZSA9IGZ1bmN0aW9uICgpIHt9O1xcbn0gZWxzZSB7XFxuICAvLyBDYXB0dXJlIGxvY2FsIHJlZmVyZW5jZXMgdG8gbmF0aXZlIEFQSXMsIGluIGNhc2UgYSBwb2x5ZmlsbCBvdmVycmlkZXMgdGhlbS5cXG4gIHZhciBwZXJmb3JtYW5jZSA9IHdpbmRvdy5wZXJmb3JtYW5jZTtcXG4gIHZhciBfRGF0ZSA9IHdpbmRvdy5EYXRlO1xcbiAgdmFyIF9zZXRUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQ7XFxuICB2YXIgX2NsZWFyVGltZW91dCA9IHdpbmRvdy5jbGVhclRpbWVvdXQ7XFxuXFxuICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XFxuICAgIC8vIFRPRE86IFNjaGVkdWxlciBubyBsb25nZXIgcmVxdWlyZXMgdGhlc2UgbWV0aG9kcyB0byBiZSBwb2x5ZmlsbGVkLiBCdXRcXG4gICAgLy8gbWF5YmUgd2Ugd2FudCB0byBjb250aW51ZSB3YXJuaW5nIGlmIHRoZXkgZG9uJ3QgZXhpc3QsIHRvIHByZXNlcnZlIHRoZVxcbiAgICAvLyBvcHRpb24gdG8gcmVseSBvbiBpdCBpbiB0aGUgZnV0dXJlP1xcbiAgICB2YXIgcmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZTtcXG4gICAgdmFyIGNhbmNlbEFuaW1hdGlvbkZyYW1lID0gd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lOyAvLyBUT0RPOiBSZW1vdmUgZmIubWUgbGlua1xcblxcbiAgICBpZiAodHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSAhPT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ2Vycm9yJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxcbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oXFxcIlRoaXMgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLiBcXFwiICsgJ01ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9mYi5tZS9yZWFjdC1wb2x5ZmlsbHMnKTtcXG4gICAgfVxcblxcbiAgICBpZiAodHlwZW9mIGNhbmNlbEFuaW1hdGlvbkZyYW1lICE9PSAnZnVuY3Rpb24nKSB7XFxuICAgICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XFxuICAgICAgY29uc29sZVsnZXJyb3InXShcXFwiVGhpcyBicm93c2VyIGRvZXNuJ3Qgc3VwcG9ydCBjYW5jZWxBbmltYXRpb25GcmFtZS4gXFxcIiArICdNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhICcgKyAncG9seWZpbGwgaW4gb2xkZXIgYnJvd3NlcnMuIGh0dHBzOi8vZmIubWUvcmVhY3QtcG9seWZpbGxzJyk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIGlmICh0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbicpIHtcXG4gICAgZXhwb3J0cy51bnN0YWJsZV9ub3cgPSBmdW5jdGlvbiAoKSB7XFxuICAgICAgcmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpO1xcbiAgICB9O1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIF9pbml0aWFsVGltZSA9IF9EYXRlLm5vdygpO1xcblxcbiAgICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICByZXR1cm4gX0RhdGUubm93KCkgLSBfaW5pdGlhbFRpbWU7XFxuICAgIH07XFxuICB9XFxuXFxuICB2YXIgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcXG4gIHZhciBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBudWxsO1xcbiAgdmFyIHRhc2tUaW1lb3V0SUQgPSAtMTsgLy8gU2NoZWR1bGVyIHBlcmlvZGljYWxseSB5aWVsZHMgaW4gY2FzZSB0aGVyZSBpcyBvdGhlciB3b3JrIG9uIHRoZSBtYWluXFxuICAvLyB0aHJlYWQsIGxpa2UgdXNlciBldmVudHMuIEJ5IGRlZmF1bHQsIGl0IHlpZWxkcyBtdWx0aXBsZSB0aW1lcyBwZXIgZnJhbWUuXFxuICAvLyBJdCBkb2VzIG5vdCBhdHRlbXB0IHRvIGFsaWduIHdpdGggZnJhbWUgYm91bmRhcmllcywgc2luY2UgbW9zdCB0YXNrcyBkb24ndFxcbiAgLy8gbmVlZCB0byBiZSBmcmFtZSBhbGlnbmVkOyBmb3IgdGhvc2UgdGhhdCBkbywgdXNlIHJlcXVlc3RBbmltYXRpb25GcmFtZS5cXG5cXG4gIHZhciB5aWVsZEludGVydmFsID0gNTtcXG4gIHZhciBkZWFkbGluZSA9IDA7IC8vIFRPRE86IE1ha2UgdGhpcyBjb25maWd1cmFibGVcXG5cXG4gIHtcXG4gICAgLy8gYGlzSW5wdXRQZW5kaW5nYCBpcyBub3QgYXZhaWxhYmxlLiBTaW5jZSB3ZSBoYXZlIG5vIHdheSBvZiBrbm93aW5nIGlmXFxuICAgIC8vIHRoZXJlJ3MgcGVuZGluZyBpbnB1dCwgYWx3YXlzIHlpZWxkIGF0IHRoZSBlbmQgb2YgdGhlIGZyYW1lLlxcbiAgICBzaG91bGRZaWVsZFRvSG9zdCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICByZXR1cm4gZXhwb3J0cy51bnN0YWJsZV9ub3coKSA+PSBkZWFkbGluZTtcXG4gICAgfTsgLy8gU2luY2Ugd2UgeWllbGQgZXZlcnkgZnJhbWUgcmVnYXJkbGVzcywgYHJlcXVlc3RQYWludGAgaGFzIG5vIGVmZmVjdC5cXG5cXG5cXG4gICAgcmVxdWVzdFBhaW50ID0gZnVuY3Rpb24gKCkge307XFxuICB9XFxuXFxuICBleHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZnVuY3Rpb24gKGZwcykge1xcbiAgICBpZiAoZnBzIDwgMCB8fCBmcHMgPiAxMjUpIHtcXG4gICAgICAvLyBVc2luZyBjb25zb2xlWydlcnJvciddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcXG4gICAgICBjb25zb2xlWydlcnJvciddKCdmb3JjZUZyYW1lUmF0ZSB0YWtlcyBhIHBvc2l0aXZlIGludCBiZXR3ZWVuIDAgYW5kIDEyNSwgJyArICdmb3JjaW5nIGZyYW1lcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3QgdW5zdXBwb3J0ZWQnKTtcXG4gICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgaWYgKGZwcyA+IDApIHtcXG4gICAgICB5aWVsZEludGVydmFsID0gTWF0aC5mbG9vcigxMDAwIC8gZnBzKTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyByZXNldCB0aGUgZnJhbWVyYXRlXFxuICAgICAgeWllbGRJbnRlcnZhbCA9IDU7XFxuICAgIH1cXG4gIH07XFxuXFxuICB2YXIgcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lID0gZnVuY3Rpb24gKCkge1xcbiAgICBpZiAoc2NoZWR1bGVkSG9zdENhbGxiYWNrICE9PSBudWxsKSB7XFxuICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTsgLy8gWWllbGQgYWZ0ZXIgYHlpZWxkSW50ZXJ2YWxgIG1zLCByZWdhcmRsZXNzIG9mIHdoZXJlIHdlIGFyZSBpbiB0aGUgdnN5bmNcXG4gICAgICAvLyBjeWNsZS4gVGhpcyBtZWFucyB0aGVyZSdzIGFsd2F5cyB0aW1lIHJlbWFpbmluZyBhdCB0aGUgYmVnaW5uaW5nIG9mXFxuICAgICAgLy8gdGhlIG1lc3NhZ2UgZXZlbnQuXFxuXFxuICAgICAgZGVhZGxpbmUgPSBjdXJyZW50VGltZSArIHlpZWxkSW50ZXJ2YWw7XFxuICAgICAgdmFyIGhhc1RpbWVSZW1haW5pbmcgPSB0cnVlO1xcblxcbiAgICAgIHRyeSB7XFxuICAgICAgICB2YXIgaGFzTW9yZVdvcmsgPSBzY2hlZHVsZWRIb3N0Q2FsbGJhY2soaGFzVGltZVJlbWFpbmluZywgY3VycmVudFRpbWUpO1xcblxcbiAgICAgICAgaWYgKCFoYXNNb3JlV29yaykge1xcbiAgICAgICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IGZhbHNlO1xcbiAgICAgICAgICBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBudWxsO1xcbiAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgLy8gSWYgdGhlcmUncyBtb3JlIHdvcmssIHNjaGVkdWxlIHRoZSBuZXh0IG1lc3NhZ2UgZXZlbnQgYXQgdGhlIGVuZFxcbiAgICAgICAgICAvLyBvZiB0aGUgcHJlY2VkaW5nIG9uZS5cXG4gICAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShudWxsKTtcXG4gICAgICAgIH1cXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xcbiAgICAgICAgLy8gSWYgYSBzY2hlZHVsZXIgdGFzayB0aHJvd3MsIGV4aXQgdGhlIGN1cnJlbnQgYnJvd3NlciB0YXNrIHNvIHRoZVxcbiAgICAgICAgLy8gZXJyb3IgY2FuIGJlIG9ic2VydmVkLlxcbiAgICAgICAgcG9ydC5wb3N0TWVzc2FnZShudWxsKTtcXG4gICAgICAgIHRocm93IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IGZhbHNlO1xcbiAgICB9IC8vIFlpZWxkaW5nIHRvIHRoZSBicm93c2VyIHdpbGwgZ2l2ZSBpdCBhIGNoYW5jZSB0byBwYWludCwgc28gd2UgY2FuXFxuICB9O1xcblxcbiAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcXG4gIHZhciBwb3J0ID0gY2hhbm5lbC5wb3J0MjtcXG4gIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gcGVyZm9ybVdvcmtVbnRpbERlYWRsaW5lO1xcblxcbiAgcmVxdWVzdEhvc3RDYWxsYmFjayA9IGZ1bmN0aW9uIChjYWxsYmFjaykge1xcbiAgICBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBjYWxsYmFjaztcXG5cXG4gICAgaWYgKCFpc01lc3NhZ2VMb29wUnVubmluZykge1xcbiAgICAgIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gdHJ1ZTtcXG4gICAgICBwb3J0LnBvc3RNZXNzYWdlKG51bGwpO1xcbiAgICB9XFxuICB9O1xcblxcbiAgcmVxdWVzdEhvc3RUaW1lb3V0ID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBtcykge1xcbiAgICB0YXNrVGltZW91dElEID0gX3NldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xcbiAgICAgIGNhbGxiYWNrKGV4cG9ydHMudW5zdGFibGVfbm93KCkpO1xcbiAgICB9LCBtcyk7XFxuICB9O1xcblxcbiAgY2FuY2VsSG9zdFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XFxuICAgIF9jbGVhclRpbWVvdXQodGFza1RpbWVvdXRJRCk7XFxuXFxuICAgIHRhc2tUaW1lb3V0SUQgPSAtMTtcXG4gIH07XFxufVxcblxcbmZ1bmN0aW9uIHB1c2goaGVhcCwgbm9kZSkge1xcbiAgdmFyIGluZGV4ID0gaGVhcC5sZW5ndGg7XFxuICBoZWFwLnB1c2gobm9kZSk7XFxuICBzaWZ0VXAoaGVhcCwgbm9kZSwgaW5kZXgpO1xcbn1cXG5mdW5jdGlvbiBwZWVrKGhlYXApIHtcXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XFxuICByZXR1cm4gZmlyc3QgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBmaXJzdDtcXG59XFxuZnVuY3Rpb24gcG9wKGhlYXApIHtcXG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XFxuXFxuICBpZiAoZmlyc3QgIT09IHVuZGVmaW5lZCkge1xcbiAgICB2YXIgbGFzdCA9IGhlYXAucG9wKCk7XFxuXFxuICAgIGlmIChsYXN0ICE9PSBmaXJzdCkge1xcbiAgICAgIGhlYXBbMF0gPSBsYXN0O1xcbiAgICAgIHNpZnREb3duKGhlYXAsIGxhc3QsIDApO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBmaXJzdDtcXG4gIH0gZWxzZSB7XFxuICAgIHJldHVybiBudWxsO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzaWZ0VXAoaGVhcCwgbm9kZSwgaSkge1xcbiAgdmFyIGluZGV4ID0gaTtcXG5cXG4gIHdoaWxlICh0cnVlKSB7XFxuICAgIHZhciBwYXJlbnRJbmRleCA9IGluZGV4IC0gMSA+Pj4gMTtcXG4gICAgdmFyIHBhcmVudCA9IGhlYXBbcGFyZW50SW5kZXhdO1xcblxcbiAgICBpZiAocGFyZW50ICE9PSB1bmRlZmluZWQgJiYgY29tcGFyZShwYXJlbnQsIG5vZGUpID4gMCkge1xcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgbGFyZ2VyLiBTd2FwIHBvc2l0aW9ucy5cXG4gICAgICBoZWFwW3BhcmVudEluZGV4XSA9IG5vZGU7XFxuICAgICAgaGVhcFtpbmRleF0gPSBwYXJlbnQ7XFxuICAgICAgaW5kZXggPSBwYXJlbnRJbmRleDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBUaGUgcGFyZW50IGlzIHNtYWxsZXIuIEV4aXQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHNpZnREb3duKGhlYXAsIG5vZGUsIGkpIHtcXG4gIHZhciBpbmRleCA9IGk7XFxuICB2YXIgbGVuZ3RoID0gaGVhcC5sZW5ndGg7XFxuXFxuICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcXG4gICAgdmFyIGxlZnRJbmRleCA9IChpbmRleCArIDEpICogMiAtIDE7XFxuICAgIHZhciBsZWZ0ID0gaGVhcFtsZWZ0SW5kZXhdO1xcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XFxuICAgIHZhciByaWdodCA9IGhlYXBbcmlnaHRJbmRleF07IC8vIElmIHRoZSBsZWZ0IG9yIHJpZ2h0IG5vZGUgaXMgc21hbGxlciwgc3dhcCB3aXRoIHRoZSBzbWFsbGVyIG9mIHRob3NlLlxcblxcbiAgICBpZiAobGVmdCAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmUobGVmdCwgbm9kZSkgPCAwKSB7XFxuICAgICAgaWYgKHJpZ2h0ICE9PSB1bmRlZmluZWQgJiYgY29tcGFyZShyaWdodCwgbGVmdCkgPCAwKSB7XFxuICAgICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xcbiAgICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XFxuICAgICAgICBpbmRleCA9IHJpZ2h0SW5kZXg7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGhlYXBbaW5kZXhdID0gbGVmdDtcXG4gICAgICAgIGhlYXBbbGVmdEluZGV4XSA9IG5vZGU7XFxuICAgICAgICBpbmRleCA9IGxlZnRJbmRleDtcXG4gICAgICB9XFxuICAgIH0gZWxzZSBpZiAocmlnaHQgIT09IHVuZGVmaW5lZCAmJiBjb21wYXJlKHJpZ2h0LCBub2RlKSA8IDApIHtcXG4gICAgICBoZWFwW2luZGV4XSA9IHJpZ2h0O1xcbiAgICAgIGhlYXBbcmlnaHRJbmRleF0gPSBub2RlO1xcbiAgICAgIGluZGV4ID0gcmlnaHRJbmRleDtcXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBOZWl0aGVyIGNoaWxkIGlzIHNtYWxsZXIuIEV4aXQuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIGNvbXBhcmUoYSwgYikge1xcbiAgLy8gQ29tcGFyZSBzb3J0IGluZGV4IGZpcnN0LCB0aGVuIHRhc2sgaWQuXFxuICB2YXIgZGlmZiA9IGEuc29ydEluZGV4IC0gYi5zb3J0SW5kZXg7XFxuICByZXR1cm4gZGlmZiAhPT0gMCA/IGRpZmYgOiBhLmlkIC0gYi5pZDtcXG59XFxuXFxuLy8gVE9ETzogVXNlIHN5bWJvbHM/XFxudmFyIE5vUHJpb3JpdHkgPSAwO1xcbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDE7XFxudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gMjtcXG52YXIgTm9ybWFsUHJpb3JpdHkgPSAzO1xcbnZhciBMb3dQcmlvcml0eSA9IDQ7XFxudmFyIElkbGVQcmlvcml0eSA9IDU7XFxuXFxudmFyIHJ1bklkQ291bnRlciA9IDA7XFxudmFyIG1haW5UaHJlYWRJZENvdW50ZXIgPSAwO1xcbnZhciBwcm9maWxpbmdTdGF0ZVNpemUgPSA0O1xcbnZhciBzaGFyZWRQcm9maWxpbmdCdWZmZXIgPSAgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCBTaGFyZWRBcnJheUJ1ZmZlclxcbnR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyA/IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihwcm9maWxpbmdTdGF0ZVNpemUgKiBJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSA6IC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgQXJyYXlCdWZmZXJcXG50eXBlb2YgQXJyYXlCdWZmZXIgPT09ICdmdW5jdGlvbicgPyBuZXcgQXJyYXlCdWZmZXIocHJvZmlsaW5nU3RhdGVTaXplICogSW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCkgOiBudWxsIC8vIERvbid0IGNyYXNoIHRoZSBpbml0IHBhdGggb24gSUU5XFxuO1xcbnZhciBwcm9maWxpbmdTdGF0ZSA9ICBzaGFyZWRQcm9maWxpbmdCdWZmZXIgIT09IG51bGwgPyBuZXcgSW50MzJBcnJheShzaGFyZWRQcm9maWxpbmdCdWZmZXIpIDogW107IC8vIFdlIGNhbid0IHJlYWQgdGhpcyBidXQgaXQgaGVscHMgc2F2ZSBieXRlcyBmb3IgbnVsbCBjaGVja3NcXG5cXG52YXIgUFJJT1JJVFkgPSAwO1xcbnZhciBDVVJSRU5UX1RBU0tfSUQgPSAxO1xcbnZhciBDVVJSRU5UX1JVTl9JRCA9IDI7XFxudmFyIFFVRVVFX1NJWkUgPSAzO1xcblxcbntcXG4gIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IE5vUHJpb3JpdHk7IC8vIFRoaXMgaXMgbWFpbnRhaW5lZCB3aXRoIGEgY291bnRlciwgYmVjYXVzZSB0aGUgc2l6ZSBvZiB0aGUgcHJpb3JpdHkgcXVldWVcXG4gIC8vIGFycmF5IG1pZ2h0IGluY2x1ZGUgY2FuY2VsZWQgdGFza3MuXFxuXFxuICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXSA9IDA7XFxuICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gMDtcXG59IC8vIEJ5dGVzIHBlciBlbGVtZW50IGlzIDRcXG5cXG5cXG52YXIgSU5JVElBTF9FVkVOVF9MT0dfU0laRSA9IDEzMTA3MjtcXG52YXIgTUFYX0VWRU5UX0xPR19TSVpFID0gNTI0Mjg4OyAvLyBFcXVpdmFsZW50IHRvIDIgbWVnYWJ5dGVzXFxuXFxudmFyIGV2ZW50TG9nU2l6ZSA9IDA7XFxudmFyIGV2ZW50TG9nQnVmZmVyID0gbnVsbDtcXG52YXIgZXZlbnRMb2cgPSBudWxsO1xcbnZhciBldmVudExvZ0luZGV4ID0gMDtcXG52YXIgVGFza1N0YXJ0RXZlbnQgPSAxO1xcbnZhciBUYXNrQ29tcGxldGVFdmVudCA9IDI7XFxudmFyIFRhc2tFcnJvckV2ZW50ID0gMztcXG52YXIgVGFza0NhbmNlbEV2ZW50ID0gNDtcXG52YXIgVGFza1J1bkV2ZW50ID0gNTtcXG52YXIgVGFza1lpZWxkRXZlbnQgPSA2O1xcbnZhciBTY2hlZHVsZXJTdXNwZW5kRXZlbnQgPSA3O1xcbnZhciBTY2hlZHVsZXJSZXN1bWVFdmVudCA9IDg7XFxuXFxuZnVuY3Rpb24gbG9nRXZlbnQoZW50cmllcykge1xcbiAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgIHZhciBvZmZzZXQgPSBldmVudExvZ0luZGV4O1xcbiAgICBldmVudExvZ0luZGV4ICs9IGVudHJpZXMubGVuZ3RoO1xcblxcbiAgICBpZiAoZXZlbnRMb2dJbmRleCArIDEgPiBldmVudExvZ1NpemUpIHtcXG4gICAgICBldmVudExvZ1NpemUgKj0gMjtcXG5cXG4gICAgICBpZiAoZXZlbnRMb2dTaXplID4gTUFYX0VWRU5UX0xPR19TSVpFKSB7XFxuICAgICAgICAvLyBVc2luZyBjb25zb2xlWydlcnJvciddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcXG4gICAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oXFxcIlNjaGVkdWxlciBQcm9maWxpbmc6IEV2ZW50IGxvZyBleGNlZWRlZCBtYXhpbXVtIHNpemUuIERvbid0IFxcXCIgKyAnZm9yZ2V0IHRvIGNhbGwgYHN0b3BMb2dnaW5nUHJvZmlsaW5nRXZlbnRzKClgLicpO1xcbiAgICAgICAgc3RvcExvZ2dpbmdQcm9maWxpbmdFdmVudHMoKTtcXG4gICAgICAgIHJldHVybjtcXG4gICAgICB9XFxuXFxuICAgICAgdmFyIG5ld0V2ZW50TG9nID0gbmV3IEludDMyQXJyYXkoZXZlbnRMb2dTaXplICogNCk7XFxuICAgICAgbmV3RXZlbnRMb2cuc2V0KGV2ZW50TG9nKTtcXG4gICAgICBldmVudExvZ0J1ZmZlciA9IG5ld0V2ZW50TG9nLmJ1ZmZlcjtcXG4gICAgICBldmVudExvZyA9IG5ld0V2ZW50TG9nO1xcbiAgICB9XFxuXFxuICAgIGV2ZW50TG9nLnNldChlbnRyaWVzLCBvZmZzZXQpO1xcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBzdGFydExvZ2dpbmdQcm9maWxpbmdFdmVudHMoKSB7XFxuICBldmVudExvZ1NpemUgPSBJTklUSUFMX0VWRU5UX0xPR19TSVpFO1xcbiAgZXZlbnRMb2dCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoZXZlbnRMb2dTaXplICogNCk7XFxuICBldmVudExvZyA9IG5ldyBJbnQzMkFycmF5KGV2ZW50TG9nQnVmZmVyKTtcXG4gIGV2ZW50TG9nSW5kZXggPSAwO1xcbn1cXG5mdW5jdGlvbiBzdG9wTG9nZ2luZ1Byb2ZpbGluZ0V2ZW50cygpIHtcXG4gIHZhciBidWZmZXIgPSBldmVudExvZ0J1ZmZlcjtcXG4gIGV2ZW50TG9nU2l6ZSA9IDA7XFxuICBldmVudExvZ0J1ZmZlciA9IG51bGw7XFxuICBldmVudExvZyA9IG51bGw7XFxuICBldmVudExvZ0luZGV4ID0gMDtcXG4gIHJldHVybiBidWZmZXI7XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrU3RhcnQodGFzaywgbXMpIHtcXG4gIHtcXG4gICAgcHJvZmlsaW5nU3RhdGVbUVVFVUVfU0laRV0rKztcXG5cXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgLy8gcGVyZm9ybWFuY2Uubm93IHJldHVybnMgYSBmbG9hdCwgcmVwcmVzZW50aW5nIG1pbGxpc2Vjb25kcy4gV2hlbiB0aGVcXG4gICAgICAvLyBldmVudCBpcyBsb2dnZWQsIGl0J3MgY29lcmNlZCB0byBhbiBpbnQuIENvbnZlcnQgdG8gbWljcm9zZWNvbmRzIHRvXFxuICAgICAgLy8gbWFpbnRhaW4gZXh0cmEgZGVncmVlcyBvZiBwcmVjaXNpb24uXFxuICAgICAgbG9nRXZlbnQoW1Rhc2tTdGFydEV2ZW50LCBtcyAqIDEwMDAsIHRhc2suaWQsIHRhc2sucHJpb3JpdHlMZXZlbF0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrQ29tcGxldGVkKHRhc2ssIG1zKSB7XFxuICB7XFxuICAgIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IE5vUHJpb3JpdHk7XFxuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSAwO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXS0tO1xcblxcbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcXG4gICAgICBsb2dFdmVudChbVGFza0NvbXBsZXRlRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZF0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrQ2FuY2VsZWQodGFzaywgbXMpIHtcXG4gIHtcXG4gICAgcHJvZmlsaW5nU3RhdGVbUVVFVUVfU0laRV0tLTtcXG5cXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgbG9nRXZlbnQoW1Rhc2tDYW5jZWxFdmVudCwgbXMgKiAxMDAwLCB0YXNrLmlkXSk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gbWFya1Rhc2tFcnJvcmVkKHRhc2ssIG1zKSB7XFxuICB7XFxuICAgIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IE5vUHJpb3JpdHk7XFxuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSAwO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXS0tO1xcblxcbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcXG4gICAgICBsb2dFdmVudChbVGFza0Vycm9yRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZF0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtUYXNrUnVuKHRhc2ssIG1zKSB7XFxuICB7XFxuICAgIHJ1bklkQ291bnRlcisrO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSB0YXNrLnByaW9yaXR5TGV2ZWw7XFxuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSB0YXNrLmlkO1xcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1JVTl9JRF0gPSBydW5JZENvdW50ZXI7XFxuXFxuICAgIGlmIChldmVudExvZyAhPT0gbnVsbCkge1xcbiAgICAgIGxvZ0V2ZW50KFtUYXNrUnVuRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZCwgcnVuSWRDb3VudGVyXSk7XFxuICAgIH1cXG4gIH1cXG59XFxuZnVuY3Rpb24gbWFya1Rhc2tZaWVsZCh0YXNrLCBtcykge1xcbiAge1xcbiAgICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSBOb1ByaW9yaXR5O1xcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gMDtcXG4gICAgcHJvZmlsaW5nU3RhdGVbQ1VSUkVOVF9SVU5fSURdID0gMDtcXG5cXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgbG9nRXZlbnQoW1Rhc2tZaWVsZEV2ZW50LCBtcyAqIDEwMDAsIHRhc2suaWQsIHJ1bklkQ291bnRlcl0pO1xcbiAgICB9XFxuICB9XFxufVxcbmZ1bmN0aW9uIG1hcmtTY2hlZHVsZXJTdXNwZW5kZWQobXMpIHtcXG4gIHtcXG4gICAgbWFpblRocmVhZElkQ291bnRlcisrO1xcblxcbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcXG4gICAgICBsb2dFdmVudChbU2NoZWR1bGVyU3VzcGVuZEV2ZW50LCBtcyAqIDEwMDAsIG1haW5UaHJlYWRJZENvdW50ZXJdKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5mdW5jdGlvbiBtYXJrU2NoZWR1bGVyVW5zdXNwZW5kZWQobXMpIHtcXG4gIHtcXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XFxuICAgICAgbG9nRXZlbnQoW1NjaGVkdWxlclJlc3VtZUV2ZW50LCBtcyAqIDEwMDAsIG1haW5UaHJlYWRJZENvdW50ZXJdKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cXG4vLyBNYXRoLnBvdygyLCAzMCkgLSAxXFxuLy8gMGIxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFcXG5cXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcXG5cXG52YXIgSU1NRURJQVRFX1BSSU9SSVRZX1RJTUVPVVQgPSAtMTsgLy8gRXZlbnR1YWxseSB0aW1lcyBvdXRcXG5cXG52YXIgVVNFUl9CTE9DS0lOR19QUklPUklUWSA9IDI1MDtcXG52YXIgTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQgPSA1MDAwO1xcbnZhciBMT1dfUFJJT1JJVFlfVElNRU9VVCA9IDEwMDAwOyAvLyBOZXZlciB0aW1lcyBvdXRcXG5cXG52YXIgSURMRV9QUklPUklUWSA9IG1heFNpZ25lZDMxQml0SW50OyAvLyBUYXNrcyBhcmUgc3RvcmVkIG9uIGEgbWluIGhlYXBcXG5cXG52YXIgdGFza1F1ZXVlID0gW107XFxudmFyIHRpbWVyUXVldWUgPSBbXTsgLy8gSW5jcmVtZW50aW5nIGlkIGNvdW50ZXIuIFVzZWQgdG8gbWFpbnRhaW4gaW5zZXJ0aW9uIG9yZGVyLlxcblxcbnZhciB0YXNrSWRDb3VudGVyID0gMTsgLy8gUGF1c2luZyB0aGUgc2NoZWR1bGVyIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLlxcbnZhciBjdXJyZW50VGFzayA9IG51bGw7XFxudmFyIGN1cnJlbnRQcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7IC8vIFRoaXMgaXMgc2V0IHdoaWxlIHBlcmZvcm1pbmcgd29yaywgdG8gcHJldmVudCByZS1lbnRyYW5jeS5cXG5cXG52YXIgaXNQZXJmb3JtaW5nV29yayA9IGZhbHNlO1xcbnZhciBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IGZhbHNlO1xcbnZhciBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XFxuXFxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xcbiAgLy8gQ2hlY2sgZm9yIHRhc2tzIHRoYXQgYXJlIG5vIGxvbmdlciBkZWxheWVkIGFuZCBhZGQgdGhlbSB0byB0aGUgcXVldWUuXFxuICB2YXIgdGltZXIgPSBwZWVrKHRpbWVyUXVldWUpO1xcblxcbiAgd2hpbGUgKHRpbWVyICE9PSBudWxsKSB7XFxuICAgIGlmICh0aW1lci5jYWxsYmFjayA9PT0gbnVsbCkge1xcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXFxuICAgICAgcG9wKHRpbWVyUXVldWUpO1xcbiAgICB9IGVsc2UgaWYgKHRpbWVyLnN0YXJ0VGltZSA8PSBjdXJyZW50VGltZSkge1xcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XFxuICAgICAgdGltZXIuc29ydEluZGV4ID0gdGltZXIuZXhwaXJhdGlvblRpbWU7XFxuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcXG5cXG4gICAgICB7XFxuICAgICAgICBtYXJrVGFza1N0YXJ0KHRpbWVyLCBjdXJyZW50VGltZSk7XFxuICAgICAgICB0aW1lci5pc1F1ZXVlZCA9IHRydWU7XFxuICAgICAgfVxcbiAgICB9IGVsc2Uge1xcbiAgICAgIC8vIFJlbWFpbmluZyB0aW1lcnMgYXJlIHBlbmRpbmcuXFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xcbiAgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XFxuXFxuICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkKSB7XFxuICAgIGlmIChwZWVrKHRhc2tRdWV1ZSkgIT09IG51bGwpIHtcXG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XFxuICAgICAgcmVxdWVzdEhvc3RDYWxsYmFjayhmbHVzaFdvcmspO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcXG5cXG4gICAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcXG4gIHtcXG4gICAgbWFya1NjaGVkdWxlclVuc3VzcGVuZGVkKGluaXRpYWxUaW1lKTtcXG4gIH0gLy8gV2UnbGwgbmVlZCBhIGhvc3QgY2FsbGJhY2sgdGhlIG5leHQgdGltZSB3b3JrIGlzIHNjaGVkdWxlZC5cXG5cXG5cXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XFxuXFxuICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cXG4gICAgaXNIb3N0VGltZW91dFNjaGVkdWxlZCA9IGZhbHNlO1xcbiAgICBjYW5jZWxIb3N0VGltZW91dCgpO1xcbiAgfVxcblxcbiAgaXNQZXJmb3JtaW5nV29yayA9IHRydWU7XFxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XFxuXFxuICB0cnkge1xcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XFxuICAgICAgdHJ5IHtcXG4gICAgICAgIHJldHVybiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSk7XFxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcXG4gICAgICAgIGlmIChjdXJyZW50VGFzayAhPT0gbnVsbCkge1xcbiAgICAgICAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcXG4gICAgICAgICAgY3VycmVudFRhc2suaXNRdWV1ZWQgPSBmYWxzZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHRocm93IGVycm9yO1xcbiAgICAgIH1cXG4gICAgfSBlbHNlIHtcXG4gICAgICAvLyBObyBjYXRjaCBpbiBwcm9kIGNvZGVwYXRoLlxcbiAgICAgIHJldHVybiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSk7XFxuICAgIH1cXG4gIH0gZmluYWxseSB7XFxuICAgIGN1cnJlbnRUYXNrID0gbnVsbDtcXG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XFxuICAgIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcXG5cXG4gICAge1xcbiAgICAgIHZhciBfY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xcblxcbiAgICAgIG1hcmtTY2hlZHVsZXJTdXNwZW5kZWQoX2N1cnJlbnRUaW1lKTtcXG4gICAgfVxcbiAgfVxcbn1cXG5cXG5mdW5jdGlvbiB3b3JrTG9vcChoYXNUaW1lUmVtYWluaW5nLCBpbml0aWFsVGltZSkge1xcbiAgdmFyIGN1cnJlbnRUaW1lID0gaW5pdGlhbFRpbWU7XFxuICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcXG4gIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xcblxcbiAgd2hpbGUgKGN1cnJlbnRUYXNrICE9PSBudWxsICYmICEoZW5hYmxlU2NoZWR1bGVyRGVidWdnaW5nICkpIHtcXG4gICAgaWYgKGN1cnJlbnRUYXNrLmV4cGlyYXRpb25UaW1lID4gY3VycmVudFRpbWUgJiYgKCFoYXNUaW1lUmVtYWluaW5nIHx8IHNob3VsZFlpZWxkVG9Ib3N0KCkpKSB7XFxuICAgICAgLy8gVGhpcyBjdXJyZW50VGFzayBoYXNuJ3QgZXhwaXJlZCwgYW5kIHdlJ3ZlIHJlYWNoZWQgdGhlIGRlYWRsaW5lLlxcbiAgICAgIGJyZWFrO1xcbiAgICB9XFxuXFxuICAgIHZhciBjYWxsYmFjayA9IGN1cnJlbnRUYXNrLmNhbGxiYWNrO1xcblxcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcXG4gICAgICBjdXJyZW50VGFzay5jYWxsYmFjayA9IG51bGw7XFxuICAgICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBjdXJyZW50VGFzay5wcmlvcml0eUxldmVsO1xcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XFxuICAgICAgbWFya1Rhc2tSdW4oY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcXG4gICAgICB2YXIgY29udGludWF0aW9uQ2FsbGJhY2sgPSBjYWxsYmFjayhkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0KTtcXG4gICAgICBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuXFxuICAgICAgaWYgKHR5cGVvZiBjb250aW51YXRpb25DYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xcbiAgICAgICAgY3VycmVudFRhc2suY2FsbGJhY2sgPSBjb250aW51YXRpb25DYWxsYmFjaztcXG4gICAgICAgIG1hcmtUYXNrWWllbGQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAge1xcbiAgICAgICAgICBtYXJrVGFza0NvbXBsZXRlZChjdXJyZW50VGFzaywgY3VycmVudFRpbWUpO1xcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrID09PSBwZWVrKHRhc2tRdWV1ZSkpIHtcXG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xcbiAgICB9XFxuXFxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xcbiAgfSAvLyBSZXR1cm4gd2hldGhlciB0aGVyZSdzIGFkZGl0aW9uYWwgd29ya1xcblxcblxcbiAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XFxuICAgIHJldHVybiB0cnVlO1xcbiAgfSBlbHNlIHtcXG4gICAgdmFyIGZpcnN0VGltZXIgPSBwZWVrKHRpbWVyUXVldWUpO1xcblxcbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xcbiAgICAgIHJlcXVlc3RIb3N0VGltZW91dChoYW5kbGVUaW1lb3V0LCBmaXJzdFRpbWVyLnN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcXG4gICAgfVxcblxcbiAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3J1bldpdGhQcmlvcml0eShwcmlvcml0eUxldmVsLCBldmVudEhhbmRsZXIpIHtcXG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxcbiAgICBjYXNlIExvd1ByaW9yaXR5OlxcbiAgICBjYXNlIElkbGVQcmlvcml0eTpcXG4gICAgICBicmVhaztcXG5cXG4gICAgZGVmYXVsdDpcXG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XFxuICB9XFxuXFxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XFxuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XFxuXFxuICB0cnkge1xcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XFxuICB9IGZpbmFsbHkge1xcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gdW5zdGFibGVfbmV4dChldmVudEhhbmRsZXIpIHtcXG4gIHZhciBwcmlvcml0eUxldmVsO1xcblxcbiAgc3dpdGNoIChjdXJyZW50UHJpb3JpdHlMZXZlbCkge1xcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxcbiAgICAgIC8vIFNoaWZ0IGRvd24gdG8gbm9ybWFsIHByaW9yaXR5XFxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xcbiAgICAgIGJyZWFrO1xcblxcbiAgICBkZWZhdWx0OlxcbiAgICAgIC8vIEFueXRoaW5nIGxvd2VyIHRoYW4gbm9ybWFsIHByaW9yaXR5IHNob3VsZCByZW1haW4gYXQgdGhlIGN1cnJlbnQgbGV2ZWwuXFxuICAgICAgcHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xcbiAgICAgIGJyZWFrO1xcbiAgfVxcblxcbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xcbiAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmlvcml0eUxldmVsO1xcblxcbiAgdHJ5IHtcXG4gICAgcmV0dXJuIGV2ZW50SGFuZGxlcigpO1xcbiAgfSBmaW5hbGx5IHtcXG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3dyYXBDYWxsYmFjayhjYWxsYmFjaykge1xcbiAgdmFyIHBhcmVudFByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XFxuICAgIC8vIFRoaXMgaXMgYSBmb3JrIG9mIHJ1bldpdGhQcmlvcml0eSwgaW5saW5lZCBmb3IgcGVyZm9ybWFuY2UuXFxuICAgIHZhciBwcmV2aW91c1ByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcXG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xcblxcbiAgICB0cnkge1xcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcbiAgICB9IGZpbmFsbHkge1xcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJldmlvdXNQcmlvcml0eUxldmVsO1xcbiAgICB9XFxuICB9O1xcbn1cXG5cXG5mdW5jdGlvbiB0aW1lb3V0Rm9yUHJpb3JpdHlMZXZlbChwcmlvcml0eUxldmVsKSB7XFxuICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcXG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcXG4gICAgICByZXR1cm4gSU1NRURJQVRFX1BSSU9SSVRZX1RJTUVPVVQ7XFxuXFxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHk6XFxuICAgICAgcmV0dXJuIFVTRVJfQkxPQ0tJTkdfUFJJT1JJVFk7XFxuXFxuICAgIGNhc2UgSWRsZVByaW9yaXR5OlxcbiAgICAgIHJldHVybiBJRExFX1BSSU9SSVRZO1xcblxcbiAgICBjYXNlIExvd1ByaW9yaXR5OlxcbiAgICAgIHJldHVybiBMT1dfUFJJT1JJVFlfVElNRU9VVDtcXG5cXG4gICAgY2FzZSBOb3JtYWxQcmlvcml0eTpcXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gTk9STUFMX1BSSU9SSVRZX1RJTUVPVVQ7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcXG4gIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICB2YXIgc3RhcnRUaW1lO1xcbiAgdmFyIHRpbWVvdXQ7XFxuXFxuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnICYmIG9wdGlvbnMgIT09IG51bGwpIHtcXG4gICAgdmFyIGRlbGF5ID0gb3B0aW9ucy5kZWxheTtcXG5cXG4gICAgaWYgKHR5cGVvZiBkZWxheSA9PT0gJ251bWJlcicgJiYgZGVsYXkgPiAwKSB7XFxuICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWUgKyBkZWxheTtcXG4gICAgfSBlbHNlIHtcXG4gICAgICBzdGFydFRpbWUgPSBjdXJyZW50VGltZTtcXG4gICAgfVxcblxcbiAgICB0aW1lb3V0ID0gdHlwZW9mIG9wdGlvbnMudGltZW91dCA9PT0gJ251bWJlcicgPyBvcHRpb25zLnRpbWVvdXQgOiB0aW1lb3V0Rm9yUHJpb3JpdHlMZXZlbChwcmlvcml0eUxldmVsKTtcXG4gIH0gZWxzZSB7XFxuICAgIHRpbWVvdXQgPSB0aW1lb3V0Rm9yUHJpb3JpdHlMZXZlbChwcmlvcml0eUxldmVsKTtcXG4gICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XFxuICB9XFxuXFxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBzdGFydFRpbWUgKyB0aW1lb3V0O1xcbiAgdmFyIG5ld1Rhc2sgPSB7XFxuICAgIGlkOiB0YXNrSWRDb3VudGVyKyssXFxuICAgIGNhbGxiYWNrOiBjYWxsYmFjayxcXG4gICAgcHJpb3JpdHlMZXZlbDogcHJpb3JpdHlMZXZlbCxcXG4gICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsXFxuICAgIGV4cGlyYXRpb25UaW1lOiBleHBpcmF0aW9uVGltZSxcXG4gICAgc29ydEluZGV4OiAtMVxcbiAgfTtcXG5cXG4gIHtcXG4gICAgbmV3VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xcbiAgfVxcblxcbiAgaWYgKHN0YXJ0VGltZSA+IGN1cnJlbnRUaW1lKSB7XFxuICAgIC8vIFRoaXMgaXMgYSBkZWxheWVkIHRhc2suXFxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xcbiAgICBwdXNoKHRpbWVyUXVldWUsIG5ld1Rhc2spO1xcblxcbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcXG4gICAgICAvLyBBbGwgdGFza3MgYXJlIGRlbGF5ZWQsIGFuZCB0aGlzIGlzIHRoZSB0YXNrIHdpdGggdGhlIGVhcmxpZXN0IGRlbGF5LlxcbiAgICAgIGlmIChpc0hvc3RUaW1lb3V0U2NoZWR1bGVkKSB7XFxuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cXG4gICAgICAgIGNhbmNlbEhvc3RUaW1lb3V0KCk7XFxuICAgICAgfSBlbHNlIHtcXG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICAgIH0gLy8gU2NoZWR1bGUgYSB0aW1lb3V0LlxcblxcblxcbiAgICAgIHJlcXVlc3RIb3N0VGltZW91dChoYW5kbGVUaW1lb3V0LCBzdGFydFRpbWUgLSBjdXJyZW50VGltZSk7XFxuICAgIH1cXG4gIH0gZWxzZSB7XFxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gZXhwaXJhdGlvblRpbWU7XFxuICAgIHB1c2godGFza1F1ZXVlLCBuZXdUYXNrKTtcXG5cXG4gICAge1xcbiAgICAgIG1hcmtUYXNrU3RhcnQobmV3VGFzaywgY3VycmVudFRpbWUpO1xcbiAgICAgIG5ld1Rhc2suaXNRdWV1ZWQgPSB0cnVlO1xcbiAgICB9IC8vIFNjaGVkdWxlIGEgaG9zdCBjYWxsYmFjaywgaWYgbmVlZGVkLiBJZiB3ZSdyZSBhbHJlYWR5IHBlcmZvcm1pbmcgd29yayxcXG4gICAgLy8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHdlIHlpZWxkLlxcblxcblxcbiAgICBpZiAoIWlzSG9zdENhbGxiYWNrU2NoZWR1bGVkICYmICFpc1BlcmZvcm1pbmdXb3JrKSB7XFxuICAgICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICAgIHJlcXVlc3RIb3N0Q2FsbGJhY2soZmx1c2hXb3JrKTtcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIG5ld1Rhc2s7XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uKCkge1xcbn1cXG5cXG5mdW5jdGlvbiB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbigpIHtcXG5cXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgJiYgIWlzUGVyZm9ybWluZ1dvcmspIHtcXG4gICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xcbiAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XFxuICB9XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlKCkge1xcbiAgcmV0dXJuIHBlZWsodGFza1F1ZXVlKTtcXG59XFxuXFxuZnVuY3Rpb24gdW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sodGFzaykge1xcbiAge1xcbiAgICBpZiAodGFzay5pc1F1ZXVlZCkge1xcbiAgICAgIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICAgICAgbWFya1Rhc2tDYW5jZWxlZCh0YXNrLCBjdXJyZW50VGltZSk7XFxuICAgICAgdGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xcbiAgICB9XFxuICB9IC8vIE51bGwgb3V0IHRoZSBjYWxsYmFjayB0byBpbmRpY2F0ZSB0aGUgdGFzayBoYXMgYmVlbiBjYW5jZWxlZC4gKENhbid0XFxuICAvLyByZW1vdmUgZnJvbSB0aGUgcXVldWUgYmVjYXVzZSB5b3UgY2FuJ3QgcmVtb3ZlIGFyYml0cmFyeSBub2RlcyBmcm9tIGFuXFxuICAvLyBhcnJheSBiYXNlZCBoZWFwLCBvbmx5IHRoZSBmaXJzdCBvbmUuKVxcblxcblxcbiAgdGFzay5jYWxsYmFjayA9IG51bGw7XFxufVxcblxcbmZ1bmN0aW9uIHVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsKCkge1xcbiAgcmV0dXJuIGN1cnJlbnRQcmlvcml0eUxldmVsO1xcbn1cXG5cXG5mdW5jdGlvbiB1bnN0YWJsZV9zaG91bGRZaWVsZCgpIHtcXG4gIHZhciBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XFxuICBhZHZhbmNlVGltZXJzKGN1cnJlbnRUaW1lKTtcXG4gIHZhciBmaXJzdFRhc2sgPSBwZWVrKHRhc2tRdWV1ZSk7XFxuICByZXR1cm4gZmlyc3RUYXNrICE9PSBjdXJyZW50VGFzayAmJiBjdXJyZW50VGFzayAhPT0gbnVsbCAmJiBmaXJzdFRhc2sgIT09IG51bGwgJiYgZmlyc3RUYXNrLmNhbGxiYWNrICE9PSBudWxsICYmIGZpcnN0VGFzay5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUgJiYgZmlyc3RUYXNrLmV4cGlyYXRpb25UaW1lIDwgY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgfHwgc2hvdWxkWWllbGRUb0hvc3QoKTtcXG59XFxuXFxudmFyIHVuc3RhYmxlX3JlcXVlc3RQYWludCA9IHJlcXVlc3RQYWludDtcXG52YXIgdW5zdGFibGVfUHJvZmlsaW5nID0gIHtcXG4gIHN0YXJ0TG9nZ2luZ1Byb2ZpbGluZ0V2ZW50czogc3RhcnRMb2dnaW5nUHJvZmlsaW5nRXZlbnRzLFxcbiAgc3RvcExvZ2dpbmdQcm9maWxpbmdFdmVudHM6IHN0b3BMb2dnaW5nUHJvZmlsaW5nRXZlbnRzLFxcbiAgc2hhcmVkUHJvZmlsaW5nQnVmZmVyOiBzaGFyZWRQcm9maWxpbmdCdWZmZXJcXG59IDtcXG5cXG5leHBvcnRzLnVuc3RhYmxlX0lkbGVQcmlvcml0eSA9IElkbGVQcmlvcml0eTtcXG5leHBvcnRzLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5ID0gSW1tZWRpYXRlUHJpb3JpdHk7XFxuZXhwb3J0cy51bnN0YWJsZV9Mb3dQcmlvcml0eSA9IExvd1ByaW9yaXR5O1xcbmV4cG9ydHMudW5zdGFibGVfTm9ybWFsUHJpb3JpdHkgPSBOb3JtYWxQcmlvcml0eTtcXG5leHBvcnRzLnVuc3RhYmxlX1Byb2ZpbGluZyA9IHVuc3RhYmxlX1Byb2ZpbGluZztcXG5leHBvcnRzLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gVXNlckJsb2NraW5nUHJpb3JpdHk7XFxuZXhwb3J0cy51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayA9IHVuc3RhYmxlX2NhbmNlbENhbGxiYWNrO1xcbmV4cG9ydHMudW5zdGFibGVfY29udGludWVFeGVjdXRpb24gPSB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbjtcXG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnRQcmlvcml0eUxldmVsID0gdW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWw7XFxuZXhwb3J0cy51bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZSA9IHVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlO1xcbmV4cG9ydHMudW5zdGFibGVfbmV4dCA9IHVuc3RhYmxlX25leHQ7XFxuZXhwb3J0cy51bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbiA9IHVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uO1xcbmV4cG9ydHMudW5zdGFibGVfcmVxdWVzdFBhaW50ID0gdW5zdGFibGVfcmVxdWVzdFBhaW50O1xcbmV4cG9ydHMudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5ID0gdW5zdGFibGVfcnVuV2l0aFByaW9yaXR5O1xcbmV4cG9ydHMudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayA9IHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s7XFxuZXhwb3J0cy51bnN0YWJsZV9zaG91bGRZaWVsZCA9IHVuc3RhYmxlX3Nob3VsZFlpZWxkO1xcbmV4cG9ydHMudW5zdGFibGVfd3JhcENhbGxiYWNrID0gdW5zdGFibGVfd3JhcENhbGxiYWNrO1xcbiAgfSkoKTtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpNWtaWFpsYkc5d2JXVnVkQzVxY3o5aFlUZzFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJXRTdPenM3UVVGSllpeEpRVUZKTEVsQlFYRkRPMEZCUTNwRE8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQkxFOUJRVTg3UVVGRFVEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQkxFTkJRVU03UVVGRFJEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN3eVJFRkJNa1E3TzBGQlJUTkVPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4SFFVRkhPMEZCUTBnN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxIbENRVUY1UWp0QlFVTjZRanRCUVVOQk8wRkJRMEVzT0VKQlFUaENPenRCUVVVNVFqdEJRVU5CTEcxQ1FVRnRRanM3UVVGRmJrSTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFMUJRVTA3T3p0QlFVZE9PMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEN0RFFVRXJRenRCUVVNdlF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hUUVVGVE8wRkJRMVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVER0QlFVTkJMRXRCUVVzN1FVRkRURHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPMEZCUTBnN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hwUTBGQmFVTTdPMEZCUldwRE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEd0SFFVRnJSenM3UVVGRmJFYzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDNRMEZCZDBNN1FVRkRlRU03TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN096dEJRVWRFTzBGQlEwRXNaME5CUVdkRE96dEJRVVZvUXp0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFEUVVGdFF6czdRVUZGYmtNc2IwTkJRVzlET3p0QlFVVndRenRCUVVOQk8wRkJRMEVzYVVOQlFXbERPenRCUVVWcVF5eHpRMEZCYzBNN08wRkJSWFJETzBGQlEwRXNiMEpCUVc5Q096dEJRVVZ3UWl4elFrRkJjMEk3UVVGRGRFSTdRVUZEUVN3d1EwRkJNRU03TzBGQlJURkRPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN096dEJRVWRJT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEU5QlFVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1MwRkJTenRCUVVOTU8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4SFFVRkhPenM3UVVGSFNEdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQkxFdEJRVXM3UVVGRFREdEJRVU5CT3p0QlFVVkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4UFFVRlBPMEZCUTFBN1FVRkRRU3hQUVVGUE96czdRVUZIVUR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1MwRkJTenRCUVVOTU96czdRVUZIUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJMRWRCUVVjN1FVRkRTRHRCUVVOQk96czdRVUZIUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFTkJRVU03TzBGQlJVUTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0NJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2WTJwekwzTmphR1ZrZFd4bGNpNWtaWFpsYkc5d2JXVnVkQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2lCQWJHbGpaVzV6WlNCU1pXRmpkQ0IyTUM0eE9TNHhYRzRnS2lCelkyaGxaSFZzWlhJdVpHVjJaV3h2Y0cxbGJuUXVhbk5jYmlBcVhHNGdLaUJEYjNCNWNtbG5hSFFnS0dNcElFWmhZMlZpYjI5ckxDQkpibU11SUdGdVpDQnBkSE1nWVdabWFXeHBZWFJsY3k1Y2JpQXFYRzRnS2lCVWFHbHpJSE52ZFhKalpTQmpiMlJsSUdseklHeHBZMlZ1YzJWa0lIVnVaR1Z5SUhSb1pTQk5TVlFnYkdsalpXNXpaU0JtYjNWdVpDQnBiaUIwYUdWY2JpQXFJRXhKUTBWT1UwVWdabWxzWlNCcGJpQjBhR1VnY205dmRDQmthWEpsWTNSdmNua2diMllnZEdocGN5QnpiM1Z5WTJVZ2RISmxaUzVjYmlBcUwxeHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNibHh1WEc1cFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnSVQwOUlGd2ljSEp2WkhWamRHbHZibHdpS1NCN1hHNGdJQ2htZFc1amRHbHZiaWdwSUh0Y2JpZDFjMlVnYzNSeWFXTjBKenRjYmx4dWRtRnlJR1Z1WVdKc1pWTmphR1ZrZFd4bGNrUmxZblZuWjJsdVp5QTlJR1poYkhObE8xeHVkbUZ5SUdWdVlXSnNaVkJ5YjJacGJHbHVaeUE5SUhSeWRXVTdYRzVjYm5aaGNpQnlaWEYxWlhOMFNHOXpkRU5oYkd4aVlXTnJPMXh1ZG1GeUlISmxjWFZsYzNSSWIzTjBWR2x0Wlc5MWREdGNiblpoY2lCallXNWpaV3hJYjNOMFZHbHRaVzkxZER0Y2JuWmhjaUJ6YUc5MWJHUlphV1ZzWkZSdlNHOXpkRHRjYm5aaGNpQnlaWEYxWlhOMFVHRnBiblE3WEc1Y2JtbG1JQ2dnTHk4Z1NXWWdVMk5vWldSMWJHVnlJSEoxYm5NZ2FXNGdZU0J1YjI0dFJFOU5JR1Z1ZG1seWIyNXRaVzUwTENCcGRDQm1ZV3hzY3lCaVlXTnJJSFJ2SUdFZ2JtRnBkbVZjYmk4dklHbHRjR3hsYldWdWRHRjBhVzl1SUhWemFXNW5JSE5sZEZScGJXVnZkWFF1WEc1MGVYQmxiMllnZDJsdVpHOTNJRDA5UFNBbmRXNWtaV1pwYm1Wa0p5QjhmQ0F2THlCRGFHVmpheUJwWmlCTlpYTnpZV2RsUTJoaGJtNWxiQ0JwY3lCemRYQndiM0owWldRc0lIUnZieTVjYm5SNWNHVnZaaUJOWlhOellXZGxRMmhoYm01bGJDQWhQVDBnSjJaMWJtTjBhVzl1SnlrZ2UxeHVJQ0F2THlCSlppQjBhR2x6SUdGalkybGtaVzUwWVd4c2VTQm5aWFJ6SUdsdGNHOXlkR1ZrSUdsdUlHRWdibTl1TFdKeWIzZHpaWElnWlc1MmFYSnZibTFsYm5Rc0lHVXVaeTRnU21GMllWTmpjbWx3ZEVOdmNtVXNYRzRnSUM4dklHWmhiR3hpWVdOcklIUnZJR0VnYm1GcGRtVWdhVzF3YkdWdFpXNTBZWFJwYjI0dVhHNGdJSFpoY2lCZlkyRnNiR0poWTJzZ1BTQnVkV3hzTzF4dUlDQjJZWElnWDNScGJXVnZkWFJKUkNBOUlHNTFiR3c3WEc1Y2JpQWdkbUZ5SUY5bWJIVnphRU5oYkd4aVlXTnJJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUdsbUlDaGZZMkZzYkdKaFkyc2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJqZFhKeVpXNTBWR2x0WlNBOUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmJtOTNLQ2s3WEc0Z0lDQWdJQ0FnSUhaaGNpQm9ZWE5TWlcxaGFXNXBibWRVYVcxbElEMGdkSEoxWlR0Y2JseHVJQ0FnSUNBZ0lDQmZZMkZzYkdKaFkyc29hR0Z6VW1WdFlXbHVhVzVuVkdsdFpTd2dZM1Z5Y21WdWRGUnBiV1VwTzF4dVhHNGdJQ0FnSUNBZ0lGOWpZV3hzWW1GamF5QTlJRzUxYkd3N1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJSE5sZEZScGJXVnZkWFFvWDJac2RYTm9RMkZzYkdKaFkyc3NJREFwTzF4dUlDQWdJQ0FnSUNCMGFISnZkeUJsTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCMllYSWdhVzVwZEdsaGJGUnBiV1VnUFNCRVlYUmxMbTV2ZHlncE8xeHVYRzRnSUdWNGNHOXlkSE11ZFc1emRHRmliR1ZmYm05M0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQkVZWFJsTG01dmR5Z3BJQzBnYVc1cGRHbGhiRlJwYldVN1hHNGdJSDA3WEc1Y2JpQWdjbVZ4ZFdWemRFaHZjM1JEWVd4c1ltRmpheUE5SUdaMWJtTjBhVzl1SUNoallpa2dlMXh1SUNBZ0lHbG1JQ2hmWTJGc2JHSmhZMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUM4dklGQnliM1JsWTNRZ1lXZGhhVzV6ZENCeVpTMWxiblJ5WVc1amVTNWNiaUFnSUNBZ0lITmxkRlJwYldWdmRYUW9jbVZ4ZFdWemRFaHZjM1JEWVd4c1ltRmpheXdnTUN3Z1kySXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCZlkyRnNiR0poWTJzZ1BTQmpZanRjYmlBZ0lDQWdJSE5sZEZScGJXVnZkWFFvWDJac2RYTm9RMkZzYkdKaFkyc3NJREFwTzF4dUlDQWdJSDFjYmlBZ2ZUdGNibHh1SUNCeVpYRjFaWE4wU0c5emRGUnBiV1Z2ZFhRZ1BTQm1kVzVqZEdsdmJpQW9ZMklzSUcxektTQjdYRzRnSUNBZ1gzUnBiV1Z2ZFhSSlJDQTlJSE5sZEZScGJXVnZkWFFvWTJJc0lHMXpLVHRjYmlBZ2ZUdGNibHh1SUNCallXNWpaV3hJYjNOMFZHbHRaVzkxZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQmpiR1ZoY2xScGJXVnZkWFFvWDNScGJXVnZkWFJKUkNrN1hHNGdJSDA3WEc1Y2JpQWdjMmh2ZFd4a1dXbGxiR1JVYjBodmMzUWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5TzF4dVhHNGdJSEpsY1hWbGMzUlFZV2x1ZENBOUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZlptOXlZMlZHY21GdFpWSmhkR1VnUFNCbWRXNWpkR2x2YmlBb0tTQjdmVHRjYm4wZ1pXeHpaU0I3WEc0Z0lDOHZJRU5oY0hSMWNtVWdiRzlqWVd3Z2NtVm1aWEpsYm1ObGN5QjBieUJ1WVhScGRtVWdRVkJKY3l3Z2FXNGdZMkZ6WlNCaElIQnZiSGxtYVd4c0lHOTJaWEp5YVdSbGN5QjBhR1Z0TGx4dUlDQjJZWElnY0dWeVptOXliV0Z1WTJVZ1BTQjNhVzVrYjNjdWNHVnlabTl5YldGdVkyVTdYRzRnSUhaaGNpQmZSR0YwWlNBOUlIZHBibVJ2ZHk1RVlYUmxPMXh1SUNCMllYSWdYM05sZEZScGJXVnZkWFFnUFNCM2FXNWtiM2N1YzJWMFZHbHRaVzkxZER0Y2JpQWdkbUZ5SUY5amJHVmhjbFJwYldWdmRYUWdQU0IzYVc1a2IzY3VZMnhsWVhKVWFXMWxiM1YwTzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnWTI5dWMyOXNaU0FoUFQwZ0ozVnVaR1ZtYVc1bFpDY3BJSHRjYmlBZ0lDQXZMeUJVVDBSUE9pQlRZMmhsWkhWc1pYSWdibThnYkc5dVoyVnlJSEpsY1hWcGNtVnpJSFJvWlhObElHMWxkR2h2WkhNZ2RHOGdZbVVnY0c5c2VXWnBiR3hsWkM0Z1FuVjBYRzRnSUNBZ0x5OGdiV0Y1WW1VZ2QyVWdkMkZ1ZENCMGJ5QmpiMjUwYVc1MVpTQjNZWEp1YVc1bklHbG1JSFJvWlhrZ1pHOXVKM1FnWlhocGMzUXNJSFJ2SUhCeVpYTmxjblpsSUhSb1pWeHVJQ0FnSUM4dklHOXdkR2x2YmlCMGJ5QnlaV3g1SUc5dUlHbDBJR2x1SUhSb1pTQm1kWFIxY21VL1hHNGdJQ0FnZG1GeUlISmxjWFZsYzNSQmJtbHRZWFJwYjI1R2NtRnRaU0E5SUhkcGJtUnZkeTV5WlhGMVpYTjBRVzVwYldGMGFXOXVSbkpoYldVN1hHNGdJQ0FnZG1GeUlHTmhibU5sYkVGdWFXMWhkR2x2YmtaeVlXMWxJRDBnZDJsdVpHOTNMbU5oYm1ObGJFRnVhVzFoZEdsdmJrWnlZVzFsT3lBdkx5QlVUMFJQT2lCU1pXMXZkbVVnWm1JdWJXVWdiR2x1YTF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCeVpYRjFaWE4wUVc1cGJXRjBhVzl1Um5KaGJXVWdJVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNBZ0lDOHZJRlZ6YVc1bklHTnZibk52YkdWYkoyVnljbTl5SjEwZ2RHOGdaWFpoWkdVZ1FtRmlaV3dnWVc1a0lFVlRUR2x1ZEZ4dUlDQWdJQ0FnWTI5dWMyOXNaVnNuWlhKeWIzSW5YU2hjSWxSb2FYTWdZbkp2ZDNObGNpQmtiMlZ6YmlkMElITjFjSEJ2Y25RZ2NtVnhkV1Z6ZEVGdWFXMWhkR2x2YmtaeVlXMWxMaUJjSWlBcklDZE5ZV3RsSUhOMWNtVWdkR2hoZENCNWIzVWdiRzloWkNCaElDY2dLeUFuY0c5c2VXWnBiR3dnYVc0Z2IyeGtaWElnWW5KdmQzTmxjbk11SUdoMGRIQnpPaTh2Wm1JdWJXVXZjbVZoWTNRdGNHOXNlV1pwYkd4ekp5azdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFI1Y0dWdlppQmpZVzVqWld4QmJtbHRZWFJwYjI1R2NtRnRaU0FoUFQwZ0oyWjFibU4wYVc5dUp5a2dlMXh1SUNBZ0lDQWdMeThnVlhOcGJtY2dZMjl1YzI5c1pWc25aWEp5YjNJblhTQjBieUJsZG1Ga1pTQkNZV0psYkNCaGJtUWdSVk5NYVc1MFhHNGdJQ0FnSUNCamIyNXpiMnhsV3lkbGNuSnZjaWRkS0Z3aVZHaHBjeUJpY205M2MyVnlJR1J2WlhOdUozUWdjM1Z3Y0c5eWRDQmpZVzVqWld4QmJtbHRZWFJwYjI1R2NtRnRaUzRnWENJZ0t5QW5UV0ZyWlNCemRYSmxJSFJvWVhRZ2VXOTFJR3h2WVdRZ1lTQW5JQ3NnSjNCdmJIbG1hV3hzSUdsdUlHOXNaR1Z5SUdKeWIzZHpaWEp6TGlCb2RIUndjem92TDJaaUxtMWxMM0psWVdOMExYQnZiSGxtYVd4c2N5Y3BPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR2xtSUNoMGVYQmxiMllnY0dWeVptOXliV0Z1WTJVZ1BUMDlJQ2R2WW1wbFkzUW5JQ1ltSUhSNWNHVnZaaUJ3WlhKbWIzSnRZVzVqWlM1dWIzY2dQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCbGVIQnZjblJ6TG5WdWMzUmhZbXhsWDI1dmR5QTlJR1oxYm1OMGFXOXVJQ2dwSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ3WlhKbWIzSnRZVzVqWlM1dWIzY29LVHRjYmlBZ0lDQjlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCZmFXNXBkR2xoYkZScGJXVWdQU0JmUkdGMFpTNXViM2NvS1R0Y2JseHVJQ0FnSUdWNGNHOXlkSE11ZFc1emRHRmliR1ZmYm05M0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVJRjlFWVhSbExtNXZkeWdwSUMwZ1gybHVhWFJwWVd4VWFXMWxPMXh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0IyWVhJZ2FYTk5aWE56WVdkbFRHOXZjRkoxYm01cGJtY2dQU0JtWVd4elpUdGNiaUFnZG1GeUlITmphR1ZrZFd4bFpFaHZjM1JEWVd4c1ltRmpheUE5SUc1MWJHdzdYRzRnSUhaaGNpQjBZWE5yVkdsdFpXOTFkRWxFSUQwZ0xURTdJQzh2SUZOamFHVmtkV3hsY2lCd1pYSnBiMlJwWTJGc2JIa2dlV2xsYkdSeklHbHVJR05oYzJVZ2RHaGxjbVVnYVhNZ2IzUm9aWElnZDI5eWF5QnZiaUIwYUdVZ2JXRnBibHh1SUNBdkx5QjBhSEpsWVdRc0lHeHBhMlVnZFhObGNpQmxkbVZ1ZEhNdUlFSjVJR1JsWm1GMWJIUXNJR2wwSUhscFpXeGtjeUJ0ZFd4MGFYQnNaU0IwYVcxbGN5QndaWElnWm5KaGJXVXVYRzRnSUM4dklFbDBJR1J2WlhNZ2JtOTBJR0YwZEdWdGNIUWdkRzhnWVd4cFoyNGdkMmwwYUNCbWNtRnRaU0JpYjNWdVpHRnlhV1Z6TENCemFXNWpaU0J0YjNOMElIUmhjMnR6SUdSdmJpZDBYRzRnSUM4dklHNWxaV1FnZEc4Z1ltVWdabkpoYldVZ1lXeHBaMjVsWkRzZ1ptOXlJSFJvYjNObElIUm9ZWFFnWkc4c0lIVnpaU0J5WlhGMVpYTjBRVzVwYldGMGFXOXVSbkpoYldVdVhHNWNiaUFnZG1GeUlIbHBaV3hrU1c1MFpYSjJZV3dnUFNBMU8xeHVJQ0IyWVhJZ1pHVmhaR3hwYm1VZ1BTQXdPeUF2THlCVVQwUlBPaUJOWVd0bElIUm9hWE1nWTI5dVptbG5kWEpoWW14bFhHNWNiaUFnZTF4dUlDQWdJQzh2SUdCcGMwbHVjSFYwVUdWdVpHbHVaMkFnYVhNZ2JtOTBJR0YyWVdsc1lXSnNaUzRnVTJsdVkyVWdkMlVnYUdGMlpTQnVieUIzWVhrZ2IyWWdhMjV2ZDJsdVp5QnBabHh1SUNBZ0lDOHZJSFJvWlhKbEozTWdjR1Z1WkdsdVp5QnBibkIxZEN3Z1lXeDNZWGx6SUhscFpXeGtJR0YwSUhSb1pTQmxibVFnYjJZZ2RHaGxJR1p5WVcxbExseHVJQ0FnSUhOb2IzVnNaRmxwWld4a1ZHOUliM04wSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmJtOTNLQ2tnUGowZ1pHVmhaR3hwYm1VN1hHNGdJQ0FnZlRzZ0x5OGdVMmx1WTJVZ2QyVWdlV2xsYkdRZ1pYWmxjbmtnWm5KaGJXVWdjbVZuWVhKa2JHVnpjeXdnWUhKbGNYVmxjM1JRWVdsdWRHQWdhR0Z6SUc1dklHVm1abVZqZEM1Y2JseHVYRzRnSUNBZ2NtVnhkV1Z6ZEZCaGFXNTBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UzMDdYRzRnSUgxY2JseHVJQ0JsZUhCdmNuUnpMblZ1YzNSaFlteGxYMlp2Y21ObFJuSmhiV1ZTWVhSbElEMGdablZ1WTNScGIyNGdLR1p3Y3lrZ2UxeHVJQ0FnSUdsbUlDaG1jSE1nUENBd0lIeDhJR1p3Y3lBK0lERXlOU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZYTnBibWNnWTI5dWMyOXNaVnNuWlhKeWIzSW5YU0IwYnlCbGRtRmtaU0JDWVdKbGJDQmhibVFnUlZOTWFXNTBYRzRnSUNBZ0lDQmpiMjV6YjJ4bFd5ZGxjbkp2Y2lkZEtDZG1iM0pqWlVaeVlXMWxVbUYwWlNCMFlXdGxjeUJoSUhCdmMybDBhWFpsSUdsdWRDQmlaWFIzWldWdUlEQWdZVzVrSURFeU5Td2dKeUFySUNkbWIzSmphVzVuSUdaeVlXMWxjbUYwWlhNZ2FHbG5hR1Z5SUhSb1lXNGdNVEkxSUdad2N5QnBjeUJ1YjNRZ2RXNXpkWEJ3YjNKMFpXUW5LVHRjYmlBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCcFppQW9abkJ6SUQ0Z01Da2dlMXh1SUNBZ0lDQWdlV2xsYkdSSmJuUmxjblpoYkNBOUlFMWhkR2d1Wm14dmIzSW9NVEF3TUNBdklHWndjeWs3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDOHZJSEpsYzJWMElIUm9aU0JtY21GdFpYSmhkR1ZjYmlBZ0lDQWdJSGxwWld4a1NXNTBaWEoyWVd3Z1BTQTFPMXh1SUNBZ0lIMWNiaUFnZlR0Y2JseHVJQ0IyWVhJZ2NHVnlabTl5YlZkdmNtdFZiblJwYkVSbFlXUnNhVzVsSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lHbG1JQ2h6WTJobFpIVnNaV1JJYjNOMFEyRnNiR0poWTJzZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lIWmhjaUJqZFhKeVpXNTBWR2x0WlNBOUlHVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmJtOTNLQ2s3SUM4dklGbHBaV3hrSUdGbWRHVnlJR0I1YVdWc1pFbHVkR1Z5ZG1Gc1lDQnRjeXdnY21WbllYSmtiR1Z6Y3lCdlppQjNhR1Z5WlNCM1pTQmhjbVVnYVc0Z2RHaGxJSFp6ZVc1alhHNGdJQ0FnSUNBdkx5QmplV05zWlM0Z1ZHaHBjeUJ0WldGdWN5QjBhR1Z5WlNkeklHRnNkMkY1Y3lCMGFXMWxJSEpsYldGcGJtbHVaeUJoZENCMGFHVWdZbVZuYVc1dWFXNW5JRzltWEc0Z0lDQWdJQ0F2THlCMGFHVWdiV1Z6YzJGblpTQmxkbVZ1ZEM1Y2JseHVJQ0FnSUNBZ1pHVmhaR3hwYm1VZ1BTQmpkWEp5Wlc1MFZHbHRaU0FySUhscFpXeGtTVzUwWlhKMllXdzdYRzRnSUNBZ0lDQjJZWElnYUdGelZHbHRaVkpsYldGcGJtbHVaeUE5SUhSeWRXVTdYRzVjYmlBZ0lDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJvWVhOTmIzSmxWMjl5YXlBOUlITmphR1ZrZFd4bFpFaHZjM1JEWVd4c1ltRmpheWhvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JqZFhKeVpXNTBWR2x0WlNrN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0NGb1lYTk5iM0psVjI5eWF5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdselRXVnpjMkZuWlV4dmIzQlNkVzV1YVc1bklEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdjMk5vWldSMWJHVmtTRzl6ZEVOaGJHeGlZV05ySUQwZ2JuVnNiRHRjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QkpaaUIwYUdWeVpTZHpJRzF2Y21VZ2QyOXlheXdnYzJOb1pXUjFiR1VnZEdobElHNWxlSFFnYldWemMyRm5aU0JsZG1WdWRDQmhkQ0IwYUdVZ1pXNWtYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2IyWWdkR2hsSUhCeVpXTmxaR2x1WnlCdmJtVXVYRzRnSUNBZ0lDQWdJQ0FnY0c5eWRDNXdiM04wVFdWemMyRm5aU2h1ZFd4c0tUdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lDQWdMeThnU1dZZ1lTQnpZMmhsWkhWc1pYSWdkR0Z6YXlCMGFISnZkM01zSUdWNGFYUWdkR2hsSUdOMWNuSmxiblFnWW5KdmQzTmxjaUIwWVhOcklITnZJSFJvWlZ4dUlDQWdJQ0FnSUNBdkx5Qmxjbkp2Y2lCallXNGdZbVVnYjJKelpYSjJaV1F1WEc0Z0lDQWdJQ0FnSUhCdmNuUXVjRzl6ZEUxbGMzTmhaMlVvYm5Wc2JDazdYRzRnSUNBZ0lDQWdJSFJvY205M0lHVnljbTl5TzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnBjMDFsYzNOaFoyVk1iMjl3VW5WdWJtbHVaeUE5SUdaaGJITmxPMXh1SUNBZ0lIMGdMeThnV1dsbGJHUnBibWNnZEc4Z2RHaGxJR0p5YjNkelpYSWdkMmxzYkNCbmFYWmxJR2wwSUdFZ1kyaGhibU5sSUhSdklIQmhhVzUwTENCemJ5QjNaU0JqWVc1Y2JpQWdmVHRjYmx4dUlDQjJZWElnWTJoaGJtNWxiQ0E5SUc1bGR5Qk5aWE56WVdkbFEyaGhibTVsYkNncE8xeHVJQ0IyWVhJZ2NHOXlkQ0E5SUdOb1lXNXVaV3d1Y0c5eWRESTdYRzRnSUdOb1lXNXVaV3d1Y0c5eWRERXViMjV0WlhOellXZGxJRDBnY0dWeVptOXliVmR2Y210VmJuUnBiRVJsWVdSc2FXNWxPMXh1WEc0Z0lISmxjWFZsYzNSSWIzTjBRMkZzYkdKaFkyc2dQU0JtZFc1amRHbHZiaUFvWTJGc2JHSmhZMnNwSUh0Y2JpQWdJQ0J6WTJobFpIVnNaV1JJYjNOMFEyRnNiR0poWTJzZ1BTQmpZV3hzWW1GamF6dGNibHh1SUNBZ0lHbG1JQ2doYVhOTlpYTnpZV2RsVEc5dmNGSjFibTVwYm1jcElIdGNiaUFnSUNBZ0lHbHpUV1Z6YzJGblpVeHZiM0JTZFc1dWFXNW5JRDBnZEhKMVpUdGNiaUFnSUNBZ0lIQnZjblF1Y0c5emRFMWxjM05oWjJVb2JuVnNiQ2s3WEc0Z0lDQWdmVnh1SUNCOU8xeHVYRzRnSUhKbGNYVmxjM1JJYjNOMFZHbHRaVzkxZENBOUlHWjFibU4wYVc5dUlDaGpZV3hzWW1GamF5d2diWE1wSUh0Y2JpQWdJQ0IwWVhOclZHbHRaVzkxZEVsRUlEMGdYM05sZEZScGJXVnZkWFFvWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUNBZ1kyRnNiR0poWTJzb1pYaHdiM0owY3k1MWJuTjBZV0pzWlY5dWIzY29LU2s3WEc0Z0lDQWdmU3dnYlhNcE8xeHVJQ0I5TzF4dVhHNGdJR05oYm1ObGJFaHZjM1JVYVcxbGIzVjBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUY5amJHVmhjbFJwYldWdmRYUW9kR0Z6YTFScGJXVnZkWFJKUkNrN1hHNWNiaUFnSUNCMFlYTnJWR2x0Wlc5MWRFbEVJRDBnTFRFN1hHNGdJSDA3WEc1OVhHNWNibVoxYm1OMGFXOXVJSEIxYzJnb2FHVmhjQ3dnYm05a1pTa2dlMXh1SUNCMllYSWdhVzVrWlhnZ1BTQm9aV0Z3TG14bGJtZDBhRHRjYmlBZ2FHVmhjQzV3ZFhOb0tHNXZaR1VwTzF4dUlDQnphV1owVlhBb2FHVmhjQ3dnYm05a1pTd2dhVzVrWlhncE8xeHVmVnh1Wm5WdVkzUnBiMjRnY0dWbGF5aG9aV0Z3S1NCN1hHNGdJSFpoY2lCbWFYSnpkQ0E5SUdobFlYQmJNRjA3WEc0Z0lISmxkSFZ5YmlCbWFYSnpkQ0E5UFQwZ2RXNWtaV1pwYm1Wa0lEOGdiblZzYkNBNklHWnBjbk4wTzF4dWZWeHVablZ1WTNScGIyNGdjRzl3S0dobFlYQXBJSHRjYmlBZ2RtRnlJR1pwY25OMElEMGdhR1ZoY0Zzd1hUdGNibHh1SUNCcFppQW9abWx5YzNRZ0lUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJSFpoY2lCc1lYTjBJRDBnYUdWaGNDNXdiM0FvS1R0Y2JseHVJQ0FnSUdsbUlDaHNZWE4wSUNFOVBTQm1hWEp6ZENrZ2UxeHVJQ0FnSUNBZ2FHVmhjRnN3WFNBOUlHeGhjM1E3WEc0Z0lDQWdJQ0J6YVdaMFJHOTNiaWhvWldGd0xDQnNZWE4wTENBd0tUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnWm1seWMzUTdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdjbVYwZFhKdUlHNTFiR3c3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2MybG1kRlZ3S0dobFlYQXNJRzV2WkdVc0lHa3BJSHRjYmlBZ2RtRnlJR2x1WkdWNElEMGdhVHRjYmx4dUlDQjNhR2xzWlNBb2RISjFaU2tnZTF4dUlDQWdJSFpoY2lCd1lYSmxiblJKYm1SbGVDQTlJR2x1WkdWNElDMGdNU0ErUGo0Z01UdGNiaUFnSUNCMllYSWdjR0Z5Wlc1MElEMGdhR1ZoY0Z0d1lYSmxiblJKYm1SbGVGMDdYRzVjYmlBZ0lDQnBaaUFvY0dGeVpXNTBJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdZMjl0Y0dGeVpTaHdZWEpsYm5Rc0lHNXZaR1VwSUQ0Z01Da2dlMXh1SUNBZ0lDQWdMeThnVkdobElIQmhjbVZ1ZENCcGN5QnNZWEpuWlhJdUlGTjNZWEFnY0c5emFYUnBiMjV6TGx4dUlDQWdJQ0FnYUdWaGNGdHdZWEpsYm5SSmJtUmxlRjBnUFNCdWIyUmxPMXh1SUNBZ0lDQWdhR1ZoY0Z0cGJtUmxlRjBnUFNCd1lYSmxiblE3WEc0Z0lDQWdJQ0JwYm1SbGVDQTlJSEJoY21WdWRFbHVaR1Y0TzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQXZMeUJVYUdVZ2NHRnlaVzUwSUdseklITnRZV3hzWlhJdUlFVjRhWFF1WEc0Z0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJSE5wWm5SRWIzZHVLR2hsWVhBc0lHNXZaR1VzSUdrcElIdGNiaUFnZG1GeUlHbHVaR1Y0SUQwZ2FUdGNiaUFnZG1GeUlHeGxibWQwYUNBOUlHaGxZWEF1YkdWdVozUm9PMXh1WEc0Z0lIZG9hV3hsSUNocGJtUmxlQ0E4SUd4bGJtZDBhQ2tnZTF4dUlDQWdJSFpoY2lCc1pXWjBTVzVrWlhnZ1BTQW9hVzVrWlhnZ0t5QXhLU0FxSURJZ0xTQXhPMXh1SUNBZ0lIWmhjaUJzWldaMElEMGdhR1ZoY0Z0c1pXWjBTVzVrWlhoZE8xeHVJQ0FnSUhaaGNpQnlhV2RvZEVsdVpHVjRJRDBnYkdWbWRFbHVaR1Y0SUNzZ01UdGNiaUFnSUNCMllYSWdjbWxuYUhRZ1BTQm9aV0Z3VzNKcFoyaDBTVzVrWlhoZE95QXZMeUJKWmlCMGFHVWdiR1ZtZENCdmNpQnlhV2RvZENCdWIyUmxJR2x6SUhOdFlXeHNaWElzSUhOM1lYQWdkMmwwYUNCMGFHVWdjMjFoYkd4bGNpQnZaaUIwYUc5elpTNWNibHh1SUNBZ0lHbG1JQ2hzWldaMElDRTlQU0IxYm1SbFptbHVaV1FnSmlZZ1kyOXRjR0Z5WlNoc1pXWjBMQ0J1YjJSbEtTQThJREFwSUh0Y2JpQWdJQ0FnSUdsbUlDaHlhV2RvZENBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUdOdmJYQmhjbVVvY21sbmFIUXNJR3hsWm5RcElEd2dNQ2tnZTF4dUlDQWdJQ0FnSUNCb1pXRndXMmx1WkdWNFhTQTlJSEpwWjJoME8xeHVJQ0FnSUNBZ0lDQm9aV0Z3VzNKcFoyaDBTVzVrWlhoZElEMGdibTlrWlR0Y2JpQWdJQ0FnSUNBZ2FXNWtaWGdnUFNCeWFXZG9kRWx1WkdWNE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FHVmhjRnRwYm1SbGVGMGdQU0JzWldaME8xeHVJQ0FnSUNBZ0lDQm9aV0Z3VzJ4bFpuUkpibVJsZUYwZ1BTQnViMlJsTzF4dUlDQWdJQ0FnSUNCcGJtUmxlQ0E5SUd4bFpuUkpibVJsZUR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5SUdWc2MyVWdhV1lnS0hKcFoyaDBJQ0U5UFNCMWJtUmxabWx1WldRZ0ppWWdZMjl0Y0dGeVpTaHlhV2RvZEN3Z2JtOWtaU2tnUENBd0tTQjdYRzRnSUNBZ0lDQm9aV0Z3VzJsdVpHVjRYU0E5SUhKcFoyaDBPMXh1SUNBZ0lDQWdhR1ZoY0Z0eWFXZG9kRWx1WkdWNFhTQTlJRzV2WkdVN1hHNGdJQ0FnSUNCcGJtUmxlQ0E5SUhKcFoyaDBTVzVrWlhnN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQzh2SUU1bGFYUm9aWElnWTJocGJHUWdhWE1nYzIxaGJHeGxjaTRnUlhocGRDNWNiaUFnSUNBZ0lISmxkSFZ5Ymp0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1kyOXRjR0Z5WlNoaExDQmlLU0I3WEc0Z0lDOHZJRU52YlhCaGNtVWdjMjl5ZENCcGJtUmxlQ0JtYVhKemRDd2dkR2hsYmlCMFlYTnJJR2xrTGx4dUlDQjJZWElnWkdsbVppQTlJR0V1YzI5eWRFbHVaR1Y0SUMwZ1lpNXpiM0owU1c1a1pYZzdYRzRnSUhKbGRIVnliaUJrYVdabUlDRTlQU0F3SUQ4Z1pHbG1aaUE2SUdFdWFXUWdMU0JpTG1sa08xeHVmVnh1WEc0dkx5QlVUMFJQT2lCVmMyVWdjM2x0WW05c2N6OWNiblpoY2lCT2IxQnlhVzl5YVhSNUlEMGdNRHRjYm5aaGNpQkpiVzFsWkdsaGRHVlFjbWx2Y21sMGVTQTlJREU3WEc1MllYSWdWWE5sY2tKc2IyTnJhVzVuVUhKcGIzSnBkSGtnUFNBeU8xeHVkbUZ5SUU1dmNtMWhiRkJ5YVc5eWFYUjVJRDBnTXp0Y2JuWmhjaUJNYjNkUWNtbHZjbWwwZVNBOUlEUTdYRzUyWVhJZ1NXUnNaVkJ5YVc5eWFYUjVJRDBnTlR0Y2JseHVkbUZ5SUhKMWJrbGtRMjkxYm5SbGNpQTlJREE3WEc1MllYSWdiV0ZwYmxSb2NtVmhaRWxrUTI5MWJuUmxjaUE5SURBN1hHNTJZWElnY0hKdlptbHNhVzVuVTNSaGRHVlRhWHBsSUQwZ05EdGNiblpoY2lCemFHRnlaV1JRY205bWFXeHBibWRDZFdabVpYSWdQU0FnTHk4Z0pFWnNiM2RHYVhoTlpTQkdiRzkzSUdSdlpYTnVKM1FnYTI1dmR5QmhZbTkxZENCVGFHRnlaV1JCY25KaGVVSjFabVpsY2x4dWRIbHdaVzltSUZOb1lYSmxaRUZ5Y21GNVFuVm1abVZ5SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnYm1WM0lGTm9ZWEpsWkVGeWNtRjVRblZtWm1WeUtIQnliMlpwYkdsdVoxTjBZWFJsVTJsNlpTQXFJRWx1ZERNeVFYSnlZWGt1UWxsVVJWTmZVRVZTWDBWTVJVMUZUbFFwSURvZ0x5OGdKRVpzYjNkR2FYaE5aU0JHYkc5M0lHUnZaWE51SjNRZ2EyNXZkeUJoWW05MWRDQkJjbkpoZVVKMVptWmxjbHh1ZEhsd1pXOW1JRUZ5Y21GNVFuVm1abVZ5SUQwOVBTQW5ablZ1WTNScGIyNG5JRDhnYm1WM0lFRnljbUY1UW5WbVptVnlLSEJ5YjJacGJHbHVaMU4wWVhSbFUybDZaU0FxSUVsdWRETXlRWEp5WVhrdVFsbFVSVk5mVUVWU1gwVk1SVTFGVGxRcElEb2diblZzYkNBdkx5QkViMjRuZENCamNtRnphQ0IwYUdVZ2FXNXBkQ0J3WVhSb0lHOXVJRWxGT1Z4dU8xeHVkbUZ5SUhCeWIyWnBiR2x1WjFOMFlYUmxJRDBnSUhOb1lYSmxaRkJ5YjJacGJHbHVaMEoxWm1abGNpQWhQVDBnYm5Wc2JDQS9JRzVsZHlCSmJuUXpNa0Z5Y21GNUtITm9ZWEpsWkZCeWIyWnBiR2x1WjBKMVptWmxjaWtnT2lCYlhUc2dMeThnVjJVZ1kyRnVKM1FnY21WaFpDQjBhR2x6SUdKMWRDQnBkQ0JvWld4d2N5QnpZWFpsSUdKNWRHVnpJR1p2Y2lCdWRXeHNJR05vWldOcmMxeHVYRzUyWVhJZ1VGSkpUMUpKVkZrZ1BTQXdPMXh1ZG1GeUlFTlZVbEpGVGxSZlZFRlRTMTlKUkNBOUlERTdYRzUyWVhJZ1ExVlNVa1ZPVkY5U1ZVNWZTVVFnUFNBeU8xeHVkbUZ5SUZGVlJWVkZYMU5KV2tVZ1BTQXpPMXh1WEc1N1hHNGdJSEJ5YjJacGJHbHVaMU4wWVhSbFcxQlNTVTlTU1ZSWlhTQTlJRTV2VUhKcGIzSnBkSGs3SUM4dklGUm9hWE1nYVhNZ2JXRnBiblJoYVc1bFpDQjNhWFJvSUdFZ1kyOTFiblJsY2l3Z1ltVmpZWFZ6WlNCMGFHVWdjMmw2WlNCdlppQjBhR1VnY0hKcGIzSnBkSGtnY1hWbGRXVmNiaUFnTHk4Z1lYSnlZWGtnYldsbmFIUWdhVzVqYkhWa1pTQmpZVzVqWld4bFpDQjBZWE5yY3k1Y2JseHVJQ0J3Y205bWFXeHBibWRUZEdGMFpWdFJWVVZWUlY5VFNWcEZYU0E5SURBN1hHNGdJSEJ5YjJacGJHbHVaMU4wWVhSbFcwTlZVbEpGVGxSZlZFRlRTMTlKUkYwZ1BTQXdPMXh1ZlNBdkx5QkNlWFJsY3lCd1pYSWdaV3hsYldWdWRDQnBjeUEwWEc1Y2JseHVkbUZ5SUVsT1NWUkpRVXhmUlZaRlRsUmZURTlIWDFOSldrVWdQU0F4TXpFd056STdYRzUyWVhJZ1RVRllYMFZXUlU1VVgweFBSMTlUU1ZwRklEMGdOVEkwTWpnNE95QXZMeUJGY1hWcGRtRnNaVzUwSUhSdklESWdiV1ZuWVdKNWRHVnpYRzVjYm5aaGNpQmxkbVZ1ZEV4dloxTnBlbVVnUFNBd08xeHVkbUZ5SUdWMlpXNTBURzluUW5WbVptVnlJRDBnYm5Wc2JEdGNiblpoY2lCbGRtVnVkRXh2WnlBOUlHNTFiR3c3WEc1MllYSWdaWFpsYm5STWIyZEpibVJsZUNBOUlEQTdYRzUyWVhJZ1ZHRnphMU4wWVhKMFJYWmxiblFnUFNBeE8xeHVkbUZ5SUZSaGMydERiMjF3YkdWMFpVVjJaVzUwSUQwZ01qdGNiblpoY2lCVVlYTnJSWEp5YjNKRmRtVnVkQ0E5SURNN1hHNTJZWElnVkdGemEwTmhibU5sYkVWMlpXNTBJRDBnTkR0Y2JuWmhjaUJVWVhOclVuVnVSWFpsYm5RZ1BTQTFPMXh1ZG1GeUlGUmhjMnRaYVdWc1pFVjJaVzUwSUQwZ05qdGNiblpoY2lCVFkyaGxaSFZzWlhKVGRYTndaVzVrUlhabGJuUWdQU0EzTzF4dWRtRnlJRk5qYUdWa2RXeGxjbEpsYzNWdFpVVjJaVzUwSUQwZ09EdGNibHh1Wm5WdVkzUnBiMjRnYkc5blJYWmxiblFvWlc1MGNtbGxjeWtnZTF4dUlDQnBaaUFvWlhabGJuUk1iMmNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0IyWVhJZ2IyWm1jMlYwSUQwZ1pYWmxiblJNYjJkSmJtUmxlRHRjYmlBZ0lDQmxkbVZ1ZEV4dlowbHVaR1Y0SUNzOUlHVnVkSEpwWlhNdWJHVnVaM1JvTzF4dVhHNGdJQ0FnYVdZZ0tHVjJaVzUwVEc5blNXNWtaWGdnS3lBeElENGdaWFpsYm5STWIyZFRhWHBsS1NCN1hHNGdJQ0FnSUNCbGRtVnVkRXh2WjFOcGVtVWdLajBnTWp0Y2JseHVJQ0FnSUNBZ2FXWWdLR1YyWlc1MFRHOW5VMmw2WlNBK0lFMUJXRjlGVmtWT1ZGOU1UMGRmVTBsYVJTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCVmMybHVaeUJqYjI1emIyeGxXeWRsY25KdmNpZGRJSFJ2SUdWMllXUmxJRUpoWW1Wc0lHRnVaQ0JGVTB4cGJuUmNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pWc25aWEp5YjNJblhTaGNJbE5qYUdWa2RXeGxjaUJRY205bWFXeHBibWM2SUVWMlpXNTBJR3h2WnlCbGVHTmxaV1JsWkNCdFlYaHBiWFZ0SUhOcGVtVXVJRVJ2YmlkMElGd2lJQ3NnSjJadmNtZGxkQ0IwYnlCallXeHNJR0J6ZEc5d1RHOW5aMmx1WjFCeWIyWnBiR2x1WjBWMlpXNTBjeWdwWUM0bktUdGNiaUFnSUNBZ0lDQWdjM1J2Y0V4dloyZHBibWRRY205bWFXeHBibWRGZG1WdWRITW9LVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0IyWVhJZ2JtVjNSWFpsYm5STWIyY2dQU0J1WlhjZ1NXNTBNekpCY25KaGVTaGxkbVZ1ZEV4dloxTnBlbVVnS2lBMEtUdGNiaUFnSUNBZ0lHNWxkMFYyWlc1MFRHOW5Mbk5sZENobGRtVnVkRXh2WnlrN1hHNGdJQ0FnSUNCbGRtVnVkRXh2WjBKMVptWmxjaUE5SUc1bGQwVjJaVzUwVEc5bkxtSjFabVpsY2p0Y2JpQWdJQ0FnSUdWMlpXNTBURzluSUQwZ2JtVjNSWFpsYm5STWIyYzdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1pYWmxiblJNYjJjdWMyVjBLR1Z1ZEhKcFpYTXNJRzltWm5ObGRDazdYRzRnSUgxY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzNSaGNuUk1iMmRuYVc1blVISnZabWxzYVc1blJYWmxiblJ6S0NrZ2UxeHVJQ0JsZG1WdWRFeHZaMU5wZW1VZ1BTQkpUa2xVU1VGTVgwVldSVTVVWDB4UFIxOVRTVnBGTzF4dUlDQmxkbVZ1ZEV4dlowSjFabVpsY2lBOUlHNWxkeUJCY25KaGVVSjFabVpsY2lobGRtVnVkRXh2WjFOcGVtVWdLaUEwS1R0Y2JpQWdaWFpsYm5STWIyY2dQU0J1WlhjZ1NXNTBNekpCY25KaGVTaGxkbVZ1ZEV4dlowSjFabVpsY2lrN1hHNGdJR1YyWlc1MFRHOW5TVzVrWlhnZ1BTQXdPMXh1ZlZ4dVpuVnVZM1JwYjI0Z2MzUnZjRXh2WjJkcGJtZFFjbTltYVd4cGJtZEZkbVZ1ZEhNb0tTQjdYRzRnSUhaaGNpQmlkV1ptWlhJZ1BTQmxkbVZ1ZEV4dlowSjFabVpsY2p0Y2JpQWdaWFpsYm5STWIyZFRhWHBsSUQwZ01EdGNiaUFnWlhabGJuUk1iMmRDZFdabVpYSWdQU0J1ZFd4c08xeHVJQ0JsZG1WdWRFeHZaeUE5SUc1MWJHdzdYRzRnSUdWMlpXNTBURzluU1c1a1pYZ2dQU0F3TzF4dUlDQnlaWFIxY200Z1luVm1abVZ5TzF4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTFSaGMydFRkR0Z5ZENoMFlYTnJMQ0J0Y3lrZ2UxeHVJQ0I3WEc0Z0lDQWdjSEp2Wm1sc2FXNW5VM1JoZEdWYlVWVkZWVVZmVTBsYVJWMHJLenRjYmx4dUlDQWdJR2xtSUNobGRtVnVkRXh2WnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdjR1Z5Wm05eWJXRnVZMlV1Ym05M0lISmxkSFZ5Ym5NZ1lTQm1iRzloZEN3Z2NtVndjbVZ6Wlc1MGFXNW5JRzFwYkd4cGMyVmpiMjVrY3k0Z1YyaGxiaUIwYUdWY2JpQWdJQ0FnSUM4dklHVjJaVzUwSUdseklHeHZaMmRsWkN3Z2FYUW5jeUJqYjJWeVkyVmtJSFJ2SUdGdUlHbHVkQzRnUTI5dWRtVnlkQ0IwYnlCdGFXTnliM05sWTI5dVpITWdkRzljYmlBZ0lDQWdJQzh2SUcxaGFXNTBZV2x1SUdWNGRISmhJR1JsWjNKbFpYTWdiMllnY0hKbFkybHphVzl1TGx4dUlDQWdJQ0FnYkc5blJYWmxiblFvVzFSaGMydFRkR0Z5ZEVWMlpXNTBMQ0J0Y3lBcUlERXdNREFzSUhSaGMyc3VhV1FzSUhSaGMyc3VjSEpwYjNKcGRIbE1aWFpsYkYwcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVpuVnVZM1JwYjI0Z2JXRnlhMVJoYzJ0RGIyMXdiR1YwWldRb2RHRnpheXdnYlhNcElIdGNiaUFnZTF4dUlDQWdJSEJ5YjJacGJHbHVaMU4wWVhSbFcxQlNTVTlTU1ZSWlhTQTlJRTV2VUhKcGIzSnBkSGs3WEc0Z0lDQWdjSEp2Wm1sc2FXNW5VM1JoZEdWYlExVlNVa1ZPVkY5VVFWTkxYMGxFWFNBOUlEQTdYRzRnSUNBZ2NISnZabWxzYVc1blUzUmhkR1ZiVVZWRlZVVmZVMGxhUlYwdExUdGNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRFeHZaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYkc5blJYWmxiblFvVzFSaGMydERiMjF3YkdWMFpVVjJaVzUwTENCdGN5QXFJREV3TURBc0lIUmhjMnN1YVdSZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRVWVhOclEyRnVZMlZzWldRb2RHRnpheXdnYlhNcElIdGNiaUFnZTF4dUlDQWdJSEJ5YjJacGJHbHVaMU4wWVhSbFcxRlZSVlZGWDFOSldrVmRMUzA3WEc1Y2JpQWdJQ0JwWmlBb1pYWmxiblJNYjJjZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNBZ0lHeHZaMFYyWlc1MEtGdFVZWE5yUTJGdVkyVnNSWFpsYm5Rc0lHMXpJQ29nTVRBd01Dd2dkR0Z6YXk1cFpGMHBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVablZ1WTNScGIyNGdiV0Z5YTFSaGMydEZjbkp2Y21Wa0tIUmhjMnNzSUcxektTQjdYRzRnSUh0Y2JpQWdJQ0J3Y205bWFXeHBibWRUZEdGMFpWdFFVa2xQVWtsVVdWMGdQU0JPYjFCeWFXOXlhWFI1TzF4dUlDQWdJSEJ5YjJacGJHbHVaMU4wWVhSbFcwTlZVbEpGVGxSZlZFRlRTMTlKUkYwZ1BTQXdPMXh1SUNBZ0lIQnliMlpwYkdsdVoxTjBZWFJsVzFGVlJWVkZYMU5KV2tWZExTMDdYRzVjYmlBZ0lDQnBaaUFvWlhabGJuUk1iMmNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUd4dlowVjJaVzUwS0Z0VVlYTnJSWEp5YjNKRmRtVnVkQ3dnYlhNZ0tpQXhNREF3TENCMFlYTnJMbWxrWFNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzU5WEc1bWRXNWpkR2x2YmlCdFlYSnJWR0Z6YTFKMWJpaDBZWE5yTENCdGN5a2dlMXh1SUNCN1hHNGdJQ0FnY25WdVNXUkRiM1Z1ZEdWeUt5czdYRzRnSUNBZ2NISnZabWxzYVc1blUzUmhkR1ZiVUZKSlQxSkpWRmxkSUQwZ2RHRnpheTV3Y21sdmNtbDBlVXhsZG1Wc08xeHVJQ0FnSUhCeWIyWnBiR2x1WjFOMFlYUmxXME5WVWxKRlRsUmZWRUZUUzE5SlJGMGdQU0IwWVhOckxtbGtPMXh1SUNBZ0lIQnliMlpwYkdsdVoxTjBZWFJsVzBOVlVsSkZUbFJmVWxWT1gwbEVYU0E5SUhKMWJrbGtRMjkxYm5SbGNqdGNibHh1SUNBZ0lHbG1JQ2hsZG1WdWRFeHZaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJQ0FnYkc5blJYWmxiblFvVzFSaGMydFNkVzVGZG1WdWRDd2diWE1nS2lBeE1EQXdMQ0IwWVhOckxtbGtMQ0J5ZFc1SlpFTnZkVzUwWlhKZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRVWVhOcldXbGxiR1FvZEdGemF5d2diWE1wSUh0Y2JpQWdlMXh1SUNBZ0lIQnliMlpwYkdsdVoxTjBZWFJsVzFCU1NVOVNTVlJaWFNBOUlFNXZVSEpwYjNKcGRIazdYRzRnSUNBZ2NISnZabWxzYVc1blUzUmhkR1ZiUTFWU1VrVk9WRjlVUVZOTFgwbEVYU0E5SURBN1hHNGdJQ0FnY0hKdlptbHNhVzVuVTNSaGRHVmJRMVZTVWtWT1ZGOVNWVTVmU1VSZElEMGdNRHRjYmx4dUlDQWdJR2xtSUNobGRtVnVkRXh2WnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ2JHOW5SWFpsYm5Rb1cxUmhjMnRaYVdWc1pFVjJaVzUwTENCdGN5QXFJREV3TURBc0lIUmhjMnN1YVdRc0lISjFia2xrUTI5MWJuUmxjbDBwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVmVnh1Wm5WdVkzUnBiMjRnYldGeWExTmphR1ZrZFd4bGNsTjFjM0JsYm1SbFpDaHRjeWtnZTF4dUlDQjdYRzRnSUNBZ2JXRnBibFJvY21WaFpFbGtRMjkxYm5SbGNpc3JPMXh1WEc0Z0lDQWdhV1lnS0dWMlpXNTBURzluSUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCc2IyZEZkbVZ1ZENoYlUyTm9aV1IxYkdWeVUzVnpjR1Z1WkVWMlpXNTBMQ0J0Y3lBcUlERXdNREFzSUcxaGFXNVVhSEpsWVdSSlpFTnZkVzUwWlhKZEtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JtWjFibU4wYVc5dUlHMWhjbXRUWTJobFpIVnNaWEpWYm5OMWMzQmxibVJsWkNodGN5a2dlMXh1SUNCN1hHNGdJQ0FnYVdZZ0tHVjJaVzUwVEc5bklDRTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnNiMmRGZG1WdWRDaGJVMk5vWldSMWJHVnlVbVZ6ZFcxbFJYWmxiblFzSUcxeklDb2dNVEF3TUN3Z2JXRnBibFJvY21WaFpFbGtRMjkxYm5SbGNsMHBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzR2S2lCbGMyeHBiblF0WkdsellXSnNaU0J1YnkxMllYSWdLaTljYmk4dklFMWhkR2d1Y0c5M0tESXNJRE13S1NBdElERmNiaTh2SURCaU1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhNVEV4TVRFeE1URXhYRzVjYm5aaGNpQnRZWGhUYVdkdVpXUXpNVUpwZEVsdWRDQTlJREV3TnpNM05ERTRNak03SUM4dklGUnBiV1Z6SUc5MWRDQnBiVzFsWkdsaGRHVnNlVnh1WEc1MllYSWdTVTFOUlVSSlFWUkZYMUJTU1U5U1NWUlpYMVJKVFVWUFZWUWdQU0F0TVRzZ0x5OGdSWFpsYm5SMVlXeHNlU0IwYVcxbGN5QnZkWFJjYmx4dWRtRnlJRlZUUlZKZlFreFBRMHRKVGtkZlVGSkpUMUpKVkZrZ1BTQXlOVEE3WEc1MllYSWdUazlTVFVGTVgxQlNTVTlTU1ZSWlgxUkpUVVZQVlZRZ1BTQTFNREF3TzF4dWRtRnlJRXhQVjE5UVVrbFBVa2xVV1Y5VVNVMUZUMVZVSUQwZ01UQXdNREE3SUM4dklFNWxkbVZ5SUhScGJXVnpJRzkxZEZ4dVhHNTJZWElnU1VSTVJWOVFVa2xQVWtsVVdTQTlJRzFoZUZOcFoyNWxaRE14UW1sMFNXNTBPeUF2THlCVVlYTnJjeUJoY21VZ2MzUnZjbVZrSUc5dUlHRWdiV2x1SUdobFlYQmNibHh1ZG1GeUlIUmhjMnRSZFdWMVpTQTlJRnRkTzF4dWRtRnlJSFJwYldWeVVYVmxkV1VnUFNCYlhUc2dMeThnU1c1amNtVnRaVzUwYVc1bklHbGtJR052ZFc1MFpYSXVJRlZ6WldRZ2RHOGdiV0ZwYm5SaGFXNGdhVzV6WlhKMGFXOXVJRzl5WkdWeUxseHVYRzUyWVhJZ2RHRnphMGxrUTI5MWJuUmxjaUE5SURFN0lDOHZJRkJoZFhOcGJtY2dkR2hsSUhOamFHVmtkV3hsY2lCcGN5QjFjMlZtZFd3Z1ptOXlJR1JsWW5WbloybHVaeTVjYm5aaGNpQmpkWEp5Wlc1MFZHRnpheUE5SUc1MWJHdzdYRzUyWVhJZ1kzVnljbVZ1ZEZCeWFXOXlhWFI1VEdWMlpXd2dQU0JPYjNKdFlXeFFjbWx2Y21sMGVUc2dMeThnVkdocGN5QnBjeUJ6WlhRZ2QyaHBiR1VnY0dWeVptOXliV2x1WnlCM2IzSnJMQ0IwYnlCd2NtVjJaVzUwSUhKbExXVnVkSEpoYm1ONUxseHVYRzUyWVhJZ2FYTlFaWEptYjNKdGFXNW5WMjl5YXlBOUlHWmhiSE5sTzF4dWRtRnlJR2x6U0c5emRFTmhiR3hpWVdOclUyTm9aV1IxYkdWa0lEMGdabUZzYzJVN1hHNTJZWElnYVhOSWIzTjBWR2x0Wlc5MWRGTmphR1ZrZFd4bFpDQTlJR1poYkhObE8xeHVYRzVtZFc1amRHbHZiaUJoWkhaaGJtTmxWR2x0WlhKektHTjFjbkpsYm5SVWFXMWxLU0I3WEc0Z0lDOHZJRU5vWldOcklHWnZjaUIwWVhOcmN5QjBhR0YwSUdGeVpTQnVieUJzYjI1blpYSWdaR1ZzWVhsbFpDQmhibVFnWVdSa0lIUm9aVzBnZEc4Z2RHaGxJSEYxWlhWbExseHVJQ0IyWVhJZ2RHbHRaWElnUFNCd1pXVnJLSFJwYldWeVVYVmxkV1VwTzF4dVhHNGdJSGRvYVd4bElDaDBhVzFsY2lBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUdsbUlDaDBhVzFsY2k1allXeHNZbUZqYXlBOVBUMGdiblZzYkNrZ2UxeHVJQ0FnSUNBZ0x5OGdWR2x0WlhJZ2QyRnpJR05oYm1ObGJHeGxaQzVjYmlBZ0lDQWdJSEJ2Y0NoMGFXMWxjbEYxWlhWbEtUdGNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tIUnBiV1Z5TG5OMFlYSjBWR2x0WlNBOFBTQmpkWEp5Wlc1MFZHbHRaU2tnZTF4dUlDQWdJQ0FnTHk4Z1ZHbHRaWElnWm1seVpXUXVJRlJ5WVc1elptVnlJSFJ2SUhSb1pTQjBZWE5ySUhGMVpYVmxMbHh1SUNBZ0lDQWdjRzl3S0hScGJXVnlVWFZsZFdVcE8xeHVJQ0FnSUNBZ2RHbHRaWEl1YzI5eWRFbHVaR1Y0SUQwZ2RHbHRaWEl1Wlhod2FYSmhkR2x2YmxScGJXVTdYRzRnSUNBZ0lDQndkWE5vS0hSaGMydFJkV1YxWlN3Z2RHbHRaWElwTzF4dVhHNGdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lHMWhjbXRVWVhOclUzUmhjblFvZEdsdFpYSXNJR04xY25KbGJuUlVhVzFsS1R0Y2JpQWdJQ0FnSUNBZ2RHbHRaWEl1YVhOUmRXVjFaV1FnUFNCMGNuVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBdkx5QlNaVzFoYVc1cGJtY2dkR2x0WlhKeklHRnlaU0J3Wlc1a2FXNW5MbHh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhScGJXVnlJRDBnY0dWbGF5aDBhVzFsY2xGMVpYVmxLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCb1lXNWtiR1ZVYVcxbGIzVjBLR04xY25KbGJuUlVhVzFsS1NCN1hHNGdJR2x6U0c5emRGUnBiV1Z2ZFhSVFkyaGxaSFZzWldRZ1BTQm1ZV3h6WlR0Y2JpQWdZV1IyWVc1alpWUnBiV1Z5Y3loamRYSnlaVzUwVkdsdFpTazdYRzVjYmlBZ2FXWWdLQ0ZwYzBodmMzUkRZV3hzWW1GamExTmphR1ZrZFd4bFpDa2dlMXh1SUNBZ0lHbG1JQ2h3WldWcktIUmhjMnRSZFdWMVpTa2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQWdJR2x6U0c5emRFTmhiR3hpWVdOclUyTm9aV1IxYkdWa0lEMGdkSEoxWlR0Y2JpQWdJQ0FnSUhKbGNYVmxjM1JJYjNOMFEyRnNiR0poWTJzb1pteDFjMmhYYjNKcktUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnZG1GeUlHWnBjbk4wVkdsdFpYSWdQU0J3WldWcktIUnBiV1Z5VVhWbGRXVXBPMXh1WEc0Z0lDQWdJQ0JwWmlBb1ptbHljM1JVYVcxbGNpQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhGMVpYTjBTRzl6ZEZScGJXVnZkWFFvYUdGdVpHeGxWR2x0Wlc5MWRDd2dabWx5YzNSVWFXMWxjaTV6ZEdGeWRGUnBiV1VnTFNCamRYSnlaVzUwVkdsdFpTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVJQ0I5WEc1OVhHNWNibVoxYm1OMGFXOXVJR1pzZFhOb1YyOXlheWhvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JwYm1sMGFXRnNWR2x0WlNrZ2UxeHVJQ0I3WEc0Z0lDQWdiV0Z5YTFOamFHVmtkV3hsY2xWdWMzVnpjR1Z1WkdWa0tHbHVhWFJwWVd4VWFXMWxLVHRjYmlBZ2ZTQXZMeUJYWlNkc2JDQnVaV1ZrSUdFZ2FHOXpkQ0JqWVd4c1ltRmpheUIwYUdVZ2JtVjRkQ0IwYVcxbElIZHZjbXNnYVhNZ2MyTm9aV1IxYkdWa0xseHVYRzVjYmlBZ2FYTkliM04wUTJGc2JHSmhZMnRUWTJobFpIVnNaV1FnUFNCbVlXeHpaVHRjYmx4dUlDQnBaaUFvYVhOSWIzTjBWR2x0Wlc5MWRGTmphR1ZrZFd4bFpDa2dlMXh1SUNBZ0lDOHZJRmRsSUhOamFHVmtkV3hsWkNCaElIUnBiV1Z2ZFhRZ1luVjBJR2wwSjNNZ2JtOGdiRzl1WjJWeUlHNWxaV1JsWkM0Z1EyRnVZMlZzSUdsMExseHVJQ0FnSUdselNHOXpkRlJwYldWdmRYUlRZMmhsWkhWc1pXUWdQU0JtWVd4elpUdGNiaUFnSUNCallXNWpaV3hJYjNOMFZHbHRaVzkxZENncE8xeHVJQ0I5WEc1Y2JpQWdhWE5RWlhKbWIzSnRhVzVuVjI5eWF5QTlJSFJ5ZFdVN1hHNGdJSFpoY2lCd2NtVjJhVzkxYzFCeWFXOXlhWFI1VEdWMlpXd2dQU0JqZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkR0Y2JseHVJQ0IwY25rZ2UxeHVJQ0FnSUdsbUlDaGxibUZpYkdWUWNtOW1hV3hwYm1jcElIdGNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUIzYjNKclRHOXZjQ2hvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JwYm1sMGFXRnNWR2x0WlNrN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnSUNCcFppQW9ZM1Z5Y21WdWRGUmhjMnNnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQmxlSEJ2Y25SekxuVnVjM1JoWW14bFgyNXZkeWdwTzF4dUlDQWdJQ0FnSUNBZ0lHMWhjbXRVWVhOclJYSnliM0psWkNoamRYSnlaVzUwVkdGemF5d2dZM1Z5Y21WdWRGUnBiV1VwTzF4dUlDQWdJQ0FnSUNBZ0lHTjFjbkpsYm5SVVlYTnJMbWx6VVhWbGRXVmtJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNCMGFISnZkeUJsY25KdmNqdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnTHk4Z1RtOGdZMkYwWTJnZ2FXNGdjSEp2WkNCamIyUmxjR0YwYUM1Y2JpQWdJQ0FnSUhKbGRIVnliaUIzYjNKclRHOXZjQ2hvWVhOVWFXMWxVbVZ0WVdsdWFXNW5MQ0JwYm1sMGFXRnNWR2x0WlNrN1hHNGdJQ0FnZlZ4dUlDQjlJR1pwYm1Gc2JIa2dlMXh1SUNBZ0lHTjFjbkpsYm5SVVlYTnJJRDBnYm5Wc2JEdGNiaUFnSUNCamRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJDQTlJSEJ5WlhacGIzVnpVSEpwYjNKcGRIbE1aWFpsYkR0Y2JpQWdJQ0JwYzFCbGNtWnZjbTFwYm1kWGIzSnJJRDBnWm1Gc2MyVTdYRzVjYmlBZ0lDQjdYRzRnSUNBZ0lDQjJZWElnWDJOMWNuSmxiblJVYVcxbElEMGdaWGh3YjNKMGN5NTFibk4wWVdKc1pWOXViM2NvS1R0Y2JseHVJQ0FnSUNBZ2JXRnlhMU5qYUdWa2RXeGxjbE4xYzNCbGJtUmxaQ2hmWTNWeWNtVnVkRlJwYldVcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjNiM0pyVEc5dmNDaG9ZWE5VYVcxbFVtVnRZV2x1YVc1bkxDQnBibWwwYVdGc1ZHbHRaU2tnZTF4dUlDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQnBibWwwYVdGc1ZHbHRaVHRjYmlBZ1lXUjJZVzVqWlZScGJXVnljeWhqZFhKeVpXNTBWR2x0WlNrN1hHNGdJR04xY25KbGJuUlVZWE5ySUQwZ2NHVmxheWgwWVhOclVYVmxkV1VwTzF4dVhHNGdJSGRvYVd4bElDaGpkWEp5Wlc1MFZHRnpheUFoUFQwZ2JuVnNiQ0FtSmlBaEtHVnVZV0pzWlZOamFHVmtkV3hsY2tSbFluVm5aMmx1WnlBcEtTQjdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUlVZWE5yTG1WNGNHbHlZWFJwYjI1VWFXMWxJRDRnWTNWeWNtVnVkRlJwYldVZ0ppWWdLQ0ZvWVhOVWFXMWxVbVZ0WVdsdWFXNW5JSHg4SUhOb2IzVnNaRmxwWld4a1ZHOUliM04wS0NrcEtTQjdYRzRnSUNBZ0lDQXZMeUJVYUdseklHTjFjbkpsYm5SVVlYTnJJR2hoYzI0bmRDQmxlSEJwY21Wa0xDQmhibVFnZDJVbmRtVWdjbVZoWTJobFpDQjBhR1VnWkdWaFpHeHBibVV1WEc0Z0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdZMkZzYkdKaFkyc2dQU0JqZFhKeVpXNTBWR0Z6YXk1allXeHNZbUZqYXp0Y2JseHVJQ0FnSUdsbUlDaGpZV3hzWW1GamF5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lDQWdZM1Z5Y21WdWRGUmhjMnN1WTJGc2JHSmhZMnNnUFNCdWRXeHNPMXh1SUNBZ0lDQWdZM1Z5Y21WdWRGQnlhVzl5YVhSNVRHVjJaV3dnUFNCamRYSnlaVzUwVkdGemF5NXdjbWx2Y21sMGVVeGxkbVZzTzF4dUlDQWdJQ0FnZG1GeUlHUnBaRlZ6WlhKRFlXeHNZbUZqYTFScGJXVnZkWFFnUFNCamRYSnlaVzUwVkdGemF5NWxlSEJwY21GMGFXOXVWR2x0WlNBOFBTQmpkWEp5Wlc1MFZHbHRaVHRjYmlBZ0lDQWdJRzFoY210VVlYTnJVblZ1S0dOMWNuSmxiblJVWVhOckxDQmpkWEp5Wlc1MFZHbHRaU2s3WEc0Z0lDQWdJQ0IyWVhJZ1kyOXVkR2x1ZFdGMGFXOXVRMkZzYkdKaFkyc2dQU0JqWVd4c1ltRmpheWhrYVdSVmMyVnlRMkZzYkdKaFkydFVhVzFsYjNWMEtUdGNiaUFnSUNBZ0lHTjFjbkpsYm5SVWFXMWxJRDBnWlhod2IzSjBjeTUxYm5OMFlXSnNaVjl1YjNjb0tUdGNibHh1SUNBZ0lDQWdhV1lnS0hSNWNHVnZaaUJqYjI1MGFXNTFZWFJwYjI1RFlXeHNZbUZqYXlBOVBUMGdKMloxYm1OMGFXOXVKeWtnZTF4dUlDQWdJQ0FnSUNCamRYSnlaVzUwVkdGemF5NWpZV3hzWW1GamF5QTlJR052Ym5ScGJuVmhkR2x2YmtOaGJHeGlZV05yTzF4dUlDQWdJQ0FnSUNCdFlYSnJWR0Z6YTFscFpXeGtLR04xY25KbGJuUlVZWE5yTENCamRYSnlaVzUwVkdsdFpTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnYldGeWExUmhjMnREYjIxd2JHVjBaV1FvWTNWeWNtVnVkRlJoYzJzc0lHTjFjbkpsYm5SVWFXMWxLVHRjYmlBZ0lDQWdJQ0FnSUNCamRYSnlaVzUwVkdGemF5NXBjMUYxWlhWbFpDQTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTjFjbkpsYm5SVVlYTnJJRDA5UFNCd1pXVnJLSFJoYzJ0UmRXVjFaU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQndiM0FvZEdGemExRjFaWFZsS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQmhaSFpoYm1ObFZHbHRaWEp6S0dOMWNuSmxiblJVYVcxbEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnY0c5d0tIUmhjMnRSZFdWMVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kzVnljbVZ1ZEZSaGMyc2dQU0J3WldWcktIUmhjMnRSZFdWMVpTazdYRzRnSUgwZ0x5OGdVbVYwZFhKdUlIZG9aWFJvWlhJZ2RHaGxjbVVuY3lCaFpHUnBkR2x2Ym1Gc0lIZHZjbXRjYmx4dVhHNGdJR2xtSUNoamRYSnlaVzUwVkdGemF5QWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCMGNuVmxPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFpoY2lCbWFYSnpkRlJwYldWeUlEMGdjR1ZsYXloMGFXMWxjbEYxWlhWbEtUdGNibHh1SUNBZ0lHbG1JQ2htYVhKemRGUnBiV1Z5SUNFOVBTQnVkV3hzS1NCN1hHNGdJQ0FnSUNCeVpYRjFaWE4wU0c5emRGUnBiV1Z2ZFhRb2FHRnVaR3hsVkdsdFpXOTFkQ3dnWm1seWMzUlVhVzFsY2k1emRHRnlkRlJwYldVZ0xTQmpkWEp5Wlc1MFZHbHRaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHWmhiSE5sTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgzSjFibGRwZEdoUWNtbHZjbWwwZVNod2NtbHZjbWwwZVV4bGRtVnNMQ0JsZG1WdWRFaGhibVJzWlhJcElIdGNiaUFnYzNkcGRHTm9JQ2h3Y21sdmNtbDBlVXhsZG1Wc0tTQjdYRzRnSUNBZ1kyRnpaU0JKYlcxbFpHbGhkR1ZRY21sdmNtbDBlVHBjYmlBZ0lDQmpZWE5sSUZWelpYSkNiRzlqYTJsdVoxQnlhVzl5YVhSNU9seHVJQ0FnSUdOaGMyVWdUbTl5YldGc1VISnBiM0pwZEhrNlhHNGdJQ0FnWTJGelpTQk1iM2RRY21sdmNtbDBlVHBjYmlBZ0lDQmpZWE5sSUVsa2JHVlFjbWx2Y21sMGVUcGNiaUFnSUNBZ0lHSnlaV0ZyTzF4dVhHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSEJ5YVc5eWFYUjVUR1YyWld3Z1BTQk9iM0p0WVd4UWNtbHZjbWwwZVR0Y2JpQWdmVnh1WEc0Z0lIWmhjaUJ3Y21WMmFXOTFjMUJ5YVc5eWFYUjVUR1YyWld3Z1BTQmpkWEp5Wlc1MFVISnBiM0pwZEhsTVpYWmxiRHRjYmlBZ1kzVnljbVZ1ZEZCeWFXOXlhWFI1VEdWMlpXd2dQU0J3Y21sdmNtbDBlVXhsZG1Wc08xeHVYRzRnSUhSeWVTQjdYRzRnSUNBZ2NtVjBkWEp1SUdWMlpXNTBTR0Z1Wkd4bGNpZ3BPMXh1SUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUdOMWNuSmxiblJRY21sdmNtbDBlVXhsZG1Wc0lEMGdjSEpsZG1sdmRYTlFjbWx2Y21sMGVVeGxkbVZzTzF4dUlDQjlYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgyNWxlSFFvWlhabGJuUklZVzVrYkdWeUtTQjdYRzRnSUhaaGNpQndjbWx2Y21sMGVVeGxkbVZzTzF4dVhHNGdJSE4zYVhSamFDQW9ZM1Z5Y21WdWRGQnlhVzl5YVhSNVRHVjJaV3dwSUh0Y2JpQWdJQ0JqWVhObElFbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNU9seHVJQ0FnSUdOaGMyVWdWWE5sY2tKc2IyTnJhVzVuVUhKcGIzSnBkSGs2WEc0Z0lDQWdZMkZ6WlNCT2IzSnRZV3hRY21sdmNtbDBlVHBjYmlBZ0lDQWdJQzh2SUZOb2FXWjBJR1J2ZDI0Z2RHOGdibTl5YldGc0lIQnlhVzl5YVhSNVhHNGdJQ0FnSUNCd2NtbHZjbWwwZVV4bGRtVnNJRDBnVG05eWJXRnNVSEpwYjNKcGRIazdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JseHVJQ0FnSUdSbFptRjFiSFE2WEc0Z0lDQWdJQ0F2THlCQmJubDBhR2x1WnlCc2IzZGxjaUIwYUdGdUlHNXZjbTFoYkNCd2NtbHZjbWwwZVNCemFHOTFiR1FnY21WdFlXbHVJR0YwSUhSb1pTQmpkWEp5Wlc1MElHeGxkbVZzTGx4dUlDQWdJQ0FnY0hKcGIzSnBkSGxNWlhabGJDQTlJR04xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzTzF4dUlDQWdJQ0FnWW5KbFlXczdYRzRnSUgxY2JseHVJQ0IyWVhJZ2NISmxkbWx2ZFhOUWNtbHZjbWwwZVV4bGRtVnNJRDBnWTNWeWNtVnVkRkJ5YVc5eWFYUjVUR1YyWld3N1hHNGdJR04xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzSUQwZ2NISnBiM0pwZEhsTVpYWmxiRHRjYmx4dUlDQjBjbmtnZTF4dUlDQWdJSEpsZEhWeWJpQmxkbVZ1ZEVoaGJtUnNaWElvS1R0Y2JpQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQmpkWEp5Wlc1MFVISnBiM0pwZEhsTVpYWmxiQ0E5SUhCeVpYWnBiM1Z6VUhKcGIzSnBkSGxNWlhabGJEdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUIxYm5OMFlXSnNaVjkzY21Gd1EyRnNiR0poWTJzb1kyRnNiR0poWTJzcElIdGNiaUFnZG1GeUlIQmhjbVZ1ZEZCeWFXOXlhWFI1VEdWMlpXd2dQU0JqZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkR0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQXZMeUJVYUdseklHbHpJR0VnWm05eWF5QnZaaUJ5ZFc1WGFYUm9VSEpwYjNKcGRIa3NJR2x1YkdsdVpXUWdabTl5SUhCbGNtWnZjbTFoYm1ObExseHVJQ0FnSUhaaGNpQndjbVYyYVc5MWMxQnlhVzl5YVhSNVRHVjJaV3dnUFNCamRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJEdGNiaUFnSUNCamRYSnlaVzUwVUhKcGIzSnBkSGxNWlhabGJDQTlJSEJoY21WdWRGQnlhVzl5YVhSNVRHVjJaV3c3WEc1Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdOaGJHeGlZV05yTG1Gd2NHeDVLSFJvYVhNc0lHRnlaM1Z0Wlc1MGN5azdYRzRnSUNBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBZ0lHTjFjbkpsYm5SUWNtbHZjbWwwZVV4bGRtVnNJRDBnY0hKbGRtbHZkWE5RY21sdmNtbDBlVXhsZG1Wc08xeHVJQ0FnSUgxY2JpQWdmVHRjYm4xY2JseHVablZ1WTNScGIyNGdkR2x0Wlc5MWRFWnZjbEJ5YVc5eWFYUjVUR1YyWld3b2NISnBiM0pwZEhsTVpYWmxiQ2tnZTF4dUlDQnpkMmwwWTJnZ0tIQnlhVzl5YVhSNVRHVjJaV3dwSUh0Y2JpQWdJQ0JqWVhObElFbHRiV1ZrYVdGMFpWQnlhVzl5YVhSNU9seHVJQ0FnSUNBZ2NtVjBkWEp1SUVsTlRVVkVTVUZVUlY5UVVrbFBVa2xVV1Y5VVNVMUZUMVZVTzF4dVhHNGdJQ0FnWTJGelpTQlZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlVHBjYmlBZ0lDQWdJSEpsZEhWeWJpQlZVMFZTWDBKTVQwTkxTVTVIWDFCU1NVOVNTVlJaTzF4dVhHNGdJQ0FnWTJGelpTQkpaR3hsVUhKcGIzSnBkSGs2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdTVVJNUlY5UVVrbFBVa2xVV1R0Y2JseHVJQ0FnSUdOaGMyVWdURzkzVUhKcGIzSnBkSGs2WEc0Z0lDQWdJQ0J5WlhSMWNtNGdURTlYWDFCU1NVOVNTVlJaWDFSSlRVVlBWVlE3WEc1Y2JpQWdJQ0JqWVhObElFNXZjbTFoYkZCeWFXOXlhWFI1T2x4dUlDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQnlaWFIxY200Z1RrOVNUVUZNWDFCU1NVOVNTVlJaWDFSSlRVVlBWVlE3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2RXNXpkR0ZpYkdWZmMyTm9aV1IxYkdWRFlXeHNZbUZqYXlod2NtbHZjbWwwZVV4bGRtVnNMQ0JqWVd4c1ltRmpheXdnYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnWTNWeWNtVnVkRlJwYldVZ1BTQmxlSEJ2Y25SekxuVnVjM1JoWW14bFgyNXZkeWdwTzF4dUlDQjJZWElnYzNSaGNuUlVhVzFsTzF4dUlDQjJZWElnZEdsdFpXOTFkRHRjYmx4dUlDQnBaaUFvZEhsd1pXOW1JRzl3ZEdsdmJuTWdQVDA5SUNkdlltcGxZM1FuSUNZbUlHOXdkR2x2Ym5NZ0lUMDlJRzUxYkd3cElIdGNiaUFnSUNCMllYSWdaR1ZzWVhrZ1BTQnZjSFJwYjI1ekxtUmxiR0Y1TzF4dVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCa1pXeGhlU0E5UFQwZ0oyNTFiV0psY2ljZ0ppWWdaR1ZzWVhrZ1BpQXdLU0I3WEc0Z0lDQWdJQ0J6ZEdGeWRGUnBiV1VnUFNCamRYSnlaVzUwVkdsdFpTQXJJR1JsYkdGNU8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0J6ZEdGeWRGUnBiV1VnUFNCamRYSnlaVzUwVkdsdFpUdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFXMWxiM1YwSUQwZ2RIbHdaVzltSUc5d2RHbHZibk11ZEdsdFpXOTFkQ0E5UFQwZ0oyNTFiV0psY2ljZ1B5QnZjSFJwYjI1ekxuUnBiV1Z2ZFhRZ09pQjBhVzFsYjNWMFJtOXlVSEpwYjNKcGRIbE1aWFpsYkNod2NtbHZjbWwwZVV4bGRtVnNLVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0IwYVcxbGIzVjBJRDBnZEdsdFpXOTFkRVp2Y2xCeWFXOXlhWFI1VEdWMlpXd29jSEpwYjNKcGRIbE1aWFpsYkNrN1hHNGdJQ0FnYzNSaGNuUlVhVzFsSUQwZ1kzVnljbVZ1ZEZScGJXVTdYRzRnSUgxY2JseHVJQ0IyWVhJZ1pYaHdhWEpoZEdsdmJsUnBiV1VnUFNCemRHRnlkRlJwYldVZ0t5QjBhVzFsYjNWME8xeHVJQ0IyWVhJZ2JtVjNWR0Z6YXlBOUlIdGNiaUFnSUNCcFpEb2dkR0Z6YTBsa1EyOTFiblJsY2lzckxGeHVJQ0FnSUdOaGJHeGlZV05yT2lCallXeHNZbUZqYXl4Y2JpQWdJQ0J3Y21sdmNtbDBlVXhsZG1Wc09pQndjbWx2Y21sMGVVeGxkbVZzTEZ4dUlDQWdJSE4wWVhKMFZHbHRaVG9nYzNSaGNuUlVhVzFsTEZ4dUlDQWdJR1Y0Y0dseVlYUnBiMjVVYVcxbE9pQmxlSEJwY21GMGFXOXVWR2x0WlN4Y2JpQWdJQ0J6YjNKMFNXNWtaWGc2SUMweFhHNGdJSDA3WEc1Y2JpQWdlMXh1SUNBZ0lHNWxkMVJoYzJzdWFYTlJkV1YxWldRZ1BTQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2h6ZEdGeWRGUnBiV1VnUGlCamRYSnlaVzUwVkdsdFpTa2dlMXh1SUNBZ0lDOHZJRlJvYVhNZ2FYTWdZU0JrWld4aGVXVmtJSFJoYzJzdVhHNGdJQ0FnYm1WM1ZHRnpheTV6YjNKMFNXNWtaWGdnUFNCemRHRnlkRlJwYldVN1hHNGdJQ0FnY0hWemFDaDBhVzFsY2xGMVpYVmxMQ0J1WlhkVVlYTnJLVHRjYmx4dUlDQWdJR2xtSUNod1pXVnJLSFJoYzJ0UmRXVjFaU2tnUFQwOUlHNTFiR3dnSmlZZ2JtVjNWR0Z6YXlBOVBUMGdjR1ZsYXloMGFXMWxjbEYxWlhWbEtTa2dlMXh1SUNBZ0lDQWdMeThnUVd4c0lIUmhjMnR6SUdGeVpTQmtaV3hoZVdWa0xDQmhibVFnZEdocGN5QnBjeUIwYUdVZ2RHRnpheUIzYVhSb0lIUm9aU0JsWVhKc2FXVnpkQ0JrWld4aGVTNWNiaUFnSUNBZ0lHbG1JQ2hwYzBodmMzUlVhVzFsYjNWMFUyTm9aV1IxYkdWa0tTQjdYRzRnSUNBZ0lDQWdJQzh2SUVOaGJtTmxiQ0JoYmlCbGVHbHpkR2x1WnlCMGFXMWxiM1YwTGx4dUlDQWdJQ0FnSUNCallXNWpaV3hJYjNOMFZHbHRaVzkxZENncE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2FYTkliM04wVkdsdFpXOTFkRk5qYUdWa2RXeGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQjlJQzh2SUZOamFHVmtkV3hsSUdFZ2RHbHRaVzkxZEM1Y2JseHVYRzRnSUNBZ0lDQnlaWEYxWlhOMFNHOXpkRlJwYldWdmRYUW9hR0Z1Wkd4bFZHbHRaVzkxZEN3Z2MzUmhjblJVYVcxbElDMGdZM1Z5Y21WdWRGUnBiV1VwTzF4dUlDQWdJSDFjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0J1WlhkVVlYTnJMbk52Y25SSmJtUmxlQ0E5SUdWNGNHbHlZWFJwYjI1VWFXMWxPMXh1SUNBZ0lIQjFjMmdvZEdGemExRjFaWFZsTENCdVpYZFVZWE5yS1R0Y2JseHVJQ0FnSUh0Y2JpQWdJQ0FnSUcxaGNtdFVZWE5yVTNSaGNuUW9ibVYzVkdGemF5d2dZM1Z5Y21WdWRGUnBiV1VwTzF4dUlDQWdJQ0FnYm1WM1ZHRnpheTVwYzFGMVpYVmxaQ0E5SUhSeWRXVTdYRzRnSUNBZ2ZTQXZMeUJUWTJobFpIVnNaU0JoSUdodmMzUWdZMkZzYkdKaFkyc3NJR2xtSUc1bFpXUmxaQzRnU1dZZ2QyVW5jbVVnWVd4eVpXRmtlU0J3WlhKbWIzSnRhVzVuSUhkdmNtc3NYRzRnSUNBZ0x5OGdkMkZwZENCMWJuUnBiQ0IwYUdVZ2JtVjRkQ0IwYVcxbElIZGxJSGxwWld4a0xseHVYRzVjYmlBZ0lDQnBaaUFvSVdselNHOXpkRU5oYkd4aVlXTnJVMk5vWldSMWJHVmtJQ1ltSUNGcGMxQmxjbVp2Y20xcGJtZFhiM0pyS1NCN1hHNGdJQ0FnSUNCcGMwaHZjM1JEWVd4c1ltRmphMU5qYUdWa2RXeGxaQ0E5SUhSeWRXVTdYRzRnSUNBZ0lDQnlaWEYxWlhOMFNHOXpkRU5oYkd4aVlXTnJLR1pzZFhOb1YyOXlheWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRzVsZDFSaGMyczdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgzQmhkWE5sUlhobFkzVjBhVzl1S0NrZ2UxeHVmVnh1WEc1bWRXNWpkR2x2YmlCMWJuTjBZV0pzWlY5amIyNTBhVzUxWlVWNFpXTjFkR2x2YmlncElIdGNibHh1SUNCcFppQW9JV2x6U0c5emRFTmhiR3hpWVdOclUyTm9aV1IxYkdWa0lDWW1JQ0ZwYzFCbGNtWnZjbTFwYm1kWGIzSnJLU0I3WEc0Z0lDQWdhWE5JYjNOMFEyRnNiR0poWTJ0VFkyaGxaSFZzWldRZ1BTQjBjblZsTzF4dUlDQWdJSEpsY1hWbGMzUkliM04wUTJGc2JHSmhZMnNvWm14MWMyaFhiM0pyS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQjFibk4wWVdKc1pWOW5aWFJHYVhKemRFTmhiR3hpWVdOclRtOWtaU2dwSUh0Y2JpQWdjbVYwZFhKdUlIQmxaV3NvZEdGemExRjFaWFZsS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnZFc1emRHRmliR1ZmWTJGdVkyVnNRMkZzYkdKaFkyc29kR0Z6YXlrZ2UxeHVJQ0I3WEc0Z0lDQWdhV1lnS0hSaGMyc3VhWE5SZFdWMVpXUXBJSHRjYmlBZ0lDQWdJSFpoY2lCamRYSnlaVzUwVkdsdFpTQTlJR1Y0Y0c5eWRITXVkVzV6ZEdGaWJHVmZibTkzS0NrN1hHNGdJQ0FnSUNCdFlYSnJWR0Z6YTBOaGJtTmxiR1ZrS0hSaGMyc3NJR04xY25KbGJuUlVhVzFsS1R0Y2JpQWdJQ0FnSUhSaGMyc3VhWE5SZFdWMVpXUWdQU0JtWVd4elpUdGNiaUFnSUNCOVhHNGdJSDBnTHk4Z1RuVnNiQ0J2ZFhRZ2RHaGxJR05oYkd4aVlXTnJJSFJ2SUdsdVpHbGpZWFJsSUhSb1pTQjBZWE5ySUdoaGN5QmlaV1Z1SUdOaGJtTmxiR1ZrTGlBb1EyRnVKM1JjYmlBZ0x5OGdjbVZ0YjNabElHWnliMjBnZEdobElIRjFaWFZsSUdKbFkyRjFjMlVnZVc5MUlHTmhiaWQwSUhKbGJXOTJaU0JoY21KcGRISmhjbmtnYm05a1pYTWdabkp2YlNCaGJseHVJQ0F2THlCaGNuSmhlU0JpWVhObFpDQm9aV0Z3TENCdmJteDVJSFJvWlNCbWFYSnpkQ0J2Ym1VdUtWeHVYRzVjYmlBZ2RHRnpheTVqWVd4c1ltRmpheUE5SUc1MWJHdzdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnVjM1JoWW14bFgyZGxkRU4xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzS0NrZ2UxeHVJQ0J5WlhSMWNtNGdZM1Z5Y21WdWRGQnlhVzl5YVhSNVRHVjJaV3c3WEc1OVhHNWNibVoxYm1OMGFXOXVJSFZ1YzNSaFlteGxYM05vYjNWc1pGbHBaV3hrS0NrZ2UxeHVJQ0IyWVhJZ1kzVnljbVZ1ZEZScGJXVWdQU0JsZUhCdmNuUnpMblZ1YzNSaFlteGxYMjV2ZHlncE8xeHVJQ0JoWkhaaGJtTmxWR2x0WlhKektHTjFjbkpsYm5SVWFXMWxLVHRjYmlBZ2RtRnlJR1pwY25OMFZHRnpheUE5SUhCbFpXc29kR0Z6YTFGMVpYVmxLVHRjYmlBZ2NtVjBkWEp1SUdacGNuTjBWR0Z6YXlBaFBUMGdZM1Z5Y21WdWRGUmhjMnNnSmlZZ1kzVnljbVZ1ZEZSaGMyc2dJVDA5SUc1MWJHd2dKaVlnWm1seWMzUlVZWE5ySUNFOVBTQnVkV3hzSUNZbUlHWnBjbk4wVkdGemF5NWpZV3hzWW1GamF5QWhQVDBnYm5Wc2JDQW1KaUJtYVhKemRGUmhjMnN1YzNSaGNuUlVhVzFsSUR3OUlHTjFjbkpsYm5SVWFXMWxJQ1ltSUdacGNuTjBWR0Z6YXk1bGVIQnBjbUYwYVc5dVZHbHRaU0E4SUdOMWNuSmxiblJVWVhOckxtVjRjR2x5WVhScGIyNVVhVzFsSUh4OElITm9iM1ZzWkZscFpXeGtWRzlJYjNOMEtDazdYRzU5WEc1Y2JuWmhjaUIxYm5OMFlXSnNaVjl5WlhGMVpYTjBVR0ZwYm5RZ1BTQnlaWEYxWlhOMFVHRnBiblE3WEc1MllYSWdkVzV6ZEdGaWJHVmZVSEp2Wm1sc2FXNW5JRDBnSUh0Y2JpQWdjM1JoY25STWIyZG5hVzVuVUhKdlptbHNhVzVuUlhabGJuUnpPaUJ6ZEdGeWRFeHZaMmRwYm1kUWNtOW1hV3hwYm1kRmRtVnVkSE1zWEc0Z0lITjBiM0JNYjJkbmFXNW5VSEp2Wm1sc2FXNW5SWFpsYm5Sek9pQnpkRzl3VEc5bloybHVaMUJ5YjJacGJHbHVaMFYyWlc1MGN5eGNiaUFnYzJoaGNtVmtVSEp2Wm1sc2FXNW5RblZtWm1WeU9pQnphR0Z5WldSUWNtOW1hV3hwYm1kQ2RXWm1aWEpjYm4wZ08xeHVYRzVsZUhCdmNuUnpMblZ1YzNSaFlteGxYMGxrYkdWUWNtbHZjbWwwZVNBOUlFbGtiR1ZRY21sdmNtbDBlVHRjYm1WNGNHOXlkSE11ZFc1emRHRmliR1ZmU1cxdFpXUnBZWFJsVUhKcGIzSnBkSGtnUFNCSmJXMWxaR2xoZEdWUWNtbHZjbWwwZVR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZlRHOTNVSEpwYjNKcGRIa2dQU0JNYjNkUWNtbHZjbWwwZVR0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZlRtOXliV0ZzVUhKcGIzSnBkSGtnUFNCT2IzSnRZV3hRY21sdmNtbDBlVHRjYm1WNGNHOXlkSE11ZFc1emRHRmliR1ZmVUhKdlptbHNhVzVuSUQwZ2RXNXpkR0ZpYkdWZlVISnZabWxzYVc1bk8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOVZjMlZ5UW14dlkydHBibWRRY21sdmNtbDBlU0E5SUZWelpYSkNiRzlqYTJsdVoxQnlhVzl5YVhSNU8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOWpZVzVqWld4RFlXeHNZbUZqYXlBOUlIVnVjM1JoWW14bFgyTmhibU5sYkVOaGJHeGlZV05yTzF4dVpYaHdiM0owY3k1MWJuTjBZV0pzWlY5amIyNTBhVzUxWlVWNFpXTjFkR2x2YmlBOUlIVnVjM1JoWW14bFgyTnZiblJwYm5WbFJYaGxZM1YwYVc5dU8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOW5aWFJEZFhKeVpXNTBVSEpwYjNKcGRIbE1aWFpsYkNBOUlIVnVjM1JoWW14bFgyZGxkRU4xY25KbGJuUlFjbWx2Y21sMGVVeGxkbVZzTzF4dVpYaHdiM0owY3k1MWJuTjBZV0pzWlY5blpYUkdhWEp6ZEVOaGJHeGlZV05yVG05a1pTQTlJSFZ1YzNSaFlteGxYMmRsZEVacGNuTjBRMkZzYkdKaFkydE9iMlJsTzF4dVpYaHdiM0owY3k1MWJuTjBZV0pzWlY5dVpYaDBJRDBnZFc1emRHRmliR1ZmYm1WNGREdGNibVY0Y0c5eWRITXVkVzV6ZEdGaWJHVmZjR0YxYzJWRmVHVmpkWFJwYjI0Z1BTQjFibk4wWVdKc1pWOXdZWFZ6WlVWNFpXTjFkR2x2Ymp0Y2JtVjRjRzl5ZEhNdWRXNXpkR0ZpYkdWZmNtVnhkV1Z6ZEZCaGFXNTBJRDBnZFc1emRHRmliR1ZmY21WeGRXVnpkRkJoYVc1ME8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOXlkVzVYYVhSb1VISnBiM0pwZEhrZ1BTQjFibk4wWVdKc1pWOXlkVzVYYVhSb1VISnBiM0pwZEhrN1hHNWxlSEJ2Y25SekxuVnVjM1JoWW14bFgzTmphR1ZrZFd4bFEyRnNiR0poWTJzZ1BTQjFibk4wWVdKc1pWOXpZMmhsWkhWc1pVTmhiR3hpWVdOck8xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOXphRzkxYkdSWmFXVnNaQ0E5SUhWdWMzUmhZbXhsWDNOb2IzVnNaRmxwWld4a08xeHVaWGh3YjNKMGN5NTFibk4wWVdKc1pWOTNjbUZ3UTJGc2JHSmhZMnNnUFNCMWJuTjBZV0pzWlY5M2NtRndRMkZzYkdKaFkyczdYRzRnSUgwcEtDazdYRzU5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmlmIChmYWxzZSkge30gZWxzZSB7XFxuICBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2pzL3NjaGVkdWxlci5kZXZlbG9wbWVudC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanNcXFwiKTtcXG59XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6WTJobFpIVnNaWEl2YVc1a1pYZ3Vhbk0vWlRObVlpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJZVHM3UVVGRllpeEpRVUZKTEV0QlFYRkRMRVZCUVVVc1JVRkZNVU03UVVGRFJDeHRRa0ZCYlVJc2JVSkJRVThzUTBGQlF5dzJSa0ZCWjBNN1FVRkRNMFFpTENKbWFXeGxJam9pTGk5dWIyUmxYMjF2WkhWc1pYTXZjMk5vWldSMWJHVnlMMmx1WkdWNExtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUozVnpaU0J6ZEhKcFkzUW5PMXh1WEc1cFppQW9jSEp2WTJWemN5NWxibll1VGs5RVJWOUZUbFlnUFQwOUlDZHdjbTlrZFdOMGFXOXVKeWtnZTF4dUlDQnRiMlIxYkdVdVpYaHdiM0owY3lBOUlISmxjWFZwY21Vb0p5NHZZMnB6TDNOamFHVmtkV3hsY2k1d2NtOWtkV04wYVc5dUxtMXBiaTVxY3ljcE8xeHVmU0JsYkhObElIdGNiaUFnYlc5a2RXeGxMbVY0Y0c5eWRITWdQU0J5WlhGMWFYSmxLQ2N1TDJOcWN5OXpZMmhsWkhWc1pYSXVaR1YyWld4dmNHMWxiblF1YW5NbktUdGNibjFjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIlxcblxcbmlmIChmYWxzZSkge30gZWxzZSB7XFxuICBtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY2pzL3NjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvY2pzL3NjaGVkdWxlci10cmFjaW5nLmRldmVsb3BtZW50LmpzXFxcIik7XFxufVxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5elkyaGxaSFZzWlhJdmRISmhZMmx1Wnk1cWN6ODFaV0psSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEVsQlFVa3NTMEZCY1VNc1JVRkJSU3hGUVVVeFF6dEJRVU5FTEcxQ1FVRnRRaXh0UWtGQlR5eERRVUZETERaSFFVRjNRenRCUVVOdVJTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5elkyaGxaSFZzWlhJdmRISmhZMmx1Wnk1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWlkMWMyVWdjM1J5YVdOMEp6dGNibHh1YVdZZ0tIQnliMk5sYzNNdVpXNTJMazVQUkVWZlJVNVdJRDA5UFNBbmNISnZaSFZqZEdsdmJpY3BJSHRjYmlBZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCeVpYRjFhWEpsS0NjdUwyTnFjeTl6WTJobFpIVnNaWEl0ZEhKaFkybHVaeTV3Y205a2RXTjBhVzl1TG0xcGJpNXFjeWNwTzF4dWZTQmxiSE5sSUh0Y2JpQWdiVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQnlaWEYxYVhKbEtDY3VMMk5xY3k5elkyaGxaSFZzWlhJdGRISmhZMmx1Wnk1a1pYWmxiRzl3YldWdWRDNXFjeWNwTzF4dWZWeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci90cmFjaW5nLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zZXRpbW1lZGlhdGUvc2V0SW1tZWRpYXRlLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc2V0aW1tZWRpYXRlL3NldEltbWVkaWF0ZS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsLCBwcm9jZXNzKSB7KGZ1bmN0aW9uIChnbG9iYWwsIHVuZGVmaW5lZCkge1xcbiAgICBcXFwidXNlIHN0cmljdFxcXCI7XFxuXFxuICAgIGlmIChnbG9iYWwuc2V0SW1tZWRpYXRlKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgIH1cXG5cXG4gICAgdmFyIG5leHRIYW5kbGUgPSAxOyAvLyBTcGVjIHNheXMgZ3JlYXRlciB0aGFuIHplcm9cXG4gICAgdmFyIHRhc2tzQnlIYW5kbGUgPSB7fTtcXG4gICAgdmFyIGN1cnJlbnRseVJ1bm5pbmdBVGFzayA9IGZhbHNlO1xcbiAgICB2YXIgZG9jID0gZ2xvYmFsLmRvY3VtZW50O1xcbiAgICB2YXIgcmVnaXN0ZXJJbW1lZGlhdGU7XFxuXFxuICAgIGZ1bmN0aW9uIHNldEltbWVkaWF0ZShjYWxsYmFjaykge1xcbiAgICAgIC8vIENhbGxiYWNrIGNhbiBlaXRoZXIgYmUgYSBmdW5jdGlvbiBvciBhIHN0cmluZ1xcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09IFxcXCJmdW5jdGlvblxcXCIpIHtcXG4gICAgICAgIGNhbGxiYWNrID0gbmV3IEZ1bmN0aW9uKFxcXCJcXFwiICsgY2FsbGJhY2spO1xcbiAgICAgIH1cXG4gICAgICAvLyBDb3B5IGZ1bmN0aW9uIGFyZ3VtZW50c1xcbiAgICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpICsgMV07XFxuICAgICAgfVxcbiAgICAgIC8vIFN0b3JlIGFuZCByZWdpc3RlciB0aGUgdGFza1xcbiAgICAgIHZhciB0YXNrID0geyBjYWxsYmFjazogY2FsbGJhY2ssIGFyZ3M6IGFyZ3MgfTtcXG4gICAgICB0YXNrc0J5SGFuZGxlW25leHRIYW5kbGVdID0gdGFzaztcXG4gICAgICByZWdpc3RlckltbWVkaWF0ZShuZXh0SGFuZGxlKTtcXG4gICAgICByZXR1cm4gbmV4dEhhbmRsZSsrO1xcbiAgICB9XFxuXFxuICAgIGZ1bmN0aW9uIGNsZWFySW1tZWRpYXRlKGhhbmRsZSkge1xcbiAgICAgICAgZGVsZXRlIHRhc2tzQnlIYW5kbGVbaGFuZGxlXTtcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBydW4odGFzaykge1xcbiAgICAgICAgdmFyIGNhbGxiYWNrID0gdGFzay5jYWxsYmFjaztcXG4gICAgICAgIHZhciBhcmdzID0gdGFzay5hcmdzO1xcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xcbiAgICAgICAgY2FzZSAwOlxcbiAgICAgICAgICAgIGNhbGxiYWNrKCk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBjYXNlIDE6XFxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBjYXNlIDI6XFxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBjYXNlIDM6XFxuICAgICAgICAgICAgY2FsbGJhY2soYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICBkZWZhdWx0OlxcbiAgICAgICAgICAgIGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XFxuICAgICAgICAgICAgYnJlYWs7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gcnVuSWZQcmVzZW50KGhhbmRsZSkge1xcbiAgICAgICAgLy8gRnJvbSB0aGUgc3BlYzogXFxcIldhaXQgdW50aWwgYW55IGludm9jYXRpb25zIG9mIHRoaXMgYWxnb3JpdGhtIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgb25lIGhhdmUgY29tcGxldGVkLlxcXCJcXG4gICAgICAgIC8vIFNvIGlmIHdlJ3JlIGN1cnJlbnRseSBydW5uaW5nIGEgdGFzaywgd2UnbGwgbmVlZCB0byBkZWxheSB0aGlzIGludm9jYXRpb24uXFxuICAgICAgICBpZiAoY3VycmVudGx5UnVubmluZ0FUYXNrKSB7XFxuICAgICAgICAgICAgLy8gRGVsYXkgYnkgZG9pbmcgYSBzZXRUaW1lb3V0LiBzZXRJbW1lZGlhdGUgd2FzIHRyaWVkIGluc3RlYWQsIGJ1dCBpbiBGaXJlZm94IDcgaXQgZ2VuZXJhdGVkIGFcXG4gICAgICAgICAgICAvLyBcXFwidG9vIG11Y2ggcmVjdXJzaW9uXFxcIiBlcnJvci5cXG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcXG4gICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgdmFyIHRhc2sgPSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XFxuICAgICAgICAgICAgaWYgKHRhc2spIHtcXG4gICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gdHJ1ZTtcXG4gICAgICAgICAgICAgICAgdHJ5IHtcXG4gICAgICAgICAgICAgICAgICAgIHJ1bih0YXNrKTtcXG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcXG4gICAgICAgICAgICAgICAgICAgIGNsZWFySW1tZWRpYXRlKGhhbmRsZSk7XFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSBmYWxzZTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH1cXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBpbnN0YWxsTmV4dFRpY2tJbXBsZW1lbnRhdGlvbigpIHtcXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XFxuICAgICAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7IHJ1bklmUHJlc2VudChoYW5kbGUpOyB9KTtcXG4gICAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gY2FuVXNlUG9zdE1lc3NhZ2UoKSB7XFxuICAgICAgICAvLyBUaGUgdGVzdCBhZ2FpbnN0IGBpbXBvcnRTY3JpcHRzYCBwcmV2ZW50cyB0aGlzIGltcGxlbWVudGF0aW9uIGZyb20gYmVpbmcgaW5zdGFsbGVkIGluc2lkZSBhIHdlYiB3b3JrZXIsXFxuICAgICAgICAvLyB3aGVyZSBgZ2xvYmFsLnBvc3RNZXNzYWdlYCBtZWFucyBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgYW5kIGNhbid0IGJlIHVzZWQgZm9yIHRoaXMgcHVycG9zZS5cXG4gICAgICAgIGlmIChnbG9iYWwucG9zdE1lc3NhZ2UgJiYgIWdsb2JhbC5pbXBvcnRTY3JpcHRzKSB7XFxuICAgICAgICAgICAgdmFyIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSB0cnVlO1xcbiAgICAgICAgICAgIHZhciBvbGRPbk1lc3NhZ2UgPSBnbG9iYWwub25tZXNzYWdlO1xcbiAgICAgICAgICAgIGdsb2JhbC5vbm1lc3NhZ2UgPSBmdW5jdGlvbigpIHtcXG4gICAgICAgICAgICAgICAgcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cyA9IGZhbHNlO1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKFxcXCJcXFwiLCBcXFwiKlxcXCIpO1xcbiAgICAgICAgICAgIGdsb2JhbC5vbm1lc3NhZ2UgPSBvbGRPbk1lc3NhZ2U7XFxuICAgICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXM7XFxuICAgICAgICB9XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKSB7XFxuICAgICAgICAvLyBJbnN0YWxscyBhbiBldmVudCBoYW5kbGVyIG9uIGBnbG9iYWxgIGZvciB0aGUgYG1lc3NhZ2VgIGV2ZW50OiBzZWVcXG4gICAgICAgIC8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vRE9NL3dpbmRvdy5wb3N0TWVzc2FnZVxcbiAgICAgICAgLy8gKiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS9jb21tcy5odG1sI2Nyb3NzRG9jdW1lbnRNZXNzYWdlc1xcblxcbiAgICAgICAgdmFyIG1lc3NhZ2VQcmVmaXggPSBcXFwic2V0SW1tZWRpYXRlJFxcXCIgKyBNYXRoLnJhbmRvbSgpICsgXFxcIiRcXFwiO1xcbiAgICAgICAgdmFyIG9uR2xvYmFsTWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XFxuICAgICAgICAgICAgaWYgKGV2ZW50LnNvdXJjZSA9PT0gZ2xvYmFsICYmXFxuICAgICAgICAgICAgICAgIHR5cGVvZiBldmVudC5kYXRhID09PSBcXFwic3RyaW5nXFxcIiAmJlxcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLmluZGV4T2YobWVzc2FnZVByZWZpeCkgPT09IDApIHtcXG4gICAgICAgICAgICAgICAgcnVuSWZQcmVzZW50KCtldmVudC5kYXRhLnNsaWNlKG1lc3NhZ2VQcmVmaXgubGVuZ3RoKSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfTtcXG5cXG4gICAgICAgIGlmIChnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcikge1xcbiAgICAgICAgICAgIGdsb2JhbC5hZGRFdmVudExpc3RlbmVyKFxcXCJtZXNzYWdlXFxcIiwgb25HbG9iYWxNZXNzYWdlLCBmYWxzZSk7XFxuICAgICAgICB9IGVsc2Uge1xcbiAgICAgICAgICAgIGdsb2JhbC5hdHRhY2hFdmVudChcXFwib25tZXNzYWdlXFxcIiwgb25HbG9iYWxNZXNzYWdlKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XFxuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKG1lc3NhZ2VQcmVmaXggKyBoYW5kbGUsIFxcXCIqXFxcIik7XFxuICAgICAgICB9O1xcbiAgICB9XFxuXFxuICAgIGZ1bmN0aW9uIGluc3RhbGxNZXNzYWdlQ2hhbm5lbEltcGxlbWVudGF0aW9uKCkge1xcbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcXG4gICAgICAgIGNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHtcXG4gICAgICAgICAgICB2YXIgaGFuZGxlID0gZXZlbnQuZGF0YTtcXG4gICAgICAgICAgICBydW5JZlByZXNlbnQoaGFuZGxlKTtcXG4gICAgICAgIH07XFxuXFxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xcbiAgICAgICAgICAgIGNoYW5uZWwucG9ydDIucG9zdE1lc3NhZ2UoaGFuZGxlKTtcXG4gICAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgZnVuY3Rpb24gaW5zdGFsbFJlYWR5U3RhdGVDaGFuZ2VJbXBsZW1lbnRhdGlvbigpIHtcXG4gICAgICAgIHZhciBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcXG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XFxuICAgICAgICAgICAgLy8gQ3JlYXRlIGEgPHNjcmlwdD4gZWxlbWVudDsgaXRzIHJlYWR5c3RhdGVjaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBhc3luY2hyb25vdXNseSBvbmNlIGl0IGlzIGluc2VydGVkXFxuICAgICAgICAgICAgLy8gaW50byB0aGUgZG9jdW1lbnQuIERvIHNvLCB0aHVzIHF1ZXVpbmcgdXAgdGhlIHRhc2suIFJlbWVtYmVyIHRvIGNsZWFuIHVwIG9uY2UgaXQncyBiZWVuIGNhbGxlZC5cXG4gICAgICAgICAgICB2YXIgc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoXFxcInNjcmlwdFxcXCIpO1xcbiAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudChoYW5kbGUpO1xcbiAgICAgICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcXG4gICAgICAgICAgICAgICAgaHRtbC5yZW1vdmVDaGlsZChzY3JpcHQpO1xcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBudWxsO1xcbiAgICAgICAgICAgIH07XFxuICAgICAgICAgICAgaHRtbC5hcHBlbmRDaGlsZChzY3JpcHQpO1xcbiAgICAgICAgfTtcXG4gICAgfVxcblxcbiAgICBmdW5jdGlvbiBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCkge1xcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcXG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcXG4gICAgICAgIH07XFxuICAgIH1cXG5cXG4gICAgLy8gSWYgc3VwcG9ydGVkLCB3ZSBzaG91bGQgYXR0YWNoIHRvIHRoZSBwcm90b3R5cGUgb2YgZ2xvYmFsLCBzaW5jZSB0aGF0IGlzIHdoZXJlIHNldFRpbWVvdXQgZXQgYWwuIGxpdmUuXFxuICAgIHZhciBhdHRhY2hUbyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZiAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoZ2xvYmFsKTtcXG4gICAgYXR0YWNoVG8gPSBhdHRhY2hUbyAmJiBhdHRhY2hUby5zZXRUaW1lb3V0ID8gYXR0YWNoVG8gOiBnbG9iYWw7XFxuXFxuICAgIC8vIERvbid0IGdldCBmb29sZWQgYnkgZS5nLiBicm93c2VyaWZ5IGVudmlyb25tZW50cy5cXG4gICAgaWYgKHt9LnRvU3RyaW5nLmNhbGwoZ2xvYmFsLnByb2Nlc3MpID09PSBcXFwiW29iamVjdCBwcm9jZXNzXVxcXCIpIHtcXG4gICAgICAgIC8vIEZvciBOb2RlLmpzIGJlZm9yZSAwLjlcXG4gICAgICAgIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCk7XFxuXFxuICAgIH0gZWxzZSBpZiAoY2FuVXNlUG9zdE1lc3NhZ2UoKSkge1xcbiAgICAgICAgLy8gRm9yIG5vbi1JRTEwIG1vZGVybiBicm93c2Vyc1xcbiAgICAgICAgaW5zdGFsbFBvc3RNZXNzYWdlSW1wbGVtZW50YXRpb24oKTtcXG5cXG4gICAgfSBlbHNlIGlmIChnbG9iYWwuTWVzc2FnZUNoYW5uZWwpIHtcXG4gICAgICAgIC8vIEZvciB3ZWIgd29ya2Vycywgd2hlcmUgc3VwcG9ydGVkXFxuICAgICAgICBpbnN0YWxsTWVzc2FnZUNoYW5uZWxJbXBsZW1lbnRhdGlvbigpO1xcblxcbiAgICB9IGVsc2UgaWYgKGRvYyAmJiBcXFwib25yZWFkeXN0YXRlY2hhbmdlXFxcIiBpbiBkb2MuY3JlYXRlRWxlbWVudChcXFwic2NyaXB0XFxcIikpIHtcXG4gICAgICAgIC8vIEZvciBJRSA24oCTOFxcbiAgICAgICAgaW5zdGFsbFJlYWR5U3RhdGVDaGFuZ2VJbXBsZW1lbnRhdGlvbigpO1xcblxcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgLy8gRm9yIG9sZGVyIGJyb3dzZXJzXFxuICAgICAgICBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCk7XFxuICAgIH1cXG5cXG4gICAgYXR0YWNoVG8uc2V0SW1tZWRpYXRlID0gc2V0SW1tZWRpYXRlO1xcbiAgICBhdHRhY2hUby5jbGVhckltbWVkaWF0ZSA9IGNsZWFySW1tZWRpYXRlO1xcbn0odHlwZW9mIHNlbGYgPT09IFxcXCJ1bmRlZmluZWRcXFwiID8gdHlwZW9mIGdsb2JhbCA9PT0gXFxcInVuZGVmaW5lZFxcXCIgPyB0aGlzIDogZ2xvYmFsIDogc2VsZikpO1xcblxcbi8qIFdFQlBBQ0sgVkFSIElOSkVDVElPTiAqL30uY2FsbCh0aGlzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuLy4uL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanNcXFwiKSwgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi9wcm9jZXNzL2Jyb3dzZXIuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3Byb2Nlc3MvYnJvd3Nlci5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXpaWFJwYlcxbFpHbGhkR1V2YzJWMFNXMXRaV1JwWVhSbExtcHpQMk01WXpnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNkVUpCUVhWQ08wRkJRM1pDTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2NVSkJRWEZDTEdsQ1FVRnBRanRCUVVOMFF6dEJRVU5CTzBGQlEwRTdRVUZEUVN4clFrRkJhMEk3UVVGRGJFSTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxGTkJRVk03UVVGRFZEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTzBGQlEycENPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc01FTkJRVEJETEhOQ1FVRnpRaXhGUVVGRk8wRkJRMnhGTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVN4VFFVRlRPMEZCUTFRN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc2VVTkJRWGxETzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVN4VlFVRlZPMEZCUTFZN1FVRkRRVHM3UVVGRlFTeExRVUZMTzBGQlEwdzdRVUZEUVRzN1FVRkZRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVN4TFFVRkxPMEZCUTB3N1FVRkRRVHM3UVVGRlFTeExRVUZMTzBGQlEwdzdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTeERRVUZESWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM05sZEdsdGJXVmthV0YwWlM5elpYUkpiVzFsWkdsaGRHVXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW9ablZ1WTNScGIyNGdLR2RzYjJKaGJDd2dkVzVrWldacGJtVmtLU0I3WEc0Z0lDQWdYQ0oxYzJVZ2MzUnlhV04wWENJN1hHNWNiaUFnSUNCcFppQW9aMnh2WW1Gc0xuTmxkRWx0YldWa2FXRjBaU2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkbUZ5SUc1bGVIUklZVzVrYkdVZ1BTQXhPeUF2THlCVGNHVmpJSE5oZVhNZ1ozSmxZWFJsY2lCMGFHRnVJSHBsY205Y2JpQWdJQ0IyWVhJZ2RHRnphM05DZVVoaGJtUnNaU0E5SUh0OU8xeHVJQ0FnSUhaaGNpQmpkWEp5Wlc1MGJIbFNkVzV1YVc1blFWUmhjMnNnUFNCbVlXeHpaVHRjYmlBZ0lDQjJZWElnWkc5aklEMGdaMnh2WW1Gc0xtUnZZM1Z0Wlc1ME8xeHVJQ0FnSUhaaGNpQnlaV2RwYzNSbGNrbHRiV1ZrYVdGMFpUdGNibHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkRWx0YldWa2FXRjBaU2hqWVd4c1ltRmpheWtnZTF4dUlDQWdJQ0FnTHk4Z1EyRnNiR0poWTJzZ1kyRnVJR1ZwZEdobGNpQmlaU0JoSUdaMWJtTjBhVzl1SUc5eUlHRWdjM1J5YVc1blhHNGdJQ0FnSUNCcFppQW9kSGx3Wlc5bUlHTmhiR3hpWVdOcklDRTlQU0JjSW1aMWJtTjBhVzl1WENJcElIdGNiaUFnSUNBZ0lDQWdZMkZzYkdKaFkyc2dQU0J1WlhjZ1JuVnVZM1JwYjI0b1hDSmNJaUFySUdOaGJHeGlZV05yS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUM4dklFTnZjSGtnWm5WdVkzUnBiMjRnWVhKbmRXMWxiblJ6WEc0Z0lDQWdJQ0IyWVhJZ1lYSm5jeUE5SUc1bGR5QkJjbkpoZVNoaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvSUMwZ01TazdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR0Z5WjNNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnSUNCaGNtZHpXMmxkSUQwZ1lYSm5kVzFsYm5Selcya2dLeUF4WFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUM4dklGTjBiM0psSUdGdVpDQnlaV2RwYzNSbGNpQjBhR1VnZEdGemExeHVJQ0FnSUNBZ2RtRnlJSFJoYzJzZ1BTQjdJR05oYkd4aVlXTnJPaUJqWVd4c1ltRmpheXdnWVhKbmN6b2dZWEpuY3lCOU8xeHVJQ0FnSUNBZ2RHRnphM05DZVVoaGJtUnNaVnR1WlhoMFNHRnVaR3hsWFNBOUlIUmhjMnM3WEc0Z0lDQWdJQ0J5WldkcGMzUmxja2x0YldWa2FXRjBaU2h1WlhoMFNHRnVaR3hsS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhoMFNHRnVaR3hsS3lzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWm5WdVkzUnBiMjRnWTJ4bFlYSkpiVzFsWkdsaGRHVW9hR0Z1Wkd4bEtTQjdYRzRnSUNBZ0lDQWdJR1JsYkdWMFpTQjBZWE5yYzBKNVNHRnVaR3hsVzJoaGJtUnNaVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdablZ1WTNScGIyNGdjblZ1S0hSaGMyc3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHTmhiR3hpWVdOcklEMGdkR0Z6YXk1allXeHNZbUZqYXp0Y2JpQWdJQ0FnSUNBZ2RtRnlJR0Z5WjNNZ1BTQjBZWE5yTG1GeVozTTdYRzRnSUNBZ0lDQWdJSE4zYVhSamFDQW9ZWEpuY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ1kyRnpaU0F3T2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZzYkdKaFkyc29LVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCallYTmxJREU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpZV3hzWW1GamF5aGhjbWR6V3pCZEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lDQWdJQ0JqWVhObElESTZYRzRnSUNBZ0lDQWdJQ0FnSUNCallXeHNZbUZqYXloaGNtZHpXekJkTENCaGNtZHpXekZkS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQmpZWE5sSURNNlhHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVd4c1ltRmpheWhoY21keld6QmRMQ0JoY21keld6RmRMQ0JoY21keld6SmRLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHSnlaV0ZyTzF4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNBZ0lDQWdZMkZzYkdKaFkyc3VZWEJ3Ykhrb2RXNWtaV1pwYm1Wa0xDQmhjbWR6S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1puVnVZM1JwYjI0Z2NuVnVTV1pRY21WelpXNTBLR2hoYm1Sc1pTa2dlMXh1SUNBZ0lDQWdJQ0F2THlCR2NtOXRJSFJvWlNCemNHVmpPaUJjSWxkaGFYUWdkVzUwYVd3Z1lXNTVJR2x1ZG05allYUnBiMjV6SUc5bUlIUm9hWE1nWVd4bmIzSnBkR2h0SUhOMFlYSjBaV1FnWW1WbWIzSmxJSFJvYVhNZ2IyNWxJR2hoZG1VZ1kyOXRjR3hsZEdWa0xsd2lYRzRnSUNBZ0lDQWdJQzh2SUZOdklHbG1JSGRsSjNKbElHTjFjbkpsYm5Sc2VTQnlkVzV1YVc1bklHRWdkR0Z6YXl3Z2QyVW5iR3dnYm1WbFpDQjBieUJrWld4aGVTQjBhR2x6SUdsdWRtOWpZWFJwYjI0dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBiSGxTZFc1dWFXNW5RVlJoYzJzcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM4dklFUmxiR0Y1SUdKNUlHUnZhVzVuSUdFZ2MyVjBWR2x0Wlc5MWRDNGdjMlYwU1cxdFpXUnBZWFJsSUhkaGN5QjBjbWxsWkNCcGJuTjBaV0ZrTENCaWRYUWdhVzRnUm1seVpXWnZlQ0EzSUdsMElHZGxibVZ5WVhSbFpDQmhYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QmNJblJ2YnlCdGRXTm9JSEpsWTNWeWMybHZibHdpSUdWeWNtOXlMbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MyVjBWR2x0Wlc5MWRDaHlkVzVKWmxCeVpYTmxiblFzSURBc0lHaGhibVJzWlNrN1hHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RHRnpheUE5SUhSaGMydHpRbmxJWVc1a2JHVmJhR0Z1Wkd4bFhUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBZWE5yS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEd4NVVuVnVibWx1WjBGVVlYTnJJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlkVzRvZEdGemF5azdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyeGxZWEpKYlcxbFpHbGhkR1VvYUdGdVpHeGxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEd4NVVuVnVibWx1WjBGVVlYTnJJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1puVnVZM1JwYjI0Z2FXNXpkR0ZzYkU1bGVIUlVhV05yU1cxd2JHVnRaVzUwWVhScGIyNG9LU0I3WEc0Z0lDQWdJQ0FnSUhKbFoybHpkR1Z5U1cxdFpXUnBZWFJsSUQwZ1puVnVZM1JwYjI0b2FHRnVaR3hsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y205alpYTnpMbTVsZUhSVWFXTnJLR1oxYm1OMGFXOXVJQ2dwSUhzZ2NuVnVTV1pRY21WelpXNTBLR2hoYm1Sc1pTazdJSDBwTzF4dUlDQWdJQ0FnSUNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdaMWJtTjBhVzl1SUdOaGJsVnpaVkJ2YzNSTlpYTnpZV2RsS0NrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJVYUdVZ2RHVnpkQ0JoWjJGcGJuTjBJR0JwYlhCdmNuUlRZM0pwY0hSellDQndjbVYyWlc1MGN5QjBhR2x6SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p5YjIwZ1ltVnBibWNnYVc1emRHRnNiR1ZrSUdsdWMybGtaU0JoSUhkbFlpQjNiM0pyWlhJc1hHNGdJQ0FnSUNBZ0lDOHZJSGRvWlhKbElHQm5iRzlpWVd3dWNHOXpkRTFsYzNOaFoyVmdJRzFsWVc1eklITnZiV1YwYUdsdVp5QmpiMjF3YkdWMFpXeDVJR1JwWm1abGNtVnVkQ0JoYm1RZ1kyRnVKM1FnWW1VZ2RYTmxaQ0JtYjNJZ2RHaHBjeUJ3ZFhKd2IzTmxMbHh1SUNBZ0lDQWdJQ0JwWmlBb1oyeHZZbUZzTG5CdmMzUk5aWE56WVdkbElDWW1JQ0ZuYkc5aVlXd3VhVzF3YjNKMFUyTnlhWEIwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlIQnZjM1JOWlhOellXZGxTWE5CYzNsdVkyaHliMjV2ZFhNZ1BTQjBjblZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUc5c1pFOXVUV1Z6YzJGblpTQTlJR2RzYjJKaGJDNXZibTFsYzNOaFoyVTdYRzRnSUNBZ0lDQWdJQ0FnSUNCbmJHOWlZV3d1YjI1dFpYTnpZV2RsSUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjRzl6ZEUxbGMzTmhaMlZKYzBGemVXNWphSEp2Ym05MWN5QTlJR1poYkhObE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2RzYjJKaGJDNXdiM04wVFdWemMyRm5aU2hjSWx3aUxDQmNJaXBjSWlrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JuYkc5aVlXd3ViMjV0WlhOellXZGxJRDBnYjJ4a1QyNU5aWE56WVdkbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEJ2YzNSTlpYTnpZV2RsU1hOQmMzbHVZMmh5YjI1dmRYTTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQm1kVzVqZEdsdmJpQnBibk4wWVd4c1VHOXpkRTFsYzNOaFoyVkpiWEJzWlcxbGJuUmhkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdMeThnU1c1emRHRnNiSE1nWVc0Z1pYWmxiblFnYUdGdVpHeGxjaUJ2YmlCZ1oyeHZZbUZzWUNCbWIzSWdkR2hsSUdCdFpYTnpZV2RsWUNCbGRtVnVkRG9nYzJWbFhHNGdJQ0FnSUNBZ0lDOHZJQ29nYUhSMGNITTZMeTlrWlhabGJHOXdaWEl1Ylc5NmFXeHNZUzV2Y21jdlpXNHZSRTlOTDNkcGJtUnZkeTV3YjNOMFRXVnpjMkZuWlZ4dUlDQWdJQ0FnSUNBdkx5QXFJR2gwZEhBNkx5OTNkM2N1ZDJoaGRIZG5MbTl5Wnk5emNHVmpjeTkzWldJdFlYQndjeTlqZFhKeVpXNTBMWGR2Y21zdmJYVnNkR2x3WVdkbEwyTnZiVzF6TG1oMGJXd2pZM0p2YzNORWIyTjFiV1Z1ZEUxbGMzTmhaMlZ6WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJRzFsYzNOaFoyVlFjbVZtYVhnZ1BTQmNJbk5sZEVsdGJXVmthV0YwWlNSY0lpQXJJRTFoZEdndWNtRnVaRzl0S0NrZ0t5QmNJaVJjSWp0Y2JpQWdJQ0FnSUNBZ2RtRnlJRzl1UjJ4dlltRnNUV1Z6YzJGblpTQTlJR1oxYm1OMGFXOXVLR1YyWlc1MEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aWFpsYm5RdWMyOTFjbU5sSUQwOVBTQm5iRzlpWVd3Z0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjBlWEJsYjJZZ1pYWmxiblF1WkdGMFlTQTlQVDBnWENKemRISnBibWRjSWlBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVjJaVzUwTG1SaGRHRXVhVzVrWlhoUFppaHRaWE56WVdkbFVISmxabWw0S1NBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhKMWJrbG1VSEpsYzJWdWRDZ3JaWFpsYm5RdVpHRjBZUzV6YkdsalpTaHRaWE56WVdkbFVISmxabWw0TG14bGJtZDBhQ2twTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0I5TzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2huYkc5aVlXd3VZV1JrUlhabGJuUk1hWE4wWlc1bGNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1oyeHZZbUZzTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvWENKdFpYTnpZV2RsWENJc0lHOXVSMnh2WW1Gc1RXVnpjMkZuWlN3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaMnh2WW1Gc0xtRjBkR0ZqYUVWMlpXNTBLRndpYjI1dFpYTnpZV2RsWENJc0lHOXVSMnh2WW1Gc1RXVnpjMkZuWlNrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0J5WldkcGMzUmxja2x0YldWa2FXRjBaU0E5SUdaMWJtTjBhVzl1S0doaGJtUnNaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdaMnh2WW1Gc0xuQnZjM1JOWlhOellXZGxLRzFsYzNOaFoyVlFjbVZtYVhnZ0t5Qm9ZVzVrYkdVc0lGd2lLbHdpS1R0Y2JpQWdJQ0FnSUNBZ2ZUdGNiaUFnSUNCOVhHNWNiaUFnSUNCbWRXNWpkR2x2YmlCcGJuTjBZV3hzVFdWemMyRm5aVU5vWVc1dVpXeEpiWEJzWlcxbGJuUmhkR2x2YmlncElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdOb1lXNXVaV3dnUFNCdVpYY2dUV1Z6YzJGblpVTm9ZVzV1Wld3b0tUdGNiaUFnSUNBZ0lDQWdZMmhoYm01bGJDNXdiM0owTVM1dmJtMWxjM05oWjJVZ1BTQm1kVzVqZEdsdmJpaGxkbVZ1ZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1GeUlHaGhibVJzWlNBOUlHVjJaVzUwTG1SaGRHRTdYRzRnSUNBZ0lDQWdJQ0FnSUNCeWRXNUpabEJ5WlhObGJuUW9hR0Z1Wkd4bEtUdGNiaUFnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCeVpXZHBjM1JsY2tsdGJXVmthV0YwWlNBOUlHWjFibU4wYVc5dUtHaGhibVJzWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJoaGJtNWxiQzV3YjNKME1pNXdiM04wVFdWemMyRm5aU2hvWVc1a2JHVXBPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1oxYm1OMGFXOXVJR2x1YzNSaGJHeFNaV0ZrZVZOMFlYUmxRMmhoYm1kbFNXMXdiR1Z0Wlc1MFlYUnBiMjRvS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJvZEcxc0lEMGdaRzlqTG1SdlkzVnRaVzUwUld4bGJXVnVkRHRjYmlBZ0lDQWdJQ0FnY21WbmFYTjBaWEpKYlcxbFpHbGhkR1VnUFNCbWRXNWpkR2x2Ymlob1lXNWtiR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVOeVpXRjBaU0JoSUR4elkzSnBjSFErSUdWc1pXMWxiblE3SUdsMGN5QnlaV0ZrZVhOMFlYUmxZMmhoYm1kbElHVjJaVzUwSUhkcGJHd2dZbVVnWm1seVpXUWdZWE41Ym1Ob2NtOXViM1Z6YkhrZ2IyNWpaU0JwZENCcGN5QnBibk5sY25SbFpGeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk4Z2FXNTBieUIwYUdVZ1pHOWpkVzFsYm5RdUlFUnZJSE52TENCMGFIVnpJSEYxWlhWcGJtY2dkWEFnZEdobElIUmhjMnN1SUZKbGJXVnRZbVZ5SUhSdklHTnNaV0Z1SUhWd0lHOXVZMlVnYVhRbmN5QmlaV1Z1SUdOaGJHeGxaQzVjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhjaUJ6WTNKcGNIUWdQU0JrYjJNdVkzSmxZWFJsUld4bGJXVnVkQ2hjSW5OamNtbHdkRndpS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSE5qY21sd2RDNXZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWdQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NuVnVTV1pRY21WelpXNTBLR2hoYm1Sc1pTazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjMk55YVhCMExtOXVjbVZoWkhsemRHRjBaV05vWVc1blpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2FIUnRiQzV5WlcxdmRtVkRhR2xzWkNoelkzSnBjSFFwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOamNtbHdkQ0E5SUc1MWJHdzdYRzRnSUNBZ0lDQWdJQ0FnSUNCOU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnYUhSdGJDNWhjSEJsYm1SRGFHbHNaQ2h6WTNKcGNIUXBPMXh1SUNBZ0lDQWdJQ0I5TzF4dUlDQWdJSDFjYmx4dUlDQWdJR1oxYm1OMGFXOXVJR2x1YzNSaGJHeFRaWFJVYVcxbGIzVjBTVzF3YkdWdFpXNTBZWFJwYjI0b0tTQjdYRzRnSUNBZ0lDQWdJSEpsWjJsemRHVnlTVzF0WldScFlYUmxJRDBnWm5WdVkzUnBiMjRvYUdGdVpHeGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaWFJVYVcxbGIzVjBLSEoxYmtsbVVISmxjMlZ1ZEN3Z01Dd2dhR0Z1Wkd4bEtUdGNiaUFnSUNBZ0lDQWdmVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZMeUJKWmlCemRYQndiM0owWldRc0lIZGxJSE5vYjNWc1pDQmhkSFJoWTJnZ2RHOGdkR2hsSUhCeWIzUnZkSGx3WlNCdlppQm5iRzlpWVd3c0lITnBibU5sSUhSb1lYUWdhWE1nZDJobGNtVWdjMlYwVkdsdFpXOTFkQ0JsZENCaGJDNGdiR2wyWlM1Y2JpQWdJQ0IyWVhJZ1lYUjBZV05vVkc4Z1BTQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMllnSmlZZ1QySnFaV04wTG1kbGRGQnliM1J2ZEhsd1pVOW1LR2RzYjJKaGJDazdYRzRnSUNBZ1lYUjBZV05vVkc4Z1BTQmhkSFJoWTJoVWJ5QW1KaUJoZEhSaFkyaFVieTV6WlhSVWFXMWxiM1YwSUQ4Z1lYUjBZV05vVkc4Z09pQm5iRzlpWVd3N1hHNWNiaUFnSUNBdkx5QkViMjRuZENCblpYUWdabTl2YkdWa0lHSjVJR1V1Wnk0Z1luSnZkM05sY21sbWVTQmxiblpwY205dWJXVnVkSE11WEc0Z0lDQWdhV1lnS0h0OUxuUnZVM1J5YVc1bkxtTmhiR3dvWjJ4dlltRnNMbkJ5YjJObGMzTXBJRDA5UFNCY0lsdHZZbXBsWTNRZ2NISnZZMlZ6YzExY0lpa2dlMXh1SUNBZ0lDQWdJQ0F2THlCR2IzSWdUbTlrWlM1cWN5QmlaV1p2Y21VZ01DNDVYRzRnSUNBZ0lDQWdJR2x1YzNSaGJHeE9aWGgwVkdsamEwbHRjR3hsYldWdWRHRjBhVzl1S0NrN1hHNWNiaUFnSUNCOUlHVnNjMlVnYVdZZ0tHTmhibFZ6WlZCdmMzUk5aWE56WVdkbEtDa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1JtOXlJRzV2YmkxSlJURXdJRzF2WkdWeWJpQmljbTkzYzJWeWMxeHVJQ0FnSUNBZ0lDQnBibk4wWVd4c1VHOXpkRTFsYzNOaFoyVkpiWEJzWlcxbGJuUmhkR2x2YmlncE8xeHVYRzRnSUNBZ2ZTQmxiSE5sSUdsbUlDaG5iRzlpWVd3dVRXVnpjMkZuWlVOb1lXNXVaV3dwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbTl5SUhkbFlpQjNiM0pyWlhKekxDQjNhR1Z5WlNCemRYQndiM0owWldSY2JpQWdJQ0FnSUNBZ2FXNXpkR0ZzYkUxbGMzTmhaMlZEYUdGdWJtVnNTVzF3YkdWdFpXNTBZWFJwYjI0b0tUdGNibHh1SUNBZ0lIMGdaV3h6WlNCcFppQW9aRzlqSUNZbUlGd2liMjV5WldGa2VYTjBZWFJsWTJoaGJtZGxYQ0lnYVc0Z1pHOWpMbU55WldGMFpVVnNaVzFsYm5Rb1hDSnpZM0pwY0hSY0lpa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1JtOXlJRWxGSURiaWdKTTRYRzRnSUNBZ0lDQWdJR2x1YzNSaGJHeFNaV0ZrZVZOMFlYUmxRMmhoYm1kbFNXMXdiR1Z0Wlc1MFlYUnBiMjRvS1R0Y2JseHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUM4dklFWnZjaUJ2YkdSbGNpQmljbTkzYzJWeWMxeHVJQ0FnSUNBZ0lDQnBibk4wWVd4c1UyVjBWR2x0Wlc5MWRFbHRjR3hsYldWdWRHRjBhVzl1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWVhSMFlXTm9WRzh1YzJWMFNXMXRaV1JwWVhSbElEMGdjMlYwU1cxdFpXUnBZWFJsTzF4dUlDQWdJR0YwZEdGamFGUnZMbU5zWldGeVNXMXRaV1JwWVhSbElEMGdZMnhsWVhKSmJXMWxaR2xoZEdVN1hHNTlLSFI1Y0dWdlppQnpaV3htSUQwOVBTQmNJblZ1WkdWbWFXNWxaRndpSUQ4Z2RIbHdaVzltSUdkc2IySmhiQ0E5UFQwZ1hDSjFibVJsWm1sdVpXUmNJaUEvSUhSb2FYTWdPaUJuYkc5aVlXd2dPaUJ6Wld4bUtTazdYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NldGltbWVkaWF0ZS9zZXRJbW1lZGlhdGUuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCJ2YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxuLy8gcHJvdG90eXBlIGNsYXNzIGZvciBoYXNoIGZ1bmN0aW9uc1xcbmZ1bmN0aW9uIEhhc2ggKGJsb2NrU2l6ZSwgZmluYWxTaXplKSB7XFxuICB0aGlzLl9ibG9jayA9IEJ1ZmZlci5hbGxvYyhibG9ja1NpemUpXFxuICB0aGlzLl9maW5hbFNpemUgPSBmaW5hbFNpemVcXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxcbiAgdGhpcy5fbGVuID0gMFxcbn1cXG5cXG5IYXNoLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSwgZW5jKSB7XFxuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XFxuICAgIGVuYyA9IGVuYyB8fCAndXRmOCdcXG4gICAgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGVuYylcXG4gIH1cXG5cXG4gIHZhciBibG9jayA9IHRoaXMuX2Jsb2NrXFxuICB2YXIgYmxvY2tTaXplID0gdGhpcy5fYmxvY2tTaXplXFxuICB2YXIgbGVuZ3RoID0gZGF0YS5sZW5ndGhcXG4gIHZhciBhY2N1bSA9IHRoaXMuX2xlblxcblxcbiAgZm9yICh2YXIgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgbGVuZ3RoOykge1xcbiAgICB2YXIgYXNzaWduZWQgPSBhY2N1bSAlIGJsb2NrU2l6ZVxcbiAgICB2YXIgcmVtYWluZGVyID0gTWF0aC5taW4obGVuZ3RoIC0gb2Zmc2V0LCBibG9ja1NpemUgLSBhc3NpZ25lZClcXG5cXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZW1haW5kZXI7IGkrKykge1xcbiAgICAgIGJsb2NrW2Fzc2lnbmVkICsgaV0gPSBkYXRhW29mZnNldCArIGldXFxuICAgIH1cXG5cXG4gICAgYWNjdW0gKz0gcmVtYWluZGVyXFxuICAgIG9mZnNldCArPSByZW1haW5kZXJcXG5cXG4gICAgaWYgKChhY2N1bSAlIGJsb2NrU2l6ZSkgPT09IDApIHtcXG4gICAgICB0aGlzLl91cGRhdGUoYmxvY2spXFxuICAgIH1cXG4gIH1cXG5cXG4gIHRoaXMuX2xlbiArPSBsZW5ndGhcXG4gIHJldHVybiB0aGlzXFxufVxcblxcbkhhc2gucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uIChlbmMpIHtcXG4gIHZhciByZW0gPSB0aGlzLl9sZW4gJSB0aGlzLl9ibG9ja1NpemVcXG5cXG4gIHRoaXMuX2Jsb2NrW3JlbV0gPSAweDgwXFxuXFxuICAvLyB6ZXJvIChyZW0gKyAxKSB0cmFpbGluZyBiaXRzLCB3aGVyZSAocmVtICsgMSkgaXMgdGhlIHNtYWxsZXN0XFxuICAvLyBub24tbmVnYXRpdmUgc29sdXRpb24gdG8gdGhlIGVxdWF0aW9uIChsZW5ndGggKyAxICsgKHJlbSArIDEpKSA9PT0gZmluYWxTaXplIG1vZCBibG9ja1NpemVcXG4gIHRoaXMuX2Jsb2NrLmZpbGwoMCwgcmVtICsgMSlcXG5cXG4gIGlmIChyZW0gPj0gdGhpcy5fZmluYWxTaXplKSB7XFxuICAgIHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jaylcXG4gICAgdGhpcy5fYmxvY2suZmlsbCgwKVxcbiAgfVxcblxcbiAgdmFyIGJpdHMgPSB0aGlzLl9sZW4gKiA4XFxuXFxuICAvLyB1aW50MzJcXG4gIGlmIChiaXRzIDw9IDB4ZmZmZmZmZmYpIHtcXG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShiaXRzLCB0aGlzLl9ibG9ja1NpemUgLSA0KVxcblxcbiAgLy8gdWludDY0XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgbG93Qml0cyA9IChiaXRzICYgMHhmZmZmZmZmZikgPj4+IDBcXG4gICAgdmFyIGhpZ2hCaXRzID0gKGJpdHMgLSBsb3dCaXRzKSAvIDB4MTAwMDAwMDAwXFxuXFxuICAgIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUoaGlnaEJpdHMsIHRoaXMuX2Jsb2NrU2l6ZSAtIDgpXFxuICAgIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUobG93Qml0cywgdGhpcy5fYmxvY2tTaXplIC0gNClcXG4gIH1cXG5cXG4gIHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jaylcXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaCgpXFxuXFxuICByZXR1cm4gZW5jID8gaGFzaC50b1N0cmluZyhlbmMpIDogaGFzaFxcbn1cXG5cXG5IYXNoLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MnKVxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IEhhc2hcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmFHRnphQzVxY3o4NVl6VXdJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlFXRXNiVUpCUVU4c1EwRkJReXgzUkVGQllUczdRVUZGYkVNN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHpRa0ZCYzBJc2FVSkJRV2xDTzBGQlEzWkRPMEZCUTBFN08wRkJSVUVzYlVKQlFXMUNMR1ZCUVdVN1FVRkRiRU03UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmFHRnphQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVYRzR2THlCd2NtOTBiM1I1Y0dVZ1kyeGhjM01nWm05eUlHaGhjMmdnWm5WdVkzUnBiMjV6WEc1bWRXNWpkR2x2YmlCSVlYTm9JQ2hpYkc5amExTnBlbVVzSUdacGJtRnNVMmw2WlNrZ2UxeHVJQ0IwYUdsekxsOWliRzlqYXlBOUlFSjFabVpsY2k1aGJHeHZZeWhpYkc5amExTnBlbVVwWEc0Z0lIUm9hWE11WDJacGJtRnNVMmw2WlNBOUlHWnBibUZzVTJsNlpWeHVJQ0IwYUdsekxsOWliRzlqYTFOcGVtVWdQU0JpYkc5amExTnBlbVZjYmlBZ2RHaHBjeTVmYkdWdUlEMGdNRnh1ZlZ4dVhHNUlZWE5vTG5CeWIzUnZkSGx3WlM1MWNHUmhkR1VnUFNCbWRXNWpkR2x2YmlBb1pHRjBZU3dnWlc1aktTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1pHRjBZU0E5UFQwZ0ozTjBjbWx1WnljcElIdGNiaUFnSUNCbGJtTWdQU0JsYm1NZ2ZId2dKM1YwWmpnblhHNGdJQ0FnWkdGMFlTQTlJRUoxWm1abGNpNW1jbTl0S0dSaGRHRXNJR1Z1WXlsY2JpQWdmVnh1WEc0Z0lIWmhjaUJpYkc5amF5QTlJSFJvYVhNdVgySnNiMk5yWEc0Z0lIWmhjaUJpYkc5amExTnBlbVVnUFNCMGFHbHpMbDlpYkc5amExTnBlbVZjYmlBZ2RtRnlJR3hsYm1kMGFDQTlJR1JoZEdFdWJHVnVaM1JvWEc0Z0lIWmhjaUJoWTJOMWJTQTlJSFJvYVhNdVgyeGxibHh1WEc0Z0lHWnZjaUFvZG1GeUlHOW1abk5sZENBOUlEQTdJRzltWm5ObGRDQThJR3hsYm1kMGFEc3BJSHRjYmlBZ0lDQjJZWElnWVhOemFXZHVaV1FnUFNCaFkyTjFiU0FsSUdKc2IyTnJVMmw2WlZ4dUlDQWdJSFpoY2lCeVpXMWhhVzVrWlhJZ1BTQk5ZWFJvTG0xcGJpaHNaVzVuZEdnZ0xTQnZabVp6WlhRc0lHSnNiMk5yVTJsNlpTQXRJR0Z6YzJsbmJtVmtLVnh1WEc0Z0lDQWdabTl5SUNoMllYSWdhU0E5SURBN0lHa2dQQ0J5WlcxaGFXNWtaWEk3SUdrckt5a2dlMXh1SUNBZ0lDQWdZbXh2WTJ0YllYTnphV2R1WldRZ0t5QnBYU0E5SUdSaGRHRmJiMlptYzJWMElDc2dhVjFjYmlBZ0lDQjlYRzVjYmlBZ0lDQmhZMk4xYlNBclBTQnlaVzFoYVc1a1pYSmNiaUFnSUNCdlptWnpaWFFnS3owZ2NtVnRZV2x1WkdWeVhHNWNiaUFnSUNCcFppQW9LR0ZqWTNWdElDVWdZbXh2WTJ0VGFYcGxLU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2hwY3k1ZmRYQmtZWFJsS0dKc2IyTnJLVnh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgyeGxiaUFyUFNCc1pXNW5kR2hjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVNHRnphQzV3Y205MGIzUjVjR1V1WkdsblpYTjBJRDBnWm5WdVkzUnBiMjRnS0dWdVl5a2dlMXh1SUNCMllYSWdjbVZ0SUQwZ2RHaHBjeTVmYkdWdUlDVWdkR2hwY3k1ZllteHZZMnRUYVhwbFhHNWNiaUFnZEdocGN5NWZZbXh2WTJ0YmNtVnRYU0E5SURCNE9EQmNibHh1SUNBdkx5QjZaWEp2SUNoeVpXMGdLeUF4S1NCMGNtRnBiR2x1WnlCaWFYUnpMQ0IzYUdWeVpTQW9jbVZ0SUNzZ01Ta2dhWE1nZEdobElITnRZV3hzWlhOMFhHNGdJQzh2SUc1dmJpMXVaV2RoZEdsMlpTQnpiMngxZEdsdmJpQjBieUIwYUdVZ1pYRjFZWFJwYjI0Z0tHeGxibWQwYUNBcklERWdLeUFvY21WdElDc2dNU2twSUQwOVBTQm1hVzVoYkZOcGVtVWdiVzlrSUdKc2IyTnJVMmw2WlZ4dUlDQjBhR2x6TGw5aWJHOWpheTVtYVd4c0tEQXNJSEpsYlNBcklERXBYRzVjYmlBZ2FXWWdLSEpsYlNBK1BTQjBhR2x6TGw5bWFXNWhiRk5wZW1VcElIdGNiaUFnSUNCMGFHbHpMbDkxY0dSaGRHVW9kR2hwY3k1ZllteHZZMnNwWEc0Z0lDQWdkR2hwY3k1ZllteHZZMnN1Wm1sc2JDZ3dLVnh1SUNCOVhHNWNiaUFnZG1GeUlHSnBkSE1nUFNCMGFHbHpMbDlzWlc0Z0tpQTRYRzVjYmlBZ0x5OGdkV2x1ZERNeVhHNGdJR2xtSUNoaWFYUnpJRHc5SURCNFptWm1abVptWm1ZcElIdGNiaUFnSUNCMGFHbHpMbDlpYkc5amF5NTNjbWwwWlZWSmJuUXpNa0pGS0dKcGRITXNJSFJvYVhNdVgySnNiMk5yVTJsNlpTQXRJRFFwWEc1Y2JpQWdMeThnZFdsdWREWTBYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUd4dmQwSnBkSE1nUFNBb1ltbDBjeUFtSURCNFptWm1abVptWm1ZcElENCtQaUF3WEc0Z0lDQWdkbUZ5SUdocFoyaENhWFJ6SUQwZ0tHSnBkSE1nTFNCc2IzZENhWFJ6S1NBdklEQjRNVEF3TURBd01EQXdYRzVjYmlBZ0lDQjBhR2x6TGw5aWJHOWpheTUzY21sMFpWVkpiblF6TWtKRktHaHBaMmhDYVhSekxDQjBhR2x6TGw5aWJHOWphMU5wZW1VZ0xTQTRLVnh1SUNBZ0lIUm9hWE11WDJKc2IyTnJMbmR5YVhSbFZVbHVkRE15UWtVb2JHOTNRbWwwY3l3Z2RHaHBjeTVmWW14dlkydFRhWHBsSUMwZ05DbGNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgzVndaR0YwWlNoMGFHbHpMbDlpYkc5amF5bGNiaUFnZG1GeUlHaGhjMmdnUFNCMGFHbHpMbDlvWVhOb0tDbGNibHh1SUNCeVpYUjFjbTRnWlc1aklEOGdhR0Z6YUM1MGIxTjBjbWx1WnlobGJtTXBJRG9nYUdGemFGeHVmVnh1WEc1SVlYTm9MbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMTkxY0dSaGRHVWdiWFZ6ZENCaVpTQnBiWEJzWlcxbGJuUmxaQ0JpZVNCemRXSmpiR0Z6Y3ljcFhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnU0dGemFGeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcInZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBTSEEgKGFsZ29yaXRobSkge1xcbiAgYWxnb3JpdGhtID0gYWxnb3JpdGhtLnRvTG93ZXJDYXNlKClcXG5cXG4gIHZhciBBbGdvcml0aG0gPSBleHBvcnRzW2FsZ29yaXRobV1cXG4gIGlmICghQWxnb3JpdGhtKSB0aHJvdyBuZXcgRXJyb3IoYWxnb3JpdGhtICsgJyBpcyBub3Qgc3VwcG9ydGVkICh3ZSBhY2NlcHQgcHVsbCByZXF1ZXN0cyknKVxcblxcbiAgcmV0dXJuIG5ldyBBbGdvcml0aG0oKVxcbn1cXG5cXG5leHBvcnRzLnNoYSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhLmpzXFxcIilcXG5leHBvcnRzLnNoYTEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoYTEgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzXFxcIilcXG5leHBvcnRzLnNoYTIyNCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhMjI0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjI0LmpzXFxcIilcXG5leHBvcnRzLnNoYTI1NiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhMjU2ICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjU2LmpzXFxcIilcXG5leHBvcnRzLnNoYTM4NCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhMzg0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMzg0LmpzXFxcIilcXG5leHBvcnRzLnNoYTUxMiA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vc2hhNTEyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhNTEyLmpzXFxcIilcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmFXNWtaWGd1YW5NL01qZGtOeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU3hqUVVGakxHMUNRVUZQTEVOQlFVTXNNa05CUVU4N1FVRkROMElzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpEUVVGUk8wRkJReTlDTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEdsRVFVRlZPMEZCUTI1RExHbENRVUZwUWl4dFFrRkJUeXhEUVVGRExHbEVRVUZWTzBGQlEyNURMR2xDUVVGcFFpeHRRa0ZCVHl4RFFVRkRMR2xFUVVGVk8wRkJRMjVETEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEdsRVFVRlZJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzTm9ZUzVxY3k5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCbGVIQnZjblJ6SUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCVFNFRWdLR0ZzWjI5eWFYUm9iU2tnZTF4dUlDQmhiR2R2Y21sMGFHMGdQU0JoYkdkdmNtbDBhRzB1ZEc5TWIzZGxja05oYzJVb0tWeHVYRzRnSUhaaGNpQkJiR2R2Y21sMGFHMGdQU0JsZUhCdmNuUnpXMkZzWjI5eWFYUm9iVjFjYmlBZ2FXWWdLQ0ZCYkdkdmNtbDBhRzBwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWhoYkdkdmNtbDBhRzBnS3lBbklHbHpJRzV2ZENCemRYQndiM0owWldRZ0tIZGxJR0ZqWTJWd2RDQndkV3hzSUhKbGNYVmxjM1J6S1NjcFhHNWNiaUFnY21WMGRYSnVJRzVsZHlCQmJHZHZjbWwwYUcwb0tWeHVmVnh1WEc1bGVIQnZjblJ6TG5Ob1lTQTlJSEpsY1hWcGNtVW9KeTR2YzJoaEp5bGNibVY0Y0c5eWRITXVjMmhoTVNBOUlISmxjWFZwY21Vb0p5NHZjMmhoTVNjcFhHNWxlSEJ2Y25SekxuTm9ZVEl5TkNBOUlISmxjWFZwY21Vb0p5NHZjMmhoTWpJMEp5bGNibVY0Y0c5eWRITXVjMmhoTWpVMklEMGdjbVZ4ZFdseVpTZ25MaTl6YUdFeU5UWW5LVnh1Wlhod2IzSjBjeTV6YUdFek9EUWdQU0J5WlhGMWFYSmxLQ2N1TDNOb1lUTTROQ2NwWEc1bGVIQnZjblJ6TG5Ob1lUVXhNaUE5SUhKbGNYVnBjbVVvSnk0dmMyaGhOVEV5SnlsY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYS5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMCwgYXMgZGVmaW5lZFxcbiAqIGluIEZJUFMgUFVCIDE4MC0xXFxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBkZXJpdmVkIGZyb20gc2hhMS5qcyBvZiB0aGUgc2FtZSByZXBvc2l0b3J5LlxcbiAqIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gU0hBLTAgYW5kIFNIQS0xIGlzIGp1c3QgYSBiaXR3aXNlIHJvdGF0ZSBsZWZ0XFxuICogb3BlcmF0aW9uIHdhcyBhZGRlZC5cXG4gKi9cXG5cXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIEhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIEsgPSBbXFxuICAweDVhODI3OTk5LCAweDZlZDllYmExLCAweDhmMWJiY2RjIHwgMCwgMHhjYTYyYzFkNiB8IDBcXG5dXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoODApXFxuXFxuZnVuY3Rpb24gU2hhICgpIHtcXG4gIHRoaXMuaW5pdCgpXFxuICB0aGlzLl93ID0gV1xcblxcbiAgSGFzaC5jYWxsKHRoaXMsIDY0LCA1NilcXG59XFxuXFxuaW5oZXJpdHMoU2hhLCBIYXNoKVxcblxcblNoYS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuX2EgPSAweDY3NDUyMzAxXFxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcXG4gIHRoaXMuX2QgPSAweDEwMzI1NDc2XFxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxcblxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuZnVuY3Rpb24gcm90bDUgKG51bSkge1xcbiAgcmV0dXJuIChudW0gPDwgNSkgfCAobnVtID4+PiAyNylcXG59XFxuXFxuZnVuY3Rpb24gcm90bDMwIChudW0pIHtcXG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXFxufVxcblxcbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XFxuICBpZiAocyA9PT0gMCkgcmV0dXJuIChiICYgYykgfCAoKH5iKSAmIGQpXFxuICBpZiAocyA9PT0gMikgcmV0dXJuIChiICYgYykgfCAoYiAmIGQpIHwgKGMgJiBkKVxcbiAgcmV0dXJuIGIgXiBjIF4gZFxcbn1cXG5cXG5TaGEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xcbiAgdmFyIFcgPSB0aGlzLl93XFxuXFxuICB2YXIgYSA9IHRoaXMuX2EgfCAwXFxuICB2YXIgYiA9IHRoaXMuX2IgfCAwXFxuICB2YXIgYyA9IHRoaXMuX2MgfCAwXFxuICB2YXIgZCA9IHRoaXMuX2QgfCAwXFxuICB2YXIgZSA9IHRoaXMuX2UgfCAwXFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpIFdbaV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0KVxcbiAgZm9yICg7IGkgPCA4MDsgKytpKSBXW2ldID0gV1tpIC0gM10gXiBXW2kgLSA4XSBeIFdbaSAtIDE0XSBeIFdbaSAtIDE2XVxcblxcbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XFxuICAgIHZhciBzID0gfn4oaiAvIDIwKVxcbiAgICB2YXIgdCA9IChyb3RsNShhKSArIGZ0KHMsIGIsIGMsIGQpICsgZSArIFdbal0gKyBLW3NdKSB8IDBcXG5cXG4gICAgZSA9IGRcXG4gICAgZCA9IGNcXG4gICAgYyA9IHJvdGwzMChiKVxcbiAgICBiID0gYVxcbiAgICBhID0gdFxcbiAgfVxcblxcbiAgdGhpcy5fYSA9IChhICsgdGhpcy5fYSkgfCAwXFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcXG4gIHRoaXMuX2MgPSAoYyArIHRoaXMuX2MpIHwgMFxcbiAgdGhpcy5fZCA9IChkICsgdGhpcy5fZCkgfCAwXFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcXG59XFxuXFxuU2hhLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIwKVxcblxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9iIHwgMCwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MgfCAwLCA4KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZSB8IDAsIDE2KVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGFcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhMbXB6UDJVNE5URWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUTBGQlVUdEJRVU16UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeFJRVUZSTzBGQlEzcENMRkZCUVZFc1VVRkJVVHM3UVVGRmFFSXNhVUpCUVdsQ0xGRkJRVkU3UVVGRGVrSTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCSWl3aVptbHNaU0k2SWk0dmJtOWtaVjl0YjJSMWJHVnpMM05vWVM1cWN5OXphR0V1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2x4dUlDb2dRU0JLWVhaaFUyTnlhWEIwSUdsdGNHeGxiV1Z1ZEdGMGFXOXVJRzltSUhSb1pTQlRaV04xY21VZ1NHRnphQ0JCYkdkdmNtbDBhRzBzSUZOSVFTMHdMQ0JoY3lCa1pXWnBibVZrWEc0Z0tpQnBiaUJHU1ZCVElGQlZRaUF4T0RBdE1WeHVJQ29nVkdocGN5QnpiM1Z5WTJVZ1kyOWtaU0JwY3lCa1pYSnBkbVZrSUdaeWIyMGdjMmhoTVM1cWN5QnZaaUIwYUdVZ2MyRnRaU0J5WlhCdmMybDBiM0o1TGx4dUlDb2dWR2hsSUdScFptWmxjbVZ1WTJVZ1ltVjBkMlZsYmlCVFNFRXRNQ0JoYm1RZ1UwaEJMVEVnYVhNZ2FuVnpkQ0JoSUdKcGRIZHBjMlVnY205MFlYUmxJR3hsWm5SY2JpQXFJRzl3WlhKaGRHbHZiaUIzWVhNZ1lXUmtaV1F1WEc0Z0tpOWNibHh1ZG1GeUlHbHVhR1Z5YVhSeklEMGdjbVZ4ZFdseVpTZ25hVzVvWlhKcGRITW5LVnh1ZG1GeUlFaGhjMmdnUFNCeVpYRjFhWEpsS0NjdUwyaGhjMmduS1Z4dWRtRnlJRUoxWm1abGNpQTlJSEpsY1hWcGNtVW9KM05oWm1VdFluVm1abVZ5SnlrdVFuVm1abVZ5WEc1Y2JuWmhjaUJMSUQwZ1cxeHVJQ0F3ZURWaE9ESTNPVGs1TENBd2VEWmxaRGxsWW1FeExDQXdlRGhtTVdKaVkyUmpJSHdnTUN3Z01IaGpZVFl5WXpGa05pQjhJREJjYmwxY2JseHVkbUZ5SUZjZ1BTQnVaWGNnUVhKeVlYa29PREFwWEc1Y2JtWjFibU4wYVc5dUlGTm9ZU0FvS1NCN1hHNGdJSFJvYVhNdWFXNXBkQ2dwWEc0Z0lIUm9hWE11WDNjZ1BTQlhYRzVjYmlBZ1NHRnphQzVqWVd4c0tIUm9hWE1zSURZMExDQTFOaWxjYm4xY2JseHVhVzVvWlhKcGRITW9VMmhoTENCSVlYTm9LVnh1WEc1VGFHRXVjSEp2ZEc5MGVYQmxMbWx1YVhRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WDJFZ1BTQXdlRFkzTkRVeU16QXhYRzRnSUhSb2FYTXVYMklnUFNBd2VHVm1ZMlJoWWpnNVhHNGdJSFJvYVhNdVgyTWdQU0F3ZURrNFltRmtZMlpsWEc0Z0lIUm9hWE11WDJRZ1BTQXdlREV3TXpJMU5EYzJYRzRnSUhSb2FYTXVYMlVnUFNBd2VHTXpaREpsTVdZd1hHNWNiaUFnY21WMGRYSnVJSFJvYVhOY2JuMWNibHh1Wm5WdVkzUnBiMjRnY205MGJEVWdLRzUxYlNrZ2UxeHVJQ0J5WlhSMWNtNGdLRzUxYlNBOFBDQTFLU0I4SUNodWRXMGdQajQrSURJM0tWeHVmVnh1WEc1bWRXNWpkR2x2YmlCeWIzUnNNekFnS0c1MWJTa2dlMXh1SUNCeVpYUjFjbTRnS0c1MWJTQThQQ0F6TUNrZ2ZDQW9iblZ0SUQ0K1BpQXlLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm1kQ0FvY3l3Z1lpd2dZeXdnWkNrZ2UxeHVJQ0JwWmlBb2N5QTlQVDBnTUNrZ2NtVjBkWEp1SUNoaUlDWWdZeWtnZkNBb0tINWlLU0FtSUdRcFhHNGdJR2xtSUNoeklEMDlQU0F5S1NCeVpYUjFjbTRnS0dJZ0ppQmpLU0I4SUNoaUlDWWdaQ2tnZkNBb1l5QW1JR1FwWEc0Z0lISmxkSFZ5YmlCaUlGNGdZeUJlSUdSY2JuMWNibHh1VTJoaExuQnliM1J2ZEhsd1pTNWZkWEJrWVhSbElEMGdablZ1WTNScGIyNGdLRTBwSUh0Y2JpQWdkbUZ5SUZjZ1BTQjBhR2x6TGw5M1hHNWNiaUFnZG1GeUlHRWdQU0IwYUdsekxsOWhJSHdnTUZ4dUlDQjJZWElnWWlBOUlIUm9hWE11WDJJZ2ZDQXdYRzRnSUhaaGNpQmpJRDBnZEdocGN5NWZZeUI4SURCY2JpQWdkbUZ5SUdRZ1BTQjBhR2x6TGw5a0lId2dNRnh1SUNCMllYSWdaU0E5SUhSb2FYTXVYMlVnZkNBd1hHNWNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENBeE5qc2dLeXRwS1NCWFcybGRJRDBnVFM1eVpXRmtTVzUwTXpKQ1JTaHBJQ29nTkNsY2JpQWdabTl5SUNnN0lHa2dQQ0E0TURzZ0t5dHBLU0JYVzJsZElEMGdWMXRwSUMwZ00xMGdYaUJYVzJrZ0xTQTRYU0JlSUZkYmFTQXRJREUwWFNCZUlGZGJhU0F0SURFMlhWeHVYRzRnSUdadmNpQW9kbUZ5SUdvZ1BTQXdPeUJxSUR3Z09EQTdJQ3NyYWlrZ2UxeHVJQ0FnSUhaaGNpQnpJRDBnZm40b2FpQXZJREl3S1Z4dUlDQWdJSFpoY2lCMElEMGdLSEp2ZEd3MUtHRXBJQ3NnWm5Rb2N5d2dZaXdnWXl3Z1pDa2dLeUJsSUNzZ1YxdHFYU0FySUV0YmMxMHBJSHdnTUZ4dVhHNGdJQ0FnWlNBOUlHUmNiaUFnSUNCa0lEMGdZMXh1SUNBZ0lHTWdQU0J5YjNSc016QW9ZaWxjYmlBZ0lDQmlJRDBnWVZ4dUlDQWdJR0VnUFNCMFhHNGdJSDFjYmx4dUlDQjBhR2x6TGw5aElEMGdLR0VnS3lCMGFHbHpMbDloS1NCOElEQmNiaUFnZEdocGN5NWZZaUE5SUNoaUlDc2dkR2hwY3k1Zllpa2dmQ0F3WEc0Z0lIUm9hWE11WDJNZ1BTQW9ZeUFySUhSb2FYTXVYMk1wSUh3Z01GeHVJQ0IwYUdsekxsOWtJRDBnS0dRZ0t5QjBhR2x6TGw5a0tTQjhJREJjYmlBZ2RHaHBjeTVmWlNBOUlDaGxJQ3NnZEdocGN5NWZaU2tnZkNBd1hHNTlYRzVjYmxOb1lTNXdjbTkwYjNSNWNHVXVYMmhoYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJJSUQwZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabEtESXdLVnh1WEc0Z0lFZ3VkM0pwZEdWSmJuUXpNa0pGS0hSb2FYTXVYMkVnZkNBd0xDQXdLVnh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWlJSHdnTUN3Z05DbGNiaUFnU0M1M2NtbDBaVWx1ZERNeVFrVW9kR2hwY3k1Zll5QjhJREFzSURncFhHNGdJRWd1ZDNKcGRHVkpiblF6TWtKRktIUm9hWE11WDJRZ2ZDQXdMQ0F4TWlsY2JpQWdTQzUzY21sMFpVbHVkRE15UWtVb2RHaHBjeTVmWlNCOElEQXNJREUyS1Z4dVhHNGdJSEpsZEhWeWJpQklYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1UyaGhYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGExLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMSwgYXMgZGVmaW5lZFxcbiAqIGluIEZJUFMgUFVCIDE4MC0xXFxuICogVmVyc2lvbiAyLjFhIENvcHlyaWdodCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDAyLlxcbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcXG4gKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQlNEIExpY2Vuc2VcXG4gKiBTZWUgaHR0cDovL3BhamhvbWUub3JnLnVrL2NyeXB0L21kNSBmb3IgZGV0YWlscy5cXG4gKi9cXG5cXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpXFxudmFyIEhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIEsgPSBbXFxuICAweDVhODI3OTk5LCAweDZlZDllYmExLCAweDhmMWJiY2RjIHwgMCwgMHhjYTYyYzFkNiB8IDBcXG5dXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoODApXFxuXFxuZnVuY3Rpb24gU2hhMSAoKSB7XFxuICB0aGlzLmluaXQoKVxcbiAgdGhpcy5fdyA9IFdcXG5cXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXFxufVxcblxcbmluaGVyaXRzKFNoYTEsIEhhc2gpXFxuXFxuU2hhMS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcXG4gIHRoaXMuX2EgPSAweDY3NDUyMzAxXFxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcXG4gIHRoaXMuX2QgPSAweDEwMzI1NDc2XFxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxcblxcbiAgcmV0dXJuIHRoaXNcXG59XFxuXFxuZnVuY3Rpb24gcm90bDEgKG51bSkge1xcbiAgcmV0dXJuIChudW0gPDwgMSkgfCAobnVtID4+PiAzMSlcXG59XFxuXFxuZnVuY3Rpb24gcm90bDUgKG51bSkge1xcbiAgcmV0dXJuIChudW0gPDwgNSkgfCAobnVtID4+PiAyNylcXG59XFxuXFxuZnVuY3Rpb24gcm90bDMwIChudW0pIHtcXG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXFxufVxcblxcbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XFxuICBpZiAocyA9PT0gMCkgcmV0dXJuIChiICYgYykgfCAoKH5iKSAmIGQpXFxuICBpZiAocyA9PT0gMikgcmV0dXJuIChiICYgYykgfCAoYiAmIGQpIHwgKGMgJiBkKVxcbiAgcmV0dXJuIGIgXiBjIF4gZFxcbn1cXG5cXG5TaGExLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKE0pIHtcXG4gIHZhciBXID0gdGhpcy5fd1xcblxcbiAgdmFyIGEgPSB0aGlzLl9hIHwgMFxcbiAgdmFyIGIgPSB0aGlzLl9iIHwgMFxcbiAgdmFyIGMgPSB0aGlzLl9jIHwgMFxcbiAgdmFyIGQgPSB0aGlzLl9kIHwgMFxcbiAgdmFyIGUgPSB0aGlzLl9lIHwgMFxcblxcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcXG4gIGZvciAoOyBpIDwgODA7ICsraSkgV1tpXSA9IHJvdGwxKFdbaSAtIDNdIF4gV1tpIC0gOF0gXiBXW2kgLSAxNF0gXiBXW2kgLSAxNl0pXFxuXFxuICBmb3IgKHZhciBqID0gMDsgaiA8IDgwOyArK2opIHtcXG4gICAgdmFyIHMgPSB+fihqIC8gMjApXFxuICAgIHZhciB0ID0gKHJvdGw1KGEpICsgZnQocywgYiwgYywgZCkgKyBlICsgV1tqXSArIEtbc10pIHwgMFxcblxcbiAgICBlID0gZFxcbiAgICBkID0gY1xcbiAgICBjID0gcm90bDMwKGIpXFxuICAgIGIgPSBhXFxuICAgIGEgPSB0XFxuICB9XFxuXFxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcXG4gIHRoaXMuX2IgPSAoYiArIHRoaXMuX2IpIHwgMFxcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcXG4gIHRoaXMuX2UgPSAoZSArIHRoaXMuX2UpIHwgMFxcbn1cXG5cXG5TaGExLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIwKVxcblxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9iIHwgMCwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MgfCAwLCA4KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZSB8IDAsIDE2KVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGExXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6YUdFdWFuTXZjMmhoTVM1cWN6OWlZamhtSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUTBGQlVUdEJRVU16UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUczdRVUZGUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc1VVRkJVVHRCUVVONlFpeFJRVUZSTEZGQlFWRTdPMEZCUldoQ0xHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ08wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhNUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxWEc0Z0tpQkJJRXBoZG1GVFkzSnBjSFFnYVcxd2JHVnRaVzUwWVhScGIyNGdiMllnZEdobElGTmxZM1Z5WlNCSVlYTm9JRUZzWjI5eWFYUm9iU3dnVTBoQkxURXNJR0Z6SUdSbFptbHVaV1JjYmlBcUlHbHVJRVpKVUZNZ1VGVkNJREU0TUMweFhHNGdLaUJXWlhKemFXOXVJREl1TVdFZ1EyOXdlWEpwWjJoMElGQmhkV3dnU205b2JuTjBiMjRnTWpBd01DQXRJREl3TURJdVhHNGdLaUJQZEdobGNpQmpiMjUwY21saWRYUnZjbk02SUVkeVpXY2dTRzlzZEN3Z1FXNWtjbVYzSUV0bGNHVnlkQ3dnV1dSdVlYSXNJRXh2YzNScGJtVjBYRzRnS2lCRWFYTjBjbWxpZFhSbFpDQjFibVJsY2lCMGFHVWdRbE5FSUV4cFkyVnVjMlZjYmlBcUlGTmxaU0JvZEhSd09pOHZjR0ZxYUc5dFpTNXZjbWN1ZFdzdlkzSjVjSFF2YldRMUlHWnZjaUJrWlhSaGFXeHpMbHh1SUNvdlhHNWNiblpoY2lCcGJtaGxjbWwwY3lBOUlISmxjWFZwY21Vb0oybHVhR1Z5YVhSekp5bGNiblpoY2lCSVlYTm9JRDBnY21WeGRXbHlaU2duTGk5b1lYTm9KeWxjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjbHh1WEc1MllYSWdTeUE5SUZ0Y2JpQWdNSGcxWVRneU56azVPU3dnTUhnMlpXUTVaV0poTVN3Z01IZzRaakZpWW1Oa1l5QjhJREFzSURCNFkyRTJNbU14WkRZZ2ZDQXdYRzVkWEc1Y2JuWmhjaUJYSUQwZ2JtVjNJRUZ5Y21GNUtEZ3dLVnh1WEc1bWRXNWpkR2x2YmlCVGFHRXhJQ2dwSUh0Y2JpQWdkR2hwY3k1cGJtbDBLQ2xjYmlBZ2RHaHBjeTVmZHlBOUlGZGNibHh1SUNCSVlYTm9MbU5oYkd3b2RHaHBjeXdnTmpRc0lEVTJLVnh1ZlZ4dVhHNXBibWhsY21sMGN5aFRhR0V4TENCSVlYTm9LVnh1WEc1VGFHRXhMbkJ5YjNSdmRIbHdaUzVwYm1sMElEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjBhR2x6TGw5aElEMGdNSGcyTnpRMU1qTXdNVnh1SUNCMGFHbHpMbDlpSUQwZ01IaGxabU5rWVdJNE9WeHVJQ0IwYUdsekxsOWpJRDBnTUhnNU9HSmhaR05tWlZ4dUlDQjBhR2x6TGw5a0lEMGdNSGd4TURNeU5UUTNObHh1SUNCMGFHbHpMbDlsSUQwZ01IaGpNMlF5WlRGbU1GeHVYRzRnSUhKbGRIVnliaUIwYUdselhHNTlYRzVjYm1aMWJtTjBhVzl1SUhKdmRHd3hJQ2h1ZFcwcElIdGNiaUFnY21WMGRYSnVJQ2h1ZFcwZ1BEd2dNU2tnZkNBb2JuVnRJRDQrUGlBek1TbGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NtOTBiRFVnS0c1MWJTa2dlMXh1SUNCeVpYUjFjbTRnS0c1MWJTQThQQ0ExS1NCOElDaHVkVzBnUGo0K0lESTNLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnliM1JzTXpBZ0tHNTFiU2tnZTF4dUlDQnlaWFIxY200Z0tHNTFiU0E4UENBek1Da2dmQ0FvYm5WdElENCtQaUF5S1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJtZENBb2N5d2dZaXdnWXl3Z1pDa2dlMXh1SUNCcFppQW9jeUE5UFQwZ01Da2djbVYwZFhKdUlDaGlJQ1lnWXlrZ2ZDQW9LSDVpS1NBbUlHUXBYRzRnSUdsbUlDaHpJRDA5UFNBeUtTQnlaWFIxY200Z0tHSWdKaUJqS1NCOElDaGlJQ1lnWkNrZ2ZDQW9ZeUFtSUdRcFhHNGdJSEpsZEhWeWJpQmlJRjRnWXlCZUlHUmNibjFjYmx4dVUyaGhNUzV3Y205MGIzUjVjR1V1WDNWd1pHRjBaU0E5SUdaMWJtTjBhVzl1SUNoTktTQjdYRzRnSUhaaGNpQlhJRDBnZEdocGN5NWZkMXh1WEc0Z0lIWmhjaUJoSUQwZ2RHaHBjeTVmWVNCOElEQmNiaUFnZG1GeUlHSWdQU0IwYUdsekxsOWlJSHdnTUZ4dUlDQjJZWElnWXlBOUlIUm9hWE11WDJNZ2ZDQXdYRzRnSUhaaGNpQmtJRDBnZEdocGN5NWZaQ0I4SURCY2JpQWdkbUZ5SUdVZ1BTQjBhR2x6TGw5bElId2dNRnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUNzcmFTa2dWMXRwWFNBOUlFMHVjbVZoWkVsdWRETXlRa1VvYVNBcUlEUXBYRzRnSUdadmNpQW9PeUJwSUR3Z09EQTdJQ3NyYVNrZ1YxdHBYU0E5SUhKdmRHd3hLRmRiYVNBdElETmRJRjRnVjF0cElDMGdPRjBnWGlCWFcya2dMU0F4TkYwZ1hpQlhXMmtnTFNBeE5sMHBYRzVjYmlBZ1ptOXlJQ2gyWVhJZ2FpQTlJREE3SUdvZ1BDQTRNRHNnS3l0cUtTQjdYRzRnSUNBZ2RtRnlJSE1nUFNCK2ZpaHFJQzhnTWpBcFhHNGdJQ0FnZG1GeUlIUWdQU0FvY205MGJEVW9ZU2tnS3lCbWRDaHpMQ0JpTENCakxDQmtLU0FySUdVZ0t5QlhXMnBkSUNzZ1MxdHpYU2tnZkNBd1hHNWNiaUFnSUNCbElEMGdaRnh1SUNBZ0lHUWdQU0JqWEc0Z0lDQWdZeUE5SUhKdmRHd3pNQ2hpS1Z4dUlDQWdJR0lnUFNCaFhHNGdJQ0FnWVNBOUlIUmNiaUFnZlZ4dVhHNGdJSFJvYVhNdVgyRWdQU0FvWVNBcklIUm9hWE11WDJFcElId2dNRnh1SUNCMGFHbHpMbDlpSUQwZ0tHSWdLeUIwYUdsekxsOWlLU0I4SURCY2JpQWdkR2hwY3k1Zll5QTlJQ2hqSUNzZ2RHaHBjeTVmWXlrZ2ZDQXdYRzRnSUhSb2FYTXVYMlFnUFNBb1pDQXJJSFJvYVhNdVgyUXBJSHdnTUZ4dUlDQjBhR2x6TGw5bElEMGdLR1VnS3lCMGFHbHpMbDlsS1NCOElEQmNibjFjYmx4dVUyaGhNUzV3Y205MGIzUjVjR1V1WDJoaGMyZ2dQU0JtZFc1amRHbHZiaUFvS1NCN1hHNGdJSFpoY2lCSUlEMGdRblZtWm1WeUxtRnNiRzlqVlc1ellXWmxLREl3S1Z4dVhHNGdJRWd1ZDNKcGRHVkpiblF6TWtKRktIUm9hWE11WDJFZ2ZDQXdMQ0F3S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDlpSUh3Z01Dd2dOQ2xjYmlBZ1NDNTNjbWwwWlVsdWRETXlRa1VvZEdocGN5NWZZeUI4SURBc0lEZ3BYRzRnSUVndWQzSnBkR1ZKYm5Rek1rSkZLSFJvYVhNdVgyUWdmQ0F3TENBeE1pbGNiaUFnU0M1M2NtbDBaVWx1ZERNeVFrVW9kR2hwY3k1ZlpTQjhJREFzSURFMktWeHVYRzRnSUhKbGRIVnliaUJJWEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdVMmhoTVZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTEuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyMjQuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjI0LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMjU2LCBhcyBkZWZpbmVkXFxuICogaW4gRklQUyAxODAtMlxcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxcbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcXG4gKlxcbiAqL1xcblxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgU2hhMjU2ID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9zaGEyNTYgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyNTYuanNcXFwiKVxcbnZhciBIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvaGFzaC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbnZhciBXID0gbmV3IEFycmF5KDY0KVxcblxcbmZ1bmN0aW9uIFNoYTIyNCAoKSB7XFxuICB0aGlzLmluaXQoKVxcblxcbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxcblxcbiAgSGFzaC5jYWxsKHRoaXMsIDY0LCA1NilcXG59XFxuXFxuaW5oZXJpdHMoU2hhMjI0LCBTaGEyNTYpXFxuXFxuU2hhMjI0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYSA9IDB4YzEwNTllZDhcXG4gIHRoaXMuX2IgPSAweDM2N2NkNTA3XFxuICB0aGlzLl9jID0gMHgzMDcwZGQxN1xcbiAgdGhpcy5fZCA9IDB4ZjcwZTU5MzlcXG4gIHRoaXMuX2UgPSAweGZmYzAwYjMxXFxuICB0aGlzLl9mID0gMHg2ODU4MTUxMVxcbiAgdGhpcy5fZyA9IDB4NjRmOThmYTdcXG4gIHRoaXMuX2ggPSAweGJlZmE0ZmE0XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5TaGEyMjQucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjgpXFxuXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9hLCAwKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYiwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9kLCAxMilcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2UsIDE2KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9nLCAyNClcXG5cXG4gIHJldHVybiBIXFxufVxcblxcbm1vZHVsZS5leHBvcnRzID0gU2hhMjI0XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6YUdFdWFuTXZjMmhoTWpJMExtcHpQelZtWkRnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRXNaVUZCWlN4dFFrRkJUeXhEUVVGRExEWkVRVUZWTzBGQlEycERMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eHBSRUZCVlR0QlFVTXZRaXhYUVVGWExHMUNRVUZQTEVOQlFVTXNOa05CUVZFN1FVRkRNMElzWVVGQllTeHRRa0ZCVHl4RFFVRkRMSGRFUVVGaE96dEJRVVZzUXpzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNOb1lTNXFjeTl6YUdFeU1qUXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFRWdTbUYyWVZOamNtbHdkQ0JwYlhCc1pXMWxiblJoZEdsdmJpQnZaaUIwYUdVZ1UyVmpkWEpsSUVoaGMyZ2dRV3huYjNKcGRHaHRMQ0JUU0VFdE1qVTJMQ0JoY3lCa1pXWnBibVZrWEc0Z0tpQnBiaUJHU1ZCVElERTRNQzB5WEc0Z0tpQldaWEp6YVc5dUlESXVNaTFpWlhSaElFTnZjSGx5YVdkb2RDQkJibWRsYkNCTllYSnBiaXdnVUdGMWJDQktiMmh1YzNSdmJpQXlNREF3SUMwZ01qQXdPUzVjYmlBcUlFOTBhR1Z5SUdOdmJuUnlhV0oxZEc5eWN6b2dSM0psWnlCSWIyeDBMQ0JCYm1SeVpYY2dTMlZ3WlhKMExDQlpaRzVoY2l3Z1RHOXpkR2x1WlhSY2JpQXFYRzRnS2k5Y2JseHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVkbUZ5SUZOb1lUSTFOaUE5SUhKbGNYVnBjbVVvSnk0dmMyaGhNalUySnlsY2JuWmhjaUJJWVhOb0lEMGdjbVZ4ZFdseVpTZ25MaTlvWVhOb0p5bGNiblpoY2lCQ2RXWm1aWElnUFNCeVpYRjFhWEpsS0NkellXWmxMV0oxWm1abGNpY3BMa0oxWm1abGNseHVYRzUyWVhJZ1Z5QTlJRzVsZHlCQmNuSmhlU2cyTkNsY2JseHVablZ1WTNScGIyNGdVMmhoTWpJMElDZ3BJSHRjYmlBZ2RHaHBjeTVwYm1sMEtDbGNibHh1SUNCMGFHbHpMbDkzSUQwZ1Z5QXZMeUJ1WlhjZ1FYSnlZWGtvTmpRcFhHNWNiaUFnU0dGemFDNWpZV3hzS0hSb2FYTXNJRFkwTENBMU5pbGNibjFjYmx4dWFXNW9aWEpwZEhNb1UyaGhNakkwTENCVGFHRXlOVFlwWEc1Y2JsTm9ZVEl5TkM1d2NtOTBiM1I1Y0dVdWFXNXBkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NWZZU0E5SURCNFl6RXdOVGxsWkRoY2JpQWdkR2hwY3k1ZllpQTlJREI0TXpZM1kyUTFNRGRjYmlBZ2RHaHBjeTVmWXlBOUlEQjRNekEzTUdSa01UZGNiaUFnZEdocGN5NWZaQ0E5SURCNFpqY3daVFU1TXpsY2JpQWdkR2hwY3k1ZlpTQTlJREI0Wm1aak1EQmlNekZjYmlBZ2RHaHBjeTVmWmlBOUlEQjROamcxT0RFMU1URmNiaUFnZEdocGN5NWZaeUE5SURCNE5qUm1PVGhtWVRkY2JpQWdkR2hwY3k1ZmFDQTlJREI0WW1WbVlUUm1ZVFJjYmx4dUlDQnlaWFIxY200Z2RHaHBjMXh1ZlZ4dVhHNVRhR0V5TWpRdWNISnZkRzkwZVhCbExsOW9ZWE5vSUQwZ1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNCMllYSWdTQ0E5SUVKMVptWmxjaTVoYkd4dlkxVnVjMkZtWlNneU9DbGNibHh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWhMQ0F3S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDlpTENBMEtWeHVJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaDBhR2x6TGw5akxDQTRLVnh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWtMQ0F4TWlsY2JpQWdTQzUzY21sMFpVbHVkRE15UWtVb2RHaHBjeTVmWlN3Z01UWXBYRzRnSUVndWQzSnBkR1ZKYm5Rek1rSkZLSFJvYVhNdVgyWXNJREl3S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDluTENBeU5DbGNibHh1SUNCeVpYUjFjbTRnU0Z4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRk5vWVRJeU5GeHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyMjQuanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEyNTYuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhMjU2LmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8qKlxcbiAqIEEgSmF2YVNjcmlwdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLCBTSEEtMjU2LCBhcyBkZWZpbmVkXFxuICogaW4gRklQUyAxODAtMlxcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxcbiAqIE90aGVyIGNvbnRyaWJ1dG9yczogR3JlZyBIb2x0LCBBbmRyZXcgS2VwZXJ0LCBZZG5hciwgTG9zdGluZXRcXG4gKlxcbiAqL1xcblxcbnZhciBpbmhlcml0cyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGluaGVyaXRzICovIFxcXCIuL25vZGVfbW9kdWxlcy9pbmhlcml0cy9pbmhlcml0c19icm93c2VyLmpzXFxcIilcXG52YXIgSGFzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vaGFzaCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL2hhc2guanNcXFwiKVxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXJcXG5cXG52YXIgSyA9IFtcXG4gIDB4NDI4QTJGOTgsIDB4NzEzNzQ0OTEsIDB4QjVDMEZCQ0YsIDB4RTlCNURCQTUsXFxuICAweDM5NTZDMjVCLCAweDU5RjExMUYxLCAweDkyM0Y4MkE0LCAweEFCMUM1RUQ1LFxcbiAgMHhEODA3QUE5OCwgMHgxMjgzNUIwMSwgMHgyNDMxODVCRSwgMHg1NTBDN0RDMyxcXG4gIDB4NzJCRTVENzQsIDB4ODBERUIxRkUsIDB4OUJEQzA2QTcsIDB4QzE5QkYxNzQsXFxuICAweEU0OUI2OUMxLCAweEVGQkU0Nzg2LCAweDBGQzE5REM2LCAweDI0MENBMUNDLFxcbiAgMHgyREU5MkM2RiwgMHg0QTc0ODRBQSwgMHg1Q0IwQTlEQywgMHg3NkY5ODhEQSxcXG4gIDB4OTgzRTUxNTIsIDB4QTgzMUM2NkQsIDB4QjAwMzI3QzgsIDB4QkY1OTdGQzcsXFxuICAweEM2RTAwQkYzLCAweEQ1QTc5MTQ3LCAweDA2Q0E2MzUxLCAweDE0MjkyOTY3LFxcbiAgMHgyN0I3MEE4NSwgMHgyRTFCMjEzOCwgMHg0RDJDNkRGQywgMHg1MzM4MEQxMyxcXG4gIDB4NjUwQTczNTQsIDB4NzY2QTBBQkIsIDB4ODFDMkM5MkUsIDB4OTI3MjJDODUsXFxuICAweEEyQkZFOEExLCAweEE4MUE2NjRCLCAweEMyNEI4QjcwLCAweEM3NkM1MUEzLFxcbiAgMHhEMTkyRTgxOSwgMHhENjk5MDYyNCwgMHhGNDBFMzU4NSwgMHgxMDZBQTA3MCxcXG4gIDB4MTlBNEMxMTYsIDB4MUUzNzZDMDgsIDB4Mjc0ODc3NEMsIDB4MzRCMEJDQjUsXFxuICAweDM5MUMwQ0IzLCAweDRFRDhBQTRBLCAweDVCOUNDQTRGLCAweDY4MkU2RkYzLFxcbiAgMHg3NDhGODJFRSwgMHg3OEE1NjM2RiwgMHg4NEM4NzgxNCwgMHg4Q0M3MDIwOCxcXG4gIDB4OTBCRUZGRkEsIDB4QTQ1MDZDRUIsIDB4QkVGOUEzRjcsIDB4QzY3MTc4RjJcXG5dXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXFxuXFxuZnVuY3Rpb24gU2hhMjU2ICgpIHtcXG4gIHRoaXMuaW5pdCgpXFxuXFxuICB0aGlzLl93ID0gVyAvLyBuZXcgQXJyYXkoNjQpXFxuXFxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxcbn1cXG5cXG5pbmhlcml0cyhTaGEyNTYsIEhhc2gpXFxuXFxuU2hhMjU2LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYSA9IDB4NmEwOWU2NjdcXG4gIHRoaXMuX2IgPSAweGJiNjdhZTg1XFxuICB0aGlzLl9jID0gMHgzYzZlZjM3MlxcbiAgdGhpcy5fZCA9IDB4YTU0ZmY1M2FcXG4gIHRoaXMuX2UgPSAweDUxMGU1MjdmXFxuICB0aGlzLl9mID0gMHg5YjA1Njg4Y1xcbiAgdGhpcy5fZyA9IDB4MWY4M2Q5YWJcXG4gIHRoaXMuX2ggPSAweDViZTBjZDE5XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBjaCAoeCwgeSwgeikge1xcbiAgcmV0dXJuIHogXiAoeCAmICh5IF4geikpXFxufVxcblxcbmZ1bmN0aW9uIG1haiAoeCwgeSwgeikge1xcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXFxufVxcblxcbmZ1bmN0aW9uIHNpZ21hMCAoeCkge1xcbiAgcmV0dXJuICh4ID4+PiAyIHwgeCA8PCAzMCkgXiAoeCA+Pj4gMTMgfCB4IDw8IDE5KSBeICh4ID4+PiAyMiB8IHggPDwgMTApXFxufVxcblxcbmZ1bmN0aW9uIHNpZ21hMSAoeCkge1xcbiAgcmV0dXJuICh4ID4+PiA2IHwgeCA8PCAyNikgXiAoeCA+Pj4gMTEgfCB4IDw8IDIxKSBeICh4ID4+PiAyNSB8IHggPDwgNylcXG59XFxuXFxuZnVuY3Rpb24gZ2FtbWEwICh4KSB7XFxuICByZXR1cm4gKHggPj4+IDcgfCB4IDw8IDI1KSBeICh4ID4+PiAxOCB8IHggPDwgMTQpIF4gKHggPj4+IDMpXFxufVxcblxcbmZ1bmN0aW9uIGdhbW1hMSAoeCkge1xcbiAgcmV0dXJuICh4ID4+PiAxNyB8IHggPDwgMTUpIF4gKHggPj4+IDE5IHwgeCA8PCAxMykgXiAoeCA+Pj4gMTApXFxufVxcblxcblNoYTI1Ni5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChNKSB7XFxuICB2YXIgVyA9IHRoaXMuX3dcXG5cXG4gIHZhciBhID0gdGhpcy5fYSB8IDBcXG4gIHZhciBiID0gdGhpcy5fYiB8IDBcXG4gIHZhciBjID0gdGhpcy5fYyB8IDBcXG4gIHZhciBkID0gdGhpcy5fZCB8IDBcXG4gIHZhciBlID0gdGhpcy5fZSB8IDBcXG4gIHZhciBmID0gdGhpcy5fZiB8IDBcXG4gIHZhciBnID0gdGhpcy5fZyB8IDBcXG4gIHZhciBoID0gdGhpcy5faCB8IDBcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgV1tpXSA9IE0ucmVhZEludDMyQkUoaSAqIDQpXFxuICBmb3IgKDsgaSA8IDY0OyArK2kpIFdbaV0gPSAoZ2FtbWExKFdbaSAtIDJdKSArIFdbaSAtIDddICsgZ2FtbWEwKFdbaSAtIDE1XSkgKyBXW2kgLSAxNl0pIHwgMFxcblxcbiAgZm9yICh2YXIgaiA9IDA7IGogPCA2NDsgKytqKSB7XFxuICAgIHZhciBUMSA9IChoICsgc2lnbWExKGUpICsgY2goZSwgZiwgZykgKyBLW2pdICsgV1tqXSkgfCAwXFxuICAgIHZhciBUMiA9IChzaWdtYTAoYSkgKyBtYWooYSwgYiwgYykpIHwgMFxcblxcbiAgICBoID0gZ1xcbiAgICBnID0gZlxcbiAgICBmID0gZVxcbiAgICBlID0gKGQgKyBUMSkgfCAwXFxuICAgIGQgPSBjXFxuICAgIGMgPSBiXFxuICAgIGIgPSBhXFxuICAgIGEgPSAoVDEgKyBUMikgfCAwXFxuICB9XFxuXFxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcXG4gIHRoaXMuX2IgPSAoYiArIHRoaXMuX2IpIHwgMFxcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcXG4gIHRoaXMuX2UgPSAoZSArIHRoaXMuX2UpIHwgMFxcbiAgdGhpcy5fZiA9IChmICsgdGhpcy5fZikgfCAwXFxuICB0aGlzLl9nID0gKGcgKyB0aGlzLl9nKSB8IDBcXG4gIHRoaXMuX2ggPSAoaCArIHRoaXMuX2gpIHwgMFxcbn1cXG5cXG5TaGEyNTYucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMzIpXFxuXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9hLCAwKVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYiwgNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9kLCAxMilcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2UsIDE2KVxcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXFxuICBILndyaXRlSW50MzJCRSh0aGlzLl9nLCAyNClcXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2gsIDI4KVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGEyNTZcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhNalUyTG1welB6TXhOV0VpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFc1pVRkJaU3h0UWtGQlR5eERRVUZETERaRVFVRlZPMEZCUTJwRExGZEJRVmNzYlVKQlFVOHNRMEZCUXl3MlEwRkJVVHRCUVVNelFpeGhRVUZoTEcxQ1FVRlBMRU5CUVVNc2QwUkJRV0U3TzBGQlJXeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTEdsQ1FVRnBRaXhSUVVGUk8wRkJRM3BDTEZGQlFWRXNVVUZCVVRzN1FVRkZhRUlzYVVKQlFXbENMRkZCUVZFN1FVRkRla0k3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNOb1lTNXFjeTl6YUdFeU5UWXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFRWdTbUYyWVZOamNtbHdkQ0JwYlhCc1pXMWxiblJoZEdsdmJpQnZaaUIwYUdVZ1UyVmpkWEpsSUVoaGMyZ2dRV3huYjNKcGRHaHRMQ0JUU0VFdE1qVTJMQ0JoY3lCa1pXWnBibVZrWEc0Z0tpQnBiaUJHU1ZCVElERTRNQzB5WEc0Z0tpQldaWEp6YVc5dUlESXVNaTFpWlhSaElFTnZjSGx5YVdkb2RDQkJibWRsYkNCTllYSnBiaXdnVUdGMWJDQktiMmh1YzNSdmJpQXlNREF3SUMwZ01qQXdPUzVjYmlBcUlFOTBhR1Z5SUdOdmJuUnlhV0oxZEc5eWN6b2dSM0psWnlCSWIyeDBMQ0JCYm1SeVpYY2dTMlZ3WlhKMExDQlpaRzVoY2l3Z1RHOXpkR2x1WlhSY2JpQXFYRzRnS2k5Y2JseHVkbUZ5SUdsdWFHVnlhWFJ6SUQwZ2NtVnhkV2x5WlNnbmFXNW9aWEpwZEhNbktWeHVkbUZ5SUVoaGMyZ2dQU0J5WlhGMWFYSmxLQ2N1TDJoaGMyZ25LVnh1ZG1GeUlFSjFabVpsY2lBOUlISmxjWFZwY21Vb0ozTmhabVV0WW5WbVptVnlKeWt1UW5WbVptVnlYRzVjYm5aaGNpQkxJRDBnVzF4dUlDQXdlRFF5T0VFeVJqazRMQ0F3ZURjeE16YzBORGt4TENBd2VFSTFRekJHUWtOR0xDQXdlRVU1UWpWRVFrRTFMRnh1SUNBd2VETTVOVFpETWpWQ0xDQXdlRFU1UmpFeE1VWXhMQ0F3ZURreU0wWTRNa0UwTENBd2VFRkNNVU0xUlVRMUxGeHVJQ0F3ZUVRNE1EZEJRVGs0TENBd2VERXlPRE0xUWpBeExDQXdlREkwTXpFNE5VSkZMQ0F3ZURVMU1FTTNSRU16TEZ4dUlDQXdlRGN5UWtVMVJEYzBMQ0F3ZURnd1JFVkNNVVpGTENBd2VEbENSRU13TmtFM0xDQXdlRU14T1VKR01UYzBMRnh1SUNBd2VFVTBPVUkyT1VNeExDQXdlRVZHUWtVME56ZzJMQ0F3ZURCR1F6RTVSRU0yTENBd2VESTBNRU5CTVVORExGeHVJQ0F3ZURKRVJUa3lRelpHTENBd2VEUkJOelE0TkVGQkxDQXdlRFZEUWpCQk9VUkRMQ0F3ZURjMlJqazRPRVJCTEZ4dUlDQXdlRGs0TTBVMU1UVXlMQ0F3ZUVFNE16RkROalpFTENBd2VFSXdNRE15TjBNNExDQXdlRUpHTlRrM1JrTTNMRnh1SUNBd2VFTTJSVEF3UWtZekxDQXdlRVExUVRjNU1UUTNMQ0F3ZURBMlEwRTJNelV4TENBd2VERTBNamt5T1RZM0xGeHVJQ0F3ZURJM1FqY3dRVGcxTENBd2VESkZNVUl5TVRNNExDQXdlRFJFTWtNMlJFWkRMQ0F3ZURVek16Z3dSREV6TEZ4dUlDQXdlRFkxTUVFM016VTBMQ0F3ZURjMk5rRXdRVUpDTENBd2VEZ3hRekpET1RKRkxDQXdlRGt5TnpJeVF6ZzFMRnh1SUNBd2VFRXlRa1pGT0VFeExDQXdlRUU0TVVFMk5qUkNMQ0F3ZUVNeU5FSTRRamN3TENBd2VFTTNOa00xTVVFekxGeHVJQ0F3ZUVReE9USkZPREU1TENBd2VFUTJPVGt3TmpJMExDQXdlRVkwTUVVek5UZzFMQ0F3ZURFd05rRkJNRGN3TEZ4dUlDQXdlREU1UVRSRE1URTJMQ0F3ZURGRk16YzJRekE0TENBd2VESTNORGczTnpSRExDQXdlRE0wUWpCQ1EwSTFMRnh1SUNBd2VETTVNVU13UTBJekxDQXdlRFJGUkRoQlFUUkJMQ0F3ZURWQ09VTkRRVFJHTENBd2VEWTRNa1UyUmtZekxGeHVJQ0F3ZURjME9FWTRNa1ZGTENBd2VEYzRRVFUyTXpaR0xDQXdlRGcwUXpnM09ERTBMQ0F3ZURoRFF6Y3dNakE0TEZ4dUlDQXdlRGt3UWtWR1JrWkJMQ0F3ZUVFME5UQTJRMFZDTENBd2VFSkZSamxCTTBZM0xDQXdlRU0yTnpFM09FWXlYRzVkWEc1Y2JuWmhjaUJYSUQwZ2JtVjNJRUZ5Y21GNUtEWTBLVnh1WEc1bWRXNWpkR2x2YmlCVGFHRXlOVFlnS0NrZ2UxeHVJQ0IwYUdsekxtbHVhWFFvS1Z4dVhHNGdJSFJvYVhNdVgzY2dQU0JYSUM4dklHNWxkeUJCY25KaGVTZzJOQ2xjYmx4dUlDQklZWE5vTG1OaGJHd29kR2hwY3l3Z05qUXNJRFUyS1Z4dWZWeHVYRzVwYm1obGNtbDBjeWhUYUdFeU5UWXNJRWhoYzJncFhHNWNibE5vWVRJMU5pNXdjbTkwYjNSNWNHVXVhVzVwZENBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ2RHaHBjeTVmWVNBOUlEQjRObUV3T1dVMk5qZGNiaUFnZEdocGN5NWZZaUE5SURCNFltSTJOMkZsT0RWY2JpQWdkR2hwY3k1Zll5QTlJREI0TTJNMlpXWXpOekpjYmlBZ2RHaHBjeTVmWkNBOUlEQjRZVFUwWm1ZMU0yRmNiaUFnZEdocGN5NWZaU0E5SURCNE5URXdaVFV5TjJaY2JpQWdkR2hwY3k1ZlppQTlJREI0T1dJd05UWTRPR05jYmlBZ2RHaHBjeTVmWnlBOUlEQjRNV1k0TTJRNVlXSmNiaUFnZEdocGN5NWZhQ0E5SURCNE5XSmxNR05rTVRsY2JseHVJQ0J5WlhSMWNtNGdkR2hwYzF4dWZWeHVYRzVtZFc1amRHbHZiaUJqYUNBb2VDd2dlU3dnZWlrZ2UxeHVJQ0J5WlhSMWNtNGdlaUJlSUNoNElDWWdLSGtnWGlCNktTbGNibjFjYmx4dVpuVnVZM1JwYjI0Z2JXRnFJQ2g0TENCNUxDQjZLU0I3WEc0Z0lISmxkSFZ5YmlBb2VDQW1JSGtwSUh3Z0tIb2dKaUFvZUNCOElIa3BLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQnphV2R0WVRBZ0tIZ3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElENCtQaUF5SUh3Z2VDQThQQ0F6TUNrZ1hpQW9lQ0ErUGo0Z01UTWdmQ0I0SUR3OElERTVLU0JlSUNoNElENCtQaUF5TWlCOElIZ2dQRHdnTVRBcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhOcFoyMWhNU0FvZUNrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnUGo0K0lEWWdmQ0I0SUR3OElESTJLU0JlSUNoNElENCtQaUF4TVNCOElIZ2dQRHdnTWpFcElGNGdLSGdnUGo0K0lESTFJSHdnZUNBOFBDQTNLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5ZVzF0WVRBZ0tIZ3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElENCtQaUEzSUh3Z2VDQThQQ0F5TlNrZ1hpQW9lQ0ErUGo0Z01UZ2dmQ0I0SUR3OElERTBLU0JlSUNoNElENCtQaUF6S1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJuWVcxdFlURWdLSGdwSUh0Y2JpQWdjbVYwZFhKdUlDaDRJRDQrUGlBeE55QjhJSGdnUER3Z01UVXBJRjRnS0hnZ1BqNCtJREU1SUh3Z2VDQThQQ0F4TXlrZ1hpQW9lQ0ErUGo0Z01UQXBYRzU5WEc1Y2JsTm9ZVEkxTmk1d2NtOTBiM1I1Y0dVdVgzVndaR0YwWlNBOUlHWjFibU4wYVc5dUlDaE5LU0I3WEc0Z0lIWmhjaUJYSUQwZ2RHaHBjeTVmZDF4dVhHNGdJSFpoY2lCaElEMGdkR2hwY3k1ZllTQjhJREJjYmlBZ2RtRnlJR0lnUFNCMGFHbHpMbDlpSUh3Z01GeHVJQ0IyWVhJZ1l5QTlJSFJvYVhNdVgyTWdmQ0F3WEc0Z0lIWmhjaUJrSUQwZ2RHaHBjeTVmWkNCOElEQmNiaUFnZG1GeUlHVWdQU0IwYUdsekxsOWxJSHdnTUZ4dUlDQjJZWElnWmlBOUlIUm9hWE11WDJZZ2ZDQXdYRzRnSUhaaGNpQm5JRDBnZEdocGN5NWZaeUI4SURCY2JpQWdkbUZ5SUdnZ1BTQjBhR2x6TGw5b0lId2dNRnh1WEc0Z0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2dNVFk3SUNzcmFTa2dWMXRwWFNBOUlFMHVjbVZoWkVsdWRETXlRa1VvYVNBcUlEUXBYRzRnSUdadmNpQW9PeUJwSUR3Z05qUTdJQ3NyYVNrZ1YxdHBYU0E5SUNobllXMXRZVEVvVjF0cElDMGdNbDBwSUNzZ1YxdHBJQzBnTjEwZ0t5Qm5ZVzF0WVRBb1YxdHBJQzBnTVRWZEtTQXJJRmRiYVNBdElERTJYU2tnZkNBd1hHNWNiaUFnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENBMk5Ec2dLeXRxS1NCN1hHNGdJQ0FnZG1GeUlGUXhJRDBnS0dnZ0t5QnphV2R0WVRFb1pTa2dLeUJqYUNobExDQm1MQ0JuS1NBcklFdGJhbDBnS3lCWFcycGRLU0I4SURCY2JpQWdJQ0IyWVhJZ1ZESWdQU0FvYzJsbmJXRXdLR0VwSUNzZ2JXRnFLR0VzSUdJc0lHTXBLU0I4SURCY2JseHVJQ0FnSUdnZ1BTQm5YRzRnSUNBZ1p5QTlJR1pjYmlBZ0lDQm1JRDBnWlZ4dUlDQWdJR1VnUFNBb1pDQXJJRlF4S1NCOElEQmNiaUFnSUNCa0lEMGdZMXh1SUNBZ0lHTWdQU0JpWEc0Z0lDQWdZaUE5SUdGY2JpQWdJQ0JoSUQwZ0tGUXhJQ3NnVkRJcElId2dNRnh1SUNCOVhHNWNiaUFnZEdocGN5NWZZU0E5SUNoaElDc2dkR2hwY3k1ZllTa2dmQ0F3WEc0Z0lIUm9hWE11WDJJZ1BTQW9ZaUFySUhSb2FYTXVYMklwSUh3Z01GeHVJQ0IwYUdsekxsOWpJRDBnS0dNZ0t5QjBhR2x6TGw5aktTQjhJREJjYmlBZ2RHaHBjeTVmWkNBOUlDaGtJQ3NnZEdocGN5NWZaQ2tnZkNBd1hHNGdJSFJvYVhNdVgyVWdQU0FvWlNBcklIUm9hWE11WDJVcElId2dNRnh1SUNCMGFHbHpMbDltSUQwZ0tHWWdLeUIwYUdsekxsOW1LU0I4SURCY2JpQWdkR2hwY3k1Zlp5QTlJQ2huSUNzZ2RHaHBjeTVmWnlrZ2ZDQXdYRzRnSUhSb2FYTXVYMmdnUFNBb2FDQXJJSFJvYVhNdVgyZ3BJSHdnTUZ4dWZWeHVYRzVUYUdFeU5UWXVjSEp2ZEc5MGVYQmxMbDlvWVhOb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnU0NBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTZ3pNaWxjYmx4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDloTENBd0tWeHVJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaDBhR2x6TGw5aUxDQTBLVnh1SUNCSUxuZHlhWFJsU1c1ME16SkNSU2gwYUdsekxsOWpMQ0E0S1Z4dUlDQklMbmR5YVhSbFNXNTBNekpDUlNoMGFHbHpMbDlrTENBeE1pbGNiaUFnU0M1M2NtbDBaVWx1ZERNeVFrVW9kR2hwY3k1ZlpTd2dNVFlwWEc0Z0lFZ3VkM0pwZEdWSmJuUXpNa0pGS0hSb2FYTXVYMllzSURJd0tWeHVJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaDBhR2x6TGw5bkxDQXlOQ2xjYmlBZ1NDNTNjbWwwWlVsdWRETXlRa1VvZEdocGN5NWZhQ3dnTWpncFhHNWNiaUFnY21WMGRYSnVJRWhjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRhR0V5TlRaY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTI1Ni5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTM4NC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGEzODQuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBTSEE1MTIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL3NoYTUxMiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTUxMi5qc1xcXCIpXFxudmFyIEhhc2ggPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2hhc2ggKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NoYS5qcy9oYXNoLmpzXFxcIilcXG52YXIgQnVmZmVyID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgc2FmZS1idWZmZXIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NhZmUtYnVmZmVyL2luZGV4LmpzXFxcIikuQnVmZmVyXFxuXFxudmFyIFcgPSBuZXcgQXJyYXkoMTYwKVxcblxcbmZ1bmN0aW9uIFNoYTM4NCAoKSB7XFxuICB0aGlzLmluaXQoKVxcbiAgdGhpcy5fdyA9IFdcXG5cXG4gIEhhc2guY2FsbCh0aGlzLCAxMjgsIDExMilcXG59XFxuXFxuaW5oZXJpdHMoU2hhMzg0LCBTSEE1MTIpXFxuXFxuU2hhMzg0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYWggPSAweGNiYmI5ZDVkXFxuICB0aGlzLl9iaCA9IDB4NjI5YTI5MmFcXG4gIHRoaXMuX2NoID0gMHg5MTU5MDE1YVxcbiAgdGhpcy5fZGggPSAweDE1MmZlY2Q4XFxuICB0aGlzLl9laCA9IDB4NjczMzI2NjdcXG4gIHRoaXMuX2ZoID0gMHg4ZWI0NGE4N1xcbiAgdGhpcy5fZ2ggPSAweGRiMGMyZTBkXFxuICB0aGlzLl9oaCA9IDB4NDdiNTQ4MWRcXG5cXG4gIHRoaXMuX2FsID0gMHhjMTA1OWVkOFxcbiAgdGhpcy5fYmwgPSAweDM2N2NkNTA3XFxuICB0aGlzLl9jbCA9IDB4MzA3MGRkMTdcXG4gIHRoaXMuX2RsID0gMHhmNzBlNTkzOVxcbiAgdGhpcy5fZWwgPSAweGZmYzAwYjMxXFxuICB0aGlzLl9mbCA9IDB4Njg1ODE1MTFcXG4gIHRoaXMuX2dsID0gMHg2NGY5OGZhN1xcbiAgdGhpcy5faGwgPSAweGJlZmE0ZmE0XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5TaGEzODQucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoNDgpXFxuXFxuICBmdW5jdGlvbiB3cml0ZUludDY0QkUgKGgsIGwsIG9mZnNldCkge1xcbiAgICBILndyaXRlSW50MzJCRShoLCBvZmZzZXQpXFxuICAgIEgud3JpdGVJbnQzMkJFKGwsIG9mZnNldCArIDQpXFxuICB9XFxuXFxuICB3cml0ZUludDY0QkUodGhpcy5fYWgsIHRoaXMuX2FsLCAwKVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2JoLCB0aGlzLl9ibCwgOClcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9jaCwgdGhpcy5fY2wsIDE2KVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2RoLCB0aGlzLl9kbCwgMjQpXFxuICB3cml0ZUludDY0QkUodGhpcy5fZWgsIHRoaXMuX2VsLCAzMilcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9maCwgdGhpcy5fZmwsIDQwKVxcblxcbiAgcmV0dXJuIEhcXG59XFxuXFxubW9kdWxlLmV4cG9ydHMgPSBTaGEzODRcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OXphR0V1YW5NdmMyaGhNemcwTG1welB6Z3pObVlpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1pVRkJaU3h0UWtGQlR5eERRVUZETERaRVFVRlZPMEZCUTJwRExHRkJRV0VzYlVKQlFVOHNRMEZCUXl4cFJFRkJWVHRCUVVNdlFpeFhRVUZYTEcxQ1FVRlBMRU5CUVVNc05rTkJRVkU3UVVGRE0wSXNZVUZCWVN4dFFrRkJUeXhEUVVGRExIZEVRVUZoT3p0QlFVVnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFaUxDSm1hV3hsSWpvaUxpOXViMlJsWDIxdlpIVnNaWE12YzJoaExtcHpMM05vWVRNNE5DNXFjeTVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkluWmhjaUJwYm1obGNtbDBjeUE5SUhKbGNYVnBjbVVvSjJsdWFHVnlhWFJ6SnlsY2JuWmhjaUJUU0VFMU1USWdQU0J5WlhGMWFYSmxLQ2N1TDNOb1lUVXhNaWNwWEc1MllYSWdTR0Z6YUNBOUlISmxjWFZwY21Vb0p5NHZhR0Z6YUNjcFhHNTJZWElnUW5WbVptVnlJRDBnY21WeGRXbHlaU2duYzJGbVpTMWlkV1ptWlhJbktTNUNkV1ptWlhKY2JseHVkbUZ5SUZjZ1BTQnVaWGNnUVhKeVlYa29NVFl3S1Z4dVhHNW1kVzVqZEdsdmJpQlRhR0V6T0RRZ0tDa2dlMXh1SUNCMGFHbHpMbWx1YVhRb0tWeHVJQ0IwYUdsekxsOTNJRDBnVjF4dVhHNGdJRWhoYzJndVkyRnNiQ2gwYUdsekxDQXhNamdzSURFeE1pbGNibjFjYmx4dWFXNW9aWEpwZEhNb1UyaGhNemcwTENCVFNFRTFNVElwWEc1Y2JsTm9ZVE00TkM1d2NtOTBiM1I1Y0dVdWFXNXBkQ0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnZEdocGN5NWZZV2dnUFNBd2VHTmlZbUk1WkRWa1hHNGdJSFJvYVhNdVgySm9JRDBnTUhnMk1qbGhNamt5WVZ4dUlDQjBhR2x6TGw5amFDQTlJREI0T1RFMU9UQXhOV0ZjYmlBZ2RHaHBjeTVmWkdnZ1BTQXdlREUxTW1abFkyUTRYRzRnSUhSb2FYTXVYMlZvSUQwZ01IZzJOek16TWpZMk4xeHVJQ0IwYUdsekxsOW1hQ0E5SURCNE9HVmlORFJoT0RkY2JpQWdkR2hwY3k1ZloyZ2dQU0F3ZUdSaU1HTXlaVEJrWEc0Z0lIUm9hWE11WDJob0lEMGdNSGcwTjJJMU5EZ3haRnh1WEc0Z0lIUm9hWE11WDJGc0lEMGdNSGhqTVRBMU9XVmtPRnh1SUNCMGFHbHpMbDlpYkNBOUlEQjRNelkzWTJRMU1EZGNiaUFnZEdocGN5NWZZMndnUFNBd2VETXdOekJrWkRFM1hHNGdJSFJvYVhNdVgyUnNJRDBnTUhobU56QmxOVGt6T1Z4dUlDQjBhR2x6TGw5bGJDQTlJREI0Wm1aak1EQmlNekZjYmlBZ2RHaHBjeTVmWm13Z1BTQXdlRFk0TlRneE5URXhYRzRnSUhSb2FYTXVYMmRzSUQwZ01IZzJOR1k1T0daaE4xeHVJQ0IwYUdsekxsOW9iQ0E5SURCNFltVm1ZVFJtWVRSY2JseHVJQ0J5WlhSMWNtNGdkR2hwYzF4dWZWeHVYRzVUYUdFek9EUXVjSEp2ZEc5MGVYQmxMbDlvWVhOb0lEMGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQjJZWElnU0NBOUlFSjFabVpsY2k1aGJHeHZZMVZ1YzJGbVpTZzBPQ2xjYmx4dUlDQm1kVzVqZEdsdmJpQjNjbWwwWlVsdWREWTBRa1VnS0dnc0lHd3NJRzltWm5ObGRDa2dlMXh1SUNBZ0lFZ3VkM0pwZEdWSmJuUXpNa0pGS0dnc0lHOW1abk5sZENsY2JpQWdJQ0JJTG5keWFYUmxTVzUwTXpKQ1JTaHNMQ0J2Wm1aelpYUWdLeUEwS1Z4dUlDQjlYRzVjYmlBZ2QzSnBkR1ZKYm5RMk5FSkZLSFJvYVhNdVgyRm9MQ0IwYUdsekxsOWhiQ3dnTUNsY2JpQWdkM0pwZEdWSmJuUTJORUpGS0hSb2FYTXVYMkpvTENCMGFHbHpMbDlpYkN3Z09DbGNiaUFnZDNKcGRHVkpiblEyTkVKRktIUm9hWE11WDJOb0xDQjBhR2x6TGw5amJDd2dNVFlwWEc0Z0lIZHlhWFJsU1c1ME5qUkNSU2gwYUdsekxsOWthQ3dnZEdocGN5NWZaR3dzSURJMEtWeHVJQ0IzY21sMFpVbHVkRFkwUWtVb2RHaHBjeTVmWldnc0lIUm9hWE11WDJWc0xDQXpNaWxjYmlBZ2QzSnBkR1ZKYm5RMk5FSkZLSFJvYVhNdVgyWm9MQ0IwYUdsekxsOW1iQ3dnTkRBcFhHNWNiaUFnY21WMGRYSnVJRWhjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQlRhR0V6T0RSY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTM4NC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc2hhLmpzL3NoYTUxMi5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3NoYS5qcy9zaGE1MTIuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGluaGVyaXRzID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaW5oZXJpdHMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2luaGVyaXRzL2luaGVyaXRzX2Jyb3dzZXIuanNcXFwiKVxcbnZhciBIYXNoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9oYXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9zaGEuanMvaGFzaC5qc1xcXCIpXFxudmFyIEJ1ZmZlciA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHNhZmUtYnVmZmVyICovIFxcXCIuL25vZGVfbW9kdWxlcy9zYWZlLWJ1ZmZlci9pbmRleC5qc1xcXCIpLkJ1ZmZlclxcblxcbnZhciBLID0gW1xcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcXG4gIDB4YjVjMGZiY2YsIDB4ZWM0ZDNiMmYsIDB4ZTliNWRiYTUsIDB4ODE4OWRiYmMsXFxuICAweDM5NTZjMjViLCAweGYzNDhiNTM4LCAweDU5ZjExMWYxLCAweGI2MDVkMDE5LFxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcXG4gIDB4ZDgwN2FhOTgsIDB4YTMwMzAyNDIsIDB4MTI4MzViMDEsIDB4NDU3MDZmYmUsXFxuICAweDI0MzE4NWJlLCAweDRlZTRiMjhjLCAweDU1MGM3ZGMzLCAweGQ1ZmZiNGUyLFxcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcXG4gIDB4OWJkYzA2YTcsIDB4MjVjNzEyMzUsIDB4YzE5YmYxNzQsIDB4Y2Y2OTI2OTQsXFxuICAweGU0OWI2OWMxLCAweDllZjE0YWQyLCAweGVmYmU0Nzg2LCAweDM4NGYyNWUzLFxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcXG4gIDB4MmRlOTJjNmYsIDB4NTkyYjAyNzUsIDB4NGE3NDg0YWEsIDB4NmVhNmU0ODMsXFxuICAweDVjYjBhOWRjLCAweGJkNDFmYmQ0LCAweDc2Zjk4OGRhLCAweDgzMTE1M2I1LFxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcXG4gIDB4YjAwMzI3YzgsIDB4OThmYjIxM2YsIDB4YmY1OTdmYzcsIDB4YmVlZjBlZTQsXFxuICAweGM2ZTAwYmYzLCAweDNkYTg4ZmMyLCAweGQ1YTc5MTQ3LCAweDkzMGFhNzI1LFxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcXG4gIDB4MjdiNzBhODUsIDB4NDZkMjJmZmMsIDB4MmUxYjIxMzgsIDB4NWMyNmM5MjYsXFxuICAweDRkMmM2ZGZjLCAweDVhYzQyYWVkLCAweDUzMzgwZDEzLCAweDlkOTViM2RmLFxcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcXG4gIDB4ODFjMmM5MmUsIDB4NDdlZGFlZTYsIDB4OTI3MjJjODUsIDB4MTQ4MjM1M2IsXFxuICAweGEyYmZlOGExLCAweDRjZjEwMzY0LCAweGE4MWE2NjRiLCAweGJjNDIzMDAxLFxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcXG4gIDB4ZDE5MmU4MTksIDB4ZDZlZjUyMTgsIDB4ZDY5OTA2MjQsIDB4NTU2NWE5MTAsXFxuICAweGY0MGUzNTg1LCAweDU3NzEyMDJhLCAweDEwNmFhMDcwLCAweDMyYmJkMWI4LFxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcXG4gIDB4Mjc0ODc3NGMsIDB4ZGY4ZWViOTksIDB4MzRiMGJjYjUsIDB4ZTE5YjQ4YTgsXFxuICAweDM5MWMwY2IzLCAweGM1Yzk1YTYzLCAweDRlZDhhYTRhLCAweGUzNDE4YWNiLFxcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcXG4gIDB4NzQ4ZjgyZWUsIDB4NWRlZmIyZmMsIDB4NzhhNTYzNmYsIDB4NDMxNzJmNjAsXFxuICAweDg0Yzg3ODE0LCAweGExZjBhYjcyLCAweDhjYzcwMjA4LCAweDFhNjQzOWVjLFxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcXG4gIDB4YmVmOWEzZjcsIDB4YjJjNjc5MTUsIDB4YzY3MTc4ZjIsIDB4ZTM3MjUzMmIsXFxuICAweGNhMjczZWNlLCAweGVhMjY2MTljLCAweGQxODZiOGM3LCAweDIxYzBjMjA3LFxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcXG4gIDB4MDZmMDY3YWEsIDB4NzIxNzZmYmEsIDB4MGE2MzdkYzUsIDB4YTJjODk4YTYsXFxuICAweDExM2Y5ODA0LCAweGJlZjkwZGFlLCAweDFiNzEwYjM1LCAweDEzMWM0NzFiLFxcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcXG4gIDB4M2M5ZWJlMGEsIDB4MTVjOWJlYmMsIDB4NDMxZDY3YzQsIDB4OWMxMDBkNGMsXFxuICAweDRjYzVkNGJlLCAweGNiM2U0MmI2LCAweDU5N2YyOTljLCAweGZjNjU3ZTJhLFxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xcbl1cXG5cXG52YXIgVyA9IG5ldyBBcnJheSgxNjApXFxuXFxuZnVuY3Rpb24gU2hhNTEyICgpIHtcXG4gIHRoaXMuaW5pdCgpXFxuICB0aGlzLl93ID0gV1xcblxcbiAgSGFzaC5jYWxsKHRoaXMsIDEyOCwgMTEyKVxcbn1cXG5cXG5pbmhlcml0cyhTaGE1MTIsIEhhc2gpXFxuXFxuU2hhNTEyLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xcbiAgdGhpcy5fYWggPSAweDZhMDllNjY3XFxuICB0aGlzLl9iaCA9IDB4YmI2N2FlODVcXG4gIHRoaXMuX2NoID0gMHgzYzZlZjM3MlxcbiAgdGhpcy5fZGggPSAweGE1NGZmNTNhXFxuICB0aGlzLl9laCA9IDB4NTEwZTUyN2ZcXG4gIHRoaXMuX2ZoID0gMHg5YjA1Njg4Y1xcbiAgdGhpcy5fZ2ggPSAweDFmODNkOWFiXFxuICB0aGlzLl9oaCA9IDB4NWJlMGNkMTlcXG5cXG4gIHRoaXMuX2FsID0gMHhmM2JjYzkwOFxcbiAgdGhpcy5fYmwgPSAweDg0Y2FhNzNiXFxuICB0aGlzLl9jbCA9IDB4ZmU5NGY4MmJcXG4gIHRoaXMuX2RsID0gMHg1ZjFkMzZmMVxcbiAgdGhpcy5fZWwgPSAweGFkZTY4MmQxXFxuICB0aGlzLl9mbCA9IDB4MmIzZTZjMWZcXG4gIHRoaXMuX2dsID0gMHhmYjQxYmQ2YlxcbiAgdGhpcy5faGwgPSAweDEzN2UyMTc5XFxuXFxuICByZXR1cm4gdGhpc1xcbn1cXG5cXG5mdW5jdGlvbiBDaCAoeCwgeSwgeikge1xcbiAgcmV0dXJuIHogXiAoeCAmICh5IF4geikpXFxufVxcblxcbmZ1bmN0aW9uIG1haiAoeCwgeSwgeikge1xcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXFxufVxcblxcbmZ1bmN0aW9uIHNpZ21hMCAoeCwgeGwpIHtcXG4gIHJldHVybiAoeCA+Pj4gMjggfCB4bCA8PCA0KSBeICh4bCA+Pj4gMiB8IHggPDwgMzApIF4gKHhsID4+PiA3IHwgeCA8PCAyNSlcXG59XFxuXFxuZnVuY3Rpb24gc2lnbWExICh4LCB4bCkge1xcbiAgcmV0dXJuICh4ID4+PiAxNCB8IHhsIDw8IDE4KSBeICh4ID4+PiAxOCB8IHhsIDw8IDE0KSBeICh4bCA+Pj4gOSB8IHggPDwgMjMpXFxufVxcblxcbmZ1bmN0aW9uIEdhbW1hMCAoeCwgeGwpIHtcXG4gIHJldHVybiAoeCA+Pj4gMSB8IHhsIDw8IDMxKSBeICh4ID4+PiA4IHwgeGwgPDwgMjQpIF4gKHggPj4+IDcpXFxufVxcblxcbmZ1bmN0aW9uIEdhbW1hMGwgKHgsIHhsKSB7XFxuICByZXR1cm4gKHggPj4+IDEgfCB4bCA8PCAzMSkgXiAoeCA+Pj4gOCB8IHhsIDw8IDI0KSBeICh4ID4+PiA3IHwgeGwgPDwgMjUpXFxufVxcblxcbmZ1bmN0aW9uIEdhbW1hMSAoeCwgeGwpIHtcXG4gIHJldHVybiAoeCA+Pj4gMTkgfCB4bCA8PCAxMykgXiAoeGwgPj4+IDI5IHwgeCA8PCAzKSBeICh4ID4+PiA2KVxcbn1cXG5cXG5mdW5jdGlvbiBHYW1tYTFsICh4LCB4bCkge1xcbiAgcmV0dXJuICh4ID4+PiAxOSB8IHhsIDw8IDEzKSBeICh4bCA+Pj4gMjkgfCB4IDw8IDMpIF4gKHggPj4+IDYgfCB4bCA8PCAyNilcXG59XFxuXFxuZnVuY3Rpb24gZ2V0Q2FycnkgKGEsIGIpIHtcXG4gIHJldHVybiAoYSA+Pj4gMCkgPCAoYiA+Pj4gMCkgPyAxIDogMFxcbn1cXG5cXG5TaGE1MTIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xcbiAgdmFyIFcgPSB0aGlzLl93XFxuXFxuICB2YXIgYWggPSB0aGlzLl9haCB8IDBcXG4gIHZhciBiaCA9IHRoaXMuX2JoIHwgMFxcbiAgdmFyIGNoID0gdGhpcy5fY2ggfCAwXFxuICB2YXIgZGggPSB0aGlzLl9kaCB8IDBcXG4gIHZhciBlaCA9IHRoaXMuX2VoIHwgMFxcbiAgdmFyIGZoID0gdGhpcy5fZmggfCAwXFxuICB2YXIgZ2ggPSB0aGlzLl9naCB8IDBcXG4gIHZhciBoaCA9IHRoaXMuX2hoIHwgMFxcblxcbiAgdmFyIGFsID0gdGhpcy5fYWwgfCAwXFxuICB2YXIgYmwgPSB0aGlzLl9ibCB8IDBcXG4gIHZhciBjbCA9IHRoaXMuX2NsIHwgMFxcbiAgdmFyIGRsID0gdGhpcy5fZGwgfCAwXFxuICB2YXIgZWwgPSB0aGlzLl9lbCB8IDBcXG4gIHZhciBmbCA9IHRoaXMuX2ZsIHwgMFxcbiAgdmFyIGdsID0gdGhpcy5fZ2wgfCAwXFxuICB2YXIgaGwgPSB0aGlzLl9obCB8IDBcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7IGkgKz0gMikge1xcbiAgICBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcXG4gICAgV1tpICsgMV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0ICsgNClcXG4gIH1cXG4gIGZvciAoOyBpIDwgMTYwOyBpICs9IDIpIHtcXG4gICAgdmFyIHhoID0gV1tpIC0gMTUgKiAyXVxcbiAgICB2YXIgeGwgPSBXW2kgLSAxNSAqIDIgKyAxXVxcbiAgICB2YXIgZ2FtbWEwID0gR2FtbWEwKHhoLCB4bClcXG4gICAgdmFyIGdhbW1hMGwgPSBHYW1tYTBsKHhsLCB4aClcXG5cXG4gICAgeGggPSBXW2kgLSAyICogMl1cXG4gICAgeGwgPSBXW2kgLSAyICogMiArIDFdXFxuICAgIHZhciBnYW1tYTEgPSBHYW1tYTEoeGgsIHhsKVxcbiAgICB2YXIgZ2FtbWExbCA9IEdhbW1hMWwoeGwsIHhoKVxcblxcbiAgICAvLyBXW2ldID0gZ2FtbWEwICsgV1tpIC0gN10gKyBnYW1tYTEgKyBXW2kgLSAxNl1cXG4gICAgdmFyIFdpN2ggPSBXW2kgLSA3ICogMl1cXG4gICAgdmFyIFdpN2wgPSBXW2kgLSA3ICogMiArIDFdXFxuXFxuICAgIHZhciBXaTE2aCA9IFdbaSAtIDE2ICogMl1cXG4gICAgdmFyIFdpMTZsID0gV1tpIC0gMTYgKiAyICsgMV1cXG5cXG4gICAgdmFyIFdpbCA9IChnYW1tYTBsICsgV2k3bCkgfCAwXFxuICAgIHZhciBXaWggPSAoZ2FtbWEwICsgV2k3aCArIGdldENhcnJ5KFdpbCwgZ2FtbWEwbCkpIHwgMFxcbiAgICBXaWwgPSAoV2lsICsgZ2FtbWExbCkgfCAwXFxuICAgIFdpaCA9IChXaWggKyBnYW1tYTEgKyBnZXRDYXJyeShXaWwsIGdhbW1hMWwpKSB8IDBcXG4gICAgV2lsID0gKFdpbCArIFdpMTZsKSB8IDBcXG4gICAgV2loID0gKFdpaCArIFdpMTZoICsgZ2V0Q2FycnkoV2lsLCBXaTE2bCkpIHwgMFxcblxcbiAgICBXW2ldID0gV2loXFxuICAgIFdbaSArIDFdID0gV2lsXFxuICB9XFxuXFxuICBmb3IgKHZhciBqID0gMDsgaiA8IDE2MDsgaiArPSAyKSB7XFxuICAgIFdpaCA9IFdbal1cXG4gICAgV2lsID0gV1tqICsgMV1cXG5cXG4gICAgdmFyIG1hamggPSBtYWooYWgsIGJoLCBjaClcXG4gICAgdmFyIG1hamwgPSBtYWooYWwsIGJsLCBjbClcXG5cXG4gICAgdmFyIHNpZ21hMGggPSBzaWdtYTAoYWgsIGFsKVxcbiAgICB2YXIgc2lnbWEwbCA9IHNpZ21hMChhbCwgYWgpXFxuICAgIHZhciBzaWdtYTFoID0gc2lnbWExKGVoLCBlbClcXG4gICAgdmFyIHNpZ21hMWwgPSBzaWdtYTEoZWwsIGVoKVxcblxcbiAgICAvLyB0MSA9IGggKyBzaWdtYTEgKyBjaCArIEtbal0gKyBXW2pdXFxuICAgIHZhciBLaWggPSBLW2pdXFxuICAgIHZhciBLaWwgPSBLW2ogKyAxXVxcblxcbiAgICB2YXIgY2hoID0gQ2goZWgsIGZoLCBnaClcXG4gICAgdmFyIGNobCA9IENoKGVsLCBmbCwgZ2wpXFxuXFxuICAgIHZhciB0MWwgPSAoaGwgKyBzaWdtYTFsKSB8IDBcXG4gICAgdmFyIHQxaCA9IChoaCArIHNpZ21hMWggKyBnZXRDYXJyeSh0MWwsIGhsKSkgfCAwXFxuICAgIHQxbCA9ICh0MWwgKyBjaGwpIHwgMFxcbiAgICB0MWggPSAodDFoICsgY2hoICsgZ2V0Q2FycnkodDFsLCBjaGwpKSB8IDBcXG4gICAgdDFsID0gKHQxbCArIEtpbCkgfCAwXFxuICAgIHQxaCA9ICh0MWggKyBLaWggKyBnZXRDYXJyeSh0MWwsIEtpbCkpIHwgMFxcbiAgICB0MWwgPSAodDFsICsgV2lsKSB8IDBcXG4gICAgdDFoID0gKHQxaCArIFdpaCArIGdldENhcnJ5KHQxbCwgV2lsKSkgfCAwXFxuXFxuICAgIC8vIHQyID0gc2lnbWEwICsgbWFqXFxuICAgIHZhciB0MmwgPSAoc2lnbWEwbCArIG1hamwpIHwgMFxcbiAgICB2YXIgdDJoID0gKHNpZ21hMGggKyBtYWpoICsgZ2V0Q2FycnkodDJsLCBzaWdtYTBsKSkgfCAwXFxuXFxuICAgIGhoID0gZ2hcXG4gICAgaGwgPSBnbFxcbiAgICBnaCA9IGZoXFxuICAgIGdsID0gZmxcXG4gICAgZmggPSBlaFxcbiAgICBmbCA9IGVsXFxuICAgIGVsID0gKGRsICsgdDFsKSB8IDBcXG4gICAgZWggPSAoZGggKyB0MWggKyBnZXRDYXJyeShlbCwgZGwpKSB8IDBcXG4gICAgZGggPSBjaFxcbiAgICBkbCA9IGNsXFxuICAgIGNoID0gYmhcXG4gICAgY2wgPSBibFxcbiAgICBiaCA9IGFoXFxuICAgIGJsID0gYWxcXG4gICAgYWwgPSAodDFsICsgdDJsKSB8IDBcXG4gICAgYWggPSAodDFoICsgdDJoICsgZ2V0Q2FycnkoYWwsIHQxbCkpIHwgMFxcbiAgfVxcblxcbiAgdGhpcy5fYWwgPSAodGhpcy5fYWwgKyBhbCkgfCAwXFxuICB0aGlzLl9ibCA9ICh0aGlzLl9ibCArIGJsKSB8IDBcXG4gIHRoaXMuX2NsID0gKHRoaXMuX2NsICsgY2wpIHwgMFxcbiAgdGhpcy5fZGwgPSAodGhpcy5fZGwgKyBkbCkgfCAwXFxuICB0aGlzLl9lbCA9ICh0aGlzLl9lbCArIGVsKSB8IDBcXG4gIHRoaXMuX2ZsID0gKHRoaXMuX2ZsICsgZmwpIHwgMFxcbiAgdGhpcy5fZ2wgPSAodGhpcy5fZ2wgKyBnbCkgfCAwXFxuICB0aGlzLl9obCA9ICh0aGlzLl9obCArIGhsKSB8IDBcXG5cXG4gIHRoaXMuX2FoID0gKHRoaXMuX2FoICsgYWggKyBnZXRDYXJyeSh0aGlzLl9hbCwgYWwpKSB8IDBcXG4gIHRoaXMuX2JoID0gKHRoaXMuX2JoICsgYmggKyBnZXRDYXJyeSh0aGlzLl9ibCwgYmwpKSB8IDBcXG4gIHRoaXMuX2NoID0gKHRoaXMuX2NoICsgY2ggKyBnZXRDYXJyeSh0aGlzLl9jbCwgY2wpKSB8IDBcXG4gIHRoaXMuX2RoID0gKHRoaXMuX2RoICsgZGggKyBnZXRDYXJyeSh0aGlzLl9kbCwgZGwpKSB8IDBcXG4gIHRoaXMuX2VoID0gKHRoaXMuX2VoICsgZWggKyBnZXRDYXJyeSh0aGlzLl9lbCwgZWwpKSB8IDBcXG4gIHRoaXMuX2ZoID0gKHRoaXMuX2ZoICsgZmggKyBnZXRDYXJyeSh0aGlzLl9mbCwgZmwpKSB8IDBcXG4gIHRoaXMuX2doID0gKHRoaXMuX2doICsgZ2ggKyBnZXRDYXJyeSh0aGlzLl9nbCwgZ2wpKSB8IDBcXG4gIHRoaXMuX2hoID0gKHRoaXMuX2hoICsgaGggKyBnZXRDYXJyeSh0aGlzLl9obCwgaGwpKSB8IDBcXG59XFxuXFxuU2hhNTEyLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcXG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDY0KVxcblxcbiAgZnVuY3Rpb24gd3JpdGVJbnQ2NEJFIChoLCBsLCBvZmZzZXQpIHtcXG4gICAgSC53cml0ZUludDMyQkUoaCwgb2Zmc2V0KVxcbiAgICBILndyaXRlSW50MzJCRShsLCBvZmZzZXQgKyA0KVxcbiAgfVxcblxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2FoLCB0aGlzLl9hbCwgMClcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9iaCwgdGhpcy5fYmwsIDgpXFxuICB3cml0ZUludDY0QkUodGhpcy5fY2gsIHRoaXMuX2NsLCAxNilcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9kaCwgdGhpcy5fZGwsIDI0KVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2VoLCB0aGlzLl9lbCwgMzIpXFxuICB3cml0ZUludDY0QkUodGhpcy5fZmgsIHRoaXMuX2ZsLCA0MClcXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9naCwgdGhpcy5fZ2wsIDQ4KVxcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2hoLCB0aGlzLl9obCwgNTYpXFxuXFxuICByZXR1cm4gSFxcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTUxMlxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5emFHRXVhbk12YzJoaE5URXlMbXB6UHpWbE5HSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWlVGQlpTeHRRa0ZCVHl4RFFVRkRMRFpFUVVGVk8wRkJRMnBETEZkQlFWY3NiVUpCUVU4c1EwRkJReXcyUTBGQlVUdEJRVU16UWl4aFFVRmhMRzFDUVVGUExFTkJRVU1zZDBSQlFXRTdPMEZCUld4RE8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4UlFVRlJPMEZCUTNwQ08wRkJRMEU3UVVGRFFUdEJRVU5CTEZGQlFWRXNVMEZCVXp0QlFVTnFRanRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMR2xDUVVGcFFpeFRRVUZUTzBGQlF6RkNPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQklpd2labWxzWlNJNklpNHZibTlrWlY5dGIyUjFiR1Z6TDNOb1lTNXFjeTl6YUdFMU1USXVhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SjJZWElnYVc1b1pYSnBkSE1nUFNCeVpYRjFhWEpsS0NkcGJtaGxjbWwwY3ljcFhHNTJZWElnU0dGemFDQTlJSEpsY1hWcGNtVW9KeTR2YUdGemFDY3BYRzUyWVhJZ1FuVm1abVZ5SUQwZ2NtVnhkV2x5WlNnbmMyRm1aUzFpZFdabVpYSW5LUzVDZFdabVpYSmNibHh1ZG1GeUlFc2dQU0JiWEc0Z0lEQjROREk0WVRKbU9UZ3NJREI0WkRjeU9HRmxNaklzSURCNE56RXpOelEwT1RFc0lEQjRNak5sWmpZMVkyUXNYRzRnSURCNFlqVmpNR1ppWTJZc0lEQjRaV00wWkROaU1tWXNJREI0WlRsaU5XUmlZVFVzSURCNE9ERTRPV1JpWW1Nc1hHNGdJREI0TXprMU5tTXlOV0lzSURCNFpqTTBPR0kxTXpnc0lEQjROVGxtTVRFeFpqRXNJREI0WWpZd05XUXdNVGtzWEc0Z0lEQjRPVEl6WmpneVlUUXNJREI0WVdZeE9UUm1PV0lzSURCNFlXSXhZelZsWkRVc0lEQjRaR0UyWkRneE1UZ3NYRzRnSURCNFpEZ3dOMkZoT1Rnc0lEQjRZVE13TXpBeU5ESXNJREI0TVRJNE16VmlNREVzSURCNE5EVTNNRFptWW1Vc1hHNGdJREI0TWpRek1UZzFZbVVzSURCNE5HVmxOR0l5T0dNc0lEQjROVFV3WXpka1l6TXNJREI0WkRWbVptSTBaVElzWEc0Z0lEQjROekppWlRWa056UXNJREI0WmpJM1lqZzVObVlzSURCNE9EQmtaV0l4Wm1Vc0lEQjRNMkl4TmprMllqRXNYRzRnSURCNE9XSmtZekEyWVRjc0lEQjRNalZqTnpFeU16VXNJREI0WXpFNVltWXhOelFzSURCNFkyWTJPVEkyT1RRc1hHNGdJREI0WlRRNVlqWTVZekVzSURCNE9XVm1NVFJoWkRJc0lEQjRaV1ppWlRRM09EWXNJREI0TXpnMFpqSTFaVE1zWEc0Z0lEQjRNR1pqTVRsa1l6WXNJREI0T0dJNFkyUTFZalVzSURCNE1qUXdZMkV4WTJNc0lEQjROemRoWXpsak5qVXNYRzRnSURCNE1tUmxPVEpqTm1Zc0lEQjROVGt5WWpBeU56VXNJREI0TkdFM05EZzBZV0VzSURCNE5tVmhObVUwT0RNc1hHNGdJREI0TldOaU1HRTVaR01zSURCNFltUTBNV1ppWkRRc0lEQjROelptT1RnNFpHRXNJREI0T0RNeE1UVXpZalVzWEc0Z0lEQjRPVGd6WlRVeE5USXNJREI0WldVMk5tUm1ZV0lzSURCNFlUZ3pNV00yTm1Rc0lEQjRNbVJpTkRNeU1UQXNYRzRnSURCNFlqQXdNekkzWXpnc0lEQjRPVGhtWWpJeE0yWXNJREI0WW1ZMU9UZG1ZemNzSURCNFltVmxaakJsWlRRc1hHNGdJREI0WXpabE1EQmlaak1zSURCNE0yUmhPRGhtWXpJc0lEQjRaRFZoTnpreE5EY3NJREI0T1RNd1lXRTNNalVzWEc0Z0lEQjRNRFpqWVRZek5URXNJREI0WlRBd016Z3lObVlzSURCNE1UUXlPVEk1Tmpjc0lEQjRNR0V3WlRabE56QXNYRzRnSURCNE1qZGlOekJoT0RVc0lEQjRORFprTWpKbVptTXNJREI0TW1VeFlqSXhNemdzSURCNE5XTXlObU01TWpZc1hHNGdJREI0TkdReVl6WmtabU1zSURCNE5XRmpOREpoWldRc0lEQjROVE16T0RCa01UTXNJREI0T1dRNU5XSXpaR1lzWEc0Z0lEQjROalV3WVRjek5UUXNJREI0T0dKaFpqWXpaR1VzSURCNE56WTJZVEJoWW1Jc0lEQjRNMk0zTjJJeVlUZ3NYRzRnSURCNE9ERmpNbU01TW1Vc0lEQjRORGRsWkdGbFpUWXNJREI0T1RJM01qSmpPRFVzSURCNE1UUTRNak0xTTJJc1hHNGdJREI0WVRKaVptVTRZVEVzSURCNE5HTm1NVEF6TmpRc0lEQjRZVGd4WVRZMk5HSXNJREI0WW1NME1qTXdNREVzWEc0Z0lEQjRZekkwWWpoaU56QXNJREI0WkRCbU9EazNPVEVzSURCNFl6YzJZelV4WVRNc0lEQjRNRFkxTkdKbE16QXNYRzRnSURCNFpERTVNbVU0TVRrc0lEQjRaRFpsWmpVeU1UZ3NJREI0WkRZNU9UQTJNalFzSURCNE5UVTJOV0U1TVRBc1hHNGdJREI0WmpRd1pUTTFPRFVzSURCNE5UYzNNVEl3TW1Fc0lEQjRNVEEyWVdFd056QXNJREI0TXpKaVltUXhZamdzWEc0Z0lEQjRNVGxoTkdNeE1UWXNJREI0WWpoa01tUXdZemdzSURCNE1XVXpOelpqTURnc0lEQjROVEUwTVdGaU5UTXNYRzRnSURCNE1qYzBPRGMzTkdNc0lEQjRaR1k0WldWaU9Ua3NJREI0TXpSaU1HSmpZalVzSURCNFpURTVZalE0WVRnc1hHNGdJREI0TXpreFl6QmpZak1zSURCNFl6VmpPVFZoTmpNc0lEQjROR1ZrT0dGaE5HRXNJREI0WlRNME1UaGhZMklzWEc0Z0lEQjROV0k1WTJOaE5HWXNJREI0TnpjMk0yVXpOek1zSURCNE5qZ3laVFptWmpNc0lEQjRaRFppTW1JNFlUTXNYRzRnSURCNE56UTRaamd5WldVc0lEQjROV1JsWm1JeVptTXNJREI0TnpoaE5UWXpObVlzSURCNE5ETXhOekptTmpBc1hHNGdJREI0T0RSak9EYzRNVFFzSURCNFlURm1NR0ZpTnpJc0lEQjRPR05qTnpBeU1EZ3NJREI0TVdFMk5ETTVaV01zWEc0Z0lEQjRPVEJpWldabVptRXNJREI0TWpNMk16RmxNamdzSURCNFlUUTFNRFpqWldJc0lEQjRaR1U0TW1Ka1pUa3NYRzRnSURCNFltVm1PV0V6Wmpjc0lEQjRZakpqTmpjNU1UVXNJREI0WXpZM01UYzRaaklzSURCNFpUTTNNalV6TW1Jc1hHNGdJREI0WTJFeU56TmxZMlVzSURCNFpXRXlOall4T1dNc0lEQjRaREU0Tm1JNFl6Y3NJREI0TWpGak1HTXlNRGNzWEc0Z0lEQjRaV0ZrWVRka1pEWXNJREI0WTJSbE1HVmlNV1VzSURCNFpqVTNaRFJtTjJZc0lEQjRaV1UyWldReE56Z3NYRzRnSURCNE1EWm1NRFkzWVdFc0lEQjROekl4TnpabVltRXNJREI0TUdFMk16ZGtZelVzSURCNFlUSmpPRGs0WVRZc1hHNGdJREI0TVRFelpqazRNRFFzSURCNFltVm1PVEJrWVdVc0lEQjRNV0kzTVRCaU16VXNJREI0TVRNeFl6UTNNV0lzWEc0Z0lEQjRNamhrWWpjM1pqVXNJREI0TWpNd05EZGtPRFFzSURCNE16SmpZV0ZpTjJJc0lEQjROREJqTnpJME9UTXNYRzRnSURCNE0yTTVaV0psTUdFc0lEQjRNVFZqT1dKbFltTXNJREI0TkRNeFpEWTNZelFzSURCNE9XTXhNREJrTkdNc1hHNGdJREI0TkdOak5XUTBZbVVzSURCNFkySXpaVFF5WWpZc0lEQjROVGszWmpJNU9XTXNJREI0Wm1NMk5UZGxNbUVzWEc0Z0lEQjROV1pqWWpabVlXSXNJREI0TTJGa05tWmhaV01zSURCNE5tTTBOREU1T0dNc0lEQjROR0UwTnpVNE1UZGNibDFjYmx4dWRtRnlJRmNnUFNCdVpYY2dRWEp5WVhrb01UWXdLVnh1WEc1bWRXNWpkR2x2YmlCVGFHRTFNVElnS0NrZ2UxeHVJQ0IwYUdsekxtbHVhWFFvS1Z4dUlDQjBhR2x6TGw5M0lEMGdWMXh1WEc0Z0lFaGhjMmd1WTJGc2JDaDBhR2x6TENBeE1qZ3NJREV4TWlsY2JuMWNibHh1YVc1b1pYSnBkSE1vVTJoaE5URXlMQ0JJWVhOb0tWeHVYRzVUYUdFMU1USXVjSEp2ZEc5MGVYQmxMbWx1YVhRZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIUm9hWE11WDJGb0lEMGdNSGcyWVRBNVpUWTJOMXh1SUNCMGFHbHpMbDlpYUNBOUlEQjRZbUkyTjJGbE9EVmNiaUFnZEdocGN5NWZZMmdnUFNBd2VETmpObVZtTXpjeVhHNGdJSFJvYVhNdVgyUm9JRDBnTUhoaE5UUm1aalV6WVZ4dUlDQjBhR2x6TGw5bGFDQTlJREI0TlRFd1pUVXlOMlpjYmlBZ2RHaHBjeTVmWm1nZ1BTQXdlRGxpTURVMk9EaGpYRzRnSUhSb2FYTXVYMmRvSUQwZ01IZ3haamd6WkRsaFlseHVJQ0IwYUdsekxsOW9hQ0E5SURCNE5XSmxNR05rTVRsY2JseHVJQ0IwYUdsekxsOWhiQ0E5SURCNFpqTmlZMk01TURoY2JpQWdkR2hwY3k1Zlltd2dQU0F3ZURnMFkyRmhOek5pWEc0Z0lIUm9hWE11WDJOc0lEMGdNSGhtWlRrMFpqZ3lZbHh1SUNCMGFHbHpMbDlrYkNBOUlEQjROV1l4WkRNMlpqRmNiaUFnZEdocGN5NWZaV3dnUFNBd2VHRmtaVFk0TW1ReFhHNGdJSFJvYVhNdVgyWnNJRDBnTUhneVlqTmxObU14Wmx4dUlDQjBhR2x6TGw5bmJDQTlJREI0Wm1JME1XSmtObUpjYmlBZ2RHaHBjeTVmYUd3Z1BTQXdlREV6TjJVeU1UYzVYRzVjYmlBZ2NtVjBkWEp1SUhSb2FYTmNibjFjYmx4dVpuVnVZM1JwYjI0Z1EyZ2dLSGdzSUhrc0lIb3BJSHRjYmlBZ2NtVjBkWEp1SUhvZ1hpQW9lQ0FtSUNoNUlGNGdlaWtwWEc1OVhHNWNibVoxYm1OMGFXOXVJRzFoYWlBb2VDd2dlU3dnZWlrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnSmlCNUtTQjhJQ2g2SUNZZ0tIZ2dmQ0I1S1NsY2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJsbmJXRXdJQ2g0TENCNGJDa2dlMXh1SUNCeVpYUjFjbTRnS0hnZ1BqNCtJREk0SUh3Z2VHd2dQRHdnTkNrZ1hpQW9lR3dnUGo0K0lESWdmQ0I0SUR3OElETXdLU0JlSUNoNGJDQStQajRnTnlCOElIZ2dQRHdnTWpVcFhHNTlYRzVjYm1aMWJtTjBhVzl1SUhOcFoyMWhNU0FvZUN3Z2VHd3BJSHRjYmlBZ2NtVjBkWEp1SUNoNElENCtQaUF4TkNCOElIaHNJRHc4SURFNEtTQmVJQ2g0SUQ0K1BpQXhPQ0I4SUhoc0lEdzhJREUwS1NCZUlDaDRiQ0ErUGo0Z09TQjhJSGdnUER3Z01qTXBYRzU5WEc1Y2JtWjFibU4wYVc5dUlFZGhiVzFoTUNBb2VDd2dlR3dwSUh0Y2JpQWdjbVYwZFhKdUlDaDRJRDQrUGlBeElId2dlR3dnUER3Z016RXBJRjRnS0hnZ1BqNCtJRGdnZkNCNGJDQThQQ0F5TkNrZ1hpQW9lQ0ErUGo0Z055bGNibjFjYmx4dVpuVnVZM1JwYjI0Z1IyRnRiV0V3YkNBb2VDd2dlR3dwSUh0Y2JpQWdjbVYwZFhKdUlDaDRJRDQrUGlBeElId2dlR3dnUER3Z016RXBJRjRnS0hnZ1BqNCtJRGdnZkNCNGJDQThQQ0F5TkNrZ1hpQW9lQ0ErUGo0Z055QjhJSGhzSUR3OElESTFLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkhZVzF0WVRFZ0tIZ3NJSGhzS1NCN1hHNGdJSEpsZEhWeWJpQW9lQ0ErUGo0Z01Ua2dmQ0I0YkNBOFBDQXhNeWtnWGlBb2VHd2dQajQrSURJNUlId2dlQ0E4UENBektTQmVJQ2g0SUQ0K1BpQTJLVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQkhZVzF0WVRGc0lDaDRMQ0I0YkNrZ2UxeHVJQ0J5WlhSMWNtNGdLSGdnUGo0K0lERTVJSHdnZUd3Z1BEd2dNVE1wSUY0Z0tIaHNJRDQrUGlBeU9TQjhJSGdnUER3Z015a2dYaUFvZUNBK1BqNGdOaUI4SUhoc0lEdzhJREkyS1Z4dWZWeHVYRzVtZFc1amRHbHZiaUJuWlhSRFlYSnllU0FvWVN3Z1lpa2dlMXh1SUNCeVpYUjFjbTRnS0dFZ1BqNCtJREFwSUR3Z0tHSWdQajQrSURBcElEOGdNU0E2SURCY2JuMWNibHh1VTJoaE5URXlMbkJ5YjNSdmRIbHdaUzVmZFhCa1lYUmxJRDBnWm5WdVkzUnBiMjRnS0UwcElIdGNiaUFnZG1GeUlGY2dQU0IwYUdsekxsOTNYRzVjYmlBZ2RtRnlJR0ZvSUQwZ2RHaHBjeTVmWVdnZ2ZDQXdYRzRnSUhaaGNpQmlhQ0E5SUhSb2FYTXVYMkpvSUh3Z01GeHVJQ0IyWVhJZ1kyZ2dQU0IwYUdsekxsOWphQ0I4SURCY2JpQWdkbUZ5SUdSb0lEMGdkR2hwY3k1ZlpHZ2dmQ0F3WEc0Z0lIWmhjaUJsYUNBOUlIUm9hWE11WDJWb0lId2dNRnh1SUNCMllYSWdabWdnUFNCMGFHbHpMbDltYUNCOElEQmNiaUFnZG1GeUlHZG9JRDBnZEdocGN5NWZaMmdnZkNBd1hHNGdJSFpoY2lCb2FDQTlJSFJvYVhNdVgyaG9JSHdnTUZ4dVhHNGdJSFpoY2lCaGJDQTlJSFJvYVhNdVgyRnNJSHdnTUZ4dUlDQjJZWElnWW13Z1BTQjBhR2x6TGw5aWJDQjhJREJjYmlBZ2RtRnlJR05zSUQwZ2RHaHBjeTVmWTJ3Z2ZDQXdYRzRnSUhaaGNpQmtiQ0E5SUhSb2FYTXVYMlJzSUh3Z01GeHVJQ0IyWVhJZ1pXd2dQU0IwYUdsekxsOWxiQ0I4SURCY2JpQWdkbUZ5SUdac0lEMGdkR2hwY3k1Zlptd2dmQ0F3WEc0Z0lIWmhjaUJuYkNBOUlIUm9hWE11WDJkc0lId2dNRnh1SUNCMllYSWdhR3dnUFNCMGFHbHpMbDlvYkNCOElEQmNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElETXlPeUJwSUNzOUlESXBJSHRjYmlBZ0lDQlhXMmxkSUQwZ1RTNXlaV0ZrU1c1ME16SkNSU2hwSUNvZ05DbGNiaUFnSUNCWFcya2dLeUF4WFNBOUlFMHVjbVZoWkVsdWRETXlRa1VvYVNBcUlEUWdLeUEwS1Z4dUlDQjlYRzRnSUdadmNpQW9PeUJwSUR3Z01UWXdPeUJwSUNzOUlESXBJSHRjYmlBZ0lDQjJZWElnZUdnZ1BTQlhXMmtnTFNBeE5TQXFJREpkWEc0Z0lDQWdkbUZ5SUhoc0lEMGdWMXRwSUMwZ01UVWdLaUF5SUNzZ01WMWNiaUFnSUNCMllYSWdaMkZ0YldFd0lEMGdSMkZ0YldFd0tIaG9MQ0I0YkNsY2JpQWdJQ0IyWVhJZ1oyRnRiV0V3YkNBOUlFZGhiVzFoTUd3b2VHd3NJSGhvS1Z4dVhHNGdJQ0FnZUdnZ1BTQlhXMmtnTFNBeUlDb2dNbDFjYmlBZ0lDQjRiQ0E5SUZkYmFTQXRJRElnS2lBeUlDc2dNVjFjYmlBZ0lDQjJZWElnWjJGdGJXRXhJRDBnUjJGdGJXRXhLSGhvTENCNGJDbGNiaUFnSUNCMllYSWdaMkZ0YldFeGJDQTlJRWRoYlcxaE1Xd29lR3dzSUhob0tWeHVYRzRnSUNBZ0x5OGdWMXRwWFNBOUlHZGhiVzFoTUNBcklGZGJhU0F0SURkZElDc2daMkZ0YldFeElDc2dWMXRwSUMwZ01UWmRYRzRnSUNBZ2RtRnlJRmRwTjJnZ1BTQlhXMmtnTFNBM0lDb2dNbDFjYmlBZ0lDQjJZWElnVjJrM2JDQTlJRmRiYVNBdElEY2dLaUF5SUNzZ01WMWNibHh1SUNBZ0lIWmhjaUJYYVRFMmFDQTlJRmRiYVNBdElERTJJQ29nTWwxY2JpQWdJQ0IyWVhJZ1Yya3hObXdnUFNCWFcya2dMU0F4TmlBcUlESWdLeUF4WFZ4dVhHNGdJQ0FnZG1GeUlGZHBiQ0E5SUNobllXMXRZVEJzSUNzZ1YyazNiQ2tnZkNBd1hHNGdJQ0FnZG1GeUlGZHBhQ0E5SUNobllXMXRZVEFnS3lCWGFUZG9JQ3NnWjJWMFEyRnljbmtvVjJsc0xDQm5ZVzF0WVRCc0tTa2dmQ0F3WEc0Z0lDQWdWMmxzSUQwZ0tGZHBiQ0FySUdkaGJXMWhNV3dwSUh3Z01GeHVJQ0FnSUZkcGFDQTlJQ2hYYVdnZ0t5Qm5ZVzF0WVRFZ0t5Qm5aWFJEWVhKeWVTaFhhV3dzSUdkaGJXMWhNV3dwS1NCOElEQmNiaUFnSUNCWGFXd2dQU0FvVjJsc0lDc2dWMmt4Tm13cElId2dNRnh1SUNBZ0lGZHBhQ0E5SUNoWGFXZ2dLeUJYYVRFMmFDQXJJR2RsZEVOaGNuSjVLRmRwYkN3Z1Yya3hObXdwS1NCOElEQmNibHh1SUNBZ0lGZGJhVjBnUFNCWGFXaGNiaUFnSUNCWFcya2dLeUF4WFNBOUlGZHBiRnh1SUNCOVhHNWNiaUFnWm05eUlDaDJZWElnYWlBOUlEQTdJR29nUENBeE5qQTdJR29nS3owZ01pa2dlMXh1SUNBZ0lGZHBhQ0E5SUZkYmFsMWNiaUFnSUNCWGFXd2dQU0JYVzJvZ0t5QXhYVnh1WEc0Z0lDQWdkbUZ5SUcxaGFtZ2dQU0J0WVdvb1lXZ3NJR0pvTENCamFDbGNiaUFnSUNCMllYSWdiV0ZxYkNBOUlHMWhhaWhoYkN3Z1ltd3NJR05zS1Z4dVhHNGdJQ0FnZG1GeUlITnBaMjFoTUdnZ1BTQnphV2R0WVRBb1lXZ3NJR0ZzS1Z4dUlDQWdJSFpoY2lCemFXZHRZVEJzSUQwZ2MybG5iV0V3S0dGc0xDQmhhQ2xjYmlBZ0lDQjJZWElnYzJsbmJXRXhhQ0E5SUhOcFoyMWhNU2hsYUN3Z1pXd3BYRzRnSUNBZ2RtRnlJSE5wWjIxaE1Xd2dQU0J6YVdkdFlURW9aV3dzSUdWb0tWeHVYRzRnSUNBZ0x5OGdkREVnUFNCb0lDc2djMmxuYldFeElDc2dZMmdnS3lCTFcycGRJQ3NnVjF0cVhWeHVJQ0FnSUhaaGNpQkxhV2dnUFNCTFcycGRYRzRnSUNBZ2RtRnlJRXRwYkNBOUlFdGJhaUFySURGZFhHNWNiaUFnSUNCMllYSWdZMmhvSUQwZ1EyZ29aV2dzSUdab0xDQm5hQ2xjYmlBZ0lDQjJZWElnWTJoc0lEMGdRMmdvWld3c0lHWnNMQ0JuYkNsY2JseHVJQ0FnSUhaaGNpQjBNV3dnUFNBb2FHd2dLeUJ6YVdkdFlURnNLU0I4SURCY2JpQWdJQ0IyWVhJZ2RERm9JRDBnS0dob0lDc2djMmxuYldFeGFDQXJJR2RsZEVOaGNuSjVLSFF4YkN3Z2FHd3BLU0I4SURCY2JpQWdJQ0IwTVd3Z1BTQW9kREZzSUNzZ1kyaHNLU0I4SURCY2JpQWdJQ0IwTVdnZ1BTQW9kREZvSUNzZ1kyaG9JQ3NnWjJWMFEyRnljbmtvZERGc0xDQmphR3dwS1NCOElEQmNiaUFnSUNCME1Xd2dQU0FvZERGc0lDc2dTMmxzS1NCOElEQmNiaUFnSUNCME1XZ2dQU0FvZERGb0lDc2dTMmxvSUNzZ1oyVjBRMkZ5Y25rb2RERnNMQ0JMYVd3cEtTQjhJREJjYmlBZ0lDQjBNV3dnUFNBb2RERnNJQ3NnVjJsc0tTQjhJREJjYmlBZ0lDQjBNV2dnUFNBb2RERm9JQ3NnVjJsb0lDc2daMlYwUTJGeWNua29kREZzTENCWGFXd3BLU0I4SURCY2JseHVJQ0FnSUM4dklIUXlJRDBnYzJsbmJXRXdJQ3NnYldGcVhHNGdJQ0FnZG1GeUlIUXliQ0E5SUNoemFXZHRZVEJzSUNzZ2JXRnFiQ2tnZkNBd1hHNGdJQ0FnZG1GeUlIUXlhQ0E5SUNoemFXZHRZVEJvSUNzZ2JXRnFhQ0FySUdkbGRFTmhjbko1S0hReWJDd2djMmxuYldFd2JDa3BJSHdnTUZ4dVhHNGdJQ0FnYUdnZ1BTQm5hRnh1SUNBZ0lHaHNJRDBnWjJ4Y2JpQWdJQ0JuYUNBOUlHWm9YRzRnSUNBZ1oyd2dQU0JtYkZ4dUlDQWdJR1pvSUQwZ1pXaGNiaUFnSUNCbWJDQTlJR1ZzWEc0Z0lDQWdaV3dnUFNBb1pHd2dLeUIwTVd3cElId2dNRnh1SUNBZ0lHVm9JRDBnS0dSb0lDc2dkREZvSUNzZ1oyVjBRMkZ5Y25rb1pXd3NJR1JzS1NrZ2ZDQXdYRzRnSUNBZ1pHZ2dQU0JqYUZ4dUlDQWdJR1JzSUQwZ1kyeGNiaUFnSUNCamFDQTlJR0pvWEc0Z0lDQWdZMndnUFNCaWJGeHVJQ0FnSUdKb0lEMGdZV2hjYmlBZ0lDQmliQ0E5SUdGc1hHNGdJQ0FnWVd3Z1BTQW9kREZzSUNzZ2RESnNLU0I4SURCY2JpQWdJQ0JoYUNBOUlDaDBNV2dnS3lCME1tZ2dLeUJuWlhSRFlYSnllU2hoYkN3Z2RERnNLU2tnZkNBd1hHNGdJSDFjYmx4dUlDQjBhR2x6TGw5aGJDQTlJQ2gwYUdsekxsOWhiQ0FySUdGc0tTQjhJREJjYmlBZ2RHaHBjeTVmWW13Z1BTQW9kR2hwY3k1Zlltd2dLeUJpYkNrZ2ZDQXdYRzRnSUhSb2FYTXVYMk5zSUQwZ0tIUm9hWE11WDJOc0lDc2dZMndwSUh3Z01GeHVJQ0IwYUdsekxsOWtiQ0E5SUNoMGFHbHpMbDlrYkNBcklHUnNLU0I4SURCY2JpQWdkR2hwY3k1ZlpXd2dQU0FvZEdocGN5NWZaV3dnS3lCbGJDa2dmQ0F3WEc0Z0lIUm9hWE11WDJac0lEMGdLSFJvYVhNdVgyWnNJQ3NnWm13cElId2dNRnh1SUNCMGFHbHpMbDluYkNBOUlDaDBhR2x6TGw5bmJDQXJJR2RzS1NCOElEQmNiaUFnZEdocGN5NWZhR3dnUFNBb2RHaHBjeTVmYUd3Z0t5Qm9iQ2tnZkNBd1hHNWNiaUFnZEdocGN5NWZZV2dnUFNBb2RHaHBjeTVmWVdnZ0t5QmhhQ0FySUdkbGRFTmhjbko1S0hSb2FYTXVYMkZzTENCaGJDa3BJSHdnTUZ4dUlDQjBhR2x6TGw5aWFDQTlJQ2gwYUdsekxsOWlhQ0FySUdKb0lDc2daMlYwUTJGeWNua29kR2hwY3k1Zlltd3NJR0pzS1NrZ2ZDQXdYRzRnSUhSb2FYTXVYMk5vSUQwZ0tIUm9hWE11WDJOb0lDc2dZMmdnS3lCblpYUkRZWEp5ZVNoMGFHbHpMbDlqYkN3Z1kyd3BLU0I4SURCY2JpQWdkR2hwY3k1ZlpHZ2dQU0FvZEdocGN5NWZaR2dnS3lCa2FDQXJJR2RsZEVOaGNuSjVLSFJvYVhNdVgyUnNMQ0JrYkNrcElId2dNRnh1SUNCMGFHbHpMbDlsYUNBOUlDaDBhR2x6TGw5bGFDQXJJR1ZvSUNzZ1oyVjBRMkZ5Y25rb2RHaHBjeTVmWld3c0lHVnNLU2tnZkNBd1hHNGdJSFJvYVhNdVgyWm9JRDBnS0hSb2FYTXVYMlpvSUNzZ1ptZ2dLeUJuWlhSRFlYSnllU2gwYUdsekxsOW1iQ3dnWm13cEtTQjhJREJjYmlBZ2RHaHBjeTVmWjJnZ1BTQW9kR2hwY3k1ZloyZ2dLeUJuYUNBcklHZGxkRU5oY25KNUtIUm9hWE11WDJkc0xDQm5iQ2twSUh3Z01GeHVJQ0IwYUdsekxsOW9hQ0E5SUNoMGFHbHpMbDlvYUNBcklHaG9JQ3NnWjJWMFEyRnljbmtvZEdocGN5NWZhR3dzSUdoc0tTa2dmQ0F3WEc1OVhHNWNibE5vWVRVeE1pNXdjbTkwYjNSNWNHVXVYMmhoYzJnZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lIWmhjaUJJSUQwZ1FuVm1abVZ5TG1Gc2JHOWpWVzV6WVdabEtEWTBLVnh1WEc0Z0lHWjFibU4wYVc5dUlIZHlhWFJsU1c1ME5qUkNSU0FvYUN3Z2JDd2diMlptYzJWMEtTQjdYRzRnSUNBZ1NDNTNjbWwwWlVsdWRETXlRa1VvYUN3Z2IyWm1jMlYwS1Z4dUlDQWdJRWd1ZDNKcGRHVkpiblF6TWtKRktHd3NJRzltWm5ObGRDQXJJRFFwWEc0Z0lIMWNibHh1SUNCM2NtbDBaVWx1ZERZMFFrVW9kR2hwY3k1ZllXZ3NJSFJvYVhNdVgyRnNMQ0F3S1Z4dUlDQjNjbWwwWlVsdWREWTBRa1VvZEdocGN5NWZZbWdzSUhSb2FYTXVYMkpzTENBNEtWeHVJQ0IzY21sMFpVbHVkRFkwUWtVb2RHaHBjeTVmWTJnc0lIUm9hWE11WDJOc0xDQXhOaWxjYmlBZ2QzSnBkR1ZKYm5RMk5FSkZLSFJvYVhNdVgyUm9MQ0IwYUdsekxsOWtiQ3dnTWpRcFhHNGdJSGR5YVhSbFNXNTBOalJDUlNoMGFHbHpMbDlsYUN3Z2RHaHBjeTVmWld3c0lETXlLVnh1SUNCM2NtbDBaVWx1ZERZMFFrVW9kR2hwY3k1ZlptZ3NJSFJvYVhNdVgyWnNMQ0EwTUNsY2JpQWdkM0pwZEdWSmJuUTJORUpGS0hSb2FYTXVYMmRvTENCMGFHbHpMbDluYkN3Z05EZ3BYRzRnSUhkeWFYUmxTVzUwTmpSQ1JTaDBhR2x6TGw5b2FDd2dkR2hwY3k1ZmFHd3NJRFUyS1Z4dVhHNGdJSEpsZEhWeWJpQklYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1UyaGhOVEV5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zaGEuanMvc2hhNTEyLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJcXG5cXG52YXIgaXNBcnJheWlzaCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGlzLWFycmF5aXNoICovIFxcXCIuL25vZGVfbW9kdWxlcy9pcy1hcnJheWlzaC9pbmRleC5qc1xcXCIpO1xcblxcbnZhciBjb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0O1xcbnZhciBzbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTtcXG5cXG52YXIgc3dpenpsZSA9IG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gc3dpenpsZShhcmdzKSB7XFxuXFx0dmFyIHJlc3VsdHMgPSBbXTtcXG5cXG5cXHRmb3IgKHZhciBpID0gMCwgbGVuID0gYXJncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xcblxcdFxcdHZhciBhcmcgPSBhcmdzW2ldO1xcblxcblxcdFxcdGlmIChpc0FycmF5aXNoKGFyZykpIHtcXG5cXHRcXHRcXHQvLyBodHRwOi8vanNwZXJmLmNvbS9qYXZhc2NyaXB0LWFycmF5LWNvbmNhdC12cy1wdXNoLzk4XFxuXFx0XFx0XFx0cmVzdWx0cyA9IGNvbmNhdC5jYWxsKHJlc3VsdHMsIHNsaWNlLmNhbGwoYXJnKSk7XFxuXFx0XFx0fSBlbHNlIHtcXG5cXHRcXHRcXHRyZXN1bHRzLnB1c2goYXJnKTtcXG5cXHRcXHR9XFxuXFx0fVxcblxcblxcdHJldHVybiByZXN1bHRzO1xcbn07XFxuXFxuc3dpenpsZS53cmFwID0gZnVuY3Rpb24gKGZuKSB7XFxuXFx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcXG5cXHRcXHRyZXR1cm4gZm4oc3dpenpsZShhcmd1bWVudHMpKTtcXG5cXHR9O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6YVcxd2JHVXRjM2RwZW5wc1pTOXBibVJsZUM1cWN6OW1OREUxSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGaE96dEJRVVZpTEdsQ1FVRnBRaXh0UWtGQlR5eERRVUZETEhkRVFVRmhPenRCUVVWMFF6dEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUVzYlVOQlFXMURMRk5CUVZNN1FVRkROVU03TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMybHRjR3hsTFhOM2FYcDZiR1V2YVc1a1pYZ3Vhbk11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SW5kWE5sSUhOMGNtbGpkQ2M3WEc1Y2JuWmhjaUJwYzBGeWNtRjVhWE5vSUQwZ2NtVnhkV2x5WlNnbmFYTXRZWEp5WVhscGMyZ25LVHRjYmx4dWRtRnlJR052Ym1OaGRDQTlJRUZ5Y21GNUxuQnliM1J2ZEhsd1pTNWpiMjVqWVhRN1hHNTJZWElnYzJ4cFkyVWdQU0JCY25KaGVTNXdjbTkwYjNSNWNHVXVjMnhwWTJVN1hHNWNiblpoY2lCemQybDZlbXhsSUQwZ2JXOWtkV3hsTG1WNGNHOXlkSE1nUFNCbWRXNWpkR2x2YmlCemQybDZlbXhsS0dGeVozTXBJSHRjYmx4MGRtRnlJSEpsYzNWc2RITWdQU0JiWFR0Y2JseHVYSFJtYjNJZ0tIWmhjaUJwSUQwZ01Dd2diR1Z1SUQwZ1lYSm5jeTVzWlc1bmRHZzdJR2tnUENCc1pXNDdJR2tyS3lrZ2UxeHVYSFJjZEhaaGNpQmhjbWNnUFNCaGNtZHpXMmxkTzF4dVhHNWNkRngwYVdZZ0tHbHpRWEp5WVhscGMyZ29ZWEpuS1NrZ2UxeHVYSFJjZEZ4MEx5OGdhSFIwY0RvdkwycHpjR1Z5Wmk1amIyMHZhbUYyWVhOamNtbHdkQzFoY25KaGVTMWpiMjVqWVhRdGRuTXRjSFZ6YUM4NU9GeHVYSFJjZEZ4MGNtVnpkV3gwY3lBOUlHTnZibU5oZEM1allXeHNLSEpsYzNWc2RITXNJSE5zYVdObExtTmhiR3dvWVhKbktTazdYRzVjZEZ4MGZTQmxiSE5sSUh0Y2JseDBYSFJjZEhKbGMzVnNkSE11Y0hWemFDaGhjbWNwTzF4dVhIUmNkSDFjYmx4MGZWeHVYRzVjZEhKbGRIVnliaUJ5WlhOMWJIUnpPMXh1ZlR0Y2JseHVjM2RwZW5wc1pTNTNjbUZ3SUQwZ1puVnVZM1JwYjI0Z0tHWnVLU0I3WEc1Y2RISmxkSFZ5YmlCbWRXNWpkR2x2YmlBb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUdadUtITjNhWHA2YkdVb1lYSm5kVzFsYm5SektTazdYRzVjZEgwN1hHNTlPMXh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy9zaW1wbGUtc3dpenpsZS9pbmRleC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuZXZhbChcIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxcbi8vXFxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXFxuLy8gXFxcIlNvZnR3YXJlXFxcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXFxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XFxuLy9cXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxcbi8vXFxuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFxcXCJBUyBJU1xcXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXFxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxcbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxcblxcbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtO1xcblxcbnZhciBFRSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGV2ZW50cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvZXZlbnRzL2V2ZW50cy5qc1xcXCIpLkV2ZW50RW1pdHRlcjtcXG52YXIgaW5oZXJpdHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBpbmhlcml0cyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qc1xcXCIpO1xcblxcbmluaGVyaXRzKFN0cmVhbSwgRUUpO1xcblN0cmVhbS5SZWFkYWJsZSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLWJyb3dzZXIuanNcXFwiKTtcXG5TdHJlYW0uV3JpdGFibGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFkYWJsZS1zdHJlYW0vd3JpdGFibGUuanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS93cml0YWJsZS1icm93c2VyLmpzXFxcIik7XFxuU3RyZWFtLkR1cGxleCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWRhYmxlLXN0cmVhbS9kdXBsZXguanMgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9kdXBsZXgtYnJvd3Nlci5qc1xcXCIpO1xcblN0cmVhbS5UcmFuc2Zvcm0gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzXFxcIik7XFxuU3RyZWFtLlBhc3NUaHJvdWdoID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vcGFzc3Rocm91Z2guanNcXFwiKTtcXG5cXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjQueFxcblN0cmVhbS5TdHJlYW0gPSBTdHJlYW07XFxuXFxuXFxuXFxuLy8gb2xkLXN0eWxlIHN0cmVhbXMuICBOb3RlIHRoYXQgdGhlIHBpcGUgbWV0aG9kICh0aGUgb25seSByZWxldmFudFxcbi8vIHBhcnQgb2YgdGhpcyBjbGFzcykgaXMgb3ZlcnJpZGRlbiBpbiB0aGUgUmVhZGFibGUgY2xhc3MuXFxuXFxuZnVuY3Rpb24gU3RyZWFtKCkge1xcbiAgRUUuY2FsbCh0aGlzKTtcXG59XFxuXFxuU3RyZWFtLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24oZGVzdCwgb3B0aW9ucykge1xcbiAgdmFyIHNvdXJjZSA9IHRoaXM7XFxuXFxuICBmdW5jdGlvbiBvbmRhdGEoY2h1bmspIHtcXG4gICAgaWYgKGRlc3Qud3JpdGFibGUpIHtcXG4gICAgICBpZiAoZmFsc2UgPT09IGRlc3Qud3JpdGUoY2h1bmspICYmIHNvdXJjZS5wYXVzZSkge1xcbiAgICAgICAgc291cmNlLnBhdXNlKCk7XFxuICAgICAgfVxcbiAgICB9XFxuICB9XFxuXFxuICBzb3VyY2Uub24oJ2RhdGEnLCBvbmRhdGEpO1xcblxcbiAgZnVuY3Rpb24gb25kcmFpbigpIHtcXG4gICAgaWYgKHNvdXJjZS5yZWFkYWJsZSAmJiBzb3VyY2UucmVzdW1lKSB7XFxuICAgICAgc291cmNlLnJlc3VtZSgpO1xcbiAgICB9XFxuICB9XFxuXFxuICBkZXN0Lm9uKCdkcmFpbicsIG9uZHJhaW4pO1xcblxcbiAgLy8gSWYgdGhlICdlbmQnIG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIGRlc3QuZW5kKCkgd2lsbCBiZSBjYWxsZWQgd2hlblxcbiAgLy8gc291cmNlIGdldHMgdGhlICdlbmQnIG9yICdjbG9zZScgZXZlbnRzLiAgT25seSBkZXN0LmVuZCgpIG9uY2UuXFxuICBpZiAoIWRlc3QuX2lzU3RkaW8gJiYgKCFvcHRpb25zIHx8IG9wdGlvbnMuZW5kICE9PSBmYWxzZSkpIHtcXG4gICAgc291cmNlLm9uKCdlbmQnLCBvbmVuZCk7XFxuICAgIHNvdXJjZS5vbignY2xvc2UnLCBvbmNsb3NlKTtcXG4gIH1cXG5cXG4gIHZhciBkaWRPbkVuZCA9IGZhbHNlO1xcbiAgZnVuY3Rpb24gb25lbmQoKSB7XFxuICAgIGlmIChkaWRPbkVuZCkgcmV0dXJuO1xcbiAgICBkaWRPbkVuZCA9IHRydWU7XFxuXFxuICAgIGRlc3QuZW5kKCk7XFxuICB9XFxuXFxuXFxuICBmdW5jdGlvbiBvbmNsb3NlKCkge1xcbiAgICBpZiAoZGlkT25FbmQpIHJldHVybjtcXG4gICAgZGlkT25FbmQgPSB0cnVlO1xcblxcbiAgICBpZiAodHlwZW9mIGRlc3QuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgZGVzdC5kZXN0cm95KCk7XFxuICB9XFxuXFxuICAvLyBkb24ndCBsZWF2ZSBkYW5nbGluZyBwaXBlcyB3aGVuIHRoZXJlIGFyZSBlcnJvcnMuXFxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XFxuICAgIGNsZWFudXAoKTtcXG4gICAgaWYgKEVFLmxpc3RlbmVyQ291bnQodGhpcywgJ2Vycm9yJykgPT09IDApIHtcXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkIHN0cmVhbSBlcnJvciBpbiBwaXBlLlxcbiAgICB9XFxuICB9XFxuXFxuICBzb3VyY2Uub24oJ2Vycm9yJywgb25lcnJvcik7XFxuICBkZXN0Lm9uKCdlcnJvcicsIG9uZXJyb3IpO1xcblxcbiAgLy8gcmVtb3ZlIGFsbCB0aGUgZXZlbnQgbGlzdGVuZXJzIHRoYXQgd2VyZSBhZGRlZC5cXG4gIGZ1bmN0aW9uIGNsZWFudXAoKSB7XFxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XFxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2RyYWluJywgb25kcmFpbik7XFxuXFxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xcbiAgICBzb3VyY2UucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XFxuXFxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcXG5cXG4gICAgc291cmNlLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBjbGVhbnVwKTtcXG4gICAgc291cmNlLnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIGNsZWFudXApO1xcblxcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIGNsZWFudXApO1xcbiAgfVxcblxcbiAgc291cmNlLm9uKCdlbmQnLCBjbGVhbnVwKTtcXG4gIHNvdXJjZS5vbignY2xvc2UnLCBjbGVhbnVwKTtcXG5cXG4gIGRlc3Qub24oJ2Nsb3NlJywgY2xlYW51cCk7XFxuXFxuICBkZXN0LmVtaXQoJ3BpcGUnLCBzb3VyY2UpO1xcblxcbiAgLy8gQWxsb3cgZm9yIHVuaXgtbGlrZSB1c2FnZTogQS5waXBlKEIpLnBpcGUoQylcXG4gIHJldHVybiBkZXN0O1xcbn07XFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzlwYm1SbGVDNXFjejgxWWpWaklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRXNVMEZCVXl4dFFrRkJUeXhEUVVGRExDdERRVUZSTzBGQlEzcENMR1ZCUVdVc2JVSkJRVThzUTBGQlF5dzJSRUZCVlRzN1FVRkZha003UVVGRFFTeHJRa0ZCYTBJc2JVSkJRVThzUTBGQlF5eDFSa0ZCTmtJN1FVRkRka1FzYTBKQlFXdENMRzFDUVVGUExFTkJRVU1zZFVaQlFUWkNPMEZCUTNaRUxHZENRVUZuUWl4dFFrRkJUeXhEUVVGRExHMUdRVUV5UWp0QlFVTnVSQ3h0UWtGQmJVSXNiVUpCUVU4c1EwRkJReXhwUmtGQk9FSTdRVUZEZWtRc2NVSkJRWEZDTEcxQ1FVRlBMRU5CUVVNc2NVWkJRV2RET3p0QlFVVTNSRHRCUVVOQk96czdPMEZCU1VFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3pzN1FVRkhRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEdWQlFXVTdRVUZEWmp0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCT3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3UVVGRFFTSXNJbVpwYkdVaU9pSXVMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5cGJtUmxlQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaTh2SUVOdmNIbHlhV2RvZENCS2IzbGxiblFzSUVsdVl5NGdZVzVrSUc5MGFHVnlJRTV2WkdVZ1kyOXVkSEpwWW5WMGIzSnpMbHh1THk5Y2JpOHZJRkJsY20xcGMzTnBiMjRnYVhNZ2FHVnlaV0o1SUdkeVlXNTBaV1FzSUdaeVpXVWdiMllnWTJoaGNtZGxMQ0IwYnlCaGJua2djR1Z5YzI5dUlHOWlkR0ZwYm1sdVp5QmhYRzR2THlCamIzQjVJRzltSUhSb2FYTWdjMjltZEhkaGNtVWdZVzVrSUdGemMyOWphV0YwWldRZ1pHOWpkVzFsYm5SaGRHbHZiaUJtYVd4bGN5QW9kR2hsWEc0dkx5QmNJbE52Wm5SM1lYSmxYQ0lwTENCMGJ5QmtaV0ZzSUdsdUlIUm9aU0JUYjJaMGQyRnlaU0IzYVhSb2IzVjBJSEpsYzNSeWFXTjBhVzl1TENCcGJtTnNkV1JwYm1kY2JpOHZJSGRwZEdodmRYUWdiR2x0YVhSaGRHbHZiaUIwYUdVZ2NtbG5hSFJ6SUhSdklIVnpaU3dnWTI5d2VTd2diVzlrYVdaNUxDQnRaWEpuWlN3Z2NIVmliR2x6YUN4Y2JpOHZJR1JwYzNSeWFXSjFkR1VzSUhOMVlteHBZMlZ1YzJVc0lHRnVaQzl2Y2lCelpXeHNJR052Y0dsbGN5QnZaaUIwYUdVZ1UyOW1kSGRoY21Vc0lHRnVaQ0IwYnlCd1pYSnRhWFJjYmk4dklIQmxjbk52Ym5NZ2RHOGdkMmh2YlNCMGFHVWdVMjltZEhkaGNtVWdhWE1nWm5WeWJtbHphR1ZrSUhSdklHUnZJSE52TENCemRXSnFaV04wSUhSdklIUm9aVnh1THk4Z1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTTZYRzR2TDF4dUx5OGdWR2hsSUdGaWIzWmxJR052Y0hseWFXZG9kQ0J1YjNScFkyVWdZVzVrSUhSb2FYTWdjR1Z5YldsemMybHZiaUJ1YjNScFkyVWdjMmhoYkd3Z1ltVWdhVzVqYkhWa1pXUmNiaTh2SUdsdUlHRnNiQ0JqYjNCcFpYTWdiM0lnYzNWaWMzUmhiblJwWVd3Z2NHOXlkR2x2Ym5NZ2IyWWdkR2hsSUZOdlpuUjNZWEpsTGx4dUx5OWNiaTh2SUZSSVJTQlRUMFpVVjBGU1JTQkpVeUJRVWs5V1NVUkZSQ0JjSWtGVElFbFRYQ0lzSUZkSlZFaFBWVlFnVjBGU1VrRk9WRmtnVDBZZ1FVNVpJRXRKVGtRc0lFVllVRkpGVTFOY2JpOHZJRTlTSUVsTlVFeEpSVVFzSUVsT1EweFZSRWxPUnlCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4Z1ZFaEZJRmRCVWxKQlRsUkpSVk1nVDBaY2JpOHZJRTFGVWtOSVFVNVVRVUpKVEVsVVdTd2dSa2xVVGtWVFV5QkdUMUlnUVNCUVFWSlVTVU5WVEVGU0lGQlZVbEJQVTBVZ1FVNUVJRTVQVGtsT1JsSkpUa2RGVFVWT1ZDNGdTVTVjYmk4dklFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkJWVlJJVDFKVElFOVNJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUpGSUV4SlFVSk1SU0JHVDFJZ1FVNVpJRU5NUVVsTkxGeHVMeThnUkVGTlFVZEZVeUJQVWlCUFZFaEZVaUJNU1VGQ1NVeEpWRmtzSUZkSVJWUklSVklnU1U0Z1FVNGdRVU5VU1U5T0lFOUdJRU5QVGxSU1FVTlVMQ0JVVDFKVUlFOVNYRzR2THlCUFZFaEZVbGRKVTBVc0lFRlNTVk5KVGtjZ1JsSlBUU3dnVDFWVUlFOUdJRTlTSUVsT0lFTlBUazVGUTFSSlQwNGdWMGxVU0NCVVNFVWdVMDlHVkZkQlVrVWdUMUlnVkVoRlhHNHZMeUJWVTBVZ1QxSWdUMVJJUlZJZ1JFVkJURWxPUjFNZ1NVNGdWRWhGSUZOUFJsUlhRVkpGTGx4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGTjBjbVZoYlR0Y2JseHVkbUZ5SUVWRklEMGdjbVZ4ZFdseVpTZ25aWFpsYm5Sekp5a3VSWFpsYm5SRmJXbDBkR1Z5TzF4dWRtRnlJR2x1YUdWeWFYUnpJRDBnY21WeGRXbHlaU2duYVc1b1pYSnBkSE1uS1R0Y2JseHVhVzVvWlhKcGRITW9VM1J5WldGdExDQkZSU2s3WEc1VGRISmxZVzB1VW1WaFpHRmliR1VnUFNCeVpYRjFhWEpsS0NkeVpXRmtZV0pzWlMxemRISmxZVzB2Y21WaFpHRmliR1V1YW5NbktUdGNibE4wY21WaGJTNVhjbWwwWVdKc1pTQTlJSEpsY1hWcGNtVW9KM0psWVdSaFlteGxMWE4wY21WaGJTOTNjbWwwWVdKc1pTNXFjeWNwTzF4dVUzUnlaV0Z0TGtSMWNHeGxlQ0E5SUhKbGNYVnBjbVVvSjNKbFlXUmhZbXhsTFhOMGNtVmhiUzlrZFhCc1pYZ3Vhbk1uS1R0Y2JsTjBjbVZoYlM1VWNtRnVjMlp2Y20wZ1BTQnlaWEYxYVhKbEtDZHlaV0ZrWVdKc1pTMXpkSEpsWVcwdmRISmhibk5tYjNKdExtcHpKeWs3WEc1VGRISmxZVzB1VUdGemMxUm9jbTkxWjJnZ1BTQnlaWEYxYVhKbEtDZHlaV0ZrWVdKc1pTMXpkSEpsWVcwdmNHRnpjM1JvY205MVoyZ3Vhbk1uS1R0Y2JseHVMeThnUW1GamEzZGhjbVJ6TFdOdmJYQmhkQ0IzYVhSb0lHNXZaR1VnTUM0MExuaGNibE4wY21WaGJTNVRkSEpsWVcwZ1BTQlRkSEpsWVcwN1hHNWNibHh1WEc0dkx5QnZiR1F0YzNSNWJHVWdjM1J5WldGdGN5NGdJRTV2ZEdVZ2RHaGhkQ0IwYUdVZ2NHbHdaU0J0WlhSb2IyUWdLSFJvWlNCdmJteDVJSEpsYkdWMllXNTBYRzR2THlCd1lYSjBJRzltSUhSb2FYTWdZMnhoYzNNcElHbHpJRzkyWlhKeWFXUmtaVzRnYVc0Z2RHaGxJRkpsWVdSaFlteGxJR05zWVhOekxseHVYRzVtZFc1amRHbHZiaUJUZEhKbFlXMG9LU0I3WEc0Z0lFVkZMbU5oYkd3b2RHaHBjeWs3WEc1OVhHNWNibE4wY21WaGJTNXdjbTkwYjNSNWNHVXVjR2x3WlNBOUlHWjFibU4wYVc5dUtHUmxjM1FzSUc5d2RHbHZibk1wSUh0Y2JpQWdkbUZ5SUhOdmRYSmpaU0E5SUhSb2FYTTdYRzVjYmlBZ1puVnVZM1JwYjI0Z2IyNWtZWFJoS0dOb2RXNXJLU0I3WEc0Z0lDQWdhV1lnS0dSbGMzUXVkM0pwZEdGaWJHVXBJSHRjYmlBZ0lDQWdJR2xtSUNobVlXeHpaU0E5UFQwZ1pHVnpkQzUzY21sMFpTaGphSFZ1YXlrZ0ppWWdjMjkxY21ObExuQmhkWE5sS1NCN1hHNGdJQ0FnSUNBZ0lITnZkWEpqWlM1d1lYVnpaU2dwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhOdmRYSmpaUzV2YmlnblpHRjBZU2NzSUc5dVpHRjBZU2s3WEc1Y2JpQWdablZ1WTNScGIyNGdiMjVrY21GcGJpZ3BJSHRjYmlBZ0lDQnBaaUFvYzI5MWNtTmxMbkpsWVdSaFlteGxJQ1ltSUhOdmRYSmpaUzV5WlhOMWJXVXBJSHRjYmlBZ0lDQWdJSE52ZFhKalpTNXlaWE4xYldVb0tUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQmtaWE4wTG05dUtDZGtjbUZwYmljc0lHOXVaSEpoYVc0cE8xeHVYRzRnSUM4dklFbG1JSFJvWlNBblpXNWtKeUJ2Y0hScGIyNGdhWE1nYm05MElITjFjSEJzYVdWa0xDQmtaWE4wTG1WdVpDZ3BJSGRwYkd3Z1ltVWdZMkZzYkdWa0lIZG9aVzVjYmlBZ0x5OGdjMjkxY21ObElHZGxkSE1nZEdobElDZGxibVFuSUc5eUlDZGpiRzl6WlNjZ1pYWmxiblJ6TGlBZ1QyNXNlU0JrWlhOMExtVnVaQ2dwSUc5dVkyVXVYRzRnSUdsbUlDZ2haR1Z6ZEM1ZmFYTlRkR1JwYnlBbUppQW9JVzl3ZEdsdmJuTWdmSHdnYjNCMGFXOXVjeTVsYm1RZ0lUMDlJR1poYkhObEtTa2dlMXh1SUNBZ0lITnZkWEpqWlM1dmJpZ25aVzVrSnl3Z2IyNWxibVFwTzF4dUlDQWdJSE52ZFhKalpTNXZiaWduWTJ4dmMyVW5MQ0J2Ym1Oc2IzTmxLVHRjYmlBZ2ZWeHVYRzRnSUhaaGNpQmthV1JQYmtWdVpDQTlJR1poYkhObE8xeHVJQ0JtZFc1amRHbHZiaUJ2Ym1WdVpDZ3BJSHRjYmlBZ0lDQnBaaUFvWkdsa1QyNUZibVFwSUhKbGRIVnlianRjYmlBZ0lDQmthV1JQYmtWdVpDQTlJSFJ5ZFdVN1hHNWNiaUFnSUNCa1pYTjBMbVZ1WkNncE8xeHVJQ0I5WEc1Y2JseHVJQ0JtZFc1amRHbHZiaUJ2Ym1Oc2IzTmxLQ2tnZTF4dUlDQWdJR2xtSUNoa2FXUlBia1Z1WkNrZ2NtVjBkWEp1TzF4dUlDQWdJR1JwWkU5dVJXNWtJRDBnZEhKMVpUdGNibHh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdaR1Z6ZEM1a1pYTjBjbTk1SUQwOVBTQW5ablZ1WTNScGIyNG5LU0JrWlhOMExtUmxjM1J5YjNrb0tUdGNiaUFnZlZ4dVhHNGdJQzh2SUdSdmJpZDBJR3hsWVhabElHUmhibWRzYVc1bklIQnBjR1Z6SUhkb1pXNGdkR2hsY21VZ1lYSmxJR1Z5Y205eWN5NWNiaUFnWm5WdVkzUnBiMjRnYjI1bGNuSnZjaWhsY2lrZ2UxeHVJQ0FnSUdOc1pXRnVkWEFvS1R0Y2JpQWdJQ0JwWmlBb1JVVXViR2x6ZEdWdVpYSkRiM1Z1ZENoMGFHbHpMQ0FuWlhKeWIzSW5LU0E5UFQwZ01Da2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ1pYSTdJQzh2SUZWdWFHRnVaR3hsWkNCemRISmxZVzBnWlhKeWIzSWdhVzRnY0dsd1pTNWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnpiM1Z5WTJVdWIyNG9KMlZ5Y205eUp5d2diMjVsY25KdmNpazdYRzRnSUdSbGMzUXViMjRvSjJWeWNtOXlKeXdnYjI1bGNuSnZjaWs3WEc1Y2JpQWdMeThnY21WdGIzWmxJR0ZzYkNCMGFHVWdaWFpsYm5RZ2JHbHpkR1Z1WlhKeklIUm9ZWFFnZDJWeVpTQmhaR1JsWkM1Y2JpQWdablZ1WTNScGIyNGdZMnhsWVc1MWNDZ3BJSHRjYmlBZ0lDQnpiM1Z5WTJVdWNtVnRiM1psVEdsemRHVnVaWElvSjJSaGRHRW5MQ0J2Ym1SaGRHRXBPMXh1SUNBZ0lHUmxjM1F1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMlJ5WVdsdUp5d2diMjVrY21GcGJpazdYRzVjYmlBZ0lDQnpiM1Z5WTJVdWNtVnRiM1psVEdsemRHVnVaWElvSjJWdVpDY3NJRzl1Wlc1a0tUdGNiaUFnSUNCemIzVnlZMlV1Y21WdGIzWmxUR2x6ZEdWdVpYSW9KMk5zYjNObEp5d2diMjVqYkc5elpTazdYRzVjYmlBZ0lDQnpiM1Z5WTJVdWNtVnRiM1psVEdsemRHVnVaWElvSjJWeWNtOXlKeXdnYjI1bGNuSnZjaWs3WEc0Z0lDQWdaR1Z6ZEM1eVpXMXZkbVZNYVhOMFpXNWxjaWduWlhKeWIzSW5MQ0J2Ym1WeWNtOXlLVHRjYmx4dUlDQWdJSE52ZFhKalpTNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblpXNWtKeXdnWTJ4bFlXNTFjQ2s3WEc0Z0lDQWdjMjkxY21ObExuSmxiVzkyWlV4cGMzUmxibVZ5S0NkamJHOXpaU2NzSUdOc1pXRnVkWEFwTzF4dVhHNGdJQ0FnWkdWemRDNXlaVzF2ZG1WTWFYTjBaVzVsY2lnblkyeHZjMlVuTENCamJHVmhiblZ3S1R0Y2JpQWdmVnh1WEc0Z0lITnZkWEpqWlM1dmJpZ25aVzVrSnl3Z1kyeGxZVzUxY0NrN1hHNGdJSE52ZFhKalpTNXZiaWduWTJ4dmMyVW5MQ0JqYkdWaGJuVndLVHRjYmx4dUlDQmtaWE4wTG05dUtDZGpiRzl6WlNjc0lHTnNaV0Z1ZFhBcE8xeHVYRzRnSUdSbGMzUXVaVzFwZENnbmNHbHdaU2NzSUhOdmRYSmpaU2s3WEc1Y2JpQWdMeThnUVd4c2IzY2dabTl5SUhWdWFYZ3RiR2xyWlNCMWMyRm5aVG9nUVM1d2FYQmxLRUlwTG5CcGNHVW9ReWxjYmlBZ2NtVjBkWEp1SUdSbGMzUTdYRzU5TzF4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc3RyaW5nX2RlY29kZXIvbGliL3N0cmluZ19kZWNvZGVyLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cXG4vL1xcbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXFxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxcbi8vIFxcXCJTb2Z0d2FyZVxcXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxcbi8vXFxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cXG4vL1xcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcXFwiQVMgSVNcXFwiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXFxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1JcXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXFxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cXG5cXG5cXG5cXG4vKjxyZXBsYWNlbWVudD4qL1xcblxcbnZhciBCdWZmZXIgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzYWZlLWJ1ZmZlciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanNcXFwiKS5CdWZmZXI7XFxuLyo8L3JlcGxhY2VtZW50PiovXFxuXFxudmFyIGlzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZyB8fCBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcXG4gIGVuY29kaW5nID0gJycgKyBlbmNvZGluZztcXG4gIHN3aXRjaCAoZW5jb2RpbmcgJiYgZW5jb2RpbmcudG9Mb3dlckNhc2UoKSkge1xcbiAgICBjYXNlICdoZXgnOmNhc2UgJ3V0ZjgnOmNhc2UgJ3V0Zi04JzpjYXNlICdhc2NpaSc6Y2FzZSAnYmluYXJ5JzpjYXNlICdiYXNlNjQnOmNhc2UgJ3VjczInOmNhc2UgJ3Vjcy0yJzpjYXNlICd1dGYxNmxlJzpjYXNlICd1dGYtMTZsZSc6Y2FzZSAncmF3JzpcXG4gICAgICByZXR1cm4gdHJ1ZTtcXG4gICAgZGVmYXVsdDpcXG4gICAgICByZXR1cm4gZmFsc2U7XFxuICB9XFxufTtcXG5cXG5mdW5jdGlvbiBfbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XFxuICBpZiAoIWVuYykgcmV0dXJuICd1dGY4JztcXG4gIHZhciByZXRyaWVkO1xcbiAgd2hpbGUgKHRydWUpIHtcXG4gICAgc3dpdGNoIChlbmMpIHtcXG4gICAgICBjYXNlICd1dGY4JzpcXG4gICAgICBjYXNlICd1dGYtOCc6XFxuICAgICAgICByZXR1cm4gJ3V0ZjgnO1xcbiAgICAgIGNhc2UgJ3VjczInOlxcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcXG4gICAgICBjYXNlICd1dGYxNmxlJzpcXG4gICAgICBjYXNlICd1dGYtMTZsZSc6XFxuICAgICAgICByZXR1cm4gJ3V0ZjE2bGUnO1xcbiAgICAgIGNhc2UgJ2xhdGluMSc6XFxuICAgICAgY2FzZSAnYmluYXJ5JzpcXG4gICAgICAgIHJldHVybiAnbGF0aW4xJztcXG4gICAgICBjYXNlICdiYXNlNjQnOlxcbiAgICAgIGNhc2UgJ2FzY2lpJzpcXG4gICAgICBjYXNlICdoZXgnOlxcbiAgICAgICAgcmV0dXJuIGVuYztcXG4gICAgICBkZWZhdWx0OlxcbiAgICAgICAgaWYgKHJldHJpZWQpIHJldHVybjsgLy8gdW5kZWZpbmVkXFxuICAgICAgICBlbmMgPSAoJycgKyBlbmMpLnRvTG93ZXJDYXNlKCk7XFxuICAgICAgICByZXRyaWVkID0gdHJ1ZTtcXG4gICAgfVxcbiAgfVxcbn07XFxuXFxuLy8gRG8gbm90IGNhY2hlIGBCdWZmZXIuaXNFbmNvZGluZ2Agd2hlbiBjaGVja2luZyBlbmNvZGluZyBuYW1lcyBhcyBzb21lXFxuLy8gbW9kdWxlcyBtb25rZXktcGF0Y2ggaXQgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGVuY29kaW5nc1xcbmZ1bmN0aW9uIG5vcm1hbGl6ZUVuY29kaW5nKGVuYykge1xcbiAgdmFyIG5lbmMgPSBfbm9ybWFsaXplRW5jb2RpbmcoZW5jKTtcXG4gIGlmICh0eXBlb2YgbmVuYyAhPT0gJ3N0cmluZycgJiYgKEJ1ZmZlci5pc0VuY29kaW5nID09PSBpc0VuY29kaW5nIHx8ICFpc0VuY29kaW5nKGVuYykpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmMpO1xcbiAgcmV0dXJuIG5lbmMgfHwgZW5jO1xcbn1cXG5cXG4vLyBTdHJpbmdEZWNvZGVyIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgZWZmaWNpZW50bHkgc3BsaXR0aW5nIGEgc2VyaWVzIG9mXFxuLy8gYnVmZmVycyBpbnRvIGEgc2VyaWVzIG9mIEpTIHN0cmluZ3Mgd2l0aG91dCBicmVha2luZyBhcGFydCBtdWx0aS1ieXRlXFxuLy8gY2hhcmFjdGVycy5cXG5leHBvcnRzLlN0cmluZ0RlY29kZXIgPSBTdHJpbmdEZWNvZGVyO1xcbmZ1bmN0aW9uIFN0cmluZ0RlY29kZXIoZW5jb2RpbmcpIHtcXG4gIHRoaXMuZW5jb2RpbmcgPSBub3JtYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XFxuICB2YXIgbmI7XFxuICBzd2l0Y2ggKHRoaXMuZW5jb2RpbmcpIHtcXG4gICAgY2FzZSAndXRmMTZsZSc6XFxuICAgICAgdGhpcy50ZXh0ID0gdXRmMTZUZXh0O1xcbiAgICAgIHRoaXMuZW5kID0gdXRmMTZFbmQ7XFxuICAgICAgbmIgPSA0O1xcbiAgICAgIGJyZWFrO1xcbiAgICBjYXNlICd1dGY4JzpcXG4gICAgICB0aGlzLmZpbGxMYXN0ID0gdXRmOEZpbGxMYXN0O1xcbiAgICAgIG5iID0gNDtcXG4gICAgICBicmVhaztcXG4gICAgY2FzZSAnYmFzZTY0JzpcXG4gICAgICB0aGlzLnRleHQgPSBiYXNlNjRUZXh0O1xcbiAgICAgIHRoaXMuZW5kID0gYmFzZTY0RW5kO1xcbiAgICAgIG5iID0gMztcXG4gICAgICBicmVhaztcXG4gICAgZGVmYXVsdDpcXG4gICAgICB0aGlzLndyaXRlID0gc2ltcGxlV3JpdGU7XFxuICAgICAgdGhpcy5lbmQgPSBzaW1wbGVFbmQ7XFxuICAgICAgcmV0dXJuO1xcbiAgfVxcbiAgdGhpcy5sYXN0TmVlZCA9IDA7XFxuICB0aGlzLmxhc3RUb3RhbCA9IDA7XFxuICB0aGlzLmxhc3RDaGFyID0gQnVmZmVyLmFsbG9jVW5zYWZlKG5iKTtcXG59XFxuXFxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYnVmKSB7XFxuICBpZiAoYnVmLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xcbiAgdmFyIHI7XFxuICB2YXIgaTtcXG4gIGlmICh0aGlzLmxhc3ROZWVkKSB7XFxuICAgIHIgPSB0aGlzLmZpbGxMYXN0KGJ1Zik7XFxuICAgIGlmIChyID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcXG4gICAgaSA9IHRoaXMubGFzdE5lZWQ7XFxuICAgIHRoaXMubGFzdE5lZWQgPSAwO1xcbiAgfSBlbHNlIHtcXG4gICAgaSA9IDA7XFxuICB9XFxuICBpZiAoaSA8IGJ1Zi5sZW5ndGgpIHJldHVybiByID8gciArIHRoaXMudGV4dChidWYsIGkpIDogdGhpcy50ZXh0KGJ1ZiwgaSk7XFxuICByZXR1cm4gciB8fCAnJztcXG59O1xcblxcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLmVuZCA9IHV0ZjhFbmQ7XFxuXFxuLy8gUmV0dXJucyBvbmx5IGNvbXBsZXRlIGNoYXJhY3RlcnMgaW4gYSBCdWZmZXJcXG5TdHJpbmdEZWNvZGVyLnByb3RvdHlwZS50ZXh0ID0gdXRmOFRleHQ7XFxuXFxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBwYXJ0aWFsIG5vbi1VVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlclxcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLmZpbGxMYXN0ID0gZnVuY3Rpb24gKGJ1Zikge1xcbiAgaWYgKHRoaXMubGFzdE5lZWQgPD0gYnVmLmxlbmd0aCkge1xcbiAgICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIHRoaXMubGFzdE5lZWQpO1xcbiAgICByZXR1cm4gdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLCAwLCB0aGlzLmxhc3RUb3RhbCk7XFxuICB9XFxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIGJ1Zi5sZW5ndGgpO1xcbiAgdGhpcy5sYXN0TmVlZCAtPSBidWYubGVuZ3RoO1xcbn07XFxuXFxuLy8gQ2hlY2tzIHRoZSB0eXBlIG9mIGEgVVRGLTggYnl0ZSwgd2hldGhlciBpdCdzIEFTQ0lJLCBhIGxlYWRpbmcgYnl0ZSwgb3IgYVxcbi8vIGNvbnRpbnVhdGlvbiBieXRlLiBJZiBhbiBpbnZhbGlkIGJ5dGUgaXMgZGV0ZWN0ZWQsIC0yIGlzIHJldHVybmVkLlxcbmZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUoYnl0ZSkge1xcbiAgaWYgKGJ5dGUgPD0gMHg3RikgcmV0dXJuIDA7ZWxzZSBpZiAoYnl0ZSA+PiA1ID09PSAweDA2KSByZXR1cm4gMjtlbHNlIGlmIChieXRlID4+IDQgPT09IDB4MEUpIHJldHVybiAzO2Vsc2UgaWYgKGJ5dGUgPj4gMyA9PT0gMHgxRSkgcmV0dXJuIDQ7XFxuICByZXR1cm4gYnl0ZSA+PiA2ID09PSAweDAyID8gLTEgOiAtMjtcXG59XFxuXFxuLy8gQ2hlY2tzIGF0IG1vc3QgMyBieXRlcyBhdCB0aGUgZW5kIG9mIGEgQnVmZmVyIGluIG9yZGVyIHRvIGRldGVjdCBhblxcbi8vIGluY29tcGxldGUgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIuIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKDIsIDMsIG9yIDQpXFxuLy8gbmVlZGVkIHRvIGNvbXBsZXRlIHRoZSBVVEYtOCBjaGFyYWN0ZXIgKGlmIGFwcGxpY2FibGUpIGFyZSByZXR1cm5lZC5cXG5mdW5jdGlvbiB1dGY4Q2hlY2tJbmNvbXBsZXRlKHNlbGYsIGJ1ZiwgaSkge1xcbiAgdmFyIGogPSBidWYubGVuZ3RoIC0gMTtcXG4gIGlmIChqIDwgaSkgcmV0dXJuIDA7XFxuICB2YXIgbmIgPSB1dGY4Q2hlY2tCeXRlKGJ1ZltqXSk7XFxuICBpZiAobmIgPj0gMCkge1xcbiAgICBpZiAobmIgPiAwKSBzZWxmLmxhc3ROZWVkID0gbmIgLSAxO1xcbiAgICByZXR1cm4gbmI7XFxuICB9XFxuICBpZiAoLS1qIDwgaSB8fCBuYiA9PT0gLTIpIHJldHVybiAwO1xcbiAgbmIgPSB1dGY4Q2hlY2tCeXRlKGJ1ZltqXSk7XFxuICBpZiAobmIgPj0gMCkge1xcbiAgICBpZiAobmIgPiAwKSBzZWxmLmxhc3ROZWVkID0gbmIgLSAyO1xcbiAgICByZXR1cm4gbmI7XFxuICB9XFxuICBpZiAoLS1qIDwgaSB8fCBuYiA9PT0gLTIpIHJldHVybiAwO1xcbiAgbmIgPSB1dGY4Q2hlY2tCeXRlKGJ1ZltqXSk7XFxuICBpZiAobmIgPj0gMCkge1xcbiAgICBpZiAobmIgPiAwKSB7XFxuICAgICAgaWYgKG5iID09PSAyKSBuYiA9IDA7ZWxzZSBzZWxmLmxhc3ROZWVkID0gbmIgLSAzO1xcbiAgICB9XFxuICAgIHJldHVybiBuYjtcXG4gIH1cXG4gIHJldHVybiAwO1xcbn1cXG5cXG4vLyBWYWxpZGF0ZXMgYXMgbWFueSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgYXNcXG4vLyBuZWVkZWQgb3IgYXJlIGF2YWlsYWJsZS4gSWYgd2Ugc2VlIGEgbm9uLWNvbnRpbnVhdGlvbiBieXRlIHdoZXJlIHdlIGV4cGVjdFxcbi8vIG9uZSwgd2UgXFxcInJlcGxhY2VcXFwiIHRoZSB2YWxpZGF0ZWQgY29udGludWF0aW9uIGJ5dGVzIHdlJ3ZlIHNlZW4gc28gZmFyIHdpdGhcXG4vLyBhIHNpbmdsZSBVVEYtOCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgKCdcXFxcdWZmZmQnKSwgdG8gbWF0Y2ggdjgncyBVVEYtOCBkZWNvZGluZ1xcbi8vIGJlaGF2aW9yLiBUaGUgY29udGludWF0aW9uIGJ5dGUgY2hlY2sgaXMgaW5jbHVkZWQgdGhyZWUgdGltZXMgaW4gdGhlIGNhc2VcXG4vLyB3aGVyZSBhbGwgb2YgdGhlIGNvbnRpbnVhdGlvbiBieXRlcyBmb3IgYSBjaGFyYWN0ZXIgZXhpc3QgaW4gdGhlIHNhbWUgYnVmZmVyLlxcbi8vIEl0IGlzIGFsc28gZG9uZSB0aGlzIHdheSBhcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBpbmNyZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGFcXG4vLyBsb29wLlxcbmZ1bmN0aW9uIHV0ZjhDaGVja0V4dHJhQnl0ZXMoc2VsZiwgYnVmLCBwKSB7XFxuICBpZiAoKGJ1ZlswXSAmIDB4QzApICE9PSAweDgwKSB7XFxuICAgIHNlbGYubGFzdE5lZWQgPSAwO1xcbiAgICByZXR1cm4gJ1xcXFx1ZmZmZCc7XFxuICB9XFxuICBpZiAoc2VsZi5sYXN0TmVlZCA+IDEgJiYgYnVmLmxlbmd0aCA+IDEpIHtcXG4gICAgaWYgKChidWZbMV0gJiAweEMwKSAhPT0gMHg4MCkge1xcbiAgICAgIHNlbGYubGFzdE5lZWQgPSAxO1xcbiAgICAgIHJldHVybiAnXFxcXHVmZmZkJztcXG4gICAgfVxcbiAgICBpZiAoc2VsZi5sYXN0TmVlZCA+IDIgJiYgYnVmLmxlbmd0aCA+IDIpIHtcXG4gICAgICBpZiAoKGJ1ZlsyXSAmIDB4QzApICE9PSAweDgwKSB7XFxuICAgICAgICBzZWxmLmxhc3ROZWVkID0gMjtcXG4gICAgICAgIHJldHVybiAnXFxcXHVmZmZkJztcXG4gICAgICB9XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBtdWx0aS1ieXRlIFVURi04IGNoYXJhY3RlciB1c2luZyBieXRlcyBmcm9tIGEgQnVmZmVyLlxcbmZ1bmN0aW9uIHV0ZjhGaWxsTGFzdChidWYpIHtcXG4gIHZhciBwID0gdGhpcy5sYXN0VG90YWwgLSB0aGlzLmxhc3ROZWVkO1xcbiAgdmFyIHIgPSB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsIGJ1ZiwgcCk7XFxuICBpZiAociAhPT0gdW5kZWZpbmVkKSByZXR1cm4gcjtcXG4gIGlmICh0aGlzLmxhc3ROZWVkIDw9IGJ1Zi5sZW5ndGgpIHtcXG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgcCwgMCwgdGhpcy5sYXN0TmVlZCk7XFxuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcXG4gIH1cXG4gIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIGJ1Zi5sZW5ndGgpO1xcbiAgdGhpcy5sYXN0TmVlZCAtPSBidWYubGVuZ3RoO1xcbn1cXG5cXG4vLyBSZXR1cm5zIGFsbCBjb21wbGV0ZSBVVEYtOCBjaGFyYWN0ZXJzIGluIGEgQnVmZmVyLiBJZiB0aGUgQnVmZmVyIGVuZGVkIG9uIGFcXG4vLyBwYXJ0aWFsIGNoYXJhY3RlciwgdGhlIGNoYXJhY3RlcidzIGJ5dGVzIGFyZSBidWZmZXJlZCB1bnRpbCB0aGUgcmVxdWlyZWRcXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXJlIGF2YWlsYWJsZS5cXG5mdW5jdGlvbiB1dGY4VGV4dChidWYsIGkpIHtcXG4gIHZhciB0b3RhbCA9IHV0ZjhDaGVja0luY29tcGxldGUodGhpcywgYnVmLCBpKTtcXG4gIGlmICghdGhpcy5sYXN0TmVlZCkgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGkpO1xcbiAgdGhpcy5sYXN0VG90YWwgPSB0b3RhbDtcXG4gIHZhciBlbmQgPSBidWYubGVuZ3RoIC0gKHRvdGFsIC0gdGhpcy5sYXN0TmVlZCk7XFxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCAwLCBlbmQpO1xcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGksIGVuZCk7XFxufVxcblxcbi8vIEZvciBVVEYtOCwgYSByZXBsYWNlbWVudCBjaGFyYWN0ZXIgaXMgYWRkZWQgd2hlbiBlbmRpbmcgb24gYSBwYXJ0aWFsXFxuLy8gY2hhcmFjdGVyLlxcbmZ1bmN0aW9uIHV0ZjhFbmQoYnVmKSB7XFxuICB2YXIgciA9IGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XFxuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyAnXFxcXHVmZmZkJztcXG4gIHJldHVybiByO1xcbn1cXG5cXG4vLyBVVEYtMTZMRSB0eXBpY2FsbHkgbmVlZHMgdHdvIGJ5dGVzIHBlciBjaGFyYWN0ZXIsIGJ1dCBldmVuIGlmIHdlIGhhdmUgYW4gZXZlblxcbi8vIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgZW5kIG9uIGEgbGVhZGluZy9oaWdoXFxuLy8gc3Vycm9nYXRlLiBJbiB0aGF0IGNhc2UsIHdlIG5lZWQgdG8gd2FpdCBmb3IgdGhlIG5leHQgdHdvIGJ5dGVzIGluIG9yZGVyIHRvXFxuLy8gZGVjb2RlIHRoZSBsYXN0IGNoYXJhY3RlciBwcm9wZXJseS5cXG5mdW5jdGlvbiB1dGYxNlRleHQoYnVmLCBpKSB7XFxuICBpZiAoKGJ1Zi5sZW5ndGggLSBpKSAlIDIgPT09IDApIHtcXG4gICAgdmFyIHIgPSBidWYudG9TdHJpbmcoJ3V0ZjE2bGUnLCBpKTtcXG4gICAgaWYgKHIpIHtcXG4gICAgICB2YXIgYyA9IHIuY2hhckNvZGVBdChyLmxlbmd0aCAtIDEpO1xcbiAgICAgIGlmIChjID49IDB4RDgwMCAmJiBjIDw9IDB4REJGRikge1xcbiAgICAgICAgdGhpcy5sYXN0TmVlZCA9IDI7XFxuICAgICAgICB0aGlzLmxhc3RUb3RhbCA9IDQ7XFxuICAgICAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAyXTtcXG4gICAgICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xcbiAgICAgICAgcmV0dXJuIHIuc2xpY2UoMCwgLTEpO1xcbiAgICAgIH1cXG4gICAgfVxcbiAgICByZXR1cm4gcjtcXG4gIH1cXG4gIHRoaXMubGFzdE5lZWQgPSAxO1xcbiAgdGhpcy5sYXN0VG90YWwgPSAyO1xcbiAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMV07XFxuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSwgYnVmLmxlbmd0aCAtIDEpO1xcbn1cXG5cXG4vLyBGb3IgVVRGLTE2TEUgd2UgZG8gbm90IGV4cGxpY2l0bHkgYXBwZW5kIHNwZWNpYWwgcmVwbGFjZW1lbnQgY2hhcmFjdGVycyBpZiB3ZVxcbi8vIGVuZCBvbiBhIHBhcnRpYWwgY2hhcmFjdGVyLCB3ZSBzaW1wbHkgbGV0IHY4IGhhbmRsZSB0aGF0LlxcbmZ1bmN0aW9uIHV0ZjE2RW5kKGJ1Zikge1xcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcXG4gICAgdmFyIGVuZCA9IHRoaXMubGFzdFRvdGFsIC0gdGhpcy5sYXN0TmVlZDtcXG4gICAgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCd1dGYxNmxlJywgMCwgZW5kKTtcXG4gIH1cXG4gIHJldHVybiByO1xcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRUZXh0KGJ1ZiwgaSkge1xcbiAgdmFyIG4gPSAoYnVmLmxlbmd0aCAtIGkpICUgMztcXG4gIGlmIChuID09PSAwKSByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpKTtcXG4gIHRoaXMubGFzdE5lZWQgPSAzIC0gbjtcXG4gIHRoaXMubGFzdFRvdGFsID0gMztcXG4gIGlmIChuID09PSAxKSB7XFxuICAgIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xcbiAgfSBlbHNlIHtcXG4gICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XFxuICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xcbiAgfVxcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygnYmFzZTY0JywgaSwgYnVmLmxlbmd0aCAtIG4pO1xcbn1cXG5cXG5mdW5jdGlvbiBiYXNlNjRFbmQoYnVmKSB7XFxuICB2YXIgciA9IGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XFxuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCdiYXNlNjQnLCAwLCAzIC0gdGhpcy5sYXN0TmVlZCk7XFxuICByZXR1cm4gcjtcXG59XFxuXFxuLy8gUGFzcyBieXRlcyBvbiB0aHJvdWdoIGZvciBzaW5nbGUtYnl0ZSBlbmNvZGluZ3MgKGUuZy4gYXNjaWksIGxhdGluMSwgaGV4KVxcbmZ1bmN0aW9uIHNpbXBsZVdyaXRlKGJ1Zikge1xcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcXG59XFxuXFxuZnVuY3Rpb24gc2ltcGxlRW5kKGJ1Zikge1xcbiAgcmV0dXJuIGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XFxufS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5emRISnBibWRmWkdWamIyUmxjaTlzYVdJdmMzUnlhVzVuWDJSbFkyOWtaWEl1YW5NL1ptUTVZeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWaE96dEJRVVZpT3p0QlFVVkJMR0ZCUVdFc2JVSkJRVThzUTBGQlF5eDNSRUZCWVR0QlFVTnNRenM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc05FSkJRVFJDTzBGQlF6VkNPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNOa0pCUVRaQ0xITkRRVUZ6UXl4elEwRkJjME03UVVGRGVrYzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTd3lRa0ZCTWtJN1FVRkRNMEk3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQkxFZEJRVWM3UVVGRFNEdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzTjBjbWx1WjE5a1pXTnZaR1Z5TDJ4cFlpOXpkSEpwYm1kZlpHVmpiMlJsY2k1cWN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4dklFTnZjSGx5YVdkb2RDQktiM2xsYm5Rc0lFbHVZeTRnWVc1a0lHOTBhR1Z5SUU1dlpHVWdZMjl1ZEhKcFluVjBiM0p6TGx4dUx5OWNiaTh2SUZCbGNtMXBjM05wYjI0Z2FYTWdhR1Z5WldKNUlHZHlZVzUwWldRc0lHWnlaV1VnYjJZZ1kyaGhjbWRsTENCMGJ5QmhibmtnY0dWeWMyOXVJRzlpZEdGcGJtbHVaeUJoWEc0dkx5QmpiM0I1SUc5bUlIUm9hWE1nYzI5bWRIZGhjbVVnWVc1a0lHRnpjMjlqYVdGMFpXUWdaRzlqZFcxbGJuUmhkR2x2YmlCbWFXeGxjeUFvZEdobFhHNHZMeUJjSWxOdlpuUjNZWEpsWENJcExDQjBieUJrWldGc0lHbHVJSFJvWlNCVGIyWjBkMkZ5WlNCM2FYUm9iM1YwSUhKbGMzUnlhV04wYVc5dUxDQnBibU5zZFdScGJtZGNiaTh2SUhkcGRHaHZkWFFnYkdsdGFYUmhkR2x2YmlCMGFHVWdjbWxuYUhSeklIUnZJSFZ6WlN3Z1kyOXdlU3dnYlc5a2FXWjVMQ0J0WlhKblpTd2djSFZpYkdsemFDeGNiaTh2SUdScGMzUnlhV0oxZEdVc0lITjFZbXhwWTJWdWMyVXNJR0Z1WkM5dmNpQnpaV3hzSUdOdmNHbGxjeUJ2WmlCMGFHVWdVMjltZEhkaGNtVXNJR0Z1WkNCMGJ5QndaWEp0YVhSY2JpOHZJSEJsY25OdmJuTWdkRzhnZDJodmJTQjBhR1VnVTI5bWRIZGhjbVVnYVhNZ1puVnlibWx6YUdWa0lIUnZJR1J2SUhOdkxDQnpkV0pxWldOMElIUnZJSFJvWlZ4dUx5OGdabTlzYkc5M2FXNW5JR052Ym1ScGRHbHZibk02WEc0dkwxeHVMeThnVkdobElHRmliM1psSUdOdmNIbHlhV2RvZENCdWIzUnBZMlVnWVc1a0lIUm9hWE1nY0dWeWJXbHpjMmx2YmlCdWIzUnBZMlVnYzJoaGJHd2dZbVVnYVc1amJIVmtaV1JjYmk4dklHbHVJR0ZzYkNCamIzQnBaWE1nYjNJZ2MzVmljM1JoYm5ScFlXd2djRzl5ZEdsdmJuTWdiMllnZEdobElGTnZablIzWVhKbExseHVMeTljYmk4dklGUklSU0JUVDBaVVYwRlNSU0JKVXlCUVVrOVdTVVJGUkNCY0lrRlRJRWxUWENJc0lGZEpWRWhQVlZRZ1YwRlNVa0ZPVkZrZ1QwWWdRVTVaSUV0SlRrUXNJRVZZVUZKRlUxTmNiaTh2SUU5U0lFbE5VRXhKUlVRc0lFbE9RMHhWUkVsT1J5QkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOGdWRWhGSUZkQlVsSkJUbFJKUlZNZ1QwWmNiaTh2SUUxRlVrTklRVTVVUVVKSlRFbFVXU3dnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVTVFSUU1UFRrbE9SbEpKVGtkRlRVVk9WQzRnU1U1Y2JpOHZJRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JCVlZSSVQxSlRJRTlTSUVOUFVGbFNTVWRJVkNCSVQweEVSVkpUSUVKRklFeEpRVUpNUlNCR1QxSWdRVTVaSUVOTVFVbE5MRnh1THk4Z1JFRk5RVWRGVXlCUFVpQlBWRWhGVWlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRVTRnUVVOVVNVOU9JRTlHSUVOUFRsUlNRVU5VTENCVVQxSlVJRTlTWEc0dkx5QlBWRWhGVWxkSlUwVXNJRUZTU1ZOSlRrY2dSbEpQVFN3Z1QxVlVJRTlHSUU5U0lFbE9JRU5QVGs1RlExUkpUMDRnVjBsVVNDQlVTRVVnVTA5R1ZGZEJVa1VnVDFJZ1ZFaEZYRzR2THlCVlUwVWdUMUlnVDFSSVJWSWdSRVZCVEVsT1IxTWdTVTRnVkVoRklGTlBSbFJYUVZKRkxseHVYRzRuZFhObElITjBjbWxqZENjN1hHNWNiaThxUEhKbGNHeGhZMlZ0Wlc1MFBpb3ZYRzVjYm5aaGNpQkNkV1ptWlhJZ1BTQnlaWEYxYVhKbEtDZHpZV1psTFdKMVptWmxjaWNwTGtKMVptWmxjanRjYmk4cVBDOXlaWEJzWVdObGJXVnVkRDRxTDF4dVhHNTJZWElnYVhORmJtTnZaR2x1WnlBOUlFSjFabVpsY2k1cGMwVnVZMjlrYVc1bklIeDhJR1oxYm1OMGFXOXVJQ2hsYm1OdlpHbHVaeWtnZTF4dUlDQmxibU52WkdsdVp5QTlJQ2NuSUNzZ1pXNWpiMlJwYm1jN1hHNGdJSE4zYVhSamFDQW9aVzVqYjJScGJtY2dKaVlnWlc1amIyUnBibWN1ZEc5TWIzZGxja05oYzJVb0tTa2dlMXh1SUNBZ0lHTmhjMlVnSjJobGVDYzZZMkZ6WlNBbmRYUm1PQ2M2WTJGelpTQW5kWFJtTFRnbk9tTmhjMlVnSjJGelkybHBKenBqWVhObElDZGlhVzVoY25rbk9tTmhjMlVnSjJKaGMyVTJOQ2M2WTJGelpTQW5kV056TWljNlkyRnpaU0FuZFdOekxUSW5PbU5oYzJVZ0ozVjBaakUyYkdVbk9tTmhjMlVnSjNWMFppMHhObXhsSnpwallYTmxJQ2R5WVhjbk9seHVJQ0FnSUNBZ2NtVjBkWEp1SUhSeWRXVTdYRzRnSUNBZ1pHVm1ZWFZzZERwY2JpQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUdGNiaUFnZlZ4dWZUdGNibHh1Wm5WdVkzUnBiMjRnWDI1dmNtMWhiR2w2WlVWdVkyOWthVzVuS0dWdVl5a2dlMXh1SUNCcFppQW9JV1Z1WXlrZ2NtVjBkWEp1SUNkMWRHWTRKenRjYmlBZ2RtRnlJSEpsZEhKcFpXUTdYRzRnSUhkb2FXeGxJQ2gwY25WbEtTQjdYRzRnSUNBZ2MzZHBkR05vSUNobGJtTXBJSHRjYmlBZ0lDQWdJR05oYzJVZ0ozVjBaamduT2x4dUlDQWdJQ0FnWTJGelpTQW5kWFJtTFRnbk9seHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0ozVjBaamduTzF4dUlDQWdJQ0FnWTJGelpTQW5kV056TWljNlhHNGdJQ0FnSUNCallYTmxJQ2QxWTNNdE1pYzZYRzRnSUNBZ0lDQmpZWE5sSUNkMWRHWXhObXhsSnpwY2JpQWdJQ0FnSUdOaGMyVWdKM1YwWmkweE5teGxKenBjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJQ2QxZEdZeE5teGxKenRjYmlBZ0lDQWdJR05oYzJVZ0oyeGhkR2x1TVNjNlhHNGdJQ0FnSUNCallYTmxJQ2RpYVc1aGNua25PbHh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMnhoZEdsdU1TYzdYRzRnSUNBZ0lDQmpZWE5sSUNkaVlYTmxOalFuT2x4dUlDQWdJQ0FnWTJGelpTQW5ZWE5qYVdrbk9seHVJQ0FnSUNBZ1kyRnpaU0FuYUdWNEp6cGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHVnVZenRjYmlBZ0lDQWdJR1JsWm1GMWJIUTZYRzRnSUNBZ0lDQWdJR2xtSUNoeVpYUnlhV1ZrS1NCeVpYUjFjbTQ3SUM4dklIVnVaR1ZtYVc1bFpGeHVJQ0FnSUNBZ0lDQmxibU1nUFNBb0p5Y2dLeUJsYm1NcExuUnZURzkzWlhKRFlYTmxLQ2s3WEc0Z0lDQWdJQ0FnSUhKbGRISnBaV1FnUFNCMGNuVmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZUdGNibHh1THk4Z1JHOGdibTkwSUdOaFkyaGxJR0JDZFdabVpYSXVhWE5GYm1OdlpHbHVaMkFnZDJobGJpQmphR1ZqYTJsdVp5QmxibU52WkdsdVp5QnVZVzFsY3lCaGN5QnpiMjFsWEc0dkx5QnRiMlIxYkdWeklHMXZibXRsZVMxd1lYUmphQ0JwZENCMGJ5QnpkWEJ3YjNKMElHRmtaR2wwYVc5dVlXd2daVzVqYjJScGJtZHpYRzVtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVZGYm1OdlpHbHVaeWhsYm1NcElIdGNiaUFnZG1GeUlHNWxibU1nUFNCZmJtOXliV0ZzYVhwbFJXNWpiMlJwYm1jb1pXNWpLVHRjYmlBZ2FXWWdLSFI1Y0dWdlppQnVaVzVqSUNFOVBTQW5jM1J5YVc1bkp5QW1KaUFvUW5WbVptVnlMbWx6Ulc1amIyUnBibWNnUFQwOUlHbHpSVzVqYjJScGJtY2dmSHdnSVdselJXNWpiMlJwYm1jb1pXNWpLU2twSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVlc1cmJtOTNiaUJsYm1OdlpHbHVaem9nSnlBcklHVnVZeWs3WEc0Z0lISmxkSFZ5YmlCdVpXNWpJSHg4SUdWdVl6dGNibjFjYmx4dUx5OGdVM1J5YVc1blJHVmpiMlJsY2lCd2NtOTJhV1JsY3lCaGJpQnBiblJsY21aaFkyVWdabTl5SUdWbVptbGphV1Z1ZEd4NUlITndiR2wwZEdsdVp5QmhJSE5sY21sbGN5QnZabHh1THk4Z1luVm1abVZ5Y3lCcGJuUnZJR0VnYzJWeWFXVnpJRzltSUVwVElITjBjbWx1WjNNZ2QybDBhRzkxZENCaWNtVmhhMmx1WnlCaGNHRnlkQ0J0ZFd4MGFTMWllWFJsWEc0dkx5QmphR0Z5WVdOMFpYSnpMbHh1Wlhod2IzSjBjeTVUZEhKcGJtZEVaV052WkdWeUlEMGdVM1J5YVc1blJHVmpiMlJsY2p0Y2JtWjFibU4wYVc5dUlGTjBjbWx1WjBSbFkyOWtaWElvWlc1amIyUnBibWNwSUh0Y2JpQWdkR2hwY3k1bGJtTnZaR2x1WnlBOUlHNXZjbTFoYkdsNlpVVnVZMjlrYVc1bktHVnVZMjlrYVc1bktUdGNiaUFnZG1GeUlHNWlPMXh1SUNCemQybDBZMmdnS0hSb2FYTXVaVzVqYjJScGJtY3BJSHRjYmlBZ0lDQmpZWE5sSUNkMWRHWXhObXhsSnpwY2JpQWdJQ0FnSUhSb2FYTXVkR1Y0ZENBOUlIVjBaakUyVkdWNGREdGNiaUFnSUNBZ0lIUm9hWE11Wlc1a0lEMGdkWFJtTVRaRmJtUTdYRzRnSUNBZ0lDQnVZaUE5SURRN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQmpZWE5sSUNkMWRHWTRKenBjYmlBZ0lDQWdJSFJvYVhNdVptbHNiRXhoYzNRZ1BTQjFkR1k0Um1sc2JFeGhjM1E3WEc0Z0lDQWdJQ0J1WWlBOUlEUTdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0JqWVhObElDZGlZWE5sTmpRbk9seHVJQ0FnSUNBZ2RHaHBjeTUwWlhoMElEMGdZbUZ6WlRZMFZHVjRkRHRjYmlBZ0lDQWdJSFJvYVhNdVpXNWtJRDBnWW1GelpUWTBSVzVrTzF4dUlDQWdJQ0FnYm1JZ1BTQXpPMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnWkdWbVlYVnNkRHBjYmlBZ0lDQWdJSFJvYVhNdWQzSnBkR1VnUFNCemFXMXdiR1ZYY21sMFpUdGNiaUFnSUNBZ0lIUm9hWE11Wlc1a0lEMGdjMmx0Y0d4bFJXNWtPMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc0Z0lIUm9hWE11YkdGemRFNWxaV1FnUFNBd08xeHVJQ0IwYUdsekxteGhjM1JVYjNSaGJDQTlJREE3WEc0Z0lIUm9hWE11YkdGemRFTm9ZWElnUFNCQ2RXWm1aWEl1WVd4c2IyTlZibk5oWm1Vb2JtSXBPMXh1ZlZ4dVhHNVRkSEpwYm1kRVpXTnZaR1Z5TG5CeWIzUnZkSGx3WlM1M2NtbDBaU0E5SUdaMWJtTjBhVzl1SUNoaWRXWXBJSHRjYmlBZ2FXWWdLR0oxWmk1c1pXNW5kR2dnUFQwOUlEQXBJSEpsZEhWeWJpQW5KenRjYmlBZ2RtRnlJSEk3WEc0Z0lIWmhjaUJwTzF4dUlDQnBaaUFvZEdocGN5NXNZWE4wVG1WbFpDa2dlMXh1SUNBZ0lISWdQU0IwYUdsekxtWnBiR3hNWVhOMEtHSjFaaWs3WEc0Z0lDQWdhV1lnS0hJZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnY21WMGRYSnVJQ2NuTzF4dUlDQWdJR2tnUFNCMGFHbHpMbXhoYzNST1pXVmtPMXh1SUNBZ0lIUm9hWE11YkdGemRFNWxaV1FnUFNBd08xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHa2dQU0F3TzF4dUlDQjlYRzRnSUdsbUlDaHBJRHdnWW5WbUxteGxibWQwYUNrZ2NtVjBkWEp1SUhJZ1B5QnlJQ3NnZEdocGN5NTBaWGgwS0dKMVppd2dhU2tnT2lCMGFHbHpMblJsZUhRb1luVm1MQ0JwS1R0Y2JpQWdjbVYwZFhKdUlISWdmSHdnSnljN1hHNTlPMXh1WEc1VGRISnBibWRFWldOdlpHVnlMbkJ5YjNSdmRIbHdaUzVsYm1RZ1BTQjFkR1k0Ulc1a08xeHVYRzR2THlCU1pYUjFjbTV6SUc5dWJIa2dZMjl0Y0d4bGRHVWdZMmhoY21GamRHVnljeUJwYmlCaElFSjFabVpsY2x4dVUzUnlhVzVuUkdWamIyUmxjaTV3Y205MGIzUjVjR1V1ZEdWNGRDQTlJSFYwWmpoVVpYaDBPMXh1WEc0dkx5QkJkSFJsYlhCMGN5QjBieUJqYjIxd2JHVjBaU0JoSUhCaGNuUnBZV3dnYm05dUxWVlVSaTA0SUdOb1lYSmhZM1JsY2lCMWMybHVaeUJpZVhSbGN5Qm1jbTl0SUdFZ1FuVm1abVZ5WEc1VGRISnBibWRFWldOdlpHVnlMbkJ5YjNSdmRIbHdaUzVtYVd4c1RHRnpkQ0E5SUdaMWJtTjBhVzl1SUNoaWRXWXBJSHRjYmlBZ2FXWWdLSFJvYVhNdWJHRnpkRTVsWldRZ1BEMGdZblZtTG14bGJtZDBhQ2tnZTF4dUlDQWdJR0oxWmk1amIzQjVLSFJvYVhNdWJHRnpkRU5vWVhJc0lIUm9hWE11YkdGemRGUnZkR0ZzSUMwZ2RHaHBjeTVzWVhOMFRtVmxaQ3dnTUN3Z2RHaHBjeTVzWVhOMFRtVmxaQ2s3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11YkdGemRFTm9ZWEl1ZEc5VGRISnBibWNvZEdocGN5NWxibU52WkdsdVp5d2dNQ3dnZEdocGN5NXNZWE4wVkc5MFlXd3BPMXh1SUNCOVhHNGdJR0oxWmk1amIzQjVLSFJvYVhNdWJHRnpkRU5vWVhJc0lIUm9hWE11YkdGemRGUnZkR0ZzSUMwZ2RHaHBjeTVzWVhOMFRtVmxaQ3dnTUN3Z1luVm1MbXhsYm1kMGFDazdYRzRnSUhSb2FYTXViR0Z6ZEU1bFpXUWdMVDBnWW5WbUxteGxibWQwYUR0Y2JuMDdYRzVjYmk4dklFTm9aV05yY3lCMGFHVWdkSGx3WlNCdlppQmhJRlZVUmkwNElHSjVkR1VzSUhkb1pYUm9aWElnYVhRbmN5QkJVME5KU1N3Z1lTQnNaV0ZrYVc1bklHSjVkR1VzSUc5eUlHRmNiaTh2SUdOdmJuUnBiblZoZEdsdmJpQmllWFJsTGlCSlppQmhiaUJwYm5aaGJHbGtJR0o1ZEdVZ2FYTWdaR1YwWldOMFpXUXNJQzB5SUdseklISmxkSFZ5Ym1Wa0xseHVablZ1WTNScGIyNGdkWFJtT0VOb1pXTnJRbmwwWlNoaWVYUmxLU0I3WEc0Z0lHbG1JQ2hpZVhSbElEdzlJREI0TjBZcElISmxkSFZ5YmlBd08yVnNjMlVnYVdZZ0tHSjVkR1VnUGo0Z05TQTlQVDBnTUhnd05pa2djbVYwZFhKdUlESTdaV3h6WlNCcFppQW9ZbmwwWlNBK1BpQTBJRDA5UFNBd2VEQkZLU0J5WlhSMWNtNGdNenRsYkhObElHbG1JQ2hpZVhSbElENCtJRE1nUFQwOUlEQjRNVVVwSUhKbGRIVnliaUEwTzF4dUlDQnlaWFIxY200Z1lubDBaU0ErUGlBMklEMDlQU0F3ZURBeUlEOGdMVEVnT2lBdE1qdGNibjFjYmx4dUx5OGdRMmhsWTJ0eklHRjBJRzF2YzNRZ015QmllWFJsY3lCaGRDQjBhR1VnWlc1a0lHOW1JR0VnUW5WbVptVnlJR2x1SUc5eVpHVnlJSFJ2SUdSbGRHVmpkQ0JoYmx4dUx5OGdhVzVqYjIxd2JHVjBaU0J0ZFd4MGFTMWllWFJsSUZWVVJpMDRJR05vWVhKaFkzUmxjaTRnVkdobElIUnZkR0ZzSUc1MWJXSmxjaUJ2WmlCaWVYUmxjeUFvTWl3Z015d2diM0lnTkNsY2JpOHZJRzVsWldSbFpDQjBieUJqYjIxd2JHVjBaU0IwYUdVZ1ZWUkdMVGdnWTJoaGNtRmpkR1Z5SUNocFppQmhjSEJzYVdOaFlteGxLU0JoY21VZ2NtVjBkWEp1WldRdVhHNW1kVzVqZEdsdmJpQjFkR1k0UTJobFkydEpibU52YlhCc1pYUmxLSE5sYkdZc0lHSjFaaXdnYVNrZ2UxeHVJQ0IyWVhJZ2FpQTlJR0oxWmk1c1pXNW5kR2dnTFNBeE8xeHVJQ0JwWmlBb2FpQThJR2twSUhKbGRIVnliaUF3TzF4dUlDQjJZWElnYm1JZ1BTQjFkR1k0UTJobFkydENlWFJsS0dKMVpsdHFYU2s3WEc0Z0lHbG1JQ2h1WWlBK1BTQXdLU0I3WEc0Z0lDQWdhV1lnS0c1aUlENGdNQ2tnYzJWc1ppNXNZWE4wVG1WbFpDQTlJRzVpSUMwZ01UdGNiaUFnSUNCeVpYUjFjbTRnYm1JN1hHNGdJSDFjYmlBZ2FXWWdLQzB0YWlBOElHa2dmSHdnYm1JZ1BUMDlJQzB5S1NCeVpYUjFjbTRnTUR0Y2JpQWdibUlnUFNCMWRHWTRRMmhsWTJ0Q2VYUmxLR0oxWmx0cVhTazdYRzRnSUdsbUlDaHVZaUErUFNBd0tTQjdYRzRnSUNBZ2FXWWdLRzVpSUQ0Z01Da2djMlZzWmk1c1lYTjBUbVZsWkNBOUlHNWlJQzBnTWp0Y2JpQWdJQ0J5WlhSMWNtNGdibUk3WEc0Z0lIMWNiaUFnYVdZZ0tDMHRhaUE4SUdrZ2ZId2dibUlnUFQwOUlDMHlLU0J5WlhSMWNtNGdNRHRjYmlBZ2JtSWdQU0IxZEdZNFEyaGxZMnRDZVhSbEtHSjFabHRxWFNrN1hHNGdJR2xtSUNodVlpQStQU0F3S1NCN1hHNGdJQ0FnYVdZZ0tHNWlJRDRnTUNrZ2UxeHVJQ0FnSUNBZ2FXWWdLRzVpSUQwOVBTQXlLU0J1WWlBOUlEQTdaV3h6WlNCelpXeG1MbXhoYzNST1pXVmtJRDBnYm1JZ0xTQXpPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnYm1JN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SURBN1hHNTlYRzVjYmk4dklGWmhiR2xrWVhSbGN5QmhjeUJ0WVc1NUlHTnZiblJwYm5WaGRHbHZiaUJpZVhSbGN5Qm1iM0lnWVNCdGRXeDBhUzFpZVhSbElGVlVSaTA0SUdOb1lYSmhZM1JsY2lCaGMxeHVMeThnYm1WbFpHVmtJRzl5SUdGeVpTQmhkbUZwYkdGaWJHVXVJRWxtSUhkbElITmxaU0JoSUc1dmJpMWpiMjUwYVc1MVlYUnBiMjRnWW5sMFpTQjNhR1Z5WlNCM1pTQmxlSEJsWTNSY2JpOHZJRzl1WlN3Z2QyVWdYQ0p5WlhCc1lXTmxYQ0lnZEdobElIWmhiR2xrWVhSbFpDQmpiMjUwYVc1MVlYUnBiMjRnWW5sMFpYTWdkMlVuZG1VZ2MyVmxiaUJ6YnlCbVlYSWdkMmwwYUZ4dUx5OGdZU0J6YVc1bmJHVWdWVlJHTFRnZ2NtVndiR0ZqWlcxbGJuUWdZMmhoY21GamRHVnlJQ2duWEZ4MVptWm1aQ2NwTENCMGJ5QnRZWFJqYUNCMk9DZHpJRlZVUmkwNElHUmxZMjlrYVc1blhHNHZMeUJpWldoaGRtbHZjaTRnVkdobElHTnZiblJwYm5WaGRHbHZiaUJpZVhSbElHTm9aV05ySUdseklHbHVZMngxWkdWa0lIUm9jbVZsSUhScGJXVnpJR2x1SUhSb1pTQmpZWE5sWEc0dkx5QjNhR1Z5WlNCaGJHd2diMllnZEdobElHTnZiblJwYm5WaGRHbHZiaUJpZVhSbGN5Qm1iM0lnWVNCamFHRnlZV04wWlhJZ1pYaHBjM1FnYVc0Z2RHaGxJSE5oYldVZ1luVm1abVZ5TGx4dUx5OGdTWFFnYVhNZ1lXeHpieUJrYjI1bElIUm9hWE1nZDJGNUlHRnpJR0VnYzJ4cFoyaDBJSEJsY21admNtMWhibU5sSUdsdVkzSmxZWE5sSUdsdWMzUmxZV1FnYjJZZ2RYTnBibWNnWVZ4dUx5OGdiRzl2Y0M1Y2JtWjFibU4wYVc5dUlIVjBaamhEYUdWamEwVjRkSEpoUW5sMFpYTW9jMlZzWml3Z1luVm1MQ0J3S1NCN1hHNGdJR2xtSUNnb1luVm1XekJkSUNZZ01IaERNQ2tnSVQwOUlEQjRPREFwSUh0Y2JpQWdJQ0J6Wld4bUxteGhjM1JPWldWa0lEMGdNRHRjYmlBZ0lDQnlaWFIxY200Z0oxeGNkV1ptWm1Rbk8xeHVJQ0I5WEc0Z0lHbG1JQ2h6Wld4bUxteGhjM1JPWldWa0lENGdNU0FtSmlCaWRXWXViR1Z1WjNSb0lENGdNU2tnZTF4dUlDQWdJR2xtSUNnb1luVm1XekZkSUNZZ01IaERNQ2tnSVQwOUlEQjRPREFwSUh0Y2JpQWdJQ0FnSUhObGJHWXViR0Z6ZEU1bFpXUWdQU0F4TzF4dUlDQWdJQ0FnY21WMGRYSnVJQ2RjWEhWbVptWmtKenRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSE5sYkdZdWJHRnpkRTVsWldRZ1BpQXlJQ1ltSUdKMVppNXNaVzVuZEdnZ1BpQXlLU0I3WEc0Z0lDQWdJQ0JwWmlBb0tHSjFabHN5WFNBbUlEQjRRekFwSUNFOVBTQXdlRGd3S1NCN1hHNGdJQ0FnSUNBZ0lITmxiR1l1YkdGemRFNWxaV1FnUFNBeU8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z0oxeGNkV1ptWm1Rbk8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dVhHNHZMeUJCZEhSbGJYQjBjeUIwYnlCamIyMXdiR1YwWlNCaElHMTFiSFJwTFdKNWRHVWdWVlJHTFRnZ1kyaGhjbUZqZEdWeUlIVnphVzVuSUdKNWRHVnpJR1p5YjIwZ1lTQkNkV1ptWlhJdVhHNW1kVzVqZEdsdmJpQjFkR1k0Um1sc2JFeGhjM1FvWW5WbUtTQjdYRzRnSUhaaGNpQndJRDBnZEdocGN5NXNZWE4wVkc5MFlXd2dMU0IwYUdsekxteGhjM1JPWldWa08xeHVJQ0IyWVhJZ2NpQTlJSFYwWmpoRGFHVmphMFY0ZEhKaFFubDBaWE1vZEdocGN5d2dZblZtTENCd0tUdGNiaUFnYVdZZ0tISWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2NtVjBkWEp1SUhJN1hHNGdJR2xtSUNoMGFHbHpMbXhoYzNST1pXVmtJRHc5SUdKMVppNXNaVzVuZEdncElIdGNiaUFnSUNCaWRXWXVZMjl3ZVNoMGFHbHpMbXhoYzNSRGFHRnlMQ0J3TENBd0xDQjBhR2x6TG14aGMzUk9aV1ZrS1R0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1c1lYTjBRMmhoY2k1MGIxTjBjbWx1WnloMGFHbHpMbVZ1WTI5a2FXNW5MQ0F3TENCMGFHbHpMbXhoYzNSVWIzUmhiQ2s3WEc0Z0lIMWNiaUFnWW5WbUxtTnZjSGtvZEdocGN5NXNZWE4wUTJoaGNpd2djQ3dnTUN3Z1luVm1MbXhsYm1kMGFDazdYRzRnSUhSb2FYTXViR0Z6ZEU1bFpXUWdMVDBnWW5WbUxteGxibWQwYUR0Y2JuMWNibHh1THk4Z1VtVjBkWEp1Y3lCaGJHd2dZMjl0Y0d4bGRHVWdWVlJHTFRnZ1kyaGhjbUZqZEdWeWN5QnBiaUJoSUVKMVptWmxjaTRnU1dZZ2RHaGxJRUoxWm1abGNpQmxibVJsWkNCdmJpQmhYRzR2THlCd1lYSjBhV0ZzSUdOb1lYSmhZM1JsY2l3Z2RHaGxJR05vWVhKaFkzUmxjaWR6SUdKNWRHVnpJR0Z5WlNCaWRXWm1aWEpsWkNCMWJuUnBiQ0IwYUdVZ2NtVnhkV2x5WldSY2JpOHZJRzUxYldKbGNpQnZaaUJpZVhSbGN5QmhjbVVnWVhaaGFXeGhZbXhsTGx4dVpuVnVZM1JwYjI0Z2RYUm1PRlJsZUhRb1luVm1MQ0JwS1NCN1hHNGdJSFpoY2lCMGIzUmhiQ0E5SUhWMFpqaERhR1ZqYTBsdVkyOXRjR3hsZEdVb2RHaHBjeXdnWW5WbUxDQnBLVHRjYmlBZ2FXWWdLQ0YwYUdsekxteGhjM1JPWldWa0tTQnlaWFIxY200Z1luVm1MblJ2VTNSeWFXNW5LQ2QxZEdZNEp5d2dhU2s3WEc0Z0lIUm9hWE11YkdGemRGUnZkR0ZzSUQwZ2RHOTBZV3c3WEc0Z0lIWmhjaUJsYm1RZ1BTQmlkV1l1YkdWdVozUm9JQzBnS0hSdmRHRnNJQzBnZEdocGN5NXNZWE4wVG1WbFpDazdYRzRnSUdKMVppNWpiM0I1S0hSb2FYTXViR0Z6ZEVOb1lYSXNJREFzSUdWdVpDazdYRzRnSUhKbGRIVnliaUJpZFdZdWRHOVRkSEpwYm1jb0ozVjBaamduTENCcExDQmxibVFwTzF4dWZWeHVYRzR2THlCR2IzSWdWVlJHTFRnc0lHRWdjbVZ3YkdGalpXMWxiblFnWTJoaGNtRmpkR1Z5SUdseklHRmtaR1ZrSUhkb1pXNGdaVzVrYVc1bklHOXVJR0VnY0dGeWRHbGhiRnh1THk4Z1kyaGhjbUZqZEdWeUxseHVablZ1WTNScGIyNGdkWFJtT0VWdVpDaGlkV1lwSUh0Y2JpQWdkbUZ5SUhJZ1BTQmlkV1lnSmlZZ1luVm1MbXhsYm1kMGFDQS9JSFJvYVhNdWQzSnBkR1VvWW5WbUtTQTZJQ2NuTzF4dUlDQnBaaUFvZEdocGN5NXNZWE4wVG1WbFpDa2djbVYwZFhKdUlISWdLeUFuWEZ4MVptWm1aQ2M3WEc0Z0lISmxkSFZ5YmlCeU8xeHVmVnh1WEc0dkx5QlZWRVl0TVRaTVJTQjBlWEJwWTJGc2JIa2dibVZsWkhNZ2RIZHZJR0o1ZEdWeklIQmxjaUJqYUdGeVlXTjBaWElzSUdKMWRDQmxkbVZ1SUdsbUlIZGxJR2hoZG1VZ1lXNGdaWFpsYmx4dUx5OGdiblZ0WW1WeUlHOW1JR0o1ZEdWeklHRjJZV2xzWVdKc1pTd2dkMlVnYm1WbFpDQjBieUJqYUdWamF5QnBaaUIzWlNCbGJtUWdiMjRnWVNCc1pXRmthVzVuTDJocFoyaGNiaTh2SUhOMWNuSnZaMkYwWlM0Z1NXNGdkR2hoZENCallYTmxMQ0IzWlNCdVpXVmtJSFJ2SUhkaGFYUWdabTl5SUhSb1pTQnVaWGgwSUhSM2J5QmllWFJsY3lCcGJpQnZjbVJsY2lCMGIxeHVMeThnWkdWamIyUmxJSFJvWlNCc1lYTjBJR05vWVhKaFkzUmxjaUJ3Y205d1pYSnNlUzVjYm1aMWJtTjBhVzl1SUhWMFpqRTJWR1Y0ZENoaWRXWXNJR2twSUh0Y2JpQWdhV1lnS0NoaWRXWXViR1Z1WjNSb0lDMGdhU2tnSlNBeUlEMDlQU0F3S1NCN1hHNGdJQ0FnZG1GeUlISWdQU0JpZFdZdWRHOVRkSEpwYm1jb0ozVjBaakUyYkdVbkxDQnBLVHRjYmlBZ0lDQnBaaUFvY2lrZ2UxeHVJQ0FnSUNBZ2RtRnlJR01nUFNCeUxtTm9ZWEpEYjJSbFFYUW9jaTVzWlc1bmRHZ2dMU0F4S1R0Y2JpQWdJQ0FnSUdsbUlDaGpJRDQ5SURCNFJEZ3dNQ0FtSmlCaklEdzlJREI0UkVKR1Jpa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxteGhjM1JPWldWa0lEMGdNanRjYmlBZ0lDQWdJQ0FnZEdocGN5NXNZWE4wVkc5MFlXd2dQU0EwTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbXhoYzNSRGFHRnlXekJkSUQwZ1luVm1XMkoxWmk1c1pXNW5kR2dnTFNBeVhUdGNiaUFnSUNBZ0lDQWdkR2hwY3k1c1lYTjBRMmhoY2xzeFhTQTlJR0oxWmx0aWRXWXViR1Z1WjNSb0lDMGdNVjA3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJ5TG5Oc2FXTmxLREFzSUMweEtUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJQ0FnY21WMGRYSnVJSEk3WEc0Z0lIMWNiaUFnZEdocGN5NXNZWE4wVG1WbFpDQTlJREU3WEc0Z0lIUm9hWE11YkdGemRGUnZkR0ZzSUQwZ01qdGNiaUFnZEdocGN5NXNZWE4wUTJoaGNsc3dYU0E5SUdKMVpsdGlkV1l1YkdWdVozUm9JQzBnTVYwN1hHNGdJSEpsZEhWeWJpQmlkV1l1ZEc5VGRISnBibWNvSjNWMFpqRTJiR1VuTENCcExDQmlkV1l1YkdWdVozUm9JQzBnTVNrN1hHNTlYRzVjYmk4dklFWnZjaUJWVkVZdE1UWk1SU0IzWlNCa2J5QnViM1FnWlhod2JHbGphWFJzZVNCaGNIQmxibVFnYzNCbFkybGhiQ0J5WlhCc1lXTmxiV1Z1ZENCamFHRnlZV04wWlhKeklHbG1JSGRsWEc0dkx5QmxibVFnYjI0Z1lTQndZWEowYVdGc0lHTm9ZWEpoWTNSbGNpd2dkMlVnYzJsdGNHeDVJR3hsZENCMk9DQm9ZVzVrYkdVZ2RHaGhkQzVjYm1aMWJtTjBhVzl1SUhWMFpqRTJSVzVrS0dKMVppa2dlMXh1SUNCMllYSWdjaUE5SUdKMVppQW1KaUJpZFdZdWJHVnVaM1JvSUQ4Z2RHaHBjeTUzY21sMFpTaGlkV1lwSURvZ0p5YzdYRzRnSUdsbUlDaDBhR2x6TG14aGMzUk9aV1ZrS1NCN1hHNGdJQ0FnZG1GeUlHVnVaQ0E5SUhSb2FYTXViR0Z6ZEZSdmRHRnNJQzBnZEdocGN5NXNZWE4wVG1WbFpEdGNiaUFnSUNCeVpYUjFjbTRnY2lBcklIUm9hWE11YkdGemRFTm9ZWEl1ZEc5VGRISnBibWNvSjNWMFpqRTJiR1VuTENBd0xDQmxibVFwTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJ5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJpWVhObE5qUlVaWGgwS0dKMVppd2dhU2tnZTF4dUlDQjJZWElnYmlBOUlDaGlkV1l1YkdWdVozUm9JQzBnYVNrZ0pTQXpPMXh1SUNCcFppQW9iaUE5UFQwZ01Da2djbVYwZFhKdUlHSjFaaTUwYjFOMGNtbHVaeWduWW1GelpUWTBKeXdnYVNrN1hHNGdJSFJvYVhNdWJHRnpkRTVsWldRZ1BTQXpJQzBnYmp0Y2JpQWdkR2hwY3k1c1lYTjBWRzkwWVd3Z1BTQXpPMXh1SUNCcFppQW9iaUE5UFQwZ01Ta2dlMXh1SUNBZ0lIUm9hWE11YkdGemRFTm9ZWEpiTUYwZ1BTQmlkV1piWW5WbUxteGxibWQwYUNBdElERmRPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSFJvYVhNdWJHRnpkRU5vWVhKYk1GMGdQU0JpZFdaYlluVm1MbXhsYm1kMGFDQXRJREpkTzF4dUlDQWdJSFJvYVhNdWJHRnpkRU5vWVhKYk1WMGdQU0JpZFdaYlluVm1MbXhsYm1kMGFDQXRJREZkTzF4dUlDQjlYRzRnSUhKbGRIVnliaUJpZFdZdWRHOVRkSEpwYm1jb0oySmhjMlUyTkNjc0lHa3NJR0oxWmk1c1pXNW5kR2dnTFNCdUtUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1ltRnpaVFkwUlc1a0tHSjFaaWtnZTF4dUlDQjJZWElnY2lBOUlHSjFaaUFtSmlCaWRXWXViR1Z1WjNSb0lEOGdkR2hwY3k1M2NtbDBaU2hpZFdZcElEb2dKeWM3WEc0Z0lHbG1JQ2gwYUdsekxteGhjM1JPWldWa0tTQnlaWFIxY200Z2NpQXJJSFJvYVhNdWJHRnpkRU5vWVhJdWRHOVRkSEpwYm1jb0oySmhjMlUyTkNjc0lEQXNJRE1nTFNCMGFHbHpMbXhoYzNST1pXVmtLVHRjYmlBZ2NtVjBkWEp1SUhJN1hHNTlYRzVjYmk4dklGQmhjM01nWW5sMFpYTWdiMjRnZEdoeWIzVm5hQ0JtYjNJZ2MybHVaMnhsTFdKNWRHVWdaVzVqYjJScGJtZHpJQ2hsTG1jdUlHRnpZMmxwTENCc1lYUnBiakVzSUdobGVDbGNibVoxYm1OMGFXOXVJSE5wYlhCc1pWZHlhWFJsS0dKMVppa2dlMXh1SUNCeVpYUjFjbTRnWW5WbUxuUnZVM1J5YVc1bktIUm9hWE11Wlc1amIyUnBibWNwTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ6YVcxd2JHVkZibVFvWW5WbUtTQjdYRzRnSUhKbGRIVnliaUJpZFdZZ0ppWWdZblZtTG14bGJtZDBhQ0EvSUhSb2FYTXVkM0pwZEdVb1luVm1LU0E2SUNjbk8xeHVmU0pkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiXFxuXFxudmFyIGlzT2xkSUUgPSBmdW5jdGlvbiBpc09sZElFKCkge1xcbiAgdmFyIG1lbW87XFxuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUoKSB7XFxuICAgIGlmICh0eXBlb2YgbWVtbyA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgICAvLyBUZXN0IGZvciBJRSA8PSA5IGFzIHByb3Bvc2VkIGJ5IEJyb3dzZXJoYWNrc1xcbiAgICAgIC8vIEBzZWUgaHR0cDovL2Jyb3dzZXJoYWNrcy5jb20vI2hhY2stZTcxZDg2OTJmNjUzMzQxNzNmZWU3MTVjMjIyY2I4MDVcXG4gICAgICAvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXFxuICAgICAgLy8gdG8gb3BlcmF0ZSBjb3JyZWN0bHkgaW50byBub24tc3RhbmRhcmQgZW52aXJvbm1lbnRzXFxuICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL3N0eWxlLWxvYWRlci9pc3N1ZXMvMTc3XFxuICAgICAgbWVtbyA9IEJvb2xlYW4od2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2IpO1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBtZW1vO1xcbiAgfTtcXG59KCk7XFxuXFxudmFyIGdldFRhcmdldCA9IGZ1bmN0aW9uIGdldFRhcmdldCgpIHtcXG4gIHZhciBtZW1vID0ge307XFxuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUodGFyZ2V0KSB7XFxuICAgIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSAndW5kZWZpbmVkJykge1xcbiAgICAgIHZhciBzdHlsZVRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGFyZ2V0KTsgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcXG5cXG4gICAgICBpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxcbiAgICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xcbiAgICAgICAgfSBjYXRjaCAoZSkge1xcbiAgICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxcbiAgICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XFxuICAgICAgICB9XFxuICAgICAgfVxcblxcbiAgICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xcbiAgICB9XFxuXFxuICAgIHJldHVybiBtZW1vW3RhcmdldF07XFxuICB9O1xcbn0oKTtcXG5cXG52YXIgc3R5bGVzSW5Eb20gPSBbXTtcXG5cXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XFxuICB2YXIgcmVzdWx0ID0gLTE7XFxuXFxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRG9tLmxlbmd0aDsgaSsrKSB7XFxuICAgIGlmIChzdHlsZXNJbkRvbVtpXS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XFxuICAgICAgcmVzdWx0ID0gaTtcXG4gICAgICBicmVhaztcXG4gICAgfVxcbiAgfVxcblxcbiAgcmV0dXJuIHJlc3VsdDtcXG59XFxuXFxuZnVuY3Rpb24gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpIHtcXG4gIHZhciBpZENvdW50TWFwID0ge307XFxuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcXG5cXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XFxuICAgIHZhciBpZCA9IG9wdGlvbnMuYmFzZSA/IGl0ZW1bMF0gKyBvcHRpb25zLmJhc2UgOiBpdGVtWzBdO1xcbiAgICB2YXIgY291bnQgPSBpZENvdW50TWFwW2lkXSB8fCAwO1xcbiAgICB2YXIgaWRlbnRpZmllciA9IFxcXCJcXFwiLmNvbmNhdChpZCwgXFxcIiBcXFwiKS5jb25jYXQoY291bnQpO1xcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcXG4gICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XFxuICAgIHZhciBvYmogPSB7XFxuICAgICAgY3NzOiBpdGVtWzFdLFxcbiAgICAgIG1lZGlhOiBpdGVtWzJdLFxcbiAgICAgIHNvdXJjZU1hcDogaXRlbVszXVxcbiAgICB9O1xcblxcbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XFxuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMrKztcXG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0udXBkYXRlcihvYmopO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHN0eWxlc0luRG9tLnB1c2goe1xcbiAgICAgICAgaWRlbnRpZmllcjogaWRlbnRpZmllcixcXG4gICAgICAgIHVwZGF0ZXI6IGFkZFN0eWxlKG9iaiwgb3B0aW9ucyksXFxuICAgICAgICByZWZlcmVuY2VzOiAxXFxuICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudGlmaWVyKTtcXG4gIH1cXG5cXG4gIHJldHVybiBpZGVudGlmaWVycztcXG59XFxuXFxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcXG4gIHZhciBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XFxuICB2YXIgYXR0cmlidXRlcyA9IG9wdGlvbnMuYXR0cmlidXRlcyB8fCB7fTtcXG5cXG4gIGlmICh0eXBlb2YgYXR0cmlidXRlcy5ub25jZSA9PT0gJ3VuZGVmaW5lZCcpIHtcXG4gICAgdmFyIG5vbmNlID0gIHRydWUgPyBfX3dlYnBhY2tfcmVxdWlyZV9fLm5jIDogdW5kZWZpbmVkO1xcblxcbiAgICBpZiAobm9uY2UpIHtcXG4gICAgICBhdHRyaWJ1dGVzLm5vbmNlID0gbm9uY2U7XFxuICAgIH1cXG4gIH1cXG5cXG4gIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xcbiAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoa2V5LCBhdHRyaWJ1dGVzW2tleV0pO1xcbiAgfSk7XFxuXFxuICBpZiAodHlwZW9mIG9wdGlvbnMuaW5zZXJ0ID09PSAnZnVuY3Rpb24nKSB7XFxuICAgIG9wdGlvbnMuaW5zZXJ0KHN0eWxlKTtcXG4gIH0gZWxzZSB7XFxuICAgIHZhciB0YXJnZXQgPSBnZXRUYXJnZXQob3B0aW9ucy5pbnNlcnQgfHwgJ2hlYWQnKTtcXG5cXG4gICAgaWYgKCF0YXJnZXQpIHtcXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cXFwiKTtcXG4gICAgfVxcblxcbiAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xcbiAgfVxcblxcbiAgcmV0dXJuIHN0eWxlO1xcbn1cXG5cXG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpIHtcXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxcbiAgaWYgKHN0eWxlLnBhcmVudE5vZGUgPT09IG51bGwpIHtcXG4gICAgcmV0dXJuIGZhbHNlO1xcbiAgfVxcblxcbiAgc3R5bGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZSk7XFxufVxcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xcblxcblxcbnZhciByZXBsYWNlVGV4dCA9IGZ1bmN0aW9uIHJlcGxhY2VUZXh0KCkge1xcbiAgdmFyIHRleHRTdG9yZSA9IFtdO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlcGxhY2UoaW5kZXgsIHJlcGxhY2VtZW50KSB7XFxuICAgIHRleHRTdG9yZVtpbmRleF0gPSByZXBsYWNlbWVudDtcXG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxcXG4nKTtcXG4gIH07XFxufSgpO1xcblxcbmZ1bmN0aW9uIGFwcGx5VG9TaW5nbGV0b25UYWcoc3R5bGUsIGluZGV4LCByZW1vdmUsIG9iaikge1xcbiAgdmFyIGNzcyA9IHJlbW92ZSA/ICcnIDogb2JqLm1lZGlhID8gXFxcIkBtZWRpYSBcXFwiLmNvbmNhdChvYmoubWVkaWEsIFxcXCIge1xcXCIpLmNvbmNhdChvYmouY3NzLCBcXFwifVxcXCIpIDogb2JqLmNzczsgLy8gRm9yIG9sZCBJRVxcblxcbiAgLyogaXN0YW5idWwgaWdub3JlIGlmICAqL1xcblxcbiAgaWYgKHN0eWxlLnN0eWxlU2hlZXQpIHtcXG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gcmVwbGFjZVRleHQoaW5kZXgsIGNzcyk7XFxuICB9IGVsc2Uge1xcbiAgICB2YXIgY3NzTm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcyk7XFxuICAgIHZhciBjaGlsZE5vZGVzID0gc3R5bGUuY2hpbGROb2RlcztcXG5cXG4gICAgaWYgKGNoaWxkTm9kZXNbaW5kZXhdKSB7XFxuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoY2hpbGROb2Rlc1tpbmRleF0pO1xcbiAgICB9XFxuXFxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xcbiAgICAgIHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgc3R5bGUuYXBwZW5kQ2hpbGQoY3NzTm9kZSk7XFxuICAgIH1cXG4gIH1cXG59XFxuXFxuZnVuY3Rpb24gYXBwbHlUb1RhZyhzdHlsZSwgb3B0aW9ucywgb2JqKSB7XFxuICB2YXIgY3NzID0gb2JqLmNzcztcXG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYTtcXG4gIHZhciBzb3VyY2VNYXAgPSBvYmouc291cmNlTWFwO1xcblxcbiAgaWYgKG1lZGlhKSB7XFxuICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgnbWVkaWEnLCBtZWRpYSk7XFxuICB9IGVsc2Uge1xcbiAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ21lZGlhJyk7XFxuICB9XFxuXFxuICBpZiAoc291cmNlTWFwICYmIGJ0b2EpIHtcXG4gICAgY3NzICs9IFxcXCJcXFxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXFxcIi5jb25jYXQoYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoc291cmNlTWFwKSkpKSwgXFxcIiAqL1xcXCIpO1xcbiAgfSAvLyBGb3Igb2xkIElFXFxuXFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXFxuXFxuXFxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xcbiAgICBzdHlsZS5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XFxuICB9IGVsc2Uge1xcbiAgICB3aGlsZSAoc3R5bGUuZmlyc3RDaGlsZCkge1xcbiAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKHN0eWxlLmZpcnN0Q2hpbGQpO1xcbiAgICB9XFxuXFxuICAgIHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xcbiAgfVxcbn1cXG5cXG52YXIgc2luZ2xldG9uID0gbnVsbDtcXG52YXIgc2luZ2xldG9uQ291bnRlciA9IDA7XFxuXFxuZnVuY3Rpb24gYWRkU3R5bGUob2JqLCBvcHRpb25zKSB7XFxuICB2YXIgc3R5bGU7XFxuICB2YXIgdXBkYXRlO1xcbiAgdmFyIHJlbW92ZTtcXG5cXG4gIGlmIChvcHRpb25zLnNpbmdsZXRvbikge1xcbiAgICB2YXIgc3R5bGVJbmRleCA9IHNpbmdsZXRvbkNvdW50ZXIrKztcXG4gICAgc3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSk7XFxuICAgIHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZSwgc3R5bGVJbmRleCwgZmFsc2UpO1xcbiAgICByZW1vdmUgPSBhcHBseVRvU2luZ2xldG9uVGFnLmJpbmQobnVsbCwgc3R5bGUsIHN0eWxlSW5kZXgsIHRydWUpO1xcbiAgfSBlbHNlIHtcXG4gICAgc3R5bGUgPSBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucyk7XFxuICAgIHVwZGF0ZSA9IGFwcGx5VG9UYWcuYmluZChudWxsLCBzdHlsZSwgb3B0aW9ucyk7XFxuXFxuICAgIHJlbW92ZSA9IGZ1bmN0aW9uIHJlbW92ZSgpIHtcXG4gICAgICByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGUpO1xcbiAgICB9O1xcbiAgfVxcblxcbiAgdXBkYXRlKG9iaik7XFxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUobmV3T2JqKSB7XFxuICAgIGlmIChuZXdPYmopIHtcXG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwKSB7XFxuICAgICAgICByZXR1cm47XFxuICAgICAgfVxcblxcbiAgICAgIHVwZGF0ZShvYmogPSBuZXdPYmopO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgIHJlbW92ZSgpO1xcbiAgICB9XFxuICB9O1xcbn1cXG5cXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChsaXN0LCBvcHRpb25zKSB7XFxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XFxuICAvLyB0YWdzIGl0IHdpbGwgYWxsb3cgb24gYSBwYWdlXFxuXFxuICBpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gJ2Jvb2xlYW4nKSB7XFxuICAgIG9wdGlvbnMuc2luZ2xldG9uID0gaXNPbGRJRSgpO1xcbiAgfVxcblxcbiAgbGlzdCA9IGxpc3QgfHwgW107XFxuICB2YXIgbGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKGxpc3QsIG9wdGlvbnMpO1xcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XFxuICAgIG5ld0xpc3QgPSBuZXdMaXN0IHx8IFtdO1xcblxcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0xpc3QpICE9PSAnW29iamVjdCBBcnJheV0nKSB7XFxuICAgICAgcmV0dXJuO1xcbiAgICB9XFxuXFxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgdmFyIGlkZW50aWZpZXIgPSBsYXN0SWRlbnRpZmllcnNbaV07XFxuICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XFxuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMtLTtcXG4gICAgfVxcblxcbiAgICB2YXIgbmV3TGFzdElkZW50aWZpZXJzID0gbW9kdWxlc1RvRG9tKG5ld0xpc3QsIG9wdGlvbnMpO1xcblxcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xcbiAgICAgIHZhciBfaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tfaV07XFxuXFxuICAgICAgdmFyIF9pbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKF9pZGVudGlmaWVyKTtcXG5cXG4gICAgICBpZiAoc3R5bGVzSW5Eb21bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XFxuICAgICAgICBzdHlsZXNJbkRvbVtfaW5kZXhdLnVwZGF0ZXIoKTtcXG5cXG4gICAgICAgIHN0eWxlc0luRG9tLnNwbGljZShfaW5kZXgsIDEpO1xcbiAgICAgIH1cXG4gICAgfVxcblxcbiAgICBsYXN0SWRlbnRpZmllcnMgPSBuZXdMYXN0SWRlbnRpZmllcnM7XFxuICB9O1xcbn07Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhsc1pTMXNiMkZrWlhJdlpHbHpkQzl5ZFc1MGFXMWxMMmx1YW1WamRGTjBlV3hsYzBsdWRHOVRkSGxzWlZSaFp5NXFjejh4TWpOa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRmhPenRCUVVWaU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRU5CUVVNN08wRkJSVVE3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4MVJFRkJkVVE3TzBGQlJYWkVPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFTeFRRVUZUTzBGQlExUTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFc1EwRkJRenM3UVVGRlJEczdRVUZGUVR0QlFVTkJPenRCUVVWQkxHbENRVUZwUWl4M1FrRkJkMEk3UVVGRGVrTTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFTeHBRa0ZCYVVJc2FVSkJRV2xDTzBGQlEyeERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3p0QlFVTk1PMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVDBGQlR6dEJRVU5RT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFTeG5Ra0ZCWjBJc1MwRkJkME1zUjBGQlJ5eHpRa0ZCYVVJc1IwRkJSeXhUUVVGSk96dEJRVVZ1Ump0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnpzN1FVRkZTRHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3T3p0QlFVZEJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRU3h4UlVGQmNVVXNjVUpCUVhGQ0xHRkJRV0U3TzBGQlJYWkhPenRCUVVWQk8wRkJRMEU3UVVGRFFTeEhRVUZITzBGQlEwZzdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRXNSMEZCUnp0QlFVTklPMEZCUTBFN08wRkJSVUU3UVVGRFFTeDVSRUZCZVVRN1FVRkRla1FzUjBGQlJ6czdRVUZGU0RzN08wRkJSMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVkQlFVYzdRVUZEU0R0QlFVTkJPenRCUVVWQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMRXRCUVVzN1FVRkRURHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREJDUVVFd1FqdEJRVU14UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CT3p0QlFVVkJMRzFDUVVGdFFpdzBRa0ZCTkVJN1FVRkRMME03UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN08wRkJSVUVzYjBKQlFXOUNMRFpDUVVFMlFqdEJRVU5xUkRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmMzUjViR1V0Ykc5aFpHVnlMMlJwYzNRdmNuVnVkR2x0WlM5cGJtcGxZM1JUZEhsc1pYTkpiblJ2VTNSNWJHVlVZV2N1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpjSW5WelpTQnpkSEpwWTNSY0lqdGNibHh1ZG1GeUlHbHpUMnhrU1VVZ1BTQm1kVzVqZEdsdmJpQnBjMDlzWkVsRktDa2dlMXh1SUNCMllYSWdiV1Z0Ynp0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHMWxiVzl5YVhwbEtDa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdiV1Z0YnlBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0FnSUM4dklGUmxjM1FnWm05eUlFbEZJRHc5SURrZ1lYTWdjSEp2Y0c5elpXUWdZbmtnUW5KdmQzTmxjbWhoWTJ0elhHNGdJQ0FnSUNBdkx5QkFjMlZsSUdoMGRIQTZMeTlpY205M2MyVnlhR0ZqYTNNdVkyOXRMeU5vWVdOckxXVTNNV1E0TmpreVpqWTFNek0wTVRjelptVmxOekUxWXpJeU1tTmlPREExWEc0Z0lDQWdJQ0F2THlCVVpYTjBjeUJtYjNJZ1pYaHBjM1JsYm1ObElHOW1JSE4wWVc1a1lYSmtJR2RzYjJKaGJITWdhWE1nZEc4Z1lXeHNiM2NnYzNSNWJHVXRiRzloWkdWeVhHNGdJQ0FnSUNBdkx5QjBieUJ2Y0dWeVlYUmxJR052Y25KbFkzUnNlU0JwYm5SdklHNXZiaTF6ZEdGdVpHRnlaQ0JsYm5acGNtOXViV1Z1ZEhOY2JpQWdJQ0FnSUM4dklFQnpaV1VnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDNkbFluQmhZMnN0WTI5dWRISnBZaTl6ZEhsc1pTMXNiMkZrWlhJdmFYTnpkV1Z6THpFM04xeHVJQ0FnSUNBZ2JXVnRieUE5SUVKdmIyeGxZVzRvZDJsdVpHOTNJQ1ltSUdSdlkzVnRaVzUwSUNZbUlHUnZZM1Z0Wlc1MExtRnNiQ0FtSmlBaGQybHVaRzkzTG1GMGIySXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lISmxkSFZ5YmlCdFpXMXZPMXh1SUNCOU8xeHVmU2dwTzF4dVhHNTJZWElnWjJWMFZHRnlaMlYwSUQwZ1puVnVZM1JwYjI0Z1oyVjBWR0Z5WjJWMEtDa2dlMXh1SUNCMllYSWdiV1Z0YnlBOUlIdDlPMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYldWdGIzSnBlbVVvZEdGeVoyVjBLU0I3WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJ0WlcxdlczUmhjbWRsZEYwZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnSUNCMllYSWdjM1I1YkdWVVlYSm5aWFFnUFNCa2IyTjFiV1Z1ZEM1eGRXVnllVk5sYkdWamRHOXlLSFJoY21kbGRDazdJQzh2SUZOd1pXTnBZV3dnWTJGelpTQjBieUJ5WlhSMWNtNGdhR1ZoWkNCdlppQnBabkpoYldVZ2FXNXpkR1ZoWkNCdlppQnBabkpoYldVZ2FYUnpaV3htWEc1Y2JpQWdJQ0FnSUdsbUlDaDNhVzVrYjNjdVNGUk5URWxHY21GdFpVVnNaVzFsYm5RZ0ppWWdjM1I1YkdWVVlYSm5aWFFnYVc1emRHRnVZMlZ2WmlCM2FXNWtiM2N1U0ZSTlRFbEdjbUZ0WlVWc1pXMWxiblFwSUh0Y2JpQWdJQ0FnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJQ0FnSUNBdkx5QlVhR2x6SUhkcGJHd2dkR2h5YjNjZ1lXNGdaWGhqWlhCMGFXOXVJR2xtSUdGalkyVnpjeUIwYnlCcFpuSmhiV1VnYVhNZ1lteHZZMnRsWkZ4dUlDQWdJQ0FnSUNBZ0lDOHZJR1IxWlNCMGJ5QmpjbTl6Y3kxdmNtbG5hVzRnY21WemRISnBZM1JwYjI1elhHNGdJQ0FnSUNBZ0lDQWdjM1I1YkdWVVlYSm5aWFFnUFNCemRIbHNaVlJoY21kbGRDNWpiMjUwWlc1MFJHOWpkVzFsYm5RdWFHVmhaRHRjYmlBZ0lDQWdJQ0FnZlNCallYUmphQ0FvWlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUdsemRHRnVZblZzSUdsbmJtOXlaU0J1WlhoMFhHNGdJQ0FnSUNBZ0lDQWdjM1I1YkdWVVlYSm5aWFFnUFNCdWRXeHNPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUcxbGJXOWJkR0Z5WjJWMFhTQTlJSE4wZVd4bFZHRnlaMlYwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEpsZEhWeWJpQnRaVzF2VzNSaGNtZGxkRjA3WEc0Z0lIMDdYRzU5S0NrN1hHNWNiblpoY2lCemRIbHNaWE5KYmtSdmJTQTlJRnRkTzF4dVhHNW1kVzVqZEdsdmJpQm5aWFJKYm1SbGVFSjVTV1JsYm5ScFptbGxjaWhwWkdWdWRHbG1hV1Z5S1NCN1hHNGdJSFpoY2lCeVpYTjFiSFFnUFNBdE1UdGNibHh1SUNCbWIzSWdLSFpoY2lCcElEMGdNRHNnYVNBOElITjBlV3hsYzBsdVJHOXRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnYVdZZ0tITjBlV3hsYzBsdVJHOXRXMmxkTG1sa1pXNTBhV1pwWlhJZ1BUMDlJR2xrWlc1MGFXWnBaWElwSUh0Y2JpQWdJQ0FnSUhKbGMzVnNkQ0E5SUdrN1hHNGdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdGIyUjFiR1Z6Vkc5RWIyMG9iR2x6ZEN3Z2IzQjBhVzl1Y3lrZ2UxeHVJQ0IyWVhJZ2FXUkRiM1Z1ZEUxaGNDQTlJSHQ5TzF4dUlDQjJZWElnYVdSbGJuUnBabWxsY25NZ1BTQmJYVHRjYmx4dUlDQm1iM0lnS0haaGNpQnBJRDBnTURzZ2FTQThJR3hwYzNRdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQjJZWElnYVhSbGJTQTlJR3hwYzNSYmFWMDdYRzRnSUNBZ2RtRnlJR2xrSUQwZ2IzQjBhVzl1Y3k1aVlYTmxJRDhnYVhSbGJWc3dYU0FySUc5d2RHbHZibk11WW1GelpTQTZJR2wwWlcxYk1GMDdYRzRnSUNBZ2RtRnlJR052ZFc1MElEMGdhV1JEYjNWdWRFMWhjRnRwWkYwZ2ZId2dNRHRjYmlBZ0lDQjJZWElnYVdSbGJuUnBabWxsY2lBOUlGd2lYQ0l1WTI5dVkyRjBLR2xrTENCY0lpQmNJaWt1WTI5dVkyRjBLR052ZFc1MEtUdGNiaUFnSUNCcFpFTnZkVzUwVFdGd1cybGtYU0E5SUdOdmRXNTBJQ3NnTVR0Y2JpQWdJQ0IyWVhJZ2FXNWtaWGdnUFNCblpYUkpibVJsZUVKNVNXUmxiblJwWm1sbGNpaHBaR1Z1ZEdsbWFXVnlLVHRjYmlBZ0lDQjJZWElnYjJKcUlEMGdlMXh1SUNBZ0lDQWdZM056T2lCcGRHVnRXekZkTEZ4dUlDQWdJQ0FnYldWa2FXRTZJR2wwWlcxYk1sMHNYRzRnSUNBZ0lDQnpiM1Z5WTJWTllYQTZJR2wwWlcxYk0xMWNiaUFnSUNCOU8xeHVYRzRnSUNBZ2FXWWdLR2x1WkdWNElDRTlQU0F0TVNrZ2UxeHVJQ0FnSUNBZ2MzUjViR1Z6U1c1RWIyMWJhVzVrWlhoZExuSmxabVZ5Wlc1alpYTXJLenRjYmlBZ0lDQWdJSE4wZVd4bGMwbHVSRzl0VzJsdVpHVjRYUzUxY0dSaGRHVnlLRzlpYWlrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSE4wZVd4bGMwbHVSRzl0TG5CMWMyZ29lMXh1SUNBZ0lDQWdJQ0JwWkdWdWRHbG1hV1Z5T2lCcFpHVnVkR2xtYVdWeUxGeHVJQ0FnSUNBZ0lDQjFjR1JoZEdWeU9pQmhaR1JUZEhsc1pTaHZZbW9zSUc5d2RHbHZibk1wTEZ4dUlDQWdJQ0FnSUNCeVpXWmxjbVZ1WTJWek9pQXhYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaR1Z1ZEdsbWFXVnljeTV3ZFhOb0tHbGtaVzUwYVdacFpYSXBPMXh1SUNCOVhHNWNiaUFnY21WMGRYSnVJR2xrWlc1MGFXWnBaWEp6TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJwYm5ObGNuUlRkSGxzWlVWc1pXMWxiblFvYjNCMGFXOXVjeWtnZTF4dUlDQjJZWElnYzNSNWJHVWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDZHpkSGxzWlNjcE8xeHVJQ0IyWVhJZ1lYUjBjbWxpZFhSbGN5QTlJRzl3ZEdsdmJuTXVZWFIwY21saWRYUmxjeUI4ZkNCN2ZUdGNibHh1SUNCcFppQW9kSGx3Wlc5bUlHRjBkSEpwWW5WMFpYTXVibTl1WTJVZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnZG1GeUlHNXZibU5sSUQwZ2RIbHdaVzltSUY5ZmQyVmljR0ZqYTE5dWIyNWpaVjlmSUNFOVBTQW5kVzVrWldacGJtVmtKeUEvSUY5ZmQyVmljR0ZqYTE5dWIyNWpaVjlmSURvZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNodWIyNWpaU2tnZTF4dUlDQWdJQ0FnWVhSMGNtbGlkWFJsY3k1dWIyNWpaU0E5SUc1dmJtTmxPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJRTlpYW1WamRDNXJaWGx6S0dGMGRISnBZblYwWlhNcExtWnZja1ZoWTJnb1puVnVZM1JwYjI0Z0tHdGxlU2tnZTF4dUlDQWdJSE4wZVd4bExuTmxkRUYwZEhKcFluVjBaU2hyWlhrc0lHRjBkSEpwWW5WMFpYTmJhMlY1WFNrN1hHNGdJSDBwTzF4dVhHNGdJR2xtSUNoMGVYQmxiMllnYjNCMGFXOXVjeTVwYm5ObGNuUWdQVDA5SUNkbWRXNWpkR2x2YmljcElIdGNiaUFnSUNCdmNIUnBiMjV6TG1sdWMyVnlkQ2h6ZEhsc1pTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdkbUZ5SUhSaGNtZGxkQ0E5SUdkbGRGUmhjbWRsZENodmNIUnBiMjV6TG1sdWMyVnlkQ0I4ZkNBbmFHVmhaQ2NwTzF4dVhHNGdJQ0FnYVdZZ0tDRjBZWEpuWlhRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY0lrTnZkV3hrYmlkMElHWnBibVFnWVNCemRIbHNaU0IwWVhKblpYUXVJRlJvYVhNZ2NISnZZbUZpYkhrZ2JXVmhibk1nZEdoaGRDQjBhR1VnZG1Gc2RXVWdabTl5SUhSb1pTQW5hVzV6WlhKMEp5QndZWEpoYldWMFpYSWdhWE1nYVc1MllXeHBaQzVjSWlrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdGeVoyVjBMbUZ3Y0dWdVpFTm9hV3hrS0hOMGVXeGxLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ6ZEhsc1pUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NtVnRiM1psVTNSNWJHVkZiR1Z0Wlc1MEtITjBlV3hsS1NCN1hHNGdJQzh2SUdsemRHRnVZblZzSUdsbmJtOXlaU0JwWmx4dUlDQnBaaUFvYzNSNWJHVXVjR0Z5Wlc1MFRtOWtaU0E5UFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQm1ZV3h6WlR0Y2JpQWdmVnh1WEc0Z0lITjBlV3hsTG5CaGNtVnVkRTV2WkdVdWNtVnRiM1psUTJocGJHUW9jM1I1YkdVcE8xeHVmVnh1THlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUc1bGVIUWdJQ292WEc1Y2JseHVkbUZ5SUhKbGNHeGhZMlZVWlhoMElEMGdablZ1WTNScGIyNGdjbVZ3YkdGalpWUmxlSFFvS1NCN1hHNGdJSFpoY2lCMFpYaDBVM1J2Y21VZ1BTQmJYVHRjYmlBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1SUhKbGNHeGhZMlVvYVc1a1pYZ3NJSEpsY0d4aFkyVnRaVzUwS1NCN1hHNGdJQ0FnZEdWNGRGTjBiM0psVzJsdVpHVjRYU0E5SUhKbGNHeGhZMlZ0Wlc1ME8xeHVJQ0FnSUhKbGRIVnliaUIwWlhoMFUzUnZjbVV1Wm1sc2RHVnlLRUp2YjJ4bFlXNHBMbXB2YVc0b0oxeGNiaWNwTzF4dUlDQjlPMXh1ZlNncE8xeHVYRzVtZFc1amRHbHZiaUJoY0hCc2VWUnZVMmx1WjJ4bGRHOXVWR0ZuS0hOMGVXeGxMQ0JwYm1SbGVDd2djbVZ0YjNabExDQnZZbW9wSUh0Y2JpQWdkbUZ5SUdOemN5QTlJSEpsYlc5MlpTQS9JQ2NuSURvZ2IySnFMbTFsWkdsaElEOGdYQ0pBYldWa2FXRWdYQ0l1WTI5dVkyRjBLRzlpYWk1dFpXUnBZU3dnWENJZ2Uxd2lLUzVqYjI1allYUW9iMkpxTG1OemN5d2dYQ0o5WENJcElEb2diMkpxTG1OemN6c2dMeThnUm05eUlHOXNaQ0JKUlZ4dVhHNGdJQzhxSUdsemRHRnVZblZzSUdsbmJtOXlaU0JwWmlBZ0tpOWNibHh1SUNCcFppQW9jM1I1YkdVdWMzUjViR1ZUYUdWbGRDa2dlMXh1SUNBZ0lITjBlV3hsTG5OMGVXeGxVMmhsWlhRdVkzTnpWR1Y0ZENBOUlISmxjR3hoWTJWVVpYaDBLR2x1WkdWNExDQmpjM01wTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhaaGNpQmpjM05PYjJSbElEMGdaRzlqZFcxbGJuUXVZM0psWVhSbFZHVjRkRTV2WkdVb1kzTnpLVHRjYmlBZ0lDQjJZWElnWTJocGJHUk9iMlJsY3lBOUlITjBlV3hsTG1Ob2FXeGtUbTlrWlhNN1hHNWNiaUFnSUNCcFppQW9ZMmhwYkdST2IyUmxjMXRwYm1SbGVGMHBJSHRjYmlBZ0lDQWdJSE4wZVd4bExuSmxiVzkyWlVOb2FXeGtLR05vYVd4a1RtOWtaWE5iYVc1a1pYaGRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWTJocGJHUk9iMlJsY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhOMGVXeGxMbWx1YzJWeWRFSmxabTl5WlNoamMzTk9iMlJsTENCamFHbHNaRTV2WkdWelcybHVaR1Y0WFNrN1hHNGdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJSE4wZVd4bExtRndjR1Z1WkVOb2FXeGtLR056YzA1dlpHVXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJoY0hCc2VWUnZWR0ZuS0hOMGVXeGxMQ0J2Y0hScGIyNXpMQ0J2WW1vcElIdGNiaUFnZG1GeUlHTnpjeUE5SUc5aWFpNWpjM003WEc0Z0lIWmhjaUJ0WldScFlTQTlJRzlpYWk1dFpXUnBZVHRjYmlBZ2RtRnlJSE52ZFhKalpVMWhjQ0E5SUc5aWFpNXpiM1Z5WTJWTllYQTdYRzVjYmlBZ2FXWWdLRzFsWkdsaEtTQjdYRzRnSUNBZ2MzUjViR1V1YzJWMFFYUjBjbWxpZFhSbEtDZHRaV1JwWVNjc0lHMWxaR2xoS1R0Y2JpQWdmU0JsYkhObElIdGNiaUFnSUNCemRIbHNaUzV5WlcxdmRtVkJkSFJ5YVdKMWRHVW9KMjFsWkdsaEp5azdYRzRnSUgxY2JseHVJQ0JwWmlBb2MyOTFjbU5sVFdGd0lDWW1JR0owYjJFcElIdGNiaUFnSUNCamMzTWdLejBnWENKY1hHNHZLaU1nYzI5MWNtTmxUV0Z3Y0dsdVoxVlNURDFrWVhSaE9tRndjR3hwWTJGMGFXOXVMMnB6YjI0N1ltRnpaVFkwTEZ3aUxtTnZibU5oZENoaWRHOWhLSFZ1WlhOallYQmxLR1Z1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ2hLVTA5T0xuTjBjbWx1WjJsbWVTaHpiM1Z5WTJWTllYQXBLU2twTENCY0lpQXFMMXdpS1R0Y2JpQWdmU0F2THlCR2IzSWdiMnhrSUVsRlhHNWNiaUFnTHlvZ2FYTjBZVzVpZFd3Z2FXZHViM0psSUdsbUlDQXFMMXh1WEc1Y2JpQWdhV1lnS0hOMGVXeGxMbk4wZVd4bFUyaGxaWFFwSUh0Y2JpQWdJQ0J6ZEhsc1pTNXpkSGxzWlZOb1pXVjBMbU56YzFSbGVIUWdQU0JqYzNNN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2QyaHBiR1VnS0hOMGVXeGxMbVpwY25OMFEyaHBiR1FwSUh0Y2JpQWdJQ0FnSUhOMGVXeGxMbkpsYlc5MlpVTm9hV3hrS0hOMGVXeGxMbVpwY25OMFEyaHBiR1FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSE4wZVd4bExtRndjR1Z1WkVOb2FXeGtLR1J2WTNWdFpXNTBMbU55WldGMFpWUmxlSFJPYjJSbEtHTnpjeWtwTzF4dUlDQjlYRzU5WEc1Y2JuWmhjaUJ6YVc1bmJHVjBiMjRnUFNCdWRXeHNPMXh1ZG1GeUlITnBibWRzWlhSdmJrTnZkVzUwWlhJZ1BTQXdPMXh1WEc1bWRXNWpkR2x2YmlCaFpHUlRkSGxzWlNodlltb3NJRzl3ZEdsdmJuTXBJSHRjYmlBZ2RtRnlJSE4wZVd4bE8xeHVJQ0IyWVhJZ2RYQmtZWFJsTzF4dUlDQjJZWElnY21WdGIzWmxPMXh1WEc0Z0lHbG1JQ2h2Y0hScGIyNXpMbk5wYm1kc1pYUnZiaWtnZTF4dUlDQWdJSFpoY2lCemRIbHNaVWx1WkdWNElEMGdjMmx1WjJ4bGRHOXVRMjkxYm5SbGNpc3JPMXh1SUNBZ0lITjBlV3hsSUQwZ2MybHVaMnhsZEc5dUlIeDhJQ2h6YVc1bmJHVjBiMjRnUFNCcGJuTmxjblJUZEhsc1pVVnNaVzFsYm5Rb2IzQjBhVzl1Y3lrcE8xeHVJQ0FnSUhWd1pHRjBaU0E5SUdGd2NHeDVWRzlUYVc1bmJHVjBiMjVVWVdjdVltbHVaQ2h1ZFd4c0xDQnpkSGxzWlN3Z2MzUjViR1ZKYm1SbGVDd2dabUZzYzJVcE8xeHVJQ0FnSUhKbGJXOTJaU0E5SUdGd2NHeDVWRzlUYVc1bmJHVjBiMjVVWVdjdVltbHVaQ2h1ZFd4c0xDQnpkSGxzWlN3Z2MzUjViR1ZKYm1SbGVDd2dkSEoxWlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2MzUjViR1VnUFNCcGJuTmxjblJUZEhsc1pVVnNaVzFsYm5Rb2IzQjBhVzl1Y3lrN1hHNGdJQ0FnZFhCa1lYUmxJRDBnWVhCd2JIbFViMVJoWnk1aWFXNWtLRzUxYkd3c0lITjBlV3hsTENCdmNIUnBiMjV6S1R0Y2JseHVJQ0FnSUhKbGJXOTJaU0E5SUdaMWJtTjBhVzl1SUhKbGJXOTJaU2dwSUh0Y2JpQWdJQ0FnSUhKbGJXOTJaVk4wZVd4bFJXeGxiV1Z1ZENoemRIbHNaU2s3WEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUhWd1pHRjBaU2h2WW1vcE8xeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdkWEJrWVhSbFUzUjViR1VvYm1WM1QySnFLU0I3WEc0Z0lDQWdhV1lnS0c1bGQwOWlhaWtnZTF4dUlDQWdJQ0FnYVdZZ0tHNWxkMDlpYWk1amMzTWdQVDA5SUc5aWFpNWpjM01nSmlZZ2JtVjNUMkpxTG0xbFpHbGhJRDA5UFNCdlltb3ViV1ZrYVdFZ0ppWWdibVYzVDJKcUxuTnZkWEpqWlUxaGNDQTlQVDBnYjJKcUxuTnZkWEpqWlUxaGNDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSFZ3WkdGMFpTaHZZbW9nUFNCdVpYZFBZbW9wTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnlaVzF2ZG1Vb0tUdGNiaUFnSUNCOVhHNGdJSDA3WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNGdLR3hwYzNRc0lHOXdkR2x2Ym5NcElIdGNiaUFnYjNCMGFXOXVjeUE5SUc5d2RHbHZibk1nZkh3Z2UzMDdJQzh2SUVadmNtTmxJSE5wYm1kc1pTMTBZV2NnYzI5c2RYUnBiMjRnYjI0Z1NVVTJMVGtzSUhkb2FXTm9JR2hoY3lCaElHaGhjbVFnYkdsdGFYUWdiMjRnZEdobElDTWdiMllnUEhOMGVXeGxQbHh1SUNBdkx5QjBZV2R6SUdsMElIZHBiR3dnWVd4c2IzY2diMjRnWVNCd1lXZGxYRzVjYmlBZ2FXWWdLQ0Z2Y0hScGIyNXpMbk5wYm1kc1pYUnZiaUFtSmlCMGVYQmxiMllnYjNCMGFXOXVjeTV6YVc1bmJHVjBiMjRnSVQwOUlDZGliMjlzWldGdUp5a2dlMXh1SUNBZ0lHOXdkR2x2Ym5NdWMybHVaMnhsZEc5dUlEMGdhWE5QYkdSSlJTZ3BPMXh1SUNCOVhHNWNiaUFnYkdsemRDQTlJR3hwYzNRZ2ZId2dXMTA3WEc0Z0lIWmhjaUJzWVhOMFNXUmxiblJwWm1sbGNuTWdQU0J0YjJSMWJHVnpWRzlFYjIwb2JHbHpkQ3dnYjNCMGFXOXVjeWs3WEc0Z0lISmxkSFZ5YmlCbWRXNWpkR2x2YmlCMWNHUmhkR1VvYm1WM1RHbHpkQ2tnZTF4dUlDQWdJRzVsZDB4cGMzUWdQU0J1WlhkTWFYTjBJSHg4SUZ0ZE8xeHVYRzRnSUNBZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVkRzlUZEhKcGJtY3VZMkZzYkNodVpYZE1hWE4wS1NBaFBUMGdKMXR2WW1wbFkzUWdRWEp5WVhsZEp5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdadmNpQW9kbUZ5SUdrZ1BTQXdPeUJwSUR3Z2JHRnpkRWxrWlc1MGFXWnBaWEp6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQjJZWElnYVdSbGJuUnBabWxsY2lBOUlHeGhjM1JKWkdWdWRHbG1hV1Z5YzF0cFhUdGNiaUFnSUNBZ0lIWmhjaUJwYm1SbGVDQTlJR2RsZEVsdVpHVjRRbmxKWkdWdWRHbG1hV1Z5S0dsa1pXNTBhV1pwWlhJcE8xeHVJQ0FnSUNBZ2MzUjViR1Z6U1c1RWIyMWJhVzVrWlhoZExuSmxabVZ5Wlc1alpYTXRMVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnYm1WM1RHRnpkRWxrWlc1MGFXWnBaWEp6SUQwZ2JXOWtkV3hsYzFSdlJHOXRLRzVsZDB4cGMzUXNJRzl3ZEdsdmJuTXBPMXh1WEc0Z0lDQWdabTl5SUNoMllYSWdYMmtnUFNBd095QmZhU0E4SUd4aGMzUkpaR1Z1ZEdsbWFXVnljeTVzWlc1bmRHZzdJRjlwS3lzcElIdGNiaUFnSUNBZ0lIWmhjaUJmYVdSbGJuUnBabWxsY2lBOUlHeGhjM1JKWkdWdWRHbG1hV1Z5YzF0ZmFWMDdYRzVjYmlBZ0lDQWdJSFpoY2lCZmFXNWtaWGdnUFNCblpYUkpibVJsZUVKNVNXUmxiblJwWm1sbGNpaGZhV1JsYm5ScFptbGxjaWs3WEc1Y2JpQWdJQ0FnSUdsbUlDaHpkSGxzWlhOSmJrUnZiVnRmYVc1a1pYaGRMbkpsWm1WeVpXNWpaWE1nUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnYzNSNWJHVnpTVzVFYjIxYlgybHVaR1Y0WFM1MWNHUmhkR1Z5S0NrN1hHNWNiaUFnSUNBZ0lDQWdjM1I1YkdWelNXNUViMjB1YzNCc2FXTmxLRjlwYm1SbGVDd2dNU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR0Z6ZEVsa1pXNTBhV1pwWlhKeklEMGdibVYzVEdGemRFbGtaVzUwYVdacFpYSnpPMXh1SUNCOU8xeHVmVHNpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7dmFyIHNjb3BlID0gKHR5cGVvZiBnbG9iYWwgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIGdsb2JhbCkgfHxcXG4gICAgICAgICAgICAodHlwZW9mIHNlbGYgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIHNlbGYpIHx8XFxuICAgICAgICAgICAgd2luZG93O1xcbnZhciBhcHBseSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtcXG5cXG4vLyBET00gQVBJcywgZm9yIGNvbXBsZXRlbmVzc1xcblxcbmV4cG9ydHMuc2V0VGltZW91dCA9IGZ1bmN0aW9uKCkge1xcbiAgcmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0VGltZW91dCwgc2NvcGUsIGFyZ3VtZW50cyksIGNsZWFyVGltZW91dCk7XFxufTtcXG5leHBvcnRzLnNldEludGVydmFsID0gZnVuY3Rpb24oKSB7XFxuICByZXR1cm4gbmV3IFRpbWVvdXQoYXBwbHkuY2FsbChzZXRJbnRlcnZhbCwgc2NvcGUsIGFyZ3VtZW50cyksIGNsZWFySW50ZXJ2YWwpO1xcbn07XFxuZXhwb3J0cy5jbGVhclRpbWVvdXQgPVxcbmV4cG9ydHMuY2xlYXJJbnRlcnZhbCA9IGZ1bmN0aW9uKHRpbWVvdXQpIHtcXG4gIGlmICh0aW1lb3V0KSB7XFxuICAgIHRpbWVvdXQuY2xvc2UoKTtcXG4gIH1cXG59O1xcblxcbmZ1bmN0aW9uIFRpbWVvdXQoaWQsIGNsZWFyRm4pIHtcXG4gIHRoaXMuX2lkID0gaWQ7XFxuICB0aGlzLl9jbGVhckZuID0gY2xlYXJGbjtcXG59XFxuVGltZW91dC5wcm90b3R5cGUudW5yZWYgPSBUaW1lb3V0LnByb3RvdHlwZS5yZWYgPSBmdW5jdGlvbigpIHt9O1xcblRpbWVvdXQucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24oKSB7XFxuICB0aGlzLl9jbGVhckZuLmNhbGwoc2NvcGUsIHRoaXMuX2lkKTtcXG59O1xcblxcbi8vIERvZXMgbm90IHN0YXJ0IHRoZSB0aW1lLCBqdXN0IHNldHMgdXAgdGhlIG1lbWJlcnMgbmVlZGVkLlxcbmV4cG9ydHMuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSwgbXNlY3MpIHtcXG4gIGNsZWFyVGltZW91dChpdGVtLl9pZGxlVGltZW91dElkKTtcXG4gIGl0ZW0uX2lkbGVUaW1lb3V0ID0gbXNlY3M7XFxufTtcXG5cXG5leHBvcnRzLnVuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSkge1xcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xcbiAgaXRlbS5faWRsZVRpbWVvdXQgPSAtMTtcXG59O1xcblxcbmV4cG9ydHMuX3VucmVmQWN0aXZlID0gZXhwb3J0cy5hY3RpdmUgPSBmdW5jdGlvbihpdGVtKSB7XFxuICBjbGVhclRpbWVvdXQoaXRlbS5faWRsZVRpbWVvdXRJZCk7XFxuXFxuICB2YXIgbXNlY3MgPSBpdGVtLl9pZGxlVGltZW91dDtcXG4gIGlmIChtc2VjcyA+PSAwKSB7XFxuICAgIGl0ZW0uX2lkbGVUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uIG9uVGltZW91dCgpIHtcXG4gICAgICBpZiAoaXRlbS5fb25UaW1lb3V0KVxcbiAgICAgICAgaXRlbS5fb25UaW1lb3V0KCk7XFxuICAgIH0sIG1zZWNzKTtcXG4gIH1cXG59O1xcblxcbi8vIHNldGltbWVkaWF0ZSBhdHRhY2hlcyBpdHNlbGYgdG8gdGhlIGdsb2JhbCBvYmplY3RcXG5fX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBzZXRpbW1lZGlhdGUgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3NldGltbWVkaWF0ZS9zZXRJbW1lZGlhdGUuanNcXFwiKTtcXG4vLyBPbiBzb21lIGV4b3RpYyBlbnZpcm9ubWVudHMsIGl0J3Mgbm90IGNsZWFyIHdoaWNoIG9iamVjdCBgc2V0aW1tZWRpYXRlYCB3YXNcXG4vLyBhYmxlIHRvIGluc3RhbGwgb250by4gIFNlYXJjaCBlYWNoIHBvc3NpYmlsaXR5IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZVxcbi8vIGBzZXRpbW1lZGlhdGVgIGxpYnJhcnkuXFxuZXhwb3J0cy5zZXRJbW1lZGlhdGUgPSAodHlwZW9mIHNlbGYgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIHNlbGYuc2V0SW1tZWRpYXRlKSB8fFxcbiAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIGdsb2JhbC5zZXRJbW1lZGlhdGUpIHx8XFxuICAgICAgICAgICAgICAgICAgICAgICAodGhpcyAmJiB0aGlzLnNldEltbWVkaWF0ZSk7XFxuZXhwb3J0cy5jbGVhckltbWVkaWF0ZSA9ICh0eXBlb2Ygc2VsZiAhPT0gXFxcInVuZGVmaW5lZFxcXCIgJiYgc2VsZi5jbGVhckltbWVkaWF0ZSkgfHxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFxcXCJ1bmRlZmluZWRcXFwiICYmIGdsb2JhbC5jbGVhckltbWVkaWF0ZSkgfHxcXG4gICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgJiYgdGhpcy5jbGVhckltbWVkaWF0ZSk7XFxuXFxuLyogV0VCUEFDSyBWQVIgSU5KRUNUSU9OICovfS5jYWxsKHRoaXMsIF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vLi4vd2VicGFjay9idWlsZGluL2dsb2JhbC5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcXCIpKSkvLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OTBhVzFsY25NdFluSnZkM05sY21sbWVTOXRZV2x1TG1welAyRTVZakVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUczdRVUZGUVR0QlFVTkJMRzFDUVVGUExFTkJRVU1zYVVWQlFXTTdRVUZEZEVJN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJJaXdpWm1sc1pTSTZJaTR2Ym05a1pWOXRiMlIxYkdWekwzUnBiV1Z5Y3kxaWNtOTNjMlZ5YVdaNUwyMWhhVzR1YW5NdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUoyWVhJZ2MyTnZjR1VnUFNBb2RIbHdaVzltSUdkc2IySmhiQ0FoUFQwZ1hDSjFibVJsWm1sdVpXUmNJaUFtSmlCbmJHOWlZV3dwSUh4OFhHNGdJQ0FnSUNBZ0lDQWdJQ0FvZEhsd1pXOW1JSE5sYkdZZ0lUMDlJRndpZFc1a1pXWnBibVZrWENJZ0ppWWdjMlZzWmlrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUhkcGJtUnZkenRjYm5aaGNpQmhjSEJzZVNBOUlFWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTNWhjSEJzZVR0Y2JseHVMeThnUkU5TklFRlFTWE1zSUdadmNpQmpiMjF3YkdWMFpXNWxjM05jYmx4dVpYaHdiM0owY3k1elpYUlVhVzFsYjNWMElEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lISmxkSFZ5YmlCdVpYY2dWR2x0Wlc5MWRDaGhjSEJzZVM1allXeHNLSE5sZEZScGJXVnZkWFFzSUhOamIzQmxMQ0JoY21kMWJXVnVkSE1wTENCamJHVmhjbFJwYldWdmRYUXBPMXh1ZlR0Y2JtVjRjRzl5ZEhNdWMyVjBTVzUwWlhKMllXd2dQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJVYVcxbGIzVjBLR0Z3Y0d4NUxtTmhiR3dvYzJWMFNXNTBaWEoyWVd3c0lITmpiM0JsTENCaGNtZDFiV1Z1ZEhNcExDQmpiR1ZoY2tsdWRHVnlkbUZzS1R0Y2JuMDdYRzVsZUhCdmNuUnpMbU5zWldGeVZHbHRaVzkxZENBOVhHNWxlSEJ2Y25SekxtTnNaV0Z5U1c1MFpYSjJZV3dnUFNCbWRXNWpkR2x2YmloMGFXMWxiM1YwS1NCN1hHNGdJR2xtSUNoMGFXMWxiM1YwS1NCN1hHNGdJQ0FnZEdsdFpXOTFkQzVqYkc5elpTZ3BPMXh1SUNCOVhHNTlPMXh1WEc1bWRXNWpkR2x2YmlCVWFXMWxiM1YwS0dsa0xDQmpiR1ZoY2tadUtTQjdYRzRnSUhSb2FYTXVYMmxrSUQwZ2FXUTdYRzRnSUhSb2FYTXVYMk5zWldGeVJtNGdQU0JqYkdWaGNrWnVPMXh1ZlZ4dVZHbHRaVzkxZEM1d2NtOTBiM1I1Y0dVdWRXNXlaV1lnUFNCVWFXMWxiM1YwTG5CeWIzUnZkSGx3WlM1eVpXWWdQU0JtZFc1amRHbHZiaWdwSUh0OU8xeHVWR2x0Wlc5MWRDNXdjbTkwYjNSNWNHVXVZMnh2YzJVZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ2RHaHBjeTVmWTJ4bFlYSkdiaTVqWVd4c0tITmpiM0JsTENCMGFHbHpMbDlwWkNrN1hHNTlPMXh1WEc0dkx5QkViMlZ6SUc1dmRDQnpkR0Z5ZENCMGFHVWdkR2x0WlN3Z2FuVnpkQ0J6WlhSeklIVndJSFJvWlNCdFpXMWlaWEp6SUc1bFpXUmxaQzVjYm1WNGNHOXlkSE11Wlc1eWIyeHNJRDBnWm5WdVkzUnBiMjRvYVhSbGJTd2diWE5sWTNNcElIdGNiaUFnWTJ4bFlYSlVhVzFsYjNWMEtHbDBaVzB1WDJsa2JHVlVhVzFsYjNWMFNXUXBPMXh1SUNCcGRHVnRMbDlwWkd4bFZHbHRaVzkxZENBOUlHMXpaV056TzF4dWZUdGNibHh1Wlhod2IzSjBjeTUxYm1WdWNtOXNiQ0E5SUdaMWJtTjBhVzl1S0dsMFpXMHBJSHRjYmlBZ1kyeGxZWEpVYVcxbGIzVjBLR2wwWlcwdVgybGtiR1ZVYVcxbGIzVjBTV1FwTzF4dUlDQnBkR1Z0TGw5cFpHeGxWR2x0Wlc5MWRDQTlJQzB4TzF4dWZUdGNibHh1Wlhod2IzSjBjeTVmZFc1eVpXWkJZM1JwZG1VZ1BTQmxlSEJ2Y25SekxtRmpkR2wyWlNBOUlHWjFibU4wYVc5dUtHbDBaVzBwSUh0Y2JpQWdZMnhsWVhKVWFXMWxiM1YwS0dsMFpXMHVYMmxrYkdWVWFXMWxiM1YwU1dRcE8xeHVYRzRnSUhaaGNpQnRjMlZqY3lBOUlHbDBaVzB1WDJsa2JHVlVhVzFsYjNWME8xeHVJQ0JwWmlBb2JYTmxZM01nUGowZ01Da2dlMXh1SUNBZ0lHbDBaVzB1WDJsa2JHVlVhVzFsYjNWMFNXUWdQU0J6WlhSVWFXMWxiM1YwS0daMWJtTjBhVzl1SUc5dVZHbHRaVzkxZENncElIdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWdExsOXZibFJwYldWdmRYUXBYRzRnSUNBZ0lDQWdJR2wwWlcwdVgyOXVWR2x0Wlc5MWRDZ3BPMXh1SUNBZ0lIMHNJRzF6WldOektUdGNiaUFnZlZ4dWZUdGNibHh1THk4Z2MyVjBhVzF0WldScFlYUmxJR0YwZEdGamFHVnpJR2wwYzJWc1ppQjBieUIwYUdVZ1oyeHZZbUZzSUc5aWFtVmpkRnh1Y21WeGRXbHlaU2hjSW5ObGRHbHRiV1ZrYVdGMFpWd2lLVHRjYmk4dklFOXVJSE52YldVZ1pYaHZkR2xqSUdWdWRtbHliMjV0Wlc1MGN5d2dhWFFuY3lCdWIzUWdZMnhsWVhJZ2QyaHBZMmdnYjJKcVpXTjBJR0J6WlhScGJXMWxaR2xoZEdWZ0lIZGhjMXh1THk4Z1lXSnNaU0IwYnlCcGJuTjBZV3hzSUc5dWRHOHVJQ0JUWldGeVkyZ2daV0ZqYUNCd2IzTnphV0pwYkdsMGVTQnBiaUIwYUdVZ2MyRnRaU0J2Y21SbGNpQmhjeUIwYUdWY2JpOHZJR0J6WlhScGJXMWxaR2xoZEdWZ0lHeHBZbkpoY25rdVhHNWxlSEJ2Y25SekxuTmxkRWx0YldWa2FXRjBaU0E5SUNoMGVYQmxiMllnYzJWc1ppQWhQVDBnWENKMWJtUmxabWx1WldSY0lpQW1KaUJ6Wld4bUxuTmxkRWx0YldWa2FXRjBaU2tnZkh4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnS0hSNWNHVnZaaUJuYkc5aVlXd2dJVDA5SUZ3aWRXNWtaV1pwYm1Wa1hDSWdKaVlnWjJ4dlltRnNMbk5sZEVsdGJXVmthV0YwWlNrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0tIUm9hWE1nSmlZZ2RHaHBjeTV6WlhSSmJXMWxaR2xoZEdVcE8xeHVaWGh3YjNKMGN5NWpiR1ZoY2tsdGJXVmthV0YwWlNBOUlDaDBlWEJsYjJZZ2MyVnNaaUFoUFQwZ1hDSjFibVJsWm1sdVpXUmNJaUFtSmlCelpXeG1MbU5zWldGeVNXMXRaV1JwWVhSbEtTQjhmRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2gwZVhCbGIyWWdaMnh2WW1Gc0lDRTlQU0JjSW5WdVpHVm1hVzVsWkZ3aUlDWW1JR2RzYjJKaGJDNWpiR1ZoY2tsdGJXVmthV0YwWlNrZ2ZIeGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW9kR2hwY3lBbUppQjBhR2x6TG1Oc1pXRnlTVzF0WldScFlYUmxLVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy90aW1lcnMtYnJvd3NlcmlmeS9tYWluLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogX19leHRlbmRzLCBfX2Fzc2lnbiwgX19yZXN0LCBfX2RlY29yYXRlLCBfX3BhcmFtLCBfX21ldGFkYXRhLCBfX2F3YWl0ZXIsIF9fZ2VuZXJhdG9yLCBfX2V4cG9ydFN0YXIsIF9fdmFsdWVzLCBfX3JlYWQsIF9fc3ByZWFkLCBfX3NwcmVhZEFycmF5cywgX19hd2FpdCwgX19hc3luY0dlbmVyYXRvciwgX19hc3luY0RlbGVnYXRvciwgX19hc3luY1ZhbHVlcywgX19tYWtlVGVtcGxhdGVPYmplY3QsIF9faW1wb3J0U3RhciwgX19pbXBvcnREZWZhdWx0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2V4dGVuZHNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fZXh0ZW5kczsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19hc3NpZ25cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fYXNzaWduOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX3Jlc3RcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fcmVzdDsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19kZWNvcmF0ZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19kZWNvcmF0ZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19wYXJhbVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19wYXJhbTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19tZXRhZGF0YVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19tZXRhZGF0YTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19hd2FpdGVyXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2F3YWl0ZXI7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9fZ2VuZXJhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2dlbmVyYXRvcjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19leHBvcnRTdGFyXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2V4cG9ydFN0YXI7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9fdmFsdWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX3ZhbHVlczsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19yZWFkXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX3JlYWQ7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9fc3ByZWFkXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX3NwcmVhZDsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiX19zcHJlYWRBcnJheXNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9fc3ByZWFkQXJyYXlzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2F3YWl0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2F3YWl0OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2FzeW5jR2VuZXJhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2FzeW5jR2VuZXJhdG9yOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2FzeW5jRGVsZWdhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2FzeW5jRGVsZWdhdG9yOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2FzeW5jVmFsdWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfX2FzeW5jVmFsdWVzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX21ha2VUZW1wbGF0ZU9iamVjdFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19tYWtlVGVtcGxhdGVPYmplY3Q7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIl9faW1wb3J0U3RhclxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX19pbXBvcnRTdGFyOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJfX2ltcG9ydERlZmF1bHRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9faW1wb3J0RGVmYXVsdDsgfSk7XFxuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXFxyXFxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXFxyXFxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFxcXCJMaWNlbnNlXFxcIik7IHlvdSBtYXkgbm90IHVzZVxcclxcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXFxyXFxuTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcXHJcXG5cXHJcXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXFxyXFxuS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIFdJVEhPVVQgTElNSVRBVElPTiBBTlkgSU1QTElFRFxcclxcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsXFxyXFxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cXHJcXG5cXHJcXG5TZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcXHJcXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXFxyXFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cXHJcXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xcclxcblxcclxcbnZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24oZCwgYikge1xcclxcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XFxyXFxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XFxyXFxuICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcXHJcXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XFxyXFxufTtcXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xcclxcbiAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xcclxcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cXHJcXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xcclxcbn1cXHJcXG5cXHJcXG52YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcXHJcXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcXHJcXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xcclxcbiAgICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XFxyXFxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0O1xcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX3Jlc3QocywgZSkge1xcclxcbiAgICB2YXIgdCA9IHt9O1xcclxcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcXHJcXG4gICAgICAgIHRbcF0gPSBzW3BdO1xcclxcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcXFwiZnVuY3Rpb25cXFwiKVxcclxcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xcclxcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcXHJcXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XFxyXFxuICAgICAgICB9XFxyXFxuICAgIHJldHVybiB0O1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2RlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XFxyXFxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XFxyXFxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXFxcIm9iamVjdFxcXCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFxcXCJmdW5jdGlvblxcXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcXHJcXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcXHJcXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcXHJcXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcXHJcXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcXFwib2JqZWN0XFxcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXFxcImZ1bmN0aW9uXFxcIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XFxyXFxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xcclxcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxcclxcbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXFxcInRocm93XFxcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxcclxcbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHJlc3VsdC52YWx1ZSk7IH0pLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cXHJcXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcXHJcXG4gICAgfSk7XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fZ2VuZXJhdG9yKHRoaXNBcmcsIGJvZHkpIHtcXHJcXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcXHJcXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFxcXCJ0aHJvd1xcXCI6IHZlcmIoMSksIFxcXCJyZXR1cm5cXFwiOiB2ZXJiKDIpIH0sIHR5cGVvZiBTeW1ib2wgPT09IFxcXCJmdW5jdGlvblxcXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XFxyXFxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxcclxcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XFxyXFxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlxcXCIpO1xcclxcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XFxyXFxuICAgICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcXFwicmV0dXJuXFxcIl0gOiBvcFswXSA/IHlbXFxcInRocm93XFxcIl0gfHwgKCh0ID0geVtcXFwicmV0dXJuXFxcIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xcclxcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgMDogY2FzZSAxOiB0ID0gb3A7IGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgNzogb3AgPSBfLm9wcy5wb3AoKTsgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcXHJcXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSAzICYmICghdCB8fCAob3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpKSB7IF8ubGFiZWwgPSBvcFsxXTsgYnJlYWs7IH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XFxyXFxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XFxyXFxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xcclxcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fdmFsdWVzKG8pIHtcXHJcXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcXFwiZnVuY3Rpb25cXFwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXSwgaSA9IDA7XFxyXFxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xcclxcbiAgICByZXR1cm4ge1xcclxcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xcclxcbiAgICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9O1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX3JlYWQobywgbikge1xcclxcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFxcXCJmdW5jdGlvblxcXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xcclxcbiAgICBpZiAoIW0pIHJldHVybiBvO1xcclxcbiAgICB2YXIgaSA9IG0uY2FsbChvKSwgciwgYXIgPSBbXSwgZTtcXHJcXG4gICAgdHJ5IHtcXHJcXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xcclxcbiAgICB9XFxyXFxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxcclxcbiAgICBmaW5hbGx5IHtcXHJcXG4gICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXFxcInJldHVyblxcXCJdKSkgbS5jYWxsKGkpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XFxyXFxuICAgIH1cXHJcXG4gICAgcmV0dXJuIGFyO1xcclxcbn1cXHJcXG5cXHJcXG5mdW5jdGlvbiBfX3NwcmVhZCgpIHtcXHJcXG4gICAgZm9yICh2YXIgYXIgPSBbXSwgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspXFxyXFxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XFxyXFxuICAgIHJldHVybiBhcjtcXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XFxyXFxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xcclxcbiAgICBmb3IgKHZhciByID0gQXJyYXkocyksIGsgPSAwLCBpID0gMDsgaSA8IGlsOyBpKyspXFxyXFxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcXHJcXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcXHJcXG4gICAgcmV0dXJuIHI7XFxyXFxufTtcXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2F3YWl0KHYpIHtcXHJcXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fYXN5bmNHZW5lcmF0b3IodGhpc0FyZywgX2FyZ3VtZW50cywgZ2VuZXJhdG9yKSB7XFxyXFxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlxcXCIpO1xcclxcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xcclxcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFxcXCJuZXh0XFxcIiksIHZlcmIoXFxcInRocm93XFxcIiksIHZlcmIoXFxcInJldHVyblxcXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XFxyXFxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpZiAoZ1tuXSkgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgfVxcclxcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XFxyXFxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxcclxcbiAgICBmdW5jdGlvbiBmdWxmaWxsKHZhbHVlKSB7IHJlc3VtZShcXFwibmV4dFxcXCIsIHZhbHVlKTsgfVxcclxcbiAgICBmdW5jdGlvbiByZWplY3QodmFsdWUpIHsgcmVzdW1lKFxcXCJ0aHJvd1xcXCIsIHZhbHVlKTsgfVxcclxcbiAgICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xcclxcbiAgICB2YXIgaSwgcDtcXHJcXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcXFwibmV4dFxcXCIpLCB2ZXJiKFxcXCJ0aHJvd1xcXCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFxcXCJyZXR1cm5cXFwiKSwgaVtTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcXHJcXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXFxcInJldHVyblxcXCIgfSA6IGYgPyBmKHYpIDogdjsgfSA6IGY7IH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XFxyXFxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlxcXCIpO1xcclxcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xcclxcbiAgICByZXR1cm4gbSA/IG0uY2FsbChvKSA6IChvID0gdHlwZW9mIF9fdmFsdWVzID09PSBcXFwiZnVuY3Rpb25cXFwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFxcXCJuZXh0XFxcIiksIHZlcmIoXFxcInRocm93XFxcIiksIHZlcmIoXFxcInJldHVyblxcXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xcclxcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XFxyXFxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cXHJcXG59XFxyXFxuXFxyXFxuZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcXHJcXG4gICAgaWYgKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSkgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29va2VkLCBcXFwicmF3XFxcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XFxyXFxuICAgIHJldHVybiBjb29rZWQ7XFxyXFxufTtcXHJcXG5cXHJcXG5mdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XFxyXFxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XFxyXFxuICAgIHZhciByZXN1bHQgPSB7fTtcXHJcXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcXHJcXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XFxyXFxuICAgIHJldHVybiByZXN1bHQ7XFxyXFxufVxcclxcblxcclxcbmZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcXHJcXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwyNXZaR1ZmYlc5a2RXeGxjeTkwYzJ4cFlpOTBjMnhwWWk1bGN6WXVhbk0vWVRkbU5DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVU5CTzBGQlEwRXNLMFJCUVN0RU8wRkJReTlFTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTEZWQlFWVXNaMEpCUVdkQ0xITkRRVUZ6UXl4cFFrRkJhVUlzUlVGQlJUdEJRVU51Uml4NVFrRkJlVUlzZFVSQlFYVkVPMEZCUTJoR08wRkJRMEU3TzBGQlJVODdRVUZEVUR0QlFVTkJMRzFDUVVGdFFpeHpRa0ZCYzBJN1FVRkRla003UVVGRFFUczdRVUZGVHp0QlFVTlFPMEZCUTBFc1owUkJRV2RFTEU5QlFVODdRVUZEZGtRN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlU4N1FVRkRVRHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTERSRVFVRTBSQ3hqUVVGak8wRkJRekZGTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN08wRkJSVTg3UVVGRFVEdEJRVU5CTzBGQlEwRXNORU5CUVRSRExGRkJRVkU3UVVGRGNFUTdRVUZEUVRzN1FVRkZUenRCUVVOUUxHMURRVUZ0UXl4dlEwRkJiME03UVVGRGRrVTdPMEZCUlU4N1FVRkRVRHRCUVVOQk96dEJRVVZQTzBGQlExQTdRVUZEUVN4dFEwRkJiVU1zVFVGQlRTdzJRa0ZCTmtJc1JVRkJSU3haUVVGWkxGZEJRVmNzUlVGQlJUdEJRVU5xUnl4clEwRkJhME1zVFVGQlRTeHBRMEZCYVVNc1JVRkJSU3haUVVGWkxGZEJRVmNzUlVGQlJUdEJRVU53Unl3clFrRkJLMElzYVVWQlFXbEZMSFZDUVVGMVFpeEZRVUZGTERSQ1FVRTBRanRCUVVOeVNqdEJRVU5CTEV0QlFVczdRVUZEVERzN1FVRkZUenRCUVVOUUxHRkJRV0VzTmtKQlFUWkNMREJDUVVFd1FpeGhRVUZoTEVWQlFVVXNjVUpCUVhGQ08wRkJRM2hITEdkQ1FVRm5RaXh4UkVGQmNVUXNiMFZCUVc5RkxHRkJRV0VzUlVGQlJUdEJRVU40U2l4elFrRkJjMElzYzBKQlFYTkNMSEZDUVVGeFFpeEhRVUZITzBGQlEzQkZPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEhWRFFVRjFRenRCUVVOMlF5eHJRMEZCYTBNc1UwRkJVenRCUVVNelF5eHJRMEZCYTBNc1YwRkJWeXhWUVVGVk8wRkJRM1pFTEhsRFFVRjVReXhqUVVGak8wRkJRM1pFTzBGQlEwRXNOa2RCUVRaSExFOUJRVThzVlVGQlZUdEJRVU01U0N4blJrRkJaMFlzYVVKQlFXbENMRTlCUVU4N1FVRkRlRWNzZDBSQlFYZEVMR2RDUVVGblFpeFJRVUZSTEU5QlFVODdRVUZEZGtZc09FTkJRVGhETEdkQ1FVRm5RaXhuUWtGQlowSXNUMEZCVHp0QlFVTnlSanRCUVVOQkxHbERRVUZwUXp0QlFVTnFRenRCUVVOQk8wRkJRMEVzVTBGQlV5eFpRVUZaTEdGQlFXRXNUMEZCVHl4RlFVRkZMRlZCUVZVc1YwRkJWenRCUVVOb1JTeHRRMEZCYlVNc1UwRkJVenRCUVVNMVF6dEJRVU5CT3p0QlFVVlBPMEZCUTFBN1FVRkRRVHM3UVVGRlR6dEJRVU5RTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3h2UWtGQmIwSTdRVUZEY0VJN1FVRkRRVHRCUVVOQk96dEJRVVZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYlVKQlFXMUNMRTFCUVUwc1owSkJRV2RDTzBGQlEzcERPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzYVVKQlFXbENMSE5DUVVGelFqdEJRVU4yUXp0QlFVTkJPMEZCUTBFN08wRkJSVTg3UVVGRFVDdzBRa0ZCTkVJc2MwSkJRWE5DTzBGQlEyeEVPMEZCUTBFN1FVRkRRVHM3UVVGRlR6dEJRVU5RTEdsRVFVRnBSQ3hSUVVGUk8wRkJRM3BFTEhkRFFVRjNReXhSUVVGUk8wRkJRMmhFTEhkRVFVRjNSQ3hSUVVGUk8wRkJRMmhGTzBGQlEwRTdRVUZEUVRzN1FVRkZUenRCUVVOUU8wRkJRMEU3TzBGQlJVODdRVUZEVUR0QlFVTkJPMEZCUTBFc2FVSkJRV2xDTEhOR1FVRnpSaXhoUVVGaExFVkJRVVU3UVVGRGRFZ3NjMEpCUVhOQ0xHZERRVUZuUXl4eFEwRkJjVU1zTUVOQlFUQkRMRVZCUVVVc1JVRkJSU3hIUVVGSE8wRkJRelZKTERKQ1FVRXlRaXhOUVVGTkxHVkJRV1VzUlVGQlJTeFpRVUZaTEc5Q1FVRnZRaXhGUVVGRk8wRkJRM0JHTEhOQ1FVRnpRaXh2UjBGQmIwYzdRVUZETVVnc05rSkJRVFpDTEhWQ1FVRjFRanRCUVVOd1JDdzBRa0ZCTkVJc2QwSkJRWGRDTzBGQlEzQkVMREpDUVVFeVFpeDVSRUZCZVVRN1FVRkRjRVk3TzBGQlJVODdRVUZEVUR0QlFVTkJMR2xDUVVGcFFpdzBRMEZCTkVNc1UwRkJVeXhGUVVGRkxIRkVRVUZ4UkN4aFFVRmhMRVZCUVVVN1FVRkROVWtzZVVKQlFYbENMRFpDUVVFMlFpeHZRa0ZCYjBJc1owUkJRV2RFTEdkQ1FVRm5RaXhGUVVGRkxFdEJRVXM3UVVGRGFrbzdPMEZCUlU4N1FVRkRVRHRCUVVOQk8wRkJRMEVzTWtkQlFUSkhMSE5HUVVGelJpeGhRVUZoTEVWQlFVVTdRVUZEYUU0c2MwSkJRWE5DTERoQ1FVRTRRaXhuUkVGQlowUXNkVVJCUVhWRUxFVkJRVVVzUlVGQlJTeEhRVUZITzBGQlEyeExMRFJEUVVFMFF5eHpRMEZCYzBNc1ZVRkJWU3h2UWtGQmIwSXNSVUZCUlN4RlFVRkZMRlZCUVZVN1FVRkRPVWc3TzBGQlJVODdRVUZEVUN4blEwRkJaME1zZFVOQlFYVkRMR0ZCUVdFc1JVRkJSU3hGUVVGRkxFOUJRVThzYTBKQlFXdENPMEZCUTJwSU8wRkJRMEU3TzBGQlJVODdRVUZEVUR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3TzBGQlJVODdRVUZEVUN3MFEwRkJORU03UVVGRE5VTWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmRITnNhV0l2ZEhOc2FXSXVaWE0yTG1wekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvaElDb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xWEhKY2JrTnZjSGx5YVdkb2RDQW9ZeWtnVFdsamNtOXpiMlowSUVOdmNuQnZjbUYwYVc5dUxpQkJiR3dnY21sbmFIUnpJSEpsYzJWeWRtVmtMbHh5WEc1TWFXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FYQmhZMmhsSUV4cFkyVnVjMlVzSUZabGNuTnBiMjRnTWk0d0lDaDBhR1VnWENKTWFXTmxibk5sWENJcE95QjViM1VnYldGNUlHNXZkQ0IxYzJWY2NseHVkR2hwY3lCbWFXeGxJR1Y0WTJWd2RDQnBiaUJqYjIxd2JHbGhibU5sSUhkcGRHZ2dkR2hsSUV4cFkyVnVjMlV1SUZsdmRTQnRZWGtnYjJKMFlXbHVJR0VnWTI5d2VTQnZaaUIwYUdWY2NseHVUR2xqWlc1elpTQmhkQ0JvZEhSd09pOHZkM2QzTG1Gd1lXTm9aUzV2Y21jdmJHbGpaVzV6WlhNdlRFbERSVTVUUlMweUxqQmNjbHh1WEhKY2JsUklTVk1nUTA5RVJTQkpVeUJRVWs5V1NVUkZSQ0JQVGlCQlRpQXFRVk1nU1ZNcUlFSkJVMGxUTENCWFNWUklUMVZVSUZkQlVsSkJUbFJKUlZNZ1QxSWdRMDlPUkVsVVNVOU9VeUJQUmlCQlRsbGNjbHh1UzBsT1JDd2dSVWxVU0VWU0lFVllVRkpGVTFNZ1QxSWdTVTFRVEVsRlJDd2dTVTVEVEZWRVNVNUhJRmRKVkVoUFZWUWdURWxOU1ZSQlZFbFBUaUJCVGxrZ1NVMVFURWxGUkZ4eVhHNVhRVkpTUVU1VVNVVlRJRTlTSUVOUFRrUkpWRWxQVGxNZ1QwWWdWRWxVVEVVc0lFWkpWRTVGVTFNZ1JrOVNJRUVnVUVGU1ZFbERWVXhCVWlCUVZWSlFUMU5GTEZ4eVhHNU5SVkpEU0VGT1ZFRkNURWxVV1NCUFVpQk9UMDR0U1U1R1VrbE9SMFZOUlU1VUxseHlYRzVjY2x4dVUyVmxJSFJvWlNCQmNHRmphR1VnVm1WeWMybHZiaUF5TGpBZ1RHbGpaVzV6WlNCbWIzSWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6WEhKY2JtRnVaQ0JzYVcxcGRHRjBhVzl1Y3lCMWJtUmxjaUIwYUdVZ1RHbGpaVzV6WlM1Y2NseHVLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvcUtpb3FLaW9xS2lvZ0tpOWNjbHh1THlvZ1oyeHZZbUZzSUZKbFpteGxZM1FzSUZCeWIyMXBjMlVnS2k5Y2NseHVYSEpjYm5aaGNpQmxlSFJsYm1SVGRHRjBhV056SUQwZ1puVnVZM1JwYjI0b1pDd2dZaWtnZTF4eVhHNGdJQ0FnWlhoMFpXNWtVM1JoZEdsamN5QTlJRTlpYW1WamRDNXpaWFJRY205MGIzUjVjR1ZQWmlCOGZGeHlYRzRnSUNBZ0lDQWdJQ2g3SUY5ZmNISnZkRzlmWHpvZ1cxMGdmU0JwYm5OMFlXNWpaVzltSUVGeWNtRjVJQ1ltSUdaMWJtTjBhVzl1SUNoa0xDQmlLU0I3SUdRdVgxOXdjbTkwYjE5ZklEMGdZanNnZlNrZ2ZIeGNjbHh1SUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUFvWkN3Z1lpa2dleUJtYjNJZ0tIWmhjaUJ3SUdsdUlHSXBJR2xtSUNoaUxtaGhjMDkzYmxCeWIzQmxjblI1S0hBcEtTQmtXM0JkSUQwZ1lsdHdYVHNnZlR0Y2NseHVJQ0FnSUhKbGRIVnliaUJsZUhSbGJtUlRkR0YwYVdOektHUXNJR0lwTzF4eVhHNTlPMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZaWGgwWlc1a2N5aGtMQ0JpS1NCN1hISmNiaUFnSUNCbGVIUmxibVJUZEdGMGFXTnpLR1FzSUdJcE8xeHlYRzRnSUNBZ1puVnVZM1JwYjI0Z1gxOG9LU0I3SUhSb2FYTXVZMjl1YzNSeWRXTjBiM0lnUFNCa095QjlYSEpjYmlBZ0lDQmtMbkJ5YjNSdmRIbHdaU0E5SUdJZ1BUMDlJRzUxYkd3Z1B5QlBZbXBsWTNRdVkzSmxZWFJsS0dJcElEb2dLRjlmTG5CeWIzUnZkSGx3WlNBOUlHSXVjSEp2ZEc5MGVYQmxMQ0J1WlhjZ1gxOG9LU2s3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCMllYSWdYMTloYzNOcFoyNGdQU0JtZFc1amRHbHZiaWdwSUh0Y2NseHVJQ0FnSUY5ZllYTnphV2R1SUQwZ1QySnFaV04wTG1GemMybG5iaUI4ZkNCbWRXNWpkR2x2YmlCZlgyRnpjMmxuYmloMEtTQjdYSEpjYmlBZ0lDQWdJQ0FnWm05eUlDaDJZWElnY3l3Z2FTQTlJREVzSUc0Z1BTQmhjbWQxYldWdWRITXViR1Z1WjNSb095QnBJRHdnYmpzZ2FTc3JLU0I3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSE1nUFNCaGNtZDFiV1Z1ZEhOYmFWMDdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlIQWdhVzRnY3lrZ2FXWWdLRTlpYW1WamRDNXdjbTkwYjNSNWNHVXVhR0Z6VDNkdVVISnZjR1Z5ZEhrdVkyRnNiQ2h6TENCd0tTa2dkRnR3WFNBOUlITmJjRjA3WEhKY2JpQWdJQ0FnSUNBZ2ZWeHlYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBPMXh5WEc0Z0lDQWdmVnh5WEc0Z0lDQWdjbVYwZFhKdUlGOWZZWE56YVdkdUxtRndjR3g1S0hSb2FYTXNJR0Z5WjNWdFpXNTBjeWs3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgzSmxjM1FvY3l3Z1pTa2dlMXh5WEc0Z0lDQWdkbUZ5SUhRZ1BTQjdmVHRjY2x4dUlDQWdJR1p2Y2lBb2RtRnlJSEFnYVc0Z2N5a2dhV1lnS0U5aWFtVmpkQzV3Y205MGIzUjVjR1V1YUdGelQzZHVVSEp2Y0dWeWRIa3VZMkZzYkNoekxDQndLU0FtSmlCbExtbHVaR1Y0VDJZb2NDa2dQQ0F3S1Z4eVhHNGdJQ0FnSUNBZ0lIUmJjRjBnUFNCelczQmRPMXh5WEc0Z0lDQWdhV1lnS0hNZ0lUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1QySnFaV04wTG1kbGRFOTNibEJ5YjNCbGNuUjVVM2x0WW05c2N5QTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtWeHlYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQndJRDBnVDJKcVpXTjBMbWRsZEU5M2JsQnliM0JsY25SNVUzbHRZbTlzY3loektUc2dhU0E4SUhBdWJHVnVaM1JvT3lCcEt5c3BJSHRjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dVdWFXNWtaWGhQWmlod1cybGRLU0E4SURBZ0ppWWdUMkpxWldOMExuQnliM1J2ZEhsd1pTNXdjbTl3WlhKMGVVbHpSVzUxYldWeVlXSnNaUzVqWVd4c0tITXNJSEJiYVYwcEtWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkRnR3VzJsZFhTQTlJSE5iY0Z0cFhWMDdYSEpjYmlBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnY21WMGRYSnVJSFE3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyUmxZMjl5WVhSbEtHUmxZMjl5WVhSdmNuTXNJSFJoY21kbGRDd2dhMlY1TENCa1pYTmpLU0I3WEhKY2JpQWdJQ0IyWVhJZ1l5QTlJR0Z5WjNWdFpXNTBjeTVzWlc1bmRHZ3NJSElnUFNCaklEd2dNeUEvSUhSaGNtZGxkQ0E2SUdSbGMyTWdQVDA5SUc1MWJHd2dQeUJrWlhOaklEMGdUMkpxWldOMExtZGxkRTkzYmxCeWIzQmxjblI1UkdWelkzSnBjSFJ2Y2loMFlYSm5aWFFzSUd0bGVTa2dPaUJrWlhOakxDQmtPMXh5WEc0Z0lDQWdhV1lnS0hSNWNHVnZaaUJTWldac1pXTjBJRDA5UFNCY0ltOWlhbVZqZEZ3aUlDWW1JSFI1Y0dWdlppQlNaV1pzWldOMExtUmxZMjl5WVhSbElEMDlQU0JjSW1aMWJtTjBhVzl1WENJcElISWdQU0JTWldac1pXTjBMbVJsWTI5eVlYUmxLR1JsWTI5eVlYUnZjbk1zSUhSaGNtZGxkQ3dnYTJWNUxDQmtaWE5qS1R0Y2NseHVJQ0FnSUdWc2MyVWdabTl5SUNoMllYSWdhU0E5SUdSbFkyOXlZWFJ2Y25NdWJHVnVaM1JvSUMwZ01Uc2dhU0ErUFNBd095QnBMUzBwSUdsbUlDaGtJRDBnWkdWamIzSmhkRzl5YzF0cFhTa2djaUE5SUNoaklEd2dNeUEvSUdRb2Npa2dPaUJqSUQ0Z015QS9JR1FvZEdGeVoyVjBMQ0JyWlhrc0lISXBJRG9nWkNoMFlYSm5aWFFzSUd0bGVTa3BJSHg4SUhJN1hISmNiaUFnSUNCeVpYUjFjbTRnWXlBK0lETWdKaVlnY2lBbUppQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvZEdGeVoyVjBMQ0JyWlhrc0lISXBMQ0J5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXdZWEpoYlNod1lYSmhiVWx1WkdWNExDQmtaV052Y21GMGIzSXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kR0Z5WjJWMExDQnJaWGtwSUhzZ1pHVmpiM0poZEc5eUtIUmhjbWRsZEN3Z2EyVjVMQ0J3WVhKaGJVbHVaR1Y0S1RzZ2ZWeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTl0WlhSaFpHRjBZU2h0WlhSaFpHRjBZVXRsZVN3Z2JXVjBZV1JoZEdGV1lXeDFaU2tnZTF4eVhHNGdJQ0FnYVdZZ0tIUjVjR1Z2WmlCU1pXWnNaV04wSUQwOVBTQmNJbTlpYW1WamRGd2lJQ1ltSUhSNWNHVnZaaUJTWldac1pXTjBMbTFsZEdGa1lYUmhJRDA5UFNCY0ltWjFibU4wYVc5dVhDSXBJSEpsZEhWeWJpQlNaV1pzWldOMExtMWxkR0ZrWVhSaEtHMWxkR0ZrWVhSaFMyVjVMQ0J0WlhSaFpHRjBZVlpoYkhWbEtUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhkaGFYUmxjaWgwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6TENCUUxDQm5aVzVsY21GMGIzSXBJSHRjY2x4dUlDQWdJSEpsZEhWeWJpQnVaWGNnS0ZBZ2ZId2dLRkFnUFNCUWNtOXRhWE5sS1Nrb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHlYRzRnSUNBZ0lDQWdJR1oxYm1OMGFXOXVJR1oxYkdacGJHeGxaQ2gyWVd4MVpTa2dleUIwY25rZ2V5QnpkR1Z3S0dkbGJtVnlZWFJ2Y2k1dVpYaDBLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCeVpXcGxZM1JsWkNoMllXeDFaU2tnZXlCMGNua2dleUJ6ZEdWd0tHZGxibVZ5WVhSdmNsdGNJblJvY205M1hDSmRLSFpoYkhWbEtTazdJSDBnWTJGMFkyZ2dLR1VwSUhzZ2NtVnFaV04wS0dVcE95QjlJSDFjY2x4dUlDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCemRHVndLSEpsYzNWc2RDa2dleUJ5WlhOMWJIUXVaRzl1WlNBL0lISmxjMjlzZG1Vb2NtVnpkV3gwTG5aaGJIVmxLU0E2SUc1bGR5QlFLR1oxYm1OMGFXOXVJQ2h5WlhOdmJIWmxLU0I3SUhKbGMyOXNkbVVvY21WemRXeDBMblpoYkhWbEtUc2dmU2t1ZEdobGJpaG1kV3htYVd4c1pXUXNJSEpsYW1WamRHVmtLVHNnZlZ4eVhHNGdJQ0FnSUNBZ0lITjBaWEFvS0dkbGJtVnlZWFJ2Y2lBOUlHZGxibVZ5WVhSdmNpNWhjSEJzZVNoMGFHbHpRWEpuTENCZllYSm5kVzFsYm5SeklIeDhJRnRkS1NrdWJtVjRkQ2dwS1R0Y2NseHVJQ0FnSUgwcE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTluWlc1bGNtRjBiM0lvZEdocGMwRnlaeXdnWW05a2VTa2dlMXh5WEc0Z0lDQWdkbUZ5SUY4Z1BTQjdJR3hoWW1Wc09pQXdMQ0J6Wlc1ME9pQm1kVzVqZEdsdmJpZ3BJSHNnYVdZZ0tIUmJNRjBnSmlBeEtTQjBhSEp2ZHlCMFd6RmRPeUJ5WlhSMWNtNGdkRnN4WFRzZ2ZTd2dkSEo1Y3pvZ1cxMHNJRzl3Y3pvZ1cxMGdmU3dnWml3Z2VTd2dkQ3dnWnp0Y2NseHVJQ0FnSUhKbGRIVnliaUJuSUQwZ2V5QnVaWGgwT2lCMlpYSmlLREFwTENCY0luUm9jbTkzWENJNklIWmxjbUlvTVNrc0lGd2ljbVYwZFhKdVhDSTZJSFpsY21Jb01pa2dmU3dnZEhsd1pXOW1JRk41YldKdmJDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUlDWW1JQ2huVzFONWJXSnZiQzVwZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlncElIc2djbVYwZFhKdUlIUm9hWE03SUgwcExDQm5PMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYzNSbGNDaGJiaXdnZGwwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tHOXdLU0I3WEhKY2JpQWdJQ0FnSUNBZ2FXWWdLR1lwSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkhaVzVsY21GMGIzSWdhWE1nWVd4eVpXRmtlU0JsZUdWamRYUnBibWN1WENJcE8xeHlYRzRnSUNBZ0lDQWdJSGRvYVd4bElDaGZLU0IwY25rZ2UxeHlYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9aaUE5SURFc0lIa2dKaVlnS0hRZ1BTQnZjRnN3WFNBbUlESWdQeUI1VzF3aWNtVjBkWEp1WENKZElEb2diM0JiTUYwZ1B5QjVXMXdpZEdoeWIzZGNJbDBnZkh3Z0tDaDBJRDBnZVZ0Y0luSmxkSFZ5Ymx3aVhTa2dKaVlnZEM1allXeHNLSGtwTENBd0tTQTZJSGt1Ym1WNGRDa2dKaVlnSVNoMElEMGdkQzVqWVd4c0tIa3NJRzl3V3pGZEtTa3VaRzl1WlNrZ2NtVjBkWEp1SUhRN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDVJRDBnTUN3Z2RDa2diM0FnUFNCYmIzQmJNRjBnSmlBeUxDQjBMblpoYkhWbFhUdGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2MzZHBkR05vSUNodmNGc3dYU2tnZTF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0F3T2lCallYTmxJREU2SUhRZ1BTQnZjRHNnWW5KbFlXczdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JqWVhObElEUTZJRjh1YkdGaVpXd3JLenNnY21WMGRYSnVJSHNnZG1Gc2RXVTZJRzl3V3pGZExDQmtiMjVsT2lCbVlXeHpaU0I5TzF4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1kyRnpaU0ExT2lCZkxteGhZbVZzS3lzN0lIa2dQU0J2Y0ZzeFhUc2diM0FnUFNCYk1GMDdJR052Ym5ScGJuVmxPMXh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTJGelpTQTNPaUJ2Y0NBOUlGOHViM0J6TG5CdmNDZ3BPeUJmTG5SeWVYTXVjRzl3S0NrN0lHTnZiblJwYm5WbE8xeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdaR1ZtWVhWc2REcGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9JU2gwSUQwZ1h5NTBjbmx6TENCMElEMGdkQzVzWlc1bmRHZ2dQaUF3SUNZbUlIUmJkQzVzWlc1bmRHZ2dMU0F4WFNrZ0ppWWdLRzl3V3pCZElEMDlQU0EySUh4OElHOXdXekJkSUQwOVBTQXlLU2tnZXlCZklEMGdNRHNnWTI5dWRHbHVkV1U3SUgxY2NseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb2IzQmJNRjBnUFQwOUlETWdKaVlnS0NGMElIeDhJQ2h2Y0ZzeFhTQStJSFJiTUYwZ0ppWWdiM0JiTVYwZ1BDQjBXek5kS1NrcElIc2dYeTVzWVdKbGJDQTlJRzl3V3pGZE95QmljbVZoYXpzZ2ZWeHlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZjRnN3WFNBOVBUMGdOaUFtSmlCZkxteGhZbVZzSUR3Z2RGc3hYU2tnZXlCZkxteGhZbVZzSUQwZ2RGc3hYVHNnZENBOUlHOXdPeUJpY21WaGF6c2dmVnh5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwSUNZbUlGOHViR0ZpWld3Z1BDQjBXekpkS1NCN0lGOHViR0ZpWld3Z1BTQjBXekpkT3lCZkxtOXdjeTV3ZFhOb0tHOXdLVHNnWW5KbFlXczdJSDFjY2x4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEZzeVhTa2dYeTV2Y0hNdWNHOXdLQ2s3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdYeTUwY25sekxuQnZjQ2dwT3lCamIyNTBhVzUxWlR0Y2NseHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4eVhHNGdJQ0FnSUNBZ0lDQWdJQ0J2Y0NBOUlHSnZaSGt1WTJGc2JDaDBhR2x6UVhKbkxDQmZLVHRjY2x4dUlDQWdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdJRzl3SUQwZ1d6WXNJR1ZkT3lCNUlEMGdNRHNnZlNCbWFXNWhiR3g1SUhzZ1ppQTlJSFFnUFNBd095QjlYSEpjYmlBZ0lDQWdJQ0FnYVdZZ0tHOXdXekJkSUNZZ05Ta2dkR2h5YjNjZ2IzQmJNVjA3SUhKbGRIVnliaUI3SUhaaGJIVmxPaUJ2Y0Zzd1hTQS9JRzl3V3pGZElEb2dkbTlwWkNBd0xDQmtiMjVsT2lCMGNuVmxJSDA3WEhKY2JpQWdJQ0I5WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCZlgyVjRjRzl5ZEZOMFlYSW9iU3dnWlhod2IzSjBjeWtnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnY0NCcGJpQnRLU0JwWmlBb0lXVjRjRzl5ZEhNdWFHRnpUM2R1VUhKdmNHVnlkSGtvY0NrcElHVjRjRzl5ZEhOYmNGMGdQU0J0VzNCZE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdYMTkyWVd4MVpYTW9ieWtnZTF4eVhHNGdJQ0FnZG1GeUlHMGdQU0IwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0JjSW1aMWJtTjBhVzl1WENJZ0ppWWdiMXRUZVcxaWIyd3VhWFJsY21GMGIzSmRMQ0JwSUQwZ01EdGNjbHh1SUNBZ0lHbG1JQ2h0S1NCeVpYUjFjbTRnYlM1allXeHNLRzhwTzF4eVhHNGdJQ0FnY21WMGRYSnVJSHRjY2x4dUlDQWdJQ0FnSUNCdVpYaDBPaUJtZFc1amRHbHZiaUFvS1NCN1hISmNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaHZJQ1ltSUdrZ1BqMGdieTVzWlc1bmRHZ3BJRzhnUFNCMmIybGtJREE3WEhKY2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQjdJSFpoYkhWbE9pQnZJQ1ltSUc5YmFTc3JYU3dnWkc5dVpUb2dJVzhnZlR0Y2NseHVJQ0FnSUNBZ0lDQjlYSEpjYmlBZ0lDQjlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5eVpXRmtLRzhzSUc0cElIdGNjbHh1SUNBZ0lIWmhjaUJ0SUQwZ2RIbHdaVzltSUZONWJXSnZiQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lJQ1ltSUc5YlUzbHRZbTlzTG1sMFpYSmhkRzl5WFR0Y2NseHVJQ0FnSUdsbUlDZ2hiU2tnY21WMGRYSnVJRzg3WEhKY2JpQWdJQ0IyWVhJZ2FTQTlJRzB1WTJGc2JDaHZLU3dnY2l3Z1lYSWdQU0JiWFN3Z1pUdGNjbHh1SUNBZ0lIUnllU0I3WEhKY2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0NodUlEMDlQU0IyYjJsa0lEQWdmSHdnYmkwdElENGdNQ2tnSmlZZ0lTaHlJRDBnYVM1dVpYaDBLQ2twTG1SdmJtVXBJR0Z5TG5CMWMyZ29jaTUyWVd4MVpTazdYSEpjYmlBZ0lDQjlYSEpjYmlBZ0lDQmpZWFJqYUNBb1pYSnliM0lwSUhzZ1pTQTlJSHNnWlhKeWIzSTZJR1Z5Y205eUlIMDdJSDFjY2x4dUlDQWdJR1pwYm1Gc2JIa2dlMXh5WEc0Z0lDQWdJQ0FnSUhSeWVTQjdYSEpjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2h5SUNZbUlDRnlMbVJ2Ym1VZ0ppWWdLRzBnUFNCcFcxd2ljbVYwZFhKdVhDSmRLU2tnYlM1allXeHNLR2twTzF4eVhHNGdJQ0FnSUNBZ0lIMWNjbHh1SUNBZ0lDQWdJQ0JtYVc1aGJHeDVJSHNnYVdZZ0tHVXBJSFJvY205M0lHVXVaWEp5YjNJN0lIMWNjbHh1SUNBZ0lIMWNjbHh1SUNBZ0lISmxkSFZ5YmlCaGNqdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYzNCeVpXRmtLQ2tnZTF4eVhHNGdJQ0FnWm05eUlDaDJZWElnWVhJZ1BTQmJYU3dnYVNBOUlEQTdJR2tnUENCaGNtZDFiV1Z1ZEhNdWJHVnVaM1JvT3lCcEt5c3BYSEpjYmlBZ0lDQWdJQ0FnWVhJZ1BTQmhjaTVqYjI1allYUW9YMTl5WldGa0tHRnlaM1Z0Wlc1MGMxdHBYU2twTzF4eVhHNGdJQ0FnY21WMGRYSnVJR0Z5TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOXpjSEpsWVdSQmNuSmhlWE1vS1NCN1hISmNiaUFnSUNCbWIzSWdLSFpoY2lCeklEMGdNQ3dnYVNBOUlEQXNJR2xzSUQwZ1lYSm5kVzFsYm5SekxteGxibWQwYURzZ2FTQThJR2xzT3lCcEt5c3BJSE1nS3owZ1lYSm5kVzFsYm5SelcybGRMbXhsYm1kMGFEdGNjbHh1SUNBZ0lHWnZjaUFvZG1GeUlISWdQU0JCY25KaGVTaHpLU3dnYXlBOUlEQXNJR2tnUFNBd095QnBJRHdnYVd3N0lHa3JLeWxjY2x4dUlDQWdJQ0FnSUNCbWIzSWdLSFpoY2lCaElEMGdZWEpuZFcxbGJuUnpXMmxkTENCcUlEMGdNQ3dnYW13Z1BTQmhMbXhsYm1kMGFEc2dhaUE4SUdwc095QnFLeXNzSUdzckt5bGNjbHh1SUNBZ0lDQWdJQ0FnSUNBZ2NsdHJYU0E5SUdGYmFsMDdYSEpjYmlBZ0lDQnlaWFIxY200Z2NqdGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJmWDJGM1lXbDBLSFlwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUIwYUdseklHbHVjM1JoYm1ObGIyWWdYMTloZDJGcGRDQS9JQ2gwYUdsekxuWWdQU0IyTENCMGFHbHpLU0E2SUc1bGR5QmZYMkYzWVdsMEtIWXBPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWDE5aGMzbHVZMGRsYm1WeVlYUnZjaWgwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6TENCblpXNWxjbUYwYjNJcElIdGNjbHh1SUNBZ0lHbG1JQ2doVTNsdFltOXNMbUZ6ZVc1alNYUmxjbUYwYjNJcElIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pUZVcxaWIyd3VZWE41Ym1OSmRHVnlZWFJ2Y2lCcGN5QnViM1FnWkdWbWFXNWxaQzVjSWlrN1hISmNiaUFnSUNCMllYSWdaeUE5SUdkbGJtVnlZWFJ2Y2k1aGNIQnNlU2gwYUdselFYSm5MQ0JmWVhKbmRXMWxiblJ6SUh4OElGdGRLU3dnYVN3Z2NTQTlJRnRkTzF4eVhHNGdJQ0FnY21WMGRYSnVJR2tnUFNCN2ZTd2dkbVZ5WWloY0ltNWxlSFJjSWlrc0lIWmxjbUlvWENKMGFISnZkMXdpS1N3Z2RtVnlZaWhjSW5KbGRIVnlibHdpS1N3Z2FWdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBPMXh5WEc0Z0lDQWdablZ1WTNScGIyNGdkbVZ5WWlodUtTQjdJR2xtSUNoblcyNWRLU0JwVzI1ZElEMGdablZ1WTNScGIyNGdLSFlwSUhzZ2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtHWjFibU4wYVc5dUlDaGhMQ0JpS1NCN0lIRXVjSFZ6YUNoYmJpd2dkaXdnWVN3Z1lsMHBJRDRnTVNCOGZDQnlaWE4xYldVb2Jpd2dkaWs3SUgwcE95QjlPeUI5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ5WlhOMWJXVW9iaXdnZGlrZ2V5QjBjbmtnZXlCemRHVndLR2RiYmwwb2Rpa3BPeUI5SUdOaGRHTm9JQ2hsS1NCN0lITmxkSFJzWlNoeFd6QmRXek5kTENCbEtUc2dmU0I5WEhKY2JpQWdJQ0JtZFc1amRHbHZiaUJ6ZEdWd0tISXBJSHNnY2k1MllXeDFaU0JwYm5OMFlXNWpaVzltSUY5ZllYZGhhWFFnUHlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvY2k1MllXeDFaUzUyS1M1MGFHVnVLR1oxYkdacGJHd3NJSEpsYW1WamRDa2dPaUJ6WlhSMGJHVW9jVnN3WFZzeVhTd2djaWs3SUgxY2NseHVJQ0FnSUdaMWJtTjBhVzl1SUdaMWJHWnBiR3dvZG1Gc2RXVXBJSHNnY21WemRXMWxLRndpYm1WNGRGd2lMQ0IyWVd4MVpTazdJSDFjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSEpsYW1WamRDaDJZV3gxWlNrZ2V5QnlaWE4xYldVb1hDSjBhSEp2ZDF3aUxDQjJZV3gxWlNrN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkSFJzWlNobUxDQjJLU0I3SUdsbUlDaG1LSFlwTENCeExuTm9hV1owS0Nrc0lIRXViR1Z1WjNSb0tTQnlaWE4xYldVb2NWc3dYVnN3WFN3Z2NWc3dYVnN4WFNrN0lIMWNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmWVhONWJtTkVaV3hsWjJGMGIzSW9ieWtnZTF4eVhHNGdJQ0FnZG1GeUlHa3NJSEE3WEhKY2JpQWdJQ0J5WlhSMWNtNGdhU0E5SUh0OUxDQjJaWEppS0Z3aWJtVjRkRndpS1N3Z2RtVnlZaWhjSW5Sb2NtOTNYQ0lzSUdaMWJtTjBhVzl1SUNobEtTQjdJSFJvY205M0lHVTdJSDBwTENCMlpYSmlLRndpY21WMGRYSnVYQ0lwTENCcFcxTjViV0p2YkM1cGRHVnlZWFJ2Y2wwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3SUhKbGRIVnliaUIwYUdsek95QjlMQ0JwTzF4eVhHNGdJQ0FnWm5WdVkzUnBiMjRnZG1WeVlpaHVMQ0JtS1NCN0lHbGJibDBnUFNCdlcyNWRJRDhnWm5WdVkzUnBiMjRnS0hZcElIc2djbVYwZFhKdUlDaHdJRDBnSVhBcElEOGdleUIyWVd4MVpUb2dYMTloZDJGcGRDaHZXMjVkS0hZcEtTd2daRzl1WlRvZ2JpQTlQVDBnWENKeVpYUjFjbTVjSWlCOUlEb2daaUEvSUdZb2Rpa2dPaUIyT3lCOUlEb2daanNnZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1gxOWhjM2x1WTFaaGJIVmxjeWh2S1NCN1hISmNiaUFnSUNCcFppQW9JVk41YldKdmJDNWhjM2x1WTBsMFpYSmhkRzl5S1NCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lnYVhNZ2JtOTBJR1JsWm1sdVpXUXVYQ0lwTzF4eVhHNGdJQ0FnZG1GeUlHMGdQU0J2VzFONWJXSnZiQzVoYzNsdVkwbDBaWEpoZEc5eVhTd2dhVHRjY2x4dUlDQWdJSEpsZEhWeWJpQnRJRDhnYlM1allXeHNLRzhwSURvZ0tHOGdQU0IwZVhCbGIyWWdYMTkyWVd4MVpYTWdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQS9JRjlmZG1Gc2RXVnpLRzhwSURvZ2IxdFRlVzFpYjJ3dWFYUmxjbUYwYjNKZEtDa3NJR2tnUFNCN2ZTd2dkbVZ5WWloY0ltNWxlSFJjSWlrc0lIWmxjbUlvWENKMGFISnZkMXdpS1N3Z2RtVnlZaWhjSW5KbGRIVnlibHdpS1N3Z2FWdFRlVzFpYjJ3dVlYTjVibU5KZEdWeVlYUnZjbDBnUFNCbWRXNWpkR2x2YmlBb0tTQjdJSEpsZEhWeWJpQjBhR2x6T3lCOUxDQnBLVHRjY2x4dUlDQWdJR1oxYm1OMGFXOXVJSFpsY21Jb2Jpa2dleUJwVzI1ZElEMGdiMXR1WFNBbUppQm1kVzVqZEdsdmJpQW9kaWtnZXlCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2V5QjJJRDBnYjF0dVhTaDJLU3dnYzJWMGRHeGxLSEpsYzI5c2RtVXNJSEpsYW1WamRDd2dkaTVrYjI1bExDQjJMblpoYkhWbEtUc2dmU2s3SUgwN0lIMWNjbHh1SUNBZ0lHWjFibU4wYVc5dUlITmxkSFJzWlNoeVpYTnZiSFpsTENCeVpXcGxZM1FzSUdRc0lIWXBJSHNnVUhKdmJXbHpaUzV5WlhOdmJIWmxLSFlwTG5Sb1pXNG9ablZ1WTNScGIyNG9kaWtnZXlCeVpYTnZiSFpsS0hzZ2RtRnNkV1U2SUhZc0lHUnZibVU2SUdRZ2ZTazdJSDBzSUhKbGFtVmpkQ2s3SUgxY2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlGOWZiV0ZyWlZSbGJYQnNZWFJsVDJKcVpXTjBLR052YjJ0bFpDd2djbUYzS1NCN1hISmNiaUFnSUNCcFppQW9UMkpxWldOMExtUmxabWx1WlZCeWIzQmxjblI1S1NCN0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2hqYjI5clpXUXNJRndpY21GM1hDSXNJSHNnZG1Gc2RXVTZJSEpoZHlCOUtUc2dmU0JsYkhObElIc2dZMjl2YTJWa0xuSmhkeUE5SUhKaGR6c2dmVnh5WEc0Z0lDQWdjbVYwZFhKdUlHTnZiMnRsWkR0Y2NseHVmVHRjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmZYMmx0Y0c5eWRGTjBZWElvYlc5a0tTQjdYSEpjYmlBZ0lDQnBaaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQnlaWFIxY200Z2JXOWtPMXh5WEc0Z0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUh0OU8xeHlYRzRnSUNBZ2FXWWdLRzF2WkNBaFBTQnVkV3hzS1NCbWIzSWdLSFpoY2lCcklHbHVJRzF2WkNrZ2FXWWdLRTlpYW1WamRDNW9ZWE5QZDI1UWNtOXdaWEowZVM1allXeHNLRzF2WkN3Z2F5a3BJSEpsYzNWc2RGdHJYU0E5SUcxdlpGdHJYVHRjY2x4dUlDQWdJSEpsYzNWc2RDNWtaV1poZFd4MElEMGdiVzlrTzF4eVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRjlmYVcxd2IzSjBSR1ZtWVhWc2RDaHRiMlFwSUh0Y2NseHVJQ0FnSUhKbGRIVnliaUFvYlc5a0lDWW1JRzF2WkM1ZlgyVnpUVzlrZFd4bEtTQS9JRzF2WkNBNklIc2daR1ZtWVhWc2REb2diVzlrSUgwN1hISmNibjFjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cbmV2YWwoXCIvKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi8oZnVuY3Rpb24oZ2xvYmFsKSB7XFxuLyoqXFxuICogTW9kdWxlIGV4cG9ydHMuXFxuICovXFxuXFxubW9kdWxlLmV4cG9ydHMgPSBkZXByZWNhdGU7XFxuXFxuLyoqXFxuICogTWFyayB0aGF0IGEgbWV0aG9kIHNob3VsZCBub3QgYmUgdXNlZC5cXG4gKiBSZXR1cm5zIGEgbW9kaWZpZWQgZnVuY3Rpb24gd2hpY2ggd2FybnMgb25jZSBieSBkZWZhdWx0LlxcbiAqXFxuICogSWYgYGxvY2FsU3RvcmFnZS5ub0RlcHJlY2F0aW9uID0gdHJ1ZWAgaXMgc2V0LCB0aGVuIGl0IGlzIGEgbm8tb3AuXFxuICpcXG4gKiBJZiBgbG9jYWxTdG9yYWdlLnRocm93RGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gZGVwcmVjYXRlZCBmdW5jdGlvbnNcXG4gKiB3aWxsIHRocm93IGFuIEVycm9yIHdoZW4gaW52b2tlZC5cXG4gKlxcbiAqIElmIGBsb2NhbFN0b3JhZ2UudHJhY2VEZXByZWNhdGlvbiA9IHRydWVgIGlzIHNldCwgdGhlbiBkZXByZWNhdGVkIGZ1bmN0aW9uc1xcbiAqIHdpbGwgaW52b2tlIGBjb25zb2xlLnRyYWNlKClgIGluc3RlYWQgb2YgYGNvbnNvbGUuZXJyb3IoKWAuXFxuICpcXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiAtIHRoZSBmdW5jdGlvbiB0byBkZXByZWNhdGVcXG4gKiBAcGFyYW0ge1N0cmluZ30gbXNnIC0gdGhlIHN0cmluZyB0byBwcmludCB0byB0aGUgY29uc29sZSB3aGVuIGBmbmAgaXMgaW52b2tlZFxcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gYSBuZXcgXFxcImRlcHJlY2F0ZWRcXFwiIHZlcnNpb24gb2YgYGZuYFxcbiAqIEBhcGkgcHVibGljXFxuICovXFxuXFxuZnVuY3Rpb24gZGVwcmVjYXRlIChmbiwgbXNnKSB7XFxuICBpZiAoY29uZmlnKCdub0RlcHJlY2F0aW9uJykpIHtcXG4gICAgcmV0dXJuIGZuO1xcbiAgfVxcblxcbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xcbiAgZnVuY3Rpb24gZGVwcmVjYXRlZCgpIHtcXG4gICAgaWYgKCF3YXJuZWQpIHtcXG4gICAgICBpZiAoY29uZmlnKCd0aHJvd0RlcHJlY2F0aW9uJykpIHtcXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xcbiAgICAgIH0gZWxzZSBpZiAoY29uZmlnKCd0cmFjZURlcHJlY2F0aW9uJykpIHtcXG4gICAgICAgIGNvbnNvbGUudHJhY2UobXNnKTtcXG4gICAgICB9IGVsc2Uge1xcbiAgICAgICAgY29uc29sZS53YXJuKG1zZyk7XFxuICAgICAgfVxcbiAgICAgIHdhcm5lZCA9IHRydWU7XFxuICAgIH1cXG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XFxuICB9XFxuXFxuICByZXR1cm4gZGVwcmVjYXRlZDtcXG59XFxuXFxuLyoqXFxuICogQ2hlY2tzIGBsb2NhbFN0b3JhZ2VgIGZvciBib29sZWFuIHZhbHVlcyBmb3IgdGhlIGdpdmVuIGBuYW1lYC5cXG4gKlxcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXFxuICogQHJldHVybnMge0Jvb2xlYW59XFxuICogQGFwaSBwcml2YXRlXFxuICovXFxuXFxuZnVuY3Rpb24gY29uZmlnIChuYW1lKSB7XFxuICAvLyBhY2Nlc3NpbmcgZ2xvYmFsLmxvY2FsU3RvcmFnZSBjYW4gdHJpZ2dlciBhIERPTUV4Y2VwdGlvbiBpbiBzYW5kYm94ZWQgaWZyYW1lc1xcbiAgdHJ5IHtcXG4gICAgaWYgKCFnbG9iYWwubG9jYWxTdG9yYWdlKSByZXR1cm4gZmFsc2U7XFxuICB9IGNhdGNoIChfKSB7XFxuICAgIHJldHVybiBmYWxzZTtcXG4gIH1cXG4gIHZhciB2YWwgPSBnbG9iYWwubG9jYWxTdG9yYWdlW25hbWVdO1xcbiAgaWYgKG51bGwgPT0gdmFsKSByZXR1cm4gZmFsc2U7XFxuICByZXR1cm4gU3RyaW5nKHZhbCkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnO1xcbn1cXG5cXG4vKiBXRUJQQUNLIFZBUiBJTkpFQ1RJT04gKi99LmNhbGwodGhpcywgX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi8uLi93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzICovIFxcXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXFxcIikpKS8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMMjV2WkdWZmJXOWtkV3hsY3k5MWRHbHNMV1JsY0hKbFkyRjBaUzlpY205M2MyVnlMbXB6UHpjMk9XRWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4WFFVRlhMRk5CUVZNN1FVRkRjRUlzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFc1UwRkJVenRCUVVOMFFqdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hQUVVGUE8wRkJRMUE3UVVGRFFTeFBRVUZQTzBGQlExQTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEVzVjBGQlZ5eFBRVUZQTzBGQlEyeENMR0ZCUVdFN1FVRkRZanRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1IwRkJSenRCUVVOSU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVNJc0ltWnBiR1VpT2lJdUwyNXZaR1ZmYlc5a2RXeGxjeTkxZEdsc0xXUmxjSEpsWTJGMFpTOWljbTkzYzJWeUxtcHpMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhHNHZLaXBjYmlBcUlFMXZaSFZzWlNCbGVIQnZjblJ6TGx4dUlDb3ZYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWkdWd2NtVmpZWFJsTzF4dVhHNHZLaXBjYmlBcUlFMWhjbXNnZEdoaGRDQmhJRzFsZEdodlpDQnphRzkxYkdRZ2JtOTBJR0psSUhWelpXUXVYRzRnS2lCU1pYUjFjbTV6SUdFZ2JXOWthV1pwWldRZ1puVnVZM1JwYjI0Z2QyaHBZMmdnZDJGeWJuTWdiMjVqWlNCaWVTQmtaV1poZFd4MExseHVJQ3BjYmlBcUlFbG1JR0JzYjJOaGJGTjBiM0poWjJVdWJtOUVaWEJ5WldOaGRHbHZiaUE5SUhSeWRXVmdJR2x6SUhObGRDd2dkR2hsYmlCcGRDQnBjeUJoSUc1dkxXOXdMbHh1SUNwY2JpQXFJRWxtSUdCc2IyTmhiRk4wYjNKaFoyVXVkR2h5YjNkRVpYQnlaV05oZEdsdmJpQTlJSFJ5ZFdWZ0lHbHpJSE5sZEN3Z2RHaGxiaUJrWlhCeVpXTmhkR1ZrSUdaMWJtTjBhVzl1YzF4dUlDb2dkMmxzYkNCMGFISnZkeUJoYmlCRmNuSnZjaUIzYUdWdUlHbHVkbTlyWldRdVhHNGdLbHh1SUNvZ1NXWWdZR3h2WTJGc1UzUnZjbUZuWlM1MGNtRmpaVVJsY0hKbFkyRjBhVzl1SUQwZ2RISjFaV0FnYVhNZ2MyVjBMQ0IwYUdWdUlHUmxjSEpsWTJGMFpXUWdablZ1WTNScGIyNXpYRzRnS2lCM2FXeHNJR2x1ZG05clpTQmdZMjl1YzI5c1pTNTBjbUZqWlNncFlDQnBibk4wWldGa0lHOW1JR0JqYjI1emIyeGxMbVZ5Y205eUtDbGdMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdSblZ1WTNScGIyNTlJR1p1SUMwZ2RHaGxJR1oxYm1OMGFXOXVJSFJ2SUdSbGNISmxZMkYwWlZ4dUlDb2dRSEJoY21GdElIdFRkSEpwYm1kOUlHMXpaeUF0SUhSb1pTQnpkSEpwYm1jZ2RHOGdjSEpwYm5RZ2RHOGdkR2hsSUdOdmJuTnZiR1VnZDJobGJpQmdabTVnSUdseklHbHVkbTlyWldSY2JpQXFJRUJ5WlhSMWNtNXpJSHRHZFc1amRHbHZibjBnWVNCdVpYY2dYQ0prWlhCeVpXTmhkR1ZrWENJZ2RtVnljMmx2YmlCdlppQmdabTVnWEc0Z0tpQkFZWEJwSUhCMVlteHBZMXh1SUNvdlhHNWNibVoxYm1OMGFXOXVJR1JsY0hKbFkyRjBaU0FvWm00c0lHMXpaeWtnZTF4dUlDQnBaaUFvWTI5dVptbG5LQ2R1YjBSbGNISmxZMkYwYVc5dUp5a3BJSHRjYmlBZ0lDQnlaWFIxY200Z1ptNDdYRzRnSUgxY2JseHVJQ0IyWVhJZ2QyRnlibVZrSUQwZ1ptRnNjMlU3WEc0Z0lHWjFibU4wYVc5dUlHUmxjSEpsWTJGMFpXUW9LU0I3WEc0Z0lDQWdhV1lnS0NGM1lYSnVaV1FwSUh0Y2JpQWdJQ0FnSUdsbUlDaGpiMjVtYVdjb0ozUm9jbTkzUkdWd2NtVmpZWFJwYjI0bktTa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9iWE5uS1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb1kyOXVabWxuS0NkMGNtRmpaVVJsY0hKbFkyRjBhVzl1SnlrcElIdGNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pTNTBjbUZqWlNodGMyY3BPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdZMjl1YzI5c1pTNTNZWEp1S0cxelp5azdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQjNZWEp1WldRZ1BTQjBjblZsTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1ptNHVZWEJ3Ykhrb2RHaHBjeXdnWVhKbmRXMWxiblJ6S1R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCa1pYQnlaV05oZEdWa08xeHVmVnh1WEc0dktpcGNiaUFxSUVOb1pXTnJjeUJnYkc5allXeFRkRzl5WVdkbFlDQm1iM0lnWW05dmJHVmhiaUIyWVd4MVpYTWdabTl5SUhSb1pTQm5hWFpsYmlCZ2JtRnRaV0F1WEc0Z0tseHVJQ29nUUhCaGNtRnRJSHRUZEhKcGJtZDlJRzVoYldWY2JpQXFJRUJ5WlhSMWNtNXpJSHRDYjI5c1pXRnVmVnh1SUNvZ1FHRndhU0J3Y21sMllYUmxYRzRnS2k5Y2JseHVablZ1WTNScGIyNGdZMjl1Wm1sbklDaHVZVzFsS1NCN1hHNGdJQzh2SUdGalkyVnpjMmx1WnlCbmJHOWlZV3d1Ykc5allXeFRkRzl5WVdkbElHTmhiaUIwY21sbloyVnlJR0VnUkU5TlJYaGpaWEIwYVc5dUlHbHVJSE5oYm1SaWIzaGxaQ0JwWm5KaGJXVnpYRzRnSUhSeWVTQjdYRzRnSUNBZ2FXWWdLQ0ZuYkc5aVlXd3ViRzlqWVd4VGRHOXlZV2RsS1NCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgwZ1kyRjBZMmdnS0Y4cElIdGNiaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUgxY2JpQWdkbUZ5SUhaaGJDQTlJR2RzYjJKaGJDNXNiMk5oYkZOMGIzSmhaMlZiYm1GdFpWMDdYRzRnSUdsbUlDaHVkV3hzSUQwOUlIWmhiQ2tnY21WMGRYSnVJR1poYkhObE8xeHVJQ0J5WlhSMWNtNGdVM1J5YVc1bktIWmhiQ2t1ZEc5TWIzZGxja05oYzJVb0tTQTlQVDBnSjNSeWRXVW5PMXh1ZlZ4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvdXRpbC1kZXByZWNhdGUvYnJvd3Nlci5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvdm0tYnJvd3NlcmlmeS9pbmRleC5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL3ZtLWJyb3dzZXJpZnkvaW5kZXguanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwidmFyIGluZGV4T2YgPSBmdW5jdGlvbiAoeHMsIGl0ZW0pIHtcXG4gICAgaWYgKHhzLmluZGV4T2YpIHJldHVybiB4cy5pbmRleE9mKGl0ZW0pO1xcbiAgICBlbHNlIGZvciAodmFyIGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcXG4gICAgICAgIGlmICh4c1tpXSA9PT0gaXRlbSkgcmV0dXJuIGk7XFxuICAgIH1cXG4gICAgcmV0dXJuIC0xO1xcbn07XFxudmFyIE9iamVjdF9rZXlzID0gZnVuY3Rpb24gKG9iaikge1xcbiAgICBpZiAoT2JqZWN0LmtleXMpIHJldHVybiBPYmplY3Qua2V5cyhvYmopXFxuICAgIGVsc2Uge1xcbiAgICAgICAgdmFyIHJlcyA9IFtdO1xcbiAgICAgICAgZm9yICh2YXIga2V5IGluIG9iaikgcmVzLnB1c2goa2V5KVxcbiAgICAgICAgcmV0dXJuIHJlcztcXG4gICAgfVxcbn07XFxuXFxudmFyIGZvckVhY2ggPSBmdW5jdGlvbiAoeHMsIGZuKSB7XFxuICAgIGlmICh4cy5mb3JFYWNoKSByZXR1cm4geHMuZm9yRWFjaChmbilcXG4gICAgZWxzZSBmb3IgKHZhciBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XFxuICAgICAgICBmbih4c1tpXSwgaSwgeHMpO1xcbiAgICB9XFxufTtcXG5cXG52YXIgZGVmaW5lUHJvcCA9IChmdW5jdGlvbigpIHtcXG4gICAgdHJ5IHtcXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgJ18nLCB7fSk7XFxuICAgICAgICByZXR1cm4gZnVuY3Rpb24ob2JqLCBuYW1lLCB2YWx1ZSkge1xcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG5hbWUsIHtcXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXFxuICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXFxuICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxcbiAgICAgICAgICAgIH0pXFxuICAgICAgICB9O1xcbiAgICB9IGNhdGNoKGUpIHtcXG4gICAgICAgIHJldHVybiBmdW5jdGlvbihvYmosIG5hbWUsIHZhbHVlKSB7XFxuICAgICAgICAgICAgb2JqW25hbWVdID0gdmFsdWU7XFxuICAgICAgICB9O1xcbiAgICB9XFxufSgpKTtcXG5cXG52YXIgZ2xvYmFscyA9IFsnQXJyYXknLCAnQm9vbGVhbicsICdEYXRlJywgJ0Vycm9yJywgJ0V2YWxFcnJvcicsICdGdW5jdGlvbicsXFxuJ0luZmluaXR5JywgJ0pTT04nLCAnTWF0aCcsICdOYU4nLCAnTnVtYmVyJywgJ09iamVjdCcsICdSYW5nZUVycm9yJyxcXG4nUmVmZXJlbmNlRXJyb3InLCAnUmVnRXhwJywgJ1N0cmluZycsICdTeW50YXhFcnJvcicsICdUeXBlRXJyb3InLCAnVVJJRXJyb3InLFxcbidkZWNvZGVVUkknLCAnZGVjb2RlVVJJQ29tcG9uZW50JywgJ2VuY29kZVVSSScsICdlbmNvZGVVUklDb21wb25lbnQnLCAnZXNjYXBlJyxcXG4nZXZhbCcsICdpc0Zpbml0ZScsICdpc05hTicsICdwYXJzZUZsb2F0JywgJ3BhcnNlSW50JywgJ3VuZGVmaW5lZCcsICd1bmVzY2FwZSddO1xcblxcbmZ1bmN0aW9uIENvbnRleHQoKSB7fVxcbkNvbnRleHQucHJvdG90eXBlID0ge307XFxuXFxudmFyIFNjcmlwdCA9IGV4cG9ydHMuU2NyaXB0ID0gZnVuY3Rpb24gTm9kZVNjcmlwdCAoY29kZSkge1xcbiAgICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU2NyaXB0KSkgcmV0dXJuIG5ldyBTY3JpcHQoY29kZSk7XFxuICAgIHRoaXMuY29kZSA9IGNvZGU7XFxufTtcXG5cXG5TY3JpcHQucHJvdG90eXBlLnJ1bkluQ29udGV4dCA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XFxuICAgIGlmICghKGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0KSkge1xcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwibmVlZHMgYSAnY29udGV4dCcgYXJndW1lbnQuXFxcIik7XFxuICAgIH1cXG4gICAgXFxuICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcXG4gICAgaWYgKCFpZnJhbWUuc3R5bGUpIGlmcmFtZS5zdHlsZSA9IHt9O1xcbiAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcXG4gICAgXFxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcXG4gICAgXFxuICAgIHZhciB3aW4gPSBpZnJhbWUuY29udGVudFdpbmRvdztcXG4gICAgdmFyIHdFdmFsID0gd2luLmV2YWwsIHdFeGVjU2NyaXB0ID0gd2luLmV4ZWNTY3JpcHQ7XFxuXFxuICAgIGlmICghd0V2YWwgJiYgd0V4ZWNTY3JpcHQpIHtcXG4gICAgICAgIC8vIHdpbi5ldmFsKCkgbWFnaWNhbGx5IGFwcGVhcnMgd2hlbiB0aGlzIGlzIGNhbGxlZCBpbiBJRTpcXG4gICAgICAgIHdFeGVjU2NyaXB0LmNhbGwod2luLCAnbnVsbCcpO1xcbiAgICAgICAgd0V2YWwgPSB3aW4uZXZhbDtcXG4gICAgfVxcbiAgICBcXG4gICAgZm9yRWFjaChPYmplY3Rfa2V5cyhjb250ZXh0KSwgZnVuY3Rpb24gKGtleSkge1xcbiAgICAgICAgd2luW2tleV0gPSBjb250ZXh0W2tleV07XFxuICAgIH0pO1xcbiAgICBmb3JFYWNoKGdsb2JhbHMsIGZ1bmN0aW9uIChrZXkpIHtcXG4gICAgICAgIGlmIChjb250ZXh0W2tleV0pIHtcXG4gICAgICAgICAgICB3aW5ba2V5XSA9IGNvbnRleHRba2V5XTtcXG4gICAgICAgIH1cXG4gICAgfSk7XFxuICAgIFxcbiAgICB2YXIgd2luS2V5cyA9IE9iamVjdF9rZXlzKHdpbik7XFxuXFxuICAgIHZhciByZXMgPSB3RXZhbC5jYWxsKHdpbiwgdGhpcy5jb2RlKTtcXG4gICAgXFxuICAgIGZvckVhY2goT2JqZWN0X2tleXMod2luKSwgZnVuY3Rpb24gKGtleSkge1xcbiAgICAgICAgLy8gQXZvaWQgY29weWluZyBjaXJjdWxhciBvYmplY3RzIGxpa2UgYHRvcGAgYW5kIGB3aW5kb3dgIGJ5IG9ubHlcXG4gICAgICAgIC8vIHVwZGF0aW5nIGV4aXN0aW5nIGNvbnRleHQgcHJvcGVydGllcyBvciBuZXcgcHJvcGVydGllcyBpbiB0aGUgYHdpbmBcXG4gICAgICAgIC8vIHRoYXQgd2FzIG9ubHkgaW50cm9kdWNlZCBhZnRlciB0aGUgZXZhbC5cXG4gICAgICAgIGlmIChrZXkgaW4gY29udGV4dCB8fCBpbmRleE9mKHdpbktleXMsIGtleSkgPT09IC0xKSB7XFxuICAgICAgICAgICAgY29udGV4dFtrZXldID0gd2luW2tleV07XFxuICAgICAgICB9XFxuICAgIH0pO1xcblxcbiAgICBmb3JFYWNoKGdsb2JhbHMsIGZ1bmN0aW9uIChrZXkpIHtcXG4gICAgICAgIGlmICghKGtleSBpbiBjb250ZXh0KSkge1xcbiAgICAgICAgICAgIGRlZmluZVByb3AoY29udGV4dCwga2V5LCB3aW5ba2V5XSk7XFxuICAgICAgICB9XFxuICAgIH0pO1xcbiAgICBcXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpZnJhbWUpO1xcbiAgICBcXG4gICAgcmV0dXJuIHJlcztcXG59O1xcblxcblNjcmlwdC5wcm90b3R5cGUucnVuSW5UaGlzQ29udGV4dCA9IGZ1bmN0aW9uICgpIHtcXG4gICAgcmV0dXJuIGV2YWwodGhpcy5jb2RlKTsgLy8gbWF5YmUuLi5cXG59O1xcblxcblNjcmlwdC5wcm90b3R5cGUucnVuSW5OZXdDb250ZXh0ID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcXG4gICAgdmFyIGN0eCA9IFNjcmlwdC5jcmVhdGVDb250ZXh0KGNvbnRleHQpO1xcbiAgICB2YXIgcmVzID0gdGhpcy5ydW5JbkNvbnRleHQoY3R4KTtcXG5cXG4gICAgaWYgKGNvbnRleHQpIHtcXG4gICAgICAgIGZvckVhY2goT2JqZWN0X2tleXMoY3R4KSwgZnVuY3Rpb24gKGtleSkge1xcbiAgICAgICAgICAgIGNvbnRleHRba2V5XSA9IGN0eFtrZXldO1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG5cXG4gICAgcmV0dXJuIHJlcztcXG59O1xcblxcbmZvckVhY2goT2JqZWN0X2tleXMoU2NyaXB0LnByb3RvdHlwZSksIGZ1bmN0aW9uIChuYW1lKSB7XFxuICAgIGV4cG9ydHNbbmFtZV0gPSBTY3JpcHRbbmFtZV0gPSBmdW5jdGlvbiAoY29kZSkge1xcbiAgICAgICAgdmFyIHMgPSBTY3JpcHQoY29kZSk7XFxuICAgICAgICByZXR1cm4gc1tuYW1lXS5hcHBseShzLCBbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSkpO1xcbiAgICB9O1xcbn0pO1xcblxcbmV4cG9ydHMuaXNDb250ZXh0ID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcXG4gICAgcmV0dXJuIGNvbnRleHQgaW5zdGFuY2VvZiBDb250ZXh0O1xcbn07XFxuXFxuZXhwb3J0cy5jcmVhdGVTY3JpcHQgPSBmdW5jdGlvbiAoY29kZSkge1xcbiAgICByZXR1cm4gZXhwb3J0cy5TY3JpcHQoY29kZSk7XFxufTtcXG5cXG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBTY3JpcHQuY3JlYXRlQ29udGV4dCA9IGZ1bmN0aW9uIChjb250ZXh0KSB7XFxuICAgIHZhciBjb3B5ID0gbmV3IENvbnRleHQoKTtcXG4gICAgaWYodHlwZW9mIGNvbnRleHQgPT09ICdvYmplY3QnKSB7XFxuICAgICAgICBmb3JFYWNoKE9iamVjdF9rZXlzKGNvbnRleHQpLCBmdW5jdGlvbiAoa2V5KSB7XFxuICAgICAgICAgICAgY29weVtrZXldID0gY29udGV4dFtrZXldO1xcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgcmV0dXJuIGNvcHk7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDI1dlpHVmZiVzlrZFd4bGN5OTJiUzFpY205M2MyVnlhV1o1TDJsdVpHVjRMbXB6UHpSaE1HWWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGRFFUdEJRVU5CTEhkQ1FVRjNRaXhsUVVGbE8wRkJRM1pETzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEVzZDBKQlFYZENMR1ZCUVdVN1FVRkRka003UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3huUTBGQlowTXNVMEZCVXp0QlFVTjZRenRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4aFFVRmhPMEZCUTJJN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUczdRVUZGUVR0QlFVTkJPMEZCUTBFN08wRkJSVUU3TzBGQlJVRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CT3p0QlFVVkJPMEZCUTBFN1FVRkRRU3hMUVVGTE8wRkJRMHc3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4TFFVRkxPenRCUVVWTU96dEJRVVZCT3p0QlFVVkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNTMEZCU3pzN1FVRkZURHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEV0QlFVczdPMEZCUlV3N08wRkJSVUU3UVVGRFFUczdRVUZGUVR0QlFVTkJMREpDUVVFeVFqdEJRVU16UWpzN1FVRkZRVHRCUVVOQk8wRkJRMEU3TzBGQlJVRTdRVUZEUVR0QlFVTkJPMEZCUTBFc1UwRkJVenRCUVVOVU96dEJRVVZCTzBGQlEwRTdPMEZCUlVFN1FVRkRRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdPMEZCUlVRN1FVRkRRVHRCUVVOQk96dEJRVVZCTzBGQlEwRTdRVUZEUVRzN1FVRkZRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRXNVMEZCVXp0QlFVTlVPMEZCUTBFN1FVRkRRU0lzSW1acGJHVWlPaUl1TDI1dlpHVmZiVzlrZFd4bGN5OTJiUzFpY205M2MyVnlhV1o1TDJsdVpHVjRMbXB6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lkbUZ5SUdsdVpHVjRUMllnUFNCbWRXNWpkR2x2YmlBb2VITXNJR2wwWlcwcElIdGNiaUFnSUNCcFppQW9lSE11YVc1a1pYaFBaaWtnY21WMGRYSnVJSGh6TG1sdVpHVjRUMllvYVhSbGJTazdYRzRnSUNBZ1pXeHpaU0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhoekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDaDRjMXRwWFNBOVBUMGdhWFJsYlNrZ2NtVjBkWEp1SUdrN1hHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQXRNVHRjYm4wN1hHNTJZWElnVDJKcVpXTjBYMnRsZVhNZ1BTQm1kVzVqZEdsdmJpQW9iMkpxS1NCN1hHNGdJQ0FnYVdZZ0tFOWlhbVZqZEM1clpYbHpLU0J5WlhSMWNtNGdUMkpxWldOMExtdGxlWE1vYjJKcUtWeHVJQ0FnSUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IyWVhJZ2NtVnpJRDBnVzEwN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHdGxlU0JwYmlCdlltb3BJSEpsY3k1d2RYTm9LR3RsZVNsY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKbGN6dGNiaUFnSUNCOVhHNTlPMXh1WEc1MllYSWdabTl5UldGamFDQTlJR1oxYm1OMGFXOXVJQ2g0Y3l3Z1ptNHBJSHRjYmlBZ0lDQnBaaUFvZUhNdVptOXlSV0ZqYUNrZ2NtVjBkWEp1SUhoekxtWnZja1ZoWTJnb1ptNHBYRzRnSUNBZ1pXeHpaU0JtYjNJZ0tIWmhjaUJwSUQwZ01Ec2dhU0E4SUhoekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadUtIaHpXMmxkTENCcExDQjRjeWs3WEc0Z0lDQWdmVnh1ZlR0Y2JseHVkbUZ5SUdSbFptbHVaVkJ5YjNBZ1BTQW9ablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLSHQ5TENBblh5Y3NJSHQ5S1R0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdaMWJtTjBhVzl1S0c5aWFpd2dibUZ0WlN3Z2RtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNodlltb3NJRzVoYldVc0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjNjbWwwWVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNW1hV2QxY21GaWJHVTZJSFJ5ZFdVc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RtRnNkV1U2SUhaaGJIVmxYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtWeHVJQ0FnSUNBZ0lDQjlPMXh1SUNBZ0lIMGdZMkYwWTJnb1pTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdablZ1WTNScGIyNG9iMkpxTENCdVlXMWxMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2IySnFXMjVoYldWZElEMGdkbUZzZFdVN1hHNGdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ2ZWeHVmU2dwS1R0Y2JseHVkbUZ5SUdkc2IySmhiSE1nUFNCYkowRnljbUY1Snl3Z0owSnZiMnhsWVc0bkxDQW5SR0YwWlNjc0lDZEZjbkp2Y2ljc0lDZEZkbUZzUlhKeWIzSW5MQ0FuUm5WdVkzUnBiMjRuTEZ4dUowbHVabWx1YVhSNUp5d2dKMHBUVDA0bkxDQW5UV0YwYUNjc0lDZE9ZVTRuTENBblRuVnRZbVZ5Snl3Z0owOWlhbVZqZENjc0lDZFNZVzVuWlVWeWNtOXlKeXhjYmlkU1pXWmxjbVZ1WTJWRmNuSnZjaWNzSUNkU1pXZEZlSEFuTENBblUzUnlhVzVuSnl3Z0oxTjViblJoZUVWeWNtOXlKeXdnSjFSNWNHVkZjbkp2Y2ljc0lDZFZVa2xGY25KdmNpY3NYRzRuWkdWamIyUmxWVkpKSnl3Z0oyUmxZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDY3NJQ2RsYm1OdlpHVlZVa2tuTENBblpXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEp5d2dKMlZ6WTJGd1pTY3NYRzRuWlhaaGJDY3NJQ2RwYzBacGJtbDBaU2NzSUNkcGMwNWhUaWNzSUNkd1lYSnpaVVpzYjJGMEp5d2dKM0JoY25ObFNXNTBKeXdnSjNWdVpHVm1hVzVsWkNjc0lDZDFibVZ6WTJGd1pTZGRPMXh1WEc1bWRXNWpkR2x2YmlCRGIyNTBaWGgwS0NrZ2UzMWNia052Ym5SbGVIUXVjSEp2ZEc5MGVYQmxJRDBnZTMwN1hHNWNiblpoY2lCVFkzSnBjSFFnUFNCbGVIQnZjblJ6TGxOamNtbHdkQ0E5SUdaMWJtTjBhVzl1SUU1dlpHVlRZM0pwY0hRZ0tHTnZaR1VwSUh0Y2JpQWdJQ0JwWmlBb0lTaDBhR2x6SUdsdWMzUmhibU5sYjJZZ1UyTnlhWEIwS1NrZ2NtVjBkWEp1SUc1bGR5QlRZM0pwY0hRb1kyOWtaU2s3WEc0Z0lDQWdkR2hwY3k1amIyUmxJRDBnWTI5a1pUdGNibjA3WEc1Y2JsTmpjbWx3ZEM1d2NtOTBiM1I1Y0dVdWNuVnVTVzVEYjI1MFpYaDBJRDBnWm5WdVkzUnBiMjRnS0dOdmJuUmxlSFFwSUh0Y2JpQWdJQ0JwWmlBb0lTaGpiMjUwWlhoMElHbHVjM1JoYm1ObGIyWWdRMjl1ZEdWNGRDa3BJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUZSNWNHVkZjbkp2Y2loY0ltNWxaV1J6SUdFZ0oyTnZiblJsZUhRbklHRnlaM1Z0Wlc1MExsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ1hHNGdJQ0FnZG1GeUlHbG1jbUZ0WlNBOUlHUnZZM1Z0Wlc1MExtTnlaV0YwWlVWc1pXMWxiblFvSjJsbWNtRnRaU2NwTzF4dUlDQWdJR2xtSUNnaGFXWnlZVzFsTG5OMGVXeGxLU0JwWm5KaGJXVXVjM1I1YkdVZ1BTQjdmVHRjYmlBZ0lDQnBabkpoYldVdWMzUjViR1V1WkdsemNHeGhlU0E5SUNkdWIyNWxKenRjYmlBZ0lDQmNiaUFnSUNCa2IyTjFiV1Z1ZEM1aWIyUjVMbUZ3Y0dWdVpFTm9hV3hrS0dsbWNtRnRaU2s3WEc0Z0lDQWdYRzRnSUNBZ2RtRnlJSGRwYmlBOUlHbG1jbUZ0WlM1amIyNTBaVzUwVjJsdVpHOTNPMXh1SUNBZ0lIWmhjaUIzUlhaaGJDQTlJSGRwYmk1bGRtRnNMQ0IzUlhobFkxTmpjbWx3ZENBOUlIZHBiaTVsZUdWalUyTnlhWEIwTzF4dVhHNGdJQ0FnYVdZZ0tDRjNSWFpoYkNBbUppQjNSWGhsWTFOamNtbHdkQ2tnZTF4dUlDQWdJQ0FnSUNBdkx5QjNhVzR1WlhaaGJDZ3BJRzFoWjJsallXeHNlU0JoY0hCbFlYSnpJSGRvWlc0Z2RHaHBjeUJwY3lCallXeHNaV1FnYVc0Z1NVVTZYRzRnSUNBZ0lDQWdJSGRGZUdWalUyTnlhWEIwTG1OaGJHd29kMmx1TENBbmJuVnNiQ2NwTzF4dUlDQWdJQ0FnSUNCM1JYWmhiQ0E5SUhkcGJpNWxkbUZzTzF4dUlDQWdJSDFjYmlBZ0lDQmNiaUFnSUNCbWIzSkZZV05vS0U5aWFtVmpkRjlyWlhsektHTnZiblJsZUhRcExDQm1kVzVqZEdsdmJpQW9hMlY1S1NCN1hHNGdJQ0FnSUNBZ0lIZHBibHRyWlhsZElEMGdZMjl1ZEdWNGRGdHJaWGxkTzF4dUlDQWdJSDBwTzF4dUlDQWdJR1p2Y2tWaFkyZ29aMnh2WW1Gc2N5d2dablZ1WTNScGIyNGdLR3RsZVNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWTI5dWRHVjRkRnRyWlhsZEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCM2FXNWJhMlY1WFNBOUlHTnZiblJsZUhSYmEyVjVYVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dUlDQWdJRnh1SUNBZ0lIWmhjaUIzYVc1TFpYbHpJRDBnVDJKcVpXTjBYMnRsZVhNb2QybHVLVHRjYmx4dUlDQWdJSFpoY2lCeVpYTWdQU0IzUlhaaGJDNWpZV3hzS0hkcGJpd2dkR2hwY3k1amIyUmxLVHRjYmlBZ0lDQmNiaUFnSUNCbWIzSkZZV05vS0U5aWFtVmpkRjlyWlhsektIZHBiaWtzSUdaMWJtTjBhVzl1SUNoclpYa3BJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1FYWnZhV1FnWTI5d2VXbHVaeUJqYVhKamRXeGhjaUJ2WW1wbFkzUnpJR3hwYTJVZ1lIUnZjR0FnWVc1a0lHQjNhVzVrYjNkZ0lHSjVJRzl1YkhsY2JpQWdJQ0FnSUNBZ0x5OGdkWEJrWVhScGJtY2daWGhwYzNScGJtY2dZMjl1ZEdWNGRDQndjbTl3WlhKMGFXVnpJRzl5SUc1bGR5QndjbTl3WlhKMGFXVnpJR2x1SUhSb1pTQmdkMmx1WUZ4dUlDQWdJQ0FnSUNBdkx5QjBhR0YwSUhkaGN5QnZibXg1SUdsdWRISnZaSFZqWldRZ1lXWjBaWElnZEdobElHVjJZV3d1WEc0Z0lDQWdJQ0FnSUdsbUlDaHJaWGtnYVc0Z1kyOXVkR1Y0ZENCOGZDQnBibVJsZUU5bUtIZHBia3RsZVhNc0lHdGxlU2tnUFQwOUlDMHhLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjUwWlhoMFcydGxlVjBnUFNCM2FXNWJhMlY1WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ1ptOXlSV0ZqYUNobmJHOWlZV3h6TENCbWRXNWpkR2x2YmlBb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUdsbUlDZ2hLR3RsZVNCcGJpQmpiMjUwWlhoMEtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pHVm1hVzVsVUhKdmNDaGpiMjUwWlhoMExDQnJaWGtzSUhkcGJsdHJaWGxkS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUgwcE8xeHVJQ0FnSUZ4dUlDQWdJR1J2WTNWdFpXNTBMbUp2WkhrdWNtVnRiM1psUTJocGJHUW9hV1p5WVcxbEtUdGNiaUFnSUNCY2JpQWdJQ0J5WlhSMWNtNGdjbVZ6TzF4dWZUdGNibHh1VTJOeWFYQjBMbkJ5YjNSdmRIbHdaUzV5ZFc1SmJsUm9hWE5EYjI1MFpYaDBJRDBnWm5WdVkzUnBiMjRnS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUJsZG1Gc0tIUm9hWE11WTI5a1pTazdJQzh2SUcxaGVXSmxMaTR1WEc1OU8xeHVYRzVUWTNKcGNIUXVjSEp2ZEc5MGVYQmxMbkoxYmtsdVRtVjNRMjl1ZEdWNGRDQTlJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBLU0I3WEc0Z0lDQWdkbUZ5SUdOMGVDQTlJRk5qY21sd2RDNWpjbVZoZEdWRGIyNTBaWGgwS0dOdmJuUmxlSFFwTzF4dUlDQWdJSFpoY2lCeVpYTWdQU0IwYUdsekxuSjFia2x1UTI5dWRHVjRkQ2hqZEhncE8xeHVYRzRnSUNBZ2FXWWdLR052Ym5SbGVIUXBJSHRjYmlBZ0lDQWdJQ0FnWm05eVJXRmphQ2hQWW1wbFkzUmZhMlY1Y3loamRIZ3BMQ0JtZFc1amRHbHZiaUFvYTJWNUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNTBaWGgwVzJ0bGVWMGdQU0JqZEhoYmEyVjVYVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsY3p0Y2JuMDdYRzVjYm1admNrVmhZMmdvVDJKcVpXTjBYMnRsZVhNb1UyTnlhWEIwTG5CeWIzUnZkSGx3WlNrc0lHWjFibU4wYVc5dUlDaHVZVzFsS1NCN1hHNGdJQ0FnWlhod2IzSjBjMXR1WVcxbFhTQTlJRk5qY21sd2RGdHVZVzFsWFNBOUlHWjFibU4wYVc5dUlDaGpiMlJsS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJ6SUQwZ1UyTnlhWEIwS0dOdlpHVXBPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdjMXR1WVcxbFhTNWhjSEJzZVNoekxDQmJYUzV6YkdsalpTNWpZV3hzS0dGeVozVnRaVzUwY3l3Z01Ta3BPMXh1SUNBZ0lIMDdYRzU5S1R0Y2JseHVaWGh3YjNKMGN5NXBjME52Ym5SbGVIUWdQU0JtZFc1amRHbHZiaUFvWTI5dWRHVjRkQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQmpiMjUwWlhoMElHbHVjM1JoYm1ObGIyWWdRMjl1ZEdWNGREdGNibjA3WEc1Y2JtVjRjRzl5ZEhNdVkzSmxZWFJsVTJOeWFYQjBJRDBnWm5WdVkzUnBiMjRnS0dOdlpHVXBJSHRjYmlBZ0lDQnlaWFIxY200Z1pYaHdiM0owY3k1VFkzSnBjSFFvWTI5a1pTazdYRzU5TzF4dVhHNWxlSEJ2Y25SekxtTnlaV0YwWlVOdmJuUmxlSFFnUFNCVFkzSnBjSFF1WTNKbFlYUmxRMjl1ZEdWNGRDQTlJR1oxYm1OMGFXOXVJQ2hqYjI1MFpYaDBLU0I3WEc0Z0lDQWdkbUZ5SUdOdmNIa2dQU0J1WlhjZ1EyOXVkR1Y0ZENncE8xeHVJQ0FnSUdsbUtIUjVjR1Z2WmlCamIyNTBaWGgwSUQwOVBTQW5iMkpxWldOMEp5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNKRllXTm9LRTlpYW1WamRGOXJaWGx6S0dOdmJuUmxlSFFwTENCbWRXNWpkR2x2YmlBb2EyVjVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiM0I1VzJ0bGVWMGdQU0JqYjI1MFpYaDBXMnRsZVYwN1hHNGdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnWTI5d2VUdGNibjA3WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy92bS1icm93c2VyaWZ5L2luZGV4LmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vZ2xvYmFsLmpzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAod2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCJ2YXIgZztcXG5cXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxcbmcgPSAoZnVuY3Rpb24oKSB7XFxuXFx0cmV0dXJuIHRoaXM7XFxufSkoKTtcXG5cXG50cnkge1xcblxcdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxcblxcdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcXFwicmV0dXJuIHRoaXNcXFwiKSgpO1xcbn0gY2F0Y2ggKGUpIHtcXG5cXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxcblxcdGlmICh0eXBlb2Ygd2luZG93ID09PSBcXFwib2JqZWN0XFxcIikgZyA9IHdpbmRvdztcXG59XFxuXFxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxcbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXFxuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxcblxcbm1vZHVsZS5leHBvcnRzID0gZztcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzhvZDJWaWNHRmpheWt2WW5WcGJHUnBiaTluYkc5aVlXd3Vhbk0vT1RnMVl5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3UVVGRlFUdEJRVU5CTzBGQlEwRTdRVUZEUVN4RFFVRkRPenRCUVVWRU8wRkJRMEU3UVVGRFFUdEJRVU5CTEVOQlFVTTdRVUZEUkR0QlFVTkJPMEZCUTBFN08wRkJSVUU3UVVGRFFUdEJRVU5CTERSRFFVRTBRenM3UVVGRk5VTWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmQyVmljR0ZqYXk5aWRXbHNaR2x1TDJkc2IySmhiQzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJblpoY2lCbk8xeHVYRzR2THlCVWFHbHpJSGR2Y210eklHbHVJRzV2YmkxemRISnBZM1FnYlc5a1pWeHVaeUE5SUNobWRXNWpkR2x2YmlncElIdGNibHgwY21WMGRYSnVJSFJvYVhNN1hHNTlLU2dwTzF4dVhHNTBjbmtnZTF4dVhIUXZMeUJVYUdseklIZHZjbXR6SUdsbUlHVjJZV3dnYVhNZ1lXeHNiM2RsWkNBb2MyVmxJRU5UVUNsY2JseDBaeUE5SUdjZ2ZId2dibVYzSUVaMWJtTjBhVzl1S0Z3aWNtVjBkWEp1SUhSb2FYTmNJaWtvS1R0Y2JuMGdZMkYwWTJnZ0tHVXBJSHRjYmx4MEx5OGdWR2hwY3lCM2IzSnJjeUJwWmlCMGFHVWdkMmx1Wkc5M0lISmxabVZ5Wlc1alpTQnBjeUJoZG1GcGJHRmliR1ZjYmx4MGFXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMDlJRndpYjJKcVpXTjBYQ0lwSUdjZ1BTQjNhVzVrYjNjN1hHNTlYRzVjYmk4dklHY2dZMkZ1SUhOMGFXeHNJR0psSUhWdVpHVm1hVzVsWkN3Z1luVjBJRzV2ZEdocGJtY2dkRzhnWkc4Z1lXSnZkWFFnYVhRdUxpNWNiaTh2SUZkbElISmxkSFZ5YmlCMWJtUmxabWx1WldRc0lHbHVjM1JsWVdRZ2IyWWdibTkwYUdsdVp5Qm9aWEpsTENCemJ5QnBkQ2R6WEc0dkx5QmxZWE5wWlhJZ2RHOGdhR0Z1Wkd4bElIUm9hWE1nWTJGelpTNGdhV1lvSVdkc2IySmhiQ2tnZXlBdUxpNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWnp0Y2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL2dsb2JhbC5qc1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9ub2RlX21vZHVsZXMvd2VicGFjay9idWlsZGluL21vZHVsZS5qc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcXG5cXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcXG5cXHRcXHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcXG5cXHRcXHRtb2R1bGUucGF0aHMgPSBbXTtcXG5cXHRcXHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcXG5cXHRcXHRpZiAoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XFxuXFx0XFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXFxcImxvYWRlZFxcXCIsIHtcXG5cXHRcXHRcXHRlbnVtZXJhYmxlOiB0cnVlLFxcblxcdFxcdFxcdGdldDogZnVuY3Rpb24oKSB7XFxuXFx0XFx0XFx0XFx0cmV0dXJuIG1vZHVsZS5sO1xcblxcdFxcdFxcdH1cXG5cXHRcXHR9KTtcXG5cXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcXFwiaWRcXFwiLCB7XFxuXFx0XFx0XFx0ZW51bWVyYWJsZTogdHJ1ZSxcXG5cXHRcXHRcXHRnZXQ6IGZ1bmN0aW9uKCkge1xcblxcdFxcdFxcdFxcdHJldHVybiBtb2R1bGUuaTtcXG5cXHRcXHRcXHR9XFxuXFx0XFx0fSk7XFxuXFx0XFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XFxuXFx0fVxcblxcdHJldHVybiBtb2R1bGU7XFxufTtcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzhvZDJWaWNHRmpheWt2WW5WcGJHUnBiaTl0YjJSMWJHVXVhbk0vTVdSak5TSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVOQk8wRkJRMEU3UVVGRFFUdEJRVU5CTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRVHRCUVVOQk8wRkJRMEVzUjBGQlJ6dEJRVU5JTzBGQlEwRTdRVUZEUVR0QlFVTkJPMEZCUTBFN1FVRkRRU3hIUVVGSE8wRkJRMGc3UVVGRFFUdEJRVU5CTzBGQlEwRWlMQ0ptYVd4bElqb2lMaTl1YjJSbFgyMXZaSFZzWlhNdmQyVmljR0ZqYXk5aWRXbHNaR2x1TDIxdlpIVnNaUzVxY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdablZ1WTNScGIyNG9iVzlrZFd4bEtTQjdYRzVjZEdsbUlDZ2hiVzlrZFd4bExuZGxZbkJoWTJ0UWIyeDVabWxzYkNrZ2UxeHVYSFJjZEcxdlpIVnNaUzVrWlhCeVpXTmhkR1VnUFNCbWRXNWpkR2x2YmlncElIdDlPMXh1WEhSY2RHMXZaSFZzWlM1d1lYUm9jeUE5SUZ0ZE8xeHVYSFJjZEM4dklHMXZaSFZzWlM1d1lYSmxiblFnUFNCMWJtUmxabWx1WldRZ1lua2daR1ZtWVhWc2RGeHVYSFJjZEdsbUlDZ2hiVzlrZFd4bExtTm9hV3hrY21WdUtTQnRiMlIxYkdVdVkyaHBiR1J5Wlc0Z1BTQmJYVHRjYmx4MFhIUlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtvYlc5a2RXeGxMQ0JjSW14dllXUmxaRndpTENCN1hHNWNkRngwWEhSbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4dVhIUmNkRngwWjJWME9pQm1kVzVqZEdsdmJpZ3BJSHRjYmx4MFhIUmNkRngwY21WMGRYSnVJRzF2WkhWc1pTNXNPMXh1WEhSY2RGeDBmVnh1WEhSY2RIMHBPMXh1WEhSY2RFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h0YjJSMWJHVXNJRndpYVdSY0lpd2dlMXh1WEhSY2RGeDBaVzUxYldWeVlXSnNaVG9nZEhKMVpTeGNibHgwWEhSY2RHZGxkRG9nWm5WdVkzUnBiMjRvS1NCN1hHNWNkRngwWEhSY2RISmxkSFZ5YmlCdGIyUjFiR1V1YVR0Y2JseDBYSFJjZEgxY2JseDBYSFI5S1R0Y2JseDBYSFJ0YjJSMWJHVXVkMlZpY0dGamExQnZiSGxtYVd4c0lEMGdNVHRjYmx4MGZWeHVYSFJ5WlhSMWNtNGdiVzlrZFd4bE8xeHVmVHRjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL25vZGVfbW9kdWxlcy93ZWJwYWNrL2J1aWxkaW4vbW9kdWxlLmpzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9MYW5kaW5nLmNzc1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9MYW5kaW5nLmNzcyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5ldmFsKFwidmFyIGFwaSA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luamVjdFN0eWxlc0ludG9TdHlsZVRhZy5qcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanNcXFwiKTtcXG4gICAgICAgICAgICB2YXIgY29udGVudCA9IF9fd2VicGFja19yZXF1aXJlX18oLyohICEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL0xhbmRpbmcuY3NzICovIFxcXCIuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4vc3JjL0xhbmRpbmcuY3NzXFxcIik7XFxuXFxuICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuX19lc01vZHVsZSA/IGNvbnRlbnQuZGVmYXVsdCA6IGNvbnRlbnQ7XFxuXFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xcbiAgICAgICAgICAgICAgY29udGVudCA9IFtbbW9kdWxlLmksIGNvbnRlbnQsICcnXV07XFxuICAgICAgICAgICAgfVxcblxcbnZhciBvcHRpb25zID0ge307XFxuXFxub3B0aW9ucy5pbnNlcnQgPSBcXFwiaGVhZFxcXCI7XFxub3B0aW9ucy5zaW5nbGV0b24gPSBmYWxzZTtcXG5cXG52YXIgdXBkYXRlID0gYXBpKGNvbnRlbnQsIG9wdGlvbnMpO1xcblxcblxcblxcbm1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHMgfHwge307Ly8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlNWVc1a2FXNW5MbU56Y3o4NU0yVXpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEZWQlFWVXNiVUpCUVU4c1EwRkJReXh0U2tGQmQwVTdRVUZETVVZc01FSkJRVEJDTEcxQ1FVRlBMRU5CUVVNc2MwaEJRWGRFT3p0QlFVVXhSanM3UVVGRlFUdEJRVU5CTERCQ1FVRXdRaXhSUVVGVE8wRkJRMjVET3p0QlFVVkJPenRCUVVWQk8wRkJRMEU3TzBGQlJVRTdPenM3UVVGSlFTSXNJbVpwYkdVaU9pSXVMM055WXk5TVlXNWthVzVuTG1OemN5NXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW5aaGNpQmhjR2tnUFNCeVpYRjFhWEpsS0Z3aUlTNHVMMjV2WkdWZmJXOWtkV3hsY3k5emRIbHNaUzFzYjJGa1pYSXZaR2x6ZEM5eWRXNTBhVzFsTDJsdWFtVmpkRk4wZVd4bGMwbHVkRzlUZEhsc1pWUmhaeTVxYzF3aUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGNpQmpiMjUwWlc1MElEMGdjbVZ4ZFdseVpTaGNJaUVoTGk0dmJtOWtaVjl0YjJSMWJHVnpMMk56Y3kxc2IyRmtaWEl2WkdsemRDOWphbk11YW5NaExpOU1ZVzVrYVc1bkxtTnpjMXdpS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHVnVkQ0E5SUdOdmJuUmxiblF1WDE5bGMwMXZaSFZzWlNBL0lHTnZiblJsYm5RdVpHVm1ZWFZzZENBNklHTnZiblJsYm5RN1hHNWNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1kyOXVkR1Z1ZENBOVBUMGdKM04wY21sdVp5Y3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdWdWRDQTlJRnRiYlc5a2RXeGxMbWxrTENCamIyNTBaVzUwTENBbkoxMWRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2ZWeHVYRzUyWVhJZ2IzQjBhVzl1Y3lBOUlIdDlPMXh1WEc1dmNIUnBiMjV6TG1sdWMyVnlkQ0E5SUZ3aWFHVmhaRndpTzF4dWIzQjBhVzl1Y3k1emFXNW5iR1YwYjI0Z1BTQm1ZV3h6WlR0Y2JseHVkbUZ5SUhWd1pHRjBaU0E5SUdGd2FTaGpiMjUwWlc1MExDQnZjSFJwYjI1ektUdGNibHh1WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1kyOXVkR1Z1ZEM1c2IyTmhiSE1nZkh3Z2UzMDdJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL0xhbmRpbmcuY3NzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2QmFzZU5vZGUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2QmFzZU5vZGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2QmFzZU5vZGU7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG4vKiogQmFzZSBjbGFzcyBhbmQgcHJvcHMgdGhhdCBvdGhlciBBYXJkdmFyayBjb21wb25lbnRzIGRlcml2ZSBmcm9tLlxcclxcbiAqXFxyXFxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXFxyXFxuICovXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuLyoqIEJhc2UgY2xhc3MgZm9yIGFsbCBBYXJkdmFyayBjb21wb25lbnRzLiAqL1xcclxcbmNsYXNzIEF2QmFzZU5vZGUgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLm1fZmlyc3RVcGRhdGUgPSB0cnVlO1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkucmVnaXN0ZXIodGhpcyk7XFxyXFxuICAgICAgICBpZiAodGhpcy5iYXNlUHJvcHMub25JZEFzc2lnbmVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5iYXNlUHJvcHMub25JZEFzc2lnbmVkKHRoaXMuZW5kcG9pbnRBZGRyKCkpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGdyYWJJblByb2dyZXNzKGdyYWJiZXIpIHtcXHJcXG4gICAgICAgIC8vIG5vdGhpbmcgdG8gZG8gaGVyZSwgYnV0IHNvbWUgbm9kZSB0eXBlcyB3aWxsIG5lZWQgdG8gZG8gd29ya1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGNyZWF0ZU5vZGVGb3JOb2RlKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9maXJzdFVwZGF0ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9maXJzdFVwZGF0ZSA9IGZhbHNlO1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLmJhc2VQcm9wcyAmJiB0aGlzLmJhc2VQcm9wcy5vbklkQXNzaWduZWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlUHJvcHMub25JZEFzc2lnbmVkKHRoaXMuZW5kcG9pbnRBZGRyKCkpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmJ1aWxkTm9kZSgpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBnbG9iYWxJZCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB7IHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Ob2RlLCBlbmRwb2ludElkOiBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5nZXRFbmRwb2ludElkKCksIG5vZGVJZDogdGhpcy5tX25vZGVJZCB9O1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkudW5yZWdpc3Rlcih0aGlzKTtcXHJcXG4gICAgICAgIHRoaXMubV9maXJzdFVwZGF0ZSA9IHRydWU7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIEBoaWRkZW4gKi9cXHJcXG4gICAgY3JlYXRlTm9kZU9iamVjdCh0eXBlLCBub2RlSWQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIC8vY29uc29sZS5sb2coIGBjcmVhdGluZyAkeyBBdk5vZGVUeXBlWyB0eXBlXSB9ICR7IG5vZGVJZCB9YCApO1xcclxcbiAgICAgICAgbGV0IG9iaiA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiB0eXBlLFxcclxcbiAgICAgICAgICAgIGlkOiBub2RlSWQsXFxyXFxuICAgICAgICAgICAgZmxhZ3M6IHRoaXMuZ2V0Tm9kZUZsYWdzKCksXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgb2JqLnBlcnNpc3RlbnROYW1lID0gKF9hID0gdGhpcy5iYXNlUHJvcHMuZGVidWdOYW1lKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB0aGlzLmJhc2VQcm9wcy5wZXJzaXN0ZW50TmFtZTtcXHJcXG4gICAgICAgIHJldHVybiBvYmo7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IGJhc2VQcm9wcygpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzO1xcclxcbiAgICB9XFxyXFxuICAgIGlzVmlzaWJsZSgpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5iYXNlUHJvcHMgfHwgdGhpcy5iYXNlUHJvcHMudmlzaWJsZSA9PSB1bmRlZmluZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlUHJvcHMudmlzaWJsZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXROb2RlRmxhZ3MoKSB7XFxyXFxuICAgICAgICBsZXQgZmxhZ3MgPSAwO1xcclxcbiAgICAgICAgaWYgKHRoaXMuaXNWaXNpYmxlKCkpIHtcXHJcXG4gICAgICAgICAgICBmbGFncyB8PSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiRU5vZGVGbGFnc1xcXCJdLlZpc2libGU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZmxhZ3M7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIEBoaWRkZW4gKi9cXHJcXG4gICAgYmFzZU5vZGVSZW5kZXIobm9kZSwgY2hpbGRyZW4pIHtcXHJcXG4gICAgICAgIHJldHVybiAocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJhdi1ub2RlXFxcIiwgeyBrZXk6IHRoaXMubV9ub2RlSWQsIG5vZGVJZDogdGhpcy5tX25vZGVJZCwgaWQ6IHRoaXMuYmFzZVByb3BzLmlkIH0sIGNoaWxkcmVuKSk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIEBoaWRkZW4gKi9cXHJcXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkubWFya0RpcnR5KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgZW5kcG9pbnRBZGRyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uTm9kZSxcXHJcXG4gICAgICAgICAgICBlbmRwb2ludElkOiBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5nZXRFbmRwb2ludElkKCksXFxyXFxuICAgICAgICAgICAgbm9kZUlkOiB0aGlzLm1fbm9kZUlkLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgfVxcclxcbiAgICAvKiogQGhpZGRlbiAqL1xcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgcGVyc2lzdGVudE5hbWUgPSAoX2EgPSB0aGlzLmJhc2VQcm9wcykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnBlcnNpc3RlbnROYW1lO1xcclxcbiAgICAgICAgaWYgKHBlcnNpc3RlbnROYW1lICYmIHBlcnNpc3RlbnROYW1lLnN0YXJ0c1dpdGgoXFxcIl9cXFwiKSkge1xcclxcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcXFwiUGVyc2lzdGVudCBuYW1lcyB0aGF0IHN0YXJ0IHdpdGggdW5kZXJzY29yZSBhcmUgcmVzZXJ2ZWRcXFwiKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VOb2RlUmVuZGVyKHRoaXMsIHRoaXMucHJvcHMuY2hpbGRyZW4pO1xcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5aVlYTmxYMjV2WkdVdWRITjRQelJoWm1FaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUczdPMGRCUjBjN1FVRkRjMGM3UVVGRE1VVTdRVUZEWXp0QlFYTkZOME1zT0VOQlFUaERPMEZCUTNaRExFMUJRV1VzVlVGQk1rSXNVMEZCVVN3clEwRkJLMEk3U1VGTmRrWXNXVUZCWVN4TFFVRlZPMUZCUlhSQ0xFdEJRVXNzUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0UlFVcFNMR3RDUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlRUVkNMSGxFUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xRkJSWEpETEVsQlFVa3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhaUVVGWkxFVkJReTlDTzFsQlEwTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhaUVVGWkxFTkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkZMRU5CUVVNN1UwRkRia1E3U1VGRFJpeERRVUZETzBsQlMwUXNZMEZCWXp0SlFVTlFMR05CUVdNc1EwRkJSU3hQUVVGeFFqdFJRVVV6UXl3clJFRkJLMFE3U1VGRGFFVXNRMEZCUXp0SlFVVkVMR05CUVdNN1NVRkRVQ3hwUWtGQmFVSTdVVUZGZGtJc1NVRkJTU3hKUVVGSkxFTkJRVU1zWVVGQllTeEZRVU4wUWp0WlFVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzUzBGQlN5eERRVUZETzFsQlJUTkNMRWxCUVVrc1NVRkJTU3hEUVVGRExGTkJRVk1zU1VGQlNTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRmxCUVZrc1JVRkRha1E3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhaUVVGWkxFTkJRVVVzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkZMRU5CUVVNN1lVRkRia1E3VTBGRlJEdFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRM3BDTEVOQlFVTTdTVUZGUkN4SlFVRlhMRkZCUVZFN1VVRkZiRUlzVDBGQlR5eEZRVUZGTEVsQlFVa3NSVUZCUlN4M1JVRkJXU3hEUVVGRExFbEJRVWtzUlVGQlJTeFZRVUZWTEVWQlFVVXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eGhRVUZoTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzBsQlF6VkhMRU5CUVVNN1NVRkZSQ3hqUVVGak8wbEJRMUFzYjBKQlFXOUNPMUZCUlRGQ0xIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzFGQlEzWkRMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzBsQlF6TkNMRU5CUVVNN1NVRkZSQ3hqUVVGak8wbEJRMG9zWjBKQlFXZENMRU5CUVVVc1NVRkJaMElzUlVGQlJTeE5RVUZqT3p0UlFVVXpSQ3dyUkVGQkswUTdVVUZETDBRc1NVRkJTU3hIUVVGSExFZEJRMUE3V1VGRFF5eEpRVUZKTEVWQlFVVXNTVUZCU1R0WlFVTldMRVZCUVVVc1JVRkJSU3hOUVVGTk8xbEJRMVlzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVN1UwRkRNVUlzUTBGQlF6dFJRVVZHTEVkQlFVY3NRMEZCUXl4alFVRmpMRk5CUVVjc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFRRVUZUTEcxRFFVRkpMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zWTBGQll5eERRVUZETzFGQlJTOUZMRTlCUVU4c1IwRkJSeXhEUVVGRE8wbEJRMW9zUTBGQlF6dEpRVVZFTEVsQlFWa3NVMEZCVXp0UlFVVndRaXhQUVVGUExFbEJRVWtzUTBGQlF5eExRVUYzUWl4RFFVRkRPMGxCUTNSRExFTkJRVU03U1VGRlRTeFRRVUZUTzFGQlJXWXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFbEJRVWtzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4UFFVRlBMRWxCUVVrc1UwRkJVenRaUVVONlJDeFBRVUZQTEVsQlFVa3NRMEZCUXp0UlFVVmlMRTlCUVU4c1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVTTdTVUZETDBJc1EwRkJRenRKUVVWVExGbEJRVms3VVVGRmNrSXNTVUZCU1N4TFFVRkxMRWRCUVdNc1EwRkJReXhEUVVGRE8xRkJRM3BDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hGUVVOd1FqdFpRVU5ETEV0QlFVc3NTVUZCU1N4elJVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF6dFRRVU0xUWp0UlFVVkVMRTlCUVU4c1MwRkJTeXhEUVVGRE8wbEJRMlFzUTBGQlF6dEpRVWRFTEdOQlFXTTdTVUZEVUN4alFVRmpMRU5CUVVVc1NVRkJhVUlzUlVGQlJTeFJRVUY1UWp0UlFVVnNSU3hQUVVGUExFTkJRMDRzYVVWQlFWTXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzVFVGQlRTeEZRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRVZCUVVjc1JVRkJSU3hGUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZCUlN4SlFVTjZSU3hSUVVGUkxFTkJRMFFzUTBGRFZpeERRVUZGTzBsQlEwb3NRMEZCUXp0SlFVVkVMR05CUVdNN1NVRkRVQ3hyUWtGQmEwSTdVVUZGZUVJc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOcVF5eERRVUZETzBsQlJVMHNXVUZCV1R0UlFVVnNRaXhQUVVGUE8xbEJRMDRzU1VGQlNTeEZRVUZGTEhkRlFVRlpMRU5CUVVNc1NVRkJTVHRaUVVOMlFpeFZRVUZWTEVWQlFVVXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eGhRVUZoTEVWQlFVVTdXVUZETDBNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTzFOQlEzSkNPMGxCUTBZc1EwRkJRenRKUVVWRUxHTkJRV003U1VGRFVDeE5RVUZOT3p0UlFVVmFMRWxCUVVrc1kwRkJZeXhUUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTERCRFFVRkZMR05CUVdNc1EwRkJRenRSUVVOd1JDeEpRVUZKTEdOQlFXTXNTVUZCU1N4alFVRmpMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFZEJRVWNzUTBGQlJTeEZRVU4wUkR0WlFVTkRMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVVVzTUVSQlFUQkVMRU5CUVVVc1EwRkJRenRUUVVNNVJUdFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVVc1EwRkJRenRKUVVONlJDeERRVUZETzBOQlJVUWlMQ0ptYVd4bElqb2lMaTl6Y21NdllXRnlaSFpoY210ZlltRnpaVjl1YjJSbExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLaUJDWVhObElHTnNZWE56SUdGdVpDQndjbTl3Y3lCMGFHRjBJRzkwYUdWeUlFRmhjbVIyWVhKcklHTnZiWEJ2Ym1WdWRITWdaR1Z5YVhabElHWnliMjB1WEhKY2JpQXFJRnh5WEc0Z0tpQkFjR0ZqYTJGblpVUnZZM1Z0Wlc1MFlYUnBiMjVjY2x4dUlDb3ZYSEpjYm1sdGNHOXlkQ0I3SUVGMlRtOWtaU3dnUVhaT2IyUmxWSGx3WlN3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JGYm1Sd2IybHVkRlI1Y0dVc0lFVk9iMlJsUm14aFozTWdmU0JtY205dElDZEFZV0Z5WkhaaGNtdDRjaTloWVhKa2RtRnlheTF6YUdGeVpXUW5PMXh5WEc1cGJYQnZjblFnS2lCaGN5QlNaV0ZqZENCbWNtOXRJQ2R5WldGamRDYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlIyRmtaMlYwSUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFFuTzF4eVhHNWNjbHh1WEhKY2JtUmxZMnhoY21VZ1oyeHZZbUZzSUZ4eVhHNTdYSEpjYmx4MGJtRnRaWE53WVdObElFcFRXRnh5WEc1Y2RIdGNjbHh1WEhSY2RHbHVkR1Z5Wm1GalpTQkpiblJ5YVc1emFXTkZiR1Z0Wlc1MGMxeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUJoWkdRZ1lXNGdaV3hsYldWdWRDQjBlWEJsWEhKY2JseDBYSFJjZEZ3aVlYWXRibTlrWlZ3aU9pQmhibms3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVKaGMyVWdjSEp2Y0hNZ2RHaGhkQ0JoY21VZ2FXNW9aWEpwZEdWa0lHSjVJR0ZzYkNCQllYSmtkbUZ5YXlCelkyVnVaU0JuY21Gd2FDQmpiMjF3YjI1bGJuUnpMaUFxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRjJRbUZ6WlU1dlpHVlFjbTl3YzF4eVhHNTdYSEpjYmx4MEx5b3FJRlJvYVhNZ2FYTWdkR2hsSUVsRUlHOW1JSFJvWlNCRVQwMGdaV3hsYldWdWRDQjBhR0YwSUdseklHTnlaV0YwWldRZ1lYTWdkR2hsSUhCaGNtVnVkQ0J2WmlCMGFHVWdZMjl0Y0c5dVpXNTBMbHh5WEc1Y2RDQXFJRWwwSUdseklIVnpaV1FnZEc4Z2NtVm1aWEpsYm1ObElHOTBhR1Z5SUc1dlpHVnpJR2x1SUhSb1pTQm5ZV1JuWlhRdUlFbG1JR2wwSUdseklITndaV05wWm1sbFpDd2dhWFFnYlhWemRDQmNjbHh1WEhRZ0tpQmlaU0IxYm1seGRXVWdkMmwwYUdsdUlIUm9aU0JuWVdSblpYUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2xrUHpvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dRMjl1ZEhKdmJITWdkMmhsZEdobGNpQnZjaUJ1YjNRZ2RHaHBjeUJ1YjJSbElHRnVaQ0JwZEhNZ1kyaHBiR1J5Wlc0Z1lYSmxJSFpwYzJsaWJHVXVJRnh5WEc1Y2RDQXFJRWxtSUhKbGRHRnBibWx1WnlCMGFHVWdjM1JoZEdVZ2IyWWdZU0J1YjJSbElHbHpJR2x0Y0c5eWRHRnVkQ0JoY3lCcGRDQmpiMjFsY3lCaGJtUWdaMjlsY3l4Y2NseHVYSFFnS2lCMWMyVWdkR2hsSUhacGMybGliR1VnY0hKdmNDQnBibk4wWldGa0lHOW1JRzl0YVhSMGFXNW5JSFJvWlNCdWIyUmxJR1p5YjIwZ2RHaGxJSEpsYm1SbGNpQm1kVzVqZEdsdmJpNGdYSEpjYmx4MElDb2dWR2hwY3lCaGJHeHZkM01nZEdobElISmxibVJsY21WeUlIUnZJSEpsZEdGcGJpQjBhR1VnYm05a1pTZHpJSE4wWVhSbElHVjJaVzRnZDJobGJpQjViM1VnWkc5dUozUWdkMkZ1ZENCcGRGeHlYRzVjZENBcUlIUnZJR1J5WVhjdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2RISjFaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RIWnBjMmxpYkdVL09pQmliMjlzWldGdU8xeHlYRzVjY2x4dVhIUXZLaW9nUVc0Z1lXeHBZWE1nWm05eUlHUmxZblZuVG1GdFpTNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1Z3Y21WallYUmxaRnh5WEc1Y2RDQXFMMXh5WEc1Y2RIQmxjbk5wYzNSbGJuUk9ZVzFsUHpvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dRU0J1WVcxbElIUm9ZWFFuY3lCaGNIQnNhV1ZrSUhSdklIUm9aU0J1YjJSbElHbHVJSFJvWlNCdGIyNXBkRzl5SUdGdVpDQnZkR2hsY2lCMGIyOXNjeTRnVkdocGN5QnVZVzFsSUdoaGN5QnVieUJsWm1abFkzUmNjbHh1WEhRZ0tpQmhkQ0J5ZFc1MGFXMWxMbHh5WEc1Y2RDQXFMMXh5WEc1Y2RHUmxZblZuVG1GdFpUODZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZObGRDQjBhR2x6SUhCeWIzQWdkRzhnWW1VZ2JtOTBhV1pwWldRZ2QyaGxiaUIwYUdVZ2JtOWtaU0JwY3lCaGMzTnBaMjVsWkNCcGRITWdaVzVrY0c5cGJuUWdZV1JrY21WemN5NWNjbHh1WEhRZ0tpQlVhR2x6SUdseklHNXZkQ0J1WldObGMzTmhjbmtnWm05eUlHMXZjM1FnYm05a1pYTXVYSEpjYmx4MElDb3ZYSEpjYmx4MGIyNUpaRUZ6YzJsbmJtVmtQem9nS0NCaFpHUnlPaUJGYm1Sd2IybHVkRUZrWkhJZ0tTQTlQaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZLaW9nUUdsbmJtOXlaU0FxTDF4eVhHNWNkR1ZrYVhSaFlteGxQem9nWW05dmJHVmhianRjY2x4dWZWeHlYRzVjY2x4dVhISmNiaThxS2lCSmJuUmxjbVpoWTJVZ2RHaGhkQ0JoYkd3Z1FXRnlaSFpoY21zZ1kyOXRjRzl1Wlc1MGN5QnRkWE4wSUdsdGNHeGxiV1Z1ZENCemJ5QkJka2RoWkdkbGRDQmpZVzRnWjJWdVpYSmhkR1ZjY2x4dUlDb2dkR2hsSUhOalpXNWxJR2R5WVhCb0lIUnZJSEpsYm1SbGNpNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVUYyUW1GelpVNXZaR1ZjY2x4dWUxeHlYRzVjZEcxZmJtOWtaVWxrT2lCdWRXMWlaWEk3WEhKY2JseDBZblZwYkdST2IyUmxLQ2s2SUVGMlRtOWtaVHRjY2x4dVhIUmpjbVZoZEdWT2IyUmxSbTl5VG05a1pTZ3BPaUJCZGs1dlpHVTdYSEpjYmx4MFozSmhZa2x1VUhKdlozSmxjM01vSUdkeVlXSmlaWEk2SUVWdVpIQnZhVzUwUVdSa2NpQXBPaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVjY2x4dUx5b3FJRUpoYzJVZ1kyeGhjM01nWm05eUlHRnNiQ0JCWVhKa2RtRnlheUJqYjIxd2IyNWxiblJ6TGlBcUwxeHlYRzVsZUhCdmNuUWdZV0p6ZEhKaFkzUWdZMnhoYzNNZ1FYWkNZWE5sVG05a1pUeFVVSEp2Y0hNc0lGUlRkR0YwWlQ0Z1pYaDBaVzVrY3lCU1pXRmpkQzVEYjIxd2IyNWxiblE4VkZCeWIzQnpMQ0JVVTNSaGRHVStJRnh5WEc1Y2RHbHRjR3hsYldWdWRITWdTVUYyUW1GelpVNXZaR1ZjY2x4dWUxeHlYRzVjZEhCMVlteHBZeUJ0WDI1dlpHVkpaRG9nYm5WdFltVnlPMXh5WEc1Y2RIQnlhWFpoZEdVZ2JWOW1hWEp6ZEZWd1pHRjBaU0E5SUhSeWRXVTdYSEpjYmx4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCd2NtOXdjem9nWVc1NUlDbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhISmNibHgwWEhSQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExuSmxaMmx6ZEdWeUtDQjBhR2x6SUNrN1hISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVZbUZ6WlZCeWIzQnpMbTl1U1dSQmMzTnBaMjVsWkNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11WW1GelpWQnliM0J6TG05dVNXUkJjM05wWjI1bFpDZ2dkR2hwY3k1bGJtUndiMmx1ZEVGa1pISW9LU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwTHlvcUlFQm9hV1JrWlc0Z0tpOWNjbHh1WEhSd2RXSnNhV01nWVdKemRISmhZM1FnWW5WcGJHUk9iMlJsS0NBcE9pQkJkazV2WkdVN1hISmNibHh5WEc1Y2RDOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JseDBjSFZpYkdsaklHZHlZV0pKYmxCeWIyZHlaWE56S0NCbmNtRmlZbVZ5T2lCRmJtUndiMmx1ZEVGa1pISWdLVHAyYjJsa1hISmNibHgwZTF4eVhHNWNkRngwTHk4Z2JtOTBhR2x1WnlCMGJ5QmtieUJvWlhKbExDQmlkWFFnYzI5dFpTQnViMlJsSUhSNWNHVnpJSGRwYkd3Z2JtVmxaQ0IwYnlCa2J5QjNiM0pyWEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lvZ1FHaHBaR1JsYmlBcUwxeHlYRzVjZEhCMVlteHBZeUJqY21WaGRHVk9iMlJsUm05eVRtOWtaU2dwT2lCQmRrNXZaR1ZjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXRYMlpwY25OMFZYQmtZWFJsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDJacGNuTjBWWEJrWVhSbElEMGdabUZzYzJVN1hISmNibHh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTVpWVhObFVISnZjSE1nSmlZZ2RHaHBjeTVpWVhObFVISnZjSE11YjI1SlpFRnpjMmxuYm1Wa0lDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVZbUZ6WlZCeWIzQnpMbTl1U1dSQmMzTnBaMjVsWkNnZ2RHaHBjeTVsYm1Sd2IybHVkRUZrWkhJb0tTQXBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdVluVnBiR1JPYjJSbEtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2RzYjJKaGJFbGtLQ2s2SUVWdVpIQnZhVzUwUVdSa2NseHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUI3SUhSNWNHVTZJRVZ1WkhCdmFXNTBWSGx3WlM1T2IyUmxMQ0JsYm1Sd2IybHVkRWxrT2lCQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExtZGxkRVZ1WkhCdmFXNTBTV1FvS1N3Z2JtOWtaVWxrT2lCMGFHbHpMbTFmYm05a1pVbGtJSDA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFF2S2lvZ1FHaHBaR1JsYmlBcUwxeHlYRzVjZEhCMVlteHBZeUJqYjIxd2IyNWxiblJYYVd4c1ZXNXRiM1Z1ZENncFhISmNibHgwZTF4eVhHNWNkRngwUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1MWJuSmxaMmx6ZEdWeUtDQjBhR2x6SUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWm1seWMzUlZjR1JoZEdVZ1BTQjBjblZsTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwTHlvcUlFQm9hV1JrWlc0Z0tpOWNjbHh1WEhSd2NtOTBaV04wWldRZ1kzSmxZWFJsVG05a1pVOWlhbVZqZENnZ2RIbHdaVG9nUVhaT2IyUmxWSGx3WlN3Z2JtOWtaVWxrT2lCdWRXMWlaWElnS1RvZ1FYWk9iMlJsWEhKY2JseDBlMXh5WEc1Y2RGeDBMeTlqYjI1emIyeGxMbXh2WnlnZ1lHTnlaV0YwYVc1bklDUjdJRUYyVG05a1pWUjVjR1ZiSUhSNWNHVmRJSDBnSkhzZ2JtOWtaVWxrSUgxZ0lDazdYSEpjYmx4MFhIUnNaWFFnYjJKcU9rRjJUbTlrWlNBOVhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUjVjR1U2SUhSNWNHVXNYSEpjYmx4MFhIUmNkR2xrT2lCdWIyUmxTV1FzWEhKY2JseDBYSFJjZEdac1lXZHpPaUIwYUdsekxtZGxkRTV2WkdWR2JHRm5jeWdwTEZ4eVhHNWNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUnZZbW91Y0dWeWMybHpkR1Z1ZEU1aGJXVWdQU0IwYUdsekxtSmhjMlZRY205d2N5NWtaV0oxWjA1aGJXVWdQejhnZEdocGN5NWlZWE5sVUhKdmNITXVjR1Z5YzJsemRHVnVkRTVoYldVN1hISmNibHh5WEc1Y2RGeDBjbVYwZFhKdUlHOWlhanRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdaMlYwSUdKaGMyVlFjbTl3Y3lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNISnZjSE1nWVhNZ1FYWkNZWE5sVG05a1pWQnliM0J6TzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2x6Vm1semFXSnNaU2dwT2lCaWIyOXNaV0Z1WEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbUpoYzJWUWNtOXdjeUI4ZkNCMGFHbHpMbUpoYzJWUWNtOXdjeTUyYVhOcFlteGxJRDA5SUhWdVpHVm1hVzVsWkNBcFhISmNibHgwWEhSY2RISmxkSFZ5YmlCMGNuVmxPMXh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUIwYUdsekxtSmhjMlZRY205d2N5NTJhWE5wWW14bE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNISnZkR1ZqZEdWa0lHZGxkRTV2WkdWR2JHRm5jeWdwT2lCRlRtOWtaVVpzWVdkelhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHWnNZV2R6T2tWT2IyUmxSbXhoWjNNZ1BTQXdPMXh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVhWE5XYVhOcFlteGxLQ2tnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSbWJHRm5jeUI4UFNCRlRtOWtaVVpzWVdkekxsWnBjMmxpYkdVN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBjbVYwZFhKdUlHWnNZV2R6TzF4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1Y2RDOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JseDBjSFZpYkdsaklHSmhjMlZPYjJSbFVtVnVaR1Z5S0NCdWIyUmxPaUJKUVhaQ1lYTmxUbTlrWlN3Z1kyaHBiR1J5Wlc0NklGSmxZV04wTGxKbFlXTjBUbTlrWlNBcFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJQ2hjY2x4dVhIUmNkRngwUEdGMkxXNXZaR1VnYTJWNVBYdDBhR2x6TG0xZmJtOWtaVWxrZlNCdWIyUmxTV1E5ZXlCMGFHbHpMbTFmYm05a1pVbGtJSDBnYVdROWV5QjBhR2x6TG1KaGMyVlFjbTl3Y3k1cFpDQjlQbHh5WEc1Y2RGeDBYSFJjZEhzZ1kyaHBiR1J5Wlc0Z2ZWeHlYRzVjZEZ4MFhIUThMMkYyTFc1dlpHVStYSEpjYmx4MFhIUXBJRHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCQWFHbGtaR1Z1SUNvdlhISmNibHgwY0hWaWJHbGpJR052YlhCdmJtVnVkRVJwWkZWd1pHRjBaU2dwWEhKY2JseDBlMXh5WEc1Y2RGeDBRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV0WVhKclJHbHlkSGtvS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJsYm1Sd2IybHVkRUZrWkhJb0tUb2dSVzVrY0c5cGJuUkJaR1J5WEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIdGNjbHh1WEhSY2RGeDBkSGx3WlRvZ1JXNWtjRzlwYm5SVWVYQmxMazV2WkdVc1hISmNibHgwWEhSY2RHVnVaSEJ2YVc1MFNXUTZJRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1WjJWMFJXNWtjRzlwYm5SSlpDZ3BMRnh5WEc1Y2RGeDBYSFJ1YjJSbFNXUTZJSFJvYVhNdWJWOXViMlJsU1dRc1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhRdktpb2dRR2hwWkdSbGJpQXFMMXh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCd1pYSnphWE4wWlc1MFRtRnRaU0E5SUhSb2FYTXVZbUZ6WlZCeWIzQnpQeTV3WlhKemFYTjBaVzUwVG1GdFpUdGNjbHh1WEhSY2RHbG1LQ0J3WlhKemFYTjBaVzUwVG1GdFpTQW1KaUJ3WlhKemFYTjBaVzUwVG1GdFpTNXpkR0Z5ZEhOWGFYUm9LQ0JjSWw5Y0lpQXBJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdoeWIzY2dibVYzSUVWeWNtOXlLQ0JjSWxCbGNuTnBjM1JsYm5RZ2JtRnRaWE1nZEdoaGRDQnpkR0Z5ZENCM2FYUm9JSFZ1WkdWeWMyTnZjbVVnWVhKbElISmxjMlZ5ZG1Wa1hDSWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWlZWE5sVG05a1pWSmxibVJsY2lnZ2RHaHBjeXdnZEdocGN5NXdjbTl3Y3k1amFHbHNaSEpsYmlBcE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dWZWeHlYRzVjY2x4dVhISmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19jb21wb3NlZF9lbnRpdHkudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZDb21wb3NlZEVudGl0eSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZDb21wb3NlZEVudGl0eVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZDb21wb3NlZEVudGl0eTsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5ICovIFxcXCIuL3NyYy9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5LnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBBbGxvd3MgZm9yIHRoZSBjb25zdHJ1Y3Rpb24gb2YgaW50ZXJmYWNlIGVudGl0aWVzIG91dCBvZiByZXVzYWJsZSBpbnRlcmZhY2UgY29tcG9uZW50cy5cXHJcXG4gKlxcclxcbiAqIEVhY2ggY29tcG9uZW50IHNwZWNpZmllcyB6ZXJvIG9yIG1vcmUgaW50ZXJmYWNlcyB0aGF0IGl0IGltcGxlbWVudHMgb24gdHJhbnNtaXQgb3IgcmVjZWl2ZSxcXHJcXG4gKiB0aGUgcGFyZW50IGl0IGRlc2lyZXMgZm9yIHRoZSBlbnRpdHksIGFuZCB3aGV0aGVyIG9yIG5vdCBpdCB3YW50cyB0cmFuc2Zvcm1zLiBJdCBhbHNvIHByb3ZpY2VzXFxyXFxuICogYSB3YXkgZm9yIHRoZSBjb21wb3NlZCBlbnRpdHkgdG8gYmUgY2FsbGVkIGJhY2sgd2hlbiBvbmUgb2YgdGhlIGNvbXBvbmVudHMgbmVlZHMgdG8gcmVmcmVzaCB0aGVcXHJcXG4gKiBlbnRpdHkgaXRzZWxmLlxcclxcbiAqL1xcclxcbmNsYXNzIEF2Q29tcG9zZWRFbnRpdHkgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUVwYSA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLnJlZnJlc2hVcGRhdGVMaXN0ZW5lcnMoKTtcXHJcXG4gICAgfVxcclxcbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XFxyXFxuICAgICAgICB0aGlzLnJlZnJlc2hVcGRhdGVMaXN0ZW5lcnMoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkVudGl0eVJlZihlbnRpdHkpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBsZXQgZXBhID0gKF9hID0gZW50aXR5ID09PSBudWxsIHx8IGVudGl0eSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZW50aXR5Lmdsb2JhbElkKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsO1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlFcGEgPSBlcGE7XFxyXFxuICAgICAgICBmb3IgKGxldCBjb21wIG9mIHRoaXMucHJvcHMuY29tcG9uZW50cykge1xcclxcbiAgICAgICAgICAgIChfYiA9IGNvbXAuc2V0RW50aXR5RXBhKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChjb21wLCBlcGEpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHJlZnJlc2hVcGRhdGVMaXN0ZW5lcnMoKSB7XFxyXFxuICAgICAgICBmb3IgKGxldCBjb21wIG9mIHRoaXMucHJvcHMuY29tcG9uZW50cykge1xcclxcbiAgICAgICAgICAgIGNvbXAub25VcGRhdGUodGhpcy5vbkNvbXBvbmVudFVwZGF0ZSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IGdsb2JhbElkKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5RXBhO1xcclxcbiAgICB9XFxyXFxuICAgIG9uQ29tcG9uZW50VXBkYXRlKCkge1xcclxcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2U7XFxyXFxuICAgICAgICBsZXQgdHJhbnNtaXRzID0gW107XFxyXFxuICAgICAgICBsZXQgcmVjZWl2ZXMgPSBbXTtcXHJcXG4gICAgICAgIGxldCB3YW50c1RyYW5zZm9ybXMgPSBmYWxzZTtcXHJcXG4gICAgICAgIGxldCBwYXJlbnQ7XFxyXFxuICAgICAgICBsZXQgaW50ZXJmYWNlTG9ja3MgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGNvbXAgb2YgdGhpcy5wcm9wcy5jb21wb25lbnRzKSB7XFxyXFxuICAgICAgICAgICAgdHJhbnNtaXRzID0gdHJhbnNtaXRzLmNvbmNhdCgoX2EgPSBjb21wLnRyYW5zbWl0cykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogW10pO1xcclxcbiAgICAgICAgICAgIHJlY2VpdmVzID0gcmVjZWl2ZXMuY29uY2F0KChfYiA9IGNvbXAucmVjZWl2ZXMpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFtdKTtcXHJcXG4gICAgICAgICAgICB3YW50c1RyYW5zZm9ybXMgPSB3YW50c1RyYW5zZm9ybXMgfHwgKChfYyA9IGNvbXAud2FudHNUcmFuc2Zvcm1zKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBmYWxzZSk7XFxyXFxuICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcXHJcXG4gICAgICAgICAgICAgICAgcGFyZW50ID0gKF9kID0gY29tcC5wYXJlbnQpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IG51bGw7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGxldCBjb21wTG9ja3MgPSAoX2UgPSBjb21wLmludGVyZmFjZUxvY2tzKSAhPT0gbnVsbCAmJiBfZSAhPT0gdm9pZCAwID8gX2UgOiBudWxsO1xcclxcbiAgICAgICAgICAgIGlmIChjb21wTG9ja3MpIHtcXHJcXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTG9ja3MgPSBpbnRlcmZhY2VMb2Nrcy5jb25jYXQoY29tcExvY2tzKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdHJhbnNtaXRzOiB0cmFuc21pdHMsIHJlY2VpdmVzOiByZWNlaXZlcywgd2FudHNUcmFuc2Zvcm1zOiB3YW50c1RyYW5zZm9ybXMsIHBhcmVudDogcGFyZW50LCB2b2x1bWU6IHRoaXMucHJvcHMudm9sdW1lLCByZWY6IHRoaXMub25FbnRpdHlSZWYsIHByaW9yaXR5OiB0aGlzLnByb3BzLnByaW9yaXR5LCBpbnRlcmZhY2VMb2NrczogaW50ZXJmYWNlTG9ja3MsIGNvbnN0cmFpbnQ6IHRoaXMucHJvcHMuY29uc3RyYWludCwgcGVyc2lzdGVudE5hbWU6IHRoaXMucHJvcHMuZGVidWdOYW1lIH0sXFxyXFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlbixcXHJcXG4gICAgICAgICAgICB0aGlzLnByb3BzLmNvbXBvbmVudHMubWFwKCh2YWx1ZSkgPT4gdmFsdWUucmVuZGVyKCkpKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZDb21wb3NlZEVudGl0eS5wcm90b3R5cGUsIFxcXCJvbkVudGl0eVJlZlxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkNvbXBvc2VkRW50aXR5LnByb3RvdHlwZSwgXFxcIm9uQ29tcG9uZW50VXBkYXRlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTlqYjIxd2IzTmxaRjlsYm5ScGRIa3VkSE40UHpJMFltUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN08wRkJTMnRETzBGQlEwZzdRVUZEWjBRN1FVRnhSQzlGT3pzN096czdSMEZOUnp0QlFVTkpMRTFCUVUwc1owSkJRV2xDTEZOQlFWRXNLME5CUVRSRE8wbEJTV3BHTEZsQlFWa3NTMEZCVlR0UlFVVnlRaXhMUVVGTExFTkJRVVVzUzBGQlN5eERRVUZGTEVOQlFVTTdVVUZLVWl4alFVRlRMRWRCUVdsQ0xFbEJRVWtzUTBGQlF6dFJRVXQwUXl4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVWQlFVVXNRMEZCUXp0SlFVTXZRaXhEUVVGRE8wbEJSVVFzYTBKQlFXdENPMUZCUldwQ0xFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hEUVVGRE8wbEJReTlDTEVOQlFVTTdTVUZIVHl4WFFVRlhMRU5CUVVVc1RVRkJlVUk3TzFGQlJUZERMRWxCUVVrc1IwRkJSeXhUUVVGSExFMUJRVTBzWVVGQlRpeE5RVUZOTEhWQ1FVRk9MRTFCUVUwc1EwRkJSU3hSUVVGUkxHMURRVUZKTEVsQlFVa3NRMEZCUXp0UlFVVnVReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVkQlFVY3NRMEZCUXp0UlFVTnlRaXhMUVVGTExFbEJRVWtzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVOMFF6dFpRVU5ETEZWQlFVa3NRMEZCUXl4WlFVRlpMQ3REUVVGcVFpeEpRVUZKTEVWQlFXbENMRWRCUVVjc1JVRkJSenRUUVVNelFqdEpRVU5HTEVOQlFVTTdTVUZGVHl4elFrRkJjMEk3VVVGRk4wSXNTMEZCU3l4SlFVRkpMRWxCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNSVUZEZEVNN1dVRkRReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlJTeERRVUZETzFOQlEzaERPMGxCUTBZc1EwRkJRenRKUVVWRUxFbEJRVmNzVVVGQlVUdFJRVVZzUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03U1VGRGRrSXNRMEZCUXp0SlFVZFBMR2xDUVVGcFFqdFJRVVY0UWl4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03U1VGRGNFSXNRMEZCUXp0SlFVVkVMRTFCUVUwN08xRkJSVXdzU1VGQlNTeFRRVUZUTEVkQlFXOUNMRVZCUVVVc1EwRkJRenRSUVVOd1F5eEpRVUZKTEZGQlFWRXNSMEZCYjBJc1JVRkJSU3hEUVVGRE8xRkJRMjVETEVsQlFVa3NaVUZCWlN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVNMVFpeEpRVUZKTEUxQlFXOUNMRU5CUVVNN1VVRkRla0lzU1VGQlNTeGpRVUZqTEVkQlFUSkNMRVZCUVVVc1EwRkJRenRSUVVOb1JDeExRVUZMTEVsQlFVa3NTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEZRVU4wUXp0WlFVTkRMRk5CUVZNc1IwRkJSeXhUUVVGVExFTkJRVU1zVFVGQlRTeFBRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRzFEUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZETzFsQlEzSkVMRkZCUVZFc1IwRkJSeXhSUVVGUkxFTkJRVU1zVFVGQlRTeFBRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRzFEUVVGSkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEycEVMR1ZCUVdVc1IwRkJSeXhsUVVGbExFbEJRVWtzVDBGQlJTeEpRVUZKTEVOQlFVTXNaVUZCWlN4dFEwRkJTU3hMUVVGTExFTkJRVVVzUTBGQlF6dFpRVU4yUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVOWU8yZENRVU5ETEUxQlFVMHNVMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3h0UTBGQlNTeEpRVUZKTEVOQlFVTTdZVUZETjBJN1dVRkZSQ3hKUVVGSkxGTkJRVk1zVTBGQlJ5eEpRVUZKTEVOQlFVTXNZMEZCWXl4dFEwRkJTU3hKUVVGSkxFTkJRVU03V1VGRE5VTXNTVUZCU1N4VFFVRlRMRVZCUTJJN1owSkJRME1zWTBGQll5eEhRVUZITEdOQlFXTXNRMEZCUXl4TlFVRk5MRU5CUVVVc1UwRkJVeXhEUVVGRkxFTkJRVU03WVVGRGNFUTdVMEZEUkR0UlFVVkVMRTlCUVU4c2IwUkJRVU1zTkVWQlFXbENMRWxCUVVNc1UwRkJVeXhGUVVGRkxGTkJRVk1zUlVGQlJTeFJRVUZSTEVWQlFVY3NVVUZCVVN4RlFVRkhMR1ZCUVdVc1JVRkJSeXhsUVVGbExFVkJRM0JITEUxQlFVMHNSVUZCUnl4TlFVRk5MRVZCUVVjc1RVRkJUU3hGUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkhMRWRCUVVjc1JVRkJSeXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVU55UlN4UlFVRlJMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVY3NZMEZCWXl4RlFVRkhMR05CUVdNc1JVRkRhRVVzVlVGQlZTeEZRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hGUVVOc1F5eGpRVUZqTEVWQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVE8xbEJRMjVETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVVHRaUVVOdVFpeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVVVzUTBGQlJTeExRVUZ6UWl4RlFVRkhMRVZCUVVVc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVVXNRMEZEZUVRc1EwRkJRenRKUVVONFFpeERRVUZETzBOQlEwUTdRVUV2UkVFN1NVRkVReXh4UkVGQlNUdHRSRUZWU2p0QlFXZENSRHRKUVVSRExIRkVRVUZKTzNsRVFVbEtJaXdpWm1sc1pTSTZJaTR2YzNKakwyRmhjbVIyWVhKclgyTnZiWEJ2YzJWa1gyVnVkR2wwZVM1MGMzZ3Vhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpb2dRMjl0Y0c5dVpXNTBJSFJvWVhRZ1lXeHNiM2R6SUdsdWRHVnlabUZqWlNCbGJuUnBkR2xsY3lCMGJ5QmlaU0JpZFdsc2RDQnZkWFFnYjJZZ2IzUm9aWElnWTI5dGNHOXVaVzUwSUdOc1lYTnpaWE11WEhKY2JpQXFJRnh5WEc0Z0tpQkFjR0ZqYTJGblpVUnZZM1Z0Wlc1MFlYUnBiMjVjY2x4dUlDb3ZYSEpjYm1sdGNHOXlkQ0I3SUVGMlZtOXNkVzFsTENCRmJtUndiMmx1ZEVGa1pISXNJRVZ1WkhCdmFXNTBWSGx3WlN3Z1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkyc3NJRUYyUTI5dWMzUnlZV2x1ZENCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlU3dnU1c1MFpYSm1ZV05sVUhKdmNDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZhVzUwWlhKbVlXTmxYMlZ1ZEdsMGVTYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlIyRmtaMlYwSUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFFuTzF4eVhHNWNjbHh1THlvcUlFRnVlU0JqYkdGemN5QjBhR0YwSUhkaGJuUnpJSFJ2SUdaMWJtTjBhVzl1SUdGeklHRnVJR2x1ZEdWeVptRmpaU0JsYm5ScGRIa2dhR0Z1Wkd4bGNpQm1iM0lnWVc0Z1hISmNiaUFxSUhzZ1FHeHBibXNnUVhaRGIyMXdiM05sWkVWdWRHbDBlU0I5SUdOdmJYQnZibVZ1ZENCdGRYTjBJR2x0Y0d4bGJXVnVkQ0IwYUdseklHbHVkR1Z5Wm1GalpTNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSVzUwYVhSNVEyOXRjRzl1Wlc1MFhISmNibnRjY2x4dVhIUnlaV0ZrYjI1c2VTQjBjbUZ1YzIxcGRITS9PaUJKYm5SbGNtWmhZMlZRY205d1cxMDdYSEpjYmx4MGNtVmhaRzl1YkhrZ2NtVmpaV2wyWlhNL09pQkpiblJsY21aaFkyVlFjbTl3VzEwN1hISmNibHgwY21WaFpHOXViSGtnYVc1MFpYSm1ZV05sVEc5amEzTS9PaUJKYm1sMGFXRnNTVzUwWlhKbVlXTmxURzlqYTF0ZE8xeHlYRzVjZEhKbFlXUnZibXg1SUhCaGNtVnVkRDg2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSeVpXRmtiMjVzZVNCM1lXNTBjMVJ5WVc1elptOXliWE0vT2lCaWIyOXNaV0Z1TzF4eVhHNWNkSE5sZEVWdWRHbDBlVVZ3WVQ4NklDZ2daWEJoT2lCRmJtUndiMmx1ZEVGa1pISWdLU0E5UGlCMmIybGtPMXh5WEc1Y2RHOXVWWEJrWVhSbEtDQmpZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0FwT2lCMmIybGtPMXh5WEc1Y2RISmxibVJsY2lncElEb2dTbE5ZTGtWc1pXMWxiblE3WEhKY2JuMWNjbHh1WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRrTnZiWEJ2YzJWa1JXNTBhWFI1ZlNCamIyMXdiMjVsYm5RdUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaRGIyMXdiM05sWkVWdWRHbDBlVkJ5YjNCelhISmNibnRjY2x4dVhIUXZLaW9nVkdobElHeHBjM1FnYjJZZ1kyOXRjRzl1Wlc1MGN5QnZaaUIzYUdsamFDQjBhR2x6SUdWdWRHbDBlU0JwY3lCamIyMXdiM05sWkM0Z1ZHaGxJRzl5WkdWeUlHOW1JSFJvWlNCamIyMXdiMjVsYm5SelhISmNibHgwSUNvZ2FXNGdkR2hwY3lCaGNuSmhlU0JrWldacGJtVnpJSFJvWlNCdmNtUmxjaUJ2WmlCMGFHVWdjbVZuYVhOMGNtRjBhVzl1SUc5bUlIUnlZVzV6YldsMElHRnVaQ0J5WldObGFYWmxJR2x1ZEdWeVptRmpaWE1zWEhKY2JseDBJQ29nWVhNZ2QyVnNiQ0JoY3lCM2FHbGphQ0JqYjIxd2IyNWxiblFnWjJWMGN5QjBieUJrWlhSbGNtMXBibVVnZEdobElHTjFjbkpsYm5RZ2NHRnlaVzUwSUdsbUlIUm9aWEpsSUdGeVpTQnRkV3gwYVhCc1pTQmNjbHh1WEhRZ0tpQnViMjR0Ym5Wc2JDQndZWEpsYm5SekxseHlYRzVjZENBcUwxeHlYRzVjZEdOdmJYQnZibVZ1ZEhNNklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ0ZE8xeHlYRzVjY2x4dVhIUXZLaW9nVkdobElIWnZiSFZ0WlNCMGJ5QjFjMlVnZDJobGJpQnRZWFJqYUdsdVp5QjBhR2x6SUdWdWRHbDBlU0IzYVhSb0lHOTBhR1Z5SUdsdWRHVnlabUZqWlNCbGJuUnBkR2xsY3k0Z0tpOWNjbHh1WEhSMmIyeDFiV1U2SUVGMlZtOXNkVzFsSUh3Z1FYWldiMngxYldWYlhUdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQndjbWx2Y21sMGVTQjBieUIxYzJVZ1ptOXlJSFJvWlNCbGJuUnBkSGt1SUZ4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURCY2NseHVYSFFxTDF4eVhHNWNkSEJ5YVc5eWFYUjVQem9nYm5WdFltVnlPMXh5WEc1Y2RGeHlYRzVjZEM4cUtpQlRaWFJ6SUhSb1pTQmpiMjV6ZEhKaGFXNTBJSFJ2SUdGd2NHeDVJSFJ2SUhSb2FYTWdibTlrWlNkeklIUnlZVzV6Wm05eWJTQmlaV1p2Y21VZ1lYQndiSGxwYm1jZ2RHaGxYSEpjYmx4MElDb2djR0Z5Wlc1MElIUnlZVzV6Wm05eWJTNGdWWE5wYm1jZ1kyOXVjM1J5WVdsdWRITWdkMmwwYUc5MWRDQmhJSEJoY21WdWRDQnRZWGtnYUdGMlpTQjFibVY0Y0dWamRHVmtJSEpsYzNWc2RITXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR052Ym5OMGNtRnBiblEvT2lCQmRrTnZibk4wY21GcGJuUTdYSEpjYmx4eVhHNWNkQzhxS2lCVFpYUnpJSFJvWlNCa1pXSjFaeUJ1WVcxbElHOW1JSFJvWlNCbGJuUnBkSGt1SUZSb2FYTWdhWE51SjNRZ2RYTmxaQ0JtYjNJZ1lXNTVkR2hwYm1jZ1lYUWdjblZ1ZEdsdFpTd2dZblYwSUdOaGJseHlYRzVjZENBcUlHMWhhMlVnWkdWMlpXeHZjRzFsYm5RZ1pXRnphV1Z5SUdKNUlITm9iM2RwYm1jZ2JtRnRaWE1nYVc0Z2RHaGxJRzF2Ym1sMGIzSWdZVzVrSUc5MGFHVnlJSFJ2YjJ4ekxseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElHNXZibVZjY2x4dVhIUWdLaTljY2x4dVhIUmtaV0oxWjA1aGJXVS9PaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkJiR3h2ZDNNZ1ptOXlJSFJvWlNCamIyNXpkSEoxWTNScGIyNGdiMllnYVc1MFpYSm1ZV05sSUdWdWRHbDBhV1Z6SUc5MWRDQnZaaUJ5WlhWellXSnNaU0JwYm5SbGNtWmhZMlVnWTI5dGNHOXVaVzUwY3k1Y2NseHVJQ29nWEhKY2JpQXFJRVZoWTJnZ1kyOXRjRzl1Wlc1MElITndaV05wWm1sbGN5QjZaWEp2SUc5eUlHMXZjbVVnYVc1MFpYSm1ZV05sY3lCMGFHRjBJR2wwSUdsdGNHeGxiV1Z1ZEhNZ2IyNGdkSEpoYm5OdGFYUWdiM0lnY21WalpXbDJaU3dnWEhKY2JpQXFJSFJvWlNCd1lYSmxiblFnYVhRZ1pHVnphWEpsY3lCbWIzSWdkR2hsSUdWdWRHbDBlU3dnWVc1a0lIZG9aWFJvWlhJZ2IzSWdibTkwSUdsMElIZGhiblJ6SUhSeVlXNXpabTl5YlhNdUlFbDBJR0ZzYzI4Z2NISnZkbWxqWlhOY2NseHVJQ29nWVNCM1lYa2dabTl5SUhSb1pTQmpiMjF3YjNObFpDQmxiblJwZEhrZ2RHOGdZbVVnWTJGc2JHVmtJR0poWTJzZ2QyaGxiaUJ2Ym1VZ2IyWWdkR2hsSUdOdmJYQnZibVZ1ZEhNZ2JtVmxaSE1nZEc4Z2NtVm1jbVZ6YUNCMGFHVWdYSEpjYmlBcUlHVnVkR2wwZVNCcGRITmxiR1l1WEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWTJ4aGMzTWdRWFpEYjIxd2IzTmxaRVZ1ZEdsMGVTQmxlSFJsYm1SeklGSmxZV04wTGtOdmJYQnZibVZ1ZER3Z1FYWkRiMjF3YjNObFpFVnVkR2wwZVZCeWIzQnpMQ0I3ZlNBK1hISmNibnRjY2x4dVhIUndjbWwyWVhSbElHVnVkR2wwZVVWd1lUb2dSVzVrY0c5cGJuUkJaR1J5SUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwWTI5dWMzUnlkV04wYjNJb2NISnZjSE02SUdGdWVTbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhIUmNkSFJvYVhNdWNtVm1jbVZ6YUZWd1pHRjBaVXhwYzNSbGJtVnljeWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwWTI5dGNHOXVaVzUwUkdsa1ZYQmtZWFJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxuSmxabkpsYzJoVmNHUmhkR1ZNYVhOMFpXNWxjbk1vS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrVnVkR2wwZVZKbFppZ2daVzUwYVhSNU9pQkJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR1Z3WVNBOUlHVnVkR2wwZVQ4dVoyeHZZbUZzU1dRZ1B6OGdiblZzYkR0Y2NseHVYSEpjYmx4MFhIUjBhR2x6TG1WdWRHbDBlVVZ3WVNBOUlHVndZVHRjY2x4dVhIUmNkR1p2Y2lnZ2JHVjBJR052YlhBZ2IyWWdkR2hwY3k1d2NtOXdjeTVqYjIxd2IyNWxiblJ6SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFkyOXRjQzV6WlhSRmJuUnBkSGxGY0dFL0xpZ2daWEJoSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUhKbFpuSmxjMmhWY0dSaGRHVk1hWE4wWlc1bGNuTW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHWnZjaWdnYkdWMElHTnZiWEFnYjJZZ2RHaHBjeTV3Y205d2N5NWpiMjF3YjI1bGJuUnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dGNDNXZibFZ3WkdGMFpTZ2dkR2hwY3k1dmJrTnZiWEJ2Ym1WdWRGVndaR0YwWlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQm5iRzlpWVd4SlpDZ3BPaUJGYm1Sd2IybHVkRUZrWkhKY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1bGJuUnBkSGxGY0dFN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNURiMjF3YjI1bGJuUlZjR1JoZEdVb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVabTl5WTJWVmNHUmhkR1VvS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhKbGJtUmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhSeVlXNXpiV2wwY3pvZ1NXNTBaWEptWVdObFVISnZjRnRkSUQwZ1cxMDdYSEpjYmx4MFhIUnNaWFFnY21WalpXbDJaWE02SUVsdWRHVnlabUZqWlZCeWIzQmJYU0E5SUZ0ZE8xeHlYRzVjZEZ4MGJHVjBJSGRoYm5SelZISmhibk5tYjNKdGN5QTlJR1poYkhObE8xeHlYRzVjZEZ4MGJHVjBJSEJoY21WdWREb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkRngwYkdWMElHbHVkR1Z5Wm1GalpVeHZZMnR6T2lCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amExdGRJRDBnVzEwN1hISmNibHgwWEhSbWIzSW9JR3hsZENCamIyMXdJRzltSUhSb2FYTXVjSEp2Y0hNdVkyOXRjRzl1Wlc1MGN5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJ5WVc1emJXbDBjeUE5SUhSeVlXNXpiV2wwY3k1amIyNWpZWFFvSUdOdmJYQXVkSEpoYm5OdGFYUnpJRDgvSUZ0ZElDazdYSEpjYmx4MFhIUmNkSEpsWTJWcGRtVnpJRDBnY21WalpXbDJaWE11WTI5dVkyRjBLQ0JqYjIxd0xuSmxZMlZwZG1WeklEOC9JRnRkS1R0Y2NseHVYSFJjZEZ4MGQyRnVkSE5VY21GdWMyWnZjbTF6SUQwZ2QyRnVkSE5VY21GdWMyWnZjbTF6SUh4OElDZ2dZMjl0Y0M1M1lXNTBjMVJ5WVc1elptOXliWE1nUHo4Z1ptRnNjMlVnS1R0Y2NseHVYSFJjZEZ4MGFXWW9JQ0Z3WVhKbGJuUWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGNHRnlaVzUwSUQwZ1kyOXRjQzV3WVhKbGJuUWdQejhnYm5Wc2JEdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2NseHVYSFJjZEZ4MGJHVjBJR052YlhCTWIyTnJjeUE5SUdOdmJYQXVhVzUwWlhKbVlXTmxURzlqYTNNZ1B6OGdiblZzYkR0Y2NseHVYSFJjZEZ4MGFXWW9JR052YlhCTWIyTnJjeUFwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnBiblJsY21aaFkyVk1iMk5yY3lBOUlHbHVkR1Z5Wm1GalpVeHZZMnR6TG1OdmJtTmhkQ2dnWTI5dGNFeHZZMnR6SUNrN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdQRUYyU1c1MFpYSm1ZV05sUlc1MGFYUjVJSFJ5WVc1emJXbDBjejE3ZEhKaGJuTnRhWFJ6ZlNCeVpXTmxhWFpsY3oxN0lISmxZMlZwZG1WeklIMGdkMkZ1ZEhOVWNtRnVjMlp2Y20xelBYc2dkMkZ1ZEhOVWNtRnVjMlp2Y20xeklIMWNjbHh1WEhSY2RGeDBYSFJjZEhCaGNtVnVkRDE3SUhCaGNtVnVkQ0I5SUhadmJIVnRaVDE3SUhSb2FYTXVjSEp2Y0hNdWRtOXNkVzFsSUgwZ2NtVm1QWHNnZEdocGN5NXZia1Z1ZEdsMGVWSmxaaUI5SUZ4eVhHNWNkRngwWEhSY2RGeDBjSEpwYjNKcGRIazlleUIwYUdsekxuQnliM0J6TG5CeWFXOXlhWFI1SUgwZ2FXNTBaWEptWVdObFRHOWphM005ZXlCcGJuUmxjbVpoWTJWTWIyTnJjeUI5WEhKY2JseDBYSFJjZEZ4MFhIUmpiMjV6ZEhKaGFXNTBQWHNnZEdocGN5NXdjbTl3Y3k1amIyNXpkSEpoYVc1MElIMWNjbHh1WEhSY2RGeDBYSFJjZEhCbGNuTnBjM1JsYm5ST1lXMWxQWHNnZEdocGN5NXdjbTl3Y3k1a1pXSjFaMDVoYldVZ2ZTQStYSEpjYmx4MFhIUmNkRngwWEhSN0lIUm9hWE11Y0hKdmNITXVZMmhwYkdSeVpXNGdmVnh5WEc1Y2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbU52YlhCdmJtVnVkSE11YldGd0tDQW9JSFpoYkhWbE9pQkZiblJwZEhsRGIyMXdiMjVsYm5RZ0tTQTlQaUIyWVd4MVpTNXlaVzVrWlhJb0tTQXBJSDFjY2x4dVhIUmNkRngwWEhROEwwRjJTVzUwWlhKbVlXTmxSVzUwYVhSNVBqdGNjbHh1WEhSOVhISmNibjFjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5LnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfZHJvcF9pbmRpY2F0b3IudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19kcm9wX2luZGljYXRvci50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2RHJvcEluZGljYXRvciAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZEcm9wSW5kaWNhdG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdkRyb3BJbmRpY2F0b3I7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3BhcmVudF90cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybS50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogQSBob29rIGZvciBhdHRhY2hpbmcgZ3JhYmJhYmxlcyB0byB0aGF0IHVzZXMgYSBzdGFuZGFyZCBwbHVzLWluLWNpcmNsZSBpY29uIGFuZCBpcyBtYWRlIHZpc2libGVcXHJcXG4gKiB3aGVuZXZlciBpdHMgcGFyZW50IGhhbmQgaXMgaW4gZWRpdCBtb2RlLlxcclxcbiAqL1xcclxcbmNsYXNzIEF2RHJvcEluZGljYXRvciBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcXHJcXG4gICAgICAgIHN1cGVyKHByb3BzKTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBsZXQgc3RhdGVNb2RlbDtcXHJcXG4gICAgICAgIGxldCBkZXN0TW9kZWw7XFxyXFxuICAgICAgICBsZXQgZGVzdE1vZGVsQ29sb3I7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy5ob29rKSB7XFxyXFxuICAgICAgICAgICAgZGVzdE1vZGVsQ29sb3IgPSBcXFwiIzMzMzNGRlxcXCI7XFxyXFxuICAgICAgICAgICAgZGVzdE1vZGVsID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjb21wdXRlRW5kcG9pbnRGaWVsZFVyaVxcXCJdKSh0aGlzLnByb3BzLmhvb2ssIFxcXCJwcm9wTW9kZWxVcmlcXFwiKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmFsbG93U3RhZ2VEcm9wKSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlc3RNb2RlbCA9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJnX2J1aWx0aW5Nb2RlbFJvb21cXFwiXTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlc3RNb2RlbCA9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJnX2J1aWx0aW5Nb2RlbFRyYXNoY2FuXFxcIl07XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudGV0aGVyZWQpIHtcXHJcXG4gICAgICAgICAgICBzdGF0ZU1vZGVsID0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkXFxcIl07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBzdGF0ZU1vZGVsID0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImdfYnVpbHRpbk1vZGVsTWFnbmV0T3BlblxcXCJdO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIChyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3BhcmVudF90cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZQYXJlbnRUcmFuc2Zvcm1cXFwiXSwgeyBwYXJlbnRJZDogdGhpcy5wcm9wcy5ncmFiYmFibGUgfSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgc3RhdGVNb2RlbCAmJiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHJvdGF0ZVg6IDkwLCB0cmFuc2xhdGVZOiAtMC4xLCB0cmFuc2xhdGVYOiAtMC4wNSB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiBzdGF0ZU1vZGVsLCBzY2FsZVRvRml0OiB7IHg6IDAuMDUsIHk6IDAuMDUsIHo6IDAuMDUgfSB9KSksXFxyXFxuICAgICAgICAgICAgICAgIGRlc3RNb2RlbCAmJiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHJvdGF0ZVg6IDkwLCB0cmFuc2xhdGVZOiAtMC4xLCB0cmFuc2xhdGVYOiAwLjA1IH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2TW9kZWxcXFwiXSwgeyB1cmk6IGRlc3RNb2RlbCwgY29sb3I6IGRlc3RNb2RlbENvbG9yLCBzY2FsZVRvRml0OiB7IHg6IDAuMDUsIHk6IDAuMDUsIHo6IDAuMDUgfSB9KSkpKSk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTlrY205d1gybHVaR2xqWVhSdmNpNTBjM2cvWkRjNVpDSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVFclFqdEJRVU52UWp0QlFVTlNPMEZCUlc5Rk8wRkJReTlETzBGQlExTTdRVUZ6UW5wRk96dEhRVVZITzBGQlEwa3NUVUZCVFN4bFFVRm5RaXhUUVVGUkxDdERRVUZ4UXp0SlFVVjZSU3haUVVGaExFdEJRVlU3VVVGRmRFSXNTMEZCU3l4RFFVRkZMRXRCUVVzc1EwRkJSU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGVFN4TlFVRk5PMUZCUlZvc1NVRkJTU3hWUVVGclFpeERRVUZETzFGQlEzWkNMRWxCUVVrc1UwRkJhVUlzUTBGQlF6dFJRVU4wUWl4SlFVRkpMR05CUVhOQ0xFTkJRVU03VVVGRE0wSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGRGJrSTdXVUZEUXl4alFVRmpMRWRCUVVjc1UwRkJVeXhEUVVGRE8xbEJRek5DTEZOQlFWTXNSMEZCUnl3eVJrRkJkVUlzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkJSU3hqUVVGakxFTkJRVVVzUTBGQlF6dFRRVU4yUlR0aFFVVkVPMWxCUTBNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdOQlFXTXNSVUZETjBJN1owSkJRME1zVTBGQlV5eEhRVUZITERoRlFVRnJRaXhEUVVGRE8yRkJReTlDTzJsQ1FVVkVPMmRDUVVORExGTkJRVk1zUjBGQlJ5eHJSa0ZCYzBJc1EwRkJRenRoUVVOdVF6dFRRVU5FTzFGQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGRGRrSTdXVUZEUXl4VlFVRlZMRWRCUVVjc2MwWkJRVEJDTEVOQlFVTTdVMEZEZUVNN1lVRkZSRHRaUVVORExGVkJRVlVzUjBGQlJ5eHZSa0ZCZDBJc1EwRkJRenRUUVVOMFF6dFJRVVZFTEU5QlFVOHNRMEZEVGl4dlJFRkJReXcwUlVGQmFVSXNTVUZCUXl4UlFVRlJMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTzFsQlEyeEVMRzlFUVVGRExIRkdRVUZ4UWp0blFrRkRia0lzVlVGQlZTeEpRVUZKTEc5RVFVRkRMQ3RFUVVGWExFbEJRVU1zVDBGQlR5eEZRVUZITEVWQlFVVXNSVUZCUnl4VlFVRlZMRVZCUVVjc1EwRkJReXhIUVVGSExFVkJRVWNzVlVGQlZTeEZRVUZITEVOQlFVTXNTVUZCU1R0dlFrRkRha1lzYjBSQlFVTXNkVVJCUVU4c1NVRkJReXhIUVVGSExFVkJRVWNzVlVGQlZTeEZRVU40UWl4VlFVRlZMRVZCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeEhRVUZKTEVOQlEycERPMmRDUVVOaUxGTkJRVk1zU1VGQlNTeHZSRUZCUXl3clJFRkJWeXhKUVVGRExFOUJRVThzUlVGQlJ5eEZRVUZGTEVWQlFVY3NWVUZCVlN4RlFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGSExGVkJRVlVzUlVGQlJ5eEpRVUZKTzI5Q1FVTXZSU3h2UkVGQlF5eDFSRUZCVHl4SlFVRkRMRWRCUVVjc1JVRkJSeXhUUVVGVExFVkJRM1pDTEV0QlFVc3NSVUZCUnl4alFVRmpMRVZCUTNSQ0xGVkJRVlVzUlVGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNTVUZCU1N4RlFVRkZMRWRCUVVrc1EwRkRha01zUTBGRFVTeERRVU5NTEVOQlFVVXNRMEZCUXp0SlFVTjRRaXhEUVVGRE8wTkJRMFFpTENKbWFXeGxJam9pTGk5emNtTXZZV0Z5WkhaaGNtdGZaSEp2Y0Y5cGJtUnBZMkYwYjNJdWRITjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5iMlJsYkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmJXOWtaV3duTzF4eVhHNXBiWEJ2Y25RZ2V5QkZibVJ3YjJsdWRFRmtaSElzSUdOdmJYQjFkR1ZGYm1Sd2IybHVkRVpwWld4a1ZYSnBMQ0JuWDJKMWFXeDBhVzVOYjJSbGJGUnlZWE5vWTJGdUxDQmNjbHh1WEhSblgySjFhV3gwYVc1TmIyUmxiRTFoWjI1bGRFTnNiM05sWkN3Z1oxOWlkV2xzZEdsdVRXOWtaV3hOWVdkdVpYUlBjR1Z1TENCblgySjFhV3gwYVc1TmIyUmxiRkp2YjIwZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGxCaGNtVnVkRlJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0dGeVpXNTBYM1J5WVc1elptOXliU2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJTR1ZoWkVaaFkybHVaMVJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYUdWaFpGOW1ZV05wYm1kZmRISmhibk5tYjNKdEp6dGNjbHh1WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnUkhKdmNFbHVaR2xqWVhSdmNsQnliM0J6WEhKY2JudGNjbHh1WEhRdktpb2dWR2hsSUdWdVpIQnZhVzUwSUdGa1pISmxjM01nYjJZZ2RHaGxJR2R5WVdKaVlXSnNaU0JpWldsdVp5QmtjbTl3Y0dWa0xpQXFMMXh5WEc1Y2RHZHlZV0ppWVdKc1pUb2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdWdVpIQnZhVzUwSUdGa1pISmxjM01nYjJZZ2RHaGxJR2h2YjJzZ2QyaGxjbVVnYVhRZ2QyOTFiR1FnWW1VZ1pISnZjSEJsWkN3Z2IzSWdjbVYwZFhKdVpXUWdkRzhzWEhKY2JseDBJQ29nSUdsbUlHRnVlUzRnS2k5Y2NseHVYSFJvYjI5clB6b2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNjbHh1WEhRdktpb2dVM0JsWTJsbWFXVnpJSGRvWlhSb1pYSWdkR2hsSUdkeVlXSmlZV0pzWlNCcGN5QmhiSEpsWVdSNUlIUmxkR2hsY21Wa0lIUnZJSFJvWlNCd2NtOTJhV1JsWkNCb2IyOXJMaUFxTDF4eVhHNWNkSFJsZEdobGNtVmtPaUJpYjI5c1pXRnVPMXh5WEc1Y2NseHVYSFF2S2lvZ1UzQmxZMmxtYVdWa0lIZG9aWFJvWlhJZ2RHaGxJR2R5WVdKaVlXSnNaU0IzYVd4c0lHRnNiRzkzSUdsMGMyVnNaaUIwYnlCaVpTQmtjbTl3Y0dWa0lHOXVkRzljY2x4dVhIUWdLaUIwYUdVZ2MzUmhaMlV1WEhKY2JseDBJQ292WEhKY2JseDBZV3hzYjNkVGRHRm5aVVJ5YjNBNklHSnZiMnhsWVc0N1hISmNibjFjY2x4dVhISmNibHh5WEc0dktpb2dRU0JvYjI5cklHWnZjaUJoZEhSaFkyaHBibWNnWjNKaFltSmhZbXhsY3lCMGJ5QjBhR0YwSUhWelpYTWdZU0J6ZEdGdVpHRnlaQ0J3YkhWekxXbHVMV05wY21Oc1pTQnBZMjl1SUdGdVpDQnBjeUJ0WVdSbElIWnBjMmxpYkdWY2NseHVJQ29nZDJobGJtVjJaWElnYVhSeklIQmhjbVZ1ZENCb1lXNWtJR2x6SUdsdUlHVmthWFFnYlc5a1pTNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrUnliM0JKYm1ScFkyRjBiM0lnWlhoMFpXNWtjeUJTWldGamRDNURiMjF3YjI1bGJuUThJRVJ5YjNCSmJtUnBZMkYwYjNKUWNtOXdjeUErWEhKY2JudGNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2djSEp2Y0hNNklHRnVlU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjM1Z3WlhJb0lIQnliM0J6SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nY21WdVpHVnlLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYzNSaGRHVk5iMlJsYkRvZ2MzUnlhVzVuTzF4eVhHNWNkRngwYkdWMElHUmxjM1JOYjJSbGJEb2djM1J5YVc1bk8xeHlYRzVjZEZ4MGJHVjBJR1JsYzNSTmIyUmxiRU52Ykc5eU9pQnpkSEpwYm1jN1hISmNibHgwWEhScFppZ2dkR2hwY3k1d2NtOXdjeTVvYjI5cklDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBaR1Z6ZEUxdlpHVnNRMjlzYjNJZ1BTQmNJaU16TXpNelJrWmNJanRjY2x4dVhIUmNkRngwWkdWemRFMXZaR1ZzSUQwZ1kyOXRjSFYwWlVWdVpIQnZhVzUwUm1sbGJHUlZjbWtvSUhSb2FYTXVjSEp2Y0hNdWFHOXZheXdnWENKd2NtOXdUVzlrWld4VmNtbGNJaUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnBaaWdnZEdocGN5NXdjbTl3Y3k1aGJHeHZkMU4wWVdkbFJISnZjQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmtaWE4wVFc5a1pXd2dQU0JuWDJKMWFXeDBhVzVOYjJSbGJGSnZiMjA3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFpHVnpkRTF2WkdWc0lEMGdaMTlpZFdsc2RHbHVUVzlrWld4VWNtRnphR05oYmp0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbkJ5YjNCekxuUmxkR2hsY21Wa0lDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBjM1JoZEdWTmIyUmxiQ0E5SUdkZlluVnBiSFJwYmsxdlpHVnNUV0ZuYm1WMFEyeHZjMlZrTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnpkR0YwWlUxdlpHVnNJRDBnWjE5aWRXbHNkR2x1VFc5a1pXeE5ZV2R1WlhSUGNHVnVPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUFvWEhKY2JseDBYSFJjZER4QmRsQmhjbVZ1ZEZSeVlXNXpabTl5YlNCd1lYSmxiblJKWkQxN0lIUm9hWE11Y0hKdmNITXVaM0poWW1KaFlteGxJSDArWEhKY2JseDBYSFJjZER4QmRraGxZV1JHWVdOcGJtZFVjbUZ1YzJadmNtMCtYSEpjYmx4MFhIUmNkRngwZXlCemRHRjBaVTF2WkdWc0lDWW1JRHhCZGxSeVlXNXpabTl5YlNCeWIzUmhkR1ZZUFhzZ09UQWdmU0IwY21GdWMyeGhkR1ZaUFhzZ0xUQXVNU0I5SUhSeVlXNXpiR0YwWlZnOWV5QXRNQzR3TlNCOVBseHlYRzVjZEZ4MFhIUmNkRngwUEVGMlRXOWtaV3dnZFhKcFBYc2djM1JoZEdWTmIyUmxiQ0I5WEhKY2JseDBYSFJjZEZ4MFhIUmNkSE5qWVd4bFZHOUdhWFE5ZXlCN0lIZzZJREF1TURVc0lIazZJREF1TURVc0lIbzZJREF1TURVZ2ZTQjlMejRnWEhKY2JseDBYSFJjZEZ4MFhIUThMMEYyVkhKaGJuTm1iM0p0UGlCOVhISmNibHgwWEhSY2RGeDBleUJrWlhOMFRXOWtaV3dnSmlZZ1BFRjJWSEpoYm5ObWIzSnRJSEp2ZEdGMFpWZzlleUE1TUNCOUlIUnlZVzV6YkdGMFpWazlleUF0TUM0eElIMGdkSEpoYm5Oc1lYUmxXRDE3SURBdU1EVWdmVDVjY2x4dVhIUmNkRngwWEhSY2REeEJkazF2WkdWc0lIVnlhVDE3SUdSbGMzUk5iMlJsYkNCOVhISmNibHgwWEhSY2RGeDBYSFJjZEdOdmJHOXlQWHNnWkdWemRFMXZaR1ZzUTI5c2IzSWdmVnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnpZMkZzWlZSdlJtbDBQWHNnZXlCNE9pQXdMakExTENCNU9pQXdMakExTENCNk9pQXdMakExSUgwZ2ZTOCtJRnh5WEc1Y2RGeDBYSFJjZEZ4MFBDOUJkbFJ5WVc1elptOXliVDRnZlZ4eVhHNWNkRngwWEhROEwwRjJTR1ZoWkVaaFkybHVaMVJ5WVc1elptOXliVDVjY2x4dVhIUmNkRHd2UVhaUVlYSmxiblJVY21GdWMyWnZjbTArSUNrN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZHJvcF9pbmRpY2F0b3IudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19lbmRwb2ludC50c1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19lbmRwb2ludC50cyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBDQWFyZHZhcmtFbmRwb2ludCwgQ01vbml0b3JFbmRwb2ludCwgQ1V0aWxpdHlFbmRwb2ludCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ0FhcmR2YXJrRW5kcG9pbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIENBYXJkdmFya0VuZHBvaW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDTW9uaXRvckVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDTW9uaXRvckVuZHBvaW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDVXRpbGl0eUVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDVXRpbGl0eUVuZHBvaW50OyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuXFxyXFxuLyoqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxcclxcbiAqIEBoaWRkZW5cXHJcXG4gKi9cXHJcXG5cXHJcXG5cXHJcXG5jbGFzcyBDQWFyZHZhcmtFbmRwb2ludCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKG9wZW5IYW5kbGVyLCBoYW5kc2hha2VDb21wbGV0ZSwgZGVmYXVsdEhhbmRsZXIgPSBudWxsKSB7XFxyXFxuICAgICAgICB0aGlzLm1fd3MgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2hhbmRsZXJzID0ge307XFxyXFxuICAgICAgICB0aGlzLm1fYXN5bmNIYW5kbGVycyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2RlZmF1bHRIYW5kbGVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9yZWFsT3BlbkhhbmRsZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2hhbmRzaGFrZUNvbXBsZXRlID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludElkID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9xdWV1ZWRNZXNzYWdlcyA9IFtdO1xcclxcbiAgICAgICAgdGhpcy5tX2FsbG93UmVjb25uZWN0ID0gZmFsc2U7XFxyXFxuICAgICAgICB0aGlzLm1fbmV4dFNlcXVlbmNlTnVtYmVyID0gMTtcXHJcXG4gICAgICAgIHRoaXMubV9wZW5kaW5nUmVzcG9uc2VzID0ge307XFxyXFxuICAgICAgICB0aGlzLm1fbWVzc2FnZUluUHJvZ3Jlc3MgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMubV93YWl0aW5nSW5jb21pbmdNZXNzYWdlcyA9IFtdO1xcclxcbiAgICAgICAgdGhpcy5tX2RlZmF1bHRIYW5kbGVyID0gZGVmYXVsdEhhbmRsZXI7XFxyXFxuICAgICAgICB0aGlzLm1fcmVhbE9wZW5IYW5kbGVyID0gb3BlbkhhbmRsZXI7XFxyXFxuICAgICAgICB0aGlzLm1faGFuZHNoYWtlQ29tcGxldGUgPSBoYW5kc2hha2VDb21wbGV0ZTtcXHJcXG4gICAgICAgIHRoaXMuY29ubmVjdFRvU2VydmVyKCk7XFxyXFxuICAgICAgICB0aGlzLnJlZ2lzdGVySGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5TZXRFbmRwb2ludFR5cGVSZXNwb25zZSwgdGhpcy5vblNldEVuZHBvaW50VHlwZVJlc3BvbnNlKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZSh0eXBlLCBtc2csIHJlc3BvbnNlVHlwZSkge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcXHJcXG4gICAgICAgICAgICBsZXQgc2VxTnVtYmVyID0gdGhpcy5zZW5kTWVzc2FnZSh0eXBlLCBtc2cpO1xcclxcbiAgICAgICAgICAgIGlmICghdGhpcy5tX3BlbmRpbmdSZXNwb25zZXNbcmVzcG9uc2VUeXBlXSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1fcGVuZGluZ1Jlc3BvbnNlc1tyZXNwb25zZVR5cGVdID0ge307XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMubV9wZW5kaW5nUmVzcG9uc2VzW3Jlc3BvbnNlVHlwZV1bc2VxTnVtYmVyXSA9IHsgcmVzb2x2ZSwgcmVqZWN0IH07XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXRFbmRwb2ludElkKCkgeyByZXR1cm4gdGhpcy5tX2VuZHBvaW50SWQ7IH1cXHJcXG4gICAgYWxsb3dSZWNvbm5lY3QoKSB7IHRoaXMubV9hbGxvd1JlY29ubmVjdCA9IHRydWU7IH1cXHJcXG4gICAgY29ubmVjdFRvU2VydmVyKCkge1xcclxcbiAgICAgICAgdGhpcy5tX3dzID0gbmV3IFdlYlNvY2tldChcXFwid3M6Ly9sb2NhbGhvc3Q6XFxcIiArIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBYXJkdmFya1BvcnRcXFwiXSk7XFxyXFxuICAgICAgICB0aGlzLm1fd3Mub25vcGVuID0gdGhpcy5tX3JlYWxPcGVuSGFuZGxlcjtcXHJcXG4gICAgICAgIHRoaXMubV93cy5vbm1lc3NhZ2UgPSB0aGlzLm9uTWVzc2FnZTtcXHJcXG4gICAgICAgIHRoaXMubV93cy5vbmNsb3NlID0gdGhpcy5vbkNsb3NlO1xcclxcbiAgICB9XFxyXFxuICAgIHJlZ2lzdGVySGFuZGxlcih0eXBlLCBoYW5kbGVyKSB7XFxyXFxuICAgICAgICB0aGlzLm1faGFuZGxlcnNbdHlwZV0gPSBoYW5kbGVyO1xcclxcbiAgICB9XFxyXFxuICAgIHJlZ2lzdGVyQXN5bmNIYW5kbGVyKHR5cGUsIGhhbmRsZXIpIHtcXHJcXG4gICAgICAgIHRoaXMubV9hc3luY0hhbmRsZXJzW3R5cGVdID0gaGFuZGxlcjtcXHJcXG4gICAgfVxcclxcbiAgICBvbk1lc3NhZ2UobXNnRXZlbnQpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLm1fbWVzc2FnZUluUHJvZ3Jlc3MpIHtcXHJcXG4gICAgICAgICAgICAgICAgLy8gcHJvY2VzcyB0aGlzIGV2ZW50IHdoZW4gd2hhdGV2ZXIgaXMgY3VycmVudGx5IGJlaW5nIHByb2Nlc3NlZCByZXR1cm5zXFxyXFxuICAgICAgICAgICAgICAgIC8vIGxldCBlbnYgPSBwYXJzZUVudmVsb3BlKCBtc2dFdmVudC5kYXRhICk7XFxyXFxuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCBgUHVzaGluZyBtZXNzYWdlIG9mIHR5cGUgJHsgTWVzc2FnZVR5cGVbIGVudi50eXBlIF0gfWAgKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX3dhaXRpbmdJbmNvbWluZ01lc3NhZ2VzLnB1c2gobXNnRXZlbnQpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX21lc3NhZ2VJblByb2dyZXNzID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5wcm9jZXNzTWVzc2FnZUludGVybmFsKG1zZ0V2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgd2hpbGUgKHRoaXMubV93YWl0aW5nSW5jb21pbmdNZXNzYWdlcy5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgbmV4dEV2ZW50ID0gdGhpcy5tX3dhaXRpbmdJbmNvbWluZ01lc3NhZ2VzLnNoaWZ0KCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB5aWVsZCB0aGlzLnByb2Nlc3NNZXNzYWdlSW50ZXJuYWwobmV4dEV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1fbWVzc2FnZUluUHJvZ3Jlc3MgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBwcm9jZXNzTWVzc2FnZUludGVybmFsKG1zZ0V2ZW50KSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgZW52ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJwYXJzZUVudmVsb3BlXFxcIl0pKG1zZ0V2ZW50LmRhdGEpO1xcclxcbiAgICAgICAgICAgIGlmICghZW52KVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgLy9jb25zb2xlLmxvZyggYFByb2Nlc3NpbmcgbWVzc2FnZSBvZiB0eXBlICR7IE1lc3NhZ2VUeXBlWyBlbnYudHlwZSBdIH1gICk7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMubV9oYW5kbGVyc1tlbnYudHlwZV0pIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX2hhbmRsZXJzW2Vudi50eXBlXShlbnYucGF5bG9hZFVucGFja2VkLCBlbnYpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1fYXN5bmNIYW5kbGVyc1tlbnYudHlwZV0pIHtcXHJcXG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5tX2FzeW5jSGFuZGxlcnNbZW52LnR5cGVdKGVudi5wYXlsb2FkVW5wYWNrZWQsIGVudik7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubV9wZW5kaW5nUmVzcG9uc2VzW2Vudi50eXBlXSkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcGVuZGluZ1Jlc3BvbnNlID0gdGhpcy5tX3BlbmRpbmdSZXNwb25zZXNbZW52LnR5cGVdW2Vudi5yZXBseVRvXTtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCFwZW5kaW5nUmVzcG9uc2UpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZWNlaXZlZCBtZXNzYWdlIG9mIHR5cGUgJHtfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXVtlbnYudHlwZV19IHRoYXQgZGlkbid0IGBcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICArIGBoYXZlIGEgbWF0Y2hpbmcgc2VxdWVuY2UgbnVtYmVyICR7ZW52LnJlcGx5VG99YCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBwZW5kaW5nUmVzcG9uc2UucmVzb2x2ZShbZW52LnBheWxvYWRVbnBhY2tlZCwgZW52XSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5tX3BlbmRpbmdSZXNwb25zZXNbZW52LnR5cGVdW2Vudi5yZXBseVRvXTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1fZGVmYXVsdEhhbmRsZXIpIHtcXHJcXG4gICAgICAgICAgICAgICAgeWllbGQgdGhpcy5tX2RlZmF1bHRIYW5kbGVyKGVudi5wYXlsb2FkVW5wYWNrZWQsIGVudik7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgVW5oYW5kbGVkICR7X2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl1bZW52LnR5cGVdfTogJHtlbnYucGF5bG9hZH1gKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvblNldEVuZHBvaW50VHlwZVJlc3BvbnNlKG0pIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9lbmRwb2ludElkID0gbS5lbmRwb2ludElkO1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLm1faGFuZHNoYWtlQ29tcGxldGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX2hhbmRzaGFrZUNvbXBsZXRlKG0uc2V0dGluZ3MpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAvLyBzZW5kIGFsbCB0aGUgbWVzc2FnZXMgdGhhdCB3ZXJlIHF1ZXVlZCB3aGlsZSB3ZSB3ZXJlIHdhaXRpbmcgdG8gY29ubmVjdFxcclxcbiAgICAgICAgICAgIGZvciAobGV0IGVudiBvZiB0aGlzLm1fcXVldWVkTWVzc2FnZXMpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX3dzLnNlbmQoSlNPTi5zdHJpbmdpZnkoZW52KSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMubV9xdWV1ZWRNZXNzYWdlcyA9IFtdO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZE1lc3NhZ2UodHlwZSwgbXNnLCBzZW5kaW5nTm9kZSkge1xcclxcbiAgICAgICAgbGV0IGVudiA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlLFxcclxcbiAgICAgICAgICAgIHNlcXVlbmNlTnVtYmVyOiB0aGlzLm1fbmV4dFNlcXVlbmNlTnVtYmVyKyssXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgaWYgKG1zZyAhPSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgICAgICBlbnYucGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KG1zZyk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoc2VuZGluZ05vZGUgIT0gdW5kZWZpbmVkKSB7XFxyXFxuICAgICAgICAgICAgZW52LnNlbmRlciA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Ob2RlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnRJZDogdGhpcy5tX2VuZHBvaW50SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IHNlbmRpbmdOb2RlXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoIXRoaXMubV9lbmRwb2ludElkICYmIHR5cGUgIT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlKSB7XFxyXFxuICAgICAgICAgICAgLy9jb25zb2xlLmxvZyggYFF1ZXVlaW5nIG1lc3NhZ2Ugb2YgdHlwZSAkeyBNZXNzYWdlVHlwZVsgdHlwZSBdIH0gdG8gYmUgc2VudCB3aGVuIHdlIGNvbm5lY3RgICk7XFxyXFxuICAgICAgICAgICAgdGhpcy5tX3F1ZXVlZE1lc3NhZ2VzLnB1c2goZW52KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHRoaXMubV93cy5zZW5kKEpTT04uc3RyaW5naWZ5KGVudikpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIGVudi5zZXF1ZW5jZU51bWJlcjtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kUmVwbHkodHlwZSwgbXNnLCByZXBseVRvLCBzZW5kZXIgPSB1bmRlZmluZWQpIHtcXHJcXG4gICAgICAgIGxldCBlbnYgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZSxcXHJcXG4gICAgICAgICAgICBzZXF1ZW5jZU51bWJlcjogdGhpcy5tX25leHRTZXF1ZW5jZU51bWJlcisrLFxcclxcbiAgICAgICAgICAgIHNlbmRlcjogc2VuZGVyID8gc2VuZGVyIDogeyB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uSHViLCBlbmRwb2ludElkOiAwIH0sXFxyXFxuICAgICAgICAgICAgdGFyZ2V0OiByZXBseVRvLnNlbmRlcixcXHJcXG4gICAgICAgICAgICByZXBseVRvOiByZXBseVRvLnNlcXVlbmNlTnVtYmVyLFxcclxcbiAgICAgICAgICAgIHBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KG1zZyksXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgdGhpcy5tX3dzLnNlbmQoSlNPTi5zdHJpbmdpZnkoZW52KSk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0R2FkZ2V0TWFuaWZlc3QoZ2FkZ2V0VXJpKSB7XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xcclxcbiAgICAgICAgICAgIGxldCBtc2dHZXRHYWRnZXRNYW5pZmVzdCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgZ2FkZ2V0VXJpLFxcclxcbiAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgbGV0IHByb20gPSB0aGlzLnNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdldEFhcmR2YXJrTWFuaWZlc3QsIG1zZ0dldEdhZGdldE1hbmlmZXN0LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5HZXRBYXJkdmFya01hbmlmZXN0UmVzcG9uc2UpO1xcclxcbiAgICAgICAgICAgIHByb20udGhlbigoW21zZywgZW52XSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBpZiAobXNnLm1hbmlmZXN0KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG1zZy5tYW5pZmVzdCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZWplY3QobXNnLmVycm9yKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25DbG9zZShldikge1xcclxcbiAgICAgICAgaWYgKGV2LmNvZGUgPT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIldlYlNvY2tldENsb3NlQ29kZXNcXFwiXS5Vc2VyRGVzdHJveWVkR2FkZ2V0KSB7XFxyXFxuICAgICAgICAgICAgLy8gVGhlIHVzZXIgYXNrZWQgdG8gZGVzdHJveSB0aGlzIGdhZGdldC4gSnVzdCBjbG9zZSB3aXRoIGFzIGxpdHRsZSBhZGRpdGlvbmFsXFxyXFxuICAgICAgICAgICAgLy8gd29yayBhcyBwb3NzaWJsZVxcclxcbiAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGhpcy5tX2FsbG93UmVjb25uZWN0KSB7XFxyXFxuICAgICAgICAgICAgLy8gVGhlIHNvY2tldCBjbG9zZWQgZnJvbSB0aGUgb3RoZXIgZW5kLiBTY2hlZHVsZSBhIHJlY29ubmVjdCBmb3Igd2hlblxcclxcbiAgICAgICAgICAgIC8vIHRoZSBzZXJ2ZXIgY29tZXMgYmFjayB1cFxcclxcbiAgICAgICAgICAgIHNldFRpbWVvdXQodGhpcy5jb25uZWN0VG9TZXJ2ZXIsIDIwMDApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBDQWFyZHZhcmtFbmRwb2ludC5wcm90b3R5cGUsIFxcXCJjb25uZWN0VG9TZXJ2ZXJcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQ0FhcmR2YXJrRW5kcG9pbnQucHJvdG90eXBlLCBcXFwib25NZXNzYWdlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIENBYXJkdmFya0VuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uU2V0RW5kcG9pbnRUeXBlUmVzcG9uc2VcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQ0FhcmR2YXJrRW5kcG9pbnQucHJvdG90eXBlLCBcXFwib25DbG9zZVxcXCIsIG51bGwpO1xcclxcbmNsYXNzIENNb25pdG9yRW5kcG9pbnQgZXh0ZW5kcyBDQWFyZHZhcmtFbmRwb2ludCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGRlZmF1bHRIYW5kbGVyID0gbnVsbCkge1xcclxcbiAgICAgICAgc3VwZXIoKCkgPT4geyB0aGlzLm9uT3BlbigpOyB9LCBudWxsLCBkZWZhdWx0SGFuZGxlcik7XFxyXFxuICAgICAgICB0aGlzLmFsbG93UmVjb25uZWN0KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25PcGVuKCkge1xcclxcbiAgICAgICAgY29uc29sZS5sb2coXFxcIkNvbm5lY3RlZFxcXCIpO1xcclxcbiAgICAgICAgbGV0IG1zZ1NldEVuZHBvaW50VHlwZSA9IHtcXHJcXG4gICAgICAgICAgICBuZXdFbmRwb2ludFR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Nb25pdG9yLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlLCBtc2dTZXRFbmRwb2ludFR5cGUpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBDTW9uaXRvckVuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uT3BlblxcXCIsIG51bGwpO1xcclxcbmNsYXNzIENVdGlsaXR5RW5kcG9pbnQgZXh0ZW5kcyBDQWFyZHZhcmtFbmRwb2ludCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGRlZmF1bHRIYW5kbGVyID0gbnVsbCwgaGFuZHNoYWtlQ29tcGxldGUgPSBudWxsKSB7XFxyXFxuICAgICAgICBzdXBlcigoKSA9PiB7IHRoaXMub25PcGVuKCk7IH0sIGhhbmRzaGFrZUNvbXBsZXRlLCBkZWZhdWx0SGFuZGxlcik7XFxyXFxuICAgICAgICB0aGlzLmFsbG93UmVjb25uZWN0KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25PcGVuKCkge1xcclxcbiAgICAgICAgY29uc29sZS5sb2coXFxcIkNvbm5lY3RlZFxcXCIpO1xcclxcbiAgICAgICAgbGV0IG1zZ1NldEVuZHBvaW50VHlwZSA9IHtcXHJcXG4gICAgICAgICAgICBuZXdFbmRwb2ludFR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5VdGlsaXR5LFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlLCBtc2dTZXRFbmRwb2ludFR5cGUpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBDVXRpbGl0eUVuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uT3BlblxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5bGJtUndiMmx1ZEM1MGN6OWtOVFJpSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3UVVGQlFUczdSMEZGUnp0QlFVTjNVVHRCUVVONlR6dEJRWGxDTTBJc1RVRkJUU3hwUWtGQmFVSTdTVUZ6UWpkQ0xGbEJRV0VzVjBGQmQwSXNSVUZCUlN4cFFrRkJPRUlzUlVGQlJTeHBRa0ZCYzBNc1NVRkJTVHRSUVhCQ2VrY3NVMEZCU1N4SFFVRmhMRWxCUVVrc1EwRkJRenRSUVVOMFFpeGxRVUZWTEVkQlFUUkRMRVZCUVVVc1EwRkJRenRSUVVONlJDeHZRa0ZCWlN4SFFVRnBSQ3hGUVVGRkxFTkJRVU03VVVGRGJrVXNjVUpCUVdkQ0xFZEJRWGRDTEVsQlFVa3NRMEZCUXp0UlFVTTNReXh6UWtGQmFVSXNSMEZCWjBJc1NVRkJTU3hEUVVGRE8xRkJRM1JETEhkQ1FVRnRRaXhIUVVGblFpeEpRVUZKTEVOQlFVTTdVVUZEZUVNc2FVSkJRVmtzUjBGQlZ5eEpRVUZKTEVOQlFVTTdVVUZETlVJc2NVSkJRV2RDTEVkQlFXVXNSVUZCUlN4RFFVRkRPMUZCUTJ4RExIRkNRVUZuUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVONlFpeDVRa0ZCYjBJc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrSXNkVUpCUVd0Q0xFZEJVWFJDTEVWQlFVVXNRMEZCUXp0UlFXbEVReXgzUWtGQmJVSXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkROVUlzT0VKQlFYbENMRWRCUVcxQ0xFVkJRVVVzUTBGQlF6dFJRVGxEZEVRc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4SFFVRkhMR05CUVdNc1EwRkJRenRSUVVOMlF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWNzVjBGQlZ5eERRVUZETzFGQlEzSkRMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4cFFrRkJhVUlzUTBGQlF6dFJRVU0zUXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVGRkxFTkJRVU03VVVGRGRrSXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJSU3gxUlVGQlZ5eERRVUZETEhWQ1FVRjFRaXhGUVVGRkxFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJSU3hEUVVGRE8wbEJRemRHTEVOQlFVTTdTVUZGVFN3MlFrRkJOa0lzUTBGQlN5eEpRVUZwUWl4RlFVRkZMRWRCUVZFc1JVRkJSU3haUVVGNVFqdFJRVWM1Uml4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRkxFTkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUnl4RlFVRkZPMWxCUlhwRExFbEJRVWtzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVVc1NVRkJTU3hGUVVGRkxFZEJRVWNzUTBGQlJTeERRVUZETzFsQlJUbERMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRU5CUVVVc1dVRkJXU3hEUVVGRkxFVkJRelZETzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4WlFVRlpMRU5CUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU03WVVGRE4wTTdXVUZGUkN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVVc1UwRkJVeXhEUVVGRkxFZEJRVWNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkROVVVzUTBGQlF5eERRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlUwc1lVRkJZU3hMUVVGTExFOUJRVThzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZOME1zWTBGQll5eExRVUZMTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRORExHVkJRV1U3VVVGRk5VSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxGTkJRVk1zUTBGQlJTeHBRa0ZCYVVJc1IwRkJSeXgzUlVGQldTeERRVUZGTEVOQlFVTTdVVUZET1VRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6RkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1VVRkRja01zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF6dEpRVU5zUXl4RFFVRkRPMGxCUlUwc1pVRkJaU3hEUVVGRkxFbEJRV2xDTEVWQlFVVXNUMEZCZFVJN1VVRkZha1VzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUlN4SlFVRkpMRU5CUVVVc1IwRkJSeXhQUVVGUExFTkJRVU03U1VGRGJrTXNRMEZCUXp0SlFVVk5MRzlDUVVGdlFpeERRVUZGTEVsQlFXbENMRVZCUVVVc1QwRkJORUk3VVVGRk0wVXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJSU3hKUVVGSkxFTkJRVVVzUjBGQlJ5eFBRVUZQTEVOQlFVTTdTVUZEZUVNc1EwRkJRenRKUVVsWExGTkJRVk1zUTBGQlJTeFJRVUZ6UWpzN1dVRkZOVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFVkJRelZDTzJkQ1FVTkRMSGRGUVVGM1JUdG5Ra0ZEZUVVc05FTkJRVFJETzJkQ1FVTTFReXg1UlVGQmVVVTdaMEpCUTNwRkxFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJReXhKUVVGSkxFTkJRVVVzVVVGQlVTeERRVUZGTEVOQlFVTTdZVUZEYUVRN2FVSkJSVVE3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRhRU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVVVzVVVGQlVTeERRVUZGTEVOQlFVTTdaMEpCUlRsRExFOUJRVThzU1VGQlNTeERRVUZETEhsQ1FVRjVRaXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlEyaEVPMjlDUVVORExFbEJRVWtzVTBGQlV5eEhRVUZITEVsQlFVa3NRMEZCUXl4NVFrRkJlVUlzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXp0dlFrRkRka1FzVFVGQlRTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVVVzVTBGQlV5eERRVUZGTEVOQlFVTTdhVUpCUXk5RE8yZENRVU5FTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUjBGQlJ5eExRVUZMTEVOQlFVTTdZVUZEYWtNN1VVRkRSaXhEUVVGRE8wdEJRVUU3U1VGRllTeHpRa0ZCYzBJc1EwRkJSU3hSUVVGelFqczdXVUZGTTBRc1NVRkJTU3hIUVVGSExFZEJRVWNzYVVaQlFXRXNRMEZCUlN4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRkxFTkJRVU03V1VGRGVrTXNTVUZCU1N4RFFVRkRMRWRCUVVjN1owSkJRMUFzVDBGQlR6dFpRVVZTTERKRlFVRXlSVHRaUVVVelJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVVc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlJTeEZRVU12UWp0blFrRkRReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZGTEVkQlFVY3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJSU3hIUVVGSExFTkJRVU1zWlVGQlpTeEZRVUZGTEVkQlFVY3NRMEZCUlN4RFFVRkRPMkZCUTNoRU8ybENRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZGTEVWQlEzcERPMmRDUVVORExFMUJRVTBzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRkxFTkJRVVVzUjBGQlJ5eERRVUZETEdWQlFXVXNSVUZCUlN4SFFVRkhMRU5CUVVVc1EwRkJRenRoUVVOdVJUdHBRa0ZEU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRkxFVkJRelZETzJkQ1FVTkRMRWxCUVVrc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1EwRkJSU3hIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVVXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8yZENRVU42UlN4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVOd1FqdHZRa0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxEUkNRVUUyUWl4MVJVRkJWeXhEUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVY3NaVUZCWlRzd1FrRkRPVVVzYlVOQlFXOURMRWRCUVVjc1EwRkJReXhQUVVGUkxFVkJRVVVzUTBGQlJTeERRVUZETzJsQ1FVTjRSRHR4UWtGRlJEdHZRa0ZEUXl4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRkxFTkJRVVVzUjBGQlJ5eERRVUZETEdWQlFXVXNSVUZCUlN4SFFVRkhMRU5CUVVVc1EwRkJSU3hEUVVGRE8yOUNRVU40UkN4UFFVRlBMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNRMEZCUlN4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRkxFTkJRVVVzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkRPMmxDUVVNeFJEdGhRVU5FTzJsQ1FVTkpMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTTVRanRuUWtGRFF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeEhRVUZITEVOQlFVTXNaVUZCWlN4RlFVRkZMRWRCUVVjc1EwRkJSU3hEUVVGRE8yRkJRM2hFTzJsQ1FVVkVPMmRDUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNZVUZCWXl4MVJVRkJWeXhEUVVGRkxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVY3NTMEZCVFN4SFFVRkhMRU5CUVVNc1QwRkJVU3hGUVVGRkxFTkJRVVVzUTBGQlF6dGhRVU14UlR0UlFVTkdMRU5CUVVNN1MwRkJRVHRKUVVWclFpeDVRa0ZCZVVJc1EwRkJSU3hEUVVFMlFqczdXVUZGTVVVc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRPMWxCUTJwRExFbEJRVWtzU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhGUVVNMVFqdG5Ra0ZEUXl4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVVXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJSU3hEUVVGRE8yRkJRM1pETzFsQlJVUXNNRVZCUVRCRk8xbEJRekZGTEV0QlFVc3NTVUZCU1N4SFFVRkhMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTnlRenRuUWtGRFF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZGTEVkQlFVY3NRMEZCUlN4RFFVRkZMRU5CUVVNN1lVRkRlRU03V1VGRFJDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzUlVGQlJTeERRVUZETzFGQlF6VkNMRU5CUVVNN1MwRkJRVHRKUVVWTkxGZEJRVmNzUTBGQlJTeEpRVUZwUWl4RlFVRkZMRWRCUVZFc1JVRkJSU3hYUVVGeFFqdFJRVVZ5UlN4SlFVRkpMRWRCUVVjc1IwRkRVRHRaUVVORExFbEJRVWs3V1VGRFNpeGpRVUZqTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTzFOQlF6TkRMRU5CUVVNN1VVRkRSaXhKUVVGSkxFZEJRVWNzU1VGQlNTeFRRVUZUTEVWQlEzQkNPMWxCUTBNc1IwRkJSeXhEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkZMRWRCUVVjc1EwRkJSU3hEUVVGRE8xTkJRM0JETzFGQlEwUXNTVUZCU1N4WFFVRlhMRWxCUVVrc1UwRkJVeXhGUVVNMVFqdFpRVU5ETEVkQlFVY3NRMEZCUXl4TlFVRk5PMmRDUVVOV08yOUNRVU5ETEVsQlFVa3NSVUZCUlN4M1JVRkJXU3hEUVVGRExFbEJRVWs3YjBKQlEzWkNMRlZCUVZVc1JVRkJSU3hKUVVGSkxFTkJRVU1zV1VGQldUdHZRa0ZETjBJc1RVRkJUU3hGUVVGRkxGZEJRVmM3YVVKQlEyNUNMRU5CUVVNN1UwRkRSanRSUVVWRUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SlFVRkpMRWxCUVVrc1NVRkJTU3gxUlVGQlZ5eERRVUZETEdWQlFXVXNSVUZETjBRN1dVRkRReXhuUjBGQlowYzdXVUZEYUVjc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJSU3hIUVVGSExFTkJRVVVzUTBGQlF6dFRRVU5zUXp0aFFVVkVPMWxCUTBNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJSU3hIUVVGSExFTkJRVVVzUTBGQlJTeERRVUZETzFOQlEzaERPMUZCUTBRc1QwRkJUeXhIUVVGSExFTkJRVU1zWTBGQll5eERRVUZETzBsQlF6TkNMRU5CUVVNN1NVRkZUU3hUUVVGVExFTkJRVVVzU1VGQmFVSXNSVUZCUlN4SFFVRlJMRVZCUVVVc1QwRkJhVUlzUlVGQlJTeFRRVUZ6UWl4VFFVRlRPMUZCUldoSExFbEJRVWtzUjBGQlJ5eEhRVU5RTzFsQlEwTXNTVUZCU1R0WlFVTktMR05CUVdNc1JVRkJSU3hKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRVZCUVVVN1dVRkRNME1zVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4M1JVRkJXU3hEUVVGRExFZEJRVWNzUlVGQlJTeFZRVUZWTEVWQlFVVXNRMEZCUXl4RlFVRkZPMWxCUTI1RkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVOQlFVTXNUVUZCVFR0WlFVTjBRaXhQUVVGUExFVkJRVVVzVDBGQlR5eERRVUZETEdOQlFXTTdXVUZETDBJc1QwRkJUeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVVXNSMEZCUnl4RFFVRkZPMU5CUXpsQ08xRkJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlJTeEhRVUZITEVOQlFVVXNRMEZCUlN4RFFVRkRPMGxCUTNwRExFTkJRVU03U1VGRlRTeHBRa0ZCYVVJc1EwRkJSU3hUUVVGcFFqdFJRVVV4UXl4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGdlFpeERRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVjc1JVRkJSVHRaUVVVelJDeEpRVUZKTEc5Q1FVRnZRaXhIUVVONFFqdG5Ra0ZEUXl4VFFVRlRPMkZCUTFRN1dVRkRSQ3hKUVVGSkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFTkJRVVVzZFVWQlFWY3NRMEZCUXl4dFFrRkJiVUlzUlVGRE4wVXNiMEpCUVc5Q0xFVkJRVVVzZFVWQlFWY3NRMEZCUXl3eVFrRkJNa0lzUTBGQlJTeERRVUZETzFsQlJXcEZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlJTeERRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVdkRUxFVkJRVWNzUlVGQlJUdG5Ra0ZGTTBVc1NVRkJTU3hIUVVGSExFTkJRVU1zVVVGQlVTeEZRVU5vUWp0dlFrRkRReXhQUVVGUExFTkJRVVVzUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUlN4RFFVRkRPMmxDUVVONFFqdHhRa0ZGUkR0dlFrRkRReXhOUVVGTkxFTkJRVVVzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUlN4RFFVRkRPMmxDUVVOd1FqdFpRVU5HTEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUTB3c1EwRkJReXhEUVVGRkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVc3NUMEZCVHl4RFFVRkZMRVZCUVdNN1VVRkZOVUlzU1VGQlNTeEZRVUZGTEVOQlFVTXNTVUZCU1N4SlFVRkpMQ3RGUVVGdFFpeERRVUZETEcxQ1FVRnRRaXhGUVVOMFJEdFpRVU5ETERoRlFVRTRSVHRaUVVNNVJTeHRRa0ZCYlVJN1dVRkRia0lzVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMU5CUTJZN1lVRkRTU3hKUVVGTExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1JVRkRMMEk3V1VGRFF5eHpSVUZCYzBVN1dVRkRkRVVzTWtKQlFUSkNPMWxCUXpOQ0xGVkJRVlVzUTBGQlJTeEpRVUZKTEVOQlFVTXNaVUZCWlN4RlFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xTkJRM3BETzBsQlEwWXNRMEZCUXp0RFFVTkVPMEZCTVV4Tk8wbEJRVXdzY1VSQlFVazdkMFJCVFVvN1FVRmpTenRKUVVGTUxIRkVRVUZKTzJ0RVFYRkNTanRCUVRCRFN6dEpRVUZNTEhGRVFVRkpPMnRGUVdOS08wRkJNRVZMTzBsQlFVd3NjVVJCUVVrN1owUkJZMG83UVVGSFN5eE5RVUZOTEdkQ1FVRnBRaXhUUVVGUkxHbENRVUZwUWp0SlFVVjBSQ3haUVVGaExHbENRVUZ6UXl4SlFVRkpPMUZCUlhSRUxFdEJRVXNzUTBGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVOMlJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1NVRkRka0lzUTBGQlF6dEpRVVZMTEUxQlFVMDdVVUZGV0N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxGZEJRVmNzUTBGQlJTeERRVUZETzFGQlF6TkNMRWxCUVVrc2EwSkJRV3RDTEVkQlEzUkNPMWxCUTBNc1pVRkJaU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNUMEZCVHp0VFFVTnlRenRSUVVWRUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVVXNkVVZCUVZjc1EwRkJReXhsUVVGbExFVkJRVVVzYTBKQlFXdENMRU5CUVVVc1EwRkJRenRKUVVOeVJTeERRVUZETzBOQlIwUTdRVUZhVFR0SlFVRk1MSEZFUVVGSk96aERRVk5LTzBGQlRVc3NUVUZCVFN4blFrRkJhVUlzVTBGQlVTeHBRa0ZCYVVJN1NVRkZkRVFzV1VGQllTeHBRa0ZCYzBNc1NVRkJTU3hGUVVGRkxHOUNRVUZwUXl4SlFVRkpPMUZCUlRkR0xFdEJRVXNzUTBGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVU1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxHTkJRV01zUTBGQlJTeERRVUZETzFGQlEzQkZMRWxCUVVrc1EwRkJReXhqUVVGakxFVkJRVVVzUTBGQlF6dEpRVU4yUWl4RFFVRkRPMGxCUlVzc1RVRkJUVHRSUVVWWUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNWMEZCVnl4RFFVRkZMRU5CUVVNN1VVRkRNMElzU1VGQlNTeHJRa0ZCYTBJc1IwRkRkRUk3V1VGRFF5eGxRVUZsTEVWQlFVVXNkMFZCUVZrc1EwRkJReXhQUVVGUE8xTkJRM0pETzFGQlJVUXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJSU3gxUlVGQlZ5eERRVUZETEdWQlFXVXNSVUZCUlN4clFrRkJhMElzUTBGQlJTeERRVUZETzBsQlEzSkZMRU5CUVVNN1EwRkhSRHRCUVZwTk8wbEJRVXdzY1VSQlFVazdPRU5CVTBvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmWlc1a2NHOXBiblF1ZEhNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lvZ1FIQmhZMnRoWjJWRWIyTjFiV1Z1ZEdGMGFXOXVYSEpjYmlBcUlFQm9hV1JrWlc1Y2NseHVJQ292WEhKY2JtbHRjRzl5ZENCN0lFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lFRmhjbVIyWVhKclVHOXlkQ3dnUlc1a2NHOXBiblJCWkdSeUxDQkZibVJ3YjJsdWRGUjVjR1VzSUVWdWRtVnNiM0JsTENCTlpYTnpZV2RsVkhsd1pTd2dUWE5uUjJWQllYSmtkbUZ5YTAxaGJtbG1aWE4wVW1WemNHOXVjMlVzSUUxelowZGxkRUZoY21SMllYSnJUV0Z1YVdabGMzUXNJRTF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaU3dnVFhOblUyVjBSVzVrY0c5cGJuUlVlWEJsVW1WemNHOXVjMlVzSUhCaGNuTmxSVzUyWld4dmNHVXNJRmRsWWxOdlkydGxkRU5zYjNObFEyOWtaWE1nZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUUxbGMzTmhaMlZJWVc1a2JHVnlYSEpjYm50Y2NseHVYSFFvSUhCaGVXeHZZV1E2SUdGdWVTd2daVzUyT2lCRmJuWmxiRzl3WlNBcE9pQjJiMmxrTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRnplVzVqVFdWemMyRm5aVWhoYm1Sc1pYSmNjbHh1ZTF4eVhHNWNkQ2dnY0dGNWJHOWhaRG9nWVc1NUxDQmxiblk2SUVWdWRtVnNiM0JsSUNrNklGQnliMjFwYzJVOGRtOXBaRDQ3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1QzQmxia2hoYm1Sc1pYSmNjbHh1ZTF4eVhHNWNkQ2dnYzJWMGRHbHVaM002SUdGdWVTQXBPblp2YVdRN1hISmNibjFjY2x4dVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1VHVnVaR2x1WjFKbGMzQnZibk5sWEhKY2JudGNjbHh1WEhSeVpYTnZiSFpsS0NCeVpYTndPaUJiSUdGdWVTd2dSVzUyWld4dmNHVWdYU0FwT2lCMmIybGtPMXh5WEc1Y2RISmxhbVZqZENnZ2NtVmhjMjl1T2lCaGJua2dLVG9nZG05cFpEdGNjbHh1ZlZ4eVhHNWNjbHh1WEhKY2JtVjRjRzl5ZENCamJHRnpjeUJEUVdGeVpIWmhjbXRGYm1Sd2IybHVkRnh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0J0WDNkek9sZGxZbE52WTJ0bGRDQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J0WDJoaGJtUnNaWEp6T2lCN0lGc2diWE5uVkhsd1pUb2diblZ0WW1WeUlGMDZJRTFsYzNOaFoyVklZVzVrYkdWeUlIMGdQU0I3ZlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmWVhONWJtTklZVzVrYkdWeWN6b2dleUJiSUcxeloxUjVjR1U2SUc1MWJXSmxjaUJkT2lCQmMzbHVZMDFsYzNOaFoyVklZVzVrYkdWeUlIMGdQU0I3ZlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmWkdWbVlYVnNkRWhoYm1Sc1pYSTZJRUZ6ZVc1alRXVnpjMkZuWlVoaGJtUnNaWElnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ2JWOXlaV0ZzVDNCbGJraGhibVJzWlhJNklFOXdaVzVJWVc1a2JHVnlJRDBnYm5Wc2JEdGNjbHh1WEhSd2NtbDJZWFJsSUcxZmFHRnVaSE5vWVd0bFEyOXRjR3hsZEdVNklFOXdaVzVJWVc1a2JHVnlJRDBnYm5Wc2JEdGNjbHh1WEhSd2NtbDJZWFJsSUcxZlpXNWtjRzlwYm5SSlpEb2diblZ0WW1WeUlEMGdiblZzYkR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmY1hWbGRXVmtUV1Z6YzJGblpYTTZJRVZ1ZG1Wc2IzQmxXMTBnUFNCYlhUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZllXeHNiM2RTWldOdmJtNWxZM1FnUFNCbVlXeHpaVHRjY2x4dVhIUndjbWwyWVhSbElHMWZibVY0ZEZObGNYVmxibU5sVG5WdFltVnlJRDBnTVR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmY0dWdVpHbHVaMUpsYzNCdmJuTmxjem9nWEhKY2JseDBleUJjY2x4dVhIUmNkRnNnY21WemNHOXVjMlZVZVhCbE9pQnVkVzFpWlhJZ1hUb2dYSEpjYmx4MFhIUjdJRnh5WEc1Y2RGeDBYSFJiSUhObGNYVmxibU5sVG5WdFltVnlPaUJ1ZFcxaVpYSWdYVG9nWEhKY2JseDBYSFJjZEZCbGJtUnBibWRTWlhOd2IyNXpaU0JjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRnh5WEc1Y2RIMGdQU0I3ZlR0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JRzl3Wlc1SVlXNWtiR1Z5T2lCUGNHVnVTR0Z1Wkd4bGNpd2dhR0Z1WkhOb1lXdGxRMjl0Y0d4bGRHVTZJRTl3Wlc1SVlXNWtiR1Z5TENCa1pXWmhkV3gwU0dGdVpHeGxjam9nUVhONWJtTk5aWE56WVdkbFNHRnVaR3hsY2lBOUlHNTFiR3dnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWJWOWtaV1poZFd4MFNHRnVaR3hsY2lBOUlHUmxabUYxYkhSSVlXNWtiR1Z5TzF4eVhHNWNkRngwZEdocGN5NXRYM0psWVd4UGNHVnVTR0Z1Wkd4bGNpQTlJRzl3Wlc1SVlXNWtiR1Z5TzF4eVhHNWNkRngwZEdocGN5NXRYMmhoYm1SemFHRnJaVU52YlhCc1pYUmxJRDBnYUdGdVpITm9ZV3RsUTI5dGNHeGxkR1U3WEhKY2JseDBYSFIwYUdsekxtTnZibTVsWTNSVWIxTmxjblpsY2lncE8xeHlYRzVjZEZ4MGRHaHBjeTV5WldkcGMzUmxja2hoYm1Sc1pYSW9JRTFsYzNOaFoyVlVlWEJsTGxObGRFVnVaSEJ2YVc1MFZIbHdaVkpsYzNCdmJuTmxMQ0IwYUdsekxtOXVVMlYwUlc1a2NHOXBiblJVZVhCbFVtVnpjRzl1YzJVZ0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpXNWtUV1Z6YzJGblpVRnVaRmRoYVhSR2IzSlNaWE53YjI1elpUeFVQaWdnZEhsd1pUb2dUV1Z6YzJGblpWUjVjR1VzSUcxelp6b2dZVzU1TENCeVpYTndiMjV6WlZSNWNHVTZJRTFsYzNOaFoyVlVlWEJsSUNrNlhISmNibHgwWEhSUWNtOXRhWE5sUENCYklGUXNJRVZ1ZG1Wc2IzQmxJRjBnUGx4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2dnS0NCeVpYTnZiSFpsTENCeVpXcGxZM1FnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnYzJWeFRuVnRZbVZ5SUQwZ2RHaHBjeTV6Wlc1a1RXVnpjMkZuWlNnZ2RIbHdaU3dnYlhObklDazdYSEpjYmx4eVhHNWNkRngwWEhScFppZ2dJWFJvYVhNdWJWOXdaVzVrYVc1blVtVnpjRzl1YzJWeld5QnlaWE53YjI1elpWUjVjR1VnWFNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtMWZjR1Z1WkdsdVoxSmxjM0J2Ym5ObGMxc2djbVZ6Y0c5dWMyVlVlWEJsSUYwZ1BTQjdmVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBkR2hwY3k1dFgzQmxibVJwYm1kU1pYTndiMjV6WlhOYklISmxjM0J2Ym5ObFZIbHdaU0JkV3lCelpYRk9kVzFpWlhJZ1hTQTlJSHNnY21WemIyeDJaU3dnY21WcVpXTjBJSDA3WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMFJXNWtjRzlwYm5SSlpDZ3BJSHNnY21WMGRYSnVJSFJvYVhNdWJWOWxibVJ3YjJsdWRFbGtPeUI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJoYkd4dmQxSmxZMjl1Ym1WamRDZ3BJSHNnZEdocGN5NXRYMkZzYkc5M1VtVmpiMjV1WldOMElEMGdkSEoxWlRzZ2ZWeHlYRzVjY2x4dVhIUkFZbWx1WkNCd2NtbDJZWFJsSUdOdmJtNWxZM1JVYjFObGNuWmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dFgzZHpJRDBnYm1WM0lGZGxZbE52WTJ0bGRDZ2dYQ0ozY3pvdkwyeHZZMkZzYUc5emREcGNJaUFySUVGaGNtUjJZWEpyVUc5eWRDQXBPMXh5WEc1Y2RGeDBkR2hwY3k1dFgzZHpMbTl1YjNCbGJpQTlJSFJvYVhNdWJWOXlaV0ZzVDNCbGJraGhibVJzWlhJN1hISmNibHgwWEhSMGFHbHpMbTFmZDNNdWIyNXRaWE56WVdkbElEMGdkR2hwY3k1dmJrMWxjM05oWjJVN1hISmNibHgwWEhSMGFHbHpMbTFmZDNNdWIyNWpiRzl6WlNBOUlIUm9hWE11YjI1RGJHOXpaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnlaV2RwYzNSbGNraGhibVJzWlhJb0lIUjVjR1U2SUUxbGMzTmhaMlZVZVhCbExDQm9ZVzVrYkdWeU9pQk5aWE56WVdkbFNHRnVaR3hsY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMmhoYm1Sc1pYSnpXeUIwZVhCbElGMGdQU0JvWVc1a2JHVnlPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxaMmx6ZEdWeVFYTjVibU5JWVc1a2JHVnlLQ0IwZVhCbE9pQk5aWE56WVdkbFZIbHdaU3dnYUdGdVpHeGxjam9nUVhONWJtTk5aWE56WVdkbFNHRnVaR3hsY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMkZ6ZVc1alNHRnVaR3hsY25OYklIUjVjR1VnWFNBOUlHaGhibVJzWlhJN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUcxZmJXVnpjMkZuWlVsdVVISnZaM0psYzNNZ1BTQm1ZV3h6WlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmZDJGcGRHbHVaMGx1WTI5dGFXNW5UV1Z6YzJGblpYTTZJRTFsYzNOaFoyVkZkbVZ1ZEZ0ZElEMGdXMTA3WEhKY2JseDBRR0pwYm1RZ1lYTjVibU1nYjI1TlpYTnpZV2RsS0NCdGMyZEZkbVZ1ZERvZ1RXVnpjMkZuWlVWMlpXNTBJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXRYMjFsYzNOaFoyVkpibEJ5YjJkeVpYTnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwTHk4Z2NISnZZMlZ6Y3lCMGFHbHpJR1YyWlc1MElIZG9aVzRnZDJoaGRHVjJaWElnYVhNZ1kzVnljbVZ1ZEd4NUlHSmxhVzVuSUhCeWIyTmxjM05sWkNCeVpYUjFjbTV6WEhKY2JseDBYSFJjZEM4dklHeGxkQ0JsYm5ZZ1BTQndZWEp6WlVWdWRtVnNiM0JsS0NCdGMyZEZkbVZ1ZEM1a1lYUmhJQ2s3WEhKY2JseDBYSFJjZEM4dklHTnZibk52YkdVdWJHOW5LQ0JnVUhWemFHbHVaeUJ0WlhOellXZGxJRzltSUhSNWNHVWdKSHNnVFdWemMyRm5aVlI1Y0dWYklHVnVkaTUwZVhCbElGMGdmV0FnS1R0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDNkaGFYUnBibWRKYm1OdmJXbHVaMDFsYzNOaFoyVnpMbkIxYzJnb0lHMXpaMFYyWlc1MElDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViVjl0WlhOellXZGxTVzVRY205bmNtVnpjeUE5SUhSeWRXVTdYSEpjYmx4MFhIUmNkR0YzWVdsMElIUm9hWE11Y0hKdlkyVnpjMDFsYzNOaFoyVkpiblJsY201aGJDZ2diWE5uUlhabGJuUWdLVHRjY2x4dVhIUmNkRngwWEhKY2JseDBYSFJjZEhkb2FXeGxLQ0IwYUdsekxtMWZkMkZwZEdsdVowbHVZMjl0YVc1blRXVnpjMkZuWlhNdWJHVnVaM1JvSUQ0Z01DQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSc1pYUWdibVY0ZEVWMlpXNTBJRDBnZEdocGN5NXRYM2RoYVhScGJtZEpibU52YldsdVowMWxjM05oWjJWekxuTm9hV1owS0NrN1hISmNibHgwWEhSY2RGeDBZWGRoYVhRZ2RHaHBjeTV3Y205alpYTnpUV1Z6YzJGblpVbHVkR1Z5Ym1Gc0tDQnVaWGgwUlhabGJuUWdLVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwWEhSMGFHbHpMbTFmYldWemMyRm5aVWx1VUhKdlozSmxjM01nUFNCbVlXeHpaVHRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdZWE41Ym1NZ2NISnZZMlZ6YzAxbGMzTmhaMlZKYm5SbGNtNWhiQ2dnYlhOblJYWmxiblE2SUUxbGMzTmhaMlZGZG1WdWRDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR1Z1ZGlBOUlIQmhjbk5sUlc1MlpXeHZjR1VvSUcxelowVjJaVzUwTG1SaGRHRWdLVHRjY2x4dVhIUmNkR2xtS0NBaFpXNTJJQ2xjY2x4dVhIUmNkRngwY21WMGRYSnVPMXh5WEc1Y2NseHVYSFJjZEM4dlkyOXVjMjlzWlM1c2IyY29JR0JRY205alpYTnphVzVuSUcxbGMzTmhaMlVnYjJZZ2RIbHdaU0FrZXlCTlpYTnpZV2RsVkhsd1pWc2daVzUyTG5SNWNHVWdYU0I5WUNBcE8xeHlYRzVjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbTFmYUdGdVpHeGxjbk5iSUdWdWRpNTBlWEJsSUYwZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmFHRnVaR3hsY25OYklHVnVkaTUwZVhCbElGMG9JR1Z1ZGk1d1lYbHNiMkZrVlc1d1lXTnJaV1FzSUdWdWRpQXBPMXh5WEc1Y2RGeDBmU0JjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JSFJvYVhNdWJWOWhjM2x1WTBoaGJtUnNaWEp6V3lCbGJuWXVkSGx3WlNCZElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZWGRoYVhRZ2RHaHBjeTV0WDJGemVXNWpTR0Z1Wkd4bGNuTmJJR1Z1ZGk1MGVYQmxJRjBvSUdWdWRpNXdZWGxzYjJGa1ZXNXdZV05yWldRc0lHVnVkaUFwTzF4eVhHNWNkRngwZlNCY2NseHVYSFJjZEdWc2MyVWdhV1lvSUhSb2FYTXViVjl3Wlc1a2FXNW5VbVZ6Y0c5dWMyVnpXeUJsYm5ZdWRIbHdaU0JkSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSEJsYm1ScGJtZFNaWE53YjI1elpTQTlJSFJvYVhNdWJWOXdaVzVrYVc1blVtVnpjRzl1YzJWeld5Qmxibll1ZEhsd1pTQmRXeUJsYm5ZdWNtVndiSGxVYnlCZE8xeHlYRzVjZEZ4MFhIUnBaaWdnSVhCbGJtUnBibWRTWlhOd2IyNXpaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUcxbGMzTmhaMlVnYjJZZ2RIbHdaU0FrZXlCTlpYTnpZV2RsVkhsd1pWc2daVzUyTG5SNWNHVWdYU0I5SUhSb1lYUWdaR2xrYmlkMElHQmNjbHh1WEhSY2RGeDBYSFJjZENzZ1lHaGhkbVVnWVNCdFlYUmphR2x1WnlCelpYRjFaVzVqWlNCdWRXMWlaWElnSkhzZ1pXNTJMbkpsY0d4NVZHOGdmV0FnS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmxiSE5sWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUndaVzVrYVc1blVtVnpjRzl1YzJVdWNtVnpiMngyWlNnZ1d5Qmxibll1Y0dGNWJHOWhaRlZ1Y0dGamEyVmtMQ0JsYm5ZZ1hTQXBPMXh5WEc1Y2RGeDBYSFJjZEdSbGJHVjBaU0IwYUdsekxtMWZjR1Z1WkdsdVoxSmxjM0J2Ym5ObGMxc2daVzUyTG5SNWNHVWdYVnNnWlc1MkxuSmxjR3g1Vkc4Z1hUdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlNCcFppZ2dkR2hwY3k1dFgyUmxabUYxYkhSSVlXNWtiR1Z5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFlYZGhhWFFnZEdocGN5NXRYMlJsWm1GMWJIUklZVzVrYkdWeUtDQmxibll1Y0dGNWJHOWhaRlZ1Y0dGamEyVmtMQ0JsYm5ZZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlZjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lHQlZibWhoYm1Sc1pXUWdKSHNnVFdWemMyRm5aVlI1Y0dWYklHVnVkaTUwZVhCbElGMGdmVG9nSkhzZ1pXNTJMbkJoZVd4dllXUWdmV0FnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtJSEIxWW14cFl5QmhjM2x1WXlCdmJsTmxkRVZ1WkhCdmFXNTBWSGx3WlZKbGMzQnZibk5sS0NCdE9pQk5jMmRUWlhSRmJtUndiMmx1ZEZSNWNHVlNaWE53YjI1elpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTV0WDJWdVpIQnZhVzUwU1dRZ1BTQnRMbVZ1WkhCdmFXNTBTV1E3WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV0WDJoaGJtUnphR0ZyWlVOdmJYQnNaWFJsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDJoaGJtUnphR0ZyWlVOdmJYQnNaWFJsS0NCdExuTmxkSFJwYm1keklDazdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwTHk4Z2MyVnVaQ0JoYkd3Z2RHaGxJRzFsYzNOaFoyVnpJSFJvWVhRZ2QyVnlaU0J4ZFdWMVpXUWdkMmhwYkdVZ2QyVWdkMlZ5WlNCM1lXbDBhVzVuSUhSdklHTnZibTVsWTNSY2NseHVYSFJjZEdadmNpZ2diR1YwSUdWdWRpQnZaaUIwYUdsekxtMWZjWFZsZFdWa1RXVnpjMkZuWlhNZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmQzTXVjMlZ1WkNnZ1NsTlBUaTV6ZEhKcGJtZHBabmtvSUdWdWRpQXBJQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFIwYUdsekxtMWZjWFZsZFdWa1RXVnpjMkZuWlhNZ1BTQmJYVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnpaVzVrVFdWemMyRm5aU2dnZEhsd1pUb2dUV1Z6YzJGblpWUjVjR1VzSUcxelp6b2dZVzU1TENCelpXNWthVzVuVG05a1pTQS9PaUJ1ZFcxaVpYSWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JsYm5ZNklFVnVkbVZzYjNCbElEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkSGx3WlN4Y2NseHVYSFJjZEZ4MGMyVnhkV1Z1WTJWT2RXMWlaWEk2SUhSb2FYTXViVjl1WlhoMFUyVnhkV1Z1WTJWT2RXMWlaWElyS3l4Y2NseHVYSFJjZEgwN1hISmNibHgwWEhScFppZ2diWE5uSUNFOUlIVnVaR1ZtYVc1bFpDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR1Z1ZGk1d1lYbHNiMkZrSUQwZ1NsTlBUaTV6ZEhKcGJtZHBabmtvSUcxelp5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBhV1lvSUhObGJtUnBibWRPYjJSbElDRTlJSFZ1WkdWbWFXNWxaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdWdWRpNXpaVzVrWlhJZ1BTQmNjbHh1WEhSY2RGeDBleUJjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJGYm1Sd2IybHVkRlI1Y0dVdVRtOWtaU3dnWEhKY2JseDBYSFJjZEZ4MFpXNWtjRzlwYm5SSlpEb2dkR2hwY3k1dFgyVnVaSEJ2YVc1MFNXUXNJRnh5WEc1Y2RGeDBYSFJjZEc1dlpHVkpaRG9nYzJWdVpHbHVaMDV2WkdVZ1hISmNibHgwWEhSY2RIMDdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lDRjBhR2x6TG0xZlpXNWtjRzlwYm5SSlpDQW1KaUIwZVhCbElDRTlJRTFsYzNOaFoyVlVlWEJsTGxObGRFVnVaSEJ2YVc1MFZIbHdaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dlkyOXVjMjlzWlM1c2IyY29JR0JSZFdWMVpXbHVaeUJ0WlhOellXZGxJRzltSUhSNWNHVWdKSHNnVFdWemMyRm5aVlI1Y0dWYklIUjVjR1VnWFNCOUlIUnZJR0psSUhObGJuUWdkMmhsYmlCM1pTQmpiMjV1WldOMFlDQXBPMXh5WEc1Y2RGeDBYSFIwYUdsekxtMWZjWFZsZFdWa1RXVnpjMkZuWlhNdWNIVnphQ2dnWlc1MklDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViVjkzY3k1elpXNWtLQ0JLVTA5T0xuTjBjbWx1WjJsbWVTZ2daVzUySUNrZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RISmxkSFZ5YmlCbGJuWXVjMlZ4ZFdWdVkyVk9kVzFpWlhJN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYzJWdVpGSmxjR3g1S0NCMGVYQmxPaUJOWlhOellXZGxWSGx3WlN3Z2JYTm5PaUJoYm5rc0lISmxjR3g1Vkc4NklFVnVkbVZzYjNCbExDQnpaVzVrWlhJNlJXNWtjRzlwYm5SQlpHUnlJRDBnZFc1a1pXWnBibVZrSUNBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHVnVkam9nUlc1MlpXeHZjR1VnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxMRnh5WEc1Y2RGeDBYSFJ6WlhGMVpXNWpaVTUxYldKbGNqb2dkR2hwY3k1dFgyNWxlSFJUWlhGMVpXNWpaVTUxYldKbGNpc3JMRnh5WEc1Y2RGeDBYSFJ6Wlc1a1pYSTZJSE5sYm1SbGNpQS9JSE5sYm1SbGNpQTZJSHNnZEhsd1pUb2dSVzVrY0c5cGJuUlVlWEJsTGtoMVlpd2daVzVrY0c5cGJuUkpaRG9nTUNCOUxGeHlYRzVjZEZ4MFhIUjBZWEpuWlhRNklISmxjR3g1Vkc4dWMyVnVaR1Z5TEZ4eVhHNWNkRngwWEhSeVpYQnNlVlJ2T2lCeVpYQnNlVlJ2TG5ObGNYVmxibU5sVG5WdFltVnlMRnh5WEc1Y2RGeDBYSFJ3WVhsc2IyRmtPaUJLVTA5T0xuTjBjbWx1WjJsbWVTZ2diWE5uSUNrc1hISmNibHgwWEhSOVhISmNibHgwWEhSMGFHbHpMbTFmZDNNdWMyVnVaQ2dnU2xOUFRpNXpkSEpwYm1kcFpua29JR1Z1ZGlBcElDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBSMkZrWjJWMFRXRnVhV1psYzNRb0lHZGhaR2RsZEZWeWFUb2djM1J5YVc1bklDazZJRkJ5YjIxcGMyVThRV0Z5WkhaaGNtdE5ZVzVwWm1WemRENWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVOFFXRnlaSFpoY210TllXNXBabVZ6ZEQ0b0lDZ2djbVZ6YjJ4MlpTd2djbVZxWldOMElDa2dQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElHMXpaMGRsZEVkaFpHZGxkRTFoYm1sbVpYTjBPaUJOYzJkSFpYUkJZWEprZG1GeWEwMWhibWxtWlhOMElEMWNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdkaFpHZGxkRlZ5YVN4Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUnNaWFFnY0hKdmJTQTlJSFJvYVhNdWMyVnVaRTFsYzNOaFoyVkJibVJYWVdsMFJtOXlVbVZ6Y0c5dWMyVW9JRTFsYzNOaFoyVlVlWEJsTGtkbGRFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lGeHlYRzVjZEZ4MFhIUmNkRzF6WjBkbGRFZGhaR2RsZEUxaGJtbG1aWE4wTENCTlpYTnpZV2RsVkhsd1pTNUhaWFJCWVhKa2RtRnlhMDFoYm1sbVpYTjBVbVZ6Y0c5dWMyVWdLVHRjY2x4dVhISmNibHgwWEhSY2RIQnliMjB1ZEdobGJpZ2dLQ0JiSUcxelp5d2daVzUySUYwZ09pQmJJRTF6WjBkbFFXRnlaSFpoY210TllXNXBabVZ6ZEZKbGMzQnZibk5sTENCRmJuWmxiRzl3WlNCZElDa2dQVDVjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RHbG1LQ0J0YzJjdWJXRnVhV1psYzNRZ0tWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RISmxjMjlzZG1Vb0lHMXpaeTV0WVc1cFptVnpkQ0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGNtVnFaV04wS0NCdGMyY3VaWEp5YjNJZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEgwZ0tUdGNjbHh1WEhSY2RIMGdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lHOXVRMnh2YzJVb0lHVjJPaUJEYkc5elpVVjJaVzUwSUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ1pYWXVZMjlrWlNBOVBTQlhaV0pUYjJOclpYUkRiRzl6WlVOdlpHVnpMbFZ6WlhKRVpYTjBjbTk1WldSSFlXUm5aWFFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhRdkx5QlVhR1VnZFhObGNpQmhjMnRsWkNCMGJ5QmtaWE4wY205NUlIUm9hWE1nWjJGa1oyVjBMaUJLZFhOMElHTnNiM05sSUhkcGRHZ2dZWE1nYkdsMGRHeGxJR0ZrWkdsMGFXOXVZV3hjY2x4dVhIUmNkRngwTHk4Z2QyOXlheUJoY3lCd2IzTnphV0pzWlZ4eVhHNWNkRngwWEhSM2FXNWtiM2N1WTJ4dmMyVW9LVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWWdLQ0IwYUdsekxtMWZZV3hzYjNkU1pXTnZibTVsWTNRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUJVYUdVZ2MyOWphMlYwSUdOc2IzTmxaQ0JtY205dElIUm9aU0J2ZEdobGNpQmxibVF1SUZOamFHVmtkV3hsSUdFZ2NtVmpiMjV1WldOMElHWnZjaUIzYUdWdVhISmNibHgwWEhSY2RDOHZJSFJvWlNCelpYSjJaWElnWTI5dFpYTWdZbUZqYXlCMWNGeHlYRzVjZEZ4MFhIUnpaWFJVYVcxbGIzVjBLQ0IwYUdsekxtTnZibTVsWTNSVWIxTmxjblpsY2l3Z01qQXdNQ0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRU5OYjI1cGRHOXlSVzVrY0c5cGJuUWdaWGgwWlc1a2N5QkRRV0Z5WkhaaGNtdEZibVJ3YjJsdWRGeHlYRzU3WEhKY2JseDBZMjl1YzNSeWRXTjBiM0lvSUdSbFptRjFiSFJJWVc1a2JHVnlPaUJCYzNsdVkwMWxjM05oWjJWSVlXNWtiR1Z5SUQwZ2JuVnNiQ0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjM1Z3WlhJb0lDZ3BJRDArSUhzZ2RHaHBjeTV2Yms5d1pXNG9LU0I5TENCdWRXeHNMQ0JrWldaaGRXeDBTR0Z1Wkd4bGNpQXBPMXh5WEc1Y2RGeDBkR2hwY3k1aGJHeHZkMUpsWTI5dWJtVmpkQ2dwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUWdiMjVQY0dWdUtDbGNjbHh1WEhSN1hISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dYQ0pEYjI1dVpXTjBaV1JjSWlBcE8xeHlYRzVjZEZ4MGJHVjBJRzF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaVG9nVFhOblUyVjBSVzVrY0c5cGJuUlVlWEJsSUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtVjNSVzVrY0c5cGJuUlVlWEJsT2lCRmJtUndiMmx1ZEZSNWNHVXVUVzl1YVhSdmNpeGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFIwYUdsekxuTmxibVJOWlhOellXZGxLQ0JOWlhOellXZGxWSGx3WlM1VFpYUkZibVJ3YjJsdWRGUjVjR1VzSUcxeloxTmxkRVZ1WkhCdmFXNTBWSGx3WlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4eVhHNTlYSEpjYmx4eVhHNWNjbHh1Wlhod2IzSjBJR05zWVhOeklFTlZkR2xzYVhSNVJXNWtjRzlwYm5RZ1pYaDBaVzVrY3lCRFFXRnlaSFpoY210RmJtUndiMmx1ZEZ4eVhHNTdYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR1JsWm1GMWJIUklZVzVrYkdWeU9pQkJjM2x1WTAxbGMzTmhaMlZJWVc1a2JHVnlJRDBnYm5Wc2JDd2dhR0Z1WkhOb1lXdGxRMjl0Y0d4bGRHVTZJRTl3Wlc1SVlXNWtiR1Z5SUQwZ2JuVnNiQ0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBjM1Z3WlhJb0lDZ3BJRDArSUhzZ2RHaHBjeTV2Yms5d1pXNG9LU0I5TENCb1lXNWtjMmhoYTJWRGIyMXdiR1YwWlN3Z1pHVm1ZWFZzZEVoaGJtUnNaWElnS1R0Y2NseHVYSFJjZEhSb2FYTXVZV3hzYjNkU1pXTnZibTVsWTNRb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrSUc5dVQzQmxiaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBZMjl1YzI5c1pTNXNiMmNvSUZ3aVEyOXVibVZqZEdWa1hDSWdLVHRjY2x4dVhIUmNkR3hsZENCdGMyZFRaWFJGYm1Sd2IybHVkRlI1Y0dVNklFMXpaMU5sZEVWdVpIQnZhVzUwVkhsd1pTQTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRzVsZDBWdVpIQnZhVzUwVkhsd1pUb2dSVzVrY0c5cGJuUlVlWEJsTGxWMGFXeHBkSGtzWEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTV6Wlc1a1RXVnpjMkZuWlNnZ1RXVnpjMkZuWlZSNWNHVXVVMlYwUlc1a2NHOXBiblJVZVhCbExDQnRjMmRUWlhSRmJtUndiMmx1ZEZSNWNHVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNjbHh1ZlZ4eVhHNWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZW5kcG9pbnQudHNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2VudGl0eV9jaGlsZC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZFbnRpdHlDaGlsZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZFbnRpdHlDaGlsZFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZFbnRpdHlDaGlsZDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKipcXHJcXG4gKiBDb250YWlucyB0aGUgbm9kZSB0aGF0IHtAbGluayBBdkludGVyZmFjZUVudGl0eX0gb2JqZWN0c1xcclxcbiAqIG11c3QgcHJvdmlkZSBmb3IgYWxsIHRoZWlyIGNoaWxkcmVuLlxcclxcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxcclxcbiAqXFxyXFxuICovXFxyXFxuXFxyXFxuXFxyXFxuLyoqIFByb3ZpZGVzIHRoZSB0cmFuc2Zvcm0gZm9yIGFuIGludGVyZmFjZSBlbnRpdHkgc29tZXdoZXJlIGVsc2UgaW4gdGhlIHNjZW5lIGdyYXBoIG9mIHRoaXNcXHJcXG4gKiBvciBzb21lIG90aGVyIGdhZGdldC4gVGhpcyBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwIG11c3QgYmUgZXN0YWJsaXNoZWQgdmlhIGludGVyZmFjZVxcclxcbiAqIGV2ZW50cywgYW5kIGJvdGggc2lkZXMgbmVlZCB0byBhZ3JlZSBvbiB3aGljaCBpbnRlcmZhY2UgZW50aXR5IGlzIHByb3ZpZGluZyB0aGUgcGFyZW50XFxyXFxuICogdHJhbnNmb3JtIG9mIHdoaWNoIG90aGVyIGludGVyZmFjZSBlbnRpdHkuXFxyXFxuICpcXHJcXG4gKiBUaGlzIG5vZGUgbXVzdCBiZSBhIGNoaWxkIG9mIGFuIEF2SW50ZXJmYWNlRW50aXR5IG5vZGUsIGFuZCB0aGUgbm9kZSBpdCByZXByZXNlbnRzIHRoZVxcclxcbiAqIHBvc2l0aW9uIGZvciBtdXN0IHNwZWNpZnkgdGhlIGdsb2JhbCBJRCBvZiB0aGF0IGludGVyZmFjZSBlbnRpdHkgYXMgaXRzIHBhcmVudC5cXHJcXG4gKi9cXHJcXG5jbGFzcyBBdkVudGl0eUNoaWxkIGV4dGVuZHMgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdkJhc2VOb2RlXFxcIl0ge1xcclxcbiAgICBidWlsZE5vZGUoKSB7XFxyXFxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZOb2RlVHlwZVxcXCJdLkNoaWxkLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIG5vZGUucHJvcENoaWxkQWRkciA9IHRoaXMucHJvcHMuY2hpbGQ7XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOWxiblJwZEhsZlkyaHBiR1F1ZEhONFB6RXlZbVVpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCT3pzN096dEhRVXRITzBGQlEyZEZPMEZCUTBrN1FVRlhka1U3T3pzN096czdSMEZQUnp0QlFVTkpMRTFCUVUwc1lVRkJZeXhUUVVGUkxEaEVRVUZ2UXp0SlFVVXZSQ3hUUVVGVE8xRkJSV1lzU1VGQlNTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZGTEhORlFVRlZMRU5CUVVNc1MwRkJTeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUXp0UlFVTndSU3hKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRM1JETEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJJc1EwRkJRenREUVVORUlpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDJWdWRHbDBlVjlqYUdsc1pDNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjY2x4dUlDb2dRMjl1ZEdGcGJuTWdkR2hsSUc1dlpHVWdkR2hoZENCN1FHeHBibXNnUVhaSmJuUmxjbVpoWTJWRmJuUnBkSGw5SUc5aWFtVmpkSE5jY2x4dUlDb2diWFZ6ZENCd2NtOTJhV1JsSUdadmNpQmhiR3dnZEdobGFYSWdZMmhwYkdSeVpXNHVYSEpjYmlBcUlFQndZV05yWVdkbFJHOWpkVzFsYm5SaGRHbHZibHh5WEc0Z0tpQmNjbHh1SUNvdlhISmNibWx0Y0c5eWRDQjdJRUYyUW1GelpVNXZaR1VzSUVGMlFtRnpaVTV2WkdWUWNtOXdjeUI5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWW1GelpWOXViMlJsSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpPYjJSbFZIbHdaU3dnUlc1a2NHOXBiblJCWkdSeUlIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1WEhKY2JpOHFLaUJRY205d2N5Qm1iM0lnZTBCc2FXNXJJRUYyUlc1MGFYUjVRMmhwYkdSOUxpQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGMlJXNTBhWFI1UTJocGJHUlFjbTl3Y3lCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdWUWNtOXdjMXh5WEc1N1hISmNibHgwTHlvcUlGUm9aU0JsYm1Sd2IybHVkQ0JoWkdSeVpYTnpJRzltSUhSb1pTQmphR2xzWkNCdWIyUmxJR1p2Y2lCM2FHbGphQ0IwYUdseklHbHpJSEJ5YjNacFpHbHVaMXh5WEc1Y2RDQXFJSFJvWlNCMGNtRnVjMlp2Y20wdVhISmNibHgwSUNvdlhISmNibHgwWTJocGJHUTZJRVZ1WkhCdmFXNTBRV1JrY2p0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUZCeWIzWnBaR1Z6SUhSb1pTQjBjbUZ1YzJadmNtMGdabTl5SUdGdUlHbHVkR1Z5Wm1GalpTQmxiblJwZEhrZ2MyOXRaWGRvWlhKbElHVnNjMlVnYVc0Z2RHaGxJSE5qWlc1bElHZHlZWEJvSUc5bUlIUm9hWE1nWEhKY2JpQXFJRzl5SUhOdmJXVWdiM1JvWlhJZ1oyRmtaMlYwTGlCVWFHbHpJSEJoY21WdWRDOWphR2xzWkNCeVpXeGhkR2x2Ym5Ob2FYQWdiWFZ6ZENCaVpTQmxjM1JoWW14cGMyaGxaQ0IyYVdFZ2FXNTBaWEptWVdObElGeHlYRzRnS2lCbGRtVnVkSE1zSUdGdVpDQmliM1JvSUhOcFpHVnpJRzVsWldRZ2RHOGdZV2R5WldVZ2IyNGdkMmhwWTJnZ2FXNTBaWEptWVdObElHVnVkR2wwZVNCcGN5QndjbTkyYVdScGJtY2dkR2hsSUhCaGNtVnVkRnh5WEc0Z0tpQjBjbUZ1YzJadmNtMGdiMllnZDJocFkyZ2diM1JvWlhJZ2FXNTBaWEptWVdObElHVnVkR2wwZVM1Y2NseHVJQ29nWEhKY2JpQXFJRlJvYVhNZ2JtOWtaU0J0ZFhOMElHSmxJR0VnWTJocGJHUWdiMllnWVc0Z1FYWkpiblJsY21aaFkyVkZiblJwZEhrZ2JtOWtaU3dnWVc1a0lIUm9aU0J1YjJSbElHbDBJSEpsY0hKbGMyVnVkSE1nZEdobFhISmNiaUFxSUhCdmMybDBhVzl1SUdadmNpQnRkWE4wSUhOd1pXTnBabmtnZEdobElHZHNiMkpoYkNCSlJDQnZaaUIwYUdGMElHbHVkR1Z5Wm1GalpTQmxiblJwZEhrZ1lYTWdhWFJ6SUhCaGNtVnVkQzVjY2x4dUlDb3ZYSEpjYm1WNGNHOXlkQ0JqYkdGemN5QkJka1Z1ZEdsMGVVTm9hV3hrSUdWNGRHVnVaSE1nUVhaQ1lYTmxUbTlrWlR3Z1FYWkZiblJwZEhsRGFHbHNaRkJ5YjNCekxDQjdmU0ErWEhKY2JudGNjbHh1WEhSd2RXSnNhV01nWW5WcGJHUk9iMlJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ2JtOWtaU0E5SUhSb2FYTXVZM0psWVhSbFRtOWtaVTlpYW1WamRDZ2dRWFpPYjJSbFZIbHdaUzVEYUdsc1pDd2dkR2hwY3k1dFgyNXZaR1ZKWkNBcE8xeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1EyaHBiR1JCWkdSeUlEMGdkR2hwY3k1d2NtOXdjeTVqYUdsc1pEdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWIyUmxPMXh5WEc1Y2RIMWNjbHh1ZlNKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEdldEdhZGdldFVybEZyb21XaW5kb3csIEF2R2FkZ2V0ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHZXRHYWRnZXRVcmxGcm9tV2luZG93XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHZXRHYWRnZXRVcmxGcm9tV2luZG93OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZHYWRnZXQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0ICovIFxcXCIuL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2dhZGdldF9lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9nYWRnZXRfZW5kcG9pbnQgKi8gXFxcIi4vc3JjL2dhZGdldF9lbmRwb2ludC50c1xcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbmNvbnN0IGVxdWFsID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgZmFzdC1kZWVwLWVxdWFsICovIFxcXCIuL25vZGVfbW9kdWxlcy9mYXN0LWRlZXAtZXF1YWwvaW5kZXguanNcXFwiKTtcXHJcXG5mdW5jdGlvbiBwYXJzZVVSTCh1cmwpIHtcXHJcXG4gICAgdmFyIHBhcnNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKSwgc2VhcmNoT2JqZWN0ID0ge30sIHF1ZXJpZXMsIHNwbGl0LCBpO1xcclxcbiAgICAvLyBMZXQgdGhlIGJyb3dzZXIgZG8gdGhlIHdvcmtcXHJcXG4gICAgcGFyc2VyLmhyZWYgPSB1cmw7XFxyXFxuICAgIC8vIENvbnZlcnQgcXVlcnkgc3RyaW5nIHRvIG9iamVjdFxcclxcbiAgICBxdWVyaWVzID0gcGFyc2VyLnNlYXJjaC5yZXBsYWNlKC9eXFxcXD8vLCAnJykuc3BsaXQoJyYnKTtcXHJcXG4gICAgZm9yIChpID0gMDsgaSA8IHF1ZXJpZXMubGVuZ3RoOyBpKyspIHtcXHJcXG4gICAgICAgIHNwbGl0ID0gcXVlcmllc1tpXS5zcGxpdCgnPScpO1xcclxcbiAgICAgICAgc2VhcmNoT2JqZWN0W3NwbGl0WzBdXSA9IHNwbGl0WzFdO1xcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBzZWFyY2hPYmplY3Q7XFxyXFxufVxcclxcbmZ1bmN0aW9uIGdldEJvb2xlYW5BY3Rpb25Gcm9tU3RhdGUoYWN0aW9uLCBzdGF0ZSkge1xcclxcbiAgICBpZiAoIXN0YXRlKVxcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkE6IHJldHVybiBzdGF0ZS5hO1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkI6IHJldHVybiBzdGF0ZS5iO1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkdyYWI6IHJldHVybiBzdGF0ZS5ncmFiO1xcclxcbiAgICAgICAgY2FzZSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUFjdGlvblxcXCJdLkdyYWJTaG93UmF5OiByZXR1cm4gc3RhdGUuZ3JhYlNob3dSYXk7XFxyXFxuICAgICAgICBjYXNlIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uU3F1ZWV6ZTogcmV0dXJuIHN0YXRlLnNxdWVlemU7XFxyXFxuICAgICAgICBjYXNlIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uRGV0YWNoOiByZXR1cm4gc3RhdGUuZGV0YWNoO1xcclxcbiAgICAgICAgZGVmYXVsdDogcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxufVxcclxcbmZ1bmN0aW9uIEdldEdhZGdldFVybEZyb21XaW5kb3coKSB7XFxyXFxuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXFxyXFxuICAgICAgICArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgwLCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUubGFzdEluZGV4T2YoXFxcIi9cXFwiKSk7XFxyXFxufVxcclxcbi8qKiBUaGUgc2luZ2xldG9uIGdhZGdldCBvYmplY3QgZm9yIHRoZSBicm93c2VyLiAqL1xcclxcbmNsYXNzIEF2R2FkZ2V0IHtcXHJcXG4gICAgY29uc3RydWN0b3IoKSB7XFxyXFxuICAgICAgICB0aGlzLm1fb25TZXR0aW5nc1JlY2VpdmVkID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9uZXh0Tm9kZUlkID0gMTtcXHJcXG4gICAgICAgIHRoaXMubV9yZWdpc3RlcmVkTm9kZXMgPSB7fTtcXHJcXG4gICAgICAgIHRoaXMubV9uZXh0RnJhbWVSZXF1ZXN0ID0gMDtcXHJcXG4gICAgICAgIHRoaXMubV90cmF2ZXJzZWROb2RlcyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2VuZHBvaW50ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9tYW5pZmVzdCA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0dWFsR2FkZ2V0VXJpID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9hY3Rpb25TdGF0ZSA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2VwVG9Ob3RpZnkgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2ZpcnN0U2NlbmVHcmFwaCA9IHRydWU7XFxyXFxuICAgICAgICB0aGlzLm1faW5pdGlhbEludGVyZmFjZXMgPSBbXTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludE9wZW5lZCA9IGZhbHNlO1xcclxcbiAgICAgICAgdGhpcy5tX2FjdGl2ZVdhaXRGb3JDb25uZWN0UmVqZWN0ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlc29sdmUgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2ludGVyZmFjZUV2ZW50UHJvY2Vzc29ycyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2ludGVyZmFjZUVudGl0eVByb2Nlc3NvcnMgPSBuZXcgTWFwKCk7XFxyXFxuICAgICAgICB0aGlzLm1fc3RhcnRHYWRnZXRQcm9taXNlcyA9IHt9O1xcclxcbiAgICAgICAgdGhpcy5tX2FjdGlvblN0YXRlTGlzdGVuZXJzID0ge307XFxyXFxuICAgICAgICB0aGlzLm1fYWN0dWFsR2FkZ2V0VXJpID0gR2V0R2FkZ2V0VXJsRnJvbVdpbmRvdygpO1xcclxcbiAgICAgICAgbGV0IHBhcmFtcyA9IHBhcnNlVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcXHJcXG4gICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgaWYgKHBhcmFtc1tcXFwiaW5pdGlhbEludGVyZmFjZXNcXFwiXSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLm1faW5pdGlhbEludGVyZmFjZXMgPSBKU09OLnBhcnNlKGF0b2IocGFyYW1zW1xcXCJpbml0aWFsSW50ZXJmYWNlc1xcXCJdKSk7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJpbml0aWFsSW50ZXJmYWNlc1xcXCIsIHRoaXMubV9pbml0aWFsSW50ZXJmYWNlcyk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgZmFpbGVkIHRvIHBhcnNlIGluaXRpYWwgaW50ZXJmYWNlcyAke2V9YCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAocGFyYW1zW1xcXCJlcFRvTm90aWZ5XFxcIl0pIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fZXBUb05vdGlmeSA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwic3RyaW5nVG9FbmRwb2ludEFkZHJcXFwiXSkocGFyYW1zW1xcXCJlcFRvTm90aWZ5XFxcIl0pO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJUaGlzIGdhZGdldCB3YW50cyB0byBub3RpZnkgXFxcIiArIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkodGhpcy5tX2VwVG9Ob3RpZnkpKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludCA9IG5ldyBfZ2FkZ2V0X2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkNHYWRnZXRFbmRwb2ludFxcXCJdKHRoaXMubV9hY3R1YWxHYWRnZXRVcmksIHRoaXMub25FbmRwb2ludE9wZW4pO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGluaXRpYWwgZW5kcG9pbnQgaGFuZHNoYWtlIGlzIGNvbXBsZXRlXFxyXFxuICAgICAqXFxyXFxuICAgICAqIEBwdWJsaWNcXHJcXG4gICAgICovXFxyXFxuICAgIHdhaXRGb3JDb25uZWN0KCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlamVjdCkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlamVjdChcXFwiQW5vdGhlciBjYWxsZXIgcmVnaXN0ZXJlZCBhIHByb21pc2VcXFwiKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmNsZWFyV2FpdEZvckNvbm5lY3QoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMubV9lbmRwb2ludE9wZW5lZClcXHJcXG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlamVjdCA9IHJlamVjdDtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fYWN0aXZlV2FpdEZvckNvbm5lY3RSZXNvbHZlID0gcmVzb2x2ZTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGNsZWFyV2FpdEZvckNvbm5lY3QoKSB7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aXZlV2FpdEZvckNvbm5lY3RSZWplY3QgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tX2FjdGl2ZVdhaXRGb3JDb25uZWN0UmVzb2x2ZSA9IG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgb25FbmRwb2ludE9wZW4oc2V0dGluZ3MpIHtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5nZXRHYWRnZXRNYW5pZmVzdCh0aGlzLm1fYWN0dWFsR2FkZ2V0VXJpKVxcclxcbiAgICAgICAgICAgIC50aGVuKChtYW5pZmVzdCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9tYW5pZmVzdCA9IG1hbmlmZXN0O1xcclxcbiAgICAgICAgICAgIHRoaXMubWFya0RpcnR5KCk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckhhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uR2FkZ2V0U3RhcnRlZCwgdGhpcy5vbkdhZGdldFN0YXJ0ZWQpO1xcclxcbiAgICAgICAgdGhpcy5tX2VuZHBvaW50LnJlZ2lzdGVySGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5VcGRhdGVBY3Rpb25TdGF0ZSwgdGhpcy5vblVwZGF0ZUFjdGlvblN0YXRlKTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckhhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uUmVzb3VyY2VMb2FkRmFpbGVkLCB0aGlzLm9uUmVzb3VyY2VMb2FkRmFpbGVkKTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckFzeW5jSGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VFdmVudCwgdGhpcy5vbkludGVyZmFjZUV2ZW50KTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5yZWdpc3RlckFzeW5jSGFuZGxlcihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VTdGFydGVkLCB0aGlzLm9uSW50ZXJmYWNlU3RhcnRlZCk7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJBc3luY0hhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlRW5kZWQsIHRoaXMub25JbnRlcmZhY2VFbmRlZCk7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJBc3luY0hhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlUmVjZWl2ZUV2ZW50LCB0aGlzLm9uSW50ZXJmYWNlUmVjZWl2ZWRFdmVudCk7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJBc3luY0hhbmRsZXIoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlVHJhbnNmb3JtVXBkYXRlZCwgdGhpcy5vbkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWQpO1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9vblNldHRpbmdzUmVjZWl2ZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fb25TZXR0aW5nc1JlY2VpdmVkKHNldHRpbmdzKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludE9wZW5lZCA9IHRydWU7XFxyXFxuICAgICAgICBpZiAodGhpcy5tX2FjdGl2ZVdhaXRGb3JDb25uZWN0UmVzb2x2ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3RpdmVXYWl0Rm9yQ29ubmVjdFJlc29sdmUoKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmNsZWFyV2FpdEZvckNvbm5lY3QoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICAvKiogUmV0dXJucyB0aGUgQXZHYWRnZXQgc2luZ2xldG9uLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICAqL1xcclxcbiAgICBzdGF0aWMgaW5zdGFuY2UoKSB7XFxyXFxuICAgICAgICBpZiAoIUF2R2FkZ2V0LnNfaW5zdGFuY2UpIHtcXHJcXG4gICAgICAgICAgICBBdkdhZGdldC5zX2luc3RhbmNlID0gbmV3IEF2R2FkZ2V0KCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gQXZHYWRnZXQuc19pbnN0YW5jZTtcXHJcXG4gICAgfVxcclxcbiAgICAvKiogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZ2FkZ2V0LlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICovXFxyXFxuICAgIGdldE5hbWUoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5tX21hbmlmZXN0KSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubV9tYW5pZmVzdC5uYW1lO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubV9hY3R1YWxHYWRnZXRVcmk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgdGhlIGdhZGdldCdzIG1hbmlmZXN0ICovXFxyXFxuICAgIGdldCBtYW5pZmVzdCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLm1fbWFuaWZlc3Q7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgdGhlIFVSTCBvZiB0aGUgZ2FkZ2V0LiAqL1xcclxcbiAgICBnZXQgdXJsKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9hY3R1YWxHYWRnZXRVcmk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFRoZSBpbml0aWFsIHBhcmVudCByZXF1ZXN0ZWQgYnkgd2hvbWV2ZXIgc3RhcnRlZCB0aGlzIGdhZGdldC4gKi9cXHJcXG4gICAgZ2V0IGluaXRpYWxJbnRlcmZhY2VzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9pbml0aWFsSW50ZXJmYWNlcztcXHJcXG4gICAgfVxcclxcbiAgICAvKiogUmV0dXJucyBhIHNwZWNpZmljIGluaXRpYWwgaW50ZXJmYWNlIGxvY2sgaWYgaXQgZXhpc3RzLiAqL1xcclxcbiAgICBmaW5kSW5pdGlhbEludGVyZmFjZShpbnRlZmFjZU5hbWUpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLm1faW5pdGlhbEludGVyZmFjZXMuZmluZCgobG9jaykgPT4gbG9jay5pZmFjZSA9PSBpbnRlZmFjZU5hbWUpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBMb2FkcyBhIGdhZGdldCBtYW5pZmVzdCBieSBnYWRnZXQgVVJJLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIHJlc29sdmUgdG8gdGhlIHNwZWNpZmllZCBnYWRnZXQncyBtYW5pZmVzdFxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICAqL1xcclxcbiAgICBsb2FkTWFuaWZlc3QoZ2FkZ2V0VXJpKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5tX2VuZHBvaW50LmdldEdhZGdldE1hbmlmZXN0KGdhZGdldFVyaSk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgYSBsaXN0IG9mIGFsbCB0aGUgaW5zdGFsbGVkIGdhZGdldCdzIFVSSXMuXFxyXFxuICAgICAqXFxyXFxuICAgICAqIEBwdWJsaWNcXHJcXG4gICAgKi9cXHJcXG4gICAgZ2V0SW5zdGFsbGVkR2FkZ2V0cygpIHtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKFxcXCJSZXF1ZXN0aW5nIGluc3RhbGxlZCBnYWRnZXRzXFxcIik7XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xcclxcbiAgICAgICAgICAgIGxldCBtID0ge307XFxyXFxuICAgICAgICAgICAgdGhpcy5tX2VuZHBvaW50LnNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdldEluc3RhbGxlZEdhZGdldHMsIG0sIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdldEluc3RhbGxlZEdhZGdldHNSZXNwb25zZSlcXHJcXG4gICAgICAgICAgICAgICAgLnRoZW4oKFtyZXNwLCBlbnZdKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcC5pbnN0YWxsZWRHYWRnZXRzKTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHJlZ2lzdGVyKG5vZGUpIHtcXHJcXG4gICAgICAgIC8vY29uc29sZS5sb2coIFxcXCJhc3NpZ25pbmcgaWRcXFwiLCB0aGlzLm1fbmV4dE5vZGVJZCApO1xcclxcbiAgICAgICAgbm9kZS5tX25vZGVJZCA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICB0aGlzLm1fcmVnaXN0ZXJlZE5vZGVzW25vZGUubV9ub2RlSWRdID0gbm9kZTtcXHJcXG4gICAgICAgIHRoaXMubWFya0RpcnR5KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgdW5yZWdpc3Rlcihub2RlKSB7XFxyXFxuICAgICAgICBpZiAobm9kZS5tX25vZGVJZCkge1xcclxcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLm1fcmVnaXN0ZXJlZE5vZGVzW25vZGUubV9ub2RlSWRdO1xcclxcbiAgICAgICAgICAgIG5vZGUubV9ub2RlSWQgPSB1bmRlZmluZWQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB0aGlzLm1hcmtEaXJ0eSgpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldEVuZHBvaW50SWQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkdhZGdldFN0YXJ0ZWQobSwgZW52KSB7XFxyXFxuICAgICAgICBsZXQgcHJvY2Vzc29yID0gdGhpcy5tX3N0YXJ0R2FkZ2V0UHJvbWlzZXNbZW52LnRhcmdldC5ub2RlSWRdO1xcclxcbiAgICAgICAgaWYgKHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgIHByb2Nlc3NvclswXSh7XFxyXFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXFxyXFxuICAgICAgICAgICAgICAgIHN0YXJ0ZWRHYWRnZXRFbmRwb2ludElkOiBtLnN0YXJ0ZWRHYWRnZXRFbmRwb2ludElkLFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLm1fc3RhcnRHYWRnZXRQcm9taXNlc1tlbnYudGFyZ2V0Lm5vZGVJZF07XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgc2V0SW50ZXJmYWNlRW50aXR5UHJvY2Vzc29yKG5vZGVJZCwgcHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICB0aGlzLm1faW50ZXJmYWNlRW50aXR5UHJvY2Vzc29ycy5zZXQobm9kZUlkLCBwcm9jZXNzb3IpO1xcclxcbiAgICAgICAgdGhpcy5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBjbGVhckludGVyZmFjZUVudGl0eVByb2Nlc3Nvcihub2RlSWQpIHtcXHJcXG4gICAgICAgIHRoaXMubV9pbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3JzLmRlbGV0ZShub2RlSWQpO1xcclxcbiAgICAgICAgdGhpcy5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXRJbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3IoZXBhKSB7XFxyXFxuICAgICAgICBpZiAoZXBhLmVuZHBvaW50SWQgIT0gdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKSkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9pbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3JzLmdldChlcGEubm9kZUlkKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkludGVyZmFjZVN0YXJ0ZWQobSwgZW52KSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgaW50ZXJmYWNlIHN0YXJ0IGZvciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiaW50ZXJmYWNlU3RyaW5nRnJvbU1zZ1xcXCJdKShtKX1gKTtcXHJcXG4gICAgICAgICAgICBsZXQgcHJvY2Vzc29yID0gdGhpcy5nZXRJbnRlcmZhY2VFbnRpdHlQcm9jZXNzb3IoZW52LnRhcmdldCk7XFxyXFxuICAgICAgICAgICAgaWYgKHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgICAgICBwcm9jZXNzb3Iuc3RhcnRlZChtKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKCFwcm9jZXNzb3IpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFJlY2VpdmVkIGludGVyZmFjZSBzdGFydCBmb3IgJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImludGVyZmFjZVN0cmluZ0Zyb21Nc2dcXFwiXSkobSl9LGBcXHJcXG4gICAgICAgICAgICAgICAgICAgICsgYCB3aGljaCBkb2Vzbid0IGhhdmUgYSBwcm9jZXNzb3JgKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkludGVyZmFjZUVuZGVkKG0sIGVudikge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgbGV0IHByb2Nlc3NvciA9IHRoaXMuZ2V0SW50ZXJmYWNlRW50aXR5UHJvY2Vzc29yKGVudi50YXJnZXQpO1xcclxcbiAgICAgICAgICAgIGlmIChwcm9jZXNzb3IpIHtcXHJcXG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yLmVuZGVkKG0udHJhbnNtaXR0ZXIsIG0ucmVjZWl2ZXIsIG0uaWZhY2UsIG0udHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIsIG0uaW50ZXJzZWN0aW9uUG9pbnQpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBpZiAoIXByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgaW50ZXJmYWNlIHN0YXJ0IGZvciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiaW50ZXJmYWNlU3RyaW5nRnJvbU1zZ1xcXCJdKShtKX0sYFxcclxcbiAgICAgICAgICAgICAgICAgICAgKyBgIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIHByb2Nlc3NvcmApO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW50ZXJmYWNlUmVjZWl2ZWRFdmVudChtLCBlbnYpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBwcm9jZXNzb3IgPSB0aGlzLmdldEludGVyZmFjZUVudGl0eVByb2Nlc3NvcihtLmRlc3RpbmF0aW9uKTtcXHJcXG4gICAgICAgICAgICBpZiAocHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci5ldmVudChtLmRlc3RpbmF0aW9uLCBtLnBlZXIsIG0uaWZhY2UsIG0uZXZlbnQsIG0uZGVzdGluYXRpb25Gcm9tUGVlciwgbS5pbnRlcnNlY3Rpb25Qb2ludCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmICghcHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZWNlaXZlZCBpbnRlcmZhY2UgZXZlbnQgZm9yICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShtLmRlc3RpbmF0aW9uKX0sYFxcclxcbiAgICAgICAgICAgICAgICAgICAgKyBgIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIHByb2Nlc3NvcmApO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW50ZXJmYWNlVHJhbnNmb3JtVXBkYXRlZChtLCBlbnYpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBwcm9jZXNzb3IgPSB0aGlzLmdldEludGVyZmFjZUVudGl0eVByb2Nlc3NvcihtLmRlc3RpbmF0aW9uKTtcXHJcXG4gICAgICAgICAgICBpZiAocHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgICAgIHByb2Nlc3Nvci50cmFuc2Zvcm1VcGRhdGVkKG0uZGVzdGluYXRpb24sIG0ucGVlciwgbS5pZmFjZSwgbS5kZXN0aW5hdGlvbkZyb21QZWVyLCBtLmludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKCFwcm9jZXNzb3IpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coYFJlY2VpdmVkIGludGVyZmFjZSB0cmFuc2Zvcm1VcGRhdGVkIGZvciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkobS5kZXN0aW5hdGlvbil9LGBcXHJcXG4gICAgICAgICAgICAgICAgICAgICsgYCB3aGljaCBkb2Vzbid0IGhhdmUgYSBwcm9jZXNzb3JgKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBzZXRJbnRlcmZhY2VFdmVudFByb2Nlc3Nvcihub2RlSWQsIHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgdGhpcy5tX2ludGVyZmFjZUV2ZW50UHJvY2Vzc29yc1tub2RlSWRdID0gcHJvY2Vzc29yO1xcclxcbiAgICAgICAgdGhpcy5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kSW50ZXJmYWNlRXZlbnQobm9kZUlkLCBkZXN0aW5hdGlvbiwgaWZhY2UsIGRhdGEpIHtcXHJcXG4gICAgICAgIGxldCBtID0ge1xcclxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uLFxcclxcbiAgICAgICAgICAgIGludGVyZmFjZTogaWZhY2UsXFxyXFxuICAgICAgICAgICAgZGF0YSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICBpZiAoZGVzdGluYXRpb24uZW5kcG9pbnRJZCA9PSB0aGlzLm1fZW5kcG9pbnQuZ2V0RW5kcG9pbnRJZCgpKSB7XFxyXFxuICAgICAgICAgICAgbGV0IGVudiA9IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlRXZlbnQsXFxyXFxuICAgICAgICAgICAgICAgIHNlbmRlcjogeyB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uTm9kZSwgZW5kcG9pbnRJZDogdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKSwgbm9kZUlkIH0sXFxyXFxuICAgICAgICAgICAgICAgIHNlcXVlbmNlTnVtYmVyOiAtMSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaXMgYSBsb2NhbCBzZW5kLCBqdXN0IGJvdW5jZSBpdCBiYWNrIHRvIG91ciBvd24gbm9kZVxcclxcbiAgICAgICAgICAgIC8vIERvZXMgdGhpcyBuZWVkIHRvIGJlIGFzeW5jP1xcclxcbiAgICAgICAgICAgIHRoaXMub25JbnRlcmZhY2VFdmVudChtLCBlbnYpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VFdmVudCwgbSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VFdmVudChtLCBlbnYpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBwcm9jZXNzb3IgPSB0aGlzLm1faW50ZXJmYWNlRXZlbnRQcm9jZXNzb3JzW20uZGVzdGluYXRpb24ubm9kZUlkXTtcXHJcXG4gICAgICAgICAgICBpZiAoIXByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgUmVjZWl2ZWQgaW50ZXJmYWNlIGV2ZW50IGZvciAke20uZGVzdGluYXRpb24ubm9kZUlkfSwgd2hpY2ggZG9lc24ndCBoYXZlIGEgcHJvY2Vzc29yYCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBwcm9jZXNzb3IobS5pbnRlcmZhY2UsIGVudi5zZW5kZXIsIG0uZGF0YSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25SZXNvdXJjZUxvYWRGYWlsZWQobSkge1xcclxcbiAgICAgICAgY29uc29sZS5lcnJvcihgUmVzb3VyY2UgbG9hZCBmYWlsZWQgZm9yICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShtLm5vZGVJZCl9LmBcXHJcXG4gICAgICAgICAgICArIGAgdXJpPSR7bS5yZXNvdXJjZVVyaX0gZXJyb3I9JHttLmVycm9yfWApO1xcclxcbiAgICB9XFxyXFxuICAgIGxpc3RlbkZvckFjdGlvblN0YXRlKGFjdGlvbiwgaGFuZCwgcmlzaW5nLCBmYWxsaW5nKSB7XFxyXFxuICAgICAgICBpZiAoYWN0aW9uID09IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uR3JhYk1vdmUpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGxpc3RlbkZvckFjdGlvblN0YXRlIGZvciAke19hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl1bYWN0aW9uXX0gd2hpY2ggaXMgdmVjdG9yMmApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGhhbmRsZSA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aW9uU3RhdGVMaXN0ZW5lcnNbaGFuZGxlXSA9XFxyXFxuICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICBoYW5kLFxcclxcbiAgICAgICAgICAgICAgICBhY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgIHJpc2luZyxcXHJcXG4gICAgICAgICAgICAgICAgZmFsbGluZyxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgcmV0dXJuIGhhbmRsZTtcXHJcXG4gICAgfVxcclxcbiAgICBsaXN0ZW5Gb3JWZWN0b3IyQWN0aW9uU3RhdGUoYWN0aW9uLCBoYW5kLCB1cGRhdGUpIHtcXHJcXG4gICAgICAgIGlmIChhY3Rpb24gIT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVBY3Rpb25cXFwiXS5HcmFiTW92ZSkge1xcclxcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbGlzdGVuRm9yVmVjdG9yMkFjdGlvblN0YXRlIGZvciAke19hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl1bYWN0aW9uXX0gd2hpY2ggaXMgYm9vbGVhbmApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGhhbmRsZSA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aW9uU3RhdGVMaXN0ZW5lcnNbaGFuZGxlXSA9XFxyXFxuICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICBoYW5kLFxcclxcbiAgICAgICAgICAgICAgICBhY3Rpb24sXFxyXFxuICAgICAgICAgICAgICAgIHVwZGF0ZSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgcmV0dXJuIGhhbmRsZTtcXHJcXG4gICAgfVxcclxcbiAgICBsaXN0ZW5Gb3JBY3Rpb25TdGF0ZVdpdGhDb21wb25lbnQoaGFuZCwgYWN0aW9uLCBjb21wKSB7XFxyXFxuICAgICAgICBsZXQgZm4gPSAoKSA9PiB7IGNvbXAuZm9yY2VVcGRhdGUoKTsgfTtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmxpc3RlbkZvckFjdGlvblN0YXRlKGFjdGlvbiwgaGFuZCwgZm4sIGZuKTtcXHJcXG4gICAgfVxcclxcbiAgICB1bmxpc3RlbkZvckFjdGlvblN0YXRlKGhhbmRsZSkge1xcclxcbiAgICAgICAgZGVsZXRlIHRoaXMubV9hY3Rpb25TdGF0ZUxpc3RlbmVyc1toYW5kbGVdO1xcclxcbiAgICB9XFxyXFxuICAgIG9uVXBkYXRlQWN0aW9uU3RhdGUobSwgZW52KSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgb2xkU3RhdGUgPSB0aGlzLm1fYWN0aW9uU3RhdGVbbS5oYW5kXTtcXHJcXG4gICAgICAgIGxldCBuZXdTdGF0ZSA9IG0uYWN0aW9uU3RhdGU7XFxyXFxuICAgICAgICBpZiAoIWVxdWFsKG5ld1N0YXRlLCBvbGRTdGF0ZSkpIHtcXHJcXG4gICAgICAgICAgICAvLyBTZXQgdGhlIHN0YXRlIGZpcnN0IGluIGNhc2UgYW55IG9mIHRoZSBsaXN0ZW5lcnMgcmVhZCBpdFxcclxcbiAgICAgICAgICAgIHRoaXMubV9hY3Rpb25TdGF0ZVttLmhhbmRdID0gbS5hY3Rpb25TdGF0ZTtcXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBoYW5kbGUgaW4gdGhpcy5tX2FjdGlvblN0YXRlTGlzdGVuZXJzKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBsaXN0ZW5lciA9IHRoaXMubV9hY3Rpb25TdGF0ZUxpc3RlbmVyc1toYW5kbGVdO1xcclxcbiAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuaGFuZCA9PSBtLmhhbmQgfHwgbGlzdGVuZXIuaGFuZCA9PSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUhhbmRcXFwiXS5JbnZhbGlkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAobGlzdGVuZXIuYWN0aW9uID09IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFQWN0aW9uXFxcIl0uR3JhYk1vdmUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSBsaXN0ZW5lci51cGRhdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGxpc3RlbmVyLCBuZXdTdGF0ZS5ncmFiTW92ZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgb2xkQWN0aW9uID0gZ2V0Qm9vbGVhbkFjdGlvbkZyb21TdGF0ZShsaXN0ZW5lci5hY3Rpb24sIG9sZFN0YXRlKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3QWN0aW9uID0gZ2V0Qm9vbGVhbkFjdGlvbkZyb21TdGF0ZShsaXN0ZW5lci5hY3Rpb24sIG5ld1N0YXRlKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9sZEFjdGlvbiAmJiBuZXdBY3Rpb24gJiYgbGlzdGVuZXIucmlzaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLnJpc2luZygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvbGRBY3Rpb24gJiYgIW5ld0FjdGlvbiAmJiBsaXN0ZW5lci5mYWxsaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmZhbGxpbmcoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2FkZ2V0IGlzIGluIGVkaXQgbW9kZSBmb3IgdGhlXFxyXFxuICAgICAqIHNwZWNpZmllZCBoYW5kLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcHVibGljXFxyXFxuICAgICAqL1xcclxcbiAgICBnZXRBY3Rpb25TdGF0ZUZvckhhbmQoaGFuZCwgYWN0aW9uKSB7XFxyXFxuICAgICAgICBpZiAoaGFuZCA9PSB1bmRlZmluZWQgfHwgaGFuZCA9PSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiRUhhbmRcXFwiXS5JbnZhbGlkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIGdldEJvb2xlYW5BY3Rpb25Gcm9tU3RhdGUoYWN0aW9uLCB0aGlzLm1fYWN0aW9uU3RhdGVbX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVIYW5kXFxcIl0uTGVmdF0pXFxyXFxuICAgICAgICAgICAgICAgIHx8IGdldEJvb2xlYW5BY3Rpb25Gcm9tU3RhdGUoYWN0aW9uLCB0aGlzLm1fYWN0aW9uU3RhdGVbX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVIYW5kXFxcIl0uUmlnaHRdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBnZXRCb29sZWFuQWN0aW9uRnJvbVN0YXRlKGFjdGlvbiwgdGhpcy5tX2FjdGlvblN0YXRlW2hhbmRdKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICB0cmF2ZXJzZU5vZGUoZG9tTm9kZSkge1xcclxcbiAgICAgICAgbGV0IGxvd2VyTmFtZSA9IGRvbU5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcXHJcXG4gICAgICAgIGxldCBub2RlID0gbnVsbDtcXHJcXG4gICAgICAgIHN3aXRjaCAobG93ZXJOYW1lKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBcXFwiYXYtbm9kZVxcXCI6XFxyXFxuICAgICAgICAgICAgICAgIGxldCBhdHRyID0gZG9tTm9kZS5nZXRBdHRyaWJ1dGUoXFxcIm5vZGVJZFxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICBpZiAoYXR0cikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5vZGVJZCA9IHBhcnNlSW50KGF0dHIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlYWN0Tm9kZSA9IHRoaXMubV9yZWdpc3RlcmVkTm9kZXNbbm9kZUlkXTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZWFjdE5vZGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBub2RlID0gcmVhY3ROb2RlLmNyZWF0ZU5vZGVGb3JOb2RlKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tX3RyYXZlcnNlZE5vZGVzW25vZGVJZF0gPSByZWFjdE5vZGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IG4gPSAwOyBuIDwgZG9tTm9kZS5jaGlsZHJlbi5sZW5ndGg7IG4rKykge1xcclxcbiAgICAgICAgICAgIGxldCBjaGlsZERvbU5vZGUgPSBkb21Ob2RlLmNoaWxkcmVuLml0ZW0obik7XFxyXFxuICAgICAgICAgICAgaWYgKGNoaWxkRG9tTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBkZXNjZW5jZW50cyA9IHRoaXMudHJhdmVyc2VOb2RlKGNoaWxkRG9tTm9kZSk7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChkZXNjZW5jZW50cyAmJiBkZXNjZW5jZW50cy5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChkZXNjZW5jZW50cyk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAvLyBmaWd1cmUgb3V0IHdoYXQgdG8gcmV0dXJuXFxyXFxuICAgICAgICBpZiAobm9kZSkge1xcclxcbiAgICAgICAgICAgIC8vIGlmIHdlIGdvdCBhIG5vZGUgZnJvbSB0aGUgRE9NLCByZXR1cm4gdGhhdFxcclxcbiAgICAgICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSB7XFxyXFxuICAgICAgICAgICAgICAgIG5vZGUuY2hpbGRyZW4gPSBjaGlsZHJlbjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgcmV0dXJuIFtub2RlXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcXHJcXG4gICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIGNoaWxkcmVuIGJ1dCBubyBub2RlLCBqdXN0IHJldHVyblxcclxcbiAgICAgICAgICAgIC8vIHRoZSBjaGlsZHJlbi4gVGhpcyBub2RlIGlzIGEgbm8tb3AuXFxyXFxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgLy8gb3RoZXJ3aXNlLCB3ZSd2ZSBnb3Qgbm90aGluZ1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZVNjZW5lR3JhcGgoKSB7XFxyXFxuICAgICAgICBpZiAoIXRoaXMubV9tYW5pZmVzdCkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJVcGRhdGluZyBzY2VuZSBncmFwaCBiZWZvcmUgbWFuaWZlc3Qgd2FzIGxvYWRlZFxcXCIpO1xcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV90cmF2ZXJzZWROb2RlcyA9IHt9O1xcclxcbiAgICAgICAgbGV0IHJvb3ROb2RlcyA9IHRoaXMudHJhdmVyc2VOb2RlKGRvY3VtZW50LmJvZHkpO1xcclxcbiAgICAgICAgbGV0IG1zZyA9IHt9O1xcclxcbiAgICAgICAgaWYgKHJvb3ROb2RlcyAmJiByb290Tm9kZXMubGVuZ3RoID4gMCkge1xcclxcbiAgICAgICAgICAgIGlmIChyb290Tm9kZXMubGVuZ3RoID4gMSkge1xcclxcbiAgICAgICAgICAgICAgICBtc2cucm9vdCA9XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5Db250YWluZXIsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IDAsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFTm9kZUZsYWdzXFxcIl0uVmlzaWJsZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogcm9vdE5vZGVzLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIG1zZy5yb290ID0gcm9vdE5vZGVzWzBdO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5VcGRhdGVTY2VuZUdyYXBoLCBtc2cpO1xcclxcbiAgICAgICAgaWYgKHRoaXMubV9maXJzdFNjZW5lR3JhcGgpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fZmlyc3RTY2VuZUdyYXBoID0gZmFsc2U7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMubV9lcFRvTm90aWZ5KSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBtc2dTdGFydGVkID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgZXBUb05vdGlmeTogdGhpcy5tX2VwVG9Ob3RpZnksXFxyXFxuICAgICAgICAgICAgICAgICAgICBzdGFydGVkR2FkZ2V0RW5kcG9pbnRJZDogdGhpcy5tX2VuZHBvaW50LmdldEVuZHBvaW50SWQoKSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tX2VuZHBvaW50LnNlbmRNZXNzYWdlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkdhZGdldFN0YXJ0ZWQsIG1zZ1N0YXJ0ZWQpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHRoaXMubV9uZXh0RnJhbWVSZXF1ZXN0ID0gMDtcXHJcXG4gICAgfVxcclxcbiAgICBtYXJrRGlydHkoKSB7XFxyXFxuICAgICAgICBpZiAoIXRoaXMubV9tYW5pZmVzdCkge1xcclxcbiAgICAgICAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgb3VyIG1hbmlmZXN0IHlldCwgd2UgY2FuJ3QgdXBkYXRlIHRoZSBzY2VuZSBncmFwaC5cXHJcXG4gICAgICAgICAgICAvLyBXZSdsbCB1cGRhdGUgYXV0b21hdGljYWxseSBvbmNlIHRoYXQgY29tZXMgaW4uXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMubV9uZXh0RnJhbWVSZXF1ZXN0ID09IDApIHtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fbmV4dEZyYW1lUmVxdWVzdCA9IHdpbmRvdy5zZXRUaW1lb3V0KHRoaXMudXBkYXRlU2NlbmVHcmFwaCwgMSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEhhcHRpY0V2ZW50KG5vZGVJZCwgYW1wbGl0dWRlLCBmcmVxdWVuY3ksIGR1cmF0aW9uKSB7XFxyXFxuICAgICAgICBsZXQgbXNnID0ge1xcclxcbiAgICAgICAgICAgIG5vZGVJZCxcXHJcXG4gICAgICAgICAgICBhbXBsaXR1ZGUsXFxyXFxuICAgICAgICAgICAgZnJlcXVlbmN5LFxcclxcbiAgICAgICAgICAgIGR1cmF0aW9uLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5Ob2RlSGFwdGljLCBtc2cpO1xcclxcbiAgICB9XFxyXFxuICAgIHN0YXJ0R2FkZ2V0KHVyaSwgaW5pdGlhbEludGVyZmFjZXMpIHtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XFxyXFxuICAgICAgICAgICAgbGV0IG5vdGlmeU5vZGVJZCA9IHRoaXMubV9uZXh0Tm9kZUlkKys7XFxyXFxuICAgICAgICAgICAgdGhpcy5tX3N0YXJ0R2FkZ2V0UHJvbWlzZXNbbm90aWZ5Tm9kZUlkXSA9IFtyZXNvbHZlLCByZWplY3RdO1xcclxcbiAgICAgICAgICAgIGxldCBpbml0aWFsSW50ZXJmYWNlc0VuY29kZWQgPSBidG9hKEpTT04uc3RyaW5naWZ5KGluaXRpYWxJbnRlcmZhY2VzKSk7XFxyXFxuICAgICAgICAgICAgbGV0IGVwVG9Ob3RpZnkgPSB7XFxyXFxuICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFbmRwb2ludFR5cGVcXFwiXS5Ob2RlLFxcclxcbiAgICAgICAgICAgICAgICBlbmRwb2ludElkOiB0aGlzLm1fZW5kcG9pbnQuZ2V0RW5kcG9pbnRJZCgpLFxcclxcbiAgICAgICAgICAgICAgICBub2RlSWQ6IG5vdGlmeU5vZGVJZCxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZcXFwiXSkoKS5zdGFydEdhZGdldCh7XFxyXFxuICAgICAgICAgICAgICAgIHVyaSxcXHJcXG4gICAgICAgICAgICAgICAgaW5pdGlhbEludGVyZmFjZXM6IGluaXRpYWxJbnRlcmZhY2VzRW5jb2RlZCxcXHJcXG4gICAgICAgICAgICAgICAgZXBUb05vdGlmeSxcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpc1JlbW90ZSgpIHtcXHJcXG4gICAgICAgIHJldHVybiAhIXRoaXMuZmluZEluaXRpYWxJbnRlcmZhY2UoX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCJdLmludGVyZmFjZU5hbWUpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBQZXJzaXN0cyB0aGUgZ2FkZ2V0J3Mgc2V0dGluZ3MuIFRoZXNlIHdlaWxsIGJlIHBhc3NlZCB0byB0aGUgZ2FkZ2V0XFxyXFxuICAgICAqIHZpYSB0aGUgY2FsbGJhY2sgcmVnaXN0ZXJlZCB3aXRoIHJlZ2lzdGVyRm9yU2V0dGluZ3Mgd2hlbmV2ZXIgdGhlXFxyXFxuICAgICAqIGdhZGdldCBpcyByZWxvYWRlZC5cXHJcXG4gICAgICogQHB1YmxpY1xcclxcbiAgICAgKi9cXHJcXG4gICAgc2F2ZVNldHRpbmdzKHNldHRpbmdzKSB7XFxyXFxuICAgICAgICBsZXQgbXNnID0ge1xcclxcbiAgICAgICAgICAgIHNldHRpbmdzLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5TYXZlU2V0dGluZ3MsIG1zZyk7XFxyXFxuICAgIH1cXHJcXG4gICAgLyoqIFRoZSBjYWxsYmFjayByZWdpc3RlcmVkIHdpdGggdGhpcyBmdW5jdGlvbiB3aWxsIGJlIGludm9rZWQgd2hlblxcclxcbiAgICAgKiB0aGUgZ2FkZ2V0J3Mgc2V0dGluZ3MgYXJlIHJlbG9hZGVkIGZyb20gdGhlIHNlcnZlci5cXHJcXG4gICAgICogQHB1YmxpY1xcclxcbiAgICAgKi9cXHJcXG4gICAgcmVnaXN0ZXJGb3JTZXR0aW5ncyhjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5tX29uU2V0dGluZ3NSZWNlaXZlZCA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBSZXR1cm5zIHRoZSBlbmRwb2ludCBhZGRyZXNzIGZvciBhIERPTSBub2RlIElkLCBvciBudWxsIGlmIHRoZXJlXFxyXFxuICAgICAqIGlzbid0IGEgbWF0Y2hpbmcgQWFyZHZhcmsgbm9kZSB3aXRoIHRoYXQgSWQuXFxyXFxuICAgICAqL1xcclxcbiAgICBnZXRFbmRwb2ludEFkZHJlc3NGb3JJZChpZCkge1xcclxcbiAgICAgICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XFxyXFxuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiZmFpbGVkIHRvIGZpbmQgaWQgXFxcIiArIGlkKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXFxcImF2LW5vZGVcXFwiKSB7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImVsZW1lbnQgd2FzIG5vdCBhbiBhdi1ub2RlIFxcXCIgKyBpZCk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgYXR0ciA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFxcXCJub2RlSWRcXFwiKTtcXHJcXG4gICAgICAgIGlmICghYXR0cikge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJlbGVtZW50IGRpZG4ndCBoYXZlIG5vZGVJZCBzZXQgXFxcIiArIGlkKTtcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxldCBub2RlSWQgPSBwYXJzZUludChhdHRyKTtcXHJcXG4gICAgICAgIHJldHVybiB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVuZHBvaW50VHlwZVxcXCJdLk5vZGUsXFxyXFxuICAgICAgICAgICAgZW5kcG9pbnRJZDogdGhpcy5nZXRFbmRwb2ludElkKCksXFxyXFxuICAgICAgICAgICAgbm9kZUlkOiBub2RlSWQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBBZGRzIGEgaGFuZGxlciBmb3IgYSByYXcgQWFyZHZhcmsgbWVzc2FnZS4gWW91IHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcy4gKi9cXHJcXG4gICAgcmVnaXN0ZXJNZXNzYWdlSGFuZGxlcih0eXBlLCBoYW5kbGVyKSB7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQucmVnaXN0ZXJIYW5kbGVyKHR5cGUsIGhhbmRsZXIpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBBZGRzIGFuIGFzeW5jaHJvbm91cyBoYW5kbGVyIGZvciBhIHJhdyBBYXJkdmFyayBtZXNzYWdlLiBZb3UgcHJvYmFibHkgZG9uJ3QgbmVlZCB0aGlzLiAqL1xcclxcbiAgICByZWdpc3RlckFzeW5jTWVzc2FnZUhhbmRsZXIodHlwZSwgaGFuZGxlcikge1xcclxcbiAgICAgICAgdGhpcy5tX2VuZHBvaW50LnJlZ2lzdGVyQXN5bmNIYW5kbGVyKHR5cGUsIGhhbmRsZXIpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIHNlcnZlci4gWW91IHByb2JhYmx5IGRvbid0IG5lZWQgdGhpcyBlaXRoZXIuICovXFxyXFxuICAgIHNlbmRNZXNzYWdlKHR5cGUsIG1lc3NhZ2UsIHNlbmRpbmdOb2RlKSB7XFxyXFxuICAgICAgICB0aGlzLm1fZW5kcG9pbnQuc2VuZE1lc3NhZ2UodHlwZSwgbWVzc2FnZSwgc2VuZGluZ05vZGUpO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBTZW5kcyBhIG1lc3NhZ2UgYW5kIHJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzcG9uc2UgdG8gdGhhdCBtZXNzYWdlXFxyXFxuICAgICAqIGFycml2ZXMuXFxyXFxuICAgICAqL1xcclxcbiAgICBzZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZSh0eXBlLCBtc2csIHJlc3BvbnNlVHlwZSkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubV9lbmRwb2ludC5zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZSh0eXBlLCBtc2csIHJlc3BvbnNlVHlwZSk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuQXZHYWRnZXQuc19pbnN0YW5jZSA9IG51bGw7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcIndhaXRGb3JDb25uZWN0XFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcImNsZWFyV2FpdEZvckNvbm5lY3RcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXQucHJvdG90eXBlLCBcXFwib25FbmRwb2ludE9wZW5cXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXQucHJvdG90eXBlLCBcXFwib25HYWRnZXRTdGFydGVkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcIm9uSW50ZXJmYWNlU3RhcnRlZFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvbkludGVyZmFjZUVuZGVkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcIm9uSW50ZXJmYWNlUmVjZWl2ZWRFdmVudFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvbkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWRcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXQucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VFdmVudFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvblJlc291cmNlTG9hZEZhaWxlZFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkdhZGdldC5wcm90b3R5cGUsIFxcXCJvblVwZGF0ZUFjdGlvblN0YXRlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0LnByb3RvdHlwZSwgXFxcInVwZGF0ZVNjZW5lR3JhcGhcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOW5ZV1JuWlhRdWRITjRQelJpWWpZaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN1FVRkJlVzVDTzBGQlEzWnNRanRCUVVsblF6dEJRVU5rTzBGQlJYQkVMRTFCUVUwc1MwRkJTeXhIUVVGSExHMUNRVUZQTEVOQlFVVXNaMFZCUVdsQ0xFTkJRVVVzUTBGQlF6dEJRV0V6UXl4VFFVRlRMRkZCUVZFc1EwRkJReXhIUVVGWE8wbEJSWHBDTEVsQlFVa3NUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlEzQkRMRmxCUVZrc1IwRkJLMElzUlVGQlJTeEZRVU0zUXl4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVVY2UWl3NFFrRkJPRUk3U1VGRE9VSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRlppeHBRMEZCYVVNN1NVRkRha01zVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGRFUXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGSE8xRkJRMnhETEV0QlFVc3NSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUXpsQ0xGbEJRVmtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEZUVNN1NVRkZSQ3hQUVVGUExGbEJRVmtzUTBGQlF6dEJRVU55UWl4RFFVRkRPMEZCUlVRc1UwRkJVeXg1UWtGQmVVSXNRMEZCUlN4TlFVRmxMRVZCUVVVc1MwRkJiMEk3U1VGRmVFVXNTVUZCU1N4RFFVRkRMRXRCUVVzN1VVRkRWQ3hQUVVGUExFdEJRVXNzUTBGQlF6dEpRVVZrTEZGQlFWRXNUVUZCVFN4RlFVTmtPMUZCUTBNc1MwRkJTeXh0UlVGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU12UWl4TFFVRkxMRzFGUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJReTlDTEV0QlFVc3NiVVZCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eFBRVUZQTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkRja01zUzBGQlN5eHRSVUZCVHl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFOUJRVThzUzBGQlN5eERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTnVSQ3hMUVVGTExHMUZRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1QwRkJUeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETzFGQlF6TkRMRXRCUVVzc2JVVkJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4UFFVRlBMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGVrTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1QwRkJUeXhMUVVGTExFTkJRVU03UzBGRGRFSTdRVUZEUml4RFFVRkRPMEZCV1Uwc1UwRkJVeXh6UWtGQmMwSTdTVUZGY2tNc1QwRkJUeXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMDdWVUZETVVJc1RVRkJUU3hEUVVGRExGRkJRVkVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4WFFVRlhMRU5CUVVVc1IwRkJSeXhEUVVGRkxFTkJRVVVzUTBGQlF6dEJRVU55Uml4RFFVRkRPMEZCUlVRc2JVUkJRVzFFTzBGQlF6VkRMRTFCUVUwc1VVRkJVVHRKUVRKQ2NFSTdVVUYyUWxFc2VVSkJRVzlDTEVkQlFUWkNMRWxCUVVrc1EwRkJRenRSUVVWMFJDeHBRa0ZCV1N4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOcVFpeHpRa0ZCYVVJc1IwRkJiVU1zUlVGQlJTeERRVUZETzFGQlEzWkVMSFZDUVVGclFpeEhRVUZYTEVOQlFVTXNRMEZCUXp0UlFVTXZRaXh4UWtGQlowSXNSMEZCYlVNc1JVRkJSU3hEUVVGRE8xRkJRM1JFTEdWQlFWVXNSMEZCYjBJc1NVRkJTU3hEUVVGRE8xRkJRMjVETEdWQlFWVXNSMEZCY1VJc1NVRkJTU3hEUVVGRE8xRkJRM0JETEhOQ1FVRnBRaXhIUVVGWExFbEJRVWtzUTBGQlF6dFJRVU5xUXl4clFrRkJZU3hIUVVGeFF5eEZRVUZGTEVOQlFVTTdVVUZEY2tRc2FVSkJRVmtzUjBGQmFVSXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExITkNRVUZwUWl4SFFVRlpMRWxCUVVrc1EwRkJRenRSUVVOc1F5eDNRa0ZCYlVJc1IwRkJNa0lzUlVGQlJTeERRVUZETzFGQlEycEVMSEZDUVVGblFpeEhRVUZaTEV0QlFVc3NRMEZCUXp0UlFVTnNReXhwUTBGQk5FSXNSMEZCTUVJc1NVRkJTU3hEUVVGRE8xRkJRek5FTEd0RFFVRTJRaXhIUVVGbExFbEJRVWtzUTBGQlF6dFJRVVZxUkN3clFrRkJNRUlzUjBGQmJVUXNSVUZCUlR0UlFVTXZSU3huUTBGQk1rSXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJjME1zUTBGQlF6dFJRVU0xUlN3d1FrRkJjVUlzUjBGRE1FTXNSVUZCUlN4RFFVRkRPMUZCUTJ4RkxESkNRVUZ6UWl4SFFVRnRSQ3hGUVVGRkxFTkJRVU03VVVGSmJrWXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEhRVUZITEhOQ1FVRnpRaXhGUVVGRkxFTkJRVU03VVVGRGJFUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRkxFMUJRVTBzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkZMRU5CUVVNN1VVRkZPVU1zU1VGRFFUdFpRVU5ETEVsQlFVa3NUVUZCVFN4RFFVRkZMRzFDUVVGdFFpeERRVUZGTEVWQlEycERPMmRDUVVORExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZGTEVsQlFVa3NRMEZCUlN4TlFVRk5MRU5CUVVVc2JVSkJRVzFDTEVOQlFVVXNRMEZCUlN4RFFVRkZMRU5CUVVNN1owSkJReTlGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2JVSkJRVzFDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZGTEVOQlFVTTdZVUZETjBRN1UwRkRSRHRSUVVORUxFOUJRVThzUTBGQlF5eEZRVU5TTzFsQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3h6UTBGQmRVTXNRMEZCUlN4RlFVRkZMRU5CUVVVc1EwRkJRenRUUVVNelJEdFJRVVZFTEVsQlFVa3NUVUZCVFN4RFFVRkZMRmxCUVZrc1EwRkJReXhGUVVONlFqdFpRVU5ETEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc2QwWkJRVzlDTEVOQlFVVXNUVUZCVFN4RFFVRkZMRmxCUVZrc1EwRkJReXhEUVVGRkxFTkJRVU03V1VGRGJFVXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3c0UWtGQk9FSXNSMEZCUnl4M1JrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZMRU5CUVVVc1EwRkJRenRUUVVONlJqdFJRVVZFTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3huUlVGQlpTeERRVUZGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkZMRU5CUVVNN1NVRkRkRVlzUTBGQlF6dEpRVVZFT3pzN1QwRkhSenRKUVVOVkxHTkJRV003VVVGRk1VSXNTVUZCU1N4SlFVRkpMRU5CUVVNc05FSkJRVFJDTEVWQlFVYzdXVUZEZGtNc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4RFFVRkRMSEZEUVVGeFF5eERRVUZETEVOQlFVTTdXVUZEZWtVc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNN1UwRkRNMEk3VVVGRlJDeFBRVUZQTEVsQlFVa3NUMEZCVHl4RFFVRkZMRU5CUVVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTzFsQlJYWkRMRWxCUVVzc1NVRkJTU3hEUVVGRExHZENRVUZuUWp0blFrRkJSeXhQUVVGUExFVkJRVVVzUTBGQlF6dFpRVVYyUXl4SlFVRkpMRU5CUVVNc05FSkJRVFJDTEVkQlFVY3NUVUZCVFR0WlFVTXhReXhKUVVGSkxFTkJRVU1zTmtKQlFUWkNMRWRCUVVjc1QwRkJUenRSUVVNM1F5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZZU3h0UWtGQmJVSTdVVUZGYUVNc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVONlF5eEpRVUZKTEVOQlFVTXNOa0pCUVRaQ0xFZEJRVWNzU1VGQlNTeERRVUZETzBsQlF6TkRMRU5CUVVNN1NVRkZXU3hqUVVGakxFTkJRVVVzVVVGQllUdFJRVVY2UXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlR0aFFVTXhSQ3hKUVVGSkxFTkJRVVVzUTBGQlJTeFJRVUV3UWl4RlFVRkhMRVZCUVVVN1dVRkZka01zU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4UlFVRlJMRU5CUVVNN1dVRkRNMElzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUTJ4Q0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhsUVVGbExFTkJRVVVzZFVWQlFWY3NRMEZCUXl4aFFVRmhMRVZCUVVVc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlJTeERRVUZETzFGQlEyNUdMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zWlVGQlpTeERRVUZGTEhWRlFVRlhMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZGTEVOQlFVTTdVVUZETTBZc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eGxRVUZsTEVOQlFVVXNkVVZCUVZjc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVVXNRMEZCUXp0UlFVTTNSaXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEc5Q1FVRnZRaXhEUVVGRkxIVkZRVUZYTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUlN4RFFVRkRPMUZCUXpGR0xFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVVVzZFVWQlFWY3NRMEZCUXl4blFrRkJaMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVVVzUTBGQlF6dFJRVU01Uml4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkZMSFZGUVVGWExFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeERRVUZETzFGQlF6RkdMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVVc2RVVkJRVmNzUTBGQlF5eHhRa0ZCY1VJc1JVRkRkRVVzU1VGQlNTeERRVUZETEhkQ1FVRjNRaXhEUVVGRkxFTkJRVU03VVVGRGFrTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXh2UWtGQmIwSXNRMEZCUlN4MVJVRkJWeXhEUVVGRExIbENRVUY1UWl4RlFVTXhSU3hKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVVc1EwRkJRenRSUVVWd1F5eEpRVUZKTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUlVGRE4wSTdXVUZEUXl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVVXNVVUZCVVN4RFFVRkZMRU5CUVVNN1UwRkRkRU03VVVGRlJDeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6ZENMRWxCUVVzc1NVRkJTU3hEUVVGRExEWkNRVUUyUWl4RlFVTjJRenRaUVVORExFbEJRVWtzUTBGQlF5dzJRa0ZCTmtJc1JVRkJSU3hEUVVGRE8xbEJRM0pETEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUlVGQlJTeERRVUZETzFOQlF6TkNPMGxCUTBZc1EwRkJRenRKUVVWRU96czdUMEZIUnp0SlFVTkpMRTFCUVUwc1EwRkJReXhSUVVGUk8xRkJSWEpDTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1ZVRkJWU3hGUVVONFFqdFpRVU5ETEZGQlFWRXNRMEZCUXl4VlFVRlZMRWRCUVVjc1NVRkJTU3hSUVVGUkxFVkJRVVVzUTBGQlF6dFRRVU55UXp0UlFVTkVMRTlCUVU4c1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU0xUWl4RFFVRkRPMGxCUlVRN096dE5RVWRGTzBsQlEwc3NUMEZCVHp0UlFVVmlMRWxCUVVrc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGRGJrSTdXVUZEUXl4UFFVRlBMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETzFOQlF6VkNPMkZCUlVRN1dVRkRReXhQUVVGUExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRUUVVNNVFqdEpRVU5HTEVOQlFVTTdTVUZGUkN4dlEwRkJiME03U1VGRGNFTXNTVUZCVnl4UlFVRlJPMUZCUld4Q0xFOUJRVThzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXp0SlFVTjRRaXhEUVVGRE8wbEJSVVFzY1VOQlFYRkRPMGxCUTNKRExFbEJRVmNzUjBGQlJ6dFJRVVZpTEU5QlFVOHNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkZSQ3h2UlVGQmIwVTdTVUZEY0VVc1NVRkJWeXhwUWtGQmFVSTdVVUZGTTBJc1QwRkJUeXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNN1NVRkRha01zUTBGQlF6dEpRVVZFTERoRVFVRTRSRHRKUVVOMlJDeHZRa0ZCYjBJc1EwRkJSU3haUVVGdlFqdFJRVVZvUkN4UFFVRlBMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJSU3hKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVrc1dVRkJXU3hEUVVGRkxFTkJRVU03U1VGREwwVXNRMEZCUXp0SlFVZEVPenM3TzA5QlNVYzdTVUZEU1N4WlFVRlpMRU5CUVVVc1UwRkJhVUk3VVVGRmNrTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRk5CUVZNc1EwRkJSU3hEUVVGRE8wbEJRM1pFTEVOQlFVTTdTVUZGUkRzN08wMUJSMFU3U1VGRFN5eHRRa0ZCYlVJN1VVRkZla0lzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN3NFFrRkJPRUlzUTBGQlJTeERRVUZETzFGQlJUbERMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVmtzUTBGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkhMRVZCUVVVN1dVRkZia1FzU1VGQlNTeERRVUZETEVkQlFUSkNMRVZCUVVVc1EwRkJRenRaUVVOdVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRFpDUVVFMlFpeERRVU0xUXl4MVJVRkJWeXhEUVVGRExHMUNRVUZ0UWl4RlFVRkZMRU5CUVVNc1JVRkRiRU1zZFVWQlFWY3NRMEZCUXl3eVFrRkJNa0lzUTBGQlJUdHBRa0ZEZWtNc1NVRkJTU3hEUVVGRkxFTkJRVVVzUTBGQlJTeEpRVUZKTEVWQlFVVXNSMEZCUnl4RFFVRm5SQ3hGUVVGRkxFVkJRVVU3WjBKQlJYWkZMRTlCUVU4c1EwRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVVc1EwRkJRenRaUVVOc1F5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZOTEZGQlFWRXNRMEZCUlN4SlFVRnBRanRSUVVWcVF5eHRSRUZCYlVRN1VVRkRia1FzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03VVVGRGNFTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGREwwTXNTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRMnhDTEVOQlFVTTdTVUZGVFN4VlFVRlZMRU5CUVVVc1NVRkJhVUk3VVVGRmJrTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVOcVFqdFpRVU5ETEU5QlFVOHNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1EwRkJRenRaUVVNdlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRk5CUVZNc1EwRkJRenRUUVVNeFFqdFJRVVZFTEVsQlFVa3NRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOc1FpeERRVUZETzBsQlJVMHNZVUZCWVR0UlFVVnVRaXhQUVVGUExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNZVUZCWVN4RlFVRkZMRU5CUVVNN1NVRkRlRU1zUTBGQlF6dEpRVVZMTEdWQlFXVXNRMEZCUlN4RFFVRnRRaXhGUVVGRkxFZEJRV0U3VVVGRmVFUXNTVUZCU1N4VFFVRlRMRWRCUVVjc1NVRkJTU3hEUVVGRExIRkNRVUZ4UWl4RFFVRkZMRWRCUVVjc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZGTEVOQlFVTTdVVUZEYUVVc1NVRkJTU3hUUVVGVExFVkJRMkk3V1VGRFF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUTFnN1owSkJRME1zVDBGQlR5eEZRVUZGTEVsQlFVazdaMEpCUTJJc2RVSkJRWFZDTEVWQlFVVXNRMEZCUXl4RFFVRkRMSFZDUVVGMVFqdGhRVU5zUkN4RFFVTkVMRU5CUVVNN1dVRkRSaXhQUVVGUExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUlN4RFFVRkRPMU5CUTNaRU8wbEJRMFlzUTBGQlF6dEpRVVZOTERKQ1FVRXlRaXhEUVVGRkxFMUJRV01zUlVGQlJTeFRRVUZ4UXp0UlFVVjRSaXhKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUlVGQlJTeFRRVUZUTEVOQlFVVXNRMEZCUXp0UlFVTXhSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWTkxEWkNRVUUyUWl4RFFVRkZMRTFCUVdNN1VVRkZia1FzU1VGQlNTeERRVUZETERKQ1FVRXlRaXhEUVVGRExFMUJRVTBzUTBGQlJTeE5RVUZOTEVOQlFVVXNRMEZCUXp0UlFVTnNSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZEYkVJc1EwRkJRenRKUVVWUExESkNRVUV5UWl4RFFVRkZMRWRCUVdsQ08xRkJSWEpFTEVsQlFVa3NSMEZCUnl4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEdGQlFXRXNSVUZCUlN4RlFVTnlSRHRaUVVORExFOUJRVThzU1VGQlNTeERRVUZETzFOQlExbzdVVUZGUkN4UFFVRlBMRWxCUVVrc1EwRkJReXd5UWtGQk1rSXNRMEZCUXl4SFFVRkhMRU5CUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzBsQlF6TkVMRU5CUVVNN1NVRkhZU3hyUWtGQmEwSXNRMEZCUlN4RFFVRnpRaXhGUVVGRkxFZEJRV0U3TzFsQlJYUkZMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzWjBOQlFXbERMREJHUVVGelFpeERRVUZGTEVOQlFVTXNRMEZCUnl4RlFVRkZMRU5CUVVVc1EwRkJRenRaUVVNdlJTeEpRVUZKTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRE8xbEJReTlFTEVsQlFVa3NVMEZCVXl4RlFVTmlPMmRDUVVORExGTkJRVk1zUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUXl4RFFVRkZMRU5CUVVNN1lVRkRka0k3V1VGRlJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVTmtPMmRDUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNaME5CUVdsRExEQkdRVUZ6UWl4RFFVRkZMRU5CUVVNc1EwRkJSeXhIUVVGSE8zTkNRVU14UlN4cFEwRkJhVU1zUTBGQlJTeERRVUZETzJGQlEzWkRPMUZCUTBZc1EwRkJRenRMUVVGQk8wbEJSMkVzWjBKQlFXZENMRU5CUVVVc1EwRkJiMElzUlVGQlJTeEhRVUZoT3p0WlFVVnNSU3hKUVVGSkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNNa0pCUVRKQ0xFTkJRVVVzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUlN4RFFVRkRPMWxCUXk5RUxFbEJRVWtzVTBGQlV5eEZRVU5pTzJkQ1FVTkRMRk5CUVZNc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RFFVRkRMSFZDUVVGMVFpeEZRVU0xUlN4RFFVRkRMRU5CUVVNc2FVSkJRV2xDTEVOQlFVVXNRMEZCUXp0aFFVTjJRanRaUVVWRUxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlEyUTdaMEpCUTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTeG5RMEZCYVVNc01FWkJRWE5DTEVOQlFVVXNRMEZCUXl4RFFVRkhMRWRCUVVjN2MwSkJRekZGTEdsRFFVRnBReXhEUVVGRkxFTkJRVU03WVVGRGRrTTdVVUZEUml4RFFVRkRPMHRCUVVFN1NVRkhZU3gzUWtGQmQwSXNRMEZCUlN4RFFVRXlRaXhGUVVGRkxFZEJRV0U3TzFsQlJXcEdMRWxCUVVrc1UwRkJVeXhIUVVGSExFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1EwRkJSU3hEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZGTEVOQlFVTTdXVUZEYkVVc1NVRkJTU3hUUVVGVExFVkJRMkk3WjBKQlEwTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNc1EwRkJReXh0UWtGQmJVSXNSVUZETjBVc1EwRkJReXhEUVVGRExHbENRVUZwUWl4RFFVRkZMRU5CUVVNN1lVRkRka0k3V1VGRlJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVTmtPMmRDUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNaME5CUVdsRExIZEdRVUZ2UWl4RFFVRkZMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVWNzUjBGQlJ6dHpRa0ZEY0VZc2FVTkJRV2xETEVOQlFVVXNRMEZCUXp0aFFVTjJRenRSUVVOR0xFTkJRVU03UzBGQlFUdEpRVWRoTERKQ1FVRXlRaXhEUVVGRkxFTkJRU3RDTEVWQlFVVXNSMEZCWVRzN1dVRkZlRVlzU1VGQlNTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMREpDUVVFeVFpeERRVUZGTEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVVc1EwRkJRenRaUVVOc1JTeEpRVUZKTEZOQlFWTXNSVUZEWWp0blFrRkRReXhUUVVGVExFTkJRVU1zWjBKQlFXZENMRU5CUVVVc1EwRkJReXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETEcxQ1FVRnRRaXhGUVVOb1JpeERRVUZETEVOQlFVTXNhVUpCUVdsQ0xFTkJRVVVzUTBGQlF6dGhRVU4yUWp0WlFVVkVMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRMlE3WjBKQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3d5UTBGQk5FTXNkMFpCUVc5Q0xFTkJRVVVzUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUnl4SFFVRkhPM05DUVVNdlJpeHBRMEZCYVVNc1EwRkJSU3hEUVVGRE8yRkJRM1pETzFGQlEwWXNRMEZCUXp0TFFVRkJPMGxCUlUwc01FSkJRVEJDTEVOQlFVVXNUVUZCWXl4RlFVRkZMRk5CUVc5RE8xRkJSWFJHTEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUTBGQlJTeE5RVUZOTEVOQlFVVXNSMEZCUnl4VFFVRlRMRU5CUVVNN1VVRkRkRVFzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTJ4Q0xFTkJRVU03U1VGRlRTeHJRa0ZCYTBJc1EwRkJSU3hOUVVGakxFVkJRVVVzVjBGQmVVSXNSVUZCUlN4TFFVRmhMRVZCUVVVc1NVRkJXVHRSUVVWb1J5eEpRVUZKTEVOQlFVTXNSMEZEVER0WlFVTkRMRmRCUVZjN1dVRkRXQ3hUUVVGVExFVkJRVVVzUzBGQlN6dFpRVU5vUWl4SlFVRkpPMU5CUTBvc1EwRkJRenRSUVVWR0xFbEJRVWtzVjBGQlZ5eERRVUZETEZWQlFWVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUlVGQlJTeEZRVU0zUkR0WlFVTkRMRWxCUVVrc1IwRkJSeXhIUVVOUU8yZENRVU5ETEVsQlFVa3NSVUZCUlN4MVJVRkJWeXhEUVVGRExHTkJRV003WjBKQlEyaERMRTFCUVUwc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeDNSVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4aFFVRmhMRVZCUVVVc1JVRkJSU3hOUVVGTkxFVkJRVVU3WjBKQlEzaEdMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU03WVVGRGJFSTdXVUZGUkN3clJFRkJLMFE3V1VGREwwUXNPRUpCUVRoQ08xbEJRemxDTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeERRVUZETEVWQlFVVXNSMEZCUnl4RFFVRkZMRU5CUVVNN1UwRkRhRU03WVVGRlJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVVc2RVVkJRVmNzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXl4RFFVRkZMRU5CUVVNN1UwRkRiRVE3U1VGRFJpeERRVUZETzBsQlIyRXNaMEpCUVdkQ0xFTkJRVVVzUTBGQmIwSXNSVUZCUlN4SFFVRmhPenRaUVVWc1JTeEpRVUZKTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVVXNRMEZCUXl4RFFVRkRMRmRCUVZjc1EwRkJReXhOUVVGTkxFTkJRVVVzUTBGQlF6dFpRVU40UlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVOa08yZENRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc1owTkJRV2xETEVOQlFVTXNRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUeXhyUTBGQmEwTXNRMEZCUXp0aFFVTjBSenRwUWtGRlJEdG5Ra0ZEUXl4VFFVRlRMRU5CUVVVc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlF6dGhRVU0zUXp0UlFVTkdMRU5CUVVNN1MwRkJRVHRKUVVWaExHOUNRVUZ2UWl4RFFVRkZMRU5CUVhkQ08xRkJSVE5FTEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVVc05FSkJRVFpDTEhkR1FVRnZRaXhEUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVY3NSMEZCUnp0alFVTTNSU3hSUVVGVExFTkJRVU1zUTBGQlF5eFhRVUZaTEZWQlFWY3NRMEZCUXl4RFFVRkRMRXRCUVUwc1JVRkJSU3hEUVVGRkxFTkJRVU03U1VGRGJrUXNRMEZCUXp0SlFVVk5MRzlDUVVGdlFpeERRVUZGTEUxQlFXVXNSVUZCUlN4SlFVRlhMRVZCUTNoRUxFMUJRV3RDTEVWQlFVVXNUMEZCYTBJN1VVRkZkRU1zU1VGQlNTeE5RVUZOTEVsQlFVa3NiVVZCUVU4c1EwRkJReXhSUVVGUkxFVkJRemxDTzFsQlEwTXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJSU3cwUWtGQk5rSXNiVVZCUVU4c1EwRkJSU3hOUVVGTkxFTkJRVWNzYlVKQlFXMUNMRU5CUVVVc1EwRkJRenRUUVVOMFJqdFJRVVZFTEVsQlFVa3NUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF6dFJRVVZxUXl4SlFVRkpMRU5CUVVNc2MwSkJRWE5DTEVOQlFVVXNUVUZCVFN4RFFVRkZPMWxCUTNKRE8yZENRVU5ETEVsQlFVazdaMEpCUTBvc1RVRkJUVHRuUWtGRFRpeE5RVUZOTzJkQ1FVTk9MRTlCUVU4N1lVRkRVQ3hEUVVGRE8xRkJSVVlzVDBGQlR5eE5RVUZOTEVOQlFVTTdTVUZEWml4RFFVRkRPMGxCUlUwc01rSkJRVEpDTEVOQlFVVXNUVUZCWlN4RlFVRkZMRWxCUVZjc1JVRkRMMFFzVFVGQk5rTTdVVUZGTjBNc1NVRkJTU3hOUVVGTkxFbEJRVWtzYlVWQlFVOHNRMEZCUXl4UlFVRlJMRVZCUXpsQ08xbEJRME1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUlN4dFEwRkJiME1zYlVWQlFVOHNRMEZCUlN4TlFVRk5MRU5CUVVjc2JVSkJRVzFDTEVOQlFVVXNRMEZCUXp0VFFVTTNSanRSUVVWRUxFbEJRVWtzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRSUVVWcVF5eEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVVVzVFVGQlRTeERRVUZGTzFsQlEzSkRPMmRDUVVORExFbEJRVWs3WjBKQlEwb3NUVUZCVFR0blFrRkRUaXhOUVVGTk8yRkJRMDRzUTBGQlF6dFJRVVZHTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJZc1EwRkJRenRKUVVkTkxHbERRVUZwUXl4RFFVRkZMRWxCUVZjc1JVRkJSU3hOUVVGbExFVkJRVVVzU1VGQmNVSTdVVUZGTlVZc1NVRkJTU3hGUVVGRkxFZEJRVWNzUjBGQlJ5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEzWkRMRTlCUVU4c1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFVkJRVVVzUlVGQlJTeEZRVUZGTEVWQlFVVXNRMEZCUlN4RFFVRkRPMGxCUXpGRUxFTkJRVU03U1VGRlRTeHpRa0ZCYzBJc1EwRkJSU3hOUVVGak8xRkJSVFZETEU5QlFVOHNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZGTEUxQlFVMHNRMEZCUlN4RFFVRkRPMGxCUXpsRExFTkJRVU03U1VGRllTeHRRa0ZCYlVJc1EwRkJSU3hEUVVGMVFpeEZRVUZGTEVkQlFXRTdPMUZCUlhoRkxFbEJRVWtzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlJTeERRVUZETzFGQlF6VkRMRWxCUVVrc1VVRkJVU3hIUVVGSExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZETjBJc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlJTeFJRVUZSTEVWQlFVVXNVVUZCVVN4RFFVRkZMRVZCUTJoRE8xbEJRME1zTWtSQlFUSkVPMWxCUXpORUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFhRVUZYTEVOQlFVTTdXVUZGTTBNc1MwRkJTeXhKUVVGSkxFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFVkJRemxETzJkQ1FVTkRMRWxCUVVrc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1EwRkJSU3hOUVVGTkxFTkJRVVVzUTBGQlF6dG5Ra0ZEY2tRc1NVRkJTU3hSUVVGUkxFTkJRVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1VVRkJVU3hEUVVGRExFbEJRVWtzU1VGQlNTeHBSVUZCU3l4RFFVRkRMRTlCUVU4c1JVRkROMFE3YjBKQlEwTXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hKUVVGSkxHMUZRVUZQTEVOQlFVTXNVVUZCVVN4RlFVTjJRenQzUWtGRFF5eGpRVUZSTEVOQlFVTXNUVUZCVFN3clEwRkJaaXhSUVVGUkxFVkJRVmNzVVVGQlVTeERRVUZETEZGQlFWRXNSVUZCUnp0eFFrRkRka003ZVVKQlJVUTdkMEpCUTBNc1NVRkJTU3hUUVVGVExFZEJRVWNzZVVKQlFYbENMRU5CUVVVc1VVRkJVU3hEUVVGRExFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0M1FrRkRka1VzU1VGQlNTeFRRVUZUTEVkQlFVY3NlVUpCUVhsQ0xFTkJRVVVzVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4UlFVRlJMRU5CUVVVc1EwRkJRenQzUWtGRGRrVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1NVRkJTU3hUUVVGVExFbEJRVWtzVVVGQlVTeERRVUZETEUxQlFVMHNSVUZET1VNN05FSkJRME1zVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPM2xDUVVOc1FqczJRa0ZEU1N4SlFVRkpMRk5CUVZNc1NVRkJTU3hEUVVGRExGTkJRVk1zU1VGQlNTeFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVTndSRHMwUWtGRFF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNN2VVSkJRMjVDTzNGQ1FVTkVPMmxDUVVORU8yRkJRMFE3VTBGRFJEdEpRVU5HTEVOQlFVTTdTVUZGUkRzN096dFBRVWxITzBsQlEwa3NjVUpCUVhGQ0xFTkJRVVVzU1VGQlZ5eEZRVUZGTEUxQlFXVTdVVUZGZWtRc1NVRkJTU3hKUVVGSkxFbEJRVWtzVTBGQlV5eEpRVUZKTEVsQlFVa3NTVUZCU1N4cFJVRkJTeXhEUVVGRExFOUJRVThzUlVGRE9VTTdXVUZEUXl4UFFVRlBMSGxDUVVGNVFpeERRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRkxHbEZRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVVN2JVSkJRM1pGTEhsQ1FVRjVRaXhEUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkZMR2xGUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVVXNRMEZCUXp0VFFVTXhSVHRoUVVWRU8xbEJRME1zVDBGQlR5eDVRa0ZCZVVJc1EwRkJSU3hOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUlN4SlFVRkpMRU5CUVVVc1EwRkJSVHRUUVVOMFJUdEpRVU5HTEVOQlFVTTdTVUZGVHl4WlFVRlpMRU5CUVVVc1QwRkJiMEk3VVVGRmVrTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0UlFVTXZReXhKUVVGSkxFbEJRVWtzUjBGQlZTeEpRVUZKTEVOQlFVTTdVVUZEZGtJc1VVRkJVU3hUUVVGVExFVkJRMnBDTzFsQlEwTXNTMEZCU3l4VFFVRlRPMmRDUVVOaUxFbEJRVWtzU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4WlFVRlpMRU5CUVVVc1VVRkJVU3hEUVVGRkxFTkJRVU03WjBKQlF6VkRMRWxCUVVrc1NVRkJTU3hGUVVOU08yOUNRVU5ETEVsQlFVa3NUVUZCVFN4SFFVRkhMRkZCUVZFc1EwRkJSU3hKUVVGSkxFTkJRVVVzUTBGQlF6dHZRa0ZET1VJc1NVRkJTU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETzI5Q1FVTnFSQ3hKUVVGSkxGTkJRVk1zUlVGRFlqdDNRa0ZEUXl4SlFVRkpMRWRCUVVjc1UwRkJVeXhEUVVGRExHbENRVUZwUWl4RlFVRkZMRU5CUVVNN2QwSkJRM0pETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN2NVSkJRekZETzJsQ1FVTkVPMmRDUVVORUxFMUJRVTA3VTBGRFVEdFJRVVZFTEVsQlFVa3NVVUZCVVN4SFFVRmhMRVZCUVVVc1EwRkJRenRSUVVNMVFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRMmhFTzFsQlEwTXNTVUZCU1N4WlFVRlpMRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVVXNRMEZCUXl4RFFVRkZMRU5CUVVNN1dVRkRPVU1zU1VGQlNTeFpRVUZaTEZsQlFWa3NWMEZCVnl4RlFVTjJRenRuUWtGRFF5eEpRVUZKTEZkQlFWY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRkxGbEJRVEpDTEVOQlFVVXNRMEZCUXp0blFrRkRia1VzU1VGQlNTeFhRVUZYTEVsQlFVa3NWMEZCVnl4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFVkJRM3BETzI5Q1FVTkRMRkZCUVZFc1IwRkJSeXhSUVVGUkxFTkJRVU1zVFVGQlRTeERRVUZGTEZkQlFWY3NRMEZCUlN4RFFVRkRPMmxDUVVNeFF6dGhRVU5FTzFOQlEwUTdVVUZGUkN3MFFrRkJORUk3VVVGRE5VSXNTVUZCU1N4SlFVRkpMRVZCUTFJN1dVRkRReXcyUTBGQk5rTTdXVUZETjBNc1NVRkJTU3hSUVVGUkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZEZGtJN1owSkJRME1zU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4UlFVRlJMRU5CUVVNN1lVRkRla0k3V1VGRlJDeFBRVUZQTEVOQlFVVXNTVUZCU1N4RFFVRkZMRU5CUVVNN1UwRkRhRUk3WVVGRFNTeEpRVUZKTEZGQlFWRXNRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVNMVFqdFpRVU5ETEN0RFFVRXJRenRaUVVNdlF5eHpRMEZCYzBNN1dVRkRkRU1zVDBGQlR5eFJRVUZSTEVOQlFVTTdVMEZEYUVJN1lVRkZSRHRaUVVORExDdENRVUVyUWp0WlFVTXZRaXhQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5hTzBsQlEwWXNRMEZCUXp0SlFVVlpMR2RDUVVGblFqdFJRVVUxUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGRGNFSTdXVUZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHbEVRVUZwUkN4RFFVRkZMRU5CUVVNN1dVRkRha1VzVDBGQlR6dFRRVU5RTzFGQlJVUXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTXpRaXhKUVVGSkxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlF6dFJRVVZ1UkN4SlFVRkpMRWRCUVVjc1IwRkJkMElzUlVGQlJTeERRVUZETzFGQlEyeERMRWxCUVVrc1UwRkJVeXhKUVVGSkxGTkJRVk1zUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVTnlRenRaUVVORExFbEJRVWtzVTBGQlV5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRVZCUTNoQ08yZENRVU5ETEVkQlFVY3NRMEZCUXl4SlFVRkpPMjlDUVVOU08zZENRVU5ETEVsQlFVa3NSVUZCUlN4elJVRkJWU3hEUVVGRExGTkJRVk03ZDBKQlF6RkNMRVZCUVVVc1JVRkJSU3hEUVVGRE8zZENRVU5NTEV0QlFVc3NSVUZCUlN4elJVRkJWU3hEUVVGRExFOUJRVTg3ZDBKQlEzcENMRkZCUVZFc1JVRkJSU3hUUVVGVE8zRkNRVU51UWl4RFFVRkRPMkZCUTBZN2FVSkJSVVE3WjBKQlEwTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZEZUVJN1UwRkRSRHRSUVVWRUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkZMSFZGUVVGWExFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1IwRkJSeXhEUVVGRkxFTkJRVU03VVVGRmFrVXNTVUZCU1N4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlF6RkNPMWxCUTBNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVNdlFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUTNKQ08yZENRVU5ETEVsQlFVa3NWVUZCVlN4SFFVTmtPMjlDUVVORExGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNXVUZCV1R0dlFrRkROMElzZFVKQlFYVkNMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eGhRVUZoTEVWQlFVVTdhVUpCUTNoRU8yZENRVVZFTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1YwRkJWeXhEUVVGRkxIVkZRVUZYTEVOQlFVTXNZVUZCWVN4RlFVRkZMRlZCUVZVc1EwRkJSU3hEUVVGRE8yRkJRM0pGTzFOQlEwUTdVVUZEUkN4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXpkQ0xFTkJRVU03U1VGRlRTeFRRVUZUTzFGQlJXWXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRM0JDTzFsQlEwTXNjMFZCUVhORk8xbEJRM1JGTEdsRVFVRnBSRHRaUVVOcVJDeFBRVUZQTzFOQlExQTdVVUZGUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNTVUZCU1N4RFFVRkRMRVZCUTJoRE8xbEJRME1zU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhIUVVGSExFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVVXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEZRVUZGTEVOQlFVTXNRMEZCUlN4RFFVRkRPMU5CUTNoRk8wbEJRMFlzUTBGQlF6dEpRVVZOTEdWQlFXVXNRMEZCUlN4TlFVRnZRaXhGUVVGRkxGTkJRV2xDTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hSUVVGblFqdFJRVVZ1Unl4SlFVRkpMRWRCUVVjc1IwRkRVRHRaUVVORExFMUJRVTA3V1VGRFRpeFRRVUZUTzFsQlExUXNVMEZCVXp0WlFVTlVMRkZCUVZFN1UwRkRVanRSUVVORUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNWMEZCVnl4RFFVRkZMSFZGUVVGWExFTkJRVU1zVlVGQlZTeEZRVUZGTEVkQlFVY3NRMEZCUlN4RFFVRkRPMGxCUXpWRUxFTkJRVU03U1VGRlRTeFhRVUZYTEVOQlFVVXNSMEZCVnl4RlFVRkZMR2xDUVVGNVF6dFJRVWQ2UlN4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRkxFTkJRVVVzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUnl4RlFVRkZPMWxCUlhwRExFbEJRVWtzV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRaUVVOMlF5eEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVVVzV1VGQldTeERRVUZGTEVkQlFVY3NRMEZCUlN4UFFVRlBMRVZCUVVVc1RVRkJUU3hEUVVGRkxFTkJRVU03V1VGRmFrVXNTVUZCU1N4M1FrRkJkMElzUjBGQlJ5eEpRVUZKTEVOQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJSU3hwUWtGQmFVSXNRMEZCUlN4RFFVRkZMRU5CUVVNN1dVRkZNMFVzU1VGQlNTeFZRVUZWTEVkQlEyUTdaMEpCUTBNc1NVRkJTU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNTVUZCU1R0blFrRkRka0lzVlVGQlZTeEZRVUZGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1lVRkJZU3hGUVVGRk8yZENRVU16UXl4TlFVRk5MRVZCUVVVc1dVRkJXVHRoUVVOd1FqdFpRVU5FTEhORlFVRkZMRVZCUVVVc1EwRkJReXhYUVVGWExFTkJRMlk3WjBKQlEwTXNSMEZCUnp0blFrRkRTQ3hwUWtGQmFVSXNSVUZCUlN4M1FrRkJkMEk3WjBKQlF6TkRMRlZCUVZVN1lVRkRWaXhEUVVGRkxFTkJRVU03VVVGRFRpeERRVUZETEVOQlFVVXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZSQ3hKUVVGWExGRkJRVkU3VVVGRmJFSXNUMEZCVHl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkZMRGhGUVVGeFFpeERRVUZETEdGQlFXRXNRMEZCUlN4RFFVRkRPMGxCUXpORkxFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMGtzV1VGQldTeERRVUZGTEZGQlFXRTdVVUZGYWtNc1NVRkJTU3hIUVVGSExFZEJRMUE3V1VGRFF5eFJRVUZSTzFOQlExSTdVVUZGUkN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlJTeDFSVUZCVnl4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGSExFTkJRVVVzUTBGQlF6dEpRVU01UkN4RFFVRkRPMGxCUlVRN096dFBRVWRITzBsQlEwa3NiVUpCUVcxQ0xFTkJRVVVzVVVGQmJVTTdVVUZGT1VRc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4SFFVRkhMRkZCUVZFc1EwRkJRenRKUVVOMFF5eERRVUZETzBsQlJVUTdPMDlCUlVjN1NVRkRTU3gxUWtGQmRVSXNRMEZCUlN4RlFVRlZPMUZCUlhwRExFbEJRVWtzVDBGQlR5eEhRVUZITEZGQlFWRXNRMEZCUXl4alFVRmpMRU5CUVVVc1JVRkJSU3hEUVVGRkxFTkJRVU03VVVGRE5VTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkRXanRaUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNiMEpCUVc5Q0xFZEJRVWNzUlVGQlJTeERRVUZGTEVOQlFVTTdXVUZEZWtNc1QwRkJUeXhKUVVGSkxFTkJRVU03VTBGRFdqdFJRVVZFTEVsQlFVa3NUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFVkJRVVVzU1VGQlNTeFRRVUZUTEVWQlF5OURPMWxCUTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTdzJRa0ZCTmtJc1IwRkJSeXhGUVVGRkxFTkJRVVVzUTBGQlF6dFpRVU5zUkN4UFFVRlBMRWxCUVVrc1EwRkJRenRUUVVOYU8xRkJSVVFzU1VGQlNTeEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRmxCUVZrc1EwRkJSU3hSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVU0xUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hGUVVOVU8xbEJRME1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN4cFEwRkJhVU1zUjBGQlJ5eEZRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTjBSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dFRRVU5hTzFGQlJVUXNTVUZCU1N4TlFVRk5MRWRCUVVjc1VVRkJVU3hEUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzFGQlF6bENMRTlCUVU4N1dVRkRUaXhKUVVGSkxFVkJRVVVzZDBWQlFWa3NRMEZCUXl4SlFVRkpPMWxCUTNaQ0xGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RlFVRkZPMWxCUTJoRExFMUJRVTBzUlVGQlJTeE5RVUZOTzFOQlEyUTdTVUZEUml4RFFVRkRPMGxCUlVRc0swVkJRU3RGTzBsQlEzaEZMSE5DUVVGelFpeERRVUZGTEVsQlFXbENMRVZCUVVVc1QwRkJkVUk3VVVGRmVFVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhsUVVGbExFTkJRVVVzU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUlN4RFFVRkRPMGxCUTJ4RUxFTkJRVU03U1VGRlJDdzJSa0ZCTmtZN1NVRkRkRVlzTWtKQlFUSkNMRU5CUVVVc1NVRkJhVUlzUlVGQlJTeFBRVUUwUWp0UlFVVnNSaXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEc5Q1FVRnZRaXhEUVVGRkxFbEJRVWtzUlVGQlJTeFBRVUZQTEVOQlFVVXNRMEZCUXp0SlFVTjJSQ3hEUVVGRE8wbEJSVVFzTUVWQlFUQkZPMGxCUTI1RkxGZEJRVmNzUTBGQlJTeEpRVUZwUWl4RlFVRkZMRTlCUVdVc1JVRkJSU3hYUVVGdlFqdFJRVVV6UlN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUTBGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRmRCUVZjc1EwRkJSU3hEUVVGRE8wbEJRek5FTEVOQlFVTTdTVUZGUkRzN1QwRkZSenRKUVVOSkxEWkNRVUUyUWl4RFFVRkxMRWxCUVdsQ0xFVkJRVVVzUjBGQlVTeEZRVUZGTEZsQlFYbENPMUZCUnpsR0xFOUJRVThzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl3MlFrRkJOa0lzUTBGQlN5eEpRVUZKTEVWQlFVVXNSMEZCUnl4RlFVRkZMRmxCUVZrc1EwRkJSU3hEUVVGRE8wbEJRM0JHTEVOQlFVTTdPMEZCTjNSQ1l5eHRRa0ZCVlN4SFFVRlpMRWxCUVVrc1EwRkJRenRCUVhkRWNFTTdTVUZCVEN4eFJFRkJTVHM0UTBGalNqdEJRVVZMTzBsQlFVd3NjVVJCUVVrN2JVUkJTVW83UVVGRlN6dEpRVUZNTEhGRVFVRkpPemhEUVN0Q1NqdEJRU3RIU3p0SlFVRk1MSEZFUVVGSk95dERRV0ZLTzBGQmVVSkVPMGxCUkVNc2NVUkJRVWs3YTBSQlpVbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk8yZEVRV1ZLTzBGQlIwUTdTVUZFUXl4eFJFRkJTVHQzUkVGbFNqdEJRVWRFTzBsQlJFTXNjVVJCUVVrN01rUkJaVW83UVVGeFEwUTdTVUZFUXl4eFJFRkJTVHRuUkVGWlNqdEJRVVZMTzBsQlFVd3NjVVJCUVVrN2IwUkJTVW83UVVGMVJFczdTVUZCVEN4eFJFRkJTVHR0UkVGclEwbzdRVUVyUlVzN1NVRkJUQ3h4UkVGQlNUdG5SRUVyUTBvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmWjJGa1oyVjBMblJ6ZUM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRUZoY21SMllYSnJUV0Z1YVdabGMzUXNJRUYyTENCQmRrRmpkR2x2YmxOMFlYUmxMQ0JCZGtsdWRHVnlabUZqWlVWMlpXNTBVSEp2WTJWemMyOXlMQ0JCZGs1dlpHVXNJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dRWFpPYjJSbFZIbHdaU3dnUVhaVGRHRnlkRWRoWkdkbGRGSmxjM1ZzZEN3Z1JVRmpkR2x2Yml3Z1JVaGhibVFzSUVWdVpIQnZhVzUwUVdSa2Npd2daVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNzSUVWdVpIQnZhVzUwVkhsd1pTd2dSVTV2WkdWR2JHRm5jeXdnUlc1MlpXeHZjR1VzSUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOckxDQnBiblJsY21aaFkyVlRkSEpwYm1kR2NtOXRUWE5uTENCTlpYTnpZV2RsVkhsd1pTd2dUWE5uUjJGa1oyVjBVM1JoY25SbFpDd2dUWE5uUjJWMFNXNXpkR0ZzYkdWa1IyRmtaMlYwY3l3Z1RYTm5SMlYwU1c1emRHRnNiR1ZrUjJGa1oyVjBjMUpsYzNCdmJuTmxMQ0JOYzJkSmJuUmxjbVpoWTJWRmJtUmxaQ3dnVFhOblNXNTBaWEptWVdObFJYWmxiblFzSUUxelowbHVkR1Z5Wm1GalpWSmxZMlZwZG1WRmRtVnVkQ3dnVFhOblNXNTBaWEptWVdObFUzUmhjblJsWkN3Z1RYTm5TVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDd2dUWE5uVG05a1pVaGhjSFJwWXl3Z1RYTm5VbVZ6YjNWeVkyVk1iMkZrUm1GcGJHVmtMQ0JOYzJkVFlYWmxVMlYwZEdsdVozTXNJRTF6WjFWd1pHRjBaVUZqZEdsdmJsTjBZWFJsTENCTmMyZFZjR1JoZEdWVFkyVnVaVWR5WVhCb0xDQnpkSEpwYm1kVWIwVnVaSEJ2YVc1MFFXUmtjaXdnUVhaV1pXTjBiM0lnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibWx0Y0c5eWRDQXFJR0Z6SUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2NseHVhVzF3YjNKMElIc2dTVUYyUW1GelpVNXZaR1VnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJKaGMyVmZibTlrWlNjN1hISmNibWx0Y0c5eWRDQjdJRUZ6ZVc1alRXVnpjMkZuWlVoaGJtUnNaWElzSUUxbGMzTmhaMlZJWVc1a2JHVnlJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlsYm1Sd2IybHVkQ2M3WEhKY2JtbHRjRzl5ZENCN0lGSmxiVzkwWlVkaFpHZGxkRU52YlhCdmJtVnVkQ0I5SUdaeWIyMGdKeTR2WTI5dGNHOXVaVzUwWDNKbGJXOTBaVjluWVdSblpYUW5PMXh5WEc1cGJYQnZjblFnZXlCRFIyRmtaMlYwUlc1a2NHOXBiblFnZlNCbWNtOXRJQ2N1TDJkaFpHZGxkRjlsYm1Sd2IybHVkQ2M3WEhKY2JseHlYRzVqYjI1emRDQmxjWFZoYkNBOUlISmxjWFZwY21Vb0lDZG1ZWE4wTFdSbFpYQXRaWEYxWVd3bklDazdYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUVhaSmJuUmxjbVpoWTJWRmJuUnBkSGxRY205alpYTnpiM0pjY2x4dWUxeHlYRzVjZEhOMFlYSjBaV1FvSUhOMFlYSjBUWE5uT2lCTmMyZEpiblJsY21aaFkyVlRkR0Z5ZEdWa0lDazZJSFp2YVdRN1hISmNibHgwWlc1a1pXUW9JSFJ5WVc1emJXbDBkR1Z5T2lCRmJtUndiMmx1ZEVGa1pISXNJSEpsWTJWcGRtVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHbG1ZV05sT2lCemRISnBibWNzSUZ4eVhHNWNkRngwZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUS9PaUJCZGxabFkzUnZjaUFwT2lCMmIybGtPMXh5WEc1Y2RHVjJaVzUwS0NCa1pYTjBhVzVoZEdsdmJqb2dSVzVrY0c5cGJuUkJaR1J5TENCd1pXVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHbG1ZV05sT2lCemRISnBibWNzSUdSaGRHRTZJRzlpYW1WamRDd2dYSEpjYmx4MFhIUmtaWE4wYVc1aGRHbHZia1p5YjIxUVpXVnlPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMHNJR2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBQem9nUVhaV1pXTjBiM0lnS1RvZ2RtOXBaRHRjY2x4dVhIUjBjbUZ1YzJadmNtMVZjR1JoZEdWa0tDQmtaWE4wYVc1aGRHbHZiam9nUlc1a2NHOXBiblJCWkdSeUxDQndaV1Z5T2lCRmJtUndiMmx1ZEVGa1pISXNJR2xtWVdObE9pQnpkSEpwYm1jc0lGeHlYRzVjZEZ4MFpHVnpkR2x1WVhScGIyNUdjbTl0VUdWbGNqb2dRWFpPYjJSbFZISmhibk5tYjNKdExDQnBiblJsY25ObFkzUnBiMjVRYjJsdWREODZJRUYyVm1WamRHOXlJQ2s2SUhadmFXUTdYSEpjYm4xY2NseHVYSEpjYmx4eVhHNW1kVzVqZEdsdmJpQndZWEp6WlZWU1RDaDFjbXc2SUhOMGNtbHVaeWtnWEhKY2JudGNjbHh1SUNBZ0lIWmhjaUJ3WVhKelpYSWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDZGhKeWtzWEhKY2JpQWdJQ0FnSUNBZ2MyVmhjbU5vVDJKcVpXTjBPaUI3V3lCclpYazZJSE4wY21sdVp5QmRPaUJ6ZEhKcGJtY2dmU0E5SUh0OUxGeHlYRzRnSUNBZ0lDQWdJSEYxWlhKcFpYTXNJSE53YkdsMExDQnBPMXh5WEc1Y2NseHVYSFF2THlCTVpYUWdkR2hsSUdKeWIzZHpaWElnWkc4Z2RHaGxJSGR2Y210Y2NseHVYSFJ3WVhKelpYSXVhSEpsWmlBOUlIVnliRHRjY2x4dVhIUmNjbHh1SUNBZ0lDOHZJRU52Ym5abGNuUWdjWFZsY25rZ2MzUnlhVzVuSUhSdklHOWlhbVZqZEZ4eVhHNGdJQ0FnY1hWbGNtbGxjeUE5SUhCaGNuTmxjaTV6WldGeVkyZ3VjbVZ3YkdGalpTZ3ZYbHhjUHk4c0lDY25LUzV6Y0d4cGRDZ25KaWNwTzF4eVhHNGdJQ0FnWm05eUtDQnBJRDBnTURzZ2FTQThJSEYxWlhKcFpYTXViR1Z1WjNSb095QnBLeXNnS1NCN1hISmNiaUFnSUNBZ0lDQWdjM0JzYVhRZ1BTQnhkV1Z5YVdWelcybGRMbk53YkdsMEtDYzlKeWs3WEhKY2JpQWdJQ0FnSUNBZ2MyVmhjbU5vVDJKcVpXTjBXM053YkdsMFd6QmRYU0E5SUhOd2JHbDBXekZkTzF4eVhHNWNkSDFjY2x4dVhIUmNjbHh1WEhSeVpYUjFjbTRnYzJWaGNtTm9UMkpxWldOME8xeHlYRzU5WEhKY2JseHlYRzVtZFc1amRHbHZiaUJuWlhSQ2IyOXNaV0Z1UVdOMGFXOXVSbkp2YlZOMFlYUmxLQ0JoWTNScGIyNDZJRVZCWTNScGIyNHNJSE4wWVhSbE9pQkJka0ZqZEdsdmJsTjBZWFJsS1RvZ1ltOXZiR1ZoYmx4eVhHNTdYSEpjYmx4MGFXWW9JQ0Z6ZEdGMFpTQXBYSEpjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEhKY2JseHlYRzVjZEhOM2FYUmphQ2dnWVdOMGFXOXVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUmpZWE5sSUVWQlkzUnBiMjR1UVRvZ2NtVjBkWEp1SUhOMFlYUmxMbUU3WEhKY2JseDBYSFJqWVhObElFVkJZM1JwYjI0dVFqb2djbVYwZFhKdUlITjBZWFJsTG1JN1hISmNibHgwWEhSallYTmxJRVZCWTNScGIyNHVSM0poWWpvZ2NtVjBkWEp1SUhOMFlYUmxMbWR5WVdJN1hISmNibHgwWEhSallYTmxJRVZCWTNScGIyNHVSM0poWWxOb2IzZFNZWGs2SUhKbGRIVnliaUJ6ZEdGMFpTNW5jbUZpVTJodmQxSmhlVHRjY2x4dVhIUmNkR05oYzJVZ1JVRmpkR2x2Ymk1VGNYVmxaWHBsT2lCeVpYUjFjbTRnYzNSaGRHVXVjM0YxWldWNlpUdGNjbHh1WEhSY2RHTmhjMlVnUlVGamRHbHZiaTVFWlhSaFkyZzZJSEpsZEhWeWJpQnpkR0YwWlM1a1pYUmhZMmc3WEhKY2JseDBYSFJrWldaaGRXeDBPaUJ5WlhSMWNtNGdabUZzYzJVN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNWNjbHh1YVc1MFpYSm1ZV05sSUVGamRHbHZibE4wWVhSbFRHbHpkR1Z1WlhKY2NseHVlMXh5WEc1Y2RHaGhibVE2SUVWSVlXNWtPMXh5WEc1Y2RHRmpkR2x2YmpvZ1JVRmpkR2x2Ymp0Y2NseHVYSFJ5YVhOcGJtYy9PaUFvS1NBOVBpQjJiMmxrTzF4eVhHNWNkR1poYkd4cGJtYy9PaUFvS1NBOVBpQjJiMmxrTzF4eVhHNWNkSFZ3WkdGMFpUODZJQ2dnYm1WM1ZtRnNkV1U2SUZzZ2JuVnRZbVZ5TENCdWRXMWlaWElnWFNBcElEMCtJSFp2YVdRN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQkhaWFJIWVdSblpYUlZjbXhHY205dFYybHVaRzkzS0NsY2NseHVlMXh5WEc1Y2RISmxkSFZ5YmlCM2FXNWtiM2N1Ykc5allYUnBiMjR1YjNKcFoybHVYSEpjYmx4MFhIUXJJSGRwYm1SdmR5NXNiMk5oZEdsdmJpNXdZWFJvYm1GdFpTNXpiR2xqWlNnZ01Dd2dkMmx1Wkc5M0xteHZZMkYwYVc5dUxuQmhkR2h1WVcxbExteGhjM1JKYm1SbGVFOW1LQ0JjSWk5Y0lpQXBJQ2s3WEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJVYUdVZ2MybHVaMnhsZEc5dUlHZGhaR2RsZENCdlltcGxZM1FnWm05eUlIUm9aU0JpY205M2MyVnlMaUFxTDF4eVhHNWxlSEJ2Y25RZ1kyeGhjM01nUVhaSFlXUm5aWFJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnYzNSaGRHbGpJSE5mYVc1emRHRnVZMlU2UVhaSFlXUm5aWFFnUFNCdWRXeHNPMXh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzFmYjI1VFpYUjBhVzVuYzFKbFkyVnBkbVZrT2lnZ2MyVjBkR2x1WjNNNklHRnVlU0FwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzFmYm1WNGRFNXZaR1ZKWkNBOUlERTdYSEpjYmx4MGNISnBkbUYwWlNCdFgzSmxaMmx6ZEdWeVpXUk9iMlJsY3pvZ2UxdHViMlJsU1dRNmJuVnRZbVZ5WFRwSlFYWkNZWE5sVG05a1pTQjlJRDBnZTMwN1hISmNibHgwY0hKcGRtRjBaU0J0WDI1bGVIUkdjbUZ0WlZKbGNYVmxjM1E2SUc1MWJXSmxjaUE5SURBN1hISmNibHgwY0hKcGRtRjBaU0J0WDNSeVlYWmxjbk5sWkU1dlpHVnpPaUI3VzI1dlpHVkpaRHB1ZFcxaVpYSmRPa2xCZGtKaGMyVk9iMlJsSUgwZ1BTQjdmVHRjY2x4dVhIUndjbWwyWVhSbElHMWZaVzVrY0c5cGJuUTZJRU5IWVdSblpYUkZibVJ3YjJsdWRDQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J0WDIxaGJtbG1aWE4wT2lCQllYSmtkbUZ5YTAxaGJtbG1aWE4wSUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHMWZZV04wZFdGc1IyRmtaMlYwVlhKcE9pQnpkSEpwYm1jZ1BTQnVkV3hzTzF4eVhHNWNkSEJ5YVhaaGRHVWdiVjloWTNScGIyNVRkR0YwWlRvZ2V5QmJhR0Z1WkRwdWRXMWlaWEpkT2lCQmRrRmpkR2x2YmxOMFlYUmxJSDBnUFNCN2ZUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZlpYQlViMDV2ZEdsbWVUb2dSVzVrY0c5cGJuUkJaR1J5SUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHMWZabWx5YzNSVFkyVnVaVWR5WVhCb09pQmliMjlzWldGdUlEMGdkSEoxWlR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmYVc1cGRHbGhiRWx1ZEdWeVptRmpaWE02SUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOclcxMGdQU0JiWFR0Y2NseHVYSFJ3Y21sMllYUmxJRzFmWlc1a2NHOXBiblJQY0dWdVpXUTZJR0p2YjJ4bFlXNGdQU0JtWVd4elpUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZllXTjBhWFpsVjJGcGRFWnZja052Ym01bFkzUlNaV3BsWTNRNklDaHlaV0Z6YjI0NklHRnVlU2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdFgyRmpkR2wyWlZkaGFYUkdiM0pEYjI1dVpXTjBVbVZ6YjJ4MlpUb2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdiVjlwYm5SbGNtWmhZMlZGZG1WdWRGQnliMk5sYzNOdmNuTTZJSHRiYm05a1pVbGtPaUJ1ZFcxaVpYSmRPaUJCZGtsdWRHVnlabUZqWlVWMlpXNTBVSEp2WTJWemMyOXlJSDBnUFNCN2ZWeHlYRzVjZEhCeWFYWmhkR1VnYlY5cGJuUmxjbVpoWTJWRmJuUnBkSGxRY205alpYTnpiM0p6SUQwZ2JtVjNJRTFoY0R4dWRXMWlaWElzSUVGMlNXNTBaWEptWVdObFJXNTBhWFI1VUhKdlkyVnpjMjl5UGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnYlY5emRHRnlkRWRoWkdkbGRGQnliMjFwYzJWek9pQjdXMjV2WkdWSlpEcHVkVzFpWlhKZE9pQmNjbHh1WEhSY2RGc2dLQ0J5WlhNNklFRjJVM1JoY25SSFlXUm5aWFJTWlhOMWJIUWdLU0E5UGlCMmIybGtMQ0FvSUhKbFlYTnZiam9nWVc1NUlDa2dQVDRnZG05cFpDQmRJSDBnUFNCN2ZUdGNjbHh1WEhSd2NtbDJZWFJsSUcxZllXTjBhVzl1VTNSaGRHVk1hWE4wWlc1bGNuTTZJSHNnVzJ4cGMzUmxibVZ5U1dRNklHNTFiV0psY2wwZ09pQkJZM1JwYjI1VGRHRjBaVXhwYzNSbGJtVnlJSDBnUFNCN2ZUdGNjbHh1WEhKY2JseDBZMjl1YzNSeWRXTjBiM0lvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWJWOWhZM1IxWVd4SFlXUm5aWFJWY21rZ1BTQkhaWFJIWVdSblpYUlZjbXhHY205dFYybHVaRzkzS0NrN1hISmNibHgwWEhSc1pYUWdjR0Z5WVcxeklEMGdjR0Z5YzJWVlVrd29JSGRwYm1SdmR5NXNiMk5oZEdsdmJpNW9jbVZtSUNrN1hISmNibHh5WEc1Y2RGeDBkSEo1WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQndZWEpoYlhOYklGd2lhVzVwZEdsaGJFbHVkR1Z5Wm1GalpYTmNJaUJkSUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWJWOXBibWwwYVdGc1NXNTBaWEptWVdObGN5QTlJRXBUVDA0dWNHRnljMlVvSUdGMGIySW9JSEJoY21GdGMxc2dYQ0pwYm1sMGFXRnNTVzUwWlhKbVlXTmxjMXdpSUYwZ0tTQXBPMXh5WEc1Y2RGeDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJbWx1YVhScFlXeEpiblJsY21aaFkyVnpYQ0lzSUhSb2FYTXViVjlwYm1sMGFXRnNTVzUwWlhKbVlXTmxjeUFwTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSOVhISmNibHgwWEhSallYUmphQ2dnWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnWm1GcGJHVmtJSFJ2SUhCaGNuTmxJR2x1YVhScFlXd2dhVzUwWlhKbVlXTmxjeUFrZXlCbElIMWdJQ2s3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGFXWW9JSEJoY21GdGMxc2dYQ0psY0ZSdlRtOTBhV1o1WENKZElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1dFgyVndWRzlPYjNScFpua2dQU0J6ZEhKcGJtZFViMFZ1WkhCdmFXNTBRV1JrY2lnZ2NHRnlZVzF6V3lCY0ltVndWRzlPYjNScFpubGNJbDBnS1R0Y2NseHVYSFJjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpVkdocGN5Qm5ZV1JuWlhRZ2QyRnVkSE1nZEc4Z2JtOTBhV1o1SUZ3aUlDc2daVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvZEdocGN5NXRYMlZ3Vkc5T2IzUnBabmtnS1NBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkSFJvYVhNdWJWOWxibVJ3YjJsdWRDQTlJRzVsZHlCRFIyRmtaMlYwUlc1a2NHOXBiblFvSUhSb2FYTXViVjloWTNSMVlXeEhZV1JuWlhSVmNta3NJSFJvYVhNdWIyNUZibVJ3YjJsdWRFOXdaVzRnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEM4cUtpQlNaWFIxY201eklHRWdjSEp2YldselpTQjBhR0YwSUhKbGMyOXNkbVZ6SUhkb1pXNGdkR2hsSUdsdWFYUnBZV3dnWlc1a2NHOXBiblFnYUdGdVpITm9ZV3RsSUdseklHTnZiWEJzWlhSbFhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FIQjFZbXhwWTF4eVhHNWNkQ0FxTDF4eVhHNWNkRUJpYVc1a0lIQjFZbXhwWXlCM1lXbDBSbTl5UTI5dWJtVmpkQ2dwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUhSb2FYTXViVjloWTNScGRtVlhZV2wwUm05eVEyOXVibVZqZEZKbGFtVmpkQ0FwSUh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV0WDJGamRHbDJaVmRoYVhSR2IzSkRiMjV1WldOMFVtVnFaV04wS0Z3aVFXNXZkR2hsY2lCallXeHNaWElnY21WbmFYTjBaWEpsWkNCaElIQnliMjFwYzJWY0lpazdYSEpjYmx4MFhIUmNkSFJvYVhNdVkyeGxZWEpYWVdsMFJtOXlRMjl1Ym1WamRDZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnZ0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ1BUNGdYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2xtSUNnZ2RHaHBjeTV0WDJWdVpIQnZhVzUwVDNCbGJtVmtJQ2tnY21WemIyeDJaU2dwTzF4eVhHNWNjbHh1WEhSY2RGeDBkR2hwY3k1dFgyRmpkR2wyWlZkaGFYUkdiM0pEYjI1dVpXTjBVbVZxWldOMElEMGdjbVZxWldOMFhISmNibHgwWEhSY2RIUm9hWE11YlY5aFkzUnBkbVZYWVdsMFJtOXlRMjl1Ym1WamRGSmxjMjlzZG1VZ1BTQnlaWE52YkhabFhISmNibHgwWEhSOUtUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrSUhCeWFYWmhkR1VnWTJ4bFlYSlhZV2wwUm05eVEyOXVibVZqZENncFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMkZqZEdsMlpWZGhhWFJHYjNKRGIyNXVaV04wVW1WcVpXTjBJRDBnYm5Wc2JEdGNjbHh1WEhSY2RIUm9hWE11YlY5aFkzUnBkbVZYWVdsMFJtOXlRMjl1Ym1WamRGSmxjMjlzZG1VZ1BTQnVkV3hzTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUWdjSFZpYkdsaklHOXVSVzVrY0c5cGJuUlBjR1Z1S0NCelpYUjBhVzVuY3pvZ1lXNTVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG0xZlpXNWtjRzlwYm5RdVoyVjBSMkZrWjJWMFRXRnVhV1psYzNRb0lIUm9hWE11YlY5aFkzUjFZV3hIWVdSblpYUlZjbWtnS1Z4eVhHNWNkRngwTG5Sb1pXNG9JQ2dnYldGdWFXWmxjM1E2SUVGaGNtUjJZWEpyVFdGdWFXWmxjM1FnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmJXRnVhV1psYzNRZ1BTQnRZVzVwWm1WemREdGNjbHh1WEhSY2RGeDBkR2hwY3k1dFlYSnJSR2x5ZEhrb0tUdGNjbHh1WEhSY2RIMHBPMXh5WEc1Y2NseHVYSFJjZEhSb2FYTXViVjlsYm1Sd2IybHVkQzV5WldkcGMzUmxja2hoYm1Sc1pYSW9JRTFsYzNOaFoyVlVlWEJsTGtkaFpHZGxkRk4wWVhKMFpXUXNJSFJvYVhNdWIyNUhZV1JuWlhSVGRHRnlkR1ZrSUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblF1Y21WbmFYTjBaWEpJWVc1a2JHVnlLQ0JOWlhOellXZGxWSGx3WlM1VmNHUmhkR1ZCWTNScGIyNVRkR0YwWlN3Z2RHaHBjeTV2YmxWd1pHRjBaVUZqZEdsdmJsTjBZWFJsSUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblF1Y21WbmFYTjBaWEpJWVc1a2JHVnlLQ0JOWlhOellXZGxWSGx3WlM1U1pYTnZkWEpqWlV4dllXUkdZV2xzWldRc0lIUm9hWE11YjI1U1pYTnZkWEpqWlV4dllXUkdZV2xzWldRZ0tUdGNjbHh1WEhSY2RIUm9hWE11YlY5bGJtUndiMmx1ZEM1eVpXZHBjM1JsY2tGemVXNWpTR0Z1Wkd4bGNpZ2dUV1Z6YzJGblpWUjVjR1V1U1c1MFpYSm1ZV05sUlhabGJuUXNJSFJvYVhNdWIyNUpiblJsY21aaFkyVkZkbVZ1ZENBcE8xeHlYRzVjZEZ4MGRHaHBjeTV0WDJWdVpIQnZhVzUwTG5KbFoybHpkR1Z5UVhONWJtTklZVzVrYkdWeUtDQk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZUZEdGeWRHVmtMQ0IwYUdsekxtOXVTVzUwWlhKbVlXTmxVM1JoY25SbFpDQXBPMXh5WEc1Y2RGeDBkR2hwY3k1dFgyVnVaSEJ2YVc1MExuSmxaMmx6ZEdWeVFYTjVibU5JWVc1a2JHVnlLQ0JOWlhOellXZGxWSGx3WlM1SmJuUmxjbVpoWTJWRmJtUmxaQ3dnZEdocGN5NXZia2x1ZEdWeVptRmpaVVZ1WkdWa0lDazdYSEpjYmx4MFhIUjBhR2x6TG0xZlpXNWtjRzlwYm5RdWNtVm5hWE4wWlhKQmMzbHVZMGhoYm1Sc1pYSW9JRTFsYzNOaFoyVlVlWEJsTGtsdWRHVnlabUZqWlZKbFkyVnBkbVZGZG1WdWRDd2dYSEpjYmx4MFhIUmNkSFJvYVhNdWIyNUpiblJsY21aaFkyVlNaV05sYVhabFpFVjJaVzUwSUNrN1hISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblF1Y21WbmFYTjBaWEpCYzNsdVkwaGhibVJzWlhJb0lFMWxjM05oWjJWVWVYQmxMa2x1ZEdWeVptRmpaVlJ5WVc1elptOXliVlZ3WkdGMFpXUXNJRnh5WEc1Y2RGeDBYSFIwYUdsekxtOXVTVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDQXBPMXh5WEc1Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG0xZmIyNVRaWFIwYVc1bmMxSmxZMlZwZG1Wa0lDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1dFgyOXVVMlYwZEdsdVozTlNaV05sYVhabFpDZ2djMlYwZEdsdVozTWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSMGFHbHpMbTFmWlc1a2NHOXBiblJQY0dWdVpXUWdQU0IwY25WbE8xeHlYRzVjZEZ4MGFXWWdLQ0IwYUdsekxtMWZZV04wYVhabFYyRnBkRVp2Y2tOdmJtNWxZM1JTWlhOdmJIWmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdocGN5NXRYMkZqZEdsMlpWZGhhWFJHYjNKRGIyNXVaV04wVW1WemIyeDJaU2dwTzF4eVhHNWNkRngwWEhSMGFHbHpMbU5zWldGeVYyRnBkRVp2Y2tOdmJtNWxZM1FvS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEM4cUtpQlNaWFIxY201eklIUm9aU0JCZGtkaFpHZGxkQ0J6YVc1bmJHVjBiMjR1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUhCMVlteHBZMXh5WEc1Y2RDQXFMMXh5WEc1Y2RIQjFZbXhwWXlCemRHRjBhV01nYVc1emRHRnVZMlVvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaFFYWkhZV1JuWlhRdWMxOXBibk4wWVc1alpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRUYyUjJGa1oyVjBMbk5mYVc1emRHRnVZMlVnUFNCdVpYY2dRWFpIWVdSblpYUW9LVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkSEpsZEhWeWJpQkJka2RoWkdkbGRDNXpYMmx1YzNSaGJtTmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBMeW9xSUZKbGRIVnlibk1nZEdobElHNWhiV1VnYjJZZ2RHaGxJR2RoWkdkbGRDNGdYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRSEIxWW14cFkxeHlYRzVjZENvdlhISmNibHgwY0hWaWJHbGpJR2RsZEU1aGJXVW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxtMWZiV0Z1YVdabGMzUWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdkR2hwY3k1dFgyMWhibWxtWlhOMExtNWhiV1U3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RISmxkSFZ5YmlCMGFHbHpMbTFmWVdOMGRXRnNSMkZrWjJWMFZYSnBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RIMWNjbHh1WEhKY2JseDBMeW9xSUZKbGRIVnlibk1nZEdobElHZGhaR2RsZENkeklHMWhibWxtWlhOMElDb3ZYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnRZVzVwWm1WemRDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXViVjl0WVc1cFptVnpkRHRjY2x4dVhIUjlYSEpjYmx4MFhISmNibHgwTHlvcUlGSmxkSFZ5Ym5NZ2RHaGxJRlZTVENCdlppQjBhR1VnWjJGa1oyVjBMaUFxTDF4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZFhKc0tDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NXRYMkZqZEhWaGJFZGhaR2RsZEZWeWFUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2FXNXBkR2xoYkNCd1lYSmxiblFnY21WeGRXVnpkR1ZrSUdKNUlIZG9iMjFsZG1WeUlITjBZWEowWldRZ2RHaHBjeUJuWVdSblpYUXVJQ292WEhKY2JseDBjSFZpYkdsaklHZGxkQ0JwYm1sMGFXRnNTVzUwWlhKbVlXTmxjeWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11YlY5cGJtbDBhV0ZzU1c1MFpYSm1ZV05sY3p0Y2NseHVYSFI5WEhKY2JseDBYSEpjYmx4MEx5b3FJRkpsZEhWeWJuTWdZU0J6Y0dWamFXWnBZeUJwYm1sMGFXRnNJR2x1ZEdWeVptRmpaU0JzYjJOcklHbG1JR2wwSUdWNGFYTjBjeTRnS2k5Y2NseHVYSFJ3ZFdKc2FXTWdabWx1WkVsdWFYUnBZV3hKYm5SbGNtWmhZMlVvSUdsdWRHVm1ZV05sVG1GdFpUb2djM1J5YVc1bklDazZJRWx1YVhScFlXeEpiblJsY21aaFkyVk1iMk5yWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11YlY5cGJtbDBhV0ZzU1c1MFpYSm1ZV05sY3k1bWFXNWtLQ0FvSUd4dlkyc2dLVDArSUd4dlkyc3VhV1poWTJVZ1BUMGdhVzUwWldaaFkyVk9ZVzFsSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhKY2JseDBMeW9xSUV4dllXUnpJR0VnWjJGa1oyVjBJRzFoYm1sbVpYTjBJR0o1SUdkaFpHZGxkQ0JWVWtrdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FISmxkSFZ5Ym5NZ1lTQndjbTl0YVhObElIUm9ZWFFnZDJsc2JDQnlaWE52YkhabElIUnZJSFJvWlNCemNHVmphV1pwWldRZ1oyRmtaMlYwSjNNZ2JXRnVhV1psYzNSY2NseHVYSFFnS2lCQWNIVmliR2xqWEhKY2JseDBJQ292WEhKY2JseDBjSFZpYkdsaklHeHZZV1JOWVc1cFptVnpkQ2dnWjJGa1oyVjBWWEpwT2lCemRISnBibWNnS1NBNklGQnliMjFwYzJVOFFXRnlaSFpoY210TllXNXBabVZ6ZEQ1Y2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1dFgyVnVaSEJ2YVc1MExtZGxkRWRoWkdkbGRFMWhibWxtWlhOMEtDQm5ZV1JuWlhSVmNta2dLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCU1pYUjFjbTV6SUdFZ2JHbHpkQ0J2WmlCaGJHd2dkR2hsSUdsdWMzUmhiR3hsWkNCbllXUm5aWFFuY3lCVlVrbHpMaUJjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBY0hWaWJHbGpYSEpjYmx4MEtpOWNjbHh1WEhSd2RXSnNhV01nWjJWMFNXNXpkR0ZzYkdWa1IyRmtaMlYwY3lncE9pQlFjbTl0YVhObFBDQnpkSEpwYm1kYlhTQStYSEpjYmx4MGUxeHlYRzVjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpVW1WeGRXVnpkR2x1WnlCcGJuTjBZV3hzWldRZ1oyRmtaMlYwYzF3aUlDazdYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sUEhOMGNtbHVaMXRkUGlnZ0tDQnlaWE52YkhabExDQnlaV3BsWTNRZ0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2JUb2dUWE5uUjJWMFNXNXpkR0ZzYkdWa1IyRmtaMlYwY3lBOUlIdDlPMXh5WEc1Y2RGeDBYSFIwYUdsekxtMWZaVzVrY0c5cGJuUXVjMlZ1WkUxbGMzTmhaMlZCYm1SWFlXbDBSbTl5VW1WemNHOXVjMlU4VFhOblIyVjBTVzV6ZEdGc2JHVmtSMkZrWjJWMGMxSmxjM0J2Ym5ObFBpZ2dYSEpjYmx4MFhIUmNkRngwVFdWemMyRm5aVlI1Y0dVdVIyVjBTVzV6ZEdGc2JHVmtSMkZrWjJWMGN5d2diU3dnWEhKY2JseDBYSFJjZEZ4MFRXVnpjMkZuWlZSNWNHVXVSMlYwU1c1emRHRnNiR1ZrUjJGa1oyVjBjMUpsYzNCdmJuTmxJQ2xjY2x4dVhIUmNkRngwTG5Sb1pXNG9JQ2dnV3lCeVpYTndMQ0JsYm5ZZ1hUb2dXeUJOYzJkSFpYUkpibk4wWVd4c1pXUkhZV1JuWlhSelVtVnpjRzl1YzJVc0lFVnVkbVZzYjNCbElGMHBJRDArWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnlaWE52YkhabEtDQnlaWE53TG1sdWMzUmhiR3hsWkVkaFpHZGxkSE1nS1R0Y2NseHVYSFJjZEZ4MGZTazdYSEpjYmx4MFhIUjlLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnlaV2RwYzNSbGNpZ2dibTlrWlRvZ1NVRjJRbUZ6WlU1dlpHVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RDOHZZMjl1YzI5c1pTNXNiMmNvSUZ3aVlYTnphV2R1YVc1bklHbGtYQ0lzSUhSb2FYTXViVjl1WlhoMFRtOWtaVWxrSUNrN1hISmNibHgwWEhSdWIyUmxMbTFmYm05a1pVbGtJRDBnZEdocGN5NXRYMjVsZUhST2IyUmxTV1FyS3p0Y2NseHVYSFJjZEhSb2FYTXViVjl5WldkcGMzUmxjbVZrVG05a1pYTmJJRzV2WkdVdWJWOXViMlJsU1dRZ1hTQTlJRzV2WkdVN1hISmNibHgwWEhSMGFHbHpMbTFoY210RWFYSjBlU2dwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJSFZ1Y21WbmFYTjBaWElvSUc1dlpHVTZJRWxCZGtKaGMyVk9iMlJsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ2JtOWtaUzV0WDI1dlpHVkpaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdSbGJHVjBaU0IwYUdsekxtMWZjbVZuYVhOMFpYSmxaRTV2WkdWeld5QnViMlJsTG0xZmJtOWtaVWxrSUYwN1hISmNibHgwWEhSY2RHNXZaR1V1YlY5dWIyUmxTV1FnUFNCMWJtUmxabWx1WldRN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBkR2hwY3k1dFlYSnJSR2x5ZEhrb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCblpYUkZibVJ3YjJsdWRFbGtLQ2tnT2lCdWRXMWlaWEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV0WDJWdVpIQnZhVzUwTG1kbGRFVnVaSEJ2YVc1MFNXUW9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lHOXVSMkZrWjJWMFUzUmhjblJsWkNnZ2JUb2dUWE5uUjJGa1oyVjBVM1JoY25SbFpDd2daVzUyT2lCRmJuWmxiRzl3WlNBcE9uWnZhV1JjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnY0hKdlkyVnpjMjl5SUQwZ2RHaHBjeTV0WDNOMFlYSjBSMkZrWjJWMFVISnZiV2x6WlhOYklHVnVkaTUwWVhKblpYUXVibTlrWlVsa0lGMDdYSEpjYmx4MFhIUnBaaWdnY0hKdlkyVnpjMjl5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNISnZZMlZ6YzI5eVd6QmRLRnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSE4xWTJObGMzTTZJSFJ5ZFdVc1hISmNibHgwWEhSY2RGeDBYSFJ6ZEdGeWRHVmtSMkZrWjJWMFJXNWtjRzlwYm5SSlpEb2diUzV6ZEdGeWRHVmtSMkZrWjJWMFJXNWtjRzlwYm5SSlpDeGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZENrN1hISmNibHgwWEhSY2RHUmxiR1YwWlNCMGFHbHpMbTFmYzNSaGNuUkhZV1JuWlhSUWNtOXRhWE5sYzFzZ1pXNTJMblJoY21kbGRDNXViMlJsU1dRZ1hUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpYUkpiblJsY21aaFkyVkZiblJwZEhsUWNtOWpaWE56YjNJb0lHNXZaR1ZKWkRvZ2JuVnRZbVZ5TENCd2NtOWpaWE56YjNJNklFRjJTVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZZMlZ6YzI5eUlDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbTFmYVc1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXljeTV6WlhRb0lHNXZaR1ZKWkN3Z2NISnZZMlZ6YzI5eUlDazdYSEpjYmx4MFhIUjBhR2x6TG0xaGNtdEVhWEowZVNncE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdOc1pXRnlTVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZZMlZ6YzI5eUtDQnViMlJsU1dRNklHNTFiV0psY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMmx1ZEdWeVptRmpaVVZ1ZEdsMGVWQnliMk5sYzNOdmNuTXVaR1ZzWlhSbEtDQnViMlJsU1dRZ0tUdGNjbHh1WEhSY2RIUm9hWE11YldGeWEwUnBjblI1S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdkbGRFbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIyTmxjM052Y2lnZ1pYQmhPaUJGYm1Sd2IybHVkRUZrWkhJZ0tUb2dRWFpKYm5SbGNtWmhZMlZGYm5ScGRIbFFjbTlqWlhOemIzSmNjbHh1WEhSN1hISmNibHgwWEhScFppZ2daWEJoTG1WdVpIQnZhVzUwU1dRZ0lUMGdkR2hwY3k1dFgyVnVaSEJ2YVc1MExtZGxkRVZ1WkhCdmFXNTBTV1FvS1NBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUIwYUdsekxtMWZhVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZZMlZ6YzI5eWN5NW5aWFFvSUdWd1lTNXViMlJsU1dRZ0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQmhjM2x1WXlCdmJrbHVkR1Z5Wm1GalpWTjBZWEowWldRb0lHMDZJRTF6WjBsdWRHVnlabUZqWlZOMFlYSjBaV1FzSUdWdWRqb2dSVzUyWld4dmNHVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnVW1WalpXbDJaV1FnYVc1MFpYSm1ZV05sSUhOMFlYSjBJR1p2Y2lBa2V5QnBiblJsY21aaFkyVlRkSEpwYm1kR2NtOXRUWE5uS0NCdElDa2dmV0FnS1R0Y2NseHVYSFJjZEd4bGRDQndjbTlqWlhOemIzSWdQU0IwYUdsekxtZGxkRWx1ZEdWeVptRmpaVVZ1ZEdsMGVWQnliMk5sYzNOdmNpZ2daVzUyTG5SaGNtZGxkQ0FwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSEJ5YjJObGMzTnZjaTV6ZEdGeWRHVmtLQ0J0SUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGd2NtOWpaWE56YjNJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUdsdWRHVnlabUZqWlNCemRHRnlkQ0JtYjNJZ0pIc2dhVzUwWlhKbVlXTmxVM1J5YVc1blJuSnZiVTF6WnlnZ2JTQXBJSDBzWUZ4eVhHNWNkRngwWEhSY2RDc2dZQ0IzYUdsamFDQmtiMlZ6YmlkMElHaGhkbVVnWVNCd2NtOWpaWE56YjNKZ0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdZWE41Ym1NZ2IyNUpiblJsY21aaFkyVkZibVJsWkNnZ2JUb2dUWE5uU1c1MFpYSm1ZV05sUlc1a1pXUXNJR1Z1ZGpvZ1JXNTJaV3h2Y0dVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQndjbTlqWlhOemIzSWdQU0IwYUdsekxtZGxkRWx1ZEdWeVptRmpaVVZ1ZEdsMGVWQnliMk5sYzNOdmNpZ2daVzUyTG5SaGNtZGxkQ0FwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSEJ5YjJObGMzTnZjaTVsYm1SbFpDaHRMblJ5WVc1emJXbDBkR1Z5TENCdExuSmxZMlZwZG1WeUxDQnRMbWxtWVdObExDQnRMblJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeUxDQmNjbHh1WEhSY2RGeDBYSFJ0TG1sdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGd2NtOWpaWE56YjNJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUdsdWRHVnlabUZqWlNCemRHRnlkQ0JtYjNJZ0pIc2dhVzUwWlhKbVlXTmxVM1J5YVc1blJuSnZiVTF6WnlnZ2JTQXBJSDBzWUZ4eVhHNWNkRngwWEhSY2RDc2dZQ0IzYUdsamFDQmtiMlZ6YmlkMElHaGhkbVVnWVNCd2NtOWpaWE56YjNKZ0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdZWE41Ym1NZ2IyNUpiblJsY21aaFkyVlNaV05sYVhabFpFVjJaVzUwS0NCdE9pQk5jMmRKYm5SbGNtWmhZMlZTWldObGFYWmxSWFpsYm5Rc0lHVnVkam9nUlc1MlpXeHZjR1VnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCd2NtOWpaWE56YjNJZ1BTQjBhR2x6TG1kbGRFbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIyTmxjM052Y2lnZ2JTNWtaWE4wYVc1aGRHbHZiaUFwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSEJ5YjJObGMzTnZjaTVsZG1WdWRDaHRMbVJsYzNScGJtRjBhVzl1TENCdExuQmxaWElzSUcwdWFXWmhZMlVzSUcwdVpYWmxiblFzSUcwdVpHVnpkR2x1WVhScGIyNUdjbTl0VUdWbGNpeGNjbHh1WEhSY2RGeDBYSFJ0TG1sdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUNGd2NtOWpaWE56YjNJZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZKbFkyVnBkbVZrSUdsdWRHVnlabUZqWlNCbGRtVnVkQ0JtYjNJZ0pIc2daVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvSUcwdVpHVnpkR2x1WVhScGIyNGdLU0I5TEdCY2NseHVYSFJjZEZ4MFhIUXJJR0FnZDJocFkyZ2daRzlsYzI0bmRDQm9ZWFpsSUdFZ2NISnZZMlZ6YzI5eVlDQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RIMWNjbHh1WEhKY2JseDBRR0pwYm1SY2NseHVYSFJ3Y21sMllYUmxJR0Z6ZVc1aklHOXVTVzUwWlhKbVlXTmxWSEpoYm5ObWIzSnRWWEJrWVhSbFpDZ2diVG9nVFhOblNXNTBaWEptWVdObFZISmhibk5tYjNKdFZYQmtZWFJsWkN3Z1pXNTJPaUJGYm5abGJHOXdaU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhCeWIyTmxjM052Y2lBOUlIUm9hWE11WjJWMFNXNTBaWEptWVdObFJXNTBhWFI1VUhKdlkyVnpjMjl5S0NCdExtUmxjM1JwYm1GMGFXOXVJQ2s3WEhKY2JseDBYSFJwWmlnZ2NISnZZMlZ6YzI5eUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBjSEp2WTJWemMyOXlMblJ5WVc1elptOXliVlZ3WkdGMFpXUW9JRzB1WkdWemRHbHVZWFJwYjI0c0lHMHVjR1ZsY2l3Z2JTNXBabUZqWlN3Z2JTNWtaWE4wYVc1aGRHbHZia1p5YjIxUVpXVnlMRnh5WEc1Y2RGeDBYSFJjZEcwdWFXNTBaWEp6WldOMGFXOXVVRzlwYm5RZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJwWmlnZ0lYQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1VtVmpaV2wyWldRZ2FXNTBaWEptWVdObElIUnlZVzV6Wm05eWJWVndaR0YwWldRZ1ptOXlJQ1I3SUdWdVpIQnZhVzUwUVdSa2NsUnZVM1J5YVc1bktDQnRMbVJsYzNScGJtRjBhVzl1SUNrZ2ZTeGdYSEpjYmx4MFhIUmNkRngwS3lCZ0lIZG9hV05vSUdSdlpYTnVKM1FnYUdGMlpTQmhJSEJ5YjJObGMzTnZjbUFnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ6WlhSSmJuUmxjbVpoWTJWRmRtVnVkRkJ5YjJObGMzTnZjaWdnYm05a1pVbGtPaUJ1ZFcxaVpYSXNJSEJ5YjJObGMzTnZjam9nUVhaSmJuUmxjbVpoWTJWRmRtVnVkRkJ5YjJObGMzTnZjaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dFgybHVkR1Z5Wm1GalpVVjJaVzUwVUhKdlkyVnpjMjl5YzFzZ2JtOWtaVWxrSUYwZ1BTQndjbTlqWlhOemIzSTdYSEpjYmx4MFhIUjBhR2x6TG0xaGNtdEVhWEowZVNncE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUhObGJtUkpiblJsY21aaFkyVkZkbVZ1ZENnZ2JtOWtaVWxrT2lCdWRXMWlaWElzSUdSbGMzUnBibUYwYVc5dU9pQkZibVJ3YjJsdWRFRmtaSElzSUdsbVlXTmxPaUJ6ZEhKcGJtY3NJR1JoZEdFNklHOWlhbVZqZENBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHMDZJRTF6WjBsdWRHVnlabUZqWlVWMlpXNTBJRDFjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWkdWemRHbHVZWFJwYjI0c1hISmNibHgwWEhSY2RHbHVkR1Z5Wm1GalpUb2dhV1poWTJVc1hISmNibHgwWEhSY2RHUmhkR0VzWEhKY2JseDBYSFI5TzF4eVhHNWNjbHh1WEhSY2RHbG1LQ0JrWlhOMGFXNWhkR2x2Ymk1bGJtUndiMmx1ZEVsa0lEMDlJSFJvYVhNdWJWOWxibVJ3YjJsdWRDNW5aWFJGYm1Sd2IybHVkRWxrS0NrZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnWlc1Mk9pQkZiblpsYkc5d1pTQTlYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJOWlhOellXZGxWSGx3WlM1SmJuUmxjbVpoWTJWRmRtVnVkQ3hjY2x4dVhIUmNkRngwWEhSelpXNWtaWEk2SUhzZ2RIbHdaVG9nUlc1a2NHOXBiblJVZVhCbExrNXZaR1VzSUdWdVpIQnZhVzUwU1dRNklIUm9hWE11YlY5bGJtUndiMmx1ZEM1blpYUkZibVJ3YjJsdWRFbGtLQ2tzSUc1dlpHVkpaQ0I5TEZ4eVhHNWNkRngwWEhSY2RITmxjWFZsYm1ObFRuVnRZbVZ5T2lBdE1TeGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2NseHVYSFJjZEZ4MEx5OGdhV1lnZEdocGN5QnBjeUJoSUd4dlkyRnNJSE5sYm1Rc0lHcDFjM1FnWW05MWJtTmxJR2wwSUdKaFkyc2dkRzhnYjNWeUlHOTNiaUJ1YjJSbFhISmNibHgwWEhSY2RDOHZJRVJ2WlhNZ2RHaHBjeUJ1WldWa0lIUnZJR0psSUdGemVXNWpQMXh5WEc1Y2RGeDBYSFIwYUdsekxtOXVTVzUwWlhKbVlXTmxSWFpsYm5Rb0lHMHNJR1Z1ZGlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxuTmxibVJOWlhOellXZGxLQ0JOWlhOellXZGxWSGx3WlM1SmJuUmxjbVpoWTJWRmRtVnVkQ3dnYlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUc5dVNXNTBaWEptWVdObFJYWmxiblFvSUcwNklFMXpaMGx1ZEdWeVptRmpaVVYyWlc1MExDQmxiblk2SUVWdWRtVnNiM0JsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ2NISnZZMlZ6YzI5eUlEMGdkR2hwY3k1dFgybHVkR1Z5Wm1GalpVVjJaVzUwVUhKdlkyVnpjMjl5YzFzZ2JTNWtaWE4wYVc1aGRHbHZiaTV1YjJSbFNXUWdYVHRjY2x4dVhIUmNkR2xtS0NBaGNISnZZMlZ6YzI5eUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUdCU1pXTmxhWFpsWkNCcGJuUmxjbVpoWTJVZ1pYWmxiblFnWm05eUlDUjdJRzB1WkdWemRHbHVZWFJwYjI0dWJtOWtaVWxrSUgwc0lIZG9hV05vSUdSdlpYTnVKM1FnYUdGMlpTQmhJSEJ5YjJObGMzTnZjbUFwWEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIQnliMk5sYzNOdmNpZ2diUzVwYm5SbGNtWmhZMlVzSUdWdWRpNXpaVzVrWlhJc0lHMHVaR0YwWVNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVFnY0hKcGRtRjBaU0J2YmxKbGMyOTFjbU5sVEc5aFpFWmhhV3hsWkNnZ2JUb2dUWE5uVW1WemIzVnlZMlZNYjJGa1JtRnBiR1ZrSUNsY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emIyeGxMbVZ5Y205eUtDQmdVbVZ6YjNWeVkyVWdiRzloWkNCbVlXbHNaV1FnWm05eUlDUjdJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCdExtNXZaR1ZKWkNBcElIMHVZRnh5WEc1Y2RGeDBYSFFySUdBZ2RYSnBQU1I3SUcwdWNtVnpiM1Z5WTJWVmNta2dmU0JsY25KdmNqMGtleUJ0TG1WeWNtOXlJSDFnSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYkdsemRHVnVSbTl5UVdOMGFXOXVVM1JoZEdVb0lHRmpkR2x2YmpvZ1JVRmpkR2x2Yml3Z2FHRnVaRG9nUlVoaGJtUXNJRnh5WEc1Y2RGeDBjbWx6YVc1bk9pQW9LU0E5UGlCMmIybGtMQ0JtWVd4c2FXNW5PaUFvS1NBOVBuWnZhV1FnS1RvZ2JuVnRZbVZ5WEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUdGamRHbHZiaUE5UFNCRlFXTjBhVzl1TGtkeVlXSk5iM1psSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHliM2NnYm1WM0lFVnljbTl5S0NCZ2JHbHpkR1Z1Um05eVFXTjBhVzl1VTNSaGRHVWdabTl5SUNSN0lFVkJZM1JwYjI1YklHRmpkR2x2YmlCZElIMGdkMmhwWTJnZ2FYTWdkbVZqZEc5eU1tQWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSc1pYUWdhR0Z1Wkd4bElEMGdkR2hwY3k1dFgyNWxlSFJPYjJSbFNXUXJLenRjY2x4dVhIUmNkRnh5WEc1Y2RGeDBkR2hwY3k1dFgyRmpkR2x2YmxOMFlYUmxUR2x6ZEdWdVpYSnpXeUJvWVc1a2JHVWdYU0E5SUZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSb1lXNWtMRnh5WEc1Y2RGeDBYSFJoWTNScGIyNHNYSEpjYmx4MFhIUmNkSEpwYzJsdVp5eGNjbHh1WEhSY2RGeDBabUZzYkdsdVp5eGNjbHh1WEhSY2RIMDdYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJR2hoYm1Sc1pUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCc2FYTjBaVzVHYjNKV1pXTjBiM0l5UVdOMGFXOXVVM1JoZEdVb0lHRmpkR2x2YmpvZ1JVRmpkR2x2Yml3Z2FHRnVaRG9nUlVoaGJtUXNJRnh5WEc1Y2RGeDBkWEJrWVhSbE9pQW9JSFpoYkhWbE9pQmJJRzUxYldKbGNpd2diblZ0WW1WeUlGMGdLU0E5UGlCMmIybGtJQ2s2SUc1MWJXSmxjbHh5WEc1Y2RIdGNjbHh1WEhSY2RHbG1LQ0JoWTNScGIyNGdJVDBnUlVGamRHbHZiaTVIY21GaVRXOTJaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWdnWUd4cGMzUmxia1p2Y2xabFkzUnZjakpCWTNScGIyNVRkR0YwWlNCbWIzSWdKSHNnUlVGamRHbHZibHNnWVdOMGFXOXVJRjBnZlNCM2FHbGphQ0JwY3lCaWIyOXNaV0Z1WUNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR3hsZENCb1lXNWtiR1VnUFNCMGFHbHpMbTFmYm1WNGRFNXZaR1ZKWkNzck8xeHlYRzVjZEZ4MFhISmNibHgwWEhSMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWTWFYTjBaVzVsY25OYklHaGhibVJzWlNCZElEMGdYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2hoYm1Rc1hISmNibHgwWEhSY2RHRmpkR2x2Yml4Y2NseHVYSFJjZEZ4MGRYQmtZWFJsTEZ4eVhHNWNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUnlaWFIxY200Z2FHRnVaR3hsTzF4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCc2FYTjBaVzVHYjNKQlkzUnBiMjVUZEdGMFpWZHBkR2hEYjIxd2IyNWxiblFvSUdoaGJtUTZJRVZJWVc1a0xDQmhZM1JwYjI0NklFVkJZM1JwYjI0c0lHTnZiWEE2SUZKbFlXTjBMa052YlhCdmJtVnVkQ0FwT2lCdWRXMWlaWEpjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWm00Z1BTQW9LU0E5UGlCN0lHTnZiWEF1Wm05eVkyVlZjR1JoZEdVb0tUc2dmVHRjY2x4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG14cGMzUmxia1p2Y2tGamRHbHZibE4wWVhSbEtDQmhZM1JwYjI0c0lHaGhibVFzSUdadUxDQm1iaUFwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJSFZ1YkdsemRHVnVSbTl5UVdOMGFXOXVVM1JoZEdVb0lHaGhibVJzWlRvZ2JuVnRZbVZ5SUNsY2NseHVYSFI3WEhKY2JseDBYSFJrWld4bGRHVWdkR2hwY3k1dFgyRmpkR2x2YmxOMFlYUmxUR2x6ZEdWdVpYSnpXeUJvWVc1a2JHVWdYVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lIQnlhWFpoZEdVZ2IyNVZjR1JoZEdWQlkzUnBiMjVUZEdGMFpTZ2diVG9nVFhOblZYQmtZWFJsUVdOMGFXOXVVM1JoZEdVc0lHVnVkam9nUlc1MlpXeHZjR1VnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCdmJHUlRkR0YwWlNBOUlIUm9hWE11YlY5aFkzUnBiMjVUZEdGMFpWc2diUzVvWVc1a0lGMDdYSEpjYmx4MFhIUnNaWFFnYm1WM1UzUmhkR1VnUFNCdExtRmpkR2x2YmxOMFlYUmxPMXh5WEc1Y2RGeDBhV1lvSUNGbGNYVmhiQ2dnYm1WM1UzUmhkR1VzSUc5c1pGTjBZWFJsSUNrZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUJUWlhRZ2RHaGxJSE4wWVhSbElHWnBjbk4wSUdsdUlHTmhjMlVnWVc1NUlHOW1JSFJvWlNCc2FYTjBaVzVsY25NZ2NtVmhaQ0JwZEZ4eVhHNWNkRngwWEhSMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWYmJTNW9ZVzVrWFNBOUlHMHVZV04wYVc5dVUzUmhkR1U3WEhKY2JseDBYSFJjZEZ4eVhHNWNkRngwWEhSbWIzSW9JR3hsZENCb1lXNWtiR1VnYVc0Z2RHaHBjeTV0WDJGamRHbHZibE4wWVhSbFRHbHpkR1Z1WlhKeklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEd4bGRDQnNhWE4wWlc1bGNpQTlJSFJvYVhNdWJWOWhZM1JwYjI1VGRHRjBaVXhwYzNSbGJtVnljMXNnYUdGdVpHeGxJRjA3WEhKY2JseDBYSFJjZEZ4MGFXWW9JR3hwYzNSbGJtVnlMbWhoYm1RZ1BUMGdiUzVvWVc1a0lIeDhJR3hwYzNSbGJtVnlMbWhoYm1RZ1BUMGdSVWhoYm1RdVNXNTJZV3hwWkNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGFXWW9JR3hwYzNSbGJtVnlMbUZqZEdsdmJpQTlQU0JGUVdOMGFXOXVMa2R5WVdKTmIzWmxJQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGJHbHpkR1Z1WlhJdWRYQmtZWFJsUHk0b0lHNWxkMU4wWVhSbExtZHlZV0pOYjNabElDazdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR3hsZENCdmJHUkJZM1JwYjI0Z1BTQm5aWFJDYjI5c1pXRnVRV04wYVc5dVJuSnZiVk4wWVhSbEtDQnNhWE4wWlc1bGNpNWhZM1JwYjI0c0lHOXNaRk4wWVhSbElDazdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeGxkQ0J1WlhkQlkzUnBiMjRnUFNCblpYUkNiMjlzWldGdVFXTjBhVzl1Um5KdmJWTjBZWFJsS0NCc2FYTjBaVzVsY2k1aFkzUnBiMjRzSUc1bGQxTjBZWFJsSUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEdsbUtDQWhiMnhrUVdOMGFXOXVJQ1ltSUc1bGQwRmpkR2x2YmlBbUppQnNhWE4wWlc1bGNpNXlhWE5wYm1jZ0tWeHlYRzVjZEZ4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGJHbHpkR1Z1WlhJdWNtbHphVzVuS0NrN1hISmNibHgwWEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkRngwWld4elpTQnBaaWdnYjJ4a1FXTjBhVzl1SUNZbUlDRnVaWGRCWTNScGIyNGdKaVlnYkdsemRHVnVaWEl1Wm1Gc2JHbHVaeUFwWEhKY2JseDBYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFJzYVhOMFpXNWxjaTVtWVd4c2FXNW5LQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSDFjZEZ4eVhHNWNkRngwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRkpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnWjJGa1oyVjBJR2x6SUdsdUlHVmthWFFnYlc5a1pTQm1iM0lnZEdobElGeHlYRzVjZENBcUlITndaV05wWm1sbFpDQm9ZVzVrTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCd2RXSnNhV05jY2x4dVhIUWdLaTljY2x4dVhIUndkV0pzYVdNZ1oyVjBRV04wYVc5dVUzUmhkR1ZHYjNKSVlXNWtLQ0JvWVc1a09pQkZTR0Z1WkN3Z1lXTjBhVzl1T2lCRlFXTjBhVzl1SUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ2FHRnVaQ0E5UFNCMWJtUmxabWx1WldRZ2ZId2dhR0Z1WkNBOVBTQkZTR0Z1WkM1SmJuWmhiR2xrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUdkbGRFSnZiMnhsWVc1QlkzUnBiMjVHY205dFUzUmhkR1VvSUdGamRHbHZiaXdnZEdocGN5NXRYMkZqZEdsdmJsTjBZWFJsV3lCRlNHRnVaQzVNWldaMFhTQXBYSEpjYmx4MFhIUmNkRngwZkh3Z1oyVjBRbTl2YkdWaGJrRmpkR2x2YmtaeWIyMVRkR0YwWlNnZ1lXTjBhVzl1TENCMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWYklFVklZVzVrTGxKcFoyaDBYU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnlaWFIxY200Z1oyVjBRbTl2YkdWaGJrRmpkR2x2YmtaeWIyMVRkR0YwWlNnZ1lXTjBhVzl1TENCMGFHbHpMbTFmWVdOMGFXOXVVM1JoZEdWYklHaGhibVFnWFNBcFhISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQnlhWFpoZEdVZ2RISmhkbVZ5YzJWT2IyUmxLQ0JrYjIxT2IyUmxPaUJJVkUxTVJXeGxiV1Z1ZENBcE9pQkJkazV2WkdWYlhWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnNiM2RsY2s1aGJXVWdQU0JrYjIxT2IyUmxMbTV2WkdWT1lXMWxMblJ2VEc5M1pYSkRZWE5sS0NrN1hISmNibHgwWEhSc1pYUWdibTlrWlRwQmRrNXZaR1VnUFNCdWRXeHNPMXh5WEc1Y2RGeDBjM2RwZEdOb0tDQnNiM2RsY2s1aGJXVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqWVhObElGd2lZWFl0Ym05a1pWd2lPbHh5WEc1Y2RGeDBYSFJjZEd4bGRDQmhkSFJ5SUQwZ1pHOXRUbTlrWlM1blpYUkJkSFJ5YVdKMWRHVW9JRndpYm05a1pVbGtYQ0lnS1R0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnWVhSMGNpQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBiR1YwSUc1dlpHVkpaQ0E5SUhCaGNuTmxTVzUwS0NCaGRIUnlJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUnNaWFFnY21WaFkzUk9iMlJsSUQwZ2RHaHBjeTV0WDNKbFoybHpkR1Z5WldST2IyUmxjMXNnYm05a1pVbGtJRjA3WEhKY2JseDBYSFJjZEZ4MFhIUnBaaWdnY21WaFkzUk9iMlJsSUNsY2NseHVYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBibTlrWlNBOUlISmxZV04wVG05a1pTNWpjbVZoZEdWT2IyUmxSbTl5VG05a1pTZ3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG0xZmRISmhkbVZ5YzJWa1RtOWtaWE5iYm05a1pVbGtYU0E5SUhKbFlXTjBUbTlrWlR0Y2NseHVYSFJjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBiR1YwSUdOb2FXeGtjbVZ1T2lCQmRrNXZaR1ZiWFNBOUlGdGRPMXh5WEc1Y2RGeDBabTl5S0NCc1pYUWdiaUE5SURBN0lHNGdQQ0JrYjIxT2IyUmxMbU5vYVd4a2NtVnVMbXhsYm1kMGFEc2diaXNySUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJR05vYVd4a1JHOXRUbTlrWlNBOUlHUnZiVTV2WkdVdVkyaHBiR1J5Wlc0dWFYUmxiU2dnYmlBcE8xeHlYRzVjZEZ4MFhIUnBaaWdnWTJocGJHUkViMjFPYjJSbElHbHVjM1JoYm1ObGIyWWdTRlJOVEVWc1pXMWxiblFnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiR1YwSUdSbGMyTmxibU5sYm5SeklEMGdkR2hwY3k1MGNtRjJaWEp6WlU1dlpHVW9JR05vYVd4a1JHOXRUbTlrWlNCaGN5QklWRTFNUld4bGJXVnVkQ0FwTzF4eVhHNWNkRngwWEhSY2RHbG1LQ0JrWlhOalpXNWpaVzUwY3lBbUppQmtaWE5qWlc1alpXNTBjeTVzWlc1bmRHZ2dQaUF3SUNsY2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSamFHbHNaSEpsYmlBOUlHTm9hV3hrY21WdUxtTnZibU5oZENnZ1pHVnpZMlZ1WTJWdWRITWdLVHRjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFF2THlCbWFXZDFjbVVnYjNWMElIZG9ZWFFnZEc4Z2NtVjBkWEp1WEhKY2JseDBYSFJwWmlnZ2JtOWtaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dklHbG1JSGRsSUdkdmRDQmhJRzV2WkdVZ1puSnZiU0IwYUdVZ1JFOU5MQ0J5WlhSMWNtNGdkR2hoZEZ4eVhHNWNkRngwWEhScFppZ2dZMmhwYkdSeVpXNHViR1Z1WjNSb0lENGdNQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnViMlJsTG1Ob2FXeGtjbVZ1SUQwZ1kyaHBiR1J5Wlc0N1hISmNibHgwWEhSY2RIMWNjbHh1WEhKY2JseDBYSFJjZEhKbGRIVnliaUJiSUc1dlpHVWdYVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JR05vYVd4a2NtVnVMbXhsYm1kMGFDQStJREFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhRdkx5QkpaaUIzWlNCb1lYWmxJR05vYVd4a2NtVnVJR0oxZENCdWJ5QnViMlJsTENCcWRYTjBJSEpsZEhWeWJseHlYRzVjZEZ4MFhIUXZMeUIwYUdVZ1kyaHBiR1J5Wlc0dUlGUm9hWE1nYm05a1pTQnBjeUJoSUc1dkxXOXdMbHh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdZMmhwYkdSeVpXNDdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dklHOTBhR1Z5ZDJselpTd2dkMlVuZG1VZ1oyOTBJRzV2ZEdocGJtZGNjbHh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpDQndkV0pzYVdNZ2RYQmtZWFJsVTJObGJtVkhjbUZ3YUNncFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lDRjBhR2x6TG0xZmJXRnVhV1psYzNRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKVmNHUmhkR2x1WnlCelkyVnVaU0JuY21Gd2FDQmlaV1p2Y21VZ2JXRnVhV1psYzNRZ2QyRnpJR3h2WVdSbFpGd2lJQ2s3WEhKY2JseDBYSFJjZEhKbGRIVnlianRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSMGFHbHpMbTFmZEhKaGRtVnljMlZrVG05a1pYTWdQU0I3ZlR0Y2NseHVYSFJjZEd4bGRDQnliMjkwVG05a1pYTWdQU0IwYUdsekxuUnlZWFpsY25ObFRtOWtaU2dnWkc5amRXMWxiblF1WW05a2VTQXBPMXh5WEc1Y2NseHVYSFJjZEd4bGRDQnRjMmM2SUUxeloxVndaR0YwWlZOalpXNWxSM0poY0dnZ1BTQjdmVHRjY2x4dVhIUmNkR2xtS0NCeWIyOTBUbTlrWlhNZ0ppWWdjbTl2ZEU1dlpHVnpMbXhsYm1kMGFDQStJREFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFppZ2djbTl2ZEU1dlpHVnpMbXhsYm1kMGFDQStJREVnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBiWE5uTG5KdmIzUWdQVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSFI1Y0dVNklFRjJUbTlrWlZSNWNHVXVRMjl1ZEdGcGJtVnlMRnh5WEc1Y2RGeDBYSFJjZEZ4MGFXUTZJREFzWEhKY2JseDBYSFJjZEZ4MFhIUm1iR0ZuY3pvZ1JVNXZaR1ZHYkdGbmN5NVdhWE5wWW14bExGeHlYRzVjZEZ4MFhIUmNkRngwWTJocGJHUnlaVzQ2SUhKdmIzUk9iMlJsY3l4Y2NseHVYSFJjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEcxelp5NXliMjkwSUQwZ2NtOXZkRTV2WkdWeld6QmRPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTV0WDJWdVpIQnZhVzUwTG5ObGJtUk5aWE56WVdkbEtDQk5aWE56WVdkbFZIbHdaUzVWY0dSaGRHVlRZMlZ1WlVkeVlYQm9MQ0J0YzJjZ0tUdGNjbHh1WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV0WDJacGNuTjBVMk5sYm1WSGNtRndhQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViVjltYVhKemRGTmpaVzVsUjNKaGNHZ2dQU0JtWVd4elpUdGNjbHh1WEhSY2RGeDBhV1lvSUhSb2FYTXViVjlsY0ZSdlRtOTBhV1o1SUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR3hsZENCdGMyZFRkR0Z5ZEdWa09pQk5jMmRIWVdSblpYUlRkR0Z5ZEdWa0lEMGdYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBaWEJVYjA1dmRHbG1lVG9nZEdocGN5NXRYMlZ3Vkc5T2IzUnBabmtzWEhKY2JseDBYSFJjZEZ4MFhIUnpkR0Z5ZEdWa1IyRmtaMlYwUlc1a2NHOXBiblJKWkRvZ2RHaHBjeTV0WDJWdVpIQnZhVzUwTG1kbGRFVnVaSEJ2YVc1MFNXUW9LU3hjY2x4dVhIUmNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJjZEhSb2FYTXViVjlsYm1Sd2IybHVkQzV6Wlc1a1RXVnpjMkZuWlNnZ1RXVnpjMkZuWlZSNWNHVXVSMkZrWjJWMFUzUmhjblJsWkN3Z2JYTm5VM1JoY25SbFpDQXBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFIwYUdsekxtMWZibVY0ZEVaeVlXMWxVbVZ4ZFdWemRDQTlJREE3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdiV0Z5YTBScGNuUjVLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnSVhSb2FYTXViVjl0WVc1cFptVnpkQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEM4dklFbG1JSGRsSUdSdmJpZDBJR2hoZG1VZ2IzVnlJRzFoYm1sbVpYTjBJSGxsZEN3Z2QyVWdZMkZ1SjNRZ2RYQmtZWFJsSUhSb1pTQnpZMlZ1WlNCbmNtRndhQzVjY2x4dVhIUmNkRngwTHk4Z1YyVW5iR3dnZFhCa1lYUmxJR0YxZEc5dFlYUnBZMkZzYkhrZ2IyNWpaU0IwYUdGMElHTnZiV1Z6SUdsdUxseHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXViVjl1WlhoMFJuSmhiV1ZTWlhGMVpYTjBJRDA5SURBZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZmJtVjRkRVp5WVcxbFVtVnhkV1Z6ZENBOUlIZHBibVJ2ZHk1elpYUlVhVzFsYjNWMEtDQjBhR2x6TG5Wd1pHRjBaVk5qWlc1bFIzSmhjR2dzSURFZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpXNWtTR0Z3ZEdsalJYWmxiblFvSUc1dlpHVkpaRG9nUlc1a2NHOXBiblJCWkdSeUxDQmhiWEJzYVhSMVpHVTZJRzUxYldKbGNpd2dabkpsY1hWbGJtTjVPaUJ1ZFcxaVpYSXNJR1IxY21GMGFXOXVPaUJ1ZFcxaVpYSWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnRjMmM2SUUxelowNXZaR1ZJWVhCMGFXTWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1YjJSbFNXUXNYSEpjYmx4MFhIUmNkR0Z0Y0d4cGRIVmtaU3hjY2x4dVhIUmNkRngwWm5KbGNYVmxibU41TEZ4eVhHNWNkRngwWEhSa2RYSmhkR2x2Yml4Y2NseHVYSFJjZEgxY2NseHVYSFJjZEhSb2FYTXViVjlsYm1Sd2IybHVkQzV6Wlc1a1RXVnpjMkZuWlNnZ1RXVnpjMkZuWlZSNWNHVXVUbTlrWlVoaGNIUnBZeXdnYlhObklDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2MzUmhjblJIWVdSblpYUW9JSFZ5YVRvZ2MzUnlhVzVuTENCcGJtbDBhV0ZzU1c1MFpYSm1ZV05sY3pvZ1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydGJYU0FwSURvZ1hISmNibHgwWEhSUWNtOXRhWE5sUEVGMlUzUmhjblJIWVdSblpYUlNaWE4xYkhRK1hISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0NBb0lISmxjMjlzZG1Vc0lISmxhbVZqZENBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCdWIzUnBabmxPYjJSbFNXUWdQU0IwYUdsekxtMWZibVY0ZEU1dlpHVkpaQ3NyTzF4eVhHNWNkRngwWEhSMGFHbHpMbTFmYzNSaGNuUkhZV1JuWlhSUWNtOXRhWE5sYzFzZ2JtOTBhV1o1VG05a1pVbGtJRjBnUFNCYklISmxjMjlzZG1Vc0lISmxhbVZqZENCZE8xeHlYRzVjY2x4dVhIUmNkRngwYkdWMElHbHVhWFJwWVd4SmJuUmxjbVpoWTJWelJXNWpiMlJsWkNBOUlHSjBiMkVvSUVwVFQwNHVjM1J5YVc1bmFXWjVLQ0JwYm1sMGFXRnNTVzUwWlhKbVlXTmxjeUFwSUNrN1hISmNibHgwWEhSY2RGeHlYRzVjZEZ4MFhIUnNaWFFnWlhCVWIwNXZkR2xtZVRvZ1JXNWtjRzlwYm5SQlpHUnlJRDBnWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUjBlWEJsT2lCRmJtUndiMmx1ZEZSNWNHVXVUbTlrWlN4Y2NseHVYSFJjZEZ4MFhIUmxibVJ3YjJsdWRFbGtPaUIwYUdsekxtMWZaVzVrY0c5cGJuUXVaMlYwUlc1a2NHOXBiblJKWkNncExGeHlYRzVjZEZ4MFhIUmNkRzV2WkdWSlpEb2dibTkwYVdaNVRtOWtaVWxrTEZ4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RFRjJLQ2t1YzNSaGNuUkhZV1JuWlhRb0lGeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RIVnlhU3dnWEhKY2JseDBYSFJjZEZ4MFhIUnBibWwwYVdGc1NXNTBaWEptWVdObGN6b2dhVzVwZEdsaGJFbHVkR1Z5Wm1GalpYTkZibU52WkdWa0xDQmNjbHh1WEhSY2RGeDBYSFJjZEdWd1ZHOU9iM1JwWm5rc0lGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEgwZ0tUdGNjbHh1WEhSOUlGeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2x6VW1WdGIzUmxLQ2tnT2lCaWIyOXNaV0Z1WEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlDRWhkR2hwY3k1bWFXNWtTVzVwZEdsaGJFbHVkR1Z5Wm1GalpTZ2dVbVZ0YjNSbFIyRmtaMlYwUTI5dGNHOXVaVzUwTG1sdWRHVnlabUZqWlU1aGJXVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCUVpYSnphWE4wY3lCMGFHVWdaMkZrWjJWMEozTWdjMlYwZEdsdVozTXVJRlJvWlhObElIZGxhV3hzSUdKbElIQmhjM05sWkNCMGJ5QjBhR1VnWjJGa1oyVjBJRnh5WEc1Y2RDQXFJSFpwWVNCMGFHVWdZMkZzYkdKaFkyc2djbVZuYVhOMFpYSmxaQ0IzYVhSb0lISmxaMmx6ZEdWeVJtOXlVMlYwZEdsdVozTWdkMmhsYm1WMlpYSWdkR2hsSUZ4eVhHNWNkQ0FxSUdkaFpHZGxkQ0JwY3lCeVpXeHZZV1JsWkM1Y2NseHVYSFFnS2lCQWNIVmliR2xqWEhKY2JseDBJQ292WEhKY2JseDBjSFZpYkdsaklITmhkbVZUWlhSMGFXNW5jeWdnYzJWMGRHbHVaM002SUdGdWVTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzF6WnpvZ1RYTm5VMkYyWlZObGRIUnBibWR6SUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGMyVjBkR2x1WjNNc1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBkR2hwY3k1dFgyVnVaSEJ2YVc1MExuTmxibVJOWlhOellXZGxLQ0JOWlhOellXZGxWSGx3WlM1VFlYWmxVMlYwZEdsdVozTXNJRzF6WnlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCallXeHNZbUZqYXlCeVpXZHBjM1JsY21Wa0lIZHBkR2dnZEdocGN5Qm1kVzVqZEdsdmJpQjNhV3hzSUdKbElHbHVkbTlyWldRZ2QyaGxibHh5WEc1Y2RDQXFJSFJvWlNCbllXUm5aWFFuY3lCelpYUjBhVzVuY3lCaGNtVWdjbVZzYjJGa1pXUWdabkp2YlNCMGFHVWdjMlZ5ZG1WeUxseHlYRzVjZENBcUlFQndkV0pzYVdOY2NseHVYSFFnS2k5Y2NseHVYSFJ3ZFdKc2FXTWdjbVZuYVhOMFpYSkdiM0pUWlhSMGFXNW5jeWdnWTJGc2JHSmhZMnM2SUNnZ2MyVjBkR2x1WjNNNklHRnVlU0FwSUQwK0lIWnZhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWJWOXZibE5sZEhScGJtZHpVbVZqWldsMlpXUWdQU0JqWVd4c1ltRmphenRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCU1pYUjFjbTV6SUhSb1pTQmxibVJ3YjJsdWRDQmhaR1J5WlhOeklHWnZjaUJoSUVSUFRTQnViMlJsSUVsa0xDQnZjaUJ1ZFd4c0lHbG1JSFJvWlhKbFhISmNibHgwSUNvZ2FYTnVKM1FnWVNCdFlYUmphR2x1WnlCQllYSmtkbUZ5YXlCdWIyUmxJSGRwZEdnZ2RHaGhkQ0JKWkM1Y2NseHVYSFFnS2k5Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwUlc1a2NHOXBiblJCWkdSeVpYTnpSbTl5U1dRb0lHbGtPaUJ6ZEhKcGJtY2dLVG9nUlc1a2NHOXBiblJCWkdSeVhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHVnNaVzFsYm5RZ1BTQmtiMk4xYldWdWRDNW5aWFJGYkdWdFpXNTBRbmxKWkNnZ2FXUWdLVHRjY2x4dVhIUmNkR2xtS0NBaFpXeGxiV1Z1ZENBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW1aaGFXeGxaQ0IwYnlCbWFXNWtJR2xrSUZ3aUlDc2dhV1FnS1R0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lHVnNaVzFsYm5RdWJtOWtaVTVoYldVdWRHOU1iM2RsY2tOaGMyVW9LU0FoUFNCY0ltRjJMVzV2WkdWY0lpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0ltVnNaVzFsYm5RZ2QyRnpJRzV2ZENCaGJpQmhkaTF1YjJSbElGd2lJQ3NnYVdRZ0tUdGNjbHh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJR0YwZEhJZ1BTQmxiR1Z0Wlc1MExtZGxkRUYwZEhKcFluVjBaU2dnWENKdWIyUmxTV1JjSWlBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZoZEhSeUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUZ3aVpXeGxiV1Z1ZENCa2FXUnVKM1FnYUdGMlpTQnViMlJsU1dRZ2MyVjBJRndpSUNzZ2FXUWdLVHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRzUxYkd3N1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBiR1YwSUc1dlpHVkpaQ0E5SUhCaGNuTmxTVzUwS0NCaGRIUnlJQ2s3WEhKY2JseDBYSFJ5WlhSMWNtNGdlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQkZibVJ3YjJsdWRGUjVjR1V1VG05a1pTeGNjbHh1WEhSY2RGeDBaVzVrY0c5cGJuUkpaRG9nZEdocGN5NW5aWFJGYm1Sd2IybHVkRWxrS0Nrc1hISmNibHgwWEhSY2RHNXZaR1ZKWkRvZ2JtOWtaVWxrTEZ4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwTHlvcUlFRmtaSE1nWVNCb1lXNWtiR1Z5SUdadmNpQmhJSEpoZHlCQllYSmtkbUZ5YXlCdFpYTnpZV2RsTGlCWmIzVWdjSEp2WW1GaWJIa2daRzl1SjNRZ2JtVmxaQ0IwYUdsekxpQXFMMXh5WEc1Y2RIQjFZbXhwWXlCeVpXZHBjM1JsY2sxbGMzTmhaMlZJWVc1a2JHVnlLQ0IwZVhCbE9pQk5aWE56WVdkbFZIbHdaU3dnYUdGdVpHeGxjam9nVFdWemMyRm5aVWhoYm1Sc1pYSWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11YlY5bGJtUndiMmx1ZEM1eVpXZHBjM1JsY2toaGJtUnNaWElvSUhSNWNHVXNJR2hoYm1Sc1pYSWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCQlpHUnpJR0Z1SUdGemVXNWphSEp2Ym05MWN5Qm9ZVzVrYkdWeUlHWnZjaUJoSUhKaGR5QkJZWEprZG1GeWF5QnRaWE56WVdkbExpQlpiM1VnY0hKdlltRmliSGtnWkc5dUozUWdibVZsWkNCMGFHbHpMaUFxTDF4eVhHNWNkSEIxWW14cFl5QnlaV2RwYzNSbGNrRnplVzVqVFdWemMyRm5aVWhoYm1Sc1pYSW9JSFI1Y0dVNklFMWxjM05oWjJWVWVYQmxMQ0JvWVc1a2JHVnlPaUJCYzNsdVkwMWxjM05oWjJWSVlXNWtiR1Z5SUNsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtMWZaVzVrY0c5cGJuUXVjbVZuYVhOMFpYSkJjM2x1WTBoaGJtUnNaWElvSUhSNWNHVXNJR2hoYm1Sc1pYSWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCVFpXNWtjeUJoSUcxbGMzTmhaMlVnZEc4Z2RHaGxJSE5sY25abGNpNGdXVzkxSUhCeWIySmhZbXg1SUdSdmJpZDBJRzVsWldRZ2RHaHBjeUJsYVhSb1pYSXVJQ292WEhKY2JseDBjSFZpYkdsaklITmxibVJOWlhOellXZGxLQ0IwZVhCbE9pQk5aWE56WVdkbFZIbHdaU3dnYldWemMyRm5aVG9nYjJKcVpXTjBMQ0J6Wlc1a2FXNW5UbTlrWlQ4NklHNTFiV0psY2lBcFhISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NXRYMlZ1WkhCdmFXNTBMbk5sYm1STlpYTnpZV2RsS0NCMGVYQmxMQ0J0WlhOellXZGxMQ0J6Wlc1a2FXNW5UbTlrWlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MEx5b3FJRk5sYm1SeklHRWdiV1Z6YzJGblpTQmhibVFnY21WMGRYSnVjeUJoSUhCeWIyMXBjMlVnZEdoaGRDQnlaWE52YkhabGN5QjNhR1Z1SUhSb1pTQnlaWE53YjI1elpTQjBieUIwYUdGMElHMWxjM05oWjJWY2NseHVYSFFnS2lCaGNuSnBkbVZ6TGx4eVhHNWNkQ0FxTDF4eVhHNWNkSEIxWW14cFl5QnpaVzVrVFdWemMyRm5aVUZ1WkZkaGFYUkdiM0pTWlhOd2IyNXpaVHhVUGlnZ2RIbHdaVG9nVFdWemMyRm5aVlI1Y0dVc0lHMXpaem9nWVc1NUxDQnlaWE53YjI1elpWUjVjR1U2SUUxbGMzTmhaMlZVZVhCbElDazZYSEpjYmx4MFhIUlFjbTl0YVhObFBDQmJJRlFzSUVWdWRtVnNiM0JsSUYwZ1BseHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUIwYUdsekxtMWZaVzVrY0c5cGJuUXVjMlZ1WkUxbGMzTmhaMlZCYm1SWFlXbDBSbTl5VW1WemNHOXVjMlU4VkQ0b0lIUjVjR1VzSUcxelp5d2djbVZ6Y0c5dWMyVlVlWEJsSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1ZlZ4eVhHNWNjbHh1SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19nYWRnZXRfaW5mby50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2dhZGdldF9pbmZvLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19HYWRnZXRJbmZvSW50ZXJmYWNlLCBBdkdhZGdldEluZm8gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcImtfR2FkZ2V0SW5mb0ludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19HYWRnZXRJbmZvSW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldEluZm9cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2R2FkZ2V0SW5mbzsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBUaGUgaW50ZXJmYWNlIG5hbWUgZm9yIHtAbGluayBBdkdhZGdldEluZm99ICovXFxyXFxuY29uc3Qga19HYWRnZXRJbmZvSW50ZXJmYWNlID0gXFxcImFhcmR2YXJrX2dhZGdldF9pbmZvQDFcXFwiO1xcclxcbi8qKiBUaGlzIGNvbXBvbmVudCBjcmVhdGVzIGFuIHtAbGluayBBdkludGVyZmFjZUVudGl0eX0gdGhhdCByZXByZXNlbnRzIHRoZSBnYWRnZXRcXHJcXG4gKiB0byBvdGhlciBVSSBlbGVtZW50cyBpbiBBYXJkdmFyay4gVGhpcyBlbnRpdHkgaXMgd2hhdCBhbGxvd3MgdXNlcnMgdG8gc3RhcnQsIHN0YXJ0LFxcclxcbiAqIHN0b3AsIGFuZCBmYXZvcml0ZSB0aGUgZ2FkZ2V0LCBhbW9uZyBvdGhlciB0aGluZ3MuXFxyXFxuICovXFxyXFxuZnVuY3Rpb24gQXZHYWRnZXRJbmZvKHByb3BzKSB7XFxyXFxuICAgIGxldCBvbkdhZGdldEluZm8gPSAoYWN0aXZlSW50ZXJmYWNlKSA9PiB7XFxyXFxuICAgICAgICBsZXQgZXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogXFxcImdhZGdldF9pbmZvXFxcIixcXHJcXG4gICAgICAgICAgICBnYWRnZXRVcmw6IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnVybCxcXHJcXG4gICAgICAgICAgICBnYWRnZXRNYW5pZmVzdDogX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkubWFuaWZlc3QsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgYWN0aXZlSW50ZXJmYWNlLnNlbmRFdmVudChldmVudCk7XFxyXFxuICAgIH07XFxyXFxuICAgIGxldCB2b2x1bWVzID0gW1xcclxcbiAgICAgICAgT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBwcm9wcy52b2x1bWUpLCB7IHNjYWxlOiAxLjUsIGNvbnRleHQ6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJFVm9sdW1lQ29udGV4dFxcXCJdLkFsd2F5cyB9KSxcXHJcXG4gICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMudm9sdW1lKSwgeyBzY2FsZTogNC4wLCBjb250ZXh0OiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiRVZvbHVtZUNvbnRleHRcXFwiXS5Db250aW51ZU9ubHkgfSksXFxyXFxuICAgIF07XFxyXFxuICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiXSwgeyB2b2x1bWU6IHZvbHVtZXMsIHRyYW5zbWl0czogW1xcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IGtfR2FkZ2V0SW5mb0ludGVyZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yOiBvbkdhZGdldEluZm8sXFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgXSB9KTtcXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTluWVdSblpYUmZhVzVtYnk1MGMzZy9aVFppTVNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQkswSTdRVUZEWXp0QlFVTnZRenRCUVVOeFFqdEJRVVYwUnl4clJFRkJhMFE3UVVGRE0wTXNUVUZCVFN4eFFrRkJjVUlzUjBGQlJ5eDNRa0ZCZDBJc1EwRkJRenRCUVdsQ09VUTdPenRIUVVkSE8wRkJRMGtzVTBGQlV5eFpRVUZaTEVOQlFVVXNTMEZCZDBJN1NVRkZja1FzU1VGQlNTeFpRVUZaTEVkQlFVY3NRMEZCUlN4bFFVRm5ReXhGUVVGRkxFVkJRVVU3VVVGRmVFUXNTVUZCU1N4TFFVRkxMRWRCUTFRN1dVRkRReXhKUVVGSkxFVkJRVVVzWVVGQllUdFpRVU51UWl4VFFVRlRMRVZCUVVVc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4SFFVRkhPMWxCUTJ4RExHTkJRV01zUlVGQlJTeDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExGRkJRVkU3VTBGRE5VTXNRMEZCUXp0UlFVVkdMR1ZCUVdVc1EwRkJReXhUUVVGVExFTkJRVVVzUzBGQlN5eERRVUZGTEVOQlFVTTdTVUZEY0VNc1EwRkJRenRKUVVWRUxFbEJRVWtzVDBGQlR5eEhRVU5ZTzNkRFFVTk5MRXRCUVVzc1EwRkJReXhOUVVGTkxFdEJRVVVzUzBGQlN5eEZRVUZGTEVkQlFVY3NSVUZCUlN4UFFVRlBMRVZCUVVVc01FVkJRV01zUTBGQlF5eE5RVUZOTzNkRFFVTjRSQ3hMUVVGTExFTkJRVU1zVFVGQlRTeExRVUZGTEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1QwRkJUeXhGUVVGRkxEQkZRVUZqTEVOQlFVTXNXVUZCV1R0TFFVTnVSU3hEUVVGRE8wbEJSVVlzVDBGQlR5eHZSRUZCUXl3MFJVRkJhVUlzU1VGQlF5eE5RVUZOTEVWQlFVY3NUMEZCVHl4RlFVTjZReXhUUVVGVExFVkJRMUk3V1VGRFF6dG5Ra0ZEUXl4TFFVRkxMRVZCUVVVc2NVSkJRWEZDTzJkQ1FVTTFRaXhUUVVGVExFVkJRVVVzV1VGQldUdGhRVU4yUWp0VFFVTkVMRWRCUTBNN1FVRkRUQ3hEUVVGRElpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDJkaFpHZGxkRjlwYm1adkxuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhRZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRUYyU1c1MFpYSm1ZV05sUlc1MGFYUjVMQ0JCWTNScGRtVkpiblJsY21aaFkyVWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMmx1ZEdWeVptRmpaVjlsYm5ScGRIa25PMXh5WEc1cGJYQnZjblFnZXlCQmRsWnZiSFZ0WlN3Z1FXRnlaSFpoY210TllXNXBabVZ6ZEN3Z1JWWnZiSFZ0WlZSNWNHVXNJRVZXYjJ4MWJXVkRiMjUwWlhoMElIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1WEhKY2JpOHFLaUJVYUdVZ2FXNTBaWEptWVdObElHNWhiV1VnWm05eUlIdEFiR2x1YXlCQmRrZGhaR2RsZEVsdVptOTlJQ292WEhKY2JtVjRjRzl5ZENCamIyNXpkQ0JyWDBkaFpHZGxkRWx1Wm05SmJuUmxjbVpoWTJVZ1BTQmNJbUZoY21SMllYSnJYMmRoWkdkbGRGOXBibVp2UURGY0lqdGNjbHh1WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRrZGhaR2RsZEVsdVptOTlJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FYWkhZV1JuWlhSSmJtWnZVSEp2Y0hOY2NseHVlMXh5WEc1Y2RIWnZiSFZ0WlRvZ1FYWldiMngxYldVN1hISmNibjFjY2x4dVhISmNiaThxS2lCVWFHVWdaWFpsYm5RZ1ptOXliV0YwSUdadmNpQjBhR1VnZTBCc2FXNXJJR3RmUjJGa1oyVjBTVzVtYjBsdWRHVnlabUZqWlgwZ2FXNTBaWEptWVdObExpQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkaFpHZGxkRWx1Wm05RmRtVnVkRnh5WEc1N1hISmNibHgwZEhsd1pUb2dYQ0puWVdSblpYUmZhVzVtYjF3aUxGeHlYRzVjZEdkaFpHZGxkRlZ5YkRvZ2MzUnlhVzVuTEZ4eVhHNWNkR2RoWkdkbGRFMWhibWxtWlhOME9pQkJZWEprZG1GeWEwMWhibWxtWlhOMExGeHlYRzU5WEhKY2JseHlYRzR2S2lvZ1ZHaHBjeUJqYjIxd2IyNWxiblFnWTNKbFlYUmxjeUJoYmlCN1FHeHBibXNnUVhaSmJuUmxjbVpoWTJWRmJuUnBkSGw5SUhSb1lYUWdjbVZ3Y21WelpXNTBjeUIwYUdVZ1oyRmtaMlYwSUZ4eVhHNGdLaUIwYnlCdmRHaGxjaUJWU1NCbGJHVnRaVzUwY3lCcGJpQkJZWEprZG1GeWF5NGdWR2hwY3lCbGJuUnBkSGtnYVhNZ2QyaGhkQ0JoYkd4dmQzTWdkWE5sY25NZ2RHOGdjM1JoY25Rc0lITjBZWEowTEZ4eVhHNGdLaUJ6ZEc5d0xDQmhibVFnWm1GMmIzSnBkR1VnZEdobElHZGhaR2RsZEN3Z1lXMXZibWNnYjNSb1pYSWdkR2hwYm1kekxseHlYRzRnS2k5Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlFRjJSMkZrWjJWMFNXNW1ieWdnY0hKdmNITTZJRUYyUjJGa1oyVjBTVzVtYjFCeWIzQnpJQ2xjY2x4dWUxeHlYRzVjZEd4bGRDQnZia2RoWkdkbGRFbHVabThnUFNBb0lHRmpkR2wyWlVsdWRHVnlabUZqWlRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUNrOVBseHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmxkbVZ1ZERvZ1IyRmtaMlYwU1c1bWIwVjJaVzUwSUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRIbHdaVG9nWENKbllXUm5aWFJmYVc1bWIxd2lMRnh5WEc1Y2RGeDBYSFJuWVdSblpYUlZjbXc2SUVGMlIyRmtaMlYwTG1sdWMzUmhibU5sS0NrdWRYSnNMRnh5WEc1Y2RGeDBYSFJuWVdSblpYUk5ZVzVwWm1WemREb2dRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV0WVc1cFptVnpkQ3hjY2x4dVhIUmNkSDA3WEhKY2JseHlYRzVjZEZ4MFlXTjBhWFpsU1c1MFpYSm1ZV05sTG5ObGJtUkZkbVZ1ZENnZ1pYWmxiblFnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEd4bGRDQjJiMngxYldWeklEMGdYSEpjYmx4MFd5QmNjbHh1WEhSY2RIc2dMaTR1Y0hKdmNITXVkbTlzZFcxbExDQnpZMkZzWlRvZ01TNDFMQ0JqYjI1MFpYaDBPaUJGVm05c2RXMWxRMjl1ZEdWNGRDNUJiSGRoZVhNZ2ZTeGNjbHh1WEhSY2RIc2dMaTR1Y0hKdmNITXVkbTlzZFcxbExDQnpZMkZzWlRvZ05DNHdMQ0JqYjI1MFpYaDBPaUJGVm05c2RXMWxRMjl1ZEdWNGRDNURiMjUwYVc1MVpVOXViSGtnZlN4Y2NseHVYSFJkTzF4eVhHNWNjbHh1WEhSeVpYUjFjbTRnUEVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUhadmJIVnRaVDE3SUhadmJIVnRaWE1nZlZ4eVhHNWNkRngwZEhKaGJuTnRhWFJ6UFhzZ1hISmNibHgwWEhSY2RGdGNjbHh1WEhSY2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RGeDBhV1poWTJVNklHdGZSMkZrWjJWMFNXNW1iMGx1ZEdWeVptRmpaU3hjY2x4dVhIUmNkRngwWEhSY2RIQnliMk5sYzNOdmNqb2diMjVIWVdSblpYUkpibVp2TEZ4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYVnh5WEc1Y2RGeDBmUzgrWEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0X2luZm8udHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19nYWRnZXRfc2VlZC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2dhZGdldF9zZWVkLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogR2FkZ2V0U2VlZEhpZ2hsaWdodCwgR2FkZ2V0U2VlZENvbnRhaW5lckNvbXBvbmVudCwgZmluZEdsdGZJY29uRnVsbFVybCwgcmVuZGVyR2FkZ2V0SWNvbiwgQXZHYWRnZXRTZWVkICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRTZWVkSGlnaGxpZ2h0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJmaW5kR2x0Zkljb25GdWxsVXJsXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBmaW5kR2x0Zkljb25GdWxsVXJsOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJyZW5kZXJHYWRnZXRJY29uXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiByZW5kZXJHYWRnZXRJY29uOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldFNlZWRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2R2FkZ2V0U2VlZDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQHRsYXVra2FuL3RzbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGlzX3VybF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgaXMtdXJsICovIFxcXCIuL25vZGVfbW9kdWxlcy9pcy11cmwvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgaXNfdXJsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oaXNfdXJsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19jb21wb3NlZF9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5ICovIFxcXCIuL3NyYy9hYXJkdmFya19jb21wb3NlZF9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbnRpdHlfY2hpbGRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW50aXR5X2NoaWxkICovIFxcXCIuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfdHJhbnNmb3JtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbW92ZWFibGUgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9tb3ZlYWJsZS50c1xcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBSZXByZXNlbnRzIHRoZSBwb3NzaWJsZSBoaWdobGlnaHQgc3RhdGVzIG9mIGFuIHtAbGluayBBdkdhZGdldFNlZWR9ICovXFxyXFxudmFyIEdhZGdldFNlZWRIaWdobGlnaHQ7XFxyXFxuKGZ1bmN0aW9uIChHYWRnZXRTZWVkSGlnaGxpZ2h0KSB7XFxyXFxuICAgIEdhZGdldFNlZWRIaWdobGlnaHRbR2FkZ2V0U2VlZEhpZ2hsaWdodFtcXFwiSWRsZVxcXCJdID0gMF0gPSBcXFwiSWRsZVxcXCI7XFxyXFxuICAgIEdhZGdldFNlZWRIaWdobGlnaHRbR2FkZ2V0U2VlZEhpZ2hsaWdodFtcXFwiR3JhYmJlck5lYXJieVxcXCJdID0gMV0gPSBcXFwiR3JhYmJlck5lYXJieVxcXCI7XFxyXFxuICAgIEdhZGdldFNlZWRIaWdobGlnaHRbR2FkZ2V0U2VlZEhpZ2hsaWdodFtcXFwiR2FkZ2V0U3RhcnRpbmdcXFwiXSA9IDJdID0gXFxcIkdhZGdldFN0YXJ0aW5nXFxcIjtcXHJcXG4gICAgR2FkZ2V0U2VlZEhpZ2hsaWdodFtHYWRnZXRTZWVkSGlnaGxpZ2h0W1xcXCJNZW51XFxcIl0gPSAzXSA9IFxcXCJNZW51XFxcIjtcXHJcXG59KShHYWRnZXRTZWVkSGlnaGxpZ2h0IHx8IChHYWRnZXRTZWVkSGlnaGxpZ2h0ID0ge30pKTtcXHJcXG52YXIgR2FkZ2V0U2VlZFBoYXNlO1xcclxcbihmdW5jdGlvbiAoR2FkZ2V0U2VlZFBoYXNlKSB7XFxyXFxuICAgIEdhZGdldFNlZWRQaGFzZVtHYWRnZXRTZWVkUGhhc2VbXFxcIklkbGVcXFwiXSA9IDBdID0gXFxcIklkbGVcXFwiO1xcclxcbiAgICBHYWRnZXRTZWVkUGhhc2VbR2FkZ2V0U2VlZFBoYXNlW1xcXCJHcmFiYmVyTmVhcmJ5XFxcIl0gPSAxXSA9IFxcXCJHcmFiYmVyTmVhcmJ5XFxcIjtcXHJcXG4gICAgR2FkZ2V0U2VlZFBoYXNlW0dhZGdldFNlZWRQaGFzZVtcXFwiV2FpdGluZ0ZvckdhZGdldFN0YXJ0XFxcIl0gPSAyXSA9IFxcXCJXYWl0aW5nRm9yR2FkZ2V0U3RhcnRcXFwiO1xcclxcbiAgICBHYWRnZXRTZWVkUGhhc2VbR2FkZ2V0U2VlZFBoYXNlW1xcXCJXYWl0aW5nRm9yUmVncmFiXFxcIl0gPSAzXSA9IFxcXCJXYWl0aW5nRm9yUmVncmFiXFxcIjtcXHJcXG4gICAgR2FkZ2V0U2VlZFBoYXNlW0dhZGdldFNlZWRQaGFzZVtcXFwiV2FpdGluZ0ZvclJlZHJvcFRvRmluaXNoXFxcIl0gPSA0XSA9IFxcXCJXYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2hcXFwiO1xcclxcbiAgICBHYWRnZXRTZWVkUGhhc2VbR2FkZ2V0U2VlZFBoYXNlW1xcXCJNZW51XFxcIl0gPSA1XSA9IFxcXCJNZW51XFxcIjtcXHJcXG59KShHYWRnZXRTZWVkUGhhc2UgfHwgKEdhZGdldFNlZWRQaGFzZSA9IHt9KSk7XFxyXFxuY29uc3Qga19zZWVkRnJvbUdhZGdldFF1YXQgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcInF1YXRGcm9tQXhpc0FuZ2xlRGVncmVlc1xcXCJdKShfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcInZlYzNcXFwiXS5yaWdodCwgLTkwKTtcXHJcXG5jb25zdCBrX3NlZWRGcm9tR2FkZ2V0ID0geyByb3RhdGlvbjogeyB4OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC54LCB5OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC55LCB6OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC56LCB3OiBrX3NlZWRGcm9tR2FkZ2V0UXVhdC53IH0gfTtcXHJcXG4vKiogQGhpZGRlbiAqL1xcclxcbmNsYXNzIEdhZGdldFNlZWRDb250YWluZXJDb21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcihjaGlsZEFkZGVkQ2FsbGJhY2ssIGNoaWxkUmVtb3ZlZENhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmNvbnRlbnRzUmVzdGVkID0gZmFsc2U7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlQ29udGFpbmVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuY2hpbGRBZGRlZENhbGxiYWNrID0gY2hpbGRBZGRlZENhbGxiYWNrO1xcclxcbiAgICAgICAgdGhpcy5jaGlsZFJlbW92ZWRDYWxsYmFjayA9IGNoaWxkUmVtb3ZlZENhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUxpc3RlbmVyKCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5lbnRpdHlDYWxsYmFjaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25Db250YWluZXJTdGFydChhY3RpdmVDb250YWluZXIpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHRoaXMuY29udGVudHNFcGEgPSBhY3RpdmVDb250YWluZXIucGVlcjtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKGBTZWVkIGNvbnRhaW5lciBvbkNvbnRhaW5lclN0YXJ0IHdpdGggJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGFjdGl2ZUNvbnRhaW5lci5wZWVyKX1gKTtcXHJcXG4gICAgICAgIGFjdGl2ZUNvbnRhaW5lci5vbkV2ZW50KChldmVudCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuY29udGVudHNSZXN0ZWQgPSBldmVudC5zdGF0ZSA9PSBcXFwiUmVzdGluZ1xcXCI7XFxyXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVDb250YWluZXIub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTZWVkIGNvbnRhaW5lciBhY3RpdmUgY29udGFpbmVyIGVuZGVkIHdpdGggYFxcclxcbiAgICAgICAgICAgICAgICArIGAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoYWN0aXZlQ29udGFpbmVyLnBlZXIpfWApO1xcclxcbiAgICAgICAgICAgIHRoaXMuY29udGVudHNSZXN0ZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzRXBhID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbnRhaW5lciA9IG51bGw7XFxyXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgICAgIChfYSA9IHRoaXMuY2hpbGRSZW1vdmVkQ2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZUNvbnRhaW5lciA9IGFjdGl2ZUNvbnRhaW5lcjtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuY2hpbGRBZGRlZENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXRzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFtdO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbeyBpZmFjZTogX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRcXFwiXS5jb250YWluZXJJbnRlcmZhY2UsIHByb2Nlc3NvcjogdGhpcy5vbkNvbnRhaW5lclN0YXJ0IH1dO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBwYXJlbnQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHsgcmV0dXJuIFtdOyB9XFxyXFxuICAgIHJlZHJvcChuZXdDb250YWluZXIsIG1vdmVhYmxlVG9SZXBsYWNlKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5hY3RpdmVDb250YWluZXIpIHtcXHJcXG4gICAgICAgICAgICBsZXQgcmVxID0ge1xcclxcbiAgICAgICAgICAgICAgICB0eXBlOiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJDb250YWluZXJSZXF1ZXN0VHlwZVxcXCJdLlJlZHJvcCxcXHJcXG4gICAgICAgICAgICAgICAgbmV3Q29udGFpbmVyLFxcclxcbiAgICAgICAgICAgICAgICBtb3ZlYWJsZVRvUmVwbGFjZSxcXHJcXG4gICAgICAgICAgICAgICAgb2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGU6IGtfc2VlZEZyb21HYWRnZXQsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUNvbnRhaW5lci5zZW5kRXZlbnQocmVxKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBjaGlsZCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnBlZXI7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMuY29udGVudHNFcGEgJiYgdGhpcy5jb250ZW50c1Jlc3RlZCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyByb3RhdGVYOiAtOTAsIGtleTogXFxcInNlZWRcXFwiIH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogdGhpcy5jb250ZW50c0VwYSwga2V5OiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKHRoaXMuY29udGVudHNFcGEpIH0pKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uQ29udGFpbmVyU3RhcnRcXFwiLCBudWxsKTtcXHJcXG5mdW5jdGlvbiBmaW5kSWNvbk9mVHlwZShtYW5pZmVzdCwgbWltZVR5cGUpIHtcXHJcXG4gICAgaWYgKCFtYW5pZmVzdC5pY29ucylcXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICBmb3IgKGxldCBpY29uIG9mIG1hbmlmZXN0Lmljb25zKSB7XFxyXFxuICAgICAgICBpZiAoaWNvbi50eXBlLnRvTG93ZXJDYXNlKCkgPT0gbWltZVR5cGUudG9Mb3dlckNhc2UoKSkge1xcclxcbiAgICAgICAgICAgIHJldHVybiBpY29uO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHJldHVybiBudWxsO1xcclxcbn1cXHJcXG4vKiogRmluZHMgYSBnYWRnZXQgbWFuaWZlc3QncyBnbFRGIG1vZGVsIFVSTCBpZiB0aGVyZSBpcyBvbmUuICovXFxyXFxuZnVuY3Rpb24gZmluZEdsdGZJY29uRnVsbFVybChnYWRnZXRVcmwsIG1hbmlmZXN0KSB7XFxyXFxuICAgIGxldCBtb2RlbCA9IGZpbmRJY29uT2ZUeXBlKG1hbmlmZXN0LCBcXFwibW9kZWwvZ2x0Zi1iaW5hcnlcXFwiKTtcXHJcXG4gICAgaWYgKG1vZGVsKSB7XFxyXFxuICAgICAgICByZXR1cm4gW2lzX3VybF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fX2RlZmF1bHQoKShtb2RlbC5zcmMpID8gbW9kZWwuc3JjXFxyXFxuICAgICAgICAgICAgICAgIDogZ2FkZ2V0VXJsICsgXFxcIi9cXFwiICsgbW9kZWwuc3JjLCBtb2RlbC5yb3RhdGlvbl07XFxyXFxuICAgIH1cXHJcXG4gICAgZWxzZSB7XFxyXFxuICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vKiogUmVuZGVycyBBYXJkdmFyayBjb21wb25lbnRzIGZvciBhIGdhZGdldCdzIGdsVEYgbW9kZWwuICovXFxyXFxuZnVuY3Rpb24gcmVuZGVyR2FkZ2V0SWNvbihnYWRnZXRVcmwsIG1hbmlmZXN0LCByYWRpdXMpIHtcXHJcXG4gICAgbGV0IG1vZGVsSW5mbyA9IGZpbmRHbHRmSWNvbkZ1bGxVcmwoZ2FkZ2V0VXJsLCBtYW5pZmVzdCk7XFxyXFxuICAgIGlmIChtb2RlbEluZm8pIHtcXHJcXG4gICAgICAgIGNvbnN0IFttb2RlbFVybCwgcm90YXRpb25dID0gbW9kZWxJbmZvO1xcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHJvdGF0ZVg6IHJvdGF0aW9uID09PSBudWxsIHx8IHJvdGF0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3RhdGlvbi54LCByb3RhdGVZOiByb3RhdGlvbiA9PT0gbnVsbCB8fCByb3RhdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm90YXRpb24ueSwgcm90YXRlWjogcm90YXRpb24gPT09IG51bGwgfHwgcm90YXRpb24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJvdGF0aW9uLnogfSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2TW9kZWxcXFwiXSwgeyB1cmk6IG1vZGVsVXJsLCBzY2FsZVRvRml0OiB7IHg6IHJhZGl1cywgeTogcmFkaXVzLCB6OiByYWRpdXMgfSB9KSk7XFxyXFxuICAgIH1cXHJcXG4gICAgZWxzZSB7XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZ19idWlsdGluTW9kZWxFcnJvclxcXCJdLCBzY2FsZVRvRml0OiB7IHg6IHJhZGl1cywgeTogcmFkaXVzLCB6OiByYWRpdXMgfSB9KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vKiogQSBncmFiYmFibGUgY29udHJvbCB0aGF0IGNhdXNlcyB0aGUgZ3JhYmJlciB0byBncmFiIGEgbmV3XFxyXFxuICogaW5zdGFuY2Ugb2YgYSBnYWRnZXQgaW5zdGVhZCBvZiB0aGUgY29udHJvbCBpdHNlbGYuXFxyXFxuICovXFxyXFxuY2xhc3MgQXZHYWRnZXRTZWVkIGV4dGVuZHMgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQ29tcG9uZW50XFxcIl0ge1xcclxcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xcclxcbiAgICAgICAgc3VwZXIocHJvcHMpO1xcclxcbiAgICAgICAgdGhpcy5tb3ZlYWJsZUNvbXBvbmVudCA9IG5ldyBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdKHRoaXMub25Nb3ZlYWJsZVVwZGF0ZSk7XFxyXFxuICAgICAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudCA9IG5ldyBHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50KHRoaXMub25OZXdDaGlsZCwgdGhpcy5vbkxvc3RDaGlsZCk7XFxyXFxuICAgICAgICB0aGlzLnJlZkNvbnRhaW5lciA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZVJlZlxcXCJdKCk7XFxyXFxuICAgICAgICB0aGlzLnJlZlNlZWQgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVSZWZcXFwiXSgpO1xcclxcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5JZGxlIH07XFxyXFxuICAgIH1cXHJcXG4gICAgc2VlZFBoYXNlVG9IaWdobGlnaHQocGhhc2UpIHtcXHJcXG4gICAgICAgIHN3aXRjaCAocGhhc2UpIHtcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLklkbGU6XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0LklkbGU7XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuR3JhYmJlck5lYXJieTpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIEdhZGdldFNlZWRIaWdobGlnaHQuR3JhYmJlck5lYXJieTtcXHJcXG4gICAgICAgICAgICBjYXNlIEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yR2FkZ2V0U3RhcnQ6XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvclJlZHJvcFRvRmluaXNoOlxcclxcbiAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLldhaXRpbmdGb3JSZWdyYWI6XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0LkdhZGdldFN0YXJ0aW5nO1xcclxcbiAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBHYWRnZXRTZWVkSGlnaGxpZ2h0Lk1lbnU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUucGhhc2UgIT0gcHJldlN0YXRlLnBoYXNlKSB7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coYFNlZWQgdHJhbnNpdGlvbmVkIHRvICR7R2FkZ2V0U2VlZFBoYXNlW3RoaXMuc3RhdGUucGhhc2VdfWApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IG9sZEhpZ2hsaWdodCA9IHRoaXMuc2VlZFBoYXNlVG9IaWdobGlnaHQocHJldlN0YXRlLnBoYXNlKTtcXHJcXG4gICAgICAgIGxldCBuZXdIaWdobGlnaHQgPSB0aGlzLnNlZWRQaGFzZVRvSGlnaGxpZ2h0KHRoaXMuc3RhdGUucGhhc2UpO1xcclxcbiAgICAgICAgaWYgKG9sZEhpZ2hsaWdodCAhPSBuZXdIaWdobGlnaHQpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2hhbmdpbmcgZnJvbSAke0dhZGdldFNlZWRIaWdobGlnaHRbb2xkSGlnaGxpZ2h0XX0gdG8gJHtHYWRnZXRTZWVkSGlnaGxpZ2h0W25ld0hpZ2hsaWdodF19YCk7XFxyXFxuICAgICAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykuaGlnaGxpZ2h0Q2FsbGJhY2spID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBuZXdIaWdobGlnaHQpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xcclxcbiAgICAgICAgdmFyIF9hLCBfYjtcXHJcXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnBoYXNlICE9IEdhZGdldFNlZWRQaGFzZS5JZGxlKSB7XFxyXFxuICAgICAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykuaGlnaGxpZ2h0Q2FsbGJhY2spID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCBHYWRnZXRTZWVkSGlnaGxpZ2h0LklkbGUpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG9uTW92ZWFibGVVcGRhdGUoKSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgb25Nb3ZlYWJsZVVwZGF0ZSAke0dhZGdldFNlZWRQaGFzZVt0aGlzLnN0YXRlLnBoYXNlXX0gYFxcclxcbiAgICAgICAgICAgICAgICArIGAke19jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXVt0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnN0YXRlXX1gKTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGUucGhhc2UpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuSWRsZTpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb3ZlYWJsZUNvbXBvbmVudC5zdGF0ZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLkdyYWJiZXJOZWFyYnk6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogR2FkZ2V0U2VlZFBoYXNlLkdyYWJiZXJOZWFyYnkgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogR2FkZ2V0U2VlZFBoYXNlLk1lbnUgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgR2FkZ2V0U2VlZFBoYXNlLkdyYWJiZXJOZWFyYnk6XFxyXFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMubW92ZWFibGVDb21wb25lbnQuc3RhdGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVkOlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yR2FkZ2V0U3RhcnQgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRHYWRnZXQoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uSWRsZTpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuSWRsZSB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uR3JhYmJlck5lYXJieTpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuR3JhYmJlck5lYXJieSB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uSW5Db250YWluZXI6XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgd2UgbWlzc2VkIHRoZSBncmFiIGFuZCB3ZXJlIGFscmVhZHkgZHJvcHBlZD9cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFN0YXRlXFxcIl0uTWVudTpcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuTWVudSB9KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvckdhZGdldFN0YXJ0OlxcclxcbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gdGhpcyBzdGF0ZSB3ZSdyZSBtb3N0bHkgZ29pbmcgdG8gaWdub3JlIG1vdmVhYmxlIHN0YXRlIGNoYW5nZXMuXFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyBPdXIgbmV4dCBpbnRlcm5hbCBzdGF0ZSBjaGFuZ2Ugd2lsbCBiZSBkcml2ZW4gYnkgdGhlIGdhZGdldCBzdGFydGluZ1xcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25OZXdDaGlsZCgpIHtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKFxcXCJvbk5ld0NoaWxkXFxcIik7XFxyXFxuICAgICAgICBzd2l0Y2ggKHRoaXMubW92ZWFibGVDb21wb25lbnQuc3RhdGUpIHtcXHJcXG4gICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVkOlxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVncmFiYmluZyBuZXcgZ2FkZ2V0IG1vdmVhYmxlICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKSh0aGlzLmNvbnRhaW5lckNvbXBvbmVudC5jaGlsZCl9YCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclJlZ3JhYigpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVyTmVhcmJ5OlxcclxcbiAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLkluQ29udGFpbmVyOlxcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgcmVkcm9wcGluZyBuZXcgZ2FkZ2V0IG1vdmVhYmxlICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKSh0aGlzLmNvbnRhaW5lckNvbXBvbmVudC5jaGlsZCl9YCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50LnJlZHJvcCh0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnBhcmVudCwgdGhpcy5yZWZTZWVkLmN1cnJlbnQuZ2xvYmFsSWQpO1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2ggfSk7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTFfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLklkbGU6XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJIb3cgZGlkIHdlIGdldCBhbGwgdGhlIHdheSBiYWNrIHRvIGlkbGU/XFxcIik7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG9uTG9zdENoaWxkKCkge1xcclxcbiAgICAgICAgY29uc29sZS5sb2coXFxcImxvc3QgY2hpbGQgaW4gY29udGFpbmVyXFxcIik7XFxyXFxuICAgICAgICBzd2l0Y2ggKHRoaXMuc3RhdGUucGhhc2UpIHtcXHJcXG4gICAgICAgICAgICBjYXNlIEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2g6XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvclJlZ3JhYjpcXHJcXG4gICAgICAgICAgICAgICAgLy8gd2UndmUgYmVlbiBkcm9wcGVkXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwaGFzZTogR2FkZ2V0U2VlZFBoYXNlLklkbGUgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubW92ZWFibGVDb21wb25lbnQucmVzZXQoKTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgc3RhcnRHYWRnZXQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgbG9ja3MgPSBbXFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmYWNlOiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdLmNvbnRhaW5lckludGVyZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlY2VpdmVyOiB0aGlzLnJlZkNvbnRhaW5lci5jdXJyZW50Lmdsb2JhbElkLFxcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5pbnRlcmZhY2VMb2Nrcykge1xcclxcbiAgICAgICAgICAgICAgICBsb2NrcyA9IGxvY2tzLmNvbmNhdCh0aGlzLnByb3BzLmludGVyZmFjZUxvY2tzKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbGV0IHJlcyA9IHlpZWxkIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnN0YXJ0R2FkZ2V0KHRoaXMucHJvcHMuZ2FkZ2V0VXJsLCBsb2Nrcyk7XFxyXFxuICAgICAgICAgICAgaWYgKCFyZXMuc3VjY2Vzcykge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgcGhhc2U6IEdhZGdldFNlZWRQaGFzZS5JZGxlIH0pO1xcclxcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcInN0YXJ0R2FkZ2V0IGZhaWxlZFxcXCIpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHRyaWdnZXJSZWdyYWIoKSB7XFxyXFxuICAgICAgICB0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnRyaWdnZXJSZWdyYWIodGhpcy5jb250YWluZXJDb21wb25lbnQuY2hpbGQsIGtfc2VlZEZyb21HYWRnZXQpO1xcclxcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBoYXNlOiBHYWRnZXRTZWVkUGhhc2UuV2FpdGluZ0ZvclJlZ3JhYiB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkdhZGdldFN0YXJ0ZWQoc3VjY2VzcywgbWFpbkdyYWJiYWJsZUlkKSB7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwibWFpbiBncmFiYmFibGUgaWQgd2FzIFxcXCIgKyBtYWluR3JhYmJhYmxlSWQpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCByYWRpdXMgPSB0aGlzLnByb3BzLnJhZGl1cyA/IHRoaXMucHJvcHMucmFkaXVzIDogMC4xO1xcclxcbiAgICAgICAgbGV0IHNjYWxlO1xcclxcbiAgICAgICAgc3dpdGNoICh0aGlzLnN0YXRlLnBoYXNlKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBHYWRnZXRTZWVkUGhhc2UuSWRsZTpcXHJcXG4gICAgICAgICAgICAgICAgc2NhbGUgPSAxLjA7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgIHNjYWxlID0gMS4yNTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgdm9sdW1lO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUucGhhc2UgPT0gR2FkZ2V0U2VlZFBoYXNlLldhaXRpbmdGb3JSZWRyb3BUb0ZpbmlzaCkge1xcclxcbiAgICAgICAgICAgIC8vIHdlIHdhbnQgdG8gbm90IG1hdGNoIGFnYWluc3QgdGhlIGNvbnRhaW5lciB3ZSdyZSB0ZWxsaW5nIG91ciBjaGlsZCB0byByZWRyb3AgaW50b1xcclxcbiAgICAgICAgICAgIHZvbHVtZSA9IHsgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uRW1wdHkgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMuY3VzdG9tVm9sdW1lKSB7XFxyXFxuICAgICAgICAgICAgdm9sdW1lID0gdGhpcy5wcm9wcy5jdXN0b21Wb2x1bWU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICB2b2x1bWUgPSB7IHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLlNwaGVyZSwgcmFkaXVzOiByYWRpdXMgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGxldCBkcmF3SWNvbiA9IHRoaXMuc3RhdGUucGhhc2UgIT0gR2FkZ2V0U2VlZFBoYXNlLldhaXRpbmdGb3JSZWdyYWJcXHJcXG4gICAgICAgICAgICAmJiB0aGlzLnN0YXRlLnBoYXNlICE9IEdhZGdldFNlZWRQaGFzZS5XYWl0aW5nRm9yUmVkcm9wVG9GaW5pc2g7XFxyXFxuICAgICAgICByZXR1cm4gKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2Q29tcG9zZWRFbnRpdHlcXFwiXSwgeyBjb21wb25lbnRzOiBbdGhpcy5tb3ZlYWJsZUNvbXBvbmVudF0sIHJlZjogdGhpcy5yZWZTZWVkLCB2b2x1bWU6IHZvbHVtZSB9LFxcclxcbiAgICAgICAgICAgIGRyYXdJY29uICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHVuaWZvcm1TY2FsZTogc2NhbGUgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuY3VzdG9tQXBwZWFyYW5jZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICF0aGlzLnByb3BzLmN1c3RvbUFwcGVhcmFuY2UgJiZcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJHYWRnZXRJY29uKHRoaXMucHJvcHMuZ2FkZ2V0VXJsLCB0aGlzLnByb3BzLm1hbmlmZXN0LCByYWRpdXMpKSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJBdkNvbXBvc2VkRW50aXR5XFxcIl0sIHsgY29tcG9uZW50czogW3RoaXMuY29udGFpbmVyQ29tcG9uZW50XSwgcmVmOiB0aGlzLnJlZkNvbnRhaW5lciwgdm9sdW1lOiB7IHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLkVtcHR5IH0gfSkpKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXRTZWVkLnByb3RvdHlwZSwgXFxcIm9uTW92ZWFibGVVcGRhdGVcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXRTZWVkLnByb3RvdHlwZSwgXFxcIm9uTmV3Q2hpbGRcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZHYWRnZXRTZWVkLnByb3RvdHlwZSwgXFxcIm9uTG9zdENoaWxkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYVxcclxcbl0sIEF2R2FkZ2V0U2VlZC5wcm90b3R5cGUsIFxcXCJvbkdhZGdldFN0YXJ0ZWRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOW5ZV1JuWlhSZmMyVmxaQzUwYzNnL05XTmpZaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN1FVRkJhMDg3UVVGRE4wdzdRVUZEU0R0QlFVTlFPMEZCUTBrN1FVRkZaMFE3UVVGRGRrSTdRVUZEV0R0QlFVVkdPMEZCUTFFN1FVRkRjMFU3UVVGRmVrZ3NNRVZCUVRCRk8wRkJRekZGTEVsQlFWa3NiVUpCVFZnN1FVRk9SQ3hYUVVGWkxHMUNRVUZ0UWp0SlFVVTVRaXcyUkVGQlNUdEpRVU5LTEN0RlFVRmhPMGxCUTJJc2FVWkJRV003U1VGRFpDdzJSRUZCU1R0QlFVTk1MRU5CUVVNc1JVRk9WeXh0UWtGQmJVSXNTMEZCYmtJc2JVSkJRVzFDTEZGQlRUbENPMEZCYlVSRUxFbEJRVXNzWlVGUlNqdEJRVkpFTEZkQlFVc3NaVUZCWlR0SlFVVnVRaXh4UkVGQlNUdEpRVU5LTEhWRlFVRmhPMGxCUTJJc2RVWkJRWEZDTzBsQlEzSkNMRFpGUVVGblFqdEpRVU5vUWl3MlJrRkJkMEk3U1VGRGVFSXNjVVJCUVVrN1FVRkRUQ3hEUVVGRExFVkJVa2tzWlVGQlpTeExRVUZtTEdWQlFXVXNVVUZSYmtJN1FVRlJSQ3hOUVVGTkxHOUNRVUZ2UWl4SFFVRkhMRFJHUVVGM1FpeERRVUZGTEd0RVFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZGTEVOQlFVTTdRVUZEZWtVc1RVRkJUU3huUWtGQlowSXNSMEZCYjBJc1JVRkJSU3hSUVVGUkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVXNiMEpCUVc5Q0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4dlFrRkJiMElzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc2IwSkJRVzlDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRCUVVWMlN5eGpRVUZqTzBGQlExQXNUVUZCVFN3MFFrRkJORUk3U1VGVGVFTXNXVUZCWVN4clFrRkJPRUlzUlVGQlJTeHZRa0ZCWjBNN1VVRk9ja1VzYlVKQlFXTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkRka0lzYlVKQlFXTXNSMEZCWlN4SlFVRkpMRU5CUVVNN1VVRkRiRU1zYjBKQlFXVXNSMEZCYjBJc1NVRkJTU3hEUVVGRE8xRkJUUzlETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJRenRSUVVNM1F5eEpRVUZKTEVOQlFVTXNiMEpCUVc5Q0xFZEJRVWNzYjBKQlFXOUNMRU5CUVVNN1NVRkRiRVFzUTBGQlF6dEpRVVZQTEdOQlFXTTdPMUZCUlhKQ0xGVkJRVWtzUTBGQlF5eGpRVUZqTEN0RFFVRnVRaXhKUVVGSkxFVkJRVzlDTzBsQlEzcENMRU5CUVVNN1NVRkhUeXhuUWtGQlowSXNRMEZCUlN4bFFVRm5RenM3VVVGRmVrUXNTVUZCU1N4RFFVRkRMRmRCUVZjc1IwRkJSeXhsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlJYaERMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzZDBOQlFYbERMSGRHUVVGdlFpeERRVUZGTEdWQlFXVXNRMEZCUXl4SlFVRkpMRU5CUVVjc1JVRkJSU3hEUVVGRkxFTkJRVU03VVVGRGVFY3NaVUZCWlN4RFFVRkRMRTlCUVU4c1EwRkRkRUlzUTBGQlJTeExRVUZWTEVWQlFVY3NSVUZCUlR0WlFVVm9RaXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1UwRkJVeXhEUVVGRE8xbEJReTlETEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRSUVVOMlFpeERRVUZETEVOQlEwUTdVVUZGUkN4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVOMFFpeEhRVUZITEVWQlFVVTdPMWxCUlVvc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTdzJRMEZCTmtNN2EwSkJRM1pFTEVkQlFVa3NkMFpCUVc5Q0xFTkJRVVVzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUnl4RlFVRkZMRU5CUVVVc1EwRkJRenRaUVVONlJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVNMVFpeEpRVUZKTEVOQlFVTXNWMEZCVnl4SFFVRkhMRWxCUVVrc1EwRkJRenRaUVVONFFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJRenRaUVVNMVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1dVRkRkRUlzVlVGQlNTeERRVUZETEc5Q1FVRnZRaXdyUTBGQmVrSXNTVUZCU1N4RlFVRXdRanRSUVVNdlFpeERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVk1MRWxCUVVrc1EwRkJReXhsUVVGbExFZEJRVWNzWlVGQlpTeERRVUZETzFGQlEzWkRMRlZCUVVrc1EwRkJReXhyUWtGQmEwSXNLME5CUVhaQ0xFbEJRVWtzUlVGQmQwSTdTVUZETjBJc1EwRkJRenRKUVVWRUxFbEJRVmNzVTBGQlV6dFJRVVZ1UWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOWUxFTkJRVU03U1VGRlJDeEpRVUZYTEZGQlFWRTdVVUZGYkVJc1QwRkJUeXhEUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEhORlFVRnBRaXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRemxHTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN1VVRkZhRUlzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlVRc1NVRkJWeXhsUVVGbE8xRkJSWHBDTEU5QlFVOHNTMEZCU3l4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxFbEJRVmNzWTBGQll5eExRVUUyUWl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRk0wUXNUVUZCVFN4RFFVRkZMRmxCUVRCQ0xFVkJRVVVzYVVKQlFTdENPMUZCUlhwRkxFbEJRVWtzU1VGQlNTeERRVUZETEdWQlFXVXNSVUZEZUVJN1dVRkRReXhKUVVGSkxFZEJRVWNzUjBGRFVEdG5Ra0ZEUXl4SlFVRkpMRVZCUVVVc2VVVkJRVzlDTEVOQlFVTXNUVUZCVFR0blFrRkRha01zV1VGQldUdG5Ra0ZEV2l4cFFrRkJhVUk3WjBKQlEycENMREJDUVVFd1FpeEZRVUZGTEdkQ1FVRm5RanRoUVVNMVF5eERRVUZETzFsQlJVWXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhUUVVGVExFTkJRVVVzUjBGQlJ5eERRVUZGTEVOQlFVTTdVMEZEZEVNN1NVRkRSaXhEUVVGRE8wbEJSVTBzVVVGQlVTeERRVUZGTEZGQlFXOUNPMUZCUlhCRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGSFJDeEpRVUZYTEV0QlFVczdPMUZCUldZc1lVRkJUeXhKUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4SlFVRkpMRU5CUVVNN1NVRkRia01zUTBGQlF6dEpRVVZOTEUxQlFVMDdVVUZGV2l4SlFVRkpMRWxCUVVrc1EwRkJReXhYUVVGWExFbEJRVWtzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZETTBNN1dVRkRReXhQUVVGUExHOUVRVUZETEdkRlFVRlhMRWxCUVVNc1QwRkJUeXhGUVVGSExFTkJRVU1zUlVGQlJTeEZRVUZITEVkQlFVY3NSVUZCUXl4TlFVRk5PMmRDUVVNelF5eHZSRUZCUXl4dlJVRkJZU3hKUVVGRExFdEJRVXNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkhMRWRCUVVjc1JVRkJSeXgzUmtGQmIwSXNRMEZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRkxFZEJRVWtzUTBGRGFFWTdVMEZEWmp0aFFVVkVPMWxCUTBNc1QwRkJUeXhKUVVGSkxFTkJRVU03VTBGRFdqdEpRVU5HTEVOQlFVTTdRMEZEUkR0QlFUTkdRVHRKUVVSRExIRkVRVUZKTzI5RlFUUkNTanRCUVd0RlJpeFRRVUZUTEdOQlFXTXNRMEZCUlN4UlFVRXdRaXhGUVVGRkxGRkJRV2RDTzBsQlJYQkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN6dFJRVU5zUWl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVWaUxFdEJRVXNzU1VGQlNTeEpRVUZKTEVsQlFVa3NVVUZCVVN4RFFVRkRMRXRCUVVzc1JVRkRMMEk3VVVGRFF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFbEJRVWtzVVVGQlVTeERRVUZETEZkQlFWY3NSVUZCUlN4RlFVTnlSRHRaUVVORExFOUJRVThzU1VGQlNTeERRVUZETzFOQlExbzdTMEZEUkR0SlFVVkVMRTlCUVU4c1NVRkJTU3hEUVVGRE8wRkJRMklzUTBGQlF6dEJRVVZFTEdkRlFVRm5SVHRCUVVONlJDeFRRVUZUTEcxQ1FVRnRRaXhEUVVGRkxGTkJRV2xDTEVWQlFVVXNVVUZCTUVJN1NVRkZha1lzU1VGQlNTeExRVUZMTEVkQlFVY3NZMEZCWXl4RFFVRkZMRkZCUVZFc1JVRkJSU3h0UWtGQmJVSXNRMEZCUlN4RFFVRkRPMGxCUXpWRUxFbEJRVWtzUzBGQlN5eEZRVU5VTzFGQlEwTXNUMEZCVHl4RFFVRkZMRFpEUVVGTExFTkJRVVVzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ6dG5Ra0ZEZEVNc1EwRkJReXhEUVVGRExGTkJRVk1zUjBGQlJ5eEhRVUZITEVkQlFVY3NTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdTMEZEYWtRN1UwRkZSRHRSUVVORExFOUJRVThzU1VGQlNTeERRVUZETzB0QlExbzdRVUZEUml4RFFVRkRPMEZCUjBRc05rUkJRVFpFTzBGQlEzUkVMRk5CUVZNc1owSkJRV2RDTEVOQlFVVXNVMEZCYVVJc1JVRkJSU3hSUVVFd1FpeEZRVUZGTEUxQlFXTTdTVUZGT1VZc1NVRkJTU3hUUVVGVExFZEJRVWNzYlVKQlFXMUNMRU5CUVVVc1UwRkJVeXhGUVVGRkxGRkJRVkVzUTBGQlJTeERRVUZETzBsQlF6TkVMRWxCUVVrc1UwRkJVeXhGUVVOaU8xRkJRME1zVFVGQlRTeERRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRU5CUVVVc1IwRkJSeXhUUVVGVExFTkJRVU03VVVGRGVrTXNUMEZCVHl4dlJFRkJReXhuUlVGQlZ5eEpRVUZETEU5QlFVOHNSVUZCUnl4UlFVRlJMR0ZCUVZJc1VVRkJVU3gxUWtGQlVpeFJRVUZSTEVOQlFVVXNRMEZCUXl4RlFVRkhMRTlCUVU4c1JVRkJSeXhSUVVGUkxHRkJRVklzVVVGQlVTeDFRa0ZCVWl4UlFVRlJMRU5CUVVVc1EwRkJReXhGUVVGSExFOUJRVThzUlVGQlJ5eFJRVUZSTEdGQlFWSXNVVUZCVVN4MVFrRkJVaXhSUVVGUkxFTkJRVVVzUTBGQlF6dFpRVU4yUml4dlJFRkJReXgxUkVGQlR5eEpRVUZETEVkQlFVY3NSVUZCU1N4UlFVRlJMRVZCUVVjc1ZVRkJWU3hGUVVGSExFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNSMEZCU1N4RFFVTnNSU3hEUVVGRE8wdEJRMmhDTzFOQlJVUTdVVUZEUXl4UFFVRlBMRzlFUVVGRExIVkVRVUZQTEVsQlFVTXNSMEZCUnl4RlFVRkpMQ3RGUVVGdFFpeEZRVUZITEZWQlFWVXNSVUZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFZEJRVWtzUTBGQlF6dExRVU5zUnp0QlFVTkdMRU5CUVVNN1FVRkhSRHM3UjBGRlJ6dEJRVU5KTEUxQlFVMHNXVUZCWVN4VFFVRlJMQ3REUVVGMVJEdEpRVTk0Uml4WlFVRmhMRXRCUVZNN1VVRkZja0lzUzBGQlN5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMUZCVUZJc2MwSkJRV2xDTEVkQlFVY3NTVUZCU1N4elJVRkJhVUlzUTBGQlJTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVVVzUTBGQlF6dFJRVU51UlN4MVFrRkJhMElzUjBGQlJ5eEpRVUZKTERSQ1FVRTBRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJSU3hEUVVGRE8xRkJRek5HTEdsQ1FVRlpMRWRCUVVjc0swTkJRV1VzUlVGQmIwSXNRMEZCUXp0UlFVTnVSQ3haUVVGUExFZEJRVWNzSzBOQlFXVXNSVUZCYjBJc1EwRkJRenRSUVUxeVJDeEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRVZCUVVVc1MwRkJTeXhGUVVGRkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0SlFVTTVReXhEUVVGRE8wbEJSVThzYjBKQlFXOUNMRU5CUVVVc1MwRkJjMEk3VVVGRmJrUXNVVUZCVVN4TFFVRkxMRVZCUTJJN1dVRkRReXhSUVVGUk8xbEJRMUlzUzBGQlN5eGxRVUZsTEVOQlFVTXNTVUZCU1R0blFrRkRlRUlzVDBGQlR5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU03V1VGRmFrTXNTMEZCU3l4bFFVRmxMRU5CUVVNc1lVRkJZVHRuUWtGRGFrTXNUMEZCVHl4dFFrRkJiVUlzUTBGQlF5eGhRVUZoTEVOQlFVTTdXVUZGTVVNc1MwRkJTeXhsUVVGbExFTkJRVU1zY1VKQlFYRkNMRU5CUVVNN1dVRkRNME1zUzBGQlN5eGxRVUZsTEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU03V1VGRE9VTXNTMEZCU3l4bFFVRmxMRU5CUVVNc1owSkJRV2RDTzJkQ1FVTndReXhQUVVGUExHMUNRVUZ0UWl4RFFVRkRMR05CUVdNc1EwRkJRenRaUVVVelF5eExRVUZMTEdWQlFXVXNRMEZCUXl4SlFVRkpPMmRDUVVONFFpeFBRVUZQTEcxQ1FVRnRRaXhEUVVGRExFbEJRVWtzUTBGQlF6dFRRVU5xUXp0SlFVTkdMRU5CUVVNN1NVRkhSQ3hyUWtGQmEwSXNRMEZCUlN4VFFVRTBRaXhGUVVGRkxGTkJRVFJDT3p0UlFVVTNSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4SlFVRkpMRk5CUVZNc1EwRkJReXhMUVVGTExFVkJRM1pETzFsQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3gzUWtGQmVVSXNaVUZCWlN4RFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZITEVWQlFVVXNRMEZCUlN4RFFVRkRPMU5CUXk5Rk8xRkJSVVFzU1VGQlNTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZGTEZOQlFWTXNRMEZCUXl4TFFVRkxMRU5CUVVVc1EwRkJRenRSUVVOb1JTeEpRVUZKTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVVVzUTBGQlF6dFJRVU5xUlN4SlFVRkpMRmxCUVZrc1NVRkJTU3haUVVGWkxFVkJRMmhETzFsQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3hwUWtGQmEwSXNiVUpCUVcxQ0xFTkJRVVVzV1VGQldTeERRVUZITEU5QlFWRXNiVUpCUVcxQ0xFTkJRVVVzV1VGQldTeERRVUZITEVWQlFVVXNRMEZCUlN4RFFVRkRPMWxCUTNCSUxHZENRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkRMR2xDUVVGcFFpeHRSRUZCU1N4WlFVRlpMRVZCUVVjN1UwRkRMME03U1VGRFJpeERRVUZETzBsQlJVUXNiMEpCUVc5Q096dFJRVVZ1UWl4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUXpWRE8xbEJRME1zWjBKQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVNc2FVSkJRV2xDTEcxRVFVRkpMRzFDUVVGdFFpeERRVUZETEVsQlFVa3NSVUZCUnp0VFFVTXpSRHRKUVVOR0xFTkJRVU03U1VGSllTeG5Ra0ZCWjBJN08xbEJSVGRDTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2IwSkJRWEZDTEdWQlFXVXNRMEZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlJ5eEhRVUZITzJ0Q1FVTjJSU3hIUVVGSkxESkZRVUZ6UWl4RFFVRkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4TFFVRkxMRU5CUVVVc1JVRkJSU3hEUVVGRkxFTkJRVU03V1VGRGFrVXNVVUZCVVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGRGVFSTdaMEpCUTBNc1MwRkJTeXhsUVVGbExFTkJRVU1zU1VGQlNUdHZRa0ZEZUVJc1VVRkJVU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhGUVVOd1F6dDNRa0ZEUXl4TFFVRkxMREpGUVVGelFpeERRVUZETEdGQlFXRTdORUpCUTNoRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1pVRkJaU3hEUVVGRExHRkJRV0VzUlVGQlJTeERRVUZGTEVOQlFVTTdORUpCUXpGRUxFMUJRVTA3ZDBKQlExQXNTMEZCU3l3eVJVRkJjMElzUTBGQlF5eEpRVUZKT3pSQ1FVTXZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZET3pSQ1FVTnFSQ3hOUVVGTk8zRkNRVU5RTzI5Q1FVTkVMRTFCUVUwN1owSkJSVkFzUzBGQlN5eGxRVUZsTEVOQlFVTXNTVUZCU1N4RFFVRkRPMmRDUVVNeFFpeExRVUZMTEdWQlFXVXNRMEZCUXl4aFFVRmhPMjlDUVVOcVF5eFJRVUZSTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVWQlEzQkRPM2RDUVVORExFdEJRVXNzTWtWQlFYTkNMRU5CUVVNc1QwRkJUenMwUWtGRGJFTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGxRVUZsTEVOQlFVTXNjVUpCUVhGQ0xFVkJRVVVzUTBGQlJTeERRVUZET3pSQ1FVTnNSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdORUpCUTI1Q0xFMUJRVTA3ZDBKQlJWQXNTMEZCU3l3eVJVRkJjMElzUTBGQlF5eEpRVUZKT3pSQ1FVTXZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZET3pSQ1FVTnFSQ3hOUVVGTk8zZENRVVZRTEV0QlFVc3NNa1ZCUVhOQ0xFTkJRVU1zWVVGQllUczBRa0ZEZUVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4bFFVRmxMRU5CUVVNc1lVRkJZU3hGUVVGRkxFTkJRVVVzUTBGQlF6czBRa0ZETVVRc1RVRkJUVHQzUWtGRlVDeExRVUZMTERKRlFVRnpRaXhEUVVGRExGZEJRVmM3TkVKQlEzUkRMREJFUVVFd1JEczBRa0ZETVVRc1RVRkJUVHQzUWtGRlVDeExRVUZMTERKRlFVRnpRaXhEUVVGRExFbEJRVWs3TkVKQlF5OUNMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNaVUZCWlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRkxFTkJRVU03TkVKQlEycEVMRTFCUVUwN2NVSkJRMUE3YjBKQlEwUXNUVUZCVFR0blFrRkZVQ3hMUVVGTExHVkJRV1VzUTBGQlF5eHhRa0ZCY1VJN2IwSkJRM3BETEhGRlFVRnhSVHR2UWtGRGNrVXNkVVZCUVhWRk8yOUNRVU4yUlN4TlFVRk5PMkZCUlZBN1VVRkRSaXhEUVVGRE8wdEJRVUU3U1VGSFR5eFZRVUZWTzFGQlJXcENMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzV1VGQldTeERRVUZGTEVOQlFVTTdVVUZETlVJc1VVRkJVeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1MwRkJTeXhGUVVOeVF6dFpRVU5ETEV0QlFVc3NNa1ZCUVhOQ0xFTkJRVU1zVDBGQlR6dG5Ra0ZEYkVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTeHJRMEZCYlVNc2QwWkJRVzlDTEVOQlFVVXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZETEV0QlFVc3NRMEZCUnl4RlFVRkZMRU5CUVVVc1EwRkJRenRuUWtGRE0wY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1JVRkJSU3hEUVVGRE8yZENRVU55UWl4TlFVRk5PMWxCUTFBc1MwRkJTeXd5UlVGQmMwSXNRMEZCUXl4aFFVRmhMRU5CUVVNN1dVRkRNVU1zUzBGQlN5d3lSVUZCYzBJc1EwRkJReXhYUVVGWE8yZENRVU4wUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHdERRVUZ0UXl4M1JrRkJiMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUzBGQlN5eERRVUZITEVWQlFVVXNRMEZCUlN4RFFVRkRPMmRDUVVNelJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZGTEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdaMEpCUXk5R0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1pVRkJaU3hEUVVGRExIZENRVUYzUWl4RlFVRkZMRU5CUVVVc1EwRkJRenRuUWtGRGNrVXNUVUZCVFR0WlFVTlFMRXRCUVVzc01rVkJRWE5DTEVOQlFVTXNTVUZCU1R0blFrRkRMMElzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN3d1EwRkJNRU1zUTBGQlJTeERRVUZETzJkQ1FVTXhSQ3hOUVVGTk8xTkJRMUE3U1VGRFJpeERRVUZETzBsQlIwOHNWMEZCVnp0UlFVVnNRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEhsQ1FVRjVRaXhEUVVGRkxFTkJRVU03VVVGRGVrTXNVVUZCVVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGRGVFSTdXVUZEUXl4TFFVRkxMR1ZCUVdVc1EwRkJReXgzUWtGQmQwSXNRMEZCUXp0WlFVTTVReXhMUVVGTExHVkJRV1VzUTBGQlF5eG5Ra0ZCWjBJN1owSkJRM0JETEhGQ1FVRnhRanRuUWtGRGNrSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeGxRVUZsTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVVc1EwRkJRenRuUWtGRGFrUXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRPMmRDUVVNdlFpeE5RVUZOTzFOQlExQTdTVUZEUml4RFFVRkRPMGxCUldFc1YwRkJWenM3V1VGRmVFSXNTVUZCU1N4TFFVRkxMRWRCUTFRN1owSkJRME03YjBKQlEwTXNTMEZCU3l4RlFVRkZMSE5GUVVGcFFpeERRVUZETEd0Q1FVRnJRanR2UWtGRE0wTXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRTdhVUpCUXpWRE8yRkJRMFFzUTBGQlF6dFpRVVZHTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhqUVVGakxFVkJRemRDTzJkQ1FVTkRMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1kwRkJZeXhEUVVGRkxFTkJRVU03WVVGRGJFUTdXVUZGUkN4SlFVRkpMRWRCUVVjc1IwRkJSeXhOUVVGTkxIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RlFVRkZMRXRCUVVzc1EwRkJSU3hEUVVGRE8xbEJSUzlGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhGUVVOb1FqdG5Ra0ZEUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdWQlFXVXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJSU3hEUVVGRE8yZENRVU5xUkN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRkxHOUNRVUZ2UWl4RFFVRkZMRU5CUVVNN1lVRkRlRU03VVVGRFJpeERRVUZETzB0QlFVRTdTVUZGVHl4aFFVRmhPMUZCUlhCQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhoUVVGaExFTkJRVVVzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFdEJRVXNzUlVGQlJTeG5Ra0ZCWjBJc1EwRkJSU3hEUVVGRE8xRkJRM2hHTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzWlVGQlpTeERRVUZETEdkQ1FVRm5RaXhGUVVGRkxFTkJRVVVzUTBGQlF6dEpRVU01UkN4RFFVRkRPMGxCUlZrc1pVRkJaU3hEUVVGRkxFOUJRV2RDTEVWQlFVVXNaVUZCZFVJN1VVRkZkRVVzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN4M1FrRkJkMElzUjBGQlJTeGxRVUZsTEVOQlFVVXNRMEZCUXp0SlFVTXhSQ3hEUVVGRE8wbEJSMDBzVFVGQlRUdFJRVVZhTEVsQlFVa3NUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRPMUZCUlhwRUxFbEJRVWtzUzBGQldTeERRVUZETzFGQlEycENMRkZCUVZFc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlEzaENPMWxCUTBNc1MwRkJTeXhsUVVGbExFTkJRVU1zU1VGQlNUdG5Ra0ZEZUVJc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dG5Ra0ZEV2l4TlFVRk5PMWxCUlZBN1owSkJRME1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRZaXhOUVVGTk8xTkJRMUE3VVVGRlJDeEpRVUZKTEUxQlFXZENMRU5CUVVNN1VVRkRja0lzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1NVRkJTU3hsUVVGbExFTkJRVU1zZDBKQlFYZENMRVZCUTJoRk8xbEJRME1zYjBaQlFXOUdPMWxCUTNCR0xFMUJRVTBzUjBGQlJ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4MVJVRkJWeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFOQlEzSkRPMkZCUTBrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZsQlFWa3NSVUZEYUVNN1dVRkRReXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpMRU5CUVVNN1UwRkRha003WVVGRlJEdFpRVU5ETEUxQlFVMHNSMEZCUnl4RlFVRkZMRWxCUVVrc1JVRkJSU3gxUlVGQlZ5eERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFTkJRVU03VTBGRGRFUTdVVUZGUkN4SlFVRkpMRkZCUVZFc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NTVUZCU1N4bFFVRmxMRU5CUVVNc1owSkJRV2RDTzJWQlF5OUVMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEdWQlFXVXNRMEZCUXl4M1FrRkJkMElzUTBGQlF6dFJRVU5xUlN4UFFVRlBMRU5CUTA0c2IwUkJRVU1zTUVWQlFXZENMRWxCUVVNc1ZVRkJWU3hGUVVGSExFTkJRVVVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFVkJRVWNzUjBGQlJ5eEZRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUXpkRkxFMUJRVTBzUlVGQlJ5eE5RVUZOTzFsQlEySXNVVUZCVVR0blFrRkRWQ3h2UkVGQlF5eG5SVUZCVnl4SlFVRkRMRmxCUVZrc1JVRkJSeXhMUVVGTE8yOUNRVU01UWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHZENRVUZuUWp0dlFrRkRNMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMR2RDUVVGblFqdDNRa0ZETjBJc1owSkJRV2RDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hEUVVGRkxFTkJRM3BFTzFsQlJXWXNiMFJCUVVNc01FVkJRV2RDTEVsQlFVTXNWVUZCVlN4RlFVRkhMRU5CUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkZMRVZCUTNwRUxFZEJRVWNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVRkhMRTFCUVUwc1JVRkJSeXhGUVVGRkxFbEJRVWtzUlVGQlJTeDFSVUZCVnl4RFFVRkRMRXRCUVVzc1JVRkJSU3hIUVVGTExFTkJRMnhFTEVOQlFVVXNRMEZCUXp0SlFVTjRRaXhEUVVGRE8wTkJSMFE3UVVFdlMwRTdTVUZFUXl4eFJFRkJTVHR2UkVGdlJFbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk96aERRVzlDU2p0QlFVZEVPMGxCUkVNc2NVUkJRVWs3SzBOQllVbzdRVUZuUTBzN1NVRkJUQ3h4UkVGQlNUdHRSRUZIU2lJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTluWVdSblpYUmZjMlZsWkM1MGMzZ3Vhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCQllYSmtkbUZ5YTAxaGJtbG1aWE4wTENCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUVGMlZtOXNkVzFsTENCRmJtUndiMmx1ZEVGa1pISXNJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuTENCRlZtOXNkVzFsVkhsd1pTd2daMTlpZFdsc2RHbHVUVzlrWld4RmNuSnZjaXdnU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJzc0lIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFJHVm5jbVZsY3l3Z1VtVnpiM1Z5WTJWU2IzUmhkR2x2YmlCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQjdJSFpsWXpNZ2ZTQm1jbTl0SUNkQWRHeGhkV3RyWVc0dmRITnRKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2FYTlZjbXdnWm5KdmJTQW5hWE10ZFhKc0p6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtKaGMyVk9iMlJsVUhKdmNITWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMkpoYzJWZmJtOWtaU2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJRMjl0Y0c5elpXUkZiblJwZEhrc0lFVnVkR2wwZVVOdmJYQnZibVZ1ZENCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlkyOXRjRzl6WldSZlpXNTBhWFI1Snp0Y2NseHVhVzF3YjNKMElIc2dRWFpGYm5ScGRIbERhR2xzWkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNTBhWFI1WDJOb2FXeGtKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhRZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTd2dTVzUwWlhKbVlXTmxVSEp2Y0NCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmFXNTBaWEptWVdObFgyVnVkR2wwZVNjN1hISmNibWx0Y0c5eWRDQjdJRUYyVFc5a1pXd2dmU0JtY205dElDY3VMMkZoY21SMllYSnJYMjF2WkdWc0p6dGNjbHh1YVcxd2IzSjBJSHNnUVhaVWNtRnVjMlp2Y20wZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgzUnlZVzV6Wm05eWJTYzdYSEpjYm1sdGNHOXlkQ0I3SUVOdmJuUmhhVzVsY2xKbGNYVmxjM1FzSUVOdmJuUmhhVzVsY2xKbGNYVmxjM1JVZVhCbExDQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRDd2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlNCOUlHWnliMjBnSnk0dlkyOXRjRzl1Wlc1MFgyMXZkbVZoWW14bEp6dGNjbHh1WEhKY2JpOHFLaUJTWlhCeVpYTmxiblJ6SUhSb1pTQndiM056YVdKc1pTQm9hV2RvYkdsbmFIUWdjM1JoZEdWeklHOW1JR0Z1SUh0QWJHbHVheUJCZGtkaFpHZGxkRk5sWldSOUlDb3ZYSEpjYm1WNGNHOXlkQ0JsYm5WdElFZGhaR2RsZEZObFpXUklhV2RvYkdsbmFIUmNjbHh1ZTF4eVhHNWNkRWxrYkdVc1hISmNibHgwUjNKaFltSmxjazVsWVhKaWVTeGNjbHh1WEhSSFlXUm5aWFJUZEdGeWRHbHVaeXhjY2x4dVhIUk5aVzUxTEZ4eVhHNTlYSEpjYmx4eVhHNWNjbHh1THlvcUlGQnliM0J6SUdadmNpQjdRR3hwYm1zZ1FYWkhZV1JuWlhSVFpXVmtmU0FxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFRjJSMkZrWjJWMFUyVmxaRkJ5YjNCeklHVjRkR1Z1WkhNZ1FYWkNZWE5sVG05a1pWQnliM0J6WEhKY2JudGNjbHh1WEhRdktpb2dWR2hsSUcxaGJtbG1aWE4wSUc5aWFtVmpkQ0JtYjNJZ2RHaHBjeUJuWVdSblpYUXVJRlJvWlhObElHTmhiaUJpWlNCc2IyRmtaV1FnWm5KdmJWeHlYRzVjZENBcUlHZGhaR2RsZENCVlVreHpJSGRwZEdnZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNXNiMkZrVFdGdWFXWmxjM1FvTGk0dUtTNWNjbHh1WEhRcUwxeHlYRzVjZEcxaGJtbG1aWE4wT2lCQllYSmtkbUZ5YTAxaGJtbG1aWE4wTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdkaFpHZGxkQ0JWVWt3Z2RHaGhkQ0IwYUdVZ2JXRnVhV1psYzNRZ2QyRnpJR3h2WVdSbFpDQm1iM0p0TGlCVWFHVWdaMkZrWjJWMFhISmNibHgwSUNvZ2MyVmxaQ0J1WldWa2N5QjBieUIwYUdseklITnZJR2wwSUdOaGJpQnNiMkZrSUhSb1pTQm5ZV1JuWlhRbmN5QnBZMjl1TENCaGJtUWdZV3h6YjF4eVhHNWNkQ0FxSUhSdklITjBZWEowSUhSb1pTQm5ZV1JuWlhRdVhISmNibHgwSUNvdlhISmNibHgwWjJGa1oyVjBWWEpzT2lCemRISnBibWM3WEhKY2JseHlYRzVjZEM4cUtpQlRhWHBsSUdsdUlHMWxkR1Z5Y3lCdlppQjBhR1VnWjJGa1oyVjBJSE5sWldRdUlGUm9hWE1nZDJsc2JDQmpiMjUwY205c0lHSnZkR2hjY2x4dVhIUWdLaUIwYUdVZ1lXTjBhWFpsSUdGeVpXRWdZVzVrSUhSb1pTQnpZMkZzWlNCdlppQjBhR1VnWjJGa1oyVjBKM01nYlc5a1pXd3NJR0YwSUd4bFlYTjBYSEpjYmx4MElDb2dabTl5SUdkaFpHZGxkQ0J0YjJSbGJITWdkR2hoZENCaGNtVWdZMlZ1ZEdWeVpXUWdZWEp2ZFc1a0lIUm9aU0J2Y21sbmFXNHVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdNQzR4WEhKY2JseDBJQ292WEhKY2JseDBjbUZrYVhWelB6b2diblZ0WW1WeU8xeHlYRzVjY2x4dVhIUXZLaW9nUTJGc2JHVmtJSGRvWlc0Z2RHaGxJSE5sWldRZ2FYTWdhR2xuYUd4cFoyaDBaV1FnYjNJZ2RXNW9hV2RvYkdsbmFIUmxaQzRnS2k5Y2NseHVYSFJvYVdkb2JHbG5hSFJEWVd4c1ltRmphejg2SUNnZ2FHbG5hR3hwWjJoME9pQkhZV1JuWlhSVFpXVmtTR2xuYUd4cFoyaDBJQ2tnUFQ0Z2RtOXBaRHRjY2x4dVhISmNibHgwTHlvcUlGVnpaV1FnYVc1emRHVmhaQ0J2WmlCaGJubDBhR2x1WnlCeVpXeGhkR1ZrSUhSdklIUm9aU0J0WVc1cFptVnpkQ0IzYUdWdUlHUnlZWGRwYm1jZ1hISmNibHgwSUNvZ2RHaHBjeUJuWVdSblpYUWdjMlZsWkZ4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUc1dmJtVmNjbHh1WEhRZ0tpOWNjbHh1WEhSamRYTjBiMjFCY0hCbFlYSmhibU5sUHpvZ1NsTllMa1ZzWlcxbGJuUTdYSEpjYmx4eVhHNWNkQzhxS2lCSlppQndjbTkyYVdSbFpDd2dkR2hwY3lCamRYTjBiMjBnZG05c2RXMWxJSGRwYkd3Z1ltVWdkWE5sWkNCcGJuTjBaV0ZrSUc5bUlIUm9aU0J5WVdScGRYTWdYSEpjYmx4MElDb2djSEp2Y0dWeWRIa3VYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR04xYzNSdmJWWnZiSFZ0WlQ4NklFRjJWbTlzZFcxbE8xeHlYRzVjY2x4dVhIUXZLaW9nU1dZZ2NISnZkbWxrWldRc0lIUm9aWE5sSUdsdWFYUnBZV3dnYVc1MFpYSm1ZV05sSUd4dlkydHpJSGRwYkd3Z1ltVWdjR0Z6YzJWa0lHRnNiMjVuSUZ4eVhHNWNkQ0FxSUhSdklIUm9aU0JuWVdSblpYUWdkMmhsYmlCcGRDZHpJSE4wWVhKMFpXUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2x1ZEdWeVptRmpaVXh2WTJ0elB6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVmVnh5WEc1Y2NseHVYSEpjYm1WdWRXMGdSMkZrWjJWMFUyVmxaRkJvWVhObFhISmNibnRjY2x4dVhIUkpaR3hsTEZ4eVhHNWNkRWR5WVdKaVpYSk9aV0Z5WW5rc1hISmNibHgwVjJGcGRHbHVaMFp2Y2tkaFpHZGxkRk4wWVhKMExGeHlYRzVjZEZkaGFYUnBibWRHYjNKU1pXZHlZV0lzWEhKY2JseDBWMkZwZEdsdVowWnZjbEpsWkhKdmNGUnZSbWx1YVhOb0xGeHlYRzVjZEUxbGJuVXNYSEpjYm4xY2NseHVYSEpjYm1sdWRHVnlabUZqWlNCQmRrZGhaR2RsZEZObFpXUlRkR0YwWlZ4eVhHNTdYSEpjYmx4MGNHaGhjMlU2SUVkaFpHZGxkRk5sWldSUWFHRnpaVHRjY2x4dWZWeHlYRzVjY2x4dVhISmNibU52Ym5OMElHdGZjMlZsWkVaeWIyMUhZV1JuWlhSUmRXRjBJRDBnY1hWaGRFWnliMjFCZUdselFXNW5iR1ZFWldkeVpXVnpLQ0IyWldNekxuSnBaMmgwTENBdE9UQWdLVHRjY2x4dVkyOXVjM1FnYTE5elpXVmtSbkp2YlVkaFpHZGxkRG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJRDBnZXlCeWIzUmhkR2x2YmpvZ2V5QjRPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1NExDQjVPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1NUxDQjZPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1NkxDQjNPaUJyWDNObFpXUkdjbTl0UjJGa1oyVjBVWFZoZEM1M0lIMGdmVHRjY2x4dVhISmNiaThxS2lCQWFHbGtaR1Z1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCSFlXUm5aWFJUWldWa1EyOXVkR0ZwYm1WeVEyOXRjRzl1Wlc1MElHbHRjR3hsYldWdWRITWdSVzUwYVhSNVEyOXRjRzl1Wlc1MFhISmNibnRjY2x4dVhIUndjbWwyWVhSbElHTnZiblJsYm5SelJYQmhPaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHgwY0hKcGRtRjBaU0JqYjI1MFpXNTBjMUpsYzNSbFpDQTlJR1poYkhObE8xeHlYRzVjZEhCeWFYWmhkR1VnWlc1MGFYUjVRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ1lXTjBhWFpsUTI5dWRHRnBibVZ5T2lCQlkzUnBkbVZKYm5SbGNtWmhZMlVnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ1kyaHBiR1JCWkdSbFpFTmhiR3hpWVdOck9pQW9LU0E5UGlCMmIybGtPMXh5WEc1Y2RIQnlhWFpoZEdVZ1kyaHBiR1JTWlcxdmRtVmtRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JseHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQmphR2xzWkVGa1pHVmtRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FzSUdOb2FXeGtVbVZ0YjNabFpFTmhiR3hpWVdOck9pQW9LU0E5UGlCMmIybGtJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1Ob2FXeGtRV1JrWldSRFlXeHNZbUZqYXlBOUlHTm9hV3hrUVdSa1pXUkRZV3hzWW1GamF6dGNjbHh1WEhSY2RIUm9hWE11WTJocGJHUlNaVzF2ZG1Wa1EyRnNiR0poWTJzZ1BTQmphR2xzWkZKbGJXOTJaV1JEWVd4c1ltRmphenRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdkWEJrWVhSbFRHbHpkR1Z1WlhJb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBRR0pwYm1SY2NseHVYSFJ3Y21sMllYUmxJRzl1UTI5dWRHRnBibVZ5VTNSaGNuUW9JR0ZqZEdsMlpVTnZiblJoYVc1bGNqb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbU52Ym5SbGJuUnpSWEJoSUQwZ1lXTjBhWFpsUTI5dWRHRnBibVZ5TG5CbFpYSTdYSEpjYmx4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lHQlRaV1ZrSUdOdmJuUmhhVzVsY2lCdmJrTnZiblJoYVc1bGNsTjBZWEowSUhkcGRHZ2dKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lHRmpkR2wyWlVOdmJuUmhhVzVsY2k1d1pXVnlJQ2tnZldBZ0tUdGNjbHh1WEhSY2RHRmpkR2wyWlVOdmJuUmhhVzVsY2k1dmJrVjJaVzUwS0NCY2NseHVYSFJjZEZ4MEtDQmxkbVZ1ZERvZ1lXNTVJQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdVkyOXVkR1Z1ZEhOU1pYTjBaV1FnUFNCbGRtVnVkQzV6ZEdGMFpTQTlQU0JjSWxKbGMzUnBibWRjSWp0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG5Wd1pHRjBaVXhwYzNSbGJtVnlLQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZENsY2NseHVYSEpjYmx4MFhIUmhZM1JwZG1WRGIyNTBZV2x1WlhJdWIyNUZibVJsWkNnZ1hISmNibHgwWEhSY2RDZ3BJRDArWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUZObFpXUWdZMjl1ZEdGcGJtVnlJR0ZqZEdsMlpTQmpiMjUwWVdsdVpYSWdaVzVrWldRZ2QybDBhQ0JnWEhKY2JseDBYSFJjZEZ4MFhIUXJJR0FrZXlCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5Z2dZV04wYVhabFEyOXVkR0ZwYm1WeUxuQmxaWElnS1NCOVlDQXBPMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVZMjl1ZEdWdWRITlNaWE4wWldRZ1BTQm1ZV3h6WlR0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG1OdmJuUmxiblJ6UlhCaElEMGdiblZzYkR0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVU52Ym5SaGFXNWxjaUE5SUc1MWJHdzdYSEpjYmx4MFhIUmNkRngwZEdocGN5NTFjR1JoZEdWTWFYTjBaVzVsY2lncE8xeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdVkyaHBiR1JTWlcxdmRtVmtRMkZzYkdKaFkycy9MaWdwTzF4eVhHNWNkRngwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwZEdocGN5NWhZM1JwZG1WRGIyNTBZV2x1WlhJZ1BTQmhZM1JwZG1WRGIyNTBZV2x1WlhJN1hISmNibHgwWEhSMGFHbHpMbU5vYVd4a1FXUmtaV1JEWVd4c1ltRmphejh1S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIUnlZVzV6YldsMGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElISmxZMlZwZG1WektDazZJRWx1ZEdWeVptRmpaVkJ5YjNCYlhWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJiSUhzZ2FXWmhZMlU2SUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwTG1OdmJuUmhhVzVsY2tsdWRHVnlabUZqWlN3Z2NISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVEyOXVkR0ZwYm1WeVUzUmhjblFnZlNCZE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQndZWEpsYm5Rb0tUb2dSVzVrY0c5cGJuUkJaR1J5WEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEhCMVlteHBZeUJuWlhRZ2QyRnVkSE5VY21GdWMyWnZjbTF6S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElHbHVkR1Z5Wm1GalpVeHZZMnR6S0NrNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBnZXlCeVpYUjFjbTRnVzEwN0lIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxaSEp2Y0NnZ2JtVjNRMjl1ZEdGcGJtVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHMXZkbVZoWW14bFZHOVNaWEJzWVdObE9pQkZibVJ3YjJsdWRFRmtaSElnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbUZqZEdsMlpVTnZiblJoYVc1bGNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCeVpYRTZJRU52Ym5SaGFXNWxjbEpsY1hWbGMzUWdQVnh5WEc1Y2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RIUjVjR1U2SUVOdmJuUmhhVzVsY2xKbGNYVmxjM1JVZVhCbExsSmxaSEp2Y0N3Z1hISmNibHgwWEhSY2RGeDBibVYzUTI5dWRHRnBibVZ5TENCY2NseHVYSFJjZEZ4MFhIUnRiM1psWVdKc1pWUnZVbVZ3YkdGalpTeGNjbHh1WEhSY2RGeDBYSFJ2YkdSTmIzWmxZV0pzWlVaeWIyMU9aWGROYjNabFlXSnNaVG9nYTE5elpXVmtSbkp2YlVkaFpHZGxkQ3hjY2x4dVhIUmNkRngwZlR0Y2NseHVYSFJjY2x4dVhIUmNkRngwZEdocGN5NWhZM1JwZG1WRGIyNTBZV2x1WlhJdWMyVnVaRVYyWlc1MEtDQnlaWEVnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ2YmxWd1pHRjBaU2dnWTJGc2JHSmhZMnM2SUNncElEMCtJSFp2YVdRZ0tUb2dkbTlwWkZ4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdVpXNTBhWFI1UTJGc2JHSmhZMnNnUFNCallXeHNZbUZqYXp0Y2NseHVYSFI5WEhKY2JseHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR05vYVd4a0tDazZJRVZ1WkhCdmFXNTBRV1JrY2x4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG1GamRHbDJaVU52Ym5SaGFXNWxjajh1Y0dWbGNqdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1RvZ1NsTllMa1ZzWlcxbGJuUmNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1amIyNTBaVzUwYzBWd1lTQW1KaUIwYUdsekxtTnZiblJsYm5SelVtVnpkR1ZrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUR4QmRsUnlZVzV6Wm05eWJTQnliM1JoZEdWWVBYc2dMVGt3SUgwZ2EyVjVQVndpYzJWbFpGd2lQbHh5WEc1Y2RGeDBYSFFnWEhSY2REeEJka1Z1ZEdsMGVVTm9hV3hrSUdOb2FXeGtQWHNnZEdocGN5NWpiMjUwWlc1MGMwVndZU0I5SUd0bGVUMTdJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCMGFHbHpMbU52Ym5SbGJuUnpSWEJoSUNrZ2ZTOCtYSEpjYmx4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNWNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlZjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRzUxYkd3N1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNW1kVzVqZEdsdmJpQm1hVzVrU1dOdmJrOW1WSGx3WlNnZ2JXRnVhV1psYzNRNklFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lHMXBiV1ZVZVhCbE9pQnpkSEpwYm1jZ0tWeHlYRzU3WEhKY2JseDBhV1lvSUNGdFlXNXBabVZ6ZEM1cFkyOXVjeUFwWEhKY2JseDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2NseHVYSEpjYmx4MFptOXlLQ0JzWlhRZ2FXTnZiaUJ2WmlCdFlXNXBabVZ6ZEM1cFkyOXVjeUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUdsamIyNHVkSGx3WlM1MGIweHZkMlZ5UTJGelpTZ3BJRDA5SUcxcGJXVlVlWEJsTG5SdlRHOTNaWEpEWVhObEtDa2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdhV052Ymp0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEhKbGRIVnliaUJ1ZFd4c08xeHlYRzU5WEhKY2JseHlYRzR2S2lvZ1JtbHVaSE1nWVNCbllXUm5aWFFnYldGdWFXWmxjM1FuY3lCbmJGUkdJRzF2WkdWc0lGVlNUQ0JwWmlCMGFHVnlaU0JwY3lCdmJtVXVJQ292WEhKY2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCbWFXNWtSMngwWmtsamIyNUdkV3hzVlhKc0tDQm5ZV1JuWlhSVmNtdzZJSE4wY21sdVp5d2diV0Z1YVdabGMzUTZJRUZoY21SMllYSnJUV0Z1YVdabGMzUXBJRG9nYm5Wc2JDQjhJRnNnYzNSeWFXNW5MQ0JTWlhOdmRYSmpaVkp2ZEdGMGFXOXVYVnh5WEc1N1hISmNibHgwYkdWMElHMXZaR1ZzSUQwZ1ptbHVaRWxqYjI1UFpsUjVjR1VvSUcxaGJtbG1aWE4wTENCY0ltMXZaR1ZzTDJkc2RHWXRZbWx1WVhKNVhDSWdLVHRjY2x4dVhIUnBaaWdnYlc5a1pXd2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCYklHbHpWWEpzS0NCdGIyUmxiQzV6Y21NZ0tTQS9JRzF2WkdWc0xuTnlZeUJjY2x4dVhIUmNkRngwT2lCbllXUm5aWFJWY213Z0t5QmNJaTljSWlBcklHMXZaR1ZzTG5OeVl5d2diVzlrWld3dWNtOTBZWFJwYjI0Z1hUdGNjbHh1WEhSOVhISmNibHgwWld4elpWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJ1ZFd4c08xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVYSEpjYmk4cUtpQlNaVzVrWlhKeklFRmhjbVIyWVhKcklHTnZiWEJ2Ym1WdWRITWdabTl5SUdFZ1oyRmtaMlYwSjNNZ1oyeFVSaUJ0YjJSbGJDNGdLaTljY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGJtUmxja2RoWkdkbGRFbGpiMjRvSUdkaFpHZGxkRlZ5YkRvZ2MzUnlhVzVuTENCdFlXNXBabVZ6ZERvZ1FXRnlaSFpoY210TllXNXBabVZ6ZEN3Z2NtRmthWFZ6T2lCdWRXMWlaWElnS1Z4eVhHNTdYSEpjYmx4MGJHVjBJRzF2WkdWc1NXNW1ieUE5SUdacGJtUkhiSFJtU1dOdmJrWjFiR3hWY213b0lHZGhaR2RsZEZWeWJDd2diV0Z1YVdabGMzUWdLVHRjY2x4dVhIUnBaaWdnYlc5a1pXeEpibVp2SUNsY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emRDQmJJRzF2WkdWc1ZYSnNMQ0J5YjNSaGRHbHZiaUJkSUQwZ2JXOWtaV3hKYm1adk8xeHlYRzVjZEZ4MGNtVjBkWEp1SUR4QmRsUnlZVzV6Wm05eWJTQnliM1JoZEdWWVBYc2djbTkwWVhScGIyNC9MbmdnZlNCeWIzUmhkR1ZaUFhzZ2NtOTBZWFJwYjI0L0xua2dmU0J5YjNSaGRHVmFQWHNnY205MFlYUnBiMjQvTG5vZ2ZUNWNjbHh1WEhSY2RGeDBYSFE4UVhaTmIyUmxiQ0IxY21rOUlIc2diVzlrWld4VmNtd2dmU0J6WTJGc1pWUnZSbWwwUFhzZ2V5QjRPaUJ5WVdScGRYTXNJSGs2SUhKaFpHbDFjeXdnZWpvZ2NtRmthWFZ6SUgwZ2ZTOCtYSEpjYmx4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK08xeHlYRzVjZEgxY2NseHVYSFJsYkhObFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRHhCZGsxdlpHVnNJSFZ5YVQwZ2V5Qm5YMkoxYVd4MGFXNU5iMlJsYkVWeWNtOXlJSDBnYzJOaGJHVlViMFpwZEQxN0lIc2dlRG9nY21Ga2FYVnpMQ0I1T2lCeVlXUnBkWE1zSUhvNklISmhaR2wxY3lCOUlIMHZQanRjY2x4dVhIUjlYSEpjYm4xY2NseHVYSEpjYmx4eVhHNHZLaW9nUVNCbmNtRmlZbUZpYkdVZ1kyOXVkSEp2YkNCMGFHRjBJR05oZFhObGN5QjBhR1VnWjNKaFltSmxjaUIwYnlCbmNtRmlJR0VnYm1WM1hISmNiaUFxSUdsdWMzUmhibU5sSUc5bUlHRWdaMkZrWjJWMElHbHVjM1JsWVdRZ2IyWWdkR2hsSUdOdmJuUnliMndnYVhSelpXeG1MaUJjY2x4dUlDb3ZYSEpjYm1WNGNHOXlkQ0JqYkdGemN5QkJka2RoWkdkbGRGTmxaV1FnWlhoMFpXNWtjeUJTWldGamRDNURiMjF3YjI1bGJuUThJRUYyUjJGa1oyVjBVMlZsWkZCeWIzQnpMQ0JCZGtkaFpHZGxkRk5sWldSVGRHRjBaU0ErWEhKY2JudGNjbHh1WEhSd2NtbDJZWFJsSUcxdmRtVmhZbXhsUTI5dGNHOXVaVzUwSUQwZ2JtVjNJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBLQ0IwYUdsekxtOXVUVzkyWldGaWJHVlZjR1JoZEdVZ0tUdGNjbHh1WEhSd2NtbDJZWFJsSUdOdmJuUmhhVzVsY2tOdmJYQnZibVZ1ZENBOUlHNWxkeUJIWVdSblpYUlRaV1ZrUTI5dWRHRnBibVZ5UTI5dGNHOXVaVzUwS0NCMGFHbHpMbTl1VG1WM1EyaHBiR1FzSUhSb2FYTXViMjVNYjNOMFEyaHBiR1FnS1R0Y2NseHVYSFJ3Y21sMllYUmxJSEpsWmtOdmJuUmhhVzVsY2lBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmp4QmRrTnZiWEJ2YzJWa1JXNTBhWFI1UGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WbVUyVmxaQ0E5SUZKbFlXTjBMbU55WldGMFpWSmxaanhCZGtOdmJYQnZjMlZrUlc1MGFYUjVQaWdwTzF4eVhHNWNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2djSEp2Y0hNNllXNTVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnpkWEJsY2lnZ2NISnZjSE1nS1R0Y2NseHVYSEpjYmx4MFhIUjBhR2x6TG5OMFlYUmxJRDBnZXlCd2FHRnpaVG9nUjJGa1oyVjBVMlZsWkZCb1lYTmxMa2xrYkdVZ2ZUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2MyVmxaRkJvWVhObFZHOUlhV2RvYkdsbmFIUW9JSEJvWVhObE9pQkhZV1JuWlhSVFpXVmtVR2hoYzJVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhOM2FYUmphQ2dnY0doaGMyVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJrWldaaGRXeDBPbHh5WEc1Y2RGeDBYSFJqWVhObElFZGhaR2RsZEZObFpXUlFhR0Z6WlM1SlpHeGxPbHh5WEc1Y2RGeDBYSFJjZEhKbGRIVnliaUJIWVdSblpYUlRaV1ZrU0dsbmFHeHBaMmgwTGtsa2JHVTdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRWRoWkdkbGRGTmxaV1JRYUdGelpTNUhjbUZpWW1WeVRtVmhjbUo1T2x4eVhHNWNkRngwWEhSY2RISmxkSFZ5YmlCSFlXUm5aWFJUWldWa1NHbG5hR3hwWjJoMExrZHlZV0ppWlhKT1pXRnlZbms3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUVkaFpHZGxkRk5sWldSUWFHRnpaUzVYWVdsMGFXNW5SbTl5UjJGa1oyVjBVM1JoY25RNlhISmNibHgwWEhSY2RHTmhjMlVnUjJGa1oyVjBVMlZsWkZCb1lYTmxMbGRoYVhScGJtZEdiM0pTWldSeWIzQlViMFpwYm1semFEcGNjbHh1WEhSY2RGeDBZMkZ6WlNCSFlXUm5aWFJUWldWa1VHaGhjMlV1VjJGcGRHbHVaMFp2Y2xKbFozSmhZanBjY2x4dVhIUmNkRngwWEhSeVpYUjFjbTRnUjJGa1oyVjBVMlZsWkVocFoyaHNhV2RvZEM1SFlXUm5aWFJUZEdGeWRHbHVaenRjY2x4dVhISmNibHgwWEhSY2RHTmhjMlVnUjJGa1oyVjBVMlZsWkZCb1lYTmxMazFsYm5VNlhISmNibHgwWEhSY2RGeDBjbVYwZFhKdUlFZGhaR2RsZEZObFpXUklhV2RvYkdsbmFIUXVUV1Z1ZFR0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjY2x4dVhIUmpiMjF3YjI1bGJuUkVhV1JWY0dSaGRHVW9JSEJ5WlhaUWNtOXdjem9nUVhaSFlXUm5aWFJUWldWa1VISnZjSE1zSUhCeVpYWlRkR0YwWlRvZ1FYWkhZV1JuWlhSVFpXVmtVM1JoZEdVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5OMFlYUmxMbkJvWVhObElDRTlJSEJ5WlhaVGRHRjBaUzV3YUdGelpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1UyVmxaQ0IwY21GdWMybDBhVzl1WldRZ2RHOGdKSHNnUjJGa1oyVjBVMlZsWkZCb1lYTmxXeUIwYUdsekxuTjBZWFJsTG5Cb1lYTmxJRjBnZldBZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2NseHVYSFJjZEd4bGRDQnZiR1JJYVdkb2JHbG5hSFFnUFNCMGFHbHpMbk5sWldSUWFHRnpaVlJ2U0dsbmFHeHBaMmgwS0NCd2NtVjJVM1JoZEdVdWNHaGhjMlVnS1R0Y2NseHVYSFJjZEd4bGRDQnVaWGRJYVdkb2JHbG5hSFFnUFNCMGFHbHpMbk5sWldSUWFHRnpaVlJ2U0dsbmFHeHBaMmgwS0NCMGFHbHpMbk4wWVhSbExuQm9ZWE5sSUNrN1hISmNibHgwWEhScFppZ2diMnhrU0dsbmFHeHBaMmgwSUNFOUlHNWxkMGhwWjJoc2FXZG9kQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmdRMmhoYm1kcGJtY2dabkp2YlNBa2V5QkhZV1JuWlhSVFpXVmtTR2xuYUd4cFoyaDBXeUJ2YkdSSWFXZG9iR2xuYUhRZ1hTQjlJSFJ2SUNSN0lFZGhaR2RsZEZObFpXUklhV2RvYkdsbmFIUmJJRzVsZDBocFoyaHNhV2RvZENCZElIMWdJQ2s3WEhKY2JseDBYSFJjZEhSb2FYTXVjSEp2Y0hNdWFHbG5hR3hwWjJoMFEyRnNiR0poWTJzL0xpZ2dibVYzU0dsbmFHeHBaMmgwSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSamIyMXdiMjVsYm5SWGFXeHNWVzV0YjNWdWRDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWMzUmhkR1V1Y0doaGMyVWdJVDBnUjJGa1oyVjBVMlZsWkZCb1lYTmxMa2xrYkdVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG5CeWIzQnpMbWhwWjJoc2FXZG9kRU5oYkd4aVlXTnJQeTRvSUVkaFpHZGxkRk5sWldSSWFXZG9iR2xuYUhRdVNXUnNaU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQmhjM2x1WXlCdmJrMXZkbVZoWW14bFZYQmtZWFJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emIyeGxMbXh2WnlnZ1lHOXVUVzkyWldGaWJHVlZjR1JoZEdVZ0pIc2dSMkZrWjJWMFUyVmxaRkJvWVhObFd5QjBhR2x6TG5OMFlYUmxMbkJvWVhObElGMGdmU0JnWEhKY2JseDBYSFJjZEN0Z0pIc2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlZzZ2RHaHBjeTV0YjNabFlXSnNaVU52YlhCdmJtVnVkQzV6ZEdGMFpTQmRmV0FnS1R0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEdocGN5NXpkR0YwWlM1d2FHRnpaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFUyVmxaRkJvWVhObExrbGtiR1U2WEhKY2JseDBYSFJjZEZ4MGMzZHBkR05vS0NCMGFHbHpMbTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbk4wWVhSbElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVSM0poWW1KbGNrNWxZWEppZVRwY2NseHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NXpaWFJUZEdGMFpTZ2dleUJ3YUdGelpUb2dSMkZrWjJWMFUyVmxaRkJvWVhObExrZHlZV0ppWlhKT1pXRnlZbmtnZlNBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhIUmNkRngwWEhSY2RHTmhjMlVnVFc5MlpXRmliR1ZEYjIxd2IyNWxiblJUZEdGMFpTNU5aVzUxT2x4eVhHNWNkRngwWEhSY2RGeDBYSFIwYUdsekxuTmxkRk4wWVhSbEtDQjdJSEJvWVhObE9pQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVRXVnVkU0I5SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSEpjYmx4MFhIUmNkR05oYzJVZ1IyRmtaMlYwVTJWbFpGQm9ZWE5sTGsxbGJuVTZYSEpjYmx4MFhIUmNkR05oYzJVZ1IyRmtaMlYwVTJWbFpGQm9ZWE5sTGtkeVlXSmlaWEpPWldGeVluazZYSEpjYmx4MFhIUmNkRngwYzNkcGRHTm9LQ0IwYUdsekxtMXZkbVZoWW14bFEyOXRjRzl1Wlc1MExuTjBZWFJsSUNsY2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSallYTmxJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBVM1JoZEdVdVIzSmhZbUpsWkRwY2NseHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NXpaWFJUZEdGMFpTZ2dleUJ3YUdGelpUb2dSMkZrWjJWMFUyVmxaRkJvWVhObExsZGhhWFJwYm1kR2IzSkhZV1JuWlhSVGRHRnlkQ0I5SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVjM1JoY25SSFlXUm5aWFFvS1R0Y2NseHVYSFJjZEZ4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSY2RGeDBZMkZ6WlNCTmIzWmxZV0pzWlVOdmJYQnZibVZ1ZEZOMFlYUmxMa2xrYkdVNlhISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnY0doaGMyVTZJRWRoWkdkbGRGTmxaV1JRYUdGelpTNUpaR3hsSUgwZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmNkRngwWTJGelpTQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRGTjBZWFJsTGtkeVlXSmlaWEpPWldGeVluazZYSEpjYmx4MFhIUmNkRngwWEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUhzZ2NHaGhjMlU2SUVkaFpHZGxkRk5sWldSUWFHRnpaUzVIY21GaVltVnlUbVZoY21KNUlIMGdLVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJjZEZ4MFkyRnpaU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrbHVRMjl1ZEdGcGJtVnlPaUJjY2x4dVhIUmNkRngwWEhSY2RGeDBMeThnVkdocGN5QnRaV0Z1Y3lCM1pTQnRhWE56WldRZ2RHaGxJR2R5WVdJZ1lXNWtJSGRsY21VZ1lXeHlaV0ZrZVNCa2NtOXdjR1ZrUDF4eVhHNWNkRngwWEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVUV1Z1ZFRvZ1hISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnY0doaGMyVTZJRWRoWkdkbGRGTmxaV1JRYUdGelpTNU5aVzUxSUgwZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWTJGelpTQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVYyRnBkR2x1WjBadmNrZGhaR2RsZEZOMFlYSjBPbHh5WEc1Y2RGeDBYSFJjZEM4dklHbHVJSFJvYVhNZ2MzUmhkR1VnZDJVbmNtVWdiVzl6ZEd4NUlHZHZhVzVuSUhSdklHbG5ibTl5WlNCdGIzWmxZV0pzWlNCemRHRjBaU0JqYUdGdVoyVnpMbHh5WEc1Y2RGeDBYSFJjZEM4dklFOTFjaUJ1WlhoMElHbHVkR1Z5Ym1Gc0lITjBZWFJsSUdOb1lXNW5aU0IzYVd4c0lHSmxJR1J5YVhabGJpQmllU0IwYUdVZ1oyRmtaMlYwSUhOMFlYSjBhVzVuWEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUbVYzUTJocGJHUW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW05dVRtVjNRMmhwYkdSY0lpQXBPMXh5WEc1Y2RGeDBjM2RwZEdOb0lDZ2dkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZEM1emRHRjBaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOaGMyVWdUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlM1SGNtRmlZbVZrT2x4eVhHNWNkRngwWEhSY2RHTnZibk52YkdVdWJHOW5LQ0JnY21WbmNtRmlZbWx1WnlCdVpYY2daMkZrWjJWMElHMXZkbVZoWW14bElDUjdJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCMGFHbHpMbU52Ym5SaGFXNWxja052YlhCdmJtVnVkQzVqYUdsc1pDQXBJSDFnSUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1MGNtbG5aMlZ5VW1WbmNtRmlLQ2s3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEdOaGMyVWdUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlM1SGNtRmlZbVZ5VG1WaGNtSjVPbHh5WEc1Y2RGeDBYSFJqWVhObElFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MFUzUmhkR1V1U1c1RGIyNTBZV2x1WlhJNlhISmNibHgwWEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUdCeVpXUnliM0J3YVc1bklHNWxkeUJuWVdSblpYUWdiVzkyWldGaWJHVWdKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lIUm9hWE11WTI5dWRHRnBibVZ5UTI5dGNHOXVaVzUwTG1Ob2FXeGtJQ2tnZldBZ0tUdGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtTnZiblJoYVc1bGNrTnZiWEJ2Ym1WdWRDNXlaV1J5YjNBb0lIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblF1Y0dGeVpXNTBMQ0IwYUdsekxuSmxabE5sWldRdVkzVnljbVZ1ZEM1bmJHOWlZV3hKWkNBcE8xeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWMyVjBVM1JoZEdVb0lIc2djR2hoYzJVNklFZGhaR2RsZEZObFpXUlFhR0Z6WlM1WFlXbDBhVzVuUm05eVVtVmtjbTl3Vkc5R2FXNXBjMmdnZlNBcE8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVTV1JzWlRwY2NseHVYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKSWIzY2daR2xrSUhkbElHZGxkQ0JoYkd3Z2RHaGxJSGRoZVNCaVlXTnJJSFJ2SUdsa2JHVS9YQ0lnS1R0Y2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJreHZjM1JEYUdsc1pDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpYkc5emRDQmphR2xzWkNCcGJpQmpiMjUwWVdsdVpYSmNJaUFwTzF4eVhHNWNkRngwYzNkcGRHTm9LQ0IwYUdsekxuTjBZWFJsTG5Cb1lYTmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTJGelpTQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVYyRnBkR2x1WjBadmNsSmxaSEp2Y0ZSdlJtbHVhWE5vT2x4eVhHNWNkRngwWEhSallYTmxJRWRoWkdkbGRGTmxaV1JRYUdGelpTNVhZV2wwYVc1blJtOXlVbVZuY21GaU9seHlYRzVjZEZ4MFhIUmNkQzh2SUhkbEozWmxJR0psWlc0Z1pISnZjSEJsWkZ4eVhHNWNkRngwWEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUhzZ2NHaGhjMlU2SUVkaFpHZGxkRk5sWldSUWFHRnpaUzVKWkd4bElIMGdLVHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbkpsYzJWMEtDazdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUhOMFlYSjBSMkZrWjJWMEtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdiRzlqYTNNNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBnUFNCY2NseHVYSFJjZEZ0Y2RGeDBYSFJjZEZ4eVhHNWNkRngwWEhSN0lGeHlYRzVjZEZ4MFhIUmNkR2xtWVdObE9pQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRDNWpiMjUwWVdsdVpYSkpiblJsY21aaFkyVXNYSEpjYmx4MFhIUmNkRngwY21WalpXbDJaWEk2SUhSb2FYTXVjbVZtUTI5dWRHRnBibVZ5TG1OMWNuSmxiblF1WjJ4dlltRnNTV1FzWEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEYwN1hISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWFXNTBaWEptWVdObFRHOWphM01nS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc2IyTnJjeUE5SUd4dlkydHpMbU52Ym1OaGRDZ2dkR2hwY3k1d2NtOXdjeTVwYm5SbGNtWmhZMlZNYjJOcmN5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEd4bGRDQnlaWE1nUFNCaGQyRnBkQ0JCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG5OMFlYSjBSMkZrWjJWMEtDQjBhR2x6TG5CeWIzQnpMbWRoWkdkbGRGVnliQ3dnYkc5amEzTWdLVHRjY2x4dVhISmNibHgwWEhScFppZ2dJWEpsY3k1emRXTmpaWE56SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCd2FHRnpaVG9nUjJGa1oyVjBVMlZsWkZCb1lYTmxMa2xrYkdVZ2ZTQXBPMXh5WEc1Y2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9JRndpYzNSaGNuUkhZV1JuWlhRZ1ptRnBiR1ZrWENJZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2RISnBaMmRsY2xKbFozSmhZaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZEM1MGNtbG5aMlZ5VW1WbmNtRmlLQ0IwYUdsekxtTnZiblJoYVc1bGNrTnZiWEJ2Ym1WdWRDNWphR2xzWkN3Z2ExOXpaV1ZrUm5KdmJVZGhaR2RsZENBcE8xeHlYRzVjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCd2FHRnpaVG9nUjJGa1oyVjBVMlZsWkZCb1lYTmxMbGRoYVhScGJtZEdiM0pTWldkeVlXSWdmU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUWdjSFZpYkdsaklHOXVSMkZrWjJWMFUzUmhjblJsWkNnZ2MzVmpZMlZ6Y3pvZ1ltOXZiR1ZoYml3Z2JXRnBia2R5WVdKaVlXSnNaVWxrT2lCemRISnBibWNnS1NCY2NseHVYSFI3WEhKY2JseDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSnRZV2x1SUdkeVlXSmlZV0pzWlNCcFpDQjNZWE1nWENJcklHMWhhVzVIY21GaVltRmliR1ZKWkNBcE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhISmNibHgwY0hWaWJHbGpJSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJSEpoWkdsMWN5QTlJSFJvYVhNdWNISnZjSE11Y21Ga2FYVnpJRDhnZEdocGN5NXdjbTl3Y3k1eVlXUnBkWE1nT2lBd0xqRTdYSEpjYmx4eVhHNWNkRngwYkdWMElITmpZV3hsT201MWJXSmxjanRjY2x4dVhIUmNkSE4zYVhSamFDZ2dkR2hwY3k1emRHRjBaUzV3YUdGelpTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR05oYzJVZ1IyRmtaMlYwVTJWbFpGQm9ZWE5sTGtsa2JHVTZYSEpjYmx4MFhIUmNkRngwYzJOaGJHVWdQU0F4TGpBN1hISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJrWldaaGRXeDBPbHh5WEc1Y2RGeDBYSFJjZEhOallXeGxJRDBnTVM0eU5UdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJzWlhRZ2RtOXNkVzFsT2lCQmRsWnZiSFZ0WlR0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5OMFlYUmxMbkJvWVhObElEMDlJRWRoWkdkbGRGTmxaV1JRYUdGelpTNVhZV2wwYVc1blJtOXlVbVZrY205d1ZHOUdhVzVwYzJnZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUXZMeUIzWlNCM1lXNTBJSFJ2SUc1dmRDQnRZWFJqYUNCaFoyRnBibk4wSUhSb1pTQmpiMjUwWVdsdVpYSWdkMlVuY21VZ2RHVnNiR2x1WnlCdmRYSWdZMmhwYkdRZ2RHOGdjbVZrY205d0lHbHVkRzljY2x4dVhIUmNkRngwZG05c2RXMWxJRDBnZXlCMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1RmJYQjBlU0I5TzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpTQnBaaWdnZEdocGN5NXdjbTl3Y3k1amRYTjBiMjFXYjJ4MWJXVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIyYjJ4MWJXVWdQU0IwYUdsekxuQnliM0J6TG1OMWMzUnZiVlp2YkhWdFpUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlZjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZG05c2RXMWxJRDBnZXlCMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1VGNHaGxjbVVzSUhKaFpHbDFjem9nY21Ga2FYVnpJSDA3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJR1J5WVhkSlkyOXVJRDBnZEdocGN5NXpkR0YwWlM1d2FHRnpaU0FoUFNCSFlXUm5aWFJUWldWa1VHaGhjMlV1VjJGcGRHbHVaMFp2Y2xKbFozSmhZaUJjY2x4dVhIUmNkRngwSmlZZ2RHaHBjeTV6ZEdGMFpTNXdhR0Z6WlNBaFBTQkhZV1JuWlhSVFpXVmtVR2hoYzJVdVYyRnBkR2x1WjBadmNsSmxaSEp2Y0ZSdlJtbHVhWE5vTzF4eVhHNWNkRngwY21WMGRYSnVJQ2hjY2x4dVhIUmNkRngwUEVGMlEyOXRjRzl6WldSRmJuUnBkSGtnWTI5dGNHOXVaVzUwY3oxN0lGc2dkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZENCZElIMGdjbVZtUFhzZ2RHaHBjeTV5WldaVFpXVmtJSDFjY2x4dVhIUmNkRngwWEhSMmIyeDFiV1U5ZXlCMmIyeDFiV1VnZlNBK1hISmNibHgwWEhSY2RGeDBleUJrY21GM1NXTnZiaUFtSmx4eVhHNWNkRngwWEhSY2RGeDBQRUYyVkhKaGJuTm1iM0p0SUhWdWFXWnZjbTFUWTJGc1pUMTdJSE5qWVd4bElIMCtYSEpjYmx4MFhIUmNkRngwWEhSY2RIc2dkR2hwY3k1d2NtOXdjeTVqZFhOMGIyMUJjSEJsWVhKaGJtTmxJSDFjY2x4dVhIUmNkRngwWEhSY2RGeDBleUFoZEdocGN5NXdjbTl3Y3k1amRYTjBiMjFCY0hCbFlYSmhibU5sSUNZbUlGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RISmxibVJsY2tkaFpHZGxkRWxqYjI0b0lIUm9hWE11Y0hKdmNITXVaMkZrWjJWMFZYSnNMQ0IwYUdsekxuQnliM0J6TG0xaGJtbG1aWE4wTENCeVlXUnBkWE1nS1NCOVhISmNibHgwWEhSY2RGeDBYSFE4TDBGMlZISmhibk5tYjNKdFBseHlYRzVjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhROFFYWkRiMjF3YjNObFpFVnVkR2wwZVNCamIyMXdiMjVsYm5SelBYc2dXeUIwYUdsekxtTnZiblJoYVc1bGNrTnZiWEJ2Ym1WdWRDQmRJSDFjY2x4dVhIUmNkRngwWEhSY2RISmxaajE3SUhSb2FYTXVjbVZtUTI5dWRHRnBibVZ5SUgwZ2RtOXNkVzFsUFhzZ2V5QjBlWEJsT2lCRlZtOXNkVzFsVkhsd1pTNUZiWEIwZVNCOUlIMGdMejVjY2x4dVhIUmNkRngwUEM5QmRrTnZiWEJ2YzJWa1JXNTBhWFI1UGlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4eVhHNTlYSEpjYmlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19nYWRnZXRfc2VlZC50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2dyYWJfYnV0dG9uLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfZ3JhYl9idXR0b24udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdkdyYWJCdXR0b24gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R3JhYkJ1dHRvblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZHcmFiQnV0dG9uOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX21vZGVsICovIFxcXCIuL3NyYy9hYXJkdmFya19tb2RlbC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogQSBjb21wb25lbnQgdGhhdCBzaWduYWxzIHdoZW4gaXQgaXMgZ3JhYmJlZC4gKi9cXHJcXG5jbGFzcyBBdkdyYWJCdXR0b24gZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLnN0YXRlID1cXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIGlubmVyQ291bnQ6IDAsXFxyXFxuICAgICAgICAgICAgICAgIG91dGVyQ291bnQ6IDAsXFxyXFxuICAgICAgICAgICAgfTtcXHJcXG4gICAgfVxcclxcbiAgICBvbk91dGVyKGFjdGl2ZVBva2VyKSB7XFxyXFxuICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHsgcmV0dXJuIHsgb3V0ZXJDb3VudDogcHJldlN0YXRlLm91dGVyQ291bnQgKyAxIH07IH0pO1xcclxcbiAgICAgICAgYWN0aXZlUG9rZXIub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiB7IHJldHVybiB7IG91dGVyQ291bnQ6IHByZXZTdGF0ZS5vdXRlckNvdW50IC0gMSB9OyB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW5uZXIoYWN0aXZlUG9rZXIpIHtcXHJcXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAgICAgaWYgKHByZXZTdGF0ZS5pbm5lckNvdW50ID09IDApIHtcXHJcXG4gICAgICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZEhhcHRpY0V2ZW50KGFjdGl2ZVBva2VyLnBlZXIsIDAuNywgMSwgMCk7XFxyXFxuICAgICAgICAgICAgICAgIChfYiA9IChfYSA9IHRoaXMucHJvcHMpLm9uQ2xpY2spID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHsgaW5uZXJDb3VudDogcHJldlN0YXRlLmlubmVyQ291bnQgKyAxIH07XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIGFjdGl2ZVBva2VyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgICAgICAgICBpZiAocHJldlN0YXRlLmlubmVyQ291bnQgPT0gMSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZEhhcHRpY0V2ZW50KGFjdGl2ZVBva2VyLnBlZXIsIDAuMywgMSwgMCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAoX2IgPSAoX2EgPSB0aGlzLnByb3BzKS5vblJlbGVhc2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpbm5lckNvdW50OiBwcmV2U3RhdGUuaW5uZXJDb3VudCAtIDEgfTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCBzY2FsZSA9ICh0aGlzLnN0YXRlLm91dGVyQ291bnQgPiAwKSA/IDEuMSA6IDEuMDtcXHJcXG4gICAgICAgIGxldCBvdXRlclZvbHVtZTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJhZGl1cykge1xcclxcbiAgICAgICAgICAgIG91dGVyVm9sdW1lID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uU3BoZXJlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmFkaXVzOiB0aGlzLnByb3BzLnJhZGl1cyxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMubW9kZWxVcmkpIHtcXHJcXG4gICAgICAgICAgICBvdXRlclZvbHVtZSA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLk1vZGVsQm94LFxcclxcbiAgICAgICAgICAgICAgICAgICAgdXJpOiB0aGlzLnByb3BzLm1vZGVsVXJpLFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGlubmVyVm9sdW1lID0gb3V0ZXJWb2x1bWUgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIG91dGVyVm9sdW1lKSwgeyBzY2FsZTogMC44IH0pIDogbnVsbDtcXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiRnJhZ21lbnRcXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHVuaWZvcm1TY2FsZTogc2NhbGUgfSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5tb2RlbFVyaSAmJiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2TW9kZWxcXFwiXSwgeyB1cmk6IHRoaXMucHJvcHMubW9kZWxVcmksIGNvbG9yOiB0aGlzLnByb3BzLmNvbG9yIH0pLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNoaWxkcmVuKSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiXSwgeyB2b2x1bWU6IG91dGVyVm9sdW1lLCBwcmlvcml0eTogMjAsIHJlY2VpdmVzOiBbeyBpZmFjZTogXFxcImFhcmR2YXJrLXBhbmVsQDJcXFwiLCBwcm9jZXNzb3I6IHRoaXMub25PdXRlciB9XSB9KSxcXHJcXG4gICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiXSwgeyB2b2x1bWU6IGlubmVyVm9sdW1lLCBwcmlvcml0eTogMjEsIHJlY2VpdmVzOiBbeyBpZmFjZTogXFxcImFhcmR2YXJrLXBhbmVsQDJcXFwiLCBwcm9jZXNzb3I6IHRoaXMub25Jbm5lciB9XSB9KSk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R3JhYkJ1dHRvbi5wcm90b3R5cGUsIFxcXCJvbk91dGVyXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2R3JhYkJ1dHRvbi5wcm90b3R5cGUsIFxcXCJvbklubmVyXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTluY21GaVgySjFkSFJ2Ymk1MGMzZy9ZbU5rT1NKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3T3pzN096dEJRVUUyUlR0QlFVTXpRenRCUVVOSU8wRkJRMk03UVVGRGIwTTdRVUZEZEVNN1FVRkZVVHRCUVhGRGJrUXNiVVJCUVcxRU8wRkJRelZETEUxQlFVMHNXVUZCWVN4VFFVRlJMQ3REUVVGdFJEdEpRVVZ3Uml4WlFVRmhMRXRCUVZVN1VVRkZkRUlzUzBGQlN5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMUZCUldZc1NVRkJTU3hEUVVGRExFdEJRVXM3V1VGRFZqdG5Ra0ZEUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRuUWtGRFlpeFZRVUZWTEVWQlFVVXNRMEZCUXp0aFFVTmlMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSMDhzVDBGQlR5eERRVUZGTEZkQlFUUkNPMUZCUlRWRExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUlN4VFFVRlRMRVZCUVVjc1JVRkJSU3hIUVVGSExFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNVMEZCVXl4RFFVRkRMRlZCUVZVc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUTNaR0xGZEJRVmNzUTBGQlF5eFBRVUZQTEVOQlFVVXNSMEZCUnl4RlFVRkZPMWxCUlhwQ0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUlN4VFFVRlRMRVZCUVVjc1JVRkJSU3hIUVVGSExFOUJRVThzUlVGQlJTeFZRVUZWTEVWQlFVVXNVMEZCVXl4RFFVRkRMRlZCUVZVc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUTNoR0xFTkJRVU1zUTBGQlJTeERRVUZETzBsQlEwd3NRMEZCUXp0SlFVZFBMRTlCUVU4c1EwRkJSU3hYUVVFMFFqdFJRVVUxUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRVVVzVTBGQlV5eEZRVUZITEVWQlFVVTdPMWxCUlRsQ0xFbEJRVWtzVTBGQlV5eERRVUZETEZWQlFWVXNTVUZCU1N4RFFVRkRMRVZCUXpkQ08yZENRVU5ETEhsRVFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zWlVGQlpTeERRVUZGTEZkQlFWY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVVXNRMEZCUXp0blFrRkZia1VzWjBKQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVNc1QwRkJUeXh0UkVGQlN6dGhRVU4yUWp0WlFVVkVMRTlCUVU4c1JVRkJSU3hWUVVGVkxFVkJRVVVzVTBGQlV5eERRVUZETEZWQlFWVXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVOcVJDeERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVktMRmRCUVZjc1EwRkJReXhQUVVGUExFTkJRVVVzUjBGQlJ5eEZRVUZGTzFsQlJYcENMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlJTeFRRVUZUTEVWQlFVY3NSVUZCUlRzN1owSkJSVGxDTEVsQlFVa3NVMEZCVXl4RFFVRkRMRlZCUVZVc1NVRkJTU3hEUVVGRExFVkJRemRDTzI5Q1FVTkRMSGxFUVVGUkxFTkJRVU1zVVVGQlVTeEZRVUZGTEVOQlFVTXNaVUZCWlN4RFFVRkZMRmRCUVZjc1EwRkJReXhKUVVGSkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVVc1EwRkJRenR2UWtGRGJrVXNaMEpCUVVrc1EwRkJReXhMUVVGTExFVkJRVU1zVTBGQlV5eHRSRUZCU3p0cFFrRkRla0k3WjBKQlJVUXNUMEZCVHl4RlFVRkZMRlZCUVZVc1JVRkJSU3hUUVVGVExFTkJRVU1zVlVGQlZTeEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTJwRUxFTkJRVU1zUTBGQlJTeERRVUZETzFGQlEwd3NRMEZCUXl4RFFVRkZMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVTBzVFVGQlRUdFJRVVZhTEVsQlFVa3NTMEZCU3l4SFFVRkhMRU5CUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRPMUZCUTNSRUxFbEJRVWtzVjBGQmNVSXNRMEZCUXp0UlFVTXhRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVTnlRanRaUVVORExGZEJRVmM3WjBKQlExZzdiMEpCUTBNc1NVRkJTU3hGUVVGRkxIVkZRVUZYTEVOQlFVTXNUVUZCVFR0dlFrRkRlRUlzVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUVHRwUWtGRGVrSXNRMEZCUXp0VFFVTkdPMkZCUTBrc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNSVUZETlVJN1dVRkRReXhYUVVGWE8yZENRVU5ZTzI5Q1FVTkRMRWxCUVVrc1JVRkJSU3gxUlVGQlZ5eERRVUZETEZGQlFWRTdiMEpCUXpGQ0xFZEJRVWNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRkZCUVZFN2FVSkJRM2hDTEVOQlFVTTdVMEZEUmp0UlFVVkVMRWxCUVVrc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF5eERRVUZETEdsRFFVRk5MRmRCUVZjc1MwRkJSU3hMUVVGTExFVkJRVVVzUjBGQlJ5eEpRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkZkRVVzVDBGQlR6dFpRVU5PTEc5RVFVRkRMQ3RFUVVGWExFbEJRVU1zV1VGQldTeEZRVUZITEV0QlFVczdaMEpCUXpsQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4SlFVRkpMRzlFUVVGRExIVkVRVUZQTEVsQlFVTXNSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU14UkN4TFFVRkxMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVkQlFVazdaMEpCUXpOQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTlNPMWxCUTJRc2IwUkJRVU1zTkVWQlFXbENMRWxCUVVNc1RVRkJUU3hGUVVGSExGZEJRVmNzUlVGQlJ5eFJRVUZSTEVWQlFVY3NSVUZCUlN4RlFVTjBSQ3hSUVVGUkxFVkJRVWNzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4clFrRkJhMElzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRkxFZEJRVWs3V1VGRE1VVXNiMFJCUVVNc05FVkJRV2xDTEVsQlFVTXNUVUZCVFN4RlFVRkhMRmRCUVZjc1JVRkJSeXhSUVVGUkxFVkJRVWNzUlVGQlJTeEZRVU4wUkN4UlFVRlJMRVZCUVVjc1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSU3hUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkZMRWRCUVVrc1EwRkRlRVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdRMEZEUkR0QlFURkZRVHRKUVVSRExIRkVRVUZKT3pKRFFWRktPMEZCUjBRN1NVRkVReXh4UkVGQlNUc3lRMEUwUWtvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmWjNKaFlsOWlkWFIwYjI0dWRITjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1FYWldiMngxYldVc0lFVldiMngxYldWVWVYQmxMQ0JCZGtOdmJHOXlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ0tpQmhjeUJTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJSMkZrWjJWMElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOW5ZV1JuWlhRbk8xeHlYRzVwYlhCdmNuUWdleUJCWTNScGRtVkpiblJsY21aaFkyVXNJRUYyU1c1MFpYSm1ZV05sUlc1MGFYUjVJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlwYm5SbGNtWmhZMlZmWlc1MGFYUjVKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5iMlJsYkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmJXOWtaV3duTzF4eVhHNXBiWEJ2Y25RZ2V5QlFZVzVsYkZKbGNYVmxjM1FzSUZCaGJtVnNVbVZ4ZFdWemRGUjVjR1VnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDNCaGJtVnNKenRjY2x4dWFXMXdiM0owSUhzZ1FYWlVjbUZ1YzJadmNtMGdmU0JtY205dElDY3VMMkZoY21SMllYSnJYM1J5WVc1elptOXliU2M3WEhKY2JseHlYRzVjY2x4dUx5b3FJRkJ5YjNCeklHWnZjaUI3UUd4cGJtc2dRWFpIY21GaVFuVjBkRzl1ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWR5WVdKQ2RYUjBiMjVRY205d2MxeHlYRzU3WEhKY2JseDBMeW9xSUZSb1pTQnZibFJ5YVdkblpYSWdZMkZzYkdKaFkyc2dhWE1nWTJGc2JHVmtJSGRvWlc0Z2RHaGxJR2R5WVdJZ1luVjBkRzl1SUdseklHZHlZV0ppWldRdUlDb3ZYSEpjYmx4MGIyNURiR2xqYXo4NklDZ3BJRDArSUhadmFXUTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdiMjVVY21sbloyVnlJR05oYkd4aVlXTnJJR2x6SUdOaGJHeGxaQ0IzYUdWdUlIUm9aU0JuY21GaUlHSjFkSFJ2YmlCcGN5Qm5jbUZpWW1Wa0xpQXFMMXh5WEc1Y2RHOXVVbVZzWldGelpUODZJQ2dwSUQwK0lIWnZhV1E3WEhKY2JseHlYRzVjZEM4cUtpQlVhR1VnVlZKSklHOW1JSFJvWlNCSFRGUkdJRzF2WkdWc0lIUnZJSFZ6WlNCbWIzSWdkR2hwY3lCbmNtRmlJR0oxZEhSdmJpNGdSWGhoWTNSc2VTQnZibVZjY2x4dVhIUWdLaUJ2WmlCdGIyUmxiRlZ5YVNCaGJtUWdjbUZrYVhWeklHMTFjM1FnWW1VZ2MzQmxZMmxtYVdWa0xpQkpaaUJ0YjJSbGJGVnlhU0JwY3lCemNHVmphV1pwWldRc1hISmNibHgwSUNvZ2RHaGxJR0p2ZFc1a2FXNW5JR0p2ZUNCdlppQjBhR1VnYlc5a1pXd2dkMmxzYkNCaGJITnZJR0psSUhWelpXUWdZWE1nZEdobElHZHlZV0ppWVdKc1pWeHlYRzVjZENBcUlISmxaMmx2YmlCbWIzSWdkR2hsSUdKMWRIUnZiaTVjY2x4dVhIUWdLaTljY2x4dVhIUnRiMlJsYkZWeWFUODZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQmpiMnh2Y2lCMGJ5QmhjSEJzZVNCMGJ5QjBhR1VnYlc5a1pXd3VYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkR052Ykc5eVB6b2djM1J5YVc1bklId2dRWFpEYjJ4dmNqdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQnlZV1JwZFhNZ2IyWWdkR2hsSUhOd2FHVnlaU0IwYUdGMElHUmxabWx1WlhNZ2RHaGxJR2R5WVdKaVlXSnNaU0JvWVc1a2JHVWdabTl5SUhSb2FYTWdYSEpjYmx4MElDb2daM0poWWlCaWRYUjBiMjR1SUVWNFlXTjBiSGtnYjI1bElHOW1JRzF2WkdWc1ZYSnBJR0Z1WkNCeVlXUnBkWE1nYlhWemRDQmlaU0J6Y0dWamFXWnBaV1F1WEhKY2JseDBJQ292WEhKY2JseDBjbUZrYVhWelB6b2diblZ0WW1WeU8xeHlYRzU5WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnUjNKaFlrSjFkSFJ2YmxOMFlYUmxYSEpjYm50Y2NseHVYSFJ2ZFhSbGNrTnZkVzUwT2lCdWRXMWlaWEk3WEhKY2JseDBhVzV1WlhKRGIzVnVkRG9nYm5WdFltVnlPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRU0JqYjIxd2IyNWxiblFnZEdoaGRDQnphV2R1WVd4eklIZG9aVzRnYVhRZ2FYTWdaM0poWW1KbFpDNGdLaTljY2x4dVpYaHdiM0owSUdOc1lYTnpJRUYyUjNKaFlrSjFkSFJ2YmlCbGVIUmxibVJ6SUZKbFlXTjBMa052YlhCdmJtVnVkRHdnUjNKaFlrSjFkSFJ2YmxCeWIzQnpMQ0JIY21GaVFuVjBkRzl1VTNSaGRHVWdQbHh5WEc1N1hISmNibHgwWTI5dWMzUnlkV04wYjNJb0lIQnliM0J6T2lCaGJua2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RITjFjR1Z5S0NCd2NtOXdjeUFwTzF4eVhHNWNjbHh1WEhSY2RIUm9hWE11YzNSaGRHVWdQU0JjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYVc1dVpYSkRiM1Z1ZERvZ01Dd2dYSEpjYmx4MFhIUmNkRzkxZEdWeVEyOTFiblE2SURBc1hISmNibHgwWEhSOU8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUM1YwWlhJb0lHRmpkR2wyWlZCdmEyVnlPaUJCWTNScGRtVkpiblJsY21aaFkyVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUNnZ2NISmxkbE4wWVhSbElDa2dQVDRnZXlCeVpYUjFjbTRnZXlCdmRYUmxja052ZFc1ME9pQndjbVYyVTNSaGRHVXViM1YwWlhKRGIzVnVkQ0FySURFZ2ZUc2dmU0FwTzF4eVhHNWNkRngwWVdOMGFYWmxVRzlyWlhJdWIyNUZibVJsWkNnZ0tDa2dQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdocGN5NXpaWFJUZEdGMFpTZ2dLQ0J3Y21WMlUzUmhkR1VnS1NBOVBpQjdJSEpsZEhWeWJpQjdJRzkxZEdWeVEyOTFiblE2SUhCeVpYWlRkR0YwWlM1dmRYUmxja052ZFc1MElDMGdNU0I5T3lCOUlDazdYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrbHVibVZ5S0NCaFkzUnBkbVZRYjJ0bGNqb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbk5sZEZOMFlYUmxLQ0FvSUhCeVpYWlRkR0YwWlNBcElEMCtJRnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ2NISmxkbE4wWVhSbExtbHVibVZ5UTI5MWJuUWdQVDBnTUNBcElGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1elpXNWtTR0Z3ZEdsalJYWmxiblFvSUdGamRHbDJaVkJ2YTJWeUxuQmxaWElzSURBdU55d2dNU3dnTUNBcE8xeHlYRzVjZEZ4MFhISmNibHgwWEhSY2RGeDBkR2hwY3k1d2NtOXdjeTV2YmtOc2FXTnJQeTRvS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRngwY21WMGRYSnVJSHNnYVc1dVpYSkRiM1Z1ZERvZ2NISmxkbE4wWVhSbExtbHVibVZ5UTI5MWJuUWdLeUF4SUgwN0lGeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2NseHVYSFJjZEdGamRHbDJaVkJ2YTJWeUxtOXVSVzVrWldRb0lDZ3BJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JQ2dnY0hKbGRsTjBZWFJsSUNrZ1BUNGdYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhScFppZ2djSEpsZGxOMFlYUmxMbWx1Ym1WeVEyOTFiblFnUFQwZ01TQXBJRnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1YzJWdVpFaGhjSFJwWTBWMlpXNTBLQ0JoWTNScGRtVlFiMnRsY2k1d1pXVnlMQ0F3TGpNc0lERXNJREFnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWNISnZjSE11YjI1U1pXeGxZWE5sUHk0b0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSEpjYmx4MFhIUmNkRngwY21WMGRYSnVJSHNnYVc1dVpYSkRiM1Z1ZERvZ2NISmxkbE4wWVhSbExtbHVibVZ5UTI5MWJuUWdMU0F4SUgwN0lGeHlYRzVjZEZ4MFhIUjlJQ2s3WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCelkyRnNaU0E5SUNnZ2RHaHBjeTV6ZEdGMFpTNXZkWFJsY2tOdmRXNTBJRDRnTUNBcElEOGdNUzR4SURvZ01TNHdPMXh5WEc1Y2RGeDBiR1YwSUc5MWRHVnlWbTlzZFcxbE9pQkJkbFp2YkhWdFpUdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG5KaFpHbDFjeUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEc5MWRHVnlWbTlzZFcxbElEMGdYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1VGNHaGxjbVVzWEhKY2JseDBYSFJjZEZ4MGNtRmthWFZ6T2lCMGFHbHpMbkJ5YjNCekxuSmhaR2wxY3l4Y2NseHVYSFJjZEZ4MGZUdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlVnYVdZb0lIUm9hWE11Y0hKdmNITXViVzlrWld4VmNta2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ2ZFhSbGNsWnZiSFZ0WlNBOUlGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZEhsd1pUb2dSVlp2YkhWdFpWUjVjR1V1VFc5a1pXeENiM2dzWEhKY2JseDBYSFJjZEZ4MGRYSnBPaUIwYUdsekxuQnliM0J6TG0xdlpHVnNWWEpwTEZ4eVhHNWNkRngwWEhSOU8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR3hsZENCcGJtNWxjbFp2YkhWdFpTQTlJRzkxZEdWeVZtOXNkVzFsSUQ4Z2V5QXVMaTV2ZFhSbGNsWnZiSFZ0WlN3Z2MyTmhiR1U2SURBdU9DQjlJRG9nYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdQRDVjY2x4dVhIUmNkRngwUEVGMlZISmhibk5tYjNKdElIVnVhV1p2Y20xVFkyRnNaVDE3SUhOallXeGxJSDArWEhKY2JseDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbTF2WkdWc1ZYSnBJQ1ltSUR4QmRrMXZaR1ZzSUhWeWFUMTdJSFJvYVhNdWNISnZjSE11Ylc5a1pXeFZjbWtnZlNCY2NseHVYSFJjZEZ4MFhIUmNkR052Ykc5eVBYc2dkR2hwY3k1d2NtOXdjeTVqYjJ4dmNpQjlMejRnZlZ4eVhHNWNkRngwWEhSY2RIc2dkR2hwY3k1d2NtOXdjeTVqYUdsc1pISmxiaUI5WEhKY2JseDBYSFJjZER3dlFYWlVjbUZ1YzJadmNtMCtYSEpjYmx4MFhIUmNkRHhCZGtsdWRHVnlabUZqWlVWdWRHbDBlU0IyYjJ4MWJXVTlleUJ2ZFhSbGNsWnZiSFZ0WlNCOUlIQnlhVzl5YVhSNVBYc2dNakFnZlZ4eVhHNWNkRngwWEhSY2RISmxZMlZwZG1WelBYc2dXeUI3SUdsbVlXTmxPaUJjSW1GaGNtUjJZWEpyTFhCaGJtVnNRREpjSWl3Z2NISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVQzVjBaWElnZlNCZElIMHZQbHh5WEc1Y2RGeDBYSFE4UVhaSmJuUmxjbVpoWTJWRmJuUnBkSGtnZG05c2RXMWxQWHNnYVc1dVpYSldiMngxYldVZ2ZTQndjbWx2Y21sMGVUMTdJREl4SUgxY2NseHVYSFJjZEZ4MFhIUnlaV05sYVhabGN6MTdJRnNnZXlCcFptRmpaVG9nWENKaFlYSmtkbUZ5YXkxd1lXNWxiRUF5WENJc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrbHVibVZ5SUgwZ1hTQjlMejVjY2x4dVhIUmNkRHd2UGp0Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfZ3JhYl9idXR0b24udHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm0udHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2SGVhZEZhY2luZ1RyYW5zZm9ybSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZIZWFkRmFjaW5nVHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdkhlYWRGYWNpbmdUcmFuc2Zvcm07IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Jhc2Vfbm9kZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuXFxyXFxuXFxyXFxuLyoqIFRoZSB0cmFuc2Zvcm0gb2YgdGhpcyBub2RlIGlzIHRoZSB0cmFuc2xhdGlvbiBvZiBpdHMgcGFyZW50LCBubyBzY2FsZSwgYW5kIGEgcm90YXRpb24gdGhhdCBjYXVzZXNcXHJcXG4gKiB0aGUgcG9zaXRpdmUgWiBheGlzIHRvIHBvaW50IGF0IC91c2VyL2hlYWQgYW5kIHRoZSBwb3NpdGl2ZSBZIGF4aXMgdG8gcG9pbnQgZ2VuZXJhbGx5IHVwLlxcclxcbiovXFxyXFxuY2xhc3MgQXZIZWFkRmFjaW5nVHJhbnNmb3JtIGV4dGVuZHMgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdkJhc2VOb2RlXFxcIl0ge1xcclxcbiAgICBidWlsZE5vZGUoKSB7XFxyXFxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZOb2RlVHlwZVxcXCJdLkhlYWRGYWNpbmdUcmFuc2Zvcm0sIHRoaXMubV9ub2RlSWQpO1xcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTlvWldGa1gyWmhZMmx1WjE5MGNtRnVjMlp2Y20wdWRITjRQemN5TUdNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGdFJUdEJRVU5oTzBGQlQyaEdPenRGUVVWRk8wRkJRMHNzVFVGQlRTeHhRa0ZCYzBJc1UwRkJVU3c0UkVGQk5FTTdTVUZGTDBVc1UwRkJVenRSUVVWbUxFbEJRVWtzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeHpSVUZCVlN4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1EwRkJRenRSUVVOc1JpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmlMRU5CUVVNN1EwRkRSQ0lzSW1acGJHVWlPaUl1TDNOeVl5OWhZWEprZG1GeWExOW9aV0ZrWDJaaFkybHVaMTkwY21GdWMyWnZjbTB1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUVhaQ1lYTmxUbTlrWlN3Z1FYWkNZWE5sVG05a1pWQnliM0J6SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5aVlYTmxYMjV2WkdVbk8xeHlYRzVwYlhCdmNuUWdleUJCZGs1dlpHVlVlWEJsTENCQmRrTnZiRzl5TENCRmJtUndiMmx1ZEVGa1pISWdmU0JtY205dElDZEFZV0Z5WkhaaGNtdDRjaTloWVhKa2RtRnlheTF6YUdGeVpXUW5PMXh5WEc1Y2NseHVhVzUwWlhKbVlXTmxJRUYyU0dWaFpFWmhZMmx1WjFSeVlXNXpabTl5YlZCeWIzQnpJR1Y0ZEdWdVpITWdRWFpDWVhObFRtOWtaVkJ5YjNCelhISmNibnRjY2x4dWZWeHlYRzVjY2x4dVhISmNiaThxS2lCVWFHVWdkSEpoYm5ObWIzSnRJRzltSUhSb2FYTWdibTlrWlNCcGN5QjBhR1VnZEhKaGJuTnNZWFJwYjI0Z2IyWWdhWFJ6SUhCaGNtVnVkQ3dnYm04Z2MyTmhiR1VzSUdGdVpDQmhJSEp2ZEdGMGFXOXVJSFJvWVhRZ1kyRjFjMlZ6WEhKY2JpQXFJSFJvWlNCd2IzTnBkR2wyWlNCYUlHRjRhWE1nZEc4Z2NHOXBiblFnWVhRZ0wzVnpaWEl2YUdWaFpDQmhibVFnZEdobElIQnZjMmwwYVhabElGa2dZWGhwY3lCMGJ5QndiMmx1ZENCblpXNWxjbUZzYkhrZ2RYQXVYSEpjYmlvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRraGxZV1JHWVdOcGJtZFVjbUZ1YzJadmNtMGdaWGgwWlc1a2N5QkJka0poYzJWT2IyUmxQQ0JCZGtobFlXUkdZV05wYm1kVWNtRnVjMlp2Y20xUWNtOXdjeXdnZTMwZ1BseHlYRzU3WEhKY2JseDBjSFZpYkdsaklHSjFhV3hrVG05a1pTZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzV2WkdVZ1BTQjBhR2x6TG1OeVpXRjBaVTV2WkdWUFltcGxZM1FvSUVGMlRtOWtaVlI1Y0dVdVNHVmhaRVpoWTJsdVoxUnlZVzV6Wm05eWJTd2dkR2hwY3k1dFgyNXZaR1ZKWkNBcE8xeHlYRzVjZEZ4MGNtVjBkWEp1SUc1dlpHVTdYSEpjYmx4MGZWeHlYRzU5WEhKY2JseHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkhpZ2hsaWdodFRyYW5zbWl0dGVyc1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZIaWdobGlnaHRUcmFuc21pdHRlcnM7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfdHJhbnNmb3JtLnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgaXRzIHBhcmVudCB0byByZW5kZXIgYSBwYXJlbnQtc3BlY2lmaWVkIGJpdCBvZiBzY2VuZSBncmFwaCBhdFxcclxcbiAqIHRoZSBsb2NhdGlvbiBvZiBhbnkgc3BlY2lmaWVkIGludGVyZmFjZS4gSXQgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBnYWRnZXQgaW5kaWNhdG9ycyxcXHJcXG4gKiBidXQgY291bGQgYmUgYXBwcm9wcmlhdGUgd2hlbmV2ZXIgYSBnYWRnZXQganVzdCB3YW50cyB0byByZW5kZXIgc29tZSBjb250ZW50IGF0IGFuIGludGVyZmFjZS5cXHJcXG4gKi9cXHJcXG5jbGFzcyBBdkhpZ2hsaWdodFRyYW5zbWl0dGVycyBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IoKSB7XFxyXFxuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVUcmFuc21pdHRlcnMgPSBuZXcgTWFwKCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25UcmFuc21pdHRlcih4bWl0KSB7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZVRyYW5zbWl0dGVycy5zZXQoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKSh4bWl0LnBlZXIpLCB4bWl0KTtcXHJcXG4gICAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcXHJcXG4gICAgICAgIHhtaXQub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVUcmFuc21pdHRlcnMuZGVsZXRlKE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoeG1pdC5wZWVyKSk7XFxyXFxuICAgICAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgbGV0IGhpZ2hsaWdodHMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IHhtaXQgb2YgdGhpcy5hY3RpdmVUcmFuc21pdHRlcnMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICBoaWdobGlnaHRzLnB1c2gocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyBwYXJlbnQ6IHhtaXQucGVlciwga2V5OiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKHhtaXQucGVlcikgfSwgdGhpcy5wcm9wcy5oaWdobGlnaHRDb250ZW50Q2FsbGJhY2soKSkpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJGcmFnbWVudFxcXCJdLCBudWxsLFxcclxcbiAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJBdkludGVyZmFjZUVudGl0eVxcXCJdLCB7IHZvbHVtZTogT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJpbmZpbml0ZVZvbHVtZVxcXCJdKSgpLCByZWNlaXZlczogW3sgaWZhY2U6IHRoaXMucHJvcHMuaW50ZXJmYWNlTmFtZSwgcHJvY2Vzc29yOiB0aGlzLm9uVHJhbnNtaXR0ZXIgfV0gfSksXFxyXFxuICAgICAgICAgICAgaGlnaGxpZ2h0cyk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQuYVxcclxcbl0sIEF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzLnByb3RvdHlwZSwgXFxcIm9uVHJhbnNtaXR0ZXJcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOW9hV2RvYkdsbmFIUmZkSEpoYm5OdGFYUjBaWEp6TG5SemVEODNPVFEySWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3T3p0QlFVRnJRenRCUVVOSU8wRkJRMnRFTzBGQlF6aENPMEZCU1RWRU8wRkJaVzVFT3pzN1IwRkhSenRCUVVOSkxFMUJRVTBzZFVKQlFYZENMRk5CUVZFc0swTkJRVzFFTzBsQlFXaEhPenRSUVVWVExIVkNRVUZyUWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVFMFFpeERRVUZETzBsQlowTnNSU3hEUVVGRE8wbEJOMEpSTEdGQlFXRXNRMEZCUlN4SlFVRnhRanRSUVVVelF5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUjBGQlJ5eERRVUZGTEhkR1FVRnZRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNN1VVRkZia0lzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUlN4SFFVRkhMRVZCUVVVN1dVRkZiRUlzU1VGQlNTeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUTBGQlJTeDNSa0ZCYjBJc1EwRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTndSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEY0VJc1EwRkJReXhEUVVGRkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVUXNUVUZCVFR0UlFVVk1MRWxCUVVrc1ZVRkJWU3hIUVVGclFpeEZRVUZGTEVOQlFVTTdVVUZEYmtNc1MwRkJTeXhKUVVGSkxFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlEycEVPMWxCUTBNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlJTeHZSRUZCUXl3clJFRkJWeXhKUVVGRExFMUJRVTBzUlVGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RlFVTXZReXhIUVVGSExFVkJRVWNzZDBaQlFXOUNMRU5CUVVVc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlJTeEpRVU53UXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExIZENRVUYzUWl4RlFVRkZMRU5CUXpOQ0xFTkJRVVVzUTBGQlF6dFRRVU5xUWp0UlFVVkVMRTlCUVU4N1dVRkRUaXh2UkVGQlF5dzBSVUZCYVVJc1NVRkJReXhOUVVGTkxFVkJRVWNzYTBaQlFXTXNSVUZCUlN4RlFVRkhMRkZCUVZFc1JVRkRkRVFzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHRkJRV0VzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1JVRkJSU3hEUVVGRkxFZEJRVXM3V1VGRE1VVXNWVUZCVlN4RFFVTldMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wTkJRMFE3UVVFM1FrRTdTVUZFUXl4eFJFRkJTVHMwUkVGWFNpSXNJbVpwYkdVaU9pSXVMM055WXk5aFlYSmtkbUZ5YTE5b2FXZG9iR2xuYUhSZmRISmhibk50YVhSMFpYSnpMblJ6ZUM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlU3dnUVdOMGFYWmxTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlwYm5SbGNtWmhZMlZmWlc1MGFYUjVKenRjY2x4dWFXMXdiM0owSUhzZ1FYWldiMngxYldVc0lFRmhjbVIyWVhKclRXRnVhV1psYzNRc0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5MQ0JwYm1acGJtbDBaVlp2YkhWdFpTQjlJR1p5YjIwZ0owQmhZWEprZG1GeWEzaHlMMkZoY21SMllYSnJMWE5vWVhKbFpDYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlFtRnpaVTV2WkdVc0lFRjJRbUZ6WlU1dlpHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlltRnpaVjl1YjJSbEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaT2IyUmxWSGx3WlN3Z1FYWkRiMnh2Y2l3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhRZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRUYyVkhKaGJuTm1iM0p0SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5MGNtRnVjMlp2Y20wbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtobFlXUkdZV05wYm1kVWNtRnVjMlp2Y20wZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyaGxZV1JmWm1GamFXNW5YM1J5WVc1elptOXliU2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJUVzlrWld3Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyMXZaR1ZzSnp0Y2NseHVYSEpjYmk4cUtpQlFjbTl3Y3lCbWIzSWdlMEJzYVc1cklFRjJTR2xuYUd4cFoyaDBWSEpoYm5OdGFYUjBaWEp6ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyU0dsbmFHeHBaMmgwVkhKaGJuTnRhWFIwWlhKelVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR2x6SUdOaGJHeGlZV05ySUhkcGJHd2dZbVVnWTJGc2JHVmtJSFJ2SUhKbGJtUmxjaUIwYUdVZ2FHbG5hR3hwWjJoMElHNXZaR1Z6TGlBcUwxeHlYRzVjZEdocFoyaHNhV2RvZEVOdmJuUmxiblJEWVd4c1ltRmphem9nS0NrZ1BUNGdTbE5ZTGtWc1pXMWxiblE3WEhKY2JseHlYRzVjZEM4cUtpQlVhR1VnYVc1MFpYSm1ZV05sSUhSdklITmpZVzRnWm05eUxpQXFMMXh5WEc1Y2RHbHVkR1Z5Wm1GalpVNWhiV1U2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVhISmNiaThxS2lCVWFHbHpJR052YlhCdmJtVnVkQ0JoYkd4dmQzTWdhWFJ6SUhCaGNtVnVkQ0IwYnlCeVpXNWtaWElnWVNCd1lYSmxiblF0YzNCbFkybG1hV1ZrSUdKcGRDQnZaaUJ6WTJWdVpTQm5jbUZ3YUNCaGRGeHlYRzRnS2lCMGFHVWdiRzlqWVhScGIyNGdiMllnWVc1NUlITndaV05wWm1sbFpDQnBiblJsY21aaFkyVXVJRWwwSUdseklIVnpaV1FnYVc1MFpYSnVZV3hzZVNCbWIzSWdaMkZrWjJWMElHbHVaR2xqWVhSdmNuTXNYSEpjYmlBcUlHSjFkQ0JqYjNWc1pDQmlaU0JoY0hCeWIzQnlhV0YwWlNCM2FHVnVaWFpsY2lCaElHZGhaR2RsZENCcWRYTjBJSGRoYm5SeklIUnZJSEpsYm1SbGNpQnpiMjFsSUdOdmJuUmxiblFnWVhRZ1lXNGdhVzUwWlhKbVlXTmxMbHh5WEc0Z0tpOWNjbHh1Wlhod2IzSjBJR05zWVhOeklFRjJTR2xuYUd4cFoyaDBWSEpoYm5OdGFYUjBaWEp6SUdWNGRHVnVaSE1nVW1WaFkzUXVRMjl0Y0c5dVpXNTBQQ0JCZGtocFoyaHNhV2RvZEZSeVlXNXpiV2wwZEdWeWMxQnliM0J6TENCN2ZTQStYSEpjYm50Y2NseHVYSFJ3Y21sMllYUmxJR0ZqZEdsMlpWUnlZVzV6YldsMGRHVnljeUE5SUc1bGR5Qk5ZWEE4SUhOMGNtbHVaeXdnUVdOMGFYWmxTVzUwWlhKbVlXTmxQaWdwTzF4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNVVjbUZ1YzIxcGRIUmxjaWdnZUcxcGREb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbUZqZEdsMlpWUnlZVzV6YldsMGRHVnljeTV6WlhRb0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0I0YldsMExuQmxaWElnS1N3Z2VHMXBkQ0FwTzF4eVhHNWNkRngwZEdocGN5NW1iM0pqWlZWd1pHRjBaU2dwTzF4eVhHNWNjbHh1WEhSY2RIaHRhWFF1YjI1RmJtUmxaQ2dnS0NrZ1BUNWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1aFkzUnBkbVZVY21GdWMyMXBkSFJsY25NdVpHVnNaWFJsS0NCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5Z2dlRzFwZEM1d1pXVnlJQ2tnS1R0Y2NseHVYSFJjZEZ4MGRHaHBjeTVtYjNKalpWVndaR0YwWlNncE8xeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjbVZ1WkdWeUtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdhR2xuYUd4cFoyaDBjem9nU2xOWUxrVnNaVzFsYm5SYlhTQTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnZUcxcGRDQnZaaUIwYUdsekxtRmpkR2wyWlZSeVlXNXpiV2wwZEdWeWN5NTJZV3gxWlhNb0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2hwWjJoc2FXZG9kSE11Y0hWemFDZ2dQRUYyVkhKaGJuTm1iM0p0SUhCaGNtVnVkRDE3SUhodGFYUXVjR1ZsY2lCOUlGeHlYRzVjZEZ4MFhIUmNkR3RsZVQxN0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0I0YldsMExuQmxaWElnS1NCOUlENWNjbHh1WEhSY2RGeDBYSFJjZEhzZ2RHaHBjeTV3Y205d2N5NW9hV2RvYkdsbmFIUkRiMjUwWlc1MFEyRnNiR0poWTJzb0tTQjlYSEpjYmx4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK0lDazdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRHcrWEhKY2JseDBYSFJjZER4QmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVNCMmIyeDFiV1U5ZXlCcGJtWnBibWwwWlZadmJIVnRaU2dwSUgwZ2NtVmpaV2wyWlhNOWV5QmNjbHh1WEhSY2RGeDBYSFJiSUhzZ2FXWmhZMlU2SUhSb2FYTXVjSEp2Y0hNdWFXNTBaWEptWVdObFRtRnRaU3dnY0hKdlkyVnpjMjl5T2lCMGFHbHpMbTl1VkhKaGJuTnRhWFIwWlhJZ2ZTQmRJSDBnTHo1Y2NseHVYSFJjZEZ4MGV5Qm9hV2RvYkdsbmFIUnpJSDFjY2x4dVhIUmNkRHd2UGp0Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfaGlnaGxpZ2h0X3RyYW5zbWl0dGVycy50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEludGVyZmFjZVJvbGUsIEF2SW50ZXJmYWNlRW50aXR5ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJJbnRlcmZhY2VSb2xlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBJbnRlcmZhY2VSb2xlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkludGVyZmFjZUVudGl0eVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZJbnRlcmZhY2VFbnRpdHk7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogSW5kaWNhdGVzIHRoZSByb2xlIG9mIHRoaXMge0BsaW5rIEFjdGl2ZUludGVyZmFjZX0gKi9cXHJcXG52YXIgSW50ZXJmYWNlUm9sZTtcXHJcXG4oZnVuY3Rpb24gKEludGVyZmFjZVJvbGUpIHtcXHJcXG4gICAgSW50ZXJmYWNlUm9sZVtJbnRlcmZhY2VSb2xlW1xcXCJJbnZhbGlkXFxcIl0gPSAwXSA9IFxcXCJJbnZhbGlkXFxcIjtcXHJcXG4gICAgSW50ZXJmYWNlUm9sZVtJbnRlcmZhY2VSb2xlW1xcXCJUcmFuc21pdHRlclxcXCJdID0gMV0gPSBcXFwiVHJhbnNtaXR0ZXJcXFwiO1xcclxcbiAgICBJbnRlcmZhY2VSb2xlW0ludGVyZmFjZVJvbGVbXFxcIlJlY2VpdmVyXFxcIl0gPSAyXSA9IFxcXCJSZWNlaXZlclxcXCI7XFxyXFxufSkoSW50ZXJmYWNlUm9sZSB8fCAoSW50ZXJmYWNlUm9sZSA9IHt9KSk7XFxyXFxuO1xcclxcbmNsYXNzIENBY3RpdmVJbnRlcmZhY2Uge1xcclxcbiAgICBjb25zdHJ1Y3RvcihtLCByb2xlKSB7XFxyXFxuICAgICAgICB0aGlzLnRyYW5zbWl0dGVyID0gbS50cmFuc21pdHRlcjtcXHJcXG4gICAgICAgIHRoaXMucmVjZWl2ZXIgPSBtLnJlY2VpdmVyO1xcclxcbiAgICAgICAgdGhpcy5pZmFjZSA9IG0uaWZhY2U7XFxyXFxuICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IG0udHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXI7XFxyXFxuICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gbS5pbnRlcnNlY3Rpb25Qb2ludDtcXHJcXG4gICAgICAgIHRoaXMucm9sZSA9IHJvbGU7XFxyXFxuICAgICAgICB0aGlzLnBhcmFtcyA9IG0ucGFyYW1zO1xcclxcbiAgICAgICAgaWYgKHRoaXMucm9sZSA9PSBJbnRlcmZhY2VSb2xlLlRyYW5zbWl0dGVyKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5wZWVyT3JpZ2luID0gbS5yZWNlaXZlck9yaWdpbjtcXHJcXG4gICAgICAgICAgICB0aGlzLnBlZXJVc2VyQWdlbnQgPSBtLnJlY2VpdmVyVXNlckFnZW50O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5wZWVyT3JpZ2luID0gbS50cmFuc21pdHRlck9yaWdpbjtcXHJcXG4gICAgICAgICAgICB0aGlzLnBlZXJVc2VyQWdlbnQgPSBtLnRyYW5zbWl0dGVyVXNlckFnZW50O1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGxvY2soKSB7XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgW21zZ1Jlc3BvbnNlXSA9IHlpZWxkIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnNlbmRNZXNzYWdlQW5kV2FpdEZvclJlc3BvbnNlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkludGVyZmFjZUxvY2ssIHtcXHJcXG4gICAgICAgICAgICAgICAgdHJhbnNtaXR0ZXI6IHRoaXMudHJhbnNtaXR0ZXIsXFxyXFxuICAgICAgICAgICAgICAgIHJlY2VpdmVyOiB0aGlzLnJlY2VpdmVyLFxcclxcbiAgICAgICAgICAgICAgICBpZmFjZTogdGhpcy5pZmFjZVxcclxcbiAgICAgICAgICAgIH0sIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLkludGVyZmFjZUxvY2tSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZShtc2dSZXNwb25zZS5yZXN1bHQpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIHVubG9jaygpIHtcXHJcXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIGxldCBbbXNnUmVzcG9uc2VdID0geWllbGQgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZE1lc3NhZ2VBbmRXYWl0Rm9yUmVzcG9uc2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uSW50ZXJmYWNlVW5sb2NrLCB7XFxyXFxuICAgICAgICAgICAgICAgIHRyYW5zbWl0dGVyOiB0aGlzLnRyYW5zbWl0dGVyLFxcclxcbiAgICAgICAgICAgICAgICByZWNlaXZlcjogdGhpcy5yZWNlaXZlcixcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IHRoaXMuaWZhY2VcXHJcXG4gICAgICAgICAgICB9LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VVbmxvY2tSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZShtc2dSZXNwb25zZS5yZXN1bHQpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbG9jayhuZXdSZWNlaXZlcikge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgbGV0IFttc2dSZXNwb25zZV0gPSB5aWVsZCBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VSZWxvY2ssIHtcXHJcXG4gICAgICAgICAgICAgICAgdHJhbnNtaXR0ZXI6IHRoaXMudHJhbnNtaXR0ZXIsXFxyXFxuICAgICAgICAgICAgICAgIG9sZFJlY2VpdmVyOiB0aGlzLnJlY2VpdmVyLFxcclxcbiAgICAgICAgICAgICAgICBuZXdSZWNlaXZlcixcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IHRoaXMuaWZhY2VcXHJcXG4gICAgICAgICAgICB9LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VSZWxvY2tSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZShtc2dSZXNwb25zZS5yZXN1bHQpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzZWxmKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMucm9sZSA9PSBJbnRlcmZhY2VSb2xlLlRyYW5zbWl0dGVyID8gdGhpcy50cmFuc21pdHRlciA6IHRoaXMucmVjZWl2ZXI7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHBlZXIoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5yb2xlID09IEludGVyZmFjZVJvbGUuUmVjZWl2ZXIgPyB0aGlzLnRyYW5zbWl0dGVyIDogdGhpcy5yZWNlaXZlcjtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuaWZhY2U7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzZWxmRnJvbVBlZXIoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5yb2xlID09IEludGVyZmFjZVJvbGUuVHJhbnNtaXR0ZXIpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJpbnZlcnROb2RlVHJhbnNmb3JtXFxcIl0pKHRoaXMubGFzdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXR0ZXJJbnRlcnNlY3Rpb25Qb2ludCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50O1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzZWxmSW50ZXJzZWN0aW9uUG9pbnQoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5yb2xlID09IEludGVyZmFjZVJvbGUuVHJhbnNtaXR0ZXIpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sYXN0VHJhbnNtaXR0ZXJJbnRlcnNlY3Rpb25Qb2ludDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMubGFzdFRyYW5zbWl0dGVySW50ZXJzZWN0aW9uUG9pbnQpIHtcXHJcXG4gICAgICAgICAgICBsZXQgbWF0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIm5vZGVUcmFuc2Zvcm1Ub01hdDRcXFwiXSkodGhpcy5zZWxmRnJvbVBlZXIpO1xcclxcbiAgICAgICAgICAgIGxldCByZWNlaXZlckludGVyc2VjdGlvblBvaW50ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtYXRNdWx0aXBseVBvaW50XFxcIl0pKG1hdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcInZlY0Zyb21BdlZlY3RvclxcXCJdKSh0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50KSk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwidmVjVG9BdlZlY3RvclxcXCJdKShyZWNlaXZlckludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGdldCBvcmlnaW4oKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5wZWVyT3JpZ2luO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB1c2VyQWdlbnQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5wZWVyVXNlckFnZW50O1xcclxcbiAgICB9XFxyXFxuICAgIHNlbmRFdmVudChldmVudCkge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgbGV0IFttc2dSZXNwb25zZV0gPSB5aWVsZCBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5zZW5kTWVzc2FnZUFuZFdhaXRGb3JSZXNwb25zZShfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VTZW5kRXZlbnQsIHtcXHJcXG4gICAgICAgICAgICAgICAgZGVzdGluYXRpb246IHRoaXMucGVlcixcXHJcXG4gICAgICAgICAgICAgICAgcGVlcjogdGhpcy5zZWxmLFxcclxcbiAgICAgICAgICAgICAgICBpZmFjZTogdGhpcy5pZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgZXZlbnRcXHJcXG4gICAgICAgICAgICB9LCBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiTWVzc2FnZVR5cGVcXFwiXS5JbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZSk7XFxyXFxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uRW5kZWQoZW5kZWRDYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbmRlZENhbGxiYWNrID0gZW5kZWRDYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICBlbmQodHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIsIGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBpZiAodHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IHRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgKF9hID0gdGhpcy5lbmRlZENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkV2ZW50KGV2ZW50Q2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZXZlbnRDYWxsYmFjayA9IGV2ZW50Q2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgZXZlbnQoZXZlbnQsIGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBpZiAoZGVzdGluYXRpb25Gcm9tUGVlcikge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnJvbGUgPT0gSW50ZXJmYWNlUm9sZS5UcmFuc21pdHRlcikge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IGRlc3RpbmF0aW9uRnJvbVBlZXI7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFRyYW5zbWl0dGVySW50ZXJzZWN0aW9uUG9pbnQgPSBpbnRlcnNlY3Rpb25Qb2ludDtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJpbnZlcnROb2RlVHJhbnNmb3JtXFxcIl0pKGRlc3RpbmF0aW9uRnJvbVBlZXIpO1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJzZWN0aW9uUG9pbnQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGxldCBtYXRUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibm9kZVRyYW5zZm9ybVRvTWF0NFxcXCJdKSh0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlcik7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtYXRNdWx0aXBseVBvaW50XFxcIl0pKG1hdFRyYW5zbWl0dGVyRnJvbVJlY2VpdmVyLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcInZlY0Zyb21BdlZlY3RvclxcXCJdKShpbnRlcnNlY3Rpb25Qb2ludCkpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0VHJhbnNtaXR0ZXJJbnRlcnNlY3Rpb25Qb2ludCA9IG51bGw7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmV2ZW50Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIGV2ZW50KTtcXHJcXG4gICAgfVxcclxcbiAgICBvblRyYW5zZm9ybVVwZGF0ZWQodHJhbnNmb3JtQ2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMudHJhbnNmb3JtQ2FsbGJhY2sgPSB0cmFuc2Zvcm1DYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICB0cmFuc2Zvcm1VcGRhdGVkKGVudGl0eUZyb21QZWVyLCBpbnRlcnNlY3Rpb25Qb2ludCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgaWYgKHRoaXMucm9sZSA9PSBJbnRlcmZhY2VSb2xlLlRyYW5zbWl0dGVyKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5sYXN0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIgPSBlbnRpdHlGcm9tUGVlcjtcXHJcXG4gICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gaW50ZXJzZWN0aW9uUG9pbnQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiaW52ZXJ0Tm9kZVRyYW5zZm9ybVxcXCJdKShlbnRpdHlGcm9tUGVlcik7XFxyXFxuICAgICAgICAgICAgaWYgKGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBtYXRUcmFuc21pdHRlckZyb21SZWNlaXZlciA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibm9kZVRyYW5zZm9ybVRvTWF0NFxcXCJdKSh0aGlzLmxhc3RUcmFuc21pdHRlckZyb21SZWNlaXZlcik7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFRyYW5zbWl0dGVySW50ZXJzZWN0aW9uUG9pbnQgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIm1hdE11bHRpcGx5UG9pbnRcXFwiXSkobWF0VHJhbnNtaXR0ZXJGcm9tUmVjZWl2ZXIsIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwidmVjRnJvbUF2VmVjdG9yXFxcIl0pKGludGVyc2VjdGlvblBvaW50KSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RUcmFuc21pdHRlckludGVyc2VjdGlvblBvaW50ID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLnRyYW5zZm9ybUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCBlbnRpdHlGcm9tUGVlcik7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLyoqIERlZmluZXMgb25lIHBhcnRpY2lwYW50IGluIHRoZSBpbnRlcmZhY2Ugc3lzdGVtICovXFxyXFxuY2xhc3MgQXZJbnRlcmZhY2VFbnRpdHkgZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlSW50ZXJmYWNlcyA9IFtdO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBAaGlkZGVuICovXFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uSW50ZXJmYWNlRW50aXR5LCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGxldCBuZWVkUHJvY2Vzc29yID0gZmFsc2U7XFxyXFxuICAgICAgICBub2RlLnByb3BUcmFuc21pdHMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVyZmFjZVByb3Agb2YgKF9hID0gdGhpcy5wcm9wcy50cmFuc21pdHMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdKSB7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNtaXRzLnB1c2goaW50ZXJmYWNlUHJvcC5pZmFjZSk7XFxyXFxuICAgICAgICAgICAgbmVlZFByb2Nlc3NvciA9IG5lZWRQcm9jZXNzb3IgfHwgKGludGVyZmFjZVByb3AucHJvY2Vzc29yICE9IG51bGwpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wUmVjZWl2ZXMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVyZmFjZVByb3Agb2YgKF9iID0gdGhpcy5wcm9wcy5yZWNlaXZlcykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogW10pIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BSZWNlaXZlcy5wdXNoKGludGVyZmFjZVByb3AuaWZhY2UpO1xcclxcbiAgICAgICAgICAgIG5lZWRQcm9jZXNzb3IgPSBuZWVkUHJvY2Vzc29yIHx8IChpbnRlcmZhY2VQcm9wLnByb2Nlc3NvciAhPSBudWxsKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvcHMudm9sdW1lKSkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFZvbHVtZXMgPSB0aGlzLnByb3BzLnZvbHVtZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFZvbHVtZXMgPSBbdGhpcy5wcm9wcy52b2x1bWVdO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wUGFyZW50QWRkciA9IHRoaXMucHJvcHMucGFyZW50O1xcclxcbiAgICAgICAgbm9kZS5wcm9wQ29uc3RyYWludCA9IHRoaXMucHJvcHMuY29uc3RyYWludDtcXHJcXG4gICAgICAgIG5vZGUucHJvcFByaW9yaXR5ID0gdGhpcy5wcm9wcy5wcmlvcml0eTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVyZmFjZUxvY2sgb2YgKChfYyA9IHRoaXMucHJvcHMuaW50ZXJmYWNlTG9ja3MpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IFtdKSkge1xcclxcbiAgICAgICAgICAgIGxldCBmb3VuZEl0ID0gZmFsc2U7XFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgdHJhbnNtaXR0ZXIgb2YgKF9kID0gdGhpcy5wcm9wcy50cmFuc21pdHMpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IFtdKSB7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChpbnRlcmZhY2VMb2NrLmlmYWNlID09IHRyYW5zbWl0dGVyLmlmYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBmb3VuZEl0ID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmICghZm91bmRJdCkge1xcclxcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEVudGl0eSBpbmNsdWRlZCBhbiBpbml0aWFsIGludGVyZmFjZSAke2ludGVyZmFjZUxvY2suaWZhY2V9IGJ1dCBkb2VzIG5vdCBgXFxyXFxuICAgICAgICAgICAgICAgICAgICArIGB0cmFuc21pdCB0aGF0IGludGVyZmFjZWApO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIG5vZGUucHJvcEludGVyZmFjZUxvY2tzID0gdGhpcy5wcm9wcy5pbnRlcmZhY2VMb2NrcztcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLndhbnRzVHJhbnNmb3Jtcykge1xcclxcbiAgICAgICAgICAgIG5vZGUuZmxhZ3MgfD0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVOb2RlRmxhZ3NcXFwiXS5Ob3RpZnlPblRyYW5zZm9ybUNoYW5nZTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChuZWVkUHJvY2Vzc29yKSB7XFxyXFxuICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2V0SW50ZXJmYWNlRW50aXR5UHJvY2Vzc29yKHRoaXMubV9ub2RlSWQsIHtcXHJcXG4gICAgICAgICAgICAgICAgc3RhcnRlZDogdGhpcy5vbkludGVyZmFjZVN0YXJ0ZWQsXFxyXFxuICAgICAgICAgICAgICAgIGVuZGVkOiB0aGlzLm9uSW50ZXJmYWNlRW5kZWQsXFxyXFxuICAgICAgICAgICAgICAgIGV2ZW50OiB0aGlzLm9uSW50ZXJmYWNlRXZlbnQsXFxyXFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybVVwZGF0ZWQ6IHRoaXMub25UcmFuc2Zvcm1VcGRhdGVkLFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0UHJvY2Vzc29yKHRyYW5zbWl0dGVyLCByZWNlaXZlciwgaWZhY2UpIHtcXHJcXG4gICAgICAgIGlmICh0cmFuc21pdHRlci5lbmRwb2ludElkID09IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLmdldEVuZHBvaW50SWQoKSAmJlxcclxcbiAgICAgICAgICAgIHRoaXMubV9ub2RlSWQgPT0gdHJhbnNtaXR0ZXIubm9kZUlkKSB7XFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgaW50ZXJmYWNlUHJvcCBvZiB0aGlzLnByb3BzLnRyYW5zbWl0cykge1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJmYWNlUHJvcC5pZmFjZSA9PSBpZmFjZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtpbnRlcmZhY2VQcm9wLnByb2Nlc3NvciwgSW50ZXJmYWNlUm9sZS5UcmFuc21pdHRlcl07XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAocmVjZWl2ZXIuZW5kcG9pbnRJZCA9PSBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5nZXRFbmRwb2ludElkKCkgJiZcXHJcXG4gICAgICAgICAgICB0aGlzLm1fbm9kZUlkID09IHJlY2VpdmVyLm5vZGVJZCkge1xcclxcbiAgICAgICAgICAgIGZvciAobGV0IGludGVyZmFjZVByb3Agb2YgdGhpcy5wcm9wcy5yZWNlaXZlcykge1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaW50ZXJmYWNlUHJvcC5pZmFjZSA9PSBpZmFjZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtpbnRlcmZhY2VQcm9wLnByb2Nlc3NvciwgSW50ZXJmYWNlUm9sZS5SZWNlaXZlcl07XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiZ2V0UHJvY2Vzc29yIGNhbGxlZCB3aGVuIHdlIHdlcmVuJ3QgdGhlIHRyYW5zbWl0dGVyIG9yIHJlY2VpdmVyXFxcIik7XFxyXFxuICAgICAgICByZXR1cm4gW251bGwsIEludGVyZmFjZVJvbGUuSW52YWxpZF07XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VTdGFydGVkKG0pIHtcXHJcXG4gICAgICAgIGxldCBbcHJvY2Vzc29yLCByb2xlXSA9IHRoaXMuZ2V0UHJvY2Vzc29yKG0udHJhbnNtaXR0ZXIsIG0ucmVjZWl2ZXIsIG0uaWZhY2UpO1xcclxcbiAgICAgICAgaWYgKHByb2Nlc3Nvcikge1xcclxcbiAgICAgICAgICAgIGxldCBuZXdJbnRlcmZhY2UgPSBuZXcgQ0FjdGl2ZUludGVyZmFjZShtLCByb2xlKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUludGVyZmFjZXMucHVzaChuZXdJbnRlcmZhY2UpO1xcclxcbiAgICAgICAgICAgIHByb2Nlc3NvcihuZXdJbnRlcmZhY2UpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGZpbmRBY3RpdmVJbnRlcmZhY2UodHJhbnNtaXR0ZXIsIHJlY2VpdmVyLCBpZmFjZSkge1xcclxcbiAgICAgICAgZm9yIChsZXQgaSBvZiB0aGlzLmFjdGl2ZUludGVyZmFjZXMpIHtcXHJcXG4gICAgICAgICAgICBpZiAoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJlbmRwb2ludEFkZHJzTWF0Y2hcXFwiXSkoaS50cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIpXFxyXFxuICAgICAgICAgICAgICAgICYmIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiZW5kcG9pbnRBZGRyc01hdGNoXFxcIl0pKGkucmVjZWl2ZXIsIHJlY2VpdmVyKVxcclxcbiAgICAgICAgICAgICAgICAmJiBpZmFjZSA9PSBpLmlmYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICB9XFxyXFxuICAgIGZpbmRBY3RpdmVJbnRlcmZhY2VCeURlc3QoZGVzdGluYXRpb24sIHBlZXIsIGlmYWNlKSB7XFxyXFxuICAgICAgICBmb3IgKGxldCBpIG9mIHRoaXMuYWN0aXZlSW50ZXJmYWNlcykge1xcclxcbiAgICAgICAgICAgIGlmIChPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkcnNNYXRjaFxcXCJdKShpLnNlbGYsIGRlc3RpbmF0aW9uKVxcclxcbiAgICAgICAgICAgICAgICAmJiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVuZHBvaW50QWRkcnNNYXRjaFxcXCJdKShpLnBlZXIsIHBlZXIpXFxyXFxuICAgICAgICAgICAgICAgICYmIGlmYWNlID09IGkuaWZhY2UpIHtcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VFbmRlZCh0cmFuc21pdHRlciwgcmVjZWl2ZXIsIGlmYWNlLCB0cmFuc21pdHRlckZyb21SZWNlaXZlciwgaW50ZXJzZWN0aW9uUG9pbnQpIHtcXHJcXG4gICAgICAgIGxldCBhY3RpdmVJbnRlcmZhY2UgPSB0aGlzLmZpbmRBY3RpdmVJbnRlcmZhY2UodHJhbnNtaXR0ZXIsIHJlY2VpdmVyLCBpZmFjZSk7XFxyXFxuICAgICAgICBpZiAoYWN0aXZlSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgYWN0aXZlSW50ZXJmYWNlLmVuZCh0cmFuc21pdHRlckZyb21SZWNlaXZlciwgaW50ZXJzZWN0aW9uUG9pbnQpO1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlSW50ZXJmYWNlcy5zcGxpY2UodGhpcy5hY3RpdmVJbnRlcmZhY2VzLmluZGV4T2YoYWN0aXZlSW50ZXJmYWNlKSwgMSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25JbnRlcmZhY2VFdmVudChkZXN0aW5hdGlvbiwgcGVlciwgaWZhY2UsIGRhdGEsIGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KSB7XFxyXFxuICAgICAgICBsZXQgYWN0aXZlSW50ZXJmYWNlID0gdGhpcy5maW5kQWN0aXZlSW50ZXJmYWNlQnlEZXN0KGRlc3RpbmF0aW9uLCBwZWVyLCBpZmFjZSk7XFxyXFxuICAgICAgICBpZiAoYWN0aXZlSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgYWN0aXZlSW50ZXJmYWNlLmV2ZW50KGRhdGEsIGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBvblRyYW5zZm9ybVVwZGF0ZWQoZGVzdGluYXRpb24sIHBlZXIsIGlmYWNlLCBkZXN0aW5hdGlvbkZyb21QZWVyLCBpbnRlcnNlY3Rpb25Qb2ludCkge1xcclxcbiAgICAgICAgbGV0IGFjdGl2ZUludGVyZmFjZSA9IHRoaXMuZmluZEFjdGl2ZUludGVyZmFjZUJ5RGVzdChkZXN0aW5hdGlvbiwgcGVlciwgaWZhY2UpO1xcclxcbiAgICAgICAgaWYgKGFjdGl2ZUludGVyZmFjZSkge1xcclxcbiAgICAgICAgICAgIGFjdGl2ZUludGVyZmFjZS50cmFuc2Zvcm1VcGRhdGVkKGRlc3RpbmF0aW9uRnJvbVBlZXIsIGludGVyc2VjdGlvblBvaW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZJbnRlcmZhY2VFbnRpdHkucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VTdGFydGVkXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2SW50ZXJmYWNlRW50aXR5LnByb3RvdHlwZSwgXFxcIm9uSW50ZXJmYWNlRW5kZWRcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZJbnRlcmZhY2VFbnRpdHkucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VFdmVudFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdkludGVyZmFjZUVudGl0eS5wcm90b3R5cGUsIFxcXCJvblRyYW5zZm9ybVVwZGF0ZWRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXBiblJsY21aaFkyVmZaVzUwYVhSNUxuUnplRDgxTnpZeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3pzN08wRkJRWEZuUWp0QlFVTnVaVHRCUVVOcFF6dEJRVU4wUWp0QlFVVTNReXg1UkVGQmVVUTdRVUZEZWtRc1NVRkJXU3hoUVV0WU8wRkJURVFzVjBGQldTeGhRVUZoTzBsQlJYaENMSFZFUVVGUE8wbEJRMUFzSzBSQlFWYzdTVUZEV0N4NVJFRkJVVHRCUVVOVUxFTkJRVU1zUlVGTVZ5eGhRVUZoTEV0QlFXSXNZVUZCWVN4UlFVdDRRanRCUVVGQkxFTkJRVU03UVVFMFJVWXNUVUZCVFN4blFrRkJaMEk3U1VGbGNrSXNXVUZCWVN4RFFVRnpRaXhGUVVGRkxFbEJRVzFDTzFGQlJYWkVMRWxCUVVrc1EwRkJReXhYUVVGWExFZEJRVWNzUTBGQlF5eERRVUZETEZkQlFWY3NRMEZCUXp0UlFVTnFReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEhRVUZITEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkRNMElzU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUjBGQlJ5eERRVUZETEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU03VVVGRE4wUXNTVUZCU1N4RFFVRkRMR2REUVVGblF5eEhRVUZITEVOQlFVTXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF6dFJRVU0xUkN4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU5xUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEZGtJc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEdGQlFXRXNRMEZCUXl4WFFVRlhMRVZCUXpGRE8xbEJRME1zU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRE8xbEJRMjVETEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1EwRkJReXhEUVVGRExHbENRVUZwUWl4RFFVRkRPMU5CUTNwRE8yRkJSVVE3V1VGRFF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRU5CUVVNc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0WlFVTjBReXhKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEVOQlFVTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF6dFRRVU0xUXp0SlFVTkdMRU5CUVVNN1NVRkZUU3hKUVVGSk8xRkJSVllzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCZFVJc1EwRkJUeXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZITEVWQlFVVTdXVUZGYmtVc1NVRkJTU3hEUVVGRkxGZEJRVmNzUTBGQlJTeEhRVUZITEUxQlFVMHNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5dzJRa0ZCTmtJc1EwRkROVVVzZFVWQlFWY3NRMEZCUXl4aFFVRmhMRVZCUTNwQ08yZENRVU5ETEZkQlFWY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenRuUWtGRE4wSXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUk8yZENRVU4yUWl4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXM3WVVGRFJ5eEZRVU55UWl4MVJVRkJWeXhEUVVGRExIRkNRVUZ4UWl4RFFVRkZMRU5CUVVNN1dVRkRja01zVDBGQlR5eERRVUZGTEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVVN1VVRkRPVUlzUTBGQlF5eEZRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlUwc1RVRkJUVHRSUVVWYUxFOUJRVThzU1VGQlNTeFBRVUZQTEVOQlFYVkNMRU5CUVU4c1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJ5eEZRVUZGTzFsQlJXNUZMRWxCUVVrc1EwRkJSU3hYUVVGWExFTkJRVVVzUjBGQlJ5eE5RVUZOTEhsRVFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zTmtKQlFUWkNMRU5CUXpWRkxIVkZRVUZYTEVOQlFVTXNaVUZCWlN4RlFVTXpRanRuUWtGRFF5eFhRVUZYTEVWQlFVVXNTVUZCU1N4RFFVRkRMRmRCUVZjN1owSkJRemRDTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVVHRuUWtGRGRrSXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTE8yRkJRMHNzUlVGRGRrSXNkVVZCUVZjc1EwRkJReXgxUWtGQmRVSXNRMEZCUlN4RFFVRkRPMWxCUTNaRExFOUJRVThzUTBGQlJTeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkZPMUZCUXpsQ0xFTkJRVU1zUlVGQlJTeERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVk5MRTFCUVUwc1EwRkJSU3hYUVVGNVFqdFJRVVYyUXl4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGMVFpeERRVUZQTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVjc1JVRkJSVHRaUVVWdVJTeEpRVUZKTEVOQlFVVXNWMEZCVnl4RFFVRkZMRWRCUVVjc1RVRkJUU3g1UkVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMRFpDUVVFMlFpeERRVU0xUlN4MVJVRkJWeXhEUVVGRExHVkJRV1VzUlVGRE0wSTdaMEpCUTBNc1YwRkJWeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTzJkQ1FVTTNRaXhYUVVGWExFVkJRVVVzU1VGQlNTeERRVUZETEZGQlFWRTdaMEpCUXpGQ0xGZEJRVmM3WjBKQlExZ3NTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTE8yRkJRMHNzUlVGRGRrSXNkVVZCUVZjc1EwRkJReXgxUWtGQmRVSXNRMEZCUlN4RFFVRkRPMWxCUTNaRExFOUJRVThzUTBGQlJTeFhRVUZYTEVOQlFVTXNUVUZCVFN4RFFVRkZPMUZCUXpsQ0xFTkJRVU1zUlVGQlJTeERRVUZETzBsQlEwd3NRMEZCUXp0SlFVVkVMRWxCUVZjc1NVRkJTVHRSUVVWa0xFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NTVUZCU1N4aFFVRmhMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETzBsQlEyeEdMRU5CUVVNN1NVRkZSQ3hKUVVGWExFbEJRVWs3VVVGRlpDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1lVRkJZU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXp0SlFVTXZSU3hEUVVGRE8wbEJSVVFzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF6dEpRVU51UWl4RFFVRkRPMGxCUlVRc1NVRkJWeXgxUWtGQmRVSTdVVUZGYWtNc1QwRkJUeXhKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRU5CUVVNN1NVRkRla01zUTBGQlF6dEpRVVZFTEVsQlFWY3NXVUZCV1R0UlFVVjBRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NZVUZCWVN4RFFVRkRMRmRCUVZjc1JVRkRNVU03V1VGRFF5eFBRVUZQTEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUTBGQlF6dFRRVU40UXp0aFFVVkVPMWxCUTBNc1QwRkJUeXgxUmtGQmJVSXNRMEZCUlN4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlFVVXNRMEZCUXp0VFFVTXZSRHRKUVVOR0xFTkJRVU03U1VGRlJDeEpRVUZYTERSQ1FVRTBRanRSUVVWMFF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4blEwRkJaME1zUTBGQlF6dEpRVU01UXl4RFFVRkRPMGxCUlVRc1NVRkJWeXh4UWtGQmNVSTdVVUZGTDBJc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEpRVUZKTEdGQlFXRXNRMEZCUXl4WFFVRlhMRVZCUXpGRE8xbEJRME1zVDBGQlR5eEpRVUZKTEVOQlFVTXNaME5CUVdkRExFTkJRVU03VTBGRE4wTTdZVUZEU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhuUTBGQlowTXNSVUZET1VNN1dVRkRReXhKUVVGSkxEQkNRVUV3UWl4SFFVRkhMSFZHUVVGdFFpeERRVUZGTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVVc1EwRkJRenRaUVVNeFJTeEpRVUZKTEhsQ1FVRjVRaXhIUVVGSExHOUdRVUZuUWl4RFFVRkZMREJDUVVFd1FpeEZRVU16UlN4dFJrRkJaU3hEUVVGRkxFbEJRVWtzUTBGQlF5eG5RMEZCWjBNc1EwRkJSU3hEUVVGRkxFTkJRVU03V1VGRE5VUXNUMEZCVHl4cFJrRkJZU3hEUVVGRkxIbENRVUY1UWl4RFFVRkZMRU5CUVVNN1UwRkRiRVE3WVVGRlJEdFpRVU5ETEU5QlFVOHNTVUZCU1N4RFFVRkRPMU5CUTFvN1NVRkRSaXhEUVVGRE8wbEJSVVFzU1VGQlZ5eE5RVUZOTzFGQlJXaENMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU40UWl4RFFVRkRPMGxCUlVRc1NVRkJWeXhUUVVGVE8xRkJSVzVDTEU5QlFVOHNTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJRenRKUVVNelFpeERRVUZETzBsQlIwUXNVMEZCVXl4RFFVRkZMRXRCUVdFN1VVRkZka0lzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCVVN4RFFVRlBMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVWNzUlVGQlJUdFpRVVZ3UkN4SlFVRkpMRU5CUVVVc1YwRkJWeXhEUVVGRkxFZEJRVWNzVFVGQlRTeDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExEWkNRVUUyUWl4RFFVTTFSU3gxUlVGQlZ5eERRVUZETEd0Q1FVRnJRaXhGUVVNNVFqdG5Ra0ZEUXl4WFFVRlhMRVZCUVVVc1NVRkJTU3hEUVVGRExFbEJRVWs3WjBKQlEzUkNMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zU1VGQlNUdG5Ra0ZEWml4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXM3WjBKQlEycENMRXRCUVVzN1lVRkRiMElzUlVGRE1VSXNkVVZCUVZjc1EwRkJReXd3UWtGQk1FSXNRMEZCUlN4RFFVRkRPMWxCUXpGRExFOUJRVThzUlVGQlJTeERRVUZETzFGQlExZ3NRMEZCUXl4RlFVRkZMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVVFzVDBGQlR5eERRVUZGTEdGQlFYZENPMUZCUldoRExFbEJRVWtzUTBGQlF5eGhRVUZoTEVkQlFVY3NZVUZCWVN4RFFVRkRPMGxCUTNCRExFTkJRVU03U1VGRlJDeEhRVUZITEVOQlFVVXNkVUpCUVhsRExFVkJRVVVzYVVKQlFUSkNPenRSUVVVeFJTeEpRVUZKTEhWQ1FVRjFRaXhGUVVNelFqdFpRVU5ETEVsQlFVa3NRMEZCUXl3eVFrRkJNa0lzUjBGQlJ5eDFRa0ZCZFVJc1EwRkJRenRUUVVNelJEdFJRVU5FTEZWQlFVa3NRMEZCUXl4aFFVRmhMQ3REUVVGc1FpeEpRVUZKTEVWQlFXMUNPMGxCUTNoQ0xFTkJRVU03U1VGRlJDeFBRVUZQTEVOQlFVVXNZVUZCZFVNN1VVRkZMME1zU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4aFFVRmhMRU5CUVVNN1NVRkRjRU1zUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUlN4TFFVRmhMRVZCUVVVc2JVSkJRVzlETEVWQlFVVXNhVUpCUVRKQ096dFJRVVYwUml4SlFVRkpMRzFDUVVGdFFpeEZRVU4yUWp0WlFVTkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeGhRVUZoTEVOQlFVTXNWMEZCVnl4RlFVTXhRenRuUWtGRFF5eEpRVUZKTEVOQlFVTXNNa0pCUVRKQ0xFZEJRVWNzYlVKQlFXMUNMRU5CUVVNN1owSkJRM1pFTEVsQlFVa3NRMEZCUXl4blEwRkJaME1zUjBGQlJ5eHBRa0ZCYVVJc1EwRkJRenRoUVVNeFJEdHBRa0ZGUkR0blFrRkRReXhKUVVGSkxFTkJRVU1zTWtKQlFUSkNMRWRCUVVjc2RVWkJRVzFDTEVOQlFVVXNiVUpCUVcxQ0xFTkJRVVVzUTBGQlF6dG5Ra0ZGT1VVc1NVRkJTU3hwUWtGQmFVSXNSVUZEY2tJN2IwSkJRME1zU1VGQlNTd3dRa0ZCTUVJc1IwRkJSeXgxUmtGQmJVSXNRMEZCUlN4SlFVRkpMRU5CUVVNc01rSkJRVEpDTEVOQlFVVXNRMEZCUXp0dlFrRkRla1lzU1VGQlNTeERRVUZETEdkRFFVRm5ReXhIUVVGSExHOUdRVUZuUWl4RFFVRkZMREJDUVVFd1FpeEZRVU51Uml4dFJrRkJaU3hEUVVGRkxHbENRVUZwUWl4RFFVRkZMRU5CUVVVc1EwRkJRenRwUWtGRGVFTTdjVUpCUlVRN2IwSkJRME1zU1VGQlNTeERRVUZETEdkRFFVRm5ReXhIUVVGSExFbEJRVWtzUTBGQlF6dHBRa0ZETjBNN1lVRkRSRHRUUVVORU8xRkJSVVFzVlVGQlNTeERRVUZETEdGQlFXRXNLME5CUVd4Q0xFbEJRVWtzUlVGQmEwSXNTMEZCU3l4RlFVRkhPMGxCUXk5Q0xFTkJRVU03U1VGRlJDeHJRa0ZCYTBJc1EwRkJSU3hwUWtGQk5rUTdVVUZGYUVZc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMR2xDUVVGcFFpeERRVUZETzBsQlF6VkRMRU5CUVVNN1NVRkZSQ3huUWtGQlowSXNRMEZCUlN4alFVRXJRaXhGUVVGRkxHbENRVUV5UWpzN1VVRkZOMFVzU1VGQlNTeEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMR0ZCUVdFc1EwRkJReXhYUVVGWExFVkJRekZETzFsQlEwTXNTVUZCU1N4RFFVRkRMREpDUVVFeVFpeEhRVUZITEdOQlFXTXNRMEZCUXp0WlFVTnNSQ3hKUVVGSkxFTkJRVU1zWjBOQlFXZERMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTTdVMEZETVVRN1lVRkZSRHRaUVVORExFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1IwRkJSeXgxUmtGQmJVSXNRMEZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRaUVVWNlJTeEpRVUZKTEdsQ1FVRnBRaXhGUVVOeVFqdG5Ra0ZEUXl4SlFVRkpMREJDUVVFd1FpeEhRVUZITEhWR1FVRnRRaXhEUVVGRkxFbEJRVWtzUTBGQlF5d3lRa0ZCTWtJc1EwRkJSU3hEUVVGRE8yZENRVU42Uml4SlFVRkpMRU5CUVVNc1owTkJRV2RETEVkQlFVY3NiMFpCUVdkQ0xFTkJRVVVzTUVKQlFUQkNMRVZCUTI1R0xHMUdRVUZsTEVOQlFVVXNhVUpCUVdsQ0xFTkJRVVVzUTBGQlJTeERRVUZETzJGQlEzaERPMmxDUVVWRU8yZENRVU5ETEVsQlFVa3NRMEZCUXl4blEwRkJaME1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdZVUZETjBNN1UwRkRSRHRSUVVORUxGVkJRVWtzUTBGQlF5eHBRa0ZCYVVJc0swTkJRWFJDTEVsQlFVa3NSVUZCYzBJc1kwRkJZeXhGUVVGSE8wbEJRelZETEVOQlFVTTdRMEZEUkR0QlFUaEdSQ3h6UkVGQmMwUTdRVUZETDBNc1RVRkJUU3hwUWtGQmEwSXNVMEZCVVN3NFJFRkJkME03U1VGQkwwVTdPMUZCUlZNc2NVSkJRV2RDTEVkQlFYVkNMRVZCUVVVc1EwRkJRenRKUVc5TWJrUXNRMEZCUXp0SlFXeE1RU3hqUVVGak8wbEJRMUFzVTBGQlV6czdVVUZGWml4SlFVRkpMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVVc2MwVkJRVlVzUTBGQlF5eGxRVUZsTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hEUVVGRE8xRkJSVGxGTEVsQlFVa3NZVUZCWVN4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVVeFFpeEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVONFFpeExRVUZMTEVsQlFVa3NZVUZCWVN4VlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eHRRMEZCU1N4RlFVRkZMRVZCUTNCRU8xbEJRME1zU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SlFVRkpMRU5CUVVVc1lVRkJZU3hEUVVGRExFdEJRVXNzUTBGQlJTeERRVUZETzFsQlF5OURMR0ZCUVdFc1IwRkJSeXhoUVVGaExFbEJRVWtzUTBGQlJTeGhRVUZoTEVOQlFVTXNVMEZCVXl4SlFVRkpMRWxCUVVrc1EwRkJSU3hEUVVGRE8xTkJRM0pGTzFGQlJVUXNTVUZCU1N4RFFVRkRMRmxCUVZrc1IwRkJSeXhGUVVGRkxFTkJRVU03VVVGRGRrSXNTMEZCU3l4SlFVRkpMR0ZCUVdFc1ZVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRXNiVU5CUVVrc1JVRkJSU3hGUVVOdVJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRkxHRkJRV0VzUTBGQlF5eExRVUZMTEVOQlFVVXNRMEZCUXp0WlFVTTVReXhoUVVGaExFZEJRVWNzWVVGQllTeEpRVUZKTEVOQlFVVXNZVUZCWVN4RFFVRkRMRk5CUVZNc1NVRkJTU3hKUVVGSkxFTkJRVVVzUTBGQlF6dFRRVU55UlR0UlFVVkVMRWxCUVVrc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJSU3hGUVVOMFF6dFpRVU5ETEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVOQlFVTTdVMEZEY2tNN1lVRkZSRHRaUVVORExFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NRMEZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzFOQlEzcERPMUZCUTBRc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVONFF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETzFGQlF6VkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkZlRU1zUzBGQlN5eEpRVUZKTEdGQlFXRXNTVUZCU1N4UFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zWTBGQll5eHRRMEZCU1N4RlFVRkZMRU5CUVVVc1JVRkROMFE3V1VGRFF5eEpRVUZKTEU5QlFVOHNSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRjRUlzUzBGQlN5eEpRVUZKTEZkQlFWY3NWVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zYlVOQlFVa3NSVUZCUlN4RlFVTnNSRHRuUWtGRFF5eEpRVUZKTEdGQlFXRXNRMEZCUXl4TFFVRkxMRWxCUVVrc1YwRkJWeXhEUVVGRExFdEJRVXNzUlVGRE5VTTdiMEpCUTBNc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF6dHZRa0ZEWml4TlFVRk5PMmxDUVVOT08yRkJRMFE3V1VGRFJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVTmFPMmRDUVVORExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVVXNkME5CUVhsRExHRkJRV0VzUTBGQlF5eExRVUZOTEdkQ1FVRm5RanR6UWtGRE0wWXNlVUpCUVhsQ0xFTkJRVVVzUTBGQlF6dGhRVU12UWp0VFFVTkVPMUZCUTBRc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zWTBGQll5eERRVUZETzFGQlJYQkVMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGxRVUZsTEVWQlF6bENPMWxCUTBNc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeHpSVUZCVlN4RFFVRkRMSFZDUVVGMVFpeERRVUZETzFOQlEycEVPMUZCUlVRc1NVRkJTU3hoUVVGaExFVkJRMnBDTzFsQlEwTXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5d3lRa0ZCTWtJc1EwRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVU0zUkR0blFrRkRReXhQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEd0Q1FVRnJRanRuUWtGRGFFTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhuUWtGQlowSTdaMEpCUXpWQ0xFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ08yZENRVU0xUWl4blFrRkJaMElzUlVGQlJTeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q08yRkJRM3BETEVOQlFVVXNRMEZCUXp0VFFVTk1PMUZCUlVRc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVOHNXVUZCV1N4RFFVRkZMRmRCUVhsQ0xFVkJRVVVzVVVGQmMwSXNSVUZCUlN4TFFVRmhPMUZCUjNKR0xFbEJRVWtzVjBGQlZ5eERRVUZETEZWQlFWVXNTVUZCU1N4NVJFRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEdGQlFXRXNSVUZCUlR0WlFVTm9SU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEpRVUZKTEZkQlFWY3NRMEZCUXl4TlFVRk5MRVZCUTNCRE8xbEJRME1zUzBGQlN5eEpRVUZKTEdGQlFXRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUlVGRE9VTTdaMEpCUTBNc1NVRkJTU3hoUVVGaExFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVc3NSVUZEYUVNN2IwSkJRME1zVDBGQlR5eERRVUZGTEdGQlFXRXNRMEZCUXl4VFFVRlRMRVZCUVVVc1lVRkJZU3hEUVVGRExGZEJRVmNzUTBGQlJTeERRVUZETzJsQ1FVTTVSRHRoUVVORU8xTkJRMFE3VVVGRlJDeEpRVUZKTEZGQlFWRXNRMEZCUXl4VlFVRlZMRWxCUVVrc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4aFFVRmhMRVZCUVVVN1dVRkROMFFzU1VGQlNTeERRVUZETEZGQlFWRXNTVUZCU1N4UlFVRlJMRU5CUVVNc1RVRkJUU3hGUVVOcVF6dFpRVU5ETEV0QlFVc3NTVUZCU1N4aFFVRmhMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlF6ZERPMmRDUVVORExFbEJRVWtzWVVGQllTeERRVUZETEV0QlFVc3NTVUZCU1N4TFFVRkxMRVZCUTJoRE8yOUNRVU5ETEU5QlFVOHNRMEZCUlN4aFFVRmhMRU5CUVVNc1UwRkJVeXhGUVVGRkxHRkJRV0VzUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUXp0cFFrRkRNMFE3WVVGRFJEdFRRVU5FTzFGQlJVUXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3hwUlVGQmFVVXNRMEZCUlN4RFFVRkRPMUZCUTJwR0xFOUJRVThzUTBGQlJTeEpRVUZKTEVWQlFVVXNZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8wbEJRM2hETEVOQlFVTTdTVUZIVHl4clFrRkJhMElzUTBGQlJTeERRVUZ6UWp0UlFVVnFSQ3hKUVVGSkxFTkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUlN4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVVVzUTBGQlF5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVVXNRMEZCUXp0UlFVTnNSaXhKUVVGSkxGTkJRVk1zUlVGRFlqdFpRVU5ETEVsQlFVa3NXVUZCV1N4SFFVRkhMRWxCUVVrc1owSkJRV2RDTEVOQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xbEJRMjVFTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVNN1dVRkRNME1zVTBGQlV5eERRVUZGTEZsQlFWa3NRMEZCUlN4RFFVRkRPMU5CUXpGQ08wbEJRMFlzUTBGQlF6dEpRVVZQTEcxQ1FVRnRRaXhEUVVGRExGZEJRWGxDTEVWQlFVVXNVVUZCYzBJc1JVRkJSU3hMUVVGaE8xRkJSVE5HTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTnVRenRaUVVORExFbEJRVWtzYzBaQlFXdENMRU5CUVVVc1EwRkJReXhEUVVGRExGZEJRVmNzUlVGQlJTeFhRVUZYTEVOQlFVVTdiVUpCUTJoRUxITkdRVUZyUWl4RFFVRkZMRU5CUVVNc1EwRkJReXhSUVVGUkxFVkJRVVVzVVVGQlVTeERRVUZGTzIxQ1FVTXhReXhMUVVGTExFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZEY0VJN1owSkJRME1zVDBGQlR5eERRVUZETEVOQlFVTTdZVUZEVkR0VFFVTkVPMUZCUlVRc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVOHNlVUpCUVhsQ0xFTkJRVVVzVjBGQmVVSXNSVUZCUlN4SlFVRnJRaXhGUVVGRkxFdEJRV0U3VVVGRk9VWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUTI1RE8xbEJRME1zU1VGQlNTeHpSa0ZCYTBJc1EwRkJSU3hEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEZkQlFWY3NRMEZCUlR0dFFrRkRla01zYzBaQlFXdENMRU5CUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVVTdiVUpCUTJ4RExFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4RlFVTndRanRuUWtGRFF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0aFFVTlVPMU5CUTBRN1VVRkZSQ3hQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5pTEVOQlFVTTdTVUZIVHl4blFrRkJaMElzUTBGQlJTeFhRVUY1UWl4RlFVRkZMRkZCUVhOQ0xFVkJRVVVzUzBGQllTeEZRVU42Uml4MVFrRkJkME1zUlVGQlJTeHBRa0ZCTkVJN1VVRkZkRVVzU1VGQlNTeGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZETEZkQlFWY3NSVUZCUlN4UlFVRlJMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE4wVXNTVUZCU1N4bFFVRmxMRVZCUTI1Q08xbEJRME1zWlVGQlpTeERRVUZETEVkQlFVY3NRMEZCUlN4MVFrRkJkVUlzUlVGQlJTeHBRa0ZCYVVJc1EwRkJSU3hEUVVGRE8xbEJSV3hGTEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVVXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEU5QlFVOHNRMEZCUlN4bFFVRmxMRU5CUVVVc1JVRkJSU3hEUVVGRExFTkJRVVVzUTBGQlF6dFRRVU53Ump0SlFVTkdMRU5CUVVNN1NVRkhUeXhuUWtGQlowSXNRMEZCUlN4WFFVRjVRaXhGUVVGRkxFbEJRV3RDTEVWQlFVVXNTMEZCWVN4RlFVRkZMRWxCUVZrc1JVRkRia2NzYlVKQlFXOURMRVZCUVVVc2FVSkJRVFJDTzFGQlJXeEZMRWxCUVVrc1pVRkJaU3hIUVVGSExFbEJRVWtzUTBGQlF5eDVRa0ZCZVVJc1EwRkJReXhYUVVGWExFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUXk5RkxFbEJRVWtzWlVGQlpTeEZRVU51UWp0WlFVTkRMR1ZCUVdVc1EwRkJReXhMUVVGTExFTkJRVVVzU1VGQlNTeEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxHbENRVUZwUWl4RFFVRkZMRU5CUVVNN1UwRkRkRVU3U1VGRFJpeERRVUZETzBsQlIwOHNhMEpCUVd0Q0xFTkJRVVVzVjBGQmVVSXNSVUZCUlN4SlFVRnJRaXhGUVVGRkxFdEJRV0VzUlVGRGRrWXNiVUpCUVc5RExFVkJRVVVzYVVKQlFUUkNPMUZCUld4RkxFbEJRVWtzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXl4NVFrRkJlVUlzUTBGQlF5eFhRVUZYTEVWQlFVVXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJReTlGTEVsQlFVa3NaVUZCWlN4RlFVTnVRanRaUVVORExHVkJRV1VzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJSU3h0UWtGQmJVSXNSVUZCUlN4cFFrRkJhVUlzUTBGQlJTeERRVUZETzFOQlF6TkZPMGxCUTBZc1EwRkJRenREUVVORU8wRkJNMFZCTzBsQlJFTXNjVVJCUVVrN01rUkJWVW83UVVGcFEwUTdTVUZFUXl4eFJFRkJTVHQ1UkVGWFNqdEJRVWRFTzBsQlJFTXNjVVJCUVVrN2VVUkJVMG83UVVGSFJEdEpRVVJETEhGRVFVRkpPekpFUVZOS0lpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDJsdWRHVnlabUZqWlY5bGJuUnBkSGt1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUVhaT2IyUmxWSEpoYm5ObWIzSnRMQ0JCZGs1dlpHVlVlWEJsTENCQmRsWnZiSFZ0WlN3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JsYm1Sd2IybHVkRUZrWkhKelRXRjBZMmdzSUVWT2IyUmxSbXhoWjNNc0lFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJMQ0JKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwTENCcGJuWmxjblJPYjJSbFZISmhibk5tYjNKdExDQk5aWE56WVdkbFZIbHdaU3dnVFhOblNXNTBaWEptWVdObFRHOWpheXdnVFhOblNXNTBaWEptWVdObFRHOWphMUpsYzNCdmJuTmxMQ0JOYzJkSmJuUmxjbVpoWTJWU1pXeHZZMnNzSUUxelowbHVkR1Z5Wm1GalpWSmxiRzlqYTFKbGMzQnZibk5sTENCTmMyZEpiblJsY21aaFkyVlRaVzVrUlhabGJuUXNJRTF6WjBsdWRHVnlabUZqWlZObGJtUkZkbVZ1ZEZKbGMzQnZibk5sTENCTmMyZEpiblJsY21aaFkyVlZibXh2WTJzc0lFMXpaMGx1ZEdWeVptRmpaVlZ1Ykc5amExSmxjM0J2Ym5ObExDQkJka052Ym5OMGNtRnBiblFzSUVGMlZtVmpkRzl5TENCdFlYUk5kV3gwYVhCc2VWQnZhVzUwTENCdWIyUmxWSEpoYm5ObWIzSnRWRzlOWVhRMExDQjJaV05HY205dFFYWldaV04wYjNJc0lIWmxZMVJ2UVhaV1pXTjBiM0lzSUUxelowbHVkR1Z5Wm1GalpWTjBZWEowWldRZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdZbWx1WkNCbWNtOXRJQ2RpYVc1a0xXUmxZMjl5WVhSdmNpYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlFtRnpaVTV2WkdVc0lFRjJRbUZ6WlU1dlpHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlltRnpaVjl1YjJSbEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JseHlYRzR2S2lvZ1NXNWthV05oZEdWeklIUm9aU0J5YjJ4bElHOW1JSFJvYVhNZ2UwQnNhVzVySUVGamRHbDJaVWx1ZEdWeVptRmpaWDBnS2k5Y2NseHVaWGh3YjNKMElHVnVkVzBnU1c1MFpYSm1ZV05sVW05c1pWeHlYRzU3WEhKY2JseDBTVzUyWVd4cFpDeGNjbHh1WEhSVWNtRnVjMjFwZEhSbGNpeGNjbHh1WEhSU1pXTmxhWFpsY2l4Y2NseHVmVHRjY2x4dVhISmNiaThxS2lCU1pYQnlaWE5sYm5SeklHRnVJR0ZqZEdsMlpTQnBiblJsY21aaFkyVWdkMmwwYUNCaGJtOTBhR1Z5SUc1dlpHVWdhVzRnZEdocGN5QmNjbHh1SUNvZ2IzSWdZVzV2ZEdobGNpQm5ZV1JuWlhSY2NseHVJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FXTjBhWFpsU1c1MFpYSm1ZV05sWEhKY2JudGNjbHh1WEhRdktpb2dWR2hsSUd4dlkyRnNJSHRBYkdsdWF5QkJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVYMGdibTlrWlNkeklHVnVaSEJ2YVc1MElHRmtaSEpsYzNNZ0tpOWNjbHh1WEhSeVpXRmtiMjVzZVNCelpXeG1PaUJGYm1Sd2IybHVkRUZrWkhJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2NtVnRiM1JsSUh0QWJHbHVheUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlWDBnYm05a1pTZHpJR1Z1WkhCdmFXNTBJR0ZrWkhKbGMzTWdLaTljY2x4dVhIUnlaV0ZrYjI1c2VTQndaV1Z5T2lCRmJtUndiMmx1ZEVGa1pISTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdibUZ0WlNCdlppQjBhR1VnYVc1MFpYSm1ZV05sSUhSb1lYUWdkSEpwWjJkbGNtVmtJSFJvYVhNZ1lXTjBhWFpsSUdsdWRHVnlabUZqWlNBcUwxeHlYRzVjZEhKbFlXUnZibXg1SUdsdWRHVnlabUZqWlRvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dTVzVrYVdOaGRHVnpJSGRvWlhSb1pYSWdkR2hwY3lCcGN5QjBhR1VnZEhKaGJuTnRhWFFnYjNJZ2NtVmpaV2wyWlNCbGJtUWdiMllnZEdobElHbHVkR1Z5Wm1GalpTQXFMMXh5WEc1Y2RISmxZV1J2Ym14NUlISnZiR1U2SUVsdWRHVnlabUZqWlZKdmJHVTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkSEpoYm5ObWIzSnRJR1p5YjIwZ2RHaGxJSEpsWTJWcGRtVnlKM01nYzNCaFkyVWdkRzhnZEdobElIUnlZVzV6YldsMGRHVnlKM01nYzNCaFkyVWdLaTljY2x4dVhIUnlaV0ZrYjI1c2VTQjBjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2pvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhSeVlXNXpabTl5YlNCbWNtOXRJSFJvWlNCeVpXMXZkR1VnYm05a1pTZHpJSE53WVdObElIUnZJSFJvWlNCc2IyTmhiQ0J1YjJSbEozTWdjM0JoWTJVZ0tpOWNjbHh1WEhSeVpXRmtiMjVzZVNCelpXeG1Sbkp2YlZCbFpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQnBiblJsY25ObFkzUnBiMjRnY0c5cGJuUWdhVzRnZEdobElIUnlZVzV6YldsMGRHVnlKM01nYzNCaFkyVWdLaTljY2x4dVhIUnlaV0ZrYjI1c2VTQjBjbUZ1YzIxcGRIUmxja2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBPaUJCZGxabFkzUnZjanRjY2x4dVhISmNibHgwTHlvcUlGUm9aU0JwYm5SbGNuTmxZM1JwYjI0Z2NHOXBiblFnYVc0Z2RHaGxJR3h2WTJGc0lHNXZaR1VuY3lCemNHRmpaU0FxTDF4eVhHNWNkSEpsWVdSdmJteDVJSE5sYkdaSmJuUmxjbk5sWTNScGIyNVFiMmx1ZERvZ1FYWldaV04wYjNJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2NHRnlZVzF6SUc5aWFtVmpkQ3dnYVdZZ1lXNTVMQ0IwYUdGMElIZGhjeUJ3Y205MmFXUmxaQ0IzYUdWdUlIUm9hWE1nYVc1MFpYSm1ZV05sSUhkaGN5QnpkR0Z5ZEdWa0lDb3ZYSEpjYmx4MGNtVmhaRzl1YkhrZ2NHRnlZVzF6T2lCdlltcGxZM1E3WEhKY2JseHlYRzVjZEM4cUtpQk1iMk5yY3lCMGFHVWdhVzUwWlhKbVlXTmxJSE52SUcxdmRtbHVaeUIwYUdVZ2RIZHZJRzV2WkdWeklHRndZWEowSUhkcGJHd2dibTkwSUdOaGRYTmxJR2wwSUhSdklHVnVaQzRnS2k5Y2NseHVYSFJzYjJOcktDazZVSEp2YldselpUeEpiblJsY21aaFkyVk1iMk5yVW1WemRXeDBQanRjY2x4dVhISmNibHgwTHlvcUlGVnViRzlqYTNNZ2RHaGxJR2x1ZEdWeVptRmpaU0J6YnlCcGRDQmpZVzRnWW1VZ2RYQmtZWFJsWkNCMGJ5Qm9hV2RvWlhJZ2NISnBiM0pwZEhrZ1kyOXNiR2x6YVc5dWN5QnZjbHh5WEc1Y2RDQXFJR1Z1WkNCcFppQjBhR1VnYm05a1pYTWdiVzkyWlNCaGNHRnlkQzVjY2x4dVhIUWdLaTljY2x4dVhIUjFibXh2WTJzb0tUcFFjbTl0YVhObFBFbHVkR1Z5Wm1GalpVeHZZMnRTWlhOMWJIUStPMXh5WEc1Y2NseHVYSFF2S2lvZ1FYUnZiV2xqWVd4c2VTQjFibXh2WTJzZ2RHaGxJR2x1ZEdWeVptRmpaU0JtY205dElHOXVaU0J5WldObGFYWmxjaUJoYm1RZ2JHOWpheUJwZENCMGJ5QmhibTkwYUdWeUlDb3ZYSEpjYmx4MGNtVnNiMk5yS0NCdVpYZFNaV05sYVhabGNqb2dSVzVrY0c5cGJuUkJaR1J5SUNrNlVISnZiV2x6WlR4SmJuUmxjbVpoWTJWTWIyTnJVbVZ6ZFd4MFBqdGNjbHh1WEhKY2JseDBMeW9xSUZObGJtUWdZVzRnWlhabGJuUWdiMkpxWldOMElIUnZJSFJvWlNCeVpXMXZkR1VnWlc1a0xpQlVhR1VnYVc1MFpYSm1ZV05sSUc1aGJXVWdjMmh2ZFd4a0lHUmxabWx1WlZ4eVhHNWNkQ0FxSUhSb1pTQm1iM0p0WVhRZ2IyWWdkR2hsYzJVZ2IySnFaV04wY3k1Y2NseHVYSFFnS2k5Y2NseHVYSFJ6Wlc1a1JYWmxiblFvSUdWMlpXNTBPaUJ2WW1wbFkzUWdLVHBRY205dGFYTmxQSFp2YVdRK08xeHlYRzVjY2x4dVhIUXZLaW9nUVd4c2IzZHpJSFJvWlNCc2IyTmhiQ0J1YjJSbElIUnZJSEJ5YjNacFpHVWdZU0JqWVd4c1ltRmpheUIwYUdGMElIZHBiR3dnWW1VZ2FXNTJiMnRsWkNCM2FHVnVJSFJvWlNCY2NseHVYSFFnS2lCcGJuUmxjbVpoWTJVZ1pXNWtjeTRnUm05eUlHeHZZMnRsWkNCcGJuUmxjbVpoWTJWekxDQjBhR2x6SUhkcGJHd2dZbVVnWTJGc2JHVmtJR2xtSUhSb1pTQnlaVzF2ZEdVZ1pXNWtYSEpjYmx4MElDb2daMjlsY3lCaGQyRjVMbHh5WEc1Y2RDQXFMMXh5WEc1Y2RHOXVSVzVrWldRb0lHVnVaR1ZrUTJGc2JHSmhZMnM2S0NrZ1BUNGdkbTlwWkNBcE9pQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dRV3hzYjNkeklIUm9aU0JzYjJOaGJDQnViMlJsSUhSdklIQnliM1pwWkdVZ1lTQmpZV3hzWW1GamF5QjBhR0YwSUhkcGJHd2dZbVVnYVc1MmIydGxaQ0IzYUdWdUlIUm9aVnh5WEc1Y2RDQXFJSEpsYlc5MFpTQmxibVFnYzJWdVpITWdZVzRnWlhabGJuUXVJRlJvWlNCcGJuUmxjbVpoWTJVZ2JtRnRaU0J6YUc5MWJHUWdaR1ZtYVc1bElIUm9aU0JtYjNKdFlYUWdiMlpjY2x4dVhIUWdLaUIwYUdWelpTQnZZbXBsWTNSekxseHlYRzVjZENBcUwxeHlYRzVjZEc5dVJYWmxiblFvSUdWMlpXNTBRMkZzYkdKaFkyczZLQ0JsZG1WdWREb2diMkpxWldOMElDa2dQVDRnZG05cFpDQXBPaUIyYjJsa08xeHlYRzVjY2x4dVhIUXZLaW9nUVd4c2IzZHpJSFJvWlNCc2IyTmhiQ0J1YjJSbElIUnZJSEJ5YjNacFpHVWdZU0JqWVd4c1ltRmpheUIwYUdGMElIZHBiR3dnWW1VZ2FXNTJiMnRsWkNCM2FHVnVJSFJvWlZ4eVhHNWNkQ0FxSUhSeVlXNXpabTl5YlNCaVpYUjNaV1Z1SUhSb1pTQnNiMk5oYkNCaGJtUWdjbVZ0YjNSbElHNXZaR1VnYUdGeklHTm9ZVzVuWldRdUlGUm9hWE1nZDJsc2JDQnZibXg1WEhKY2JseDBJQ29nWW1VZ1kyRnNiR1ZrSUdadmNpQnBiblJsY21aaFkyVnpJSGRwZEdnZ2RHaGxJSGRoYm5SelZISmhibk5tYjNKdGN5Qm1hV1ZzWkNCelpYUWdkRzhnZEhKMVpTNWNjbHh1WEhRZ0tpOWNjbHh1WEhSdmJsUnlZVzV6Wm05eWJWVndaR0YwWldRb0lIUnlZVzV6Wm05eWJVTmhiR3hpWVdOck9pZ2daVzUwYVhSNVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlNBcElEMCtJSFp2YVdRZ0tUb2dkbTlwWkR0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCdmNtbG5hVzRnYjJZZ2RHaGxJR2RoWkdkbGRDQjBhR0YwSUhCeWIzWnBaR1ZrSUhSb1pTQndaV1Z5SUhSdklIUm9hWE1nWVdOMGFYWmxJR2x1ZEdWeVptRmpaUzRnS2k5Y2NseHVYSFJ5WldGa2IyNXNlU0J2Y21sbmFXNDZJSE4wY21sdVp6dGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQjFjMlZ5SUdGblpXNTBJRzltSUhSb1pTQm5ZV1JuWlhRZ2RHaGhkQ0J3Y205MmFXUmxaQ0IwYUdVZ2NHVmxjaUIwYnlCMGFHbHpJR0ZqZEdsMlpTQnBiblJsY21aaFkyVXVJQ292WEhKY2JseDBjbVZoWkc5dWJIa2dkWE5sY2tGblpXNTBPaUJ6ZEhKcGJtYzdYSEpjYm4xY2NseHVYSEpjYmx4eVhHNWpiR0Z6Y3lCRFFXTjBhWFpsU1c1MFpYSm1ZV05sSUdsdGNHeGxiV1Z1ZEhNZ1FXTjBhWFpsU1c1MFpYSm1ZV05sWEhKY2JudGNjbHh1WEhSd2RXSnNhV01nZEhKaGJuTnRhWFIwWlhJNklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUndkV0pzYVdNZ2NtVmpaV2wyWlhJNklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUndkV0pzYVdNZ2FXWmhZMlU2SUhOMGNtbHVaenRjY2x4dVhIUndkV0pzYVdNZ2NtOXNaVG9nU1c1MFpYSm1ZV05sVW05c1pUdGNjbHh1WEhSd2NtbDJZWFJsSUdWdVpHVmtRMkZzYkdKaFkyczZLQ2tnUFQ0Z2RtOXBaRHRjY2x4dVhIUndjbWwyWVhSbElHVjJaVzUwUTJGc2JHSmhZMnM2S0NCbGRtVnVkRG9nYjJKcVpXTjBJQ2tnUFQ0Z2RtOXBaRHRjY2x4dVhIUndjbWwyWVhSbElIUnlZVzV6Wm05eWJVTmhiR3hpWVdOck9pZ2daVzUwYVhSNVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlNBcElEMCtJSFp2YVdRN1hISmNibHgwY0hKcGRtRjBaU0JzWVhOMFZISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWEk2SUVGMlRtOWtaVlJ5WVc1elptOXliVHRjY2x4dVhIUndjbWwyWVhSbElHeGhjM1JVY21GdWMyMXBkSFJsY2tsdWRHVnljMlZqZEdsdmJsQnZhVzUwT2lCQmRsWmxZM1J2Y2p0Y2NseHVYSFJ3ZFdKc2FXTWdjR0Z5WVcxek9pQnZZbXBsWTNRN1hISmNibHgwY0hKcGRtRjBaU0J3WldWeVQzSnBaMmx1T2lCemRISnBibWM3WEhKY2JseDBjSEpwZG1GMFpTQndaV1Z5VlhObGNrRm5aVzUwT2lCemRISnBibWM3WEhKY2JseHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQnRPaUJOYzJkSmJuUmxjbVpoWTJWVGRHRnlkR1ZrTENCeWIyeGxPaUJKYm5SbGNtWmhZMlZTYjJ4bElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMblJ5WVc1emJXbDBkR1Z5SUQwZ2JTNTBjbUZ1YzIxcGRIUmxjanRjY2x4dVhIUmNkSFJvYVhNdWNtVmpaV2wyWlhJZ1BTQnRMbkpsWTJWcGRtVnlPMXh5WEc1Y2RGeDBkR2hwY3k1cFptRmpaU0E5SUcwdWFXWmhZMlU3WEhKY2JseDBYSFIwYUdsekxteGhjM1JVY21GdWMyMXBkSFJsY2taeWIyMVNaV05sYVhabGNpQTlJRzB1ZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTdYSEpjYmx4MFhIUjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBJRDBnYlM1cGJuUmxjbk5sWTNScGIyNVFiMmx1ZER0Y2NseHVYSFJjZEhSb2FYTXVjbTlzWlNBOUlISnZiR1U3WEhKY2JseDBYSFIwYUdsekxuQmhjbUZ0Y3lBOUlHMHVjR0Z5WVcxek8xeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWNtOXNaU0E5UFNCSmJuUmxjbVpoWTJWU2IyeGxMbFJ5WVc1emJXbDBkR1Z5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV3WldWeVQzSnBaMmx1SUQwZ2JTNXlaV05sYVhabGNrOXlhV2RwYmp0Y2NseHVYSFJjZEZ4MGRHaHBjeTV3WldWeVZYTmxja0ZuWlc1MElEMGdiUzV5WldObGFYWmxjbFZ6WlhKQloyVnVkRHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV3WldWeVQzSnBaMmx1SUQwZ2JTNTBjbUZ1YzIxcGRIUmxjazl5YVdkcGJqdGNjbHh1WEhSY2RGeDBkR2hwY3k1d1pXVnlWWE5sY2tGblpXNTBJRDBnYlM1MGNtRnVjMjFwZEhSbGNsVnpaWEpCWjJWdWREdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCc2IyTnJLQ2s2SUZCeWIyMXBjMlU4U1c1MFpYSm1ZV05sVEc5amExSmxjM1ZzZEQ1Y2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlU4U1c1MFpYSm1ZV05sVEc5amExSmxjM1ZzZEQ0b0lHRnplVzVqSUNoeVpYTnZiSFpsTENCeVpXcGxZM1FnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnV3lCdGMyZFNaWE53YjI1elpTQmRJRDBnWVhkaGFYUWdRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV6Wlc1a1RXVnpjMkZuWlVGdVpGZGhhWFJHYjNKU1pYTndiMjV6WlR4TmMyZEpiblJsY21aaFkyVk1iMk5yVW1WemNHOXVjMlUrS0Z4eVhHNWNkRngwWEhSY2RFMWxjM05oWjJWVWVYQmxMa2x1ZEdWeVptRmpaVXh2WTJzc0lGeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RIUnlZVzV6YldsMGRHVnlPaUIwYUdsekxuUnlZVzV6YldsMGRHVnlMRnh5WEc1Y2RGeDBYSFJjZEZ4MGNtVmpaV2wyWlhJNklIUm9hWE11Y21WalpXbDJaWElzWEhKY2JseDBYSFJjZEZ4MFhIUnBabUZqWlRvZ2RHaHBjeTVwWm1GalpWeHlYRzVjZEZ4MFhIUmNkSDBnWVhNZ1RYTm5TVzUwWlhKbVlXTmxURzlqYXl4Y2NseHVYSFJjZEZ4MFhIUk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZNYjJOclVtVnpjRzl1YzJVZ0tUdGNjbHh1WEhSY2RGeDBjbVZ6YjJ4MlpTZ2diWE5uVW1WemNHOXVjMlV1Y21WemRXeDBJQ2xjY2x4dVhIUmNkSDBnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUIxYm14dlkyc29LVG9nVUhKdmJXbHpaVHhKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwUGx4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaVHhKYm5SbGNtWmhZMlZNYjJOclVtVnpkV3gwUGlnZ1lYTjVibU1nS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RHeGxkQ0JiSUcxeloxSmxjM0J2Ym5ObElGMGdQU0JoZDJGcGRDQkJka2RoWkdkbGRDNXBibk4wWVc1alpTZ3BMbk5sYm1STlpYTnpZV2RsUVc1a1YyRnBkRVp2Y2xKbGMzQnZibk5sUEUxelowbHVkR1Z5Wm1GalpWVnViRzlqYTFKbGMzQnZibk5sUGloY2NseHVYSFJjZEZ4MFhIUk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZWYm14dlkyc3NJRnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkSFJ5WVc1emJXbDBkR1Z5T2lCMGFHbHpMblJ5WVc1emJXbDBkR1Z5TEZ4eVhHNWNkRngwWEhSY2RGeDBjbVZqWldsMlpYSTZJSFJvYVhNdWNtVmpaV2wyWlhJc1hISmNibHgwWEhSY2RGeDBYSFJwWm1GalpUb2dkR2hwY3k1cFptRmpaVnh5WEc1Y2RGeDBYSFJjZEgwZ1lYTWdUWE5uU1c1MFpYSm1ZV05sVlc1c2IyTnJMRnh5WEc1Y2RGeDBYSFJjZEUxbGMzTmhaMlZVZVhCbExrbHVkR1Z5Wm1GalpWVnViRzlqYTFKbGMzQnZibk5sSUNrN1hISmNibHgwWEhSY2RISmxjMjlzZG1Vb0lHMXpaMUpsYzNCdmJuTmxMbkpsYzNWc2RDQXBYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdjbVZzYjJOcktDQnVaWGRTWldObGFYWmxjam9nUlc1a2NHOXBiblJCWkdSeUlDazZJRkJ5YjIxcGMyVThTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkRDVjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVThTVzUwWlhKbVlXTmxURzlqYTFKbGMzVnNkRDRvSUdGemVXNWpJQ2h5WlhOdmJIWmxMQ0J5WldwbFkzUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc1pYUWdXeUJ0YzJkU1pYTndiMjV6WlNCZElEMGdZWGRoYVhRZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNXpaVzVrVFdWemMyRm5aVUZ1WkZkaGFYUkdiM0pTWlhOd2IyNXpaVHhOYzJkSmJuUmxjbVpoWTJWU1pXeHZZMnRTWlhOd2IyNXpaVDRvWEhKY2JseDBYSFJjZEZ4MFRXVnpjMkZuWlZSNWNHVXVTVzUwWlhKbVlXTmxVbVZzYjJOckxDQmNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUjBjbUZ1YzIxcGRIUmxjam9nZEdocGN5NTBjbUZ1YzIxcGRIUmxjaXhjY2x4dVhIUmNkRngwWEhSY2RHOXNaRkpsWTJWcGRtVnlPaUIwYUdsekxuSmxZMlZwZG1WeUxGeHlYRzVjZEZ4MFhIUmNkRngwYm1WM1VtVmpaV2wyWlhJc1hISmNibHgwWEhSY2RGeDBYSFJwWm1GalpUb2dkR2hwY3k1cFptRmpaVnh5WEc1Y2RGeDBYSFJjZEgwZ1lYTWdUWE5uU1c1MFpYSm1ZV05sVW1Wc2IyTnJMRnh5WEc1Y2RGeDBYSFJjZEUxbGMzTmhaMlZVZVhCbExrbHVkR1Z5Wm1GalpWSmxiRzlqYTFKbGMzQnZibk5sSUNrN1hISmNibHgwWEhSY2RISmxjMjlzZG1Vb0lHMXpaMUpsYzNCdmJuTmxMbkpsYzNWc2RDQXBYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhObGJHWW9LVG9nUlc1a2NHOXBiblJCWkdSeVhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNtOXNaU0E5UFNCSmJuUmxjbVpoWTJWU2IyeGxMbFJ5WVc1emJXbDBkR1Z5SUQ4Z2RHaHBjeTUwY21GdWMyMXBkSFJsY2lBNklIUm9hWE11Y21WalpXbDJaWEk3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhCbFpYSW9LVG9nUlc1a2NHOXBiblJCWkdSeVhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNtOXNaU0E5UFNCSmJuUmxjbVpoWTJWU2IyeGxMbEpsWTJWcGRtVnlJRDhnZEdocGN5NTBjbUZ1YzIxcGRIUmxjaUE2SUhSb2FYTXVjbVZqWldsMlpYSTdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYVc1MFpYSm1ZV05sS0NrZ09pQnpkSEpwYm1kY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdkR2hwY3k1cFptRmpaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSW9LU0E2SUVGMlRtOWtaVlJ5WVc1elptOXliVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbXhoYzNSVWNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjanRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYzJWc1prWnliMjFRWldWeUtDa2dPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMWNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1eWIyeGxJRDA5SUVsdWRHVnlabUZqWlZKdmJHVXVWSEpoYm5OdGFYUjBaWElnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSeVpYUjFjbTRnZEdocGN5NXNZWE4wVkhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSTdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhKbGRIVnliaUJwYm5abGNuUk9iMlJsVkhKaGJuTm1iM0p0S0NCMGFHbHpMbXhoYzNSVWNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjaUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCMGNtRnVjMjFwZEhSbGNrbHVkR1Z5YzJWamRHbHZibEJ2YVc1MEtDa2dPaUJCZGxabFkzUnZjbHh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbXhoYzNSVWNtRnVjMjFwZEhSbGNrbHVkR1Z5YzJWamRHbHZibEJ2YVc1ME8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnpaV3htU1c1MFpYSnpaV04wYVc5dVVHOXBiblFvS1NBNklFRjJWbVZqZEc5eVhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lIUm9hWE11Y205c1pTQTlQU0JKYm5SbGNtWmhZMlZTYjJ4bExsUnlZVzV6YldsMGRHVnlJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJSFJvYVhNdWJHRnpkRlJ5WVc1emJXbDBkR1Z5U1c1MFpYSnpaV04wYVc5dVVHOXBiblE3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObElHbG1LQ0IwYUdsekxteGhjM1JVY21GdWMyMXBkSFJsY2tsdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJRzFoZEZSeVlXNXpiV2wwZEdWeVJuSnZiVkpsWTJWcGRtVnlJRDBnYm05a1pWUnlZVzV6Wm05eWJWUnZUV0YwTkNnZ2RHaHBjeTV6Wld4bVJuSnZiVkJsWlhJZ0tUdGNjbHh1WEhSY2RGeDBiR1YwSUhKbFkyVnBkbVZ5U1c1MFpYSnpaV04wYVc5dVVHOXBiblFnUFNCdFlYUk5kV3gwYVhCc2VWQnZhVzUwS0NCdFlYUlVjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2l3Z1hISmNibHgwWEhSY2RGeDBkbVZqUm5KdmJVRjJWbVZqZEc5eUtDQjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBJQ2tnS1R0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUhabFkxUnZRWFpXWldOMGIzSW9JSEpsWTJWcGRtVnlTVzUwWlhKelpXTjBhVzl1VUc5cGJuUWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MFhIUjlYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJRzl5YVdkcGJpZ3BPaUJ6ZEhKcGJtZGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NXdaV1Z5VDNKcFoybHVPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0IxYzJWeVFXZGxiblFvS1RvZ2MzUnlhVzVuWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11Y0dWbGNsVnpaWEpCWjJWdWREdGNjbHh1WEhSOVhISmNibHh5WEc1Y2NseHVYSFJ6Wlc1a1JYWmxiblFvSUdWMlpXNTBPaUJ2WW1wbFkzUWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BseHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlR4MmIybGtQaWdnWVhONWJtTWdLSEpsYzI5c2RtVXNJSEpsYW1WamRDQXBJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQmJJRzF6WjFKbGMzQnZibk5sSUYwZ1BTQmhkMkZwZENCQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExuTmxibVJOWlhOellXZGxRVzVrVjJGcGRFWnZjbEpsYzNCdmJuTmxQRTF6WjBsdWRHVnlabUZqWlZObGJtUkZkbVZ1ZEZKbGMzQnZibk5sUGloY2NseHVYSFJjZEZ4MFhIUk5aWE56WVdkbFZIbHdaUzVKYm5SbGNtWmhZMlZUWlc1a1JYWmxiblFzSUZ4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEdSbGMzUnBibUYwYVc5dU9pQjBhR2x6TG5CbFpYSXNYSEpjYmx4MFhIUmNkRngwWEhSd1pXVnlPaUIwYUdsekxuTmxiR1lzWEhKY2JseDBYSFJjZEZ4MFhIUnBabUZqWlRvZ2RHaHBjeTVwWm1GalpTeGNjbHh1WEhSY2RGeDBYSFJjZEdWMlpXNTBYSEpjYmx4MFhIUmNkRngwZlNCaGN5Qk5jMmRKYm5SbGNtWmhZMlZUWlc1a1JYWmxiblFzWEhKY2JseDBYSFJjZEZ4MFRXVnpjMkZuWlZSNWNHVXVTVzUwWlhKbVlXTmxVMlZ1WkVWMlpXNTBVbVZ6Y0c5dWMyVWdLVHRjY2x4dVhIUmNkRngwY21WemIyeDJaU2dwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGIyNUZibVJsWkNnZ1pXNWtaV1JEWVd4c1ltRmphem9vS1NBOVBpQjJiMmxrSUNrNklIWnZhV1JjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1WdVpHVmtRMkZzYkdKaFkyc2dQU0JsYm1SbFpFTmhiR3hpWVdOck8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFpXNWtLQ0IwY21GdWMyMXBkSFJsY2taeWIyMVNaV05sYVhabGNpQTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUTZJRUYyVm1WamRHOXlJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEhKaGJuTnRhWFIwWlhKR2NtOXRVbVZqWldsMlpYSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxteGhjM1JVY21GdWMyMXBkSFJsY2taeWIyMVNaV05sYVhabGNpQTlJSFJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeU8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGRHaHBjeTVsYm1SbFpFTmhiR3hpWVdOclB5NG9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRzl1UlhabGJuUW9JR1YyWlc1MFEyRnNiR0poWTJzNktDQmxkbVZ1ZERvZ2IySnFaV04wSUNrZ1BUNGdkbTlwWkNBcE9pQjJiMmxrWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1bGRtVnVkRU5oYkd4aVlXTnJJRDBnWlhabGJuUkRZV3hzWW1GamF6dGNjbHh1WEhSOVhISmNibHh5WEc1Y2RHVjJaVzUwS0NCbGRtVnVkRG9nYjJKcVpXTjBMQ0JrWlhOMGFXNWhkR2x2YmtaeWIyMVFaV1Z5T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUdsdWRHVnljMlZqZEdsdmJsQnZhVzUwT2lCQmRsWmxZM1J2Y2lBcFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lHUmxjM1JwYm1GMGFXOXVSbkp2YlZCbFpYSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTV5YjJ4bElEMDlJRWx1ZEdWeVptRmpaVkp2YkdVdVZISmhibk50YVhSMFpYSWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTVzWVhOMFZISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWElnUFNCa1pYTjBhVzVoZEdsdmJrWnliMjFRWldWeU8xeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWJHRnpkRlJ5WVc1emJXbDBkR1Z5U1c1MFpYSnpaV04wYVc5dVVHOXBiblFnUFNCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZER0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmxiSE5sWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2lBOUlHbHVkbVZ5ZEU1dlpHVlVjbUZ1YzJadmNtMG9JR1JsYzNScGJtRjBhVzl1Um5KdmJWQmxaWElnS1R0Y2NseHVYSEpjYmx4MFhIUmNkRngwYVdZb0lHbHVkR1Z5YzJWamRHbHZibEJ2YVc1MElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnNaWFFnYldGMFZISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWElnUFNCdWIyUmxWSEpoYm5ObWIzSnRWRzlOWVhRMEtDQjBhR2x6TG14aGMzUlVjbUZ1YzIxcGRIUmxja1p5YjIxU1pXTmxhWFpsY2lBcE8xeHlYRzVjZEZ4MFhIUmNkRngwZEdocGN5NXNZWE4wVkhKaGJuTnRhWFIwWlhKSmJuUmxjbk5sWTNScGIyNVFiMmx1ZENBOUlHMWhkRTExYkhScGNHeDVVRzlwYm5Rb0lHMWhkRlJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeUxDQmNjbHh1WEhSY2RGeDBYSFJjZEZ4MGRtVmpSbkp2YlVGMlZtVmpkRzl5S0NCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZENBcElDazdYSFJjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBaV3h6WlZ4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEhSb2FYTXViR0Z6ZEZSeVlXNXpiV2wwZEdWeVNXNTBaWEp6WldOMGFXOXVVRzlwYm5RZ1BTQnVkV3hzTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhSb2FYTXVaWFpsYm5SRFlXeHNZbUZqYXo4dUtDQmxkbVZ1ZENBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGIyNVVjbUZ1YzJadmNtMVZjR1JoZEdWa0tDQjBjbUZ1YzJadmNtMURZV3hzWW1GamF6b29JR1Z1ZEdsMGVVWnliMjFRWldWeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wZ0tTQTlQaUIyYjJsa0lDazZJSFp2YVdSY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxuUnlZVzV6Wm05eWJVTmhiR3hpWVdOcklEMGdkSEpoYm5ObWIzSnRRMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUjBjbUZ1YzJadmNtMVZjR1JoZEdWa0tDQmxiblJwZEhsR2NtOXRVR1ZsY2pvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZERvZ1FYWldaV04wYjNJZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5KdmJHVWdQVDBnU1c1MFpYSm1ZV05sVW05c1pTNVVjbUZ1YzIxcGRIUmxjaUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXViR0Z6ZEZSeVlXNXpiV2wwZEdWeVJuSnZiVkpsWTJWcGRtVnlJRDBnWlc1MGFYUjVSbkp2YlZCbFpYSTdYSEpjYmx4MFhIUmNkSFJvYVhNdWJHRnpkRlJ5WVc1emJXbDBkR1Z5U1c1MFpYSnpaV04wYVc5dVVHOXBiblFnUFNCcGJuUmxjbk5sWTNScGIyNVFiMmx1ZER0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdWc2MyVmNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1c1lYTjBWSEpoYm5OdGFYUjBaWEpHY205dFVtVmpaV2wyWlhJZ1BTQnBiblpsY25ST2IyUmxWSEpoYm5ObWIzSnRLQ0JsYm5ScGRIbEdjbTl0VUdWbGNpQXBPMXh5WEc1Y2NseHVYSFJjZEZ4MGFXWW9JR2x1ZEdWeWMyVmpkR2x2YmxCdmFXNTBJQ2xjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RHeGxkQ0J0WVhSVWNtRnVjMjFwZEhSbGNrWnliMjFTWldObGFYWmxjaUE5SUc1dlpHVlVjbUZ1YzJadmNtMVViMDFoZERRb0lIUm9hWE11YkdGemRGUnlZVzV6YldsMGRHVnlSbkp2YlZKbFkyVnBkbVZ5SUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1c1lYTjBWSEpoYm5OdGFYUjBaWEpKYm5SbGNuTmxZM1JwYjI1UWIybHVkQ0E5SUcxaGRFMTFiSFJwY0d4NVVHOXBiblFvSUcxaGRGUnlZVzV6YldsMGRHVnlSbkp2YlZKbFkyVnBkbVZ5TENCY2NseHVYSFJjZEZ4MFhIUmNkSFpsWTBaeWIyMUJkbFpsWTNSdmNpZ2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUWdLU0FwTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RIUm9hWE11YkdGemRGUnlZVzV6YldsMGRHVnlTVzUwWlhKelpXTjBhVzl1VUc5cGJuUWdQU0J1ZFd4c08xeHlYRzVjZEZ4MFhIUjlYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUjBhR2x6TG5SeVlXNXpabTl5YlVOaGJHeGlZV05yUHk0b0lHVnVkR2wwZVVaeWIyMVFaV1Z5SUNrN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNWNjbHh1THlvcUlFUmxabWx1WlhNZ2RHaGxJR1oxYm1OMGFXOXVJSE5wWjI1aGRIVnlaU0J2WmlCaGJpQnBiblJsY21aaFkyVWdhR0Z1Wkd4bGNpQm1iM0lnZTBCc2FXNXJJRWx1ZEdWeVptRmpaVkJ5YjNCOUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnU1c1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXlYSEpjYm50Y2NseHVYSFFvSUdsbVlXTmxPaUJCWTNScGRtVkpiblJsY21aaFkyVWdLVG9nZG05cFpEdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlGSmxjSEpsYzJWdWRITWdZU0J6YVc1bmJHVWdhVzUwWlhKbVlXTmxJR2x1SUhSb1pTQjBjbUZ1YzIxcGRDQnZjaUJ5WldObGFYWmxJR3hwYzNRZ1ptOXlJR0Z1SUZ4eVhHNGdLaUI3UUd4cGJtc2dRWFpKYm5SbGNtWmhZMlZGYm5ScGRIbDlYSEpjYmlBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRWx1ZEdWeVptRmpaVkJ5YjNCY2NseHVlMXh5WEc1Y2RHbG1ZV05sT2lCemRISnBibWM3WEhKY2JseDBjSEp2WTJWemMyOXlQem9nU1c1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXlPMXh5WEc1OVhISmNibHh5WEc0dktpb2dVSEp2Y0hNZ1ptOXlJSHRBYkdsdWF5QkJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVYMGdLaTljY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIzQnpJR1Y0ZEdWdVpITWdRWFpDWVhObFRtOWtaVkJ5YjNCelhISmNibnRjY2x4dVhIUXZLaW9nVkdobElHRmtaSEpsYzNNZ2IyWWdkR2hsSUhCaGNtVnVkQ0JsYm5ScGRIa2dkR2hoZENCM2FXeHNJSEJ5YjNacFpHVWdkR2hsSUhSeVlXNXpabTl5YlZ4eVhHNWNkQ0FxSUdadmNpQjBhR2x6SUc1dlpHVXVJRWxtSUhSb2FYTWdhWE1nYm05MElITndaV05wWm1sbFpDd2dkR2hwY3lCdWIyUmxJRzExYzNRZ1ltVWdkVzVrWlhJZ1lXNWNjbHh1WEhRZ0tpQkJkazl5YVdkcGJpQnViMlJsSUc5eUlHbDBJSGRwYkd3Z2JtOTBJR0psSUdScGMzQnNZWGxsWkM0Z1NXWWdkR2hsSUc1dlpHVWdjSEp2ZG1sa1pXUWdkbWxoWEhKY2JseDBJQ29nZEdocGN5QndjbTl3WlhKMGVTQmtiMlZ6SUc1dmRDQndjbTkyYVdSbElHRnVJRUYyUTJocGJHUWdibTlrWlNCMGFHRjBJSEpsWm1WeWN5QjBieUIwYUdseklHVnVkR2wwZVZ4eVhHNWNkQ0FxSUc5eUlHbG1JSFJvWVhRZ1kyaHBiR1FnYVhNZ2JtOTBJSFpwYzJsaWJHVXNJSFJvYVhNZ1pXNTBhWFI1SUhkcGJHd2dibTkwSUdKbElHUnBjM0JzWVhsbFpDNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBJQ292WEhKY2JseDBjR0Z5Wlc1MFB6b2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNjbHh1WEhRdktpb2dTVzV6ZEhKMVkzUnpJRUZoY21SMllYSnJJSFJ2SUhCeWIzWnBaR1VnZEdocGN5QmxiblJwZEhrZ2QybDBhQ0JoSUhOMGNtVmhiU0J2WmlCMWNHUmhkR1ZrSUZ4eVhHNWNkQ0FxSUhSeVlXNXpabTl5YlhNZ1ptOXlJR0Z1ZVNCaFkzUnBkbVVnYVc1MFpYSm1ZV05sY3lCMGFHRjBJR2x1ZG05c2RtVWdkR2hwY3lCbGJuUnBkSGt1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnWm1Gc2MyVmNjbHh1WEhRZ0tpOWNjbHh1WEhSM1lXNTBjMVJ5WVc1elptOXliWE0vT2lCaWIyOXNaV0Z1TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUd4cGMzUWdiMllnYVc1MFpYSm1ZV05sY3lCMGFHRjBJSFJvYVhNZ1pXNTBhWFI1SUhSeVlXNXpiV2wwY3k0Z1ZHaGxjMlVnWTJGdUlHSmxJR0Z1ZVNCemRISnBibWNnYjJZZ2RHaGxJR1p2Y20xY2NseHVYSFFnS2lBOGFXNTBaWEptWVdObGJtRnRaVDVBUEhabGNuTnBiMjQrTGlCWGFHVnVJSE5sYkdWamRHbHVaeUJoYmlCcGJuUmxjbVpoWTJVZ1ptOXlJR0VnZEhKaGJuTnRhWFIwWlhJZ2RHaGhkQ0JwY3lCcGJpQnlZVzVuWlNCY2NseHVYSFFnS2lCdlppQmhJSEpsWTJWcGRtVnlJSGRwYkd3Z2MyVnNaV04wSUhSb1pTQm1hWEp6ZENCdFlYUmphR2x1WnlCcGJuUmxjbVpoWTJVZ2FXNGdkR2hsSUd4cGMzUXNJSE52SUdWaFkyZ2daVzUwYVhSNUlGeHlYRzVjZENBcUlITm9iM1ZzWkNCdmNtUmxjaUJwZEhNZ2FXNTBaWEptWVdObGN5Qm1jbTl0SUdocFoyaGxjM1FnZEc4Z2JHOTNaWE4wSUhCeWFXOXlhWFI1SUdsbUlHMTFiSFJwY0d4bElHbHVkR1Z5Wm1GalpYTWdiMllnZEdobElGeHlYRzVjZENBcUlITmhiV1VnZEhsd1pTQmhjbVVnWVhaaGFXeGhZbXhsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVGMElHMXZjM1FnYjI1bElHOW1JSFJvWlhObElHbHVkR1Z5Wm1GalpYTWdkMmxzYkNCaVpTQmhZM1JwZG1VZ1lYUWdZU0IwYVcxbExseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElGdGRYSEpjYmx4MElDb3ZYSEpjYmx4MGRISmhibk50YVhSelB6b2dTVzUwWlhKbVlXTmxVSEp2Y0Z0ZE8xeHlYRzVjY2x4dVhIUXZLaW9nVkdobElHeHBjM1FnYjJZZ2FXNTBaWEptWVdObGN5QjBhR0YwSUhSb2FYTWdaVzUwYVhSNUlISmxZMlZwZG1WekxpQlVhR1Z6WlNCallXNGdZbVVnWVc1NUlITjBjbWx1WnlCdlppQjBhR1VnWm05eWJWeHlYRzVjZENBcUlEeHBiblJsY21aaFkyVnVZVzFsUGtBOGRtVnljMmx2Ymo0dUlGZG9aVzRnYzJWc1pXTjBhVzVuSUdGdUlHbHVkR1Z5Wm1GalpTQm1iM0lnWVNCMGNtRnVjMjFwZEhSbGNpQjBhR0YwSUdseklHbHVJSEpoYm1kbElGeHlYRzVjZENBcUlHOW1JR0VnY21WalpXbDJaWElnZDJsc2JDQnpaV3hsWTNRZ2RHaGxJR1pwY25OMElHMWhkR05vYVc1bklHbHVkR1Z5Wm1GalpTQnBiaUIwYUdVZ2JHbHpkQ3dnYzI4Z1pXRmphQ0JsYm5ScGRIa2dYSEpjYmx4MElDb2djMmh2ZFd4a0lHOXlaR1Z5SUdsMGN5QnBiblJsY21aaFkyVnpJR1p5YjIwZ2FHbG5hR1Z6ZENCMGJ5QnNiM2RsYzNRZ2NISnBiM0pwZEhrZ2FXWWdiWFZzZEdsd2JHVWdhVzUwWlhKbVlXTmxjeUJ2WmlCMGFHVWdYSEpjYmx4MElDb2djMkZ0WlNCMGVYQmxJR0Z5WlNCaGRtRnBiR0ZpYkdVdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FXNGdaVzUwYVhSNUlHTnZkV3hrSUdoaGRtVWdZVzU1SUc1MWJXSmxjaUJ2WmlCaFkzUnBkbVVnY21WalpXbDJaV1FnYVc1MFpYSm1ZV05sY3k1Y2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCYlhWeHlYRzVjZENBcUwxeHlYRzVjZEhKbFkyVnBkbVZ6UHpvZ1NXNTBaWEptWVdObFVISnZjRnRkTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhCeWFXOXlhWFI1SUhSdklIVnpaU0IzYUdWdUlHSnlaV0ZyYVc1bklIUnBaWE1nWVcxdmJtY2diWFZzZEdsd2JHVWdjMmx0ZFd4MFlXNWxiM1Z6SUdsdWRHVnljMlZqZEdsdmJuTWdabTl5SUhSb1pTQnpZVzFsSUdWdWRHbDBlUzVjY2x4dVhIUWdLaUJJYVdkb1pYSWdiblZ0WW1WeWN5QmhjbVVnWTJodmMyVnVJR0psWm05eVpTQnNiM2RsY2lCdWRXMWlaWEp6TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURCY2NseHVYSFFnS2k5Y2NseHVYSFJ3Y21sdmNtbDBlVDg2SUc1MWJXSmxjanRjY2x4dVhISmNibHgwTHlvcUlGUm9aU0IyYjJ4MWJXVWdkRzhnZFhObElIZG9aVzRnYldGMFkyaHBibWNnZEdocGN5QmxiblJwZEhrZ2QybDBhQ0J2ZEdobGNpQnBiblJsY21aaFkyVWdaVzUwYVhScFpYTXVJQ292WEhKY2JseDBkbTlzZFcxbE9pQkJkbFp2YkhWdFpTQjhJRUYyVm05c2RXMWxXMTA3WEhKY2JseHlYRzVjZEM4cUtpQkJJR3hwYzNRZ2IyWWdhVzUwWlhKbVlXTmxJRzVoYldWeklHRnVaQ0J5WldObGFYWmxjbk1nZEdoaGRDQkJZWEprZG1GeWF5QnphRzkxYkdRZ1ptOXlZMlVnZEdocGN5QmxiblJwZEhrZ2RHOGdYSEpjYmx4MElDb2dhR0YyWlNCaGJpQnBiblJsY21aaFkyVWdkMmwwYUNCM2FHVnVJR2wwSUdseklHTnlaV0YwWldRdUlFVmhZMmdnYjJZZ2RHaGxjMlVnYVc1cGRHbGhiQ0JwYm5SbGNtWmhZMlZ6SUcxMWMzUWdZbVZjY2x4dVhIUWdLaUJwYm1Oc2RXUmxaQ0JwYmlCMGFHbHpJR1Z1ZEdsMGVTZHpJSFJ5WVc1emJXbDBkR1Z5SUd4cGMzUXVJRUp2ZEdnZ2RHaGxJSEpsWTJWcGRtVnlJR0Z1WkNCaGJtUWdkSEpoYm5OdGFYUjBaWElnZDJsc2JGeHlYRzVjZENBcUlISmxZMlZwZG1VZ1NXNTBaWEptWVdObFUzUmhjblJsWkNCbGRtVnVkSE1nZDJsMGFDQjBhR1VnYm1WM0lHbHVkR1Z5Wm1GalpTNGdWR2hwY3lCdVpYY2dZV04wYVhabElHbHVkR1Z5Wm1GalpTQnpkR0Z5ZEhOY2NseHVYSFFnS2lCc2IyTnJaV1FzSUhOdklIUm9aU0IwY21GdWMyMXBkSFJsY2lCM2FXeHNJRzVsWldRZ2RHOGdkVzVzYjJOcklHbDBJR2xtSUdsMElIZGhiblJ6SUhSdklISmxkSFZ5YmlCcGRITWdkSEpoYm5OdGFYUjBaWElnZEc5Y2NseHVYSFFnS2lCaElHWnNiMkYwYVc1bklITjBZWFJsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVsbUlIUm9aU0JsYm1Sd2IybHVkQ0JoWkdSeVpYTnpJSE53WldOcFptbGxaQ0JoYmlCcGJtbDBhV0ZzSUd4dlkyc2daRzlsY3lCdWIzUWdaWGhwYzNRc0lIUm9aU0JoWTNScGRtVWdhVzUwWlhKbVlXTmxJSGRwYkd3Z2NtVmpaV2wyWlNCY2NseHVYSFFnS2lCaGJpQkpiblJsY21aaFkyVkZibVJsWkNCbGRtVnVkQzRnVkdocGN5QnViMjR0Wm5WdVkzUnBiMjVoYkNCcGJuUmxjbVpoWTJVZ2QybHNiQ0J6ZEdsc2JDQmlaU0JzYjJOclpXUXNJR0Z1WkNCMGFHVWdkSEpoYm5OdGFYUjBaWEpjY2x4dVhIUWdLaUJ2YmlCMGFHbHpJR0ZqZEdsMlpTQnBiblJsY21aaFkyVWdkMmxzYkNCdWIzUWdjM1JoY25RZ1lXNTVJRzVsZHlCcGJuUmxjbVpoWTJWeklIVnVkR2xzSUdsMElHTmhiR3h6SUhWdWJHOWpheTVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JiWFZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2x1ZEdWeVptRmpaVXh2WTJ0elB6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVYSEpjYmx4MEx5b3FJRk5sZEhNZ2RHaGxJR052Ym5OMGNtRnBiblFnZEc4Z1lYQndiSGtnZEc4Z2RHaHBjeUJ1YjJSbEozTWdkSEpoYm5ObWIzSnRJR0psWm05eVpTQmhjSEJzZVdsdVp5QjBhR1ZjY2x4dVhIUWdLaUJ3WVhKbGJuUWdkSEpoYm5ObWIzSnRMaUJWYzJsdVp5QmpiMjV6ZEhKaGFXNTBjeUIzYVhSb2IzVjBJR0VnY0dGeVpXNTBJRzFoZVNCb1lYWmxJSFZ1Wlhod1pXTjBaV1FnY21WemRXeDBjeTVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0J1YjI1bFhISmNibHgwSUNvdlhISmNibHgwWTI5dWMzUnlZV2x1ZEQ4NklFRjJRMjl1YzNSeVlXbHVkRHRjY2x4dWZWeHlYRzVjY2x4dUx5b3FJRVJsWm1sdVpYTWdiMjVsSUhCaGNuUnBZMmx3WVc1MElHbHVJSFJvWlNCcGJuUmxjbVpoWTJVZ2MzbHpkR1Z0SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVNCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJTVzUwWlhKbVlXTmxSVzUwYVhSNVVISnZjSE1zSUh0OUlENWNjbHh1ZTF4eVhHNWNkSEJ5YVhaaGRHVWdZV04wYVhabFNXNTBaWEptWVdObGN6b2dRMEZqZEdsMlpVbHVkR1Z5Wm1GalpWdGRJRDBnVzEwN1hISmNibHh5WEc1Y2RDOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JseDBjSFZpYkdsaklHSjFhV3hrVG05a1pTZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzV2WkdVZ1BTQjBhR2x6TG1OeVpXRjBaVTV2WkdWUFltcGxZM1FvSUVGMlRtOWtaVlI1Y0dVdVNXNTBaWEptWVdObFJXNTBhWFI1TENCMGFHbHpMbTFmYm05a1pVbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGJHVjBJRzVsWldSUWNtOWpaWE56YjNJZ1BTQm1ZV3h6WlR0Y2NseHVYSEpjYmx4MFhIUnViMlJsTG5CeWIzQlVjbUZ1YzIxcGRITWdQU0JiWFR0Y2NseHVYSFJjZEdadmNpZ2diR1YwSUdsdWRHVnlabUZqWlZCeWIzQWdiMllnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMjFwZEhNZ1B6OGdXMTBnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCVWNtRnVjMjFwZEhNdWNIVnphQ2dnYVc1MFpYSm1ZV05sVUhKdmNDNXBabUZqWlNBcE8xeHlYRzVjZEZ4MFhIUnVaV1ZrVUhKdlkyVnpjMjl5SUQwZ2JtVmxaRkJ5YjJObGMzTnZjaUI4ZkNBb0lHbHVkR1Z5Wm1GalpWQnliM0F1Y0hKdlkyVnpjMjl5SUNFOUlHNTFiR3dnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnViMlJsTG5CeWIzQlNaV05sYVhabGN5QTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnYVc1MFpYSm1ZV05sVUhKdmNDQnZaaUIwYUdsekxuQnliM0J6TG5KbFkyVnBkbVZ6SUQ4L0lGdGRJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYm05a1pTNXdjbTl3VW1WalpXbDJaWE11Y0hWemFDZ2dhVzUwWlhKbVlXTmxVSEp2Y0M1cFptRmpaU0FwTzF4eVhHNWNkRngwWEhSdVpXVmtVSEp2WTJWemMyOXlJRDBnYm1WbFpGQnliMk5sYzNOdmNpQjhmQ0FvSUdsdWRHVnlabUZqWlZCeWIzQXVjSEp2WTJWemMyOXlJQ0U5SUc1MWJHd2dLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhScFppZ2dRWEp5WVhrdWFYTkJjbkpoZVNnZ2RHaHBjeTV3Y205d2N5NTJiMngxYldVZ0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRzV2WkdVdWNISnZjRlp2YkhWdFpYTWdQU0IwYUdsekxuQnliM0J6TG5admJIVnRaVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtOWtaUzV3Y205d1ZtOXNkVzFsY3lBOUlGc2dkR2hwY3k1d2NtOXdjeTUyYjJ4MWJXVWdYVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRzV2WkdVdWNISnZjRkJoY21WdWRFRmtaSElnUFNCMGFHbHpMbkJ5YjNCekxuQmhjbVZ1ZER0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VOdmJuTjBjbUZwYm5RZ1BTQjBhR2x6TG5CeWIzQnpMbU52Ym5OMGNtRnBiblE3WEhKY2JseDBYSFJ1YjJSbExuQnliM0JRY21sdmNtbDBlU0E5SUhSb2FYTXVjSEp2Y0hNdWNISnBiM0pwZEhrN1hISmNibHgwWEhSY2NseHVYSFJjZEdadmNpZ2diR1YwSUdsdWRHVnlabUZqWlV4dlkyc2diMllnS0NCMGFHbHpMbkJ5YjNCekxtbHVkR1Z5Wm1GalpVeHZZMnR6SUQ4L0lGdGRJQ2tnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc1pYUWdabTkxYm1SSmRDQTlJR1poYkhObE8xeHlYRzVjZEZ4MFhIUm1iM0lvSUd4bGRDQjBjbUZ1YzIxcGRIUmxjaUJ2WmlCMGFHbHpMbkJ5YjNCekxuUnlZVzV6YldsMGN5QS9QeUJiWFNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2FXNTBaWEptWVdObFRHOWpheTVwWm1GalpTQTlQU0IwY21GdWMyMXBkSFJsY2k1cFptRmpaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWm05MWJtUkpkQ0E5SUhSeWRXVTdYSEpjYmx4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhIUmNkRngwWEhSOVhIUmNkRngwWEhSY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUnBaaWdnSVdadmRXNWtTWFFnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDQmdSVzUwYVhSNUlHbHVZMngxWkdWa0lHRnVJR2x1YVhScFlXd2dhVzUwWlhKbVlXTmxJQ1I3SUdsdWRHVnlabUZqWlV4dlkyc3VhV1poWTJVZ2ZTQmlkWFFnWkc5bGN5QnViM1FnWUZ4eVhHNWNkRngwWEhSY2RGeDBLeUJnZEhKaGJuTnRhWFFnZEdoaGRDQnBiblJsY21aaFkyVmdJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VsdWRHVnlabUZqWlV4dlkydHpJRDBnZEdocGN5NXdjbTl3Y3k1cGJuUmxjbVpoWTJWTWIyTnJjenRjY2x4dVhISmNibHgwWEhScFppZ2dkR2hwY3k1d2NtOXdjeTUzWVc1MGMxUnlZVzV6Wm05eWJYTWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1YjJSbExtWnNZV2R6SUh3OUlFVk9iMlJsUm14aFozTXVUbTkwYVdaNVQyNVVjbUZ1YzJadmNtMURhR0Z1WjJVN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUc1bFpXUlFjbTlqWlhOemIzSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG5ObGRFbHVkR1Z5Wm1GalpVVnVkR2wwZVZCeWIyTmxjM052Y2lnZ2RHaHBjeTV0WDI1dlpHVkpaQ3dnWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYzNSaGNuUmxaRG9nZEdocGN5NXZia2x1ZEdWeVptRmpaVk4wWVhKMFpXUXNYSEpjYmx4MFhIUmNkRngwWEhSbGJtUmxaRG9nZEdocGN5NXZia2x1ZEdWeVptRmpaVVZ1WkdWa0xGeHlYRzVjZEZ4MFhIUmNkRngwWlhabGJuUTZJSFJvYVhNdWIyNUpiblJsY21aaFkyVkZkbVZ1ZEN4Y2NseHVYSFJjZEZ4MFhIUmNkSFJ5WVc1elptOXliVlZ3WkdGMFpXUTZJSFJvYVhNdWIyNVVjbUZ1YzJadmNtMVZjR1JoZEdWa0xGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnlaWFIxY200Z2JtOWtaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdaMlYwVUhKdlkyVnpjMjl5S0NCMGNtRnVjMjFwZEhSbGNqb2dSVzVrY0c5cGJuUkJaR1J5TENCeVpXTmxhWFpsY2pvZ1JXNWtjRzlwYm5SQlpHUnlMQ0JwWm1GalpUb2djM1J5YVc1bklDa2dYSEpjYmx4MFhIUTZJRnNnU1c1MFpYSm1ZV05sUlc1MGFYUjVVSEp2WTJWemMyOXlMQ0JKYm5SbGNtWmhZMlZTYjJ4bElGMWNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkSEpoYm5OdGFYUjBaWEl1Wlc1a2NHOXBiblJKWkNBOVBTQkJka2RoWkdkbGRDNXBibk4wWVc1alpTZ3BMbWRsZEVWdVpIQnZhVzUwU1dRb0tTQW1KaUJjY2x4dVhIUmNkRngwZEdocGN5NXRYMjV2WkdWSlpDQTlQU0IwY21GdWMyMXBkSFJsY2k1dWIyUmxTV1FnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSbWIzSW9JR3hsZENCcGJuUmxjbVpoWTJWUWNtOXdJRzltSUhSb2FYTXVjSEp2Y0hNdWRISmhibk50YVhSeklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQnBiblJsY21aaFkyVlFjbTl3TG1sbVlXTmxJRDA5SUdsbVlXTmxJQ2xjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJ5WlhSMWNtNGdXeUJwYm5SbGNtWmhZMlZRY205d0xuQnliMk5sYzNOdmNpd2dTVzUwWlhKbVlXTmxVbTlzWlM1VWNtRnVjMjFwZEhSbGNpQmRPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkR2xtS0NCeVpXTmxhWFpsY2k1bGJtUndiMmx1ZEVsa0lEMDlJRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1WjJWMFJXNWtjRzlwYm5SSlpDZ3BJQ1ltSUZ4eVhHNWNkRngwWEhSMGFHbHpMbTFmYm05a1pVbGtJRDA5SUhKbFkyVnBkbVZ5TG01dlpHVkpaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdadmNpZ2diR1YwSUdsdWRHVnlabUZqWlZCeWIzQWdiMllnZEdocGN5NXdjbTl3Y3k1eVpXTmxhWFpsY3lBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2FXNTBaWEptWVdObFVISnZjQzVwWm1GalpTQTlQU0JwWm1GalpTQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBjbVYwZFhKdUlGc2dhVzUwWlhKbVlXTmxVSEp2Y0M1d2NtOWpaWE56YjNJc0lFbHVkR1Z5Wm1GalpWSnZiR1V1VW1WalpXbDJaWElnWFR0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dYQ0puWlhSUWNtOWpaWE56YjNJZ1kyRnNiR1ZrSUhkb1pXNGdkMlVnZDJWeVpXNG5kQ0IwYUdVZ2RISmhibk50YVhSMFpYSWdiM0lnY21WalpXbDJaWEpjSWlBcE8xeHlYRzVjZEZ4MGNtVjBkWEp1SUZzZ2JuVnNiQ3dnU1c1MFpYSm1ZV05sVW05c1pTNUpiblpoYkdsa0lGMDdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdiMjVKYm5SbGNtWmhZMlZUZEdGeWRHVmtLQ0J0T2lCTmMyZEpiblJsY21aaFkyVlRkR0Z5ZEdWa0lDQXBPaUIyYjJsa1hISmNibHgwZTF4eVhHNWNkRngwYkdWMElGc2djSEp2WTJWemMyOXlMQ0J5YjJ4bElGMGdQU0IwYUdsekxtZGxkRkJ5YjJObGMzTnZjaWdnYlM1MGNtRnVjMjFwZEhSbGNpd2diUzV5WldObGFYWmxjaXdnYlM1cFptRmpaU0FwTzF4eVhHNWNkRngwYVdZb0lIQnliMk5sYzNOdmNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCdVpYZEpiblJsY21aaFkyVWdQU0J1WlhjZ1EwRmpkR2wyWlVsdWRHVnlabUZqWlNnZ2JTd2djbTlzWlNBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVWx1ZEdWeVptRmpaWE11Y0hWemFDZ2dibVYzU1c1MFpYSm1ZV05sSUNrN1hISmNibHgwWEhSY2RIQnliMk5sYzNOdmNpZ2dibVYzU1c1MFpYSm1ZV05sSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdacGJtUkJZM1JwZG1WSmJuUmxjbVpoWTJVb2RISmhibk50YVhSMFpYSTZJRVZ1WkhCdmFXNTBRV1JrY2l3Z2NtVmpaV2wyWlhJNklFVnVaSEJ2YVc1MFFXUmtjaXdnYVdaaFkyVTZJSE4wY21sdVp5QXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFptOXlLQ0JzWlhRZ2FTQnZaaUIwYUdsekxtRmpkR2wyWlVsdWRHVnlabUZqWlhNZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnBaaWdnWlc1a2NHOXBiblJCWkdSeWMwMWhkR05vS0NCcExuUnlZVzV6YldsMGRHVnlMQ0IwY21GdWMyMXBkSFJsY2lBcFhISmNibHgwWEhSY2RGeDBKaVlnWlc1a2NHOXBiblJCWkdSeWMwMWhkR05vS0NCcExuSmxZMlZwZG1WeUxDQnlaV05sYVhabGNpQXBYSEpjYmx4MFhIUmNkRngwSmlZZ2FXWmhZMlVnUFQwZ2FTNXBabUZqWlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdhVHRjZEZ4MFhIUmNkRnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElHWnBibVJCWTNScGRtVkpiblJsY21aaFkyVkNlVVJsYzNRb0lHUmxjM1JwYm1GMGFXOXVPaUJGYm1Sd2IybHVkRUZrWkhJc0lIQmxaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2dhV1poWTJVNklITjBjbWx1WnlBcFhISmNibHgwZTF4eVhHNWNkRngwWm05eUtDQnNaWFFnYVNCdlppQjBhR2x6TG1GamRHbDJaVWx1ZEdWeVptRmpaWE1nS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFppZ2daVzVrY0c5cGJuUkJaR1J5YzAxaGRHTm9LQ0JwTG5ObGJHWXNJR1JsYzNScGJtRjBhVzl1SUNsY2NseHVYSFJjZEZ4MFhIUW1KaUJsYm1Sd2IybHVkRUZrWkhKelRXRjBZMmdvSUdrdWNHVmxjaXdnY0dWbGNpQXBYSEpjYmx4MFhIUmNkRngwSmlZZ2FXWmhZMlVnUFQwZ2FTNXBabUZqWlNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdhVHRjZEZ4MFhIUmNkRnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkZ4eVhHNWNkSEJ5YVhaaGRHVWdiMjVKYm5SbGNtWmhZMlZGYm1SbFpDZ2dkSEpoYm5OdGFYUjBaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2djbVZqWldsMlpYSTZJRVZ1WkhCdmFXNTBRV1JrY2l3Z2FXWmhZMlU2SUhOMGNtbHVaeXhjY2x4dVhIUmNkSFJ5WVc1emJXbDBkR1Z5Um5KdmJWSmxZMlZwZG1WeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wc0lHbHVkR1Z5YzJWamRHbHZibEJ2YVc1MFB6b2dRWFpXWldOMGIzSWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmhZM1JwZG1WSmJuUmxjbVpoWTJVZ1BTQjBhR2x6TG1acGJtUkJZM1JwZG1WSmJuUmxjbVpoWTJVb2RISmhibk50YVhSMFpYSXNJSEpsWTJWcGRtVnlMQ0JwWm1GalpTazdYSEpjYmx4MFhIUnBaaWdnWVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWVdOMGFYWmxTVzUwWlhKbVlXTmxMbVZ1WkNnZ2RISmhibk50YVhSMFpYSkdjbTl0VW1WalpXbDJaWElzSUdsdWRHVnljMlZqZEdsdmJsQnZhVzUwSUNrN1hISmNibHh5WEc1Y2RGeDBYSFIwYUdsekxtRmpkR2wyWlVsdWRHVnlabUZqWlhNdWMzQnNhV05sS0NCMGFHbHpMbUZqZEdsMlpVbHVkR1Z5Wm1GalpYTXVhVzVrWlhoUFppZ2dZV04wYVhabFNXNTBaWEptWVdObElDa3NJREVnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrbHVkR1Z5Wm1GalpVVjJaVzUwS0NCa1pYTjBhVzVoZEdsdmJqb2dSVzVrY0c5cGJuUkJaR1J5TENCd1pXVnlPaUJGYm1Sd2IybHVkRUZrWkhJc0lHbG1ZV05sT2lCemRISnBibWNzSUdSaGRHRTZJRzlpYW1WamRDeGNjbHh1WEhSY2RHUmxjM1JwYm1GMGFXOXVSbkp2YlZCbFpYSTZJRUYyVG05a1pWUnlZVzV6Wm05eWJTd2dhVzUwWlhKelpXTjBhVzl1VUc5cGJuUS9PaUJCZGxabFkzUnZjaUFwT2lCMmIybGtYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR0ZqZEdsMlpVbHVkR1Z5Wm1GalpTQTlJSFJvYVhNdVptbHVaRUZqZEdsMlpVbHVkR1Z5Wm1GalpVSjVSR1Z6ZENoa1pYTjBhVzVoZEdsdmJpd2djR1ZsY2l3Z2FXWmhZMlVwTzF4eVhHNWNkRngwYVdZb0lHRmpkR2wyWlVsdWRHVnlabUZqWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHRmpkR2wyWlVsdWRHVnlabUZqWlM1bGRtVnVkQ2dnWkdGMFlTd2daR1Z6ZEdsdVlYUnBiMjVHY205dFVHVmxjaXdnYVc1MFpYSnpaV04wYVc5dVVHOXBiblFnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJsUnlZVzV6Wm05eWJWVndaR0YwWldRb0lHUmxjM1JwYm1GMGFXOXVPaUJGYm1Sd2IybHVkRUZrWkhJc0lIQmxaWEk2SUVWdVpIQnZhVzUwUVdSa2Npd2dhV1poWTJVNklITjBjbWx1Wnl3Z1hISmNibHgwWEhSa1pYTjBhVzVoZEdsdmJrWnliMjFRWldWeU9pQkJkazV2WkdWVWNtRnVjMlp2Y20wc0lHbHVkR1Z5YzJWamRHbHZibEJ2YVc1MFB6b2dRWFpXWldOMGIzSWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmhZM1JwZG1WSmJuUmxjbVpoWTJVZ1BTQjBhR2x6TG1acGJtUkJZM1JwZG1WSmJuUmxjbVpoWTJWQ2VVUmxjM1FvWkdWemRHbHVZWFJwYjI0c0lIQmxaWElzSUdsbVlXTmxLVHRjY2x4dVhIUmNkR2xtS0NCaFkzUnBkbVZKYm5SbGNtWmhZMlVnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSaFkzUnBkbVZKYm5SbGNtWmhZMlV1ZEhKaGJuTm1iM0p0VlhCa1lYUmxaQ2dnWkdWemRHbHVZWFJwYjI1R2NtOXRVR1ZsY2l3Z2FXNTBaWEp6WldOMGFXOXVVRzlwYm5RZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibjFjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX2xpbmUudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX2xpbmUudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2TGluZSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZMaW5lXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdkxpbmU7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBjb2xvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgY29sb3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2NvbG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGNvbG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oY29sb3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldC50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vKiogQ2F1c2VzIGEgbGluZSB0byBhcHBlYXIgZnJvbSB0aGUgdHJhbnNmb3JtIG9mIHRoaXMgbm9kZSdzIHBhcmVudCB0byB0aGVcXHJcXG4gKiBzcGVjaWZpZWQgZW5kIHBvaW50LiAqL1xcclxcbmNsYXNzIEF2TGluZSBleHRlbmRzIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZCYXNlTm9kZVxcXCJdIHtcXHJcXG4gICAgYnVpbGROb2RlKCkge1xcclxcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGVPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5MaW5lLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGxldCBjb2xvcjtcXHJcXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5jb2xvciA9PT0gXFxcInN0cmluZ1xcXCIpIHtcXHJcXG4gICAgICAgICAgICBsZXQgdG1wQ29sb3IgPSBjb2xvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKHRoaXMucHJvcHMuY29sb3IpO1xcclxcbiAgICAgICAgICAgIGNvbG9yID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcjogdG1wQ29sb3IucmVkKCkgLyAyNTUsXFxyXFxuICAgICAgICAgICAgICAgICAgICBnOiB0bXBDb2xvci5ncmVlbigpIC8gMjU1LFxcclxcbiAgICAgICAgICAgICAgICAgICAgYjogdG1wQ29sb3IuYmx1ZSgpIC8gMjU1LFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgY29sb3IgPSB0aGlzLnByb3BzLmNvbG9yO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wQ29sb3IgPSBjb2xvcjtcXHJcXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5lbmRJZCA9PT0gXFxcInN0cmluZ1xcXCIpIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BFbmRBZGRyID0gX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuZ2V0RW5kcG9pbnRBZGRyZXNzRm9ySWQodGhpcy5wcm9wcy5lbmRJZCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BFbmRBZGRyID0gdGhpcy5wcm9wcy5lbmRJZDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIG5vZGUucHJvcFRoaWNrbmVzcyA9IHRoaXMucHJvcHMudGhpY2tuZXNzO1xcclxcbiAgICAgICAgbm9kZS5wcm9wU3RhcnRHYXAgPSB0aGlzLnByb3BzLnN0YXJ0R2FwO1xcclxcbiAgICAgICAgbm9kZS5wcm9wRW5kR2FwID0gdGhpcy5wcm9wcy5lbmRHYXA7XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXNhVzVsTG5SemVEOWxaR0ppSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJLMEk3UVVGRGIwTTdRVUZEWVR0QlFVTnVRenRCUVhORE4wTTdNRUpCUXpCQ08wRkJRMjVDTEUxQlFVMHNUVUZCVHl4VFFVRlJMRGhFUVVFMlFqdEpRVVZxUkN4VFFVRlRPMUZCUldZc1NVRkJTU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRkxITkZRVUZWTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVU51UlN4SlFVRkpMRXRCUVdNc1EwRkJRenRSUVVOdVFpeEpRVUZKTEU5QlFVOHNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFdEJRVXNzVVVGQlVTeEZRVU40UXp0WlFVTkRMRWxCUVVrc1VVRkJVU3hIUVVGSExHdERRVUZMTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVVVzUTBGQlF6dFpRVU42UXl4TFFVRkxPMmRDUVVOTU8yOUNRVU5ETEVOQlFVTXNSVUZCUlN4UlFVRlJMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUjBGQlJ6dHZRa0ZEZGtJc1EwRkJReXhGUVVGRkxGRkJRVkVzUTBGQlF5eExRVUZMTEVWQlFVVXNSMEZCUnl4SFFVRkhPMjlDUVVONlFpeERRVUZETEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hIUVVGSExFZEJRVWM3YVVKQlEzaENMRU5CUVVNN1UwRkRSanRoUVVWRU8xbEJRME1zUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTenRUUVVONFFqdFJRVU5FTEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1MwRkJTeXhEUVVGRE8xRkJRM1pDTEVsQlFVa3NUMEZCVHl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUzBGQlN5eFJRVUZSTEVWQlEzaERPMWxCUTBNc1NVRkJTU3hEUVVGRExGZEJRVmNzUjBGQlJ5eDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExIVkNRVUYxUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZGTEVOQlFVTTdVMEZEYmtZN1lVRkZSRHRaUVVORExFbEJRVWtzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU03VTBGRGNFTTdVVUZEUkN4SlFVRkpMRU5CUVVNc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRPMUZCUXpGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU03VVVGRGVFTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXp0UlFVVndReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5pTEVOQlFVTTdRMEZEUkNJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTlzYVc1bExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRU52Ykc5eUlHWnliMjBnSjJOdmJHOXlKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkNZWE5sVG05a1pTd2dRWFpDWVhObFRtOWtaVkJ5YjNCeklIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWlZWE5sWDI1dlpHVW5PMXh5WEc1cGJYQnZjblFnZXlCQmRrNXZaR1ZVZVhCbExDQkJka052Ykc5eUxDQkZibVJ3YjJsdWRFRmtaSElnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ2V5QkJka2RoWkdkbGRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZaMkZrWjJWMEp6dGNjbHh1WEhKY2JpOHFLaUJRY205d2N5Qm1iM0lnZTBCc2FXNXJJRUYyVEdsdVpYMGdLaTljY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQmRreHBibVZRY205d2N5QmxlSFJsYm1SeklFRjJRbUZ6WlU1dlpHVlFjbTl3YzF4eVhHNTdYSEpjYmx4MEx5b3FJRlJvWlNCamIyeHZjaUIwYVc1MElIUnZJR0Z3Y0d4NUlIUnZJSFJvYVhNZ2JXOWtaV3dnZDJobGJpQnBkQ0JwYzF4eVhHNWNkQ0FxSUdScGMzQnNZWGxsWkM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCM2FHbDBaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RHTnZiRzl5UHpvZ1FYWkRiMnh2Y2lCOElITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCMGFHbGphMjVsYzNNZ2IyWWdkR2hsSUd4cGJtVWdhVzRnYldWMFpYSnpMbHh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJREF1TURBelhISmNibHgwSUNvdlhISmNibHgwZEdocFkydHVaWE56UHpvZ2JuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dTVVFnYjNJZ1lXUmtjbVZ6Y3lCdlppQjBhR1VnWlc1a0lIQnZhVzUwSUc5bUlIUm9hWE1nYzJWbmJXVnVkQzRnWEhKY2JseDBLaTljY2x4dVhIUmxibVJKWkRvZ2MzUnlhVzVuSUh3Z1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1Y2NseHVYSFF2S2lvZ1JHbHpkR0Z1WTJVZ2FXNGdiV1YwWlhKeklIUnZJR3hsWVhabElHRnpJR0VnWjJGd0lHSmxkSGRsWlc0Z2RHaGxYSEpjYmx4MElDb2djM1JoY25RZ2NHOXBiblFnWVc1a0lIUm9aU0J6ZEdGeWRDQnZaaUIwYUdVZ1lXTjBkV0ZzSUd4cGJtVXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RITjBZWEowUjJGd1B6b2diblZ0WW1WeU8xeHlYRzVjY2x4dVhIUXZLaW9nUkdsemRHRnVZMlVnYVc0Z2JXVjBaWEp6SUhSdklHeGxZWFpsSUdGeklHRWdaMkZ3SUdKbGRIZGxaVzRnZEdobFhISmNibHgwSUNvZ1pXNWtJSEJ2YVc1MElHRnVaQ0IwYUdVZ2MzUmhjblFnYjJZZ2RHaGxJR0ZqZEhWaGJDQnNhVzVsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURCY2NseHVYSFFnS2k5Y2NseHVYSFJsYm1SSFlYQS9PaUJ1ZFcxaVpYSTdYSEpjYm4xY2NseHVYSEpjYmx4eVhHNHZLaW9nUTJGMWMyVnpJR0VnYkdsdVpTQjBieUJoY0hCbFlYSWdabkp2YlNCMGFHVWdkSEpoYm5ObWIzSnRJRzltSUhSb2FYTWdibTlrWlNkeklIQmhjbVZ1ZENCMGJ5QjBhR1VnWEhKY2JpQXFJSE53WldOcFptbGxaQ0JsYm1RZ2NHOXBiblF1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRreHBibVVnWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsUENCQmRreHBibVZRY205d2N5d2dlMzBnUGx4eVhHNTdYSEpjYmx4MGNIVmliR2xqSUdKMWFXeGtUbTlrWlNncFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHNXZaR1VnUFNCMGFHbHpMbU55WldGMFpVNXZaR1ZQWW1wbFkzUW9JRUYyVG05a1pWUjVjR1V1VEdsdVpTd2dkR2hwY3k1dFgyNXZaR1ZKWkNBcE8xeHlYRzVjZEZ4MGJHVjBJR052Ykc5eU9pQkJka052Ykc5eU8xeHlYRzVjZEZ4MGFXWW9JSFI1Y0dWdlppQjBhR2x6TG5CeWIzQnpMbU52Ykc5eUlEMDlQU0JjSW5OMGNtbHVaMXdpSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSFJ0Y0VOdmJHOXlJRDBnUTI5c2IzSW9JSFJvYVhNdWNISnZjSE11WTI5c2IzSWdLVHRjY2x4dVhIUmNkRngwWTI5c2IzSWdQU0JjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RISTZJSFJ0Y0VOdmJHOXlMbkpsWkNncElDOGdNalUxTEZ4eVhHNWNkRngwWEhSY2RHYzZJSFJ0Y0VOdmJHOXlMbWR5WldWdUtDa2dMeUF5TlRVc1hISmNibHgwWEhSY2RGeDBZam9nZEcxd1EyOXNiM0l1WW14MVpTZ3BJQzhnTWpVMUxGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSamIyeHZjaUE5SUhSb2FYTXVjSEp2Y0hNdVkyOXNiM0pjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRzV2WkdVdWNISnZjRU52Ykc5eUlEMGdZMjlzYjNJN1hISmNibHgwWEhScFppZ2dkSGx3Wlc5bUlIUm9hWE11Y0hKdmNITXVaVzVrU1dRZ1BUMDlJRndpYzNSeWFXNW5YQ0lnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCRmJtUkJaR1J5SUQwZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNW5aWFJGYm1Sd2IybHVkRUZrWkhKbGMzTkdiM0pKWkNnZ2RHaHBjeTV3Y205d2N5NWxibVJKWkNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1YjJSbExuQnliM0JGYm1SQlpHUnlJRDBnZEdocGN5NXdjbTl3Y3k1bGJtUkpaRHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkRzV2WkdVdWNISnZjRlJvYVdOcmJtVnpjeUE5SUhSb2FYTXVjSEp2Y0hNdWRHaHBZMnR1WlhOek8xeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1UzUmhjblJIWVhBZ1BTQjBhR2x6TG5CeWIzQnpMbk4wWVhKMFIyRndPMXh5WEc1Y2RGeDBibTlrWlM1d2NtOXdSVzVrUjJGd0lEMGdkR2hwY3k1d2NtOXdjeTVsYm1SSFlYQTdYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRzV2WkdVN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfbGluZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX21lbnVfaXRlbS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19tZW51X2l0ZW0udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19NZW51SW50ZXJmYWNlLCBNZW51RXZlbnRUeXBlLCBBdk1lbnVJdGVtICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX01lbnVJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIGtfTWVudUludGVyZmFjZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTWVudUV2ZW50VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTWVudUV2ZW50VHlwZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZNZW51SXRlbVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gQXZNZW51SXRlbTsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY29uc3Qga19NZW51SW50ZXJmYWNlID0gXFxcImFhcmR2YXJrLW1lbnVAMVxcXCI7XFxyXFxudmFyIE1lbnVFdmVudFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChNZW51RXZlbnRUeXBlKSB7XFxyXFxuICAgIE1lbnVFdmVudFR5cGVbXFxcIkFjdGl2YXRlXFxcIl0gPSBcXFwiYWN0aXZhdGVcXFwiO1xcclxcbn0pKE1lbnVFdmVudFR5cGUgfHwgKE1lbnVFdmVudFR5cGUgPSB7fSkpO1xcclxcbi8qKiBBIGNvbXBvbmVudCB0aGF0IHNpZ25hbHMgd2hlbiBpdCBpcyBncmFiYmVkLiAqL1xcclxcbmNsYXNzIEF2TWVudUl0ZW0gZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLnN0YXRlID1cXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIG1lbnVDb3VudDogMCxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICB9XFxyXFxuICAgIG9uTWVudShhY3RpdmVNZW51KSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUubWVudUNvdW50ID09IDApIHtcXHJcXG4gICAgICAgICAgICAoX2IgPSAoX2EgPSB0aGlzLnByb3BzKS5vbkhpZ2hsaWdodCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiB7IHJldHVybiB7IG1lbnVDb3VudDogcHJldlN0YXRlLm1lbnVDb3VudCArIDEgfTsgfSk7XFxyXFxuICAgICAgICBhY3RpdmVNZW51Lm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hLCBfYjtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBNZW51RXZlbnRUeXBlLkFjdGl2YXRlOlxcclxcbiAgICAgICAgICAgICAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykub25TZWxlY3QpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlTWVudS5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+IHsgcmV0dXJuIHsgbWVudUNvdW50OiBwcmV2U3RhdGUubWVudUNvdW50IC0gMSB9OyB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCBzY2FsZSA9ICh0aGlzLnN0YXRlLm1lbnVDb3VudCA+IDApID8gMS4xIDogMS4wO1xcclxcbiAgICAgICAgbGV0IHZvbHVtZTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJhZGl1cykge1xcclxcbiAgICAgICAgICAgIHZvbHVtZSA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLlNwaGVyZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJhZGl1czogdGhpcy5wcm9wcy5yYWRpdXMsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3BzLm1vZGVsVXJpKSB7XFxyXFxuICAgICAgICAgICAgdm9sdW1lID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uTW9kZWxCb3gsXFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmk6IHRoaXMucHJvcHMubW9kZWxVcmksXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkZyYWdtZW50XFxcIl0sIG51bGwsXFxyXFxuICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB1bmlmb3JtU2NhbGU6IHNjYWxlIH0sXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubW9kZWxVcmkgJiYgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiB0aGlzLnByb3BzLm1vZGVsVXJpLCBjb2xvcjogdGhpcy5wcm9wcy5jb2xvciB9KSxcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlbiksXFxyXFxuICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdm9sdW1lOiB2b2x1bWUsIHByaW9yaXR5OiAyMCwgcmVjZWl2ZXM6IFt7IGlmYWNlOiBrX01lbnVJbnRlcmZhY2UsIHByb2Nlc3NvcjogdGhpcy5vbk1lbnUgfV0gfSkpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdk1lbnVJdGVtLnByb3RvdHlwZSwgXFxcIm9uTWVudVxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5dFpXNTFYMmwwWlcwdWRITjRQMkkzTkRraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN096czdPMEZCUVRaRk8wRkJRek5ETzBGQlEwZzdRVUZEYTBRN1FVRkRkRU03UVVGRlVUdEJRWEZETlVNc1RVRkJUU3hsUVVGbExFZEJRVWNzYVVKQlFXbENMRU5CUVVNN1FVRkZha1FzU1VGQldTeGhRVWRZTzBGQlNFUXNWMEZCV1N4aFFVRmhPMGxCUlhoQ0xITkRRVUZ4UWp0QlFVTjBRaXhEUVVGRExFVkJTRmNzWVVGQllTeExRVUZpTEdGQlFXRXNVVUZIZUVJN1FVRlJSQ3h0UkVGQmJVUTdRVUZETlVNc1RVRkJUU3hWUVVGWExGTkJRVkVzSzBOQlFTdERPMGxCUlRsRkxGbEJRV0VzUzBGQlZUdFJRVVYwUWl4TFFVRkxMRU5CUVVVc1MwRkJTeXhEUVVGRkxFTkJRVU03VVVGRlppeEpRVUZKTEVOQlFVTXNTMEZCU3p0WlFVTldPMmRDUVVORExGTkJRVk1zUlVGQlJTeERRVUZETzJGQlExb3NRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkhUeXhOUVVGTkxFTkJRVVVzVlVGQk1rSTdPMUZCUlRGRExFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRWxCUVVrc1EwRkJReXhGUVVNM1FqdFpRVU5ETEdkQ1FVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRExGZEJRVmNzYlVSQlFVczdVMEZETTBJN1VVRkZSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVVXNVMEZCVXl4RlFVRkhMRVZCUVVVc1IwRkJSeXhQUVVGUExFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNRMEZCUXl4VFFVRlRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVnlSaXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZGTEVOQlFVVXNTMEZCWjBJc1JVRkJSeXhGUVVGRk96dFpRVVV4UXl4UlFVRlJMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRMnhDTzJkQ1FVTkRMRXRCUVVzc1lVRkJZU3hEUVVGRExGRkJRVkU3YjBKQlF6RkNMR2RDUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZETEZGQlFWRXNiVVJCUVVzN2IwSkJRM2hDTEUxQlFVMDdZVUZEVUR0UlFVTkdMRU5CUVVNc1EwRkJSU3hEUVVGRE8xRkJSVW9zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUlN4SFFVRkhMRVZCUVVVN1dVRkZlRUlzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUlN4RFFVRkZMRk5CUVZNc1JVRkJSeXhGUVVGRkxFZEJRVWNzVDBGQlR5eEZRVUZGTEZOQlFWTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkZMRU5CUVVNN1VVRkRkRVlzUTBGQlF5eERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVk5MRTFCUVUwN1VVRkZXaXhKUVVGSkxFdEJRVXNzUjBGQlJ5eERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dFJRVU55UkN4SlFVRkpMRTFCUVdkQ0xFTkJRVU03VVVGRGNrSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUlVGRGNrSTdXVUZEUXl4TlFVRk5PMmRDUVVOT08yOUNRVU5ETEVsQlFVa3NSVUZCUlN4MVJVRkJWeXhEUVVGRExFMUJRVTA3YjBKQlEzaENMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMDdhVUpCUTNwQ0xFTkJRVU03VTBGRFJqdGhRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFVkJRelZDTzFsQlEwTXNUVUZCVFR0blFrRkRUanR2UWtGRFF5eEpRVUZKTEVWQlFVVXNkVVZCUVZjc1EwRkJReXhSUVVGUk8yOUNRVU14UWl4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTzJsQ1FVTjRRaXhEUVVGRE8xTkJRMFk3VVVGRlJDeFBRVUZQTzFsQlEwNHNiMFJCUVVNc0swUkJRVmNzU1VGQlF5eFpRVUZaTEVWQlFVY3NTMEZCU3p0blFrRkRPVUlzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRWxCUVVrc2IwUkJRVU1zZFVSQlFVOHNTVUZCUXl4SFFVRkhMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlF6RkVMRXRCUVVzc1JVRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NSMEZCU1R0blFrRkRNMElzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUTFJN1dVRkRaQ3h2UkVGQlF5dzBSVUZCYVVJc1NVRkJReXhOUVVGTkxFVkJRVWNzVFVGQlRTeEZRVUZITEZGQlFWRXNSVUZCUnl4RlFVRkZMRVZCUTJwRUxGRkJRVkVzUlVGQlJ5eERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR1ZCUVdVc1JVRkJSU3hUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkZMRWRCUVVrc1EwRkRjRVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdRMEZEUkR0QlFYaEVRVHRKUVVSRExIRkVRVUZKTzNkRFFYZENTaUlzSW1acGJHVWlPaUl1TDNOeVl5OWhZWEprZG1GeWExOXRaVzUxWDJsMFpXMHVkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRWFpXYjJ4MWJXVXNJRVZXYjJ4MWJXVlVlWEJsTENCQmRrTnZiRzl5SUgwZ1puSnZiU0FuUUdGaGNtUjJZWEpyZUhJdllXRnlaSFpoY21zdGMyaGhjbVZrSnp0Y2NseHVhVzF3YjNKMElHSnBibVFnWm5KdmJTQW5ZbWx1WkMxa1pXTnZjbUYwYjNJbk8xeHlYRzVwYlhCdmNuUWdLaUJoY3lCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTd2dRWFpKYm5SbGNtWmhZMlZGYm5ScGRIa2dmU0JtY205dElDY3VMMkZoY21SMllYSnJYMmx1ZEdWeVptRmpaVjlsYm5ScGRIa25PMXh5WEc1cGJYQnZjblFnZXlCQmRrMXZaR1ZzSUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5dGIyUmxiQ2M3WEhKY2JtbHRjRzl5ZENCN0lGQmhibVZzVW1WeGRXVnpkQ3dnVUdGdVpXeFNaWEYxWlhOMFZIbHdaU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0dGdVpXd25PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dVhISmNibHh5WEc0dktpb2dVSEp2Y0hNZ1ptOXlJSHRBYkdsdWF5QkJkazFsYm5WSmRHVnRmU0FxTDF4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFMWxiblZKZEdWdFVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR1VnYjI1VFpXeGxZM1FnWTJGc2JHSmhZMnNnYVhNZ1kyRnNiR1ZrSUhkb1pXNGdkR2hsSUcxbGJuVWdZblYwZEc5dUlHbHpJSEpsYkdWaGMyVmtJSGRvYVd4bElHOXVJSFJvWlNCdFpXNTFJR2wwWlcwdUlDb3ZYSEpjYmx4MGIyNVRaV3hsWTNRL09pQW9LU0E5UGlCMmIybGtPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJRzl1U0dsbmFHeHBaMmgwSUdOaGJHeGlZV05ySUdseklHTmhiR3hsWkNCM2FHVnVJSFJvWlNCdFpXNTFJR2wwWlcwZ2FYTWdkRzkxWTJobFpDQmllU0IwYUdVZ1ozSmhZbUpsY2lBb1lXNWtJSGRwYkd3Z1hISmNibHgwSUNvZ1ltVWdjMlZzWldOMFpXUWdhV1lnZEdobElIVnpaWElnY21Wc1pXRnpaWE1nZEdobElHMWxiblVnWW5WMGRHOXVMaWtnS2k5Y2NseHVYSFJ2YmtocFoyaHNhV2RvZEQ4NklDZ3BJRDArSUhadmFXUTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdWVkpKSUc5bUlIUm9aU0JIVEZSR0lHMXZaR1ZzSUhSdklIVnpaU0JtYjNJZ2RHaHBjeUJuY21GaUlHSjFkSFJ2Ymk0Z1JYaGhZM1JzZVNCdmJtVmNjbHh1WEhRZ0tpQnZaaUJ0YjJSbGJGVnlhU0JoYm1RZ2NtRmthWFZ6SUcxMWMzUWdZbVVnYzNCbFkybG1hV1ZrTGlCSlppQnRiMlJsYkZWeWFTQnBjeUJ6Y0dWamFXWnBaV1FzWEhKY2JseDBJQ29nZEdobElHSnZkVzVrYVc1bklHSnZlQ0J2WmlCMGFHVWdiVzlrWld3Z2QybHNiQ0JoYkhOdklHSmxJSFZ6WldRZ1lYTWdkR2hsSUdkeVlXSmlZV0pzWlZ4eVhHNWNkQ0FxSUhKbFoybHZiaUJtYjNJZ2RHaGxJR0oxZEhSdmJpNWNjbHh1WEhRZ0tpOWNjbHh1WEhSdGIyUmxiRlZ5YVQ4NklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCamIyeHZjaUIwYnlCaGNIQnNlU0IwYnlCMGFHVWdiVzlrWld3dVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2JtOXVaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RHTnZiRzl5UHpvZ2MzUnlhVzVuSUh3Z1FYWkRiMnh2Y2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCeVlXUnBkWE1nYjJZZ2RHaGxJSE53YUdWeVpTQjBhR0YwSUdSbFptbHVaWE1nZEdobElHZHlZV0ppWVdKc1pTQm9ZVzVrYkdVZ1ptOXlJSFJvYVhNZ1hISmNibHgwSUNvZ1ozSmhZaUJpZFhSMGIyNHVJRVY0WVdOMGJIa2diMjVsSUc5bUlHMXZaR1ZzVlhKcElHRnVaQ0J5WVdScGRYTWdiWFZ6ZENCaVpTQnpjR1ZqYVdacFpXUXVYSEpjYmx4MElDb3ZYSEpjYmx4MGNtRmthWFZ6UHpvZ2JuVnRZbVZ5TzF4eVhHNTlYSEpjYmx4eVhHNXBiblJsY21aaFkyVWdUV1Z1ZFVsMFpXMVRkR0YwWlZ4eVhHNTdYSEpjYmx4MGJXVnVkVU52ZFc1ME9pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQmpiMjV6ZENCclgwMWxiblZKYm5SbGNtWmhZMlVnUFNCY0ltRmhjbVIyWVhKckxXMWxiblZBTVZ3aU8xeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdUV1Z1ZFVWMlpXNTBWSGx3WlZ4eVhHNTdYSEpjYmx4MFFXTjBhWFpoZEdVZ1BTQmNJbUZqZEdsMllYUmxYQ0lzWEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RXVnVkVVYyWlc1MFhISmNibnRjY2x4dVhIUjBlWEJsT2lCTlpXNTFSWFpsYm5SVWVYQmxPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVFZ1kyOXRjRzl1Wlc1MElIUm9ZWFFnYzJsbmJtRnNjeUIzYUdWdUlHbDBJR2x6SUdkeVlXSmlaV1F1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrMWxiblZKZEdWdElHVjRkR1Z1WkhNZ1VtVmhZM1F1UTI5dGNHOXVaVzUwUENCTlpXNTFTWFJsYlZCeWIzQnpMQ0JOWlc1MVNYUmxiVk4wWVhSbElENWNjbHh1ZTF4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCd2NtOXdjem9nWVc1NUlDbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhISmNibHgwWEhSMGFHbHpMbk4wWVhSbElEMGdYSEpjYmx4MFhIUjdJRnh5WEc1Y2RGeDBYSFJ0Wlc1MVEyOTFiblE2SURBc1hISmNibHgwWEhSOU8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUV1Z1ZFNnZ1lXTjBhWFpsVFdWdWRUb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1emRHRjBaUzV0Wlc1MVEyOTFiblFnUFQwZ01DQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWNISnZjSE11YjI1SWFXZG9iR2xuYUhRL0xpZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JQ2dnY0hKbGRsTjBZWFJsSUNrZ1BUNGdleUJ5WlhSMWNtNGdleUJ0Wlc1MVEyOTFiblE2SUhCeVpYWlRkR0YwWlM1dFpXNTFRMjkxYm5RZ0t5QXhJSDA3SUgwZ0tUdGNjbHh1WEhKY2JseDBYSFJoWTNScGRtVk5aVzUxTG05dVJYWmxiblFvSUNnZ1pYWmxiblE2SUUxbGJuVkZkbVZ1ZENBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSE4zYVhSamFDZ2daWFpsYm5RdWRIbHdaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmpZWE5sSUUxbGJuVkZkbVZ1ZEZSNWNHVXVRV04wYVhaaGRHVTZYSEpjYmx4MFhIUmNkRngwWEhSMGFHbHpMbkJ5YjNCekxtOXVVMlZzWldOMFB5NG9LVHRjY2x4dVhIUmNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxUV1Z1ZFM1dmJrVnVaR1ZrS0NBb0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxuTmxkRk4wWVhSbEtDQW9JSEJ5WlhaVGRHRjBaU0FwSUQwK0lIc2djbVYwZFhKdUlIc2diV1Z1ZFVOdmRXNTBPaUJ3Y21WMlUzUmhkR1V1YldWdWRVTnZkVzUwSUMwZ01TQjlPeUI5SUNrN1hISmNibHgwWEhSOUtWeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ2MyTmhiR1VnUFNBb0lIUm9hWE11YzNSaGRHVXViV1Z1ZFVOdmRXNTBJRDRnTUNBcElEOGdNUzR4SURvZ01TNHdPMXh5WEc1Y2RGeDBiR1YwSUhadmJIVnRaVG9nUVhaV2IyeDFiV1U3WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV3Y205d2N5NXlZV1JwZFhNZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjJiMngxYldVZ1BTQmNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSNWNHVTZJRVZXYjJ4MWJXVlVlWEJsTGxOd2FHVnlaU3hjY2x4dVhIUmNkRngwWEhSeVlXUnBkWE02SUhSb2FYTXVjSEp2Y0hNdWNtRmthWFZ6TEZ4eVhHNWNkRngwWEhSOU8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaU0JwWmlnZ2RHaHBjeTV3Y205d2N5NXRiMlJsYkZWeWFTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFp2YkhWdFpTQTlJRnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGRIbHdaVG9nUlZadmJIVnRaVlI1Y0dVdVRXOWtaV3hDYjNnc1hISmNibHgwWEhSY2RGeDBkWEpwT2lCMGFHbHpMbkJ5YjNCekxtMXZaR1ZzVlhKcExGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUE4UGx4eVhHNWNkRngwWEhROFFYWlVjbUZ1YzJadmNtMGdkVzVwWm05eWJWTmpZV3hsUFhzZ2MyTmhiR1VnZlQ1Y2NseHVYSFJjZEZ4MFhIUjdJSFJvYVhNdWNISnZjSE11Ylc5a1pXeFZjbWtnSmlZZ1BFRjJUVzlrWld3Z2RYSnBQWHNnZEdocGN5NXdjbTl3Y3k1dGIyUmxiRlZ5YVNCOUlGeHlYRzVjZEZ4MFhIUmNkRngwWTI5c2IzSTlleUIwYUdsekxuQnliM0J6TG1OdmJHOXlJSDB2UGlCOVhISmNibHgwWEhSY2RGeDBleUIwYUdsekxuQnliM0J6TG1Ob2FXeGtjbVZ1SUgxY2NseHVYSFJjZEZ4MFBDOUJkbFJ5WVc1elptOXliVDVjY2x4dVhIUmNkRngwUEVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUhadmJIVnRaVDE3SUhadmJIVnRaU0I5SUhCeWFXOXlhWFI1UFhzZ01qQWdmVnh5WEc1Y2RGeDBYSFJjZEhKbFkyVnBkbVZ6UFhzZ1d5QjdJR2xtWVdObE9pQnJYMDFsYm5WSmJuUmxjbVpoWTJVc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrMWxiblVnZlNCZElIMHZQbHh5WEc1Y2RGeDBQQzgrTzF4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfbWVudV9pdGVtLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19tb2RlbC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2TW9kZWwgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2TW9kZWxcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2TW9kZWw7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGNvbG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBjb2xvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvY29sb3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgY29sb3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihjb2xvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcblxcclxcbi8qKiBDYXVzZXMgYSBHTFRGIG1vZGVsIHRvIGJlIGRyYXduIGF0IHRoZSBzcGVjaWZpZWQgbG9jYXRpb24gaW4gdGhlIHRyYW5zZm9ybSBoaWVyYXJjaHkuICovXFxyXFxuY2xhc3MgQXZNb2RlbCBleHRlbmRzIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiQXZCYXNlTm9kZVxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcXHJcXG4gICAgICAgIHN1cGVyKHByb3BzKTtcXHJcXG4gICAgICAgIHRoaXMubV9zaGFyZWRUZXh0dXJlSW5mbyA9IG51bGw7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy51c2VCcm93c2VyVGV4dHVyZSkge1xcclxcbiAgICAgICAgICAgIE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZcXFwiXSkoKS5zdWJzY3JpYmVUb0Jyb3dzZXJUZXh0dXJlKHRoaXMub25VcGRhdGVCcm93c2VyVGV4dHVyZSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25VcGRhdGVCcm93c2VyVGV4dHVyZShpbmZvKSB7XFxyXFxuICAgICAgICB0aGlzLm1fc2hhcmVkVGV4dHVyZUluZm8gPSBpbmZvO1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkubWFya0RpcnR5KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgYnVpbGROb2RlKCkge1xcclxcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGVPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5Nb2RlbCwgdGhpcy5tX25vZGVJZCk7XFxyXFxuICAgICAgICBub2RlLnByb3BNb2RlbFVyaSA9IHRoaXMucHJvcHMudXJpO1xcclxcbiAgICAgICAgbm9kZS5wcm9wU2NhbGVUb0ZpdCA9IHRoaXMucHJvcHMuc2NhbGVUb0ZpdDtcXHJcXG4gICAgICAgIG5vZGUucHJvcE92ZXJsYXlPbmx5ID0gdGhpcy5wcm9wcy5vdmVybGF5T25seTtcXHJcXG4gICAgICAgIG5vZGUucHJvcEFuaW1hdGlvblNvdXJjZSA9IHRoaXMucHJvcHMuYW5pbWF0aW9uU291cmNlO1xcclxcbiAgICAgICAgbGV0IGNvbG9yO1xcclxcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLmNvbG9yID09PSBcXFwic3RyaW5nXFxcIikge1xcclxcbiAgICAgICAgICAgIGxldCB0bXBDb2xvciA9IGNvbG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18odGhpcy5wcm9wcy5jb2xvcik7XFxyXFxuICAgICAgICAgICAgY29sb3IgPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICByOiB0bXBDb2xvci5yZWQoKSAvIDI1NSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGc6IHRtcENvbG9yLmdyZWVuKCkgLyAyNTUsXFxyXFxuICAgICAgICAgICAgICAgICAgICBiOiB0bXBDb2xvci5ibHVlKCkgLyAyNTUsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBjb2xvciA9IHRoaXMucHJvcHMuY29sb3I7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBub2RlLnByb3BDb2xvciA9IGNvbG9yO1xcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudXNlQnJvd3NlclRleHR1cmUpIHtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5tX3NoYXJlZFRleHR1cmVJbmZvKSB7XFxyXFxuICAgICAgICAgICAgICAgIG5vZGUucHJvcFNoYXJlZFRleHR1cmUgPSB0aGlzLm1fc2hhcmVkVGV4dHVyZUluZm87XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICAvLyB3ZSBkb24ndCBoYXZlIG91ciBzaGFyZWQgdGV4dHVyZSBpbmZvIHlldC4gRG9uJ3Qgc2hvdyB0aGUgbW9kZWwgdW50aWxcXHJcXG4gICAgICAgICAgICAgICAgLy8gaXQgYXJyaXZlc1xcclxcbiAgICAgICAgICAgICAgICBub2RlLmZsYWdzICY9IH5fYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiRU5vZGVGbGFnc1xcXCJdLlZpc2libGU7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGhpcy5wcm9wcy51c2VUZXh0dXJlRnJvbVVybCkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFNoYXJlZFRleHR1cmUgPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiRVRleHR1cmVUeXBlXFxcIl0uVGV4dHVyZVVybCwgZm9ybWF0OiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiRVRleHR1cmVGb3JtYXRcXFwiXS5SOEc4QjhBOCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5wcm9wcy51c2VUZXh0dXJlRnJvbVVybCxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMuc2hhcmVkVGV4dHVyZSkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFNoYXJlZFRleHR1cmUgPSB0aGlzLnByb3BzLnNoYXJlZFRleHR1cmU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZNb2RlbC5wcm90b3R5cGUsIFxcXCJvblVwZGF0ZUJyb3dzZXJUZXh0dXJlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl0YjJSbGJDNTBjM2cvWkdGak9DSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN096czdRVUZCYTBNN1FVRkRTRHRCUVVOdlF6dEJRVU0wUlR0QlFVTnNSenRCUVN0RU4wTXNORVpCUVRSR08wRkJRM0pHTEUxQlFVMHNUMEZCVVN4VFFVRlJMRGhFUVVFNFFqdEpRVWt4UkN4WlFVRmhMRXRCUVZVN1VVRkZkRUlzUzBGQlN5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMUZCU2xJc2QwSkJRVzFDTEVkQlFYZENMRWxCUVVrc1EwRkJRenRSUVUxMlJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVWQlEyaERPMWxCUTBNc2MwVkJRVVVzUlVGQlJTeERRVUZETEhsQ1FVRjVRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1EwRkJSU3hEUVVGRE8xTkJRemxFTzBsQlEwWXNRMEZCUXp0SlFVZFBMSE5DUVVGelFpeERRVUZGTEVsQlFYbENPMUZCUlhoRUxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGFFTXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTnFReXhEUVVGRE8wbEJSVTBzVTBGQlV6dFJRVVZtTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUlN4elJVRkJWU3hEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVNN1VVRkZjRVVzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF6dFJRVU51UXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRPMUZCUXpWRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRE9VTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1pVRkJaU3hEUVVGRE8xRkJSWFJFTEVsQlFVa3NTMEZCWXl4RFFVRkRPMUZCUTI1Q0xFbEJRVWtzVDBGQlR5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1MwRkJTeXhSUVVGUkxFVkJRM2hETzFsQlEwTXNTVUZCU1N4UlFVRlJMRWRCUVVjc2EwTkJRVXNzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJSU3hEUVVGRE8xbEJRM3BETEV0QlFVczdaMEpCUTB3N2IwSkJRME1zUTBGQlF5eEZRVUZGTEZGQlFWRXNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhIUVVGSE8yOUNRVU4yUWl4RFFVRkRMRVZCUVVVc1VVRkJVU3hEUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVkQlFVYzdiMEpCUTNwQ0xFTkJRVU1zUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRWRCUVVjc1IwRkJSenRwUWtGRGVFSXNRMEZCUXp0VFFVTkdPMkZCUlVRN1dVRkRReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxPMU5CUTNoQ08xRkJRMFFzU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkZka0lzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeEZRVU5vUXp0WlFVTkRMRWxCUVVrc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RlFVTTFRanRuUWtGRFF5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFZEJRVWNzU1VGQlNTeERRVUZETEcxQ1FVRnRRaXhEUVVGRE8yRkJRMnhFTzJsQ1FVVkVPMmRDUVVORExIZEZRVUYzUlR0blFrRkRlRVVzWVVGQllUdG5Ra0ZEWWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zYzBWQlFWVXNRMEZCUXl4UFFVRlBMRU5CUVVNN1lVRkRiRU03VTBGRFJEdGhRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhwUWtGQmFVSXNSVUZEY2tNN1dVRkRReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENPMmRDUVVOMFFqdHZRa0ZEUXl4SlFVRkpMRVZCUVVVc2QwVkJRVmtzUTBGQlF5eFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMREJGUVVGakxFTkJRVU1zVVVGQlVUdHZRa0ZET1VRc1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNhVUpCUVdsQ08ybENRVU5xUXl4RFFVRkRPMU5CUTBZN1lVRkRTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4RlFVTnFRenRaUVVORExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdGQlFXRXNRMEZCUXp0VFFVTnNSRHRSUVVWRUxFOUJRVThzU1VGQlNTeERRVUZETzBsQlEySXNRMEZCUXp0RFFVTkVPMEZCTlVSQk8wbEJSRU1zY1VSQlFVazdjVVJCUzBvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmYlc5a1pXd3VkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElHSnBibVFnWm5KdmJTQW5ZbWx1WkMxa1pXTnZjbUYwYjNJbk8xeHlYRzVwYlhCdmNuUWdLaUJoY3lCRGIyeHZjaUJtY205dElDZGpiMnh2Y2ljN1hISmNibWx0Y0c5eWRDQjdJRUYyUW1GelpVNXZaR1VzSUVGMlFtRnpaVTV2WkdWUWNtOXdjeUI5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWW1GelpWOXViMlJsSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpPYjJSbFZIbHdaU3dnUVhaRGIyeHZjaXdnUVhaV1pXTjBiM0lzSUVGMlUyaGhjbVZrVkdWNGRIVnlaVWx1Wm04c0lFRjJMQ0JGVG05a1pVWnNZV2R6TENCRlZHVjRkSFZ5WlZSNWNHVXNJRVZVWlhoMGRYSmxSbTl5YldGMElIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRrMXZaR1ZzZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVFc5a1pXeFFjbTl3Y3lCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdWUWNtOXdjMXh5WEc1N1hISmNibHgwTHlvcUlGUm9aU0JWVWtrZ2IyWWdkR2hsSUVkTVZFWWdiVzlrWld3Z2RHOGdkWE5sSUdadmNpQjBhR2x6SUcxdlpHVnNMaUFxTDF4eVhHNWNkSFZ5YVRvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdOdmJHOXlJSFJwYm5RZ2RHOGdZWEJ3YkhrZ2RHOGdkR2hwY3lCdGIyUmxiQ0IzYUdWdUlHbDBJR2x6WEhKY2JseDBJQ29nWkdsemNHeGhlV1ZrTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUc1dklIUnBiblJjY2x4dVhIUWdLaTljY2x4dVhIUmpiMnh2Y2o4NklFRjJRMjlzYjNJZ2ZDQnpkSEpwYm1jN1hISmNibHh5WEc1Y2RDOHFLaUJQYm14NUlIUm9aU0J3WVhKMGN5QnZaaUIwYUdVZ2JXOWtaV3dnZEdoaGRDQmhjbVVnWENKdmJpQjBiM0JjSWlCdlppQmhibTkwYUdWeVhISmNibHgwSUNvZ1FXRnlaSFpoY21zdGNtVnVaR1Z5WldRZ2NHbDRaV3dnYzJodmRXeGtJR0psSUdSeVlYZHVMaUJVYUdseklHTmhiaUJpWlNCMWMyVmtJRnh5WEc1Y2RDQXFJSFJ2SUdSeVlYY2dRV0Z5WkhaaGNtc2djbVZ3YkdGalpXMWxiblJ6SUdadmNpQjBhR2x1WjNNZ2RHaGhkQ0J2ZEdobGNpQmNjbHh1WEhRZ0tpQkJZWEprZG1GeWF5MWtjbUYzYmlCblpXOXRaWFJ5ZVNCdFlYa2dZbVVnYUdsa2FXNW5MQ0J6ZFdOb0lHRnpJR2hoYm1RZ2JXOWtaV3h6TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUdaaGJITmxYSEpjYmx4MElDb3ZYSEpjYmx4MGIzWmxjbXhoZVU5dWJIay9PaUJpYjI5c1pXRnVPMXh5WEc1Y2NseHVYSFF2S2lvZ1VHRjBhQ0J2WmlCMGFHVWdjbVZ6YjNWeVkyVWdkRzhnZFhObElHRnpJSFJvWlNCemIzVnlZMlVnWm05eUlHRnVhVzFoZEdsdmJuTWdhVzVjY2x4dVhIUWdLaUIwYUdseklHMXZaR1ZzTGlCQmRDQjBhR1VnYlc5dFpXNTBJRzl1YkhrZ0wzVnpaWEl2YUdGdVpDOXNaV1owSUdGdVpDQXZkWE5sY2k5b1lXNWtMM0pwWjJoMFhISmNibHgwSUNvZ1lYSmxJSE4xY0hCdmNuUmxaQ0JtYjNJZ2JHVm1kQ0JoYm1RZ2NtbG5hSFFnYUdGdVpDQnphMlZzWlhSdmJpQnBiWEIxZEhNdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2JtOXVaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RHRnVhVzFoZEdsdmJsTnZkWEpqWlQ4NklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MEx5b3FJRU5oZFhObGN5QjBhR1VnYlc5a1pXd2dkRzhnWW1VZ2RXNXBabTl5Yld4NUlITmpZV3hsWkNCMWNDQnZjaUJrYjNkdUlITnZYSEpjYmx4MElDb2dkR2hoZENCcGRITWdZbTkxYm1ScGJtY2dZbTk0SUhSdmRXTm9aWE1nWVhRZ2JHVmhjM1FnYjI1bElHOW1JSFJvWlNBdGVDd2dLM2dzWEhKY2JseDBJQ29nTFhrc0lDdDVMQ0F0ZWl3Z2IzSWdLM29nY0d4aGJtVnpMaUJCYm5rZ1lYaHBjeUIwYUdGMElHbHpJREFnYjNJZ2RXNXpjR1ZqYVdacFpXUmNjbHh1WEhRZ0tpQjNhV3hzSUc1dmRDQmlaU0JqYjI1emFXUmxjbVZrSUhkb1pXNGdZMjl0Y0hWMGFXNW5JSFJvWlNCelkyRnNaU0JtYjNJZ2RHaGxJRzF2WkdWc0xseHlYRzVjZENBcUlGeHlYRzVjZENBcUlGUm9hWE1nYzJOaGJHbHVaeUJvWVhCd1pXNXpJR2x1YzJsa1pTQmhibmtnZEhKaGJuTm1iM0p0Y3lCdmJpQndZWEpsYm5RZ2JtOWtaWE11WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnVG04Z2MyTmhiR2x1WjF4eVhHNWNkQ0FxTDF4eVhHNWNkSE5qWVd4bFZHOUdhWFEvT2lCQmRsWmxZM1J2Y2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJsYkd4eklFRmhjbVIyWVhKcklIUnZJSFZ6WlNCMGFHVWdkR1Y0ZEhWeVpTQnZaaUIwYUdseklHZGhaR2RsZENkeklHSnliM2R6WlhJZ2RHOGdYSEpjYmx4MElDb2djbVZ3YkdGalpTQjBhR1VnZEdWNGRIVnlaU0J6ZFhCd2JHbGxaQ0JpZVNCMGFHVWdiVzlrWld3Z2FYUnpaV3htTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUdaaGJITmxYSEpjYmx4MElDb3ZYSEpjYmx4MGRYTmxRbkp2ZDNObGNsUmxlSFIxY21VL09pQmliMjlzWldGdU8xeHlYRzVjY2x4dVhIUXZLaW9nVkdWc2JITWdRV0Z5WkhaaGNtc2dkRzhnZFhObElIUm9aU0IwWlhoMGRYSmxJR0YwSUhSb1pTQnpjR1ZqYVdacFpXUWdWVkpNSUhSdklHOTJaWEp5YVdSbElIUm9aVnh5WEc1Y2RDQXFJSFJsZUhSMWNtVWdZbUZyWldRZ2FXNTBieUIwYUdVZ2JXOWtaV3d1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENBcUwxeHlYRzVjZEhWelpWUmxlSFIxY21WR2NtOXRWWEpzUHpvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhRdktpb2dWR1ZzYkhNZ1FXRnlaSFpoY21zZ2RHOGdkWE5sSUhSb2FYTWdkR1Y0ZEhWeVpTQjBieUJ5WlhCc1lXTmxJSFJvWlNCMFpYaDBkWEpsWEhKY2JseDBJQ29nYzNWd2NHeHBaV1FnWW5rZ2RHaGxJRzF2WkdWc0lHbDBjMlZzWmx4eVhHNWNkQ0FxTDF4eVhHNWNkSE5vWVhKbFpGUmxlSFIxY21VL09pQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZPMXh5WEc1OVhISmNibHh5WEc0dktpb2dRMkYxYzJWeklHRWdSMHhVUmlCdGIyUmxiQ0IwYnlCaVpTQmtjbUYzYmlCaGRDQjBhR1VnYzNCbFkybG1hV1ZrSUd4dlkyRjBhVzl1SUdsdUlIUm9aU0IwY21GdWMyWnZjbTBnYUdsbGNtRnlZMmg1TGlBcUwxeHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWk5iMlJsYkNCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJUVzlrWld4UWNtOXdjeXdnZTMwZ1BseHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRYM05vWVhKbFpGUmxlSFIxY21WSmJtWnZPaUJCZGxOb1lYSmxaRlJsZUhSMWNtVkpibVp2SUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwWTI5dWMzUnlkV04wYjNJb0lIQnliM0J6T2lCaGJua2dLVnh5WEc1Y2RIdGNjbHh1WEhSY2RITjFjR1Z5S0NCd2NtOXdjeUFwTzF4eVhHNWNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG5WelpVSnliM2R6WlhKVVpYaDBkWEpsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFFYWW9LUzV6ZFdKelkzSnBZbVZVYjBKeWIzZHpaWEpVWlhoMGRYSmxLQ0IwYUdsekxtOXVWWEJrWVhSbFFuSnZkM05sY2xSbGVIUjFjbVVnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtJRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNVZjR1JoZEdWQ2NtOTNjMlZ5VkdWNGRIVnlaU2dnYVc1bWJ6b2dRWFpUYUdGeVpXUlVaWGgwZFhKbFNXNW1ieUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1dFgzTm9ZWEpsWkZSbGVIUjFjbVZKYm1adklEMGdhVzVtYnp0Y2NseHVYSFJjZEVGMlIyRmtaMlYwTG1sdWMzUmhibU5sS0NrdWJXRnlhMFJwY25SNUtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1luVnBiR1JPYjJSbEtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdibTlrWlNBOUlIUm9hWE11WTNKbFlYUmxUbTlrWlU5aWFtVmpkQ2dnUVhaT2IyUmxWSGx3WlM1TmIyUmxiQ3dnZEdocGN5NXRYMjV2WkdWSlpDQXBPMXh5WEc1Y2RGeDBYSEpjYmx4MFhIUnViMlJsTG5CeWIzQk5iMlJsYkZWeWFTQTlJSFJvYVhNdWNISnZjSE11ZFhKcE8xeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1UyTmhiR1ZVYjBacGRDQTlJSFJvYVhNdWNISnZjSE11YzJOaGJHVlViMFpwZER0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0U5MlpYSnNZWGxQYm14NUlEMGdkR2hwY3k1d2NtOXdjeTV2ZG1WeWJHRjVUMjVzZVR0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VGdWFXMWhkR2x2YmxOdmRYSmpaU0E5SUhSb2FYTXVjSEp2Y0hNdVlXNXBiV0YwYVc5dVUyOTFjbU5sTzF4eVhHNWNkRngwWEhKY2JseDBYSFJzWlhRZ1kyOXNiM0k2SUVGMlEyOXNiM0k3WEhKY2JseDBYSFJwWmlnZ2RIbHdaVzltSUhSb2FYTXVjSEp2Y0hNdVkyOXNiM0lnUFQwOUlGd2ljM1J5YVc1blhDSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2RHMXdRMjlzYjNJZ1BTQkRiMnh2Y2lnZ2RHaHBjeTV3Y205d2N5NWpiMnh2Y2lBcE8xeHlYRzVjZEZ4MFhIUmpiMnh2Y2lBOUlGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwY2pvZ2RHMXdRMjlzYjNJdWNtVmtLQ2tnTHlBeU5UVXNYSEpjYmx4MFhIUmNkRngwWnpvZ2RHMXdRMjlzYjNJdVozSmxaVzRvS1NBdklESTFOU3hjY2x4dVhIUmNkRngwWEhSaU9pQjBiWEJEYjJ4dmNpNWliSFZsS0NrZ0x5QXlOVFVzWEhKY2JseDBYSFJjZEgwN1hISmNibHgwWEhSOVhISmNibHgwWEhSbGJITmxYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ykc5eUlEMGdkR2hwY3k1d2NtOXdjeTVqYjJ4dmNseHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGJtOWtaUzV3Y205d1EyOXNiM0lnUFNCamIyeHZjanRjY2x4dVhISmNibHgwWEhScFppZ2dkR2hwY3k1d2NtOXdjeTUxYzJWQ2NtOTNjMlZ5VkdWNGRIVnlaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQjBhR2x6TG0xZmMyaGhjbVZrVkdWNGRIVnlaVWx1Wm04Z0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwYm05a1pTNXdjbTl3VTJoaGNtVmtWR1Y0ZEhWeVpTQTlJSFJvYVhNdWJWOXphR0Z5WldSVVpYaDBkWEpsU1c1bWJ6dGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFF2THlCM1pTQmtiMjRuZENCb1lYWmxJRzkxY2lCemFHRnlaV1FnZEdWNGRIVnlaU0JwYm1adklIbGxkQzRnUkc5dUozUWdjMmh2ZHlCMGFHVWdiVzlrWld3Z2RXNTBhV3hjY2x4dVhIUmNkRngwWEhRdkx5QnBkQ0JoY25KcGRtVnpYSEpjYmx4MFhIUmNkRngwYm05a1pTNW1iR0ZuY3lBbVBTQitSVTV2WkdWR2JHRm5jeTVXYVhOcFlteGxPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObElHbG1LQ0IwYUdsekxuQnliM0J6TG5WelpWUmxlSFIxY21WR2NtOXRWWEpzSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJtOWtaUzV3Y205d1UyaGhjbVZrVkdWNGRIVnlaU0E5WEhKY2JseDBYSFJjZEhzZ1hISmNibHgwWEhSY2RGeDBkSGx3WlRvZ1JWUmxlSFIxY21WVWVYQmxMbFJsZUhSMWNtVlZjbXdzSUdadmNtMWhkRG9nUlZSbGVIUjFjbVZHYjNKdFlYUXVVamhIT0VJNFFUZ3NYSEpjYmx4MFhIUmNkRngwZFhKc09pQjBhR2x6TG5CeWIzQnpMblZ6WlZSbGVIUjFjbVZHY205dFZYSnNMRnh5WEc1Y2RGeDBYSFI5TzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpTQnBaaWdnZEdocGN5NXdjbTl3Y3k1emFHRnlaV1JVWlhoMGRYSmxJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYm05a1pTNXdjbTl3VTJoaGNtVmtWR1Y0ZEhWeVpTQTlJSFJvYVhNdWNISnZjSE11YzJoaGNtVmtWR1Y0ZEhWeVpUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJ5WlhSMWNtNGdibTlrWlR0Y2NseHVYSFI5WEhKY2JuMGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19tb2RlbF90cmFuc2Zvcm0udHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfbW9kZWxfdHJhbnNmb3JtLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2TW9kZWxUcmFuc2Zvcm0gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2TW9kZWxUcmFuc2Zvcm1cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2TW9kZWxUcmFuc2Zvcm07IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Jhc2Vfbm9kZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuXFxyXFxuXFxyXFxuLyoqIENhdXNlcyBhIGxpbmUgdG8gYXBwZWFyIGZyb20gdGhlIHRyYW5zZm9ybSBvZiB0aGlzIG5vZGUncyBwYXJlbnQgdG8gdGhlXFxyXFxuICogc3BlY2lmaWVkIGVuZCBwb2ludC4gKi9cXHJcXG5jbGFzcyBBdk1vZGVsVHJhbnNmb3JtIGV4dGVuZHMgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdkJhc2VOb2RlXFxcIl0ge1xcclxcbiAgICBidWlsZE5vZGUoKSB7XFxyXFxuICAgICAgICBsZXQgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZOb2RlVHlwZVxcXCJdLk1vZGVsVHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIG5vZGUucHJvcE1vZGVsVXJpID0gdGhpcy5wcm9wcy5tb2RlbFVyaTtcXHJcXG4gICAgICAgIG5vZGUucHJvcE1vZGVsTm9kZUlkID0gdGhpcy5wcm9wcy5tb2RlbE5vZGVJZDtcXHJcXG4gICAgICAgIHJldHVybiBub2RlO1xcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5dGIyUmxiRjkwY21GdWMyWnZjbTB1ZEhONFB6UTNNbVFpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZ0UlR0QlFVTldPMEZCWlhwRU96QkNRVU13UWp0QlFVTnVRaXhOUVVGTkxHZENRVUZwUWl4VFFVRlJMRGhFUVVGMVF6dEpRVVZ5UlN4VFFVRlRPMUZCUldZc1NVRkJTU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRkxITkZRVUZWTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVU0zUlN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVRkRPMUZCUTNoRExFbEJRVWtzUTBGQlF5eGxRVUZsTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRE9VTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRZaXhEUVVGRE8wTkJRMFFpTENKbWFXeGxJam9pTGk5emNtTXZZV0Z5WkhaaGNtdGZiVzlrWld4ZmRISmhibk5tYjNKdExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN0lFRjJRbUZ6WlU1dlpHVXNJRUYyUW1GelpVNXZaR1ZRY205d2N5QjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZbUZ6WlY5dWIyUmxKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk9iMlJsVkhsd1pTQjlJR1p5YjIwZ0owQmhZWEprZG1GeWEzaHlMMkZoY21SMllYSnJMWE5vWVhKbFpDYzdYSEpjYmx4eVhHNHZLaW9nVUhKdmNITWdabTl5SUh0QWJHbHVheUJCZGxCaGNtVnVkRlJ5WVc1elptOXliWDBnS2k5Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkazF2WkdWc1ZISmhibk5tYjNKdFVISnZjSE1nWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVWFHVWdWVkpNSUc5bUlIUm9aU0J0YjJSbGJDQjBieUJzYjJGa0lIUnZJR1pwWjNWeVpTQnZkWFFnWVNCMGNtRnVjMlp2Y20wZ1puSnZiUzRnS2k5Y2NseHVYSFJ0YjJSbGJGVnlhVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJRWxFSUc5bUlIUm9aU0J1YjJSbElHbHVJSFJvWlNCdGIyUmxiQ0IzYUc5elpTQjBjbUZ1YzJadmNtMGdjMmh2ZFd4a0lHSmxJR0Z3Y0d4cFpXUWdkRzhnWVd4c0lGeHlYRzVjZENBcUlHTm9hV3hrY21WdUlHOW1JSFJvYVhNZ2JtOWtaUzVjY2x4dVhIUWdLaTljY2x4dVhIUnRiMlJsYkU1dlpHVkpaRG9nYzNSeWFXNW5PMXh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVOaGRYTmxjeUJoSUd4cGJtVWdkRzhnWVhCd1pXRnlJR1p5YjIwZ2RHaGxJSFJ5WVc1elptOXliU0J2WmlCMGFHbHpJRzV2WkdVbmN5QndZWEpsYm5RZ2RHOGdkR2hsSUZ4eVhHNGdLaUJ6Y0dWamFXWnBaV1FnWlc1a0lIQnZhVzUwTGlBcUwxeHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWk5iMlJsYkZSeVlXNXpabTl5YlNCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJUVzlrWld4VWNtRnVjMlp2Y20xUWNtOXdjeXdnZTMwZ1BseHlYRzU3WEhKY2JseDBjSFZpYkdsaklHSjFhV3hrVG05a1pTZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJRzV2WkdVZ1BTQjBhR2x6TG1OeVpXRjBaVTV2WkdWUFltcGxZM1FvSUVGMlRtOWtaVlI1Y0dVdVRXOWtaV3hVY21GdWMyWnZjbTBzSUhSb2FYTXViVjl1YjJSbFNXUWdLVHRjY2x4dVhIUmNkRzV2WkdVdWNISnZjRTF2WkdWc1ZYSnBJRDBnZEdocGN5NXdjbTl3Y3k1dGIyUmxiRlZ5YVR0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0UxdlpHVnNUbTlrWlVsa0lEMGdkR2hwY3k1d2NtOXdjeTV0YjJSbGJFNXZaR1ZKWkR0Y2NseHVYSFJjZEhKbGRIVnliaUJ1YjJSbE8xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX21vZGVsX3RyYW5zZm9ybS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX29yaWdpbi50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19vcmlnaW4udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZPcmlnaW4gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2T3JpZ2luXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdk9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG5cXHJcXG5cXHJcXG4vKiogUmVwYXJlbnRzIHRoZSByb290IHRyYW5zZm9ybXMgb2YgaXRzIGNoaWxkcmVuIHRvIHRoZSBzcGVjaWZpZWQgcGF0aC4gKi9cXHJcXG5jbGFzcyBBdk9yaWdpbiBleHRlbmRzIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiQXZCYXNlTm9kZVxcXCJdIHtcXHJcXG4gICAgYnVpbGROb2RlKCkge1xcclxcbiAgICAgICAgbGV0IG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGVPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkF2Tm9kZVR5cGVcXFwiXS5PcmlnaW4sIHRoaXMubV9ub2RlSWQpO1xcclxcbiAgICAgICAgbm9kZS5wcm9wT3JpZ2luID0gdGhpcy5wcm9wcy5wYXRoO1xcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl2Y21sbmFXNHVkSE40UDJVM04ySWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRnRSVHRCUVVOV08wRkJaWHBFTERKRlFVRXlSVHRCUVVOd1JTeE5RVUZOTEZGQlFWTXNVMEZCVVN3NFJFRkJLMEk3U1VGRmNrUXNVMEZCVXp0UlFVVm1MRWxCUVVrc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJSU3h6UlVGQlZTeERRVUZETEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRVU03VVVGRGNrVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTnNReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5pTEVOQlFVTTdRMEZEUkNJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTl2Y21sbmFXNHVkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRWFpDWVhObFRtOWtaU3dnUVhaQ1lYTmxUbTlrWlZCeWIzQnpJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlpWVhObFgyNXZaR1VuTzF4eVhHNXBiWEJ2Y25RZ2V5QkJkazV2WkdWVWVYQmxJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dVhISmNiaThxS2lCUWNtOXdjeUJtYjNJZ2UwQnNhVzVySUVGMlQzSnBaMmx1ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVDNKcFoybHVVSEp2Y0hNZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR1VnY0dGMGFDQjBieUJ5WlhCaGNtVnVkQ0JoYm5rZ1kyaHBiR1J5Wlc0Z2RHOHVJRnh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRkpsWVhOdmJtRmliR1VnZG1Gc2RXVnpJR0Z5WlRwY2NseHVYSFFnS2lBcUlDOTFjMlZ5TDJobFlXUmNjbHh1WEhRZ0tpQXFJQzkxYzJWeUwyaGhibVF2Y21sbmFIUmNjbHh1WEhRZ0tpQXFJQzkxYzJWeUwyaGhibVF2YkdWbWRGeHlYRzVjZENBcUwxeHlYRzVjZEhCaGRHZzZJSE4wY21sdVp6dGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlGSmxjR0Z5Wlc1MGN5QjBhR1VnY205dmRDQjBjbUZ1YzJadmNtMXpJRzltSUdsMGN5QmphR2xzWkhKbGJpQjBieUIwYUdVZ2MzQmxZMmxtYVdWa0lIQmhkR2d1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRrOXlhV2RwYmlCbGVIUmxibVJ6SUVGMlFtRnpaVTV2WkdVOElFRjJUM0pwWjJsdVVISnZjSE1zSUh0OUlENWNjbHh1ZTF4eVhHNWNkSEIxWW14cFl5QmlkV2xzWkU1dlpHVW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0J1YjJSbElEMGdkR2hwY3k1amNtVmhkR1ZPYjJSbFQySnFaV04wS0NCQmRrNXZaR1ZVZVhCbExrOXlhV2RwYml3Z2RHaHBjeTV0WDI1dlpHVkpaQ0FwTzF4eVhHNWNkRngwYm05a1pTNXdjbTl3VDNKcFoybHVJRDBnZEdocGN5NXdjbTl3Y3k1d1lYUm9PMXh5WEc1Y2RGeDBjbVYwZFhKdUlHNXZaR1U3WEhKY2JseDBmVnh5WEc1OUlsMHNJbk52ZFhKalpWSnZiM1FpT2lJaWZRPT1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfb3JpZ2luLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfcGFuZWwudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19wYW5lbC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IFBhbmVsUmVxdWVzdFR5cGUsIEF2UGFuZWwgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlBhbmVsUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFBhbmVsUmVxdWVzdFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2UGFuZWxcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2UGFuZWw7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEB0bGF1a2thbi90c20gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0B0bGF1a2thbi90c20vZGlzdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19wcmltaXRpdmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcHJpbWl0aXZlICovIFxcXCIuL3NyYy9hYXJkdmFya19wcmltaXRpdmUudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuO1xcclxcbi8qKiBAaGlkZGVuICovXFxyXFxudmFyIFBhbmVsUmVxdWVzdFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChQYW5lbFJlcXVlc3RUeXBlKSB7XFxyXFxuICAgIFBhbmVsUmVxdWVzdFR5cGVbXFxcIkRvd25cXFwiXSA9IFxcXCJkb3duXFxcIjtcXHJcXG4gICAgUGFuZWxSZXF1ZXN0VHlwZVtcXFwiVXBcXFwiXSA9IFxcXCJ1cFxcXCI7XFxyXFxufSkoUGFuZWxSZXF1ZXN0VHlwZSB8fCAoUGFuZWxSZXF1ZXN0VHlwZSA9IHt9KSk7XFxyXFxuO1xcclxcbi8qKlxcclxcbiAqIEF2UGFuZWwgb3V0cHV0cyBhIDFtIHggMW0gcXVhZCB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUgY29udGFpbmluZyBicm93c2VyIGFzIGl0cyB0ZXh0dXJlLlxcclxcbiAqIFRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgcmVzdWx0aW5nIHF1YWQsIHVzZSBbQXZUcmFuc2Zvcm1dKCNhYXJkdmFya3RyYW5zZm9ybSkuXFxyXFxuICpcXHJcXG4gKiBAc2VlIFNlZSBbQXZQb2tlcl0oI2FhcmR2YXJrcG9rZXIpXFxyXFxuICovXFxyXFxuY2xhc3MgQXZQYW5lbCBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcXHJcXG4gICAgICAgIHN1cGVyKHByb3BzKTtcXHJcXG4gICAgICAgIHRoaXMubV9zaGFyZWRUZXh0dXJlSW5mbyA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aXZlUG9rZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgbW91c2VQb3NpdGlvbjogbnVsbCwgbW91c2VEaXN0YW5jZTogOTk5OSwgbW91c2VQcmVzc2VkOiBmYWxzZSB9O1xcclxcbiAgICAgICAgT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlxcXCJdKSgpLnN1YnNjcmliZVRvQnJvd3NlclRleHR1cmUodGhpcy5vblVwZGF0ZUJyb3dzZXJUZXh0dXJlKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZUJyb3dzZXJUZXh0dXJlKGluZm8pIHtcXHJcXG4gICAgICAgIHRoaXMubV9zaGFyZWRUZXh0dXJlSW5mbyA9IGluZm87XFxyXFxuICAgICAgICBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5tYXJrRGlydHkoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblBhbmVsKGFjdGl2ZVBva2VyKSB7XFxyXFxuICAgICAgICB0aGlzLmRlbGl2ZXJNb3VzZUV2ZW50KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uRW50ZXIsIGFjdGl2ZVBva2VyLnNlbGZJbnRlcnNlY3Rpb25Qb2ludCwgYWN0aXZlUG9rZXIucGVlcik7XFxyXFxuICAgICAgICB0aGlzLm1fYWN0aXZlUG9rZXIgPSBhY3RpdmVQb2tlcjtcXHJcXG4gICAgICAgIGFjdGl2ZVBva2VyLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgUGFuZWxSZXF1ZXN0VHlwZS5Eb3duOlxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyTW91c2VFdmVudChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiUGFuZWxNb3VzZUV2ZW50VHlwZVxcXCJdLkRvd24sIGFjdGl2ZVBva2VyLnNlbGZJbnRlcnNlY3Rpb25Qb2ludCwgYWN0aXZlUG9rZXIucGVlcik7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBQYW5lbFJlcXVlc3RUeXBlLlVwOlxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyTW91c2VFdmVudChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiUGFuZWxNb3VzZUV2ZW50VHlwZVxcXCJdLlVwLCBhY3RpdmVQb2tlci5zZWxmSW50ZXJzZWN0aW9uUG9pbnQsIGFjdGl2ZVBva2VyLnBlZXIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVQb2tlci5vblRyYW5zZm9ybVVwZGF0ZWQoKGVudGl0eUZyb21QZWVyKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5kZWxpdmVyTW91c2VFdmVudChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiUGFuZWxNb3VzZUV2ZW50VHlwZVxcXCJdLk1vdmUsIGFjdGl2ZVBva2VyLnNlbGZJbnRlcnNlY3Rpb25Qb2ludCwgYWN0aXZlUG9rZXIucGVlcik7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIGFjdGl2ZVBva2VyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlck1vdXNlRXZlbnQoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5MZWF2ZSwgYWN0aXZlUG9rZXIuc2VsZkludGVyc2VjdGlvblBvaW50LCBhY3RpdmVQb2tlci5wZWVyKTtcXHJcXG4gICAgICAgICAgICB0aGlzLm1fYWN0aXZlUG9rZXIgPSBudWxsO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iLCBfYztcXHJcXG4gICAgICAgIGNvbnN0IGtfY2xpY2tEaXN0ID0gMC4wMTtcXHJcXG4gICAgICAgIGNvbnN0IGtfcmVsZWFzZURpc3QgPSAwLjAyO1xcclxcbiAgICAgICAgbGV0IGRpc3QgPSAoX2EgPSB0aGlzLnN0YXRlLm1vdXNlRGlzdGFuY2UpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDk5OTk7XFxyXFxuICAgICAgICBpZiAoZGlzdCA8IGtfY2xpY2tEaXN0ICYmICF0aGlzLnN0YXRlLm1vdXNlUHJlc3NlZCkge1xcclxcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlck1vdXNlRXZlbnQoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5Eb3duLCBudWxsLCAoX2IgPSB0aGlzLm1fYWN0aXZlUG9rZXIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5wZWVyKTtcXHJcXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbW91c2VQcmVzc2VkOiB0cnVlIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAoZGlzdCA+IGtfcmVsZWFzZURpc3QgJiYgdGhpcy5zdGF0ZS5tb3VzZVByZXNzZWQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmRlbGl2ZXJNb3VzZUV2ZW50KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uVXAsIG51bGwsIChfYyA9IHRoaXMubV9hY3RpdmVQb2tlcikgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLnBlZXIpO1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtb3VzZVByZXNzZWQ6IGZhbHNlIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGRlbGl2ZXJNb3VzZUV2ZW50KGV2ZW50VHlwZSwgcGFuZWxGcm9tUG9rZXIsIHBva2VyRXBhKSB7XFxyXFxuICAgICAgICBsZXQgbW91c2VQb3NpdGlvbiA9IHRoaXMuc3RhdGUubW91c2VQb3NpdGlvbjtcXHJcXG4gICAgICAgIGlmIChldmVudFR5cGUgPT0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5MZWF2ZSkge1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtb3VzZVBvc2l0aW9uOiBudWxsIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAocGFuZWxGcm9tUG9rZXIpIHtcXHJcXG4gICAgICAgICAgICBtb3VzZVBvc2l0aW9uID0gbmV3IF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwidmVjMlxcXCJdKFtwYW5lbEZyb21Qb2tlci54LCBwYW5lbEZyb21Qb2tlci55XSk7XFxyXFxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IG1vdXNlUG9zaXRpb24sIG1vdXNlRGlzdGFuY2U6IHBhbmVsRnJvbVBva2VyLnogfSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgZXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogZXZlbnRUeXBlLFxcclxcbiAgICAgICAgICAgIHBva2VyRXBhLFxcclxcbiAgICAgICAgICAgIHg6IG1vdXNlUG9zaXRpb24ueCAvIHRoaXMud2lkdGggKyAwLjUsXFxyXFxuICAgICAgICAgICAgeTogMS4wIC0gKG1vdXNlUG9zaXRpb24ueSAvIHRoaXMuaGVpZ2h0ICsgMC41KSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICBpZiAoZXZlbnRUeXBlICE9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uTW92ZSkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBwYW5lbCBtb3VzZSBldmVudCAke19hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl1bZXZlbnRUeXBlXX0gJHtldmVudC54fSwgJHtldmVudC55fWApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY3VzdG9tTW91c2VIYW5kbGVyKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5jdXN0b21Nb3VzZUhhbmRsZXIoZXZlbnQpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5vbkRlZmF1bHRNb3VzZUV2ZW50KGV2ZW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBvbkRlZmF1bHRNb3VzZUV2ZW50KGV2ZW50KSB7XFxyXFxuICAgICAgICBsZXQgaGFwdGljQW1wbGl0dWRlID0gMDtcXHJcXG4gICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5FbnRlcjpcXHJcXG4gICAgICAgICAgICBjYXNlIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJQYW5lbE1vdXNlRXZlbnRUeXBlXFxcIl0uTGVhdmU6XFxyXFxuICAgICAgICAgICAgICAgIGhhcHRpY0FtcGxpdHVkZSA9IDAuMDU7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIlBhbmVsTW91c2VFdmVudFR5cGVcXFwiXS5Eb3duOlxcclxcbiAgICAgICAgICAgICAgICBoYXB0aWNBbXBsaXR1ZGUgPSAxO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmIChoYXB0aWNBbXBsaXR1ZGUgPiAwKSB7XFxyXFxuICAgICAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc2VuZEhhcHRpY0V2ZW50KGV2ZW50LnBva2VyRXBhLCBoYXB0aWNBbXBsaXR1ZGUsIDEsIDApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdlxcXCJdKSgpLnNwb29mTW91c2VFdmVudChldmVudC50eXBlLCBldmVudC54LCBldmVudC55KTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2lkdGgoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy53aWR0aEluTWV0ZXJzO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBoZWlnaHQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0ICogdGhpcy5wcm9wcy53aWR0aEluTWV0ZXJzIC8gd2luZG93LmlubmVyV2lkdGg7XFxyXFxuICAgIH1cXHJcXG4gICAgLyogQGhpZGRlbiAqL1xcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBsZXQgdm9sdW1lID0ge1xcclxcbiAgICAgICAgICAgIHR5cGU6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJFVm9sdW1lVHlwZVxcXCJdLkFBQkIsXFxyXFxuICAgICAgICAgICAgYWFiYjoge1xcclxcbiAgICAgICAgICAgICAgICB4TWluOiAtdGhpcy53aWR0aCAvIDIsIHhNYXg6IHRoaXMud2lkdGggLyAyLFxcclxcbiAgICAgICAgICAgICAgICB5TWluOiAtdGhpcy5oZWlnaHQgLyAyLCB5TWF4OiB0aGlzLmhlaWdodCAvIDIsXFxyXFxuICAgICAgICAgICAgICAgIHpNaW46IDAsIHpNYXg6IDAuMDAwMSxcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgLy8gV2UgdXNlIHR3byB2b2x1bWVzIGhlcmUsIHdpdGggdGhlIHRoaW4gb25lIGZpcnN0LCB0byBpbXByb3ZlIHRoZSBxdWFsaXR5IG9mIHRoZSBpbnRlcnNlY3Rpb24gcG9pbnQuXFxyXFxuICAgICAgICAvLyBSYXkgaW50ZXJzZWN0aW9ucyB3aWxsIGFsbW9zdCBhbHdheXMgaGl0IHRoZSB0aGluIHZvbHVtZSBpZiB0aGV5IHdvdWxkIGhhdmUgaGl0IHRoZSB0aGljayB2b2x1bWUsXFxyXFxuICAgICAgICAvLyBzbyB0aGV5IGdlbmVyYXRlIGFuIGludGVyc2VjdGlvbiBwb2ludCB0aGF0J3MgdmVyeSBjbG9zZSB0byB0aGUgc3VyZmFjZSBvZiB0aGUgcGFuZWwuIFNwaGVyZSBcXHJcXG4gICAgICAgIC8vIGludGVyc2VjdGlvbnMgKGxpa2UgdGhlIGdyYWJiZXJzIG9uIHRoZSBoYW5kcykgd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgdGhpY2tlciB2b2x1bWUgYSBmZXcgY20gYXdheVxcclxcbiAgICAgICAgLy8gZnJvbSB0aGUgcGFuZWwsIHdoaWNoIG1ha2VzIHRoZSBwYW5lbCBlYXNpZXIgdG8gdXNlLiBcXHJcXG4gICAgICAgIC8vIEluIGJvdGggY2FzZXMgdGhlIGludGVyc2VjdGlvbiBwb2ludCBpcyBwcm9qZWN0ZWQgZG93biB0byB0aGUgc3VyZmFjZSBvZiB0aGUgcGFuZWwuXFxyXFxuICAgICAgICBsZXQgdGhpY2tWb2x1bWUgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uQUFCQixcXHJcXG4gICAgICAgICAgICBhYWJiOiB7XFxyXFxuICAgICAgICAgICAgICAgIHhNaW46IC10aGlzLndpZHRoIC8gMiwgeE1heDogdGhpcy53aWR0aCAvIDIsXFxyXFxuICAgICAgICAgICAgICAgIHlNaW46IC10aGlzLmhlaWdodCAvIDIsIHlNYXg6IHRoaXMuaGVpZ2h0IC8gMixcXHJcXG4gICAgICAgICAgICAgICAgek1pbjogMCwgek1heDogMC4wMyxcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJGcmFnbWVudFxcXCJdLCBudWxsLFxcclxcbiAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgc2NhbGVYOiB0aGlzLndpZHRoLCBzY2FsZVk6IHRoaXMuaGVpZ2h0IH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgcm90YXRlWDogOTAgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfbW9kZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiQXZNb2RlbFxcXCJdLCB7IHVyaTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImdfYnVpbHRpbk1vZGVsUGFuZWxcXFwiXSwgdXNlQnJvd3NlclRleHR1cmU6IHRydWUgfSkpLFxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNoaWxkcmVuKSxcXHJcXG4gICAgICAgICAgICB0aGlzLnN0YXRlLm1vdXNlUG9zaXRpb24gJiZcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2xhdGVYOiB0aGlzLnN0YXRlLm1vdXNlUG9zaXRpb24ueCwgdHJhbnNsYXRlWTogdGhpcy5zdGF0ZS5tb3VzZVBvc2l0aW9uLnkgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfcHJpbWl0aXZlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIkF2UHJpbWl0aXZlXFxcIl0sIHsgdHlwZTogX2FhcmR2YXJrX3ByaW1pdGl2ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJQcmltaXRpdmVUeXBlXFxcIl0uU3BoZXJlLCByYWRpdXM6IDAuMDAyLCBjb2xvcjogXFxcInllbGxvd1xcXCIgfSkpLFxcclxcbiAgICAgICAgICAgIHRoaXMucHJvcHMuaW50ZXJhY3RpdmUgJiZcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdm9sdW1lOiBbdm9sdW1lLCB0aGlja1ZvbHVtZV0sIHByaW9yaXR5OiAxMCwgd2FudHNUcmFuc2Zvcm1zOiB0cnVlLCByZWNlaXZlczogW3sgaWZhY2U6IFxcXCJhYXJkdmFyay1wYW5lbEAyXFxcIiwgcHJvY2Vzc29yOiB0aGlzLm9uUGFuZWwgfV0gfSkpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBBdlBhbmVsLnByb3RvdHlwZSwgXFxcIm9uVXBkYXRlQnJvd3NlclRleHR1cmVcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZQYW5lbC5wcm90b3R5cGUsIFxcXCJvblBhbmVsXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl3WVc1bGJDNTBjM2cvTURrd05pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN096czdPenM3T3pzN1FVRkJjVTA3UVVGRE1VbzdRVUZEVkR0QlFVTklPMEZCUldNN1FVRkRiME03UVVGRGRFTTdRVUZEZFVJN1FVRkRaanRCUVZWc1JDeERRVUZETzBGQk1rSkdMR05CUVdNN1FVRkRaQ3hKUVVGWkxHZENRVWxZTzBGQlNrUXNWMEZCV1N4blFrRkJaMEk3U1VGRk0wSXNhVU5CUVdFN1NVRkRZaXcyUWtGQlV6dEJRVU5XTEVOQlFVTXNSVUZLVnl4blFrRkJaMElzUzBGQmFFSXNaMEpCUVdkQ0xGRkJTVE5DTzBGQlFVRXNRMEZCUXp0QlFXZENSanM3T3pzN1IwRkxSenRCUVVOSkxFMUJRVTBzVDBGQlVTeFRRVUZSTEN0RFFVRTJRenRKUVV0NlJTeFpRVUZoTEV0QlFWVTdVVUZGZEVJc1MwRkJTeXhEUVVGRkxFdEJRVXNzUTBGQlJTeERRVUZETzFGQlRGSXNkMEpCUVcxQ0xFZEJRWGRDTEVsQlFVa3NRMEZCUXp0UlFVTm9SQ3hyUWtGQllTeEhRVUZ2UWl4SlFVRkpMRU5CUVVNN1VVRk5OME1zU1VGQlNTeERRVUZETEV0QlFVc3NSMEZCUnl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFVkJRVVVzWVVGQllTeEZRVUZGTEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVU03VVVGRkwwVXNjMFZCUVVVc1JVRkJSU3hEUVVGRExIbENRVUY1UWl4RFFVRkZMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUlN4RFFVRkRPMGxCUXk5RUxFTkJRVU03U1VGSFR5eHpRa0ZCYzBJc1EwRkJSU3hKUVVGNVFqdFJRVVY0UkN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTJoRExIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRGFrTXNRMEZCUXp0SlFVZFBMRTlCUVU4c1EwRkJSU3hYUVVFMFFqdFJRVVUxUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVVXNLMFZCUVcxQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEZkQlFWY3NRMEZCUXl4eFFrRkJjVUlzUlVGQlJTeFhRVUZYTEVOQlFVTXNTVUZCU1N4RFFVRkZMRU5CUVVNN1VVRkRla2NzU1VGQlNTeERRVUZETEdGQlFXRXNSMEZCUnl4WFFVRlhMRU5CUVVNN1VVRkZha01zVjBGQlZ5eERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkZMRXRCUVcxQ0xFVkJRVWNzUlVGQlJUdFpRVVU1UXl4UlFVRlJMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRMnhDTzJkQ1FVTkRMRXRCUVVzc1owSkJRV2RDTEVOQlFVTXNTVUZCU1R0dlFrRkRla0lzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxDdEZRVUZ0UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hYUVVGWExFTkJRVU1zY1VKQlFYRkNMRVZCUTJ4R0xGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVVXNRMEZCUXp0dlFrRkRjRUlzVFVGQlRUdG5Ra0ZGVUN4TFFVRkxMR2RDUVVGblFpeERRVUZETEVWQlFVVTdiMEpCUTNaQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJSU3dyUlVGQmJVSXNRMEZCUXl4RlFVRkZMRVZCUVVVc1YwRkJWeXhEUVVGRExIRkNRVUZ4UWl4RlFVTm9SaXhYUVVGWExFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVTTdiMEpCUTNCQ0xFMUJRVTA3WVVGRFVEdFJRVU5HTEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUlVvc1YwRkJWeXhEUVVGRExHdENRVUZyUWl4RFFVRkZMRU5CUVVVc1kwRkJLMElzUlVGQlJ5eEZRVUZGTzFsQlJYSkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlN3clJVRkJiVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNWMEZCVnl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRSUVVONlJ5eERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVktMRmRCUVZjc1EwRkJReXhQUVVGUExFTkJRVVVzUjBGQlJ5eEZRVUZGTzFsQlJYcENMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlN3clJVRkJiVUlzUTBGQlF5eExRVUZMTEVWQlFVVXNWMEZCVnl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRaUVVONlJ5eEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVNelFpeERRVUZETEVOQlFVVXNRMEZCUXp0SlFVTk1MRU5CUVVNN1NVRkZSQ3hyUWtGQmEwSXNRMEZCUlN4VFFVRjFRaXhGUVVGRkxGTkJRWFZDT3p0UlFVVnVSU3hOUVVGTkxGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZWtJc1RVRkJUU3hoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6TkNMRWxCUVVrc1NVRkJTU3hUUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4dFEwRkJTU3hKUVVGSkxFTkJRVU03VVVGRE5VTXNTVUZCU1N4SlFVRkpMRWRCUVVjc1YwRkJWeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpMRVZCUTJ4RU8xbEJRME1zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxDdEZRVUZ0UWl4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxGRkJRVVVzU1VGQlNTeERRVUZETEdGQlFXRXNNRU5CUVVVc1NVRkJTU3hEUVVGRkxFTkJRVU03V1VGRGJrWXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxGbEJRVmtzUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUlN4RFFVRkRPMU5CUTNoRE8yRkJRMGtzU1VGQlNTeEpRVUZKTEVkQlFVY3NZVUZCWVN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zV1VGQldTeEZRVU40UkR0WlFVTkRMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUlN3clJVRkJiVUlzUTBGQlF5eEZRVUZGTEVWQlFVVXNTVUZCU1N4UlFVRkZMRWxCUVVrc1EwRkJReXhoUVVGaExEQkRRVUZGTEVsQlFVa3NRMEZCUlN4RFFVRkRPMWxCUTJwR0xFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhGUVVGRkxFTkJRVVVzUTBGQlF6dFRRVU42UXp0SlFVTkdMRU5CUVVNN1NVRkZUeXhwUWtGQmFVSXNRMEZCUlN4VFFVRTRRaXhGUVVGRkxHTkJRWGRDTEVWQlFVVXNVVUZCYzBJN1VVRkZNVWNzU1VGQlNTeGhRVUZoTEVkQlFWTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhoUVVGaExFTkJRVU03VVVGRGJrUXNTVUZCU1N4VFFVRlRMRWxCUVVrc0swVkJRVzFDTEVOQlFVTXNTMEZCU3l4RlFVTXhRenRaUVVORExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4aFFVRmhMRVZCUVVVc1NVRkJTU3hGUVVGRkxFTkJRVVVzUTBGQlF6dFRRVU42UXp0aFFVTkpMRWxCUVVrc1kwRkJZeXhGUVVOMlFqdFpRVVZETEdGQlFXRXNSMEZCUnl4SlFVRkpMR3RFUVVGSkxFTkJRVVVzUTBGQlJTeGpRVUZqTEVOQlFVTXNRMEZCUXl4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVVVzUTBGQlJTeERRVUZETzFsQlEyNUZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeGhRVUZoTEVWQlFVVXNZVUZCWVN4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlJTeERRVUZETzFOQlEzQkZPMUZCUlVRc1NVRkJTU3hMUVVGTExFZEJRMVE3V1VGRFF5eEpRVUZKTEVWQlFVVXNVMEZCVXp0WlFVTm1MRkZCUVZFN1dVRkRVaXhEUVVGRExFVkJRVVVzWVVGQllTeERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFZEJRVWM3V1VGRGNrTXNRMEZCUXl4RlFVRkZMRWRCUVVjc1IwRkJSeXhEUVVGRkxHRkJRV0VzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVVU3VTBGRGFFUXNRMEZCUXp0UlFVVkdMRWxCUVVrc1UwRkJVeXhKUVVGSkxDdEZRVUZ0UWl4RFFVRkRMRWxCUVVrc1JVRkRla003V1VGRFF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkZMSEZDUVVGelFpd3JSVUZCYlVJc1EwRkJSU3hUUVVGVExFTkJRVWNzU1VGQlN5eExRVUZMTEVOQlFVTXNRMEZCUlN4TFFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRkxFVkJRVVVzUTBGQlJTeERRVUZETzFOQlEzQkhPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEd0Q1FVRnJRaXhGUVVOcVF6dFpRVU5ETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2EwSkJRV3RDTEVOQlFVVXNTMEZCU3l4RFFVRkZMRU5CUVVNN1UwRkRka003WVVGRlJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0VFFVTnNRenRKUVVOR0xFTkJRVU03U1VGRlR5eHRRa0ZCYlVJc1EwRkJSU3hMUVVGelFqdFJRVVZzUkN4SlFVRkpMR1ZCUVdVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVFSXNVVUZCVVN4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVOc1FqdFpRVU5ETEV0QlFVc3NLMFZCUVcxQ0xFTkJRVU1zUzBGQlN5eERRVUZETzFsQlF5OUNMRXRCUVVzc0swVkJRVzFDTEVOQlFVTXNTMEZCU3p0blFrRkROMElzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRka0lzVFVGQlRUdFpRVVZRTEV0QlFVc3NLMFZCUVcxQ0xFTkJRVU1zU1VGQlNUdG5Ra0ZETlVJc1pVRkJaU3hIUVVGSExFTkJRVU1zUTBGQlF6dG5Ra0ZEY0VJc1RVRkJUVHRUUVVOUU8xRkJSVVFzU1VGQlNTeGxRVUZsTEVkQlFVY3NRMEZCUXl4RlFVTjJRanRaUVVORExIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1pVRkJaU3hEUVVGRkxFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVVXNaVUZCWlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVVVzUTBGQlF6dFRRVU0zUlR0UlFVVkVMSE5GUVVGRkxFVkJRVVVzUTBGQlF5eGxRVUZsTEVOQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVVc1EwRkJRenRKUVVOMFJDeERRVUZETzBsQlJVUXNTVUZCV1N4TFFVRkxPMUZCUldoQ0xFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4aFFVRmhMRU5CUVVNN1NVRkRha01zUTBGQlF6dEpRVVZFTEVsQlFWa3NUVUZCVFR0UlFVVnFRaXhQUVVGUExFMUJRVTBzUTBGQlF5eFhRVUZYTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhoUVVGaExFZEJRVWNzVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXp0SlFVTXhSU3hEUVVGRE8wbEJSVVFzWVVGQllUdEpRVU5pTEUxQlFVMDdVVUZGVEN4SlFVRkpMRTFCUVUwc1IwRkRWanRaUVVORExFbEJRVWtzUlVGQlJTeDFSVUZCVnl4RFFVRkRMRWxCUVVrN1dVRkRkRUlzU1VGQlNTeEZRVU5LTzJkQ1FVTkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEhRVUZETEVOQlFVTTdaMEpCUTNaRExFbEJRVWtzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkRMRU5CUVVNN1owSkJRM3BETEVsQlFVa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTA3WVVGRGNrSTdVMEZEUkN4RFFVRkRPMUZCUTBZc2MwZEJRWE5ITzFGQlEzUkhMRzlIUVVGdlJ6dFJRVU53Unl4blIwRkJaMGM3VVVGRGFFY3NjMGRCUVhOSE8xRkJRM1JITEhkRVFVRjNSRHRSUVVONFJDeHpSa0ZCYzBZN1VVRkRkRVlzU1VGQlNTeFhRVUZYTEVkQlEyWTdXVUZEUXl4SlFVRkpMRVZCUVVVc2RVVkJRVmNzUTBGQlF5eEpRVUZKTzFsQlEzUkNMRWxCUVVrc1JVRkRTanRuUWtGRFF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJReXhEUVVGRE8yZENRVU4yUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEhRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlF5eERRVUZETzJkQ1FVTjZReXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpPMkZCUTI1Q08xTkJRMFFzUTBGQlF6dFJRVWRHTEU5QlFVODdXVUZEU2l4dlJFRkJReXdyUkVGQlZ5eEpRVUZETEUxQlFVMHNSVUZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGSExFMUJRVTBzUlVGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFR0blFrRkRkRVFzYjBSQlFVTXNLMFJCUVZjc1NVRkJReXhQUVVGUExFVkJRVWNzUlVGQlJUdHZRa0ZEZUVJc2IwUkJRVU1zZFVSQlFVOHNTVUZCUXl4SFFVRkhMRVZCUVVjc0swVkJRVzFDTEVWQlFVY3NhVUpCUVdsQ0xFVkJRVWNzU1VGQlNTeEhRVUZKTEVOQlEzQkVPMmRDUVVOYUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTlNPMWxCUTFvc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eGhRVUZoTzJkQ1FVTjZRaXh2UkVGQlF5d3JSRUZCVnl4SlFVRkRMRlZCUVZVc1JVRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdGQlFXRXNRMEZCUXl4RFFVRkRMRVZCUVVjc1ZVRkJWU3hGUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN2IwSkJRemRHTEc5RVFVRkRMQ3RFUVVGWExFbEJRVU1zU1VGQlNTeEZRVUZITEdsRlFVRmhMRU5CUVVNc1RVRkJUU3hGUVVGSExFMUJRVTBzUlVGQlJ5eExRVUZMTEVWQlFVY3NTMEZCU3l4RlFVRkRMRkZCUVZFc1IwRkJSU3hEUVVNdlJEdFpRVU5pTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1YwRkJWenRuUWtGRGRrSXNiMFJCUVVNc05FVkJRV2xDTEVsQlFVTXNUVUZCVFN4RlFVRkhMRU5CUVVVc1RVRkJUU3hGUVVGRkxGZEJRVmNzUTBGQlJTeEZRVUZITEZGQlFWRXNSVUZCUnl4RlFVRkZMRVZCUVVjc1pVRkJaU3hGUVVGSExFbEJRVWtzUlVGRE0wWXNVVUZCVVN4RlFVRkhMRU5CUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzYTBKQlFXdENMRVZCUVVVc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUlN4SFFVRkpMRU5CUTNwRk8wbEJRMDRzUTBGQlF6dERRVU5FTzBGQk9VdEJPMGxCUkVNc2NVUkJRVWs3Y1VSQlMwbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk8zTkRRV2REU2lJc0ltWnBiR1VpT2lJdUwzTnlZeTloWVhKa2RtRnlhMTl3WVc1bGJDNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJkaXdnUVhaT2IyUmxWSEpoYm5ObWIzSnRMQ0JCZGxOb1lYSmxaRlJsZUhSMWNtVkpibVp2TENCQmRsWnZiSFZ0WlN3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JGVm05c2RXMWxWSGx3WlN3Z1oxOWlkV2xzZEdsdVRXOWtaV3hRWVc1bGJDd2dibTlrWlZSeVlXNXpabTl5YlZSdlRXRjBOQ3dnVUdGdVpXeE5iM1Z6WlVWMlpXNTBWSGx3WlN3Z1FYWldaV04wYjNJZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdleUIyWldNeUxDQjJaV00wSUgwZ1puSnZiU0FuUUhSc1lYVnJhMkZ1TDNSemJTYzdYSEpjYm1sdGNHOXlkQ0JpYVc1a0lHWnliMjBnSjJKcGJtUXRaR1ZqYjNKaGRHOXlKenRjY2x4dWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh5WEc1cGJYQnZjblFnZXlCQmRrSmhjMlZPYjJSbFVISnZjSE1nZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJKaGMyVmZibTlrWlNjN1hISmNibWx0Y0c5eWRDQjdJRUYyUjJGa1oyVjBJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTluWVdSblpYUW5PMXh5WEc1cGJYQnZjblFnZXlCQlkzUnBkbVZKYm5SbGNtWmhZMlVzSUVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5cGJuUmxjbVpoWTJWZlpXNTBhWFI1Snp0Y2NseHVhVzF3YjNKMElIc2dRWFpOYjJSbGJDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiVzlrWld3bk8xeHlYRzVwYlhCdmNuUWdleUJCZGxCeWFXMXBkR2wyWlN3Z1VISnBiV2wwYVhabFZIbHdaU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0hKcGJXbDBhWFpsSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpVY21GdWMyWnZjbTBnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDNSeVlXNXpabTl5YlNjN1hISmNibHh5WEc1Y2NseHVMeW9xSUZ3aVRXOTFjMlZjSWlCbGRtVnVkQ0JtYjNJZ1kzVnpkRzl0SUhCaGJtVnNJR2hoYm1Sc1pYSnpJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VHRnVaV3hOYjNWelpVVjJaVzUwWEhKY2JudGNjbHh1WEhSMGVYQmxPaUJRWVc1bGJFMXZkWE5sUlhabGJuUlVlWEJsTzF4eVhHNWNkSGc2SUc1MWJXSmxjanRjY2x4dVhIUjVPaUJ1ZFcxaVpYSTdYSEpjYmx4MGNHOXJaWEpGY0dFNklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dWZUdGNjbHh1WEhKY2JpOHFLaUJHZFc1amRHbHZiaUJ6YVdkdVlYUjFjbVVnWm05eUlIUm9aU0FnZTBCc2FXNXJJRUYyVUdGdVpXeFFjbTl3YzMwZ1kzVnpkRzl0VFc5MWMyVklZVzVrYkdWeUlDb3ZYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVUdGdVpXeElZVzVrYkdWeVhISmNibnRjY2x4dVhIUW9JR1YyWlc1ME9pQlFZVzVsYkUxdmRYTmxSWFpsYm5RZ0tUb2dkbTlwWkR0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUZCeWIzQnpJR1p2Y2lCN1FHeHBibXNnUVhaUVlXNWxiSDBnS2k5Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkJkbEJoYm1Wc1VISnZjSE1nWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVFpYUWdkR2hwY3lCMGJ5QjBjblZsSUhSdklHTmhkWE5sSUhSb1pTQndZVzVsYkNCMGJ5QmlaU0JwYm5SbGNtRmpkR1ZrSUhkcGRHZ2dZbmtnY0c5clpYSnpMaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JtWVd4elpTQXFMMXh5WEc1Y2RHbHVkR1Z5WVdOMGFYWmxQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlFSjVJR1JsWm1GMWJIUWdjRzlyWlhJZ1pYWmxiblJ6SUhkcGJHd2dkSFZ5YmlCcGJuUnZJRzF2ZFhObElHVjJaVzUwY3lCMGJ5QjBhR1VnWW5KdmQzTmxjaUIwYUdGMElHTmhiaUJpWlNCd2NtOWpaWE56WldSY2NseHVYSFFnS2lCaWVTQjBhR1VnYm05eWJXRnNJRWhVVFV3dlNtRjJZV055YVhCMElHMXZkWE5sSUhCeWIyTmxjM05wYm1jdUlGTmxkQ0JoSUdOMWMzUnZiU0J0YjNWelpTQm9ZVzVrYkdWeUlHbG1JSGx2ZFNCdVpXVmtYSEpjYmx4MElDb2dkRzhnY0hKdlkyVnpjeUJwYm1OdmJXbHVaeUJ0YjNWelpTQmxkbVZ1ZEhNZ2FXNGdjMjl0WlNCdmRHaGxjaUIzWVhrdVhISmNibHgwS2k5Y2NseHVYSFJqZFhOMGIyMU5iM1Z6WlVoaGJtUnNaWEkvT2lCUVlXNWxiRWhoYm1Sc1pYSTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkMmxrZEdnZ2IyWWdkR2hsSUhCaGJtVnNJR2x1SUcxbGRHVnljeTRnVkdobElIQmhibVZzSjNNZ2FHVnBaMmgwSUhkcGJHd2dZbVVnYzJOaGJHVmtJR0o1SUhSb2FYTWdiblZ0WW1WeUlHRnVaQ0IwYUdWY2NseHVYSFFnS2lCaGMzQmxZM1FnY21GMGFXOGdiMllnZEdobElIZHBibVJ2ZHk1Y2NseHVYSFFnS2k5Y2NseHVYSFIzYVdSMGFFbHVUV1YwWlhKek9pQnVkVzFpWlhJN1hISmNibjFjY2x4dVhISmNiaThxS2lCQWFHbGtaR1Z1SUNvdlhISmNibVY0Y0c5eWRDQmxiblZ0SUZCaGJtVnNVbVZ4ZFdWemRGUjVjR1ZjY2x4dWUxeHlYRzVjZEVSdmQyNGdQU0JjSW1SdmQyNWNJaXhjY2x4dVhIUlZjQ0E5SUZ3aWRYQmNJaXhjY2x4dWZUdGNjbHh1WEhKY2JpOHFLaUJBYUdsa1pHVnVJQ292WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VHRnVaV3hTWlhGMVpYTjBYSEpjYm50Y2NseHVYSFIwZVhCbE9pQlFZVzVsYkZKbGNYVmxjM1JVZVhCbE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dWFXNTBaWEptWVdObElFRjJVR0Z1Wld4VGRHRjBaVnh5WEc1N1hISmNibHgwYlc5MWMyVlFiM05wZEdsdmJqb2dkbVZqTWp0Y2NseHVYSFJ0YjNWelpVUnBjM1JoYm1ObE9pQnVkVzFpWlhJN1hISmNibHgwYlc5MWMyVlFjbVZ6YzJWa09pQmliMjlzWldGdU8xeHlYRzU5WEhKY2JseHlYRzR2S2lwY2NseHVJQ29nUVhaUVlXNWxiQ0J2ZFhSd2RYUnpJR0VnTVcwZ2VDQXhiU0J4ZFdGa0lIZHBkR2dnZEdobElHTnZiblJsYm5SeklHOW1JSFJvWlNCamIyNTBZV2x1YVc1bklHSnliM2R6WlhJZ1lYTWdhWFJ6SUhSbGVIUjFjbVV1WEhKY2JpQXFJRlJ2SUdOb1lXNW5aU0IwYUdVZ2MybDZaU0J2WmlCMGFHVWdjbVZ6ZFd4MGFXNW5JSEYxWVdRc0lIVnpaU0JiUVhaVWNtRnVjMlp2Y20xZEtDTmhZWEprZG1GeWEzUnlZVzV6Wm05eWJTa3VYSEpjYmlBcUlGeHlYRzRnS2lCQWMyVmxJRk5sWlNCYlFYWlFiMnRsY2wwb0kyRmhjbVIyWVhKcmNHOXJaWElwWEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWTJ4aGMzTWdRWFpRWVc1bGJDQmxlSFJsYm1SeklGSmxZV04wTGtOdmJYQnZibVZ1ZER3Z1FYWlFZVzVsYkZCeWIzQnpMQ0JCZGxCaGJtVnNVM1JoZEdVZ1BseHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRYM05vWVhKbFpGUmxlSFIxY21WSmJtWnZPaUJCZGxOb1lYSmxaRlJsZUhSMWNtVkpibVp2SUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHMWZZV04wYVhabFVHOXJaWEk2SUVGamRHbDJaVWx1ZEdWeVptRmpaU0E5SUc1MWJHdzdYSEpjYmx4eVhHNWNkR052Ym5OMGNuVmpkRzl5S0NCd2NtOXdjem9nWVc1NUlDbGNjbHh1WEhSN1hISmNibHgwWEhSemRYQmxjaWdnY0hKdmNITWdLVHRjY2x4dVhISmNibHgwWEhSMGFHbHpMbk4wWVhSbElEMGdleUJ0YjNWelpWQnZjMmwwYVc5dU9pQnVkV3hzTENCdGIzVnpaVVJwYzNSaGJtTmxPaUE1T1RrNUxDQnRiM1Z6WlZCeVpYTnpaV1E2SUdaaGJITmxJSDA3WEhKY2JseHlYRzVjZEZ4MFFYWW9LUzV6ZFdKelkzSnBZbVZVYjBKeWIzZHpaWEpVWlhoMGRYSmxLQ0IwYUdsekxtOXVWWEJrWVhSbFFuSnZkM05sY2xSbGVIUjFjbVVnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJsVndaR0YwWlVKeWIzZHpaWEpVWlhoMGRYSmxLQ0JwYm1adk9pQkJkbE5vWVhKbFpGUmxlSFIxY21WSmJtWnZJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG0xZmMyaGhjbVZrVkdWNGRIVnlaVWx1Wm04Z1BTQnBibVp2TzF4eVhHNWNkRngwUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1dFlYSnJSR2x5ZEhrb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQnZibEJoYm1Wc0tDQmhZM1JwZG1WUWIydGxjam9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG1SbGJHbDJaWEpOYjNWelpVVjJaVzUwS0NCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExrVnVkR1Z5TENCaFkzUnBkbVZRYjJ0bGNpNXpaV3htU1c1MFpYSnpaV04wYVc5dVVHOXBiblFzSUdGamRHbDJaVkJ2YTJWeUxuQmxaWElnS1R0Y2NseHVYSFJjZEhSb2FYTXViVjloWTNScGRtVlFiMnRsY2lBOUlHRmpkR2wyWlZCdmEyVnlPMXh5WEc1Y2NseHVYSFJjZEdGamRHbDJaVkJ2YTJWeUxtOXVSWFpsYm5Rb0lDZ2daWFpsYm5RNklGQmhibVZzVW1WeGRXVnpkQ0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RITjNhWFJqYUNnZ1pYWmxiblF1ZEhsd1pTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSallYTmxJRkJoYm1Wc1VtVnhkV1Z6ZEZSNWNHVXVSRzkzYmpwY2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdVpHVnNhWFpsY2sxdmRYTmxSWFpsYm5Rb0lGQmhibVZzVFc5MWMyVkZkbVZ1ZEZSNWNHVXVSRzkzYml3Z1lXTjBhWFpsVUc5clpYSXVjMlZzWmtsdWRHVnljMlZqZEdsdmJsQnZhVzUwTENCY2NseHVYSFJjZEZ4MFhIUmNkRngwWVdOMGFYWmxVRzlyWlhJdWNHVmxjaUFwTzF4eVhHNWNkRngwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJjZEdOaGMyVWdVR0Z1Wld4U1pYRjFaWE4wVkhsd1pTNVZjRHBjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11WkdWc2FYWmxjazF2ZFhObFJYWmxiblFvSUZCaGJtVnNUVzkxYzJWRmRtVnVkRlI1Y0dVdVZYQXNJR0ZqZEdsMlpWQnZhMlZ5TG5ObGJHWkpiblJsY25ObFkzUnBiMjVRYjJsdWRDd2dYSEpjYmx4MFhIUmNkRngwWEhSY2RHRmpkR2wyWlZCdmEyVnlMbkJsWlhJZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5SUNrN1hISmNibHh5WEc1Y2RGeDBZV04wYVhabFVHOXJaWEl1YjI1VWNtRnVjMlp2Y20xVmNHUmhkR1ZrS0NBb0lHVnVkR2wwZVVaeWIyMVFaV1Z5T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG1SbGJHbDJaWEpOYjNWelpVVjJaVzUwS0NCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExrMXZkbVVzSUdGamRHbDJaVkJ2YTJWeUxuTmxiR1pKYm5SbGNuTmxZM1JwYjI1UWIybHVkQ3dnWVdOMGFYWmxVRzlyWlhJdWNHVmxjaUFwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpWQnZhMlZ5TG05dVJXNWtaV1FvSUNncElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdVpHVnNhWFpsY2sxdmRYTmxSWFpsYm5Rb0lGQmhibVZzVFc5MWMyVkZkbVZ1ZEZSNWNHVXVUR1ZoZG1Vc0lHRmpkR2wyWlZCdmEyVnlMbk5sYkdaSmJuUmxjbk5sWTNScGIyNVFiMmx1ZEN3Z1lXTjBhWFpsVUc5clpYSXVjR1ZsY2lBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG0xZllXTjBhWFpsVUc5clpYSWdQU0J1ZFd4c08xeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBZMjl0Y0c5dVpXNTBSR2xrVlhCa1lYUmxLQ0J3Y21WMlVISnZjSE02SUVGMlVHRnVaV3hRY205d2N5d2djSEpsZGxOMFlYUmxPaUJCZGxCaGJtVnNVM1JoZEdVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdOdmJuTjBJR3RmWTJ4cFkydEVhWE4wSUQwZ01DNHdNVHRjY2x4dVhIUmNkR052Ym5OMElHdGZjbVZzWldGelpVUnBjM1FnUFNBd0xqQXlPMXh5WEc1Y2RGeDBiR1YwSUdScGMzUWdQU0IwYUdsekxuTjBZWFJsTG0xdmRYTmxSR2x6ZEdGdVkyVWdQejhnT1RrNU9UdGNjbHh1WEhSY2RHbG1LQ0JrYVhOMElEd2dhMTlqYkdsamEwUnBjM1FnSmlZZ0lYUm9hWE11YzNSaGRHVXViVzkxYzJWUWNtVnpjMlZrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTVrWld4cGRtVnlUVzkxYzJWRmRtVnVkQ2dnVUdGdVpXeE5iM1Z6WlVWMlpXNTBWSGx3WlM1RWIzZHVMQ0J1ZFd4c0xDQjBhR2x6TG0xZllXTjBhWFpsVUc5clpYSS9MbkJsWlhJZ0tUdGNjbHh1WEhSY2RGeDBkR2hwY3k1elpYUlRkR0YwWlNnZ2V5QnRiM1Z6WlZCeVpYTnpaV1E2SUhSeWRXVWdmU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpTQnBaaWdnWkdsemRDQStJR3RmY21Wc1pXRnpaVVJwYzNRZ0ppWWdkR2hwY3k1emRHRjBaUzV0YjNWelpWQnlaWE56WldRcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11WkdWc2FYWmxjazF2ZFhObFJYWmxiblFvSUZCaGJtVnNUVzkxYzJWRmRtVnVkRlI1Y0dVdVZYQXNJRzUxYkd3c0lIUm9hWE11YlY5aFkzUnBkbVZRYjJ0bGNqOHVjR1ZsY2lBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHMXZkWE5sVUhKbGMzTmxaRG9nWm1Gc2MyVWdmU0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JrWld4cGRtVnlUVzkxYzJWRmRtVnVkQ2dnWlhabGJuUlVlWEJsT2lCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExDQndZVzVsYkVaeWIyMVFiMnRsY2pvZ1FYWldaV04wYjNJc0lIQnZhMlZ5UlhCaE9pQkZibVJ3YjJsdWRFRmtaSElnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCdGIzVnpaVkJ2YzJsMGFXOXVPaUIyWldNeUlEMGdkR2hwY3k1emRHRjBaUzV0YjNWelpWQnZjMmwwYVc5dU8xeHlYRzVjZEZ4MGFXWW9JR1YyWlc1MFZIbHdaU0E5UFNCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExreGxZWFpsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCdGIzVnpaVkJ2YzJsMGFXOXVPaUJ1ZFd4c0lIMGdLVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JSEJoYm1Wc1JuSnZiVkJ2YTJWeUlDbGNjbHh1WEhSY2RIdGNjbHh1WEhKY2JseDBYSFJjZEcxdmRYTmxVRzl6YVhScGIyNGdQU0J1WlhjZ2RtVmpNaWdnV3lCd1lXNWxiRVp5YjIxUWIydGxjaTU0TENCd1lXNWxiRVp5YjIxUWIydGxjaTU1SUYwZ0tUdGNjbHh1WEhSY2RGeDBkR2hwY3k1elpYUlRkR0YwWlNnZ2V5QnRiM1Z6WlZCdmMybDBhVzl1TENCdGIzVnpaVVJwYzNSaGJtTmxPaUJ3WVc1bGJFWnliMjFRYjJ0bGNpNTZJSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnWlhabGJuUTZJRkJoYm1Wc1RXOTFjMlZGZG1WdWRDQTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFI1Y0dVNklHVjJaVzUwVkhsd1pTeGNjbHh1WEhSY2RGeDBjRzlyWlhKRmNHRXNYSEpjYmx4MFhIUmNkSGc2SUcxdmRYTmxVRzl6YVhScGIyNHVlQ0F2SUhSb2FYTXVkMmxrZEdnZ0t5QXdMalVzWEhKY2JseDBYSFJjZEhrNklERXVNQ0F0SUNnZ2JXOTFjMlZRYjNOcGRHbHZiaTU1SUM4Z2RHaHBjeTVvWldsbmFIUWdLeUF3TGpVZ0tTeGNjbHh1WEhSY2RIMDdYSEpjYmx4eVhHNWNkRngwYVdZb0lHVjJaVzUwVkhsd1pTQWhQU0JRWVc1bGJFMXZkWE5sUlhabGJuUlVlWEJsTGsxdmRtVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1lIQmhibVZzSUcxdmRYTmxJR1YyWlc1MElDUjdJRkJoYm1Wc1RXOTFjMlZGZG1WdWRGUjVjR1ZiSUdWMlpXNTBWSGx3WlNCZElIMGdKSHNnWlhabGJuUXVlQ0I5TENBa2V5QmxkbVZ1ZEM1NUlIMWdJQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJjY2x4dVhIUmNkR2xtS0NCMGFHbHpMbkJ5YjNCekxtTjFjM1J2YlUxdmRYTmxTR0Z1Wkd4bGNpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWNISnZjSE11WTNWemRHOXRUVzkxYzJWSVlXNWtiR1Z5S0NCbGRtVnVkQ0FwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG05dVJHVm1ZWFZzZEUxdmRYTmxSWFpsYm5Rb0lHVjJaVzUwSUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUc5dVJHVm1ZWFZzZEUxdmRYTmxSWFpsYm5Rb0lHVjJaVzUwT2lCUVlXNWxiRTF2ZFhObFJYWmxiblFnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCb1lYQjBhV05CYlhCc2FYUjFaR1VnUFNBd08xeHlYRzVjZEZ4MGMzZHBkR05vS0NCbGRtVnVkQzUwZVhCbElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBZMkZ6WlNCUVlXNWxiRTF2ZFhObFJYWmxiblJVZVhCbExrVnVkR1Z5T2x4eVhHNWNkRngwWEhSallYTmxJRkJoYm1Wc1RXOTFjMlZGZG1WdWRGUjVjR1V1VEdWaGRtVTZYSEpjYmx4MFhIUmNkRngwYUdGd2RHbGpRVzF3YkdsMGRXUmxJRDBnTUM0d05UdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdVR0Z1Wld4TmIzVnpaVVYyWlc1MFZIbHdaUzVFYjNkdU9seHlYRzVjZEZ4MFhIUmNkR2hoY0hScFkwRnRjR3hwZEhWa1pTQTlJREU3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGFXWW9JR2hoY0hScFkwRnRjR3hwZEhWa1pTQStJREFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExuTmxibVJJWVhCMGFXTkZkbVZ1ZENnZ1pYWmxiblF1Y0c5clpYSkZjR0VzSUdoaGNIUnBZMEZ0Y0d4cGRIVmtaU3dnTVN3Z01DQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEVGMktDa3VjM0J2YjJaTmIzVnpaVVYyWlc1MEtDQmxkbVZ1ZEM1MGVYQmxMQ0JsZG1WdWRDNTRMQ0JsZG1WdWRDNTVJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJR2RsZENCM2FXUjBhQ2dwT2lCdWRXMWlaWEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV3Y205d2N5NTNhV1IwYUVsdVRXVjBaWEp6TzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JuWlhRZ2FHVnBaMmgwS0NrNklHNTFiV0psY2x4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQjNhVzVrYjNjdWFXNXVaWEpJWldsbmFIUWdLaUIwYUdsekxuQnliM0J6TG5kcFpIUm9TVzVOWlhSbGNuTWdMeUIzYVc1a2IzY3VhVzV1WlhKWGFXUjBhRHRjY2x4dVhIUjlYSEpjYmx4MFhISmNibHgwTHlvZ1FHaHBaR1JsYmlBcUwxeHlYRzVjZEhKbGJtUmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUhadmJIVnRaVG9nUVhaV2IyeDFiV1VnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1QlFVSkNMRnh5WEc1Y2RGeDBYSFJoWVdKaU9seHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZUUxcGJqb2dMWFJvYVhNdWQybGtkR2d2TWl3Z2VFMWhlRG9nZEdocGN5NTNhV1IwYUM4eUxGeHlYRzVjZEZ4MFhIUmNkSGxOYVc0NklDMTBhR2x6TG1obGFXZG9kQzh5TENCNVRXRjRPaUIwYUdsekxtaGxhV2RvZEM4eUxGeHlYRzVjZEZ4MFhIUmNkSHBOYVc0NklEQXNJSHBOWVhnNklEQXVNREF3TVN4Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZUdGNjbHh1WEhSY2RDOHZJRmRsSUhWelpTQjBkMjhnZG05c2RXMWxjeUJvWlhKbExDQjNhWFJvSUhSb1pTQjBhR2x1SUc5dVpTQm1hWEp6ZEN3Z2RHOGdhVzF3Y205MlpTQjBhR1VnY1hWaGJHbDBlU0J2WmlCMGFHVWdhVzUwWlhKelpXTjBhVzl1SUhCdmFXNTBMbHh5WEc1Y2RGeDBMeThnVW1GNUlHbHVkR1Z5YzJWamRHbHZibk1nZDJsc2JDQmhiRzF2YzNRZ1lXeDNZWGx6SUdocGRDQjBhR1VnZEdocGJpQjJiMngxYldVZ2FXWWdkR2hsZVNCM2IzVnNaQ0JvWVhabElHaHBkQ0IwYUdVZ2RHaHBZMnNnZG05c2RXMWxMRnh5WEc1Y2RGeDBMeThnYzI4Z2RHaGxlU0JuWlc1bGNtRjBaU0JoYmlCcGJuUmxjbk5sWTNScGIyNGdjRzlwYm5RZ2RHaGhkQ2R6SUhabGNua2dZMnh2YzJVZ2RHOGdkR2hsSUhOMWNtWmhZMlVnYjJZZ2RHaGxJSEJoYm1Wc0xpQlRjR2hsY21VZ1hISmNibHgwWEhRdkx5QnBiblJsY25ObFkzUnBiMjV6SUNoc2FXdGxJSFJvWlNCbmNtRmlZbVZ5Y3lCdmJpQjBhR1VnYUdGdVpITXBJSGRwYkd3Z2FXNTBaWEp6WldOMElIZHBkR2dnZEdobElIUm9hV05yWlhJZ2RtOXNkVzFsSUdFZ1ptVjNJR050SUdGM1lYbGNjbHh1WEhSY2RDOHZJR1p5YjIwZ2RHaGxJSEJoYm1Wc0xDQjNhR2xqYUNCdFlXdGxjeUIwYUdVZ2NHRnVaV3dnWldGemFXVnlJSFJ2SUhWelpTNGdYSEpjYmx4MFhIUXZMeUJKYmlCaWIzUm9JR05oYzJWeklIUm9aU0JwYm5SbGNuTmxZM1JwYjI0Z2NHOXBiblFnYVhNZ2NISnZhbVZqZEdWa0lHUnZkMjRnZEc4Z2RHaGxJSE4xY21aaFkyVWdiMllnZEdobElIQmhibVZzTGx4eVhHNWNkRngwYkdWMElIUm9hV05yVm05c2RXMWxPaUJCZGxadmJIVnRaU0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSNWNHVTZJRVZXYjJ4MWJXVlVlWEJsTGtGQlFrSXNYSEpjYmx4MFhIUmNkR0ZoWW1JNlhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFI0VFdsdU9pQXRkR2hwY3k1M2FXUjBhQzh5TENCNFRXRjRPaUIwYUdsekxuZHBaSFJvTHpJc1hISmNibHgwWEhSY2RGeDBlVTFwYmpvZ0xYUm9hWE11YUdWcFoyaDBMeklzSUhsTllYZzZJSFJvYVhNdWFHVnBaMmgwTHpJc1hISmNibHgwWEhSY2RGeDBlazFwYmpvZ01Dd2dlazFoZURvZ01DNHdNeXhjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlR0Y2NseHVYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRHcrWEhKY2JseDBYSFJjZEZ4MFhIUThRWFpVY21GdWMyWnZjbTBnYzJOaGJHVllQWHNnZEdocGN5NTNhV1IwYUNCOUlITmpZV3hsV1QxN0lIUm9hWE11YUdWcFoyaDBJSDArWEhKY2JseDBYSFJjZEZ4MFhIUmNkRHhCZGxSeVlXNXpabTl5YlNCeWIzUmhkR1ZZUFhzZ09UQWdmU0ErWEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwUEVGMlRXOWtaV3dnZFhKcFBYc2daMTlpZFdsc2RHbHVUVzlrWld4UVlXNWxiQ0I5SUhWelpVSnliM2R6WlhKVVpYaDBkWEpsUFhzZ2RISjFaU0I5THo1Y2NseHVYSFJjZEZ4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNWNjbHh1WEhSY2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbU5vYVd4a2NtVnVJSDFjY2x4dVhIUmNkRngwWEhSY2REd3ZRWFpVY21GdWMyWnZjbTArWEhKY2JseDBYSFJjZEZ4MFhIUjdJSFJvYVhNdWMzUmhkR1V1Ylc5MWMyVlFiM05wZEdsdmJpQW1KaUJjY2x4dVhIUmNkRngwWEhSY2RGeDBQRUYyVkhKaGJuTm1iM0p0SUhSeVlXNXpiR0YwWlZnOWV5QjBhR2x6TG5OMFlYUmxMbTF2ZFhObFVHOXphWFJwYjI0dWVDQjlJSFJ5WVc1emJHRjBaVms5ZXlCMGFHbHpMbk4wWVhSbExtMXZkWE5sVUc5emFYUnBiMjR1ZVNCOUlENWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUThRWFpRY21sdGFYUnBkbVVnZEhsd1pUMTdJRkJ5YVcxcGRHbDJaVlI1Y0dVdVUzQm9aWEpsSUgwZ2NtRmthWFZ6UFhzZ01DNHdNRElnZlNCamIyeHZjajFjSW5sbGJHeHZkMXdpTHo1Y2NseHVYSFJjZEZ4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNGdmVnh5WEc1Y2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbWx1ZEdWeVlXTjBhWFpsSUNZbVhISmNibHgwWEhSY2RGeDBYSFJjZER4QmRrbHVkR1Z5Wm1GalpVVnVkR2wwZVNCMmIyeDFiV1U5ZXlCYklIWnZiSFZ0WlN3Z2RHaHBZMnRXYjJ4MWJXVWdYU0I5SUhCeWFXOXlhWFI1UFhzZ01UQWdmU0IzWVc1MGMxUnlZVzV6Wm05eWJYTTlleUIwY25WbElIMWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnlaV05sYVhabGN6MTdJRnNnZXlCcFptRmpaVG9nWENKaFlYSmtkbUZ5YXkxd1lXNWxiRUF5WENJc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJsQmhibVZzSUgwZ1hTQjlMejRnZlZ4eVhHNWNkRngwWEhSY2REd3ZQbHh5WEc1Y2RIMWNjbHh1ZlNKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19wYW5lbC50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX3BhbmVsYW5jaG9yLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfcGFuZWxhbmNob3IudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdlBhbmVsQW5jaG9yICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdlBhbmVsQW5jaG9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdlBhbmVsQW5jaG9yOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfYmFzZV9ub2RlICovIFxcXCIuL3NyYy9hYXJkdmFya19iYXNlX25vZGUudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuLyoqIFNldHMgdGhlIHRyYW5zZm9ybSBvZiBpdHMgY2hpbGRyZW4gdG8gdGhlIGNlbnRlciBvZiB0aGUgcGFuZWwgYW5jaG9yJ3MgRE9NIG5vZGVcXHJcXG4gKiBpbiBpdHMgcGFyZW50IEF2UGFuZWwuIFRoaXMgaXMgdXNlZnVsIGZvciBkcmF3aW5nIG1vZGVscyBhbmQgb3RoZXIgbm9kZXMgaW4gYVxcclxcbiAqIHJlYXNvbmFibGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGV4dCBvbiBhIHBhbmVsLlxcclxcbiAqL1xcclxcbmNsYXNzIEF2UGFuZWxBbmNob3IgZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMubV9yZWYgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJjcmVhdGVSZWZcXFwiXSgpO1xcclxcbiAgICB9XFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uVHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGlmICh0aGlzLm1fcmVmLmN1cnJlbnQpIHtcXHJcXG4gICAgICAgICAgICBsZXQgZG9tUmVjdCA9IHRoaXMubV9yZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcXHJcXG4gICAgICAgICAgICBpZiAoZG9tUmVjdCkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgeCA9ICgoZG9tUmVjdC5sZWZ0ICsgZG9tUmVjdC5yaWdodCkgLyAoMiAqIHdpbmRvdy5pbm5lcldpZHRoKSkgLSAwLjU7XFxyXFxuICAgICAgICAgICAgICAgIGxldCB5ID0gLSgoKGRvbVJlY3QudG9wICsgZG9tUmVjdC5ib3R0b20pIC8gKDIgKiB3aW5kb3cuaW5uZXJIZWlnaHQpKSAtIDAuNSk7XFxyXFxuICAgICAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybSA9IHt9O1xcclxcbiAgICAgICAgICAgICAgICBub2RlLnByb3BUcmFuc2Zvcm0ucG9zaXRpb24gPVxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHgsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgeSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB6OiAwLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbm9kZTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJkaXZcXFwiLCB7IHJlZjogdGhpcy5tX3JlZiwgc3R5bGU6IHsgaGVpZ2h0OiBcXFwiMTAwJVxcXCIsIHdpZHRoOiBcXFwiMTAwJVxcXCIgfSB9LCB0aGlzLmJhc2VOb2RlUmVuZGVyKHRoaXMsIHRoaXMucHJvcHMuY2hpbGRyZW4pKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXdZVzVsYkdGdVkyaHZjaTUwYzNnL05qUXdOaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUVyUWp0QlFVVXdRanRCUVVOVk8wRkJSVzVGT3pzN1IwRkhSenRCUVVOSkxFMUJRVTBzWVVGQll5eFRRVUZSTERoRVFVRnBRenRKUVVGd1JUczdVVUZGVXl4VlFVRkxMRWRCUVVjc0swTkJRV1VzUlVGQmEwSXNRMEZCUXp0SlFXbERia1FzUTBGQlF6dEpRUzlDVHl4VFFVRlRPMUZCUldZc1NVRkJTU3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRkxITkZRVUZWTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFJRVVY0UlN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eEZRVU4wUWp0WlFVTkRMRWxCUVVrc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMSEZDUVVGeFFpeEZRVUZGTEVOQlFVTTdXVUZEZWtRc1NVRkJTU3hQUVVGUExFVkJRMWc3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJSU3hEUVVGRkxFOUJRVThzUTBGQlF5eEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJSU3hIUVVGSExFTkJRVVVzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVVc1EwRkJSU3hIUVVGSExFZEJRVWNzUTBGQlF6dG5Ra0ZETDBVc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlJTeERRVUZGTEVOQlFVVXNRMEZCUlN4UFFVRlBMRU5CUVVNc1IwRkJSeXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVVXNSMEZCUnl4RFFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVjBGQlZ5eERRVUZGTEVOQlFVVXNSMEZCUnl4SFFVRkhMRU5CUVVVc1EwRkJRenRuUWtGRmRFWXNTVUZCU1N4RFFVRkRMR0ZCUVdFc1IwRkJSeXhGUVVGRkxFTkJRVU03WjBKQlEzaENMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVUdHZRa0ZETTBJN2QwSkJRME1zUTBGQlF6dDNRa0ZEUkN4RFFVRkRPM2RDUVVORUxFTkJRVU1zUlVGQlJTeERRVUZETzNGQ1FVTktMRU5CUVVNN1lVRkRSanRUUVVORU8xRkJSVVFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlUwc1RVRkJUVHRSUVVWYUxFOUJRVThzTmtSQlFVc3NSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFVkJRVWNzUzBGQlN5eEZRVUZITEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlEzSkZMRWxCUVVrc1EwRkJReXhqUVVGakxFTkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRkxFTkJRemRETEVOQlFVTTdTVUZEVWl4RFFVRkRPME5CUTBRaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmY0dGdVpXeGhibU5vYjNJdWRITjRMbXB6SWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNRZ1puSnZiU0FuY21WaFkzUW5PMXh5WEc1Y2NseHVhVzF3YjNKMElIc2dRWFpPYjJSbFZIbHdaU0I5SUdaeWIyMGdKMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJRbUZ6WlU1dlpHVXNJRUYyUW1GelpVNXZaR1ZRY205d2N5QjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZbUZ6WlY5dWIyUmxKenRjY2x4dVhISmNiaThxS2lCVFpYUnpJSFJvWlNCMGNtRnVjMlp2Y20wZ2IyWWdhWFJ6SUdOb2FXeGtjbVZ1SUhSdklIUm9aU0JqWlc1MFpYSWdiMllnZEdobElIQmhibVZzSUdGdVkyaHZjaWR6SUVSUFRTQnViMlJsWEhKY2JpQXFJR2x1SUdsMGN5QndZWEpsYm5RZ1FYWlFZVzVsYkM0Z1ZHaHBjeUJwY3lCMWMyVm1kV3dnWm05eUlHUnlZWGRwYm1jZ2JXOWtaV3h6SUdGdVpDQnZkR2hsY2lCdWIyUmxjeUJwYmlCaElGeHlYRzRnS2lCeVpXRnpiMjVoWW14bElIQnZjMmwwYVc5dUlISmxiR0YwYVhabElIUnZJSFJsZUhRZ2IyNGdZU0J3WVc1bGJDNWNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCQmRsQmhibVZzUVc1amFHOXlJR1Y0ZEdWdVpITWdRWFpDWVhObFRtOWtaVHdnUVhaQ1lYTmxUbTlrWlZCeWIzQnpMQ0I3ZlNBK0lGeHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRYM0psWmlBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmp4SVZFMU1SR2wyUld4bGJXVnVkRDRvS1R0Y2NseHVYSEpjYmx4MGNIVmliR2xqSUdKMWFXeGtUbTlrWlNncFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHNXZaR1VnUFNCMGFHbHpMbU55WldGMFpVNXZaR1ZQWW1wbFkzUW9JRUYyVG05a1pWUjVjR1V1VkhKaGJuTm1iM0p0TENCMGFHbHpMbTFmYm05a1pVbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWJWOXlaV1l1WTNWeWNtVnVkQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQmtiMjFTWldOMElEMGdkR2hwY3k1dFgzSmxaaTVqZFhKeVpXNTBMbWRsZEVKdmRXNWthVzVuUTJ4cFpXNTBVbVZqZENncE8xeHlYRzVjZEZ4MFhIUnBaaWdnWkc5dFVtVmpkQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnNaWFFnZUNBOUlDZ2dLQ0JrYjIxU1pXTjBMbXhsWm5RZ0t5QmtiMjFTWldOMExuSnBaMmgwSUNrZ0x5QW9JRElnS2lCM2FXNWtiM2N1YVc1dVpYSlhhV1IwYUNBcElDa2dMU0F3TGpVN1hISmNibHgwWEhSY2RGeDBiR1YwSUhrZ1BTQXRJQ2dnS0NBb0lHUnZiVkpsWTNRdWRHOXdJQ3NnWkc5dFVtVmpkQzVpYjNSMGIyMGdLU0F2SUNnZ01pQXFJSGRwYm1SdmR5NXBibTVsY2tobGFXZG9kQ0FwSUNrZ0xTQXdMalVnS1R0Y2NseHVYSEpjYmx4MFhIUmNkRngwYm05a1pTNXdjbTl3VkhKaGJuTm1iM0p0SUQwZ2UzMDdYSEpjYmx4MFhIUmNkRngwYm05a1pTNXdjbTl3VkhKaGJuTm1iM0p0TG5CdmMybDBhVzl1SUQxY2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSNExGeHlYRzVjZEZ4MFhIUmNkRngwZVN4Y2NseHVYSFJjZEZ4MFhIUmNkSG82SURBc1hISmNibHgwWEhSY2RGeDBmVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RISmxkSFZ5YmlCdWIyUmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxibVJsY2lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRHhrYVhZZ2NtVm1QWHNnZEdocGN5NXRYM0psWmlCOUlITjBlV3hsUFhzZ2V5Qm9aV2xuYUhRNklGd2lNVEF3SlZ3aUxDQjNhV1IwYURvZ1hDSXhNREFsWENJZ2ZYMCtYSEpjYmx4MFhIUmNkSHNnZEdocGN5NWlZWE5sVG05a1pWSmxibVJsY2lnZ2RHaHBjeXdnZEdocGN5NXdjbTl3Y3k1amFHbHNaSEpsYmlBcElIMWNjbHh1WEhSY2REd3ZaR2wyUGp0Y2NseHVYSFI5WEhKY2JuMGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYWFyZHZhcmtfcGFuZWxhbmNob3IudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19wYXJlbnRfdHJhbnNmb3JtLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya19wYXJlbnRfdHJhbnNmb3JtLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdlBhcmVudFRyYW5zZm9ybSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZQYXJlbnRUcmFuc2Zvcm1cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2UGFyZW50VHJhbnNmb3JtOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcblxcclxcblxcclxcbi8qKiBDYXVzZXMgYSBsaW5lIHRvIGFwcGVhciBmcm9tIHRoZSB0cmFuc2Zvcm0gb2YgdGhpcyBub2RlJ3MgcGFyZW50IHRvIHRoZVxcclxcbiAqIHNwZWNpZmllZCBlbmQgcG9pbnQuICovXFxyXFxuY2xhc3MgQXZQYXJlbnRUcmFuc2Zvcm0gZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uUGFyZW50VHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIG5vZGUucHJvcFBhcmVudEFkZHIgPSB0aGlzLnByb3BzLnBhcmVudElkO1xcclxcbiAgICAgICAgcmV0dXJuIG5vZGU7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl3WVhKbGJuUmZkSEpoYm5ObWIzSnRMblJ6ZUQ4d1l6TTRJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJiVVU3UVVGRFNUdEJRVmwyUlRzd1FrRkRNRUk3UVVGRGJrSXNUVUZCVFN4cFFrRkJhMElzVTBGQlVTdzRSRUZCZDBNN1NVRkZka1VzVTBGQlV6dFJRVVZtTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUlN4elJVRkJWU3hEUVVGRExHVkJRV1VzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVNN1VVRkRPVVVzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF6dFJRVU14UXl4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOaUxFTkJRVU03UTBGRFJDSXNJbVpwYkdVaU9pSXVMM055WXk5aFlYSmtkbUZ5YTE5d1lYSmxiblJmZEhKaGJuTm1iM0p0TG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVGMlFtRnpaVTV2WkdVc0lFRjJRbUZ6WlU1dlpHVlFjbTl3Y3lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlltRnpaVjl1YjJSbEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaT2IyUmxWSGx3WlN3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dVhISmNiaThxS2lCUWNtOXdjeUJtYjNJZ2UwQnNhVzVySUVGMlVHRnlaVzUwVkhKaGJuTm1iM0p0ZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVUdGeVpXNTBWSEpoYm5ObWIzSnRVSEp2Y0hNZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFVISnZjSE5jY2x4dWUxeHlYRzVjZEM4cUtpQlVhR1VnWlc1a2NHOXBiblFnWVdSa2NtVnpjeUJ2WmlCMGFHVWdibTlrWlNCMGFHRjBJSE5vYjNWc1pDQmlaU0IwYUdVZ2NHRnlaVzUwSUc5bUlIUm9hWE1nWEhKY2JseDBJQ29nYm05a1pTNWNjbHh1WEhRZ0tpOWNjbHh1WEhSd1lYSmxiblJKWkRvZ1JXNWtjRzlwYm5SQlpHUnlPMXh5WEc1OVhISmNibHh5WEc1Y2NseHVMeW9xSUVOaGRYTmxjeUJoSUd4cGJtVWdkRzhnWVhCd1pXRnlJR1p5YjIwZ2RHaGxJSFJ5WVc1elptOXliU0J2WmlCMGFHbHpJRzV2WkdVbmN5QndZWEpsYm5RZ2RHOGdkR2hsSUZ4eVhHNGdLaUJ6Y0dWamFXWnBaV1FnWlc1a0lIQnZhVzUwTGlBcUwxeHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWlFZWEpsYm5SVWNtRnVjMlp2Y20wZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFBDQkJkbEJoY21WdWRGUnlZVzV6Wm05eWJWQnliM0J6TENCN2ZTQStYSEpjYm50Y2NseHVYSFJ3ZFdKc2FXTWdZblZwYkdST2IyUmxLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYm05a1pTQTlJSFJvYVhNdVkzSmxZWFJsVG05a1pVOWlhbVZqZENnZ1FYWk9iMlJsVkhsd1pTNVFZWEpsYm5SVWNtRnVjMlp2Y20wc0lIUm9hWE11YlY5dWIyUmxTV1FnS1R0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0ZCaGNtVnVkRUZrWkhJZ1BTQjBhR2x6TG5CeWIzQnpMbkJoY21WdWRFbGtPMXh5WEc1Y2RGeDBjbVYwZFhKdUlHNXZaR1U3WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19wYXJlbnRfdHJhbnNmb3JtLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvYWFyZHZhcmtfcHJpbWl0aXZlLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FhcmR2YXJrX3ByaW1pdGl2ZS50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBQcmltaXRpdmVUeXBlLCBQcmltaXRpdmVZT3JpZ2luLCBQcmltaXRpdmVYT3JpZ2luLCBQcmltaXRpdmVaT3JpZ2luLCBBdlByaW1pdGl2ZSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlVHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlVHlwZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWU9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlWU9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWE9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlWE9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWk9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUHJpbWl0aXZlWk9yaWdpbjsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZQcmltaXRpdmVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2UHJpbWl0aXZlOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIFByaW1pdGl2ZVR5cGU7XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVUeXBlKSB7XFxyXFxuICAgIFByaW1pdGl2ZVR5cGVbXFxcIkN1YmVcXFwiXSA9IFxcXCJjdWJlXFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlVHlwZVtcXFwiU3BoZXJlXFxcIl0gPSBcXFwic3BoZXJlXFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlVHlwZVtcXFwiQ3lsaW5kZXJcXFwiXSA9IFxcXCJjeWxpbmRlclxcXCI7XFxyXFxufSkoUHJpbWl0aXZlVHlwZSB8fCAoUHJpbWl0aXZlVHlwZSA9IHt9KSk7XFxyXFxudmFyIFByaW1pdGl2ZVlPcmlnaW47XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVZT3JpZ2luKSB7XFxyXFxuICAgIFByaW1pdGl2ZVlPcmlnaW5bXFxcIlRvcFxcXCJdID0gXFxcInRvcFxcXCI7XFxyXFxuICAgIFByaW1pdGl2ZVlPcmlnaW5bXFxcIkJvdHRvbVxcXCJdID0gXFxcImJvdHRvbVxcXCI7XFxyXFxuICAgIFByaW1pdGl2ZVlPcmlnaW5bXFxcIkNlbnRlclxcXCJdID0gXFxcImNlbnRlclxcXCI7XFxyXFxufSkoUHJpbWl0aXZlWU9yaWdpbiB8fCAoUHJpbWl0aXZlWU9yaWdpbiA9IHt9KSk7XFxyXFxudmFyIFByaW1pdGl2ZVhPcmlnaW47XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVYT3JpZ2luKSB7XFxyXFxuICAgIFByaW1pdGl2ZVhPcmlnaW5bXFxcIkxlZnRcXFwiXSA9IFxcXCJsZWZ0XFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlWE9yaWdpbltcXFwiUmlnaHRcXFwiXSA9IFxcXCJyaWdodFxcXCI7XFxyXFxuICAgIFByaW1pdGl2ZVhPcmlnaW5bXFxcIkNlbnRlclxcXCJdID0gXFxcImNlbnRlclxcXCI7XFxyXFxufSkoUHJpbWl0aXZlWE9yaWdpbiB8fCAoUHJpbWl0aXZlWE9yaWdpbiA9IHt9KSk7XFxyXFxudmFyIFByaW1pdGl2ZVpPcmlnaW47XFxyXFxuKGZ1bmN0aW9uIChQcmltaXRpdmVaT3JpZ2luKSB7XFxyXFxuICAgIFByaW1pdGl2ZVpPcmlnaW5bXFxcIkZvcndhcmRcXFwiXSA9IFxcXCJmb3J3YXJkXFxcIjtcXHJcXG4gICAgUHJpbWl0aXZlWk9yaWdpbltcXFwiQmFja1xcXCJdID0gXFxcImJhY2tcXFwiO1xcclxcbiAgICBQcmltaXRpdmVaT3JpZ2luW1xcXCJDZW50ZXJcXFwiXSA9IFxcXCJjZW50ZXJcXFwiO1xcclxcbn0pKFByaW1pdGl2ZVpPcmlnaW4gfHwgKFByaW1pdGl2ZVpPcmlnaW4gPSB7fSkpO1xcclxcbmZ1bmN0aW9uIEF2UHJpbWl0aXZlKHByb3BzKSB7XFxyXFxuICAgIHZhciBfYSwgX2IsIF9jLCBfZCwgX2UsIF9mLCBfZywgX2gsIF9qO1xcclxcbiAgICBsZXQgeFNjYWxlID0gKF9hID0gcHJvcHMud2lkdGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICgoX2IgPSBwcm9wcy5yYWRpdXMpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDEuMCk7XFxyXFxuICAgIGxldCB5U2NhbGUgPSAoX2MgPSBwcm9wcy5oZWlnaHQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6ICgoX2QgPSBwcm9wcy5yYWRpdXMpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IDEuMCk7XFxyXFxuICAgIGxldCB6U2NhbGUgPSAoX2UgPSBwcm9wcy5kZXB0aCkgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogKChfZiA9IHByb3BzLnJhZGl1cykgIT09IG51bGwgJiYgX2YgIT09IHZvaWQgMCA/IF9mIDogMS4wKTtcXHJcXG4gICAgbGV0IHhPZmZzZXQ7XFxyXFxuICAgIHN3aXRjaCAoKF9nID0gcHJvcHMub3JpZ2luWCkgIT09IG51bGwgJiYgX2cgIT09IHZvaWQgMCA/IF9nIDogUHJpbWl0aXZlWE9yaWdpbi5DZW50ZXIpIHtcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWE9yaWdpbi5DZW50ZXI6XFxyXFxuICAgICAgICAgICAgeE9mZnNldCA9IDA7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVhPcmlnaW4uTGVmdDpcXHJcXG4gICAgICAgICAgICB4T2Zmc2V0ID0geFNjYWxlIC8gMjtcXHJcXG4gICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWE9yaWdpbi5SaWdodDpcXHJcXG4gICAgICAgICAgICB4T2Zmc2V0ID0gLXhTY2FsZSAvIDI7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgIH1cXHJcXG4gICAgbGV0IHlPZmZzZXQ7XFxyXFxuICAgIHN3aXRjaCAoKF9oID0gcHJvcHMub3JpZ2luWSkgIT09IG51bGwgJiYgX2ggIT09IHZvaWQgMCA/IF9oIDogUHJpbWl0aXZlWU9yaWdpbi5DZW50ZXIpIHtcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWU9yaWdpbi5DZW50ZXI6XFxyXFxuICAgICAgICAgICAgeU9mZnNldCA9IDA7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVlPcmlnaW4uQm90dG9tOlxcclxcbiAgICAgICAgICAgIHlPZmZzZXQgPSB5U2NhbGUgLyAyO1xcclxcbiAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgY2FzZSBQcmltaXRpdmVZT3JpZ2luLlRvcDpcXHJcXG4gICAgICAgICAgICB5T2Zmc2V0ID0gLXlTY2FsZSAvIDI7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgIH1cXHJcXG4gICAgbGV0IHpPZmZzZXQ7XFxyXFxuICAgIHN3aXRjaCAoKF9qID0gcHJvcHMub3JpZ2luWikgIT09IG51bGwgJiYgX2ogIT09IHZvaWQgMCA/IF9qIDogUHJpbWl0aXZlWk9yaWdpbi5DZW50ZXIpIHtcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlWk9yaWdpbi5DZW50ZXI6XFxyXFxuICAgICAgICAgICAgek9mZnNldCA9IDA7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVpPcmlnaW4uRm9yd2FyZDpcXHJcXG4gICAgICAgICAgICB6T2Zmc2V0ID0gLXpTY2FsZSAvIDI7XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVpPcmlnaW4uQmFjazpcXHJcXG4gICAgICAgICAgICB6T2Zmc2V0ID0gelNjYWxlIC8gMjtcXHJcXG4gICAgICAgICAgICBicmVhaztcXHJcXG4gICAgfVxcclxcbiAgICBsZXQgbW9kZWxVcmk7XFxyXFxuICAgIHN3aXRjaCAocHJvcHMudHlwZSkge1xcclxcbiAgICAgICAgY2FzZSBQcmltaXRpdmVUeXBlLkN1YmU6XFxyXFxuICAgICAgICAgICAgbW9kZWxVcmkgPSBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiZ19idWlsdGluTW9kZWxCb3hcXFwiXTtcXHJcXG4gICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5DeWxpbmRlcjpcXHJcXG4gICAgICAgICAgICBtb2RlbFVyaSA9IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJnX2J1aWx0aW5Nb2RlbEN5bGluZGVyXFxcIl07XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICBjYXNlIFByaW1pdGl2ZVR5cGUuU3BoZXJlOlxcclxcbiAgICAgICAgICAgIG1vZGVsVXJpID0gX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcImdfYnVpbHRpbk1vZGVsU3BoZXJlXFxcIl07XFxyXFxuICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgIH1cXHJcXG4gICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgc2NhbGVYOiB4U2NhbGUsIHNjYWxlWTogeVNjYWxlLCBzY2FsZVo6IHpTY2FsZSwgdHJhbnNsYXRlWDogeE9mZnNldCwgdHJhbnNsYXRlWTogeU9mZnNldCwgdHJhbnNsYXRlWjogek9mZnNldCB9LFxcclxcbiAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiBtb2RlbFVyaSwgY29sb3I6IHByb3BzLmNvbG9yLCBvdmVybGF5T25seTogcHJvcHMub3ZlcmxheU9ubHkgfSkpO1xcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXdjbWx0YVhScGRtVXVkSE40UHpFeE9XRWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFUaEhPMEZCUlM5Rk8wRkJRMWs3UVVGRFVUdEJRVVZ1UkN4SlFVRlpMR0ZCUzFnN1FVRk1SQ3hYUVVGWkxHRkJRV0U3U1VGRmVFSXNPRUpCUVdFN1NVRkRZaXhyUTBGQmFVSTdTVUZEYWtJc2MwTkJRWEZDTzBGQlEzUkNMRU5CUVVNc1JVRk1WeXhoUVVGaExFdEJRV0lzWVVGQllTeFJRVXQ0UWp0QlFVVkVMRWxCUVZrc1owSkJTMWc3UVVGTVJDeFhRVUZaTEdkQ1FVRm5RanRKUVVVelFpd3JRa0ZCVnp0SlFVTllMSEZEUVVGcFFqdEpRVU5xUWl4eFEwRkJhVUk3UVVGRGJFSXNRMEZCUXl4RlFVeFhMR2RDUVVGblFpeExRVUZvUWl4blFrRkJaMElzVVVGTE0wSTdRVUZGUkN4SlFVRlpMR2RDUVV0WU8wRkJURVFzVjBGQldTeG5Ra0ZCWjBJN1NVRkZNMElzYVVOQlFXRTdTVUZEWWl4dFEwRkJaVHRKUVVObUxIRkRRVUZwUWp0QlFVTnNRaXhEUVVGRExFVkJURmNzWjBKQlFXZENMRXRCUVdoQ0xHZENRVUZuUWl4UlFVc3pRanRCUVVWRUxFbEJRVmtzWjBKQlMxZzdRVUZNUkN4WFFVRlpMR2RDUVVGblFqdEpRVVV6UWl4MVEwRkJiVUk3U1VGRGJrSXNhVU5CUVdFN1NVRkRZaXh4UTBGQmFVSTdRVUZEYkVJc1EwRkJReXhGUVV4WExHZENRVUZuUWl4TFFVRm9RaXhuUWtGQlowSXNVVUZMTTBJN1FVRnhSVTBzVTBGQlV5eFhRVUZYTEVOQlFVVXNTMEZCZFVJN08wbEJSVzVFTEVsQlFVa3NUVUZCVFN4VFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExHMURRVUZKTEU5QlFVVXNTMEZCU3l4RFFVRkRMRTFCUVUwc2JVTkJRVWtzUjBGQlJ5eERRVUZGTEVOQlFVTTdTVUZEY0VRc1NVRkJTU3hOUVVGTkxGTkJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNiVU5CUVVrc1QwRkJSU3hMUVVGTExFTkJRVU1zVFVGQlRTeHRRMEZCU1N4SFFVRkhMRU5CUVVVc1EwRkJRenRKUVVOeVJDeEpRVUZKTEUxQlFVMHNVMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXh0UTBGQlNTeFBRVUZGTEV0QlFVc3NRMEZCUXl4TlFVRk5MRzFEUVVGSkxFZEJRVWNzUTBGQlJTeERRVUZETzBsQlJYQkVMRWxCUVVrc1QwRkJaU3hEUVVGRE8wbEJRM0JDTEdOQlFWRXNTMEZCU3l4RFFVRkRMRTlCUVU4c2JVTkJRVWtzWjBKQlFXZENMRU5CUVVNc1RVRkJUU3hGUVVOb1JEdFJRVU5ETEV0QlFVc3NaMEpCUVdkQ0xFTkJRVU1zVFVGQlRUdFpRVU16UWl4UFFVRlBMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMW9zVFVGQlRUdFJRVVZRTEV0QlFVc3NaMEpCUVdkQ0xFTkJRVU1zU1VGQlNUdFpRVU42UWl4UFFVRlBMRWRCUVVjc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU55UWl4TlFVRk5PMUZCUlZBc1MwRkJTeXhuUWtGQlowSXNRMEZCUXl4TFFVRkxPMWxCUXpGQ0xFOUJRVThzUjBGQlJ5eERRVUZETEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRkRUlzVFVGQlRUdExRVU5RTzBsQlJVUXNTVUZCU1N4UFFVRmxMRU5CUVVNN1NVRkRjRUlzWTBGQlVTeExRVUZMTEVOQlFVTXNUMEZCVHl4dFEwRkJTU3huUWtGQlowSXNRMEZCUXl4TlFVRk5MRVZCUTJoRU8xRkJRME1zUzBGQlN5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTk8xbEJRek5DTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRXaXhOUVVGTk8xRkJSVkFzUzBGQlN5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTk8xbEJRek5DTEU5QlFVOHNSMEZCUnl4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM0pDTEUxQlFVMDdVVUZGVUN4TFFVRkxMR2RDUVVGblFpeERRVUZETEVkQlFVYzdXVUZEZUVJc1QwRkJUeXhIUVVGSExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjBRaXhOUVVGTk8wdEJRMUE3U1VGRlJDeEpRVUZKTEU5QlFXVXNRMEZCUXp0SlFVTndRaXhqUVVGUkxFdEJRVXNzUTBGQlF5eFBRVUZQTEcxRFFVRkpMR2RDUVVGblFpeERRVUZETEUxQlFVMHNSVUZEYUVRN1VVRkRReXhMUVVGTExHZENRVUZuUWl4RFFVRkRMRTFCUVUwN1dVRkRNMElzVDBGQlR5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTmFMRTFCUVUwN1VVRkZVQ3hMUVVGTExHZENRVUZuUWl4RFFVRkRMRTlCUVU4N1dVRkROVUlzVDBGQlR5eEhRVUZITEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOMFFpeE5RVUZOTzFGQlJWQXNTMEZCU3l4blFrRkJaMElzUTBGQlF5eEpRVUZKTzFsQlEzcENMRTlCUVU4c1IwRkJSeXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzSkNMRTFCUVUwN1MwRkRVRHRKUVVWRUxFbEJRVWtzVVVGQlowSXNRMEZCUXp0SlFVTnlRaXhSUVVGUkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlEyeENPMUZCUTBNc1MwRkJTeXhoUVVGaExFTkJRVU1zU1VGQlNUdFpRVU4wUWl4UlFVRlJMRWRCUVVjc05rVkJRV2xDTEVOQlFVTTdXVUZETjBJc1RVRkJUVHRSUVVWUUxFdEJRVXNzWVVGQllTeERRVUZETEZGQlFWRTdXVUZETVVJc1VVRkJVU3hIUVVGSExHdEdRVUZ6UWl4RFFVRkRPMWxCUTJ4RExFMUJRVTA3VVVGRlVDeExRVUZMTEdGQlFXRXNRMEZCUXl4TlFVRk5PMWxCUTNoQ0xGRkJRVkVzUjBGQlJ5eG5Sa0ZCYjBJc1EwRkJRenRaUVVOb1F5eE5RVUZOTzB0QlExQTdTVUZGUkN4UFFVRlBMRzlFUVVGRExDdEVRVUZYTEVsQlFVTXNUVUZCVFN4RlFVRkhMRTFCUVUwc1JVRkJSeXhOUVVGTkxFVkJRVWNzVFVGQlRTeEZRVUZITEUxQlFVMHNSVUZCUnl4TlFVRk5MRVZCUTNSRkxGVkJRVlVzUlVGQlJ5eFBRVUZQTEVWQlFVY3NWVUZCVlN4RlFVRkhMRTlCUVU4c1JVRkJSeXhWUVVGVkxFVkJRVWNzVDBGQlR6dFJRVU5xUlN4dlJFRkJReXgxUkVGQlR5eEpRVUZETEVkQlFVY3NSVUZCUnl4UlFVRlJMRVZCUVVVc1MwRkJTeXhGUVVGSExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVY3NWMEZCVnl4RlFVRkhMRXRCUVVzc1EwRkJReXhYUVVGWExFZEJRVWtzUTBGRGNrVXNRMEZCUXp0QlFVTnFRaXhEUVVGRElpd2labWxzWlNJNklpNHZjM0pqTDJGaGNtUjJZWEpyWDNCeWFXMXBkR2wyWlM1MGMzZ3Vhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCblgySjFhV3gwYVc1TmIyUmxiRU41YkdsdVpHVnlMQ0JuWDJKMWFXeDBhVzVOYjJSbGJFSnZlQ3dnWjE5aWRXbHNkR2x1VFc5a1pXeFRjR2hsY21VZ2ZTQm1jbTl0SUNkQVlXRnlaSFpoY210NGNpOWhZWEprZG1GeWF5MXphR0Z5WldRbk8xeHlYRzVwYlhCdmNuUWdleUJRVDBsT1ZGOURUMDVXUlZKVFNVOU9YME5QVFZCU1JWTlRSVVFnZlNCbWNtOXRJQ2RqYjI1emRHRnVkSE1uTzF4eVhHNXBiWEJ2Y25RZ0tpQmhjeUJTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJUVzlrWld3Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyMXZaR1ZzSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpVY21GdWMyWnZjbTBnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDNSeVlXNXpabTl5YlNjN1hISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQlFjbWx0YVhScGRtVlVlWEJsWEhKY2JudGNjbHh1WEhSRGRXSmxJRDBnWENKamRXSmxYQ0lzWEhKY2JseDBVM0JvWlhKbElEMGdYQ0p6Y0dobGNtVmNJaXhjY2x4dVhIUkRlV3hwYm1SbGNpQTlJRndpWTNsc2FXNWtaWEpjSWl4Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHVnVkVzBnVUhKcGJXbDBhWFpsV1U5eWFXZHBibHh5WEc1N1hISmNibHgwVkc5d0lEMGdYQ0owYjNCY0lpeGNjbHh1WEhSQ2IzUjBiMjBnUFNCY0ltSnZkSFJ2YlZ3aUxGeHlYRzVjZEVObGJuUmxjaUE5SUZ3aVkyVnVkR1Z5WENJc1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQmxiblZ0SUZCeWFXMXBkR2wyWlZoUGNtbG5hVzVjY2x4dWUxeHlYRzVjZEV4bFpuUWdQU0JjSW14bFpuUmNJaXhjY2x4dVhIUlNhV2RvZENBOUlGd2ljbWxuYUhSY0lpeGNjbHh1WEhSRFpXNTBaWElnUFNCY0ltTmxiblJsY2x3aUxGeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCUWNtbHRhWFJwZG1WYVQzSnBaMmx1WEhKY2JudGNjbHh1WEhSR2IzSjNZWEprSUQwZ1hDSm1iM0ozWVhKa1hDSXNYSEpjYmx4MFFtRmpheUE5SUZ3aVltRmphMXdpTEZ4eVhHNWNkRU5sYm5SbGNpQTlJRndpWTJWdWRHVnlYQ0lzWEhKY2JuMWNjbHh1WEhKY2JpOHFLaUJRY205d2N5Qm1iM0lnZTBCc2FXNXJJRUYyVUhKcGJXbDBhWFpsZlNBcUwxeHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUYyVUhKcGJXbDBhWFpsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCWGFHRjBJR3RwYm1RZ2IyWWdjSEpwYldsMGFYWmxJSFJ2SUdScGMzQnNZWGtnS2k5Y2NseHVYSFIwZVhCbE9pQlFjbWx0YVhScGRtVlVlWEJsTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdobGFXZG9kQ0J2WmlCMGFHVWdjSEpwYldsMGFYWmxMaUJjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0F4TGpBZ2JXVjBaWEpjY2x4dVhIUWdLaTljY2x4dVhIUm9aV2xuYUhRL09pQnVkVzFpWlhJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ2QybGtkR2dnYjJZZ2RHaGxJSEJ5YVcxcGRHbDJaUzRnWEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnTVM0d0lHMWxkR1Z5WEhKY2JseDBJQ292WEhKY2JseDBkMmxrZEdnL09pQnVkVzFpWlhJN1hISmNibHh5WEc1Y2RDOHFLaUJVYUdVZ1pHVndkR2dnYjJZZ2RHaGxJSEJ5YVcxcGRHbDJaUzRnWEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnTVM0d0lHMWxkR1Z5WEhKY2JseDBJQ292WEhKY2JseDBaR1Z3ZEdnL09pQnVkVzFpWlhJN1hISmNibHh5WEc1Y2RDOHFLaUJKWmlCeVlXUnBkWE1nYVhNZ2MyVjBMQ0IzYVdSMGFDd2dhR1ZwWjJoMExDQmhibVFnWkdWd2RHZ2dZV3hzWEhKY2JseDBJQ29nWkdWbVlYVnNkQ0IwYnlCMGFHbHpJSFpoYkhWbExpQlBkR2hsY25kcGMyVXNJR2wwSUdoaGN5QnVieUJsWm1abFkzUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdibTl1WlZ4eVhHNWNkQ0FxTDF4eVhHNWNkSEpoWkdsMWN6ODZJRzUxYldKbGNqdGNjbHh1WEhKY2JseDBMeW9xSUZSb1pTQmpiMnh2Y2lCdlppQjBhR1VnY0hKcGJXbDBhWFpsWEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnZDJocGRHVmNjbHh1WEhRZ0tpOWNjbHh1WEhSamIyeHZjajg2SUhOMGNtbHVaenRjY2x4dVhISmNibHgwTHlvcUlGUm9aU0IyWlhKMGFXTmhiQ0JoYkdsbmJtMWxiblFnYjJZZ2RHaGxJSEJ5YVcxcGRHbDJaUzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JEWlc1MFpYSmNjbHh1WEhRZ0tpOWNjbHh1WEhSdmNtbG5hVzVaUHpvZ1VISnBiV2wwYVhabFdVOXlhV2RwYmp0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCc1pXWjBMM0pwWjJoMElHRnNhV2R1YldWdWRDQnZaaUIwYUdVZ2NISnBiV2wwYVhabExseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElFTmxiblJsY2x4eVhHNWNkQ0FxTDF4eVhHNWNkRzl5YVdkcGJsZy9PaUJRY21sdGFYUnBkbVZZVDNKcFoybHVPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJR1p2Y25kaGNtUXZZbUZqYXlCaGJHbG5ibTFsYm5RZ2IyWWdkR2hsSUhCeWFXMXBkR2wyWlM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCRFpXNTBaWEpjY2x4dVhIUWdLaTljY2x4dVhIUnZjbWxuYVc1YVB6b2dVSEpwYldsMGFYWmxXazl5YVdkcGJqdGNjbHh1WEhKY2JseDBMeW9xSUU5dWJIa2dkR2hsSUhCaGNuUnpJRzltSUhSb1pTQnRiMlJsYkNCMGFHRjBJR0Z5WlNCY0ltOXVJSFJ2Y0Z3aUlHOW1JR0Z1YjNSb1pYSmNjbHh1WEhRZ0tpQkJZWEprZG1GeWF5MXlaVzVrWlhKbFpDQndhWGhsYkNCemFHOTFiR1FnWW1VZ1pISmhkMjR1SUZSb2FYTWdZMkZ1SUdKbElIVnpaV1FnWEhKY2JseDBJQ29nZEc4Z1pISmhkeUJCWVhKa2RtRnlheUJ5WlhCc1lXTmxiV1Z1ZEhNZ1ptOXlJSFJvYVc1bmN5QjBhR0YwSUc5MGFHVnlJRnh5WEc1Y2RDQXFJRUZoY21SMllYSnJMV1J5WVhkdUlHZGxiMjFsZEhKNUlHMWhlU0JpWlNCb2FXUnBibWNzSUhOMVkyZ2dZWE1nYUdGdVpDQnRiMlJsYkhNdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ1ptRnNjMlZjY2x4dVhIUWdLaTljY2x4dVhIUnZkbVZ5YkdGNVQyNXNlVDg2SUdKdmIyeGxZVzQ3WEhKY2JseHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUVGMlVISnBiV2wwYVhabEtDQndjbTl3Y3pvZ1FYWlFjbWx0YVhScGRtVlFjbTl3Y3lBcFhISmNibnRjY2x4dVhIUnNaWFFnZUZOallXeGxJRDBnY0hKdmNITXVkMmxrZEdnZ1B6OGdLQ0J3Y205d2N5NXlZV1JwZFhNZ1B6OGdNUzR3SUNrN1hISmNibHgwYkdWMElIbFRZMkZzWlNBOUlIQnliM0J6TG1obGFXZG9kQ0EvUHlBb0lIQnliM0J6TG5KaFpHbDFjeUEvUHlBeExqQWdLVHRjY2x4dVhIUnNaWFFnZWxOallXeGxJRDBnY0hKdmNITXVaR1Z3ZEdnZ1B6OGdLQ0J3Y205d2N5NXlZV1JwZFhNZ1B6OGdNUzR3SUNrN1hISmNibHh5WEc1Y2RHeGxkQ0I0VDJabWMyVjBPaUJ1ZFcxaVpYSTdYSEpjYmx4MGMzZHBkR05vS0NCd2NtOXdjeTV2Y21sbmFXNVlJRDgvSUZCeWFXMXBkR2wyWlZoUGNtbG5hVzR1UTJWdWRHVnlJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUmpZWE5sSUZCeWFXMXBkR2wyWlZoUGNtbG5hVzR1UTJWdWRHVnlPbHh5WEc1Y2RGeDBYSFI0VDJabWMyVjBJRDBnTUR0Y2NseHVYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFkyRnpaU0JRY21sdGFYUnBkbVZZVDNKcFoybHVMa3hsWm5RNlhISmNibHgwWEhSY2RIaFBabVp6WlhRZ1BTQjRVMk5oYkdVZ0x5QXlPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWaFBjbWxuYVc0dVVtbG5hSFE2WEhKY2JseDBYSFJjZEhoUFptWnpaWFFnUFNBdGVGTmpZV3hsSUM4Z01qdGNjbHh1WEhSY2RGeDBZbkpsWVdzN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSc1pYUWdlVTltWm5ObGREb2diblZ0WW1WeU8xeHlYRzVjZEhOM2FYUmphQ2dnY0hKdmNITXViM0pwWjJsdVdTQS9QeUJRY21sdGFYUnBkbVZaVDNKcFoybHVMa05sYm5SbGNpQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFkyRnpaU0JRY21sdGFYUnBkbVZaVDNKcFoybHVMa05sYm5SbGNqcGNjbHh1WEhSY2RGeDBlVTltWm5ObGRDQTlJREE3WEhKY2JseDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEdOaGMyVWdVSEpwYldsMGFYWmxXVTl5YVdkcGJpNUNiM1IwYjIwNlhISmNibHgwWEhSY2RIbFBabVp6WlhRZ1BTQjVVMk5oYkdVZ0x5QXlPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWbFBjbWxuYVc0dVZHOXdPbHh5WEc1Y2RGeDBYSFI1VDJabWMyVjBJRDBnTFhsVFkyRnNaU0F2SURJN1hISmNibHgwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwYkdWMElIcFBabVp6WlhRNklHNTFiV0psY2p0Y2NseHVYSFJ6ZDJsMFkyZ29JSEJ5YjNCekxtOXlhV2RwYmxvZ1B6OGdVSEpwYldsMGFYWmxXazl5YVdkcGJpNURaVzUwWlhJZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdOaGMyVWdVSEpwYldsMGFYWmxXazl5YVdkcGJpNURaVzUwWlhJNlhISmNibHgwWEhSY2RIcFBabVp6WlhRZ1BTQXdPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWcFBjbWxuYVc0dVJtOXlkMkZ5WkRwY2NseHVYSFJjZEZ4MGVrOW1abk5sZENBOUlDMTZVMk5oYkdVZ0x5QXlPMXh5WEc1Y2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWcFBjbWxuYVc0dVFtRmphenBjY2x4dVhIUmNkRngwZWs5bVpuTmxkQ0E5SUhwVFkyRnNaU0F2SURJN1hISmNibHgwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwYkdWMElHMXZaR1ZzVlhKcE9pQnpkSEpwYm1jN1hISmNibHgwYzNkcGRHTm9LQ0J3Y205d2N5NTBlWEJsSUNsY2NseHVYSFI3WEhKY2JseDBYSFJqWVhObElGQnlhVzFwZEdsMlpWUjVjR1V1UTNWaVpUcGNjbHh1WEhSY2RGeDBiVzlrWld4VmNta2dQU0JuWDJKMWFXeDBhVzVOYjJSbGJFSnZlRHRjY2x4dVhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWTJGelpTQlFjbWx0YVhScGRtVlVlWEJsTGtONWJHbHVaR1Z5T2x4eVhHNWNkRngwWEhSdGIyUmxiRlZ5YVNBOUlHZGZZblZwYkhScGJrMXZaR1ZzUTNsc2FXNWtaWEk3WEhKY2JseDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEdOaGMyVWdVSEpwYldsMGFYWmxWSGx3WlM1VGNHaGxjbVU2WEhKY2JseDBYSFJjZEcxdlpHVnNWWEpwSUQwZ1oxOWlkV2xzZEdsdVRXOWtaV3hUY0dobGNtVTdYSEpjYmx4MFhIUmNkR0p5WldGck8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNtVjBkWEp1SUR4QmRsUnlZVzV6Wm05eWJTQnpZMkZzWlZnOWV5QjRVMk5oYkdVZ2ZTQnpZMkZzWlZrOWV5QjVVMk5oYkdVZ2ZTQnpZMkZzWlZvOWV5QjZVMk5oYkdVZ2ZWeHlYRzVjZEZ4MGRISmhibk5zWVhSbFdEMTdJSGhQWm1aelpYUWdmU0IwY21GdWMyeGhkR1ZaUFhzZ2VVOW1abk5sZENCOUlIUnlZVzV6YkdGMFpWbzlleUI2VDJabWMyVjBJSDArWEhKY2JseDBYSFJjZER4QmRrMXZaR1ZzSUhWeWFUMTdJRzF2WkdWc1ZYSnBmU0JqYjJ4dmNqMTdJSEJ5YjNCekxtTnZiRzl5SUgwZ2IzWmxjbXhoZVU5dWJIazlleUJ3Y205d2N5NXZkbVZ5YkdGNVQyNXNlU0I5THo1Y2NseHVYSFJjZER3dlFYWlVjbUZ1YzJadmNtMCtPMXh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19wcmltaXRpdmUudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19yZW5kZXIudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfcmVuZGVyLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IHJlbmRlckFhcmR2YXJrUm9vdCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwicmVuZGVyQWFyZHZhcmtSb290XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiByZW5kZXJBYXJkdmFya1Jvb3Q7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfZG9tX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdC1kb20gKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9kb21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9kb21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9kZWZhdWx0X2xhbmRpbmdfcGFnZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZWZhdWx0X2xhbmRpbmdfcGFnZSAqLyBcXFwiLi9zcmMvZGVmYXVsdF9sYW5kaW5nX3BhZ2UudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuLyoqIFVzZXMgUmVhY3RET00gdG8gcmVuZGVyIHRoZSBhcHByb3ByaWF0ZSBtYWluIGNvbXBvbmVudC4gSWYgVGhlIGdhZGdldCBpcyBydW5uaW5nIGluIEFhcmR2YXJrLFxcclxcbiAqIHRoaXMgZnVuY3Rpb24gd2lsbCB3YWl0IGZvciBpdCB0byBjb25uZWN0IHRvIHRoZSBsb2NhbCBBYXJkdmFyayBzZXJ2ZXIgYW5kIHRoZW4gcmVuZGVyIGdhZGdldE1haW4uXFxyXFxuICogSWYgdGhlIGdhZGdldCBpcyBydW5uaW5nIGluIGFub3RoZXIgYnJvd3NlciB0aGlzIGZ1bmN0aW9uIHdpbGwgcmVuZGVyIGJyb3dzZXJNYWluLlxcclxcbiAqXFxyXFxuICogQHBhcmFtIGVsZW1lbnQgdGhlIGVsZW1lbnQgdG8gcmVuZGVyIG9uIG9yIHRoZSBJRCBvZiBhbiBlbGVtZW50XFxyXFxuICogQHBhcmFtIGdhZGdldE1haW4gVGhlIFJlYWN0IGNvbXBvbmVudCB0byByZW5kZXIgd2hlbiBydW5uaW5nIGluIEFhcmR2YXJrLlxcclxcbiAqIEBwYXJhbSBicm93c2VyTWFpbiBUaGUgUmVhY3QgY29tcG9uZW50IHRvIHJlbmRlciB3aGVuIHJ1bm5pbmcgaW4gYW5vdGhlciBicm93c2VyLiBJZiB0aGlzIGlzIHVuZGVmaW5lZFxcclxcbiAqIFxcdFxcdFxcdFxcdFxcdFxcdGFuIGluc3RhbmNlIG9mIERlZmF1bHRMYW5kaW5nIHdpbGwgYmUgcmVuZGVyZWQuXFxyXFxuICovXFxyXFxuZnVuY3Rpb24gcmVuZGVyQWFyZHZhcmtSb290KGVsZW1lbnQsIGdhZGdldE1haW4sIGJyb3dzZXJNYWluKSB7XFxyXFxuICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50ID09IFxcXCJzdHJpbmdcXFwiKSB7XFxyXFxuICAgICAgICAgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IG1haW47XFxyXFxuICAgICAgICBpZiAoIU9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZcXFwiXSkoKSkge1xcclxcbiAgICAgICAgICAgIGlmICghYnJvd3Nlck1haW4pIHtcXHJcXG4gICAgICAgICAgICAgICAgYnJvd3Nlck1haW4gPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2RlZmF1bHRfbGFuZGluZ19wYWdlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkRlZmF1bHRMYW5kaW5nXFxcIl0sIG51bGwpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgYnJvd3Nlck1haW4gPT0gXFxcImZ1bmN0aW9uXFxcIikge1xcclxcbiAgICAgICAgICAgICAgICBicm93c2VyTWFpbiA9IGJyb3dzZXJNYWluKCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIG1haW4gPSBicm93c2VyTWFpbjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHlpZWxkIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLndhaXRGb3JDb25uZWN0KCk7XFxyXFxuICAgICAgICAgICAgaWYgKHR5cGVvZiBnYWRnZXRNYWluID09IFxcXCJmdW5jdGlvblxcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgZ2FkZ2V0TWFpbiA9IGdhZGdldE1haW4oKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbWFpbiA9IGdhZGdldE1haW47XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZWFjdF9kb21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwicmVuZGVyXFxcIl0obWFpbiwgZWxlbWVudCk7XFxyXFxuICAgIH0pO1xcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhZWEprZG1GeWExOXlaVzVrWlhJdWRITjRQMlUxWlRraVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3T3pzN08wRkJRV2xFTzBGQlEyeENPMEZCUTA4N1FVRkRUenRCUVVOWE8wRkJSM2hFT3pzN096czdPenRIUVZGSE8wRkJRMGtzVTBGQlpTeHJRa0ZCYTBJc1EwRkJSU3hQUVVFMlFpeEZRVU4wUlN4VlFVRXJReXhGUVVGRkxGZEJRV2xFT3p0UlFVVnNSeXhKUVVGSkxFOUJRVThzVDBGQlR5eEpRVUZKTEZGQlFWRXNSVUZET1VJN1dVRkRReXhQUVVGUExFZEJRVWNzVVVGQlVTeERRVUZETEdOQlFXTXNRMEZCUlN4UFFVRlBMRU5CUVVVc1EwRkJRenRUUVVNM1F6dFJRVVZFTEVsQlFVa3NTVUZCYVVJc1EwRkJRenRSUVVOMFFpeEpRVUZKTEVOQlFVTXNjMFZCUVVVc1JVRkJSU3hGUVVOVU8xbEJRME1zU1VGQlNTeERRVUZETEZkQlFWY3NSVUZEYUVJN1owSkJRME1zVjBGQlZ5eEhRVUZITEc5RVFVRkRMRzlGUVVGakxFOUJRVVVzUTBGQlF6dGhRVU5vUXp0cFFrRkRTU3hKUVVGSkxFOUJRVThzVjBGQlZ5eEpRVUZKTEZWQlFWVXNSVUZEZWtNN1owSkJRME1zVjBGQlZ5eEhRVUZITEZkQlFWY3NSVUZCUlN4RFFVRkRPMkZCUXpWQ08xbEJSVVFzU1VGQlNTeEhRVUZITEZkQlFWY3NRMEZCUXp0VFFVTnVRanRoUVVWRU8xbEJRME1zVFVGQlRTeDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFsQlJUTkRMRWxCUVVrc1QwRkJUeXhWUVVGVkxFbEJRVWtzVlVGQlZTeEZRVU51UXp0blFrRkRReXhWUVVGVkxFZEJRVWNzVlVGQlZTeEZRVUZGTEVOQlFVTTdZVUZETVVJN1dVRkRSQ3hKUVVGSkxFZEJRVWNzVlVGQlZTeERRVUZETzFOQlEyeENPMUZCUlVRc1owUkJRV1VzUTBGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkZMRU5CUVVNN1NVRkRiRU1zUTBGQlF6dERRVUZCSWl3aVptbHNaU0k2SWk0dmMzSmpMMkZoY21SMllYSnJYM0psYm1SbGNpNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJkaUI5SUdaeWIyMGdKMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQ2M3WEhKY2JtbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUNvZ1lYTWdVbVZoWTNSRVQwMGdabkp2YlNBbmNtVmhZM1F0Wkc5dEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFUmxabUYxYkhSTVlXNWthVzVuSUgwZ1puSnZiU0FuTGk5a1pXWmhkV3gwWDJ4aGJtUnBibWRmY0dGblpTYzdYSEpjYmx4eVhHNWNjbHh1THlvcUlGVnpaWE1nVW1WaFkzUkVUMDBnZEc4Z2NtVnVaR1Z5SUhSb1pTQmhjSEJ5YjNCeWFXRjBaU0J0WVdsdUlHTnZiWEJ2Ym1WdWRDNGdTV1lnVkdobElHZGhaR2RsZENCcGN5QnlkVzV1YVc1bklHbHVJRUZoY21SMllYSnJMRnh5WEc0Z0tpQjBhR2x6SUdaMWJtTjBhVzl1SUhkcGJHd2dkMkZwZENCbWIzSWdhWFFnZEc4Z1kyOXVibVZqZENCMGJ5QjBhR1VnYkc5allXd2dRV0Z5WkhaaGNtc2djMlZ5ZG1WeUlHRnVaQ0IwYUdWdUlISmxibVJsY2lCbllXUm5aWFJOWVdsdUxseHlYRzRnS2lCSlppQjBhR1VnWjJGa1oyVjBJR2x6SUhKMWJtNXBibWNnYVc0Z1lXNXZkR2hsY2lCaWNtOTNjMlZ5SUhSb2FYTWdablZ1WTNScGIyNGdkMmxzYkNCeVpXNWtaWElnWW5KdmQzTmxjazFoYVc0dVhISmNiaUFxSUZ4eVhHNGdLaUJBY0dGeVlXMGdaV3hsYldWdWRDQjBhR1VnWld4bGJXVnVkQ0IwYnlCeVpXNWtaWElnYjI0Z2IzSWdkR2hsSUVsRUlHOW1JR0Z1SUdWc1pXMWxiblJjY2x4dUlDb2dRSEJoY21GdElHZGhaR2RsZEUxaGFXNGdWR2hsSUZKbFlXTjBJR052YlhCdmJtVnVkQ0IwYnlCeVpXNWtaWElnZDJobGJpQnlkVzV1YVc1bklHbHVJRUZoY21SMllYSnJMbHh5WEc0Z0tpQkFjR0Z5WVcwZ1luSnZkM05sY2sxaGFXNGdWR2hsSUZKbFlXTjBJR052YlhCdmJtVnVkQ0IwYnlCeVpXNWtaWElnZDJobGJpQnlkVzV1YVc1bklHbHVJR0Z1YjNSb1pYSWdZbkp2ZDNObGNpNGdTV1lnZEdocGN5QnBjeUIxYm1SbFptbHVaV1JjY2x4dUlDb2dYSFJjZEZ4MFhIUmNkRngwWVc0Z2FXNXpkR0Z1WTJVZ2IyWWdSR1ZtWVhWc2RFeGhibVJwYm1jZ2QybHNiQ0JpWlNCeVpXNWtaWEpsWkM1Y2NseHVJQ292WEhKY2JtVjRjRzl5ZENCaGMzbHVZeUJtZFc1amRHbHZiaUJ5Wlc1a1pYSkJZWEprZG1GeWExSnZiM1FvSUdWc1pXMWxiblE2SUVoVVRVeEZiR1Z0Wlc1MElId2djM1J5YVc1bkxDQmNjbHh1WEhSbllXUm5aWFJOWVdsdU9pQktVMWd1Uld4bGJXVnVkQ0I4SUNnZ0tDa2dQVDRnU2xOWUxrVnNaVzFsYm5RZ0tTd2dZbkp2ZDNObGNrMWhhVzQvT2lCS1UxZ3VSV3hsYldWdWRDQjhJQ2dnS0NrZ1BUNGdTbE5ZTGtWc1pXMWxiblFnS1NBcFhISmNibnRjY2x4dVhIUnBaaWdnZEhsd1pXOW1JR1ZzWlcxbGJuUWdQVDBnWENKemRISnBibWRjSWlBcFhISmNibHgwZTF4eVhHNWNkRngwWld4bGJXVnVkQ0E5SUdSdlkzVnRaVzUwTG1kbGRFVnNaVzFsYm5SQ2VVbGtLQ0JsYkdWdFpXNTBJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJzWlhRZ2JXRnBiam9nU2xOWUxrVnNaVzFsYm5RN1hISmNibHgwYVdZb0lDRkJkaWdwSUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ0lXSnliM2R6WlhKTllXbHVJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWW5KdmQzTmxjazFoYVc0Z1BTQThSR1ZtWVhWc2RFeGhibVJwYm1jdlBqdGNjbHh1WEhSY2RIMWNkRnh5WEc1Y2RGeDBaV3h6WlNCcFppZ2dkSGx3Wlc5bUlHSnliM2R6WlhKTllXbHVJRDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR0p5YjNkelpYSk5ZV2x1SUQwZ1luSnZkM05sY2sxaGFXNG9LVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSdFlXbHVJRDBnWW5KdmQzTmxjazFoYVc0N1hISmNibHgwZlZ4eVhHNWNkR1ZzYzJWY2NseHVYSFI3WEhKY2JseDBYSFJoZDJGcGRDQkJka2RoWkdkbGRDNXBibk4wWVc1alpTZ3BMbmRoYVhSR2IzSkRiMjV1WldOMEtDazdYSEpjYmx4eVhHNWNkRngwYVdZb0lIUjVjR1Z2WmlCbllXUm5aWFJOWVdsdUlEMDlJRndpWm5WdVkzUnBiMjVjSWlBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHZGhaR2RsZEUxaGFXNGdQU0JuWVdSblpYUk5ZV2x1S0NrN1hISmNibHgwWEhSOVhISmNibHgwWEhSdFlXbHVJRDBnWjJGa1oyVjBUV0ZwYmp0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEZKbFlXTjBSRTlOTG5KbGJtUmxjaWdnYldGcGJpd2daV3hsYldWdWRDQXBPMXh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya19yZW5kZXIudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya19zdGFuZGFyZF9ncmFiYmFibGUudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEhpZ2hsaWdodFR5cGUsIFNob3dHcmFiYmFibGVDaGlsZHJlbiwgSGlkZGVuQ2hpbGRyZW5CZWhhdmlvciwgR3JhYmJhYmxlU3R5bGUsIEF2U3RhbmRhcmRHcmFiYmFibGUgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkhpZ2hsaWdodFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEhpZ2hsaWdodFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlNob3dHcmFiYmFibGVDaGlsZHJlblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gU2hvd0dyYWJiYWJsZUNoaWxkcmVuOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJIaWRkZW5DaGlsZHJlbkJlaGF2aW9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBIaWRkZW5DaGlsZHJlbkJlaGF2aW9yOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHcmFiYmFibGVTdHlsZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gR3JhYmJhYmxlU3R5bGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2U3RhbmRhcmRHcmFiYmFibGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2U3RhbmRhcmRHcmFiYmFibGU7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfY29tcG9zZWRfZW50aXR5LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X2luZm9fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0X2luZm8gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldF9pbmZvLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfbWVudV9pdGVtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX21lbnVfaXRlbSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbWVudV9pdGVtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfbW9kZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfbW9kZWwgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX21vZGVsLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfZ2FkZ2V0bGlzdCAqLyBcXFwiLi9zcmMvYXBpX2dhZGdldGxpc3QudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbXBvbmVudF9tb3ZlYWJsZSAqLyBcXFwiLi9zcmMvY29tcG9uZW50X21vdmVhYmxlLnRzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0ICovIFxcXCIuL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY29uc3QgZXF1YWwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBmYXN0LWRlZXAtZXF1YWwgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2Zhc3QtZGVlcC1lcXVhbC9pbmRleC5qc1xcXCIpO1xcclxcbi8qKiBUaGlzIGVudW0gZGVmaW5lcyB0aGUgcG9zc2libGUgaGlnaGxpZ2h0IHN0YXRlcyBvZiBhbiBBdkdyYWJiYWJsZS5cXHJcXG4qL1xcclxcbnZhciBIaWdobGlnaHRUeXBlO1xcclxcbihmdW5jdGlvbiAoSGlnaGxpZ2h0VHlwZSkge1xcclxcbiAgICAvKiogTm90aGluZyBpbnRlcmVzdGluZyBpcyBnb2luZyBvbiB3aXRoIHRoZSBncmFiYmFibGUuICovXFxyXFxuICAgIEhpZ2hsaWdodFR5cGVbSGlnaGxpZ2h0VHlwZVtcXFwiTm9uZVxcXCJdID0gMF0gPSBcXFwiTm9uZVxcXCI7XFxyXFxuICAgIC8qKiBUaGVyZSBpcyBhIGdyYWJiZXIgd2l0aGluIGdyYWJiaW5nIHJhbmdlIG9mIHRoZSBncmFiYmFibGUuICovXFxyXFxuICAgIEhpZ2hsaWdodFR5cGVbSGlnaGxpZ2h0VHlwZVtcXFwiSW5SYW5nZVxcXCJdID0gMV0gPSBcXFwiSW5SYW5nZVxcXCI7XFxyXFxuICAgIC8qKiBUaGVyZSBpcyBhIGdyYWJiZXIgYWN0aXZlbHkgZ3JhYmJpbmcgdGhlIGdyYWJiYWJsZSwgYW5kIGl0IGlzbid0IGF0dGFjaGVkIHRvIGFueXRoaW5nLiAqL1xcclxcbiAgICBIaWdobGlnaHRUeXBlW0hpZ2hsaWdodFR5cGVbXFxcIkdyYWJiZWRcXFwiXSA9IDJdID0gXFxcIkdyYWJiZWRcXFwiO1xcclxcbiAgICAvKiogVGhlIGdyYWJiZWQgZ3JhYmJhYmxlIGlzIHdpdGhpbiBkcm9wIHJhbmdlIG9mIGEgaG9vay4gKi9cXHJcXG4gICAgSGlnaGxpZ2h0VHlwZVtIaWdobGlnaHRUeXBlW1xcXCJJbkhvb2tSYW5nZVxcXCJdID0gM10gPSBcXFwiSW5Ib29rUmFuZ2VcXFwiO1xcclxcbiAgICAvKiogVGhlIGdyYWJiYWJsZSB3YXMgaW4gcmFuZ2UgYW5kIHRoZSB1c2VyIGlzIGhvbGRpbmcgdGhlIG1lbnUgYnV0dG9uLiAqL1xcclxcbiAgICBIaWdobGlnaHRUeXBlW0hpZ2hsaWdodFR5cGVbXFxcIk1lbnVcXFwiXSA9IDRdID0gXFxcIk1lbnVcXFwiO1xcclxcbiAgICAvKiogVGhlIGdyYWJiYWJsZSBpcyBiZWluZyBncmFiYmVkIGJ5IHRoZSBvbmUgb2YgaXRzIG5ldHdvcmtlZCBjb3BpZXMuIEl0J3MgYW5pbWF0ZWQsIGJ1dCBzaG91bGRcXHJcXG4gICAgICogbGVhdmUgaW50ZXJhY3Rpb25zIHRvIHRoZSByZW1vdGUgZW50aXR5IGl0c2VsZi5cXHJcXG4gICAgICpcXHJcXG4gICAgICogVGhpcyBoaWdobGlnaHQgdHlwZSB3aWxsIG9ubHkgYmUgcmVwb3J0ZWQgYnkgQXZOZXR3b3JrZWRHcmFiYmFibGUuXFxyXFxuICAgICAqL1xcclxcbiAgICBIaWdobGlnaHRUeXBlW0hpZ2hsaWdodFR5cGVbXFxcIkdyYWJiZWRCeVJlbW90ZVxcXCJdID0gNV0gPSBcXFwiR3JhYmJlZEJ5UmVtb3RlXFxcIjtcXHJcXG59KShIaWdobGlnaHRUeXBlIHx8IChIaWdobGlnaHRUeXBlID0ge30pKTtcXHJcXG52YXIgU2hvd0dyYWJiYWJsZUNoaWxkcmVuO1xcclxcbihmdW5jdGlvbiAoU2hvd0dyYWJiYWJsZUNoaWxkcmVuKSB7XFxyXFxuICAgIC8qKiBBbHdheXMgc2hvdyB0aGUgY2hpbGRyZW4gb2YgdGhlIEF2U3RhbmRhcmRHcmFiYmFibGUsIG5vIG1hdHRlclxcclxcbiAgICAgKiB3aGF0IHRoZSBoaWdobGlnaHQgc3RhdGUgaXMuXFxyXFxuICAgICAqL1xcclxcbiAgICBTaG93R3JhYmJhYmxlQ2hpbGRyZW5bU2hvd0dyYWJiYWJsZUNoaWxkcmVuW1xcXCJBbHdheXNcXFwiXSA9IDBdID0gXFxcIkFsd2F5c1xcXCI7XFxyXFxuICAgIC8qKiBPbmx5IHNob3cgdGhlIGNoaWxkcmVuIG9mIHRoZSBBdlN0YW5kYXJkR3JhYmJhYmxlIHdoZW4gaXQgaXNcXHJcXG4gICAgICogYmVpbmcgZ3JhYmJlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIFNob3dHcmFiYmFibGVDaGlsZHJlbltTaG93R3JhYmJhYmxlQ2hpbGRyZW5bXFxcIk9ubHlXaGVuR3JhYmJlZFxcXCJdID0gMV0gPSBcXFwiT25seVdoZW5HcmFiYmVkXFxcIjtcXHJcXG4gICAgLyoqIE9ubHkgc2hvdyB0aGUgY2hpbGRyZW4gb2YgdGhlIEF2U3RhbmRhcmRHcmFiYmFibGUgd2hlbiBpdCBpc1xcclxcbiAgICAgKiBub3QgYmVpbmcgZ3JhYmJlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIFNob3dHcmFiYmFibGVDaGlsZHJlbltTaG93R3JhYmJhYmxlQ2hpbGRyZW5bXFxcIk9ubHlXaGVuTm90R3JhYmJlZFxcXCJdID0gMl0gPSBcXFwiT25seVdoZW5Ob3RHcmFiYmVkXFxcIjtcXHJcXG59KShTaG93R3JhYmJhYmxlQ2hpbGRyZW4gfHwgKFNob3dHcmFiYmFibGVDaGlsZHJlbiA9IHt9KSk7XFxyXFxudmFyIEhpZGRlbkNoaWxkcmVuQmVoYXZpb3I7XFxyXFxuKGZ1bmN0aW9uIChIaWRkZW5DaGlsZHJlbkJlaGF2aW9yKSB7XFxyXFxuICAgIC8qKiBFbWl0IHRoZSBjaGlsZCBub2RlcywgYnV0IG1hcmsgdGhlbSBhcyBoaWRkZW4uICovXFxyXFxuICAgIEhpZGRlbkNoaWxkcmVuQmVoYXZpb3JbSGlkZGVuQ2hpbGRyZW5CZWhhdmlvcltcXFwiSGlkZGVuXFxcIl0gPSAwXSA9IFxcXCJIaWRkZW5cXFwiO1xcclxcbiAgICAvKiogRG8gbm90IGVtaXQgdGhlIGNoaWxkIG5vZGVzLiAqL1xcclxcbiAgICBIaWRkZW5DaGlsZHJlbkJlaGF2aW9yW0hpZGRlbkNoaWxkcmVuQmVoYXZpb3JbXFxcIk9taXRcXFwiXSA9IDFdID0gXFxcIk9taXRcXFwiO1xcclxcbn0pKEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IgfHwgKEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IgPSB7fSkpO1xcclxcbnZhciBHcmFiYmFibGVTdHlsZTtcXHJcXG4oZnVuY3Rpb24gKEdyYWJiYWJsZVN0eWxlKSB7XFxyXFxuICAgIC8qKiBUaGlzIGdyYWJiYWJsZSBpcyB0aGUgdG9wIGxldmVsIG9mIGEgZ2FkZ2V0LiBJdCB3aWxsXFxyXFxuICAgICAqIGFkdmVydGl6ZSBnYWRnZXQgaW5mbywgaGF2ZSBhbiBBIG1lbnUsIGV0Yy5cXHJcXG4gICAgICovXFxyXFxuICAgIEdyYWJiYWJsZVN0eWxlW0dyYWJiYWJsZVN0eWxlW1xcXCJHYWRnZXRcXFwiXSA9IDFdID0gXFxcIkdhZGdldFxcXCI7XFxyXFxuICAgIC8qKiBUaGlzIGdyYWJiYWJsZSBpcyBhIHN1YmNvbXBvbmVudCBvZiBhIGdhZGdldCB0aGF0IGlzIG5vdFxcclxcbiAgICAgKiBvbmx5IGdyYWJiYWJsZSBvbiB0aGUgcHJpbWFyeSBpbnN0YW5jZS4gSXQgd2lsbCBub3QgYWR2ZXJ0aXNlXFxyXFxuICAgICAqIGdhZGdldCBpbmZvIG9yIGhhdmUgYW4gQSBtZW51LlxcclxcbiAgICAgKi9cXHJcXG4gICAgR3JhYmJhYmxlU3R5bGVbR3JhYmJhYmxlU3R5bGVbXFxcIkxvY2FsSXRlbVxcXCJdID0gMl0gPSBcXFwiTG9jYWxJdGVtXFxcIjtcXHJcXG4gICAgLyoqIFRoaXMgZ3JhYmJhYmxlIGlzIGEgc3ViY29tcG9uZW50IG9mIGEgZ2FkZ2V0IHRoYXQgaXMgZ3JhYmJhYmxlXFxyXFxuICAgICAqIG9uIHRoZSBwcmltYXJ5IGluc3RhbmNlIGFuZCBvbiBuZXR3b3JrZWQgaW5zdGFuY2VzLiBJdCB3aWxsIG5vdFxcclxcbiAgICAgKiBhZHZlcnRpc2UgZ2FkZ2V0IGluZm8gb3IgaGF2ZSBhbiBBIG1lbnUuXFxyXFxuICAgICAqL1xcclxcbiAgICBHcmFiYmFibGVTdHlsZVtHcmFiYmFibGVTdHlsZVtcXFwiTmV0d29ya2VkSXRlbVxcXCJdID0gM10gPSBcXFwiTmV0d29ya2VkSXRlbVxcXCI7XFxyXFxufSkoR3JhYmJhYmxlU3R5bGUgfHwgKEdyYWJiYWJsZVN0eWxlID0ge30pKTtcXHJcXG4vKiogQSBncmFiYmFibGUgdGhhdCBzaG93cyBhIG1vZGVsIGZvciBpdHMgaGFuZGxlIGFuZCBoaWdobGlnaHRzIGF1dG9tYXRpY2FsbHkuICovXFxyXFxuY2xhc3MgQXZTdGFuZGFyZEdyYWJiYWJsZSBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLkNvbXBvbmVudCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLmdhZGdldExpc3RSZWYgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVSZWYoKTtcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlSXRlbUNvbXBvbmVudCA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm5ldHdvcmtlZEl0ZW1Db21wb25lbnQgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5ncmFiYmFibGVSZWYgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVSZWYoKTtcXHJcXG4gICAgICAgIGlmICghcHJvcHMubW9kZWxVcmkgJiYgIXByb3BzLmFwcGVhcmFuY2UpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIkVpdGhlciBtb2RlbFVyaSBvciBhcHBlYXJhbmNlIG11c3QgYmUgcHJvdmlkZWRcXFwiKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnN0eWxlID09IEdyYWJiYWJsZVN0eWxlLk5ldHdvcmtlZEl0ZW0gJiYgIXRoaXMucHJvcHMuaXRlbUlkKSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxcXCJpdGVtSWQgaXMgcmVxdWlyZWQgZm9yIG5ldHdvcmtlZCBpdGVtc1xcXCIpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5tb3ZlYWJsZUNvbXBvbmVudCA9IG5ldyBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMl9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdKHRoaXMub25Nb3ZlYWJsZVVwZGF0ZSwgdGhpcy5wcm9wcy5zdHlsZSA9PSBHcmFiYmFibGVTdHlsZS5HYWRnZXQsIHRoaXMucHJvcHMuY2FuRHJvcEludG9Db250YWluZXJzICYmICFfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5pc1JlbW90ZSwgKF9hID0gdGhpcy5wcm9wcy5ncmFiYmVyRnJvbUdyYWJiYWJsZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogdGhpcy5wcm9wcy5ncmFiUG9zZSk7XFxyXFxuICAgICAgICBsZXQgcmVtb3RlTG9jayA9IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLmZpbmRJbml0aWFsSW50ZXJmYWNlKF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX1tcXFwiUmVtb3RlR2FkZ2V0Q29tcG9uZW50XFxcIl0uaW50ZXJmYWNlTmFtZSk7XFxyXFxuICAgICAgICBpZiAocmVtb3RlTG9jaykge1xcclxcbiAgICAgICAgICAgIC8vIHRoaXMgZ2FkZ2V0IGlzIHJlbW90ZVxcclxcbiAgICAgICAgICAgIHRoaXMucmVtb3RlQ29tcG9uZW50ID0gbmV3IF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX1tcXFwiUmVtb3RlR2FkZ2V0Q29tcG9uZW50XFxcIl0odGhpcy5wcm9wcy5yZW1vdGVHYWRnZXRDYWxsYmFjayk7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuc3R5bGUgPT0gR3JhYmJhYmxlU3R5bGUuTmV0d29ya2VkSXRlbSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZUl0ZW1Db21wb25lbnQgPSBuZXcgX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNF9fW1xcXCJSZW1vdGVJdGVtQ29tcG9uZW50XFxcIl0odGhpcy5wcm9wcy5pdGVtSWQsIG51bGwpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnJlbW90ZUludGVyZmFjZUxvY2tzKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRoaXMgZ2FkZ2V0IGlzIG1hc3Rlciwgb3Igd2lsbCBiZSBpZiB0aGUgdXNlciBlbnRlcnMgYSByb29tXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya2VkQ29tcG9uZW50ID0gbmV3IF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX1tcXFwiTmV0d29ya2VkR2FkZ2V0Q29tcG9uZW50XFxcIl0odGhpcy5wcm9wcy5yZW1vdGVJbnRlcmZhY2VMb2NrcywgdGhpcy5wcm9wcy5yZW1vdGVHYWRnZXRDYWxsYmFjayk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnN0eWxlID09IEdyYWJiYWJsZVN0eWxlLk5ldHdvcmtlZEl0ZW0pIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50ID0gbmV3IF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTNfX1tcXFwiTmV0d29ya2VkSXRlbUNvbXBvbmVudFxcXCJdKHRoaXMucHJvcHMuaXRlbUlkLCBudWxsLCB0aGlzLm9uTmV0d29ya0l0ZW1Ecm9wKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICB0aGlzLnN0YXRlID1cXHJcXG4gICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgIGhpZ2hsaWdodDogSGlnaGxpZ2h0VHlwZS5Ob25lLFxcclxcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PdmVycmlkZGVuOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICB9XFxyXFxuICAgIG9uTW92ZWFibGVVcGRhdGUoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICBsZXQgaGlnaGxpZ2h0O1xcclxcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5tb3ZlYWJsZUNvbXBvbmVudC5zdGF0ZSkge1xcclxcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5JZGxlOlxcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5JbkNvbnRhaW5lcjpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodCA9IEhpZ2hsaWdodFR5cGUuTm9uZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVyTmVhcmJ5OlxcclxcbiAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ID0gSGlnaGxpZ2h0VHlwZS5JblJhbmdlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLkdyYWJiZWQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoKF9hID0gdGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudHJhbnNmb3JtT3ZlcnJpZGRlbikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodCA9IEhpZ2hsaWdodFR5cGUuR3JhYmJlZEJ5UmVtb3RlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ID0gSGlnaGxpZ2h0VHlwZS5HcmFiYmVkO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfX1tcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCJdLk1lbnU6XFxyXFxuICAgICAgICAgICAgICAgICAgICBoaWdobGlnaHQgPSBIaWdobGlnaHRUeXBlLk1lbnU7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSgob2xkU3RhdGUpID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xcclxcbiAgICAgICAgICAgICAgICBpZiAob2xkU3RhdGUuaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuSW5SYW5nZSB8fCBvbGRTdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5Ob25lKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuR3JhYmJlZCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJzdGFuZGFyZCBncmFiYmFibGUgd2FzIGdyYWJiZWRcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2IgPSAoX2EgPSB0aGlzLnByb3BzKS5vbkdyYWIpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jYWxsKF9hKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChvbGRTdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5HcmFiYmVkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAoaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuSW5SYW5nZSB8fCBoaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5Ob25lKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcInN0YW5kYXJkIGdyYWJiYWJsZSB3YXMgdW5ncmFiYmVkXFxcIik7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9kID0gKF9jID0gdGhpcy5wcm9wcykub25FbmRHcmFiKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QuY2FsbChfYyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb2xkU3RhdGUpLCB7IGhpZ2hsaWdodCB9KTtcXHJcXG4gICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uTmV0d29ya0l0ZW1Ecm9wKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuY2FuRHJvcEludG9Db250YWluZXJzKSB7XFxyXFxuICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMubW92ZWFibGVDb21wb25lbnQuZHJvcEludG9DdXJyZW50Q29udGFpbmVyKCk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IGlzR3JhYmJlZCgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkdyYWJiZWRcXHJcXG4gICAgICAgICAgICB8fCB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkluSG9va1JhbmdlO1xcclxcbiAgICB9XFxyXFxuICAgIC8qKiBTZW5kcyBhbiBldmVudCB0byBhbm90aGVyIGluc3RhbmNlIG9mIHRoaXMgZ2FkZ2V0LiBJZiB0aGlzIGdhZGdldCBpc1xcclxcbiAgICAgKiB0aGUgbWFzdGVyLCB0aGUgZXZlbnQgaXMgc2VudCB0byBhbGwgcmVtb3RlIGluc3RhbmNlcy4gSWYgdGhpcyBnYWRnZXRcXHJcXG4gICAgICogaXMgcmVtb3RlLCB0aGUgZXZlbnQgaXMgc2VudCB0byB0aGUgbWFzdGVyLiBJZiB0aGlzIGdhZGdldCBpcyBub3QgbmV0d29ya2VkLFxcclxcbiAgICAgKiBvciBpZiBpdCBpcyBuZXR3b3JrZWQsIGJ1dCB0aGUgdXNlciBpcyBub3QgY3VycmVudGx5IGluIGEgcm9vbSwgdGhlXFxyXFxuICAgICAqIGV2ZW50IGlzIGRpc2NhcmRlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIHNlbmRSZW1vdGVFdmVudChldmVudCwgcmVsaWFibGUpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtlZENvbXBvbmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudFRvQWxsUmVtb3RlcyhldmVudCwgcmVsaWFibGUpO1xcclxcbiAgICAgICAgKF9iID0gdGhpcy5yZW1vdGVDb21wb25lbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5zZW5kRXZlbnRUb01hc3RlcihldmVudCwgcmVsaWFibGUpO1xcclxcbiAgICB9XFxyXFxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBpZiAoIWVxdWFsKHRoaXMucHJvcHMucmVtb3RlSW50ZXJmYWNlTG9ja3MsIHByZXZQcm9wcy5yZW1vdGVJbnRlcmZhY2VMb2NrcykpIHtcXHJcXG4gICAgICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtlZENvbXBvbmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNldEluaXRpYWxJbnRlcmZhY2VMb2Nrcyh0aGlzLnByb3BzLnJlbW90ZUludGVyZmFjZUxvY2tzKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIChfYiA9IHRoaXMucmVtb3RlSXRlbUNvbXBvbmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNldElzR3JhYmJlZCh0aGlzLmlzR3JhYmJlZCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25GYXZvcml0ZVRoaXNHYWRnZXQoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiU2VuZGluZyByZXF1ZXN0IHRvIGFkZCB0aGlzIGdhZGdldCB0byBmYXZvcml0ZXNcXFwiKTtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuZ2FkZ2V0TGlzdFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuYWRkRmF2b3JpdGUoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkudXJsKTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgc2hvd0RlbGV0ZSgpIHtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLnNob3dEZWxldGUgPyB0cnVlIDogKHRoaXMucHJvcHMuc3R5bGUgPT0gR3JhYmJhYmxlU3R5bGUuR2FkZ2V0KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkRlbGV0ZSgpIHtcXHJcXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5zaG93RGVsZXRlID09PSBcXFwiZnVuY3Rpb25cXFwiKSB7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImNhbGxpbmcgZGVsZXRlIGNhbGxiYWNrIGF0IHRoZSB1c2VyJ3MgcmVxdWVzdCBmcm9tIHRoZSBBIG1lbnVcXFwiKTtcXHJcXG4gICAgICAgICAgICB0aGlzLnByb3BzLnNob3dEZWxldGUoKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJjbG9zaW5nIHRoZSBnYWRnZXQgYXQgdGhlIHVzZXIncyByZXF1ZXN0IGZyb20gdGhlIEEgbWVudVxcXCIpO1xcclxcbiAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIC8qKiBSZXR1cm5zIHRoZSBnbG9iYWwgSUQgaWYgdGhlIGdyYWJiYWJsZSB3aXRoaW4gdGhlIEF2U3RhbmRhcmRHcmFiYmFibGUuICovXFxyXFxuICAgIGdldCBnbG9iYWxJZCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLmdyYWJiYWJsZVJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZ2xvYmFsSWQ7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xcclxcbiAgICAgICAgbGV0IHNob3dDaGlsZHJlbjtcXHJcXG4gICAgICAgIHN3aXRjaCAoKF9hID0gdGhpcy5wcm9wcy5zaG93Q2hpbGRyZW4pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFNob3dHcmFiYmFibGVDaGlsZHJlbi5BbHdheXMpIHtcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgIGNhc2UgU2hvd0dyYWJiYWJsZUNoaWxkcmVuLkFsd2F5czpcXHJcXG4gICAgICAgICAgICAgICAgc2hvd0NoaWxkcmVuID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBTaG93R3JhYmJhYmxlQ2hpbGRyZW4uT25seVdoZW5HcmFiYmVkOlxcclxcbiAgICAgICAgICAgICAgICBzaG93Q2hpbGRyZW4gPSB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkdyYWJiZWRcXHJcXG4gICAgICAgICAgICAgICAgICAgIHx8IHRoaXMuc3RhdGUuaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuSW5Ib29rUmFuZ2U7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgU2hvd0dyYWJiYWJsZUNoaWxkcmVuLk9ubHlXaGVuTm90R3JhYmJlZDpcXHJcXG4gICAgICAgICAgICAgICAgc2hvd0NoaWxkcmVuID0gdGhpcy5zdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5Ob25lXFxyXFxuICAgICAgICAgICAgICAgICAgICB8fCB0aGlzLnN0YXRlLmhpZ2hsaWdodCA9PSBIaWdobGlnaHRUeXBlLkluUmFuZ2U7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGhpZ2hsaWdodFNjYWxlID0gdGhpcy5zdGF0ZS5oaWdobGlnaHQgPT0gSGlnaGxpZ2h0VHlwZS5JblJhbmdlID8gMS4xIDogMS4wO1xcclxcbiAgICAgICAgbGV0IGFwcGVhcmFuY2U7XFxyXFxuICAgICAgICBsZXQgaW5mb1ZvbHVtZTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm1vZGVsVXJpKSB7XFxyXFxuICAgICAgICAgICAgbGV0IHNjYWxlID0gaGlnaGxpZ2h0U2NhbGUgKiAoKF9iID0gdGhpcy5wcm9wcy5tb2RlbFNjYWxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAxLjApO1xcclxcbiAgICAgICAgICAgIGFwcGVhcmFuY2UgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgdW5pZm9ybVNjYWxlOiBzY2FsZSB9LFxcclxcbiAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya19tb2RlbF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fW1xcXCJBdk1vZGVsXFxcIl0sIHsgdXJpOiB0aGlzLnByb3BzLm1vZGVsVXJpLCBjb2xvcjogdGhpcy5wcm9wcy5tb2RlbENvbG9yIH0pKTtcXHJcXG4gICAgICAgICAgICBpbmZvVm9sdW1lID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkVWb2x1bWVUeXBlXFxcIl0uTW9kZWxCb3gsXFxyXFxuICAgICAgICAgICAgICAgICAgICB1cmk6IHRoaXMucHJvcHMubW9kZWxVcmksXFxyXFxuICAgICAgICAgICAgICAgICAgICBub2RlRnJvbVZvbHVtZToge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjYWxlOiB7IHg6IHNjYWxlLCB5OiBzY2FsZSwgejogc2NhbGUgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGFwcGVhcmFuY2UgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgdW5pZm9ybVNjYWxlOiBoaWdobGlnaHRTY2FsZSB9LCB0aGlzLnByb3BzLmFwcGVhcmFuY2UpO1xcclxcbiAgICAgICAgICAgIGluZm9Wb2x1bWUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnByb3BzLnZvbHVtZSk7XFxyXFxuICAgICAgICAgICAgaWYgKCFpbmZvVm9sdW1lLm5vZGVGcm9tVm9sdW1lKSB7XFxyXFxuICAgICAgICAgICAgICAgIGluZm9Wb2x1bWUubm9kZUZyb21Wb2x1bWUgPSB7fTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKCFpbmZvVm9sdW1lLm5vZGVGcm9tVm9sdW1lLnNjYWxlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGluZm9Wb2x1bWUubm9kZUZyb21Wb2x1bWUuc2NhbGUgPSB7IHg6IDEuMCwgeTogMS4wLCB6OiAxLjAgfTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaW5mb1ZvbHVtZS5ub2RlRnJvbVZvbHVtZS5zY2FsZS54ICo9IGhpZ2hsaWdodFNjYWxlO1xcclxcbiAgICAgICAgICAgIGluZm9Wb2x1bWUubm9kZUZyb21Wb2x1bWUuc2NhbGUueSAqPSBoaWdobGlnaHRTY2FsZTtcXHJcXG4gICAgICAgICAgICBpbmZvVm9sdW1lLm5vZGVGcm9tVm9sdW1lLnNjYWxlLnogKj0gaGlnaGxpZ2h0U2NhbGU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgY29uc3RyYWludCA9IG51bGw7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy5ncmF2aXR5QWxpZ25lZCkge1xcclxcbiAgICAgICAgICAgIGNvbnN0cmFpbnQgPSB7IGdyYXZpdHlBbGlnbmVkOiB0aGlzLnByb3BzLmdyYXZpdHlBbGlnbmVkIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBsZXQgbG9jYXRvckVudGl0eTtcXHJcXG4gICAgICAgIGxldCBlbnRpdHlWb2x1bWU7XFxyXFxuICAgICAgICBsZXQgZGVidWdOYW1lID0gYCR7X2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuZ2V0TmFtZSgpfS8keyhfYyA9IHRoaXMucHJvcHMuaXRlbUlkKSAhPT0gbnVsbCAmJiBfYyAhPT0gdm9pZCAwID8gX2MgOiBcXFwiXFxcIn1gO1xcclxcbiAgICAgICAgbGV0IGNvbXBvbmVudHMgPSBbXTtcXHJcXG4gICAgICAgIHN3aXRjaCAodGhpcy5wcm9wcy5zdHlsZSkge1xcclxcbiAgICAgICAgICAgIGNhc2UgR3JhYmJhYmxlU3R5bGUuR2FkZ2V0OlxcclxcbiAgICAgICAgICAgICAgICBpZiAoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuaXNSZW1vdGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCh0aGlzLnJlbW90ZUNvbXBvbmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbnRpdHlWb2x1bWUgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImVtcHR5Vm9sdW1lXFxcIl0pKCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2godGhpcy5tb3ZlYWJsZUNvbXBvbmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbnRpdHlWb2x1bWUgPSBpbmZvVm9sdW1lO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubmV0d29ya2VkQ29tcG9uZW50KSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRvckVudGl0eSA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdkNvbXBvc2VkRW50aXR5XFxcIl0sIHsgY29tcG9uZW50czogW3RoaXMubmV0d29ya2VkQ29tcG9uZW50XSwgdm9sdW1lOiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImluZmluaXRlVm9sdW1lXFxcIl0pKCksIGRlYnVnTmFtZTogZGVidWdOYW1lICsgXFxcIi9uZXR3b3JrX2dhZGdldFxcXCIgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBHcmFiYmFibGVTdHlsZS5Mb2NhbEl0ZW06XFxyXFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCh0aGlzLm1vdmVhYmxlQ29tcG9uZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgZW50aXR5Vm9sdW1lID0gaW5mb1ZvbHVtZTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBHcmFiYmFibGVTdHlsZS5OZXR3b3JrZWRJdGVtOlxcclxcbiAgICAgICAgICAgICAgICBpZiAoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuaXNSZW1vdGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudHMucHVzaCh0aGlzLnJlbW90ZUl0ZW1Db21wb25lbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKHRoaXMubW92ZWFibGVDb21wb25lbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5Vm9sdW1lID0gaW5mb1ZvbHVtZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vdmVhYmxlQ29tcG9uZW50LnN0YXRlID09IF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXS5HcmFiYmVkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxvY2sgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnJlbW90ZUl0ZW1Db21wb25lbnQuaW50ZXJmYWNlTG9ja3NbMF0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2suaWZhY2UgPSBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X19bXFxcImtfcmVtb3RlR3JhYmJhYmxlSW50ZXJmYWNlXFxcIl07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRvckVudGl0eSA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgdm9sdW1lOiBpbmZvVm9sdW1lLCB0cmFuc21pdHM6IFt7IGlmYWNlOiBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X19bXFxcImtfcmVtb3RlR3JhYmJhYmxlSW50ZXJmYWNlXFxcIl0gfV0sIGludGVyZmFjZUxvY2tzOiBbbG9ja10sIGRlYnVnTmFtZTogZGVidWdOYW1lICsgXFxcIi9yZW1vdGVfaXRlbVxcXCIgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50LnRyYW5zZm9ybU92ZXJyaWRkZW4pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0cmFuc2Zvcm1zIGFyZSBvdmVycmlkZGVuLCB3ZSB3YW50IHRoZSBuZXR3b3JrZWQgaXRlbSBmaXJzdCBzbyBpdHMgcGFyZW50XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lsbCBiZSB1c2VkIGluc3RlYWQgb2Ygd2hhdGV2ZXIgY29udGFpbmVyIHdlIHdlcmUgaW4uXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKHRoaXMubmV0d29ya2VkSXRlbUNvbXBvbmVudCwgdGhpcy5tb3ZlYWJsZUNvbXBvbmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2godGhpcy5tb3ZlYWJsZUNvbXBvbmVudCwgdGhpcy5uZXR3b3JrZWRJdGVtQ29tcG9uZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eVZvbHVtZSA9IGluZm9Wb2x1bWU7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBpZiAoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuaXNSZW1vdGUpIHtcXHJcXG4gICAgICAgICAgICBkZWJ1Z05hbWUgKz0gXFxcIi9yZW1vdGVcXFwiO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcXHJcXG4gICAgICAgIGlmICghc2hvd0NoaWxkcmVuKSB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoICgoX2QgPSB0aGlzLnByb3BzLmhpZGRlbkNoaWxkcmVuQmVoYXZpb3IpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IuSGlkZGVuKSB7XFxyXFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgSGlkZGVuQ2hpbGRyZW5CZWhhdmlvci5IaWRkZW46XFxyXFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB2aXNpYmxlOiBzaG93Q2hpbGRyZW4gfSwgdGhpcy5wcm9wcy5jaGlsZHJlbik7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBIaWRkZW5DaGlsZHJlbkJlaGF2aW9yLk9taXQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IG51bGw7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgY29uc3QgYWR2ZXJ0aXplR2FkZ2V0SW5mbyA9IHRoaXMucHJvcHMuc3R5bGUgPT0gR3JhYmJhYmxlU3R5bGUuR2FkZ2V0O1xcclxcbiAgICAgICAgbGV0IG1lbnUgPSBudWxsO1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuaGlnaGxpZ2h0ID09IEhpZ2hsaWdodFR5cGUuTWVudVxcclxcbiAgICAgICAgICAgICYmICh0aGlzLnNob3dEZWxldGUgfHwgYWR2ZXJ0aXplR2FkZ2V0SW5mbykpIHtcXHJcXG4gICAgICAgICAgICBsZXQgZ3JhYmJhYmxlRnJvbU1lbnUgPSB0aGlzLm1vdmVhYmxlQ29tcG9uZW50Lm1lbnVTZWxmRnJvbUdyYWJiZXI7XFxyXFxuICAgICAgICAgICAgbWVudSA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2Zvcm06IGdyYWJiYWJsZUZyb21NZW51IH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJBdkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGFkdmVydGl6ZUdhZGdldEluZm8gJiZcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsgdHJhbnNsYXRlWDogLTAuMDUsIHRyYW5zbGF0ZVo6IDAuMDMsIHVuaWZvcm1TY2FsZTogMS41IH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX21lbnVfaXRlbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJBdk1lbnVJdGVtXFxcIl0sIHsgbW9kZWxVcmk6IF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJnX2J1aWx0aW5Nb2RlbFN0YXJcXFwiXSwgb25TZWxlY3Q6IHRoaXMub25GYXZvcml0ZVRoaXNHYWRnZXQgfSkpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93RGVsZXRlICYmXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmEuY3JlYXRlRWxlbWVudChfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xMF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHRyYW5zbGF0ZVg6IDAuMDUsIHRyYW5zbGF0ZVo6IDAuMDMsIHJvdGF0ZVg6IC05MCwgdW5pZm9ybVNjYWxlOiAwLjIgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmEuY3JlYXRlRWxlbWVudChfYWFyZHZhcmtfbWVudV9pdGVtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIkF2TWVudUl0ZW1cXFwiXSwgeyBtb2RlbFVyaTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImdfYnVpbHRpbk1vZGVsVHJhc2hjYW5cXFwiXSwgb25TZWxlY3Q6IHRoaXMub25EZWxldGUgfSkpKSxcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmEuY3JlYXRlRWxlbWVudChfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIkF2R2FkZ2V0TGlzdFxcXCJdLCB7IHJlZjogdGhpcy5nYWRnZXRMaXN0UmVmIH0pKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYS5jcmVhdGVFbGVtZW50KF9hYXJkdmFya19jb21wb3NlZF9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiQXZDb21wb3NlZEVudGl0eVxcXCJdLCB7IGNvbXBvbmVudHM6IGNvbXBvbmVudHMsIHZvbHVtZTogZW50aXR5Vm9sdW1lLCBjb25zdHJhaW50OiBjb25zdHJhaW50LCBkZWJ1Z05hbWU6IGRlYnVnTmFtZSwgcmVmOiB0aGlzLmdyYWJiYWJsZVJlZiB9LFxcclxcbiAgICAgICAgICAgIGxvY2F0b3JFbnRpdHksXFxyXFxuICAgICAgICAgICAgYXBwZWFyYW5jZSxcXHJcXG4gICAgICAgICAgICBjaGlsZHJlbixcXHJcXG4gICAgICAgICAgICBhZHZlcnRpemVHYWRnZXRJbmZvICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hLmNyZWF0ZUVsZW1lbnQoX2FhcmR2YXJrX2dhZGdldF9pbmZvX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIkF2R2FkZ2V0SW5mb1xcXCJdLCB7IHZvbHVtZTogaW5mb1ZvbHVtZSB9KSxcXHJcXG4gICAgICAgICAgICBtZW51KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZTdGFuZGFyZEdyYWJiYWJsZS5wcm90b3R5cGUsIFxcXCJvbk1vdmVhYmxlVXBkYXRlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIEF2U3RhbmRhcmRHcmFiYmFibGUucHJvdG90eXBlLCBcXFwib25OZXR3b3JrSXRlbURyb3BcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZTdGFuZGFyZEdyYWJiYWJsZS5wcm90b3R5cGUsIFxcXCJvbkZhdm9yaXRlVGhpc0dhZGdldFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBBdlN0YW5kYXJkR3JhYmJhYmxlLnByb3RvdHlwZSwgXFxcIm9uRGVsZXRlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTloWVhKa2RtRnlhMTl6ZEdGdVpHRnlaRjluY21GaVltRmliR1V1ZEhONFB6QXhaVFlpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdRVUZCTms0N1FVRkRNMHc3UVVGRFVqdEJRVU54UkR0QlFVTnNRenRCUVVOVE8wRkJRMjFDTzBGQlEzWkNPMEZCUTFBN1FVRkRVVHRCUVVOSU8wRkJRekpETzBGQlEwczdRVUZEYlVJN1FVRkRia1E3UVVGRGFFVXNUVUZCVFN4TFFVRkxMRWRCUVVjc2JVSkJRVThzUTBGQlJTeG5SVUZCYVVJc1EwRkJSU3hEUVVGRE8wRkJSVE5ETzBWQlEwVTdRVUZEUml4SlFVRlpMR0ZCZFVKWU8wRkJka0pFTEZkQlFWa3NZVUZCWVR0SlFVVjRRaXd3UkVGQk1FUTdTVUZETVVRc2FVUkJRVkU3U1VGRlVpeHBSVUZCYVVVN1NVRkRha1VzZFVSQlFWYzdTVUZGV0N3MlJrRkJOa1k3U1VGRE4wWXNkVVJCUVZjN1NVRkZXQ3cwUkVGQk5FUTdTVUZETlVRc0swUkJRV1U3U1VGRlppd3dSVUZCTUVVN1NVRkRNVVVzYVVSQlFWRTdTVUZGVWpzN096dFBRVWxITzBsQlEwZ3NkVVZCUVcxQ08wRkJRM0JDTEVOQlFVTXNSVUYyUWxjc1lVRkJZU3hMUVVGaUxHRkJRV0VzVVVGMVFuaENPMEZCUlVRc1NVRkJXU3h4UWtGblFsZzdRVUZvUWtRc1YwRkJXU3h4UWtGQmNVSTdTVUZGYUVNN08wOUJSVWM3U1VGRFNDeHhSVUZCVlR0SlFVVldPenRQUVVWSE8wbEJRMGdzZFVaQlFXMUNPMGxCUlc1Q096dFBRVVZITzBsQlEwZ3NOa1pCUVhOQ08wRkJRM1pDTEVOQlFVTXNSVUZvUWxjc2NVSkJRWEZDTEV0QlFYSkNMSEZDUVVGeFFpeFJRV2RDYUVNN1FVRkZSQ3hKUVVGWkxITkNRVTlZTzBGQlVFUXNWMEZCV1N4elFrRkJjMEk3U1VGRmFrTXNjVVJCUVhGRU8wbEJRM0pFTEhWRlFVRlZPMGxCUlZZc2JVTkJRVzFETzBsQlEyNURMRzFGUVVGUk8wRkJRMVFzUTBGQlF5eEZRVkJYTEhOQ1FVRnpRaXhMUVVGMFFpeHpRa0ZCYzBJc1VVRlBha003UVVGUFJDeEpRVUZaTEdOQmEwSllPMEZCYkVKRUxGZEJRVmtzWTBGQll6dEpRVVY2UWpzN1QwRkZSenRKUVVOSUxIVkVRVUZWTzBsQlJWWTdPenRQUVVkSE8wbEJRMGdzTmtSQlFXRTdTVUZGWWpzN08wOUJSMGM3U1VGRFNDeHhSVUZCYVVJN1FVRkRiRUlzUTBGQlF5eEZRV3hDVnl4alFVRmpMRXRCUVdRc1kwRkJZeXhSUVd0Q2VrSTdRVUV5U1VRc2EwWkJRV3RHTzBGQlF6TkZMRTFCUVUwc2JVSkJRVzlDTEZOQlFWRXNORU5CUVVzc1EwRkJReXhUUVVFeVJEdEpRVlY2Unl4WlFVRmhMRXRCUVZVN08xRkJSWFJDTEV0QlFVc3NRMEZCUlN4TFFVRkxMRU5CUVVVc1EwRkJRenRSUVZCU0xHdENRVUZoTEVkQlFXdERMRFJEUVVGTExFTkJRVU1zVTBGQlV5eEZRVUZuUWl4RFFVRkRPMUZCUXk5RkxIZENRVUZ0UWl4SFFVRjNRaXhKUVVGSkxFTkJRVU03VVVGRGFFUXNNa0pCUVhOQ0xFZEJRVEpDTEVsQlFVazdVVUZEY2tRc2FVSkJRVmtzUjBGQlJ5dzBRMEZCU3l4RFFVRkRMRk5CUVZNc1JVRkJjMElzUTBGQlF6dFJRVTAxUkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRVZCUTNoRE8xbEJRME1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUlN4blJFRkJaMFFzUTBGQlJTeERRVUZETzFOQlEzQkZPMUZCUlVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NTVUZCU1N4alFVRmpMRU5CUVVNc1lVRkJZU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUXpGRk8xbEJRME1zVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUlN4M1EwRkJkME1zUTBGQlJTeERRVUZETzFOQlF6VkVPMUZCUlVRc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4SFFVRkhMRWxCUVVrc2MwVkJRV2xDTEVOQlFVVXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEZRVU53UlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzU1VGQlNTeGpRVUZqTEVOQlFVTXNUVUZCVFN4RlFVTjZReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEhGQ1FVRnhRaXhKUVVGSkxFTkJRVU1zZVVSQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhSUVVGUkxGRkJRMnBGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc2IwSkJRVzlDTEcxRFFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdVVUZGTVVRc1NVRkJTU3hWUVVGVkxFZEJRVWNzZVVSQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXh2UWtGQmIwSXNRMEZCUlN3clJVRkJjVUlzUTBGQlF5eGhRVUZoTEVOQlFVVXNRMEZCUXp0UlFVTnFSeXhKUVVGSkxGVkJRVlVzUlVGRFpEdFpRVU5ETEhkQ1FVRjNRanRaUVVONFFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc0swVkJRWEZDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXh2UWtGQmIwSXNRMEZCUlN4RFFVRkRPMWxCUlhCR0xFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1kwRkJZeXhEUVVGRExHRkJRV0VzUlVGRGNFUTdaMEpCUTBNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4SFFVRkhMRWxCUVVrc05rVkJRVzFDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFVkJRVVVzU1VGQlNTeERRVUZGTEVOQlFVTTdZVUZET1VVN1UwRkRSRHRoUVVWRU8xbEJSVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRzlDUVVGdlFpeEZRVU51UXp0blFrRkRReXc0UkVGQk9FUTdaMEpCUXpsRUxFbEJRVWtzUTBGQlF5eHJRa0ZCYTBJc1IwRkJSeXhKUVVGSkxIRkdRVUYzUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zYjBKQlFXOUNMRVZCUTNSR0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVVVzUTBGQlF6dGhRVU51UXp0WlFVVkVMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVsQlFVa3NZMEZCWXl4RFFVRkRMR0ZCUVdFc1JVRkRjRVE3WjBKQlEwTXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeEhRVUZITEVsQlFVa3NiVVpCUVhOQ0xFTkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1NVRkJTU3hGUVVOb1JpeEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVVVzUTBGQlF6dGhRVU14UWp0VFFVTkVPMUZCUlVRc1NVRkJTU3hEUVVGRExFdEJRVXM3V1VGRFZqdG5Ra0ZEUXl4VFFVRlRMRVZCUVVVc1lVRkJZU3hEUVVGRExFbEJRVWs3WjBKQlF6ZENMRzFDUVVGdFFpeEZRVUZGTEV0QlFVczdZVUZETVVJc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGSFlTeG5Ra0ZCWjBJN096dFpRVVUzUWl4SlFVRkpMRk5CUVhkQ0xFTkJRVU03V1VGRE4wSXNVVUZCVVN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNTMEZCU3l4RlFVTndRenRuUWtGRFF5eFJRVUZSTzJkQ1FVTlNMRXRCUVVzc01rVkJRWE5DTEVOQlFVTXNTVUZCU1N4RFFVRkRPMmRDUVVOcVF5eExRVUZMTERKRlFVRnpRaXhEUVVGRExGZEJRVmM3YjBKQlEzUkRMRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETzI5Q1FVTXZRaXhOUVVGTk8yZENRVVZRTEV0QlFVc3NNa1ZCUVhOQ0xFTkJRVU1zWVVGQllUdHZRa0ZEZUVNc1UwRkJVeXhIUVVGSExHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTTdiMEpCUTJ4RExFMUJRVTA3WjBKQlJWQXNTMEZCU3l3eVJVRkJjMElzUTBGQlF5eFBRVUZQTzI5Q1FVTnNReXhWUVVGSkxFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc01FTkJRVVVzYlVKQlFXMUNMRVZCUTNCRU8zZENRVU5ETEZOQlFWTXNSMEZCUnl4aFFVRmhMRU5CUVVNc1pVRkJaU3hEUVVGRE8zRkNRVU14UXp0NVFrRkZSRHQzUWtGRFF5eFRRVUZUTEVkQlFVY3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJRenR4UWtGRGJFTTdiMEpCUTBRc1RVRkJUVHRuUWtGRlVDeExRVUZMTERKRlFVRnpRaXhEUVVGRExFbEJRVWs3YjBKQlF5OUNMRk5CUVZNc1IwRkJSeXhoUVVGaExFTkJRVU1zU1VGQlNTeERRVUZETzI5Q1FVTXZRaXhOUVVGTk8yRkJRMUE3V1VGRlJDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRU5CUVVVc1VVRkJaME1zUlVGQlJ5eEZRVUZGT3p0blFrRkZja1FzU1VGQlNTeFJRVUZSTEVOQlFVTXNVMEZCVXl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUExFbEJRVWtzVVVGQlVTeERRVUZETEZOQlFWTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1NVRkJTU3hGUVVNelJqdHZRa0ZEUXl4SlFVRkpMRk5CUVZNc1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eEZRVU4wUXp0M1FrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEdkRFFVRm5ReXhEUVVGRkxFTkJRVU03ZDBKQlEyaEVMR2RDUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZETEUxQlFVMHNiVVJCUVVzN2NVSkJRM1JDTzJsQ1FVTkVPM0ZDUVVOSkxFbEJRVWtzVVVGQlVTeERRVUZETEZOQlFWTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1QwRkJUeXhGUVVOd1JEdHZRa0ZEUXl4SlFVRkpMRk5CUVZNc1NVRkJTU3hoUVVGaExFTkJRVU1zVDBGQlR5eEpRVUZKTEZOQlFWTXNTVUZCU1N4aFFVRmhMRU5CUVVNc1NVRkJTU3hGUVVONlJUdDNRa0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHdERRVUZyUXl4RFFVRkZMRU5CUVVNN2QwSkJRMnhFTEdkQ1FVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRExGTkJRVk1zYlVSQlFVczdjVUpCUTNwQ08ybENRVU5FTzJkQ1FVTkVMSFZEUVVGWkxGRkJRVkVzUzBGQlJTeFRRVUZUTEVsQlFVYzdXVUZEYmtNc1EwRkJReXhEUVVGRkxFTkJRVU03TzB0QlEwbzdTVUZIWVN4cFFrRkJhVUk3TzFsQlJUbENMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eHhRa0ZCY1VJc1JVRkRjRU03WjBKQlEwTXNUVUZCVFN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNkMEpCUVhkQ0xFVkJRVVVzUTBGQlF6dGhRVU40UkR0UlFVTkdMRU5CUVVNN1MwRkJRVHRKUVVWRUxFbEJRVmNzVTBGQlV6dFJRVVZ1UWl4UFFVRlBMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eEpRVUZKTEdGQlFXRXNRMEZCUXl4UFFVRlBPMlZCUTJoRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4SlFVRkpMR0ZCUVdFc1EwRkJReXhYUVVGWExFTkJRVU03U1VGRGRrUXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBrc1pVRkJaU3hEUVVGRkxFdEJRV0VzUlVGQlJTeFJRVUZwUWpzN1VVRkZka1FzVlVGQlNTeERRVUZETEd0Q1FVRnJRaXd3UTBGQlJTeHhRa0ZCY1VJc1EwRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZITzFGQlEyeEZMRlZCUVVrc1EwRkJReXhsUVVGbExEQkRRVUZGTEdsQ1FVRnBRaXhEUVVGRkxFdEJRVXNzUlVGQlJTeFJRVUZSTEVWQlFVYzdTVUZETlVRc1EwRkJRenRKUVVWRUxHdENRVUZyUWl4RFFVRkZMRk5CUVdsRE96dFJRVVZ3UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzVTBGQlV5eERRVUZETEc5Q1FVRnZRaXhEUVVGRkxFVkJRemRGTzFsQlEwTXNWVUZCU1N4RFFVRkRMR3RDUVVGclFpd3dRMEZCUlN4M1FrRkJkMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRzlDUVVGdlFpeEZRVUZITzFOQlEzSkdPMUZCUlVRc1ZVRkJTU3hEUVVGRExHMUNRVUZ0UWl3d1EwRkJSU3haUVVGWkxFTkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUnp0SlFVTXhSQ3hEUVVGRE8wbEJSMDhzYjBKQlFXOUNPenRSUVVVelFpeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkZMR2xFUVVGcFJDeERRVUZGTEVOQlFVTTdVVUZEYWtVc1ZVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eFBRVUZQTERCRFFVRkZMRmRCUVZjc1EwRkJSU3g1UkVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMRWRCUVVjc1JVRkJSenRKUVVOd1JTeERRVUZETzBsQlJVUXNTVUZCV1N4VlFVRlZPMUZCUlhKQ0xFOUJRVThzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzU1VGQlNTeGpRVUZqTEVOQlFVTXNUVUZCVFN4RFFVRkZMRU5CUVVNN1NVRkRja1lzUTBGQlF6dEpRVWRQTEZGQlFWRTdVVUZGWml4SlFVRkpMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEV0QlFVc3NWVUZCVlN4RlFVTXZRenRaUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNLMFJCUVN0RUxFTkJRVVVzUTBGQlF6dFpRVU12UlN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzFOQlEzaENPMkZCUlVRN1dVRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTERCRVFVRXdSQ3hEUVVGRkxFTkJRVU03V1VGRE1VVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8xTkJRMlk3U1VGRFJpeERRVUZETzBsQlJVUXNOa1ZCUVRaRk8wbEJRemRGTEVsQlFWY3NVVUZCVVRzN1VVRkZiRUlzWVVGQlR5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c01FTkJRVVVzVVVGQlVTeERRVUZETzBsQlF6VkRMRU5CUVVNN1NVRkZUU3hOUVVGTk96dFJRVVZhTEVsQlFVa3NXVUZCY1VJc1EwRkJRenRSUVVNeFFpeGpRVUZSTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1dVRkJXU3h0UTBGQlNTeHhRa0ZCY1VJc1EwRkJReXhOUVVGTkxFVkJReTlFTzFsQlEwTXNVVUZCVVR0WlFVTlNMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNUVUZCVFR0blFrRkRhRU1zV1VGQldTeEhRVUZITEVsQlFVa3NRMEZCUXp0blFrRkRjRUlzVFVGQlRUdFpRVVZRTEV0QlFVc3NjVUpCUVhGQ0xFTkJRVU1zWlVGQlpUdG5Ra0ZEZWtNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4SlFVRkpMR0ZCUVdFc1EwRkJReXhQUVVGUE8zVkNRVU40UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zU1VGQlNTeGhRVUZoTEVOQlFVTXNWMEZCVnl4RFFVRkRPMmRDUVVOMFJDeE5RVUZOTzFsQlJWQXNTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eHJRa0ZCYTBJN1owSkJRelZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zU1VGQlNTeGhRVUZoTEVOQlFVTXNTVUZCU1R0MVFrRkRja1FzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRWxCUVVrc1lVRkJZU3hEUVVGRExFOUJRVThzUTBGQlF6dG5Ra0ZEYkVRc1RVRkJUVHRUUVVOUU8xRkJSVVFzU1VGQlNTeGpRVUZqTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFbEJRVWtzWVVGQllTeERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTTdVVUZGTDBVc1NVRkJTU3hWUVVGelFpeERRVUZETzFGQlF6TkNMRWxCUVVrc1ZVRkJiMElzUTBGQlF6dFJRVU42UWl4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU4yUWp0WlFVTkRMRWxCUVVrc1MwRkJTeXhIUVVGSExHTkJRV01zUjBGQlJ5eFBRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3h0UTBGQlNTeEhRVUZITEVOQlFVVXNRMEZCUXp0WlFVTTVSQ3hWUVVGVkxFZEJRVWNzTWtSQlFVTXNaMFZCUVZjc1NVRkJReXhaUVVGWkxFVkJRVWNzUzBGQlN6dG5Ra0ZETlVNc01rUkJRVU1zZFVSQlFVOHNTVUZCUXl4SFFVRkhMRVZCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVWQlFVVXNTMEZCU3l4RlFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEhRVUZKTEVOQlEzaEVMRU5CUVVNN1dVRkZhRUlzVlVGQlZUdG5Ra0ZEVmp0dlFrRkRReXhKUVVGSkxFVkJRVVVzZFVWQlFWY3NRMEZCUXl4UlFVRlJPMjlDUVVNeFFpeEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUk8yOUNRVU40UWl4alFVRmpMRVZCUTJRN2QwSkJRME1zUzBGQlN5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVVVzUzBGQlN5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUVVVN2NVSkJRM1pETzJsQ1FVTkVMRU5CUVVNN1UwRkRSanRoUVVWRU8xbEJRME1zVlVGQlZTeEhRVUZITERKRVFVRkRMR2RGUVVGWExFbEJRVU1zV1VGQldTeEZRVUZITEdOQlFXTXNTVUZEYmtRc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlExWXNRMEZCUXp0WlFVVm9RaXhWUVVGVkxIRkNRVUZSTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRkxFTkJRVU03V1VGRmRFTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhqUVVGakxFVkJRemxDTzJkQ1FVTkRMRlZCUVZVc1EwRkJReXhqUVVGakxFZEJRVWNzUlVGQlJTeERRVUZETzJGQlF5OUNPMWxCUTBRc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eGpRVUZqTEVOQlFVTXNTMEZCU3l4RlFVTndRenRuUWtGRFF5eFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEhRVUZITEVWQlFVVXNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTTdZVUZETjBRN1dVRkZSQ3hWUVVGVkxFTkJRVU1zWTBGQll5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWxCUVVrc1kwRkJZeXhEUVVGRE8xbEJRM0JFTEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zU1VGQlNTeGpRVUZqTEVOQlFVTTdXVUZEY0VRc1ZVRkJWU3hEUVVGRExHTkJRV01zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SlFVRkpMR05CUVdNc1EwRkJRenRUUVVOd1JEdFJRVVZFTEVsQlFVa3NWVUZCVlN4SFFVRnBRaXhKUVVGSkxFTkJRVU03VVVGRGNFTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHTkJRV01zUlVGRE4wSTdXVUZEUXl4VlFVRlZMRWRCUVVjc1JVRkJSU3hqUVVGakxFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRUUVVNelJEdFJRVVZFTEVsQlFVa3NZVUZCTUVJc1EwRkJRenRSUVVVdlFpeEpRVUZKTEZsQlFYTkNMRU5CUVVNN1VVRkZNMElzU1VGQlNTeFRRVUZUTEVkQlFVY3NSMEZCU1N4NVJFRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEU5QlFVOHNSVUZCUnl4SlFVRkxMRlZCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeHRRMEZCU1N4RlFVRkhMRVZCUVVVc1EwRkJRenRSUVVWc1JpeEpRVUZKTEZWQlFWVXNSMEZCYzBJc1JVRkJSU3hEUVVGRE8xRkJRM1pETEZGQlFWRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFVkJRM2hDTzFsQlEwTXNTMEZCU3l4alFVRmpMRU5CUVVNc1RVRkJUVHRuUWtGRGVrSXNTVUZCU1N4NVJFRkJVU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEZGQlFWRXNSVUZEYUVNN2IwSkJRME1zVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUlN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRkxFTkJRVU03YjBKQlEzaERMRmxCUVZrc1IwRkJSeXdyUlVGQlZ5eEZRVUZGTEVOQlFVTTdhVUpCUXpkQ08zRkNRVVZFTzI5Q1FVTkRMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVVVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFTkJRVU03YjBKQlF6RkRMRmxCUVZrc1IwRkJSeXhWUVVGVkxFTkJRVU03YjBKQlJURkNMRWxCUVVrc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVTXpRanQzUWtGRFF5eGhRVUZoTEVkQlFVY3NNa1JCUVVNc01FVkJRV2RDTEVsQlFVTXNWVUZCVlN4RlFVRkhMRU5CUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RFFVRkZMRVZCUTNwRkxFMUJRVTBzUlVGQlJ5eHJSa0ZCWXl4RlFVRkZMRVZCUVVjc1UwRkJVeXhGUVVGSExGTkJRVk1zUjBGQlJ5eHBRa0ZCYVVJc1IwRkJTU3hEUVVGRE8zRkNRVU16UlR0cFFrRkRSRHRuUWtGRFJDeE5RVUZOTzFsQlJWQXNTMEZCU3l4alFVRmpMRU5CUVVNc1UwRkJVenRuUWtGRE5VSXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1EwRkJRenRuUWtGRE1VTXNXVUZCV1N4SFFVRkhMRlZCUVZVc1EwRkJRenRuUWtGRE0wSXNUVUZCVFR0WlFVVk9MRXRCUVVzc1kwRkJZeXhEUVVGRExHRkJRV0U3WjBKQlEyaERMRWxCUVVrc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4UlFVRlJMRVZCUTJoRE8yOUNRVU5ETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVVc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVRkZMRU5CUVVNN2IwSkJRelZETEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVVc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRU5CUVVNN2IwSkJRekZETEZsQlFWa3NSMEZCUnl4VlFVRlZMRU5CUVVNN2IwSkJSVEZDTEVsQlFVa3NTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEV0QlFVc3NTVUZCU1N3eVJVRkJjMElzUTBGQlF5eFBRVUZQTEVWQlEyeEZPM2RDUVVORExFbEJRVWtzU1VGQlNTeHhRa0ZCVVN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRkxFTkJRVU03ZDBKQlF6ZEVMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzYjBaQlFUQkNMRU5CUVVNN2QwSkJRM2hETEdGQlFXRXNSMEZCUnl3eVJFRkJReXcyUlVGQmFVSXNTVUZCUXl4TlFVRk5MRVZCUVVjc1ZVRkJWU3hGUVVOeVJDeFRRVUZUTEVWQlFVY3NRMEZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3h2UmtGQk1FSXNSVUZCUlN4RFFVRkZMRVZCUTNCRUxHTkJRV01zUlVGQlJ5eERRVUZGTEVsQlFVa3NRMEZCUlN4RlFVTXhRaXhUUVVGVExFVkJRVWNzVTBGQlV5eEhRVUZITEdOQlFXTXNSMEZCU1R0eFFrRkRNME03YVVKQlEwUTdjVUpCUlVRN2IwSkJRME1zU1VGQlNTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zYlVKQlFXMUNMRVZCUTI1RU8zZENRVU5ETEN0RlFVRXJSVHQzUWtGREwwVXNlVVJCUVhsRU8zZENRVU42UkN4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRkxFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1EwRkJRenR4UWtGRGRrVTdlVUpCUlVRN2QwSkJRME1zVlVGQlZTeERRVUZETEVsQlFVa3NRMEZCUlN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNTVUZCU1N4RFFVRkRMSE5DUVVGelFpeERRVUZGTEVOQlFVTTdjVUpCUTNaRk8yOUNRVU5FTEZsQlFWa3NSMEZCUnl4VlFVRlZMRU5CUVVNN2FVSkJRekZDTzJkQ1FVTkVMRTFCUVUwN1UwRkRVRHRSUVVWRUxFbEJRVWtzZVVSQlFWRXNRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhSUVVGUkxFVkJRMmhETzFsQlEwTXNVMEZCVXl4SlFVRkpMRk5CUVZNc1EwRkJRenRUUVVOMlFqdFJRVVZFTEVsQlFVa3NVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETzFGQlEyNURMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRMnBDTzFsQlEwTXNZMEZCVVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExITkNRVUZ6UWl4dFEwRkJTU3h6UWtGQmMwSXNRMEZCUXl4TlFVRk5MRVZCUXpGRk8yZENRVU5ETEZGQlFWRTdaMEpCUTFJc1MwRkJTeXh6UWtGQmMwSXNRMEZCUXl4TlFVRk5PMjlDUVVOcVF5eFJRVUZSTEVkQlFVY3NNa1JCUVVNc1owVkJRVmNzU1VGQlF5eFBRVUZQTEVWQlFVY3NXVUZCV1N4SlFVRkxMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZuUWl4RFFVRkRPMjlDUVVOMlJpeE5RVUZOTzJkQ1FVVlFMRXRCUVVzc2MwSkJRWE5DTEVOQlFVTXNTVUZCU1R0dlFrRkRMMElzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXp0aFFVTnFRanRUUVVORU8xRkJSVVFzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NTVUZCU1N4alFVRmpMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJSWFJGTEVsQlFVa3NTVUZCU1N4SFFVRm5RaXhKUVVGSkxFTkJRVU03VVVGRE4wSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGTkJRVk1zU1VGQlNTeGhRVUZoTEVOQlFVTXNTVUZCU1R0bFFVTXhReXhEUVVGRkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVsQlFVa3NiVUpCUVcxQ0xFTkJRVVVzUlVGRE9VTTdXVUZEUXl4SlFVRkpMR2xDUVVGcFFpeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenRaUVVOdVJTeEpRVUZKTEVkQlFVY3NNa1JCUVVNc1owVkJRVmNzU1VGQlF5eFRRVUZUTEVWQlFVY3NhVUpCUVdsQ08yZENRVU5vUkN3eVJFRkJReXh4UmtGQmNVSTdiMEpCUlhKQ0xHMUNRVUZ0UWp0M1FrRkRia0lzTWtSQlFVTXNaMFZCUVZjc1NVRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF5eEpRVUZKTEVWQlFVY3NWVUZCVlN4RlFVRkhMRWxCUVVrc1JVRkRha1FzV1VGQldTeEZRVUZITEVkQlFVYzdORUpCUTJ4Q0xESkVRVUZETERoRVFVRlZMRWxCUVVNc1VVRkJVU3hGUVVGSExEaEZRVUZyUWl4RlFVTjRReXhSUVVGUkxFVkJRVWNzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhIUVVGSkxFTkJRelZDTzI5Q1FVZGtMRWxCUVVrc1EwRkJReXhWUVVGVk8zZENRVU5tTERKRVFVRkRMR2RGUVVGWExFbEJRVU1zVlVGQlZTeEZRVUZITEVsQlFVa3NSVUZCU1N4VlFVRlZMRVZCUVVjc1NVRkJTU3hGUVVOc1JDeFBRVUZQTEVWQlFVY3NRMEZCUXl4RlFVRkZMRVZCUVVjc1dVRkJXU3hGUVVGSExFZEJRVWM3TkVKQlEyeERMREpFUVVGRExEaEVRVUZWTEVsQlFVTXNVVUZCVVN4RlFVRkhMR3RHUVVGelFpeEZRVU0xUXl4UlFVRlJMRVZCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlNTeERRVU5vUWl4RFFVVlRPMmRDUVVWNFFpd3lSRUZCUXl3MlJFRkJXU3hKUVVGRExFZEJRVWNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNZVUZCWVN4SFFVRkxMRU5CUXpsQ0xFTkJRVU03VTBGRFpqdFJRVVZFTEU5QlFVOHNNa1JCUVVNc01FVkJRV2RDTEVsQlFVTXNWVUZCVlN4RlFVRkhMRlZCUVZVc1JVRkJSeXhOUVVGTkxFVkJRVWNzV1VGQldTeEZRVU4yUlN4VlFVRlZMRVZCUVVjc1ZVRkJWU3hGUVVGSExGTkJRVk1zUlVGQlJ5eFRRVUZUTEVWQlFVY3NSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWk8xbEJRM1pGTEdGQlFXRTdXVUZEWWl4VlFVRlZPMWxCUTFZc1VVRkJVVHRaUVVOU0xHMUNRVUZ0UWp0blFrRkRjRUlzTWtSQlFVTXNhMFZCUVZrc1NVRkJReXhOUVVGTkxFVkJRVWNzVlVGQlZTeEhRVUZMTzFsQlEzSkRMRWxCUVVrc1EwRkRXU3hEUVVGRE8wbEJRM0pDTEVOQlFVTTdRMEZEUkR0QlFXcFZRVHRKUVVSRExIRkVRVUZKT3pKRVFXOUVTanRCUVVkRU8wbEJSRU1zY1VSQlFVazdORVJCVDBvN1FVRXJRa1E3U1VGRVF5eHhSRUZCU1RzclJFRkxTanRCUVZGRU8wbEJSRU1zY1VSQlFVazdiVVJCWVVvaUxDSm1hV3hsSWpvaUxpOXpjbU12WVdGeVpIWmhjbXRmYzNSaGJtUmhjbVJmWjNKaFltSmhZbXhsTG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVGMlEyOXVjM1J5WVdsdWRDd2dRWFpPYjJSbFZISmhibk5tYjNKdExDQkJkbFp2YkhWdFpTd2daVzF3ZEhsV2IyeDFiV1VzSUVWdVpIQnZhVzUwUVdSa2Npd2dSVlp2YkhWdFpWUjVjR1VzSUdkZlluVnBiSFJwYmsxdlpHVnNVM1JoY2l3Z1oxOWlkV2xzZEdsdVRXOWtaV3hVY21GemFHTmhiaXdnYVc1bWFXNXBkR1ZXYjJ4MWJXVXNJRWx1YVhScFlXeEpiblJsY21aaFkyVk1iMk5yTENCTmFXNXBiV0ZzVUc5elpTQjlJR1p5YjIwZ0owQmhZWEprZG1GeWEzaHlMMkZoY21SMllYSnJMWE5vWVhKbFpDYzdYSEpjYm1sdGNHOXlkQ0JpYVc1a0lHWnliMjBnSjJKcGJtUXRaR1ZqYjNKaGRHOXlKenRjY2x4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpEYjIxd2IzTmxaRVZ1ZEdsMGVTd2dSVzUwYVhSNVEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWpiMjF3YjNObFpGOWxiblJwZEhrbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtkaFpHZGxkQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWjJGa1oyVjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhSSmJtWnZJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTluWVdSblpYUmZhVzVtYnljN1hISmNibWx0Y0c5eWRDQjdJRUYyU0dWaFpFWmhZMmx1WjFSeVlXNXpabTl5YlNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmFHVmhaRjltWVdOcGJtZGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5aVzUxU1hSbGJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiV1Z1ZFY5cGRHVnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWk5iMlJsYkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmJXOWtaV3duTzF4eVhHNXBiWEJ2Y25RZ2V5QkJkbFJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmZEhKaGJuTm1iM0p0Snp0Y2NseHVhVzF3YjNKMElIc2dRWFpIWVdSblpYUk1hWE4wSUgwZ1puSnZiU0FuTGk5aGNHbGZaMkZrWjJWMGJHbHpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFZHlZV0pRYjNObExDQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRDd2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlNCOUlHWnliMjBnSnk0dlkyOXRjRzl1Wlc1MFgyMXZkbVZoWW14bEp6dGNjbHh1YVcxd2IzSjBJSHNnVG1WMGQyOXlhMlZrUjJGa1oyVjBRMjl0Y0c5dVpXNTBMQ0JPWlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZibVYwZDI5eWEyVmtYMmRoWkdkbGRDYzdYSEpjYm1sdGNHOXlkQ0I3SUZKbGJXOTBaVWRoWkdkbGRFTnZiWEJ2Ym1WdWRDd2dVbVZ0YjNSbFNYUmxiVU52YlhCdmJtVnVkQ3dnYTE5eVpXMXZkR1ZIY21GaVltRmliR1ZKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TDJOdmJYQnZibVZ1ZEY5eVpXMXZkR1ZmWjJGa1oyVjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkpiblJsY21aaFkyVkZiblJwZEhrZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgybHVkR1Z5Wm1GalpWOWxiblJwZEhrbk8xeHlYRzVqYjI1emRDQmxjWFZoYkNBOUlISmxjWFZwY21Vb0lDZG1ZWE4wTFdSbFpYQXRaWEYxWVd3bklDazdYSEpjYmx4eVhHNHZLaW9nVkdocGN5QmxiblZ0SUdSbFptbHVaWE1nZEdobElIQnZjM05wWW14bElHaHBaMmhzYVdkb2RDQnpkR0YwWlhNZ2IyWWdZVzRnUVhaSGNtRmlZbUZpYkdVdUlGeHlYRzRxTDF4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JJYVdkb2JHbG5hSFJVZVhCbFhISmNibnRjY2x4dVhIUXZLaW9nVG05MGFHbHVaeUJwYm5SbGNtVnpkR2x1WnlCcGN5Qm5iMmx1WnlCdmJpQjNhWFJvSUhSb1pTQm5jbUZpWW1GaWJHVXVJQ292WEhKY2JseDBUbTl1WlNBOUlEQXNYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVnlaU0JwY3lCaElHZHlZV0ppWlhJZ2QybDBhR2x1SUdkeVlXSmlhVzVuSUhKaGJtZGxJRzltSUhSb1pTQm5jbUZpWW1GaWJHVXVJQ292WEhKY2JseDBTVzVTWVc1blpTQTlJREVzWEhKY2JseHlYRzVjZEM4cUtpQlVhR1Z5WlNCcGN5QmhJR2R5WVdKaVpYSWdZV04wYVhabGJIa2daM0poWW1KcGJtY2dkR2hsSUdkeVlXSmlZV0pzWlN3Z1lXNWtJR2wwSUdsemJpZDBJR0YwZEdGamFHVmtJSFJ2SUdGdWVYUm9hVzVuTGlBcUwxeHlYRzVjZEVkeVlXSmlaV1FnUFNBeUxGeHlYRzVjY2x4dVhIUXZLaW9nVkdobElHZHlZV0ppWldRZ1ozSmhZbUpoWW14bElHbHpJSGRwZEdocGJpQmtjbTl3SUhKaGJtZGxJRzltSUdFZ2FHOXZheTRnS2k5Y2NseHVYSFJKYmtodmIydFNZVzVuWlNBOUlETXNYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdaM0poWW1KaFlteGxJSGRoY3lCcGJpQnlZVzVuWlNCaGJtUWdkR2hsSUhWelpYSWdhWE1nYUc5c1pHbHVaeUIwYUdVZ2JXVnVkU0JpZFhSMGIyNHVJQ292WEhKY2JseDBUV1Z1ZFNBOUlEUXNYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdaM0poWW1KaFlteGxJR2x6SUdKbGFXNW5JR2R5WVdKaVpXUWdZbmtnZEdobElHOXVaU0J2WmlCcGRITWdibVYwZDI5eWEyVmtJR052Y0dsbGN5NGdTWFFuY3lCaGJtbHRZWFJsWkN3Z1luVjBJSE5vYjNWc1pGeHlYRzVjZENBcUlHeGxZWFpsSUdsdWRHVnlZV04wYVc5dWN5QjBieUIwYUdVZ2NtVnRiM1JsSUdWdWRHbDBlU0JwZEhObGJHWXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dWR2hwY3lCb2FXZG9iR2xuYUhRZ2RIbHdaU0IzYVd4c0lHOXViSGtnWW1VZ2NtVndiM0owWldRZ1lua2dRWFpPWlhSM2IzSnJaV1JIY21GaVltRmliR1V1WEhKY2JseDBJQ292WEhKY2JseDBSM0poWW1KbFpFSjVVbVZ0YjNSbElEMGdOU3hjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdVMmh2ZDBkeVlXSmlZV0pzWlVOb2FXeGtjbVZ1WEhKY2JudGNjbHh1WEhRdktpb2dRV3gzWVhseklITm9iM2NnZEdobElHTm9hV3hrY21WdUlHOW1JSFJvWlNCQmRsTjBZVzVrWVhKa1IzSmhZbUpoWW14bExDQnVieUJ0WVhSMFpYSmNjbHh1WEhRZ0tpQjNhR0YwSUhSb1pTQm9hV2RvYkdsbmFIUWdjM1JoZEdVZ2FYTXVYSEpjYmx4MElDb3ZYSEpjYmx4MFFXeDNZWGx6SUQwZ01DeGNjbHh1WEhKY2JseDBMeW9xSUU5dWJIa2djMmh2ZHlCMGFHVWdZMmhwYkdSeVpXNGdiMllnZEdobElFRjJVM1JoYm1SaGNtUkhjbUZpWW1GaWJHVWdkMmhsYmlCcGRDQnBjeUJjY2x4dVhIUWdLaUJpWldsdVp5Qm5jbUZpWW1Wa0xseHlYRzVjZENBcUwxeHlYRzVjZEU5dWJIbFhhR1Z1UjNKaFltSmxaQ0E5SURFc1hISmNibHh5WEc1Y2RDOHFLaUJQYm14NUlITm9iM2NnZEdobElHTm9hV3hrY21WdUlHOW1JSFJvWlNCQmRsTjBZVzVrWVhKa1IzSmhZbUpoWW14bElIZG9aVzRnYVhRZ2FYTWdYSEpjYmx4MElDb2dibTkwSUdKbGFXNW5JR2R5WVdKaVpXUXVYSEpjYmx4MElDb3ZYSEpjYmx4MFQyNXNlVmRvWlc1T2IzUkhjbUZpWW1Wa0lEMGdNaXhjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdTR2xrWkdWdVEyaHBiR1J5Wlc1Q1pXaGhkbWx2Y2x4eVhHNTdYSEpjYmx4MEx5b3FJRVZ0YVhRZ2RHaGxJR05vYVd4a0lHNXZaR1Z6TENCaWRYUWdiV0Z5YXlCMGFHVnRJR0Z6SUdocFpHUmxiaTRnS2k5Y2NseHVYSFJJYVdSa1pXNGdQU0F3TEZ4eVhHNWNjbHh1WEhRdktpb2dSRzhnYm05MElHVnRhWFFnZEdobElHTm9hV3hrSUc1dlpHVnpMaUFxTDF4eVhHNWNkRTl0YVhRZ1BTQXhMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOMFlXNWtZWEprUjNKaFltSmhZbXhsUkdWc1pYUmxRMkZzYkdKaFkydGNjbHh1ZTF4eVhHNWNkQ2dwT2lCMmIybGtPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkhjbUZpWW1GaWJHVlRkSGxzWlZ4eVhHNTdYSEpjYmx4MEx5b3FJRlJvYVhNZ1ozSmhZbUpoWW14bElHbHpJSFJvWlNCMGIzQWdiR1YyWld3Z2IyWWdZU0JuWVdSblpYUXVJRWwwSUhkcGJHeGNjbHh1WEhRZ0tpQmhaSFpsY25ScGVtVWdaMkZrWjJWMElHbHVabThzSUdoaGRtVWdZVzRnUVNCdFpXNTFMQ0JsZEdNdVhISmNibHgwSUNvdlhISmNibHgwUjJGa1oyVjBJRDBnTVN4Y2NseHVYSEpjYmx4MEx5b3FJRlJvYVhNZ1ozSmhZbUpoWW14bElHbHpJR0VnYzNWaVkyOXRjRzl1Wlc1MElHOW1JR0VnWjJGa1oyVjBJSFJvWVhRZ2FYTWdibTkwWEhKY2JseDBJQ29nYjI1c2VTQm5jbUZpWW1GaWJHVWdiMjRnZEdobElIQnlhVzFoY25rZ2FXNXpkR0Z1WTJVdUlFbDBJSGRwYkd3Z2JtOTBJR0ZrZG1WeWRHbHpaVnh5WEc1Y2RDQXFJR2RoWkdkbGRDQnBibVp2SUc5eUlHaGhkbVVnWVc0Z1FTQnRaVzUxTGx4eVhHNWNkQ0FxTDF4eVhHNWNkRXh2WTJGc1NYUmxiU0E5SURJc1hISmNibHh5WEc1Y2RDOHFLaUJVYUdseklHZHlZV0ppWVdKc1pTQnBjeUJoSUhOMVltTnZiWEJ2Ym1WdWRDQnZaaUJoSUdkaFpHZGxkQ0IwYUdGMElHbHpJR2R5WVdKaVlXSnNaVnh5WEc1Y2RDQXFJRzl1SUhSb1pTQndjbWx0WVhKNUlHbHVjM1JoYm1ObElHRnVaQ0J2YmlCdVpYUjNiM0pyWldRZ2FXNXpkR0Z1WTJWekxpQkpkQ0IzYVd4c0lHNXZkQ0JjY2x4dVhIUWdLaUJoWkhabGNuUnBjMlVnWjJGa1oyVjBJR2x1Wm04Z2IzSWdhR0YyWlNCaGJpQkJJRzFsYm5VdVhISmNibHgwSUNvdlhISmNibHgwVG1WMGQyOXlhMlZrU1hSbGJTQTlJRE1zWEhKY2JuMWNjbHh1WEhKY2JseHlYRzR2S2lvZ1VISnZjSE1nWm05eUlIdEFiR2x1YXlCQmRsTjBZVzVrWVhKa1IzSmhZbUpoWW14bGZTQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZOMFlXNWtZWEprUjNKaFltSmhZbXhsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVWFHVWdiVzlrWld3Z2RHOGdkWE5sSUdadmNpQjBhR1VnWjNKaFlpQm9ZVzVrYkdVZ2IyWWdkR2hwY3lCbmNtRmlZbUZpYkdVdUlFVnBkR2hsY2x4eVhHNWNkQ0FxSUhSb2FYTWdjSEp2Y0NCdmNpQmhjSEJsWVhKaGJtTmxJR0Z1WkNCMmIyeDFiV1VnYlhWemRDQmlaU0J6Y0dWamFXWnBaV1F1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENvdlhISmNibHgwYlc5a1pXeFZjbWsvT2lCemRISnBibWM3WEhKY2JseHlYRzVjZEM4cUtpQlVhR1VnYzJObGJtVWdaM0poY0dnZ2JtOWtaWE1nZEc4Z2RYTmxJR1p2Y2lCMGFHbHpJR2R5WVdKaVlXSnNaU2R6SUdGd2NHVmhjbUZ1WTJVdUlFVnBkR2hsY2lCMGFHbHpJR0Z1WkNCMmIyeDFiV1VnWEhKY2JseDBJQ29nYjNJZ2JXOWtaV3hWY21rZ2JYVnpkQ0JpWlNCemNHVmphV1pwWldSY2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCdWIyNWxYSEpjYmx4MElDb3ZYSEpjYmx4MFlYQndaV0Z5WVc1alpUODZJRXBUV0M1RmJHVnRaVzUwTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdsdWRHVnljMlZqZEdsdmJpQjJiMngxYldVZ2RHOGdkWE5sSUdsdUlHTnZibXAxYm1OMGFXOXVJSGRwZEdnZ1lYQndaV0Z5WVc1alpTQjBieUJrWlhSbGNtMXBibVVnZDJobGJpQjBhR1VnWEhKY2JseDBJQ29nZFhObGNpQnBjeUJwYm5SbGNuTmxZM1JwYm1jZ2RHaGxJR2R5WVdKaVlXSnNaUzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0J1YjI1bFhISmNibHgwSUNvdlhISmNibHgwZG05c2RXMWxQem9nUVhaV2IyeDFiV1U3WEhKY2JseHlYRzVjZEM4cUtpQlVaV3hzY3lCMGFHVWdjM1JoYm1SaGNtUWdaM0poWW1KaFlteGxJSGRvWlc0Z2RHOGdjMmh2ZHlCcGRITWdZMmhwYkdSeVpXNHVJRnh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJRk5vYjNkSGNtRmlZbUZpYkdWRGFHbHNaSEpsYmk1QmJIZGhlWE5jY2x4dVhIUXFMMXh5WEc1Y2RITm9iM2REYUdsc1pISmxiajg2SUZOb2IzZEhjbUZpWW1GaWJHVkRhR2xzWkhKbGJqdGNjbHh1WEhKY2JseDBMeW9xSUVOdmJuUnliMnh6SUdodmR5QmphR2xzWkNCdWIyUmxjeUJoY21VZ2FHbGtaR1Z1TGlCSlppQnphRzkzUTJocGJHUnlaVzRnYVhNZ2MyVjBJSFJ2SUZ4eVhHNWNkQ0FxSUZOb2IzZEhjbUZpWW1GaWJHVkRhR2xzWkhKbGJpNUJiSGRoZVhNZ2IzSWdhV1lnZEdobElHZHlZV0ppWVdKc1pTQm9ZWE1nYm04Z1kyaHBiR1J5Wlc0c1hISmNibHgwSUNvZ2RHaHBjeUJ3Y205d0lHbHpJR2xuYm05eVpXUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdTR2xrWkdWdVEyaHBiR1J5Wlc1Q1pXaGhkbWx2Y2k1SWFXUmtaVzVjY2x4dVhIUWdLaTljY2x4dVhIUm9hV1JrWlc1RGFHbHNaSEpsYmtKbGFHRjJhVzl5UHpvZ1NHbGtaR1Z1UTJocGJHUnlaVzVDWldoaGRtbHZjanRjY2x4dVhISmNibHgwTHlvcUlGVnVhV1p2Y20wZ2MyTmhiR1VnZEc4Z1lYQndiSGtnZEc4Z2RHaGxJR2R5WVdJZ2FHRnVaR3hsTGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSURFdU1GeHlYRzVjZENvdlhISmNibHgwYlc5a1pXeFRZMkZzWlQ4NklHNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRU52Ykc5eUlIUnZJR0Z3Y0d4NUlIUnZJSFJvWlNCbmNtRmlJR2hoYm1Sc1pTNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBLaTljY2x4dVhIUnRiMlJsYkVOdmJHOXlQem9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1EyRnNiR1ZrSUhkb1pXNGdkR2hsSUdkeVlXSmlZV0pzWlNCcGN5Qm5jbUZpWW1Wa0xpQmNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBLaTljY2x4dVhIUnZia2R5WVdJL09pQW9LU0E5UGlCMmIybGtPMXh5WEc1Y2NseHVYSFF2S2lvZ1EyRnNiR1ZrSUhkb1pXNGdkR2hsSUdkeVlXSmlZV0pzWlNCcGN5QmtjbTl3Y0dWa0xpQmNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBLaTljY2x4dVhIUnZia1Z1WkVkeVlXSS9PaUFvS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dTV1lnZEdocGN5QndjbTl3WlhKMGVTQnBjeUJrWldacGJtVmtMQ0IwYUdVZ1oyRmtaMlYwSUhkcGJHd2dZbVVnYzJoaGNtVmtJSGRwZEdnZ2NtVnRiM1JsSUhWelpYSnpJSFJvWVhRZ1lYSmxJR2x1SUhSb1pTQmNjbHh1WEhRZ0tpQnpZVzFsSUhKdmIyMGdZWE1nZEdobElHOTNibVZ5TGlCQmJua2djbVZ0YjNSbElHbHVjM1JoYm1ObElHOW1JSFJvYVhNZ1oyRmtaMlYwSUhkcGJHd2dZbVVnYzNSaGNuUmxaQ0IzYVhSb0lIQnliM1pwWkdWa1hISmNibHgwSUNvZ2FXNXBkR2xoYkNCcGJuUmxjbVpoWTJVZ2JHOWphM011WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENBcUwxeHlYRzVjZEhKbGJXOTBaVWx1ZEdWeVptRmpaVXh2WTJ0elB6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVYSEpjYmx4MEx5b3FJRWxtSUhKbGJXOTBaVWx1ZEdWeVptRmpaVXh2WTJ0eklHbHpJSEJ5YjNacFpHVmtMQ0IwYUdVZ1kyRnNiR0poWTJzZ2NISnZkbWxrWldRZ2QybDBhQ0IwYUdseklIQnliM0JsY25SNUlHbHpJR05oYkd4bFpGeHlYRzVjZENBcUlIZG9aVzVsZG1WeUlHRWdiV1Z6YzJGblpTQmpiMjFsY3lCcGJpQm1jbTl0SUdFZ2NtVnRiM1JsSUdsdWMzUmhibU5sSUc5bUlIUm9hWE1nWjJGa1oyVjBMaUJKWmlCMGFHbHpJR2RoWkdkbGRDQnBjMXh5WEc1Y2RDQXFJSFJvWlNCdFlYTjBaWElzSUdGdWVTQmxkbVZ1ZEhNZ2NtVmpaV2wyWldRZ1puSnZiU0IwYUdseklHTmhiR3hpWVdOcklIZHBiR3dnWW1VZ1puSnZiU0JoSUhKbGJXOTBaU0JuWVdSblpYUXVJRWxtSUhSb2FYTmNjbHh1WEhRZ0tpQm5ZV1JuWlhRZ2FYTWdjbVZ0YjNSbExDQmhibmtnWlhabGJuUnpJSEpsWTJWcGRtVmtJR1p5YjIwZ2RHaHBjeUJqWVd4c1ltRmpheUIzYVd4c0lHSmxJR1p5YjIwZ2RHaGxJRzFoYzNSbGNpNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQnViMjVsWEhKY2JseDBJQ292WEhKY2JseDBjbVZ0YjNSbFIyRmtaMlYwUTJGc2JHSmhZMnMvT2lBb0lHVjJaVzUwT2lCdlltcGxZM1FnS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dTV1lnZEdocGN5QmpZVzVFY205d1NXNTBiME52Ym5SaGFXNWxjbk1nYVhNZ2RISjFaU3dnZEdobElHZHlZV0ppWVdKc1pTQjNhV3hzSUdSeWIzQWdhWFJ6Wld4bUlHbHVkRzhnWTI5dWRHRnBibVZ5YzF4eVhHNWNkQ0FxSUhkb1pXNGdZWEJ3Y205d2NtbGhkR1V1SUU5MGFHVnlkMmx6WlNCcGRDQjNhV3hzSUhKbGRIVnliaUIwYnlCcGRITWdjMk5sYm1VZ1ozSmhjR2d0YzNCbFkybG1hV1ZrSUhSeVlXNXpabTl5YlNCM2FHVnVYSEpjYmx4MElDb2dhWFFnYVhNZ1pISnZjSEJsWkM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCMGNuVmxYSEpjYmx4MElDb3ZYSEpjYmx4MFkyRnVSSEp2Y0VsdWRHOURiMjUwWVdsdVpYSnpQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlGVnpaU0IwYUdseklIUnlZVzV6Wm05eWJTQjNhR1Z1SUhSb2FYTWdaM0poWW1KaFlteGxJR2x6SUdKbGFXNW5JR2R5WVdKaVpXUXVJRnh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJSFZ6WlNCMGFHVWdkSEpoYm5ObWIzSnRJR0YwSUhSb1pTQnRiMjFsYm5RZ2RHaGxJR2R5WVdJZ2MzUmhjblJsWkZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2R5WVdKaVpYSkdjbTl0UjNKaFltSmhZbXhsUHpvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TzF4eVhHNWNjbHh1WEhRdktpb2dWWE5sSUhSb2FYTWdjRzl6WlNCbWIzSWdkR2hsSUdkeVlXSmlhVzVuSUdoaGJtUXNJR0Z1WkNCd2IzTnBkR2x2YmlCMGFHVWdaM0poWW1KaFlteGxJR0YwSUhSb1pTQmNJbWR5WVdJZ2NHOXBiblJjSWlCdlppQjBhR0YwWEhKY2JseDBJQ29nY0c5elpTNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQjFjMlVnZEdobElIUnlZVzV6Wm05eWJTQmhkQ0IwYUdVZ2JXOXRaVzUwSUhSb1pTQm5jbUZpSUhOMFlYSjBaV1JjY2x4dVhIUWdLaTljY2x4dVhIUm5jbUZpVUc5elpUODZJRWR5WVdKUWIzTmxPMXh5WEc1Y2NseHVYSFF2S2lvZ1JHVm1hVzVsY3lCM2FHVnVJSFJvWlNCbmNtRmlZbUZpYkdVZ1kyRnVJR0psSUdkeVlXSmlaV1FzSUdGdVpDQjNhR1YwYUdWeUlHOXlJRzV2ZEZ4eVhHNWNkQ0FxSUdsMElHTnZkVzUwY3lCaGN5QjBhR1VnZEc5d2JXOXpkQ0JuY21GaVltRmliR1VnYVc0Z2RHaGxJR2RoWkdkbGRDNWNjbHh1WEhRZ0tpOWNjbHh1WEhSemRIbHNaVG9nUjNKaFltSmhZbXhsVTNSNWJHVTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkVzVwY1hWbExYUnZMWFJvWlMxbllXUm5aWFFnYVdRZ2RHOGdkWE5sSUhSdklHeHBibXNnZFhBZ2RHaHBjeUJwZEdWdElIZHBkR2dnYVhSeklHTnZkVzUwWlhKd1lYSjBjeUJwYmlCeVpXMXZkR1ZjY2x4dVhIUWdLaUJuWVdSblpYUnpMaUJVYUdseklHMTFjM1FnWW1VZ2MzQmxZMmxtYVdWa0lHbG1JSFJvWlNCbmNtRmlZbUZpYkdVZ2FYTWdkWE5wYm1jZ2RHaGxJRTVsZEhkdmNtdGxaRWwwWlcwZ2MzUjViR1V1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnYm05dVpWeHlYRzVjZENBcUwxeHlYRzVjZEdsMFpXMUpaRDg2SUhOMGNtbHVaenRjY2x4dVhISmNibHgwTHlvcUlFbG1JSFJvYVhNZ2NISnZjQ0JwY3lCemNHVmphV1pwWldRc0lIUm9aU0IxYzJWeUlIZHBiR3dnWW1VZ2NISmxjMlZ1ZEdWa0lIZHBkR2dnWVNCa1pXeGxkR1VnYjNCMGFXOXVJSGRvWlc0Z2RHaGxlVnh5WEc1Y2RDQXFJR0ZqZEdsMllYUmxJSFJvWlNCQklHMWxiblVnZDJocGJHVWdkR2hwY3lCbllXUm5aWFFnYVhNZ2FHbG5hR3hwWjJoMFpXUXVJRWxtSUdFZ1kyRnNiR0poWTJzZ2FYTWdjSEp2ZG1sa1pXUXNYSEpjYmx4MElDb2dkR2hsSUdOaGJHeGlZV05ySUhkcGJHd2dZbVVnWTJGc2JHVmtJSGRvWlc0Z2RHaGxJSFZ6WlhJZ2MyVnNaV04wY3lCa1pXeGxkR1V1SUVsbUlIUnlkV1VnYVhNZ2NISnZkbWxrWldRc0lIUm9aVnh5WEc1Y2RDQXFJR2RoWkdkbGRDQjNhV3hzSUdKbElHTnNiM05sWkNCM2FHVnVJSFJvWlNCMWMyVnlJSE5sYkdWamRITWdaR1ZzWlhSbExseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4ME9pQnViMjVsWEhKY2JseDBJQ292WEhKY2JseDBjMmh2ZDBSbGJHVjBaVDg2SUhSeWRXVWdmQ0JUZEdGdVpHRnlaRWR5WVdKaVlXSnNaVVJsYkdWMFpVTmhiR3hpWVdOck8xeHlYRzVjY2x4dVhIUXZLaW9nU1dZZ2RHaHBjeUJ3Y205d0lHbHpJSFJ5ZFdVZ2RHaGxJR2R5WVdKaVlXSnNaU0IzYVd4c0lHbG5ibTl5WlNCaGJHd2djbTkwWVhScGIyNGdiM1JvWlhJZ2RHaGhiaUI1WVhkY2NseHVYSFFnS2lCbWNtOXRJR2wwY3lCd1lYSmxiblFnYzI4Z2RHaGhkQ0JwZENCcGN5QmhiSGRoZVhNZ2RYQnlhV2RvZEM1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZERvZ1ptRnNjMlZjY2x4dVhIUWdLaTljY2x4dVhIUm5jbUYyYVhSNVFXeHBaMjVsWkQ4NklHSnZiMnhsWVc0N1hISmNibjFjY2x4dVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1UzUmhibVJoY21SSGNtRmlZbUZpYkdWVGRHRjBaVnh5WEc1N1hISmNibHgwYUdsbmFHeHBaMmgwT2lCSWFXZG9iR2xuYUhSVWVYQmxPMXh5WEc1Y2RIUnlZVzV6Wm05eWJVOTJaWEp5YVdSa1pXNDZJR0p2YjJ4bFlXNDdYSEpjYm4xY2NseHVYSEpjYmk4cUtpQkJJR2R5WVdKaVlXSnNaU0IwYUdGMElITm9iM2R6SUdFZ2JXOWtaV3dnWm05eUlHbDBjeUJvWVc1a2JHVWdZVzVrSUdocFoyaHNhV2RvZEhNZ1lYVjBiMjFoZEdsallXeHNlUzRnS2k5Y2NseHVaWGh3YjNKMElHTnNZWE56SUVGMlUzUmhibVJoY21SSGNtRmlZbUZpYkdVZ1pYaDBaVzVrY3lCU1pXRmpkQzVEYjIxd2IyNWxiblE4SUZOMFlXNWtZWEprUjNKaFltSmhZbXhsVUhKdmNITXNJRk4wWVc1a1lYSmtSM0poWW1KaFlteGxVM1JoZEdVZ1BseHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQnRiM1psWVdKc1pVTnZiWEJ2Ym1WdWREb2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUTdYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyWldSRGIyMXdiMjVsYm5RNklFNWxkSGR2Y210bFpFZGhaR2RsZEVOdmJYQnZibVZ1ZER0Y2NseHVYSFJ3Y21sMllYUmxJSEpsYlc5MFpVTnZiWEJ2Ym1WdWREb2dVbVZ0YjNSbFIyRmtaMlYwUTI5dGNHOXVaVzUwTzF4eVhHNWNkSEJ5YVhaaGRHVWdaMkZrWjJWMFRHbHpkRkpsWmpvZ1VtVmhZM1F1VW1WbVQySnFaV04wUEVGMlIyRmtaMlYwVEdsemRENGdQU0JTWldGamRDNWpjbVZoZEdWU1pXWThRWFpIWVdSblpYUk1hWE4wUGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WdGIzUmxTWFJsYlVOdmJYQnZibVZ1ZERvZ1VtVnRiM1JsU1hSbGJVTnZiWEJ2Ym1WdWRDQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J1WlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1ME9pQk9aWFIzYjNKclpXUkpkR1Z0UTI5dGNHOXVaVzUwSUQwZ2JuVnNiRnh5WEc1Y2RIQnlhWFpoZEdVZ1ozSmhZbUpoWW14bFVtVm1JRDBnVW1WaFkzUXVZM0psWVhSbFVtVm1QQ0JCZGtOdmJYQnZjMlZrUlc1MGFYUjVJRDRvS1R0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JSEJ5YjNCek9pQmhibmtnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSE4xY0dWeUtDQndjbTl3Y3lBcE8xeHlYRzVjY2x4dVhIUmNkR2xtS0NBaGNISnZjSE11Ylc5a1pXeFZjbWtnSmlZZ0lYQnliM0J6TG1Gd2NHVmhjbUZ1WTJVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0lGd2lSV2wwYUdWeUlHMXZaR1ZzVlhKcElHOXlJR0Z3Y0dWaGNtRnVZMlVnYlhWemRDQmlaU0J3Y205MmFXUmxaRndpSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWMzUjViR1VnUFQwZ1IzSmhZbUpoWW14bFUzUjViR1V1VG1WMGQyOXlhMlZrU1hSbGJTQW1KaUFoZEdocGN5NXdjbTl3Y3k1cGRHVnRTV1FnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFISnZkeUJ1WlhjZ1JYSnliM0lvSUZ3aWFYUmxiVWxrSUdseklISmxjWFZwY21Wa0lHWnZjaUJ1WlhSM2IzSnJaV1FnYVhSbGJYTmNJaUFwTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblFnUFNCdVpYY2dUVzkyWldGaWJHVkRiMjF3YjI1bGJuUW9JSFJvYVhNdWIyNU5iM1psWVdKc1pWVndaR0YwWlN3Z1hISmNibHgwWEhSY2RIUm9hWE11Y0hKdmNITXVjM1I1YkdVZ1BUMGdSM0poWW1KaFlteGxVM1I1YkdVdVIyRmtaMlYwTENCY2NseHVYSFJjZEZ4MGRHaHBjeTV3Y205d2N5NWpZVzVFY205d1NXNTBiME52Ym5SaGFXNWxjbk1nSmlZZ0lVRjJSMkZrWjJWMExtbHVjM1JoYm1ObEtDa3VhWE5TWlcxdmRHVXNYSEpjYmx4MFhIUmNkSFJvYVhNdWNISnZjSE11WjNKaFltSmxja1p5YjIxSGNtRmlZbUZpYkdVZ1B6OGdkR2hwY3k1d2NtOXdjeTVuY21GaVVHOXpaU0FwTzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0J5WlcxdmRHVk1iMk5ySUQwZ1FYWkhZV1JuWlhRdWFXNXpkR0Z1WTJVb0tTNW1hVzVrU1c1cGRHbGhiRWx1ZEdWeVptRmpaU2dnVW1WdGIzUmxSMkZrWjJWMFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVNWhiV1VnS1R0Y2NseHVYSFJjZEdsbUtDQnlaVzF2ZEdWTWIyTnJJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwTHk4Z2RHaHBjeUJuWVdSblpYUWdhWE1nY21WdGIzUmxYSEpjYmx4MFhIUmNkSFJvYVhNdWNtVnRiM1JsUTI5dGNHOXVaVzUwSUQwZ2JtVjNJRkpsYlc5MFpVZGhaR2RsZEVOdmJYQnZibVZ1ZENnZ2RHaHBjeTV3Y205d2N5NXlaVzF2ZEdWSFlXUm5aWFJEWVd4c1ltRmpheUFwTzF4eVhHNWNjbHh1WEhSY2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWMzUjViR1VnUFQwZ1IzSmhZbUpoWW14bFUzUjViR1V1VG1WMGQyOXlhMlZrU1hSbGJTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbkpsYlc5MFpVbDBaVzFEYjIxd2IyNWxiblFnUFNCdVpYY2dVbVZ0YjNSbFNYUmxiVU52YlhCdmJtVnVkQ2dnZEdocGN5NXdjbTl3Y3k1cGRHVnRTV1FzSUc1MWJHd2dLVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjY2x4dVhIUmNkRngwYVdZb0lIUm9hWE11Y0hKdmNITXVjbVZ0YjNSbFNXNTBaWEptWVdObFRHOWphM01nS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBMeThnZEdocGN5Qm5ZV1JuWlhRZ2FYTWdiV0Z6ZEdWeUxDQnZjaUIzYVd4c0lHSmxJR2xtSUhSb1pTQjFjMlZ5SUdWdWRHVnljeUJoSUhKdmIyMWNjbHh1WEhSY2RGeDBYSFIwYUdsekxtNWxkSGR2Y210bFpFTnZiWEJ2Ym1WdWRDQTlJRzVsZHlCT1pYUjNiM0pyWldSSFlXUm5aWFJEYjIxd2IyNWxiblFvSUhSb2FYTXVjSEp2Y0hNdWNtVnRiM1JsU1c1MFpYSm1ZV05sVEc5amEzTXNJRnh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTV3Y205d2N5NXlaVzF2ZEdWSFlXUm5aWFJEWVd4c1ltRmpheUFwTzF4eVhHNWNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTV3Y205d2N5NXpkSGxzWlNBOVBTQkhjbUZpWW1GaWJHVlRkSGxzWlM1T1pYUjNiM0pyWldSSmRHVnRJQ2xjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RIUm9hWE11Ym1WMGQyOXlhMlZrU1hSbGJVTnZiWEJ2Ym1WdWRDQTlJRzVsZHlCT1pYUjNiM0pyWldSSmRHVnRRMjl0Y0c5dVpXNTBLQ0IwYUdsekxuQnliM0J6TG1sMFpXMUpaQ3dnYm5Wc2JDd2dYSEpjYmx4MFhIUmNkRngwWEhSMGFHbHpMbTl1VG1WMGQyOXlhMGwwWlcxRWNtOXdJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgwZ1hISmNibHh5WEc1Y2RGeDBkR2hwY3k1emRHRjBaU0E5SUZ4eVhHNWNkRngwZXlCY2NseHVYSFJjZEZ4MGFHbG5hR3hwWjJoME9pQklhV2RvYkdsbmFIUlVlWEJsTGs1dmJtVXNYSEpjYmx4MFhIUmNkSFJ5WVc1elptOXliVTkyWlhKeWFXUmtaVzQ2SUdaaGJITmxMRnh5WEc1Y2RGeDBmVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0JoYzNsdVl5QnZiazF2ZG1WaFlteGxWWEJrWVhSbEtDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdhR2xuYUd4cFoyaDBPaUJJYVdkb2JHbG5hSFJVZVhCbE8xeHlYRzVjZEZ4MGMzZHBkR05vS0NCMGFHbHpMbTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbk4wWVhSbElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBaR1ZtWVhWc2REcGNjbHh1WEhSY2RGeDBZMkZ6WlNCTmIzWmxZV0pzWlVOdmJYQnZibVZ1ZEZOMFlYUmxMa2xrYkdVNlhISmNibHgwWEhSY2RHTmhjMlVnVFc5MlpXRmliR1ZEYjIxd2IyNWxiblJUZEdGMFpTNUpia052Ym5SaGFXNWxjanBjY2x4dVhIUmNkRngwWEhSb2FXZG9iR2xuYUhRZ1BTQklhV2RvYkdsbmFIUlVlWEJsTGs1dmJtVTdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBVM1JoZEdVdVIzSmhZbUpsY2s1bFlYSmllVHBjY2x4dVhIUmNkRngwWEhSb2FXZG9iR2xuYUhRZ1BTQklhV2RvYkdsbmFIUlVlWEJsTGtsdVVtRnVaMlU3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVSM0poWW1KbFpEcGNjbHh1WEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTV1WlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1MFB5NTBjbUZ1YzJadmNtMVBkbVZ5Y21sa1pHVnVJQ2xjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJvYVdkb2JHbG5hSFFnUFNCSWFXZG9iR2xuYUhSVWVYQmxMa2R5WVdKaVpXUkNlVkpsYlc5MFpUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2hwWjJoc2FXZG9kQ0E5SUVocFoyaHNhV2RvZEZSNWNHVXVSM0poWW1KbFpEdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUUxdmRtVmhZbXhsUTI5dGNHOXVaVzUwVTNSaGRHVXVUV1Z1ZFRwY2NseHVYSFJjZEZ4MFhIUm9hV2RvYkdsbmFIUWdQU0JJYVdkb2JHbG5hSFJVZVhCbExrMWxiblU3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnS0NCdmJHUlRkR0YwWlRvZ1UzUmhibVJoY21SSGNtRmlZbUZpYkdWVGRHRjBaU0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RHbG1LQ0J2YkdSVGRHRjBaUzVvYVdkb2JHbG5hSFFnUFQwZ1NHbG5hR3hwWjJoMFZIbHdaUzVKYmxKaGJtZGxJSHg4SUc5c1pGTjBZWFJsTG1ocFoyaHNhV2RvZENBOVBTQklhV2RvYkdsbmFIUlVlWEJsTGs1dmJtVWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGFXWW9JR2hwWjJoc2FXZG9kQ0E5UFNCSWFXZG9iR2xuYUhSVWVYQmxMa2R5WVdKaVpXUWdLVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0luTjBZVzVrWVhKa0lHZHlZV0ppWVdKc1pTQjNZWE1nWjNKaFltSmxaRndpSUNrN1hISmNibHgwWEhSY2RGeDBYSFIwYUdsekxuQnliM0J6TG05dVIzSmhZajh1S0NrN1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEdWc2MyVWdhV1lvSUc5c1pGTjBZWFJsTG1ocFoyaHNhV2RvZENBOVBTQklhV2RvYkdsbmFIUlVlWEJsTGtkeVlXSmlaV1FnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBhV1lvSUdocFoyaHNhV2RvZENBOVBTQklhV2RvYkdsbmFIUlVlWEJsTGtsdVVtRnVaMlVnZkh3Z2FHbG5hR3hwWjJoMElEMDlJRWhwWjJoc2FXZG9kRlI1Y0dVdVRtOXVaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2ljM1JoYm1SaGNtUWdaM0poWW1KaFlteGxJSGRoY3lCMWJtZHlZV0ppWldSY0lpQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTV3Y205d2N5NXZia1Z1WkVkeVlXSS9MaWdwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdleUF1TGk1dmJHUlRkR0YwWlN3Z2FHbG5hR3hwWjJoMElIMDdYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnWVhONWJtTWdiMjVPWlhSM2IzSnJTWFJsYlVSeWIzQW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG1OaGJrUnliM0JKYm5SdlEyOXVkR0ZwYm1WeWN5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR0YzWVdsMElIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblF1WkhKdmNFbHVkRzlEZFhKeVpXNTBRMjl1ZEdGcGJtVnlLQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUdselIzSmhZbUpsWkNncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWMzUmhkR1V1YUdsbmFHeHBaMmgwSUQwOUlFaHBaMmhzYVdkb2RGUjVjR1V1UjNKaFltSmxaQ0JjY2x4dVhIUmNkRngwZkh3Z2RHaHBjeTV6ZEdGMFpTNW9hV2RvYkdsbmFIUWdQVDBnU0dsbmFHeHBaMmgwVkhsd1pTNUpia2h2YjJ0U1lXNW5aVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkQzhxS2lCVFpXNWtjeUJoYmlCbGRtVnVkQ0IwYnlCaGJtOTBhR1Z5SUdsdWMzUmhibU5sSUc5bUlIUm9hWE1nWjJGa1oyVjBMaUJKWmlCMGFHbHpJR2RoWkdkbGRDQnBjMXh5WEc1Y2RDQXFJSFJvWlNCdFlYTjBaWElzSUhSb1pTQmxkbVZ1ZENCcGN5QnpaVzUwSUhSdklHRnNiQ0J5WlcxdmRHVWdhVzV6ZEdGdVkyVnpMaUJKWmlCMGFHbHpJR2RoWkdkbGRDQmNjbHh1WEhRZ0tpQnBjeUJ5WlcxdmRHVXNJSFJvWlNCbGRtVnVkQ0JwY3lCelpXNTBJSFJ2SUhSb1pTQnRZWE4wWlhJdUlFbG1JSFJvYVhNZ1oyRmtaMlYwSUdseklHNXZkQ0J1WlhSM2IzSnJaV1FzWEhKY2JseDBJQ29nYjNJZ2FXWWdhWFFnYVhNZ2JtVjBkMjl5YTJWa0xDQmlkWFFnZEdobElIVnpaWElnYVhNZ2JtOTBJR04xY25KbGJuUnNlU0JwYmlCaElISnZiMjBzSUhSb1pTQmNjbHh1WEhRZ0tpQmxkbVZ1ZENCcGN5QmthWE5qWVhKa1pXUXVYSEpjYmx4MElDb3ZYSEpjYmx4MGNIVmliR2xqSUhObGJtUlNaVzF2ZEdWRmRtVnVkQ2dnWlhabGJuUTZJRzlpYW1WamRDd2djbVZzYVdGaWJHVTZJR0p2YjJ4bFlXNGdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11Ym1WMGQyOXlhMlZrUTI5dGNHOXVaVzUwUHk1elpXNWtSWFpsYm5SVWIwRnNiRkpsYlc5MFpYTW9JR1YyWlc1MExDQnlaV3hwWVdKc1pTQXBPMXh5WEc1Y2RGeDBkR2hwY3k1eVpXMXZkR1ZEYjIxd2IyNWxiblEvTG5ObGJtUkZkbVZ1ZEZSdlRXRnpkR1Z5S0NCbGRtVnVkQ3dnY21Wc2FXRmliR1VnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEdOdmJYQnZibVZ1ZEVScFpGVndaR0YwWlNnZ2NISmxkbEJ5YjNCek9pQlRkR0Z1WkdGeVpFZHlZV0ppWVdKc1pWQnliM0J6SUNsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ0lXVnhkV0ZzS0NCMGFHbHpMbkJ5YjNCekxuSmxiVzkwWlVsdWRHVnlabUZqWlV4dlkydHpMQ0J3Y21WMlVISnZjSE11Y21WdGIzUmxTVzUwWlhKbVlXTmxURzlqYTNNZ0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWJtVjBkMjl5YTJWa1EyOXRjRzl1Wlc1MFB5NXpaWFJKYm1sMGFXRnNTVzUwWlhKbVlXTmxURzlqYTNNb0lIUm9hWE11Y0hKdmNITXVjbVZ0YjNSbFNXNTBaWEptWVdObFRHOWphM01nS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUjBhR2x6TG5KbGJXOTBaVWwwWlcxRGIyMXdiMjVsYm5RL0xuTmxkRWx6UjNKaFltSmxaQ2dnZEdocGN5NXBjMGR5WVdKaVpXUWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmtaaGRtOXlhWFJsVkdocGMwZGhaR2RsZENncFhISmNibHgwZTF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lVMlZ1WkdsdVp5QnlaWEYxWlhOMElIUnZJR0ZrWkNCMGFHbHpJR2RoWkdkbGRDQjBieUJtWVhadmNtbDBaWE5jSWlBcE8xeHlYRzVjZEZ4MGRHaHBjeTVuWVdSblpYUk1hWE4wVW1WbUxtTjFjbkpsYm5RL0xtRmtaRVpoZG05eWFYUmxLQ0JCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG5WeWJDQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQm5aWFFnYzJodmQwUmxiR1YwWlNncE9pQmliMjlzWldGdVhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWNISnZjSE11YzJodmQwUmxiR1YwWlNBL0lIUnlkV1VnT2lBb0lIUm9hWE11Y0hKdmNITXVjM1I1YkdVZ1BUMGdSM0poWW1KaFlteGxVM1I1YkdVdVIyRmtaMlYwSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNUVaV3hsZEdVb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQjBlWEJsYjJZZ2RHaHBjeTV3Y205d2N5NXphRzkzUkdWc1pYUmxJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSmpZV3hzYVc1bklHUmxiR1YwWlNCallXeHNZbUZqYXlCaGRDQjBhR1VnZFhObGNpZHpJSEpsY1hWbGMzUWdabkp2YlNCMGFHVWdRU0J0Wlc1MVhDSWdLVHRjY2x4dVhIUmNkRngwZEdocGN5NXdjbTl3Y3k1emFHOTNSR1ZzWlhSbEtDazdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJbU5zYjNOcGJtY2dkR2hsSUdkaFpHZGxkQ0JoZENCMGFHVWdkWE5sY2lkeklISmxjWFZsYzNRZ1puSnZiU0IwYUdVZ1FTQnRaVzUxWENJZ0tUdGNjbHh1WEhSY2RGeDBkMmx1Wkc5M0xtTnNiM05sS0NrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RDOHFLaUJTWlhSMWNtNXpJSFJvWlNCbmJHOWlZV3dnU1VRZ2FXWWdkR2hsSUdkeVlXSmlZV0pzWlNCM2FYUm9hVzRnZEdobElFRjJVM1JoYm1SaGNtUkhjbUZpWW1GaWJHVXVJQ292WEhKY2JseDBjSFZpYkdsaklHZGxkQ0JuYkc5aVlXeEpaQ2dwSURvZ1JXNWtjRzlwYm5SQlpHUnlYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVaM0poWW1KaFlteGxVbVZtTG1OMWNuSmxiblEvTG1kc2IySmhiRWxrTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJSE5vYjNkRGFHbHNaSEpsYmpvZ1ltOXZiR1ZoYmp0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEdocGN5NXdjbTl3Y3k1emFHOTNRMmhwYkdSeVpXNGdQejhnVTJodmQwZHlZV0ppWVdKc1pVTm9hV3hrY21WdUxrRnNkMkY1Y3lBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHUmxabUYxYkhRNlhISmNibHgwWEhSY2RHTmhjMlVnVTJodmQwZHlZV0ppWVdKc1pVTm9hV3hrY21WdUxrRnNkMkY1Y3pwY2NseHVYSFJjZEZ4MFhIUnphRzkzUTJocGJHUnlaVzRnUFNCMGNuVmxPMXh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEZ4MFkyRnpaU0JUYUc5M1IzSmhZbUpoWW14bFEyaHBiR1J5Wlc0dVQyNXNlVmRvWlc1SGNtRmlZbVZrT2x4eVhHNWNkRngwWEhSY2RITm9iM2REYUdsc1pISmxiaUE5SUhSb2FYTXVjM1JoZEdVdWFHbG5hR3hwWjJoMElEMDlJRWhwWjJoc2FXZG9kRlI1Y0dVdVIzSmhZbUpsWkNCY2NseHVYSFJjZEZ4MFhIUmNkSHg4SUhSb2FYTXVjM1JoZEdVdWFHbG5hR3hwWjJoMElEMDlJRWhwWjJoc2FXZG9kRlI1Y0dVdVNXNUliMjlyVW1GdVoyVTdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRk5vYjNkSGNtRmlZbUZpYkdWRGFHbHNaSEpsYmk1UGJteDVWMmhsYms1dmRFZHlZV0ppWldRNlhISmNibHgwWEhSY2RGeDBjMmh2ZDBOb2FXeGtjbVZ1SUQwZ2RHaHBjeTV6ZEdGMFpTNW9hV2RvYkdsbmFIUWdQVDBnU0dsbmFHeHBaMmgwVkhsd1pTNU9iMjVsSUZ4eVhHNWNkRngwWEhSY2RGeDBmSHdnZEdocGN5NXpkR0YwWlM1b2FXZG9iR2xuYUhRZ1BUMGdTR2xuYUd4cFoyaDBWSGx3WlM1SmJsSmhibWRsTzF4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RHeGxkQ0JvYVdkb2JHbG5hSFJUWTJGc1pTQTlJSFJvYVhNdWMzUmhkR1V1YUdsbmFHeHBaMmgwSUQwOUlFaHBaMmhzYVdkb2RGUjVjR1V1U1c1U1lXNW5aU0EvSURFdU1TQTZJREV1TUR0Y2NseHVYSEpjYmx4MFhIUnNaWFFnWVhCd1pXRnlZVzVqWlRwS1UxZ3VSV3hsYldWdWREdGNjbHh1WEhSY2RHeGxkQ0JwYm1adlZtOXNkVzFsT2lCQmRsWnZiSFZ0WlR0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5CeWIzQnpMbTF2WkdWc1ZYSnBJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElITmpZV3hsSUQwZ2FHbG5hR3hwWjJoMFUyTmhiR1VnS2lBb0lIUm9hWE11Y0hKdmNITXViVzlrWld4VFkyRnNaU0EvUHlBeExqQWdLVHRjY2x4dVhIUmNkRngwWVhCd1pXRnlZVzVqWlNBOUlEeEJkbFJ5WVc1elptOXliU0IxYm1sbWIzSnRVMk5oYkdVOWV5QnpZMkZzWlNCOVBseHlYRzVjZEZ4MFhIUmNkRngwUEVGMlRXOWtaV3dnZFhKcFBYc2dkR2hwY3k1d2NtOXdjeTV0YjJSbGJGVnlhWDBnWTI5c2IzSTlleUIwYUdsekxuQnliM0J6TG0xdlpHVnNRMjlzYjNJZ2ZTOCtYSEpjYmx4MFhIUmNkRngwUEM5QmRsUnlZVzV6Wm05eWJUNDdYSEpjYmx4eVhHNWNkRngwWEhScGJtWnZWbTlzZFcxbElEMGdYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGVYQmxPaUJGVm05c2RXMWxWSGx3WlM1TmIyUmxiRUp2ZUN3Z1hISmNibHgwWEhSY2RGeDBkWEpwT2lCMGFHbHpMbkJ5YjNCekxtMXZaR1ZzVlhKcExDQmNjbHh1WEhSY2RGeDBYSFJ1YjJSbFJuSnZiVlp2YkhWdFpUcGNjbHh1WEhSY2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RGeDBjMk5oYkdVNklIc2dlRG9nYzJOaGJHVXNJSGs2SUhOallXeGxMQ0I2T2lCelkyRnNaU0I5WEhKY2JseDBYSFJjZEZ4MGZTeGNjbHh1WEhSY2RGeDBmVHRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFlYQndaV0Z5WVc1alpTQTlJRHhCZGxSeVlXNXpabTl5YlNCMWJtbG1iM0p0VTJOaGJHVTlleUJvYVdkb2JHbG5hSFJUWTJGc1pTQjlQbHh5WEc1Y2RGeDBYSFJjZEZ4MGV5QjBhR2x6TG5CeWIzQnpMbUZ3Y0dWaGNtRnVZMlVnZlZ4eVhHNWNkRngwWEhSY2REd3ZRWFpVY21GdWMyWnZjbTArTzF4eVhHNWNjbHh1WEhSY2RGeDBhVzVtYjFadmJIVnRaU0E5SUhzZ0xpNHVkR2hwY3k1d2NtOXdjeTUyYjJ4MWJXVWdmVHRjY2x4dVhISmNibHgwWEhSY2RHbG1LQ0FoYVc1bWIxWnZiSFZ0WlM1dWIyUmxSbkp2YlZadmJIVnRaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnBibVp2Vm05c2RXMWxMbTV2WkdWR2NtOXRWbTlzZFcxbElEMGdlMzA3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEZ4MGFXWW9JQ0ZwYm1adlZtOXNkVzFsTG01dlpHVkdjbTl0Vm05c2RXMWxMbk5qWVd4bElDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdsdVptOVdiMngxYldVdWJtOWtaVVp5YjIxV2IyeDFiV1V1YzJOaGJHVWdQU0I3SUhnNklERXVNQ3dnZVRvZ01TNHdMQ0I2T2lBeExqQWdmVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBhVzVtYjFadmJIVnRaUzV1YjJSbFJuSnZiVlp2YkhWdFpTNXpZMkZzWlM1NElDbzlJR2hwWjJoc2FXZG9kRk5qWVd4bE8xeHlYRzVjZEZ4MFhIUnBibVp2Vm05c2RXMWxMbTV2WkdWR2NtOXRWbTlzZFcxbExuTmpZV3hsTG5rZ0tqMGdhR2xuYUd4cFoyaDBVMk5oYkdVN1hISmNibHgwWEhSY2RHbHVabTlXYjJ4MWJXVXVibTlrWlVaeWIyMVdiMngxYldVdWMyTmhiR1V1ZWlBcVBTQm9hV2RvYkdsbmFIUlRZMkZzWlR0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnWTI5dWMzUnlZV2x1ZERvZ1FYWkRiMjV6ZEhKaGFXNTBJRDBnYm5Wc2JEdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxuQnliM0J6TG1keVlYWnBkSGxCYkdsbmJtVmtJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dWMzUnlZV2x1ZENBOUlIc2daM0poZG1sMGVVRnNhV2R1WldRNklIUm9hWE11Y0hKdmNITXVaM0poZG1sMGVVRnNhV2R1WldRZ2ZUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJzWlhRZ2JHOWpZWFJ2Y2tWdWRHbDBlVG9nU2xOWUxrVnNaVzFsYm5RN1hISmNibHh5WEc1Y2RGeDBiR1YwSUdWdWRHbDBlVlp2YkhWdFpUb2dRWFpXYjJ4MWJXVTdYSEpjYmx4eVhHNWNkRngwYkdWMElHUmxZblZuVG1GdFpTQTlJR0FrZXlCQmRrZGhaR2RsZEM1cGJuTjBZVzVqWlNncExtZGxkRTVoYldVb0tTQjlMeVI3SUhSb2FYTXVjSEp2Y0hNdWFYUmxiVWxrSUQ4L0lGd2lYQ0lnZldBN1hISmNibHh5WEc1Y2RGeDBiR1YwSUdOdmJYQnZibVZ1ZEhNNklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ0ZElEMGdXMTA3WEhKY2JseDBYSFJ6ZDJsMFkyZ29JSFJvYVhNdWNISnZjSE11YzNSNWJHVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJqWVhObElFZHlZV0ppWVdKc1pWTjBlV3hsTGtkaFpHZGxkRHBjY2x4dVhIUmNkRngwWEhScFppZ2dRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzVwYzFKbGJXOTBaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWTI5dGNHOXVaVzUwY3k1d2RYTm9LQ0IwYUdsekxuSmxiVzkwWlVOdmJYQnZibVZ1ZENBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWlc1MGFYUjVWbTlzZFcxbElEMGdaVzF3ZEhsV2IyeDFiV1VvS1R0Y2NseHVYSFJjZEZ4MFhIUjlYSFJjY2x4dVhIUmNkRngwWEhSbGJITmxYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBZMjl0Y0c5dVpXNTBjeTV3ZFhOb0tDQjBhR2x6TG0xdmRtVmhZbXhsUTI5dGNHOXVaVzUwSUNrN1hISmNibHgwWEhSY2RGeDBYSFJsYm5ScGRIbFdiMngxYldVZ1BTQnBibVp2Vm05c2RXMWxPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NCMGFHbHpMbTVsZEhkdmNtdGxaRU52YlhCdmJtVnVkQ0FwWEhKY2JseDBYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeHZZMkYwYjNKRmJuUnBkSGtnUFNBOFFYWkRiMjF3YjNObFpFVnVkR2wwZVNCamIyMXdiMjVsYm5SelBYc2dXeUIwYUdsekxtNWxkSGR2Y210bFpFTnZiWEJ2Ym1WdWRDQmRJSDBnWEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwZG05c2RXMWxQWHNnYVc1bWFXNXBkR1ZXYjJ4MWJXVW9LU0I5SUdSbFluVm5UbUZ0WlQxN0lHUmxZblZuVG1GdFpTQXJJRndpTDI1bGRIZHZjbXRmWjJGa1oyVjBYQ0lnZlM4K08xeHlYRzVjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RIMWNkRngwWEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmpZWE5sSUVkeVlXSmlZV0pzWlZOMGVXeGxMa3h2WTJGc1NYUmxiVHBjY2x4dVhIUmNkRngwWEhSamIyMXdiMjVsYm5SekxuQjFjMmdvSUhSb2FYTXViVzkyWldGaWJHVkRiMjF3YjI1bGJuUWdLVHRjY2x4dVhIUmNkRngwWEhSbGJuUnBkSGxXYjJ4MWJXVWdQU0JwYm1adlZtOXNkVzFsTzF4eVhHNWNkRngwWEhSaWNtVmhhenRjY2x4dVhISmNibHgwWEhSY2RHTmhjMlVnUjNKaFltSmhZbXhsVTNSNWJHVXVUbVYwZDI5eWEyVmtTWFJsYlRwY2NseHVYSFJjZEZ4MFhIUnBaaWdnUVhaSFlXUm5aWFF1YVc1emRHRnVZMlVvS1M1cGMxSmxiVzkwWlNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFkyOXRjRzl1Wlc1MGN5NXdkWE5vS0NCMGFHbHpMbkpsYlc5MFpVbDBaVzFEYjIxd2IyNWxiblFnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkR052YlhCdmJtVnVkSE11Y0hWemFDZ2dkR2hwY3k1dGIzWmxZV0pzWlVOdmJYQnZibVZ1ZENBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWlc1MGFYUjVWbTlzZFcxbElEMGdhVzVtYjFadmJIVnRaVHRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTV0YjNabFlXSnNaVU52YlhCdmJtVnVkQzV6ZEdGMFpTQTlQU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrZHlZV0ppWldRZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJzWlhRZ2JHOWpheUE5SUhzZ0xpNHVkR2hwY3k1eVpXMXZkR1ZKZEdWdFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVeHZZMnR6V3pCZElIMDdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeHZZMnN1YVdaaFkyVWdQU0JyWDNKbGJXOTBaVWR5WVdKaVlXSnNaVWx1ZEdWeVptRmpaVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBiRzlqWVhSdmNrVnVkR2wwZVNBOUlEeEJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVTQjJiMngxYldVOWV5QnBibVp2Vm05c2RXMWxJSDFjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFIwY21GdWMyMXBkSE05ZXlCYklIc2dhV1poWTJVNklHdGZjbVZ0YjNSbFIzSmhZbUpoWW14bFNXNTBaWEptWVdObElIMGdYU0I5WEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwWEhScGJuUmxjbVpoWTJWTWIyTnJjejE3SUZzZ2JHOWpheUJkSUgxY2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSa1pXSjFaMDVoYldVOWV5QmtaV0oxWjA1aGJXVWdLeUJjSWk5eVpXMXZkR1ZmYVhSbGJWd2lJSDB2UGx4eVhHNWNkRngwWEhSY2RGeDBmVngwWEhSY2RGeHlYRzVjZEZ4MFhIUmNkSDFjZEZ4eVhHNWNkRngwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTV1WlhSM2IzSnJaV1JKZEdWdFEyOXRjRzl1Wlc1MExuUnlZVzV6Wm05eWJVOTJaWEp5YVdSa1pXNGdLVnh5WEc1Y2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhRdkx5QnBaaUIwY21GdWMyWnZjbTF6SUdGeVpTQnZkbVZ5Y21sa1pHVnVMQ0IzWlNCM1lXNTBJSFJvWlNCdVpYUjNiM0pyWldRZ2FYUmxiU0JtYVhKemRDQnpieUJwZEhNZ2NHRnlaVzUwWEhKY2JseDBYSFJjZEZ4MFhIUmNkQzh2SUhkcGJHd2dZbVVnZFhObFpDQnBibk4wWldGa0lHOW1JSGRvWVhSbGRtVnlJR052Ym5SaGFXNWxjaUIzWlNCM1pYSmxJR2x1TGx4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjIxd2IyNWxiblJ6TG5CMWMyZ29JSFJvYVhNdWJtVjBkMjl5YTJWa1NYUmxiVU52YlhCdmJtVnVkQ3dnZEdocGN5NXRiM1psWVdKc1pVTnZiWEJ2Ym1WdWRDQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkRngwWld4elpWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjIxd2IyNWxiblJ6TG5CMWMyZ29JSFJvYVhNdWJXOTJaV0ZpYkdWRGIyMXdiMjVsYm5Rc0lIUm9hWE11Ym1WMGQyOXlhMlZrU1hSbGJVTnZiWEJ2Ym1WdWRDQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkRngwWlc1MGFYUjVWbTlzZFcxbElEMGdhVzVtYjFadmJIVnRaVHRjY2x4dVhIUmNkRngwWEhSOVhIUmNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RIMWNkRngwWEhKY2JseHlYRzVjZEZ4MGFXWW9JRUYyUjJGa1oyVjBMbWx1YzNSaGJtTmxLQ2t1YVhOU1pXMXZkR1VnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSa1pXSjFaMDVoYldVZ0t6MGdYQ0l2Y21WdGIzUmxYQ0k3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJR05vYVd4a2NtVnVJRDBnZEdocGN5NXdjbTl3Y3k1amFHbHNaSEpsYmp0Y2NseHVYSFJjZEdsbUtDQWhjMmh2ZDBOb2FXeGtjbVZ1SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGMzZHBkR05vS0NCMGFHbHpMbkJ5YjNCekxtaHBaR1JsYmtOb2FXeGtjbVZ1UW1Wb1lYWnBiM0lnUHo4Z1NHbGtaR1Z1UTJocGJHUnlaVzVDWldoaGRtbHZjaTVJYVdSa1pXNGdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFpHVm1ZWFZzZERwY2NseHVYSFJjZEZ4MFhIUmpZWE5sSUVocFpHUmxia05vYVd4a2NtVnVRbVZvWVhacGIzSXVTR2xrWkdWdU9seHlYRzVjZEZ4MFhIUmNkRngwWTJocGJHUnlaVzRnUFNBOFFYWlVjbUZ1YzJadmNtMGdkbWx6YVdKc1pUMTdJSE5vYjNkRGFHbHNaSEpsYmlCOVBuc2dkR2hwY3k1d2NtOXdjeTVqYUdsc1pISmxiaUI5UEM5QmRsUnlZVzV6Wm05eWJUNDdYSEpjYmx4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhISmNibHgwWEhSY2RGeDBZMkZ6WlNCSWFXUmtaVzVEYUdsc1pISmxia0psYUdGMmFXOXlMazl0YVhRNlhISmNibHgwWEhSY2RGeDBYSFJqYUdsc1pISmxiaUE5SUc1MWJHdzdYSEpjYmx4MFhIUmNkSDFjZEZ4MFhISmNibHgwWEhSOVhIUmNjbHh1WEhKY2JseDBYSFJqYjI1emRDQmhaSFpsY25ScGVtVkhZV1JuWlhSSmJtWnZJRDBnZEdocGN5NXdjbTl3Y3k1emRIbHNaU0E5UFNCSGNtRmlZbUZpYkdWVGRIbHNaUzVIWVdSblpYUTdYSEpjYmx4eVhHNWNkRngwYkdWMElHMWxiblU2SUVwVFdDNUZiR1Z0Wlc1MElEMGdiblZzYkR0Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG5OMFlYUmxMbWhwWjJoc2FXZG9kQ0E5UFNCSWFXZG9iR2xuYUhSVWVYQmxMazFsYm5VZ1hISmNibHgwWEhSY2RDWW1JQ2dnZEdocGN5NXphRzkzUkdWc1pYUmxJSHg4SUdGa2RtVnlkR2w2WlVkaFpHZGxkRWx1Wm04Z0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCbmNtRmlZbUZpYkdWR2NtOXRUV1Z1ZFNBOUlIUm9hWE11Ylc5MlpXRmliR1ZEYjIxd2IyNWxiblF1YldWdWRWTmxiR1pHY205dFIzSmhZbUpsY2p0Y2NseHVYSFJjZEZ4MGJXVnVkU0E5SUR4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJadmNtMDlleUJuY21GaVltRmliR1ZHY205dFRXVnVkU0I5UGx4eVhHNWNkRngwWEhSY2REeEJka2hsWVdSR1lXTnBibWRVY21GdWMyWnZjbTArWEhKY2JseDBYSFJjZEZ4MGV5QmNjbHh1WEhSY2RGeDBYSFJjZEdGa2RtVnlkR2w2WlVkaFpHZGxkRWx1Wm04Z0ppWmNjbHh1WEhSY2RGeDBYSFJjZER4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJ4aGRHVllQWHN0TUM0d05TQjlJSFJ5WVc1emJHRjBaVm85ZXlBd0xqQXpJSDFjY2x4dVhIUmNkRngwWEhSY2RGeDBkVzVwWm05eWJWTmpZV3hsUFhzZ01TNDFJSDArWEhKY2JseDBYSFJjZEZ4MFhIUmNkRHhCZGsxbGJuVkpkR1Z0SUcxdlpHVnNWWEpwUFhzZ1oxOWlkV2xzZEdsdVRXOWtaV3hUZEdGeUlIMWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnZibE5sYkdWamREMTdJSFJvYVhNdWIyNUdZWFp2Y21sMFpWUm9hWE5IWVdSblpYUWdmUzgrWEhKY2JseDBYSFJjZEZ4MFhIUThMMEYyVkhKaGJuTm1iM0p0UGx4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1emFHOTNSR1ZzWlhSbElDWW1YSEpjYmx4MFhIUmNkRngwWEhROFFYWlVjbUZ1YzJadmNtMGdkSEpoYm5Oc1lYUmxXRDE3SURBdU1EVWdmU0FnZEhKaGJuTnNZWFJsV2oxN0lEQXVNRE1nZlZ4eVhHNWNkRngwWEhSY2RGeDBYSFJ5YjNSaGRHVllQWHNnTFRrd0lIMWNkSFZ1YVdadmNtMVRZMkZzWlQxN0lEQXVNaUI5UGx4eVhHNWNkRngwWEhSY2RGeDBYSFE4UVhaTlpXNTFTWFJsYlNCdGIyUmxiRlZ5YVQxN0lHZGZZblZwYkhScGJrMXZaR1ZzVkhKaGMyaGpZVzRnZlZ4eVhHNWNkRngwWEhSY2RGeDBYSFJjZEc5dVUyVnNaV04wUFhzZ2RHaHBjeTV2YmtSbGJHVjBaU0I5THo1Y2NseHVYSFJjZEZ4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZER3dlFYWklaV0ZrUm1GamFXNW5WSEpoYm5ObWIzSnRQbHh5WEc1Y2NseHVYSFJjZEZ4MFhIUThRWFpIWVdSblpYUk1hWE4wSUhKbFpqMTdJSFJvYVhNdVoyRmtaMlYwVEdsemRGSmxaaUI5SUM4K1hISmNibHgwWEhSY2REd3ZRWFpVY21GdWMyWnZjbTArTzF4eVhHNWNkRngwZlZ4eVhHNWNjbHh1WEhSY2RISmxkSFZ5YmlBOFFYWkRiMjF3YjNObFpFVnVkR2wwZVNCamIyMXdiMjVsYm5SelBYc2dZMjl0Y0c5dVpXNTBjeUI5SUhadmJIVnRaVDE3SUdWdWRHbDBlVlp2YkhWdFpTQjlJRnh5WEc1Y2RGeDBYSFJqYjI1emRISmhhVzUwUFhzZ1kyOXVjM1J5WVdsdWRDQjlJR1JsWW5WblRtRnRaVDE3SUdSbFluVm5UbUZ0WlNCOUlISmxaajE3SUhSb2FYTXVaM0poWW1KaFlteGxVbVZtSUgwK1hISmNibHgwWEhSY2RIc2diRzlqWVhSdmNrVnVkR2wwZVNCOVhISmNibHgwWEhSY2RIc2dZWEJ3WldGeVlXNWpaU0I5WEhKY2JseDBYSFJjZEhzZ1kyaHBiR1J5Wlc0Z2ZWeHlYRzVjZEZ4MFhIUjdJR0ZrZG1WeWRHbDZaVWRoWkdkbGRFbHVabThnSmlaY2NseHVYSFJjZEZ4MFhIUThRWFpIWVdSblpYUkpibVp2SUhadmJIVnRaVDE3SUdsdVptOVdiMngxYldVZ2ZTQXZQaUI5WEhKY2JseDBYSFJjZEhzZ2JXVnVkU0I5WEhKY2JseDBYSFE4TDBGMlEyOXRjRzl6WldSRmJuUnBkSGsrTzF4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dVhISmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX3N0YW5kYXJkX2dyYWJiYWJsZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQXZUcmFuc2Zvcm0gKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2VHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBBdlRyYW5zZm9ybTsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQHRsYXVra2FuL3RzbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Jhc2Vfbm9kZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfYmFzZV9ub2RlLnRzeFxcXCIpO1xcblxcclxcblxcclxcblxcclxcbi8qKiBBcHBsaWVzIGEgc3RhdGljIHRyYW5zZm9ybSB0byBhbGwgY2hpbGRyZW4uICovXFxyXFxuY2xhc3MgQXZUcmFuc2Zvcm0gZXh0ZW5kcyBfYWFyZHZhcmtfYmFzZV9ub2RlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2QmFzZU5vZGVcXFwiXSB7XFxyXFxuICAgIGJ1aWxkTm9kZSgpIHtcXHJcXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5jcmVhdGVOb2RlT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJBdk5vZGVUeXBlXFxcIl0uVHJhbnNmb3JtLCB0aGlzLm1fbm9kZUlkKTtcXHJcXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucHJvcHMudHJhbnNmb3JtKSkge1xcclxcbiAgICAgICAgICAgIGxldCBzZWVkVHJhbnNmb3JtID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJub2RlVHJhbnNmb3JtRnJvbU1hdDRcXFwiXSkoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJtaW5pbWFsVG9NYXQ0VHJhbnNmb3JtXFxcIl0pKHRoaXMucHJvcHMudHJhbnNmb3JtKSk7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNmb3JtID0gT2JqZWN0LmFzc2lnbih7fSwgc2VlZFRyYW5zZm9ybSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3BzLnRyYW5zZm9ybSkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMucHJvcHMudHJhbnNmb3JtKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybSA9IHt9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudW5pZm9ybVNjYWxlICE9IG51bGwpIHtcXHJcXG4gICAgICAgICAgICBub2RlLnByb3BUcmFuc2Zvcm0uc2NhbGUgPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLnByb3BzLnVuaWZvcm1TY2FsZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHk6IHRoaXMucHJvcHMudW5pZm9ybVNjYWxlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgejogdGhpcy5wcm9wcy51bmlmb3JtU2NhbGUsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLnByb3BzLnNjYWxlWCAhPSBudWxsIHx8IHRoaXMucHJvcHMuc2NhbGVZICE9IG51bGwgfHwgdGhpcy5wcm9wcy5zY2FsZVogIT0gbnVsbCkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybS5zY2FsZSA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHg6IHRoaXMucHJvcHMuc2NhbGVYICE9IG51bGwgPyB0aGlzLnByb3BzLnNjYWxlWCA6IDEsXFxyXFxuICAgICAgICAgICAgICAgICAgICB5OiB0aGlzLnByb3BzLnNjYWxlWSAhPSBudWxsID8gdGhpcy5wcm9wcy5zY2FsZVkgOiAxLFxcclxcbiAgICAgICAgICAgICAgICAgICAgejogdGhpcy5wcm9wcy5zY2FsZVogIT0gbnVsbCA/IHRoaXMucHJvcHMuc2NhbGVaIDogMSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnRyYW5zbGF0ZVggIT0gbnVsbCB8fCB0aGlzLnByb3BzLnRyYW5zbGF0ZVkgIT0gbnVsbCB8fCB0aGlzLnByb3BzLnRyYW5zbGF0ZVogIT0gbnVsbCkge1xcclxcbiAgICAgICAgICAgIG5vZGUucHJvcFRyYW5zZm9ybS5wb3NpdGlvbiA9XFxyXFxuICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHg6IHRoaXMucHJvcHMudHJhbnNsYXRlWCAhPSBudWxsID8gdGhpcy5wcm9wcy50cmFuc2xhdGVYIDogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHk6IHRoaXMucHJvcHMudHJhbnNsYXRlWSAhPSBudWxsID8gdGhpcy5wcm9wcy50cmFuc2xhdGVZIDogMCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHo6IHRoaXMucHJvcHMudHJhbnNsYXRlWiAhPSBudWxsID8gdGhpcy5wcm9wcy50cmFuc2xhdGVaIDogMCxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnJvdGF0aW9uKSB7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNmb3JtLnJvdGF0aW9uID0gdGhpcy5wcm9wcy5yb3RhdGlvbjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMucHJvcHMucm90YXRlWCAhPSBudWxsIHx8IHRoaXMucHJvcHMucm90YXRlWSAhPSBudWxsIHx8IHRoaXMucHJvcHMucm90YXRlWiAhPSBudWxsKSB7XFxyXFxuICAgICAgICAgICAgbGV0IHF4ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXNcXFwiXSkoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJ2ZWMzXFxcIl0ucmlnaHQsIHRoaXMucHJvcHMucm90YXRlWCk7XFxyXFxuICAgICAgICAgICAgbGV0IHF5ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXNcXFwiXSkoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJ2ZWMzXFxcIl0udXAsIHRoaXMucHJvcHMucm90YXRlWSk7XFxyXFxuICAgICAgICAgICAgbGV0IHF6ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0RnJvbUF4aXNBbmdsZURlZ3JlZXNcXFwiXSkoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJ2ZWMzXFxcIl0uZm9yd2FyZCwgdGhpcy5wcm9wcy5yb3RhdGVaKTtcXHJcXG4gICAgICAgICAgICBsZXQgcSA9IHF4Lm11bHRpcGx5KHF5KS5tdWx0aXBseShxeik7XFxyXFxuICAgICAgICAgICAgbm9kZS5wcm9wVHJhbnNmb3JtLnJvdGF0aW9uID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdzogcS53LFxcclxcbiAgICAgICAgICAgICAgICAgICAgeDogcS54LFxcclxcbiAgICAgICAgICAgICAgICAgICAgeTogcS55LFxcclxcbiAgICAgICAgICAgICAgICAgICAgejogcS56LFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbm9kZS5wcm9wUGFyZW50QWRkciA9IHRoaXMucHJvcHMucGFyZW50O1xcclxcbiAgICAgICAgbm9kZS5wcm9wQ29uc3RyYWludCA9IHRoaXMucHJvcHMuY29uc3RyYWludDtcXHJcXG4gICAgICAgIHJldHVybiBub2RlO1xcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5MGNtRnVjMlp2Y20wdWRITjRQMlptWWpnaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQk1FMDdRVUZEY2tzN1FVRkRPRUk3UVVFd1IyNUZMR3RFUVVGclJEdEJRVU16UXl4TlFVRk5MRmRCUVZrc1UwRkJVU3c0UkVGQmEwTTdTVUZGTTBRc1UwRkJVenRSUVVWbUxFbEJRVWtzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlJTeHpSVUZCVlN4RFFVRkRMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVOQlFVTTdVVUZGZUVVc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRkxFVkJRM3BETzFsQlEwTXNTVUZCU1N4aFFVRmhMRWRCUVVjc2VVWkJRWEZDTEVOQlEzaERMREJHUVVGelFpeERRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJkMElzUTBGQlJTeERRVUZGTEVOQlFVTTdXVUZEYWtVc1NVRkJTU3hEUVVGRExHRkJRV0VzY1VKQlFWRXNZVUZCWVN4RFFVRkZMRU5CUVVNN1UwRkRNVU03WVVGRFNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhGUVVNM1FqdFpRVU5ETEVsQlFVa3NRMEZCUXl4aFFVRmhMSEZDUVVGUkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkZMRU5CUVVNN1UwRkRha1E3WVVGRlJEdFpRVU5ETEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1JVRkJSU3hEUVVGRE8xTkJRM2hDTzFGQlJVUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzU1VGQlNTeEpRVUZKTEVWQlEyNURPMWxCUTBNc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eExRVUZMTzJkQ1FVTjRRanR2UWtGRFF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhaUVVGWk8yOUNRVU14UWl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFpRVUZaTzI5Q1FVTXhRaXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4WlFVRlpPMmxDUVVNeFFpeERRVUZETzFOQlEwWTdZVUZEU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEpRVUZKTEVsQlFVa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFbEJRVWtzU1VGQlNTeEZRVU0xUmp0WlFVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUzBGQlN6dG5Ra0ZEZUVJN2IwSkJRME1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUTNCRUxFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzI5Q1FVTndSQ3hEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZEY0VRc1EwRkJRenRUUVVOR08xRkJSVVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4SlFVRkpMRWxCUVVrc1JVRkRia2M3V1VGRFF5eEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRkZCUVZFN1owSkJRek5DTzI5Q1FVTkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNTVUZCU1N4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU0xUkN4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRE5VUXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVlVGQlZTeEpRVUZKTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2FVSkJRelZFTzFOQlEwUTdVVUZEUkN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU4yUWp0WlFVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRE8xTkJRMnhFTzJGQlEwa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFOUJRVThzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFbEJRVWtzU1VGQlNTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhKUVVGSkxFbEJRVWtzUlVGREwwWTdXVUZEUXl4SlFVRkpMRVZCUVVVc1IwRkJSeXcwUmtGQmQwSXNRMEZCUlN4clJFRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJSU3hEUVVGRE8xbEJRM0JGTEVsQlFVa3NSVUZCUlN4SFFVRkhMRFJHUVVGM1FpeERRVUZGTEd0RVFVRkpMRU5CUVVNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkZMRU5CUVVNN1dVRkRha1VzU1VGQlNTeEZRVUZGTEVkQlFVY3NORVpCUVhkQ0xFTkJRVVVzYTBSQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUXp0WlFVVjBSU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNVVUZCVVN4RFFVRkZMRVZCUVVVc1EwRkJSU3hEUVVGRExGRkJRVkVzUTBGQlJTeEZRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTjZReXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEZGQlFWRTdaMEpCUXpOQ08yOUNRVU5ETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenR2UWtGRFRpeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRMDRzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVOT0xFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0cFFrRkRUanRUUVVORU8xRkJSVVFzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU40UXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRPMUZCUlRWRExFOUJRVThzU1VGQlNTeERRVUZETzBsQlEySXNRMEZCUXp0RFFVTkVJaXdpWm1sc1pTSTZJaTR2YzNKakwyRmhjbVIyWVhKclgzUnlZVzV6Wm05eWJTNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJkazV2WkdWVWNtRnVjMlp2Y20wc0lFRjJUbTlrWlZSNWNHVXNJRUYyVVhWaGRHVnlibWx2Yml3Z1JXNWtjRzlwYm5SQlpHUnlMQ0JOYVc1cGJXRnNVRzl6WlN3Z2JXbHVhVzFoYkZSdlRXRjBORlJ5WVc1elptOXliU3dnYm05a1pWUnlZVzV6Wm05eWJVWnliMjFOWVhRMExDQnhkV0YwUm5KdmJVRjRhWE5CYm1kc1pVUmxaM0psWlhNc0lFRjJRMjl1YzNSeVlXbHVkQ0I5SUdaeWIyMGdKMEJoWVhKa2RtRnlhM2h5TDJGaGNtUjJZWEpyTFhOb1lYSmxaQ2M3WEhKY2JtbHRjRzl5ZENCN0lIWmxZek1nZlNCbWNtOXRJQ2RBZEd4aGRXdHJZVzR2ZEhOdEp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaQ1lYTmxUbTlrWlN3Z1FYWkNZWE5sVG05a1pWQnliM0J6SUgwZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5aVlYTmxYMjV2WkdVbk8xeHlYRzVjY2x4dVhISmNiaThxS2lCUWNtOXdjeUJtYjNJZ2UwQnNhVzVySUVGMlZISmhibk5tYjNKdGZTQXFMMXh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVGMlZISmhibk5tYjNKdFVISnZjSE1nWlhoMFpXNWtjeUJCZGtKaGMyVk9iMlJsVUhKdmNITmNjbHh1ZTF4eVhHNWNkQzhxS2lCVWFHVWdkVzVwWm05eWJTQnpZMkZzWlNCMGJ5QmhjSEJzZVNCMGJ5QmhiR3dnWTJocGJHUnlaVzR1SUVsbUlIVnVhV1p2Y20xVFkyRnNaU0JwY3lCemNHVmphV1pwWldRc0lGeHlYRzVjZENBcUlITmpZV3hsV0N3Z2MyTmhiR1ZaTENCaGJtUWdjMk5oYkdWYUlHMTFjM1FnWW1VZ2RXNWtaV1pwYm1Wa0xseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElERXVNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RIVnVhV1p2Y20xVFkyRnNaVDg2Ym5WdFltVnlPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJSE5qWVd4bElHOXVJSFJvWlNCWUlHRjRhWE1nZEc4Z1lYQndiSGtnZEc4Z1lXeHNJR05vYVd4a2NtVnVMaUJOZFhOMElHSmxJR3hsWm5RZ2RXNWtaV1pwYm1Wa1hISmNibHgwSUNvZ2FXWWdkVzVwWm05eWJWTmpZV3hsSUdseklITndaV05wWm1sbFpDNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQXhMakJjY2x4dVhIUWdLaTljY2x4dVhIUnpZMkZzWlZnL09tNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCelkyRnNaU0J2YmlCMGFHVWdXU0JoZUdseklIUnZJR0Z3Y0d4NUlIUnZJR0ZzYkNCamFHbHNaSEpsYmk0Z1RYVnpkQ0JpWlNCc1pXWjBJSFZ1WkdWbWFXNWxaRnh5WEc1Y2RDQXFJR2xtSUhWdWFXWnZjbTFUWTJGc1pTQnBjeUJ6Y0dWamFXWnBaV1F1WEhKY2JseDBJQ29nWEhKY2JseDBJQ29nUUdSbFptRjFiSFFnTVM0d1hISmNibHgwSUNvdlhISmNibHgwYzJOaGJHVlpQenB1ZFcxaVpYSTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdjMk5oYkdVZ2IyNGdkR2hsSUZvZ1lYaHBjeUIwYnlCaGNIQnNlU0IwYnlCaGJHd2dZMmhwYkdSeVpXNHVJRTExYzNRZ1ltVWdiR1ZtZENCMWJtUmxabWx1WldSY2NseHVYSFFnS2lCcFppQjFibWxtYjNKdFUyTmhiR1VnYVhNZ2MzQmxZMmxtYVdWa0xseHlYRzVjZENBcUlGeHlYRzVjZENBcUlFQmtaV1poZFd4MElERXVNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RITmpZV3hsV2o4NmJuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhSeVlXNXpiR0YwYVc5dUlHOXVJSFJvWlNCWUlHRjRhWE1nZEc4Z1lYQndiSGtnZEc4Z1lXeHNJR05vYVd4a2NtVnVMbHh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRUJrWldaaGRXeDBJREJjY2x4dVhIUWdLaTljY2x4dVhIUjBjbUZ1YzJ4aGRHVllQenB1ZFcxaVpYSTdYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdkSEpoYm5Oc1lYUnBiMjRnYjI0Z2RHaGxJRmtnWVhocGN5QjBieUJoY0hCc2VTQjBieUJoYkd3Z1kyaHBiR1J5Wlc0dVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ01GeHlYRzVjZENBcUwxeHlYRzVjZEhSeVlXNXpiR0YwWlZrL09tNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCMGNtRnVjMnhoZEdsdmJpQnZiaUIwYUdVZ1dpQmhlR2x6SUhSdklHRndjR3g1SUhSdklHRnNiQ0JqYUdsc1pISmxiaTVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0F3WEhKY2JseDBJQ292WEhKY2JseDBkSEpoYm5Oc1lYUmxXajg2Ym5WdFltVnlPMXh5WEc1Y2NseHVYSFF2S2lvZ1ZHaGxJSEp2ZEdGMGFXOXVJR0Z5YjNWdVpDQjBhR1VnV0NCaGVHbHpJQ2h3YVhSamFDa2dkRzhnWVhCd2JIa2dkRzhnWVd4c0lHTm9hV3hrY21WdUxseHlYRzVjZENBcUlFbG1JSEp2ZEdGMGFXOXVJR2x6SUhOd1pXTnBabWxsWkNCaGN5QmhJSEYxWVhSbGNtNXBieXdnZEdocGN5QnRkWE4wSUdKbElIVnVaR1ZtYVc1bFpDNWNjbHh1WEhRZ0tpQmNjbHh1WEhRZ0tpQkFaR1ZtWVhWc2RDQXdYSEpjYmx4MElDb3ZYSEpjYmx4MGNtOTBZWFJsV0Q4NmJuVnRZbVZ5TzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUhKdmRHRjBhVzl1SUdGeWIzVnVaQ0IwYUdVZ1dTQmhlR2x6SUNoNVlYY3BJSFJ2SUdGd2NHeDVJSFJ2SUdGc2JDQmphR2xzWkhKbGJpNWNjbHh1WEhRZ0tpQkpaaUJ5YjNSaGRHbHZiaUJwY3lCemNHVmphV1pwWldRZ1lYTWdZU0J4ZFdGMFpYSnVhVzhzSUhSb2FYTWdiWFZ6ZENCaVpTQjFibVJsWm1sdVpXUXVYSEpjYmx4MElDb2dYSEpjYmx4MElDb2dRR1JsWm1GMWJIUWdNRnh5WEc1Y2RDQXFMMXh5WEc1Y2RISnZkR0YwWlZrL09tNTFiV0psY2p0Y2NseHVYSEpjYmx4MEx5b3FJRlJvWlNCeWIzUmhkR2x2YmlCaGNtOTFibVFnZEdobElGb2dZWGhwY3lBb2NtOXNiQ2tnZEc4Z1lYQndiSGtnZEc4Z1lXeHNJR05vYVd4a2NtVnVMbHh5WEc1Y2RDQXFJRWxtSUhKdmRHRjBhVzl1SUdseklITndaV05wWm1sbFpDQmhjeUJoSUhGMVlYUmxjbTVwYnl3Z2RHaHBjeUJ0ZFhOMElHSmxJSFZ1WkdWbWFXNWxaQzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0F3WEhKY2JseDBJQ292WEhKY2JseDBjbTkwWVhSbFdqODZiblZ0WW1WeU8xeHlYRzVjY2x4dVhIUXZLaW9nVkdobElISnZkR0YwYVc5dUlIUnZJR0Z3Y0d4NUlIUnZJR0ZzYkNCamFHbHNaSEpsYml3Z2MzQmxZMmxtYVdWa0lHRnpJR0VnWEhKY2JseDBJQ29nY1hWaGRHVnlibWx2Ymk1Y2NseHVYSFFnS2lCY2NseHVYSFFnS2lCQVpHVm1ZWFZzZENCdWIyNWxYSEpjYmx4MElDb3ZYSEpjYmx4MGNtOTBZWFJwYjI0L09pQkJkbEYxWVhSbGNtNXBiMjQ3WEhKY2JseHlYRzVjZEM4cUtpQkJjSEJzYVdWeklHRnVJR0ZzY21WaFpIa3RZMjl1YzNSeWRXTjBaV1FnUVhaT2IyUmxWSEpoYm5ObWIzSnRJSFJ2SUhSb1pTQjBjbUZ1YzJadmNtMHVYSEpjYmx4MElDb2dTV1lnZEdocGN5QndjbTl3SUdseklITmxkQ3dnWVd4c0lHOTBhR1Z5SUhCeWIzQmxjblJwWlhNZ2QybHNiQ0J5WlhCc1lXTmxJSFJvWlNCdFlYUmphR2x1WjF4eVhHNWNkQ0FxSUdOdmJYQnZibVZ1ZEhNZ2IyWWdkR2hwY3lCMGNtRnVjMlp2Y20wdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1FHUmxabUYxYkhRZ2JtOXVaVnh5WEc1Y2RDQXFMMXh5WEc1Y2RIUnlZVzV6Wm05eWJUODZJRUYyVG05a1pWUnlZVzV6Wm05eWJTQjhJRTFwYm1sdFlXeFFiM05sTzF4eVhHNWNjbHh1WEhRdktpb2dVMlYwY3lCMGFHVWdjM0JsWTJsbWFXVmtJRzV2WkdVZ1lYTWdkR2hsSUhCaGNtVnVkQ0J2WmlCMGFHbHpJSFJ5WVc1elptOXliUzRnVkdobElHVnVaSEJ2YVc1MFhISmNibHgwSUNvZ1lXUmtjbVZ6Y3lCbWIzSWdkR2hsSUhCaGNtVnVkQ0J1YjJSbElHTmhiaUJpWlNCcGJpQmhibmtnWjJGa1oyVjBMbHh5WEc1Y2RDQXFJRnh5WEc1Y2RDQXFJRWxtSUhSb1pTQndZWEpsYm5RZ2JtOWtaU0JwY3lCdWIzUWdkbUZzYVdRc0lIUm9hWE1nYm05a1pTQmhibVFnYVhSeklHTm9hV3hrY21WdUlIZHBiR3dnYm05MElGeHlYRzVjZENBcUlHSmxJSFJ5WVhabGNuTmxaQzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0J1YjI1bFhISmNibHgwSUNvdlhISmNibHgwY0dGeVpXNTBQem9nUlc1a2NHOXBiblJCWkdSeU8xeHlYRzVjY2x4dVhIUXZLaW9nVTJWMGN5QjBhR1VnWTI5dWMzUnlZV2x1ZENCMGJ5QmhjSEJzZVNCMGJ5QjBhR2x6SUc1dlpHVW5jeUIwY21GdWMyWnZjbTBnWW1WbWIzSmxJR0Z3Y0d4NWFXNW5JSFJvWlZ4eVhHNWNkQ0FxSUhCaGNtVnVkQ0IwY21GdWMyWnZjbTB1SUZWemFXNW5JR052Ym5OMGNtRnBiblJ6SUhkcGRHaHZkWFFnWVNCd1lYSmxiblFnYldGNUlHaGhkbVVnZFc1bGVIQmxZM1JsWkNCeVpYTjFiSFJ6TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCa1pXWmhkV3gwSUc1dmJtVmNjbHh1WEhRZ0tpOWNjbHh1WEhSamIyNXpkSEpoYVc1MFB6b2dRWFpEYjI1emRISmhhVzUwTzF4eVhHNTlYSEpjYmx4eVhHNHZLaW9nUVhCd2JHbGxjeUJoSUhOMFlYUnBZeUIwY21GdWMyWnZjbTBnZEc4Z1lXeHNJR05vYVd4a2NtVnVMaUFxTDF4eVhHNWxlSEJ2Y25RZ1kyeGhjM01nUVhaVWNtRnVjMlp2Y20wZ1pYaDBaVzVrY3lCQmRrSmhjMlZPYjJSbFBDQkJkbFJ5WVc1elptOXliVkJ5YjNCekxDQjdmU0ErSUZ4eVhHNTdYSEpjYmx4MGNIVmliR2xqSUdKMWFXeGtUbTlrWlNncFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHNXZaR1VnUFNCMGFHbHpMbU55WldGMFpVNXZaR1ZQWW1wbFkzUW9JRUYyVG05a1pWUjVjR1V1VkhKaGJuTm1iM0p0TENCMGFHbHpMbTFmYm05a1pVbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGFXWW9JRUZ5Y21GNUxtbHpRWEp5WVhrb0lIUm9hWE11Y0hKdmNITXVkSEpoYm5ObWIzSnRJQ2tnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSc1pYUWdjMlZsWkZSeVlXNXpabTl5YlNBOUlHNXZaR1ZVY21GdWMyWnZjbTFHY205dFRXRjBOQ2dnWEhKY2JseDBYSFJjZEZ4MGJXbHVhVzFoYkZSdlRXRjBORlJ5WVc1elptOXliU2dnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMlp2Y20wZ1lYTWdUV2x1YVcxaGJGQnZjMlVnS1NBcE8xeHlYRzVjZEZ4MFhIUnViMlJsTG5CeWIzQlVjbUZ1YzJadmNtMGdQU0I3SUM0dUxuTmxaV1JVY21GdWMyWnZjbTBnZlR0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdWc2MyVWdhV1lvSUhSb2FYTXVjSEp2Y0hNdWRISmhibk5tYjNKdElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBibTlrWlM1d2NtOXdWSEpoYm5ObWIzSnRJRDBnZXlBdUxpNTBhR2x6TG5CeWIzQnpMblJ5WVc1elptOXliU0I5TzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnViMlJsTG5CeWIzQlVjbUZ1YzJadmNtMGdQU0I3ZlR0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXdjbTl3Y3k1MWJtbG1iM0p0VTJOaGJHVWdJVDBnYm5Wc2JDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkRzV2WkdVdWNISnZjRlJ5WVc1elptOXliUzV6WTJGc1pTQTlJRnh5WEc1Y2RGeDBYSFI3SUZ4eVhHNWNkRngwWEhSY2RIZzZJSFJvYVhNdWNISnZjSE11ZFc1cFptOXliVk5qWVd4bExDQmNjbHh1WEhSY2RGeDBYSFI1T2lCMGFHbHpMbkJ5YjNCekxuVnVhV1p2Y20xVFkyRnNaU3dnWEhKY2JseDBYSFJjZEZ4MGVqb2dkR2hwY3k1d2NtOXdjeTUxYm1sbWIzSnRVMk5oYkdVc0lGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlNCcFppZ2dkR2hwY3k1d2NtOXdjeTV6WTJGc1pWZ2dJVDBnYm5Wc2JDQjhmQ0IwYUdsekxuQnliM0J6TG5OallXeGxXU0FoUFNCdWRXeHNJSHg4SUhSb2FYTXVjSEp2Y0hNdWMyTmhiR1ZhSUNFOUlHNTFiR3dnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCVWNtRnVjMlp2Y20wdWMyTmhiR1VnUFNCY2NseHVYSFJjZEZ4MGV5QmNjbHh1WEhSY2RGeDBYSFI0T2lCMGFHbHpMbkJ5YjNCekxuTmpZV3hsV0NBaFBTQnVkV3hzSUQ4Z2RHaHBjeTV3Y205d2N5NXpZMkZzWlZnZ09pQXhMRnh5WEc1Y2RGeDBYSFJjZEhrNklIUm9hWE11Y0hKdmNITXVjMk5oYkdWWklDRTlJRzUxYkd3Z1B5QjBhR2x6TG5CeWIzQnpMbk5qWVd4bFdTQTZJREVzWEhKY2JseDBYSFJjZEZ4MGVqb2dkR2hwY3k1d2NtOXdjeTV6WTJGc1pWb2dJVDBnYm5Wc2JDQS9JSFJvYVhNdWNISnZjSE11YzJOaGJHVmFJRG9nTVN4Y2NseHVYSFJjZEZ4MGZUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV3Y205d2N5NTBjbUZ1YzJ4aGRHVllJQ0U5SUc1MWJHd2dmSHdnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMnhoZEdWWklDRTlJRzUxYkd3Z2ZId2dkR2hwY3k1d2NtOXdjeTUwY21GdWMyeGhkR1ZhSUNFOUlHNTFiR3dnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSdWIyUmxMbkJ5YjNCVWNtRnVjMlp2Y20wdWNHOXphWFJwYjI0Z1BWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZURvZ2RHaHBjeTV3Y205d2N5NTBjbUZ1YzJ4aGRHVllJQ0U5SUc1MWJHd2dQeUIwYUdsekxuQnliM0J6TG5SeVlXNXpiR0YwWlZnZ09pQXdMRnh5WEc1Y2RGeDBYSFJjZEhrNklIUm9hWE11Y0hKdmNITXVkSEpoYm5Oc1lYUmxXU0FoUFNCdWRXeHNJRDhnZEdocGN5NXdjbTl3Y3k1MGNtRnVjMnhoZEdWWklEb2dNQ3hjY2x4dVhIUmNkRngwWEhSNk9pQjBhR2x6TG5CeWIzQnpMblJ5WVc1emJHRjBaVm9nSVQwZ2JuVnNiQ0EvSUhSb2FYTXVjSEp2Y0hNdWRISmhibk5zWVhSbFdpQTZJREFzWEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSFJjZEdsbUtDQjBhR2x6TG5CeWIzQnpMbkp2ZEdGMGFXOXVJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYm05a1pTNXdjbTl3VkhKaGJuTm1iM0p0TG5KdmRHRjBhVzl1SUQwZ2RHaHBjeTV3Y205d2N5NXliM1JoZEdsdmJqdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlVnYVdZb0lIUm9hWE11Y0hKdmNITXVjbTkwWVhSbFdDQWhQU0J1ZFd4c0lIeDhJSFJvYVhNdWNISnZjSE11Y205MFlYUmxXU0FoUFNCdWRXeHNJSHg4SUhSb2FYTXVjSEp2Y0hNdWNtOTBZWFJsV2lBaFBTQnVkV3hzSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGJHVjBJSEY0SUQwZ2NYVmhkRVp5YjIxQmVHbHpRVzVuYkdWRVpXZHlaV1Z6S0NCMlpXTXpMbkpwWjJoMExDQjBhR2x6TG5CeWIzQnpMbkp2ZEdGMFpWZ2dLVHRjY2x4dVhIUmNkRngwYkdWMElIRjVJRDBnY1hWaGRFWnliMjFCZUdselFXNW5iR1ZFWldkeVpXVnpLQ0IyWldNekxuVndMQ0IwYUdsekxuQnliM0J6TG5KdmRHRjBaVmtnS1R0Y2NseHVYSFJjZEZ4MGJHVjBJSEY2SUQwZ2NYVmhkRVp5YjIxQmVHbHpRVzVuYkdWRVpXZHlaV1Z6S0NCMlpXTXpMbVp2Y25kaGNtUXNJSFJvYVhNdWNISnZjSE11Y205MFlYUmxXaUFwTzF4eVhHNWNjbHh1WEhSY2RGeDBiR1YwSUhFZ1BTQnhlQzV0ZFd4MGFYQnNlU2dnY1hrZ0tTNXRkV3gwYVhCc2VTZ2djWG9nS1R0Y2NseHVYSFJjZEZ4MGJtOWtaUzV3Y205d1ZISmhibk5tYjNKdExuSnZkR0YwYVc5dUlEMWNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhjNklIRXVkeXhjY2x4dVhIUmNkRngwWEhSNE9pQnhMbmdzWEhKY2JseDBYSFJjZEZ4MGVUb2djUzU1TEZ4eVhHNWNkRngwWEhSY2RIbzZJSEV1ZWl4Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRzV2WkdVdWNISnZjRkJoY21WdWRFRmtaSElnUFNCMGFHbHpMbkJ5YjNCekxuQmhjbVZ1ZER0Y2NseHVYSFJjZEc1dlpHVXVjSEp2Y0VOdmJuTjBjbUZwYm5RZ1BTQjBhR2x6TG5CeWIzQnpMbU52Ym5OMGNtRnBiblE3WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUc1dlpHVTdYSEpjYmx4MGZWeHlYRzU5SWwwc0luTnZkWEpqWlZKdmIzUWlPaUlpZlE9PVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hYXJkdmFya191dGlscy50c1wiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hYXJkdmFya191dGlscy50cyAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBhc3NlcnQsIFF1YXRlcm5pb25Ub0V1bGVyQW5nbGVzLCBxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnMsIEV1bGVyQW5nbGVzVG9RdWF0ZXJuaW9uLCBSYWRpYW5zVG9EZWdyZWVzLCBEZWdyZWVzVG9SYWRpYW5zICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJhc3NlcnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIGFzc2VydDsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUXVhdGVybmlvblRvRXVsZXJBbmdsZXNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFF1YXRlcm5pb25Ub0V1bGVyQW5nbGVzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIHF1YXRGcm9tQXhpc0FuZ2xlUmFkaWFuczsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiRXVsZXJBbmdsZXNUb1F1YXRlcm5pb25cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEV1bGVyQW5nbGVzVG9RdWF0ZXJuaW9uOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJSYWRpYW5zVG9EZWdyZWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSYWRpYW5zVG9EZWdyZWVzOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWdyZWVzVG9SYWRpYW5zXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBEZWdyZWVzVG9SYWRpYW5zOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQHRsYXVra2FuL3RzbSAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQHRsYXVra2FuL3RzbS9kaXN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18pO1xcblxcclxcbmZ1bmN0aW9uIGFzc2VydChleHByLCBtc2cpIHtcXHJcXG4gICAgaWYgKCFleHByKSB7XFxyXFxuICAgICAgICBpZiAobXNnKSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgbXNnO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgXFxcImFzc2VydGlvbiBmYWlsZWRcXFwiO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxufVxcclxcbi8vIFRoaXMgY29kZSBjYW1lIGZyb206IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbnZlcnNpb25fYmV0d2Vlbl9xdWF0ZXJuaW9uc19hbmRfRXVsZXJfYW5nbGVzI1F1YXRlcm5pb25fdG9fRXVsZXJfQW5nbGVzX0NvbnZlcnNpb25cXHJcXG5mdW5jdGlvbiBRdWF0ZXJuaW9uVG9FdWxlckFuZ2xlcyhxKSB7XFxyXFxuICAgIGlmICghcSkge1xcclxcbiAgICAgICAgcmV0dXJuICh7IHlhdzogMCwgcGl0Y2g6IDAsIHJvbGw6IDAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgbGV0IHIgPSB7IHlhdzogMCwgcGl0Y2g6IDAsIHJvbGw6IDAgfTtcXHJcXG4gICAgLy8gcGl0Y2ggKHgtYXhpcyByb3RhdGlvbilcXHJcXG4gICAgbGV0IHNpbnJfY29zcCA9ICsyLjAgKiAocS53ICogcS54ICsgcS55ICogcS56KTtcXHJcXG4gICAgbGV0IGNvc3JfY29zcCA9ICsxLjAgLSAyLjAgKiAocS54ICogcS54ICsgcS55ICogcS55KTtcXHJcXG4gICAgci5waXRjaCA9IE1hdGguYXRhbjIoc2lucl9jb3NwLCBjb3NyX2Nvc3ApO1xcclxcbiAgICAvLyB5YXcgKHktYXhpcyByb3RhdGlvbilcXHJcXG4gICAgbGV0IHNpbnAgPSArMi4wICogKHEudyAqIHEueSAtIHEueiAqIHEueCk7XFxyXFxuICAgIGlmIChNYXRoLmFicyhzaW5wKSA+PSAxKVxcclxcbiAgICAgICAgci55YXcgPSBNYXRoLnNpZ24oc2lucCkgKiBNYXRoLlBJIC8gMjsgLy8gdXNlIDkwIGRlZ3JlZXMgaWYgb3V0IG9mIHJhbmdlXFxyXFxuICAgIGVsc2VcXHJcXG4gICAgICAgIHIueWF3ID0gTWF0aC5hc2luKHNpbnApO1xcclxcbiAgICAvLyByb2xsICh6LWF4aXMgcm90YXRpb24pXFxyXFxuICAgIGxldCBzaW55X2Nvc3AgPSArMi4wICogKHEudyAqIHEueiArIHEueCAqIHEueSk7XFxyXFxuICAgIGxldCBjb3N5X2Nvc3AgPSArMS4wIC0gMi4wICogKHEueSAqIHEueSArIHEueiAqIHEueik7XFxyXFxuICAgIHIucm9sbCA9IE1hdGguYXRhbjIoc2lueV9jb3NwLCBjb3N5X2Nvc3ApO1xcclxcbiAgICByZXR1cm4gcjtcXHJcXG59XFxyXFxuZnVuY3Rpb24gcXVhdEZyb21BeGlzQW5nbGVSYWRpYW5zKGF4aXMsIHJhZCkge1xcclxcbiAgICBpZiAoIXJhZClcXHJcXG4gICAgICAgIHJldHVybiBuZXcgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0XFxcIl0oX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0XFxcIl0uaWRlbnRpdHkueHl6dyk7XFxyXFxuICAgIHJldHVybiBfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInF1YXRcXFwiXS5mcm9tQXhpc0FuZ2xlKGF4aXMsIHJhZCk7XFxyXFxufVxcclxcbmZ1bmN0aW9uIEV1bGVyQW5nbGVzVG9RdWF0ZXJuaW9uKGFuZ2xlcykge1xcclxcbiAgICBsZXQgcXggPSBxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnMoX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJ2ZWMzXFxcIl0ucmlnaHQsIGFuZ2xlcy5waXRjaCk7XFxyXFxuICAgIGxldCBxeSA9IHF1YXRGcm9tQXhpc0FuZ2xlUmFkaWFucyhfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInZlYzNcXFwiXS51cCwgYW5nbGVzLnlhdyk7XFxyXFxuICAgIGxldCBxeiA9IHF1YXRGcm9tQXhpc0FuZ2xlUmFkaWFucyhfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInZlYzNcXFwiXS5mb3J3YXJkLCBhbmdsZXMucm9sbCk7XFxyXFxuICAgIGxldCBxID0gX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJxdWF0XFxcIl0ucHJvZHVjdChfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcInF1YXRcXFwiXS5wcm9kdWN0KHF4LCBxeSksIHF6KTtcXHJcXG4gICAgcmV0dXJuICh7XFxyXFxuICAgICAgICB3OiBxLncsXFxyXFxuICAgICAgICB4OiBxLngsXFxyXFxuICAgICAgICB5OiBxLnksXFxyXFxuICAgICAgICB6OiBxLnosXFxyXFxuICAgIH0pO1xcclxcbn1cXHJcXG5mdW5jdGlvbiBSYWRpYW5zVG9EZWdyZWVzKHJhZCkge1xcclxcbiAgICByZXR1cm4gcmFkICogMTgwIC8gTWF0aC5QSTtcXHJcXG59XFxyXFxuZnVuY3Rpb24gRGVncmVlc1RvUmFkaWFucyhkZWcpIHtcXHJcXG4gICAgcmV0dXJuIGRlZyAqIE1hdGguUEkgLyAxODA7XFxyXFxufVxcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aFlYSmtkbUZ5YTE5MWRHbHNjeTUwY3o5ak1XWTVJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVU5CTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUV5UXp0QlFVVndReXhUUVVGVExFMUJRVTBzUTBGQlJTeEpRVUZoTEVWQlFVVXNSMEZCV1R0SlFVVnNSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVU5VTzFGQlEwTXNTVUZCU1N4SFFVRkhMRVZCUTFBN1dVRkRReXhOUVVGTkxFZEJRVWNzUTBGQlF6dFRRVU5XTzJGQlJVUTdXVUZEUXl4TlFVRk5MR3RDUVVGclFpeERRVUZETzFOQlEzcENPMHRCUTBRN1FVRkRSaXhEUVVGRE8wRkJVMFFzTWtsQlFUSkpPMEZCUTNCSkxGTkJRVk1zZFVKQlFYVkNMRU5CUVVVc1EwRkJaVHRKUVVWMlJDeEpRVUZKTEVOQlFVTXNRMEZCUXl4RlFVTk9PMUZCUTBNc1QwRkJUeXhEUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TFFVRkxMRVZCUVVVc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUlN4RFFVRkRPMHRCUTNwRE8wbEJSVVFzU1VGQlNTeERRVUZETEVkQlFXZENMRVZCUVVVc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF6dEpRVVZvUkN3d1FrRkJNRUk3U1VGRE1VSXNTVUZCU1N4VFFVRlRMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGREwwTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzSkVMRU5CUVVNc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRk0wTXNkMEpCUVhkQ08wbEJRM2hDTEVsQlFVa3NTVUZCU1N4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRekZETEVsQlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJSU3hKUVVGSkxFTkJRVVVzU1VGQlNTeERRVUZETzFGQlEzUkNMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMR2xEUVVGcFF6czdVVUZGZWtVc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJSVFZDTEhsQ1FVRjVRanRKUVVONlFpeEpRVUZKTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVNdlF5eEpRVUZKTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNrUXNRMEZCUXl4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJRenRKUVVVM1F5eFBRVUZQTEVOQlFVTXNRMEZCUXp0QlFVTldMRU5CUVVNN1FVRkZUU3hUUVVGVExIZENRVUYzUWl4RFFVRkZMRWxCUVZVc1JVRkJSU3hIUVVGWk8wbEJSV3BGTEVsQlFVa3NRMEZCUXl4SFFVRkhPMUZCUTFBc1QwRkJUeXhKUVVGSkxHdEVRVUZKTEVOQlFVVXNhMFJCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVTTdTVUZGZGtNc1QwRkJUeXhyUkVGQlNTeERRVUZETEdGQlFXRXNRMEZCUlN4SlFVRkpMRVZCUVVVc1IwRkJSeXhEUVVGRkxFTkJRVU03UVVGRGVFTXNRMEZCUXp0QlFVZE5MRk5CUVZNc2RVSkJRWFZDTEVOQlFVVXNUVUZCYlVJN1NVRkZNMFFzU1VGQlNTeEZRVUZGTEVkQlFVY3NkMEpCUVhkQ0xFTkJRVVVzYTBSQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlJTeERRVUZETzBsQlF6bEVMRWxCUVVrc1JVRkJSU3hIUVVGSExIZENRVUYzUWl4RFFVRkZMR3RFUVVGSkxFTkJRVU1zUlVGQlJTeEZRVUZGTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVVc1EwRkJRenRKUVVONlJDeEpRVUZKTEVWQlFVVXNSMEZCUnl4M1FrRkJkMElzUTBGQlJTeHJSRUZCU1N4RFFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVTTdTVUZGTDBRc1NVRkJTU3hEUVVGRExFZEJRVWNzYTBSQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVVc2EwUkJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1EwRkJSU3hGUVVGRkxFVkJRVVVzUTBGQlJTeERRVUZETzBsQlEyNUVMRTlCUVU4c1EwRkRVRHRSUVVORExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTk9MRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5PTEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOT0xFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0TFFVTk9MRU5CUVVVc1EwRkJRenRCUVVOTUxFTkJRVU03UVVGRlRTeFRRVUZUTEdkQ1FVRm5RaXhEUVVGRkxFZEJRVmM3U1VGRk5VTXNUMEZCVHl4SFFVRkhMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFVTTdRVUZETlVJc1EwRkJRenRCUVVWTkxGTkJRVk1zWjBKQlFXZENMRU5CUVVVc1IwRkJWenRKUVVVMVF5eFBRVUZQTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1JVRkJSU3hIUVVGSExFZEJRVWNzUTBGQlF6dEJRVU0xUWl4RFFVRkRJaXdpWm1sc1pTSTZJaTR2YzNKakwyRmhjbVIyWVhKclgzVjBhV3h6TG5SekxtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHNnUVhaUmRXRjBaWEp1YVc5dUlIMGdabkp2YlNBblFHRmhjbVIyWVhKcmVISXZZV0Z5WkhaaGNtc3RjMmhoY21Wa0p6dGNjbHh1YVcxd2IzSjBJSHNnY1hWaGRDd2dkbVZqTXlCOUlHWnliMjBnSjBCMGJHRjFhMnRoYmk5MGMyMG5PMXh5WEc1Y2NseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHRnpjMlZ5ZENnZ1pYaHdjam9nWW05dmJHVmhiaXdnYlhOblB6b2djM1J5YVc1bklDbGNjbHh1ZTF4eVhHNWNkR2xtS0NBaFpYaHdjaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUcxelp5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvY205M0lHMXpaenRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHliM2NnWENKaGMzTmxjblJwYjI0Z1ptRnBiR1ZrWENJN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFVjFiR1Z5UVc1bmJHVnpYSEpjYm50Y2NseHVYSFI1WVhjNklHNTFiV0psY2p0Y2NseHVYSFJ3YVhSamFEb2diblZ0WW1WeU8xeHlYRzVjZEhKdmJHdzZJRzUxYldKbGNqdGNjbHh1ZlZ4eVhHNWNjbHh1THk4Z1ZHaHBjeUJqYjJSbElHTmhiV1VnWm5KdmJUb2dhSFIwY0hNNkx5OWxiaTUzYVd0cGNHVmthV0V1YjNKbkwzZHBhMmt2UTI5dWRtVnljMmx2Ymw5aVpYUjNaV1Z1WDNGMVlYUmxjbTVwYjI1elgyRnVaRjlGZFd4bGNsOWhibWRzWlhNalVYVmhkR1Z5Ym1sdmJsOTBiMTlGZFd4bGNsOUJibWRzWlhOZlEyOXVkbVZ5YzJsdmJseHlYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdVWFZoZEdWeWJtbHZibFJ2UlhWc1pYSkJibWRzWlhNb0lIRTZJRUYyVVhWaGRHVnlibWx2YmlrNklFVjFiR1Z5UVc1bmJHVnpYSEpjYm50Y2NseHVYSFJwWmlnZ0lYRWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlBb0lIc2dlV0YzT2lBd0xDQndhWFJqYURvZ01Dd2djbTlzYkRvZ01DQjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEd4bGRDQnlPaUJGZFd4bGNrRnVaMnhsY3lBOUlIc2dlV0YzT2lBd0xDQndhWFJqYURvZ01Dd2djbTlzYkRvZ01DQjlPMXh5WEc1Y2NseHVJQ0FnSUM4dklIQnBkR05vSUNoNExXRjRhWE1nY205MFlYUnBiMjRwWEhKY2JpQWdJQ0JzWlhRZ2MybHVjbDlqYjNOd0lEMGdLekl1TUNBcUlDaHhMbmNnS2lCeExuZ2dLeUJ4TG5rZ0tpQnhMbm9wTzF4eVhHNGdJQ0FnYkdWMElHTnZjM0pmWTI5emNDQTlJQ3N4TGpBZ0xTQXlMakFnS2lBb2NTNTRJQ29nY1M1NElDc2djUzU1SUNvZ2NTNTVLVHRjY2x4dUlDQWdJSEl1Y0dsMFkyZ2dQU0JOWVhSb0xtRjBZVzR5S0hOcGJuSmZZMjl6Y0N3Z1kyOXpjbDlqYjNOd0tUdGNjbHh1WEhKY2JpQWdJQ0F2THlCNVlYY2dLSGt0WVhocGN5QnliM1JoZEdsdmJpbGNjbHh1SUNBZ0lHeGxkQ0J6YVc1d0lEMGdLekl1TUNBcUlDaHhMbmNnS2lCeExua2dMU0J4TG5vZ0tpQnhMbmdwTzF4eVhHNGdJQ0FnYVdZZ0tDQk5ZWFJvTG1GaWN5Z2djMmx1Y0NBcElENDlJREVnS1Z4eVhHNGdJQ0FnSUNBZ0lISXVlV0YzSUQwZ1RXRjBhQzV6YVdkdUtDQnphVzV3S1NBcUlFMWhkR2d1VUVrZ0x5QXlPeUF2THlCMWMyVWdPVEFnWkdWbmNtVmxjeUJwWmlCdmRYUWdiMllnY21GdVoyVmNjbHh1SUNBZ0lHVnNjMlZjY2x4dUlDQWdJQ0FnSUNCeUxubGhkeUE5SUUxaGRHZ3VZWE5wYmloemFXNXdLVHRjY2x4dVhISmNiaUFnSUNBdkx5QnliMnhzSUNoNkxXRjRhWE1nY205MFlYUnBiMjRwWEhKY2JpQWdJQ0JzWlhRZ2MybHVlVjlqYjNOd0lEMGdLekl1TUNBcUlDaHhMbmNnS2lCeExub2dLeUJ4TG5nZ0tpQnhMbmtwTzF4eVhHNGdJQ0FnYkdWMElHTnZjM2xmWTI5emNDQTlJQ3N4TGpBZ0xTQXlMakFnS2lBb2NTNTVJQ29nY1M1NUlDc2djUzU2SUNvZ2NTNTZLVHNnSUZ4eVhHNGdJQ0FnY2k1eWIyeHNJRDBnVFdGMGFDNWhkR0Z1TWloemFXNTVYMk52YzNBc0lHTnZjM2xmWTI5emNDazdYSEpjYmx4eVhHNWNkSEpsZEhWeWJpQnlPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnY1hWaGRFWnliMjFCZUdselFXNW5iR1ZTWVdScFlXNXpLQ0JoZUdsek9pQjJaV016TENCeVlXUS9PaUJ1ZFcxaVpYSWdLVG9nY1hWaGRGeHlYRzU3WEhKY2JseDBhV1lvSUNGeVlXUWdLVnh5WEc1Y2RGeDBjbVYwZFhKdUlHNWxkeUJ4ZFdGMEtDQnhkV0YwTG1sa1pXNTBhWFI1TG5oNWVuY2dLVHRjY2x4dVhISmNibHgwY21WMGRYSnVJSEYxWVhRdVpuSnZiVUY0YVhOQmJtZHNaU2dnWVhocGN5d2djbUZrSUNrN1hISmNibjFjY2x4dVhISmNibHh5WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnUlhWc1pYSkJibWRzWlhOVWIxRjFZWFJsY201cGIyNG9JR0Z1WjJ4bGN6b2dSWFZzWlhKQmJtZHNaWE1nS1RvZ1FYWlJkV0YwWlhKdWFXOXVYSEpjYm50Y2NseHVYSFJzWlhRZ2NYZ2dQU0J4ZFdGMFJuSnZiVUY0YVhOQmJtZHNaVkpoWkdsaGJuTW9JSFpsWXpNdWNtbG5hSFFzSUdGdVoyeGxjeTV3YVhSamFDQXBPMXh5WEc1Y2RHeGxkQ0J4ZVNBOUlIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFVtRmthV0Z1Y3lnZ2RtVmpNeTUxY0N3Z1lXNW5iR1Z6TG5saGR5QXBPMXh5WEc1Y2RHeGxkQ0J4ZWlBOUlIRjFZWFJHY205dFFYaHBjMEZ1WjJ4bFVtRmthV0Z1Y3lnZ2RtVmpNeTVtYjNKM1lYSmtMQ0JoYm1kc1pYTXVjbTlzYkNBcE8xeHlYRzVjY2x4dVhIUnNaWFFnY1NBOUlIRjFZWFF1Y0hKdlpIVmpkQ2dnY1hWaGRDNXdjbTlrZFdOMEtDQnhlQ3dnY1hrZ0tTd2djWG9nS1R0Y2NseHVYSFJ5WlhSMWNtNGdLRnh5WEc1Y2RIdGNjbHh1WEhSY2RIYzZJSEV1ZHl4Y2NseHVYSFJjZEhnNklIRXVlQ3hjY2x4dVhIUmNkSGs2SUhFdWVTeGNjbHh1WEhSY2RIbzZJSEV1ZWl4Y2NseHVYSFI5SUNrN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQlNZV1JwWVc1elZHOUVaV2R5WldWektDQnlZV1E2SUc1MWJXSmxjaUFwT2lCdWRXMWlaWEpjY2x4dWUxeHlYRzVjZEhKbGRIVnliaUJ5WVdRZ0tpQXhPREFnTHlCTllYUm9MbEJKTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1JHVm5jbVZsYzFSdlVtRmthV0Z1Y3lnZ1pHVm5PaUJ1ZFcxaVpYSWdLVG9nYm5WdFltVnlYSEpjYm50Y2NseHVYSFJ5WlhSMWNtNGdaR1ZuSUNvZ1RXRjBhQzVRU1NBdklERTRNRHRjY2x4dWZWeHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FhcmR2YXJrX3V0aWxzLnRzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hcGlfZ2FkZ2V0bGlzdC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FwaV9nYWRnZXRsaXN0LnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19HYWRnZXRMaXN0SW50ZXJmYWNlLCBHYWRnZXRMaXN0RXZlbnRUeXBlLCBHYWRnZXRMaXN0UmVzdWx0LCBBdkdhZGdldExpc3QgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcImtfR2FkZ2V0TGlzdEludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19HYWRnZXRMaXN0SW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRMaXN0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRMaXN0RXZlbnRUeXBlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRMaXN0UmVzdWx0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBHYWRnZXRMaXN0UmVzdWx0OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldExpc3RcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2R2FkZ2V0TGlzdDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9pbnRlcmZhY2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXBpX2ludGVyZmFjZSAqLyBcXFwiLi9zcmMvYXBpX2ludGVyZmFjZS50c3hcXFwiKTtcXG5cXHJcXG5cXHJcXG5jb25zdCBrX0dhZGdldExpc3RJbnRlcmZhY2UgPSBcXFwiYXBpLWdhZGdldGxpc3RAMVxcXCI7XFxyXFxudmFyIEdhZGdldExpc3RFdmVudFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChHYWRnZXRMaXN0RXZlbnRUeXBlKSB7XFxyXFxuICAgIEdhZGdldExpc3RFdmVudFR5cGVbXFxcIkFkZEZhdm9yaXRlXFxcIl0gPSBcXFwiYWRkX2Zhdm9yaXRlXFxcIjtcXHJcXG4gICAgR2FkZ2V0TGlzdEV2ZW50VHlwZVtcXFwiUmVtb3ZlRmF2b3JpdGVcXFwiXSA9IFxcXCJyZW1vdmVfZmF2b3JpdGVcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJTZXRBdXRvTGF1bmNoXFxcIl0gPSBcXFwic2V0X2F1dG9sYXVuY2hcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJSZW1vdmVBdXRvTGF1bmNoXFxcIl0gPSBcXFwicmVtb3ZlX2F1dG9sYXVuY2hcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJHZXRTZXR0aW5nc0ZvckdhZGdldFxcXCJdID0gXFxcImdldF9nYWRnZXRfc2V0dGluZ3NcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0RXZlbnRUeXBlW1xcXCJTdGFydEdhZGdldFxcXCJdID0gXFxcInN0YXJ0X2dhZGdldFxcXCI7XFxyXFxufSkoR2FkZ2V0TGlzdEV2ZW50VHlwZSB8fCAoR2FkZ2V0TGlzdEV2ZW50VHlwZSA9IHt9KSk7XFxyXFxudmFyIEdhZGdldExpc3RSZXN1bHQ7XFxyXFxuKGZ1bmN0aW9uIChHYWRnZXRMaXN0UmVzdWx0KSB7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiU3VjY2Vzc1xcXCJdID0gMF0gPSBcXFwiU3VjY2Vzc1xcXCI7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiQWxyZWFkeUFkZGVkXFxcIl0gPSAxXSA9IFxcXCJBbHJlYWR5QWRkZWRcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0UmVzdWx0W0dhZGdldExpc3RSZXN1bHRbXFxcIlVzZXJEZW5pZWRSZXF1ZXN0XFxcIl0gPSAyXSA9IFxcXCJVc2VyRGVuaWVkUmVxdWVzdFxcXCI7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiTm90Q29ubmVjdGVkXFxcIl0gPSAzXSA9IFxcXCJOb3RDb25uZWN0ZWRcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0UmVzdWx0W0dhZGdldExpc3RSZXN1bHRbXFxcIkdhZGdldFN0YXJ0RmFpbGVkXFxcIl0gPSA0XSA9IFxcXCJHYWRnZXRTdGFydEZhaWxlZFxcXCI7XFxyXFxuICAgIEdhZGdldExpc3RSZXN1bHRbR2FkZ2V0TGlzdFJlc3VsdFtcXFwiTm9TdWNoRmF2b3JpdGVcXFwiXSA9IDVdID0gXFxcIk5vU3VjaEZhdm9yaXRlXFxcIjtcXHJcXG4gICAgR2FkZ2V0TGlzdFJlc3VsdFtHYWRnZXRMaXN0UmVzdWx0W1xcXCJOb1N1Y2hBdXRvTGF1bmNoXFxcIl0gPSA2XSA9IFxcXCJOb1N1Y2hBdXRvTGF1bmNoXFxcIjtcXHJcXG4gICAgR2FkZ2V0TGlzdFJlc3VsdFtHYWRnZXRMaXN0UmVzdWx0W1xcXCJBbHJlYWR5U3RhcnRlZFxcXCJdID0gN10gPSBcXFwiQWxyZWFkeVN0YXJ0ZWRcXFwiO1xcclxcbiAgICBHYWRnZXRMaXN0UmVzdWx0W0dhZGdldExpc3RSZXN1bHRbXFxcIk5vdEltcGxlbWVudGVkXFxcIl0gPSA4XSA9IFxcXCJOb3RJbXBsZW1lbnRlZFxcXCI7XFxyXFxufSkoR2FkZ2V0TGlzdFJlc3VsdCB8fCAoR2FkZ2V0TGlzdFJlc3VsdCA9IHt9KSk7XFxyXFxuLyoqIENhdXNlcyBhIGxpbmUgdG8gYXBwZWFyIGZyb20gdGhlIHRyYW5zZm9ybSBvZiB0aGlzIG5vZGUncyBwYXJlbnQgdG8gdGhlXFxyXFxuICogc3BlY2lmaWVkIGVuZCBwb2ludC4gKi9cXHJcXG5jbGFzcyBBdkdhZGdldExpc3QgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMuYXBpSW50ZXJmYWNlID0gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiY3JlYXRlUmVmXFxcIl0oKTtcXHJcXG4gICAgfVxcclxcbiAgICBhZGRGYXZvcml0ZShnYWRnZXRVcmwpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudCB8fCAhdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5jb25uZWN0ZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIEdhZGdldExpc3RSZXN1bHQuTm90Q29ubmVjdGVkO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuc2VuZFJlcXVlc3RBbmRXYWl0Rm9yUmVzcG9uc2UoR2FkZ2V0TGlzdEV2ZW50VHlwZS5BZGRGYXZvcml0ZSwgdHJ1ZSwgZ2FkZ2V0VXJsKTtcXHJcXG4gICAgfVxcclxcbiAgICByZW1vdmVGYXZvcml0ZShnYWRnZXRVcmwpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudCB8fCAhdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5jb25uZWN0ZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIEdhZGdldExpc3RSZXN1bHQuTm90Q29ubmVjdGVkO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuc2VuZFJlcXVlc3RBbmRXYWl0Rm9yUmVzcG9uc2UoR2FkZ2V0TGlzdEV2ZW50VHlwZS5SZW1vdmVGYXZvcml0ZSwgdHJ1ZSwgZ2FkZ2V0VXJsKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZXRBdXRvTGF1bmNoKGdhZGdldFVybCkge1xcclxcbiAgICAgICAgaWYgKCF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50IHx8ICF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LmNvbm5lY3RlZClcXHJcXG4gICAgICAgICAgICByZXR1cm4gR2FkZ2V0TGlzdFJlc3VsdC5Ob3RDb25uZWN0ZWQ7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5zZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShHYWRnZXRMaXN0RXZlbnRUeXBlLlNldEF1dG9MYXVuY2gsIHRydWUsIGdhZGdldFVybCk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVtb3ZlQXV0b0xhdW5jaChnYWRnZXRVcmwpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudCB8fCAhdGhpcy5hcGlJbnRlcmZhY2UuY3VycmVudC5jb25uZWN0ZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuIEdhZGdldExpc3RSZXN1bHQuTm90Q29ubmVjdGVkO1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuc2VuZFJlcXVlc3RBbmRXYWl0Rm9yUmVzcG9uc2UoR2FkZ2V0TGlzdEV2ZW50VHlwZS5SZW1vdmVBdXRvTGF1bmNoLCB0cnVlLCBnYWRnZXRVcmwpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldFNldHRpbmdzRm9yR2FkZ2V0KGdhZGdldFVybCkge1xcclxcbiAgICAgICAgaWYgKCF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50IHx8ICF0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LmNvbm5lY3RlZClcXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LnNlbmRSZXF1ZXN0QW5kV2FpdEZvclJlc3BvbnNlKEdhZGdldExpc3RFdmVudFR5cGUuR2V0U2V0dGluZ3NGb3JHYWRnZXQsIHRydWUsIGdhZGdldFVybCk7XFxyXFxuICAgIH1cXHJcXG4gICAgc3RhcnRHYWRnZXQoZ2FkZ2V0VXJsKSB7XFxyXFxuICAgICAgICBpZiAoIXRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQgfHwgIXRoaXMuYXBpSW50ZXJmYWNlLmN1cnJlbnQuY29ubmVjdGVkKVxcclxcbiAgICAgICAgICAgIHJldHVybiBHYWRnZXRMaXN0UmVzdWx0Lk5vdENvbm5lY3RlZDtcXHJcXG4gICAgICAgIHJldHVybiB0aGlzLmFwaUludGVyZmFjZS5jdXJyZW50LnNlbmRSZXF1ZXN0QW5kV2FpdEZvclJlc3BvbnNlKEdhZGdldExpc3RFdmVudFR5cGUuU3RhcnRHYWRnZXQsIHRydWUsIGdhZGdldFVybCk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYXBpX2ludGVyZmFjZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJBdkFwaUludGVyZmFjZVxcXCJdLCB7IHJlZjogdGhpcy5hcGlJbnRlcmZhY2UsIGFwaU5hbWU6IGtfR2FkZ2V0TGlzdEludGVyZmFjZSB9KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhjR2xmWjJGa1oyVjBiR2x6ZEM1MGMzZy9PR0ZsWkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRU3RDTzBGQlEydENPMEZCU1RGRExFMUJRVTBzY1VKQlFYRkNMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTTdRVUZGZUVRc1NVRkJXU3h0UWtGUldEdEJRVkpFTEZkQlFWa3NiVUpCUVcxQ08wbEJSVGxDTEcxRVFVRTBRanRKUVVNMVFpeDVSRUZCYTBNN1NVRkRiRU1zZFVSQlFXZERPMGxCUTJoRExEWkVRVUZ6UXp0SlFVTjBReXh0UlVGQk5FTTdTVUZETlVNc2JVUkJRVFJDTzBGQlF6ZENMRU5CUVVNc1JVRlNWeXh0UWtGQmJVSXNTMEZCYmtJc2JVSkJRVzFDTEZGQlVUbENPMEZCUlVRc1NVRkJXU3huUWtGWFdEdEJRVmhFTEZkQlFWa3NaMEpCUVdkQ08wbEJSVE5DTERaRVFVRlhPMGxCUTFnc2RVVkJRV2RDTzBsQlEyaENMR2xHUVVGeFFqdEpRVU55UWl4MVJVRkJaMEk3U1VGRGFFSXNhVVpCUVhGQ08wbEJRM0pDTERKRlFVRnJRanRKUVVOc1Fpd3JSVUZCYjBJN1NVRkRjRUlzTWtWQlFXdENPMGxCUTJ4Q0xESkZRVUZyUWp0QlFVTnVRaXhEUVVGRExFVkJXRmNzWjBKQlFXZENMRXRCUVdoQ0xHZENRVUZuUWl4UlFWY3pRanRCUVVWRU96QkNRVU13UWp0QlFVTnVRaXhOUVVGTkxGbEJRV0VzVTBGQlVTd3JRMEZCWlR0SlFVRnFSRHM3VVVGRlV5eHBRa0ZCV1N4SFFVRkhMQ3REUVVGbExFVkJRV3RDTEVOQlFVTTdTVUUwUkRGRUxFTkJRVU03U1VFeFJFOHNWMEZCVnl4RFFVRkZMRk5CUVdsQ08xRkJSWEJETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk03V1VGRGNrVXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZGZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUTBGRE4wUXNiVUpCUVcxQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVVc1EwRkJRenRKUVVOeVJDeERRVUZETzBsQlJVMHNZMEZCWXl4RFFVRkZMRk5CUVdsQ08xRkJSWFpETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk03V1VGRGNrVXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZGZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUTBGRE4wUXNiVUpCUVcxQ0xFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVVc1EwRkJRenRKUVVONFJDeERRVUZETzBsQlJVMHNZVUZCWVN4RFFVRkZMRk5CUVdsQ08xRkJSWFJETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFOUJRVThzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExGTkJRVk03V1VGRGNrVXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eFpRVUZaTEVOQlFVTTdVVUZGZEVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNRMEZCUXl3MlFrRkJOa0lzUTBGRE4wUXNiVUpCUVcxQ0xFTkJRVU1zWVVGQllTeEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRMRU5CUVVVc1EwRkJRenRKUVVOMlJDeERRVUZETzBsQlJVMHNaMEpCUVdkQ0xFTkJRVVVzVTBGQmFVSTdVVUZGZWtNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXp0WlFVTnlSU3hQUVVGUExHZENRVUZuUWl4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVWMFF5eFBRVUZQTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVTTNSQ3h0UWtGQmJVSXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1NVRkRNVVFzUTBGQlF6dEpRVVZOTEc5Q1FVRnZRaXhEUVVGRkxGTkJRV2xDTzFGQlJUZERMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEU5QlFVOHNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eERRVUZETEZOQlFWTTdXVUZEY2tVc1QwRkJUeXhKUVVGSkxFTkJRVU03VVVGRllpeFBRVUZQTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVTTNSQ3h0UWtGQmJVSXNRMEZCUXl4dlFrRkJiMElzUlVGQlJTeEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1NVRkRPVVFzUTBGQlF6dEpRVVZOTEZkQlFWY3NRMEZCUlN4VFFVRnBRanRSUVVWd1F5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVE8xbEJRM0pGTEU5QlFVOHNaMEpCUVdkQ0xFTkJRVU1zV1VGQldTeERRVUZETzFGQlJYUkRMRTlCUVU4c1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eFBRVUZQTEVOQlFVTXNOa0pCUVRaQ0xFTkJRemRFTEcxQ1FVRnRRaXhEUVVGRExGZEJRVmNzUlVGQlJTeEpRVUZKTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1NVRkRja1FzUTBGQlF6dEpRVVZOTEUxQlFVMDdVVUZGV2l4UFFVRlBMRzlFUVVGRExEWkVRVUZqTEVsQlFVTXNSMEZCUnl4RlFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVWNzVDBGQlR5eEZRVUZITEhGQ1FVRnhRaXhIUVVGSk8wbEJRM0pHTEVOQlFVTTdRMEZEUkNJc0ltWnBiR1VpT2lJdUwzTnlZeTloY0dsZloyRmtaMlYwYkdsemRDNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ0tpQmhjeUJTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRjJRWEJwU1c1MFpYSm1ZV05sSUgwZ1puSnZiU0FuTGk5aGNHbGZhVzUwWlhKbVlXTmxKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkhZV1JuWlhSVFpYUjBhVzVuY3lCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHTnZibk4wSUd0ZlIyRmtaMlYwVEdsemRFbHVkR1Z5Wm1GalpTQTlJRndpWVhCcExXZGhaR2RsZEd4cGMzUkFNVndpTzF4eVhHNWNjbHh1Wlhod2IzSjBJR1Z1ZFcwZ1IyRmtaMlYwVEdsemRFVjJaVzUwVkhsd1pWeHlYRzU3WEhKY2JseDBRV1JrUm1GMmIzSnBkR1VnUFNCY0ltRmtaRjltWVhadmNtbDBaVndpTEZ4eVhHNWNkRkpsYlc5MlpVWmhkbTl5YVhSbElEMGdYQ0p5WlcxdmRtVmZabUYyYjNKcGRHVmNJaXhjY2x4dVhIUlRaWFJCZFhSdlRHRjFibU5vSUQwZ1hDSnpaWFJmWVhWMGIyeGhkVzVqYUZ3aUxGeHlYRzVjZEZKbGJXOTJaVUYxZEc5TVlYVnVZMmdnUFNCY0luSmxiVzkyWlY5aGRYUnZiR0YxYm1Ob1hDSXNYSEpjYmx4MFIyVjBVMlYwZEdsdVozTkdiM0pIWVdSblpYUWdQU0JjSW1kbGRGOW5ZV1JuWlhSZmMyVjBkR2x1WjNOY0lpeGNjbHh1WEhSVGRHRnlkRWRoWkdkbGRDQTlJRndpYzNSaGNuUmZaMkZrWjJWMFhDSXNYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JsYm5WdElFZGhaR2RsZEV4cGMzUlNaWE4xYkhSY2NseHVlMXh5WEc1Y2RGTjFZMk5sYzNNZ1BTQXdMRnh5WEc1Y2RFRnNjbVZoWkhsQlpHUmxaQ0E5SURFc1hISmNibHgwVlhObGNrUmxibWxsWkZKbGNYVmxjM1FnUFNBeUxGeHlYRzVjZEU1dmRFTnZibTVsWTNSbFpDQTlJRE1zWEhKY2JseDBSMkZrWjJWMFUzUmhjblJHWVdsc1pXUWdQU0EwTEZ4eVhHNWNkRTV2VTNWamFFWmhkbTl5YVhSbElEMGdOU3hjY2x4dVhIUk9iMU4xWTJoQmRYUnZUR0YxYm1Ob0lEMGdOaXhjY2x4dVhIUkJiSEpsWVdSNVUzUmhjblJsWkNBOUlEY3NYSEpjYmx4MFRtOTBTVzF3YkdWdFpXNTBaV1FnUFNBNFhISmNibjFjY2x4dVhISmNiaThxS2lCRFlYVnpaWE1nWVNCc2FXNWxJSFJ2SUdGd2NHVmhjaUJtY205dElIUm9aU0IwY21GdWMyWnZjbTBnYjJZZ2RHaHBjeUJ1YjJSbEozTWdjR0Z5Wlc1MElIUnZJSFJvWlNCY2NseHVJQ29nYzNCbFkybG1hV1ZrSUdWdVpDQndiMmx1ZEM0Z0tpOWNjbHh1Wlhod2IzSjBJR05zWVhOeklFRjJSMkZrWjJWMFRHbHpkQ0JsZUhSbGJtUnpJRkpsWVdOMExrTnZiWEJ2Ym1WdWRGeHlYRzU3WEhKY2JseDBjSEpwZG1GMFpTQmhjR2xKYm5SbGNtWmhZMlVnUFNCU1pXRmpkQzVqY21WaGRHVlNaV1k4UVhaQmNHbEpiblJsY21aaFkyVStLQ2s3WEhKY2JseHlYRzVjZEhCMVlteHBZeUJoWkdSR1lYWnZjbWwwWlNnZ1oyRmtaMlYwVlhKc09pQnpkSEpwYm1jZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEdsbUtDQWhkR2hwY3k1aGNHbEpiblJsY21aaFkyVXVZM1Z5Y21WdWRDQjhmQ0FoZEdocGN5NWhjR2xKYm5SbGNtWmhZMlV1WTNWeWNtVnVkQzVqYjI1dVpXTjBaV1FnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTRnUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQzVPYjNSRGIyNXVaV04wWldRN1hISmNibHh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11WVhCcFNXNTBaWEptWVdObExtTjFjbkpsYm5RdWMyVnVaRkpsY1hWbGMzUkJibVJYWVdsMFJtOXlVbVZ6Y0c5dWMyVThSMkZrWjJWMFRHbHpkRkpsYzNWc2RENG9JRnh5WEc1Y2RGeDBYSFJIWVdSblpYUk1hWE4wUlhabGJuUlVlWEJsTGtGa1pFWmhkbTl5YVhSbExDQjBjblZsTENCbllXUm5aWFJWY213Z0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCeVpXMXZkbVZHWVhadmNtbDBaU2dnWjJGa1oyVjBWWEpzT2lCemRISnBibWNnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaGRHaHBjeTVoY0dsSmJuUmxjbVpoWTJVdVkzVnljbVZ1ZENCOGZDQWhkR2hwY3k1aGNHbEpiblJsY21aaFkyVXVZM1Z5Y21WdWRDNWpiMjV1WldOMFpXUWdLVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iM1JEYjI1dVpXTjBaV1E3WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sTG1OMWNuSmxiblF1YzJWdVpGSmxjWFZsYzNSQmJtUlhZV2wwUm05eVVtVnpjRzl1YzJVOFIyRmtaMlYwVEdsemRGSmxjM1ZzZEQ0b0lGeHlYRzVjZEZ4MFhIUkhZV1JuWlhSTWFYTjBSWFpsYm5SVWVYQmxMbEpsYlc5MlpVWmhkbTl5YVhSbExDQjBjblZsTENCbllXUm5aWFJWY213Z0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpYUkJkWFJ2VEdGMWJtTm9LQ0JuWVdSblpYUlZjbXc2SUhOMGNtbHVaeUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbUZ3YVVsdWRHVnlabUZqWlM1amRYSnlaVzUwSUh4OElDRjBhR2x6TG1Gd2FVbHVkR1Z5Wm1GalpTNWpkWEp5Wlc1MExtTnZibTVsWTNSbFpDQXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQkhZV1JuWlhSTWFYTjBVbVZ6ZFd4MExrNXZkRU52Ym01bFkzUmxaRHRjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWhjR2xKYm5SbGNtWmhZMlV1WTNWeWNtVnVkQzV6Wlc1a1VtVnhkV1Z6ZEVGdVpGZGhhWFJHYjNKU1pYTndiMjV6WlR4SFlXUm5aWFJNYVhOMFVtVnpkV3gwUGlnZ1hISmNibHgwWEhSY2RFZGhaR2RsZEV4cGMzUkZkbVZ1ZEZSNWNHVXVVMlYwUVhWMGIweGhkVzVqYUN3Z2RISjFaU3dnWjJGa1oyVjBWWEpzSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nY21WdGIzWmxRWFYwYjB4aGRXNWphQ2dnWjJGa1oyVjBWWEpzT2lCemRISnBibWNnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaGRHaHBjeTVoY0dsSmJuUmxjbVpoWTJVdVkzVnljbVZ1ZENCOGZDQWhkR2hwY3k1aGNHbEpiblJsY21aaFkyVXVZM1Z5Y21WdWRDNWpiMjV1WldOMFpXUWdLVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iM1JEYjI1dVpXTjBaV1E3WEhKY2JseHlYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sTG1OMWNuSmxiblF1YzJWdVpGSmxjWFZsYzNSQmJtUlhZV2wwUm05eVVtVnpjRzl1YzJVOFIyRmtaMlYwVEdsemRGSmxjM1ZzZEQ0b0lGeHlYRzVjZEZ4MFhIUkhZV1JuWlhSTWFYTjBSWFpsYm5SVWVYQmxMbEpsYlc5MlpVRjFkRzlNWVhWdVkyZ3NJSFJ5ZFdVc0lHZGhaR2RsZEZWeWJDQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkRk5sZEhScGJtZHpSbTl5UjJGa1oyVjBLQ0JuWVdSblpYUlZjbXc2SUhOMGNtbHVaeUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbUZ3YVVsdWRHVnlabUZqWlM1amRYSnlaVzUwSUh4OElDRjBhR2x6TG1Gd2FVbHVkR1Z5Wm1GalpTNWpkWEp5Wlc1MExtTnZibTVsWTNSbFpDQXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQnVkV3hzTzF4eVhHNWNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbUZ3YVVsdWRHVnlabUZqWlM1amRYSnlaVzUwTG5ObGJtUlNaWEYxWlhOMFFXNWtWMkZwZEVadmNsSmxjM0J2Ym5ObFBFRjJSMkZrWjJWMFUyVjBkR2x1WjNNK0tDQmNjbHh1WEhSY2RGeDBSMkZrWjJWMFRHbHpkRVYyWlc1MFZIbHdaUzVIWlhSVFpYUjBhVzVuYzBadmNrZGhaR2RsZEN3Z2RISjFaU3dnWjJGa1oyVjBWWEpzSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYzNSaGNuUkhZV1JuWlhRb0lHZGhaR2RsZEZWeWJEb2djM1J5YVc1bklDbGNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dJWFJvYVhNdVlYQnBTVzUwWlhKbVlXTmxMbU4xY25KbGJuUWdmSHdnSVhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sTG1OMWNuSmxiblF1WTI5dWJtVmpkR1ZrSUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1SUVkaFpHZGxkRXhwYzNSU1pYTjFiSFF1VG05MFEyOXVibVZqZEdWa08xeHlYRzVjY2x4dVhIUmNkSEpsZEhWeWJpQjBhR2x6TG1Gd2FVbHVkR1Z5Wm1GalpTNWpkWEp5Wlc1MExuTmxibVJTWlhGMVpYTjBRVzVrVjJGcGRFWnZjbEpsYzNCdmJuTmxQRWRoWkdkbGRFeHBjM1JTWlhOMWJIUStLQ0JjY2x4dVhIUmNkRngwUjJGa1oyVjBUR2x6ZEVWMlpXNTBWSGx3WlM1VGRHRnlkRWRoWkdkbGRDd2dkSEoxWlN3Z1oyRmtaMlYwVlhKc0lDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdQRUYyUVhCcFNXNTBaWEptWVdObElISmxaajE3SUhSb2FYTXVZWEJwU1c1MFpYSm1ZV05sSUgwZ1lYQnBUbUZ0WlQxN0lHdGZSMkZrWjJWMFRHbHpkRWx1ZEdWeVptRmpaU0I5THo1Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JpSmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvYXBpX2dhZGdldGxpc3QudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hcGlfaW50ZXJmYWNlLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9hcGlfaW50ZXJmYWNlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBBdkFwaUludGVyZmFjZSAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZBcGlJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2QXBpSW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5ICovIFxcXCIuL3NyYy9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5jbGFzcyBBdkFwaUludGVyZmFjZSBleHRlbmRzIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkNvbXBvbmVudFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IoKSB7XFxyXFxuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVJbnRlcmZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5uZXh0UmVxdWVzdElkID0gMTtcXHJcXG4gICAgICAgIHRoaXMucmVxdWVzdFByb21pc2VzID0gbmV3IE1hcCgpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBjb25uZWN0ZWQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmVJbnRlcmZhY2UgIT0gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShtc2dUeXBlLCBleHBlY3RSZXNwb25zZSwgLi4uYXJncykge1xcclxcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcXHJcXG4gICAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgIHJlamVjdChcXFwiTm8gY29ubmVjdGlvblxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGxldCBldmVudCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogbXNnVHlwZSxcXHJcXG4gICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgIGlmIChleHBlY3RSZXNwb25zZSkge1xcclxcbiAgICAgICAgICAgICAgICBldmVudC5yZXF1ZXN0SWQgPSB0aGlzLm5leHRSZXF1ZXN0SWQrKztcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UHJvbWlzZXMuc2V0KGV2ZW50LnJlcXVlc3RJZCwge1xcclxcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZTogKHJlc3ApID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgoX2EgPSByZXNwLnBhcmFtZXRlcnMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYVswXSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0XFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBpZiAoYXJncyAmJiBhcmdzLmxlbmd0aCkge1xcclxcbiAgICAgICAgICAgICAgICBldmVudC5wYXJhbWV0ZXJzID0gYXJncztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbnRlcmZhY2Uuc2VuZEV2ZW50KGV2ZW50KTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uSW50ZXJmYWNlKGFjdGl2ZUludGVyZmFjZSkge1xcclxcbiAgICAgICAgdmFyIF9hLCBfYjtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlSW50ZXJmYWNlID0gYWN0aXZlSW50ZXJmYWNlO1xcclxcbiAgICAgICAgKF9iID0gKF9hID0gdGhpcy5wcm9wcykub25Db25uZWN0KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChfYSwgYWN0aXZlSW50ZXJmYWNlLnBlZXIpO1xcclxcbiAgICAgICAgYWN0aXZlSW50ZXJmYWNlLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbnRlcmZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgICAgIC8vIHJlamVjdCBhbGwgdGhlIG91dHN0YW5kaW5nIHJlcXVlc3RzXFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgdiBvZiB0aGlzLnJlcXVlc3RQcm9taXNlcy5lbnRyaWVzKCkpIHtcXHJcXG4gICAgICAgICAgICAgICAgdlsxXS5yZWplY3QoXFxcIkxvc3QgY29ubmVjdGlvblxcXCIpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB0aGlzLnJlcXVlc3RQcm9taXNlcy5jbGVhcigpO1xcclxcbiAgICAgICAgICAgIChfYiA9IChfYSA9IHRoaXMucHJvcHMpLm9uRGlzY29ubmVjdCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGFjdGl2ZUludGVyZmFjZS5wZWVyKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlSW50ZXJmYWNlLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgICAgIGxldCBwID0gdGhpcy5yZXF1ZXN0UHJvbWlzZXMuZ2V0KGV2ZW50LnJlcXVlc3RJZCk7XFxyXFxuICAgICAgICAgICAgaWYgKHApIHtcXHJcXG4gICAgICAgICAgICAgICAgcC5yZXNvbHZlKGV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0UHJvbWlzZXMuZGVsZXRlKGV2ZW50LnJlcXVlc3RJZCk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgbGV0IGggPSB0aGlzLnByb3BzLmhhbmRsZXJzW2V2ZW50LnR5cGVdO1xcclxcbiAgICAgICAgICAgIGlmIChoKSB7XFxyXFxuICAgICAgICAgICAgICAgIGgoeyBlbmRwb2ludEFkZHI6IGFjdGl2ZUludGVyZmFjZS5wZWVyIH0sIChfYSA9IGV2ZW50LnBhcmFtZXRlcnMpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IFtdLCBhY3RpdmVJbnRlcmZhY2Uub3JpZ2luLCBhY3RpdmVJbnRlcmZhY2UudXNlckFnZW50KVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5yZXF1ZXN0SWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3BFdmVudCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGV2ZW50LnR5cGUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6IGV2ZW50LnJlcXVlc3RJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHJlc3VsdCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSW50ZXJmYWNlLnNlbmRFdmVudChyZXNwRXZlbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYHJldHVybiB2YWx1ZSBwcm92aWRlZCBmb3IgJHtldmVudC50eXBlfSBldmVudCwgd2hpY2ggZGlkIG5vdCBleHBlY3Qgb25lYCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChyZWFzb24pID0+IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBNZXNzYWdlIGhhbmRsZXIgJHtldmVudC50eXBlfSBmYWlsZWQgd2l0aCAke3JlYXNvbn1gKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5yZXF1ZXN0SWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcEV2ZW50ID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBldmVudC50eXBlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0SWQ6IGV2ZW50LnJlcXVlc3RJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUludGVyZmFjZS5zZW5kRXZlbnQocmVzcEV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coYG5vIGhhbmRsZXIgZm9yIEFQSSBldmVudCB0eXBlPSR7ZXZlbnQudHlwZX0gcmVxSWQ9JHtldmVudC5yZXF1ZXN0SWR9YCk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5wcm9wcy5pbXBsZW1lbnRhdGlvbilcXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl0sIHsgcmVjZWl2ZXM6IFtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZmFjZTogdGhpcy5wcm9wcy5hcGlOYW1lLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NvcjogdGhpcy5vbkludGVyZmFjZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgXSwgdm9sdW1lOiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcImluZmluaXRlVm9sdW1lXFxcIl0pKCkgfSk7XFxyXFxuICAgICAgICBlbHNlXFxyXFxuICAgICAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJBdkludGVyZmFjZUVudGl0eVxcXCJdLCB7IHRyYW5zbWl0czogW1xcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmYWNlOiB0aGlzLnByb3BzLmFwaU5hbWUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc29yOiB0aGlzLm9uSW50ZXJmYWNlLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBdLCB2b2x1bWU6IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfX1tcXFwiaW5maW5pdGVWb2x1bWVcXFwiXSkoKSB9KTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQXZBcGlJbnRlcmZhY2UucHJvdG90eXBlLCBcXFwib25JbnRlcmZhY2VcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWhjR2xmYVc1MFpYSm1ZV05sTG5SemVEODVOekUxSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenM3TzBGQlFTdENPMEZCUTJ0RU8wRkJReTlETzBGQlEzbERPMEZCZVVSd1JTeE5RVUZOTEdOQlFXVXNVMEZCVVN3clEwRkJkME03U1VGQk5VVTdPMUZCUlZNc2IwSkJRV1VzUjBGQmIwSXNTVUZCU1N4RFFVRkRPMUZCUTNoRExHdENRVUZoTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJ4Q0xHOUNRVUZsTEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVRSQ0xFTkJRVU03U1VGblNpOUVMRU5CUVVNN1NVRTVTVUVzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1NVRkJTU3hEUVVGRExHVkJRV1VzU1VGQlNTeEpRVUZKTEVOQlFVTTdTVUZEY2tNc1EwRkJRenRKUVVWRUxEWkNRVUUyUWl4RFFVRlRMRTlCUVdVc1JVRkJSU3hqUVVGMVFpeEZRVUZGTEVkQlFVY3NTVUZCVnp0UlFVVTNSaXhQUVVGUExFbEJRVWtzVDBGQlR5eERRVUZUTEVOQlFVVXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSeXhGUVVGRk8xbEJSV2hFTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVONlFqdG5Ra0ZEUXl4TlFVRk5MRU5CUVVVc1pVRkJaU3hEUVVGRkxFTkJRVU03WjBKQlF6RkNMRTlCUVU4N1lVRkRVRHRaUVVWRUxFbEJRVWtzUzBGQlN5eEhRVU5VTzJkQ1FVTkRMRWxCUVVrc1JVRkJSU3hQUVVGUE8yRkJRMklzUTBGQlF6dFpRVVZHTEVsQlFVa3NZMEZCWXl4RlFVTnNRanRuUWtGRFF5eExRVUZMTEVOQlFVTXNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJReXhoUVVGaExFVkJRVVVzUTBGQlF6dG5Ra0ZEZGtNc1NVRkJTU3hEUVVGRExHVkJRV1VzUTBGQlF5eEhRVUZITEVOQlFVVXNTMEZCU3l4RFFVRkRMRk5CUVZNc1JVRkRlRU03YjBKQlEwTXNUMEZCVHl4RlFVRkZMRU5CUVVVc1NVRkJZeXhGUVVGSExFVkJRVVU3TzNkQ1FVVTNRaXhQUVVGUExFTkJRVVVzVlVGQlNTeERRVUZETEZWQlFWVXNNRU5CUVVjc1EwRkJReXhEUVVGVkxFTkJRVVVzUTBGQlF6dHZRa0ZETVVNc1EwRkJRenR2UWtGRFJDeE5RVUZOTzJsQ1FVTk9MRU5CUVVVc1EwRkJRenRoUVVOTU8xbEJSVVFzU1VGQlNTeEpRVUZKTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkRka0k3WjBKQlEwTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU03WVVGRGVFSTdXVUZGUkN4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExGTkJRVk1zUTBGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0UlFVTjZReXhEUVVGRExFTkJRVVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZIVHl4WFFVRlhMRU5CUVVVc1pVRkJaME03TzFGQlJYQkVMRWxCUVVrc1EwRkJReXhsUVVGbExFZEJRVWNzWlVGQlpTeERRVUZETzFGQlEzWkRMR2RDUVVGSkxFTkJRVU1zUzBGQlN5eEZRVUZETEZOQlFWTXNiVVJCUVVrc1pVRkJaU3hEUVVGRExFbEJRVWtzUlVGQlJ6dFJRVVV2UXl4bFFVRmxMRU5CUVVNc1QwRkJUeXhEUVVGRkxFZEJRVWNzUlVGQlJUczdXVUZGTjBJc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZGTlVJc2MwTkJRWE5ETzFsQlEzUkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkROVU03WjBKQlEwTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlJTeHBRa0ZCYVVJc1EwRkJSU3hEUVVGRE8yRkJRMnBETzFsQlJVUXNTVUZCU1N4RFFVRkRMR1ZCUVdVc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVVUzUWl4blFrRkJTU3hEUVVGRExFdEJRVXNzUlVGQlF5eFpRVUZaTEcxRVFVRkpMR1ZCUVdVc1EwRkJReXhKUVVGSkxFVkJRVWM3VVVGRGJrUXNRMEZCUXl4RFFVRkZMRU5CUVVNN1VVRkZTaXhsUVVGbExFTkJRVU1zVDBGQlR5eERRVUZGTEVOQlFVVXNTMEZCWlN4RlFVRkZMRVZCUVVVN08xbEJSVGRETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eERRVUZGTEV0QlFVc3NRMEZCUXl4VFFVRlRMRU5CUVVVc1EwRkJRenRaUVVOd1JDeEpRVUZKTEVOQlFVTXNSVUZEVER0blFrRkRReXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZGTEV0QlFVc3NRMEZCUlN4RFFVRkRPMmRDUVVOdVFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4RFFVRkRMRTFCUVUwc1EwRkJSU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZGTEVOQlFVTTdaMEpCUXk5RExFOUJRVTg3WVVGRFVEdFpRVVZFTEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZGTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVVc1EwRkJRenRaUVVNeFF5eEpRVUZKTEVOQlFVTXNSVUZEVER0blFrRkRReXhEUVVGRExFTkJRVVVzUlVGQlJTeFpRVUZaTEVWQlFVVXNaVUZCWlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGRkxFdEJRVXNzUTBGQlF5eFZRVUZWTEcxRFFVRkpMRVZCUVVVc1JVRkJSU3hsUVVGbExFTkJRVU1zVFVGQlRTeEZRVU40Uml4bFFVRmxMRU5CUVVNc1UwRkJVeXhEUVVGRk8zRkNRVU16UWl4SlFVRkpMRU5CUVVVc1EwRkJSU3hOUVVGdlFpeEZRVUZITEVWQlFVVTdiMEpCUldwRExFbEJRVWtzVFVGQlRTeEZRVU5XTzNkQ1FVTkRMRWxCUVVrc1MwRkJTeXhEUVVGRExGTkJRVk1zUlVGRGJrSTdORUpCUTBNc1NVRkJTU3hUUVVGVExFZEJRMkk3WjBOQlEwTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSk8yZERRVU5vUWl4VFFVRlRMRVZCUVVVc1MwRkJTeXhEUVVGRExGTkJRVk03WjBOQlF6RkNMRlZCUVZVc1JVRkJSU3hOUVVGbE96WkNRVU16UWpzMFFrRkRSQ3hsUVVGbExFTkJRVU1zVTBGQlV5eERRVUZGTEZOQlFWTXNRMEZCUlN4RFFVRkRPM2xDUVVOMlF6czJRa0ZGUkRzMFFrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTERaQ1FVRTRRaXhMUVVGTExFTkJRVU1zU1VGQlN5eHJRMEZCYTBNc1EwRkJSU3hEUVVGRE8zbENRVU16Ump0eFFrRkRSRHRuUWtGRFJpeERRVUZETEVOQlFVVTdjVUpCUTBZc1MwRkJTeXhEUVVGRkxFTkJRVU1zVFVGQlZ5eEZRVUZETEVWQlFVVTdiMEpCUlhSQ0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNiVUpCUVc5Q0xFdEJRVXNzUTBGQlF5eEpRVUZMTEdkQ1FVRnBRaXhOUVVGUExFVkJRVVVzUTBGQlJTeERRVUZETzI5Q1FVTjZSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eFRRVUZUTEVWQlEyNUNPM2RDUVVORExFbEJRVWtzVTBGQlV5eEhRVU5pT3pSQ1FVTkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zU1VGQlNUczBRa0ZEYUVJc1UwRkJVeXhGUVVGRkxFdEJRVXNzUTBGQlF5eFRRVUZUTzNsQ1FVTXhRanQzUWtGRFJDeGxRVUZsTEVOQlFVTXNVMEZCVXl4RFFVRkZMRk5CUVZNc1EwRkJSU3hEUVVGRE8zRkNRVU4yUXp0blFrRkRSaXhEUVVGRExFTkJRVVVzUTBGQlF6dG5Ra0ZEU2l4UFFVRlBPMkZCUTFBN1dVRkZSQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEdsRFFVRnJReXhMUVVGTExFTkJRVU1zU1VGQlN5eFZRVUZYTEV0QlFVc3NRMEZCUXl4VFFVRlZMRVZCUVVVc1EwRkJSU3hEUVVGRE8xRkJRek5HTEVOQlFVTXNRMEZCUlN4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWTkxFMUJRVTA3VVVGRldpeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1kwRkJZenRaUVVNMVFpeFBRVUZQTEc5RVFVRkRMRFJGUVVGcFFpeEpRVUZETEZGQlFWRXNSVUZEYWtNN2IwSkJRME03ZDBKQlEwTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR6dDNRa0ZEZWtJc1UwRkJVeXhGUVVGRkxFbEJRVWtzUTBGQlF5eFhRVUZYTzNGQ1FVTXpRanRwUWtGRFJDeEZRVU5FTEUxQlFVMHNSVUZCUnl4clJrRkJZeXhGUVVGRkxFZEJRM1pDTEVOQlFVTTdPMWxCUlVvc1QwRkJUeXh2UkVGQlF5dzBSVUZCYVVJc1NVRkJReXhUUVVGVExFVkJRMnhETzI5Q1FVTkRPM2RDUVVORExFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4N2QwSkJRM3BDTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1YwRkJWenR4UWtGRE0wSTdhVUpCUTBRc1JVRkRSQ3hOUVVGTkxFVkJRVWNzYTBaQlFXTXNSVUZCUlN4SFFVTjJRaXhEUVVGRE8wbEJSVTRzUTBGQlF6dERRVU5FTzBGQmJrZEJPMGxCUkVNc2NVUkJRVWs3YVVSQk1FVktJaXdpWm1sc1pTSTZJaTR2YzNKakwyRndhVjlwYm5SbGNtWmhZMlV1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJCZGtsdWRHVnlabUZqWlVWdWRHbDBlU3dnUVdOMGFYWmxTVzUwWlhKbVlXTmxJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTlwYm5SbGNtWmhZMlZmWlc1MGFYUjVKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QnBibVpwYm1sMFpWWnZiSFZ0WlN3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1FYQnBSWFpsYm5SY2NseHVlMXh5WEc1Y2RIUjVjR1U2SUhOMGNtbHVaenRjY2x4dVhIUnlaWEYxWlhOMFNXUS9PaUJ1ZFcxaVpYSTdYSEpjYmx4MGNHRnlZVzFsZEdWeWN6ODZJR0Z1ZVZ0ZE8xeHlYRzU5WEhKY2JseHlYRzVwYm5SbGNtWmhZMlVnVUhKdmJXbHpaVVoxYm1OMGFXOXVjMXh5WEc1N1hISmNibHgwY21WemIyeDJaVG9nS0NCeVpYTjFiSFE2SUVGd2FVVjJaVzUwSUNrZ1BUNGdkbTlwWkR0Y2NseHVYSFJ5WldwbFkzUTZJQ2dnY21WaGMyOXVPaUJoYm5rZ0tTQTlQaUIyYjJsa08xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZ3YVVsdWRHVnlabUZqWlZObGJtUmxjbHh5WEc1N1hISmNibHgwY21WaFpHOXViSGtnWlc1a2NHOXBiblJCWkdSeU9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1FYQnBTVzUwWlhKbVlXTmxTR0Z1Wkd4bGNseHlYRzU3WEhKY2JseDBLQ0J6Wlc1a1pYSTZJRUZ3YVVsdWRHVnlabUZqWlZObGJtUmxjaXdnY0dGeVlXMWxkR1Z5Y3pvZ1lXNTVXMTBzSUc5eWFXZHBiam9nYzNSeWFXNW5MQ0IxYzJWeVFXZGxiblE2SUhOMGNtbHVaeUFwT2lCUWNtOXRhWE5sUENCaGJubGJYU0I4SUc1MWJHd2dQanRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCQmNHbEpiblJsY21aaFkyVlFjbTl3YzF4eVhHNTdYSEpjYmx4MEx5b3FJRTVoYldVZ2IyWWdkR2hsSUVGUVNTQnBiWEJzWlcxbGJuUmxaQ0JpZVNCMGFHbHpJRzlpYW1WamRDNGdWR2hwY3lCY2NseHVYSFFnS2lCdGRYTjBJR0psSUdsdUlIUm9aU0JtYjNKdElEeGhjR2x1WVcxbFBrQThkbVZ5YzJsdmJtNTFiV0psY2o0dVhISmNibHgwSUNvdlhISmNibHgwWVhCcFRtRnRaVG9nYzNSeWFXNW5PMXh5WEc1Y2NseHVYSFF2S2lvZ1NXWWdkR2hwY3lCcGN5QjBjblZsTENCMGFHbHpJRzlpYW1WamRDQnBjeUIwYUdVZ2MybHVaMnhsZEc5dUlHbHRjR3hsYldWdWRHRjBhVzl1WEhKY2JseDBJQ29nYjJZZ2RHaGxJR2x1ZEdWeVptRmpaUzVjY2x4dVhIUWdLaUJjY2x4dVhIUWdLaUJBWkdWbVlYVnNkQ0JtWVd4elpWeHlYRzVjZENBcUwxeHlYRzVjZEdsdGNHeGxiV1Z1ZEdGMGFXOXVQem9nWW05dmJHVmhianRjY2x4dVhISmNibHgwTHlvcUlFMWxjM05oWjJVZ2RIbHdaU0JvWVc1a2JHVnljeUJtYjNJZ2FXNWpiMjFwYm1jZ2JXVnpjMkZuWlhNdUlFbG1JR0Z1SUdsdVkyOXRhVzVuWEhKY2JseDBJQ29nYldWemMyRm5aU0JwY3lCeVpXTmxhWFpsWkNCdlppQmhJSFI1Y0dVZ2RHaGhkQ0JwY3lCdWIzUWdjSEpsYzJWdWRDQnBiaUIwYUdseklHeHBjM1FzWEhKY2JseDBJQ29nYVhRZ2QybHNiQ0JpWlNCa2FYTmpZWEprWldRdVhISmNibHgwSUNvZ1hISmNibHgwSUNvZ1ZHaGxJR2hoYm1Sc1pYSWdabTl5SUdWaFkyZ2diV1Z6YzJGblpTQjBlWEJsSUcxMWMzUWdjbVYwZFhKdUlIUm9aU0J3WVhKaGJXVjBaWEp6SUhSb1lYUmNjbHh1WEhRZ0tpQnBkQ0IzWVc1MGN5QjBieUJ5WlhCc2VTQjBieUIwYUdVZ2MyVnVaR1Z5SUhkcGRHZ3VJRWxtSUZ4eVhHNWNkQ0FxTDF4eVhHNWNkR2hoYm1Sc1pYSnpQem9nZXlCYklHMXpaMVI1Y0dVNmMzUnlhVzVuSUYwZ09pQkJjR2xKYm5SbGNtWmhZMlZJWVc1a2JHVnlJSDA3WEhKY2JseHlYRzVjZEM4cUtpQkRZV3hzWldRZ2QyaGxiaUIwYUdVZ1FWQkpJR2x1ZEdWeVptRmpaU0JqYjI1dVpXTjBjeTRnS2k5Y2NseHVYSFJ2YmtOdmJtNWxZM1EvT2lBb0lIQmxaWEk2SUVWdVpIQnZhVzUwUVdSa2NpQXBJRDArSUhadmFXUTdYSEpjYmx4eVhHNWNkQzhxS2lCRFlXeHNaV1FnZDJobGJpQjBhR1VnUVZCSklHbHVkR1Z5Wm1GalpTQmthWE5qYjI1dVpXTjBjeTRnS2k5Y2NseHVYSFJ2YmtScGMyTnZibTVsWTNRL09pQW9JSEJsWlhJNklFVnVaSEJ2YVc1MFFXUmtjaUFwSUQwK0lIWnZhV1E3WEhKY2JuMWNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1FYWkJjR2xKYm5SbGNtWmhZMlVnWlhoMFpXNWtjeUJTWldGamRDNURiMjF3YjI1bGJuUThJRUZ3YVVsdWRHVnlabUZqWlZCeWIzQnpMQ0I3ZlNBK1hISmNibnRjY2x4dVhIUndjbWwyWVhSbElHRmpkR2wyWlVsdWRHVnlabUZqWlRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHNWxlSFJTWlhGMVpYTjBTV1FnUFNBeE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WeGRXVnpkRkJ5YjIxcGMyVnpJRDBnYm1WM0lFMWhjRHh1ZFcxaVpYSXNJRkJ5YjIxcGMyVkdkVzVqZEdsdmJuTStLQ2s3WEhKY2JseHlYRzVjZEhCMVlteHBZeUJuWlhRZ1kyOXVibVZqZEdWa0tDazZJR0p2YjJ4bFlXNWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWhZM1JwZG1WSmJuUmxjbVpoWTJVZ0lUMGdiblZzYkR0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhObGJtUlNaWEYxWlhOMFFXNWtWMkZwZEVadmNsSmxjM0J2Ym5ObFBGUlNaWE53UGlnZ2JYTm5WSGx3WlRvZ2MzUnlhVzVuTENCbGVIQmxZM1JTWlhOd2IyNXpaVG9nWW05dmJHVmhiaXdnTGk0dVlYSm5jem9nWVc1NVcxMGdLU0E2SUZCeWIyMXBjMlU4VkZKbGMzQStYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1bGR5QlFjbTl0YVhObFBGUlNaWE53UGlnZ0tDQnlaWE52YkhabExDQnlaV3BsWTNRZ0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ0lYUm9hWE11WVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RISmxhbVZqZENnZ1hDSk9ieUJqYjI1dVpXTjBhVzl1WENJZ0tUdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNDdYSEpjYmx4MFhIUmNkSDFjY2x4dVhISmNibHgwWEhSY2RHeGxkQ0JsZG1WdWREb2dRWEJwUlhabGJuUWdQVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGRIbHdaVG9nYlhOblZIbHdaU3hjY2x4dVhIUmNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUmNkR2xtS0NCbGVIQmxZM1JTWlhOd2IyNXpaU0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmxkbVZ1ZEM1eVpYRjFaWE4wU1dRZ1BTQjBhR2x6TG01bGVIUlNaWEYxWlhOMFNXUXJLenRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbkpsY1hWbGMzUlFjbTl0YVhObGN5NXpaWFFvSUdWMlpXNTBMbkpsY1hWbGMzUkpaQ3dnWEhKY2JseDBYSFJjZEZ4MFhIUjdJRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnlaWE52YkhabE9pQW9JSEpsYzNBNklFRndhVVYyWlc1MElDa2dQVDVjY2x4dVhIUmNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkSEpsYzI5c2RtVW9JSEpsYzNBdWNHRnlZVzFsZEdWeWN6OHVXekJkSUdGeklGUlNaWE53SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEgwc0lGeHlYRzVjZEZ4MFhIUmNkRngwWEhSeVpXcGxZM1FnWEhKY2JseDBYSFJjZEZ4MFhIUjlJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSEpjYmx4MFhIUmNkR2xtS0NCaGNtZHpJQ1ltSUdGeVozTXViR1Z1WjNSb0lDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdWMlpXNTBMbkJoY21GdFpYUmxjbk1nUFNCaGNtZHpPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseHlYRzVjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVWx1ZEdWeVptRmpaUzV6Wlc1a1JYWmxiblFvSUdWMlpXNTBJQ2s3WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ2IyNUpiblJsY21aaFkyVW9JR0ZqZEdsMlpVbHVkR1Z5Wm1GalpUb2dRV04wYVhabFNXNTBaWEptWVdObElDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbUZqZEdsMlpVbHVkR1Z5Wm1GalpTQTlJR0ZqZEdsMlpVbHVkR1Z5Wm1GalpUdGNjbHh1WEhSY2RIUm9hWE11Y0hKdmNITXViMjVEYjI1dVpXTjBQeTRvSUdGamRHbDJaVWx1ZEdWeVptRmpaUzV3WldWeUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxTVzUwWlhKbVlXTmxMbTl1Ulc1a1pXUW9JQ2dwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11WVdOMGFYWmxTVzUwWlhKbVlXTmxJRDBnYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFJjZEM4dklISmxhbVZqZENCaGJHd2dkR2hsSUc5MWRITjBZVzVrYVc1bklISmxjWFZsYzNSelhISmNibHgwWEhSY2RHWnZjaWdnYkdWMElIWWdiMllnZEdocGN5NXlaWEYxWlhOMFVISnZiV2x6WlhNdVpXNTBjbWxsY3lncElDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhaYk1WMHVjbVZxWldOMEtDQmNJa3h2YzNRZ1kyOXVibVZqZEdsdmJsd2lJQ2s3WEhKY2JseDBYSFJjZEgxY2NseHVYSEpjYmx4MFhIUmNkSFJvYVhNdWNtVnhkV1Z6ZEZCeWIyMXBjMlZ6TG1Oc1pXRnlLQ2s3WEhKY2JseHlYRzVjZEZ4MFhIUjBhR2x6TG5CeWIzQnpMbTl1UkdselkyOXVibVZqZEQ4dUtDQmhZM1JwZG1WSmJuUmxjbVpoWTJVdWNHVmxjaUFwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpVbHVkR1Z5Wm1GalpTNXZia1YyWlc1MEtDQW9JR1YyWlc1ME9pQkJjR2xGZG1WdWRDQXBQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElIQWdQU0IwYUdsekxuSmxjWFZsYzNSUWNtOXRhWE5sY3k1blpYUW9JR1YyWlc1MExuSmxjWFZsYzNSSlpDQXBPMXh5WEc1Y2RGeDBYSFJwWmlnZ2NDQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSd0xuSmxjMjlzZG1Vb0lHVjJaVzUwSUNrN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1eVpYRjFaWE4wVUhKdmJXbHpaWE11WkdWc1pYUmxLQ0JsZG1WdWRDNXlaWEYxWlhOMFNXUWdLVHRjY2x4dVhIUmNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseDBYSFJjZEgxY2NseHVYSEpjYmx4MFhIUmNkR3hsZENCb0lEMGdkR2hwY3k1d2NtOXdjeTVvWVc1a2JHVnljMXNnWlhabGJuUXVkSGx3WlNCZE8xeHlYRzVjZEZ4MFhIUnBaaWdnYUNBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJvS0NCN0lHVnVaSEJ2YVc1MFFXUmtjam9nWVdOMGFYWmxTVzUwWlhKbVlXTmxMbkJsWlhJZ2ZTd2daWFpsYm5RdWNHRnlZVzFsZEdWeWN5QS9QeUJiWFN3Z1lXTjBhWFpsU1c1MFpYSm1ZV05sTG05eWFXZHBiaXhjY2x4dVhIUmNkRngwWEhSY2RHRmpkR2wyWlVsdWRHVnlabUZqWlM1MWMyVnlRV2RsYm5RZ0tWeHlYRzVjZEZ4MFhIUmNkQzUwYUdWdUtDQW9JSEpsYzNWc2REb2dZVzU1VzEwZ2ZDQnVkV3hzSUNrZ1BUNWNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnBaaWdnY21WemRXeDBJQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGFXWW9JR1YyWlc1MExuSmxjWFZsYzNSSlpDQXBYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnNaWFFnY21WemNFVjJaVzUwT2lCQmNHbEZkbVZ1ZENBOVhISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RGeDBkSGx3WlRvZ1pYWmxiblF1ZEhsd1pTeGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUmNkSEpsY1hWbGMzUkpaRG9nWlhabGJuUXVjbVZ4ZFdWemRFbGtMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkRngwY0dGeVlXMWxkR1Z5Y3pvZ2NtVnpkV3gwSUdGeklHRnVlVnRkTEZ4eVhHNWNkRngwWEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSaFkzUnBkbVZKYm5SbGNtWmhZMlV1YzJWdVpFVjJaVzUwS0NCeVpYTndSWFpsYm5RZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkRngwWEhSbGJITmxYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUhKbGRIVnliaUIyWVd4MVpTQndjbTkyYVdSbFpDQm1iM0lnSkhzZ1pYWmxiblF1ZEhsd1pTQjlJR1YyWlc1MExDQjNhR2xqYUNCa2FXUWdibTkwSUdWNGNHVmpkQ0J2Ym1WZ0lDazdYSEpjYmx4MFhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUjlJQ2xjY2x4dVhIUmNkRngwWEhRdVkyRjBZMmdvSUNoeVpXRnpiMjQ2SUdGdWVTazlQbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCZ1RXVnpjMkZuWlNCb1lXNWtiR1Z5SUNSN0lHVjJaVzUwTG5SNWNHVWdmU0JtWVdsc1pXUWdkMmwwYUNBa2V5QnlaV0Z6YjI0Z2ZXQWdLVHRjY2x4dVhIUmNkRngwWEhSY2RHbG1LQ0JsZG1WdWRDNXlaWEYxWlhOMFNXUWdLVnh5WEc1Y2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhSc1pYUWdjbVZ6Y0VWMlpXNTBPaUJCY0dsRmRtVnVkQ0E5WEhKY2JseDBYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFIwZVhCbE9pQmxkbVZ1ZEM1MGVYQmxMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkSEpsY1hWbGMzUkpaRG9nWlhabGJuUXVjbVZ4ZFdWemRFbGtMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWEhSY2RHRmpkR2wyWlVsdWRHVnlabUZqWlM1elpXNWtSWFpsYm5Rb0lISmxjM0JGZG1WdWRDQXBPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEZ4MFhIUnlaWFIxY200N1hISmNibHgwWEhSY2RIMWNjbHh1WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmdibThnYUdGdVpHeGxjaUJtYjNJZ1FWQkpJR1YyWlc1MElIUjVjR1U5SkhzZ1pYWmxiblF1ZEhsd1pTQjlJSEpsY1Vsa1BTUjdJR1YyWlc1MExuSmxjWFZsYzNSSlpDQjlZQ0FwTzF4eVhHNWNkRngwZlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUhKbGJtUmxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBhV1lvSUhSb2FYTXVjSEp2Y0hNdWFXMXdiR1Z0Wlc1MFlYUnBiMjRnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTRnUEVGMlNXNTBaWEptWVdObFJXNTBhWFI1SUhKbFkyVnBkbVZ6UFh0Y2NseHVYSFJjZEZ4MFhIUmJYSEpjYmx4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEdsbVlXTmxPaUIwYUdsekxuQnliM0J6TG1Gd2FVNWhiV1VzWEhKY2JseDBYSFJjZEZ4MFhIUmNkSEJ5YjJObGMzTnZjam9nZEdocGN5NXZia2x1ZEdWeVptRmpaU3hjY2x4dVhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJkSUgxY2NseHVYSFJjZEZ4MFhIUjJiMngxYldVOWV5QnBibVpwYm1sMFpWWnZiSFZ0WlNncElIMWNjbHh1WEhSY2RGeDBYSFF2UGp0Y2NseHVYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBjbVYwZFhKdUlEeEJka2x1ZEdWeVptRmpaVVZ1ZEdsMGVTQjBjbUZ1YzIxcGRITTllMXh5WEc1Y2RGeDBYSFJjZEZ0Y2NseHVYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBhV1poWTJVNklIUm9hWE11Y0hKdmNITXVZWEJwVG1GdFpTeGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGNISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVNXNTBaWEptWVdObExGeHlYRzVjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RGMGdmVnh5WEc1Y2RGeDBYSFJjZEhadmJIVnRaVDE3SUdsdVptbHVhWFJsVm05c2RXMWxLQ2tnZlZ4eVhHNWNkRngwWEhSY2RDOCtPMXh5WEc1Y2NseHVYSFI5WEhKY2JuMWNjbHh1WEhKY2JseHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FwaV9pbnRlcmZhY2UudHN4XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9hcGlfbWVzc2FnZWJveC50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2FwaV9tZXNzYWdlYm94LnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDoga19NZXNzYWdlYm94SW50ZXJmYWNlLCBNZXNzYWdlYm94RXZlbnRUeXBlLCBBdk1lc3NhZ2Vib3ggKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcImtfTWVzc2FnZWJveEludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19NZXNzYWdlYm94SW50ZXJmYWNlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJNZXNzYWdlYm94RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBNZXNzYWdlYm94RXZlbnRUeXBlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdk1lc3NhZ2Vib3hcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEF2TWVzc2FnZWJveDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9pbnRlcmZhY2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXBpX2ludGVyZmFjZSAqLyBcXFwiLi9zcmMvYXBpX2ludGVyZmFjZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcblxcclxcblxcclxcblxcclxcblxcclxcbmNvbnN0IGtfTWVzc2FnZWJveEludGVyZmFjZSA9IFxcXCJtZXNzYWdlYm94QDFcXFwiO1xcclxcbnZhciBNZXNzYWdlYm94RXZlbnRUeXBlO1xcclxcbihmdW5jdGlvbiAoTWVzc2FnZWJveEV2ZW50VHlwZSkge1xcclxcbiAgICBNZXNzYWdlYm94RXZlbnRUeXBlW1xcXCJTaG93UHJvbXB0XFxcIl0gPSBcXFwic2hvd19wcm9tcHRcXFwiO1xcclxcbiAgICBNZXNzYWdlYm94RXZlbnRUeXBlW1xcXCJVc2VyUmVzcG9uc2VcXFwiXSA9IFxcXCJ1c2VyX3Jlc3BvbnNlXFxcIjtcXHJcXG4gICAgTWVzc2FnZWJveEV2ZW50VHlwZVtcXFwiQ2FuY2VsUHJvbXB0XFxcIl0gPSBcXFwiY2FuY2VsX3Byb21wdFxcXCI7XFxyXFxufSkoTWVzc2FnZWJveEV2ZW50VHlwZSB8fCAoTWVzc2FnZWJveEV2ZW50VHlwZSA9IHt9KSk7XFxyXFxuLyoqIENhdXNlcyBhIGxpbmUgdG8gYXBwZWFyIGZyb20gdGhlIHRyYW5zZm9ybSBvZiB0aGlzIG5vZGUncyBwYXJlbnQgdG8gdGhlXFxyXFxuICogc3BlY2lmaWVkIGVuZCBwb2ludC4gKi9cXHJcXG5jbGFzcyBBdk1lc3NhZ2Vib3ggZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKCkge1xcclxcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcXHJcXG4gICAgICAgIHRoaXMuYXBpID0gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlUmVmXFxcIl0oKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0UmVqZWN0ID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0UmVzb2x2ZSA9IG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2hvd1Byb21wdChjYXB0aW9uLCBvcHRpb25zKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5hY3RpdmVQcm9tcHQpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIk9ubHkgb25lIHByb21wdCBhbGxvd2VkIGF0IGEgdGltZSBwZXIgQXZNZXNzYWdlYm94XFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUHJvbXB0ID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgY2FwdGlvbixcXHJcXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsXFxyXFxuICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZWplY3QgPSByZWplY3Q7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZXNvbHZlID0gcmVzb2x2ZTtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5hcGkuY3VycmVudCAmJiB0aGlzLmFwaS5jdXJyZW50LmNvbm5lY3RlZCkge1xcclxcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiU2VuZGluZyBtYm94IHJlcXVlc3RcXFwiKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5hcGkuY3VycmVudC5zZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShNZXNzYWdlYm94RXZlbnRUeXBlLlNob3dQcm9tcHQsIHRydWUsIHRoaXMuYWN0aXZlUHJvbXB0KVxcclxcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyQWN0aXZlUHJvbXB0KCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcXHJcXG4gICAgICAgICAgICAgICAgfSlcXHJcXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgocmVhc29uKSA9PiB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAvLyBKdXN0IGRyb3AgZXJyb3JzIG9uIHRoZSBmbG9vci4gV2UnbGwgdHJ5IGFnYWluIG9uIHJlY29ubmVjdFxcclxcbiAgICAgICAgICAgICAgICB9KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkNvbm5lY3QoKSB7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiY29ubmVjdGVkIHRvIG1ib3hcXFwiKTtcXHJcXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVByb21wdCkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJzZW5kaW5nIHBvc3Rwb25lZCBtYm94IHJlcXVlc3RcXFwiKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmFwaS5jdXJyZW50LnNlbmRSZXF1ZXN0QW5kV2FpdEZvclJlc3BvbnNlKE1lc3NhZ2Vib3hFdmVudFR5cGUuU2hvd1Byb21wdCwgdHJ1ZSwgdGhpcy5hY3RpdmVQcm9tcHQpXFxyXFxuICAgICAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcmVzb2x2ZSA9IHRoaXMuYWN0aXZlUHJvbXB0UmVzb2x2ZTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhckFjdGl2ZVByb21wdCgpO1xcclxcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTtcXHJcXG4gICAgICAgICAgICB9KVxcclxcbiAgICAgICAgICAgICAgICAuY2F0Y2goKHJlYXNvbikgPT4ge1xcclxcbiAgICAgICAgICAgICAgICAvLyBKdXN0IGRyb3AgZXJyb3JzIG9uIHRoZSBmbG9vci4gV2UnbGwgdHJ5IGFnYWluIG9uIHJlY29ubmVjdFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGNhbmNlbFByb21wdCgpIHtcXHJcXG4gICAgICAgIGlmICghdGhpcy5hY3RpdmVQcm9tcHQpIHtcXHJcXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXFxcIkF0dGVtcHQgdG8gY2FuY2VsIHdoZW4gdGhlcmUgaXMgbm8gYWN0aXZlIHByb21wdFxcXCIpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZWplY3QoXFxcIkNhbmNlbGxlZCBieSBjYWxsZXJcXFwiKTtcXHJcXG4gICAgICAgIHRoaXMuY2xlYXJBY3RpdmVQcm9tcHQoKTtcXHJcXG4gICAgICAgIC8vIGlmIHRoZXJlJ3Mgbm8gYWN0aXZlIGludGVyZmFjZSB0aGVyZSdzIG5vIG90aGVyIGVuZCB0byBjYW5jZWxcXHJcXG4gICAgICAgIGlmICh0aGlzLmFwaS5jdXJyZW50ICYmIHRoaXMuYXBpLmN1cnJlbnQuY29ubmVjdGVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hcGkuY3VycmVudC5zZW5kUmVxdWVzdEFuZFdhaXRGb3JSZXNwb25zZShNZXNzYWdlYm94RXZlbnRUeXBlLkNhbmNlbFByb21wdCwgZmFsc2UpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGNsZWFyQWN0aXZlUHJvbXB0KCkge1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHQgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZWplY3QgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9tcHRSZXNvbHZlID0gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hcGlfaW50ZXJmYWNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2QXBpSW50ZXJmYWNlXFxcIl0sIHsgYXBpTmFtZToga19NZXNzYWdlYm94SW50ZXJmYWNlLCByZWY6IHRoaXMuYXBpLCBvbkNvbm5lY3Q6IHRoaXMub25Db25uZWN0IH0pO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiYmluZFxcXCJdXFxyXFxuXSwgQXZNZXNzYWdlYm94LnByb3RvdHlwZSwgXFxcIm9uQ29ubmVjdFxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5aGNHbGZiV1Z6YzJGblpXSnZlQzUwYzNnL05HWmxaU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenRCUVVFclFqdEJRVU5yUWp0QlFVTllPMEZCUlM5Q0xFMUJRVTBzY1VKQlFYRkNMRWRCUVVjc1kwRkJZeXhEUVVGRE8wRkJSWEJFTEVsQlFWa3NiVUpCUzFnN1FVRk1SQ3hYUVVGWkxHMUNRVUZ0UWp0SlFVVTVRaXhwUkVGQk1FSTdTVUZETVVJc2NVUkJRVGhDTzBsQlF6bENMSEZFUVVFNFFqdEJRVU12UWl4RFFVRkRMRVZCVEZjc2JVSkJRVzFDTEV0QlFXNUNMRzFDUVVGdFFpeFJRVXM1UWp0QlFXVkVPekJDUVVNd1FqdEJRVU51UWl4TlFVRk5MRmxCUVdFc1UwRkJVU3dyUTBGQmVVSTdTVUZCTTBRN08xRkJSVk1zVVVGQlJ5eEhRVUZITEN0RFFVRmxMRVZCUVd0Q0xFTkJRVU03VVVGRmVFTXNhVUpCUVZrc1IwRkJWeXhKUVVGSkxFTkJRVU03VVVGRE5VSXNkVUpCUVd0Q0xFZEJRWGRDTEVsQlFVa3NRMEZCUXp0UlFVTXZReXgzUWtGQmJVSXNSMEZCSzBJc1NVRkJTU3hEUVVGRE8wbEJNa1pvUlN4RFFVRkRPMGxCZWtaUExGVkJRVlVzUTBGQlJTeFBRVUZsTEVWQlFVVXNUMEZCTWtJN1VVRkZPVVFzU1VGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVTnlRanRaUVVORExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVVXNiMFJCUVc5RUxFTkJRVVVzUTBGQlF6dFRRVU40UlR0UlFVVkVMRTlCUVU4c1NVRkJTU3hQUVVGUExFTkJRVlVzUTBGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkhMRVZCUVVVN1dVRkZha1FzU1VGQlNTeERRVUZETEZsQlFWazdaMEpCUTJwQ08yOUNRVU5ETEU5QlFVODdiMEpCUTFBc1QwRkJUenRwUWtGRFVDeERRVUZETzFsQlEwWXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEhRVUZITEUxQlFVMHNRMEZCUXp0WlFVTnFReXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc1QwRkJUeXhEUVVGRE8xbEJSVzVETEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNc1UwRkJVeXhGUVVOc1JEdG5Ra0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxITkNRVUZ6UWl4RFFVRkZMRU5CUVVNN1owSkJRM1JETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExEWkNRVUUyUWl4RFFVRlZMRzFDUVVGdFFpeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRVZCUXpOR0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVVTdjVUpCUTI1Q0xFbEJRVWtzUTBGQlJTeERRVUZGTEZGQlFXZENMRVZCUVVjc1JVRkJSVHR2UWtGRk4wSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdiMEpCUTNwQ0xFOUJRVThzUTBGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0blFrRkRja0lzUTBGQlF5eERRVUZGTzNGQ1FVTkdMRXRCUVVzc1EwRkJSU3hEUVVGRExFMUJRVmNzUlVGQlJ5eEZRVUZGTzI5Q1FVVjRRaXc0UkVGQk9FUTdaMEpCUXk5RUxFTkJRVU1zUTBGQlJTeERRVUZETzJGQlEwbzdVVUZEUml4RFFVRkRMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSMDhzVTBGQlV6dFJRVVZvUWl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHMUNRVUZ0UWl4RFFVRkZMRU5CUVVNN1VVRkRia01zU1VGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N4RlFVTnlRanRaUVVORExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNaME5CUVdkRExFTkJRVVVzUTBGQlF6dFpRVU5vUkN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5dzJRa0ZCTmtJc1EwRkJWU3h0UWtGQmJVSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hGUVVNelJpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZPMmxDUVVOdVFpeEpRVUZKTEVOQlFVVXNRMEZCUlN4UlFVRm5RaXhGUVVGSExFVkJRVVU3WjBKQlJUZENMRWxCUVVrc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJRenRuUWtGRGRrTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdaMEpCUTNwQ0xFOUJRVThzUTBGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0WlFVTnlRaXhEUVVGRExFTkJRVVU3YVVKQlEwWXNTMEZCU3l4RFFVRkZMRU5CUVVNc1RVRkJWeXhGUVVGSExFVkJRVVU3WjBKQlJYaENMRGhFUVVFNFJEdFpRVU12UkN4RFFVRkRMRU5CUVVVc1EwRkJRenRUUVVWS08wbEJRMFlzUTBGQlF6dEpRVWROTEZsQlFWazdVVUZGYkVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlEzUkNPMWxCUTBNc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlJTeHJSRUZCYTBRc1EwRkJSU3hEUVVGRE8xTkJRM1JGTzFGQlJVUXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVUZGTEhGQ1FVRnhRaXhEUVVGRkxFTkJRVU03VVVGRmFrUXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEVOQlFVTTdVVUZGZWtJc1owVkJRV2RGTzFGQlEyaEZMRWxCUVVrc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eEZRVU5zUkR0WlFVTkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETERaQ1FVRTJRaXhEUVVGUkxHMUNRVUZ0UWl4RFFVRkRMRmxCUVZrc1JVRkJSU3hMUVVGTExFTkJRVVVzUTBGQlF6dFRRVU5vUnp0SlFVTkdMRU5CUVVNN1NVRkZUeXhwUWtGQmFVSTdVVUZGZUVJc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZWtJc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVNdlFpeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNTeERRVUZETzBsQlEycERMRU5CUVVNN1NVRkZUU3hOUVVGTk8xRkJSVm9zVDBGQlR5eHZSRUZCUXl3MlJFRkJZeXhKUVVGRExFOUJRVThzUlVGQlJ5eHhRa0ZCY1VJc1JVRkJSeXhIUVVGSExFVkJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZEZEVVc1UwRkJVeXhGUVVGSExFbEJRVWtzUTBGQlF5eFRRVUZUTEVkQlFVazdTVUZEYUVNc1EwRkJRenREUVVORU8wRkJja1JCTzBsQlJFTXNiVVJCUVVrN05rTkJjVUpLSWl3aVptbHNaU0k2SWk0dmMzSmpMMkZ3YVY5dFpYTnpZV2RsWW05NExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkJjR2xKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TDJGd2FWOXBiblJsY21aaFkyVW5PMXh5WEc1cGJYQnZjblFnZXlCaWFXNWtJSDBnWm5KdmJTQW5ZbWx1WkMxa1pXTnZjbUYwYjNJbk8xeHlYRzVjY2x4dVpYaHdiM0owSUdOdmJuTjBJR3RmVFdWemMyRm5aV0p2ZUVsdWRHVnlabUZqWlNBOUlGd2liV1Z6YzJGblpXSnZlRUF4WENJN1hISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQk5aWE56WVdkbFltOTRSWFpsYm5SVWVYQmxYSEpjYm50Y2NseHVYSFJUYUc5M1VISnZiWEIwSUQwZ1hDSnphRzkzWDNCeWIyMXdkRndpTEZ4eVhHNWNkRlZ6WlhKU1pYTndiMjV6WlNBOUlGd2lkWE5sY2w5eVpYTndiMjV6WlZ3aUxGeHlYRzVjZEVOaGJtTmxiRkJ5YjIxd2RDQTlJRndpWTJGdVkyVnNYM0J5YjIxd2RGd2lMRnh5WEc1OVhISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5aWE56WVdkbFltOTRUM0IwYVc5dVhISmNibnRjY2x4dVhIUnVZVzFsT2lCemRISnBibWM3SUM4dklIVnpaV1FnYVc1MFpYSnVZV3hzZVM0Z1RtOTBJR3h2WTJGc2FYcGxaRnh5WEc1Y2RIUmxlSFE2SUhOMGNtbHVaenNnTHk4Z1RHOWpZV3hwZW1Wa0lHRnVaQ0JrYVhOd2JHRjVaV1FnZEc4Z2RYTmxjbHh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZCeWIyMXdkRnh5WEc1N1hISmNibHgwWTJGd2RHbHZiam9nYzNSeWFXNW5PMXh5WEc1Y2RHOXdkR2x2Ym5NNklFMWxjM05oWjJWaWIzaFBjSFJwYjI1YlhUdGNjbHh1ZlZ4eVhHNWNjbHh1THlvcUlFTmhkWE5sY3lCaElHeHBibVVnZEc4Z1lYQndaV0Z5SUdaeWIyMGdkR2hsSUhSeVlXNXpabTl5YlNCdlppQjBhR2x6SUc1dlpHVW5jeUJ3WVhKbGJuUWdkRzhnZEdobElGeHlYRzRnS2lCemNHVmphV1pwWldRZ1pXNWtJSEJ2YVc1MExpQXFMMXh5WEc1bGVIQnZjblFnWTJ4aGMzTWdRWFpOWlhOellXZGxZbTk0SUdWNGRHVnVaSE1nVW1WaFkzUXVRMjl0Y0c5dVpXNTBQQ0I3ZlN3Z2UzMGdQbHh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JoY0drZ1BTQlNaV0ZqZEM1amNtVmhkR1ZTWldZOFFYWkJjR2xKYm5SbGNtWmhZMlUrS0NrN1hISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ1lXTjBhWFpsVUhKdmJYQjBPaUJRY205dGNIUWdQU0J1ZFd4c08xeHlYRzVjZEhCeWFYWmhkR1VnWVdOMGFYWmxVSEp2YlhCMFVtVnFaV04wT2lBb2NtVmhjMjl1T2lCaGJua3BQVDUyYjJsa0lEMGdiblZzYkR0Y2NseHVYSFJ3Y21sMllYUmxJR0ZqZEdsMlpWQnliMjF3ZEZKbGMyOXNkbVU2SUNnZ2NtVnpjRzl1YzJVNklITjBjbWx1WnlBcFBUNTJiMmxrSUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwY0hWaWJHbGpJSE5vYjNkUWNtOXRjSFFvSUdOaGNIUnBiMjQ2SUhOMGNtbHVaeXdnYjNCMGFXOXVjem9nVFdWemMyRm5aV0p2ZUU5d2RHbHZibHRkSUNrZ1hISmNibHgwZTF4eVhHNWNkRngwYVdZb0lIUm9hWE11WVdOMGFYWmxVSEp2YlhCMElDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDQmNJazl1YkhrZ2IyNWxJSEJ5YjIxd2RDQmhiR3h2ZDJWa0lHRjBJR0VnZEdsdFpTQndaWElnUVhaTlpYTnpZV2RsWW05NFhDSWdLVHRjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVOGMzUnlhVzVuUGlnZ0tDQnlaWE52YkhabExDQnlaV3BsWTNRZ0tTQTlQbHh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxtRmpkR2wyWlZCeWIyMXdkQ0E5SUZ4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBZMkZ3ZEdsdmJpeGNjbHh1WEhSY2RGeDBYSFJ2Y0hScGIyNXpMRnh5WEc1Y2RGeDBYSFI5TzF4eVhHNWNkRngwWEhSMGFHbHpMbUZqZEdsMlpWQnliMjF3ZEZKbGFtVmpkQ0E5SUhKbGFtVmpkRHRjY2x4dVhIUmNkRngwZEdocGN5NWhZM1JwZG1WUWNtOXRjSFJTWlhOdmJIWmxJRDBnY21WemIyeDJaVHRjY2x4dVhISmNibHgwWEhSY2RHbG1LQ0IwYUdsekxtRndhUzVqZFhKeVpXNTBJQ1ltSUhSb2FYTXVZWEJwTG1OMWNuSmxiblF1WTI5dWJtVmpkR1ZrSUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lsTmxibVJwYm1jZ2JXSnZlQ0J5WlhGMVpYTjBYQ0lnS1R0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG1Gd2FTNWpkWEp5Wlc1MExuTmxibVJTWlhGMVpYTjBRVzVrVjJGcGRFWnZjbEpsYzNCdmJuTmxQSE4wY21sdVp6NG9JRTFsYzNOaFoyVmliM2hGZG1WdWRGUjVjR1V1VTJodmQxQnliMjF3ZEN3Z2RISjFaU3hjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11WVdOMGFYWmxVSEp2YlhCMElDbGNjbHh1WEhSY2RGeDBYSFF1ZEdobGJpZ2dLQ0J5WlhOd2IyNXpaVG9nYzNSeWFXNW5JQ2tnUFQ1Y2NseHVYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSMGFHbHpMbU5zWldGeVFXTjBhWFpsVUhKdmJYQjBLQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUnlaWE52YkhabEtDQnlaWE53YjI1elpTQXBPMXh5WEc1Y2RGeDBYSFJjZEgwZ0tWeHlYRzVjZEZ4MFhIUmNkQzVqWVhSamFDZ2dLSEpsWVhOdmJqb2dZVzU1SUNrZ1BUNWNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUXZMeUJLZFhOMElHUnliM0FnWlhKeWIzSnpJRzl1SUhSb1pTQm1iRzl2Y2k0Z1YyVW5iR3dnZEhKNUlHRm5ZV2x1SUc5dUlISmxZMjl1Ym1WamRGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZTbGNjbHh1WEhSOVhISmNibHh5WEc1Y2RFQmlhVzVrWEhKY2JseDBjSEpwZG1GMFpTQnZia052Ym01bFkzUW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RHTnZibk52YkdVdWJHOW5LQ0JjSW1OdmJtNWxZM1JsWkNCMGJ5QnRZbTk0WENJZ0tUdGNjbHh1WEhSY2RHbG1LQ0IwYUdsekxtRmpkR2wyWlZCeWIyMXdkQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJbk5sYm1ScGJtY2djRzl6ZEhCdmJtVmtJRzFpYjNnZ2NtVnhkV1Z6ZEZ3aUlDazdYSEpjYmx4MFhIUmNkSFJvYVhNdVlYQnBMbU4xY25KbGJuUXVjMlZ1WkZKbGNYVmxjM1JCYm1SWFlXbDBSbTl5VW1WemNHOXVjMlU4YzNSeWFXNW5QaWdnVFdWemMyRm5aV0p2ZUVWMlpXNTBWSGx3WlM1VGFHOTNVSEp2YlhCMExDQjBjblZsTEZ4eVhHNWNkRngwWEhSY2RIUm9hWE11WVdOMGFYWmxVSEp2YlhCMElDbGNjbHh1WEhSY2RGeDBMblJvWlc0b0lDZ2djbVZ6Y0c5dWMyVTZJSE4wY21sdVp5QXBJRDArWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnNaWFFnY21WemIyeDJaU0E5SUhSb2FYTXVZV04wYVhabFVISnZiWEIwVW1WemIyeDJaVHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbU5zWldGeVFXTjBhWFpsVUhKdmJYQjBLQ2s3WEhKY2JseDBYSFJjZEZ4MGNtVnpiMngyWlNnZ2NtVnpjRzl1YzJVZ0tUdGNjbHh1WEhSY2RGeDBmU0FwWEhKY2JseDBYSFJjZEM1allYUmphQ2dnS0hKbFlYTnZiam9nWVc1NUlDa2dQVDVjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RDOHZJRXAxYzNRZ1pISnZjQ0JsY25KdmNuTWdiMjRnZEdobElHWnNiMjl5TGlCWFpTZHNiQ0IwY25rZ1lXZGhhVzRnYjI0Z2NtVmpiMjV1WldOMFhISmNibHgwWEhSY2RIMGdLVHRjY2x4dVhISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhKY2JseDBjSFZpYkdsaklHTmhibU5sYkZCeWIyMXdkQ2dwSUZ4eVhHNWNkSHRjY2x4dVhIUmNkR2xtS0NBaGRHaHBjeTVoWTNScGRtVlFjbTl0Y0hRZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0lGd2lRWFIwWlcxd2RDQjBieUJqWVc1alpXd2dkMmhsYmlCMGFHVnlaU0JwY3lCdWJ5QmhZM1JwZG1VZ2NISnZiWEIwWENJZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhKY2JseDBYSFIwYUdsekxtRmpkR2wyWlZCeWIyMXdkRkpsYW1WamRDZ2dYQ0pEWVc1alpXeHNaV1FnWW5rZ1kyRnNiR1Z5WENJZ0tUdGNjbHh1WEhKY2JseDBYSFIwYUdsekxtTnNaV0Z5UVdOMGFYWmxVSEp2YlhCMEtDazdYSEpjYmx4eVhHNWNkRngwTHk4Z2FXWWdkR2hsY21VbmN5QnVieUJoWTNScGRtVWdhVzUwWlhKbVlXTmxJSFJvWlhKbEozTWdibThnYjNSb1pYSWdaVzVrSUhSdklHTmhibU5sYkZ4eVhHNWNkRngwYVdZb0lIUm9hWE11WVhCcExtTjFjbkpsYm5RZ0ppWWdkR2hwY3k1aGNHa3VZM1Z5Y21WdWRDNWpiMjV1WldOMFpXUWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxtRndhUzVqZFhKeVpXNTBMbk5sYm1SU1pYRjFaWE4wUVc1a1YyRnBkRVp2Y2xKbGMzQnZibk5sUEhadmFXUStLQ0JOWlhOellXZGxZbTk0UlhabGJuUlVlWEJsTGtOaGJtTmxiRkJ5YjIxd2RDd2dabUZzYzJVZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ1kyeGxZWEpCWTNScGRtVlFjbTl0Y0hRb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVZV04wYVhabFVISnZiWEIwSUQwZ2JuVnNiRHRjY2x4dVhIUmNkSFJvYVhNdVlXTjBhWFpsVUhKdmJYQjBVbVZxWldOMElEMGdiblZzYkR0Y2NseHVYSFJjZEhSb2FYTXVZV04wYVhabFVISnZiWEIwVW1WemIyeDJaU0E5SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdQRUYyUVhCcFNXNTBaWEptWVdObElHRndhVTVoYldVOWV5QnJYMDFsYzNOaFoyVmliM2hKYm5SbGNtWmhZMlVnZlNCeVpXWTlleUIwYUdsekxtRndhU0I5WEhKY2JseDBYSFJjZEc5dVEyOXVibVZqZEQxN0lIUm9hWE11YjI1RGIyNXVaV04wSUgwdlBseHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2FwaV9tZXNzYWdlYm94LnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvY29tcG9uZW50X21vdmVhYmxlLnRzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9jb21wb25lbnRfbW92ZWFibGUudHMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IE1vdmVhYmxlQ29tcG9uZW50U3RhdGUsIENvbnRhaW5lclJlcXVlc3RUeXBlLCBHcmFiUmVxdWVzdFR5cGUsIEdyYWJQb3NlLCBNb3ZlYWJsZUNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTW92ZWFibGVDb21wb25lbnRTdGF0ZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ29udGFpbmVyUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIENvbnRhaW5lclJlcXVlc3RUeXBlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHcmFiUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEdyYWJSZXF1ZXN0VHlwZTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiR3JhYlBvc2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIEdyYWJQb3NlOyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTW92ZWFibGVDb21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG52YXIgTW92ZWFibGVDb21wb25lbnRTdGF0ZTtcXHJcXG4oZnVuY3Rpb24gKE1vdmVhYmxlQ29tcG9uZW50U3RhdGUpIHtcXHJcXG4gICAgTW92ZWFibGVDb21wb25lbnRTdGF0ZVtNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW1xcXCJJZGxlXFxcIl0gPSAwXSA9IFxcXCJJZGxlXFxcIjtcXHJcXG4gICAgTW92ZWFibGVDb21wb25lbnRTdGF0ZVtNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW1xcXCJJbkNvbnRhaW5lclxcXCJdID0gMV0gPSBcXFwiSW5Db250YWluZXJcXFwiO1xcclxcbiAgICBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW01vdmVhYmxlQ29tcG9uZW50U3RhdGVbXFxcIkdyYWJiZXJOZWFyYnlcXFwiXSA9IDJdID0gXFxcIkdyYWJiZXJOZWFyYnlcXFwiO1xcclxcbiAgICBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW01vdmVhYmxlQ29tcG9uZW50U3RhdGVbXFxcIkdyYWJiZWRcXFwiXSA9IDNdID0gXFxcIkdyYWJiZWRcXFwiO1xcclxcbiAgICBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlW01vdmVhYmxlQ29tcG9uZW50U3RhdGVbXFxcIk1lbnVcXFwiXSA9IDRdID0gXFxcIk1lbnVcXFwiO1xcclxcbn0pKE1vdmVhYmxlQ29tcG9uZW50U3RhdGUgfHwgKE1vdmVhYmxlQ29tcG9uZW50U3RhdGUgPSB7fSkpO1xcclxcbnZhciBDb250YWluZXJSZXF1ZXN0VHlwZTtcXHJcXG4oZnVuY3Rpb24gKENvbnRhaW5lclJlcXVlc3RUeXBlKSB7XFxyXFxuICAgIENvbnRhaW5lclJlcXVlc3RUeXBlW1xcXCJSZWRyb3BcXFwiXSA9IFxcXCJyZWRyb3BcXFwiO1xcclxcbiAgICBDb250YWluZXJSZXF1ZXN0VHlwZVtcXFwiUmVkcm9wQ29tcGxldGVcXFwiXSA9IFxcXCJyZWRyb3BfY29tcGxldGVcXFwiO1xcclxcbn0pKENvbnRhaW5lclJlcXVlc3RUeXBlIHx8IChDb250YWluZXJSZXF1ZXN0VHlwZSA9IHt9KSk7XFxyXFxudmFyIEdyYWJSZXF1ZXN0VHlwZTtcXHJcXG4oZnVuY3Rpb24gKEdyYWJSZXF1ZXN0VHlwZSkge1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIkRyb3BZb3Vyc2VsZlxcXCJdID0gXFxcImRyb3BfeW91cnNlbGZcXFwiO1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIkRyb3BDb21wbGV0ZVxcXCJdID0gXFxcImRyb3BfY29tcGxldGVcXFwiO1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIlNldEdyYWJiZXJcXFwiXSA9IFxcXCJzZXRfZ3JhYmJlclxcXCI7XFxyXFxuICAgIEdyYWJSZXF1ZXN0VHlwZVtcXFwiUmVsZWFzZU1lXFxcIl0gPSBcXFwicmVsZWFzZV9tZVxcXCI7XFxyXFxuICAgIEdyYWJSZXF1ZXN0VHlwZVtcXFwiUmVxdWVzdFJlZ3JhYlxcXCJdID0gXFxcInJlcXVlc3RfcmVncmFiXFxcIjtcXHJcXG4gICAgR3JhYlJlcXVlc3RUeXBlW1xcXCJPdmVycmlkZVRyYW5zZm9ybVxcXCJdID0gXFxcIm92ZXJyaWRlX3RyYW5zZm9ybVxcXCI7XFxyXFxuICAgIEdyYWJSZXF1ZXN0VHlwZVtcXFwiU2hvd01lbnVcXFwiXSA9IFxcXCJzaG93X21lbnVcXFwiO1xcclxcbiAgICBHcmFiUmVxdWVzdFR5cGVbXFxcIkhpZGVNZW51XFxcIl0gPSBcXFwiaGlkZV9tZW51XFxcIjtcXHJcXG59KShHcmFiUmVxdWVzdFR5cGUgfHwgKEdyYWJSZXF1ZXN0VHlwZSA9IHt9KSk7XFxyXFxuLyoqIERlZmluZXMgdGhlIHBvc2UgZnJvbSB0aGUgZ3JhYmJlciB0byB0aGUgZ3JhYmJhYmxlLCBhcyB3ZWxsIGFzIHRoZSBwb3NlIG9mIHRoZSBoYW5kIHdoZW4gdGhlIGdyYWJcXHJcXG4gKiBvY2N1cnMuXFxyXFxuICovXFxyXFxudmFyIEdyYWJQb3NlO1xcclxcbihmdW5jdGlvbiAoR3JhYlBvc2UpIHtcXHJcXG4gICAgLyoqIFVzZSB0aGUgbm9ybWFsIGFuaW1hdGVkIGhhbmQgd2hpbGUgZ3JhYmJpbmcgVXNlIHRoZSByZWxhdGl2ZSBwb3NlIGJldHdlZW4gdGhlIGdyYWJiZXIgYW5kIHRoZVxcclxcbiAgICAgKiBncmFiYmFibGUgd2hlbiB0aGUgZ3JhYiBzdGFydGVkIHdoZW4gcG9zaXRpb25pbmcgdGhlIGdyYWJiYWJsZS5cXHJcXG4gICAgICovXFxyXFxuICAgIEdyYWJQb3NlW1xcXCJOb25lXFxcIl0gPSBcXFwibm9uZVxcXCI7XFxyXFxuICAgIC8qKiBHcmFiIHdpdGggYSBwZW4gZ3JpcC4gVGhlIGdyYWIgcG9pbnQgaXMgdGhlIHRpcCBvZiB0aGUgcGVuLiAqL1xcclxcbiAgICBHcmFiUG9zZVtcXFwiUGVuXFxcIl0gPSBcXFwicGVuXFxcIjtcXHJcXG59KShHcmFiUG9zZSB8fCAoR3JhYlBvc2UgPSB7fSkpO1xcclxcbjtcXHJcXG5jbGFzcyBNb3ZlYWJsZUNvbXBvbmVudCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGNhbGxiYWNrLCB1c2VJbml0aWFsUGFyZW50LCBjYW5Ecm9wSW50b0NvbnRhaW5lcnMsIGZvcmNlZEdyYWJiZXJGcm9tR3JhYmJhYmxlKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMub3duZXJDYWxsYmFjayA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZUdyYWJzID0gbmV3IFNldCgpO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVDb250YWluZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5ncmFiYmVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMud2FzRXZlckRyb3BwZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMuZHJvcHBlZEludG9Jbml0aWFsUGFyZW50ID0gZmFsc2U7XFxyXFxuICAgICAgICB0aGlzLmluaXRpYWxJbnRlcmZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMud2FpdGluZ0ZvclJlZHJvcFRyYW5zZm9ybSA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLmNhbkRyb3BJbnRvQ29udGFpbmVycyA9IHRydWU7XFxyXFxuICAgICAgICB0aGlzLmZvcmNlZEdyYWJiZXJGcm9tR3JhYmJhYmxlID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuc2hvdWxkU2hvd01lbnUgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMuY2FuRHJvcEludG9Db250YWluZXJzID0gY2FuRHJvcEludG9Db250YWluZXJzICE9PSBudWxsICYmIGNhbkRyb3BJbnRvQ29udGFpbmVycyAhPT0gdm9pZCAwID8gY2FuRHJvcEludG9Db250YWluZXJzIDogdHJ1ZTtcXHJcXG4gICAgICAgIHRoaXMuZm9yY2VkR3JhYmJlckZyb21HcmFiYmFibGUgPSBmb3JjZWRHcmFiYmVyRnJvbUdyYWJiYWJsZTtcXHJcXG4gICAgICAgIHRoaXMub3duZXJDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICAgICAgaWYgKHVzZUluaXRpYWxQYXJlbnQpIHtcXHJcXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxJbnRlcmZhY2UgPSBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5pbml0aWFsSW50ZXJmYWNlcy5maW5kKChpaSkgPT4ge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gaWkuaWZhY2UgPT0gTW92ZWFibGVDb21wb25lbnQuY29udGFpbmVySW50ZXJmYWNlO1xcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHN0YXRpYyBnZXQgY29udGFpbmVySW50ZXJmYWNlKCkgeyByZXR1cm4gXFxcImFhcmR2YXJrLWNvbnRhaW5lckAxXFxcIjsgfVxcclxcbiAgICBzdGF0aWMgZ2V0IGdyYWJJbnRlcmZhY2UoKSB7IHJldHVybiBcXFwiYWFyZHZhcmstZ3JhYkAxXFxcIjsgfVxcclxcbiAgICB1cGRhdGVMaXN0ZW5lcigpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm93bmVyQ2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICAgICAgKF9iID0gdGhpcy5lbnRpdHlDYWxsYmFjaykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IG1lbnVHcmFiYmVySW50ZXJmYWNlKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgIT0gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5NZW51KVxcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgLy8gVE9ETzogdHJhY2sgbWVudSBwZXIgZ3JhYmJlclxcclxcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlR3JhYnMuc2l6ZSA9PSAwKVxcclxcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICAgICAgbGV0IG1lbnUgPSB0aGlzLmFjdGl2ZUdyYWJzLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcXHJcXG4gICAgICAgIHJldHVybiBtZW51O1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBtZW51R3JhYmJlcigpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLm1lbnVHcmFiYmVySW50ZXJmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgbWVudVNlbGZGcm9tR3JhYmJlcigpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAoX2EgPSB0aGlzLm1lbnVHcmFiYmVySW50ZXJmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VsZkZyb21QZWVyO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBzdGF0ZSgpIHtcXHJcXG4gICAgICAgIGlmICh0aGlzLmdyYWJiZXIpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5HcmFiYmVkO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgZWxzZSBpZiAodGhpcy5hY3RpdmVHcmFicy5zaXplID4gMCkge1xcclxcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZFNob3dNZW51KSB7XFxyXFxuICAgICAgICAgICAgICAgIHJldHVybiBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlLk1lbnU7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5HcmFiYmVyTmVhcmJ5O1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuYWN0aXZlQ29udGFpbmVyICYmIHRoaXMud2FzRXZlckRyb3BwZWQpIHtcXHJcXG4gICAgICAgICAgICByZXR1cm4gTW92ZWFibGVDb21wb25lbnRTdGF0ZS5JbkNvbnRhaW5lcjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBNb3ZlYWJsZUNvbXBvbmVudFN0YXRlLklkbGU7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgb25HcmFiU3RhcnQoYWN0aXZlR3JhYikge1xcclxcbiAgICAgICAgYWN0aXZlR3JhYi5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiQUNUSVZFIEdSQUIgRU5ERUQgZnJvbSBcXFwiLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGFjdGl2ZUdyYWIucGVlcikpO1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR3JhYnMuZGVsZXRlKGFjdGl2ZUdyYWIpO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgICAgICBpZiAodGhpcy5ncmFiYmVyID09IGFjdGl2ZUdyYWIpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcIlRoaXMgc2hvdWxkbid0IGhhdmUgaGFwcGVuZWQuIFNvbWVob3cgd2UgbG9zdCBvdXIgYWN0aXZlIGdyYWJiZXJcXFwiLCBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKHRoaXMuZ3JhYmJlci5wZWVyKSk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuZHJvcEludG9Db250YWluZXIodHJ1ZSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVHcmFiLm9uRXZlbnQoKGV2ZW50KSA9PiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jO1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJFdmVudCByZWNlaXZlZFxcXCIsIGV2ZW50LnR5cGUsIGV2ZW50KTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHcmFiUmVxdWVzdFR5cGUuU2V0R3JhYmJlcjpcXHJcXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmdyYWJiZXIgPT0gYWN0aXZlR3JhYikge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTZXRHcmFiYmVyIGZyb20gJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGFjdGl2ZUdyYWIucGVlcil9LCB3aGljaCB3YXMgYWxyZWFkeSBvdXIgZ3JhYmJlcmApO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlbGVhc2UgPSB7IHR5cGU6IEdyYWJSZXF1ZXN0VHlwZS5SZWxlYXNlTWUgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAoX2EgPSB0aGlzLmdyYWJiZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQocmVsZWFzZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmFiYmVyID0gYWN0aXZlR3JhYjtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JjZWRHcmFiYmVyRnJvbUdyYWJiYWJsZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb3ZlcnJpZGVUcmFuc2Zvcm0gPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBHcmFiUmVxdWVzdFR5cGUuT3ZlcnJpZGVUcmFuc2Zvcm0sXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmFiYmVyRnJvbUdyYWJiYWJsZTogdGhpcy5mb3JjZWRHcmFiYmVyRnJvbUdyYWJiYWJsZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmFiYmVyLnNlbmRFdmVudChvdmVycmlkZVRyYW5zZm9ybSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYiA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Iuc2VuZEV2ZW50KHsgc3RhdGU6IFxcXCJNb3ZpbmdcXFwiIH0pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYyA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MudW5sb2NrKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImFjdGl2ZUNvbnRhaW5lci51bmxvY2soKVxcXCJcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAodGhpcy5hY3RpdmVDb250YWluZXIgPyBcXFwiXFxcIiA6IFxcXCJOTyBDT05UQUlORVJcXFwiKSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgR3JhYlJlcXVlc3RUeXBlLkRyb3BZb3Vyc2VsZjpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMuZHJvcEludG9Db250YWluZXIodHJ1ZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVHcmFiLnNlbmRFdmVudCh7IHR5cGU6IEdyYWJSZXF1ZXN0VHlwZS5Ecm9wQ29tcGxldGUgfSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBHcmFiUmVxdWVzdFR5cGUuU2hvd01lbnU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3VsZFNob3dNZW51ID0gdHJ1ZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIEdyYWJSZXF1ZXN0VHlwZS5IaWRlTWVudTpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvdWxkU2hvd01lbnUgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlR3JhYnMuYWRkKGFjdGl2ZUdyYWIpO1xcclxcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICB9XFxyXFxuICAgIGRyb3BJbnRvQ3VycmVudENvbnRhaW5lcigpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHlpZWxkIHRoaXMuZHJvcEludG9Db250YWluZXIodHJ1ZSk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBkcm9wSW50b0NvbnRhaW5lcihyZXF1ZXN0TG9jaywgbW92ZWFibGVUb1JlcGxhY2UsIG9sZE1vdmVhYmxlRnJvbU5ld01vdmVhYmxlKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgaWYgKHJlcXVlc3RMb2NrKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJiZWZvcmUgbG9ja1xcXCIpO1xcclxcbiAgICAgICAgICAgICAgICB5aWVsZCAoKF9hID0gdGhpcy5hY3RpdmVDb250YWluZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5sb2NrKCkpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiYmVmb3JlIHNlbmRFdmVudFxcXCIpO1xcclxcbiAgICAgICAgICAgIHlpZWxkICgoX2IgPSB0aGlzLmFjdGl2ZUNvbnRhaW5lcikgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNlbmRFdmVudCh7IHN0YXRlOiBcXFwiUmVzdGluZ1xcXCIsIG1vdmVhYmxlVG9SZXBsYWNlLCBvbGRNb3ZlYWJsZUZyb21OZXdNb3ZlYWJsZSB9KSk7XFxyXFxuICAgICAgICAgICAgY29uc29sZS5sb2coXFxcImFmdGVyIHNlbmRFdmVudFxcXCIpO1xcclxcbiAgICAgICAgICAgIHRoaXMud2FzRXZlckRyb3BwZWQgPSB0cnVlO1xcclxcbiAgICAgICAgICAgIHRoaXMuZ3JhYmJlciA9IG51bGw7XFxyXFxuICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgdHJpZ2dlclJlZ3JhYihyZXBsYWNlbWVudE1vdmVhYmxlLCBvbGRNb3ZlYWJsZUZyb21OZXdNb3ZlYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGUgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogR3JhYlJlcXVlc3RUeXBlLlJlcXVlc3RSZWdyYWIsXFxyXFxuICAgICAgICAgICAgbmV3TW92ZWFibGU6IHJlcGxhY2VtZW50TW92ZWFibGUsXFxyXFxuICAgICAgICAgICAgb2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGUsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5ncmFiYmVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KGUpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uQ29udGFpbmVyU3RhcnQoYWN0aXZlQ29udGFpbmVyKSB7XFxyXFxuICAgICAgICBhY3RpdmVDb250YWluZXIub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVDb250YWluZXIgPSBudWxsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgQ29udGFpbmVyUmVxdWVzdFR5cGUuUmVkcm9wOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBSZWRyb3AgcmVxdWVzdCB0byByZXBsYWNlICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShldmVudC5tb3ZlYWJsZVRvUmVwbGFjZSl9YCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wID0gZXZlbnQubW92ZWFibGVUb1JlcGxhY2U7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wVHJhbnNmb3JtID0gZXZlbnQub2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ29udGFpbmVyLnJlbG9jayhldmVudC5uZXdDb250YWluZXIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgQ29udGFpbmVyUmVxdWVzdFR5cGUuUmVkcm9wQ29tcGxldGU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ29udGFpbmVyLnVubG9jaygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2FzRXZlckRyb3BwZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RlbmVyKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlQ29udGFpbmVyID0gYWN0aXZlQ29udGFpbmVyO1xcclxcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbEludGVyZmFjZSAmJiAhdGhpcy5kcm9wcGVkSW50b0luaXRpYWxQYXJlbnRcXHJcXG4gICAgICAgICAgICAmJiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkcnNNYXRjaFxcXCJdKSh0aGlzLmluaXRpYWxJbnRlcmZhY2UucmVjZWl2ZXIsIGFjdGl2ZUNvbnRhaW5lci5wZWVyKSkge1xcclxcbiAgICAgICAgICAgIC8vIGRvbid0IG5lZWQgdG8gbG9jayBiZWNhdXNlIHRoZSBpbml0aWFsIGxvY2sgdG9vayBjYXJlIG9mIHRoYXQgZm9yIHVzXFxyXFxuICAgICAgICAgICAgdGhpcy5kcm9wSW50b0NvbnRhaW5lcihmYWxzZSk7XFxyXFxuICAgICAgICAgICAgdGhpcy5kcm9wcGVkSW50b0luaXRpYWxQYXJlbnQgPSB0cnVlO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMud2FpdGluZ0ZvclJlZHJvcCkge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBnb3QgbmV3IGNvbnRhaW5lciAke09iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoYWN0aXZlQ29udGFpbmVyLnBlZXIpfSB3aGlsZSB3YWl0aW5nIGZvciByZWRyb3BgKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmRyb3BJbnRvQ29udGFpbmVyKGZhbHNlLCB0aGlzLndhaXRpbmdGb3JSZWRyb3AsIHRoaXMud2FpdGluZ0ZvclJlZHJvcFRyYW5zZm9ybSk7XFxyXFxuICAgICAgICAgICAgdGhpcy53YWl0aW5nRm9yUmVkcm9wID0gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXRzKCkge1xcclxcbiAgICAgICAgaWYgKHRoaXMuY2FuRHJvcEludG9Db250YWluZXJzKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIFtcXHJcXG4gICAgICAgICAgICAgICAgeyBpZmFjZTogTW92ZWFibGVDb21wb25lbnQuY29udGFpbmVySW50ZXJmYWNlLCBwcm9jZXNzb3I6IHRoaXMub25Db250YWluZXJTdGFydCB9XFxyXFxuICAgICAgICAgICAgXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIHJldHVybiBbXTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcmVjZWl2ZXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW3sgaWZhY2U6IFxcXCJhYXJkdmFyay1ncmFiQDFcXFwiLCBwcm9jZXNzb3I6IHRoaXMub25HcmFiU3RhcnQgfV07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHBhcmVudCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGlmICh0aGlzLmdyYWJiZXIpIHtcXHJcXG4gICAgICAgICAgICAvLyBpZiB3ZSdyZSBjdXJyZW50bHkgZ3JhYmJlZCwgdGhhdCdzIG91ciBwYXJlbnRcXHJcXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5ncmFiYmVyLnBlZXI7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICh0aGlzLndhc0V2ZXJEcm9wcGVkKSB7XFxyXFxuICAgICAgICAgICAgLy8gaWYgd2UndmUgZXZlciBiZWVuIGRyb3BwZWQgaW50byBhIGNvbnRhaW5lcixcXHJcXG4gICAgICAgICAgICAvLyB0aGF0IGNhbiBiZSBvdXIgcGFyZW50XFxyXFxuICAgICAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSwgd2UgaGF2ZSBubyBwYXJlbnQgYW5kIHNob3VsZCBvYmV5IHdoYXRldmVyXFxyXFxuICAgICAgICAgICAgLy8gdGhlIHNjZW5lIGdyYXBoIHByb3ZpZGVzIGFzIG91ciB0cmFuc2Zvcm1cXHJcXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlTG9ja3MoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5pbml0aWFsSW50ZXJmYWNlKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIChbXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbEludGVyZmFjZVxcclxcbiAgICAgICAgICAgIF0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIGdldCB3YW50c1RyYW5zZm9ybXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVzZXQoKSB7XFxyXFxuICAgICAgICB2YXIgX2EsIF9iO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5hY3RpdmVDb250YWluZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS51bmxvY2soKTtcXHJcXG4gICAgICAgIChfYiA9IHRoaXMuYWN0aXZlQ29udGFpbmVyKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Iuc2VuZEV2ZW50KHsgc3RhdGU6IFxcXCJNb3ZpbmdcXFwiIH0pO1xcclxcbiAgICAgICAgdGhpcy53YXNFdmVyRHJvcHBlZCA9IGZhbHNlO1xcclxcbiAgICAgICAgdGhpcy5ncmFiYmVyID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBNb3ZlYWJsZUNvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbkdyYWJTdGFydFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBNb3ZlYWJsZUNvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbkNvbnRhaW5lclN0YXJ0XFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlqYjIxd2IyNWxiblJmYlc5MlpXRmliR1V1ZEhNL1pUZGtOeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenM3TzBGQlFUWkRPMEZCUTI5SU8wRkJReTlJTzBGQlNXeERMRWxCUVZrc2MwSkJUMWc3UVVGUVJDeFhRVUZaTEhOQ1FVRnpRanRKUVVWcVF5eHRSVUZCU1R0SlFVTktMR2xHUVVGWE8wbEJRMWdzY1VaQlFXRTdTVUZEWWl4NVJVRkJUenRKUVVOUUxHMUZRVUZKTzBGQlEwd3NRMEZCUXl4RlFWQlhMSE5DUVVGelFpeExRVUYwUWl4elFrRkJjMElzVVVGUGFrTTdRVUZGUkN4SlFVRlpMRzlDUVVsWU8wRkJTa1FzVjBGQldTeHZRa0ZCYjBJN1NVRkZMMElzZVVOQlFXbENPMGxCUTJwQ0xEQkVRVUZyUXp0QlFVTnVReXhEUVVGRExFVkJTbGNzYjBKQlFXOUNMRXRCUVhCQ0xHOUNRVUZ2UWl4UlFVa3ZRanRCUVZWRUxFbEJRVmtzWlVGVldEdEJRVlpFTEZkQlFWa3NaVUZCWlR0SlFVVXhRaXhwUkVGQk9FSTdTVUZET1VJc2FVUkJRVGhDTzBsQlF6bENMRFpEUVVFd1FqdEpRVU14UWl3eVEwRkJkMEk3U1VGRGVFSXNiVVJCUVdkRE8wbEJRMmhETERKRVFVRjNRenRKUVVONFF5eDVRMEZCYzBJN1NVRkRkRUlzZVVOQlFYTkNPMEZCUTNaQ0xFTkJRVU1zUlVGV1Z5eGxRVUZsTEV0QlFXWXNaVUZCWlN4UlFWVXhRanRCUVVkRU96dEhRVVZITzBGQlEwZ3NTVUZCV1N4UlFWTllPMEZCVkVRc1YwRkJXU3hSUVVGUk8wbEJSVzVDT3p0UFFVVkhPMGxCUTBnc2VVSkJRV0U3U1VGRllpeHJSVUZCYTBVN1NVRkRiRVVzZFVKQlFWYzdRVUZEV2l4RFFVRkRMRVZCVkZjc1VVRkJVU3hMUVVGU0xGRkJRVkVzVVVGVGJrSTdRVUZCUVN4RFFVRkRPMEZCVjBzc1RVRkJUU3hwUWtGQmFVSTdTVUZ2UWpkQ0xGbEJRV0VzVVVGQmIwSXNSVUZCUlN4blFrRkJNRUlzUlVGQlJTeHhRa0ZCSzBJc1JVRkROMFlzTUVKQlFYVkVPMUZCYUVKb1JDeHRRa0ZCWXl4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVOc1F5eHJRa0ZCWVN4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVWcVF5eG5Ra0ZCVnl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGdFFpeERRVUZETzFGQlEzcERMRzlDUVVGbExFZEJRVzlDTEVsQlFVa3NRMEZCUXp0UlFVTjRReXhaUVVGUExFZEJRVzlDTEVsQlFVa3NRMEZCUXp0UlFVTm9ReXh0UWtGQll5eEhRVUZaTEV0QlFVc3NRMEZCUXp0UlFVTm9ReXcyUWtGQmQwSXNSMEZCV1N4TFFVRkxMRU5CUVVNN1VVRkRNVU1zY1VKQlFXZENMRWRCUVhkQ0xFbEJRVWtzUTBGQlF6dFJRVU0zUXl4eFFrRkJaMElzUjBGQlowSXNTVUZCU1N4RFFVRkRPMUZCUTNKRExEaENRVUY1UWl4SFFVRnZRaXhKUVVGSkxFTkJRVU03VVVGRGJFUXNNRUpCUVhGQ0xFZEJRVWNzU1VGQlNTeERRVUZETzFGQlF6ZENMQ3RDUVVFd1FpeEhRVUVyUWl4SlFVRkpMRU5CUVVNN1VVRkRPVVFzYlVKQlFXTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkxPVUlzU1VGQlNTeERRVUZETEhGQ1FVRnhRaXhIUVVGSExIRkNRVUZ4UWl4aFFVRnlRaXh4UWtGQmNVSXNZMEZCY2tJc2NVSkJRWEZDTEVkQlFVa3NTVUZCU1N4RFFVRkRPMUZCUXpORUxFbEJRVWtzUTBGQlF5d3dRa0ZCTUVJc1IwRkJSeXd3UWtGQk1FSXNRMEZCUXp0UlFVTTNSQ3hKUVVGSkxFTkJRVU1zWVVGQllTeEhRVUZITEZGQlFWRXNRMEZCUXp0UlFVTTVRaXhKUVVGSkxHZENRVUZuUWl4RlFVTndRanRaUVVORExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1IwRkJSeXg1UkVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVsQlFVa3NRMEZCUlN4RFFVRkZMRVZCUVhkQ0xFVkJRVWNzUlVGQlJUdG5Ra0ZGYkVjc1QwRkJUeXhGUVVGRkxFTkJRVU1zUzBGQlN5eEpRVUZKTEdsQ1FVRnBRaXhEUVVGRExHdENRVUZyUWl4RFFVRkRPMWxCUTNwRUxFTkJRVU1zUTBGQlJTeERRVUZETzFOQlEwbzdTVUZEUml4RFFVRkRPMGxCTDBKTkxFMUJRVTBzUzBGQlN5eHJRa0ZCYTBJc1MwRkJTeXhQUVVGUExITkNRVUZ6UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1JTeE5RVUZOTEV0QlFVc3NZVUZCWVN4TFFVRkxMRTlCUVU4c2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCWjBOMlJDeGpRVUZqT3p0UlFVVnlRaXhWUVVGSkxFTkJRVU1zWVVGQllTd3JRMEZCYkVJc1NVRkJTU3hGUVVGdFFqdFJRVU4yUWl4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRKUVVONlFpeERRVUZETzBsQlJVUXNTVUZCV1N4dlFrRkJiMEk3VVVGRkwwSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxITkNRVUZ6UWl4RFFVRkRMRWxCUVVrN1dVRkROVU1zVDBGQlR5eEpRVUZKTEVOQlFVTTdVVUZGWWl3clFrRkJLMEk3VVVGREwwSXNTVUZCU1N4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzU1VGQlNTeERRVUZETzFsQlF6ZENMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJSV0lzU1VGQlNTeEpRVUZKTEVkQlFXOUNMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRMjVGTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJJc1EwRkJRenRKUVVWRUxFbEJRVmNzVjBGQlZ6czdVVUZGY2tJc1lVRkJUeXhKUVVGSkxFTkJRVU1zYjBKQlFXOUNMREJEUVVGRkxFbEJRVWtzUTBGQlF6dEpRVU40UXl4RFFVRkRPMGxCUlVRc1NVRkJWeXh0UWtGQmJVSTdPMUZCUlRkQ0xHRkJRVThzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXd3UTBGQlJTeFpRVUZaTEVOQlFVTTdTVUZEYUVRc1EwRkJRenRKUVVWRUxFbEJRVmNzUzBGQlN6dFJRVVZtTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkRhRUk3V1VGRFF5eFBRVUZQTEhOQ1FVRnpRaXhEUVVGRExFOUJRVThzUTBGQlF6dFRRVU4wUXp0aFFVTkpMRWxCUVVrc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVkQlFVY3NRMEZCUXl4RlFVTnNRenRaUVVORExFbEJRVWtzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZEZGtJN1owSkJRME1zVDBGQlR5eHpRa0ZCYzBJc1EwRkJReXhKUVVGSkxFTkJRVU03WVVGRGJrTTdhVUpCUlVRN1owSkJRME1zVDBGQlR5eHpRa0ZCYzBJc1EwRkJReXhoUVVGaExFTkJRVU03WVVGRE5VTTdVMEZEUkR0aFFVTkpMRWxCUVVrc1NVRkJTU3hEUVVGRExHVkJRV1VzU1VGQlNTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVTndSRHRaUVVORExFOUJRVThzYzBKQlFYTkNMRU5CUVVNc1YwRkJWeXhEUVVGRE8xTkJRekZETzJGQlJVUTdXVUZEUXl4UFFVRlBMSE5DUVVGelFpeERRVUZETEVsQlFVa3NRMEZCUXp0VFFVTnVRenRKUVVOR0xFTkJRVU03U1VGSFR5eFhRVUZYTEVOQlFVVXNWVUZCTWtJN1VVRkZMME1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVN1dVRkZka0lzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUlN4NVFrRkJlVUlzUlVGQlJTeDNSa0ZCYjBJc1EwRkJSU3hWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZGTEVOQlFVVXNRMEZCUXp0WlFVTnNSaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUlN4VlFVRlZMRU5CUVVVc1EwRkJRenRaUVVOMFF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1dVRkZkRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4SlFVRkpMRlZCUVZVc1JVRkRPVUk3WjBKQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3hyUlVGQmEwVXNSVUZET1VVc2QwWkJRVzlDTEVOQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVVVzUTBGQlJTeERRVUZETzJkQ1FVTTNReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1NVRkJTU3hEUVVGRkxFTkJRVU03WVVGREwwSTdVVUZEUml4RFFVRkRMRU5CUVVVc1EwRkJRenRSUVVWS0xGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCVVN4TFFVRnJRaXhGUVVGSExFVkJRVVU3TzFsQlJXeEVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzWjBKQlFXZENMRVZCUVVVc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVVXNRMEZCUXp0WlFVTnVSQ3hSUVVGUkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlEyeENPMmRDUVVORExFdEJRVXNzWlVGQlpTeERRVUZETEZWQlFWVTdiMEpCUXpsQ0xFbEJRVWtzU1VGQlNTeERRVUZETEU5QlFVOHNTVUZCU1N4VlFVRlZMRVZCUXpsQ08zZENRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2JVSkJRVzFDTEhkR1FVRnZRaXhEUVVGRkxGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVY3NhVU5CUVdsRExFTkJRVVVzUTBGQlF6dHhRa0ZETlVjN2VVSkJSVVE3ZDBKQlEwTXNTVUZCU1N4UFFVRlBMRWRCUVdkQ0xFVkJRVVVzU1VGQlNTeEZRVUZGTEdWQlFXVXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenQzUWtGREwwUXNWVUZCU1N4RFFVRkRMRTlCUVU4c01FTkJRVVVzVTBGQlV5eERRVUZGTEU5QlFVOHNSVUZCUnp0M1FrRkZia01zU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4VlFVRlZMRU5CUVVNN2QwSkJSVEZDTEVsQlFVa3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeEZRVU51UXpzMFFrRkRReXhKUVVGSkxHbENRVUZwUWl4SFFVTnlRanRuUTBGRFF5eEpRVUZKTEVWQlFVVXNaVUZCWlN4RFFVRkRMR2xDUVVGcFFqdG5RMEZEZGtNc2IwSkJRVzlDTEVWQlFVVXNTVUZCU1N4RFFVRkRMREJDUVVFd1FqczJRa0ZEY2tRN05FSkJRMFFzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4VFFVRlRMRU5CUVVVc2FVSkJRV2xDTEVOQlFVVXNRMEZCUXp0NVFrRkROVU03ZDBKQlJVUXNWVUZCU1N4RFFVRkRMR1ZCUVdVc01FTkJRVVVzVTBGQlV5eERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hGUVVGSE8zZENRVU4yUkN4VlFVRkpMRU5CUVVNc1pVRkJaU3d3UTBGQlJTeE5RVUZOTEVkQlFVYzdkMEpCUXk5Q0xFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVVXNNRUpCUVRCQ096aENRVU53UXl4RFFVRkZMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1kwRkJZeXhEUVVGRkxFTkJRVVVzUTBGQlF6dDNRa0ZGY0VRc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzNGQ1FVTjBRanR2UWtGRFJDeE5RVUZOTzJkQ1FVVlFMRXRCUVVzc1pVRkJaU3hEUVVGRExGbEJRVms3YjBKQlEyaERMRTFCUVUwc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8yOUNRVU55UXl4VlFVRlZMRU5CUVVNc1UwRkJVeXhEUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEdWQlFXVXNRMEZCUXl4WlFVRlpMRVZCUVdsQ0xFTkJRVVVzUTBGQlF6dHZRa0ZET1VVc1RVRkJUVHRuUWtGRlVDeExRVUZMTEdWQlFXVXNRMEZCUXl4UlFVRlJPMjlDUVVNMVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJRenR2UWtGRE0wSXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8yOUNRVU4wUWl4TlFVRk5PMmRDUVVWUUxFdEJRVXNzWlVGQlpTeERRVUZETEZGQlFWRTdiMEpCUXpWQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NTMEZCU3l4RFFVRkRPMjlDUVVNMVFpeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN2IwSkJRM1JDTEUxQlFVMDdZVUZEVUR0UlFVTkdMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJSVW9zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVVc1ZVRkJWU3hEUVVGRkxFTkJRVU03VVVGRGJrTXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8wbEJRM1pDTEVOQlFVTTdTVUZGV1N4M1FrRkJkMEk3TzFsQlJYQkRMRTFCUVUwc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8xRkJRM1JETEVOQlFVTTdTMEZCUVR0SlFVVmhMR2xDUVVGcFFpeERRVUZGTEZkQlFXOUNMRVZCUVVVc2FVSkJRV2RETEVWQlEzUkdMREJDUVVFMFF6czdPMWxCUlRWRExFbEJRVWtzVjBGQlZ5eEZRVU5tTzJkQ1FVTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzWVVGQllTeERRVUZGTEVOQlFVTTdaMEpCUXpkQ0xHRkJRVTBzU1VGQlNTeERRVUZETEdWQlFXVXNNRU5CUVVVc1NVRkJTU3hIUVVGRkxFTkJRVU03WVVGRGJrTTdXVUZEUkN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHdENRVUZyUWl4RFFVRkZMRU5CUVVNN1dVRkRiRU1zWVVGQlRTeEpRVUZKTEVOQlFVTXNaVUZCWlN3d1EwRkJSU3hUUVVGVExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMR2xDUVVGcFFpeEZRVUZGTERCQ1FVRXdRaXhGUVVGRkxFVkJRVVVzUTBGQlF6dFpRVU0zUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxHbENRVUZwUWl4RFFVRkZMRU5CUVVNN1dVRkZha01zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRNMElzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRjRUlzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPenRMUVVOMFFqdEpRVVZOTEdGQlFXRXNRMEZCUlN4dFFrRkJhVU1zUlVGQlJTd3dRa0ZCTWtNN08xRkJSVzVITEVsQlFVa3NRMEZCUXl4SFFVTk1PMWxCUTBNc1NVRkJTU3hGUVVGRkxHVkJRV1VzUTBGQlF5eGhRVUZoTzFsQlEyNURMRmRCUVZjc1JVRkJSU3h0UWtGQmJVSTdXVUZEYUVNc01FSkJRVEJDTzFOQlF6RkNPMUZCUTBRc1ZVRkJTU3hEUVVGRExFOUJRVThzTUVOQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNc1JVRkJSenRKUVVNNVFpeERRVUZETzBsQlIwOHNaMEpCUVdkQ0xFTkJRVVVzWlVGQlowTTdVVUZGZWtRc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVTdXVUZGTlVJc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFGQlEzWkNMRU5CUVVNc1EwRkJSU3hEUVVGRE8xRkJSVW9zWlVGQlpTeERRVUZETEU5QlFVOHNRMEZCUlN4RFFVRkZMRXRCUVhWQ0xFVkJRVWNzUlVGQlJUdFpRVVYwUkN4UlFVRlJMRXRCUVVzc1EwRkJReXhKUVVGSkxFVkJRMnhDTzJkQ1FVTkRMRXRCUVVzc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0dlFrRkRhRU03ZDBKQlEwTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJSU3cyUWtGQk9FSXNkMFpCUVc5Q0xFTkJRVVVzUzBGQlN5eERRVUZETEdsQ1FVRnBRaXhEUVVGRkxFVkJRVVVzUTBGQlJTeERRVUZETzNkQ1FVTXZSaXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1MwRkJTeXhEUVVGRExHbENRVUZwUWl4RFFVRkRPM2RDUVVOb1JDeEpRVUZKTEVOQlFVTXNlVUpCUVhsQ0xFZEJRVWNzUzBGQlN5eERRVUZETERCQ1FVRXdRaXhEUVVGRE8zZENRVU5zUlN4bFFVRmxMRU5CUVVNc1RVRkJUU3hEUVVGRkxFdEJRVXNzUTBGQlF5eFpRVUZaTEVOQlFVVXNRMEZCUXp0eFFrRkROME03YjBKQlEwUXNUVUZCVFR0blFrRkZUaXhMUVVGTExHOUNRVUZ2UWl4RFFVRkRMR05CUVdNN2IwSkJRM2hETzNkQ1FVTkRMR1ZCUVdVc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dDNRa0ZEZWtJc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eExRVUZMTEVOQlFVTTdkMEpCUXpWQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0eFFrRkRkRUk3YjBKQlEwUXNUVUZCVFR0aFFVTk9PMUZCUTBZc1EwRkJReXhEUVVGRkxFTkJRVU03VVVGRlNpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMR1ZCUVdVc1EwRkJRenRSUVVOMlF5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1VVRkZkRUlzU1VGQlNTeEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNkMEpCUVhkQ08yVkJRM1pFTEhOR1FVRnJRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhSUVVGUkxFVkJRVVVzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUlN4RlFVTTVSVHRaUVVORExIVkZRVUYxUlR0WlFVTjJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUVVVc1MwRkJTeXhEUVVGRkxFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMSGRDUVVGM1FpeEhRVUZITEVsQlFVa3NRMEZCUXp0VFFVTnlRenRSUVVWRUxFbEJRVWtzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhGUVVONlFqdFpRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2NVSkJRWE5DTEhkR1FVRnZRaXhEUVVGRkxHVkJRV1VzUTBGQlF5eEpRVUZKTEVOQlFVY3NNa0pCUVRKQ0xFTkJRVVVzUTBGQlF6dFpRVU01Unl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSVUZCUlN4SlFVRkpMRU5CUVVNc2VVSkJRWGxDTEVOQlFVVXNRMEZCUXp0WlFVTjJSaXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1NVRkJTU3hEUVVGRE8xTkJRemRDTzBsQlEwWXNRMEZCUXp0SlFVVkVMRWxCUVZjc1UwRkJVenRSUVVWdVFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUlVGRE9VSTdXVUZEUXl4UFFVRlBPMmRDUVVOT0xFVkJRVVVzUzBGQlN5eEZRVUZGTEdsQ1FVRnBRaXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVN1lVRkRha1lzUTBGQlF6dFRRVU5HTzJGQlJVUTdXVUZEUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRUUVVOV08wbEJRMFlzUTBGQlF6dEpRVVZFTEVsQlFWY3NVVUZCVVR0UlFVVnNRaXhQUVVGUExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRM1JGTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN08xRkJSV2hDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1JVRkRhRUk3V1VGRFF5eG5SRUZCWjBRN1dVRkRhRVFzVDBGQlR5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJRenRUUVVONlFqdGhRVU5KTEVsQlFVa3NTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkROVUk3V1VGRFF5d3JRMEZCSzBNN1dVRkRMME1zZVVKQlFYbENPMWxCUTNwQ0xHRkJRVThzU1VGQlNTeERRVUZETEdWQlFXVXNNRU5CUVVVc1NVRkJTU3hEUVVGRE8xTkJRMnhETzJGQlJVUTdXVUZEUXl4M1JFRkJkMFE3V1VGRGVFUXNORU5CUVRSRE8xbEJRelZETEU5QlFVOHNTVUZCU1N4RFFVRkRPMU5CUTFvN1NVRkRSaXhEUVVGRE8wbEJSVVFzU1VGQlZ5eGpRVUZqTzFGQlJYaENMRWxCUVVrc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RlFVTjZRanRaUVVORExFOUJRVThzUTBGRFRqdG5Ra0ZEUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTzJGQlEzSkNMRU5CUVVVc1EwRkJRenRUUVVOTU8wbEJRMFlzUTBGQlF6dEpRVVZFTEVsQlFWY3NaVUZCWlR0UlFVVjZRaXhQUVVGUExFdEJRVXNzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZIVFN4TFFVRkxPenRSUVVWWUxGVkJRVWtzUTBGQlF5eGxRVUZsTERCRFFVRkZMRTFCUVUwc1IwRkJSenRSUVVNdlFpeFZRVUZKTEVOQlFVTXNaVUZCWlN3d1EwRkJSU3hUUVVGVExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVVUZCVVN4RlFVRkZMRVZCUVVjN1VVRkRka1FzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4TFFVRkxMRU5CUVVNN1VVRkROVUlzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRjRUlzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMGxCUTNaQ0xFTkJRVU03U1VGRlRTeFJRVUZSTEVOQlFVVXNVVUZCYjBJN1VVRkZjRU1zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRhRU1zUTBGQlF6dEpRVVZOTEUxQlFVMDdVVUZGV2l4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOaUxFTkJRVU03UTBGRFJEdEJRWGhQUVR0SlFVUkRMSEZFUVVGSk8yOUVRWGRGU2p0QlFXOURSRHRKUVVSRExIRkVRVUZKTzNsRVFXbEVTaUlzSW1acGJHVWlPaUl1TDNOeVl5OWpiMjF3YjI1bGJuUmZiVzkyWldGaWJHVXVkSE11YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJka2RoWkdkbGRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZaMkZrWjJWMEp6dGNjbHh1YVcxd2IzSjBJSHNnU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJzc0lFVnVaSEJ2YVc1MFFXUmtjaXdnWlc1a2NHOXBiblJCWkdSeWMwMWhkR05vTENCSmJuUmxjbVpoWTJWTWIyTnJVbVZ6ZFd4MExDQmxibVJ3YjJsdWRFRmtaSEpVYjFOMGNtbHVaeXdnUVhaT2IyUmxWSEpoYm5ObWIzSnRJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QkZiblJwZEhsRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyTnZiWEJ2YzJWa1gyVnVkR2wwZVNjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTd2dTVzUwWlhKbVlXTmxVSEp2Y0NCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmFXNTBaWEptWVdObFgyVnVkR2wwZVNjN1hISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQk5iM1psWVdKc1pVTnZiWEJ2Ym1WdWRGTjBZWFJsWEhKY2JudGNjbHh1WEhSSlpHeGxMRnh5WEc1Y2RFbHVRMjl1ZEdGcGJtVnlMRnh5WEc1Y2RFZHlZV0ppWlhKT1pXRnlZbmtzWEhKY2JseDBSM0poWW1KbFpDeGNjbHh1WEhSTlpXNTFMRnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQkRiMjUwWVdsdVpYSlNaWEYxWlhOMFZIbHdaVnh5WEc1N1hISmNibHgwVW1Wa2NtOXdJRDBnWENKeVpXUnliM0JjSWl4Y2NseHVYSFJTWldSeWIzQkRiMjF3YkdWMFpTQTlJRndpY21Wa2NtOXdYMk52YlhCc1pYUmxYQ0lzWEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1EyOXVkR0ZwYm1WeVVtVnhkV1Z6ZEZ4eVhHNTdYSEpjYmx4MGRIbHdaVG9nUTI5dWRHRnBibVZ5VW1WeGRXVnpkRlI1Y0dVN1hISmNibHgwYm1WM1EyOXVkR0ZwYm1WeVB6b2dSVzVrY0c5cGJuUkJaR1J5TzF4eVhHNWNkRzF2ZG1WaFlteGxWRzlTWlhCc1lXTmxQem9nUlc1a2NHOXBiblJCWkdSeU8xeHlYRzVjZEc5c1pFMXZkbVZoWW14bFJuSnZiVTVsZDAxdmRtVmhZbXhsUHpvZ1FYWk9iMlJsVkhKaGJuTm1iM0p0TzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JIY21GaVVtVnhkV1Z6ZEZSNWNHVmNjbHh1ZTF4eVhHNWNkRVJ5YjNCWmIzVnljMlZzWmlBOUlGd2laSEp2Y0Y5NWIzVnljMlZzWmx3aUxGeHlYRzVjZEVSeWIzQkRiMjF3YkdWMFpTQTlJRndpWkhKdmNGOWpiMjF3YkdWMFpWd2lMRnh5WEc1Y2RGTmxkRWR5WVdKaVpYSWdQU0JjSW5ObGRGOW5jbUZpWW1WeVhDSXNYSEpjYmx4MFVtVnNaV0Z6WlUxbElEMGdYQ0p5Wld4bFlYTmxYMjFsWENJc1hISmNibHgwVW1WeGRXVnpkRkpsWjNKaFlpQTlJRndpY21WeGRXVnpkRjl5WldkeVlXSmNJaXhjY2x4dVhIUlBkbVZ5Y21sa1pWUnlZVzV6Wm05eWJTQTlJRndpYjNabGNuSnBaR1ZmZEhKaGJuTm1iM0p0WENJc1hISmNibHgwVTJodmQwMWxiblVnUFNCY0luTm9iM2RmYldWdWRWd2lMRnh5WEc1Y2RFaHBaR1ZOWlc1MUlEMGdYQ0pvYVdSbFgyMWxiblZjSWl4Y2NseHVmVnh5WEc1Y2NseHVYSEpjYmk4cUtpQkVaV1pwYm1WeklIUm9aU0J3YjNObElHWnliMjBnZEdobElHZHlZV0ppWlhJZ2RHOGdkR2hsSUdkeVlXSmlZV0pzWlN3Z1lYTWdkMlZzYkNCaGN5QjBhR1VnY0c5elpTQnZaaUIwYUdVZ2FHRnVaQ0IzYUdWdUlIUm9aU0JuY21GaVhISmNiaUFxSUc5alkzVnljeTRnWEhKY2JpQXFMMXh5WEc1bGVIQnZjblFnWlc1MWJTQkhjbUZpVUc5elpWeHlYRzU3WEhKY2JseDBMeW9xSUZWelpTQjBhR1VnYm05eWJXRnNJR0Z1YVcxaGRHVmtJR2hoYm1RZ2QyaHBiR1VnWjNKaFltSnBibWNnVlhObElIUm9aU0J5Wld4aGRHbDJaU0J3YjNObElHSmxkSGRsWlc0Z2RHaGxJR2R5WVdKaVpYSWdZVzVrSUhSb1pWeHlYRzVjZENBcUlHZHlZV0ppWVdKc1pTQjNhR1Z1SUhSb1pTQm5jbUZpSUhOMFlYSjBaV1FnZDJobGJpQndiM05wZEdsdmJtbHVaeUIwYUdVZ1ozSmhZbUpoWW14bExseHlYRzVjZENBcUwxeHlYRzVjZEU1dmJtVWdQU0JjSW01dmJtVmNJaXhjY2x4dVhISmNibHgwTHlvcUlFZHlZV0lnZDJsMGFDQmhJSEJsYmlCbmNtbHdMaUJVYUdVZ1ozSmhZaUJ3YjJsdWRDQnBjeUIwYUdVZ2RHbHdJRzltSUhSb1pTQndaVzR1SUNvdlhISmNibHgwVUdWdUlEMGdYQ0p3Wlc1Y0lpeGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUjNKaFlsSmxjWFZsYzNSY2NseHVlMXh5WEc1Y2RIUjVjR1U2SUVkeVlXSlNaWEYxWlhOMFZIbHdaVHRjY2x4dVhIUnVaWGROYjNabFlXSnNaVDg2SUVWdVpIQnZhVzUwUVdSa2NqdGNjbHh1WEhSdmJHUk5iM1psWVdKc1pVWnliMjFPWlhkTmIzWmxZV0pzWlQ4NklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJuY21GaVltVnlSbkp2YlVkeVlXSmlZV0pzWlQ4NklFRjJUbTlrWlZSeVlXNXpabTl5YlNCOElFZHlZV0pRYjNObE8xeHlYRzU5WEhKY2JseHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBJR2x0Y0d4bGJXVnVkSE1nUlc1MGFYUjVRMjl0Y0c5dVpXNTBYSEpjYm50Y2NseHVYSFJ3ZFdKc2FXTWdjM1JoZEdsaklHZGxkQ0JqYjI1MFlXbHVaWEpKYm5SbGNtWmhZMlVvS1NCN0lISmxkSFZ5YmlCY0ltRmhjbVIyWVhKckxXTnZiblJoYVc1bGNrQXhYQ0k3SUgxY2NseHVYSFJ3ZFdKc2FXTWdjM1JoZEdsaklHZGxkQ0JuY21GaVNXNTBaWEptWVdObEtDa2dleUJ5WlhSMWNtNGdYQ0poWVhKa2RtRnlheTFuY21GaVFERmNJanNnZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdWdWRHbDBlVU5oYkd4aVlXTnJPaUFvS1NBOVBpQjJiMmxrSUQwZ2JuVnNiRHRjY2x4dVhIUndjbWwyWVhSbElHOTNibVZ5UTJGc2JHSmhZMnM2SUNncElEMCtJSFp2YVdRZ1BTQnVkV3hzTzF4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUdGamRHbDJaVWR5WVdKeklEMGdibVYzSUZObGREeEJZM1JwZG1WSmJuUmxjbVpoWTJVK0tDazdYSEpjYmx4MGNISnBkbUYwWlNCaFkzUnBkbVZEYjI1MFlXbHVaWEk2SUVGamRHbDJaVWx1ZEdWeVptRmpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCbmNtRmlZbVZ5T2lCQlkzUnBkbVZKYm5SbGNtWmhZMlVnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ2QyRnpSWFpsY2tSeWIzQndaV1E2SUdKdmIyeGxZVzRnUFNCbVlXeHpaVHRjY2x4dVhIUndjbWwyWVhSbElHUnliM0J3WldSSmJuUnZTVzVwZEdsaGJGQmhjbVZ1ZERvZ1ltOXZiR1ZoYmlBOUlHWmhiSE5sTzF4eVhHNWNkSEJ5YVhaaGRHVWdhVzVwZEdsaGJFbHVkR1Z5Wm1GalpUcEpibWwwYVdGc1NXNTBaWEptWVdObFRHOWpheUE5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCM1lXbDBhVzVuUm05eVVtVmtjbTl3T2tWdVpIQnZhVzUwUVdSa2NpQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0IzWVdsMGFXNW5SbTl5VW1Wa2NtOXdWSEpoYm5ObWIzSnRPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMGdQU0J1ZFd4c08xeHlYRzVjZEhCeWFYWmhkR1VnWTJGdVJISnZjRWx1ZEc5RGIyNTBZV2x1WlhKeklEMGdkSEoxWlR0Y2NseHVYSFJ3Y21sMllYUmxJR1p2Y21ObFpFZHlZV0ppWlhKR2NtOXRSM0poWW1KaFlteGxPaUJCZGs1dlpHVlVjbUZ1YzJadmNtMGdmQ0JIY21GaVVHOXpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCemFHOTFiR1JUYUc5M1RXVnVkU0E5SUdaaGJITmxPMXh5WEc1Y2NseHVYSFJqYjI1emRISjFZM1J2Y2lnZ1kyRnNiR0poWTJzNklDZ3BJRDArSUhadmFXUXNJSFZ6WlVsdWFYUnBZV3hRWVhKbGJuUS9PaUJpYjI5c1pXRnVMQ0JqWVc1RWNtOXdTVzUwYjBOdmJuUmhhVzVsY25NL09pQmliMjlzWldGdUxGeHlYRzVjZEZ4MFptOXlZMlZrUjNKaFltSmxja1p5YjIxSGNtRmlZbUZpYkdVL09pQkJkazV2WkdWVWNtRnVjMlp2Y20wZ2ZDQkhjbUZpVUc5elpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTVqWVc1RWNtOXdTVzUwYjBOdmJuUmhhVzVsY25NZ1BTQmpZVzVFY205d1NXNTBiME52Ym5SaGFXNWxjbk1nUHo4Z2RISjFaVHRjY2x4dVhIUmNkSFJvYVhNdVptOXlZMlZrUjNKaFltSmxja1p5YjIxSGNtRmlZbUZpYkdVZ1BTQm1iM0pqWldSSGNtRmlZbVZ5Um5KdmJVZHlZV0ppWVdKc1pUdGNjbHh1WEhSY2RIUm9hWE11YjNkdVpYSkRZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh5WEc1Y2RGeDBhV1lvSUhWelpVbHVhWFJwWVd4UVlYSmxiblFnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGFHbHpMbWx1YVhScFlXeEpiblJsY21aaFkyVWdQU0JCZGtkaFpHZGxkQzVwYm5OMFlXNWpaU2dwTG1sdWFYUnBZV3hKYm5SbGNtWmhZMlZ6TG1acGJtUW9JQ2dnYVdrNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJJQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSEpsZEhWeWJpQnBhUzVwWm1GalpTQTlQU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkQzVqYjI1MFlXbHVaWEpKYm5SbGNtWmhZMlU3WEhKY2JseDBYSFJjZEgwZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQnlhWFpoZEdVZ2RYQmtZWFJsVEdsemRHVnVaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWIzZHVaWEpEWVd4c1ltRmphejh1S0NrN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOclB5NG9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdaMlYwSUcxbGJuVkhjbUZpWW1WeVNXNTBaWEptWVdObEtDazZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQjhJRzUxYkd4Y2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ2RHaHBjeTV6ZEdGMFpTQWhQU0JOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrMWxiblVnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFF2THlCVVQwUlBPaUIwY21GamF5QnRaVzUxSUhCbGNpQm5jbUZpWW1WeVhISmNibHgwWEhScFppZ2dkR2hwY3k1aFkzUnBkbVZIY21GaWN5NXphWHBsSUQwOUlEQWdLVnh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2NseHVYSFJjZEZ4MFhISmNibHgwWEhSc1pYUWdiV1Z1ZFRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUQwZ2RHaHBjeTVoWTNScGRtVkhjbUZpY3k1MllXeDFaWE1vS1M1dVpYaDBLQ2t1ZG1Gc2RXVTdYSEpjYmx4MFhIUnlaWFIxY200Z2JXVnVkVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYldWdWRVZHlZV0ppWlhJb0tUb2dSVzVrY0c5cGJuUkJaR1J5SUh3Z2JuVnNiRnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpMbTFsYm5WSGNtRmlZbVZ5U1c1MFpYSm1ZV05sUHk1d1pXVnlPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0J0Wlc1MVUyVnNaa1p5YjIxSGNtRmlZbVZ5S0NrNklFRjJUbTlrWlZSeVlXNXpabTl5YlNCOElHNTFiR3hjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTV0Wlc1MVIzSmhZbUpsY2tsdWRHVnlabUZqWlQ4dWMyVnNaa1p5YjIxUVpXVnlPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0J6ZEdGMFpTZ3BPaUJOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lIUm9hWE11WjNKaFltSmxjaUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhKbGRIVnliaUJOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrZHlZV0ppWldRN1hISmNibHgwWEhSOVhISmNibHgwWEhSbGJITmxJR2xtS0NCMGFHbHpMbUZqZEdsMlpVZHlZV0p6TG5OcGVtVWdQaUF3SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFXWW9JSFJvYVhNdWMyaHZkV3hrVTJodmQwMWxiblVnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBjbVYwZFhKdUlFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MFUzUmhkR1V1VFdWdWRUdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJsYkhObFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ5WlhSMWNtNGdUVzkyWldGaWJHVkRiMjF3YjI1bGJuUlRkR0YwWlM1SGNtRmlZbVZ5VG1WaGNtSjVPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5WEhKY2JseDBYSFJsYkhObElHbG1LQ0IwYUdsekxtRmpkR2wyWlVOdmJuUmhhVzVsY2lBbUppQjBhR2x6TG5kaGMwVjJaWEpFY205d2NHVmtJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBVM1JoZEdVdVNXNURiMjUwWVdsdVpYSTdYSEpjYmx4MFhIUjlYSEpjYmx4MFhIUmxiSE5sWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhKbGRIVnliaUJOYjNabFlXSnNaVU52YlhCdmJtVnVkRk4wWVhSbExrbGtiR1U3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnYjI1SGNtRmlVM1JoY25Rb0lHRmpkR2wyWlVkeVlXSTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFlXTjBhWFpsUjNKaFlpNXZia1Z1WkdWa0tDZ3BJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmNJa0ZEVkVsV1JTQkhVa0ZDSUVWT1JFVkVJR1p5YjIwZ1hDSXNJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuS0NCaFkzUnBkbVZIY21GaUxuQmxaWElnS1NBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVWR5WVdKekxtUmxiR1YwWlNnZ1lXTjBhWFpsUjNKaFlpQXBPMXh5WEc1Y2RGeDBYSFIwYUdsekxuVndaR0YwWlV4cGMzUmxibVZ5S0NrN1hISmNibHh5WEc1Y2RGeDBYSFJwWmlnZ2RHaHBjeTVuY21GaVltVnlJRDA5SUdGamRHbDJaVWR5WVdJZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lWR2hwY3lCemFHOTFiR1J1SjNRZ2FHRjJaU0JvWVhCd1pXNWxaQzRnVTI5dFpXaHZkeUIzWlNCc2IzTjBJRzkxY2lCaFkzUnBkbVVnWjNKaFltSmxjbHdpTEZ4eVhHNWNkRngwWEhSY2RGeDBaVzVrY0c5cGJuUkJaR1J5Vkc5VGRISnBibWNvSUhSb2FYTXVaM0poWW1KbGNpNXdaV1Z5SUNrZ0tUdGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtUnliM0JKYm5SdlEyOXVkR0ZwYm1WeUtDQjBjblZsSUNrN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMGdLVHRjY2x4dVhISmNibHgwWEhSaFkzUnBkbVZIY21GaUxtOXVSWFpsYm5Rb0lHRnplVzVqSUNnZ1pYWmxiblE2SUVkeVlXSlNaWEYxWlhOMElDa2dQVDVjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lSWFpsYm5RZ2NtVmpaV2wyWldSY0lpd2daWFpsYm5RdWRIbHdaU3dnWlhabGJuUWdLVHRjY2x4dVhIUmNkRngwYzNkcGRHTm9LQ0JsZG1WdWRDNTBlWEJsSUNsY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR05oYzJVZ1IzSmhZbEpsY1hWbGMzUlVlWEJsTGxObGRFZHlZV0ppWlhJNlhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2RHaHBjeTVuY21GaVltVnlJRDA5SUdGamRHbDJaVWR5WVdJZ0tWeHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1lGTmxkRWR5WVdKaVpYSWdabkp2YlNBa2UyVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0JoWTNScGRtVkhjbUZpTG5CbFpYSWdLU0I5TENCM2FHbGphQ0IzWVhNZ1lXeHlaV0ZrZVNCdmRYSWdaM0poWW1KbGNtQWdLVHRjY2x4dVhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYkdWMElISmxiR1ZoYzJVNklFZHlZV0pTWlhGMVpYTjBJRDBnZXlCMGVYQmxPaUJIY21GaVVtVnhkV1Z6ZEZSNWNHVXVVbVZzWldGelpVMWxJSDA3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdVozSmhZbUpsY2o4dWMyVnVaRVYyWlc1MEtDQnlaV3hsWVhObElDazdYSEpjYmx4MFhISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVaM0poWW1KbGNpQTlJR0ZqZEdsMlpVZHlZV0k3WEhKY2JseDBYSEpjYmx4MFhIUmNkRngwWEhSY2RHbG1LQ0IwYUdsekxtWnZjbU5sWkVkeVlXSmlaWEpHY205dFIzSmhZbUpoWW14bElDbGNjbHh1WEhSY2RGeDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RHeGxkQ0J2ZG1WeWNtbGtaVlJ5WVc1elptOXliVG9nUjNKaFlsSmxjWFZsYzNRZ1BWeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUmNkSFI1Y0dVNklFZHlZV0pTWlhGMVpYTjBWSGx3WlM1UGRtVnljbWxrWlZSeVlXNXpabTl5YlN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSY2RHZHlZV0ppWlhKR2NtOXRSM0poWW1KaFlteGxPaUIwYUdsekxtWnZjbU5sWkVkeVlXSmlaWEpHY205dFIzSmhZbUpoWW14bExGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG1keVlXSmlaWEl1YzJWdVpFVjJaVzUwS0NCdmRtVnljbWxrWlZSeVlXNXpabTl5YlNBcE8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjBhR2x6TG1GamRHbDJaVU52Ym5SaGFXNWxjajh1YzJWdVpFVjJaVzUwS0NCN0lITjBZWFJsT2lCY0lrMXZkbWx1WjF3aUlIMGdLVHRjY2x4dVhIUmNkRngwWEhSY2RGeDBkR2hwY3k1aFkzUnBkbVZEYjI1MFlXbHVaWEkvTG5WdWJHOWpheWdwTzF4eVhHNWNkRngwWEhSY2RGeDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSmhZM1JwZG1WRGIyNTBZV2x1WlhJdWRXNXNiMk5yS0NsY0lpQmNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUXJJQ2dnZEdocGN5NWhZM1JwZG1WRGIyNTBZV2x1WlhJZ1B5QmNJbHdpSURvZ1hDSk9UeUJEVDA1VVFVbE9SVkpjSWlBcElDazdYSEpjYmx4MFhISmNibHgwWEhSY2RGeDBYSFJjZEhSb2FYTXVkWEJrWVhSbFRHbHpkR1Z1WlhJb0tUdGNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWEhSallYTmxJRWR5WVdKU1pYRjFaWE4wVkhsd1pTNUVjbTl3V1c5MWNuTmxiR1k2WEhKY2JseDBYSFJjZEZ4MFhIUmhkMkZwZENCMGFHbHpMbVJ5YjNCSmJuUnZRMjl1ZEdGcGJtVnlLQ0IwY25WbElDazdYSEpjYmx4MFhIUmNkRngwWEhSaFkzUnBkbVZIY21GaUxuTmxibVJGZG1WdWRDZ2dleUIwZVhCbE9pQkhjbUZpVW1WeGRXVnpkRlI1Y0dVdVJISnZjRU52YlhCc1pYUmxJSDBnWVhNZ1IzSmhZbEpsY1hWbGMzUWdLVHRjY2x4dVhIUmNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBYSFJqWVhObElFZHlZV0pTWlhGMVpYTjBWSGx3WlM1VGFHOTNUV1Z1ZFRwY2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWMyaHZkV3hrVTJodmQwMWxiblVnUFNCMGNuVmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmNkR05oYzJVZ1IzSmhZbEpsY1hWbGMzUlVlWEJsTGtocFpHVk5aVzUxT2x4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1emFHOTFiR1JUYUc5M1RXVnVkU0E5SUdaaGJITmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgwZ0tUdGNjbHh1WEhKY2JseDBYSFIwYUdsekxtRmpkR2wyWlVkeVlXSnpMbUZrWkNnZ1lXTjBhWFpsUjNKaFlpQXBPMXh5WEc1Y2RGeDBkR2hwY3k1MWNHUmhkR1ZNYVhOMFpXNWxjaWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR0Z6ZVc1aklHUnliM0JKYm5SdlEzVnljbVZ1ZEVOdmJuUmhhVzVsY2lncFhISmNibHgwZTF4eVhHNWNkRngwWVhkaGFYUWdkR2hwY3k1a2NtOXdTVzUwYjBOdmJuUmhhVzVsY2lnZ2RISjFaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JoYzNsdVl5QmtjbTl3U1c1MGIwTnZiblJoYVc1bGNpZ2djbVZ4ZFdWemRFeHZZMnM2SUdKdmIyeGxZVzRzSUcxdmRtVmhZbXhsVkc5U1pYQnNZV05sUHpvZ1JXNWtjRzlwYm5SQlpHUnlMQ0JjY2x4dVhIUmNkRzlzWkUxdmRtVmhZbXhsUm5KdmJVNWxkMDF2ZG1WaFlteGxQem9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnY21WeGRXVnpkRXh2WTJzZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKaVpXWnZjbVVnYkc5amExd2lJQ2s3WEhKY2JseDBYSFJjZEdGM1lXbDBJSFJvYVhNdVlXTjBhWFpsUTI5dWRHRnBibVZ5UHk1c2IyTnJLQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJqYjI1emIyeGxMbXh2WnlnZ1hDSmlaV1p2Y21VZ2MyVnVaRVYyWlc1MFhDSWdLVHRjY2x4dVhIUmNkR0YzWVdsMElIUm9hWE11WVdOMGFYWmxRMjl1ZEdGcGJtVnlQeTV6Wlc1a1JYWmxiblFvSUhzZ2MzUmhkR1U2SUZ3aVVtVnpkR2x1WjF3aUxDQnRiM1psWVdKc1pWUnZVbVZ3YkdGalpTd2diMnhrVFc5MlpXRmliR1ZHY205dFRtVjNUVzkyWldGaWJHVWdmU0FwTzF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lZV1owWlhJZ2MyVnVaRVYyWlc1MFhDSWdLVHRjY2x4dVhISmNibHgwWEhSMGFHbHpMbmRoYzBWMlpYSkVjbTl3Y0dWa0lEMGdkSEoxWlR0Y2NseHVYSFJjZEhSb2FYTXVaM0poWW1KbGNpQTlJRzUxYkd3N1hISmNibHgwWEhSMGFHbHpMblZ3WkdGMFpVeHBjM1JsYm1WeUtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2RISnBaMmRsY2xKbFozSmhZaWdnY21Wd2JHRmpaVzFsYm5STmIzWmxZV0pzWlRvZ1JXNWtjRzlwYm5SQlpHUnlMQ0J2YkdSTmIzWmxZV0pzWlVaeWIyMU9aWGROYjNabFlXSnNaVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWlRvZ1IzSmhZbEpsY1hWbGMzUWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQkhjbUZpVW1WeGRXVnpkRlI1Y0dVdVVtVnhkV1Z6ZEZKbFozSmhZaXhjY2x4dVhIUmNkRngwYm1WM1RXOTJaV0ZpYkdVNklISmxjR3hoWTJWdFpXNTBUVzkyWldGaWJHVXNYSEpjYmx4MFhIUmNkRzlzWkUxdmRtVmhZbXhsUm5KdmJVNWxkMDF2ZG1WaFlteGxMRnh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBkR2hwY3k1bmNtRmlZbVZ5UHk1elpXNWtSWFpsYm5Rb0lHVWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmtOdmJuUmhhVzVsY2xOMFlYSjBLQ0JoWTNScGRtVkRiMjUwWVdsdVpYSTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MFlXTjBhWFpsUTI5dWRHRnBibVZ5TG05dVJXNWtaV1FvS0NrZ1BUNWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkR2hwY3k1aFkzUnBkbVZEYjI1MFlXbHVaWElnUFNCdWRXeHNPMXh5WEc1Y2RGeDBYSFIwYUdsekxuVndaR0YwWlV4cGMzUmxibVZ5S0NrN1hISmNibHgwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxRMjl1ZEdGcGJtVnlMbTl1UlhabGJuUW9JQ2dnWlhabGJuUTZJRU52Ym5SaGFXNWxjbEpsY1hWbGMzUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSemQybDBZMmdvSUdWMlpXNTBMblI1Y0dVZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTJGelpTQkRiMjUwWVdsdVpYSlNaWEYxWlhOMFZIbHdaUzVTWldSeWIzQTZYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBZMjl1YzI5c1pTNXNiMmNvSUdCU1pXUnliM0FnY21WeGRXVnpkQ0IwYnlCeVpYQnNZV05sSUNSN0lHVnVaSEJ2YVc1MFFXUmtjbFJ2VTNSeWFXNW5LQ0JsZG1WdWRDNXRiM1psWVdKc1pWUnZVbVZ3YkdGalpTQXBmV0FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWQyRnBkR2x1WjBadmNsSmxaSEp2Y0NBOUlHVjJaVzUwTG0xdmRtVmhZbXhsVkc5U1pYQnNZV05sTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1M1lXbDBhVzVuUm05eVVtVmtjbTl3VkhKaGJuTm1iM0p0SUQwZ1pYWmxiblF1YjJ4a1RXOTJaV0ZpYkdWR2NtOXRUbVYzVFc5MlpXRmliR1U3WEhKY2JseDBYSFJjZEZ4MFhIUmhZM1JwZG1WRGIyNTBZV2x1WlhJdWNtVnNiMk5yS0NCbGRtVnVkQzV1WlhkRGIyNTBZV2x1WlhJZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseHlYRzVjZEZ4MFhIUmNkR05oYzJVZ1EyOXVkR0ZwYm1WeVVtVnhkV1Z6ZEZSNWNHVXVVbVZrY205d1EyOXRjR3hsZEdVNlhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFlXTjBhWFpsUTI5dWRHRnBibVZ5TG5WdWJHOWpheWdwTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1M1lYTkZkbVZ5UkhKdmNIQmxaQ0E5SUdaaGJITmxPMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZTQXBPMXh5WEc1Y2NseHVYSFJjZEhSb2FYTXVZV04wYVhabFEyOXVkR0ZwYm1WeUlEMGdZV04wYVhabFEyOXVkR0ZwYm1WeU8xeHlYRzVjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2NseHVYSFJjZEdsbUtDQjBhR2x6TG1sdWFYUnBZV3hKYm5SbGNtWmhZMlVnSmlZZ0lYUm9hWE11WkhKdmNIQmxaRWx1ZEc5SmJtbDBhV0ZzVUdGeVpXNTBJRnh5WEc1Y2RGeDBYSFFtSmlCbGJtUndiMmx1ZEVGa1pISnpUV0YwWTJnb0lIUm9hWE11YVc1cGRHbGhiRWx1ZEdWeVptRmpaUzV5WldObGFYWmxjaXdnWVdOMGFYWmxRMjl1ZEdGcGJtVnlMbkJsWlhJZ0tTQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkQzh2SUdSdmJpZDBJRzVsWldRZ2RHOGdiRzlqYXlCaVpXTmhkWE5sSUhSb1pTQnBibWwwYVdGc0lHeHZZMnNnZEc5dmF5QmpZWEpsSUc5bUlIUm9ZWFFnWm05eUlIVnpYSEpjYmx4MFhIUmNkSFJvYVhNdVpISnZjRWx1ZEc5RGIyNTBZV2x1WlhJb0lHWmhiSE5sSUNrN0lGeHlYRzVjZEZ4MFhIUjBhR2x6TG1SeWIzQndaV1JKYm5SdlNXNXBkR2xoYkZCaGNtVnVkQ0E5SUhSeWRXVTdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwYVdZb0lIUm9hWE11ZDJGcGRHbHVaMFp2Y2xKbFpISnZjQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOdmJuTnZiR1V1Ykc5bktDQmdaMjkwSUc1bGR5QmpiMjUwWVdsdVpYSWdKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lHRmpkR2wyWlVOdmJuUmhhVzVsY2k1d1pXVnlJQ2tnZlNCM2FHbHNaU0IzWVdsMGFXNW5JR1p2Y2lCeVpXUnliM0JnSUNrN1hISmNibHgwWEhSY2RIUm9hWE11WkhKdmNFbHVkRzlEYjI1MFlXbHVaWElvSUdaaGJITmxMQ0IwYUdsekxuZGhhWFJwYm1kR2IzSlNaV1J5YjNBc0lIUm9hWE11ZDJGcGRHbHVaMFp2Y2xKbFpISnZjRlJ5WVc1elptOXliU0FwTzF4eVhHNWNkRngwWEhSMGFHbHpMbmRoYVhScGJtZEdiM0pTWldSeWIzQWdQU0J1ZFd4c08xeHlYRzVjZEZ4MGZWeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQjBjbUZ1YzIxcGRITW9LVG9nU1c1MFpYSm1ZV05sVUhKdmNGdGRYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdVkyRnVSSEp2Y0VsdWRHOURiMjUwWVdsdVpYSnpJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRnNnWEhKY2JseDBYSFJjZEZ4MGV5QnBabUZqWlRvZ1RXOTJaV0ZpYkdWRGIyMXdiMjVsYm5RdVkyOXVkR0ZwYm1WeVNXNTBaWEptWVdObExDQndjbTlqWlhOemIzSTZJSFJvYVhNdWIyNURiMjUwWVdsdVpYSlRkR0Z5ZENCOUlGeHlYRzVjZEZ4MFhIUmRPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElISmxZMlZwZG1WektDazZJRWx1ZEdWeVptRmpaVkJ5YjNCYlhWeHlYRzVjZEh0Y2NseHVYSFJjZEhKbGRIVnliaUJiSUhzZ2FXWmhZMlU2SUZ3aVlXRnlaSFpoY21zdFozSmhZa0F4WENJc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrZHlZV0pUZEdGeWRDQjlJRjA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhCaGNtVnVkQ2dwT2lCRmJtUndiMmx1ZEVGa1pISmNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1bmNtRmlZbVZ5SUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MEx5OGdhV1lnZDJVbmNtVWdZM1Z5Y21WdWRHeDVJR2R5WVdKaVpXUXNJSFJvWVhRbmN5QnZkWElnY0dGeVpXNTBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQjBhR2x6TG1keVlXSmlaWEl1Y0dWbGNqdGNjbHh1WEhSY2RIMWNjbHh1WEhSY2RHVnNjMlVnYVdZb0lIUm9hWE11ZDJGelJYWmxja1J5YjNCd1pXUWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFF2THlCcFppQjNaU2QyWlNCbGRtVnlJR0psWlc0Z1pISnZjSEJsWkNCcGJuUnZJR0VnWTI5dWRHRnBibVZ5TEZ4eVhHNWNkRngwWEhRdkx5QjBhR0YwSUdOaGJpQmlaU0J2ZFhJZ2NHRnlaVzUwWEhKY2JseDBYSFJjZEhKbGRIVnliaUIwYUdsekxtRmpkR2wyWlVOdmJuUmhhVzVsY2o4dWNHVmxjanRjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJWY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MEx5OGdiM1JvWlhKM2FYTmxMQ0IzWlNCb1lYWmxJRzV2SUhCaGNtVnVkQ0JoYm1RZ2MyaHZkV3hrSUc5aVpYa2dkMmhoZEdWMlpYSmNjbHh1WEhSY2RGeDBMeThnZEdobElITmpaVzVsSUdkeVlYQm9JSEJ5YjNacFpHVnpJR0Z6SUc5MWNpQjBjbUZ1YzJadmNtMWNjbHh1WEhSY2RGeDBjbVYwZFhKdUlHNTFiR3c3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUdsdWRHVnlabUZqWlV4dlkydHpLQ2s2SUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOclcxMWNjbHh1WEhSN1hISmNibHgwWEhScFppZ2dkR2hwY3k1cGJtbDBhV0ZzU1c1MFpYSm1ZV05sSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUNnZ1hISmNibHgwWEhSY2RGeDBXeUJjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11YVc1cGRHbGhiRWx1ZEdWeVptRmpaVnh5WEc1Y2RGeDBYSFJjZEYwZ0tUdGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHgwWEhKY2JseDBjSFZpYkdsaklHZGxkQ0IzWVc1MGMxUnlZVzV6Wm05eWJYTW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCbVlXeHpaVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNjbHh1WEhSd2RXSnNhV01nY21WelpYUW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11WVdOMGFYWmxRMjl1ZEdGcGJtVnlQeTUxYm14dlkyc29LVHRjY2x4dVhIUmNkSFJvYVhNdVlXTjBhWFpsUTI5dWRHRnBibVZ5UHk1elpXNWtSWFpsYm5Rb0lIc2djM1JoZEdVNklGd2lUVzkyYVc1blhDSWdmU0FwTzF4eVhHNWNkRngwZEdocGN5NTNZWE5GZG1WeVJISnZjSEJsWkNBOUlHWmhiSE5sTzF4eVhHNWNkRngwZEdocGN5NW5jbUZpWW1WeUlEMGdiblZzYkR0Y2NseHVYSFJjZEhSb2FYTXVkWEJrWVhSbFRHbHpkR1Z1WlhJb0tUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCdmJsVndaR0YwWlNnZ1kyRnNiR0poWTJzNklDZ3BJRDArSUhadmFXUWdLVG9nZG05cFpGeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzZ1BTQmpZV3hzWW1GamF6dGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1RvZ1NsTllMa1ZzWlcxbGJuUmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhSOVhISmNibjBpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2NvbXBvbmVudF9tb3ZlYWJsZS50c1xcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IE5ldHdvcmtHYWRnZXRFdmVudFR5cGUsIE5ldHdvcmtJdGVtVHJhbnNmb3JtLCBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQsIE5ldHdvcmtlZEl0ZW1Db21wb25lbnQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIE5ldHdvcmtHYWRnZXRFdmVudFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtJdGVtVHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBOZXR3b3JrSXRlbVRyYW5zZm9ybTsgfSk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTmV0d29ya2VkR2FkZ2V0Q29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtlZEl0ZW1Db21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIE5ldHdvcmtlZEl0ZW1Db21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIE5ldHdvcmtHYWRnZXRFdmVudFR5cGU7XFxyXFxuKGZ1bmN0aW9uIChOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlKSB7XFxyXFxuICAgIE5ldHdvcmtHYWRnZXRFdmVudFR5cGVbXFxcIlNldEdhZGdldEluZm9cXFwiXSA9IFxcXCJzZXRfZ2FkZ2V0X2luZm9cXFwiO1xcclxcbiAgICBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlW1xcXCJTZXRJdGVtSW5mb1xcXCJdID0gXFxcInNldF9pdGVtX2luZm9cXFwiO1xcclxcbiAgICBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlW1xcXCJTZW5kRXZlbnRUb0FsbFJlbW90ZXNcXFwiXSA9IFxcXCJzZW5kX2V2ZW50X3RvX3JlbW90ZXNcXFwiO1xcclxcbiAgICBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlW1xcXCJSZWNlaXZlRXZlbnRGcm9tUmVtb3RlXFxcIl0gPSBcXFwicmVjZWl2ZV9ldmVudF9mcm9tX3JlbW90ZVxcXCI7XFxyXFxuICAgIE5ldHdvcmtHYWRnZXRFdmVudFR5cGVbXFxcIlNldFRyYW5zZm9ybVN0YXRlXFxcIl0gPSBcXFwic2V0X3RyYW5zZm9ybV9zdGF0ZVxcXCI7XFxyXFxuICAgIE5ldHdvcmtHYWRnZXRFdmVudFR5cGVbXFxcIkRyb3BDb21wbGV0ZVxcXCJdID0gXFxcImRyb3BfY29tcGxldGVcXFwiO1xcclxcbn0pKE5ldHdvcmtHYWRnZXRFdmVudFR5cGUgfHwgKE5ldHdvcmtHYWRnZXRFdmVudFR5cGUgPSB7fSkpO1xcclxcbnZhciBOZXR3b3JrSXRlbVRyYW5zZm9ybTtcXHJcXG4oZnVuY3Rpb24gKE5ldHdvcmtJdGVtVHJhbnNmb3JtKSB7XFxyXFxuICAgIE5ldHdvcmtJdGVtVHJhbnNmb3JtW05ldHdvcmtJdGVtVHJhbnNmb3JtW1xcXCJOb3JtYWxcXFwiXSA9IDBdID0gXFxcIk5vcm1hbFxcXCI7XFxyXFxuICAgIE5ldHdvcmtJdGVtVHJhbnNmb3JtW05ldHdvcmtJdGVtVHJhbnNmb3JtW1xcXCJPdmVycmlkZVxcXCJdID0gMV0gPSBcXFwiT3ZlcnJpZGVcXFwiO1xcclxcbiAgICBOZXR3b3JrSXRlbVRyYW5zZm9ybVtOZXR3b3JrSXRlbVRyYW5zZm9ybVtcXFwiRHJvcHBpbmdcXFwiXSA9IDJdID0gXFxcIkRyb3BwaW5nXFxcIjtcXHJcXG59KShOZXR3b3JrSXRlbVRyYW5zZm9ybSB8fCAoTmV0d29ya0l0ZW1UcmFuc2Zvcm0gPSB7fSkpO1xcclxcbjtcXHJcXG5jbGFzcyBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcihyZW1vdGVHYWRnZXRJbml0YWxMb2NrcywgcmVtb3RlRXZlbnRDYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm5ldHdvcmtQcm92aWRlciA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLnJlbW90ZUdhZGdldEluaXRhbExvY2tzID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlR2FkZ2V0SW5pdGFsTG9ja3MgPSByZW1vdGVHYWRnZXRJbml0YWxMb2NrcztcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlRXZlbnRDYWxsYmFjayA9IHJlbW90ZUV2ZW50Q2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgdXBkYXRlTGlzdGVuZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZXRJbml0aWFsSW50ZXJmYWNlTG9ja3MocmVtb3RlSW50ZXJmYWNlTG9ja3MpIHtcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlR2FkZ2V0SW5pdGFsTG9ja3MgPSByZW1vdGVJbnRlcmZhY2VMb2NrcztcXHJcXG4gICAgICAgIHRoaXMuc2VuZFNldEdhZGdldEluZm8oKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kU2V0R2FkZ2V0SW5mbygpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIC8vIHRlbGwgdGhlIG90aGVyIGVuZCBob3cgd2Ugd2FudCB0byBiZSBzdGFydGVkIG9uIHRoZSByZW1vdGUgZW5kXFxyXFxuICAgICAgICBsZXQgcmVxID0ge1xcclxcbiAgICAgICAgICAgIHR5cGU6IE5ldHdvcmtHYWRnZXRFdmVudFR5cGUuU2V0R2FkZ2V0SW5mbyxcXHJcXG4gICAgICAgICAgICBsb2NrczogdGhpcy5yZW1vdGVHYWRnZXRJbml0YWxMb2NrcyxcXHJcXG4gICAgICAgICAgICB1cmw6IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLnVybCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtQcm92aWRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChyZXEpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uTmV0d29ya2VkR2FkZ2V0U3RhcnQobmV0d29ya1Byb3ZpZGVyKSB7XFxyXFxuICAgICAgICB0aGlzLm5ldHdvcmtQcm92aWRlciA9IG5ldHdvcmtQcm92aWRlcjtcXHJcXG4gICAgICAgIHRoaXMuc2VuZFNldEdhZGdldEluZm8oKTtcXHJcXG4gICAgICAgIG5ldHdvcmtQcm92aWRlci5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLm5ldHdvcmtQcm92aWRlciA9IG51bGw7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIG5ldHdvcmtQcm92aWRlci5vbkV2ZW50KChldmVudCkgPT4ge1xcclxcbiAgICAgICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlJlY2VpdmVFdmVudEZyb21SZW1vdGU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlbW90ZUV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5yZW1vdGVFdmVudENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCByZW1vdGVFdmVudC5ldmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgdHJhbnNtaXRzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFt7IGlmYWNlOiBOZXR3b3JrZWRHYWRnZXRDb21wb25lbnQuaW50ZXJmYWNlTmFtZSwgcHJvY2Vzc29yOiB0aGlzLm9uTmV0d29ya2VkR2FkZ2V0U3RhcnQgfV07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHJlY2VpdmVzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFtdO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBwYXJlbnQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHsgcmV0dXJuIFtdOyB9XFxyXFxuICAgIG9uVXBkYXRlKGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEV2ZW50VG9BbGxSZW1vdGVzKGV2ZW50LCByZWxpYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGV2dCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNlbmRFdmVudFRvQWxsUmVtb3RlcyxcXHJcXG4gICAgICAgICAgICBldmVudCxcXHJcXG4gICAgICAgICAgICByZWxpYWJsZSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtQcm92aWRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChldnQpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk5ldHdvcmtlZEdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lID0gXFxcImFhcmR2YXJrLW5ldHdvcmtlZC1nYWRnZXRAMVxcXCI7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQuYVxcclxcbl0sIE5ldHdvcmtlZEdhZGdldENvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbk5ldHdvcmtlZEdhZGdldFN0YXJ0XFxcIiwgbnVsbCk7XFxyXFxuY2xhc3MgTmV0d29ya2VkSXRlbUNvbXBvbmVudCB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKGl0ZW1JZCwgcmVtb3RlRXZlbnRDYWxsYmFjaywgbmV0d29ya0l0ZW1Ecm9wQ2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrUHJvdmlkZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy50cmFuc2Zvcm1TdGF0ZSA9IE5ldHdvcmtJdGVtVHJhbnNmb3JtLk5vcm1hbDtcXHJcXG4gICAgICAgIHRoaXMubGFzdFVuaXZlcnNlRnJvbUl0ZW0gPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5pdGVtSWQgPSBpdGVtSWQ7XFxyXFxuICAgICAgICB0aGlzLnJlbW90ZUV2ZW50Q2FsbGJhY2sgPSByZW1vdGVFdmVudENhbGxiYWNrO1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrSXRlbURyb3BDYWxsYmFjayA9IG5ldHdvcmtJdGVtRHJvcENhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB1bml2ZXJzZUZyb21JdGVtKCkge1xcclxcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFVuaXZlcnNlRnJvbUl0ZW07XFxyXFxuICAgIH1cXHJcXG4gICAgdXBkYXRlTGlzdGVuZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kU2V0SXRlbUluZm8oKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAvLyB0ZWxsIHRoZSBvdGhlciBlbmQgaG93IHdlIHdhbnQgdG8gYmUgc3RhcnRlZCBvbiB0aGUgcmVtb3RlIGVuZFxcclxcbiAgICAgICAgbGV0IHJlcSA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNldEl0ZW1JbmZvLFxcclxcbiAgICAgICAgICAgIGl0ZW1JZDogdGhpcy5pdGVtSWQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5uZXR3b3JrUHJvdmlkZXIpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQocmVxKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbk5ldHdvcmtlZEdhZGdldFN0YXJ0KG5ldHdvcmtQcm92aWRlcikge1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrUHJvdmlkZXIgPSBuZXR3b3JrUHJvdmlkZXI7XFxyXFxuICAgICAgICB0aGlzLnNlbmRTZXRJdGVtSW5mbygpO1xcclxcbiAgICAgICAgbmV0d29ya1Byb3ZpZGVyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMubmV0d29ya1Byb3ZpZGVyID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB0aGlzLnRyYW5zZm9ybVN0YXRlID0gTmV0d29ya0l0ZW1UcmFuc2Zvcm0uTm9ybWFsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgbmV0d29ya1Byb3ZpZGVyLm9uRXZlbnQoKGV2ZW50KSA9PiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlJlY2VpdmVFdmVudEZyb21SZW1vdGU6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlbW90ZUV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5yZW1vdGVFdmVudENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzLCByZW1vdGVFdmVudC5ldmVudCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNldFRyYW5zZm9ybVN0YXRlOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZXRUcmFuc2Zvcm1TdGF0ZSA9IGV2ZW50O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXRUcmFuc2Zvcm1TdGF0ZS5uZXdTdGF0ZSA9PSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5PdmVycmlkZSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBuZXR3b3JrUHJvdmlkZXIubG9jaygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zZm9ybVN0YXRlID0gc2V0VHJhbnNmb3JtU3RhdGUubmV3U3RhdGU7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNldFRyYW5zZm9ybVN0YXRlLnVuaXZlcnNlRnJvbUl0ZW0pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0VW5pdmVyc2VGcm9tSXRlbSA9IHNldFRyYW5zZm9ybVN0YXRlLnVuaXZlcnNlRnJvbUl0ZW07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zZm9ybVN0YXRlID09IE5ldHdvcmtJdGVtVHJhbnNmb3JtLkRyb3BwaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMubmV0d29ya0l0ZW1Ecm9wQ2FsbGJhY2soKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgbmV0d29ya1Byb3ZpZGVyLnVubG9jaygpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzcCA9IHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IE5ldHdvcmtHYWRnZXRFdmVudFR5cGUuRHJvcENvbXBsZXRlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya1Byb3ZpZGVyLnNlbmRFdmVudChyZXNwKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSkpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB0cmFuc21pdHMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW3sgaWZhY2U6IE5ldHdvcmtlZEdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lLCBwcm9jZXNzb3I6IHRoaXMub25OZXR3b3JrZWRHYWRnZXRTdGFydCB9XTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcmVjZWl2ZXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW107XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHRyYW5zZm9ybU92ZXJyaWRkZW4oKSB7XFxyXFxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1TdGF0ZSA9PSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5PdmVycmlkZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcGFyZW50KCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgc3dpdGNoICh0aGlzLnRyYW5zZm9ybVN0YXRlKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5Ecm9wcGluZzpcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtJdGVtVHJhbnNmb3JtLk5vcm1hbDpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgICAgICAgICAgY2FzZSBOZXR3b3JrSXRlbVRyYW5zZm9ybS5PdmVycmlkZTpcXHJcXG4gICAgICAgICAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMubmV0d29ya1Byb3ZpZGVyKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHsgcmV0dXJuIFtdOyB9XFxyXFxuICAgIG9uVXBkYXRlKGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEV2ZW50VG9BbGxSZW1vdGVzKGV2ZW50LCByZWxpYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGV2dCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLlNlbmRFdmVudFRvQWxsUmVtb3RlcyxcXHJcXG4gICAgICAgICAgICBldmVudCxcXHJcXG4gICAgICAgICAgICByZWxpYWJsZSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLm5ldHdvcmtQcm92aWRlcikgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChldnQpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk5ldHdvcmtlZEl0ZW1Db21wb25lbnQuaW50ZXJmYWNlTmFtZSA9IFxcXCJhYXJkdmFyay1uZXR3b3JrZWQtZ2FkZ2V0QDFcXFwiO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0LmFcXHJcXG5dLCBOZXR3b3JrZWRJdGVtQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uTmV0d29ya2VkR2FkZ2V0U3RhcnRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWpiMjF3YjI1bGJuUmZibVYwZDI5eWEyVmtYMmRoWkdkbGRDNTBjM2cvTmpSak5pSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN08wRkJTV3RETzBGQlNWYzdRVUZITjBNc1NVRkJXU3h6UWtGUldEdEJRVkpFTEZkQlFWa3NjMEpCUVhOQ08wbEJSV3BETERKRVFVRnBRenRKUVVOcVF5eDFSRUZCTmtJN1NVRkROMElzZVVWQlFTdERPMGxCUXk5RExEaEZRVUZ2UkR0SlFVTndSQ3h0UlVGQmVVTTdTVUZEZWtNc2QwUkJRVGhDTzBGQlF5OUNMRU5CUVVNc1JVRlNWeXh6UWtGQmMwSXNTMEZCZEVJc2MwSkJRWE5DTEZGQlVXcERPMEZCYTBKRUxFbEJRVmtzYjBKQlMxZzdRVUZNUkN4WFFVRlpMRzlDUVVGdlFqdEpRVVV2UWl4dFJVRkJWVHRKUVVOV0xIVkZRVUZaTzBsQlExb3NkVVZCUVZrN1FVRkRZaXhEUVVGRExFVkJURmNzYjBKQlFXOUNMRXRCUVhCQ0xHOUNRVUZ2UWl4UlFVc3ZRanRCUVVGQkxFTkJRVU03UVVGalN5eE5RVUZOTEhkQ1FVRjNRanRKUVU5d1F5eFpRVUZoTEhWQ1FVRXJReXhGUVVGRkxHMUNRVUU0UXp0UlFVeHdSeXh0UWtGQll5eEhRVUZsTEVsQlFVa3NRMEZCUXp0UlFVTnNReXh2UWtGQlpTeEhRVUZ2UWl4SlFVRkpMRU5CUVVNN1VVRkRlRU1zTkVKQlFYVkNMRWRCUVRKQ0xFbEJRVWtzUTBGQlF6dFJRVXM1UkN4SlFVRkpMRU5CUVVNc2RVSkJRWFZDTEVkQlFVY3NkVUpCUVhWQ0xFTkJRVU03VVVGRGRrUXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEcxQ1FVRnRRaXhEUVVGRE8wbEJRMmhFTEVOQlFVTTdTVUZKVHl4alFVRmpPenRSUVVWeVFpeFZRVUZKTEVOQlFVTXNZMEZCWXl3clEwRkJia0lzU1VGQlNTeEZRVUZ2UWp0SlFVTjZRaXhEUVVGRE8wbEJSVTBzZDBKQlFYZENMRU5CUVVVc2IwSkJRVFJETzFGQlJUVkZMRWxCUVVrc1EwRkJReXgxUWtGQmRVSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dFJRVU53UkN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhEUVVGRE8wbEJSVThzYVVKQlFXbENPenRSUVVWNFFpeHBSVUZCYVVVN1VVRkRha1VzU1VGQlNTeEhRVUZITEVkQlExQTdXVUZEUXl4SlFVRkpMRVZCUVVVc2MwSkJRWE5DTEVOQlFVTXNZVUZCWVR0WlFVTXhReXhMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEhWQ1FVRjFRanRaUVVOdVF5eEhRVUZITEVWQlFVVXNlVVJCUVZFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eEhRVUZITzFOQlF6VkNMRU5CUVVNN1VVRkRSaXhWUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4VFFVRlRMRU5CUVVVc1IwRkJSeXhGUVVGSE8wbEJRM2hETEVOQlFVTTdTVUZIVHl4elFrRkJjMElzUTBGQlJTeGxRVUZuUXp0UlFVVXZSQ3hKUVVGSkxFTkJRVU1zWlVGQlpTeEhRVUZITEdWQlFXVXNRMEZCUXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVc1EwRkJRenRSUVVWNlFpeGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVRkZMRWRCUVVVc1JVRkJSVHRaUVVVelFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVNM1FpeERRVUZETEVOQlFVVXNRMEZCUXp0UlFVVk1MR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRVVVzUTBGQlJTeExRVUY1UWl4RlFVRkhMRVZCUVVVN08xbEJSWGhFTEZGQlFWRXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkRiRUk3WjBKQlEwTXNTMEZCU3l4elFrRkJjMElzUTBGQlF5eHpRa0ZCYzBJN2IwSkJRMnhFTzNkQ1FVTkRMRWxCUVVrc1YwRkJWeXhIUVVGSExFdEJRWEZDTEVOQlFVTTdkMEpCUTNoRExGVkJRVWtzUTBGQlF5eHRRa0ZCYlVJc0swTkJRWGhDTEVsQlFVa3NSVUZCZDBJc1YwRkJWeXhEUVVGRExFdEJRVXNzUlVGQlJ6dHhRa0ZEYUVRN2IwSkJRMFFzVFVGQlRUdGhRVU5PTzFGQlEwWXNRMEZCUXl4RFFVRkZMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVVFzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeDNRa0ZCZDBJc1EwRkJReXhoUVVGaExFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4elFrRkJjMElzUlVGQlJTeERRVUZGTEVOQlFVTTdTVUZEZEVjc1EwRkJRenRKUVVWRUxFbEJRVmNzVVVGQlVUdFJRVVZzUWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOWUxFTkJRVU03U1VGRlJDeEpRVUZYTEUxQlFVMDdVVUZGYUVJc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVUXNTVUZCVnl4bFFVRmxPMUZCUlhwQ0xFOUJRVThzUzBGQlN5eERRVUZETzBsQlEyUXNRMEZCUXp0SlFVZEVMRWxCUVZjc1kwRkJZeXhMUVVFMlFpeFBRVUZQTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZNMFFzVVVGQlVTeERRVUZGTEZGQlFXOUNPMUZCUlhCRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGSFRTeE5RVUZOTzFGQlJWb3NUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRZaXhEUVVGRE8wbEJSVTBzY1VKQlFYRkNMRU5CUVVVc1MwRkJZU3hGUVVGRkxGRkJRV2xDT3p0UlFVVTNSQ3hKUVVGSkxFZEJRVWNzUjBGRFVEdFpRVU5ETEVsQlFVa3NSVUZCUlN4elFrRkJjMElzUTBGQlF5eHhRa0ZCY1VJN1dVRkRiRVFzUzBGQlN6dFpRVU5NTEZGQlFWRTdVMEZEVWl4RFFVRkRPMUZCUTBZc1ZVRkJTU3hEUVVGRExHVkJRV1VzTUVOQlFVVXNVMEZCVXl4RFFVRkZMRWRCUVVjc1JVRkJSenRKUVVONFF5eERRVUZET3p0QlFUZEdaU3h6UTBGQllTeEhRVUZGTERaQ1FVRTJRaXhEUVVGRE8wRkJNRUkzUkR0SlFVUkRMSEZFUVVGSk8zTkZRWFZDU2p0QlFXZEVTeXhOUVVGTkxITkNRVUZ6UWp0SlFWVnNReXhaUVVGaExFMUJRV01zUlVGQlJTeHRRa0ZCT0VNc1JVRkRNMFVzZFVKQlFXMURPMUZCVkROQ0xHMUNRVUZqTEVkQlFXVXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExHOUNRVUZsTEVkQlFXOUNMRWxCUVVrc1EwRkJRenRSUVVkNFF5eHRRa0ZCWXl4SFFVRkhMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTTNReXg1UWtGQmIwSXNSMEZCWjBJc1NVRkJTU3hEUVVGRE8xRkJUV2hFTEVsQlFVa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGRE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJRenRSUVVNdlF5eEpRVUZKTEVOQlFVTXNkVUpCUVhWQ0xFZEJRVWNzZFVKQlFYVkNMRU5CUVVNN1NVRkRlRVFzUTBGQlF6dEpRVWxFTEVsQlFWY3NaMEpCUVdkQ08xRkJSVEZDTEU5QlFVOHNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVUZETzBsQlEyeERMRU5CUVVNN1NVRkZUeXhqUVVGak96dFJRVVZ5UWl4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRKUVVONlFpeERRVUZETzBsQlJVOHNaVUZCWlRzN1VVRkZkRUlzYVVWQlFXbEZPMUZCUTJwRkxFbEJRVWtzUjBGQlJ5eEhRVU5RTzFsQlEwTXNTVUZCU1N4RlFVRkZMSE5DUVVGelFpeERRVUZETEZkQlFWYzdXVUZEZUVNc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFOQlEyNUNMRU5CUVVNN1VVRkRSaXhWUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4VFFVRlRMRU5CUVVVc1IwRkJSeXhGUVVGSE8wbEJRM2hETEVOQlFVTTdTVUZIVHl4elFrRkJjMElzUTBGQlJTeGxRVUZuUXp0UlFVVXZSQ3hKUVVGSkxFTkJRVU1zWlVGQlpTeEhRVUZITEdWQlFXVXNRMEZCUXp0UlFVTjJReXhKUVVGSkxFTkJRVU1zWlVGQlpTeEZRVUZGTEVOQlFVTTdVVUZGZGtJc1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlJTeEhRVUZGTEVWQlFVVTdXVUZGTTBJc1NVRkJTU3hEUVVGRExHVkJRV1VzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU03V1VGRGJFUXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEVOQlFVTXNRMEZCUlN4RFFVRkRPMUZCUlV3c1pVRkJaU3hEUVVGRExFOUJRVThzUTBGQlJTeERRVUZSTEV0QlFYbENMRVZCUVVjc1JVRkJSVHM3V1VGRk9VUXNVVUZCVVN4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVOc1FqdG5Ra0ZEUXl4TFFVRkxMSE5DUVVGelFpeERRVUZETEhOQ1FVRnpRanR2UWtGRGJFUTdkMEpCUTBNc1NVRkJTU3hYUVVGWExFZEJRVWNzUzBGQmNVSXNRMEZCUXp0M1FrRkRlRU1zVlVGQlNTeERRVUZETEcxQ1FVRnRRaXdyUTBGQmVFSXNTVUZCU1N4RlFVRjNRaXhYUVVGWExFTkJRVU1zUzBGQlN5eEZRVUZITzNGQ1FVTm9SRHR2UWtGRFJDeE5RVUZOTzJkQ1FVVk9MRXRCUVVzc2MwSkJRWE5DTEVOQlFVTXNhVUpCUVdsQ08yOUNRVU0zUXp0M1FrRkRReXhKUVVGSkxHbENRVUZwUWl4SFFVRkhMRXRCUVRaQ0xFTkJRVU03ZDBKQlEzUkVMRWxCUVVrc2FVSkJRV2xDTEVOQlFVTXNVVUZCVVN4SlFVRkpMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNSVUZETDBRN05FSkJRME1zVFVGQlRTeGxRVUZsTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN2VVSkJRemRDTzNkQ1FVVkVMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzYVVKQlFXbENMRU5CUVVNc1VVRkJVU3hEUVVGRE8zZENRVVZxUkN4SlFVRkpMR2xDUVVGcFFpeERRVUZETEdkQ1FVRm5RaXhGUVVOMFF6czBRa0ZEUXl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVkQlFVY3NhVUpCUVdsQ0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNN2VVSkJReTlFTzNkQ1FVVkVMRWxCUVVrc1NVRkJTU3hEUVVGRExHTkJRV01zU1VGQlNTeHZRa0ZCYjBJc1EwRkJReXhSUVVGUkxFVkJRM2hFT3pSQ1FVTkRMRTFCUVUwc1NVRkJTU3hEUVVGRExIVkNRVUYxUWl4RlFVRkZMRU5CUVVNN05FSkJRM0pETEUxQlFVMHNaVUZCWlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE96UkNRVU12UWl4SlFVRkpMRWxCUVVrc1IwRkRVanRuUTBGRFF5eEpRVUZKTEVWQlFVVXNjMEpCUVhOQ0xFTkJRVU1zV1VGQldUczJRa0ZEZWtNN05FSkJRMFFzU1VGQlNTeERRVUZETEdWQlFXVXNRMEZCUXl4VFFVRlRMRU5CUVVVc1NVRkJTU3hEUVVGRkxFTkJRVU03ZVVKQlEzWkRPM2RDUVVORUxFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0eFFrRkRkRUk3YjBKQlEwUXNUVUZCVFR0aFFVTk9PMUZCUTBZc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVUXNTVUZCVnl4VFFVRlRPMUZCUlc1Q0xFOUJRVThzUTBGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4M1FrRkJkMElzUTBGQlF5eGhRVUZoTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNSVUZCUlN4RFFVRkZMRU5CUVVNN1NVRkRkRWNzUTBGQlF6dEpRVVZFTEVsQlFWY3NVVUZCVVR0UlFVVnNRaXhQUVVGUExFVkJRVVVzUTBGQlF6dEpRVU5ZTEVOQlFVTTdTVUZGUkN4SlFVRlhMRzFDUVVGdFFqdFJRVVUzUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhqUVVGakxFbEJRVWtzYjBKQlFXOUNMRU5CUVVNc1VVRkJVU3hEUVVGRE8wbEJRemRFTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN08xRkJSV2hDTEZGQlFWRXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkRNMEk3V1VGRFF5eExRVUZMTEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF6dFpRVU51UXl4TFFVRkxMRzlDUVVGdlFpeERRVUZETEUxQlFVMDdaMEpCUXk5Q0xFOUJRVThzU1VGQlNTeERRVUZETzFsQlJXSXNTMEZCU3l4dlFrRkJiMElzUTBGQlF5eFJRVUZSTzJkQ1FVTnFReXhoUVVGUExFbEJRVWtzUTBGQlF5eGxRVUZsTERCRFFVRkZMRWxCUVVrc1EwRkJRenRUUVVOdVF6dEpRVU5HTEVOQlFVTTdTVUZGUkN4SlFVRlhMR1ZCUVdVN1VVRkZla0lzVDBGQlR5eExRVUZMTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUjBRc1NVRkJWeXhqUVVGakxFdEJRVFpDTEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVVelJDeFJRVUZSTEVOQlFVVXNVVUZCYjBJN1VVRkZjRU1zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRhRU1zUTBGQlF6dEpRVWROTEUxQlFVMDdVVUZGV2l4UFFVRlBMRWxCUVVrc1EwRkJRenRKUVVOaUxFTkJRVU03U1VGRlRTeHhRa0ZCY1VJc1EwRkJSU3hMUVVGaExFVkJRVVVzVVVGQmFVSTdPMUZCUlRkRUxFbEJRVWtzUjBGQlJ5eEhRVU5RTzFsQlEwTXNTVUZCU1N4RlFVRkZMSE5DUVVGelFpeERRVUZETEhGQ1FVRnhRanRaUVVOc1JDeExRVUZMTzFsQlEwd3NVVUZCVVR0VFFVTlNMRU5CUVVNN1VVRkRSaXhWUVVGSkxFTkJRVU1zWlVGQlpTd3dRMEZCUlN4VFFVRlRMRU5CUVVVc1IwRkJSeXhGUVVGSE8wbEJRM2hETEVOQlFVTTdPMEZCZGtsbExHOURRVUZoTEVkQlFVVXNOa0pCUVRaQ0xFTkJRVU03UVVGM1FqZEVPMGxCUkVNc2NVUkJRVWs3YjBWQmMwUktJaXdpWm1sc1pTSTZJaTR2YzNKakwyTnZiWEJ2Ym1WdWRGOXVaWFIzYjNKclpXUmZaMkZrWjJWMExuUnplQzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dWFXMXdiM0owSUhzZ1JXNWtjRzlwYm5SQlpHUnlMQ0JCZGs1dlpHVlVjbUZ1YzJadmNtMHNJR1Z1WkhCdmFXNTBRV1JrY2xSdlUzUnlhVzVuTENCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amF5d2daVzVrY0c5cGJuUkJaR1J5YzAxaGRHTm9MQ0JOYVc1cGJXRnNVRzl6WlNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQjdJRVZ1ZEdsMGVVTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZMjl0Y0c5elpXUmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJSHNnU1c1MFpYSm1ZV05sVUhKdmNDd2dRV04wYVhabFNXNTBaWEptWVdObElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOXBiblJsY21aaFkyVmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJR0pwYm1RZ1puSnZiU0FuWW1sdVpDMWtaV052Y21GMGIzSW5PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkZiblJwZEhsRGFHbHNaQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWlc1MGFYUjVYMk5vYVd4a0p6dGNjbHh1YVcxd2IzSjBJSHNnUTI5dWRHRnBibVZ5VW1WeGRXVnpkRlI1Y0dVc0lFTnZiblJoYVc1bGNsSmxjWFZsYzNRc0lFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZiVzkyWldGaWJHVW5PMXh5WEc1cGJYQnZjblFnZXlCQmRrZGhaR2RsZENCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZloyRmtaMlYwSnp0Y2NseHVYSEpjYmx4eVhHNWxlSEJ2Y25RZ1pXNTFiU0JPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbFhISmNibnRjY2x4dVhIUlRaWFJIWVdSblpYUkpibVp2SUQwZ1hDSnpaWFJmWjJGa1oyVjBYMmx1Wm05Y0lpeGNjbHh1WEhSVFpYUkpkR1Z0U1c1bWJ5QTlJRndpYzJWMFgybDBaVzFmYVc1bWIxd2lMRnh5WEc1Y2RGTmxibVJGZG1WdWRGUnZRV3hzVW1WdGIzUmxjeUE5SUZ3aWMyVnVaRjlsZG1WdWRGOTBiMTl5WlcxdmRHVnpYQ0lzWEhKY2JseDBVbVZqWldsMlpVVjJaVzUwUm5KdmJWSmxiVzkwWlNBOUlGd2ljbVZqWldsMlpWOWxkbVZ1ZEY5bWNtOXRYM0psYlc5MFpWd2lMRnh5WEc1Y2RGTmxkRlJ5WVc1elptOXliVk4wWVhSbElEMGdYQ0p6WlhSZmRISmhibk5tYjNKdFgzTjBZWFJsWENJc1hISmNibHgwUkhKdmNFTnZiWEJzWlhSbElEMGdYQ0prY205d1gyTnZiWEJzWlhSbFhDSXNYSEpjYm4xY2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwWEhKY2JudGNjbHh1WEhSMGVYQmxPaUJPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbE8xeHlYRzU5WEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRTVIUlZObGRFZGhaR2RsZEVsdVptOGdaWGgwWlc1a2N5Qk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUmNjbHh1ZTF4eVhHNWNkR3h2WTJ0ek9pQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWphMXRkTzF4eVhHNWNkSFZ5YkRvZ2MzUnlhVzVuTzF4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFNUhSVk5sZEVsMFpXMUpibVp2SUdWNGRHVnVaSE1nVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwWEhKY2JudGNjbHh1WEhScGRHVnRTV1E2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdWdWRXMGdUbVYwZDI5eWEwbDBaVzFVY21GdWMyWnZjbTFjY2x4dWUxeHlYRzVjZEU1dmNtMWhiQ0E5SURBc1hISmNibHgwVDNabGNuSnBaR1VnUFNBeExGeHlYRzVjZEVSeWIzQndhVzVuSUQwZ01peGNjbHh1ZlR0Y2NseHVYSEpjYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnVGtkRlUyVjBWSEpoYm5ObWIzSnRVM1JoZEdVZ1pYaDBaVzVrY3lCT1pYUjNiM0pyUjJGa1oyVjBSWFpsYm5SY2NseHVlMXh5WEc1Y2RHNWxkMU4wWVhSbE9pQk9aWFIzYjNKclNYUmxiVlJ5WVc1elptOXliVHRjY2x4dVhIUjFibWwyWlhKelpVWnliMjFKZEdWdFB6b2dUV2x1YVcxaGJGQnZjMlU3WEhKY2JuMWNjbHh1WEhKY2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1RrZEZVMlZ1WkVWMlpXNTBJR1Y0ZEdWdVpITWdUbVYwZDI5eWEwZGhaR2RsZEVWMlpXNTBYSEpjYm50Y2NseHVYSFJsZG1WdWREb2diMkpxWldOME8xeHlYRzVjZEhKbGJHbGhZbXhsUHpvZ1ltOXZiR1ZoYmp0Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHTnNZWE56SUU1bGRIZHZjbXRsWkVkaFpHZGxkRU52YlhCdmJtVnVkQ0JwYlhCc1pXMWxiblJ6SUVWdWRHbDBlVU52YlhCdmJtVnVkRnh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JsYm5ScGRIbERZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyVUhKdmRtbGtaWEk2SUVGamRHbDJaVWx1ZEdWeVptRmpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCeVpXMXZkR1ZIWVdSblpYUkpibWwwWVd4TWIyTnJjem9nU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJ0YlhTQTlJRzUxYkd3N1hISmNibHgwY0hKcGRtRjBaU0J5WlcxdmRHVkZkbVZ1ZEVOaGJHeGlZV05yT2lBb0lHVjJaVzUwT2lCdlltcGxZM1FnS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2djbVZ0YjNSbFIyRmtaMlYwU1c1cGRHRnNURzlqYTNNNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBzSUhKbGJXOTBaVVYyWlc1MFEyRnNiR0poWTJzNklDZ2daWFpsYm5RNklHOWlhbVZqZENBcElEMCtJSFp2YVdRZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVjbVZ0YjNSbFIyRmtaMlYwU1c1cGRHRnNURzlqYTNNZ1BTQnlaVzF2ZEdWSFlXUm5aWFJKYm1sMFlXeE1iMk5yY3p0Y2NseHVYSFJjZEhSb2FYTXVjbVZ0YjNSbFJYWmxiblJEWVd4c1ltRmpheUE5SUhKbGJXOTBaVVYyWlc1MFEyRnNiR0poWTJzN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSemRHRjBhV01nY21WaFpHOXViSGtnYVc1MFpYSm1ZV05sVG1GdFpUMGdYQ0poWVhKa2RtRnlheTF1WlhSM2IzSnJaV1F0WjJGa1oyVjBRREZjSWp0Y2NseHVYSEpjYmx4MGNISnBkbUYwWlNCMWNHUmhkR1ZNYVhOMFpXNWxjaWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGxEWVd4c1ltRmphejh1S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYzJWMFNXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydHpLQ0J5WlcxdmRHVkpiblJsY21aaFkyVk1iMk5yY3pvZ1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydGJYU0FwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1eVpXMXZkR1ZIWVdSblpYUkpibWwwWVd4TWIyTnJjeUE5SUhKbGJXOTBaVWx1ZEdWeVptRmpaVXh2WTJ0ek8xeHlYRzVjZEZ4MGRHaHBjeTV6Wlc1a1UyVjBSMkZrWjJWMFNXNW1ieWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0J6Wlc1a1UyVjBSMkZrWjJWMFNXNW1ieWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBMeThnZEdWc2JDQjBhR1VnYjNSb1pYSWdaVzVrSUdodmR5QjNaU0IzWVc1MElIUnZJR0psSUhOMFlYSjBaV1FnYjI0Z2RHaGxJSEpsYlc5MFpTQmxibVJjY2x4dVhIUmNkR3hsZENCeVpYRTZJRTVIUlZObGRFZGhaR2RsZEVsdVptOGdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUlVlWEJsTGxObGRFZGhaR2RsZEVsdVptOHNYSEpjYmx4MFhIUmNkR3h2WTJ0ek9pQjBhR2x6TG5KbGJXOTBaVWRoWkdkbGRFbHVhWFJoYkV4dlkydHpMRnh5WEc1Y2RGeDBYSFIxY213NklFRjJSMkZrWjJWMExtbHVjM1JoYm1ObEtDa3VkWEpzTEZ4eVhHNWNkRngwZlR0Y2NseHVYSFJjZEhSb2FYTXVibVYwZDI5eWExQnliM1pwWkdWeVB5NXpaVzVrUlhabGJuUW9JSEpsY1NBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHOXVUbVYwZDI5eWEyVmtSMkZrWjJWMFUzUmhjblFvSUc1bGRIZHZjbXRRY205MmFXUmxjam9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBhR2x6TG01bGRIZHZjbXRRY205MmFXUmxjaUE5SUc1bGRIZHZjbXRRY205MmFXUmxjanRjY2x4dVhIUmNkSFJvYVhNdWMyVnVaRk5sZEVkaFpHZGxkRWx1Wm04b0tUdGNjbHh1WEhKY2JseDBYSFJ1WlhSM2IzSnJVSEp2ZG1sa1pYSXViMjVGYm1SbFpDZ2dLQ2s5UGx4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBkR2hwY3k1dVpYUjNiM0pyVUhKdmRtbGtaWElnUFNCdWRXeHNPMXh5WEc1Y2RGeDBYSFI5SUNrN1hISmNibHgwWEhSY2NseHVYSFJjZEc1bGRIZHZjbXRRY205MmFXUmxjaTV2YmtWMlpXNTBLQ0FvSUdWMlpXNTBPaUJPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblFnS1NBOVBseHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnpkMmwwWTJnb0lHVjJaVzUwTG5SNWNHVWdLVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbExsSmxZMlZwZG1WRmRtVnVkRVp5YjIxU1pXMXZkR1U2WEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYkdWMElISmxiVzkwWlVWMlpXNTBJRDBnWlhabGJuUWdZWE1nVGtkRlUyVnVaRVYyWlc1ME8xeHlYRzVjZEZ4MFhIUmNkRngwZEdocGN5NXlaVzF2ZEdWRmRtVnVkRU5oYkd4aVlXTnJQeTRvSUhKbGJXOTBaVVYyWlc1MExtVjJaVzUwSUNrN1hISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFI5SUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIUnlZVzV6YldsMGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnV3lCN0lHbG1ZV05sT2lCT1pYUjNiM0pyWldSSFlXUm5aWFJEYjIxd2IyNWxiblF1YVc1MFpYSm1ZV05sVG1GdFpTd2djSEp2WTJWemMyOXlPaUIwYUdsekxtOXVUbVYwZDI5eWEyVmtSMkZrWjJWMFUzUmhjblFnZlNCZE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnlaV05sYVhabGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIQmhjbVZ1ZENncE9pQkZibVJ3YjJsdWRFRmtaSEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2JuVnNiRHRjY2x4dVhIUjlYSEpjYmx4MFhISmNibHgwY0hWaWJHbGpJR2RsZENCM1lXNTBjMVJ5WVc1elptOXliWE1vS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQm1ZV3h6WlR0Y2NseHVYSFI5WEhKY2JseHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2x1ZEdWeVptRmpaVXh2WTJ0ektDazZJRWx1YVhScFlXeEpiblJsY21aaFkyVk1iMk5yVzEwZ2V5QnlaWFIxY200Z1cxMDdJSDFjY2x4dVhIUmNjbHh1WEhSd2RXSnNhV01nYjI1VmNHUmhkR1VvSUdOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDazZJSFp2YVdSY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtVnVkR2wwZVVOaGJHeGlZV05ySUQwZ1kyRnNiR0poWTJzN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxibVJsY2lncE9pQktVMWd1Uld4bGJXVnVkRnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklITmxibVJGZG1WdWRGUnZRV3hzVW1WdGIzUmxjeWdnWlhabGJuUTZJRzlpYW1WamRDd2djbVZzYVdGaWJHVTZJR0p2YjJ4bFlXNGdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JsZG5RNklFNUhSVk5sYm1SRmRtVnVkQ0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSNWNHVTZJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVnVaRVYyWlc1MFZHOUJiR3hTWlcxdmRHVnpMRnh5WEc1Y2RGeDBYSFJsZG1WdWRDeGNjbHh1WEhSY2RGeDBjbVZzYVdGaWJHVXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBkR2hwY3k1dVpYUjNiM0pyVUhKdmRtbGtaWEkvTG5ObGJtUkZkbVZ1ZENnZ1pYWjBJQ2s3WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnWTJ4aGMzTWdUbVYwZDI5eWEyVmtTWFJsYlVOdmJYQnZibVZ1ZENCcGJYQnNaVzFsYm5SeklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ4eVhHNTdYSEpjYmx4MGNISnBkbUYwWlNCbGJuUnBkSGxEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQnVaWFIzYjNKclVISnZkbWxrWlhJNklFRmpkR2wyWlVsdWRHVnlabUZqWlNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQnBkR1Z0U1dRNklITjBjbWx1Wnp0Y2NseHVYSFJ3Y21sMllYUmxJSEpsYlc5MFpVVjJaVzUwUTJGc2JHSmhZMnM2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ0FwSUQwK0lIWnZhV1E3WEhKY2JseDBjSEpwZG1GMFpTQjBjbUZ1YzJadmNtMVRkR0YwWlNBOUlFNWxkSGR2Y210SmRHVnRWSEpoYm5ObWIzSnRMazV2Y20xaGJEdGNjbHh1WEhSd2NtbDJZWFJsSUd4aGMzUlZibWwyWlhKelpVWnliMjFKZEdWdE9pQk5hVzVwYldGc1VHOXpaU0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyU1hSbGJVUnliM0JEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkR0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR2wwWlcxSlpEb2djM1J5YVc1bkxDQnlaVzF2ZEdWRmRtVnVkRU5oYkd4aVlXTnJPaUFvSUdWMlpXNTBPaUJ2WW1wbFkzUWdLU0E5UGlCMmIybGtMRnh5WEc1Y2RHNWxkSGR2Y210SmRHVnRSSEp2Y0VOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbWwwWlcxSlpDQTlJR2wwWlcxSlpEdGNjbHh1WEhSY2RIUm9hWE11Y21WdGIzUmxSWFpsYm5SRFlXeHNZbUZqYXlBOUlISmxiVzkwWlVWMlpXNTBRMkZzYkdKaFkyczdYSEpjYmx4MFhIUjBhR2x6TG01bGRIZHZjbXRKZEdWdFJISnZjRU5oYkd4aVlXTnJJRDBnYm1WMGQyOXlhMGwwWlcxRWNtOXdRMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUnpkR0YwYVdNZ2NtVmhaRzl1YkhrZ2FXNTBaWEptWVdObFRtRnRaVDBnWENKaFlYSmtkbUZ5YXkxdVpYUjNiM0pyWldRdFoyRmtaMlYwUURGY0lqdGNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0IxYm1sMlpYSnpaVVp5YjIxSmRHVnRLQ2tnWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE11YkdGemRGVnVhWFpsY25ObFJuSnZiVWwwWlcwN1hISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQnlhWFpoZEdVZ2RYQmtZWFJsVEdsemRHVnVaWElvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdVpXNTBhWFI1UTJGc2JHSmhZMnMvTGlncE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNISnBkbUYwWlNCelpXNWtVMlYwU1hSbGJVbHVabThvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkQzh2SUhSbGJHd2dkR2hsSUc5MGFHVnlJR1Z1WkNCb2IzY2dkMlVnZDJGdWRDQjBieUJpWlNCemRHRnlkR1ZrSUc5dUlIUm9aU0J5WlcxdmRHVWdaVzVrWEhKY2JseDBYSFJzWlhRZ2NtVnhPaUJPUjBWVFpYUkpkR1Z0U1c1bWJ5QTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFI1Y0dVNklFNWxkSGR2Y210SFlXUm5aWFJGZG1WdWRGUjVjR1V1VTJWMFNYUmxiVWx1Wm04c1hISmNibHgwWEhSY2RHbDBaVzFKWkRvZ2RHaHBjeTVwZEdWdFNXUXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBkR2hwY3k1dVpYUjNiM0pyVUhKdmRtbGtaWEkvTG5ObGJtUkZkbVZ1ZENnZ2NtVnhJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnYjI1T1pYUjNiM0pyWldSSFlXUm5aWFJUZEdGeWRDZ2dibVYwZDI5eWExQnliM1pwWkdWeU9pQkJZM1JwZG1WSmJuUmxjbVpoWTJVZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVibVYwZDI5eWExQnliM1pwWkdWeUlEMGdibVYwZDI5eWExQnliM1pwWkdWeU8xeHlYRzVjZEZ4MGRHaHBjeTV6Wlc1a1UyVjBTWFJsYlVsdVptOG9LVHRjY2x4dVhISmNibHgwWEhSdVpYUjNiM0pyVUhKdmRtbGtaWEl1YjI1RmJtUmxaQ2dnS0NrOVBseHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZEdocGN5NXVaWFIzYjNKclVISnZkbWxrWlhJZ1BTQnVkV3hzTzF4eVhHNWNkRngwWEhSY2RIUm9hWE11ZEhKaGJuTm1iM0p0VTNSaGRHVWdQU0JPWlhSM2IzSnJTWFJsYlZSeVlXNXpabTl5YlM1T2IzSnRZV3c3WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2RGeDBYSFI5SUNrN1hISmNibHgwWEhSY2NseHVYSFJjZEc1bGRIZHZjbXRRY205MmFXUmxjaTV2YmtWMlpXNTBLQ0JoYzNsdVl5QW9JR1YyWlc1ME9pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSemQybDBZMmdvSUdWMlpXNTBMblI1Y0dVZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTJGelpTQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUlVlWEJsTGxKbFkyVnBkbVZGZG1WdWRFWnliMjFTWlcxdmRHVTZYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBiR1YwSUhKbGJXOTBaVVYyWlc1MElEMGdaWFpsYm5RZ1lYTWdUa2RGVTJWdVpFVjJaVzUwTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1eVpXMXZkR1ZGZG1WdWRFTmhiR3hpWVdOclB5NG9JSEpsYlc5MFpVVjJaVzUwTG1WMlpXNTBJQ2s3WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWEhSallYTmxJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVjBWSEpoYm5ObWIzSnRVM1JoZEdVNlhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGJHVjBJSE5sZEZSeVlXNXpabTl5YlZOMFlYUmxJRDBnWlhabGJuUWdZWE1nVGtkRlUyVjBWSEpoYm5ObWIzSnRVM1JoZEdVN1hISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2MyVjBWSEpoYm5ObWIzSnRVM1JoZEdVdWJtVjNVM1JoZEdVZ1BUMGdUbVYwZDI5eWEwbDBaVzFVY21GdWMyWnZjbTB1VDNabGNuSnBaR1VnS1Z4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmhkMkZwZENCdVpYUjNiM0pyVUhKdmRtbGtaWEl1Ykc5amF5Z3BPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11ZEhKaGJuTm1iM0p0VTNSaGRHVWdQU0J6WlhSVWNtRnVjMlp2Y20xVGRHRjBaUzV1WlhkVGRHRjBaVHRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJwWmlnZ2MyVjBWSEpoYm5ObWIzSnRVM1JoZEdVdWRXNXBkbVZ5YzJWR2NtOXRTWFJsYlNBcFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdWJHRnpkRlZ1YVhabGNuTmxSbkp2YlVsMFpXMGdQU0J6WlhSVWNtRnVjMlp2Y20xVGRHRjBaUzUxYm1sMlpYSnpaVVp5YjIxSmRHVnRPMXh5WEc1Y2RGeDBYSFJjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkRngwWEhSY2RHbG1LQ0IwYUdsekxuUnlZVzV6Wm05eWJWTjBZWFJsSUQwOUlFNWxkSGR2Y210SmRHVnRWSEpoYm5ObWIzSnRMa1J5YjNCd2FXNW5JQ2xjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFlYZGhhWFFnZEdocGN5NXVaWFIzYjNKclNYUmxiVVJ5YjNCRFlXeHNZbUZqYXlncE8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSaGQyRnBkQ0J1WlhSM2IzSnJVSEp2ZG1sa1pYSXVkVzVzYjJOcktDazdYSEpjYmx4MFhIUmNkRngwWEhSY2RHeGxkQ0J5WlhOd09pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUWdQVnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTBkaFpHZGxkRVYyWlc1MFZIbHdaUzVFY205d1EyOXRjR3hsZEdWY2NseHVYSFJjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RGeDBYSFIwYUdsekxtNWxkSGR2Y210UWNtOTJhV1JsY2k1elpXNWtSWFpsYm5Rb0lISmxjM0FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11ZFhCa1lYUmxUR2x6ZEdWdVpYSW9LVHRjY2x4dVhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RIMGdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZEhKaGJuTnRhWFJ6S0NrNklFbHVkR1Z5Wm1GalpWQnliM0JiWFZ4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQmJJSHNnYVdaaFkyVTZJRTVsZEhkdmNtdGxaRWRoWkdkbGRFTnZiWEJ2Ym1WdWRDNXBiblJsY21aaFkyVk9ZVzFsTENCd2NtOWpaWE56YjNJNklIUm9hWE11YjI1T1pYUjNiM0pyWldSSFlXUm5aWFJUZEdGeWRDQjlJRjA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhKbFkyVnBkbVZ6S0NrNklFbHVkR1Z5Wm1GalpWQnliM0JiWFZ4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQmJYVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZEhKaGJuTm1iM0p0VDNabGNuSnBaR1JsYmlncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJSFJvYVhNdWRISmhibk5tYjNKdFUzUmhkR1VnUFQwZ1RtVjBkMjl5YTBsMFpXMVVjbUZ1YzJadmNtMHVUM1psY25KcFpHVTdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5Qm5aWFFnY0dGeVpXNTBLQ2s2SUVWdVpIQnZhVzUwUVdSa2NseHlYRzVjZEh0Y2NseHVYSFJjZEhOM2FYUmphQ2dnZEdocGN5NTBjbUZ1YzJadmNtMVRkR0YwWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTmhjMlVnVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wdVJISnZjSEJwYm1jNlhISmNibHgwWEhSY2RHTmhjMlVnVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wdVRtOXliV0ZzT2x4eVhHNWNkRngwWEhSY2RISmxkSFZ5YmlCdWRXeHNPMXh5WEc1Y2NseHVYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJTWFJsYlZSeVlXNXpabTl5YlM1UGRtVnljbWxrWlRwY2NseHVYSFJjZEZ4MFhIUnlaWFIxY200Z2RHaHBjeTV1WlhSM2IzSnJVSEp2ZG1sa1pYSS9MbkJsWlhJN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQjFZbXhwWXlCblpYUWdkMkZ1ZEhOVWNtRnVjMlp2Y20xektDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnWm1Gc2MyVTdYSEpjYmx4MGZWeHlYRzVjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCcGJuUmxjbVpoWTJWTWIyTnJjeWdwT2lCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amExdGRJSHNnY21WMGRYSnVJRnRkT3lCOVhISmNibHgwWEhKY2JseDBjSFZpYkdsaklHOXVWWEJrWVhSbEtDQmpZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0FwT2lCMmIybGtYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTVsYm5ScGRIbERZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ5Wlc1a1pYSW9LVG9nU2xOWUxrVnNaVzFsYm5SY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdiblZzYkR0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ6Wlc1a1JYWmxiblJVYjBGc2JGSmxiVzkwWlhNb0lHVjJaVzUwT2lCdlltcGxZM1FzSUhKbGJHbGhZbXhsT2lCaWIyOXNaV0Z1SUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1pYWjBPaUJPUjBWVFpXNWtSWFpsYm5RZ1BWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBlWEJsT2lCT1pYUjNiM0pyUjJGa1oyVjBSWFpsYm5SVWVYQmxMbE5sYm1SRmRtVnVkRlJ2UVd4c1VtVnRiM1JsY3l4Y2NseHVYSFJjZEZ4MFpYWmxiblFzWEhKY2JseDBYSFJjZEhKbGJHbGhZbXhsTEZ4eVhHNWNkRngwZlR0Y2NseHVYSFJjZEhSb2FYTXVibVYwZDI5eWExQnliM1pwWkdWeVB5NXpaVzVrUlhabGJuUW9JR1YyZENBcE8xeHlYRzVjZEgxY2NseHVmVnh5WEc1Y2NseHVJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0LnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvY29tcG9uZW50X3JlbW90ZV9nYWRnZXQudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IFJlbW90ZUdhZGdldEV2ZW50VHlwZSwgUmVtb3RlR2FkZ2V0Q29tcG9uZW50LCBrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZSwgUmVtb3RlSXRlbUNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW1vdGVHYWRnZXRFdmVudFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gUmVtb3RlR2FkZ2V0Q29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4ga19yZW1vdGVHcmFiYmFibGVJbnRlcmZhY2U7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUl0ZW1Db21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIFJlbW90ZUl0ZW1Db21wb25lbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIFJlbW90ZUdhZGdldEV2ZW50VHlwZTtcXHJcXG4oZnVuY3Rpb24gKFJlbW90ZUdhZGdldEV2ZW50VHlwZSkge1xcclxcbiAgICBSZW1vdGVHYWRnZXRFdmVudFR5cGVbXFxcIlJlY2VpdmVFdmVudEZyb21NYXN0ZXJcXFwiXSA9IFxcXCJyZWNlaXZlX2V2ZW50X2Zyb21fbWFzdGVyXFxcIjtcXHJcXG4gICAgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlW1xcXCJTZW5kRXZlbnRUb01hc3RlclxcXCJdID0gXFxcInNlbmRfZXZlbnRfdG9fbWFzdGVyXFxcIjtcXHJcXG4gICAgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlW1xcXCJEZXN0cm95R2FkZ2V0XFxcIl0gPSBcXFwiZGVzdHJveV9nYWRnZXRcXFwiO1xcclxcbiAgICBSZW1vdGVHYWRnZXRFdmVudFR5cGVbXFxcIlNldEl0ZW1JbmZvXFxcIl0gPSBcXFwic2V0X2l0ZW1faW5mb1xcXCI7XFxyXFxuICAgIFJlbW90ZUdhZGdldEV2ZW50VHlwZVtcXFwiU3RhcnRHcmFiXFxcIl0gPSBcXFwic3RhcnRfZ3JhYlxcXCI7XFxyXFxuICAgIFJlbW90ZUdhZGdldEV2ZW50VHlwZVtcXFwiRW5kR3JhYlxcXCJdID0gXFxcImVuZF9ncmFiXFxcIjtcXHJcXG59KShSZW1vdGVHYWRnZXRFdmVudFR5cGUgfHwgKFJlbW90ZUdhZGdldEV2ZW50VHlwZSA9IHt9KSk7XFxyXFxuY2xhc3MgUmVtb3RlR2FkZ2V0Q29tcG9uZW50IHtcXHJcXG4gICAgY29uc3RydWN0b3IoY2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5tYXN0ZXJDYWxsYmFjayA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLmFjdGl2ZVJlbW90ZSA9IG51bGw7XFxyXFxuICAgICAgICB0aGlzLm1hc3RlckNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgdXBkYXRlTGlzdGVuZXIoKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW90ZVN0YXJ0KGFjdGl2ZUNvbnRhaW5lcikge1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIFJlbW90ZUdhZGdldEV2ZW50VHlwZS5SZWNlaXZlRXZlbnRGcm9tTWFzdGVyOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtYXN0ZXJFdmVudCA9IGV2ZW50O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IHRoaXMubWFzdGVyQ2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIG1hc3RlckV2ZW50LmV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIFJlbW90ZUdhZGdldEV2ZW50VHlwZS5EZXN0cm95R2FkZ2V0OlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlUmVtb3RlID0gbnVsbDtcXHJcXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxpc3RlbmVyKCk7XFxyXFxuICAgICAgICAgICAgLy8gdGhpcyByZW1vdGUgZ2FkZ2V0IGlzIG5vIGxvbmdlciBpbiBhIHJvb20uIEl0IHNob3VsZCBkZXN0cm95IGl0c2VsZi5cXHJcXG4gICAgICAgICAgICB3aW5kb3cuY2xvc2UoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVSZW1vdGUgPSBhY3RpdmVDb250YWluZXI7XFxyXFxuICAgICAgICB0aGlzLnVwZGF0ZUxpc3RlbmVyKCk7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHRyYW5zbWl0cygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbeyBpZmFjZTogUmVtb3RlR2FkZ2V0Q29tcG9uZW50LmludGVyZmFjZU5hbWUsIHByb2Nlc3NvcjogdGhpcy5vblJlbW90ZVN0YXJ0IH1dO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcGFyZW50KCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgcmV0dXJuIChfYSA9IHRoaXMuYWN0aXZlUmVtb3RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcjtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgd2FudHNUcmFuc2Zvcm1zKCkge1xcclxcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBpbnRlcmZhY2VMb2NrcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2R2FkZ2V0XFxcIl0uaW5zdGFuY2UoKS5pbml0aWFsSW50ZXJmYWNlcy5maWx0ZXIoKGxvY2spID0+IGxvY2suaWZhY2UgPT0gUmVtb3RlR2FkZ2V0Q29tcG9uZW50LmludGVyZmFjZU5hbWUpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uVXBkYXRlKGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gY2FsbGJhY2s7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgc2VuZEV2ZW50VG9NYXN0ZXIoZXZlbnQsIHJlbGlhYmxlKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgZXZlbnRFdmVudCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBSZW1vdGVHYWRnZXRFdmVudFR5cGUuU2VuZEV2ZW50VG9NYXN0ZXIsXFxyXFxuICAgICAgICAgICAgZXZlbnQsXFxyXFxuICAgICAgICAgICAgcmVsaWFibGUsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5hY3RpdmVSZW1vdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQoZXZlbnRFdmVudCk7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuUmVtb3RlR2FkZ2V0Q29tcG9uZW50LmludGVyZmFjZU5hbWUgPSBcXFwiYWFyZHZhcmstcmVtb3RlLWdhZGdldEAxXFxcIjtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdC5hXFxyXFxuXSwgUmVtb3RlR2FkZ2V0Q29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlU3RhcnRcXFwiLCBudWxsKTtcXHJcXG5jb25zdCBrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZSA9IFxcXCJhYXJkdmFyay1yZW1vdGUtZ3JhYmJhYmxlQDFcXFwiO1xcclxcbmNsYXNzIFJlbW90ZUl0ZW1Db21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcihpdGVtSWQsIGNhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubWFzdGVyQ2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVSZW1vdGUgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5pc0dyYWJiZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgIHRoaXMubWFzdGVyQ2FsbGJhY2sgPSBjYWxsYmFjaztcXHJcXG4gICAgICAgIHRoaXMuaXRlbUlkID0gaXRlbUlkO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUxpc3RlbmVyKCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5lbnRpdHlDYWxsYmFjaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgc2V0SXNHcmFiYmVkKGlzR3JhYmJlZCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgaWYgKGlzR3JhYmJlZCAhPSB0aGlzLmlzR3JhYmJlZCkge1xcclxcbiAgICAgICAgICAgIC8vIHRlbGwgdGhlIG90aGVyIGVuZCBob3cgd2Ugd2FudCB0byBiZSBzdGFydGVkIG9uIHRoZSByZW1vdGUgZW5kXFxyXFxuICAgICAgICAgICAgbGV0IHJlcSA9IHtcXHJcXG4gICAgICAgICAgICAgICAgdHlwZTogaXNHcmFiYmVkID8gUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLlN0YXJ0R3JhYiA6IFJlbW90ZUdhZGdldEV2ZW50VHlwZS5FbmRHcmFiLFxcclxcbiAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgKF9hID0gdGhpcy5hY3RpdmVSZW1vdGUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQocmVxKTtcXHJcXG4gICAgICAgICAgICB0aGlzLmlzR3JhYmJlZCA9IGlzR3JhYmJlZDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICBzZW5kU2V0SXRlbUluZm8oKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAvLyB0ZWxsIHRoZSBvdGhlciBlbmQgaG93IHdlIHdhbnQgdG8gYmUgc3RhcnRlZCBvbiB0aGUgcmVtb3RlIGVuZFxcclxcbiAgICAgICAgbGV0IHJlcSA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBSZW1vdGVHYWRnZXRFdmVudFR5cGUuU2V0SXRlbUluZm8sXFxyXFxuICAgICAgICAgICAgaXRlbUlkOiB0aGlzLml0ZW1JZCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmFjdGl2ZVJlbW90ZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnNlbmRFdmVudChyZXEpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uUmVtb3RlU3RhcnQoYWN0aXZlUmVtb3RlKSB7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGUub25FdmVudCgoZXZlbnQpID0+IHtcXHJcXG4gICAgICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLlJlY2VpdmVFdmVudEZyb21NYXN0ZXI6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1hc3RlckV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gdGhpcy5tYXN0ZXJDYWxsYmFjaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwodGhpcywgbWFzdGVyRXZlbnQuZXZlbnQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLkRlc3Ryb3lHYWRnZXQ6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGUub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZW1vdGUgPSBudWxsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgdGhpcy5zZW5kU2V0SXRlbUluZm8oKTtcXHJcXG4gICAgICAgIHRoaXMuYWN0aXZlUmVtb3RlID0gYWN0aXZlUmVtb3RlO1xcclxcbiAgICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcigpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB0cmFuc21pdHMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW3sgaWZhY2U6IFJlbW90ZUdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lLCBwcm9jZXNzb3I6IHRoaXMub25SZW1vdGVTdGFydCB9XTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcmVjZWl2ZXMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW107XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHBhcmVudCgpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIHJldHVybiAhdGhpcy5pc0dyYWJiZWQgJiYgKChfYSA9IHRoaXMuYWN0aXZlUmVtb3RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EucGVlcik7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlTG9ja3MoKSB7XFxyXFxuICAgICAgICBsZXQgbG9jayA9IF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiQXZHYWRnZXRcXFwiXS5pbnN0YW5jZSgpLmZpbmRJbml0aWFsSW50ZXJmYWNlKFJlbW90ZUdhZGdldENvbXBvbmVudC5pbnRlcmZhY2VOYW1lKTtcXHJcXG4gICAgICAgIGlmICghbG9jaylcXHJcXG4gICAgICAgICAgICByZXR1cm4gW107XFxyXFxuICAgICAgICBsZXQgaXRlbUxvY2sgPSBPYmplY3QuYXNzaWduKHt9LCBsb2NrKTtcXHJcXG4gICAgICAgIGl0ZW1Mb2NrLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgbG9jay5wYXJhbXMpLCB7IGl0ZW1JZDogdGhpcy5pdGVtSWQgfSk7XFxyXFxuICAgICAgICByZXR1cm4gW2l0ZW1Mb2NrXTtcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIHJldHVybiBudWxsO1xcclxcbiAgICB9XFxyXFxuICAgIHNlbmRFdmVudFRvTWFzdGVyKGV2ZW50LCByZWxpYWJsZSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGV2ZW50RXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogUmVtb3RlR2FkZ2V0RXZlbnRUeXBlLlNlbmRFdmVudFRvTWFzdGVyLFxcclxcbiAgICAgICAgICAgIGV2ZW50LFxcclxcbiAgICAgICAgICAgIHJlbGlhYmxlLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuYWN0aXZlUmVtb3RlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KGV2ZW50RXZlbnQpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0LmFcXHJcXG5dLCBSZW1vdGVJdGVtQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlU3RhcnRcXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OWpiMjF3YjI1bGJuUmZjbVZ0YjNSbFgyZGhaR2RsZEM1MGMzZy9PV1UxTkNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3TzBGQlEydERPMEZCUlZjN1FVRkhOME1zU1VGQldTeHhRa0ZSV0R0QlFWSkVMRmRCUVZrc2NVSkJRWEZDTzBsQlJXaERMRFpGUVVGdlJEdEpRVU53UkN4dFJVRkJNRU03U1VGRE1VTXNlVVJCUVdkRE8wbEJRMmhETEhORVFVRTJRanRKUVVNM1FpeHBSRUZCZDBJN1NVRkRlRUlzTmtOQlFXOUNPMEZCUTNKQ0xFTkJRVU1zUlVGU1Z5eHhRa0ZCY1VJc1MwRkJja0lzY1VKQlFYRkNMRkZCVVdoRE8wRkJhMEpOTEUxQlFVMHNjVUpCUVhGQ08wbEJVV3BETEZsQlFXRXNVVUZCYlVNN1VVRk9lRU1zYlVKQlFXTXNSMEZCWlN4SlFVRkpMRU5CUVVNN1VVRkRiRU1zYlVKQlFXTXNSMEZCT0VJc1NVRkJTU3hEUVVGRE8xRkJRMnBFTEdsQ1FVRlpMRWRCUVc5Q0xFbEJRVWtzUTBGQlF6dFJRVTAxUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExGRkJRVkVzUTBGQlF6dEpRVU5vUXl4RFFVRkRPMGxCUlU4c1kwRkJZenM3VVVGRmNrSXNWVUZCU1N4RFFVRkRMR05CUVdNc0swTkJRVzVDTEVsQlFVa3NSVUZCYjBJN1NVRkRla0lzUTBGQlF6dEpRVWRQTEdGQlFXRXNRMEZCUlN4bFFVRm5RenRSUVVWMFJDeGxRVUZsTEVOQlFVTXNUMEZCVHl4RFFVTjBRaXhEUVVGRkxFdEJRWGRDTEVWQlFVY3NSVUZCUlRzN1dVRkZPVUlzVVVGQlVTeExRVUZMTEVOQlFVTXNTVUZCU1N4RlFVTnNRanRuUWtGRFF5eExRVUZMTEhGQ1FVRnhRaXhEUVVGRExITkNRVUZ6UWp0dlFrRkRha1E3ZDBKQlEwTXNTVUZCU1N4WFFVRlhMRWRCUVVjc1MwRkJjVUlzUTBGQlF6dDNRa0ZEZUVNc1ZVRkJTU3hEUVVGRExHTkJRV01zSzBOQlFXNUNMRWxCUVVrc1JVRkJiVUlzVjBGQlZ5eERRVUZETEV0QlFVc3NSVUZCUnp0eFFrRkRNME03YjBKQlEwUXNUVUZCVFR0blFrRkZUaXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMR0ZCUVdFN2IwSkJRM2hETzNkQ1FVTkRMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzUTBGQlF6dHhRa0ZEWmp0aFFVTkVPMUZCUTBZc1EwRkJReXhEUVVORU8xRkJSVVFzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZEZEVJc1IwRkJSeXhGUVVGRk8xbEJSVW9zU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRla0lzU1VGQlNTeERRVUZETEdOQlFXTXNSVUZCUlN4RFFVRkRPMWxCUlhSQ0xIVkZRVUYxUlR0WlFVTjJSU3hOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTTdVVUZEYUVJc1EwRkJReXhEUVVGRkxFTkJRVU03VVVGRlRDeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMR1ZCUVdVc1EwRkJRenRSUVVOd1F5eEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1NVRkRka0lzUTBGQlF6dEpRVVZFTEVsQlFWY3NVMEZCVXp0UlFVVnVRaXhQUVVGUExFTkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zWVVGQllTeEZRVUZGTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1lVRkJZU3hGUVVGRkxFTkJRVVVzUTBGQlF6dEpRVU14Uml4RFFVRkRPMGxCUlVRc1NVRkJWeXhSUVVGUk8xRkJSV3hDTEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTFnc1EwRkJRenRKUVVWRUxFbEJRVmNzVFVGQlRUczdVVUZGYUVJc1lVRkJUeXhKUVVGSkxFTkJRVU1zV1VGQldTd3dRMEZCUlN4SlFVRkpMRU5CUVVNN1NVRkRhRU1zUTBGQlF6dEpRVVZFTEVsQlFWY3NaVUZCWlR0UlFVVjZRaXhQUVVGUExFdEJRVXNzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4SlFVRlhMR05CUVdNN1VVRkZlRUlzVDBGQlR5eDVSRUZCVVN4RFFVRkRMRkZCUVZFc1JVRkJSU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRkxFbEJRVEJDTEVWQlFVY3NSVUZCUlN4RFFVTnlSaXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEhGQ1FVRnhRaXhEUVVGRExHRkJRV0VzUTBGQlJTeERRVUZETzBsQlEzUkVMRU5CUVVNN1NVRkZUU3hSUVVGUkxFTkJRVVVzVVVGQmIwSTdVVUZGY0VNc1NVRkJTU3hEUVVGRExHTkJRV01zUjBGQlJ5eFJRVUZSTEVOQlFVTTdTVUZEYUVNc1EwRkJRenRKUVVWTkxFMUJRVTA3VVVGRldpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmlMRU5CUVVNN1NVRkZUU3hwUWtGQmFVSXNRMEZCUlN4TFFVRmhMRVZCUVVVc1VVRkJhVUk3TzFGQlJYcEVMRWxCUVVrc1ZVRkJWU3hIUVVOa08xbEJRME1zU1VGQlNTeEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExHbENRVUZwUWp0WlFVTTNReXhMUVVGTE8xbEJRMHdzVVVGQlVUdFRRVU5TTEVOQlFVTTdVVUZEUml4VlFVRkpMRU5CUVVNc1dVRkJXU3d3UTBGQlJTeFRRVUZUTEVOQlFVVXNWVUZCVlN4RlFVRkhPMGxCUXpWRExFTkJRVU03TzBGQk9VWmxMRzFEUVVGaExFZEJRVVVzTUVKQlFUQkNMRU5CUVVNN1FVRmhNVVE3U1VGRVF5eHhSRUZCU1Rzd1JFRnRRMG83UVVGclJFc3NUVUZCVFN3d1FrRkJNRUlzUjBGQlJTdzJRa0ZCTmtJc1EwRkJRenRCUVVWb1JTeE5RVUZOTEcxQ1FVRnRRanRKUVZFdlFpeFpRVUZoTEUxQlFXTXNSVUZCUlN4UlFVRnRRenRSUVU1NFJDeHRRa0ZCWXl4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVOc1F5eHRRa0ZCWXl4SFFVRTRRaXhKUVVGSkxFTkJRVU03VVVGRGFrUXNhVUpCUVZrc1IwRkJiMElzU1VGQlNTeERRVUZETzFGQlJYSkRMR05CUVZNc1IwRkJXU3hMUVVGTExFTkJRVU03VVVGSmJFTXNTVUZCU1N4RFFVRkRMR05CUVdNc1IwRkJSeXhSUVVGUkxFTkJRVU03VVVGREwwSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1IwRkJSeXhOUVVGTkxFTkJRVU03U1VGRGRFSXNRMEZCUXp0SlFVVlBMR05CUVdNN08xRkJSWEpDTEZWQlFVa3NRMEZCUXl4alFVRmpMQ3REUVVGdVFpeEpRVUZKTEVWQlFXOUNPMGxCUTNwQ0xFTkJRVU03U1VGRlRTeFpRVUZaTEVOQlFVVXNVMEZCYTBJN08xRkJSWFJETEVsQlFVa3NVMEZCVXl4SlFVRkpMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJReTlDTzFsQlEwTXNhVVZCUVdsRk8xbEJRMnBGTEVsQlFVa3NSMEZCUnl4SFFVTlFPMmRDUVVORExFbEJRVWtzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMSEZDUVVGeFFpeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNUMEZCVHp0aFFVTnFSaXhEUVVGRE8xbEJRMFlzVlVGQlNTeERRVUZETEZsQlFWa3NNRU5CUVVVc1UwRkJVeXhEUVVGRkxFZEJRVWNzUlVGQlJ6dFpRVVZ3UXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExGTkJRVk1zUTBGQlF6dFRRVU16UWp0SlFVTkdMRU5CUVVNN1NVRkZUeXhsUVVGbE96dFJRVVYwUWl4cFJVRkJhVVU3VVVGRGFrVXNTVUZCU1N4SFFVRkhMRWRCUTFBN1dVRkRReXhKUVVGSkxFVkJRVVVzY1VKQlFYRkNMRU5CUVVNc1YwRkJWenRaUVVOMlF5eE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTFCUVUwN1UwRkRia0lzUTBGQlF6dFJRVU5HTEZWQlFVa3NRMEZCUXl4WlFVRlpMREJEUVVGRkxGTkJRVk1zUTBGQlJTeEhRVUZITEVWQlFVYzdTVUZEY2tNc1EwRkJRenRKUVVkUExHRkJRV0VzUTBGQlJTeFpRVUUyUWp0UlFVVnVSQ3haUVVGWkxFTkJRVU1zVDBGQlR5eERRVU51UWl4RFFVRkZMRXRCUVhkQ0xFVkJRVWNzUlVGQlJUczdXVUZGT1VJc1VVRkJVU3hMUVVGTExFTkJRVU1zU1VGQlNTeEZRVU5zUWp0blFrRkRReXhMUVVGTExIRkNRVUZ4UWl4RFFVRkRMSE5DUVVGelFqdHZRa0ZEYWtRN2QwSkJRME1zU1VGQlNTeFhRVUZYTEVkQlFVY3NTMEZCY1VJc1EwRkJRenQzUWtGRGVFTXNWVUZCU1N4RFFVRkRMR05CUVdNc0swTkJRVzVDTEVsQlFVa3NSVUZCYlVJc1YwRkJWeXhEUVVGRExFdEJRVXNzUlVGQlJ6dHhRa0ZETTBNN2IwSkJRMFFzVFVGQlRUdG5Ra0ZGVGl4TFFVRkxMSEZDUVVGeFFpeERRVUZETEdGQlFXRTdiMEpCUTNoRE8zZENRVU5ETEUxQlFVMHNRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenR4UWtGRFpqdGhRVU5FTzFGQlEwWXNRMEZCUXl4RFFVTkVPMUZCUlVRc1dVRkJXU3hEUVVGRExFOUJRVThzUTBGRGJrSXNSMEZCUnl4RlFVRkZPMWxCUlVvc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdXVUZEZWtJc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzFGQlEzWkNMRU5CUVVNc1EwRkJSU3hEUVVGRE8xRkJSVXdzU1VGQlNTeERRVUZETEdWQlFXVXNSVUZCUlN4RFFVRkRPMUZCUTNaQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NXVUZCV1N4RFFVRkRPMUZCUTJwRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXp0SlFVTjJRaXhEUVVGRE8wbEJSVVFzU1VGQlZ5eFRRVUZUTzFGQlJXNUNMRTlCUVU4c1EwRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeHhRa0ZCY1VJc1EwRkJReXhoUVVGaExFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4aFFVRmhMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRekZHTEVOQlFVTTdTVUZGUkN4SlFVRlhMRkZCUVZFN1VVRkZiRUlzVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEV0N4RFFVRkRPMGxCUlVRc1NVRkJWeXhOUVVGTk96dFJRVVZvUWl4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zVjBGQlNTeEpRVUZKTEVOQlFVTXNXVUZCV1N3d1EwRkJSU3hKUVVGSkxFVkJRVU03U1VGRGJrUXNRMEZCUXp0SlFVVkVMRWxCUVZjc1pVRkJaVHRSUVVWNlFpeFBRVUZQTEV0QlFVc3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3hKUVVGWExHTkJRV003VVVGRmVFSXNTVUZCU1N4SlFVRkpMRWRCUVVjc2VVUkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4dlFrRkJiMElzUTBGQlJTeHhRa0ZCY1VJc1EwRkJReXhoUVVGaExFTkJRVVVzUTBGQlF6dFJRVU16Uml4SlFVRkpMRU5CUVVNc1NVRkJTVHRaUVVOU0xFOUJRVThzUlVGQlJTeERRVUZETzFGQlJWZ3NTVUZCU1N4UlFVRlJMSEZDUVVGUExFbEJRVWtzUTBGQlJTeERRVUZETzFGQlF6RkNMRkZCUVZFc1EwRkJReXhOUVVGTkxHMURRVUZQTEVsQlFVa3NRMEZCUXl4TlFVRk5MRXRCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVkQlFVVXNRMEZCUXp0UlFVTjZSQ3hQUVVGUExFTkJRVVVzVVVGQlVTeERRVUZGTEVOQlFVTTdTVUZEY2tJc1EwRkJRenRKUVVkTkxGRkJRVkVzUTBGQlJTeFJRVUZ2UWp0UlFVVndReXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEZGQlFWRXNRMEZCUXp0SlFVTm9ReXhEUVVGRE8wbEJSVTBzVFVGQlRUdFJRVVZhTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJJc1EwRkJRenRKUVVWTkxHbENRVUZwUWl4RFFVRkZMRXRCUVdFc1JVRkJSU3hSUVVGcFFqczdVVUZGZWtRc1NVRkJTU3hWUVVGVkxFZEJRMlE3V1VGRFF5eEpRVUZKTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zYVVKQlFXbENPMWxCUXpkRExFdEJRVXM3V1VGRFRDeFJRVUZSTzFOQlExSXNRMEZCUXp0UlFVTkdMRlZCUVVrc1EwRkJReXhaUVVGWkxEQkRRVUZGTEZOQlFWTXNRMEZCUlN4VlFVRlZMRVZCUVVjN1NVRkROVU1zUTBGQlF6dERRVU5FTzBGQmRFWkJPMGxCUkVNc2NVUkJRVWs3ZDBSQmFVTktJaXdpWm1sc1pTSTZJaTR2YzNKakwyTnZiWEJ2Ym1WdWRGOXlaVzF2ZEdWZloyRmtaMlYwTG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVWdVpIQnZhVzUwUVdSa2Npd2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnNnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibWx0Y0c5eWRDQjdJRVZ1ZEdsMGVVTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZMjl0Y0c5elpXUmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJSHNnUVhaSFlXUm5aWFFnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJkaFpHZGxkQ2M3WEhKY2JtbHRjRzl5ZENCN0lFRmpkR2wyWlVsdWRHVnlabUZqWlN3Z1NXNTBaWEptWVdObFVISnZjQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYVc1MFpYSm1ZV05sWDJWdWRHbDBlU2M3WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCU1pXMXZkR1ZIWVdSblpYUkZkbVZ1ZEZSNWNHVmNjbHh1ZTF4eVhHNWNkRkpsWTJWcGRtVkZkbVZ1ZEVaeWIyMU5ZWE4wWlhJZ1BTQmNJbkpsWTJWcGRtVmZaWFpsYm5SZlpuSnZiVjl0WVhOMFpYSmNJaXhjY2x4dVhIUlRaVzVrUlhabGJuUlViMDFoYzNSbGNpQTlJRndpYzJWdVpGOWxkbVZ1ZEY5MGIxOXRZWE4wWlhKY0lpeGNjbHh1WEhSRVpYTjBjbTk1UjJGa1oyVjBJRDBnWENKa1pYTjBjbTk1WDJkaFpHZGxkRndpTEZ4eVhHNWNkRk5sZEVsMFpXMUpibVp2SUQwZ1hDSnpaWFJmYVhSbGJWOXBibVp2WENJc1hISmNibHgwVTNSaGNuUkhjbUZpSUQwZ1hDSnpkR0Z5ZEY5bmNtRmlYQ0lzWEhKY2JseDBSVzVrUjNKaFlpQTlJRndpWlc1a1gyZHlZV0pjSWl4Y2NseHVmVnh5WEc1Y2NseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGeHlYRzU3WEhKY2JseDBkSGx3WlRvZ1VtVnRiM1JsUjJGa1oyVjBSWFpsYm5SVWVYQmxPMXh5WEc1OVhISmNibHh5WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZKSFJWTmxibVJGZG1WdWRDQmxlSFJsYm1SeklGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFhISmNibnRjY2x4dVhIUmxkbVZ1ZERvZ2IySnFaV04wTzF4eVhHNWNkSEpsYkdsaFlteGxQem9nWW05dmJHVmhianRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCU1IwVlRaWFJKZEdWdFNXNW1ieUJsZUhSbGJtUnpJRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBYSEpjYm50Y2NseHVYSFJwZEdWdFNXUTZJSE4wY21sdVp6dGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR05zWVhOeklGSmxiVzkwWlVkaFpHZGxkRU52YlhCdmJtVnVkQ0JwYlhCc1pXMWxiblJ6SUVWdWRHbDBlVU52YlhCdmJtVnVkRnh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JsYm5ScGRIbERZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCdFlYTjBaWEpEWVd4c1ltRmphem9nS0NCbGRtVnVkRG9nYjJKcVpXTjBJQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCaFkzUnBkbVZTWlcxdmRHVTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQTlJRzUxYkd3N1hISmNibHh5WEc1Y2RITjBZWFJwWXlCeVpXRmtiMjVzZVNCcGJuUmxjbVpoWTJWT1lXMWxQU0JjSW1GaGNtUjJZWEpyTFhKbGJXOTBaUzFuWVdSblpYUkFNVndpTzF4eVhHNWNjbHh1WEhSamIyNXpkSEoxWTNSdmNpZ2dZMkZzYkdKaFkyczZJQ2dnWlhabGJuUTZJRzlpYW1WamRDQXBJRDArSUhadmFXUWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11YldGemRHVnlRMkZzYkdKaFkyc2dQU0JqWVd4c1ltRmphenRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdkWEJrWVhSbFRHbHpkR1Z1WlhJb0tWeHlYRzVjZEh0Y2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBRR0pwYm1SY2NseHVYSFJ3Y21sMllYUmxJRzl1VW1WdGIzUmxVM1JoY25Rb0lHRmpkR2wyWlVOdmJuUmhhVzVsY2pvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sSUNsY2NseHVYSFI3WEhKY2JseDBYSFJoWTNScGRtVkRiMjUwWVdsdVpYSXViMjVGZG1WdWRDZ2dYSEpjYmx4MFhIUmNkQ2dnWlhabGJuUTZJRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBJQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSE4zYVhSamFDZ2daWFpsYm5RdWRIbHdaU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwWTJGelpTQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGUjVjR1V1VW1WalpXbDJaVVYyWlc1MFJuSnZiVTFoYzNSbGNqcGNjbHh1WEhSY2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYkdWMElHMWhjM1JsY2tWMlpXNTBJRDBnWlhabGJuUWdZWE1nVWtkRlUyVnVaRVYyWlc1ME8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSMGFHbHpMbTFoYzNSbGNrTmhiR3hpWVdOclB5NG9JRzFoYzNSbGNrVjJaVzUwTG1WMlpXNTBJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhISmNibHgwWEhSY2RGeDBYSFJqWVhObElGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaUzVFWlhOMGNtOTVSMkZrWjJWME9seHlYRzVjZEZ4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBYSFIzYVc1a2IzY3VZMnh2YzJVb0tUdGNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkQ2xjY2x4dVhISmNibHgwWEhSaFkzUnBkbVZEYjI1MFlXbHVaWEl1YjI1RmJtUmxaQ2dnWEhKY2JseDBYSFJjZENncElEMCtYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSMGFHbHpMbUZqZEdsMlpWSmxiVzkwWlNBOUlHNTFiR3c3WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVk1hWE4wWlc1bGNpZ3BPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUXZMeUIwYUdseklISmxiVzkwWlNCbllXUm5aWFFnYVhNZ2JtOGdiRzl1WjJWeUlHbHVJR0VnY205dmJTNGdTWFFnYzJodmRXeGtJR1JsYzNSeWIza2dhWFJ6Wld4bUxseHlYRzVjZEZ4MFhIUmNkSGRwYm1SdmR5NWpiRzl6WlNncE8xeHlYRzVjZEZ4MFhIUjlJQ2s3WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVZ1BTQmhZM1JwZG1WRGIyNTBZV2x1WlhJN1hISmNibHgwWEhSMGFHbHpMblZ3WkdGMFpVeHBjM1JsYm1WeUtDazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJSFJ5WVc1emJXbDBjeWdwT2lCSmJuUmxjbVpoWTJWUWNtOXdXMTFjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1d5QjdJR2xtWVdObE9pQlNaVzF2ZEdWSFlXUm5aWFJEYjIxd2IyNWxiblF1YVc1MFpYSm1ZV05sVG1GdFpTd2djSEp2WTJWemMyOXlPaUIwYUdsekxtOXVVbVZ0YjNSbFUzUmhjblFnZlNCZE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNIVmliR2xqSUdkbGRDQnlaV05sYVhabGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnVzEwN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIQmhjbVZ1ZENncE9pQkZibVJ3YjJsdWRFRmtaSEpjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTVoWTNScGRtVlNaVzF2ZEdVL0xuQmxaWEk3WEhKY2JseDBmVnh5WEc1Y2RGeHlYRzVjZEhCMVlteHBZeUJuWlhRZ2QyRnVkSE5VY21GdWMyWnZjbTF6S0NsY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdabUZzYzJVN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElHbHVkR1Z5Wm1GalpVeHZZMnR6S0NrNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTBnWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlFRjJSMkZrWjJWMExtbHVjM1JoYm1ObEtDa3VhVzVwZEdsaGJFbHVkR1Z5Wm1GalpYTXVabWxzZEdWeUtDQW9JR3h2WTJzNklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJJQ2tnUFQ0Z1hISmNibHgwWEhSY2RHeHZZMnN1YVdaaFkyVWdQVDBnVW1WdGIzUmxSMkZrWjJWMFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVNWhiV1VnS1R0Y2NseHVYSFI5WEhKY2JseDBYSEpjYmx4MGNIVmliR2xqSUc5dVZYQmtZWFJsS0NCallXeHNZbUZqYXpvZ0tDa2dQVDRnZG05cFpDQXBPaUIyYjJsa1hISmNibHgwZTF4eVhHNWNkRngwZEdocGN5NWxiblJwZEhsRFlXeHNZbUZqYXlBOUlHTmhiR3hpWVdOck8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUndkV0pzYVdNZ2NtVnVaR1Z5S0NrNklFcFRXQzVGYkdWdFpXNTBYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2MyVnVaRVYyWlc1MFZHOU5ZWE4wWlhJb0lHVjJaVzUwT2lCdlltcGxZM1FzSUhKbGJHbGhZbXhsT2lCaWIyOXNaV0Z1SUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1pYWmxiblJGZG1WdWREb2dVa2RGVTJWdVpFVjJaVzUwSUQxY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRIbHdaVG9nVW1WdGIzUmxSMkZrWjJWMFJYWmxiblJVZVhCbExsTmxibVJGZG1WdWRGUnZUV0Z6ZEdWeUxGeHlYRzVjZEZ4MFhIUmxkbVZ1ZEN4Y2NseHVYSFJjZEZ4MGNtVnNhV0ZpYkdVc1hISmNibHgwWEhSOU8xeHlYRzVjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVL0xuTmxibVJGZG1WdWRDZ2daWFpsYm5SRmRtVnVkQ0FwTzF4eVhHNWNkSDFjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOdmJuTjBJR3RmY21WdGIzUmxSM0poWW1KaFlteGxTVzUwWlhKbVlXTmxJRDFjSW1GaGNtUjJZWEpyTFhKbGJXOTBaUzFuY21GaVltRmliR1ZBTVZ3aU8xeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRkpsYlc5MFpVbDBaVzFEYjIxd2IyNWxiblFnYVcxd2JHVnRaVzUwY3lCRmJuUnBkSGxEYjIxd2IyNWxiblJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnWlc1MGFYUjVRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ2JXRnpkR1Z5UTJGc2JHSmhZMnM2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ0FwSUQwK0lIWnZhV1FnUFNCdWRXeHNPMXh5WEc1Y2RIQnlhWFpoZEdVZ1lXTjBhWFpsVW1WdGIzUmxPaUJCWTNScGRtVkpiblJsY21aaFkyVWdQU0J1ZFd4c08xeHlYRzVjZEhCeWFYWmhkR1VnYVhSbGJVbGtPaUJ6ZEhKcGJtYzdYSEpjYmx4MGNISnBkbUYwWlNCcGMwZHlZV0ppWldRNklHSnZiMnhsWVc0Z1BTQm1ZV3h6WlR0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR2wwWlcxSlpEb2djM1J5YVc1bkxDQmpZV3hzWW1GamF6b2dLQ0JsZG1WdWREb2diMkpxWldOMElDa2dQVDRnZG05cFpDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGRHaHBjeTV0WVhOMFpYSkRZV3hzWW1GamF5QTlJR05oYkd4aVlXTnJPMXh5WEc1Y2RGeDBkR2hwY3k1cGRHVnRTV1FnUFNCcGRHVnRTV1E3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSFZ3WkdGMFpVeHBjM1JsYm1WeUtDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOclB5NG9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEIxWW14cFl5QnpaWFJKYzBkeVlXSmlaV1FvSUdselIzSmhZbUpsWkRvZ1ltOXZiR1ZoYmlBcFhISmNibHgwZTF4eVhHNWNkRngwYVdZb0lHbHpSM0poWW1KbFpDQWhQU0IwYUdsekxtbHpSM0poWW1KbFpDQXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkQzh2SUhSbGJHd2dkR2hsSUc5MGFHVnlJR1Z1WkNCb2IzY2dkMlVnZDJGdWRDQjBieUJpWlNCemRHRnlkR1ZrSUc5dUlIUm9aU0J5WlcxdmRHVWdaVzVrWEhKY2JseDBYSFJjZEd4bGRDQnlaWEU2SUZKbGJXOTBaVWRoWkdkbGRFVjJaVzUwSUQxY2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkSFI1Y0dVNklHbHpSM0poWW1KbFpDQS9JRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBWSGx3WlM1VGRHRnlkRWR5WVdJZ09pQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGUjVjR1V1Ulc1a1IzSmhZaXhjY2x4dVhIUmNkRngwZlR0Y2NseHVYSFJjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVL0xuTmxibVJGZG1WdWRDZ2djbVZ4SUNrN1hISmNibHh5WEc1Y2RGeDBYSFIwYUdsekxtbHpSM0poWW1KbFpDQTlJR2x6UjNKaFltSmxaRHRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdjMlZ1WkZObGRFbDBaVzFKYm1adktDbGNjbHh1WEhSN1hISmNibHgwWEhRdkx5QjBaV3hzSUhSb1pTQnZkR2hsY2lCbGJtUWdhRzkzSUhkbElIZGhiblFnZEc4Z1ltVWdjM1JoY25SbFpDQnZiaUIwYUdVZ2NtVnRiM1JsSUdWdVpGeHlYRzVjZEZ4MGJHVjBJSEpsY1RvZ1VrZEZVMlYwU1hSbGJVbHVabThnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJTWlcxdmRHVkhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVjBTWFJsYlVsdVptOHNYSEpjYmx4MFhIUmNkR2wwWlcxSlpEb2dkR2hwY3k1cGRHVnRTV1FzWEhKY2JseDBYSFI5TzF4eVhHNWNkRngwZEdocGN5NWhZM1JwZG1WU1pXMXZkR1UvTG5ObGJtUkZkbVZ1ZENnZ2NtVnhJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJBWW1sdVpGeHlYRzVjZEhCeWFYWmhkR1VnYjI1U1pXMXZkR1ZUZEdGeWRDZ2dZV04wYVhabFVtVnRiM1JsT2lCQlkzUnBkbVZKYm5SbGNtWmhZMlVnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR0ZqZEdsMlpWSmxiVzkwWlM1dmJrVjJaVzUwS0NCY2NseHVYSFJjZEZ4MEtDQmxkbVZ1ZERvZ1VtVnRiM1JsUjJGa1oyVjBSWFpsYm5RZ0tTQTlQbHh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGMzZHBkR05vS0NCbGRtVnVkQzUwZVhCbElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmpZWE5sSUZKbGJXOTBaVWRoWkdkbGRFVjJaVzUwVkhsd1pTNVNaV05sYVhabFJYWmxiblJHY205dFRXRnpkR1Z5T2x4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnNaWFFnYldGemRHVnlSWFpsYm5RZ1BTQmxkbVZ1ZENCaGN5QlNSMFZUWlc1a1JYWmxiblE3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdWJXRnpkR1Z5UTJGc2JHSmhZMnMvTGlnZ2JXRnpkR1Z5UlhabGJuUXVaWFpsYm5RZ0tUdGNjbHh1WEhSY2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWEhSY2RHTmhjMlVnVW1WdGIzUmxSMkZrWjJWMFJYWmxiblJVZVhCbExrUmxjM1J5YjNsSFlXUm5aWFE2WEhKY2JseDBYSFJjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWEhSY2RIZHBibVJ2ZHk1amJHOXpaU2dwTzF4eVhHNWNkRngwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MEtWeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpWSmxiVzkwWlM1dmJrVnVaR1ZrS0NCY2NseHVYSFJjZEZ4MEtDa2dQVDVjY2x4dVhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RIUm9hWE11WVdOMGFYWmxVbVZ0YjNSbElEMGdiblZzYkR0Y2NseHVYSFJjZEZ4MFhIUjBhR2x6TG5Wd1pHRjBaVXhwYzNSbGJtVnlLQ2s3WEhKY2JseDBYSFJjZEgwZ0tUdGNjbHh1WEhKY2JseDBYSFIwYUdsekxuTmxibVJUWlhSSmRHVnRTVzVtYnlncE8xeHlYRzVjZEZ4MGRHaHBjeTVoWTNScGRtVlNaVzF2ZEdVZ1BTQmhZM1JwZG1WU1pXMXZkR1U3WEhKY2JseDBYSFIwYUdsekxuVndaR0YwWlV4cGMzUmxibVZ5S0NrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nWjJWMElIUnlZVzV6YldsMGN5Z3BPaUJKYm5SbGNtWmhZMlZRY205d1cxMWNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnV3lCN0lHbG1ZV05sT2lCU1pXMXZkR1ZIWVdSblpYUkRiMjF3YjI1bGJuUXVhVzUwWlhKbVlXTmxUbUZ0WlN3Z2NISnZZMlZ6YzI5eU9pQjBhR2x6TG05dVVtVnRiM1JsVTNSaGNuUWdmU0JkTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCeVpXTmxhWFpsY3lncE9pQkpiblJsY21aaFkyVlFjbTl3VzExY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdXMTA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhCaGNtVnVkQ2dwT2lCRmJtUndiMmx1ZEVGa1pISmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnSVhSb2FYTXVhWE5IY21GaVltVmtJQ1ltSUhSb2FYTXVZV04wYVhabFVtVnRiM1JsUHk1d1pXVnlPMXh5WEc1Y2RIMWNjbHh1WEhSY2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhkaGJuUnpWSEpoYm5ObWIzSnRjeWdwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlHWmhiSE5sTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCcGJuUmxjbVpoWTJWTWIyTnJjeWdwT2lCSmJtbDBhV0ZzU1c1MFpYSm1ZV05sVEc5amExdGRJRnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JzYjJOcklEMGdRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzVtYVc1a1NXNXBkR2xoYkVsdWRHVnlabUZqWlNnZ1VtVnRiM1JsUjJGa1oyVjBRMjl0Y0c5dVpXNTBMbWx1ZEdWeVptRmpaVTVoYldVZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYkc5amF5QXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJpQmJYVHRjY2x4dVhISmNibHgwWEhSc1pYUWdhWFJsYlV4dlkyc2dQU0I3TGk0dWJHOWpheUI5TzF4eVhHNWNkRngwYVhSbGJVeHZZMnN1Y0dGeVlXMXpJRDBnZXk0dUxteHZZMnN1Y0dGeVlXMXpMQ0JwZEdWdFNXUTZJSFJvYVhNdWFYUmxiVWxrSUgwN1hISmNibHgwWEhSeVpYUjFjbTRnV3lCcGRHVnRURzlqYXlCZE8xeHlYRzVjZEgxY2NseHVYSFJjY2x4dVhIUmNjbHh1WEhSd2RXSnNhV01nYjI1VmNHUmhkR1VvSUdOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDazZJSFp2YVdSY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtVnVkR2wwZVVOaGJHeGlZV05ySUQwZ1kyRnNiR0poWTJzN1hISmNibHgwZlZ4eVhHNWNkRnh5WEc1Y2RIQjFZbXhwWXlCeVpXNWtaWElvS1RvZ1NsTllMa1ZzWlcxbGJuUmNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnYm5Wc2JEdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCelpXNWtSWFpsYm5SVWIwMWhjM1JsY2lnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCbGRtVnVkRVYyWlc1ME9pQlNSMFZUWlc1a1JYWmxiblFnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJTWlcxdmRHVkhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVnVaRVYyWlc1MFZHOU5ZWE4wWlhJc1hISmNibHgwWEhSY2RHVjJaVzUwTEZ4eVhHNWNkRngwWEhSeVpXeHBZV0pzWlN4Y2NseHVYSFJjZEgwN1hISmNibHgwWEhSMGFHbHpMbUZqZEdsMlpWSmxiVzkwWlQ4dWMyVnVaRVYyWlc1MEtDQmxkbVZ1ZEVWMlpXNTBJQ2s3WEhKY2JseDBmVnh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9jb21wb25lbnRfcmVtb3RlX2dhZGdldC50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2NvbXBvbmVudF9zaW1wbGVfY29udGFpbmVyLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvY29tcG9uZW50X3NpbXBsZV9jb250YWluZXIudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBDb250YWluZXJJdGVtU3RhdGUsIFNpbXBsZUNvbnRhaW5lckNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ29udGFpbmVySXRlbVN0YXRlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDb250YWluZXJJdGVtU3RhdGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlNpbXBsZUNvbnRhaW5lckNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gU2ltcGxlQ29udGFpbmVyQ29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBiaW5kLWRlY29yYXRvciAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYmluZC1kZWNvcmF0b3IvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya190cmFuc2Zvcm0gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2VudGl0eV9jaGlsZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19lbnRpdHlfY2hpbGQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2VudGl0eV9jaGlsZC50c3hcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbW92ZWFibGUgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9tb3ZlYWJsZS50c1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfdGxhdWtrYW5fdHNtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAdGxhdWtrYW4vdHNtICovIFxcXCIuL25vZGVfbW9kdWxlcy9AdGxhdWtrYW4vdHNtL2Rpc3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3RsYXVra2FuX3RzbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyk7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxudmFyIENvbnRhaW5lckl0ZW1TdGF0ZTtcXHJcXG4oZnVuY3Rpb24gKENvbnRhaW5lckl0ZW1TdGF0ZSkge1xcclxcbiAgICBDb250YWluZXJJdGVtU3RhdGVbXFxcIk1vdmluZ1xcXCJdID0gXFxcIk1vdmluZ1xcXCI7XFxyXFxuICAgIENvbnRhaW5lckl0ZW1TdGF0ZVtcXFwiUmVzdGluZ1xcXCJdID0gXFxcIlJlc3RpbmdcXFwiO1xcclxcbn0pKENvbnRhaW5lckl0ZW1TdGF0ZSB8fCAoQ29udGFpbmVySXRlbVN0YXRlID0ge30pKTtcXHJcXG5jbGFzcyBTaW1wbGVDb250YWluZXJDb21wb25lbnQge1xcclxcbiAgICBjb25zdHJ1Y3RvcigpIHtcXHJcXG4gICAgICAgIHRoaXMuY29udGVudHMgPSBbXTtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5hY3RpdmVDb250YWluZXIgPSBudWxsO1xcclxcbiAgICAgICAgdGhpcy5pdGVtQ2hhbmdlZENhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgfVxcclxcbiAgICB1cGRhdGVMaXN0ZW5lcigpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgICAgIChfYiA9IHRoaXMuaXRlbUNoYW5nZWRDYWxsYmFjaykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwodGhpcyk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25JdGVtQ2hhbmdlZChpdGVtQ2hhbmdlZENhbGxiYWNrKSB7XFxyXFxuICAgICAgICB0aGlzLml0ZW1DaGFuZ2VkQ2FsbGJhY2sgPSBpdGVtQ2hhbmdlZENhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIG9uQ29udGFpbmVyU3RhcnQoYWN0aXZlQ29udGFpbmVyKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgbXlJdGVtID0ge1xcclxcbiAgICAgICAgICAgIGVwYTogYWN0aXZlQ29udGFpbmVyLnBlZXIsXFxyXFxuICAgICAgICAgICAgY29udGFpbmVyRnJvbUVudGl0eTogYWN0aXZlQ29udGFpbmVyLnNlbGZGcm9tUGVlcixcXHJcXG4gICAgICAgICAgICBzdGF0ZTogQ29udGFpbmVySXRlbVN0YXRlLk1vdmluZyxcXHJcXG4gICAgICAgICAgICBpZmFjZTogYWN0aXZlQ29udGFpbmVyLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuY29udGVudHMucHVzaChteUl0ZW0pO1xcclxcbiAgICAgICAgKF9hID0gdGhpcy5pdGVtQ2hhbmdlZENhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgICAgIGFjdGl2ZUNvbnRhaW5lci5vbkV2ZW50KChldmVudCkgPT4ge1xcclxcbiAgICAgICAgICAgIG15SXRlbS5zdGF0ZSA9IGV2ZW50LnN0YXRlO1xcclxcbiAgICAgICAgICAgIGlmIChldmVudC5zdGF0ZSA9PSBDb250YWluZXJJdGVtU3RhdGUuUmVzdGluZyAmJiBhY3RpdmVDb250YWluZXIucGFyYW1zKSB7XFxyXFxuICAgICAgICAgICAgICAgIG15SXRlbS5jb250YWluZXJGcm9tRW50aXR5ID0gYWN0aXZlQ29udGFpbmVyLnBhcmFtcztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIG15SXRlbS5jb250YWluZXJGcm9tRW50aXR5ID0gYWN0aXZlQ29udGFpbmVyLnNlbGZGcm9tUGVlcjtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaWYgKGV2ZW50Lm1vdmVhYmxlVG9SZXBsYWNlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGB0cnlpbmcgdG8gc2VuZCByZWRyb3AgY29tcGxldGUgdG8gJHtPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcImVuZHBvaW50QWRkclRvU3RyaW5nXFxcIl0pKGV2ZW50Lm1vdmVhYmxlVG9SZXBsYWNlKX1gKTtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLmNvbnRlbnRzLmZpbmQoKGl0ZW0pID0+IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiZW5kcG9pbnRBZGRyc01hdGNoXFxcIl0pKGl0ZW0uZXBhLCBldmVudC5tb3ZlYWJsZVRvUmVwbGFjZSkpO1xcclxcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coYGZvdW5kIGl0ZW0gZm9yICR7T2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJlbmRwb2ludEFkZHJUb1N0cmluZ1xcXCJdKShldmVudC5tb3ZlYWJsZVRvUmVwbGFjZSl9YCk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udGFpbmVyRnJvbU9sZE1vdmVhYmxlID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJub2RlVHJhbnNmb3JtVG9NYXQ0XFxcIl0pKGl0ZW0uY29udGFpbmVyRnJvbUVudGl0eSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQgb2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGUgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIm5vZGVUcmFuc2Zvcm1Ub01hdDRcXFwiXSkoZXZlbnQub2xkTW92ZWFibGVGcm9tTmV3TW92ZWFibGUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lckZyb21OZXdNb3ZlYWJsZSA9IF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwibWF0NFxcXCJdLnByb2R1Y3QoY29udGFpbmVyRnJvbU9sZE1vdmVhYmxlLCBvbGRNb3ZlYWJsZUZyb21OZXdNb3ZlYWJsZSwgbmV3IF90bGF1a2thbl90c21fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwibWF0NFxcXCJdKCkpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgbXlJdGVtLmNvbnRhaW5lckZyb21FbnRpdHkgPSBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIm5vZGVUcmFuc2Zvcm1Gcm9tTWF0NFxcXCJdKShjb250YWluZXJGcm9tTmV3TW92ZWFibGUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pZmFjZS5zZW5kRXZlbnQoe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQ29udGFpbmVyUmVxdWVzdFR5cGVcXFwiXS5SZWRyb3BDb21wbGV0ZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudDogbXlJdGVtLmVwYVxcclxcbiAgICAgICAgICAgICAgICAgICAgfSk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiZGlkbid0IGZpbmQgbWF0Y2hpbmcgaXRlbVxcXCIpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlQ29udGFpbmVyLm9uRW5kZWQoKCkgPT4ge1xcclxcbiAgICAgICAgICAgIGxldCBpID0gdGhpcy5jb250ZW50cy5pbmRleE9mKG15SXRlbSk7XFxyXFxuICAgICAgICAgICAgaWYgKGkgIT0gLTEpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zcGxpY2UoaSwgMSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXIoKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCB0cmFuc21pdHMoKSB7XFxyXFxuICAgICAgICByZXR1cm4gW107XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHJlY2VpdmVzKCkge1xcclxcbiAgICAgICAgcmV0dXJuIFt7IGlmYWNlOiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcIk1vdmVhYmxlQ29tcG9uZW50XFxcIl0uY29udGFpbmVySW50ZXJmYWNlLCBwcm9jZXNzb3I6IHRoaXMub25Db250YWluZXJTdGFydCB9XTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgcGFyZW50KCkge1xcclxcbiAgICAgICAgcmV0dXJuIG51bGw7XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBmYWxzZTtcXHJcXG4gICAgfVxcclxcbiAgICBnZXQgaW50ZXJmYWNlTG9ja3MoKSB7IHJldHVybiBbXTsgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCBoYXNQb3RlbnRpYWxEcm9wKCkge1xcclxcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmNvbnRlbnRzKSB7XFxyXFxuICAgICAgICAgICAgaWYgKGl0ZW0uc3RhdGUgPT0gQ29udGFpbmVySXRlbVN0YXRlLk1vdmluZykge1xcclxcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gZmFsc2U7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgbGV0IGNvbnRlbnRzID0gW107XFxyXFxuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuY29udGVudHMpIHtcXHJcXG4gICAgICAgICAgICBpZiAoaXRlbS5zdGF0ZSA9PSBcXFwiUmVzdGluZ1xcXCIpIHtcXHJcXG4gICAgICAgICAgICAgICAgY29udGVudHMucHVzaChyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJBdlRyYW5zZm9ybVxcXCJdLCB7IHRyYW5zZm9ybTogaXRlbS5jb250YWluZXJGcm9tRW50aXR5LCBrZXk6IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiZW5kcG9pbnRBZGRyVG9TdHJpbmdcXFwiXSkoaXRlbS5lcGEpIH0sXFxyXFxuICAgICAgICAgICAgICAgICAgICByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oX2FhcmR2YXJrX2VudGl0eV9jaGlsZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkVudGl0eUNoaWxkXFxcIl0sIHsgY2hpbGQ6IGl0ZW0uZXBhIH0pKSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBrZXk6IFxcXCJjb250YWluZXJfY29udGVudHNcXFwiIH0sXFxyXFxuICAgICAgICAgICAgXFxcIiBcXFwiLFxcclxcbiAgICAgICAgICAgIGNvbnRlbnRzLFxcclxcbiAgICAgICAgICAgIFxcXCIgXFxcIik7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQuYVxcclxcbl0sIFNpbXBsZUNvbnRhaW5lckNvbXBvbmVudC5wcm90b3R5cGUsIFxcXCJvbkNvbnRhaW5lclN0YXJ0XFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlqYjIxd2IyNWxiblJmYzJsdGNHeGxYMk52Ym5SaGFXNWxjaTUwYzNnL09EVTFPU0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdPenM3T3pzN08wRkJRU3RDTzBGQlEzbEtPMEZCUjNSS08wRkJRMmxDTzBGQlEwczdRVUZEZVVNN1FVRkRjRU03UVVGRk4wUXNTVUZCV1N4clFrRkpXRHRCUVVwRUxGZEJRVmtzYTBKQlFXdENPMGxCUlRkQ0xIVkRRVUZwUWp0SlFVTnFRaXg1UTBGQmJVSTdRVUZEY0VJc1EwRkJReXhGUVVwWExHdENRVUZyUWl4TFFVRnNRaXhyUWtGQmEwSXNVVUZKTjBJN1FVRnBRazBzVFVGQlRTeDNRa0ZCZDBJN1NVRlBjRU03VVVGTVVTeGhRVUZSTEVkQlFXOUNMRVZCUVVVc1EwRkJRenRSUVVNdlFpeHRRa0ZCWXl4SFFVRmxMRWxCUVVrc1EwRkJRenRSUVVOc1F5eHZRa0ZCWlN4SFFVRnZRaXhKUVVGSkxFTkJRVU03VVVGRGVFTXNkMEpCUVcxQ0xFZEJRV1VzU1VGQlNTeERRVUZETzBsQlNTOURMRU5CUVVNN1NVRkZUeXhqUVVGak96dFJRVVZ5UWl4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRSUVVONFFpeFZRVUZKTEVOQlFVTXNiVUpCUVcxQ0xDdERRVUY0UWl4SlFVRkpMRVZCUVhsQ08wbEJRemxDTEVOQlFVTTdTVUZGVFN4aFFVRmhMRU5CUVVVc2JVSkJRU3RDTzFGQlJYQkVMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNSMEZCUnl4dFFrRkJiVUlzUTBGQlF6dEpRVU5vUkN4RFFVRkRPMGxCUjA4c1owSkJRV2RDTEVOQlFVVXNaVUZCWjBNN08xRkJSWHBFTEVsQlFVa3NUVUZCVFN4SFFVTldPMWxCUTBNc1IwRkJSeXhGUVVGRkxHVkJRV1VzUTBGQlF5eEpRVUZKTzFsQlEzcENMRzFDUVVGdFFpeEZRVUZGTEdWQlFXVXNRMEZCUXl4WlFVRlpPMWxCUTJwRUxFdEJRVXNzUlVGQlJTeHJRa0ZCYTBJc1EwRkJReXhOUVVGTk8xbEJRMmhETEV0QlFVc3NSVUZCUlN4bFFVRmxPMU5CUTNSQ0xFTkJRVU03VVVGRFJpeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJSU3hOUVVGTkxFTkJRVVVzUTBGQlF6dFJRVU0zUWl4VlFVRkpMRU5CUVVNc2JVSkJRVzFDTEN0RFFVRjRRaXhKUVVGSkxFVkJRWGxDTzFGQlJUZENMR1ZCUVdVc1EwRkJReXhQUVVGUExFTkJRM1JDTEVOQlFVVXNTMEZCT0VJc1JVRkJSeXhGUVVGRk8xbEJSWEJETEUxQlFVMHNRMEZCUXl4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFpRVU16UWl4SlFVRkpMRXRCUVVzc1EwRkJReXhMUVVGTExFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1QwRkJUeXhKUVVGSkxHVkJRV1VzUTBGQlF5eE5RVUZOTEVWQlEzWkZPMmRDUVVORExFMUJRVTBzUTBGQlF5eHRRa0ZCYlVJc1IwRkJSeXhsUVVGbExFTkJRVU1zVFVGQmVVSXNRMEZCUXp0aFFVTjJSVHRwUWtGRlJEdG5Ra0ZEUXl4TlFVRk5MRU5CUVVNc2JVSkJRVzFDTEVkQlFVY3NaVUZCWlN4RFFVRkRMRmxCUVZrc1EwRkJRenRoUVVNeFJEdFpRVVZFTEVsQlFVa3NTMEZCU3l4RFFVRkRMR2xDUVVGcFFpeEZRVU16UWp0blFrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTEhGRFFVRnpReXgzUmtGQmIwSXNRMEZCUlN4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlFVY3NSVUZCUlN4RFFVRkZMRU5CUVVNN1owSkJRM2hITEVsQlFVa3NTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVVXNTVUZCU1N4RlFVRkhMRVZCUVVVc1EwRkJReXh6UmtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJSU3hEUVVGRkxFTkJRVU03WjBKQlEyNUhMRWxCUVVrc1NVRkJTU3hGUVVOU08yOUNRVU5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVVc2EwSkJRVzFDTEhkR1FVRnZRaXhEUVVGRkxFdEJRVXNzUTBGQlF5eHBRa0ZCYVVJc1EwRkJSeXhGUVVGRkxFTkJRVVVzUTBGQlF6dHZRa0ZGY2tZc1NVRkJTU3gzUWtGQmQwSXNSMEZCUnl4MVJrRkJiVUlzUTBGQlJTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVVVzUTBGQlF6dHZRa0ZETDBVc1NVRkJTU3d3UWtGQk1FSXNSMEZCUnl4MVJrRkJiVUlzUTBGQlJTeExRVUZMTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVVVzUTBGQlF6dHZRa0ZEZWtZc1NVRkJTU3gzUWtGQmQwSXNSMEZCUnl4clJFRkJTU3hEUVVGRExFOUJRVThzUTBGQlJTeDNRa0ZCZDBJc1JVRkJSU3d3UWtGQk1FSXNSVUZCUlN4SlFVRkpMR3RFUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZETzI5Q1FVTm9TQ3hOUVVGTkxFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc2VVWkJRWEZDTEVOQlFVVXNkMEpCUVhkQ0xFTkJRVVVzUTBGQlF6dHZRa0ZGTDBVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlEyNUNPM2RDUVVORExFbEJRVWtzUlVGQlJTeDNSVUZCYjBJc1EwRkJReXhqUVVGak8zZENRVU42UXl4WFFVRlhMRVZCUVVVc1RVRkJUU3hEUVVGRExFZEJRVWM3Y1VKQlEwZ3NRMEZCUlN4RFFVRkRPMmxDUVVONlFqdHhRa0ZGUkR0dlFrRkRReXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZGTERKQ1FVRXlRaXhEUVVGRkxFTkJRVU03YVVKQlF6TkRPMkZCUTBRN1dVRkRSQ3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTTdVVUZEZGtJc1EwRkJReXhEUVVORU8xRkJSVVFzWlVGQlpTeERRVUZETEU5QlFVOHNRMEZEZEVJc1IwRkJSeXhGUVVGRk8xbEJSVW9zU1VGQlNTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhQUVVGUExFTkJRVVVzVFVGQlRTeERRVUZGTEVOQlFVTTdXVUZEZUVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVWQlExZzdaMEpCUTBNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJSU3hEUVVGRE8yRkJRemRDTzFsQlEwUXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRE8xRkJRM1pDTEVOQlFVTXNRMEZCUlN4RFFVRkRPMGxCUTA0c1EwRkJRenRKUVVWRUxFbEJRVmNzVTBGQlV6dFJRVVZ1UWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOWUxFTkJRVU03U1VGRlJDeEpRVUZYTEZGQlFWRTdVVUZGYkVJc1QwRkJUeXhEUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEhGRlFVRnBRaXhEUVVGRExHdENRVUZyUWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVc1EwRkJSU3hEUVVGRE8wbEJRemxHTEVOQlFVTTdTVUZGUkN4SlFVRlhMRTFCUVUwN1VVRkZhRUlzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlVRc1NVRkJWeXhsUVVGbE8xRkJSWHBDTEU5QlFVOHNTMEZCU3l4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxFbEJRVmNzWTBGQll5eExRVUUyUWl4UFFVRlBMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRk0wUXNVVUZCVVN4RFFVRkZMRkZCUVc5Q08xRkJSWEJETEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZGUkN4SlFVRlhMR2RDUVVGblFqdFJRVVV4UWl4TFFVRkxMRWxCUVVrc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVWQlF6bENPMWxCUTBNc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGRE0wTTdaMEpCUTBNc1QwRkJUeXhKUVVGSkxFTkJRVU03WVVGRFdqdFRRVU5FTzFGQlJVUXNUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRaQ3hEUVVGRE8wbEJSVTBzVFVGQlRUdFJRVVZhTEVsQlFVa3NVVUZCVVN4SFFVRnJRaXhGUVVGRkxFTkJRVU03VVVGRGFrTXNTMEZCU3l4SlFVRkpMRWxCUVVrc1NVRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlVTeEZRVU01UWp0WlFVTkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeFRRVUZUTEVWQlF6TkNPMmRDUVVORExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlExb3NiMFJCUVVNc0swUkJRVmNzU1VGQlF5eFRRVUZUTEVWQlFVY3NTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEZRVUZITEVkQlFVY3NSVUZCUnl4M1JrRkJiMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkZPMjlDUVVONlJpeHZSRUZCUXl4dlJVRkJZU3hKUVVGRExFdEJRVXNzUlVGQlJ5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SFFVRkxMRU5CUTNaQ0xFTkJRVVVzUTBGQlF6dGhRVU5zUWp0VFFVTkVPMUZCUlVRc1QwRkJUeXcyUkVGQlN5eEhRVUZITEVWQlFVY3NiMEpCUVc5Q096dFpRVUZOTEZGQlFWRTdaMEpCUVZNc1EwRkJRenRKUVVNdlJDeERRVUZETzBOQlEwUTdRVUY2U0VFN1NVRkVReXh4UkVGQlNUdG5SVUZuUlVvaUxDSm1hV3hsSWpvaUxpOXpjbU12WTI5dGNHOXVaVzUwWDNOcGJYQnNaVjlqYjI1MFlXbHVaWEl1ZEhONExtcHpJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJ1YjJSbFZISmhibk5tYjNKdFZHOU5ZWFEwTENCdWIyUmxWSEpoYm5ObWIzSnRSbkp2YlUxaGREUXNJRVZ1WkhCdmFXNTBRV1JrY2l3Z1FYWk9iMlJsVkhKaGJuTm1iM0p0TENCbGJtUndiMmx1ZEVGa1pISlViMU4wY21sdVp5d2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnNzSUdWdVpIQnZhVzUwUVdSa2NuTk5ZWFJqYUNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQjdJRVZ1ZEdsMGVVTnZiWEJ2Ym1WdWRDQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZMjl0Y0c5elpXUmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJSHNnU1c1MFpYSm1ZV05sVUhKdmNDd2dRV04wYVhabFNXNTBaWEptWVdObElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOXBiblJsY21aaFkyVmZaVzUwYVhSNUp6dGNjbHh1YVcxd2IzSjBJR0pwYm1RZ1puSnZiU0FuWW1sdVpDMWtaV052Y21GMGIzSW5PMXh5WEc1cGJYQnZjblFnZXlCQmRsUnlZVzV6Wm05eWJTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZkSEpoYm5ObWIzSnRKenRjY2x4dWFXMXdiM0owSUhzZ1FYWkZiblJwZEhsRGFHbHNaQ0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWlc1MGFYUjVYMk5vYVd4a0p6dGNjbHh1YVcxd2IzSjBJSHNnUTI5dWRHRnBibVZ5VW1WeGRXVnpkRlI1Y0dVc0lFTnZiblJoYVc1bGNsSmxjWFZsYzNRc0lFMXZkbVZoWW14bFEyOXRjRzl1Wlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZiVzkyWldGaWJHVW5PMXh5WEc1cGJYQnZjblFnZXlCMlpXTXpMQ0J0WVhRMExDQjJaV00wTENCdFlYUXpMQ0J4ZFdGMElIMGdabkp2YlNBblFIUnNZWFZyYTJGdUwzUnpiU2M3WEhKY2JseHlYRzVsZUhCdmNuUWdaVzUxYlNCRGIyNTBZV2x1WlhKSmRHVnRVM1JoZEdWY2NseHVlMXh5WEc1Y2RFMXZkbWx1WnlBOUlGd2lUVzkyYVc1blhDSXNYSEpjYmx4MFVtVnpkR2x1WnlBOUlGd2lVbVZ6ZEdsdVoxd2lMRnh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1EyOXVkR0ZwYm1WeVNYUmxiVnh5WEc1N1hISmNibHgwWlhCaE9pQkZibVJ3YjJsdWRFRmtaSEk3WEhKY2JseDBZMjl1ZEdGcGJtVnlSbkp2YlVWdWRHbDBlVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRPMXh5WEc1Y2RITjBZWFJsT2lCRGIyNTBZV2x1WlhKSmRHVnRVM1JoZEdVN1hISmNibHgwYVdaaFkyVTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JEYjI1MFlXbHVaWEpKZEdWdFUzUmhkR1ZGZG1WdWRGeHlYRzU3WEhKY2JseDBjM1JoZEdVNklFTnZiblJoYVc1bGNrbDBaVzFUZEdGMFpUdGNjbHh1WEhSdGIzWmxZV0pzWlZSdlVtVndiR0ZqWlQ4NklFVnVaSEJ2YVc1MFFXUmtjanRjY2x4dVhIUnZiR1JOYjNabFlXSnNaVVp5YjIxT1pYZE5iM1psWVdKc1pUODZJRUYyVG05a1pWUnlZVzV6Wm05eWJUdGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR05zWVhOeklGTnBiWEJzWlVOdmJuUmhhVzVsY2tOdmJYQnZibVZ1ZENCcGJYQnNaVzFsYm5SeklFVnVkR2wwZVVOdmJYQnZibVZ1ZEZ4eVhHNTdYSEpjYmx4MGNISnBkbUYwWlNCamIyNTBaVzUwY3pvZ1EyOXVkR0ZwYm1WeVNYUmxiVnRkSUQwZ1cxMDdYSEpjYmx4MGNISnBkbUYwWlNCbGJuUnBkSGxEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQmhZM1JwZG1WRGIyNTBZV2x1WlhJNklFRmpkR2wyWlVsdWRHVnlabUZqWlNBOUlHNTFiR3c3WEhKY2JseDBjSEpwZG1GMFpTQnBkR1Z0UTJoaGJtZGxaRU5oYkd4aVlXTnJPaUFvS1NBOVBpQjJiMmxrSUQwZ2JuVnNiRHRjY2x4dVhISmNibHgwWTI5dWMzUnlkV04wYjNJb0tWeHlYRzVjZEh0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCeWFYWmhkR1VnZFhCa1lYUmxUR2x6ZEdWdVpYSW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUm9hWE11Wlc1MGFYUjVRMkZzYkdKaFkycy9MaWdwTzF4eVhHNWNkRngwZEdocGN5NXBkR1Z0UTJoaGJtZGxaRU5oYkd4aVlXTnJQeTRvS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEhCMVlteHBZeUJ2YmtsMFpXMURhR0Z1WjJWa0tDQnBkR1Z0UTJoaGJtZGxaRU5oYkd4aVlXTnJPaUFvS1NBOVBpQjJiMmxrSUNsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtbDBaVzFEYUdGdVoyVmtRMkZzYkdKaFkyc2dQU0JwZEdWdFEyaGhibWRsWkVOaGJHeGlZV05yTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUmNjbHh1WEhSd2NtbDJZWFJsSUc5dVEyOXVkR0ZwYm1WeVUzUmhjblFvSUdGamRHbDJaVU52Ym5SaGFXNWxjam9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYlhsSmRHVnRPaUJEYjI1MFlXbHVaWEpKZEdWdElEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBaWEJoT2lCaFkzUnBkbVZEYjI1MFlXbHVaWEl1Y0dWbGNpeGNjbHh1WEhSY2RGeDBZMjl1ZEdGcGJtVnlSbkp2YlVWdWRHbDBlVG9nWVdOMGFYWmxRMjl1ZEdGcGJtVnlMbk5sYkdaR2NtOXRVR1ZsY2l4Y2NseHVYSFJjZEZ4MGMzUmhkR1U2SUVOdmJuUmhhVzVsY2tsMFpXMVRkR0YwWlM1TmIzWnBibWNzWEhKY2JseDBYSFJjZEdsbVlXTmxPaUJoWTNScGRtVkRiMjUwWVdsdVpYSXNYSEpjYmx4MFhIUjlPMXh5WEc1Y2RGeDBkR2hwY3k1amIyNTBaVzUwY3k1d2RYTm9LQ0J0ZVVsMFpXMGdLVHRjY2x4dVhIUmNkSFJvYVhNdWFYUmxiVU5vWVc1blpXUkRZV3hzWW1GamF6OHVLQ2s3WEhKY2JseHlYRzVjZEZ4MFlXTjBhWFpsUTI5dWRHRnBibVZ5TG05dVJYWmxiblFvSUZ4eVhHNWNkRngwWEhRb0lHVjJaVzUwT2lCRGIyNTBZV2x1WlhKSmRHVnRVM1JoZEdWRmRtVnVkQ0FwSUQwK1hISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJ0ZVVsMFpXMHVjM1JoZEdVZ1BTQmxkbVZ1ZEM1emRHRjBaVHRjY2x4dVhIUmNkRngwWEhScFppZ2daWFpsYm5RdWMzUmhkR1VnUFQwZ1EyOXVkR0ZwYm1WeVNYUmxiVk4wWVhSbExsSmxjM1JwYm1jZ0ppWWdZV04wYVhabFEyOXVkR0ZwYm1WeUxuQmhjbUZ0Y3lBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGJYbEpkR1Z0TG1OdmJuUmhhVzVsY2taeWIyMUZiblJwZEhrZ1BTQmhZM1JwZG1WRGIyNTBZV2x1WlhJdWNHRnlZVzF6SUdGeklFRjJUbTlrWlZSeVlXNXpabTl5YlR0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWld4elpWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RHMTVTWFJsYlM1amIyNTBZV2x1WlhKR2NtOXRSVzUwYVhSNUlEMGdZV04wYVhabFEyOXVkR0ZwYm1WeUxuTmxiR1pHY205dFVHVmxjanRjY2x4dVhIUmNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJjZEdsbUtDQmxkbVZ1ZEM1dGIzWmxZV0pzWlZSdlVtVndiR0ZqWlNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFkyOXVjMjlzWlM1c2IyY29JR0IwY25scGJtY2dkRzhnYzJWdVpDQnlaV1J5YjNBZ1kyOXRjR3hsZEdVZ2RHOGdKSHNnWlc1a2NHOXBiblJCWkdSeVZHOVRkSEpwYm1jb0lHVjJaVzUwTG0xdmRtVmhZbXhsVkc5U1pYQnNZV05sSUNrZ2ZXQWdLVHRjY2x4dVhIUmNkRngwWEhSY2RHeGxkQ0JwZEdWdElEMGdkR2hwY3k1amIyNTBaVzUwY3k1bWFXNWtLQ2dnYVhSbGJTQXBJRDArSUdWdVpIQnZhVzUwUVdSa2NuTk5ZWFJqYUNocGRHVnRMbVZ3WVN3Z1pYWmxiblF1Ylc5MlpXRmliR1ZVYjFKbGNHeGhZMlVnS1NBcE8xeHlYRzVjZEZ4MFhIUmNkRngwYVdZb0lHbDBaVzBnS1Z4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWUdadmRXNWtJR2wwWlcwZ1ptOXlJQ1I3SUdWdVpIQnZhVzUwUVdSa2NsUnZVM1J5YVc1bktDQmxkbVZ1ZEM1dGIzWmxZV0pzWlZSdlVtVndiR0ZqWlNBcElIMWdJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUmNkRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnNaWFFnWTI5dWRHRnBibVZ5Um5KdmJVOXNaRTF2ZG1WaFlteGxJRDBnYm05a1pWUnlZVzV6Wm05eWJWUnZUV0YwTkNnZ2FYUmxiUzVqYjI1MFlXbHVaWEpHY205dFJXNTBhWFI1SUNrN1hISmNibHgwWEhSY2RGeDBYSFJjZEd4bGRDQnZiR1JOYjNabFlXSnNaVVp5YjIxT1pYZE5iM1psWVdKc1pTQTlJRzV2WkdWVWNtRnVjMlp2Y20xVWIwMWhkRFFvSUdWMlpXNTBMbTlzWkUxdmRtVmhZbXhsUm5KdmJVNWxkMDF2ZG1WaFlteGxJQ2s3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR3hsZENCamIyNTBZV2x1WlhKR2NtOXRUbVYzVFc5MlpXRmliR1VnUFNCdFlYUTBMbkJ5YjJSMVkzUW9JR052Ym5SaGFXNWxja1p5YjIxUGJHUk5iM1psWVdKc1pTd2diMnhrVFc5MlpXRmliR1ZHY205dFRtVjNUVzkyWldGaWJHVXNJRzVsZHlCdFlYUTBLQ2tnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYlhsSmRHVnRMbU52Ym5SaGFXNWxja1p5YjIxRmJuUnBkSGtnUFNCdWIyUmxWSEpoYm5ObWIzSnRSbkp2YlUxaGREUW9JR052Ym5SaGFXNWxja1p5YjIxT1pYZE5iM1psWVdKc1pTQXBPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUmNkRngwYVhSbGJTNXBabUZqWlM1elpXNWtSWFpsYm5Rb0lGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RIc2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBYSFIwZVhCbE9pQkRiMjUwWVdsdVpYSlNaWEYxWlhOMFZIbHdaUzVTWldSeWIzQkRiMjF3YkdWMFpTd2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBYSFJ5WlhCc1lXTmxiV1Z1ZERvZ2JYbEpkR1Z0TG1Wd1lTQmNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUjlJR0Z6SUVOdmJuUmhhVzVsY2xKbGNYVmxjM1FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFkyOXVjMjlzWlM1c2IyY29JRndpWkdsa2JpZDBJR1pwYm1RZ2JXRjBZMmhwYm1jZ2FYUmxiVndpSUNrN1hISmNibHgwWEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWRYQmtZWFJsVEdsemRHVnVaWElvS1R0Y2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MEtWeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpVTnZiblJoYVc1bGNpNXZia1Z1WkdWa0tDQmNjbHh1WEhSY2RGeDBLQ2tnUFQ1Y2NseHVYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkR3hsZENCcElEMGdkR2hwY3k1amIyNTBaVzUwY3k1cGJtUmxlRTltS0NCdGVVbDBaVzBnS1R0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnYVNBaFBTQXRNU0FwWEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwZEdocGN5NWpiMjUwWlc1MGN5NXpjR3hwWTJVb0lHa3NJREVnS1R0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwZEdocGN5NTFjR1JoZEdWTWFYTjBaVzVsY2lncE8xeHlYRzVjZEZ4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhSeVlXNXpiV2wwY3lncE9pQkpiblJsY21aaFkyVlFjbTl3VzExY2NseHVYSFI3WEhKY2JseDBYSFJ5WlhSMWNtNGdXMTA3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUhKbFkyVnBkbVZ6S0NrNklFbHVkR1Z5Wm1GalpWQnliM0JiWFZ4eVhHNWNkSHRjY2x4dVhIUmNkSEpsZEhWeWJpQmJJSHNnYVdaaFkyVTZJRTF2ZG1WaFlteGxRMjl0Y0c5dVpXNTBMbU52Ym5SaGFXNWxja2x1ZEdWeVptRmpaU3dnY0hKdlkyVnpjMjl5T2lCMGFHbHpMbTl1UTI5dWRHRnBibVZ5VTNSaGNuUWdmU0JkTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCd1lYSmxiblFvS1RvZ1JXNWtjRzlwYm5SQlpHUnlYSEpjYmx4MGUxeHlYRzVjZEZ4MGNtVjBkWEp1SUc1MWJHdzdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5Qm5aWFFnZDJGdWRITlVjbUZ1YzJadmNtMXpLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdaMlYwSUdsdWRHVnlabUZqWlV4dlkydHpLQ2s2SUVsdWFYUnBZV3hKYm5SbGNtWmhZMlZNYjJOclcxMGdleUJ5WlhSMWNtNGdXMTA3SUgxY2NseHVYSFJjY2x4dVhIUndkV0pzYVdNZ2IyNVZjR1JoZEdVb0lHTmhiR3hpWVdOck9pQW9LU0E5UGlCMmIybGtJQ2s2SUhadmFXUmNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOcklEMGdZMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ1oyVjBJR2hoYzFCdmRHVnVkR2xoYkVSeWIzQW9LVG9nWW05dmJHVmhibHh5WEc1Y2RIdGNjbHh1WEhSY2RHWnZjaWdnYkdWMElHbDBaVzBnYjJZZ2RHaHBjeTVqYjI1MFpXNTBjeUFwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQnBkR1Z0TG5OMFlYUmxJRDA5SUVOdmJuUmhhVzVsY2tsMFpXMVRkR0YwWlM1TmIzWnBibWNnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBjbVYwZFhKdUlIUnlkV1U3WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnlaWFIxY200Z1ptRnNjMlU3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdjbVZ1WkdWeUtDazZJRXBUV0M1RmJHVnRaVzUwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdOdmJuUmxiblJ6T2lCS1UxZ3VSV3hsYldWdWRGdGRJRDBnVzEwN1hISmNibHgwWEhSbWIzSW9JR3hsZENCcGRHVnRJRzltSUhSb2FYTXVZMjl1ZEdWdWRITWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwWmlnZ2FYUmxiUzV6ZEdGMFpTQTlQU0JjSWxKbGMzUnBibWRjSWlBcFhISmNibHgwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJqYjI1MFpXNTBjeTV3ZFhOb0tDQmNjbHh1WEhSY2RGeDBYSFJjZER4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJadmNtMDlleUJwZEdWdExtTnZiblJoYVc1bGNrWnliMjFGYm5ScGRIa2dmU0JyWlhrOWV5QmxibVJ3YjJsdWRFRmtaSEpVYjFOMGNtbHVaeWdnYVhSbGJTNWxjR0VnS1NCOVBseHlYRzVjZEZ4MFhIUmNkRngwWEhROFFYWkZiblJwZEhsRGFHbHNaQ0JqYUdsc1pEMTdJR2wwWlcwdVpYQmhJSDBnTHo1Y2NseHVYSFJjZEZ4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK0lDazdYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnUEdScGRpQnJaWGs5ZXlCY0ltTnZiblJoYVc1bGNsOWpiMjUwWlc1MGMxd2lJSDArSUhzZ1kyOXVkR1Z1ZEhNZ2ZTQThMMlJwZGo0N1hISmNibHgwZlZ4eVhHNTlJbDBzSW5OdmRYSmpaVkp2YjNRaU9pSWlmUT09XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2NvbXBvbmVudF9zaW1wbGVfY29udGFpbmVyLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvZGVmYXVsdF9sYW5kaW5nX3BhZ2UudHN4XCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9kZWZhdWx0X2xhbmRpbmdfcGFnZS50c3ggKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IERlZmF1bHRMYW5kaW5nICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGV4cG9ydCAoYmluZGluZykgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWZhdWx0TGFuZGluZ1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gRGVmYXVsdExhbmRpbmc7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIEBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkL2xpYi9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGF4aW9zX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBheGlvcyAqLyBcXFwiLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYXhpb3NfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihheGlvc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHJlYWN0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfTGFuZGluZ19jc3NfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vTGFuZGluZy5jc3MgKi8gXFxcIi4vc3JjL0xhbmRpbmcuY3NzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9MYW5kaW5nX2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9MYW5kaW5nX2Nzc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2VuZHBvaW50ICovIFxcXCIuL3NyYy9hYXJkdmFya19lbmRwb2ludC50c1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0X3NlZWQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2dhZGdldF9zZWVkLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfZ2FkZ2V0bGlzdCAqLyBcXFwiLi9zcmMvYXBpX2dhZGdldGxpc3QudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY2xhc3MgRGVmYXVsdExhbmRpbmcgZXh0ZW5kcyByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDb21wb25lbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XFxyXFxuICAgICAgICBzdXBlcihwcm9wcyk7XFxyXFxuICAgICAgICB0aGlzLmdhZGdldExpc3QgPSByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVSZWZcXFwiXSgpO1xcclxcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgY29ubmVjdGVkOiBmYWxzZSB9O1xcclxcbiAgICAgICAgdGhpcy5lbmRwb2ludCA9IG5ldyBfYWFyZHZhcmtfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfX1tcXFwiQ1V0aWxpdHlFbmRwb2ludFxcXCJdKG51bGwsIHRoaXMub25Db25uZWN0VG9TZXJ2ZXIpO1xcclxcbiAgICAgICAgdGhpcy5nYWRnZXRVcmwgPSBPYmplY3QoX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJHZXRHYWRnZXRVcmxGcm9tV2luZG93XFxcIl0pKCk7XFxyXFxuICAgICAgICBheGlvc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYS5nZXQoT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtYW5pZmVzdFVyaUZyb21HYWRnZXRVcmlcXFwiXSkodGhpcy5nYWRnZXRVcmwpKVxcclxcbiAgICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xcclxcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtYW5pZmVzdDogcmVzcG9uc2UuZGF0YSB9KTtcXHJcXG4gICAgICAgIH0pXFxyXFxuICAgICAgICAgICAgLmNhdGNoKChyZWFzb24pID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXJyb3I6IFxcXCJGYWlsZWQgdG8gbG9hZCBtYW5pZmVzdFxcXCIgfSk7XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkNvbm5lY3RUb1NlcnZlcigpIHtcXHJcXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb25uZWN0ZWQ6IHRydWUgfSk7XFxyXFxuICAgICAgICB0aGlzLmdldFNldHRpbmdzRm9yR2FkZ2V0KCk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25TdGFydEFhcmR2YXJrKCkge1xcclxcbiAgICAgICAgd2luZG93Lm9wZW4oXFxcImFhcmR2YXJrOi8vc3RhcnRcXFwiKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbkFkZEZhdm9yaXRlKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHByb21SZXN1bHQgPSB0aGlzLmdhZGdldExpc3QuY3VycmVudC5hZGRGYXZvcml0ZSh0aGlzLmdhZGdldFVybCk7XFxyXFxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB5aWVsZCBwcm9tUmVzdWx0O1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldEdhZGdldExpc3RSZXN1bHQocmVzdWx0LCBcXFwiQWRkZWRcXFwiKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHNldEdhZGdldExpc3RSZXN1bHQocmVzdWx0LCBzdWNjZXNzTWVzc2FnZSkge1xcclxcbiAgICAgICAgbGV0IHRleHQ7XFxyXFxuICAgICAgICBzd2l0Y2ggKHJlc3VsdCkge1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5TdWNjZXNzOlxcclxcbiAgICAgICAgICAgICAgICB0ZXh0ID0gc3VjY2Vzc01lc3NhZ2U7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5Ob3RDb25uZWN0ZWQ6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiTm90IGNvbm5lY3RlZFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5BbHJlYWR5QWRkZWQ6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiR2FkZ2V0IHNldHRpbmcgd2FzIGFscmVhZHkgYWN0aXZlXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiR2FkZ2V0TGlzdFJlc3VsdFxcXCJdLk5vU3VjaEF1dG9MYXVuY2g6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiR2FkZ2V0IHdhcyBub3Qgc2V0IHRvIGF1dG8gbGF1bmNoXFxcIjtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiR2FkZ2V0TGlzdFJlc3VsdFxcXCJdLk5vU3VjaEZhdm9yaXRlOlxcclxcbiAgICAgICAgICAgICAgICB0ZXh0ID0gXFxcIkdhZGdldCB3YXMgbm90IGEgZmF2b3JpdGVcXFwiO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOV9fW1xcXCJHYWRnZXRMaXN0UmVzdWx0XFxcIl0uVXNlckRlbmllZFJlcXVlc3Q6XFxyXFxuICAgICAgICAgICAgICAgIHRleHQgPSBcXFwiVXNlciBkZW5pZWQgcmVxdWVzdFxcXCI7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiXS5Ob3RJbXBsZW1lbnRlZDpcXHJcXG4gICAgICAgICAgICAgICAgdGV4dCA9IFxcXCJub3QgaW1wbGVtZW50ZWRcXFwiO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBkZWZhdWx0OlxcclxcbiAgICAgICAgICAgICAgICB0ZXh0ID0gXFxcIlVua25vd24gcmVzdWx0IFxcXCIgKyByZXN1bHQ7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuY29ubmVjdGVkKSB7XFxyXFxuICAgICAgICAgICAgdGhpcy5nZXRTZXR0aW5nc0ZvckdhZGdldCgpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogdGV4dCB9KTtcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW92ZUZhdm9yaXRlKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHByb21SZXN1bHQgPSB0aGlzLmdhZGdldExpc3QuY3VycmVudC5yZW1vdmVGYXZvcml0ZSh0aGlzLmdhZGdldFVybCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0R2FkZ2V0TGlzdFJlc3VsdCh5aWVsZCBwcm9tUmVzdWx0LCBcXFwiUmVtb3ZlZCBmcm9tIEZhdm9yaXRlc1xcXCIpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBjYXRjaCAoZSkge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgYWRkUmVzdWx0OiBTdHJpbmcoZSkgfSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgIH1cXHJcXG4gICAgb25SZW1vdmVBdXRvTGF1bmNoKCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IHByb21SZXN1bHQgPSB0aGlzLmdhZGdldExpc3QuY3VycmVudC5yZW1vdmVBdXRvTGF1bmNoKHRoaXMuZ2FkZ2V0VXJsKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHYWRnZXRMaXN0UmVzdWx0KHlpZWxkIHByb21SZXN1bHQsIFxcXCJSZW1vdmVkIGZyb20gQXV0byBMYXVuY2hcXFwiKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uU2V0QXV0b0xhdW5jaCgpIHtcXHJcXG4gICAgICAgIHJldHVybiBPYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19hd2FpdGVyXFxcIl0pKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xcclxcbiAgICAgICAgICAgIHRyeSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBwcm9tUmVzdWx0ID0gdGhpcy5nYWRnZXRMaXN0LmN1cnJlbnQuc2V0QXV0b0xhdW5jaCh0aGlzLmdhZGdldFVybCk7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0R2FkZ2V0TGlzdFJlc3VsdCh5aWVsZCBwcm9tUmVzdWx0LCBcXFwiQWRkZWQgdG8gQXV0byBMYXVuY2hcXFwiKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldFNldHRpbmdzRm9yR2FkZ2V0KCkge1xcclxcbiAgICAgICAgcmV0dXJuIE9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2F3YWl0ZXJcXFwiXSkodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XFxyXFxuICAgICAgICAgICAgdHJ5IHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGhvc3RTZXR0aW5ncyA9IHlpZWxkIHRoaXMuZ2FkZ2V0TGlzdC5jdXJyZW50LmdldFNldHRpbmdzRm9yR2FkZ2V0KHRoaXMuZ2FkZ2V0VXJsKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhvc3RTZXR0aW5ncyB9KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGFkZFJlc3VsdDogU3RyaW5nKGUpIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIG9uU3RhcnRHYWRnZXQoKSB7XFxyXFxuICAgICAgICByZXR1cm4gT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fYXdhaXRlclxcXCJdKSh0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcXHJcXG4gICAgICAgICAgICB0cnkge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgcHJvbVJlc3VsdCA9IHRoaXMuZ2FkZ2V0TGlzdC5jdXJyZW50LnN0YXJ0R2FkZ2V0KHRoaXMuZ2FkZ2V0VXJsKTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRHYWRnZXRMaXN0UmVzdWx0KHlpZWxkIHByb21SZXN1bHQsIFxcXCJTdGFydGVkXFxcIik7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGNhdGNoIChlKSB7XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBhZGRSZXN1bHQ6IFN0cmluZyhlKSB9KTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXJGYXZvcml0ZSgpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBpZiAoIXRoaXMuc3RhdGUuY29ubmVjdGVkKSB7XFxyXFxuICAgICAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBjbGFzc05hbWU6IFxcXCJMYW5kaW5nQnV0dG9uXFxcIiwgb25DbGljazogdGhpcy5vblN0YXJ0QWFyZHZhcmsgfSwgXFxcIlN0YXJ0IEFhcmR2YXJrXFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkZyYWdtZW50XFxcIl0sIG51bGwsXFxyXFxuICAgICAgICAgICAgdGhpcy5yZW5kZXJNdXRhbGx5RXhjbHVzaXZlQnV0dG9ucyh0aGlzLm9uQWRkRmF2b3JpdGUsIHRoaXMub25SZW1vdmVGYXZvcml0ZSwgXFxcIkZhdm9yaXRlc1xcXCIsIChfYSA9IHRoaXMuc3RhdGUuaG9zdFNldHRpbmdzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZmF2b3JpdGVkKSxcXHJcXG4gICAgICAgICAgICB0aGlzLnJlbmRlck11dGFsbHlFeGNsdXNpdmVCdXR0b25zKHRoaXMub25TZXRBdXRvTGF1bmNoLCB0aGlzLm9uUmVtb3ZlQXV0b0xhdW5jaCwgXFxcIkF1dG8gTGF1bmNoXFxcIiwgKF9iID0gdGhpcy5zdGF0ZS5ob3N0U2V0dGluZ3MpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5hdXRvTGF1bmNoRW5hYmxlZCksXFxyXFxuICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJkaXZcXFwiLCB7IGNsYXNzTmFtZTogXFxcIkxhbmRpbmdCdXR0b25cXFwiLCBvbkNsaWNrOiB0aGlzLm9uU3RhcnRHYWRnZXQgfSwgXFxcIlN0YXJ0IEdhZGdldFxcXCIpLFxcclxcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuYWRkUmVzdWx0ICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBzdHlsZTogeyBmb250U2l6ZTogXFxcIm1lZGl1bVxcXCIgfSB9LCB0aGlzLnN0YXRlLmFkZFJlc3VsdCkpO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlck11dGFsbHlFeGNsdXNpdmVCdXR0b25zKGVuYWJsZUNhbGxiYWNrLCBkaXNhYmxlQ2FsbGJhY2ssIGRlc2NyaXB0aW9uLCB0ZXN0VmFsdWUpIHtcXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiRnJhZ21lbnRcXFwiXSwgbnVsbCxcXHJcXG4gICAgICAgICAgICAhdGVzdFZhbHVlICYmXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBjbGFzc05hbWU6IFxcXCJMYW5kaW5nQnV0dG9uXFxcIiwgb25DbGljazogZW5hYmxlQ2FsbGJhY2sgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJBZGQgdG8gXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uKSxcXHJcXG4gICAgICAgICAgICB0ZXN0VmFsdWUgJiZcXHJcXG4gICAgICAgICAgICAgICAgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKFxcXCJkaXZcXFwiLCB7IGNsYXNzTmFtZTogXFxcIkxhbmRpbmdCdXR0b25cXFwiLCBvbkNsaWNrOiBkaXNhYmxlQ2FsbGJhY2sgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIFxcXCJSZW1vdmUgZnJvbSBcXFwiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24pKTtcXHJcXG4gICAgfVxcclxcbiAgICByZW5kZXIoKSB7XFxyXFxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5lcnJvcikge1xcclxcbiAgICAgICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oXFxcImRpdlxcXCIsIG51bGwsXFxyXFxuICAgICAgICAgICAgICAgIFxcXCJFcnJvcjogXFxcIixcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5lcnJvcik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIGlmICghdGhpcy5zdGF0ZS5tYW5pZmVzdCkge1xcclxcbiAgICAgICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oXFxcImRpdlxcXCIsIG51bGwsIFxcXCJMb2FkaW5nLi4uXFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBsZXQgaWNvbiA9IG51bGw7XFxyXFxuICAgICAgICAgICAgbGV0IG1vZGVsSW5mbyA9IE9iamVjdChfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiZmluZEdsdGZJY29uRnVsbFVybFxcXCJdKSh0aGlzLmdhZGdldFVybCwgdGhpcy5zdGF0ZS5tYW5pZmVzdCk7XFxyXFxuICAgICAgICAgICAgbGV0IFtpY29uVXJsLCByb3RhdGlvbl0gPSBtb2RlbEluZm87XFxyXFxuICAgICAgICAgICAgaWYgKGljb25VcmwpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWNvbiA9IHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiaWZyYW1lXFxcIiwgeyBzcmM6IFxcXCJodHRwczovL2FhcmR2YXJreHIuZ2l0aHViLmlvL2ljb25fbW9kZWxfdmlld2VyL2luZGV4Lmh0bWwjXFxcIiArIGljb25VcmwsIGZyYW1lQm9yZGVyOiAwLCBzdHlsZTogeyBcXFwiYm9yZGVyXFxcIjogXFxcIm5vbmVcXFwiLCBtYXJnaW46IDAsIG92ZXJmbG93OiBcXFwiaGlkZGVuXFxcIiB9IH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICByZXR1cm4gcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkZyYWdtZW50XFxcIl0sIG51bGwsXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzlfX1tcXFwiQXZHYWRnZXRMaXN0XFxcIl0sIHsgcmVmOiB0aGlzLmdhZGdldExpc3QgfSksXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBzdHlsZTogeyBkaXNwbGF5OiBcXFwiZmxleFxcXCIsIGZsZXhEaXJlY3Rpb246IFxcXCJjb2x1bW5cXFwiIH0gfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgeyBzdHlsZTogeyBmb250U2l6ZTogXFxcImxhcmdlXFxcIiwgZm9udFN0eWxlOiBcXFwiYm9sZFxcXCIgfSB9LCB0aGlzLnN0YXRlLm1hbmlmZXN0Lm5hbWUpLFxcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5tYW5pZmVzdC5kZXNjcmlwdGlvbiAmJlxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShcXFwiZGl2XFxcIiwgbnVsbCwgdGhpcy5zdGF0ZS5tYW5pZmVzdC5kZXNjcmlwdGlvbiksXFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckZhdm9yaXRlKCksXFxyXFxuICAgICAgICAgICAgICAgICAgICBpY29uKSk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uQ29ubmVjdFRvU2VydmVyXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uU3RhcnRBYXJkdmFya1xcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX19kZWZhdWx0LmFcXHJcXG5dLCBEZWZhdWx0TGFuZGluZy5wcm90b3R5cGUsIFxcXCJvbkFkZEZhdm9yaXRlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uUmVtb3ZlRmF2b3JpdGVcXFwiLCBudWxsKTtcXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19fZGVmYXVsdC5hXFxyXFxuXSwgRGVmYXVsdExhbmRpbmcucHJvdG90eXBlLCBcXFwib25SZW1vdmVBdXRvTGF1bmNoXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fX2RlZmF1bHQuYVxcclxcbl0sIERlZmF1bHRMYW5kaW5nLnByb3RvdHlwZSwgXFxcIm9uU2V0QXV0b0xhdW5jaFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX19kZWZhdWx0LmFcXHJcXG5dLCBEZWZhdWx0TGFuZGluZy5wcm90b3R5cGUsIFxcXCJnZXRTZXR0aW5nc0ZvckdhZGdldFxcXCIsIG51bGwpO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX19kZWZhdWx0LmFcXHJcXG5dLCBEZWZhdWx0TGFuZGluZy5wcm90b3R5cGUsIFxcXCJvblN0YXJ0R2FkZ2V0XFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTlrWldaaGRXeDBYMnhoYm1ScGJtZGZjR0ZuWlM1MGMzZy9aVGRqTlNKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3T3pzN096czdPenM3UVVGQk1FazdRVUZEYUVnN1FVRkRTenRCUVVOU08wRkJRMmRETzBGQlEwazdRVUZEUlR0QlFVTXpRanRCUVVOblF6dEJRV2RDTTBRc1RVRkJUU3hqUVVGbExGTkJRVkVzSzBOQlFUQkVPMGxCVFRkR0xGbEJRV0VzUzBGQlZUdFJRVVYwUWl4TFFVRkxMRU5CUVVVc1MwRkJTeXhEUVVGRkxFTkJRVU03VVVGS1VpeGxRVUZWTEVkQlFVY3NLME5CUVdVc1JVRkJaMElzUTBGQlF6dFJRVTF3UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhIUVVGSExFVkJRVVVzVTBGQlV5eEZRVUZGTEV0QlFVc3NSVUZCUlN4RFFVRkRPMUZCUld4RExFbEJRVWtzUTBGQlF5eFJRVUZSTEVkQlFVY3NTVUZCU1N4dFJVRkJaMElzUTBGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZGTEVOQlFVTTdVVUZEY2tVc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5d3JSVUZCYzBJc1JVRkJSU3hEUVVGRE8xRkJSVEZETERSRFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxEUkdRVUYzUWl4RFFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVVVzUTBGQlJUdGhRVU4wUkN4SlFVRkpMRU5CUVVVc1EwRkJSU3hSUVVGUkxFVkJRVWNzUlVGQlJUdFpRVVZ5UWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRkxFVkJRVVVzVVVGQlVTeEZRVUZGTEZGQlFWRXNRMEZCUXl4SlFVRjNRaXhGUVVGRkxFTkJRVVVzUTBGQlF6dFJRVU5zUlN4RFFVRkRMRU5CUVVVN1lVRkRSaXhMUVVGTExFTkJRVVVzUTBGQlJTeE5RVUZYTEVWQlFVY3NSVUZCUlR0WlFVVjZRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMSGxDUVVGNVFpeEZRVUZGTEVOQlFVVXNRMEZCUXp0UlFVTjJSQ3hEUVVGRExFTkJRVVVzUTBGQlF6dEpRVU5NTEVOQlFVTTdTVUZIVHl4cFFrRkJhVUk3VVVGRmVFSXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVWQlFVVXNRMEZCUlN4RFFVRkRPMUZCUTNKRExFbEJRVWtzUTBGQlF5eHZRa0ZCYjBJc1JVRkJSU3hEUVVGRE8wbEJRemRDTEVOQlFVTTdTVUZIVHl4bFFVRmxPMUZCUlhSQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVVXNhMEpCUVd0Q0xFTkJRVVVzUTBGQlF6dEpRVU51UXl4RFFVRkRPMGxCUjJFc1lVRkJZVHM3V1VGRk1VSXNTVUZEUVR0blFrRkRReXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJReXhYUVVGWExFTkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUlN4RFFVRkRPMmRDUVVOMlJTeEpRVUZKTEUxQlFVMHNSMEZCUnl4TlFVRk5MRlZCUVZVc1EwRkJRenRuUWtGRE9VSXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeERRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRU5CUVVVc1EwRkJRenRoUVVNMVF6dFpRVU5FTEU5QlFVOHNRMEZCUXl4RlFVTlNPMmRDUVVORExFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVVXNSVUZCUlN4VFFVRlRMRVZCUVVVc1RVRkJUU3hEUVVGRkxFTkJRVU1zUTBGQlJTeEZRVUZGTEVOQlFVVXNRMEZCUXp0aFFVTTFRenRSUVVWR0xFTkJRVU03UzBGQlFUdEpRVVZQTEcxQ1FVRnRRaXhEUVVGRkxFMUJRWGRDTEVWQlFVVXNZMEZCYzBJN1VVRkZOVVVzU1VGQlNTeEpRVUZaTEVOQlFVTTdVVUZGYWtJc1VVRkJVeXhOUVVGTkxFVkJRMlk3V1VGRFF5eExRVUZMTEdkRlFVRm5RaXhEUVVGRExFOUJRVTg3WjBKQlF6VkNMRWxCUVVrc1IwRkJSeXhqUVVGakxFTkJRVU03WjBKQlEzUkNMRTFCUVUwN1dVRkZVQ3hMUVVGTExHZEZRVUZuUWl4RFFVRkRMRmxCUVZrN1owSkJRMnBETEVsQlFVa3NSMEZCUnl4bFFVRmxMRU5CUVVNN1owSkJRM1pDTEUxQlFVMDdXVUZIVUN4TFFVRkxMR2RGUVVGblFpeERRVUZETEZsQlFWazdaMEpCUTJwRExFbEJRVWtzUjBGQlJ5eHRRMEZCYlVNc1EwRkJRenRuUWtGRE0wTXNUVUZCVFR0WlFVVlFMRXRCUVVzc1owVkJRV2RDTEVOQlFVTXNaMEpCUVdkQ08yZENRVU55UXl4SlFVRkpMRWRCUVVjc2JVTkJRVzFETEVOQlFVTTdaMEpCUXpORExFMUJRVTA3V1VGRlVDeExRVUZMTEdkRlFVRm5RaXhEUVVGRExHTkJRV003WjBKQlEyNURMRWxCUVVrc1IwRkJSeXd5UWtGQk1rSXNRMEZCUXp0blFrRkRia01zVFVGQlRUdFpRVVZRTEV0QlFVc3NaMFZCUVdkQ0xFTkJRVU1zYVVKQlFXbENPMmRDUVVOMFF5eEpRVUZKTEVkQlFVY3NjVUpCUVhGQ0xFTkJRVU03WjBKQlF6ZENMRTFCUVUwN1dVRkZVQ3hMUVVGTExHZEZRVUZuUWl4RFFVRkRMR05CUVdNN1owSkJRMjVETEVsQlFVa3NSMEZCUnl4cFFrRkJhVUlzUTBGQlF6dG5Ra0ZEZWtJc1RVRkJUVHRaUVVWUU8yZENRVU5ETEVsQlFVa3NSMEZCUnl4cFFrRkJhVUlzUjBGQlJ5eE5RVUZOTEVOQlFVTTdaMEpCUTJ4RExFMUJRVTA3VTBGRFVEdFJRVVZFTEVsQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFVkJRVVU3V1VGRGRrSXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeEZRVUZGTEVOQlFVTTdVMEZETjBJN1VVRkZSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZGTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRkxFTkJRVU03U1VGRGRFTXNRMEZCUXp0SlFVZGhMR2RDUVVGblFqczdXVUZGTjBJc1NVRkRRVHRuUWtGRFF5eEpRVUZKTEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFOUJRVThzUTBGQlF5eGpRVUZqTEVOQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJSU3hEUVVGRE8yZENRVU14UlN4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVVXNUVUZCVFN4VlFVRlZMRVZCUVVVc2QwSkJRWGRDTEVOQlFVVXNRMEZCUXp0aFFVTjJSVHRaUVVORUxFOUJRVThzUTBGQlF5eEZRVU5TTzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNUVUZCVFN4RFFVRkZMRU5CUVVNc1EwRkJSU3hGUVVGRkxFTkJRVVVzUTBGQlF6dGhRVU0xUXp0UlFVVkdMRU5CUVVNN1MwRkJRVHRKUVVkaExHdENRVUZyUWpzN1dVRkZMMElzU1VGRFFUdG5Ra0ZEUXl4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4blFrRkJaMElzUTBGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkZMRU5CUVVNN1owSkJRelZGTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlJTeE5RVUZOTEZWQlFWVXNSVUZCUlN3d1FrRkJNRUlzUTBGQlJTeERRVUZETzJGQlEzcEZPMWxCUTBRc1QwRkJUeXhEUVVGRExFVkJRMUk3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJSU3hGUVVGRkxGTkJRVk1zUlVGQlJTeE5RVUZOTEVOQlFVVXNRMEZCUXl4RFFVRkZMRVZCUVVVc1EwRkJSU3hEUVVGRE8yRkJRelZETzFGQlJVWXNRMEZCUXp0TFFVRkJPMGxCUjJFc1pVRkJaVHM3V1VGRk5VSXNTVUZEUVR0blFrRkRReXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTlCUVU4c1EwRkJReXhoUVVGaExFTkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUlN4RFFVRkRPMmRDUVVONlJTeEpRVUZKTEVOQlFVTXNiVUpCUVcxQ0xFTkJRVVVzVFVGQlRTeFZRVUZWTEVWQlFVVXNjMEpCUVhOQ0xFTkJRVVVzUTBGQlF6dGhRVU55UlR0WlFVTkVMRTlCUVU4c1EwRkJReXhGUVVOU08yZENRVU5ETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVVc1JVRkJSU3hUUVVGVExFVkJRVVVzVFVGQlRTeERRVUZGTEVOQlFVTXNRMEZCUlN4RlFVRkZMRU5CUVVVc1EwRkJRenRoUVVNMVF6dFJRVVZHTEVOQlFVTTdTMEZCUVR0SlFVZGhMRzlDUVVGdlFqczdXVUZGYWtNc1NVRkRRVHRuUWtGRFF5eEpRVUZKTEZsQlFWa3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zVDBGQlR5eERRVUZETEc5Q1FVRnZRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVVXNRMEZCUXp0blFrRkRlRVlzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUlN4RlFVRkZMRmxCUVZrc1JVRkJSU3hEUVVGRkxFTkJRVU03WVVGRGJFTTdXVUZEUkN4UFFVRlBMRU5CUVVNc1JVRkRVanRuUWtGRFF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkZMRVZCUVVVc1UwRkJVeXhGUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETEVOQlFVVXNSVUZCUlN4RFFVRkZMRU5CUVVNN1lVRkROVU03VVVGRFJpeERRVUZETzB0QlFVRTdTVUZIWVN4aFFVRmhPenRaUVVVeFFpeEpRVU5CTzJkQ1FVTkRMRWxCUVVrc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmRCUVZjc1EwRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eERRVUZGTEVOQlFVTTdaMEpCUTNaRkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJSU3hOUVVGTkxGVkJRVlVzUlVGQlJTeFRRVUZUTEVOQlFVVXNRMEZCUXp0aFFVTjRSRHRaUVVORUxFOUJRVThzUTBGQlF5eEZRVU5TTzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVVVzUlVGQlJTeFRRVUZUTEVWQlFVVXNUVUZCVFN4RFFVRkZMRU5CUVVNc1EwRkJSU3hGUVVGRkxFTkJRVVVzUTBGQlF6dGhRVU0xUXp0UlFVVkdMRU5CUVVNN1MwRkJRVHRKUVVWUExHTkJRV003TzFGQlJYSkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZEZWtJN1dVRkRReXhQUVVGUExEWkVRVUZMTEZOQlFWTXNSVUZCUXl4bFFVRmxMRVZCUTNCRExFOUJRVThzUlVGQlJ5eEpRVUZKTEVOQlFVTXNaVUZCWlN4eFFrRkJkVUlzUTBGQlF6dFRRVU4yUkR0UlFVVkVMRTlCUVU4N1dVRkRTaXhKUVVGSkxFTkJRVU1zTmtKQlFUWkNMRU5CUTI1RExFbEJRVWtzUTBGQlF5eGhRVUZoTEVWQlEyeENMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNSVUZEY2tJc1YwRkJWeXhSUVVOWUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N3d1EwRkJSU3hUUVVGVExFTkJRVVU3V1VGRmJrTXNTVUZCU1N4RFFVRkRMRFpDUVVFMlFpeERRVU51UXl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVOd1FpeEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFVkJRM1pDTEdGQlFXRXNVVUZEWWl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGbEJRVmtzTUVOQlFVVXNhVUpCUVdsQ0xFTkJRVVU3V1VGRk4wTXNOa1JCUVVzc1UwRkJVeXhGUVVGRExHVkJRV1VzUlVGQlF5eFBRVUZQTEVWQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc2JVSkJRWEZDTzFsQlF6bEZMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV6dG5Ra0ZEY2tJc05rUkJRVXNzUzBGQlN5eEZRVUZITEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1JVRkJSU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRlJMRU5CUTJ4RkxFTkJRVU03U1VGRFRDeERRVUZETzBsQlJVOHNOa0pCUVRaQ0xFTkJRVVVzWTBGQk1FSXNSVUZCUlN4bFFVRXlRaXhGUVVGRkxGZEJRVzFDTEVWQlFVVXNVMEZCYlVJN1VVRkZka2tzVDBGQlR6dFpRVU5LTEVOQlFVTXNVMEZCVXp0blFrRkRXQ3cyUkVGQlN5eFRRVUZUTEVWQlFVTXNaVUZCWlN4RlFVRkRMRTlCUVU4c1JVRkJSeXhqUVVGak96dHZRa0ZCV1N4WFFVRlhMRU5CUVZFN1dVRkRja1lzVTBGQlV6dG5Ra0ZEVml3MlJFRkJTeXhUUVVGVExFVkJRVU1zWlVGQlpTeEZRVUZETEU5QlFVOHNSVUZCUnl4bFFVRmxPenR2UWtGQmFVSXNWMEZCVnl4RFFVRlJMRU5CUXpOR08wbEJRMG9zUTBGQlF6dEpRVVZFTEUxQlFVMDdVVUZGVEN4SlFVRkpMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVU53UWp0WlFVTkRMRTlCUVU4N08yZENRVUZqTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGUk8xTkJRemRETzJGQlEwa3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEZRVU0zUWp0WlFVTkRMRTlCUVU4c09FVkJRWEZDTzFOQlF6VkNPMkZCUlVRN1dVRkRReXhKUVVGSkxFbEJRVWtzUjBGQlowSXNTVUZCU1N4RFFVRkRPMWxCUXpkQ0xFbEJRVWtzVTBGQlV5eEhRVUZITEdsR1FVRnRRaXhEUVVGRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVVVzUTBGQlF6dFpRVU16UlN4SlFVRkpMRU5CUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUTBGQlJTeEhRVUZITEZOQlFWTXNRMEZCUXp0WlFVVjBReXhKUVVGSkxFOUJRVThzUlVGRFdEdG5Ra0ZEUXl4SlFVRkpMRWRCUVVjc1owVkJRVkVzUjBGQlJ5eEZRVUZITERSRVFVRTBSQ3hIUVVGSExFOUJRVThzUlVGRE1VWXNWMEZCVnl4RlFVRkhMRU5CUVVNc1JVRkJSeXhMUVVGTExFVkJRVWNzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZGTEZGQlFWRXNSVUZCUlN4SFFVRlpPMkZCUXpGR08xbEJSVVFzVDBGQlR6dG5Ra0ZEVGl4dlJFRkJReXcwUkVGQldTeEpRVUZETEVkQlFVY3NSVUZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hIUVVGSk8yZENRVU4yUXl3MlJFRkJTeXhMUVVGTExFVkJRVWNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMR0ZCUVdFc1JVRkJSU3hSUVVGUkxFVkJRVVU3YjBKQlEzaEVMRFpFUVVGTExFdEJRVXNzUlVGQlJ5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UFFVRlBMRVZCUVVVc1UwRkJVeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlVUdHZRa0ZEZGtZc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNWMEZCVnp0M1FrRkRhRU1zYVVWQlFWRXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zVjBGQlZ5eERRVUZSTzI5Q1FVTTVReXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTzI5Q1FVTnlRaXhKUVVGSkxFTkJRMFFzUTBGRFNqdFRRVU5JTzBsQlEwWXNRMEZCUXp0RFFVTkVPMEZCTlU1Qk8wbEJSRU1zY1VSQlFVazdkVVJCUzBvN1FVRkhSRHRKUVVSRExIRkVRVUZKTzNGRVFVbEtPMEZCUjBRN1NVRkVReXh4UkVGQlNUdHRSRUZqU2p0QlFXdEVSRHRKUVVSRExIRkVRVUZKTzNORVFXRktPMEZCUjBRN1NVRkVReXh4UkVGQlNUdDNSRUZoU2p0QlFVZEVPMGxCUkVNc2NVUkJRVWs3Y1VSQllVbzdRVUZIUkR0SlFVUkRMSEZFUVVGSk96QkVRVmxLTzBGQlIwUTdTVUZFUXl4eFJFRkJTVHR0UkVGaFNpSXNJbVpwYkdVaU9pSXVMM055WXk5a1pXWmhkV3gwWDJ4aGJtUnBibWRmY0dGblpTNTBjM2d1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2V5QkJZWEprZG1GeWEwMWhibWxtWlhOMExDQnRZVzVwWm1WemRGVnlhVVp5YjIxSFlXUm5aWFJWY21rc0lFMWxjM05oWjJWVWVYQmxMQ0JOYzJkSmJuTjBZV3hzUjJGa1oyVjBMQ0JCZGtkaFpHZGxkRk5sZEhScGJtZHpJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdGNGFXOXpJR1p5YjIwZ0oyRjRhVzl6Snp0Y2NseHVhVzF3YjNKMElDb2dZWE1nVW1WaFkzUWdabkp2YlNBbmNtVmhZM1FuTzF4eVhHNXBiWEJ2Y25RZ0p5NHZUR0Z1WkdsdVp5NWpjM01uTzF4eVhHNXBiWEJ2Y25RZ2V5QkRWWFJwYkdsMGVVVnVaSEJ2YVc1MElIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWxibVJ3YjJsdWRDYzdYSEpjYm1sdGNHOXlkQ0I3SUVkbGRFZGhaR2RsZEZWeWJFWnliMjFYYVc1a2IzY2dmU0JtY205dElDY3VMMkZoY21SMllYSnJYMmRoWkdkbGRDYzdYSEpjYm1sdGNHOXlkQ0I3SUdacGJtUkhiSFJtU1dOdmJrWjFiR3hWY213Z2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZEY5elpXVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QkJka2RoWkdkbGRFeHBjM1FzSUVkaFpHZGxkRXhwYzNSU1pYTjFiSFFnZlNCbWNtOXRJQ2N1TDJGd2FWOW5ZV1JuWlhSc2FYTjBKenRjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSR1ZtWVhWc2RFeGhibVJwYm1kUWNtOXdjMXh5WEc1N1hISmNibHh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1JHVm1ZWFZzZEV4aGJtUnBibWRUZEdGMFpWeHlYRzU3WEhKY2JseDBiV0Z1YVdabGMzUS9PaUJCWVhKa2RtRnlhMDFoYm1sbVpYTjBPMXh5WEc1Y2RHVnljbTl5UHpvZ2MzUnlhVzVuTzF4eVhHNWNkR0ZrWkZKbGMzVnNkRDg2SUhOMGNtbHVaenRjY2x4dVhIUmpiMjV1WldOMFpXUTZJR0p2YjJ4bFlXNDdYSEpjYmx4MGFHOXpkRk5sZEhScGJtZHpQem9nUVhaSFlXUm5aWFJUWlhSMGFXNW5jenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRVJsWm1GMWJIUk1ZVzVrYVc1bklHVjRkR1Z1WkhNZ1VtVmhZM1F1UTI5dGNHOXVaVzUwUEVSbFptRjFiSFJNWVc1a2FXNW5VSEp2Y0hNc0lFUmxabUYxYkhSTVlXNWthVzVuVTNSaGRHVWdQbHh5WEc1N1hISmNibHgwY0hKcGRtRjBaU0JsYm1Sd2IybHVkRG9nUTFWMGFXeHBkSGxGYm1Sd2IybHVkRHRjY2x4dVhIUndjbWwyWVhSbElHZGhaR2RsZEZWeWJEb2djM1J5YVc1bk8xeHlYRzVjZEhCeWFYWmhkR1VnWjJGa1oyVjBUR2x6ZENBOUlGSmxZV04wTG1OeVpXRjBaVkpsWmp4QmRrZGhaR2RsZEV4cGMzUStLQ2s3WEhKY2JseHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQndjbTl3Y3pvZ1lXNTVJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnpkWEJsY2lnZ2NISnZjSE1nS1R0Y2NseHVYSEpjYmx4MFhIUjBhR2x6TG5OMFlYUmxJRDBnZXlCamIyNXVaV04wWldRNklHWmhiSE5sSUgwN1hISmNibHh5WEc1Y2RGeDBkR2hwY3k1bGJtUndiMmx1ZENBOUlHNWxkeUJEVlhScGJHbDBlVVZ1WkhCdmFXNTBLQ0J1ZFd4c0xDQjBhR2x6TG05dVEyOXVibVZqZEZSdlUyVnlkbVZ5SUNrN1hISmNibHgwWEhSMGFHbHpMbWRoWkdkbGRGVnliQ0E5SUVkbGRFZGhaR2RsZEZWeWJFWnliMjFYYVc1a2IzY29LVHRjY2x4dVhISmNibHgwWEhSaGVHbHZjeTVuWlhRb0lHMWhibWxtWlhOMFZYSnBSbkp2YlVkaFpHZGxkRlZ5YVNnZ2RHaHBjeTVuWVdSblpYUlZjbXdnS1NBcFhISmNibHgwWEhRdWRHaGxiaWdnS0NCeVpYTndiMjV6WlNBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFJvYVhNdWMyVjBVM1JoZEdVb0lIc2diV0Z1YVdabGMzUTZJSEpsYzNCdmJuTmxMbVJoZEdFZ1lYTWdRV0Z5WkhaaGNtdE5ZVzVwWm1WemRDQjlJQ2s3WEhKY2JseDBYSFI5SUNsY2NseHVYSFJjZEM1allYUmphQ2dnS0NCeVpXRnpiMjQ2SUdGdWVTQXBJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnWlhKeWIzSTZJRndpUm1GcGJHVmtJSFJ2SUd4dllXUWdiV0Z1YVdabGMzUmNJaUI5SUNrN1hISmNibHgwWEhSOUlDazdYSFJjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmtOdmJtNWxZM1JVYjFObGNuWmxjaWdwSUZ4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdWMyVjBVM1JoZEdVb0lIc2dZMjl1Ym1WamRHVmtPaUIwY25WbElIMGdLVHRjY2x4dVhIUmNkSFJvYVhNdVoyVjBVMlYwZEdsdVozTkdiM0pIWVdSblpYUW9LVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0J2YmxOMFlYSjBRV0Z5WkhaaGNtc29LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIZHBibVJ2ZHk1dmNHVnVLQ0JjSW1GaGNtUjJZWEpyT2k4dmMzUmhjblJjSWlBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUc5dVFXUmtSbUYyYjNKcGRHVW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnllVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2NISnZiVkpsYzNWc2RDQTlJSFJvYVhNdVoyRmtaMlYwVEdsemRDNWpkWEp5Wlc1MExtRmtaRVpoZG05eWFYUmxLQ0IwYUdsekxtZGhaR2RsZEZWeWJDQXBPMXh5WEc1Y2RGeDBYSFJzWlhRZ2NtVnpkV3gwSUQwZ1lYZGhhWFFnY0hKdmJWSmxjM1ZzZER0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSSFlXUm5aWFJNYVhOMFVtVnpkV3gwS0NCeVpYTjFiSFFzSUZ3aVFXUmtaV1JjSWlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFkyRjBZMmdvSUdVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHRmtaRkpsYzNWc2REb2dVM1J5YVc1bktDQmxJQ2tnZlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdjMlYwUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQ2dnY21WemRXeDBPaUJIWVdSblpYUk1hWE4wVW1WemRXeDBMQ0J6ZFdOalpYTnpUV1Z6YzJGblpUb2djM1J5YVc1bklDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdkR1Y0ZERvZ2MzUnlhVzVuTzF4eVhHNWNjbHh1WEhSY2RITjNhWFJqYUNBb0lISmxjM1ZzZENBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHTmhjMlVnUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQzVUZFdOalpYTnpPbHh5WEc1Y2RGeDBYSFJjZEhSbGVIUWdQU0J6ZFdOalpYTnpUV1Z6YzJGblpUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iM1JEYjI1dVpXTjBaV1E2WEhKY2JseDBYSFJjZEZ4MGRHVjRkQ0E5SUZ3aVRtOTBJR052Ym01bFkzUmxaRndpTzF4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNUJiSEpsWVdSNVFXUmtaV1E2WEhKY2JseDBYSFJjZEZ4MGRHVjRkQ0E5SUZ3aVIyRmtaMlYwSUhObGRIUnBibWNnZDJGeklHRnNjbVZoWkhrZ1lXTjBhWFpsWENJN1hISmNibHgwWEhSY2RGeDBZbkpsWVdzN1hISmNibHh5WEc1Y2RGeDBYSFJqWVhObElFZGhaR2RsZEV4cGMzUlNaWE4xYkhRdVRtOVRkV05vUVhWMGIweGhkVzVqYURwY2NseHVYSFJjZEZ4MFhIUjBaWGgwSUQwZ1hDSkhZV1JuWlhRZ2QyRnpJRzV2ZENCelpYUWdkRzhnWVhWMGJ5QnNZWFZ1WTJoY0lqdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdSMkZrWjJWMFRHbHpkRkpsYzNWc2RDNU9iMU4xWTJoR1lYWnZjbWwwWlRwY2NseHVYSFJjZEZ4MFhIUjBaWGgwSUQwZ1hDSkhZV1JuWlhRZ2QyRnpJRzV2ZENCaElHWmhkbTl5YVhSbFhDSTdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRWRoWkdkbGRFeHBjM1JTWlhOMWJIUXVWWE5sY2tSbGJtbGxaRkpsY1hWbGMzUTZYSEpjYmx4MFhIUmNkRngwZEdWNGRDQTlJRndpVlhObGNpQmtaVzVwWldRZ2NtVnhkV1Z6ZEZ3aU8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWTJGelpTQkhZV1JuWlhSTWFYTjBVbVZ6ZFd4MExrNXZkRWx0Y0d4bGJXVnVkR1ZrT2x4eVhHNWNkRngwWEhSY2RIUmxlSFFnUFNCY0ltNXZkQ0JwYlhCc1pXMWxiblJsWkZ3aU8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWkdWbVlYVnNkRHBjY2x4dVhIUmNkRngwWEhSMFpYaDBJRDBnWENKVmJtdHViM2R1SUhKbGMzVnNkQ0JjSWlBcklISmxjM1ZzZER0Y2NseHVYSFJjZEZ4MFhIUmljbVZoYXp0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnBaaWgwYUdsekxuTjBZWFJsTG1OdmJtNWxZM1JsWkNrZ2UxeHlYRzVjZEZ4MFhIUWdkR2hwY3k1blpYUlRaWFIwYVc1bmMwWnZja2RoWkdkbGRDZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnWVdSa1VtVnpkV3gwT2lCMFpYaDBJSDBnS1R0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCaGMzbHVZeUJ2YmxKbGJXOTJaVVpoZG05eWFYUmxLQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUjBjbmxjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwYkdWMElIQnliMjFTWlhOMWJIUWdQU0IwYUdsekxtZGhaR2RsZEV4cGMzUXVZM1Z5Y21WdWRDNXlaVzF2ZG1WR1lYWnZjbWwwWlNnZ2RHaHBjeTVuWVdSblpYUlZjbXdnS1R0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSSFlXUm5aWFJNYVhOMFVtVnpkV3gwS0NCaGQyRnBkQ0J3Y205dFVtVnpkV3gwTENCY0lsSmxiVzkyWldRZ1puSnZiU0JHWVhadmNtbDBaWE5jSWlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFkyRjBZMmdvSUdVZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHRmtaRkpsYzNWc2REb2dVM1J5YVc1bktDQmxJQ2tnZlNBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a1hISmNibHgwY0hKcGRtRjBaU0JoYzNsdVl5QnZibEpsYlc5MlpVRjFkRzlNWVhWdVkyZ29LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnllVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2NISnZiVkpsYzNWc2RDQTlJSFJvYVhNdVoyRmtaMlYwVEdsemRDNWpkWEp5Wlc1MExuSmxiVzkyWlVGMWRHOU1ZWFZ1WTJnb0lIUm9hWE11WjJGa1oyVjBWWEpzSUNrN1hISmNibHgwWEhSY2RIUm9hWE11YzJWMFIyRmtaMlYwVEdsemRGSmxjM1ZzZENnZ1lYZGhhWFFnY0hKdmJWSmxjM1ZzZEN3Z1hDSlNaVzF2ZG1Wa0lHWnliMjBnUVhWMGJ5Qk1ZWFZ1WTJoY0lpQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBZMkYwWTJnb0lHVWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwYUdsekxuTmxkRk4wWVhSbEtDQjdJR0ZrWkZKbGMzVnNkRG9nVTNSeWFXNW5LQ0JsSUNrZ2ZTQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCaGMzbHVZeUJ2YmxObGRFRjFkRzlNWVhWdVkyZ29LVnh5WEc1Y2RIdGNjbHh1WEhSY2RIUnllVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2NISnZiVkpsYzNWc2RDQTlJSFJvYVhNdVoyRmtaMlYwVEdsemRDNWpkWEp5Wlc1MExuTmxkRUYxZEc5TVlYVnVZMmdvSUhSb2FYTXVaMkZrWjJWMFZYSnNJQ2s3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwUjJGa1oyVjBUR2x6ZEZKbGMzVnNkQ2dnWVhkaGFYUWdjSEp2YlZKbGMzVnNkQ3dnWENKQlpHUmxaQ0IwYnlCQmRYUnZJRXhoZFc1amFGd2lJQ2s3WEhKY2JseDBYSFI5WEhKY2JseDBYSFJqWVhSamFDZ2daU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2FYTXVjMlYwVTNSaGRHVW9JSHNnWVdSa1VtVnpkV3gwT2lCVGRISnBibWNvSUdVZ0tTQjlJQ2s3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEgxY2NseHVYSEpjYmx4MFFHSnBibVJjY2x4dVhIUndjbWwyWVhSbElHRnplVzVqSUdkbGRGTmxkSFJwYm1kelJtOXlSMkZrWjJWMEtDbGNjbHh1WEhSN1hISmNibHgwWEhSMGNubGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBiR1YwSUdodmMzUlRaWFIwYVc1bmN5QTlJR0YzWVdsMElIUm9hWE11WjJGa1oyVjBUR2x6ZEM1amRYSnlaVzUwTG1kbGRGTmxkSFJwYm1kelJtOXlSMkZrWjJWMEtDQjBhR2x6TG1kaFpHZGxkRlZ5YkNBcE8xeHlYRzVjZEZ4MFhIUjBhR2x6TG5ObGRGTjBZWFJsS0NCN0lHaHZjM1JUWlhSMGFXNW5jeUI5SUNrN1hISmNibHgwWEhSOVhISmNibHgwWEhSallYUmphQ2dnWlNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RIUm9hWE11YzJWMFUzUmhkR1VvSUhzZ1lXUmtVbVZ6ZFd4ME9pQlRkSEpwYm1jb0lHVWdLU0I5SUNrN1hISmNibHgwWEhSOVhISmNibHgwZlZ4eVhHNWNjbHh1WEhSQVltbHVaRnh5WEc1Y2RIQnlhWFpoZEdVZ1lYTjVibU1nYjI1VGRHRnlkRWRoWkdkbGRDZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGRISjVYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR3hsZENCd2NtOXRVbVZ6ZFd4MElEMGdkR2hwY3k1bllXUm5aWFJNYVhOMExtTjFjbkpsYm5RdWMzUmhjblJIWVdSblpYUW9JSFJvYVhNdVoyRmtaMlYwVlhKc0lDazdYSEpjYmx4MFhIUmNkSFJvYVhNdWMyVjBSMkZrWjJWMFRHbHpkRkpsYzNWc2RDZ2dZWGRoYVhRZ2NISnZiVkpsYzNWc2RDd2dYQ0pUZEdGeWRHVmtYQ0lnS1R0Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdOaGRHTm9LQ0JsSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTV6WlhSVGRHRjBaU2dnZXlCaFpHUlNaWE4xYkhRNklGTjBjbWx1WnlnZ1pTQXBJSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElISmxibVJsY2taaGRtOXlhWFJsS0NsY2NseHVYSFI3WEhKY2JseDBYSFJwWmlnZ0lYUm9hWE11YzNSaGRHVXVZMjl1Ym1WamRHVmtJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwY21WMGRYSnVJRHhrYVhZZ1kyeGhjM05PWVcxbFBWd2lUR0Z1WkdsdVowSjFkSFJ2Ymx3aVhISmNibHgwWEhSY2RGeDBiMjVEYkdsamF6MTdJSFJvYVhNdWIyNVRkR0Z5ZEVGaGNtUjJZWEpySUgwK1UzUmhjblFnUVdGeVpIWmhjbXM4TDJScGRqNDdYSEpjYmx4MFhIUjlYSEpjYmx4eVhHNWNkRngwY21WMGRYSnVJRHcrWEhKY2JseDBYSFJjZEhzZ2RHaHBjeTV5Wlc1a1pYSk5kWFJoYkd4NVJYaGpiSFZ6YVhabFFuVjBkRzl1Y3lnZ1hISmNibHgwWEhSY2RGeDBkR2hwY3k1dmJrRmtaRVpoZG05eWFYUmxMQ0JjY2x4dVhIUmNkRngwWEhSMGFHbHpMbTl1VW1WdGIzWmxSbUYyYjNKcGRHVXNJRnh5WEc1Y2RGeDBYSFJjZEZ3aVJtRjJiM0pwZEdWelhDSXNJRnh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVjM1JoZEdVdWFHOXpkRk5sZEhScGJtZHpQeTVtWVhadmNtbDBaV1FnS1NCOVhISmNibHh5WEc1Y2RGeDBYSFI3SUhSb2FYTXVjbVZ1WkdWeVRYVjBZV3hzZVVWNFkyeDFjMmwyWlVKMWRIUnZibk1vSUZ4eVhHNWNkRngwWEhSY2RIUm9hWE11YjI1VFpYUkJkWFJ2VEdGMWJtTm9MQ0JjY2x4dVhIUmNkRngwWEhSMGFHbHpMbTl1VW1WdGIzWmxRWFYwYjB4aGRXNWphQ3dnWEhKY2JseDBYSFJjZEZ4MFhDSkJkWFJ2SUV4aGRXNWphRndpTENCY2NseHVYSFJjZEZ4MFhIUjBhR2x6TG5OMFlYUmxMbWh2YzNSVFpYUjBhVzVuY3o4dVlYVjBiMHhoZFc1amFFVnVZV0pzWldRZ0tTQjlYSEpjYmx4eVhHNWNkRngwWEhROFpHbDJJR05zWVhOelRtRnRaVDFjSWt4aGJtUnBibWRDZFhSMGIyNWNJaUJ2YmtOc2FXTnJQWHNnZEdocGN5NXZibE4wWVhKMFIyRmtaMlYwSUgwK1UzUmhjblFnUjJGa1oyVjBQQzlrYVhZK1hISmNibHgwWEhSY2RIc2dkR2hwY3k1emRHRjBaUzVoWkdSU1pYTjFiSFFnSmlaY2NseHVYSFJjZEZ4MFhIUThaR2wySUhOMGVXeGxQWHNnZXlCbWIyNTBVMmw2WlRvZ1hDSnRaV1JwZFcxY0lpQjlmVDU3SUhSb2FYTXVjM1JoZEdVdVlXUmtVbVZ6ZFd4MElIMDhMMlJwZGo0Z2ZWeHlYRzVjZEZ4MFBDOCtPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQnlaVzVrWlhKTmRYUmhiR3g1UlhoamJIVnphWFpsUW5WMGRHOXVjeWdnWlc1aFlteGxRMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FzSUdScGMyRmliR1ZEWVd4c1ltRmphem9nS0NrZ1BUNGdkbTlwWkN3Z1pHVnpZM0pwY0hScGIyNDZJSE4wY21sdVp5d2dkR1Z6ZEZaaGJIVmxQem9nWW05dmJHVmhiaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBjbVYwZFhKdUlEdytYSEpjYmx4MFhIUmNkSHNnSVhSbGMzUldZV3gxWlNBbUppQmNjbHh1WEhSY2RGeDBYSFE4WkdsMklHTnNZWE56VG1GdFpUMWNJa3hoYm1ScGJtZENkWFIwYjI1Y0lpQnZia05zYVdOclBYc2daVzVoWW14bFEyRnNiR0poWTJzZ2ZUNUJaR1FnZEc4Z2V5QmtaWE5qY21sd2RHbHZiaUI5UEM5a2FYWStJSDFjY2x4dVhIUmNkRngwZXlCMFpYTjBWbUZzZFdVZ0ppWWdYSEpjYmx4MFhIUmNkRngwUEdScGRpQmpiR0Z6YzA1aGJXVTlYQ0pNWVc1a2FXNW5RblYwZEc5dVhDSWdiMjVEYkdsamF6MTdJR1JwYzJGaWJHVkRZV3hzWW1GamF5QjlQbEpsYlc5MlpTQm1jbTl0SUhzZ1pHVnpZM0pwY0hScGIyNGdmVHd2WkdsMlBpQjlYSEpjYmx4MFhIUThMejVjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JSFJvYVhNdWMzUmhkR1V1WlhKeWIzSWdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ5WlhSMWNtNGdQR1JwZGo1RmNuSnZjam9nZXlCMGFHbHpMbk4wWVhSbExtVnljbTl5SUgwOEwyUnBkajVjY2x4dVhIUmNkSDFjY2x4dVhIUmNkR1ZzYzJVZ2FXWW9JQ0YwYUdsekxuTjBZWFJsTG0xaGJtbG1aWE4wSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGNtVjBkWEp1SUR4a2FYWStURzloWkdsdVp5NHVMand2WkdsMlBseHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJzWlhRZ2FXTnZiam9nU2xOWUxrVnNaVzFsYm5RZ1BTQnVkV3hzTzF4eVhHNWNkRngwWEhSc1pYUWdiVzlrWld4SmJtWnZJRDBnWm1sdVpFZHNkR1pKWTI5dVJuVnNiRlZ5YkNnZ2RHaHBjeTVuWVdSblpYUlZjbXdzSUhSb2FYTXVjM1JoZEdVdWJXRnVhV1psYzNRZ0tUdGNjbHh1WEhSY2RGeDBiR1YwSUZzZ2FXTnZibFZ5YkN3Z2NtOTBZWFJwYjI0Z1hTQTlJRzF2WkdWc1NXNW1ienRjY2x4dVhIUmNjbHh1WEhSY2RGeDBhV1lvSUdsamIyNVZjbXdnS1Z4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBhV052YmlBOUlEeHBabkpoYldVZ2MzSmpQWHNnWENKb2RIUndjem92TDJGaGNtUjJZWEpyZUhJdVoybDBhSFZpTG1sdkwybGpiMjVmYlc5a1pXeGZkbWxsZDJWeUwybHVaR1Y0TG1oMGJXd2pYQ0lnS3lCcFkyOXVWWEpzSUgxY2NseHVYSFJjZEZ4MFhIUmNkR1p5WVcxbFFtOXlaR1Z5UFhzZ01DQjlJSE4wZVd4bFBYc2dleUJjSW1KdmNtUmxjbHdpT2lCY0ltNXZibVZjSWl3Z2JXRnlaMmx1T2lBd0xDQnZkbVZ5Wm14dmR6b2dYQ0pvYVdSa1pXNWNJaUI5SUgwK1BDOXBabkpoYldVK1hISmNibHgwWEhSY2RIMWNjbHh1WEhSY2NseHVYSFJjZEZ4MGNtVjBkWEp1SUR3K1hISmNibHgwWEhSY2RGeDBQRUYyUjJGa1oyVjBUR2x6ZENCeVpXWTlleUIwYUdsekxtZGhaR2RsZEV4cGMzUWdmUzgrWEhKY2JseDBYSFJjZEZ4MFBHUnBkaUJ6ZEhsc1pUMTdJSHNnWkdsemNHeGhlVG9nWENKbWJHVjRYQ0lzSUdac1pYaEVhWEpsWTNScGIyNDZJRndpWTI5c2RXMXVYQ0lnZlgwK1hISmNibHgwWEhSY2RGeDBYSFE4WkdsMklITjBlV3hsUFhzZ2V5Qm1iMjUwVTJsNlpUb2dYQ0pzWVhKblpWd2lMQ0JtYjI1MFUzUjViR1U2SUZ3aVltOXNaRndpSUgxOVBuc2dkR2hwY3k1emRHRjBaUzV0WVc1cFptVnpkQzV1WVcxbElIMDhMMlJwZGo1Y2NseHVYSFJjZEZ4MFhIUmNkSHNnZEdocGN5NXpkR0YwWlM1dFlXNXBabVZ6ZEM1a1pYTmpjbWx3ZEdsdmJpQW1KaUJjY2x4dVhIUmNkRngwWEhSY2RGeDBQR1JwZGlBK2V5QjBhR2x6TG5OMFlYUmxMbTFoYm1sbVpYTjBMbVJsYzJOeWFYQjBhVzl1SUgwOEwyUnBkajRnZlZ4eVhHNWNkRngwWEhSY2RGeDBleUIwYUdsekxuSmxibVJsY2taaGRtOXlhWFJsS0NrZ2ZWeHlYRzVjZEZ4MFhIUmNkRngwZXlCcFkyOXVJSDFjY2x4dVhIUmNkRngwWEhROEwyUnBkajVjY2x4dVhIUmNkRngwUEM4K1hISmNibHgwWEhSOVhIUmNjbHh1WEhSOVhISmNibjFjY2x4dVhISmNiaUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2RlZmF1bHRfbGFuZGluZ19wYWdlLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvZ2FkZ2V0X2VuZHBvaW50LnRzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9nYWRnZXRfZW5kcG9pbnQudHMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IENHYWRnZXRFbmRwb2ludCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ0dhZGdldEVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDR2FkZ2V0RW5kcG9pbnQ7IH0pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciB0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgdHNsaWIgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW5kcG9pbnQgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2VuZHBvaW50LnRzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18pO1xcblxcclxcblxcclxcblxcclxcblxcclxcbmNsYXNzIENHYWRnZXRFbmRwb2ludCBleHRlbmRzIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJDQWFyZHZhcmtFbmRwb2ludFxcXCJdIHtcXHJcXG4gICAgY29uc3RydWN0b3IoZ2FkZ2V0VXJpLCBvcGVuSGFuZGxlciwgZGVmYXVsdEhhbmRsZXIgPSBudWxsKSB7XFxyXFxuICAgICAgICBzdXBlcigoKSA9PiB7IHRoaXMub25PcGVuKCk7IH0sIG9wZW5IYW5kbGVyLCBkZWZhdWx0SGFuZGxlcik7XFxyXFxuICAgICAgICB0aGlzLmFsbG93UmVjb25uZWN0KCk7XFxyXFxuICAgICAgICB0aGlzLm1fZ2FkZ2V0VXJpID0gZ2FkZ2V0VXJpO1xcclxcbiAgICB9XFxyXFxuICAgIG9uT3BlbigpIHtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKFxcXCJDb25uZWN0ZWRcXFwiKTtcXHJcXG4gICAgICAgIGxldCBtc2dTZXRFbmRwb2ludFR5cGUgPSB7XFxyXFxuICAgICAgICAgICAgbmV3RW5kcG9pbnRUeXBlOiBfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX1tcXFwiRW5kcG9pbnRUeXBlXFxcIl0uR2FkZ2V0LFxcclxcbiAgICAgICAgICAgIGdhZGdldFVyaTogdGhpcy5tX2dhZGdldFVyaSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fW1xcXCJNZXNzYWdlVHlwZVxcXCJdLlNldEVuZHBvaW50VHlwZSwgbXNnU2V0RW5kcG9pbnRUeXBlKTtcXHJcXG4gICAgfVxcclxcbn1cXHJcXG5PYmplY3QodHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiX19kZWNvcmF0ZVxcXCJdKShbXFxyXFxuICAgIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdC5hXFxyXFxuXSwgQ0dhZGdldEVuZHBvaW50LnByb3RvdHlwZSwgXFxcIm9uT3BlblxcXCIsIG51bGwpO1xcclxcbi8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOHVMM055WXk5bllXUm5aWFJmWlc1a2NHOXBiblF1ZEhNL01EQTJOQ0pkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdRVUZCTUVjN1FVRkRaRHRCUVVNeFJEdEJRVWN6UWl4TlFVRk5MR1ZCUVdkQ0xGTkJRVkVzYjBWQlFXbENPMGxCU1hKRUxGbEJRV0VzVTBGQmFVSXNSVUZCUlN4WFFVRjNRaXhGUVVGRkxHbENRVUZ6UXl4SlFVRkpPMUZCUlc1SExFdEJRVXNzUTBGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRVU1zUTBGQlF5eEZRVUZGTEZkQlFWY3NSVUZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVNNVJDeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNN1VVRkRkRUlzU1VGQlNTeERRVUZETEZkQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNN1NVRkRPVUlzUTBGQlF6dEpRVVZMTEUxQlFVMDdVVUZGV0N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxGZEJRVmNzUTBGQlJTeERRVUZETzFGQlF6TkNMRWxCUVVrc2EwSkJRV3RDTEVkQlEzUkNPMWxCUTBNc1pVRkJaU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNUVUZCVFR0WlFVTndReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEZkQlFWYzdVMEZETTBJN1VVRkZSQ3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZGTEhWRlFVRlhMRU5CUVVNc1pVRkJaU3hGUVVGRkxHdENRVUZyUWl4RFFVRkZMRU5CUVVNN1NVRkRja1VzUTBGQlF6dERRVWRFTzBGQllrMDdTVUZCVEN4eFJFRkJTVHMyUTBGVlNpSXNJbVpwYkdVaU9pSXVMM055WXk5bllXUm5aWFJmWlc1a2NHOXBiblF1ZEhNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdleUJEUVdGeVpIWmhjbXRGYm1Sd2IybHVkQ3dnVFdWemMyRm5aVWhoYm1Sc1pYSXNJRTl3Wlc1SVlXNWtiR1Z5TENCQmMzbHVZMDFsYzNOaFoyVklZVzVrYkdWeUlIMGdabkp2YlNBbkxpOWhZWEprZG1GeWExOWxibVJ3YjJsdWRDYzdYSEpjYm1sdGNHOXlkQ0I3SUUxeloxTmxkRVZ1WkhCdmFXNTBWSGx3WlN3Z1RXVnpjMkZuWlZSNWNHVXNJRVZ1WkhCdmFXNTBWSGx3WlNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1WEhKY2JseHlYRzVsZUhCdmNuUWdZMnhoYzNNZ1EwZGhaR2RsZEVWdVpIQnZhVzUwSUdWNGRHVnVaSE1nUTBGaGNtUjJZWEpyUlc1a2NHOXBiblJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnYlY5bllXUm5aWFJWY21rNklITjBjbWx1Wnp0Y2NseHVYSEpjYmx4MFkyOXVjM1J5ZFdOMGIzSW9JR2RoWkdkbGRGVnlhVG9nYzNSeWFXNW5MQ0J2Y0dWdVNHRnVaR3hsY2pvZ1QzQmxia2hoYm1Sc1pYSXNJR1JsWm1GMWJIUklZVzVrYkdWeU9pQkJjM2x1WTAxbGMzTmhaMlZJWVc1a2JHVnlJRDBnYm5Wc2JDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGMzVndaWElvSUNncElEMCtJSHNnZEdocGN5NXZiazl3Wlc0b0tTQjlMQ0J2Y0dWdVNHRnVaR3hsY2l3Z1pHVm1ZWFZzZEVoaGJtUnNaWElnS1R0Y2NseHVYSFJjZEhSb2FYTXVZV3hzYjNkU1pXTnZibTVsWTNRb0tUdGNjbHh1WEhSY2RIUm9hWE11YlY5bllXUm5aWFJWY21rZ1BTQm5ZV1JuWlhSVmNtazdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUkFZbWx1WkNCdmJrOXdaVzRvS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lrTnZibTVsWTNSbFpGd2lJQ2s3WEhKY2JseDBYSFJzWlhRZ2JYTm5VMlYwUlc1a2NHOXBiblJVZVhCbE9pQk5jMmRUWlhSRmJtUndiMmx1ZEZSNWNHVWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1WlhkRmJtUndiMmx1ZEZSNWNHVTZJRVZ1WkhCdmFXNTBWSGx3WlM1SFlXUm5aWFFzWEhKY2JseDBYSFJjZEdkaFpHZGxkRlZ5YVRvZ2RHaHBjeTV0WDJkaFpHZGxkRlZ5YVN4Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUjBhR2x6TG5ObGJtUk5aWE56WVdkbEtDQk5aWE56WVdkbFZIbHdaUzVUWlhSRmJtUndiMmx1ZEZSNWNHVXNJRzF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHh5WEc1OVhISmNibHh5WEc0aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8uL3NyYy9nYWRnZXRfZW5kcG9pbnQudHNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL2luZGV4LnRzXCI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIC4vc3JjL2luZGV4LnRzICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIGV4cG9ydHMgcHJvdmlkZWQ6IEF2QmFzZU5vZGUsIEF2Q29tcG9zZWRFbnRpdHksIEF2RHJvcEluZGljYXRvciwgQ0FhcmR2YXJrRW5kcG9pbnQsIENNb25pdG9yRW5kcG9pbnQsIENVdGlsaXR5RW5kcG9pbnQsIEludGVyZmFjZVJvbGUsIEF2SW50ZXJmYWNlRW50aXR5LCBBdkVudGl0eUNoaWxkLCBHZXRHYWRnZXRVcmxGcm9tV2luZG93LCBBdkdhZGdldCwga19HYWRnZXRJbmZvSW50ZXJmYWNlLCBBdkdhZGdldEluZm8sIEdhZGdldFNlZWRIaWdobGlnaHQsIEdhZGdldFNlZWRDb250YWluZXJDb21wb25lbnQsIGZpbmRHbHRmSWNvbkZ1bGxVcmwsIHJlbmRlckdhZGdldEljb24sIEF2R2FkZ2V0U2VlZCwgQXZHcmFiQnV0dG9uLCBBdkhlYWRGYWNpbmdUcmFuc2Zvcm0sIEF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzLCBBdkxpbmUsIEF2TW9kZWwsIEF2TW9kZWxUcmFuc2Zvcm0sIGtfTWVudUludGVyZmFjZSwgTWVudUV2ZW50VHlwZSwgQXZNZW51SXRlbSwgQXZPcmlnaW4sIFBhbmVsUmVxdWVzdFR5cGUsIEF2UGFuZWwsIEF2UGFuZWxBbmNob3IsIEF2UGFyZW50VHJhbnNmb3JtLCBQcmltaXRpdmVUeXBlLCBQcmltaXRpdmVZT3JpZ2luLCBQcmltaXRpdmVYT3JpZ2luLCBQcmltaXRpdmVaT3JpZ2luLCBBdlByaW1pdGl2ZSwgcmVuZGVyQWFyZHZhcmtSb290LCBIaWdobGlnaHRUeXBlLCBTaG93R3JhYmJhYmxlQ2hpbGRyZW4sIEhpZGRlbkNoaWxkcmVuQmVoYXZpb3IsIEdyYWJiYWJsZVN0eWxlLCBBdlN0YW5kYXJkR3JhYmJhYmxlLCBBdlRyYW5zZm9ybSwgYXNzZXJ0LCBRdWF0ZXJuaW9uVG9FdWxlckFuZ2xlcywgcXVhdEZyb21BeGlzQW5nbGVSYWRpYW5zLCBFdWxlckFuZ2xlc1RvUXVhdGVybmlvbiwgUmFkaWFuc1RvRGVncmVlcywgRGVncmVlc1RvUmFkaWFucywga19HYWRnZXRMaXN0SW50ZXJmYWNlLCBHYWRnZXRMaXN0RXZlbnRUeXBlLCBHYWRnZXRMaXN0UmVzdWx0LCBBdkdhZGdldExpc3QsIEF2QXBpSW50ZXJmYWNlLCBrX01lc3NhZ2Vib3hJbnRlcmZhY2UsIE1lc3NhZ2Vib3hFdmVudFR5cGUsIEF2TWVzc2FnZWJveCwgTW92ZWFibGVDb21wb25lbnRTdGF0ZSwgQ29udGFpbmVyUmVxdWVzdFR5cGUsIEdyYWJSZXF1ZXN0VHlwZSwgR3JhYlBvc2UsIE1vdmVhYmxlQ29tcG9uZW50LCBOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlLCBOZXR3b3JrSXRlbVRyYW5zZm9ybSwgTmV0d29ya2VkR2FkZ2V0Q29tcG9uZW50LCBOZXR3b3JrZWRJdGVtQ29tcG9uZW50LCBSZW1vdGVHYWRnZXRFdmVudFR5cGUsIFJlbW90ZUdhZGdldENvbXBvbmVudCwga19yZW1vdGVHcmFiYmFibGVJbnRlcmZhY2UsIFJlbW90ZUl0ZW1Db21wb25lbnQsIENvbnRhaW5lckl0ZW1TdGF0ZSwgU2ltcGxlQ29udGFpbmVyQ29tcG9uZW50LCBEZWZhdWx0TGFuZGluZywgQ0dhZGdldEVuZHBvaW50LCBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUsIE5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudCwgQ1JlbmRlcmVyRW5kcG9pbnQsIFJlbW90ZVVuaXZlcnNlQ29tcG9uZW50ICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBfX3dlYnBhY2tfZXhwb3J0c19fLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblwidXNlIHN0cmljdFwiO1xuZXZhbChcIl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Jhc2Vfbm9kZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19iYXNlX25vZGUgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2Jhc2Vfbm9kZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2QmFzZU5vZGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19iYXNlX25vZGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX1tcXFwiQXZCYXNlTm9kZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19jb21wb3NlZF9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2NvbXBvc2VkX2VudGl0eS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2Q29tcG9zZWRFbnRpdHlcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19jb21wb3NlZF9lbnRpdHlfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQXZDb21wb3NlZEVudGl0eVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2Ryb3BfaW5kaWNhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2Ryb3BfaW5kaWNhdG9yICovIFxcXCIuL3NyYy9hYXJkdmFya19kcm9wX2luZGljYXRvci50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2RHJvcEluZGljYXRvclxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2Ryb3BfaW5kaWNhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkF2RHJvcEluZGljYXRvclxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2VuZHBvaW50ICovIFxcXCIuL3NyYy9hYXJkdmFya19lbmRwb2ludC50c1xcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ0FhcmR2YXJrRW5kcG9pbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDQWFyZHZhcmtFbmRwb2ludFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNNb25pdG9yRW5kcG9pbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJDTW9uaXRvckVuZHBvaW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQ1V0aWxpdHlFbmRwb2ludFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIkNVdGlsaXR5RW5kcG9pbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2ludGVyZmFjZV9lbnRpdHkudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJJbnRlcmZhY2VSb2xlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfaW50ZXJmYWNlX2VudGl0eV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNF9fW1xcXCJJbnRlcmZhY2VSb2xlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZJbnRlcmZhY2VFbnRpdHlcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19pbnRlcmZhY2VfZW50aXR5X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2SW50ZXJmYWNlRW50aXR5XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2VudGl0eV9jaGlsZCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZW50aXR5X2NoaWxkLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZFbnRpdHlDaGlsZFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2VudGl0eV9jaGlsZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkVudGl0eUNoaWxkXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dhZGdldCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiR2V0R2FkZ2V0VXJsRnJvbVdpbmRvd1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJHZXRHYWRnZXRVcmxGcm9tV2luZG93XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZHYWRnZXRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZHYWRnZXRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfaW5mb19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXRfaW5mbyAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0X2luZm8udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX0dhZGdldEluZm9JbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfaW5mb19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJrX0dhZGdldEluZm9JbnRlcmZhY2VcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkdhZGdldEluZm9cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfaW5mb19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJBdkdhZGdldEluZm9cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfc2VlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19nYWRnZXRfc2VlZCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZ2FkZ2V0X3NlZWQudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHYWRnZXRTZWVkSGlnaGxpZ2h0XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiR2FkZ2V0U2VlZEhpZ2hsaWdodFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdhZGdldFNlZWRDb250YWluZXJDb21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19nYWRnZXRfc2VlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJHYWRnZXRTZWVkQ29udGFpbmVyQ29tcG9uZW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiZmluZEdsdGZJY29uRnVsbFVybFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dhZGdldF9zZWVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcImZpbmRHbHRmSWNvbkZ1bGxVcmxcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJyZW5kZXJHYWRnZXRJY29uXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfZ2FkZ2V0X3NlZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwicmVuZGVyR2FkZ2V0SWNvblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R2FkZ2V0U2VlZFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dhZGdldF9zZWVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIkF2R2FkZ2V0U2VlZFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2dyYWJfYnV0dG9uX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2dyYWJfYnV0dG9uICovIFxcXCIuL3NyYy9hYXJkdmFya19ncmFiX2J1dHRvbi50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R3JhYkJ1dHRvblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2dyYWJfYnV0dG9uX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV85X19bXFxcIkF2R3JhYkJ1dHRvblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2hlYWRfZmFjaW5nX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfaGVhZF9mYWNpbmdfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkhlYWRGYWNpbmdUcmFuc2Zvcm1cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19oZWFkX2ZhY2luZ190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEwX19bXFxcIkF2SGVhZEZhY2luZ1RyYW5zZm9ybVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnMudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdkhpZ2hsaWdodFRyYW5zbWl0dGVyc1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2hpZ2hsaWdodF90cmFuc21pdHRlcnNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzExX19bXFxcIkF2SGlnaGxpZ2h0VHJhbnNtaXR0ZXJzXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfbGluZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfbGluZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbGluZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2TGluZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX2xpbmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEyX19bXFxcIkF2TGluZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX21vZGVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19tb2RlbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdk1vZGVsXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfbW9kZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzEzX19bXFxcIkF2TW9kZWxcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19tb2RlbF90cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE0X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX21vZGVsX3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfbW9kZWxfdHJhbnNmb3JtLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZNb2RlbFRyYW5zZm9ybVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX21vZGVsX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTRfX1tcXFwiQXZNb2RlbFRyYW5zZm9ybVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX21lbnVfaXRlbV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfbWVudV9pdGVtICovIFxcXCIuL3NyYy9hYXJkdmFya19tZW51X2l0ZW0udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX01lbnVJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19tZW51X2l0ZW1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19bXFxcImtfTWVudUludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk1lbnVFdmVudFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19tZW51X2l0ZW1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE1X19bXFxcIk1lbnVFdmVudFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdk1lbnVJdGVtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfbWVudV9pdGVtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNV9fW1xcXCJBdk1lbnVJdGVtXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfb3JpZ2luX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19vcmlnaW4gKi8gXFxcIi4vc3JjL2FhcmR2YXJrX29yaWdpbi50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2T3JpZ2luXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfb3JpZ2luX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xNl9fW1xcXCJBdk9yaWdpblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3BhbmVsX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19wYW5lbCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcGFuZWwudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJQYW5lbFJlcXVlc3RUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcGFuZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE3X19bXFxcIlBhbmVsUmVxdWVzdFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdlBhbmVsXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcGFuZWxfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzE3X19bXFxcIkF2UGFuZWxcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19wYW5lbGFuY2hvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMThfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcGFuZWxhbmNob3IgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3BhbmVsYW5jaG9yLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZQYW5lbEFuY2hvclxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3BhbmVsYW5jaG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xOF9fW1xcXCJBdlBhbmVsQW5jaG9yXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTlfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2UGFyZW50VHJhbnNmb3JtXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcGFyZW50X3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMTlfX1tcXFwiQXZQYXJlbnRUcmFuc2Zvcm1cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19wcmltaXRpdmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIwX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL2FhcmR2YXJrX3ByaW1pdGl2ZSAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfcHJpbWl0aXZlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlVHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3ByaW1pdGl2ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjBfX1tcXFwiUHJpbWl0aXZlVHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlByaW1pdGl2ZVlPcmlnaW5cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19wcmltaXRpdmVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIwX19bXFxcIlByaW1pdGl2ZVlPcmlnaW5cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJQcmltaXRpdmVYT3JpZ2luXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcHJpbWl0aXZlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMF9fW1xcXCJQcmltaXRpdmVYT3JpZ2luXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUHJpbWl0aXZlWk9yaWdpblxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3ByaW1pdGl2ZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjBfX1tcXFwiUHJpbWl0aXZlWk9yaWdpblxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2UHJpbWl0aXZlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfcHJpbWl0aXZlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMF9fW1xcXCJBdlByaW1pdGl2ZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3JlbmRlcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjFfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfcmVuZGVyICovIFxcXCIuL3NyYy9hYXJkdmFya19yZW5kZXIudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJyZW5kZXJBYXJkdmFya1Jvb3RcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19yZW5kZXJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIxX19bXFxcInJlbmRlckFhcmR2YXJrUm9vdFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3N0YW5kYXJkX2dyYWJiYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlICovIFxcXCIuL3NyYy9hYXJkdmFya19zdGFuZGFyZF9ncmFiYmFibGUudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJIaWdobGlnaHRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMl9fW1xcXCJIaWdobGlnaHRUeXBlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiU2hvd0dyYWJiYWJsZUNoaWxkcmVuXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMl9fW1xcXCJTaG93R3JhYmJhYmxlQ2hpbGRyZW5cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJIaWRkZW5DaGlsZHJlbkJlaGF2aW9yXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfc3RhbmRhcmRfZ3JhYmJhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yMl9fW1xcXCJIaWRkZW5DaGlsZHJlbkJlaGF2aW9yXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiR3JhYmJhYmxlU3R5bGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya19zdGFuZGFyZF9ncmFiYmFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzIyX19bXFxcIkdyYWJiYWJsZVN0eWxlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZTdGFuZGFyZEdyYWJiYWJsZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3N0YW5kYXJkX2dyYWJiYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjJfX1tcXFwiQXZTdGFuZGFyZEdyYWJiYWJsZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJBdlRyYW5zZm9ybVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FhcmR2YXJrX3RyYW5zZm9ybV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjNfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdXRpbHMgKi8gXFxcIi4vc3JjL2FhcmR2YXJrX3V0aWxzLnRzXFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJhc3NlcnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwiYXNzZXJ0XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUXVhdGVybmlvblRvRXVsZXJBbmdsZXNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwiUXVhdGVybmlvblRvRXVsZXJBbmdsZXNcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJxdWF0RnJvbUF4aXNBbmdsZVJhZGlhbnNcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwicXVhdEZyb21BeGlzQW5nbGVSYWRpYW5zXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiRXVsZXJBbmdsZXNUb1F1YXRlcm5pb25cXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hYXJkdmFya191dGlsc19fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjRfX1tcXFwiRXVsZXJBbmdsZXNUb1F1YXRlcm5pb25cXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJSYWRpYW5zVG9EZWdyZWVzXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfdXRpbHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI0X19bXFxcIlJhZGlhbnNUb0RlZ3JlZXNcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWdyZWVzVG9SYWRpYW5zXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYWFyZHZhcmtfdXRpbHNfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI0X19bXFxcIkRlZ3JlZXNUb1JhZGlhbnNcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYXBpX2dhZGdldGxpc3QgKi8gXFxcIi4vc3JjL2FwaV9nYWRnZXRsaXN0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwia19HYWRnZXRMaXN0SW50ZXJmYWNlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYXBpX2dhZGdldGxpc3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI1X19bXFxcImtfR2FkZ2V0TGlzdEludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdhZGdldExpc3RFdmVudFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjVfX1tcXFwiR2FkZ2V0TGlzdEV2ZW50VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdhZGdldExpc3RSZXN1bHRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfZ2FkZ2V0bGlzdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjVfX1tcXFwiR2FkZ2V0TGlzdFJlc3VsdFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkF2R2FkZ2V0TGlzdFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FwaV9nYWRnZXRsaXN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yNV9fW1xcXCJBdkdhZGdldExpc3RcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hcGlfaW50ZXJmYWNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfaW50ZXJmYWNlICovIFxcXCIuL3NyYy9hcGlfaW50ZXJmYWNlLnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZBcGlJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfaW50ZXJmYWNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yNl9fW1xcXCJBdkFwaUludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FwaV9tZXNzYWdlYm94X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hcGlfbWVzc2FnZWJveCAqLyBcXFwiLi9zcmMvYXBpX21lc3NhZ2Vib3gudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX01lc3NhZ2Vib3hJbnRlcmZhY2VcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9hcGlfbWVzc2FnZWJveF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjdfX1tcXFwia19NZXNzYWdlYm94SW50ZXJmYWNlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTWVzc2FnZWJveEV2ZW50VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2FwaV9tZXNzYWdlYm94X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yN19fW1xcXCJNZXNzYWdlYm94RXZlbnRUeXBlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiQXZNZXNzYWdlYm94XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfYXBpX21lc3NhZ2Vib3hfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI3X19bXFxcIkF2TWVzc2FnZWJveFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjhfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tcG9uZW50X21vdmVhYmxlICovIFxcXCIuL3NyYy9jb21wb25lbnRfbW92ZWFibGUudHNcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI4X19bXFxcIk1vdmVhYmxlQ29tcG9uZW50U3RhdGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDb250YWluZXJSZXF1ZXN0VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9tb3ZlYWJsZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMjhfX1tcXFwiQ29udGFpbmVyUmVxdWVzdFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJHcmFiUmVxdWVzdFR5cGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfbW92ZWFibGVfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI4X19bXFxcIkdyYWJSZXF1ZXN0VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkdyYWJQb3NlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOF9fW1xcXCJHcmFiUG9zZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk1vdmVhYmxlQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X21vdmVhYmxlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOF9fW1xcXCJNb3ZlYWJsZUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldCAqLyBcXFwiLi9zcmMvY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI5X19bXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOV9fW1xcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtlZEdhZGdldENvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yOV9fW1xcXCJOZXR3b3JrZWRHYWRnZXRDb21wb25lbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJOZXR3b3JrZWRJdGVtQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzI5X19bXFxcIk5ldHdvcmtlZEl0ZW1Db21wb25lbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vY29tcG9uZW50X3JlbW90ZV9nYWRnZXQgKi8gXFxcIi4vc3JjL2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0LnRzeFxcXCIpO1xcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzMwX19bXFxcIlJlbW90ZUdhZGdldEV2ZW50VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMF9fW1xcXCJSZW1vdGVHYWRnZXRDb21wb25lbnRcXFwiXTsgfSk7XFxuXFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMF9fW1xcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZUl0ZW1Db21wb25lbnRcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzBfX1tcXFwiUmVtb3RlSXRlbUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2NvbXBvbmVudF9zaW1wbGVfY29udGFpbmVyX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfc2ltcGxlX2NvbnRhaW5lciAqLyBcXFwiLi9zcmMvY29tcG9uZW50X3NpbXBsZV9jb250YWluZXIudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJDb250YWluZXJJdGVtU3RhdGVcXFwiLCBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb21wb25lbnRfc2ltcGxlX2NvbnRhaW5lcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzFfX1tcXFwiQ29udGFpbmVySXRlbVN0YXRlXFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgcmVleHBvcnQgKHNhZmUpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiU2ltcGxlQ29udGFpbmVyQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfY29tcG9uZW50X3NpbXBsZV9jb250YWluZXJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzMxX19bXFxcIlNpbXBsZUNvbnRhaW5lckNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2RlZmF1bHRfbGFuZGluZ19wYWdlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9kZWZhdWx0X2xhbmRpbmdfcGFnZSAqLyBcXFwiLi9zcmMvZGVmYXVsdF9sYW5kaW5nX3BhZ2UudHN4XFxcIik7XFxuLyogaGFybW9ueSByZWV4cG9ydCAoc2FmZSkgKi8gX193ZWJwYWNrX3JlcXVpcmVfXy5kKF9fd2VicGFja19leHBvcnRzX18sIFxcXCJEZWZhdWx0TGFuZGluZ1xcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2RlZmF1bHRfbGFuZGluZ19wYWdlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zMl9fW1xcXCJEZWZhdWx0TGFuZGluZ1xcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2dhZGdldF9lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vZ2FkZ2V0X2VuZHBvaW50ICovIFxcXCIuL3NyYy9nYWRnZXRfZW5kcG9pbnQudHNcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNHYWRnZXRFbmRwb2ludFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX2dhZGdldF9lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzNfX1tcXFwiQ0dhZGdldEVuZHBvaW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vbmV0d29ya191bml2ZXJzZSAqLyBcXFwiLi9zcmMvbmV0d29ya191bml2ZXJzZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzM0X19bXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzM0X19bXFxcIk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX3JlbmRlcmVyX2VuZHBvaW50X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zNV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9yZW5kZXJlcl9lbmRwb2ludCAqLyBcXFwiLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHNcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNSZW5kZXJlckVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfcmVuZGVyZXJfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzM1X19bXFxcIkNSZW5kZXJlckVuZHBvaW50XFxcIl07IH0pO1xcblxcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBfcmVtb3RlX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zNl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9yZW1vdGVfdW5pdmVyc2UgKi8gXFxcIi4vc3JjL3JlbW90ZV91bml2ZXJzZS50c3hcXFwiKTtcXG4vKiBoYXJtb255IHJlZXhwb3J0IChzYWZlKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZVVuaXZlcnNlQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBfcmVtb3RlX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zNl9fW1xcXCJSZW1vdGVVbml2ZXJzZUNvbXBvbmVudFxcXCJdOyB9KTtcXG5cXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OXBibVJsZUM1MGN6OW1abUkwSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUU3UVVGQlFUdEJRVUZCTzBGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVhGRE8wRkJRMDA3UVVGRFJEdEJRVU5PTzBGQlExRTdRVUZEU2p0QlFVTk9PMEZCUTBzN1FVRkRRVHRCUVVOQk8wRkJRMVU3UVVGRFF6dEJRVU5zUWp0QlFVTkRPMEZCUTFVN1FVRkRUanRCUVVOSU8wRkJRMFE3UVVGRFRUdEJRVU5MTzBGQlExQTdRVUZEU0R0QlFVTlpPMEZCUTFRN1FVRkRTanRCUVVOQk8wRkJRMFE3UVVGRFF6dEJRVU5KTzBGQlExRTdRVUZEU0R0QlFVTkhPMEZCUTA0N1FVRkRURHRCUVVORE8wRkJRME03UVVGRFJpSXNJbVpwYkdVaU9pSXVMM055WXk5cGJtUmxlQzUwY3k1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZZbUZ6WlY5dWIyUmxKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5amIyMXdiM05sWkY5bGJuUnBkSGtuTzF4eVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyUnliM0JmYVc1a2FXTmhkRzl5Snp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOWxibVJ3YjJsdWRDYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYVc1MFpYSm1ZV05sWDJWdWRHbDBlU2M3WEhKY2JtVjRjRzl5ZENBcUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNTBhWFI1WDJOb2FXeGtKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFFuTzF4eVhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyZGhaR2RsZEY5cGJtWnZKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5aFlYSmtkbUZ5YTE5bllXUm5aWFJmYzJWbFpDYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmWjNKaFlsOWlkWFIwYjI0bk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYMmhsWVdSZlptRmphVzVuWDNSeVlXNXpabTl5YlNjN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZhR2xuYUd4cFoyaDBYM1J5WVc1emJXbDBkR1Z5Y3ljN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiR2x1WlNjN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZiVzlrWld3bk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYMjF2WkdWc1gzUnlZVzV6Wm05eWJTYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmYldWdWRWOXBkR1Z0Snp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOXZjbWxuYVc0bk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYM0JoYm1Wc0p6dGNjbHh1Wlhod2IzSjBJQ29nWm5KdmJTQW5MaTloWVhKa2RtRnlhMTl3WVc1bGJHRnVZMmh2Y2ljN1hISmNibVY0Y0c5eWRDQXFJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZjR0Z5Wlc1MFgzUnlZVzV6Wm05eWJTYzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmY0hKcGJXbDBhWFpsSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOWhZWEprZG1GeWExOXlaVzVrWlhJbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMkZoY21SMllYSnJYM04wWVc1a1lYSmtYMmR5WVdKaVlXSnNaU2M3WEhKY2JtVjRjRzl5ZENBcUlHWnliMjBnSnk0dllXRnlaSFpoY210ZmRISmhibk5tYjNKdEp6dGNjbHh1Wlhod2IzSjBJQ29nWm5KdmJTQW5MaTloWVhKa2RtRnlhMTkxZEdsc2N5YzdYSEpjYm1WNGNHOXlkQ0FxSUdaeWIyMGdKeTR2WVhCcFgyZGhaR2RsZEd4cGMzUW5PMXh5WEc1bGVIQnZjblFnS2lCbWNtOXRJQ2N1TDJGd2FWOXBiblJsY21aaFkyVW5PMXh5WEc1bGVIQnZjblFnS2lCbWNtOXRJQ2N1TDJGd2FWOXRaWE56WVdkbFltOTRKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5amIyMXdiMjVsYm5SZmJXOTJaV0ZpYkdVbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMk52YlhCdmJtVnVkRjl1WlhSM2IzSnJaV1JmWjJGa1oyVjBKenRjY2x4dVpYaHdiM0owSUNvZ1puSnZiU0FuTGk5amIyMXdiMjVsYm5SZmNtVnRiM1JsWDJkaFpHZGxkQ2M3WEhKY2JtVjRjRzl5ZENBcUlHWnliMjBnSnk0dlkyOXRjRzl1Wlc1MFgzTnBiWEJzWlY5amIyNTBZV2x1WlhJbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMlJsWm1GMWJIUmZiR0Z1WkdsdVoxOXdZV2RsSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOW5ZV1JuWlhSZlpXNWtjRzlwYm5Rbk8xeHlYRzVsZUhCdmNuUWdLaUJtY205dElDY3VMMjVsZEhkdmNtdGZkVzVwZG1WeWMyVW5PMXh5WEc1bGVIQnZjblFnS2lCbWNtOXRJQ2N1TDNKbGJtUmxjbVZ5WDJWdVpIQnZhVzUwSnp0Y2NseHVaWGh3YjNKMElDb2dabkp2YlNBbkxpOXlaVzF2ZEdWZmRXNXBkbVZ5YzJVbk8xeHlYRzRpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLy4vc3JjL2luZGV4LnRzXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gXCIuL3NyYy9uZXR3b3JrX3VuaXZlcnNlLnRzeFwiOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9uZXR3b3JrX3VuaXZlcnNlLnRzeCAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBleHBvcnRzIHByb3ZpZGVkOiBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUsIE5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgX193ZWJwYWNrX2V4cG9ydHNfXywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cInVzZSBzdHJpY3RcIjtcbmV2YWwoXCJfX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBleHBvcnQgKGJpbmRpbmcpICovIF9fd2VicGFja19yZXF1aXJlX18uZChfX3dlYnBhY2tfZXhwb3J0c19fLCBcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGU7IH0pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudFxcXCIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gTmV0d29ya1VuaXZlcnNlQ29tcG9uZW50OyB9KTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgdHNsaWJfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIHRzbGliICovIFxcXCIuL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldCAqLyBcXFwiLi9zcmMvY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbnRpdHlfY2hpbGRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW50aXR5X2NoaWxkICovIFxcXCIuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISByZWFjdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgcmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fKTtcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG5cXHJcXG52YXIgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlO1xcclxcbihmdW5jdGlvbiAoTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlKSB7XFxyXFxuICAgIC8qKiBTZW50IHdoZW4gdGhlIHJlbW90ZSB1bml2ZXJzZSBzaG91bGQgc3RhcnQgYSBnYWRnZXQgb24gYmVoYWxmIG9mIHRoZSB0aGUgbmV0d29yayB1bml2ZXJzZS4gKi9cXHJcXG4gICAgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlW1xcXCJDcmVhdGVSZW1vdGVHYWRnZXRcXFwiXSA9IFxcXCJjcmVhdGVfcmVtb3RlX2dhZGdldFxcXCI7XFxyXFxuICAgIC8qKiBTZW50IHdoZW4gdGhlIHJlbW90ZSB1bml2ZXJzZSBzaG91bGQgZGVzdHJveSBhIGdhZGdldCBvbiBiZWhhbGYgb2YgdGhlIG5ldHdvcmsgdW5pdmVyc2UuICovXFxyXFxuICAgIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVtcXFwiRGVzdHJveVJlbW90ZUdhZGdldFxcXCJdID0gXFxcImRlc3RveV9yZW1vdGVfZ2FkZ2V0XFxcIjtcXHJcXG4gICAgLyoqIFNlbnQgd2hlbiB0aGUgcmVtb3RlIHVuaXZlcnNlIHNob3VsZCB1cGRhdGUgYSByZW1vdGUgZ2FkZ2V0J3MgdHJhbnNmb3JtIHJlbGF0aXZlIHRvIHRoZSB1bml2ZXJzZS4gKi9cXHJcXG4gICAgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlW1xcXCJVcGRhdGVSZW1vdGVHYWRnZXRUcmFuc2Zvcm1cXFwiXSA9IFxcXCJ1cGRhdGVfcmVtb3RlX2dhZGdldF90cmFuc2Zvcm1cXFwiO1xcclxcbiAgICAvKiogU2VudCB3aGVuIHRoZSBuZXR3b3JrIHVuaXZlcnNlIGlzIGNvbnZleWluZyBhbiBldmVudCBmcm9tIGEgbmV0d29ya2VkIGdhZGdldCB0byBhIHJlbW90ZSBnYWRnZXQuICovXFxyXFxuICAgIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVtcXFwiQnJvYWRjYXN0UmVtb3RlR2FkZ2V0RXZlbnRcXFwiXSA9IFxcXCJicm9hZGNhc3RfcmVtb3RlX2dhZGdldF9ldmVudFxcXCI7XFxyXFxuICAgIC8qKiBTZW50IHdoZW4gYSByZW1vdGUgdW5pdmVyc2UgaXMgaXMgY29udmV5aW5nIGFuIGV2ZW4gZnJvbSBhIHJlbW90ZSBnYWRnZXQgdG8gdGhlIG5ldHdvcmtlZCBnYWRnZXQuICovXFxyXFxuICAgIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVtcXFwiU2VuZE1hc3RlckdhZGdldEV2ZW50XFxcIl0gPSBcXFwic2VuZF9tYXN0ZXJfZ2FkZ2V0X2V2ZW50XFxcIjtcXHJcXG4gICAgLyoqIFNlbnQgd2hlbiBhbiBpdGVtIGluIGEgcmVtb3RlIGdhZGdldCBpcyBiZWluZyBtb3ZlZCBhcm91bmQgYW5kIHdhbnRzIHRvIG92ZXJyaWRlIHRoZSB0cmFuc2Zvcm1cXHJcXG4gICAgICogb2YgdGhlIHNvdXJjZSBnYWRnZXQncyBpdGVtLlxcclxcbiAgICAqL1xcclxcbiAgICBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVbXFxcIlVwZGF0ZU5ldHdvcmtJdGVtVHJhbnNmb3JtXFxcIl0gPSBcXFwidXBkYXRlX25ldHdvcmtfaXRlbV90cmFuc2Zvcm1cXFwiO1xcclxcbiAgICAvKiogU3RhcnRzIGEgZ3JhYiBmcm9tIHRoZSByZW1vdGUgc2lkZS4gTG9jYWwgc2lkZSBzaG91bGQgc3RvcCBiZWluZyBncmFiYmFibGUgYW5kIHN0YXJ0IG9iZXlpbmdcXHJcXG4gICAgICogcmVtb3RlIHRyYW5zZm9ybSB1cGRhdGVzLlxcclxcbiAgICAgKi9cXHJcXG4gICAgTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlW1xcXCJTdGFydEl0ZW1HcmFiXFxcIl0gPSBcXFwic3RhcnRfaXRlbV9ncmFiXFxcIjtcXHJcXG4gICAgLyoqIEVuZHMgYSBncmFiIGZyb20gdGhlIHJlbW90ZSBzaWRlLiBMb2NhbCBzaWRlIHNob3VsZCBzdGFydCBiZWluZyBncmFiYmFibGUgYW5kIHN0b3Agb2JleWluZ1xcclxcbiAgICAgKiByZW1vdGUgdHJhbnNmb3JtIHVwZGF0ZXMuXFxyXFxuICAgICAqL1xcclxcbiAgICBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVbXFxcIkVuZEl0ZW1HcmFiXFxcIl0gPSBcXFwiZW5kX2l0ZW1fZ3JhYlxcXCI7XFxyXFxufSkoTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlIHx8IChOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUgPSB7fSkpO1xcclxcbnZhciBOZXR3b3JrZWRHcmFiU3RhdGU7XFxyXFxuKGZ1bmN0aW9uIChOZXR3b3JrZWRHcmFiU3RhdGUpIHtcXHJcXG4gICAgTmV0d29ya2VkR3JhYlN0YXRlW05ldHdvcmtlZEdyYWJTdGF0ZVtcXFwiTm9uZVxcXCJdID0gMF0gPSBcXFwiTm9uZVxcXCI7XFxyXFxuICAgIE5ldHdvcmtlZEdyYWJTdGF0ZVtOZXR3b3JrZWRHcmFiU3RhdGVbXFxcIlJlbW90ZVxcXCJdID0gMV0gPSBcXFwiUmVtb3RlXFxcIjtcXHJcXG4gICAgTmV0d29ya2VkR3JhYlN0YXRlW05ldHdvcmtlZEdyYWJTdGF0ZVtcXFwiUmVtb3RlRHJvcHBpbmdcXFwiXSA9IDJdID0gXFxcIlJlbW90ZURyb3BwaW5nXFxcIjtcXHJcXG4gICAgTmV0d29ya2VkR3JhYlN0YXRlW05ldHdvcmtlZEdyYWJTdGF0ZVtcXFwiTG9jYWxcXFwiXSA9IDNdID0gXFxcIkxvY2FsXFxcIjtcXHJcXG59KShOZXR3b3JrZWRHcmFiU3RhdGUgfHwgKE5ldHdvcmtlZEdyYWJTdGF0ZSA9IHt9KSk7XFxyXFxuLyoqIEEgbmV0d29yayB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQXZDb21wb3NlZENvbXBvbmVudC4gVGhlIGFyZ3VtZW50cyBiZWxvdyBhcmUgZm9yIHRoZVxcclxcbiAqIHByb3ZpZGVkIGNhbGxiYWNrIGZ1bmN0aW9uLlxcclxcbiAqXFxyXFxuICogQHBhcmFtIGV2ZW50XFx0XFx0QW4gb2JqZWN0LCBvcGFxdWUgdG8gdGhlIHJvb20gaXRzZWxmLCB0aGF0IGFsbG93cyB0aGUgbmV0d29yayB1bml2ZXJzZSB0b1xcclxcbiAqIFxcdFxcdFxcdFxcdFxcdGNvbW11bmljYXRlIHdpdGggaXRzIHJlbW90ZSBwZWVycy5cXHJcXG4gKiBAcGFyYW0gcmVsaWFibGVcXHRJZiB0aGlzIGFyZ3VtZW50IGlzIHRydWUsIHRoZSByb29tIG11c3QgZGVsaXZlciB0aGUgbWVzc2FnZSB0byBldmVyeSByZW1vdGVcXHJcXG4gKiBcXHRcXHRcXHRcXHRcXHR1bml2ZXJzZSBvciB0aGF0IHVuaXZlcnNlIHdpbGwgYmUgb3V0IG9mIHN5bmNoIHdpdGggdGhlIG5ldHdvcmsgdW5pdmVyc2UuXFxyXFxuICovXFxyXFxuY2xhc3MgTmV0d29ya1VuaXZlcnNlQ29tcG9uZW50IHtcXHJcXG4gICAgY29uc3RydWN0b3IobmV0d29ya0V2ZW50Q2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5RW5kcG9pbnRJZCA9IG5ldyBNYXAoKTtcXHJcXG4gICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQgPSBuZXcgTWFwKCk7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMubmV0d29ya0V2ZW50Q2FsbGJhY2sgPSBuZXR3b3JrRXZlbnRDYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICBvblVwZGF0ZShjYWxsYmFjaykge1xcclxcbiAgICAgICAgdGhpcy5lbnRpdHlDYWxsYmFjayA9IGNhbGxiYWNrO1xcclxcbiAgICB9XFxyXFxuICAgIG9uTmV0d29ya0ludGVyZmFjZShhY3RpdmVOZXR3b3JrZWRHYWRnZXQpIHtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlFbmRwb2ludElkLmdldChhY3RpdmVOZXR3b3JrZWRHYWRnZXQucGVlci5lbmRwb2ludElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgIGdhZGdldEluZm8gPVxcclxcbiAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBpZmFjZTogYWN0aXZlTmV0d29ya2VkR2FkZ2V0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IG5ldyBNYXAoKSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICB0aGlzLm5ldHdvcmtlZEdhZGdldHNCeUVuZHBvaW50SWQuc2V0KGFjdGl2ZU5ldHdvcmtlZEdhZGdldC5wZWVyLmVuZHBvaW50SWQsIGdhZGdldEluZm8pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IGl0ZW1JbmZvO1xcclxcbiAgICAgICAgYWN0aXZlTmV0d29ya2VkR2FkZ2V0Lm9uRXZlbnQoKGV2ZW50KSA9PiB7XFxyXFxuICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XFxyXFxuICAgICAgICAgICAgICAgIGNhc2UgX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiXS5TZXRHYWRnZXRJbmZvOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzZXRJbmZvID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHVuaXZlcnNlRnJvbUdhZGdldCA9IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibWluaW1hbFBvc2VGcm9tVHJhbnNmb3JtXFxcIl0pKGFjdGl2ZU5ldHdvcmtlZEdhZGdldC5zZWxmRnJvbVBlZXIpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvbWUgc3R1ZmYgd2UganVzdCBhbHdheXMgdXBkYXRlXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZ2V0SW5mby5yZW1vdGVMb2NrcyA9IHNldEluZm8ubG9ja3M7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FkZ2V0SW5mby51cmwgPSBzZXRJbmZvLnVybDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB3ZSBoYXZlbid0IHNlZW4gYSBnYWRnZXQgaW5mbyBmb3IgdGhpcyBnYWRnZXQgeWV0LCBhc3NpZ24gaXQgYW4gSUQgYW5kIHRlbGxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZW1vdGUgdW5pdmVyc2VzIHRvIHNwYXduIGl0XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQgPSBOZXR3b3JrVW5pdmVyc2VDb21wb25lbnQubmV4dFJlbW90ZUdhZGdldElkKys7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuc2V0KGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsIGdhZGdldEluZm8pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY3JlYXRlRXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUuQ3JlYXRlUmVtb3RlR2FkZ2V0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWRnZXRJbmZvOiB0aGlzLm5ldHdvcmtlZEdhZGdldEluZm9Gcm9tSW50ZXJuYWwoZ2FkZ2V0SW5mbyksXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya0V2ZW50Q2FsbGJhY2soY3JlYXRlRXZlbnQsIHRydWUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlXFxcIl0uU2V0SXRlbUluZm86XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNldEluZm8gPSBldmVudDtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNldEluZm8uaXRlbUlkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJJZ25vcmluZyBmYWxzeSBpdGVtIElEXFxcIiwgc2V0SW5mby5pdGVtSWQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpdGVtSW5mbykge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSW5mbyA9XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZhY2U6IGFjdGl2ZU5ldHdvcmtlZEdhZGdldCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWQ6IHNldEluZm8uaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYWJTdGF0ZTogTmV0d29ya2VkR3JhYlN0YXRlLk5vbmUsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLnNldChzZXRJbmZvLml0ZW1JZCwgaXRlbUluZm8pO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlbW90ZVRyYW5zZm9ybShhY3RpdmVOZXR3b3JrZWRHYWRnZXQuc2VsZkZyb21QZWVyLCBnYWRnZXRJbmZvLCBpdGVtSW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiTmV0d29ya0dhZGdldEV2ZW50VHlwZVxcXCJdLlNlbmRFdmVudFRvQWxsUmVtb3RlczpcXHJcXG4gICAgICAgICAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgc2VuZEV2ZW50ID0gZXZlbnQ7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGdhZGdldEluZm8pIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ldEV2ZW50ID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlLkJyb2FkY2FzdFJlbW90ZUdhZGdldEV2ZW50LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JbmZvID09PSBudWxsIHx8IGl0ZW1JbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpdGVtSW5mby5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudDogc2VuZEV2ZW50LmV2ZW50LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5ldHdvcmtFdmVudENhbGxiYWNrKG5ldEV2ZW50LCBzZW5kRXZlbnQucmVsaWFibGUpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrR2FkZ2V0RXZlbnRUeXBlXFxcIl0uRHJvcENvbXBsZXRlOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbURyb3BDb21wbGV0ZShnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkLCBpdGVtSW5mby5pdGVtSWQpO1xcclxcbiAgICAgICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVOZXR3b3JrZWRHYWRnZXQub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgaWYgKGl0ZW1JbmZvKSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMganVzdCBhbiBpdGVtIGluIHRoZSBnYWRnZXRcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSBpZiAoZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCkge1xcclxcbiAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIHRoZSBnYWRnZXQgaXRzZWxmXFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5RW5kcG9pbnRJZC5kZWxldGUoYWN0aXZlTmV0d29ya2VkR2FkZ2V0LnBlZXIuZW5kcG9pbnRJZCk7XFxyXFxuICAgICAgICAgICAgICAgIGlmIChnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5ldHdvcmtlZEdhZGdldHNCeVJlbW90ZUlkLmRlbGV0ZShnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV0d29ya0V2ZW50Q2FsbGJhY2soe1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5EZXN0cm95UmVtb3RlR2FkZ2V0LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZUdhZGdldElkOiBnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgfSwgdHJ1ZSk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgIC8vIHRoaXMgaW50ZXJmYWNlIG5ldmVyIGlkZW50aWZpZWQgaXRzZWxmIGFzIGVpdGhlciBhbiBpdGVtIG9yIGEgZ2FkZ2V0XFxyXFxuICAgICAgICAgICAgICAgIC8vIGlmIGl0J3MgdGhlIG9ubHkgcmVmZXJlbmNlIHdlIGhhdmUgdG8gdGhlIGVuZHBvaW50IElkLCBjbGVhbiB0aGF0IHVwXFxyXFxuICAgICAgICAgICAgICAgIGlmIChnYWRnZXRJbmZvLml0ZW1zLnNpemUgPT0gMCkge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlFbmRwb2ludElkLmRlbGV0ZShhY3RpdmVOZXR3b3JrZWRHYWRnZXQucGVlci5lbmRwb2ludElkKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICAgICAgYWN0aXZlTmV0d29ya2VkR2FkZ2V0Lm9uVHJhbnNmb3JtVXBkYXRlZCgoZW50aXR5RnJvbVBlZXIpID0+IHtcXHJcXG4gICAgICAgICAgICBpZiAoZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVJlbW90ZVRyYW5zZm9ybShlbnRpdHlGcm9tUGVlciwgZ2FkZ2V0SW5mbywgaXRlbUluZm8pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZVJlbW90ZVRyYW5zZm9ybShlbnRpdHlGcm9tUGVlciwgZ2FkZ2V0SW5mbywgaXRlbUluZm8pIHtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZClcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBsZXQgdW5pdmVyc2VGcm9tR2FkZ2V0ID0gT2JqZWN0KF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fW1xcXCJtaW5pbWFsUG9zZUZyb21UcmFuc2Zvcm1cXFwiXSkoZW50aXR5RnJvbVBlZXIpO1xcclxcbiAgICAgICAgdGhpcy5uZXR3b3JrRXZlbnRDYWxsYmFjayh7XFxyXFxuICAgICAgICAgICAgdHlwZTogTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlLlVwZGF0ZVJlbW90ZUdhZGdldFRyYW5zZm9ybSxcXHJcXG4gICAgICAgICAgICByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JbmZvID09PSBudWxsIHx8IGl0ZW1JbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpdGVtSW5mby5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgdW5pdmVyc2VGcm9tR2FkZ2V0LFxcclxcbiAgICAgICAgfSwgZmFsc2UpO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbeyBpZmFjZTogX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIk5ldHdvcmtlZEdhZGdldENvbXBvbmVudFxcXCJdLmludGVyZmFjZU5hbWUsIHByb2Nlc3NvcjogdGhpcy5vbk5ldHdvcmtJbnRlcmZhY2UgfV07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbW90ZUV2ZW50KGV2ZW50KSB7XFxyXFxuICAgICAgICBsZXQgZSA9IGV2ZW50O1xcclxcbiAgICAgICAgc3dpdGNoIChlLnR5cGUpIHtcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5TZW5kTWFzdGVyR2FkZ2V0RXZlbnQ6XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMubWFzdGVyRXZlbnQoZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUuZXZlbnQpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5VcGRhdGVOZXR3b3JrSXRlbVRyYW5zZm9ybTpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVOZXR3b3JrSXRlbVRyYW5zZm9ybShlLnJlbW90ZUdhZGdldElkLCBlLml0ZW1JZCwgZS51bml2ZXJzZUZyb21HYWRnZXQpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIE5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZS5TdGFydEl0ZW1HcmFiOlxcclxcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0SXRlbUdyYWIoZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUudW5pdmVyc2VGcm9tR2FkZ2V0KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGUuRW5kSXRlbUdyYWI6XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuZW5kSXRlbUdyYWIoZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUudW5pdmVyc2VGcm9tR2FkZ2V0KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgbWFzdGVyRXZlbnQocmVtb3RlR2FkZ2V0SWQsIGl0ZW1JZCwgZXZlbnQpIHtcXHJcXG4gICAgICAgIHZhciBfYSwgX2I7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcXCJSZWNlaXZlZCBtYXN0ZXIgZXZlbnQgZm9yIHVua25vd24gcmVtb3RlIGdhZGdldCBcXFwiLCByZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IHNlbmRFdmVudCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiTmV0d29ya0dhZGdldEV2ZW50VHlwZVxcXCJdLlJlY2VpdmVFdmVudEZyb21SZW1vdGUsXFxyXFxuICAgICAgICAgICAgZXZlbnQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgaWYgKGl0ZW1JZCkge1xcclxcbiAgICAgICAgICAgIGxldCBpdGVtSW5mbyA9IGdhZGdldEluZm8uaXRlbXMuZ2V0KGl0ZW1JZCk7XFxyXFxuICAgICAgICAgICAgKF9hID0gaXRlbUluZm8gPT09IG51bGwgfHwgaXRlbUluZm8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGl0ZW1JbmZvLmlmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KHNlbmRFdmVudCk7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAoX2IgPSBnYWRnZXRJbmZvID09PSBudWxsIHx8IGdhZGdldEluZm8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdhZGdldEluZm8uaWZhY2UpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5zZW5kRXZlbnQoc2VuZEV2ZW50KTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgfVxcclxcbiAgICB1cGRhdGVOZXR3b3JrSXRlbVRyYW5zZm9ybShyZW1vdGVHYWRnZXRJZCwgaXRlbUlkLCB1bml2ZXJzZUZyb21JdGVtKSB7XFxyXFxuICAgICAgICB2YXIgX2E7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm8gPSBnYWRnZXRJbmZvLml0ZW1zLmdldChpdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBpdGVtSW5mby5yZW1vdGVVbml2ZXJzZUZyb21JdGVtID0gdW5pdmVyc2VGcm9tSXRlbTtcXHJcXG4gICAgICAgIChfYSA9IHRoaXMuZW50aXR5Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICB9XFxyXFxuICAgIHN0YXJ0SXRlbUdyYWIocmVtb3RlR2FkZ2V0SWQsIGl0ZW1JZCwgdW5pdmVyc2VGcm9tSXRlbSkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLm5ldHdvcmtlZEdhZGdldHNCeVJlbW90ZUlkLmdldChyZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBpZiAoIWdhZGdldEluZm8pXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgbGV0IGl0ZW1JbmZvID0gZ2FkZ2V0SW5mby5pdGVtcy5nZXQoaXRlbUlkKTtcXHJcXG4gICAgICAgIGlmICghaXRlbUluZm8pXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgaXRlbUluZm8ucmVtb3RlVW5pdmVyc2VGcm9tSXRlbSA9IHVuaXZlcnNlRnJvbUl0ZW07XFxyXFxuICAgICAgICBpdGVtSW5mby5ncmFiU3RhdGUgPSBOZXR3b3JrZWRHcmFiU3RhdGUuUmVtb3RlO1xcclxcbiAgICAgICAgdGhpcy5zZW5kSXRlbVRyYW5zZm9ybVN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvLCBfY29tcG9uZW50X25ldHdvcmtlZF9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiTmV0d29ya0l0ZW1UcmFuc2Zvcm1cXFwiXS5PdmVycmlkZSk7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBlbmRJdGVtR3JhYihyZW1vdGVHYWRnZXRJZCwgaXRlbUlkLCB1bml2ZXJzZUZyb21JdGVtKSB7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHRoaXMubmV0d29ya2VkR2FkZ2V0c0J5UmVtb3RlSWQuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGlmICghZ2FkZ2V0SW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm8gPSBnYWRnZXRJbmZvLml0ZW1zLmdldChpdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBpdGVtSW5mby5ncmFiU3RhdGUgPSBOZXR3b3JrZWRHcmFiU3RhdGUuUmVtb3RlRHJvcHBpbmc7XFxyXFxuICAgICAgICB0aGlzLnNlbmRJdGVtVHJhbnNmb3JtU3RhdGUoZ2FkZ2V0SW5mbywgaXRlbUluZm8sIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCJdLkRyb3BwaW5nLCB1bml2ZXJzZUZyb21JdGVtKTtcXHJcXG4gICAgfVxcclxcbiAgICBpdGVtRHJvcENvbXBsZXRlKHJlbW90ZUdhZGdldElkLCBpdGVtSWQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlSZW1vdGVJZC5nZXQocmVtb3RlR2FkZ2V0SWQpO1xcclxcbiAgICAgICAgaWYgKCFnYWRnZXRJbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIGxldCBpdGVtSW5mbyA9IGdhZGdldEluZm8uaXRlbXMuZ2V0KGl0ZW1JZCk7XFxyXFxuICAgICAgICBpZiAoIWl0ZW1JbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIGl0ZW1JbmZvLnJlbW90ZVVuaXZlcnNlRnJvbUl0ZW0gPSBudWxsO1xcclxcbiAgICAgICAgaXRlbUluZm8uZ3JhYlN0YXRlID0gTmV0d29ya2VkR3JhYlN0YXRlLk5vbmU7XFxyXFxuICAgICAgICB0aGlzLnNlbmRJdGVtVHJhbnNmb3JtU3RhdGUoZ2FkZ2V0SW5mbywgaXRlbUluZm8sIF9jb21wb25lbnRfbmV0d29ya2VkX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJOZXR3b3JrSXRlbVRyYW5zZm9ybVxcXCJdLk5vcm1hbCk7XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgfVxcclxcbiAgICBzZW5kSXRlbVRyYW5zZm9ybVN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvLCBuZXdTdGF0ZSwgdW5pdmVyc2VGcm9tSXRlbSkge1xcclxcbiAgICAgICAgbGV0IG0gPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2NvbXBvbmVudF9uZXR3b3JrZWRfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcIk5ldHdvcmtHYWRnZXRFdmVudFR5cGVcXFwiXS5TZXRUcmFuc2Zvcm1TdGF0ZSxcXHJcXG4gICAgICAgICAgICBuZXdTdGF0ZSxcXHJcXG4gICAgICAgICAgICB1bml2ZXJzZUZyb21JdGVtLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIGl0ZW1JbmZvLmlmYWNlLnNlbmRFdmVudChtKTtcXHJcXG4gICAgfVxcclxcbiAgICAvKiogVGhlIGluaXRpYWxpemF0aW9uIGluZm8gcGFja2V0IHRoYXQgdGhlIHJvb20gbmVlZHMgdG8gY29tbXVuaWNhdGUgdG9cXHJcXG4gICAgICogYW55IHJlbW90ZSB1bml2ZXJzZSBpdCBpcyBzdGFydGluZyB1cC5cXHJcXG4gICAgICovXFxyXFxuICAgIGdldCBpbml0SW5mbygpIHtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRzID0gW107XFxyXFxuICAgICAgICBmb3IgKGxldCBpbnRlcm5hbEluZm8gb2YgdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlSZW1vdGVJZC52YWx1ZXMoKSkge1xcclxcbiAgICAgICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5uZXR3b3JrZWRHYWRnZXRJbmZvRnJvbUludGVybmFsKGludGVybmFsSW5mbyk7XFxyXFxuICAgICAgICAgICAgZ2FkZ2V0cy5wdXNoKGdhZGdldEluZm8pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHsgZ2FkZ2V0cyB9O1xcclxcbiAgICB9XFxyXFxuICAgIG5ldHdvcmtlZEdhZGdldEluZm9Gcm9tSW50ZXJuYWwoaW50ZXJuYWxJbmZvKSB7XFxyXFxuICAgICAgICBsZXQgZ2FkZ2V0SW5mbyA9IHtcXHJcXG4gICAgICAgICAgICB1cmw6IGludGVybmFsSW5mby51cmwsXFxyXFxuICAgICAgICAgICAgcmVtb3RlTG9ja3M6IGludGVybmFsSW5mby5yZW1vdGVMb2NrcyxcXHJcXG4gICAgICAgICAgICB1bml2ZXJzZUZyb21HYWRnZXQ6IE9iamVjdChfYWFyZHZhcmt4cl9hYXJkdmFya19zaGFyZWRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwibWluaW1hbFBvc2VGcm9tVHJhbnNmb3JtXFxcIl0pKGludGVybmFsSW5mby5pZmFjZS5zZWxmRnJvbVBlZXIpLFxcclxcbiAgICAgICAgICAgIHJlbW90ZUdhZGdldElkOiBpbnRlcm5hbEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgaXRlbXM6IFtdLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIGZvciAobGV0IGludGVybmFsSXRlbSBvZiBpbnRlcm5hbEluZm8uaXRlbXMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICBpZiAoaW50ZXJuYWxJdGVtLml0ZW1JZCAmJiBpbnRlcm5hbEl0ZW0ucmVtb3RlVW5pdmVyc2VGcm9tSXRlbSkge1xcclxcbiAgICAgICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLnB1c2goe1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbUlkOiBpbnRlcm5hbEl0ZW0uaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlVW5pdmVyc2VGcm9tSXRlbTogaW50ZXJuYWxJdGVtLnJlbW90ZVVuaXZlcnNlRnJvbUl0ZW0sXFxyXFxuICAgICAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBnYWRnZXRJbmZvO1xcclxcbiAgICB9XFxyXFxuICAgIHJlbmRlcigpIHtcXHJcXG4gICAgICAgIGxldCBjaGlsZFRyYW5zZm9ybXMgPSBbXTtcXHJcXG4gICAgICAgIGZvciAobGV0IGdhZGdldEluZm8gb2YgdGhpcy5uZXR3b3JrZWRHYWRnZXRzQnlSZW1vdGVJZC52YWx1ZXMoKSkge1xcclxcbiAgICAgICAgICAgIGZvciAobGV0IGl0ZW1JbmZvIG9mIGdhZGdldEluZm8uaXRlbXMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1JbmZvLnJlbW90ZVVuaXZlcnNlRnJvbUl0ZW0gJiYgaXRlbUluZm8uaWZhY2VcXHJcXG4gICAgICAgICAgICAgICAgICAgICYmIGl0ZW1JbmZvLmdyYWJTdGF0ZSA9PSBOZXR3b3JrZWRHcmFiU3RhdGUuUmVtb3RlKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBsZXQga2V5ID0gYCR7Z2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZH0vJHtpdGVtSW5mby5pdGVtSWR9YDtcXHJcXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNmb3Jtcy5wdXNoKHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfdHJhbnNmb3JtX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV81X19bXFxcIkF2VHJhbnNmb3JtXFxcIl0sIHsga2V5OiBrZXksIHRyYW5zZm9ybTogaXRlbUluZm8ucmVtb3RlVW5pdmVyc2VGcm9tSXRlbSB9LFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogaXRlbUluZm8uaWZhY2UucGVlciB9KSkpO1xcclxcbiAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgcmV0dXJuIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV82X19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShyZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNl9fW1xcXCJGcmFnbWVudFxcXCJdLCBudWxsLCBjaGlsZFRyYW5zZm9ybXMpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk5ldHdvcmtVbml2ZXJzZUNvbXBvbmVudC5uZXh0UmVtb3RlR2FkZ2V0SWQgPSAxO1xcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfX19kZWZhdWx0LmFcXHJcXG5dLCBOZXR3b3JrVW5pdmVyc2VDb21wb25lbnQucHJvdG90eXBlLCBcXFwib25OZXR3b3JrSW50ZXJmYWNlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTl1WlhSM2IzSnJYM1Z1YVhabGNuTmxMblJ6ZUQ4Mk16ZzJJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096czdPenM3TzBGQlFYbEpPMEZCUTNaSE8wRkJSemhMTzBGQlEzaEtPMEZCUTB3N1FVRkRjRUk3UVVGSEwwSXNTVUZCV1N4M1FrRXJRbGc3UVVFdlFrUXNWMEZCV1N4M1FrRkJkMEk3U1VGRmJrTXNhVWRCUVdsSE8wbEJRMnBITEhWRlFVRXlRenRKUVVVelF5d3JSa0ZCSzBZN1NVRkRMMFlzZDBWQlFUUkRPMGxCUlRWRExIZEhRVUYzUnp0SlFVTjRSeXd3UmtGQk9FUTdTVUZGT1VRc2RVZEJRWFZITzBsQlEzWkhMSGRHUVVFMFJEdEpRVVUxUkN4M1IwRkJkMGM3U1VGRGVFY3NPRVZCUVd0RU8wbEJSV3hFT3p0TlFVVkZPMGxCUTBZc2QwWkJRVFJFTzBsQlJUVkVPenRQUVVWSE8wbEJRMGdzTmtSQlFXbERPMGxCUldwRE96dFBRVVZITzBsQlEwZ3NlVVJCUVRaQ08wRkJRemxDTEVOQlFVTXNSVUV2UWxjc2QwSkJRWGRDTEV0QlFYaENMSGRDUVVGM1FpeFJRU3RDYmtNN1FVRTJRa1FzU1VGQlN5eHJRa0ZOU2p0QlFVNUVMRmRCUVVzc2EwSkJRV3RDTzBsQlJYUkNMREpFUVVGSk8wbEJRMG9zSzBSQlFVMDdTVUZEVGl3clJVRkJZenRKUVVOa0xEWkVRVUZMTzBGQlEwNHNRMEZCUXl4RlFVNUpMR3RDUVVGclFpeExRVUZzUWl4clFrRkJhMElzVVVGTmRFSTdRVUY1UWtRN096czdPenM3UjBGUFJ6dEJRVU5KTEUxQlFVMHNkMEpCUVhkQ08wbEJVWEJETEZsQlFXRXNiMEpCUVd0Rk8xRkJUblpGTEdsRFFVRTBRaXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUY1UXl4RFFVRkRPMUZCUTJoR0xDdENRVUV3UWl4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGNVF5eERRVUZETzFGQlJ6bEZMRzFDUVVGakxFZEJRV1VzU1VGQlNTeERRVUZETzFGQlNYcERMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSMEZCUnl4dlFrRkJiMElzUTBGQlF6dEpRVU5zUkN4RFFVRkRPMGxCUlUwc1VVRkJVU3hEUVVGRkxGRkJRVzlDTzFGQlJYQkRMRWxCUVVrc1EwRkJReXhqUVVGakxFZEJRVWNzVVVGQlVTeERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkhUeXhyUWtGQmEwSXNRMEZCUlN4eFFrRkJjME03VVVGRmFrVXNTVUZCU1N4VlFVRlZMRWRCUTJJc1NVRkJTU3hEUVVGRExEUkNRVUUwUWl4RFFVRkRMRWRCUVVjc1EwRkJSU3h4UWtGQmNVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFTkJRVU03VVVGRGFFWXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkRaanRaUVVORExGVkJRVlU3WjBKQlExWTdiMEpCUTBNc1MwRkJTeXhGUVVGRkxIRkNRVUZ4UWp0dlFrRkROVUlzUzBGQlN5eEZRVUZGTEVsQlFVa3NSMEZCUnl4RlFVRnhRenRwUWtGRGJrUXNRMEZCUXp0WlFVTkdMRWxCUVVrc1EwRkJReXcwUWtGQk5FSXNRMEZCUXl4SFFVRkhMRU5CUVVVc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hWUVVGVkxFTkJRVVVzUTBGQlF6dFRRVU16Ump0UlFVVkVMRWxCUVVrc1VVRkJiVU1zUTBGQlF6dFJRVVY0UXl4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTEVOQlFVVXNRMEZCUlN4TFFVRjVRaXhGUVVGSExFVkJRVVU3V1VGRk9VUXNVVUZCVVN4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVOc1FqdG5Ra0ZEUXl4TFFVRkxMR3RHUVVGelFpeERRVUZETEdGQlFXRTdiMEpCUTNwRE8zZENRVU5ETEVsQlFVa3NUMEZCVHl4SFFVRkhMRXRCUVhsQ0xFTkJRVU03ZDBKQlEzaERMRWxCUVVrc2EwSkJRV3RDTEVkQlFVY3NORVpCUVhkQ0xFTkJRVVVzY1VKQlFYRkNMRU5CUVVNc1dVRkJXU3hEUVVGRkxFTkJRVU03ZDBKQlJYaEdMRzFEUVVGdFF6dDNRa0ZEYmtNc1ZVRkJWU3hEUVVGRExGZEJRVmNzUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRPM2RDUVVOMlF5eFZRVUZWTEVOQlFVTXNSMEZCUnl4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU03ZDBKQlJUZENMR2xHUVVGcFJqdDNRa0ZEYWtZc0swSkJRU3RDTzNkQ1FVTXZRaXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNSVUZET1VJN05FSkJRME1zVlVGQlZTeERRVUZETEdOQlFXTXNSMEZCUnl4M1FrRkJkMElzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRE96UkNRVU14UlN4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVTXNSMEZCUnl4RFFVRkZMRlZCUVZVc1EwRkJReXhqUVVGakxFVkJRVVVzVlVGQlZTeERRVUZGTEVOQlFVTTdORUpCUlRkRkxFbEJRVWtzVjBGQlZ5eEhRVU5tTzJkRFFVTkRMRWxCUVVrc1JVRkJSU3gzUWtGQmQwSXNRMEZCUXl4clFrRkJhMEk3WjBOQlEycEVMR05CUVdNc1JVRkJSU3hWUVVGVkxFTkJRVU1zWTBGQll6dG5RMEZEZWtNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5d3JRa0ZCSzBJc1EwRkJSU3hWUVVGVkxFTkJRVVU3TmtKQlF6bEVMRU5CUVVNN05FSkJRMFlzU1VGQlNTeERRVUZETEc5Q1FVRnZRaXhEUVVGRkxGZEJRVmNzUlVGQlJTeEpRVUZKTEVOQlFVVXNRMEZCUXp0NVFrRkRMME03Y1VKQlEwUTdiMEpCUTBRc1RVRkJUVHRuUWtGRlRpeExRVUZMTEd0R1FVRnpRaXhEUVVGRExGZEJRVmM3YjBKQlEzWkRPM2RDUVVORExFbEJRVWtzVDBGQlR5eEhRVUZITEV0QlFYVkNMRU5CUVVNN2QwSkJSWFJETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVOdVFqczBRa0ZEUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxIZENRVUYzUWl4RlFVRkZMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVVVzUTBGQlF6czBRa0ZEZUVRc1RVRkJUVHQ1UWtGRFRqdDNRa0ZGUkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVOaU96UkNRVU5ETEZGQlFWRTdaME5CUTFJN2IwTkJRME1zUzBGQlN5eEZRVUZGTEhGQ1FVRnhRanR2UTBGRE5VSXNUVUZCVFN4RlFVRkZMRTlCUVU4c1EwRkJReXhOUVVGTk8yOURRVU4wUWl4VFFVRlRMRVZCUVVVc2EwSkJRV3RDTEVOQlFVTXNTVUZCU1R0cFEwRkRiRU1zUTBGQlF6czBRa0ZGUml4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlJTeFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRkZCUVZFc1EwRkJSU3hEUVVGRE8zbENRVU5xUkR0M1FrRkZSQ3hKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVVc2NVSkJRWEZDTEVOQlFVTXNXVUZCV1N4RlFVRkZMRlZCUVZVc1JVRkJSU3hSUVVGUkxFTkJRVVVzUTBGQlF6dHhRa0ZEZGtZN2IwSkJRMFFzVFVGQlRUdG5Ra0ZGVGl4TFFVRkxMR3RHUVVGelFpeERRVUZETEhGQ1FVRnhRanR2UWtGRGFrUTdkMEpCUTBNc1NVRkJTU3hUUVVGVExFZEJRVWNzUzBGQmNVSXNRMEZCUXp0M1FrRkRkRU1zU1VGQlNTeFZRVUZWTEVWQlEyUTdORUpCUTBNc1NVRkJTU3hSUVVGUkxFZEJRMW83WjBOQlEwTXNTVUZCU1N4RlFVRkZMSGRDUVVGM1FpeERRVUZETERCQ1FVRXdRanRuUTBGRGVrUXNZMEZCWXl4RlFVRkZMRlZCUVZVc1EwRkJReXhqUVVGak8yZERRVU42UXl4TlFVRk5MRVZCUVVVc1VVRkJVU3hoUVVGU0xGRkJRVkVzZFVKQlFWSXNVVUZCVVN4RFFVRkZMRTFCUVUwN1owTkJRM2hDTEV0QlFVc3NSVUZCUlN4VFFVRlRMRU5CUVVNc1MwRkJTenMyUWtGRGRFSXNRMEZCUXpzMFFrRkRSaXhKUVVGSkxFTkJRVU1zYjBKQlFXOUNMRU5CUVVVc1VVRkJVU3hGUVVGRkxGTkJRVk1zUTBGQlF5eFJRVUZSTEVOQlFVVXNRMEZCUXp0NVFrRkRNVVE3Y1VKQlEwUTdiMEpCUTBRc1RVRkJUVHRuUWtGRlRpeExRVUZMTEd0R1FVRnpRaXhEUVVGRExGbEJRVms3YjBKQlEzaERPM2RDUVVORExFbEJRVWtzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJSU3hWUVVGVkxFTkJRVU1zWTBGQll5eEZRVUZGTEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVVc1EwRkJRenR4UWtGRGNFVTdiMEpCUTBRc1RVRkJUVHRoUVVOT08xRkJRMFlzUTBGQlF5eERRVUZGTEVOQlFVTTdVVUZGU2l4eFFrRkJjVUlzUTBGQlF5eFBRVUZQTEVOQlFVVXNSMEZCUnl4RlFVRkZPMWxCUlc1RExFbEJRVWtzVVVGQlVTeEZRVU5hTzJkQ1FVTkRMSEZEUVVGeFF6dGhRVU55UXp0cFFrRkRTU3hKUVVGSkxGVkJRVlVzUTBGQlF5eGpRVUZqTEVWQlEyeERPMmRDUVVORExEUkNRVUUwUWp0blFrRkROVUlzU1VGQlNTeERRVUZETERSQ1FVRTBRaXhEUVVGRExFMUJRVTBzUTBGQlJTeHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZGTEVOQlFVTTdaMEpCUTJ4R0xFbEJRVWtzVlVGQlZTeERRVUZETEdOQlFXTXNSVUZETjBJN2IwSkJRME1zU1VGQlNTeERRVUZETERCQ1FVRXdRaXhEUVVGRExFMUJRVTBzUTBGQlJTeFZRVUZWTEVOQlFVTXNZMEZCWXl4RFFVRkZMRU5CUVVNN2IwSkJRM0JGTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUTBGRGVFSTdkMEpCUTBNc1NVRkJTU3hGUVVGRkxIZENRVUYzUWl4RFFVRkRMRzFDUVVGdFFqdDNRa0ZEYkVRc1kwRkJZeXhGUVVGRkxGVkJRVlVzUTBGQlF5eGpRVUZqTzNGQ1FVTnFRaXhGUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzJsQ1FVTnVRenRoUVVORU8ybENRVVZFTzJkQ1FVTkRMSFZGUVVGMVJUdG5Ra0ZEZGtVc2RVVkJRWFZGTzJkQ1FVTjJSU3hKUVVGSkxGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1JVRkRPVUk3YjBKQlEwTXNTVUZCU1N4RFFVRkRMRFJDUVVFMFFpeERRVUZETEUxQlFVMHNRMEZCUlN4eFFrRkJjVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkZMRU5CUVVNN2FVSkJRMnhHTzJGQlEwUTdVVUZEUml4RFFVRkRMRU5CUVVVc1EwRkJRenRSUVVWS0xIRkNRVUZ4UWl4RFFVRkRMR3RDUVVGclFpeERRVUZGTEVOQlFVVXNZMEZCSzBJc1JVRkJSeXhGUVVGRk8xbEJSUzlGTEVsQlFVa3NWVUZCVlN4RlFVTmtPMmRDUVVORExFbEJRVWtzUTBGQlF5eHhRa0ZCY1VJc1EwRkJSU3hqUVVGakxFVkJRVVVzVlVGQlZTeEZRVUZGTEZGQlFWRXNRMEZCUlN4RFFVRkRPMkZCUTI1Rk8xRkJRMFlzUTBGQlF5eERRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlU4c2NVSkJRWEZDTEVOQlFVVXNZMEZCSzBJc1JVRkJSU3hWUVVGMVF5eEZRVU4wUnl4UlFVRnRRenRSUVVWdVF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMR05CUVdNN1dVRkROMElzVDBGQlR6dFJRVVZTTEVsQlFVa3NhMEpCUVd0Q0xFZEJRVWNzTkVaQlFYZENMRU5CUVVVc1kwRkJZeXhEUVVGRkxFTkJRVU03VVVGRGNFVXNTVUZCU1N4RFFVRkRMRzlDUVVGdlFpeERRVU40UWp0WlFVTkRMRWxCUVVrc1JVRkJSU3gzUWtGQmQwSXNRMEZCUXl3eVFrRkJNa0k3V1VGRE1VUXNZMEZCWXl4RlFVRkZMRlZCUVZVc1EwRkJReXhqUVVGak8xbEJRM3BETEUxQlFVMHNSVUZCUlN4UlFVRlJMR0ZCUVZJc1VVRkJVU3gxUWtGQlVpeFJRVUZSTEVOQlFVVXNUVUZCVFR0WlFVTjRRaXhyUWtGQmEwSTdVMEZEVFN4RlFVRkZMRXRCUVVzc1EwRkJSU3hEUVVGRE8wbEJRM0pETEVOQlFVTTdTVUZGUkN4SlFVRlhMRkZCUVZFN1VVRkZiRUlzVDBGQlR5eERRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRzlHUVVGM1FpeERRVUZETEdGQlFXRXNSVUZCUlN4VFFVRlRMRVZCUVVVc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMRU5CUVVVc1EwRkJRenRKUVVOc1J5eERRVUZETzBsQlJVUXNTVUZCVnl4bFFVRmxPMUZCUlhwQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEySXNRMEZCUXp0SlFVVk5MRmRCUVZjc1EwRkJSU3hMUVVGaE8xRkJSV2hETEVsQlFVa3NRMEZCUXl4SFFVRkhMRXRCUVRaQ0xFTkJRVU03VVVGRGRFTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVOa08xbEJRME1zUzBGQlN5eDNRa0ZCZDBJc1EwRkJReXh4UWtGQmNVSTdaMEpCUTJ4RUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVVXNRMEZCUXl4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVVc1EwRkJRenRuUWtGRGVFUXNUVUZCVFR0WlFVVlFMRXRCUVVzc2QwSkJRWGRDTEVOQlFVTXNNRUpCUVRCQ08yZENRVU4yUkN4SlFVRkpMRU5CUVVNc01FSkJRVEJDTEVOQlFVVXNRMEZCUXl4RFFVRkRMR05CUVdNc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4clFrRkJhMElzUTBGQlJTeERRVUZETzJkQ1FVTndSaXhOUVVGTk8xbEJSVkFzUzBGQlN5eDNRa0ZCZDBJc1EwRkJReXhoUVVGaE8yZENRVU14UXl4SlFVRkpMRU5CUVVNc1lVRkJZU3hEUVVGRkxFTkJRVU1zUTBGQlF5eGpRVUZqTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFTkJRVU1zYTBKQlFXdENMRU5CUVVVc1EwRkJRenRuUWtGRGRrVXNUVUZCVFR0WlFVVlFMRXRCUVVzc2QwSkJRWGRDTEVOQlFVTXNWMEZCVnp0blFrRkRlRU1zU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUlN4RFFVRkRMRU5CUVVNc1kwRkJZeXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMR3RDUVVGclFpeERRVUZGTEVOQlFVTTdaMEpCUTNKRkxFMUJRVTA3VTBGRFVEdEpRVU5HTEVOQlFVTTdTVUZGVHl4WFFVRlhMRU5CUVVVc1kwRkJjMElzUlVGQlJTeE5RVUZqTEVWQlFVVXNTMEZCWVRzN1VVRkZla1VzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEVkQlFVY3NRMEZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVTm1PMWxCUTBNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlJTeHJSRUZCYTBRc1JVRkJSU3hqUVVGakxFTkJRVVVzUTBGQlF6dFpRVU5zUml4UFFVRlBPMU5CUTFBN1VVRkZSQ3hKUVVGSkxGTkJRVk1zUjBGRFlqdFpRVU5ETEVsQlFVa3NSVUZCUlN4clJrRkJjMElzUTBGQlF5eHpRa0ZCYzBJN1dVRkRia1FzUzBGQlN6dFRRVU5NTEVOQlFVTTdVVUZGUml4SlFVRkpMRTFCUVUwc1JVRkRWanRaUVVORExFbEJRVWtzVVVGQlVTeEhRVUZITEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETzFsQlF6bERMR05CUVZFc1lVRkJVaXhSUVVGUkxIVkNRVUZTTEZGQlFWRXNRMEZCUlN4TFFVRkxMREJEUVVGRkxGTkJRVk1zUTBGQlJTeFRRVUZUTEVWQlFVYzdVMEZEZUVNN1lVRkZSRHRaUVVORExHZENRVUZWTEdGQlFWWXNWVUZCVlN4MVFrRkJWaXhWUVVGVkxFTkJRVVVzUzBGQlN5d3dRMEZCUlN4VFFVRlRMRU5CUVVVc1UwRkJVeXhGUVVGSE8xTkJRekZETzBsQlEwWXNRMEZCUXp0SlFVVlBMREJDUVVFd1FpeERRVUZGTEdOQlFYTkNMRVZCUVVVc1RVRkJZeXhGUVVGRkxHZENRVUUyUWpzN1VVRkZlRWNzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEVkQlFVY3NRMEZCUlN4alFVRmpMRU5CUVVVc1EwRkJRenRSUVVOMlJTeEpRVUZKTEVOQlFVTXNWVUZCVlR0WlFVTmtMRTlCUVU4N1VVRkZVaXhKUVVGSkxGRkJRVkVzUjBGQlJ5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJSU3hOUVVGTkxFTkJRVVVzUTBGQlF6dFJRVU01UXl4SlFVRkpMRU5CUVVNc1VVRkJVVHRaUVVOYUxFOUJRVTg3VVVGRlVpeFJRVUZSTEVOQlFVTXNjMEpCUVhOQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNN1VVRkRia1FzVlVGQlNTeERRVUZETEdOQlFXTXNLME5CUVc1Q0xFbEJRVWtzUlVGQmIwSTdTVUZEZWtJc1EwRkJRenRKUVVWUExHRkJRV0VzUTBGQlJTeGpRVUZ6UWl4RlFVRkZMRTFCUVdNc1JVRkJSU3huUWtGQk5rSTdPMUZCUlROR0xFbEJRVWtzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUTBGQlF5eEhRVUZITEVOQlFVVXNZMEZCWXl4RFFVRkZMRU5CUVVNN1VVRkRka1VzU1VGQlNTeERRVUZETEZWQlFWVTdXVUZEWkN4UFFVRlBPMUZCUlZJc1NVRkJTU3hSUVVGUkxFZEJRVWNzVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVVc1RVRkJUU3hEUVVGRkxFTkJRVU03VVVGRE9VTXNTVUZCU1N4RFFVRkRMRkZCUVZFN1dVRkRXaXhQUVVGUE8xRkJSVklzVVVGQlVTeERRVUZETEhOQ1FVRnpRaXhIUVVGSExHZENRVUZuUWl4RFFVRkRPMUZCUTI1RUxGRkJRVkVzUTBGQlF5eFRRVUZUTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETzFGQlF5OURMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1VVRkJVU3hGUVVGRkxHZEdRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJSenRSUVVOc1JpeFZRVUZKTEVOQlFVTXNZMEZCWXl3clEwRkJia0lzU1VGQlNTeEZRVUZ2UWp0SlFVTjZRaXhEUVVGRE8wbEJSVThzVjBGQlZ5eERRVUZGTEdOQlFYTkNMRVZCUVVVc1RVRkJZeXhGUVVGRkxHZENRVUUyUWp0UlFVVjZSaXhKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUjBGQlJ5eERRVUZGTEdOQlFXTXNRMEZCUlN4RFFVRkRPMUZCUTNaRkxFbEJRVWtzUTBGQlF5eFZRVUZWTzFsQlEyUXNUMEZCVHp0UlFVVlNMRWxCUVVrc1VVRkJVU3hIUVVGSExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkZMRTFCUVUwc1EwRkJSU3hEUVVGRE8xRkJRemxETEVsQlFVa3NRMEZCUXl4UlFVRlJPMWxCUTFvc1QwRkJUenRSUVVWU0xGRkJRVkVzUTBGQlF5eFRRVUZUTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU1zWTBGQll5eERRVUZETzFGQlEzWkVMRWxCUVVrc1EwRkJReXh6UWtGQmMwSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1VVRkJVU3hGUVVGRkxHZEdRVUZ2UWl4RFFVRkRMRkZCUVZFc1JVRkJSU3huUWtGQlowSXNRMEZCUlR0SlFVTndSeXhEUVVGRE8wbEJSVThzWjBKQlFXZENMRU5CUVVVc1kwRkJjMElzUlVGQlJTeE5RVUZqT3p0UlFVVXZSQ3hKUVVGSkxGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRVU1zUjBGQlJ5eERRVUZGTEdOQlFXTXNRMEZCUlN4RFFVRkRPMUZCUTNaRkxFbEJRVWtzUTBGQlF5eFZRVUZWTzFsQlEyUXNUMEZCVHp0UlFVVlNMRWxCUVVrc1VVRkJVU3hIUVVGSExGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkZMRTFCUVUwc1EwRkJSU3hEUVVGRE8xRkJRemxETEVsQlFVa3NRMEZCUXl4UlFVRlJPMWxCUTFvc1QwRkJUenRSUVVWU0xGRkJRVkVzUTBGQlF5eHpRa0ZCYzBJc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGRrTXNVVUZCVVN4RFFVRkRMRk5CUVZNc1IwRkJSeXhyUWtGQmEwSXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkROME1zU1VGQlNTeERRVUZETEhOQ1FVRnpRaXhEUVVGRExGVkJRVlVzUlVGQlJTeFJRVUZSTEVWQlFVVXNaMFpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZGTzFGQlF5OUZMRlZCUVVrc1EwRkJReXhqUVVGakxDdERRVUZ1UWl4SlFVRkpMRVZCUVc5Q08wbEJRM3BDTEVOQlFVTTdTVUZGVHl4elFrRkJjMElzUTBGQlJTeFZRVUYxUXl4RlFVTjBSU3hSUVVGdFF5eEZRVUZGTEZGQlFUaENMRVZCUTI1RkxHZENRVUU0UWp0UlFVVTVRaXhKUVVGSkxFTkJRVU1zUjBGRFREdFpRVU5ETEVsQlFVa3NSVUZCUlN4clJrRkJjMElzUTBGQlF5eHBRa0ZCYVVJN1dVRkRPVU1zVVVGQlVUdFpRVU5TTEdkQ1FVRm5RanRUUVVOb1FqdFJRVU5FTEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhEUVVGRkxFTkJRVU1zUTBGQlJTeERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkhSRHM3VDBGRlJ6dEpRVU5JTEVsQlFWY3NVVUZCVVR0UlFVVnNRaXhKUVVGSkxFOUJRVThzUjBGQk1FSXNSVUZCUlN4RFFVRkRPMUZCUTNoRExFdEJRVXNzU1VGQlNTeFpRVUZaTEVsQlFVa3NTVUZCU1N4RFFVRkRMREJDUVVFd1FpeERRVUZETEUxQlFVMHNSVUZCUlN4RlFVTnFSVHRaUVVORExFbEJRVWtzVlVGQlZTeEhRVUYzUWl4SlFVRkpMRU5CUVVNc0swSkJRU3RDTEVOQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVNN1dVRkRNMFlzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUlN4VlFVRlZMRU5CUVVVc1EwRkJRenRUUVVNelFqdFJRVVZFTEU5QlFVOHNSVUZCUlN4UFFVRlBMRVZCUVhOQ0xFTkJRVU03U1VGRGVFTXNRMEZCUXp0SlFVVlBMQ3RDUVVFclFpeERRVUZGTEZsQlFYbERPMUZCUldwR0xFbEJRVWtzVlVGQlZTeEhRVUYzUWp0WlFVTnlReXhIUVVGSExFVkJRVVVzV1VGQldTeERRVUZETEVkQlFVYzdXVUZEY2tJc1YwRkJWeXhGUVVGRkxGbEJRVmtzUTBGQlF5eFhRVUZYTzFsQlEzSkRMR3RDUVVGclFpeEZRVUZGTERSR1FVRjNRaXhEUVVGRkxGbEJRVmtzUTBGQlF5eExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVRkZPMWxCUXk5RkxHTkJRV01zUlVGQlJTeFpRVUZaTEVOQlFVTXNZMEZCWXp0WlFVTXpReXhMUVVGTExFVkJRVVVzUlVGQlJUdFRRVU5VTEVOQlFVTTdVVUZGUml4TFFVRk5MRWxCUVVrc1dVRkJXU3hKUVVGSkxGbEJRVmtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUTNKRU8xbEJRME1zU1VGQlN5eFpRVUZaTEVOQlFVTXNUVUZCVFN4SlFVRkpMRmxCUVZrc1EwRkJReXh6UWtGQmMwSXNSVUZETDBRN1owSkJRME1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUTNCQ08yOUNRVU5ETEUxQlFVMHNSVUZCUlN4WlFVRlpMRU5CUVVNc1RVRkJUVHR2UWtGRE0wSXNjMEpCUVhOQ0xFVkJRVVVzV1VGQldTeERRVUZETEhOQ1FVRnpRanRwUWtGRE0wUXNRMEZEUkN4RFFVRkRPMkZCUTBZN1UwRkRSRHRSUVVORUxFOUJRVThzVlVGQlZTeERRVUZETzBsQlEyNUNMRU5CUVVNN1NVRkZUU3hOUVVGTk8xRkJSVm9zU1VGQlNTeGxRVUZsTEVkQlFXdENMRVZCUVVVc1EwRkJRenRSUVVONFF5eExRVUZMTEVsQlFVa3NWVUZCVlN4SlFVRkpMRWxCUVVrc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkRMMFE3V1VGRFF5eExRVUZMTEVsQlFVa3NVVUZCVVN4SlFVRkpMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlF6bERPMmRDUVVORExFbEJRVWtzVVVGQlVTeERRVUZETEhOQ1FVRnpRaXhKUVVGSkxGRkJRVkVzUTBGQlF5eExRVUZMTzNWQ1FVTnFSQ3hSUVVGUkxFTkJRVU1zVTBGQlV5eEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFMUJRVTBzUlVGRGJrUTdiMEpCUTBNc1NVRkJTU3hIUVVGSExFZEJRVU1zUjBGQlNTeFZRVUZWTEVOQlFVTXNZMEZCWlN4SlFVRkxMRkZCUVZFc1EwRkJReXhOUVVGUExFVkJRVVVzUTBGQlF6dHZRa0ZET1VRc1pVRkJaU3hEUVVGRExFbEJRVWtzUTBGRGJrSXNiMFJCUVVNc0swUkJRVmNzU1VGQlF5eEhRVUZITEVWQlFVY3NSMEZCUnl4RlFVRkhMRk5CUVZNc1JVRkJSeXhSUVVGUkxFTkJRVU1zYzBKQlFYTkNPM2RDUVVOdVJTeHZSRUZCUXl4dlJVRkJZU3hKUVVGRExFdEJRVXNzUlVGQlJ5eFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1IwRkJTU3hEUVVOcVF5eERRVUZGTEVOQlFVTTdhVUpCUTJ4Q08yRkJRMFE3VTBGRFJEdFJRVVZFTEU5QlFVOHNNRWRCUVVrc1pVRkJaU3hEUVVGTExFTkJRVU03U1VGRGFrTXNRMEZCUXpzN1FVRXhWMDBzTWtOQlFXdENMRWRCUVVjc1EwRkJReXhEUVVGRE8wRkJaVGxDTzBsQlJFTXNjVVJCUVVrN2EwVkJlVWxLSWl3aVptbHNaU0k2SWk0dmMzSmpMMjVsZEhkdmNtdGZkVzVwZG1WeWMyVXVkSE40TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRWFpPYjJSbFZISmhibk5tYjNKdExDQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWpheXdnVFdsdWFXMWhiRkJ2YzJVc0lHMXBibWx0WVd4UWIzTmxSbkp2YlZSeVlXNXpabTl5YlN3Z1JXNWtjRzlwYm5SQlpHUnlJSDBnWm5KdmJTQW5RR0ZoY21SMllYSnJlSEl2WVdGeVpIWmhjbXN0YzJoaGNtVmtKenRjY2x4dWFXMXdiM0owSUdKcGJtUWdabkp2YlNBblltbHVaQzFrWldOdmNtRjBiM0luTzF4eVhHNXBiWEJ2Y25RZ2V5QkZiblJwZEhsRGIyMXdiMjVsYm5RZ2ZTQm1jbTl0SUNjdUwyRmhjbVIyWVhKclgyTnZiWEJ2YzJWa1gyVnVkR2wwZVNjN1hISmNibWx0Y0c5eWRDQjdJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQjlJR1p5YjIwZ0p5NHZZV0Z5WkhaaGNtdGZhVzUwWlhKbVlXTmxYMlZ1ZEdsMGVTYzdYSEpjYm1sdGNHOXlkQ0I3SUU1bGRIZHZjbXRsWkVkaFpHZGxkRU52YlhCdmJtVnVkQ3dnVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwTENCT1pYUjNiM0pyUjJGa1oyVjBSWFpsYm5SVWVYQmxMQ0JPUjBWVFpXNWtSWFpsYm5Rc0lFNUhSVk5sZEVkaFpHZGxkRWx1Wm04c0lFNUhSVk5sZEVsMFpXMUpibVp2TENCT1IwVlRaWFJVY21GdWMyWnZjbTFUZEdGMFpTd2dUbVYwZDI5eWEwbDBaVzFVY21GdWMyWnZjbTBnZlNCbWNtOXRJQ2N1TDJOdmJYQnZibVZ1ZEY5dVpYUjNiM0pyWldSZloyRmtaMlYwSnp0Y2NseHVhVzF3YjNKMElIc2dRWFpGYm5ScGRIbERhR2xzWkNCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNTBhWFI1WDJOb2FXeGtKenRjY2x4dWFXMXdiM0owSUhzZ1FYWlVjbUZ1YzJadmNtMGdmU0JtY205dElDY3VMMkZoY21SMllYSnJYM1J5WVc1elptOXliU2M3WEhKY2JtbHRjRzl5ZENBcUlHRnpJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjY2x4dVhISmNibHh5WEc1bGVIQnZjblFnWlc1MWJTQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dWY2NseHVlMXh5WEc1Y2RDOHFLaUJUWlc1MElIZG9aVzRnZEdobElISmxiVzkwWlNCMWJtbDJaWEp6WlNCemFHOTFiR1FnYzNSaGNuUWdZU0JuWVdSblpYUWdiMjRnWW1Wb1lXeG1JRzltSUhSb1pTQjBhR1VnYm1WMGQyOXlheUIxYm1sMlpYSnpaUzRnS2k5Y2NseHVYSFJEY21WaGRHVlNaVzF2ZEdWSFlXUm5aWFFnUFNCY0ltTnlaV0YwWlY5eVpXMXZkR1ZmWjJGa1oyVjBYQ0lzWEhKY2JseHlYRzVjZEM4cUtpQlRaVzUwSUhkb1pXNGdkR2hsSUhKbGJXOTBaU0IxYm1sMlpYSnpaU0J6YUc5MWJHUWdaR1Z6ZEhKdmVTQmhJR2RoWkdkbGRDQnZiaUJpWldoaGJHWWdiMllnZEdobElHNWxkSGR2Y21zZ2RXNXBkbVZ5YzJVdUlDb3ZYSEpjYmx4MFJHVnpkSEp2ZVZKbGJXOTBaVWRoWkdkbGRDQTlJRndpWkdWemRHOTVYM0psYlc5MFpWOW5ZV1JuWlhSY0lpeGNjbHh1WEhKY2JseDBMeW9xSUZObGJuUWdkMmhsYmlCMGFHVWdjbVZ0YjNSbElIVnVhWFpsY25ObElITm9iM1ZzWkNCMWNHUmhkR1VnWVNCeVpXMXZkR1VnWjJGa1oyVjBKM01nZEhKaGJuTm1iM0p0SUhKbGJHRjBhWFpsSUhSdklIUm9aU0IxYm1sMlpYSnpaUzRnS2k5Y2NseHVYSFJWY0dSaGRHVlNaVzF2ZEdWSFlXUm5aWFJVY21GdWMyWnZjbTBnUFNCY0luVndaR0YwWlY5eVpXMXZkR1ZmWjJGa1oyVjBYM1J5WVc1elptOXliVndpTEZ4eVhHNWNjbHh1WEhRdktpb2dVMlZ1ZENCM2FHVnVJSFJvWlNCdVpYUjNiM0pySUhWdWFYWmxjbk5sSUdseklHTnZiblpsZVdsdVp5QmhiaUJsZG1WdWRDQm1jbTl0SUdFZ2JtVjBkMjl5YTJWa0lHZGhaR2RsZENCMGJ5QmhJSEpsYlc5MFpTQm5ZV1JuWlhRdUlDb3ZYSEpjYmx4MFFuSnZZV1JqWVhOMFVtVnRiM1JsUjJGa1oyVjBSWFpsYm5RZ1BTQmNJbUp5YjJGa1kyRnpkRjl5WlcxdmRHVmZaMkZrWjJWMFgyVjJaVzUwWENJc1hISmNibHh5WEc1Y2RDOHFLaUJUWlc1MElIZG9aVzRnWVNCeVpXMXZkR1VnZFc1cGRtVnljMlVnYVhNZ2FYTWdZMjl1ZG1WNWFXNW5JR0Z1SUdWMlpXNGdabkp2YlNCaElISmxiVzkwWlNCbllXUm5aWFFnZEc4Z2RHaGxJRzVsZEhkdmNtdGxaQ0JuWVdSblpYUXVJQ292WEhKY2JseDBVMlZ1WkUxaGMzUmxja2RoWkdkbGRFVjJaVzUwSUQwZ1hDSnpaVzVrWDIxaGMzUmxjbDluWVdSblpYUmZaWFpsYm5SY0lpeGNjbHh1WEhKY2JseDBMeW9xSUZObGJuUWdkMmhsYmlCaGJpQnBkR1Z0SUdsdUlHRWdjbVZ0YjNSbElHZGhaR2RsZENCcGN5QmlaV2x1WnlCdGIzWmxaQ0JoY205MWJtUWdZVzVrSUhkaGJuUnpJSFJ2SUc5MlpYSnlhV1JsSUhSb1pTQjBjbUZ1YzJadmNtMGdYSEpjYmx4MElDb2diMllnZEdobElITnZkWEpqWlNCbllXUm5aWFFuY3lCcGRHVnRMbHh5WEc1Y2RDb3ZYSEpjYmx4MFZYQmtZWFJsVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wZ1BTQmNJblZ3WkdGMFpWOXVaWFIzYjNKclgybDBaVzFmZEhKaGJuTm1iM0p0WENJc1hISmNibHh5WEc1Y2RDOHFLaUJUZEdGeWRITWdZU0JuY21GaUlHWnliMjBnZEdobElISmxiVzkwWlNCemFXUmxMaUJNYjJOaGJDQnphV1JsSUhOb2IzVnNaQ0J6ZEc5d0lHSmxhVzVuSUdkeVlXSmlZV0pzWlNCaGJtUWdjM1JoY25RZ2IySmxlV2x1WjF4eVhHNWNkQ0FxSUhKbGJXOTBaU0IwY21GdWMyWnZjbTBnZFhCa1lYUmxjeTVjY2x4dVhIUWdLaTljY2x4dVhIUlRkR0Z5ZEVsMFpXMUhjbUZpSUQwZ1hDSnpkR0Z5ZEY5cGRHVnRYMmR5WVdKY0lpeGNjbHh1WEhKY2JseDBMeW9xSUVWdVpITWdZU0JuY21GaUlHWnliMjBnZEdobElISmxiVzkwWlNCemFXUmxMaUJNYjJOaGJDQnphV1JsSUhOb2IzVnNaQ0J6ZEdGeWRDQmlaV2x1WnlCbmNtRmlZbUZpYkdVZ1lXNWtJSE4wYjNBZ2IySmxlV2x1WjF4eVhHNWNkQ0FxSUhKbGJXOTBaU0IwY21GdWMyWnZjbTBnZFhCa1lYUmxjeTVjY2x4dVhIUWdLaTljY2x4dVhIUkZibVJKZEdWdFIzSmhZaUE5SUZ3aVpXNWtYMmwwWlcxZlozSmhZbHdpTEZ4eVhHNTlYSEpjYmx4eVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFNWxkSGR2Y210VmJtbDJaWEp6WlVWMlpXNTBYSEpjYm50Y2NseHVYSFIwZVhCbE9pQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dVN1hISmNibHgwY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNqdGNjbHh1WEhScGRHVnRTV1EvT2lCemRISnBibWM3WEhKY2JseDBaMkZrWjJWMFZYSnNQem9nYzNSeWFXNW5PMXh5WEc1Y2RISmxiVzkwWlVsdWRHVnlabUZqWlV4dlkydHpQem9nU1c1cGRHbGhiRWx1ZEdWeVptRmpaVXh2WTJ0YlhUdGNjbHh1WEhSMWJtbDJaWEp6WlVaeWIyMUhZV1JuWlhRL09pQk5hVzVwYldGc1VHOXpaVHRjY2x4dVhIUmxkbVZ1ZEQ4NklHOWlhbVZqZER0Y2NseHVYSFJuWVdSblpYUkpibVp2UHpvZ1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWJ6dGNjbHh1ZlZ4eVhHNWNjbHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JPWlhSM2IzSnJaV1JKZEdWdFNXNW1iMXh5WEc1N1hISmNibHgwYVhSbGJVbGtPaUJ6ZEhKcGJtYzdYSEpjYmx4MGNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiVG9nVFdsdWFXMWhiRkJ2YzJVN1hISmNibjFjY2x4dVhISmNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUbVYwZDI5eWEyVmtSMkZrWjJWMFNXNW1iMXh5WEc1N1hISmNibHgwY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNqdGNjbHh1WEhSMWNtdzZJSE4wY21sdVp6dGNjbHh1WEhSeVpXMXZkR1ZNYjJOcmN6b2dTVzVwZEdsaGJFbHVkR1Z5Wm1GalpVeHZZMnRiWFR0Y2NseHVYSFIxYm1sMlpYSnpaVVp5YjIxSFlXUm5aWFE2SUUxcGJtbHRZV3hRYjNObE8xeHlYRzVjZEdsMFpXMXpPaUJPWlhSM2IzSnJaV1JKZEdWdFNXNW1iMXRkTzF4eVhHNTlYSEpjYmx4eVhHNWxiblZ0SUU1bGRIZHZjbXRsWkVkeVlXSlRkR0YwWlZ4eVhHNTdYSEpjYmx4MFRtOXVaU3hjY2x4dVhIUlNaVzF2ZEdVc1hISmNibHgwVW1WdGIzUmxSSEp2Y0hCcGJtY3NYSEpjYmx4MFRHOWpZV3dzWEhKY2JuMWNjbHh1WEhKY2JtbHVkR1Z5Wm1GalpTQk9aWFIzYjNKclpXUkpkR1Z0U1c1bWIwbHVkR1Z5Ym1Gc1hISmNibnRjY2x4dVhIUnBkR1Z0U1dRNklITjBjbWx1Wnp0Y2NseHVYSFJwWm1GalpUb2dRV04wYVhabFNXNTBaWEptWVdObE8xeHlYRzVjY2x4dVhIUnlaVzF2ZEdWVmJtbDJaWEp6WlVaeWIyMUpkR1Z0UHpvZ1RXbHVhVzFoYkZCdmMyVTdYSEpjYmx4MFozSmhZbE4wWVhSbE9pQk9aWFIzYjNKclpXUkhjbUZpVTNSaGRHVTdYSEpjYm4xY2NseHVYSEpjYm1sdWRHVnlabUZqWlNCT1pYUjNiM0pyWldSSFlXUm5aWFJKYm1adlNXNTBaWEp1WVd4Y2NseHVlMXh5WEc1Y2RISmxiVzkwWlVkaFpHZGxkRWxrUHpvZ2JuVnRZbVZ5TzF4eVhHNWNkSFZ5YkQ4NklITjBjbWx1Wnp0Y2NseHVYSFJ5WlcxdmRHVk1iMk5yY3o4NklFbHVhWFJwWVd4SmJuUmxjbVpoWTJWTWIyTnJXMTA3WEhKY2JseDBhV1poWTJVNklFRmpkR2wyWlVsdWRHVnlabUZqWlR0Y2NseHVYSFJwZEdWdGN6b2dUV0Z3UENCemRISnBibWNzSUU1bGRIZHZjbXRsWkVsMFpXMUpibVp2U1c1MFpYSnVZV3dnUGp0Y2NseHVmVngwWEhKY2JseHlYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRlZ1YVhabGNuTmxTVzVwZEVsdVptOWNjbHh1ZTF4eVhHNWNkR2RoWkdkbGRITTZJRTVsZEhkdmNtdGxaRWRoWkdkbGRFbHVabTliWFR0Y2NseHVmVnh5WEc1Y2NseHVMeW9xSUVFZ2JtVjBkMjl5YXlCMGFHRjBJR05oYmlCaVpTQjFjMlZrSUhkcGRHZ2dRWFpEYjIxd2IzTmxaRU52YlhCdmJtVnVkQzRnVkdobElHRnlaM1Z0Wlc1MGN5QmlaV3h2ZHlCaGNtVWdabTl5SUhSb1pTQmNjbHh1SUNvZ2NISnZkbWxrWldRZ1kyRnNiR0poWTJzZ1puVnVZM1JwYjI0dVhISmNiaUFxSUZ4eVhHNGdLaUJBY0dGeVlXMGdaWFpsYm5SY2RGeDBRVzRnYjJKcVpXTjBMQ0J2Y0dGeGRXVWdkRzhnZEdobElISnZiMjBnYVhSelpXeG1MQ0IwYUdGMElHRnNiRzkzY3lCMGFHVWdibVYwZDI5eWF5QjFibWwyWlhKelpTQjBiMXh5WEc0Z0tpQmNkRngwWEhSY2RGeDBZMjl0YlhWdWFXTmhkR1VnZDJsMGFDQnBkSE1nY21WdGIzUmxJSEJsWlhKekxseHlYRzRnS2lCQWNHRnlZVzBnY21Wc2FXRmliR1ZjZEVsbUlIUm9hWE1nWVhKbmRXMWxiblFnYVhNZ2RISjFaU3dnZEdobElISnZiMjBnYlhWemRDQmtaV3hwZG1WeUlIUm9aU0J0WlhOellXZGxJSFJ2SUdWMlpYSjVJSEpsYlc5MFpWeHlYRzRnS2lCY2RGeDBYSFJjZEZ4MGRXNXBkbVZ5YzJVZ2IzSWdkR2hoZENCMWJtbDJaWEp6WlNCM2FXeHNJR0psSUc5MWRDQnZaaUJ6ZVc1amFDQjNhWFJvSUhSb1pTQnVaWFIzYjNKcklIVnVhWFpsY25ObExpQmNjbHh1SUNvdlhISmNibVY0Y0c5eWRDQmpiR0Z6Y3lCT1pYUjNiM0pyVlc1cGRtVnljMlZEYjIxd2IyNWxiblFnYVcxd2JHVnRaVzUwY3lCRmJuUnBkSGxEYjIxd2IyNWxiblJjY2x4dWUxeHlYRzVjZEhCeWFYWmhkR1VnYm1WMGQyOXlhMlZrUjJGa1oyVjBjMEo1Ulc1a2NHOXBiblJKWkNBOUlHNWxkeUJOWVhBOElHNTFiV0psY2l3Z1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWIwbHVkR1Z5Ym1Gc0lENG9LVHRjY2x4dVhIUndjbWwyWVhSbElHNWxkSGR2Y210bFpFZGhaR2RsZEhOQ2VWSmxiVzkwWlVsa0lEMGdibVYzSUUxaGNEd2diblZ0WW1WeUxDQk9aWFIzYjNKclpXUkhZV1JuWlhSSmJtWnZTVzUwWlhKdVlXd2dQaWdwTzF4eVhHNWNkSE4wWVhScFl5QnVaWGgwVW1WdGIzUmxSMkZrWjJWMFNXUWdQU0F4TzF4eVhHNWNkSEJ5YVhaaGRHVWdibVYwZDI5eWEwVjJaVzUwUTJGc2JHSmhZMnM2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1NBOVBpQjJiMmxrTzF4eVhHNWNkSEJ5YVhaaGRHVWdaVzUwYVhSNVEyRnNiR0poWTJzNklDZ3BJRDArSUhadmFXUWdQU0J1ZFd4c08xeHlYRzVjY2x4dVhIUmpiMjV6ZEhKMVkzUnZjaWdnYm1WMGQyOXlhMFYyWlc1MFEyRnNiR0poWTJzNklDZ2daWFpsYm5RNklHOWlhbVZqZEN3Z2NtVnNhV0ZpYkdVNklHSnZiMnhsWVc0Z0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbTVsZEhkdmNtdEZkbVZ1ZEVOaGJHeGlZV05ySUQwZ2JtVjBkMjl5YTBWMlpXNTBRMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjZEZ4eVhHNWNkSEIxWW14cFl5QnZibFZ3WkdGMFpTZ2dZMkZzYkdKaFkyczZJQ2dwSUQwK0lIWnZhV1FnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkSFJvYVhNdVpXNTBhWFI1UTJGc2JHSmhZMnNnUFNCallXeHNZbUZqYXp0Y2NseHVYSFI5WEhKY2JseHlYRzVjZEVCaWFXNWtYSEpjYmx4MGNISnBkbUYwWlNCdmJrNWxkSGR2Y210SmJuUmxjbVpoWTJVb0lHRmpkR2wyWlU1bGRIZHZjbXRsWkVkaFpHZGxkRG9nUVdOMGFYWmxTVzUwWlhKbVlXTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnpvZ1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWIwbHVkR1Z5Ym1Gc0lEMGdYSEpjYmx4MFhIUmNkSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVJXNWtjRzlwYm5SSlpDNW5aWFFvSUdGamRHbDJaVTVsZEhkdmNtdGxaRWRoWkdkbGRDNXdaV1Z5TG1WdVpIQnZhVzUwU1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoWjJGa1oyVjBTVzVtYnlBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHZGhaR2RsZEVsdVptOGdQVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MGFXWmhZMlU2SUdGamRHbDJaVTVsZEhkdmNtdGxaRWRoWkdkbGRDeGNjbHh1WEhSY2RGeDBYSFJwZEdWdGN6b2dibVYzSUUxaGNEeHpkSEpwYm1jc0lFNWxkSGR2Y210bFpFbDBaVzFKYm1adlNXNTBaWEp1WVd3K0tDa3NYSEpjYmx4MFhIUmNkSDA3WEhKY2JseDBYSFJjZEhSb2FYTXVibVYwZDI5eWEyVmtSMkZrWjJWMGMwSjVSVzVrY0c5cGJuUkpaQzV6WlhRb0lHRmpkR2wyWlU1bGRIZHZjbXRsWkVkaFpHZGxkQzV3WldWeUxtVnVaSEJ2YVc1MFNXUXNJR2RoWkdkbGRFbHVabThnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUnNaWFFnYVhSbGJVbHVabTg2SUU1bGRIZHZjbXRsWkVsMFpXMUpibVp2U1c1MFpYSnVZV3c3WEhKY2JseHlYRzVjZEZ4MFlXTjBhWFpsVG1WMGQyOXlhMlZrUjJGa1oyVjBMbTl1UlhabGJuUW9JQ2dnWlhabGJuUTZJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkQ0FwSUQwK1hISmNibHgwWEhSN1hISmNibHgwWEhSY2RITjNhWFJqYUNnZ1pYWmxiblF1ZEhsd1pTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSallYTmxJRTVsZEhkdmNtdEhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUyVjBSMkZrWjJWMFNXNW1ienBjY2x4dVhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJzWlhRZ2MyVjBTVzVtYnlBOUlHVjJaVzUwSUdGeklFNUhSVk5sZEVkaFpHZGxkRWx1Wm04N1hISmNibHgwWEhSY2RGeDBYSFJzWlhRZ2RXNXBkbVZ5YzJWR2NtOXRSMkZrWjJWMElEMGdiV2x1YVcxaGJGQnZjMlZHY205dFZISmhibk5tYjNKdEtDQmhZM1JwZG1WT1pYUjNiM0pyWldSSFlXUm5aWFF1YzJWc1prWnliMjFRWldWeUlDazdYSEpjYmx4eVhHNWNkRngwWEhSY2RGeDBMeThnYzI5dFpTQnpkSFZtWmlCM1pTQnFkWE4wSUdGc2QyRjVjeUIxY0dSaGRHVmNjbHh1WEhSY2RGeDBYSFJjZEdkaFpHZGxkRWx1Wm04dWNtVnRiM1JsVEc5amEzTWdQU0J6WlhSSmJtWnZMbXh2WTJ0ek8xeHlYRzVjZEZ4MFhIUmNkRngwWjJGa1oyVjBTVzVtYnk1MWNtd2dQU0J6WlhSSmJtWnZMblZ5YkR0Y2NseHVYSEpjYmx4MFhIUmNkRngwWEhRdkx5QnBaaUIzWlNCb1lYWmxiaWQwSUhObFpXNGdZU0JuWVdSblpYUWdhVzVtYnlCbWIzSWdkR2hwY3lCbllXUm5aWFFnZVdWMExDQmhjM05wWjI0Z2FYUWdZVzRnU1VRZ1lXNWtJSFJsYkd4Y2NseHVYSFJjZEZ4MFhIUmNkQzh2SUhKbGJXOTBaU0IxYm1sMlpYSnpaWE1nZEc4Z2MzQmhkMjRnYVhSY2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NBaFoyRmtaMlYwU1c1bWJ5NXlaVzF2ZEdWSFlXUm5aWFJKWkNBcFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR2RoWkdkbGRFbHVabTh1Y21WdGIzUmxSMkZrWjJWMFNXUWdQU0JPWlhSM2IzSnJWVzVwZG1WeWMyVkRiMjF3YjI1bGJuUXVibVY0ZEZKbGJXOTBaVWRoWkdkbGRFbGtLeXM3WEhKY2JseDBYSFJjZEZ4MFhIUmNkSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVVtVnRiM1JsU1dRdWMyVjBLQ0JuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtMQ0JuWVdSblpYUkpibVp2SUNrN1hISmNibHgwWEhKY2JseDBYSFJjZEZ4MFhIUmNkR3hsZENCamNtVmhkR1ZGZG1WdWREb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblFnUFZ4eVhHNWNkRngwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwZEhsd1pUb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExrTnlaV0YwWlZKbGJXOTBaVWRoWkdkbGRDeGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnlaVzF2ZEdWSFlXUm5aWFJKWkRvZ1oyRmtaMlYwU1c1bWJ5NXlaVzF2ZEdWSFlXUm5aWFJKWkN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSbllXUm5aWFJKYm1adk9pQjBhR2x6TG01bGRIZHZjbXRsWkVkaFpHZGxkRWx1Wm05R2NtOXRTVzUwWlhKdVlXd29JR2RoWkdkbGRFbHVabThnS1N4Y2NseHVYSFJjZEZ4MFhIUmNkRngwZlR0Y2NseHVYSFJjZEZ4MFhIUmNkRngwZEdocGN5NXVaWFIzYjNKclJYWmxiblJEWVd4c1ltRmpheWdnWTNKbFlYUmxSWFpsYm5Rc0lIUnlkV1VnS1R0Y2RGeHlYRzVjZEZ4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJSMkZrWjJWMFJYWmxiblJVZVhCbExsTmxkRWwwWlcxSmJtWnZPbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR3hsZENCelpYUkpibVp2SUQwZ1pYWmxiblFnWVhNZ1RrZEZVMlYwU1hSbGJVbHVabTg3WEhKY2JseHlYRzVjZEZ4MFhIUmNkRngwYVdZb0lDRnpaWFJKYm1adkxtbDBaVzFKWkNBcFhISmNibHgwWEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lrbG5ibTl5YVc1bklHWmhiSE41SUdsMFpXMGdTVVJjSWl3Z2MyVjBTVzVtYnk1cGRHVnRTV1FnS1R0Y2NseHVYSFJjZEZ4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBYSFJjY2x4dVhIUmNkRngwWEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MFhIUnBkR1Z0U1c1bWJ5QTlYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUnBabUZqWlRvZ1lXTjBhWFpsVG1WMGQyOXlhMlZrUjJGa1oyVjBMRnh5WEc1Y2RGeDBYSFJjZEZ4MFhIUmNkR2wwWlcxSlpEb2djMlYwU1c1bWJ5NXBkR1Z0U1dRc1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MFozSmhZbE4wWVhSbE9pQk9aWFIzYjNKclpXUkhjbUZpVTNSaGRHVXVUbTl1WlN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwZlR0Y2NseHVYSEpjYmx4MFhIUmNkRngwWEhSY2RHZGhaR2RsZEVsdVptOHVhWFJsYlhNdWMyVjBLQ0J6WlhSSmJtWnZMbWwwWlcxSlpDd2dhWFJsYlVsdVptOGdLVHRjY2x4dVhIUmNkRngwWEhSY2RIMWNjbHh1WEhKY2JseDBYSFJjZEZ4MFhIUjBhR2x6TG5Wd1pHRjBaVkpsYlc5MFpWUnlZVzV6Wm05eWJTZ2dZV04wYVhabFRtVjBkMjl5YTJWa1IyRmtaMlYwTG5ObGJHWkdjbTl0VUdWbGNpd2daMkZrWjJWMFNXNW1ieXdnYVhSbGJVbHVabThnS1R0Y2NseHVYSFJjZEZ4MFhIUjlYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSY2RHTmhjMlVnVG1WMGQyOXlhMGRoWkdkbGRFVjJaVzUwVkhsd1pTNVRaVzVrUlhabGJuUlViMEZzYkZKbGJXOTBaWE02WEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYkdWMElITmxibVJGZG1WdWRDQTlJR1YyWlc1MElHRnpJRTVIUlZObGJtUkZkbVZ1ZER0Y2NseHVYSFJjZEZ4MFhIUmNkR2xtS0NCbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkRngwYkdWMElHNWxkRVYyWlc1ME9pQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkQ0E5WEhKY2JseDBYSFJjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFIwZVhCbE9pQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dVdVFuSnZZV1JqWVhOMFVtVnRiM1JsUjJGa1oyVjBSWFpsYm5Rc1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGNtVnRiM1JsUjJGa1oyVjBTV1E2SUdkaFpHZGxkRWx1Wm04dWNtVnRiM1JsUjJGa1oyVjBTV1FzSUZ4eVhHNWNkRngwWEhSY2RGeDBYSFJjZEdsMFpXMUpaRG9nYVhSbGJVbHVabTgvTG1sMFpXMUpaQ3hjY2x4dVhIUmNkRngwWEhSY2RGeDBYSFJsZG1WdWREb2djMlZ1WkVWMlpXNTBMbVYyWlc1MExGeHlYRzVjZEZ4MFhIUmNkRngwWEhSOU8xeHlYRzVjZEZ4MFhIUmNkRngwWEhSMGFHbHpMbTVsZEhkdmNtdEZkbVZ1ZEVOaGJHeGlZV05yS0NCdVpYUkZkbVZ1ZEN3Z2MyVnVaRVYyWlc1MExuSmxiR2xoWW14bElDazdYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBmVnh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEZ4MFhIUmpZWE5sSUU1bGRIZHZjbXRIWVdSblpYUkZkbVZ1ZEZSNWNHVXVSSEp2Y0VOdmJYQnNaWFJsT2x4eVhHNWNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEhSb2FYTXVhWFJsYlVSeWIzQkRiMjF3YkdWMFpTZ2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDd2dhWFJsYlVsdVptOHVhWFJsYlVsa0lDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSOUlDazdYSEpjYmx4eVhHNWNkRngwWVdOMGFYWmxUbVYwZDI5eWEyVmtSMkZrWjJWMExtOXVSVzVrWldRb0lDZ3BJRDArWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdsbUtDQnBkR1Z0U1c1bWJ5QXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhRdkx5QjBhR2x6SUdseklHcDFjM1FnWVc0Z2FYUmxiU0JwYmlCMGFHVWdaMkZrWjJWMFhISmNibHgwWEhSY2RIMWNjbHh1WEhSY2RGeDBaV3h6WlNCcFppZ2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhRdkx5QjBhR2x6SUdseklIUm9aU0JuWVdSblpYUWdhWFJ6Wld4bVhISmNibHgwWEhSY2RGeDBkR2hwY3k1dVpYUjNiM0pyWldSSFlXUm5aWFJ6UW5sRmJtUndiMmx1ZEVsa0xtUmxiR1YwWlNnZ1lXTjBhWFpsVG1WMGQyOXlhMlZrUjJGa1oyVjBMbkJsWlhJdVpXNWtjRzlwYm5SSlpDQXBPMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQm5ZV1JuWlhSSmJtWnZMbkpsYlc5MFpVZGhaR2RsZEVsa0lDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUjBhR2x6TG01bGRIZHZjbXRsWkVkaFpHZGxkSE5DZVZKbGJXOTBaVWxrTG1SbGJHVjBaU2dnWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZIWVdSblpYUkpaQ0FwTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1dVpYUjNiM0pyUlhabGJuUkRZV3hzWW1GamF5Z2dYSEpjYmx4MFhIUmNkRngwWEhSY2RIdGNjbHh1WEhSY2RGeDBYSFJjZEZ4MFhIUjBlWEJsT2lCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRGUjVjR1V1UkdWemRISnZlVkpsYlc5MFpVZGhaR2RsZEN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwWEhSeVpXMXZkR1ZIWVdSblpYUkpaRG9nWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZIWVdSblpYUkpaQ3dnWEhKY2JseDBYSFJjZEZ4MFhIUmNkSDBnWVhNZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUXNJSFJ5ZFdVZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEgxY2NseHVYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MEx5OGdkR2hwY3lCcGJuUmxjbVpoWTJVZ2JtVjJaWElnYVdSbGJuUnBabWxsWkNCcGRITmxiR1lnWVhNZ1pXbDBhR1Z5SUdGdUlHbDBaVzBnYjNJZ1lTQm5ZV1JuWlhSY2NseHVYSFJjZEZ4MFhIUXZMeUJwWmlCcGRDZHpJSFJvWlNCdmJteDVJSEpsWm1WeVpXNWpaU0IzWlNCb1lYWmxJSFJ2SUhSb1pTQmxibVJ3YjJsdWRDQkpaQ3dnWTJ4bFlXNGdkR2hoZENCMWNGeHlYRzVjZEZ4MFhIUmNkR2xtS0NCbllXUm5aWFJKYm1adkxtbDBaVzF6TG5OcGVtVWdQVDBnTUNBcFhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGRHaHBjeTV1WlhSM2IzSnJaV1JIWVdSblpYUnpRbmxGYm1Sd2IybHVkRWxrTG1SbGJHVjBaU2dnWVdOMGFYWmxUbVYwZDI5eWEyVmtSMkZrWjJWMExuQmxaWEl1Wlc1a2NHOXBiblJKWkNBcE8xeHlYRzVjZEZ4MFhIUmNkSDFjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlNBcE8xeHlYRzVjY2x4dVhIUmNkR0ZqZEdsMlpVNWxkSGR2Y210bFpFZGhaR2RsZEM1dmJsUnlZVzV6Wm05eWJWVndaR0YwWldRb0lDZ2daVzUwYVhSNVJuSnZiVkJsWlhJNklFRjJUbTlrWlZSeVlXNXpabTl5YlNBcElEMCtYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR2xtS0NCbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVkWEJrWVhSbFVtVnRiM1JsVkhKaGJuTm1iM0p0S0NCbGJuUnBkSGxHY205dFVHVmxjaXdnWjJGa1oyVjBTVzVtYnl3Z2FYUmxiVWx1Wm04Z0tUdGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0IxY0dSaGRHVlNaVzF2ZEdWVWNtRnVjMlp2Y20wb0lHVnVkR2wwZVVaeWIyMVFaV1Z5T2lCQmRrNXZaR1ZVY21GdWMyWnZjbTBzSUdkaFpHZGxkRWx1Wm04NklFNWxkSGR2Y210bFpFZGhaR2RsZEVsdVptOUpiblJsY201aGJDd2dYSEpjYmx4MFhIUnBkR1Z0U1c1bWJ6b2dUbVYwZDI5eWEyVmtTWFJsYlVsdVptOUpiblJsY201aGJDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtJQ2xjY2x4dVhIUmNkRngwY21WMGRYSnVPMXh5WEc1Y2NseHVYSFJjZEd4bGRDQjFibWwyWlhKelpVWnliMjFIWVdSblpYUWdQU0J0YVc1cGJXRnNVRzl6WlVaeWIyMVVjbUZ1YzJadmNtMG9JR1Z1ZEdsMGVVWnliMjFRWldWeUlDazdYSEpjYmx4MFhIUjBhR2x6TG01bGRIZHZjbXRGZG1WdWRFTmhiR3hpWVdOcktGeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwZEhsd1pUb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExsVndaR0YwWlZKbGJXOTBaVWRoWkdkbGRGUnlZVzV6Wm05eWJTeGNjbHh1WEhSY2RGeDBYSFJ5WlcxdmRHVkhZV1JuWlhSSlpEb2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDeGNjbHh1WEhSY2RGeDBYSFJwZEdWdFNXUTZJR2wwWlcxSmJtWnZQeTVwZEdWdFNXUXNYSEpjYmx4MFhIUmNkRngwZFc1cGRtVnljMlZHY205dFIyRmtaMlYwTEZ4eVhHNWNkRngwWEhSOUlHRnpJRTVsZEhkdmNtdFZibWwyWlhKelpVVjJaVzUwTENCbVlXeHpaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCeVpXTmxhWFpsY3lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRnNnZXlCcFptRmpaVG9nVG1WMGQyOXlhMlZrUjJGa1oyVjBRMjl0Y0c5dVpXNTBMbWx1ZEdWeVptRmpaVTVoYldVc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJrNWxkSGR2Y210SmJuUmxjbVpoWTJVZ2ZTQmRPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklHZGxkQ0IzWVc1MGMxUnlZVzV6Wm05eWJYTW9LVnh5WEc1Y2RIdGNjbHh1WEhSY2RISmxkSFZ5YmlCMGNuVmxPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSFZpYkdsaklISmxiVzkwWlVWMlpXNTBLQ0JsZG1WdWREb2diMkpxWldOMElDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdaU0E5SUdWMlpXNTBJR0Z6SUU1bGRIZHZjbXRWYm1sMlpYSnpaVVYyWlc1ME8xeHlYRzVjZEZ4MGMzZHBkR05vS0NCbExuUjVjR1VnS1Z4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSallYTmxJRTVsZEhkdmNtdFZibWwyWlhKelpVVjJaVzUwVkhsd1pTNVRaVzVrVFdGemRHVnlSMkZrWjJWMFJYWmxiblE2WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTV0WVhOMFpYSkZkbVZ1ZENnZ1pTNXlaVzF2ZEdWSFlXUm5aWFJKWkN3Z1pTNXBkR1Z0U1dRc0lHVXVaWFpsYm5RZ0tUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExsVndaR0YwWlU1bGRIZHZjbXRKZEdWdFZISmhibk5tYjNKdE9seHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWRYQmtZWFJsVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wb0lHVXVjbVZ0YjNSbFIyRmtaMlYwU1dRc0lHVXVhWFJsYlVsa0xDQmxMblZ1YVhabGNuTmxSbkp2YlVkaFpHZGxkQ0FwTzF4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBZMkZ6WlNCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRGUjVjR1V1VTNSaGNuUkpkR1Z0UjNKaFlqcGNjbHh1WEhSY2RGeDBYSFIwYUdsekxuTjBZWEowU1hSbGJVZHlZV0lvSUdVdWNtVnRiM1JsUjJGa1oyVjBTV1FzSUdVdWFYUmxiVWxrTENCbExuVnVhWFpsY25ObFJuSnZiVWRoWkdkbGRDQXBPMXh5WEc1Y2RGeDBYSFJjZEdKeVpXRnJPMXh5WEc1Y2NseHVYSFJjZEZ4MFkyRnpaU0JPWlhSM2IzSnJWVzVwZG1WeWMyVkZkbVZ1ZEZSNWNHVXVSVzVrU1hSbGJVZHlZV0k2WEhKY2JseDBYSFJjZEZ4MGRHaHBjeTVsYm1SSmRHVnRSM0poWWlnZ1pTNXlaVzF2ZEdWSFlXUm5aWFJKWkN3Z1pTNXBkR1Z0U1dRc0lHVXVkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBJQ2s3WEhKY2JseDBYSFJjZEZ4MFluSmxZV3M3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJRzFoYzNSbGNrVjJaVzUwS0NCeVpXMXZkR1ZIWVdSblpYUkpaRG9nYm5WdFltVnlMQ0JwZEdWdFNXUTZJSE4wY21sdVp5d2daWFpsYm5RNklHOWlhbVZqZENBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHZGhaR2RsZEVsdVptOGdQU0IwYUdsekxtNWxkSGR2Y210bFpFZGhaR2RsZEhOQ2VWSmxiVzkwWlVsa0xtZGxkQ2dnY21WdGIzUmxSMkZrWjJWMFNXUWdLVHRjY2x4dVhIUmNkR2xtS0NBaFoyRmtaMlYwU1c1bWJ5QXBYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkR052Ym5OdmJHVXViRzluS0NCY0lsSmxZMlZwZG1Wa0lHMWhjM1JsY2lCbGRtVnVkQ0JtYjNJZ2RXNXJibTkzYmlCeVpXMXZkR1VnWjJGa1oyVjBJRndpTENCeVpXMXZkR1ZIWVdSblpYUkpaQ0FwTzF4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseDBYSFI5WEhKY2JseHlYRzVjZEZ4MGJHVjBJSE5sYm1SRmRtVnVkRG9nVGtkRlUyVnVaRVYyWlc1MElEMWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTBkaFpHZGxkRVYyWlc1MFZIbHdaUzVTWldObGFYWmxSWFpsYm5SR2NtOXRVbVZ0YjNSbExGeHlYRzVjZEZ4MFhIUmxkbVZ1ZEN4Y2NseHVYSFJjZEgwN1hISmNibHh5WEc1Y2RGeDBhV1lvSUdsMFpXMUpaQ0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEd4bGRDQnBkR1Z0U1c1bWJ5QTlJR2RoWkdkbGRFbHVabTh1YVhSbGJYTXVaMlYwS0NCcGRHVnRTV1FnS1R0Y2NseHVYSFJjZEZ4MGFYUmxiVWx1Wm04L0xtbG1ZV05sUHk1elpXNWtSWFpsYm5Rb0lITmxibVJGZG1WdWRDQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBaV3h6WlZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSbllXUm5aWFJKYm1adlB5NXBabUZqWlQ4dWMyVnVaRVYyWlc1MEtDQnpaVzVrUlhabGJuUWdLVHRjY2x4dVhIUmNkSDFjZEZ4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0IxY0dSaGRHVk9aWFIzYjNKclNYUmxiVlJ5WVc1elptOXliU2dnY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNpd2dhWFJsYlVsa09pQnpkSEpwYm1jc0lIVnVhWFpsY25ObFJuSnZiVWwwWlcwNklFMXBibWx0WVd4UWIzTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Ym1WMGQyOXlhMlZrUjJGa1oyVjBjMEo1VW1WdGIzUmxTV1F1WjJWMEtDQnlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2SUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1TzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0JwZEdWdFNXNW1ieUE5SUdkaFpHZGxkRWx1Wm04dWFYUmxiWE11WjJWMEtDQnBkR1Z0U1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseHlYRzVjZEZ4MGFYUmxiVWx1Wm04dWNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiU0E5SUhWdWFYWmxjbk5sUm5KdmJVbDBaVzA3WEhSY2NseHVYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQnpkR0Z5ZEVsMFpXMUhjbUZpS0NCeVpXMXZkR1ZIWVdSblpYUkpaRG9nYm5WdFltVnlMQ0JwZEdWdFNXUTZJSE4wY21sdVp5d2dkVzVwZG1WeWMyVkdjbTl0U1hSbGJUb2dUV2x1YVcxaGJGQnZjMlVnS1Z4eVhHNWNkSHRjY2x4dVhIUmNkR3hsZENCbllXUm5aWFJKYm1adklEMGdkR2hwY3k1dVpYUjNiM0pyWldSSFlXUm5aWFJ6UW5sU1pXMXZkR1ZKWkM1blpYUW9JSEpsYlc5MFpVZGhaR2RsZEVsa0lDazdYSEpjYmx4MFhIUnBaaWdnSVdkaFpHZGxkRWx1Wm04Z0tWeHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHh5WEc1Y2RGeDBiR1YwSUdsMFpXMUpibVp2SUQwZ1oyRmtaMlYwU1c1bWJ5NXBkR1Z0Y3k1blpYUW9JR2wwWlcxSlpDQXBPMXh5WEc1Y2RGeDBhV1lvSUNGcGRHVnRTVzVtYnlBcFhISmNibHgwWEhSY2RISmxkSFZ5Ymp0Y2NseHVYSEpjYmx4MFhIUnBkR1Z0U1c1bWJ5NXlaVzF2ZEdWVmJtbDJaWEp6WlVaeWIyMUpkR1Z0SUQwZ2RXNXBkbVZ5YzJWR2NtOXRTWFJsYlR0Y2RGeHlYRzVjZEZ4MGFYUmxiVWx1Wm04dVozSmhZbE4wWVhSbElEMGdUbVYwZDI5eWEyVmtSM0poWWxOMFlYUmxMbEpsYlc5MFpUdGNjbHh1WEhSY2RIUm9hWE11YzJWdVpFbDBaVzFVY21GdWMyWnZjbTFUZEdGMFpTaG5ZV1JuWlhSSmJtWnZMQ0JwZEdWdFNXNW1ieXdnVG1WMGQyOXlhMGwwWlcxVWNtRnVjMlp2Y20wdVQzWmxjbkpwWkdVZ0lDbGNjbHh1WEhSY2RIUm9hWE11Wlc1MGFYUjVRMkZzYkdKaFkycy9MaWdwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hKcGRtRjBaU0JsYm1SSmRHVnRSM0poWWlnZ2NtVnRiM1JsUjJGa1oyVjBTV1E2SUc1MWJXSmxjaXdnYVhSbGJVbGtPaUJ6ZEhKcGJtY3NJSFZ1YVhabGNuTmxSbkp2YlVsMFpXMDZJRTFwYm1sdFlXeFFiM05sSUNsY2NseHVYSFI3WEhKY2JseDBYSFJzWlhRZ1oyRmtaMlYwU1c1bWJ5QTlJSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVVtVnRiM1JsU1dRdVoyVjBLQ0J5WlcxdmRHVkhZV1JuWlhSSlpDQXBPMXh5WEc1Y2RGeDBhV1lvSUNGbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RGeDBjbVYwZFhKdU8xeHlYRzVjY2x4dVhIUmNkR3hsZENCcGRHVnRTVzVtYnlBOUlHZGhaR2RsZEVsdVptOHVhWFJsYlhNdVoyVjBLQ0JwZEdWdFNXUWdLVHRjY2x4dVhIUmNkR2xtS0NBaGFYUmxiVWx1Wm04Z0tWeHlYRzVjZEZ4MFhIUnlaWFIxY200N1hISmNibHh5WEc1Y2RGeDBhWFJsYlVsdVptOHVaM0poWWxOMFlYUmxJRDBnVG1WMGQyOXlhMlZrUjNKaFlsTjBZWFJsTGxKbGJXOTBaVVJ5YjNCd2FXNW5PMXh5WEc1Y2RGeDBkR2hwY3k1elpXNWtTWFJsYlZSeVlXNXpabTl5YlZOMFlYUmxLR2RoWkdkbGRFbHVabThzSUdsMFpXMUpibVp2TENCT1pYUjNiM0pyU1hSbGJWUnlZVzV6Wm05eWJTNUVjbTl3Y0dsdVp5d2dkVzVwZG1WeWMyVkdjbTl0U1hSbGJTQXBYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndjbWwyWVhSbElHbDBaVzFFY205d1EyOXRjR3hsZEdVb0lISmxiVzkwWlVkaFpHZGxkRWxrT2lCdWRXMWlaWElzSUdsMFpXMUpaRG9nYzNSeWFXNW5JQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Ym1WMGQyOXlhMlZrUjJGa1oyVjBjMEo1VW1WdGIzUmxTV1F1WjJWMEtDQnlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2SUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1TzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0JwZEdWdFNXNW1ieUE5SUdkaFpHZGxkRWx1Wm04dWFYUmxiWE11WjJWMEtDQnBkR1Z0U1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseHlYRzVjZEZ4MGFYUmxiVWx1Wm04dWNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiU0E5SUc1MWJHdzdYSFJjY2x4dVhIUmNkR2wwWlcxSmJtWnZMbWR5WVdKVGRHRjBaU0E5SUU1bGRIZHZjbXRsWkVkeVlXSlRkR0YwWlM1T2IyNWxPMXh5WEc1Y2RGeDBkR2hwY3k1elpXNWtTWFJsYlZSeVlXNXpabTl5YlZOMFlYUmxLR2RoWkdkbGRFbHVabThzSUdsMFpXMUpibVp2TENCT1pYUjNiM0pyU1hSbGJWUnlZVzV6Wm05eWJTNU9iM0p0WVd3Z0tWeHlYRzVjZEZ4MGRHaHBjeTVsYm5ScGRIbERZV3hzWW1GamF6OHVLQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSE5sYm1SSmRHVnRWSEpoYm5ObWIzSnRVM1JoZEdVb0lHZGhaR2RsZEVsdVptODZJRTVsZEhkdmNtdGxaRWRoWkdkbGRFbHVabTlKYm5SbGNtNWhiQ3dnWEhKY2JseDBYSFJwZEdWdFNXNW1iem9nVG1WMGQyOXlhMlZrU1hSbGJVbHVabTlKYm5SbGNtNWhiQ3dnYm1WM1UzUmhkR1U2SUU1bGRIZHZjbXRKZEdWdFZISmhibk5tYjNKdExGeHlYRzVjZEZ4MGRXNXBkbVZ5YzJWR2NtOXRTWFJsYlQ4NklFMXBibWx0WVd4UWIzTmxJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYlRvZ1RrZEZVMlYwVkhKaGJuTm1iM0p0VTNSaGRHVWdQVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFIwZVhCbE9pQk9aWFIzYjNKclIyRmtaMlYwUlhabGJuUlVlWEJsTGxObGRGUnlZVzV6Wm05eWJWTjBZWFJsTEZ4eVhHNWNkRngwWEhSdVpYZFRkR0YwWlN4Y2NseHVYSFJjZEZ4MGRXNXBkbVZ5YzJWR2NtOXRTWFJsYlN4Y2NseHVYSFJjZEgxY2NseHVYSFJjZEdsMFpXMUpibVp2TG1sbVlXTmxMbk5sYm1SRmRtVnVkQ2dnYlNBcE8xeHlYRzVjZEgxY2NseHVYSEpjYmx4eVhHNWNkQzhxS2lCVWFHVWdhVzVwZEdsaGJHbDZZWFJwYjI0Z2FXNW1ieUJ3WVdOclpYUWdkR2hoZENCMGFHVWdjbTl2YlNCdVpXVmtjeUIwYnlCamIyMXRkVzVwWTJGMFpTQjBiMXh5WEc1Y2RDQXFJR0Z1ZVNCeVpXMXZkR1VnZFc1cGRtVnljMlVnYVhRZ2FYTWdjM1JoY25ScGJtY2dkWEF1SUZ4eVhHNWNkQ0FxTDF4eVhHNWNkSEIxWW14cFl5Qm5aWFFnYVc1cGRFbHVabThvS1RvZ2IySnFaV04wWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdkaFpHZGxkSE02SUU1bGRIZHZjbXRsWkVkaFpHZGxkRWx1Wm05YlhTQTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnYVc1MFpYSnVZV3hKYm1adklHOW1JSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwYzBKNVVtVnRiM1JsU1dRdWRtRnNkV1Z6S0NrZ0tWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnpvZ1RtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWJ5QTlJSFJvYVhNdWJtVjBkMjl5YTJWa1IyRmtaMlYwU1c1bWIwWnliMjFKYm5SbGNtNWhiQ2dnYVc1MFpYSnVZV3hKYm1adklDazdYSEpjYmx4MFhIUmNkR2RoWkdkbGRITXVjSFZ6YUNnZ1oyRmtaMlYwU1c1bWJ5QXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2NseHVYSFJjZEhKbGRIVnliaUI3SUdkaFpHZGxkSE1nZlNCaGN5QlZibWwyWlhKelpVbHVhWFJKYm1adk8xeHlYRzVjZEgxY2NseHVYSEpjYmx4MGNISnBkbUYwWlNCdVpYUjNiM0pyWldSSFlXUm5aWFJKYm1adlJuSnZiVWx1ZEdWeWJtRnNLQ0JwYm5SbGNtNWhiRWx1Wm04NklFNWxkSGR2Y210bFpFZGhaR2RsZEVsdVptOUpiblJsY201aGJDQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR2RoWkdkbGRFbHVabTg2SUU1bGRIZHZjbXRsWkVkaFpHZGxkRWx1Wm04Z1BTQjdYSEpjYmx4MFhIUmNkSFZ5YkRvZ2FXNTBaWEp1WVd4SmJtWnZMblZ5YkN4Y2NseHVYSFJjZEZ4MGNtVnRiM1JsVEc5amEzTTZJR2x1ZEdWeWJtRnNTVzVtYnk1eVpXMXZkR1ZNYjJOcmN5eGNjbHh1WEhSY2RGeDBkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPaUJ0YVc1cGJXRnNVRzl6WlVaeWIyMVVjbUZ1YzJadmNtMG9JR2x1ZEdWeWJtRnNTVzVtYnk1cFptRmpaUzV6Wld4bVJuSnZiVkJsWlhJZ0tTeGNjbHh1WEhSY2RGeDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHbHVkR1Z5Ym1Gc1NXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDeGNjbHh1WEhSY2RGeDBhWFJsYlhNNklGdGRMRnh5WEc1Y2RGeDBmVHRjY2x4dVhISmNibHgwWEhSbWIzSWdLQ0JzWlhRZ2FXNTBaWEp1WVd4SmRHVnRJRzltSUdsdWRHVnlibUZzU1c1bWJ5NXBkR1Z0Y3k1MllXeDFaWE1vS1NBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHbG1JQ2dnYVc1MFpYSnVZV3hKZEdWdExtbDBaVzFKWkNBbUppQnBiblJsY201aGJFbDBaVzB1Y21WdGIzUmxWVzVwZG1WeWMyVkdjbTl0U1hSbGJTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSbllXUm5aWFJKYm1adkxtbDBaVzF6TG5CMWMyZ29YSEpjYmx4MFhIUmNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBYSFJjZEdsMFpXMUpaRG9nYVc1MFpYSnVZV3hKZEdWdExtbDBaVzFKWkN4Y2NseHVYSFJjZEZ4MFhIUmNkRngwY21WdGIzUmxWVzVwZG1WeWMyVkdjbTl0U1hSbGJUb2dhVzUwWlhKdVlXeEpkR1Z0TG5KbGJXOTBaVlZ1YVhabGNuTmxSbkp2YlVsMFpXMHNYSEpjYmx4MFhIUmNkRngwWEhSOVhISmNibHgwWEhSY2RGeDBLVHRjY2x4dVhIUmNkRngwZlZ4eVhHNWNkRngwZlZ4eVhHNWNkRngwY21WMGRYSnVJR2RoWkdkbGRFbHVabTg3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3ZFdKc2FXTWdjbVZ1WkdWeUtDazZJRXBUV0M1RmJHVnRaVzUwWEhKY2JseDBlMXh5WEc1Y2RGeDBiR1YwSUdOb2FXeGtWSEpoYm5ObWIzSnRjem9nU2xOWUxrVnNaVzFsYm5SYlhTQTlJRnRkTzF4eVhHNWNkRngwWm05eUtDQnNaWFFnWjJGa1oyVjBTVzVtYnlCdlppQjBhR2x6TG01bGRIZHZjbXRsWkVkaFpHZGxkSE5DZVZKbGJXOTBaVWxrTG5aaGJIVmxjeWdwSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MFptOXlLQ0JzWlhRZ2FYUmxiVWx1Wm04Z2IyWWdaMkZrWjJWMFNXNW1ieTVwZEdWdGN5NTJZV3gxWlhNb0tTQXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhScFppZ2dhWFJsYlVsdVptOHVjbVZ0YjNSbFZXNXBkbVZ5YzJWR2NtOXRTWFJsYlNBbUppQnBkR1Z0U1c1bWJ5NXBabUZqWlNCY2NseHVYSFJjZEZ4MFhIUmNkQ1ltSUdsMFpXMUpibVp2TG1keVlXSlRkR0YwWlNBOVBTQk9aWFIzYjNKclpXUkhjbUZpVTNSaGRHVXVVbVZ0YjNSbElDbGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnNaWFFnYTJWNVBXQWtleUJuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtJSDB2SkhzZ2FYUmxiVWx1Wm04dWFYUmxiVWxrSUgxZ08xeHlYRzVjZEZ4MFhIUmNkRngwWTJocGJHUlVjbUZ1YzJadmNtMXpMbkIxYzJnb1hISmNibHgwWEhSY2RGeDBYSFJjZER4QmRsUnlZVzV6Wm05eWJTQnJaWGs5ZXlCclpYa2dmU0IwY21GdWMyWnZjbTA5ZXlCcGRHVnRTVzVtYnk1eVpXMXZkR1ZWYm1sMlpYSnpaVVp5YjIxSmRHVnRJSDArWEhKY2JseDBYSFJjZEZ4MFhIUmNkRngwUEVGMlJXNTBhWFI1UTJocGJHUWdZMmhwYkdROWV5QnBkR1Z0U1c1bWJ5NXBabUZqWlM1d1pXVnlJSDB2UGx4eVhHNWNkRngwWEhSY2RGeDBYSFE4TDBGMlZISmhibk5tYjNKdFBpQXBPMXh5WEc1Y2RGeDBYSFJjZEgxY2NseHVYSFJjZEZ4MGZWeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkSEpsZEhWeWJpQThQbnNnWTJocGJHUlVjbUZ1YzJadmNtMXpJSDA4THo0N1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvbmV0d29ya191bml2ZXJzZS50c3hcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyBcIi4vc3JjL3JlbW90ZV91bml2ZXJzZS50c3hcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiAuL3NyYy9yZW1vdGVfdW5pdmVyc2UudHN4ICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogUmVtb3RlVW5pdmVyc2VDb21wb25lbnQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIlJlbW90ZVVuaXZlcnNlQ29tcG9uZW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBSZW1vdGVVbml2ZXJzZUNvbXBvbmVudDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgQGFhcmR2YXJreHIvYWFyZHZhcmstc2hhcmVkICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQvbGliL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKF9hYXJkdmFya3hyX2FhcmR2YXJrX3NoYXJlZF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzJfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGJpbmQtZGVjb3JhdG9yICovIFxcXCIuL25vZGVfbW9kdWxlcy9iaW5kLWRlY29yYXRvci9pbmRleC5qc1xcXCIpO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQgPSAvKiNfX1BVUkVfXyovX193ZWJwYWNrX3JlcXVpcmVfXy5uKGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgcmVhY3QgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL3JlYWN0L2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4ocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbnRpdHlfY2hpbGRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzRfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZW50aXR5X2NoaWxkICovIFxcXCIuL3NyYy9hYXJkdmFya19lbnRpdHlfY2hpbGQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzVfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfZ2FkZ2V0ICovIFxcXCIuL3NyYy9hYXJkdmFya19nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIC4vYWFyZHZhcmtfdHJhbnNmb3JtICovIFxcXCIuL3NyYy9hYXJkdmFya190cmFuc2Zvcm0udHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9jb21wb25lbnRfcmVtb3RlX2dhZGdldCAqLyBcXFwiLi9zcmMvY29tcG9uZW50X3JlbW90ZV9nYWRnZXQudHN4XFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9uZXR3b3JrX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISAuL25ldHdvcmtfdW5pdmVyc2UgKi8gXFxcIi4vc3JjL25ldHdvcmtfdW5pdmVyc2UudHN4XFxcIik7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY2xhc3MgUmVtb3RlVW5pdmVyc2VDb21wb25lbnQge1xcclxcbiAgICAvKiogQHBhcmFtIGluaXRJbmZvIFRoZSBpbml0aWFsaXphdGlvbiBpbmZvIHBhY2tldCBwcm92aWRlZCBieSB0aGUgTmV0d29ya1VuaXZlcnNlIHRoYXQgdGhpcyByZW1vdGVcXHJcXG4gICAgICogdW5pdmVyc2UgaXMgY29ubmVjdGVkIHRvLlxcclxcbiAgICAgKlxcclxcbiAgICAgKiBAcGFyYW0gb25SZW1vdGVFdmVudCBUaGlzIGNhbGxiYWNrIGlzIGNhbGxlZCB3aGVuIHRoZSByb29tIHNob3VsZCBjb252ZXkgdGhlIHN1cHBsaWVkIGV2ZW50IHRvIHRoZSBuZXR3b3JrXFxyXFxuICAgICAqIHVuaXZlcnNlIGFuZCBjYWxsIHJlbW90ZUV2ZW50KCkgb24gdGhhdCBvYmplY3QuXFxyXFxuICAgICAqXFxyXFxuICAgICAqIGV2ZW50XFx0XFx0VGhlIG9wYXF1ZSBldmVudCBvYmplY3QgdG8gc2VuZFxcclxcbiAgICAgKiByZWxpYWJsZVxcdElmIHRoaXMgaXMgdHJ1ZSwgdGhlIGV2ZW50IG11c3QgYmUgZGVsaXZlcmVkIG9yIHRoZSBnYWRnZXRzIG1heVxcclxcbiAgICAgKiBcXHRcXHRcXHRcXHRcXHRnZXQgb3V0IG9mIHN5bmNoIHdpdGggZWFjaCBvdGhlci4gSWYgdGhpcyBpcyBmYWxzZSwgdGhlIHJvb20gc2hvdWxkXFxyXFxuICAgICAqIFxcdFxcdFxcdFxcdFxcdG1ha2UgaXRzIGJlc3QgZWZmb3J0IHRvIGRlbGl2ZXIgdGhlIGV2ZW50LCBidXQgdGhlIHN5c3RlbSB3aWxsIHJlY292ZXJcXHJcXG4gICAgICogXFx0XFx0XFx0XFx0XFx0aWYgdGhlIGV2ZW50IGlzIGRpc2NhcmRlZC5cXHJcXG4gICAgICovXFxyXFxuICAgIGNvbnN0cnVjdG9yKGluaXRJbmZvLCBvblJlbW90ZUV2ZW50KSB7XFxyXFxuICAgICAgICB0aGlzLnJlbW90ZUdhZGdldHMgPSBuZXcgTWFwKCk7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUNhbGxiYWNrID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5RXBhID0gbnVsbDtcXHJcXG4gICAgICAgIHRoaXMuaW5pdEluZm8gPSBpbml0SW5mbztcXHJcXG4gICAgICAgIHRoaXMucmVtb3RlRXZlbnRDYWxsYmFjayA9IG9uUmVtb3RlRXZlbnQ7XFxyXFxuICAgIH1cXHJcXG4gICAgb25VcGRhdGUoY2FsbGJhY2spIHtcXHJcXG4gICAgICAgIHRoaXMuZW50aXR5Q2FsbGJhY2sgPSBjYWxsYmFjaztcXHJcXG4gICAgfVxcclxcbiAgICBzZXRFbnRpdHlFcGEoZXBhKSB7XFxyXFxuICAgICAgICB0aGlzLmVudGl0eUVwYSA9IGVwYTtcXHJcXG4gICAgICAgIGlmIChlcGEpIHtcXHJcXG4gICAgICAgICAgICBmb3IgKGxldCBnYWRnZXRJbmZvIG9mIHRoaXMuaW5pdEluZm8uZ2FkZ2V0cykge1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZUdhZGdldChnYWRnZXRJbmZvKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcXFwiRGlzY2FyZGluZyBlbnRpdHkgZm9yIHJlbW90ZSB1bml2ZXJzZS4gUmVtb3RlIGdhZGdldHMgd2lsbCBiZSBkZXN0cm95ZWQuXFxcIik7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgZmluZE9yQWRkSXRlbUluZm8oZ2FkZ2V0SW5mbywgaXRlbUlkKSB7XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm8gPSBnYWRnZXRJbmZvLml0ZW1zLmdldChpdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbykge1xcclxcbiAgICAgICAgICAgIGl0ZW1JbmZvID1cXHJcXG4gICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICAgICAgaWZhY2U6IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVHcmFiYmFibGVJZmFjZTogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHVuaXZlcnNlRnJvbUl0ZW06IG51bGwsXFxyXFxuICAgICAgICAgICAgICAgICAgICBncmFiYmVkOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGdyYWJTZW50OiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLnNldChpdGVtSWQsIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiBpdGVtSW5mbztcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW90ZUludGVyZmFjZShhY3RpdmVSZW1vdGVHYWRnZXQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCByZW1vdGVQYXJhbXMgPSBhY3RpdmVSZW1vdGVHYWRnZXQucGFyYW1zO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZVBhcmFtcy5yZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBsZXQgaXRlbUluZm87XFxyXFxuICAgICAgICBpZiAocmVtb3RlUGFyYW1zLml0ZW1JZCkge1xcclxcbiAgICAgICAgICAgIGl0ZW1JbmZvID0gdGhpcy5maW5kT3JBZGRJdGVtSW5mbyhnYWRnZXRJbmZvLCByZW1vdGVQYXJhbXMuaXRlbUlkKTtcXHJcXG4gICAgICAgICAgICBpdGVtSW5mby5pZmFjZSA9IGFjdGl2ZVJlbW90ZUdhZGdldDtcXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgIGdhZGdldEluZm8uaWZhY2UgPSBhY3RpdmVSZW1vdGVHYWRnZXQ7XFxyXFxuICAgICAgICB9XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLmVudGl0eUNhbGxiYWNrKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbCh0aGlzKTtcXHJcXG4gICAgICAgIGNvbnNvbGUubG9nKGBDb25uZWN0aW9uIGZyb20gcmVtb3RlIGdhZGdldCBpZCAke2dhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWR9YCk7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGVHYWRnZXQub25FdmVudCgoZXZlbnQpID0+IHtcXHJcXG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIl0uU2VuZEV2ZW50VG9NYXN0ZXI6XFxyXFxuICAgICAgICAgICAgICAgICAgICB7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbmRFdmVudCA9IGV2ZW50O1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlRXZlbnRDYWxsYmFjayh7XFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9uZXR3b3JrX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCJdLlNlbmRNYXN0ZXJHYWRnZXRFdmVudCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JZDogcmVtb3RlUGFyYW1zLml0ZW1JZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IHNlbmRFdmVudC5ldmVudFxcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHNlbmRFdmVudC5yZWxpYWJsZSk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICAgICAgY2FzZSBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIl0uU3RhcnRHcmFiOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JbmZvLmdyYWJiZWQgPSB0cnVlO1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JhYlN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgICAgICBjYXNlIF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJSZW1vdGVHYWRnZXRFdmVudFR5cGVcXFwiXS5FbmRHcmFiOlxcclxcbiAgICAgICAgICAgICAgICAgICAge1xcclxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1JbmZvLmdyYWJiZWQgPSBmYWxzZTtcXHJcXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUdyYWJTdGF0ZShnYWRnZXRJbmZvLCBpdGVtSW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICB9KTtcXHJcXG4gICAgICAgIGFjdGl2ZVJlbW90ZUdhZGdldC5vbkVuZGVkKCgpID0+IHtcXHJcXG4gICAgICAgICAgICBpZiAoZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgICAgICBpZiAoIXJlbW90ZVBhcmFtcy5pdGVtSWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3RlR2FkZ2V0cy5kZWxldGUoZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICAgICAgZWxzZSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBnYWRnZXRJbmZvLml0ZW1zLmRlbGV0ZShyZW1vdGVQYXJhbXMuaXRlbUlkKTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUdyYWJTdGF0ZShnYWRnZXRJbmZvLCBpdGVtSW5mbykge1xcclxcbiAgICAgICAgbGV0IHNob3VsZEJlR3JhYmJpbmcgPSBpdGVtSW5mby5ncmFiYmVkICYmIGl0ZW1JbmZvLnJlbW90ZUdyYWJiYWJsZUlmYWNlICE9IG51bGw7XFxyXFxuICAgICAgICBpZiAoc2hvdWxkQmVHcmFiYmluZyAhPSBpdGVtSW5mby5ncmFiU2VudCkge1xcclxcbiAgICAgICAgICAgIGlmIChzaG91bGRCZUdyYWJiaW5nKSB7XFxyXFxuICAgICAgICAgICAgICAgIGxldCBldnQgPSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVcXFwiXS5TdGFydEl0ZW1HcmFiLFxcclxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQsXFxyXFxuICAgICAgICAgICAgICAgICAgICBpdGVtSWQ6IGl0ZW1JbmZvLml0ZW1JZCxcXHJcXG4gICAgICAgICAgICAgICAgfTtcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdGVFdmVudENhbGxiYWNrKGV2dCwgdHJ1ZSk7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIGVsc2Uge1xcclxcbiAgICAgICAgICAgICAgICBsZXQgZXZ0ID0ge1xcclxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIl0uRW5kSXRlbUdyYWIsXFxyXFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1JZDogaXRlbUluZm8uaXRlbUlkLFxcclxcbiAgICAgICAgICAgICAgICB9O1xcclxcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW90ZUV2ZW50Q2FsbGJhY2soZXZ0LCB0cnVlKTtcXHJcXG4gICAgICAgICAgICB9XFxyXFxuICAgICAgICAgICAgaXRlbUluZm8uZ3JhYlNlbnQgPSBzaG91bGRCZUdyYWJiaW5nO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZVJlbW90ZUdyYWJiYWJsZShwYXJhbXMsIHVuaXZlcnNlRnJvbUl0ZW0pIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5yZW1vdGVHYWRnZXRzLmdldChwYXJhbXMucmVtb3RlR2FkZ2V0SWQpO1xcclxcbiAgICAgICAgaWYgKCFnYWRnZXRJbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIGxldCBpdGVtSW5mbyA9IGdhZGdldEluZm8uaXRlbXMuZ2V0KHBhcmFtcy5pdGVtSWQpO1xcclxcbiAgICAgICAgaWYgKCFpdGVtSW5mbylcXHJcXG4gICAgICAgICAgICByZXR1cm47XFxyXFxuICAgICAgICBpZiAoIWl0ZW1JbmZvLmdyYWJiZWQpXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgbGV0IG0gPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIl0uVXBkYXRlTmV0d29ya0l0ZW1UcmFuc2Zvcm0sXFxyXFxuICAgICAgICAgICAgcmVtb3RlR2FkZ2V0SWQ6IHBhcmFtcy5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICBpdGVtSWQ6IHBhcmFtcy5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgdW5pdmVyc2VGcm9tR2FkZ2V0OiBPYmplY3QoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8xX19bXFxcIm1pbmltYWxQb3NlRnJvbVRyYW5zZm9ybVxcXCJdKSh1bml2ZXJzZUZyb21JdGVtKSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSB0aGlzLnJlbW90ZUV2ZW50Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMsIG0sIGZhbHNlKTtcXHJcXG4gICAgfVxcclxcbiAgICBvblJlbW90ZUdyYWJiYWJsZShhY3RpdmVSZW1vdGVHcmFiYmFibGUpIHtcXHJcXG4gICAgICAgIGxldCByZW1vdGVQYXJhbXMgPSBhY3RpdmVSZW1vdGVHcmFiYmFibGUucGFyYW1zO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZVBhcmFtcy5yZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBpZiAoIWdhZGdldEluZm8pXFxyXFxuICAgICAgICAgICAgcmV0dXJuO1xcclxcbiAgICAgICAgbGV0IGl0ZW1JbmZvID0gZ2FkZ2V0SW5mby5pdGVtcy5nZXQocmVtb3RlUGFyYW1zLml0ZW1JZCk7XFxyXFxuICAgICAgICBpZiAoIWl0ZW1JbmZvKVxcclxcbiAgICAgICAgICAgIHJldHVybjtcXHJcXG4gICAgICAgIHRoaXMudXBkYXRlUmVtb3RlR3JhYmJhYmxlKHJlbW90ZVBhcmFtcywgYWN0aXZlUmVtb3RlR3JhYmJhYmxlLnNlbGZGcm9tUGVlcik7XFxyXFxuICAgICAgICBpdGVtSW5mby5yZW1vdGVHcmFiYmFibGVJZmFjZSA9IGFjdGl2ZVJlbW90ZUdyYWJiYWJsZTtcXHJcXG4gICAgICAgIHRoaXMudXBkYXRlR3JhYlN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgIGFjdGl2ZVJlbW90ZUdyYWJiYWJsZS5vblRyYW5zZm9ybVVwZGF0ZWQoKHVuaXZlcnNlRnJvbUl0ZW0pID0+IHtcXHJcXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVJlbW90ZUdyYWJiYWJsZShyZW1vdGVQYXJhbXMsIHVuaXZlcnNlRnJvbUl0ZW0pO1xcclxcbiAgICAgICAgfSk7XFxyXFxuICAgICAgICBhY3RpdmVSZW1vdGVHcmFiYmFibGUub25FbmRlZCgoKSA9PiB7XFxyXFxuICAgICAgICAgICAgaXRlbUluZm8ucmVtb3RlR3JhYmJhYmxlSWZhY2UgPSBudWxsO1xcclxcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR3JhYlN0YXRlKGdhZGdldEluZm8sIGl0ZW1JbmZvKTtcXHJcXG4gICAgICAgIH0pO1xcclxcbiAgICB9XFxyXFxuICAgIGdldCByZWNlaXZlcygpIHtcXHJcXG4gICAgICAgIHJldHVybiBbXFxyXFxuICAgICAgICAgICAgeyBpZmFjZTogX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXFxcIlJlbW90ZUdhZGdldENvbXBvbmVudFxcXCJdLmludGVyZmFjZU5hbWUsIHByb2Nlc3NvcjogdGhpcy5vblJlbW90ZUludGVyZmFjZSB9LFxcclxcbiAgICAgICAgICAgIHsgaWZhY2U6IF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJrX3JlbW90ZUdyYWJiYWJsZUludGVyZmFjZVxcXCJdLCBwcm9jZXNzb3I6IHRoaXMub25SZW1vdGVHcmFiYmFibGUgfSxcXHJcXG4gICAgICAgIF07XFxyXFxuICAgIH1cXHJcXG4gICAgZ2V0IHdhbnRzVHJhbnNmb3JtcygpIHtcXHJcXG4gICAgICAgIHJldHVybiB0cnVlO1xcclxcbiAgICB9XFxyXFxuICAgIG5ldHdvcmtFdmVudChldmVudCkge1xcclxcbiAgICAgICAgbGV0IGUgPSBldmVudDtcXHJcXG4gICAgICAgIHN3aXRjaCAoZS50eXBlKSB7XFxyXFxuICAgICAgICAgICAgY2FzZSBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVcXFwiXS5DcmVhdGVSZW1vdGVHYWRnZXQ6XFxyXFxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlR2FkZ2V0KGUuZ2FkZ2V0SW5mbyk7XFxyXFxuICAgICAgICAgICAgICAgIGJyZWFrO1xcclxcbiAgICAgICAgICAgIGNhc2UgX25ldHdvcmtfdW5pdmVyc2VfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzhfX1tcXFwiTmV0d29ya1VuaXZlcnNlRXZlbnRUeXBlXFxcIl0uRGVzdHJveVJlbW90ZUdhZGdldDpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95R2FkZ2V0KGUucmVtb3RlR2FkZ2V0SWQpO1xcclxcbiAgICAgICAgICAgICAgICBicmVhaztcXHJcXG4gICAgICAgICAgICBjYXNlIF9uZXR3b3JrX3VuaXZlcnNlX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV84X19bXFxcIk5ldHdvcmtVbml2ZXJzZUV2ZW50VHlwZVxcXCJdLlVwZGF0ZVJlbW90ZUdhZGdldFRyYW5zZm9ybTpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHYWRnZXRUcmFuc2Zvcm0oZS5yZW1vdGVHYWRnZXRJZCwgZS5pdGVtSWQsIGUudW5pdmVyc2VGcm9tR2FkZ2V0KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICAgICAgY2FzZSBfbmV0d29ya191bml2ZXJzZV9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfOF9fW1xcXCJOZXR3b3JrVW5pdmVyc2VFdmVudFR5cGVcXFwiXS5Ccm9hZGNhc3RSZW1vdGVHYWRnZXRFdmVudDpcXHJcXG4gICAgICAgICAgICAgICAgdGhpcy5tYXN0ZXJFdmVudChlLnJlbW90ZUdhZGdldElkLCBlLmV2ZW50KTtcXHJcXG4gICAgICAgICAgICAgICAgYnJlYWs7XFxyXFxuICAgICAgICB9XFxyXFxuICAgIH1cXHJcXG4gICAgY3JlYXRlR2FkZ2V0KGdhZGdldEluZm8pIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGlmICh0aGlzLnJlbW90ZUdhZGdldHMuaGFzKGdhZGdldEluZm8ucmVtb3RlR2FkZ2V0SWQpKSB7XFxyXFxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBkdXBsaWNhdGUgY3JlYXRlR2FkZ2V0IGZvciByZW1vdGUgZ2FkZ2V0IGlkICR7Z2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZH0gd2l0aCAke2dhZGdldEluZm8udXJsfWApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgaWYgKCF0aGlzLmVudGl0eUVwYSkge1xcclxcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY3JlYXRlR2FkZ2V0IGJlZm9yZSB0aGUgZW50aXR5IGdhdmUgdXMgdGhlaXIgRW5kcG9pbnQgQWRkcmVzc2ApO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgbGV0IG5ld0dhZGdldCA9IHtcXHJcXG4gICAgICAgICAgICByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCxcXHJcXG4gICAgICAgICAgICB1cmw6IGdhZGdldEluZm8udXJsLFxcclxcbiAgICAgICAgICAgIHJlbW90ZUxvY2tzOiBnYWRnZXRJbmZvLnJlbW90ZUxvY2tzLFxcclxcbiAgICAgICAgICAgIGlmYWNlOiBudWxsLFxcclxcbiAgICAgICAgICAgIHVuaXZlcnNlRnJvbUdhZGdldDogZ2FkZ2V0SW5mby51bml2ZXJzZUZyb21HYWRnZXQsXFxyXFxuICAgICAgICAgICAgaXRlbXM6IG5ldyBNYXAoKSxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICBmb3IgKGxldCBpdGVtIG9mICgoX2EgPSBnYWRnZXRJbmZvLml0ZW1zKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBbXSkpIHtcXHJcXG4gICAgICAgICAgICBuZXdHYWRnZXQuaXRlbXMuc2V0KGl0ZW0uaXRlbUlkLCB7XFxyXFxuICAgICAgICAgICAgICAgIGl0ZW1JZDogaXRlbS5pdGVtSWQsXFxyXFxuICAgICAgICAgICAgICAgIGlmYWNlOiBudWxsLFxcclxcbiAgICAgICAgICAgICAgICByZW1vdGVHcmFiYmFibGVJZmFjZTogbnVsbCxcXHJcXG4gICAgICAgICAgICAgICAgdW5pdmVyc2VGcm9tSXRlbTogaXRlbS5yZW1vdGVVbml2ZXJzZUZyb21JdGVtLFxcclxcbiAgICAgICAgICAgICAgICBncmFiYmVkOiBmYWxzZSxcXHJcXG4gICAgICAgICAgICAgICAgZ3JhYlNlbnQ6IGZhbHNlLFxcclxcbiAgICAgICAgICAgIH0pO1xcclxcbiAgICAgICAgfVxcclxcbiAgICAgICAgdGhpcy5yZW1vdGVHYWRnZXRzLnNldChnYWRnZXRJbmZvLnJlbW90ZUdhZGdldElkLCBuZXdHYWRnZXQpO1xcclxcbiAgICAgICAgbGV0IGZ1bGxMb2NrTGlzdCA9IFsuLi5nYWRnZXRJbmZvLnJlbW90ZUxvY2tzLFxcclxcbiAgICAgICAgICAgIHtcXHJcXG4gICAgICAgICAgICAgICAgaWZhY2U6IF9jb21wb25lbnRfcmVtb3RlX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfN19fW1xcXCJSZW1vdGVHYWRnZXRDb21wb25lbnRcXFwiXS5pbnRlcmZhY2VOYW1lLFxcclxcbiAgICAgICAgICAgICAgICByZWNlaXZlcjogdGhpcy5lbnRpdHlFcGEsXFxyXFxuICAgICAgICAgICAgICAgIHBhcmFtczogeyByZW1vdGVHYWRnZXRJZDogZ2FkZ2V0SW5mby5yZW1vdGVHYWRnZXRJZCB9LFxcclxcbiAgICAgICAgICAgIH1dO1xcclxcbiAgICAgICAgX2FhcmR2YXJrX2dhZGdldF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfNV9fW1xcXCJBdkdhZGdldFxcXCJdLmluc3RhbmNlKCkuc3RhcnRHYWRnZXQoZ2FkZ2V0SW5mby51cmwsIGZ1bGxMb2NrTGlzdCk7XFxyXFxuICAgIH1cXHJcXG4gICAgZGVzdHJveUdhZGdldChyZW1vdGVHYWRnZXRJZCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGxldCBldmVudCA9IHtcXHJcXG4gICAgICAgICAgICB0eXBlOiBfY29tcG9uZW50X3JlbW90ZV9nYWRnZXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzdfX1tcXFwiUmVtb3RlR2FkZ2V0RXZlbnRUeXBlXFxcIl0uRGVzdHJveUdhZGdldCxcXHJcXG4gICAgICAgIH07XFxyXFxuICAgICAgICAoX2EgPSBnYWRnZXRJbmZvID09PSBudWxsIHx8IGdhZGdldEluZm8gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGdhZGdldEluZm8uaWZhY2UpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5zZW5kRXZlbnQoZXZlbnQpO1xcclxcbiAgICB9XFxyXFxuICAgIHVwZGF0ZUdhZGdldFRyYW5zZm9ybShyZW1vdGVHYWRnZXRJZCwgaXRlbUlkLCB1bml2ZXJzZUZyb21HYWRnZXQpIHtcXHJcXG4gICAgICAgIHZhciBfYTtcXHJcXG4gICAgICAgIGxldCBnYWRnZXRJbmZvID0gdGhpcy5yZW1vdGVHYWRnZXRzLmdldChyZW1vdGVHYWRnZXRJZCk7XFxyXFxuICAgICAgICBpZiAoZ2FkZ2V0SW5mbykge1xcclxcbiAgICAgICAgICAgIGlmIChpdGVtSWQpIHtcXHJcXG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1JbmZvID0gdGhpcy5maW5kT3JBZGRJdGVtSW5mbyhnYWRnZXRJbmZvLCBpdGVtSWQpO1xcclxcbiAgICAgICAgICAgICAgICBpdGVtSW5mby51bml2ZXJzZUZyb21JdGVtID0gdW5pdmVyc2VGcm9tR2FkZ2V0O1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgICAgICBlbHNlIHtcXHJcXG4gICAgICAgICAgICAgICAgZ2FkZ2V0SW5mby51bml2ZXJzZUZyb21HYWRnZXQgPSB1bml2ZXJzZUZyb21HYWRnZXQ7XFxyXFxuICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgIChfYSA9IHRoaXMuZW50aXR5Q2FsbGJhY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHRoaXMpO1xcclxcbiAgICAgICAgfVxcclxcbiAgICB9XFxyXFxuICAgIG1hc3RlckV2ZW50KHJlbW90ZUdhZGdldElkLCBldmVudCkge1xcclxcbiAgICAgICAgdmFyIF9hO1xcclxcbiAgICAgICAgbGV0IGdhZGdldEluZm8gPSB0aGlzLnJlbW90ZUdhZGdldHMuZ2V0KHJlbW90ZUdhZGdldElkKTtcXHJcXG4gICAgICAgIGxldCBzZW5kRXZlbnQgPSB7XFxyXFxuICAgICAgICAgICAgdHlwZTogX2NvbXBvbmVudF9yZW1vdGVfZ2FkZ2V0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV83X19bXFxcIlJlbW90ZUdhZGdldEV2ZW50VHlwZVxcXCJdLlJlY2VpdmVFdmVudEZyb21NYXN0ZXIsXFxyXFxuICAgICAgICAgICAgZXZlbnQsXFxyXFxuICAgICAgICB9O1xcclxcbiAgICAgICAgKF9hID0gZ2FkZ2V0SW5mbyA9PT0gbnVsbCB8fCBnYWRnZXRJbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBnYWRnZXRJbmZvLmlmYWNlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc2VuZEV2ZW50KHNlbmRFdmVudCk7XFxyXFxuICAgIH1cXHJcXG4gICAgcmVuZGVyKCkge1xcclxcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gW107XFxyXFxuICAgICAgICBmb3IgKGxldCBnYWRnZXQgb2YgdGhpcy5yZW1vdGVHYWRnZXRzLnZhbHVlcygpKSB7XFxyXFxuICAgICAgICAgICAgaWYgKCFnYWRnZXQuaWZhY2UgfHwgIWdhZGdldC51bml2ZXJzZUZyb21HYWRnZXQpXFxyXFxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xcclxcbiAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2Zvcm06IGdhZGdldC51bml2ZXJzZUZyb21HYWRnZXQsIGtleTogZ2FkZ2V0LnJlbW90ZUdhZGdldElkIH0sXFxyXFxuICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogZ2FkZ2V0LmlmYWNlLnBlZXIsIGtleTogZ2FkZ2V0LnJlbW90ZUdhZGdldElkIH0pKSk7XFxyXFxuICAgICAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBnYWRnZXQuaXRlbXMudmFsdWVzKCkpIHtcXHJcXG4gICAgICAgICAgICAgICAgaWYgKCFpdGVtLmlmYWNlIHx8ICFpdGVtLnVuaXZlcnNlRnJvbUl0ZW0gfHwgaXRlbS5ncmFiYmVkKSB7XFxyXFxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcXHJcXG4gICAgICAgICAgICAgICAgfVxcclxcbiAgICAgICAgICAgICAgICBsZXQga2V5ID0gYCR7Z2FkZ2V0LnJlbW90ZUdhZGdldElkfS8ke2l0ZW0uaXRlbUlkfWA7XFxyXFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2gocmVhY3RfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX1tcXFwiY3JlYXRlRWxlbWVudFxcXCJdKF9hYXJkdmFya190cmFuc2Zvcm1fX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzZfX1tcXFwiQXZUcmFuc2Zvcm1cXFwiXSwgeyB0cmFuc2Zvcm06IGl0ZW0udW5pdmVyc2VGcm9tSXRlbSwga2V5OiBrZXkgfSxcXHJcXG4gICAgICAgICAgICAgICAgICAgIHJlYWN0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19bXFxcImNyZWF0ZUVsZW1lbnRcXFwiXShfYWFyZHZhcmtfZW50aXR5X2NoaWxkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV80X19bXFxcIkF2RW50aXR5Q2hpbGRcXFwiXSwgeyBjaGlsZDogaXRlbS5pZmFjZS5wZWVyLCBrZXk6IGtleSB9KSkpO1xcclxcbiAgICAgICAgICAgIH1cXHJcXG4gICAgICAgIH1cXHJcXG4gICAgICAgIHJldHVybiByZWFjdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fW1xcXCJjcmVhdGVFbGVtZW50XFxcIl0oXFxcImRpdlxcXCIsIHsga2V5OiBcXFwicmVtb3RlX3VuaXZlcnNlXFxcIiB9LCBjaGlsZHJlbik7XFxyXFxuICAgIH1cXHJcXG59XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIFJlbW90ZVVuaXZlcnNlQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlSW50ZXJmYWNlXFxcIiwgbnVsbCk7XFxyXFxuT2JqZWN0KHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19bXFxcIl9fZGVjb3JhdGVcXFwiXSkoW1xcclxcbiAgICBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMl9fX2RlZmF1bHQuYVxcclxcbl0sIFJlbW90ZVVuaXZlcnNlQ29tcG9uZW50LnByb3RvdHlwZSwgXFxcIm9uUmVtb3RlR3JhYmJhYmxlXFxcIiwgbnVsbCk7XFxyXFxuLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM4dUwzTnlZeTl5WlcxdmRHVmZkVzVwZG1WeWMyVXVkSE40UHpaa05HVWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklqczdPenM3T3pzN096czdPenM3TzBGQlFYbEpPMEZCUTNaSE8wRkJRMGc3UVVGRmVVSTdRVUZEV0R0QlFVVk5PMEZCUTIxSE8wRkJRMUk3UVVFclEzWkpMRTFCUVUwc2RVSkJRWFZDTzBsQlVXNURPenM3T3pzN096czdPenRQUVZkSE8wbEJRMGdzV1VGQllTeFJRVUZuUWl4RlFVRkZMR0ZCUVRKRU8xRkJiRUpzUml4clFrRkJZU3hIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUU0UWl4RFFVRkRPMUZCUlhSRUxHMUNRVUZqTEVkQlFXVXNTVUZCU1N4RFFVRkRPMUZCUTJ4RExHTkJRVk1zUjBGQmFVSXNTVUZCU1N4RFFVRkRPMUZCYVVKMFF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMRkZCUVRSQ0xFTkJRVU03VVVGRE4wTXNTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEhRVUZITEdGQlFXRXNRMEZCUXp0SlFVTXhReXhEUVVGRE8wbEJSVTBzVVVGQlVTeERRVUZGTEZGQlFXOUNPMUZCUlhCRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTJoRExFTkJRVU03U1VGRlRTeFpRVUZaTEVOQlFVVXNSMEZCYVVJN1VVRkZja01zU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1VVRkZja0lzU1VGQlNTeEhRVUZITEVWQlExQTdXVUZEUXl4TFFVRkxMRWxCUVVrc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCVHl4RlFVTTFRenRuUWtGRFF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkZMRlZCUVZVc1EwRkJSU3hEUVVGRE8yRkJRMmhETzFOQlEwUTdZVUZGUkR0WlFVTkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVVVzTUVWQlFUQkZMRU5CUVVNN1UwRkRlRVk3U1VGRFJpeERRVUZETzBsQlJVMHNhVUpCUVdsQ0xFTkJRVVVzVlVGQk5FSXNSVUZCUlN4TlFVRmpPMUZCUlhKRkxFbEJRVWtzVVVGQlVTeEhRVUZITEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUTBGQlJTeERRVUZETzFGQlF6bERMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRMkk3V1VGRFF5eFJRVUZSTzJkQ1FVTlNPMjlDUVVORExFMUJRVTA3YjBKQlEwNHNTMEZCU3l4RlFVRkZMRWxCUVVrN2IwSkJRMWdzYjBKQlFXOUNMRVZCUVVVc1NVRkJTVHR2UWtGRE1VSXNaMEpCUVdkQ0xFVkJRVVVzU1VGQlNUdHZRa0ZEZEVJc1QwRkJUeXhGUVVGRkxFdEJRVXM3YjBKQlEyUXNVVUZCVVN4RlFVRkZMRXRCUVVzN2FVSkJRMllzUTBGQlF6dFpRVU5HTEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRkxFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVVXNRMEZCUXp0VFFVTjZRenRSUVVORUxFOUJRVThzVVVGQlVTeERRVUZETzBsQlEycENMRU5CUVVNN1NVRkhUeXhwUWtGQmFVSXNRMEZCUlN4clFrRkJiVU03TzFGQlJUZEVMRWxCUVVrc1dVRkJXU3hIUVVGSExHdENRVUZyUWl4RFFVRkRMRTFCUVRoQ0xFTkJRVU03VVVGRGNrVXNTVUZCU1N4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEVOQlFVVXNXVUZCV1N4RFFVRkRMR05CUVdNc1EwRkJSU3hEUVVGRE8xRkJRM1pGTEVsQlFVa3NVVUZCZDBJc1EwRkJRenRSUVVNM1FpeEpRVUZKTEZsQlFWa3NRMEZCUXl4TlFVRk5MRVZCUTNaQ08xbEJRME1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4cFFrRkJhVUlzUTBGQlJTeFZRVUZWTEVWQlFVVXNXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJSU3hEUVVGRE8xbEJRM0pGTEZGQlFWRXNRMEZCUXl4TFFVRkxMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTTdVMEZEY0VNN1lVRkZSRHRaUVVORExGVkJRVlVzUTBGQlF5eExRVUZMTEVkQlFVY3NhMEpCUVd0Q0xFTkJRVU03VTBGRGRFTTdVVUZEUkN4VlFVRkpMRU5CUVVNc1kwRkJZeXdyUTBGQmJrSXNTVUZCU1N4RlFVRnZRanRSUVVONFFpeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkZMRzlEUVVGeFF5eFZRVUZWTEVOQlFVTXNZMEZCWlN4RlFVRkZMRU5CUVVVc1EwRkJRenRSUVVWcVJpeHJRa0ZCYTBJc1EwRkJReXhQUVVGUExFTkJRVVVzUTBGQlJTeExRVUYzUWl4RlFVRkhMRVZCUVVVN1dVRkZNVVFzVVVGQlVTeExRVUZMTEVOQlFVTXNTVUZCU1N4RlFVTnNRanRuUWtGRFF5eExRVUZMTERoRlFVRnhRaXhEUVVGRExHbENRVUZwUWp0dlFrRkROVU03ZDBKQlEwTXNTVUZCU1N4VFFVRlRMRWRCUVVjc1MwRkJjVUlzUTBGQlF6dDNRa0ZEZEVNc1NVRkJTU3hEUVVGRExHMUNRVUZ0UWl4RFFVTjJRanMwUWtGRFF5eEpRVUZKTEVWQlFVVXNNRVZCUVhkQ0xFTkJRVU1zY1VKQlFYRkNPelJDUVVOd1JDeGpRVUZqTEVWQlFVVXNWVUZCVlN4RFFVRkRMR05CUVdNN05FSkJRM3BETEUxQlFVMHNSVUZCUlN4WlFVRlpMRU5CUVVNc1RVRkJUVHMwUWtGRE0wSXNTMEZCU3l4RlFVRkZMRk5CUVZNc1EwRkJReXhMUVVGTE8zbENRVU5GTEVWQlFVVXNVMEZCVXl4RFFVRkRMRkZCUVZFc1EwRkJSU3hEUVVGRE8zRkNRVU5xUkR0dlFrRkRSQ3hOUVVGTk8yZENRVVZPTEV0QlFVc3NPRVZCUVhGQ0xFTkJRVU1zVTBGQlV6dHZRa0ZEY0VNN2QwSkJRME1zVVVGQlVTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN2QwSkJRM2hDTEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVVc1ZVRkJWU3hGUVVGRkxGRkJRVkVzUTBGQlJTeERRVUZETzNGQ1FVTTNRenR2UWtGRFJDeE5RVUZOTzJkQ1FVVk9MRXRCUVVzc09FVkJRWEZDTEVOQlFVTXNUMEZCVHp0dlFrRkRiRU03ZDBKQlEwTXNVVUZCVVN4RFFVRkRMRTlCUVU4c1IwRkJSeXhMUVVGTExFTkJRVU03ZDBKQlEzcENMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVVVzVlVGQlZTeEZRVUZGTEZGQlFWRXNRMEZCUlN4RFFVRkRPM0ZDUVVNM1F6dHZRa0ZEUkN4TlFVRk5PMkZCUTA0N1VVRkRSaXhEUVVGRExFTkJRVVVzUTBGQlF6dFJRVVZLTEd0Q1FVRnJRaXhEUVVGRExFOUJRVThzUTBGQlJTeEhRVUZITEVWQlFVVTdXVUZGYUVNc1NVRkJTU3hWUVVGVkxFVkJRMlE3WjBKQlEwTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhOUVVGTkxFVkJRM2hDTzI5Q1FVTkRMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zVFVGQlRTeERRVUZGTEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVVc1EwRkJRenRwUWtGRGRrUTdjVUpCUlVRN2IwSkJRME1zVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUVVVc1dVRkJXU3hEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZETzJsQ1FVTXZRenRoUVVORU8xRkJRMFlzUTBGQlF5eERRVUZGTEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlU4c1pVRkJaU3hEUVVGRkxGVkJRVFJDTEVWQlFVVXNVVUZCZDBJN1VVRkZPVVVzU1VGQlNTeG5Ra0ZCWjBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVDBGQlR5eEpRVUZKTEZGQlFWRXNRMEZCUXl4dlFrRkJiMElzU1VGQlNTeEpRVUZKTEVOQlFVTTdVVUZGYWtZc1NVRkJTU3huUWtGQlowSXNTVUZCU1N4UlFVRlJMRU5CUVVNc1VVRkJVU3hGUVVONlF6dFpRVVZETEVsQlFVa3NaMEpCUVdkQ0xFVkJRM0JDTzJkQ1FVTkRMRWxCUVVrc1IwRkJSeXhIUVVOUU8yOUNRVU5ETEVsQlFVa3NSVUZCUlN3d1JVRkJkMElzUTBGQlF5eGhRVUZoTzI5Q1FVTTFReXhqUVVGakxFVkJRVVVzVlVGQlZTeERRVUZETEdOQlFXTTdiMEpCUTNwRExFMUJRVTBzUlVGQlJTeFJRVUZSTEVOQlFVTXNUVUZCVFR0cFFrRkRka0lzUTBGQlF6dG5Ra0ZGUml4SlFVRkpMRU5CUVVNc2JVSkJRVzFDTEVOQlFVVXNSMEZCUnl4RlFVRkZMRWxCUVVrc1EwRkJSU3hEUVVGRE8yRkJRM1JETzJsQ1FVVkVPMmRDUVVWRExFbEJRVWtzUjBGQlJ5eEhRVU5RTzI5Q1FVTkRMRWxCUVVrc1JVRkJSU3d3UlVGQmQwSXNRMEZCUXl4WFFVRlhPMjlDUVVNeFF5eGpRVUZqTEVWQlFVVXNWVUZCVlN4RFFVRkRMR05CUVdNN2IwSkJRM3BETEUxQlFVMHNSVUZCUlN4UlFVRlJMRU5CUVVNc1RVRkJUVHRwUWtGRGRrSXNRMEZCUXp0blFrRkZSaXhKUVVGSkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVVc1IwRkJSeXhGUVVGRkxFbEJRVWtzUTBGQlJTeERRVUZETzJGQlEzUkRPMWxCUlVRc1VVRkJVU3hEUVVGRExGRkJRVkVzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJRenRUUVVOeVF6dEpRVU5HTEVOQlFVTTdTVUZGVHl4eFFrRkJjVUlzUTBGQlJTeE5RVUUwUWl4RlFVRkZMR2RDUVVGcFF6czdVVUZGTjBZc1NVRkJTU3hWUVVGVkxFZEJRVWNzU1VGQlNTeERRVUZETEdGQlFXRXNRMEZCUXl4SFFVRkhMRU5CUVVVc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlJTeERRVUZETzFGQlEycEZMRWxCUVVrc1EwRkJReXhWUVVGVk8xbEJRMlFzVDBGQlR6dFJRVVZTTEVsQlFVa3NVVUZCVVN4SFFVRkhMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVVc1EwRkJRenRSUVVOeVJDeEpRVUZKTEVOQlFVTXNVVUZCVVR0WlFVTmFMRTlCUVU4N1VVRkZVaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEU5QlFVODdXVUZEY0VJc1QwRkJUenRSUVVWU0xFbEJRVWtzUTBGQlF5eEhRVU5NTzFsQlEwTXNTVUZCU1N4RlFVRkZMREJGUVVGM1FpeERRVUZETERCQ1FVRXdRanRaUVVONlJDeGpRVUZqTEVWQlFVVXNUVUZCVFN4RFFVRkRMR05CUVdNN1dVRkRja01zVFVGQlRTeEZRVUZGTEUxQlFVMHNRMEZCUXl4TlFVRk5PMWxCUTNKQ0xHdENRVUZyUWl4RlFVRkZMRFJHUVVGM1FpeERRVUZGTEdkQ1FVRm5RaXhEUVVGRk8xTkJRMmhGTzFGQlEwUXNWVUZCU1N4RFFVRkRMRzFDUVVGdFFpd3JRMEZCZUVJc1NVRkJTU3hGUVVGM1FpeERRVUZETEVWQlFVVXNTMEZCU3l4RlFVRkhPMGxCUTNoRExFTkJRVU03U1VGSFR5eHBRa0ZCYVVJc1EwRkJSU3h4UWtGQmMwTTdVVUZGYUVVc1NVRkJTU3haUVVGWkxFZEJRVWNzY1VKQlFYRkNMRU5CUVVNc1RVRkJPRUlzUTBGQlF6dFJRVVY0UlN4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVkQlFVY3NRMEZCUlN4WlFVRlpMRU5CUVVNc1kwRkJZeXhEUVVGRkxFTkJRVU03VVVGRGRrVXNTVUZCU1N4RFFVRkRMRlZCUVZVN1dVRkRaQ3hQUVVGUE8xRkJSVklzU1VGQlNTeFJRVUZSTEVkQlFVY3NWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVVVzV1VGQldTeERRVUZETEUxQlFVMHNRMEZCUlN4RFFVRkRPMUZCUXpORUxFbEJRVWtzUTBGQlF5eFJRVUZSTzFsQlExb3NUMEZCVHp0UlFVVlNMRWxCUVVrc1EwRkJReXh4UWtGQmNVSXNRMEZCUlN4WlFVRlpMRVZCUVVVc2NVSkJRWEZDTEVOQlFVTXNXVUZCV1N4RFFVRkZMRU5CUVVNN1VVRkRMMFVzVVVGQlVTeERRVUZETEc5Q1FVRnZRaXhIUVVGSExIRkNRVUZ4UWl4RFFVRkRPMUZCUTNSRUxFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVVXNWVUZCVlN4RlFVRkZMRkZCUVZFc1EwRkJSU3hEUVVGRE8xRkJTVGRETEhGQ1FVRnhRaXhEUVVGRExHdENRVUZyUWl4RFFVRkZMRU5CUVVVc1owSkJRV2xETEVWQlFVY3NSVUZCUlR0WlFVVnFSaXhKUVVGSkxFTkJRVU1zY1VKQlFYRkNMRU5CUVVVc1dVRkJXU3hGUVVGRkxHZENRVUZuUWl4RFFVRkRPMUZCUXpWRUxFTkJRVU1zUTBGQlJTeERRVUZETzFGQlJVb3NjVUpCUVhGQ0xFTkJRVU1zVDBGQlR5eERRVUZGTEVkQlFVY3NSVUZCUlR0WlFVVnVReXhSUVVGUkxFTkJRVU1zYjBKQlFXOUNMRWRCUVVjc1NVRkJTU3hEUVVGRE8xbEJRM0pETEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVVc1ZVRkJWU3hGUVVGRkxGRkJRVkVzUTBGQlJTeERRVUZETzFGQlF6bERMRU5CUVVNc1EwRkJSVHRKUVVOS0xFTkJRVU03U1VGRlJDeEpRVUZYTEZGQlFWRTdVVUZGYkVJc1QwRkJUenRaUVVOT0xFVkJRVVVzUzBGQlN5eEZRVUZGTERoRlFVRnhRaXhEUVVGRExHRkJRV0VzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTzFsQlEycEdMRVZCUVVVc1MwRkJTeXhGUVVGRkxHMUdRVUV3UWl4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFTkJRVU1zYVVKQlFXbENMRVZCUVVVN1UwRkRlRVVzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkN4SlFVRlhMR1ZCUVdVN1VVRkZla0lzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWWl4RFFVRkRPMGxCUlUwc1dVRkJXU3hEUVVGRkxFdEJRV0U3VVVGRmFrTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1MwRkJOa0lzUTBGQlF6dFJRVU4wUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRMlE3V1VGRFF5eExRVUZMTERCRlFVRjNRaXhEUVVGRExHdENRVUZyUWp0blFrRkRMME1zU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUlN4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRkxFTkJRVU03WjBKQlEyeERMRTFCUVUwN1dVRkZVQ3hMUVVGTExEQkZRVUYzUWl4RFFVRkRMRzFDUVVGdFFqdG5Ra0ZEYUVRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlJTeERRVUZETEVOQlFVTXNZMEZCWXl4RFFVRkZMRU5CUVVNN1owSkJRM1pETEUxQlFVMDdXVUZGVUN4TFFVRkxMREJGUVVGM1FpeERRVUZETERKQ1FVRXlRanRuUWtGRGVFUXNTVUZCU1N4RFFVRkRMSEZDUVVGeFFpeERRVUZGTEVOQlFVTXNRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVVVzUTBGQlF6dG5Ra0ZETDBVc1RVRkJUVHRaUVVWUUxFdEJRVXNzTUVWQlFYZENMRU5CUVVNc01FSkJRVEJDTzJkQ1FVTjJSQ3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZGTEVOQlFVTXNRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlJTeERRVUZETzJkQ1FVTTVReXhOUVVGTk8xTkJRMUE3U1VGRFJpeERRVUZETzBsQlJVOHNXVUZCV1N4RFFVRkZMRlZCUVN0Q096dFJRVVZ3UkN4SlFVRkpMRWxCUVVrc1EwRkJReXhoUVVGaExFTkJRVU1zUjBGQlJ5eERRVUZGTEZWQlFWVXNRMEZCUXl4alFVRmpMRU5CUVVVc1JVRkRka1E3V1VGRFF5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVTmtMQ3REUVVGblJDeFZRVUZWTEVOQlFVTXNZMEZCWlN4VFFVRlZMRlZCUVZVc1EwRkJReXhIUVVGSkxFVkJRVVVzUTBGQlJTeERRVUZETzFOQlEzcEhPMUZCUTBRc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVWQlEyNUNPMWxCUTBNc1RVRkJUU3hKUVVGSkxFdEJRVXNzUTBGQlJTd3JSRUZCSzBRc1EwRkJSU3hEUVVGRE8xTkJRMjVHTzFGQlJVUXNTVUZCU1N4VFFVRlRMRWRCUTJJN1dVRkRReXhqUVVGakxFVkJRVVVzVlVGQlZTeERRVUZETEdOQlFXTTdXVUZEZWtNc1IwRkJSeXhGUVVGRkxGVkJRVlVzUTBGQlF5eEhRVUZITzFsQlEyNUNMRmRCUVZjc1JVRkJSU3hWUVVGVkxFTkJRVU1zVjBGQlZ6dFpRVU51UXl4TFFVRkxMRVZCUVVVc1NVRkJTVHRaUVVOWUxHdENRVUZyUWl4RlFVRkZMRlZCUVZVc1EwRkJReXhyUWtGQmEwSTdXVUZEYWtRc1MwRkJTeXhGUVVGRkxFbEJRVWtzUjBGQlJ5eEZRVUV3UWp0VFFVTjRReXhEUVVGRE8xRkJSVVlzUzBGQlN5eEpRVUZKTEVsQlFVa3NTVUZCU1N4UFFVRkZMRlZCUVZVc1EwRkJReXhMUVVGTExHMURRVUZKTEVWQlFVVXNRMEZCUlN4RlFVTXpRenRaUVVORExGTkJRVk1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFVkJReTlDTzJkQ1FVTkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU1zVFVGQlRUdG5Ra0ZEYmtJc1MwRkJTeXhGUVVGRkxFbEJRVWs3WjBKQlExZ3NiMEpCUVc5Q0xFVkJRVVVzU1VGQlNUdG5Ra0ZETVVJc1owSkJRV2RDTEVWQlFVVXNTVUZCU1N4RFFVRkRMSE5DUVVGelFqdG5Ra0ZETjBNc1QwRkJUeXhGUVVGRkxFdEJRVXM3WjBKQlEyUXNVVUZCVVN4RlFVRkZMRXRCUVVzN1lVRkRaaXhEUVVGRkxFTkJRVU03VTBGRFREdFJRVVZFTEVsQlFVa3NRMEZCUXl4aFFVRmhMRU5CUVVNc1IwRkJSeXhEUVVGRkxGVkJRVlVzUTBGQlF5eGpRVUZqTEVWQlFVVXNVMEZCVXl4RFFVRkZMRU5CUVVNN1VVRkZMMFFzU1VGQlNTeFpRVUZaTEVkQlFVY3NRMEZCUlN4SFFVRkhMRlZCUVZVc1EwRkJReXhYUVVGWE8xbEJRemxETzJkQ1FVTkRMRXRCUVVzc1JVRkJSU3c0UlVGQmNVSXNRMEZCUXl4aFFVRmhPMmRDUVVNeFF5eFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNN1owSkJRM2hDTEUxQlFVMHNSVUZCUlN4RlFVRkZMR05CUVdNc1JVRkJSU3hWUVVGVkxFTkJRVU1zWTBGQll5eEZRVUZGTzJGQlEzSkVMRU5CUVVVc1EwRkJRenRSUVVWS0xIbEVRVUZSTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1YwRkJWeXhEUVVGRkxGVkJRVlVzUTBGQlF5eEhRVUZITEVWQlFVVXNXVUZCV1N4RFFVRkZMRU5CUVVNN1NVRkRha1VzUTBGQlF6dEpRVVZQTEdGQlFXRXNRMEZCUlN4alFVRnpRanM3VVVGRk5VTXNTVUZCU1N4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eEhRVUZITEVOQlFVVXNZMEZCWXl4RFFVRkZMRU5CUVVNN1VVRkZNVVFzU1VGQlNTeExRVUZMTEVkQlExUTdXVUZEUXl4SlFVRkpMRVZCUVVVc09FVkJRWEZDTEVOQlFVTXNZVUZCWVR0VFFVTjZReXhEUVVGRE8xRkJSVVlzWjBKQlFWVXNZVUZCVml4VlFVRlZMSFZDUVVGV0xGVkJRVlVzUTBGQlJTeExRVUZMTERCRFFVRkZMRk5CUVZNc1EwRkJSU3hMUVVGTExFVkJRVWM3U1VGRGRrTXNRMEZCUXp0SlFVVlBMSEZDUVVGeFFpeERRVUZGTEdOQlFYTkNMRVZCUVVVc1RVRkJZeXhGUVVGRkxHdENRVUVyUWpzN1VVRkZja2NzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVVVzWTBGQll5eERRVUZGTEVOQlFVTTdVVUZETVVRc1NVRkJTU3hWUVVGVkxFVkJRMlE3V1VGRFF5eEpRVUZKTEUxQlFVMHNSVUZEVmp0blFrRkRReXhKUVVGSkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVVVzVlVGQlZTeEZRVUZGTEUxQlFVMHNRMEZCUlN4RFFVRkRPMmRDUVVNMVJDeFJRVUZSTEVOQlFVTXNaMEpCUVdkQ0xFZEJRVWNzYTBKQlFXdENMRU5CUVVNN1lVRkRMME03YVVKQlJVUTdaMEpCUTBNc1ZVRkJWU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMR3RDUVVGclFpeERRVUZETzJGQlEyNUVPMWxCUTBRc1ZVRkJTU3hEUVVGRExHTkJRV01zSzBOQlFXNUNMRWxCUVVrc1JVRkJiMEk3VTBGRGVFSTdTVUZEUml4RFFVRkRPMGxCUlU4c1YwRkJWeXhEUVVGRkxHTkJRWE5DTEVWQlFVVXNTMEZCWVRzN1VVRkZla1FzU1VGQlNTeFZRVUZWTEVkQlFVY3NTVUZCU1N4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFTkJRVVVzWTBGQll5eERRVUZGTEVOQlFVTTdVVUZGTVVRc1NVRkJTU3hUUVVGVExFZEJRMkk3V1VGRFF5eEpRVUZKTEVWQlFVVXNPRVZCUVhGQ0xFTkJRVU1zYzBKQlFYTkNPMWxCUTJ4RUxFdEJRVXM3VTBGRFRDeERRVUZETzFGQlJVWXNaMEpCUVZVc1lVRkJWaXhWUVVGVkxIVkNRVUZXTEZWQlFWVXNRMEZCUlN4TFFVRkxMREJEUVVGRkxGTkJRVk1zUTBGQlJTeFRRVUZUTEVWQlFVYzdTVUZETTBNc1EwRkJRenRKUVVWRUxFMUJRVTA3VVVGRlRDeEpRVUZKTEZGQlFWRXNSMEZCYTBJc1JVRkJSU3hEUVVGRE8xRkJRMnBETEV0QlFVc3NTVUZCU1N4TlFVRk5MRWxCUVVrc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eE5RVUZOTEVWQlFVVXNSVUZET1VNN1dVRkRReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhyUWtGQmEwSTdaMEpCUXpsRExGTkJRVk03V1VGRlZpeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkZMRzlFUVVGRExDdEVRVUZYTEVsQlFVTXNVMEZCVXl4RlFVRkhMRTFCUVUwc1EwRkJReXhyUWtGQmEwSXNSVUZCUnl4SFFVRkhMRVZCUVVjc1RVRkJUU3hEUVVGRExHTkJRV003WjBKQlF6ZEdMRzlFUVVGRExHOUZRVUZoTEVsQlFVTXNTMEZCU3l4RlFVRkhMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeEZRVUZITEVkQlFVY3NSVUZCUnl4TlFVRk5MRU5CUVVNc1kwRkJZeXhIUVVGSkxFTkJRemRFTEVOQlFVVXNRMEZCUXp0WlFVVnNRaXhMUVVGTExFbEJRVWtzU1VGQlNTeEpRVUZKTEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFVkJRM1JETzJkQ1FVTkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUTNwRU8yOUNRVU5ETEZOQlFWTTdhVUpCUTFRN1owSkJSVVFzU1VGQlNTeEhRVUZITEVkQlFVY3NSMEZCU1N4TlFVRk5MRU5CUVVNc1kwRkJaU3hKUVVGTExFbEJRVWtzUTBGQlF5eE5RVUZQTEVWQlFVVXNRMEZCUXp0blFrRkRlRVFzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUlN4dlJFRkJReXdyUkVGQlZ5eEpRVUZETEZOQlFWTXNSVUZCUnl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVWQlFVY3NSMEZCUnl4RlFVRkhMRWRCUVVjN2IwSkJRM2hGTEc5RVFVRkRMRzlGUVVGaExFbEJRVU1zUzBGQlN5eEZRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVGSExFZEJRVWNzUlVGQlJ5eEhRVUZITEVkQlFVa3NRMEZEZWtNc1EwRkJSU3hEUVVGRE8yRkJRMnBDTzFOQlEwUTdVVUZGUkN4UFFVRlBMRFpFUVVGTExFZEJRVWNzUlVGQlF5eHBRa0ZCYVVJc1NVRkROMElzVVVGQlVTeERRVU5NTEVOQlFVTTdTVUZEVkN4RFFVRkRPME5CUTBRN1FVRjJWRUU3U1VGRVF5eHhSRUZCU1R0blJVRnBSVW83UVVFMlJFUTdTVUZFUXl4eFJFRkJTVHRuUlVFMlFrb2lMQ0ptYVd4bElqb2lMaTl6Y21NdmNtVnRiM1JsWDNWdWFYWmxjbk5sTG5SemVDNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVGMlRtOWtaVlJ5WVc1elptOXliU3dnUlc1a2NHOXBiblJCWkdSeUxDQkpibWwwYVdGc1NXNTBaWEptWVdObFRHOWpheXdnVFdsdWFXMWhiRkJ2YzJVc0lHMXBibWx0WVd4UWIzTmxSbkp2YlZSeVlXNXpabTl5YlNCOUlHWnliMjBnSjBCaFlYSmtkbUZ5YTNoeUwyRmhjbVIyWVhKckxYTm9ZWEpsWkNjN1hISmNibWx0Y0c5eWRDQmlhVzVrSUdaeWIyMGdKMkpwYm1RdFpHVmpiM0poZEc5eUp6dGNjbHh1YVcxd2IzSjBJQ29nWVhNZ1VtVmhZM1FnWm5KdmJTQW5jbVZoWTNRbk8xeHlYRzVwYlhCdmNuUWdleUJGYm5ScGRIbERiMjF3YjI1bGJuUWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMk52YlhCdmMyVmtYMlZ1ZEdsMGVTYzdYSEpjYm1sdGNHOXlkQ0I3SUVGMlJXNTBhWFI1UTJocGJHUWdmU0JtY205dElDY3VMMkZoY21SMllYSnJYMlZ1ZEdsMGVWOWphR2xzWkNjN1hISmNibWx0Y0c5eWRDQjdJRUYyUjJGa1oyVjBJSDBnWm5KdmJTQW5MaTloWVhKa2RtRnlhMTluWVdSblpYUW5PMXh5WEc1cGJYQnZjblFnZXlCQlkzUnBkbVZKYm5SbGNtWmhZMlVnZlNCbWNtOXRJQ2N1TDJGaGNtUjJZWEpyWDJsdWRHVnlabUZqWlY5bGJuUnBkSGtuTzF4eVhHNXBiWEJ2Y25RZ2V5QkJkbFJ5WVc1elptOXliU0I5SUdaeWIyMGdKeTR2WVdGeVpIWmhjbXRmZEhKaGJuTm1iM0p0Snp0Y2NseHVhVzF3YjNKMElIc2dhMTl5WlcxdmRHVkhjbUZpWW1GaWJHVkpiblJsY21aaFkyVXNJRkpsYlc5MFpVZGhaR2RsZEVOdmJYQnZibVZ1ZEN3Z1VtVnRiM1JsUjJGa1oyVjBSWFpsYm5Rc0lGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaU3dnVWtkRlUyVnVaRVYyWlc1MElIMGdabkp2YlNBbkxpOWpiMjF3YjI1bGJuUmZjbVZ0YjNSbFgyZGhaR2RsZENjN1hISmNibWx0Y0c5eWRDQjdJRTVsZEhkdmNtdGxaRWRoWkdkbGRFbHVabThzSUU1bGRIZHZjbXRsWkVsMFpXMUpibVp2TENCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRDd2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExDQlZibWwyWlhKelpVbHVhWFJKYm1adklIMGdabkp2YlNBbkxpOXVaWFIzYjNKclgzVnVhWFpsY25ObEp6dGNjbHh1WEhKY2JtbHVkR1Z5Wm1GalpTQlNaVzF2ZEdWVmJtbDJaWEp6WlZCeWIzQnpYSEpjYm50Y2NseHVYSFF2S2lvZ1ZHaHBjeUJqWVd4c1ltRmpheUJwY3lCallXeHNaV1FnZDJobGJpQjBhR1VnY205dmJTQnphRzkxYkdRZ1kyOXVkbVY1SUhSb1pTQnpkWEJ3YkdsbFpDQmxkbVZ1ZENCMGJ5QjBhR1VnYm1WMGQyOXlhMXh5WEc1Y2RDQXFJSFZ1YVhabGNuTmxJR0Z1WkNCallXeHNJSEpsYlc5MFpVVjJaVzUwS0NrZ2IyNGdkR2hoZENCdlltcGxZM1F1SUZ4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCd1lYSmhiU0JsZG1WdWRGeDBYSFJVYUdVZ2IzQmhjWFZsSUdWMlpXNTBJRzlpYW1WamRDQjBieUJ6Wlc1a1hISmNibHgwSUNvZ1FIQmhjbUZ0SUhKbGJHbGhZbXhsWEhSSlppQjBhR2x6SUdseklIUnlkV1VzSUhSb1pTQmxkbVZ1ZENCdGRYTjBJR0psSUdSbGJHbDJaWEpsWkNCdmNpQjBhR1VnWjJGa1oyVjBjeUJ0WVhrZ1hISmNibHgwSUNvZ1hIUmNkRngwWEhSY2RHZGxkQ0J2ZFhRZ2IyWWdjM2x1WTJnZ2QybDBhQ0JsWVdOb0lHOTBhR1Z5TGlCSlppQjBhR2x6SUdseklHWmhiSE5sTENCMGFHVWdjbTl2YlNCemFHOTFiR1JjY2x4dVhIUWdLaUJjZEZ4MFhIUmNkRngwYldGclpTQnBkSE1nWW1WemRDQmxabVp2Y25RZ2RHOGdaR1ZzYVhabGNpQjBhR1VnWlhabGJuUXNJR0oxZENCMGFHVWdjM2x6ZEdWdElIZHBiR3dnY21WamIzWmxjbHh5WEc1Y2RDQXFJRngwWEhSY2RGeDBYSFJwWmlCMGFHVWdaWFpsYm5RZ2FYTWdaR2x6WTJGeVpHVmtMbHh5WEc1Y2RDQXFMMXh5WEc1Y2RHOXVVbVZ0YjNSbFJYWmxiblE2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1NBOVBpQjJiMmxrTzF4eVhHNWNjbHh1WEhRdktpb2dWR2hsSUdsdWFYUnBZV3hwZW1GMGFXOXVJR2x1Wm04Z2NHRmphMlYwSUhCeWIzWnBaR1ZrSUdKNUlIUm9aU0JPWlhSM2IzSnJWVzVwZG1WeWMyVWdkR2hoZENCMGFHbHpJSEpsYlc5MFpWeHlYRzVjZENBcUlIVnVhWFpsY25ObElHbHpJR052Ym01bFkzUmxaQ0IwYnk1Y2NseHVYSFFnS2k5Y2NseHVYSFJwYm1sMFNXNW1iem9nYjJKcVpXTjBPMXh5WEc1OVhISmNibHh5WEc1cGJuUmxjbVpoWTJVZ1VtVnRiM1JsU1hSbGJVbHVabTljY2x4dWUxeHlYRzVjZEdsMFpXMUpaRG9nYzNSeWFXNW5PMXh5WEc1Y2RHbG1ZV05sT2lCQlkzUnBkbVZKYm5SbGNtWmhZMlU3WEhKY2JseDBjbVZ0YjNSbFIzSmhZbUpoWW14bFNXWmhZMlU2SUVGamRHbDJaVWx1ZEdWeVptRmpaVHRjY2x4dVhIUjFibWwyWlhKelpVWnliMjFKZEdWdE9pQk5hVzVwYldGc1VHOXpaVHRjY2x4dVhIUm5jbUZpWW1Wa09pQmliMjlzWldGdU8xeHlYRzVjZEdkeVlXSlRaVzUwT2lCaWIyOXNaV0Z1TzF4eVhHNTlYSEpjYmx4eVhHNXBiblJsY21aaFkyVWdVbVZ0YjNSbFIyRmtaMlYwU1c1bWIxeHlYRzU3WEhKY2JseDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHNTFiV0psY2p0Y2NseHVYSFIxY213NklITjBjbWx1Wnp0Y2NseHVYSFJ5WlcxdmRHVk1iMk5yY3pvZ1NXNXBkR2xoYkVsdWRHVnlabUZqWlV4dlkydGJYVHRjY2x4dVhIUnBabUZqWlRvZ1FXTjBhWFpsU1c1MFpYSm1ZV05sTzF4eVhHNWNkSFZ1YVhabGNuTmxSbkp2YlVkaFpHZGxkRG9nVFdsdWFXMWhiRkJ2YzJVN1hISmNibHgwYVhSbGJYTTZJRTFoY0R4emRISnBibWNzSUZKbGJXOTBaVWwwWlcxSmJtWnZQanRjY2x4dWZWeHlYRzVjY2x4dWFXNTBaWEptWVdObElGSmxiVzkwWlZWdWFYWmxjbk5sVUdGeVlXMXpYSEpjYm50Y2NseHVYSFJ5WlcxdmRHVkhZV1JuWlhSSlpEb2diblZ0WW1WeU8xeHlYRzVjZEdsMFpXMUpaRDg2SUhOMGNtbHVaenRjY2x4dWZWeHlYRzVjY2x4dVpYaHdiM0owSUdOc1lYTnpJRkpsYlc5MFpWVnVhWFpsY25ObFEyOXRjRzl1Wlc1MElHbHRjR3hsYldWdWRITWdSVzUwYVhSNVEyOXRjRzl1Wlc1MFhISmNibnRjY2x4dVhIUndjbWwyWVhSbElISmxiVzkwWlVkaFpHZGxkSE1nUFNCdVpYY2dUV0Z3UENCdWRXMWlaWElzSUZKbGJXOTBaVWRoWkdkbGRFbHVabThnUGlncE8xeHlYRzVjZEhCeWFYWmhkR1VnY21WdGIzUmxSWFpsYm5SRFlXeHNZbUZqYXpvZ0tDQmxkbVZ1ZERvZ2IySnFaV04wTENCeVpXeHBZV0pzWlRvZ1ltOXZiR1ZoYmlBcElEMCtJSFp2YVdRN1hISmNibHgwY0hKcGRtRjBaU0JsYm5ScGRIbERZV3hzWW1GamF6b2dLQ2tnUFQ0Z2RtOXBaQ0E5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCbGJuUnBkSGxGY0dFNklFVnVaSEJ2YVc1MFFXUmtjaUE5SUc1MWJHdzdYSEpjYmx4MGNISnBkbUYwWlNCcGJtbDBTVzVtYnpvZ1ZXNXBkbVZ5YzJWSmJtbDBTVzVtYnp0Y2NseHVYSEpjYmx4MEx5b3FJRUJ3WVhKaGJTQnBibWwwU1c1bWJ5QlVhR1VnYVc1cGRHbGhiR2w2WVhScGIyNGdhVzVtYnlCd1lXTnJaWFFnY0hKdmRtbGtaV1FnWW5rZ2RHaGxJRTVsZEhkdmNtdFZibWwyWlhKelpTQjBhR0YwSUhSb2FYTWdjbVZ0YjNSbFhISmNibHgwSUNvZ2RXNXBkbVZ5YzJVZ2FYTWdZMjl1Ym1WamRHVmtJSFJ2TGx4eVhHNWNkQ0FxSUZ4eVhHNWNkQ0FxSUVCd1lYSmhiU0J2YmxKbGJXOTBaVVYyWlc1MElGUm9hWE1nWTJGc2JHSmhZMnNnYVhNZ1kyRnNiR1ZrSUhkb1pXNGdkR2hsSUhKdmIyMGdjMmh2ZFd4a0lHTnZiblpsZVNCMGFHVWdjM1Z3Y0d4cFpXUWdaWFpsYm5RZ2RHOGdkR2hsSUc1bGRIZHZjbXRjY2x4dVhIUWdLaUIxYm1sMlpYSnpaU0JoYm1RZ1kyRnNiQ0J5WlcxdmRHVkZkbVZ1ZENncElHOXVJSFJvWVhRZ2IySnFaV04wTGlCY2NseHVYSFFnS2lCY2NseHVYSFFnS2lCbGRtVnVkRngwWEhSVWFHVWdiM0JoY1hWbElHVjJaVzUwSUc5aWFtVmpkQ0IwYnlCelpXNWtYSEpjYmx4MElDb2djbVZzYVdGaWJHVmNkRWxtSUhSb2FYTWdhWE1nZEhKMVpTd2dkR2hsSUdWMlpXNTBJRzExYzNRZ1ltVWdaR1ZzYVhabGNtVmtJRzl5SUhSb1pTQm5ZV1JuWlhSeklHMWhlU0JjY2x4dVhIUWdLaUJjZEZ4MFhIUmNkRngwWjJWMElHOTFkQ0J2WmlCemVXNWphQ0IzYVhSb0lHVmhZMmdnYjNSb1pYSXVJRWxtSUhSb2FYTWdhWE1nWm1Gc2MyVXNJSFJvWlNCeWIyOXRJSE5vYjNWc1pGeHlYRzVjZENBcUlGeDBYSFJjZEZ4MFhIUnRZV3RsSUdsMGN5QmlaWE4wSUdWbVptOXlkQ0IwYnlCa1pXeHBkbVZ5SUhSb1pTQmxkbVZ1ZEN3Z1luVjBJSFJvWlNCemVYTjBaVzBnZDJsc2JDQnlaV052ZG1WeVhISmNibHgwSUNvZ1hIUmNkRngwWEhSY2RHbG1JSFJvWlNCbGRtVnVkQ0JwY3lCa2FYTmpZWEprWldRdVhISmNibHgwSUNvdlhISmNibHgwWTI5dWMzUnlkV04wYjNJb0lHbHVhWFJKYm1adk9pQnZZbXBsWTNRc0lHOXVVbVZ0YjNSbFJYWmxiblE2SUNnZ1pYWmxiblE2SUc5aWFtVmpkQ3dnY21Wc2FXRmliR1U2SUdKdmIyeGxZVzRnS1NBOVBpQjJiMmxrSUNsY2NseHVYSFI3WEhKY2JseDBYSFIwYUdsekxtbHVhWFJKYm1adklEMGdhVzVwZEVsdVptOGdZWE1nVlc1cGRtVnljMlZKYm1sMFNXNW1ienRjY2x4dVhIUmNkSFJvYVhNdWNtVnRiM1JsUlhabGJuUkRZV3hzWW1GamF5QTlJRzl1VW1WdGIzUmxSWFpsYm5RN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2RXSnNhV01nYjI1VmNHUmhkR1VvSUdOaGJHeGlZV05yT2lBb0tTQTlQaUIyYjJsa0lDbGNjbHh1WEhSN1hISmNibHgwWEhSMGFHbHpMbVZ1ZEdsMGVVTmhiR3hpWVdOcklEMGdZMkZzYkdKaFkyczdYSEpjYmx4MGZWeHlYRzVjY2x4dVhIUndkV0pzYVdNZ2MyVjBSVzUwYVhSNVJYQmhLQ0JsY0dFNklFVnVaSEJ2YVc1MFFXUmtjaUFwWEhKY2JseDBlMXh5WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGxGY0dFZ1BTQmxjR0U3WEhKY2JseHlYRzVjZEZ4MGFXWW9JR1Z3WVNBcFhISmNibHgwWEhSN1hISmNibHgwWEhSY2RHWnZjaWdnYkdWMElHZGhaR2RsZEVsdVptOGdiMllnZEdocGN5NXBibWwwU1c1bWJ5NW5ZV1JuWlhSeklDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVZM0psWVhSbFIyRmtaMlYwS0NCbllXUm5aWFJKYm1adklDazdYSEpjYmx4MFhIUmNkSDFjZEZ4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUmpiMjV6YjJ4bExteHZaeWdnWENKRWFYTmpZWEprYVc1bklHVnVkR2wwZVNCbWIzSWdjbVZ0YjNSbElIVnVhWFpsY25ObExpQlNaVzF2ZEdVZ1oyRmtaMlYwY3lCM2FXeHNJR0psSUdSbGMzUnliM2xsWkM1Y0lpbGNjbHh1WEhSY2RIMWNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCbWFXNWtUM0pCWkdSSmRHVnRTVzVtYnlnZ1oyRmtaMlYwU1c1bWJ6b2dVbVZ0YjNSbFIyRmtaMlYwU1c1bWJ5d2dhWFJsYlVsa09pQnpkSEpwYm1jZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQnBkR1Z0U1c1bWJ5QTlJR2RoWkdkbGRFbHVabTh1YVhSbGJYTXVaMlYwS0NCcGRHVnRTV1FnS1R0Y2NseHVYSFJjZEdsbUtDQWhhWFJsYlVsdVptOGdLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJwZEdWdFNXNW1ieUE5SUZ4eVhHNWNkRngwWEhSN1hISmNibHgwWEhSY2RGeDBhWFJsYlVsa0xGeHlYRzVjZEZ4MFhIUmNkR2xtWVdObE9pQnVkV3hzTEZ4eVhHNWNkRngwWEhSY2RISmxiVzkwWlVkeVlXSmlZV0pzWlVsbVlXTmxPaUJ1ZFd4c0xGeHlYRzVjZEZ4MFhIUmNkSFZ1YVhabGNuTmxSbkp2YlVsMFpXMDZJRzUxYkd3c1hISmNibHgwWEhSY2RGeDBaM0poWW1KbFpEb2dabUZzYzJVc1hISmNibHgwWEhSY2RGeDBaM0poWWxObGJuUTZJR1poYkhObExGeHlYRzVjZEZ4MFhIUjlPMXh5WEc1Y2RGeDBYSFJuWVdSblpYUkpibVp2TG1sMFpXMXpMbk5sZENnZ2FYUmxiVWxrTENCcGRHVnRTVzVtYnlBcE8xeHlYRzVjZEZ4MGZWeHlYRzVjZEZ4MGNtVjBkWEp1SUdsMFpXMUpibVp2TzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUmNjbHh1WEhSd2NtbDJZWFJsSUc5dVVtVnRiM1JsU1c1MFpYSm1ZV05sS0NCaFkzUnBkbVZTWlcxdmRHVkhZV1JuWlhRNklFRmpkR2wyWlVsdWRHVnlabUZqWlNBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElISmxiVzkwWlZCaGNtRnRjeUE5SUdGamRHbDJaVkpsYlc5MFpVZGhaR2RsZEM1d1lYSmhiWE1nWVhNZ1VtVnRiM1JsVlc1cGRtVnljMlZRWVhKaGJYTTdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Y21WdGIzUmxSMkZrWjJWMGN5NW5aWFFvSUhKbGJXOTBaVkJoY21GdGN5NXlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGJHVjBJR2wwWlcxSmJtWnZPaUJTWlcxdmRHVkpkR1Z0U1c1bWJ6dGNjbHh1WEhSY2RHbG1LQ0J5WlcxdmRHVlFZWEpoYlhNdWFYUmxiVWxrSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFYUmxiVWx1Wm04Z1BTQjBhR2x6TG1acGJtUlBja0ZrWkVsMFpXMUpibVp2S0NCbllXUm5aWFJKYm1adkxDQnlaVzF2ZEdWUVlYSmhiWE11YVhSbGJVbGtJQ2s3WEhKY2JseDBYSFJjZEdsMFpXMUpibVp2TG1sbVlXTmxJRDBnWVdOMGFYWmxVbVZ0YjNSbFIyRmtaMlYwTzF4eVhHNWNkRngwZlZ4eVhHNWNkRngwWld4elpWeHlYRzVjZEZ4MGUxeHlYRzVjZEZ4MFhIUm5ZV1JuWlhSSmJtWnZMbWxtWVdObElEMGdZV04wYVhabFVtVnRiM1JsUjJGa1oyVjBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBkR2hwY3k1bGJuUnBkSGxEWVd4c1ltRmphejh1S0NrN1hISmNibHgwWEhSamIyNXpiMnhsTG14dlp5Z2dZRU52Ym01bFkzUnBiMjRnWm5KdmJTQnlaVzF2ZEdVZ1oyRmtaMlYwSUdsa0lDUjdJR2RoWkdkbGRFbHVabTh1Y21WdGIzUmxSMkZrWjJWMFNXUWdmV0FnS1R0Y2NseHVYSEpjYmx4MFhIUmhZM1JwZG1WU1pXMXZkR1ZIWVdSblpYUXViMjVGZG1WdWRDZ2dLQ0JsZG1WdWREb2dVbVZ0YjNSbFIyRmtaMlYwUlhabGJuUWdLU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSemQybDBZMmdvSUdWMlpXNTBMblI1Y0dVZ0tWeHlYRzVjZEZ4MFhIUjdYSEpjYmx4MFhIUmNkRngwWTJGelpTQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRGUjVjR1V1VTJWdVpFVjJaVzUwVkc5TllYTjBaWEk2WEhKY2JseDBYSFJjZEZ4MGUxeHlYRzVjZEZ4MFhIUmNkRngwYkdWMElITmxibVJGZG1WdWRDQTlJR1YyWlc1MElHRnpJRkpIUlZObGJtUkZkbVZ1ZER0Y2NseHVYSFJjZEZ4MFhIUmNkSFJvYVhNdWNtVnRiM1JsUlhabGJuUkRZV3hzWW1GamF5Z2dYSEpjYmx4MFhIUmNkRngwWEhSY2RIc2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUlVlWEJsTGxObGJtUk5ZWE4wWlhKSFlXUm5aWFJGZG1WdWRDd2dYSEpjYmx4MFhIUmNkRngwWEhSY2RGeDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHZGhaR2RsZEVsdVptOHVjbVZ0YjNSbFIyRmtaMlYwU1dRc1hISmNibHgwWEhSY2RGeDBYSFJjZEZ4MGFYUmxiVWxrT2lCeVpXMXZkR1ZRWVhKaGJYTXVhWFJsYlVsa0xGeHlYRzVjZEZ4MFhIUmNkRngwWEhSY2RHVjJaVzUwT2lCelpXNWtSWFpsYm5RdVpYWmxiblFnWEhKY2JseDBYSFJjZEZ4MFhIUmNkSDBnWVhNZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUXNJSE5sYm1SRmRtVnVkQzV5Wld4cFlXSnNaU0FwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEZ4MFkyRnpaU0JTWlcxdmRHVkhZV1JuWlhSRmRtVnVkRlI1Y0dVdVUzUmhjblJIY21GaU9seHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RHbDBaVzFKYm1adkxtZHlZV0ppWldRZ1BTQjBjblZsTzF4eVhHNWNkRngwWEhSY2RGeDBkR2hwY3k1MWNHUmhkR1ZIY21GaVUzUmhkR1VvSUdkaFpHZGxkRWx1Wm04c0lHbDBaVzFKYm1adklDazdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNkRngwWEhSY2RHSnlaV0ZyTzF4eVhHNWNjbHh1WEhSY2RGeDBYSFJqWVhObElGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaUzVGYm1SSGNtRmlPbHh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2wwWlcxSmJtWnZMbWR5WVdKaVpXUWdQU0JtWVd4elpUdGNjbHh1WEhSY2RGeDBYSFJjZEhSb2FYTXVkWEJrWVhSbFIzSmhZbE4wWVhSbEtDQm5ZV1JuWlhSSmJtWnZMQ0JwZEdWdFNXNW1ieUFwTzF4eVhHNWNkRngwWEhSY2RIMWNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhSY2RGeDBmVnh5WEc1Y2RGeDBmU0FwTzF4eVhHNWNjbHh1WEhSY2RHRmpkR2wyWlZKbGJXOTBaVWRoWkdkbGRDNXZia1Z1WkdWa0tDQW9LU0E5UGx4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFppZ2daMkZrWjJWMFNXNW1ieUFwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnBaaWdnSVhKbGJXOTBaVkJoY21GdGN5NXBkR1Z0U1dRZ0tWeHlYRzVjZEZ4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSY2RIUm9hWE11Y21WdGIzUmxSMkZrWjJWMGN5NWtaV3hsZEdVb0lHZGhaR2RsZEVsdVptOHVjbVZ0YjNSbFIyRmtaMlYwU1dRZ0tUdGNjbHh1WEhSY2RGeDBYSFI5WEhKY2JseDBYSFJjZEZ4MFpXeHpaVnh5WEc1Y2RGeDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUmNkR2RoWkdkbGRFbHVabTh1YVhSbGJYTXVaR1ZzWlhSbEtDQnlaVzF2ZEdWUVlYSmhiWE11YVhSbGJVbGtJQ2s3WEhKY2JseDBYSFJjZEZ4MGZWeHlYRzVjZEZ4MFhIUjlYSEpjYmx4MFhIUjlJQ2s3WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSFZ3WkdGMFpVZHlZV0pUZEdGMFpTZ2daMkZrWjJWMFNXNW1iem9nVW1WdGIzUmxSMkZrWjJWMFNXNW1ieXdnYVhSbGJVbHVabTg2SUZKbGJXOTBaVWwwWlcxSmJtWnZJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnYzJodmRXeGtRbVZIY21GaVltbHVaeUE5SUdsMFpXMUpibVp2TG1keVlXSmlaV1FnSmlZZ2FYUmxiVWx1Wm04dWNtVnRiM1JsUjNKaFltSmhZbXhsU1daaFkyVWdJVDBnYm5Wc2JEdGNjbHh1WEhKY2JseDBYSFJwWmlnZ2MyaHZkV3hrUW1WSGNtRmlZbWx1WnlBaFBTQnBkR1Z0U1c1bWJ5NW5jbUZpVTJWdWRDQXBYSEpjYmx4MFhIUjdYSEpjYmx4eVhHNWNkRngwWEhScFppZ2djMmh2ZFd4a1FtVkhjbUZpWW1sdVp5QXBYSEpjYmx4MFhIUmNkSHRjY2x4dVhIUmNkRngwWEhSc1pYUWdaWFowT2lCT1pYUjNiM0pyVlc1cGRtVnljMlZGZG1WdWRDQTlYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBkSGx3WlRvZ1RtVjBkMjl5YTFWdWFYWmxjbk5sUlhabGJuUlVlWEJsTGxOMFlYSjBTWFJsYlVkeVlXSXNYSEpjYmx4MFhIUmNkRngwWEhSeVpXMXZkR1ZIWVdSblpYUkpaRG9nWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZIWVdSblpYUkpaQ3hjY2x4dVhIUmNkRngwWEhSY2RHbDBaVzFKWkRvZ2FYUmxiVWx1Wm04dWFYUmxiVWxrTEZ4eVhHNWNkRngwWEhSY2RIMDdYSEpjYmx4MFhIUmNjbHh1WEhSY2RGeDBYSFIwYUdsekxuSmxiVzkwWlVWMlpXNTBRMkZzYkdKaFkyc29JR1YyZEN3Z2RISjFaU0FwTzF4eVhHNWNkRngwWEhSOVhISmNibHgwWEhSY2RHVnNjMlZjY2x4dVhIUmNkRngwZTF4eVhHNWNjbHh1WEhSY2RGeDBYSFJzWlhRZ1pYWjBPaUJPWlhSM2IzSnJWVzVwZG1WeWMyVkZkbVZ1ZENBOVhISmNibHgwWEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEZ4MGRIbHdaVG9nVG1WMGQyOXlhMVZ1YVhabGNuTmxSWFpsYm5SVWVYQmxMa1Z1WkVsMFpXMUhjbUZpTEZ4eVhHNWNkRngwWEhSY2RGeDBjbVZ0YjNSbFIyRmtaMlYwU1dRNklHZGhaR2RsZEVsdVptOHVjbVZ0YjNSbFIyRmtaMlYwU1dRc1hISmNibHgwWEhSY2RGeDBYSFJwZEdWdFNXUTZJR2wwWlcxSmJtWnZMbWwwWlcxSlpDeGNjbHh1WEhSY2RGeDBYSFI5TzF4eVhHNWNjbHh1WEhSY2RGeDBYSFIwYUdsekxuSmxiVzkwWlVWMlpXNTBRMkZzYkdKaFkyc29JR1YyZEN3Z2RISjFaU0FwTzF4eVhHNWNkRngwWEhSOVhISmNibHh5WEc1Y2RGeDBYSFJwZEdWdFNXNW1ieTVuY21GaVUyVnVkQ0E5SUhOb2IzVnNaRUpsUjNKaFltSnBibWM3WEhKY2JseDBYSFI5WEhKY2JseDBmVnh5WEc1Y2NseHVYSFJ3Y21sMllYUmxJSFZ3WkdGMFpWSmxiVzkwWlVkeVlXSmlZV0pzWlNnZ2NHRnlZVzF6T2lCU1pXMXZkR1ZWYm1sMlpYSnpaVkJoY21GdGN5d2dkVzVwZG1WeWMyVkdjbTl0U1hSbGJUb2dRWFpPYjJSbFZISmhibk5tYjNKdElDbGNjbHh1WEhSN1hISmNibHgwWEhSc1pYUWdaMkZrWjJWMFNXNW1ieUE5SUhSb2FYTXVjbVZ0YjNSbFIyRmtaMlYwY3k1blpYUW9JSEJoY21GdGN5NXlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MGFXWW9JQ0ZuWVdSblpYUkpibVp2SUNsY2NseHVYSFJjZEZ4MGNtVjBkWEp1TzF4eVhHNWNjbHh1WEhSY2RHeGxkQ0JwZEdWdFNXNW1ieUE5SUdkaFpHZGxkRWx1Wm04dWFYUmxiWE11WjJWMEtDQndZWEpoYlhNdWFYUmxiVWxrSUNrN1hISmNibHgwWEhScFppZ2dJV2wwWlcxSmJtWnZJQ2xjY2x4dVhIUmNkRngwY21WMGRYSnVPMXh5WEc1Y2NseHVYSFJjZEdsbUtDQWhhWFJsYlVsdVptOHVaM0poWW1KbFpDQXBYSEpjYmx4MFhIUmNkSEpsZEhWeWJqdGNjbHh1WEhKY2JseDBYSFJzWlhRZ2JUb2dUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblFnUFZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhSMGVYQmxPaUJPWlhSM2IzSnJWVzVwZG1WeWMyVkZkbVZ1ZEZSNWNHVXVWWEJrWVhSbFRtVjBkMjl5YTBsMFpXMVVjbUZ1YzJadmNtMHNYSEpjYmx4MFhIUmNkSEpsYlc5MFpVZGhaR2RsZEVsa09pQndZWEpoYlhNdWNtVnRiM1JsUjJGa1oyVjBTV1FzWEhKY2JseDBYSFJjZEdsMFpXMUpaRG9nY0dGeVlXMXpMbWwwWlcxSlpDeGNjbHh1WEhSY2RGeDBkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPaUJ0YVc1cGJXRnNVRzl6WlVaeWIyMVVjbUZ1YzJadmNtMG9JSFZ1YVhabGNuTmxSbkp2YlVsMFpXMGdLU3hjY2x4dVhIUmNkSDFjY2x4dVhIUmNkSFJvYVhNdWNtVnRiM1JsUlhabGJuUkRZV3hzWW1GamF6OHVLQ0J0TENCbVlXeHpaU0FwTzF4eVhHNWNkSDFjY2x4dVhISmNibHgwUUdKcGJtUmNjbHh1WEhSd2NtbDJZWFJsSUc5dVVtVnRiM1JsUjNKaFltSmhZbXhsS0NCaFkzUnBkbVZTWlcxdmRHVkhjbUZpWW1GaWJHVTZJRUZqZEdsMlpVbHVkR1Z5Wm1GalpTQXBYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJSEpsYlc5MFpWQmhjbUZ0Y3lBOUlHRmpkR2wyWlZKbGJXOTBaVWR5WVdKaVlXSnNaUzV3WVhKaGJYTWdZWE1nVW1WdGIzUmxWVzVwZG1WeWMyVlFZWEpoYlhNN1hISmNibHh5WEc1Y2RGeDBiR1YwSUdkaFpHZGxkRWx1Wm04Z1BTQjBhR2x6TG5KbGJXOTBaVWRoWkdkbGRITXVaMlYwS0NCeVpXMXZkR1ZRWVhKaGJYTXVjbVZ0YjNSbFIyRmtaMlYwU1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoWjJGa1oyVjBTVzVtYnlBcFhISmNibHgwWEhSY2RISmxkSFZ5Ymp0Y2NseHVYSFJjZEZ4eVhHNWNkRngwYkdWMElHbDBaVzFKYm1adklEMGdaMkZrWjJWMFNXNW1ieTVwZEdWdGN5NW5aWFFvSUhKbGJXOTBaVkJoY21GdGN5NXBkR1Z0U1dRZ0tUdGNjbHh1WEhSY2RHbG1LQ0FoYVhSbGJVbHVabThnS1Z4eVhHNWNkRngwWEhSeVpYUjFjbTQ3WEhKY2JseHlYRzVjZEZ4MGRHaHBjeTUxY0dSaGRHVlNaVzF2ZEdWSGNtRmlZbUZpYkdVb0lISmxiVzkwWlZCaGNtRnRjeXdnWVdOMGFYWmxVbVZ0YjNSbFIzSmhZbUpoWW14bExuTmxiR1pHY205dFVHVmxjaUFwTzF4eVhHNWNkRngwYVhSbGJVbHVabTh1Y21WdGIzUmxSM0poWW1KaFlteGxTV1poWTJVZ1BTQmhZM1JwZG1WU1pXMXZkR1ZIY21GaVltRmliR1U3WEhKY2JseDBYSFIwYUdsekxuVndaR0YwWlVkeVlXSlRkR0YwWlNnZ1oyRmtaMlYwU1c1bWJ5d2dhWFJsYlVsdVptOGdLVHRjY2x4dVhISmNibHh5WEc1Y2NseHVYSFJjZEdGamRHbDJaVkpsYlc5MFpVZHlZV0ppWVdKc1pTNXZibFJ5WVc1elptOXliVlZ3WkdGMFpXUW9JQ2dnZFc1cGRtVnljMlZHY205dFNYUmxiVG9nUVhaT2IyUmxWSEpoYm5ObWIzSnRJQ2tnUFQ1Y2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGRHaHBjeTUxY0dSaGRHVlNaVzF2ZEdWSGNtRmlZbUZpYkdVb0lISmxiVzkwWlZCaGNtRnRjeXdnZFc1cGRtVnljMlZHY205dFNYUmxiU2xjY2x4dVhIUmNkSDBnS1R0Y2NseHVYSEpjYmx4MFhIUmhZM1JwZG1WU1pXMXZkR1ZIY21GaVltRmliR1V1YjI1RmJtUmxaQ2dnS0NrZ1BUNWNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBhWFJsYlVsdVptOHVjbVZ0YjNSbFIzSmhZbUpoWW14bFNXWmhZMlVnUFNCdWRXeHNPMXh5WEc1Y2RGeDBYSFIwYUdsekxuVndaR0YwWlVkeVlXSlRkR0YwWlNnZ1oyRmtaMlYwU1c1bWJ5d2dhWFJsYlVsdVptOGdLVHRjY2x4dVhIUmNkSDBnS1Z4eVhHNWNkSDFjY2x4dVhISmNibHgwY0hWaWJHbGpJR2RsZENCeVpXTmxhWFpsY3lncFhISmNibHgwZTF4eVhHNWNkRngwY21WMGRYSnVJRnNnWEhKY2JseDBYSFJjZEhzZ2FXWmhZMlU2SUZKbGJXOTBaVWRoWkdkbGRFTnZiWEJ2Ym1WdWRDNXBiblJsY21aaFkyVk9ZVzFsTENCd2NtOWpaWE56YjNJNklIUm9hWE11YjI1U1pXMXZkR1ZKYm5SbGNtWmhZMlVnZlN4Y2NseHVYSFJjZEZ4MGV5QnBabUZqWlRvZ2ExOXlaVzF2ZEdWSGNtRmlZbUZpYkdWSmJuUmxjbVpoWTJVc0lIQnliMk5sYzNOdmNqb2dkR2hwY3k1dmJsSmxiVzkwWlVkeVlXSmlZV0pzWlNCOUxGeHlYRzVjZEZ4MFhUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCblpYUWdkMkZ1ZEhOVWNtRnVjMlp2Y20xektDbGNjbHh1WEhSN1hISmNibHgwWEhSeVpYUjFjbTRnZEhKMVpUdGNjbHh1WEhSOVhISmNibHh5WEc1Y2RIQjFZbXhwWXlCdVpYUjNiM0pyUlhabGJuUW9JR1YyWlc1ME9pQnZZbXBsWTNRZ0tWeHlYRzVjZEh0Y2NseHVYSFJjZEd4bGRDQmxJRDBnWlhabGJuUWdZWE1nVG1WMGQyOXlhMVZ1YVhabGNuTmxSWFpsYm5RN1hISmNibHgwWEhSemQybDBZMmdvSUdVdWRIbHdaU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEdOaGMyVWdUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExrTnlaV0YwWlZKbGJXOTBaVWRoWkdkbGREcGNjbHh1WEhSY2RGeDBYSFIwYUdsekxtTnlaV0YwWlVkaFpHZGxkQ2dnWlM1bllXUm5aWFJKYm1adklDazdYSEpjYmx4MFhIUmNkRngwWW5KbFlXczdYSEpjYmx4eVhHNWNkRngwWEhSallYTmxJRTVsZEhkdmNtdFZibWwyWlhKelpVVjJaVzUwVkhsd1pTNUVaWE4wY205NVVtVnRiM1JsUjJGa1oyVjBPbHh5WEc1Y2RGeDBYSFJjZEhSb2FYTXVaR1Z6ZEhKdmVVZGhaR2RsZENnZ1pTNXlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjZEZ4MFhIUmNkR0p5WldGck8xeHlYRzVjY2x4dVhIUmNkRngwWTJGelpTQk9aWFIzYjNKclZXNXBkbVZ5YzJWRmRtVnVkRlI1Y0dVdVZYQmtZWFJsVW1WdGIzUmxSMkZrWjJWMFZISmhibk5tYjNKdE9seHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWRYQmtZWFJsUjJGa1oyVjBWSEpoYm5ObWIzSnRLQ0JsTG5KbGJXOTBaVWRoWkdkbGRFbGtMQ0JsTG1sMFpXMUpaQ3dnWlM1MWJtbDJaWEp6WlVaeWIyMUhZV1JuWlhRZ0tUdGNjbHh1WEhSY2RGeDBYSFJpY21WaGF6dGNjbHh1WEhKY2JseDBYSFJjZEdOaGMyVWdUbVYwZDI5eWExVnVhWFpsY25ObFJYWmxiblJVZVhCbExrSnliMkZrWTJGemRGSmxiVzkwWlVkaFpHZGxkRVYyWlc1ME9seHlYRzVjZEZ4MFhIUmNkSFJvYVhNdWJXRnpkR1Z5UlhabGJuUW9JR1V1Y21WdGIzUmxSMkZrWjJWMFNXUXNJR1V1WlhabGJuUWdLVHRjY2x4dVhIUmNkRngwWEhSaWNtVmhhenRjY2x4dVhIUmNkSDFjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEJ5YVhaaGRHVWdZM0psWVhSbFIyRmtaMlYwS0NCbllXUm5aWFJKYm1adk9pQk9aWFIzYjNKclpXUkhZV1JuWlhSSmJtWnZJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnBaaWdnZEdocGN5NXlaVzF2ZEdWSFlXUm5aWFJ6TG1oaGN5Z2daMkZrWjJWMFNXNW1ieTV5WlcxdmRHVkhZV1JuWlhSSlpDQXBJQ2xjY2x4dVhIUmNkSHRjY2x4dVhIUmNkRngwZEdoeWIzY2dibVYzSUVWeWNtOXlLQ0JjY2x4dVhIUmNkRngwWEhSZ1pIVndiR2xqWVhSbElHTnlaV0YwWlVkaFpHZGxkQ0JtYjNJZ2NtVnRiM1JsSUdkaFpHZGxkQ0JwWkNBa2V5Qm5ZV1JuWlhSSmJtWnZMbkpsYlc5MFpVZGhaR2RsZEVsa0lIMGdkMmwwYUNBa2V5Qm5ZV1JuWlhSSmJtWnZMblZ5YkNCOVlDQXBPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RGeDBhV1lvSUNGMGFHbHpMbVZ1ZEdsMGVVVndZU0FwWEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSb2NtOTNJRzVsZHlCRmNuSnZjaWdnWUdOeVpXRjBaVWRoWkdkbGRDQmlaV1p2Y21VZ2RHaGxJR1Z1ZEdsMGVTQm5ZWFpsSUhWeklIUm9aV2x5SUVWdVpIQnZhVzUwSUVGa1pISmxjM05nSUNrN1hISmNibHgwWEhSOVhISmNibHh5WEc1Y2RGeDBiR1YwSUc1bGQwZGhaR2RsZERvZ1VtVnRiM1JsUjJGa1oyVjBTVzVtYnlBOVhISmNibHgwWEhSN1hISmNibHgwWEhSY2RISmxiVzkwWlVkaFpHZGxkRWxrT2lCbllXUm5aWFJKYm1adkxuSmxiVzkwWlVkaFpHZGxkRWxrTEZ4eVhHNWNkRngwWEhSMWNtdzZJR2RoWkdkbGRFbHVabTh1ZFhKc0xGeHlYRzVjZEZ4MFhIUnlaVzF2ZEdWTWIyTnJjem9nWjJGa1oyVjBTVzVtYnk1eVpXMXZkR1ZNYjJOcmN5eGNjbHh1WEhSY2RGeDBhV1poWTJVNklHNTFiR3dzWEhKY2JseDBYSFJjZEhWdWFYWmxjbk5sUm5KdmJVZGhaR2RsZERvZ1oyRmtaMlYwU1c1bWJ5NTFibWwyWlhKelpVWnliMjFIWVdSblpYUXNYSEpjYmx4MFhIUmNkR2wwWlcxek9pQnVaWGNnVFdGd1BITjBjbWx1Wnl3Z1VtVnRiM1JsU1hSbGJVbHVabTgrS0Nrc1hISmNibHgwWEhSOU8xeHlYRzVjY2x4dVhIUmNkR1p2Y2lnZ2JHVjBJR2wwWlcwZ2IyWWdLQ0JuWVdSblpYUkpibVp2TG1sMFpXMXpJRDgvSUZ0ZElDa2dLVnh5WEc1Y2RGeDBlMXh5WEc1Y2RGeDBYSFJ1WlhkSFlXUm5aWFF1YVhSbGJYTXVjMlYwS0NCcGRHVnRMbWwwWlcxSlpDeGNjbHh1WEhSY2RGeDBYSFI3WEhKY2JseDBYSFJjZEZ4MFhIUnBkR1Z0U1dRNklHbDBaVzB1YVhSbGJVbGtMRnh5WEc1Y2RGeDBYSFJjZEZ4MGFXWmhZMlU2SUc1MWJHd3NYSEpjYmx4MFhIUmNkRngwWEhSeVpXMXZkR1ZIY21GaVltRmliR1ZKWm1GalpUb2diblZzYkN4Y2NseHVYSFJjZEZ4MFhIUmNkSFZ1YVhabGNuTmxSbkp2YlVsMFpXMDZJR2wwWlcwdWNtVnRiM1JsVlc1cGRtVnljMlZHY205dFNYUmxiU3hjY2x4dVhIUmNkRngwWEhSY2RHZHlZV0ppWldRNklHWmhiSE5sTEZ4eVhHNWNkRngwWEhSY2RGeDBaM0poWWxObGJuUTZJR1poYkhObExGeHlYRzVjZEZ4MFhIUmNkSDBnS1R0Y2NseHVYSFJjZEgxY2NseHVYSEpjYmx4MFhIUjBhR2x6TG5KbGJXOTBaVWRoWkdkbGRITXVjMlYwS0NCbllXUm5aWFJKYm1adkxuSmxiVzkwWlVkaFpHZGxkRWxrTENCdVpYZEhZV1JuWlhRZ0tUdGNjbHh1WEhKY2JseDBYSFJzWlhRZ1puVnNiRXh2WTJ0TWFYTjBJRDBnV3lBdUxpNW5ZV1JuWlhSSmJtWnZMbkpsYlc5MFpVeHZZMnR6TEZ4eVhHNWNkRngwZTF4eVhHNWNkRngwWEhScFptRmpaVG9nVW1WdGIzUmxSMkZrWjJWMFEyOXRjRzl1Wlc1MExtbHVkR1Z5Wm1GalpVNWhiV1VzWEhKY2JseDBYSFJjZEhKbFkyVnBkbVZ5T2lCMGFHbHpMbVZ1ZEdsMGVVVndZU3hjY2x4dVhIUmNkRngwY0dGeVlXMXpPaUI3SUhKbGJXOTBaVWRoWkdkbGRFbGtPaUJuWVdSblpYUkpibVp2TG5KbGJXOTBaVWRoWkdkbGRFbGtJSDBzWEhKY2JseDBYSFI5SUYwN1hISmNibHh5WEc1Y2RGeDBRWFpIWVdSblpYUXVhVzV6ZEdGdVkyVW9LUzV6ZEdGeWRFZGhaR2RsZENnZ1oyRmtaMlYwU1c1bWJ5NTFjbXdzSUdaMWJHeE1iMk5yVEdsemRDQXBPMXh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQmtaWE4wY205NVIyRmtaMlYwS0NCeVpXMXZkR1ZIWVdSblpYUkpaRG9nYm5WdFltVnlJQ2xjY2x4dVhIUjdYSEpjYmx4MFhIUnNaWFFnWjJGa1oyVjBTVzVtYnlBOUlIUm9hWE11Y21WdGIzUmxSMkZrWjJWMGN5NW5aWFFvSUhKbGJXOTBaVWRoWkdkbGRFbGtJQ2s3WEhKY2JseHlYRzVjZEZ4MGJHVjBJR1YyWlc1ME9pQlNaVzF2ZEdWSFlXUm5aWFJGZG1WdWRDQTlYSEpjYmx4MFhIUjdYSEpjYmx4MFhIUmNkSFI1Y0dVNklGSmxiVzkwWlVkaFpHZGxkRVYyWlc1MFZIbHdaUzVFWlhOMGNtOTVSMkZrWjJWMExGeHlYRzVjZEZ4MGZUdGNjbHh1WEhSY2NseHVYSFJjZEdkaFpHZGxkRWx1Wm04L0xtbG1ZV05sUHk1elpXNWtSWFpsYm5Rb0lHVjJaVzUwSUNrN1hISmNibHgwZlZ4eVhHNWNjbHh1WEhSd2NtbDJZWFJsSUhWd1pHRjBaVWRoWkdkbGRGUnlZVzV6Wm05eWJTZ2djbVZ0YjNSbFIyRmtaMlYwU1dRNklHNTFiV0psY2l3Z2FYUmxiVWxrT2lCemRISnBibWNzSUhWdWFYWmxjbk5sUm5KdmJVZGhaR2RsZERvZ1RXbHVhVzFoYkZCdmMyVWdLVnh5WEc1Y2RIdGNjbHh1WEhSY2RHeGxkQ0JuWVdSblpYUkpibVp2SUQwZ2RHaHBjeTV5WlcxdmRHVkhZV1JuWlhSekxtZGxkQ2dnY21WdGIzUmxSMkZrWjJWMFNXUWdLVHRjY2x4dVhIUmNkR2xtS0NCbllXUm5aWFJKYm1adklDbGNjbHh1WEhSY2RIdGNjbHh1WEhSY2RGeDBhV1lvSUdsMFpXMUpaQ0FwWEhKY2JseDBYSFJjZEh0Y2NseHVYSFJjZEZ4MFhIUnNaWFFnYVhSbGJVbHVabThnUFNCMGFHbHpMbVpwYm1SUGNrRmtaRWwwWlcxSmJtWnZLQ0JuWVdSblpYUkpibVp2TENCcGRHVnRTV1FnS1R0Y2NseHVYSFJjZEZ4MFhIUnBkR1Z0U1c1bWJ5NTFibWwyWlhKelpVWnliMjFKZEdWdElEMGdkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEdWc2MyVmNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdkaFpHZGxkRWx1Wm04dWRXNXBkbVZ5YzJWR2NtOXRSMkZrWjJWMElEMGdkVzVwZG1WeWMyVkdjbTl0UjJGa1oyVjBPMXh5WEc1Y2RGeDBYSFI5WEhKY2JseDBYSFJjZEhSb2FYTXVaVzUwYVhSNVEyRnNiR0poWTJzL0xpZ3BPMXh5WEc1Y2RGeDBmVnh5WEc1Y2RIMWNjbHh1WEhKY2JseDBjSEpwZG1GMFpTQnRZWE4wWlhKRmRtVnVkQ2dnY21WdGIzUmxSMkZrWjJWMFNXUTZJRzUxYldKbGNpd2daWFpsYm5RNklHOWlhbVZqZENBcFhISmNibHgwZTF4eVhHNWNkRngwYkdWMElHZGhaR2RsZEVsdVptOGdQU0IwYUdsekxuSmxiVzkwWlVkaFpHZGxkSE11WjJWMEtDQnlaVzF2ZEdWSFlXUm5aWFJKWkNBcE8xeHlYRzVjY2x4dVhIUmNkR3hsZENCelpXNWtSWFpsYm5RNklGSkhSVk5sYm1SRmRtVnVkQ0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEhSNWNHVTZJRkpsYlc5MFpVZGhaR2RsZEVWMlpXNTBWSGx3WlM1U1pXTmxhWFpsUlhabGJuUkdjbTl0VFdGemRHVnlMRnh5WEc1Y2RGeDBYSFJsZG1WdWRDeGNjbHh1WEhSY2RIMDdYSEpjYmx4MFhISmNibHgwWEhSbllXUm5aWFJKYm1adlB5NXBabUZqWlQ4dWMyVnVaRVYyWlc1MEtDQnpaVzVrUlhabGJuUWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkSEpsYm1SbGNpZ3BYSEpjYmx4MGUxeHlYRzVjZEZ4MGJHVjBJR05vYVd4a2NtVnVPaUJLVTFndVJXeGxiV1Z1ZEZ0ZElEMGdXMTA3WEhKY2JseDBYSFJtYjNJb0lHeGxkQ0JuWVdSblpYUWdiMllnZEdocGN5NXlaVzF2ZEdWSFlXUm5aWFJ6TG5aaGJIVmxjeWdwSUNsY2NseHVYSFJjZEh0Y2NseHVYSFJjZEZ4MGFXWW9JQ0ZuWVdSblpYUXVhV1poWTJVZ2ZId2dJV2RoWkdkbGRDNTFibWwyWlhKelpVWnliMjFIWVdSblpYUWdLVnh5WEc1Y2RGeDBYSFJjZEdOdmJuUnBiblZsTzF4eVhHNWNjbHh1WEhSY2RGeDBZMmhwYkdSeVpXNHVjSFZ6YUNnZ1BFRjJWSEpoYm5ObWIzSnRJSFJ5WVc1elptOXliVDE3SUdkaFpHZGxkQzUxYm1sMlpYSnpaVVp5YjIxSFlXUm5aWFFnZlNCclpYazlleUJuWVdSblpYUXVjbVZ0YjNSbFIyRmtaMlYwU1dRZ2ZUNWNjbHh1WEhSY2RGeDBYSFJjZER4QmRrVnVkR2wwZVVOb2FXeGtJR05vYVd4a1BYc2daMkZrWjJWMExtbG1ZV05sTG5CbFpYSWdmU0JyWlhrOWV5Qm5ZV1JuWlhRdWNtVnRiM1JsUjJGa1oyVjBTV1FnZlM4K1hISmNibHgwWEhSY2RGeDBQQzlCZGxSeVlXNXpabTl5YlQ0Z0tUdGNjbHh1WEhKY2JseDBYSFJjZEdadmNpZ2diR1YwSUdsMFpXMGdiMllnWjJGa1oyVjBMbWwwWlcxekxuWmhiSFZsY3lncElDbGNjbHh1WEhSY2RGeDBlMXh5WEc1Y2RGeDBYSFJjZEdsbUtDQWhhWFJsYlM1cFptRmpaU0I4ZkNBaGFYUmxiUzUxYm1sMlpYSnpaVVp5YjIxSmRHVnRJSHg4SUdsMFpXMHVaM0poWW1KbFpDQXBYSEpjYmx4MFhIUmNkRngwZTF4eVhHNWNkRngwWEhSY2RGeDBZMjl1ZEdsdWRXVTdYSEpjYmx4MFhIUmNkRngwZlZ4eVhHNWNjbHh1WEhSY2RGeDBYSFJzWlhRZ2EyVjVJRDBnWUNSN0lHZGhaR2RsZEM1eVpXMXZkR1ZIWVdSblpYUkpaQ0I5THlSN0lHbDBaVzB1YVhSbGJVbGtJSDFnTzF4eVhHNWNkRngwWEhSY2RHTm9hV3hrY21WdUxuQjFjMmdvSUR4QmRsUnlZVzV6Wm05eWJTQjBjbUZ1YzJadmNtMDlleUJwZEdWdExuVnVhWFpsY25ObFJuSnZiVWwwWlcwZ2ZTQnJaWGs5ZXlCclpYa2dmVDVjY2x4dVhIUmNkRngwWEhSY2REeEJka1Z1ZEdsMGVVTm9hV3hrSUdOb2FXeGtQWHNnYVhSbGJTNXBabUZqWlM1d1pXVnlJSDBnYTJWNVBYc2dhMlY1SUgwdlBseHlYRzVjZEZ4MFhIUmNkRHd2UVhaVWNtRnVjMlp2Y20wK0lDazdYSEpjYmx4MFhIUmNkSDFjY2x4dVhIUmNkSDFjY2x4dVhISmNibHgwWEhSeVpYUjFjbTRnUEdScGRpQnJaWGs5WENKeVpXMXZkR1ZmZFc1cGRtVnljMlZjSWo1Y2NseHVYSFJjZEZ4MFhIUjdJR05vYVd4a2NtVnVJSDFjY2x4dVhIUmNkRngwUEM5a2FYWStPMXh5WEc1Y2RIMWNjbHh1ZlZ4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvcmVtb3RlX3VuaXZlcnNlLnRzeFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIFwiLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHNcIjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHMgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgZXhwb3J0cyBwcm92aWRlZDogQ1JlbmRlcmVyRW5kcG9pbnQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIF9fd2VicGFja19leHBvcnRzX18sIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5ldmFsKFwiX193ZWJwYWNrX3JlcXVpcmVfXy5yKF9fd2VicGFja19leHBvcnRzX18pO1xcbi8qIGhhcm1vbnkgZXhwb3J0IChiaW5kaW5nKSAqLyBfX3dlYnBhY2tfcmVxdWlyZV9fLmQoX193ZWJwYWNrX2V4cG9ydHNfXywgXFxcIkNSZW5kZXJlckVuZHBvaW50XFxcIiwgZnVuY3Rpb24oKSB7IHJldHVybiBDUmVuZGVyZXJFbmRwb2ludDsgfSk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIHRzbGliX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISB0c2xpYiAqLyBcXFwiLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIF9hYXJkdmFya19lbmRwb2ludF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMV9fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgLi9hYXJkdmFya19lbmRwb2ludCAqLyBcXFwiLi9zcmMvYWFyZHZhcmtfZW5kcG9pbnQudHNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBAYWFyZHZhcmt4ci9hYXJkdmFyay1zaGFyZWQgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0BhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZC9saWIvaW5kZXguanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIgX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX18pO1xcbi8qIGhhcm1vbnkgaW1wb3J0ICovIHZhciBiaW5kX2RlY29yYXRvcl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfM19fID0gX193ZWJwYWNrX3JlcXVpcmVfXygvKiEgYmluZC1kZWNvcmF0b3IgKi8gXFxcIi4vbm9kZV9tb2R1bGVzL2JpbmQtZGVjb3JhdG9yL2luZGV4LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGJpbmRfZGVjb3JhdG9yX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8zX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfXyk7XFxuXFxyXFxuXFxyXFxuXFxyXFxuXFxyXFxuY2xhc3MgQ1JlbmRlcmVyRW5kcG9pbnQgZXh0ZW5kcyBfYWFyZHZhcmtfZW5kcG9pbnRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzFfX1tcXFwiQ0FhcmR2YXJrRW5kcG9pbnRcXFwiXSB7XFxyXFxuICAgIGNvbnN0cnVjdG9yKG9wZW5IYW5kbGVyLCBkZWZhdWx0SGFuZGxlciA9IG51bGwpIHtcXHJcXG4gICAgICAgIHN1cGVyKCgpID0+IHsgdGhpcy5vbk9wZW4oKTsgfSwgb3BlbkhhbmRsZXIsIGRlZmF1bHRIYW5kbGVyKTtcXHJcXG4gICAgfVxcclxcbiAgICBvbk9wZW4oKSB7XFxyXFxuICAgICAgICBjb25zb2xlLmxvZyhcXFwiQ29ubmVjdGVkXFxcIik7XFxyXFxuICAgICAgICBsZXQgbXNnU2V0RW5kcG9pbnRUeXBlID0ge1xcclxcbiAgICAgICAgICAgIG5ld0VuZHBvaW50VHlwZTogX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIkVuZHBvaW50VHlwZVxcXCJdLlJlbmRlcmVyLFxcclxcbiAgICAgICAgfTtcXHJcXG4gICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoX2FhcmR2YXJreHJfYWFyZHZhcmtfc2hhcmVkX19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8yX19bXFxcIk1lc3NhZ2VUeXBlXFxcIl0uU2V0RW5kcG9pbnRUeXBlLCBtc2dTZXRFbmRwb2ludFR5cGUpO1xcclxcbiAgICB9XFxyXFxufVxcclxcbk9iamVjdCh0c2xpYl9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fW1xcXCJfX2RlY29yYXRlXFxcIl0pKFtcXHJcXG4gICAgYmluZF9kZWNvcmF0b3JfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzNfX19kZWZhdWx0LmFcXHJcXG5dLCBDUmVuZGVyZXJFbmRwb2ludC5wcm90b3R5cGUsIFxcXCJvbk9wZW5cXFwiLCBudWxsKTtcXHJcXG4vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzh1TDNOeVl5OXlaVzVrWlhKbGNsOWxibVJ3YjJsdWRDNTBjejloTXpoa0lsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3p0QlFVRXdSenRCUVVOa08wRkJRekZFTzBGQlJ6TkNMRTFCUVUwc2FVSkJRV3RDTEZOQlFWRXNiMFZCUVdsQ08wbEJSWFpFTEZsQlFXRXNWMEZCZDBJc1JVRkJSU3hwUWtGQmMwTXNTVUZCU1R0UlFVVm9SaXhMUVVGTExFTkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRExFTkJRVU1zUlVGQlJTeFhRVUZYTEVWQlFVVXNZMEZCWXl4RFFVRkZMRU5CUVVNN1NVRkRMMFFzUTBGQlF6dEpRVVZMTEUxQlFVMDdVVUZGV0N4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRkxGZEJRVmNzUTBGQlJTeERRVUZETzFGQlF6TkNMRWxCUVVrc2EwSkJRV3RDTEVkQlEzUkNPMWxCUTBNc1pVRkJaU3hGUVVGRkxIZEZRVUZaTEVOQlFVTXNVVUZCVVR0VFFVTjBRenRSUVVWRUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVVXNkVVZCUVZjc1EwRkJReXhsUVVGbExFVkJRVVVzYTBKQlFXdENMRU5CUVVVc1EwRkJRenRKUVVOeVJTeERRVUZETzBOQlEwUTdRVUZXVFR0SlFVRk1MSEZFUVVGSk95dERRVk5LSWl3aVptbHNaU0k2SWk0dmMzSmpMM0psYm1SbGNtVnlYMlZ1WkhCdmFXNTBMblJ6TG1weklpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lhVzF3YjNKMElIc2dRMEZoY21SMllYSnJSVzVrY0c5cGJuUXNJRTFsYzNOaFoyVklZVzVrYkdWeUxDQlBjR1Z1U0dGdVpHeGxjaXdnUVhONWJtTk5aWE56WVdkbFNHRnVaR3hsY2lCOUlHWnliMjBnSnk0dllXRnlaSFpoY210ZlpXNWtjRzlwYm5Rbk8xeHlYRzVwYlhCdmNuUWdleUJOYzJkVFpYUkZibVJ3YjJsdWRGUjVjR1VzSUUxbGMzTmhaMlZVZVhCbExDQkZibVJ3YjJsdWRGUjVjR1VnZlNCbWNtOXRJQ2RBWVdGeVpIWmhjbXQ0Y2k5aFlYSmtkbUZ5YXkxemFHRnlaV1FuTzF4eVhHNXBiWEJ2Y25RZ1ltbHVaQ0JtY205dElDZGlhVzVrTFdSbFkyOXlZWFJ2Y2ljN1hISmNibHh5WEc1Y2NseHVaWGh3YjNKMElHTnNZWE56SUVOU1pXNWtaWEpsY2tWdVpIQnZhVzUwSUdWNGRHVnVaSE1nUTBGaGNtUjJZWEpyUlc1a2NHOXBiblJjY2x4dWUxeHlYRzVjZEdOdmJuTjBjblZqZEc5eUtDQnZjR1Z1U0dGdVpHeGxjam9nVDNCbGJraGhibVJzWlhJc0lHUmxabUYxYkhSSVlXNWtiR1Z5T2lCQmMzbHVZMDFsYzNOaFoyVklZVzVrYkdWeUlEMGdiblZzYkNBcFhISmNibHgwZTF4eVhHNWNkRngwYzNWd1pYSW9JQ2dwSUQwK0lIc2dkR2hwY3k1dmJrOXdaVzRvS1NCOUxDQnZjR1Z1U0dGdVpHeGxjaXdnWkdWbVlYVnNkRWhoYm1Sc1pYSWdLVHRjY2x4dVhIUjlYSEpjYmx4eVhHNWNkRUJpYVc1a0lHOXVUM0JsYmlncFhISmNibHgwZTF4eVhHNWNkRngwWTI5dWMyOXNaUzVzYjJjb0lGd2lRMjl1Ym1WamRHVmtYQ0lnS1R0Y2NseHVYSFJjZEd4bGRDQnRjMmRUWlhSRmJtUndiMmx1ZEZSNWNHVTZJRTF6WjFObGRFVnVaSEJ2YVc1MFZIbHdaU0E5WEhKY2JseDBYSFI3WEhKY2JseDBYSFJjZEc1bGQwVnVaSEJ2YVc1MFZIbHdaVG9nUlc1a2NHOXBiblJVZVhCbExsSmxibVJsY21WeUxGeHlYRzVjZEZ4MGZWeHlYRzVjY2x4dVhIUmNkSFJvYVhNdWMyVnVaRTFsYzNOaFoyVW9JRTFsYzNOaFoyVlVlWEJsTGxObGRFVnVaSEJ2YVc1MFZIbHdaU3dnYlhOblUyVjBSVzVrY0c5cGJuUlVlWEJsSUNrN1hISmNibHgwZlZ4eVhHNTlYSEpjYmx4eVhHNGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vLi9zcmMvcmVuZGVyZXJfZW5kcG9pbnQudHNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyAwOlxuLyohKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiB1dGlsIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5MWRHbHNJQ2hwWjI1dmNtVmtLVDlsTTJJMklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJJaXdpWm1sc1pTSTZJakF1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaUFvYVdkdWIzSmxaQ2tnS2k4aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8wXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gMTpcbi8qISoqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogdXRpbCAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOTFkR2xzSUNocFoyNXZjbVZrS1Q5a05XSTFJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCSWl3aVptbHNaU0k2SWpFdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMVxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDEwOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIGJ1ZmZlciAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aWRXWm1aWElnS0dsbmJtOXlaV1FwUHpWbFkyUWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVpTENKbWFXeGxJam9pTVRBdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMTBcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyAxMTpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiBidWZmZXIgKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWlkV1ptWlhJZ0tHbG5ibTl5WldRcFAyUXhNVGdpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFaUxDSm1hV3hsSWpvaU1URXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpQW9hV2R1YjNKbFpDa2dLaThpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzExXFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gMTI6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogYnVmZmVyIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzlpZFdabVpYSWdLR2xuYm05eVpXUXBQemxqT1RNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRWlMQ0ptYVd4bElqb2lNVEl1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaUFvYVdkdWIzSmxaQ2tnS2k4aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy8xMlxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDEzOlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIGJ1ZmZlciAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aWRXWm1aWElnS0dsbmJtOXlaV1FwUDJJMVl6RWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVpTENKbWFXeGxJam9pTVRNdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMTNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyAxNDpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiBidWZmZXIgKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWlkV1ptWlhJZ0tHbG5ibTl5WldRcFAyUTFNVElpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFaUxDSm1hV3hsSWpvaU1UUXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpQW9hV2R1YjNKbFpDa2dLaThpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzE0XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gMjpcbi8qISoqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogdXRpbCAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOTFkR2xzSUNocFoyNXZjbVZrS1Q4ek1UazVJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCSWl3aVptbHNaU0k2SWpJdWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vMlxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDM6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIHV0aWwgKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzkxZEdsc0lDaHBaMjV2Y21Wa0tUODBZbUprSWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQklpd2labWxzWlNJNklqTXVhbk1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpQW9hV2R1YjNKbFpDa2dLaThpWFN3aWMyOTFjbU5sVW05dmRDSTZJaUo5XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzNcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyA0OlxuLyohKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxuICAhKioqIGJ1ZmZlciAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5aWRXWm1aWElnS0dsbmJtOXlaV1FwUDJVeFlUSWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVpTENKbWFXeGxJam9pTkM1cWN5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxSUNocFoyNXZjbVZrS1NBcUx5SmRMQ0p6YjNWeVkyVlNiMjkwSWpvaUluMD1cXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vNFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDU6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogYnVmZmVyIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzlpZFdabVpYSWdLR2xuYm05eVpXUXBQMlprTURNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRWlMQ0ptYVd4bElqb2lOUzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFJQ2hwWjI1dmNtVmtLU0FxTHlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy81XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gNjpcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiBjcnlwdG8gKGlnbm9yZWQpICoqKiFcbiAgXFwqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOWpjbmx3ZEc4Z0tHbG5ibTl5WldRcFB6VXlaak1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFaUxDSm1hV3hsSWpvaU5pNXFjeUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUlDaHBaMjV2Y21Wa0tTQXFMeUpkTENKemIzVnlZMlZTYjI5MElqb2lJbjA9XFxuLy8jIHNvdXJjZVVSTD13ZWJwYWNrLWludGVybmFsOi8vLzZcXG5cIik7XG5cbi8qKiovIH0pLFxuXG4vKioqLyA3OlxuLyohKioqKioqKioqKioqKioqKioqKioqKiEqXFxcbiAgISoqKiB1dGlsIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKi9cbi8qISBubyBzdGF0aWMgZXhwb3J0cyBmb3VuZCAqL1xuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5ldmFsKFwiLyogKGlnbm9yZWQpICovLy8jIHNvdXJjZVVSTD1bbW9kdWxlXVxcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluZGxZbkJoWTJzNkx5OWhZWEprZG1GeWF5MXlaV0ZqZEM5MWRHbHNJQ2hwWjI1dmNtVmtLVDh4TVRabElsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJJaXdpWm1sc1pTSTZJamN1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaUFvYVdkdWIzSmxaQ2tnS2k4aVhTd2ljMjkxY21ObFVtOXZkQ0k2SWlKOVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy83XFxuXCIpO1xuXG4vKioqLyB9KSxcblxuLyoqKi8gODpcbi8qISoqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogdXRpbCAoaWdub3JlZCkgKioqIVxuICBcXCoqKioqKioqKioqKioqKioqKioqKiovXG4vKiEgbm8gc3RhdGljIGV4cG9ydHMgZm91bmQgKi9cbi8qKiovIChmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuZXZhbChcIi8qIChpZ25vcmVkKSAqLy8vIyBzb3VyY2VVUkw9W21vZHVsZV1cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbmRsWW5CaFkyczZMeTloWVhKa2RtRnlheTF5WldGamRDOTFkR2xzSUNocFoyNXZjbVZrS1Q4eE1tUmpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCSWl3aVptbHNaU0k2SWpndWFuTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lBb2FXZHViM0psWkNrZ0tpOGlYU3dpYzI5MWNtTmxVbTl2ZENJNklpSjlcXG4vLyMgc291cmNlVVJMPXdlYnBhY2staW50ZXJuYWw6Ly8vOFxcblwiKTtcblxuLyoqKi8gfSksXG5cbi8qKiovIDk6XG4vKiEqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXG4gICEqKiogYnVmZmVyIChpZ25vcmVkKSAqKiohXG4gIFxcKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohIG5vIHN0YXRpYyBleHBvcnRzIGZvdW5kICovXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cbmV2YWwoXCIvKiAoaWdub3JlZCkgKi8vLyMgc291cmNlVVJMPVttb2R1bGVdXFxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5kbFluQmhZMnM2THk5aFlYSmtkbUZ5YXkxeVpXRmpkQzlpZFdabVpYSWdLR2xuYm05eVpXUXBQemd6T0dVaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRWlMQ0ptYVd4bElqb2lPUzVxY3lJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFJQ2hwWjI1dmNtVmtLU0FxTHlKZExDSnpiM1Z5WTJWU2IyOTBJam9pSW4wPVxcbi8vIyBzb3VyY2VVUkw9d2VicGFjay1pbnRlcm5hbDovLy85XFxuXCIpO1xuXG4vKioqLyB9KVxuXG4vKioqKioqLyB9KTtcbn0pOyIsIiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFwiYWFyZHZhcmstc2hhcmVkXCIsW10sZSk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0c1tcImFhcmR2YXJrLXNoYXJlZFwiXT1lKCk6dFtcImFhcmR2YXJrLXNoYXJlZFwiXT1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIG4oaSl7aWYoZVtpXSlyZXR1cm4gZVtpXS5leHBvcnRzO3ZhciByPWVbaV09e2k6aSxsOiExLGV4cG9ydHM6e319O3JldHVybiB0W2ldLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLG4pLHIubD0hMCxyLmV4cG9ydHN9cmV0dXJuIG4ubT10LG4uYz1lLG4uZD1mdW5jdGlvbih0LGUsaSl7bi5vKHQsZSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsZ2V0Oml9KX0sbi5yPWZ1bmN0aW9uKHQpe1widW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIk1vZHVsZVwifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSl9LG4udD1mdW5jdGlvbih0LGUpe2lmKDEmZSYmKHQ9bih0KSksOCZlKXJldHVybiB0O2lmKDQmZSYmXCJvYmplY3RcIj09dHlwZW9mIHQmJnQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKG4ucihpKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoaSxcImRlZmF1bHRcIix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiZcInN0cmluZ1wiIT10eXBlb2YgdClmb3IodmFyIHIgaW4gdCluLmQoaSxyLGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfS5iaW5kKG51bGwscikpO3JldHVybiBpfSxuLm49ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gdH07cmV0dXJuIG4uZChlLFwiYVwiLGUpLGV9LG4ubz1mdW5jdGlvbih0LGUpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKX0sbi5wPVwiXCIsbihuLnM9MTIpfShbZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUuZXBzaWxvbj0xZS01fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1yZXF1aXJlKFwiY3J5cHRvXCIpfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9big0KSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgzKSx2b2lkIDAhPT10JiYodGhpcy54eXo9dCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ5XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1sxXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzFdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwielwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInh5XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieHl6XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy56PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZS56PXRoaXMueixlfSx0LnByb3RvdHlwZS5uZWdhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR8fCh0PXRoaXMpLHQueD0tdGhpcy54LHQueT0tdGhpcy55LHQuej0tdGhpcy56LHR9LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1yLmVwc2lsb24pLCEoTWF0aC5hYnModGhpcy54LXQueCk+ZSkmJighKE1hdGguYWJzKHRoaXMueS10LnkpPmUpJiYhKE1hdGguYWJzKHRoaXMuei10LnopPmUpKX0sdC5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguc3FydCh0aGlzLnNxdWFyZWRMZW5ndGgoKSl9LHQucHJvdG90eXBlLnNxdWFyZWRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLno7cmV0dXJuIHQqdCtlKmUrbipufSx0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXMueis9dC56LHRoaXN9LHQucHJvdG90eXBlLnN1YnRyYWN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzLnotPXQueix0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpcy56Kj10LnosdGhpc30sdC5wcm90b3R5cGUuZGl2aWRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQueCx0aGlzLnkvPXQueSx0aGlzLnovPXQueix0aGlzfSx0LnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSxlLngqPXQsZS55Kj10LGUueio9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54PTAsdC55PTAsdC56PTAsdCk6KGU9MS9lLHQueCo9ZSx0LnkqPWUsdC56Kj1lLHQpfSx0LnByb3RvdHlwZS5tdWx0aXBseUJ5TWF0Mz1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMyh0aGlzLGUpfSx0LnByb3RvdHlwZS5tdWx0aXBseUJ5UXVhdD1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMyh0aGlzLGUpfSx0LnByb3RvdHlwZS50b1F1YXQ9ZnVuY3Rpb24oZSl7ZXx8KGU9bmV3IGkuZGVmYXVsdCk7dmFyIG49bmV3IHQscj1uZXcgdDtyZXR1cm4gbi54PU1hdGguY29zKC41KnRoaXMueCksci54PU1hdGguc2luKC41KnRoaXMueCksbi55PU1hdGguY29zKC41KnRoaXMueSksci55PU1hdGguc2luKC41KnRoaXMueSksbi56PU1hdGguY29zKC41KnRoaXMueiksci56PU1hdGguc2luKC41KnRoaXMueiksZS54PXIueCpuLnkqbi56LW4ueCpyLnkqci56LGUueT1uLngqci55Km4ueityLngqbi55KnIueixlLno9bi54Km4ueSpyLnotci54KnIueSpuLnosZS53PW4ueCpuLnkqbi56K3IueCpyLnkqci56LGV9LHQuY3Jvc3M9ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KTt2YXIgcj1lLngscz1lLnksYT1lLnosbz1uLngsdT1uLnksbD1uLno7cmV0dXJuIGkueD1zKmwtYSp1LGkueT1hKm8tcipsLGkuej1yKnUtcypvLGl9LHQuZG90PWZ1bmN0aW9uKHQsZSl7dmFyIG49dC54LGk9dC55LHI9dC56O3JldHVybiBuKmUueCtpKmUueStyKmUuen0sdC5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe2UueCx0LngsZS55LHQueSxlLnosdC56O3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkRGlzdGFuY2UodCxlKSl9LHQuc3F1YXJlZERpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZS54LXQueCxpPWUueS10Lnkscj1lLnotdC56O3JldHVybiBuKm4raSppK3Iqcn0sdC5kaXJlY3Rpb249ZnVuY3Rpb24oZSxuLGkpe2l8fChpPW5ldyB0KTt2YXIgcj1lLngtbi54LHM9ZS55LW4ueSxhPWUuei1uLnosbz1NYXRoLnNxcnQocipyK3MqcythKmEpO3JldHVybiAwPT09bz8oaS54PTAsaS55PTAsaS56PTAsaSk6KG89MS9vLGkueD1yKm8saS55PXMqbyxpLno9YSpvLGkpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyZXR1cm4gcnx8KHI9bmV3IHQpLHIueD1lLngraSoobi54LWUueCksci55PWUueStpKihuLnktZS55KSxyLno9ZS56K2kqKG4uei1lLnopLHJ9LHQuc3VtPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngrbi54LGkueT1lLnkrbi55LGkuej1lLnorbi56LGl9LHQuZGlmZmVyZW5jZT1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54LW4ueCxpLnk9ZS55LW4ueSxpLno9ZS56LW4ueixpfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCpuLngsaS55PWUueSpuLnksaS56PWUueipuLnosaX0sdC5xdW90aWVudD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54L24ueCxpLnk9ZS55L24ueSxpLno9ZS56L24ueixpfSx0Lnplcm89bmV3IHQoWzAsMCwwXSksdC5vbmU9bmV3IHQoWzEsMSwxXSksdC51cD1uZXcgdChbMCwxLDBdKSx0LnJpZ2h0PW5ldyB0KFsxLDAsMF0pLHQuZm9yd2FyZD1uZXcgdChbMCwwLDFdKSx0fSgpO2UuZGVmYXVsdD1zfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigyKSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgyKSx2b2lkIDAhPT10JiYodGhpcy54eT10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInlcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ4eVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLng9MCx0aGlzLnk9MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtyZXR1cm4gZXx8KGU9bmV3IHQpLGUueD10aGlzLngsZS55PXRoaXMueSxlfSx0LnByb3RvdHlwZS5uZWdhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHR8fCh0PXRoaXMpLHQueD0tdGhpcy54LHQueT0tdGhpcy55LHR9LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lJiYoZT1yLmVwc2lsb24pLCEoTWF0aC5hYnModGhpcy54LXQueCk+ZSkmJiEoTWF0aC5hYnModGhpcy55LXQueSk+ZSl9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkTGVuZ3RoKCkpfSx0LnByb3RvdHlwZS5zcXVhcmVkTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55O3JldHVybiB0KnQrZSplfSx0LnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueCs9dC54LHRoaXMueSs9dC55LHRoaXN9LHQucHJvdG90eXBlLnN1YnRyYWN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngtPXQueCx0aGlzLnktPXQueSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kj10LngsdGhpcy55Kj10LnksdGhpc30sdC5wcm90b3R5cGUuZGl2aWRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngvPXQueCx0aGlzLnkvPXQueSx0aGlzfSx0LnByb3RvdHlwZS5zY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSxlLngqPXQsZS55Kj10LGV9LHQucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXt0fHwodD10aGlzKTt2YXIgZT10aGlzLmxlbmd0aCgpO3JldHVybiAxPT09ZT90aGlzOjA9PT1lPyh0Lng9MCx0Lnk9MCx0KTooZT0xL2UsdC54Kj1lLHQueSo9ZSx0KX0sdC5wcm90b3R5cGUubXVsdGlwbHlNYXQyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLHQubXVsdGlwbHlWZWMyKHRoaXMsZSl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0Mz1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjMih0aGlzLGUpfSx0LmNyb3NzPWZ1bmN0aW9uKHQsZSxuKXtufHwobj1uZXcgaS5kZWZhdWx0KTt2YXIgcj10Lngscz10LnksYT1lLngsbz1yKmUueS1zKmE7cmV0dXJuIG4ueD0wLG4ueT0wLG4uej1vLG59LHQuZG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueCplLngrdC55KmUueX0sdC5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkRGlzdGFuY2UodCxlKSl9LHQuc3F1YXJlZERpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZS54LXQueCxpPWUueS10Lnk7cmV0dXJuIG4qbitpKml9LHQuZGlyZWN0aW9uPWZ1bmN0aW9uKGUsbixpKXtpfHwoaT1uZXcgdCk7dmFyIHI9ZS54LW4ueCxzPWUueS1uLnksYT1NYXRoLnNxcnQocipyK3Mqcyk7cmV0dXJuIDA9PT1hPyhpLng9MCxpLnk9MCxpKTooYT0xL2EsaS54PXIqYSxpLnk9cyphLGkpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyfHwocj1uZXcgdCk7dmFyIHM9ZS54LGE9ZS55LG89bi54LHU9bi55O3JldHVybiByLng9cytpKihvLXMpLHIueT1hK2kqKHUtYSkscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGl9LHQuemVybz1uZXcgdChbMCwwXSksdC5vbmU9bmV3IHQoWzEsMV0pLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDUpLHI9big2KSxzPW4oMiksYT1uKDApLG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoNCksdm9pZCAwIT09dCYmKHRoaXMueHl6dz10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInlcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ6XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwid1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbM119LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1szXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInh5XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieHl6XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ4eXp3XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1szXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXSx0aGlzLnZhbHVlc1szXT10WzNdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDQ7dCsrKXRoaXMudmFsdWVzW3RdPTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7ZXx8KGU9bmV3IHQpO2Zvcih2YXIgbj0wO248NDtuKyspZS52YWx1ZXNbbl09dGhpcy52YWx1ZXNbbl07cmV0dXJuIGV9LHQucHJvdG90eXBlLnJvbGw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLnosaT10aGlzLnc7cmV0dXJuIE1hdGguYXRhbjIoMioodCplK2kqbiksaSppK3QqdC1lKmUtbipuKX0sdC5wcm90b3R5cGUucGl0Y2g9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLnosaT10aGlzLnc7cmV0dXJuIE1hdGguYXRhbjIoMiooZSpuK2kqdCksaSppLXQqdC1lKmUrbipuKX0sdC5wcm90b3R5cGUueWF3PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYXNpbigyKih0aGlzLngqdGhpcy56LXRoaXMudyp0aGlzLnkpKX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9YS5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDQ7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLnNldElkZW50aXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueD0wLHRoaXMueT0wLHRoaXMuej0wLHRoaXMudz0xLHRoaXN9LHQucHJvdG90eXBlLmNhbGN1bGF0ZVc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngsZT10aGlzLnksbj10aGlzLno7cmV0dXJuIHRoaXMudz0tTWF0aC5zcXJ0KE1hdGguYWJzKDEtdCp0LWUqZS1uKm4pKSx0aGlzfSx0LnByb3RvdHlwZS5pbnZlcnNlPWZ1bmN0aW9uKCl7dmFyIGU9dC5kb3QodGhpcyx0aGlzKTtpZighZSlyZXR1cm4gdGhpcy54eXp3PVswLDAsMCwwXSx0aGlzO3ZhciBuPWU/MS9lOjA7cmV0dXJuIHRoaXMueCo9LW4sdGhpcy55Kj0tbix0aGlzLnoqPS1uLHRoaXMudyo9bix0aGlzfSx0LnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF0qPS0xLHRoaXMudmFsdWVzWzFdKj0tMSx0aGlzLnZhbHVlc1syXSo9LTEsdGhpc30sdC5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiBNYXRoLnNxcnQodCp0K2UqZStuKm4raSppKX0sdC5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKHQpe3R8fCh0PXRoaXMpO3ZhciBlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXRoaXMudyxzPU1hdGguc3FydChlKmUrbipuK2kqaStyKnIpO3JldHVybiBzPyhzPTEvcyx0Lng9ZSpzLHQueT1uKnMsdC56PWkqcyx0Lnc9cipzLHQpOih0Lng9MCx0Lnk9MCx0Lno9MCx0Lnc9MCx0KX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8NDtlKyspdGhpcy52YWx1ZXNbZV0rPXQuYXQoZSk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdLHM9dC54LGE9dC55LG89dC56LHU9dC53O3JldHVybiB0aGlzLng9ZSp1K3IqcytuKm8taSphLHRoaXMueT1uKnUrciphK2kqcy1lKm8sdGhpcy56PWkqdStyKm8rZSphLW4qcyx0aGlzLnc9cip1LWUqcy1uKmEtaSpvLHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjMz1mdW5jdGlvbih0LGUpe2V8fChlPW5ldyBzLmRlZmF1bHQpO3ZhciBuPXQueCxpPXQueSxyPXQueixhPXRoaXMueCxvPXRoaXMueSx1PXRoaXMueixsPXRoaXMudyxoPWwqbitvKnItdSppLGM9bCppK3Uqbi1hKnIsdj1sKnIrYSppLW8qbixmPS1hKm4tbyppLXUqcjtyZXR1cm4gZS54PWgqbCtmKi1hK2MqLXUtdiotbyxlLnk9YypsK2YqLW8rdiotYS1oKi11LGUuej12KmwrZiotdStoKi1vLWMqLWEsZX0sdC5wcm90b3R5cGUudG9NYXQzPWZ1bmN0aW9uKHQpe3R8fCh0PW5ldyBpLmRlZmF1bHQpO3ZhciBlPXRoaXMueCxuPXRoaXMueSxyPXRoaXMueixzPXRoaXMudyxhPWUrZSxvPW4rbix1PXIrcixsPWUqYSxoPWUqbyxjPWUqdSx2PW4qbyxmPW4qdSxwPXIqdSxkPXMqYSx5PXMqbyxnPXMqdTtyZXR1cm4gdC5pbml0KFsxLSh2K3ApLGgrZyxjLXksaC1nLDEtKGwrcCksZitkLGMreSxmLWQsMS0obCt2KV0pLHR9LHQucHJvdG90eXBlLnRvTWF0ND1mdW5jdGlvbih0KXt0fHwodD1uZXcgci5kZWZhdWx0KTt2YXIgZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscz10aGlzLncsYT1lK2Usbz1uK24sdT1pK2ksbD1lKmEsaD1lKm8sYz1lKnUsdj1uKm8sZj1uKnUscD1pKnUsZD1zKmEseT1zKm8sZz1zKnU7cmV0dXJuIHQuaW5pdChbMS0oditwKSxoK2csYy15LDAsaC1nLDEtKGwrcCksZitkLDAsYyt5LGYtZCwxLShsK3YpLDAsMCwwLDAsMV0pLHR9LHQuZG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQueCplLngrdC55KmUueSt0LnoqZS56K3QudyplLnd9LHQuc3VtPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngrbi54LGkueT1lLnkrbi55LGkuej1lLnorbi56LGkudz1lLncrbi53LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpO3ZhciByPWUueCxzPWUueSxhPWUueixvPWUudyx1PW4ueCxsPW4ueSxoPW4ueixjPW4udztyZXR1cm4gaS54PXIqYytvKnUrcypoLWEqbCxpLnk9cypjK28qbCthKnUtcipoLGkuej1hKmMrbypoK3IqbC1zKnUsaS53PW8qYy1yKnUtcypsLWEqaCxpfSx0LmNyb3NzPWZ1bmN0aW9uKGUsbixpKXtpfHwoaT1uZXcgdCk7dmFyIHI9ZS54LHM9ZS55LGE9ZS56LG89ZS53LHU9bi54LGw9bi55LGg9bi56LGM9bi53O3JldHVybiBpLng9bypoK2EqYytyKmwtcyp1LGkueT1vKmMtcip1LXMqbC1hKmgsaS56PW8qdStyKmMrcypoLWEqbCxpLnc9bypsK3MqYythKnUtcipoLGl9LHQuc2hvcnRNaXg9ZnVuY3Rpb24oZSxuLGkscil7aWYocnx8KHI9bmV3IHQpLGk8PTApcmV0dXJuIHIueHl6dz1lLnh5encscjtpZihpPj0xKXJldHVybiByLnh5enc9bi54eXp3LHI7dmFyIHMsYSxvPXQuZG90KGUsbiksdT1uLmNvcHkoKTtpZihvPDAmJih1LmludmVyc2UoKSxvPS1vKSxvPi45OTk5KXM9MS1pLGE9MCtpO2Vsc2V7dmFyIGw9TWF0aC5zcXJ0KDEtbypvKSxoPU1hdGguYXRhbjIobCxvKSxjPTEvbDtzPU1hdGguc2luKCgxLWkpKmgpKmMsYT1NYXRoLnNpbigoMCtpKSpoKSpjfXJldHVybiByLng9cyplLngrYSp1Lngsci55PXMqZS55K2EqdS55LHIuej1zKmUueithKnUueixyLnc9cyplLncrYSp1Lncscn0sdC5taXg9ZnVuY3Rpb24oZSxuLGkscil7cnx8KHI9bmV3IHQpO3ZhciBzPWUueCpuLngrZS55Km4ueStlLnoqbi56K2UudypuLnc7aWYoTWF0aC5hYnMocyk+PTEpcmV0dXJuIHIueHl6dz1lLnh5encscjt2YXIgYT1NYXRoLmFjb3Mocyksbz1NYXRoLnNxcnQoMS1zKnMpO2lmKE1hdGguYWJzKG8pPC4wMDEpcmV0dXJuIHIueD0uNSplLngrLjUqbi54LHIueT0uNSplLnkrLjUqbi55LHIuej0uNSplLnorLjUqbi56LHIudz0uNSplLncrLjUqbi53LHI7dmFyIHU9TWF0aC5zaW4oKDEtaSkqYSkvbyxsPU1hdGguc2luKGkqYSkvbztyZXR1cm4gci54PWUueCp1K24ueCpsLHIueT1lLnkqdStuLnkqbCxyLno9ZS56KnUrbi56Kmwsci53PWUudyp1K24udypsLHJ9LHQuZnJvbUF4aXNBbmdsZT1mdW5jdGlvbihlLG4saSl7aXx8KGk9bmV3IHQpLG4qPS41O3ZhciByPU1hdGguc2luKG4pO3JldHVybiBpLng9ZS54KnIsaS55PWUueSpyLGkuej1lLnoqcixpLnc9TWF0aC5jb3MobiksaX0sdC5pZGVudGl0eT0obmV3IHQpLnNldElkZW50aXR5KCksdH0oKTtlLmRlZmF1bHQ9b30sZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pO3ZhciBpPW4oNikscj1uKDQpLHM9bigzKSxhPW4oMiksbz1uKDApLHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoOSksdm9pZCAwIT09dCYmdGhpcy5pbml0KHQpfXJldHVybiB0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTw5O2UrKyl0aGlzLnZhbHVlc1tlXT10W2VdO3JldHVybiB0aGlzfSx0LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8OTt0KyspdGhpcy52YWx1ZXNbdF09MH0sdC5wcm90b3R5cGUuY29weT1mdW5jdGlvbihlKXtlfHwoZT1uZXcgdCk7Zm9yKHZhciBuPTA7bjw5O24rKyllLnZhbHVlc1tuXT10aGlzLnZhbHVlc1tuXTtyZXR1cm4gZX0sdC5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPDk7ZSsrKXRbZV09dGhpcy52YWx1ZXNbZV07cmV0dXJuIHR9LHQucHJvdG90eXBlLnJvdz1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbMyp0KzBdLHRoaXMudmFsdWVzWzMqdCsxXSx0aGlzLnZhbHVlc1szKnQrMl1dfSx0LnByb3RvdHlwZS5jb2w9ZnVuY3Rpb24odCl7cmV0dXJuW3RoaXMudmFsdWVzW3RdLHRoaXMudmFsdWVzW3QrM10sdGhpcy52YWx1ZXNbdCs2XV19LHQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPW8uZXBzaWxvbik7Zm9yKHZhciBuPTA7bjw5O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5kZXRlcm1pbmFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzBdLGU9dGhpcy52YWx1ZXNbMV0sbj10aGlzLnZhbHVlc1syXSxpPXRoaXMudmFsdWVzWzNdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbN10sdT10aGlzLnZhbHVlc1s4XTtyZXR1cm4gdCoodSpyLXMqbykrZSooLXUqaStzKmEpK24qKG8qaS1yKmEpfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0wLHRoaXMudmFsdWVzWzRdPTEsdGhpcy52YWx1ZXNbNV09MCx0aGlzLnZhbHVlc1s2XT0wLHRoaXMudmFsdWVzWzddPTAsdGhpcy52YWx1ZXNbOF09MSx0aGlzfSx0LnByb3RvdHlwZS50cmFuc3Bvc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1sxXSxlPXRoaXMudmFsdWVzWzJdLG49dGhpcy52YWx1ZXNbNV07cmV0dXJuIHRoaXMudmFsdWVzWzFdPXRoaXMudmFsdWVzWzNdLHRoaXMudmFsdWVzWzJdPXRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzNdPXQsdGhpcy52YWx1ZXNbNV09dGhpcy52YWx1ZXNbN10sdGhpcy52YWx1ZXNbNl09ZSx0aGlzLnZhbHVlc1s3XT1uLHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlc1swXSxlPXRoaXMudmFsdWVzWzFdLG49dGhpcy52YWx1ZXNbMl0saT10aGlzLnZhbHVlc1szXSxyPXRoaXMudmFsdWVzWzRdLHM9dGhpcy52YWx1ZXNbNV0sYT10aGlzLnZhbHVlc1s2XSxvPXRoaXMudmFsdWVzWzddLHU9dGhpcy52YWx1ZXNbOF0sbD11KnItcypvLGg9LXUqaStzKmEsYz1vKmktciphLHY9dCpsK2UqaCtuKmM7cmV0dXJuIHY/KHY9MS92LHRoaXMudmFsdWVzWzBdPWwqdix0aGlzLnZhbHVlc1sxXT0oLXUqZStuKm8pKnYsdGhpcy52YWx1ZXNbMl09KHMqZS1uKnIpKnYsdGhpcy52YWx1ZXNbM109aCp2LHRoaXMudmFsdWVzWzRdPSh1KnQtbiphKSp2LHRoaXMudmFsdWVzWzVdPSgtcyp0K24qaSkqdix0aGlzLnZhbHVlc1s2XT1jKnYsdGhpcy52YWx1ZXNbN109KC1vKnQrZSphKSp2LHRoaXMudmFsdWVzWzhdPShyKnQtZSppKSp2LHRoaXMpOm51bGx9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdLHM9dGhpcy52YWx1ZXNbNF0sYT10aGlzLnZhbHVlc1s1XSxvPXRoaXMudmFsdWVzWzZdLHU9dGhpcy52YWx1ZXNbN10sbD10aGlzLnZhbHVlc1s4XSxoPXQuYXQoMCksYz10LmF0KDEpLHY9dC5hdCgyKSxmPXQuYXQoMykscD10LmF0KDQpLGQ9dC5hdCg1KSx5PXQuYXQoNiksZz10LmF0KDcpLHg9dC5hdCg4KTtyZXR1cm4gdGhpcy52YWx1ZXNbMF09aCplK2Mqcit2Km8sdGhpcy52YWx1ZXNbMV09aCpuK2Mqcyt2KnUsdGhpcy52YWx1ZXNbMl09aCppK2MqYSt2KmwsdGhpcy52YWx1ZXNbM109ZiplK3AqcitkKm8sdGhpcy52YWx1ZXNbNF09ZipuK3AqcytkKnUsdGhpcy52YWx1ZXNbNV09ZippK3AqYStkKmwsdGhpcy52YWx1ZXNbNl09eSplK2cqcit4Km8sdGhpcy52YWx1ZXNbN109eSpuK2cqcyt4KnUsdGhpcy52YWx1ZXNbOF09eSppK2cqYSt4KmwsdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHlWZWMyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC54LGk9dC55O3JldHVybiBlPyhlLnh5PVtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSxlKTpuZXcgcy5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rdGhpcy52YWx1ZXNbNl0sbip0aGlzLnZhbHVlc1sxXStpKnRoaXMudmFsdWVzWzRdK3RoaXMudmFsdWVzWzddXSl9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjMz1mdW5jdGlvbih0LGUpe3ZhciBuPXQueCxpPXQueSxyPXQuejtyZXR1cm4gZT8oZS54eXo9W24qdGhpcy52YWx1ZXNbMF0raSp0aGlzLnZhbHVlc1szXStyKnRoaXMudmFsdWVzWzZdLG4qdGhpcy52YWx1ZXNbMV0raSp0aGlzLnZhbHVlc1s0XStyKnRoaXMudmFsdWVzWzddLG4qdGhpcy52YWx1ZXNbMl0raSp0aGlzLnZhbHVlc1s1XStyKnRoaXMudmFsdWVzWzhdXSxlKTpuZXcgYS5kZWZhdWx0KFtuKnRoaXMudmFsdWVzWzBdK2kqdGhpcy52YWx1ZXNbM10rcip0aGlzLnZhbHVlc1s2XSxuKnRoaXMudmFsdWVzWzFdK2kqdGhpcy52YWx1ZXNbNF0rcip0aGlzLnZhbHVlc1s3XSxuKnRoaXMudmFsdWVzWzJdK2kqdGhpcy52YWx1ZXNbNV0rcip0aGlzLnZhbHVlc1s4XV0pfSx0LnByb3RvdHlwZS50b01hdDQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuaW5pdChbdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sMCx0aGlzLnZhbHVlc1szXSx0aGlzLnZhbHVlc1s0XSx0aGlzLnZhbHVlc1s1XSwwLHRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzddLHRoaXMudmFsdWVzWzhdLDAsMCwwLDAsMV0pLHQpOm5ldyBpLmRlZmF1bHQoW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLDAsdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbNF0sdGhpcy52YWx1ZXNbNV0sMCx0aGlzLnZhbHVlc1s2XSx0aGlzLnZhbHVlc1s3XSx0aGlzLnZhbHVlc1s4XSwwLDAsMCwwLDFdKX0sdC5wcm90b3R5cGUudG9RdWF0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scz10aGlzLnZhbHVlc1s0XSxhPXRoaXMudmFsdWVzWzVdLG89dGhpcy52YWx1ZXNbNl0sdT10aGlzLnZhbHVlc1s3XSxsPXRoaXMudmFsdWVzWzhdLGg9dC1zLWwsYz1zLXQtbCx2PWwtdC1zLGY9MCxwPXQrcytsO2g+cCYmKHA9aCxmPTEpLGM+cCYmKHA9YyxmPTIpLHY+cCYmKHA9dixmPTMpO3ZhciBkPS41Kk1hdGguc3FydChwKzEpLHk9LjI1L2QsZz1uZXcgci5kZWZhdWx0O3N3aXRjaChmKXtjYXNlIDA6Zy53PWQsZy54PShhLXUpKnksZy55PShvLW4pKnksZy56PShlLWkpKnk7YnJlYWs7Y2FzZSAxOmcudz0oYS11KSp5LGcueD1kLGcueT0oZStpKSp5LGcuej0obytuKSp5O2JyZWFrO2Nhc2UgMjpnLnc9KG8tbikqeSxnLng9KGUraSkqeSxnLnk9ZCxnLno9KGErdSkqeTticmVhaztjYXNlIDM6Zy53PShlLWkpKnksZy54PShvK24pKnksZy55PShhK3UpKnksZy56PWR9cmV0dXJuIGd9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxyPWUueixzPU1hdGguc3FydChuKm4raSppK3Iqcik7aWYoIXMpcmV0dXJuIG51bGw7MSE9PXMmJihuKj1zPTEvcyxpKj1zLHIqPXMpO3ZhciBhPU1hdGguc2luKHQpLG89TWF0aC5jb3ModCksdT0xLW8sbD10aGlzLnZhbHVlc1swXSxoPXRoaXMudmFsdWVzWzFdLGM9dGhpcy52YWx1ZXNbMl0sdj10aGlzLnZhbHVlc1s0XSxmPXRoaXMudmFsdWVzWzVdLHA9dGhpcy52YWx1ZXNbNl0sZD10aGlzLnZhbHVlc1s4XSx5PXRoaXMudmFsdWVzWzldLGc9dGhpcy52YWx1ZXNbMTBdLHg9bipuKnUrbyxiPWkqbip1K3IqYSx3PXIqbip1LWkqYSxtPW4qaSp1LXIqYSxNPWkqaSp1K28sej1yKmkqdStuKmEsXz1uKnIqdStpKmEsUD1pKnIqdS1uKmEsaz1yKnIqdStvO3JldHVybiB0aGlzLnZhbHVlc1swXT1sKngrdipiK2Qqdyx0aGlzLnZhbHVlc1sxXT1oKngrZipiK3kqdyx0aGlzLnZhbHVlc1syXT1jKngrcCpiK2cqdyx0aGlzLnZhbHVlc1szXT1sKm0rdipNK2Qqeix0aGlzLnZhbHVlc1s0XT1oKm0rZipNK3kqeix0aGlzLnZhbHVlc1s1XT1jKm0rcCpNK2cqeix0aGlzLnZhbHVlc1s2XT1sKl8rdipQK2Qqayx0aGlzLnZhbHVlc1s3XT1oKl8rZipQK3kqayx0aGlzLnZhbHVlc1s4XT1jKl8rcCpQK2cqayx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyksdT1lLmF0KDQpLGw9ZS5hdCg1KSxoPWUuYXQoNiksYz1lLmF0KDcpLHY9ZS5hdCg4KSxmPW4uYXQoMCkscD1uLmF0KDEpLGQ9bi5hdCgyKSx5PW4uYXQoMyksZz1uLmF0KDQpLHg9bi5hdCg1KSxiPW4uYXQoNiksdz1uLmF0KDcpLG09bi5hdCg4KTtyZXR1cm4gaT8oaS5pbml0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pLGkpOm5ldyB0KFtmKnIrcCpvK2QqaCxmKnMrcCp1K2QqYyxmKmErcCpsK2Qqdix5KnIrZypvK3gqaCx5KnMrZyp1K3gqYyx5KmErZypsK3gqdixiKnIrdypvK20qaCxiKnMrdyp1K20qYyxiKmErdypsK20qdl0pfSx0LmlkZW50aXR5PShuZXcgdCkuc2V0SWRlbnRpdHkoKSx0fSgpO2UuZGVmYXVsdD11fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9big1KSxyPW4oMikscz1uKDEwKSxhPW4oMCksbz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSgxNiksdm9pZCAwIT09dCYmdGhpcy5pbml0KHQpfXJldHVybiB0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTwxNjtlKyspdGhpcy52YWx1ZXNbZV09dFtlXTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MDt0PDE2O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDE2O24rKyllLnZhbHVlc1tuXT10aGlzLnZhbHVlc1tuXTtyZXR1cm4gZX0sdC5wcm90b3R5cGUuYWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9MDtlPDE2O2UrKyl0W2VdPXRoaXMudmFsdWVzW2VdO3JldHVybiB0fSx0LnByb3RvdHlwZS5yb3c9ZnVuY3Rpb24odCl7cmV0dXJuW3RoaXMudmFsdWVzWzQqdCswXSx0aGlzLnZhbHVlc1s0KnQrMV0sdGhpcy52YWx1ZXNbNCp0KzJdLHRoaXMudmFsdWVzWzQqdCszXV19LHQucHJvdG90eXBlLmNvbD1mdW5jdGlvbih0KXtyZXR1cm5bdGhpcy52YWx1ZXNbdF0sdGhpcy52YWx1ZXNbdCs0XSx0aGlzLnZhbHVlc1t0KzhdLHRoaXMudmFsdWVzW3QrMTJdXX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9YS5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDE2O24rKylpZihNYXRoLmFicyh0aGlzLnZhbHVlc1tuXS10LmF0KG4pKT5lKXJldHVybiExO3JldHVybiEwfSx0LnByb3RvdHlwZS5kZXRlcm1pbmFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzBdLGU9dGhpcy52YWx1ZXNbMV0sbj10aGlzLnZhbHVlc1syXSxpPXRoaXMudmFsdWVzWzNdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbN10sdT10aGlzLnZhbHVlc1s4XSxsPXRoaXMudmFsdWVzWzldLGg9dGhpcy52YWx1ZXNbMTBdLGM9dGhpcy52YWx1ZXNbMTFdLHY9dGhpcy52YWx1ZXNbMTJdLGY9dGhpcy52YWx1ZXNbMTNdLHA9dGhpcy52YWx1ZXNbMTRdLGQ9dGhpcy52YWx1ZXNbMTVdO3JldHVybih0KnMtZSpyKSooaCpkLWMqcCktKHQqYS1uKnIpKihsKmQtYypmKSsodCpvLWkqcikqKGwqcC1oKmYpKyhlKmEtbipzKSoodSpkLWMqdiktKGUqby1pKnMpKih1KnAtaCp2KSsobipvLWkqYSkqKHUqZi1sKnYpfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0wLHRoaXMudmFsdWVzWzRdPTAsdGhpcy52YWx1ZXNbNV09MSx0aGlzLnZhbHVlc1s2XT0wLHRoaXMudmFsdWVzWzddPTAsdGhpcy52YWx1ZXNbOF09MCx0aGlzLnZhbHVlc1s5XT0wLHRoaXMudmFsdWVzWzEwXT0xLHRoaXMudmFsdWVzWzExXT0wLHRoaXMudmFsdWVzWzEyXT0wLHRoaXMudmFsdWVzWzEzXT0wLHRoaXMudmFsdWVzWzE0XT0wLHRoaXMudmFsdWVzWzE1XT0xLHRoaXN9LHQucHJvdG90eXBlLnRyYW5zcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzFdLGU9dGhpcy52YWx1ZXNbMl0sbj10aGlzLnZhbHVlc1szXSxpPXRoaXMudmFsdWVzWzZdLHI9dGhpcy52YWx1ZXNbN10scz10aGlzLnZhbHVlc1sxMV07cmV0dXJuIHRoaXMudmFsdWVzWzFdPXRoaXMudmFsdWVzWzRdLHRoaXMudmFsdWVzWzJdPXRoaXMudmFsdWVzWzhdLHRoaXMudmFsdWVzWzNdPXRoaXMudmFsdWVzWzEyXSx0aGlzLnZhbHVlc1s0XT10LHRoaXMudmFsdWVzWzZdPXRoaXMudmFsdWVzWzldLHRoaXMudmFsdWVzWzddPXRoaXMudmFsdWVzWzEzXSx0aGlzLnZhbHVlc1s4XT1lLHRoaXMudmFsdWVzWzldPWksdGhpcy52YWx1ZXNbMTFdPXRoaXMudmFsdWVzWzE0XSx0aGlzLnZhbHVlc1sxMl09bix0aGlzLnZhbHVlc1sxM109cix0aGlzLnZhbHVlc1sxNF09cyx0aGlzfSx0LnByb3RvdHlwZS5pbnZlcnNlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLGk9dGhpcy52YWx1ZXNbM10scj10aGlzLnZhbHVlc1s0XSxzPXRoaXMudmFsdWVzWzVdLGE9dGhpcy52YWx1ZXNbNl0sbz10aGlzLnZhbHVlc1s3XSx1PXRoaXMudmFsdWVzWzhdLGw9dGhpcy52YWx1ZXNbOV0saD10aGlzLnZhbHVlc1sxMF0sYz10aGlzLnZhbHVlc1sxMV0sdj10aGlzLnZhbHVlc1sxMl0sZj10aGlzLnZhbHVlc1sxM10scD10aGlzLnZhbHVlc1sxNF0sZD10aGlzLnZhbHVlc1sxNV0seT10KnMtZSpyLGc9dCphLW4qcix4PXQqby1pKnIsYj1lKmEtbipzLHc9ZSpvLWkqcyxtPW4qby1pKmEsTT11KmYtbCp2LHo9dSpwLWgqdixfPXUqZC1jKnYsUD1sKnAtaCpmLGs9bCpkLWMqZixBPWgqZC1jKnAsUz15KkEtZyprK3gqUCtiKl8tdyp6K20qTTtyZXR1cm4gUz8oUz0xL1MsdGhpcy52YWx1ZXNbMF09KHMqQS1hKmsrbypQKSpTLHRoaXMudmFsdWVzWzFdPSgtZSpBK24qay1pKlApKlMsdGhpcy52YWx1ZXNbMl09KGYqbS1wKncrZCpiKSpTLHRoaXMudmFsdWVzWzNdPSgtbCptK2gqdy1jKmIpKlMsdGhpcy52YWx1ZXNbNF09KC1yKkErYSpfLW8qeikqUyx0aGlzLnZhbHVlc1s1XT0odCpBLW4qXytpKnopKlMsdGhpcy52YWx1ZXNbNl09KC12Km0rcCp4LWQqZykqUyx0aGlzLnZhbHVlc1s3XT0odSptLWgqeCtjKmcpKlMsdGhpcy52YWx1ZXNbOF09KHIqay1zKl8rbypNKSpTLHRoaXMudmFsdWVzWzldPSgtdCprK2UqXy1pKk0pKlMsdGhpcy52YWx1ZXNbMTBdPSh2KnctZip4K2QqeSkqUyx0aGlzLnZhbHVlc1sxMV09KC11KncrbCp4LWMqeSkqUyx0aGlzLnZhbHVlc1sxMl09KC1yKlArcyp6LWEqTSkqUyx0aGlzLnZhbHVlc1sxM109KHQqUC1lKnorbipNKSpTLHRoaXMudmFsdWVzWzE0XT0oLXYqYitmKmctcCp5KSpTLHRoaXMudmFsdWVzWzE1XT0odSpiLWwqZytoKnkpKlMsdGhpcyk6bnVsbH0sdC5wcm90b3R5cGUubXVsdGlwbHk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52YWx1ZXNbMF0sbj10aGlzLnZhbHVlc1sxXSxpPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbM10scz10aGlzLnZhbHVlc1s0XSxhPXRoaXMudmFsdWVzWzVdLG89dGhpcy52YWx1ZXNbNl0sdT10aGlzLnZhbHVlc1s3XSxsPXRoaXMudmFsdWVzWzhdLGg9dGhpcy52YWx1ZXNbOV0sYz10aGlzLnZhbHVlc1sxMF0sdj10aGlzLnZhbHVlc1sxMV0sZj10aGlzLnZhbHVlc1sxMl0scD10aGlzLnZhbHVlc1sxM10sZD10aGlzLnZhbHVlc1sxNF0seT10aGlzLnZhbHVlc1sxNV0sZz10LmF0KDApLHg9dC5hdCgxKSxiPXQuYXQoMiksdz10LmF0KDMpO3JldHVybiB0aGlzLnZhbHVlc1swXT1nKmUreCpzK2IqbCt3KmYsdGhpcy52YWx1ZXNbMV09ZypuK3gqYStiKmgrdypwLHRoaXMudmFsdWVzWzJdPWcqaSt4Km8rYipjK3cqZCx0aGlzLnZhbHVlc1szXT1nKnIreCp1K2Iqdit3KnksZz10LmF0KDQpLHg9dC5hdCg1KSxiPXQuYXQoNiksdz10LmF0KDcpLHRoaXMudmFsdWVzWzRdPWcqZSt4KnMrYipsK3cqZix0aGlzLnZhbHVlc1s1XT1nKm4reCphK2IqaCt3KnAsdGhpcy52YWx1ZXNbNl09ZyppK3gqbytiKmMrdypkLHRoaXMudmFsdWVzWzddPWcqcit4KnUrYip2K3cqeSxnPXQuYXQoOCkseD10LmF0KDkpLGI9dC5hdCgxMCksdz10LmF0KDExKSx0aGlzLnZhbHVlc1s4XT1nKmUreCpzK2IqbCt3KmYsdGhpcy52YWx1ZXNbOV09ZypuK3gqYStiKmgrdypwLHRoaXMudmFsdWVzWzEwXT1nKmkreCpvK2IqYyt3KmQsdGhpcy52YWx1ZXNbMTFdPWcqcit4KnUrYip2K3cqeSxnPXQuYXQoMTIpLHg9dC5hdCgxMyksYj10LmF0KDE0KSx3PXQuYXQoMTUpLHRoaXMudmFsdWVzWzEyXT1nKmUreCpzK2IqbCt3KmYsdGhpcy52YWx1ZXNbMTNdPWcqbit4KmErYipoK3cqcCx0aGlzLnZhbHVlc1sxNF09ZyppK3gqbytiKmMrdypkLHRoaXMudmFsdWVzWzE1XT1nKnIreCp1K2Iqdit3KnksdGhpc30sdC5wcm90b3R5cGUubXVsdGlwbHlWZWMzPWZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueSxpPXQuejtyZXR1cm4gbmV3IHIuZGVmYXVsdChbdGhpcy52YWx1ZXNbMF0qZSt0aGlzLnZhbHVlc1s0XSpuK3RoaXMudmFsdWVzWzhdKmkrdGhpcy52YWx1ZXNbMTJdLHRoaXMudmFsdWVzWzFdKmUrdGhpcy52YWx1ZXNbNV0qbit0aGlzLnZhbHVlc1s5XSppK3RoaXMudmFsdWVzWzEzXSx0aGlzLnZhbHVlc1syXSplK3RoaXMudmFsdWVzWzZdKm4rdGhpcy52YWx1ZXNbMTBdKmkrdGhpcy52YWx1ZXNbMTRdXSl9LHQucHJvdG90eXBlLm11bHRpcGx5VmVjND1mdW5jdGlvbih0LGUpe2V8fChlPW5ldyBzLmRlZmF1bHQpO3ZhciBuPXQueCxpPXQueSxyPXQueixhPXQudztyZXR1cm4gZS54PXRoaXMudmFsdWVzWzBdKm4rdGhpcy52YWx1ZXNbNF0qaSt0aGlzLnZhbHVlc1s4XSpyK3RoaXMudmFsdWVzWzEyXSphLGUueT10aGlzLnZhbHVlc1sxXSpuK3RoaXMudmFsdWVzWzVdKmkrdGhpcy52YWx1ZXNbOV0qcit0aGlzLnZhbHVlc1sxM10qYSxlLno9dGhpcy52YWx1ZXNbMl0qbit0aGlzLnZhbHVlc1s2XSppK3RoaXMudmFsdWVzWzEwXSpyK3RoaXMudmFsdWVzWzE0XSphLGUudz10aGlzLnZhbHVlc1szXSpuK3RoaXMudmFsdWVzWzddKmkrdGhpcy52YWx1ZXNbMTFdKnIrdGhpcy52YWx1ZXNbMTVdKmEsZX0sdC5wcm90b3R5cGUudG9NYXQzPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpLmRlZmF1bHQoW3RoaXMudmFsdWVzWzBdLHRoaXMudmFsdWVzWzFdLHRoaXMudmFsdWVzWzJdLHRoaXMudmFsdWVzWzRdLHRoaXMudmFsdWVzWzVdLHRoaXMudmFsdWVzWzZdLHRoaXMudmFsdWVzWzhdLHRoaXMudmFsdWVzWzldLHRoaXMudmFsdWVzWzEwXV0pfSx0LnByb3RvdHlwZS50b0ludmVyc2VNYXQzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy52YWx1ZXNbMF0sZT10aGlzLnZhbHVlc1sxXSxuPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbNF0scz10aGlzLnZhbHVlc1s1XSxhPXRoaXMudmFsdWVzWzZdLG89dGhpcy52YWx1ZXNbOF0sdT10aGlzLnZhbHVlc1s5XSxsPXRoaXMudmFsdWVzWzEwXSxoPWwqcy1hKnUsYz0tbCpyK2Eqbyx2PXUqci1zKm8sZj10KmgrZSpjK24qdjtyZXR1cm4gZj8oZj0xL2YsbmV3IGkuZGVmYXVsdChbaCpmLCgtbCplK24qdSkqZiwoYSplLW4qcykqZixjKmYsKGwqdC1uKm8pKmYsKC1hKnQrbipyKSpmLHYqZiwoLXUqdCtlKm8pKmYsKHMqdC1lKnIpKmZdKSk6bnVsbH0sdC5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueSxpPXQuejtyZXR1cm4gdGhpcy52YWx1ZXNbMTJdKz10aGlzLnZhbHVlc1swXSplK3RoaXMudmFsdWVzWzRdKm4rdGhpcy52YWx1ZXNbOF0qaSx0aGlzLnZhbHVlc1sxM10rPXRoaXMudmFsdWVzWzFdKmUrdGhpcy52YWx1ZXNbNV0qbit0aGlzLnZhbHVlc1s5XSppLHRoaXMudmFsdWVzWzE0XSs9dGhpcy52YWx1ZXNbMl0qZSt0aGlzLnZhbHVlc1s2XSpuK3RoaXMudmFsdWVzWzEwXSppLHRoaXMudmFsdWVzWzE1XSs9dGhpcy52YWx1ZXNbM10qZSt0aGlzLnZhbHVlc1s3XSpuK3RoaXMudmFsdWVzWzExXSppLHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXQueCxuPXQueSxpPXQuejtyZXR1cm4gdGhpcy52YWx1ZXNbMF0qPWUsdGhpcy52YWx1ZXNbMV0qPWUsdGhpcy52YWx1ZXNbMl0qPWUsdGhpcy52YWx1ZXNbM10qPWUsdGhpcy52YWx1ZXNbNF0qPW4sdGhpcy52YWx1ZXNbNV0qPW4sdGhpcy52YWx1ZXNbNl0qPW4sdGhpcy52YWx1ZXNbN10qPW4sdGhpcy52YWx1ZXNbOF0qPWksdGhpcy52YWx1ZXNbOV0qPWksdGhpcy52YWx1ZXNbMTBdKj1pLHRoaXMudmFsdWVzWzExXSo9aSx0aGlzfSx0LnByb3RvdHlwZS5yb3RhdGU9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLngsaT1lLnkscj1lLnoscz1NYXRoLnNxcnQobipuK2kqaStyKnIpO2lmKCFzKXJldHVybiBudWxsOzEhPT1zJiYobio9cz0xL3MsaSo9cyxyKj1zKTt2YXIgYT1NYXRoLnNpbih0KSxvPU1hdGguY29zKHQpLHU9MS1vLGw9dGhpcy52YWx1ZXNbMF0saD10aGlzLnZhbHVlc1sxXSxjPXRoaXMudmFsdWVzWzJdLHY9dGhpcy52YWx1ZXNbM10sZj10aGlzLnZhbHVlc1s0XSxwPXRoaXMudmFsdWVzWzVdLGQ9dGhpcy52YWx1ZXNbNl0seT10aGlzLnZhbHVlc1s3XSxnPXRoaXMudmFsdWVzWzhdLHg9dGhpcy52YWx1ZXNbOV0sYj10aGlzLnZhbHVlc1sxMF0sdz10aGlzLnZhbHVlc1sxMV0sbT1uKm4qdStvLE09aSpuKnUrciphLHo9cipuKnUtaSphLF89bippKnUtciphLFA9aSppKnUrbyxrPXIqaSp1K24qYSxBPW4qcip1K2kqYSxTPWkqcip1LW4qYSxUPXIqcip1K287cmV0dXJuIHRoaXMudmFsdWVzWzBdPWwqbStmKk0rZyp6LHRoaXMudmFsdWVzWzFdPWgqbStwKk0reCp6LHRoaXMudmFsdWVzWzJdPWMqbStkKk0rYip6LHRoaXMudmFsdWVzWzNdPXYqbSt5Kk0rdyp6LHRoaXMudmFsdWVzWzRdPWwqXytmKlArZyprLHRoaXMudmFsdWVzWzVdPWgqXytwKlAreCprLHRoaXMudmFsdWVzWzZdPWMqXytkKlArYiprLHRoaXMudmFsdWVzWzddPXYqXyt5KlArdyprLHRoaXMudmFsdWVzWzhdPWwqQStmKlMrZypULHRoaXMudmFsdWVzWzldPWgqQStwKlMreCpULHRoaXMudmFsdWVzWzEwXT1jKkErZCpTK2IqVCx0aGlzLnZhbHVlc1sxMV09dipBK3kqUyt3KlQsdGhpc30sdC5mcnVzdHVtPWZ1bmN0aW9uKGUsbixpLHIscyxhKXt2YXIgbz1uLWUsdT1yLWksbD1hLXM7cmV0dXJuIG5ldyB0KFsyKnMvbywwLDAsMCwwLDIqcy91LDAsMCwobitlKS9vLChyK2kpL3UsLShhK3MpL2wsLTEsMCwwLC1hKnMqMi9sLDBdKX0sdC5wZXJzcGVjdGl2ZT1mdW5jdGlvbihlLG4saSxyKXt2YXIgcz1pKk1hdGgudGFuKGUqTWF0aC5QSS8zNjApLGE9cypuO3JldHVybiB0LmZydXN0dW0oLWEsYSwtcyxzLGkscil9LHQub3J0aG9ncmFwaGljPWZ1bmN0aW9uKGUsbixpLHIscyxhKXt2YXIgbz1uLWUsdT1yLWksbD1hLXM7cmV0dXJuIG5ldyB0KFsyL28sMCwwLDAsMCwyL3UsMCwwLDAsMCwtMi9sLDAsLShlK24pL28sLShyK2kpL3UsLShhK3MpL2wsMV0pfSx0Lmxvb2tBdD1mdW5jdGlvbihlLG4saSl7aWYodm9pZCAwPT09aSYmKGk9ci5kZWZhdWx0LnVwKSxlLmVxdWFscyhuKSlyZXR1cm4gdGhpcy5pZGVudGl0eTt2YXIgcz1yLmRlZmF1bHQuZGlmZmVyZW5jZShlLG4pLm5vcm1hbGl6ZSgpLGE9ci5kZWZhdWx0LmNyb3NzKGkscykubm9ybWFsaXplKCksbz1yLmRlZmF1bHQuY3Jvc3MocyxhKS5ub3JtYWxpemUoKTtyZXR1cm4gbmV3IHQoW2EueCxvLngscy54LDAsYS55LG8ueSxzLnksMCxhLnosby56LHMueiwwLC1yLmRlZmF1bHQuZG90KGEsZSksLXIuZGVmYXVsdC5kb3QobyxlKSwtci5kZWZhdWx0LmRvdChzLGUpLDFdKX0sdC5wcm9kdWN0PWZ1bmN0aW9uKGUsbixpKXt2YXIgcj1lLmF0KDApLHM9ZS5hdCgxKSxhPWUuYXQoMiksbz1lLmF0KDMpLHU9ZS5hdCg0KSxsPWUuYXQoNSksaD1lLmF0KDYpLGM9ZS5hdCg3KSx2PWUuYXQoOCksZj1lLmF0KDkpLHA9ZS5hdCgxMCksZD1lLmF0KDExKSx5PWUuYXQoMTIpLGc9ZS5hdCgxMykseD1lLmF0KDE0KSxiPWUuYXQoMTUpLHc9bi5hdCgwKSxtPW4uYXQoMSksTT1uLmF0KDIpLHo9bi5hdCgzKSxfPW4uYXQoNCksUD1uLmF0KDUpLGs9bi5hdCg2KSxBPW4uYXQoNyksUz1uLmF0KDgpLFQ9bi5hdCg5KSxJPW4uYXQoMTApLE89bi5hdCgxMSksUj1uLmF0KDEyKSxFPW4uYXQoMTMpLE49bi5hdCgxNCksaj1uLmF0KDE1KTtyZXR1cm4gaT8oaS5pbml0KFt3KnIrbSp1K00qdit6KnksdypzK20qbCtNKmYreipnLHcqYSttKmgrTSpwK3oqeCx3Km8rbSpjK00qZCt6KmIsXypyK1AqdStrKnYrQSp5LF8qcytQKmwraypmK0EqZyxfKmErUCpoK2sqcCtBKngsXypvK1AqYytrKmQrQSpiLFMqcitUKnUrSSp2K08qeSxTKnMrVCpsK0kqZitPKmcsUyphK1QqaCtJKnArTyp4LFMqbytUKmMrSSpkK08qYixSKnIrRSp1K04qditqKnksUipzK0UqbCtOKmYraipnLFIqYStFKmgrTipwK2oqeCxSKm8rRSpjK04qZCtqKmJdKSxpKTpuZXcgdChbdypyK20qdStNKnYreip5LHcqcyttKmwrTSpmK3oqZyx3KmErbSpoK00qcCt6KngsdypvK20qYytNKmQreipiLF8qcitQKnUrayp2K0EqeSxfKnMrUCpsK2sqZitBKmcsXyphK1AqaCtrKnArQSp4LF8qbytQKmMraypkK0EqYixTKnIrVCp1K0kqditPKnksUypzK1QqbCtJKmYrTypnLFMqYStUKmgrSSpwK08qeCxTKm8rVCpjK0kqZCtPKmIsUipyK0UqdStOKnYraip5LFIqcytFKmwrTipmK2oqZyxSKmErRSpoK04qcCtqKngsUipvK0UqYytOKmQraipiXSl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PW99LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSxlLkF2PWUuQWN0aW9uVHlwZT1lLmhhbmRUb0RldmljZT1lLkRldmljZT1lLklucHV0PWUuSW50ZXJhY3Rpb25Qcm9maWxlPWUuUGFuZWxNb3VzZUV2ZW50VHlwZT12b2lkIDA7Y29uc3QgaT1uKDgpO3ZhciByOyFmdW5jdGlvbih0KXt0W3QuVW5rbm93bj0wXT1cIlVua25vd25cIix0W3QuRG93bj0xXT1cIkRvd25cIix0W3QuVXA9Ml09XCJVcFwiLHRbdC5FbnRlcj0zXT1cIkVudGVyXCIsdFt0LkxlYXZlPTRdPVwiTGVhdmVcIix0W3QuTW92ZT01XT1cIk1vdmVcIn0oZS5QYW5lbE1vdXNlRXZlbnRUeXBlfHwoZS5QYW5lbE1vdXNlRXZlbnRUeXBlPXt9KSksZnVuY3Rpb24odCl7dC5WaXZlQ29udHJvbGxlcj1cIi9pbnRlcmFjdGlvbl9wcm9maWxlcy9odGMvdml2ZV9jb250cm9sbGVyXCIsdC5Db3Ntb3NDb250cm9sbGVyPVwiL2ludGVyYWN0aW9uX3Byb2ZpbGVzL2h0Yy9jb3Ntb3NfY29udHJvbGxlclwiLHQuUmV2ZXJiRzJDb250cm9sbGVyPVwiL2ludGVyYWN0aW9uX3Byb2ZpbGVzL21pY3Jvc29mdC9ocG1vdGlvbmNvbnRyb2xsZXJcIix0Lk1peGVkUmVhbGl0eUNvbnRyb2xsZXI9XCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvbWljcm9zb2Z0L21vdGlvbl9jb250cm9sbGVyXCIsdC5Ub3VjaENvbnRyb2xsZXI9XCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvb2N1bHVzL3RvdWNoXCIsdC5JbmRleENvbnRyb2xsZXI9XCIvaW50ZXJhY3Rpb25fcHJvZmlsZXMvdmFsdmUvaW5kZXhfY29udHJvbGxlclwifShlLkludGVyYWN0aW9uUHJvZmlsZXx8KGUuSW50ZXJhY3Rpb25Qcm9maWxlPXt9KSksZnVuY3Rpb24odCl7dC5UcmlnZ2VyPVwiL2lucHV0L3RyaWdnZXJcIix0LlRyaWdnZXJUb3VjaD1cIi9pbnB1dC90cmlnZ2VyL3RvdWNoXCIsdC5UcmlnZ2VyQ2xpY2s9XCIvaW5wdXQvdHJpZ2dlci9jbGlja1wiLHQuVHJpZ2dlclZhbHVlPVwiL2lucHV0L3RyaWdnZXIvdmFsdWVcIix0LlNxdWVlemU9XCIvaW5wdXQvc3F1ZWV6ZVwiLHQuU3F1ZWV6ZVRvdWNoPVwiL2lucHV0L3NxdWVlemUvdG91Y2hcIix0LlNxdWVlemVDbGljaz1cIi9pbnB1dC9zcXVlZXplL2NsaWNrXCIsdC5TcXVlZXplVmFsdWU9XCIvaW5wdXQvc3F1ZWV6ZS92YWx1ZVwiLHQuU3F1ZWV6ZUZvcmNlPVwiL2lucHV0L3NxdWVlemUvZm9yY2VcIix0LkE9XCIvaW5wdXQvYVwiLHQuQVRvdWNoPVwiL2lucHV0L2EvdG91Y2hcIix0LkFDbGljaz1cIi9pbnB1dC9hL2NsaWNrXCIsdC5CPVwiL2lucHV0L2JcIix0LkJUb3VjaD1cIi9pbnB1dC9iL3RvdWNoXCIsdC5CQ2xpY2s9XCIvaW5wdXQvYi9jbGlja1wiLHQuWD1cIi9pbnB1dC94XCIsdC5YVG91Y2g9XCIvaW5wdXQveC90b3VjaFwiLHQuWENsaWNrPVwiL2lucHV0L3gvY2xpY2tcIix0Llk9XCIvaW5wdXQveVwiLHQuWVRvdWNoPVwiL2lucHV0L3kvdG91Y2hcIix0LllDbGljaz1cIi9pbnB1dC95L2NsaWNrXCIsdC5NZW51PVwiL2lucHV0L21lbnVcIix0Lk1lbnVUb3VjaD1cIi9pbnB1dC9tZW51L3RvdWNoXCIsdC5NZW51Q2xpY2s9XCIvaW5wdXQvbWVudS9jbGlja1wiLHQuVHJhY2twYWQ9XCIvaW5wdXQvdHJhY2twYWRcIix0LlRyYWNrcGFkVG91Y2g9XCIvaW5wdXQvdHJhY2twYWQvdG91Y2hcIix0LlRyYWNrcGFkQ2xpY2s9XCIvaW5wdXQvdHJhY2twYWQvY2xpY2tcIix0LlRyYWNrcGFkRm9yY2U9XCIvaW5wdXQvdHJhY2twYWQvZm9yY2VcIix0LlRyYWNrcGFkWD1cIi9pbnB1dC90cmFja3BhZC94XCIsdC5UcmFja3BhZFk9XCIvaW5wdXQvdHJhY2twYWQveVwiLHQuVGh1bWJzdGljaz1cIi9pbnB1dC90aHVtYnN0aWNrXCIsdC5UaHVtYnN0aWNrVG91Y2g9XCIvaW5wdXQvdGh1bWJzdGljay90b3VjaFwiLHQuVGh1bWJzdGlja0NsaWNrPVwiL2lucHV0L3RodW1ic3RpY2svY2xpY2tcIix0LlRodW1ic3RpY2tGb3JjZT1cIi9pbnB1dC90aHVtYnN0aWNrL2ZvcmNlXCIsdC5UaHVtYnN0aWNrWD1cIi9pbnB1dC90aHVtYnN0aWNrL3hcIix0LlRodW1ic3RpY2tZPVwiL2lucHV0L3RodW1ic3RpY2sveVwifShlLklucHV0fHwoZS5JbnB1dD17fSkpLGZ1bmN0aW9uKHQpe3QuTGVmdD1cIi91c2VyL2hhbmQvbGVmdFwiLHQuUmlnaHQ9XCIvdXNlci9oYW5kL3JpZ2h0XCJ9KHI9ZS5EZXZpY2V8fChlLkRldmljZT17fSkpLGUuaGFuZFRvRGV2aWNlPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIGkuRUhhbmQuTGVmdDpyZXR1cm4gci5MZWZ0O2Nhc2UgaS5FSGFuZC5SaWdodDpyZXR1cm4gci5SaWdodH19LGZ1bmN0aW9uKHQpe3RbdC5Vbmtub3duPS0xXT1cIlVua25vd25cIix0W3QuQm9vbGVhbj0wXT1cIkJvb2xlYW5cIix0W3QuRmxvYXQ9MV09XCJGbG9hdFwiLHRbdC5WZWN0b3IyPTJdPVwiVmVjdG9yMlwifShlLkFjdGlvblR5cGV8fChlLkFjdGlvblR5cGU9e30pKSxlLkF2PWZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PT13aW5kb3d8fHZvaWQgMD09PXdpbmRvdz92b2lkIDA6d2luZG93LmFhcmR2YXJrfX0sZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWUuZ2FkZ2V0RGV0YWlsc1RvSWQ9ZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWUuZW1wdHlBY3Rpb25TdGF0ZT1lLkVBY3Rpb249ZS5QZXJtaXNzaW9uPWUuRVRleHR1cmVGb3JtYXQ9ZS5FVGV4dHVyZVR5cGU9ZS5FSGFuZD1lLkVOb2RlRmxhZ3M9ZS5yYXlWb2x1bWU9ZS5zcGhlcmVWb2x1bWU9ZS5tb2RlbEJveFZvbHVtZT1lLmluZmluaXRlVm9sdW1lPWUuZW1wdHlWb2x1bWU9ZS5FVm9sdW1lQ29udGV4dD1lLkVWb2x1bWVUeXBlPWUuaW50ZXJmYWNlU3RyaW5nRnJvbU1zZz1lLmludGVyZmFjZVRvU3RyaW5nPWUuQXZOb2RlVHlwZT1lLkludGVyZmFjZUxvY2tSZXN1bHQ9ZS5wYXJzZUVudmVsb3BlPWUuaXNVc2VyQWdlbnRBYXJkdmFyaz1lLmNvbXB1dGVFbmRwb2ludEZpZWxkVXJpPWUuaW5kZXhPZkVuZHBvaW50QWRkcnM9ZS5lbmRwb2ludEFkZHJzTWF0Y2g9ZS5lbmRwb2ludEFkZHJJc0VtcHR5PWUuc3RyaW5nVG9FbmRwb2ludEFkZHI9ZS5lbmRwb2ludEFkZHJUb1N0cmluZz1lLkVuZHBvaW50VHlwZT1lLldlYlNvY2tldENsb3NlQ29kZXM9ZS5NZXNzYWdlVHlwZT1lLkFhcmR2YXJrUG9ydD12b2lkIDA7Y29uc3QgaT1uKDkpLHI9bigxMSk7dmFyIHMsYTtmdW5jdGlvbiBvKHQpe3N3aXRjaCh0KXtjYXNlXCJIXCI6cmV0dXJuIHMuSHViO2Nhc2VcIkdcIjpyZXR1cm4gcy5HYWRnZXQ7Y2FzZVwiTlwiOnJldHVybiBzLk5vZGU7Y2FzZVwiTVwiOnJldHVybiBzLk1vbml0b3I7Y2FzZVwiUlwiOnJldHVybiBzLlJlbmRlcmVyO2RlZmF1bHQ6cmV0dXJuIHMuVW5rbm93bn19ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdD9mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSBzLkh1YjpyZXR1cm5cIkhcIjtjYXNlIHMuR2FkZ2V0OnJldHVyblwiR1wiO2Nhc2Ugcy5Ob2RlOnJldHVyblwiTlwiO2Nhc2Ugcy5Nb25pdG9yOnJldHVyblwiTVwiO2Nhc2Ugcy5SZW5kZXJlcjpyZXR1cm5cIlJcIjtjYXNlIHMuVW5rbm93bjpyZXR1cm5cIlVcIjtkZWZhdWx0OnJldHVyblwiP1wifX0odC50eXBlKStcIjpcIisodC5lbmRwb2ludElkP3QuZW5kcG9pbnRJZDowKStcIjpcIisodC5ub2RlSWQ/dC5ub2RlSWQ6MCk6bnVsbH1mdW5jdGlvbiBsKHQpe3JldHVybiBudWxsPT10fHxudWxsPT10LnR5cGV8fHQudHlwZT09cy5Vbmtub3dufWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gbCh0KT9sKGUpOiFsKGUpJiYodC50eXBlPT1lLnR5cGUmJnQubm9kZUlkPT1lLm5vZGVJZCYmdC5lbmRwb2ludElkPT1lLmVuZHBvaW50SWQpfWZ1bmN0aW9uIGModCxlLG4pe3JldHVybiB1KHQpK1wiLT5cIit1KGUpK1wiKFwiK24rXCIpXCJ9ZS5BYXJkdmFya1BvcnQ9MjM4NDIsZnVuY3Rpb24odCl7dFt0LlNldEVuZHBvaW50VHlwZT0xMDBdPVwiU2V0RW5kcG9pbnRUeXBlXCIsdFt0LlNldEVuZHBvaW50VHlwZVJlc3BvbnNlPTEwMV09XCJTZXRFbmRwb2ludFR5cGVSZXNwb25zZVwiLHRbdC5FcnJvcj0xMDJdPVwiRXJyb3JcIix0W3QuR2V0QWFyZHZhcmtNYW5pZmVzdD0xMDNdPVwiR2V0QWFyZHZhcmtNYW5pZmVzdFwiLHRbdC5HZXRBYXJkdmFya01hbmlmZXN0UmVzcG9uc2U9MTA0XT1cIkdldEFhcmR2YXJrTWFuaWZlc3RSZXNwb25zZVwiLHRbdC5OZXdFbmRwb2ludD0yMDBdPVwiTmV3RW5kcG9pbnRcIix0W3QuTG9zdEVuZHBvaW50PTIwMV09XCJMb3N0RW5kcG9pbnRcIix0W3QuT3ZlcnJpZGVUcmFuc2Zvcm09MjAyXT1cIk92ZXJyaWRlVHJhbnNmb3JtXCIsdFt0LlVwZGF0ZVNjZW5lR3JhcGg9MzAwXT1cIlVwZGF0ZVNjZW5lR3JhcGhcIix0W3QuR2FkZ2V0U3RhcnRlZD0zMDNdPVwiR2FkZ2V0U3RhcnRlZFwiLHRbdC5Ob2RlSGFwdGljPTMwNl09XCJOb2RlSGFwdGljXCIsdFt0LlNhdmVTZXR0aW5ncz0zMTBdPVwiU2F2ZVNldHRpbmdzXCIsdFt0LlVwZGF0ZUFjdGlvblN0YXRlPTMxMV09XCJVcGRhdGVBY3Rpb25TdGF0ZVwiLHRbdC5EZXN0cm95R2FkZ2V0PTMxMl09XCJEZXN0cm95R2FkZ2V0XCIsdFt0LlJlc291cmNlTG9hZEZhaWxlZD0zMTNdPVwiUmVzb3VyY2VMb2FkRmFpbGVkXCIsdFt0LkludGVyZmFjZUV2ZW50PTMxNl09XCJJbnRlcmZhY2VFdmVudFwiLHRbdC5HZXRJbnN0YWxsZWRHYWRnZXRzPTQwMF09XCJHZXRJbnN0YWxsZWRHYWRnZXRzXCIsdFt0LkdldEluc3RhbGxlZEdhZGdldHNSZXNwb25zZT00MDFdPVwiR2V0SW5zdGFsbGVkR2FkZ2V0c1Jlc3BvbnNlXCIsdFt0Lkluc3RhbGxHYWRnZXQ9NDAyXT1cIkluc3RhbGxHYWRnZXRcIix0W3QuU2V0R2FkZ2V0VG9BdXRvTGF1bmNoPTQwM109XCJTZXRHYWRnZXRUb0F1dG9MYXVuY2hcIix0W3QuUmVtb3ZlR2FkZ2V0RnJvbUF1dG9MYXVuY2g9NDA0XT1cIlJlbW92ZUdhZGdldEZyb21BdXRvTGF1bmNoXCIsdFt0LkludGVyZmFjZVN0YXJ0ZWQ9NzAwXT1cIkludGVyZmFjZVN0YXJ0ZWRcIix0W3QuSW50ZXJmYWNlRW5kZWQ9NzAxXT1cIkludGVyZmFjZUVuZGVkXCIsdFt0LkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWQ9NzAyXT1cIkludGVyZmFjZVRyYW5zZm9ybVVwZGF0ZWRcIix0W3QuSW50ZXJmYWNlU2VuZEV2ZW50PTcwM109XCJJbnRlcmZhY2VTZW5kRXZlbnRcIix0W3QuSW50ZXJmYWNlUmVjZWl2ZUV2ZW50PTcwNF09XCJJbnRlcmZhY2VSZWNlaXZlRXZlbnRcIix0W3QuSW50ZXJmYWNlTG9jaz03MDVdPVwiSW50ZXJmYWNlTG9ja1wiLHRbdC5JbnRlcmZhY2VMb2NrUmVzcG9uc2U9NzA2XT1cIkludGVyZmFjZUxvY2tSZXNwb25zZVwiLHRbdC5JbnRlcmZhY2VVbmxvY2s9NzA3XT1cIkludGVyZmFjZVVubG9ja1wiLHRbdC5JbnRlcmZhY2VVbmxvY2tSZXNwb25zZT03MDhdPVwiSW50ZXJmYWNlVW5sb2NrUmVzcG9uc2VcIix0W3QuSW50ZXJmYWNlUmVsb2NrPTcwOV09XCJJbnRlcmZhY2VSZWxvY2tcIix0W3QuSW50ZXJmYWNlUmVsb2NrUmVzcG9uc2U9NzEwXT1cIkludGVyZmFjZVJlbG9ja1Jlc3BvbnNlXCIsdFt0LkludGVyZmFjZVNlbmRFdmVudFJlc3BvbnNlPTcxMV09XCJJbnRlcmZhY2VTZW5kRXZlbnRSZXNwb25zZVwifShlLk1lc3NhZ2VUeXBlfHwoZS5NZXNzYWdlVHlwZT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5Vc2VyRGVzdHJveWVkR2FkZ2V0PTQ3MDFdPVwiVXNlckRlc3Ryb3llZEdhZGdldFwifShlLldlYlNvY2tldENsb3NlQ29kZXN8fChlLldlYlNvY2tldENsb3NlQ29kZXM9e30pKSxmdW5jdGlvbih0KXt0W3QuVW5rbm93bj0tMV09XCJVbmtub3duXCIsdFt0Lkh1Yj0wXT1cIkh1YlwiLHRbdC5HYWRnZXQ9MV09XCJHYWRnZXRcIix0W3QuTm9kZT0yXT1cIk5vZGVcIix0W3QuUmVuZGVyZXI9M109XCJSZW5kZXJlclwiLHRbdC5Nb25pdG9yPTRdPVwiTW9uaXRvclwiLHRbdC5VdGlsaXR5PTVdPVwiVXRpbGl0eVwifShzPWUuRW5kcG9pbnRUeXBlfHwoZS5FbmRwb2ludFR5cGU9e30pKSxlLmVuZHBvaW50QWRkclRvU3RyaW5nPXUsZS5zdHJpbmdUb0VuZHBvaW50QWRkcj1mdW5jdGlvbih0KXtsZXQgZT1uZXcgUmVnRXhwKFwiXiguKTooWzAtOV0rKTooWzAtOV0rKSRcIikuZXhlYyh0KTtyZXR1cm4gZT97dHlwZTpvKGVbMV0pLGVuZHBvaW50SWQ6cGFyc2VJbnQoZVsyXSksbm9kZUlkOnBhcnNlSW50KGVbM10pfTooY29uc29sZS5sb2coYGVuZHBvaW50IHN0cmluZyAke3R9IGZhaWxlZCB0byBwYXJzZWApLG51bGwpfSxlLmVuZHBvaW50QWRkcklzRW1wdHk9bCxlLmVuZHBvaW50QWRkcnNNYXRjaD1oLGUuaW5kZXhPZkVuZHBvaW50QWRkcnM9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4tMTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylpZihoKHRbbl0sZSkpcmV0dXJuIG47cmV0dXJuLTF9LGUuY29tcHV0ZUVuZHBvaW50RmllbGRVcmk9ZnVuY3Rpb24odCxlKXtyZXR1cm5gbm9kZWZpZWxkOi8vJHt1KHQpfS8ke2V9YH0sZS5pc1VzZXJBZ2VudEFhcmR2YXJrPWZ1bmN0aW9uKHQpe3JldHVybiB0LmluY2x1ZGVzKFwiQWFyZHZhcmtcIil9LGUucGFyc2VFbnZlbG9wZT1mdW5jdGlvbih0LGU9ITApe3RyeXtsZXQgbj1KU09OLnBhcnNlKHQpO3JldHVybiBuLnBheWxvYWQmJmUmJihuLnBheWxvYWRVbnBhY2tlZD1KU09OLnBhcnNlKG4ucGF5bG9hZCkpLG59Y2F0Y2goZSl7cmV0dXJuIGNvbnNvbGUubG9nKFwiZmFpbGVkIHRvIHBhcnNlIGVudmVsb3BlXCIsdCxlKSxudWxsfX0sZnVuY3Rpb24odCl7dFt0LlN1Y2Nlc3M9MF09XCJTdWNjZXNzXCIsdFt0LkFscmVhZHlMb2NrZWQ9MV09XCJBbHJlYWR5TG9ja2VkXCIsdFt0Lk5vdExvY2tlZD0yXT1cIk5vdExvY2tlZFwiLHRbdC5JbnRlcmZhY2VOb3RGb3VuZD0zXT1cIkludGVyZmFjZU5vdEZvdW5kXCIsdFt0LkludGVyZmFjZU5hbWVNaXNtYXRjaD00XT1cIkludGVyZmFjZU5hbWVNaXNtYXRjaFwiLHRbdC5JbnRlcmZhY2VSZWNlaXZlck1pc21hdGNoPTVdPVwiSW50ZXJmYWNlUmVjZWl2ZXJNaXNtYXRjaFwiLHRbdC5OZXdSZWNlaXZlck5vdEZvdW5kPTZdPVwiTmV3UmVjZWl2ZXJOb3RGb3VuZFwifShlLkludGVyZmFjZUxvY2tSZXN1bHR8fChlLkludGVyZmFjZUxvY2tSZXN1bHQ9e30pKSxmdW5jdGlvbih0KXt0W3QuSW52YWxpZD0tMV09XCJJbnZhbGlkXCIsdFt0LkNvbnRhaW5lcj0wXT1cIkNvbnRhaW5lclwiLHRbdC5PcmlnaW49MV09XCJPcmlnaW5cIix0W3QuVHJhbnNmb3JtPTJdPVwiVHJhbnNmb3JtXCIsdFt0Lk1vZGVsPTNdPVwiTW9kZWxcIix0W3QuTGluZT0xMF09XCJMaW5lXCIsdFt0LlBhcmVudFRyYW5zZm9ybT0xMl09XCJQYXJlbnRUcmFuc2Zvcm1cIix0W3QuSGVhZEZhY2luZ1RyYW5zZm9ybT0xM109XCJIZWFkRmFjaW5nVHJhbnNmb3JtXCIsdFt0LkludGVyZmFjZUVudGl0eT0xN109XCJJbnRlcmZhY2VFbnRpdHlcIix0W3QuQ2hpbGQ9MThdPVwiQ2hpbGRcIix0W3QuTW9kZWxUcmFuc2Zvcm09MTldPVwiTW9kZWxUcmFuc2Zvcm1cIn0oZS5Bdk5vZGVUeXBlfHwoZS5Bdk5vZGVUeXBlPXt9KSksZS5pbnRlcmZhY2VUb1N0cmluZz1jLGUuaW50ZXJmYWNlU3RyaW5nRnJvbU1zZz1mdW5jdGlvbih0KXtyZXR1cm4gYyh0LnRyYW5zbWl0dGVyLHQucmVjZWl2ZXIsdC5pZmFjZSl9LGZ1bmN0aW9uKHQpe3RbdC5JbnZhbGlkPS0xXT1cIkludmFsaWRcIix0W3QuU3BoZXJlPTBdPVwiU3BoZXJlXCIsdFt0Lk1vZGVsQm94PTFdPVwiTW9kZWxCb3hcIix0W3QuQUFCQj0xXT1cIkFBQkJcIix0W3QuSW5maW5pdGU9M109XCJJbmZpbml0ZVwiLHRbdC5FbXB0eT00XT1cIkVtcHR5XCIsdFt0LlJheT01XT1cIlJheVwiLHRbdC5Ta2VsZXRvbj02XT1cIlNrZWxldG9uXCJ9KGE9ZS5FVm9sdW1lVHlwZXx8KGUuRVZvbHVtZVR5cGU9e30pKSxmdW5jdGlvbih0KXt0W3QuQWx3YXlzPTBdPVwiQWx3YXlzXCIsdFt0LlN0YXJ0T25seT0xXT1cIlN0YXJ0T25seVwiLHRbdC5Db250aW51ZU9ubHk9Ml09XCJDb250aW51ZU9ubHlcIn0oZS5FVm9sdW1lQ29udGV4dHx8KGUuRVZvbHVtZUNvbnRleHQ9e30pKSxlLmVtcHR5Vm9sdW1lPWZ1bmN0aW9uKCl7cmV0dXJue3R5cGU6YS5FbXB0eX19LGUuaW5maW5pdGVWb2x1bWU9ZnVuY3Rpb24oKXtyZXR1cm57dHlwZTphLkluZmluaXRlfX0sZS5tb2RlbEJveFZvbHVtZT1mdW5jdGlvbih0LGUpe3JldHVybnt0eXBlOmEuTW9kZWxCb3gsdXJpOnQsc2NhbGU6ZX19LGUuc3BoZXJlVm9sdW1lPWZ1bmN0aW9uKHQpe3JldHVybnt0eXBlOmEuU3BoZXJlLHJhZGl1czp0fX0sZS5yYXlWb2x1bWU9ZnVuY3Rpb24odCxlKXtsZXQgbixzO3M9aS52ZWMzLmRvdChpLnZlYzMudXAsZSk+Ljk5OT9pLnZlYzMuZm9yd2FyZDppLnZlYzMuY3Jvc3MoZSxpLnZlYzMudXApO2xldCBvPWkudmVjMy5jcm9zcyhzLGUpO3JldHVybiBuPW5ldyBpLm1hdDQoW2UueCxlLnksZS56LDAsby54LG8ueSxvLnosMCxzLngscy55LHMueiwwLHQueCx0LnksdC56LDFdKSx7dHlwZTphLlJheSxub2RlRnJvbVZvbHVtZTpyLm5vZGVUcmFuc2Zvcm1Gcm9tTWF0NChuKX19LGZ1bmN0aW9uKHQpe3RbdC5WaXNpYmxlPTFdPVwiVmlzaWJsZVwiLHRbdC5QcmVzZXJ2ZUdyYWJUcmFuc2Zvcm09Ml09XCJQcmVzZXJ2ZUdyYWJUcmFuc2Zvcm1cIix0W3QuTm90aWZ5T25UcmFuc2Zvcm1DaGFuZ2U9NF09XCJOb3RpZnlPblRyYW5zZm9ybUNoYW5nZVwiLHRbdC5Ob3RpZnlQcm94aW1pdHlXaXRob3V0R3JhYj04XT1cIk5vdGlmeVByb3hpbWl0eVdpdGhvdXRHcmFiXCIsdFt0LkFsbG93RHJvcE9uSG9va3M9MTZdPVwiQWxsb3dEcm9wT25Ib29rc1wiLHRbdC5BbGxvd011bHRpcGxlRHJvcHM9MzJdPVwiQWxsb3dNdWx0aXBsZURyb3BzXCIsdFt0LlRldGhlcmVkPTY0XT1cIlRldGhlcmVkXCIsdFt0LlNob3dHcmFiSW5kaWNhdG9yPTEyOF09XCJTaG93R3JhYkluZGljYXRvclwiLHRbdC5SZW1vdGU9MjU2XT1cIlJlbW90ZVwiLHRbdC5IaWdobGlnaHRIb29rcz01MTJdPVwiSGlnaGxpZ2h0SG9va3NcIn0oZS5FTm9kZUZsYWdzfHwoZS5FTm9kZUZsYWdzPXt9KSksZnVuY3Rpb24odCl7dFt0LkludmFsaWQ9LTFdPVwiSW52YWxpZFwiLHRbdC5MZWZ0PTBdPVwiTGVmdFwiLHRbdC5SaWdodD0xXT1cIlJpZ2h0XCJ9KGUuRUhhbmR8fChlLkVIYW5kPXt9KSksZnVuY3Rpb24odCl7dFt0LkludmFsaWQ9MF09XCJJbnZhbGlkXCIsdFt0LkQzRDExVGV4dHVyZTJEPTFdPVwiRDNEMTFUZXh0dXJlMkRcIix0W3QuVGV4dHVyZVVybD0yXT1cIlRleHR1cmVVcmxcIn0oZS5FVGV4dHVyZVR5cGV8fChlLkVUZXh0dXJlVHlwZT17fSkpLGZ1bmN0aW9uKHQpe3RbdC5SOEc4QjhBOD0xXT1cIlI4RzhCOEE4XCIsdFt0LkI4RzhSOEE4PTJdPVwiQjhHOFI4QThcIn0oZS5FVGV4dHVyZUZvcm1hdHx8KGUuRVRleHR1cmVGb3JtYXQ9e30pKSxmdW5jdGlvbih0KXt0Lk1hc3Rlcj1cIm1hc3RlclwiLHQuU2NlbmVHcmFwaD1cInNjZW5lZ3JhcGhcIix0LkZhdm9yaXRlcz1cImZhdm9yaXRlc1wiLHQuU3RhcnRVcmw9XCJzdGFydHVybFwiLHQuSW5wdXQ9XCJpbnB1dFwiLHQuU2V0dGluZ3M9XCJzZXR0aW5nc1wiLHQuQXBwbGljYXRpb249XCJhcHBsaWNhdGlvblwifShlLlBlcm1pc3Npb258fChlLlBlcm1pc3Npb249e30pKSxmdW5jdGlvbih0KXt0W3QuQT0wXT1cIkFcIix0W3QuQj0xXT1cIkJcIix0W3QuU3F1ZWV6ZT0yXT1cIlNxdWVlemVcIix0W3QuR3JhYj0zXT1cIkdyYWJcIix0W3QuRGV0YWNoPTRdPVwiRGV0YWNoXCIsdFt0LkdyYWJTaG93UmF5PTVdPVwiR3JhYlNob3dSYXlcIix0W3QuR3JhYk1vdmU9Nl09XCJHcmFiTW92ZVwiLHRbdC5NYXg9N109XCJNYXhcIn0oZS5FQWN0aW9ufHwoZS5FQWN0aW9uPXt9KSksZS5lbXB0eUFjdGlvblN0YXRlPWZ1bmN0aW9uKCl7cmV0dXJue2E6ITEsYjohMSxzcXVlZXplOiExLGdyYWI6ITEsZ3JhYlNob3dSYXk6ITEsZGV0YWNoOiExLGdyYWJNb3ZlOlswLDBdfX0sZS5maWx0ZXJBY3Rpb25zRm9yR2FkZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LHQpfSxlLmdhZGdldERldGFpbHNUb0lkPWZ1bmN0aW9uKHQsZSxuKXtsZXQgaT0odCtlKS5yZXBsYWNlKC9cXFcvZyxcIl9cIikudG9Mb3dlckNhc2UoKTtpZihpLmxlbmd0aD4yNCYmKGk9aS5zdWJzdHIoMCwyNCkpLG4pe2xldCB0PWUrbixyPTA7Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKyspe3I9KHI8PDUpLXIrdC5jaGFyQ29kZUF0KGUpLHImPXJ9aSs9ci50b1N0cmluZygxNil9cmV0dXJuIGl9LGUubWFuaWZlc3RVcmlGcm9tR2FkZ2V0VXJpPWZ1bmN0aW9uKHQpe3JldHVybiB0LmVuZHNXaXRoKFwiL1wiKT90K1wibWFuaWZlc3Qud2VibWFuaWZlc3RcIjp0K1wiL21hbmlmZXN0LndlYm1hbmlmZXN0XCJ9fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigxNSk7ZS5tYXQyPWkuZGVmYXVsdDt2YXIgcj1uKDUpO2UubWF0Mz1yLmRlZmF1bHQ7dmFyIHM9big2KTtlLm1hdDQ9cy5kZWZhdWx0O3ZhciBhPW4oNCk7ZS5xdWF0PWEuZGVmYXVsdDt2YXIgbz1uKDMpO2UudmVjMj1vLmRlZmF1bHQ7dmFyIHU9bigyKTtlLnZlYzM9dS5kZWZhdWx0O3ZhciBsPW4oMTApO2UudmVjND1sLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApLHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoNCksdm9pZCAwIT09dCYmKHRoaXMueHl6dz10KX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMF19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInlcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzFdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMV09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ6XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1syXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzJdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwid1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbM119LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1szXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInh5XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwieHl6XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJ4eXp3XCIse2dldDpmdW5jdGlvbigpe3JldHVyblt0aGlzLnZhbHVlc1swXSx0aGlzLnZhbHVlc1sxXSx0aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1szXV19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1swXT10WzBdLHRoaXMudmFsdWVzWzFdPXRbMV0sdGhpcy52YWx1ZXNbMl09dFsyXSx0aGlzLnZhbHVlc1szXT10WzNdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInJcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJnXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1sxXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVzWzFdPXR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwiYlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXNbMl19LHNldDpmdW5jdGlvbih0KXt0aGlzLnZhbHVlc1syXT10fSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcImFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzNdfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbM109dH0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJyZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSxcInJnYlwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl1dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl19LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwicmdiYVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy52YWx1ZXNbMF0sdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM11dfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy52YWx1ZXNbMF09dFswXSx0aGlzLnZhbHVlc1sxXT10WzFdLHRoaXMudmFsdWVzWzJdPXRbMl0sdGhpcy52YWx1ZXNbM109dFszXX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5hdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZXNbdF19LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy56PTAsdGhpcy53PTB9LHQucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSl7cmV0dXJuIGV8fChlPW5ldyB0KSxlLng9dGhpcy54LGUueT10aGlzLnksZS56PXRoaXMueixlLnc9dGhpcy53LGV9LHQucHJvdG90eXBlLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9dGhpcyksdC54PS10aGlzLngsdC55PS10aGlzLnksdC56PS10aGlzLnosdC53PS10aGlzLncsdH0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPWkuZXBzaWxvbiksIShNYXRoLmFicyh0aGlzLngtdC54KT5lKSYmKCEoTWF0aC5hYnModGhpcy55LXQueSk+ZSkmJighKE1hdGguYWJzKHRoaXMuei10LnopPmUpJiYhKE1hdGguYWJzKHRoaXMudy10LncpPmUpKSl9LHQucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLnNxcnQodGhpcy5zcXVhcmVkTGVuZ3RoKCkpfSx0LnByb3RvdHlwZS5zcXVhcmVkTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LGU9dGhpcy55LG49dGhpcy56LGk9dGhpcy53O3JldHVybiB0KnQrZSplK24qbitpKml9LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy54Kz10LngsdGhpcy55Kz10LnksdGhpcy56Kz10LnosdGhpcy53Kz10LncsdGhpc30sdC5wcm90b3R5cGUuc3VidHJhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC09dC54LHRoaXMueS09dC55LHRoaXMuei09dC56LHRoaXMudy09dC53LHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLngqPXQueCx0aGlzLnkqPXQueSx0aGlzLnoqPXQueix0aGlzLncqPXQudyx0aGlzfSx0LnByb3RvdHlwZS5kaXZpZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMueC89dC54LHRoaXMueS89dC55LHRoaXMuei89dC56LHRoaXMudy89dC53LHRoaXN9LHQucHJvdG90eXBlLnNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fChlPXRoaXMpLGUueCo9dCxlLnkqPXQsZS56Kj10LGUudyo9dCxlfSx0LnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24odCl7dHx8KHQ9dGhpcyk7dmFyIGU9dGhpcy5sZW5ndGgoKTtyZXR1cm4gMT09PWU/dGhpczowPT09ZT8odC54Kj0wLHQueSo9MCx0LnoqPTAsdC53Kj0wLHQpOihlPTEvZSx0LngqPWUsdC55Kj1lLHQueio9ZSx0LncqPWUsdCl9LHQucHJvdG90eXBlLm11bHRpcGx5TWF0ND1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT10aGlzKSx0Lm11bHRpcGx5VmVjNCh0aGlzLGUpfSx0Lm1peD1mdW5jdGlvbihlLG4saSxyKXtyZXR1cm4gcnx8KHI9bmV3IHQpLHIueD1lLngraSoobi54LWUueCksci55PWUueStpKihuLnktZS55KSxyLno9ZS56K2kqKG4uei1lLnopLHIudz1lLncraSoobi53LWUudykscn0sdC5zdW09ZnVuY3Rpb24oZSxuLGkpe3JldHVybiBpfHwoaT1uZXcgdCksaS54PWUueCtuLngsaS55PWUueStuLnksaS56PWUueituLnosaS53PWUudytuLncsaX0sdC5kaWZmZXJlbmNlPWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngtbi54LGkueT1lLnktbi55LGkuej1lLnotbi56LGkudz1lLnctbi53LGl9LHQucHJvZHVjdD1mdW5jdGlvbihlLG4saSl7cmV0dXJuIGl8fChpPW5ldyB0KSxpLng9ZS54Km4ueCxpLnk9ZS55Km4ueSxpLno9ZS56Km4ueixpLnc9ZS53Km4udyxpfSx0LnF1b3RpZW50PWZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gaXx8KGk9bmV3IHQpLGkueD1lLngvbi54LGkueT1lLnkvbi55LGkuej1lLnovbi56LGkudz1lLncvbi53LGl9LHQuemVybz1uZXcgdChbMCwwLDAsMV0pLHQub25lPW5ldyB0KFsxLDEsMSwxXSksdH0oKTtlLmRlZmF1bHQ9cn0sZnVuY3Rpb24odCxlLG4pe1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pLGUudmVjVG9BdlZlY3Rvcj1lLnZlY0Zyb21BdlZlY3Rvcj1lLm1hdE11bHRpcGx5UG9pbnQ9ZS5tdWx0aXBseVRyYW5zZm9ybXM9ZS5taW5pbWFsVG9NYXQ0VHJhbnNmb3JtPWUubWluaW1hbFBvc2VGcm9tVHJhbnNmb3JtPWUuaW52ZXJ0Tm9kZVRyYW5zZm9ybT1lLmxlcnBBdlRyYW5zZm9ybXM9ZS5taW5JZ25vcmluZ051bGxzPWUuc2NhbGVBeGlzVG9GaXQ9ZS52ZWMzTXVsdGlwbHlBbmRBZGQ9ZS5jb21wdXRlVW5pdmVyc2VGcm9tTGluZT1lLm5vZGVUcmFuc2Zvcm1Ub01hdDQ9ZS5ub2RlVHJhbnNmb3JtRnJvbU1hdDQ9ZS5nZXRSb3dGcm9tTWF0PWUucm90YXRpb25NYXRGcm9tRXVsZXJEZWdyZWVzPWUucXVhdEZyb21BeGlzQW5nbGVEZWdyZWVzPWUuc2NhbGVNYXQ9ZS50cmFuc2xhdGVNYXQ9dm9pZCAwO2NvbnN0IGk9big5KSxyPW4oMTYpO2Z1bmN0aW9uIHModCl7bGV0IGU9bmV3IGkubWF0NDtyZXR1cm4gZS5zZXRJZGVudGl0eSgpLGUudHJhbnNsYXRlKHQpLGV9ZnVuY3Rpb24gYSh0KXtsZXQgZT1uZXcgaS5tYXQ0O3JldHVybiBlLnNldElkZW50aXR5KCksZS5zY2FsZSh0KSxlfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZT9pLnF1YXQuZnJvbUF4aXNBbmdsZSh0LGUqTWF0aC5QSS8xODApOm5ldyBpLnF1YXQoaS5xdWF0LmlkZW50aXR5Lnh5encpfWZ1bmN0aW9uIHUodCxlKXtsZXQgbj10LnJvdyhlKTtyZXR1cm4gbmV3IGkudmVjMyhbblswXSxuWzFdLG5bMl1dKX1mdW5jdGlvbiBsKHQpe2lmKCF0KXJldHVybjtsZXQgZT17fSxuPXQubXVsdGlwbHlWZWM0KG5ldyBpLnZlYzQoWzAsMCwwLDFdKSk7MD09bi54JiYwPT1uLnkmJjA9PW4uenx8KGUucG9zaXRpb249e3g6bi54LHk6bi55LHo6bi56fSk7bGV0IHI9dSh0LDApLmxlbmd0aCgpLHM9dSh0LDEpLmxlbmd0aCgpLGE9dSh0LDIpLmxlbmd0aCgpOzE9PXImJjE9PXMmJjE9PWF8fChlLnNjYWxlPXt4OnIseTpzLHo6YX0pO2xldCBvPW5ldyBpLm1hdDMoW3QuYXQoMCkvcix0LmF0KDEpL3IsdC5hdCgyKS9yLHQuYXQoNCkvcyx0LmF0KDUpL3MsdC5hdCg2KS9zLHQuYXQoOCkvYSx0LmF0KDkpL2EsdC5hdCgxMCkvYV0pLnRvUXVhdCgpO3JldHVybiAwPT1vLngmJjA9PW8ueSYmMD09by56fHwoZS5yb3RhdGlvbj17eDpvLngseTpvLnksejpvLnosdzpvLnd9KSxlfWZ1bmN0aW9uIGgodCl7aWYoIXQpcmV0dXJuIGkubWF0NC5pZGVudGl0eTtsZXQgZSxuLHI7ZT10LnBvc2l0aW9uP25ldyBpLnZlYzMoW3QucG9zaXRpb24ueCx0LnBvc2l0aW9uLnksdC5wb3NpdGlvbi56XSk6bmV3IGkudmVjMyhbMCwwLDBdKSxuPXQuc2NhbGU/bmV3IGkudmVjMyhbdC5zY2FsZS54LHQuc2NhbGUueSx0LnNjYWxlLnpdKTpuZXcgaS52ZWMzKFsxLDEsMV0pLHI9dC5yb3RhdGlvbj9uZXcgaS5xdWF0KFt0LnJvdGF0aW9uLngsdC5yb3RhdGlvbi55LHQucm90YXRpb24ueix0LnJvdGF0aW9uLnddKTpuZXcgaS5xdWF0KFswLDAsMCwxXSk7bGV0IG89cyhlKS5tdWx0aXBseShyLnRvTWF0NCgpKTtpZihvPW8ubXVsdGlwbHkoYShuKSksTnVtYmVyLmlzTmFOKG8uYXQoMCkpKXRocm93IG5ldyBFcnJvcihcIkdhcmJhZ2UgcGFzc2VkIGludG8gbm9kZVRyYW5zZm9ybVRvTWF0NCByZXN1bHRlZCBpbiBOYU4gaW4gb3V0cHV0XCIpO3JldHVybiBvfWUudHJhbnNsYXRlTWF0PXMsZS5zY2FsZU1hdD1hLGUucXVhdEZyb21BeGlzQW5nbGVEZWdyZWVzPW8sZS5yb3RhdGlvbk1hdEZyb21FdWxlckRlZ3JlZXM9ZnVuY3Rpb24odCl7bGV0IGU9byhpLnZlYzMucmlnaHQsdC54KSxuPW8oaS52ZWMzLnVwLHQueSkscj1vKGkudmVjMy5mb3J3YXJkLHQueik7cmV0dXJuIGUubXVsdGlwbHkobikubXVsdGlwbHkocikudG9NYXQ0KCl9LGUuZ2V0Um93RnJvbU1hdD11LGUubm9kZVRyYW5zZm9ybUZyb21NYXQ0PWwsZS5ub2RlVHJhbnNmb3JtVG9NYXQ0PWgsZS5jb21wdXRlVW5pdmVyc2VGcm9tTGluZT1mdW5jdGlvbih0LGUsbil7bGV0IHI9bmV3IGkudmVjMyhlLnh5eik7ci5zdWJ0cmFjdCh0KTtsZXQgbz1yLmxlbmd0aCgpO3Iubm9ybWFsaXplKCk7bGV0IHUsbD1uZXcgaS52ZWMzKHQueHl6KS5hZGQobmV3IGkudmVjMyhyLnh5eikuc2NhbGUoby8yKSksaD1yO3U9aC54Pi45OT9uZXcgaS52ZWMzKFswLDEsMF0pOm5ldyBpLnZlYzMoWzEsMCwwXSk7bGV0IGM9aS52ZWMzLmNyb3NzKGgsdSxuZXcgaS52ZWMzKTtjLm5vcm1hbGl6ZSgpLHU9aS52ZWMzLmNyb3NzKGMsaCx1KTtsZXQgdj1uZXcgaS5tYXQ0KFt1LngsdS55LHUueiwwLGgueCxoLnksaC56LDAsYy54LGMueSxjLnosMCwwLDAsMCwxXSksZj1hKG5ldyBpLnZlYzMoW24sbyxuXSkpO3JldHVybiBzKGwpLm11bHRpcGx5KHYubXVsdGlwbHkoZikpfSxlLnZlYzNNdWx0aXBseUFuZEFkZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG5ldyBpLnZlYzMoW3QueCtlLngqbix0LnkrZS55Km4sdC56K2UueipuXSl9LGUuc2NhbGVBeGlzVG9GaXQ9ZnVuY3Rpb24odCxlLG4pe2xldCBpPU1hdGgubWF4KC1lLG4pO3JldHVybiBpPD0wP251bGw6dC9pfSxlLm1pbklnbm9yaW5nTnVsbHM9ZnVuY3Rpb24oLi4udCl7bGV0IGU9dC5maWx0ZXIodD0+bnVsbCE9dCk7cmV0dXJuIGU/TWF0aC5taW4oLi4uZSk6bnVsbH0sZS5sZXJwQXZUcmFuc2Zvcm1zPWZ1bmN0aW9uKHQsZSxuKXtsZXQgcz1PYmplY3QuYXNzaWduKHt9LGUpO2lmKHQmJnQucG9zaXRpb24mJmUucG9zaXRpb24pe2xldCByPW5ldyBpLnZlYzMoW3QucG9zaXRpb24ueCx0LnBvc2l0aW9uLnksdC5wb3NpdGlvbi56XSksYT1uZXcgaS52ZWMzKFtlLnBvc2l0aW9uLngsZS5wb3NpdGlvbi55LGUucG9zaXRpb24uel0pLG89aS52ZWMzLm1peChyLGEsbixuZXcgaS52ZWMzKTtzLnBvc2l0aW9uPXt4Om8ueCx5Om8ueSx6Om8uen19aWYodCYmdC5zY2FsZSYmZS5zY2FsZSl7bGV0IHI9bmV3IGkudmVjMyhbdC5zY2FsZS54LHQuc2NhbGUueSx0LnNjYWxlLnpdKSxhPW5ldyBpLnZlYzMoW2Uuc2NhbGUueCxlLnNjYWxlLnksZS5zY2FsZS56XSksbz1pLnZlYzMubWl4KHIsYSxuLG5ldyBpLnZlYzMpO3Muc2NhbGU9e3g6by54LHk6by55LHo6by56fX1pZih0JiZ0LnJvdGF0aW9uJiZlLnJvdGF0aW9uKXtsZXQgaT1uZXcgcih0LnJvdGF0aW9uKSxhPW5ldyByKGUucm90YXRpb24pLG89aS5zbGVycChhKShuKTtzLnJvdGF0aW9uPXt3Om8udyx4Om8ueCx5Om8ueSx6Om8uen19cmV0dXJuIHN9LGUuaW52ZXJ0Tm9kZVRyYW5zZm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gdD9sKGgodCkuY29weSgpLmludmVyc2UoKSk6dH0sZS5taW5pbWFsUG9zZUZyb21UcmFuc2Zvcm09ZnVuY3Rpb24odCl7bGV0IGU9aCh0KSxuPWUudG9NYXQzKCkudG9RdWF0KCkscj1lLm11bHRpcGx5VmVjNChuZXcgaS52ZWM0KFswLDAsMCwxXSkpO3JldHVybltyLngsci55LHIueixuLncsbi54LG4ueSxuLnpdfSxlLm1pbmltYWxUb01hdDRUcmFuc2Zvcm09ZnVuY3Rpb24odCl7cmV0dXJuIGgoe3Bvc2l0aW9uOnt4OnRbMF0seTp0WzFdLHo6dFsyXX0scm90YXRpb246e3c6dFszXSx4OnRbNF0seTp0WzVdLHo6dFs2XX19KX0sZS5tdWx0aXBseVRyYW5zZm9ybXM9ZnVuY3Rpb24odCxlKXtsZXQgbj1oKHQpLHI9aChlKTtyZXR1cm4gbChpLm1hdDQucHJvZHVjdChuLHIsbmV3IGkubWF0NCkpfSxlLm1hdE11bHRpcGx5UG9pbnQ9ZnVuY3Rpb24odCxlKXtsZXQgbj1uZXcgaS52ZWM0KFtlLngsZS55LGUueiwxXSk7cmV0dXJuIG5ldyBpLnZlYzModC5tdWx0aXBseVZlYzQobixuZXcgaS52ZWM0KS54eXopfSxlLnZlY0Zyb21BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9uZXcgaS52ZWMzKFt0LngsdC55LHQuel0pOm51bGx9LGUudmVjVG9BdlZlY3Rvcj1mdW5jdGlvbih0KXtyZXR1cm4gdD97eDp0LngseTp0Lnksejp0Lnp9Om51bGx9fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7Y29uc3QgaT1uKDEzKTtpLl9fZXhwb3J0U3RhcihuKDE0KSxlKSxpLl9fZXhwb3J0U3RhcihuKDcpLGUpLGkuX19leHBvcnRTdGFyKG4oMTcpLGUpLGkuX19leHBvcnRTdGFyKG4oOCksZSksaS5fX2V4cG9ydFN0YXIobigxOCksZSksaS5fX2V4cG9ydFN0YXIobigxOSksZSksaS5fX2V4cG9ydFN0YXIobigxMSksZSl9LGZ1bmN0aW9uKHQsZSxuKXtcInVzZSBzdHJpY3RcIjtuLnIoZSksbi5kKGUsXCJfX2V4dGVuZHNcIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxuLmQoZSxcIl9fYXNzaWduXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsXCJfX3Jlc3RcIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSxcIl9fZGVjb3JhdGVcIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSxcIl9fcGFyYW1cIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSxcIl9fbWV0YWRhdGFcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSxcIl9fYXdhaXRlclwiLChmdW5jdGlvbigpe3JldHVybiBofSkpLG4uZChlLFwiX19nZW5lcmF0b3JcIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSxcIl9fY3JlYXRlQmluZGluZ1wiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZChlLFwiX19leHBvcnRTdGFyXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKGUsXCJfX3ZhbHVlc1wiLChmdW5jdGlvbigpe3JldHVybiBwfSkpLG4uZChlLFwiX19yZWFkXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsXCJfX3NwcmVhZFwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLFwiX19zcHJlYWRBcnJheXNcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKSxuLmQoZSxcIl9fYXdhaXRcIiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxuLmQoZSxcIl9fYXN5bmNHZW5lcmF0b3JcIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKSxuLmQoZSxcIl9fYXN5bmNEZWxlZ2F0b3JcIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxuLmQoZSxcIl9fYXN5bmNWYWx1ZXNcIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxuLmQoZSxcIl9fbWFrZVRlbXBsYXRlT2JqZWN0XCIsKGZ1bmN0aW9uKCl7cmV0dXJuIE19KSksbi5kKGUsXCJfX2ltcG9ydFN0YXJcIiwoZnVuY3Rpb24oKXtyZXR1cm4gen0pKSxuLmQoZSxcIl9faW1wb3J0RGVmYXVsdFwiLChmdW5jdGlvbigpe3JldHVybiBffSkpLG4uZChlLFwiX19jbGFzc1ByaXZhdGVGaWVsZEdldFwiLChmdW5jdGlvbigpe3JldHVybiBQfSkpLG4uZChlLFwiX19jbGFzc1ByaXZhdGVGaWVsZFNldFwiLChmdW5jdGlvbigpe3JldHVybiBrfSkpO1xuLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cblxuUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxuSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxuUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG52YXIgaT1mdW5jdGlvbih0LGUpe3JldHVybihpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pfSkodCxlKX07ZnVuY3Rpb24gcih0LGUpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KG4ucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyBuKX12YXIgcz1mdW5jdGlvbigpe3JldHVybihzPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPTEsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspZm9yKHZhciByIGluIGU9YXJndW1lbnRzW25dKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHIpJiYodFtyXT1lW3JdKTtyZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPXt9O2Zvcih2YXIgaSBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpJiZlLmluZGV4T2YoaSk8MCYmKG5baV09dFtpXSk7aWYobnVsbCE9dCYmXCJmdW5jdGlvblwiPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9MDtmb3IoaT1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO3I8aS5sZW5ndGg7cisrKWUuaW5kZXhPZihpW3JdKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodCxpW3JdKSYmKG5baVtyXV09dFtpW3JdXSl9cmV0dXJuIG59ZnVuY3Rpb24gbyh0LGUsbixpKXt2YXIgcixzPWFyZ3VtZW50cy5sZW5ndGgsYT1zPDM/ZTpudWxsPT09aT9pPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxuKTppO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBSZWZsZWN0LmRlY29yYXRlKWE9UmVmbGVjdC5kZWNvcmF0ZSh0LGUsbixpKTtlbHNlIGZvcih2YXIgbz10Lmxlbmd0aC0xO28+PTA7by0tKShyPXRbb10pJiYoYT0oczwzP3IoYSk6cz4zP3IoZSxuLGEpOnIoZSxuKSl8fGEpO3JldHVybiBzPjMmJmEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sYSksYX1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4saSl7ZShuLGksdCl9fWZ1bmN0aW9uIGwodCxlKXtpZihcIm9iamVjdFwiPT10eXBlb2YgUmVmbGVjdCYmXCJmdW5jdGlvblwiPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIGgodCxlLG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIscyl7ZnVuY3Rpb24gYSh0KXt0cnl7dShpLm5leHQodCkpfWNhdGNoKHQpe3ModCl9fWZ1bmN0aW9uIG8odCl7dHJ5e3UoaS50aHJvdyh0KSl9Y2F0Y2godCl7cyh0KX19ZnVuY3Rpb24gdSh0KXt2YXIgZTt0LmRvbmU/cih0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oKGZ1bmN0aW9uKHQpe3QoZSl9KSkpLnRoZW4oYSxvKX11KChpPWkuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KSl9ZnVuY3Rpb24gYyh0LGUpe3ZhciBuLGkscixzLGE9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmclswXSl0aHJvdyByWzFdO3JldHVybiByWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIHM9e25leHQ6bygwKSx0aHJvdzpvKDEpLHJldHVybjpvKDIpfSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJihzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLHM7ZnVuY3Rpb24gbyhzKXtyZXR1cm4gZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7Zm9yKDthOyl0cnl7aWYobj0xLGkmJihyPTImc1swXT9pLnJldHVybjpzWzBdP2kudGhyb3d8fCgocj1pLnJldHVybikmJnIuY2FsbChpKSwwKTppLm5leHQpJiYhKHI9ci5jYWxsKGksc1sxXSkpLmRvbmUpcmV0dXJuIHI7c3dpdGNoKGk9MCxyJiYocz1bMiZzWzBdLHIudmFsdWVdKSxzWzBdKXtjYXNlIDA6Y2FzZSAxOnI9czticmVhaztjYXNlIDQ6cmV0dXJuIGEubGFiZWwrKyx7dmFsdWU6c1sxXSxkb25lOiExfTtjYXNlIDU6YS5sYWJlbCsrLGk9c1sxXSxzPVswXTtjb250aW51ZTtjYXNlIDc6cz1hLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKHI9YS50cnlzLChyPXIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0pfHw2IT09c1swXSYmMiE9PXNbMF0pKXthPTA7Y29udGludWV9aWYoMz09PXNbMF0mJighcnx8c1sxXT5yWzBdJiZzWzFdPHJbM10pKXthLmxhYmVsPXNbMV07YnJlYWt9aWYoNj09PXNbMF0mJmEubGFiZWw8clsxXSl7YS5sYWJlbD1yWzFdLHI9czticmVha31pZihyJiZhLmxhYmVsPHJbMl0pe2EubGFiZWw9clsyXSxhLm9wcy5wdXNoKHMpO2JyZWFrfXJbMl0mJmEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZX1zPWUuY2FsbCh0LGEpfWNhdGNoKHQpe3M9WzYsdF0saT0wfWZpbmFsbHl7bj1yPTB9aWYoNSZzWzBdKXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19KFtzLG9dKX19fWZ1bmN0aW9uIHYodCxlLG4saSl7dm9pZCAwPT09aSYmKGk9biksdFtpXT1lW25dfWZ1bmN0aW9uIGYodCxlKXtmb3IodmFyIG4gaW4gdClcImRlZmF1bHRcIj09PW58fGUuaGFzT3duUHJvcGVydHkobil8fChlW25dPXRbbl0pfWZ1bmN0aW9uIHAodCl7dmFyIGU9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj1lJiZ0W2VdLGk9MDtpZihuKXJldHVybiBuLmNhbGwodCk7aWYodCYmXCJudW1iZXJcIj09dHlwZW9mIHQubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJmk+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W2krK10sZG9uZTohdH19fTt0aHJvdyBuZXcgVHlwZUVycm9yKGU/XCJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLlwiOlwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKX1mdW5jdGlvbiBkKHQsZSl7dmFyIG49XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIW4pcmV0dXJuIHQ7dmFyIGkscixzPW4uY2FsbCh0KSxhPVtdO3RyeXtmb3IoOyh2b2lkIDA9PT1lfHxlLS0gPjApJiYhKGk9cy5uZXh0KCkpLmRvbmU7KWEucHVzaChpLnZhbHVlKX1jYXRjaCh0KXtyPXtlcnJvcjp0fX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYobj1zLnJldHVybikmJm4uY2FsbChzKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19cmV0dXJuIGF9ZnVuY3Rpb24geSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0PXQuY29uY2F0KGQoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZygpe2Zvcih2YXIgdD0wLGU9MCxuPWFyZ3VtZW50cy5sZW5ndGg7ZTxuO2UrKyl0Kz1hcmd1bWVudHNbZV0ubGVuZ3RoO3ZhciBpPUFycmF5KHQpLHI9MDtmb3IoZT0wO2U8bjtlKyspZm9yKHZhciBzPWFyZ3VtZW50c1tlXSxhPTAsbz1zLmxlbmd0aDthPG87YSsrLHIrKylpW3JdPXNbYV07cmV0dXJuIGl9ZnVuY3Rpb24geCh0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHg/KHRoaXMudj10LHRoaXMpOm5ldyB4KHQpfWZ1bmN0aW9uIGIodCxlLG4pe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO3ZhciBpLHI9bi5hcHBseSh0LGV8fFtdKSxzPVtdO3JldHVybiBpPXt9LGEoXCJuZXh0XCIpLGEoXCJ0aHJvd1wiKSxhKFwicmV0dXJuXCIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gYSh0KXtyW3RdJiYoaVt0XT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7cy5wdXNoKFt0LGUsbixpXSk+MXx8byh0LGUpfSkpfSl9ZnVuY3Rpb24gbyh0LGUpe3RyeXsobj1yW3RdKGUpKS52YWx1ZSBpbnN0YW5jZW9mIHg/UHJvbWlzZS5yZXNvbHZlKG4udmFsdWUudikudGhlbih1LGwpOmgoc1swXVsyXSxuKX1jYXRjaCh0KXtoKHNbMF1bM10sdCl9dmFyIG59ZnVuY3Rpb24gdSh0KXtvKFwibmV4dFwiLHQpfWZ1bmN0aW9uIGwodCl7byhcInRocm93XCIsdCl9ZnVuY3Rpb24gaCh0LGUpe3QoZSkscy5zaGlmdCgpLHMubGVuZ3RoJiZvKHNbMF1bMF0sc1swXVsxXSl9fWZ1bmN0aW9uIHcodCl7dmFyIGUsbjtyZXR1cm4gZT17fSxpKFwibmV4dFwiKSxpKFwidGhyb3dcIiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxpKFwicmV0dXJuXCIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIGkoaSxyKXtlW2ldPXRbaV0/ZnVuY3Rpb24oZSl7cmV0dXJuKG49IW4pP3t2YWx1ZTp4KHRbaV0oZSkpLGRvbmU6XCJyZXR1cm5cIj09PWl9OnI/cihlKTplfTpyfX1mdW5jdGlvbiBtKHQpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO3ZhciBlLG49dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKHQpOih0PXAodCksZT17fSxpKFwibmV4dFwiKSxpKFwidGhyb3dcIiksaShcInJldHVyblwiKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBpKG4pe2Vbbl09dFtuXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihpLHIpeyhmdW5jdGlvbih0LGUsbixpKXtQcm9taXNlLnJlc29sdmUoaSkudGhlbigoZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOm59KX0pLGUpfSkoaSxyLChlPXRbbl0oZSkpLmRvbmUsZS52YWx1ZSl9KSl9fX1mdW5jdGlvbiBNKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxcInJhd1wiLHt2YWx1ZTplfSk6dC5yYXc9ZSx0fWZ1bmN0aW9uIHoodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKG51bGwhPXQpZm9yKHZhciBuIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmKGVbbl09dFtuXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gXyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gUCh0LGUpe2lmKCFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXR0ZW1wdGVkIHRvIGdldCBwcml2YXRlIGZpZWxkIG9uIG5vbi1pbnN0YW5jZVwiKTtyZXR1cm4gZS5nZXQodCl9ZnVuY3Rpb24gayh0LGUsbil7aWYoIWUuaGFzKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gc2V0IHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO3JldHVybiBlLnNldCh0LG4pLG59fSxmdW5jdGlvbihtb2R1bGUsZXhwb3J0cyxfX3dlYnBhY2tfcmVxdWlyZV9fKXtcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cyxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KSxleHBvcnRzLndyaXRlUGVyc2lzdGVudFN0YXRlPWV4cG9ydHMucmVhZFBlcnNpc3RlbnRTdGF0ZT1leHBvcnRzLnYxVG9WMj1leHBvcnRzLmdldFN0YW5kYXJkUGVyc2lzdGVuY2VQYXRoPWV4cG9ydHMuZ2V0U3RhbmRhcmRBYXJkdmFya1BhdGg9dm9pZCAwO2NvbnN0IHV1aWRfMT1fX3dlYnBhY2tfcmVxdWlyZV9fKDIwKSxBYXJkdmFya1N0YXRlRm9ybWF0PTM7ZnVuY3Rpb24gZ2V0U3RhbmRhcmRBYXJkdmFya1BhdGgoKXtsZXQgb3M9ZXZhbChcInJlcXVpcmUoICdvcycgKVwiKSxwYXRoPWV2YWwoXCJyZXF1aXJlKCAncGF0aCcgKSBcIik7cmV0dXJuIHBhdGguam9pbihvcy5ob21lZGlyKCksXCJhYXJkdmFya1wiKX1mdW5jdGlvbiBnZXRTdGFuZGFyZFBlcnNpc3RlbmNlUGF0aCgpe2xldCBwYXRoPWV2YWwoXCJyZXF1aXJlKCAncGF0aCcgKVwiKTtyZXR1cm4gcGF0aC5qb2luKGdldFN0YW5kYXJkQWFyZHZhcmtQYXRoKCksXCJzdGF0ZS5qc29uXCIpfWV4cG9ydHMuZ2V0U3RhbmRhcmRBYXJkdmFya1BhdGg9Z2V0U3RhbmRhcmRBYXJkdmFya1BhdGgsZXhwb3J0cy5nZXRTdGFuZGFyZFBlcnNpc3RlbmNlUGF0aD1nZXRTdGFuZGFyZFBlcnNpc3RlbmNlUGF0aDtjb25zdCBmaXJzdE5hbWVzPVtcIkdyZWVuXCIsXCJCbHVlXCIsXCJSZWRcIixcIk9yYW5nZVwiLFwiVGVhbFwiLFwiUHVycGxlXCIsXCJQaW5rXCIsXCJZZWxsb3dcIixcIkJsYWNrXCIsXCJXaGl0ZVwiLFwiQnJvd25cIixcIkJlaWdlXCJdLGxhc3ROYW1lcz1bXCJBcHBsZVwiLFwiQmFuYW5hXCIsXCJMZW1vblwiLFwiUGluZWFwcGxlXCIsXCJDb2NvbnV0XCIsXCJMaW1lXCIsXCJLaXdpXCIsXCJQZWFyXCIsXCJDaGVycnlcIixcIlN0cmF3YmVycnlcIixcIkdyYXBlXCIsXCJNYW5nb1wiXTtmdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbU5hbWUoKXtsZXQgdD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqZmlyc3ROYW1lcy5sZW5ndGgpLGU9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmxhc3ROYW1lcy5sZW5ndGgpO3JldHVybmAke2ZpcnN0TmFtZXNbdF19ICR7bGFzdE5hbWVzW2VdfWB9ZnVuY3Rpb24gdjFUb1YyKHQpe2xldCBlPXtmb3JtYXQ6MixhY3RpdmVHYWRnZXRzOnQuYWN0aXZlR2FkZ2V0cyxpbnN0YWxsZWRHYWRnZXRzOltdLHJlbmRlcmVyQ29uZmlnOntlbmFibGVNaXhlZFJlYWxpdHk6ITEsbWl4ZWRSZWFsaXR5Rm92OjUwLjMsY2xlYXJDb2xvcjpbMCwxLDBdfSxsb2NhbFVzZXJVdWlkOnV1aWRfMS52NCgpLGxvY2FsVXNlckRpc3BsYXlOYW1lOmdlbmVyYXRlUmFuZG9tTmFtZSgpfTtmb3IobGV0IG4gb2YgdC5pbnN0YWxsZWRHYWRnZXRzKWUuaW5zdGFsbGVkR2FkZ2V0cy5wdXNoKG4ucmVwbGFjZShcImFhcmR2YXJrLmluc3RhbGxcIixcImxvY2FsaG9zdDoyMzg0MlwiKSk7cmV0dXJuIGV9ZnVuY3Rpb24gcmVhZFBlcnNpc3RlbnRTdGF0ZShwYXRoKXt0cnl7bGV0IGZzPWV2YWwoXCJyZXF1aXJlKCAnZnMnIClcIikscHJldmlvdXNTdGF0ZT1mcy5yZWFkRmlsZVN5bmMocGF0aCxcInV0ZjhcIiksc3RhdGU9SlNPTi5wYXJzZShwcmV2aW91c1N0YXRlKTtpZigxPT1zdGF0ZS5mb3JtYXR8fDI9PXN0YXRlLmZvcm1hdCl0aHJvd2BTdG9yZWQgc3RhdGUgJHtzdGF0ZS5mb3JtYXR9IGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuYDtpZihzdGF0ZS5mb3JtYXQhPUFhcmR2YXJrU3RhdGVGb3JtYXQpdGhyb3dcIkluYXBwcm9wcmlhdGUgc3RhdGUgZm9ybWF0IFwiK3N0YXRlLmZvcm1hdDtyZXR1cm4gc3RhdGUucmVuZGVyZXJDb25maWd8fChzdGF0ZS5yZW5kZXJlckNvbmZpZz17ZW5hYmxlTWl4ZWRSZWFsaXR5OiExLG1peGVkUmVhbGl0eUZvdjo1MC4zLGNsZWFyQ29sb3I6WzAsMSwwXX0pLHN0YXRlLmFjdGl2ZUdhZGdldHMuZ2FkZ2V0X21lbnV8fChjb25zb2xlLmxvZyhcIkdhZGdldCBtZW51IHdhcyBtaXNzaW5nLiBGb3JjaW5nIHRoYXQgdG8gZXhpc3QuXCIpLHN0YXRlLmFjdGl2ZUdhZGdldHMuZ2FkZ2V0X21lbnU9e3VyaTpcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVwiLGhvb2tQYXRoOlwiL2dhZGdldC9oYW5kcy9sZWZ0X2hhbmRcIn0pLHN0YXRlLmxvY2FsVXNlckRpc3BsYXlOYW1lfHwoc3RhdGUubG9jYWxVc2VyRGlzcGxheU5hbWU9Z2VuZXJhdGVSYW5kb21OYW1lKCkpLGNvbnNvbGUubG9nKGBSZWFkIHN0YXRlIGZyb20gJHtwYXRofSBmb3IgYCtPYmplY3Qua2V5cyhzdGF0ZS5hY3RpdmVHYWRnZXRzKS5sZW5ndGgrXCIgYWN0aXZlIGdhZGdldHNcIiksc3RhdGV9Y2F0Y2godCl7Y29uc29sZS5sb2coYEZhaWxlZCB0byByZWFkIHN0YXRlIGZpbGUgYmVjYXVzZSAke3R9IFVzaW5nIGRlZmF1bHQgc3RhcnRgKTtsZXQgZT17Zm9ybWF0OkFhcmR2YXJrU3RhdGVGb3JtYXQsYWN0aXZlR2FkZ2V0czp7Z2FkZ2V0X21lbnU6e3VyaTpcImh0dHA6Ly9sb2NhbGhvc3Q6MjM4NDIvZ2FkZ2V0cy9nYWRnZXRfbWVudVwiLGhvb2tQYXRoOlwiL2dhZGdldC9oYW5kcy9sZWZ0X2hhbmRcIn19LGluc3RhbGxlZEdhZGdldHM6W10scmVuZGVyZXJDb25maWc6e21peGVkUmVhbGl0eUZvdjo1MC4zLGVuYWJsZU1peGVkUmVhbGl0eTohMSxjbGVhckNvbG9yOlswLDEsMF19LGxvY2FsVXNlclV1aWQ6dXVpZF8xLnY0KCksbG9jYWxVc2VyRGlzcGxheU5hbWU6Z2VuZXJhdGVSYW5kb21OYW1lKCl9O3JldHVybiBlfX1mdW5jdGlvbiB3cml0ZVBlcnNpc3RlbnRTdGF0ZShzdGF0ZSxwYXRoKXtsZXQgZnM9ZXZhbChcInJlcXVpcmUoICdmcycgKVwiKTtyZXR1cm4gc3RhdGUuZm9ybWF0PUFhcmR2YXJrU3RhdGVGb3JtYXQsZnMud3JpdGVGaWxlU3luYyhwYXRoLEpTT04uc3RyaW5naWZ5KHN0YXRlLG51bGwsMikpLCEwfWV4cG9ydHMudjFUb1YyPXYxVG9WMixleHBvcnRzLnJlYWRQZXJzaXN0ZW50U3RhdGU9cmVhZFBlcnNpc3RlbnRTdGF0ZSxleHBvcnRzLndyaXRlUGVyc2lzdGVudFN0YXRlPXdyaXRlUGVyc2lzdGVudFN0YXRlfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7dmFyIGk9bigzKSxyPW4oMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheSg0KSx2b2lkIDAhPT10JiZ0aGlzLmluaXQodCl9cmV0dXJuIHQucHJvdG90eXBlLmF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlc1t0XX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPDQ7ZSsrKXRoaXMudmFsdWVzW2VdPXRbZV07cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDw0O3QrKyl0aGlzLnZhbHVlc1t0XT0wfSx0LnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUpe2V8fChlPW5ldyB0KTtmb3IodmFyIG49MDtuPDQ7bisrKWUudmFsdWVzW25dPXRoaXMudmFsdWVzW25dO3JldHVybiBlfSx0LnByb3RvdHlwZS5hbGw9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8NDtlKyspdFtlXT10aGlzLnZhbHVlc1tlXTtyZXR1cm4gdH0sdC5wcm90b3R5cGUucm93PWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1syKnQrMF0sdGhpcy52YWx1ZXNbMip0KzFdXX0sdC5wcm90b3R5cGUuY29sPWZ1bmN0aW9uKHQpe3JldHVyblt0aGlzLnZhbHVlc1t0XSx0aGlzLnZhbHVlc1t0KzJdXX0sdC5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7dm9pZCAwPT09ZSYmKGU9ci5lcHNpbG9uKTtmb3IodmFyIG49MDtuPDQ7bisrKWlmKE1hdGguYWJzKHRoaXMudmFsdWVzW25dLXQuYXQobikpPmUpcmV0dXJuITE7cmV0dXJuITB9LHQucHJvdG90eXBlLmRldGVybWluYW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzWzBdKnRoaXMudmFsdWVzWzNdLXRoaXMudmFsdWVzWzJdKnRoaXMudmFsdWVzWzFdfSx0LnByb3RvdHlwZS5zZXRJZGVudGl0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlc1swXT0xLHRoaXMudmFsdWVzWzFdPTAsdGhpcy52YWx1ZXNbMl09MCx0aGlzLnZhbHVlc1szXT0xLHRoaXN9LHQucHJvdG90eXBlLnRyYW5zcG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWVzWzFdO3JldHVybiB0aGlzLnZhbHVlc1sxXT10aGlzLnZhbHVlc1syXSx0aGlzLnZhbHVlc1syXT10LHRoaXN9LHQucHJvdG90eXBlLmludmVyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRldGVybWluYW50KCk7aWYoIXQpcmV0dXJuIG51bGw7dD0xL3Q7dmFyIGU9dGhpcy52YWx1ZXNbMF07cmV0dXJuIHRoaXMudmFsdWVzWzBdPXQqdGhpcy52YWx1ZXNbM10sdGhpcy52YWx1ZXNbMV09dCotdGhpcy52YWx1ZXNbMV0sdGhpcy52YWx1ZXNbMl09dCotdGhpcy52YWx1ZXNbMl0sdGhpcy52YWx1ZXNbM109dCplLHRoaXN9LHQucHJvdG90eXBlLm11bHRpcGx5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVzWzBdLG49dGhpcy52YWx1ZXNbMV0saT10aGlzLnZhbHVlc1syXSxyPXRoaXMudmFsdWVzWzNdO3JldHVybiB0aGlzLnZhbHVlc1swXT1lKnQuYXQoMCkrbip0LmF0KDIpLHRoaXMudmFsdWVzWzFdPWUqdC5hdCgxKStuKnQuYXQoMyksdGhpcy52YWx1ZXNbMl09aSp0LmF0KDApK3IqdC5hdCgyKSx0aGlzLnZhbHVlc1szXT1pKnQuYXQoMSkrcip0LmF0KDMpLHRoaXN9LHQucHJvdG90eXBlLnJvdGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnZhbHVlc1swXSxuPXRoaXMudmFsdWVzWzFdLGk9dGhpcy52YWx1ZXNbMl0scj10aGlzLnZhbHVlc1szXSxzPU1hdGguc2luKHQpLGE9TWF0aC5jb3ModCk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqYStuKnMsdGhpcy52YWx1ZXNbMV09ZSotcytuKmEsdGhpcy52YWx1ZXNbMl09aSphK3Iqcyx0aGlzLnZhbHVlc1szXT1pKi1zK3IqYSx0aGlzfSx0LnByb3RvdHlwZS5tdWx0aXBseVZlYzI9ZnVuY3Rpb24odCxlKXt2YXIgbj10Lngscj10Lnk7cmV0dXJuIGU/KGUueHk9W24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dLGUpOm5ldyBpLmRlZmF1bHQoW24qdGhpcy52YWx1ZXNbMF0rcip0aGlzLnZhbHVlc1sxXSxuKnRoaXMudmFsdWVzWzJdK3IqdGhpcy52YWx1ZXNbM11dKX0sdC5wcm90b3R5cGUuc2NhbGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy52YWx1ZXNbMF0sbj10aGlzLnZhbHVlc1sxXSxpPXRoaXMudmFsdWVzWzJdLHI9dGhpcy52YWx1ZXNbM10scz10LngsYT10Lnk7cmV0dXJuIHRoaXMudmFsdWVzWzBdPWUqcyx0aGlzLnZhbHVlc1sxXT1uKmEsdGhpcy52YWx1ZXNbMl09aSpzLHRoaXMudmFsdWVzWzNdPXIqYSx0aGlzfSx0LnByb2R1Y3Q9ZnVuY3Rpb24oZSxuLGkpe3ZhciByPWUuYXQoMCkscz1lLmF0KDEpLGE9ZS5hdCgyKSxvPWUuYXQoMyk7cmV0dXJuIGk/KGkuaW5pdChbcipuLmF0KDApK3Mqbi5hdCgyKSxyKm4uYXQoMSkrcypuLmF0KDMpLGEqbi5hdCgwKStvKm4uYXQoMiksYSpuLmF0KDEpK28qbi5hdCgzKV0pLGkpOm5ldyB0KFtyKm4uYXQoMCkrcypuLmF0KDIpLHIqbi5hdCgxKStzKm4uYXQoMyksYSpuLmF0KDApK28qbi5hdCgyKSxhKm4uYXQoMSkrbypuLmF0KDMpXSl9LHQuaWRlbnRpdHk9KG5ldyB0KS5zZXRJZGVudGl0eSgpLHR9KCk7ZS5kZWZhdWx0PXN9LGZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtcbi8qKlxuICogQGxpY2Vuc2UgUXVhdGVybmlvbi5qcyB2MS4xLjAgMjIvMDIvMjAxNlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNiwgUm9iZXJ0IEVpc2VsZSAocm9iZXJ0QHhhcmcub3JnKVxuICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuXG4gKiovIWZ1bmN0aW9uKG4pe1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1NYXRoLmFicyh0KSxpPU1hdGguYWJzKGUpO3JldHVybiAwPT09dD9NYXRoLmxvZyhpKTowPT09ZT9NYXRoLmxvZyhuKTpuPDNlMyYmaTwzZTM/LjUqTWF0aC5sb2codCp0K2UqZSk6TWF0aC5sb2codC9NYXRoLmNvcyhNYXRoLmF0YW4yKGUsdCkpKX12YXIgcz17dzoxLHg6MCx5OjAsejowfTtmdW5jdGlvbiBhKHQsZSxuLGkscil7aWYodm9pZCAwIT09cilyZXR1cm4gdC53PWUsdC54PW4sdC55PWksdm9pZCh0Lno9cik7aWYoXCJvYmplY3RcIj09dHlwZW9mIGUmJnZvaWQgMD09PWkpe2lmKFwid1wiaW4gZXx8XCJ4XCJpbiBlfHxcInlcImluIGV8fFwielwiaW4gZSlyZXR1cm4gdC53PWUud3x8MCx0Lng9ZS54fHwwLHQueT1lLnl8fDAsdm9pZCh0Lno9ZS56fHwwKTtpZihcInJlXCJpbiBlJiZcImltXCJpbiBlKXJldHVybiB0Lnc9ZS5yZSx0Lng9ZS5pbSx0Lnk9MCx2b2lkKHQuej0wKTtpZig0PT09ZS5sZW5ndGgpcmV0dXJuIHQudz1lWzBdLHQueD1lWzFdLHQueT1lWzJdLHZvaWQodC56PWVbM10pO2lmKDM9PT1lLmxlbmd0aClyZXR1cm4gdC53PTAsdC54PWVbMF0sdC55PWVbMV0sdm9pZCh0Lno9ZVsyXSk7dGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBvYmplY3RcIil9aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGV8fHZvaWQgMCE9PWkpdm9pZCAwPT09ZSYmdCE9PXM/KHQudz0xLHQueD10Lnk9dC56PTApOih0Lnc9ZXx8MCxuJiYzPT09bi5sZW5ndGg/KHQueD1uWzBdLHQueT1uWzFdLHQuej1uWzJdKToodC54PW58fDAsdC55PWl8fDAsdC56PXJ8fDApKTtlbHNle3ZhciBhPWUubWF0Y2goL1xcZCtcXC4/XFxkKmVbKy1dP1xcZCt8XFxkK1xcLj9cXGQqfFxcLlxcZCt8Li9nKSxvPTEsdT0wLGw9e2k6XCJ4XCIsajpcInlcIixrOlwielwifTtpZihudWxsPT09YSl0aHJvdyBuZXcgRXJyb3IoXCJQYXJzZSBlcnJvclwiKTt0Lnc9dC54PXQueT10Lno9MDtmb3IodmFyIGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGM9YVtoXSx2PWFbaCsxXTtpZihcIiBcIj09PWN8fFwiXFx0XCI9PT1jfHxcIlxcblwiPT09Yyk7ZWxzZSBpZihcIitcIj09PWMpbysrO2Vsc2UgaWYoXCItXCI9PT1jKXUrKztlbHNle2lmKG8rdT09PTApdGhyb3cgbmV3IEVycm9yKFwiUGFyc2UgZXJyb3JcIitjKTt2YXIgZj1sW2NdO2lmKHZvaWQgMCE9PWYpXCIgXCI9PT12fHxpc05hTih2KT9jPVwiMVwiOihjPXYsaCsrKTtlbHNle2lmKGlzTmFOKGMpKXRocm93IG5ldyBFcnJvcihcIlBhcnNlciBlcnJvclwiKTt2b2lkIDAhPT0oZj1sW3ZdKSYmaCsrfXRbZnx8XCJ3XCJdKz1wYXJzZUZsb2F0KCh1JTI/XCItXCI6XCJcIikrYyksbz11PTB9fWlmKG8rdT4wKXRocm93IG5ldyBFcnJvcihcIlBhcnNlciBlcnJvclwiKX19ZnVuY3Rpb24gbyh0LGUsbil7dmFyIGk9XCJcIjtyZXR1cm4gMCE9PXQmJihcIlwiIT09bj9pKz10PDA/XCIgLSBcIjpcIiArIFwiOnQ8MCYmKGkrPVwiLVwiKSwxPT09KHQ9TWF0aC5hYnModCkpJiZcIlwiIT09ZXx8KGkrPXQpLGkrPWUpLGl9ZnVuY3Rpb24gdSh0LGUsbixpKXtpZighKHRoaXMgaW5zdGFuY2VvZiB1KSlyZXR1cm4gbmV3IHUodCxlLG4saSk7YSh0aGlzLHQsZSxuLGkpfXUucHJvdG90eXBlPXt3OjEseDowLHk6MCx6OjAsYWRkOmZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiBhKHMsdCxlLG4saSksbmV3IHUodGhpcy53K3Mudyx0aGlzLngrcy54LHRoaXMueStzLnksdGhpcy56K3Mueil9LHN1YjpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gYShzLHQsZSxuLGkpLG5ldyB1KHRoaXMudy1zLncsdGhpcy54LXMueCx0aGlzLnktcy55LHRoaXMuei1zLnopfSxuZWc6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHUoLXRoaXMudywtdGhpcy54LC10aGlzLnksLXRoaXMueil9LG5vcm06ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLno7cmV0dXJuIE1hdGguc3FydCh0KnQrZSplK24qbitpKmkpfSxub3JtU3E6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLno7cmV0dXJuIHQqdCtlKmUrbipuK2kqaX0sbm9ybWFsaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53LGU9dGhpcy54LG49dGhpcy55LGk9dGhpcy56LHI9TWF0aC5zcXJ0KHQqdCtlKmUrbipuK2kqaSk7cmV0dXJuIHI8dS5FUFNJTE9OP3UuWkVSTzpuZXcgdSh0KihyPTEvciksZSpyLG4qcixpKnIpfSxtdWw6ZnVuY3Rpb24odCxlLG4saSl7YShzLHQsZSxuLGkpO3ZhciByPXRoaXMudyxvPXRoaXMueCxsPXRoaXMueSxoPXRoaXMueixjPXMudyx2PXMueCxmPXMueSxwPXMuejtyZXR1cm4gbmV3IHUocipjLW8qdi1sKmYtaCpwLHIqditvKmMrbCpwLWgqZixyKmYrbCpjK2gqdi1vKnAscipwK2gqYytvKmYtbCp2KX0sc2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHRoaXMudyp0LHRoaXMueCp0LHRoaXMueSp0LHRoaXMueip0KX0sZG90OmZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiBhKHMsdCxlLG4saSksdGhpcy53KnMudyt0aGlzLngqcy54K3RoaXMueSpzLnkrdGhpcy56KnMuen0saW52ZXJzZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMudyxlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPXQqdCtlKmUrbipuK2kqaTtyZXR1cm4gMD09PXI/dS5aRVJPOm5ldyB1KHQqKHI9MS9yKSwtZSpyLC1uKnIsLWkqcil9LGRpdjpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dGhpcy53LG89dGhpcy54LGw9dGhpcy55LGg9dGhpcy56LGM9cy53LHY9cy54LGY9cy55LHA9cy56LGQ9YypjK3YqditmKmYrcCpwO3JldHVybiAwPT09ZD91LlpFUk86bmV3IHUoKHIqYytvKnYrbCpmK2gqcCkqKGQ9MS9kKSwobypjLXIqdi1sKnAraCpmKSpkLChsKmMtcipmLWgqditvKnApKmQsKGgqYy1yKnAtbypmK2wqdikqZCl9LGNvbmp1Z2F0ZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdSh0aGlzLncsLXRoaXMueCwtdGhpcy55LC10aGlzLnopfSxleHA6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLnoscj1NYXRoLnNxcnQoZSplK24qbitpKmkpLHM9TWF0aC5leHAodCksYT1zL3IqTWF0aC5zaW4ocik7cmV0dXJuIDA9PT1yP25ldyB1KHMsMCwwLDApOm5ldyB1KHMqTWF0aC5jb3MociksZSphLG4qYSxpKmEpfSxsb2c6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLncsZT10aGlzLngsbj10aGlzLnksaT10aGlzLno7aWYoMD09PW4mJjA9PT1pKXJldHVybiBuZXcgdShyKHQsZSksTWF0aC5hdGFuMihlLHQpLDAsMCk7dmFyIHM9ZSplK24qbitpKmkrdCp0LGE9TWF0aC5zcXJ0KGUqZStuKm4raSppKSxvPU1hdGguYXRhbjIoYSx0KS9hO3JldHVybiBuZXcgdSguNSpNYXRoLmxvZyhzKSxlKm8sbipvLGkqbyl9LHBvdzpmdW5jdGlvbih0LGUsbixpKXtpZihhKHMsdCxlLG4saSksMD09PXMueSYmMD09PXMueil7aWYoMT09PXMudyYmMD09PXMueClyZXR1cm4gdGhpcztpZigwPT09cy53JiYwPT09cy54KXJldHVybiB1Lk9ORTtpZigwPT09dGhpcy55JiYwPT09dGhpcy56KXt2YXIgbz10aGlzLncsbD10aGlzLng7aWYoMD09PW8mJjA9PT1sKXJldHVybiB1LlpFUk87dmFyIGg9TWF0aC5hdGFuMihsLG8pLGM9cihvLGwpO2lmKDA9PT1zLngpe2lmKDA9PT1sJiZvPj0wKXJldHVybiBuZXcgdShNYXRoLnBvdyhvLHMudyksMCwwLDApO2lmKDA9PT1vKXN3aXRjaChzLnclNCl7Y2FzZSAwOnJldHVybiBuZXcgdShNYXRoLnBvdyhsLHMudyksMCwwLDApO2Nhc2UgMTpyZXR1cm4gbmV3IHUoMCxNYXRoLnBvdyhsLHMudyksMCwwKTtjYXNlIDI6cmV0dXJuIG5ldyB1KC1NYXRoLnBvdyhsLHMudyksMCwwLDApO2Nhc2UgMzpyZXR1cm4gbmV3IHUoMCwtTWF0aC5wb3cobCxzLncpLDAsMCl9fXJldHVybiBvPU1hdGguZXhwKHMudypjLXMueCpoKSxsPXMueCpjK3MudypoLG5ldyB1KG8qTWF0aC5jb3MobCksbypNYXRoLnNpbihsKSwwLDApfX1yZXR1cm4gdGhpcy5sb2coKS5tdWwocykuZXhwKCl9LGVxdWFsczpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dS5FUFNJTE9OO3JldHVybiBNYXRoLmFicyhzLnctdGhpcy53KTxyJiZNYXRoLmFicyhzLngtdGhpcy54KTxyJiZNYXRoLmFicyhzLnktdGhpcy55KTxyJiZNYXRoLmFicyhzLnotdGhpcy56KTxyfSxpc0Zpbml0ZTpmdW5jdGlvbigpe3JldHVybiBpc0Zpbml0ZSh0aGlzLncpJiZpc0Zpbml0ZSh0aGlzLngpJiZpc0Zpbml0ZSh0aGlzLnkpJiZpc0Zpbml0ZSh0aGlzLnopfSxpc05hTjpmdW5jdGlvbigpe3JldHVybiBpc05hTih0aGlzLncpfHxpc05hTih0aGlzLngpfHxpc05hTih0aGlzLnkpfHxpc05hTih0aGlzLnopfSx0b1N0cmluZzpmdW5jdGlvbigpe3ZhciB0PXRoaXMudyxlPXRoaXMueCxuPXRoaXMueSxpPXRoaXMueixyPVwiXCI7cmV0dXJuIGlzTmFOKHQpfHxpc05hTihlKXx8aXNOYU4obil8fGlzTmFOKGkpP1wiTmFOXCI6KHI9byh0LFwiXCIscikscis9byhlLFwiaVwiLHIpLHIrPW8obixcImpcIixyKSxcIlwiPT09KHIrPW8oaSxcImtcIixyKSk/XCIwXCI6cil9LHJlYWw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53fSxpbWFnOmZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMueCx0aGlzLnksdGhpcy56XX0sdG9WZWN0b3I6ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy53LHRoaXMueCx0aGlzLnksdGhpcy56XX0sdG9NYXRyaXg6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3VdLFtjK2wsMS0oaCtkKSxwLW9dLFt2LXUscCtvLDEtKGgrZildXTpbMS0oZitkKSxjLWwsdit1LGMrbCwxLShoK2QpLHAtbyx2LXUscCtvLDEtKGgrZildfSx0b01hdHJpeDQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53LG49dGhpcy54LGk9dGhpcy55LHI9dGhpcy56LHM9ZSplK24qbitpKmkrcipyLGE9MD09PXM/MDoyL3Msbz1hKmUqbix1PWEqZSppLGw9YSplKnIsaD1hKm4qbixjPWEqbippLHY9YSpuKnIsZj1hKmkqaSxwPWEqaSpyLGQ9YSpyKnI7cmV0dXJuIHQ/W1sxLShmK2QpLGMtbCx2K3UsMF0sW2MrbCwxLShoK2QpLHAtbywwXSxbdi11LHArbywxLShoK2YpLDBdLFswLDAsMCwxXV06WzEtKGYrZCksYy1sLHYrdSwwLGMrbCwxLShoK2QpLHAtbywwLHYtdSxwK28sMS0oaCtmKSwwLDAsMCwwLDFdfSxjbG9uZTpmdW5jdGlvbigpe3JldHVybiBuZXcgdSh0aGlzKX0scm90YXRlVmVjdG9yOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudyxuPXRoaXMueCxpPXRoaXMueSxyPXRoaXMueixzPXRbMF0sYT10WzFdLG89dFsyXSx1PS1uKnMtaSphLXIqbyxsPWUqcytpKm8tciphLGg9ZSphK3Iqcy1uKm8sYz1lKm8rbiphLWkqcztyZXR1cm5bbCplLXUqbi1oKnIrYyppLGgqZS11KmktYypuK2wqcixjKmUtdSpyLWwqaStoKm5dfSxzbGVycDpmdW5jdGlvbih0LGUsbixpKXthKHMsdCxlLG4saSk7dmFyIHI9dGhpcy53LG89dGhpcy54LGw9dGhpcy55LGg9dGhpcy56LGM9cy53LHY9cy54LGY9cy55LHA9cy56LGQ9cipjK28qditsKmYraCpwO2lmKGQ8MCYmKHI9LXIsbz0tbyxsPS1sLGg9LWgsZD0tZCksZD4uOTk5NSlyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHIrdCooYy1yKSxvK3QqKHYtbyksbCt0KihmLWwpLGgrdCoocC1oKSkubm9ybWFsaXplKCl9O3ZhciB5PU1hdGguYWNvcyhkKSxnPU1hdGguc2luKHkpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZT15KnQsbj1NYXRoLnNpbihlKSxpPU1hdGguY29zKGUpLWQqbi9nLHM9bi9nO3JldHVybiBuZXcgdShpKnIrcypjLGkqbytzKnYsaSpsK3MqZixpKmgrcypwKX19fSx1LlpFUk89bmV3IHUoMCwwLDAsMCksdS5PTkU9bmV3IHUoMSwwLDAsMCksdS5JPW5ldyB1KDAsMSwwLDApLHUuSj1uZXcgdSgwLDAsMSwwKSx1Lks9bmV3IHUoMCwwLDAsMSksdS5FUFNJTE9OPTFlLTE2LHUuZnJvbUF4aXNBbmdsZT1mdW5jdGlvbih0LGUpe3ZhciBuPS41KmUsaT10WzBdLHI9dFsxXSxzPXRbMl0sYT1NYXRoLnNpbihuKSxvPU1hdGguY29zKG4pLGw9YS9NYXRoLnNxcnQoaSppK3IqcitzKnMpO3JldHVybiBuZXcgdShvLGkqbCxyKmwscypsKX0sdS5mcm9tQmV0d2VlblZlY3RvcnM9ZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdLGk9dFsxXSxyPXRbMl0scz1lWzBdLGE9ZVsxXSxvPWVbMl0sbD1uKnMraSphK3IqbyxoPWkqby1yKmEsYz1yKnMtbipvLHY9biphLWkqcztyZXR1cm4gbmV3IHUobCtNYXRoLnNxcnQobCpsK2gqaCtjKmMrdip2KSxoLGMsdikubm9ybWFsaXplKCl9LHUuZnJvbUV1bGVyPWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPS41KmUscz0uNSpuLGE9LjUqdCxvPU1hdGguY29zKHIpLGw9TWF0aC5jb3MocyksaD1NYXRoLmNvcyhhKSxjPU1hdGguc2luKHIpLHY9TWF0aC5zaW4ocyksZj1NYXRoLnNpbihhKTtyZXR1cm4gdm9pZCAwPT09aXx8XCJaWFlcIj09PWk/bmV3IHUobypsKmgtYyp2KmYsYypsKmgtbyp2KmYsbyp2KmgrYypsKmYsbypsKmYrYyp2KmgpOlwiWFlaXCI9PT1pP25ldyB1KG8qbCpoLWMqdipmLGMqbCpoK28qdipmLG8qdipoLWMqbCpmLG8qbCpmK2MqdipoKTpcIllYWlwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaCtvKnYqZixvKnYqaC1jKmwqZixvKmwqZi1jKnYqaCk6XCJaWVhcIj09PWk/bmV3IHUobypsKmgrYyp2KmYsYypsKmgtbyp2KmYsbyp2KmgrYypsKmYsbypsKmYtYyp2KmgpOlwiWVpYXCI9PT1pP25ldyB1KG8qbCpoLWMqdipmLGMqbCpoK28qdipmLG8qdipoK2MqbCpmLG8qbCpmLWMqdipoKTpcIlhaWVwiPT09aT9uZXcgdShvKmwqaCtjKnYqZixjKmwqaC1vKnYqZixvKnYqaC1jKmwqZixvKmwqZitjKnYqaCk6bnVsbH0sdm9pZCAwPT09KGk9ZnVuY3Rpb24oKXtyZXR1cm4gdX0uYXBwbHkoZSxbXSkpfHwodC5leHBvcnRzPWkpfSgpfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS50d29IYW5kQmluZGluZz1lLm11bHRpRGV2aWNlQmluZGluZz1lLklucHV0UHJvY2Vzc29yPXZvaWQgMDtjb25zdCBpPW4oNyk7ZnVuY3Rpb24gcih0LGUsbil7cmV0dXJuIGUubWFwKGU9Pih7aW50ZXJhY3Rpb25Qcm9maWxlOnQsaW5wdXRQYXRoOmUrbn0pKX1lLklucHV0UHJvY2Vzc29yPWNsYXNze2NvbnN0cnVjdG9yKHQsZSxuKXt2YXIgcjt0aGlzLmlucHV0SW5mbz17YWN0aXZlQWN0aW9uU2V0czpbXX0sdGhpcy5uZXh0Q2FsbGJhY2tJZD0xLHRoaXMuYWN0aW9uU2V0cz10LHRoaXMuc3luY0lucHV0T3ZlcnJpZGU9bix0aGlzLmlucHV0SW50ZXJ2YWxNcz1udWxsIT1lP2U6MzAsbnVsbD09PShyPWkuQXYoKSl8fHZvaWQgMD09PXJ8fHIucmVnaXN0ZXJJbnB1dCh0KX1URVNUX1VwZGF0ZVN0YXRlKHQpe3RoaXMuYXBwbHlOZXdTdGF0ZShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKSl9YWN0aXZhdGVBY3Rpb25TZXQodCxlKXtsZXQgbjtmb3IobGV0IGUgb2YgdGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cylpZihlLmFjdGlvblNldE5hbWU9PXQpe249ZTticmVha31sZXQgcixzPSExO258fChuPXthY3Rpb25TZXROYW1lOnQsdG9wTGV2ZWxQYXRoczpbXX0sdGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5wdXNoKG4pKSxyPVwic3RyaW5nXCI9PXR5cGVvZiBlP1tlXTpcIm9iamVjdFwiPT10eXBlb2YgZT9lOltpLkRldmljZS5MZWZ0LGkuRGV2aWNlLlJpZ2h0XTtmb3IobGV0IGUgb2YgciluLnRvcExldmVsUGF0aHMuaW5jbHVkZXMoZSl8fChuLnRvcExldmVsUGF0aHMucHVzaChlKSx0aGlzLnN1cHByZXNzSW5pdGlhbFByZXNzRm9yQWN0aW9uU2V0KHQsZSkscz0hMCk7IXRoaXMuaW5wdXRUaW1lciYmdGhpcy5pbnB1dEludGVydmFsTXMmJnMmJih0aGlzLmlucHV0VGltZXI9d2luZG93LnNldFRpbWVvdXQoKCk9PnRoaXMub25JbnB1dFRpY2soKSx0aGlzLmlucHV0SW50ZXJ2YWxNcykpfXN1cHByZXNzSW5pdGlhbFByZXNzRm9yQWN0aW9uU2V0KHQsZSl7dmFyIG47bGV0IHI7Zm9yKGxldCBlIG9mIHRoaXMuYWN0aW9uU2V0cylpZihlLm5hbWU9PXQpe3I9ZTticmVha31pZihyKWZvcihsZXQgdCBvZiBudWxsIT09KG49ci5hY3Rpb25zKSYmdm9pZCAwIT09bj9uOltdKXtsZXQgbj10O2lmKG4udHlwZT09aS5BY3Rpb25UeXBlLkJvb2xlYW4pc3dpdGNoKGUpe2Nhc2UgaS5EZXZpY2UuTGVmdDpuLnN1cHByZXNzTGVmdD0hMDticmVhaztjYXNlIGkuRGV2aWNlLlJpZ2h0Om4uc3VwcHJlc3NSaWdodD0hMH19fWRlYWN0aXZhdGVBY3Rpb25TZXQodCxlKXtmb3IobGV0IG49MDtuPHRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMubGVuZ3RoO24rKyl7bGV0IGk9dGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0c1tuXTtpZihpLmFjdGlvblNldE5hbWU9PXQpcmV0dXJuIHZvaWQoZT8oaS50b3BMZXZlbFBhdGhzPWkudG9wTGV2ZWxQYXRocy5maWx0ZXIodD0+dCE9ZSksMD09aS50b3BMZXZlbFBhdGhzLmxlbmd0aCYmdGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5zcGxpY2UobiwxKSk6dGhpcy5pbnB1dEluZm8uYWN0aXZlQWN0aW9uU2V0cy5zcGxpY2UobiwxKSl9fXJlZ2lzdGVyQm9vbGVhbkNhbGxiYWNrcyh0LGUsbixpLHIpe2xldCBzPXtpZDp0aGlzLm5leHRDYWxsYmFja0lkKysscmlzaW5nOmksZmFsbGluZzpyfTtyZXR1cm4gdGhpcy5yZWdpc3RlckNhbGxiYWNrKHQsZSxuLHMpfXJlZ2lzdGVyRmxvYXRDYWxsYmFjayh0LGUsbixpKXtsZXQgcj17aWQ6dGhpcy5uZXh0Q2FsbGJhY2tJZCsrLGNoYW5nZTppfTtyZXR1cm4gdGhpcy5yZWdpc3RlckNhbGxiYWNrKHQsZSxuLHIpfXJlZ2lzdGVyVmVjdG9yMkNhbGxiYWNrKHQsZSxuLGkpe2xldCByPXtpZDp0aGlzLm5leHRDYWxsYmFja0lkKyssY2hhbmdlOml9O3JldHVybiB0aGlzLnJlZ2lzdGVyQ2FsbGJhY2sodCxlLG4scil9cmVnaXN0ZXJDYWxsYmFjayh0LGUsbixyKXt2YXIgcyxhO2xldCBvPXRoaXMuZ2V0QWN0aW9uKHQsZSk7aWYoIW8pdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbiAke2V9IGluIGFjdGlvbiBzZXQgJHt0fWApO3N3aXRjaChuKXtjYXNlIGkuRGV2aWNlLkxlZnQ6by5sZWZ0Q2FsbGJhY2tzPVsuLi5udWxsIT09KHM9by5sZWZ0Q2FsbGJhY2tzKSYmdm9pZCAwIT09cz9zOltdLHJdO2JyZWFrO2Nhc2UgaS5EZXZpY2UuUmlnaHQ6by5yaWdodENhbGxiYWNrcz1bLi4ubnVsbCE9PShhPW8ucmlnaHRDYWxsYmFja3MpJiZ2b2lkIDAhPT1hP2E6W10scl19cmV0dXJuIHIuaWR9dW5yZWdpc3RlckNhbGxiYWNrKHQpe3ZhciBlLG4saTtmb3IobGV0IHIgb2YgdGhpcy5hY3Rpb25TZXRzKWZvcihsZXQgcyBvZiBudWxsIT09KGU9ci5hY3Rpb25zKSYmdm9pZCAwIT09ZT9lOltdKXtsZXQgZT1zO2UubGVmdENhbGxiYWNrcz1udWxsPT09KG49ZS5sZWZ0Q2FsbGJhY2tzKXx8dm9pZCAwPT09bj92b2lkIDA6bi5maWx0ZXIoZT0+ZS5pZCE9dCksZS5yaWdodENhbGxiYWNrcz1udWxsPT09KGk9ZS5yaWdodENhbGxiYWNrcyl8fHZvaWQgMD09PWk/dm9pZCAwOmkuZmlsdGVyKGU9PmUuaWQhPXQpfX1vbklucHV0VGljaygpe3RyeXtsZXQgdD10aGlzLnN5bmNJbnB1dE92ZXJyaWRlP3RoaXMuc3luY0lucHV0T3ZlcnJpZGUodGhpcy5pbnB1dEluZm8pOmkuQXYoKS5zeW5jSW5wdXQodGhpcy5pbnB1dEluZm8pO3RoaXMuYXBwbHlOZXdTdGF0ZSh0KX1jYXRjaCh0KXtjb25zb2xlLmxvZyhcImZhaWxlZCB0byBzeW5jIGlucHV0XCIpfXRoaXMuaW5wdXRJbmZvLmFjdGl2ZUFjdGlvblNldHMubGVuZ3RoPjAmJnRoaXMuaW5wdXRJbnRlcnZhbE1zP3RoaXMuaW5wdXRUaW1lcj13aW5kb3cuc2V0VGltZW91dCgoKT0+dGhpcy5vbklucHV0VGljaygpLHRoaXMuaW5wdXRJbnRlcnZhbE1zKTp0aGlzLmlucHV0VGltZXI9dm9pZCAwfWdldEFjdGlvbih0LGUpe3ZhciBuO2ZvcihsZXQgaSBvZiB0aGlzLmFjdGlvblNldHMpaWYoaS5uYW1lPT10KWZvcihsZXQgdCBvZiBudWxsIT09KG49aS5hY3Rpb25zKSYmdm9pZCAwIT09bj9uOltdKWlmKHQubmFtZT09ZSlyZXR1cm4gdH1hcHBseU5ld1N0YXRlKHQpe3RoaXMucHJvY2Vzc0RpZmZzKHRoaXMuc3RhdGUsdCksdGhpcy5zdGF0ZT10fWNhbGxDYWxsYmFjayh0LGUsbixyKXt2YXIgcyxhLG8sdTtzd2l0Y2gocil7Y2FzZSBpLkFjdGlvblR5cGUuQm9vbGVhbjp7bGV0IGk9dDtlJiYhbj9udWxsPT09KHM9aS5mYWxsaW5nKXx8dm9pZCAwPT09c3x8cy5jYWxsKGkpOiFlJiZuJiYobnVsbD09PShhPWkucmlzaW5nKXx8dm9pZCAwPT09YXx8YS5jYWxsKGkpKX1icmVhaztjYXNlIGkuQWN0aW9uVHlwZS5GbG9hdDp7bGV0IGk9dCxyPVwibnVtYmVyXCI9PXR5cGVvZiBlP2U6MCxzPVwibnVtYmVyXCI9PXR5cGVvZiBuP246MDtyIT1zJiZpLmNoYW5nZShyLHMpfWJyZWFrO2Nhc2UgaS5BY3Rpb25UeXBlLlZlY3RvcjI6e2NvbnN0W2kscl09bnVsbCE9PShvPWUpJiZ2b2lkIDAhPT1vP286WzAsMF0sW3MsYV09bnVsbCE9PSh1PW4pJiZ2b2lkIDAhPT11P3U6WzAsMF07bGV0IGw9dDtpPT1zJiZyPT1hfHxsLmNoYW5nZShbaSxyXSxbcyxhXSl9fX1wcm9jZXNzRGlmZnModCxlKXt2YXIgbixpLHIscyxhLG8sdSxsLGg7Zm9yKGxldCBjIG9mIHRoaXMuYWN0aW9uU2V0cylmb3IobGV0IHYgb2YgbnVsbCE9PShuPWMuYWN0aW9ucykmJnZvaWQgMCE9PW4/bjpbXSl7bGV0IG49dixmPW51bGw9PT0oaT1udWxsPT10P3ZvaWQgMDp0LnJlc3VsdHNbYy5uYW1lXSl8fHZvaWQgMD09PWk/dm9pZCAwOmlbbi5uYW1lXSxwPW51bGw9PT0ocj1lLnJlc3VsdHNbYy5uYW1lXSl8fHZvaWQgMD09PXI/dm9pZCAwOnJbbi5uYW1lXSxkPW51bGw9PT0ocz1udWxsPT1mP3ZvaWQgMDpmLmxlZnQpfHx2b2lkIDA9PT1zP3ZvaWQgMDpzLnZhbHVlLHk9bnVsbD09PShhPW51bGw9PWY/dm9pZCAwOmYucmlnaHQpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLnZhbHVlLGc9bnVsbD09PShvPW51bGw9PXA/dm9pZCAwOnAubGVmdCl8fHZvaWQgMD09PW8/dm9pZCAwOm8udmFsdWUseD1udWxsPT09KHU9bnVsbD09cD92b2lkIDA6cC5yaWdodCl8fHZvaWQgMD09PXU/dm9pZCAwOnUudmFsdWU7aWYobi5zdXBwcmVzc0xlZnQpZ3x8KG4uc3VwcHJlc3NMZWZ0PSExKTtlbHNlIGZvcihsZXQgdCBvZiBudWxsIT09KGw9bi5sZWZ0Q2FsbGJhY2tzKSYmdm9pZCAwIT09bD9sOltdKXRoaXMuY2FsbENhbGxiYWNrKHQsZCxnLG4udHlwZSk7aWYobi5zdXBwcmVzc1JpZ2h0KXh8fChuLnN1cHByZXNzUmlnaHQ9ITEpO2Vsc2UgZm9yKGxldCB0IG9mIG51bGwhPT0oaD1uLnJpZ2h0Q2FsbGJhY2tzKSYmdm9pZCAwIT09aD9oOltdKXRoaXMuY2FsbENhbGxiYWNrKHQseSx4LG4udHlwZSl9fX0sZS5tdWx0aURldmljZUJpbmRpbmc9cixlLnR3b0hhbmRCaW5kaW5nPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodCxbaS5EZXZpY2UuTGVmdCxpLkRldmljZS5SaWdodF0sZSl9fSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS5nX2FuaW1fTGVmdF9UaHVtYnNVcD1lLmdfYnVpbHRpbkFuaW1zPWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZFJpZ2h0PWUuZ19idWlsdGluTW9kZWxTa2lubmVkSGFuZExlZnQ9ZS5nX2J1aWx0aW5Nb2RlbFJvY2tldHNoaXA9ZS5nX2J1aWx0aW5Nb2RlbFdpbmRvd0ljb249ZS5nX2J1aWx0aW5Nb2RlbFRyYXNoY2FuPWUuZ19idWlsdGluTW9kZWxTdGFyPWUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFJvb209ZS5nX2J1aWx0aW5Nb2RlbFBsdXM9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFBhbmVsPWUuZ19idWlsdGluTW9kZWxOZXR3b3JrPWUuZ19idWlsdGluTW9kZWxNaW51cz1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0T3Blbj1lLmdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkPWUuZ19idWlsdGluTW9kZWxIb29rPWUuZ19idWlsdGluTW9kZWxIZWFkPWUuZ19idWlsdGluTW9kZWxIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRNaXJyb3I9ZS5nX2J1aWx0aW5Nb2RlbEhhbmRMZWZ0PWUuZ19idWlsdGluTW9kZWxIYW1tZXJBbmRXcmVuY2g9ZS5nX2J1aWx0aW5Nb2RlbEdlYXI9ZS5nX2J1aWx0aW5Nb2RlbEZsYXNrPWUuZ19idWlsdGluTW9kZWxFcnJvcj1lLmdfYnVpbHRpbk1vZGVsRHJvcEF0dHJhY3Q9ZS5nX2J1aWx0aW5Nb2RlbEN5bGluZGVyPWUuZ19idWlsdGluTW9kZWxCcmFjZWxldD1lLmdfYnVpbHRpbk1vZGVsQm94PWUuZ19idWlsdGluTW9kZWxCb3VuZGluZ0JveD1lLmdfYnVpbHRpbk1vZGVsQmFyY29kZVNjYW5uZXI9ZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsQXJyb3c9ZS5nX2J1aWx0aW5Nb2RlbEFhcmR2YXJrPWUuZ19idWlsdGluTW9kZWxQcmVmaXg9dm9pZCAwLGUuZ19idWlsdGluTW9kZWxQcmVmaXg9XCJodHRwOi8vbG9jYWxob3N0OjIzODQyL21vZGVscy9cIixlLmdfYnVpbHRpbk1vZGVsQWFyZHZhcms9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImFhcmR2YXJrLmdsYlwiLGUuZ19idWlsdGluTW9kZWxBcnJvdz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiYXJyb3cuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbEFycm93RmxhdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiYXJyb3dfZmxhdC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsQmFyY29kZVNjYW5uZXI9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImJhcmNvZGVfcmVhZGVyLmdsYlwiLGUuZ19idWlsdGluTW9kZWxCb3VuZGluZ0JveD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiYm91bmRpbmdfYm94LmdsYlwiLGUuZ19idWlsdGluTW9kZWxCb3g9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImJveC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsQnJhY2VsZXQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImJyYWNlbGV0LmdsYlwiLGUuZ19idWlsdGluTW9kZWxDeWxpbmRlcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiY3lsaW5kZXIuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbERyb3BBdHRyYWN0PWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJkcm9wX2F0dHJhY3QuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbEVycm9yPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJlcnJvci5nbGJcIixlLmdfYnVpbHRpbk1vZGVsRmxhc2s9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImZsYXNrLmdsYlwiLGUuZ19idWlsdGluTW9kZWxHZWFyPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJnZWFyLmdsYlwiLGUuZ19idWlsdGluTW9kZWxIYW1tZXJBbmRXcmVuY2g9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImhhbW1lcndyZW5jaC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSGFuZExlZnQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcImhhbmRfbGVmdC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSGFuZE1pcnJvcj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaGFuZF9taXJyb3IuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbEhhbmRSaWdodD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaGFuZF9yaWdodC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSGVhZD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaGVhZC5nbGJcIixlLmdfYnVpbHRpbk1vZGVsSG9vaz1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wiaG9vay5nbGJcIixlLmdfYnVpbHRpbk1vZGVsTWFnbmV0Q2xvc2VkPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJtYWduZXRfY2xvc2VkLmdsYlwiLGUuZ19idWlsdGluTW9kZWxNYWduZXRPcGVuPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJtYWduZXRfb3Blbi5nbGJcIixlLmdfYnVpbHRpbk1vZGVsTWludXM9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcIm1pbnVzLmdsYlwiLGUuZ19idWlsdGluTW9kZWxOZXR3b3JrPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJuZXR3b3JrLmdsYlwiLGUuZ19idWlsdGluTW9kZWxQYW5lbD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wicGFuZWwvcGFuZWwuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFBhbmVsSW52ZXJ0ZWQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInBhbmVsL3BhbmVsX2ludmVydGVkLmdsYlwiLGUuZ19idWlsdGluTW9kZWxQbHVzPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJwbHVzLmdsYlwiLGUuZ19idWlsdGluTW9kZWxSb29tPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJyb29tLmdsYlwiLGUuZ19idWlsdGluTW9kZWxTcGhlcmU9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInNwaGVyZS9zcGhlcmUuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFN0YXI9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInN0YXIuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFRyYXNoY2FuPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJ0cmFzaGNhbi5nbGJcIixlLmdfYnVpbHRpbk1vZGVsV2luZG93SWNvbj1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wid2luZG93X2ljb24uZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFJvY2tldHNoaXA9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInJvY2tldHNoaXAuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFNraW5uZWRIYW5kTGVmdD1lLmdfYnVpbHRpbk1vZGVsUHJlZml4K1wic2tpbm5lZF9oYW5kX2xlZnQuZ2xiXCIsZS5nX2J1aWx0aW5Nb2RlbFNraW5uZWRIYW5kUmlnaHQ9ZS5nX2J1aWx0aW5Nb2RlbFByZWZpeCtcInNraW5uZWRfaGFuZF9yaWdodC5nbGJcIixlLmdfYnVpbHRpbkFuaW1zPWUuZ19idWlsdGluTW9kZWxQcmVmaXgrXCJhbmltYXRpb25zL1wiLGUuZ19hbmltX0xlZnRfVGh1bWJzVXA9ZS5nX2J1aWx0aW5BbmltcytcImxlZnRfdGh1bWJzX3VwLmdsYlwifSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSksZS5XZWJBcHBNYW5pZmVzdE9yaWVudGF0aW9uPWUuV2ViQXBwTWFuaWZlc3REaXNwbGF5PWUuV2ViQXBwTWFuaWZlc3RUZXh0RGlyPWUuV2ViQXBwTWFuaWZlc3RSZXNvdXJjZVB1cnBvc2U9dm9pZCAwLGZ1bmN0aW9uKHQpe3QuQmFkZ2U9XCJiYWRnZVwiLHQuTWFza2FibGU9XCJtYXNrYWJsZVwiLHQuQW55PVwiYW55XCJ9KGUuV2ViQXBwTWFuaWZlc3RSZXNvdXJjZVB1cnBvc2V8fChlLldlYkFwcE1hbmlmZXN0UmVzb3VyY2VQdXJwb3NlPXt9KSksZnVuY3Rpb24odCl7dC5BdXRvPVwiYXV0b1wiLHQuTGVmdFRvUmlnaHQ9XCJsdHJcIix0LlJpZ2h0VG9MZWZ0PVwicnRsXCJ9KGUuV2ViQXBwTWFuaWZlc3RUZXh0RGlyfHwoZS5XZWJBcHBNYW5pZmVzdFRleHREaXI9e30pKSxmdW5jdGlvbih0KXt0LkZ1bGxzY3JlZW49XCJmdWxsc2NyZWVuXCIsdC5TdGFuZGFsb25lPVwic3RhbmRhbG9uZVwiLHQuTWluaW1hbFVJPVwibWluaW1hbC11aVwiLHQuQnJvd3Nlcj1cImJyb3dzZXJcIn0oZS5XZWJBcHBNYW5pZmVzdERpc3BsYXl8fChlLldlYkFwcE1hbmlmZXN0RGlzcGxheT17fSkpLGZ1bmN0aW9uKHQpe3QuQW55PVwiYW55XCIsdC5OYXR1cmFsPVwibmF0dXJhbFwiLHQuTGFuZHNjYXBlPVwibGFuZHNjYXBlXCIsdC5MYW5kc2NhcGVQcmltYXJ5PVwibGFuZHNjYXBlLXByaW1hcnlcIix0LkxhbmRzY2FwZVNlY29uZGFyeT1cImxhbmRzY2FwZS1zZWNvbmRhcnlcIix0LlBvcnRyYWl0PVwicG9ydHJhaXRcIix0LlBvcnRyYWl0UHJpbWFyeT1cInBvcnRyYWl0LXByaW1hcnlcIix0LlBvcnRyYWl0U2Vjb25kYXJ5PVwicG9ydHJhaXQtc2Vjb25kYXJ5XCJ9KGUuV2ViQXBwTWFuaWZlc3RPcmllbnRhdGlvbnx8KGUuV2ViQXBwTWFuaWZlc3RPcmllbnRhdGlvbj17fSkpfSxmdW5jdGlvbih0LGUsbil7XCJ1c2Ugc3RyaWN0XCI7bi5yKGUpLG4uZChlLFwidjFcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSxcInYzXCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsXCJ2NFwiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLFwidjVcIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKTt2YXIgaT1uKDEpLHI9bi5uKGkpO2Z1bmN0aW9uIHMoKXtyZXR1cm4gci5hLnJhbmRvbUJ5dGVzKDE2KX1mb3IodmFyIGE9W10sbz0wO288MjU2OysrbylhW29dPShvKzI1NikudG9TdHJpbmcoMTYpLnN1YnN0cigxKTt2YXIgdSxsLGg9ZnVuY3Rpb24odCxlKXt2YXIgbj1lfHwwLGk9YTtyZXR1cm5baVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLFwiLVwiLGlbdFtuKytdXSxpW3RbbisrXV0sXCItXCIsaVt0W24rK11dLGlbdFtuKytdXSxcIi1cIixpW3RbbisrXV0saVt0W24rK11dLFwiLVwiLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dLGlbdFtuKytdXSxpW3RbbisrXV0saVt0W24rK11dXS5qb2luKFwiXCIpfSxjPTAsdj0wO3ZhciBmPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lJiZufHwwLHI9ZXx8W10sYT0odD10fHx7fSkubm9kZXx8dSxvPXZvaWQgMCE9PXQuY2xvY2tzZXE/dC5jbG9ja3NlcTpsO2lmKG51bGw9PWF8fG51bGw9PW8pe3ZhciBmPXQucmFuZG9tfHwodC5ybmd8fHMpKCk7bnVsbD09YSYmKGE9dT1bMXxmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XV0pLG51bGw9PW8mJihvPWw9MTYzODMmKGZbNl08PDh8Zls3XSkpfXZhciBwPXZvaWQgMCE9PXQubXNlY3M/dC5tc2VjczoobmV3IERhdGUpLmdldFRpbWUoKSxkPXZvaWQgMCE9PXQubnNlY3M/dC5uc2Vjczp2KzEseT1wLWMrKGQtdikvMWU0O2lmKHk8MCYmdm9pZCAwPT09dC5jbG9ja3NlcSYmKG89bysxJjE2MzgzKSwoeTwwfHxwPmMpJiZ2b2lkIDA9PT10Lm5zZWNzJiYoZD0wKSxkPj0xZTQpdGhyb3cgbmV3IEVycm9yKFwidXVpZC52MSgpOiBDYW4ndCBjcmVhdGUgbW9yZSB0aGFuIDEwTSB1dWlkcy9zZWNcIik7Yz1wLHY9ZCxsPW87dmFyIGc9KDFlNCooMjY4NDM1NDU1JihwKz0xMjIxOTI5MjhlNSkpK2QpJTQyOTQ5NjcyOTY7cltpKytdPWc+Pj4yNCYyNTUscltpKytdPWc+Pj4xNiYyNTUscltpKytdPWc+Pj44JjI1NSxyW2krK109MjU1Jmc7dmFyIHg9cC80Mjk0OTY3Mjk2KjFlNCYyNjg0MzU0NTU7cltpKytdPXg+Pj44JjI1NSxyW2krK109MjU1JngscltpKytdPXg+Pj4yNCYxNXwxNixyW2krK109eD4+PjE2JjI1NSxyW2krK109bz4+Pjh8MTI4LHJbaSsrXT0yNTUmbztmb3IodmFyIGI9MDtiPDY7KytiKXJbaStiXT1hW2JdO3JldHVybiBlfHxoKHIpfTt2YXIgcD1mdW5jdGlvbih0LGUsbil7dmFyIGk9ZnVuY3Rpb24odCxpLHIscyl7dmFyIGE9ciYmc3x8MDtpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmKHQ9ZnVuY3Rpb24odCl7dD11bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodCkpO2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLG49MDtuPHQubGVuZ3RoO24rKyllW25dPXQuY2hhckNvZGVBdChuKTtyZXR1cm4gZX0odCkpLFwic3RyaW5nXCI9PXR5cGVvZiBpJiYoaT1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdC5yZXBsYWNlKC9bYS1mQS1GMC05XXsyfS9nLChmdW5jdGlvbih0KXtlLnB1c2gocGFyc2VJbnQodCwxNikpfSkpLGV9KGkpKSwhQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBUeXBlRXJyb3IoXCJ2YWx1ZSBtdXN0IGJlIGFuIGFycmF5IG9mIGJ5dGVzXCIpO2lmKCFBcnJheS5pc0FycmF5KGkpfHwxNiE9PWkubGVuZ3RoKXRocm93IFR5cGVFcnJvcihcIm5hbWVzcGFjZSBtdXN0IGJlIHV1aWQgc3RyaW5nIG9yIGFuIEFycmF5IG9mIDE2IGJ5dGUgdmFsdWVzXCIpO3ZhciBvPW4oaS5jb25jYXQodCkpO2lmKG9bNl09MTUmb1s2XXxlLG9bOF09NjMmb1s4XXwxMjgscilmb3IodmFyIHU9MDt1PDE2OysrdSlyW2ErdV09b1t1XTtyZXR1cm4gcnx8aChvKX07dHJ5e2kubmFtZT10fWNhdGNoKHQpe31yZXR1cm4gaS5ETlM9XCI2YmE3YjgxMC05ZGFkLTExZDEtODBiNC0wMGMwNGZkNDMwYzhcIixpLlVSTD1cIjZiYTdiODExLTlkYWQtMTFkMS04MGI0LTAwYzA0ZmQ0MzBjOFwiLGl9O3ZhciBkPXAoXCJ2M1wiLDQ4LChmdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90PUJ1ZmZlci5mcm9tKHQpOlwic3RyaW5nXCI9PXR5cGVvZiB0JiYodD1CdWZmZXIuZnJvbSh0LFwidXRmOFwiKSksci5hLmNyZWF0ZUhhc2goXCJtZDVcIikudXBkYXRlKHQpLmRpZ2VzdCgpfSkpO3ZhciB5PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1lJiZufHwwO1wic3RyaW5nXCI9PXR5cGVvZiB0JiYoZT1cImJpbmFyeVwiPT09dD9uZXcgQXJyYXkoMTYpOm51bGwsdD1udWxsKTt2YXIgcj0odD10fHx7fSkucmFuZG9tfHwodC5ybmd8fHMpKCk7aWYocls2XT0xNSZyWzZdfDY0LHJbOF09NjMmcls4XXwxMjgsZSlmb3IodmFyIGE9MDthPDE2OysrYSllW2krYV09clthXTtyZXR1cm4gZXx8aChyKX07dmFyIGc9cChcInY1XCIsODAsKGZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q9QnVmZmVyLmZyb20odCk6XCJzdHJpbmdcIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsXCJ1dGY4XCIpKSxyLmEuY3JlYXRlSGFzaChcInNoYTFcIikudXBkYXRlKHQpLmRpZ2VzdCgpfSkpfV0pfSkpO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBhc24xID0gZXhwb3J0cztcblxuYXNuMS5iaWdudW0gPSByZXF1aXJlKCdibi5qcycpO1xuXG5hc24xLmRlZmluZSA9IHJlcXVpcmUoJy4vYXNuMS9hcGknKS5kZWZpbmU7XG5hc24xLmJhc2UgPSByZXF1aXJlKCcuL2FzbjEvYmFzZScpO1xuYXNuMS5jb25zdGFudHMgPSByZXF1aXJlKCcuL2FzbjEvY29uc3RhbnRzJyk7XG5hc24xLmRlY29kZXJzID0gcmVxdWlyZSgnLi9hc24xL2RlY29kZXJzJyk7XG5hc24xLmVuY29kZXJzID0gcmVxdWlyZSgnLi9hc24xL2VuY29kZXJzJyk7XG4iLCIndXNlIHN0cmljdCc7XG5cbmNvbnN0IGVuY29kZXJzID0gcmVxdWlyZSgnLi9lbmNvZGVycycpO1xuY29uc3QgZGVjb2RlcnMgPSByZXF1aXJlKCcuL2RlY29kZXJzJyk7XG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmNvbnN0IGFwaSA9IGV4cG9ydHM7XG5cbmFwaS5kZWZpbmUgPSBmdW5jdGlvbiBkZWZpbmUobmFtZSwgYm9keSkge1xuICByZXR1cm4gbmV3IEVudGl0eShuYW1lLCBib2R5KTtcbn07XG5cbmZ1bmN0aW9uIEVudGl0eShuYW1lLCBib2R5KSB7XG4gIHRoaXMubmFtZSA9IG5hbWU7XG4gIHRoaXMuYm9keSA9IGJvZHk7XG5cbiAgdGhpcy5kZWNvZGVycyA9IHt9O1xuICB0aGlzLmVuY29kZXJzID0ge307XG59XG5cbkVudGl0eS5wcm90b3R5cGUuX2NyZWF0ZU5hbWVkID0gZnVuY3Rpb24gY3JlYXRlTmFtZWQoQmFzZSkge1xuICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuXG4gIGZ1bmN0aW9uIEdlbmVyYXRlZChlbnRpdHkpIHtcbiAgICB0aGlzLl9pbml0TmFtZWQoZW50aXR5LCBuYW1lKTtcbiAgfVxuICBpbmhlcml0cyhHZW5lcmF0ZWQsIEJhc2UpO1xuICBHZW5lcmF0ZWQucHJvdG90eXBlLl9pbml0TmFtZWQgPSBmdW5jdGlvbiBfaW5pdE5hbWVkKGVudGl0eSwgbmFtZSkge1xuICAgIEJhc2UuY2FsbCh0aGlzLCBlbnRpdHksIG5hbWUpO1xuICB9O1xuXG4gIHJldHVybiBuZXcgR2VuZXJhdGVkKHRoaXMpO1xufTtcblxuRW50aXR5LnByb3RvdHlwZS5fZ2V0RGVjb2RlciA9IGZ1bmN0aW9uIF9nZXREZWNvZGVyKGVuYykge1xuICBlbmMgPSBlbmMgfHwgJ2Rlcic7XG4gIC8vIExhemlseSBjcmVhdGUgZGVjb2RlclxuICBpZiAoIXRoaXMuZGVjb2RlcnMuaGFzT3duUHJvcGVydHkoZW5jKSlcbiAgICB0aGlzLmRlY29kZXJzW2VuY10gPSB0aGlzLl9jcmVhdGVOYW1lZChkZWNvZGVyc1tlbmNdKTtcbiAgcmV0dXJuIHRoaXMuZGVjb2RlcnNbZW5jXTtcbn07XG5cbkVudGl0eS5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGRhdGEsIGVuYywgb3B0aW9ucykge1xuICByZXR1cm4gdGhpcy5fZ2V0RGVjb2RlcihlbmMpLmRlY29kZShkYXRhLCBvcHRpb25zKTtcbn07XG5cbkVudGl0eS5wcm90b3R5cGUuX2dldEVuY29kZXIgPSBmdW5jdGlvbiBfZ2V0RW5jb2RlcihlbmMpIHtcbiAgZW5jID0gZW5jIHx8ICdkZXInO1xuICAvLyBMYXppbHkgY3JlYXRlIGVuY29kZXJcbiAgaWYgKCF0aGlzLmVuY29kZXJzLmhhc093blByb3BlcnR5KGVuYykpXG4gICAgdGhpcy5lbmNvZGVyc1tlbmNdID0gdGhpcy5fY3JlYXRlTmFtZWQoZW5jb2RlcnNbZW5jXSk7XG4gIHJldHVybiB0aGlzLmVuY29kZXJzW2VuY107XG59O1xuXG5FbnRpdHkucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCBlbmMsIC8qIGludGVybmFsICovIHJlcG9ydGVyKSB7XG4gIHJldHVybiB0aGlzLl9nZXRFbmNvZGVyKGVuYykuZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbmNvbnN0IGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKTtcbmNvbnN0IFJlcG9ydGVyID0gcmVxdWlyZSgnLi4vYmFzZS9yZXBvcnRlcicpLlJlcG9ydGVyO1xuY29uc3QgQnVmZmVyID0gcmVxdWlyZSgnc2FmZXItYnVmZmVyJykuQnVmZmVyO1xuXG5mdW5jdGlvbiBEZWNvZGVyQnVmZmVyKGJhc2UsIG9wdGlvbnMpIHtcbiAgUmVwb3J0ZXIuY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYmFzZSkpIHtcbiAgICB0aGlzLmVycm9yKCdJbnB1dCBub3QgQnVmZmVyJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdGhpcy5iYXNlID0gYmFzZTtcbiAgdGhpcy5vZmZzZXQgPSAwO1xuICB0aGlzLmxlbmd0aCA9IGJhc2UubGVuZ3RoO1xufVxuaW5oZXJpdHMoRGVjb2RlckJ1ZmZlciwgUmVwb3J0ZXIpO1xuZXhwb3J0cy5EZWNvZGVyQnVmZmVyID0gRGVjb2RlckJ1ZmZlcjtcblxuRGVjb2RlckJ1ZmZlci5pc0RlY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBpc0RlY29kZXJCdWZmZXIoZGF0YSkge1xuICBpZiAoZGF0YSBpbnN0YW5jZW9mIERlY29kZXJCdWZmZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIE9yIGFjY2VwdCBjb21wYXRpYmxlIEFQSVxuICBjb25zdCBpc0NvbXBhdGlibGUgPSB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICBCdWZmZXIuaXNCdWZmZXIoZGF0YS5iYXNlKSAmJlxuICAgIGRhdGEuY29uc3RydWN0b3IubmFtZSA9PT0gJ0RlY29kZXJCdWZmZXInICYmXG4gICAgdHlwZW9mIGRhdGEub2Zmc2V0ID09PSAnbnVtYmVyJyAmJlxuICAgIHR5cGVvZiBkYXRhLmxlbmd0aCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2YgZGF0YS5zYXZlID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIGRhdGEucmVzdG9yZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIHR5cGVvZiBkYXRhLmlzRW1wdHkgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgZGF0YS5yZWFkVUludDggPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgZGF0YS5za2lwID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIGRhdGEucmF3ID09PSAnZnVuY3Rpb24nO1xuXG4gIHJldHVybiBpc0NvbXBhdGlibGU7XG59O1xuXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5zYXZlID0gZnVuY3Rpb24gc2F2ZSgpIHtcbiAgcmV0dXJuIHsgb2Zmc2V0OiB0aGlzLm9mZnNldCwgcmVwb3J0ZXI6IFJlcG9ydGVyLnByb3RvdHlwZS5zYXZlLmNhbGwodGhpcykgfTtcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnJlc3RvcmUgPSBmdW5jdGlvbiByZXN0b3JlKHNhdmUpIHtcbiAgLy8gUmV0dXJuIHNraXBwZWQgZGF0YVxuICBjb25zdCByZXMgPSBuZXcgRGVjb2RlckJ1ZmZlcih0aGlzLmJhc2UpO1xuICByZXMub2Zmc2V0ID0gc2F2ZS5vZmZzZXQ7XG4gIHJlcy5sZW5ndGggPSB0aGlzLm9mZnNldDtcblxuICB0aGlzLm9mZnNldCA9IHNhdmUub2Zmc2V0O1xuICBSZXBvcnRlci5wcm90b3R5cGUucmVzdG9yZS5jYWxsKHRoaXMsIHNhdmUucmVwb3J0ZXIpO1xuXG4gIHJldHVybiByZXM7XG59O1xuXG5EZWNvZGVyQnVmZmVyLnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24gaXNFbXB0eSgpIHtcbiAgcmV0dXJuIHRoaXMub2Zmc2V0ID09PSB0aGlzLmxlbmd0aDtcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OCA9IGZ1bmN0aW9uIHJlYWRVSW50OChmYWlsKSB7XG4gIGlmICh0aGlzLm9mZnNldCArIDEgPD0gdGhpcy5sZW5ndGgpXG4gICAgcmV0dXJuIHRoaXMuYmFzZS5yZWFkVUludDgodGhpcy5vZmZzZXQrKywgdHJ1ZSk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5lcnJvcihmYWlsIHx8ICdEZWNvZGVyQnVmZmVyIG92ZXJydW4nKTtcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnNraXAgPSBmdW5jdGlvbiBza2lwKGJ5dGVzLCBmYWlsKSB7XG4gIGlmICghKHRoaXMub2Zmc2V0ICsgYnl0ZXMgPD0gdGhpcy5sZW5ndGgpKVxuICAgIHJldHVybiB0aGlzLmVycm9yKGZhaWwgfHwgJ0RlY29kZXJCdWZmZXIgb3ZlcnJ1bicpO1xuXG4gIGNvbnN0IHJlcyA9IG5ldyBEZWNvZGVyQnVmZmVyKHRoaXMuYmFzZSk7XG5cbiAgLy8gU2hhcmUgcmVwb3J0ZXIgc3RhdGVcbiAgcmVzLl9yZXBvcnRlclN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICByZXMub2Zmc2V0ID0gdGhpcy5vZmZzZXQ7XG4gIHJlcy5sZW5ndGggPSB0aGlzLm9mZnNldCArIGJ5dGVzO1xuICB0aGlzLm9mZnNldCArPSBieXRlcztcbiAgcmV0dXJuIHJlcztcbn07XG5cbkRlY29kZXJCdWZmZXIucHJvdG90eXBlLnJhdyA9IGZ1bmN0aW9uIHJhdyhzYXZlKSB7XG4gIHJldHVybiB0aGlzLmJhc2Uuc2xpY2Uoc2F2ZSA/IHNhdmUub2Zmc2V0IDogdGhpcy5vZmZzZXQsIHRoaXMubGVuZ3RoKTtcbn07XG5cbmZ1bmN0aW9uIEVuY29kZXJCdWZmZXIodmFsdWUsIHJlcG9ydGVyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgIGlmICghRW5jb2RlckJ1ZmZlci5pc0VuY29kZXJCdWZmZXIoaXRlbSkpXG4gICAgICAgIGl0ZW0gPSBuZXcgRW5jb2RlckJ1ZmZlcihpdGVtLCByZXBvcnRlcik7XG4gICAgICB0aGlzLmxlbmd0aCArPSBpdGVtLmxlbmd0aDtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0sIHRoaXMpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICBpZiAoISgwIDw9IHZhbHVlICYmIHZhbHVlIDw9IDB4ZmYpKVxuICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdub24tYnl0ZSBFbmNvZGVyQnVmZmVyIHZhbHVlJyk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGgodmFsdWUpO1xuICB9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5sZW5ndGggPSB2YWx1ZS5sZW5ndGg7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbnN1cHBvcnRlZCB0eXBlOiAnICsgdHlwZW9mIHZhbHVlKTtcbiAgfVxufVxuZXhwb3J0cy5FbmNvZGVyQnVmZmVyID0gRW5jb2RlckJ1ZmZlcjtcblxuRW5jb2RlckJ1ZmZlci5pc0VuY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBpc0VuY29kZXJCdWZmZXIoZGF0YSkge1xuICBpZiAoZGF0YSBpbnN0YW5jZW9mIEVuY29kZXJCdWZmZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIE9yIGFjY2VwdCBjb21wYXRpYmxlIEFQSVxuICBjb25zdCBpc0NvbXBhdGlibGUgPSB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiZcbiAgICBkYXRhLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdFbmNvZGVyQnVmZmVyJyAmJlxuICAgIHR5cGVvZiBkYXRhLmxlbmd0aCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2YgZGF0YS5qb2luID09PSAnZnVuY3Rpb24nO1xuXG4gIHJldHVybiBpc0NvbXBhdGlibGU7XG59O1xuXG5FbmNvZGVyQnVmZmVyLnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gam9pbihvdXQsIG9mZnNldCkge1xuICBpZiAoIW91dClcbiAgICBvdXQgPSBCdWZmZXIuYWxsb2ModGhpcy5sZW5ndGgpO1xuICBpZiAoIW9mZnNldClcbiAgICBvZmZzZXQgPSAwO1xuXG4gIGlmICh0aGlzLmxlbmd0aCA9PT0gMClcbiAgICByZXR1cm4gb3V0O1xuXG4gIGlmIChBcnJheS5pc0FycmF5KHRoaXMudmFsdWUpKSB7XG4gICAgdGhpcy52YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgIGl0ZW0uam9pbihvdXQsIG9mZnNldCk7XG4gICAgICBvZmZzZXQgKz0gaXRlbS5sZW5ndGg7XG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlID09PSAnbnVtYmVyJylcbiAgICAgIG91dFtvZmZzZXRdID0gdGhpcy52YWx1ZTtcbiAgICBlbHNlIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycpXG4gICAgICBvdXQud3JpdGUodGhpcy52YWx1ZSwgb2Zmc2V0KTtcbiAgICBlbHNlIGlmIChCdWZmZXIuaXNCdWZmZXIodGhpcy52YWx1ZSkpXG4gICAgICB0aGlzLnZhbHVlLmNvcHkob3V0LCBvZmZzZXQpO1xuICAgIG9mZnNldCArPSB0aGlzLmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBvdXQ7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBiYXNlID0gZXhwb3J0cztcblxuYmFzZS5SZXBvcnRlciA9IHJlcXVpcmUoJy4vcmVwb3J0ZXInKS5SZXBvcnRlcjtcbmJhc2UuRGVjb2RlckJ1ZmZlciA9IHJlcXVpcmUoJy4vYnVmZmVyJykuRGVjb2RlckJ1ZmZlcjtcbmJhc2UuRW5jb2RlckJ1ZmZlciA9IHJlcXVpcmUoJy4vYnVmZmVyJykuRW5jb2RlckJ1ZmZlcjtcbmJhc2UuTm9kZSA9IHJlcXVpcmUoJy4vbm9kZScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBSZXBvcnRlciA9IHJlcXVpcmUoJy4uL2Jhc2UvcmVwb3J0ZXInKS5SZXBvcnRlcjtcbmNvbnN0IEVuY29kZXJCdWZmZXIgPSByZXF1aXJlKCcuLi9iYXNlL2J1ZmZlcicpLkVuY29kZXJCdWZmZXI7XG5jb25zdCBEZWNvZGVyQnVmZmVyID0gcmVxdWlyZSgnLi4vYmFzZS9idWZmZXInKS5EZWNvZGVyQnVmZmVyO1xuY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xuXG4vLyBTdXBwb3J0ZWQgdGFnc1xuY29uc3QgdGFncyA9IFtcbiAgJ3NlcScsICdzZXFvZicsICdzZXQnLCAnc2V0b2YnLCAnb2JqaWQnLCAnYm9vbCcsXG4gICdnZW50aW1lJywgJ3V0Y3RpbWUnLCAnbnVsbF8nLCAnZW51bScsICdpbnQnLCAnb2JqRGVzYycsXG4gICdiaXRzdHInLCAnYm1wc3RyJywgJ2NoYXJzdHInLCAnZ2Vuc3RyJywgJ2dyYXBoc3RyJywgJ2lhNXN0cicsICdpc282NDZzdHInLFxuICAnbnVtc3RyJywgJ29jdHN0cicsICdwcmludHN0cicsICd0NjFzdHInLCAndW5pc3RyJywgJ3V0ZjhzdHInLCAndmlkZW9zdHInXG5dO1xuXG4vLyBQdWJsaWMgbWV0aG9kcyBsaXN0XG5jb25zdCBtZXRob2RzID0gW1xuICAna2V5JywgJ29iaicsICd1c2UnLCAnb3B0aW9uYWwnLCAnZXhwbGljaXQnLCAnaW1wbGljaXQnLCAnZGVmJywgJ2Nob2ljZScsXG4gICdhbnknLCAnY29udGFpbnMnXG5dLmNvbmNhdCh0YWdzKTtcblxuLy8gT3ZlcnJpZGVkIG1ldGhvZHMgbGlzdFxuY29uc3Qgb3ZlcnJpZGVkID0gW1xuICAnX3BlZWtUYWcnLCAnX2RlY29kZVRhZycsICdfdXNlJyxcbiAgJ19kZWNvZGVTdHInLCAnX2RlY29kZU9iamlkJywgJ19kZWNvZGVUaW1lJyxcbiAgJ19kZWNvZGVOdWxsJywgJ19kZWNvZGVJbnQnLCAnX2RlY29kZUJvb2wnLCAnX2RlY29kZUxpc3QnLFxuXG4gICdfZW5jb2RlQ29tcG9zaXRlJywgJ19lbmNvZGVTdHInLCAnX2VuY29kZU9iamlkJywgJ19lbmNvZGVUaW1lJyxcbiAgJ19lbmNvZGVOdWxsJywgJ19lbmNvZGVJbnQnLCAnX2VuY29kZUJvb2wnXG5dO1xuXG5mdW5jdGlvbiBOb2RlKGVuYywgcGFyZW50LCBuYW1lKSB7XG4gIGNvbnN0IHN0YXRlID0ge307XG4gIHRoaXMuX2Jhc2VTdGF0ZSA9IHN0YXRlO1xuXG4gIHN0YXRlLm5hbWUgPSBuYW1lO1xuICBzdGF0ZS5lbmMgPSBlbmM7XG5cbiAgc3RhdGUucGFyZW50ID0gcGFyZW50IHx8IG51bGw7XG4gIHN0YXRlLmNoaWxkcmVuID0gbnVsbDtcblxuICAvLyBTdGF0ZVxuICBzdGF0ZS50YWcgPSBudWxsO1xuICBzdGF0ZS5hcmdzID0gbnVsbDtcbiAgc3RhdGUucmV2ZXJzZUFyZ3MgPSBudWxsO1xuICBzdGF0ZS5jaG9pY2UgPSBudWxsO1xuICBzdGF0ZS5vcHRpb25hbCA9IGZhbHNlO1xuICBzdGF0ZS5hbnkgPSBmYWxzZTtcbiAgc3RhdGUub2JqID0gZmFsc2U7XG4gIHN0YXRlLnVzZSA9IG51bGw7XG4gIHN0YXRlLnVzZURlY29kZXIgPSBudWxsO1xuICBzdGF0ZS5rZXkgPSBudWxsO1xuICBzdGF0ZVsnZGVmYXVsdCddID0gbnVsbDtcbiAgc3RhdGUuZXhwbGljaXQgPSBudWxsO1xuICBzdGF0ZS5pbXBsaWNpdCA9IG51bGw7XG4gIHN0YXRlLmNvbnRhaW5zID0gbnVsbDtcblxuICAvLyBTaG91bGQgY3JlYXRlIG5ldyBpbnN0YW5jZSBvbiBlYWNoIG1ldGhvZFxuICBpZiAoIXN0YXRlLnBhcmVudCkge1xuICAgIHN0YXRlLmNoaWxkcmVuID0gW107XG4gICAgdGhpcy5fd3JhcCgpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IE5vZGU7XG5cbmNvbnN0IHN0YXRlUHJvcHMgPSBbXG4gICdlbmMnLCAncGFyZW50JywgJ2NoaWxkcmVuJywgJ3RhZycsICdhcmdzJywgJ3JldmVyc2VBcmdzJywgJ2Nob2ljZScsXG4gICdvcHRpb25hbCcsICdhbnknLCAnb2JqJywgJ3VzZScsICdhbHRlcmVkVXNlJywgJ2tleScsICdkZWZhdWx0JywgJ2V4cGxpY2l0JyxcbiAgJ2ltcGxpY2l0JywgJ2NvbnRhaW5zJ1xuXTtcblxuTm9kZS5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gIGNvbnN0IGNzdGF0ZSA9IHt9O1xuICBzdGF0ZVByb3BzLmZvckVhY2goZnVuY3Rpb24ocHJvcCkge1xuICAgIGNzdGF0ZVtwcm9wXSA9IHN0YXRlW3Byb3BdO1xuICB9KTtcbiAgY29uc3QgcmVzID0gbmV3IHRoaXMuY29uc3RydWN0b3IoY3N0YXRlLnBhcmVudCk7XG4gIHJlcy5fYmFzZVN0YXRlID0gY3N0YXRlO1xuICByZXR1cm4gcmVzO1xufTtcblxuTm9kZS5wcm90b3R5cGUuX3dyYXAgPSBmdW5jdGlvbiB3cmFwKCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcbiAgbWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICAgIHRoaXNbbWV0aG9kXSA9IGZ1bmN0aW9uIF93cmFwcGVkTWV0aG9kKCkge1xuICAgICAgY29uc3QgY2xvbmUgPSBuZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtcbiAgICAgIHN0YXRlLmNoaWxkcmVuLnB1c2goY2xvbmUpO1xuICAgICAgcmV0dXJuIGNsb25lW21ldGhvZF0uYXBwbHkoY2xvbmUsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgfSwgdGhpcyk7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQoYm9keSkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUucGFyZW50ID09PSBudWxsKTtcbiAgYm9keS5jYWxsKHRoaXMpO1xuXG4gIC8vIEZpbHRlciBjaGlsZHJlblxuICBzdGF0ZS5jaGlsZHJlbiA9IHN0YXRlLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihjaGlsZCkge1xuICAgIHJldHVybiBjaGlsZC5fYmFzZVN0YXRlLnBhcmVudCA9PT0gdGhpcztcbiAgfSwgdGhpcyk7XG4gIGFzc2VydC5lcXVhbChzdGF0ZS5jaGlsZHJlbi5sZW5ndGgsIDEsICdSb290IG5vZGUgY2FuIGhhdmUgb25seSBvbmUgY2hpbGQnKTtcbn07XG5cbk5vZGUucHJvdG90eXBlLl91c2VBcmdzID0gZnVuY3Rpb24gdXNlQXJncyhhcmdzKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIC8vIEZpbHRlciBjaGlsZHJlbiBhbmQgYXJnc1xuICBjb25zdCBjaGlsZHJlbiA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiBhcmcgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yO1xuICB9LCB0aGlzKTtcbiAgYXJncyA9IGFyZ3MuZmlsdGVyKGZ1bmN0aW9uKGFyZykge1xuICAgIHJldHVybiAhKGFyZyBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3IpO1xuICB9LCB0aGlzKTtcblxuICBpZiAoY2hpbGRyZW4ubGVuZ3RoICE9PSAwKSB7XG4gICAgYXNzZXJ0KHN0YXRlLmNoaWxkcmVuID09PSBudWxsKTtcbiAgICBzdGF0ZS5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuXG4gICAgLy8gUmVwbGFjZSBwYXJlbnQgdG8gbWFpbnRhaW4gYmFja3dhcmQgbGlua1xuICAgIGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24oY2hpbGQpIHtcbiAgICAgIGNoaWxkLl9iYXNlU3RhdGUucGFyZW50ID0gdGhpcztcbiAgICB9LCB0aGlzKTtcbiAgfVxuICBpZiAoYXJncy5sZW5ndGggIT09IDApIHtcbiAgICBhc3NlcnQoc3RhdGUuYXJncyA9PT0gbnVsbCk7XG4gICAgc3RhdGUuYXJncyA9IGFyZ3M7XG4gICAgc3RhdGUucmV2ZXJzZUFyZ3MgPSBhcmdzLm1hcChmdW5jdGlvbihhcmcpIHtcbiAgICAgIGlmICh0eXBlb2YgYXJnICE9PSAnb2JqZWN0JyB8fCBhcmcuY29uc3RydWN0b3IgIT09IE9iamVjdClcbiAgICAgICAgcmV0dXJuIGFyZztcblxuICAgICAgY29uc3QgcmVzID0ge307XG4gICAgICBPYmplY3Qua2V5cyhhcmcpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT0gKGtleSB8IDApKVxuICAgICAgICAgIGtleSB8PSAwO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFyZ1trZXldO1xuICAgICAgICByZXNbdmFsdWVdID0ga2V5O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0pO1xuICB9XG59O1xuXG4vL1xuLy8gT3ZlcnJpZGVkIG1ldGhvZHNcbi8vXG5cbm92ZXJyaWRlZC5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICBOb2RlLnByb3RvdHlwZVttZXRob2RdID0gZnVuY3Rpb24gX292ZXJyaWRlZCgpIHtcbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWV0aG9kICsgJyBub3QgaW1wbGVtZW50ZWQgZm9yIGVuY29kaW5nOiAnICsgc3RhdGUuZW5jKTtcbiAgfTtcbn0pO1xuXG4vL1xuLy8gUHVibGljIG1ldGhvZHNcbi8vXG5cbnRhZ3MuZm9yRWFjaChmdW5jdGlvbih0YWcpIHtcbiAgTm9kZS5wcm90b3R5cGVbdGFnXSA9IGZ1bmN0aW9uIF90YWdNZXRob2QoKSB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gICAgY29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cbiAgICBhc3NlcnQoc3RhdGUudGFnID09PSBudWxsKTtcbiAgICBzdGF0ZS50YWcgPSB0YWc7XG5cbiAgICB0aGlzLl91c2VBcmdzKGFyZ3MpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG59KTtcblxuTm9kZS5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGl0ZW0pIHtcbiAgYXNzZXJ0KGl0ZW0pO1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUudXNlID09PSBudWxsKTtcbiAgc3RhdGUudXNlID0gaXRlbTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLm9wdGlvbmFsID0gZnVuY3Rpb24gb3B0aW9uYWwoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIHN0YXRlLm9wdGlvbmFsID0gdHJ1ZTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmRlZiA9IGZ1bmN0aW9uIGRlZih2YWwpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgYXNzZXJ0KHN0YXRlWydkZWZhdWx0J10gPT09IG51bGwpO1xuICBzdGF0ZVsnZGVmYXVsdCddID0gdmFsO1xuICBzdGF0ZS5vcHRpb25hbCA9IHRydWU7XG5cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5leHBsaWNpdCA9IGZ1bmN0aW9uIGV4cGxpY2l0KG51bSkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUuZXhwbGljaXQgPT09IG51bGwgJiYgc3RhdGUuaW1wbGljaXQgPT09IG51bGwpO1xuICBzdGF0ZS5leHBsaWNpdCA9IG51bTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmltcGxpY2l0ID0gZnVuY3Rpb24gaW1wbGljaXQobnVtKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGFzc2VydChzdGF0ZS5leHBsaWNpdCA9PT0gbnVsbCAmJiBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCk7XG4gIHN0YXRlLmltcGxpY2l0ID0gbnVtO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuTm9kZS5wcm90b3R5cGUub2JqID0gZnVuY3Rpb24gb2JqKCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcbiAgY29uc3QgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG5cbiAgc3RhdGUub2JqID0gdHJ1ZTtcblxuICBpZiAoYXJncy5sZW5ndGggIT09IDApXG4gICAgdGhpcy5fdXNlQXJncyhhcmdzKTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmtleSA9IGZ1bmN0aW9uIGtleShuZXdLZXkpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgYXNzZXJ0KHN0YXRlLmtleSA9PT0gbnVsbCk7XG4gIHN0YXRlLmtleSA9IG5ld0tleTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmFueSA9IGZ1bmN0aW9uIGFueSgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgc3RhdGUuYW55ID0gdHJ1ZTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmNob2ljZSA9IGZ1bmN0aW9uIGNob2ljZShvYmopIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG5cbiAgYXNzZXJ0KHN0YXRlLmNob2ljZSA9PT0gbnVsbCk7XG4gIHN0YXRlLmNob2ljZSA9IG9iajtcbiAgdGhpcy5fdXNlQXJncyhPYmplY3Qua2V5cyhvYmopLm1hcChmdW5jdGlvbihrZXkpIHtcbiAgICByZXR1cm4gb2JqW2tleV07XG4gIH0pKTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk5vZGUucHJvdG90eXBlLmNvbnRhaW5zID0gZnVuY3Rpb24gY29udGFpbnMoaXRlbSkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICBhc3NlcnQoc3RhdGUudXNlID09PSBudWxsKTtcbiAgc3RhdGUuY29udGFpbnMgPSBpdGVtO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLy9cbi8vIERlY29kaW5nXG4vL1xuXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGlucHV0LCBvcHRpb25zKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIC8vIERlY29kZSByb290IG5vZGVcbiAgaWYgKHN0YXRlLnBhcmVudCA9PT0gbnVsbClcbiAgICByZXR1cm4gaW5wdXQud3JhcFJlc3VsdChzdGF0ZS5jaGlsZHJlblswXS5fZGVjb2RlKGlucHV0LCBvcHRpb25zKSk7XG5cbiAgbGV0IHJlc3VsdCA9IHN0YXRlWydkZWZhdWx0J107XG4gIGxldCBwcmVzZW50ID0gdHJ1ZTtcblxuICBsZXQgcHJldktleSA9IG51bGw7XG4gIGlmIChzdGF0ZS5rZXkgIT09IG51bGwpXG4gICAgcHJldktleSA9IGlucHV0LmVudGVyS2V5KHN0YXRlLmtleSk7XG5cbiAgLy8gQ2hlY2sgaWYgdGFnIGlzIHRoZXJlXG4gIGlmIChzdGF0ZS5vcHRpb25hbCkge1xuICAgIGxldCB0YWcgPSBudWxsO1xuICAgIGlmIChzdGF0ZS5leHBsaWNpdCAhPT0gbnVsbClcbiAgICAgIHRhZyA9IHN0YXRlLmV4cGxpY2l0O1xuICAgIGVsc2UgaWYgKHN0YXRlLmltcGxpY2l0ICE9PSBudWxsKVxuICAgICAgdGFnID0gc3RhdGUuaW1wbGljaXQ7XG4gICAgZWxzZSBpZiAoc3RhdGUudGFnICE9PSBudWxsKVxuICAgICAgdGFnID0gc3RhdGUudGFnO1xuXG4gICAgaWYgKHRhZyA9PT0gbnVsbCAmJiAhc3RhdGUuYW55KSB7XG4gICAgICAvLyBUcmlhbCBhbmQgRXJyb3JcbiAgICAgIGNvbnN0IHNhdmUgPSBpbnB1dC5zYXZlKCk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoc3RhdGUuY2hvaWNlID09PSBudWxsKVxuICAgICAgICAgIHRoaXMuX2RlY29kZUdlbmVyaWMoc3RhdGUudGFnLCBpbnB1dCwgb3B0aW9ucyk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLl9kZWNvZGVDaG9pY2UoaW5wdXQsIG9wdGlvbnMpO1xuICAgICAgICBwcmVzZW50ID0gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcHJlc2VudCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgaW5wdXQucmVzdG9yZShzYXZlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJlc2VudCA9IHRoaXMuX3BlZWtUYWcoaW5wdXQsIHRhZywgc3RhdGUuYW55KTtcblxuICAgICAgaWYgKGlucHV0LmlzRXJyb3IocHJlc2VudCkpXG4gICAgICAgIHJldHVybiBwcmVzZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFB1c2ggb2JqZWN0IG9uIHN0YWNrXG4gIGxldCBwcmV2T2JqO1xuICBpZiAoc3RhdGUub2JqICYmIHByZXNlbnQpXG4gICAgcHJldk9iaiA9IGlucHV0LmVudGVyT2JqZWN0KCk7XG5cbiAgaWYgKHByZXNlbnQpIHtcbiAgICAvLyBVbndyYXAgZXhwbGljaXQgdmFsdWVzXG4gICAgaWYgKHN0YXRlLmV4cGxpY2l0ICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBleHBsaWNpdCA9IHRoaXMuX2RlY29kZVRhZyhpbnB1dCwgc3RhdGUuZXhwbGljaXQpO1xuICAgICAgaWYgKGlucHV0LmlzRXJyb3IoZXhwbGljaXQpKVxuICAgICAgICByZXR1cm4gZXhwbGljaXQ7XG4gICAgICBpbnB1dCA9IGV4cGxpY2l0O1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gaW5wdXQub2Zmc2V0O1xuXG4gICAgLy8gVW53cmFwIGltcGxpY2l0IGFuZCBub3JtYWwgdmFsdWVzXG4gICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbCAmJiBzdGF0ZS5jaG9pY2UgPT09IG51bGwpIHtcbiAgICAgIGxldCBzYXZlO1xuICAgICAgaWYgKHN0YXRlLmFueSlcbiAgICAgICAgc2F2ZSA9IGlucHV0LnNhdmUoKTtcbiAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLl9kZWNvZGVUYWcoXG4gICAgICAgIGlucHV0LFxuICAgICAgICBzdGF0ZS5pbXBsaWNpdCAhPT0gbnVsbCA/IHN0YXRlLmltcGxpY2l0IDogc3RhdGUudGFnLFxuICAgICAgICBzdGF0ZS5hbnlcbiAgICAgICk7XG4gICAgICBpZiAoaW5wdXQuaXNFcnJvcihib2R5KSlcbiAgICAgICAgcmV0dXJuIGJvZHk7XG5cbiAgICAgIGlmIChzdGF0ZS5hbnkpXG4gICAgICAgIHJlc3VsdCA9IGlucHV0LnJhdyhzYXZlKTtcbiAgICAgIGVsc2VcbiAgICAgICAgaW5wdXQgPSBib2R5O1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudHJhY2sgJiYgc3RhdGUudGFnICE9PSBudWxsKVxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIHN0YXJ0LCBpbnB1dC5sZW5ndGgsICd0YWdnZWQnKTtcblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMudHJhY2sgJiYgc3RhdGUudGFnICE9PSBudWxsKVxuICAgICAgb3B0aW9ucy50cmFjayhpbnB1dC5wYXRoKCksIGlucHV0Lm9mZnNldCwgaW5wdXQubGVuZ3RoLCAnY29udGVudCcpO1xuXG4gICAgLy8gU2VsZWN0IHByb3BlciBtZXRob2QgZm9yIHRhZ1xuICAgIGlmIChzdGF0ZS5hbnkpIHtcbiAgICAgIC8vIG5vLW9wXG4gICAgfSBlbHNlIGlmIChzdGF0ZS5jaG9pY2UgPT09IG51bGwpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RlY29kZUdlbmVyaWMoc3RhdGUudGFnLCBpbnB1dCwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuX2RlY29kZUNob2ljZShpbnB1dCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0LmlzRXJyb3IocmVzdWx0KSlcbiAgICAgIHJldHVybiByZXN1bHQ7XG5cbiAgICAvLyBEZWNvZGUgY2hpbGRyZW5cbiAgICBpZiAoIXN0YXRlLmFueSAmJiBzdGF0ZS5jaG9pY2UgPT09IG51bGwgJiYgc3RhdGUuY2hpbGRyZW4gIT09IG51bGwpIHtcbiAgICAgIHN0YXRlLmNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gZGVjb2RlQ2hpbGRyZW4oY2hpbGQpIHtcbiAgICAgICAgLy8gTk9URTogV2UgYXJlIGlnbm9yaW5nIGVycm9ycyBoZXJlLCB0byBsZXQgcGFyc2VyIGNvbnRpbnVlIHdpdGggb3RoZXJcbiAgICAgICAgLy8gcGFydHMgb2YgZW5jb2RlZCBkYXRhXG4gICAgICAgIGNoaWxkLl9kZWNvZGUoaW5wdXQsIG9wdGlvbnMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gRGVjb2RlIGNvbnRhaW5lZC9lbmNvZGVkIGJ5IHNjaGVtYSwgb25seSBpbiBiaXQgb3Igb2N0ZXQgc3RyaW5nc1xuICAgIGlmIChzdGF0ZS5jb250YWlucyAmJiAoc3RhdGUudGFnID09PSAnb2N0c3RyJyB8fCBzdGF0ZS50YWcgPT09ICdiaXRzdHInKSkge1xuICAgICAgY29uc3QgZGF0YSA9IG5ldyBEZWNvZGVyQnVmZmVyKHJlc3VsdCk7XG4gICAgICByZXN1bHQgPSB0aGlzLl9nZXRVc2Uoc3RhdGUuY29udGFpbnMsIGlucHV0Ll9yZXBvcnRlclN0YXRlLm9iailcbiAgICAgICAgLl9kZWNvZGUoZGF0YSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9wIG9iamVjdFxuICBpZiAoc3RhdGUub2JqICYmIHByZXNlbnQpXG4gICAgcmVzdWx0ID0gaW5wdXQubGVhdmVPYmplY3QocHJldk9iaik7XG5cbiAgLy8gU2V0IGtleVxuICBpZiAoc3RhdGUua2V5ICE9PSBudWxsICYmIChyZXN1bHQgIT09IG51bGwgfHwgcHJlc2VudCA9PT0gdHJ1ZSkpXG4gICAgaW5wdXQubGVhdmVLZXkocHJldktleSwgc3RhdGUua2V5LCByZXN1bHQpO1xuICBlbHNlIGlmIChwcmV2S2V5ICE9PSBudWxsKVxuICAgIGlucHV0LmV4aXRLZXkocHJldktleSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9kZWNvZGVHZW5lcmljID0gZnVuY3Rpb24gZGVjb2RlR2VuZXJpYyh0YWcsIGlucHV0LCBvcHRpb25zKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGlmICh0YWcgPT09ICdzZXEnIHx8IHRhZyA9PT0gJ3NldCcpXG4gICAgcmV0dXJuIG51bGw7XG4gIGlmICh0YWcgPT09ICdzZXFvZicgfHwgdGFnID09PSAnc2V0b2YnKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVMaXN0KGlucHV0LCB0YWcsIHN0YXRlLmFyZ3NbMF0sIG9wdGlvbnMpO1xuICBlbHNlIGlmICgvc3RyJC8udGVzdCh0YWcpKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVTdHIoaW5wdXQsIHRhZywgb3B0aW9ucyk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iamlkJyAmJiBzdGF0ZS5hcmdzKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVPYmppZChpbnB1dCwgc3RhdGUuYXJnc1swXSwgc3RhdGUuYXJnc1sxXSwgb3B0aW9ucyk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iamlkJylcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlT2JqaWQoaW5wdXQsIG51bGwsIG51bGwsIG9wdGlvbnMpO1xuICBlbHNlIGlmICh0YWcgPT09ICdnZW50aW1lJyB8fCB0YWcgPT09ICd1dGN0aW1lJylcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlVGltZShpbnB1dCwgdGFnLCBvcHRpb25zKTtcbiAgZWxzZSBpZiAodGFnID09PSAnbnVsbF8nKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVOdWxsKGlucHV0LCBvcHRpb25zKTtcbiAgZWxzZSBpZiAodGFnID09PSAnYm9vbCcpXG4gICAgcmV0dXJuIHRoaXMuX2RlY29kZUJvb2woaW5wdXQsIG9wdGlvbnMpO1xuICBlbHNlIGlmICh0YWcgPT09ICdvYmpEZXNjJylcbiAgICByZXR1cm4gdGhpcy5fZGVjb2RlU3RyKGlucHV0LCB0YWcsIG9wdGlvbnMpO1xuICBlbHNlIGlmICh0YWcgPT09ICdpbnQnIHx8IHRhZyA9PT0gJ2VudW0nKVxuICAgIHJldHVybiB0aGlzLl9kZWNvZGVJbnQoaW5wdXQsIHN0YXRlLmFyZ3MgJiYgc3RhdGUuYXJnc1swXSwgb3B0aW9ucyk7XG5cbiAgaWYgKHN0YXRlLnVzZSAhPT0gbnVsbCkge1xuICAgIHJldHVybiB0aGlzLl9nZXRVc2Uoc3RhdGUudXNlLCBpbnB1dC5fcmVwb3J0ZXJTdGF0ZS5vYmopXG4gICAgICAuX2RlY29kZShpbnB1dCwgb3B0aW9ucyk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGlucHV0LmVycm9yKCd1bmtub3duIHRhZzogJyArIHRhZyk7XG4gIH1cbn07XG5cbk5vZGUucHJvdG90eXBlLl9nZXRVc2UgPSBmdW5jdGlvbiBfZ2V0VXNlKGVudGl0eSwgb2JqKSB7XG5cbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gIC8vIENyZWF0ZSBhbHRlcmVkIHVzZSBkZWNvZGVyIGlmIGltcGxpY2l0IGlzIHNldFxuICBzdGF0ZS51c2VEZWNvZGVyID0gdGhpcy5fdXNlKGVudGl0eSwgb2JqKTtcbiAgYXNzZXJ0KHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5wYXJlbnQgPT09IG51bGwpO1xuICBzdGF0ZS51c2VEZWNvZGVyID0gc3RhdGUudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmNoaWxkcmVuWzBdO1xuICBpZiAoc3RhdGUuaW1wbGljaXQgIT09IHN0YXRlLnVzZURlY29kZXIuX2Jhc2VTdGF0ZS5pbXBsaWNpdCkge1xuICAgIHN0YXRlLnVzZURlY29kZXIgPSBzdGF0ZS51c2VEZWNvZGVyLmNsb25lKCk7XG4gICAgc3RhdGUudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0ID0gc3RhdGUuaW1wbGljaXQ7XG4gIH1cbiAgcmV0dXJuIHN0YXRlLnVzZURlY29kZXI7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5fZGVjb2RlQ2hvaWNlID0gZnVuY3Rpb24gZGVjb2RlQ2hvaWNlKGlucHV0LCBvcHRpb25zKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgbGV0IG1hdGNoID0gZmFsc2U7XG5cbiAgT2JqZWN0LmtleXMoc3RhdGUuY2hvaWNlKS5zb21lKGZ1bmN0aW9uKGtleSkge1xuICAgIGNvbnN0IHNhdmUgPSBpbnB1dC5zYXZlKCk7XG4gICAgY29uc3Qgbm9kZSA9IHN0YXRlLmNob2ljZVtrZXldO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG5vZGUuX2RlY29kZShpbnB1dCwgb3B0aW9ucyk7XG4gICAgICBpZiAoaW5wdXQuaXNFcnJvcih2YWx1ZSkpXG4gICAgICAgIHJldHVybiBmYWxzZTtcblxuICAgICAgcmVzdWx0ID0geyB0eXBlOiBrZXksIHZhbHVlOiB2YWx1ZSB9O1xuICAgICAgbWF0Y2ggPSB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlucHV0LnJlc3RvcmUoc2F2ZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9LCB0aGlzKTtcblxuICBpZiAoIW1hdGNoKVxuICAgIHJldHVybiBpbnB1dC5lcnJvcignQ2hvaWNlIG5vdCBtYXRjaGVkJyk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbi8vXG4vLyBFbmNvZGluZ1xuLy9cblxuTm9kZS5wcm90b3R5cGUuX2NyZWF0ZUVuY29kZXJCdWZmZXIgPSBmdW5jdGlvbiBjcmVhdGVFbmNvZGVyQnVmZmVyKGRhdGEpIHtcbiAgcmV0dXJuIG5ldyBFbmNvZGVyQnVmZmVyKGRhdGEsIHRoaXMucmVwb3J0ZXIpO1xufTtcblxuTm9kZS5wcm90b3R5cGUuX2VuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlciwgcGFyZW50KSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuICBpZiAoc3RhdGVbJ2RlZmF1bHQnXSAhPT0gbnVsbCAmJiBzdGF0ZVsnZGVmYXVsdCddID09PSBkYXRhKVxuICAgIHJldHVybjtcblxuICBjb25zdCByZXN1bHQgPSB0aGlzLl9lbmNvZGVWYWx1ZShkYXRhLCByZXBvcnRlciwgcGFyZW50KTtcbiAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybjtcblxuICBpZiAodGhpcy5fc2tpcERlZmF1bHQocmVzdWx0LCByZXBvcnRlciwgcGFyZW50KSlcbiAgICByZXR1cm47XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9lbmNvZGVWYWx1ZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlciwgcGFyZW50KSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIC8vIERlY29kZSByb290IG5vZGVcbiAgaWYgKHN0YXRlLnBhcmVudCA9PT0gbnVsbClcbiAgICByZXR1cm4gc3RhdGUuY2hpbGRyZW5bMF0uX2VuY29kZShkYXRhLCByZXBvcnRlciB8fCBuZXcgUmVwb3J0ZXIoKSk7XG5cbiAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgLy8gU2V0IHJlcG9ydGVyIHRvIHNoYXJlIGl0IHdpdGggYSBjaGlsZCBjbGFzc1xuICB0aGlzLnJlcG9ydGVyID0gcmVwb3J0ZXI7XG5cbiAgLy8gQ2hlY2sgaWYgZGF0YSBpcyB0aGVyZVxuICBpZiAoc3RhdGUub3B0aW9uYWwgJiYgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHN0YXRlWydkZWZhdWx0J10gIT09IG51bGwpXG4gICAgICBkYXRhID0gc3RhdGVbJ2RlZmF1bHQnXTtcbiAgICBlbHNlXG4gICAgICByZXR1cm47XG4gIH1cblxuICAvLyBFbmNvZGUgY2hpbGRyZW4gZmlyc3RcbiAgbGV0IGNvbnRlbnQgPSBudWxsO1xuICBsZXQgcHJpbWl0aXZlID0gZmFsc2U7XG4gIGlmIChzdGF0ZS5hbnkpIHtcbiAgICAvLyBBbnl0aGluZyB0aGF0IHdhcyBnaXZlbiBpcyB0cmFuc2xhdGVkIHRvIGJ1ZmZlclxuICAgIHJlc3VsdCA9IHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZGF0YSk7XG4gIH0gZWxzZSBpZiAoc3RhdGUuY2hvaWNlKSB7XG4gICAgcmVzdWx0ID0gdGhpcy5fZW5jb2RlQ2hvaWNlKGRhdGEsIHJlcG9ydGVyKTtcbiAgfSBlbHNlIGlmIChzdGF0ZS5jb250YWlucykge1xuICAgIGNvbnRlbnQgPSB0aGlzLl9nZXRVc2Uoc3RhdGUuY29udGFpbnMsIHBhcmVudCkuX2VuY29kZShkYXRhLCByZXBvcnRlcik7XG4gICAgcHJpbWl0aXZlID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChzdGF0ZS5jaGlsZHJlbikge1xuICAgIGNvbnRlbnQgPSBzdGF0ZS5jaGlsZHJlbi5tYXAoZnVuY3Rpb24oY2hpbGQpIHtcbiAgICAgIGlmIChjaGlsZC5fYmFzZVN0YXRlLnRhZyA9PT0gJ251bGxfJylcbiAgICAgICAgcmV0dXJuIGNoaWxkLl9lbmNvZGUobnVsbCwgcmVwb3J0ZXIsIGRhdGEpO1xuXG4gICAgICBpZiAoY2hpbGQuX2Jhc2VTdGF0ZS5rZXkgPT09IG51bGwpXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignQ2hpbGQgc2hvdWxkIGhhdmUgYSBrZXknKTtcbiAgICAgIGNvbnN0IHByZXZLZXkgPSByZXBvcnRlci5lbnRlcktleShjaGlsZC5fYmFzZVN0YXRlLmtleSk7XG5cbiAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignQ2hpbGQgZXhwZWN0ZWQsIGJ1dCBpbnB1dCBpcyBub3Qgb2JqZWN0Jyk7XG5cbiAgICAgIGNvbnN0IHJlcyA9IGNoaWxkLl9lbmNvZGUoZGF0YVtjaGlsZC5fYmFzZVN0YXRlLmtleV0sIHJlcG9ydGVyLCBkYXRhKTtcbiAgICAgIHJlcG9ydGVyLmxlYXZlS2V5KHByZXZLZXkpO1xuXG4gICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHRoaXMpLmZpbHRlcihmdW5jdGlvbihjaGlsZCkge1xuICAgICAgcmV0dXJuIGNoaWxkO1xuICAgIH0pO1xuICAgIGNvbnRlbnQgPSB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKGNvbnRlbnQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChzdGF0ZS50YWcgPT09ICdzZXFvZicgfHwgc3RhdGUudGFnID09PSAnc2V0b2YnKSB7XG4gICAgICAvLyBUT0RPKGluZHV0bnkpOiB0aGlzIHNob3VsZCBiZSB0aHJvd24gb24gRFNMIGxldmVsXG4gICAgICBpZiAoIShzdGF0ZS5hcmdzICYmIHN0YXRlLmFyZ3MubGVuZ3RoID09PSAxKSlcbiAgICAgICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdUb28gbWFueSBhcmdzIGZvciA6ICcgKyBzdGF0ZS50YWcpO1xuXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpXG4gICAgICAgIHJldHVybiByZXBvcnRlci5lcnJvcignc2Vxb2Yvc2V0b2YsIGJ1dCBkYXRhIGlzIG5vdCBBcnJheScpO1xuXG4gICAgICBjb25zdCBjaGlsZCA9IHRoaXMuY2xvbmUoKTtcbiAgICAgIGNoaWxkLl9iYXNlU3RhdGUuaW1wbGljaXQgPSBudWxsO1xuICAgICAgY29udGVudCA9IHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoZGF0YS5tYXAoZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2Jhc2VTdGF0ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0VXNlKHN0YXRlLmFyZ3NbMF0sIGRhdGEpLl9lbmNvZGUoaXRlbSwgcmVwb3J0ZXIpO1xuICAgICAgfSwgY2hpbGQpKTtcbiAgICB9IGVsc2UgaWYgKHN0YXRlLnVzZSAhPT0gbnVsbCkge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fZ2V0VXNlKHN0YXRlLnVzZSwgcGFyZW50KS5fZW5jb2RlKGRhdGEsIHJlcG9ydGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGVudCA9IHRoaXMuX2VuY29kZVByaW1pdGl2ZShzdGF0ZS50YWcsIGRhdGEpO1xuICAgICAgcHJpbWl0aXZlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbmNvZGUgZGF0YSBpdHNlbGZcbiAgaWYgKCFzdGF0ZS5hbnkgJiYgc3RhdGUuY2hvaWNlID09PSBudWxsKSB7XG4gICAgY29uc3QgdGFnID0gc3RhdGUuaW1wbGljaXQgIT09IG51bGwgPyBzdGF0ZS5pbXBsaWNpdCA6IHN0YXRlLnRhZztcbiAgICBjb25zdCBjbHMgPSBzdGF0ZS5pbXBsaWNpdCA9PT0gbnVsbCA/ICd1bml2ZXJzYWwnIDogJ2NvbnRleHQnO1xuXG4gICAgaWYgKHRhZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKHN0YXRlLnVzZSA9PT0gbnVsbClcbiAgICAgICAgcmVwb3J0ZXIuZXJyb3IoJ1RhZyBjb3VsZCBiZSBvbWl0dGVkIG9ubHkgZm9yIC51c2UoKScpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc3RhdGUudXNlID09PSBudWxsKVxuICAgICAgICByZXN1bHQgPSB0aGlzLl9lbmNvZGVDb21wb3NpdGUodGFnLCBwcmltaXRpdmUsIGNscywgY29udGVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gV3JhcCBpbiBleHBsaWNpdFxuICBpZiAoc3RhdGUuZXhwbGljaXQgIT09IG51bGwpXG4gICAgcmVzdWx0ID0gdGhpcy5fZW5jb2RlQ29tcG9zaXRlKHN0YXRlLmV4cGxpY2l0LCBmYWxzZSwgJ2NvbnRleHQnLCByZXN1bHQpO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5Ob2RlLnByb3RvdHlwZS5fZW5jb2RlQ2hvaWNlID0gZnVuY3Rpb24gZW5jb2RlQ2hvaWNlKGRhdGEsIHJlcG9ydGVyKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGNvbnN0IG5vZGUgPSBzdGF0ZS5jaG9pY2VbZGF0YS50eXBlXTtcbiAgaWYgKCFub2RlKSB7XG4gICAgYXNzZXJ0KFxuICAgICAgZmFsc2UsXG4gICAgICBkYXRhLnR5cGUgKyAnIG5vdCBmb3VuZCBpbiAnICtcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KE9iamVjdC5rZXlzKHN0YXRlLmNob2ljZSkpKTtcbiAgfVxuICByZXR1cm4gbm9kZS5fZW5jb2RlKGRhdGEudmFsdWUsIHJlcG9ydGVyKTtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9lbmNvZGVQcmltaXRpdmUgPSBmdW5jdGlvbiBlbmNvZGVQcmltaXRpdmUodGFnLCBkYXRhKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fYmFzZVN0YXRlO1xuXG4gIGlmICgvc3RyJC8udGVzdCh0YWcpKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVTdHIoZGF0YSwgdGFnKTtcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqaWQnICYmIHN0YXRlLmFyZ3MpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGRhdGEsIHN0YXRlLnJldmVyc2VBcmdzWzBdLCBzdGF0ZS5hcmdzWzFdKTtcbiAgZWxzZSBpZiAodGFnID09PSAnb2JqaWQnKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVPYmppZChkYXRhLCBudWxsLCBudWxsKTtcbiAgZWxzZSBpZiAodGFnID09PSAnZ2VudGltZScgfHwgdGFnID09PSAndXRjdGltZScpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZVRpbWUoZGF0YSwgdGFnKTtcbiAgZWxzZSBpZiAodGFnID09PSAnbnVsbF8nKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVOdWxsKCk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ2ludCcgfHwgdGFnID09PSAnZW51bScpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZUludChkYXRhLCBzdGF0ZS5hcmdzICYmIHN0YXRlLnJldmVyc2VBcmdzWzBdKTtcbiAgZWxzZSBpZiAodGFnID09PSAnYm9vbCcpXG4gICAgcmV0dXJuIHRoaXMuX2VuY29kZUJvb2woZGF0YSk7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ29iakRlc2MnKVxuICAgIHJldHVybiB0aGlzLl9lbmNvZGVTdHIoZGF0YSwgdGFnKTtcbiAgZWxzZVxuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdGFnOiAnICsgdGFnKTtcbn07XG5cbk5vZGUucHJvdG90eXBlLl9pc051bXN0ciA9IGZ1bmN0aW9uIGlzTnVtc3RyKHN0cikge1xuICByZXR1cm4gL15bMC05IF0qJC8udGVzdChzdHIpO1xufTtcblxuTm9kZS5wcm90b3R5cGUuX2lzUHJpbnRzdHIgPSBmdW5jdGlvbiBpc1ByaW50c3RyKHN0cikge1xuICByZXR1cm4gL15bQS1aYS16MC05ICcoKSssLS4vOj0/XSokLy50ZXN0KHN0cik7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmZ1bmN0aW9uIFJlcG9ydGVyKG9wdGlvbnMpIHtcbiAgdGhpcy5fcmVwb3J0ZXJTdGF0ZSA9IHtcbiAgICBvYmo6IG51bGwsXG4gICAgcGF0aDogW10sXG4gICAgb3B0aW9uczogb3B0aW9ucyB8fCB7fSxcbiAgICBlcnJvcnM6IFtdXG4gIH07XG59XG5leHBvcnRzLlJlcG9ydGVyID0gUmVwb3J0ZXI7XG5cblJlcG9ydGVyLnByb3RvdHlwZS5pc0Vycm9yID0gZnVuY3Rpb24gaXNFcnJvcihvYmopIHtcbiAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlcG9ydGVyRXJyb3I7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUuc2F2ZSA9IGZ1bmN0aW9uIHNhdmUoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICByZXR1cm4geyBvYmo6IHN0YXRlLm9iaiwgcGF0aExlbjogc3RhdGUucGF0aC5sZW5ndGggfTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5yZXN0b3JlID0gZnVuY3Rpb24gcmVzdG9yZShkYXRhKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICBzdGF0ZS5vYmogPSBkYXRhLm9iajtcbiAgc3RhdGUucGF0aCA9IHN0YXRlLnBhdGguc2xpY2UoMCwgZGF0YS5wYXRoTGVuKTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5lbnRlcktleSA9IGZ1bmN0aW9uIGVudGVyS2V5KGtleSkge1xuICByZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLnB1c2goa2V5KTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5leGl0S2V5ID0gZnVuY3Rpb24gZXhpdEtleShpbmRleCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XG5cbiAgc3RhdGUucGF0aCA9IHN0YXRlLnBhdGguc2xpY2UoMCwgaW5kZXggLSAxKTtcbn07XG5cblJlcG9ydGVyLnByb3RvdHlwZS5sZWF2ZUtleSA9IGZ1bmN0aW9uIGxlYXZlS2V5KGluZGV4LCBrZXksIHZhbHVlKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICB0aGlzLmV4aXRLZXkoaW5kZXgpO1xuICBpZiAoc3RhdGUub2JqICE9PSBudWxsKVxuICAgIHN0YXRlLm9ialtrZXldID0gdmFsdWU7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUucGF0aCA9IGZ1bmN0aW9uIHBhdGgoKSB7XG4gIHJldHVybiB0aGlzLl9yZXBvcnRlclN0YXRlLnBhdGguam9pbignLycpO1xufTtcblxuUmVwb3J0ZXIucHJvdG90eXBlLmVudGVyT2JqZWN0ID0gZnVuY3Rpb24gZW50ZXJPYmplY3QoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICBjb25zdCBwcmV2ID0gc3RhdGUub2JqO1xuICBzdGF0ZS5vYmogPSB7fTtcbiAgcmV0dXJuIHByZXY7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUubGVhdmVPYmplY3QgPSBmdW5jdGlvbiBsZWF2ZU9iamVjdChwcmV2KSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5fcmVwb3J0ZXJTdGF0ZTtcblxuICBjb25zdCBub3cgPSBzdGF0ZS5vYmo7XG4gIHN0YXRlLm9iaiA9IHByZXY7XG4gIHJldHVybiBub3c7XG59O1xuXG5SZXBvcnRlci5wcm90b3R5cGUuZXJyb3IgPSBmdW5jdGlvbiBlcnJvcihtc2cpIHtcbiAgbGV0IGVycjtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9yZXBvcnRlclN0YXRlO1xuXG4gIGNvbnN0IGluaGVyaXRlZCA9IG1zZyBpbnN0YW5jZW9mIFJlcG9ydGVyRXJyb3I7XG4gIGlmIChpbmhlcml0ZWQpIHtcbiAgICBlcnIgPSBtc2c7XG4gIH0gZWxzZSB7XG4gICAgZXJyID0gbmV3IFJlcG9ydGVyRXJyb3Ioc3RhdGUucGF0aC5tYXAoZnVuY3Rpb24oZWxlbSkge1xuICAgICAgcmV0dXJuICdbJyArIEpTT04uc3RyaW5naWZ5KGVsZW0pICsgJ10nO1xuICAgIH0pLmpvaW4oJycpLCBtc2cubWVzc2FnZSB8fCBtc2csIG1zZy5zdGFjayk7XG4gIH1cblxuICBpZiAoIXN0YXRlLm9wdGlvbnMucGFydGlhbClcbiAgICB0aHJvdyBlcnI7XG5cbiAgaWYgKCFpbmhlcml0ZWQpXG4gICAgc3RhdGUuZXJyb3JzLnB1c2goZXJyKTtcblxuICByZXR1cm4gZXJyO1xufTtcblxuUmVwb3J0ZXIucHJvdG90eXBlLndyYXBSZXN1bHQgPSBmdW5jdGlvbiB3cmFwUmVzdWx0KHJlc3VsdCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuX3JlcG9ydGVyU3RhdGU7XG4gIGlmICghc3RhdGUub3B0aW9ucy5wYXJ0aWFsKVxuICAgIHJldHVybiByZXN1bHQ7XG5cbiAgcmV0dXJuIHtcbiAgICByZXN1bHQ6IHRoaXMuaXNFcnJvcihyZXN1bHQpID8gbnVsbCA6IHJlc3VsdCxcbiAgICBlcnJvcnM6IHN0YXRlLmVycm9yc1xuICB9O1xufTtcblxuZnVuY3Rpb24gUmVwb3J0ZXJFcnJvcihwYXRoLCBtc2cpIHtcbiAgdGhpcy5wYXRoID0gcGF0aDtcbiAgdGhpcy5yZXRocm93KG1zZyk7XG59XG5pbmhlcml0cyhSZXBvcnRlckVycm9yLCBFcnJvcik7XG5cblJlcG9ydGVyRXJyb3IucHJvdG90eXBlLnJldGhyb3cgPSBmdW5jdGlvbiByZXRocm93KG1zZykge1xuICB0aGlzLm1lc3NhZ2UgPSBtc2cgKyAnIGF0OiAnICsgKHRoaXMucGF0aCB8fCAnKHNoYWxsb3cpJyk7XG4gIGlmIChFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCBSZXBvcnRlckVycm9yKTtcblxuICBpZiAoIXRoaXMuc3RhY2spIHtcbiAgICB0cnkge1xuICAgICAgLy8gSUUgb25seSBhZGRzIHN0YWNrIHdoZW4gdGhyb3duXG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5tZXNzYWdlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLnN0YWNrID0gZS5zdGFjaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG4vLyBIZWxwZXJcbmZ1bmN0aW9uIHJldmVyc2UobWFwKSB7XG4gIGNvbnN0IHJlcyA9IHt9O1xuXG4gIE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAvLyBDb252ZXJ0IGtleSB0byBpbnRlZ2VyIGlmIGl0IGlzIHN0cmluZ2lmaWVkXG4gICAgaWYgKChrZXkgfCAwKSA9PSBrZXkpXG4gICAgICBrZXkgPSBrZXkgfCAwO1xuXG4gICAgY29uc3QgdmFsdWUgPSBtYXBba2V5XTtcbiAgICByZXNbdmFsdWVdID0ga2V5O1xuICB9KTtcblxuICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnRzLnRhZ0NsYXNzID0ge1xuICAwOiAndW5pdmVyc2FsJyxcbiAgMTogJ2FwcGxpY2F0aW9uJyxcbiAgMjogJ2NvbnRleHQnLFxuICAzOiAncHJpdmF0ZSdcbn07XG5leHBvcnRzLnRhZ0NsYXNzQnlOYW1lID0gcmV2ZXJzZShleHBvcnRzLnRhZ0NsYXNzKTtcblxuZXhwb3J0cy50YWcgPSB7XG4gIDB4MDA6ICdlbmQnLFxuICAweDAxOiAnYm9vbCcsXG4gIDB4MDI6ICdpbnQnLFxuICAweDAzOiAnYml0c3RyJyxcbiAgMHgwNDogJ29jdHN0cicsXG4gIDB4MDU6ICdudWxsXycsXG4gIDB4MDY6ICdvYmppZCcsXG4gIDB4MDc6ICdvYmpEZXNjJyxcbiAgMHgwODogJ2V4dGVybmFsJyxcbiAgMHgwOTogJ3JlYWwnLFxuICAweDBhOiAnZW51bScsXG4gIDB4MGI6ICdlbWJlZCcsXG4gIDB4MGM6ICd1dGY4c3RyJyxcbiAgMHgwZDogJ3JlbGF0aXZlT2lkJyxcbiAgMHgxMDogJ3NlcScsXG4gIDB4MTE6ICdzZXQnLFxuICAweDEyOiAnbnVtc3RyJyxcbiAgMHgxMzogJ3ByaW50c3RyJyxcbiAgMHgxNDogJ3Q2MXN0cicsXG4gIDB4MTU6ICd2aWRlb3N0cicsXG4gIDB4MTY6ICdpYTVzdHInLFxuICAweDE3OiAndXRjdGltZScsXG4gIDB4MTg6ICdnZW50aW1lJyxcbiAgMHgxOTogJ2dyYXBoc3RyJyxcbiAgMHgxYTogJ2lzbzY0NnN0cicsXG4gIDB4MWI6ICdnZW5zdHInLFxuICAweDFjOiAndW5pc3RyJyxcbiAgMHgxZDogJ2NoYXJzdHInLFxuICAweDFlOiAnYm1wc3RyJ1xufTtcbmV4cG9ydHMudGFnQnlOYW1lID0gcmV2ZXJzZShleHBvcnRzLnRhZyk7XG4iLCIndXNlIHN0cmljdCc7XG5cbmNvbnN0IGNvbnN0YW50cyA9IGV4cG9ydHM7XG5cbi8vIEhlbHBlclxuY29uc3RhbnRzLl9yZXZlcnNlID0gZnVuY3Rpb24gcmV2ZXJzZShtYXApIHtcbiAgY29uc3QgcmVzID0ge307XG5cbiAgT2JqZWN0LmtleXMobWFwKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgIC8vIENvbnZlcnQga2V5IHRvIGludGVnZXIgaWYgaXQgaXMgc3RyaW5naWZpZWRcbiAgICBpZiAoKGtleSB8IDApID09IGtleSlcbiAgICAgIGtleSA9IGtleSB8IDA7XG5cbiAgICBjb25zdCB2YWx1ZSA9IG1hcFtrZXldO1xuICAgIHJlc1t2YWx1ZV0gPSBrZXk7XG4gIH0pO1xuXG4gIHJldHVybiByZXM7XG59O1xuXG5jb25zdGFudHMuZGVyID0gcmVxdWlyZSgnLi9kZXInKTtcbiIsIid1c2Ugc3RyaWN0JztcblxuY29uc3QgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuXG5jb25zdCBiaWdudW0gPSByZXF1aXJlKCdibi5qcycpO1xuY29uc3QgRGVjb2RlckJ1ZmZlciA9IHJlcXVpcmUoJy4uL2Jhc2UvYnVmZmVyJykuRGVjb2RlckJ1ZmZlcjtcbmNvbnN0IE5vZGUgPSByZXF1aXJlKCcuLi9iYXNlL25vZGUnKTtcblxuLy8gSW1wb3J0IERFUiBjb25zdGFudHNcbmNvbnN0IGRlciA9IHJlcXVpcmUoJy4uL2NvbnN0YW50cy9kZXInKTtcblxuZnVuY3Rpb24gREVSRGVjb2RlcihlbnRpdHkpIHtcbiAgdGhpcy5lbmMgPSAnZGVyJztcbiAgdGhpcy5uYW1lID0gZW50aXR5Lm5hbWU7XG4gIHRoaXMuZW50aXR5ID0gZW50aXR5O1xuXG4gIC8vIENvbnN0cnVjdCBiYXNlIHRyZWVcbiAgdGhpcy50cmVlID0gbmV3IERFUk5vZGUoKTtcbiAgdGhpcy50cmVlLl9pbml0KGVudGl0eS5ib2R5KTtcbn1cbm1vZHVsZS5leHBvcnRzID0gREVSRGVjb2RlcjtcblxuREVSRGVjb2Rlci5wcm90b3R5cGUuZGVjb2RlID0gZnVuY3Rpb24gZGVjb2RlKGRhdGEsIG9wdGlvbnMpIHtcbiAgaWYgKCFEZWNvZGVyQnVmZmVyLmlzRGVjb2RlckJ1ZmZlcihkYXRhKSkge1xuICAgIGRhdGEgPSBuZXcgRGVjb2RlckJ1ZmZlcihkYXRhLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLnRyZWUuX2RlY29kZShkYXRhLCBvcHRpb25zKTtcbn07XG5cbi8vIFRyZWUgbWV0aG9kc1xuXG5mdW5jdGlvbiBERVJOb2RlKHBhcmVudCkge1xuICBOb2RlLmNhbGwodGhpcywgJ2RlcicsIHBhcmVudCk7XG59XG5pbmhlcml0cyhERVJOb2RlLCBOb2RlKTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3BlZWtUYWcgPSBmdW5jdGlvbiBwZWVrVGFnKGJ1ZmZlciwgdGFnLCBhbnkpIHtcbiAgaWYgKGJ1ZmZlci5pc0VtcHR5KCkpXG4gICAgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IHN0YXRlID0gYnVmZmVyLnNhdmUoKTtcbiAgY29uc3QgZGVjb2RlZFRhZyA9IGRlckRlY29kZVRhZyhidWZmZXIsICdGYWlsZWQgdG8gcGVlayB0YWc6IFwiJyArIHRhZyArICdcIicpO1xuICBpZiAoYnVmZmVyLmlzRXJyb3IoZGVjb2RlZFRhZykpXG4gICAgcmV0dXJuIGRlY29kZWRUYWc7XG5cbiAgYnVmZmVyLnJlc3RvcmUoc3RhdGUpO1xuXG4gIHJldHVybiBkZWNvZGVkVGFnLnRhZyA9PT0gdGFnIHx8IGRlY29kZWRUYWcudGFnU3RyID09PSB0YWcgfHxcbiAgICAoZGVjb2RlZFRhZy50YWdTdHIgKyAnb2YnKSA9PT0gdGFnIHx8IGFueTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVUYWcgPSBmdW5jdGlvbiBkZWNvZGVUYWcoYnVmZmVyLCB0YWcsIGFueSkge1xuICBjb25zdCBkZWNvZGVkVGFnID0gZGVyRGVjb2RlVGFnKGJ1ZmZlcixcbiAgICAnRmFpbGVkIHRvIGRlY29kZSB0YWcgb2YgXCInICsgdGFnICsgJ1wiJyk7XG4gIGlmIChidWZmZXIuaXNFcnJvcihkZWNvZGVkVGFnKSlcbiAgICByZXR1cm4gZGVjb2RlZFRhZztcblxuICBsZXQgbGVuID0gZGVyRGVjb2RlTGVuKGJ1ZmZlcixcbiAgICBkZWNvZGVkVGFnLnByaW1pdGl2ZSxcbiAgICAnRmFpbGVkIHRvIGdldCBsZW5ndGggb2YgXCInICsgdGFnICsgJ1wiJyk7XG5cbiAgLy8gRmFpbHVyZVxuICBpZiAoYnVmZmVyLmlzRXJyb3IobGVuKSlcbiAgICByZXR1cm4gbGVuO1xuXG4gIGlmICghYW55ICYmXG4gICAgICBkZWNvZGVkVGFnLnRhZyAhPT0gdGFnICYmXG4gICAgICBkZWNvZGVkVGFnLnRhZ1N0ciAhPT0gdGFnICYmXG4gICAgICBkZWNvZGVkVGFnLnRhZ1N0ciArICdvZicgIT09IHRhZykge1xuICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0ZhaWxlZCB0byBtYXRjaCB0YWc6IFwiJyArIHRhZyArICdcIicpO1xuICB9XG5cbiAgaWYgKGRlY29kZWRUYWcucHJpbWl0aXZlIHx8IGxlbiAhPT0gbnVsbClcbiAgICByZXR1cm4gYnVmZmVyLnNraXAobGVuLCAnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6IFwiJyArIHRhZyArICdcIicpO1xuXG4gIC8vIEluZGVmaW5pdGUgbGVuZ3RoLi4uIGZpbmQgRU5EIHRhZ1xuICBjb25zdCBzdGF0ZSA9IGJ1ZmZlci5zYXZlKCk7XG4gIGNvbnN0IHJlcyA9IHRoaXMuX3NraXBVbnRpbEVuZChcbiAgICBidWZmZXIsXG4gICAgJ0ZhaWxlZCB0byBza2lwIGluZGVmaW5pdGUgbGVuZ3RoIGJvZHk6IFwiJyArIHRoaXMudGFnICsgJ1wiJyk7XG4gIGlmIChidWZmZXIuaXNFcnJvcihyZXMpKVxuICAgIHJldHVybiByZXM7XG5cbiAgbGVuID0gYnVmZmVyLm9mZnNldCAtIHN0YXRlLm9mZnNldDtcbiAgYnVmZmVyLnJlc3RvcmUoc3RhdGUpO1xuICByZXR1cm4gYnVmZmVyLnNraXAobGVuLCAnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6IFwiJyArIHRhZyArICdcIicpO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3NraXBVbnRpbEVuZCA9IGZ1bmN0aW9uIHNraXBVbnRpbEVuZChidWZmZXIsIGZhaWwpIHtcbiAgZm9yICg7Oykge1xuICAgIGNvbnN0IHRhZyA9IGRlckRlY29kZVRhZyhidWZmZXIsIGZhaWwpO1xuICAgIGlmIChidWZmZXIuaXNFcnJvcih0YWcpKVxuICAgICAgcmV0dXJuIHRhZztcbiAgICBjb25zdCBsZW4gPSBkZXJEZWNvZGVMZW4oYnVmZmVyLCB0YWcucHJpbWl0aXZlLCBmYWlsKTtcbiAgICBpZiAoYnVmZmVyLmlzRXJyb3IobGVuKSlcbiAgICAgIHJldHVybiBsZW47XG5cbiAgICBsZXQgcmVzO1xuICAgIGlmICh0YWcucHJpbWl0aXZlIHx8IGxlbiAhPT0gbnVsbClcbiAgICAgIHJlcyA9IGJ1ZmZlci5za2lwKGxlbik7XG4gICAgZWxzZVxuICAgICAgcmVzID0gdGhpcy5fc2tpcFVudGlsRW5kKGJ1ZmZlciwgZmFpbCk7XG5cbiAgICAvLyBGYWlsdXJlXG4gICAgaWYgKGJ1ZmZlci5pc0Vycm9yKHJlcykpXG4gICAgICByZXR1cm4gcmVzO1xuXG4gICAgaWYgKHRhZy50YWdTdHIgPT09ICdlbmQnKVxuICAgICAgYnJlYWs7XG4gIH1cbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVMaXN0ID0gZnVuY3Rpb24gZGVjb2RlTGlzdChidWZmZXIsIHRhZywgZGVjb2RlcixcbiAgb3B0aW9ucykge1xuICBjb25zdCByZXN1bHQgPSBbXTtcbiAgd2hpbGUgKCFidWZmZXIuaXNFbXB0eSgpKSB7XG4gICAgY29uc3QgcG9zc2libGVFbmQgPSB0aGlzLl9wZWVrVGFnKGJ1ZmZlciwgJ2VuZCcpO1xuICAgIGlmIChidWZmZXIuaXNFcnJvcihwb3NzaWJsZUVuZCkpXG4gICAgICByZXR1cm4gcG9zc2libGVFbmQ7XG5cbiAgICBjb25zdCByZXMgPSBkZWNvZGVyLmRlY29kZShidWZmZXIsICdkZXInLCBvcHRpb25zKTtcbiAgICBpZiAoYnVmZmVyLmlzRXJyb3IocmVzKSAmJiBwb3NzaWJsZUVuZClcbiAgICAgIGJyZWFrO1xuICAgIHJlc3VsdC5wdXNoKHJlcyk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVTdHIgPSBmdW5jdGlvbiBkZWNvZGVTdHIoYnVmZmVyLCB0YWcpIHtcbiAgaWYgKHRhZyA9PT0gJ2JpdHN0cicpIHtcbiAgICBjb25zdCB1bnVzZWQgPSBidWZmZXIucmVhZFVJbnQ4KCk7XG4gICAgaWYgKGJ1ZmZlci5pc0Vycm9yKHVudXNlZCkpXG4gICAgICByZXR1cm4gdW51c2VkO1xuICAgIHJldHVybiB7IHVudXNlZDogdW51c2VkLCBkYXRhOiBidWZmZXIucmF3KCkgfTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdibXBzdHInKSB7XG4gICAgY29uc3QgcmF3ID0gYnVmZmVyLnJhdygpO1xuICAgIGlmIChyYXcubGVuZ3RoICUgMiA9PT0gMSlcbiAgICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBibXBzdHIgbGVuZ3RoIG1pc21hdGNoJyk7XG5cbiAgICBsZXQgc3RyID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXcubGVuZ3RoIC8gMjsgaSsrKSB7XG4gICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShyYXcucmVhZFVJbnQxNkJFKGkgKiAyKSk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnbnVtc3RyJykge1xuICAgIGNvbnN0IG51bXN0ciA9IGJ1ZmZlci5yYXcoKS50b1N0cmluZygnYXNjaWknKTtcbiAgICBpZiAoIXRoaXMuX2lzTnVtc3RyKG51bXN0cikpIHtcbiAgICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nIG9mIHN0cmluZyB0eXBlOiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ251bXN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzJyk7XG4gICAgfVxuICAgIHJldHVybiBudW1zdHI7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnb2N0c3RyJykge1xuICAgIHJldHVybiBidWZmZXIucmF3KCk7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnb2JqRGVzYycpIHtcbiAgICByZXR1cm4gYnVmZmVyLnJhdygpO1xuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3ByaW50c3RyJykge1xuICAgIGNvbnN0IHByaW50c3RyID0gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCdhc2NpaScpO1xuICAgIGlmICghdGhpcy5faXNQcmludHN0cihwcmludHN0cikpIHtcbiAgICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nIG9mIHN0cmluZyB0eXBlOiAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW50c3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHByaW50c3RyO1xuICB9IGVsc2UgaWYgKC9zdHIkLy50ZXN0KHRhZykpIHtcbiAgICByZXR1cm4gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGJ1ZmZlci5lcnJvcignRGVjb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICcgKyB0YWcgKyAnIHVuc3VwcG9ydGVkJyk7XG4gIH1cbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVPYmppZCA9IGZ1bmN0aW9uIGRlY29kZU9iamlkKGJ1ZmZlciwgdmFsdWVzLCByZWxhdGl2ZSkge1xuICBsZXQgcmVzdWx0O1xuICBjb25zdCBpZGVudGlmaWVycyA9IFtdO1xuICBsZXQgaWRlbnQgPSAwO1xuICBsZXQgc3ViaWRlbnQgPSAwO1xuICB3aGlsZSAoIWJ1ZmZlci5pc0VtcHR5KCkpIHtcbiAgICBzdWJpZGVudCA9IGJ1ZmZlci5yZWFkVUludDgoKTtcbiAgICBpZGVudCA8PD0gNztcbiAgICBpZGVudCB8PSBzdWJpZGVudCAmIDB4N2Y7XG4gICAgaWYgKChzdWJpZGVudCAmIDB4ODApID09PSAwKSB7XG4gICAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50KTtcbiAgICAgIGlkZW50ID0gMDtcbiAgICB9XG4gIH1cbiAgaWYgKHN1YmlkZW50ICYgMHg4MClcbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50KTtcblxuICBjb25zdCBmaXJzdCA9IChpZGVudGlmaWVyc1swXSAvIDQwKSB8IDA7XG4gIGNvbnN0IHNlY29uZCA9IGlkZW50aWZpZXJzWzBdICUgNDA7XG5cbiAgaWYgKHJlbGF0aXZlKVxuICAgIHJlc3VsdCA9IGlkZW50aWZpZXJzO1xuICBlbHNlXG4gICAgcmVzdWx0ID0gW2ZpcnN0LCBzZWNvbmRdLmNvbmNhdChpZGVudGlmaWVycy5zbGljZSgxKSk7XG5cbiAgaWYgKHZhbHVlcykge1xuICAgIGxldCB0bXAgPSB2YWx1ZXNbcmVzdWx0LmpvaW4oJyAnKV07XG4gICAgaWYgKHRtcCA9PT0gdW5kZWZpbmVkKVxuICAgICAgdG1wID0gdmFsdWVzW3Jlc3VsdC5qb2luKCcuJyldO1xuICAgIGlmICh0bXAgIT09IHVuZGVmaW5lZClcbiAgICAgIHJlc3VsdCA9IHRtcDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlVGltZSA9IGZ1bmN0aW9uIGRlY29kZVRpbWUoYnVmZmVyLCB0YWcpIHtcbiAgY29uc3Qgc3RyID0gYnVmZmVyLnJhdygpLnRvU3RyaW5nKCk7XG5cbiAgbGV0IHllYXI7XG4gIGxldCBtb247XG4gIGxldCBkYXk7XG4gIGxldCBob3VyO1xuICBsZXQgbWluO1xuICBsZXQgc2VjO1xuICBpZiAodGFnID09PSAnZ2VudGltZScpIHtcbiAgICB5ZWFyID0gc3RyLnNsaWNlKDAsIDQpIHwgMDtcbiAgICBtb24gPSBzdHIuc2xpY2UoNCwgNikgfCAwO1xuICAgIGRheSA9IHN0ci5zbGljZSg2LCA4KSB8IDA7XG4gICAgaG91ciA9IHN0ci5zbGljZSg4LCAxMCkgfCAwO1xuICAgIG1pbiA9IHN0ci5zbGljZSgxMCwgMTIpIHwgMDtcbiAgICBzZWMgPSBzdHIuc2xpY2UoMTIsIDE0KSB8IDA7XG4gIH0gZWxzZSBpZiAodGFnID09PSAndXRjdGltZScpIHtcbiAgICB5ZWFyID0gc3RyLnNsaWNlKDAsIDIpIHwgMDtcbiAgICBtb24gPSBzdHIuc2xpY2UoMiwgNCkgfCAwO1xuICAgIGRheSA9IHN0ci5zbGljZSg0LCA2KSB8IDA7XG4gICAgaG91ciA9IHN0ci5zbGljZSg2LCA4KSB8IDA7XG4gICAgbWluID0gc3RyLnNsaWNlKDgsIDEwKSB8IDA7XG4gICAgc2VjID0gc3RyLnNsaWNlKDEwLCAxMikgfCAwO1xuICAgIGlmICh5ZWFyIDwgNzApXG4gICAgICB5ZWFyID0gMjAwMCArIHllYXI7XG4gICAgZWxzZVxuICAgICAgeWVhciA9IDE5MDAgKyB5ZWFyO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBidWZmZXIuZXJyb3IoJ0RlY29kaW5nICcgKyB0YWcgKyAnIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQnKTtcbiAgfVxuXG4gIHJldHVybiBEYXRlLlVUQyh5ZWFyLCBtb24gLSAxLCBkYXksIGhvdXIsIG1pbiwgc2VjLCAwKTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9kZWNvZGVOdWxsID0gZnVuY3Rpb24gZGVjb2RlTnVsbCgpIHtcbiAgcmV0dXJuIG51bGw7XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlQm9vbCA9IGZ1bmN0aW9uIGRlY29kZUJvb2woYnVmZmVyKSB7XG4gIGNvbnN0IHJlcyA9IGJ1ZmZlci5yZWFkVUludDgoKTtcbiAgaWYgKGJ1ZmZlci5pc0Vycm9yKHJlcykpXG4gICAgcmV0dXJuIHJlcztcbiAgZWxzZVxuICAgIHJldHVybiByZXMgIT09IDA7XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZGVjb2RlSW50ID0gZnVuY3Rpb24gZGVjb2RlSW50KGJ1ZmZlciwgdmFsdWVzKSB7XG4gIC8vIEJpZ2ludCwgcmV0dXJuIGFzIGl0IGlzIChhc3N1bWUgYmlnIGVuZGlhbilcbiAgY29uc3QgcmF3ID0gYnVmZmVyLnJhdygpO1xuICBsZXQgcmVzID0gbmV3IGJpZ251bShyYXcpO1xuXG4gIGlmICh2YWx1ZXMpXG4gICAgcmVzID0gdmFsdWVzW3Jlcy50b1N0cmluZygxMCldIHx8IHJlcztcblxuICByZXR1cm4gcmVzO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3VzZSA9IGZ1bmN0aW9uIHVzZShlbnRpdHksIG9iaikge1xuICBpZiAodHlwZW9mIGVudGl0eSA9PT0gJ2Z1bmN0aW9uJylcbiAgICBlbnRpdHkgPSBlbnRpdHkob2JqKTtcbiAgcmV0dXJuIGVudGl0eS5fZ2V0RGVjb2RlcignZGVyJykudHJlZTtcbn07XG5cbi8vIFV0aWxpdHkgbWV0aG9kc1xuXG5mdW5jdGlvbiBkZXJEZWNvZGVUYWcoYnVmLCBmYWlsKSB7XG4gIGxldCB0YWcgPSBidWYucmVhZFVJbnQ4KGZhaWwpO1xuICBpZiAoYnVmLmlzRXJyb3IodGFnKSlcbiAgICByZXR1cm4gdGFnO1xuXG4gIGNvbnN0IGNscyA9IGRlci50YWdDbGFzc1t0YWcgPj4gNl07XG4gIGNvbnN0IHByaW1pdGl2ZSA9ICh0YWcgJiAweDIwKSA9PT0gMDtcblxuICAvLyBNdWx0aS1vY3RldCB0YWcgLSBsb2FkXG4gIGlmICgodGFnICYgMHgxZikgPT09IDB4MWYpIHtcbiAgICBsZXQgb2N0ID0gdGFnO1xuICAgIHRhZyA9IDA7XG4gICAgd2hpbGUgKChvY3QgJiAweDgwKSA9PT0gMHg4MCkge1xuICAgICAgb2N0ID0gYnVmLnJlYWRVSW50OChmYWlsKTtcbiAgICAgIGlmIChidWYuaXNFcnJvcihvY3QpKVxuICAgICAgICByZXR1cm4gb2N0O1xuXG4gICAgICB0YWcgPDw9IDc7XG4gICAgICB0YWcgfD0gb2N0ICYgMHg3ZjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGFnICY9IDB4MWY7XG4gIH1cbiAgY29uc3QgdGFnU3RyID0gZGVyLnRhZ1t0YWddO1xuXG4gIHJldHVybiB7XG4gICAgY2xzOiBjbHMsXG4gICAgcHJpbWl0aXZlOiBwcmltaXRpdmUsXG4gICAgdGFnOiB0YWcsXG4gICAgdGFnU3RyOiB0YWdTdHJcbiAgfTtcbn1cblxuZnVuY3Rpb24gZGVyRGVjb2RlTGVuKGJ1ZiwgcHJpbWl0aXZlLCBmYWlsKSB7XG4gIGxldCBsZW4gPSBidWYucmVhZFVJbnQ4KGZhaWwpO1xuICBpZiAoYnVmLmlzRXJyb3IobGVuKSlcbiAgICByZXR1cm4gbGVuO1xuXG4gIC8vIEluZGVmaW5pdGUgZm9ybVxuICBpZiAoIXByaW1pdGl2ZSAmJiBsZW4gPT09IDB4ODApXG4gICAgcmV0dXJuIG51bGw7XG5cbiAgLy8gRGVmaW5pdGUgZm9ybVxuICBpZiAoKGxlbiAmIDB4ODApID09PSAwKSB7XG4gICAgLy8gU2hvcnQgZm9ybVxuICAgIHJldHVybiBsZW47XG4gIH1cblxuICAvLyBMb25nIGZvcm1cbiAgY29uc3QgbnVtID0gbGVuICYgMHg3ZjtcbiAgaWYgKG51bSA+IDQpXG4gICAgcmV0dXJuIGJ1Zi5lcnJvcignbGVuZ3RoIG9jdGVjdCBpcyB0b28gbG9uZycpO1xuXG4gIGxlbiA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtOyBpKyspIHtcbiAgICBsZW4gPDw9IDg7XG4gICAgY29uc3QgaiA9IGJ1Zi5yZWFkVUludDgoZmFpbCk7XG4gICAgaWYgKGJ1Zi5pc0Vycm9yKGopKVxuICAgICAgcmV0dXJuIGo7XG4gICAgbGVuIHw9IGo7XG4gIH1cblxuICByZXR1cm4gbGVuO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBkZWNvZGVycyA9IGV4cG9ydHM7XG5cbmRlY29kZXJzLmRlciA9IHJlcXVpcmUoJy4vZGVyJyk7XG5kZWNvZGVycy5wZW0gPSByZXF1aXJlKCcuL3BlbScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5jb25zdCBCdWZmZXIgPSByZXF1aXJlKCdzYWZlci1idWZmZXInKS5CdWZmZXI7XG5cbmNvbnN0IERFUkRlY29kZXIgPSByZXF1aXJlKCcuL2RlcicpO1xuXG5mdW5jdGlvbiBQRU1EZWNvZGVyKGVudGl0eSkge1xuICBERVJEZWNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcbiAgdGhpcy5lbmMgPSAncGVtJztcbn1cbmluaGVyaXRzKFBFTURlY29kZXIsIERFUkRlY29kZXIpO1xubW9kdWxlLmV4cG9ydHMgPSBQRU1EZWNvZGVyO1xuXG5QRU1EZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoZGF0YSwgb3B0aW9ucykge1xuICBjb25zdCBsaW5lcyA9IGRhdGEudG9TdHJpbmcoKS5zcGxpdCgvW1xcclxcbl0rL2cpO1xuXG4gIGNvbnN0IGxhYmVsID0gb3B0aW9ucy5sYWJlbC50b1VwcGVyQ2FzZSgpO1xuXG4gIGNvbnN0IHJlID0gL14tLS0tLShCRUdJTnxFTkQpIChbXi1dKyktLS0tLSQvO1xuICBsZXQgc3RhcnQgPSAtMTtcbiAgbGV0IGVuZCA9IC0xO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBsaW5lc1tpXS5tYXRjaChyZSk7XG4gICAgaWYgKG1hdGNoID09PSBudWxsKVxuICAgICAgY29udGludWU7XG5cbiAgICBpZiAobWF0Y2hbMl0gIT09IGxhYmVsKVxuICAgICAgY29udGludWU7XG5cbiAgICBpZiAoc3RhcnQgPT09IC0xKSB7XG4gICAgICBpZiAobWF0Y2hbMV0gIT09ICdCRUdJTicpXG4gICAgICAgIGJyZWFrO1xuICAgICAgc3RhcnQgPSBpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobWF0Y2hbMV0gIT09ICdFTkQnKVxuICAgICAgICBicmVhaztcbiAgICAgIGVuZCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXJ0ID09PSAtMSB8fCBlbmQgPT09IC0xKVxuICAgIHRocm93IG5ldyBFcnJvcignUEVNIHNlY3Rpb24gbm90IGZvdW5kIGZvcjogJyArIGxhYmVsKTtcblxuICBjb25zdCBiYXNlNjQgPSBsaW5lcy5zbGljZShzdGFydCArIDEsIGVuZCkuam9pbignJyk7XG4gIC8vIFJlbW92ZSBleGNlc3NpdmUgc3ltYm9sc1xuICBiYXNlNjQucmVwbGFjZSgvW15hLXowLTkrLz1dKy9naSwgJycpO1xuXG4gIGNvbnN0IGlucHV0ID0gQnVmZmVyLmZyb20oYmFzZTY0LCAnYmFzZTY0Jyk7XG4gIHJldHVybiBERVJEZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUuY2FsbCh0aGlzLCBpbnB1dCwgb3B0aW9ucyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5jb25zdCBCdWZmZXIgPSByZXF1aXJlKCdzYWZlci1idWZmZXInKS5CdWZmZXI7XG5jb25zdCBOb2RlID0gcmVxdWlyZSgnLi4vYmFzZS9ub2RlJyk7XG5cbi8vIEltcG9ydCBERVIgY29uc3RhbnRzXG5jb25zdCBkZXIgPSByZXF1aXJlKCcuLi9jb25zdGFudHMvZGVyJyk7XG5cbmZ1bmN0aW9uIERFUkVuY29kZXIoZW50aXR5KSB7XG4gIHRoaXMuZW5jID0gJ2Rlcic7XG4gIHRoaXMubmFtZSA9IGVudGl0eS5uYW1lO1xuICB0aGlzLmVudGl0eSA9IGVudGl0eTtcblxuICAvLyBDb25zdHJ1Y3QgYmFzZSB0cmVlXG4gIHRoaXMudHJlZSA9IG5ldyBERVJOb2RlKCk7XG4gIHRoaXMudHJlZS5faW5pdChlbnRpdHkuYm9keSk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IERFUkVuY29kZXI7XG5cbkRFUkVuY29kZXIucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShkYXRhLCByZXBvcnRlcikge1xuICByZXR1cm4gdGhpcy50cmVlLl9lbmNvZGUoZGF0YSwgcmVwb3J0ZXIpLmpvaW4oKTtcbn07XG5cbi8vIFRyZWUgbWV0aG9kc1xuXG5mdW5jdGlvbiBERVJOb2RlKHBhcmVudCkge1xuICBOb2RlLmNhbGwodGhpcywgJ2RlcicsIHBhcmVudCk7XG59XG5pbmhlcml0cyhERVJOb2RlLCBOb2RlKTtcblxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUNvbXBvc2l0ZSA9IGZ1bmN0aW9uIGVuY29kZUNvbXBvc2l0ZSh0YWcsXG4gIHByaW1pdGl2ZSxcbiAgY2xzLFxuICBjb250ZW50KSB7XG4gIGNvbnN0IGVuY29kZWRUYWcgPSBlbmNvZGVUYWcodGFnLCBwcmltaXRpdmUsIGNscywgdGhpcy5yZXBvcnRlcik7XG5cbiAgLy8gU2hvcnQgZm9ybVxuICBpZiAoY29udGVudC5sZW5ndGggPCAweDgwKSB7XG4gICAgY29uc3QgaGVhZGVyID0gQnVmZmVyLmFsbG9jKDIpO1xuICAgIGhlYWRlclswXSA9IGVuY29kZWRUYWc7XG4gICAgaGVhZGVyWzFdID0gY29udGVudC5sZW5ndGg7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoWyBoZWFkZXIsIGNvbnRlbnQgXSk7XG4gIH1cblxuICAvLyBMb25nIGZvcm1cbiAgLy8gQ291bnQgb2N0ZXRzIHJlcXVpcmVkIHRvIHN0b3JlIGxlbmd0aFxuICBsZXQgbGVuT2N0ZXRzID0gMTtcbiAgZm9yIChsZXQgaSA9IGNvbnRlbnQubGVuZ3RoOyBpID49IDB4MTAwOyBpID4+PSA4KVxuICAgIGxlbk9jdGV0cysrO1xuXG4gIGNvbnN0IGhlYWRlciA9IEJ1ZmZlci5hbGxvYygxICsgMSArIGxlbk9jdGV0cyk7XG4gIGhlYWRlclswXSA9IGVuY29kZWRUYWc7XG4gIGhlYWRlclsxXSA9IDB4ODAgfCBsZW5PY3RldHM7XG5cbiAgZm9yIChsZXQgaSA9IDEgKyBsZW5PY3RldHMsIGogPSBjb250ZW50Lmxlbmd0aDsgaiA+IDA7IGktLSwgaiA+Pj0gOClcbiAgICBoZWFkZXJbaV0gPSBqICYgMHhmZjtcblxuICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbIGhlYWRlciwgY29udGVudCBdKTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVTdHIgPSBmdW5jdGlvbiBlbmNvZGVTdHIoc3RyLCB0YWcpIHtcbiAgaWYgKHRhZyA9PT0gJ2JpdHN0cicpIHtcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbIHN0ci51bnVzZWQgfCAwLCBzdHIuZGF0YSBdKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdibXBzdHInKSB7XG4gICAgY29uc3QgYnVmID0gQnVmZmVyLmFsbG9jKHN0ci5sZW5ndGggKiAyKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgYnVmLndyaXRlVUludDE2QkUoc3RyLmNoYXJDb2RlQXQoaSksIGkgKiAyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoYnVmKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdudW1zdHInKSB7XG4gICAgaWYgKCF0aGlzLl9pc051bXN0cihzdHIpKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6IG51bXN0ciBzdXBwb3J0cyAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvbmx5IGRpZ2l0cyBhbmQgc3BhY2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoc3RyKTtcbiAgfSBlbHNlIGlmICh0YWcgPT09ICdwcmludHN0cicpIHtcbiAgICBpZiAoIXRoaXMuX2lzUHJpbnRzdHIoc3RyKSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ0VuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciBzdXBwb3J0cyAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvbmx5IGxhdGluIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMsICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RpZ2l0cywgc3BhY2UsIGFwb3N0cm9waGUsIGxlZnQgYW5kIHJpZ3RoICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudGhlc2lzLCBwbHVzIHNpZ24sIGNvbW1hLCBoeXBoZW4sICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RvdCwgc2xhc2gsIGNvbG9uLCBlcXVhbCBzaWduLCAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxdWVzdGlvbiBtYXJrJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XG4gIH0gZWxzZSBpZiAoL3N0ciQvLnRlc3QodGFnKSkge1xuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHN0cik7XG4gIH0gZWxzZSBpZiAodGFnID09PSAnb2JqRGVzYycpIHtcbiAgICByZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihzdHIpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdFbmNvZGluZyBvZiBzdHJpbmcgdHlwZTogJyArIHRhZyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyB1bnN1cHBvcnRlZCcpO1xuICB9XG59O1xuXG5ERVJOb2RlLnByb3RvdHlwZS5fZW5jb2RlT2JqaWQgPSBmdW5jdGlvbiBlbmNvZGVPYmppZChpZCwgdmFsdWVzLCByZWxhdGl2ZSkge1xuICBpZiAodHlwZW9mIGlkID09PSAnc3RyaW5nJykge1xuICAgIGlmICghdmFsdWVzKVxuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ3N0cmluZyBvYmppZCBnaXZlbiwgYnV0IG5vIHZhbHVlcyBtYXAgZm91bmQnKTtcbiAgICBpZiAoIXZhbHVlcy5oYXNPd25Qcm9wZXJ0eShpZCkpXG4gICAgICByZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcignb2JqaWQgbm90IGZvdW5kIGluIHZhbHVlcyBtYXAnKTtcbiAgICBpZCA9IHZhbHVlc1tpZF0uc3BsaXQoL1tcXHMuXSsvZyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKylcbiAgICAgIGlkW2ldIHw9IDA7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShpZCkpIHtcbiAgICBpZCA9IGlkLnNsaWNlKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKylcbiAgICAgIGlkW2ldIHw9IDA7XG4gIH1cblxuICBpZiAoIUFycmF5LmlzQXJyYXkoaWQpKSB7XG4gICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ29iamlkKCkgc2hvdWxkIGJlIGVpdGhlciBhcnJheSBvciBzdHJpbmcsICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnb3Q6ICcgKyBKU09OLnN0cmluZ2lmeShpZCkpO1xuICB9XG5cbiAgaWYgKCFyZWxhdGl2ZSkge1xuICAgIGlmIChpZFsxXSA+PSA0MClcbiAgICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdTZWNvbmQgb2JqaWQgaWRlbnRpZmllciBPT0InKTtcbiAgICBpZC5zcGxpY2UoMCwgMiwgaWRbMF0gKiA0MCArIGlkWzFdKTtcbiAgfVxuXG4gIC8vIENvdW50IG51bWJlciBvZiBvY3RldHNcbiAgbGV0IHNpemUgPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGlkLmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IGlkZW50ID0gaWRbaV07XG4gICAgZm9yIChzaXplKys7IGlkZW50ID49IDB4ODA7IGlkZW50ID4+PSA3KVxuICAgICAgc2l6ZSsrO1xuICB9XG5cbiAgY29uc3Qgb2JqaWQgPSBCdWZmZXIuYWxsb2Moc2l6ZSk7XG4gIGxldCBvZmZzZXQgPSBvYmppZC5sZW5ndGggLSAxO1xuICBmb3IgKGxldCBpID0gaWQubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBsZXQgaWRlbnQgPSBpZFtpXTtcbiAgICBvYmppZFtvZmZzZXQtLV0gPSBpZGVudCAmIDB4N2Y7XG4gICAgd2hpbGUgKChpZGVudCA+Pj0gNykgPiAwKVxuICAgICAgb2JqaWRbb2Zmc2V0LS1dID0gMHg4MCB8IChpZGVudCAmIDB4N2YpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob2JqaWQpO1xufTtcblxuZnVuY3Rpb24gdHdvKG51bSkge1xuICBpZiAobnVtIDwgMTApXG4gICAgcmV0dXJuICcwJyArIG51bTtcbiAgZWxzZVxuICAgIHJldHVybiBudW07XG59XG5cbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVUaW1lID0gZnVuY3Rpb24gZW5jb2RlVGltZSh0aW1lLCB0YWcpIHtcbiAgbGV0IHN0cjtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWUpO1xuXG4gIGlmICh0YWcgPT09ICdnZW50aW1lJykge1xuICAgIHN0ciA9IFtcbiAgICAgIHR3byhkYXRlLmdldFVUQ0Z1bGxZZWFyKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTW9udGgoKSArIDEpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDRGF0ZSgpKSxcbiAgICAgIHR3byhkYXRlLmdldFVUQ0hvdXJzKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDTWludXRlcygpKSxcbiAgICAgIHR3byhkYXRlLmdldFVUQ1NlY29uZHMoKSksXG4gICAgICAnWidcbiAgICBdLmpvaW4oJycpO1xuICB9IGVsc2UgaWYgKHRhZyA9PT0gJ3V0Y3RpbWUnKSB7XG4gICAgc3RyID0gW1xuICAgICAgdHdvKGRhdGUuZ2V0VVRDRnVsbFllYXIoKSAlIDEwMCksXG4gICAgICB0d28oZGF0ZS5nZXRVVENNb250aCgpICsgMSksXG4gICAgICB0d28oZGF0ZS5nZXRVVENEYXRlKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDSG91cnMoKSksXG4gICAgICB0d28oZGF0ZS5nZXRVVENNaW51dGVzKCkpLFxuICAgICAgdHdvKGRhdGUuZ2V0VVRDU2Vjb25kcygpKSxcbiAgICAgICdaJ1xuICAgIF0uam9pbignJyk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5yZXBvcnRlci5lcnJvcignRW5jb2RpbmcgJyArIHRhZyArICcgdGltZSBpcyBub3Qgc3VwcG9ydGVkIHlldCcpO1xuICB9XG5cbiAgcmV0dXJuIHRoaXMuX2VuY29kZVN0cihzdHIsICdvY3RzdHInKTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9lbmNvZGVOdWxsID0gZnVuY3Rpb24gZW5jb2RlTnVsbCgpIHtcbiAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoJycpO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUludCA9IGZ1bmN0aW9uIGVuY29kZUludChudW0sIHZhbHVlcykge1xuICBpZiAodHlwZW9mIG51bSA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoIXZhbHVlcylcbiAgICAgIHJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCdTdHJpbmcgaW50IG9yIGVudW0gZ2l2ZW4sIGJ1dCBubyB2YWx1ZXMgbWFwJyk7XG4gICAgaWYgKCF2YWx1ZXMuaGFzT3duUHJvcGVydHkobnVtKSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb3J0ZXIuZXJyb3IoJ1ZhbHVlcyBtYXAgZG9lc25cXCd0IGNvbnRhaW46ICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkobnVtKSk7XG4gICAgfVxuICAgIG51bSA9IHZhbHVlc1tudW1dO1xuICB9XG5cbiAgLy8gQmlnbnVtLCBhc3N1bWUgYmlnIGVuZGlhblxuICBpZiAodHlwZW9mIG51bSAhPT0gJ251bWJlcicgJiYgIUJ1ZmZlci5pc0J1ZmZlcihudW0pKSB7XG4gICAgY29uc3QgbnVtQXJyYXkgPSBudW0udG9BcnJheSgpO1xuICAgIGlmICghbnVtLnNpZ24gJiYgbnVtQXJyYXlbMF0gJiAweDgwKSB7XG4gICAgICBudW1BcnJheS51bnNoaWZ0KDApO1xuICAgIH1cbiAgICBudW0gPSBCdWZmZXIuZnJvbShudW1BcnJheSk7XG4gIH1cblxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKG51bSkpIHtcbiAgICBsZXQgc2l6ZSA9IG51bS5sZW5ndGg7XG4gICAgaWYgKG51bS5sZW5ndGggPT09IDApXG4gICAgICBzaXplKys7XG5cbiAgICBjb25zdCBvdXQgPSBCdWZmZXIuYWxsb2Moc2l6ZSk7XG4gICAgbnVtLmNvcHkob3V0KTtcbiAgICBpZiAobnVtLmxlbmd0aCA9PT0gMClcbiAgICAgIG91dFswXSA9IDA7XG4gICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIob3V0KTtcbiAgfVxuXG4gIGlmIChudW0gPCAweDgwKVxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKG51bSk7XG5cbiAgaWYgKG51bSA8IDB4MTAwKVxuICAgIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFswLCBudW1dKTtcblxuICBsZXQgc2l6ZSA9IDE7XG4gIGZvciAobGV0IGkgPSBudW07IGkgPj0gMHgxMDA7IGkgPj49IDgpXG4gICAgc2l6ZSsrO1xuXG4gIGNvbnN0IG91dCA9IG5ldyBBcnJheShzaXplKTtcbiAgZm9yIChsZXQgaSA9IG91dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIG91dFtpXSA9IG51bSAmIDB4ZmY7XG4gICAgbnVtID4+PSA4O1xuICB9XG4gIGlmKG91dFswXSAmIDB4ODApIHtcbiAgICBvdXQudW5zaGlmdCgwKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKEJ1ZmZlci5mcm9tKG91dCkpO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX2VuY29kZUJvb2wgPSBmdW5jdGlvbiBlbmNvZGVCb29sKHZhbHVlKSB7XG4gIHJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHZhbHVlID8gMHhmZiA6IDApO1xufTtcblxuREVSTm9kZS5wcm90b3R5cGUuX3VzZSA9IGZ1bmN0aW9uIHVzZShlbnRpdHksIG9iaikge1xuICBpZiAodHlwZW9mIGVudGl0eSA9PT0gJ2Z1bmN0aW9uJylcbiAgICBlbnRpdHkgPSBlbnRpdHkob2JqKTtcbiAgcmV0dXJuIGVudGl0eS5fZ2V0RW5jb2RlcignZGVyJykudHJlZTtcbn07XG5cbkRFUk5vZGUucHJvdG90eXBlLl9za2lwRGVmYXVsdCA9IGZ1bmN0aW9uIHNraXBEZWZhdWx0KGRhdGFCdWZmZXIsIHJlcG9ydGVyLCBwYXJlbnQpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLl9iYXNlU3RhdGU7XG4gIGxldCBpO1xuICBpZiAoc3RhdGVbJ2RlZmF1bHQnXSA9PT0gbnVsbClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgY29uc3QgZGF0YSA9IGRhdGFCdWZmZXIuam9pbigpO1xuICBpZiAoc3RhdGUuZGVmYXVsdEJ1ZmZlciA9PT0gdW5kZWZpbmVkKVxuICAgIHN0YXRlLmRlZmF1bHRCdWZmZXIgPSB0aGlzLl9lbmNvZGVWYWx1ZShzdGF0ZVsnZGVmYXVsdCddLCByZXBvcnRlciwgcGFyZW50KS5qb2luKCk7XG5cbiAgaWYgKGRhdGEubGVuZ3RoICE9PSBzdGF0ZS5kZWZhdWx0QnVmZmVyLmxlbmd0aClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgZm9yIChpPTA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKVxuICAgIGlmIChkYXRhW2ldICE9PSBzdGF0ZS5kZWZhdWx0QnVmZmVyW2ldKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gIHJldHVybiB0cnVlO1xufTtcblxuLy8gVXRpbGl0eSBtZXRob2RzXG5cbmZ1bmN0aW9uIGVuY29kZVRhZyh0YWcsIHByaW1pdGl2ZSwgY2xzLCByZXBvcnRlcikge1xuICBsZXQgcmVzO1xuXG4gIGlmICh0YWcgPT09ICdzZXFvZicpXG4gICAgdGFnID0gJ3NlcSc7XG4gIGVsc2UgaWYgKHRhZyA9PT0gJ3NldG9mJylcbiAgICB0YWcgPSAnc2V0JztcblxuICBpZiAoZGVyLnRhZ0J5TmFtZS5oYXNPd25Qcm9wZXJ0eSh0YWcpKVxuICAgIHJlcyA9IGRlci50YWdCeU5hbWVbdGFnXTtcbiAgZWxzZSBpZiAodHlwZW9mIHRhZyA9PT0gJ251bWJlcicgJiYgKHRhZyB8IDApID09PSB0YWcpXG4gICAgcmVzID0gdGFnO1xuICBlbHNlXG4gICAgcmV0dXJuIHJlcG9ydGVyLmVycm9yKCdVbmtub3duIHRhZzogJyArIHRhZyk7XG5cbiAgaWYgKHJlcyA+PSAweDFmKVxuICAgIHJldHVybiByZXBvcnRlci5lcnJvcignTXVsdGktb2N0ZXQgdGFnIGVuY29kaW5nIHVuc3VwcG9ydGVkJyk7XG5cbiAgaWYgKCFwcmltaXRpdmUpXG4gICAgcmVzIHw9IDB4MjA7XG5cbiAgcmVzIHw9IChkZXIudGFnQ2xhc3NCeU5hbWVbY2xzIHx8ICd1bml2ZXJzYWwnXSA8PCA2KTtcblxuICByZXR1cm4gcmVzO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBlbmNvZGVycyA9IGV4cG9ydHM7XG5cbmVuY29kZXJzLmRlciA9IHJlcXVpcmUoJy4vZGVyJyk7XG5lbmNvZGVycy5wZW0gPSByZXF1aXJlKCcuL3BlbScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbmNvbnN0IERFUkVuY29kZXIgPSByZXF1aXJlKCcuL2RlcicpO1xuXG5mdW5jdGlvbiBQRU1FbmNvZGVyKGVudGl0eSkge1xuICBERVJFbmNvZGVyLmNhbGwodGhpcywgZW50aXR5KTtcbiAgdGhpcy5lbmMgPSAncGVtJztcbn1cbmluaGVyaXRzKFBFTUVuY29kZXIsIERFUkVuY29kZXIpO1xubW9kdWxlLmV4cG9ydHMgPSBQRU1FbmNvZGVyO1xuXG5QRU1FbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoZGF0YSwgb3B0aW9ucykge1xuICBjb25zdCBidWYgPSBERVJFbmNvZGVyLnByb3RvdHlwZS5lbmNvZGUuY2FsbCh0aGlzLCBkYXRhKTtcblxuICBjb25zdCBwID0gYnVmLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgY29uc3Qgb3V0ID0gWyAnLS0tLS1CRUdJTiAnICsgb3B0aW9ucy5sYWJlbCArICctLS0tLScgXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwLmxlbmd0aDsgaSArPSA2NClcbiAgICBvdXQucHVzaChwLnNsaWNlKGksIGkgKyA2NCkpO1xuICBvdXQucHVzaCgnLS0tLS1FTkQgJyArIG9wdGlvbnMubGFiZWwgKyAnLS0tLS0nKTtcbiAgcmV0dXJuIG91dC5qb2luKCdcXG4nKTtcbn07XG4iLCIndXNlIHN0cmljdCdcblxuZXhwb3J0cy5ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aFxuZXhwb3J0cy50b0J5dGVBcnJheSA9IHRvQnl0ZUFycmF5XG5leHBvcnRzLmZyb21CeXRlQXJyYXkgPSBmcm9tQnl0ZUFycmF5XG5cbnZhciBsb29rdXAgPSBbXVxudmFyIHJldkxvb2t1cCA9IFtdXG52YXIgQXJyID0gdHlwZW9mIFVpbnQ4QXJyYXkgIT09ICd1bmRlZmluZWQnID8gVWludDhBcnJheSA6IEFycmF5XG5cbnZhciBjb2RlID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nXG5mb3IgKHZhciBpID0gMCwgbGVuID0gY29kZS5sZW5ndGg7IGkgPCBsZW47ICsraSkge1xuICBsb29rdXBbaV0gPSBjb2RlW2ldXG4gIHJldkxvb2t1cFtjb2RlLmNoYXJDb2RlQXQoaSldID0gaVxufVxuXG4vLyBTdXBwb3J0IGRlY29kaW5nIFVSTC1zYWZlIGJhc2U2NCBzdHJpbmdzLCBhcyBOb2RlLmpzIGRvZXMuXG4vLyBTZWU6IGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Jhc2U2NCNVUkxfYXBwbGljYXRpb25zXG5yZXZMb29rdXBbJy0nLmNoYXJDb2RlQXQoMCldID0gNjJcbnJldkxvb2t1cFsnXycuY2hhckNvZGVBdCgwKV0gPSA2M1xuXG5mdW5jdGlvbiBnZXRMZW5zIChiNjQpIHtcbiAgdmFyIGxlbiA9IGI2NC5sZW5ndGhcblxuICBpZiAobGVuICUgNCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc3RyaW5nLiBMZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQnKVxuICB9XG5cbiAgLy8gVHJpbSBvZmYgZXh0cmEgYnl0ZXMgYWZ0ZXIgcGxhY2Vob2xkZXIgYnl0ZXMgYXJlIGZvdW5kXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JlYXRnYW1taXQvYmFzZTY0LWpzL2lzc3Vlcy80MlxuICB2YXIgdmFsaWRMZW4gPSBiNjQuaW5kZXhPZignPScpXG4gIGlmICh2YWxpZExlbiA9PT0gLTEpIHZhbGlkTGVuID0gbGVuXG5cbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IHZhbGlkTGVuID09PSBsZW5cbiAgICA/IDBcbiAgICA6IDQgLSAodmFsaWRMZW4gJSA0KVxuXG4gIHJldHVybiBbdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbl1cbn1cblxuLy8gYmFzZTY0IGlzIDQvMyArIHVwIHRvIHR3byBjaGFyYWN0ZXJzIG9mIHRoZSBvcmlnaW5hbCBkYXRhXG5mdW5jdGlvbiBieXRlTGVuZ3RoIChiNjQpIHtcbiAgdmFyIGxlbnMgPSBnZXRMZW5zKGI2NClcbiAgdmFyIHZhbGlkTGVuID0gbGVuc1swXVxuICB2YXIgcGxhY2VIb2xkZXJzTGVuID0gbGVuc1sxXVxuICByZXR1cm4gKCh2YWxpZExlbiArIHBsYWNlSG9sZGVyc0xlbikgKiAzIC8gNCkgLSBwbGFjZUhvbGRlcnNMZW5cbn1cblxuZnVuY3Rpb24gX2J5dGVMZW5ndGggKGI2NCwgdmFsaWRMZW4sIHBsYWNlSG9sZGVyc0xlbikge1xuICByZXR1cm4gKCh2YWxpZExlbiArIHBsYWNlSG9sZGVyc0xlbikgKiAzIC8gNCkgLSBwbGFjZUhvbGRlcnNMZW5cbn1cblxuZnVuY3Rpb24gdG9CeXRlQXJyYXkgKGI2NCkge1xuICB2YXIgdG1wXG4gIHZhciBsZW5zID0gZ2V0TGVucyhiNjQpXG4gIHZhciB2YWxpZExlbiA9IGxlbnNbMF1cbiAgdmFyIHBsYWNlSG9sZGVyc0xlbiA9IGxlbnNbMV1cblxuICB2YXIgYXJyID0gbmV3IEFycihfYnl0ZUxlbmd0aChiNjQsIHZhbGlkTGVuLCBwbGFjZUhvbGRlcnNMZW4pKVxuXG4gIHZhciBjdXJCeXRlID0gMFxuXG4gIC8vIGlmIHRoZXJlIGFyZSBwbGFjZWhvbGRlcnMsIG9ubHkgZ2V0IHVwIHRvIHRoZSBsYXN0IGNvbXBsZXRlIDQgY2hhcnNcbiAgdmFyIGxlbiA9IHBsYWNlSG9sZGVyc0xlbiA+IDBcbiAgICA/IHZhbGlkTGVuIC0gNFxuICAgIDogdmFsaWRMZW5cblxuICB2YXIgaVxuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpICs9IDQpIHtcbiAgICB0bXAgPVxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpKV0gPDwgMTgpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA8PCAxMikgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMildIDw8IDYpIHxcbiAgICAgIHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMyldXG4gICAgYXJyW2N1ckJ5dGUrK10gPSAodG1wID4+IDE2KSAmIDB4RkZcbiAgICBhcnJbY3VyQnl0ZSsrXSA9ICh0bXAgPj4gOCkgJiAweEZGXG4gICAgYXJyW2N1ckJ5dGUrK10gPSB0bXAgJiAweEZGXG4gIH1cblxuICBpZiAocGxhY2VIb2xkZXJzTGVuID09PSAyKSB7XG4gICAgdG1wID1cbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSldIDw8IDIpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDEpXSA+PiA0KVxuICAgIGFycltjdXJCeXRlKytdID0gdG1wICYgMHhGRlxuICB9XG5cbiAgaWYgKHBsYWNlSG9sZGVyc0xlbiA9PT0gMSkge1xuICAgIHRtcCA9XG4gICAgICAocmV2TG9va3VwW2I2NC5jaGFyQ29kZUF0KGkpXSA8PCAxMCkgfFxuICAgICAgKHJldkxvb2t1cFtiNjQuY2hhckNvZGVBdChpICsgMSldIDw8IDQpIHxcbiAgICAgIChyZXZMb29rdXBbYjY0LmNoYXJDb2RlQXQoaSArIDIpXSA+PiAyKVxuICAgIGFycltjdXJCeXRlKytdID0gKHRtcCA+PiA4KSAmIDB4RkZcbiAgICBhcnJbY3VyQnl0ZSsrXSA9IHRtcCAmIDB4RkZcbiAgfVxuXG4gIHJldHVybiBhcnJcbn1cblxuZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0IChudW0pIHtcbiAgcmV0dXJuIGxvb2t1cFtudW0gPj4gMTggJiAweDNGXSArXG4gICAgbG9va3VwW251bSA+PiAxMiAmIDB4M0ZdICtcbiAgICBsb29rdXBbbnVtID4+IDYgJiAweDNGXSArXG4gICAgbG9va3VwW251bSAmIDB4M0ZdXG59XG5cbmZ1bmN0aW9uIGVuY29kZUNodW5rICh1aW50OCwgc3RhcnQsIGVuZCkge1xuICB2YXIgdG1wXG4gIHZhciBvdXRwdXQgPSBbXVxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7IGkgKz0gMykge1xuICAgIHRtcCA9XG4gICAgICAoKHVpbnQ4W2ldIDw8IDE2KSAmIDB4RkYwMDAwKSArXG4gICAgICAoKHVpbnQ4W2kgKyAxXSA8PCA4KSAmIDB4RkYwMCkgK1xuICAgICAgKHVpbnQ4W2kgKyAyXSAmIDB4RkYpXG4gICAgb3V0cHV0LnB1c2godHJpcGxldFRvQmFzZTY0KHRtcCkpXG4gIH1cbiAgcmV0dXJuIG91dHB1dC5qb2luKCcnKVxufVxuXG5mdW5jdGlvbiBmcm9tQnl0ZUFycmF5ICh1aW50OCkge1xuICB2YXIgdG1wXG4gIHZhciBsZW4gPSB1aW50OC5sZW5ndGhcbiAgdmFyIGV4dHJhQnl0ZXMgPSBsZW4gJSAzIC8vIGlmIHdlIGhhdmUgMSBieXRlIGxlZnQsIHBhZCAyIGJ5dGVzXG4gIHZhciBwYXJ0cyA9IFtdXG4gIHZhciBtYXhDaHVua0xlbmd0aCA9IDE2MzgzIC8vIG11c3QgYmUgbXVsdGlwbGUgb2YgM1xuXG4gIC8vIGdvIHRocm91Z2ggdGhlIGFycmF5IGV2ZXJ5IHRocmVlIGJ5dGVzLCB3ZSdsbCBkZWFsIHdpdGggdHJhaWxpbmcgc3R1ZmYgbGF0ZXJcbiAgZm9yICh2YXIgaSA9IDAsIGxlbjIgPSBsZW4gLSBleHRyYUJ5dGVzOyBpIDwgbGVuMjsgaSArPSBtYXhDaHVua0xlbmd0aCkge1xuICAgIHBhcnRzLnB1c2goZW5jb2RlQ2h1bmsodWludDgsIGksIChpICsgbWF4Q2h1bmtMZW5ndGgpID4gbGVuMiA/IGxlbjIgOiAoaSArIG1heENodW5rTGVuZ3RoKSkpXG4gIH1cblxuICAvLyBwYWQgdGhlIGVuZCB3aXRoIHplcm9zLCBidXQgbWFrZSBzdXJlIHRvIG5vdCBmb3JnZXQgdGhlIGV4dHJhIGJ5dGVzXG4gIGlmIChleHRyYUJ5dGVzID09PSAxKSB7XG4gICAgdG1wID0gdWludDhbbGVuIC0gMV1cbiAgICBwYXJ0cy5wdXNoKFxuICAgICAgbG9va3VwW3RtcCA+PiAyXSArXG4gICAgICBsb29rdXBbKHRtcCA8PCA0KSAmIDB4M0ZdICtcbiAgICAgICc9PSdcbiAgICApXG4gIH0gZWxzZSBpZiAoZXh0cmFCeXRlcyA9PT0gMikge1xuICAgIHRtcCA9ICh1aW50OFtsZW4gLSAyXSA8PCA4KSArIHVpbnQ4W2xlbiAtIDFdXG4gICAgcGFydHMucHVzaChcbiAgICAgIGxvb2t1cFt0bXAgPj4gMTBdICtcbiAgICAgIGxvb2t1cFsodG1wID4+IDQpICYgMHgzRl0gK1xuICAgICAgbG9va3VwWyh0bXAgPDwgMikgJiAweDNGXSArXG4gICAgICAnPSdcbiAgICApXG4gIH1cblxuICByZXR1cm4gcGFydHMuam9pbignJylcbn1cbiIsIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNvbnN0YW50cztcbihmdW5jdGlvbiAoY29uc3RhbnRzKSB7XG4gICAgY29uc3RhbnRzLnR5cGVPZkZ1bmN0aW9uID0gJ2Z1bmN0aW9uJztcbiAgICBjb25zdGFudHMuYm9vbFRydWUgPSB0cnVlO1xufSkoY29uc3RhbnRzIHx8IChjb25zdGFudHMgPSB7fSkpO1xuZnVuY3Rpb24gYmluZCh0YXJnZXQsIHByb3BlcnR5S2V5LCBkZXNjcmlwdG9yKSB7XG4gICAgaWYgKCFkZXNjcmlwdG9yIHx8ICh0eXBlb2YgZGVzY3JpcHRvci52YWx1ZSAhPT0gY29uc3RhbnRzLnR5cGVPZkZ1bmN0aW9uKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT25seSBtZXRob2RzIGNhbiBiZSBkZWNvcmF0ZWQgd2l0aCBAYmluZC4gPFwiICsgcHJvcGVydHlLZXkgKyBcIj4gaXMgbm90IGEgbWV0aG9kIVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGJvdW5kID0gZGVzY3JpcHRvci52YWx1ZS5iaW5kKHRoaXMpO1xuICAgICAgICAgICAgLy8gQ3JlZGl0cyB0byBodHRwczovL2dpdGh1Yi5jb20vYW5kcmV5cG9wcC9hdXRvYmluZC1kZWNvcmF0b3IgZm9yIG1lbW9pemluZyB0aGUgcmVzdWx0IG9mIGJpbmQgYWdhaW5zdCBhIHN5bWJvbCBvbiB0aGUgaW5zdGFuY2UuXG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcGVydHlLZXksIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogYm91bmQsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBjb25zdGFudHMuYm9vbFRydWUsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IGNvbnN0YW50cy5ib29sVHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gYm91bmQ7XG4gICAgICAgIH1cbiAgICB9O1xufVxuZXhwb3J0cy5iaW5kID0gYmluZDtcbmV4cG9ydHMuZGVmYXVsdCA9IGJpbmQ7XG4iLCIoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykge1xuICAndXNlIHN0cmljdCc7XG5cbiAgLy8gVXRpbHNcbiAgZnVuY3Rpb24gYXNzZXJ0ICh2YWwsIG1zZykge1xuICAgIGlmICghdmFsKSB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XG4gIH1cblxuICAvLyBDb3VsZCB1c2UgYGluaGVyaXRzYCBtb2R1bGUsIGJ1dCBkb24ndCB3YW50IHRvIG1vdmUgZnJvbSBzaW5nbGUgZmlsZVxuICAvLyBhcmNoaXRlY3R1cmUgeWV0LlxuICBmdW5jdGlvbiBpbmhlcml0cyAoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3I7XG4gICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge307XG4gICAgVGVtcEN0b3IucHJvdG90eXBlID0gc3VwZXJDdG9yLnByb3RvdHlwZTtcbiAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpO1xuICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvcjtcbiAgfVxuXG4gIC8vIEJOXG5cbiAgZnVuY3Rpb24gQk4gKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgaWYgKEJOLmlzQk4obnVtYmVyKSkge1xuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG5cbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICB0aGlzLndvcmRzID0gbnVsbDtcbiAgICB0aGlzLmxlbmd0aCA9IDA7XG5cbiAgICAvLyBSZWR1Y3Rpb24gY29udGV4dFxuICAgIHRoaXMucmVkID0gbnVsbDtcblxuICAgIGlmIChudW1iZXIgIT09IG51bGwpIHtcbiAgICAgIGlmIChiYXNlID09PSAnbGUnIHx8IGJhc2UgPT09ICdiZScpIHtcbiAgICAgICAgZW5kaWFuID0gYmFzZTtcbiAgICAgICAgYmFzZSA9IDEwO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pbml0KG51bWJlciB8fCAwLCBiYXNlIHx8IDEwLCBlbmRpYW4gfHwgJ2JlJyk7XG4gICAgfVxuICB9XG4gIGlmICh0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jykge1xuICAgIG1vZHVsZS5leHBvcnRzID0gQk47XG4gIH0gZWxzZSB7XG4gICAgZXhwb3J0cy5CTiA9IEJOO1xuICB9XG5cbiAgQk4uQk4gPSBCTjtcbiAgQk4ud29yZFNpemUgPSAyNjtcblxuICB2YXIgQnVmZmVyO1xuICB0cnkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LkJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIEJ1ZmZlciA9IHdpbmRvdy5CdWZmZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIEJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpLkJ1ZmZlcjtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxuXG4gIEJOLmlzQk4gPSBmdW5jdGlvbiBpc0JOIChudW0pIHtcbiAgICBpZiAobnVtIGluc3RhbmNlb2YgQk4pIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBudW0gIT09IG51bGwgJiYgdHlwZW9mIG51bSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIG51bS5jb25zdHJ1Y3Rvci53b3JkU2l6ZSA9PT0gQk4ud29yZFNpemUgJiYgQXJyYXkuaXNBcnJheShudW0ud29yZHMpO1xuICB9O1xuXG4gIEJOLm1heCA9IGZ1bmN0aW9uIG1heCAobGVmdCwgcmlnaHQpIHtcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpID4gMCkgcmV0dXJuIGxlZnQ7XG4gICAgcmV0dXJuIHJpZ2h0O1xuICB9O1xuXG4gIEJOLm1pbiA9IGZ1bmN0aW9uIG1pbiAobGVmdCwgcmlnaHQpIHtcbiAgICBpZiAobGVmdC5jbXAocmlnaHQpIDwgMCkgcmV0dXJuIGxlZnQ7XG4gICAgcmV0dXJuIHJpZ2h0O1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIGluaXQgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5pdE51bWJlcihudW1iZXIsIGJhc2UsIGVuZGlhbik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBudW1iZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gdGhpcy5faW5pdEFycmF5KG51bWJlciwgYmFzZSwgZW5kaWFuKTtcbiAgICB9XG5cbiAgICBpZiAoYmFzZSA9PT0gJ2hleCcpIHtcbiAgICAgIGJhc2UgPSAxNjtcbiAgICB9XG4gICAgYXNzZXJ0KGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpO1xuXG4gICAgbnVtYmVyID0gbnVtYmVyLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxzKy9nLCAnJyk7XG4gICAgdmFyIHN0YXJ0ID0gMDtcbiAgICBpZiAobnVtYmVyWzBdID09PSAnLScpIHtcbiAgICAgIHN0YXJ0Kys7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICB9XG5cbiAgICBpZiAoc3RhcnQgPCBudW1iZXIubGVuZ3RoKSB7XG4gICAgICBpZiAoYmFzZSA9PT0gMTYpIHtcbiAgICAgICAgdGhpcy5fcGFyc2VIZXgobnVtYmVyLCBzdGFydCwgZW5kaWFuKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3BhcnNlQmFzZShudW1iZXIsIGJhc2UsIHN0YXJ0KTtcbiAgICAgICAgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xuICAgICAgICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2luaXROdW1iZXIgPSBmdW5jdGlvbiBfaW5pdE51bWJlciAobnVtYmVyLCBiYXNlLCBlbmRpYW4pIHtcbiAgICBpZiAobnVtYmVyIDwgMCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICBudW1iZXIgPSAtbnVtYmVyO1xuICAgIH1cbiAgICBpZiAobnVtYmVyIDwgMHg0MDAwMDAwKSB7XG4gICAgICB0aGlzLndvcmRzID0gW251bWJlciAmIDB4M2ZmZmZmZl07XG4gICAgICB0aGlzLmxlbmd0aCA9IDE7XG4gICAgfSBlbHNlIGlmIChudW1iZXIgPCAweDEwMDAwMDAwMDAwMDAwKSB7XG4gICAgICB0aGlzLndvcmRzID0gW1xuICAgICAgICBudW1iZXIgJiAweDNmZmZmZmYsXG4gICAgICAgIChudW1iZXIgLyAweDQwMDAwMDApICYgMHgzZmZmZmZmXG4gICAgICBdO1xuICAgICAgdGhpcy5sZW5ndGggPSAyO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQobnVtYmVyIDwgMHgyMDAwMDAwMDAwMDAwMCk7IC8vIDIgXiA1MyAodW5zYWZlKVxuICAgICAgdGhpcy53b3JkcyA9IFtcbiAgICAgICAgbnVtYmVyICYgMHgzZmZmZmZmLFxuICAgICAgICAobnVtYmVyIC8gMHg0MDAwMDAwKSAmIDB4M2ZmZmZmZixcbiAgICAgICAgMVxuICAgICAgXTtcbiAgICAgIHRoaXMubGVuZ3RoID0gMztcbiAgICB9XG5cbiAgICBpZiAoZW5kaWFuICE9PSAnbGUnKSByZXR1cm47XG5cbiAgICAvLyBSZXZlcnNlIHRoZSBieXRlc1xuICAgIHRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSwgYmFzZSwgZW5kaWFuKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX2luaXRBcnJheSA9IGZ1bmN0aW9uIF9pbml0QXJyYXkgKG51bWJlciwgYmFzZSwgZW5kaWFuKSB7XG4gICAgLy8gUGVyaGFwcyBhIFVpbnQ4QXJyYXlcbiAgICBhc3NlcnQodHlwZW9mIG51bWJlci5sZW5ndGggPT09ICdudW1iZXInKTtcbiAgICBpZiAobnVtYmVyLmxlbmd0aCA8PSAwKSB7XG4gICAgICB0aGlzLndvcmRzID0gWzBdO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwobnVtYmVyLmxlbmd0aCAvIDMpO1xuICAgIHRoaXMud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XG4gICAgfVxuXG4gICAgdmFyIGosIHc7XG4gICAgdmFyIG9mZiA9IDA7XG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDEsIGogPSAwOyBpID49IDA7IGkgLT0gMykge1xuICAgICAgICB3ID0gbnVtYmVyW2ldIHwgKG51bWJlcltpIC0gMV0gPDwgOCkgfCAobnVtYmVyW2kgLSAyXSA8PCAxNik7XG4gICAgICAgIHRoaXMud29yZHNbal0gfD0gKHcgPDwgb2ZmKSAmIDB4M2ZmZmZmZjtcbiAgICAgICAgdGhpcy53b3Jkc1tqICsgMV0gPSAodyA+Pj4gKDI2IC0gb2ZmKSkgJiAweDNmZmZmZmY7XG4gICAgICAgIG9mZiArPSAyNDtcbiAgICAgICAgaWYgKG9mZiA+PSAyNikge1xuICAgICAgICAgIG9mZiAtPSAyNjtcbiAgICAgICAgICBqKys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGVuZGlhbiA9PT0gJ2xlJykge1xuICAgICAgZm9yIChpID0gMCwgaiA9IDA7IGkgPCBudW1iZXIubGVuZ3RoOyBpICs9IDMpIHtcbiAgICAgICAgdyA9IG51bWJlcltpXSB8IChudW1iZXJbaSArIDFdIDw8IDgpIHwgKG51bWJlcltpICsgMl0gPDwgMTYpO1xuICAgICAgICB0aGlzLndvcmRzW2pdIHw9ICh3IDw8IG9mZikgJiAweDNmZmZmZmY7XG4gICAgICAgIHRoaXMud29yZHNbaiArIDFdID0gKHcgPj4+ICgyNiAtIG9mZikpICYgMHgzZmZmZmZmO1xuICAgICAgICBvZmYgKz0gMjQ7XG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcbiAgICAgICAgICBvZmYgLT0gMjY7XG4gICAgICAgICAgaisrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHBhcnNlSGV4NEJpdHMgKHN0cmluZywgaW5kZXgpIHtcbiAgICB2YXIgYyA9IHN0cmluZy5jaGFyQ29kZUF0KGluZGV4KTtcbiAgICAvLyAnMCcgLSAnOSdcbiAgICBpZiAoYyA+PSA0OCAmJiBjIDw9IDU3KSB7XG4gICAgICByZXR1cm4gYyAtIDQ4O1xuICAgIC8vICdBJyAtICdGJ1xuICAgIH0gZWxzZSBpZiAoYyA+PSA2NSAmJiBjIDw9IDcwKSB7XG4gICAgICByZXR1cm4gYyAtIDU1O1xuICAgIC8vICdhJyAtICdmJ1xuICAgIH0gZWxzZSBpZiAoYyA+PSA5NyAmJiBjIDw9IDEwMikge1xuICAgICAgcmV0dXJuIGMgLSA4NztcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0KGZhbHNlLCAnSW52YWxpZCBjaGFyYWN0ZXIgaW4gJyArIHN0cmluZyk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VIZXhCeXRlIChzdHJpbmcsIGxvd2VyQm91bmQsIGluZGV4KSB7XG4gICAgdmFyIHIgPSBwYXJzZUhleDRCaXRzKHN0cmluZywgaW5kZXgpO1xuICAgIGlmIChpbmRleCAtIDEgPj0gbG93ZXJCb3VuZCkge1xuICAgICAgciB8PSBwYXJzZUhleDRCaXRzKHN0cmluZywgaW5kZXggLSAxKSA8PCA0O1xuICAgIH1cbiAgICByZXR1cm4gcjtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VIZXggPSBmdW5jdGlvbiBfcGFyc2VIZXggKG51bWJlciwgc3RhcnQsIGVuZGlhbikge1xuICAgIC8vIENyZWF0ZSBwb3NzaWJseSBiaWdnZXIgYXJyYXkgdG8gZW5zdXJlIHRoYXQgaXQgZml0cyB0aGUgbnVtYmVyXG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLmNlaWwoKG51bWJlci5sZW5ndGggLSBzdGFydCkgLyA2KTtcbiAgICB0aGlzLndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSAwO1xuICAgIH1cblxuICAgIC8vIDI0LWJpdHMgY2h1bmtzXG4gICAgdmFyIG9mZiA9IDA7XG4gICAgdmFyIGogPSAwO1xuXG4gICAgdmFyIHc7XG4gICAgaWYgKGVuZGlhbiA9PT0gJ2JlJykge1xuICAgICAgZm9yIChpID0gbnVtYmVyLmxlbmd0aCAtIDE7IGkgPj0gc3RhcnQ7IGkgLT0gMikge1xuICAgICAgICB3ID0gcGFyc2VIZXhCeXRlKG51bWJlciwgc3RhcnQsIGkpIDw8IG9mZjtcbiAgICAgICAgdGhpcy53b3Jkc1tqXSB8PSB3ICYgMHgzZmZmZmZmO1xuICAgICAgICBpZiAob2ZmID49IDE4KSB7XG4gICAgICAgICAgb2ZmIC09IDE4O1xuICAgICAgICAgIGogKz0gMTtcbiAgICAgICAgICB0aGlzLndvcmRzW2pdIHw9IHcgPj4+IDI2O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9mZiArPSA4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBwYXJzZUxlbmd0aCA9IG51bWJlci5sZW5ndGggLSBzdGFydDtcbiAgICAgIGZvciAoaSA9IHBhcnNlTGVuZ3RoICUgMiA9PT0gMCA/IHN0YXJ0ICsgMSA6IHN0YXJ0OyBpIDwgbnVtYmVyLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHcgPSBwYXJzZUhleEJ5dGUobnVtYmVyLCBzdGFydCwgaSkgPDwgb2ZmO1xuICAgICAgICB0aGlzLndvcmRzW2pdIHw9IHcgJiAweDNmZmZmZmY7XG4gICAgICAgIGlmIChvZmYgPj0gMTgpIHtcbiAgICAgICAgICBvZmYgLT0gMTg7XG4gICAgICAgICAgaiArPSAxO1xuICAgICAgICAgIHRoaXMud29yZHNbal0gfD0gdyA+Pj4gMjY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2ZmICs9IDg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHBhcnNlQmFzZSAoc3RyLCBzdGFydCwgZW5kLCBtdWwpIHtcbiAgICB2YXIgciA9IDA7XG4gICAgdmFyIGIgPSAwO1xuICAgIHZhciBsZW4gPSBNYXRoLm1pbihzdHIubGVuZ3RoLCBlbmQpO1xuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICB2YXIgYyA9IHN0ci5jaGFyQ29kZUF0KGkpIC0gNDg7XG5cbiAgICAgIHIgKj0gbXVsO1xuXG4gICAgICAvLyAnYSdcbiAgICAgIGlmIChjID49IDQ5KSB7XG4gICAgICAgIGIgPSBjIC0gNDkgKyAweGE7XG5cbiAgICAgIC8vICdBJ1xuICAgICAgfSBlbHNlIGlmIChjID49IDE3KSB7XG4gICAgICAgIGIgPSBjIC0gMTcgKyAweGE7XG5cbiAgICAgIC8vICcwJyAtICc5J1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYiA9IGM7XG4gICAgICB9XG4gICAgICBhc3NlcnQoYyA+PSAwICYmIGIgPCBtdWwsICdJbnZhbGlkIGNoYXJhY3RlcicpO1xuICAgICAgciArPSBiO1xuICAgIH1cbiAgICByZXR1cm4gcjtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5fcGFyc2VCYXNlID0gZnVuY3Rpb24gX3BhcnNlQmFzZSAobnVtYmVyLCBiYXNlLCBzdGFydCkge1xuICAgIC8vIEluaXRpYWxpemUgYXMgemVyb1xuICAgIHRoaXMud29yZHMgPSBbMF07XG4gICAgdGhpcy5sZW5ndGggPSAxO1xuXG4gICAgLy8gRmluZCBsZW5ndGggb2YgbGltYiBpbiBiYXNlXG4gICAgZm9yICh2YXIgbGltYkxlbiA9IDAsIGxpbWJQb3cgPSAxOyBsaW1iUG93IDw9IDB4M2ZmZmZmZjsgbGltYlBvdyAqPSBiYXNlKSB7XG4gICAgICBsaW1iTGVuKys7XG4gICAgfVxuICAgIGxpbWJMZW4tLTtcbiAgICBsaW1iUG93ID0gKGxpbWJQb3cgLyBiYXNlKSB8IDA7XG5cbiAgICB2YXIgdG90YWwgPSBudW1iZXIubGVuZ3RoIC0gc3RhcnQ7XG4gICAgdmFyIG1vZCA9IHRvdGFsICUgbGltYkxlbjtcbiAgICB2YXIgZW5kID0gTWF0aC5taW4odG90YWwsIHRvdGFsIC0gbW9kKSArIHN0YXJ0O1xuXG4gICAgdmFyIHdvcmQgPSAwO1xuICAgIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSBsaW1iTGVuKSB7XG4gICAgICB3b3JkID0gcGFyc2VCYXNlKG51bWJlciwgaSwgaSArIGxpbWJMZW4sIGJhc2UpO1xuXG4gICAgICB0aGlzLmltdWxuKGxpbWJQb3cpO1xuICAgICAgaWYgKHRoaXMud29yZHNbMF0gKyB3b3JkIDwgMHg0MDAwMDAwKSB7XG4gICAgICAgIHRoaXMud29yZHNbMF0gKz0gd29yZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX2lhZGRuKHdvcmQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtb2QgIT09IDApIHtcbiAgICAgIHZhciBwb3cgPSAxO1xuICAgICAgd29yZCA9IHBhcnNlQmFzZShudW1iZXIsIGksIG51bWJlci5sZW5ndGgsIGJhc2UpO1xuXG4gICAgICBmb3IgKGkgPSAwOyBpIDwgbW9kOyBpKyspIHtcbiAgICAgICAgcG93ICo9IGJhc2U7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW11bG4ocG93KTtcbiAgICAgIGlmICh0aGlzLndvcmRzWzBdICsgd29yZCA8IDB4NDAwMDAwMCkge1xuICAgICAgICB0aGlzLndvcmRzWzBdICs9IHdvcmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pYWRkbih3b3JkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAoZGVzdCkge1xuICAgIGRlc3Qud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgZGVzdC53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XG4gICAgfVxuICAgIGRlc3QubGVuZ3RoID0gdGhpcy5sZW5ndGg7XG4gICAgZGVzdC5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmU7XG4gICAgZGVzdC5yZWQgPSB0aGlzLnJlZDtcbiAgfTtcblxuICBmdW5jdGlvbiBtb3ZlIChkZXN0LCBzcmMpIHtcbiAgICBkZXN0LndvcmRzID0gc3JjLndvcmRzO1xuICAgIGRlc3QubGVuZ3RoID0gc3JjLmxlbmd0aDtcbiAgICBkZXN0Lm5lZ2F0aXZlID0gc3JjLm5lZ2F0aXZlO1xuICAgIGRlc3QucmVkID0gc3JjLnJlZDtcbiAgfVxuXG4gIEJOLnByb3RvdHlwZS5fbW92ZSA9IGZ1bmN0aW9uIF9tb3ZlIChkZXN0KSB7XG4gICAgbW92ZShkZXN0LCB0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuY2xvbmUgPSBmdW5jdGlvbiBjbG9uZSAoKSB7XG4gICAgdmFyIHIgPSBuZXcgQk4obnVsbCk7XG4gICAgdGhpcy5jb3B5KHIpO1xuICAgIHJldHVybiByO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5fZXhwYW5kID0gZnVuY3Rpb24gX2V4cGFuZCAoc2l6ZSkge1xuICAgIHdoaWxlICh0aGlzLmxlbmd0aCA8IHNpemUpIHtcbiAgICAgIHRoaXMud29yZHNbdGhpcy5sZW5ndGgrK10gPSAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBSZW1vdmUgbGVhZGluZyBgMGAgZnJvbSBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLl9zdHJpcCA9IGZ1bmN0aW9uIHN0cmlwICgpIHtcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPiAxICYmIHRoaXMud29yZHNbdGhpcy5sZW5ndGggLSAxXSA9PT0gMCkge1xuICAgICAgdGhpcy5sZW5ndGgtLTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX25vcm1TaWduKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl9ub3JtU2lnbiA9IGZ1bmN0aW9uIF9ub3JtU2lnbiAoKSB7XG4gICAgLy8gLTAgPSAwXG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxICYmIHRoaXMud29yZHNbMF0gPT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBDaGVjayBTeW1ib2wuZm9yIGJlY2F1c2Ugbm90IGV2ZXJ5d2hlcmUgd2hlcmUgU3ltYm9sIGRlZmluZWRcbiAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N5bWJvbCNCcm93c2VyX2NvbXBhdGliaWxpdHlcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBTeW1ib2wuZm9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIEJOLnByb3RvdHlwZVtTeW1ib2wuZm9yKCdub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbScpXSA9IGluc3BlY3Q7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgQk4ucHJvdG90eXBlLmluc3BlY3QgPSBpbnNwZWN0O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBCTi5wcm90b3R5cGUuaW5zcGVjdCA9IGluc3BlY3Q7XG4gIH1cblxuICBmdW5jdGlvbiBpbnNwZWN0ICgpIHtcbiAgICByZXR1cm4gKHRoaXMucmVkID8gJzxCTi1SOiAnIDogJzxCTjogJykgKyB0aGlzLnRvU3RyaW5nKDE2KSArICc+JztcbiAgfVxuXG4gIC8qXG5cbiAgdmFyIHplcm9zID0gW107XG4gIHZhciBncm91cFNpemVzID0gW107XG4gIHZhciBncm91cEJhc2VzID0gW107XG5cbiAgdmFyIHMgPSAnJztcbiAgdmFyIGkgPSAtMTtcbiAgd2hpbGUgKCsraSA8IEJOLndvcmRTaXplKSB7XG4gICAgemVyb3NbaV0gPSBzO1xuICAgIHMgKz0gJzAnO1xuICB9XG4gIGdyb3VwU2l6ZXNbMF0gPSAwO1xuICBncm91cFNpemVzWzFdID0gMDtcbiAgZ3JvdXBCYXNlc1swXSA9IDA7XG4gIGdyb3VwQmFzZXNbMV0gPSAwO1xuICB2YXIgYmFzZSA9IDIgLSAxO1xuICB3aGlsZSAoKytiYXNlIDwgMzYgKyAxKSB7XG4gICAgdmFyIGdyb3VwU2l6ZSA9IDA7XG4gICAgdmFyIGdyb3VwQmFzZSA9IDE7XG4gICAgd2hpbGUgKGdyb3VwQmFzZSA8ICgxIDw8IEJOLndvcmRTaXplKSAvIGJhc2UpIHtcbiAgICAgIGdyb3VwQmFzZSAqPSBiYXNlO1xuICAgICAgZ3JvdXBTaXplICs9IDE7XG4gICAgfVxuICAgIGdyb3VwU2l6ZXNbYmFzZV0gPSBncm91cFNpemU7XG4gICAgZ3JvdXBCYXNlc1tiYXNlXSA9IGdyb3VwQmFzZTtcbiAgfVxuXG4gICovXG5cbiAgdmFyIHplcm9zID0gW1xuICAgICcnLFxuICAgICcwJyxcbiAgICAnMDAnLFxuICAgICcwMDAnLFxuICAgICcwMDAwJyxcbiAgICAnMDAwMDAnLFxuICAgICcwMDAwMDAnLFxuICAgICcwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAnMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ1xuICBdO1xuXG4gIHZhciBncm91cFNpemVzID0gW1xuICAgIDAsIDAsXG4gICAgMjUsIDE2LCAxMiwgMTEsIDEwLCA5LCA4LFxuICAgIDgsIDcsIDcsIDcsIDcsIDYsIDYsXG4gICAgNiwgNiwgNiwgNiwgNiwgNSwgNSxcbiAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LFxuICAgIDUsIDUsIDUsIDUsIDUsIDUsIDVcbiAgXTtcblxuICB2YXIgZ3JvdXBCYXNlcyA9IFtcbiAgICAwLCAwLFxuICAgIDMzNTU0NDMyLCA0MzA0NjcyMSwgMTY3NzcyMTYsIDQ4ODI4MTI1LCA2MDQ2NjE3NiwgNDAzNTM2MDcsIDE2Nzc3MjE2LFxuICAgIDQzMDQ2NzIxLCAxMDAwMDAwMCwgMTk0ODcxNzEsIDM1ODMxODA4LCA2Mjc0ODUxNywgNzUyOTUzNiwgMTEzOTA2MjUsXG4gICAgMTY3NzcyMTYsIDI0MTM3NTY5LCAzNDAxMjIyNCwgNDcwNDU4ODEsIDY0MDAwMDAwLCA0MDg0MTAxLCA1MTUzNjMyLFxuICAgIDY0MzYzNDMsIDc5NjI2MjQsIDk3NjU2MjUsIDExODgxMzc2LCAxNDM0ODkwNywgMTcyMTAzNjgsIDIwNTExMTQ5LFxuICAgIDI0MzAwMDAwLCAyODYyOTE1MSwgMzM1NTQ0MzIsIDM5MTM1MzkzLCA0NTQzNTQyNCwgNTI1MjE4NzUsIDYwNDY2MTc2XG4gIF07XG5cbiAgQk4ucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGJhc2UsIHBhZGRpbmcpIHtcbiAgICBiYXNlID0gYmFzZSB8fCAxMDtcbiAgICBwYWRkaW5nID0gcGFkZGluZyB8IDAgfHwgMTtcblxuICAgIHZhciBvdXQ7XG4gICAgaWYgKGJhc2UgPT09IDE2IHx8IGJhc2UgPT09ICdoZXgnKSB7XG4gICAgICBvdXQgPSAnJztcbiAgICAgIHZhciBvZmYgPSAwO1xuICAgICAgdmFyIGNhcnJ5ID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV07XG4gICAgICAgIHZhciB3b3JkID0gKCgodyA8PCBvZmYpIHwgY2FycnkpICYgMHhmZmZmZmYpLnRvU3RyaW5nKDE2KTtcbiAgICAgICAgY2FycnkgPSAodyA+Pj4gKDI0IC0gb2ZmKSkgJiAweGZmZmZmZjtcbiAgICAgICAgaWYgKGNhcnJ5ICE9PSAwIHx8IGkgIT09IHRoaXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIG91dCA9IHplcm9zWzYgLSB3b3JkLmxlbmd0aF0gKyB3b3JkICsgb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG91dCA9IHdvcmQgKyBvdXQ7XG4gICAgICAgIH1cbiAgICAgICAgb2ZmICs9IDI7XG4gICAgICAgIGlmIChvZmYgPj0gMjYpIHtcbiAgICAgICAgICBvZmYgLT0gMjY7XG4gICAgICAgICAgaS0tO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgICAgb3V0ID0gY2FycnkudG9TdHJpbmcoMTYpICsgb3V0O1xuICAgICAgfVxuICAgICAgd2hpbGUgKG91dC5sZW5ndGggJSBwYWRkaW5nICE9PSAwKSB7XG4gICAgICAgIG91dCA9ICcwJyArIG91dDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgIG91dCA9ICctJyArIG91dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuXG4gICAgaWYgKGJhc2UgPT09IChiYXNlIHwgMCkgJiYgYmFzZSA+PSAyICYmIGJhc2UgPD0gMzYpIHtcbiAgICAgIC8vIHZhciBncm91cFNpemUgPSBNYXRoLmZsb29yKEJOLndvcmRTaXplICogTWF0aC5MTjIgLyBNYXRoLmxvZyhiYXNlKSk7XG4gICAgICB2YXIgZ3JvdXBTaXplID0gZ3JvdXBTaXplc1tiYXNlXTtcbiAgICAgIC8vIHZhciBncm91cEJhc2UgPSBNYXRoLnBvdyhiYXNlLCBncm91cFNpemUpO1xuICAgICAgdmFyIGdyb3VwQmFzZSA9IGdyb3VwQmFzZXNbYmFzZV07XG4gICAgICBvdXQgPSAnJztcbiAgICAgIHZhciBjID0gdGhpcy5jbG9uZSgpO1xuICAgICAgYy5uZWdhdGl2ZSA9IDA7XG4gICAgICB3aGlsZSAoIWMuaXNaZXJvKCkpIHtcbiAgICAgICAgdmFyIHIgPSBjLm1vZHJuKGdyb3VwQmFzZSkudG9TdHJpbmcoYmFzZSk7XG4gICAgICAgIGMgPSBjLmlkaXZuKGdyb3VwQmFzZSk7XG5cbiAgICAgICAgaWYgKCFjLmlzWmVybygpKSB7XG4gICAgICAgICAgb3V0ID0gemVyb3NbZ3JvdXBTaXplIC0gci5sZW5ndGhdICsgciArIG91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvdXQgPSByICsgb3V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5pc1plcm8oKSkge1xuICAgICAgICBvdXQgPSAnMCcgKyBvdXQ7XG4gICAgICB9XG4gICAgICB3aGlsZSAob3V0Lmxlbmd0aCAlIHBhZGRpbmcgIT09IDApIHtcbiAgICAgICAgb3V0ID0gJzAnICsgb3V0O1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcbiAgICAgICAgb3V0ID0gJy0nICsgb3V0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIG91dDtcbiAgICB9XG5cbiAgICBhc3NlcnQoZmFsc2UsICdCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Jyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnRvTnVtYmVyID0gZnVuY3Rpb24gdG9OdW1iZXIgKCkge1xuICAgIHZhciByZXQgPSB0aGlzLndvcmRzWzBdO1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0ICs9IHRoaXMud29yZHNbMV0gKiAweDQwMDAwMDA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aCA9PT0gMyAmJiB0aGlzLndvcmRzWzJdID09PSAweDAxKSB7XG4gICAgICAvLyBOT1RFOiBhdCB0aGlzIHN0YWdlIGl0IGlzIGtub3duIHRoYXQgdGhlIHRvcCBiaXQgaXMgc2V0XG4gICAgICByZXQgKz0gMHgxMDAwMDAwMDAwMDAwMCArICh0aGlzLndvcmRzWzFdICogMHg0MDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoID4gMikge1xuICAgICAgYXNzZXJ0KGZhbHNlLCAnTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzJyk7XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5uZWdhdGl2ZSAhPT0gMCkgPyAtcmV0IDogcmV0O1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04gKCkge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKDE2LCAyKTtcbiAgfTtcblxuICBpZiAoQnVmZmVyKSB7XG4gICAgQk4ucHJvdG90eXBlLnRvQnVmZmVyID0gZnVuY3Rpb24gdG9CdWZmZXIgKGVuZGlhbiwgbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhpcy50b0FycmF5TGlrZShCdWZmZXIsIGVuZGlhbiwgbGVuZ3RoKTtcbiAgICB9O1xuICB9XG5cbiAgQk4ucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbiB0b0FycmF5IChlbmRpYW4sIGxlbmd0aCkge1xuICAgIHJldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LCBlbmRpYW4sIGxlbmd0aCk7XG4gIH07XG5cbiAgdmFyIGFsbG9jYXRlID0gZnVuY3Rpb24gYWxsb2NhdGUgKEFycmF5VHlwZSwgc2l6ZSkge1xuICAgIGlmIChBcnJheVR5cGUuYWxsb2NVbnNhZmUpIHtcbiAgICAgIHJldHVybiBBcnJheVR5cGUuYWxsb2NVbnNhZmUoc2l6ZSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQXJyYXlUeXBlKHNpemUpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b0FycmF5TGlrZSA9IGZ1bmN0aW9uIHRvQXJyYXlMaWtlIChBcnJheVR5cGUsIGVuZGlhbiwgbGVuZ3RoKSB7XG4gICAgdGhpcy5fc3RyaXAoKTtcblxuICAgIHZhciBieXRlTGVuZ3RoID0gdGhpcy5ieXRlTGVuZ3RoKCk7XG4gICAgdmFyIHJlcUxlbmd0aCA9IGxlbmd0aCB8fCBNYXRoLm1heCgxLCBieXRlTGVuZ3RoKTtcbiAgICBhc3NlcnQoYnl0ZUxlbmd0aCA8PSByZXFMZW5ndGgsICdieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoJyk7XG4gICAgYXNzZXJ0KHJlcUxlbmd0aCA+IDAsICdSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAnKTtcblxuICAgIHZhciByZXMgPSBhbGxvY2F0ZShBcnJheVR5cGUsIHJlcUxlbmd0aCk7XG4gICAgdmFyIHBvc3RmaXggPSBlbmRpYW4gPT09ICdsZScgPyAnTEUnIDogJ0JFJztcbiAgICB0aGlzWydfdG9BcnJheUxpa2UnICsgcG9zdGZpeF0ocmVzLCBieXRlTGVuZ3RoKTtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5fdG9BcnJheUxpa2VMRSA9IGZ1bmN0aW9uIF90b0FycmF5TGlrZUxFIChyZXMsIGJ5dGVMZW5ndGgpIHtcbiAgICB2YXIgcG9zaXRpb24gPSAwO1xuICAgIHZhciBjYXJyeSA9IDA7XG5cbiAgICBmb3IgKHZhciBpID0gMCwgc2hpZnQgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHdvcmQgPSAodGhpcy53b3Jkc1tpXSA8PCBzaGlmdCkgfCBjYXJyeTtcblxuICAgICAgcmVzW3Bvc2l0aW9uKytdID0gd29yZCAmIDB4ZmY7XG4gICAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbisrXSA9ICh3b3JkID4+IDgpICYgMHhmZjtcbiAgICAgIH1cbiAgICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmVzW3Bvc2l0aW9uKytdID0gKHdvcmQgPj4gMTYpICYgMHhmZjtcbiAgICAgIH1cblxuICAgICAgaWYgKHNoaWZ0ID09PSA2KSB7XG4gICAgICAgIGlmIChwb3NpdGlvbiA8IHJlcy5sZW5ndGgpIHtcbiAgICAgICAgICByZXNbcG9zaXRpb24rK10gPSAod29yZCA+PiAyNCkgJiAweGZmO1xuICAgICAgICB9XG4gICAgICAgIGNhcnJ5ID0gMDtcbiAgICAgICAgc2hpZnQgPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FycnkgPSB3b3JkID4+PiAyNDtcbiAgICAgICAgc2hpZnQgKz0gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPCByZXMubGVuZ3RoKSB7XG4gICAgICByZXNbcG9zaXRpb24rK10gPSBjYXJyeTtcblxuICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgcmVzLmxlbmd0aCkge1xuICAgICAgICByZXNbcG9zaXRpb24rK10gPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX3RvQXJyYXlMaWtlQkUgPSBmdW5jdGlvbiBfdG9BcnJheUxpa2VCRSAocmVzLCBieXRlTGVuZ3RoKSB7XG4gICAgdmFyIHBvc2l0aW9uID0gcmVzLmxlbmd0aCAtIDE7XG4gICAgdmFyIGNhcnJ5ID0gMDtcblxuICAgIGZvciAodmFyIGkgPSAwLCBzaGlmdCA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgd29yZCA9ICh0aGlzLndvcmRzW2ldIDw8IHNoaWZ0KSB8IGNhcnJ5O1xuXG4gICAgICByZXNbcG9zaXRpb24tLV0gPSB3b3JkICYgMHhmZjtcbiAgICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbi0tXSA9ICh3b3JkID4+IDgpICYgMHhmZjtcbiAgICAgIH1cbiAgICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICAgIHJlc1twb3NpdGlvbi0tXSA9ICh3b3JkID4+IDE2KSAmIDB4ZmY7XG4gICAgICB9XG5cbiAgICAgIGlmIChzaGlmdCA9PT0gNikge1xuICAgICAgICBpZiAocG9zaXRpb24gPj0gMCkge1xuICAgICAgICAgIHJlc1twb3NpdGlvbi0tXSA9ICh3b3JkID4+IDI0KSAmIDB4ZmY7XG4gICAgICAgIH1cbiAgICAgICAgY2FycnkgPSAwO1xuICAgICAgICBzaGlmdCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYXJyeSA9IHdvcmQgPj4+IDI0O1xuICAgICAgICBzaGlmdCArPSAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwb3NpdGlvbiA+PSAwKSB7XG4gICAgICByZXNbcG9zaXRpb24tLV0gPSBjYXJyeTtcblxuICAgICAgd2hpbGUgKHBvc2l0aW9uID49IDApIHtcbiAgICAgICAgcmVzW3Bvc2l0aW9uLS1dID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgaWYgKE1hdGguY2x6MzIpIHtcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcbiAgICAgIHJldHVybiAzMiAtIE1hdGguY2x6MzIodyk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyA9IGZ1bmN0aW9uIF9jb3VudEJpdHMgKHcpIHtcbiAgICAgIHZhciB0ID0gdztcbiAgICAgIHZhciByID0gMDtcbiAgICAgIGlmICh0ID49IDB4MTAwMCkge1xuICAgICAgICByICs9IDEzO1xuICAgICAgICB0ID4+Pj0gMTM7XG4gICAgICB9XG4gICAgICBpZiAodCA+PSAweDQwKSB7XG4gICAgICAgIHIgKz0gNztcbiAgICAgICAgdCA+Pj49IDc7XG4gICAgICB9XG4gICAgICBpZiAodCA+PSAweDgpIHtcbiAgICAgICAgciArPSA0O1xuICAgICAgICB0ID4+Pj0gNDtcbiAgICAgIH1cbiAgICAgIGlmICh0ID49IDB4MDIpIHtcbiAgICAgICAgciArPSAyO1xuICAgICAgICB0ID4+Pj0gMjtcbiAgICAgIH1cbiAgICAgIHJldHVybiByICsgdDtcbiAgICB9O1xuICB9XG5cbiAgQk4ucHJvdG90eXBlLl96ZXJvQml0cyA9IGZ1bmN0aW9uIF96ZXJvQml0cyAodykge1xuICAgIC8vIFNob3J0LWN1dFxuICAgIGlmICh3ID09PSAwKSByZXR1cm4gMjY7XG5cbiAgICB2YXIgdCA9IHc7XG4gICAgdmFyIHIgPSAwO1xuICAgIGlmICgodCAmIDB4MWZmZikgPT09IDApIHtcbiAgICAgIHIgKz0gMTM7XG4gICAgICB0ID4+Pj0gMTM7XG4gICAgfVxuICAgIGlmICgodCAmIDB4N2YpID09PSAwKSB7XG4gICAgICByICs9IDc7XG4gICAgICB0ID4+Pj0gNztcbiAgICB9XG4gICAgaWYgKCh0ICYgMHhmKSA9PT0gMCkge1xuICAgICAgciArPSA0O1xuICAgICAgdCA+Pj49IDQ7XG4gICAgfVxuICAgIGlmICgodCAmIDB4MykgPT09IDApIHtcbiAgICAgIHIgKz0gMjtcbiAgICAgIHQgPj4+PSAyO1xuICAgIH1cbiAgICBpZiAoKHQgJiAweDEpID09PSAwKSB7XG4gICAgICByKys7XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9O1xuXG4gIC8vIFJldHVybiBudW1iZXIgb2YgdXNlZCBiaXRzIGluIGEgQk5cbiAgQk4ucHJvdG90eXBlLmJpdExlbmd0aCA9IGZ1bmN0aW9uIGJpdExlbmd0aCAoKSB7XG4gICAgdmFyIHcgPSB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV07XG4gICAgdmFyIGhpID0gdGhpcy5fY291bnRCaXRzKHcpO1xuICAgIHJldHVybiAodGhpcy5sZW5ndGggLSAxKSAqIDI2ICsgaGk7XG4gIH07XG5cbiAgZnVuY3Rpb24gdG9CaXRBcnJheSAobnVtKSB7XG4gICAgdmFyIHcgPSBuZXcgQXJyYXkobnVtLmJpdExlbmd0aCgpKTtcblxuICAgIGZvciAodmFyIGJpdCA9IDA7IGJpdCA8IHcubGVuZ3RoOyBiaXQrKykge1xuICAgICAgdmFyIG9mZiA9IChiaXQgLyAyNikgfCAwO1xuICAgICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcblxuICAgICAgd1tiaXRdID0gKG51bS53b3Jkc1tvZmZdID4+PiB3Yml0KSAmIDB4MDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHc7XG4gIH1cblxuICAvLyBOdW1iZXIgb2YgdHJhaWxpbmcgemVybyBiaXRzXG4gIEJOLnByb3RvdHlwZS56ZXJvQml0cyA9IGZ1bmN0aW9uIHplcm9CaXRzICgpIHtcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIDA7XG5cbiAgICB2YXIgciA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgYiA9IHRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbaV0pO1xuICAgICAgciArPSBiO1xuICAgICAgaWYgKGIgIT09IDI2KSBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHI7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmJ5dGVMZW5ndGggPSBmdW5jdGlvbiBieXRlTGVuZ3RoICgpIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkgLyA4KTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudG9Ud29zID0gZnVuY3Rpb24gdG9Ud29zICh3aWR0aCkge1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5hYnMoKS5pbm90bih3aWR0aCkuaWFkZG4oMSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNsb25lKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmZyb21Ud29zID0gZnVuY3Rpb24gZnJvbVR3b3MgKHdpZHRoKSB7XG4gICAgaWYgKHRoaXMudGVzdG4od2lkdGggLSAxKSkge1xuICAgICAgcmV0dXJuIHRoaXMubm90bih3aWR0aCkuaWFkZG4oMSkuaW5lZygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc05lZyA9IGZ1bmN0aW9uIGlzTmVnICgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGl2ZSAhPT0gMDtcbiAgfTtcblxuICAvLyBSZXR1cm4gbmVnYXRpdmUgY2xvbmUgb2YgYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5uZWcgPSBmdW5jdGlvbiBuZWcgKCkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5lZygpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pbmVnID0gZnVuY3Rpb24gaW5lZyAoKSB7XG4gICAgaWYgKCF0aGlzLmlzWmVybygpKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gT3IgYG51bWAgd2l0aCBgdGhpc2AgaW4tcGxhY2VcbiAgQk4ucHJvdG90eXBlLml1b3IgPSBmdW5jdGlvbiBpdW9yIChudW0pIHtcbiAgICB3aGlsZSAodGhpcy5sZW5ndGggPCBudW0ubGVuZ3RoKSB7XG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdID0gMDtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV0gfCBudW0ud29yZHNbaV07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlvciA9IGZ1bmN0aW9uIGlvciAobnVtKSB7XG4gICAgYXNzZXJ0KCh0aGlzLm5lZ2F0aXZlIHwgbnVtLm5lZ2F0aXZlKSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXVvcihudW0pO1xuICB9O1xuXG4gIC8vIE9yIGBudW1gIHdpdGggYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5vciA9IGZ1bmN0aW9uIG9yIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlvcihudW0pO1xuICAgIHJldHVybiBudW0uY2xvbmUoKS5pb3IodGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVvciA9IGZ1bmN0aW9uIHVvciAobnVtKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pdW9yKG51bSk7XG4gICAgcmV0dXJuIG51bS5jbG9uZSgpLml1b3IodGhpcyk7XG4gIH07XG5cbiAgLy8gQW5kIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pdWFuZCA9IGZ1bmN0aW9uIGl1YW5kIChudW0pIHtcbiAgICAvLyBiID0gbWluLWxlbmd0aChudW0sIHRoaXMpXG4gICAgdmFyIGI7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xuICAgICAgYiA9IG51bTtcbiAgICB9IGVsc2Uge1xuICAgICAgYiA9IHRoaXM7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gdGhpcy53b3Jkc1tpXSAmIG51bS53b3Jkc1tpXTtcbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IGIubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlhbmQgPSBmdW5jdGlvbiBpYW5kIChudW0pIHtcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcbiAgICByZXR1cm4gdGhpcy5pdWFuZChudW0pO1xuICB9O1xuXG4gIC8vIEFuZCBgbnVtYCB3aXRoIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuYW5kID0gZnVuY3Rpb24gYW5kIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLmlhbmQobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFuZCh0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudWFuZCA9IGZ1bmN0aW9uIHVhbmQgKG51bSkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXVhbmQobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXVhbmQodGhpcyk7XG4gIH07XG5cbiAgLy8gWG9yIGBudW1gIHdpdGggYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pdXhvciA9IGZ1bmN0aW9uIGl1eG9yIChudW0pIHtcbiAgICAvLyBhLmxlbmd0aCA+IGIubGVuZ3RoXG4gICAgdmFyIGE7XG4gICAgdmFyIGI7XG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkge1xuICAgICAgYSA9IHRoaXM7XG4gICAgICBiID0gbnVtO1xuICAgIH0gZWxzZSB7XG4gICAgICBhID0gbnVtO1xuICAgICAgYiA9IHRoaXM7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBiLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXSBeIGIud29yZHNbaV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMgIT09IGEpIHtcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLml4b3IgPSBmdW5jdGlvbiBpeG9yIChudW0pIHtcbiAgICBhc3NlcnQoKHRoaXMubmVnYXRpdmUgfCBudW0ubmVnYXRpdmUpID09PSAwKTtcbiAgICByZXR1cm4gdGhpcy5pdXhvcihudW0pO1xuICB9O1xuXG4gIC8vIFhvciBgbnVtYCB3aXRoIGB0aGlzYFxuICBCTi5wcm90b3R5cGUueG9yID0gZnVuY3Rpb24geG9yIChudW0pIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSByZXR1cm4gdGhpcy5jbG9uZSgpLml4b3IobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXhvcih0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudXhvciA9IGZ1bmN0aW9uIHV4b3IgKG51bSkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IG51bS5sZW5ndGgpIHJldHVybiB0aGlzLmNsb25lKCkuaXV4b3IobnVtKTtcbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaXV4b3IodGhpcyk7XG4gIH07XG5cbiAgLy8gTm90IGBgdGhpc2BgIHdpdGggYGB3aWR0aGBgIGJpdHdpZHRoXG4gIEJOLnByb3RvdHlwZS5pbm90biA9IGZ1bmN0aW9uIGlub3RuICh3aWR0aCkge1xuICAgIGFzc2VydCh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInICYmIHdpZHRoID49IDApO1xuXG4gICAgdmFyIGJ5dGVzTmVlZGVkID0gTWF0aC5jZWlsKHdpZHRoIC8gMjYpIHwgMDtcbiAgICB2YXIgYml0c0xlZnQgPSB3aWR0aCAlIDI2O1xuXG4gICAgLy8gRXh0ZW5kIHRoZSBidWZmZXIgd2l0aCBsZWFkaW5nIHplcm9lc1xuICAgIHRoaXMuX2V4cGFuZChieXRlc05lZWRlZCk7XG5cbiAgICBpZiAoYml0c0xlZnQgPiAwKSB7XG4gICAgICBieXRlc05lZWRlZC0tO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBjb21wbGV0ZSB3b3Jkc1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnl0ZXNOZWVkZWQ7IGkrKykge1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IH50aGlzLndvcmRzW2ldICYgMHgzZmZmZmZmO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSB0aGUgcmVzaWR1ZVxuICAgIGlmIChiaXRzTGVmdCA+IDApIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSB+dGhpcy53b3Jkc1tpXSAmICgweDNmZmZmZmYgPj4gKDI2IC0gYml0c0xlZnQpKTtcbiAgICB9XG5cbiAgICAvLyBBbmQgcmVtb3ZlIGxlYWRpbmcgemVyb2VzXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLm5vdG4gPSBmdW5jdGlvbiBub3RuICh3aWR0aCkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaW5vdG4od2lkdGgpO1xuICB9O1xuXG4gIC8vIFNldCBgYml0YCBvZiBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLnNldG4gPSBmdW5jdGlvbiBzZXRuIChiaXQsIHZhbCkge1xuICAgIGFzc2VydCh0eXBlb2YgYml0ID09PSAnbnVtYmVyJyAmJiBiaXQgPj0gMCk7XG5cbiAgICB2YXIgb2ZmID0gKGJpdCAvIDI2KSB8IDA7XG4gICAgdmFyIHdiaXQgPSBiaXQgJSAyNjtcblxuICAgIHRoaXMuX2V4cGFuZChvZmYgKyAxKTtcblxuICAgIGlmICh2YWwpIHtcbiAgICAgIHRoaXMud29yZHNbb2ZmXSA9IHRoaXMud29yZHNbb2ZmXSB8ICgxIDw8IHdiaXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmRzW29mZl0gPSB0aGlzLndvcmRzW29mZl0gJiB+KDEgPDwgd2JpdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgLy8gQWRkIGBudW1gIHRvIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKG51bSkge1xuICAgIHZhciByO1xuXG4gICAgLy8gbmVnYXRpdmUgKyBwb3NpdGl2ZVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG4gICAgICByID0gdGhpcy5pc3ViKG51bSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlIF49IDE7XG4gICAgICByZXR1cm4gdGhpcy5fbm9ybVNpZ24oKTtcblxuICAgIC8vIHBvc2l0aXZlICsgbmVnYXRpdmVcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xuICAgICAgciA9IHRoaXMuaXN1YihudW0pO1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiByLl9ub3JtU2lnbigpO1xuICAgIH1cblxuICAgIC8vIGEubGVuZ3RoID4gYi5sZW5ndGhcbiAgICB2YXIgYSwgYjtcbiAgICBpZiAodGhpcy5sZW5ndGggPiBudW0ubGVuZ3RoKSB7XG4gICAgICBhID0gdGhpcztcbiAgICAgIGIgPSBudW07XG4gICAgfSBlbHNlIHtcbiAgICAgIGEgPSBudW07XG4gICAgICBiID0gdGhpcztcbiAgICB9XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcbiAgICAgIGNhcnJ5ID0gciA+Pj4gMjY7XG4gICAgfVxuICAgIGZvciAoOyBjYXJyeSAhPT0gMCAmJiBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgKyBjYXJyeTtcbiAgICAgIHRoaXMud29yZHNbaV0gPSByICYgMHgzZmZmZmZmO1xuICAgICAgY2FycnkgPSByID4+PiAyNjtcbiAgICB9XG5cbiAgICB0aGlzLmxlbmd0aCA9IGEubGVuZ3RoO1xuICAgIGlmIChjYXJyeSAhPT0gMCkge1xuICAgICAgdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF0gPSBjYXJyeTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgLy8gQ29weSB0aGUgcmVzdCBvZiB0aGUgd29yZHNcbiAgICB9IGVsc2UgaWYgKGEgIT09IHRoaXMpIHtcbiAgICAgIGZvciAoOyBpIDwgYS5sZW5ndGg7IGkrKykge1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYS53b3Jkc1tpXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBBZGQgYG51bWAgdG8gYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQgKG51bSkge1xuICAgIHZhciByZXM7XG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCAmJiB0aGlzLm5lZ2F0aXZlID09PSAwKSB7XG4gICAgICBudW0ubmVnYXRpdmUgPSAwO1xuICAgICAgcmVzID0gdGhpcy5zdWIobnVtKTtcbiAgICAgIG51bS5uZWdhdGl2ZSBePSAxO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9IGVsc2UgaWYgKG51bS5uZWdhdGl2ZSA9PT0gMCAmJiB0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMDtcbiAgICAgIHJlcyA9IG51bS5zdWIodGhpcyk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkKG51bSk7XG5cbiAgICByZXR1cm4gbnVtLmNsb25lKCkuaWFkZCh0aGlzKTtcbiAgfTtcblxuICAvLyBTdWJ0cmFjdCBgbnVtYCBmcm9tIGB0aGlzYCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKG51bSkge1xuICAgIC8vIHRoaXMgLSAoLW51bSkgPSB0aGlzICsgbnVtXG4gICAgaWYgKG51bS5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgbnVtLm5lZ2F0aXZlID0gMDtcbiAgICAgIHZhciByID0gdGhpcy5pYWRkKG51bSk7XG4gICAgICBudW0ubmVnYXRpdmUgPSAxO1xuICAgICAgcmV0dXJuIHIuX25vcm1TaWduKCk7XG5cbiAgICAvLyAtdGhpcyAtIG51bSA9IC0odGhpcyArIG51bSlcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5pYWRkKG51bSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiB0aGlzLl9ub3JtU2lnbigpO1xuICAgIH1cblxuICAgIC8vIEF0IHRoaXMgcG9pbnQgYm90aCBudW1iZXJzIGFyZSBwb3NpdGl2ZVxuICAgIHZhciBjbXAgPSB0aGlzLmNtcChudW0pO1xuXG4gICAgLy8gT3B0aW1pemF0aW9uIC0gemVyb2lmeVxuICAgIGlmIChjbXAgPT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgICAgdGhpcy53b3Jkc1swXSA9IDA7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBhID4gYlxuICAgIHZhciBhLCBiO1xuICAgIGlmIChjbXAgPiAwKSB7XG4gICAgICBhID0gdGhpcztcbiAgICAgIGIgPSBudW07XG4gICAgfSBlbHNlIHtcbiAgICAgIGEgPSBudW07XG4gICAgICBiID0gdGhpcztcbiAgICB9XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYi5sZW5ndGg7IGkrKykge1xuICAgICAgciA9IChhLndvcmRzW2ldIHwgMCkgLSAoYi53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICBjYXJyeSA9IHIgPj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2ldID0gciAmIDB4M2ZmZmZmZjtcbiAgICB9XG4gICAgZm9yICg7IGNhcnJ5ICE9PSAwICYmIGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gICAgICByID0gKGEud29yZHNbaV0gfCAwKSArIGNhcnJ5O1xuICAgICAgY2FycnkgPSByID4+IDI2O1xuICAgICAgdGhpcy53b3Jkc1tpXSA9IHIgJiAweDNmZmZmZmY7XG4gICAgfVxuXG4gICAgLy8gQ29weSByZXN0IG9mIHRoZSB3b3Jkc1xuICAgIGlmIChjYXJyeSA9PT0gMCAmJiBpIDwgYS5sZW5ndGggJiYgYSAhPT0gdGhpcykge1xuICAgICAgZm9yICg7IGkgPCBhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBhLndvcmRzW2ldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5sZW5ndGgsIGkpO1xuXG4gICAgaWYgKGEgIT09IHRoaXMpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAxO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIC8vIFN1YnRyYWN0IGBudW1gIGZyb20gYHRoaXNgXG4gIEJOLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXN1YihudW0pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIHNtYWxsTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XG4gICAgb3V0Lm5lZ2F0aXZlID0gbnVtLm5lZ2F0aXZlIF4gc2VsZi5uZWdhdGl2ZTtcbiAgICB2YXIgbGVuID0gKHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aCkgfCAwO1xuICAgIG91dC5sZW5ndGggPSBsZW47XG4gICAgbGVuID0gKGxlbiAtIDEpIHwgMDtcblxuICAgIC8vIFBlZWwgb25lIGl0ZXJhdGlvbiAoY29tcGlsZXIgY2FuJ3QgZG8gaXQsIGJlY2F1c2Ugb2YgY29kZSBjb21wbGV4aXR5KVxuICAgIHZhciBhID0gc2VsZi53b3Jkc1swXSB8IDA7XG4gICAgdmFyIGIgPSBudW0ud29yZHNbMF0gfCAwO1xuICAgIHZhciByID0gYSAqIGI7XG5cbiAgICB2YXIgbG8gPSByICYgMHgzZmZmZmZmO1xuICAgIHZhciBjYXJyeSA9IChyIC8gMHg0MDAwMDAwKSB8IDA7XG4gICAgb3V0LndvcmRzWzBdID0gbG87XG5cbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGxlbjsgaysrKSB7XG4gICAgICAvLyBTdW0gYWxsIHdvcmRzIHdpdGggdGhlIHNhbWUgYGkgKyBqID0ga2AgYW5kIGFjY3VtdWxhdGUgYG5jYXJyeWAsXG4gICAgICAvLyBub3RlIHRoYXQgbmNhcnJ5IGNvdWxkIGJlID49IDB4M2ZmZmZmZlxuICAgICAgdmFyIG5jYXJyeSA9IGNhcnJ5ID4+PiAyNjtcbiAgICAgIHZhciByd29yZCA9IGNhcnJ5ICYgMHgzZmZmZmZmO1xuICAgICAgdmFyIG1heEogPSBNYXRoLm1pbihrLCBudW0ubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKHZhciBqID0gTWF0aC5tYXgoMCwgayAtIHNlbGYubGVuZ3RoICsgMSk7IGogPD0gbWF4SjsgaisrKSB7XG4gICAgICAgIHZhciBpID0gKGsgLSBqKSB8IDA7XG4gICAgICAgIGEgPSBzZWxmLndvcmRzW2ldIHwgMDtcbiAgICAgICAgYiA9IG51bS53b3Jkc1tqXSB8IDA7XG4gICAgICAgIHIgPSBhICogYiArIHJ3b3JkO1xuICAgICAgICBuY2FycnkgKz0gKHIgLyAweDQwMDAwMDApIHwgMDtcbiAgICAgICAgcndvcmQgPSByICYgMHgzZmZmZmZmO1xuICAgICAgfVxuICAgICAgb3V0LndvcmRzW2tdID0gcndvcmQgfCAwO1xuICAgICAgY2FycnkgPSBuY2FycnkgfCAwO1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5IHwgMDtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0Lmxlbmd0aC0tO1xuICAgIH1cblxuICAgIHJldHVybiBvdXQuX3N0cmlwKCk7XG4gIH1cblxuICAvLyBUT0RPKGluZHV0bnkpOiBpdCBtYXkgYmUgcmVhc29uYWJsZSB0byBvbWl0IGl0IGZvciB1c2VycyB3aG8gZG9uJ3QgbmVlZFxuICAvLyB0byB3b3JrIHdpdGggMjU2LWJpdCBudW1iZXJzLCBvdGhlcndpc2UgaXQgZ2l2ZXMgMjAlIGltcHJvdmVtZW50IGZvciAyNTYtYml0XG4gIC8vIG11bHRpcGxpY2F0aW9uIChsaWtlIGVsbGlwdGljIHNlY3AyNTZrMSkuXG4gIHZhciBjb21iMTBNdWxUbyA9IGZ1bmN0aW9uIGNvbWIxME11bFRvIChzZWxmLCBudW0sIG91dCkge1xuICAgIHZhciBhID0gc2VsZi53b3JkcztcbiAgICB2YXIgYiA9IG51bS53b3JkcztcbiAgICB2YXIgbyA9IG91dC53b3JkcztcbiAgICB2YXIgYyA9IDA7XG4gICAgdmFyIGxvO1xuICAgIHZhciBtaWQ7XG4gICAgdmFyIGhpO1xuICAgIHZhciBhMCA9IGFbMF0gfCAwO1xuICAgIHZhciBhbDAgPSBhMCAmIDB4MWZmZjtcbiAgICB2YXIgYWgwID0gYTAgPj4+IDEzO1xuICAgIHZhciBhMSA9IGFbMV0gfCAwO1xuICAgIHZhciBhbDEgPSBhMSAmIDB4MWZmZjtcbiAgICB2YXIgYWgxID0gYTEgPj4+IDEzO1xuICAgIHZhciBhMiA9IGFbMl0gfCAwO1xuICAgIHZhciBhbDIgPSBhMiAmIDB4MWZmZjtcbiAgICB2YXIgYWgyID0gYTIgPj4+IDEzO1xuICAgIHZhciBhMyA9IGFbM10gfCAwO1xuICAgIHZhciBhbDMgPSBhMyAmIDB4MWZmZjtcbiAgICB2YXIgYWgzID0gYTMgPj4+IDEzO1xuICAgIHZhciBhNCA9IGFbNF0gfCAwO1xuICAgIHZhciBhbDQgPSBhNCAmIDB4MWZmZjtcbiAgICB2YXIgYWg0ID0gYTQgPj4+IDEzO1xuICAgIHZhciBhNSA9IGFbNV0gfCAwO1xuICAgIHZhciBhbDUgPSBhNSAmIDB4MWZmZjtcbiAgICB2YXIgYWg1ID0gYTUgPj4+IDEzO1xuICAgIHZhciBhNiA9IGFbNl0gfCAwO1xuICAgIHZhciBhbDYgPSBhNiAmIDB4MWZmZjtcbiAgICB2YXIgYWg2ID0gYTYgPj4+IDEzO1xuICAgIHZhciBhNyA9IGFbN10gfCAwO1xuICAgIHZhciBhbDcgPSBhNyAmIDB4MWZmZjtcbiAgICB2YXIgYWg3ID0gYTcgPj4+IDEzO1xuICAgIHZhciBhOCA9IGFbOF0gfCAwO1xuICAgIHZhciBhbDggPSBhOCAmIDB4MWZmZjtcbiAgICB2YXIgYWg4ID0gYTggPj4+IDEzO1xuICAgIHZhciBhOSA9IGFbOV0gfCAwO1xuICAgIHZhciBhbDkgPSBhOSAmIDB4MWZmZjtcbiAgICB2YXIgYWg5ID0gYTkgPj4+IDEzO1xuICAgIHZhciBiMCA9IGJbMF0gfCAwO1xuICAgIHZhciBibDAgPSBiMCAmIDB4MWZmZjtcbiAgICB2YXIgYmgwID0gYjAgPj4+IDEzO1xuICAgIHZhciBiMSA9IGJbMV0gfCAwO1xuICAgIHZhciBibDEgPSBiMSAmIDB4MWZmZjtcbiAgICB2YXIgYmgxID0gYjEgPj4+IDEzO1xuICAgIHZhciBiMiA9IGJbMl0gfCAwO1xuICAgIHZhciBibDIgPSBiMiAmIDB4MWZmZjtcbiAgICB2YXIgYmgyID0gYjIgPj4+IDEzO1xuICAgIHZhciBiMyA9IGJbM10gfCAwO1xuICAgIHZhciBibDMgPSBiMyAmIDB4MWZmZjtcbiAgICB2YXIgYmgzID0gYjMgPj4+IDEzO1xuICAgIHZhciBiNCA9IGJbNF0gfCAwO1xuICAgIHZhciBibDQgPSBiNCAmIDB4MWZmZjtcbiAgICB2YXIgYmg0ID0gYjQgPj4+IDEzO1xuICAgIHZhciBiNSA9IGJbNV0gfCAwO1xuICAgIHZhciBibDUgPSBiNSAmIDB4MWZmZjtcbiAgICB2YXIgYmg1ID0gYjUgPj4+IDEzO1xuICAgIHZhciBiNiA9IGJbNl0gfCAwO1xuICAgIHZhciBibDYgPSBiNiAmIDB4MWZmZjtcbiAgICB2YXIgYmg2ID0gYjYgPj4+IDEzO1xuICAgIHZhciBiNyA9IGJbN10gfCAwO1xuICAgIHZhciBibDcgPSBiNyAmIDB4MWZmZjtcbiAgICB2YXIgYmg3ID0gYjcgPj4+IDEzO1xuICAgIHZhciBiOCA9IGJbOF0gfCAwO1xuICAgIHZhciBibDggPSBiOCAmIDB4MWZmZjtcbiAgICB2YXIgYmg4ID0gYjggPj4+IDEzO1xuICAgIHZhciBiOSA9IGJbOV0gfCAwO1xuICAgIHZhciBibDkgPSBiOSAmIDB4MWZmZjtcbiAgICB2YXIgYmg5ID0gYjkgPj4+IDEzO1xuXG4gICAgb3V0Lm5lZ2F0aXZlID0gc2VsZi5uZWdhdGl2ZSBeIG51bS5uZWdhdGl2ZTtcbiAgICBvdXQubGVuZ3RoID0gMTk7XG4gICAgLyogayA9IDAgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDAsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMCwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMCwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoMCwgYmgwKTtcbiAgICB2YXIgdzAgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcwID4+PiAyNikpIHwgMDtcbiAgICB3MCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDEsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMSwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoMSwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDEpKSB8IDA7XG4gICAgdmFyIHcxID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MSA+Pj4gMjYpKSB8IDA7XG4gICAgdzEgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSAyICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWwyLCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDIsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDIsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDIsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMikpIHwgMDtcbiAgICB2YXIgdzIgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcyID4+PiAyNikpIHwgMDtcbiAgICB3MiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDMgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDMsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsMywgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMywgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoMywgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoMykpIHwgMDtcbiAgICB2YXIgdzMgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHczID4+PiAyNikpIHwgMDtcbiAgICB3MyAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDQgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDQsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNCwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoNCwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDQpKSB8IDA7XG4gICAgdmFyIHc0ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NCA+Pj4gMjYpKSB8IDA7XG4gICAgdzQgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA1ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw1LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDUsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDUsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDUsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNSkpIHwgMDtcbiAgICB2YXIgdzUgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc1ID4+PiAyNikpIHwgMDtcbiAgICB3NSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDYgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDYsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNiwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNiwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoNiwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoNikpIHwgMDtcbiAgICB2YXIgdzYgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc2ID4+PiAyNikpIHwgMDtcbiAgICB3NiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDcgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDcsIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsNywgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoNywgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDAsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMCwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgwLCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgwLCBiaDcpKSB8IDA7XG4gICAgdmFyIHc3ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3NyA+Pj4gMjYpKSB8IDA7XG4gICAgdzcgJj0gMHgzZmZmZmZmO1xuICAgIC8qIGsgPSA4ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw4LCBibDApO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDgsIGJoMCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDgsIGJsMCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDgsIGJoMCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDEpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwxKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgxKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwyKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmgzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDMpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDMpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw0KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg0KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNSkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDYpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDYpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw3KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg3KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOCkpIHwgMDtcbiAgICB2YXIgdzggPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc4ID4+PiAyNikpIHwgMDtcbiAgICB3OCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDkgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMCk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgwKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwwKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgwKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsMSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmgxKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDEpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDEpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDIsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMiwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgyLCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgyLCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwxLCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDEsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMSwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMSwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMCwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwwLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDAsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDAsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzkgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHc5ID4+PiAyNikpIHwgMDtcbiAgICB3OSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEwICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDEpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMSk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMSkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMSk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDIpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwyKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgyKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmwzKSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsMykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoMykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMSwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwxLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDEsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDEsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzEwID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTAgPj4+IDI2KSkgfCAwO1xuICAgIHcxMCAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDExICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDIpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoMik7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsMikpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoMik7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDMpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoMykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmwzKSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmgzKSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDQpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNCkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNCkpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg1KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDUpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDUpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw2KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg2KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsNykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoNykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDMsIGJsOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsMywgYmg4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWgzLCBibDgpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWgzLCBiaDgpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWwyLCBibDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDIsIGJoOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoMiwgYmw5KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoMiwgYmg5KSkgfCAwO1xuICAgIHZhciB3MTEgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxMSA+Pj4gMjYpKSB8IDA7XG4gICAgdzExICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMTIgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsMyk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmgzKTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmwzKSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmgzKTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg0KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDQpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDQpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDUsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNSwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg1LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg1LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw0LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDQsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNCwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNCwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsMywgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWwzLCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDMsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDMsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzEyID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTIgPj4+IDI2KSkgfCAwO1xuICAgIHcxMiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDEzICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDQpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDUpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw1KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg1KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw2KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNikpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNikpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNCwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw0LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDQsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDQsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzEzID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTMgPj4+IDI2KSkgfCAwO1xuICAgIHcxMyAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE0ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDUpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNSk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNSkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNSk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDYpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoNikpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw2KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg2KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDcpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsNykpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoNykpIHwgMDtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDYsIGJsOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsNiwgYmg4KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg2LCBibDgpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg2LCBiaDgpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw1LCBibDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDUsIGJoOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNSwgYmw5KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNSwgYmg5KSkgfCAwO1xuICAgIHZhciB3MTQgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNCA+Pj4gMjYpKSB8IDA7XG4gICAgdzE0ICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMTUgKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsNik7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg2KTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw2KSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg2KTtcbiAgICBsbyA9IChsbyArIE1hdGguaW11bChhbDgsIGJsNykpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFsOCwgYmg3KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWg4LCBibDcpKSB8IDA7XG4gICAgaGkgPSAoaGkgKyBNYXRoLmltdWwoYWg4LCBiaDcpKSB8IDA7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw3LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDcsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoNywgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoNywgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNiwgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw2LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDYsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDYsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzE1ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTUgPj4+IDI2KSkgfCAwO1xuICAgIHcxNSAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE2ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDcpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoNyk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsNykpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoNyk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDgpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOCkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw4KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg4KSkgfCAwO1xuICAgIGxvID0gKGxvICsgTWF0aC5pbXVsKGFsNywgYmw5KSkgfCAwO1xuICAgIG1pZCA9IChtaWQgKyBNYXRoLmltdWwoYWw3LCBiaDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDcsIGJsOSkpIHwgMDtcbiAgICBoaSA9IChoaSArIE1hdGguaW11bChhaDcsIGJoOSkpIHwgMDtcbiAgICB2YXIgdzE2ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTYgPj4+IDI2KSkgfCAwO1xuICAgIHcxNiAmPSAweDNmZmZmZmY7XG4gICAgLyogayA9IDE3ICovXG4gICAgbG8gPSBNYXRoLmltdWwoYWw5LCBibDgpO1xuICAgIG1pZCA9IE1hdGguaW11bChhbDksIGJoOCk7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhaDksIGJsOCkpIHwgMDtcbiAgICBoaSA9IE1hdGguaW11bChhaDksIGJoOCk7XG4gICAgbG8gPSAobG8gKyBNYXRoLmltdWwoYWw4LCBibDkpKSB8IDA7XG4gICAgbWlkID0gKG1pZCArIE1hdGguaW11bChhbDgsIGJoOSkpIHwgMDtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOCwgYmw5KSkgfCAwO1xuICAgIGhpID0gKGhpICsgTWF0aC5pbXVsKGFoOCwgYmg5KSkgfCAwO1xuICAgIHZhciB3MTcgPSAoKChjICsgbG8pIHwgMCkgKyAoKG1pZCAmIDB4MWZmZikgPDwgMTMpKSB8IDA7XG4gICAgYyA9ICgoKGhpICsgKG1pZCA+Pj4gMTMpKSB8IDApICsgKHcxNyA+Pj4gMjYpKSB8IDA7XG4gICAgdzE3ICY9IDB4M2ZmZmZmZjtcbiAgICAvKiBrID0gMTggKi9cbiAgICBsbyA9IE1hdGguaW11bChhbDksIGJsOSk7XG4gICAgbWlkID0gTWF0aC5pbXVsKGFsOSwgYmg5KTtcbiAgICBtaWQgPSAobWlkICsgTWF0aC5pbXVsKGFoOSwgYmw5KSkgfCAwO1xuICAgIGhpID0gTWF0aC5pbXVsKGFoOSwgYmg5KTtcbiAgICB2YXIgdzE4ID0gKCgoYyArIGxvKSB8IDApICsgKChtaWQgJiAweDFmZmYpIDw8IDEzKSkgfCAwO1xuICAgIGMgPSAoKChoaSArIChtaWQgPj4+IDEzKSkgfCAwKSArICh3MTggPj4+IDI2KSkgfCAwO1xuICAgIHcxOCAmPSAweDNmZmZmZmY7XG4gICAgb1swXSA9IHcwO1xuICAgIG9bMV0gPSB3MTtcbiAgICBvWzJdID0gdzI7XG4gICAgb1szXSA9IHczO1xuICAgIG9bNF0gPSB3NDtcbiAgICBvWzVdID0gdzU7XG4gICAgb1s2XSA9IHc2O1xuICAgIG9bN10gPSB3NztcbiAgICBvWzhdID0gdzg7XG4gICAgb1s5XSA9IHc5O1xuICAgIG9bMTBdID0gdzEwO1xuICAgIG9bMTFdID0gdzExO1xuICAgIG9bMTJdID0gdzEyO1xuICAgIG9bMTNdID0gdzEzO1xuICAgIG9bMTRdID0gdzE0O1xuICAgIG9bMTVdID0gdzE1O1xuICAgIG9bMTZdID0gdzE2O1xuICAgIG9bMTddID0gdzE3O1xuICAgIG9bMThdID0gdzE4O1xuICAgIGlmIChjICE9PSAwKSB7XG4gICAgICBvWzE5XSA9IGM7XG4gICAgICBvdXQubGVuZ3RoKys7XG4gICAgfVxuICAgIHJldHVybiBvdXQ7XG4gIH07XG5cbiAgLy8gUG9seWZpbGwgY29tYlxuICBpZiAoIU1hdGguaW11bCkge1xuICAgIGNvbWIxME11bFRvID0gc21hbGxNdWxUbztcbiAgfVxuXG4gIGZ1bmN0aW9uIGJpZ011bFRvIChzZWxmLCBudW0sIG91dCkge1xuICAgIG91dC5uZWdhdGl2ZSA9IG51bS5uZWdhdGl2ZSBeIHNlbGYubmVnYXRpdmU7XG4gICAgb3V0Lmxlbmd0aCA9IHNlbGYubGVuZ3RoICsgbnVtLmxlbmd0aDtcblxuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgdmFyIGhuY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgb3V0Lmxlbmd0aCAtIDE7IGsrKykge1xuICAgICAgLy8gU3VtIGFsbCB3b3JkcyB3aXRoIHRoZSBzYW1lIGBpICsgaiA9IGtgIGFuZCBhY2N1bXVsYXRlIGBuY2FycnlgLFxuICAgICAgLy8gbm90ZSB0aGF0IG5jYXJyeSBjb3VsZCBiZSA+PSAweDNmZmZmZmZcbiAgICAgIHZhciBuY2FycnkgPSBobmNhcnJ5O1xuICAgICAgaG5jYXJyeSA9IDA7XG4gICAgICB2YXIgcndvcmQgPSBjYXJyeSAmIDB4M2ZmZmZmZjtcbiAgICAgIHZhciBtYXhKID0gTWF0aC5taW4oaywgbnVtLmxlbmd0aCAtIDEpO1xuICAgICAgZm9yICh2YXIgaiA9IE1hdGgubWF4KDAsIGsgLSBzZWxmLmxlbmd0aCArIDEpOyBqIDw9IG1heEo7IGorKykge1xuICAgICAgICB2YXIgaSA9IGsgLSBqO1xuICAgICAgICB2YXIgYSA9IHNlbGYud29yZHNbaV0gfCAwO1xuICAgICAgICB2YXIgYiA9IG51bS53b3Jkc1tqXSB8IDA7XG4gICAgICAgIHZhciByID0gYSAqIGI7XG5cbiAgICAgICAgdmFyIGxvID0gciAmIDB4M2ZmZmZmZjtcbiAgICAgICAgbmNhcnJ5ID0gKG5jYXJyeSArICgociAvIDB4NDAwMDAwMCkgfCAwKSkgfCAwO1xuICAgICAgICBsbyA9IChsbyArIHJ3b3JkKSB8IDA7XG4gICAgICAgIHJ3b3JkID0gbG8gJiAweDNmZmZmZmY7XG4gICAgICAgIG5jYXJyeSA9IChuY2FycnkgKyAobG8gPj4+IDI2KSkgfCAwO1xuXG4gICAgICAgIGhuY2FycnkgKz0gbmNhcnJ5ID4+PiAyNjtcbiAgICAgICAgbmNhcnJ5ICY9IDB4M2ZmZmZmZjtcbiAgICAgIH1cbiAgICAgIG91dC53b3Jkc1trXSA9IHJ3b3JkO1xuICAgICAgY2FycnkgPSBuY2Fycnk7XG4gICAgICBuY2FycnkgPSBobmNhcnJ5O1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIG91dC53b3Jkc1trXSA9IGNhcnJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICBvdXQubGVuZ3RoLS07XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dC5fc3RyaXAoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGp1bWJvTXVsVG8gKHNlbGYsIG51bSwgb3V0KSB7XG4gICAgLy8gVGVtcG9yYXJ5IGRpc2FibGUsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vaW5kdXRueS9ibi5qcy9pc3N1ZXMvMjExXG4gICAgLy8gdmFyIGZmdG0gPSBuZXcgRkZUTSgpO1xuICAgIC8vIHJldHVybiBmZnRtLm11bHAoc2VsZiwgbnVtLCBvdXQpO1xuICAgIHJldHVybiBiaWdNdWxUbyhzZWxmLCBudW0sIG91dCk7XG4gIH1cblxuICBCTi5wcm90b3R5cGUubXVsVG8gPSBmdW5jdGlvbiBtdWxUbyAobnVtLCBvdXQpIHtcbiAgICB2YXIgcmVzO1xuICAgIHZhciBsZW4gPSB0aGlzLmxlbmd0aCArIG51bS5sZW5ndGg7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAxMCAmJiBudW0ubGVuZ3RoID09PSAxMCkge1xuICAgICAgcmVzID0gY29tYjEwTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICAgIH0gZWxzZSBpZiAobGVuIDwgNjMpIHtcbiAgICAgIHJlcyA9IHNtYWxsTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICAgIH0gZWxzZSBpZiAobGVuIDwgMTAyNCkge1xuICAgICAgcmVzID0gYmlnTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXMgPSBqdW1ib011bFRvKHRoaXMsIG51bSwgb3V0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIC8vIENvb2xleS1UdWtleSBhbGdvcml0aG0gZm9yIEZGVFxuICAvLyBzbGlnaHRseSByZXZpc2l0ZWQgdG8gcmVseSBvbiBsb29waW5nIGluc3RlYWQgb2YgcmVjdXJzaW9uXG5cbiAgZnVuY3Rpb24gRkZUTSAoeCwgeSkge1xuICAgIHRoaXMueCA9IHg7XG4gICAgdGhpcy55ID0geTtcbiAgfVxuXG4gIEZGVE0ucHJvdG90eXBlLm1ha2VSQlQgPSBmdW5jdGlvbiBtYWtlUkJUIChOKSB7XG4gICAgdmFyIHQgPSBuZXcgQXJyYXkoTik7XG4gICAgdmFyIGwgPSBCTi5wcm90b3R5cGUuX2NvdW50Qml0cyhOKSAtIDE7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgIHRbaV0gPSB0aGlzLnJldkJpbihpLCBsLCBOKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdDtcbiAgfTtcblxuICAvLyBSZXR1cm5zIGJpbmFyeS1yZXZlcnNlZCByZXByZXNlbnRhdGlvbiBvZiBgeGBcbiAgRkZUTS5wcm90b3R5cGUucmV2QmluID0gZnVuY3Rpb24gcmV2QmluICh4LCBsLCBOKSB7XG4gICAgaWYgKHggPT09IDAgfHwgeCA9PT0gTiAtIDEpIHJldHVybiB4O1xuXG4gICAgdmFyIHJiID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgcmIgfD0gKHggJiAxKSA8PCAobCAtIGkgLSAxKTtcbiAgICAgIHggPj49IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJiO1xuICB9O1xuXG4gIC8vIFBlcmZvcm1zIFwidHdlZWRsaW5nXCIgcGhhc2UsIHRoZXJlZm9yZSAnZW11bGF0aW5nJ1xuICAvLyBiZWhhdmlvdXIgb2YgdGhlIHJlY3Vyc2l2ZSBhbGdvcml0aG1cbiAgRkZUTS5wcm90b3R5cGUucGVybXV0ZSA9IGZ1bmN0aW9uIHBlcm11dGUgKHJidCwgcndzLCBpd3MsIHJ0d3MsIGl0d3MsIE4pIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgcnR3c1tpXSA9IHJ3c1tyYnRbaV1dO1xuICAgICAgaXR3c1tpXSA9IGl3c1tyYnRbaV1dO1xuICAgIH1cbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS50cmFuc2Zvcm0gPSBmdW5jdGlvbiB0cmFuc2Zvcm0gKHJ3cywgaXdzLCBydHdzLCBpdHdzLCBOLCByYnQpIHtcbiAgICB0aGlzLnBlcm11dGUocmJ0LCByd3MsIGl3cywgcnR3cywgaXR3cywgTik7XG5cbiAgICBmb3IgKHZhciBzID0gMTsgcyA8IE47IHMgPDw9IDEpIHtcbiAgICAgIHZhciBsID0gcyA8PCAxO1xuXG4gICAgICB2YXIgcnR3ZGYgPSBNYXRoLmNvcygyICogTWF0aC5QSSAvIGwpO1xuICAgICAgdmFyIGl0d2RmID0gTWF0aC5zaW4oMiAqIE1hdGguUEkgLyBsKTtcblxuICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBOOyBwICs9IGwpIHtcbiAgICAgICAgdmFyIHJ0d2RmXyA9IHJ0d2RmO1xuICAgICAgICB2YXIgaXR3ZGZfID0gaXR3ZGY7XG5cbiAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBzOyBqKyspIHtcbiAgICAgICAgICB2YXIgcmUgPSBydHdzW3AgKyBqXTtcbiAgICAgICAgICB2YXIgaWUgPSBpdHdzW3AgKyBqXTtcblxuICAgICAgICAgIHZhciBybyA9IHJ0d3NbcCArIGogKyBzXTtcbiAgICAgICAgICB2YXIgaW8gPSBpdHdzW3AgKyBqICsgc107XG5cbiAgICAgICAgICB2YXIgcnggPSBydHdkZl8gKiBybyAtIGl0d2RmXyAqIGlvO1xuXG4gICAgICAgICAgaW8gPSBydHdkZl8gKiBpbyArIGl0d2RmXyAqIHJvO1xuICAgICAgICAgIHJvID0gcng7XG5cbiAgICAgICAgICBydHdzW3AgKyBqXSA9IHJlICsgcm87XG4gICAgICAgICAgaXR3c1twICsgal0gPSBpZSArIGlvO1xuXG4gICAgICAgICAgcnR3c1twICsgaiArIHNdID0gcmUgLSBybztcbiAgICAgICAgICBpdHdzW3AgKyBqICsgc10gPSBpZSAtIGlvO1xuXG4gICAgICAgICAgLyoganNoaW50IG1heGRlcHRoIDogZmFsc2UgKi9cbiAgICAgICAgICBpZiAoaiAhPT0gbCkge1xuICAgICAgICAgICAgcnggPSBydHdkZiAqIHJ0d2RmXyAtIGl0d2RmICogaXR3ZGZfO1xuXG4gICAgICAgICAgICBpdHdkZl8gPSBydHdkZiAqIGl0d2RmXyArIGl0d2RmICogcnR3ZGZfO1xuICAgICAgICAgICAgcnR3ZGZfID0gcng7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIEZGVE0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiID0gZnVuY3Rpb24gZ3Vlc3NMZW4xM2IgKG4sIG0pIHtcbiAgICB2YXIgTiA9IE1hdGgubWF4KG0sIG4pIHwgMTtcbiAgICB2YXIgb2RkID0gTiAmIDE7XG4gICAgdmFyIGkgPSAwO1xuICAgIGZvciAoTiA9IE4gLyAyIHwgMDsgTjsgTiA9IE4gPj4+IDEpIHtcbiAgICAgIGkrKztcbiAgICB9XG5cbiAgICByZXR1cm4gMSA8PCBpICsgMSArIG9kZDtcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5jb25qdWdhdGUgPSBmdW5jdGlvbiBjb25qdWdhdGUgKHJ3cywgaXdzLCBOKSB7XG4gICAgaWYgKE4gPD0gMSkgcmV0dXJuO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBOIC8gMjsgaSsrKSB7XG4gICAgICB2YXIgdCA9IHJ3c1tpXTtcblxuICAgICAgcndzW2ldID0gcndzW04gLSBpIC0gMV07XG4gICAgICByd3NbTiAtIGkgLSAxXSA9IHQ7XG5cbiAgICAgIHQgPSBpd3NbaV07XG5cbiAgICAgIGl3c1tpXSA9IC1pd3NbTiAtIGkgLSAxXTtcbiAgICAgIGl3c1tOIC0gaSAtIDFdID0gLXQ7XG4gICAgfVxuICB9O1xuXG4gIEZGVE0ucHJvdG90eXBlLm5vcm1hbGl6ZTEzYiA9IGZ1bmN0aW9uIG5vcm1hbGl6ZTEzYiAod3MsIE4pIHtcbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgTiAvIDI7IGkrKykge1xuICAgICAgdmFyIHcgPSBNYXRoLnJvdW5kKHdzWzIgKiBpICsgMV0gLyBOKSAqIDB4MjAwMCArXG4gICAgICAgIE1hdGgucm91bmQod3NbMiAqIGldIC8gTikgK1xuICAgICAgICBjYXJyeTtcblxuICAgICAgd3NbaV0gPSB3ICYgMHgzZmZmZmZmO1xuXG4gICAgICBpZiAodyA8IDB4NDAwMDAwMCkge1xuICAgICAgICBjYXJyeSA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjYXJyeSA9IHcgLyAweDQwMDAwMDAgfCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB3cztcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5jb252ZXJ0MTNiID0gZnVuY3Rpb24gY29udmVydDEzYiAod3MsIGxlbiwgcndzLCBOKSB7XG4gICAgdmFyIGNhcnJ5ID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjYXJyeSA9IGNhcnJ5ICsgKHdzW2ldIHwgMCk7XG5cbiAgICAgIHJ3c1syICogaV0gPSBjYXJyeSAmIDB4MWZmZjsgY2FycnkgPSBjYXJyeSA+Pj4gMTM7XG4gICAgICByd3NbMiAqIGkgKyAxXSA9IGNhcnJ5ICYgMHgxZmZmOyBjYXJyeSA9IGNhcnJ5ID4+PiAxMztcbiAgICB9XG5cbiAgICAvLyBQYWQgd2l0aCB6ZXJvZXNcbiAgICBmb3IgKGkgPSAyICogbGVuOyBpIDwgTjsgKytpKSB7XG4gICAgICByd3NbaV0gPSAwO1xuICAgIH1cblxuICAgIGFzc2VydChjYXJyeSA9PT0gMCk7XG4gICAgYXNzZXJ0KChjYXJyeSAmIH4weDFmZmYpID09PSAwKTtcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5zdHViID0gZnVuY3Rpb24gc3R1YiAoTikge1xuICAgIHZhciBwaCA9IG5ldyBBcnJheShOKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgcGhbaV0gPSAwO1xuICAgIH1cblxuICAgIHJldHVybiBwaDtcbiAgfTtcblxuICBGRlRNLnByb3RvdHlwZS5tdWxwID0gZnVuY3Rpb24gbXVscCAoeCwgeSwgb3V0KSB7XG4gICAgdmFyIE4gPSAyICogdGhpcy5ndWVzc0xlbjEzYih4Lmxlbmd0aCwgeS5sZW5ndGgpO1xuXG4gICAgdmFyIHJidCA9IHRoaXMubWFrZVJCVChOKTtcblxuICAgIHZhciBfID0gdGhpcy5zdHViKE4pO1xuXG4gICAgdmFyIHJ3cyA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgcndzdCA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgaXdzdCA9IG5ldyBBcnJheShOKTtcblxuICAgIHZhciBucndzID0gbmV3IEFycmF5KE4pO1xuICAgIHZhciBucndzdCA9IG5ldyBBcnJheShOKTtcbiAgICB2YXIgbml3c3QgPSBuZXcgQXJyYXkoTik7XG5cbiAgICB2YXIgcm13cyA9IG91dC53b3JkcztcbiAgICBybXdzLmxlbmd0aCA9IE47XG5cbiAgICB0aGlzLmNvbnZlcnQxM2IoeC53b3JkcywgeC5sZW5ndGgsIHJ3cywgTik7XG4gICAgdGhpcy5jb252ZXJ0MTNiKHkud29yZHMsIHkubGVuZ3RoLCBucndzLCBOKTtcblxuICAgIHRoaXMudHJhbnNmb3JtKHJ3cywgXywgcndzdCwgaXdzdCwgTiwgcmJ0KTtcbiAgICB0aGlzLnRyYW5zZm9ybShucndzLCBfLCBucndzdCwgbml3c3QsIE4sIHJidCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgdmFyIHJ4ID0gcndzdFtpXSAqIG5yd3N0W2ldIC0gaXdzdFtpXSAqIG5pd3N0W2ldO1xuICAgICAgaXdzdFtpXSA9IHJ3c3RbaV0gKiBuaXdzdFtpXSArIGl3c3RbaV0gKiBucndzdFtpXTtcbiAgICAgIHJ3c3RbaV0gPSByeDtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmp1Z2F0ZShyd3N0LCBpd3N0LCBOKTtcbiAgICB0aGlzLnRyYW5zZm9ybShyd3N0LCBpd3N0LCBybXdzLCBfLCBOLCByYnQpO1xuICAgIHRoaXMuY29uanVnYXRlKHJtd3MsIF8sIE4pO1xuICAgIHRoaXMubm9ybWFsaXplMTNiKHJtd3MsIE4pO1xuXG4gICAgb3V0Lm5lZ2F0aXZlID0geC5uZWdhdGl2ZSBeIHkubmVnYXRpdmU7XG4gICAgb3V0Lmxlbmd0aCA9IHgubGVuZ3RoICsgeS5sZW5ndGg7XG4gICAgcmV0dXJuIG91dC5fc3RyaXAoKTtcbiAgfTtcblxuICAvLyBNdWx0aXBseSBgdGhpc2AgYnkgYG51bWBcbiAgQk4ucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bCAobnVtKSB7XG4gICAgdmFyIG91dCA9IG5ldyBCTihudWxsKTtcbiAgICBvdXQud29yZHMgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGggKyBudW0ubGVuZ3RoKTtcbiAgICByZXR1cm4gdGhpcy5tdWxUbyhudW0sIG91dCk7XG4gIH07XG5cbiAgLy8gTXVsdGlwbHkgZW1wbG95aW5nIEZGVFxuICBCTi5wcm90b3R5cGUubXVsZiA9IGZ1bmN0aW9uIG11bGYgKG51bSkge1xuICAgIHZhciBvdXQgPSBuZXcgQk4obnVsbCk7XG4gICAgb3V0LndvcmRzID0gbmV3IEFycmF5KHRoaXMubGVuZ3RoICsgbnVtLmxlbmd0aCk7XG4gICAgcmV0dXJuIGp1bWJvTXVsVG8odGhpcywgbnVtLCBvdXQpO1xuICB9O1xuXG4gIC8vIEluLXBsYWNlIE11bHRpcGxpY2F0aW9uXG4gIEJOLnByb3RvdHlwZS5pbXVsID0gZnVuY3Rpb24gaW11bCAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyhudW0sIHRoaXMpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pbXVsbiA9IGZ1bmN0aW9uIGltdWxuIChudW0pIHtcbiAgICB2YXIgaXNOZWdOdW0gPSBudW0gPCAwO1xuICAgIGlmIChpc05lZ051bSkgbnVtID0gLW51bTtcblxuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XG5cbiAgICAvLyBDYXJyeVxuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKiBudW07XG4gICAgICB2YXIgbG8gPSAodyAmIDB4M2ZmZmZmZikgKyAoY2FycnkgJiAweDNmZmZmZmYpO1xuICAgICAgY2FycnkgPj49IDI2O1xuICAgICAgY2FycnkgKz0gKHcgLyAweDQwMDAwMDApIHwgMDtcbiAgICAgIC8vIE5PVEU6IGxvIGlzIDI3Yml0IG1heGltdW1cbiAgICAgIGNhcnJ5ICs9IGxvID4+PiAyNjtcbiAgICAgIHRoaXMud29yZHNbaV0gPSBsbyAmIDB4M2ZmZmZmZjtcbiAgICB9XG5cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzTmVnTnVtID8gdGhpcy5pbmVnKCkgOiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5tdWxuID0gZnVuY3Rpb24gbXVsbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbihudW0pO1xuICB9O1xuXG4gIC8vIGB0aGlzYCAqIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuc3FyID0gZnVuY3Rpb24gc3FyICgpIHtcbiAgICByZXR1cm4gdGhpcy5tdWwodGhpcyk7XG4gIH07XG5cbiAgLy8gYHRoaXNgICogYHRoaXNgIGluLXBsYWNlXG4gIEJOLnByb3RvdHlwZS5pc3FyID0gZnVuY3Rpb24gaXNxciAoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpO1xuICB9O1xuXG4gIC8vIE1hdGgucG93KGB0aGlzYCwgYG51bWApXG4gIEJOLnByb3RvdHlwZS5wb3cgPSBmdW5jdGlvbiBwb3cgKG51bSkge1xuICAgIHZhciB3ID0gdG9CaXRBcnJheShudW0pO1xuICAgIGlmICh3Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG5ldyBCTigxKTtcblxuICAgIC8vIFNraXAgbGVhZGluZyB6ZXJvZXNcbiAgICB2YXIgcmVzID0gdGhpcztcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHcubGVuZ3RoOyBpKyssIHJlcyA9IHJlcy5zcXIoKSkge1xuICAgICAgaWYgKHdbaV0gIT09IDApIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICgrK2kgPCB3Lmxlbmd0aCkge1xuICAgICAgZm9yICh2YXIgcSA9IHJlcy5zcXIoKTsgaSA8IHcubGVuZ3RoOyBpKyssIHEgPSBxLnNxcigpKSB7XG4gICAgICAgIGlmICh3W2ldID09PSAwKSBjb250aW51ZTtcblxuICAgICAgICByZXMgPSByZXMubXVsKHEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgLy8gU2hpZnQtbGVmdCBpbi1wbGFjZVxuICBCTi5wcm90b3R5cGUuaXVzaGxuID0gZnVuY3Rpb24gaXVzaGxuIChiaXRzKSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xuICAgIHZhciByID0gYml0cyAlIDI2O1xuICAgIHZhciBzID0gKGJpdHMgLSByKSAvIDI2O1xuICAgIHZhciBjYXJyeU1hc2sgPSAoMHgzZmZmZmZmID4+PiAoMjYgLSByKSkgPDwgKDI2IC0gcik7XG4gICAgdmFyIGk7XG5cbiAgICBpZiAociAhPT0gMCkge1xuICAgICAgdmFyIGNhcnJ5ID0gMDtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIG5ld0NhcnJ5ID0gdGhpcy53b3Jkc1tpXSAmIGNhcnJ5TWFzaztcbiAgICAgICAgdmFyIGMgPSAoKHRoaXMud29yZHNbaV0gfCAwKSAtIG5ld0NhcnJ5KSA8PCByO1xuICAgICAgICB0aGlzLndvcmRzW2ldID0gYyB8IGNhcnJ5O1xuICAgICAgICBjYXJyeSA9IG5ld0NhcnJ5ID4+PiAoMjYgLSByKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNhcnJ5KSB7XG4gICAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcbiAgICAgICAgdGhpcy5sZW5ndGgrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocyAhPT0gMCkge1xuICAgICAgZm9yIChpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICB0aGlzLndvcmRzW2kgKyBzXSA9IHRoaXMud29yZHNbaV07XG4gICAgICB9XG5cbiAgICAgIGZvciAoaSA9IDA7IGkgPCBzOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IDA7XG4gICAgICB9XG5cbiAgICAgIHRoaXMubGVuZ3RoICs9IHM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlzaGxuID0gZnVuY3Rpb24gaXNobG4gKGJpdHMpIHtcbiAgICAvLyBUT0RPKGluZHV0bnkpOiBpbXBsZW1lbnQgbWVcbiAgICBhc3NlcnQodGhpcy5uZWdhdGl2ZSA9PT0gMCk7XG4gICAgcmV0dXJuIHRoaXMuaXVzaGxuKGJpdHMpO1xuICB9O1xuXG4gIC8vIFNoaWZ0LXJpZ2h0IGluLXBsYWNlXG4gIC8vIE5PVEU6IGBoaW50YCBpcyBhIGxvd2VzdCBiaXQgYmVmb3JlIHRyYWlsaW5nIHplcm9lc1xuICAvLyBOT1RFOiBpZiBgZXh0ZW5kZWRgIGlzIHByZXNlbnQgLSBpdCB3aWxsIGJlIGZpbGxlZCB3aXRoIGRlc3Ryb3llZCBiaXRzXG4gIEJOLnByb3RvdHlwZS5pdXNocm4gPSBmdW5jdGlvbiBpdXNocm4gKGJpdHMsIGhpbnQsIGV4dGVuZGVkKSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXRzID09PSAnbnVtYmVyJyAmJiBiaXRzID49IDApO1xuICAgIHZhciBoO1xuICAgIGlmIChoaW50KSB7XG4gICAgICBoID0gKGhpbnQgLSAoaGludCAlIDI2KSkgLyAyNjtcbiAgICB9IGVsc2Uge1xuICAgICAgaCA9IDA7XG4gICAgfVxuXG4gICAgdmFyIHIgPSBiaXRzICUgMjY7XG4gICAgdmFyIHMgPSBNYXRoLm1pbigoYml0cyAtIHIpIC8gMjYsIHRoaXMubGVuZ3RoKTtcbiAgICB2YXIgbWFzayA9IDB4M2ZmZmZmZiBeICgoMHgzZmZmZmZmID4+PiByKSA8PCByKTtcbiAgICB2YXIgbWFza2VkV29yZHMgPSBleHRlbmRlZDtcblxuICAgIGggLT0gcztcbiAgICBoID0gTWF0aC5tYXgoMCwgaCk7XG5cbiAgICAvLyBFeHRlbmRlZCBtb2RlLCBjb3B5IG1hc2tlZCBwYXJ0XG4gICAgaWYgKG1hc2tlZFdvcmRzKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHM7IGkrKykge1xuICAgICAgICBtYXNrZWRXb3Jkcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaV07XG4gICAgICB9XG4gICAgICBtYXNrZWRXb3Jkcy5sZW5ndGggPSBzO1xuICAgIH1cblxuICAgIGlmIChzID09PSAwKSB7XG4gICAgICAvLyBOby1vcCwgd2Ugc2hvdWxkIG5vdCBtb3ZlIGFueXRoaW5nIGF0IGFsbFxuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGggPiBzKSB7XG4gICAgICB0aGlzLmxlbmd0aCAtPSBzO1xuICAgICAgZm9yIChpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSA9IHRoaXMud29yZHNbaSArIHNdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLndvcmRzWzBdID0gMDtcbiAgICAgIHRoaXMubGVuZ3RoID0gMTtcbiAgICB9XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAoaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwICYmIChjYXJyeSAhPT0gMCB8fCBpID49IGgpOyBpLS0pIHtcbiAgICAgIHZhciB3b3JkID0gdGhpcy53b3Jkc1tpXSB8IDA7XG4gICAgICB0aGlzLndvcmRzW2ldID0gKGNhcnJ5IDw8ICgyNiAtIHIpKSB8ICh3b3JkID4+PiByKTtcbiAgICAgIGNhcnJ5ID0gd29yZCAmIG1hc2s7XG4gICAgfVxuXG4gICAgLy8gUHVzaCBjYXJyaWVkIGJpdHMgYXMgYSBtYXNrXG4gICAgaWYgKG1hc2tlZFdvcmRzICYmIGNhcnJ5ICE9PSAwKSB7XG4gICAgICBtYXNrZWRXb3Jkcy53b3Jkc1ttYXNrZWRXb3Jkcy5sZW5ndGgrK10gPSBjYXJyeTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbMF0gPSAwO1xuICAgICAgdGhpcy5sZW5ndGggPSAxO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zdHJpcCgpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc2hybiA9IGZ1bmN0aW9uIGlzaHJuIChiaXRzLCBoaW50LCBleHRlbmRlZCkge1xuICAgIC8vIFRPRE8oaW5kdXRueSk6IGltcGxlbWVudCBtZVxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwKTtcbiAgICByZXR1cm4gdGhpcy5pdXNocm4oYml0cywgaGludCwgZXh0ZW5kZWQpO1xuICB9O1xuXG4gIC8vIFNoaWZ0LWxlZnRcbiAgQk4ucHJvdG90eXBlLnNobG4gPSBmdW5jdGlvbiBzaGxuIChiaXRzKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbihiaXRzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudXNobG4gPSBmdW5jdGlvbiB1c2hsbiAoYml0cykge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKGJpdHMpO1xuICB9O1xuXG4gIC8vIFNoaWZ0LXJpZ2h0XG4gIEJOLnByb3RvdHlwZS5zaHJuID0gZnVuY3Rpb24gc2hybiAoYml0cykge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaXNocm4oYml0cyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnVzaHJuID0gZnVuY3Rpb24gdXNocm4gKGJpdHMpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybihiaXRzKTtcbiAgfTtcblxuICAvLyBUZXN0IGlmIG4gYml0IGlzIHNldFxuICBCTi5wcm90b3R5cGUudGVzdG4gPSBmdW5jdGlvbiB0ZXN0biAoYml0KSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBiaXQgPT09ICdudW1iZXInICYmIGJpdCA+PSAwKTtcbiAgICB2YXIgciA9IGJpdCAlIDI2O1xuICAgIHZhciBzID0gKGJpdCAtIHIpIC8gMjY7XG4gICAgdmFyIHEgPSAxIDw8IHI7XG5cbiAgICAvLyBGYXN0IGNhc2U6IGJpdCBpcyBtdWNoIGhpZ2hlciB0aGFuIGFsbCBleGlzdGluZyB3b3Jkc1xuICAgIGlmICh0aGlzLmxlbmd0aCA8PSBzKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBDaGVjayBiaXQgYW5kIHJldHVyblxuICAgIHZhciB3ID0gdGhpcy53b3Jkc1tzXTtcblxuICAgIHJldHVybiAhISh3ICYgcSk7XG4gIH07XG5cbiAgLy8gUmV0dXJuIG9ubHkgbG93ZXJzIGJpdHMgb2YgbnVtYmVyIChpbi1wbGFjZSlcbiAgQk4ucHJvdG90eXBlLmltYXNrbiA9IGZ1bmN0aW9uIGltYXNrbiAoYml0cykge1xuICAgIGFzc2VydCh0eXBlb2YgYml0cyA9PT0gJ251bWJlcicgJiYgYml0cyA+PSAwKTtcbiAgICB2YXIgciA9IGJpdHMgJSAyNjtcbiAgICB2YXIgcyA9IChiaXRzIC0gcikgLyAyNjtcblxuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAnaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzJyk7XG5cbiAgICBpZiAodGhpcy5sZW5ndGggPD0gcykge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgaWYgKHIgIT09IDApIHtcbiAgICAgIHMrKztcbiAgICB9XG4gICAgdGhpcy5sZW5ndGggPSBNYXRoLm1pbihzLCB0aGlzLmxlbmd0aCk7XG5cbiAgICBpZiAociAhPT0gMCkge1xuICAgICAgdmFyIG1hc2sgPSAweDNmZmZmZmYgXiAoKDB4M2ZmZmZmZiA+Pj4gcikgPDwgcik7XG4gICAgICB0aGlzLndvcmRzW3RoaXMubGVuZ3RoIC0gMV0gJj0gbWFzaztcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICAvLyBSZXR1cm4gb25seSBsb3dlcnMgYml0cyBvZiBudW1iZXJcbiAgQk4ucHJvdG90eXBlLm1hc2tuID0gZnVuY3Rpb24gbWFza24gKGJpdHMpIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbihiaXRzKTtcbiAgfTtcblxuICAvLyBBZGQgcGxhaW4gbnVtYmVyIGBudW1gIHRvIGB0aGlzYFxuICBCTi5wcm90b3R5cGUuaWFkZG4gPSBmdW5jdGlvbiBpYWRkbiAobnVtKSB7XG4gICAgYXNzZXJ0KHR5cGVvZiBudW0gPT09ICdudW1iZXInKTtcbiAgICBhc3NlcnQobnVtIDwgMHg0MDAwMDAwKTtcbiAgICBpZiAobnVtIDwgMCkgcmV0dXJuIHRoaXMuaXN1Ym4oLW51bSk7XG5cbiAgICAvLyBQb3NzaWJsZSBzaWduIGNoYW5nZVxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEgJiYgKHRoaXMud29yZHNbMF0gfCAwKSA8PSBudW0pIHtcbiAgICAgICAgdGhpcy53b3Jkc1swXSA9IG51bSAtICh0aGlzLndvcmRzWzBdIHwgMCk7XG4gICAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cblxuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDA7XG4gICAgICB0aGlzLmlzdWJuKG51bSk7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gMTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCB3aXRob3V0IGNoZWNrc1xuICAgIHJldHVybiB0aGlzLl9pYWRkbihudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5faWFkZG4gPSBmdW5jdGlvbiBfaWFkZG4gKG51bSkge1xuICAgIHRoaXMud29yZHNbMF0gKz0gbnVtO1xuXG4gICAgLy8gQ2FycnlcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPj0gMHg0MDAwMDAwOyBpKyspIHtcbiAgICAgIHRoaXMud29yZHNbaV0gLT0gMHg0MDAwMDAwO1xuICAgICAgaWYgKGkgPT09IHRoaXMubGVuZ3RoIC0gMSkge1xuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLndvcmRzW2kgKyAxXSsrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubGVuZ3RoLCBpICsgMSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvLyBTdWJ0cmFjdCBwbGFpbiBudW1iZXIgYG51bWAgZnJvbSBgdGhpc2BcbiAgQk4ucHJvdG90eXBlLmlzdWJuID0gZnVuY3Rpb24gaXN1Ym4gKG51bSkge1xuICAgIGFzc2VydCh0eXBlb2YgbnVtID09PSAnbnVtYmVyJyk7XG4gICAgYXNzZXJ0KG51bSA8IDB4NDAwMDAwMCk7XG4gICAgaWYgKG51bSA8IDApIHJldHVybiB0aGlzLmlhZGRuKC1udW0pO1xuXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSAwO1xuICAgICAgdGhpcy5pYWRkbihudW0pO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB0aGlzLndvcmRzWzBdIC09IG51bTtcblxuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdIDwgMCkge1xuICAgICAgdGhpcy53b3Jkc1swXSA9IC10aGlzLndvcmRzWzBdO1xuICAgICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENhcnJ5XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoICYmIHRoaXMud29yZHNbaV0gPCAwOyBpKyspIHtcbiAgICAgICAgdGhpcy53b3Jkc1tpXSArPSAweDQwMDAwMDA7XG4gICAgICAgIHRoaXMud29yZHNbaSArIDFdIC09IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmFkZG4gPSBmdW5jdGlvbiBhZGRuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnN1Ym4gPSBmdW5jdGlvbiBzdWJuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmlhYnMgPSBmdW5jdGlvbiBpYWJzICgpIHtcbiAgICB0aGlzLm5lZ2F0aXZlID0gMDtcblxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5hYnMgPSBmdW5jdGlvbiBhYnMgKCkge1xuICAgIHJldHVybiB0aGlzLmNsb25lKCkuaWFicygpO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5faXNobG5zdWJtdWwgPSBmdW5jdGlvbiBfaXNobG5zdWJtdWwgKG51bSwgbXVsLCBzaGlmdCkge1xuICAgIHZhciBsZW4gPSBudW0ubGVuZ3RoICsgc2hpZnQ7XG4gICAgdmFyIGk7XG5cbiAgICB0aGlzLl9leHBhbmQobGVuKTtcblxuICAgIHZhciB3O1xuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yIChpID0gMDsgaSA8IG51bS5sZW5ndGg7IGkrKykge1xuICAgICAgdyA9ICh0aGlzLndvcmRzW2kgKyBzaGlmdF0gfCAwKSArIGNhcnJ5O1xuICAgICAgdmFyIHJpZ2h0ID0gKG51bS53b3Jkc1tpXSB8IDApICogbXVsO1xuICAgICAgdyAtPSByaWdodCAmIDB4M2ZmZmZmZjtcbiAgICAgIGNhcnJ5ID0gKHcgPj4gMjYpIC0gKChyaWdodCAvIDB4NDAwMDAwMCkgfCAwKTtcbiAgICAgIHRoaXMud29yZHNbaSArIHNoaWZ0XSA9IHcgJiAweDNmZmZmZmY7XG4gICAgfVxuICAgIGZvciAoOyBpIDwgdGhpcy5sZW5ndGggLSBzaGlmdDsgaSsrKSB7XG4gICAgICB3ID0gKHRoaXMud29yZHNbaSArIHNoaWZ0XSB8IDApICsgY2Fycnk7XG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2kgKyBzaGlmdF0gPSB3ICYgMHgzZmZmZmZmO1xuICAgIH1cblxuICAgIGlmIChjYXJyeSA9PT0gMCkgcmV0dXJuIHRoaXMuX3N0cmlwKCk7XG5cbiAgICAvLyBTdWJ0cmFjdGlvbiBvdmVyZmxvd1xuICAgIGFzc2VydChjYXJyeSA9PT0gLTEpO1xuICAgIGNhcnJ5ID0gMDtcbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgdyA9IC0odGhpcy53b3Jkc1tpXSB8IDApICsgY2Fycnk7XG4gICAgICBjYXJyeSA9IHcgPj4gMjY7XG4gICAgICB0aGlzLndvcmRzW2ldID0gdyAmIDB4M2ZmZmZmZjtcbiAgICB9XG4gICAgdGhpcy5uZWdhdGl2ZSA9IDE7XG5cbiAgICByZXR1cm4gdGhpcy5fc3RyaXAoKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuX3dvcmREaXYgPSBmdW5jdGlvbiBfd29yZERpdiAobnVtLCBtb2RlKSB7XG4gICAgdmFyIHNoaWZ0ID0gdGhpcy5sZW5ndGggLSBudW0ubGVuZ3RoO1xuXG4gICAgdmFyIGEgPSB0aGlzLmNsb25lKCk7XG4gICAgdmFyIGIgPSBudW07XG5cbiAgICAvLyBOb3JtYWxpemVcbiAgICB2YXIgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcbiAgICB2YXIgYmhpQml0cyA9IHRoaXMuX2NvdW50Qml0cyhiaGkpO1xuICAgIHNoaWZ0ID0gMjYgLSBiaGlCaXRzO1xuICAgIGlmIChzaGlmdCAhPT0gMCkge1xuICAgICAgYiA9IGIudXNobG4oc2hpZnQpO1xuICAgICAgYS5pdXNobG4oc2hpZnQpO1xuICAgICAgYmhpID0gYi53b3Jkc1tiLmxlbmd0aCAtIDFdIHwgMDtcbiAgICB9XG5cbiAgICAvLyBJbml0aWFsaXplIHF1b3RpZW50XG4gICAgdmFyIG0gPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xuICAgIHZhciBxO1xuXG4gICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XG4gICAgICBxID0gbmV3IEJOKG51bGwpO1xuICAgICAgcS5sZW5ndGggPSBtICsgMTtcbiAgICAgIHEud29yZHMgPSBuZXcgQXJyYXkocS5sZW5ndGgpO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHEud29yZHNbaV0gPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBkaWZmID0gYS5jbG9uZSgpLl9pc2hsbnN1Ym11bChiLCAxLCBtKTtcbiAgICBpZiAoZGlmZi5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgYSA9IGRpZmY7XG4gICAgICBpZiAocSkge1xuICAgICAgICBxLndvcmRzW21dID0gMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKHZhciBqID0gbSAtIDE7IGogPj0gMDsgai0tKSB7XG4gICAgICB2YXIgcWogPSAoYS53b3Jkc1tiLmxlbmd0aCArIGpdIHwgMCkgKiAweDQwMDAwMDAgK1xuICAgICAgICAoYS53b3Jkc1tiLmxlbmd0aCArIGogLSAxXSB8IDApO1xuXG4gICAgICAvLyBOT1RFOiAocWogLyBiaGkpIGlzICgweDNmZmZmZmYgKiAweDQwMDAwMDAgKyAweDNmZmZmZmYpIC8gMHgyMDAwMDAwIG1heFxuICAgICAgLy8gKDB4N2ZmZmZmZilcbiAgICAgIHFqID0gTWF0aC5taW4oKHFqIC8gYmhpKSB8IDAsIDB4M2ZmZmZmZik7XG5cbiAgICAgIGEuX2lzaGxuc3VibXVsKGIsIHFqLCBqKTtcbiAgICAgIHdoaWxlIChhLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgIHFqLS07XG4gICAgICAgIGEubmVnYXRpdmUgPSAwO1xuICAgICAgICBhLl9pc2hsbnN1Ym11bChiLCAxLCBqKTtcbiAgICAgICAgaWYgKCFhLmlzWmVybygpKSB7XG4gICAgICAgICAgYS5uZWdhdGl2ZSBePSAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAocSkge1xuICAgICAgICBxLndvcmRzW2pdID0gcWo7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChxKSB7XG4gICAgICBxLl9zdHJpcCgpO1xuICAgIH1cbiAgICBhLl9zdHJpcCgpO1xuXG4gICAgLy8gRGVub3JtYWxpemVcbiAgICBpZiAobW9kZSAhPT0gJ2RpdicgJiYgc2hpZnQgIT09IDApIHtcbiAgICAgIGEuaXVzaHJuKHNoaWZ0KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGl2OiBxIHx8IG51bGwsXG4gICAgICBtb2Q6IGFcbiAgICB9O1xuICB9O1xuXG4gIC8vIE5PVEU6IDEpIGBtb2RlYCBjYW4gYmUgc2V0IHRvIGBtb2RgIHRvIHJlcXVlc3QgbW9kIG9ubHksXG4gIC8vICAgICAgIHRvIGBkaXZgIHRvIHJlcXVlc3QgZGl2IG9ubHksIG9yIGJlIGFic2VudCB0b1xuICAvLyAgICAgICByZXF1ZXN0IGJvdGggZGl2ICYgbW9kXG4gIC8vICAgICAgIDIpIGBwb3NpdGl2ZWAgaXMgdHJ1ZSBpZiB1bnNpZ25lZCBtb2QgaXMgcmVxdWVzdGVkXG4gIEJOLnByb3RvdHlwZS5kaXZtb2QgPSBmdW5jdGlvbiBkaXZtb2QgKG51bSwgbW9kZSwgcG9zaXRpdmUpIHtcbiAgICBhc3NlcnQoIW51bS5pc1plcm8oKSk7XG5cbiAgICBpZiAodGhpcy5pc1plcm8oKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBuZXcgQk4oMCksXG4gICAgICAgIG1vZDogbmV3IEJOKDApXG4gICAgICB9O1xuICAgIH1cblxuICAgIHZhciBkaXYsIG1vZCwgcmVzO1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmIG51bS5uZWdhdGl2ZSA9PT0gMCkge1xuICAgICAgcmVzID0gdGhpcy5uZWcoKS5kaXZtb2QobnVtLCBtb2RlKTtcblxuICAgICAgaWYgKG1vZGUgIT09ICdtb2QnKSB7XG4gICAgICAgIGRpdiA9IHJlcy5kaXYubmVnKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlICE9PSAnZGl2Jykge1xuICAgICAgICBtb2QgPSByZXMubW9kLm5lZygpO1xuICAgICAgICBpZiAocG9zaXRpdmUgJiYgbW9kLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICAgICAgbW9kLmlhZGQobnVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBkaXY6IGRpdixcbiAgICAgICAgbW9kOiBtb2RcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmVnYXRpdmUgPT09IDAgJiYgbnVtLm5lZ2F0aXZlICE9PSAwKSB7XG4gICAgICByZXMgPSB0aGlzLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xuXG4gICAgICBpZiAobW9kZSAhPT0gJ21vZCcpIHtcbiAgICAgICAgZGl2ID0gcmVzLmRpdi5uZWcoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiBkaXYsXG4gICAgICAgIG1vZDogcmVzLm1vZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoKHRoaXMubmVnYXRpdmUgJiBudW0ubmVnYXRpdmUpICE9PSAwKSB7XG4gICAgICByZXMgPSB0aGlzLm5lZygpLmRpdm1vZChudW0ubmVnKCksIG1vZGUpO1xuXG4gICAgICBpZiAobW9kZSAhPT0gJ2RpdicpIHtcbiAgICAgICAgbW9kID0gcmVzLm1vZC5uZWcoKTtcbiAgICAgICAgaWYgKHBvc2l0aXZlICYmIG1vZC5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgICAgIG1vZC5pc3ViKG51bSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiByZXMuZGl2LFxuICAgICAgICBtb2Q6IG1vZFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBCb3RoIG51bWJlcnMgYXJlIHBvc2l0aXZlIGF0IHRoaXMgcG9pbnRcblxuICAgIC8vIFN0cmlwIGJvdGggbnVtYmVycyB0byBhcHByb3hpbWF0ZSBzaGlmdCB2YWx1ZVxuICAgIGlmIChudW0ubGVuZ3RoID4gdGhpcy5sZW5ndGggfHwgdGhpcy5jbXAobnVtKSA8IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRpdjogbmV3IEJOKDApLFxuICAgICAgICBtb2Q6IHRoaXNcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gVmVyeSBzaG9ydCByZWR1Y3Rpb25cbiAgICBpZiAobnVtLmxlbmd0aCA9PT0gMSkge1xuICAgICAgaWYgKG1vZGUgPT09ICdkaXYnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcbiAgICAgICAgICBtb2Q6IG51bGxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1vZGUgPT09ICdtb2QnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGl2OiBudWxsLFxuICAgICAgICAgIG1vZDogbmV3IEJOKHRoaXMubW9kcm4obnVtLndvcmRzWzBdKSlcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGl2OiB0aGlzLmRpdm4obnVtLndvcmRzWzBdKSxcbiAgICAgICAgbW9kOiBuZXcgQk4odGhpcy5tb2RybihudW0ud29yZHNbMF0pKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fd29yZERpdihudW0sIG1vZGUpO1xuICB9O1xuXG4gIC8vIEZpbmQgYHRoaXNgIC8gYG51bWBcbiAgQk4ucHJvdG90eXBlLmRpdiA9IGZ1bmN0aW9uIGRpdiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuZGl2bW9kKG51bSwgJ2RpdicsIGZhbHNlKS5kaXY7XG4gIH07XG5cbiAgLy8gRmluZCBgdGhpc2AgJSBgbnVtYFxuICBCTi5wcm90b3R5cGUubW9kID0gZnVuY3Rpb24gbW9kIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5kaXZtb2QobnVtLCAnbW9kJywgZmFsc2UpLm1vZDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUudW1vZCA9IGZ1bmN0aW9uIHVtb2QgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmRpdm1vZChudW0sICdtb2QnLCB0cnVlKS5tb2Q7XG4gIH07XG5cbiAgLy8gRmluZCBSb3VuZChgdGhpc2AgLyBgbnVtYClcbiAgQk4ucHJvdG90eXBlLmRpdlJvdW5kID0gZnVuY3Rpb24gZGl2Um91bmQgKG51bSkge1xuICAgIHZhciBkbSA9IHRoaXMuZGl2bW9kKG51bSk7XG5cbiAgICAvLyBGYXN0IGNhc2UgLSBleGFjdCBkaXZpc2lvblxuICAgIGlmIChkbS5tb2QuaXNaZXJvKCkpIHJldHVybiBkbS5kaXY7XG5cbiAgICB2YXIgbW9kID0gZG0uZGl2Lm5lZ2F0aXZlICE9PSAwID8gZG0ubW9kLmlzdWIobnVtKSA6IGRtLm1vZDtcblxuICAgIHZhciBoYWxmID0gbnVtLnVzaHJuKDEpO1xuICAgIHZhciByMiA9IG51bS5hbmRsbigxKTtcbiAgICB2YXIgY21wID0gbW9kLmNtcChoYWxmKTtcblxuICAgIC8vIFJvdW5kIGRvd25cbiAgICBpZiAoY21wIDwgMCB8fCAocjIgPT09IDEgJiYgY21wID09PSAwKSkgcmV0dXJuIGRtLmRpdjtcblxuICAgIC8vIFJvdW5kIHVwXG4gICAgcmV0dXJuIGRtLmRpdi5uZWdhdGl2ZSAhPT0gMCA/IGRtLmRpdi5pc3VibigxKSA6IGRtLmRpdi5pYWRkbigxKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubW9kcm4gPSBmdW5jdGlvbiBtb2RybiAobnVtKSB7XG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcbiAgICBpZiAoaXNOZWdOdW0pIG51bSA9IC1udW07XG5cbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XG4gICAgdmFyIHAgPSAoMSA8PCAyNikgJSBudW07XG5cbiAgICB2YXIgYWNjID0gMDtcbiAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgYWNjID0gKHAgKiBhY2MgKyAodGhpcy53b3Jkc1tpXSB8IDApKSAlIG51bTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNOZWdOdW0gPyAtYWNjIDogYWNjO1xuICB9O1xuXG4gIC8vIFdBUk5JTkc6IERFUFJFQ0FURURcbiAgQk4ucHJvdG90eXBlLm1vZG4gPSBmdW5jdGlvbiBtb2RuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5tb2RybihudW0pO1xuICB9O1xuXG4gIC8vIEluLXBsYWNlIGRpdmlzaW9uIGJ5IG51bWJlclxuICBCTi5wcm90b3R5cGUuaWRpdm4gPSBmdW5jdGlvbiBpZGl2biAobnVtKSB7XG4gICAgdmFyIGlzTmVnTnVtID0gbnVtIDwgMDtcbiAgICBpZiAoaXNOZWdOdW0pIG51bSA9IC1udW07XG5cbiAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZik7XG5cbiAgICB2YXIgY2FycnkgPSAwO1xuICAgIGZvciAodmFyIGkgPSB0aGlzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgdyA9ICh0aGlzLndvcmRzW2ldIHwgMCkgKyBjYXJyeSAqIDB4NDAwMDAwMDtcbiAgICAgIHRoaXMud29yZHNbaV0gPSAodyAvIG51bSkgfCAwO1xuICAgICAgY2FycnkgPSB3ICUgbnVtO1xuICAgIH1cblxuICAgIHRoaXMuX3N0cmlwKCk7XG4gICAgcmV0dXJuIGlzTmVnTnVtID8gdGhpcy5pbmVnKCkgOiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5kaXZuID0gZnVuY3Rpb24gZGl2biAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bihudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5lZ2NkID0gZnVuY3Rpb24gZWdjZCAocCkge1xuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xuXG4gICAgdmFyIHggPSB0aGlzO1xuICAgIHZhciB5ID0gcC5jbG9uZSgpO1xuXG4gICAgaWYgKHgubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIHggPSB4LnVtb2QocCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHggPSB4LmNsb25lKCk7XG4gICAgfVxuXG4gICAgLy8gQSAqIHggKyBCICogeSA9IHhcbiAgICB2YXIgQSA9IG5ldyBCTigxKTtcbiAgICB2YXIgQiA9IG5ldyBCTigwKTtcblxuICAgIC8vIEMgKiB4ICsgRCAqIHkgPSB5XG4gICAgdmFyIEMgPSBuZXcgQk4oMCk7XG4gICAgdmFyIEQgPSBuZXcgQk4oMSk7XG5cbiAgICB2YXIgZyA9IDA7XG5cbiAgICB3aGlsZSAoeC5pc0V2ZW4oKSAmJiB5LmlzRXZlbigpKSB7XG4gICAgICB4Lml1c2hybigxKTtcbiAgICAgIHkuaXVzaHJuKDEpO1xuICAgICAgKytnO1xuICAgIH1cblxuICAgIHZhciB5cCA9IHkuY2xvbmUoKTtcbiAgICB2YXIgeHAgPSB4LmNsb25lKCk7XG5cbiAgICB3aGlsZSAoIXguaXNaZXJvKCkpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7ICh4LndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XG4gICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgeC5pdXNocm4oaSk7XG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XG4gICAgICAgICAgaWYgKEEuaXNPZGQoKSB8fCBCLmlzT2RkKCkpIHtcbiAgICAgICAgICAgIEEuaWFkZCh5cCk7XG4gICAgICAgICAgICBCLmlzdWIoeHApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEEuaXVzaHJuKDEpO1xuICAgICAgICAgIEIuaXVzaHJuKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGZvciAodmFyIGogPSAwLCBqbSA9IDE7ICh5LndvcmRzWzBdICYgam0pID09PSAwICYmIGogPCAyNjsgKytqLCBqbSA8PD0gMSk7XG4gICAgICBpZiAoaiA+IDApIHtcbiAgICAgICAgeS5pdXNocm4oaik7XG4gICAgICAgIHdoaWxlIChqLS0gPiAwKSB7XG4gICAgICAgICAgaWYgKEMuaXNPZGQoKSB8fCBELmlzT2RkKCkpIHtcbiAgICAgICAgICAgIEMuaWFkZCh5cCk7XG4gICAgICAgICAgICBELmlzdWIoeHApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEMuaXVzaHJuKDEpO1xuICAgICAgICAgIEQuaXVzaHJuKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh4LmNtcCh5KSA+PSAwKSB7XG4gICAgICAgIHguaXN1Yih5KTtcbiAgICAgICAgQS5pc3ViKEMpO1xuICAgICAgICBCLmlzdWIoRCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB5LmlzdWIoeCk7XG4gICAgICAgIEMuaXN1YihBKTtcbiAgICAgICAgRC5pc3ViKEIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhOiBDLFxuICAgICAgYjogRCxcbiAgICAgIGdjZDogeS5pdXNobG4oZylcbiAgICB9O1xuICB9O1xuXG4gIC8vIFRoaXMgaXMgcmVkdWNlZCBpbmNhcm5hdGlvbiBvZiB0aGUgYmluYXJ5IEVFQVxuICAvLyBhYm92ZSwgZGVzaWduYXRlZCB0byBpbnZlcnQgbWVtYmVycyBvZiB0aGVcbiAgLy8gX3ByaW1lXyBmaWVsZHMgRihwKSBhdCBhIG1heGltYWwgc3BlZWRcbiAgQk4ucHJvdG90eXBlLl9pbnZtcCA9IGZ1bmN0aW9uIF9pbnZtcCAocCkge1xuICAgIGFzc2VydChwLm5lZ2F0aXZlID09PSAwKTtcbiAgICBhc3NlcnQoIXAuaXNaZXJvKCkpO1xuXG4gICAgdmFyIGEgPSB0aGlzO1xuICAgIHZhciBiID0gcC5jbG9uZSgpO1xuXG4gICAgaWYgKGEubmVnYXRpdmUgIT09IDApIHtcbiAgICAgIGEgPSBhLnVtb2QocCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGEgPSBhLmNsb25lKCk7XG4gICAgfVxuXG4gICAgdmFyIHgxID0gbmV3IEJOKDEpO1xuICAgIHZhciB4MiA9IG5ldyBCTigwKTtcblxuICAgIHZhciBkZWx0YSA9IGIuY2xvbmUoKTtcblxuICAgIHdoaWxlIChhLmNtcG4oMSkgPiAwICYmIGIuY21wbigxKSA+IDApIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBpbSA9IDE7IChhLndvcmRzWzBdICYgaW0pID09PSAwICYmIGkgPCAyNjsgKytpLCBpbSA8PD0gMSk7XG4gICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgYS5pdXNocm4oaSk7XG4gICAgICAgIHdoaWxlIChpLS0gPiAwKSB7XG4gICAgICAgICAgaWYgKHgxLmlzT2RkKCkpIHtcbiAgICAgICAgICAgIHgxLmlhZGQoZGVsdGEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHgxLml1c2hybigxKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKHZhciBqID0gMCwgam0gPSAxOyAoYi53b3Jkc1swXSAmIGptKSA9PT0gMCAmJiBqIDwgMjY7ICsraiwgam0gPDw9IDEpO1xuICAgICAgaWYgKGogPiAwKSB7XG4gICAgICAgIGIuaXVzaHJuKGopO1xuICAgICAgICB3aGlsZSAoai0tID4gMCkge1xuICAgICAgICAgIGlmICh4Mi5pc09kZCgpKSB7XG4gICAgICAgICAgICB4Mi5pYWRkKGRlbHRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB4Mi5pdXNocm4oMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGEuY21wKGIpID49IDApIHtcbiAgICAgICAgYS5pc3ViKGIpO1xuICAgICAgICB4MS5pc3ViKHgyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGIuaXN1YihhKTtcbiAgICAgICAgeDIuaXN1Yih4MSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHJlcztcbiAgICBpZiAoYS5jbXBuKDEpID09PSAwKSB7XG4gICAgICByZXMgPSB4MTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzID0geDI7XG4gICAgfVxuXG4gICAgaWYgKHJlcy5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzLmlhZGQocCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ2NkID0gZnVuY3Rpb24gZ2NkIChudW0pIHtcbiAgICBpZiAodGhpcy5pc1plcm8oKSkgcmV0dXJuIG51bS5hYnMoKTtcbiAgICBpZiAobnVtLmlzWmVybygpKSByZXR1cm4gdGhpcy5hYnMoKTtcblxuICAgIHZhciBhID0gdGhpcy5jbG9uZSgpO1xuICAgIHZhciBiID0gbnVtLmNsb25lKCk7XG4gICAgYS5uZWdhdGl2ZSA9IDA7XG4gICAgYi5uZWdhdGl2ZSA9IDA7XG5cbiAgICAvLyBSZW1vdmUgY29tbW9uIGZhY3RvciBvZiB0d29cbiAgICBmb3IgKHZhciBzaGlmdCA9IDA7IGEuaXNFdmVuKCkgJiYgYi5pc0V2ZW4oKTsgc2hpZnQrKykge1xuICAgICAgYS5pdXNocm4oMSk7XG4gICAgICBiLml1c2hybigxKTtcbiAgICB9XG5cbiAgICBkbyB7XG4gICAgICB3aGlsZSAoYS5pc0V2ZW4oKSkge1xuICAgICAgICBhLml1c2hybigxKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChiLmlzRXZlbigpKSB7XG4gICAgICAgIGIuaXVzaHJuKDEpO1xuICAgICAgfVxuXG4gICAgICB2YXIgciA9IGEuY21wKGIpO1xuICAgICAgaWYgKHIgPCAwKSB7XG4gICAgICAgIC8vIFN3YXAgYGFgIGFuZCBgYmAgdG8gbWFrZSBgYWAgYWx3YXlzIGJpZ2dlciB0aGFuIGBiYFxuICAgICAgICB2YXIgdCA9IGE7XG4gICAgICAgIGEgPSBiO1xuICAgICAgICBiID0gdDtcbiAgICAgIH0gZWxzZSBpZiAociA9PT0gMCB8fCBiLmNtcG4oMSkgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGEuaXN1YihiKTtcbiAgICB9IHdoaWxlICh0cnVlKTtcblxuICAgIHJldHVybiBiLml1c2hsbihzaGlmdCk7XG4gIH07XG5cbiAgLy8gSW52ZXJ0IG51bWJlciBpbiB0aGUgZmllbGQgRihudW0pXG4gIEJOLnByb3RvdHlwZS5pbnZtID0gZnVuY3Rpb24gaW52bSAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuZWdjZChudW0pLmEudW1vZChudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc0V2ZW4gPSBmdW5jdGlvbiBpc0V2ZW4gKCkge1xuICAgIHJldHVybiAodGhpcy53b3Jkc1swXSAmIDEpID09PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc09kZCA9IGZ1bmN0aW9uIGlzT2RkICgpIHtcbiAgICByZXR1cm4gKHRoaXMud29yZHNbMF0gJiAxKSA9PT0gMTtcbiAgfTtcblxuICAvLyBBbmQgZmlyc3Qgd29yZCBhbmQgbnVtXG4gIEJOLnByb3RvdHlwZS5hbmRsbiA9IGZ1bmN0aW9uIGFuZGxuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy53b3Jkc1swXSAmIG51bTtcbiAgfTtcblxuICAvLyBJbmNyZW1lbnQgYXQgdGhlIGJpdCBwb3NpdGlvbiBpbi1saW5lXG4gIEJOLnByb3RvdHlwZS5iaW5jbiA9IGZ1bmN0aW9uIGJpbmNuIChiaXQpIHtcbiAgICBhc3NlcnQodHlwZW9mIGJpdCA9PT0gJ251bWJlcicpO1xuICAgIHZhciByID0gYml0ICUgMjY7XG4gICAgdmFyIHMgPSAoYml0IC0gcikgLyAyNjtcbiAgICB2YXIgcSA9IDEgPDwgcjtcblxuICAgIC8vIEZhc3QgY2FzZTogYml0IGlzIG11Y2ggaGlnaGVyIHRoYW4gYWxsIGV4aXN0aW5nIHdvcmRzXG4gICAgaWYgKHRoaXMubGVuZ3RoIDw9IHMpIHtcbiAgICAgIHRoaXMuX2V4cGFuZChzICsgMSk7XG4gICAgICB0aGlzLndvcmRzW3NdIHw9IHE7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBBZGQgYml0IGFuZCBwcm9wYWdhdGUsIGlmIG5lZWRlZFxuICAgIHZhciBjYXJyeSA9IHE7XG4gICAgZm9yICh2YXIgaSA9IHM7IGNhcnJ5ICE9PSAwICYmIGkgPCB0aGlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgdyA9IHRoaXMud29yZHNbaV0gfCAwO1xuICAgICAgdyArPSBjYXJyeTtcbiAgICAgIGNhcnJ5ID0gdyA+Pj4gMjY7XG4gICAgICB3ICY9IDB4M2ZmZmZmZjtcbiAgICAgIHRoaXMud29yZHNbaV0gPSB3O1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIHRoaXMud29yZHNbaV0gPSBjYXJyeTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5pc1plcm8gPSBmdW5jdGlvbiBpc1plcm8gKCkge1xuICAgIHJldHVybiB0aGlzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLndvcmRzWzBdID09PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5jbXBuID0gZnVuY3Rpb24gY21wbiAobnVtKSB7XG4gICAgdmFyIG5lZ2F0aXZlID0gbnVtIDwgMDtcblxuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwICYmICFuZWdhdGl2ZSkgcmV0dXJuIC0xO1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlID09PSAwICYmIG5lZ2F0aXZlKSByZXR1cm4gMTtcblxuICAgIHRoaXMuX3N0cmlwKCk7XG5cbiAgICB2YXIgcmVzO1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJlcyA9IDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChuZWdhdGl2ZSkge1xuICAgICAgICBudW0gPSAtbnVtO1xuICAgICAgfVxuXG4gICAgICBhc3NlcnQobnVtIDw9IDB4M2ZmZmZmZiwgJ051bWJlciBpcyB0b28gYmlnJyk7XG5cbiAgICAgIHZhciB3ID0gdGhpcy53b3Jkc1swXSB8IDA7XG4gICAgICByZXMgPSB3ID09PSBudW0gPyAwIDogdyA8IG51bSA/IC0xIDogMTtcbiAgICB9XG4gICAgaWYgKHRoaXMubmVnYXRpdmUgIT09IDApIHJldHVybiAtcmVzIHwgMDtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIC8vIENvbXBhcmUgdHdvIG51bWJlcnMgYW5kIHJldHVybjpcbiAgLy8gMSAtIGlmIGB0aGlzYCA+IGBudW1gXG4gIC8vIDAgLSBpZiBgdGhpc2AgPT0gYG51bWBcbiAgLy8gLTEgLSBpZiBgdGhpc2AgPCBgbnVtYFxuICBCTi5wcm90b3R5cGUuY21wID0gZnVuY3Rpb24gY21wIChudW0pIHtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSAhPT0gMCAmJiBudW0ubmVnYXRpdmUgPT09IDApIHJldHVybiAtMTtcbiAgICBpZiAodGhpcy5uZWdhdGl2ZSA9PT0gMCAmJiBudW0ubmVnYXRpdmUgIT09IDApIHJldHVybiAxO1xuXG4gICAgdmFyIHJlcyA9IHRoaXMudWNtcChudW0pO1xuICAgIGlmICh0aGlzLm5lZ2F0aXZlICE9PSAwKSByZXR1cm4gLXJlcyB8IDA7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuICAvLyBVbnNpZ25lZCBjb21wYXJpc29uXG4gIEJOLnByb3RvdHlwZS51Y21wID0gZnVuY3Rpb24gdWNtcCAobnVtKSB7XG4gICAgLy8gQXQgdGhpcyBwb2ludCBib3RoIG51bWJlcnMgaGF2ZSB0aGUgc2FtZSBzaWduXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbnVtLmxlbmd0aCkgcmV0dXJuIDE7XG4gICAgaWYgKHRoaXMubGVuZ3RoIDwgbnVtLmxlbmd0aCkgcmV0dXJuIC0xO1xuXG4gICAgdmFyIHJlcyA9IDA7XG4gICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciBhID0gdGhpcy53b3Jkc1tpXSB8IDA7XG4gICAgICB2YXIgYiA9IG51bS53b3Jkc1tpXSB8IDA7XG5cbiAgICAgIGlmIChhID09PSBiKSBjb250aW51ZTtcbiAgICAgIGlmIChhIDwgYikge1xuICAgICAgICByZXMgPSAtMTtcbiAgICAgIH0gZWxzZSBpZiAoYSA+IGIpIHtcbiAgICAgICAgcmVzID0gMTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5ndG4gPSBmdW5jdGlvbiBndG4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gMTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ3QgPSBmdW5jdGlvbiBndCAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wKG51bSkgPT09IDE7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmd0ZW4gPSBmdW5jdGlvbiBndGVuIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXBuKG51bSkgPj0gMDtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZ3RlID0gZnVuY3Rpb24gZ3RlIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA+PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5sdG4gPSBmdW5jdGlvbiBsdG4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA9PT0gLTE7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmx0ID0gZnVuY3Rpb24gbHQgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcChudW0pID09PSAtMTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUubHRlbiA9IGZ1bmN0aW9uIGx0ZW4gKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcG4obnVtKSA8PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5sdGUgPSBmdW5jdGlvbiBsdGUgKG51bSkge1xuICAgIHJldHVybiB0aGlzLmNtcChudW0pIDw9IDA7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmVxbiA9IGZ1bmN0aW9uIGVxbiAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuY21wbihudW0pID09PSAwO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxIChudW0pIHtcbiAgICByZXR1cm4gdGhpcy5jbXAobnVtKSA9PT0gMDtcbiAgfTtcblxuICAvL1xuICAvLyBBIHJlZHVjZSBjb250ZXh0LCBjb3VsZCBiZSB1c2luZyBtb250Z29tZXJ5IG9yIHNvbWV0aGluZyBiZXR0ZXIsIGRlcGVuZGluZ1xuICAvLyBvbiB0aGUgYG1gIGl0c2VsZi5cbiAgLy9cbiAgQk4ucmVkID0gZnVuY3Rpb24gcmVkIChudW0pIHtcbiAgICByZXR1cm4gbmV3IFJlZChudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS50b1JlZCA9IGZ1bmN0aW9uIHRvUmVkIChjdHgpIHtcbiAgICBhc3NlcnQoIXRoaXMucmVkLCAnQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCcpO1xuICAgIGFzc2VydCh0aGlzLm5lZ2F0aXZlID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcbiAgICByZXR1cm4gY3R4LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQoY3R4KTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUuZnJvbVJlZCA9IGZ1bmN0aW9uIGZyb21SZWQgKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ2Zyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuY29udmVydEZyb20odGhpcyk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLl9mb3JjZVJlZCA9IGZ1bmN0aW9uIF9mb3JjZVJlZCAoY3R4KSB7XG4gICAgdGhpcy5yZWQgPSBjdHg7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLmZvcmNlUmVkID0gZnVuY3Rpb24gZm9yY2VSZWQgKGN0eCkge1xuICAgIGFzc2VydCghdGhpcy5yZWQsICdBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0Jyk7XG4gICAgcmV0dXJuIHRoaXMuX2ZvcmNlUmVkKGN0eCk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZEFkZCA9IGZ1bmN0aW9uIHJlZEFkZCAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHJldHVybiB0aGlzLnJlZC5hZGQodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSUFkZCA9IGZ1bmN0aW9uIHJlZElBZGQgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmlhZGQodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkU3ViID0gZnVuY3Rpb24gcmVkU3ViIChudW0pIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLnN1Yih0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRJU3ViID0gZnVuY3Rpb24gcmVkSVN1YiAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuaXN1Yih0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRTaGwgPSBmdW5jdGlvbiByZWRTaGwgKG51bSkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuc2hsKHRoaXMsIG51bSk7XG4gIH07XG5cbiAgQk4ucHJvdG90eXBlLnJlZE11bCA9IGZ1bmN0aW9uIHJlZE11bCAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XG4gICAgcmV0dXJuIHRoaXMucmVkLm11bCh0aGlzLCBudW0pO1xuICB9O1xuXG4gIEJOLnByb3RvdHlwZS5yZWRJTXVsID0gZnVuY3Rpb24gcmVkSU11bCAobnVtKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsIG51bSk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmltdWwodGhpcywgbnVtKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkU3FyID0gZnVuY3Rpb24gcmVkU3FyICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLnNxcih0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSVNxciA9IGZ1bmN0aW9uIHJlZElTcXIgKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmlzcXIodGhpcyk7XG4gIH07XG5cbiAgLy8gU3F1YXJlIHJvb3Qgb3ZlciBwXG4gIEJOLnByb3RvdHlwZS5yZWRTcXJ0ID0gZnVuY3Rpb24gcmVkU3FydCAoKSB7XG4gICAgYXNzZXJ0KHRoaXMucmVkLCAncmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgICB0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKTtcbiAgICByZXR1cm4gdGhpcy5yZWQuc3FydCh0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkSW52bSA9IGZ1bmN0aW9uIHJlZEludm0gKCkge1xuICAgIGFzc2VydCh0aGlzLnJlZCwgJ3JlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLmludm0odGhpcyk7XG4gIH07XG5cbiAgLy8gUmV0dXJuIG5lZ2F0aXZlIGNsb25lIG9mIGB0aGlzYCAlIGByZWQgbW9kdWxvYFxuICBCTi5wcm90b3R5cGUucmVkTmVnID0gZnVuY3Rpb24gcmVkTmVnICgpIHtcbiAgICBhc3NlcnQodGhpcy5yZWQsICdyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzJyk7XG4gICAgdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyk7XG4gICAgcmV0dXJuIHRoaXMucmVkLm5lZyh0aGlzKTtcbiAgfTtcblxuICBCTi5wcm90b3R5cGUucmVkUG93ID0gZnVuY3Rpb24gcmVkUG93IChudW0pIHtcbiAgICBhc3NlcnQodGhpcy5yZWQgJiYgIW51bS5yZWQsICdyZWRQb3cobm9ybWFsTnVtKScpO1xuICAgIHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpO1xuICAgIHJldHVybiB0aGlzLnJlZC5wb3codGhpcywgbnVtKTtcbiAgfTtcblxuICAvLyBQcmltZSBudW1iZXJzIHdpdGggZWZmaWNpZW50IHJlZHVjdGlvblxuICB2YXIgcHJpbWVzID0ge1xuICAgIGsyNTY6IG51bGwsXG4gICAgcDIyNDogbnVsbCxcbiAgICBwMTkyOiBudWxsLFxuICAgIHAyNTUxOTogbnVsbFxuICB9O1xuXG4gIC8vIFBzZXVkby1NZXJzZW5uZSBwcmltZVxuICBmdW5jdGlvbiBNUHJpbWUgKG5hbWUsIHApIHtcbiAgICAvLyBQID0gMiBeIE4gLSBLXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnAgPSBuZXcgQk4ocCwgMTYpO1xuICAgIHRoaXMubiA9IHRoaXMucC5iaXRMZW5ndGgoKTtcbiAgICB0aGlzLmsgPSBuZXcgQk4oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApO1xuXG4gICAgdGhpcy50bXAgPSB0aGlzLl90bXAoKTtcbiAgfVxuXG4gIE1QcmltZS5wcm90b3R5cGUuX3RtcCA9IGZ1bmN0aW9uIF90bXAgKCkge1xuICAgIHZhciB0bXAgPSBuZXcgQk4obnVsbCk7XG4gICAgdG1wLndvcmRzID0gbmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4gLyAxMykpO1xuICAgIHJldHVybiB0bXA7XG4gIH07XG5cbiAgTVByaW1lLnByb3RvdHlwZS5pcmVkdWNlID0gZnVuY3Rpb24gaXJlZHVjZSAobnVtKSB7XG4gICAgLy8gQXNzdW1lcyB0aGF0IGBudW1gIGlzIGxlc3MgdGhhbiBgUF4yYFxuICAgIC8vIG51bSA9IEhJICogKDIgXiBOIC0gSykgKyBISSAqIEsgKyBMTyA9IEhJICogSyArIExPIChtb2QgUClcbiAgICB2YXIgciA9IG51bTtcbiAgICB2YXIgcmxlbjtcblxuICAgIGRvIHtcbiAgICAgIHRoaXMuc3BsaXQociwgdGhpcy50bXApO1xuICAgICAgciA9IHRoaXMuaW11bEsocik7XG4gICAgICByID0gci5pYWRkKHRoaXMudG1wKTtcbiAgICAgIHJsZW4gPSByLmJpdExlbmd0aCgpO1xuICAgIH0gd2hpbGUgKHJsZW4gPiB0aGlzLm4pO1xuXG4gICAgdmFyIGNtcCA9IHJsZW4gPCB0aGlzLm4gPyAtMSA6IHIudWNtcCh0aGlzLnApO1xuICAgIGlmIChjbXAgPT09IDApIHtcbiAgICAgIHIud29yZHNbMF0gPSAwO1xuICAgICAgci5sZW5ndGggPSAxO1xuICAgIH0gZWxzZSBpZiAoY21wID4gMCkge1xuICAgICAgci5pc3ViKHRoaXMucCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyLnN0cmlwICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgLy8gciBpcyBhIEJOIHY0IGluc3RhbmNlXG4gICAgICAgIHIuc3RyaXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHIgaXMgYSBCTiB2NSBpbnN0YW5jZVxuICAgICAgICByLl9zdHJpcCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByO1xuICB9O1xuXG4gIE1QcmltZS5wcm90b3R5cGUuc3BsaXQgPSBmdW5jdGlvbiBzcGxpdCAoaW5wdXQsIG91dCkge1xuICAgIGlucHV0Lml1c2hybih0aGlzLm4sIDAsIG91dCk7XG4gIH07XG5cbiAgTVByaW1lLnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcbiAgICByZXR1cm4gbnVtLmltdWwodGhpcy5rKTtcbiAgfTtcblxuICBmdW5jdGlvbiBLMjU2ICgpIHtcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAnazI1NicsXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnKTtcbiAgfVxuICBpbmhlcml0cyhLMjU2LCBNUHJpbWUpO1xuXG4gIEsyNTYucHJvdG90eXBlLnNwbGl0ID0gZnVuY3Rpb24gc3BsaXQgKGlucHV0LCBvdXRwdXQpIHtcbiAgICAvLyAyNTYgPSA5ICogMjYgKyAyMlxuICAgIHZhciBtYXNrID0gMHgzZmZmZmY7XG5cbiAgICB2YXIgb3V0TGVuID0gTWF0aC5taW4oaW5wdXQubGVuZ3RoLCA5KTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dExlbjsgaSsrKSB7XG4gICAgICBvdXRwdXQud29yZHNbaV0gPSBpbnB1dC53b3Jkc1tpXTtcbiAgICB9XG4gICAgb3V0cHV0Lmxlbmd0aCA9IG91dExlbjtcblxuICAgIGlmIChpbnB1dC5sZW5ndGggPD0gOSkge1xuICAgICAgaW5wdXQud29yZHNbMF0gPSAwO1xuICAgICAgaW5wdXQubGVuZ3RoID0gMTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTaGlmdCBieSA5IGxpbWJzXG4gICAgdmFyIHByZXYgPSBpbnB1dC53b3Jkc1s5XTtcbiAgICBvdXRwdXQud29yZHNbb3V0cHV0Lmxlbmd0aCsrXSA9IHByZXYgJiBtYXNrO1xuXG4gICAgZm9yIChpID0gMTA7IGkgPCBpbnB1dC5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIG5leHQgPSBpbnB1dC53b3Jkc1tpXSB8IDA7XG4gICAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gKChuZXh0ICYgbWFzaykgPDwgNCkgfCAocHJldiA+Pj4gMjIpO1xuICAgICAgcHJldiA9IG5leHQ7XG4gICAgfVxuICAgIHByZXYgPj4+PSAyMjtcbiAgICBpbnB1dC53b3Jkc1tpIC0gMTBdID0gcHJldjtcbiAgICBpZiAocHJldiA9PT0gMCAmJiBpbnB1dC5sZW5ndGggPiAxMCkge1xuICAgICAgaW5wdXQubGVuZ3RoIC09IDEwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnB1dC5sZW5ndGggLT0gOTtcbiAgICB9XG4gIH07XG5cbiAgSzI1Ni5wcm90b3R5cGUuaW11bEsgPSBmdW5jdGlvbiBpbXVsSyAobnVtKSB7XG4gICAgLy8gSyA9IDB4MTAwMDAwM2QxID0gWyAweDQwLCAweDNkMSBdXG4gICAgbnVtLndvcmRzW251bS5sZW5ndGhdID0gMDtcbiAgICBudW0ud29yZHNbbnVtLmxlbmd0aCArIDFdID0gMDtcbiAgICBudW0ubGVuZ3RoICs9IDI7XG5cbiAgICAvLyBib3VuZGVkIGF0OiAweDQwICogMHgzZmZmZmZmICsgMHgzZDAgPSAweDEwMDAwMDM5MFxuICAgIHZhciBsbyA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciB3ID0gbnVtLndvcmRzW2ldIHwgMDtcbiAgICAgIGxvICs9IHcgKiAweDNkMTtcbiAgICAgIG51bS53b3Jkc1tpXSA9IGxvICYgMHgzZmZmZmZmO1xuICAgICAgbG8gPSB3ICogMHg0MCArICgobG8gLyAweDQwMDAwMDApIHwgMCk7XG4gICAgfVxuXG4gICAgLy8gRmFzdCBsZW5ndGggcmVkdWN0aW9uXG4gICAgaWYgKG51bS53b3Jkc1tudW0ubGVuZ3RoIC0gMV0gPT09IDApIHtcbiAgICAgIG51bS5sZW5ndGgtLTtcbiAgICAgIGlmIChudW0ud29yZHNbbnVtLmxlbmd0aCAtIDFdID09PSAwKSB7XG4gICAgICAgIG51bS5sZW5ndGgtLTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bTtcbiAgfTtcblxuICBmdW5jdGlvbiBQMjI0ICgpIHtcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAncDIyNCcsXG4gICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEnKTtcbiAgfVxuICBpbmhlcml0cyhQMjI0LCBNUHJpbWUpO1xuXG4gIGZ1bmN0aW9uIFAxOTIgKCkge1xuICAgIE1QcmltZS5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgICdwMTkyJyxcbiAgICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicpO1xuICB9XG4gIGluaGVyaXRzKFAxOTIsIE1QcmltZSk7XG5cbiAgZnVuY3Rpb24gUDI1NTE5ICgpIHtcbiAgICAvLyAyIF4gMjU1IC0gMTlcbiAgICBNUHJpbWUuY2FsbChcbiAgICAgIHRoaXMsXG4gICAgICAnMjU1MTknLFxuICAgICAgJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnKTtcbiAgfVxuICBpbmhlcml0cyhQMjU1MTksIE1QcmltZSk7XG5cbiAgUDI1NTE5LnByb3RvdHlwZS5pbXVsSyA9IGZ1bmN0aW9uIGltdWxLIChudW0pIHtcbiAgICAvLyBLID0gMHgxM1xuICAgIHZhciBjYXJyeSA9IDA7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBoaSA9IChudW0ud29yZHNbaV0gfCAwKSAqIDB4MTMgKyBjYXJyeTtcbiAgICAgIHZhciBsbyA9IGhpICYgMHgzZmZmZmZmO1xuICAgICAgaGkgPj4+PSAyNjtcblxuICAgICAgbnVtLndvcmRzW2ldID0gbG87XG4gICAgICBjYXJyeSA9IGhpO1xuICAgIH1cbiAgICBpZiAoY2FycnkgIT09IDApIHtcbiAgICAgIG51bS53b3Jkc1tudW0ubGVuZ3RoKytdID0gY2Fycnk7XG4gICAgfVxuICAgIHJldHVybiBudW07XG4gIH07XG5cbiAgLy8gRXhwb3J0ZWQgbW9zdGx5IGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB1c2UgcGxhaW4gbmFtZSBpbnN0ZWFkXG4gIEJOLl9wcmltZSA9IGZ1bmN0aW9uIHByaW1lIChuYW1lKSB7XG4gICAgLy8gQ2FjaGVkIHZlcnNpb24gb2YgcHJpbWVcbiAgICBpZiAocHJpbWVzW25hbWVdKSByZXR1cm4gcHJpbWVzW25hbWVdO1xuXG4gICAgdmFyIHByaW1lO1xuICAgIGlmIChuYW1lID09PSAnazI1NicpIHtcbiAgICAgIHByaW1lID0gbmV3IEsyNTYoKTtcbiAgICB9IGVsc2UgaWYgKG5hbWUgPT09ICdwMjI0Jykge1xuICAgICAgcHJpbWUgPSBuZXcgUDIyNCgpO1xuICAgIH0gZWxzZSBpZiAobmFtZSA9PT0gJ3AxOTInKSB7XG4gICAgICBwcmltZSA9IG5ldyBQMTkyKCk7XG4gICAgfSBlbHNlIGlmIChuYW1lID09PSAncDI1NTE5Jykge1xuICAgICAgcHJpbWUgPSBuZXcgUDI1NTE5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBwcmltZSAnICsgbmFtZSk7XG4gICAgfVxuICAgIHByaW1lc1tuYW1lXSA9IHByaW1lO1xuXG4gICAgcmV0dXJuIHByaW1lO1xuICB9O1xuXG4gIC8vXG4gIC8vIEJhc2UgcmVkdWN0aW9uIGVuZ2luZVxuICAvL1xuICBmdW5jdGlvbiBSZWQgKG0pIHtcbiAgICBpZiAodHlwZW9mIG0gPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YXIgcHJpbWUgPSBCTi5fcHJpbWUobSk7XG4gICAgICB0aGlzLm0gPSBwcmltZS5wO1xuICAgICAgdGhpcy5wcmltZSA9IHByaW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQobS5ndG4oMSksICdtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEnKTtcbiAgICAgIHRoaXMubSA9IG07XG4gICAgICB0aGlzLnByaW1lID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBSZWQucHJvdG90eXBlLl92ZXJpZnkxID0gZnVuY3Rpb24gX3ZlcmlmeTEgKGEpIHtcbiAgICBhc3NlcnQoYS5uZWdhdGl2ZSA9PT0gMCwgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzJyk7XG4gICAgYXNzZXJ0KGEucmVkLCAncmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycycpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuX3ZlcmlmeTIgPSBmdW5jdGlvbiBfdmVyaWZ5MiAoYSwgYikge1xuICAgIGFzc2VydCgoYS5uZWdhdGl2ZSB8IGIubmVnYXRpdmUpID09PSAwLCAncmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMnKTtcbiAgICBhc3NlcnQoYS5yZWQgJiYgYS5yZWQgPT09IGIucmVkLFxuICAgICAgJ3JlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMnKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmltb2QgPSBmdW5jdGlvbiBpbW9kIChhKSB7XG4gICAgaWYgKHRoaXMucHJpbWUpIHJldHVybiB0aGlzLnByaW1lLmlyZWR1Y2UoYSkuX2ZvcmNlUmVkKHRoaXMpO1xuXG4gICAgbW92ZShhLCBhLnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcykpO1xuICAgIHJldHVybiBhO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUubmVnID0gZnVuY3Rpb24gbmVnIChhKSB7XG4gICAgaWYgKGEuaXNaZXJvKCkpIHtcbiAgICAgIHJldHVybiBhLmNsb25lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubS5zdWIoYSkuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcblxuICAgIHZhciByZXMgPSBhLmFkZChiKTtcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XG4gICAgfVxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuaWFkZCA9IGZ1bmN0aW9uIGlhZGQgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuXG4gICAgdmFyIHJlcyA9IGEuaWFkZChiKTtcbiAgICBpZiAocmVzLmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcy5pc3ViKHRoaXMubSk7XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5zdWIgPSBmdW5jdGlvbiBzdWIgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuXG4gICAgdmFyIHJlcyA9IGEuc3ViKGIpO1xuICAgIGlmIChyZXMuY21wbigwKSA8IDApIHtcbiAgICAgIHJlcy5pYWRkKHRoaXMubSk7XG4gICAgfVxuICAgIHJldHVybiByZXMuX2ZvcmNlUmVkKHRoaXMpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuaXN1YiA9IGZ1bmN0aW9uIGlzdWIgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuXG4gICAgdmFyIHJlcyA9IGEuaXN1YihiKTtcbiAgICBpZiAocmVzLmNtcG4oMCkgPCAwKSB7XG4gICAgICByZXMuaWFkZCh0aGlzLm0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuc2hsID0gZnVuY3Rpb24gc2hsIChhLCBudW0pIHtcbiAgICB0aGlzLl92ZXJpZnkxKGEpO1xuICAgIHJldHVybiB0aGlzLmltb2QoYS51c2hsbihudW0pKTtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XG4gICAgdGhpcy5fdmVyaWZ5MihhLCBiKTtcbiAgICByZXR1cm4gdGhpcy5pbW9kKGEuaW11bChiKSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwgKGEsIGIpIHtcbiAgICB0aGlzLl92ZXJpZnkyKGEsIGIpO1xuICAgIHJldHVybiB0aGlzLmltb2QoYS5tdWwoYikpO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuaXNxciA9IGZ1bmN0aW9uIGlzcXIgKGEpIHtcbiAgICByZXR1cm4gdGhpcy5pbXVsKGEsIGEuY2xvbmUoKSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5zcXIgPSBmdW5jdGlvbiBzcXIgKGEpIHtcbiAgICByZXR1cm4gdGhpcy5tdWwoYSwgYSk7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5zcXJ0ID0gZnVuY3Rpb24gc3FydCAoYSkge1xuICAgIGlmIChhLmlzWmVybygpKSByZXR1cm4gYS5jbG9uZSgpO1xuXG4gICAgdmFyIG1vZDMgPSB0aGlzLm0uYW5kbG4oMyk7XG4gICAgYXNzZXJ0KG1vZDMgJSAyID09PSAxKTtcblxuICAgIC8vIEZhc3QgY2FzZVxuICAgIGlmIChtb2QzID09PSAzKSB7XG4gICAgICB2YXIgcG93ID0gdGhpcy5tLmFkZChuZXcgQk4oMSkpLml1c2hybigyKTtcbiAgICAgIHJldHVybiB0aGlzLnBvdyhhLCBwb3cpO1xuICAgIH1cblxuICAgIC8vIFRvbmVsbGktU2hhbmtzIGFsZ29yaXRobSAoVG90YWxseSB1bm9wdGltaXplZCBhbmQgc2xvdylcbiAgICAvL1xuICAgIC8vIEZpbmQgUSBhbmQgUywgdGhhdCBRICogMiBeIFMgPSAoUCAtIDEpXG4gICAgdmFyIHEgPSB0aGlzLm0uc3VibigxKTtcbiAgICB2YXIgcyA9IDA7XG4gICAgd2hpbGUgKCFxLmlzWmVybygpICYmIHEuYW5kbG4oMSkgPT09IDApIHtcbiAgICAgIHMrKztcbiAgICAgIHEuaXVzaHJuKDEpO1xuICAgIH1cbiAgICBhc3NlcnQoIXEuaXNaZXJvKCkpO1xuXG4gICAgdmFyIG9uZSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcbiAgICB2YXIgbk9uZSA9IG9uZS5yZWROZWcoKTtcblxuICAgIC8vIEZpbmQgcXVhZHJhdGljIG5vbi1yZXNpZHVlXG4gICAgLy8gTk9URTogTWF4IGlzIHN1Y2ggYmVjYXVzZSBvZiBnZW5lcmFsaXplZCBSaWVtYW5uIGh5cG90aGVzaXMuXG4gICAgdmFyIGxwb3cgPSB0aGlzLm0uc3VibigxKS5pdXNocm4oMSk7XG4gICAgdmFyIHogPSB0aGlzLm0uYml0TGVuZ3RoKCk7XG4gICAgeiA9IG5ldyBCTigyICogeiAqIHopLnRvUmVkKHRoaXMpO1xuXG4gICAgd2hpbGUgKHRoaXMucG93KHosIGxwb3cpLmNtcChuT25lKSAhPT0gMCkge1xuICAgICAgei5yZWRJQWRkKG5PbmUpO1xuICAgIH1cblxuICAgIHZhciBjID0gdGhpcy5wb3coeiwgcSk7XG4gICAgdmFyIHIgPSB0aGlzLnBvdyhhLCBxLmFkZG4oMSkuaXVzaHJuKDEpKTtcbiAgICB2YXIgdCA9IHRoaXMucG93KGEsIHEpO1xuICAgIHZhciBtID0gcztcbiAgICB3aGlsZSAodC5jbXAob25lKSAhPT0gMCkge1xuICAgICAgdmFyIHRtcCA9IHQ7XG4gICAgICBmb3IgKHZhciBpID0gMDsgdG1wLmNtcChvbmUpICE9PSAwOyBpKyspIHtcbiAgICAgICAgdG1wID0gdG1wLnJlZFNxcigpO1xuICAgICAgfVxuICAgICAgYXNzZXJ0KGkgPCBtKTtcbiAgICAgIHZhciBiID0gdGhpcy5wb3coYywgbmV3IEJOKDEpLml1c2hsbihtIC0gaSAtIDEpKTtcblxuICAgICAgciA9IHIucmVkTXVsKGIpO1xuICAgICAgYyA9IGIucmVkU3FyKCk7XG4gICAgICB0ID0gdC5yZWRNdWwoYyk7XG4gICAgICBtID0gaTtcbiAgICB9XG5cbiAgICByZXR1cm4gcjtcbiAgfTtcblxuICBSZWQucHJvdG90eXBlLmludm0gPSBmdW5jdGlvbiBpbnZtIChhKSB7XG4gICAgdmFyIGludiA9IGEuX2ludm1wKHRoaXMubSk7XG4gICAgaWYgKGludi5uZWdhdGl2ZSAhPT0gMCkge1xuICAgICAgaW52Lm5lZ2F0aXZlID0gMDtcbiAgICAgIHJldHVybiB0aGlzLmltb2QoaW52KS5yZWROZWcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaW1vZChpbnYpO1xuICAgIH1cbiAgfTtcblxuICBSZWQucHJvdG90eXBlLnBvdyA9IGZ1bmN0aW9uIHBvdyAoYSwgbnVtKSB7XG4gICAgaWYgKG51bS5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigxKS50b1JlZCh0aGlzKTtcbiAgICBpZiAobnVtLmNtcG4oMSkgPT09IDApIHJldHVybiBhLmNsb25lKCk7XG5cbiAgICB2YXIgd2luZG93U2l6ZSA9IDQ7XG4gICAgdmFyIHduZCA9IG5ldyBBcnJheSgxIDw8IHdpbmRvd1NpemUpO1xuICAgIHduZFswXSA9IG5ldyBCTigxKS50b1JlZCh0aGlzKTtcbiAgICB3bmRbMV0gPSBhO1xuICAgIGZvciAodmFyIGkgPSAyOyBpIDwgd25kLmxlbmd0aDsgaSsrKSB7XG4gICAgICB3bmRbaV0gPSB0aGlzLm11bCh3bmRbaSAtIDFdLCBhKTtcbiAgICB9XG5cbiAgICB2YXIgcmVzID0gd25kWzBdO1xuICAgIHZhciBjdXJyZW50ID0gMDtcbiAgICB2YXIgY3VycmVudExlbiA9IDA7XG4gICAgdmFyIHN0YXJ0ID0gbnVtLmJpdExlbmd0aCgpICUgMjY7XG4gICAgaWYgKHN0YXJ0ID09PSAwKSB7XG4gICAgICBzdGFydCA9IDI2O1xuICAgIH1cblxuICAgIGZvciAoaSA9IG51bS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdmFyIHdvcmQgPSBudW0ud29yZHNbaV07XG4gICAgICBmb3IgKHZhciBqID0gc3RhcnQgLSAxOyBqID49IDA7IGotLSkge1xuICAgICAgICB2YXIgYml0ID0gKHdvcmQgPj4gaikgJiAxO1xuICAgICAgICBpZiAocmVzICE9PSB3bmRbMF0pIHtcbiAgICAgICAgICByZXMgPSB0aGlzLnNxcihyZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJpdCA9PT0gMCAmJiBjdXJyZW50ID09PSAwKSB7XG4gICAgICAgICAgY3VycmVudExlbiA9IDA7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50IDw8PSAxO1xuICAgICAgICBjdXJyZW50IHw9IGJpdDtcbiAgICAgICAgY3VycmVudExlbisrO1xuICAgICAgICBpZiAoY3VycmVudExlbiAhPT0gd2luZG93U2l6ZSAmJiAoaSAhPT0gMCB8fCBqICE9PSAwKSkgY29udGludWU7XG5cbiAgICAgICAgcmVzID0gdGhpcy5tdWwocmVzLCB3bmRbY3VycmVudF0pO1xuICAgICAgICBjdXJyZW50TGVuID0gMDtcbiAgICAgICAgY3VycmVudCA9IDA7XG4gICAgICB9XG4gICAgICBzdGFydCA9IDI2O1xuICAgIH1cblxuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgUmVkLnByb3RvdHlwZS5jb252ZXJ0VG8gPSBmdW5jdGlvbiBjb252ZXJ0VG8gKG51bSkge1xuICAgIHZhciByID0gbnVtLnVtb2QodGhpcy5tKTtcblxuICAgIHJldHVybiByID09PSBudW0gPyByLmNsb25lKCkgOiByO1xuICB9O1xuXG4gIFJlZC5wcm90b3R5cGUuY29udmVydEZyb20gPSBmdW5jdGlvbiBjb252ZXJ0RnJvbSAobnVtKSB7XG4gICAgdmFyIHJlcyA9IG51bS5jbG9uZSgpO1xuICAgIHJlcy5yZWQgPSBudWxsO1xuICAgIHJldHVybiByZXM7XG4gIH07XG5cbiAgLy9cbiAgLy8gTW9udGdvbWVyeSBtZXRob2QgZW5naW5lXG4gIC8vXG5cbiAgQk4ubW9udCA9IGZ1bmN0aW9uIG1vbnQgKG51bSkge1xuICAgIHJldHVybiBuZXcgTW9udChudW0pO1xuICB9O1xuXG4gIGZ1bmN0aW9uIE1vbnQgKG0pIHtcbiAgICBSZWQuY2FsbCh0aGlzLCBtKTtcblxuICAgIHRoaXMuc2hpZnQgPSB0aGlzLm0uYml0TGVuZ3RoKCk7XG4gICAgaWYgKHRoaXMuc2hpZnQgJSAyNiAhPT0gMCkge1xuICAgICAgdGhpcy5zaGlmdCArPSAyNiAtICh0aGlzLnNoaWZ0ICUgMjYpO1xuICAgIH1cblxuICAgIHRoaXMuciA9IG5ldyBCTigxKS5pdXNobG4odGhpcy5zaGlmdCk7XG4gICAgdGhpcy5yMiA9IHRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpO1xuICAgIHRoaXMucmludiA9IHRoaXMuci5faW52bXAodGhpcy5tKTtcblxuICAgIHRoaXMubWludiA9IHRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKTtcbiAgICB0aGlzLm1pbnYgPSB0aGlzLm1pbnYudW1vZCh0aGlzLnIpO1xuICAgIHRoaXMubWludiA9IHRoaXMuci5zdWIodGhpcy5taW52KTtcbiAgfVxuICBpbmhlcml0cyhNb250LCBSZWQpO1xuXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRUbyA9IGZ1bmN0aW9uIGNvbnZlcnRUbyAobnVtKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1vZChudW0udXNobG4odGhpcy5zaGlmdCkpO1xuICB9O1xuXG4gIE1vbnQucHJvdG90eXBlLmNvbnZlcnRGcm9tID0gZnVuY3Rpb24gY29udmVydEZyb20gKG51bSkge1xuICAgIHZhciByID0gdGhpcy5pbW9kKG51bS5tdWwodGhpcy5yaW52KSk7XG4gICAgci5yZWQgPSBudWxsO1xuICAgIHJldHVybiByO1xuICB9O1xuXG4gIE1vbnQucHJvdG90eXBlLmltdWwgPSBmdW5jdGlvbiBpbXVsIChhLCBiKSB7XG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkge1xuICAgICAgYS53b3Jkc1swXSA9IDA7XG4gICAgICBhLmxlbmd0aCA9IDE7XG4gICAgICByZXR1cm4gYTtcbiAgICB9XG5cbiAgICB2YXIgdCA9IGEuaW11bChiKTtcbiAgICB2YXIgYyA9IHQubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pO1xuICAgIHZhciB1ID0gdC5pc3ViKGMpLml1c2hybih0aGlzLnNoaWZ0KTtcbiAgICB2YXIgcmVzID0gdTtcblxuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XG4gIH07XG5cbiAgTW9udC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsIChhLCBiKSB7XG4gICAgaWYgKGEuaXNaZXJvKCkgfHwgYi5pc1plcm8oKSkgcmV0dXJuIG5ldyBCTigwKS5fZm9yY2VSZWQodGhpcyk7XG5cbiAgICB2YXIgdCA9IGEubXVsKGIpO1xuICAgIHZhciBjID0gdC5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSk7XG4gICAgdmFyIHUgPSB0LmlzdWIoYykuaXVzaHJuKHRoaXMuc2hpZnQpO1xuICAgIHZhciByZXMgPSB1O1xuICAgIGlmICh1LmNtcCh0aGlzLm0pID49IDApIHtcbiAgICAgIHJlcyA9IHUuaXN1Yih0aGlzLm0pO1xuICAgIH0gZWxzZSBpZiAodS5jbXBuKDApIDwgMCkge1xuICAgICAgcmVzID0gdS5pYWRkKHRoaXMubSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XG4gIH07XG5cbiAgTW9udC5wcm90b3R5cGUuaW52bSA9IGZ1bmN0aW9uIGludm0gKGEpIHtcbiAgICAvLyAoQVIpXi0xICogUl4yID0gKEFeLTEgKiBSXi0xKSAqIFJeMiA9IEFeLTEgKiBSXG4gICAgdmFyIHJlcyA9IHRoaXMuaW1vZChhLl9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSk7XG4gICAgcmV0dXJuIHJlcy5fZm9yY2VSZWQodGhpcyk7XG4gIH07XG59KSh0eXBlb2YgbW9kdWxlID09PSAndW5kZWZpbmVkJyB8fCBtb2R1bGUsIHRoaXMpO1xuIiwidmFyIHI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gcmFuZChsZW4pIHtcbiAgaWYgKCFyKVxuICAgIHIgPSBuZXcgUmFuZChudWxsKTtcblxuICByZXR1cm4gci5nZW5lcmF0ZShsZW4pO1xufTtcblxuZnVuY3Rpb24gUmFuZChyYW5kKSB7XG4gIHRoaXMucmFuZCA9IHJhbmQ7XG59XG5tb2R1bGUuZXhwb3J0cy5SYW5kID0gUmFuZDtcblxuUmFuZC5wcm90b3R5cGUuZ2VuZXJhdGUgPSBmdW5jdGlvbiBnZW5lcmF0ZShsZW4pIHtcbiAgcmV0dXJuIHRoaXMuX3JhbmQobGVuKTtcbn07XG5cbi8vIEVtdWxhdGUgY3J5cHRvIEFQSSB1c2luZyByYW5keVxuUmFuZC5wcm90b3R5cGUuX3JhbmQgPSBmdW5jdGlvbiBfcmFuZChuKSB7XG4gIGlmICh0aGlzLnJhbmQuZ2V0Qnl0ZXMpXG4gICAgcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyhuKTtcblxuICB2YXIgcmVzID0gbmV3IFVpbnQ4QXJyYXkobik7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzLmxlbmd0aDsgaSsrKVxuICAgIHJlc1tpXSA9IHRoaXMucmFuZC5nZXRCeXRlKCk7XG4gIHJldHVybiByZXM7XG59O1xuXG5pZiAodHlwZW9mIHNlbGYgPT09ICdvYmplY3QnKSB7XG4gIGlmIChzZWxmLmNyeXB0byAmJiBzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcbiAgICAvLyBNb2Rlcm4gYnJvd3NlcnNcbiAgICBSYW5kLnByb3RvdHlwZS5fcmFuZCA9IGZ1bmN0aW9uIF9yYW5kKG4pIHtcbiAgICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheShuKTtcbiAgICAgIHNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhcnIpO1xuICAgICAgcmV0dXJuIGFycjtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHNlbGYubXNDcnlwdG8gJiYgc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcbiAgICAvLyBJRVxuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24gX3JhbmQobikge1xuICAgICAgdmFyIGFyciA9IG5ldyBVaW50OEFycmF5KG4pO1xuICAgICAgc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMoYXJyKTtcbiAgICAgIHJldHVybiBhcnI7XG4gICAgfTtcblxuICAvLyBTYWZhcmkncyBXZWJXb3JrZXJzIGRvIG5vdCBoYXZlIGBjcnlwdG9gXG4gIH0gZWxzZSBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHtcbiAgICAvLyBPbGQganVua1xuICAgIFJhbmQucHJvdG90eXBlLl9yYW5kID0gZnVuY3Rpb24oKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZCB5ZXQnKTtcbiAgICB9O1xuICB9XG59IGVsc2Uge1xuICAvLyBOb2RlLmpzIG9yIFdlYiB3b3JrZXIgd2l0aCBubyBjcnlwdG8gc3VwcG9ydFxuICB0cnkge1xuICAgIHZhciBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbiAgICBpZiAodHlwZW9mIGNyeXB0by5yYW5kb21CeXRlcyAhPT0gJ2Z1bmN0aW9uJylcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm90IHN1cHBvcnRlZCcpO1xuXG4gICAgUmFuZC5wcm90b3R5cGUuX3JhbmQgPSBmdW5jdGlvbiBfcmFuZChuKSB7XG4gICAgICByZXR1cm4gY3J5cHRvLnJhbmRvbUJ5dGVzKG4pO1xuICAgIH07XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxufVxuIiwiLy8gYmFzZWQgb24gdGhlIGFlcyBpbXBsaW1lbnRhdGlvbiBpbiB0cmlwbGUgc2VjXG4vLyBodHRwczovL2dpdGh1Yi5jb20va2V5YmFzZS90cmlwbGVzZWNcbi8vIHdoaWNoIGlzIGluIHR1cm4gYmFzZWQgb24gdGhlIG9uZSBmcm9tIGNyeXB0by1qc1xuLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jcnlwdG8tanMvXG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG5mdW5jdGlvbiBhc1VJbnQzMkFycmF5IChidWYpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkgYnVmID0gQnVmZmVyLmZyb20oYnVmKVxuXG4gIHZhciBsZW4gPSAoYnVmLmxlbmd0aCAvIDQpIHwgMFxuICB2YXIgb3V0ID0gbmV3IEFycmF5KGxlbilcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgb3V0W2ldID0gYnVmLnJlYWRVSW50MzJCRShpICogNClcbiAgfVxuXG4gIHJldHVybiBvdXRcbn1cblxuZnVuY3Rpb24gc2NydWJWZWMgKHYpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgdisrKSB7XG4gICAgdltpXSA9IDBcbiAgfVxufVxuXG5mdW5jdGlvbiBjcnlwdEJsb2NrIChNLCBrZXlTY2hlZHVsZSwgU1VCX01JWCwgU0JPWCwgblJvdW5kcykge1xuICB2YXIgU1VCX01JWDAgPSBTVUJfTUlYWzBdXG4gIHZhciBTVUJfTUlYMSA9IFNVQl9NSVhbMV1cbiAgdmFyIFNVQl9NSVgyID0gU1VCX01JWFsyXVxuICB2YXIgU1VCX01JWDMgPSBTVUJfTUlYWzNdXG5cbiAgdmFyIHMwID0gTVswXSBeIGtleVNjaGVkdWxlWzBdXG4gIHZhciBzMSA9IE1bMV0gXiBrZXlTY2hlZHVsZVsxXVxuICB2YXIgczIgPSBNWzJdIF4ga2V5U2NoZWR1bGVbMl1cbiAgdmFyIHMzID0gTVszXSBeIGtleVNjaGVkdWxlWzNdXG4gIHZhciB0MCwgdDEsIHQyLCB0M1xuICB2YXIga3NSb3cgPSA0XG5cbiAgZm9yICh2YXIgcm91bmQgPSAxOyByb3VuZCA8IG5Sb3VuZHM7IHJvdW5kKyspIHtcbiAgICB0MCA9IFNVQl9NSVgwW3MwID4+PiAyNF0gXiBTVUJfTUlYMVsoczEgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWDJbKHMyID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWDNbczMgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdXG4gICAgdDEgPSBTVUJfTUlYMFtzMSA+Pj4gMjRdIF4gU1VCX01JWDFbKHMyID4+PiAxNikgJiAweGZmXSBeIFNVQl9NSVgyWyhzMyA+Pj4gOCkgJiAweGZmXSBeIFNVQl9NSVgzW3MwICYgMHhmZl0gXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxuICAgIHQyID0gU1VCX01JWDBbczIgPj4+IDI0XSBeIFNVQl9NSVgxWyhzMyA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYMlsoczAgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYM1tzMSAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK11cbiAgICB0MyA9IFNVQl9NSVgwW3MzID4+PiAyNF0gXiBTVUJfTUlYMVsoczAgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWDJbKHMxID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWDNbczIgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdXG4gICAgczAgPSB0MFxuICAgIHMxID0gdDFcbiAgICBzMiA9IHQyXG4gICAgczMgPSB0M1xuICB9XG5cbiAgdDAgPSAoKFNCT1hbczAgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczEgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMiA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczMgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxuICB0MSA9ICgoU0JPWFtzMSA+Pj4gMjRdIDw8IDI0KSB8IChTQk9YWyhzMiA+Pj4gMTYpICYgMHhmZl0gPDwgMTYpIHwgKFNCT1hbKHMzID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHwgU0JPWFtzMCAmIDB4ZmZdKSBeIGtleVNjaGVkdWxlW2tzUm93KytdXG4gIHQyID0gKChTQk9YW3MyID4+PiAyNF0gPDwgMjQpIHwgKFNCT1hbKHMzID4+PiAxNikgJiAweGZmXSA8PCAxNikgfCAoU0JPWFsoczAgPj4+IDgpICYgMHhmZl0gPDwgOCkgfCBTQk9YW3MxICYgMHhmZl0pIF4ga2V5U2NoZWR1bGVba3NSb3crK11cbiAgdDMgPSAoKFNCT1hbczMgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczAgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMSA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczIgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXVxuICB0MCA9IHQwID4+PiAwXG4gIHQxID0gdDEgPj4+IDBcbiAgdDIgPSB0MiA+Pj4gMFxuICB0MyA9IHQzID4+PiAwXG5cbiAgcmV0dXJuIFt0MCwgdDEsIHQyLCB0M11cbn1cblxuLy8gQUVTIGNvbnN0YW50c1xudmFyIFJDT04gPSBbMHgwMCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNl1cbnZhciBHID0gKGZ1bmN0aW9uICgpIHtcbiAgLy8gQ29tcHV0ZSBkb3VibGUgdGFibGVcbiAgdmFyIGQgPSBuZXcgQXJyYXkoMjU2KVxuICBmb3IgKHZhciBqID0gMDsgaiA8IDI1NjsgaisrKSB7XG4gICAgaWYgKGogPCAxMjgpIHtcbiAgICAgIGRbal0gPSBqIDw8IDFcbiAgICB9IGVsc2Uge1xuICAgICAgZFtqXSA9IChqIDw8IDEpIF4gMHgxMWJcbiAgICB9XG4gIH1cblxuICB2YXIgU0JPWCA9IFtdXG4gIHZhciBJTlZfU0JPWCA9IFtdXG4gIHZhciBTVUJfTUlYID0gW1tdLCBbXSwgW10sIFtdXVxuICB2YXIgSU5WX1NVQl9NSVggPSBbW10sIFtdLCBbXSwgW11dXG5cbiAgLy8gV2FsayBHRigyXjgpXG4gIHZhciB4ID0gMFxuICB2YXIgeGkgPSAwXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcbiAgICAvLyBDb21wdXRlIHNib3hcbiAgICB2YXIgc3ggPSB4aSBeICh4aSA8PCAxKSBeICh4aSA8PCAyKSBeICh4aSA8PCAzKSBeICh4aSA8PCA0KVxuICAgIHN4ID0gKHN4ID4+PiA4KSBeIChzeCAmIDB4ZmYpIF4gMHg2M1xuICAgIFNCT1hbeF0gPSBzeFxuICAgIElOVl9TQk9YW3N4XSA9IHhcblxuICAgIC8vIENvbXB1dGUgbXVsdGlwbGljYXRpb25cbiAgICB2YXIgeDIgPSBkW3hdXG4gICAgdmFyIHg0ID0gZFt4Ml1cbiAgICB2YXIgeDggPSBkW3g0XVxuXG4gICAgLy8gQ29tcHV0ZSBzdWIgYnl0ZXMsIG1peCBjb2x1bW5zIHRhYmxlc1xuICAgIHZhciB0ID0gKGRbc3hdICogMHgxMDEpIF4gKHN4ICogMHgxMDEwMTAwKVxuICAgIFNVQl9NSVhbMF1beF0gPSAodCA8PCAyNCkgfCAodCA+Pj4gOClcbiAgICBTVUJfTUlYWzFdW3hdID0gKHQgPDwgMTYpIHwgKHQgPj4+IDE2KVxuICAgIFNVQl9NSVhbMl1beF0gPSAodCA8PCA4KSB8ICh0ID4+PiAyNClcbiAgICBTVUJfTUlYWzNdW3hdID0gdFxuXG4gICAgLy8gQ29tcHV0ZSBpbnYgc3ViIGJ5dGVzLCBpbnYgbWl4IGNvbHVtbnMgdGFibGVzXG4gICAgdCA9ICh4OCAqIDB4MTAxMDEwMSkgXiAoeDQgKiAweDEwMDAxKSBeICh4MiAqIDB4MTAxKSBeICh4ICogMHgxMDEwMTAwKVxuICAgIElOVl9TVUJfTUlYWzBdW3N4XSA9ICh0IDw8IDI0KSB8ICh0ID4+PiA4KVxuICAgIElOVl9TVUJfTUlYWzFdW3N4XSA9ICh0IDw8IDE2KSB8ICh0ID4+PiAxNilcbiAgICBJTlZfU1VCX01JWFsyXVtzeF0gPSAodCA8PCA4KSB8ICh0ID4+PiAyNClcbiAgICBJTlZfU1VCX01JWFszXVtzeF0gPSB0XG5cbiAgICBpZiAoeCA9PT0gMCkge1xuICAgICAgeCA9IHhpID0gMVxuICAgIH0gZWxzZSB7XG4gICAgICB4ID0geDIgXiBkW2RbZFt4OCBeIHgyXV1dXG4gICAgICB4aSBePSBkW2RbeGldXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgU0JPWDogU0JPWCxcbiAgICBJTlZfU0JPWDogSU5WX1NCT1gsXG4gICAgU1VCX01JWDogU1VCX01JWCxcbiAgICBJTlZfU1VCX01JWDogSU5WX1NVQl9NSVhcbiAgfVxufSkoKVxuXG5mdW5jdGlvbiBBRVMgKGtleSkge1xuICB0aGlzLl9rZXkgPSBhc1VJbnQzMkFycmF5KGtleSlcbiAgdGhpcy5fcmVzZXQoKVxufVxuXG5BRVMuYmxvY2tTaXplID0gNCAqIDRcbkFFUy5rZXlTaXplID0gMjU2IC8gOFxuQUVTLnByb3RvdHlwZS5ibG9ja1NpemUgPSBBRVMuYmxvY2tTaXplXG5BRVMucHJvdG90eXBlLmtleVNpemUgPSBBRVMua2V5U2l6ZVxuQUVTLnByb3RvdHlwZS5fcmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBrZXlXb3JkcyA9IHRoaXMuX2tleVxuICB2YXIga2V5U2l6ZSA9IGtleVdvcmRzLmxlbmd0aFxuICB2YXIgblJvdW5kcyA9IGtleVNpemUgKyA2XG4gIHZhciBrc1Jvd3MgPSAoblJvdW5kcyArIDEpICogNFxuXG4gIHZhciBrZXlTY2hlZHVsZSA9IFtdXG4gIGZvciAodmFyIGsgPSAwOyBrIDwga2V5U2l6ZTsgaysrKSB7XG4gICAga2V5U2NoZWR1bGVba10gPSBrZXlXb3Jkc1trXVxuICB9XG5cbiAgZm9yIChrID0ga2V5U2l6ZTsgayA8IGtzUm93czsgaysrKSB7XG4gICAgdmFyIHQgPSBrZXlTY2hlZHVsZVtrIC0gMV1cblxuICAgIGlmIChrICUga2V5U2l6ZSA9PT0gMCkge1xuICAgICAgdCA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KVxuICAgICAgdCA9XG4gICAgICAgIChHLlNCT1hbdCA+Pj4gMjRdIDw8IDI0KSB8XG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8XG4gICAgICAgIChHLlNCT1hbKHQgPj4+IDgpICYgMHhmZl0gPDwgOCkgfFxuICAgICAgICAoRy5TQk9YW3QgJiAweGZmXSlcblxuICAgICAgdCBePSBSQ09OWyhrIC8ga2V5U2l6ZSkgfCAwXSA8PCAyNFxuICAgIH0gZWxzZSBpZiAoa2V5U2l6ZSA+IDYgJiYgayAlIGtleVNpemUgPT09IDQpIHtcbiAgICAgIHQgPVxuICAgICAgICAoRy5TQk9YW3QgPj4+IDI0XSA8PCAyNCkgfFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiAxNikgJiAweGZmXSA8PCAxNikgfFxuICAgICAgICAoRy5TQk9YWyh0ID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHxcbiAgICAgICAgKEcuU0JPWFt0ICYgMHhmZl0pXG4gICAgfVxuXG4gICAga2V5U2NoZWR1bGVba10gPSBrZXlTY2hlZHVsZVtrIC0ga2V5U2l6ZV0gXiB0XG4gIH1cblxuICB2YXIgaW52S2V5U2NoZWR1bGUgPSBbXVxuICBmb3IgKHZhciBpayA9IDA7IGlrIDwga3NSb3dzOyBpaysrKSB7XG4gICAgdmFyIGtzUiA9IGtzUm93cyAtIGlrXG4gICAgdmFyIHR0ID0ga2V5U2NoZWR1bGVba3NSIC0gKGlrICUgNCA/IDAgOiA0KV1cblxuICAgIGlmIChpayA8IDQgfHwga3NSIDw9IDQpIHtcbiAgICAgIGludktleVNjaGVkdWxlW2lrXSA9IHR0XG4gICAgfSBlbHNlIHtcbiAgICAgIGludktleVNjaGVkdWxlW2lrXSA9XG4gICAgICAgIEcuSU5WX1NVQl9NSVhbMF1bRy5TQk9YW3R0ID4+PiAyNF1dIF5cbiAgICAgICAgRy5JTlZfU1VCX01JWFsxXVtHLlNCT1hbKHR0ID4+PiAxNikgJiAweGZmXV0gXlxuICAgICAgICBHLklOVl9TVUJfTUlYWzJdW0cuU0JPWFsodHQgPj4+IDgpICYgMHhmZl1dIF5cbiAgICAgICAgRy5JTlZfU1VCX01JWFszXVtHLlNCT1hbdHQgJiAweGZmXV1cbiAgICB9XG4gIH1cblxuICB0aGlzLl9uUm91bmRzID0gblJvdW5kc1xuICB0aGlzLl9rZXlTY2hlZHVsZSA9IGtleVNjaGVkdWxlXG4gIHRoaXMuX2ludktleVNjaGVkdWxlID0gaW52S2V5U2NoZWR1bGVcbn1cblxuQUVTLnByb3RvdHlwZS5lbmNyeXB0QmxvY2tSYXcgPSBmdW5jdGlvbiAoTSkge1xuICBNID0gYXNVSW50MzJBcnJheShNKVxuICByZXR1cm4gY3J5cHRCbG9jayhNLCB0aGlzLl9rZXlTY2hlZHVsZSwgRy5TVUJfTUlYLCBHLlNCT1gsIHRoaXMuX25Sb3VuZHMpXG59XG5cbkFFUy5wcm90b3R5cGUuZW5jcnlwdEJsb2NrID0gZnVuY3Rpb24gKE0pIHtcbiAgdmFyIG91dCA9IHRoaXMuZW5jcnlwdEJsb2NrUmF3KE0pXG4gIHZhciBidWYgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMTYpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFswXSwgMClcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzFdLCA0KVxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMl0sIDgpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFszXSwgMTIpXG4gIHJldHVybiBidWZcbn1cblxuQUVTLnByb3RvdHlwZS5kZWNyeXB0QmxvY2sgPSBmdW5jdGlvbiAoTSkge1xuICBNID0gYXNVSW50MzJBcnJheShNKVxuXG4gIC8vIHN3YXBcbiAgdmFyIG0xID0gTVsxXVxuICBNWzFdID0gTVszXVxuICBNWzNdID0gbTFcblxuICB2YXIgb3V0ID0gY3J5cHRCbG9jayhNLCB0aGlzLl9pbnZLZXlTY2hlZHVsZSwgRy5JTlZfU1VCX01JWCwgRy5JTlZfU0JPWCwgdGhpcy5fblJvdW5kcylcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzBdLCAwKVxuICBidWYud3JpdGVVSW50MzJCRShvdXRbM10sIDQpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSwgOClcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzFdLCAxMilcbiAgcmV0dXJuIGJ1ZlxufVxuXG5BRVMucHJvdG90eXBlLnNjcnViID0gZnVuY3Rpb24gKCkge1xuICBzY3J1YlZlYyh0aGlzLl9rZXlTY2hlZHVsZSlcbiAgc2NydWJWZWModGhpcy5faW52S2V5U2NoZWR1bGUpXG4gIHNjcnViVmVjKHRoaXMuX2tleSlcbn1cblxubW9kdWxlLmV4cG9ydHMuQUVTID0gQUVTXG4iLCJ2YXIgYWVzID0gcmVxdWlyZSgnLi9hZXMnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnY2lwaGVyLWJhc2UnKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEdIQVNIID0gcmVxdWlyZSgnLi9naGFzaCcpXG52YXIgeG9yID0gcmVxdWlyZSgnYnVmZmVyLXhvcicpXG52YXIgaW5jcjMyID0gcmVxdWlyZSgnLi9pbmNyMzInKVxuXG5mdW5jdGlvbiB4b3JUZXN0IChhLCBiKSB7XG4gIHZhciBvdXQgPSAwXG4gIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIG91dCsrXG5cbiAgdmFyIGxlbiA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgIG91dCArPSAoYVtpXSBeIGJbaV0pXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIGNhbGNJdiAoc2VsZiwgaXYsIGNrKSB7XG4gIGlmIChpdi5sZW5ndGggPT09IDEyKSB7XG4gICAgc2VsZi5fZmluSUQgPSBCdWZmZXIuY29uY2F0KFtpdiwgQnVmZmVyLmZyb20oWzAsIDAsIDAsIDFdKV0pXG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2l2LCBCdWZmZXIuZnJvbShbMCwgMCwgMCwgMl0pXSlcbiAgfVxuICB2YXIgZ2hhc2ggPSBuZXcgR0hBU0goY2spXG4gIHZhciBsZW4gPSBpdi5sZW5ndGhcbiAgdmFyIHRvUGFkID0gbGVuICUgMTZcbiAgZ2hhc2gudXBkYXRlKGl2KVxuICBpZiAodG9QYWQpIHtcbiAgICB0b1BhZCA9IDE2IC0gdG9QYWRcbiAgICBnaGFzaC51cGRhdGUoQnVmZmVyLmFsbG9jKHRvUGFkLCAwKSlcbiAgfVxuICBnaGFzaC51cGRhdGUoQnVmZmVyLmFsbG9jKDgsIDApKVxuICB2YXIgaXZCaXRzID0gbGVuICogOFxuICB2YXIgdGFpbCA9IEJ1ZmZlci5hbGxvYyg4KVxuICB0YWlsLndyaXRlVUludEJFKGl2Qml0cywgMCwgOClcbiAgZ2hhc2gudXBkYXRlKHRhaWwpXG4gIHNlbGYuX2ZpbklEID0gZ2hhc2guc3RhdGVcbiAgdmFyIG91dCA9IEJ1ZmZlci5mcm9tKHNlbGYuX2ZpbklEKVxuICBpbmNyMzIob3V0KVxuICByZXR1cm4gb3V0XG59XG5mdW5jdGlvbiBTdHJlYW1DaXBoZXIgKG1vZGUsIGtleSwgaXYsIGRlY3J5cHQpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcblxuICB2YXIgaCA9IEJ1ZmZlci5hbGxvYyg0LCAwKVxuXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcbiAgdmFyIGNrID0gdGhpcy5fY2lwaGVyLmVuY3J5cHRCbG9jayhoKVxuICB0aGlzLl9naGFzaCA9IG5ldyBHSEFTSChjaylcbiAgaXYgPSBjYWxjSXYodGhpcywgaXYsIGNrKVxuXG4gIHRoaXMuX3ByZXYgPSBCdWZmZXIuZnJvbShpdilcbiAgdGhpcy5fY2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcbiAgdGhpcy5fc2VjQ2FjaGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcbiAgdGhpcy5fZGVjcnlwdCA9IGRlY3J5cHRcbiAgdGhpcy5fYWxlbiA9IDBcbiAgdGhpcy5fbGVuID0gMFxuICB0aGlzLl9tb2RlID0gbW9kZVxuXG4gIHRoaXMuX2F1dGhUYWcgPSBudWxsXG4gIHRoaXMuX2NhbGxlZCA9IGZhbHNlXG59XG5cbmluaGVyaXRzKFN0cmVhbUNpcGhlciwgVHJhbnNmb3JtKVxuXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoY2h1bmspIHtcbiAgaWYgKCF0aGlzLl9jYWxsZWQgJiYgdGhpcy5fYWxlbikge1xuICAgIHZhciBydW1wID0gMTYgLSAodGhpcy5fYWxlbiAlIDE2KVxuICAgIGlmIChydW1wIDwgMTYpIHtcbiAgICAgIHJ1bXAgPSBCdWZmZXIuYWxsb2MocnVtcCwgMClcbiAgICAgIHRoaXMuX2doYXNoLnVwZGF0ZShydW1wKVxuICAgIH1cbiAgfVxuXG4gIHRoaXMuX2NhbGxlZCA9IHRydWVcbiAgdmFyIG91dCA9IHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaylcbiAgaWYgKHRoaXMuX2RlY3J5cHQpIHtcbiAgICB0aGlzLl9naGFzaC51cGRhdGUoY2h1bmspXG4gIH0gZWxzZSB7XG4gICAgdGhpcy5fZ2hhc2gudXBkYXRlKG91dClcbiAgfVxuICB0aGlzLl9sZW4gKz0gY2h1bmsubGVuZ3RoXG4gIHJldHVybiBvdXRcbn1cblxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XG4gIGlmICh0aGlzLl9kZWNyeXB0ICYmICF0aGlzLl9hdXRoVGFnKSB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIHN0YXRlIG9yIHVuYWJsZSB0byBhdXRoZW50aWNhdGUgZGF0YScpXG5cbiAgdmFyIHRhZyA9IHhvcih0aGlzLl9naGFzaC5maW5hbCh0aGlzLl9hbGVuICogOCwgdGhpcy5fbGVuICogOCksIHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodGhpcy5fZmluSUQpKVxuICBpZiAodGhpcy5fZGVjcnlwdCAmJiB4b3JUZXN0KHRhZywgdGhpcy5fYXV0aFRhZykpIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgc3RhdGUgb3IgdW5hYmxlIHRvIGF1dGhlbnRpY2F0ZSBkYXRhJylcblxuICB0aGlzLl9hdXRoVGFnID0gdGFnXG4gIHRoaXMuX2NpcGhlci5zY3J1YigpXG59XG5cblN0cmVhbUNpcGhlci5wcm90b3R5cGUuZ2V0QXV0aFRhZyA9IGZ1bmN0aW9uIGdldEF1dGhUYWcgKCkge1xuICBpZiAodGhpcy5fZGVjcnlwdCB8fCAhQnVmZmVyLmlzQnVmZmVyKHRoaXMuX2F1dGhUYWcpKSB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gZ2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlJylcblxuICByZXR1cm4gdGhpcy5fYXV0aFRhZ1xufVxuXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLnNldEF1dGhUYWcgPSBmdW5jdGlvbiBzZXRBdXRoVGFnICh0YWcpIHtcbiAgaWYgKCF0aGlzLl9kZWNyeXB0KSB0aHJvdyBuZXcgRXJyb3IoJ0F0dGVtcHRpbmcgdG8gc2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlJylcblxuICB0aGlzLl9hdXRoVGFnID0gdGFnXG59XG5cblN0cmVhbUNpcGhlci5wcm90b3R5cGUuc2V0QUFEID0gZnVuY3Rpb24gc2V0QUFEIChidWYpIHtcbiAgaWYgKHRoaXMuX2NhbGxlZCkgdGhyb3cgbmV3IEVycm9yKCdBdHRlbXB0aW5nIHRvIHNldCBBQUQgaW4gdW5zdXBwb3J0ZWQgc3RhdGUnKVxuXG4gIHRoaXMuX2doYXNoLnVwZGF0ZShidWYpXG4gIHRoaXMuX2FsZW4gKz0gYnVmLmxlbmd0aFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFN0cmVhbUNpcGhlclxuIiwidmFyIGNpcGhlcnMgPSByZXF1aXJlKCcuL2VuY3J5cHRlcicpXG52YXIgZGVjaXBoZXJzID0gcmVxdWlyZSgnLi9kZWNyeXB0ZXInKVxudmFyIG1vZGVzID0gcmVxdWlyZSgnLi9tb2Rlcy9saXN0Lmpzb24nKVxuXG5mdW5jdGlvbiBnZXRDaXBoZXJzICgpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1vZGVzKVxufVxuXG5leHBvcnRzLmNyZWF0ZUNpcGhlciA9IGV4cG9ydHMuQ2lwaGVyID0gY2lwaGVycy5jcmVhdGVDaXBoZXJcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBleHBvcnRzLkNpcGhlcml2ID0gY2lwaGVycy5jcmVhdGVDaXBoZXJpdlxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlciA9IGV4cG9ydHMuRGVjaXBoZXIgPSBkZWNpcGhlcnMuY3JlYXRlRGVjaXBoZXJcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGV4cG9ydHMuRGVjaXBoZXJpdiA9IGRlY2lwaGVycy5jcmVhdGVEZWNpcGhlcml2XG5leHBvcnRzLmxpc3RDaXBoZXJzID0gZXhwb3J0cy5nZXRDaXBoZXJzID0gZ2V0Q2lwaGVyc1xuIiwidmFyIEF1dGhDaXBoZXIgPSByZXF1aXJlKCcuL2F1dGhDaXBoZXInKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG52YXIgTU9ERVMgPSByZXF1aXJlKCcuL21vZGVzJylcbnZhciBTdHJlYW1DaXBoZXIgPSByZXF1aXJlKCcuL3N0cmVhbUNpcGhlcicpXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnY2lwaGVyLWJhc2UnKVxudmFyIGFlcyA9IHJlcXVpcmUoJy4vYWVzJylcbnZhciBlYnRrID0gcmVxdWlyZSgnZXZwX2J5dGVzdG9rZXknKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxuXG5mdW5jdGlvbiBEZWNpcGhlciAobW9kZSwga2V5LCBpdikge1xuICBUcmFuc2Zvcm0uY2FsbCh0aGlzKVxuXG4gIHRoaXMuX2NhY2hlID0gbmV3IFNwbGl0dGVyKClcbiAgdGhpcy5fbGFzdCA9IHZvaWQgMFxuICB0aGlzLl9jaXBoZXIgPSBuZXcgYWVzLkFFUyhrZXkpXG4gIHRoaXMuX3ByZXYgPSBCdWZmZXIuZnJvbShpdilcbiAgdGhpcy5fbW9kZSA9IG1vZGVcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSB0cnVlXG59XG5cbmluaGVyaXRzKERlY2lwaGVyLCBUcmFuc2Zvcm0pXG5cbkRlY2lwaGVyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5fY2FjaGUuYWRkKGRhdGEpXG4gIHZhciBjaHVua1xuICB2YXIgdGhpbmdcbiAgdmFyIG91dCA9IFtdXG4gIHdoaWxlICgoY2h1bmsgPSB0aGlzLl9jYWNoZS5nZXQodGhpcy5fYXV0b3BhZGRpbmcpKSkge1xuICAgIHRoaW5nID0gdGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsIGNodW5rKVxuICAgIG91dC5wdXNoKHRoaW5nKVxuICB9XG4gIHJldHVybiBCdWZmZXIuY29uY2F0KG91dClcbn1cblxuRGVjaXBoZXIucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGNodW5rID0gdGhpcy5fY2FjaGUuZmx1c2goKVxuICBpZiAodGhpcy5fYXV0b3BhZGRpbmcpIHtcbiAgICByZXR1cm4gdW5wYWQodGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsIGNodW5rKSlcbiAgfSBlbHNlIGlmIChjaHVuaykge1xuICAgIHRocm93IG5ldyBFcnJvcignZGF0YSBub3QgbXVsdGlwbGUgb2YgYmxvY2sgbGVuZ3RoJylcbiAgfVxufVxuXG5EZWNpcGhlci5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmcgPSBmdW5jdGlvbiAoc2V0VG8pIHtcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIFNwbGl0dGVyICgpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKGF1dG9QYWRkaW5nKSB7XG4gIHZhciBvdXRcbiAgaWYgKGF1dG9QYWRkaW5nKSB7XG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID4gMTYpIHtcbiAgICAgIG91dCA9IHRoaXMuY2FjaGUuc2xpY2UoMCwgMTYpXG4gICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5zbGljZSgxNilcbiAgICAgIHJldHVybiBvdXRcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHRoaXMuY2FjaGUubGVuZ3RoID49IDE2KSB7XG4gICAgICBvdXQgPSB0aGlzLmNhY2hlLnNsaWNlKDAsIDE2KVxuICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuc2xpY2UoMTYpXG4gICAgICByZXR1cm4gb3V0XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuU3BsaXR0ZXIucHJvdG90eXBlLmZsdXNoID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5jYWNoZS5sZW5ndGgpIHJldHVybiB0aGlzLmNhY2hlXG59XG5cbmZ1bmN0aW9uIHVucGFkIChsYXN0KSB7XG4gIHZhciBwYWRkZWQgPSBsYXN0WzE1XVxuICBpZiAocGFkZGVkIDwgMSB8fCBwYWRkZWQgPiAxNikge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5hYmxlIHRvIGRlY3J5cHQgZGF0YScpXG4gIH1cbiAgdmFyIGkgPSAtMVxuICB3aGlsZSAoKytpIDwgcGFkZGVkKSB7XG4gICAgaWYgKGxhc3RbKGkgKyAoMTYgLSBwYWRkZWQpKV0gIT09IHBhZGRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bmFibGUgdG8gZGVjcnlwdCBkYXRhJylcbiAgICB9XG4gIH1cbiAgaWYgKHBhZGRlZCA9PT0gMTYpIHJldHVyblxuXG4gIHJldHVybiBsYXN0LnNsaWNlKDAsIDE2IC0gcGFkZGVkKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcml2IChzdWl0ZSwgcGFzc3dvcmQsIGl2KSB7XG4gIHZhciBjb25maWcgPSBNT0RFU1tzdWl0ZS50b0xvd2VyQ2FzZSgpXVxuICBpZiAoIWNvbmZpZykgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcblxuICBpZiAodHlwZW9mIGl2ID09PSAnc3RyaW5nJykgaXYgPSBCdWZmZXIuZnJvbShpdilcbiAgaWYgKGNvbmZpZy5tb2RlICE9PSAnR0NNJyAmJiBpdi5sZW5ndGggIT09IGNvbmZpZy5pdikgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBpdiBsZW5ndGggJyArIGl2Lmxlbmd0aClcblxuICBpZiAodHlwZW9mIHBhc3N3b3JkID09PSAnc3RyaW5nJykgcGFzc3dvcmQgPSBCdWZmZXIuZnJvbShwYXNzd29yZClcbiAgaWYgKHBhc3N3b3JkLmxlbmd0aCAhPT0gY29uZmlnLmtleSAvIDgpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQga2V5IGxlbmd0aCAnICsgcGFzc3dvcmQubGVuZ3RoKVxuXG4gIGlmIChjb25maWcudHlwZSA9PT0gJ3N0cmVhbScpIHtcbiAgICByZXR1cm4gbmV3IFN0cmVhbUNpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYsIHRydWUpXG4gIH0gZWxzZSBpZiAoY29uZmlnLnR5cGUgPT09ICdhdXRoJykge1xuICAgIHJldHVybiBuZXcgQXV0aENpcGhlcihjb25maWcubW9kdWxlLCBwYXNzd29yZCwgaXYsIHRydWUpXG4gIH1cblxuICByZXR1cm4gbmV3IERlY2lwaGVyKGNvbmZpZy5tb2R1bGUsIHBhc3N3b3JkLCBpdilcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVjaXBoZXIgKHN1aXRlLCBwYXNzd29yZCkge1xuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXG5cbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwgY29uZmlnLmtleSwgY29uZmlnLml2KVxuICByZXR1cm4gY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXG59XG5cbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBjcmVhdGVEZWNpcGhlclxuZXhwb3J0cy5jcmVhdGVEZWNpcGhlcml2ID0gY3JlYXRlRGVjaXBoZXJpdlxuIiwidmFyIE1PREVTID0gcmVxdWlyZSgnLi9tb2RlcycpXG52YXIgQXV0aENpcGhlciA9IHJlcXVpcmUoJy4vYXV0aENpcGhlcicpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBTdHJlYW1DaXBoZXIgPSByZXF1aXJlKCcuL3N0cmVhbUNpcGhlcicpXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnY2lwaGVyLWJhc2UnKVxudmFyIGFlcyA9IHJlcXVpcmUoJy4vYWVzJylcbnZhciBlYnRrID0gcmVxdWlyZSgnZXZwX2J5dGVzdG9rZXknKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxuXG5mdW5jdGlvbiBDaXBoZXIgKG1vZGUsIGtleSwgaXYpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcblxuICB0aGlzLl9jYWNoZSA9IG5ldyBTcGxpdHRlcigpXG4gIHRoaXMuX2NpcGhlciA9IG5ldyBhZXMuQUVTKGtleSlcbiAgdGhpcy5fcHJldiA9IEJ1ZmZlci5mcm9tKGl2KVxuICB0aGlzLl9tb2RlID0gbW9kZVxuICB0aGlzLl9hdXRvcGFkZGluZyA9IHRydWVcbn1cblxuaW5oZXJpdHMoQ2lwaGVyLCBUcmFuc2Zvcm0pXG5cbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuX2NhY2hlLmFkZChkYXRhKVxuICB2YXIgY2h1bmtcbiAgdmFyIHRoaW5nXG4gIHZhciBvdXQgPSBbXVxuXG4gIHdoaWxlICgoY2h1bmsgPSB0aGlzLl9jYWNoZS5nZXQoKSkpIHtcbiAgICB0aGluZyA9IHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaylcbiAgICBvdXQucHVzaCh0aGluZylcbiAgfVxuXG4gIHJldHVybiBCdWZmZXIuY29uY2F0KG91dClcbn1cblxudmFyIFBBRERJTkcgPSBCdWZmZXIuYWxsb2MoMTYsIDB4MTApXG5cbkNpcGhlci5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xuICB2YXIgY2h1bmsgPSB0aGlzLl9jYWNoZS5mbHVzaCgpXG4gIGlmICh0aGlzLl9hdXRvcGFkZGluZykge1xuICAgIGNodW5rID0gdGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsIGNodW5rKVxuICAgIHRoaXMuX2NpcGhlci5zY3J1YigpXG4gICAgcmV0dXJuIGNodW5rXG4gIH1cblxuICBpZiAoIWNodW5rLmVxdWFscyhQQURESU5HKSkge1xuICAgIHRoaXMuX2NpcGhlci5zY3J1YigpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGgnKVxuICB9XG59XG5cbkNpcGhlci5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmcgPSBmdW5jdGlvbiAoc2V0VG8pIHtcbiAgdGhpcy5fYXV0b3BhZGRpbmcgPSAhIXNldFRvXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIFNwbGl0dGVyICgpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgdGhpcy5jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIGRhdGFdKVxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkge1xuICBpZiAodGhpcy5jYWNoZS5sZW5ndGggPiAxNSkge1xuICAgIHZhciBvdXQgPSB0aGlzLmNhY2hlLnNsaWNlKDAsIDE2KVxuICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLnNsaWNlKDE2KVxuICAgIHJldHVybiBvdXRcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5TcGxpdHRlci5wcm90b3R5cGUuZmx1c2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBsZW4gPSAxNiAtIHRoaXMuY2FjaGUubGVuZ3RoXG4gIHZhciBwYWRCdWZmID0gQnVmZmVyLmFsbG9jVW5zYWZlKGxlbilcblxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICBwYWRCdWZmLndyaXRlVUludDgobGVuLCBpKVxuICB9XG5cbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW3RoaXMuY2FjaGUsIHBhZEJ1ZmZdKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIHBhc3N3b3JkLCBpdikge1xuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXG5cbiAgaWYgKHR5cGVvZiBwYXNzd29yZCA9PT0gJ3N0cmluZycpIHBhc3N3b3JkID0gQnVmZmVyLmZyb20ocGFzc3dvcmQpXG4gIGlmIChwYXNzd29yZC5sZW5ndGggIT09IGNvbmZpZy5rZXkgLyA4KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIGtleSBsZW5ndGggJyArIHBhc3N3b3JkLmxlbmd0aClcblxuICBpZiAodHlwZW9mIGl2ID09PSAnc3RyaW5nJykgaXYgPSBCdWZmZXIuZnJvbShpdilcbiAgaWYgKGNvbmZpZy5tb2RlICE9PSAnR0NNJyAmJiBpdi5sZW5ndGggIT09IGNvbmZpZy5pdikgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBpdiBsZW5ndGggJyArIGl2Lmxlbmd0aClcblxuICBpZiAoY29uZmlnLnR5cGUgPT09ICdzdHJlYW0nKSB7XG4gICAgcmV0dXJuIG5ldyBTdHJlYW1DaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2KVxuICB9IGVsc2UgaWYgKGNvbmZpZy50eXBlID09PSAnYXV0aCcpIHtcbiAgICByZXR1cm4gbmV3IEF1dGhDaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2KVxuICB9XG5cbiAgcmV0dXJuIG5ldyBDaXBoZXIoY29uZmlnLm1vZHVsZSwgcGFzc3dvcmQsIGl2KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXIgKHN1aXRlLCBwYXNzd29yZCkge1xuICB2YXIgY29uZmlnID0gTU9ERVNbc3VpdGUudG9Mb3dlckNhc2UoKV1cbiAgaWYgKCFjb25maWcpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgc3VpdGUgdHlwZScpXG5cbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwgY29uZmlnLmtleSwgY29uZmlnLml2KVxuICByZXR1cm4gY3JlYXRlQ2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxufVxuXG5leHBvcnRzLmNyZWF0ZUNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyID0gY3JlYXRlQ2lwaGVyXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBaRVJPRVMgPSBCdWZmZXIuYWxsb2MoMTYsIDApXG5cbmZ1bmN0aW9uIHRvQXJyYXkgKGJ1Zikge1xuICByZXR1cm4gW1xuICAgIGJ1Zi5yZWFkVUludDMyQkUoMCksXG4gICAgYnVmLnJlYWRVSW50MzJCRSg0KSxcbiAgICBidWYucmVhZFVJbnQzMkJFKDgpLFxuICAgIGJ1Zi5yZWFkVUludDMyQkUoMTIpXG4gIF1cbn1cblxuZnVuY3Rpb24gZnJvbUFycmF5IChvdXQpIHtcbiAgdmFyIGJ1ZiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgxNilcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzBdID4+PiAwLCAwKVxuICBidWYud3JpdGVVSW50MzJCRShvdXRbMV0gPj4+IDAsIDQpXG4gIGJ1Zi53cml0ZVVJbnQzMkJFKG91dFsyXSA+Pj4gMCwgOClcbiAgYnVmLndyaXRlVUludDMyQkUob3V0WzNdID4+PiAwLCAxMilcbiAgcmV0dXJuIGJ1ZlxufVxuXG5mdW5jdGlvbiBHSEFTSCAoa2V5KSB7XG4gIHRoaXMuaCA9IGtleVxuICB0aGlzLnN0YXRlID0gQnVmZmVyLmFsbG9jKDE2LCAwKVxuICB0aGlzLmNhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXG59XG5cbi8vIGZyb20gaHR0cDovL2JpdHdpc2VzaGlmdGxlZnQuZ2l0aHViLmlvL3NqY2wvZG9jL3N5bWJvbHMvc3JjL2NvcmVfZ2NtLmpzLmh0bWxcbi8vIGJ5IEp1aG8gVsOkaMOkLUhlcnR0dWFcbkdIQVNILnByb3RvdHlwZS5naGFzaCA9IGZ1bmN0aW9uIChibG9jaykge1xuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBibG9jay5sZW5ndGgpIHtcbiAgICB0aGlzLnN0YXRlW2ldIF49IGJsb2NrW2ldXG4gIH1cbiAgdGhpcy5fbXVsdGlwbHkoKVxufVxuXG5HSEFTSC5wcm90b3R5cGUuX211bHRpcGx5ID0gZnVuY3Rpb24gKCkge1xuICB2YXIgVmkgPSB0b0FycmF5KHRoaXMuaClcbiAgdmFyIFppID0gWzAsIDAsIDAsIDBdXG4gIHZhciBqLCB4aSwgbHNiVmlcbiAgdmFyIGkgPSAtMVxuICB3aGlsZSAoKytpIDwgMTI4KSB7XG4gICAgeGkgPSAodGhpcy5zdGF0ZVt+fihpIC8gOCldICYgKDEgPDwgKDcgLSAoaSAlIDgpKSkpICE9PSAwXG4gICAgaWYgKHhpKSB7XG4gICAgICAvLyBaX2krMSA9IFpfaSBeIFZfaVxuICAgICAgWmlbMF0gXj0gVmlbMF1cbiAgICAgIFppWzFdIF49IFZpWzFdXG4gICAgICBaaVsyXSBePSBWaVsyXVxuICAgICAgWmlbM10gXj0gVmlbM11cbiAgICB9XG5cbiAgICAvLyBTdG9yZSB0aGUgdmFsdWUgb2YgTFNCKFZfaSlcbiAgICBsc2JWaSA9IChWaVszXSAmIDEpICE9PSAwXG5cbiAgICAvLyBWX2krMSA9IFZfaSA+PiAxXG4gICAgZm9yIChqID0gMzsgaiA+IDA7IGotLSkge1xuICAgICAgVmlbal0gPSAoVmlbal0gPj4+IDEpIHwgKChWaVtqIC0gMV0gJiAxKSA8PCAzMSlcbiAgICB9XG4gICAgVmlbMF0gPSBWaVswXSA+Pj4gMVxuXG4gICAgLy8gSWYgTFNCKFZfaSkgaXMgMSwgVl9pKzEgPSAoVl9pID4+IDEpIF4gUlxuICAgIGlmIChsc2JWaSkge1xuICAgICAgVmlbMF0gPSBWaVswXSBeICgweGUxIDw8IDI0KVxuICAgIH1cbiAgfVxuICB0aGlzLnN0YXRlID0gZnJvbUFycmF5KFppKVxufVxuXG5HSEFTSC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGJ1Zikge1xuICB0aGlzLmNhY2hlID0gQnVmZmVyLmNvbmNhdChbdGhpcy5jYWNoZSwgYnVmXSlcbiAgdmFyIGNodW5rXG4gIHdoaWxlICh0aGlzLmNhY2hlLmxlbmd0aCA+PSAxNikge1xuICAgIGNodW5rID0gdGhpcy5jYWNoZS5zbGljZSgwLCAxNilcbiAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5zbGljZSgxNilcbiAgICB0aGlzLmdoYXNoKGNodW5rKVxuICB9XG59XG5cbkdIQVNILnByb3RvdHlwZS5maW5hbCA9IGZ1bmN0aW9uIChhYmwsIGJsKSB7XG4gIGlmICh0aGlzLmNhY2hlLmxlbmd0aCkge1xuICAgIHRoaXMuZ2hhc2goQnVmZmVyLmNvbmNhdChbdGhpcy5jYWNoZSwgWkVST0VTXSwgMTYpKVxuICB9XG5cbiAgdGhpcy5naGFzaChmcm9tQXJyYXkoWzAsIGFibCwgMCwgYmxdKSlcbiAgcmV0dXJuIHRoaXMuc3RhdGVcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBHSEFTSFxuIiwiZnVuY3Rpb24gaW5jcjMyIChpdikge1xuICB2YXIgbGVuID0gaXYubGVuZ3RoXG4gIHZhciBpdGVtXG4gIHdoaWxlIChsZW4tLSkge1xuICAgIGl0ZW0gPSBpdi5yZWFkVUludDgobGVuKVxuICAgIGlmIChpdGVtID09PSAyNTUpIHtcbiAgICAgIGl2LndyaXRlVUludDgoMCwgbGVuKVxuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtKytcbiAgICAgIGl2LndyaXRlVUludDgoaXRlbSwgbGVuKVxuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gaW5jcjMyXG4iLCJ2YXIgeG9yID0gcmVxdWlyZSgnYnVmZmVyLXhvcicpXG5cbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBibG9jaykge1xuICB2YXIgZGF0YSA9IHhvcihibG9jaywgc2VsZi5fcHJldilcblxuICBzZWxmLl9wcmV2ID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhkYXRhKVxuICByZXR1cm4gc2VsZi5fcHJldlxufVxuXG5leHBvcnRzLmRlY3J5cHQgPSBmdW5jdGlvbiAoc2VsZiwgYmxvY2spIHtcbiAgdmFyIHBhZCA9IHNlbGYuX3ByZXZcblxuICBzZWxmLl9wcmV2ID0gYmxvY2tcbiAgdmFyIG91dCA9IHNlbGYuX2NpcGhlci5kZWNyeXB0QmxvY2soYmxvY2spXG5cbiAgcmV0dXJuIHhvcihvdXQsIHBhZClcbn1cbiIsInZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxudmFyIHhvciA9IHJlcXVpcmUoJ2J1ZmZlci14b3InKVxuXG5mdW5jdGlvbiBlbmNyeXB0U3RhcnQgKHNlbGYsIGRhdGEsIGRlY3J5cHQpIHtcbiAgdmFyIGxlbiA9IGRhdGEubGVuZ3RoXG4gIHZhciBvdXQgPSB4b3IoZGF0YSwgc2VsZi5fY2FjaGUpXG4gIHNlbGYuX2NhY2hlID0gc2VsZi5fY2FjaGUuc2xpY2UobGVuKVxuICBzZWxmLl9wcmV2ID0gQnVmZmVyLmNvbmNhdChbc2VsZi5fcHJldiwgZGVjcnlwdCA/IGRhdGEgOiBvdXRdKVxuICByZXR1cm4gb3V0XG59XG5cbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBkYXRhLCBkZWNyeXB0KSB7XG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMClcbiAgdmFyIGxlblxuXG4gIHdoaWxlIChkYXRhLmxlbmd0aCkge1xuICAgIGlmIChzZWxmLl9jYWNoZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHNlbGYuX2NhY2hlID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhzZWxmLl9wcmV2KVxuICAgICAgc2VsZi5fcHJldiA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSgwKVxuICAgIH1cblxuICAgIGlmIChzZWxmLl9jYWNoZS5sZW5ndGggPD0gZGF0YS5sZW5ndGgpIHtcbiAgICAgIGxlbiA9IHNlbGYuX2NhY2hlLmxlbmd0aFxuICAgICAgb3V0ID0gQnVmZmVyLmNvbmNhdChbb3V0LCBlbmNyeXB0U3RhcnQoc2VsZiwgZGF0YS5zbGljZSgwLCBsZW4pLCBkZWNyeXB0KV0pXG4gICAgICBkYXRhID0gZGF0YS5zbGljZShsZW4pXG4gICAgfSBlbHNlIHtcbiAgICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW291dCwgZW5jcnlwdFN0YXJ0KHNlbGYsIGRhdGEsIGRlY3J5cHQpXSlcbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dFxufVxuIiwidmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbmZ1bmN0aW9uIGVuY3J5cHRCeXRlIChzZWxmLCBieXRlUGFyYW0sIGRlY3J5cHQpIHtcbiAgdmFyIHBhZFxuICB2YXIgaSA9IC0xXG4gIHZhciBsZW4gPSA4XG4gIHZhciBvdXQgPSAwXG4gIHZhciBiaXQsIHZhbHVlXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICBwYWQgPSBzZWxmLl9jaXBoZXIuZW5jcnlwdEJsb2NrKHNlbGYuX3ByZXYpXG4gICAgYml0ID0gKGJ5dGVQYXJhbSAmICgxIDw8ICg3IC0gaSkpKSA/IDB4ODAgOiAwXG4gICAgdmFsdWUgPSBwYWRbMF0gXiBiaXRcbiAgICBvdXQgKz0gKCh2YWx1ZSAmIDB4ODApID4+IChpICUgOCkpXG4gICAgc2VsZi5fcHJldiA9IHNoaWZ0SW4oc2VsZi5fcHJldiwgZGVjcnlwdCA/IGJpdCA6IHZhbHVlKVxuICB9XG4gIHJldHVybiBvdXRcbn1cblxuZnVuY3Rpb24gc2hpZnRJbiAoYnVmZmVyLCB2YWx1ZSkge1xuICB2YXIgbGVuID0gYnVmZmVyLmxlbmd0aFxuICB2YXIgaSA9IC0xXG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYnVmZmVyLmxlbmd0aClcbiAgYnVmZmVyID0gQnVmZmVyLmNvbmNhdChbYnVmZmVyLCBCdWZmZXIuZnJvbShbdmFsdWVdKV0pXG5cbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIG91dFtpXSA9IGJ1ZmZlcltpXSA8PCAxIHwgYnVmZmVyW2kgKyAxXSA+PiAoNylcbiAgfVxuXG4gIHJldHVybiBvdXRcbn1cblxuZXhwb3J0cy5lbmNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGNodW5rLCBkZWNyeXB0KSB7XG4gIHZhciBsZW4gPSBjaHVuay5sZW5ndGhcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXG4gIHZhciBpID0gLTFcblxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgb3V0W2ldID0gZW5jcnlwdEJ5dGUoc2VsZiwgY2h1bmtbaV0sIGRlY3J5cHQpXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxuZnVuY3Rpb24gZW5jcnlwdEJ5dGUgKHNlbGYsIGJ5dGVQYXJhbSwgZGVjcnlwdCkge1xuICB2YXIgcGFkID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhzZWxmLl9wcmV2KVxuICB2YXIgb3V0ID0gcGFkWzBdIF4gYnl0ZVBhcmFtXG5cbiAgc2VsZi5fcHJldiA9IEJ1ZmZlci5jb25jYXQoW1xuICAgIHNlbGYuX3ByZXYuc2xpY2UoMSksXG4gICAgQnVmZmVyLmZyb20oW2RlY3J5cHQgPyBieXRlUGFyYW0gOiBvdXRdKVxuICBdKVxuXG4gIHJldHVybiBvdXRcbn1cblxuZXhwb3J0cy5lbmNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGNodW5rLCBkZWNyeXB0KSB7XG4gIHZhciBsZW4gPSBjaHVuay5sZW5ndGhcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXG4gIHZhciBpID0gLTFcblxuICB3aGlsZSAoKytpIDwgbGVuKSB7XG4gICAgb3V0W2ldID0gZW5jcnlwdEJ5dGUoc2VsZiwgY2h1bmtbaV0sIGRlY3J5cHQpXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgeG9yID0gcmVxdWlyZSgnYnVmZmVyLXhvcicpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBpbmNyMzIgPSByZXF1aXJlKCcuLi9pbmNyMzInKVxuXG5mdW5jdGlvbiBnZXRCbG9jayAoc2VsZikge1xuICB2YXIgb3V0ID0gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9ja1JhdyhzZWxmLl9wcmV2KVxuICBpbmNyMzIoc2VsZi5fcHJldilcbiAgcmV0dXJuIG91dFxufVxuXG52YXIgYmxvY2tTaXplID0gMTZcbmV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBjaHVuaykge1xuICB2YXIgY2h1bmtOdW0gPSBNYXRoLmNlaWwoY2h1bmsubGVuZ3RoIC8gYmxvY2tTaXplKVxuICB2YXIgc3RhcnQgPSBzZWxmLl9jYWNoZS5sZW5ndGhcbiAgc2VsZi5fY2FjaGUgPSBCdWZmZXIuY29uY2F0KFtcbiAgICBzZWxmLl9jYWNoZSxcbiAgICBCdWZmZXIuYWxsb2NVbnNhZmUoY2h1bmtOdW0gKiBibG9ja1NpemUpXG4gIF0pXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgY2h1bmtOdW07IGkrKykge1xuICAgIHZhciBvdXQgPSBnZXRCbG9jayhzZWxmKVxuICAgIHZhciBvZmZzZXQgPSBzdGFydCArIGkgKiBibG9ja1NpemVcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFswXSwgb2Zmc2V0ICsgMClcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFsxXSwgb2Zmc2V0ICsgNClcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFsyXSwgb2Zmc2V0ICsgOClcbiAgICBzZWxmLl9jYWNoZS53cml0ZVVJbnQzMkJFKG91dFszXSwgb2Zmc2V0ICsgMTIpXG4gIH1cbiAgdmFyIHBhZCA9IHNlbGYuX2NhY2hlLnNsaWNlKDAsIGNodW5rLmxlbmd0aClcbiAgc2VsZi5fY2FjaGUgPSBzZWxmLl9jYWNoZS5zbGljZShjaHVuay5sZW5ndGgpXG4gIHJldHVybiB4b3IoY2h1bmssIHBhZClcbn1cbiIsImV4cG9ydHMuZW5jcnlwdCA9IGZ1bmN0aW9uIChzZWxmLCBibG9jaykge1xuICByZXR1cm4gc2VsZi5fY2lwaGVyLmVuY3J5cHRCbG9jayhibG9jaylcbn1cblxuZXhwb3J0cy5kZWNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGJsb2NrKSB7XG4gIHJldHVybiBzZWxmLl9jaXBoZXIuZGVjcnlwdEJsb2NrKGJsb2NrKVxufVxuIiwidmFyIG1vZGVNb2R1bGVzID0ge1xuICBFQ0I6IHJlcXVpcmUoJy4vZWNiJyksXG4gIENCQzogcmVxdWlyZSgnLi9jYmMnKSxcbiAgQ0ZCOiByZXF1aXJlKCcuL2NmYicpLFxuICBDRkI4OiByZXF1aXJlKCcuL2NmYjgnKSxcbiAgQ0ZCMTogcmVxdWlyZSgnLi9jZmIxJyksXG4gIE9GQjogcmVxdWlyZSgnLi9vZmInKSxcbiAgQ1RSOiByZXF1aXJlKCcuL2N0cicpLFxuICBHQ006IHJlcXVpcmUoJy4vY3RyJylcbn1cblxudmFyIG1vZGVzID0gcmVxdWlyZSgnLi9saXN0Lmpzb24nKVxuXG5mb3IgKHZhciBrZXkgaW4gbW9kZXMpIHtcbiAgbW9kZXNba2V5XS5tb2R1bGUgPSBtb2RlTW9kdWxlc1ttb2Rlc1trZXldLm1vZGVdXG59XG5cbm1vZHVsZS5leHBvcnRzID0gbW9kZXNcbiIsInZhciB4b3IgPSByZXF1aXJlKCdidWZmZXIteG9yJylcblxuZnVuY3Rpb24gZ2V0QmxvY2sgKHNlbGYpIHtcbiAgc2VsZi5fcHJldiA9IHNlbGYuX2NpcGhlci5lbmNyeXB0QmxvY2soc2VsZi5fcHJldilcbiAgcmV0dXJuIHNlbGYuX3ByZXZcbn1cblxuZXhwb3J0cy5lbmNyeXB0ID0gZnVuY3Rpb24gKHNlbGYsIGNodW5rKSB7XG4gIHdoaWxlIChzZWxmLl9jYWNoZS5sZW5ndGggPCBjaHVuay5sZW5ndGgpIHtcbiAgICBzZWxmLl9jYWNoZSA9IEJ1ZmZlci5jb25jYXQoW3NlbGYuX2NhY2hlLCBnZXRCbG9jayhzZWxmKV0pXG4gIH1cblxuICB2YXIgcGFkID0gc2VsZi5fY2FjaGUuc2xpY2UoMCwgY2h1bmsubGVuZ3RoKVxuICBzZWxmLl9jYWNoZSA9IHNlbGYuX2NhY2hlLnNsaWNlKGNodW5rLmxlbmd0aClcbiAgcmV0dXJuIHhvcihjaHVuaywgcGFkKVxufVxuIiwidmFyIGFlcyA9IHJlcXVpcmUoJy4vYWVzJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxudmFyIFRyYW5zZm9ybSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcblxuZnVuY3Rpb24gU3RyZWFtQ2lwaGVyIChtb2RlLCBrZXksIGl2LCBkZWNyeXB0KSB7XG4gIFRyYW5zZm9ybS5jYWxsKHRoaXMpXG5cbiAgdGhpcy5fY2lwaGVyID0gbmV3IGFlcy5BRVMoa2V5KVxuICB0aGlzLl9wcmV2ID0gQnVmZmVyLmZyb20oaXYpXG4gIHRoaXMuX2NhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXG4gIHRoaXMuX3NlY0NhY2hlID0gQnVmZmVyLmFsbG9jVW5zYWZlKDApXG4gIHRoaXMuX2RlY3J5cHQgPSBkZWNyeXB0XG4gIHRoaXMuX21vZGUgPSBtb2RlXG59XG5cbmluaGVyaXRzKFN0cmVhbUNpcGhlciwgVHJhbnNmb3JtKVxuXG5TdHJlYW1DaXBoZXIucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoY2h1bmspIHtcbiAgcmV0dXJuIHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLCBjaHVuaywgdGhpcy5fZGVjcnlwdClcbn1cblxuU3RyZWFtQ2lwaGVyLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuX2NpcGhlci5zY3J1YigpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtQ2lwaGVyXG4iLCJ2YXIgREVTID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1kZXMnKVxudmFyIGFlcyA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktYWVzL2Jyb3dzZXInKVxudmFyIGFlc01vZGVzID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1hZXMvbW9kZXMnKVxudmFyIGRlc01vZGVzID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1kZXMvbW9kZXMnKVxudmFyIGVidGsgPSByZXF1aXJlKCdldnBfYnl0ZXN0b2tleScpXG5cbmZ1bmN0aW9uIGNyZWF0ZUNpcGhlciAoc3VpdGUsIHBhc3N3b3JkKSB7XG4gIHN1aXRlID0gc3VpdGUudG9Mb3dlckNhc2UoKVxuXG4gIHZhciBrZXlMZW4sIGl2TGVuXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHtcbiAgICBrZXlMZW4gPSBhZXNNb2Rlc1tzdWl0ZV0ua2V5XG4gICAgaXZMZW4gPSBhZXNNb2Rlc1tzdWl0ZV0uaXZcbiAgfSBlbHNlIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHtcbiAgICBrZXlMZW4gPSBkZXNNb2Rlc1tzdWl0ZV0ua2V5ICogOFxuICAgIGl2TGVuID0gZGVzTW9kZXNbc3VpdGVdLml2XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcbiAgfVxuXG4gIHZhciBrZXlzID0gZWJ0ayhwYXNzd29yZCwgZmFsc2UsIGtleUxlbiwgaXZMZW4pXG4gIHJldHVybiBjcmVhdGVDaXBoZXJpdihzdWl0ZSwga2V5cy5rZXksIGtleXMuaXYpXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZURlY2lwaGVyIChzdWl0ZSwgcGFzc3dvcmQpIHtcbiAgc3VpdGUgPSBzdWl0ZS50b0xvd2VyQ2FzZSgpXG5cbiAgdmFyIGtleUxlbiwgaXZMZW5cbiAgaWYgKGFlc01vZGVzW3N1aXRlXSkge1xuICAgIGtleUxlbiA9IGFlc01vZGVzW3N1aXRlXS5rZXlcbiAgICBpdkxlbiA9IGFlc01vZGVzW3N1aXRlXS5pdlxuICB9IGVsc2UgaWYgKGRlc01vZGVzW3N1aXRlXSkge1xuICAgIGtleUxlbiA9IGRlc01vZGVzW3N1aXRlXS5rZXkgKiA4XG4gICAgaXZMZW4gPSBkZXNNb2Rlc1tzdWl0ZV0uaXZcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxuICB9XG5cbiAgdmFyIGtleXMgPSBlYnRrKHBhc3N3b3JkLCBmYWxzZSwga2V5TGVuLCBpdkxlbilcbiAgcmV0dXJuIGNyZWF0ZURlY2lwaGVyaXYoc3VpdGUsIGtleXMua2V5LCBrZXlzLml2KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDaXBoZXJpdiAoc3VpdGUsIGtleSwgaXYpIHtcbiAgc3VpdGUgPSBzdWl0ZS50b0xvd2VyQ2FzZSgpXG4gIGlmIChhZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBhZXMuY3JlYXRlQ2lwaGVyaXYoc3VpdGUsIGtleSwgaXYpXG4gIGlmIChkZXNNb2Rlc1tzdWl0ZV0pIHJldHVybiBuZXcgREVTKHsga2V5OiBrZXksIGl2OiBpdiwgbW9kZTogc3VpdGUgfSlcblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnZhbGlkIHN1aXRlIHR5cGUnKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEZWNpcGhlcml2IChzdWl0ZSwga2V5LCBpdikge1xuICBzdWl0ZSA9IHN1aXRlLnRvTG93ZXJDYXNlKClcbiAgaWYgKGFlc01vZGVzW3N1aXRlXSkgcmV0dXJuIGFlcy5jcmVhdGVEZWNpcGhlcml2KHN1aXRlLCBrZXksIGl2KVxuICBpZiAoZGVzTW9kZXNbc3VpdGVdKSByZXR1cm4gbmV3IERFUyh7IGtleToga2V5LCBpdjogaXYsIG1vZGU6IHN1aXRlLCBkZWNyeXB0OiB0cnVlIH0pXG5cbiAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW52YWxpZCBzdWl0ZSB0eXBlJylcbn1cblxuZnVuY3Rpb24gZ2V0Q2lwaGVycyAoKSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhkZXNNb2RlcykuY29uY2F0KGFlcy5nZXRDaXBoZXJzKCkpXG59XG5cbmV4cG9ydHMuY3JlYXRlQ2lwaGVyID0gZXhwb3J0cy5DaXBoZXIgPSBjcmVhdGVDaXBoZXJcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBleHBvcnRzLkNpcGhlcml2ID0gY3JlYXRlQ2lwaGVyaXZcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBleHBvcnRzLkRlY2lwaGVyID0gY3JlYXRlRGVjaXBoZXJcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXJpdiA9IGV4cG9ydHMuRGVjaXBoZXJpdiA9IGNyZWF0ZURlY2lwaGVyaXZcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBleHBvcnRzLmdldENpcGhlcnMgPSBnZXRDaXBoZXJzXG4iLCJ2YXIgQ2lwaGVyQmFzZSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcbnZhciBkZXMgPSByZXF1aXJlKCdkZXMuanMnKVxudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbnZhciBtb2RlcyA9IHtcbiAgJ2Rlcy1lZGUzLWNiYyc6IGRlcy5DQkMuaW5zdGFudGlhdGUoZGVzLkVERSksXG4gICdkZXMtZWRlMyc6IGRlcy5FREUsXG4gICdkZXMtZWRlLWNiYyc6IGRlcy5DQkMuaW5zdGFudGlhdGUoZGVzLkVERSksXG4gICdkZXMtZWRlJzogZGVzLkVERSxcbiAgJ2Rlcy1jYmMnOiBkZXMuQ0JDLmluc3RhbnRpYXRlKGRlcy5ERVMpLFxuICAnZGVzLWVjYic6IGRlcy5ERVNcbn1cbm1vZGVzLmRlcyA9IG1vZGVzWydkZXMtY2JjJ11cbm1vZGVzLmRlczMgPSBtb2Rlc1snZGVzLWVkZTMtY2JjJ11cbm1vZHVsZS5leHBvcnRzID0gREVTXG5pbmhlcml0cyhERVMsIENpcGhlckJhc2UpXG5mdW5jdGlvbiBERVMgKG9wdHMpIHtcbiAgQ2lwaGVyQmFzZS5jYWxsKHRoaXMpXG4gIHZhciBtb2RlTmFtZSA9IG9wdHMubW9kZS50b0xvd2VyQ2FzZSgpXG4gIHZhciBtb2RlID0gbW9kZXNbbW9kZU5hbWVdXG4gIHZhciB0eXBlXG4gIGlmIChvcHRzLmRlY3J5cHQpIHtcbiAgICB0eXBlID0gJ2RlY3J5cHQnXG4gIH0gZWxzZSB7XG4gICAgdHlwZSA9ICdlbmNyeXB0J1xuICB9XG4gIHZhciBrZXkgPSBvcHRzLmtleVxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihrZXkpKSB7XG4gICAga2V5ID0gQnVmZmVyLmZyb20oa2V5KVxuICB9XG4gIGlmIChtb2RlTmFtZSA9PT0gJ2Rlcy1lZGUnIHx8IG1vZGVOYW1lID09PSAnZGVzLWVkZS1jYmMnKSB7XG4gICAga2V5ID0gQnVmZmVyLmNvbmNhdChba2V5LCBrZXkuc2xpY2UoMCwgOCldKVxuICB9XG4gIHZhciBpdiA9IG9wdHMuaXZcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoaXYpKSB7XG4gICAgaXYgPSBCdWZmZXIuZnJvbShpdilcbiAgfVxuICB0aGlzLl9kZXMgPSBtb2RlLmNyZWF0ZSh7XG4gICAga2V5OiBrZXksXG4gICAgaXY6IGl2LFxuICAgIHR5cGU6IHR5cGVcbiAgfSlcbn1cbkRFUy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMudXBkYXRlKGRhdGEpKVxufVxuREVTLnByb3RvdHlwZS5fZmluYWwgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLl9kZXMuZmluYWwoKSlcbn1cbiIsImV4cG9ydHNbJ2Rlcy1lY2InXSA9IHtcbiAga2V5OiA4LFxuICBpdjogMFxufVxuZXhwb3J0c1snZGVzLWNiYyddID0gZXhwb3J0cy5kZXMgPSB7XG4gIGtleTogOCxcbiAgaXY6IDhcbn1cbmV4cG9ydHNbJ2Rlcy1lZGUzLWNiYyddID0gZXhwb3J0cy5kZXMzID0ge1xuICBrZXk6IDI0LFxuICBpdjogOFxufVxuZXhwb3J0c1snZGVzLWVkZTMnXSA9IHtcbiAga2V5OiAyNCxcbiAgaXY6IDBcbn1cbmV4cG9ydHNbJ2Rlcy1lZGUtY2JjJ10gPSB7XG4gIGtleTogMTYsXG4gIGl2OiA4XG59XG5leHBvcnRzWydkZXMtZWRlJ10gPSB7XG4gIGtleTogMTYsXG4gIGl2OiAwXG59XG4iLCJ2YXIgQk4gPSByZXF1aXJlKCdibi5qcycpXG52YXIgcmFuZG9tQnl0ZXMgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpXG5cbmZ1bmN0aW9uIGJsaW5kIChwcml2KSB7XG4gIHZhciByID0gZ2V0cihwcml2KVxuICB2YXIgYmxpbmRlciA9IHIudG9SZWQoQk4ubW9udChwcml2Lm1vZHVsdXMpKS5yZWRQb3cobmV3IEJOKHByaXYucHVibGljRXhwb25lbnQpKS5mcm9tUmVkKClcbiAgcmV0dXJuIHsgYmxpbmRlcjogYmxpbmRlciwgdW5ibGluZGVyOiByLmludm0ocHJpdi5tb2R1bHVzKSB9XG59XG5cbmZ1bmN0aW9uIGdldHIgKHByaXYpIHtcbiAgdmFyIGxlbiA9IHByaXYubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIHJcbiAgZG8ge1xuICAgIHIgPSBuZXcgQk4ocmFuZG9tQnl0ZXMobGVuKSlcbiAgfSB3aGlsZSAoci5jbXAocHJpdi5tb2R1bHVzKSA+PSAwIHx8ICFyLnVtb2QocHJpdi5wcmltZTEpIHx8ICFyLnVtb2QocHJpdi5wcmltZTIpKVxuICByZXR1cm4gclxufVxuXG5mdW5jdGlvbiBjcnQgKG1zZywgcHJpdikge1xuICB2YXIgYmxpbmRzID0gYmxpbmQocHJpdilcbiAgdmFyIGxlbiA9IHByaXYubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIGJsaW5kZWQgPSBuZXcgQk4obXNnKS5tdWwoYmxpbmRzLmJsaW5kZXIpLnVtb2QocHJpdi5tb2R1bHVzKVxuICB2YXIgYzEgPSBibGluZGVkLnRvUmVkKEJOLm1vbnQocHJpdi5wcmltZTEpKVxuICB2YXIgYzIgPSBibGluZGVkLnRvUmVkKEJOLm1vbnQocHJpdi5wcmltZTIpKVxuICB2YXIgcWludiA9IHByaXYuY29lZmZpY2llbnRcbiAgdmFyIHAgPSBwcml2LnByaW1lMVxuICB2YXIgcSA9IHByaXYucHJpbWUyXG4gIHZhciBtMSA9IGMxLnJlZFBvdyhwcml2LmV4cG9uZW50MSkuZnJvbVJlZCgpXG4gIHZhciBtMiA9IGMyLnJlZFBvdyhwcml2LmV4cG9uZW50MikuZnJvbVJlZCgpXG4gIHZhciBoID0gbTEuaXN1YihtMikuaW11bChxaW52KS51bW9kKHApLmltdWwocSlcbiAgcmV0dXJuIG0yLmlhZGQoaCkuaW11bChibGluZHMudW5ibGluZGVyKS51bW9kKHByaXYubW9kdWx1cykudG9BcnJheUxpa2UoQnVmZmVyLCAnYmUnLCBsZW4pXG59XG5jcnQuZ2V0ciA9IGdldHJcblxubW9kdWxlLmV4cG9ydHMgPSBjcnRcbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9icm93c2VyL2FsZ29yaXRobXMuanNvbicpXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBjcmVhdGVIYXNoID0gcmVxdWlyZSgnY3JlYXRlLWhhc2gnKVxudmFyIHN0cmVhbSA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbScpXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgc2lnbiA9IHJlcXVpcmUoJy4vc2lnbicpXG52YXIgdmVyaWZ5ID0gcmVxdWlyZSgnLi92ZXJpZnknKVxuXG52YXIgYWxnb3JpdGhtcyA9IHJlcXVpcmUoJy4vYWxnb3JpdGhtcy5qc29uJylcbk9iamVjdC5rZXlzKGFsZ29yaXRobXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICBhbGdvcml0aG1zW2tleV0uaWQgPSBCdWZmZXIuZnJvbShhbGdvcml0aG1zW2tleV0uaWQsICdoZXgnKVxuICBhbGdvcml0aG1zW2tleS50b0xvd2VyQ2FzZSgpXSA9IGFsZ29yaXRobXNba2V5XVxufSlcblxuZnVuY3Rpb24gU2lnbiAoYWxnb3JpdGhtKSB7XG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXG5cbiAgdmFyIGRhdGEgPSBhbGdvcml0aG1zW2FsZ29yaXRobV1cbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxuXG4gIHRoaXMuX2hhc2hUeXBlID0gZGF0YS5oYXNoXG4gIHRoaXMuX2hhc2ggPSBjcmVhdGVIYXNoKGRhdGEuaGFzaClcbiAgdGhpcy5fdGFnID0gZGF0YS5pZFxuICB0aGlzLl9zaWduVHlwZSA9IGRhdGEuc2lnblxufVxuaW5oZXJpdHMoU2lnbiwgc3RyZWFtLldyaXRhYmxlKVxuXG5TaWduLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiBfd3JpdGUgKGRhdGEsIF8sIGRvbmUpIHtcbiAgdGhpcy5faGFzaC51cGRhdGUoZGF0YSlcbiAgZG9uZSgpXG59XG5cblNpZ24ucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZSAoZGF0YSwgZW5jKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXG5cbiAgdGhpcy5faGFzaC51cGRhdGUoZGF0YSlcbiAgcmV0dXJuIHRoaXNcbn1cblxuU2lnbi5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ25NZXRob2QgKGtleSwgZW5jKSB7XG4gIHRoaXMuZW5kKClcbiAgdmFyIGhhc2ggPSB0aGlzLl9oYXNoLmRpZ2VzdCgpXG4gIHZhciBzaWcgPSBzaWduKGhhc2gsIGtleSwgdGhpcy5faGFzaFR5cGUsIHRoaXMuX3NpZ25UeXBlLCB0aGlzLl90YWcpXG5cbiAgcmV0dXJuIGVuYyA/IHNpZy50b1N0cmluZyhlbmMpIDogc2lnXG59XG5cbmZ1bmN0aW9uIFZlcmlmeSAoYWxnb3JpdGhtKSB7XG4gIHN0cmVhbS5Xcml0YWJsZS5jYWxsKHRoaXMpXG5cbiAgdmFyIGRhdGEgPSBhbGdvcml0aG1zW2FsZ29yaXRobV1cbiAgaWYgKCFkYXRhKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gbWVzc2FnZSBkaWdlc3QnKVxuXG4gIHRoaXMuX2hhc2ggPSBjcmVhdGVIYXNoKGRhdGEuaGFzaClcbiAgdGhpcy5fdGFnID0gZGF0YS5pZFxuICB0aGlzLl9zaWduVHlwZSA9IGRhdGEuc2lnblxufVxuaW5oZXJpdHMoVmVyaWZ5LCBzdHJlYW0uV3JpdGFibGUpXG5cblZlcmlmeS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gX3dyaXRlIChkYXRhLCBfLCBkb25lKSB7XG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXG4gIGRvbmUoKVxufVxuXG5WZXJpZnkucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZSAoZGF0YSwgZW5jKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXG5cbiAgdGhpcy5faGFzaC51cGRhdGUoZGF0YSlcbiAgcmV0dXJuIHRoaXNcbn1cblxuVmVyaWZ5LnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnlNZXRob2QgKGtleSwgc2lnLCBlbmMpIHtcbiAgaWYgKHR5cGVvZiBzaWcgPT09ICdzdHJpbmcnKSBzaWcgPSBCdWZmZXIuZnJvbShzaWcsIGVuYylcblxuICB0aGlzLmVuZCgpXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaC5kaWdlc3QoKVxuICByZXR1cm4gdmVyaWZ5KHNpZywgaGFzaCwga2V5LCB0aGlzLl9zaWduVHlwZSwgdGhpcy5fdGFnKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTaWduIChhbGdvcml0aG0pIHtcbiAgcmV0dXJuIG5ldyBTaWduKGFsZ29yaXRobSlcbn1cblxuZnVuY3Rpb24gY3JlYXRlVmVyaWZ5IChhbGdvcml0aG0pIHtcbiAgcmV0dXJuIG5ldyBWZXJpZnkoYWxnb3JpdGhtKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgU2lnbjogY3JlYXRlU2lnbixcbiAgVmVyaWZ5OiBjcmVhdGVWZXJpZnksXG4gIGNyZWF0ZVNpZ246IGNyZWF0ZVNpZ24sXG4gIGNyZWF0ZVZlcmlmeTogY3JlYXRlVmVyaWZ5XG59XG4iLCIvLyBtdWNoIG9mIHRoaXMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvcnNhLmpzXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBjcmVhdGVIbWFjID0gcmVxdWlyZSgnY3JlYXRlLWhtYWMnKVxudmFyIGNydCA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktcnNhJylcbnZhciBFQyA9IHJlcXVpcmUoJ2VsbGlwdGljJykuZWNcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcbnZhciBwYXJzZUtleXMgPSByZXF1aXJlKCdwYXJzZS1hc24xJylcbnZhciBjdXJ2ZXMgPSByZXF1aXJlKCcuL2N1cnZlcy5qc29uJylcblxuZnVuY3Rpb24gc2lnbiAoaGFzaCwga2V5LCBoYXNoVHlwZSwgc2lnblR5cGUsIHRhZykge1xuICB2YXIgcHJpdiA9IHBhcnNlS2V5cyhrZXkpXG4gIGlmIChwcml2LmN1cnZlKSB7XG4gICAgLy8gcnNhIGtleXMgY2FuIGJlIGludGVycHJldGVkIGFzIGVjZHNhIG9uZXMgaW4gb3BlbnNzbFxuICAgIGlmIChzaWduVHlwZSAhPT0gJ2VjZHNhJyAmJiBzaWduVHlwZSAhPT0gJ2VjZHNhL3JzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHJpdmF0ZSBrZXkgdHlwZScpXG4gICAgcmV0dXJuIGVjU2lnbihoYXNoLCBwcml2KVxuICB9IGVsc2UgaWYgKHByaXYudHlwZSA9PT0gJ2RzYScpIHtcbiAgICBpZiAoc2lnblR5cGUgIT09ICdkc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHByaXZhdGUga2V5IHR5cGUnKVxuICAgIHJldHVybiBkc2FTaWduKGhhc2gsIHByaXYsIGhhc2hUeXBlKVxuICB9IGVsc2Uge1xuICAgIGlmIChzaWduVHlwZSAhPT0gJ3JzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHByaXZhdGUga2V5IHR5cGUnKVxuICB9XG4gIGhhc2ggPSBCdWZmZXIuY29uY2F0KFt0YWcsIGhhc2hdKVxuICB2YXIgbGVuID0gcHJpdi5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxuICB2YXIgcGFkID0gWzAsIDFdXG4gIHdoaWxlIChoYXNoLmxlbmd0aCArIHBhZC5sZW5ndGggKyAxIDwgbGVuKSBwYWQucHVzaCgweGZmKVxuICBwYWQucHVzaCgweDAwKVxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBoYXNoLmxlbmd0aCkgcGFkLnB1c2goaGFzaFtpXSlcblxuICB2YXIgb3V0ID0gY3J0KHBhZCwgcHJpdilcbiAgcmV0dXJuIG91dFxufVxuXG5mdW5jdGlvbiBlY1NpZ24gKGhhc2gsIHByaXYpIHtcbiAgdmFyIGN1cnZlSWQgPSBjdXJ2ZXNbcHJpdi5jdXJ2ZS5qb2luKCcuJyldXG4gIGlmICghY3VydmVJZCkgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGN1cnZlICcgKyBwcml2LmN1cnZlLmpvaW4oJy4nKSlcblxuICB2YXIgY3VydmUgPSBuZXcgRUMoY3VydmVJZClcbiAgdmFyIGtleSA9IGN1cnZlLmtleUZyb21Qcml2YXRlKHByaXYucHJpdmF0ZUtleSlcbiAgdmFyIG91dCA9IGtleS5zaWduKGhhc2gpXG5cbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKG91dC50b0RFUigpKVxufVxuXG5mdW5jdGlvbiBkc2FTaWduIChoYXNoLCBwcml2LCBhbGdvKSB7XG4gIHZhciB4ID0gcHJpdi5wYXJhbXMucHJpdl9rZXlcbiAgdmFyIHAgPSBwcml2LnBhcmFtcy5wXG4gIHZhciBxID0gcHJpdi5wYXJhbXMucVxuICB2YXIgZyA9IHByaXYucGFyYW1zLmdcbiAgdmFyIHIgPSBuZXcgQk4oMClcbiAgdmFyIGtcbiAgdmFyIEggPSBiaXRzMmludChoYXNoLCBxKS5tb2QocSlcbiAgdmFyIHMgPSBmYWxzZVxuICB2YXIga3YgPSBnZXRLZXkoeCwgcSwgaGFzaCwgYWxnbylcbiAgd2hpbGUgKHMgPT09IGZhbHNlKSB7XG4gICAgayA9IG1ha2VLZXkocSwga3YsIGFsZ28pXG4gICAgciA9IG1ha2VSKGcsIGssIHAsIHEpXG4gICAgcyA9IGsuaW52bShxKS5pbXVsKEguYWRkKHgubXVsKHIpKSkubW9kKHEpXG4gICAgaWYgKHMuY21wbigwKSA9PT0gMCkge1xuICAgICAgcyA9IGZhbHNlXG4gICAgICByID0gbmV3IEJOKDApXG4gICAgfVxuICB9XG4gIHJldHVybiB0b0RFUihyLCBzKVxufVxuXG5mdW5jdGlvbiB0b0RFUiAociwgcykge1xuICByID0gci50b0FycmF5KClcbiAgcyA9IHMudG9BcnJheSgpXG5cbiAgLy8gUGFkIHZhbHVlc1xuICBpZiAoclswXSAmIDB4ODApIHIgPSBbMF0uY29uY2F0KHIpXG4gIGlmIChzWzBdICYgMHg4MCkgcyA9IFswXS5jb25jYXQocylcblxuICB2YXIgdG90YWwgPSByLmxlbmd0aCArIHMubGVuZ3RoICsgNFxuICB2YXIgcmVzID0gWzB4MzAsIHRvdGFsLCAweDAyLCByLmxlbmd0aF1cbiAgcmVzID0gcmVzLmNvbmNhdChyLCBbMHgwMiwgcy5sZW5ndGhdLCBzKVxuICByZXR1cm4gQnVmZmVyLmZyb20ocmVzKVxufVxuXG5mdW5jdGlvbiBnZXRLZXkgKHgsIHEsIGhhc2gsIGFsZ28pIHtcbiAgeCA9IEJ1ZmZlci5mcm9tKHgudG9BcnJheSgpKVxuICBpZiAoeC5sZW5ndGggPCBxLmJ5dGVMZW5ndGgoKSkge1xuICAgIHZhciB6ZXJvcyA9IEJ1ZmZlci5hbGxvYyhxLmJ5dGVMZW5ndGgoKSAtIHgubGVuZ3RoKVxuICAgIHggPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgeF0pXG4gIH1cbiAgdmFyIGhsZW4gPSBoYXNoLmxlbmd0aFxuICB2YXIgaGJpdHMgPSBiaXRzMm9jdGV0cyhoYXNoLCBxKVxuICB2YXIgdiA9IEJ1ZmZlci5hbGxvYyhobGVuKVxuICB2LmZpbGwoMSlcbiAgdmFyIGsgPSBCdWZmZXIuYWxsb2MoaGxlbilcbiAgayA9IGNyZWF0ZUhtYWMoYWxnbywgaykudXBkYXRlKHYpLnVwZGF0ZShCdWZmZXIuZnJvbShbMF0pKS51cGRhdGUoeCkudXBkYXRlKGhiaXRzKS5kaWdlc3QoKVxuICB2ID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikuZGlnZXN0KClcbiAgayA9IGNyZWF0ZUhtYWMoYWxnbywgaykudXBkYXRlKHYpLnVwZGF0ZShCdWZmZXIuZnJvbShbMV0pKS51cGRhdGUoeCkudXBkYXRlKGhiaXRzKS5kaWdlc3QoKVxuICB2ID0gY3JlYXRlSG1hYyhhbGdvLCBrKS51cGRhdGUodikuZGlnZXN0KClcbiAgcmV0dXJuIHsgazogaywgdjogdiB9XG59XG5cbmZ1bmN0aW9uIGJpdHMyaW50IChvYml0cywgcSkge1xuICB2YXIgYml0cyA9IG5ldyBCTihvYml0cylcbiAgdmFyIHNoaWZ0ID0gKG9iaXRzLmxlbmd0aCA8PCAzKSAtIHEuYml0TGVuZ3RoKClcbiAgaWYgKHNoaWZ0ID4gMCkgYml0cy5pc2hybihzaGlmdClcbiAgcmV0dXJuIGJpdHNcbn1cblxuZnVuY3Rpb24gYml0czJvY3RldHMgKGJpdHMsIHEpIHtcbiAgYml0cyA9IGJpdHMyaW50KGJpdHMsIHEpXG4gIGJpdHMgPSBiaXRzLm1vZChxKVxuICB2YXIgb3V0ID0gQnVmZmVyLmZyb20oYml0cy50b0FycmF5KCkpXG4gIGlmIChvdXQubGVuZ3RoIDwgcS5ieXRlTGVuZ3RoKCkpIHtcbiAgICB2YXIgemVyb3MgPSBCdWZmZXIuYWxsb2MocS5ieXRlTGVuZ3RoKCkgLSBvdXQubGVuZ3RoKVxuICAgIG91dCA9IEJ1ZmZlci5jb25jYXQoW3plcm9zLCBvdXRdKVxuICB9XG4gIHJldHVybiBvdXRcbn1cblxuZnVuY3Rpb24gbWFrZUtleSAocSwga3YsIGFsZ28pIHtcbiAgdmFyIHRcbiAgdmFyIGtcblxuICBkbyB7XG4gICAgdCA9IEJ1ZmZlci5hbGxvYygwKVxuXG4gICAgd2hpbGUgKHQubGVuZ3RoICogOCA8IHEuYml0TGVuZ3RoKCkpIHtcbiAgICAgIGt2LnYgPSBjcmVhdGVIbWFjKGFsZ28sIGt2LmspLnVwZGF0ZShrdi52KS5kaWdlc3QoKVxuICAgICAgdCA9IEJ1ZmZlci5jb25jYXQoW3QsIGt2LnZdKVxuICAgIH1cblxuICAgIGsgPSBiaXRzMmludCh0LCBxKVxuICAgIGt2LmsgPSBjcmVhdGVIbWFjKGFsZ28sIGt2LmspLnVwZGF0ZShrdi52KS51cGRhdGUoQnVmZmVyLmZyb20oWzBdKSkuZGlnZXN0KClcbiAgICBrdi52ID0gY3JlYXRlSG1hYyhhbGdvLCBrdi5rKS51cGRhdGUoa3YudikuZGlnZXN0KClcbiAgfSB3aGlsZSAoay5jbXAocSkgIT09IC0xKVxuXG4gIHJldHVybiBrXG59XG5cbmZ1bmN0aW9uIG1ha2VSIChnLCBrLCBwLCBxKSB7XG4gIHJldHVybiBnLnRvUmVkKEJOLm1vbnQocCkpLnJlZFBvdyhrKS5mcm9tUmVkKCkubW9kKHEpXG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2lnblxubW9kdWxlLmV4cG9ydHMuZ2V0S2V5ID0gZ2V0S2V5XG5tb2R1bGUuZXhwb3J0cy5tYWtlS2V5ID0gbWFrZUtleVxuIiwiLy8gbXVjaCBvZiB0aGlzIGJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L3NlbGYtc2lnbmVkL2Jsb2IvZ2gtcGFnZXMvbGliL3JzYS5qc1xudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpXG52YXIgRUMgPSByZXF1aXJlKCdlbGxpcHRpYycpLmVjXG52YXIgcGFyc2VLZXlzID0gcmVxdWlyZSgncGFyc2UtYXNuMScpXG52YXIgY3VydmVzID0gcmVxdWlyZSgnLi9jdXJ2ZXMuanNvbicpXG5cbmZ1bmN0aW9uIHZlcmlmeSAoc2lnLCBoYXNoLCBrZXksIHNpZ25UeXBlLCB0YWcpIHtcbiAgdmFyIHB1YiA9IHBhcnNlS2V5cyhrZXkpXG4gIGlmIChwdWIudHlwZSA9PT0gJ2VjJykge1xuICAgIC8vIHJzYSBrZXlzIGNhbiBiZSBpbnRlcnByZXRlZCBhcyBlY2RzYSBvbmVzIGluIG9wZW5zc2xcbiAgICBpZiAoc2lnblR5cGUgIT09ICdlY2RzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXG4gICAgcmV0dXJuIGVjVmVyaWZ5KHNpZywgaGFzaCwgcHViKVxuICB9IGVsc2UgaWYgKHB1Yi50eXBlID09PSAnZHNhJykge1xuICAgIGlmIChzaWduVHlwZSAhPT0gJ2RzYScpIHRocm93IG5ldyBFcnJvcignd3JvbmcgcHVibGljIGtleSB0eXBlJylcbiAgICByZXR1cm4gZHNhVmVyaWZ5KHNpZywgaGFzaCwgcHViKVxuICB9IGVsc2Uge1xuICAgIGlmIChzaWduVHlwZSAhPT0gJ3JzYScgJiYgc2lnblR5cGUgIT09ICdlY2RzYS9yc2EnKSB0aHJvdyBuZXcgRXJyb3IoJ3dyb25nIHB1YmxpYyBrZXkgdHlwZScpXG4gIH1cbiAgaGFzaCA9IEJ1ZmZlci5jb25jYXQoW3RhZywgaGFzaF0pXG4gIHZhciBsZW4gPSBwdWIubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIHBhZCA9IFsxXVxuICB2YXIgcGFkTnVtID0gMFxuICB3aGlsZSAoaGFzaC5sZW5ndGggKyBwYWQubGVuZ3RoICsgMiA8IGxlbikge1xuICAgIHBhZC5wdXNoKDB4ZmYpXG4gICAgcGFkTnVtKytcbiAgfVxuICBwYWQucHVzaCgweDAwKVxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBoYXNoLmxlbmd0aCkge1xuICAgIHBhZC5wdXNoKGhhc2hbaV0pXG4gIH1cbiAgcGFkID0gQnVmZmVyLmZyb20ocGFkKVxuICB2YXIgcmVkID0gQk4ubW9udChwdWIubW9kdWx1cylcbiAgc2lnID0gbmV3IEJOKHNpZykudG9SZWQocmVkKVxuXG4gIHNpZyA9IHNpZy5yZWRQb3cobmV3IEJOKHB1Yi5wdWJsaWNFeHBvbmVudCkpXG4gIHNpZyA9IEJ1ZmZlci5mcm9tKHNpZy5mcm9tUmVkKCkudG9BcnJheSgpKVxuICB2YXIgb3V0ID0gcGFkTnVtIDwgOCA/IDEgOiAwXG4gIGxlbiA9IE1hdGgubWluKHNpZy5sZW5ndGgsIHBhZC5sZW5ndGgpXG4gIGlmIChzaWcubGVuZ3RoICE9PSBwYWQubGVuZ3RoKSBvdXQgPSAxXG5cbiAgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBsZW4pIG91dCB8PSBzaWdbaV0gXiBwYWRbaV1cbiAgcmV0dXJuIG91dCA9PT0gMFxufVxuXG5mdW5jdGlvbiBlY1ZlcmlmeSAoc2lnLCBoYXNoLCBwdWIpIHtcbiAgdmFyIGN1cnZlSWQgPSBjdXJ2ZXNbcHViLmRhdGEuYWxnb3JpdGhtLmN1cnZlLmpvaW4oJy4nKV1cbiAgaWYgKCFjdXJ2ZUlkKSB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gY3VydmUgJyArIHB1Yi5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCcuJykpXG5cbiAgdmFyIGN1cnZlID0gbmV3IEVDKGN1cnZlSWQpXG4gIHZhciBwdWJrZXkgPSBwdWIuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleS5kYXRhXG5cbiAgcmV0dXJuIGN1cnZlLnZlcmlmeShoYXNoLCBzaWcsIHB1YmtleSlcbn1cblxuZnVuY3Rpb24gZHNhVmVyaWZ5IChzaWcsIGhhc2gsIHB1Yikge1xuICB2YXIgcCA9IHB1Yi5kYXRhLnBcbiAgdmFyIHEgPSBwdWIuZGF0YS5xXG4gIHZhciBnID0gcHViLmRhdGEuZ1xuICB2YXIgeSA9IHB1Yi5kYXRhLnB1Yl9rZXlcbiAgdmFyIHVucGFja2VkID0gcGFyc2VLZXlzLnNpZ25hdHVyZS5kZWNvZGUoc2lnLCAnZGVyJylcbiAgdmFyIHMgPSB1bnBhY2tlZC5zXG4gIHZhciByID0gdW5wYWNrZWQuclxuICBjaGVja1ZhbHVlKHMsIHEpXG4gIGNoZWNrVmFsdWUociwgcSlcbiAgdmFyIG1vbnRwID0gQk4ubW9udChwKVxuICB2YXIgdyA9IHMuaW52bShxKVxuICB2YXIgdiA9IGcudG9SZWQobW9udHApXG4gICAgLnJlZFBvdyhuZXcgQk4oaGFzaCkubXVsKHcpLm1vZChxKSlcbiAgICAuZnJvbVJlZCgpXG4gICAgLm11bCh5LnRvUmVkKG1vbnRwKS5yZWRQb3coci5tdWwodykubW9kKHEpKS5mcm9tUmVkKCkpXG4gICAgLm1vZChwKVxuICAgIC5tb2QocSlcbiAgcmV0dXJuIHYuY21wKHIpID09PSAwXG59XG5cbmZ1bmN0aW9uIGNoZWNrVmFsdWUgKGIsIHEpIHtcbiAgaWYgKGIuY21wbigwKSA8PSAwKSB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc2lnJylcbiAgaWYgKGIuY21wKHEpID49IHEpIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzaWcnKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHZlcmlmeVxuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB4b3IgKGEsIGIpIHtcbiAgdmFyIGxlbmd0aCA9IE1hdGgubWluKGEubGVuZ3RoLCBiLmxlbmd0aClcbiAgdmFyIGJ1ZmZlciA9IG5ldyBCdWZmZXIobGVuZ3RoKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBidWZmZXJbaV0gPSBhW2ldIF4gYltpXVxuICB9XG5cbiAgcmV0dXJuIGJ1ZmZlclxufVxuIiwiLyohXG4gKiBUaGUgYnVmZmVyIG1vZHVsZSBmcm9tIG5vZGUuanMsIGZvciB0aGUgYnJvd3Nlci5cbiAqXG4gKiBAYXV0aG9yICAgRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cDovL2Zlcm9zcy5vcmc+XG4gKiBAbGljZW5zZSAgTUlUXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvICovXG5cbid1c2Ugc3RyaWN0J1xuXG52YXIgYmFzZTY0ID0gcmVxdWlyZSgnYmFzZTY0LWpzJylcbnZhciBpZWVlNzU0ID0gcmVxdWlyZSgnaWVlZTc1NCcpXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKVxuXG5leHBvcnRzLkJ1ZmZlciA9IEJ1ZmZlclxuZXhwb3J0cy5TbG93QnVmZmVyID0gU2xvd0J1ZmZlclxuZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUyA9IDUwXG5cbi8qKlxuICogSWYgYEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUYDpcbiAqICAgPT09IHRydWUgICAgVXNlIFVpbnQ4QXJyYXkgaW1wbGVtZW50YXRpb24gKGZhc3Rlc3QpXG4gKiAgID09PSBmYWxzZSAgIFVzZSBPYmplY3QgaW1wbGVtZW50YXRpb24gKG1vc3QgY29tcGF0aWJsZSwgZXZlbiBJRTYpXG4gKlxuICogQnJvd3NlcnMgdGhhdCBzdXBwb3J0IHR5cGVkIGFycmF5cyBhcmUgSUUgMTArLCBGaXJlZm94IDQrLCBDaHJvbWUgNyssIFNhZmFyaSA1LjErLFxuICogT3BlcmEgMTEuNissIGlPUyA0LjIrLlxuICpcbiAqIER1ZSB0byB2YXJpb3VzIGJyb3dzZXIgYnVncywgc29tZXRpbWVzIHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24gd2lsbCBiZSB1c2VkIGV2ZW5cbiAqIHdoZW4gdGhlIGJyb3dzZXIgc3VwcG9ydHMgdHlwZWQgYXJyYXlzLlxuICpcbiAqIE5vdGU6XG4gKlxuICogICAtIEZpcmVmb3ggNC0yOSBsYWNrcyBzdXBwb3J0IGZvciBhZGRpbmcgbmV3IHByb3BlcnRpZXMgdG8gYFVpbnQ4QXJyYXlgIGluc3RhbmNlcyxcbiAqICAgICBTZWU6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQzOC5cbiAqXG4gKiAgIC0gQ2hyb21lIDktMTAgaXMgbWlzc2luZyB0aGUgYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbi5cbiAqXG4gKiAgIC0gSUUxMCBoYXMgYSBicm9rZW4gYFR5cGVkQXJyYXkucHJvdG90eXBlLnN1YmFycmF5YCBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFycmF5cyBvZlxuICogICAgIGluY29ycmVjdCBsZW5ndGggaW4gc29tZSBzaXR1YXRpb25zLlxuXG4gKiBXZSBkZXRlY3QgdGhlc2UgYnVnZ3kgYnJvd3NlcnMgYW5kIHNldCBgQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlRgIHRvIGBmYWxzZWAgc28gdGhleVxuICogZ2V0IHRoZSBPYmplY3QgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHNsb3dlciBidXQgYmVoYXZlcyBjb3JyZWN0bHkuXG4gKi9cbkJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUID0gZ2xvYmFsLlRZUEVEX0FSUkFZX1NVUFBPUlQgIT09IHVuZGVmaW5lZFxuICA/IGdsb2JhbC5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gIDogdHlwZWRBcnJheVN1cHBvcnQoKVxuXG4vKlxuICogRXhwb3J0IGtNYXhMZW5ndGggYWZ0ZXIgdHlwZWQgYXJyYXkgc3VwcG9ydCBpcyBkZXRlcm1pbmVkLlxuICovXG5leHBvcnRzLmtNYXhMZW5ndGggPSBrTWF4TGVuZ3RoKClcblxuZnVuY3Rpb24gdHlwZWRBcnJheVN1cHBvcnQgKCkge1xuICB0cnkge1xuICAgIHZhciBhcnIgPSBuZXcgVWludDhBcnJheSgxKVxuICAgIGFyci5fX3Byb3RvX18gPSB7X19wcm90b19fOiBVaW50OEFycmF5LnByb3RvdHlwZSwgZm9vOiBmdW5jdGlvbiAoKSB7IHJldHVybiA0MiB9fVxuICAgIHJldHVybiBhcnIuZm9vKCkgPT09IDQyICYmIC8vIHR5cGVkIGFycmF5IGluc3RhbmNlcyBjYW4gYmUgYXVnbWVudGVkXG4gICAgICAgIHR5cGVvZiBhcnIuc3ViYXJyYXkgPT09ICdmdW5jdGlvbicgJiYgLy8gY2hyb21lIDktMTAgbGFjayBgc3ViYXJyYXlgXG4gICAgICAgIGFyci5zdWJhcnJheSgxLCAxKS5ieXRlTGVuZ3RoID09PSAwIC8vIGllMTAgaGFzIGJyb2tlbiBgc3ViYXJyYXlgXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5mdW5jdGlvbiBrTWF4TGVuZ3RoICgpIHtcbiAgcmV0dXJuIEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUXG4gICAgPyAweDdmZmZmZmZmXG4gICAgOiAweDNmZmZmZmZmXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJ1ZmZlciAodGhhdCwgbGVuZ3RoKSB7XG4gIGlmIChrTWF4TGVuZ3RoKCkgPCBsZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgnKVxuICB9XG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBuZXcgVWludDhBcnJheShsZW5ndGgpXG4gICAgdGhhdC5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgLy8gRmFsbGJhY2s6IFJldHVybiBhbiBvYmplY3QgaW5zdGFuY2Ugb2YgdGhlIEJ1ZmZlciBjbGFzc1xuICAgIGlmICh0aGF0ID09PSBudWxsKSB7XG4gICAgICB0aGF0ID0gbmV3IEJ1ZmZlcihsZW5ndGgpXG4gICAgfVxuICAgIHRoYXQubGVuZ3RoID0gbGVuZ3RoXG4gIH1cblxuICByZXR1cm4gdGhhdFxufVxuXG4vKipcbiAqIFRoZSBCdWZmZXIgY29uc3RydWN0b3IgcmV0dXJucyBpbnN0YW5jZXMgb2YgYFVpbnQ4QXJyYXlgIHRoYXQgaGF2ZSB0aGVpclxuICogcHJvdG90eXBlIGNoYW5nZWQgdG8gYEJ1ZmZlci5wcm90b3R5cGVgLiBGdXJ0aGVybW9yZSwgYEJ1ZmZlcmAgaXMgYSBzdWJjbGFzcyBvZlxuICogYFVpbnQ4QXJyYXlgLCBzbyB0aGUgcmV0dXJuZWQgaW5zdGFuY2VzIHdpbGwgaGF2ZSBhbGwgdGhlIG5vZGUgYEJ1ZmZlcmAgbWV0aG9kc1xuICogYW5kIHRoZSBgVWludDhBcnJheWAgbWV0aG9kcy4gU3F1YXJlIGJyYWNrZXQgbm90YXRpb24gd29ya3MgYXMgZXhwZWN0ZWQgLS0gaXRcbiAqIHJldHVybnMgYSBzaW5nbGUgb2N0ZXQuXG4gKlxuICogVGhlIGBVaW50OEFycmF5YCBwcm90b3R5cGUgcmVtYWlucyB1bm1vZGlmaWVkLlxuICovXG5cbmZ1bmN0aW9uIEJ1ZmZlciAoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgaWYgKCFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCAmJiAhKHRoaXMgaW5zdGFuY2VvZiBCdWZmZXIpKSB7XG4gICAgcmV0dXJuIG5ldyBCdWZmZXIoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICAvLyBDb21tb24gY2FzZS5cbiAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZ09yT2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiBhbGxvY1Vuc2FmZSh0aGlzLCBhcmcpXG4gIH1cbiAgcmV0dXJuIGZyb20odGhpcywgYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG59XG5cbkJ1ZmZlci5wb29sU2l6ZSA9IDgxOTIgLy8gbm90IHVzZWQgYnkgdGhpcyBpbXBsZW1lbnRhdGlvblxuXG4vLyBUT0RPOiBMZWdhY3ksIG5vdCBuZWVkZWQgYW55bW9yZS4gUmVtb3ZlIGluIG5leHQgbWFqb3IgdmVyc2lvbi5cbkJ1ZmZlci5fYXVnbWVudCA9IGZ1bmN0aW9uIChhcnIpIHtcbiAgYXJyLl9fcHJvdG9fXyA9IEJ1ZmZlci5wcm90b3R5cGVcbiAgcmV0dXJuIGFyclxufVxuXG5mdW5jdGlvbiBmcm9tICh0aGF0LCB2YWx1ZSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJ2YWx1ZVwiIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmICh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICByZXR1cm4gZnJvbUFycmF5QnVmZmVyKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHRoYXQsIHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0KVxuICB9XG5cbiAgcmV0dXJuIGZyb21PYmplY3QodGhhdCwgdmFsdWUpXG59XG5cbi8qKlxuICogRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gQnVmZmVyKGFyZywgZW5jb2RpbmcpIGJ1dCB0aHJvd3MgYSBUeXBlRXJyb3JcbiAqIGlmIHZhbHVlIGlzIGEgbnVtYmVyLlxuICogQnVmZmVyLmZyb20oc3RyWywgZW5jb2RpbmddKVxuICogQnVmZmVyLmZyb20oYXJyYXkpXG4gKiBCdWZmZXIuZnJvbShidWZmZXIpXG4gKiBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlclssIGJ5dGVPZmZzZXRbLCBsZW5ndGhdXSlcbiAqKi9cbkJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGZyb20obnVsbCwgdmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gIEJ1ZmZlci5wcm90b3R5cGUuX19wcm90b19fID0gVWludDhBcnJheS5wcm90b3R5cGVcbiAgQnVmZmVyLl9fcHJvdG9fXyA9IFVpbnQ4QXJyYXlcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC5zcGVjaWVzICYmXG4gICAgICBCdWZmZXJbU3ltYm9sLnNwZWNpZXNdID09PSBCdWZmZXIpIHtcbiAgICAvLyBGaXggc3ViYXJyYXkoKSBpbiBFUzIwMTYuIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2Zlcm9zcy9idWZmZXIvcHVsbC85N1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIsIFN5bWJvbC5zcGVjaWVzLCB7XG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gYXNzZXJ0U2l6ZSAoc2l6ZSkge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH0gZWxzZSBpZiAoc2l6ZSA8IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFsbG9jICh0aGF0LCBzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICBhc3NlcnRTaXplKHNpemUpXG4gIGlmIChzaXplIDw9IDApIHtcbiAgICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG4gIH1cbiAgaWYgKGZpbGwgIT09IHVuZGVmaW5lZCkge1xuICAgIC8vIE9ubHkgcGF5IGF0dGVudGlvbiB0byBlbmNvZGluZyBpZiBpdCdzIGEgc3RyaW5nLiBUaGlzXG4gICAgLy8gcHJldmVudHMgYWNjaWRlbnRhbGx5IHNlbmRpbmcgaW4gYSBudW1iZXIgdGhhdCB3b3VsZFxuICAgIC8vIGJlIGludGVycHJldHRlZCBhcyBhIHN0YXJ0IG9mZnNldC5cbiAgICByZXR1cm4gdHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJ1xuICAgICAgPyBjcmVhdGVCdWZmZXIodGhhdCwgc2l6ZSkuZmlsbChmaWxsLCBlbmNvZGluZylcbiAgICAgIDogY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpLmZpbGwoZmlsbClcbiAgfVxuICByZXR1cm4gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUpXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBmaWxsZWQgQnVmZmVyIGluc3RhbmNlLlxuICogYWxsb2Moc2l6ZVssIGZpbGxbLCBlbmNvZGluZ11dKVxuICoqL1xuQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIHJldHVybiBhbGxvYyhudWxsLCBzaXplLCBmaWxsLCBlbmNvZGluZylcbn1cblxuZnVuY3Rpb24gYWxsb2NVbnNhZmUgKHRoYXQsIHNpemUpIHtcbiAgYXNzZXJ0U2l6ZShzaXplKVxuICB0aGF0ID0gY3JlYXRlQnVmZmVyKHRoYXQsIHNpemUgPCAwID8gMCA6IGNoZWNrZWQoc2l6ZSkgfCAwKVxuICBpZiAoIUJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyArK2kpIHtcbiAgICAgIHRoYXRbaV0gPSAwXG4gICAgfVxuICB9XG4gIHJldHVybiB0aGF0XG59XG5cbi8qKlxuICogRXF1aXZhbGVudCB0byBCdWZmZXIobnVtKSwgYnkgZGVmYXVsdCBjcmVhdGVzIGEgbm9uLXplcm8tZmlsbGVkIEJ1ZmZlciBpbnN0YW5jZS5cbiAqICovXG5CdWZmZXIuYWxsb2NVbnNhZmUgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICByZXR1cm4gYWxsb2NVbnNhZmUobnVsbCwgc2l6ZSlcbn1cbi8qKlxuICogRXF1aXZhbGVudCB0byBTbG93QnVmZmVyKG51bSksIGJ5IGRlZmF1bHQgY3JlYXRlcyBhIG5vbi16ZXJvLWZpbGxlZCBCdWZmZXIgaW5zdGFuY2UuXG4gKi9cbkJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICByZXR1cm4gYWxsb2NVbnNhZmUobnVsbCwgc2l6ZSlcbn1cblxuZnVuY3Rpb24gZnJvbVN0cmluZyAodGhhdCwgc3RyaW5nLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIGVuY29kaW5nICE9PSAnc3RyaW5nJyB8fCBlbmNvZGluZyA9PT0gJycpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4J1xuICB9XG5cbiAgaWYgKCFCdWZmZXIuaXNFbmNvZGluZyhlbmNvZGluZykpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImVuY29kaW5nXCIgbXVzdCBiZSBhIHZhbGlkIHN0cmluZyBlbmNvZGluZycpXG4gIH1cblxuICB2YXIgbGVuZ3RoID0gYnl0ZUxlbmd0aChzdHJpbmcsIGVuY29kaW5nKSB8IDBcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpXG5cbiAgdmFyIGFjdHVhbCA9IHRoYXQud3JpdGUoc3RyaW5nLCBlbmNvZGluZylcblxuICBpZiAoYWN0dWFsICE9PSBsZW5ndGgpIHtcbiAgICAvLyBXcml0aW5nIGEgaGV4IHN0cmluZywgZm9yIGV4YW1wbGUsIHRoYXQgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXJzIHdpbGxcbiAgICAvLyBjYXVzZSBldmVyeXRoaW5nIGFmdGVyIHRoZSBmaXJzdCBpbnZhbGlkIGNoYXJhY3RlciB0byBiZSBpZ25vcmVkLiAoZS5nLlxuICAgIC8vICdhYnh4Y2QnIHdpbGwgYmUgdHJlYXRlZCBhcyAnYWInKVxuICAgIHRoYXQgPSB0aGF0LnNsaWNlKDAsIGFjdHVhbClcbiAgfVxuXG4gIHJldHVybiB0aGF0XG59XG5cbmZ1bmN0aW9uIGZyb21BcnJheUxpa2UgKHRoYXQsIGFycmF5KSB7XG4gIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGggPCAwID8gMCA6IGNoZWNrZWQoYXJyYXkubGVuZ3RoKSB8IDBcbiAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW5ndGgpXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpICs9IDEpIHtcbiAgICB0aGF0W2ldID0gYXJyYXlbaV0gJiAyNTVcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIgKHRoYXQsIGFycmF5LCBieXRlT2Zmc2V0LCBsZW5ndGgpIHtcbiAgYXJyYXkuYnl0ZUxlbmd0aCAvLyB0aGlzIHRocm93cyBpZiBgYXJyYXlgIGlzIG5vdCBhIHZhbGlkIEFycmF5QnVmZmVyXG5cbiAgaWYgKGJ5dGVPZmZzZXQgPCAwIHx8IGFycmF5LmJ5dGVMZW5ndGggPCBieXRlT2Zmc2V0KSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1xcJ29mZnNldFxcJyBpcyBvdXQgb2YgYm91bmRzJylcbiAgfVxuXG4gIGlmIChhcnJheS5ieXRlTGVuZ3RoIDwgYnl0ZU9mZnNldCArIChsZW5ndGggfHwgMCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXFwnbGVuZ3RoXFwnIGlzIG91dCBvZiBib3VuZHMnKVxuICB9XG5cbiAgaWYgKGJ5dGVPZmZzZXQgPT09IHVuZGVmaW5lZCAmJiBsZW5ndGggPT09IHVuZGVmaW5lZCkge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXkpXG4gIH0gZWxzZSBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBhcnJheSA9IG5ldyBVaW50OEFycmF5KGFycmF5LCBieXRlT2Zmc2V0KVxuICB9IGVsc2Uge1xuICAgIGFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXksIGJ5dGVPZmZzZXQsIGxlbmd0aClcbiAgfVxuXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIFJldHVybiBhbiBhdWdtZW50ZWQgYFVpbnQ4QXJyYXlgIGluc3RhbmNlLCBmb3IgYmVzdCBwZXJmb3JtYW5jZVxuICAgIHRoYXQgPSBhcnJheVxuICAgIHRoYXQuX19wcm90b19fID0gQnVmZmVyLnByb3RvdHlwZVxuICB9IGVsc2Uge1xuICAgIC8vIEZhbGxiYWNrOiBSZXR1cm4gYW4gb2JqZWN0IGluc3RhbmNlIG9mIHRoZSBCdWZmZXIgY2xhc3NcbiAgICB0aGF0ID0gZnJvbUFycmF5TGlrZSh0aGF0LCBhcnJheSlcbiAgfVxuICByZXR1cm4gdGhhdFxufVxuXG5mdW5jdGlvbiBmcm9tT2JqZWN0ICh0aGF0LCBvYmopIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihvYmopKSB7XG4gICAgdmFyIGxlbiA9IGNoZWNrZWQob2JqLmxlbmd0aCkgfCAwXG4gICAgdGhhdCA9IGNyZWF0ZUJ1ZmZlcih0aGF0LCBsZW4pXG5cbiAgICBpZiAodGhhdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGF0XG4gICAgfVxuXG4gICAgb2JqLmNvcHkodGhhdCwgMCwgMCwgbGVuKVxuICAgIHJldHVybiB0aGF0XG4gIH1cblxuICBpZiAob2JqKSB7XG4gICAgaWYgKCh0eXBlb2YgQXJyYXlCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIG9iai5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikgfHwgJ2xlbmd0aCcgaW4gb2JqKSB7XG4gICAgICBpZiAodHlwZW9mIG9iai5sZW5ndGggIT09ICdudW1iZXInIHx8IGlzbmFuKG9iai5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVCdWZmZXIodGhhdCwgMClcbiAgICAgIH1cbiAgICAgIHJldHVybiBmcm9tQXJyYXlMaWtlKHRoYXQsIG9iailcbiAgICB9XG5cbiAgICBpZiAob2JqLnR5cGUgPT09ICdCdWZmZXInICYmIGlzQXJyYXkob2JqLmRhdGEpKSB7XG4gICAgICByZXR1cm4gZnJvbUFycmF5TGlrZSh0aGF0LCBvYmouZGF0YSlcbiAgICB9XG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCdGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgYXJyYXktbGlrZSBvYmplY3QuJylcbn1cblxuZnVuY3Rpb24gY2hlY2tlZCAobGVuZ3RoKSB7XG4gIC8vIE5vdGU6IGNhbm5vdCB1c2UgYGxlbmd0aCA8IGtNYXhMZW5ndGgoKWAgaGVyZSBiZWNhdXNlIHRoYXQgZmFpbHMgd2hlblxuICAvLyBsZW5ndGggaXMgTmFOICh3aGljaCBpcyBvdGhlcndpc2UgY29lcmNlZCB0byB6ZXJvLilcbiAgaWYgKGxlbmd0aCA+PSBrTWF4TGVuZ3RoKCkpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAnc2l6ZTogMHgnICsga01heExlbmd0aCgpLnRvU3RyaW5nKDE2KSArICcgYnl0ZXMnKVxuICB9XG4gIHJldHVybiBsZW5ndGggfCAwXG59XG5cbmZ1bmN0aW9uIFNsb3dCdWZmZXIgKGxlbmd0aCkge1xuICBpZiAoK2xlbmd0aCAhPSBsZW5ndGgpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBlcWVxZXFcbiAgICBsZW5ndGggPSAwXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlci5hbGxvYygrbGVuZ3RoKVxufVxuXG5CdWZmZXIuaXNCdWZmZXIgPSBmdW5jdGlvbiBpc0J1ZmZlciAoYikge1xuICByZXR1cm4gISEoYiAhPSBudWxsICYmIGIuX2lzQnVmZmVyKVxufVxuXG5CdWZmZXIuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYSkgfHwgIUJ1ZmZlci5pc0J1ZmZlcihiKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50cyBtdXN0IGJlIEJ1ZmZlcnMnKVxuICB9XG5cbiAgaWYgKGEgPT09IGIpIHJldHVybiAwXG5cbiAgdmFyIHggPSBhLmxlbmd0aFxuICB2YXIgeSA9IGIubGVuZ3RoXG5cbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IE1hdGgubWluKHgsIHkpOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkge1xuICAgICAgeCA9IGFbaV1cbiAgICAgIHkgPSBiW2ldXG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmICh4IDwgeSkgcmV0dXJuIC0xXG4gIGlmICh5IDwgeCkgcmV0dXJuIDFcbiAgcmV0dXJuIDBcbn1cblxuQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiBpc0VuY29kaW5nIChlbmNvZGluZykge1xuICBzd2l0Y2ggKFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgJ2hleCc6XG4gICAgY2FzZSAndXRmOCc6XG4gICAgY2FzZSAndXRmLTgnOlxuICAgIGNhc2UgJ2FzY2lpJzpcbiAgICBjYXNlICdsYXRpbjEnOlxuICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICBjYXNlICd1Y3MyJzpcbiAgICBjYXNlICd1Y3MtMic6XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgcmV0dXJuIHRydWVcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuQnVmZmVyLmNvbmNhdCA9IGZ1bmN0aW9uIGNvbmNhdCAobGlzdCwgbGVuZ3RoKSB7XG4gIGlmICghaXNBcnJheShsaXN0KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpXG4gIH1cblxuICBpZiAobGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICB2YXIgaVxuICBpZiAobGVuZ3RoID09PSB1bmRlZmluZWQpIHtcbiAgICBsZW5ndGggPSAwXG4gICAgZm9yIChpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpIHtcbiAgICAgIGxlbmd0aCArPSBsaXN0W2ldLmxlbmd0aFxuICAgIH1cbiAgfVxuXG4gIHZhciBidWZmZXIgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuZ3RoKVxuICB2YXIgcG9zID0gMFxuICBmb3IgKGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7ICsraSkge1xuICAgIHZhciBidWYgPSBsaXN0W2ldXG4gICAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYnVmKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0XCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJylcbiAgICB9XG4gICAgYnVmLmNvcHkoYnVmZmVyLCBwb3MpXG4gICAgcG9zICs9IGJ1Zi5sZW5ndGhcbiAgfVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIGJ5dGVMZW5ndGggKHN0cmluZywgZW5jb2RpbmcpIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihzdHJpbmcpKSB7XG4gICAgcmV0dXJuIHN0cmluZy5sZW5ndGhcbiAgfVxuICBpZiAodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3ID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAoQXJyYXlCdWZmZXIuaXNWaWV3KHN0cmluZykgfHwgc3RyaW5nIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKSB7XG4gICAgcmV0dXJuIHN0cmluZy5ieXRlTGVuZ3RoXG4gIH1cbiAgaWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgc3RyaW5nID0gJycgKyBzdHJpbmdcbiAgfVxuXG4gIHZhciBsZW4gPSBzdHJpbmcubGVuZ3RoXG4gIGlmIChsZW4gPT09IDApIHJldHVybiAwXG5cbiAgLy8gVXNlIGEgZm9yIGxvb3AgdG8gYXZvaWQgcmVjdXJzaW9uXG4gIHZhciBsb3dlcmVkQ2FzZSA9IGZhbHNlXG4gIGZvciAoOzspIHtcbiAgICBzd2l0Y2ggKGVuY29kaW5nKSB7XG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuIGxlblxuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoXG4gICAgICBjYXNlICd1Y3MyJzpcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgICByZXR1cm4gbGVuICogMlxuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGxlbiA+Pj4gMVxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgcmV0dXJuIGJhc2U2NFRvQnl0ZXMoc3RyaW5nKS5sZW5ndGhcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChsb3dlcmVkQ2FzZSkgcmV0dXJuIHV0ZjhUb0J5dGVzKHN0cmluZykubGVuZ3RoIC8vIGFzc3VtZSB1dGY4XG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5CdWZmZXIuYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGhcblxuZnVuY3Rpb24gc2xvd1RvU3RyaW5nIChlbmNvZGluZywgc3RhcnQsIGVuZCkge1xuICB2YXIgbG93ZXJlZENhc2UgPSBmYWxzZVxuXG4gIC8vIE5vIG5lZWQgdG8gdmVyaWZ5IHRoYXQgXCJ0aGlzLmxlbmd0aCA8PSBNQVhfVUlOVDMyXCIgc2luY2UgaXQncyBhIHJlYWQtb25seVxuICAvLyBwcm9wZXJ0eSBvZiBhIHR5cGVkIGFycmF5LlxuXG4gIC8vIFRoaXMgYmVoYXZlcyBuZWl0aGVyIGxpa2UgU3RyaW5nIG5vciBVaW50OEFycmF5IGluIHRoYXQgd2Ugc2V0IHN0YXJ0L2VuZFxuICAvLyB0byB0aGVpciB1cHBlci9sb3dlciBib3VuZHMgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBvdXQgb2YgcmFuZ2UuXG4gIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNwZWNpYWxseSBhcyBwZXIgRUNNQS0yNjIgNnRoIEVkaXRpb24sXG4gIC8vIFNlY3Rpb24gMTMuMy4zLjcgUnVudGltZSBTZW1hbnRpY3M6IEtleWVkQmluZGluZ0luaXRpYWxpemF0aW9uLlxuICBpZiAoc3RhcnQgPT09IHVuZGVmaW5lZCB8fCBzdGFydCA8IDApIHtcbiAgICBzdGFydCA9IDBcbiAgfVxuICAvLyBSZXR1cm4gZWFybHkgaWYgc3RhcnQgPiB0aGlzLmxlbmd0aC4gRG9uZSBoZXJlIHRvIHByZXZlbnQgcG90ZW50aWFsIHVpbnQzMlxuICAvLyBjb2VyY2lvbiBmYWlsIGJlbG93LlxuICBpZiAoc3RhcnQgPiB0aGlzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkIHx8IGVuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgZW5kID0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIGlmIChlbmQgPD0gMCkge1xuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgLy8gRm9yY2UgY29lcnNpb24gdG8gdWludDMyLiBUaGlzIHdpbGwgYWxzbyBjb2VyY2UgZmFsc2V5L05hTiB2YWx1ZXMgdG8gMC5cbiAgZW5kID4+Pj0gMFxuICBzdGFydCA+Pj49IDBcblxuICBpZiAoZW5kIDw9IHN0YXJ0KSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9ICd1dGY4J1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgc3dpdGNoIChlbmNvZGluZykge1xuICAgICAgY2FzZSAnaGV4JzpcbiAgICAgICAgcmV0dXJuIGhleFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgY2FzZSAndXRmLTgnOlxuICAgICAgICByZXR1cm4gdXRmOFNsaWNlKHRoaXMsIHN0YXJ0LCBlbmQpXG5cbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgICAgcmV0dXJuIGFzY2lpU2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAnbGF0aW4xJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAgIHJldHVybiBsYXRpbjFTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBjYXNlICdiYXNlNjQnOlxuICAgICAgICByZXR1cm4gYmFzZTY0U2xpY2UodGhpcywgc3RhcnQsIGVuZClcblxuICAgICAgY2FzZSAndWNzMic6XG4gICAgICBjYXNlICd1Y3MtMic6XG4gICAgICBjYXNlICd1dGYxNmxlJzpcbiAgICAgIGNhc2UgJ3V0Zi0xNmxlJzpcbiAgICAgICAgcmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLCBzdGFydCwgZW5kKVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAobG93ZXJlZENhc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmNvZGluZylcbiAgICAgICAgZW5jb2RpbmcgPSAoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKVxuICAgICAgICBsb3dlcmVkQ2FzZSA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIHByb3BlcnR5IGlzIHVzZWQgYnkgYEJ1ZmZlci5pc0J1ZmZlcmAgYW5kIGBpcy1idWZmZXJgIChpbiBTYWZhcmkgNS03KSB0byBkZXRlY3Rcbi8vIEJ1ZmZlciBpbnN0YW5jZXMuXG5CdWZmZXIucHJvdG90eXBlLl9pc0J1ZmZlciA9IHRydWVcblxuZnVuY3Rpb24gc3dhcCAoYiwgbiwgbSkge1xuICB2YXIgaSA9IGJbbl1cbiAgYltuXSA9IGJbbV1cbiAgYlttXSA9IGlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5zd2FwMTYgPSBmdW5jdGlvbiBzd2FwMTYgKCkge1xuICB2YXIgbGVuID0gdGhpcy5sZW5ndGhcbiAgaWYgKGxlbiAlIDIgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHMnKVxuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpICs9IDIpIHtcbiAgICBzd2FwKHRoaXMsIGksIGkgKyAxKVxuICB9XG4gIHJldHVybiB0aGlzXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuc3dhcDMyID0gZnVuY3Rpb24gc3dhcDMyICgpIHtcbiAgdmFyIGxlbiA9IHRoaXMubGVuZ3RoXG4gIGlmIChsZW4gJSA0ICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0J1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAzMi1iaXRzJylcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSArPSA0KSB7XG4gICAgc3dhcCh0aGlzLCBpLCBpICsgMylcbiAgICBzd2FwKHRoaXMsIGkgKyAxLCBpICsgMilcbiAgfVxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXIucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uIHN3YXA2NCAoKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxuICBpZiAobGVuICUgOCAhPT0gMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cycpXG4gIH1cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47IGkgKz0gOCkge1xuICAgIHN3YXAodGhpcywgaSwgaSArIDcpXG4gICAgc3dhcCh0aGlzLCBpICsgMSwgaSArIDYpXG4gICAgc3dhcCh0aGlzLCBpICsgMiwgaSArIDUpXG4gICAgc3dhcCh0aGlzLCBpICsgMywgaSArIDQpXG4gIH1cbiAgcmV0dXJuIHRoaXNcbn1cblxuQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nICgpIHtcbiAgdmFyIGxlbmd0aCA9IHRoaXMubGVuZ3RoIHwgMFxuICBpZiAobGVuZ3RoID09PSAwKSByZXR1cm4gJydcbiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHJldHVybiB1dGY4U2xpY2UodGhpcywgMCwgbGVuZ3RoKVxuICByZXR1cm4gc2xvd1RvU3RyaW5nLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5lcXVhbHMgPSBmdW5jdGlvbiBlcXVhbHMgKGIpIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIoYikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXInKVxuICBpZiAodGhpcyA9PT0gYikgcmV0dXJuIHRydWVcbiAgcmV0dXJuIEJ1ZmZlci5jb21wYXJlKHRoaXMsIGIpID09PSAwXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QgKCkge1xuICB2YXIgc3RyID0gJydcbiAgdmFyIG1heCA9IGV4cG9ydHMuSU5TUEVDVF9NQVhfQllURVNcbiAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xuICAgIHN0ciA9IHRoaXMudG9TdHJpbmcoJ2hleCcsIDAsIG1heCkubWF0Y2goLy57Mn0vZykuam9pbignICcpXG4gICAgaWYgKHRoaXMubGVuZ3RoID4gbWF4KSBzdHIgKz0gJyAuLi4gJ1xuICB9XG4gIHJldHVybiAnPEJ1ZmZlciAnICsgc3RyICsgJz4nXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUuY29tcGFyZSA9IGZ1bmN0aW9uIGNvbXBhcmUgKHRhcmdldCwgc3RhcnQsIGVuZCwgdGhpc1N0YXJ0LCB0aGlzRW5kKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHRhcmdldCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyJylcbiAgfVxuXG4gIGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RhcnQgPSAwXG4gIH1cbiAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZW5kID0gdGFyZ2V0ID8gdGFyZ2V0Lmxlbmd0aCA6IDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aGlzU3RhcnQgPSAwXG4gIH1cbiAgaWYgKHRoaXNFbmQgPT09IHVuZGVmaW5lZCkge1xuICAgIHRoaXNFbmQgPSB0aGlzLmxlbmd0aFxuICB9XG5cbiAgaWYgKHN0YXJ0IDwgMCB8fCBlbmQgPiB0YXJnZXQubGVuZ3RoIHx8IHRoaXNTdGFydCA8IDAgfHwgdGhpc0VuZCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ291dCBvZiByYW5nZSBpbmRleCcpXG4gIH1cblxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQgJiYgc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBpZiAodGhpc1N0YXJ0ID49IHRoaXNFbmQpIHtcbiAgICByZXR1cm4gLTFcbiAgfVxuICBpZiAoc3RhcnQgPj0gZW5kKSB7XG4gICAgcmV0dXJuIDFcbiAgfVxuXG4gIHN0YXJ0ID4+Pj0gMFxuICBlbmQgPj4+PSAwXG4gIHRoaXNTdGFydCA+Pj49IDBcbiAgdGhpc0VuZCA+Pj49IDBcblxuICBpZiAodGhpcyA9PT0gdGFyZ2V0KSByZXR1cm4gMFxuXG4gIHZhciB4ID0gdGhpc0VuZCAtIHRoaXNTdGFydFxuICB2YXIgeSA9IGVuZCAtIHN0YXJ0XG4gIHZhciBsZW4gPSBNYXRoLm1pbih4LCB5KVxuXG4gIHZhciB0aGlzQ29weSA9IHRoaXMuc2xpY2UodGhpc1N0YXJ0LCB0aGlzRW5kKVxuICB2YXIgdGFyZ2V0Q29weSA9IHRhcmdldC5zbGljZShzdGFydCwgZW5kKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICBpZiAodGhpc0NvcHlbaV0gIT09IHRhcmdldENvcHlbaV0pIHtcbiAgICAgIHggPSB0aGlzQ29weVtpXVxuICAgICAgeSA9IHRhcmdldENvcHlbaV1cbiAgICAgIGJyZWFrXG4gICAgfVxuICB9XG5cbiAgaWYgKHggPCB5KSByZXR1cm4gLTFcbiAgaWYgKHkgPCB4KSByZXR1cm4gMVxuICByZXR1cm4gMFxufVxuXG4vLyBGaW5kcyBlaXRoZXIgdGhlIGZpcnN0IGluZGV4IG9mIGB2YWxgIGluIGBidWZmZXJgIGF0IG9mZnNldCA+PSBgYnl0ZU9mZnNldGAsXG4vLyBPUiB0aGUgbGFzdCBpbmRleCBvZiBgdmFsYCBpbiBgYnVmZmVyYCBhdCBvZmZzZXQgPD0gYGJ5dGVPZmZzZXRgLlxuLy9cbi8vIEFyZ3VtZW50czpcbi8vIC0gYnVmZmVyIC0gYSBCdWZmZXIgdG8gc2VhcmNoXG4vLyAtIHZhbCAtIGEgc3RyaW5nLCBCdWZmZXIsIG9yIG51bWJlclxuLy8gLSBieXRlT2Zmc2V0IC0gYW4gaW5kZXggaW50byBgYnVmZmVyYDsgd2lsbCBiZSBjbGFtcGVkIHRvIGFuIGludDMyXG4vLyAtIGVuY29kaW5nIC0gYW4gb3B0aW9uYWwgZW5jb2RpbmcsIHJlbGV2YW50IGlzIHZhbCBpcyBhIHN0cmluZ1xuLy8gLSBkaXIgLSB0cnVlIGZvciBpbmRleE9mLCBmYWxzZSBmb3IgbGFzdEluZGV4T2ZcbmZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mIChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcsIGRpcikge1xuICAvLyBFbXB0eSBidWZmZXIgbWVhbnMgbm8gbWF0Y2hcbiAgaWYgKGJ1ZmZlci5sZW5ndGggPT09IDApIHJldHVybiAtMVxuXG4gIC8vIE5vcm1hbGl6ZSBieXRlT2Zmc2V0XG4gIGlmICh0eXBlb2YgYnl0ZU9mZnNldCA9PT0gJ3N0cmluZycpIHtcbiAgICBlbmNvZGluZyA9IGJ5dGVPZmZzZXRcbiAgICBieXRlT2Zmc2V0ID0gMFxuICB9IGVsc2UgaWYgKGJ5dGVPZmZzZXQgPiAweDdmZmZmZmZmKSB7XG4gICAgYnl0ZU9mZnNldCA9IDB4N2ZmZmZmZmZcbiAgfSBlbHNlIGlmIChieXRlT2Zmc2V0IDwgLTB4ODAwMDAwMDApIHtcbiAgICBieXRlT2Zmc2V0ID0gLTB4ODAwMDAwMDBcbiAgfVxuICBieXRlT2Zmc2V0ID0gK2J5dGVPZmZzZXQgIC8vIENvZXJjZSB0byBOdW1iZXIuXG4gIGlmIChpc05hTihieXRlT2Zmc2V0KSkge1xuICAgIC8vIGJ5dGVPZmZzZXQ6IGl0IGl0J3MgdW5kZWZpbmVkLCBudWxsLCBOYU4sIFwiZm9vXCIsIGV0Yywgc2VhcmNoIHdob2xlIGJ1ZmZlclxuICAgIGJ5dGVPZmZzZXQgPSBkaXIgPyAwIDogKGJ1ZmZlci5sZW5ndGggLSAxKVxuICB9XG5cbiAgLy8gTm9ybWFsaXplIGJ5dGVPZmZzZXQ6IG5lZ2F0aXZlIG9mZnNldHMgc3RhcnQgZnJvbSB0aGUgZW5kIG9mIHRoZSBidWZmZXJcbiAgaWYgKGJ5dGVPZmZzZXQgPCAwKSBieXRlT2Zmc2V0ID0gYnVmZmVyLmxlbmd0aCArIGJ5dGVPZmZzZXRcbiAgaWYgKGJ5dGVPZmZzZXQgPj0gYnVmZmVyLmxlbmd0aCkge1xuICAgIGlmIChkaXIpIHJldHVybiAtMVxuICAgIGVsc2UgYnl0ZU9mZnNldCA9IGJ1ZmZlci5sZW5ndGggLSAxXG4gIH0gZWxzZSBpZiAoYnl0ZU9mZnNldCA8IDApIHtcbiAgICBpZiAoZGlyKSBieXRlT2Zmc2V0ID0gMFxuICAgIGVsc2UgcmV0dXJuIC0xXG4gIH1cblxuICAvLyBOb3JtYWxpemUgdmFsXG4gIGlmICh0eXBlb2YgdmFsID09PSAnc3RyaW5nJykge1xuICAgIHZhbCA9IEJ1ZmZlci5mcm9tKHZhbCwgZW5jb2RpbmcpXG4gIH1cblxuICAvLyBGaW5hbGx5LCBzZWFyY2ggZWl0aGVyIGluZGV4T2YgKGlmIGRpciBpcyB0cnVlKSBvciBsYXN0SW5kZXhPZlxuICBpZiAoQnVmZmVyLmlzQnVmZmVyKHZhbCkpIHtcbiAgICAvLyBTcGVjaWFsIGNhc2U6IGxvb2tpbmcgZm9yIGVtcHR5IHN0cmluZy9idWZmZXIgYWx3YXlzIGZhaWxzXG4gICAgaWYgKHZhbC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cbiAgICByZXR1cm4gYXJyYXlJbmRleE9mKGJ1ZmZlciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKVxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgdmFsID0gdmFsICYgMHhGRiAvLyBTZWFyY2ggZm9yIGEgYnl0ZSB2YWx1ZSBbMC0yNTVdXG4gICAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUICYmXG4gICAgICAgIHR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAoZGlyKSB7XG4gICAgICAgIHJldHVybiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYnVmZmVyLCB2YWwsIGJ5dGVPZmZzZXQpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gVWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChidWZmZXIsIHZhbCwgYnl0ZU9mZnNldClcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5SW5kZXhPZihidWZmZXIsIFsgdmFsIF0sIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBkaXIpXG4gIH1cblxuICB0aHJvdyBuZXcgVHlwZUVycm9yKCd2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXInKVxufVxuXG5mdW5jdGlvbiBhcnJheUluZGV4T2YgKGFyciwgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgZGlyKSB7XG4gIHZhciBpbmRleFNpemUgPSAxXG4gIHZhciBhcnJMZW5ndGggPSBhcnIubGVuZ3RoXG4gIHZhciB2YWxMZW5ndGggPSB2YWwubGVuZ3RoXG5cbiAgaWYgKGVuY29kaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9IFN0cmluZyhlbmNvZGluZykudG9Mb3dlckNhc2UoKVxuICAgIGlmIChlbmNvZGluZyA9PT0gJ3VjczInIHx8IGVuY29kaW5nID09PSAndWNzLTInIHx8XG4gICAgICAgIGVuY29kaW5nID09PSAndXRmMTZsZScgfHwgZW5jb2RpbmcgPT09ICd1dGYtMTZsZScpIHtcbiAgICAgIGlmIChhcnIubGVuZ3RoIDwgMiB8fCB2YWwubGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gLTFcbiAgICAgIH1cbiAgICAgIGluZGV4U2l6ZSA9IDJcbiAgICAgIGFyckxlbmd0aCAvPSAyXG4gICAgICB2YWxMZW5ndGggLz0gMlxuICAgICAgYnl0ZU9mZnNldCAvPSAyXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcmVhZCAoYnVmLCBpKSB7XG4gICAgaWYgKGluZGV4U2l6ZSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGJ1ZltpXVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYnVmLnJlYWRVSW50MTZCRShpICogaW5kZXhTaXplKVxuICAgIH1cbiAgfVxuXG4gIHZhciBpXG4gIGlmIChkaXIpIHtcbiAgICB2YXIgZm91bmRJbmRleCA9IC0xXG4gICAgZm9yIChpID0gYnl0ZU9mZnNldDsgaSA8IGFyckxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAocmVhZChhcnIsIGkpID09PSByZWFkKHZhbCwgZm91bmRJbmRleCA9PT0gLTEgPyAwIDogaSAtIGZvdW5kSW5kZXgpKSB7XG4gICAgICAgIGlmIChmb3VuZEluZGV4ID09PSAtMSkgZm91bmRJbmRleCA9IGlcbiAgICAgICAgaWYgKGkgLSBmb3VuZEluZGV4ICsgMSA9PT0gdmFsTGVuZ3RoKSByZXR1cm4gZm91bmRJbmRleCAqIGluZGV4U2l6ZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZvdW5kSW5kZXggIT09IC0xKSBpIC09IGkgLSBmb3VuZEluZGV4XG4gICAgICAgIGZvdW5kSW5kZXggPSAtMVxuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAoYnl0ZU9mZnNldCArIHZhbExlbmd0aCA+IGFyckxlbmd0aCkgYnl0ZU9mZnNldCA9IGFyckxlbmd0aCAtIHZhbExlbmd0aFxuICAgIGZvciAoaSA9IGJ5dGVPZmZzZXQ7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB2YXIgZm91bmQgPSB0cnVlXG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHZhbExlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmIChyZWFkKGFyciwgaSArIGopICE9PSByZWFkKHZhbCwgaikpIHtcbiAgICAgICAgICBmb3VuZCA9IGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGZvdW5kKSByZXR1cm4gaVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMVxufVxuXG5CdWZmZXIucHJvdG90eXBlLmluY2x1ZGVzID0gZnVuY3Rpb24gaW5jbHVkZXMgKHZhbCwgYnl0ZU9mZnNldCwgZW5jb2RpbmcpIHtcbiAgcmV0dXJuIHRoaXMuaW5kZXhPZih2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSAhPT0gLTFcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5pbmRleE9mID0gZnVuY3Rpb24gaW5kZXhPZiAodmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZykge1xuICByZXR1cm4gYmlkaXJlY3Rpb25hbEluZGV4T2YodGhpcywgdmFsLCBieXRlT2Zmc2V0LCBlbmNvZGluZywgdHJ1ZSlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZiA9IGZ1bmN0aW9uIGxhc3RJbmRleE9mICh2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nKSB7XG4gIHJldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLCB2YWwsIGJ5dGVPZmZzZXQsIGVuY29kaW5nLCBmYWxzZSlcbn1cblxuZnVuY3Rpb24gaGV4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICBvZmZzZXQgPSBOdW1iZXIob2Zmc2V0KSB8fCAwXG4gIHZhciByZW1haW5pbmcgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmICghbGVuZ3RoKSB7XG4gICAgbGVuZ3RoID0gcmVtYWluaW5nXG4gIH0gZWxzZSB7XG4gICAgbGVuZ3RoID0gTnVtYmVyKGxlbmd0aClcbiAgICBpZiAobGVuZ3RoID4gcmVtYWluaW5nKSB7XG4gICAgICBsZW5ndGggPSByZW1haW5pbmdcbiAgICB9XG4gIH1cblxuICAvLyBtdXN0IGJlIGFuIGV2ZW4gbnVtYmVyIG9mIGRpZ2l0c1xuICB2YXIgc3RyTGVuID0gc3RyaW5nLmxlbmd0aFxuICBpZiAoc3RyTGVuICUgMiAhPT0gMCkgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBoZXggc3RyaW5nJylcblxuICBpZiAobGVuZ3RoID4gc3RyTGVuIC8gMikge1xuICAgIGxlbmd0aCA9IHN0ckxlbiAvIDJcbiAgfVxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7XG4gICAgdmFyIHBhcnNlZCA9IHBhcnNlSW50KHN0cmluZy5zdWJzdHIoaSAqIDIsIDIpLCAxNilcbiAgICBpZiAoaXNOYU4ocGFyc2VkKSkgcmV0dXJuIGlcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSBwYXJzZWRcbiAgfVxuICByZXR1cm4gaVxufVxuXG5mdW5jdGlvbiB1dGY4V3JpdGUgKGJ1Ziwgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyhzdHJpbmcsIGJ1Zi5sZW5ndGggLSBvZmZzZXQpLCBidWYsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBhc2NpaVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIoYXNjaWlUb0J5dGVzKHN0cmluZyksIGJ1Ziwgb2Zmc2V0LCBsZW5ndGgpXG59XG5cbmZ1bmN0aW9uIGxhdGluMVdyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGFzY2lpV3JpdGUoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxufVxuXG5mdW5jdGlvbiBiYXNlNjRXcml0ZSAoYnVmLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBibGl0QnVmZmVyKGJhc2U2NFRvQnl0ZXMoc3RyaW5nKSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuZnVuY3Rpb24gdWNzMldyaXRlIChidWYsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpIHtcbiAgcmV0dXJuIGJsaXRCdWZmZXIodXRmMTZsZVRvQnl0ZXMoc3RyaW5nLCBidWYubGVuZ3RoIC0gb2Zmc2V0KSwgYnVmLCBvZmZzZXQsIGxlbmd0aClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIHdyaXRlIChzdHJpbmcsIG9mZnNldCwgbGVuZ3RoLCBlbmNvZGluZykge1xuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nKVxuICBpZiAob2Zmc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICBlbmNvZGluZyA9ICd1dGY4J1xuICAgIGxlbmd0aCA9IHRoaXMubGVuZ3RoXG4gICAgb2Zmc2V0ID0gMFxuICAvLyBCdWZmZXIjd3JpdGUoc3RyaW5nLCBlbmNvZGluZylcbiAgfSBlbHNlIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCAmJiB0eXBlb2Ygb2Zmc2V0ID09PSAnc3RyaW5nJykge1xuICAgIGVuY29kaW5nID0gb2Zmc2V0XG4gICAgbGVuZ3RoID0gdGhpcy5sZW5ndGhcbiAgICBvZmZzZXQgPSAwXG4gIC8vIEJ1ZmZlciN3cml0ZShzdHJpbmcsIG9mZnNldFssIGxlbmd0aF1bLCBlbmNvZGluZ10pXG4gIH0gZWxzZSBpZiAoaXNGaW5pdGUob2Zmc2V0KSkge1xuICAgIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgICBpZiAoaXNGaW5pdGUobGVuZ3RoKSkge1xuICAgICAgbGVuZ3RoID0gbGVuZ3RoIHwgMFxuICAgICAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQpIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgfSBlbHNlIHtcbiAgICAgIGVuY29kaW5nID0gbGVuZ3RoXG4gICAgICBsZW5ndGggPSB1bmRlZmluZWRcbiAgICB9XG4gIC8vIGxlZ2FjeSB3cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXQsIGxlbmd0aCkgLSByZW1vdmUgaW4gdjAuMTNcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQnXG4gICAgKVxuICB9XG5cbiAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0XG4gIGlmIChsZW5ndGggPT09IHVuZGVmaW5lZCB8fCBsZW5ndGggPiByZW1haW5pbmcpIGxlbmd0aCA9IHJlbWFpbmluZ1xuXG4gIGlmICgoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpIHx8IG9mZnNldCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0F0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzJylcbiAgfVxuXG4gIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gJ3V0ZjgnXG5cbiAgdmFyIGxvd2VyZWRDYXNlID0gZmFsc2VcbiAgZm9yICg7Oykge1xuICAgIHN3aXRjaCAoZW5jb2RpbmcpIHtcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBoZXhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuIHV0ZjhXcml0ZSh0aGlzLCBzdHJpbmcsIG9mZnNldCwgbGVuZ3RoKVxuXG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICAgIHJldHVybiBhc2NpaVdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ2xhdGluMSc6XG4gICAgICBjYXNlICdiaW5hcnknOlxuICAgICAgICByZXR1cm4gbGF0aW4xV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgICAgLy8gV2FybmluZzogbWF4TGVuZ3RoIG5vdCB0YWtlbiBpbnRvIGFjY291bnQgaW4gYmFzZTY0V3JpdGVcbiAgICAgICAgcmV0dXJuIGJhc2U2NFdyaXRlKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgpXG5cbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiB1Y3MyV3JpdGUodGhpcywgc3RyaW5nLCBvZmZzZXQsIGxlbmd0aClcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGxvd2VyZWRDYXNlKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jb2RpbmcpXG4gICAgICAgIGVuY29kaW5nID0gKCcnICsgZW5jb2RpbmcpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgbG93ZXJlZENhc2UgPSB0cnVlXG4gICAgfVxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OICgpIHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnQnVmZmVyJyxcbiAgICBkYXRhOiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnIgfHwgdGhpcywgMClcbiAgfVxufVxuXG5mdW5jdGlvbiBiYXNlNjRTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIGlmIChzdGFydCA9PT0gMCAmJiBlbmQgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICByZXR1cm4gYmFzZTY0LmZyb21CeXRlQXJyYXkoYnVmKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBiYXNlNjQuZnJvbUJ5dGVBcnJheShidWYuc2xpY2Uoc3RhcnQsIGVuZCkpXG4gIH1cbn1cblxuZnVuY3Rpb24gdXRmOFNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgZW5kID0gTWF0aC5taW4oYnVmLmxlbmd0aCwgZW5kKVxuICB2YXIgcmVzID0gW11cblxuICB2YXIgaSA9IHN0YXJ0XG4gIHdoaWxlIChpIDwgZW5kKSB7XG4gICAgdmFyIGZpcnN0Qnl0ZSA9IGJ1ZltpXVxuICAgIHZhciBjb2RlUG9pbnQgPSBudWxsXG4gICAgdmFyIGJ5dGVzUGVyU2VxdWVuY2UgPSAoZmlyc3RCeXRlID4gMHhFRikgPyA0XG4gICAgICA6IChmaXJzdEJ5dGUgPiAweERGKSA/IDNcbiAgICAgIDogKGZpcnN0Qnl0ZSA+IDB4QkYpID8gMlxuICAgICAgOiAxXG5cbiAgICBpZiAoaSArIGJ5dGVzUGVyU2VxdWVuY2UgPD0gZW5kKSB7XG4gICAgICB2YXIgc2Vjb25kQnl0ZSwgdGhpcmRCeXRlLCBmb3VydGhCeXRlLCB0ZW1wQ29kZVBvaW50XG5cbiAgICAgIHN3aXRjaCAoYnl0ZXNQZXJTZXF1ZW5jZSkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKGZpcnN0Qnl0ZSA8IDB4ODApIHtcbiAgICAgICAgICAgIGNvZGVQb2ludCA9IGZpcnN0Qnl0ZVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweDFGKSA8PCAweDYgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4N0YpIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXG4gICAgICAgICAgaWYgKChzZWNvbmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKHRoaXJkQnl0ZSAmIDB4QzApID09PSAweDgwKSB7XG4gICAgICAgICAgICB0ZW1wQ29kZVBvaW50ID0gKGZpcnN0Qnl0ZSAmIDB4RikgPDwgMHhDIHwgKHNlY29uZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAodGhpcmRCeXRlICYgMHgzRilcbiAgICAgICAgICAgIGlmICh0ZW1wQ29kZVBvaW50ID4gMHg3RkYgJiYgKHRlbXBDb2RlUG9pbnQgPCAweEQ4MDAgfHwgdGVtcENvZGVQb2ludCA+IDB4REZGRikpIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgc2Vjb25kQnl0ZSA9IGJ1ZltpICsgMV1cbiAgICAgICAgICB0aGlyZEJ5dGUgPSBidWZbaSArIDJdXG4gICAgICAgICAgZm91cnRoQnl0ZSA9IGJ1ZltpICsgM11cbiAgICAgICAgICBpZiAoKHNlY29uZEJ5dGUgJiAweEMwKSA9PT0gMHg4MCAmJiAodGhpcmRCeXRlICYgMHhDMCkgPT09IDB4ODAgJiYgKGZvdXJ0aEJ5dGUgJiAweEMwKSA9PT0gMHg4MCkge1xuICAgICAgICAgICAgdGVtcENvZGVQb2ludCA9IChmaXJzdEJ5dGUgJiAweEYpIDw8IDB4MTIgfCAoc2Vjb25kQnl0ZSAmIDB4M0YpIDw8IDB4QyB8ICh0aGlyZEJ5dGUgJiAweDNGKSA8PCAweDYgfCAoZm91cnRoQnl0ZSAmIDB4M0YpXG4gICAgICAgICAgICBpZiAodGVtcENvZGVQb2ludCA+IDB4RkZGRiAmJiB0ZW1wQ29kZVBvaW50IDwgMHgxMTAwMDApIHtcbiAgICAgICAgICAgICAgY29kZVBvaW50ID0gdGVtcENvZGVQb2ludFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29kZVBvaW50ID09PSBudWxsKSB7XG4gICAgICAvLyB3ZSBkaWQgbm90IGdlbmVyYXRlIGEgdmFsaWQgY29kZVBvaW50IHNvIGluc2VydCBhXG4gICAgICAvLyByZXBsYWNlbWVudCBjaGFyIChVK0ZGRkQpIGFuZCBhZHZhbmNlIG9ubHkgMSBieXRlXG4gICAgICBjb2RlUG9pbnQgPSAweEZGRkRcbiAgICAgIGJ5dGVzUGVyU2VxdWVuY2UgPSAxXG4gICAgfSBlbHNlIGlmIChjb2RlUG9pbnQgPiAweEZGRkYpIHtcbiAgICAgIC8vIGVuY29kZSB0byB1dGYxNiAoc3Vycm9nYXRlIHBhaXIgZGFuY2UpXG4gICAgICBjb2RlUG9pbnQgLT0gMHgxMDAwMFxuICAgICAgcmVzLnB1c2goY29kZVBvaW50ID4+PiAxMCAmIDB4M0ZGIHwgMHhEODAwKVxuICAgICAgY29kZVBvaW50ID0gMHhEQzAwIHwgY29kZVBvaW50ICYgMHgzRkZcbiAgICB9XG5cbiAgICByZXMucHVzaChjb2RlUG9pbnQpXG4gICAgaSArPSBieXRlc1BlclNlcXVlbmNlXG4gIH1cblxuICByZXR1cm4gZGVjb2RlQ29kZVBvaW50c0FycmF5KHJlcylcbn1cblxuLy8gQmFzZWQgb24gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjI3NDcyNzIvNjgwNzQyLCB0aGUgYnJvd3NlciB3aXRoXG4vLyB0aGUgbG93ZXN0IGxpbWl0IGlzIENocm9tZSwgd2l0aCAweDEwMDAwIGFyZ3MuXG4vLyBXZSBnbyAxIG1hZ25pdHVkZSBsZXNzLCBmb3Igc2FmZXR5XG52YXIgTUFYX0FSR1VNRU5UU19MRU5HVEggPSAweDEwMDBcblxuZnVuY3Rpb24gZGVjb2RlQ29kZVBvaW50c0FycmF5IChjb2RlUG9pbnRzKSB7XG4gIHZhciBsZW4gPSBjb2RlUG9pbnRzLmxlbmd0aFxuICBpZiAobGVuIDw9IE1BWF9BUkdVTUVOVFNfTEVOR1RIKSB7XG4gICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBjb2RlUG9pbnRzKSAvLyBhdm9pZCBleHRyYSBzbGljZSgpXG4gIH1cblxuICAvLyBEZWNvZGUgaW4gY2h1bmtzIHRvIGF2b2lkIFwiY2FsbCBzdGFjayBzaXplIGV4Y2VlZGVkXCIuXG4gIHZhciByZXMgPSAnJ1xuICB2YXIgaSA9IDBcbiAgd2hpbGUgKGkgPCBsZW4pIHtcbiAgICByZXMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShcbiAgICAgIFN0cmluZyxcbiAgICAgIGNvZGVQb2ludHMuc2xpY2UoaSwgaSArPSBNQVhfQVJHVU1FTlRTX0xFTkdUSClcbiAgICApXG4gIH1cbiAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVNsaWNlIChidWYsIHN0YXJ0LCBlbmQpIHtcbiAgdmFyIHJldCA9ICcnXG4gIGVuZCA9IE1hdGgubWluKGJ1Zi5sZW5ndGgsIGVuZClcblxuICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgPCBlbmQ7ICsraSkge1xuICAgIHJldCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSAmIDB4N0YpXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5mdW5jdGlvbiBsYXRpbjFTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciByZXQgPSAnJ1xuICBlbmQgPSBNYXRoLm1pbihidWYubGVuZ3RoLCBlbmQpXG5cbiAgZm9yICh2YXIgaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICByZXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pXG4gIH1cbiAgcmV0dXJuIHJldFxufVxuXG5mdW5jdGlvbiBoZXhTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciBsZW4gPSBidWYubGVuZ3RoXG5cbiAgaWYgKCFzdGFydCB8fCBzdGFydCA8IDApIHN0YXJ0ID0gMFxuICBpZiAoIWVuZCB8fCBlbmQgPCAwIHx8IGVuZCA+IGxlbikgZW5kID0gbGVuXG5cbiAgdmFyIG91dCA9ICcnXG4gIGZvciAodmFyIGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7XG4gICAgb3V0ICs9IHRvSGV4KGJ1ZltpXSlcbiAgfVxuICByZXR1cm4gb3V0XG59XG5cbmZ1bmN0aW9uIHV0ZjE2bGVTbGljZSAoYnVmLCBzdGFydCwgZW5kKSB7XG4gIHZhciBieXRlcyA9IGJ1Zi5zbGljZShzdGFydCwgZW5kKVxuICB2YXIgcmVzID0gJydcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBieXRlcy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGVzW2ldICsgYnl0ZXNbaSArIDFdICogMjU2KVxuICB9XG4gIHJldHVybiByZXNcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIHNsaWNlIChzdGFydCwgZW5kKSB7XG4gIHZhciBsZW4gPSB0aGlzLmxlbmd0aFxuICBzdGFydCA9IH5+c3RhcnRcbiAgZW5kID0gZW5kID09PSB1bmRlZmluZWQgPyBsZW4gOiB+fmVuZFxuXG4gIGlmIChzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSBsZW5cbiAgICBpZiAoc3RhcnQgPCAwKSBzdGFydCA9IDBcbiAgfSBlbHNlIGlmIChzdGFydCA+IGxlbikge1xuICAgIHN0YXJ0ID0gbGVuXG4gIH1cblxuICBpZiAoZW5kIDwgMCkge1xuICAgIGVuZCArPSBsZW5cbiAgICBpZiAoZW5kIDwgMCkgZW5kID0gMFxuICB9IGVsc2UgaWYgKGVuZCA+IGxlbikge1xuICAgIGVuZCA9IGxlblxuICB9XG5cbiAgaWYgKGVuZCA8IHN0YXJ0KSBlbmQgPSBzdGFydFxuXG4gIHZhciBuZXdCdWZcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgbmV3QnVmID0gdGhpcy5zdWJhcnJheShzdGFydCwgZW5kKVxuICAgIG5ld0J1Zi5fX3Byb3RvX18gPSBCdWZmZXIucHJvdG90eXBlXG4gIH0gZWxzZSB7XG4gICAgdmFyIHNsaWNlTGVuID0gZW5kIC0gc3RhcnRcbiAgICBuZXdCdWYgPSBuZXcgQnVmZmVyKHNsaWNlTGVuLCB1bmRlZmluZWQpXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzbGljZUxlbjsgKytpKSB7XG4gICAgICBuZXdCdWZbaV0gPSB0aGlzW2kgKyBzdGFydF1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3QnVmXG59XG5cbi8qXG4gKiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpc24ndCB0cnlpbmcgdG8gd3JpdGUgb3V0IG9mIGJvdW5kcy5cbiAqL1xuZnVuY3Rpb24gY2hlY2tPZmZzZXQgKG9mZnNldCwgZXh0LCBsZW5ndGgpIHtcbiAgaWYgKChvZmZzZXQgJSAxKSAhPT0gMCB8fCBvZmZzZXQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignb2Zmc2V0IGlzIG5vdCB1aW50JylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50TEUgPSBmdW5jdGlvbiByZWFkVUludExFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgYnl0ZUxlbmd0aCwgdGhpcy5sZW5ndGgpXG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0XVxuICB2YXIgbXVsID0gMVxuICB2YXIgaSA9IDBcbiAgd2hpbGUgKCsraSA8IGJ5dGVMZW5ndGggJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyBpXSAqIG11bFxuICB9XG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50QkUgPSBmdW5jdGlvbiByZWFkVUludEJFIChvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuICB9XG5cbiAgdmFyIHZhbCA9IHRoaXNbb2Zmc2V0ICsgLS1ieXRlTGVuZ3RoXVxuICB2YXIgbXVsID0gMVxuICB3aGlsZSAoYnl0ZUxlbmd0aCA+IDAgJiYgKG11bCAqPSAweDEwMCkpIHtcbiAgICB2YWwgKz0gdGhpc1tvZmZzZXQgKyAtLWJ5dGVMZW5ndGhdICogbXVsXG4gIH1cblxuICByZXR1cm4gdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gcmVhZFVJbnQ4IChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMSwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiB0aGlzW29mZnNldF1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2TEUgPSBmdW5jdGlvbiByZWFkVUludDE2TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAyLCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIHRoaXNbb2Zmc2V0XSB8ICh0aGlzW29mZnNldCArIDFdIDw8IDgpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQxNkJFID0gZnVuY3Rpb24gcmVhZFVJbnQxNkJFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIHJldHVybiAodGhpc1tvZmZzZXRdIDw8IDgpIHwgdGhpc1tvZmZzZXQgKyAxXVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MzJMRSA9IGZ1bmN0aW9uIHJlYWRVSW50MzJMRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDQsIHRoaXMubGVuZ3RoKVxuXG4gIHJldHVybiAoKHRoaXNbb2Zmc2V0XSkgfFxuICAgICAgKHRoaXNbb2Zmc2V0ICsgMV0gPDwgOCkgfFxuICAgICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgMTYpKSArXG4gICAgICAodGhpc1tvZmZzZXQgKyAzXSAqIDB4MTAwMDAwMClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDMyQkUgPSBmdW5jdGlvbiByZWFkVUludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSAqIDB4MTAwMDAwMCkgK1xuICAgICgodGhpc1tvZmZzZXQgKyAxXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDJdIDw8IDgpIHxcbiAgICB0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRMRSA9IGZ1bmN0aW9uIHJlYWRJbnRMRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF1cbiAgdmFyIG11bCA9IDFcbiAgdmFyIGkgPSAwXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdmFsICs9IHRoaXNbb2Zmc2V0ICsgaV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnRCRSA9IGZ1bmN0aW9uIHJlYWRJbnRCRSAob2Zmc2V0LCBieXRlTGVuZ3RoLCBub0Fzc2VydCkge1xuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGJ5dGVMZW5ndGggPSBieXRlTGVuZ3RoIHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIGJ5dGVMZW5ndGgsIHRoaXMubGVuZ3RoKVxuXG4gIHZhciBpID0gYnl0ZUxlbmd0aFxuICB2YXIgbXVsID0gMVxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAtLWldXG4gIHdoaWxlIChpID4gMCAmJiAobXVsICo9IDB4MTAwKSkge1xuICAgIHZhbCArPSB0aGlzW29mZnNldCArIC0taV0gKiBtdWxcbiAgfVxuICBtdWwgKj0gMHg4MFxuXG4gIGlmICh2YWwgPj0gbXVsKSB2YWwgLT0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGgpXG5cbiAgcmV0dXJuIHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQ4ID0gZnVuY3Rpb24gcmVhZEludDggKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCAxLCB0aGlzLmxlbmd0aClcbiAgaWYgKCEodGhpc1tvZmZzZXRdICYgMHg4MCkpIHJldHVybiAodGhpc1tvZmZzZXRdKVxuICByZXR1cm4gKCgweGZmIC0gdGhpc1tvZmZzZXRdICsgMSkgKiAtMSlcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRSA9IGZ1bmN0aW9uIHJlYWRJbnQxNkxFIChvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrT2Zmc2V0KG9mZnNldCwgMiwgdGhpcy5sZW5ndGgpXG4gIHZhciB2YWwgPSB0aGlzW29mZnNldF0gfCAodGhpc1tvZmZzZXQgKyAxXSA8PCA4KVxuICByZXR1cm4gKHZhbCAmIDB4ODAwMCkgPyB2YWwgfCAweEZGRkYwMDAwIDogdmFsXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUucmVhZEludDE2QkUgPSBmdW5jdGlvbiByZWFkSW50MTZCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDIsIHRoaXMubGVuZ3RoKVxuICB2YXIgdmFsID0gdGhpc1tvZmZzZXQgKyAxXSB8ICh0aGlzW29mZnNldF0gPDwgOClcbiAgcmV0dXJuICh2YWwgJiAweDgwMDApID8gdmFsIHwgMHhGRkZGMDAwMCA6IHZhbFxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkxFID0gZnVuY3Rpb24gcmVhZEludDMyTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDgpIHxcbiAgICAodGhpc1tvZmZzZXQgKyAyXSA8PCAxNikgfFxuICAgICh0aGlzW29mZnNldCArIDNdIDw8IDI0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFID0gZnVuY3Rpb24gcmVhZEludDMyQkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcblxuICByZXR1cm4gKHRoaXNbb2Zmc2V0XSA8PCAyNCkgfFxuICAgICh0aGlzW29mZnNldCArIDFdIDw8IDE2KSB8XG4gICAgKHRoaXNbb2Zmc2V0ICsgMl0gPDwgOCkgfFxuICAgICh0aGlzW29mZnNldCArIDNdKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdExFID0gZnVuY3Rpb24gcmVhZEZsb2F0TEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDIzLCA0KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFID0gZnVuY3Rpb24gcmVhZEZsb2F0QkUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA0LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIGZhbHNlLCAyMywgNClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS5yZWFkRG91YmxlTEUgPSBmdW5jdGlvbiByZWFkRG91YmxlTEUgKG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tPZmZzZXQob2Zmc2V0LCA4LCB0aGlzLmxlbmd0aClcbiAgcmV0dXJuIGllZWU3NTQucmVhZCh0aGlzLCBvZmZzZXQsIHRydWUsIDUyLCA4KVxufVxuXG5CdWZmZXIucHJvdG90eXBlLnJlYWREb3VibGVCRSA9IGZ1bmN0aW9uIHJlYWREb3VibGVCRSAob2Zmc2V0LCBub0Fzc2VydCkge1xuICBpZiAoIW5vQXNzZXJ0KSBjaGVja09mZnNldChvZmZzZXQsIDgsIHRoaXMubGVuZ3RoKVxuICByZXR1cm4gaWVlZTc1NC5yZWFkKHRoaXMsIG9mZnNldCwgZmFsc2UsIDUyLCA4KVxufVxuXG5mdW5jdGlvbiBjaGVja0ludCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiYnVmZmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpXG4gIGlmICh2YWx1ZSA+IG1heCB8fCB2YWx1ZSA8IG1pbikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJylcbiAgaWYgKG9mZnNldCArIGV4dCA+IGJ1Zi5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludExFID0gZnVuY3Rpb24gd3JpdGVVSW50TEUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApXG4gIH1cblxuICB2YXIgbXVsID0gMVxuICB2YXIgaSA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXG4gIH1cblxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludEJFID0gZnVuY3Rpb24gd3JpdGVVSW50QkUgKHZhbHVlLCBvZmZzZXQsIGJ5dGVMZW5ndGgsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgYnl0ZUxlbmd0aCA9IGJ5dGVMZW5ndGggfCAwXG4gIGlmICghbm9Bc3NlcnQpIHtcbiAgICB2YXIgbWF4Qnl0ZXMgPSBNYXRoLnBvdygyLCA4ICogYnl0ZUxlbmd0aCkgLSAxXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbWF4Qnl0ZXMsIDApXG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIHZhciBtdWwgPSAxXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICh2YWx1ZSAvIG11bCkgJiAweEZGXG4gIH1cblxuICByZXR1cm4gb2Zmc2V0ICsgYnl0ZUxlbmd0aFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlVUludDggPSBmdW5jdGlvbiB3cml0ZVVJbnQ4ICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDEsIDB4ZmYsIDApXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSlcbiAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgcmV0dXJuIG9mZnNldCArIDFcbn1cblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MTYgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmICsgdmFsdWUgKyAxXG4gIGZvciAodmFyIGkgPSAwLCBqID0gTWF0aC5taW4oYnVmLmxlbmd0aCAtIG9mZnNldCwgMik7IGkgPCBqOyArK2kpIHtcbiAgICBidWZbb2Zmc2V0ICsgaV0gPSAodmFsdWUgJiAoMHhmZiA8PCAoOCAqIChsaXR0bGVFbmRpYW4gPyBpIDogMSAtIGkpKSkpID4+PlxuICAgICAgKGxpdHRsZUVuZGlhbiA/IGkgOiAxIC0gaSkgKiA4XG4gIH1cbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVVSW50MTZMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCAyLCAweGZmZmYsIDApXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQxNih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyAyXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZCRSA9IGZ1bmN0aW9uIHdyaXRlVUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHhmZmZmLCAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuZnVuY3Rpb24gb2JqZWN0V3JpdGVVSW50MzIgKGJ1ZiwgdmFsdWUsIG9mZnNldCwgbGl0dGxlRW5kaWFuKSB7XG4gIGlmICh2YWx1ZSA8IDApIHZhbHVlID0gMHhmZmZmZmZmZiArIHZhbHVlICsgMVxuICBmb3IgKHZhciBpID0gMCwgaiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSBvZmZzZXQsIDQpOyBpIDwgajsgKytpKSB7XG4gICAgYnVmW29mZnNldCArIGldID0gKHZhbHVlID4+PiAobGl0dGxlRW5kaWFuID8gaSA6IDMgLSBpKSAqIDgpICYgMHhmZlxuICB9XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJMRSA9IGZ1bmN0aW9uIHdyaXRlVUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHhmZmZmZmZmZiwgMClcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSA+Pj4gMjQpXG4gICAgdGhpc1tvZmZzZXQgKyAyXSA9ICh2YWx1ZSA+Pj4gMTYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgJiAweGZmKVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSBjaGVja0ludCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCA0LCAweGZmZmZmZmZmLCAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDI0KVxuICAgIHRoaXNbb2Zmc2V0ICsgMV0gPSAodmFsdWUgPj4+IDE2KVxuICAgIHRoaXNbb2Zmc2V0ICsgMl0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAzXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MzIodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDRcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gd3JpdGVJbnRMRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICB2YXIgaSA9IDBcbiAgdmFyIG11bCA9IDFcbiAgdmFyIHN1YiA9IDBcbiAgdGhpc1tvZmZzZXRdID0gdmFsdWUgJiAweEZGXG4gIHdoaWxlICgrK2kgPCBieXRlTGVuZ3RoICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpIC0gMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gd3JpdGVJbnRCRSAodmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbm9Bc3NlcnQpIHtcbiAgdmFsdWUgPSArdmFsdWVcbiAgb2Zmc2V0ID0gb2Zmc2V0IHwgMFxuICBpZiAoIW5vQXNzZXJ0KSB7XG4gICAgdmFyIGxpbWl0ID0gTWF0aC5wb3coMiwgOCAqIGJ5dGVMZW5ndGggLSAxKVxuXG4gICAgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgYnl0ZUxlbmd0aCwgbGltaXQgLSAxLCAtbGltaXQpXG4gIH1cblxuICB2YXIgaSA9IGJ5dGVMZW5ndGggLSAxXG4gIHZhciBtdWwgPSAxXG4gIHZhciBzdWIgPSAwXG4gIHRoaXNbb2Zmc2V0ICsgaV0gPSB2YWx1ZSAmIDB4RkZcbiAgd2hpbGUgKC0taSA+PSAwICYmIChtdWwgKj0gMHgxMDApKSB7XG4gICAgaWYgKHZhbHVlIDwgMCAmJiBzdWIgPT09IDAgJiYgdGhpc1tvZmZzZXQgKyBpICsgMV0gIT09IDApIHtcbiAgICAgIHN1YiA9IDFcbiAgICB9XG4gICAgdGhpc1tvZmZzZXQgKyBpXSA9ICgodmFsdWUgLyBtdWwpID4+IDApIC0gc3ViICYgMHhGRlxuICB9XG5cbiAgcmV0dXJuIG9mZnNldCArIGJ5dGVMZW5ndGhcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiB3cml0ZUludDggKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMSwgMHg3ZiwgLTB4ODApXG4gIGlmICghQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHZhbHVlID0gTWF0aC5mbG9vcih2YWx1ZSlcbiAgaWYgKHZhbHVlIDwgMCkgdmFsdWUgPSAweGZmICsgdmFsdWUgKyAxXG4gIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIHJldHVybiBvZmZzZXQgKyAxXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQxNkxFID0gZnVuY3Rpb24gd3JpdGVJbnQxNkxFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDIsIDB4N2ZmZiwgLTB4ODAwMClcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlICYgMHhmZilcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiA4KVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDE2KHRoaXMsIHZhbHVlLCBvZmZzZXQsIHRydWUpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2QkUgPSBmdW5jdGlvbiB3cml0ZUludDE2QkUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgMiwgMHg3ZmZmLCAtMHg4MDAwKVxuICBpZiAoQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlQpIHtcbiAgICB0aGlzW29mZnNldF0gPSAodmFsdWUgPj4+IDgpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSAmIDB4ZmYpXG4gIH0gZWxzZSB7XG4gICAgb2JqZWN0V3JpdGVVSW50MTYodGhpcywgdmFsdWUsIG9mZnNldCwgZmFsc2UpXG4gIH1cbiAgcmV0dXJuIG9mZnNldCArIDJcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDMyTEUgPSBmdW5jdGlvbiB3cml0ZUludDMyTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHZhbHVlID0gK3ZhbHVlXG4gIG9mZnNldCA9IG9mZnNldCB8IDBcbiAgaWYgKCFub0Fzc2VydCkgY2hlY2tJbnQodGhpcywgdmFsdWUsIG9mZnNldCwgNCwgMHg3ZmZmZmZmZiwgLTB4ODAwMDAwMDApXG4gIGlmIChCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIHRoaXNbb2Zmc2V0XSA9ICh2YWx1ZSAmIDB4ZmYpXG4gICAgdGhpc1tvZmZzZXQgKyAxXSA9ICh2YWx1ZSA+Pj4gOClcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiAxNilcbiAgICB0aGlzW29mZnNldCArIDNdID0gKHZhbHVlID4+PiAyNClcbiAgfSBlbHNlIHtcbiAgICBvYmplY3RXcml0ZVVJbnQzMih0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVJbnQzMkJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICB2YWx1ZSA9ICt2YWx1ZVxuICBvZmZzZXQgPSBvZmZzZXQgfCAwXG4gIGlmICghbm9Bc3NlcnQpIGNoZWNrSW50KHRoaXMsIHZhbHVlLCBvZmZzZXQsIDQsIDB4N2ZmZmZmZmYsIC0weDgwMDAwMDAwKVxuICBpZiAodmFsdWUgPCAwKSB2YWx1ZSA9IDB4ZmZmZmZmZmYgKyB2YWx1ZSArIDFcbiAgaWYgKEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUKSB7XG4gICAgdGhpc1tvZmZzZXRdID0gKHZhbHVlID4+PiAyNClcbiAgICB0aGlzW29mZnNldCArIDFdID0gKHZhbHVlID4+PiAxNilcbiAgICB0aGlzW29mZnNldCArIDJdID0gKHZhbHVlID4+PiA4KVxuICAgIHRoaXNbb2Zmc2V0ICsgM10gPSAodmFsdWUgJiAweGZmKVxuICB9IGVsc2Uge1xuICAgIG9iamVjdFdyaXRlVUludDMyKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlKVxuICB9XG4gIHJldHVybiBvZmZzZXQgKyA0XG59XG5cbmZ1bmN0aW9uIGNoZWNrSUVFRTc1NCAoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBleHQsIG1heCwgbWluKSB7XG4gIGlmIChvZmZzZXQgKyBleHQgPiBidWYubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW5kZXggb3V0IG9mIHJhbmdlJylcbiAgaWYgKG9mZnNldCA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbmRleCBvdXQgb2YgcmFuZ2UnKVxufVxuXG5mdW5jdGlvbiB3cml0ZUZsb2F0IChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDQsIDMuNDAyODIzNDY2Mzg1Mjg4NmUrMzgsIC0zLjQwMjgyMzQ2NjM4NTI4ODZlKzM4KVxuICB9XG4gIGllZWU3NTQud3JpdGUoYnVmLCB2YWx1ZSwgb2Zmc2V0LCBsaXR0bGVFbmRpYW4sIDIzLCA0KVxuICByZXR1cm4gb2Zmc2V0ICsgNFxufVxuXG5CdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRMRSA9IGZ1bmN0aW9uIHdyaXRlRmxvYXRMRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRmxvYXQodGhpcywgdmFsdWUsIG9mZnNldCwgdHJ1ZSwgbm9Bc3NlcnQpXG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gd3JpdGVGbG9hdEJFICh2YWx1ZSwgb2Zmc2V0LCBub0Fzc2VydCkge1xuICByZXR1cm4gd3JpdGVGbG9hdCh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCBmYWxzZSwgbm9Bc3NlcnQpXG59XG5cbmZ1bmN0aW9uIHdyaXRlRG91YmxlIChidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgbm9Bc3NlcnQpIHtcbiAgaWYgKCFub0Fzc2VydCkge1xuICAgIGNoZWNrSUVFRTc1NChidWYsIHZhbHVlLCBvZmZzZXQsIDgsIDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4LCAtMS43OTc2OTMxMzQ4NjIzMTU3RSszMDgpXG4gIH1cbiAgaWVlZTc1NC53cml0ZShidWYsIHZhbHVlLCBvZmZzZXQsIGxpdHRsZUVuZGlhbiwgNTIsIDgpXG4gIHJldHVybiBvZmZzZXQgKyA4XG59XG5cbkJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIHdyaXRlRG91YmxlTEUgKHZhbHVlLCBvZmZzZXQsIG5vQXNzZXJ0KSB7XG4gIHJldHVybiB3cml0ZURvdWJsZSh0aGlzLCB2YWx1ZSwgb2Zmc2V0LCB0cnVlLCBub0Fzc2VydClcbn1cblxuQnVmZmVyLnByb3RvdHlwZS53cml0ZURvdWJsZUJFID0gZnVuY3Rpb24gd3JpdGVEb3VibGVCRSAodmFsdWUsIG9mZnNldCwgbm9Bc3NlcnQpIHtcbiAgcmV0dXJuIHdyaXRlRG91YmxlKHRoaXMsIHZhbHVlLCBvZmZzZXQsIGZhbHNlLCBub0Fzc2VydClcbn1cblxuLy8gY29weSh0YXJnZXRCdWZmZXIsIHRhcmdldFN0YXJ0PTAsIHNvdXJjZVN0YXJ0PTAsIHNvdXJjZUVuZD1idWZmZXIubGVuZ3RoKVxuQnVmZmVyLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gY29weSAodGFyZ2V0LCB0YXJnZXRTdGFydCwgc3RhcnQsIGVuZCkge1xuICBpZiAoIXN0YXJ0KSBzdGFydCA9IDBcbiAgaWYgKCFlbmQgJiYgZW5kICE9PSAwKSBlbmQgPSB0aGlzLmxlbmd0aFxuICBpZiAodGFyZ2V0U3RhcnQgPj0gdGFyZ2V0Lmxlbmd0aCkgdGFyZ2V0U3RhcnQgPSB0YXJnZXQubGVuZ3RoXG4gIGlmICghdGFyZ2V0U3RhcnQpIHRhcmdldFN0YXJ0ID0gMFxuICBpZiAoZW5kID4gMCAmJiBlbmQgPCBzdGFydCkgZW5kID0gc3RhcnRcblxuICAvLyBDb3B5IDAgYnl0ZXM7IHdlJ3JlIGRvbmVcbiAgaWYgKGVuZCA9PT0gc3RhcnQpIHJldHVybiAwXG4gIGlmICh0YXJnZXQubGVuZ3RoID09PSAwIHx8IHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gMFxuXG4gIC8vIEZhdGFsIGVycm9yIGNvbmRpdGlvbnNcbiAgaWYgKHRhcmdldFN0YXJ0IDwgMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCd0YXJnZXRTdGFydCBvdXQgb2YgYm91bmRzJylcbiAgfVxuICBpZiAoc3RhcnQgPCAwIHx8IHN0YXJ0ID49IHRoaXMubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlU3RhcnQgb3V0IG9mIGJvdW5kcycpXG4gIGlmIChlbmQgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignc291cmNlRW5kIG91dCBvZiBib3VuZHMnKVxuXG4gIC8vIEFyZSB3ZSBvb2I/XG4gIGlmIChlbmQgPiB0aGlzLmxlbmd0aCkgZW5kID0gdGhpcy5sZW5ndGhcbiAgaWYgKHRhcmdldC5sZW5ndGggLSB0YXJnZXRTdGFydCA8IGVuZCAtIHN0YXJ0KSB7XG4gICAgZW5kID0gdGFyZ2V0Lmxlbmd0aCAtIHRhcmdldFN0YXJ0ICsgc3RhcnRcbiAgfVxuXG4gIHZhciBsZW4gPSBlbmQgLSBzdGFydFxuICB2YXIgaVxuXG4gIGlmICh0aGlzID09PSB0YXJnZXQgJiYgc3RhcnQgPCB0YXJnZXRTdGFydCAmJiB0YXJnZXRTdGFydCA8IGVuZCkge1xuICAgIC8vIGRlc2NlbmRpbmcgY29weSBmcm9tIGVuZFxuICAgIGZvciAoaSA9IGxlbiAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICB0YXJnZXRbaSArIHRhcmdldFN0YXJ0XSA9IHRoaXNbaSArIHN0YXJ0XVxuICAgIH1cbiAgfSBlbHNlIGlmIChsZW4gPCAxMDAwIHx8ICFCdWZmZXIuVFlQRURfQVJSQVlfU1VQUE9SVCkge1xuICAgIC8vIGFzY2VuZGluZyBjb3B5IGZyb20gc3RhcnRcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgIHRhcmdldFtpICsgdGFyZ2V0U3RhcnRdID0gdGhpc1tpICsgc3RhcnRdXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKFxuICAgICAgdGFyZ2V0LFxuICAgICAgdGhpcy5zdWJhcnJheShzdGFydCwgc3RhcnQgKyBsZW4pLFxuICAgICAgdGFyZ2V0U3RhcnRcbiAgICApXG4gIH1cblxuICByZXR1cm4gbGVuXG59XG5cbi8vIFVzYWdlOlxuLy8gICAgYnVmZmVyLmZpbGwobnVtYmVyWywgb2Zmc2V0WywgZW5kXV0pXG4vLyAgICBidWZmZXIuZmlsbChidWZmZXJbLCBvZmZzZXRbLCBlbmRdXSlcbi8vICAgIGJ1ZmZlci5maWxsKHN0cmluZ1ssIG9mZnNldFssIGVuZF1dWywgZW5jb2RpbmddKVxuQnVmZmVyLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gZmlsbCAodmFsLCBzdGFydCwgZW5kLCBlbmNvZGluZykge1xuICAvLyBIYW5kbGUgc3RyaW5nIGNhc2VzOlxuICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBzdGFydFxuICAgICAgc3RhcnQgPSAwXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGVuZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVuY29kaW5nID0gZW5kXG4gICAgICBlbmQgPSB0aGlzLmxlbmd0aFxuICAgIH1cbiAgICBpZiAodmFsLmxlbmd0aCA9PT0gMSkge1xuICAgICAgdmFyIGNvZGUgPSB2YWwuY2hhckNvZGVBdCgwKVxuICAgICAgaWYgKGNvZGUgPCAyNTYpIHtcbiAgICAgICAgdmFsID0gY29kZVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZW5jb2RpbmcgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZW5jb2RpbmcgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdlbmNvZGluZyBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycgJiYgIUJ1ZmZlci5pc0VuY29kaW5nKGVuY29kaW5nKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIHZhbCA9IHZhbCAmIDI1NVxuICB9XG5cbiAgLy8gSW52YWxpZCByYW5nZXMgYXJlIG5vdCBzZXQgdG8gYSBkZWZhdWx0LCBzbyBjYW4gcmFuZ2UgY2hlY2sgZWFybHkuXG4gIGlmIChzdGFydCA8IDAgfHwgdGhpcy5sZW5ndGggPCBzdGFydCB8fCB0aGlzLmxlbmd0aCA8IGVuZCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdPdXQgb2YgcmFuZ2UgaW5kZXgnKVxuICB9XG5cbiAgaWYgKGVuZCA8PSBzdGFydCkge1xuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBzdGFydCA9IHN0YXJ0ID4+PiAwXG4gIGVuZCA9IGVuZCA9PT0gdW5kZWZpbmVkID8gdGhpcy5sZW5ndGggOiBlbmQgPj4+IDBcblxuICBpZiAoIXZhbCkgdmFsID0gMFxuXG4gIHZhciBpXG4gIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyArK2kpIHtcbiAgICAgIHRoaXNbaV0gPSB2YWxcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGJ5dGVzID0gQnVmZmVyLmlzQnVmZmVyKHZhbClcbiAgICAgID8gdmFsXG4gICAgICA6IHV0ZjhUb0J5dGVzKG5ldyBCdWZmZXIodmFsLCBlbmNvZGluZykudG9TdHJpbmcoKSlcbiAgICB2YXIgbGVuID0gYnl0ZXMubGVuZ3RoXG4gICAgZm9yIChpID0gMDsgaSA8IGVuZCAtIHN0YXJ0OyArK2kpIHtcbiAgICAgIHRoaXNbaSArIHN0YXJ0XSA9IGJ5dGVzW2kgJSBsZW5dXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuLy8gSEVMUEVSIEZVTkNUSU9OU1xuLy8gPT09PT09PT09PT09PT09PVxuXG52YXIgSU5WQUxJRF9CQVNFNjRfUkUgPSAvW14rXFwvMC05QS1aYS16LV9dL2dcblxuZnVuY3Rpb24gYmFzZTY0Y2xlYW4gKHN0cikge1xuICAvLyBOb2RlIHN0cmlwcyBvdXQgaW52YWxpZCBjaGFyYWN0ZXJzIGxpa2UgXFxuIGFuZCBcXHQgZnJvbSB0aGUgc3RyaW5nLCBiYXNlNjQtanMgZG9lcyBub3RcbiAgc3RyID0gc3RyaW5ndHJpbShzdHIpLnJlcGxhY2UoSU5WQUxJRF9CQVNFNjRfUkUsICcnKVxuICAvLyBOb2RlIGNvbnZlcnRzIHN0cmluZ3Mgd2l0aCBsZW5ndGggPCAyIHRvICcnXG4gIGlmIChzdHIubGVuZ3RoIDwgMikgcmV0dXJuICcnXG4gIC8vIE5vZGUgYWxsb3dzIGZvciBub24tcGFkZGVkIGJhc2U2NCBzdHJpbmdzIChtaXNzaW5nIHRyYWlsaW5nID09PSksIGJhc2U2NC1qcyBkb2VzIG5vdFxuICB3aGlsZSAoc3RyLmxlbmd0aCAlIDQgIT09IDApIHtcbiAgICBzdHIgPSBzdHIgKyAnPSdcbiAgfVxuICByZXR1cm4gc3RyXG59XG5cbmZ1bmN0aW9uIHN0cmluZ3RyaW0gKHN0cikge1xuICBpZiAoc3RyLnRyaW0pIHJldHVybiBzdHIudHJpbSgpXG4gIHJldHVybiBzdHIucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgJycpXG59XG5cbmZ1bmN0aW9uIHRvSGV4IChuKSB7XG4gIGlmIChuIDwgMTYpIHJldHVybiAnMCcgKyBuLnRvU3RyaW5nKDE2KVxuICByZXR1cm4gbi50b1N0cmluZygxNilcbn1cblxuZnVuY3Rpb24gdXRmOFRvQnl0ZXMgKHN0cmluZywgdW5pdHMpIHtcbiAgdW5pdHMgPSB1bml0cyB8fCBJbmZpbml0eVxuICB2YXIgY29kZVBvaW50XG4gIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoXG4gIHZhciBsZWFkU3Vycm9nYXRlID0gbnVsbFxuICB2YXIgYnl0ZXMgPSBbXVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBjb2RlUG9pbnQgPSBzdHJpbmcuY2hhckNvZGVBdChpKVxuXG4gICAgLy8gaXMgc3Vycm9nYXRlIGNvbXBvbmVudFxuICAgIGlmIChjb2RlUG9pbnQgPiAweEQ3RkYgJiYgY29kZVBvaW50IDwgMHhFMDAwKSB7XG4gICAgICAvLyBsYXN0IGNoYXIgd2FzIGEgbGVhZFxuICAgICAgaWYgKCFsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAgIC8vIG5vIGxlYWQgeWV0XG4gICAgICAgIGlmIChjb2RlUG9pbnQgPiAweERCRkYpIHtcbiAgICAgICAgICAvLyB1bmV4cGVjdGVkIHRyYWlsXG4gICAgICAgICAgaWYgKCh1bml0cyAtPSAzKSA+IC0xKSBieXRlcy5wdXNoKDB4RUYsIDB4QkYsIDB4QkQpXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfSBlbHNlIGlmIChpICsgMSA9PT0gbGVuZ3RoKSB7XG4gICAgICAgICAgLy8gdW5wYWlyZWQgbGVhZFxuICAgICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICAvLyB2YWxpZCBsZWFkXG4gICAgICAgIGxlYWRTdXJyb2dhdGUgPSBjb2RlUG9pbnRcblxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyAyIGxlYWRzIGluIGEgcm93XG4gICAgICBpZiAoY29kZVBvaW50IDwgMHhEQzAwKSB7XG4gICAgICAgIGlmICgodW5pdHMgLT0gMykgPiAtMSkgYnl0ZXMucHVzaCgweEVGLCAweEJGLCAweEJEKVxuICAgICAgICBsZWFkU3Vycm9nYXRlID0gY29kZVBvaW50XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIC8vIHZhbGlkIHN1cnJvZ2F0ZSBwYWlyXG4gICAgICBjb2RlUG9pbnQgPSAobGVhZFN1cnJvZ2F0ZSAtIDB4RDgwMCA8PCAxMCB8IGNvZGVQb2ludCAtIDB4REMwMCkgKyAweDEwMDAwXG4gICAgfSBlbHNlIGlmIChsZWFkU3Vycm9nYXRlKSB7XG4gICAgICAvLyB2YWxpZCBibXAgY2hhciwgYnV0IGxhc3QgY2hhciB3YXMgYSBsZWFkXG4gICAgICBpZiAoKHVuaXRzIC09IDMpID4gLTEpIGJ5dGVzLnB1c2goMHhFRiwgMHhCRiwgMHhCRClcbiAgICB9XG5cbiAgICBsZWFkU3Vycm9nYXRlID0gbnVsbFxuXG4gICAgLy8gZW5jb2RlIHV0ZjhcbiAgICBpZiAoY29kZVBvaW50IDwgMHg4MCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAxKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKGNvZGVQb2ludClcbiAgICB9IGVsc2UgaWYgKGNvZGVQb2ludCA8IDB4ODAwKSB7XG4gICAgICBpZiAoKHVuaXRzIC09IDIpIDwgMCkgYnJlYWtcbiAgICAgIGJ5dGVzLnB1c2goXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgfCAweEMwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50IDwgMHgxMDAwMCkge1xuICAgICAgaWYgKCh1bml0cyAtPSAzKSA8IDApIGJyZWFrXG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDIHwgMHhFMCxcbiAgICAgICAgY29kZVBvaW50ID4+IDB4NiAmIDB4M0YgfCAweDgwLFxuICAgICAgICBjb2RlUG9pbnQgJiAweDNGIHwgMHg4MFxuICAgICAgKVxuICAgIH0gZWxzZSBpZiAoY29kZVBvaW50IDwgMHgxMTAwMDApIHtcbiAgICAgIGlmICgodW5pdHMgLT0gNCkgPCAwKSBicmVha1xuICAgICAgYnl0ZXMucHVzaChcbiAgICAgICAgY29kZVBvaW50ID4+IDB4MTIgfCAweEYwLFxuICAgICAgICBjb2RlUG9pbnQgPj4gMHhDICYgMHgzRiB8IDB4ODAsXG4gICAgICAgIGNvZGVQb2ludCA+PiAweDYgJiAweDNGIHwgMHg4MCxcbiAgICAgICAgY29kZVBvaW50ICYgMHgzRiB8IDB4ODBcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvZGUgcG9pbnQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBieXRlc1xufVxuXG5mdW5jdGlvbiBhc2NpaVRvQnl0ZXMgKHN0cikge1xuICB2YXIgYnl0ZUFycmF5ID0gW11cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyArK2kpIHtcbiAgICAvLyBOb2RlJ3MgY29kZSBzZWVtcyB0byBiZSBkb2luZyB0aGlzIGFuZCBub3QgJiAweDdGLi5cbiAgICBieXRlQXJyYXkucHVzaChzdHIuY2hhckNvZGVBdChpKSAmIDB4RkYpXG4gIH1cbiAgcmV0dXJuIGJ5dGVBcnJheVxufVxuXG5mdW5jdGlvbiB1dGYxNmxlVG9CeXRlcyAoc3RyLCB1bml0cykge1xuICB2YXIgYywgaGksIGxvXG4gIHZhciBieXRlQXJyYXkgPSBbXVxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSkge1xuICAgIGlmICgodW5pdHMgLT0gMikgPCAwKSBicmVha1xuXG4gICAgYyA9IHN0ci5jaGFyQ29kZUF0KGkpXG4gICAgaGkgPSBjID4+IDhcbiAgICBsbyA9IGMgJSAyNTZcbiAgICBieXRlQXJyYXkucHVzaChsbylcbiAgICBieXRlQXJyYXkucHVzaChoaSlcbiAgfVxuXG4gIHJldHVybiBieXRlQXJyYXlcbn1cblxuZnVuY3Rpb24gYmFzZTY0VG9CeXRlcyAoc3RyKSB7XG4gIHJldHVybiBiYXNlNjQudG9CeXRlQXJyYXkoYmFzZTY0Y2xlYW4oc3RyKSlcbn1cblxuZnVuY3Rpb24gYmxpdEJ1ZmZlciAoc3JjLCBkc3QsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoKGkgKyBvZmZzZXQgPj0gZHN0Lmxlbmd0aCkgfHwgKGkgPj0gc3JjLmxlbmd0aCkpIGJyZWFrXG4gICAgZHN0W2kgKyBvZmZzZXRdID0gc3JjW2ldXG4gIH1cbiAgcmV0dXJuIGlcbn1cblxuZnVuY3Rpb24gaXNuYW4gKHZhbCkge1xuICByZXR1cm4gdmFsICE9PSB2YWwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbn1cbiIsInZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxudmFyIFRyYW5zZm9ybSA9IHJlcXVpcmUoJ3N0cmVhbScpLlRyYW5zZm9ybVxudmFyIFN0cmluZ0RlY29kZXIgPSByZXF1aXJlKCdzdHJpbmdfZGVjb2RlcicpLlN0cmluZ0RlY29kZXJcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcblxuZnVuY3Rpb24gQ2lwaGVyQmFzZSAoaGFzaE1vZGUpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcbiAgdGhpcy5oYXNoTW9kZSA9IHR5cGVvZiBoYXNoTW9kZSA9PT0gJ3N0cmluZydcbiAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcbiAgICB0aGlzW2hhc2hNb2RlXSA9IHRoaXMuX2ZpbmFsT3JEaWdlc3RcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmZpbmFsID0gdGhpcy5fZmluYWxPckRpZ2VzdFxuICB9XG4gIGlmICh0aGlzLl9maW5hbCkge1xuICAgIHRoaXMuX19maW5hbCA9IHRoaXMuX2ZpbmFsXG4gICAgdGhpcy5fZmluYWwgPSBudWxsXG4gIH1cbiAgdGhpcy5fZGVjb2RlciA9IG51bGxcbiAgdGhpcy5fZW5jb2RpbmcgPSBudWxsXG59XG5pbmhlcml0cyhDaXBoZXJCYXNlLCBUcmFuc2Zvcm0pXG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhLCBpbnB1dEVuYywgb3V0cHV0RW5jKSB7XG4gIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICBkYXRhID0gQnVmZmVyLmZyb20oZGF0YSwgaW5wdXRFbmMpXG4gIH1cblxuICB2YXIgb3V0RGF0YSA9IHRoaXMuX3VwZGF0ZShkYXRhKVxuICBpZiAodGhpcy5oYXNoTW9kZSkgcmV0dXJuIHRoaXNcblxuICBpZiAob3V0cHV0RW5jKSB7XG4gICAgb3V0RGF0YSA9IHRoaXMuX3RvU3RyaW5nKG91dERhdGEsIG91dHB1dEVuYylcbiAgfVxuXG4gIHJldHVybiBvdXREYXRhXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dG9QYWRkaW5nID0gZnVuY3Rpb24gKCkge31cbkNpcGhlckJhc2UucHJvdG90eXBlLmdldEF1dGhUYWcgPSBmdW5jdGlvbiAoKSB7XG4gIHRocm93IG5ldyBFcnJvcigndHJ5aW5nIHRvIGdldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnNldEF1dGhUYWcgPSBmdW5jdGlvbiAoKSB7XG4gIHRocm93IG5ldyBFcnJvcigndHJ5aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLnNldEFBRCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCd0cnlpbmcgdG8gc2V0IGFhZCBpbiB1bnN1cHBvcnRlZCBzdGF0ZScpXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZGF0YSwgXywgbmV4dCkge1xuICB2YXIgZXJyXG4gIHRyeSB7XG4gICAgaWYgKHRoaXMuaGFzaE1vZGUpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZShkYXRhKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2godGhpcy5fdXBkYXRlKGRhdGEpKVxuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIGVyciA9IGVcbiAgfSBmaW5hbGx5IHtcbiAgICBuZXh0KGVycilcbiAgfVxufVxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZsdXNoID0gZnVuY3Rpb24gKGRvbmUpIHtcbiAgdmFyIGVyclxuICB0cnkge1xuICAgIHRoaXMucHVzaCh0aGlzLl9fZmluYWwoKSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGVyciA9IGVcbiAgfVxuXG4gIGRvbmUoZXJyKVxufVxuQ2lwaGVyQmFzZS5wcm90b3R5cGUuX2ZpbmFsT3JEaWdlc3QgPSBmdW5jdGlvbiAob3V0cHV0RW5jKSB7XG4gIHZhciBvdXREYXRhID0gdGhpcy5fX2ZpbmFsKCkgfHwgQnVmZmVyLmFsbG9jKDApXG4gIGlmIChvdXRwdXRFbmMpIHtcbiAgICBvdXREYXRhID0gdGhpcy5fdG9TdHJpbmcob3V0RGF0YSwgb3V0cHV0RW5jLCB0cnVlKVxuICB9XG4gIHJldHVybiBvdXREYXRhXG59XG5cbkNpcGhlckJhc2UucHJvdG90eXBlLl90b1N0cmluZyA9IGZ1bmN0aW9uICh2YWx1ZSwgZW5jLCBmaW4pIHtcbiAgaWYgKCF0aGlzLl9kZWNvZGVyKSB7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKGVuYylcbiAgICB0aGlzLl9lbmNvZGluZyA9IGVuY1xuICB9XG5cbiAgaWYgKHRoaXMuX2VuY29kaW5nICE9PSBlbmMpIHRocm93IG5ldyBFcnJvcignY2FuXFwndCBzd2l0Y2ggZW5jb2RpbmdzJylcblxuICB2YXIgb3V0ID0gdGhpcy5fZGVjb2Rlci53cml0ZSh2YWx1ZSlcbiAgaWYgKGZpbikge1xuICAgIG91dCArPSB0aGlzLl9kZWNvZGVyLmVuZCgpXG4gIH1cblxuICByZXR1cm4gb3V0XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ2lwaGVyQmFzZVxuIiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbi8vIE5PVEU6IFRoZXNlIHR5cGUgY2hlY2tpbmcgZnVuY3Rpb25zIGludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGBpbnN0YW5jZW9mYFxuLy8gYmVjYXVzZSBpdCBpcyBmcmFnaWxlIGFuZCBjYW4gYmUgZWFzaWx5IGZha2VkIHdpdGggYE9iamVjdC5jcmVhdGUoKWAuXG5cbmZ1bmN0aW9uIGlzQXJyYXkoYXJnKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJnKTtcbiAgfVxuICByZXR1cm4gb2JqZWN0VG9TdHJpbmcoYXJnKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cbmV4cG9ydHMuaXNBcnJheSA9IGlzQXJyYXk7XG5cbmZ1bmN0aW9uIGlzQm9vbGVhbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdib29sZWFuJztcbn1cbmV4cG9ydHMuaXNCb29sZWFuID0gaXNCb29sZWFuO1xuXG5mdW5jdGlvbiBpc051bGwoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IG51bGw7XG59XG5leHBvcnRzLmlzTnVsbCA9IGlzTnVsbDtcblxuZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQoYXJnKSB7XG4gIHJldHVybiBhcmcgPT0gbnVsbDtcbn1cbmV4cG9ydHMuaXNOdWxsT3JVbmRlZmluZWQgPSBpc051bGxPclVuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNOdW1iZXIoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnbnVtYmVyJztcbn1cbmV4cG9ydHMuaXNOdW1iZXIgPSBpc051bWJlcjtcblxuZnVuY3Rpb24gaXNTdHJpbmcoYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJztcbn1cbmV4cG9ydHMuaXNTdHJpbmcgPSBpc1N0cmluZztcblxuZnVuY3Rpb24gaXNTeW1ib2woYXJnKSB7XG4gIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3ltYm9sJztcbn1cbmV4cG9ydHMuaXNTeW1ib2wgPSBpc1N5bWJvbDtcblxuZnVuY3Rpb24gaXNVbmRlZmluZWQoYXJnKSB7XG4gIHJldHVybiBhcmcgPT09IHZvaWQgMDtcbn1cbmV4cG9ydHMuaXNVbmRlZmluZWQgPSBpc1VuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNSZWdFeHAocmUpIHtcbiAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKHJlKSA9PT0gJ1tvYmplY3QgUmVnRXhwXSc7XG59XG5leHBvcnRzLmlzUmVnRXhwID0gaXNSZWdFeHA7XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KGFyZykge1xuICByZXR1cm4gdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgYXJnICE9PSBudWxsO1xufVxuZXhwb3J0cy5pc09iamVjdCA9IGlzT2JqZWN0O1xuXG5mdW5jdGlvbiBpc0RhdGUoZCkge1xuICByZXR1cm4gb2JqZWN0VG9TdHJpbmcoZCkgPT09ICdbb2JqZWN0IERhdGVdJztcbn1cbmV4cG9ydHMuaXNEYXRlID0gaXNEYXRlO1xuXG5mdW5jdGlvbiBpc0Vycm9yKGUpIHtcbiAgcmV0dXJuIChvYmplY3RUb1N0cmluZyhlKSA9PT0gJ1tvYmplY3QgRXJyb3JdJyB8fCBlIGluc3RhbmNlb2YgRXJyb3IpO1xufVxuZXhwb3J0cy5pc0Vycm9yID0gaXNFcnJvcjtcblxuZnVuY3Rpb24gaXNGdW5jdGlvbihhcmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbic7XG59XG5leHBvcnRzLmlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuXG5mdW5jdGlvbiBpc1ByaW1pdGl2ZShhcmcpIHtcbiAgcmV0dXJuIGFyZyA9PT0gbnVsbCB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ2Jvb2xlYW4nIHx8XG4gICAgICAgICB0eXBlb2YgYXJnID09PSAnbnVtYmVyJyB8fFxuICAgICAgICAgdHlwZW9mIGFyZyA9PT0gJ3N0cmluZycgfHxcbiAgICAgICAgIHR5cGVvZiBhcmcgPT09ICdzeW1ib2wnIHx8ICAvLyBFUzYgc3ltYm9sXG4gICAgICAgICB0eXBlb2YgYXJnID09PSAndW5kZWZpbmVkJztcbn1cbmV4cG9ydHMuaXNQcmltaXRpdmUgPSBpc1ByaW1pdGl2ZTtcblxuZXhwb3J0cy5pc0J1ZmZlciA9IEJ1ZmZlci5pc0J1ZmZlcjtcblxuZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcobykge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pO1xufVxuIiwidmFyIGVsbGlwdGljID0gcmVxdWlyZSgnZWxsaXB0aWMnKVxudmFyIEJOID0gcmVxdWlyZSgnYm4uanMnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNyZWF0ZUVDREggKGN1cnZlKSB7XG4gIHJldHVybiBuZXcgRUNESChjdXJ2ZSlcbn1cblxudmFyIGFsaWFzZXMgPSB7XG4gIHNlY3AyNTZrMToge1xuICAgIG5hbWU6ICdzZWNwMjU2azEnLFxuICAgIGJ5dGVMZW5ndGg6IDMyXG4gIH0sXG4gIHNlY3AyMjRyMToge1xuICAgIG5hbWU6ICdwMjI0JyxcbiAgICBieXRlTGVuZ3RoOiAyOFxuICB9LFxuICBwcmltZTI1NnYxOiB7XG4gICAgbmFtZTogJ3AyNTYnLFxuICAgIGJ5dGVMZW5ndGg6IDMyXG4gIH0sXG4gIHByaW1lMTkydjE6IHtcbiAgICBuYW1lOiAncDE5MicsXG4gICAgYnl0ZUxlbmd0aDogMjRcbiAgfSxcbiAgZWQyNTUxOToge1xuICAgIG5hbWU6ICdlZDI1NTE5JyxcbiAgICBieXRlTGVuZ3RoOiAzMlxuICB9LFxuICBzZWNwMzg0cjE6IHtcbiAgICBuYW1lOiAncDM4NCcsXG4gICAgYnl0ZUxlbmd0aDogNDhcbiAgfSxcbiAgc2VjcDUyMXIxOiB7XG4gICAgbmFtZTogJ3A1MjEnLFxuICAgIGJ5dGVMZW5ndGg6IDY2XG4gIH1cbn1cblxuYWxpYXNlcy5wMjI0ID0gYWxpYXNlcy5zZWNwMjI0cjFcbmFsaWFzZXMucDI1NiA9IGFsaWFzZXMuc2VjcDI1NnIxID0gYWxpYXNlcy5wcmltZTI1NnYxXG5hbGlhc2VzLnAxOTIgPSBhbGlhc2VzLnNlY3AxOTJyMSA9IGFsaWFzZXMucHJpbWUxOTJ2MVxuYWxpYXNlcy5wMzg0ID0gYWxpYXNlcy5zZWNwMzg0cjFcbmFsaWFzZXMucDUyMSA9IGFsaWFzZXMuc2VjcDUyMXIxXG5cbmZ1bmN0aW9uIEVDREggKGN1cnZlKSB7XG4gIHRoaXMuY3VydmVUeXBlID0gYWxpYXNlc1tjdXJ2ZV1cbiAgaWYgKCF0aGlzLmN1cnZlVHlwZSkge1xuICAgIHRoaXMuY3VydmVUeXBlID0ge1xuICAgICAgbmFtZTogY3VydmVcbiAgICB9XG4gIH1cbiAgdGhpcy5jdXJ2ZSA9IG5ldyBlbGxpcHRpYy5lYyh0aGlzLmN1cnZlVHlwZS5uYW1lKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbiAgdGhpcy5rZXlzID0gdm9pZCAwXG59XG5cbkVDREgucHJvdG90eXBlLmdlbmVyYXRlS2V5cyA9IGZ1bmN0aW9uIChlbmMsIGZvcm1hdCkge1xuICB0aGlzLmtleXMgPSB0aGlzLmN1cnZlLmdlbktleVBhaXIoKVxuICByZXR1cm4gdGhpcy5nZXRQdWJsaWNLZXkoZW5jLCBmb3JtYXQpXG59XG5cbkVDREgucHJvdG90eXBlLmNvbXB1dGVTZWNyZXQgPSBmdW5jdGlvbiAob3RoZXIsIGluZW5jLCBlbmMpIHtcbiAgaW5lbmMgPSBpbmVuYyB8fCAndXRmOCdcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIob3RoZXIpKSB7XG4gICAgb3RoZXIgPSBuZXcgQnVmZmVyKG90aGVyLCBpbmVuYylcbiAgfVxuICB2YXIgb3RoZXJQdWIgPSB0aGlzLmN1cnZlLmtleUZyb21QdWJsaWMob3RoZXIpLmdldFB1YmxpYygpXG4gIHZhciBvdXQgPSBvdGhlclB1Yi5tdWwodGhpcy5rZXlzLmdldFByaXZhdGUoKSkuZ2V0WCgpXG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZShvdXQsIGVuYywgdGhpcy5jdXJ2ZVR5cGUuYnl0ZUxlbmd0aClcbn1cblxuRUNESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5ID0gZnVuY3Rpb24gKGVuYywgZm9ybWF0KSB7XG4gIHZhciBrZXkgPSB0aGlzLmtleXMuZ2V0UHVibGljKGZvcm1hdCA9PT0gJ2NvbXByZXNzZWQnLCB0cnVlKVxuICBpZiAoZm9ybWF0ID09PSAnaHlicmlkJykge1xuICAgIGlmIChrZXlba2V5Lmxlbmd0aCAtIDFdICUgMikge1xuICAgICAga2V5WzBdID0gN1xuICAgIH0gZWxzZSB7XG4gICAgICBrZXlbMF0gPSA2XG4gICAgfVxuICB9XG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZShrZXksIGVuYylcbn1cblxuRUNESC5wcm90b3R5cGUuZ2V0UHJpdmF0ZUtleSA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMua2V5cy5nZXRQcml2YXRlKCksIGVuYylcbn1cblxuRUNESC5wcm90b3R5cGUuc2V0UHVibGljS2V5ID0gZnVuY3Rpb24gKHB1YiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCdcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHViKSkge1xuICAgIHB1YiA9IG5ldyBCdWZmZXIocHViLCBlbmMpXG4gIH1cbiAgdGhpcy5rZXlzLl9pbXBvcnRQdWJsaWMocHViKVxuICByZXR1cm4gdGhpc1xufVxuXG5FQ0RILnByb3RvdHlwZS5zZXRQcml2YXRlS2V5ID0gZnVuY3Rpb24gKHByaXYsIGVuYykge1xuICBlbmMgPSBlbmMgfHwgJ3V0ZjgnXG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHByaXYpKSB7XG4gICAgcHJpdiA9IG5ldyBCdWZmZXIocHJpdiwgZW5jKVxuICB9XG5cbiAgdmFyIF9wcml2ID0gbmV3IEJOKHByaXYpXG4gIF9wcml2ID0gX3ByaXYudG9TdHJpbmcoMTYpXG4gIHRoaXMua2V5cyA9IHRoaXMuY3VydmUuZ2VuS2V5UGFpcigpXG4gIHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShfcHJpdilcbiAgcmV0dXJuIHRoaXNcbn1cblxuZnVuY3Rpb24gZm9ybWF0UmV0dXJuVmFsdWUgKGJuLCBlbmMsIGxlbikge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoYm4pKSB7XG4gICAgYm4gPSBibi50b0FycmF5KClcbiAgfVxuICB2YXIgYnVmID0gbmV3IEJ1ZmZlcihibilcbiAgaWYgKGxlbiAmJiBidWYubGVuZ3RoIDwgbGVuKSB7XG4gICAgdmFyIHplcm9zID0gbmV3IEJ1ZmZlcihsZW4gLSBidWYubGVuZ3RoKVxuICAgIHplcm9zLmZpbGwoMClcbiAgICBidWYgPSBCdWZmZXIuY29uY2F0KFt6ZXJvcywgYnVmXSlcbiAgfVxuICBpZiAoIWVuYykge1xuICAgIHJldHVybiBidWZcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYnVmLnRvU3RyaW5nKGVuYylcbiAgfVxufVxuIiwiJ3VzZSBzdHJpY3QnXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgTUQ1ID0gcmVxdWlyZSgnbWQ1LmpzJylcbnZhciBSSVBFTUQxNjAgPSByZXF1aXJlKCdyaXBlbWQxNjAnKVxudmFyIHNoYSA9IHJlcXVpcmUoJ3NoYS5qcycpXG52YXIgQmFzZSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcblxuZnVuY3Rpb24gSGFzaCAoaGFzaCkge1xuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXG5cbiAgdGhpcy5faGFzaCA9IGhhc2hcbn1cblxuaW5oZXJpdHMoSGFzaCwgQmFzZSlcblxuSGFzaC5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXG59XG5cbkhhc2gucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuX2hhc2guZGlnZXN0KClcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVIYXNoIChhbGcpIHtcbiAgYWxnID0gYWxnLnRvTG93ZXJDYXNlKClcbiAgaWYgKGFsZyA9PT0gJ21kNScpIHJldHVybiBuZXcgTUQ1KClcbiAgaWYgKGFsZyA9PT0gJ3JtZDE2MCcgfHwgYWxnID09PSAncmlwZW1kMTYwJykgcmV0dXJuIG5ldyBSSVBFTUQxNjAoKVxuXG4gIHJldHVybiBuZXcgSGFzaChzaGEoYWxnKSlcbn1cbiIsInZhciBNRDUgPSByZXF1aXJlKCdtZDUuanMnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChidWZmZXIpIHtcbiAgcmV0dXJuIG5ldyBNRDUoKS51cGRhdGUoYnVmZmVyKS5kaWdlc3QoKVxufVxuIiwiJ3VzZSBzdHJpY3QnXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgTGVnYWN5ID0gcmVxdWlyZSgnLi9sZWdhY3knKVxudmFyIEJhc2UgPSByZXF1aXJlKCdjaXBoZXItYmFzZScpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBtZDUgPSByZXF1aXJlKCdjcmVhdGUtaGFzaC9tZDUnKVxudmFyIFJJUEVNRDE2MCA9IHJlcXVpcmUoJ3JpcGVtZDE2MCcpXG5cbnZhciBzaGEgPSByZXF1aXJlKCdzaGEuanMnKVxuXG52YXIgWkVST1MgPSBCdWZmZXIuYWxsb2MoMTI4KVxuXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSkge1xuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXG4gIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgIGtleSA9IEJ1ZmZlci5mcm9tKGtleSlcbiAgfVxuXG4gIHZhciBibG9ja3NpemUgPSAoYWxnID09PSAnc2hhNTEyJyB8fCBhbGcgPT09ICdzaGEzODQnKSA/IDEyOCA6IDY0XG5cbiAgdGhpcy5fYWxnID0gYWxnXG4gIHRoaXMuX2tleSA9IGtleVxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xuICAgIHZhciBoYXNoID0gYWxnID09PSAncm1kMTYwJyA/IG5ldyBSSVBFTUQxNjAoKSA6IHNoYShhbGcpXG4gICAga2V5ID0gaGFzaC51cGRhdGUoa2V5KS5kaWdlc3QoKVxuICB9IGVsc2UgaWYgKGtleS5sZW5ndGggPCBibG9ja3NpemUpIHtcbiAgICBrZXkgPSBCdWZmZXIuY29uY2F0KFtrZXksIFpFUk9TXSwgYmxvY2tzaXplKVxuICB9XG5cbiAgdmFyIGlwYWQgPSB0aGlzLl9pcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSlcbiAgdmFyIG9wYWQgPSB0aGlzLl9vcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSlcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGJsb2Nrc2l6ZTsgaSsrKSB7XG4gICAgaXBhZFtpXSA9IGtleVtpXSBeIDB4MzZcbiAgICBvcGFkW2ldID0ga2V5W2ldIF4gMHg1Q1xuICB9XG4gIHRoaXMuX2hhc2ggPSBhbGcgPT09ICdybWQxNjAnID8gbmV3IFJJUEVNRDE2MCgpIDogc2hhKGFsZylcbiAgdGhpcy5faGFzaC51cGRhdGUoaXBhZClcbn1cblxuaW5oZXJpdHMoSG1hYywgQmFzZSlcblxuSG1hYy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gIHRoaXMuX2hhc2gudXBkYXRlKGRhdGEpXG59XG5cbkhtYWMucHJvdG90eXBlLl9maW5hbCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGggPSB0aGlzLl9oYXNoLmRpZ2VzdCgpXG4gIHZhciBoYXNoID0gdGhpcy5fYWxnID09PSAncm1kMTYwJyA/IG5ldyBSSVBFTUQxNjAoKSA6IHNoYSh0aGlzLl9hbGcpXG4gIHJldHVybiBoYXNoLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoaCkuZGlnZXN0KClcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVIbWFjIChhbGcsIGtleSkge1xuICBhbGcgPSBhbGcudG9Mb3dlckNhc2UoKVxuICBpZiAoYWxnID09PSAncm1kMTYwJyB8fCBhbGcgPT09ICdyaXBlbWQxNjAnKSB7XG4gICAgcmV0dXJuIG5ldyBIbWFjKCdybWQxNjAnLCBrZXkpXG4gIH1cbiAgaWYgKGFsZyA9PT0gJ21kNScpIHtcbiAgICByZXR1cm4gbmV3IExlZ2FjeShtZDUsIGtleSlcbiAgfVxuICByZXR1cm4gbmV3IEhtYWMoYWxnLCBrZXkpXG59XG4iLCIndXNlIHN0cmljdCdcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgQmFzZSA9IHJlcXVpcmUoJ2NpcGhlci1iYXNlJylcblxudmFyIFpFUk9TID0gQnVmZmVyLmFsbG9jKDEyOClcbnZhciBibG9ja3NpemUgPSA2NFxuXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSkge1xuICBCYXNlLmNhbGwodGhpcywgJ2RpZ2VzdCcpXG4gIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgIGtleSA9IEJ1ZmZlci5mcm9tKGtleSlcbiAgfVxuXG4gIHRoaXMuX2FsZyA9IGFsZ1xuICB0aGlzLl9rZXkgPSBrZXlcblxuICBpZiAoa2V5Lmxlbmd0aCA+IGJsb2Nrc2l6ZSkge1xuICAgIGtleSA9IGFsZyhrZXkpXG4gIH0gZWxzZSBpZiAoa2V5Lmxlbmd0aCA8IGJsb2Nrc2l6ZSkge1xuICAgIGtleSA9IEJ1ZmZlci5jb25jYXQoW2tleSwgWkVST1NdLCBibG9ja3NpemUpXG4gIH1cblxuICB2YXIgaXBhZCA9IHRoaXMuX2lwYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxuICB2YXIgb3BhZCA9IHRoaXMuX29wYWQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplKVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tzaXplOyBpKyspIHtcbiAgICBpcGFkW2ldID0ga2V5W2ldIF4gMHgzNlxuICAgIG9wYWRbaV0gPSBrZXlbaV0gXiAweDVDXG4gIH1cblxuICB0aGlzLl9oYXNoID0gW2lwYWRdXG59XG5cbmluaGVyaXRzKEhtYWMsIEJhc2UpXG5cbkhtYWMucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSkge1xuICB0aGlzLl9oYXNoLnB1c2goZGF0YSlcbn1cblxuSG1hYy5wcm90b3R5cGUuX2ZpbmFsID0gZnVuY3Rpb24gKCkge1xuICB2YXIgaCA9IHRoaXMuX2FsZyhCdWZmZXIuY29uY2F0KHRoaXMuX2hhc2gpKVxuICByZXR1cm4gdGhpcy5fYWxnKEJ1ZmZlci5jb25jYXQoW3RoaXMuX29wYWQsIGhdKSlcbn1cbm1vZHVsZS5leHBvcnRzID0gSG1hY1xuIiwiJ3VzZSBzdHJpY3QnXG5cbmV4cG9ydHMucmFuZG9tQnl0ZXMgPSBleHBvcnRzLnJuZyA9IGV4cG9ydHMucHNldWRvUmFuZG9tQnl0ZXMgPSBleHBvcnRzLnBybmcgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpXG5leHBvcnRzLmNyZWF0ZUhhc2ggPSBleHBvcnRzLkhhc2ggPSByZXF1aXJlKCdjcmVhdGUtaGFzaCcpXG5leHBvcnRzLmNyZWF0ZUhtYWMgPSBleHBvcnRzLkhtYWMgPSByZXF1aXJlKCdjcmVhdGUtaG1hYycpXG5cbnZhciBhbGdvcyA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktc2lnbi9hbGdvcycpXG52YXIgYWxnb0tleXMgPSBPYmplY3Qua2V5cyhhbGdvcylcbnZhciBoYXNoZXMgPSBbJ3NoYTEnLCAnc2hhMjI0JywgJ3NoYTI1NicsICdzaGEzODQnLCAnc2hhNTEyJywgJ21kNScsICdybWQxNjAnXS5jb25jYXQoYWxnb0tleXMpXG5leHBvcnRzLmdldEhhc2hlcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIGhhc2hlc1xufVxuXG52YXIgcCA9IHJlcXVpcmUoJ3Bia2RmMicpXG5leHBvcnRzLnBia2RmMiA9IHAucGJrZGYyXG5leHBvcnRzLnBia2RmMlN5bmMgPSBwLnBia2RmMlN5bmNcblxudmFyIGFlcyA9IHJlcXVpcmUoJ2Jyb3dzZXJpZnktY2lwaGVyJylcblxuZXhwb3J0cy5DaXBoZXIgPSBhZXMuQ2lwaGVyXG5leHBvcnRzLmNyZWF0ZUNpcGhlciA9IGFlcy5jcmVhdGVDaXBoZXJcbmV4cG9ydHMuQ2lwaGVyaXYgPSBhZXMuQ2lwaGVyaXZcbmV4cG9ydHMuY3JlYXRlQ2lwaGVyaXYgPSBhZXMuY3JlYXRlQ2lwaGVyaXZcbmV4cG9ydHMuRGVjaXBoZXIgPSBhZXMuRGVjaXBoZXJcbmV4cG9ydHMuY3JlYXRlRGVjaXBoZXIgPSBhZXMuY3JlYXRlRGVjaXBoZXJcbmV4cG9ydHMuRGVjaXBoZXJpdiA9IGFlcy5EZWNpcGhlcml2XG5leHBvcnRzLmNyZWF0ZURlY2lwaGVyaXYgPSBhZXMuY3JlYXRlRGVjaXBoZXJpdlxuZXhwb3J0cy5nZXRDaXBoZXJzID0gYWVzLmdldENpcGhlcnNcbmV4cG9ydHMubGlzdENpcGhlcnMgPSBhZXMubGlzdENpcGhlcnNcblxudmFyIGRoID0gcmVxdWlyZSgnZGlmZmllLWhlbGxtYW4nKVxuXG5leHBvcnRzLkRpZmZpZUhlbGxtYW5Hcm91cCA9IGRoLkRpZmZpZUhlbGxtYW5Hcm91cFxuZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXAgPSBkaC5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXBcbmV4cG9ydHMuZ2V0RGlmZmllSGVsbG1hbiA9IGRoLmdldERpZmZpZUhlbGxtYW5cbmV4cG9ydHMuY3JlYXRlRGlmZmllSGVsbG1hbiA9IGRoLmNyZWF0ZURpZmZpZUhlbGxtYW5cbmV4cG9ydHMuRGlmZmllSGVsbG1hbiA9IGRoLkRpZmZpZUhlbGxtYW5cblxudmFyIHNpZ24gPSByZXF1aXJlKCdicm93c2VyaWZ5LXNpZ24nKVxuXG5leHBvcnRzLmNyZWF0ZVNpZ24gPSBzaWduLmNyZWF0ZVNpZ25cbmV4cG9ydHMuU2lnbiA9IHNpZ24uU2lnblxuZXhwb3J0cy5jcmVhdGVWZXJpZnkgPSBzaWduLmNyZWF0ZVZlcmlmeVxuZXhwb3J0cy5WZXJpZnkgPSBzaWduLlZlcmlmeVxuXG5leHBvcnRzLmNyZWF0ZUVDREggPSByZXF1aXJlKCdjcmVhdGUtZWNkaCcpXG5cbnZhciBwdWJsaWNFbmNyeXB0ID0gcmVxdWlyZSgncHVibGljLWVuY3J5cHQnKVxuXG5leHBvcnRzLnB1YmxpY0VuY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnB1YmxpY0VuY3J5cHRcbmV4cG9ydHMucHJpdmF0ZUVuY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnByaXZhdGVFbmNyeXB0XG5leHBvcnRzLnB1YmxpY0RlY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnB1YmxpY0RlY3J5cHRcbmV4cG9ydHMucHJpdmF0ZURlY3J5cHQgPSBwdWJsaWNFbmNyeXB0LnByaXZhdGVEZWNyeXB0XG5cbi8vIHRoZSBsZWFzdCBJIGNhbiBkbyBpcyBtYWtlIGVycm9yIG1lc3NhZ2VzIGZvciB0aGUgcmVzdCBvZiB0aGUgbm9kZS5qcy9jcnlwdG8gYXBpLlxuLy8gO1tcbi8vICAgJ2NyZWF0ZUNyZWRlbnRpYWxzJ1xuLy8gXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4vLyAgIGV4cG9ydHNbbmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4vLyAgICAgdGhyb3cgbmV3IEVycm9yKFtcbi8vICAgICAgICdzb3JyeSwgJyArIG5hbWUgKyAnIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQnLFxuLy8gICAgICAgJ3dlIGFjY2VwdCBwdWxsIHJlcXVlc3RzJyxcbi8vICAgICAgICdodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvLWJyb3dzZXJpZnkvY3J5cHRvLWJyb3dzZXJpZnknXG4vLyAgICAgXS5qb2luKCdcXG4nKSlcbi8vICAgfVxuLy8gfSlcblxudmFyIHJmID0gcmVxdWlyZSgncmFuZG9tZmlsbCcpXG5cbmV4cG9ydHMucmFuZG9tRmlsbCA9IHJmLnJhbmRvbUZpbGxcbmV4cG9ydHMucmFuZG9tRmlsbFN5bmMgPSByZi5yYW5kb21GaWxsU3luY1xuXG5leHBvcnRzLmNyZWF0ZUNyZWRlbnRpYWxzID0gZnVuY3Rpb24gKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoW1xuICAgICdzb3JyeSwgY3JlYXRlQ3JlZGVudGlhbHMgaXMgbm90IGltcGxlbWVudGVkIHlldCcsXG4gICAgJ3dlIGFjY2VwdCBwdWxsIHJlcXVlc3RzJyxcbiAgICAnaHR0cHM6Ly9naXRodWIuY29tL2NyeXB0by1icm93c2VyaWZ5L2NyeXB0by1icm93c2VyaWZ5J1xuICBdLmpvaW4oJ1xcbicpKVxufVxuXG5leHBvcnRzLmNvbnN0YW50cyA9IHtcbiAgJ0RIX0NIRUNLX1BfTk9UX1NBRkVfUFJJTUUnOiAyLFxuICAnREhfQ0hFQ0tfUF9OT1RfUFJJTUUnOiAxLFxuICAnREhfVU5BQkxFX1RPX0NIRUNLX0dFTkVSQVRPUic6IDQsXG4gICdESF9OT1RfU1VJVEFCTEVfR0VORVJBVE9SJzogOCxcbiAgJ05QTl9FTkFCTEVEJzogMSxcbiAgJ0FMUE5fRU5BQkxFRCc6IDEsXG4gICdSU0FfUEtDUzFfUEFERElORyc6IDEsXG4gICdSU0FfU1NMVjIzX1BBRERJTkcnOiAyLFxuICAnUlNBX05PX1BBRERJTkcnOiAzLFxuICAnUlNBX1BLQ1MxX09BRVBfUEFERElORyc6IDQsXG4gICdSU0FfWDkzMV9QQURESU5HJzogNSxcbiAgJ1JTQV9QS0NTMV9QU1NfUEFERElORyc6IDYsXG4gICdQT0lOVF9DT05WRVJTSU9OX0NPTVBSRVNTRUQnOiAyLFxuICAnUE9JTlRfQ09OVkVSU0lPTl9VTkNPTVBSRVNTRUQnOiA0LFxuICAnUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQnOiA2XG59XG4iLCIndXNlIHN0cmljdCc7XG5cbmV4cG9ydHMudXRpbHMgPSByZXF1aXJlKCcuL2Rlcy91dGlscycpO1xuZXhwb3J0cy5DaXBoZXIgPSByZXF1aXJlKCcuL2Rlcy9jaXBoZXInKTtcbmV4cG9ydHMuREVTID0gcmVxdWlyZSgnLi9kZXMvZGVzJyk7XG5leHBvcnRzLkNCQyA9IHJlcXVpcmUoJy4vZGVzL2NiYycpO1xuZXhwb3J0cy5FREUgPSByZXF1aXJlKCcuL2Rlcy9lZGUnKTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbnZhciBwcm90byA9IHt9O1xuXG5mdW5jdGlvbiBDQkNTdGF0ZShpdikge1xuICBhc3NlcnQuZXF1YWwoaXYubGVuZ3RoLCA4LCAnSW52YWxpZCBJViBsZW5ndGgnKTtcblxuICB0aGlzLml2ID0gbmV3IEFycmF5KDgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuaXYubGVuZ3RoOyBpKyspXG4gICAgdGhpcy5pdltpXSA9IGl2W2ldO1xufVxuXG5mdW5jdGlvbiBpbnN0YW50aWF0ZShCYXNlKSB7XG4gIGZ1bmN0aW9uIENCQyhvcHRpb25zKSB7XG4gICAgQmFzZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuICAgIHRoaXMuX2NiY0luaXQoKTtcbiAgfVxuICBpbmhlcml0cyhDQkMsIEJhc2UpO1xuXG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMocHJvdG8pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICBDQkMucHJvdG90eXBlW2tleV0gPSBwcm90b1trZXldO1xuICB9XG5cbiAgQ0JDLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBDQkMob3B0aW9ucyk7XG4gIH07XG5cbiAgcmV0dXJuIENCQztcbn1cblxuZXhwb3J0cy5pbnN0YW50aWF0ZSA9IGluc3RhbnRpYXRlO1xuXG5wcm90by5fY2JjSW5pdCA9IGZ1bmN0aW9uIF9jYmNJbml0KCkge1xuICB2YXIgc3RhdGUgPSBuZXcgQ0JDU3RhdGUodGhpcy5vcHRpb25zLml2KTtcbiAgdGhpcy5fY2JjU3RhdGUgPSBzdGF0ZTtcbn07XG5cbnByb3RvLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX2NiY1N0YXRlO1xuICB2YXIgc3VwZXJQcm90byA9IHRoaXMuY29uc3RydWN0b3Iuc3VwZXJfLnByb3RvdHlwZTtcblxuICB2YXIgaXYgPSBzdGF0ZS5pdjtcbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2VuY3J5cHQnKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgaXZbaV0gXj0gaW5wW2luT2ZmICsgaV07XG5cbiAgICBzdXBlclByb3RvLl91cGRhdGUuY2FsbCh0aGlzLCBpdiwgMCwgb3V0LCBvdXRPZmYpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgaXZbaV0gPSBvdXRbb3V0T2ZmICsgaV07XG4gIH0gZWxzZSB7XG4gICAgc3VwZXJQcm90by5fdXBkYXRlLmNhbGwodGhpcywgaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgb3V0W291dE9mZiArIGldIF49IGl2W2ldO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJsb2NrU2l6ZTsgaSsrKVxuICAgICAgaXZbaV0gPSBpbnBbaW5PZmYgKyBpXTtcbiAgfVxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcblxuZnVuY3Rpb24gQ2lwaGVyKG9wdGlvbnMpIHtcbiAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICB0aGlzLnR5cGUgPSB0aGlzLm9wdGlvbnMudHlwZTtcbiAgdGhpcy5ibG9ja1NpemUgPSA4O1xuICB0aGlzLl9pbml0KCk7XG5cbiAgdGhpcy5idWZmZXIgPSBuZXcgQXJyYXkodGhpcy5ibG9ja1NpemUpO1xuICB0aGlzLmJ1ZmZlck9mZiA9IDA7XG59XG5tb2R1bGUuZXhwb3J0cyA9IENpcGhlcjtcblxuQ2lwaGVyLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uIF9pbml0KCkge1xuICAvLyBNaWdodCBiZSBvdmVycmlkZWRcbn07XG5cbkNpcGhlci5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKGRhdGEpIHtcbiAgaWYgKGRhdGEubGVuZ3RoID09PSAwKVxuICAgIHJldHVybiBbXTtcblxuICBpZiAodGhpcy50eXBlID09PSAnZGVjcnlwdCcpXG4gICAgcmV0dXJuIHRoaXMuX3VwZGF0ZURlY3J5cHQoZGF0YSk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5fdXBkYXRlRW5jcnlwdChkYXRhKTtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX2J1ZmZlciA9IGZ1bmN0aW9uIF9idWZmZXIoZGF0YSwgb2ZmKSB7XG4gIC8vIEFwcGVuZCBkYXRhIHRvIGJ1ZmZlclxuICB2YXIgbWluID0gTWF0aC5taW4odGhpcy5idWZmZXIubGVuZ3RoIC0gdGhpcy5idWZmZXJPZmYsIGRhdGEubGVuZ3RoIC0gb2ZmKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtaW47IGkrKylcbiAgICB0aGlzLmJ1ZmZlclt0aGlzLmJ1ZmZlck9mZiArIGldID0gZGF0YVtvZmYgKyBpXTtcbiAgdGhpcy5idWZmZXJPZmYgKz0gbWluO1xuXG4gIC8vIFNoaWZ0IG5leHRcbiAgcmV0dXJuIG1pbjtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX2ZsdXNoQnVmZmVyID0gZnVuY3Rpb24gX2ZsdXNoQnVmZmVyKG91dCwgb2ZmKSB7XG4gIHRoaXMuX3VwZGF0ZSh0aGlzLmJ1ZmZlciwgMCwgb3V0LCBvZmYpO1xuICB0aGlzLmJ1ZmZlck9mZiA9IDA7XG4gIHJldHVybiB0aGlzLmJsb2NrU2l6ZTtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZUVuY3J5cHQgPSBmdW5jdGlvbiBfdXBkYXRlRW5jcnlwdChkYXRhKSB7XG4gIHZhciBpbnB1dE9mZiA9IDA7XG4gIHZhciBvdXRwdXRPZmYgPSAwO1xuXG4gIHZhciBjb3VudCA9ICgodGhpcy5idWZmZXJPZmYgKyBkYXRhLmxlbmd0aCkgLyB0aGlzLmJsb2NrU2l6ZSkgfCAwO1xuICB2YXIgb3V0ID0gbmV3IEFycmF5KGNvdW50ICogdGhpcy5ibG9ja1NpemUpO1xuXG4gIGlmICh0aGlzLmJ1ZmZlck9mZiAhPT0gMCkge1xuICAgIGlucHV0T2ZmICs9IHRoaXMuX2J1ZmZlcihkYXRhLCBpbnB1dE9mZik7XG5cbiAgICBpZiAodGhpcy5idWZmZXJPZmYgPT09IHRoaXMuYnVmZmVyLmxlbmd0aClcbiAgICAgIG91dHB1dE9mZiArPSB0aGlzLl9mbHVzaEJ1ZmZlcihvdXQsIG91dHB1dE9mZik7XG4gIH1cblxuICAvLyBXcml0ZSBibG9ja3NcbiAgdmFyIG1heCA9IGRhdGEubGVuZ3RoIC0gKChkYXRhLmxlbmd0aCAtIGlucHV0T2ZmKSAlIHRoaXMuYmxvY2tTaXplKTtcbiAgZm9yICg7IGlucHV0T2ZmIDwgbWF4OyBpbnB1dE9mZiArPSB0aGlzLmJsb2NrU2l6ZSkge1xuICAgIHRoaXMuX3VwZGF0ZShkYXRhLCBpbnB1dE9mZiwgb3V0LCBvdXRwdXRPZmYpO1xuICAgIG91dHB1dE9mZiArPSB0aGlzLmJsb2NrU2l6ZTtcbiAgfVxuXG4gIC8vIFF1ZXVlIHJlc3RcbiAgZm9yICg7IGlucHV0T2ZmIDwgZGF0YS5sZW5ndGg7IGlucHV0T2ZmKyssIHRoaXMuYnVmZmVyT2ZmKyspXG4gICAgdGhpcy5idWZmZXJbdGhpcy5idWZmZXJPZmZdID0gZGF0YVtpbnB1dE9mZl07XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX3VwZGF0ZURlY3J5cHQgPSBmdW5jdGlvbiBfdXBkYXRlRGVjcnlwdChkYXRhKSB7XG4gIHZhciBpbnB1dE9mZiA9IDA7XG4gIHZhciBvdXRwdXRPZmYgPSAwO1xuXG4gIHZhciBjb3VudCA9IE1hdGguY2VpbCgodGhpcy5idWZmZXJPZmYgKyBkYXRhLmxlbmd0aCkgLyB0aGlzLmJsb2NrU2l6ZSkgLSAxO1xuICB2YXIgb3V0ID0gbmV3IEFycmF5KGNvdW50ICogdGhpcy5ibG9ja1NpemUpO1xuXG4gIC8vIFRPRE8oaW5kdXRueSk6IG9wdGltaXplIGl0LCB0aGlzIGlzIGZhciBmcm9tIG9wdGltYWxcbiAgZm9yICg7IGNvdW50ID4gMDsgY291bnQtLSkge1xuICAgIGlucHV0T2ZmICs9IHRoaXMuX2J1ZmZlcihkYXRhLCBpbnB1dE9mZik7XG4gICAgb3V0cHV0T2ZmICs9IHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgb3V0cHV0T2ZmKTtcbiAgfVxuXG4gIC8vIEJ1ZmZlciByZXN0IG9mIHRoZSBpbnB1dFxuICBpbnB1dE9mZiArPSB0aGlzLl9idWZmZXIoZGF0YSwgaW5wdXRPZmYpO1xuXG4gIHJldHVybiBvdXQ7XG59O1xuXG5DaXBoZXIucHJvdG90eXBlLmZpbmFsID0gZnVuY3Rpb24gZmluYWwoYnVmZmVyKSB7XG4gIHZhciBmaXJzdDtcbiAgaWYgKGJ1ZmZlcilcbiAgICBmaXJzdCA9IHRoaXMudXBkYXRlKGJ1ZmZlcik7XG5cbiAgdmFyIGxhc3Q7XG4gIGlmICh0aGlzLnR5cGUgPT09ICdlbmNyeXB0JylcbiAgICBsYXN0ID0gdGhpcy5fZmluYWxFbmNyeXB0KCk7XG4gIGVsc2VcbiAgICBsYXN0ID0gdGhpcy5fZmluYWxEZWNyeXB0KCk7XG5cbiAgaWYgKGZpcnN0KVxuICAgIHJldHVybiBmaXJzdC5jb25jYXQobGFzdCk7XG4gIGVsc2VcbiAgICByZXR1cm4gbGFzdDtcbn07XG5cbkNpcGhlci5wcm90b3R5cGUuX3BhZCA9IGZ1bmN0aW9uIF9wYWQoYnVmZmVyLCBvZmYpIHtcbiAgaWYgKG9mZiA9PT0gMClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgd2hpbGUgKG9mZiA8IGJ1ZmZlci5sZW5ndGgpXG4gICAgYnVmZmVyW29mZisrXSA9IDA7XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuXG5DaXBoZXIucHJvdG90eXBlLl9maW5hbEVuY3J5cHQgPSBmdW5jdGlvbiBfZmluYWxFbmNyeXB0KCkge1xuICBpZiAoIXRoaXMuX3BhZCh0aGlzLmJ1ZmZlciwgdGhpcy5idWZmZXJPZmYpKVxuICAgIHJldHVybiBbXTtcblxuICB2YXIgb3V0ID0gbmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtcbiAgdGhpcy5fdXBkYXRlKHRoaXMuYnVmZmVyLCAwLCBvdXQsIDApO1xuICByZXR1cm4gb3V0O1xufTtcblxuQ2lwaGVyLnByb3RvdHlwZS5fdW5wYWQgPSBmdW5jdGlvbiBfdW5wYWQoYnVmZmVyKSB7XG4gIHJldHVybiBidWZmZXI7XG59O1xuXG5DaXBoZXIucHJvdG90eXBlLl9maW5hbERlY3J5cHQgPSBmdW5jdGlvbiBfZmluYWxEZWNyeXB0KCkge1xuICBhc3NlcnQuZXF1YWwodGhpcy5idWZmZXJPZmYsIHRoaXMuYmxvY2tTaXplLCAnTm90IGVub3VnaCBkYXRhIHRvIGRlY3J5cHQnKTtcbiAgdmFyIG91dCA9IG5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSk7XG4gIHRoaXMuX2ZsdXNoQnVmZmVyKG91dCwgMCk7XG5cbiAgcmV0dXJuIHRoaXMuX3VucGFkKG91dCk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgYXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xudmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKTtcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIENpcGhlciA9IHJlcXVpcmUoJy4vY2lwaGVyJyk7XG5cbmZ1bmN0aW9uIERFU1N0YXRlKCkge1xuICB0aGlzLnRtcCA9IG5ldyBBcnJheSgyKTtcbiAgdGhpcy5rZXlzID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gREVTKG9wdGlvbnMpIHtcbiAgQ2lwaGVyLmNhbGwodGhpcywgb3B0aW9ucyk7XG5cbiAgdmFyIHN0YXRlID0gbmV3IERFU1N0YXRlKCk7XG4gIHRoaXMuX2Rlc1N0YXRlID0gc3RhdGU7XG5cbiAgdGhpcy5kZXJpdmVLZXlzKHN0YXRlLCBvcHRpb25zLmtleSk7XG59XG5pbmhlcml0cyhERVMsIENpcGhlcik7XG5tb2R1bGUuZXhwb3J0cyA9IERFUztcblxuREVTLmNyZWF0ZSA9IGZ1bmN0aW9uIGNyZWF0ZShvcHRpb25zKSB7XG4gIHJldHVybiBuZXcgREVTKG9wdGlvbnMpO1xufTtcblxudmFyIHNoaWZ0VGFibGUgPSBbXG4gIDEsIDEsIDIsIDIsIDIsIDIsIDIsIDIsXG4gIDEsIDIsIDIsIDIsIDIsIDIsIDIsIDFcbl07XG5cbkRFUy5wcm90b3R5cGUuZGVyaXZlS2V5cyA9IGZ1bmN0aW9uIGRlcml2ZUtleXMoc3RhdGUsIGtleSkge1xuICBzdGF0ZS5rZXlzID0gbmV3IEFycmF5KDE2ICogMik7XG5cbiAgYXNzZXJ0LmVxdWFsKGtleS5sZW5ndGgsIHRoaXMuYmxvY2tTaXplLCAnSW52YWxpZCBrZXkgbGVuZ3RoJyk7XG5cbiAgdmFyIGtMID0gdXRpbHMucmVhZFVJbnQzMkJFKGtleSwgMCk7XG4gIHZhciBrUiA9IHV0aWxzLnJlYWRVSW50MzJCRShrZXksIDQpO1xuXG4gIHV0aWxzLnBjMShrTCwga1IsIHN0YXRlLnRtcCwgMCk7XG4gIGtMID0gc3RhdGUudG1wWzBdO1xuICBrUiA9IHN0YXRlLnRtcFsxXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS5rZXlzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIHNoaWZ0ID0gc2hpZnRUYWJsZVtpID4+PiAxXTtcbiAgICBrTCA9IHV0aWxzLnIyOHNobChrTCwgc2hpZnQpO1xuICAgIGtSID0gdXRpbHMucjI4c2hsKGtSLCBzaGlmdCk7XG4gICAgdXRpbHMucGMyKGtMLCBrUiwgc3RhdGUua2V5cywgaSk7XG4gIH1cbn07XG5cbkRFUy5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIF91cGRhdGUoaW5wLCBpbk9mZiwgb3V0LCBvdXRPZmYpIHtcbiAgdmFyIHN0YXRlID0gdGhpcy5fZGVzU3RhdGU7XG5cbiAgdmFyIGwgPSB1dGlscy5yZWFkVUludDMyQkUoaW5wLCBpbk9mZik7XG4gIHZhciByID0gdXRpbHMucmVhZFVJbnQzMkJFKGlucCwgaW5PZmYgKyA0KTtcblxuICAvLyBJbml0aWFsIFBlcm11dGF0aW9uXG4gIHV0aWxzLmlwKGwsIHIsIHN0YXRlLnRtcCwgMCk7XG4gIGwgPSBzdGF0ZS50bXBbMF07XG4gIHIgPSBzdGF0ZS50bXBbMV07XG5cbiAgaWYgKHRoaXMudHlwZSA9PT0gJ2VuY3J5cHQnKVxuICAgIHRoaXMuX2VuY3J5cHQoc3RhdGUsIGwsIHIsIHN0YXRlLnRtcCwgMCk7XG4gIGVsc2VcbiAgICB0aGlzLl9kZWNyeXB0KHN0YXRlLCBsLCByLCBzdGF0ZS50bXAsIDApO1xuXG4gIGwgPSBzdGF0ZS50bXBbMF07XG4gIHIgPSBzdGF0ZS50bXBbMV07XG5cbiAgdXRpbHMud3JpdGVVSW50MzJCRShvdXQsIGwsIG91dE9mZik7XG4gIHV0aWxzLndyaXRlVUludDMyQkUob3V0LCByLCBvdXRPZmYgKyA0KTtcbn07XG5cbkRFUy5wcm90b3R5cGUuX3BhZCA9IGZ1bmN0aW9uIF9wYWQoYnVmZmVyLCBvZmYpIHtcbiAgdmFyIHZhbHVlID0gYnVmZmVyLmxlbmd0aCAtIG9mZjtcbiAgZm9yICh2YXIgaSA9IG9mZjsgaSA8IGJ1ZmZlci5sZW5ndGg7IGkrKylcbiAgICBidWZmZXJbaV0gPSB2YWx1ZTtcblxuICByZXR1cm4gdHJ1ZTtcbn07XG5cbkRFUy5wcm90b3R5cGUuX3VucGFkID0gZnVuY3Rpb24gX3VucGFkKGJ1ZmZlcikge1xuICB2YXIgcGFkID0gYnVmZmVyW2J1ZmZlci5sZW5ndGggLSAxXTtcbiAgZm9yICh2YXIgaSA9IGJ1ZmZlci5sZW5ndGggLSBwYWQ7IGkgPCBidWZmZXIubGVuZ3RoOyBpKyspXG4gICAgYXNzZXJ0LmVxdWFsKGJ1ZmZlcltpXSwgcGFkKTtcblxuICByZXR1cm4gYnVmZmVyLnNsaWNlKDAsIGJ1ZmZlci5sZW5ndGggLSBwYWQpO1xufTtcblxuREVTLnByb3RvdHlwZS5fZW5jcnlwdCA9IGZ1bmN0aW9uIF9lbmNyeXB0KHN0YXRlLCBsU3RhcnQsIHJTdGFydCwgb3V0LCBvZmYpIHtcbiAgdmFyIGwgPSBsU3RhcnQ7XG4gIHZhciByID0gclN0YXJ0O1xuXG4gIC8vIEFwcGx5IGYoKSB4MTYgdGltZXNcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0ZS5rZXlzLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIGtleUwgPSBzdGF0ZS5rZXlzW2ldO1xuICAgIHZhciBrZXlSID0gc3RhdGUua2V5c1tpICsgMV07XG5cbiAgICAvLyBmKHIsIGspXG4gICAgdXRpbHMuZXhwYW5kKHIsIHN0YXRlLnRtcCwgMCk7XG5cbiAgICBrZXlMIF49IHN0YXRlLnRtcFswXTtcbiAgICBrZXlSIF49IHN0YXRlLnRtcFsxXTtcbiAgICB2YXIgcyA9IHV0aWxzLnN1YnN0aXR1dGUoa2V5TCwga2V5Uik7XG4gICAgdmFyIGYgPSB1dGlscy5wZXJtdXRlKHMpO1xuXG4gICAgdmFyIHQgPSByO1xuICAgIHIgPSAobCBeIGYpID4+PiAwO1xuICAgIGwgPSB0O1xuICB9XG5cbiAgLy8gUmV2ZXJzZSBJbml0aWFsIFBlcm11dGF0aW9uXG4gIHV0aWxzLnJpcChyLCBsLCBvdXQsIG9mZik7XG59O1xuXG5ERVMucHJvdG90eXBlLl9kZWNyeXB0ID0gZnVuY3Rpb24gX2RlY3J5cHQoc3RhdGUsIGxTdGFydCwgclN0YXJ0LCBvdXQsIG9mZikge1xuICB2YXIgbCA9IHJTdGFydDtcbiAgdmFyIHIgPSBsU3RhcnQ7XG5cbiAgLy8gQXBwbHkgZigpIHgxNiB0aW1lc1xuICBmb3IgKHZhciBpID0gc3RhdGUua2V5cy5sZW5ndGggLSAyOyBpID49IDA7IGkgLT0gMikge1xuICAgIHZhciBrZXlMID0gc3RhdGUua2V5c1tpXTtcbiAgICB2YXIga2V5UiA9IHN0YXRlLmtleXNbaSArIDFdO1xuXG4gICAgLy8gZihyLCBrKVxuICAgIHV0aWxzLmV4cGFuZChsLCBzdGF0ZS50bXAsIDApO1xuXG4gICAga2V5TCBePSBzdGF0ZS50bXBbMF07XG4gICAga2V5UiBePSBzdGF0ZS50bXBbMV07XG4gICAgdmFyIHMgPSB1dGlscy5zdWJzdGl0dXRlKGtleUwsIGtleVIpO1xuICAgIHZhciBmID0gdXRpbHMucGVybXV0ZShzKTtcblxuICAgIHZhciB0ID0gbDtcbiAgICBsID0gKHIgXiBmKSA+Pj4gMDtcbiAgICByID0gdDtcbiAgfVxuXG4gIC8vIFJldmVyc2UgSW5pdGlhbCBQZXJtdXRhdGlvblxuICB1dGlscy5yaXAobCwgciwgb3V0LCBvZmYpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG5cbnZhciBDaXBoZXIgPSByZXF1aXJlKCcuL2NpcGhlcicpO1xudmFyIERFUyA9IHJlcXVpcmUoJy4vZGVzJyk7XG5cbmZ1bmN0aW9uIEVERVN0YXRlKHR5cGUsIGtleSkge1xuICBhc3NlcnQuZXF1YWwoa2V5Lmxlbmd0aCwgMjQsICdJbnZhbGlkIGtleSBsZW5ndGgnKTtcblxuICB2YXIgazEgPSBrZXkuc2xpY2UoMCwgOCk7XG4gIHZhciBrMiA9IGtleS5zbGljZSg4LCAxNik7XG4gIHZhciBrMyA9IGtleS5zbGljZSgxNiwgMjQpO1xuXG4gIGlmICh0eXBlID09PSAnZW5jcnlwdCcpIHtcbiAgICB0aGlzLmNpcGhlcnMgPSBbXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGsxIH0pLFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMiB9KSxcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZW5jcnlwdCcsIGtleTogazMgfSlcbiAgICBdO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuY2lwaGVycyA9IFtcbiAgICAgIERFUy5jcmVhdGUoeyB0eXBlOiAnZGVjcnlwdCcsIGtleTogazMgfSksXG4gICAgICBERVMuY3JlYXRlKHsgdHlwZTogJ2VuY3J5cHQnLCBrZXk6IGsyIH0pLFxuICAgICAgREVTLmNyZWF0ZSh7IHR5cGU6ICdkZWNyeXB0Jywga2V5OiBrMSB9KVxuICAgIF07XG4gIH1cbn1cblxuZnVuY3Rpb24gRURFKG9wdGlvbnMpIHtcbiAgQ2lwaGVyLmNhbGwodGhpcywgb3B0aW9ucyk7XG5cbiAgdmFyIHN0YXRlID0gbmV3IEVERVN0YXRlKHRoaXMudHlwZSwgdGhpcy5vcHRpb25zLmtleSk7XG4gIHRoaXMuX2VkZVN0YXRlID0gc3RhdGU7XG59XG5pbmhlcml0cyhFREUsIENpcGhlcik7XG5cbm1vZHVsZS5leHBvcnRzID0gRURFO1xuXG5FREUuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKG9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBFREUob3B0aW9ucyk7XG59O1xuXG5FREUucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKGlucCwgaW5PZmYsIG91dCwgb3V0T2ZmKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX2VkZVN0YXRlO1xuXG4gIHN0YXRlLmNpcGhlcnNbMF0uX3VwZGF0ZShpbnAsIGluT2ZmLCBvdXQsIG91dE9mZik7XG4gIHN0YXRlLmNpcGhlcnNbMV0uX3VwZGF0ZShvdXQsIG91dE9mZiwgb3V0LCBvdXRPZmYpO1xuICBzdGF0ZS5jaXBoZXJzWzJdLl91cGRhdGUob3V0LCBvdXRPZmYsIG91dCwgb3V0T2ZmKTtcbn07XG5cbkVERS5wcm90b3R5cGUuX3BhZCA9IERFUy5wcm90b3R5cGUuX3BhZDtcbkVERS5wcm90b3R5cGUuX3VucGFkID0gREVTLnByb3RvdHlwZS5fdW5wYWQ7XG4iLCIndXNlIHN0cmljdCc7XG5cbmV4cG9ydHMucmVhZFVJbnQzMkJFID0gZnVuY3Rpb24gcmVhZFVJbnQzMkJFKGJ5dGVzLCBvZmYpIHtcbiAgdmFyIHJlcyA9ICAoYnl0ZXNbMCArIG9mZl0gPDwgMjQpIHxcbiAgICAgICAgICAgICAoYnl0ZXNbMSArIG9mZl0gPDwgMTYpIHxcbiAgICAgICAgICAgICAoYnl0ZXNbMiArIG9mZl0gPDwgOCkgfFxuICAgICAgICAgICAgIGJ5dGVzWzMgKyBvZmZdO1xuICByZXR1cm4gcmVzID4+PiAwO1xufTtcblxuZXhwb3J0cy53cml0ZVVJbnQzMkJFID0gZnVuY3Rpb24gd3JpdGVVSW50MzJCRShieXRlcywgdmFsdWUsIG9mZikge1xuICBieXRlc1swICsgb2ZmXSA9IHZhbHVlID4+PiAyNDtcbiAgYnl0ZXNbMSArIG9mZl0gPSAodmFsdWUgPj4+IDE2KSAmIDB4ZmY7XG4gIGJ5dGVzWzIgKyBvZmZdID0gKHZhbHVlID4+PiA4KSAmIDB4ZmY7XG4gIGJ5dGVzWzMgKyBvZmZdID0gdmFsdWUgJiAweGZmO1xufTtcblxuZXhwb3J0cy5pcCA9IGZ1bmN0aW9uIGlwKGluTCwgaW5SLCBvdXQsIG9mZikge1xuICB2YXIgb3V0TCA9IDA7XG4gIHZhciBvdXRSID0gMDtcblxuICBmb3IgKHZhciBpID0gNjsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XG4gICAgICBvdXRMIDw8PSAxO1xuICAgICAgb3V0TCB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcbiAgICAgIG91dEwgPDw9IDE7XG4gICAgICBvdXRMIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gIH1cblxuICBmb3IgKHZhciBpID0gNjsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICBmb3IgKHZhciBqID0gMTsgaiA8PSAyNTsgaiArPSA4KSB7XG4gICAgICBvdXRSIDw8PSAxO1xuICAgICAgb3V0UiB8PSAoaW5SID4+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICAgIGZvciAodmFyIGogPSAxOyBqIDw9IDI1OyBqICs9IDgpIHtcbiAgICAgIG91dFIgPDw9IDE7XG4gICAgICBvdXRSIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gIH1cblxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xufTtcblxuZXhwb3J0cy5yaXAgPSBmdW5jdGlvbiByaXAoaW5MLCBpblIsIG91dCwgb2ZmKSB7XG4gIHZhciBvdXRMID0gMDtcbiAgdmFyIG91dFIgPSAwO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgZm9yICh2YXIgaiA9IDI0OyBqID49IDA7IGogLT0gOCkge1xuICAgICAgb3V0TCA8PD0gMTtcbiAgICAgIG91dEwgfD0gKGluUiA+Pj4gKGogKyBpKSkgJiAxO1xuICAgICAgb3V0TCA8PD0gMTtcbiAgICAgIG91dEwgfD0gKGluTCA+Pj4gKGogKyBpKSkgJiAxO1xuICAgIH1cbiAgfVxuICBmb3IgKHZhciBpID0gNDsgaSA8IDg7IGkrKykge1xuICAgIGZvciAodmFyIGogPSAyNDsgaiA+PSAwOyBqIC09IDgpIHtcbiAgICAgIG91dFIgPDw9IDE7XG4gICAgICBvdXRSIHw9IChpblIgPj4+IChqICsgaSkpICYgMTtcbiAgICAgIG91dFIgPDw9IDE7XG4gICAgICBvdXRSIHw9IChpbkwgPj4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gIH1cblxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xufTtcblxuZXhwb3J0cy5wYzEgPSBmdW5jdGlvbiBwYzEoaW5MLCBpblIsIG91dCwgb2ZmKSB7XG4gIHZhciBvdXRMID0gMDtcbiAgdmFyIG91dFIgPSAwO1xuXG4gIC8vIDcsIDE1LCAyMywgMzEsIDM5LCA0NywgNTUsIDYzXG4gIC8vIDYsIDE0LCAyMiwgMzAsIDM5LCA0NywgNTUsIDYzXG4gIC8vIDUsIDEzLCAyMSwgMjksIDM5LCA0NywgNTUsIDYzXG4gIC8vIDQsIDEyLCAyMCwgMjhcbiAgZm9yICh2YXIgaSA9IDc7IGkgPj0gNTsgaS0tKSB7XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMjQ7IGogKz0gOCkge1xuICAgICAgb3V0TCA8PD0gMTtcbiAgICAgIG91dEwgfD0gKGluUiA+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICAgIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcbiAgICAgIG91dEwgPDw9IDE7XG4gICAgICBvdXRMIHw9IChpbkwgPj4gKGogKyBpKSkgJiAxO1xuICAgIH1cbiAgfVxuICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XG4gICAgb3V0TCA8PD0gMTtcbiAgICBvdXRMIHw9IChpblIgPj4gKGogKyBpKSkgJiAxO1xuICB9XG5cbiAgLy8gMSwgOSwgMTcsIDI1LCAzMywgNDEsIDQ5LCA1N1xuICAvLyAyLCAxMCwgMTgsIDI2LCAzNCwgNDIsIDUwLCA1OFxuICAvLyAzLCAxMSwgMTksIDI3LCAzNSwgNDMsIDUxLCA1OVxuICAvLyAzNiwgNDQsIDUyLCA2MFxuICBmb3IgKHZhciBpID0gMTsgaSA8PSAzOyBpKyspIHtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAyNDsgaiArPSA4KSB7XG4gICAgICBvdXRSIDw8PSAxO1xuICAgICAgb3V0UiB8PSAoaW5SID4+IChqICsgaSkpICYgMTtcbiAgICB9XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMjQ7IGogKz0gOCkge1xuICAgICAgb3V0UiA8PD0gMTtcbiAgICAgIG91dFIgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XG4gICAgfVxuICB9XG4gIGZvciAodmFyIGogPSAwOyBqIDw9IDI0OyBqICs9IDgpIHtcbiAgICBvdXRSIDw8PSAxO1xuICAgIG91dFIgfD0gKGluTCA+PiAoaiArIGkpKSAmIDE7XG4gIH1cblxuICBvdXRbb2ZmICsgMF0gPSBvdXRMID4+PiAwO1xuICBvdXRbb2ZmICsgMV0gPSBvdXRSID4+PiAwO1xufTtcblxuZXhwb3J0cy5yMjhzaGwgPSBmdW5jdGlvbiByMjhzaGwobnVtLCBzaGlmdCkge1xuICByZXR1cm4gKChudW0gPDwgc2hpZnQpICYgMHhmZmZmZmZmKSB8IChudW0gPj4+ICgyOCAtIHNoaWZ0KSk7XG59O1xuXG52YXIgcGMydGFibGUgPSBbXG4gIC8vIGluTCA9PiBvdXRMXG4gIDE0LCAxMSwgMTcsIDQsIDI3LCAyMywgMjUsIDAsXG4gIDEzLCAyMiwgNywgMTgsIDUsIDksIDE2LCAyNCxcbiAgMiwgMjAsIDEyLCAyMSwgMSwgOCwgMTUsIDI2LFxuXG4gIC8vIGluUiA9PiBvdXRSXG4gIDE1LCA0LCAyNSwgMTksIDksIDEsIDI2LCAxNixcbiAgNSwgMTEsIDIzLCA4LCAxMiwgNywgMTcsIDAsXG4gIDIyLCAzLCAxMCwgMTQsIDYsIDIwLCAyNywgMjRcbl07XG5cbmV4cG9ydHMucGMyID0gZnVuY3Rpb24gcGMyKGluTCwgaW5SLCBvdXQsIG9mZikge1xuICB2YXIgb3V0TCA9IDA7XG4gIHZhciBvdXRSID0gMDtcblxuICB2YXIgbGVuID0gcGMydGFibGUubGVuZ3RoID4+PiAxO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgb3V0TCA8PD0gMTtcbiAgICBvdXRMIHw9IChpbkwgPj4+IHBjMnRhYmxlW2ldKSAmIDB4MTtcbiAgfVxuICBmb3IgKHZhciBpID0gbGVuOyBpIDwgcGMydGFibGUubGVuZ3RoOyBpKyspIHtcbiAgICBvdXRSIDw8PSAxO1xuICAgIG91dFIgfD0gKGluUiA+Pj4gcGMydGFibGVbaV0pICYgMHgxO1xuICB9XG5cbiAgb3V0W29mZiArIDBdID0gb3V0TCA+Pj4gMDtcbiAgb3V0W29mZiArIDFdID0gb3V0UiA+Pj4gMDtcbn07XG5cbmV4cG9ydHMuZXhwYW5kID0gZnVuY3Rpb24gZXhwYW5kKHIsIG91dCwgb2ZmKSB7XG4gIHZhciBvdXRMID0gMDtcbiAgdmFyIG91dFIgPSAwO1xuXG4gIG91dEwgPSAoKHIgJiAxKSA8PCA1KSB8IChyID4+PiAyNyk7XG4gIGZvciAodmFyIGkgPSAyMzsgaSA+PSAxNTsgaSAtPSA0KSB7XG4gICAgb3V0TCA8PD0gNjtcbiAgICBvdXRMIHw9IChyID4+PiBpKSAmIDB4M2Y7XG4gIH1cbiAgZm9yICh2YXIgaSA9IDExOyBpID49IDM7IGkgLT0gNCkge1xuICAgIG91dFIgfD0gKHIgPj4+IGkpICYgMHgzZjtcbiAgICBvdXRSIDw8PSA2O1xuICB9XG4gIG91dFIgfD0gKChyICYgMHgxZikgPDwgMSkgfCAociA+Pj4gMzEpO1xuXG4gIG91dFtvZmYgKyAwXSA9IG91dEwgPj4+IDA7XG4gIG91dFtvZmYgKyAxXSA9IG91dFIgPj4+IDA7XG59O1xuXG52YXIgc1RhYmxlID0gW1xuICAxNCwgMCwgNCwgMTUsIDEzLCA3LCAxLCA0LCAyLCAxNCwgMTUsIDIsIDExLCAxMywgOCwgMSxcbiAgMywgMTAsIDEwLCA2LCA2LCAxMiwgMTIsIDExLCA1LCA5LCA5LCA1LCAwLCAzLCA3LCA4LFxuICA0LCAxNSwgMSwgMTIsIDE0LCA4LCA4LCAyLCAxMywgNCwgNiwgOSwgMiwgMSwgMTEsIDcsXG4gIDE1LCA1LCAxMiwgMTEsIDksIDMsIDcsIDE0LCAzLCAxMCwgMTAsIDAsIDUsIDYsIDAsIDEzLFxuXG4gIDE1LCAzLCAxLCAxMywgOCwgNCwgMTQsIDcsIDYsIDE1LCAxMSwgMiwgMywgOCwgNCwgMTQsXG4gIDksIDEyLCA3LCAwLCAyLCAxLCAxMywgMTAsIDEyLCA2LCAwLCA5LCA1LCAxMSwgMTAsIDUsXG4gIDAsIDEzLCAxNCwgOCwgNywgMTAsIDExLCAxLCAxMCwgMywgNCwgMTUsIDEzLCA0LCAxLCAyLFxuICA1LCAxMSwgOCwgNiwgMTIsIDcsIDYsIDEyLCA5LCAwLCAzLCA1LCAyLCAxNCwgMTUsIDksXG5cbiAgMTAsIDEzLCAwLCA3LCA5LCAwLCAxNCwgOSwgNiwgMywgMywgNCwgMTUsIDYsIDUsIDEwLFxuICAxLCAyLCAxMywgOCwgMTIsIDUsIDcsIDE0LCAxMSwgMTIsIDQsIDExLCAyLCAxNSwgOCwgMSxcbiAgMTMsIDEsIDYsIDEwLCA0LCAxMywgOSwgMCwgOCwgNiwgMTUsIDksIDMsIDgsIDAsIDcsXG4gIDExLCA0LCAxLCAxNSwgMiwgMTQsIDEyLCAzLCA1LCAxMSwgMTAsIDUsIDE0LCAyLCA3LCAxMixcblxuICA3LCAxMywgMTMsIDgsIDE0LCAxMSwgMywgNSwgMCwgNiwgNiwgMTUsIDksIDAsIDEwLCAzLFxuICAxLCA0LCAyLCA3LCA4LCAyLCA1LCAxMiwgMTEsIDEsIDEyLCAxMCwgNCwgMTQsIDE1LCA5LFxuICAxMCwgMywgNiwgMTUsIDksIDAsIDAsIDYsIDEyLCAxMCwgMTEsIDEsIDcsIDEzLCAxMywgOCxcbiAgMTUsIDksIDEsIDQsIDMsIDUsIDE0LCAxMSwgNSwgMTIsIDIsIDcsIDgsIDIsIDQsIDE0LFxuXG4gIDIsIDE0LCAxMiwgMTEsIDQsIDIsIDEsIDEyLCA3LCA0LCAxMCwgNywgMTEsIDEzLCA2LCAxLFxuICA4LCA1LCA1LCAwLCAzLCAxNSwgMTUsIDEwLCAxMywgMywgMCwgOSwgMTQsIDgsIDksIDYsXG4gIDQsIDExLCAyLCA4LCAxLCAxMiwgMTEsIDcsIDEwLCAxLCAxMywgMTQsIDcsIDIsIDgsIDEzLFxuICAxNSwgNiwgOSwgMTUsIDEyLCAwLCA1LCA5LCA2LCAxMCwgMywgNCwgMCwgNSwgMTQsIDMsXG5cbiAgMTIsIDEwLCAxLCAxNSwgMTAsIDQsIDE1LCAyLCA5LCA3LCAyLCAxMiwgNiwgOSwgOCwgNSxcbiAgMCwgNiwgMTMsIDEsIDMsIDEzLCA0LCAxNCwgMTQsIDAsIDcsIDExLCA1LCAzLCAxMSwgOCxcbiAgOSwgNCwgMTQsIDMsIDE1LCAyLCA1LCAxMiwgMiwgOSwgOCwgNSwgMTIsIDE1LCAzLCAxMCxcbiAgNywgMTEsIDAsIDE0LCA0LCAxLCAxMCwgNywgMSwgNiwgMTMsIDAsIDExLCA4LCA2LCAxMyxcblxuICA0LCAxMywgMTEsIDAsIDIsIDExLCAxNCwgNywgMTUsIDQsIDAsIDksIDgsIDEsIDEzLCAxMCxcbiAgMywgMTQsIDEyLCAzLCA5LCA1LCA3LCAxMiwgNSwgMiwgMTAsIDE1LCA2LCA4LCAxLCA2LFxuICAxLCA2LCA0LCAxMSwgMTEsIDEzLCAxMywgOCwgMTIsIDEsIDMsIDQsIDcsIDEwLCAxNCwgNyxcbiAgMTAsIDksIDE1LCA1LCA2LCAwLCA4LCAxNSwgMCwgMTQsIDUsIDIsIDksIDMsIDIsIDEyLFxuXG4gIDEzLCAxLCAyLCAxNSwgOCwgMTMsIDQsIDgsIDYsIDEwLCAxNSwgMywgMTEsIDcsIDEsIDQsXG4gIDEwLCAxMiwgOSwgNSwgMywgNiwgMTQsIDExLCA1LCAwLCAwLCAxNCwgMTIsIDksIDcsIDIsXG4gIDcsIDIsIDExLCAxLCA0LCAxNCwgMSwgNywgOSwgNCwgMTIsIDEwLCAxNCwgOCwgMiwgMTMsXG4gIDAsIDE1LCA2LCAxMiwgMTAsIDksIDEzLCAwLCAxNSwgMywgMywgNSwgNSwgNiwgOCwgMTFcbl07XG5cbmV4cG9ydHMuc3Vic3RpdHV0ZSA9IGZ1bmN0aW9uIHN1YnN0aXR1dGUoaW5MLCBpblIpIHtcbiAgdmFyIG91dCA9IDA7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgdmFyIGIgPSAoaW5MID4+PiAoMTggLSBpICogNikpICYgMHgzZjtcbiAgICB2YXIgc2IgPSBzVGFibGVbaSAqIDB4NDAgKyBiXTtcblxuICAgIG91dCA8PD0gNDtcbiAgICBvdXQgfD0gc2I7XG4gIH1cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICB2YXIgYiA9IChpblIgPj4+ICgxOCAtIGkgKiA2KSkgJiAweDNmO1xuICAgIHZhciBzYiA9IHNUYWJsZVs0ICogMHg0MCArIGkgKiAweDQwICsgYl07XG5cbiAgICBvdXQgPDw9IDQ7XG4gICAgb3V0IHw9IHNiO1xuICB9XG4gIHJldHVybiBvdXQgPj4+IDA7XG59O1xuXG52YXIgcGVybXV0ZVRhYmxlID0gW1xuICAxNiwgMjUsIDEyLCAxMSwgMywgMjAsIDQsIDE1LCAzMSwgMTcsIDksIDYsIDI3LCAxNCwgMSwgMjIsXG4gIDMwLCAyNCwgOCwgMTgsIDAsIDUsIDI5LCAyMywgMTMsIDE5LCAyLCAyNiwgMTAsIDIxLCAyOCwgN1xuXTtcblxuZXhwb3J0cy5wZXJtdXRlID0gZnVuY3Rpb24gcGVybXV0ZShudW0pIHtcbiAgdmFyIG91dCA9IDA7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcGVybXV0ZVRhYmxlLmxlbmd0aDsgaSsrKSB7XG4gICAgb3V0IDw8PSAxO1xuICAgIG91dCB8PSAobnVtID4+PiBwZXJtdXRlVGFibGVbaV0pICYgMHgxO1xuICB9XG4gIHJldHVybiBvdXQgPj4+IDA7XG59O1xuXG5leHBvcnRzLnBhZFNwbGl0ID0gZnVuY3Rpb24gcGFkU3BsaXQobnVtLCBzaXplLCBncm91cCkge1xuICB2YXIgc3RyID0gbnVtLnRvU3RyaW5nKDIpO1xuICB3aGlsZSAoc3RyLmxlbmd0aCA8IHNpemUpXG4gICAgc3RyID0gJzAnICsgc3RyO1xuXG4gIHZhciBvdXQgPSBbXTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaXplOyBpICs9IGdyb3VwKVxuICAgIG91dC5wdXNoKHN0ci5zbGljZShpLCBpICsgZ3JvdXApKTtcbiAgcmV0dXJuIG91dC5qb2luKCcgJyk7XG59O1xuIiwidmFyIGdlbmVyYXRlUHJpbWUgPSByZXF1aXJlKCcuL2xpYi9nZW5lcmF0ZVByaW1lJylcbnZhciBwcmltZXMgPSByZXF1aXJlKCcuL2xpYi9wcmltZXMuanNvbicpXG5cbnZhciBESCA9IHJlcXVpcmUoJy4vbGliL2RoJylcblxuZnVuY3Rpb24gZ2V0RGlmZmllSGVsbG1hbiAobW9kKSB7XG4gIHZhciBwcmltZSA9IG5ldyBCdWZmZXIocHJpbWVzW21vZF0ucHJpbWUsICdoZXgnKVxuICB2YXIgZ2VuID0gbmV3IEJ1ZmZlcihwcmltZXNbbW9kXS5nZW4sICdoZXgnKVxuXG4gIHJldHVybiBuZXcgREgocHJpbWUsIGdlbilcbn1cblxudmFyIEVOQ09ESU5HUyA9IHtcbiAgJ2JpbmFyeSc6IHRydWUsICdoZXgnOiB0cnVlLCAnYmFzZTY0JzogdHJ1ZVxufVxuXG5mdW5jdGlvbiBjcmVhdGVEaWZmaWVIZWxsbWFuIChwcmltZSwgZW5jLCBnZW5lcmF0b3IsIGdlbmMpIHtcbiAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihlbmMpIHx8IEVOQ09ESU5HU1tlbmNdID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY3JlYXRlRGlmZmllSGVsbG1hbihwcmltZSwgJ2JpbmFyeScsIGVuYywgZ2VuZXJhdG9yKVxuICB9XG5cbiAgZW5jID0gZW5jIHx8ICdiaW5hcnknXG4gIGdlbmMgPSBnZW5jIHx8ICdiaW5hcnknXG4gIGdlbmVyYXRvciA9IGdlbmVyYXRvciB8fCBuZXcgQnVmZmVyKFsyXSlcblxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihnZW5lcmF0b3IpKSB7XG4gICAgZ2VuZXJhdG9yID0gbmV3IEJ1ZmZlcihnZW5lcmF0b3IsIGdlbmMpXG4gIH1cblxuICBpZiAodHlwZW9mIHByaW1lID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBuZXcgREgoZ2VuZXJhdGVQcmltZShwcmltZSwgZ2VuZXJhdG9yKSwgZ2VuZXJhdG9yLCB0cnVlKVxuICB9XG5cbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocHJpbWUpKSB7XG4gICAgcHJpbWUgPSBuZXcgQnVmZmVyKHByaW1lLCBlbmMpXG4gIH1cblxuICByZXR1cm4gbmV3IERIKHByaW1lLCBnZW5lcmF0b3IsIHRydWUpXG59XG5cbmV4cG9ydHMuRGlmZmllSGVsbG1hbkdyb3VwID0gZXhwb3J0cy5jcmVhdGVEaWZmaWVIZWxsbWFuR3JvdXAgPSBleHBvcnRzLmdldERpZmZpZUhlbGxtYW4gPSBnZXREaWZmaWVIZWxsbWFuXG5leHBvcnRzLmNyZWF0ZURpZmZpZUhlbGxtYW4gPSBleHBvcnRzLkRpZmZpZUhlbGxtYW4gPSBjcmVhdGVEaWZmaWVIZWxsbWFuXG4iLCJ2YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIE1pbGxlclJhYmluID0gcmVxdWlyZSgnbWlsbGVyLXJhYmluJyk7XG52YXIgbWlsbGVyUmFiaW4gPSBuZXcgTWlsbGVyUmFiaW4oKTtcbnZhciBUV0VOVFlGT1VSID0gbmV3IEJOKDI0KTtcbnZhciBFTEVWRU4gPSBuZXcgQk4oMTEpO1xudmFyIFRFTiA9IG5ldyBCTigxMCk7XG52YXIgVEhSRUUgPSBuZXcgQk4oMyk7XG52YXIgU0VWRU4gPSBuZXcgQk4oNyk7XG52YXIgcHJpbWVzID0gcmVxdWlyZSgnLi9nZW5lcmF0ZVByaW1lJyk7XG52YXIgcmFuZG9tQnl0ZXMgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpO1xubW9kdWxlLmV4cG9ydHMgPSBESDtcblxuZnVuY3Rpb24gc2V0UHVibGljS2V5KHB1YiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHB1YikpIHtcbiAgICBwdWIgPSBuZXcgQnVmZmVyKHB1YiwgZW5jKTtcbiAgfVxuICB0aGlzLl9wdWIgPSBuZXcgQk4ocHViKTtcbiAgcmV0dXJuIHRoaXM7XG59XG5cbmZ1bmN0aW9uIHNldFByaXZhdGVLZXkocHJpdiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKHByaXYpKSB7XG4gICAgcHJpdiA9IG5ldyBCdWZmZXIocHJpdiwgZW5jKTtcbiAgfVxuICB0aGlzLl9wcml2ID0gbmV3IEJOKHByaXYpO1xuICByZXR1cm4gdGhpcztcbn1cblxudmFyIHByaW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGNoZWNrUHJpbWUocHJpbWUsIGdlbmVyYXRvcikge1xuICB2YXIgZ2VuID0gZ2VuZXJhdG9yLnRvU3RyaW5nKCdoZXgnKTtcbiAgdmFyIGhleCA9IFtnZW4sIHByaW1lLnRvU3RyaW5nKDE2KV0uam9pbignXycpO1xuICBpZiAoaGV4IGluIHByaW1lQ2FjaGUpIHtcbiAgICByZXR1cm4gcHJpbWVDYWNoZVtoZXhdO1xuICB9XG4gIHZhciBlcnJvciA9IDA7XG5cbiAgaWYgKHByaW1lLmlzRXZlbigpIHx8XG4gICAgIXByaW1lcy5zaW1wbGVTaWV2ZSB8fFxuICAgICFwcmltZXMuZmVybWF0VGVzdChwcmltZSkgfHxcbiAgICAhbWlsbGVyUmFiaW4udGVzdChwcmltZSkpIHtcbiAgICAvL25vdCBhIHByaW1lIHNvICsxXG4gICAgZXJyb3IgKz0gMTtcblxuICAgIGlmIChnZW4gPT09ICcwMicgfHwgZ2VuID09PSAnMDUnKSB7XG4gICAgICAvLyB3ZSdkIGJlIGFibGUgdG8gY2hlY2sgdGhlIGdlbmVyYXRvclxuICAgICAgLy8gaXQgd291bGQgZmFpbCBzbyArOFxuICAgICAgZXJyb3IgKz0gODtcbiAgICB9IGVsc2Uge1xuICAgICAgLy93ZSB3b3VsZG4ndCBiZSBhYmxlIHRvIHRlc3QgdGhlIGdlbmVyYXRvclxuICAgICAgLy8gc28gKzRcbiAgICAgIGVycm9yICs9IDQ7XG4gICAgfVxuICAgIHByaW1lQ2FjaGVbaGV4XSA9IGVycm9yO1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxuICBpZiAoIW1pbGxlclJhYmluLnRlc3QocHJpbWUuc2hybigxKSkpIHtcbiAgICAvL25vdCBhIHNhZmUgcHJpbWVcbiAgICBlcnJvciArPSAyO1xuICB9XG4gIHZhciByZW07XG4gIHN3aXRjaCAoZ2VuKSB7XG4gICAgY2FzZSAnMDInOlxuICAgICAgaWYgKHByaW1lLm1vZChUV0VOVFlGT1VSKS5jbXAoRUxFVkVOKSkge1xuICAgICAgICAvLyB1bnN1aWRhYmxlIGdlbmVyYXRvclxuICAgICAgICBlcnJvciArPSA4O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnMDUnOlxuICAgICAgcmVtID0gcHJpbWUubW9kKFRFTik7XG4gICAgICBpZiAocmVtLmNtcChUSFJFRSkgJiYgcmVtLmNtcChTRVZFTikpIHtcbiAgICAgICAgLy8gcHJpbWUgbW9kIDEwIG5lZWRzIHRvIGVxdWFsIDMgb3IgN1xuICAgICAgICBlcnJvciArPSA4O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGVycm9yICs9IDQ7XG4gIH1cbiAgcHJpbWVDYWNoZVtoZXhdID0gZXJyb3I7XG4gIHJldHVybiBlcnJvcjtcbn1cblxuZnVuY3Rpb24gREgocHJpbWUsIGdlbmVyYXRvciwgbWFsbGVhYmxlKSB7XG4gIHRoaXMuc2V0R2VuZXJhdG9yKGdlbmVyYXRvcik7XG4gIHRoaXMuX19wcmltZSA9IG5ldyBCTihwcmltZSk7XG4gIHRoaXMuX3ByaW1lID0gQk4ubW9udCh0aGlzLl9fcHJpbWUpO1xuICB0aGlzLl9wcmltZUxlbiA9IHByaW1lLmxlbmd0aDtcbiAgdGhpcy5fcHViID0gdW5kZWZpbmVkO1xuICB0aGlzLl9wcml2ID0gdW5kZWZpbmVkO1xuICB0aGlzLl9wcmltZUNvZGUgPSB1bmRlZmluZWQ7XG4gIGlmIChtYWxsZWFibGUpIHtcbiAgICB0aGlzLnNldFB1YmxpY0tleSA9IHNldFB1YmxpY0tleTtcbiAgICB0aGlzLnNldFByaXZhdGVLZXkgPSBzZXRQcml2YXRlS2V5O1xuICB9IGVsc2Uge1xuICAgIHRoaXMuX3ByaW1lQ29kZSA9IDg7XG4gIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShESC5wcm90b3R5cGUsICd2ZXJpZnlFcnJvcicsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9wcmltZUNvZGUgIT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLl9wcmltZUNvZGUgPSBjaGVja1ByaW1lKHRoaXMuX19wcmltZSwgdGhpcy5fX2dlbik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9wcmltZUNvZGU7XG4gIH1cbn0pO1xuREgucHJvdG90eXBlLmdlbmVyYXRlS2V5cyA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKCF0aGlzLl9wcml2KSB7XG4gICAgdGhpcy5fcHJpdiA9IG5ldyBCTihyYW5kb21CeXRlcyh0aGlzLl9wcmltZUxlbikpO1xuICB9XG4gIHRoaXMuX3B1YiA9IHRoaXMuX2dlbi50b1JlZCh0aGlzLl9wcmltZSkucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKTtcbiAgcmV0dXJuIHRoaXMuZ2V0UHVibGljS2V5KCk7XG59O1xuXG5ESC5wcm90b3R5cGUuY29tcHV0ZVNlY3JldCA9IGZ1bmN0aW9uIChvdGhlcikge1xuICBvdGhlciA9IG5ldyBCTihvdGhlcik7XG4gIG90aGVyID0gb3RoZXIudG9SZWQodGhpcy5fcHJpbWUpO1xuICB2YXIgc2VjcmV0ID0gb3RoZXIucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKTtcbiAgdmFyIG91dCA9IG5ldyBCdWZmZXIoc2VjcmV0LnRvQXJyYXkoKSk7XG4gIHZhciBwcmltZSA9IHRoaXMuZ2V0UHJpbWUoKTtcbiAgaWYgKG91dC5sZW5ndGggPCBwcmltZS5sZW5ndGgpIHtcbiAgICB2YXIgZnJvbnQgPSBuZXcgQnVmZmVyKHByaW1lLmxlbmd0aCAtIG91dC5sZW5ndGgpO1xuICAgIGZyb250LmZpbGwoMCk7XG4gICAgb3V0ID0gQnVmZmVyLmNvbmNhdChbZnJvbnQsIG91dF0pO1xuICB9XG4gIHJldHVybiBvdXQ7XG59O1xuXG5ESC5wcm90b3R5cGUuZ2V0UHVibGljS2V5ID0gZnVuY3Rpb24gZ2V0UHVibGljS2V5KGVuYykge1xuICByZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fcHViLCBlbmMpO1xufTtcblxuREgucHJvdG90eXBlLmdldFByaXZhdGVLZXkgPSBmdW5jdGlvbiBnZXRQcml2YXRlS2V5KGVuYykge1xuICByZXR1cm4gZm9ybWF0UmV0dXJuVmFsdWUodGhpcy5fcHJpdiwgZW5jKTtcbn07XG5cbkRILnByb3RvdHlwZS5nZXRQcmltZSA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgcmV0dXJuIGZvcm1hdFJldHVyblZhbHVlKHRoaXMuX19wcmltZSwgZW5jKTtcbn07XG5cbkRILnByb3RvdHlwZS5nZXRHZW5lcmF0b3IgPSBmdW5jdGlvbiAoZW5jKSB7XG4gIHJldHVybiBmb3JtYXRSZXR1cm5WYWx1ZSh0aGlzLl9nZW4sIGVuYyk7XG59O1xuXG5ESC5wcm90b3R5cGUuc2V0R2VuZXJhdG9yID0gZnVuY3Rpb24gKGdlbiwgZW5jKSB7XG4gIGVuYyA9IGVuYyB8fCAndXRmOCc7XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGdlbikpIHtcbiAgICBnZW4gPSBuZXcgQnVmZmVyKGdlbiwgZW5jKTtcbiAgfVxuICB0aGlzLl9fZ2VuID0gZ2VuO1xuICB0aGlzLl9nZW4gPSBuZXcgQk4oZ2VuKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5mdW5jdGlvbiBmb3JtYXRSZXR1cm5WYWx1ZShibiwgZW5jKSB7XG4gIHZhciBidWYgPSBuZXcgQnVmZmVyKGJuLnRvQXJyYXkoKSk7XG4gIGlmICghZW5jKSB7XG4gICAgcmV0dXJuIGJ1ZjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYnVmLnRvU3RyaW5nKGVuYyk7XG4gIH1cbn1cbiIsInZhciByYW5kb21CeXRlcyA9IHJlcXVpcmUoJ3JhbmRvbWJ5dGVzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZpbmRQcmltZTtcbmZpbmRQcmltZS5zaW1wbGVTaWV2ZSA9IHNpbXBsZVNpZXZlO1xuZmluZFByaW1lLmZlcm1hdFRlc3QgPSBmZXJtYXRUZXN0O1xudmFyIEJOID0gcmVxdWlyZSgnYm4uanMnKTtcbnZhciBUV0VOVFlGT1VSID0gbmV3IEJOKDI0KTtcbnZhciBNaWxsZXJSYWJpbiA9IHJlcXVpcmUoJ21pbGxlci1yYWJpbicpO1xudmFyIG1pbGxlclJhYmluID0gbmV3IE1pbGxlclJhYmluKCk7XG52YXIgT05FID0gbmV3IEJOKDEpO1xudmFyIFRXTyA9IG5ldyBCTigyKTtcbnZhciBGSVZFID0gbmV3IEJOKDUpO1xudmFyIFNJWFRFRU4gPSBuZXcgQk4oMTYpO1xudmFyIEVJR0hUID0gbmV3IEJOKDgpO1xudmFyIFRFTiA9IG5ldyBCTigxMCk7XG52YXIgVEhSRUUgPSBuZXcgQk4oMyk7XG52YXIgU0VWRU4gPSBuZXcgQk4oNyk7XG52YXIgRUxFVkVOID0gbmV3IEJOKDExKTtcbnZhciBGT1VSID0gbmV3IEJOKDQpO1xudmFyIFRXRUxWRSA9IG5ldyBCTigxMik7XG52YXIgcHJpbWVzID0gbnVsbDtcblxuZnVuY3Rpb24gX2dldFByaW1lcygpIHtcbiAgaWYgKHByaW1lcyAhPT0gbnVsbClcbiAgICByZXR1cm4gcHJpbWVzO1xuXG4gIHZhciBsaW1pdCA9IDB4MTAwMDAwO1xuICB2YXIgcmVzID0gW107XG4gIHJlc1swXSA9IDI7XG4gIGZvciAodmFyIGkgPSAxLCBrID0gMzsgayA8IGxpbWl0OyBrICs9IDIpIHtcbiAgICB2YXIgc3FydCA9IE1hdGguY2VpbChNYXRoLnNxcnQoaykpO1xuICAgIGZvciAodmFyIGogPSAwOyBqIDwgaSAmJiByZXNbal0gPD0gc3FydDsgaisrKVxuICAgICAgaWYgKGsgJSByZXNbal0gPT09IDApXG4gICAgICAgIGJyZWFrO1xuXG4gICAgaWYgKGkgIT09IGogJiYgcmVzW2pdIDw9IHNxcnQpXG4gICAgICBjb250aW51ZTtcblxuICAgIHJlc1tpKytdID0gaztcbiAgfVxuICBwcmltZXMgPSByZXM7XG4gIHJldHVybiByZXM7XG59XG5cbmZ1bmN0aW9uIHNpbXBsZVNpZXZlKHApIHtcbiAgdmFyIHByaW1lcyA9IF9nZXRQcmltZXMoKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHByaW1lcy5sZW5ndGg7IGkrKylcbiAgICBpZiAocC5tb2RuKHByaW1lc1tpXSkgPT09IDApIHtcbiAgICAgIGlmIChwLmNtcG4ocHJpbWVzW2ldKSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGZlcm1hdFRlc3QocCkge1xuICB2YXIgcmVkID0gQk4ubW9udChwKTtcbiAgcmV0dXJuIFRXTy50b1JlZChyZWQpLnJlZFBvdyhwLnN1Ym4oMSkpLmZyb21SZWQoKS5jbXBuKDEpID09PSAwO1xufVxuXG5mdW5jdGlvbiBmaW5kUHJpbWUoYml0cywgZ2VuKSB7XG4gIGlmIChiaXRzIDwgMTYpIHtcbiAgICAvLyB0aGlzIGlzIHdoYXQgb3BlbnNzbCBkb2VzXG4gICAgaWYgKGdlbiA9PT0gMiB8fCBnZW4gPT09IDUpIHtcbiAgICAgIHJldHVybiBuZXcgQk4oWzB4OGMsIDB4N2JdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBCTihbMHg4YywgMHgyN10pO1xuICAgIH1cbiAgfVxuICBnZW4gPSBuZXcgQk4oZ2VuKTtcblxuICB2YXIgbnVtLCBuMjtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIG51bSA9IG5ldyBCTihyYW5kb21CeXRlcyhNYXRoLmNlaWwoYml0cyAvIDgpKSk7XG4gICAgd2hpbGUgKG51bS5iaXRMZW5ndGgoKSA+IGJpdHMpIHtcbiAgICAgIG51bS5pc2hybigxKTtcbiAgICB9XG4gICAgaWYgKG51bS5pc0V2ZW4oKSkge1xuICAgICAgbnVtLmlhZGQoT05FKTtcbiAgICB9XG4gICAgaWYgKCFudW0udGVzdG4oMSkpIHtcbiAgICAgIG51bS5pYWRkKFRXTyk7XG4gICAgfVxuICAgIGlmICghZ2VuLmNtcChUV08pKSB7XG4gICAgICB3aGlsZSAobnVtLm1vZChUV0VOVFlGT1VSKS5jbXAoRUxFVkVOKSkge1xuICAgICAgICBudW0uaWFkZChGT1VSKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFnZW4uY21wKEZJVkUpKSB7XG4gICAgICB3aGlsZSAobnVtLm1vZChURU4pLmNtcChUSFJFRSkpIHtcbiAgICAgICAgbnVtLmlhZGQoRk9VUik7XG4gICAgICB9XG4gICAgfVxuICAgIG4yID0gbnVtLnNocm4oMSk7XG4gICAgaWYgKHNpbXBsZVNpZXZlKG4yKSAmJiBzaW1wbGVTaWV2ZShudW0pICYmXG4gICAgICBmZXJtYXRUZXN0KG4yKSAmJiBmZXJtYXRUZXN0KG51bSkgJiZcbiAgICAgIG1pbGxlclJhYmluLnRlc3QobjIpICYmIG1pbGxlclJhYmluLnRlc3QobnVtKSkge1xuICAgICAgcmV0dXJuIG51bTtcbiAgICB9XG4gIH1cblxufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgZWxsaXB0aWMgPSBleHBvcnRzO1xuXG5lbGxpcHRpYy52ZXJzaW9uID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcbmVsbGlwdGljLnV0aWxzID0gcmVxdWlyZSgnLi9lbGxpcHRpYy91dGlscycpO1xuZWxsaXB0aWMucmFuZCA9IHJlcXVpcmUoJ2Jyb3JhbmQnKTtcbmVsbGlwdGljLmN1cnZlID0gcmVxdWlyZSgnLi9lbGxpcHRpYy9jdXJ2ZScpO1xuZWxsaXB0aWMuY3VydmVzID0gcmVxdWlyZSgnLi9lbGxpcHRpYy9jdXJ2ZXMnKTtcblxuLy8gUHJvdG9jb2xzXG5lbGxpcHRpYy5lYyA9IHJlcXVpcmUoJy4vZWxsaXB0aWMvZWMnKTtcbmVsbGlwdGljLmVkZHNhID0gcmVxdWlyZSgnLi9lbGxpcHRpYy9lZGRzYScpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBnZXROQUYgPSB1dGlscy5nZXROQUY7XG52YXIgZ2V0SlNGID0gdXRpbHMuZ2V0SlNGO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gQmFzZUN1cnZlKHR5cGUsIGNvbmYpIHtcbiAgdGhpcy50eXBlID0gdHlwZTtcbiAgdGhpcy5wID0gbmV3IEJOKGNvbmYucCwgMTYpO1xuXG4gIC8vIFVzZSBNb250Z29tZXJ5LCB3aGVuIHRoZXJlIGlzIG5vIGZhc3QgcmVkdWN0aW9uIGZvciB0aGUgcHJpbWVcbiAgdGhpcy5yZWQgPSBjb25mLnByaW1lID8gQk4ucmVkKGNvbmYucHJpbWUpIDogQk4ubW9udCh0aGlzLnApO1xuXG4gIC8vIFVzZWZ1bCBmb3IgbWFueSBjdXJ2ZXNcbiAgdGhpcy56ZXJvID0gbmV3IEJOKDApLnRvUmVkKHRoaXMucmVkKTtcbiAgdGhpcy5vbmUgPSBuZXcgQk4oMSkudG9SZWQodGhpcy5yZWQpO1xuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XG5cbiAgLy8gQ3VydmUgY29uZmlndXJhdGlvbiwgb3B0aW9uYWxcbiAgdGhpcy5uID0gY29uZi5uICYmIG5ldyBCTihjb25mLm4sIDE2KTtcbiAgdGhpcy5nID0gY29uZi5nICYmIHRoaXMucG9pbnRGcm9tSlNPTihjb25mLmcsIGNvbmYuZ1JlZCk7XG5cbiAgLy8gVGVtcG9yYXJ5IGFycmF5c1xuICB0aGlzLl93bmFmVDEgPSBuZXcgQXJyYXkoNCk7XG4gIHRoaXMuX3duYWZUMiA9IG5ldyBBcnJheSg0KTtcbiAgdGhpcy5fd25hZlQzID0gbmV3IEFycmF5KDQpO1xuICB0aGlzLl93bmFmVDQgPSBuZXcgQXJyYXkoNCk7XG5cbiAgdGhpcy5fYml0TGVuZ3RoID0gdGhpcy5uID8gdGhpcy5uLmJpdExlbmd0aCgpIDogMDtcblxuICAvLyBHZW5lcmFsaXplZCBHcmVnIE1heHdlbGwncyB0cmlja1xuICB2YXIgYWRqdXN0Q291bnQgPSB0aGlzLm4gJiYgdGhpcy5wLmRpdih0aGlzLm4pO1xuICBpZiAoIWFkanVzdENvdW50IHx8IGFkanVzdENvdW50LmNtcG4oMTAwKSA+IDApIHtcbiAgICB0aGlzLnJlZE4gPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuX21heHdlbGxUcmljayA9IHRydWU7XG4gICAgdGhpcy5yZWROID0gdGhpcy5uLnRvUmVkKHRoaXMucmVkKTtcbiAgfVxufVxubW9kdWxlLmV4cG9ydHMgPSBCYXNlQ3VydmU7XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUucG9pbnQgPSBmdW5jdGlvbiBwb2ludCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbn07XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZSgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbn07XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsID0gZnVuY3Rpb24gX2ZpeGVkTmFmTXVsKHAsIGspIHtcbiAgYXNzZXJ0KHAucHJlY29tcHV0ZWQpO1xuICB2YXIgZG91YmxlcyA9IHAuX2dldERvdWJsZXMoKTtcblxuICB2YXIgbmFmID0gZ2V0TkFGKGssIDEsIHRoaXMuX2JpdExlbmd0aCk7XG4gIHZhciBJID0gKDEgPDwgKGRvdWJsZXMuc3RlcCArIDEpKSAtIChkb3VibGVzLnN0ZXAgJSAyID09PSAwID8gMiA6IDEpO1xuICBJIC89IDM7XG5cbiAgLy8gVHJhbnNsYXRlIGludG8gbW9yZSB3aW5kb3dlZCBmb3JtXG4gIHZhciByZXByID0gW107XG4gIHZhciBqO1xuICB2YXIgbmFmVztcbiAgZm9yIChqID0gMDsgaiA8IG5hZi5sZW5ndGg7IGogKz0gZG91Ymxlcy5zdGVwKSB7XG4gICAgbmFmVyA9IDA7XG4gICAgZm9yICh2YXIgbCA9IGogKyBkb3VibGVzLnN0ZXAgLSAxOyBsID49IGo7IGwtLSlcbiAgICAgIG5hZlcgPSAobmFmVyA8PCAxKSArIG5hZltsXTtcbiAgICByZXByLnB1c2gobmFmVyk7XG4gIH1cblxuICB2YXIgYSA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICB2YXIgYiA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICBmb3IgKHZhciBpID0gSTsgaSA+IDA7IGktLSkge1xuICAgIGZvciAoaiA9IDA7IGogPCByZXByLmxlbmd0aDsgaisrKSB7XG4gICAgICBuYWZXID0gcmVwcltqXTtcbiAgICAgIGlmIChuYWZXID09PSBpKVxuICAgICAgICBiID0gYi5taXhlZEFkZChkb3VibGVzLnBvaW50c1tqXSk7XG4gICAgICBlbHNlIGlmIChuYWZXID09PSAtaSlcbiAgICAgICAgYiA9IGIubWl4ZWRBZGQoZG91Ymxlcy5wb2ludHNbal0ubmVnKCkpO1xuICAgIH1cbiAgICBhID0gYS5hZGQoYik7XG4gIH1cbiAgcmV0dXJuIGEudG9QKCk7XG59O1xuXG5CYXNlQ3VydmUucHJvdG90eXBlLl93bmFmTXVsID0gZnVuY3Rpb24gX3duYWZNdWwocCwgaykge1xuICB2YXIgdyA9IDQ7XG5cbiAgLy8gUHJlY29tcHV0ZSB3aW5kb3dcbiAgdmFyIG5hZlBvaW50cyA9IHAuX2dldE5BRlBvaW50cyh3KTtcbiAgdyA9IG5hZlBvaW50cy53bmQ7XG4gIHZhciB3bmQgPSBuYWZQb2ludHMucG9pbnRzO1xuXG4gIC8vIEdldCBOQUYgZm9ybVxuICB2YXIgbmFmID0gZ2V0TkFGKGssIHcsIHRoaXMuX2JpdExlbmd0aCk7XG5cbiAgLy8gQWRkIGB0aGlzYCooTisxKSBmb3IgZXZlcnkgdy1OQUYgaW5kZXhcbiAgdmFyIGFjYyA9IHRoaXMuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICBmb3IgKHZhciBpID0gbmFmLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgLy8gQ291bnQgemVyb2VzXG4gICAgZm9yICh2YXIgbCA9IDA7IGkgPj0gMCAmJiBuYWZbaV0gPT09IDA7IGktLSlcbiAgICAgIGwrKztcbiAgICBpZiAoaSA+PSAwKVxuICAgICAgbCsrO1xuICAgIGFjYyA9IGFjYy5kYmxwKGwpO1xuXG4gICAgaWYgKGkgPCAwKVxuICAgICAgYnJlYWs7XG4gICAgdmFyIHogPSBuYWZbaV07XG4gICAgYXNzZXJ0KHogIT09IDApO1xuICAgIGlmIChwLnR5cGUgPT09ICdhZmZpbmUnKSB7XG4gICAgICAvLyBKICstIFBcbiAgICAgIGlmICh6ID4gMClcbiAgICAgICAgYWNjID0gYWNjLm1peGVkQWRkKHduZFsoeiAtIDEpID4+IDFdKTtcbiAgICAgIGVsc2VcbiAgICAgICAgYWNjID0gYWNjLm1peGVkQWRkKHduZFsoLXogLSAxKSA+PiAxXS5uZWcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEogKy0gSlxuICAgICAgaWYgKHogPiAwKVxuICAgICAgICBhY2MgPSBhY2MuYWRkKHduZFsoeiAtIDEpID4+IDFdKTtcbiAgICAgIGVsc2VcbiAgICAgICAgYWNjID0gYWNjLmFkZCh3bmRbKC16IC0gMSkgPj4gMV0ubmVnKCkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcC50eXBlID09PSAnYWZmaW5lJyA/IGFjYy50b1AoKSA6IGFjYztcbn07XG5cbkJhc2VDdXJ2ZS5wcm90b3R5cGUuX3duYWZNdWxBZGQgPSBmdW5jdGlvbiBfd25hZk11bEFkZChkZWZXLFxuICBwb2ludHMsXG4gIGNvZWZmcyxcbiAgbGVuLFxuICBqYWNvYmlhblJlc3VsdCkge1xuICB2YXIgd25kV2lkdGggPSB0aGlzLl93bmFmVDE7XG4gIHZhciB3bmQgPSB0aGlzLl93bmFmVDI7XG4gIHZhciBuYWYgPSB0aGlzLl93bmFmVDM7XG5cbiAgLy8gRmlsbCBhbGwgYXJyYXlzXG4gIHZhciBtYXggPSAwO1xuICB2YXIgaTtcbiAgdmFyIGo7XG4gIHZhciBwO1xuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBwID0gcG9pbnRzW2ldO1xuICAgIHZhciBuYWZQb2ludHMgPSBwLl9nZXROQUZQb2ludHMoZGVmVyk7XG4gICAgd25kV2lkdGhbaV0gPSBuYWZQb2ludHMud25kO1xuICAgIHduZFtpXSA9IG5hZlBvaW50cy5wb2ludHM7XG4gIH1cblxuICAvLyBDb21iIHNtYWxsIHdpbmRvdyBOQUZzXG4gIGZvciAoaSA9IGxlbiAtIDE7IGkgPj0gMTsgaSAtPSAyKSB7XG4gICAgdmFyIGEgPSBpIC0gMTtcbiAgICB2YXIgYiA9IGk7XG4gICAgaWYgKHduZFdpZHRoW2FdICE9PSAxIHx8IHduZFdpZHRoW2JdICE9PSAxKSB7XG4gICAgICBuYWZbYV0gPSBnZXROQUYoY29lZmZzW2FdLCB3bmRXaWR0aFthXSwgdGhpcy5fYml0TGVuZ3RoKTtcbiAgICAgIG5hZltiXSA9IGdldE5BRihjb2VmZnNbYl0sIHduZFdpZHRoW2JdLCB0aGlzLl9iaXRMZW5ndGgpO1xuICAgICAgbWF4ID0gTWF0aC5tYXgobmFmW2FdLmxlbmd0aCwgbWF4KTtcbiAgICAgIG1heCA9IE1hdGgubWF4KG5hZltiXS5sZW5ndGgsIG1heCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgY29tYiA9IFtcbiAgICAgIHBvaW50c1thXSwgLyogMSAqL1xuICAgICAgbnVsbCwgLyogMyAqL1xuICAgICAgbnVsbCwgLyogNSAqL1xuICAgICAgcG9pbnRzW2JdLCAvKiA3ICovXG4gICAgXTtcblxuICAgIC8vIFRyeSB0byBhdm9pZCBQcm9qZWN0aXZlIHBvaW50cywgaWYgcG9zc2libGVcbiAgICBpZiAocG9pbnRzW2FdLnkuY21wKHBvaW50c1tiXS55KSA9PT0gMCkge1xuICAgICAgY29tYlsxXSA9IHBvaW50c1thXS5hZGQocG9pbnRzW2JdKTtcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcbiAgICB9IGVsc2UgaWYgKHBvaW50c1thXS55LmNtcChwb2ludHNbYl0ueS5yZWROZWcoKSkgPT09IDApIHtcbiAgICAgIGNvbWJbMV0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdKTtcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0uYWRkKHBvaW50c1tiXS5uZWcoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbWJbMV0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdKTtcbiAgICAgIGNvbWJbMl0gPSBwb2ludHNbYV0udG9KKCkubWl4ZWRBZGQocG9pbnRzW2JdLm5lZygpKTtcbiAgICB9XG5cbiAgICB2YXIgaW5kZXggPSBbXG4gICAgICAtMywgLyogLTEgLTEgKi9cbiAgICAgIC0xLCAvKiAtMSAwICovXG4gICAgICAtNSwgLyogLTEgMSAqL1xuICAgICAgLTcsIC8qIDAgLTEgKi9cbiAgICAgIDAsIC8qIDAgMCAqL1xuICAgICAgNywgLyogMCAxICovXG4gICAgICA1LCAvKiAxIC0xICovXG4gICAgICAxLCAvKiAxIDAgKi9cbiAgICAgIDMsICAvKiAxIDEgKi9cbiAgICBdO1xuXG4gICAgdmFyIGpzZiA9IGdldEpTRihjb2VmZnNbYV0sIGNvZWZmc1tiXSk7XG4gICAgbWF4ID0gTWF0aC5tYXgoanNmWzBdLmxlbmd0aCwgbWF4KTtcbiAgICBuYWZbYV0gPSBuZXcgQXJyYXkobWF4KTtcbiAgICBuYWZbYl0gPSBuZXcgQXJyYXkobWF4KTtcbiAgICBmb3IgKGogPSAwOyBqIDwgbWF4OyBqKyspIHtcbiAgICAgIHZhciBqYSA9IGpzZlswXVtqXSB8IDA7XG4gICAgICB2YXIgamIgPSBqc2ZbMV1bal0gfCAwO1xuXG4gICAgICBuYWZbYV1bal0gPSBpbmRleFsoamEgKyAxKSAqIDMgKyAoamIgKyAxKV07XG4gICAgICBuYWZbYl1bal0gPSAwO1xuICAgICAgd25kW2FdID0gY29tYjtcbiAgICB9XG4gIH1cblxuICB2YXIgYWNjID0gdGhpcy5qcG9pbnQobnVsbCwgbnVsbCwgbnVsbCk7XG4gIHZhciB0bXAgPSB0aGlzLl93bmFmVDQ7XG4gIGZvciAoaSA9IG1heDsgaSA+PSAwOyBpLS0pIHtcbiAgICB2YXIgayA9IDA7XG5cbiAgICB3aGlsZSAoaSA+PSAwKSB7XG4gICAgICB2YXIgemVybyA9IHRydWU7XG4gICAgICBmb3IgKGogPSAwOyBqIDwgbGVuOyBqKyspIHtcbiAgICAgICAgdG1wW2pdID0gbmFmW2pdW2ldIHwgMDtcbiAgICAgICAgaWYgKHRtcFtqXSAhPT0gMClcbiAgICAgICAgICB6ZXJvID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoIXplcm8pXG4gICAgICAgIGJyZWFrO1xuICAgICAgaysrO1xuICAgICAgaS0tO1xuICAgIH1cbiAgICBpZiAoaSA+PSAwKVxuICAgICAgaysrO1xuICAgIGFjYyA9IGFjYy5kYmxwKGspO1xuICAgIGlmIChpIDwgMClcbiAgICAgIGJyZWFrO1xuXG4gICAgZm9yIChqID0gMDsgaiA8IGxlbjsgaisrKSB7XG4gICAgICB2YXIgeiA9IHRtcFtqXTtcbiAgICAgIHA7XG4gICAgICBpZiAoeiA9PT0gMClcbiAgICAgICAgY29udGludWU7XG4gICAgICBlbHNlIGlmICh6ID4gMClcbiAgICAgICAgcCA9IHduZFtqXVsoeiAtIDEpID4+IDFdO1xuICAgICAgZWxzZSBpZiAoeiA8IDApXG4gICAgICAgIHAgPSB3bmRbal1bKC16IC0gMSkgPj4gMV0ubmVnKCk7XG5cbiAgICAgIGlmIChwLnR5cGUgPT09ICdhZmZpbmUnKVxuICAgICAgICBhY2MgPSBhY2MubWl4ZWRBZGQocCk7XG4gICAgICBlbHNlXG4gICAgICAgIGFjYyA9IGFjYy5hZGQocCk7XG4gICAgfVxuICB9XG4gIC8vIFplcm9pZnkgcmVmZXJlbmNlc1xuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspXG4gICAgd25kW2ldID0gbnVsbDtcblxuICBpZiAoamFjb2JpYW5SZXN1bHQpXG4gICAgcmV0dXJuIGFjYztcbiAgZWxzZVxuICAgIHJldHVybiBhY2MudG9QKCk7XG59O1xuXG5mdW5jdGlvbiBCYXNlUG9pbnQoY3VydmUsIHR5cGUpIHtcbiAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xuICB0aGlzLnR5cGUgPSB0eXBlO1xuICB0aGlzLnByZWNvbXB1dGVkID0gbnVsbDtcbn1cbkJhc2VDdXJ2ZS5CYXNlUG9pbnQgPSBCYXNlUG9pbnQ7XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuZXEgPSBmdW5jdGlvbiBlcSgvKm90aGVyKi8pIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQnKTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUudmFsaWRhdGUgPSBmdW5jdGlvbiB2YWxpZGF0ZSgpIHtcbiAgcmV0dXJuIHRoaXMuY3VydmUudmFsaWRhdGUodGhpcyk7XG59O1xuXG5CYXNlQ3VydmUucHJvdG90eXBlLmRlY29kZVBvaW50ID0gZnVuY3Rpb24gZGVjb2RlUG9pbnQoYnl0ZXMsIGVuYykge1xuICBieXRlcyA9IHV0aWxzLnRvQXJyYXkoYnl0ZXMsIGVuYyk7XG5cbiAgdmFyIGxlbiA9IHRoaXMucC5ieXRlTGVuZ3RoKCk7XG5cbiAgLy8gdW5jb21wcmVzc2VkLCBoeWJyaWQtb2RkLCBoeWJyaWQtZXZlblxuICBpZiAoKGJ5dGVzWzBdID09PSAweDA0IHx8IGJ5dGVzWzBdID09PSAweDA2IHx8IGJ5dGVzWzBdID09PSAweDA3KSAmJlxuICAgICAgYnl0ZXMubGVuZ3RoIC0gMSA9PT0gMiAqIGxlbikge1xuICAgIGlmIChieXRlc1swXSA9PT0gMHgwNilcbiAgICAgIGFzc2VydChieXRlc1tieXRlcy5sZW5ndGggLSAxXSAlIDIgPT09IDApO1xuICAgIGVsc2UgaWYgKGJ5dGVzWzBdID09PSAweDA3KVxuICAgICAgYXNzZXJ0KGJ5dGVzW2J5dGVzLmxlbmd0aCAtIDFdICUgMiA9PT0gMSk7XG5cbiAgICB2YXIgcmVzID0gIHRoaXMucG9pbnQoYnl0ZXMuc2xpY2UoMSwgMSArIGxlbiksXG4gICAgICBieXRlcy5zbGljZSgxICsgbGVuLCAxICsgMiAqIGxlbikpO1xuXG4gICAgcmV0dXJuIHJlcztcbiAgfSBlbHNlIGlmICgoYnl0ZXNbMF0gPT09IDB4MDIgfHwgYnl0ZXNbMF0gPT09IDB4MDMpICYmXG4gICAgICAgICAgICAgIGJ5dGVzLmxlbmd0aCAtIDEgPT09IGxlbikge1xuICAgIHJldHVybiB0aGlzLnBvaW50RnJvbVgoYnl0ZXMuc2xpY2UoMSwgMSArIGxlbiksIGJ5dGVzWzBdID09PSAweDAzKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gcG9pbnQgZm9ybWF0Jyk7XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLmVuY29kZUNvbXByZXNzZWQgPSBmdW5jdGlvbiBlbmNvZGVDb21wcmVzc2VkKGVuYykge1xuICByZXR1cm4gdGhpcy5lbmNvZGUoZW5jLCB0cnVlKTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuX2VuY29kZSA9IGZ1bmN0aW9uIF9lbmNvZGUoY29tcGFjdCkge1xuICB2YXIgbGVuID0gdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKTtcbiAgdmFyIHggPSB0aGlzLmdldFgoKS50b0FycmF5KCdiZScsIGxlbik7XG5cbiAgaWYgKGNvbXBhY3QpXG4gICAgcmV0dXJuIFsgdGhpcy5nZXRZKCkuaXNFdmVuKCkgPyAweDAyIDogMHgwMyBdLmNvbmNhdCh4KTtcblxuICByZXR1cm4gWyAweDA0IF0uY29uY2F0KHgsIHRoaXMuZ2V0WSgpLnRvQXJyYXkoJ2JlJywgbGVuKSk7XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShlbmMsIGNvbXBhY3QpIHtcbiAgcmV0dXJuIHV0aWxzLmVuY29kZSh0aGlzLl9lbmNvZGUoY29tcGFjdCksIGVuYyk7XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLnByZWNvbXB1dGUgPSBmdW5jdGlvbiBwcmVjb21wdXRlKHBvd2VyKSB7XG4gIGlmICh0aGlzLnByZWNvbXB1dGVkKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIHZhciBwcmVjb21wdXRlZCA9IHtcbiAgICBkb3VibGVzOiBudWxsLFxuICAgIG5hZjogbnVsbCxcbiAgICBiZXRhOiBudWxsLFxuICB9O1xuICBwcmVjb21wdXRlZC5uYWYgPSB0aGlzLl9nZXROQUZQb2ludHMoOCk7XG4gIHByZWNvbXB1dGVkLmRvdWJsZXMgPSB0aGlzLl9nZXREb3VibGVzKDQsIHBvd2VyKTtcbiAgcHJlY29tcHV0ZWQuYmV0YSA9IHRoaXMuX2dldEJldGEoKTtcbiAgdGhpcy5wcmVjb21wdXRlZCA9IHByZWNvbXB1dGVkO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuQmFzZVBvaW50LnByb3RvdHlwZS5faGFzRG91YmxlcyA9IGZ1bmN0aW9uIF9oYXNEb3VibGVzKGspIHtcbiAgaWYgKCF0aGlzLnByZWNvbXB1dGVkKVxuICAgIHJldHVybiBmYWxzZTtcblxuICB2YXIgZG91YmxlcyA9IHRoaXMucHJlY29tcHV0ZWQuZG91YmxlcztcbiAgaWYgKCFkb3VibGVzKVxuICAgIHJldHVybiBmYWxzZTtcblxuICByZXR1cm4gZG91Ymxlcy5wb2ludHMubGVuZ3RoID49IE1hdGguY2VpbCgoay5iaXRMZW5ndGgoKSArIDEpIC8gZG91Ymxlcy5zdGVwKTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldERvdWJsZXMgPSBmdW5jdGlvbiBfZ2V0RG91YmxlcyhzdGVwLCBwb3dlcikge1xuICBpZiAodGhpcy5wcmVjb21wdXRlZCAmJiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMpXG4gICAgcmV0dXJuIHRoaXMucHJlY29tcHV0ZWQuZG91YmxlcztcblxuICB2YXIgZG91YmxlcyA9IFsgdGhpcyBdO1xuICB2YXIgYWNjID0gdGhpcztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb3dlcjsgaSArPSBzdGVwKSB7XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBzdGVwOyBqKyspXG4gICAgICBhY2MgPSBhY2MuZGJsKCk7XG4gICAgZG91Ymxlcy5wdXNoKGFjYyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBzdGVwOiBzdGVwLFxuICAgIHBvaW50czogZG91YmxlcyxcbiAgfTtcbn07XG5cbkJhc2VQb2ludC5wcm90b3R5cGUuX2dldE5BRlBvaW50cyA9IGZ1bmN0aW9uIF9nZXROQUZQb2ludHMod25kKSB7XG4gIGlmICh0aGlzLnByZWNvbXB1dGVkICYmIHRoaXMucHJlY29tcHV0ZWQubmFmKVxuICAgIHJldHVybiB0aGlzLnByZWNvbXB1dGVkLm5hZjtcblxuICB2YXIgcmVzID0gWyB0aGlzIF07XG4gIHZhciBtYXggPSAoMSA8PCB3bmQpIC0gMTtcbiAgdmFyIGRibCA9IG1heCA9PT0gMSA/IG51bGwgOiB0aGlzLmRibCgpO1xuICBmb3IgKHZhciBpID0gMTsgaSA8IG1heDsgaSsrKVxuICAgIHJlc1tpXSA9IHJlc1tpIC0gMV0uYWRkKGRibCk7XG4gIHJldHVybiB7XG4gICAgd25kOiB3bmQsXG4gICAgcG9pbnRzOiByZXMsXG4gIH07XG59O1xuXG5CYXNlUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhID0gZnVuY3Rpb24gX2dldEJldGEoKSB7XG4gIHJldHVybiBudWxsO1xufTtcblxuQmFzZVBvaW50LnByb3RvdHlwZS5kYmxwID0gZnVuY3Rpb24gZGJscChrKSB7XG4gIHZhciByID0gdGhpcztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBrOyBpKyspXG4gICAgciA9IHIuZGJsKCk7XG4gIHJldHVybiByO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xudmFyIEJhc2UgPSByZXF1aXJlKCcuL2Jhc2UnKTtcblxudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gRWR3YXJkc0N1cnZlKGNvbmYpIHtcbiAgLy8gTk9URTogSW1wb3J0YW50IGFzIHdlIGFyZSBjcmVhdGluZyBwb2ludCBpbiBCYXNlLmNhbGwoKVxuICB0aGlzLnR3aXN0ZWQgPSAoY29uZi5hIHwgMCkgIT09IDE7XG4gIHRoaXMubU9uZUEgPSB0aGlzLnR3aXN0ZWQgJiYgKGNvbmYuYSB8IDApID09PSAtMTtcbiAgdGhpcy5leHRlbmRlZCA9IHRoaXMubU9uZUE7XG5cbiAgQmFzZS5jYWxsKHRoaXMsICdlZHdhcmRzJywgY29uZik7XG5cbiAgdGhpcy5hID0gbmV3IEJOKGNvbmYuYSwgMTYpLnVtb2QodGhpcy5yZWQubSk7XG4gIHRoaXMuYSA9IHRoaXMuYS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYyA9IG5ldyBCTihjb25mLmMsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYzIgPSB0aGlzLmMucmVkU3FyKCk7XG4gIHRoaXMuZCA9IG5ldyBCTihjb25mLmQsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuZGQgPSB0aGlzLmQucmVkQWRkKHRoaXMuZCk7XG5cbiAgYXNzZXJ0KCF0aGlzLnR3aXN0ZWQgfHwgdGhpcy5jLmZyb21SZWQoKS5jbXBuKDEpID09PSAwKTtcbiAgdGhpcy5vbmVDID0gKGNvbmYuYyB8IDApID09PSAxO1xufVxuaW5oZXJpdHMoRWR3YXJkc0N1cnZlLCBCYXNlKTtcbm1vZHVsZS5leHBvcnRzID0gRWR3YXJkc0N1cnZlO1xuXG5FZHdhcmRzQ3VydmUucHJvdG90eXBlLl9tdWxBID0gZnVuY3Rpb24gX211bEEobnVtKSB7XG4gIGlmICh0aGlzLm1PbmVBKVxuICAgIHJldHVybiBudW0ucmVkTmVnKCk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5hLnJlZE11bChudW0pO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5fbXVsQyA9IGZ1bmN0aW9uIF9tdWxDKG51bSkge1xuICBpZiAodGhpcy5vbmVDKVxuICAgIHJldHVybiBudW07XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5jLnJlZE11bChudW0pO1xufTtcblxuLy8gSnVzdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFNob3J0IGN1cnZlXG5FZHdhcmRzQ3VydmUucHJvdG90eXBlLmpwb2ludCA9IGZ1bmN0aW9uIGpwb2ludCh4LCB5LCB6LCB0KSB7XG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHksIHosIHQpO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21YID0gZnVuY3Rpb24gcG9pbnRGcm9tWCh4LCBvZGQpIHtcbiAgeCA9IG5ldyBCTih4LCAxNik7XG4gIGlmICgheC5yZWQpXG4gICAgeCA9IHgudG9SZWQodGhpcy5yZWQpO1xuXG4gIHZhciB4MiA9IHgucmVkU3FyKCk7XG4gIHZhciByaHMgPSB0aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKHgyKSk7XG4gIHZhciBsaHMgPSB0aGlzLm9uZS5yZWRTdWIodGhpcy5jMi5yZWRNdWwodGhpcy5kKS5yZWRNdWwoeDIpKTtcblxuICB2YXIgeTIgPSByaHMucmVkTXVsKGxocy5yZWRJbnZtKCkpO1xuICB2YXIgeSA9IHkyLnJlZFNxcnQoKTtcbiAgaWYgKHkucmVkU3FyKCkucmVkU3ViKHkyKS5jbXAodGhpcy56ZXJvKSAhPT0gMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcblxuICB2YXIgaXNPZGQgPSB5LmZyb21SZWQoKS5pc09kZCgpO1xuICBpZiAob2RkICYmICFpc09kZCB8fCAhb2RkICYmIGlzT2RkKVxuICAgIHkgPSB5LnJlZE5lZygpO1xuXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS5wb2ludEZyb21ZID0gZnVuY3Rpb24gcG9pbnRGcm9tWSh5LCBvZGQpIHtcbiAgeSA9IG5ldyBCTih5LCAxNik7XG4gIGlmICgheS5yZWQpXG4gICAgeSA9IHkudG9SZWQodGhpcy5yZWQpO1xuXG4gIC8vIHheMiA9ICh5XjIgLSBjXjIpIC8gKGNeMiBkIHleMiAtIGEpXG4gIHZhciB5MiA9IHkucmVkU3FyKCk7XG4gIHZhciBsaHMgPSB5Mi5yZWRTdWIodGhpcy5jMik7XG4gIHZhciByaHMgPSB5Mi5yZWRNdWwodGhpcy5kKS5yZWRNdWwodGhpcy5jMikucmVkU3ViKHRoaXMuYSk7XG4gIHZhciB4MiA9IGxocy5yZWRNdWwocmhzLnJlZEludm0oKSk7XG5cbiAgaWYgKHgyLmNtcCh0aGlzLnplcm8pID09PSAwKSB7XG4gICAgaWYgKG9kZClcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLnBvaW50KHRoaXMuemVybywgeSk7XG4gIH1cblxuICB2YXIgeCA9IHgyLnJlZFNxcnQoKTtcbiAgaWYgKHgucmVkU3FyKCkucmVkU3ViKHgyKS5jbXAodGhpcy56ZXJvKSAhPT0gMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcG9pbnQnKTtcblxuICBpZiAoeC5mcm9tUmVkKCkuaXNPZGQoKSAhPT0gb2RkKVxuICAgIHggPSB4LnJlZE5lZygpO1xuXG4gIHJldHVybiB0aGlzLnBvaW50KHgsIHkpO1xufTtcblxuRWR3YXJkc0N1cnZlLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKHBvaW50KSB7XG4gIGlmIChwb2ludC5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgLy8gQ3VydmU6IEEgKiBYXjIgKyBZXjIgPSBDXjIgKiAoMSArIEQgKiBYXjIgKiBZXjIpXG4gIHBvaW50Lm5vcm1hbGl6ZSgpO1xuXG4gIHZhciB4MiA9IHBvaW50LngucmVkU3FyKCk7XG4gIHZhciB5MiA9IHBvaW50LnkucmVkU3FyKCk7XG4gIHZhciBsaHMgPSB4Mi5yZWRNdWwodGhpcy5hKS5yZWRBZGQoeTIpO1xuICB2YXIgcmhzID0gdGhpcy5jMi5yZWRNdWwodGhpcy5vbmUucmVkQWRkKHRoaXMuZC5yZWRNdWwoeDIpLnJlZE11bCh5MikpKTtcblxuICByZXR1cm4gbGhzLmNtcChyaHMpID09PSAwO1xufTtcblxuZnVuY3Rpb24gUG9pbnQoY3VydmUsIHgsIHksIHosIHQpIHtcbiAgQmFzZS5CYXNlUG9pbnQuY2FsbCh0aGlzLCBjdXJ2ZSwgJ3Byb2plY3RpdmUnKTtcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS56ZXJvO1xuICAgIHRoaXMueSA9IHRoaXMuY3VydmUub25lO1xuICAgIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xuICAgIHRoaXMudCA9IHRoaXMuY3VydmUuemVybztcbiAgICB0aGlzLnpPbmUgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcbiAgICB0aGlzLnogPSB6ID8gbmV3IEJOKHosIDE2KSA6IHRoaXMuY3VydmUub25lO1xuICAgIHRoaXMudCA9IHQgJiYgbmV3IEJOKHQsIDE2KTtcbiAgICBpZiAoIXRoaXMueC5yZWQpXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgIGlmICghdGhpcy55LnJlZClcbiAgICAgIHRoaXMueSA9IHRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XG4gICAgaWYgKCF0aGlzLnoucmVkKVxuICAgICAgdGhpcy56ID0gdGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICBpZiAodGhpcy50ICYmICF0aGlzLnQucmVkKVxuICAgICAgdGhpcy50ID0gdGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICB0aGlzLnpPbmUgPSB0aGlzLnogPT09IHRoaXMuY3VydmUub25lO1xuXG4gICAgLy8gVXNlIGV4dGVuZGVkIGNvb3JkaW5hdGVzXG4gICAgaWYgKHRoaXMuY3VydmUuZXh0ZW5kZWQgJiYgIXRoaXMudCkge1xuICAgICAgdGhpcy50ID0gdGhpcy54LnJlZE11bCh0aGlzLnkpO1xuICAgICAgaWYgKCF0aGlzLnpPbmUpXG4gICAgICAgIHRoaXMudCA9IHRoaXMudC5yZWRNdWwodGhpcy56LnJlZEludm0oKSk7XG4gICAgfVxuICB9XG59XG5pbmhlcml0cyhQb2ludCwgQmFzZS5CYXNlUG9pbnQpO1xuXG5FZHdhcmRzQ3VydmUucHJvdG90eXBlLnBvaW50RnJvbUpTT04gPSBmdW5jdGlvbiBwb2ludEZyb21KU09OKG9iaikge1xuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqKTtcbn07XG5cbkVkd2FyZHNDdXJ2ZS5wcm90b3R5cGUucG9pbnQgPSBmdW5jdGlvbiBwb2ludCh4LCB5LCB6LCB0KSB7XG4gIHJldHVybiBuZXcgUG9pbnQodGhpcywgeCwgeSwgeiwgdCk7XG59O1xuXG5Qb2ludC5mcm9tSlNPTiA9IGZ1bmN0aW9uIGZyb21KU09OKGN1cnZlLCBvYmopIHtcbiAgcmV0dXJuIG5ldyBQb2ludChjdXJ2ZSwgb2JqWzBdLCBvYmpbMV0sIG9ialsyXSk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uIGluc3BlY3QoKSB7XG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gJzxFQyBQb2ludCBJbmZpbml0eT4nO1xuICByZXR1cm4gJzxFQyBQb2ludCB4OiAnICsgdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgK1xuICAgICAgJyB5OiAnICsgdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgK1xuICAgICAgJyB6OiAnICsgdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwgMikgKyAnPic7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuaXNJbmZpbml0eSA9IGZ1bmN0aW9uIGlzSW5maW5pdHkoKSB7XG4gIC8vIFhYWCBUaGlzIGNvZGUgYXNzdW1lcyB0aGF0IHplcm8gaXMgYWx3YXlzIHplcm8gaW4gcmVkXG4gIHJldHVybiB0aGlzLnguY21wbigwKSA9PT0gMCAmJlxuICAgICh0aGlzLnkuY21wKHRoaXMueikgPT09IDAgfHxcbiAgICAodGhpcy56T25lICYmIHRoaXMueS5jbXAodGhpcy5jdXJ2ZS5jKSA9PT0gMCkpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLl9leHREYmwgPSBmdW5jdGlvbiBfZXh0RGJsKCkge1xuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1leHRlbmRlZC0xLmh0bWxcbiAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOC1od2NkXG4gIC8vIDRNICsgNFNcblxuICAvLyBBID0gWDFeMlxuICB2YXIgYSA9IHRoaXMueC5yZWRTcXIoKTtcbiAgLy8gQiA9IFkxXjJcbiAgdmFyIGIgPSB0aGlzLnkucmVkU3FyKCk7XG4gIC8vIEMgPSAyICogWjFeMlxuICB2YXIgYyA9IHRoaXMuei5yZWRTcXIoKTtcbiAgYyA9IGMucmVkSUFkZChjKTtcbiAgLy8gRCA9IGEgKiBBXG4gIHZhciBkID0gdGhpcy5jdXJ2ZS5fbXVsQShhKTtcbiAgLy8gRSA9IChYMSArIFkxKV4yIC0gQSAtIEJcbiAgdmFyIGUgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGIpO1xuICAvLyBHID0gRCArIEJcbiAgdmFyIGcgPSBkLnJlZEFkZChiKTtcbiAgLy8gRiA9IEcgLSBDXG4gIHZhciBmID0gZy5yZWRTdWIoYyk7XG4gIC8vIEggPSBEIC0gQlxuICB2YXIgaCA9IGQucmVkU3ViKGIpO1xuICAvLyBYMyA9IEUgKiBGXG4gIHZhciBueCA9IGUucmVkTXVsKGYpO1xuICAvLyBZMyA9IEcgKiBIXG4gIHZhciBueSA9IGcucmVkTXVsKGgpO1xuICAvLyBUMyA9IEUgKiBIXG4gIHZhciBudCA9IGUucmVkTXVsKGgpO1xuICAvLyBaMyA9IEYgKiBHXG4gIHZhciBueiA9IGYucmVkTXVsKGcpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56LCBudCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuX3Byb2pEYmwgPSBmdW5jdGlvbiBfcHJvakRibCgpIHtcbiAgLy8gaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXR3aXN0ZWQtcHJvamVjdGl2ZS5odG1sXG4gIC8vICAgICAjZG91YmxpbmctZGJsLTIwMDgtYmJqbHBcbiAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwNy1ibFxuICAvLyBhbmQgb3RoZXJzXG4gIC8vIEdlbmVyYWxseSAzTSArIDRTIG9yIDJNICsgNFNcblxuICAvLyBCID0gKFgxICsgWTEpXjJcbiAgdmFyIGIgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCk7XG4gIC8vIEMgPSBYMV4yXG4gIHZhciBjID0gdGhpcy54LnJlZFNxcigpO1xuICAvLyBEID0gWTFeMlxuICB2YXIgZCA9IHRoaXMueS5yZWRTcXIoKTtcblxuICB2YXIgbng7XG4gIHZhciBueTtcbiAgdmFyIG56O1xuICB2YXIgZTtcbiAgdmFyIGg7XG4gIHZhciBqO1xuICBpZiAodGhpcy5jdXJ2ZS50d2lzdGVkKSB7XG4gICAgLy8gRSA9IGEgKiBDXG4gICAgZSA9IHRoaXMuY3VydmUuX211bEEoYyk7XG4gICAgLy8gRiA9IEUgKyBEXG4gICAgdmFyIGYgPSBlLnJlZEFkZChkKTtcbiAgICBpZiAodGhpcy56T25lKSB7XG4gICAgICAvLyBYMyA9IChCIC0gQyAtIEQpICogKEYgLSAyKVxuICAgICAgbnggPSBiLnJlZFN1YihjKS5yZWRTdWIoZCkucmVkTXVsKGYucmVkU3ViKHRoaXMuY3VydmUudHdvKSk7XG4gICAgICAvLyBZMyA9IEYgKiAoRSAtIEQpXG4gICAgICBueSA9IGYucmVkTXVsKGUucmVkU3ViKGQpKTtcbiAgICAgIC8vIFozID0gRl4yIC0gMiAqIEZcbiAgICAgIG56ID0gZi5yZWRTcXIoKS5yZWRTdWIoZikucmVkU3ViKGYpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBIID0gWjFeMlxuICAgICAgaCA9IHRoaXMuei5yZWRTcXIoKTtcbiAgICAgIC8vIEogPSBGIC0gMiAqIEhcbiAgICAgIGogPSBmLnJlZFN1YihoKS5yZWRJU3ViKGgpO1xuICAgICAgLy8gWDMgPSAoQi1DLUQpKkpcbiAgICAgIG54ID0gYi5yZWRTdWIoYykucmVkSVN1YihkKS5yZWRNdWwoaik7XG4gICAgICAvLyBZMyA9IEYgKiAoRSAtIEQpXG4gICAgICBueSA9IGYucmVkTXVsKGUucmVkU3ViKGQpKTtcbiAgICAgIC8vIFozID0gRiAqIEpcbiAgICAgIG56ID0gZi5yZWRNdWwoaik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIEUgPSBDICsgRFxuICAgIGUgPSBjLnJlZEFkZChkKTtcbiAgICAvLyBIID0gKGMgKiBaMSleMlxuICAgIGggPSB0aGlzLmN1cnZlLl9tdWxDKHRoaXMueikucmVkU3FyKCk7XG4gICAgLy8gSiA9IEUgLSAyICogSFxuICAgIGogPSBlLnJlZFN1YihoKS5yZWRTdWIoaCk7XG4gICAgLy8gWDMgPSBjICogKEIgLSBFKSAqIEpcbiAgICBueCA9IHRoaXMuY3VydmUuX211bEMoYi5yZWRJU3ViKGUpKS5yZWRNdWwoaik7XG4gICAgLy8gWTMgPSBjICogRSAqIChDIC0gRClcbiAgICBueSA9IHRoaXMuY3VydmUuX211bEMoZSkucmVkTXVsKGMucmVkSVN1YihkKSk7XG4gICAgLy8gWjMgPSBFICogSlxuICAgIG56ID0gZS5yZWRNdWwoaik7XG4gIH1cbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobngsIG55LCBueik7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuZGJsID0gZnVuY3Rpb24gZGJsKCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgLy8gRG91YmxlIGluIGV4dGVuZGVkIGNvb3JkaW5hdGVzXG4gIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkKVxuICAgIHJldHVybiB0aGlzLl9leHREYmwoKTtcbiAgZWxzZVxuICAgIHJldHVybiB0aGlzLl9wcm9qRGJsKCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuX2V4dEFkZCA9IGZ1bmN0aW9uIF9leHRBZGQocCkge1xuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tdHdpc3RlZC1leHRlbmRlZC0xLmh0bWxcbiAgLy8gICAgICNhZGRpdGlvbi1hZGQtMjAwOC1od2NkLTNcbiAgLy8gOE1cblxuICAvLyBBID0gKFkxIC0gWDEpICogKFkyIC0gWDIpXG4gIHZhciBhID0gdGhpcy55LnJlZFN1Yih0aGlzLngpLnJlZE11bChwLnkucmVkU3ViKHAueCkpO1xuICAvLyBCID0gKFkxICsgWDEpICogKFkyICsgWDIpXG4gIHZhciBiID0gdGhpcy55LnJlZEFkZCh0aGlzLngpLnJlZE11bChwLnkucmVkQWRkKHAueCkpO1xuICAvLyBDID0gVDEgKiBrICogVDJcbiAgdmFyIGMgPSB0aGlzLnQucmVkTXVsKHRoaXMuY3VydmUuZGQpLnJlZE11bChwLnQpO1xuICAvLyBEID0gWjEgKiAyICogWjJcbiAgdmFyIGQgPSB0aGlzLnoucmVkTXVsKHAuei5yZWRBZGQocC56KSk7XG4gIC8vIEUgPSBCIC0gQVxuICB2YXIgZSA9IGIucmVkU3ViKGEpO1xuICAvLyBGID0gRCAtIENcbiAgdmFyIGYgPSBkLnJlZFN1YihjKTtcbiAgLy8gRyA9IEQgKyBDXG4gIHZhciBnID0gZC5yZWRBZGQoYyk7XG4gIC8vIEggPSBCICsgQVxuICB2YXIgaCA9IGIucmVkQWRkKGEpO1xuICAvLyBYMyA9IEUgKiBGXG4gIHZhciBueCA9IGUucmVkTXVsKGYpO1xuICAvLyBZMyA9IEcgKiBIXG4gIHZhciBueSA9IGcucmVkTXVsKGgpO1xuICAvLyBUMyA9IEUgKiBIXG4gIHZhciBudCA9IGUucmVkTXVsKGgpO1xuICAvLyBaMyA9IEYgKiBHXG4gIHZhciBueiA9IGYucmVkTXVsKGcpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnksIG56LCBudCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuX3Byb2pBZGQgPSBmdW5jdGlvbiBfcHJvakFkZChwKSB7XG4gIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by10d2lzdGVkLXByb2plY3RpdmUuaHRtbFxuICAvLyAgICAgI2FkZGl0aW9uLWFkZC0yMDA4LWJiamxwXG4gIC8vICAgICAjYWRkaXRpb24tYWRkLTIwMDctYmxcbiAgLy8gMTBNICsgMVNcblxuICAvLyBBID0gWjEgKiBaMlxuICB2YXIgYSA9IHRoaXMuei5yZWRNdWwocC56KTtcbiAgLy8gQiA9IEFeMlxuICB2YXIgYiA9IGEucmVkU3FyKCk7XG4gIC8vIEMgPSBYMSAqIFgyXG4gIHZhciBjID0gdGhpcy54LnJlZE11bChwLngpO1xuICAvLyBEID0gWTEgKiBZMlxuICB2YXIgZCA9IHRoaXMueS5yZWRNdWwocC55KTtcbiAgLy8gRSA9IGQgKiBDICogRFxuICB2YXIgZSA9IHRoaXMuY3VydmUuZC5yZWRNdWwoYykucmVkTXVsKGQpO1xuICAvLyBGID0gQiAtIEVcbiAgdmFyIGYgPSBiLnJlZFN1YihlKTtcbiAgLy8gRyA9IEIgKyBFXG4gIHZhciBnID0gYi5yZWRBZGQoZSk7XG4gIC8vIFgzID0gQSAqIEYgKiAoKFgxICsgWTEpICogKFgyICsgWTIpIC0gQyAtIEQpXG4gIHZhciB0bXAgPSB0aGlzLngucmVkQWRkKHRoaXMueSkucmVkTXVsKHAueC5yZWRBZGQocC55KSkucmVkSVN1YihjKS5yZWRJU3ViKGQpO1xuICB2YXIgbnggPSBhLnJlZE11bChmKS5yZWRNdWwodG1wKTtcbiAgdmFyIG55O1xuICB2YXIgbno7XG4gIGlmICh0aGlzLmN1cnZlLnR3aXN0ZWQpIHtcbiAgICAvLyBZMyA9IEEgKiBHICogKEQgLSBhICogQylcbiAgICBueSA9IGEucmVkTXVsKGcpLnJlZE11bChkLnJlZFN1Yih0aGlzLmN1cnZlLl9tdWxBKGMpKSk7XG4gICAgLy8gWjMgPSBGICogR1xuICAgIG56ID0gZi5yZWRNdWwoZyk7XG4gIH0gZWxzZSB7XG4gICAgLy8gWTMgPSBBICogRyAqIChEIC0gQylcbiAgICBueSA9IGEucmVkTXVsKGcpLnJlZE11bChkLnJlZFN1YihjKSk7XG4gICAgLy8gWjMgPSBjICogRiAqIEdcbiAgICBueiA9IHRoaXMuY3VydmUuX211bEMoZikucmVkTXVsKGcpO1xuICB9XG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG54LCBueSwgbnopO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmFkZCA9IGZ1bmN0aW9uIGFkZChwKSB7XG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gcDtcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIGlmICh0aGlzLmN1cnZlLmV4dGVuZGVkKVxuICAgIHJldHVybiB0aGlzLl9leHRBZGQocCk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5fcHJvakFkZChwKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5tdWwgPSBmdW5jdGlvbiBtdWwoaykge1xuICBpZiAodGhpcy5faGFzRG91YmxlcyhrKSlcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcywgayk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLCBrKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5tdWxBZGQgPSBmdW5jdGlvbiBtdWxBZGQoazEsIHAsIGsyKSB7XG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIFsgdGhpcywgcCBdLCBbIGsxLCBrMiBdLCAyLCBmYWxzZSk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuam11bEFkZCA9IGZ1bmN0aW9uIGptdWxBZGQoazEsIHAsIGsyKSB7XG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsQWRkKDEsIFsgdGhpcywgcCBdLCBbIGsxLCBrMiBdLCAyLCB0cnVlKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiBub3JtYWxpemUoKSB7XG4gIGlmICh0aGlzLnpPbmUpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgLy8gTm9ybWFsaXplIGNvb3JkaW5hdGVzXG4gIHZhciB6aSA9IHRoaXMuei5yZWRJbnZtKCk7XG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwoemkpO1xuICB0aGlzLnkgPSB0aGlzLnkucmVkTXVsKHppKTtcbiAgaWYgKHRoaXMudClcbiAgICB0aGlzLnQgPSB0aGlzLnQucmVkTXVsKHppKTtcbiAgdGhpcy56ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gIHRoaXMuek9uZSA9IHRydWU7XG4gIHJldHVybiB0aGlzO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcbiAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE5lZygpLFxuICAgIHRoaXMueSxcbiAgICB0aGlzLnosXG4gICAgdGhpcy50ICYmIHRoaXMudC5yZWROZWcoKSk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuZ2V0WCA9IGZ1bmN0aW9uIGdldFgoKSB7XG4gIHRoaXMubm9ybWFsaXplKCk7XG4gIHJldHVybiB0aGlzLnguZnJvbVJlZCgpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmdldFkgPSBmdW5jdGlvbiBnZXRZKCkge1xuICB0aGlzLm5vcm1hbGl6ZSgpO1xuICByZXR1cm4gdGhpcy55LmZyb21SZWQoKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxKG90aGVyKSB7XG4gIHJldHVybiB0aGlzID09PSBvdGhlciB8fFxuICAgICAgICAgdGhpcy5nZXRYKCkuY21wKG90aGVyLmdldFgoKSkgPT09IDAgJiZcbiAgICAgICAgIHRoaXMuZ2V0WSgpLmNtcChvdGhlci5nZXRZKCkpID09PSAwO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmVxWFRvUCA9IGZ1bmN0aW9uIGVxWFRvUCh4KSB7XG4gIHZhciByeCA9IHgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO1xuICBpZiAodGhpcy54LmNtcChyeCkgPT09IDApXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgdmFyIHhjID0geC5jbG9uZSgpO1xuICB2YXIgdCA9IHRoaXMuY3VydmUucmVkTi5yZWRNdWwodGhpcy56KTtcbiAgZm9yICg7Oykge1xuICAgIHhjLmlhZGQodGhpcy5jdXJ2ZS5uKTtcbiAgICBpZiAoeGMuY21wKHRoaXMuY3VydmUucCkgPj0gMClcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIHJ4LnJlZElBZGQodCk7XG4gICAgaWYgKHRoaXMueC5jbXAocngpID09PSAwKVxuICAgICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG5cbi8vIENvbXBhdGliaWxpdHkgd2l0aCBCYXNlQ3VydmVcblBvaW50LnByb3RvdHlwZS50b1AgPSBQb2ludC5wcm90b3R5cGUubm9ybWFsaXplO1xuUG9pbnQucHJvdG90eXBlLm1peGVkQWRkID0gUG9pbnQucHJvdG90eXBlLmFkZDtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGN1cnZlID0gZXhwb3J0cztcblxuY3VydmUuYmFzZSA9IHJlcXVpcmUoJy4vYmFzZScpO1xuY3VydmUuc2hvcnQgPSByZXF1aXJlKCcuL3Nob3J0Jyk7XG5jdXJ2ZS5tb250ID0gcmVxdWlyZSgnLi9tb250Jyk7XG5jdXJ2ZS5lZHdhcmRzID0gcmVxdWlyZSgnLi9lZHdhcmRzJyk7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xudmFyIEJhc2UgPSByZXF1aXJlKCcuL2Jhc2UnKTtcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcblxuZnVuY3Rpb24gTW9udEN1cnZlKGNvbmYpIHtcbiAgQmFzZS5jYWxsKHRoaXMsICdtb250JywgY29uZik7XG5cbiAgdGhpcy5hID0gbmV3IEJOKGNvbmYuYSwgMTYpLnRvUmVkKHRoaXMucmVkKTtcbiAgdGhpcy5iID0gbmV3IEJOKGNvbmYuYiwgMTYpLnRvUmVkKHRoaXMucmVkKTtcbiAgdGhpcy5pNCA9IG5ldyBCTig0KS50b1JlZCh0aGlzLnJlZCkucmVkSW52bSgpO1xuICB0aGlzLnR3byA9IG5ldyBCTigyKS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYTI0ID0gdGhpcy5pNC5yZWRNdWwodGhpcy5hLnJlZEFkZCh0aGlzLnR3bykpO1xufVxuaW5oZXJpdHMoTW9udEN1cnZlLCBCYXNlKTtcbm1vZHVsZS5leHBvcnRzID0gTW9udEN1cnZlO1xuXG5Nb250Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUocG9pbnQpIHtcbiAgdmFyIHggPSBwb2ludC5ub3JtYWxpemUoKS54O1xuICB2YXIgeDIgPSB4LnJlZFNxcigpO1xuICB2YXIgcmhzID0geDIucmVkTXVsKHgpLnJlZEFkZCh4Mi5yZWRNdWwodGhpcy5hKSkucmVkQWRkKHgpO1xuICB2YXIgeSA9IHJocy5yZWRTcXJ0KCk7XG5cbiAgcmV0dXJuIHkucmVkU3FyKCkuY21wKHJocykgPT09IDA7XG59O1xuXG5mdW5jdGlvbiBQb2ludChjdXJ2ZSwgeCwgeikge1xuICBCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsIGN1cnZlLCAncHJvamVjdGl2ZScpO1xuICBpZiAoeCA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gICAgdGhpcy56ID0gdGhpcy5jdXJ2ZS56ZXJvO1xuICB9IGVsc2Uge1xuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XG4gICAgdGhpcy56ID0gbmV3IEJOKHosIDE2KTtcbiAgICBpZiAoIXRoaXMueC5yZWQpXG4gICAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgIGlmICghdGhpcy56LnJlZClcbiAgICAgIHRoaXMueiA9IHRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XG4gIH1cbn1cbmluaGVyaXRzKFBvaW50LCBCYXNlLkJhc2VQb2ludCk7XG5cbk1vbnRDdXJ2ZS5wcm90b3R5cGUuZGVjb2RlUG9pbnQgPSBmdW5jdGlvbiBkZWNvZGVQb2ludChieXRlcywgZW5jKSB7XG4gIHJldHVybiB0aGlzLnBvaW50KHV0aWxzLnRvQXJyYXkoYnl0ZXMsIGVuYyksIDEpO1xufTtcblxuTW9udEN1cnZlLnByb3RvdHlwZS5wb2ludCA9IGZ1bmN0aW9uIHBvaW50KHgsIHopIHtcbiAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLCB4LCB6KTtcbn07XG5cbk1vbnRDdXJ2ZS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTiA9IGZ1bmN0aW9uIHBvaW50RnJvbUpTT04ob2JqKSB7XG4gIHJldHVybiBQb2ludC5mcm9tSlNPTih0aGlzLCBvYmopO1xufTtcblxuUG9pbnQucHJvdG90eXBlLnByZWNvbXB1dGUgPSBmdW5jdGlvbiBwcmVjb21wdXRlKCkge1xuICAvLyBOby1vcFxufTtcblxuUG9pbnQucHJvdG90eXBlLl9lbmNvZGUgPSBmdW5jdGlvbiBfZW5jb2RlKCkge1xuICByZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgnYmUnLCB0aGlzLmN1cnZlLnAuYnl0ZUxlbmd0aCgpKTtcbn07XG5cblBvaW50LmZyb21KU09OID0gZnVuY3Rpb24gZnJvbUpTT04oY3VydmUsIG9iaikge1xuICByZXR1cm4gbmV3IFBvaW50KGN1cnZlLCBvYmpbMF0sIG9ialsxXSB8fCBjdXJ2ZS5vbmUpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuICc8RUMgUG9pbnQgSW5maW5pdHk+JztcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcbiAgICAgICcgejogJyArIHRoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICsgJz4nO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHkgPSBmdW5jdGlvbiBpc0luZmluaXR5KCkge1xuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxuICByZXR1cm4gdGhpcy56LmNtcG4oMCkgPT09IDA7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuZGJsID0gZnVuY3Rpb24gZGJsKCkge1xuICAvLyBodHRwOi8vaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLW1vbnRnb20teHouaHRtbCNkb3VibGluZy1kYmwtMTk4Ny1tLTNcbiAgLy8gMk0gKyAyUyArIDRBXG5cbiAgLy8gQSA9IFgxICsgWjFcbiAgdmFyIGEgPSB0aGlzLngucmVkQWRkKHRoaXMueik7XG4gIC8vIEFBID0gQV4yXG4gIHZhciBhYSA9IGEucmVkU3FyKCk7XG4gIC8vIEIgPSBYMSAtIFoxXG4gIHZhciBiID0gdGhpcy54LnJlZFN1Yih0aGlzLnopO1xuICAvLyBCQiA9IEJeMlxuICB2YXIgYmIgPSBiLnJlZFNxcigpO1xuICAvLyBDID0gQUEgLSBCQlxuICB2YXIgYyA9IGFhLnJlZFN1YihiYik7XG4gIC8vIFgzID0gQUEgKiBCQlxuICB2YXIgbnggPSBhYS5yZWRNdWwoYmIpO1xuICAvLyBaMyA9IEMgKiAoQkIgKyBBMjQgKiBDKVxuICB2YXIgbnogPSBjLnJlZE11bChiYi5yZWRBZGQodGhpcy5jdXJ2ZS5hMjQucmVkTXVsKGMpKSk7XG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG54LCBueik7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZScpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmRpZmZBZGQgPSBmdW5jdGlvbiBkaWZmQWRkKHAsIGRpZmYpIHtcbiAgLy8gaHR0cDovL2h5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1tb250Z29tLXh6Lmh0bWwjZGlmZmFkZC1kYWRkLTE5ODctbS0zXG4gIC8vIDRNICsgMlMgKyA2QVxuXG4gIC8vIEEgPSBYMiArIFoyXG4gIHZhciBhID0gdGhpcy54LnJlZEFkZCh0aGlzLnopO1xuICAvLyBCID0gWDIgLSBaMlxuICB2YXIgYiA9IHRoaXMueC5yZWRTdWIodGhpcy56KTtcbiAgLy8gQyA9IFgzICsgWjNcbiAgdmFyIGMgPSBwLngucmVkQWRkKHAueik7XG4gIC8vIEQgPSBYMyAtIFozXG4gIHZhciBkID0gcC54LnJlZFN1YihwLnopO1xuICAvLyBEQSA9IEQgKiBBXG4gIHZhciBkYSA9IGQucmVkTXVsKGEpO1xuICAvLyBDQiA9IEMgKiBCXG4gIHZhciBjYiA9IGMucmVkTXVsKGIpO1xuICAvLyBYNSA9IFoxICogKERBICsgQ0IpXjJcbiAgdmFyIG54ID0gZGlmZi56LnJlZE11bChkYS5yZWRBZGQoY2IpLnJlZFNxcigpKTtcbiAgLy8gWjUgPSBYMSAqIChEQSAtIENCKV4yXG4gIHZhciBueiA9IGRpZmYueC5yZWRNdWwoZGEucmVkSVN1YihjYikucmVkU3FyKCkpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnopO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm11bCA9IGZ1bmN0aW9uIG11bChrKSB7XG4gIHZhciB0ID0gay5jbG9uZSgpO1xuICB2YXIgYSA9IHRoaXM7IC8vIChOIC8gMikgKiBRICsgUVxuICB2YXIgYiA9IHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7IC8vIChOIC8gMikgKiBRXG4gIHZhciBjID0gdGhpczsgLy8gUVxuXG4gIGZvciAodmFyIGJpdHMgPSBbXTsgdC5jbXBuKDApICE9PSAwOyB0Lml1c2hybigxKSlcbiAgICBiaXRzLnB1c2godC5hbmRsbigxKSk7XG5cbiAgZm9yICh2YXIgaSA9IGJpdHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBpZiAoYml0c1tpXSA9PT0gMCkge1xuICAgICAgLy8gTiAqIFEgKyBRID0gKChOIC8gMikgKiBRICsgUSkpICsgKE4gLyAyKSAqIFFcbiAgICAgIGEgPSBhLmRpZmZBZGQoYiwgYyk7XG4gICAgICAvLyBOICogUSA9IDIgKiAoKE4gLyAyKSAqIFEgKyBRKSlcbiAgICAgIGIgPSBiLmRibCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOICogUSA9ICgoTiAvIDIpICogUSArIFEpICsgKChOIC8gMikgKiBRKVxuICAgICAgYiA9IGEuZGlmZkFkZChiLCBjKTtcbiAgICAgIC8vIE4gKiBRICsgUSA9IDIgKiAoKE4gLyAyKSAqIFEgKyBRKVxuICAgICAgYSA9IGEuZGJsKCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBiO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm11bEFkZCA9IGZ1bmN0aW9uIG11bEFkZCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUnKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5qdW1sQWRkID0gZnVuY3Rpb24ganVtbEFkZCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUnKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxKG90aGVyKSB7XG4gIHJldHVybiB0aGlzLmdldFgoKS5jbXAob3RoZXIuZ2V0WCgpKSA9PT0gMDtcbn07XG5cblBvaW50LnByb3RvdHlwZS5ub3JtYWxpemUgPSBmdW5jdGlvbiBub3JtYWxpemUoKSB7XG4gIHRoaXMueCA9IHRoaXMueC5yZWRNdWwodGhpcy56LnJlZEludm0oKSk7XG4gIHRoaXMueiA9IHRoaXMuY3VydmUub25lO1xuICByZXR1cm4gdGhpcztcbn07XG5cblBvaW50LnByb3RvdHlwZS5nZXRYID0gZnVuY3Rpb24gZ2V0WCgpIHtcbiAgLy8gTm9ybWFsaXplIGNvb3JkaW5hdGVzXG4gIHRoaXMubm9ybWFsaXplKCk7XG5cbiAgcmV0dXJuIHRoaXMueC5mcm9tUmVkKCk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIEJOID0gcmVxdWlyZSgnYm4uanMnKTtcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG52YXIgQmFzZSA9IHJlcXVpcmUoJy4vYmFzZScpO1xuXG52YXIgYXNzZXJ0ID0gdXRpbHMuYXNzZXJ0O1xuXG5mdW5jdGlvbiBTaG9ydEN1cnZlKGNvbmYpIHtcbiAgQmFzZS5jYWxsKHRoaXMsICdzaG9ydCcsIGNvbmYpO1xuXG4gIHRoaXMuYSA9IG5ldyBCTihjb25mLmEsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMuYiA9IG5ldyBCTihjb25mLmIsIDE2KS50b1JlZCh0aGlzLnJlZCk7XG4gIHRoaXMudGludiA9IHRoaXMudHdvLnJlZEludm0oKTtcblxuICB0aGlzLnplcm9BID0gdGhpcy5hLmZyb21SZWQoKS5jbXBuKDApID09PSAwO1xuICB0aGlzLnRocmVlQSA9IHRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMykgPT09IDA7XG5cbiAgLy8gSWYgdGhlIGN1cnZlIGlzIGVuZG9tb3JwaGljLCBwcmVjYWxjdWxhdGUgYmV0YSBhbmQgbGFtYmRhXG4gIHRoaXMuZW5kbyA9IHRoaXMuX2dldEVuZG9tb3JwaGlzbShjb25mKTtcbiAgdGhpcy5fZW5kb1duYWZUMSA9IG5ldyBBcnJheSg0KTtcbiAgdGhpcy5fZW5kb1duYWZUMiA9IG5ldyBBcnJheSg0KTtcbn1cbmluaGVyaXRzKFNob3J0Q3VydmUsIEJhc2UpO1xubW9kdWxlLmV4cG9ydHMgPSBTaG9ydEN1cnZlO1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtID0gZnVuY3Rpb24gX2dldEVuZG9tb3JwaGlzbShjb25mKSB7XG4gIC8vIE5vIGVmZmljaWVudCBlbmRvbW9ycGhpc21cbiAgaWYgKCF0aGlzLnplcm9BIHx8ICF0aGlzLmcgfHwgIXRoaXMubiB8fCB0aGlzLnAubW9kbigzKSAhPT0gMSlcbiAgICByZXR1cm47XG5cbiAgLy8gQ29tcHV0ZSBiZXRhIGFuZCBsYW1iZGEsIHRoYXQgbGFtYmRhICogUCA9IChiZXRhICogUHg7IFB5KVxuICB2YXIgYmV0YTtcbiAgdmFyIGxhbWJkYTtcbiAgaWYgKGNvbmYuYmV0YSkge1xuICAgIGJldGEgPSBuZXcgQk4oY29uZi5iZXRhLCAxNikudG9SZWQodGhpcy5yZWQpO1xuICB9IGVsc2Uge1xuICAgIHZhciBiZXRhcyA9IHRoaXMuX2dldEVuZG9Sb290cyh0aGlzLnApO1xuICAgIC8vIENob29zZSB0aGUgc21hbGxlc3QgYmV0YVxuICAgIGJldGEgPSBiZXRhc1swXS5jbXAoYmV0YXNbMV0pIDwgMCA/IGJldGFzWzBdIDogYmV0YXNbMV07XG4gICAgYmV0YSA9IGJldGEudG9SZWQodGhpcy5yZWQpO1xuICB9XG4gIGlmIChjb25mLmxhbWJkYSkge1xuICAgIGxhbWJkYSA9IG5ldyBCTihjb25mLmxhbWJkYSwgMTYpO1xuICB9IGVsc2Uge1xuICAgIC8vIENob29zZSB0aGUgbGFtYmRhIHRoYXQgaXMgbWF0Y2hpbmcgc2VsZWN0ZWQgYmV0YVxuICAgIHZhciBsYW1iZGFzID0gdGhpcy5fZ2V0RW5kb1Jvb3RzKHRoaXMubik7XG4gICAgaWYgKHRoaXMuZy5tdWwobGFtYmRhc1swXSkueC5jbXAodGhpcy5nLngucmVkTXVsKGJldGEpKSA9PT0gMCkge1xuICAgICAgbGFtYmRhID0gbGFtYmRhc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFtYmRhID0gbGFtYmRhc1sxXTtcbiAgICAgIGFzc2VydCh0aGlzLmcubXVsKGxhbWJkYSkueC5jbXAodGhpcy5nLngucmVkTXVsKGJldGEpKSA9PT0gMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IGJhc2lzIHZlY3RvcnMsIHVzZWQgZm9yIGJhbGFuY2VkIGxlbmd0aC10d28gcmVwcmVzZW50YXRpb25cbiAgdmFyIGJhc2lzO1xuICBpZiAoY29uZi5iYXNpcykge1xuICAgIGJhc2lzID0gY29uZi5iYXNpcy5tYXAoZnVuY3Rpb24odmVjKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhOiBuZXcgQk4odmVjLmEsIDE2KSxcbiAgICAgICAgYjogbmV3IEJOKHZlYy5iLCAxNiksXG4gICAgICB9O1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGJhc2lzID0gdGhpcy5fZ2V0RW5kb0Jhc2lzKGxhbWJkYSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJldGE6IGJldGEsXG4gICAgbGFtYmRhOiBsYW1iZGEsXG4gICAgYmFzaXM6IGJhc2lzLFxuICB9O1xufTtcblxuU2hvcnRDdXJ2ZS5wcm90b3R5cGUuX2dldEVuZG9Sb290cyA9IGZ1bmN0aW9uIF9nZXRFbmRvUm9vdHMobnVtKSB7XG4gIC8vIEZpbmQgcm9vdHMgb2YgZm9yIHheMiArIHggKyAxIGluIEZcbiAgLy8gUm9vdCA9ICgtMSArLSBTcXJ0KC0zKSkgLyAyXG4gIC8vXG4gIHZhciByZWQgPSBudW0gPT09IHRoaXMucCA/IHRoaXMucmVkIDogQk4ubW9udChudW0pO1xuICB2YXIgdGludiA9IG5ldyBCTigyKS50b1JlZChyZWQpLnJlZEludm0oKTtcbiAgdmFyIG50aW52ID0gdGludi5yZWROZWcoKTtcblxuICB2YXIgcyA9IG5ldyBCTigzKS50b1JlZChyZWQpLnJlZE5lZygpLnJlZFNxcnQoKS5yZWRNdWwodGludik7XG5cbiAgdmFyIGwxID0gbnRpbnYucmVkQWRkKHMpLmZyb21SZWQoKTtcbiAgdmFyIGwyID0gbnRpbnYucmVkU3ViKHMpLmZyb21SZWQoKTtcbiAgcmV0dXJuIFsgbDEsIGwyIF07XG59O1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzID0gZnVuY3Rpb24gX2dldEVuZG9CYXNpcyhsYW1iZGEpIHtcbiAgLy8gYXByeFNxcnQgPj0gc3FydCh0aGlzLm4pXG4gIHZhciBhcHJ4U3FydCA9IHRoaXMubi51c2hybihNYXRoLmZsb29yKHRoaXMubi5iaXRMZW5ndGgoKSAvIDIpKTtcblxuICAvLyAzLjc0XG4gIC8vIFJ1biBFR0NELCB1bnRpbCByKEwgKyAxKSA8IGFwcnhTcXJ0XG4gIHZhciB1ID0gbGFtYmRhO1xuICB2YXIgdiA9IHRoaXMubi5jbG9uZSgpO1xuICB2YXIgeDEgPSBuZXcgQk4oMSk7XG4gIHZhciB5MSA9IG5ldyBCTigwKTtcbiAgdmFyIHgyID0gbmV3IEJOKDApO1xuICB2YXIgeTIgPSBuZXcgQk4oMSk7XG5cbiAgLy8gTk9URTogYWxsIHZlY3RvcnMgYXJlIHJvb3RzIG9mOiBhICsgYiAqIGxhbWJkYSA9IDAgKG1vZCBuKVxuICB2YXIgYTA7XG4gIHZhciBiMDtcbiAgLy8gRmlyc3QgdmVjdG9yXG4gIHZhciBhMTtcbiAgdmFyIGIxO1xuICAvLyBTZWNvbmQgdmVjdG9yXG4gIHZhciBhMjtcbiAgdmFyIGIyO1xuXG4gIHZhciBwcmV2UjtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcjtcbiAgdmFyIHg7XG4gIHdoaWxlICh1LmNtcG4oMCkgIT09IDApIHtcbiAgICB2YXIgcSA9IHYuZGl2KHUpO1xuICAgIHIgPSB2LnN1YihxLm11bCh1KSk7XG4gICAgeCA9IHgyLnN1YihxLm11bCh4MSkpO1xuICAgIHZhciB5ID0geTIuc3ViKHEubXVsKHkxKSk7XG5cbiAgICBpZiAoIWExICYmIHIuY21wKGFwcnhTcXJ0KSA8IDApIHtcbiAgICAgIGEwID0gcHJldlIubmVnKCk7XG4gICAgICBiMCA9IHgxO1xuICAgICAgYTEgPSByLm5lZygpO1xuICAgICAgYjEgPSB4O1xuICAgIH0gZWxzZSBpZiAoYTEgJiYgKytpID09PSAyKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgcHJldlIgPSByO1xuXG4gICAgdiA9IHU7XG4gICAgdSA9IHI7XG4gICAgeDIgPSB4MTtcbiAgICB4MSA9IHg7XG4gICAgeTIgPSB5MTtcbiAgICB5MSA9IHk7XG4gIH1cbiAgYTIgPSByLm5lZygpO1xuICBiMiA9IHg7XG5cbiAgdmFyIGxlbjEgPSBhMS5zcXIoKS5hZGQoYjEuc3FyKCkpO1xuICB2YXIgbGVuMiA9IGEyLnNxcigpLmFkZChiMi5zcXIoKSk7XG4gIGlmIChsZW4yLmNtcChsZW4xKSA+PSAwKSB7XG4gICAgYTIgPSBhMDtcbiAgICBiMiA9IGIwO1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIHNpZ25zXG4gIGlmIChhMS5uZWdhdGl2ZSkge1xuICAgIGExID0gYTEubmVnKCk7XG4gICAgYjEgPSBiMS5uZWcoKTtcbiAgfVxuICBpZiAoYTIubmVnYXRpdmUpIHtcbiAgICBhMiA9IGEyLm5lZygpO1xuICAgIGIyID0gYjIubmVnKCk7XG4gIH1cblxuICByZXR1cm4gW1xuICAgIHsgYTogYTEsIGI6IGIxIH0sXG4gICAgeyBhOiBhMiwgYjogYjIgfSxcbiAgXTtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvU3BsaXQgPSBmdW5jdGlvbiBfZW5kb1NwbGl0KGspIHtcbiAgdmFyIGJhc2lzID0gdGhpcy5lbmRvLmJhc2lzO1xuICB2YXIgdjEgPSBiYXNpc1swXTtcbiAgdmFyIHYyID0gYmFzaXNbMV07XG5cbiAgdmFyIGMxID0gdjIuYi5tdWwoaykuZGl2Um91bmQodGhpcy5uKTtcbiAgdmFyIGMyID0gdjEuYi5uZWcoKS5tdWwoaykuZGl2Um91bmQodGhpcy5uKTtcblxuICB2YXIgcDEgPSBjMS5tdWwodjEuYSk7XG4gIHZhciBwMiA9IGMyLm11bCh2Mi5hKTtcbiAgdmFyIHExID0gYzEubXVsKHYxLmIpO1xuICB2YXIgcTIgPSBjMi5tdWwodjIuYik7XG5cbiAgLy8gQ2FsY3VsYXRlIGFuc3dlclxuICB2YXIgazEgPSBrLnN1YihwMSkuc3ViKHAyKTtcbiAgdmFyIGsyID0gcTEuYWRkKHEyKS5uZWcoKTtcbiAgcmV0dXJuIHsgazE6IGsxLCBrMjogazIgfTtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50RnJvbVggPSBmdW5jdGlvbiBwb2ludEZyb21YKHgsIG9kZCkge1xuICB4ID0gbmV3IEJOKHgsIDE2KTtcbiAgaWYgKCF4LnJlZClcbiAgICB4ID0geC50b1JlZCh0aGlzLnJlZCk7XG5cbiAgdmFyIHkyID0geC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZCh4LnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYik7XG4gIHZhciB5ID0geTIucmVkU3FydCgpO1xuICBpZiAoeS5yZWRTcXIoKS5yZWRTdWIoeTIpLmNtcCh0aGlzLnplcm8pICE9PSAwKVxuICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwb2ludCcpO1xuXG4gIC8vIFhYWCBJcyB0aGVyZSBhbnkgd2F5IHRvIHRlbGwgaWYgdGhlIG51bWJlciBpcyBvZGQgd2l0aG91dCBjb252ZXJ0aW5nIGl0XG4gIC8vIHRvIG5vbi1yZWQgZm9ybT9cbiAgdmFyIGlzT2RkID0geS5mcm9tUmVkKCkuaXNPZGQoKTtcbiAgaWYgKG9kZCAmJiAhaXNPZGQgfHwgIW9kZCAmJiBpc09kZClcbiAgICB5ID0geS5yZWROZWcoKTtcblxuICByZXR1cm4gdGhpcy5wb2ludCh4LCB5KTtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLnZhbGlkYXRlID0gZnVuY3Rpb24gdmFsaWRhdGUocG9pbnQpIHtcbiAgaWYgKHBvaW50LmluZilcbiAgICByZXR1cm4gdHJ1ZTtcblxuICB2YXIgeCA9IHBvaW50Lng7XG4gIHZhciB5ID0gcG9pbnQueTtcblxuICB2YXIgYXggPSB0aGlzLmEucmVkTXVsKHgpO1xuICB2YXIgcmhzID0geC5yZWRTcXIoKS5yZWRNdWwoeCkucmVkSUFkZChheCkucmVkSUFkZCh0aGlzLmIpO1xuICByZXR1cm4geS5yZWRTcXIoKS5yZWRJU3ViKHJocykuY21wbigwKSA9PT0gMDtcbn07XG5cblNob3J0Q3VydmUucHJvdG90eXBlLl9lbmRvV25hZk11bEFkZCA9XG4gICAgZnVuY3Rpb24gX2VuZG9XbmFmTXVsQWRkKHBvaW50cywgY29lZmZzLCBqYWNvYmlhblJlc3VsdCkge1xuICAgICAgdmFyIG5wb2ludHMgPSB0aGlzLl9lbmRvV25hZlQxO1xuICAgICAgdmFyIG5jb2VmZnMgPSB0aGlzLl9lbmRvV25hZlQyO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHNwbGl0ID0gdGhpcy5fZW5kb1NwbGl0KGNvZWZmc1tpXSk7XG4gICAgICAgIHZhciBwID0gcG9pbnRzW2ldO1xuICAgICAgICB2YXIgYmV0YSA9IHAuX2dldEJldGEoKTtcblxuICAgICAgICBpZiAoc3BsaXQuazEubmVnYXRpdmUpIHtcbiAgICAgICAgICBzcGxpdC5rMS5pbmVnKCk7XG4gICAgICAgICAgcCA9IHAubmVnKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzcGxpdC5rMi5uZWdhdGl2ZSkge1xuICAgICAgICAgIHNwbGl0LmsyLmluZWcoKTtcbiAgICAgICAgICBiZXRhID0gYmV0YS5uZWcodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBucG9pbnRzW2kgKiAyXSA9IHA7XG4gICAgICAgIG5wb2ludHNbaSAqIDIgKyAxXSA9IGJldGE7XG4gICAgICAgIG5jb2VmZnNbaSAqIDJdID0gc3BsaXQuazE7XG4gICAgICAgIG5jb2VmZnNbaSAqIDIgKyAxXSA9IHNwbGl0LmsyO1xuICAgICAgfVxuICAgICAgdmFyIHJlcyA9IHRoaXMuX3duYWZNdWxBZGQoMSwgbnBvaW50cywgbmNvZWZmcywgaSAqIDIsIGphY29iaWFuUmVzdWx0KTtcblxuICAgICAgLy8gQ2xlYW4tdXAgcmVmZXJlbmNlcyB0byBwb2ludHMgYW5kIGNvZWZmaWNpZW50c1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBpICogMjsgaisrKSB7XG4gICAgICAgIG5wb2ludHNbal0gPSBudWxsO1xuICAgICAgICBuY29lZmZzW2pdID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcblxuZnVuY3Rpb24gUG9pbnQoY3VydmUsIHgsIHksIGlzUmVkKSB7XG4gIEJhc2UuQmFzZVBvaW50LmNhbGwodGhpcywgY3VydmUsICdhZmZpbmUnKTtcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCkge1xuICAgIHRoaXMueCA9IG51bGw7XG4gICAgdGhpcy55ID0gbnVsbDtcbiAgICB0aGlzLmluZiA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy54ID0gbmV3IEJOKHgsIDE2KTtcbiAgICB0aGlzLnkgPSBuZXcgQk4oeSwgMTYpO1xuICAgIC8vIEZvcmNlIHJlZGdvbWVyeSByZXByZXNlbnRhdGlvbiB3aGVuIGxvYWRpbmcgZnJvbSBKU09OXG4gICAgaWYgKGlzUmVkKSB7XG4gICAgICB0aGlzLnguZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgICAgdGhpcy55LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLngucmVkKVxuICAgICAgdGhpcy54ID0gdGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgICBpZiAoIXRoaXMueS5yZWQpXG4gICAgICB0aGlzLnkgPSB0aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICAgIHRoaXMuaW5mID0gZmFsc2U7XG4gIH1cbn1cbmluaGVyaXRzKFBvaW50LCBCYXNlLkJhc2VQb2ludCk7XG5cblNob3J0Q3VydmUucHJvdG90eXBlLnBvaW50ID0gZnVuY3Rpb24gcG9pbnQoeCwgeSwgaXNSZWQpIHtcbiAgcmV0dXJuIG5ldyBQb2ludCh0aGlzLCB4LCB5LCBpc1JlZCk7XG59O1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5wb2ludEZyb21KU09OID0gZnVuY3Rpb24gcG9pbnRGcm9tSlNPTihvYmosIHJlZCkge1xuICByZXR1cm4gUG9pbnQuZnJvbUpTT04odGhpcywgb2JqLCByZWQpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLl9nZXRCZXRhID0gZnVuY3Rpb24gX2dldEJldGEoKSB7XG4gIGlmICghdGhpcy5jdXJ2ZS5lbmRvKVxuICAgIHJldHVybjtcblxuICB2YXIgcHJlID0gdGhpcy5wcmVjb21wdXRlZDtcbiAgaWYgKHByZSAmJiBwcmUuYmV0YSlcbiAgICByZXR1cm4gcHJlLmJldGE7XG5cbiAgdmFyIGJldGEgPSB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWRNdWwodGhpcy5jdXJ2ZS5lbmRvLmJldGEpLCB0aGlzLnkpO1xuICBpZiAocHJlKSB7XG4gICAgdmFyIGN1cnZlID0gdGhpcy5jdXJ2ZTtcbiAgICB2YXIgZW5kb011bCA9IGZ1bmN0aW9uKHApIHtcbiAgICAgIHJldHVybiBjdXJ2ZS5wb2ludChwLngucmVkTXVsKGN1cnZlLmVuZG8uYmV0YSksIHAueSk7XG4gICAgfTtcbiAgICBwcmUuYmV0YSA9IGJldGE7XG4gICAgYmV0YS5wcmVjb21wdXRlZCA9IHtcbiAgICAgIGJldGE6IG51bGwsXG4gICAgICBuYWY6IHByZS5uYWYgJiYge1xuICAgICAgICB3bmQ6IHByZS5uYWYud25kLFxuICAgICAgICBwb2ludHM6IHByZS5uYWYucG9pbnRzLm1hcChlbmRvTXVsKSxcbiAgICAgIH0sXG4gICAgICBkb3VibGVzOiBwcmUuZG91YmxlcyAmJiB7XG4gICAgICAgIHN0ZXA6IHByZS5kb3VibGVzLnN0ZXAsXG4gICAgICAgIHBvaW50czogcHJlLmRvdWJsZXMucG9pbnRzLm1hcChlbmRvTXVsKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICByZXR1cm4gYmV0YTtcbn07XG5cblBvaW50LnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiB0b0pTT04oKSB7XG4gIGlmICghdGhpcy5wcmVjb21wdXRlZClcbiAgICByZXR1cm4gWyB0aGlzLngsIHRoaXMueSBdO1xuXG4gIHJldHVybiBbIHRoaXMueCwgdGhpcy55LCB0aGlzLnByZWNvbXB1dGVkICYmIHtcbiAgICBkb3VibGVzOiB0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMgJiYge1xuICAgICAgc3RlcDogdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnN0ZXAsXG4gICAgICBwb2ludHM6IHRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5wb2ludHMuc2xpY2UoMSksXG4gICAgfSxcbiAgICBuYWY6IHRoaXMucHJlY29tcHV0ZWQubmFmICYmIHtcbiAgICAgIHduZDogdGhpcy5wcmVjb21wdXRlZC5uYWYud25kLFxuICAgICAgcG9pbnRzOiB0aGlzLnByZWNvbXB1dGVkLm5hZi5wb2ludHMuc2xpY2UoMSksXG4gICAgfSxcbiAgfSBdO1xufTtcblxuUG9pbnQuZnJvbUpTT04gPSBmdW5jdGlvbiBmcm9tSlNPTihjdXJ2ZSwgb2JqLCByZWQpIHtcbiAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKVxuICAgIG9iaiA9IEpTT04ucGFyc2Uob2JqKTtcbiAgdmFyIHJlcyA9IGN1cnZlLnBvaW50KG9ialswXSwgb2JqWzFdLCByZWQpO1xuICBpZiAoIW9ialsyXSlcbiAgICByZXR1cm4gcmVzO1xuXG4gIGZ1bmN0aW9uIG9iajJwb2ludChvYmopIHtcbiAgICByZXR1cm4gY3VydmUucG9pbnQob2JqWzBdLCBvYmpbMV0sIHJlZCk7XG4gIH1cblxuICB2YXIgcHJlID0gb2JqWzJdO1xuICByZXMucHJlY29tcHV0ZWQgPSB7XG4gICAgYmV0YTogbnVsbCxcbiAgICBkb3VibGVzOiBwcmUuZG91YmxlcyAmJiB7XG4gICAgICBzdGVwOiBwcmUuZG91Ymxlcy5zdGVwLFxuICAgICAgcG9pbnRzOiBbIHJlcyBdLmNvbmNhdChwcmUuZG91Ymxlcy5wb2ludHMubWFwKG9iajJwb2ludCkpLFxuICAgIH0sXG4gICAgbmFmOiBwcmUubmFmICYmIHtcbiAgICAgIHduZDogcHJlLm5hZi53bmQsXG4gICAgICBwb2ludHM6IFsgcmVzIF0uY29uY2F0KHByZS5uYWYucG9pbnRzLm1hcChvYmoycG9pbnQpKSxcbiAgICB9LFxuICB9O1xuICByZXR1cm4gcmVzO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuICc8RUMgUG9pbnQgSW5maW5pdHk+JztcbiAgcmV0dXJuICc8RUMgUG9pbnQgeDogJyArIHRoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICtcbiAgICAgICcgeTogJyArIHRoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsIDIpICsgJz4nO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHkgPSBmdW5jdGlvbiBpc0luZmluaXR5KCkge1xuICByZXR1cm4gdGhpcy5pbmY7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gYWRkKHApIHtcbiAgLy8gTyArIFAgPSBQXG4gIGlmICh0aGlzLmluZilcbiAgICByZXR1cm4gcDtcblxuICAvLyBQICsgTyA9IFBcbiAgaWYgKHAuaW5mKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIC8vIFAgKyBQID0gMlBcbiAgaWYgKHRoaXMuZXEocCkpXG4gICAgcmV0dXJuIHRoaXMuZGJsKCk7XG5cbiAgLy8gUCArICgtUCkgPSBPXG4gIGlmICh0aGlzLm5lZygpLmVxKHApKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpO1xuXG4gIC8vIFAgKyBRID0gT1xuICBpZiAodGhpcy54LmNtcChwLngpID09PSAwKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsIG51bGwpO1xuXG4gIHZhciBjID0gdGhpcy55LnJlZFN1YihwLnkpO1xuICBpZiAoYy5jbXBuKDApICE9PSAwKVxuICAgIGMgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKHAueCkucmVkSW52bSgpKTtcbiAgdmFyIG54ID0gYy5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueCkucmVkSVN1YihwLngpO1xuICB2YXIgbnkgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKG54KSkucmVkSVN1Yih0aGlzLnkpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnkpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmRibCA9IGZ1bmN0aW9uIGRibCgpIHtcbiAgaWYgKHRoaXMuaW5mKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIC8vIDJQID0gT1xuICB2YXIgeXMxID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xuICBpZiAoeXMxLmNtcG4oMCkgPT09IDApXG4gICAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7XG5cbiAgdmFyIGEgPSB0aGlzLmN1cnZlLmE7XG5cbiAgdmFyIHgyID0gdGhpcy54LnJlZFNxcigpO1xuICB2YXIgZHlpbnYgPSB5czEucmVkSW52bSgpO1xuICB2YXIgYyA9IHgyLnJlZEFkZCh4MikucmVkSUFkZCh4MikucmVkSUFkZChhKS5yZWRNdWwoZHlpbnYpO1xuXG4gIHZhciBueCA9IGMucmVkU3FyKCkucmVkSVN1Yih0aGlzLngucmVkQWRkKHRoaXMueCkpO1xuICB2YXIgbnkgPSBjLnJlZE11bCh0aGlzLngucmVkU3ViKG54KSkucmVkSVN1Yih0aGlzLnkpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChueCwgbnkpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmdldFggPSBmdW5jdGlvbiBnZXRYKCkge1xuICByZXR1cm4gdGhpcy54LmZyb21SZWQoKTtcbn07XG5cblBvaW50LnByb3RvdHlwZS5nZXRZID0gZnVuY3Rpb24gZ2V0WSgpIHtcbiAgcmV0dXJuIHRoaXMueS5mcm9tUmVkKCk7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsKGspIHtcbiAgayA9IG5ldyBCTihrLCAxNik7XG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gdGhpcztcbiAgZWxzZSBpZiAodGhpcy5faGFzRG91YmxlcyhrKSlcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcywgayk7XG4gIGVsc2UgaWYgKHRoaXMuY3VydmUuZW5kbylcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoWyB0aGlzIF0sIFsgayBdKTtcbiAgZWxzZVxuICAgIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsIGspO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm11bEFkZCA9IGZ1bmN0aW9uIG11bEFkZChrMSwgcDIsIGsyKSB7XG4gIHZhciBwb2ludHMgPSBbIHRoaXMsIHAyIF07XG4gIHZhciBjb2VmZnMgPSBbIGsxLCBrMiBdO1xuICBpZiAodGhpcy5jdXJ2ZS5lbmRvKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChwb2ludHMsIGNvZWZmcyk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLCBwb2ludHMsIGNvZWZmcywgMik7XG59O1xuXG5Qb2ludC5wcm90b3R5cGUuam11bEFkZCA9IGZ1bmN0aW9uIGptdWxBZGQoazEsIHAyLCBrMikge1xuICB2YXIgcG9pbnRzID0gWyB0aGlzLCBwMiBdO1xuICB2YXIgY29lZmZzID0gWyBrMSwgazIgXTtcbiAgaWYgKHRoaXMuY3VydmUuZW5kbylcbiAgICByZXR1cm4gdGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQocG9pbnRzLCBjb2VmZnMsIHRydWUpO1xuICBlbHNlXG4gICAgcmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSwgcG9pbnRzLCBjb2VmZnMsIDIsIHRydWUpO1xufTtcblxuUG9pbnQucHJvdG90eXBlLmVxID0gZnVuY3Rpb24gZXEocCkge1xuICByZXR1cm4gdGhpcyA9PT0gcCB8fFxuICAgICAgICAgdGhpcy5pbmYgPT09IHAuaW5mICYmXG4gICAgICAgICAgICAgKHRoaXMuaW5mIHx8IHRoaXMueC5jbXAocC54KSA9PT0gMCAmJiB0aGlzLnkuY21wKHAueSkgPT09IDApO1xufTtcblxuUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZyhfcHJlY29tcHV0ZSkge1xuICBpZiAodGhpcy5pbmYpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgdmFyIHJlcyA9IHRoaXMuY3VydmUucG9pbnQodGhpcy54LCB0aGlzLnkucmVkTmVnKCkpO1xuICBpZiAoX3ByZWNvbXB1dGUgJiYgdGhpcy5wcmVjb21wdXRlZCkge1xuICAgIHZhciBwcmUgPSB0aGlzLnByZWNvbXB1dGVkO1xuICAgIHZhciBuZWdhdGUgPSBmdW5jdGlvbihwKSB7XG4gICAgICByZXR1cm4gcC5uZWcoKTtcbiAgICB9O1xuICAgIHJlcy5wcmVjb21wdXRlZCA9IHtcbiAgICAgIG5hZjogcHJlLm5hZiAmJiB7XG4gICAgICAgIHduZDogcHJlLm5hZi53bmQsXG4gICAgICAgIHBvaW50czogcHJlLm5hZi5wb2ludHMubWFwKG5lZ2F0ZSksXG4gICAgICB9LFxuICAgICAgZG91YmxlczogcHJlLmRvdWJsZXMgJiYge1xuICAgICAgICBzdGVwOiBwcmUuZG91Ymxlcy5zdGVwLFxuICAgICAgICBwb2ludHM6IHByZS5kb3VibGVzLnBvaW50cy5tYXAobmVnYXRlKSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICByZXR1cm4gcmVzO1xufTtcblxuUG9pbnQucHJvdG90eXBlLnRvSiA9IGZ1bmN0aW9uIHRvSigpIHtcbiAgaWYgKHRoaXMuaW5mKVxuICAgIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChudWxsLCBudWxsLCBudWxsKTtcblxuICB2YXIgcmVzID0gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LCB0aGlzLnksIHRoaXMuY3VydmUub25lKTtcbiAgcmV0dXJuIHJlcztcbn07XG5cbmZ1bmN0aW9uIEpQb2ludChjdXJ2ZSwgeCwgeSwgeikge1xuICBCYXNlLkJhc2VQb2ludC5jYWxsKHRoaXMsIGN1cnZlLCAnamFjb2JpYW4nKTtcbiAgaWYgKHggPT09IG51bGwgJiYgeSA9PT0gbnVsbCAmJiB6ID09PSBudWxsKSB7XG4gICAgdGhpcy54ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gICAgdGhpcy55ID0gdGhpcy5jdXJ2ZS5vbmU7XG4gICAgdGhpcy56ID0gbmV3IEJOKDApO1xuICB9IGVsc2Uge1xuICAgIHRoaXMueCA9IG5ldyBCTih4LCAxNik7XG4gICAgdGhpcy55ID0gbmV3IEJOKHksIDE2KTtcbiAgICB0aGlzLnogPSBuZXcgQk4oeiwgMTYpO1xuICB9XG4gIGlmICghdGhpcy54LnJlZClcbiAgICB0aGlzLnggPSB0aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpO1xuICBpZiAoIXRoaXMueS5yZWQpXG4gICAgdGhpcy55ID0gdGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKTtcbiAgaWYgKCF0aGlzLnoucmVkKVxuICAgIHRoaXMueiA9IHRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCk7XG5cbiAgdGhpcy56T25lID0gdGhpcy56ID09PSB0aGlzLmN1cnZlLm9uZTtcbn1cbmluaGVyaXRzKEpQb2ludCwgQmFzZS5CYXNlUG9pbnQpO1xuXG5TaG9ydEN1cnZlLnByb3RvdHlwZS5qcG9pbnQgPSBmdW5jdGlvbiBqcG9pbnQoeCwgeSwgeikge1xuICByZXR1cm4gbmV3IEpQb2ludCh0aGlzLCB4LCB5LCB6KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUudG9QID0gZnVuY3Rpb24gdG9QKCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCwgbnVsbCk7XG5cbiAgdmFyIHppbnYgPSB0aGlzLnoucmVkSW52bSgpO1xuICB2YXIgemludjIgPSB6aW52LnJlZFNxcigpO1xuICB2YXIgYXggPSB0aGlzLngucmVkTXVsKHppbnYyKTtcbiAgdmFyIGF5ID0gdGhpcy55LnJlZE11bCh6aW52MikucmVkTXVsKHppbnYpO1xuXG4gIHJldHVybiB0aGlzLmN1cnZlLnBvaW50KGF4LCBheSk7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLm5lZyA9IGZ1bmN0aW9uIG5lZygpIHtcbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KHRoaXMueCwgdGhpcy55LnJlZE5lZygpLCB0aGlzLnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBhZGQocCkge1xuICAvLyBPICsgUCA9IFBcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiBwO1xuXG4gIC8vIFAgKyBPID0gUFxuICBpZiAocC5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgLy8gMTJNICsgNFMgKyA3QVxuICB2YXIgcHoyID0gcC56LnJlZFNxcigpO1xuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciB1MSA9IHRoaXMueC5yZWRNdWwocHoyKTtcbiAgdmFyIHUyID0gcC54LnJlZE11bCh6Mik7XG4gIHZhciBzMSA9IHRoaXMueS5yZWRNdWwocHoyLnJlZE11bChwLnopKTtcbiAgdmFyIHMyID0gcC55LnJlZE11bCh6Mi5yZWRNdWwodGhpcy56KSk7XG5cbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xuICB2YXIgciA9IHMxLnJlZFN1YihzMik7XG4gIGlmIChoLmNtcG4oMCkgPT09IDApIHtcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxuICAgICAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xuICB9XG5cbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcbiAgdmFyIGgzID0gaDIucmVkTXVsKGgpO1xuICB2YXIgdiA9IHUxLnJlZE11bChoMik7XG5cbiAgdmFyIG54ID0gci5yZWRTcXIoKS5yZWRJQWRkKGgzKS5yZWRJU3ViKHYpLnJlZElTdWIodik7XG4gIHZhciBueSA9IHIucmVkTXVsKHYucmVkSVN1YihueCkpLnJlZElTdWIoczEucmVkTXVsKGgzKSk7XG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwocC56KS5yZWRNdWwoaCk7XG5cbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5taXhlZEFkZCA9IGZ1bmN0aW9uIG1peGVkQWRkKHApIHtcbiAgLy8gTyArIFAgPSBQXG4gIGlmICh0aGlzLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gcC50b0ooKTtcblxuICAvLyBQICsgTyA9IFBcbiAgaWYgKHAuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB0aGlzO1xuXG4gIC8vIDhNICsgM1MgKyA3QVxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciB1MSA9IHRoaXMueDtcbiAgdmFyIHUyID0gcC54LnJlZE11bCh6Mik7XG4gIHZhciBzMSA9IHRoaXMueTtcbiAgdmFyIHMyID0gcC55LnJlZE11bCh6MikucmVkTXVsKHRoaXMueik7XG5cbiAgdmFyIGggPSB1MS5yZWRTdWIodTIpO1xuICB2YXIgciA9IHMxLnJlZFN1YihzMik7XG4gIGlmIChoLmNtcG4oMCkgPT09IDApIHtcbiAgICBpZiAoci5jbXBuKDApICE9PSAwKVxuICAgICAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG51bGwsIG51bGwsIG51bGwpO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiB0aGlzLmRibCgpO1xuICB9XG5cbiAgdmFyIGgyID0gaC5yZWRTcXIoKTtcbiAgdmFyIGgzID0gaDIucmVkTXVsKGgpO1xuICB2YXIgdiA9IHUxLnJlZE11bChoMik7XG5cbiAgdmFyIG54ID0gci5yZWRTcXIoKS5yZWRJQWRkKGgzKS5yZWRJU3ViKHYpLnJlZElTdWIodik7XG4gIHZhciBueSA9IHIucmVkTXVsKHYucmVkSVN1YihueCkpLnJlZElTdWIoczEucmVkTXVsKGgzKSk7XG4gIHZhciBueiA9IHRoaXMuei5yZWRNdWwoaCk7XG5cbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5kYmxwID0gZnVuY3Rpb24gZGJscChwb3cpIHtcbiAgaWYgKHBvdyA9PT0gMClcbiAgICByZXR1cm4gdGhpcztcbiAgaWYgKHRoaXMuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB0aGlzO1xuICBpZiAoIXBvdylcbiAgICByZXR1cm4gdGhpcy5kYmwoKTtcblxuICB2YXIgaTtcbiAgaWYgKHRoaXMuY3VydmUuemVyb0EgfHwgdGhpcy5jdXJ2ZS50aHJlZUEpIHtcbiAgICB2YXIgciA9IHRoaXM7XG4gICAgZm9yIChpID0gMDsgaSA8IHBvdzsgaSsrKVxuICAgICAgciA9IHIuZGJsKCk7XG4gICAgcmV0dXJuIHI7XG4gIH1cblxuICAvLyAxTSArIDJTICsgMUEgKyBOICogKDRTICsgNU0gKyA4QSlcbiAgLy8gTiA9IDEgPT4gNk0gKyA2UyArIDlBXG4gIHZhciBhID0gdGhpcy5jdXJ2ZS5hO1xuICB2YXIgdGludiA9IHRoaXMuY3VydmUudGludjtcblxuICB2YXIganggPSB0aGlzLng7XG4gIHZhciBqeSA9IHRoaXMueTtcbiAgdmFyIGp6ID0gdGhpcy56O1xuICB2YXIgano0ID0ganoucmVkU3FyKCkucmVkU3FyKCk7XG5cbiAgLy8gUmV1c2UgcmVzdWx0c1xuICB2YXIganlkID0gankucmVkQWRkKGp5KTtcbiAgZm9yIChpID0gMDsgaSA8IHBvdzsgaSsrKSB7XG4gICAgdmFyIGp4MiA9IGp4LnJlZFNxcigpO1xuICAgIHZhciBqeWQyID0ganlkLnJlZFNxcigpO1xuICAgIHZhciBqeWQ0ID0ganlkMi5yZWRTcXIoKTtcbiAgICB2YXIgYyA9IGp4Mi5yZWRBZGQoangyKS5yZWRJQWRkKGp4MikucmVkSUFkZChhLnJlZE11bChqejQpKTtcblxuICAgIHZhciB0MSA9IGp4LnJlZE11bChqeWQyKTtcbiAgICB2YXIgbnggPSBjLnJlZFNxcigpLnJlZElTdWIodDEucmVkQWRkKHQxKSk7XG4gICAgdmFyIHQyID0gdDEucmVkSVN1YihueCk7XG4gICAgdmFyIGRueSA9IGMucmVkTXVsKHQyKTtcbiAgICBkbnkgPSBkbnkucmVkSUFkZChkbnkpLnJlZElTdWIoanlkNCk7XG4gICAgdmFyIG56ID0ganlkLnJlZE11bChqeik7XG4gICAgaWYgKGkgKyAxIDwgcG93KVxuICAgICAgano0ID0gano0LnJlZE11bChqeWQ0KTtcblxuICAgIGp4ID0gbng7XG4gICAganogPSBuejtcbiAgICBqeWQgPSBkbnk7XG4gIH1cblxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoangsIGp5ZC5yZWRNdWwodGludiksIGp6KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUuZGJsID0gZnVuY3Rpb24gZGJsKCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuIHRoaXM7XG5cbiAgaWYgKHRoaXMuY3VydmUuemVyb0EpXG4gICAgcmV0dXJuIHRoaXMuX3plcm9EYmwoKTtcbiAgZWxzZSBpZiAodGhpcy5jdXJ2ZS50aHJlZUEpXG4gICAgcmV0dXJuIHRoaXMuX3RocmVlRGJsKCk7XG4gIGVsc2VcbiAgICByZXR1cm4gdGhpcy5fZGJsKCk7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLl96ZXJvRGJsID0gZnVuY3Rpb24gX3plcm9EYmwoKSB7XG4gIHZhciBueDtcbiAgdmFyIG55O1xuICB2YXIgbno7XG4gIC8vIFogPSAxXG4gIGlmICh0aGlzLnpPbmUpIHtcbiAgICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTAuaHRtbFxuICAgIC8vICAgICAjZG91YmxpbmctbWRibC0yMDA3LWJsXG4gICAgLy8gMU0gKyA1UyArIDE0QVxuXG4gICAgLy8gWFggPSBYMV4yXG4gICAgdmFyIHh4ID0gdGhpcy54LnJlZFNxcigpO1xuICAgIC8vIFlZID0gWTFeMlxuICAgIHZhciB5eSA9IHRoaXMueS5yZWRTcXIoKTtcbiAgICAvLyBZWVlZID0gWVleMlxuICAgIHZhciB5eXl5ID0geXkucmVkU3FyKCk7XG4gICAgLy8gUyA9IDIgKiAoKFgxICsgWVkpXjIgLSBYWCAtIFlZWVkpXG4gICAgdmFyIHMgPSB0aGlzLngucmVkQWRkKHl5KS5yZWRTcXIoKS5yZWRJU3ViKHh4KS5yZWRJU3ViKHl5eXkpO1xuICAgIHMgPSBzLnJlZElBZGQocyk7XG4gICAgLy8gTSA9IDMgKiBYWCArIGE7IGEgPSAwXG4gICAgdmFyIG0gPSB4eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpO1xuICAgIC8vIFQgPSBNIF4gMiAtIDIqU1xuICAgIHZhciB0ID0gbS5yZWRTcXIoKS5yZWRJU3ViKHMpLnJlZElTdWIocyk7XG5cbiAgICAvLyA4ICogWVlZWVxuICAgIHZhciB5eXl5OCA9IHl5eXkucmVkSUFkZCh5eXl5KTtcbiAgICB5eXl5OCA9IHl5eXk4LnJlZElBZGQoeXl5eTgpO1xuICAgIHl5eXk4ID0geXl5eTgucmVkSUFkZCh5eXl5OCk7XG5cbiAgICAvLyBYMyA9IFRcbiAgICBueCA9IHQ7XG4gICAgLy8gWTMgPSBNICogKFMgLSBUKSAtIDggKiBZWVlZXG4gICAgbnkgPSBtLnJlZE11bChzLnJlZElTdWIodCkpLnJlZElTdWIoeXl5eTgpO1xuICAgIC8vIFozID0gMipZMVxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xuICB9IGVsc2Uge1xuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMC5odG1sXG4gICAgLy8gICAgICNkb3VibGluZy1kYmwtMjAwOS1sXG4gICAgLy8gMk0gKyA1UyArIDEzQVxuXG4gICAgLy8gQSA9IFgxXjJcbiAgICB2YXIgYSA9IHRoaXMueC5yZWRTcXIoKTtcbiAgICAvLyBCID0gWTFeMlxuICAgIHZhciBiID0gdGhpcy55LnJlZFNxcigpO1xuICAgIC8vIEMgPSBCXjJcbiAgICB2YXIgYyA9IGIucmVkU3FyKCk7XG4gICAgLy8gRCA9IDIgKiAoKFgxICsgQileMiAtIEEgLSBDKVxuICAgIHZhciBkID0gdGhpcy54LnJlZEFkZChiKS5yZWRTcXIoKS5yZWRJU3ViKGEpLnJlZElTdWIoYyk7XG4gICAgZCA9IGQucmVkSUFkZChkKTtcbiAgICAvLyBFID0gMyAqIEFcbiAgICB2YXIgZSA9IGEucmVkQWRkKGEpLnJlZElBZGQoYSk7XG4gICAgLy8gRiA9IEVeMlxuICAgIHZhciBmID0gZS5yZWRTcXIoKTtcblxuICAgIC8vIDggKiBDXG4gICAgdmFyIGM4ID0gYy5yZWRJQWRkKGMpO1xuICAgIGM4ID0gYzgucmVkSUFkZChjOCk7XG4gICAgYzggPSBjOC5yZWRJQWRkKGM4KTtcblxuICAgIC8vIFgzID0gRiAtIDIgKiBEXG4gICAgbnggPSBmLnJlZElTdWIoZCkucmVkSVN1YihkKTtcbiAgICAvLyBZMyA9IEUgKiAoRCAtIFgzKSAtIDggKiBDXG4gICAgbnkgPSBlLnJlZE11bChkLnJlZElTdWIobngpKS5yZWRJU3ViKGM4KTtcbiAgICAvLyBaMyA9IDIgKiBZMSAqIFoxXG4gICAgbnogPSB0aGlzLnkucmVkTXVsKHRoaXMueik7XG4gICAgbnogPSBuei5yZWRJQWRkKG56KTtcbiAgfVxuXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCwgbnksIG56KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUuX3RocmVlRGJsID0gZnVuY3Rpb24gX3RocmVlRGJsKCkge1xuICB2YXIgbng7XG4gIHZhciBueTtcbiAgdmFyIG56O1xuICAvLyBaID0gMVxuICBpZiAodGhpcy56T25lKSB7XG4gICAgLy8gaHlwZXJlbGxpcHRpYy5vcmcvRUZEL2cxcC9hdXRvLXNob3J0dy1qYWNvYmlhbi0zLmh0bWxcbiAgICAvLyAgICAgI2RvdWJsaW5nLW1kYmwtMjAwNy1ibFxuICAgIC8vIDFNICsgNVMgKyAxNUFcblxuICAgIC8vIFhYID0gWDFeMlxuICAgIHZhciB4eCA9IHRoaXMueC5yZWRTcXIoKTtcbiAgICAvLyBZWSA9IFkxXjJcbiAgICB2YXIgeXkgPSB0aGlzLnkucmVkU3FyKCk7XG4gICAgLy8gWVlZWSA9IFlZXjJcbiAgICB2YXIgeXl5eSA9IHl5LnJlZFNxcigpO1xuICAgIC8vIFMgPSAyICogKChYMSArIFlZKV4yIC0gWFggLSBZWVlZKVxuICAgIHZhciBzID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcbiAgICBzID0gcy5yZWRJQWRkKHMpO1xuICAgIC8vIE0gPSAzICogWFggKyBhXG4gICAgdmFyIG0gPSB4eC5yZWRBZGQoeHgpLnJlZElBZGQoeHgpLnJlZElBZGQodGhpcy5jdXJ2ZS5hKTtcbiAgICAvLyBUID0gTV4yIC0gMiAqIFNcbiAgICB2YXIgdCA9IG0ucmVkU3FyKCkucmVkSVN1YihzKS5yZWRJU3ViKHMpO1xuICAgIC8vIFgzID0gVFxuICAgIG54ID0gdDtcbiAgICAvLyBZMyA9IE0gKiAoUyAtIFQpIC0gOCAqIFlZWVlcbiAgICB2YXIgeXl5eTggPSB5eXl5LnJlZElBZGQoeXl5eSk7XG4gICAgeXl5eTggPSB5eXl5OC5yZWRJQWRkKHl5eXk4KTtcbiAgICB5eXl5OCA9IHl5eXk4LnJlZElBZGQoeXl5eTgpO1xuICAgIG55ID0gbS5yZWRNdWwocy5yZWRJU3ViKHQpKS5yZWRJU3ViKHl5eXk4KTtcbiAgICAvLyBaMyA9IDIgKiBZMVxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnkpO1xuICB9IGVsc2Uge1xuICAgIC8vIGh5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMy5odG1sI2RvdWJsaW5nLWRibC0yMDAxLWJcbiAgICAvLyAzTSArIDVTXG5cbiAgICAvLyBkZWx0YSA9IFoxXjJcbiAgICB2YXIgZGVsdGEgPSB0aGlzLnoucmVkU3FyKCk7XG4gICAgLy8gZ2FtbWEgPSBZMV4yXG4gICAgdmFyIGdhbW1hID0gdGhpcy55LnJlZFNxcigpO1xuICAgIC8vIGJldGEgPSBYMSAqIGdhbW1hXG4gICAgdmFyIGJldGEgPSB0aGlzLngucmVkTXVsKGdhbW1hKTtcbiAgICAvLyBhbHBoYSA9IDMgKiAoWDEgLSBkZWx0YSkgKiAoWDEgKyBkZWx0YSlcbiAgICB2YXIgYWxwaGEgPSB0aGlzLngucmVkU3ViKGRlbHRhKS5yZWRNdWwodGhpcy54LnJlZEFkZChkZWx0YSkpO1xuICAgIGFscGhhID0gYWxwaGEucmVkQWRkKGFscGhhKS5yZWRJQWRkKGFscGhhKTtcbiAgICAvLyBYMyA9IGFscGhhXjIgLSA4ICogYmV0YVxuICAgIHZhciBiZXRhNCA9IGJldGEucmVkSUFkZChiZXRhKTtcbiAgICBiZXRhNCA9IGJldGE0LnJlZElBZGQoYmV0YTQpO1xuICAgIHZhciBiZXRhOCA9IGJldGE0LnJlZEFkZChiZXRhNCk7XG4gICAgbnggPSBhbHBoYS5yZWRTcXIoKS5yZWRJU3ViKGJldGE4KTtcbiAgICAvLyBaMyA9IChZMSArIFoxKV4yIC0gZ2FtbWEgLSBkZWx0YVxuICAgIG56ID0gdGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoZ2FtbWEpLnJlZElTdWIoZGVsdGEpO1xuICAgIC8vIFkzID0gYWxwaGEgKiAoNCAqIGJldGEgLSBYMykgLSA4ICogZ2FtbWFeMlxuICAgIHZhciBnZ2FtbWE4ID0gZ2FtbWEucmVkU3FyKCk7XG4gICAgZ2dhbW1hOCA9IGdnYW1tYTgucmVkSUFkZChnZ2FtbWE4KTtcbiAgICBnZ2FtbWE4ID0gZ2dhbW1hOC5yZWRJQWRkKGdnYW1tYTgpO1xuICAgIGdnYW1tYTggPSBnZ2FtbWE4LnJlZElBZGQoZ2dhbW1hOCk7XG4gICAgbnkgPSBhbHBoYS5yZWRNdWwoYmV0YTQucmVkSVN1YihueCkpLnJlZElTdWIoZ2dhbW1hOCk7XG4gIH1cblxuICByZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobngsIG55LCBueik7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLl9kYmwgPSBmdW5jdGlvbiBfZGJsKCkge1xuICB2YXIgYSA9IHRoaXMuY3VydmUuYTtcblxuICAvLyA0TSArIDZTICsgMTBBXG4gIHZhciBqeCA9IHRoaXMueDtcbiAgdmFyIGp5ID0gdGhpcy55O1xuICB2YXIganogPSB0aGlzLno7XG4gIHZhciBqejQgPSBqei5yZWRTcXIoKS5yZWRTcXIoKTtcblxuICB2YXIgangyID0gangucmVkU3FyKCk7XG4gIHZhciBqeTIgPSBqeS5yZWRTcXIoKTtcblxuICB2YXIgYyA9IGp4Mi5yZWRBZGQoangyKS5yZWRJQWRkKGp4MikucmVkSUFkZChhLnJlZE11bChqejQpKTtcblxuICB2YXIganhkNCA9IGp4LnJlZEFkZChqeCk7XG4gIGp4ZDQgPSBqeGQ0LnJlZElBZGQoanhkNCk7XG4gIHZhciB0MSA9IGp4ZDQucmVkTXVsKGp5Mik7XG4gIHZhciBueCA9IGMucmVkU3FyKCkucmVkSVN1Yih0MS5yZWRBZGQodDEpKTtcbiAgdmFyIHQyID0gdDEucmVkSVN1YihueCk7XG5cbiAgdmFyIGp5ZDggPSBqeTIucmVkU3FyKCk7XG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XG4gIGp5ZDggPSBqeWQ4LnJlZElBZGQoanlkOCk7XG4gIHZhciBueSA9IGMucmVkTXVsKHQyKS5yZWRJU3ViKGp5ZDgpO1xuICB2YXIgbnogPSBqeS5yZWRBZGQoankpLnJlZE11bChqeik7XG5cbiAgcmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG54LCBueSwgbnopO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS50cnBsID0gZnVuY3Rpb24gdHJwbCgpIHtcbiAgaWYgKCF0aGlzLmN1cnZlLnplcm9BKVxuICAgIHJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTtcblxuICAvLyBoeXBlcmVsbGlwdGljLm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTAuaHRtbCN0cmlwbGluZy10cGwtMjAwNy1ibFxuICAvLyA1TSArIDEwUyArIC4uLlxuXG4gIC8vIFhYID0gWDFeMlxuICB2YXIgeHggPSB0aGlzLngucmVkU3FyKCk7XG4gIC8vIFlZID0gWTFeMlxuICB2YXIgeXkgPSB0aGlzLnkucmVkU3FyKCk7XG4gIC8vIFpaID0gWjFeMlxuICB2YXIgenogPSB0aGlzLnoucmVkU3FyKCk7XG4gIC8vIFlZWVkgPSBZWV4yXG4gIHZhciB5eXl5ID0geXkucmVkU3FyKCk7XG4gIC8vIE0gPSAzICogWFggKyBhICogWloyOyBhID0gMFxuICB2YXIgbSA9IHh4LnJlZEFkZCh4eCkucmVkSUFkZCh4eCk7XG4gIC8vIE1NID0gTV4yXG4gIHZhciBtbSA9IG0ucmVkU3FyKCk7XG4gIC8vIEUgPSA2ICogKChYMSArIFlZKV4yIC0gWFggLSBZWVlZKSAtIE1NXG4gIHZhciBlID0gdGhpcy54LnJlZEFkZCh5eSkucmVkU3FyKCkucmVkSVN1Yih4eCkucmVkSVN1Yih5eXl5KTtcbiAgZSA9IGUucmVkSUFkZChlKTtcbiAgZSA9IGUucmVkQWRkKGUpLnJlZElBZGQoZSk7XG4gIGUgPSBlLnJlZElTdWIobW0pO1xuICAvLyBFRSA9IEVeMlxuICB2YXIgZWUgPSBlLnJlZFNxcigpO1xuICAvLyBUID0gMTYqWVlZWVxuICB2YXIgdCA9IHl5eXkucmVkSUFkZCh5eXl5KTtcbiAgdCA9IHQucmVkSUFkZCh0KTtcbiAgdCA9IHQucmVkSUFkZCh0KTtcbiAgdCA9IHQucmVkSUFkZCh0KTtcbiAgLy8gVSA9IChNICsgRSleMiAtIE1NIC0gRUUgLSBUXG4gIHZhciB1ID0gbS5yZWRJQWRkKGUpLnJlZFNxcigpLnJlZElTdWIobW0pLnJlZElTdWIoZWUpLnJlZElTdWIodCk7XG4gIC8vIFgzID0gNCAqIChYMSAqIEVFIC0gNCAqIFlZICogVSlcbiAgdmFyIHl5dTQgPSB5eS5yZWRNdWwodSk7XG4gIHl5dTQgPSB5eXU0LnJlZElBZGQoeXl1NCk7XG4gIHl5dTQgPSB5eXU0LnJlZElBZGQoeXl1NCk7XG4gIHZhciBueCA9IHRoaXMueC5yZWRNdWwoZWUpLnJlZElTdWIoeXl1NCk7XG4gIG54ID0gbngucmVkSUFkZChueCk7XG4gIG54ID0gbngucmVkSUFkZChueCk7XG4gIC8vIFkzID0gOCAqIFkxICogKFUgKiAoVCAtIFUpIC0gRSAqIEVFKVxuICB2YXIgbnkgPSB0aGlzLnkucmVkTXVsKHUucmVkTXVsKHQucmVkSVN1Yih1KSkucmVkSVN1YihlLnJlZE11bChlZSkpKTtcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcbiAgbnkgPSBueS5yZWRJQWRkKG55KTtcbiAgLy8gWjMgPSAoWjEgKyBFKV4yIC0gWlogLSBFRVxuICB2YXIgbnogPSB0aGlzLnoucmVkQWRkKGUpLnJlZFNxcigpLnJlZElTdWIoenopLnJlZElTdWIoZWUpO1xuXG4gIHJldHVybiB0aGlzLmN1cnZlLmpwb2ludChueCwgbnksIG56KTtcbn07XG5cbkpQb2ludC5wcm90b3R5cGUubXVsID0gZnVuY3Rpb24gbXVsKGssIGtiYXNlKSB7XG4gIGsgPSBuZXcgQk4oaywga2Jhc2UpO1xuXG4gIHJldHVybiB0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsIGspO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5lcSA9IGZ1bmN0aW9uIGVxKHApIHtcbiAgaWYgKHAudHlwZSA9PT0gJ2FmZmluZScpXG4gICAgcmV0dXJuIHRoaXMuZXEocC50b0ooKSk7XG5cbiAgaWYgKHRoaXMgPT09IHApXG4gICAgcmV0dXJuIHRydWU7XG5cbiAgLy8geDEgKiB6Ml4yID09IHgyICogejFeMlxuICB2YXIgejIgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciBwejIgPSBwLnoucmVkU3FyKCk7XG4gIGlmICh0aGlzLngucmVkTXVsKHB6MikucmVkSVN1YihwLngucmVkTXVsKHoyKSkuY21wbigwKSAhPT0gMClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8geTEgKiB6Ml4zID09IHkyICogejFeM1xuICB2YXIgejMgPSB6Mi5yZWRNdWwodGhpcy56KTtcbiAgdmFyIHB6MyA9IHB6Mi5yZWRNdWwocC56KTtcbiAgcmV0dXJuIHRoaXMueS5yZWRNdWwocHozKS5yZWRJU3ViKHAueS5yZWRNdWwoejMpKS5jbXBuKDApID09PSAwO1xufTtcblxuSlBvaW50LnByb3RvdHlwZS5lcVhUb1AgPSBmdW5jdGlvbiBlcVhUb1AoeCkge1xuICB2YXIgenMgPSB0aGlzLnoucmVkU3FyKCk7XG4gIHZhciByeCA9IHgudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh6cyk7XG4gIGlmICh0aGlzLnguY21wKHJ4KSA9PT0gMClcbiAgICByZXR1cm4gdHJ1ZTtcblxuICB2YXIgeGMgPSB4LmNsb25lKCk7XG4gIHZhciB0ID0gdGhpcy5jdXJ2ZS5yZWROLnJlZE11bCh6cyk7XG4gIGZvciAoOzspIHtcbiAgICB4Yy5pYWRkKHRoaXMuY3VydmUubik7XG4gICAgaWYgKHhjLmNtcCh0aGlzLmN1cnZlLnApID49IDApXG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICByeC5yZWRJQWRkKHQpO1xuICAgIGlmICh0aGlzLnguY21wKHJ4KSA9PT0gMClcbiAgICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICBpZiAodGhpcy5pc0luZmluaXR5KCkpXG4gICAgcmV0dXJuICc8RUMgSlBvaW50IEluZmluaXR5Pic7XG4gIHJldHVybiAnPEVDIEpQb2ludCB4OiAnICsgdGhpcy54LnRvU3RyaW5nKDE2LCAyKSArXG4gICAgICAnIHk6ICcgKyB0aGlzLnkudG9TdHJpbmcoMTYsIDIpICtcbiAgICAgICcgejogJyArIHRoaXMuei50b1N0cmluZygxNiwgMikgKyAnPic7XG59O1xuXG5KUG9pbnQucHJvdG90eXBlLmlzSW5maW5pdHkgPSBmdW5jdGlvbiBpc0luZmluaXR5KCkge1xuICAvLyBYWFggVGhpcyBjb2RlIGFzc3VtZXMgdGhhdCB6ZXJvIGlzIGFsd2F5cyB6ZXJvIGluIHJlZFxuICByZXR1cm4gdGhpcy56LmNtcG4oMCkgPT09IDA7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY3VydmVzID0gZXhwb3J0cztcblxudmFyIGhhc2ggPSByZXF1aXJlKCdoYXNoLmpzJyk7XG52YXIgY3VydmUgPSByZXF1aXJlKCcuL2N1cnZlJyk7XG52YXIgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7XG5cbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG5cbmZ1bmN0aW9uIFByZXNldEN1cnZlKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMudHlwZSA9PT0gJ3Nob3J0JylcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLnNob3J0KG9wdGlvbnMpO1xuICBlbHNlIGlmIChvcHRpb25zLnR5cGUgPT09ICdlZHdhcmRzJylcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLmVkd2FyZHMob3B0aW9ucyk7XG4gIGVsc2VcbiAgICB0aGlzLmN1cnZlID0gbmV3IGN1cnZlLm1vbnQob3B0aW9ucyk7XG4gIHRoaXMuZyA9IHRoaXMuY3VydmUuZztcbiAgdGhpcy5uID0gdGhpcy5jdXJ2ZS5uO1xuICB0aGlzLmhhc2ggPSBvcHRpb25zLmhhc2g7XG5cbiAgYXNzZXJ0KHRoaXMuZy52YWxpZGF0ZSgpLCAnSW52YWxpZCBjdXJ2ZScpO1xuICBhc3NlcnQodGhpcy5nLm11bCh0aGlzLm4pLmlzSW5maW5pdHkoKSwgJ0ludmFsaWQgY3VydmUsIEcqTiAhPSBPJyk7XG59XG5jdXJ2ZXMuUHJlc2V0Q3VydmUgPSBQcmVzZXRDdXJ2ZTtcblxuZnVuY3Rpb24gZGVmaW5lQ3VydmUobmFtZSwgb3B0aW9ucykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3VydmVzLCBuYW1lLCB7XG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBjdXJ2ZSA9IG5ldyBQcmVzZXRDdXJ2ZShvcHRpb25zKTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJ2ZXMsIG5hbWUsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogY3VydmUsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBjdXJ2ZTtcbiAgICB9LFxuICB9KTtcbn1cblxuZGVmaW5lQ3VydmUoJ3AxOTInLCB7XG4gIHR5cGU6ICdzaG9ydCcsXG4gIHByaW1lOiAncDE5MicsXG4gIHA6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZicsXG4gIGE6ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmYycsXG4gIGI6ICc2NDIxMDUxOSBlNTljODBlNyAwZmE3ZTlhYiA3MjI0MzA0OSBmZWI4ZGVlYyBjMTQ2YjliMScsXG4gIG46ICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiA5OWRlZjgzNiAxNDZiYzliMSBiNGQyMjgzMScsXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxuICBnUmVkOiBmYWxzZSxcbiAgZzogW1xuICAgICcxODhkYTgwZSBiMDMwOTBmNiA3Y2JmMjBlYiA0M2ExODgwMCBmNGZmMGFmZCA4MmZmMTAxMicsXG4gICAgJzA3MTkyYjk1IGZmYzhkYTc4IDYzMTAxMWVkIDZiMjRjZGQ1IDczZjk3N2ExIDFlNzk0ODExJyxcbiAgXSxcbn0pO1xuXG5kZWZpbmVDdXJ2ZSgncDIyNCcsIHtcbiAgdHlwZTogJ3Nob3J0JyxcbiAgcHJpbWU6ICdwMjI0JyxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxJyxcbiAgYTogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlJyxcbiAgYjogJ2I0MDUwYTg1IDBjMDRiM2FiIGY1NDEzMjU2IDUwNDRiMGI3IGQ3YmZkOGJhIDI3MGIzOTQzIDIzNTVmZmI0JyxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmYxNmEyIGUwYjhmMDNlIDEzZGQyOTQ1IDVjNWMyYTNkJyxcbiAgaGFzaDogaGFzaC5zaGEyNTYsXG4gIGdSZWQ6IGZhbHNlLFxuICBnOiBbXG4gICAgJ2I3MGUwY2JkIDZiYjRiZjdmIDMyMTM5MGI5IDRhMDNjMWQzIDU2YzIxMTIyIDM0MzI4MGQ2IDExNWMxZDIxJyxcbiAgICAnYmQzNzYzODggYjVmNzIzZmIgNGMyMmRmZTYgY2Q0Mzc1YTAgNWEwNzQ3NjQgNDRkNTgxOTkgODUwMDdlMzQnLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdwMjU2Jywge1xuICB0eXBlOiAnc2hvcnQnLFxuICBwcmltZTogbnVsbCxcbiAgcDogJ2ZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmJyxcbiAgYTogJ2ZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjJyxcbiAgYjogJzVhYzYzNWQ4IGFhM2E5M2U3IGIzZWJiZDU1IDc2OTg4NmJjIDY1MWQwNmIwIGNjNTNiMGY2IDNiY2UzYzNlIDI3ZDI2MDRiJyxcbiAgbjogJ2ZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxJyxcbiAgaGFzaDogaGFzaC5zaGEyNTYsXG4gIGdSZWQ6IGZhbHNlLFxuICBnOiBbXG4gICAgJzZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2JyxcbiAgICAnNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUnLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdwMzg0Jywge1xuICB0eXBlOiAnc2hvcnQnLFxuICBwcmltZTogbnVsbCxcbiAgcDogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICcgK1xuICAgICAnZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmYnLFxuICBhOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXG4gICAgICdmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmYycsXG4gIGI6ICdiMzMxMmZhNyBlMjNlZTdlNCA5ODhlMDU2YiBlM2Y4MmQxOSAxODFkOWM2ZSBmZTgxNDExMiAwMzE0MDg4ZiAnICtcbiAgICAgJzUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmJyxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGM3NjM0ZDgxICcgK1xuICAgICAnZjQzNzJkZGYgNTgxYTBkYjIgNDhiMGE3N2EgZWNlYzE5NmEgY2NjNTI5NzMnLFxuICBoYXNoOiBoYXNoLnNoYTM4NCxcbiAgZ1JlZDogZmFsc2UsXG4gIGc6IFtcbiAgICAnYWE4N2NhMjIgYmU4YjA1MzcgOGViMWM3MWUgZjMyMGFkNzQgNmUxZDNiNjIgOGJhNzliOTggNTlmNzQxZTAgODI1NDJhMzggJyArXG4gICAgJzU1MDJmMjVkIGJmNTUyOTZjIDNhNTQ1ZTM4IDcyNzYwYWI3JyxcbiAgICAnMzYxN2RlNGEgOTYyNjJjNmYgNWQ5ZTk4YmYgOTI5MmRjMjkgZjhmNDFkYmQgMjg5YTE0N2MgZTlkYTMxMTMgYjVmMGI4YzAgJyArXG4gICAgJzBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmJyxcbiAgXSxcbn0pO1xuXG5kZWZpbmVDdXJ2ZSgncDUyMScsIHtcbiAgdHlwZTogJ3Nob3J0JyxcbiAgcHJpbWU6IG51bGwsXG4gIHA6ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcbiAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmICcgK1xuICAgICAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYnLFxuICBhOiAnMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgJyArXG4gICAgICdmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcbiAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjJyxcbiAgYjogJzAwMDAwMDUxIDk1M2ViOTYxIDhlMWM5YTFmIDkyOWEyMWEwIGI2ODU0MGVlIGEyZGE3MjViICcgK1xuICAgICAnOTliMzE1ZjMgYjhiNDg5OTEgOGVmMTA5ZTEgNTYxOTM5NTEgZWM3ZTkzN2IgMTY1MmMwYmQgJyArXG4gICAgICczYmIxYmYwNyAzNTczZGY4OCAzZDJjMzRmMSBlZjQ1MWZkNCA2YjUwM2YwMCcsXG4gIG46ICcwMDAwMDFmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAnICtcbiAgICAgJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZhIDUxODY4NzgzIGJmMmY5NjZiIDdmY2MwMTQ4ICcgK1xuICAgICAnZjcwOWE1ZDAgM2JiNWM5YjggODk5YzQ3YWUgYmI2ZmI3MWUgOTEzODY0MDknLFxuICBoYXNoOiBoYXNoLnNoYTUxMixcbiAgZ1JlZDogZmFsc2UsXG4gIGc6IFtcbiAgICAnMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgJyArXG4gICAgJzA1M2ZiNTIxIGY4MjhhZjYwIDZiNGQzZGJhIGExNGI1ZTc3IGVmZTc1OTI4IGZlMWRjMTI3ICcgK1xuICAgICdhMmZmYThkZSAzMzQ4YjNjMSA4NTZhNDI5YiBmOTdlN2UzMSBjMmU1YmQ2NicsXG4gICAgJzAwMDAwMTE4IDM5Mjk2YTc4IDlhM2JjMDA0IDVjOGE1ZmI0IDJjN2QxYmQ5IDk4ZjU0NDQ5ICcgK1xuICAgICc1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAnICtcbiAgICAnM2ZhZDA3NjEgMzUzYzcwODYgYTI3MmMyNDAgODhiZTk0NzYgOWZkMTY2NTAnLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdjdXJ2ZTI1NTE5Jywge1xuICB0eXBlOiAnbW9udCcsXG4gIHByaW1lOiAncDI1NTE5JyxcbiAgcDogJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnLFxuICBhOiAnNzZkMDYnLFxuICBiOiAnMScsXG4gIG46ICcxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkJyxcbiAgaGFzaDogaGFzaC5zaGEyNTYsXG4gIGdSZWQ6IGZhbHNlLFxuICBnOiBbXG4gICAgJzknLFxuICBdLFxufSk7XG5cbmRlZmluZUN1cnZlKCdlZDI1NTE5Jywge1xuICB0eXBlOiAnZWR3YXJkcycsXG4gIHByaW1lOiAncDI1NTE5JyxcbiAgcDogJzdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQnLFxuICBhOiAnLTEnLFxuICBjOiAnMScsXG4gIC8vIC0xMjE2NjUgKiAoMTIxNjY2XigtMSkpIChtb2QgUClcbiAgZDogJzUyMDM2Y2VlMmI2ZmZlNzMgOGNjNzQwNzk3Nzc5ZTg5OCAwMDcwMGE0ZDQxNDFkOGFiIDc1ZWI0ZGNhMTM1OTc4YTMnLFxuICBuOiAnMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCcsXG4gIGhhc2g6IGhhc2guc2hhMjU2LFxuICBnUmVkOiBmYWxzZSxcbiAgZzogW1xuICAgICcyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhJyxcblxuICAgIC8vIDQvNVxuICAgICc2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjU4JyxcbiAgXSxcbn0pO1xuXG52YXIgcHJlO1xudHJ5IHtcbiAgcHJlID0gcmVxdWlyZSgnLi9wcmVjb21wdXRlZC9zZWNwMjU2azEnKTtcbn0gY2F0Y2ggKGUpIHtcbiAgcHJlID0gdW5kZWZpbmVkO1xufVxuXG5kZWZpbmVDdXJ2ZSgnc2VjcDI1NmsxJywge1xuICB0eXBlOiAnc2hvcnQnLFxuICBwcmltZTogJ2syNTYnLFxuICBwOiAnZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYnLFxuICBhOiAnMCcsXG4gIGI6ICc3JyxcbiAgbjogJ2ZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGJhYWVkY2U2IGFmNDhhMDNiIGJmZDI1ZThjIGQwMzY0MTQxJyxcbiAgaDogJzEnLFxuICBoYXNoOiBoYXNoLnNoYTI1NixcblxuICAvLyBQcmVjb21wdXRlZCBlbmRvbW9ycGhpc21cbiAgYmV0YTogJzdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUnLFxuICBsYW1iZGE6ICc1MzYzYWQ0Y2MwNWMzMGUwYTUyNjFjMDI4ODEyNjQ1YTEyMmUyMmVhMjA4MTY2NzhkZjAyOTY3YzFiMjNiZDcyJyxcbiAgYmFzaXM6IFtcbiAgICB7XG4gICAgICBhOiAnMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUnLFxuICAgICAgYjogJy1lNDQzN2VkNjAxMGU4ODI4NmY1NDdmYTkwYWJmZTRjMycsXG4gICAgfSxcbiAgICB7XG4gICAgICBhOiAnMTE0Y2E1MGY3YThlMmYzZjY1N2MxMTA4ZDlkNDRjZmQ4JyxcbiAgICAgIGI6ICczMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNScsXG4gICAgfSxcbiAgXSxcblxuICBnUmVkOiBmYWxzZSxcbiAgZzogW1xuICAgICc3OWJlNjY3ZWY5ZGNiYmFjNTVhMDYyOTVjZTg3MGIwNzAyOWJmY2RiMmRjZTI4ZDk1OWYyODE1YjE2ZjgxNzk4JyxcbiAgICAnNDgzYWRhNzcyNmEzYzQ2NTVkYTRmYmZjMGUxMTA4YThmZDE3YjQ0OGE2ODU1NDE5OWM0N2QwOGZmYjEwZDRiOCcsXG4gICAgcHJlLFxuICBdLFxufSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgSG1hY0RSQkcgPSByZXF1aXJlKCdobWFjLWRyYmcnKTtcbnZhciB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG52YXIgY3VydmVzID0gcmVxdWlyZSgnLi4vY3VydmVzJyk7XG52YXIgcmFuZCA9IHJlcXVpcmUoJ2Jyb3JhbmQnKTtcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG5cbnZhciBLZXlQYWlyID0gcmVxdWlyZSgnLi9rZXknKTtcbnZhciBTaWduYXR1cmUgPSByZXF1aXJlKCcuL3NpZ25hdHVyZScpO1xuXG5mdW5jdGlvbiBFQyhvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBFQykpXG4gICAgcmV0dXJuIG5ldyBFQyhvcHRpb25zKTtcblxuICAvLyBTaG9ydGN1dCBgZWxsaXB0aWMuZWMoY3VydmUtbmFtZSlgXG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICBhc3NlcnQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGN1cnZlcywgb3B0aW9ucyksXG4gICAgICAnVW5rbm93biBjdXJ2ZSAnICsgb3B0aW9ucyk7XG5cbiAgICBvcHRpb25zID0gY3VydmVzW29wdGlvbnNdO1xuICB9XG5cbiAgLy8gU2hvcnRjdXQgZm9yIGBlbGxpcHRpYy5lYyhlbGxpcHRpYy5jdXJ2ZXMuY3VydmVOYW1lKWBcbiAgaWYgKG9wdGlvbnMgaW5zdGFuY2VvZiBjdXJ2ZXMuUHJlc2V0Q3VydmUpXG4gICAgb3B0aW9ucyA9IHsgY3VydmU6IG9wdGlvbnMgfTtcblxuICB0aGlzLmN1cnZlID0gb3B0aW9ucy5jdXJ2ZS5jdXJ2ZTtcbiAgdGhpcy5uID0gdGhpcy5jdXJ2ZS5uO1xuICB0aGlzLm5oID0gdGhpcy5uLnVzaHJuKDEpO1xuICB0aGlzLmcgPSB0aGlzLmN1cnZlLmc7XG5cbiAgLy8gUG9pbnQgb24gY3VydmVcbiAgdGhpcy5nID0gb3B0aW9ucy5jdXJ2ZS5nO1xuICB0aGlzLmcucHJlY29tcHV0ZShvcHRpb25zLmN1cnZlLm4uYml0TGVuZ3RoKCkgKyAxKTtcblxuICAvLyBIYXNoIGZvciBmdW5jdGlvbiBmb3IgRFJCR1xuICB0aGlzLmhhc2ggPSBvcHRpb25zLmhhc2ggfHwgb3B0aW9ucy5jdXJ2ZS5oYXNoO1xufVxubW9kdWxlLmV4cG9ydHMgPSBFQztcblxuRUMucHJvdG90eXBlLmtleVBhaXIgPSBmdW5jdGlvbiBrZXlQYWlyKG9wdGlvbnMpIHtcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKHRoaXMsIG9wdGlvbnMpO1xufTtcblxuRUMucHJvdG90eXBlLmtleUZyb21Qcml2YXRlID0gZnVuY3Rpb24ga2V5RnJvbVByaXZhdGUocHJpdiwgZW5jKSB7XG4gIHJldHVybiBLZXlQYWlyLmZyb21Qcml2YXRlKHRoaXMsIHByaXYsIGVuYyk7XG59O1xuXG5FQy5wcm90b3R5cGUua2V5RnJvbVB1YmxpYyA9IGZ1bmN0aW9uIGtleUZyb21QdWJsaWMocHViLCBlbmMpIHtcbiAgcmV0dXJuIEtleVBhaXIuZnJvbVB1YmxpYyh0aGlzLCBwdWIsIGVuYyk7XG59O1xuXG5FQy5wcm90b3R5cGUuZ2VuS2V5UGFpciA9IGZ1bmN0aW9uIGdlbktleVBhaXIob3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpXG4gICAgb3B0aW9ucyA9IHt9O1xuXG4gIC8vIEluc3RhbnRpYXRlIEhtYWNfRFJCR1xuICB2YXIgZHJiZyA9IG5ldyBIbWFjRFJCRyh7XG4gICAgaGFzaDogdGhpcy5oYXNoLFxuICAgIHBlcnM6IG9wdGlvbnMucGVycyxcbiAgICBwZXJzRW5jOiBvcHRpb25zLnBlcnNFbmMgfHwgJ3V0ZjgnLFxuICAgIGVudHJvcHk6IG9wdGlvbnMuZW50cm9weSB8fCByYW5kKHRoaXMuaGFzaC5obWFjU3RyZW5ndGgpLFxuICAgIGVudHJvcHlFbmM6IG9wdGlvbnMuZW50cm9weSAmJiBvcHRpb25zLmVudHJvcHlFbmMgfHwgJ3V0ZjgnLFxuICAgIG5vbmNlOiB0aGlzLm4udG9BcnJheSgpLFxuICB9KTtcblxuICB2YXIgYnl0ZXMgPSB0aGlzLm4uYnl0ZUxlbmd0aCgpO1xuICB2YXIgbnMyID0gdGhpcy5uLnN1YihuZXcgQk4oMikpO1xuICBmb3IgKDs7KSB7XG4gICAgdmFyIHByaXYgPSBuZXcgQk4oZHJiZy5nZW5lcmF0ZShieXRlcykpO1xuICAgIGlmIChwcml2LmNtcChuczIpID4gMClcbiAgICAgIGNvbnRpbnVlO1xuXG4gICAgcHJpdi5pYWRkbigxKTtcbiAgICByZXR1cm4gdGhpcy5rZXlGcm9tUHJpdmF0ZShwcml2KTtcbiAgfVxufTtcblxuRUMucHJvdG90eXBlLl90cnVuY2F0ZVRvTiA9IGZ1bmN0aW9uIF90cnVuY2F0ZVRvTihtc2csIHRydW5jT25seSkge1xuICB2YXIgZGVsdGEgPSBtc2cuYnl0ZUxlbmd0aCgpICogOCAtIHRoaXMubi5iaXRMZW5ndGgoKTtcbiAgaWYgKGRlbHRhID4gMClcbiAgICBtc2cgPSBtc2cudXNocm4oZGVsdGEpO1xuICBpZiAoIXRydW5jT25seSAmJiBtc2cuY21wKHRoaXMubikgPj0gMClcbiAgICByZXR1cm4gbXNnLnN1Yih0aGlzLm4pO1xuICBlbHNlXG4gICAgcmV0dXJuIG1zZztcbn07XG5cbkVDLnByb3RvdHlwZS5zaWduID0gZnVuY3Rpb24gc2lnbihtc2csIGtleSwgZW5jLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgZW5jID09PSAnb2JqZWN0Jykge1xuICAgIG9wdGlvbnMgPSBlbmM7XG4gICAgZW5jID0gbnVsbDtcbiAgfVxuICBpZiAoIW9wdGlvbnMpXG4gICAgb3B0aW9ucyA9IHt9O1xuXG4gIGtleSA9IHRoaXMua2V5RnJvbVByaXZhdGUoa2V5LCBlbmMpO1xuICBtc2cgPSB0aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4obXNnLCAxNikpO1xuXG4gIC8vIFplcm8tZXh0ZW5kIGtleSB0byBwcm92aWRlIGVub3VnaCBlbnRyb3B5XG4gIHZhciBieXRlcyA9IHRoaXMubi5ieXRlTGVuZ3RoKCk7XG4gIHZhciBia2V5ID0ga2V5LmdldFByaXZhdGUoKS50b0FycmF5KCdiZScsIGJ5dGVzKTtcblxuICAvLyBaZXJvLWV4dGVuZCBub25jZSB0byBoYXZlIHRoZSBzYW1lIGJ5dGUgc2l6ZSBhcyBOXG4gIHZhciBub25jZSA9IG1zZy50b0FycmF5KCdiZScsIGJ5dGVzKTtcblxuICAvLyBJbnN0YW50aWF0ZSBIbWFjX0RSQkdcbiAgdmFyIGRyYmcgPSBuZXcgSG1hY0RSQkcoe1xuICAgIGhhc2g6IHRoaXMuaGFzaCxcbiAgICBlbnRyb3B5OiBia2V5LFxuICAgIG5vbmNlOiBub25jZSxcbiAgICBwZXJzOiBvcHRpb25zLnBlcnMsXG4gICAgcGVyc0VuYzogb3B0aW9ucy5wZXJzRW5jIHx8ICd1dGY4JyxcbiAgfSk7XG5cbiAgLy8gTnVtYmVyIG9mIGJ5dGVzIHRvIGdlbmVyYXRlXG4gIHZhciBuczEgPSB0aGlzLm4uc3ViKG5ldyBCTigxKSk7XG5cbiAgZm9yICh2YXIgaXRlciA9IDA7IDsgaXRlcisrKSB7XG4gICAgdmFyIGsgPSBvcHRpb25zLmsgP1xuICAgICAgb3B0aW9ucy5rKGl0ZXIpIDpcbiAgICAgIG5ldyBCTihkcmJnLmdlbmVyYXRlKHRoaXMubi5ieXRlTGVuZ3RoKCkpKTtcbiAgICBrID0gdGhpcy5fdHJ1bmNhdGVUb04oaywgdHJ1ZSk7XG4gICAgaWYgKGsuY21wbigxKSA8PSAwIHx8IGsuY21wKG5zMSkgPj0gMClcbiAgICAgIGNvbnRpbnVlO1xuXG4gICAgdmFyIGtwID0gdGhpcy5nLm11bChrKTtcbiAgICBpZiAoa3AuaXNJbmZpbml0eSgpKVxuICAgICAgY29udGludWU7XG5cbiAgICB2YXIga3BYID0ga3AuZ2V0WCgpO1xuICAgIHZhciByID0ga3BYLnVtb2QodGhpcy5uKTtcbiAgICBpZiAoci5jbXBuKDApID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICB2YXIgcyA9IGsuaW52bSh0aGlzLm4pLm11bChyLm11bChrZXkuZ2V0UHJpdmF0ZSgpKS5pYWRkKG1zZykpO1xuICAgIHMgPSBzLnVtb2QodGhpcy5uKTtcbiAgICBpZiAocy5jbXBuKDApID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICB2YXIgcmVjb3ZlcnlQYXJhbSA9IChrcC5nZXRZKCkuaXNPZGQoKSA/IDEgOiAwKSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAoa3BYLmNtcChyKSAhPT0gMCA/IDIgOiAwKTtcblxuICAgIC8vIFVzZSBjb21wbGVtZW50IG9mIGBzYCwgaWYgaXQgaXMgPiBgbiAvIDJgXG4gICAgaWYgKG9wdGlvbnMuY2Fub25pY2FsICYmIHMuY21wKHRoaXMubmgpID4gMCkge1xuICAgICAgcyA9IHRoaXMubi5zdWIocyk7XG4gICAgICByZWNvdmVyeVBhcmFtIF49IDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTaWduYXR1cmUoeyByOiByLCBzOiBzLCByZWNvdmVyeVBhcmFtOiByZWNvdmVyeVBhcmFtIH0pO1xuICB9XG59O1xuXG5FQy5wcm90b3R5cGUudmVyaWZ5ID0gZnVuY3Rpb24gdmVyaWZ5KG1zZywgc2lnbmF0dXJlLCBrZXksIGVuYykge1xuICBtc2cgPSB0aGlzLl90cnVuY2F0ZVRvTihuZXcgQk4obXNnLCAxNikpO1xuICBrZXkgPSB0aGlzLmtleUZyb21QdWJsaWMoa2V5LCBlbmMpO1xuICBzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlKHNpZ25hdHVyZSwgJ2hleCcpO1xuXG4gIC8vIFBlcmZvcm0gcHJpbWl0aXZlIHZhbHVlcyB2YWxpZGF0aW9uXG4gIHZhciByID0gc2lnbmF0dXJlLnI7XG4gIHZhciBzID0gc2lnbmF0dXJlLnM7XG4gIGlmIChyLmNtcG4oMSkgPCAwIHx8IHIuY21wKHRoaXMubikgPj0gMClcbiAgICByZXR1cm4gZmFsc2U7XG4gIGlmIChzLmNtcG4oMSkgPCAwIHx8IHMuY21wKHRoaXMubikgPj0gMClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gVmFsaWRhdGUgc2lnbmF0dXJlXG4gIHZhciBzaW52ID0gcy5pbnZtKHRoaXMubik7XG4gIHZhciB1MSA9IHNpbnYubXVsKG1zZykudW1vZCh0aGlzLm4pO1xuICB2YXIgdTIgPSBzaW52Lm11bChyKS51bW9kKHRoaXMubik7XG4gIHZhciBwO1xuXG4gIGlmICghdGhpcy5jdXJ2ZS5fbWF4d2VsbFRyaWNrKSB7XG4gICAgcCA9IHRoaXMuZy5tdWxBZGQodTEsIGtleS5nZXRQdWJsaWMoKSwgdTIpO1xuICAgIGlmIChwLmlzSW5maW5pdHkoKSlcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiBwLmdldFgoKS51bW9kKHRoaXMubikuY21wKHIpID09PSAwO1xuICB9XG5cbiAgLy8gTk9URTogR3JlZyBNYXh3ZWxsJ3MgdHJpY2ssIGluc3BpcmVkIGJ5OlxuICAvLyBodHRwczovL2dpdC5pby92YWQzS1xuXG4gIHAgPSB0aGlzLmcuam11bEFkZCh1MSwga2V5LmdldFB1YmxpYygpLCB1Mik7XG4gIGlmIChwLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gQ29tcGFyZSBgcC54YCBvZiBKYWNvYmlhbiBwb2ludCB3aXRoIGByYCxcbiAgLy8gdGhpcyB3aWxsIGRvIGBwLnggPT0gciAqIHAuel4yYCBpbnN0ZWFkIG9mIG11bHRpcGx5aW5nIGBwLnhgIGJ5IHRoZVxuICAvLyBpbnZlcnNlIG9mIGBwLnpeMmBcbiAgcmV0dXJuIHAuZXFYVG9QKHIpO1xufTtcblxuRUMucHJvdG90eXBlLnJlY292ZXJQdWJLZXkgPSBmdW5jdGlvbihtc2csIHNpZ25hdHVyZSwgaiwgZW5jKSB7XG4gIGFzc2VydCgoMyAmIGopID09PSBqLCAnVGhlIHJlY292ZXJ5IHBhcmFtIGlzIG1vcmUgdGhhbiB0d28gYml0cycpO1xuICBzaWduYXR1cmUgPSBuZXcgU2lnbmF0dXJlKHNpZ25hdHVyZSwgZW5jKTtcblxuICB2YXIgbiA9IHRoaXMubjtcbiAgdmFyIGUgPSBuZXcgQk4obXNnKTtcbiAgdmFyIHIgPSBzaWduYXR1cmUucjtcbiAgdmFyIHMgPSBzaWduYXR1cmUucztcblxuICAvLyBBIHNldCBMU0Igc2lnbmlmaWVzIHRoYXQgdGhlIHktY29vcmRpbmF0ZSBpcyBvZGRcbiAgdmFyIGlzWU9kZCA9IGogJiAxO1xuICB2YXIgaXNTZWNvbmRLZXkgPSBqID4+IDE7XG4gIGlmIChyLmNtcCh0aGlzLmN1cnZlLnAudW1vZCh0aGlzLmN1cnZlLm4pKSA+PSAwICYmIGlzU2Vjb25kS2V5KVxuICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlJyk7XG5cbiAgLy8gMS4xLiBMZXQgeCA9IHIgKyBqbi5cbiAgaWYgKGlzU2Vjb25kS2V5KVxuICAgIHIgPSB0aGlzLmN1cnZlLnBvaW50RnJvbVgoci5hZGQodGhpcy5jdXJ2ZS5uKSwgaXNZT2RkKTtcbiAgZWxzZVxuICAgIHIgPSB0aGlzLmN1cnZlLnBvaW50RnJvbVgociwgaXNZT2RkKTtcblxuICB2YXIgckludiA9IHNpZ25hdHVyZS5yLmludm0obik7XG4gIHZhciBzMSA9IG4uc3ViKGUpLm11bChySW52KS51bW9kKG4pO1xuICB2YXIgczIgPSBzLm11bChySW52KS51bW9kKG4pO1xuXG4gIC8vIDEuNi4xIENvbXB1dGUgUSA9IHJeLTEgKHNSIC0gIGVHKVxuICAvLyAgICAgICAgICAgICAgIFEgPSByXi0xIChzUiArIC1lRylcbiAgcmV0dXJuIHRoaXMuZy5tdWxBZGQoczEsIHIsIHMyKTtcbn07XG5cbkVDLnByb3RvdHlwZS5nZXRLZXlSZWNvdmVyeVBhcmFtID0gZnVuY3Rpb24oZSwgc2lnbmF0dXJlLCBRLCBlbmMpIHtcbiAgc2lnbmF0dXJlID0gbmV3IFNpZ25hdHVyZShzaWduYXR1cmUsIGVuYyk7XG4gIGlmIChzaWduYXR1cmUucmVjb3ZlcnlQYXJhbSAhPT0gbnVsbClcbiAgICByZXR1cm4gc2lnbmF0dXJlLnJlY292ZXJ5UGFyYW07XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICB2YXIgUXByaW1lO1xuICAgIHRyeSB7XG4gICAgICBRcHJpbWUgPSB0aGlzLnJlY292ZXJQdWJLZXkoZSwgc2lnbmF0dXJlLCBpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoUXByaW1lLmVxKFEpKVxuICAgICAgcmV0dXJuIGk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZmluZCB2YWxpZCByZWNvdmVyeSBmYWN0b3InKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gS2V5UGFpcihlYywgb3B0aW9ucykge1xuICB0aGlzLmVjID0gZWM7XG4gIHRoaXMucHJpdiA9IG51bGw7XG4gIHRoaXMucHViID0gbnVsbDtcblxuICAvLyBLZXlQYWlyKGVjLCB7IHByaXY6IC4uLiwgcHViOiAuLi4gfSlcbiAgaWYgKG9wdGlvbnMucHJpdilcbiAgICB0aGlzLl9pbXBvcnRQcml2YXRlKG9wdGlvbnMucHJpdiwgb3B0aW9ucy5wcml2RW5jKTtcbiAgaWYgKG9wdGlvbnMucHViKVxuICAgIHRoaXMuX2ltcG9ydFB1YmxpYyhvcHRpb25zLnB1Yiwgb3B0aW9ucy5wdWJFbmMpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBLZXlQYWlyO1xuXG5LZXlQYWlyLmZyb21QdWJsaWMgPSBmdW5jdGlvbiBmcm9tUHVibGljKGVjLCBwdWIsIGVuYykge1xuICBpZiAocHViIGluc3RhbmNlb2YgS2V5UGFpcilcbiAgICByZXR1cm4gcHViO1xuXG4gIHJldHVybiBuZXcgS2V5UGFpcihlYywge1xuICAgIHB1YjogcHViLFxuICAgIHB1YkVuYzogZW5jLFxuICB9KTtcbn07XG5cbktleVBhaXIuZnJvbVByaXZhdGUgPSBmdW5jdGlvbiBmcm9tUHJpdmF0ZShlYywgcHJpdiwgZW5jKSB7XG4gIGlmIChwcml2IGluc3RhbmNlb2YgS2V5UGFpcilcbiAgICByZXR1cm4gcHJpdjtcblxuICByZXR1cm4gbmV3IEtleVBhaXIoZWMsIHtcbiAgICBwcml2OiBwcml2LFxuICAgIHByaXZFbmM6IGVuYyxcbiAgfSk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS52YWxpZGF0ZSA9IGZ1bmN0aW9uIHZhbGlkYXRlKCkge1xuICB2YXIgcHViID0gdGhpcy5nZXRQdWJsaWMoKTtcblxuICBpZiAocHViLmlzSW5maW5pdHkoKSlcbiAgICByZXR1cm4geyByZXN1bHQ6IGZhbHNlLCByZWFzb246ICdJbnZhbGlkIHB1YmxpYyBrZXknIH07XG4gIGlmICghcHViLnZhbGlkYXRlKCkpXG4gICAgcmV0dXJuIHsgcmVzdWx0OiBmYWxzZSwgcmVhc29uOiAnUHVibGljIGtleSBpcyBub3QgYSBwb2ludCcgfTtcbiAgaWYgKCFwdWIubXVsKHRoaXMuZWMuY3VydmUubikuaXNJbmZpbml0eSgpKVxuICAgIHJldHVybiB7IHJlc3VsdDogZmFsc2UsIHJlYXNvbjogJ1B1YmxpYyBrZXkgKiBOICE9IE8nIH07XG5cbiAgcmV0dXJuIHsgcmVzdWx0OiB0cnVlLCByZWFzb246IG51bGwgfTtcbn07XG5cbktleVBhaXIucHJvdG90eXBlLmdldFB1YmxpYyA9IGZ1bmN0aW9uIGdldFB1YmxpYyhjb21wYWN0LCBlbmMpIHtcbiAgLy8gY29tcGFjdCBpcyBvcHRpb25hbCBhcmd1bWVudFxuICBpZiAodHlwZW9mIGNvbXBhY3QgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jID0gY29tcGFjdDtcbiAgICBjb21wYWN0ID0gbnVsbDtcbiAgfVxuXG4gIGlmICghdGhpcy5wdWIpXG4gICAgdGhpcy5wdWIgPSB0aGlzLmVjLmcubXVsKHRoaXMucHJpdik7XG5cbiAgaWYgKCFlbmMpXG4gICAgcmV0dXJuIHRoaXMucHViO1xuXG4gIHJldHVybiB0aGlzLnB1Yi5lbmNvZGUoZW5jLCBjb21wYWN0KTtcbn07XG5cbktleVBhaXIucHJvdG90eXBlLmdldFByaXZhdGUgPSBmdW5jdGlvbiBnZXRQcml2YXRlKGVuYykge1xuICBpZiAoZW5jID09PSAnaGV4JylcbiAgICByZXR1cm4gdGhpcy5wcml2LnRvU3RyaW5nKDE2LCAyKTtcbiAgZWxzZVxuICAgIHJldHVybiB0aGlzLnByaXY7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS5faW1wb3J0UHJpdmF0ZSA9IGZ1bmN0aW9uIF9pbXBvcnRQcml2YXRlKGtleSwgZW5jKSB7XG4gIHRoaXMucHJpdiA9IG5ldyBCTihrZXksIGVuYyB8fCAxNik7XG5cbiAgLy8gRW5zdXJlIHRoYXQgdGhlIHByaXYgd29uJ3QgYmUgYmlnZ2VyIHRoYW4gbiwgb3RoZXJ3aXNlIHdlIG1heSBmYWlsXG4gIC8vIGluIGZpeGVkIG11bHRpcGxpY2F0aW9uIG1ldGhvZFxuICB0aGlzLnByaXYgPSB0aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pO1xufTtcblxuS2V5UGFpci5wcm90b3R5cGUuX2ltcG9ydFB1YmxpYyA9IGZ1bmN0aW9uIF9pbXBvcnRQdWJsaWMoa2V5LCBlbmMpIHtcbiAgaWYgKGtleS54IHx8IGtleS55KSB7XG4gICAgLy8gTW9udGdvbWVyeSBwb2ludHMgb25seSBoYXZlIGFuIGB4YCBjb29yZGluYXRlLlxuICAgIC8vIFdlaWVyc3RyYXNzL0Vkd2FyZHMgcG9pbnRzIG9uIHRoZSBvdGhlciBoYW5kIGhhdmUgYm90aCBgeGAgYW5kXG4gICAgLy8gYHlgIGNvb3JkaW5hdGVzLlxuICAgIGlmICh0aGlzLmVjLmN1cnZlLnR5cGUgPT09ICdtb250Jykge1xuICAgICAgYXNzZXJ0KGtleS54LCAnTmVlZCB4IGNvb3JkaW5hdGUnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWMuY3VydmUudHlwZSA9PT0gJ3Nob3J0JyB8fFxuICAgICAgICAgICAgICAgdGhpcy5lYy5jdXJ2ZS50eXBlID09PSAnZWR3YXJkcycpIHtcbiAgICAgIGFzc2VydChrZXkueCAmJiBrZXkueSwgJ05lZWQgYm90aCB4IGFuZCB5IGNvb3JkaW5hdGUnKTtcbiAgICB9XG4gICAgdGhpcy5wdWIgPSB0aGlzLmVjLmN1cnZlLnBvaW50KGtleS54LCBrZXkueSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIHRoaXMucHViID0gdGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludChrZXksIGVuYyk7XG59O1xuXG4vLyBFQ0RIXG5LZXlQYWlyLnByb3RvdHlwZS5kZXJpdmUgPSBmdW5jdGlvbiBkZXJpdmUocHViKSB7XG4gIGlmKCFwdWIudmFsaWRhdGUoKSkge1xuICAgIGFzc2VydChwdWIudmFsaWRhdGUoKSwgJ3B1YmxpYyBwb2ludCBub3QgdmFsaWRhdGVkJyk7XG4gIH1cbiAgcmV0dXJuIHB1Yi5tdWwodGhpcy5wcml2KS5nZXRYKCk7XG59O1xuXG4vLyBFQ0RTQVxuS2V5UGFpci5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ24obXNnLCBlbmMsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIHRoaXMuZWMuc2lnbihtc2csIHRoaXMsIGVuYywgb3B0aW9ucyk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobXNnLCBzaWduYXR1cmUpIHtcbiAgcmV0dXJuIHRoaXMuZWMudmVyaWZ5KG1zZywgc2lnbmF0dXJlLCB0aGlzKTtcbn07XG5cbktleVBhaXIucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiBpbnNwZWN0KCkge1xuICByZXR1cm4gJzxLZXkgcHJpdjogJyArICh0aGlzLnByaXYgJiYgdGhpcy5wcml2LnRvU3RyaW5nKDE2LCAyKSkgK1xuICAgICAgICAgJyBwdWI6ICcgKyAodGhpcy5wdWIgJiYgdGhpcy5wdWIuaW5zcGVjdCgpKSArICcgPic7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcblxuZnVuY3Rpb24gU2lnbmF0dXJlKG9wdGlvbnMsIGVuYykge1xuICBpZiAob3B0aW9ucyBpbnN0YW5jZW9mIFNpZ25hdHVyZSlcbiAgICByZXR1cm4gb3B0aW9ucztcblxuICBpZiAodGhpcy5faW1wb3J0REVSKG9wdGlvbnMsIGVuYykpXG4gICAgcmV0dXJuO1xuXG4gIGFzc2VydChvcHRpb25zLnIgJiYgb3B0aW9ucy5zLCAnU2lnbmF0dXJlIHdpdGhvdXQgciBvciBzJyk7XG4gIHRoaXMuciA9IG5ldyBCTihvcHRpb25zLnIsIDE2KTtcbiAgdGhpcy5zID0gbmV3IEJOKG9wdGlvbnMucywgMTYpO1xuICBpZiAob3B0aW9ucy5yZWNvdmVyeVBhcmFtID09PSB1bmRlZmluZWQpXG4gICAgdGhpcy5yZWNvdmVyeVBhcmFtID0gbnVsbDtcbiAgZWxzZVxuICAgIHRoaXMucmVjb3ZlcnlQYXJhbSA9IG9wdGlvbnMucmVjb3ZlcnlQYXJhbTtcbn1cbm1vZHVsZS5leHBvcnRzID0gU2lnbmF0dXJlO1xuXG5mdW5jdGlvbiBQb3NpdGlvbigpIHtcbiAgdGhpcy5wbGFjZSA9IDA7XG59XG5cbmZ1bmN0aW9uIGdldExlbmd0aChidWYsIHApIHtcbiAgdmFyIGluaXRpYWwgPSBidWZbcC5wbGFjZSsrXTtcbiAgaWYgKCEoaW5pdGlhbCAmIDB4ODApKSB7XG4gICAgcmV0dXJuIGluaXRpYWw7XG4gIH1cbiAgdmFyIG9jdGV0TGVuID0gaW5pdGlhbCAmIDB4ZjtcblxuICAvLyBJbmRlZmluaXRlIGxlbmd0aCBvciBvdmVyZmxvd1xuICBpZiAob2N0ZXRMZW4gPT09IDAgfHwgb2N0ZXRMZW4gPiA0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHZhbCA9IDA7XG4gIGZvciAodmFyIGkgPSAwLCBvZmYgPSBwLnBsYWNlOyBpIDwgb2N0ZXRMZW47IGkrKywgb2ZmKyspIHtcbiAgICB2YWwgPDw9IDg7XG4gICAgdmFsIHw9IGJ1ZltvZmZdO1xuICAgIHZhbCA+Pj49IDA7XG4gIH1cblxuICAvLyBMZWFkaW5nIHplcm9lc1xuICBpZiAodmFsIDw9IDB4N2YpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwLnBsYWNlID0gb2ZmO1xuICByZXR1cm4gdmFsO1xufVxuXG5mdW5jdGlvbiBybVBhZGRpbmcoYnVmKSB7XG4gIHZhciBpID0gMDtcbiAgdmFyIGxlbiA9IGJ1Zi5sZW5ndGggLSAxO1xuICB3aGlsZSAoIWJ1ZltpXSAmJiAhKGJ1ZltpICsgMV0gJiAweDgwKSAmJiBpIDwgbGVuKSB7XG4gICAgaSsrO1xuICB9XG4gIGlmIChpID09PSAwKSB7XG4gICAgcmV0dXJuIGJ1ZjtcbiAgfVxuICByZXR1cm4gYnVmLnNsaWNlKGkpO1xufVxuXG5TaWduYXR1cmUucHJvdG90eXBlLl9pbXBvcnRERVIgPSBmdW5jdGlvbiBfaW1wb3J0REVSKGRhdGEsIGVuYykge1xuICBkYXRhID0gdXRpbHMudG9BcnJheShkYXRhLCBlbmMpO1xuICB2YXIgcCA9IG5ldyBQb3NpdGlvbigpO1xuICBpZiAoZGF0YVtwLnBsYWNlKytdICE9PSAweDMwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XG4gIGlmIChsZW4gPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICgobGVuICsgcC5wbGFjZSkgIT09IGRhdGEubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmIChkYXRhW3AucGxhY2UrK10gIT09IDB4MDIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHJsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XG4gIGlmIChybGVuID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgciA9IGRhdGEuc2xpY2UocC5wbGFjZSwgcmxlbiArIHAucGxhY2UpO1xuICBwLnBsYWNlICs9IHJsZW47XG4gIGlmIChkYXRhW3AucGxhY2UrK10gIT09IDB4MDIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdmFyIHNsZW4gPSBnZXRMZW5ndGgoZGF0YSwgcCk7XG4gIGlmIChzbGVuID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZGF0YS5sZW5ndGggIT09IHNsZW4gKyBwLnBsYWNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBzID0gZGF0YS5zbGljZShwLnBsYWNlLCBzbGVuICsgcC5wbGFjZSk7XG4gIGlmIChyWzBdID09PSAwKSB7XG4gICAgaWYgKHJbMV0gJiAweDgwKSB7XG4gICAgICByID0gci5zbGljZSgxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTGVhZGluZyB6ZXJvZXNcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKHNbMF0gPT09IDApIHtcbiAgICBpZiAoc1sxXSAmIDB4ODApIHtcbiAgICAgIHMgPSBzLnNsaWNlKDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMZWFkaW5nIHplcm9lc1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHRoaXMuciA9IG5ldyBCTihyKTtcbiAgdGhpcy5zID0gbmV3IEJOKHMpO1xuICB0aGlzLnJlY292ZXJ5UGFyYW0gPSBudWxsO1xuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZnVuY3Rpb24gY29uc3RydWN0TGVuZ3RoKGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPCAweDgwKSB7XG4gICAgYXJyLnB1c2gobGVuKTtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG9jdGV0cyA9IDEgKyAoTWF0aC5sb2cobGVuKSAvIE1hdGguTE4yID4+PiAzKTtcbiAgYXJyLnB1c2gob2N0ZXRzIHwgMHg4MCk7XG4gIHdoaWxlICgtLW9jdGV0cykge1xuICAgIGFyci5wdXNoKChsZW4gPj4+IChvY3RldHMgPDwgMykpICYgMHhmZik7XG4gIH1cbiAgYXJyLnB1c2gobGVuKTtcbn1cblxuU2lnbmF0dXJlLnByb3RvdHlwZS50b0RFUiA9IGZ1bmN0aW9uIHRvREVSKGVuYykge1xuICB2YXIgciA9IHRoaXMuci50b0FycmF5KCk7XG4gIHZhciBzID0gdGhpcy5zLnRvQXJyYXkoKTtcblxuICAvLyBQYWQgdmFsdWVzXG4gIGlmIChyWzBdICYgMHg4MClcbiAgICByID0gWyAwIF0uY29uY2F0KHIpO1xuICAvLyBQYWQgdmFsdWVzXG4gIGlmIChzWzBdICYgMHg4MClcbiAgICBzID0gWyAwIF0uY29uY2F0KHMpO1xuXG4gIHIgPSBybVBhZGRpbmcocik7XG4gIHMgPSBybVBhZGRpbmcocyk7XG5cbiAgd2hpbGUgKCFzWzBdICYmICEoc1sxXSAmIDB4ODApKSB7XG4gICAgcyA9IHMuc2xpY2UoMSk7XG4gIH1cbiAgdmFyIGFyciA9IFsgMHgwMiBdO1xuICBjb25zdHJ1Y3RMZW5ndGgoYXJyLCByLmxlbmd0aCk7XG4gIGFyciA9IGFyci5jb25jYXQocik7XG4gIGFyci5wdXNoKDB4MDIpO1xuICBjb25zdHJ1Y3RMZW5ndGgoYXJyLCBzLmxlbmd0aCk7XG4gIHZhciBiYWNrSGFsZiA9IGFyci5jb25jYXQocyk7XG4gIHZhciByZXMgPSBbIDB4MzAgXTtcbiAgY29uc3RydWN0TGVuZ3RoKHJlcywgYmFja0hhbGYubGVuZ3RoKTtcbiAgcmVzID0gcmVzLmNvbmNhdChiYWNrSGFsZik7XG4gIHJldHVybiB1dGlscy5lbmNvZGUocmVzLCBlbmMpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGhhc2ggPSByZXF1aXJlKCdoYXNoLmpzJyk7XG52YXIgY3VydmVzID0gcmVxdWlyZSgnLi4vY3VydmVzJyk7XG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGFzc2VydCA9IHV0aWxzLmFzc2VydDtcbnZhciBwYXJzZUJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcztcbnZhciBLZXlQYWlyID0gcmVxdWlyZSgnLi9rZXknKTtcbnZhciBTaWduYXR1cmUgPSByZXF1aXJlKCcuL3NpZ25hdHVyZScpO1xuXG5mdW5jdGlvbiBFRERTQShjdXJ2ZSkge1xuICBhc3NlcnQoY3VydmUgPT09ICdlZDI1NTE5JywgJ29ubHkgdGVzdGVkIHdpdGggZWQyNTUxOSBzbyBmYXInKTtcblxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgRUREU0EpKVxuICAgIHJldHVybiBuZXcgRUREU0EoY3VydmUpO1xuXG4gIGN1cnZlID0gY3VydmVzW2N1cnZlXS5jdXJ2ZTtcbiAgdGhpcy5jdXJ2ZSA9IGN1cnZlO1xuICB0aGlzLmcgPSBjdXJ2ZS5nO1xuICB0aGlzLmcucHJlY29tcHV0ZShjdXJ2ZS5uLmJpdExlbmd0aCgpICsgMSk7XG5cbiAgdGhpcy5wb2ludENsYXNzID0gY3VydmUucG9pbnQoKS5jb25zdHJ1Y3RvcjtcbiAgdGhpcy5lbmNvZGluZ0xlbmd0aCA9IE1hdGguY2VpbChjdXJ2ZS5uLmJpdExlbmd0aCgpIC8gOCk7XG4gIHRoaXMuaGFzaCA9IGhhc2guc2hhNTEyO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEVERFNBO1xuXG4vKipcbiogQHBhcmFtIHtBcnJheXxTdHJpbmd9IG1lc3NhZ2UgLSBtZXNzYWdlIGJ5dGVzXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfEtleVBhaXJ9IHNlY3JldCAtIHNlY3JldCBieXRlcyBvciBhIGtleXBhaXJcbiogQHJldHVybnMge1NpZ25hdHVyZX0gLSBzaWduYXR1cmVcbiovXG5FRERTQS5wcm90b3R5cGUuc2lnbiA9IGZ1bmN0aW9uIHNpZ24obWVzc2FnZSwgc2VjcmV0KSB7XG4gIG1lc3NhZ2UgPSBwYXJzZUJ5dGVzKG1lc3NhZ2UpO1xuICB2YXIga2V5ID0gdGhpcy5rZXlGcm9tU2VjcmV0KHNlY3JldCk7XG4gIHZhciByID0gdGhpcy5oYXNoSW50KGtleS5tZXNzYWdlUHJlZml4KCksIG1lc3NhZ2UpO1xuICB2YXIgUiA9IHRoaXMuZy5tdWwocik7XG4gIHZhciBSZW5jb2RlZCA9IHRoaXMuZW5jb2RlUG9pbnQoUik7XG4gIHZhciBzXyA9IHRoaXMuaGFzaEludChSZW5jb2RlZCwga2V5LnB1YkJ5dGVzKCksIG1lc3NhZ2UpXG4gICAgLm11bChrZXkucHJpdigpKTtcbiAgdmFyIFMgPSByLmFkZChzXykudW1vZCh0aGlzLmN1cnZlLm4pO1xuICByZXR1cm4gdGhpcy5tYWtlU2lnbmF0dXJlKHsgUjogUiwgUzogUywgUmVuY29kZWQ6IFJlbmNvZGVkIH0pO1xufTtcblxuLyoqXG4qIEBwYXJhbSB7QXJyYXl9IG1lc3NhZ2UgLSBtZXNzYWdlIGJ5dGVzXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfFNpZ25hdHVyZX0gc2lnIC0gc2lnIGJ5dGVzXG4qIEBwYXJhbSB7QXJyYXl8U3RyaW5nfFBvaW50fEtleVBhaXJ9IHB1YiAtIHB1YmxpYyBrZXlcbiogQHJldHVybnMge0Jvb2xlYW59IC0gdHJ1ZSBpZiBwdWJsaWMga2V5IG1hdGNoZXMgc2lnIG9mIG1lc3NhZ2VcbiovXG5FRERTQS5wcm90b3R5cGUudmVyaWZ5ID0gZnVuY3Rpb24gdmVyaWZ5KG1lc3NhZ2UsIHNpZywgcHViKSB7XG4gIG1lc3NhZ2UgPSBwYXJzZUJ5dGVzKG1lc3NhZ2UpO1xuICBzaWcgPSB0aGlzLm1ha2VTaWduYXR1cmUoc2lnKTtcbiAgdmFyIGtleSA9IHRoaXMua2V5RnJvbVB1YmxpYyhwdWIpO1xuICB2YXIgaCA9IHRoaXMuaGFzaEludChzaWcuUmVuY29kZWQoKSwga2V5LnB1YkJ5dGVzKCksIG1lc3NhZ2UpO1xuICB2YXIgU0cgPSB0aGlzLmcubXVsKHNpZy5TKCkpO1xuICB2YXIgUnBsdXNBaCA9IHNpZy5SKCkuYWRkKGtleS5wdWIoKS5tdWwoaCkpO1xuICByZXR1cm4gUnBsdXNBaC5lcShTRyk7XG59O1xuXG5FRERTQS5wcm90b3R5cGUuaGFzaEludCA9IGZ1bmN0aW9uIGhhc2hJbnQoKSB7XG4gIHZhciBoYXNoID0gdGhpcy5oYXNoKCk7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgIGhhc2gudXBkYXRlKGFyZ3VtZW50c1tpXSk7XG4gIHJldHVybiB1dGlscy5pbnRGcm9tTEUoaGFzaC5kaWdlc3QoKSkudW1vZCh0aGlzLmN1cnZlLm4pO1xufTtcblxuRUREU0EucHJvdG90eXBlLmtleUZyb21QdWJsaWMgPSBmdW5jdGlvbiBrZXlGcm9tUHVibGljKHB1Yikge1xuICByZXR1cm4gS2V5UGFpci5mcm9tUHVibGljKHRoaXMsIHB1Yik7XG59O1xuXG5FRERTQS5wcm90b3R5cGUua2V5RnJvbVNlY3JldCA9IGZ1bmN0aW9uIGtleUZyb21TZWNyZXQoc2VjcmV0KSB7XG4gIHJldHVybiBLZXlQYWlyLmZyb21TZWNyZXQodGhpcywgc2VjcmV0KTtcbn07XG5cbkVERFNBLnByb3RvdHlwZS5tYWtlU2lnbmF0dXJlID0gZnVuY3Rpb24gbWFrZVNpZ25hdHVyZShzaWcpIHtcbiAgaWYgKHNpZyBpbnN0YW5jZW9mIFNpZ25hdHVyZSlcbiAgICByZXR1cm4gc2lnO1xuICByZXR1cm4gbmV3IFNpZ25hdHVyZSh0aGlzLCBzaWcpO1xufTtcblxuLyoqXG4qICogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWpvc2Vmc3Nvbi1lZGRzYS1lZDI1NTE5LTAzI3NlY3Rpb24tNS4yXG4qXG4qIEVERFNBIGRlZmluZXMgbWV0aG9kcyBmb3IgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHBvaW50cyBhbmQgaW50ZWdlcnMuIFRoZXNlIGFyZVxuKiBoZWxwZXIgY29udmVuaWVuY2UgbWV0aG9kcywgdGhhdCBwYXNzIGFsb25nIHRvIHV0aWxpdHkgZnVuY3Rpb25zIGltcGxpZWRcbiogcGFyYW1ldGVycy5cbipcbiovXG5FRERTQS5wcm90b3R5cGUuZW5jb2RlUG9pbnQgPSBmdW5jdGlvbiBlbmNvZGVQb2ludChwb2ludCkge1xuICB2YXIgZW5jID0gcG9pbnQuZ2V0WSgpLnRvQXJyYXkoJ2xlJywgdGhpcy5lbmNvZGluZ0xlbmd0aCk7XG4gIGVuY1t0aGlzLmVuY29kaW5nTGVuZ3RoIC0gMV0gfD0gcG9pbnQuZ2V0WCgpLmlzT2RkKCkgPyAweDgwIDogMDtcbiAgcmV0dXJuIGVuYztcbn07XG5cbkVERFNBLnByb3RvdHlwZS5kZWNvZGVQb2ludCA9IGZ1bmN0aW9uIGRlY29kZVBvaW50KGJ5dGVzKSB7XG4gIGJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcyhieXRlcyk7XG5cbiAgdmFyIGxhc3RJeCA9IGJ5dGVzLmxlbmd0aCAtIDE7XG4gIHZhciBub3JtZWQgPSBieXRlcy5zbGljZSgwLCBsYXN0SXgpLmNvbmNhdChieXRlc1tsYXN0SXhdICYgfjB4ODApO1xuICB2YXIgeElzT2RkID0gKGJ5dGVzW2xhc3RJeF0gJiAweDgwKSAhPT0gMDtcblxuICB2YXIgeSA9IHV0aWxzLmludEZyb21MRShub3JtZWQpO1xuICByZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludEZyb21ZKHksIHhJc09kZCk7XG59O1xuXG5FRERTQS5wcm90b3R5cGUuZW5jb2RlSW50ID0gZnVuY3Rpb24gZW5jb2RlSW50KG51bSkge1xuICByZXR1cm4gbnVtLnRvQXJyYXkoJ2xlJywgdGhpcy5lbmNvZGluZ0xlbmd0aCk7XG59O1xuXG5FRERTQS5wcm90b3R5cGUuZGVjb2RlSW50ID0gZnVuY3Rpb24gZGVjb2RlSW50KGJ5dGVzKSB7XG4gIHJldHVybiB1dGlscy5pbnRGcm9tTEUoYnl0ZXMpO1xufTtcblxuRUREU0EucHJvdG90eXBlLmlzUG9pbnQgPSBmdW5jdGlvbiBpc1BvaW50KHZhbCkge1xuICByZXR1cm4gdmFsIGluc3RhbmNlb2YgdGhpcy5wb2ludENsYXNzO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG52YXIgcGFyc2VCeXRlcyA9IHV0aWxzLnBhcnNlQnl0ZXM7XG52YXIgY2FjaGVkUHJvcGVydHkgPSB1dGlscy5jYWNoZWRQcm9wZXJ0eTtcblxuLyoqXG4qIEBwYXJhbSB7RUREU0F9IGVkZHNhIC0gaW5zdGFuY2VcbiogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIHB1YmxpYy9wcml2YXRlIGtleSBwYXJhbWV0ZXJzXG4qXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZT59IFtwYXJhbXMuc2VjcmV0XSAtIHNlY3JldCBzZWVkIGJ5dGVzXG4qIEBwYXJhbSB7UG9pbnR9IFtwYXJhbXMucHViXSAtIHB1YmxpYyBrZXkgcG9pbnQgKGFrYSBgQWAgaW4gZWRkc2EgdGVybXMpXG4qIEBwYXJhbSB7QXJyYXk8Qnl0ZT59IFtwYXJhbXMucHViXSAtIHB1YmxpYyBrZXkgcG9pbnQgZW5jb2RlZCBhcyBieXRlc1xuKlxuKi9cbmZ1bmN0aW9uIEtleVBhaXIoZWRkc2EsIHBhcmFtcykge1xuICB0aGlzLmVkZHNhID0gZWRkc2E7XG4gIHRoaXMuX3NlY3JldCA9IHBhcnNlQnl0ZXMocGFyYW1zLnNlY3JldCk7XG4gIGlmIChlZGRzYS5pc1BvaW50KHBhcmFtcy5wdWIpKVxuICAgIHRoaXMuX3B1YiA9IHBhcmFtcy5wdWI7XG4gIGVsc2VcbiAgICB0aGlzLl9wdWJCeXRlcyA9IHBhcnNlQnl0ZXMocGFyYW1zLnB1Yik7XG59XG5cbktleVBhaXIuZnJvbVB1YmxpYyA9IGZ1bmN0aW9uIGZyb21QdWJsaWMoZWRkc2EsIHB1Yikge1xuICBpZiAocHViIGluc3RhbmNlb2YgS2V5UGFpcilcbiAgICByZXR1cm4gcHViO1xuICByZXR1cm4gbmV3IEtleVBhaXIoZWRkc2EsIHsgcHViOiBwdWIgfSk7XG59O1xuXG5LZXlQYWlyLmZyb21TZWNyZXQgPSBmdW5jdGlvbiBmcm9tU2VjcmV0KGVkZHNhLCBzZWNyZXQpIHtcbiAgaWYgKHNlY3JldCBpbnN0YW5jZW9mIEtleVBhaXIpXG4gICAgcmV0dXJuIHNlY3JldDtcbiAgcmV0dXJuIG5ldyBLZXlQYWlyKGVkZHNhLCB7IHNlY3JldDogc2VjcmV0IH0pO1xufTtcblxuS2V5UGFpci5wcm90b3R5cGUuc2VjcmV0ID0gZnVuY3Rpb24gc2VjcmV0KCkge1xuICByZXR1cm4gdGhpcy5fc2VjcmV0O1xufTtcblxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3B1YkJ5dGVzJywgZnVuY3Rpb24gcHViQnl0ZXMoKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLmVuY29kZVBvaW50KHRoaXMucHViKCkpO1xufSk7XG5cbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdwdWInLCBmdW5jdGlvbiBwdWIoKSB7XG4gIGlmICh0aGlzLl9wdWJCeXRlcylcbiAgICByZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVQb2ludCh0aGlzLl9wdWJCeXRlcyk7XG4gIHJldHVybiB0aGlzLmVkZHNhLmcubXVsKHRoaXMucHJpdigpKTtcbn0pO1xuXG5jYWNoZWRQcm9wZXJ0eShLZXlQYWlyLCAncHJpdkJ5dGVzJywgZnVuY3Rpb24gcHJpdkJ5dGVzKCkge1xuICB2YXIgZWRkc2EgPSB0aGlzLmVkZHNhO1xuICB2YXIgaGFzaCA9IHRoaXMuaGFzaCgpO1xuICB2YXIgbGFzdEl4ID0gZWRkc2EuZW5jb2RpbmdMZW5ndGggLSAxO1xuXG4gIHZhciBhID0gaGFzaC5zbGljZSgwLCBlZGRzYS5lbmNvZGluZ0xlbmd0aCk7XG4gIGFbMF0gJj0gMjQ4O1xuICBhW2xhc3RJeF0gJj0gMTI3O1xuICBhW2xhc3RJeF0gfD0gNjQ7XG5cbiAgcmV0dXJuIGE7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ3ByaXYnLCBmdW5jdGlvbiBwcml2KCkge1xuICByZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5wcml2Qnl0ZXMoKSk7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoS2V5UGFpciwgJ2hhc2gnLCBmdW5jdGlvbiBoYXNoKCkge1xuICByZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpO1xufSk7XG5cbmNhY2hlZFByb3BlcnR5KEtleVBhaXIsICdtZXNzYWdlUHJlZml4JywgZnVuY3Rpb24gbWVzc2FnZVByZWZpeCgpIHtcbiAgcmV0dXJuIHRoaXMuaGFzaCgpLnNsaWNlKHRoaXMuZWRkc2EuZW5jb2RpbmdMZW5ndGgpO1xufSk7XG5cbktleVBhaXIucHJvdG90eXBlLnNpZ24gPSBmdW5jdGlvbiBzaWduKG1lc3NhZ2UpIHtcbiAgYXNzZXJ0KHRoaXMuX3NlY3JldCwgJ0tleVBhaXIgY2FuIG9ubHkgdmVyaWZ5Jyk7XG4gIHJldHVybiB0aGlzLmVkZHNhLnNpZ24obWVzc2FnZSwgdGhpcyk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS52ZXJpZnkgPSBmdW5jdGlvbiB2ZXJpZnkobWVzc2FnZSwgc2lnKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLnZlcmlmeShtZXNzYWdlLCBzaWcsIHRoaXMpO1xufTtcblxuS2V5UGFpci5wcm90b3R5cGUuZ2V0U2VjcmV0ID0gZnVuY3Rpb24gZ2V0U2VjcmV0KGVuYykge1xuICBhc3NlcnQodGhpcy5fc2VjcmV0LCAnS2V5UGFpciBpcyBwdWJsaWMgb25seScpO1xuICByZXR1cm4gdXRpbHMuZW5jb2RlKHRoaXMuc2VjcmV0KCksIGVuYyk7XG59O1xuXG5LZXlQYWlyLnByb3RvdHlwZS5nZXRQdWJsaWMgPSBmdW5jdGlvbiBnZXRQdWJsaWMoZW5jKSB7XG4gIHJldHVybiB1dGlscy5lbmNvZGUodGhpcy5wdWJCeXRlcygpLCBlbmMpO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBLZXlQYWlyO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQk4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBhc3NlcnQgPSB1dGlscy5hc3NlcnQ7XG52YXIgY2FjaGVkUHJvcGVydHkgPSB1dGlscy5jYWNoZWRQcm9wZXJ0eTtcbnZhciBwYXJzZUJ5dGVzID0gdXRpbHMucGFyc2VCeXRlcztcblxuLyoqXG4qIEBwYXJhbSB7RUREU0F9IGVkZHNhIC0gZWRkc2EgaW5zdGFuY2VcbiogQHBhcmFtIHtBcnJheTxCeXRlcz58T2JqZWN0fSBzaWcgLVxuKiBAcGFyYW0ge0FycmF5PEJ5dGVzPnxQb2ludH0gW3NpZy5SXSAtIFIgcG9pbnQgYXMgUG9pbnQgb3IgYnl0ZXNcbiogQHBhcmFtIHtBcnJheTxCeXRlcz58Ym59IFtzaWcuU10gLSBTIHNjYWxhciBhcyBibiBvciBieXRlc1xuKiBAcGFyYW0ge0FycmF5PEJ5dGVzPn0gW3NpZy5SZW5jb2RlZF0gLSBSIHBvaW50IGVuY29kZWRcbiogQHBhcmFtIHtBcnJheTxCeXRlcz59IFtzaWcuU2VuY29kZWRdIC0gUyBzY2FsYXIgZW5jb2RlZFxuKi9cbmZ1bmN0aW9uIFNpZ25hdHVyZShlZGRzYSwgc2lnKSB7XG4gIHRoaXMuZWRkc2EgPSBlZGRzYTtcblxuICBpZiAodHlwZW9mIHNpZyAhPT0gJ29iamVjdCcpXG4gICAgc2lnID0gcGFyc2VCeXRlcyhzaWcpO1xuXG4gIGlmIChBcnJheS5pc0FycmF5KHNpZykpIHtcbiAgICBzaWcgPSB7XG4gICAgICBSOiBzaWcuc2xpY2UoMCwgZWRkc2EuZW5jb2RpbmdMZW5ndGgpLFxuICAgICAgUzogc2lnLnNsaWNlKGVkZHNhLmVuY29kaW5nTGVuZ3RoKSxcbiAgICB9O1xuICB9XG5cbiAgYXNzZXJ0KHNpZy5SICYmIHNpZy5TLCAnU2lnbmF0dXJlIHdpdGhvdXQgUiBvciBTJyk7XG5cbiAgaWYgKGVkZHNhLmlzUG9pbnQoc2lnLlIpKVxuICAgIHRoaXMuX1IgPSBzaWcuUjtcbiAgaWYgKHNpZy5TIGluc3RhbmNlb2YgQk4pXG4gICAgdGhpcy5fUyA9IHNpZy5TO1xuXG4gIHRoaXMuX1JlbmNvZGVkID0gQXJyYXkuaXNBcnJheShzaWcuUikgPyBzaWcuUiA6IHNpZy5SZW5jb2RlZDtcbiAgdGhpcy5fU2VuY29kZWQgPSBBcnJheS5pc0FycmF5KHNpZy5TKSA/IHNpZy5TIDogc2lnLlNlbmNvZGVkO1xufVxuXG5jYWNoZWRQcm9wZXJ0eShTaWduYXR1cmUsICdTJywgZnVuY3Rpb24gUygpIHtcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZGVjb2RlSW50KHRoaXMuU2VuY29kZWQoKSk7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoU2lnbmF0dXJlLCAnUicsIGZ1bmN0aW9uIFIoKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSk7XG59KTtcblxuY2FjaGVkUHJvcGVydHkoU2lnbmF0dXJlLCAnUmVuY29kZWQnLCBmdW5jdGlvbiBSZW5jb2RlZCgpIHtcbiAgcmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpO1xufSk7XG5cbmNhY2hlZFByb3BlcnR5KFNpZ25hdHVyZSwgJ1NlbmNvZGVkJywgZnVuY3Rpb24gU2VuY29kZWQoKSB7XG4gIHJldHVybiB0aGlzLmVkZHNhLmVuY29kZUludCh0aGlzLlMoKSk7XG59KTtcblxuU2lnbmF0dXJlLnByb3RvdHlwZS50b0J5dGVzID0gZnVuY3Rpb24gdG9CeXRlcygpIHtcbiAgcmV0dXJuIHRoaXMuUmVuY29kZWQoKS5jb25jYXQodGhpcy5TZW5jb2RlZCgpKTtcbn07XG5cblNpZ25hdHVyZS5wcm90b3R5cGUudG9IZXggPSBmdW5jdGlvbiB0b0hleCgpIHtcbiAgcmV0dXJuIHV0aWxzLmVuY29kZSh0aGlzLnRvQnl0ZXMoKSwgJ2hleCcpLnRvVXBwZXJDYXNlKCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IFNpZ25hdHVyZTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge1xuICBkb3VibGVzOiB7XG4gICAgc3RlcDogNCxcbiAgICBwb2ludHM6IFtcbiAgICAgIFtcbiAgICAgICAgJ2U2MGZjZTkzYjU5ZTllYzUzMDExYWFiYzIxYzIzZTk3YjJhMzEzNjliODdhNWFlOWM0NGVlODllMmE2ZGVjMGEnLFxuICAgICAgICAnZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnODI4MjI2MzIxMmM2MDlkOWVhMmE2ZTNlMTcyZGUyMzhkOGMzOWNhYmQ1YWMxY2ExMDY0NmUyM2ZkNWY1MTUwOCcsXG4gICAgICAgICcxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNzVlMTU5ZjcyOGI4NjVhNzJmOTljYzZjNmZjODQ2ZGUwYjkzODMzZmQyMjIyZWQ3M2ZjZTViNTUxZTViNzM5JyxcbiAgICAgICAgJ2QzNTA2ZTBkOWUzYzc5ZWJhNGVmOTdhNTFmZjcxZjVlYWNiNTk1NWFkZDI0MzQ1YzZlZmE2ZmZlZTlmZWQ2OTUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM2M2Q5MGQ0NDdiMDBjOWM5OWNlYWMwNWI2MjYyZWUwNTM0NDFjN2U1NTU1MmZmZTUyNmJhZDhmODNmZjQ2NDAnLFxuICAgICAgICAnNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4YjRiNWYxNjVkZjNjMmJlOGM2MjQ0YjViNzQ1NjM4ODQzZTRhNzgxYTE1YmNkMWI2OWY3OWE1NWRmZmRmODBjJyxcbiAgICAgICAgJzRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzcyM2NiYWE2ZTVkYjk5NmQ2YmY3NzFjMDBiZDU0OGM3YjcwMGRiZmZhNmMwZTc3YmNiNjExNTkyNTIzMmZjZGEnLFxuICAgICAgICAnOTZlODY3YjU1OTVjYzQ5OGE5MjExMzc0ODg4MjRkNmUyNjYwYTA2NTM3Nzk0OTQ4MDFkYzA2OWQ5ZWIzOWY1ZicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZWViZmE0ZDQ5M2JlYmY5OGJhNWZlZWM4MTJjMmQzYjUwOTQ3OTYxMjM3YTkxOTgzOWE1MzNlY2EwZTdkZDdmYScsXG4gICAgICAgICc1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxMDBmNDRkYTY5NmU3MTY3Mjc5MWQwYTA5YjdiZGU0NTlmMTIxNWEyOWIzYzAzYmZlZmQ3ODM1YjM5YTQ4ZGIwJyxcbiAgICAgICAgJ2NkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UxMDMxYmUyNjJjN2VkMWIxZGM5MjI3YTRhMDRjMDE3YTc3ZjhkNDQ2NGYzYjM4NTJjOGFjZGU2ZTUzNGZkMmQnLFxuICAgICAgICAnOWQ3MDYxOTI4OTQwNDA1ZTZiYjZhNDE3NjU5NzUzNWFmMjkyZGQ0MTllMWNlZDc5YTQ0ZjE4ZjI5NDU2YTAwZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZmVlYTZjYWU0NmQ1NWI1MzBhYzI4MzlmMTQzYmQ3ZWM1Y2Y4YjI2NmE0MWQ2YWY1MmQ1ZTY4OGQ5MDk0Njk2ZCcsXG4gICAgICAgICdlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkYTY3YTkxZDkxMDQ5Y2RjYjM2N2JlNGJlNmZmY2EzY2ZlZWQ2NTdkODA4NTgzZGUzM2ZhOTc4YmMxZWM2Y2IxJyxcbiAgICAgICAgJzliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzUzOTA0ZmFhMGIzMzRjZGRhNmUwMDA5MzVlZjIyMTUxZWMwOGQwZjdiYjExMDY5ZjU3NTQ1Y2NjMWEzN2I3YzAnLFxuICAgICAgICAnNWJjMDg3ZDBiYzgwMTA2ZDg4YzllY2NhYzIwZDNjMWMxMzk5OTk4MWUxNDQzNDY5OWRjYjA5NmIwMjI3NzFjOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOGU3YmNkMGJkMzU5ODNhNzcxOWNjYTc3NjRjYTkwNjc3OWI1M2EwNDNhOWI4YmNhZWZmOTU5ZjQzYWQ4NjA0NycsXG4gICAgICAgICcxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczODVlZWQzNGMxY2RmZjIxZTZkMDgxODY4OWI4MWJkZTcxYTdmNGYxODM5N2U2NjkwYTg0MWUxNTk5YzQzODYyJyxcbiAgICAgICAgJzI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzZmOWQ5YjgwM2VjZjE5MTYzN2M3M2E0NDEzZGZhMTgwZmRkZjg0YTU5NDdmYmM5YzYwNmVkODZjM2ZhYzNhNycsXG4gICAgICAgICc3YzgwYzY4ZTYwMzA1OWJhNjliOGUyYTMwZTQ1YzRkNDdlYTRkZDJmNWMyODEwMDJkODY4OTA2MDNhODQyMTYwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMzIyZDQwMTI0M2M0ZTI1ODJhMjE0N2MxMDRkNmVjYmY3NzRkMTYzZGIwZjVlNTMxM2I3ZTBlNzQyZDBlNmJkJyxcbiAgICAgICAgJzU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg1NjcyYzdkMmRlMGI3ZGEyYmQxNzcwZDg5NjY1ODY4NzQxYjNmOWFmNzY0MzM5NzcyMWQ3NGQyODEzNGFiODMnLFxuICAgICAgICAnN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOTQ4YmY4MDliMTk4OGE0NmIwNmM5ZjE5MTk0MTNiMTBmOTIyNmM2MGY2Njg4MzJmZmQ5NTlhZjYwYzgyYTBhJyxcbiAgICAgICAgJzUzYTU2Mjg1NmRjYjY2NDZkYzZiNzRjNWQxYzM0MThjNmQ0ZGZmMDhjOTdjZDJiZWQ0Y2I3Zjg4ZDhjOGU1ODknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzYyNjBjZTdmNDYxODAxYzM0ZjA2N2NlMGYwMjg3M2E4ZjFiMGU0NGRmYzY5NzUyYWNjZWNkODE5ZjM4ZmQ4ZTgnLFxuICAgICAgICAnYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZTUwMzdkZTBhZmMxZDhkNDNkODM0ODQxNGJiZjQxMDMwNDNlYzhmNTc1YmZkYzQzMjk1M2NjOGQyMDM3ZmEyZCcsXG4gICAgICAgICc0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlMDYzNzJiMGY0YTIwN2FkZjVlYTkwNWU4ZjE3NzFiNGU3ZThkYmQxYzZhNmM1YjcyNTg2NmEwYWU0ZmNlNzI1JyxcbiAgICAgICAgJzdhOTA4OTc0YmNlMThjZmUxMmEyN2JiMmFkNWE0ODhjZDc0ODRhNzc4NzEwNDg3MGIyNzAzNGY5NGVlZTMxZGQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzIxM2M3YTcxNWNkNWQ0NTM1OGQwYmJmOWRjMGNlMDIyMDRiMTBiZGRlMmEzZjU4NTQwYWQ2OTA4ZDA1NTk3NTQnLFxuICAgICAgICAnNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNGU3YzI3MmE3YWY0YjM0ZThkYmI5MzUyYTU0MTlhODdlMjgzOGM3MGFkYzYyY2RkZjBjYzNhM2IwOGZiZDUzYycsXG4gICAgICAgICcxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmZWE3NGUzZGJlNzc4YjFiMTBmMjM4YWQ2MTY4NmFhNWM3NmUzZGIyYmU0MzA1NzYzMjQyN2UyODQwZmIyN2I2JyxcbiAgICAgICAgJzZlMDU2OGRiOWIwYjEzMjk3Y2Y2NzRkZWNjYjZhZjkzMTI2YjU5NmI5NzNmN2I3NzcwMWQzZGI3ZjIzY2I5NmYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc2ZTY0MTEzZjY3N2NmMGUxMGEyNTcwZDU5OTk2OGQzMTU0NGUxNzliNzYwNDMyOTUyYzAyYTQ0MTdiZGRlMzknLFxuICAgICAgICAnYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYzczOGM1NmIwM2IyYWJlMWU4MjgxYmFhNzQzZjhmOWE4ZjdjYzY0M2RmMjZjYmVlM2FiMTUwMjQyYmNiYjg5MScsXG4gICAgICAgICc4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkODk1NjI2NTQ4YjY1YjgxZTI2NGM3NjM3Yzk3Mjg3N2QxZDcyZTVmM2E5MjUwMTQzNzJlOWY2NTg4ZjZjMTRiJyxcbiAgICAgICAgJ2ZlYmZhYTM4ZjJiYzdlYWU3MjhlYzYwODE4YzM0MGViMDM0MjhkNjMyYmIwNjdlMTc5MzYzZWQ3NWQ3ZDk5MWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2I4ZGE5NDAzMmE5NTc1MThlYjBmNjQzMzU3MWU4NzYxY2VmZmM3MzY5M2U4NGVkZDQ5MTUwYTU2NGY2NzZlMDMnLFxuICAgICAgICAnMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZTgwZmVhMTQ0NDFmYjMzYTdkOGFkYWI5NDc1ZDdmYWIyMDE5ZWZmYjUxNTZhNzkyZjFhMTE3NzhlM2MwZGY1ZCcsXG4gICAgICAgICdlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhMzAxNjk3YmRmY2Q3MDQzMTNiYTQ4ZTUxZDU2NzU0M2YyYTE4MjAzMWVmZDY5MTVkZGMwN2JiY2M0ZTE2MDcwJyxcbiAgICAgICAgJzczNzBmOTFjZmI2N2U0ZjUwODE4MDlmYTI1ZDQwZjliMTczNWRiZjdjMGExMWExMzBjMGQxYTA0MWUxNzdlYTEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzkwYWQ4NWIzODlkNmI5MzY0NjNmOWQwNTEyNjc4ZGUyMDhjYzMzMGIxMTMwN2ZmZmFiN2FjNjNlM2ZiMDRlZDQnLFxuICAgICAgICAnZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4ZjY4YjlkMmY2M2I1ZjMzOTIzOWMxYWQ5ODFmMTYyZWU4OGM1Njc4NzIzZWEzMzUxYjdiNDQ0YzllYzRjMGRhJyxcbiAgICAgICAgJzY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2U0ZjNmYjAxNzZhZjg1ZDY1ZmY5OWZmOTE5OGMzNjA5MWY0OGU4NjUwMzY4MWUzZTY2ODZmZDUwNTMyMzFlMTEnLFxuICAgICAgICAnMWU2MzYzM2FkMGVmNGYxYzE2NjFhNmQwZWEwMmI3Mjg2Y2M3ZTc0ZWM5NTFkMWM5ODIyYzM4NTc2ZmViNzNiYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOGMwMGZhOWIxOGViZjMzMWViOTYxNTM3YTQ1YTQyNjZjNzAzNGYyZjBkNGUxZDA3MTZmYjZlYWUyMGVhZTI5ZScsXG4gICAgICAgICdlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlN2EyNmNlNjlkZDQ4MjlmM2UxMGNlYzBhOWU5OGVkMzE0M2QwODRmMzA4YjkyYzA5OTdmZGRmYzYwY2IzZTQxJyxcbiAgICAgICAgJzJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2I2NDU5ZTBlZTM2NjJlYzhkMjM1NDBjMjIzYmNiZGM1NzFjYmNiOTY3ZDc5NDI0ZjNjZjI5ZWIzZGU2YjgwZWYnLFxuICAgICAgICAnNjdjODc2ZDA2ZjNlMDZkZTFkYWRmMTZlNTY2MWRiM2M0YjNhZTZkNDhlMzViMmZmMzBiZjBiNjFhNzFiYTQ1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkNjhhODBjODI4MGJiODQwNzkzMjM0YWExMThmMDYyMzFkNmYxZmM2N2U3M2M1YTVkZWRhMGY1YjQ5Njk0M2U4JyxcbiAgICAgICAgJ2RiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzMyNGFlZDdkZjY1YzgwNDI1MmRjMDI3MDkwN2EzMGIwOTYxMmFlYjk3MzQ0OWNlYTQwOTU5ODBmYzI4ZDNkNWQnLFxuICAgICAgICAnNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNGRmOWMxNDkxOWNkZTYxZjZkNTFkZmRiZTVmZWU1ZGNlZWM0MTQzYmE4ZDFjYTg4OGU4YmQzNzNmZDA1NGM5NicsXG4gICAgICAgICczNWVjNTEwOTJkODcyODA1MDk3NGMyM2ExZDg1ZDRiNWQ1MDZjZGMyODg0OTAxOTJlYmFjMDZjYWQxMGQ1ZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOWMzOTE5YTg0YTQ3NDg3MGZhZWQ4YTljMWNjNjYwMjE1MjM0ODkwNTRkN2YwMzA4Y2JmYzk5YzhhYzFmOThjZCcsXG4gICAgICAgICdkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc2MDU3MTcwYjFkZDEyZmRmOGRlMDVmMjgxZDhlMDZiYjkxZTE0OTNhOGI5MWQ0Y2M1YTIxMzgyMTIwYTk1OWU1JyxcbiAgICAgICAgJzlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYTgnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2E1NzZkZjhlMjNhMDg0MTE0MjE0MzlhNDUxOGRhMzE4ODBjZWYwZmJhN2Q0ZGYxMmIxYTY5NzNlZWNiOTQyNjYnLFxuICAgICAgICAnNDBhNmJmMjBlNzY2NDBiMmM5MmI5N2FmZTU4Y2Q4MmM0MzJlMTBhN2Y1MTRkOWYzZWU4YmUxMWFlMWIyOGVjOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNzc3OGE3OGMyOGRlYzNlMzBhMDVmZTk2MjlkZThjMzhiYjMwZDFmNWNmOWEzYTIwOGY3NjM4ODliZTU4YWQ3MScsXG4gICAgICAgICczNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc5Mjg5NTVlZTYzN2E4NDQ2MzcyOWZkMzBlN2FmZDJlZDVmOTYyNzRlNWFkN2U1Y2IwOWVkYTljMDZkOTAzYWMnLFxuICAgICAgICAnYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnODVkMGZlZjNlYzZkYjEwOTM5OTA2NGYzYTBlM2IyODU1NjQ1YjRhOTA3YWQzNTQ1MjdhYWU3NTE2M2Q4Mjc1MScsXG4gICAgICAgICcxZjAzNjQ4NDEzYTM4YzBiZTI5ZDQ5NmU1ODJjZjU2NjNlODc1MWU5Njg3NzMzMTU4MmMyMzdhMjRlYjFmOTYyJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmZjJiMGRjZTk3ZWVjZTk3YzFjOWI2MDQxNzk4Yjg1ZGZkZmI2ZDg4ODJkYTIwMzA4ZjU0MDQ4MjQ1MjYwODdlJyxcbiAgICAgICAgJzQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzgyN2ZiYmU0YjFlODgwZWE5ZWQyYjJlNjMwMWIyMTJiNTdmMWVlMTQ4Y2Q2ZGQyODc4MGU1ZTJjZjg1NmUyNDEnLFxuICAgICAgICAnYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZWFhNjQ5ZjIxZjUxYmRiYWU3YmU0YWUzNGNlNmU1MjE3YTU4ZmRjZTdmNDdmOWFhN2YzYjU4ZmEyMTIwZTJiMycsXG4gICAgICAgICdiZTMyNzllZDViYmJiMDNhYzY5YTgwZjg5ODc5YWE1YTAxYTZiOTY1ZjEzZjdlNTlkNDdhNTMwNWJhNWFkOTNkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlNGE0MmQ0M2M1Y2YxNjlkOTM5MWRmNmRlY2Y0MmVlNTQxYjZkOGYwYzlhMTM3NDAxZTIzNjMyZGRhMzRkMjRmJyxcbiAgICAgICAgJzRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzFlYzgwZmVmMzYwY2JkZDk1NDE2MGZhZGFiMzUyYjZiOTJiNTM1NzZhODhmZWE0OTQ3MTczYjlkNDMwMGJmMTknLFxuICAgICAgICAnYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTQ2YTc3OGMwNDY3MGMyZjkxYjAwYWY0NjgwZGZhOGJjZTM0OTA3MTdkNThiYTg4OWRkYjU5MjgzNjY2NDJiZScsXG4gICAgICAgICdiMzE4ZTBlYzMzNTQwMjhhZGQ2Njk4MjdmOWQ0YjI4NzBhYWE5NzFkMmY3ZTVlZDFkMGIyOTc0ODNkODNlZmQwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmYTUwYzBmNjFkMjJlNWYwN2UzYWNlYmIxYWEwN2IxMjhkMDAxMjIwOWEyOGI5Nzc2ZDc2YTg3OTMxODBlZWY5JyxcbiAgICAgICAgJzZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2RhMWQ2MWQwY2E3MjFhMTFiMWE1YmY2YjdkODhlODQyMWEyODhhYjVkNWJiYTUyMjBlNTNkMzJiNWYwNjdlYzInLFxuICAgICAgICAnODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYThlMjgyZmYwYzk3MDY5MDcyMTVmZjk4ZThmZDQxNjYxNTMxMWRlMDQ0NmYxZTA2MmE3M2IwNjEwZDA2NGUxMycsXG4gICAgICAgICc3Zjk3MzU1YjhkYjgxYzA5YWJmYjdmM2M1YjI1MTU4ODhiNjc5YTNlNTBkZDZiZDZjZWY3YzczMTExZjRjYzBjJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNzRhNTNiOWM5YTI4NTg3MmQzOWU1NmU2OTEzY2FiMTVkNTliMWZhNTEyNTA4YzAyMmYzODJkZTgzMTk0OTdjJyxcbiAgICAgICAgJ2NjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzk1OTM5Njk4MTk0Mzc4NWMzZDNlNTdlZGY1MDE4Y2RiZTAzOWU3MzBlNDkxOGIzZDg4NGZkZmYwOTQ3NWI3YmEnLFxuICAgICAgICAnMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDJhNjNhNTBhZTQwMWU1NmQ2NDVhMTE1M2IxMDlhOGZjY2EwYTQzZDU2MWZiYTJkYmI1MTM0MGM5ZDgyYjE1MScsXG4gICAgICAgICdlODJkODZmYjY0NDNmY2I3NTY1YWVlNThiMjk0ODIyMGE3MGY3NTBhZjQ4NGNhNTJkNDE0MjE3NGRjZjg5NDA1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc2NDU4N2UyMzM1NDcxZWI4OTBlZTc4OTZkN2NmZGM4NjZiYWNiZGJkMzgzOTMxN2IzNDM2ZjliNDU2MTdlMDczJyxcbiAgICAgICAgJ2Q5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg0ODFiZGUwZTRlNGQ4ODViM2E1NDZkM2U1NDlkZTA0MmYwYWE2Y2VhMjUwZTdmZDM1OGQ2Yzg2ZGQ0NWU0NTgnLFxuICAgICAgICAnMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTM0NjRhNTdhNzgxMDJhYTYyYjY5NzlhZTgxN2Y0NjM3ZmZjZmVkM2M0YjFjZTMwYmNkNjMwM2Y2Y2FmNjY2YicsXG4gICAgICAgICc2OWJlMTU5MDA0NjE0NTgwZWY3ZTQzMzQ1M2NjYjBjYTQ4ZjMwMGE4MWQwOTQyZTEzZjQ5NWE5MDdmNmVjYzI3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdiYzRhOWRmNWI3MTNmZTJlOWFlZjQzMGJjYzFkYzk3YTBjZDljY2VkZTJmMjg1ODhjYWRhM2EwZDJkODNmMzY2JyxcbiAgICAgICAgJ2QzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOGMyOGE5N2JmODI5OGJjMGQyM2Q4Yzc0OTQ1MmEzMmU2OTRiNjVlMzBhOTQ3MmEzOTU0YWIzMGZlNTMyNGNhYScsXG4gICAgICAgICc0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4ZWE5NjY2MTM5NTI3YThjMWRkOTRjZTRmMDcxZmQyM2M4YjM1MGM1YTRiYjMzNzQ4YzRiYTExMWZhY2NhZTAnLFxuICAgICAgICAnNjIwZWZhYmJjOGVlMjc4MmUyNGU3YzBjZmI5NWM1ZDczNWI3ODNiZTljZjBmOGU5NTVhZjM0YTMwZTYyYjk0NScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGQzNjI1ZmFlZjViYTA2MDc0NjY5NzE2YmJkMzc4OGQ4OWJkZGU4MTU5NTk5NjgwOTJmNzZjYzRlYjlhOTc4NycsXG4gICAgICAgICc3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmNzEwZDc5ZDllYjk2MjI5N2U0ZjYyMzJiNDBlOGY3ZmViMmJjNjM4MTQ2MTRkNjkyYzEyZGU3NTI0MDgyMjFlJyxcbiAgICAgICAgJ2VhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODInLFxuICAgICAgXSxcbiAgICBdLFxuICB9LFxuICBuYWY6IHtcbiAgICB3bmQ6IDcsXG4gICAgcG9pbnRzOiBbXG4gICAgICBbXG4gICAgICAgICdmOTMwOGEwMTkyNThjMzEwNDkzNDRmODVmODlkNTIyOWI1MzFjODQ1ODM2Zjk5YjA4NjAxZjExM2JjZTAzNmY5JyxcbiAgICAgICAgJzM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzJmOGJkZTRkMWEwNzIwOTM1NWI0YTcyNTBhNWM1MTI4ZTg4Yjg0YmRkYzYxOWFiN2NiYThkNTY5YjI0MGVmZTQnLFxuICAgICAgICAnZDhhYzIyMjYzNmU1ZTNkNmQ0ZGJhOWRkYTZjOWM0MjZmNzg4MjcxYmFiMGQ2ODQwZGNhODdkM2FhNmFjNjJkNicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNWNiZGYwNjQ2ZTVkYjRlYWEzOThmMzY1ZjJlYTdhMGUzZDQxOWI3ZTAzMzBlMzljZTkyYmRkZWRjYWM0ZjliYycsXG4gICAgICAgICc2YWViY2E0MGJhMjU1OTYwYTMxNzhkNmQ4NjFhNTRkYmE4MTNkMGI4MTNmZGU3YjVhNTA4MjYyODA4NzI2NGRhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhY2Q0ODRlMmYwYzdmNjUzMDlhZDE3OGE5ZjU1OWFiZGUwOTc5Njk3NGM1N2U3MTRjMzVmMTEwZGZjMjdjY2JlJyxcbiAgICAgICAgJ2NjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc3NGFlN2Y4NThhOTQxMWU1ZWY0MjQ2YjcwYzY1YWFjNTY0OTk4MGJlNWMxNzg5MWJiZWMxNzg5NWRhMDA4Y2InLFxuICAgICAgICAnZDk4NGEwMzJlYjZiNWUxOTAyNDNkZDU2ZDdiN2IzNjUzNzJkYjFlMmRmZjlkNmE4MzAxZDc0YzljOTUzYzYxYicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZjI4NzczYzJkOTc1Mjg4YmM3ZDFkMjA1YzM3NDg2NTFiMDc1ZmJjNjYxMGU1OGNkZGVlZGRmOGYxOTQwNWFhOCcsXG4gICAgICAgICdhYjA5MDJlOGQ4ODBhODk3NTgyMTJlYjY1Y2RhZjQ3M2ExYTA2ZGE1MjFmYTkxZjI5YjVjYjUyZGIwM2VkODEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2Q3OTI0ZDRmN2Q0M2VhOTY1YTQ2NWFlMzA5NWZmNDExMzFlNTk0NmYzYzg1Zjc5ZTQ0YWRiY2Y4ZTI3ZTA4MGUnLFxuICAgICAgICAnNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGVmZGVhNGNkYjY3Nzc1MGE0MjBmZWU4MDdlYWNmMjFlYjk4OThhZTc5Yjk3Njg3NjZlNGZhYTA0YTJkNGEzNCcsXG4gICAgICAgICc0MjExYWIwNjk0NjM1MTY4ZTk5N2IwZWFkMmE5M2RhZWNlZDFmNGEwNGE5NWMwZjZjZmIxOTlmNjllNTZlYjc3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcyYjRlYTBhNzk3YTQ0M2QyOTNlZjVjZmY0NDRmNDk3OWYwNmFjZmViZDdlODZkMjc3NDc1NjU2MTM4Mzg1YjZjJyxcbiAgICAgICAgJzg1ZTg5YmMwMzc5NDVkOTNiMzQzMDgzYjVhMWM4NjEzMWEwMWY2MGM1MDI2OTc2M2I1NzBjODU0ZTVjMDliN2EnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM1MmJiZjRhNGNkZDEyNTY0ZjkzZmEzMzJjZTMzMzMwMWQ5YWQ0MDI3MWY4MTA3MTgxMzQwYWVmMjViZTU5ZDUnLFxuICAgICAgICAnMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMmZhMjEwNGQ2YjM4ZDExYjAyMzAwMTA1NTk4NzkxMjRlNDJhYjhkZmVmZjVmZjI5ZGM5Y2RhZGQ0ZWNhY2MzZicsXG4gICAgICAgICcyZGUxMDY4Mjk1ZGQ4NjViNjQ1NjkzMzViZDVkZDgwMTgxZDcwZWNmYzg4MjY0ODQyM2JhNzZiNTMyYjdkNjcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzkyNDgyNzliMDliNGQ2OGRhYjIxYTliMDY2ZWRkYTgzMjYzYzNkODRlMDk1NzJlMjY5Y2EwY2Q3ZjU0NTM3MTQnLFxuICAgICAgICAnNzMwMTZmN2JmMjM0YWFkZTVkMWFhNzFiZGVhMmIxZmYzZmMwZGUyYTg4NzkxMmZmZTU0YTMyY2U5N2NiMzQwMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGFlZDRmMmJlM2E4YmYyNzhlNzAxMzJmYjBiZWI3NTIyZjU3MGUxNDRiZjYxNWMwN2U5OTZkNDQzZGVlODcyOScsXG4gICAgICAgICdhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQwZTUyMjkwYmUxYzU1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjNDRkMTJjNzA2NWQ4MTJlOGFjZjI4ZDdjYmIxOWY5MDExZWNkOWU5ZmRmMjgxYjBlNmEzYjVlODdkMjJlN2RiJyxcbiAgICAgICAgJzIxMTlhNDYwY2UzMjZjZGM3NmM0NTkyNmM5ODJmZGFjMGUxMDZlODYxZWRmNjFjNWEwMzkwNjNmMGUwZTY0ODInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzZhMjQ1YmY2ZGM2OTg1MDRjODlhMjBjZmRlZDYwODUzMTUyYjY5NTMzNmMyODA2M2I2MWM2NWNiZDI2OWU2YjQnLFxuICAgICAgICAnZTAyMmNmNDJjMmJkNGE3MDhiM2Y1MTI2ZjE2YTI0YWQ4YjMzYmE0OGQwNDIzYjZlZmQ1ZTYzNDgxMDBkOGE4MicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTY5N2ZmYTZmZDlkZTYyN2MwNzdlM2QyZmU1NDEwODRjZTEzMzAwYjBiZWMxMTQ2Zjk1YWU1N2YwZDBiZDZhNScsXG4gICAgICAgICdiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc2MDViZGIwMTk5ODE3MThiOTg2ZDBmMDdlODM0Y2IwZDlkZWI4MzYwZmZiN2Y2MWRmOTgyMzQ1ZWYyN2E3NDc5JyxcbiAgICAgICAgJzI5NzJkMmRlNGY4ZDIwNjgxYTc4ZDkzZWM5NmZlMjNjMjZiZmFlODRmYjE0ZGI0M2IwMWUxZTkwNTZiOGM0OScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNjJkMTRkYWI0MTUwYmY0OTc0MDJmZGM0NWEyMTVlMTBkY2IwMWMzNTQ5NTliMTBjZmUzMWM3ZTlkODdmZjMzZCcsXG4gICAgICAgICc4MGZjMDZiZDhjYzViMDEwOTgwODhhMTk1MGVlZDBkYjAxYWExMzI5NjdhYjQ3MjIzNWY1NjQyNDgzYjI1ZWFmJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4MGM2MGFkMDA0MGYyN2RhZGU1YjRiMDZjNDA4ZTU2YjJjNTBlOWY1NmI5YjhiNDI1ZTU1NWMyZjg2MzA4YjZmJyxcbiAgICAgICAgJzFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1N2EnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzdhOTM3NWFkNjE2N2FkNTRhYTc0YzYzNDhjYzU0ZDM0NGNjNWRjOTQ4N2Q4NDcwNDlkNWVhYmIwZmEwM2M4ZmInLFxuICAgICAgICAnZDBlM2ZhOWVjYTg3MjY5MDk1NTllMGQ3OTI2OTA0NmJkYzU5ZWExMGM3MGNlMmIwMmQ0OTllYzIyNGRjN2Y3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkNTI4ZWNkOWI2OTZiNTRjOTA3YTllZDA0NTQ0N2E3OWJiNDA4ZWMzOWI2OGRmNTA0YmI1MWY0NTliYzNmZmM5JyxcbiAgICAgICAgJ2VlY2Y0MTI1MzEzNmU1Zjk5OTY2ZjIxODgxZmQ2NTZlYmM0MzQ1NDA1YzUyMGRiYzA2MzQ2NWI1MjE0MDk5MzMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzQ5MzcwYTRiNWY0MzQxMmVhMjVmNTE0ZThlY2RhZDA1MjY2MTE1ZTRhN2VjYjEzODcyMzE4MDhmOGI0NTk2MycsXG4gICAgICAgICc3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3N2YyMzA5MzZlZTg4Y2JiZDczZGY5MzBkNjQ3MDJlZjg4MWQ4MTFlMGUxNDk4ZTJmMWMxM2ViMWZjMzQ1ZDc0JyxcbiAgICAgICAgJzk1OGVmNDJhNzg4NmI2NDAwYTA4MjY2ZTliYTFiMzc4OTZjOTUzMzBkOTcwNzdjYmJlOGViM2M3NjcxYzYwZDYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2YyZGFjOTkxY2M0Y2U0YjllYTQ0ODg3ZTVjN2MwYmNlNThjODAwNzRhYjlkNGRiYWViMjg1MzFiNzczOWY1MzAnLFxuICAgICAgICAnZTBkZWRjOWIzYjJmOGRhZDRkYTFmMzJkZWMyNTMxZGY5ZWI1ZmJlYjA1OThlNGZkMWExMTdkYmE3MDNhM2MzNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNDYzYjNkOWY2NjI2MjFmYjFiNGJlOGZiYmUyNTIwMTI1YTIxNmNkZmM5ZGFlM2RlYmNiYTQ4NTBjNjkwZDQ1YicsXG4gICAgICAgICc1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmMTZmODA0MjQ0ZTQ2ZTJhMDkyMzJkNGFmZjNiNTk5NzZiOThmYWMxNDMyOGEyZDFhMzI0OTZiNDk5OThmMjQ3JyxcbiAgICAgICAgJ2NlZGFiZDliODIyMDNmN2UxM2QyMDZmY2RmNGUzM2Q5MmE2YzUzYzI2ZTVjY2UyNmQ2NTc5OTYyYzRlMzFkZjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2NhZjc1NDI3MmRjODQ1NjNiMDM1MmI3YTE0MzExYWY1NWQyNDUzMTVhY2UyN2M2NTM2OWUxNWY3MTUxZDQxZDEnLFxuICAgICAgICAnY2I0NzQ2NjBlZjM1ZjVmMmE0MWI2NDNmYTVlNDYwNTc1ZjRmYTliNzk2MjIzMmE1YzMyZjkwODMxOGEwNDQ3NicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMjYwMGNhNGIyODJjYjk4NmY4NWQwZjE3MDk5NzlkOGI0NGEwOWMwN2NiODZkN2MxMjQ0OTdiYzg2ZjA4MjEyMCcsXG4gICAgICAgICc0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3NjM1Y2E3MmQ3ZTg0MzJjMzM4ZWM1M2NkMTIyMjBiYzAxYzQ4Njg1ZTI0ZjdkYzhjNjAyYTc3NDY5OThlNDM1JyxcbiAgICAgICAgJzkxYjY0OTYwOTQ4OWQ2MTNkMWQ1ZTU5MGY3OGU2ZDc0ZWNmYzA2MWQ1NzA0OGJhZDllNzZmMzAyYzViOWM2MScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNzU0ZTMyMzlmMzI1NTcwY2RiYmY0YTg3ZGVlZThhNjZiN2YyYjMzNDc5ZDQ2OGZiYzFhNTA3NDNiZjU2Y2MxOCcsXG4gICAgICAgICc2NzNmYjg2ZTViZGEzMGZiM2NkMGVkMzA0ZWE0OWEwMjNlZTMzZDAxOTdhNjk1ZDBjNWQ5ODA5M2M1MzY2ODMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UzZTZiZDEwNzFhMWU5NmFmZjU3ODU5YzgyZDU3MGYwMzMwODAwNjYxZDFjOTUyZjlmZTI2OTQ2OTFkOWI5ZTgnLFxuICAgICAgICAnNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTg2YjQ4M2QwNTZhMDMzODI2YWU3M2Q4OGY3MzI5ODVjNGNjYjFmMzJiYTM1ZjRiNGNjNDdmZGNmMDRhYTZlYicsXG4gICAgICAgICczYjk1MmQzMmM2N2NmNzdlMmUxNzQ0NmUyMDQxODBhYjIxZmI4MDkwODk1MTM4YjRhNGE3OTdmODZlODA4ODhiJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdkZjlkNzBhNmI5ODc2Y2U1NDRjOTg1NjFmNGJlNGY3MjU0NDJlNmQyYjczN2Q5YzkxYTgzMjE3MjRjZTA5NjNmJyxcbiAgICAgICAgJzU1ZWIyZGFmZDg0ZDZjY2Q1Zjg2MmI3ODVkYzM5ZDRhYjE1NzIyMjcyMGVmOWRhMjE3YjhjNDVjZjJiYTI0MTcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzVlZGQ1Y2MyM2M1MWU4N2E0OTdjYTgxNWQ1ZGNlMGY4YWI1MjU1NGY4NDllZDg5OTVkZTY0YzVmMzRjZTcxNDMnLFxuICAgICAgICAnZWZhZTljOGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMjkwNzk4YzJiNjQ3NjgzMGRhMTJmZTAyMjg3ZTllNzc3YWEzZmJhMWMzNTViMTdhNzIyZDM2MmY4NDYxNGZiYScsXG4gICAgICAgICdlMzhkYTc2ZGNkNDQwNjIxOTg4ZDAwYmNmNzlhZjI1ZDViMjljMDk0ZGIyYTIzMTQ2ZDAwM2FmZDQxOTQzZTdhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhZjNjNDIzYTk1ZDlmNWIzMDU0NzU0ZWZhMTUwYWMzOWNkMjk1NTJmZTM2MDI1NzM2MmRmZGVjZWY0MDUzYjQ1JyxcbiAgICAgICAgJ2Y5OGEzZmQ4MzFlYjJiNzQ5YTkzYjBlNmYzNWNmYjQwYzhjZDVhYTY2N2ExNTU4MWJjMmZlZGVkNDk4ZmQ5YzYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc2NmRiYjI0ZDEzNGU3NDVjY2NhYTI4Yzk5YmYyNzQ5MDZiYjY2YjI2ZGNmOThkZjhkMmZlZDUwZDg4NDI0OWEnLFxuICAgICAgICAnNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNTlkYmY0NmY4Yzk0NzU5YmEyMTI3N2MzMzc4NGY0MTY0NWY3YjQ0ZjZjNTk2YTU4Y2U5MmU2NjYxOTFhYmUzZScsXG4gICAgICAgICdjNTM0YWQ0NDE3NWZiYzMwMGY0ZWE2Y2U2NDgzMDlhMDQyY2U3MzlhNzkxOTc5OGNkODVlMjE2YzRhMzA3ZjZlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmMTNhZGE5NTEwM2M0NTM3MzA1ZTY5MWU3NGU5YTRhOGRkNjQ3ZTcxMWE5NWU3M2NiNjJkYzYwMThjZmQ4N2I4JyxcbiAgICAgICAgJ2UxMzgxN2I0NGVlMTRkZTY2M2JmNGJjODA4MzQxZjMyNjk0OWUyMWE2YTc1YzI1NzA3Nzg0MTliZGFmNTczM2QnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc3NTRiNGZhMGU4YWNlZDA2ZDQxNjdhMmM1OWNjYTRjZGExODY5YzA2ZWJhZGZiNjQ4ODU1MDAxNWE4ODUyMmMnLFxuICAgICAgICAnMzBlOTNlODY0ZTY2OWQ4MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOTQ4ZGNhZGY1OTkwZTA0OGFhMzg3NGQ0NmFiZWY5ZDcwMTg1OGY5NWRlODA0MWQyYTY4MjhjOTllMjI2MjUxOScsXG4gICAgICAgICdlNDkxYTQyNTM3ZjZlNTk3ZDVkMjhhMzIyNGIxYmMyNWRmOTE1NGVmYmQyZWYxZDJjYmJhMmNhZTUzNDdkNTdlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3OTYyNDE0NDUwYzc2YzE2ODljN2I0OGY4MjAyZWMzN2ZiMjI0Y2Y1YWMwYmZhMTU3MDMyOGE4YTNkN2M3N2FiJyxcbiAgICAgICAgJzEwMGI2MTBlYzRmZmI0NzYwZDVjMWZjMTMzZWY2ZjZiMTI1MDdhMDUxZjA0YWM1NzYwYWZhNWIyOWRiODM0MzcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM1MTQwODc4MzQ5NjRiNTRiMTViMTYwNjQ0ZDkxNTQ4NWExNjk3NzIyNWI4ODQ3YmIwZGQwODUxMzdlYzQ3Y2EnLFxuICAgICAgICAnZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDNjYzMwYWQ2YjQ4M2U0YmM3OWNlMmM5ZGQ4YmM1NDk5M2U5NDdlYjhkZjc4N2I0NDI5NDNkM2Y3YjUyN2VhZicsXG4gICAgICAgICc4YjM3OGEyMmQ4MjcyNzhkODljNWU5YmU4Zjk1MDhhZTNjMmFkNDYyOTAzNTg2MzBhZmIzNGRiMDRlZWRlMGE0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNjI0ZDg0NzgwNzMyODYwY2UxYzc4ZmNiZmVmZTA4YjJiMjk4MjNkYjkxM2Y2NDkzOTc1YmEwZmY0ODQ3NjEwJyxcbiAgICAgICAgJzY4NjUxY2Y5YjZkYTkwM2UwOTE0NDQ4YzZjZDlkNGNhODk2ODc4ZjUyODJiZTRjOGNjMDZlMmE0MDQwNzg1NzUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzczM2NlODBkYTk1NWE4YTI2OTAyYzk1NjMzZTYyYTk4NTE5MjQ3NGI1YWYyMDdkYTZkZjdiNGZkNWZjNjFjZDQnLFxuICAgICAgICAnZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhiOGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTVkOTQ0MTI1NDk0NTA2NGNmMWExYzMzYmJkM2I0OWY4OTY2YzUwOTIxNzFlNjk5ZWYyNThkZmFiODFjMDQ1YycsXG4gICAgICAgICdkNTZlYjMwYjY5NDYzZTcyMzRmNTEzN2I3M2I4NDE3NzQzNDgwMGJhY2ViZmM2ODVmYzM3YmJlOWVmZTQwNzBkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhMWQwZmNmMmVjOWRlNjc1YjYxMjEzNmU1Y2U3MGQyNzFjMjE0MTdjOWQyYjhhYWFhYzEzODU5OWQwNzE3OTQwJyxcbiAgICAgICAgJ2VkZDc3ZjUwYmNiNWEzY2FiMmU5MDczNzMwOTY2N2YyNjQxNDYyYTU0MDcwZjNkNTE5MjEyZDM5YzE5N2E2MjknLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UyMmZiZTE1YzBhZjhjY2M1NzgwYzA3MzVmODRkYmU5YTc5MGJhZGVlODI0NWMwNmM3Y2EzNzMzMWNiMzY5ODAnLFxuICAgICAgICAnYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMTEwOTFkZDk4NjBlOGUyMGVlMTM0NzNjMTE1NWY1ZjY5NjM1ZTM5NDcwNGVhYTc0MDA5NDUyMjQ2Y2ZhOWIzJyxcbiAgICAgICAgJzY2ZGI2NTZmODdkMWYwNGZmZmQxZjA0Nzg4YzA2ODMwODcxZWM1YTY0ZmVlZTY4NWJkODBmMGIxMjg2ZDgzNzQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM0YzFmZDA0ZDMwMWJlODliMzFjMDQ0MmQzZTZhYzI0ODgzOTI4YjQ1YTkzNDA3ODE4NjdkNDIzMmVjMmRiZGYnLFxuICAgICAgICAnOTQxNDY4NWU5N2IxYjU5NTRiZDQ2ZjczMDE3NDEzNmQ1N2YxY2VlYjQ4NzQ0M2RjNTMyMTg1N2JhNzNhYmVlJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdmMjE5ZWE1ZDZiNTQ3MDFjMWMxNGRlNWI1NTdlYjQyYThkMTNmM2FiYmNkMDhhZmZjYzJhNWU2YjA0OWI4ZDYzJyxcbiAgICAgICAgJzRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRiMDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2Q3Yjg3NDBmNzRhOGZiYWFiMWY2ODNkYjhmNDVkZTI2NTQzYTU0OTBiY2E2MjcwODcyMzY5MTI0NjlhMGI0NDgnLFxuICAgICAgICAnZmE3Nzk2ODEyOGQ5YzkyZWUxMDEwZjMzN2FkNDcxN2VmZjE1ZGI1ZWQzYzA0OWIzNDExZTAzMTVlYWE0NTkzYicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMzJkMzFjMjIyZjhmNmYwZWY4NmY3Yzk4ZDNhMzMzNWVhZDViY2QzMmFiZGQ5NDI4OWZlNGQzMDkxYWE4MjRiZicsXG4gICAgICAgICc1ZjMwMzJmNTg5MjE1NmUzOWNjZDNkNzkxNWI5ZTFkYTJlNmRhYzllNmYyNmU5NjExMThkMTRiODQ2MmUxNjYxJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc3NDYxZjM3MTkxNGFiMzI2NzEwNDVhMTU1ZDk4MzFlYTg3OTNkNzdjZDU5NTkyYzQzNDBmODZjYmMxODM0N2I1JyxcbiAgICAgICAgJzhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2VlMDc5YWRiMWRmMTg2MDA3NDM1NmEyNWFhMzgyMDZhNmQ3MTZiMmMzZTY3NDUzZDI4NzY5OGJhZDdiMmIyZDYnLFxuICAgICAgICAnOGRjMjQxMmFhZmUzYmU1YzRjNWYzN2UwZWNjNWY5ZjZhNDQ2OTg5YWYwNGM0ZTI1ZWJhYWM0NzllYzFjOGMxZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTZlYzkzZTQ0N2VjODNmMDQ2N2IxODMwMmVlNjIwZjdlNjVkZTMzMTg3NGM5ZGM3MmJmZDg2MTZiYTlkYTZiNScsXG4gICAgICAgICc1ZTQ2MzExNTBlNjJmYjQwZDBlOGMyYTdjYTU4MDRhMzlkNTgxODZhNTBlNDk3MTM5NjI2Nzc4ZTI1YjA2NzRkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlYWE1Zjk4MGMyNDVmNmYwMzg5NzgyOTBhZmE3MGI2YmQ4ODU1ODk3Zjk4YjZhYTQ4NWI5NjA2NWQ1MzdiZDk5JyxcbiAgICAgICAgJ2Y2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZlYTY3ZmIxODA0MTAyNGVkYzA3ZGMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc4Yzk0MDc1NDRhYzEzMjY5MmVlMTkxMGEwMjQzOTk1OGFlMDQ4NzcxNTEzNDJlYTk2YzRiNmIzNWE0OWY1MScsXG4gICAgICAgICdmM2UwMzE5MTY5ZWI5Yjg1ZDU0MDQ3OTU1MzlhNWU2OGZhMWZiZDU4M2MwNjRkMjQ2MmI2NzVmMTk0YTNkZGI0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc0OTRmNGJlMjE5YTFhNzcwMTZkY2Q4Mzg0MzFhZWEwMDAxY2RjOGFlN2E2ZmM2ODg3MjY1NzhkOTcwMjg1N2E1JyxcbiAgICAgICAgJzQyMjQyYTk2OTI4M2E1ZjMzOWJhN2YwNzVlMzZiYTJhZjkyNWNlMzBkNzY3ZWQ2ZTU1ZjRiMDMxODgwZDU2MmMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2E1OThhODAzMGRhNmQ4NmM2YmM3ZjJmNTE0NGVhNTQ5ZDI4MjExZWE1OGZhYTcwZWJmNGMxZTY2NWMxZmU5YjUnLFxuICAgICAgICAnMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYzQxOTE2MzY1YWJiMmI1ZDA5MTkyZjVmMmRiZWFmZWMyMDhmMDIwZjEyNTcwYTE4NGRiYWRjM2U1ODU5NTk5NycsXG4gICAgICAgICc0ZjE0MzUxZDAwODdlZmE0OWQyNDViMzI4OTg0OTg5ZDVjYWY5NDUwZjM0YmZjMGVkMTZlOTZiNThmYTk5MTMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg0MWQ2MDYzYTU4NmZhNDc1YTcyNDYwNGRhMDNiYzViOTJhMmUwZDJlMGEzNmFjZmU0YzczYTU1MTQ3NDI4ODEnLFxuICAgICAgICAnNzM4NjdmNTljMDY1OWU4MTkwNGY5YTFjNzU0MzY5OGU2MjU2MmQ2NzQ0YzE2OWNlN2EzNmRlMDFhOGQ2MTU0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc1ZTk1YmIzOTlhNjk3MWQzNzYwMjY5NDdmODliZGUyZjI4MmIzMzgxMDkyOGJlNGRlZDExMmFjNGQ3MGUyMGQ1JyxcbiAgICAgICAgJzM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3NDYwMTI4NjUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM2ZTQ2NDFhNTM5NDhmZDQ3NmMzOWY4YTk5ZmQ5NzRlNWVjMDc1NjRiNTMxNWQ4YmY5OTQ3MWJjYTBlZjJmNjYnLFxuICAgICAgICAnZDI0MjRiMWIxYWJlNGViODE2NDIyN2IwODVjOWFhOTQ1NmVhMTM0OTNmZDU2M2UwNmZkNTFjZjU2OTRjNzhmYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMzM2NTgxZWE3YmZiYmIyOTBjMTkxYTJmNTA3YTQxY2Y1NjQzODQyMTcwZTkxNGZhZWFiMjdjMmM1NzlmNzI2JyxcbiAgICAgICAgJ2VhZDEyMTY4NTk1ZmUxYmU5OTI1MjEyOWI2ZTU2YjMzOTFmN2FiMTQxMGNkMWUwZWYzZGNkY2FiZDJmZGEyMjQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzhhYjg5ODE2ZGFkZmQ2YjZhMWYyNjM0ZmNmMDBlYzg0MDM3ODEwMjVlZDY4OTBjNDg0OTc0MjcwNmJkNDNlZGUnLFxuICAgICAgICAnNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMWUzM2YxYTc0NmM5YzU3NzgxMzMzNDRkOTI5OWZjYWEyMGIwOTM4ZThhY2ZmMjU0NGJiNDAyODRiOGM1ZmI5NCcsXG4gICAgICAgICc2MDY2MDI1N2RkMTFiM2FhOWM4ZWQ2MThkMjRlZGZmMjMwNmQzMjBmMWQwMzAxMGUzM2E3ZDIwNTdmM2IzYjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzg1YjdjMWRjYjNjZWMxYjdlZTdmMzBkZWQ3OWRkMjBhMGVkMWY0Y2MxOGNiY2ZjZmE0MTAzNjFmZDhmMDhmMzEnLFxuICAgICAgICAnM2Q5OGE5Y2RkMDI2ZGQ0M2YzOTA0OGYyNWE4ODQ3ZjRmY2FmYWQxODk1ZDdhNjMzYzZmZWQzYzM1ZTk5OTUxMScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMjlkZjlmYmQ4ZDllNDY1MDkyNzVmNGIxMjVkNmQ0NWQ3ZmJlOWEzYjg3OGE3YWY4NzJhMjgwMDY2MWFjNWY1MScsXG4gICAgICAgICdiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2EwYjFjYWUwNmIwYTg0N2EzZmVhNmU2NzFhYWY4YWRmZGZlNThjYTJmNzY4MTA1YzgwODJiMmU0NDlmY2UyNTInLFxuICAgICAgICAnYWU0MzQxMDJlZGRlMDk1OGVjNGIxOWQ5MTdhNmEyOGU2YjcyZGExODM0YWZmMGU2NTBmMDQ5NTAzYTI5NmNmMicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNGU4Y2VhZmI5YjNlOWExMzZkYzdmZjY3ZTg0MDI5NWI0OTlkZmIzYjIxMzNlNGJhMTEzZjJlNGMwZTEyMWU1JyxcbiAgICAgICAgJ2NmMjE3NDExOGM4YjZkN2E0YjQ4ZjZkNTM0Y2U1Yzc5NDIyYzA4NmE2MzQ2MDUwMmI4MjdjZTYyYTMyNjY4M2MnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2QyNGE0NGUwNDdlMTliNmY1YWZiODFjN2NhMmY2OTA4MGE1MDc2Njg5YTAxMDkxOWY0MjcyNWMyYjc4OWEzM2InLFxuICAgICAgICAnNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZWEwMTYwNmE3YTZjOWNkZDI0OWZkZmNmYWNiOTk1ODQwMDFlZGQyOGFiYmFiNzdiNTEwNGU5OGU4ZTNiMzVkNCcsXG4gICAgICAgICczMjJhZjQ5MDhjNzMxMmIwY2ZiZmUzNjlmN2E3YjNjZGI3ZDQ0OTRiYzI4MjM3MDBjZmQ2NTIxODhhM2VhOThkJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdhZjhhZGRiZjJiNjYxYzhhNmM2MzI4NjU1ZWI5NjY1MTI1MjAwN2Q4YzVlYTMxYmU0YWQxOTZkZThjZTIxMzFmJyxcbiAgICAgICAgJzY3NDllNjdjMDI5Yjg1ZjUyYTAzNGVhZmQwOTY4MzZiMjUyMDgxODY4MGUyNmFjOGYzZGZiY2RiNzE3NDk3MDAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2UzYWUxOTc0NTY2Y2EwNmNjNTE2ZDQ3ZTBmYjE2NWE2NzRhM2RhYmNmY2ExNWU3MjJmMGUzNDUwZjQ1ODg5JyxcbiAgICAgICAgJzJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzU5MWVlMzU1MzEzZDk5NzIxY2Y2OTkzZmZlZDFlM2UzMDE5OTNmZjNlZDI1ODgwMjA3NWVhOGNlZDM5N2UyNDYnLFxuICAgICAgICAnYjBlYTU1OGExMTNjMzBiZWE2MGZjNDc3NTQ2MGM3OTAxZmYwYjA1M2QyNWNhMmJkZWVlOThmMWE0YmU1ZDE5NicsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTEzOTZkNTVmZGE1NGM0OWYxOWFhOTczMThkOGRhNjFmYTg1ODRlNDdiMDg0OTQ1MDc3Y2YwMzI1NWI1Mjk4NCcsXG4gICAgICAgICc5OThjNzRhOGNkNDVhYzAxMjg5ZDU4MzNhN2JlYjQ3NDRmZjUzNmIwMWIyNTdiZTRjNTc2N2JlYTkzZWE1N2E0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczYzVkMmExYmEzOWM1YTE3OTAwMDA3MzhjOWUwYzQwYjhkY2RmZDU0Njg3NTRiNjQwNTU0MDE1N2UwMTdhYTdhJyxcbiAgICAgICAgJ2IyMjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2NjODcwNGI4YTYwYTBkZWZhM2E5OWE3Mjk5ZjJlOWMzZmJjMzk1YWZiMDRhYzA3ODQyNWVmOGExNzkzY2MwMzAnLFxuICAgICAgICAnYmRkNDYwMzlmZWVkMTc4ODFkMWUwODYyZGIzNDdmOGNmMzk1Yjc0ZmM0YmNkYzRlOTQwYjc0ZTNhYzFmMWIxMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYzUzM2U0ZjdlYTg1NTVhYWNkOTc3N2FjNWNhZDI5Yjk3ZGQ0ZGVmY2NjNTNlZTdlYTIwNDExOWIyODg5YjE5NycsXG4gICAgICAgICc2ZjBhMjU2YmM1ZWZkZjQyOWEyZmI2MjQyZjFhNDNhMmQ5YjkyNWJiNGE0YjNhMjZiYjhlMGY0NWViNTk2MDk2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjMTRmOGYyY2NiMjdkNmYxMDlmNmQwOGQwM2NjOTZhNjliYThjMzRlZWMwN2JiY2Y1NjZkNDhlMzNkYTY1OTMnLFxuICAgICAgICAnYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnYTZjYmMzMDQ2YmM2YTQ1MGJhYzI0Nzg5ZmExNzExNWE0Yzk3MzllZDc1ZjhmMjFjZTQ0MWY3MmUwYjkwZTZlZicsXG4gICAgICAgICcyMWFlN2Y0NjgwZTg4OWJiMTMwNjE5ZTJjMGY5NWEzNjBjZWI1NzNjNzA2MDMxMzk4NjJhZmQ2MTdmYTliOWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzM0N2Q2ZDlhMDJjNDg5MjdlYmZiODZjMTM1OWIxY2FmMTMwYTNjMDI2N2QxMWNlNjM0NGIzOWY5OWQ0M2NjMzgnLFxuICAgICAgICAnNjBlYTdmNjFhMzUzNTI0ZDFjOTg3ZjZlY2VjOTJmMDg2ZDU2NWFiNjg3ODcwY2IxMjY4OWZmMWUzMWM3NDQ0OCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZGE2NTQ1ZDIxODFkYjhkOTgzZjdkY2IzNzVlZjU4NjZkNDdjNjdiMWJmMzFjOGNmODU1ZWY3NDM3YjcyNjU2YScsXG4gICAgICAgICc0OWI5NjcxNWFiNjg3OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjNDA3NDdjYzlkMDEyY2IxYTEzYjgxNDgzMDljNmRlN2VjMjVkNjk0NWQ2NTcxNDZiOWQ1OTk0YjhmZWIxMTExJyxcbiAgICAgICAgJzVjYTU2MDc1M2JlMmExMmZjNmRlNmNhZjJjYjQ4OTU2NWRiOTM2MTU2Yjk1MTRlMWJiNWU4MzAzN2UwZmEyZDQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzRlNDJjOGVjODJjOTk3OThjY2YzYTYxMGJlODcwZTc4MzM4YzdmNzEzMzQ4YmQzNGM4MjAzZWY0MDM3ZjM1MDInLFxuICAgICAgICAnNzU3MWQ3NGVlNWUwZmI5MmE3YThiMzNhMDc3ODMzNDFhNTQ5MjE0NGNjNTRiY2M0MGE5NDQ3MzY5MzYwNjQzNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMzc3NWFiNzA4OWJjNmFmODIzYWJhMmUxYWY3MGIyMzZkMjUxY2FkYjBjODY3NDMyODc1MjJhMWIzYjBkZWRlYScsXG4gICAgICAgICdiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdjZWUzMWNiZjdlMzRlYzM3OWQ5NGZiODE0ZDNkNzc1YWQ5NTQ1OTVkMTMxNGJhODg0Njk1OWUzZTgyZjc0ZTI2JyxcbiAgICAgICAgJzhmZDY0YTE0YzA2YjU4OWMyNmI5NDdhZTJiY2Y2YmZhMDE0OWVmMGJlMTRlZDRkODBmNDQ4YTAxYzQzYjFjNmQnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2I0ZjllYWVhMDliNjkxNzYxOWY2ZWE2YTRlYjU0NjRlZmRkYjU4ZmQ0NWIxZWJlZmNkYzFhMDFkMDhiNDc5ODYnLFxuICAgICAgICAnMzllNWM5OTI1YjVhNTRiMDc0MzNhNGYxOGM2MTcyNmY4YmIxMzFjMDEyY2E1NDJlYjI0YThhYzA3MjAwNjgyYScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDQyNjNkZmMzZDJkZjkyM2EwMTc5YTQ4OTY2ZDMwY2U4NGUyNTE1YWZjM2RjY2MxYjc3OTA3NzkyZWJjYzYwZScsXG4gICAgICAgICc2MmRmYWYwN2EwZjc4ZmViMzBlMzBkNjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc0ODQ1NzUyNDgyMGZhNjVhNGY4ZDM1ZWI2OTMwODU3YzAwMzJhY2MwYTRhMmRlNDIyMjMzZWVkYTg5NzYxMmM0JyxcbiAgICAgICAgJzI1YTc0OGFiMzY3OTc5ZDk4NzMzYzM4YTFmYTFjMmU3ZGM2Y2MwN2RiMmQ2MGE5YWU3YTc2YWFhNDliZDBmNzcnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2RmZWVlZjE4ODExMDFmMmNiMTE2NDRmM2EyYWZkZmMyMDQ1ZTE5OTE5MTUyOTIzZjM2N2ExNzY3YzExY2NlZGEnLFxuICAgICAgICAnZWNmYjcwNTZjZjFkZTA0MmY5NDIwYmFiMzk2NzkzYzBjMzkwYmRlNzRiNGJiZGZmMTZhODNhZTA5YTlhNzUxNycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNmQ3ZWY2YjE3NTQzZjgzNzNjNTczZjQ0ZTFmMzg5ODM1ZDg5YmNiYzYwNjJjZWQzNmM4MmRmODNiOGZhZTg1OScsXG4gICAgICAgICdjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlNzU2MDVkNTkxMDJhNWEyNjg0NTAwZDNiOTkxZjJlM2YzYzg4YjkzMjI1NTQ3MDM1YWYyNWFmNjZlMDQ1NDFmJyxcbiAgICAgICAgJ2Y1YzU0NzU0YThmNzFlZTU0MGI5YjQ4NzI4NDczZTMxNGY3MjlhYzUzMDhiMDY5MzgzNjA5OTBlMmJmYWQxMjUnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2ViOTg2NjBmNGM0ZGZhYTA2YTJiZTQ1M2Q1MDIwYmM5OWEwYzJlNjBhYmUzODg0NTdkZDQzZmVmYjFlZDYyMGMnLFxuICAgICAgICAnNmNiOWE4ODc2ZDljYjg1MjA2MDlhZjNhZGQyNmNkMjBhMGE3Y2Q4YTk0MTExMzFjZTg1ZjQ0MTAwMDk5MjIzZScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnMTNlODdiMDI3ZDg1MTRkMzU5MzlmMmU2ODkyYjE5OTIyMTU0NTk2OTQxODg4MzM2ZGMzNTYzZTNiOGRiYTk0MicsXG4gICAgICAgICdmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkxYWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlZTE2MzAyNmU5ZmQ2ZmUwMTdjMzhmMDZhNWJlNmZjMTI1NDI0YjM3MWNlMjcwOGU3YmY0NDkxNjkxZTU3NjRhJyxcbiAgICAgICAgJzFhY2IyNTBmMjU1ZGQ2MWM0M2Q5NGNjYzY3MGQwZjU4ZjQ5YWUzZmExNWI5NjYyM2U1NDMwZGEwYWQ2YzYyYjInLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2IyNjhmNWVmOWFkNTFlNGQ3OGRlM2E3NTBjMmRjODliMWU2MjZkNDM1MDU4Njc5OTk5MzJlNWRiMzNhZjNkODAnLFxuICAgICAgICAnNWYzMTBkNGIzYzk5YjllYmIxOWY3N2Q0MWMxZGVlMDE4Y2YwZDM0ZmQ0MTkxNjE0MDAzZTk0NWExMjE2ZTQyMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZmYwN2YzMTE4YTlkZjAzNWU5ZmFkODVlYjZjN2JmZTQyYjAyZjAxY2E5OWNlZWEzYmY3ZmZkYmE5M2M0NzUwZCcsXG4gICAgICAgICc0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4ZDhiOTg1NWM3YzA1MmEzNDE0NmZkMjBmZmI2NThiZWE0YjlmNjllMGQ4MjVlYmVjMTZlOGMzY2UyYjUyNmExJyxcbiAgICAgICAgJ2NkYjU1OWVlZGMyZDc5ZjkyNmJhZjQ0ZmI4NGVhNGQ0NGJjZjUwZmVlNTFkN2NlYjMwZTJlN2Y0NjMwMzY3NTgnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzUyZGIwYjUzODRkZmJmMDViZmE5ZDQ3MmQ3YWUyNmRmZTRiODUxY2VjYTkxYjFlYmE1NDI2MzE4MGRhMzJiNjMnLFxuICAgICAgICAnYzNiOTk3ZDA1MGVlNWQ0MjNlYmFmNjZhNmRiOWY1N2IzMTgwYzkwMjg3NTY3OWRlOTI0YjY5ZDg0YTdiMzc1JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdlNjJmOTQ5MGQzZDUxZGE2Mzk1ZWZkMjRlODA5MTljYzdkMGYyOWMzZjNmYTQ4YzZmZmY1NDNiZWNiZDQzMzUyJyxcbiAgICAgICAgJzZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkxZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzdmMzBlYTI0NzZiMzk5YjQ5NTc1MDljODhmNzdkMDE5MWFmYTJmZjVjYjdiMTRmZDZkOGU3ZDY1YWFhYjExOTMnLFxuICAgICAgICAnY2E1ZWY3ZDRiMjMxYzk0YzNiMTUzODlhNWY2MzExZTlkYWZmN2JiNjdiMTAzZTk4ODBlZjRiZmY2MzdhY2FlYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNTA5OGZmMWUxZDlmMTRmYjQ2YTIxMGZhZGE2YzkwM2ZlZjBmYjdiNGExZGQxZDlhYzYwYTAzNjE4MDBiN2EwMCcsXG4gICAgICAgICc5NzMxMTQxZDgxZmM4ZjgwODRkMzdjNmU3NTQyMDA2YjNlZTFiNDBkNjBkZmU1MzYyYTViMTMyZmQxN2RkYzAnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzMyYjc4YzdkZTllZTUxMmE3Mjg5NWJlNmI5Y2JlZmE2ZTJmM2M0Y2NjZTQ0NWM5NmI5ZjJjODFlMjc3OGFkNTgnLFxuICAgICAgICAnZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZTJjYjc0ZmRkYzhlOWZiY2QwNzZlZWYyYTdjNzJiMGNlMzdkNTBmMDgyNjlkZmMwNzRiNTgxNTUwNTQ3YTRmNycsXG4gICAgICAgICdkM2FhMmVkNzFjOWRkMjI0N2E2MmRmMDYyNzM2ZWIwYmFkZGVhOWUzNjEyMmQyYmU4NjQxYWJjYjAwNWNjNGE0JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc4NDM4NDQ3NTY2ZDRkN2JlZGFkYzI5OTQ5NmFiMzU3NDI2MDA5YTM1ZjIzNWNiMTQxYmUwZDk5Y2QxMGFlM2E4JyxcbiAgICAgICAgJ2M0ZTEwMjA5MTY5ODBhNGRhNWQwMWFjNWU2YWQzMzA3MzRlZjBkNzkwNjYzMWM0ZjIzOTA0MjZiMmVkZDc5MWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzQxNjJkNDg4Yjg5NDAyMDM5YjU4NGM2ZmM2YzMwODg3MDU4N2Q5YzQ2ZjY2MGI4NzhhYjY1YzgyYzcxMWQ2N2UnLFxuICAgICAgICAnNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRhNDdhZTVhMDg1MjY0OScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnM2ZhZDNmYTg0Y2FmMGYzNGYwZjg5YmZkMmRjZjU0ZmMxNzVkNzY3YWVjM2U1MDY4NGYzYmE0YTRiZjVmNjgzZCcsXG4gICAgICAgICdjZDFiYzdjYjZjYzQwN2JiMmYwY2E2NDdjNzE4YTczMGNmNzE4NzJlN2QwZDJhNTNmYTIwZWZjZGZlNjE4MjYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzY3NGYyNjAwYTMwMDdhMDA1NjhjMWE3Y2UwNWQwODE2YzFmYjg0YmYxMzcwNzk4ZjFjNjk1MzJmYWViMWE4NmInLFxuICAgICAgICAnMjk5ZDIxZjk0MTNmMzNiM2VkZjQzYjI1NzAwNDU4MGI3MGRiNTdkYTBiMTgyMjU5ZTA5ZWVjYzY5ZTBkMzhhNScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDMyZjRkYTU0YWRlNzRhYmI4MWI4MTVhZDFmYjNiMjYzZDgyZDZjNjkyNzE0YmNmZjg3ZDI5YmQ1ZWU5ZjA4ZicsXG4gICAgICAgICdmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMGU0ZTY3MDQzNTM4NTU1NmU1OTM2NTcxMzU4NDVkMzZmYmI2OTMxZjcyYjA4Y2IxZWQ5NTRmMWUzY2UzZmY2JyxcbiAgICAgICAgJzQ2MmY5YmNlNjE5ODk4NjM4NDk5MzUwMTEzYmJjOWIxMGE4NzhkMzVkYTcwNzQwZGM2OTVhNTU5ZWI4OGRiN2InLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2JlMjA2MjAwM2M1MWNjMzAwNDY4MjkwNDMzMGU0ZGVlN2YzZGNkMTBiMDFlNTgwYmYxOTcxYjA0ZDRjYWQyOTcnLFxuICAgICAgICAnNjIxODhiYzQ5ZDYxZTU0Mjg1NzNkNDhhNzRlMWM2NTViMWM2MTA5MDkwNTY4MmEwZDU1NThlZDcyZGNjYjliYycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnOTMxNDQ0MjNhY2UzNDUxZWQyOWUwZmI5YWMyYWYyMTFjYjZlODRhNjAxZGY1OTkzYzQxOTg1OWZmZjVkZjA0YScsXG4gICAgICAgICc3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdiNDdjJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICdiMDE1ZjgwNDRmNWZjYmRjZjIxY2EyNmQ2YzM0ZmI4MTk3ODI5MjA1YzdiN2QyYTdjYjY2NDE4YzE1N2IxMTJjJyxcbiAgICAgICAgJ2FiOGMxZTA4NmQwNGU4MTM3NDRhNjU1YjJkZjhkNWY4M2IzY2RjNmZhYTMwODhjMWQzYWVhMTQ1NGUzYTFkNWYnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJ2Q1ZTllMWRhNjQ5ZDk3ZDg5ZTQ4NjgxMTdhNDY1YTNhNGY4YTE4ZGU1N2ExNDBkMzZiM2YyYWYzNDFhMjFiNTInLFxuICAgICAgICAnNGNiMDQ0MzdmMzkxZWQ3MzExMWExM2NjMWQ0ZGQwZGIxNjkzNDY1YzIyNDA0ODBkODk1NWU4NTkyZjI3NDQ3YScsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnZDNhZTQxMDQ3ZGQ3Y2EwNjVkYmY4ZWQ3N2I5OTI0Mzk5ODMwMDVjZDcyZTE2ZDZmOTk2YTUzMTZkMzY5NjZiYicsXG4gICAgICAgICdiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICc0NjNlMjc2M2Q4ODVmOTU4ZmM2NmNkZDIyODAwZjBhNDg3MTk3ZDBhODJlMzc3YjQ5ZjgwYWY4N2M4OTdiMDY1JyxcbiAgICAgICAgJ2JmZWZhY2RiMGU1ZDBmZDdkZjNhMzExYTk0ZGUwNjJiMjZiODBjNjFmYmM5NzUwOGI3OTk5MjY3MWVmN2NhN2YnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc5ODVmZGZkMTI3YzA1NjdjNmY1M2VjMWJiNjNlYzMxNThlNTk3YzQwYmZlNzQ3YzgzY2RkZmM5MTA2NDE5MTcnLFxuICAgICAgICAnNjAzYzEyZGFmM2Q5ODYyZWYyYjI1ZmUxZGUyODlhZWQyNGVkMjkxZTBlYzY3MDg3MDNhNWJkNTY3ZjMyZWQwMycsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnNzRhMWFkNmI1Zjc2ZTM5ZGIyZGQyNDk0MTBlYWM3Zjk5ZTc0YzU5Y2I4M2QyZDBlZDVmZjE1NDNkYTc3MDNlOScsXG4gICAgICAgICdjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4JyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICczMDY4MmE1MDcwMzM3NWY2MDJkNDE2NjY0YmExOWI3ZmM5YmFiNDJjNzI3NDc0NjNhNzFkMDg5NmIyMmY2ZGEzJyxcbiAgICAgICAgJzU1M2UwNGY2YjAxOGI0ZmE2YzhmMzllN2YzMTFkMzE3NjI5MGQwZTBmMTljYTczZjE3NzE0ZDk5NzdhMjJmZjgnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzllMjE1OGYwZDdjMGQ1ZjI2YzM3OTFlZmVmYTc5NTk3NjU0ZTdhMmIyNDY0ZjUyYjFlZTZjMTM0Nzc2OWVmNTcnLFxuICAgICAgICAnNzEyZmNkZDFiOTA1M2YwOTAwM2EzNDgxZmE3NzYyZTlmZmQ3YzhlZjM1YTM4NTA5ZTJmYmYyNjI5MDA4MzczJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxNzZlMjY5ODlhNDNjOWNmZWJhNDAyOWMyMDI1MzhjMjgxNzJlNTY2ZTNjNGZjZTczMjI4NTdmM2JlMzI3ZDY2JyxcbiAgICAgICAgJ2VkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMnLFxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgJzc1ZDQ2ZWZlYTM3NzFlNmU2OGFiYjg5YTEzYWQ3NDdlY2YxODkyMzkzZGZjNGYxYjcwMDQ3ODhjNTAzNzRkYTgnLFxuICAgICAgICAnOTg1MjM5MGE5OTUwNzY3OWZkMGI4NmZkMmIzOWE4NjhkN2VmYzIyMTUxMzQ2ZTFhM2NhNDcyNjU4NmE2YmVkOCcsXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAnODA5YTIwYzY3ZDY0OTAwZmZiNjk4YzRjODI1ZjZkNWYyMzEwZmIwNDUxYzg2OTM0NWI3MzE5ZjY0NTYwNTcyMScsXG4gICAgICAgICc5ZTk5NDk4MGQ5OTE3ZTIyYjc2YjA2MTkyN2ZhMDQxNDNkMDk2Y2NjNTQ5NjNlNmE1ZWJmYTVmM2Y4ZTI4NmMxJyxcbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgICcxYjM4OTAzYTQzZjdmMTE0ZWQ0NTAwYjRlYWM3MDgzZmRlZmVjZTFjZjI5YzYzNTI4ZDU2MzQ0NmY5NzJjMTgwJyxcbiAgICAgICAgJzQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjknLFxuICAgICAgXSxcbiAgICBdLFxuICB9LFxufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gZXhwb3J0cztcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJyk7XG52YXIgbWluQXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xudmFyIG1pblV0aWxzID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWNyeXB0by11dGlscycpO1xuXG51dGlscy5hc3NlcnQgPSBtaW5Bc3NlcnQ7XG51dGlscy50b0FycmF5ID0gbWluVXRpbHMudG9BcnJheTtcbnV0aWxzLnplcm8yID0gbWluVXRpbHMuemVybzI7XG51dGlscy50b0hleCA9IG1pblV0aWxzLnRvSGV4O1xudXRpbHMuZW5jb2RlID0gbWluVXRpbHMuZW5jb2RlO1xuXG4vLyBSZXByZXNlbnQgbnVtIGluIGEgdy1OQUYgZm9ybVxuZnVuY3Rpb24gZ2V0TkFGKG51bSwgdywgYml0cykge1xuICB2YXIgbmFmID0gbmV3IEFycmF5KE1hdGgubWF4KG51bS5iaXRMZW5ndGgoKSwgYml0cykgKyAxKTtcbiAgbmFmLmZpbGwoMCk7XG5cbiAgdmFyIHdzID0gMSA8PCAodyArIDEpO1xuICB2YXIgayA9IG51bS5jbG9uZSgpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbmFmLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHo7XG4gICAgdmFyIG1vZCA9IGsuYW5kbG4od3MgLSAxKTtcbiAgICBpZiAoay5pc09kZCgpKSB7XG4gICAgICBpZiAobW9kID4gKHdzID4+IDEpIC0gMSlcbiAgICAgICAgeiA9ICh3cyA+PiAxKSAtIG1vZDtcbiAgICAgIGVsc2VcbiAgICAgICAgeiA9IG1vZDtcbiAgICAgIGsuaXN1Ym4oeik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHogPSAwO1xuICAgIH1cblxuICAgIG5hZltpXSA9IHo7XG4gICAgay5pdXNocm4oMSk7XG4gIH1cblxuICByZXR1cm4gbmFmO1xufVxudXRpbHMuZ2V0TkFGID0gZ2V0TkFGO1xuXG4vLyBSZXByZXNlbnQgazEsIGsyIGluIGEgSm9pbnQgU3BhcnNlIEZvcm1cbmZ1bmN0aW9uIGdldEpTRihrMSwgazIpIHtcbiAgdmFyIGpzZiA9IFtcbiAgICBbXSxcbiAgICBbXSxcbiAgXTtcblxuICBrMSA9IGsxLmNsb25lKCk7XG4gIGsyID0gazIuY2xvbmUoKTtcbiAgdmFyIGQxID0gMDtcbiAgdmFyIGQyID0gMDtcbiAgdmFyIG04O1xuICB3aGlsZSAoazEuY21wbigtZDEpID4gMCB8fCBrMi5jbXBuKC1kMikgPiAwKSB7XG4gICAgLy8gRmlyc3QgcGhhc2VcbiAgICB2YXIgbTE0ID0gKGsxLmFuZGxuKDMpICsgZDEpICYgMztcbiAgICB2YXIgbTI0ID0gKGsyLmFuZGxuKDMpICsgZDIpICYgMztcbiAgICBpZiAobTE0ID09PSAzKVxuICAgICAgbTE0ID0gLTE7XG4gICAgaWYgKG0yNCA9PT0gMylcbiAgICAgIG0yNCA9IC0xO1xuICAgIHZhciB1MTtcbiAgICBpZiAoKG0xNCAmIDEpID09PSAwKSB7XG4gICAgICB1MSA9IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG04ID0gKGsxLmFuZGxuKDcpICsgZDEpICYgNztcbiAgICAgIGlmICgobTggPT09IDMgfHwgbTggPT09IDUpICYmIG0yNCA9PT0gMilcbiAgICAgICAgdTEgPSAtbTE0O1xuICAgICAgZWxzZVxuICAgICAgICB1MSA9IG0xNDtcbiAgICB9XG4gICAganNmWzBdLnB1c2godTEpO1xuXG4gICAgdmFyIHUyO1xuICAgIGlmICgobTI0ICYgMSkgPT09IDApIHtcbiAgICAgIHUyID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgbTggPSAoazIuYW5kbG4oNykgKyBkMikgJiA3O1xuICAgICAgaWYgKChtOCA9PT0gMyB8fCBtOCA9PT0gNSkgJiYgbTE0ID09PSAyKVxuICAgICAgICB1MiA9IC1tMjQ7XG4gICAgICBlbHNlXG4gICAgICAgIHUyID0gbTI0O1xuICAgIH1cbiAgICBqc2ZbMV0ucHVzaCh1Mik7XG5cbiAgICAvLyBTZWNvbmQgcGhhc2VcbiAgICBpZiAoMiAqIGQxID09PSB1MSArIDEpXG4gICAgICBkMSA9IDEgLSBkMTtcbiAgICBpZiAoMiAqIGQyID09PSB1MiArIDEpXG4gICAgICBkMiA9IDEgLSBkMjtcbiAgICBrMS5pdXNocm4oMSk7XG4gICAgazIuaXVzaHJuKDEpO1xuICB9XG5cbiAgcmV0dXJuIGpzZjtcbn1cbnV0aWxzLmdldEpTRiA9IGdldEpTRjtcblxuZnVuY3Rpb24gY2FjaGVkUHJvcGVydHkob2JqLCBuYW1lLCBjb21wdXRlcikge1xuICB2YXIga2V5ID0gJ18nICsgbmFtZTtcbiAgb2JqLnByb3RvdHlwZVtuYW1lXSA9IGZ1bmN0aW9uIGNhY2hlZFByb3BlcnR5KCkge1xuICAgIHJldHVybiB0aGlzW2tleV0gIT09IHVuZGVmaW5lZCA/IHRoaXNba2V5XSA6XG4gICAgICB0aGlzW2tleV0gPSBjb21wdXRlci5jYWxsKHRoaXMpO1xuICB9O1xufVxudXRpbHMuY2FjaGVkUHJvcGVydHkgPSBjYWNoZWRQcm9wZXJ0eTtcblxuZnVuY3Rpb24gcGFyc2VCeXRlcyhieXRlcykge1xuICByZXR1cm4gdHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJyA/IHV0aWxzLnRvQXJyYXkoYnl0ZXMsICdoZXgnKSA6XG4gICAgYnl0ZXM7XG59XG51dGlscy5wYXJzZUJ5dGVzID0gcGFyc2VCeXRlcztcblxuZnVuY3Rpb24gaW50RnJvbUxFKGJ5dGVzKSB7XG4gIHJldHVybiBuZXcgQk4oYnl0ZXMsICdoZXgnLCAnbGUnKTtcbn1cbnV0aWxzLmludEZyb21MRSA9IGludEZyb21MRTtcblxuIiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFIgPSB0eXBlb2YgUmVmbGVjdCA9PT0gJ29iamVjdCcgPyBSZWZsZWN0IDogbnVsbFxudmFyIFJlZmxlY3RBcHBseSA9IFIgJiYgdHlwZW9mIFIuYXBwbHkgPT09ICdmdW5jdGlvbidcbiAgPyBSLmFwcGx5XG4gIDogZnVuY3Rpb24gUmVmbGVjdEFwcGx5KHRhcmdldCwgcmVjZWl2ZXIsIGFyZ3MpIHtcbiAgICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodGFyZ2V0LCByZWNlaXZlciwgYXJncyk7XG4gIH1cblxudmFyIFJlZmxlY3RPd25LZXlzXG5pZiAoUiAmJiB0eXBlb2YgUi5vd25LZXlzID09PSAnZnVuY3Rpb24nKSB7XG4gIFJlZmxlY3RPd25LZXlzID0gUi5vd25LZXlzXG59IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KVxuICAgICAgLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkpO1xuICB9O1xufSBlbHNlIHtcbiAgUmVmbGVjdE93bktleXMgPSBmdW5jdGlvbiBSZWZsZWN0T3duS2V5cyh0YXJnZXQpIHtcbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gUHJvY2Vzc0VtaXRXYXJuaW5nKHdhcm5pbmcpIHtcbiAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS53YXJuKSBjb25zb2xlLndhcm4od2FybmluZyk7XG59XG5cbnZhciBOdW1iZXJJc05hTiA9IE51bWJlci5pc05hTiB8fCBmdW5jdGlvbiBOdW1iZXJJc05hTih2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT09IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBFdmVudEVtaXR0ZXIoKSB7XG4gIEV2ZW50RW1pdHRlci5pbml0LmNhbGwodGhpcyk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IEV2ZW50RW1pdHRlcjtcbm1vZHVsZS5leHBvcnRzLm9uY2UgPSBvbmNlO1xuXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjEwLnhcbkV2ZW50RW1pdHRlci5FdmVudEVtaXR0ZXIgPSBFdmVudEVtaXR0ZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50cyA9IHVuZGVmaW5lZDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50c0NvdW50ID0gMDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHVuZGVmaW5lZDtcblxuLy8gQnkgZGVmYXVsdCBFdmVudEVtaXR0ZXJzIHdpbGwgcHJpbnQgYSB3YXJuaW5nIGlmIG1vcmUgdGhhbiAxMCBsaXN0ZW5lcnMgYXJlXG4vLyBhZGRlZCB0byBpdC4gVGhpcyBpcyBhIHVzZWZ1bCBkZWZhdWx0IHdoaWNoIGhlbHBzIGZpbmRpbmcgbWVtb3J5IGxlYWtzLlxudmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnMgPSAxMDtcblxuZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcikge1xuICBpZiAodHlwZW9mIGxpc3RlbmVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBsaXN0ZW5lcik7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEV2ZW50RW1pdHRlciwgJ2RlZmF1bHRNYXhMaXN0ZW5lcnMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24oYXJnKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcgIT09ICdudW1iZXInIHx8IGFyZyA8IDAgfHwgTnVtYmVySXNOYU4oYXJnKSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnICsgYXJnICsgJy4nKTtcbiAgICB9XG4gICAgZGVmYXVsdE1heExpc3RlbmVycyA9IGFyZztcbiAgfVxufSk7XG5cbkV2ZW50RW1pdHRlci5pbml0ID0gZnVuY3Rpb24oKSB7XG5cbiAgaWYgKHRoaXMuX2V2ZW50cyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB0aGlzLl9ldmVudHMgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSB7XG4gICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB0aGlzLl9ldmVudHNDb3VudCA9IDA7XG4gIH1cblxuICB0aGlzLl9tYXhMaXN0ZW5lcnMgPSB0aGlzLl9tYXhMaXN0ZW5lcnMgfHwgdW5kZWZpbmVkO1xufTtcblxuLy8gT2J2aW91c2x5IG5vdCBhbGwgRW1pdHRlcnMgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gMTAuIFRoaXMgZnVuY3Rpb24gYWxsb3dzXG4vLyB0aGF0IHRvIGJlIGluY3JlYXNlZC4gU2V0IHRvIHplcm8gZm9yIHVubGltaXRlZC5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gc2V0TWF4TGlzdGVuZXJzKG4pIHtcbiAgaWYgKHR5cGVvZiBuICE9PSAnbnVtYmVyJyB8fCBuIDwgMCB8fCBOdW1iZXJJc05hTihuKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJyArIG4gKyAnLicpO1xuICB9XG4gIHRoaXMuX21heExpc3RlbmVycyA9IG47XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gX2dldE1heExpc3RlbmVycyh0aGF0KSB7XG4gIGlmICh0aGF0Ll9tYXhMaXN0ZW5lcnMgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gRXZlbnRFbWl0dGVyLmRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIHJldHVybiB0aGF0Ll9tYXhMaXN0ZW5lcnM7XG59XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gZ2V0TWF4TGlzdGVuZXJzKCkge1xuICByZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIGVtaXQodHlwZSkge1xuICB2YXIgYXJncyA9IFtdO1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgYXJncy5wdXNoKGFyZ3VtZW50c1tpXSk7XG4gIHZhciBkb0Vycm9yID0gKHR5cGUgPT09ICdlcnJvcicpO1xuXG4gIHZhciBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gIGlmIChldmVudHMgIT09IHVuZGVmaW5lZClcbiAgICBkb0Vycm9yID0gKGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQpO1xuICBlbHNlIGlmICghZG9FcnJvcilcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gSWYgdGhlcmUgaXMgbm8gJ2Vycm9yJyBldmVudCBsaXN0ZW5lciB0aGVuIHRocm93LlxuICBpZiAoZG9FcnJvcikge1xuICAgIHZhciBlcjtcbiAgICBpZiAoYXJncy5sZW5ndGggPiAwKVxuICAgICAgZXIgPSBhcmdzWzBdO1xuICAgIGlmIChlciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAvLyBOb3RlOiBUaGUgY29tbWVudHMgb24gdGhlIGB0aHJvd2AgbGluZXMgYXJlIGludGVudGlvbmFsLCB0aGV5IHNob3dcbiAgICAgIC8vIHVwIGluIE5vZGUncyBvdXRwdXQgaWYgdGhpcyByZXN1bHRzIGluIGFuIHVuaGFuZGxlZCBleGNlcHRpb24uXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkICdlcnJvcicgZXZlbnRcbiAgICB9XG4gICAgLy8gQXQgbGVhc3QgZ2l2ZSBzb21lIGtpbmQgb2YgY29udGV4dCB0byB0aGUgdXNlclxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1VuaGFuZGxlZCBlcnJvci4nICsgKGVyID8gJyAoJyArIGVyLm1lc3NhZ2UgKyAnKScgOiAnJykpO1xuICAgIGVyci5jb250ZXh0ID0gZXI7XG4gICAgdGhyb3cgZXJyOyAvLyBVbmhhbmRsZWQgJ2Vycm9yJyBldmVudFxuICB9XG5cbiAgdmFyIGhhbmRsZXIgPSBldmVudHNbdHlwZV07XG5cbiAgaWYgKGhhbmRsZXIgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgUmVmbGVjdEFwcGx5KGhhbmRsZXIsIHRoaXMsIGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBsZW4gPSBoYW5kbGVyLmxlbmd0aDtcbiAgICB2YXIgbGlzdGVuZXJzID0gYXJyYXlDbG9uZShoYW5kbGVyLCBsZW4pO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICBSZWZsZWN0QXBwbHkobGlzdGVuZXJzW2ldLCB0aGlzLCBhcmdzKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKHRhcmdldCwgdHlwZSwgbGlzdGVuZXIsIHByZXBlbmQpIHtcbiAgdmFyIG07XG4gIHZhciBldmVudHM7XG4gIHZhciBleGlzdGluZztcblxuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcbiAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHRhcmdldC5fZXZlbnRzQ291bnQgPSAwO1xuICB9IGVsc2Uge1xuICAgIC8vIFRvIGF2b2lkIHJlY3Vyc2lvbiBpbiB0aGUgY2FzZSB0aGF0IHR5cGUgPT09IFwibmV3TGlzdGVuZXJcIiEgQmVmb3JlXG4gICAgLy8gYWRkaW5nIGl0IHRvIHRoZSBsaXN0ZW5lcnMsIGZpcnN0IGVtaXQgXCJuZXdMaXN0ZW5lclwiLlxuICAgIGlmIChldmVudHMubmV3TGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFyZ2V0LmVtaXQoJ25ld0xpc3RlbmVyJywgdHlwZSxcbiAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyID8gbGlzdGVuZXIubGlzdGVuZXIgOiBsaXN0ZW5lcik7XG5cbiAgICAgIC8vIFJlLWFzc2lnbiBgZXZlbnRzYCBiZWNhdXNlIGEgbmV3TGlzdGVuZXIgaGFuZGxlciBjb3VsZCBoYXZlIGNhdXNlZCB0aGVcbiAgICAgIC8vIHRoaXMuX2V2ZW50cyB0byBiZSBhc3NpZ25lZCB0byBhIG5ldyBvYmplY3RcbiAgICAgIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzO1xuICAgIH1cbiAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXTtcbiAgfVxuXG4gIGlmIChleGlzdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gT3B0aW1pemUgdGhlIGNhc2Ugb2Ygb25lIGxpc3RlbmVyLiBEb24ndCBuZWVkIHRoZSBleHRyYSBhcnJheSBvYmplY3QuXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV0gPSBsaXN0ZW5lcjtcbiAgICArK3RhcmdldC5fZXZlbnRzQ291bnQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gQWRkaW5nIHRoZSBzZWNvbmQgZWxlbWVudCwgbmVlZCB0byBjaGFuZ2UgdG8gYXJyYXkuXG4gICAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXSA9XG4gICAgICAgIHByZXBlbmQgPyBbbGlzdGVuZXIsIGV4aXN0aW5nXSA6IFtleGlzdGluZywgbGlzdGVuZXJdO1xuICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBnb3QgYW4gYXJyYXksIGp1c3QgYXBwZW5kLlxuICAgIH0gZWxzZSBpZiAocHJlcGVuZCkge1xuICAgICAgZXhpc3RpbmcudW5zaGlmdChsaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4aXN0aW5nLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBsaXN0ZW5lciBsZWFrXG4gICAgbSA9IF9nZXRNYXhMaXN0ZW5lcnModGFyZ2V0KTtcbiAgICBpZiAobSA+IDAgJiYgZXhpc3RpbmcubGVuZ3RoID4gbSAmJiAhZXhpc3Rpbmcud2FybmVkKSB7XG4gICAgICBleGlzdGluZy53YXJuZWQgPSB0cnVlO1xuICAgICAgLy8gTm8gZXJyb3IgY29kZSBmb3IgdGhpcyBzaW5jZSBpdCBpcyBhIFdhcm5pbmdcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgdmFyIHcgPSBuZXcgRXJyb3IoJ1Bvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLmxlbmd0aCArICcgJyArIFN0cmluZyh0eXBlKSArICcgbGlzdGVuZXJzICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jcmVhc2UgbGltaXQnKTtcbiAgICAgIHcubmFtZSA9ICdNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmcnO1xuICAgICAgdy5lbWl0dGVyID0gdGFyZ2V0O1xuICAgICAgdy50eXBlID0gdHlwZTtcbiAgICAgIHcuY291bnQgPSBleGlzdGluZy5sZW5ndGg7XG4gICAgICBQcm9jZXNzRW1pdFdhcm5pbmcodyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IGZ1bmN0aW9uIGFkZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gIHJldHVybiBfYWRkTGlzdGVuZXIodGhpcywgdHlwZSwgbGlzdGVuZXIsIGZhbHNlKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyO1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gICAgICByZXR1cm4gX2FkZExpc3RlbmVyKHRoaXMsIHR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcbiAgICB9O1xuXG5mdW5jdGlvbiBvbmNlV3JhcHBlcigpIHtcbiAgaWYgKCF0aGlzLmZpcmVkKSB7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLCB0aGlzLndyYXBGbik7XG4gICAgdGhpcy5maXJlZCA9IHRydWU7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCwgYXJndW1lbnRzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfb25jZVdyYXAodGFyZ2V0LCB0eXBlLCBsaXN0ZW5lcikge1xuICB2YXIgc3RhdGUgPSB7IGZpcmVkOiBmYWxzZSwgd3JhcEZuOiB1bmRlZmluZWQsIHRhcmdldDogdGFyZ2V0LCB0eXBlOiB0eXBlLCBsaXN0ZW5lcjogbGlzdGVuZXIgfTtcbiAgdmFyIHdyYXBwZWQgPSBvbmNlV3JhcHBlci5iaW5kKHN0YXRlKTtcbiAgd3JhcHBlZC5saXN0ZW5lciA9IGxpc3RlbmVyO1xuICBzdGF0ZS53cmFwRm4gPSB3cmFwcGVkO1xuICByZXR1cm4gd3JhcHBlZDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24gb25jZSh0eXBlLCBsaXN0ZW5lcikge1xuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcbiAgdGhpcy5vbih0eXBlLCBfb25jZVdyYXAodGhpcywgdHlwZSwgbGlzdGVuZXIpKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXIgPVxuICAgIGZ1bmN0aW9uIHByZXBlbmRPbmNlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xuICAgICAgdGhpcy5wcmVwZW5kTGlzdGVuZXIodHlwZSwgX29uY2VXcmFwKHRoaXMsIHR5cGUsIGxpc3RlbmVyKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG4vLyBFbWl0cyBhICdyZW1vdmVMaXN0ZW5lcicgZXZlbnQgaWYgYW5kIG9ubHkgaWYgdGhlIGxpc3RlbmVyIHdhcyByZW1vdmVkLlxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIHZhciBsaXN0LCBldmVudHMsIHBvc2l0aW9uLCBpLCBvcmlnaW5hbExpc3RlbmVyO1xuXG4gICAgICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xuICAgICAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gdGhpcztcblxuICAgICAgbGlzdCA9IGV2ZW50c1t0eXBlXTtcbiAgICAgIGlmIChsaXN0ID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICBpZiAobGlzdCA9PT0gbGlzdGVuZXIgfHwgbGlzdC5saXN0ZW5lciA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXG4gICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIGV2ZW50c1t0eXBlXTtcbiAgICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyKVxuICAgICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIGxpc3QubGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBsaXN0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHBvc2l0aW9uID0gLTE7XG5cbiAgICAgICAgZm9yIChpID0gbGlzdC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIGlmIChsaXN0W2ldID09PSBsaXN0ZW5lciB8fCBsaXN0W2ldLmxpc3RlbmVyID09PSBsaXN0ZW5lcikge1xuICAgICAgICAgICAgb3JpZ2luYWxMaXN0ZW5lciA9IGxpc3RbaV0ubGlzdGVuZXI7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocG9zaXRpb24gPCAwKVxuICAgICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMClcbiAgICAgICAgICBsaXN0LnNoaWZ0KCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHNwbGljZU9uZShsaXN0LCBwb3NpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPT09IDEpXG4gICAgICAgICAgZXZlbnRzW3R5cGVdID0gbGlzdFswXTtcblxuICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIG9yaWdpbmFsTGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLm9mZiA9IEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cbiAgICBmdW5jdGlvbiByZW1vdmVBbGxMaXN0ZW5lcnModHlwZSkge1xuICAgICAgdmFyIGxpc3RlbmVycywgZXZlbnRzLCBpO1xuXG4gICAgICBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gICAgICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAvLyBub3QgbGlzdGVuaW5nIGZvciByZW1vdmVMaXN0ZW5lciwgbm8gbmVlZCB0byBlbWl0XG4gICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNbdHlwZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmICgtLXRoaXMuX2V2ZW50c0NvdW50ID09PSAwKVxuICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBkZWxldGUgZXZlbnRzW3R5cGVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICAvLyBlbWl0IHJlbW92ZUxpc3RlbmVyIGZvciBhbGwgbGlzdGVuZXJzIG9uIGFsbCBldmVudHNcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcbiAgICAgICAgdmFyIGtleTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgIGlmIChrZXkgPT09ICdyZW1vdmVMaXN0ZW5lcicpIGNvbnRpbnVlO1xuICAgICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ3JlbW92ZUxpc3RlbmVyJyk7XG4gICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIGxpc3RlbmVycyA9IGV2ZW50c1t0eXBlXTtcblxuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lcnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnMpO1xuICAgICAgfSBlbHNlIGlmIChsaXN0ZW5lcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBMSUZPIG9yZGVyXG4gICAgICAgIGZvciAoaSA9IGxpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXJzW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5mdW5jdGlvbiBfbGlzdGVuZXJzKHRhcmdldCwgdHlwZSwgdW53cmFwKSB7XG4gIHZhciBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgcmV0dXJuIFtdO1xuXG4gIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xuICBpZiAoZXZsaXN0ZW5lciA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybiBbXTtcblxuICBpZiAodHlwZW9mIGV2bGlzdGVuZXIgPT09ICdmdW5jdGlvbicpXG4gICAgcmV0dXJuIHVud3JhcCA/IFtldmxpc3RlbmVyLmxpc3RlbmVyIHx8IGV2bGlzdGVuZXJdIDogW2V2bGlzdGVuZXJdO1xuXG4gIHJldHVybiB1bndyYXAgP1xuICAgIHVud3JhcExpc3RlbmVycyhldmxpc3RlbmVyKSA6IGFycmF5Q2xvbmUoZXZsaXN0ZW5lciwgZXZsaXN0ZW5lci5sZW5ndGgpO1xufVxuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIGxpc3RlbmVycyh0eXBlKSB7XG4gIHJldHVybiBfbGlzdGVuZXJzKHRoaXMsIHR5cGUsIHRydWUpO1xufTtcblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnMgPSBmdW5jdGlvbiByYXdMaXN0ZW5lcnModHlwZSkge1xuICByZXR1cm4gX2xpc3RlbmVycyh0aGlzLCB0eXBlLCBmYWxzZSk7XG59O1xuXG5FdmVudEVtaXR0ZXIubGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUpIHtcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLmxpc3RlbmVyQ291bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsaXN0ZW5lckNvdW50LmNhbGwoZW1pdHRlciwgdHlwZSk7XG4gIH1cbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IGxpc3RlbmVyQ291bnQ7XG5mdW5jdGlvbiBsaXN0ZW5lckNvdW50KHR5cGUpIHtcbiAgdmFyIGV2ZW50cyA9IHRoaXMuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgZXZsaXN0ZW5lciA9IGV2ZW50c1t0eXBlXTtcblxuICAgIGlmICh0eXBlb2YgZXZsaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmIChldmxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBldmxpc3RlbmVyLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzID0gZnVuY3Rpb24gZXZlbnROYW1lcygpIHtcbiAgcmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50ID4gMCA/IFJlZmxlY3RPd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcbn07XG5cbmZ1bmN0aW9uIGFycmF5Q2xvbmUoYXJyLCBuKSB7XG4gIHZhciBjb3B5ID0gbmV3IEFycmF5KG4pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSlcbiAgICBjb3B5W2ldID0gYXJyW2ldO1xuICByZXR1cm4gY29weTtcbn1cblxuZnVuY3Rpb24gc3BsaWNlT25lKGxpc3QsIGluZGV4KSB7XG4gIGZvciAoOyBpbmRleCArIDEgPCBsaXN0Lmxlbmd0aDsgaW5kZXgrKylcbiAgICBsaXN0W2luZGV4XSA9IGxpc3RbaW5kZXggKyAxXTtcbiAgbGlzdC5wb3AoKTtcbn1cblxuZnVuY3Rpb24gdW53cmFwTGlzdGVuZXJzKGFycikge1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGFyci5sZW5ndGgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHJldC5sZW5ndGg7ICsraSkge1xuICAgIHJldFtpXSA9IGFycltpXS5saXN0ZW5lciB8fCBhcnJbaV07XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gb25jZShlbWl0dGVyLCBuYW1lKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgZnVuY3Rpb24gZXZlbnRMaXN0ZW5lcigpIHtcbiAgICAgIGlmIChlcnJvckxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZW1pdHRlci5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBlcnJvckxpc3RlbmVyKTtcbiAgICAgIH1cbiAgICAgIHJlc29sdmUoW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgICB9O1xuICAgIHZhciBlcnJvckxpc3RlbmVyO1xuXG4gICAgLy8gQWRkaW5nIGFuIGVycm9yIGxpc3RlbmVyIGlzIG5vdCBvcHRpb25hbCBiZWNhdXNlXG4gICAgLy8gaWYgYW4gZXJyb3IgaXMgdGhyb3duIG9uIGFuIGV2ZW50IGVtaXR0ZXIgd2UgY2Fubm90XG4gICAgLy8gZ3VhcmFudGVlIHRoYXQgdGhlIGFjdHVhbCBldmVudCB3ZSBhcmUgd2FpdGluZyB3aWxsXG4gICAgLy8gYmUgZmlyZWQuIFRoZSByZXN1bHQgY291bGQgYmUgYSBzaWxlbnQgd2F5IHRvIGNyZWF0ZVxuICAgIC8vIG1lbW9yeSBvciBmaWxlIGRlc2NyaXB0b3IgbGVha3MsIHdoaWNoIGlzIHNvbWV0aGluZ1xuICAgIC8vIHdlIHNob3VsZCBhdm9pZC5cbiAgICBpZiAobmFtZSAhPT0gJ2Vycm9yJykge1xuICAgICAgZXJyb3JMaXN0ZW5lciA9IGZ1bmN0aW9uIGVycm9yTGlzdGVuZXIoZXJyKSB7XG4gICAgICAgIGVtaXR0ZXIucmVtb3ZlTGlzdGVuZXIobmFtZSwgZXZlbnRMaXN0ZW5lcik7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfTtcblxuICAgICAgZW1pdHRlci5vbmNlKCdlcnJvcicsIGVycm9yTGlzdGVuZXIpO1xuICAgIH1cblxuICAgIGVtaXR0ZXIub25jZShuYW1lLCBldmVudExpc3RlbmVyKTtcbiAgfSk7XG59XG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBNRDUgPSByZXF1aXJlKCdtZDUuanMnKVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UgKi9cbmZ1bmN0aW9uIEVWUF9CeXRlc1RvS2V5IChwYXNzd29yZCwgc2FsdCwga2V5Qml0cywgaXZMZW4pIHtcbiAgaWYgKCFCdWZmZXIuaXNCdWZmZXIocGFzc3dvcmQpKSBwYXNzd29yZCA9IEJ1ZmZlci5mcm9tKHBhc3N3b3JkLCAnYmluYXJ5JylcbiAgaWYgKHNhbHQpIHtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihzYWx0KSkgc2FsdCA9IEJ1ZmZlci5mcm9tKHNhbHQsICdiaW5hcnknKVxuICAgIGlmIChzYWx0Lmxlbmd0aCAhPT0gOCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ3NhbHQgc2hvdWxkIGJlIEJ1ZmZlciB3aXRoIDggYnl0ZSBsZW5ndGgnKVxuICB9XG5cbiAgdmFyIGtleUxlbiA9IGtleUJpdHMgLyA4XG4gIHZhciBrZXkgPSBCdWZmZXIuYWxsb2Moa2V5TGVuKVxuICB2YXIgaXYgPSBCdWZmZXIuYWxsb2MoaXZMZW4gfHwgMClcbiAgdmFyIHRtcCA9IEJ1ZmZlci5hbGxvYygwKVxuXG4gIHdoaWxlIChrZXlMZW4gPiAwIHx8IGl2TGVuID4gMCkge1xuICAgIHZhciBoYXNoID0gbmV3IE1ENSgpXG4gICAgaGFzaC51cGRhdGUodG1wKVxuICAgIGhhc2gudXBkYXRlKHBhc3N3b3JkKVxuICAgIGlmIChzYWx0KSBoYXNoLnVwZGF0ZShzYWx0KVxuICAgIHRtcCA9IGhhc2guZGlnZXN0KClcblxuICAgIHZhciB1c2VkID0gMFxuXG4gICAgaWYgKGtleUxlbiA+IDApIHtcbiAgICAgIHZhciBrZXlTdGFydCA9IGtleS5sZW5ndGggLSBrZXlMZW5cbiAgICAgIHVzZWQgPSBNYXRoLm1pbihrZXlMZW4sIHRtcC5sZW5ndGgpXG4gICAgICB0bXAuY29weShrZXksIGtleVN0YXJ0LCAwLCB1c2VkKVxuICAgICAga2V5TGVuIC09IHVzZWRcbiAgICB9XG5cbiAgICBpZiAodXNlZCA8IHRtcC5sZW5ndGggJiYgaXZMZW4gPiAwKSB7XG4gICAgICB2YXIgaXZTdGFydCA9IGl2Lmxlbmd0aCAtIGl2TGVuXG4gICAgICB2YXIgbGVuZ3RoID0gTWF0aC5taW4oaXZMZW4sIHRtcC5sZW5ndGggLSB1c2VkKVxuICAgICAgdG1wLmNvcHkoaXYsIGl2U3RhcnQsIHVzZWQsIHVzZWQgKyBsZW5ndGgpXG4gICAgICBpdkxlbiAtPSBsZW5ndGhcbiAgICB9XG4gIH1cblxuICB0bXAuZmlsbCgwKVxuICByZXR1cm4geyBrZXk6IGtleSwgaXY6IGl2IH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBFVlBfQnl0ZXNUb0tleVxuIiwiJ3VzZSBzdHJpY3QnXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBUcmFuc2Zvcm0gPSByZXF1aXJlKCdyZWFkYWJsZS1zdHJlYW0nKS5UcmFuc2Zvcm1cbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcblxuZnVuY3Rpb24gdGhyb3dJZk5vdFN0cmluZ09yQnVmZmVyICh2YWwsIHByZWZpeCkge1xuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcih2YWwpICYmIHR5cGVvZiB2YWwgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihwcmVmaXggKyAnIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXInKVxuICB9XG59XG5cbmZ1bmN0aW9uIEhhc2hCYXNlIChibG9ja1NpemUpIHtcbiAgVHJhbnNmb3JtLmNhbGwodGhpcylcblxuICB0aGlzLl9ibG9jayA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShibG9ja1NpemUpXG4gIHRoaXMuX2Jsb2NrU2l6ZSA9IGJsb2NrU2l6ZVxuICB0aGlzLl9ibG9ja09mZnNldCA9IDBcbiAgdGhpcy5fbGVuZ3RoID0gWzAsIDAsIDAsIDBdXG5cbiAgdGhpcy5fZmluYWxpemVkID0gZmFsc2Vcbn1cblxuaW5oZXJpdHMoSGFzaEJhc2UsIFRyYW5zZm9ybSlcblxuSGFzaEJhc2UucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICB2YXIgZXJyb3IgPSBudWxsXG4gIHRyeSB7XG4gICAgdGhpcy51cGRhdGUoY2h1bmssIGVuY29kaW5nKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvciA9IGVyclxuICB9XG5cbiAgY2FsbGJhY2soZXJyb3IpXG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS5fZmx1c2ggPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdmFyIGVycm9yID0gbnVsbFxuICB0cnkge1xuICAgIHRoaXMucHVzaCh0aGlzLmRpZ2VzdCgpKVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJvciA9IGVyclxuICB9XG5cbiAgY2FsbGJhY2soZXJyb3IpXG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoZGF0YSwgZW5jb2RpbmcpIHtcbiAgdGhyb3dJZk5vdFN0cmluZ09yQnVmZmVyKGRhdGEsICdEYXRhJylcbiAgaWYgKHRoaXMuX2ZpbmFsaXplZCkgdGhyb3cgbmV3IEVycm9yKCdEaWdlc3QgYWxyZWFkeSBjYWxsZWQnKVxuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihkYXRhKSkgZGF0YSA9IEJ1ZmZlci5mcm9tKGRhdGEsIGVuY29kaW5nKVxuXG4gIC8vIGNvbnN1bWUgZGF0YVxuICB2YXIgYmxvY2sgPSB0aGlzLl9ibG9ja1xuICB2YXIgb2Zmc2V0ID0gMFxuICB3aGlsZSAodGhpcy5fYmxvY2tPZmZzZXQgKyBkYXRhLmxlbmd0aCAtIG9mZnNldCA+PSB0aGlzLl9ibG9ja1NpemUpIHtcbiAgICBmb3IgKHZhciBpID0gdGhpcy5fYmxvY2tPZmZzZXQ7IGkgPCB0aGlzLl9ibG9ja1NpemU7KSBibG9ja1tpKytdID0gZGF0YVtvZmZzZXQrK11cbiAgICB0aGlzLl91cGRhdGUoKVxuICAgIHRoaXMuX2Jsb2NrT2Zmc2V0ID0gMFxuICB9XG4gIHdoaWxlIChvZmZzZXQgPCBkYXRhLmxlbmd0aCkgYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSBkYXRhW29mZnNldCsrXVxuXG4gIC8vIHVwZGF0ZSBsZW5ndGhcbiAgZm9yICh2YXIgaiA9IDAsIGNhcnJ5ID0gZGF0YS5sZW5ndGggKiA4OyBjYXJyeSA+IDA7ICsraikge1xuICAgIHRoaXMuX2xlbmd0aFtqXSArPSBjYXJyeVxuICAgIGNhcnJ5ID0gKHRoaXMuX2xlbmd0aFtqXSAvIDB4MDEwMDAwMDAwMCkgfCAwXG4gICAgaWYgKGNhcnJ5ID4gMCkgdGhpcy5fbGVuZ3RoW2pdIC09IDB4MDEwMDAwMDAwMCAqIGNhcnJ5XG4gIH1cblxuICByZXR1cm4gdGhpc1xufVxuXG5IYXNoQmFzZS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCcpXG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcbiAgaWYgKHRoaXMuX2ZpbmFsaXplZCkgdGhyb3cgbmV3IEVycm9yKCdEaWdlc3QgYWxyZWFkeSBjYWxsZWQnKVxuICB0aGlzLl9maW5hbGl6ZWQgPSB0cnVlXG5cbiAgdmFyIGRpZ2VzdCA9IHRoaXMuX2RpZ2VzdCgpXG4gIGlmIChlbmNvZGluZyAhPT0gdW5kZWZpbmVkKSBkaWdlc3QgPSBkaWdlc3QudG9TdHJpbmcoZW5jb2RpbmcpXG5cbiAgLy8gcmVzZXQgc3RhdGVcbiAgdGhpcy5fYmxvY2suZmlsbCgwKVxuICB0aGlzLl9ibG9ja09mZnNldCA9IDBcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyArK2kpIHRoaXMuX2xlbmd0aFtpXSA9IDBcblxuICByZXR1cm4gZGlnZXN0XG59XG5cbkhhc2hCYXNlLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoJ19kaWdlc3QgaXMgbm90IGltcGxlbWVudGVkJylcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBIYXNoQmFzZVxuIiwidmFyIGhhc2ggPSBleHBvcnRzO1xuXG5oYXNoLnV0aWxzID0gcmVxdWlyZSgnLi9oYXNoL3V0aWxzJyk7XG5oYXNoLmNvbW1vbiA9IHJlcXVpcmUoJy4vaGFzaC9jb21tb24nKTtcbmhhc2guc2hhID0gcmVxdWlyZSgnLi9oYXNoL3NoYScpO1xuaGFzaC5yaXBlbWQgPSByZXF1aXJlKCcuL2hhc2gvcmlwZW1kJyk7XG5oYXNoLmhtYWMgPSByZXF1aXJlKCcuL2hhc2gvaG1hYycpO1xuXG4vLyBQcm94eSBoYXNoIGZ1bmN0aW9ucyB0byB0aGUgbWFpbiBvYmplY3Rcbmhhc2guc2hhMSA9IGhhc2guc2hhLnNoYTE7XG5oYXNoLnNoYTI1NiA9IGhhc2guc2hhLnNoYTI1Njtcbmhhc2guc2hhMjI0ID0gaGFzaC5zaGEuc2hhMjI0O1xuaGFzaC5zaGEzODQgPSBoYXNoLnNoYS5zaGEzODQ7XG5oYXNoLnNoYTUxMiA9IGhhc2guc2hhLnNoYTUxMjtcbmhhc2gucmlwZW1kMTYwID0gaGFzaC5yaXBlbWQucmlwZW1kMTYwO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7XG52YXIgYXNzZXJ0ID0gcmVxdWlyZSgnbWluaW1hbGlzdGljLWFzc2VydCcpO1xuXG5mdW5jdGlvbiBCbG9ja0hhc2goKSB7XG4gIHRoaXMucGVuZGluZyA9IG51bGw7XG4gIHRoaXMucGVuZGluZ1RvdGFsID0gMDtcbiAgdGhpcy5ibG9ja1NpemUgPSB0aGlzLmNvbnN0cnVjdG9yLmJsb2NrU2l6ZTtcbiAgdGhpcy5vdXRTaXplID0gdGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplO1xuICB0aGlzLmhtYWNTdHJlbmd0aCA9IHRoaXMuY29uc3RydWN0b3IuaG1hY1N0cmVuZ3RoO1xuICB0aGlzLnBhZExlbmd0aCA9IHRoaXMuY29uc3RydWN0b3IucGFkTGVuZ3RoIC8gODtcbiAgdGhpcy5lbmRpYW4gPSAnYmlnJztcblxuICB0aGlzLl9kZWx0YTggPSB0aGlzLmJsb2NrU2l6ZSAvIDg7XG4gIHRoaXMuX2RlbHRhMzIgPSB0aGlzLmJsb2NrU2l6ZSAvIDMyO1xufVxuZXhwb3J0cy5CbG9ja0hhc2ggPSBCbG9ja0hhc2g7XG5cbkJsb2NrSGFzaC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKG1zZywgZW5jKSB7XG4gIC8vIENvbnZlcnQgbWVzc2FnZSB0byBhcnJheSwgcGFkIGl0LCBhbmQgam9pbiBpbnRvIDMyYml0IGJsb2Nrc1xuICBtc2cgPSB1dGlscy50b0FycmF5KG1zZywgZW5jKTtcbiAgaWYgKCF0aGlzLnBlbmRpbmcpXG4gICAgdGhpcy5wZW5kaW5nID0gbXNnO1xuICBlbHNlXG4gICAgdGhpcy5wZW5kaW5nID0gdGhpcy5wZW5kaW5nLmNvbmNhdChtc2cpO1xuICB0aGlzLnBlbmRpbmdUb3RhbCArPSBtc2cubGVuZ3RoO1xuXG4gIC8vIEVub3VnaCBkYXRhLCB0cnkgdXBkYXRpbmdcbiAgaWYgKHRoaXMucGVuZGluZy5sZW5ndGggPj0gdGhpcy5fZGVsdGE4KSB7XG4gICAgbXNnID0gdGhpcy5wZW5kaW5nO1xuXG4gICAgLy8gUHJvY2VzcyBwZW5kaW5nIGRhdGEgaW4gYmxvY2tzXG4gICAgdmFyIHIgPSBtc2cubGVuZ3RoICUgdGhpcy5fZGVsdGE4O1xuICAgIHRoaXMucGVuZGluZyA9IG1zZy5zbGljZShtc2cubGVuZ3RoIC0gciwgbXNnLmxlbmd0aCk7XG4gICAgaWYgKHRoaXMucGVuZGluZy5sZW5ndGggPT09IDApXG4gICAgICB0aGlzLnBlbmRpbmcgPSBudWxsO1xuXG4gICAgbXNnID0gdXRpbHMuam9pbjMyKG1zZywgMCwgbXNnLmxlbmd0aCAtIHIsIHRoaXMuZW5kaWFuKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkgKz0gdGhpcy5fZGVsdGEzMilcbiAgICAgIHRoaXMuX3VwZGF0ZShtc2csIGksIGkgKyB0aGlzLl9kZWx0YTMyKTtcbiAgfVxuXG4gIHJldHVybiB0aGlzO1xufTtcblxuQmxvY2tIYXNoLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIHRoaXMudXBkYXRlKHRoaXMuX3BhZCgpKTtcbiAgYXNzZXJ0KHRoaXMucGVuZGluZyA9PT0gbnVsbCk7XG5cbiAgcmV0dXJuIHRoaXMuX2RpZ2VzdChlbmMpO1xufTtcblxuQmxvY2tIYXNoLnByb3RvdHlwZS5fcGFkID0gZnVuY3Rpb24gcGFkKCkge1xuICB2YXIgbGVuID0gdGhpcy5wZW5kaW5nVG90YWw7XG4gIHZhciBieXRlcyA9IHRoaXMuX2RlbHRhODtcbiAgdmFyIGsgPSBieXRlcyAtICgobGVuICsgdGhpcy5wYWRMZW5ndGgpICUgYnl0ZXMpO1xuICB2YXIgcmVzID0gbmV3IEFycmF5KGsgKyB0aGlzLnBhZExlbmd0aCk7XG4gIHJlc1swXSA9IDB4ODA7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgazsgaSsrKVxuICAgIHJlc1tpXSA9IDA7XG5cbiAgLy8gQXBwZW5kIGxlbmd0aFxuICBsZW4gPDw9IDM7XG4gIGlmICh0aGlzLmVuZGlhbiA9PT0gJ2JpZycpIHtcbiAgICBmb3IgKHZhciB0ID0gODsgdCA8IHRoaXMucGFkTGVuZ3RoOyB0KyspXG4gICAgICByZXNbaSsrXSA9IDA7XG5cbiAgICByZXNbaSsrXSA9IDA7XG4gICAgcmVzW2krK10gPSAwO1xuICAgIHJlc1tpKytdID0gMDtcbiAgICByZXNbaSsrXSA9IDA7XG4gICAgcmVzW2krK10gPSAobGVuID4+PiAyNCkgJiAweGZmO1xuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gMTYpICYgMHhmZjtcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDgpICYgMHhmZjtcbiAgICByZXNbaSsrXSA9IGxlbiAmIDB4ZmY7XG4gIH0gZWxzZSB7XG4gICAgcmVzW2krK10gPSBsZW4gJiAweGZmO1xuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gOCkgJiAweGZmO1xuICAgIHJlc1tpKytdID0gKGxlbiA+Pj4gMTYpICYgMHhmZjtcbiAgICByZXNbaSsrXSA9IChsZW4gPj4+IDI0KSAmIDB4ZmY7XG4gICAgcmVzW2krK10gPSAwO1xuICAgIHJlc1tpKytdID0gMDtcbiAgICByZXNbaSsrXSA9IDA7XG4gICAgcmVzW2krK10gPSAwO1xuXG4gICAgZm9yICh0ID0gODsgdCA8IHRoaXMucGFkTGVuZ3RoOyB0KyspXG4gICAgICByZXNbaSsrXSA9IDA7XG4gIH1cblxuICByZXR1cm4gcmVzO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscycpO1xudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcblxuZnVuY3Rpb24gSG1hYyhoYXNoLCBrZXksIGVuYykge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgSG1hYykpXG4gICAgcmV0dXJuIG5ldyBIbWFjKGhhc2gsIGtleSwgZW5jKTtcbiAgdGhpcy5IYXNoID0gaGFzaDtcbiAgdGhpcy5ibG9ja1NpemUgPSBoYXNoLmJsb2NrU2l6ZSAvIDg7XG4gIHRoaXMub3V0U2l6ZSA9IGhhc2gub3V0U2l6ZSAvIDg7XG4gIHRoaXMuaW5uZXIgPSBudWxsO1xuICB0aGlzLm91dGVyID0gbnVsbDtcblxuICB0aGlzLl9pbml0KHV0aWxzLnRvQXJyYXkoa2V5LCBlbmMpKTtcbn1cbm1vZHVsZS5leHBvcnRzID0gSG1hYztcblxuSG1hYy5wcm90b3R5cGUuX2luaXQgPSBmdW5jdGlvbiBpbml0KGtleSkge1xuICAvLyBTaG9ydGVuIGtleSwgaWYgbmVlZGVkXG4gIGlmIChrZXkubGVuZ3RoID4gdGhpcy5ibG9ja1NpemUpXG4gICAga2V5ID0gbmV3IHRoaXMuSGFzaCgpLnVwZGF0ZShrZXkpLmRpZ2VzdCgpO1xuICBhc3NlcnQoa2V5Lmxlbmd0aCA8PSB0aGlzLmJsb2NrU2l6ZSk7XG5cbiAgLy8gQWRkIHBhZGRpbmcgdG8ga2V5XG4gIGZvciAodmFyIGkgPSBrZXkubGVuZ3RoOyBpIDwgdGhpcy5ibG9ja1NpemU7IGkrKylcbiAgICBrZXkucHVzaCgwKTtcblxuICBmb3IgKGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKVxuICAgIGtleVtpXSBePSAweDM2O1xuICB0aGlzLmlubmVyID0gbmV3IHRoaXMuSGFzaCgpLnVwZGF0ZShrZXkpO1xuXG4gIC8vIDB4MzYgXiAweDVjID0gMHg2YVxuICBmb3IgKGkgPSAwOyBpIDwga2V5Lmxlbmd0aDsgaSsrKVxuICAgIGtleVtpXSBePSAweDZhO1xuICB0aGlzLm91dGVyID0gbmV3IHRoaXMuSGFzaCgpLnVwZGF0ZShrZXkpO1xufTtcblxuSG1hYy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKG1zZywgZW5jKSB7XG4gIHRoaXMuaW5uZXIudXBkYXRlKG1zZywgZW5jKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5IbWFjLnByb3RvdHlwZS5kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIHRoaXMub3V0ZXIudXBkYXRlKHRoaXMuaW5uZXIuZGlnZXN0KCkpO1xuICByZXR1cm4gdGhpcy5vdXRlci5kaWdlc3QoZW5jKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcbnZhciBjb21tb24gPSByZXF1aXJlKCcuL2NvbW1vbicpO1xuXG52YXIgcm90bDMyID0gdXRpbHMucm90bDMyO1xudmFyIHN1bTMyID0gdXRpbHMuc3VtMzI7XG52YXIgc3VtMzJfMyA9IHV0aWxzLnN1bTMyXzM7XG52YXIgc3VtMzJfNCA9IHV0aWxzLnN1bTMyXzQ7XG52YXIgQmxvY2tIYXNoID0gY29tbW9uLkJsb2NrSGFzaDtcblxuZnVuY3Rpb24gUklQRU1EMTYwKCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUklQRU1EMTYwKSlcbiAgICByZXR1cm4gbmV3IFJJUEVNRDE2MCgpO1xuXG4gIEJsb2NrSGFzaC5jYWxsKHRoaXMpO1xuXG4gIHRoaXMuaCA9IFsgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSwgMHgxMDMyNTQ3NiwgMHhjM2QyZTFmMCBdO1xuICB0aGlzLmVuZGlhbiA9ICdsaXR0bGUnO1xufVxudXRpbHMuaW5oZXJpdHMoUklQRU1EMTYwLCBCbG9ja0hhc2gpO1xuZXhwb3J0cy5yaXBlbWQxNjAgPSBSSVBFTUQxNjA7XG5cblJJUEVNRDE2MC5ibG9ja1NpemUgPSA1MTI7XG5SSVBFTUQxNjAub3V0U2l6ZSA9IDE2MDtcblJJUEVNRDE2MC5obWFjU3RyZW5ndGggPSAxOTI7XG5SSVBFTUQxNjAucGFkTGVuZ3RoID0gNjQ7XG5cblJJUEVNRDE2MC5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZShtc2csIHN0YXJ0KSB7XG4gIHZhciBBID0gdGhpcy5oWzBdO1xuICB2YXIgQiA9IHRoaXMuaFsxXTtcbiAgdmFyIEMgPSB0aGlzLmhbMl07XG4gIHZhciBEID0gdGhpcy5oWzNdO1xuICB2YXIgRSA9IHRoaXMuaFs0XTtcbiAgdmFyIEFoID0gQTtcbiAgdmFyIEJoID0gQjtcbiAgdmFyIENoID0gQztcbiAgdmFyIERoID0gRDtcbiAgdmFyIEVoID0gRTtcbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgaisrKSB7XG4gICAgdmFyIFQgPSBzdW0zMihcbiAgICAgIHJvdGwzMihcbiAgICAgICAgc3VtMzJfNChBLCBmKGosIEIsIEMsIEQpLCBtc2dbcltqXSArIHN0YXJ0XSwgSyhqKSksXG4gICAgICAgIHNbal0pLFxuICAgICAgRSk7XG4gICAgQSA9IEU7XG4gICAgRSA9IEQ7XG4gICAgRCA9IHJvdGwzMihDLCAxMCk7XG4gICAgQyA9IEI7XG4gICAgQiA9IFQ7XG4gICAgVCA9IHN1bTMyKFxuICAgICAgcm90bDMyKFxuICAgICAgICBzdW0zMl80KEFoLCBmKDc5IC0gaiwgQmgsIENoLCBEaCksIG1zZ1tyaFtqXSArIHN0YXJ0XSwgS2goaikpLFxuICAgICAgICBzaFtqXSksXG4gICAgICBFaCk7XG4gICAgQWggPSBFaDtcbiAgICBFaCA9IERoO1xuICAgIERoID0gcm90bDMyKENoLCAxMCk7XG4gICAgQ2ggPSBCaDtcbiAgICBCaCA9IFQ7XG4gIH1cbiAgVCA9IHN1bTMyXzModGhpcy5oWzFdLCBDLCBEaCk7XG4gIHRoaXMuaFsxXSA9IHN1bTMyXzModGhpcy5oWzJdLCBELCBFaCk7XG4gIHRoaXMuaFsyXSA9IHN1bTMyXzModGhpcy5oWzNdLCBFLCBBaCk7XG4gIHRoaXMuaFszXSA9IHN1bTMyXzModGhpcy5oWzRdLCBBLCBCaCk7XG4gIHRoaXMuaFs0XSA9IHN1bTMyXzModGhpcy5oWzBdLCBCLCBDaCk7XG4gIHRoaXMuaFswXSA9IFQ7XG59O1xuXG5SSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIGlmIChlbmMgPT09ICdoZXgnKVxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaCwgJ2xpdHRsZScpO1xuICBlbHNlXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnbGl0dGxlJyk7XG59O1xuXG5mdW5jdGlvbiBmKGosIHgsIHksIHopIHtcbiAgaWYgKGogPD0gMTUpXG4gICAgcmV0dXJuIHggXiB5IF4gejtcbiAgZWxzZSBpZiAoaiA8PSAzMSlcbiAgICByZXR1cm4gKHggJiB5KSB8ICgofngpICYgeik7XG4gIGVsc2UgaWYgKGogPD0gNDcpXG4gICAgcmV0dXJuICh4IHwgKH55KSkgXiB6O1xuICBlbHNlIGlmIChqIDw9IDYzKVxuICAgIHJldHVybiAoeCAmIHopIHwgKHkgJiAofnopKTtcbiAgZWxzZVxuICAgIHJldHVybiB4IF4gKHkgfCAofnopKTtcbn1cblxuZnVuY3Rpb24gSyhqKSB7XG4gIGlmIChqIDw9IDE1KVxuICAgIHJldHVybiAweDAwMDAwMDAwO1xuICBlbHNlIGlmIChqIDw9IDMxKVxuICAgIHJldHVybiAweDVhODI3OTk5O1xuICBlbHNlIGlmIChqIDw9IDQ3KVxuICAgIHJldHVybiAweDZlZDllYmExO1xuICBlbHNlIGlmIChqIDw9IDYzKVxuICAgIHJldHVybiAweDhmMWJiY2RjO1xuICBlbHNlXG4gICAgcmV0dXJuIDB4YTk1M2ZkNGU7XG59XG5cbmZ1bmN0aW9uIEtoKGopIHtcbiAgaWYgKGogPD0gMTUpXG4gICAgcmV0dXJuIDB4NTBhMjhiZTY7XG4gIGVsc2UgaWYgKGogPD0gMzEpXG4gICAgcmV0dXJuIDB4NWM0ZGQxMjQ7XG4gIGVsc2UgaWYgKGogPD0gNDcpXG4gICAgcmV0dXJuIDB4NmQ3MDNlZjM7XG4gIGVsc2UgaWYgKGogPD0gNjMpXG4gICAgcmV0dXJuIDB4N2E2ZDc2ZTk7XG4gIGVsc2VcbiAgICByZXR1cm4gMHgwMDAwMDAwMDtcbn1cblxudmFyIHIgPSBbXG4gIDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsXG4gIDcsIDQsIDEzLCAxLCAxMCwgNiwgMTUsIDMsIDEyLCAwLCA5LCA1LCAyLCAxNCwgMTEsIDgsXG4gIDMsIDEwLCAxNCwgNCwgOSwgMTUsIDgsIDEsIDIsIDcsIDAsIDYsIDEzLCAxMSwgNSwgMTIsXG4gIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsXG4gIDQsIDAsIDUsIDksIDcsIDEyLCAyLCAxMCwgMTQsIDEsIDMsIDgsIDExLCA2LCAxNSwgMTNcbl07XG5cbnZhciByaCA9IFtcbiAgNSwgMTQsIDcsIDAsIDksIDIsIDExLCA0LCAxMywgNiwgMTUsIDgsIDEsIDEwLCAzLCAxMixcbiAgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMixcbiAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcbiAgOCwgNiwgNCwgMSwgMywgMTEsIDE1LCAwLCA1LCAxMiwgMiwgMTMsIDksIDcsIDEwLCAxNCxcbiAgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMVxuXTtcblxudmFyIHMgPSBbXG4gIDExLCAxNCwgMTUsIDEyLCA1LCA4LCA3LCA5LCAxMSwgMTMsIDE0LCAxNSwgNiwgNywgOSwgOCxcbiAgNywgNiwgOCwgMTMsIDExLCA5LCA3LCAxNSwgNywgMTIsIDE1LCA5LCAxMSwgNywgMTMsIDEyLFxuICAxMSwgMTMsIDYsIDcsIDE0LCA5LCAxMywgMTUsIDE0LCA4LCAxMywgNiwgNSwgMTIsIDcsIDUsXG4gIDExLCAxMiwgMTQsIDE1LCAxNCwgMTUsIDksIDgsIDksIDE0LCA1LCA2LCA4LCA2LCA1LCAxMixcbiAgOSwgMTUsIDUsIDExLCA2LCA4LCAxMywgMTIsIDUsIDEyLCAxMywgMTQsIDExLCA4LCA1LCA2XG5dO1xuXG52YXIgc2ggPSBbXG4gIDgsIDksIDksIDExLCAxMywgMTUsIDE1LCA1LCA3LCA3LCA4LCAxMSwgMTQsIDE0LCAxMiwgNixcbiAgOSwgMTMsIDE1LCA3LCAxMiwgOCwgOSwgMTEsIDcsIDcsIDEyLCA3LCA2LCAxNSwgMTMsIDExLFxuICA5LCA3LCAxNSwgMTEsIDgsIDYsIDYsIDE0LCAxMiwgMTMsIDUsIDE0LCAxMywgMTMsIDcsIDUsXG4gIDE1LCA1LCA4LCAxMSwgMTQsIDE0LCA2LCAxNCwgNiwgOSwgMTIsIDksIDEyLCA1LCAxNSwgOCxcbiAgOCwgNSwgMTIsIDksIDEyLCA1LCAxNCwgNiwgOCwgMTMsIDYsIDUsIDE1LCAxMywgMTEsIDExXG5dO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnRzLnNoYTEgPSByZXF1aXJlKCcuL3NoYS8xJyk7XG5leHBvcnRzLnNoYTIyNCA9IHJlcXVpcmUoJy4vc2hhLzIyNCcpO1xuZXhwb3J0cy5zaGEyNTYgPSByZXF1aXJlKCcuL3NoYS8yNTYnKTtcbmV4cG9ydHMuc2hhMzg0ID0gcmVxdWlyZSgnLi9zaGEvMzg0Jyk7XG5leHBvcnRzLnNoYTUxMiA9IHJlcXVpcmUoJy4vc2hhLzUxMicpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIGNvbW1vbiA9IHJlcXVpcmUoJy4uL2NvbW1vbicpO1xudmFyIHNoYUNvbW1vbiA9IHJlcXVpcmUoJy4vY29tbW9uJyk7XG5cbnZhciByb3RsMzIgPSB1dGlscy5yb3RsMzI7XG52YXIgc3VtMzIgPSB1dGlscy5zdW0zMjtcbnZhciBzdW0zMl81ID0gdXRpbHMuc3VtMzJfNTtcbnZhciBmdF8xID0gc2hhQ29tbW9uLmZ0XzE7XG52YXIgQmxvY2tIYXNoID0gY29tbW9uLkJsb2NrSGFzaDtcblxudmFyIHNoYTFfSyA9IFtcbiAgMHg1QTgyNzk5OSwgMHg2RUQ5RUJBMSxcbiAgMHg4RjFCQkNEQywgMHhDQTYyQzFENlxuXTtcblxuZnVuY3Rpb24gU0hBMSgpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTEpKVxuICAgIHJldHVybiBuZXcgU0hBMSgpO1xuXG4gIEJsb2NrSGFzaC5jYWxsKHRoaXMpO1xuICB0aGlzLmggPSBbXG4gICAgMHg2NzQ1MjMwMSwgMHhlZmNkYWI4OSwgMHg5OGJhZGNmZSxcbiAgICAweDEwMzI1NDc2LCAweGMzZDJlMWYwIF07XG4gIHRoaXMuVyA9IG5ldyBBcnJheSg4MCk7XG59XG5cbnV0aWxzLmluaGVyaXRzKFNIQTEsIEJsb2NrSGFzaCk7XG5tb2R1bGUuZXhwb3J0cyA9IFNIQTE7XG5cblNIQTEuYmxvY2tTaXplID0gNTEyO1xuU0hBMS5vdXRTaXplID0gMTYwO1xuU0hBMS5obWFjU3RyZW5ndGggPSA4MDtcblNIQTEucGFkTGVuZ3RoID0gNjQ7XG5cblNIQTEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKG1zZywgc3RhcnQpIHtcbiAgdmFyIFcgPSB0aGlzLlc7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKVxuICAgIFdbaV0gPSBtc2dbc3RhcnQgKyBpXTtcblxuICBmb3IoOyBpIDwgVy5sZW5ndGg7IGkrKylcbiAgICBXW2ldID0gcm90bDMyKFdbaSAtIDNdIF4gV1tpIC0gOF0gXiBXW2kgLSAxNF0gXiBXW2kgLSAxNl0sIDEpO1xuXG4gIHZhciBhID0gdGhpcy5oWzBdO1xuICB2YXIgYiA9IHRoaXMuaFsxXTtcbiAgdmFyIGMgPSB0aGlzLmhbMl07XG4gIHZhciBkID0gdGhpcy5oWzNdO1xuICB2YXIgZSA9IHRoaXMuaFs0XTtcblxuICBmb3IgKGkgPSAwOyBpIDwgVy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzID0gfn4oaSAvIDIwKTtcbiAgICB2YXIgdCA9IHN1bTMyXzUocm90bDMyKGEsIDUpLCBmdF8xKHMsIGIsIGMsIGQpLCBlLCBXW2ldLCBzaGExX0tbc10pO1xuICAgIGUgPSBkO1xuICAgIGQgPSBjO1xuICAgIGMgPSByb3RsMzIoYiwgMzApO1xuICAgIGIgPSBhO1xuICAgIGEgPSB0O1xuICB9XG5cbiAgdGhpcy5oWzBdID0gc3VtMzIodGhpcy5oWzBdLCBhKTtcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcbiAgdGhpcy5oWzJdID0gc3VtMzIodGhpcy5oWzJdLCBjKTtcbiAgdGhpcy5oWzNdID0gc3VtMzIodGhpcy5oWzNdLCBkKTtcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcbn07XG5cblNIQTEucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiBkaWdlc3QoZW5jKSB7XG4gIGlmIChlbmMgPT09ICdoZXgnKVxuICAgIHJldHVybiB1dGlscy50b0hleDMyKHRoaXMuaCwgJ2JpZycpO1xuICBlbHNlXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLCAnYmlnJyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIFNIQTI1NiA9IHJlcXVpcmUoJy4vMjU2Jyk7XG5cbmZ1bmN0aW9uIFNIQTIyNCgpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTIyNCkpXG4gICAgcmV0dXJuIG5ldyBTSEEyMjQoKTtcblxuICBTSEEyNTYuY2FsbCh0aGlzKTtcbiAgdGhpcy5oID0gW1xuICAgIDB4YzEwNTllZDgsIDB4MzY3Y2Q1MDcsIDB4MzA3MGRkMTcsIDB4ZjcwZTU5MzksXG4gICAgMHhmZmMwMGIzMSwgMHg2ODU4MTUxMSwgMHg2NGY5OGZhNywgMHhiZWZhNGZhNCBdO1xufVxudXRpbHMuaW5oZXJpdHMoU0hBMjI0LCBTSEEyNTYpO1xubW9kdWxlLmV4cG9ydHMgPSBTSEEyMjQ7XG5cblNIQTIyNC5ibG9ja1NpemUgPSA1MTI7XG5TSEEyMjQub3V0U2l6ZSA9IDIyNDtcblNIQTIyNC5obWFjU3RyZW5ndGggPSAxOTI7XG5TSEEyMjQucGFkTGVuZ3RoID0gNjQ7XG5cblNIQTIyNC5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcbiAgLy8gSnVzdCB0cnVuY2F0ZSBvdXRwdXRcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsIDcpLCAnYmlnJyk7XG4gIGVsc2VcbiAgICByZXR1cm4gdXRpbHMuc3BsaXQzMih0aGlzLmguc2xpY2UoMCwgNyksICdiaWcnKTtcbn07XG5cbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBjb21tb24gPSByZXF1aXJlKCcuLi9jb21tb24nKTtcbnZhciBzaGFDb21tb24gPSByZXF1aXJlKCcuL2NvbW1vbicpO1xudmFyIGFzc2VydCA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1hc3NlcnQnKTtcblxudmFyIHN1bTMyID0gdXRpbHMuc3VtMzI7XG52YXIgc3VtMzJfNCA9IHV0aWxzLnN1bTMyXzQ7XG52YXIgc3VtMzJfNSA9IHV0aWxzLnN1bTMyXzU7XG52YXIgY2gzMiA9IHNoYUNvbW1vbi5jaDMyO1xudmFyIG1hajMyID0gc2hhQ29tbW9uLm1hajMyO1xudmFyIHMwXzI1NiA9IHNoYUNvbW1vbi5zMF8yNTY7XG52YXIgczFfMjU2ID0gc2hhQ29tbW9uLnMxXzI1NjtcbnZhciBnMF8yNTYgPSBzaGFDb21tb24uZzBfMjU2O1xudmFyIGcxXzI1NiA9IHNoYUNvbW1vbi5nMV8yNTY7XG5cbnZhciBCbG9ja0hhc2ggPSBjb21tb24uQmxvY2tIYXNoO1xuXG52YXIgc2hhMjU2X0sgPSBbXG4gIDB4NDI4YTJmOTgsIDB4NzEzNzQ0OTEsIDB4YjVjMGZiY2YsIDB4ZTliNWRiYTUsXG4gIDB4Mzk1NmMyNWIsIDB4NTlmMTExZjEsIDB4OTIzZjgyYTQsIDB4YWIxYzVlZDUsXG4gIDB4ZDgwN2FhOTgsIDB4MTI4MzViMDEsIDB4MjQzMTg1YmUsIDB4NTUwYzdkYzMsXG4gIDB4NzJiZTVkNzQsIDB4ODBkZWIxZmUsIDB4OWJkYzA2YTcsIDB4YzE5YmYxNzQsXG4gIDB4ZTQ5YjY5YzEsIDB4ZWZiZTQ3ODYsIDB4MGZjMTlkYzYsIDB4MjQwY2ExY2MsXG4gIDB4MmRlOTJjNmYsIDB4NGE3NDg0YWEsIDB4NWNiMGE5ZGMsIDB4NzZmOTg4ZGEsXG4gIDB4OTgzZTUxNTIsIDB4YTgzMWM2NmQsIDB4YjAwMzI3YzgsIDB4YmY1OTdmYzcsXG4gIDB4YzZlMDBiZjMsIDB4ZDVhNzkxNDcsIDB4MDZjYTYzNTEsIDB4MTQyOTI5NjcsXG4gIDB4MjdiNzBhODUsIDB4MmUxYjIxMzgsIDB4NGQyYzZkZmMsIDB4NTMzODBkMTMsXG4gIDB4NjUwYTczNTQsIDB4NzY2YTBhYmIsIDB4ODFjMmM5MmUsIDB4OTI3MjJjODUsXG4gIDB4YTJiZmU4YTEsIDB4YTgxYTY2NGIsIDB4YzI0YjhiNzAsIDB4Yzc2YzUxYTMsXG4gIDB4ZDE5MmU4MTksIDB4ZDY5OTA2MjQsIDB4ZjQwZTM1ODUsIDB4MTA2YWEwNzAsXG4gIDB4MTlhNGMxMTYsIDB4MWUzNzZjMDgsIDB4Mjc0ODc3NGMsIDB4MzRiMGJjYjUsXG4gIDB4MzkxYzBjYjMsIDB4NGVkOGFhNGEsIDB4NWI5Y2NhNGYsIDB4NjgyZTZmZjMsXG4gIDB4NzQ4ZjgyZWUsIDB4NzhhNTYzNmYsIDB4ODRjODc4MTQsIDB4OGNjNzAyMDgsXG4gIDB4OTBiZWZmZmEsIDB4YTQ1MDZjZWIsIDB4YmVmOWEzZjcsIDB4YzY3MTc4ZjJcbl07XG5cbmZ1bmN0aW9uIFNIQTI1NigpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFNIQTI1NikpXG4gICAgcmV0dXJuIG5ldyBTSEEyNTYoKTtcblxuICBCbG9ja0hhc2guY2FsbCh0aGlzKTtcbiAgdGhpcy5oID0gW1xuICAgIDB4NmEwOWU2NjcsIDB4YmI2N2FlODUsIDB4M2M2ZWYzNzIsIDB4YTU0ZmY1M2EsXG4gICAgMHg1MTBlNTI3ZiwgMHg5YjA1Njg4YywgMHgxZjgzZDlhYiwgMHg1YmUwY2QxOVxuICBdO1xuICB0aGlzLmsgPSBzaGEyNTZfSztcbiAgdGhpcy5XID0gbmV3IEFycmF5KDY0KTtcbn1cbnV0aWxzLmluaGVyaXRzKFNIQTI1NiwgQmxvY2tIYXNoKTtcbm1vZHVsZS5leHBvcnRzID0gU0hBMjU2O1xuXG5TSEEyNTYuYmxvY2tTaXplID0gNTEyO1xuU0hBMjU2Lm91dFNpemUgPSAyNTY7XG5TSEEyNTYuaG1hY1N0cmVuZ3RoID0gMTkyO1xuU0hBMjU2LnBhZExlbmd0aCA9IDY0O1xuXG5TSEEyNTYucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiBfdXBkYXRlKG1zZywgc3RhcnQpIHtcbiAgdmFyIFcgPSB0aGlzLlc7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKVxuICAgIFdbaV0gPSBtc2dbc3RhcnQgKyBpXTtcbiAgZm9yICg7IGkgPCBXLmxlbmd0aDsgaSsrKVxuICAgIFdbaV0gPSBzdW0zMl80KGcxXzI1NihXW2kgLSAyXSksIFdbaSAtIDddLCBnMF8yNTYoV1tpIC0gMTVdKSwgV1tpIC0gMTZdKTtcblxuICB2YXIgYSA9IHRoaXMuaFswXTtcbiAgdmFyIGIgPSB0aGlzLmhbMV07XG4gIHZhciBjID0gdGhpcy5oWzJdO1xuICB2YXIgZCA9IHRoaXMuaFszXTtcbiAgdmFyIGUgPSB0aGlzLmhbNF07XG4gIHZhciBmID0gdGhpcy5oWzVdO1xuICB2YXIgZyA9IHRoaXMuaFs2XTtcbiAgdmFyIGggPSB0aGlzLmhbN107XG5cbiAgYXNzZXJ0KHRoaXMuay5sZW5ndGggPT09IFcubGVuZ3RoKTtcbiAgZm9yIChpID0gMDsgaSA8IFcubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgVDEgPSBzdW0zMl81KGgsIHMxXzI1NihlKSwgY2gzMihlLCBmLCBnKSwgdGhpcy5rW2ldLCBXW2ldKTtcbiAgICB2YXIgVDIgPSBzdW0zMihzMF8yNTYoYSksIG1hajMyKGEsIGIsIGMpKTtcbiAgICBoID0gZztcbiAgICBnID0gZjtcbiAgICBmID0gZTtcbiAgICBlID0gc3VtMzIoZCwgVDEpO1xuICAgIGQgPSBjO1xuICAgIGMgPSBiO1xuICAgIGIgPSBhO1xuICAgIGEgPSBzdW0zMihUMSwgVDIpO1xuICB9XG5cbiAgdGhpcy5oWzBdID0gc3VtMzIodGhpcy5oWzBdLCBhKTtcbiAgdGhpcy5oWzFdID0gc3VtMzIodGhpcy5oWzFdLCBiKTtcbiAgdGhpcy5oWzJdID0gc3VtMzIodGhpcy5oWzJdLCBjKTtcbiAgdGhpcy5oWzNdID0gc3VtMzIodGhpcy5oWzNdLCBkKTtcbiAgdGhpcy5oWzRdID0gc3VtMzIodGhpcy5oWzRdLCBlKTtcbiAgdGhpcy5oWzVdID0gc3VtMzIodGhpcy5oWzVdLCBmKTtcbiAgdGhpcy5oWzZdID0gc3VtMzIodGhpcy5oWzZdLCBnKTtcbiAgdGhpcy5oWzddID0gc3VtMzIodGhpcy5oWzddLCBoKTtcbn07XG5cblNIQTI1Ni5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLCAnYmlnJyk7XG4gIGVsc2VcbiAgICByZXR1cm4gdXRpbHMuc3BsaXQzMih0aGlzLmgsICdiaWcnKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5cbnZhciBTSEE1MTIgPSByZXF1aXJlKCcuLzUxMicpO1xuXG5mdW5jdGlvbiBTSEEzODQoKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBTSEEzODQpKVxuICAgIHJldHVybiBuZXcgU0hBMzg0KCk7XG5cbiAgU0hBNTEyLmNhbGwodGhpcyk7XG4gIHRoaXMuaCA9IFtcbiAgICAweGNiYmI5ZDVkLCAweGMxMDU5ZWQ4LFxuICAgIDB4NjI5YTI5MmEsIDB4MzY3Y2Q1MDcsXG4gICAgMHg5MTU5MDE1YSwgMHgzMDcwZGQxNyxcbiAgICAweDE1MmZlY2Q4LCAweGY3MGU1OTM5LFxuICAgIDB4NjczMzI2NjcsIDB4ZmZjMDBiMzEsXG4gICAgMHg4ZWI0NGE4NywgMHg2ODU4MTUxMSxcbiAgICAweGRiMGMyZTBkLCAweDY0Zjk4ZmE3LFxuICAgIDB4NDdiNTQ4MWQsIDB4YmVmYTRmYTQgXTtcbn1cbnV0aWxzLmluaGVyaXRzKFNIQTM4NCwgU0hBNTEyKTtcbm1vZHVsZS5leHBvcnRzID0gU0hBMzg0O1xuXG5TSEEzODQuYmxvY2tTaXplID0gMTAyNDtcblNIQTM4NC5vdXRTaXplID0gMzg0O1xuU0hBMzg0LmhtYWNTdHJlbmd0aCA9IDE5MjtcblNIQTM4NC5wYWRMZW5ndGggPSAxMjg7XG5cblNIQTM4NC5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uIGRpZ2VzdChlbmMpIHtcbiAgaWYgKGVuYyA9PT0gJ2hleCcpXG4gICAgcmV0dXJuIHV0aWxzLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsIDEyKSwgJ2JpZycpO1xuICBlbHNlXG4gICAgcmV0dXJuIHV0aWxzLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsIDEyKSwgJ2JpZycpO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcbnZhciBjb21tb24gPSByZXF1aXJlKCcuLi9jb21tb24nKTtcbnZhciBhc3NlcnQgPSByZXF1aXJlKCdtaW5pbWFsaXN0aWMtYXNzZXJ0Jyk7XG5cbnZhciByb3RyNjRfaGkgPSB1dGlscy5yb3RyNjRfaGk7XG52YXIgcm90cjY0X2xvID0gdXRpbHMucm90cjY0X2xvO1xudmFyIHNocjY0X2hpID0gdXRpbHMuc2hyNjRfaGk7XG52YXIgc2hyNjRfbG8gPSB1dGlscy5zaHI2NF9sbztcbnZhciBzdW02NCA9IHV0aWxzLnN1bTY0O1xudmFyIHN1bTY0X2hpID0gdXRpbHMuc3VtNjRfaGk7XG52YXIgc3VtNjRfbG8gPSB1dGlscy5zdW02NF9sbztcbnZhciBzdW02NF80X2hpID0gdXRpbHMuc3VtNjRfNF9oaTtcbnZhciBzdW02NF80X2xvID0gdXRpbHMuc3VtNjRfNF9sbztcbnZhciBzdW02NF81X2hpID0gdXRpbHMuc3VtNjRfNV9oaTtcbnZhciBzdW02NF81X2xvID0gdXRpbHMuc3VtNjRfNV9sbztcblxudmFyIEJsb2NrSGFzaCA9IGNvbW1vbi5CbG9ja0hhc2g7XG5cbnZhciBzaGE1MTJfSyA9IFtcbiAgMHg0MjhhMmY5OCwgMHhkNzI4YWUyMiwgMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCxcbiAgMHhiNWMwZmJjZiwgMHhlYzRkM2IyZiwgMHhlOWI1ZGJhNSwgMHg4MTg5ZGJiYyxcbiAgMHgzOTU2YzI1YiwgMHhmMzQ4YjUzOCwgMHg1OWYxMTFmMSwgMHhiNjA1ZDAxOSxcbiAgMHg5MjNmODJhNCwgMHhhZjE5NGY5YiwgMHhhYjFjNWVkNSwgMHhkYTZkODExOCxcbiAgMHhkODA3YWE5OCwgMHhhMzAzMDI0MiwgMHgxMjgzNWIwMSwgMHg0NTcwNmZiZSxcbiAgMHgyNDMxODViZSwgMHg0ZWU0YjI4YywgMHg1NTBjN2RjMywgMHhkNWZmYjRlMixcbiAgMHg3MmJlNWQ3NCwgMHhmMjdiODk2ZiwgMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSxcbiAgMHg5YmRjMDZhNywgMHgyNWM3MTIzNSwgMHhjMTliZjE3NCwgMHhjZjY5MjY5NCxcbiAgMHhlNDliNjljMSwgMHg5ZWYxNGFkMiwgMHhlZmJlNDc4NiwgMHgzODRmMjVlMyxcbiAgMHgwZmMxOWRjNiwgMHg4YjhjZDViNSwgMHgyNDBjYTFjYywgMHg3N2FjOWM2NSxcbiAgMHgyZGU5MmM2ZiwgMHg1OTJiMDI3NSwgMHg0YTc0ODRhYSwgMHg2ZWE2ZTQ4MyxcbiAgMHg1Y2IwYTlkYywgMHhiZDQxZmJkNCwgMHg3NmY5ODhkYSwgMHg4MzExNTNiNSxcbiAgMHg5ODNlNTE1MiwgMHhlZTY2ZGZhYiwgMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCxcbiAgMHhiMDAzMjdjOCwgMHg5OGZiMjEzZiwgMHhiZjU5N2ZjNywgMHhiZWVmMGVlNCxcbiAgMHhjNmUwMGJmMywgMHgzZGE4OGZjMiwgMHhkNWE3OTE0NywgMHg5MzBhYTcyNSxcbiAgMHgwNmNhNjM1MSwgMHhlMDAzODI2ZiwgMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCxcbiAgMHgyN2I3MGE4NSwgMHg0NmQyMmZmYywgMHgyZTFiMjEzOCwgMHg1YzI2YzkyNixcbiAgMHg0ZDJjNmRmYywgMHg1YWM0MmFlZCwgMHg1MzM4MGQxMywgMHg5ZDk1YjNkZixcbiAgMHg2NTBhNzM1NCwgMHg4YmFmNjNkZSwgMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCxcbiAgMHg4MWMyYzkyZSwgMHg0N2VkYWVlNiwgMHg5MjcyMmM4NSwgMHgxNDgyMzUzYixcbiAgMHhhMmJmZThhMSwgMHg0Y2YxMDM2NCwgMHhhODFhNjY0YiwgMHhiYzQyMzAwMSxcbiAgMHhjMjRiOGI3MCwgMHhkMGY4OTc5MSwgMHhjNzZjNTFhMywgMHgwNjU0YmUzMCxcbiAgMHhkMTkyZTgxOSwgMHhkNmVmNTIxOCwgMHhkNjk5MDYyNCwgMHg1NTY1YTkxMCxcbiAgMHhmNDBlMzU4NSwgMHg1NzcxMjAyYSwgMHgxMDZhYTA3MCwgMHgzMmJiZDFiOCxcbiAgMHgxOWE0YzExNiwgMHhiOGQyZDBjOCwgMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyxcbiAgMHgyNzQ4Nzc0YywgMHhkZjhlZWI5OSwgMHgzNGIwYmNiNSwgMHhlMTliNDhhOCxcbiAgMHgzOTFjMGNiMywgMHhjNWM5NWE2MywgMHg0ZWQ4YWE0YSwgMHhlMzQxOGFjYixcbiAgMHg1YjljY2E0ZiwgMHg3NzYzZTM3MywgMHg2ODJlNmZmMywgMHhkNmIyYjhhMyxcbiAgMHg3NDhmODJlZSwgMHg1ZGVmYjJmYywgMHg3OGE1NjM2ZiwgMHg0MzE3MmY2MCxcbiAgMHg4NGM4NzgxNCwgMHhhMWYwYWI3MiwgMHg4Y2M3MDIwOCwgMHgxYTY0MzllYyxcbiAgMHg5MGJlZmZmYSwgMHgyMzYzMWUyOCwgMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSxcbiAgMHhiZWY5YTNmNywgMHhiMmM2NzkxNSwgMHhjNjcxNzhmMiwgMHhlMzcyNTMyYixcbiAgMHhjYTI3M2VjZSwgMHhlYTI2NjE5YywgMHhkMTg2YjhjNywgMHgyMWMwYzIwNyxcbiAgMHhlYWRhN2RkNiwgMHhjZGUwZWIxZSwgMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCxcbiAgMHgwNmYwNjdhYSwgMHg3MjE3NmZiYSwgMHgwYTYzN2RjNSwgMHhhMmM4OThhNixcbiAgMHgxMTNmOTgwNCwgMHhiZWY5MGRhZSwgMHgxYjcxMGIzNSwgMHgxMzFjNDcxYixcbiAgMHgyOGRiNzdmNSwgMHgyMzA0N2Q4NCwgMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyxcbiAgMHgzYzllYmUwYSwgMHgxNWM5YmViYywgMHg0MzFkNjdjNCwgMHg5YzEwMGQ0YyxcbiAgMHg0Y2M1ZDRiZSwgMHhjYjNlNDJiNiwgMHg1OTdmMjk5YywgMHhmYzY1N2UyYSxcbiAgMHg1ZmNiNmZhYiwgMHgzYWQ2ZmFlYywgMHg2YzQ0MTk4YywgMHg0YTQ3NTgxN1xuXTtcblxuZnVuY3Rpb24gU0hBNTEyKCkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgU0hBNTEyKSlcbiAgICByZXR1cm4gbmV3IFNIQTUxMigpO1xuXG4gIEJsb2NrSGFzaC5jYWxsKHRoaXMpO1xuICB0aGlzLmggPSBbXG4gICAgMHg2YTA5ZTY2NywgMHhmM2JjYzkwOCxcbiAgICAweGJiNjdhZTg1LCAweDg0Y2FhNzNiLFxuICAgIDB4M2M2ZWYzNzIsIDB4ZmU5NGY4MmIsXG4gICAgMHhhNTRmZjUzYSwgMHg1ZjFkMzZmMSxcbiAgICAweDUxMGU1MjdmLCAweGFkZTY4MmQxLFxuICAgIDB4OWIwNTY4OGMsIDB4MmIzZTZjMWYsXG4gICAgMHgxZjgzZDlhYiwgMHhmYjQxYmQ2YixcbiAgICAweDViZTBjZDE5LCAweDEzN2UyMTc5IF07XG4gIHRoaXMuayA9IHNoYTUxMl9LO1xuICB0aGlzLlcgPSBuZXcgQXJyYXkoMTYwKTtcbn1cbnV0aWxzLmluaGVyaXRzKFNIQTUxMiwgQmxvY2tIYXNoKTtcbm1vZHVsZS5leHBvcnRzID0gU0hBNTEyO1xuXG5TSEE1MTIuYmxvY2tTaXplID0gMTAyNDtcblNIQTUxMi5vdXRTaXplID0gNTEyO1xuU0hBNTEyLmhtYWNTdHJlbmd0aCA9IDE5MjtcblNIQTUxMi5wYWRMZW5ndGggPSAxMjg7XG5cblNIQTUxMi5wcm90b3R5cGUuX3ByZXBhcmVCbG9jayA9IGZ1bmN0aW9uIF9wcmVwYXJlQmxvY2sobXNnLCBzdGFydCkge1xuICB2YXIgVyA9IHRoaXMuVztcblxuICAvLyAzMiB4IDMyYml0IHdvcmRzXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMzI7IGkrKylcbiAgICBXW2ldID0gbXNnW3N0YXJ0ICsgaV07XG4gIGZvciAoOyBpIDwgVy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHZhciBjMF9oaSA9IGcxXzUxMl9oaShXW2kgLSA0XSwgV1tpIC0gM10pOyAgLy8gaSAtIDJcbiAgICB2YXIgYzBfbG8gPSBnMV81MTJfbG8oV1tpIC0gNF0sIFdbaSAtIDNdKTtcbiAgICB2YXIgYzFfaGkgPSBXW2kgLSAxNF07ICAvLyBpIC0gN1xuICAgIHZhciBjMV9sbyA9IFdbaSAtIDEzXTtcbiAgICB2YXIgYzJfaGkgPSBnMF81MTJfaGkoV1tpIC0gMzBdLCBXW2kgLSAyOV0pOyAgLy8gaSAtIDE1XG4gICAgdmFyIGMyX2xvID0gZzBfNTEyX2xvKFdbaSAtIDMwXSwgV1tpIC0gMjldKTtcbiAgICB2YXIgYzNfaGkgPSBXW2kgLSAzMl07ICAvLyBpIC0gMTZcbiAgICB2YXIgYzNfbG8gPSBXW2kgLSAzMV07XG5cbiAgICBXW2ldID0gc3VtNjRfNF9oaShcbiAgICAgIGMwX2hpLCBjMF9sbyxcbiAgICAgIGMxX2hpLCBjMV9sbyxcbiAgICAgIGMyX2hpLCBjMl9sbyxcbiAgICAgIGMzX2hpLCBjM19sbyk7XG4gICAgV1tpICsgMV0gPSBzdW02NF80X2xvKFxuICAgICAgYzBfaGksIGMwX2xvLFxuICAgICAgYzFfaGksIGMxX2xvLFxuICAgICAgYzJfaGksIGMyX2xvLFxuICAgICAgYzNfaGksIGMzX2xvKTtcbiAgfVxufTtcblxuU0hBNTEyLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gX3VwZGF0ZShtc2csIHN0YXJ0KSB7XG4gIHRoaXMuX3ByZXBhcmVCbG9jayhtc2csIHN0YXJ0KTtcblxuICB2YXIgVyA9IHRoaXMuVztcblxuICB2YXIgYWggPSB0aGlzLmhbMF07XG4gIHZhciBhbCA9IHRoaXMuaFsxXTtcbiAgdmFyIGJoID0gdGhpcy5oWzJdO1xuICB2YXIgYmwgPSB0aGlzLmhbM107XG4gIHZhciBjaCA9IHRoaXMuaFs0XTtcbiAgdmFyIGNsID0gdGhpcy5oWzVdO1xuICB2YXIgZGggPSB0aGlzLmhbNl07XG4gIHZhciBkbCA9IHRoaXMuaFs3XTtcbiAgdmFyIGVoID0gdGhpcy5oWzhdO1xuICB2YXIgZWwgPSB0aGlzLmhbOV07XG4gIHZhciBmaCA9IHRoaXMuaFsxMF07XG4gIHZhciBmbCA9IHRoaXMuaFsxMV07XG4gIHZhciBnaCA9IHRoaXMuaFsxMl07XG4gIHZhciBnbCA9IHRoaXMuaFsxM107XG4gIHZhciBoaCA9IHRoaXMuaFsxNF07XG4gIHZhciBobCA9IHRoaXMuaFsxNV07XG5cbiAgYXNzZXJ0KHRoaXMuay5sZW5ndGggPT09IFcubGVuZ3RoKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBXLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgdmFyIGMwX2hpID0gaGg7XG4gICAgdmFyIGMwX2xvID0gaGw7XG4gICAgdmFyIGMxX2hpID0gczFfNTEyX2hpKGVoLCBlbCk7XG4gICAgdmFyIGMxX2xvID0gczFfNTEyX2xvKGVoLCBlbCk7XG4gICAgdmFyIGMyX2hpID0gY2g2NF9oaShlaCwgZWwsIGZoLCBmbCwgZ2gsIGdsKTtcbiAgICB2YXIgYzJfbG8gPSBjaDY0X2xvKGVoLCBlbCwgZmgsIGZsLCBnaCwgZ2wpO1xuICAgIHZhciBjM19oaSA9IHRoaXMua1tpXTtcbiAgICB2YXIgYzNfbG8gPSB0aGlzLmtbaSArIDFdO1xuICAgIHZhciBjNF9oaSA9IFdbaV07XG4gICAgdmFyIGM0X2xvID0gV1tpICsgMV07XG5cbiAgICB2YXIgVDFfaGkgPSBzdW02NF81X2hpKFxuICAgICAgYzBfaGksIGMwX2xvLFxuICAgICAgYzFfaGksIGMxX2xvLFxuICAgICAgYzJfaGksIGMyX2xvLFxuICAgICAgYzNfaGksIGMzX2xvLFxuICAgICAgYzRfaGksIGM0X2xvKTtcbiAgICB2YXIgVDFfbG8gPSBzdW02NF81X2xvKFxuICAgICAgYzBfaGksIGMwX2xvLFxuICAgICAgYzFfaGksIGMxX2xvLFxuICAgICAgYzJfaGksIGMyX2xvLFxuICAgICAgYzNfaGksIGMzX2xvLFxuICAgICAgYzRfaGksIGM0X2xvKTtcblxuICAgIGMwX2hpID0gczBfNTEyX2hpKGFoLCBhbCk7XG4gICAgYzBfbG8gPSBzMF81MTJfbG8oYWgsIGFsKTtcbiAgICBjMV9oaSA9IG1hajY0X2hpKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wpO1xuICAgIGMxX2xvID0gbWFqNjRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCk7XG5cbiAgICB2YXIgVDJfaGkgPSBzdW02NF9oaShjMF9oaSwgYzBfbG8sIGMxX2hpLCBjMV9sbyk7XG4gICAgdmFyIFQyX2xvID0gc3VtNjRfbG8oYzBfaGksIGMwX2xvLCBjMV9oaSwgYzFfbG8pO1xuXG4gICAgaGggPSBnaDtcbiAgICBobCA9IGdsO1xuXG4gICAgZ2ggPSBmaDtcbiAgICBnbCA9IGZsO1xuXG4gICAgZmggPSBlaDtcbiAgICBmbCA9IGVsO1xuXG4gICAgZWggPSBzdW02NF9oaShkaCwgZGwsIFQxX2hpLCBUMV9sbyk7XG4gICAgZWwgPSBzdW02NF9sbyhkbCwgZGwsIFQxX2hpLCBUMV9sbyk7XG5cbiAgICBkaCA9IGNoO1xuICAgIGRsID0gY2w7XG5cbiAgICBjaCA9IGJoO1xuICAgIGNsID0gYmw7XG5cbiAgICBiaCA9IGFoO1xuICAgIGJsID0gYWw7XG5cbiAgICBhaCA9IHN1bTY0X2hpKFQxX2hpLCBUMV9sbywgVDJfaGksIFQyX2xvKTtcbiAgICBhbCA9IHN1bTY0X2xvKFQxX2hpLCBUMV9sbywgVDJfaGksIFQyX2xvKTtcbiAgfVxuXG4gIHN1bTY0KHRoaXMuaCwgMCwgYWgsIGFsKTtcbiAgc3VtNjQodGhpcy5oLCAyLCBiaCwgYmwpO1xuICBzdW02NCh0aGlzLmgsIDQsIGNoLCBjbCk7XG4gIHN1bTY0KHRoaXMuaCwgNiwgZGgsIGRsKTtcbiAgc3VtNjQodGhpcy5oLCA4LCBlaCwgZWwpO1xuICBzdW02NCh0aGlzLmgsIDEwLCBmaCwgZmwpO1xuICBzdW02NCh0aGlzLmgsIDEyLCBnaCwgZ2wpO1xuICBzdW02NCh0aGlzLmgsIDE0LCBoaCwgaGwpO1xufTtcblxuU0hBNTEyLnByb3RvdHlwZS5fZGlnZXN0ID0gZnVuY3Rpb24gZGlnZXN0KGVuYykge1xuICBpZiAoZW5jID09PSAnaGV4JylcbiAgICByZXR1cm4gdXRpbHMudG9IZXgzMih0aGlzLmgsICdiaWcnKTtcbiAgZWxzZVxuICAgIHJldHVybiB1dGlscy5zcGxpdDMyKHRoaXMuaCwgJ2JpZycpO1xufTtcblxuZnVuY3Rpb24gY2g2NF9oaSh4aCwgeGwsIHloLCB5bCwgemgpIHtcbiAgdmFyIHIgPSAoeGggJiB5aCkgXiAoKH54aCkgJiB6aCk7XG4gIGlmIChyIDwgMClcbiAgICByICs9IDB4MTAwMDAwMDAwO1xuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gY2g2NF9sbyh4aCwgeGwsIHloLCB5bCwgemgsIHpsKSB7XG4gIHZhciByID0gKHhsICYgeWwpIF4gKCh+eGwpICYgemwpO1xuICBpZiAociA8IDApXG4gICAgciArPSAweDEwMDAwMDAwMDtcbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIG1hajY0X2hpKHhoLCB4bCwgeWgsIHlsLCB6aCkge1xuICB2YXIgciA9ICh4aCAmIHloKSBeICh4aCAmIHpoKSBeICh5aCAmIHpoKTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBtYWo2NF9sbyh4aCwgeGwsIHloLCB5bCwgemgsIHpsKSB7XG4gIHZhciByID0gKHhsICYgeWwpIF4gKHhsICYgemwpIF4gKHlsICYgemwpO1xuICBpZiAociA8IDApXG4gICAgciArPSAweDEwMDAwMDAwMDtcbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIHMwXzUxMl9oaSh4aCwgeGwpIHtcbiAgdmFyIGMwX2hpID0gcm90cjY0X2hpKHhoLCB4bCwgMjgpO1xuICB2YXIgYzFfaGkgPSByb3RyNjRfaGkoeGwsIHhoLCAyKTsgIC8vIDM0XG4gIHZhciBjMl9oaSA9IHJvdHI2NF9oaSh4bCwgeGgsIDcpOyAgLy8gMzlcblxuICB2YXIgciA9IGMwX2hpIF4gYzFfaGkgXiBjMl9oaTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBzMF81MTJfbG8oeGgsIHhsKSB7XG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDI4KTtcbiAgdmFyIGMxX2xvID0gcm90cjY0X2xvKHhsLCB4aCwgMik7ICAvLyAzNFxuICB2YXIgYzJfbG8gPSByb3RyNjRfbG8oeGwsIHhoLCA3KTsgIC8vIDM5XG5cbiAgdmFyIHIgPSBjMF9sbyBeIGMxX2xvIF4gYzJfbG87XG4gIGlmIChyIDwgMClcbiAgICByICs9IDB4MTAwMDAwMDAwO1xuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gczFfNTEyX2hpKHhoLCB4bCkge1xuICB2YXIgYzBfaGkgPSByb3RyNjRfaGkoeGgsIHhsLCAxNCk7XG4gIHZhciBjMV9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE4KTtcbiAgdmFyIGMyX2hpID0gcm90cjY0X2hpKHhsLCB4aCwgOSk7ICAvLyA0MVxuXG4gIHZhciByID0gYzBfaGkgXiBjMV9oaSBeIGMyX2hpO1xuICBpZiAociA8IDApXG4gICAgciArPSAweDEwMDAwMDAwMDtcbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIHMxXzUxMl9sbyh4aCwgeGwpIHtcbiAgdmFyIGMwX2xvID0gcm90cjY0X2xvKHhoLCB4bCwgMTQpO1xuICB2YXIgYzFfbG8gPSByb3RyNjRfbG8oeGgsIHhsLCAxOCk7XG4gIHZhciBjMl9sbyA9IHJvdHI2NF9sbyh4bCwgeGgsIDkpOyAgLy8gNDFcblxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMF81MTJfaGkoeGgsIHhsKSB7XG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDEpO1xuICB2YXIgYzFfaGkgPSByb3RyNjRfaGkoeGgsIHhsLCA4KTtcbiAgdmFyIGMyX2hpID0gc2hyNjRfaGkoeGgsIHhsLCA3KTtcblxuICB2YXIgciA9IGMwX2hpIF4gYzFfaGkgXiBjMl9oaTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMF81MTJfbG8oeGgsIHhsKSB7XG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDEpO1xuICB2YXIgYzFfbG8gPSByb3RyNjRfbG8oeGgsIHhsLCA4KTtcbiAgdmFyIGMyX2xvID0gc2hyNjRfbG8oeGgsIHhsLCA3KTtcblxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMV81MTJfaGkoeGgsIHhsKSB7XG4gIHZhciBjMF9oaSA9IHJvdHI2NF9oaSh4aCwgeGwsIDE5KTtcbiAgdmFyIGMxX2hpID0gcm90cjY0X2hpKHhsLCB4aCwgMjkpOyAgLy8gNjFcbiAgdmFyIGMyX2hpID0gc2hyNjRfaGkoeGgsIHhsLCA2KTtcblxuICB2YXIgciA9IGMwX2hpIF4gYzFfaGkgXiBjMl9oaTtcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuXG5mdW5jdGlvbiBnMV81MTJfbG8oeGgsIHhsKSB7XG4gIHZhciBjMF9sbyA9IHJvdHI2NF9sbyh4aCwgeGwsIDE5KTtcbiAgdmFyIGMxX2xvID0gcm90cjY0X2xvKHhsLCB4aCwgMjkpOyAgLy8gNjFcbiAgdmFyIGMyX2xvID0gc2hyNjRfbG8oeGgsIHhsLCA2KTtcblxuICB2YXIgciA9IGMwX2xvIF4gYzFfbG8gXiBjMl9sbztcbiAgaWYgKHIgPCAwKVxuICAgIHIgKz0gMHgxMDAwMDAwMDA7XG4gIHJldHVybiByO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLi91dGlscycpO1xudmFyIHJvdHIzMiA9IHV0aWxzLnJvdHIzMjtcblxuZnVuY3Rpb24gZnRfMShzLCB4LCB5LCB6KSB7XG4gIGlmIChzID09PSAwKVxuICAgIHJldHVybiBjaDMyKHgsIHksIHopO1xuICBpZiAocyA9PT0gMSB8fCBzID09PSAzKVxuICAgIHJldHVybiBwMzIoeCwgeSwgeik7XG4gIGlmIChzID09PSAyKVxuICAgIHJldHVybiBtYWozMih4LCB5LCB6KTtcbn1cbmV4cG9ydHMuZnRfMSA9IGZ0XzE7XG5cbmZ1bmN0aW9uIGNoMzIoeCwgeSwgeikge1xuICByZXR1cm4gKHggJiB5KSBeICgofngpICYgeik7XG59XG5leHBvcnRzLmNoMzIgPSBjaDMyO1xuXG5mdW5jdGlvbiBtYWozMih4LCB5LCB6KSB7XG4gIHJldHVybiAoeCAmIHkpIF4gKHggJiB6KSBeICh5ICYgeik7XG59XG5leHBvcnRzLm1hajMyID0gbWFqMzI7XG5cbmZ1bmN0aW9uIHAzMih4LCB5LCB6KSB7XG4gIHJldHVybiB4IF4geSBeIHo7XG59XG5leHBvcnRzLnAzMiA9IHAzMjtcblxuZnVuY3Rpb24gczBfMjU2KHgpIHtcbiAgcmV0dXJuIHJvdHIzMih4LCAyKSBeIHJvdHIzMih4LCAxMykgXiByb3RyMzIoeCwgMjIpO1xufVxuZXhwb3J0cy5zMF8yNTYgPSBzMF8yNTY7XG5cbmZ1bmN0aW9uIHMxXzI1Nih4KSB7XG4gIHJldHVybiByb3RyMzIoeCwgNikgXiByb3RyMzIoeCwgMTEpIF4gcm90cjMyKHgsIDI1KTtcbn1cbmV4cG9ydHMuczFfMjU2ID0gczFfMjU2O1xuXG5mdW5jdGlvbiBnMF8yNTYoeCkge1xuICByZXR1cm4gcm90cjMyKHgsIDcpIF4gcm90cjMyKHgsIDE4KSBeICh4ID4+PiAzKTtcbn1cbmV4cG9ydHMuZzBfMjU2ID0gZzBfMjU2O1xuXG5mdW5jdGlvbiBnMV8yNTYoeCkge1xuICByZXR1cm4gcm90cjMyKHgsIDE3KSBeIHJvdHIzMih4LCAxOSkgXiAoeCA+Pj4gMTApO1xufVxuZXhwb3J0cy5nMV8yNTYgPSBnMV8yNTY7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBhc3NlcnQgPSByZXF1aXJlKCdtaW5pbWFsaXN0aWMtYXNzZXJ0Jyk7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuXG5leHBvcnRzLmluaGVyaXRzID0gaW5oZXJpdHM7XG5cbmZ1bmN0aW9uIGlzU3Vycm9nYXRlUGFpcihtc2csIGkpIHtcbiAgaWYgKChtc2cuY2hhckNvZGVBdChpKSAmIDB4RkMwMCkgIT09IDB4RDgwMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoaSA8IDAgfHwgaSArIDEgPj0gbXNnLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gKG1zZy5jaGFyQ29kZUF0KGkgKyAxKSAmIDB4RkMwMCkgPT09IDB4REMwMDtcbn1cblxuZnVuY3Rpb24gdG9BcnJheShtc2csIGVuYykge1xuICBpZiAoQXJyYXkuaXNBcnJheShtc2cpKVxuICAgIHJldHVybiBtc2cuc2xpY2UoKTtcbiAgaWYgKCFtc2cpXG4gICAgcmV0dXJuIFtdO1xuICB2YXIgcmVzID0gW107XG4gIGlmICh0eXBlb2YgbXNnID09PSAnc3RyaW5nJykge1xuICAgIGlmICghZW5jKSB7XG4gICAgICAvLyBJbnNwaXJlZCBieSBzdHJpbmdUb1V0ZjhCeXRlQXJyYXkoKSBpbiBjbG9zdXJlLWxpYnJhcnkgYnkgR29vZ2xlXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtbGlicmFyeS9ibG9iLzg1OThkODcyNDJhZjU5YWFjMjMzMjcwNzQyYzg5ODRlMmIyYmRiZTAvY2xvc3VyZS9nb29nL2NyeXB0L2NyeXB0LmpzI0wxMTctTDE0M1xuICAgICAgLy8gQXBhY2hlIExpY2Vuc2UgMi4wXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2Nsb3N1cmUtbGlicmFyeS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gICAgICB2YXIgcCA9IDA7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgYyA9IG1zZy5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBpZiAoYyA8IDEyOCkge1xuICAgICAgICAgIHJlc1twKytdID0gYztcbiAgICAgICAgfSBlbHNlIGlmIChjIDwgMjA0OCkge1xuICAgICAgICAgIHJlc1twKytdID0gKGMgPj4gNikgfCAxOTI7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcbiAgICAgICAgfSBlbHNlIGlmIChpc1N1cnJvZ2F0ZVBhaXIobXNnLCBpKSkge1xuICAgICAgICAgIGMgPSAweDEwMDAwICsgKChjICYgMHgwM0ZGKSA8PCAxMCkgKyAobXNnLmNoYXJDb2RlQXQoKytpKSAmIDB4MDNGRik7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyA+PiAxOCkgfCAyNDA7XG4gICAgICAgICAgcmVzW3ArK10gPSAoKGMgPj4gMTIpICYgNjMpIHwgMTI4O1xuICAgICAgICAgIHJlc1twKytdID0gKChjID4+IDYpICYgNjMpIHwgMTI4O1xuICAgICAgICAgIHJlc1twKytdID0gKGMgJiA2MykgfCAxMjg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyA+PiAxMikgfCAyMjQ7XG4gICAgICAgICAgcmVzW3ArK10gPSAoKGMgPj4gNikgJiA2MykgfCAxMjg7XG4gICAgICAgICAgcmVzW3ArK10gPSAoYyAmIDYzKSB8IDEyODtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZW5jID09PSAnaGV4Jykge1xuICAgICAgbXNnID0gbXNnLnJlcGxhY2UoL1teYS16MC05XSsvaWcsICcnKTtcbiAgICAgIGlmIChtc2cubGVuZ3RoICUgMiAhPT0gMClcbiAgICAgICAgbXNnID0gJzAnICsgbXNnO1xuICAgICAgZm9yIChpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkgKz0gMilcbiAgICAgICAgcmVzLnB1c2gocGFyc2VJbnQobXNnW2ldICsgbXNnW2kgKyAxXSwgMTYpKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZm9yIChpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKylcbiAgICAgIHJlc1tpXSA9IG1zZ1tpXSB8IDA7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMudG9BcnJheSA9IHRvQXJyYXk7XG5cbmZ1bmN0aW9uIHRvSGV4KG1zZykge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxuICAgIHJlcyArPSB6ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtcbiAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMudG9IZXggPSB0b0hleDtcblxuZnVuY3Rpb24gaHRvbmwodykge1xuICB2YXIgcmVzID0gKHcgPj4+IDI0KSB8XG4gICAgICAgICAgICAoKHcgPj4+IDgpICYgMHhmZjAwKSB8XG4gICAgICAgICAgICAoKHcgPDwgOCkgJiAweGZmMDAwMCkgfFxuICAgICAgICAgICAgKCh3ICYgMHhmZikgPDwgMjQpO1xuICByZXR1cm4gcmVzID4+PiAwO1xufVxuZXhwb3J0cy5odG9ubCA9IGh0b25sO1xuXG5mdW5jdGlvbiB0b0hleDMyKG1zZywgZW5kaWFuKSB7XG4gIHZhciByZXMgPSAnJztcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBtc2cubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgdyA9IG1zZ1tpXTtcbiAgICBpZiAoZW5kaWFuID09PSAnbGl0dGxlJylcbiAgICAgIHcgPSBodG9ubCh3KTtcbiAgICByZXMgKz0gemVybzgody50b1N0cmluZygxNikpO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5leHBvcnRzLnRvSGV4MzIgPSB0b0hleDMyO1xuXG5mdW5jdGlvbiB6ZXJvMih3b3JkKSB7XG4gIGlmICh3b3JkLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gJzAnICsgd29yZDtcbiAgZWxzZVxuICAgIHJldHVybiB3b3JkO1xufVxuZXhwb3J0cy56ZXJvMiA9IHplcm8yO1xuXG5mdW5jdGlvbiB6ZXJvOCh3b3JkKSB7XG4gIGlmICh3b3JkLmxlbmd0aCA9PT0gNylcbiAgICByZXR1cm4gJzAnICsgd29yZDtcbiAgZWxzZSBpZiAod29yZC5sZW5ndGggPT09IDYpXG4gICAgcmV0dXJuICcwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gNSlcbiAgICByZXR1cm4gJzAwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gNClcbiAgICByZXR1cm4gJzAwMDAnICsgd29yZDtcbiAgZWxzZSBpZiAod29yZC5sZW5ndGggPT09IDMpXG4gICAgcmV0dXJuICcwMDAwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gMilcbiAgICByZXR1cm4gJzAwMDAwMCcgKyB3b3JkO1xuICBlbHNlIGlmICh3b3JkLmxlbmd0aCA9PT0gMSlcbiAgICByZXR1cm4gJzAwMDAwMDAnICsgd29yZDtcbiAgZWxzZVxuICAgIHJldHVybiB3b3JkO1xufVxuZXhwb3J0cy56ZXJvOCA9IHplcm84O1xuXG5mdW5jdGlvbiBqb2luMzIobXNnLCBzdGFydCwgZW5kLCBlbmRpYW4pIHtcbiAgdmFyIGxlbiA9IGVuZCAtIHN0YXJ0O1xuICBhc3NlcnQobGVuICUgNCA9PT0gMCk7XG4gIHZhciByZXMgPSBuZXcgQXJyYXkobGVuIC8gNCk7XG4gIGZvciAodmFyIGkgPSAwLCBrID0gc3RhcnQ7IGkgPCByZXMubGVuZ3RoOyBpKyssIGsgKz0gNCkge1xuICAgIHZhciB3O1xuICAgIGlmIChlbmRpYW4gPT09ICdiaWcnKVxuICAgICAgdyA9IChtc2dba10gPDwgMjQpIHwgKG1zZ1trICsgMV0gPDwgMTYpIHwgKG1zZ1trICsgMl0gPDwgOCkgfCBtc2dbayArIDNdO1xuICAgIGVsc2VcbiAgICAgIHcgPSAobXNnW2sgKyAzXSA8PCAyNCkgfCAobXNnW2sgKyAyXSA8PCAxNikgfCAobXNnW2sgKyAxXSA8PCA4KSB8IG1zZ1trXTtcbiAgICByZXNbaV0gPSB3ID4+PiAwO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5leHBvcnRzLmpvaW4zMiA9IGpvaW4zMjtcblxuZnVuY3Rpb24gc3BsaXQzMihtc2csIGVuZGlhbikge1xuICB2YXIgcmVzID0gbmV3IEFycmF5KG1zZy5sZW5ndGggKiA0KTtcbiAgZm9yICh2YXIgaSA9IDAsIGsgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrLCBrICs9IDQpIHtcbiAgICB2YXIgbSA9IG1zZ1tpXTtcbiAgICBpZiAoZW5kaWFuID09PSAnYmlnJykge1xuICAgICAgcmVzW2tdID0gbSA+Pj4gMjQ7XG4gICAgICByZXNbayArIDFdID0gKG0gPj4+IDE2KSAmIDB4ZmY7XG4gICAgICByZXNbayArIDJdID0gKG0gPj4+IDgpICYgMHhmZjtcbiAgICAgIHJlc1trICsgM10gPSBtICYgMHhmZjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzW2sgKyAzXSA9IG0gPj4+IDI0O1xuICAgICAgcmVzW2sgKyAyXSA9IChtID4+PiAxNikgJiAweGZmO1xuICAgICAgcmVzW2sgKyAxXSA9IChtID4+PiA4KSAmIDB4ZmY7XG4gICAgICByZXNba10gPSBtICYgMHhmZjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydHMuc3BsaXQzMiA9IHNwbGl0MzI7XG5cbmZ1bmN0aW9uIHJvdHIzMih3LCBiKSB7XG4gIHJldHVybiAodyA+Pj4gYikgfCAodyA8PCAoMzIgLSBiKSk7XG59XG5leHBvcnRzLnJvdHIzMiA9IHJvdHIzMjtcblxuZnVuY3Rpb24gcm90bDMyKHcsIGIpIHtcbiAgcmV0dXJuICh3IDw8IGIpIHwgKHcgPj4+ICgzMiAtIGIpKTtcbn1cbmV4cG9ydHMucm90bDMyID0gcm90bDMyO1xuXG5mdW5jdGlvbiBzdW0zMihhLCBiKSB7XG4gIHJldHVybiAoYSArIGIpID4+PiAwO1xufVxuZXhwb3J0cy5zdW0zMiA9IHN1bTMyO1xuXG5mdW5jdGlvbiBzdW0zMl8zKGEsIGIsIGMpIHtcbiAgcmV0dXJuIChhICsgYiArIGMpID4+PiAwO1xufVxuZXhwb3J0cy5zdW0zMl8zID0gc3VtMzJfMztcblxuZnVuY3Rpb24gc3VtMzJfNChhLCBiLCBjLCBkKSB7XG4gIHJldHVybiAoYSArIGIgKyBjICsgZCkgPj4+IDA7XG59XG5leHBvcnRzLnN1bTMyXzQgPSBzdW0zMl80O1xuXG5mdW5jdGlvbiBzdW0zMl81KGEsIGIsIGMsIGQsIGUpIHtcbiAgcmV0dXJuIChhICsgYiArIGMgKyBkICsgZSkgPj4+IDA7XG59XG5leHBvcnRzLnN1bTMyXzUgPSBzdW0zMl81O1xuXG5mdW5jdGlvbiBzdW02NChidWYsIHBvcywgYWgsIGFsKSB7XG4gIHZhciBiaCA9IGJ1Zltwb3NdO1xuICB2YXIgYmwgPSBidWZbcG9zICsgMV07XG5cbiAgdmFyIGxvID0gKGFsICsgYmwpID4+PiAwO1xuICB2YXIgaGkgPSAobG8gPCBhbCA/IDEgOiAwKSArIGFoICsgYmg7XG4gIGJ1Zltwb3NdID0gaGkgPj4+IDA7XG4gIGJ1Zltwb3MgKyAxXSA9IGxvO1xufVxuZXhwb3J0cy5zdW02NCA9IHN1bTY0O1xuXG5mdW5jdGlvbiBzdW02NF9oaShhaCwgYWwsIGJoLCBibCkge1xuICB2YXIgbG8gPSAoYWwgKyBibCkgPj4+IDA7XG4gIHZhciBoaSA9IChsbyA8IGFsID8gMSA6IDApICsgYWggKyBiaDtcbiAgcmV0dXJuIGhpID4+PiAwO1xufVxuZXhwb3J0cy5zdW02NF9oaSA9IHN1bTY0X2hpO1xuXG5mdW5jdGlvbiBzdW02NF9sbyhhaCwgYWwsIGJoLCBibCkge1xuICB2YXIgbG8gPSBhbCArIGJsO1xuICByZXR1cm4gbG8gPj4+IDA7XG59XG5leHBvcnRzLnN1bTY0X2xvID0gc3VtNjRfbG87XG5cbmZ1bmN0aW9uIHN1bTY0XzRfaGkoYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XG4gIHZhciBjYXJyeSA9IDA7XG4gIHZhciBsbyA9IGFsO1xuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBhbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGNsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGRsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBkbCA/IDEgOiAwO1xuXG4gIHZhciBoaSA9IGFoICsgYmggKyBjaCArIGRoICsgY2Fycnk7XG4gIHJldHVybiBoaSA+Pj4gMDtcbn1cbmV4cG9ydHMuc3VtNjRfNF9oaSA9IHN1bTY0XzRfaGk7XG5cbmZ1bmN0aW9uIHN1bTY0XzRfbG8oYWgsIGFsLCBiaCwgYmwsIGNoLCBjbCwgZGgsIGRsKSB7XG4gIHZhciBsbyA9IGFsICsgYmwgKyBjbCArIGRsO1xuICByZXR1cm4gbG8gPj4+IDA7XG59XG5leHBvcnRzLnN1bTY0XzRfbG8gPSBzdW02NF80X2xvO1xuXG5mdW5jdGlvbiBzdW02NF81X2hpKGFoLCBhbCwgYmgsIGJsLCBjaCwgY2wsIGRoLCBkbCwgZWgsIGVsKSB7XG4gIHZhciBjYXJyeSA9IDA7XG4gIHZhciBsbyA9IGFsO1xuICBsbyA9IChsbyArIGJsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBhbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGNsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBjbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGRsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBkbCA/IDEgOiAwO1xuICBsbyA9IChsbyArIGVsKSA+Pj4gMDtcbiAgY2FycnkgKz0gbG8gPCBlbCA/IDEgOiAwO1xuXG4gIHZhciBoaSA9IGFoICsgYmggKyBjaCArIGRoICsgZWggKyBjYXJyeTtcbiAgcmV0dXJuIGhpID4+PiAwO1xufVxuZXhwb3J0cy5zdW02NF81X2hpID0gc3VtNjRfNV9oaTtcblxuZnVuY3Rpb24gc3VtNjRfNV9sbyhhaCwgYWwsIGJoLCBibCwgY2gsIGNsLCBkaCwgZGwsIGVoLCBlbCkge1xuICB2YXIgbG8gPSBhbCArIGJsICsgY2wgKyBkbCArIGVsO1xuXG4gIHJldHVybiBsbyA+Pj4gMDtcbn1cbmV4cG9ydHMuc3VtNjRfNV9sbyA9IHN1bTY0XzVfbG87XG5cbmZ1bmN0aW9uIHJvdHI2NF9oaShhaCwgYWwsIG51bSkge1xuICB2YXIgciA9IChhbCA8PCAoMzIgLSBudW0pKSB8IChhaCA+Pj4gbnVtKTtcbiAgcmV0dXJuIHIgPj4+IDA7XG59XG5leHBvcnRzLnJvdHI2NF9oaSA9IHJvdHI2NF9oaTtcblxuZnVuY3Rpb24gcm90cjY0X2xvKGFoLCBhbCwgbnVtKSB7XG4gIHZhciByID0gKGFoIDw8ICgzMiAtIG51bSkpIHwgKGFsID4+PiBudW0pO1xuICByZXR1cm4gciA+Pj4gMDtcbn1cbmV4cG9ydHMucm90cjY0X2xvID0gcm90cjY0X2xvO1xuXG5mdW5jdGlvbiBzaHI2NF9oaShhaCwgYWwsIG51bSkge1xuICByZXR1cm4gYWggPj4+IG51bTtcbn1cbmV4cG9ydHMuc2hyNjRfaGkgPSBzaHI2NF9oaTtcblxuZnVuY3Rpb24gc2hyNjRfbG8oYWgsIGFsLCBudW0pIHtcbiAgdmFyIHIgPSAoYWggPDwgKDMyIC0gbnVtKSkgfCAoYWwgPj4+IG51bSk7XG4gIHJldHVybiByID4+PiAwO1xufVxuZXhwb3J0cy5zaHI2NF9sbyA9IHNocjY0X2xvO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaGFzaCA9IHJlcXVpcmUoJ2hhc2guanMnKTtcbnZhciB1dGlscyA9IHJlcXVpcmUoJ21pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMnKTtcbnZhciBhc3NlcnQgPSByZXF1aXJlKCdtaW5pbWFsaXN0aWMtYXNzZXJ0Jyk7XG5cbmZ1bmN0aW9uIEhtYWNEUkJHKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIEhtYWNEUkJHKSlcbiAgICByZXR1cm4gbmV3IEhtYWNEUkJHKG9wdGlvbnMpO1xuICB0aGlzLmhhc2ggPSBvcHRpb25zLmhhc2g7XG4gIHRoaXMucHJlZFJlc2lzdCA9ICEhb3B0aW9ucy5wcmVkUmVzaXN0O1xuXG4gIHRoaXMub3V0TGVuID0gdGhpcy5oYXNoLm91dFNpemU7XG4gIHRoaXMubWluRW50cm9weSA9IG9wdGlvbnMubWluRW50cm9weSB8fCB0aGlzLmhhc2guaG1hY1N0cmVuZ3RoO1xuXG4gIHRoaXMuX3Jlc2VlZCA9IG51bGw7XG4gIHRoaXMucmVzZWVkSW50ZXJ2YWwgPSBudWxsO1xuICB0aGlzLksgPSBudWxsO1xuICB0aGlzLlYgPSBudWxsO1xuXG4gIHZhciBlbnRyb3B5ID0gdXRpbHMudG9BcnJheShvcHRpb25zLmVudHJvcHksIG9wdGlvbnMuZW50cm9weUVuYyB8fCAnaGV4Jyk7XG4gIHZhciBub25jZSA9IHV0aWxzLnRvQXJyYXkob3B0aW9ucy5ub25jZSwgb3B0aW9ucy5ub25jZUVuYyB8fCAnaGV4Jyk7XG4gIHZhciBwZXJzID0gdXRpbHMudG9BcnJheShvcHRpb25zLnBlcnMsIG9wdGlvbnMucGVyc0VuYyB8fCAnaGV4Jyk7XG4gIGFzc2VydChlbnRyb3B5Lmxlbmd0aCA+PSAodGhpcy5taW5FbnRyb3B5IC8gOCksXG4gICAgICAgICAnTm90IGVub3VnaCBlbnRyb3B5LiBNaW5pbXVtIGlzOiAnICsgdGhpcy5taW5FbnRyb3B5ICsgJyBiaXRzJyk7XG4gIHRoaXMuX2luaXQoZW50cm9weSwgbm9uY2UsIHBlcnMpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBIbWFjRFJCRztcblxuSG1hY0RSQkcucHJvdG90eXBlLl9pbml0ID0gZnVuY3Rpb24gaW5pdChlbnRyb3B5LCBub25jZSwgcGVycykge1xuICB2YXIgc2VlZCA9IGVudHJvcHkuY29uY2F0KG5vbmNlKS5jb25jYXQocGVycyk7XG5cbiAgdGhpcy5LID0gbmV3IEFycmF5KHRoaXMub3V0TGVuIC8gOCk7XG4gIHRoaXMuViA9IG5ldyBBcnJheSh0aGlzLm91dExlbiAvIDgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuVi5sZW5ndGg7IGkrKykge1xuICAgIHRoaXMuS1tpXSA9IDB4MDA7XG4gICAgdGhpcy5WW2ldID0gMHgwMTtcbiAgfVxuXG4gIHRoaXMuX3VwZGF0ZShzZWVkKTtcbiAgdGhpcy5fcmVzZWVkID0gMTtcbiAgdGhpcy5yZXNlZWRJbnRlcnZhbCA9IDB4MTAwMDAwMDAwMDAwMDsgIC8vIDJeNDhcbn07XG5cbkhtYWNEUkJHLnByb3RvdHlwZS5faG1hYyA9IGZ1bmN0aW9uIGhtYWMoKSB7XG4gIHJldHVybiBuZXcgaGFzaC5obWFjKHRoaXMuaGFzaCwgdGhpcy5LKTtcbn07XG5cbkhtYWNEUkJHLnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gdXBkYXRlKHNlZWQpIHtcbiAgdmFyIGttYWMgPSB0aGlzLl9obWFjKClcbiAgICAgICAgICAgICAgICAgLnVwZGF0ZSh0aGlzLlYpXG4gICAgICAgICAgICAgICAgIC51cGRhdGUoWyAweDAwIF0pO1xuICBpZiAoc2VlZClcbiAgICBrbWFjID0ga21hYy51cGRhdGUoc2VlZCk7XG4gIHRoaXMuSyA9IGttYWMuZGlnZXN0KCk7XG4gIHRoaXMuViA9IHRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKTtcbiAgaWYgKCFzZWVkKVxuICAgIHJldHVybjtcblxuICB0aGlzLksgPSB0aGlzLl9obWFjKClcbiAgICAgICAgICAgICAgIC51cGRhdGUodGhpcy5WKVxuICAgICAgICAgICAgICAgLnVwZGF0ZShbIDB4MDEgXSlcbiAgICAgICAgICAgICAgIC51cGRhdGUoc2VlZClcbiAgICAgICAgICAgICAgIC5kaWdlc3QoKTtcbiAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xufTtcblxuSG1hY0RSQkcucHJvdG90eXBlLnJlc2VlZCA9IGZ1bmN0aW9uIHJlc2VlZChlbnRyb3B5LCBlbnRyb3B5RW5jLCBhZGQsIGFkZEVuYykge1xuICAvLyBPcHRpb25hbCBlbnRyb3B5IGVuY1xuICBpZiAodHlwZW9mIGVudHJvcHlFbmMgIT09ICdzdHJpbmcnKSB7XG4gICAgYWRkRW5jID0gYWRkO1xuICAgIGFkZCA9IGVudHJvcHlFbmM7XG4gICAgZW50cm9weUVuYyA9IG51bGw7XG4gIH1cblxuICBlbnRyb3B5ID0gdXRpbHMudG9BcnJheShlbnRyb3B5LCBlbnRyb3B5RW5jKTtcbiAgYWRkID0gdXRpbHMudG9BcnJheShhZGQsIGFkZEVuYyk7XG5cbiAgYXNzZXJ0KGVudHJvcHkubGVuZ3RoID49ICh0aGlzLm1pbkVudHJvcHkgLyA4KSxcbiAgICAgICAgICdOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICcgKyB0aGlzLm1pbkVudHJvcHkgKyAnIGJpdHMnKTtcblxuICB0aGlzLl91cGRhdGUoZW50cm9weS5jb25jYXQoYWRkIHx8IFtdKSk7XG4gIHRoaXMuX3Jlc2VlZCA9IDE7XG59O1xuXG5IbWFjRFJCRy5wcm90b3R5cGUuZ2VuZXJhdGUgPSBmdW5jdGlvbiBnZW5lcmF0ZShsZW4sIGVuYywgYWRkLCBhZGRFbmMpIHtcbiAgaWYgKHRoaXMuX3Jlc2VlZCA+IHRoaXMucmVzZWVkSW50ZXJ2YWwpXG4gICAgdGhyb3cgbmV3IEVycm9yKCdSZXNlZWQgaXMgcmVxdWlyZWQnKTtcblxuICAvLyBPcHRpb25hbCBlbmNvZGluZ1xuICBpZiAodHlwZW9mIGVuYyAhPT0gJ3N0cmluZycpIHtcbiAgICBhZGRFbmMgPSBhZGQ7XG4gICAgYWRkID0gZW5jO1xuICAgIGVuYyA9IG51bGw7XG4gIH1cblxuICAvLyBPcHRpb25hbCBhZGRpdGlvbmFsIGRhdGFcbiAgaWYgKGFkZCkge1xuICAgIGFkZCA9IHV0aWxzLnRvQXJyYXkoYWRkLCBhZGRFbmMgfHwgJ2hleCcpO1xuICAgIHRoaXMuX3VwZGF0ZShhZGQpO1xuICB9XG5cbiAgdmFyIHRlbXAgPSBbXTtcbiAgd2hpbGUgKHRlbXAubGVuZ3RoIDwgbGVuKSB7XG4gICAgdGhpcy5WID0gdGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpO1xuICAgIHRlbXAgPSB0ZW1wLmNvbmNhdCh0aGlzLlYpO1xuICB9XG5cbiAgdmFyIHJlcyA9IHRlbXAuc2xpY2UoMCwgbGVuKTtcbiAgdGhpcy5fdXBkYXRlKGFkZCk7XG4gIHRoaXMuX3Jlc2VlZCsrO1xuICByZXR1cm4gdXRpbHMuZW5jb2RlKHJlcywgZW5jKTtcbn07XG4iLCIvKiEgaWVlZTc1NC4gQlNELTMtQ2xhdXNlIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuZXhwb3J0cy5yZWFkID0gZnVuY3Rpb24gKGJ1ZmZlciwgb2Zmc2V0LCBpc0xFLCBtTGVuLCBuQnl0ZXMpIHtcbiAgdmFyIGUsIG1cbiAgdmFyIGVMZW4gPSAobkJ5dGVzICogOCkgLSBtTGVuIC0gMVxuICB2YXIgZU1heCA9ICgxIDw8IGVMZW4pIC0gMVxuICB2YXIgZUJpYXMgPSBlTWF4ID4+IDFcbiAgdmFyIG5CaXRzID0gLTdcbiAgdmFyIGkgPSBpc0xFID8gKG5CeXRlcyAtIDEpIDogMFxuICB2YXIgZCA9IGlzTEUgPyAtMSA6IDFcbiAgdmFyIHMgPSBidWZmZXJbb2Zmc2V0ICsgaV1cblxuICBpICs9IGRcblxuICBlID0gcyAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBzID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBlTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IGUgPSAoZSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBtID0gZSAmICgoMSA8PCAoLW5CaXRzKSkgLSAxKVxuICBlID4+PSAoLW5CaXRzKVxuICBuQml0cyArPSBtTGVuXG4gIGZvciAoOyBuQml0cyA+IDA7IG0gPSAobSAqIDI1NikgKyBidWZmZXJbb2Zmc2V0ICsgaV0sIGkgKz0gZCwgbkJpdHMgLT0gOCkge31cblxuICBpZiAoZSA9PT0gMCkge1xuICAgIGUgPSAxIC0gZUJpYXNcbiAgfSBlbHNlIGlmIChlID09PSBlTWF4KSB7XG4gICAgcmV0dXJuIG0gPyBOYU4gOiAoKHMgPyAtMSA6IDEpICogSW5maW5pdHkpXG4gIH0gZWxzZSB7XG4gICAgbSA9IG0gKyBNYXRoLnBvdygyLCBtTGVuKVxuICAgIGUgPSBlIC0gZUJpYXNcbiAgfVxuICByZXR1cm4gKHMgPyAtMSA6IDEpICogbSAqIE1hdGgucG93KDIsIGUgLSBtTGVuKVxufVxuXG5leHBvcnRzLndyaXRlID0gZnVuY3Rpb24gKGJ1ZmZlciwgdmFsdWUsIG9mZnNldCwgaXNMRSwgbUxlbiwgbkJ5dGVzKSB7XG4gIHZhciBlLCBtLCBjXG4gIHZhciBlTGVuID0gKG5CeXRlcyAqIDgpIC0gbUxlbiAtIDFcbiAgdmFyIGVNYXggPSAoMSA8PCBlTGVuKSAtIDFcbiAgdmFyIGVCaWFzID0gZU1heCA+PiAxXG4gIHZhciBydCA9IChtTGVuID09PSAyMyA/IE1hdGgucG93KDIsIC0yNCkgLSBNYXRoLnBvdygyLCAtNzcpIDogMClcbiAgdmFyIGkgPSBpc0xFID8gMCA6IChuQnl0ZXMgLSAxKVxuICB2YXIgZCA9IGlzTEUgPyAxIDogLTFcbiAgdmFyIHMgPSB2YWx1ZSA8IDAgfHwgKHZhbHVlID09PSAwICYmIDEgLyB2YWx1ZSA8IDApID8gMSA6IDBcblxuICB2YWx1ZSA9IE1hdGguYWJzKHZhbHVlKVxuXG4gIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IEluZmluaXR5KSB7XG4gICAgbSA9IGlzTmFOKHZhbHVlKSA/IDEgOiAwXG4gICAgZSA9IGVNYXhcbiAgfSBlbHNlIHtcbiAgICBlID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLkxOMilcbiAgICBpZiAodmFsdWUgKiAoYyA9IE1hdGgucG93KDIsIC1lKSkgPCAxKSB7XG4gICAgICBlLS1cbiAgICAgIGMgKj0gMlxuICAgIH1cbiAgICBpZiAoZSArIGVCaWFzID49IDEpIHtcbiAgICAgIHZhbHVlICs9IHJ0IC8gY1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSArPSBydCAqIE1hdGgucG93KDIsIDEgLSBlQmlhcylcbiAgICB9XG4gICAgaWYgKHZhbHVlICogYyA+PSAyKSB7XG4gICAgICBlKytcbiAgICAgIGMgLz0gMlxuICAgIH1cblxuICAgIGlmIChlICsgZUJpYXMgPj0gZU1heCkge1xuICAgICAgbSA9IDBcbiAgICAgIGUgPSBlTWF4XG4gICAgfSBlbHNlIGlmIChlICsgZUJpYXMgPj0gMSkge1xuICAgICAgbSA9ICgodmFsdWUgKiBjKSAtIDEpICogTWF0aC5wb3coMiwgbUxlbilcbiAgICAgIGUgPSBlICsgZUJpYXNcbiAgICB9IGVsc2Uge1xuICAgICAgbSA9IHZhbHVlICogTWF0aC5wb3coMiwgZUJpYXMgLSAxKSAqIE1hdGgucG93KDIsIG1MZW4pXG4gICAgICBlID0gMFxuICAgIH1cbiAgfVxuXG4gIGZvciAoOyBtTGVuID49IDg7IGJ1ZmZlcltvZmZzZXQgKyBpXSA9IG0gJiAweGZmLCBpICs9IGQsIG0gLz0gMjU2LCBtTGVuIC09IDgpIHt9XG5cbiAgZSA9IChlIDw8IG1MZW4pIHwgbVxuICBlTGVuICs9IG1MZW5cbiAgZm9yICg7IGVMZW4gPiAwOyBidWZmZXJbb2Zmc2V0ICsgaV0gPSBlICYgMHhmZiwgaSArPSBkLCBlIC89IDI1NiwgZUxlbiAtPSA4KSB7fVxuXG4gIGJ1ZmZlcltvZmZzZXQgKyBpIC0gZF0gfD0gcyAqIDEyOFxufVxuIiwiaWYgKHR5cGVvZiBPYmplY3QuY3JlYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gIC8vIGltcGxlbWVudGF0aW9uIGZyb20gc3RhbmRhcmQgbm9kZS5qcyAndXRpbCcgbW9kdWxlXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgaWYgKHN1cGVyQ3Rvcikge1xuICAgICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3JcbiAgICAgIGN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckN0b3IucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICAgICAgdmFsdWU6IGN0b3IsXG4gICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9O1xufSBlbHNlIHtcbiAgLy8gb2xkIHNjaG9vbCBzaGltIGZvciBvbGQgYnJvd3NlcnNcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBpbmhlcml0cyhjdG9yLCBzdXBlckN0b3IpIHtcbiAgICBpZiAoc3VwZXJDdG9yKSB7XG4gICAgICBjdG9yLnN1cGVyXyA9IHN1cGVyQ3RvclxuICAgICAgdmFyIFRlbXBDdG9yID0gZnVuY3Rpb24gKCkge31cbiAgICAgIFRlbXBDdG9yLnByb3RvdHlwZSA9IHN1cGVyQ3Rvci5wcm90b3R5cGVcbiAgICAgIGN0b3IucHJvdG90eXBlID0gbmV3IFRlbXBDdG9yKClcbiAgICAgIGN0b3IucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gY3RvclxuICAgIH1cbiAgfVxufVxuIiwidmFyIHRvU3RyaW5nID0ge30udG9TdHJpbmc7XG5cbm1vZHVsZS5leHBvcnRzID0gQXJyYXkuaXNBcnJheSB8fCBmdW5jdGlvbiAoYXJyKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKGFycikgPT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG4iLCIndXNlIHN0cmljdCdcbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBIYXNoQmFzZSA9IHJlcXVpcmUoJ2hhc2gtYmFzZScpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEFSUkFZMTYgPSBuZXcgQXJyYXkoMTYpXG5cbmZ1bmN0aW9uIE1ENSAoKSB7XG4gIEhhc2hCYXNlLmNhbGwodGhpcywgNjQpXG5cbiAgLy8gc3RhdGVcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcbiAgdGhpcy5fYiA9IDB4ZWZjZGFiODlcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcbn1cblxuaW5oZXJpdHMoTUQ1LCBIYXNoQmFzZSlcblxuTUQ1LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICB2YXIgTSA9IEFSUkFZMTZcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBNW2ldID0gdGhpcy5fYmxvY2sucmVhZEludDMyTEUoaSAqIDQpXG5cbiAgdmFyIGEgPSB0aGlzLl9hXG4gIHZhciBiID0gdGhpcy5fYlxuICB2YXIgYyA9IHRoaXMuX2NcbiAgdmFyIGQgPSB0aGlzLl9kXG5cbiAgYSA9IGZuRihhLCBiLCBjLCBkLCBNWzBdLCAweGQ3NmFhNDc4LCA3KVxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMV0sIDB4ZThjN2I3NTYsIDEyKVxuICBjID0gZm5GKGMsIGQsIGEsIGIsIE1bMl0sIDB4MjQyMDcwZGIsIDE3KVxuICBiID0gZm5GKGIsIGMsIGQsIGEsIE1bM10sIDB4YzFiZGNlZWUsIDIyKVxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bNF0sIDB4ZjU3YzBmYWYsIDcpXG4gIGQgPSBmbkYoZCwgYSwgYiwgYywgTVs1XSwgMHg0Nzg3YzYyYSwgMTIpXG4gIGMgPSBmbkYoYywgZCwgYSwgYiwgTVs2XSwgMHhhODMwNDYxMywgMTcpXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVs3XSwgMHhmZDQ2OTUwMSwgMjIpXG4gIGEgPSBmbkYoYSwgYiwgYywgZCwgTVs4XSwgMHg2OTgwOThkOCwgNylcbiAgZCA9IGZuRihkLCBhLCBiLCBjLCBNWzldLCAweDhiNDRmN2FmLCAxMilcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzEwXSwgMHhmZmZmNWJiMSwgMTcpXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVsxMV0sIDB4ODk1Y2Q3YmUsIDIyKVxuICBhID0gZm5GKGEsIGIsIGMsIGQsIE1bMTJdLCAweDZiOTAxMTIyLCA3KVxuICBkID0gZm5GKGQsIGEsIGIsIGMsIE1bMTNdLCAweGZkOTg3MTkzLCAxMilcbiAgYyA9IGZuRihjLCBkLCBhLCBiLCBNWzE0XSwgMHhhNjc5NDM4ZSwgMTcpXG4gIGIgPSBmbkYoYiwgYywgZCwgYSwgTVsxNV0sIDB4NDliNDA4MjEsIDIyKVxuXG4gIGEgPSBmbkcoYSwgYiwgYywgZCwgTVsxXSwgMHhmNjFlMjU2MiwgNSlcbiAgZCA9IGZuRyhkLCBhLCBiLCBjLCBNWzZdLCAweGMwNDBiMzQwLCA5KVxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bMTFdLCAweDI2NWU1YTUxLCAxNClcbiAgYiA9IGZuRyhiLCBjLCBkLCBhLCBNWzBdLCAweGU5YjZjN2FhLCAyMClcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzVdLCAweGQ2MmYxMDVkLCA1KVxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMTBdLCAweDAyNDQxNDUzLCA5KVxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bMTVdLCAweGQ4YTFlNjgxLCAxNClcbiAgYiA9IGZuRyhiLCBjLCBkLCBhLCBNWzRdLCAweGU3ZDNmYmM4LCAyMClcbiAgYSA9IGZuRyhhLCBiLCBjLCBkLCBNWzldLCAweDIxZTFjZGU2LCA1KVxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMTRdLCAweGMzMzcwN2Q2LCA5KVxuICBjID0gZm5HKGMsIGQsIGEsIGIsIE1bM10sIDB4ZjRkNTBkODcsIDE0KVxuICBiID0gZm5HKGIsIGMsIGQsIGEsIE1bOF0sIDB4NDU1YTE0ZWQsIDIwKVxuICBhID0gZm5HKGEsIGIsIGMsIGQsIE1bMTNdLCAweGE5ZTNlOTA1LCA1KVxuICBkID0gZm5HKGQsIGEsIGIsIGMsIE1bMl0sIDB4ZmNlZmEzZjgsIDkpXG4gIGMgPSBmbkcoYywgZCwgYSwgYiwgTVs3XSwgMHg2NzZmMDJkOSwgMTQpXG4gIGIgPSBmbkcoYiwgYywgZCwgYSwgTVsxMl0sIDB4OGQyYTRjOGEsIDIwKVxuXG4gIGEgPSBmbkgoYSwgYiwgYywgZCwgTVs1XSwgMHhmZmZhMzk0MiwgNClcbiAgZCA9IGZuSChkLCBhLCBiLCBjLCBNWzhdLCAweDg3NzFmNjgxLCAxMSlcbiAgYyA9IGZuSChjLCBkLCBhLCBiLCBNWzExXSwgMHg2ZDlkNjEyMiwgMTYpXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVsxNF0sIDB4ZmRlNTM4MGMsIDIzKVxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bMV0sIDB4YTRiZWVhNDQsIDQpXG4gIGQgPSBmbkgoZCwgYSwgYiwgYywgTVs0XSwgMHg0YmRlY2ZhOSwgMTEpXG4gIGMgPSBmbkgoYywgZCwgYSwgYiwgTVs3XSwgMHhmNmJiNGI2MCwgMTYpXG4gIGIgPSBmbkgoYiwgYywgZCwgYSwgTVsxMF0sIDB4YmViZmJjNzAsIDIzKVxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bMTNdLCAweDI4OWI3ZWM2LCA0KVxuICBkID0gZm5IKGQsIGEsIGIsIGMsIE1bMF0sIDB4ZWFhMTI3ZmEsIDExKVxuICBjID0gZm5IKGMsIGQsIGEsIGIsIE1bM10sIDB4ZDRlZjMwODUsIDE2KVxuICBiID0gZm5IKGIsIGMsIGQsIGEsIE1bNl0sIDB4MDQ4ODFkMDUsIDIzKVxuICBhID0gZm5IKGEsIGIsIGMsIGQsIE1bOV0sIDB4ZDlkNGQwMzksIDQpXG4gIGQgPSBmbkgoZCwgYSwgYiwgYywgTVsxMl0sIDB4ZTZkYjk5ZTUsIDExKVxuICBjID0gZm5IKGMsIGQsIGEsIGIsIE1bMTVdLCAweDFmYTI3Y2Y4LCAxNilcbiAgYiA9IGZuSChiLCBjLCBkLCBhLCBNWzJdLCAweGM0YWM1NjY1LCAyMylcblxuICBhID0gZm5JKGEsIGIsIGMsIGQsIE1bMF0sIDB4ZjQyOTIyNDQsIDYpXG4gIGQgPSBmbkkoZCwgYSwgYiwgYywgTVs3XSwgMHg0MzJhZmY5NywgMTApXG4gIGMgPSBmbkkoYywgZCwgYSwgYiwgTVsxNF0sIDB4YWI5NDIzYTcsIDE1KVxuICBiID0gZm5JKGIsIGMsIGQsIGEsIE1bNV0sIDB4ZmM5M2EwMzksIDIxKVxuICBhID0gZm5JKGEsIGIsIGMsIGQsIE1bMTJdLCAweDY1NWI1OWMzLCA2KVxuICBkID0gZm5JKGQsIGEsIGIsIGMsIE1bM10sIDB4OGYwY2NjOTIsIDEwKVxuICBjID0gZm5JKGMsIGQsIGEsIGIsIE1bMTBdLCAweGZmZWZmNDdkLCAxNSlcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzFdLCAweDg1ODQ1ZGQxLCAyMSlcbiAgYSA9IGZuSShhLCBiLCBjLCBkLCBNWzhdLCAweDZmYTg3ZTRmLCA2KVxuICBkID0gZm5JKGQsIGEsIGIsIGMsIE1bMTVdLCAweGZlMmNlNmUwLCAxMClcbiAgYyA9IGZuSShjLCBkLCBhLCBiLCBNWzZdLCAweGEzMDE0MzE0LCAxNSlcbiAgYiA9IGZuSShiLCBjLCBkLCBhLCBNWzEzXSwgMHg0ZTA4MTFhMSwgMjEpXG4gIGEgPSBmbkkoYSwgYiwgYywgZCwgTVs0XSwgMHhmNzUzN2U4MiwgNilcbiAgZCA9IGZuSShkLCBhLCBiLCBjLCBNWzExXSwgMHhiZDNhZjIzNSwgMTApXG4gIGMgPSBmbkkoYywgZCwgYSwgYiwgTVsyXSwgMHgyYWQ3ZDJiYiwgMTUpXG4gIGIgPSBmbkkoYiwgYywgZCwgYSwgTVs5XSwgMHhlYjg2ZDM5MSwgMjEpXG5cbiAgdGhpcy5fYSA9ICh0aGlzLl9hICsgYSkgfCAwXG4gIHRoaXMuX2IgPSAodGhpcy5fYiArIGIpIHwgMFxuICB0aGlzLl9jID0gKHRoaXMuX2MgKyBjKSB8IDBcbiAgdGhpcy5fZCA9ICh0aGlzLl9kICsgZCkgfCAwXG59XG5cbk1ENS5wcm90b3R5cGUuX2RpZ2VzdCA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gY3JlYXRlIHBhZGRpbmcgYW5kIGhhbmRsZSBibG9ja3NcbiAgdGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK10gPSAweDgwXG4gIGlmICh0aGlzLl9ibG9ja09mZnNldCA+IDU2KSB7XG4gICAgdGhpcy5fYmxvY2suZmlsbCgwLCB0aGlzLl9ibG9ja09mZnNldCwgNjQpXG4gICAgdGhpcy5fdXBkYXRlKClcbiAgICB0aGlzLl9ibG9ja09mZnNldCA9IDBcbiAgfVxuXG4gIHRoaXMuX2Jsb2NrLmZpbGwoMCwgdGhpcy5fYmxvY2tPZmZzZXQsIDU2KVxuICB0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSwgNTYpXG4gIHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLCA2MClcbiAgdGhpcy5fdXBkYXRlKClcblxuICAvLyBwcm9kdWNlIHJlc3VsdFxuICB2YXIgYnVmZmVyID0gQnVmZmVyLmFsbG9jVW5zYWZlKDE2KVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2EsIDApXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYiwgNClcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9jLCA4KVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2QsIDEyKVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcbiAgcmV0dXJuICh4IDw8IG4pIHwgKHggPj4+ICgzMiAtIG4pKVxufVxuXG5mdW5jdGlvbiBmbkYgKGEsIGIsIGMsIGQsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgYykgfCAoKH5iKSAmIGQpKSArIG0gKyBrKSB8IDAsIHMpICsgYikgfCAwXG59XG5cbmZ1bmN0aW9uIGZuRyAoYSwgYiwgYywgZCwgbSwgaywgcykge1xuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgJiBkKSB8IChjICYgKH5kKSkpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcbn1cblxuZnVuY3Rpb24gZm5IIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XG4gIHJldHVybiAocm90bCgoYSArIChiIF4gYyBeIGQpICsgbSArIGspIHwgMCwgcykgKyBiKSB8IDBcbn1cblxuZnVuY3Rpb24gZm5JIChhLCBiLCBjLCBkLCBtLCBrLCBzKSB7XG4gIHJldHVybiAocm90bCgoYSArICgoYyBeIChiIHwgKH5kKSkpKSArIG0gKyBrKSB8IDAsIHMpICsgYikgfCAwXG59XG5cbm1vZHVsZS5leHBvcnRzID0gTUQ1XG4iLCJ2YXIgYm4gPSByZXF1aXJlKCdibi5qcycpO1xudmFyIGJyb3JhbmQgPSByZXF1aXJlKCdicm9yYW5kJyk7XG5cbmZ1bmN0aW9uIE1pbGxlclJhYmluKHJhbmQpIHtcbiAgdGhpcy5yYW5kID0gcmFuZCB8fCBuZXcgYnJvcmFuZC5SYW5kKCk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IE1pbGxlclJhYmluO1xuXG5NaWxsZXJSYWJpbi5jcmVhdGUgPSBmdW5jdGlvbiBjcmVhdGUocmFuZCkge1xuICByZXR1cm4gbmV3IE1pbGxlclJhYmluKHJhbmQpO1xufTtcblxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLl9yYW5kYmVsb3cgPSBmdW5jdGlvbiBfcmFuZGJlbG93KG4pIHtcbiAgdmFyIGxlbiA9IG4uYml0TGVuZ3RoKCk7XG4gIHZhciBtaW5fYnl0ZXMgPSBNYXRoLmNlaWwobGVuIC8gOCk7XG5cbiAgLy8gR2VuZXJhZ2UgcmFuZG9tIGJ5dGVzIHVudGlsIGEgbnVtYmVyIGxlc3MgdGhhbiBuIGlzIGZvdW5kLlxuICAvLyBUaGlzIGVuc3VyZXMgdGhhdCAwLi5uLTEgaGF2ZSBhbiBlcXVhbCBwcm9iYWJpbGl0eSBvZiBiZWluZyBzZWxlY3RlZC5cbiAgZG9cbiAgICB2YXIgYSA9IG5ldyBibih0aGlzLnJhbmQuZ2VuZXJhdGUobWluX2J5dGVzKSk7XG4gIHdoaWxlIChhLmNtcChuKSA+PSAwKTtcblxuICByZXR1cm4gYTtcbn07XG5cbk1pbGxlclJhYmluLnByb3RvdHlwZS5fcmFuZHJhbmdlID0gZnVuY3Rpb24gX3JhbmRyYW5nZShzdGFydCwgc3RvcCkge1xuICAvLyBHZW5lcmF0ZSBhIHJhbmRvbSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHN0YXJ0IGFuZCBsZXNzIHRoYW4gc3RvcC5cbiAgdmFyIHNpemUgPSBzdG9wLnN1YihzdGFydCk7XG4gIHJldHVybiBzdGFydC5hZGQodGhpcy5fcmFuZGJlbG93KHNpemUpKTtcbn07XG5cbk1pbGxlclJhYmluLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24gdGVzdChuLCBrLCBjYikge1xuICB2YXIgbGVuID0gbi5iaXRMZW5ndGgoKTtcbiAgdmFyIHJlZCA9IGJuLm1vbnQobik7XG4gIHZhciByb25lID0gbmV3IGJuKDEpLnRvUmVkKHJlZCk7XG5cbiAgaWYgKCFrKVxuICAgIGsgPSBNYXRoLm1heCgxLCAobGVuIC8gNDgpIHwgMCk7XG5cbiAgLy8gRmluZCBkIGFuZCBzLCAobiAtIDEpID0gKDIgXiBzKSAqIGQ7XG4gIHZhciBuMSA9IG4uc3VibigxKTtcbiAgZm9yICh2YXIgcyA9IDA7ICFuMS50ZXN0bihzKTsgcysrKSB7fVxuICB2YXIgZCA9IG4uc2hybihzKTtcblxuICB2YXIgcm4xID0gbjEudG9SZWQocmVkKTtcblxuICB2YXIgcHJpbWUgPSB0cnVlO1xuICBmb3IgKDsgayA+IDA7IGstLSkge1xuICAgIHZhciBhID0gdGhpcy5fcmFuZHJhbmdlKG5ldyBibigyKSwgbjEpO1xuICAgIGlmIChjYilcbiAgICAgIGNiKGEpO1xuXG4gICAgdmFyIHggPSBhLnRvUmVkKHJlZCkucmVkUG93KGQpO1xuICAgIGlmICh4LmNtcChyb25lKSA9PT0gMCB8fCB4LmNtcChybjEpID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IHM7IGkrKykge1xuICAgICAgeCA9IHgucmVkU3FyKCk7XG5cbiAgICAgIGlmICh4LmNtcChyb25lKSA9PT0gMClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKHguY21wKHJuMSkgPT09IDApXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChpID09PSBzKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHByaW1lO1xufTtcblxuTWlsbGVyUmFiaW4ucHJvdG90eXBlLmdldERpdmlzb3IgPSBmdW5jdGlvbiBnZXREaXZpc29yKG4sIGspIHtcbiAgdmFyIGxlbiA9IG4uYml0TGVuZ3RoKCk7XG4gIHZhciByZWQgPSBibi5tb250KG4pO1xuICB2YXIgcm9uZSA9IG5ldyBibigxKS50b1JlZChyZWQpO1xuXG4gIGlmICghaylcbiAgICBrID0gTWF0aC5tYXgoMSwgKGxlbiAvIDQ4KSB8IDApO1xuXG4gIC8vIEZpbmQgZCBhbmQgcywgKG4gLSAxKSA9ICgyIF4gcykgKiBkO1xuICB2YXIgbjEgPSBuLnN1Ym4oMSk7XG4gIGZvciAodmFyIHMgPSAwOyAhbjEudGVzdG4ocyk7IHMrKykge31cbiAgdmFyIGQgPSBuLnNocm4ocyk7XG5cbiAgdmFyIHJuMSA9IG4xLnRvUmVkKHJlZCk7XG5cbiAgZm9yICg7IGsgPiAwOyBrLS0pIHtcbiAgICB2YXIgYSA9IHRoaXMuX3JhbmRyYW5nZShuZXcgYm4oMiksIG4xKTtcblxuICAgIHZhciBnID0gbi5nY2QoYSk7XG4gICAgaWYgKGcuY21wbigxKSAhPT0gMClcbiAgICAgIHJldHVybiBnO1xuXG4gICAgdmFyIHggPSBhLnRvUmVkKHJlZCkucmVkUG93KGQpO1xuICAgIGlmICh4LmNtcChyb25lKSA9PT0gMCB8fCB4LmNtcChybjEpID09PSAwKVxuICAgICAgY29udGludWU7XG5cbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IHM7IGkrKykge1xuICAgICAgeCA9IHgucmVkU3FyKCk7XG5cbiAgICAgIGlmICh4LmNtcChyb25lKSA9PT0gMClcbiAgICAgICAgcmV0dXJuIHguZnJvbVJlZCgpLnN1Ym4oMSkuZ2NkKG4pO1xuICAgICAgaWYgKHguY21wKHJuMSkgPT09IDApXG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChpID09PSBzKSB7XG4gICAgICB4ID0geC5yZWRTcXIoKTtcbiAgICAgIHJldHVybiB4LmZyb21SZWQoKS5zdWJuKDEpLmdjZChuKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBhc3NlcnQ7XG5cbmZ1bmN0aW9uIGFzc2VydCh2YWwsIG1zZykge1xuICBpZiAoIXZhbClcbiAgICB0aHJvdyBuZXcgRXJyb3IobXNnIHx8ICdBc3NlcnRpb24gZmFpbGVkJyk7XG59XG5cbmFzc2VydC5lcXVhbCA9IGZ1bmN0aW9uIGFzc2VydEVxdWFsKGwsIHIsIG1zZykge1xuICBpZiAobCAhPSByKVxuICAgIHRocm93IG5ldyBFcnJvcihtc2cgfHwgKCdBc3NlcnRpb24gZmFpbGVkOiAnICsgbCArICcgIT0gJyArIHIpKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IGV4cG9ydHM7XG5cbmZ1bmN0aW9uIHRvQXJyYXkobXNnLCBlbmMpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkobXNnKSlcbiAgICByZXR1cm4gbXNnLnNsaWNlKCk7XG4gIGlmICghbXNnKVxuICAgIHJldHVybiBbXTtcbiAgdmFyIHJlcyA9IFtdO1xuICBpZiAodHlwZW9mIG1zZyAhPT0gJ3N0cmluZycpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKylcbiAgICAgIHJlc1tpXSA9IG1zZ1tpXSB8IDA7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuICBpZiAoZW5jID09PSAnaGV4Jykge1xuICAgIG1zZyA9IG1zZy5yZXBsYWNlKC9bXmEtejAtOV0rL2lnLCAnJyk7XG4gICAgaWYgKG1zZy5sZW5ndGggJSAyICE9PSAwKVxuICAgICAgbXNnID0gJzAnICsgbXNnO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSArPSAyKVxuICAgICAgcmVzLnB1c2gocGFyc2VJbnQobXNnW2ldICsgbXNnW2kgKyAxXSwgMTYpKTtcbiAgfSBlbHNlIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1zZy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGMgPSBtc2cuY2hhckNvZGVBdChpKTtcbiAgICAgIHZhciBoaSA9IGMgPj4gODtcbiAgICAgIHZhciBsbyA9IGMgJiAweGZmO1xuICAgICAgaWYgKGhpKVxuICAgICAgICByZXMucHVzaChoaSwgbG8pO1xuICAgICAgZWxzZVxuICAgICAgICByZXMucHVzaChsbyk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXM7XG59XG51dGlscy50b0FycmF5ID0gdG9BcnJheTtcblxuZnVuY3Rpb24gemVybzIod29yZCkge1xuICBpZiAod29yZC5sZW5ndGggPT09IDEpXG4gICAgcmV0dXJuICcwJyArIHdvcmQ7XG4gIGVsc2VcbiAgICByZXR1cm4gd29yZDtcbn1cbnV0aWxzLnplcm8yID0gemVybzI7XG5cbmZ1bmN0aW9uIHRvSGV4KG1zZykge1xuICB2YXIgcmVzID0gJyc7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbXNnLmxlbmd0aDsgaSsrKVxuICAgIHJlcyArPSB6ZXJvMihtc2dbaV0udG9TdHJpbmcoMTYpKTtcbiAgcmV0dXJuIHJlcztcbn1cbnV0aWxzLnRvSGV4ID0gdG9IZXg7XG5cbnV0aWxzLmVuY29kZSA9IGZ1bmN0aW9uIGVuY29kZShhcnIsIGVuYykge1xuICBpZiAoZW5jID09PSAnaGV4JylcbiAgICByZXR1cm4gdG9IZXgoYXJyKTtcbiAgZWxzZVxuICAgIHJldHVybiBhcnI7XG59O1xuIiwiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiIsIi8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvc2VsZi1zaWduZWQvYmxvYi9naC1wYWdlcy9saWIvYXNuMS5qc1xuLy8gRmVkb3IsIHlvdSBhcmUgYW1hemluZy5cbid1c2Ugc3RyaWN0J1xuXG52YXIgYXNuMSA9IHJlcXVpcmUoJ2FzbjEuanMnKVxuXG5leHBvcnRzLmNlcnRpZmljYXRlID0gcmVxdWlyZSgnLi9jZXJ0aWZpY2F0ZScpXG5cbnZhciBSU0FQcml2YXRlS2V5ID0gYXNuMS5kZWZpbmUoJ1JTQVByaXZhdGVLZXknLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuc2VxKCkub2JqKFxuICAgIHRoaXMua2V5KCd2ZXJzaW9uJykuaW50KCksXG4gICAgdGhpcy5rZXkoJ21vZHVsdXMnKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncHVibGljRXhwb25lbnQnKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncHJpdmF0ZUV4cG9uZW50JykuaW50KCksXG4gICAgdGhpcy5rZXkoJ3ByaW1lMScpLmludCgpLFxuICAgIHRoaXMua2V5KCdwcmltZTInKS5pbnQoKSxcbiAgICB0aGlzLmtleSgnZXhwb25lbnQxJykuaW50KCksXG4gICAgdGhpcy5rZXkoJ2V4cG9uZW50MicpLmludCgpLFxuICAgIHRoaXMua2V5KCdjb2VmZmljaWVudCcpLmludCgpXG4gIClcbn0pXG5leHBvcnRzLlJTQVByaXZhdGVLZXkgPSBSU0FQcml2YXRlS2V5XG5cbnZhciBSU0FQdWJsaWNLZXkgPSBhc24xLmRlZmluZSgnUlNBUHVibGljS2V5JywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnbW9kdWx1cycpLmludCgpLFxuICAgIHRoaXMua2V5KCdwdWJsaWNFeHBvbmVudCcpLmludCgpXG4gIClcbn0pXG5leHBvcnRzLlJTQVB1YmxpY0tleSA9IFJTQVB1YmxpY0tleVxuXG52YXIgUHVibGljS2V5ID0gYXNuMS5kZWZpbmUoJ1N1YmplY3RQdWJsaWNLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5JykuYml0c3RyKClcbiAgKVxufSlcbmV4cG9ydHMuUHVibGljS2V5ID0gUHVibGljS2V5XG5cbnZhciBBbGdvcml0aG1JZGVudGlmaWVyID0gYXNuMS5kZWZpbmUoJ0FsZ29yaXRobUlkZW50aWZpZXInLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuc2VxKCkub2JqKFxuICAgIHRoaXMua2V5KCdhbGdvcml0aG0nKS5vYmppZCgpLFxuICAgIHRoaXMua2V5KCdub25lJykubnVsbF8oKS5vcHRpb25hbCgpLFxuICAgIHRoaXMua2V5KCdjdXJ2ZScpLm9iamlkKCkub3B0aW9uYWwoKSxcbiAgICB0aGlzLmtleSgncGFyYW1zJykuc2VxKCkub2JqKFxuICAgICAgdGhpcy5rZXkoJ3AnKS5pbnQoKSxcbiAgICAgIHRoaXMua2V5KCdxJykuaW50KCksXG4gICAgICB0aGlzLmtleSgnZycpLmludCgpXG4gICAgKS5vcHRpb25hbCgpXG4gIClcbn0pXG5cbnZhciBQcml2YXRlS2V5SW5mbyA9IGFzbjEuZGVmaW5lKCdQcml2YXRlS2V5SW5mbycsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ3ZlcnNpb24nKS5pbnQoKSxcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHJpdmF0ZUtleScpLm9jdHN0cigpXG4gIClcbn0pXG5leHBvcnRzLlByaXZhdGVLZXkgPSBQcml2YXRlS2V5SW5mb1xudmFyIEVuY3J5cHRlZFByaXZhdGVLZXlJbmZvID0gYXNuMS5kZWZpbmUoJ0VuY3J5cHRlZFByaXZhdGVLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykuc2VxKCkub2JqKFxuICAgICAgdGhpcy5rZXkoJ2lkJykub2JqaWQoKSxcbiAgICAgIHRoaXMua2V5KCdkZWNyeXB0Jykuc2VxKCkub2JqKFxuICAgICAgICB0aGlzLmtleSgna2RlJykuc2VxKCkub2JqKFxuICAgICAgICAgIHRoaXMua2V5KCdpZCcpLm9iamlkKCksXG4gICAgICAgICAgdGhpcy5rZXkoJ2tkZXBhcmFtcycpLnNlcSgpLm9iaihcbiAgICAgICAgICAgIHRoaXMua2V5KCdzYWx0Jykub2N0c3RyKCksXG4gICAgICAgICAgICB0aGlzLmtleSgnaXRlcnMnKS5pbnQoKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5rZXkoJ2NpcGhlcicpLnNlcSgpLm9iaihcbiAgICAgICAgICB0aGlzLmtleSgnYWxnbycpLm9iamlkKCksXG4gICAgICAgICAgdGhpcy5rZXkoJ2l2Jykub2N0c3RyKClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgdGhpcy5rZXkoJ3N1YmplY3RQcml2YXRlS2V5Jykub2N0c3RyKClcbiAgKVxufSlcblxuZXhwb3J0cy5FbmNyeXB0ZWRQcml2YXRlS2V5ID0gRW5jcnlwdGVkUHJpdmF0ZUtleUluZm9cblxudmFyIERTQVByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnRFNBUHJpdmF0ZUtleScsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ3ZlcnNpb24nKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncCcpLmludCgpLFxuICAgIHRoaXMua2V5KCdxJykuaW50KCksXG4gICAgdGhpcy5rZXkoJ2cnKS5pbnQoKSxcbiAgICB0aGlzLmtleSgncHViX2tleScpLmludCgpLFxuICAgIHRoaXMua2V5KCdwcml2X2tleScpLmludCgpXG4gIClcbn0pXG5leHBvcnRzLkRTQVByaXZhdGVLZXkgPSBEU0FQcml2YXRlS2V5XG5cbmV4cG9ydHMuRFNBcGFyYW0gPSBhc24xLmRlZmluZSgnRFNBcGFyYW0nLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuaW50KClcbn0pXG5cbnZhciBFQ1ByaXZhdGVLZXkgPSBhc24xLmRlZmluZSgnRUNQcml2YXRlS2V5JywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmludCgpLFxuICAgIHRoaXMua2V5KCdwcml2YXRlS2V5Jykub2N0c3RyKCksXG4gICAgdGhpcy5rZXkoJ3BhcmFtZXRlcnMnKS5vcHRpb25hbCgpLmV4cGxpY2l0KDApLnVzZShFQ1BhcmFtZXRlcnMpLFxuICAgIHRoaXMua2V5KCdwdWJsaWNLZXknKS5vcHRpb25hbCgpLmV4cGxpY2l0KDEpLmJpdHN0cigpXG4gIClcbn0pXG5leHBvcnRzLkVDUHJpdmF0ZUtleSA9IEVDUHJpdmF0ZUtleVxuXG52YXIgRUNQYXJhbWV0ZXJzID0gYXNuMS5kZWZpbmUoJ0VDUGFyYW1ldGVycycsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5jaG9pY2Uoe1xuICAgIG5hbWVkQ3VydmU6IHRoaXMub2JqaWQoKVxuICB9KVxufSlcblxuZXhwb3J0cy5zaWduYXR1cmUgPSBhc24xLmRlZmluZSgnc2lnbmF0dXJlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgncicpLmludCgpLFxuICAgIHRoaXMua2V5KCdzJykuaW50KClcbiAgKVxufSlcbiIsIi8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1JhbnRhbmVuL25vZGUtZHRscy9ibG9iLzI1YTdkYzg2MWJkYTM4Y2ZlYWM5M2E3MjM1MDBlZWE0ZjBhYzJlODYvQ2VydGlmaWNhdGUuanNcbi8vIHRoYW5rcyB0byBAUmFudGFuZW5cblxuJ3VzZSBzdHJpY3QnXG5cbnZhciBhc24gPSByZXF1aXJlKCdhc24xLmpzJylcblxudmFyIFRpbWUgPSBhc24uZGVmaW5lKCdUaW1lJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLmNob2ljZSh7XG4gICAgdXRjVGltZTogdGhpcy51dGN0aW1lKCksXG4gICAgZ2VuZXJhbFRpbWU6IHRoaXMuZ2VudGltZSgpXG4gIH0pXG59KVxuXG52YXIgQXR0cmlidXRlVHlwZVZhbHVlID0gYXNuLmRlZmluZSgnQXR0cmlidXRlVHlwZVZhbHVlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndHlwZScpLm9iamlkKCksXG4gICAgdGhpcy5rZXkoJ3ZhbHVlJykuYW55KClcbiAgKVxufSlcblxudmFyIEFsZ29yaXRobUlkZW50aWZpZXIgPSBhc24uZGVmaW5lKCdBbGdvcml0aG1JZGVudGlmaWVyJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykub2JqaWQoKSxcbiAgICB0aGlzLmtleSgncGFyYW1ldGVycycpLm9wdGlvbmFsKCksXG4gICAgdGhpcy5rZXkoJ2N1cnZlJykub2JqaWQoKS5vcHRpb25hbCgpXG4gIClcbn0pXG5cbnZhciBTdWJqZWN0UHVibGljS2V5SW5mbyA9IGFzbi5kZWZpbmUoJ1N1YmplY3RQdWJsaWNLZXlJbmZvJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgnYWxnb3JpdGhtJykudXNlKEFsZ29yaXRobUlkZW50aWZpZXIpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5JykuYml0c3RyKClcbiAgKVxufSlcblxudmFyIFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUgPSBhc24uZGVmaW5lKCdSZWxhdGl2ZURpc3Rpbmd1aXNoZWROYW1lJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNldG9mKEF0dHJpYnV0ZVR5cGVWYWx1ZSlcbn0pXG5cbnZhciBSRE5TZXF1ZW5jZSA9IGFzbi5kZWZpbmUoJ1JETlNlcXVlbmNlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcW9mKFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUpXG59KVxuXG52YXIgTmFtZSA9IGFzbi5kZWZpbmUoJ05hbWUnLCBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuY2hvaWNlKHtcbiAgICByZG5TZXF1ZW5jZTogdGhpcy51c2UoUkROU2VxdWVuY2UpXG4gIH0pXG59KVxuXG52YXIgVmFsaWRpdHkgPSBhc24uZGVmaW5lKCdWYWxpZGl0eScsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ25vdEJlZm9yZScpLnVzZShUaW1lKSxcbiAgICB0aGlzLmtleSgnbm90QWZ0ZXInKS51c2UoVGltZSlcbiAgKVxufSlcblxudmFyIEV4dGVuc2lvbiA9IGFzbi5kZWZpbmUoJ0V4dGVuc2lvbicsIGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5zZXEoKS5vYmooXG4gICAgdGhpcy5rZXkoJ2V4dG5JRCcpLm9iamlkKCksXG4gICAgdGhpcy5rZXkoJ2NyaXRpY2FsJykuYm9vbCgpLmRlZihmYWxzZSksXG4gICAgdGhpcy5rZXkoJ2V4dG5WYWx1ZScpLm9jdHN0cigpXG4gIClcbn0pXG5cbnZhciBUQlNDZXJ0aWZpY2F0ZSA9IGFzbi5kZWZpbmUoJ1RCU0NlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndmVyc2lvbicpLmV4cGxpY2l0KDApLmludCgpLm9wdGlvbmFsKCksXG4gICAgdGhpcy5rZXkoJ3NlcmlhbE51bWJlcicpLmludCgpLFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmUnKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXG4gICAgdGhpcy5rZXkoJ2lzc3VlcicpLnVzZShOYW1lKSxcbiAgICB0aGlzLmtleSgndmFsaWRpdHknKS51c2UoVmFsaWRpdHkpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0JykudXNlKE5hbWUpLFxuICAgIHRoaXMua2V5KCdzdWJqZWN0UHVibGljS2V5SW5mbycpLnVzZShTdWJqZWN0UHVibGljS2V5SW5mbyksXG4gICAgdGhpcy5rZXkoJ2lzc3VlclVuaXF1ZUlEJykuaW1wbGljaXQoMSkuYml0c3RyKCkub3B0aW9uYWwoKSxcbiAgICB0aGlzLmtleSgnc3ViamVjdFVuaXF1ZUlEJykuaW1wbGljaXQoMikuYml0c3RyKCkub3B0aW9uYWwoKSxcbiAgICB0aGlzLmtleSgnZXh0ZW5zaW9ucycpLmV4cGxpY2l0KDMpLnNlcW9mKEV4dGVuc2lvbikub3B0aW9uYWwoKVxuICApXG59KVxuXG52YXIgWDUwOUNlcnRpZmljYXRlID0gYXNuLmRlZmluZSgnWDUwOUNlcnRpZmljYXRlJywgZnVuY3Rpb24gKCkge1xuICB0aGlzLnNlcSgpLm9iaihcbiAgICB0aGlzLmtleSgndGJzQ2VydGlmaWNhdGUnKS51c2UoVEJTQ2VydGlmaWNhdGUpLFxuICAgIHRoaXMua2V5KCdzaWduYXR1cmVBbGdvcml0aG0nKS51c2UoQWxnb3JpdGhtSWRlbnRpZmllciksXG4gICAgdGhpcy5rZXkoJ3NpZ25hdHVyZVZhbHVlJykuYml0c3RyKClcbiAgKVxufSlcblxubW9kdWxlLmV4cG9ydHMgPSBYNTA5Q2VydGlmaWNhdGVcbiIsIi8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYXBhdGlsL3BlbXN0cmlwXG52YXIgZmluZFByb2MgPSAvUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRFtcXG5cXHJdK0RFSy1JbmZvOiBBRVMtKCg/OjEyOCl8KD86MTkyKXwoPzoyNTYpKS1DQkMsKFswLTlBLUhdKylbXFxuXFxyXSsoWzAtOUEtelxcblxccisvPV0rKVtcXG5cXHJdKy9tXG52YXIgc3RhcnRSZWdleCA9IC9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0vbVxudmFyIGZ1bGxSZWdleCA9IC9eLS0tLS1CRUdJTiAoKD86Lio/IEtFWSl8Q0VSVElGSUNBVEUpLS0tLS0oWzAtOUEtelxcblxccisvPV0rKS0tLS0tRU5EIFxcMS0tLS0tJC9tXG52YXIgZXZwID0gcmVxdWlyZSgnZXZwX2J5dGVzdG9rZXknKVxudmFyIGNpcGhlcnMgPSByZXF1aXJlKCdicm93c2VyaWZ5LWFlcycpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9rZXksIHBhc3N3b3JkKSB7XG4gIHZhciBrZXkgPSBva2V5LnRvU3RyaW5nKClcbiAgdmFyIG1hdGNoID0ga2V5Lm1hdGNoKGZpbmRQcm9jKVxuICB2YXIgZGVjcnlwdGVkXG4gIGlmICghbWF0Y2gpIHtcbiAgICB2YXIgbWF0Y2gyID0ga2V5Lm1hdGNoKGZ1bGxSZWdleClcbiAgICBkZWNyeXB0ZWQgPSBCdWZmZXIuZnJvbShtYXRjaDJbMl0ucmVwbGFjZSgvW1xcclxcbl0vZywgJycpLCAnYmFzZTY0JylcbiAgfSBlbHNlIHtcbiAgICB2YXIgc3VpdGUgPSAnYWVzJyArIG1hdGNoWzFdXG4gICAgdmFyIGl2ID0gQnVmZmVyLmZyb20obWF0Y2hbMl0sICdoZXgnKVxuICAgIHZhciBjaXBoZXJUZXh0ID0gQnVmZmVyLmZyb20obWF0Y2hbM10ucmVwbGFjZSgvW1xcclxcbl0vZywgJycpLCAnYmFzZTY0JylcbiAgICB2YXIgY2lwaGVyS2V5ID0gZXZwKHBhc3N3b3JkLCBpdi5zbGljZSgwLCA4KSwgcGFyc2VJbnQobWF0Y2hbMV0sIDEwKSkua2V5XG4gICAgdmFyIG91dCA9IFtdXG4gICAgdmFyIGNpcGhlciA9IGNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdihzdWl0ZSwgY2lwaGVyS2V5LCBpdilcbiAgICBvdXQucHVzaChjaXBoZXIudXBkYXRlKGNpcGhlclRleHQpKVxuICAgIG91dC5wdXNoKGNpcGhlci5maW5hbCgpKVxuICAgIGRlY3J5cHRlZCA9IEJ1ZmZlci5jb25jYXQob3V0KVxuICB9XG4gIHZhciB0YWcgPSBrZXkubWF0Y2goc3RhcnRSZWdleClbMV1cbiAgcmV0dXJuIHtcbiAgICB0YWc6IHRhZyxcbiAgICBkYXRhOiBkZWNyeXB0ZWRcbiAgfVxufVxuIiwidmFyIGFzbjEgPSByZXF1aXJlKCcuL2FzbjEnKVxudmFyIGFlc2lkID0gcmVxdWlyZSgnLi9hZXNpZC5qc29uJylcbnZhciBmaXhQcm9jID0gcmVxdWlyZSgnLi9maXhQcm9jJylcbnZhciBjaXBoZXJzID0gcmVxdWlyZSgnYnJvd3NlcmlmeS1hZXMnKVxudmFyIGNvbXBhdCA9IHJlcXVpcmUoJ3Bia2RmMicpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbm1vZHVsZS5leHBvcnRzID0gcGFyc2VLZXlzXG5cbmZ1bmN0aW9uIHBhcnNlS2V5cyAoYnVmZmVyKSB7XG4gIHZhciBwYXNzd29yZFxuICBpZiAodHlwZW9mIGJ1ZmZlciA9PT0gJ29iamVjdCcgJiYgIUJ1ZmZlci5pc0J1ZmZlcihidWZmZXIpKSB7XG4gICAgcGFzc3dvcmQgPSBidWZmZXIucGFzc3BocmFzZVxuICAgIGJ1ZmZlciA9IGJ1ZmZlci5rZXlcbiAgfVxuICBpZiAodHlwZW9mIGJ1ZmZlciA9PT0gJ3N0cmluZycpIHtcbiAgICBidWZmZXIgPSBCdWZmZXIuZnJvbShidWZmZXIpXG4gIH1cblxuICB2YXIgc3RyaXBwZWQgPSBmaXhQcm9jKGJ1ZmZlciwgcGFzc3dvcmQpXG5cbiAgdmFyIHR5cGUgPSBzdHJpcHBlZC50YWdcbiAgdmFyIGRhdGEgPSBzdHJpcHBlZC5kYXRhXG4gIHZhciBzdWJ0eXBlLCBuZGF0YVxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdDRVJUSUZJQ0FURSc6XG4gICAgICBuZGF0YSA9IGFzbjEuY2VydGlmaWNhdGUuZGVjb2RlKGRhdGEsICdkZXInKS50YnNDZXJ0aWZpY2F0ZS5zdWJqZWN0UHVibGljS2V5SW5mb1xuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgIGNhc2UgJ1BVQkxJQyBLRVknOlxuICAgICAgaWYgKCFuZGF0YSkge1xuICAgICAgICBuZGF0YSA9IGFzbjEuUHVibGljS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIH1cbiAgICAgIHN1YnR5cGUgPSBuZGF0YS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oJy4nKVxuICAgICAgc3dpdGNoIChzdWJ0eXBlKSB7XG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTEzNTQ5LjEuMS4xJzpcbiAgICAgICAgICByZXR1cm4gYXNuMS5SU0FQdWJsaWNLZXkuZGVjb2RlKG5kYXRhLnN1YmplY3RQdWJsaWNLZXkuZGF0YSwgJ2RlcicpXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDUuMi4xJzpcbiAgICAgICAgICBuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSA9IG5kYXRhLnN1YmplY3RQdWJsaWNLZXlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ2VjJyxcbiAgICAgICAgICAgIGRhdGE6IG5kYXRhXG4gICAgICAgICAgfVxuICAgICAgICBjYXNlICcxLjIuODQwLjEwMDQwLjQuMSc6XG4gICAgICAgICAgbmRhdGEuYWxnb3JpdGhtLnBhcmFtcy5wdWJfa2V5ID0gYXNuMS5EU0FwYXJhbS5kZWNvZGUobmRhdGEuc3ViamVjdFB1YmxpY0tleS5kYXRhLCAnZGVyJylcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogJ2RzYScsXG4gICAgICAgICAgICBkYXRhOiBuZGF0YS5hbGdvcml0aG0ucGFyYW1zXG4gICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24ga2V5IGlkICcgKyBzdWJ0eXBlKVxuICAgICAgfVxuICAgICAgLy8gdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxuICAgIGNhc2UgJ0VOQ1JZUFRFRCBQUklWQVRFIEtFWSc6XG4gICAgICBkYXRhID0gYXNuMS5FbmNyeXB0ZWRQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIGRhdGEgPSBkZWNyeXB0KGRhdGEsIHBhc3N3b3JkKVxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuICAgIGNhc2UgJ1BSSVZBVEUgS0VZJzpcbiAgICAgIG5kYXRhID0gYXNuMS5Qcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIHN1YnR5cGUgPSBuZGF0YS5hbGdvcml0aG0uYWxnb3JpdGhtLmpvaW4oJy4nKVxuICAgICAgc3dpdGNoIChzdWJ0eXBlKSB7XG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTEzNTQ5LjEuMS4xJzpcbiAgICAgICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSwgJ2RlcicpXG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDUuMi4xJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VydmU6IG5kYXRhLmFsZ29yaXRobS5jdXJ2ZSxcbiAgICAgICAgICAgIHByaXZhdGVLZXk6IGFzbjEuRUNQcml2YXRlS2V5LmRlY29kZShuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleSwgJ2RlcicpLnByaXZhdGVLZXlcbiAgICAgICAgICB9XG4gICAgICAgIGNhc2UgJzEuMi44NDAuMTAwNDAuNC4xJzpcbiAgICAgICAgICBuZGF0YS5hbGdvcml0aG0ucGFyYW1zLnByaXZfa2V5ID0gYXNuMS5EU0FwYXJhbS5kZWNvZGUobmRhdGEuc3ViamVjdFByaXZhdGVLZXksICdkZXInKVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiAnZHNhJyxcbiAgICAgICAgICAgIHBhcmFtczogbmRhdGEuYWxnb3JpdGhtLnBhcmFtc1xuICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSBpZCAnICsgc3VidHlwZSlcbiAgICAgIH1cbiAgICAgIC8vIHRocm93IG5ldyBFcnJvcigndW5rbm93biBrZXkgdHlwZSAnICsgdHlwZSlcbiAgICBjYXNlICdSU0EgUFVCTElDIEtFWSc6XG4gICAgICByZXR1cm4gYXNuMS5SU0FQdWJsaWNLZXkuZGVjb2RlKGRhdGEsICdkZXInKVxuICAgIGNhc2UgJ1JTQSBQUklWQVRFIEtFWSc6XG4gICAgICByZXR1cm4gYXNuMS5SU0FQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICBjYXNlICdEU0EgUFJJVkFURSBLRVknOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2RzYScsXG4gICAgICAgIHBhcmFtczogYXNuMS5EU0FQcml2YXRlS2V5LmRlY29kZShkYXRhLCAnZGVyJylcbiAgICAgIH1cbiAgICBjYXNlICdFQyBQUklWQVRFIEtFWSc6XG4gICAgICBkYXRhID0gYXNuMS5FQ1ByaXZhdGVLZXkuZGVjb2RlKGRhdGEsICdkZXInKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY3VydmU6IGRhdGEucGFyYW1ldGVycy52YWx1ZSxcbiAgICAgICAgcHJpdmF0ZUtleTogZGF0YS5wcml2YXRlS2V5XG4gICAgICB9XG4gICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIGtleSB0eXBlICcgKyB0eXBlKVxuICB9XG59XG5wYXJzZUtleXMuc2lnbmF0dXJlID0gYXNuMS5zaWduYXR1cmVcbmZ1bmN0aW9uIGRlY3J5cHQgKGRhdGEsIHBhc3N3b3JkKSB7XG4gIHZhciBzYWx0ID0gZGF0YS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLnNhbHRcbiAgdmFyIGl0ZXJzID0gcGFyc2VJbnQoZGF0YS5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5nKCksIDEwKVxuICB2YXIgYWxnbyA9IGFlc2lkW2RhdGEuYWxnb3JpdGhtLmRlY3J5cHQuY2lwaGVyLmFsZ28uam9pbignLicpXVxuICB2YXIgaXYgPSBkYXRhLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5pdlxuICB2YXIgY2lwaGVyVGV4dCA9IGRhdGEuc3ViamVjdFByaXZhdGVLZXlcbiAgdmFyIGtleWxlbiA9IHBhcnNlSW50KGFsZ28uc3BsaXQoJy0nKVsxXSwgMTApIC8gOFxuICB2YXIga2V5ID0gY29tcGF0LnBia2RmMlN5bmMocGFzc3dvcmQsIHNhbHQsIGl0ZXJzLCBrZXlsZW4sICdzaGExJylcbiAgdmFyIGNpcGhlciA9IGNpcGhlcnMuY3JlYXRlRGVjaXBoZXJpdihhbGdvLCBrZXksIGl2KVxuICB2YXIgb3V0ID0gW11cbiAgb3V0LnB1c2goY2lwaGVyLnVwZGF0ZShjaXBoZXJUZXh0KSlcbiAgb3V0LnB1c2goY2lwaGVyLmZpbmFsKCkpXG4gIHJldHVybiBCdWZmZXIuY29uY2F0KG91dClcbn1cbiIsImV4cG9ydHMucGJrZGYyID0gcmVxdWlyZSgnLi9saWIvYXN5bmMnKVxuZXhwb3J0cy5wYmtkZjJTeW5jID0gcmVxdWlyZSgnLi9saWIvc3luYycpXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIGNoZWNrUGFyYW1ldGVycyA9IHJlcXVpcmUoJy4vcHJlY29uZGl0aW9uJylcbnZhciBkZWZhdWx0RW5jb2RpbmcgPSByZXF1aXJlKCcuL2RlZmF1bHQtZW5jb2RpbmcnKVxudmFyIHN5bmMgPSByZXF1aXJlKCcuL3N5bmMnKVxudmFyIHRvQnVmZmVyID0gcmVxdWlyZSgnLi90by1idWZmZXInKVxuXG52YXIgWkVST19CVUZcbnZhciBzdWJ0bGUgPSBnbG9iYWwuY3J5cHRvICYmIGdsb2JhbC5jcnlwdG8uc3VidGxlXG52YXIgdG9Ccm93c2VyID0ge1xuICBzaGE6ICdTSEEtMScsXG4gICdzaGEtMSc6ICdTSEEtMScsXG4gIHNoYTE6ICdTSEEtMScsXG4gIHNoYTI1NjogJ1NIQS0yNTYnLFxuICAnc2hhLTI1Nic6ICdTSEEtMjU2JyxcbiAgc2hhMzg0OiAnU0hBLTM4NCcsXG4gICdzaGEtMzg0JzogJ1NIQS0zODQnLFxuICAnc2hhLTUxMic6ICdTSEEtNTEyJyxcbiAgc2hhNTEyOiAnU0hBLTUxMidcbn1cbnZhciBjaGVja3MgPSBbXVxuZnVuY3Rpb24gY2hlY2tOYXRpdmUgKGFsZ28pIHtcbiAgaWYgKGdsb2JhbC5wcm9jZXNzICYmICFnbG9iYWwucHJvY2Vzcy5icm93c2VyKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSlcbiAgfVxuICBpZiAoIXN1YnRsZSB8fCAhc3VidGxlLmltcG9ydEtleSB8fCAhc3VidGxlLmRlcml2ZUJpdHMpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKVxuICB9XG4gIGlmIChjaGVja3NbYWxnb10gIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBjaGVja3NbYWxnb11cbiAgfVxuICBaRVJPX0JVRiA9IFpFUk9fQlVGIHx8IEJ1ZmZlci5hbGxvYyg4KVxuICB2YXIgcHJvbSA9IGJyb3dzZXJQYmtkZjIoWkVST19CVUYsIFpFUk9fQlVGLCAxMCwgMTI4LCBhbGdvKVxuICAgIC50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgY2hlY2tzW2FsZ29dID0gcHJvbVxuICByZXR1cm4gcHJvbVxufVxuXG5mdW5jdGlvbiBicm93c2VyUGJrZGYyIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywgbGVuZ3RoLCBhbGdvKSB7XG4gIHJldHVybiBzdWJ0bGUuaW1wb3J0S2V5KFxuICAgICdyYXcnLCBwYXNzd29yZCwgeyBuYW1lOiAnUEJLREYyJyB9LCBmYWxzZSwgWydkZXJpdmVCaXRzJ11cbiAgKS50aGVuKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gc3VidGxlLmRlcml2ZUJpdHMoe1xuICAgICAgbmFtZTogJ1BCS0RGMicsXG4gICAgICBzYWx0OiBzYWx0LFxuICAgICAgaXRlcmF0aW9uczogaXRlcmF0aW9ucyxcbiAgICAgIGhhc2g6IHtcbiAgICAgICAgbmFtZTogYWxnb1xuICAgICAgfVxuICAgIH0sIGtleSwgbGVuZ3RoIDw8IDMpXG4gIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShyZXMpXG4gIH0pXG59XG5cbmZ1bmN0aW9uIHJlc29sdmVQcm9taXNlIChwcm9taXNlLCBjYWxsYmFjaykge1xuICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKG91dCkge1xuICAgIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gKCkge1xuICAgICAgY2FsbGJhY2sobnVsbCwgb3V0KVxuICAgIH0pXG4gIH0sIGZ1bmN0aW9uIChlKSB7XG4gICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBjYWxsYmFjayhlKVxuICAgIH0pXG4gIH0pXG59XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2YgZGlnZXN0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2FsbGJhY2sgPSBkaWdlc3RcbiAgICBkaWdlc3QgPSB1bmRlZmluZWRcbiAgfVxuXG4gIGRpZ2VzdCA9IGRpZ2VzdCB8fCAnc2hhMSdcbiAgdmFyIGFsZ28gPSB0b0Jyb3dzZXJbZGlnZXN0LnRvTG93ZXJDYXNlKCldXG5cbiAgaWYgKCFhbGdvIHx8IHR5cGVvZiBnbG9iYWwuUHJvbWlzZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBvdXRcbiAgICAgIHRyeSB7XG4gICAgICAgIG91dCA9IHN5bmMocGFzc3dvcmQsIHNhbHQsIGl0ZXJhdGlvbnMsIGtleWxlbiwgZGlnZXN0KVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soZSlcbiAgICAgIH1cbiAgICAgIGNhbGxiYWNrKG51bGwsIG91dClcbiAgICB9KVxuICB9XG5cbiAgY2hlY2tQYXJhbWV0ZXJzKGl0ZXJhdGlvbnMsIGtleWxlbilcbiAgcGFzc3dvcmQgPSB0b0J1ZmZlcihwYXNzd29yZCwgZGVmYXVsdEVuY29kaW5nLCAnUGFzc3dvcmQnKVxuICBzYWx0ID0gdG9CdWZmZXIoc2FsdCwgZGVmYXVsdEVuY29kaW5nLCAnU2FsdCcpXG4gIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHRocm93IG5ldyBFcnJvcignTm8gY2FsbGJhY2sgcHJvdmlkZWQgdG8gcGJrZGYyJylcblxuICByZXNvbHZlUHJvbWlzZShjaGVja05hdGl2ZShhbGdvKS50aGVuKGZ1bmN0aW9uIChyZXNwKSB7XG4gICAgaWYgKHJlc3ApIHJldHVybiBicm93c2VyUGJrZGYyKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4sIGFsZ28pXG5cbiAgICByZXR1cm4gc3luYyhwYXNzd29yZCwgc2FsdCwgaXRlcmF0aW9ucywga2V5bGVuLCBkaWdlc3QpXG4gIH0pLCBjYWxsYmFjaylcbn1cbiIsInZhciBkZWZhdWx0RW5jb2Rpbmdcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5pZiAocHJvY2Vzcy5icm93c2VyKSB7XG4gIGRlZmF1bHRFbmNvZGluZyA9ICd1dGYtOCdcbn0gZWxzZSBpZiAocHJvY2Vzcy52ZXJzaW9uKSB7XG4gIHZhciBwVmVyc2lvbk1ham9yID0gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9uLnNwbGl0KCcuJylbMF0uc2xpY2UoMSksIDEwKVxuXG4gIGRlZmF1bHRFbmNvZGluZyA9IHBWZXJzaW9uTWFqb3IgPj0gNiA/ICd1dGYtOCcgOiAnYmluYXJ5J1xufSBlbHNlIHtcbiAgZGVmYXVsdEVuY29kaW5nID0gJ3V0Zi04J1xufVxubW9kdWxlLmV4cG9ydHMgPSBkZWZhdWx0RW5jb2RpbmdcbiIsInZhciBNQVhfQUxMT0MgPSBNYXRoLnBvdygyLCAzMCkgLSAxIC8vIGRlZmF1bHQgaW4gaW9qc1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVyYXRpb25zLCBrZXlsZW4pIHtcbiAgaWYgKHR5cGVvZiBpdGVyYXRpb25zICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0l0ZXJhdGlvbnMgbm90IGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmIChpdGVyYXRpb25zIDwgMCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0JhZCBpdGVyYXRpb25zJylcbiAgfVxuXG4gIGlmICh0eXBlb2Yga2V5bGVuICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0tleSBsZW5ndGggbm90IGEgbnVtYmVyJylcbiAgfVxuXG4gIGlmIChrZXlsZW4gPCAwIHx8IGtleWxlbiA+IE1BWF9BTExPQyB8fCBrZXlsZW4gIT09IGtleWxlbikgeyAvKiBlc2xpbnQgbm8tc2VsZi1jb21wYXJlOiAwICovXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQmFkIGtleSBsZW5ndGgnKVxuICB9XG59XG4iLCJ2YXIgbWQ1ID0gcmVxdWlyZSgnY3JlYXRlLWhhc2gvbWQ1JylcbnZhciBSSVBFTUQxNjAgPSByZXF1aXJlKCdyaXBlbWQxNjAnKVxudmFyIHNoYSA9IHJlcXVpcmUoJ3NoYS5qcycpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIGNoZWNrUGFyYW1ldGVycyA9IHJlcXVpcmUoJy4vcHJlY29uZGl0aW9uJylcbnZhciBkZWZhdWx0RW5jb2RpbmcgPSByZXF1aXJlKCcuL2RlZmF1bHQtZW5jb2RpbmcnKVxudmFyIHRvQnVmZmVyID0gcmVxdWlyZSgnLi90by1idWZmZXInKVxuXG52YXIgWkVST1MgPSBCdWZmZXIuYWxsb2MoMTI4KVxudmFyIHNpemVzID0ge1xuICBtZDU6IDE2LFxuICBzaGExOiAyMCxcbiAgc2hhMjI0OiAyOCxcbiAgc2hhMjU2OiAzMixcbiAgc2hhMzg0OiA0OCxcbiAgc2hhNTEyOiA2NCxcbiAgcm1kMTYwOiAyMCxcbiAgcmlwZW1kMTYwOiAyMFxufVxuXG5mdW5jdGlvbiBIbWFjIChhbGcsIGtleSwgc2FsdExlbikge1xuICB2YXIgaGFzaCA9IGdldERpZ2VzdChhbGcpXG4gIHZhciBibG9ja3NpemUgPSAoYWxnID09PSAnc2hhNTEyJyB8fCBhbGcgPT09ICdzaGEzODQnKSA/IDEyOCA6IDY0XG5cbiAgaWYgKGtleS5sZW5ndGggPiBibG9ja3NpemUpIHtcbiAgICBrZXkgPSBoYXNoKGtleSlcbiAgfSBlbHNlIGlmIChrZXkubGVuZ3RoIDwgYmxvY2tzaXplKSB7XG4gICAga2V5ID0gQnVmZmVyLmNvbmNhdChba2V5LCBaRVJPU10sIGJsb2Nrc2l6ZSlcbiAgfVxuXG4gIHZhciBpcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSArIHNpemVzW2FsZ10pXG4gIHZhciBvcGFkID0gQnVmZmVyLmFsbG9jVW5zYWZlKGJsb2Nrc2l6ZSArIHNpemVzW2FsZ10pXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tzaXplOyBpKyspIHtcbiAgICBpcGFkW2ldID0ga2V5W2ldIF4gMHgzNlxuICAgIG9wYWRbaV0gPSBrZXlbaV0gXiAweDVDXG4gIH1cblxuICB2YXIgaXBhZDEgPSBCdWZmZXIuYWxsb2NVbnNhZmUoYmxvY2tzaXplICsgc2FsdExlbiArIDQpXG4gIGlwYWQuY29weShpcGFkMSwgMCwgMCwgYmxvY2tzaXplKVxuICB0aGlzLmlwYWQxID0gaXBhZDFcbiAgdGhpcy5pcGFkMiA9IGlwYWRcbiAgdGhpcy5vcGFkID0gb3BhZFxuICB0aGlzLmFsZyA9IGFsZ1xuICB0aGlzLmJsb2Nrc2l6ZSA9IGJsb2Nrc2l6ZVxuICB0aGlzLmhhc2ggPSBoYXNoXG4gIHRoaXMuc2l6ZSA9IHNpemVzW2FsZ11cbn1cblxuSG1hYy5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKGRhdGEsIGlwYWQpIHtcbiAgZGF0YS5jb3B5KGlwYWQsIHRoaXMuYmxvY2tzaXplKVxuICB2YXIgaCA9IHRoaXMuaGFzaChpcGFkKVxuICBoLmNvcHkodGhpcy5vcGFkLCB0aGlzLmJsb2Nrc2l6ZSlcbiAgcmV0dXJuIHRoaXMuaGFzaCh0aGlzLm9wYWQpXG59XG5cbmZ1bmN0aW9uIGdldERpZ2VzdCAoYWxnKSB7XG4gIGZ1bmN0aW9uIHNoYUZ1bmMgKGRhdGEpIHtcbiAgICByZXR1cm4gc2hhKGFsZykudXBkYXRlKGRhdGEpLmRpZ2VzdCgpXG4gIH1cbiAgZnVuY3Rpb24gcm1kMTYwRnVuYyAoZGF0YSkge1xuICAgIHJldHVybiBuZXcgUklQRU1EMTYwKCkudXBkYXRlKGRhdGEpLmRpZ2VzdCgpXG4gIH1cblxuICBpZiAoYWxnID09PSAncm1kMTYwJyB8fCBhbGcgPT09ICdyaXBlbWQxNjAnKSByZXR1cm4gcm1kMTYwRnVuY1xuICBpZiAoYWxnID09PSAnbWQ1JykgcmV0dXJuIG1kNVxuICByZXR1cm4gc2hhRnVuY1xufVxuXG5mdW5jdGlvbiBwYmtkZjIgKHBhc3N3b3JkLCBzYWx0LCBpdGVyYXRpb25zLCBrZXlsZW4sIGRpZ2VzdCkge1xuICBjaGVja1BhcmFtZXRlcnMoaXRlcmF0aW9ucywga2V5bGVuKVxuICBwYXNzd29yZCA9IHRvQnVmZmVyKHBhc3N3b3JkLCBkZWZhdWx0RW5jb2RpbmcsICdQYXNzd29yZCcpXG4gIHNhbHQgPSB0b0J1ZmZlcihzYWx0LCBkZWZhdWx0RW5jb2RpbmcsICdTYWx0JylcblxuICBkaWdlc3QgPSBkaWdlc3QgfHwgJ3NoYTEnXG5cbiAgdmFyIGhtYWMgPSBuZXcgSG1hYyhkaWdlc3QsIHBhc3N3b3JkLCBzYWx0Lmxlbmd0aClcblxuICB2YXIgREsgPSBCdWZmZXIuYWxsb2NVbnNhZmUoa2V5bGVuKVxuICB2YXIgYmxvY2sxID0gQnVmZmVyLmFsbG9jVW5zYWZlKHNhbHQubGVuZ3RoICsgNClcbiAgc2FsdC5jb3B5KGJsb2NrMSwgMCwgMCwgc2FsdC5sZW5ndGgpXG5cbiAgdmFyIGRlc3RQb3MgPSAwXG4gIHZhciBoTGVuID0gc2l6ZXNbZGlnZXN0XVxuICB2YXIgbCA9IE1hdGguY2VpbChrZXlsZW4gLyBoTGVuKVxuXG4gIGZvciAodmFyIGkgPSAxOyBpIDw9IGw7IGkrKykge1xuICAgIGJsb2NrMS53cml0ZVVJbnQzMkJFKGksIHNhbHQubGVuZ3RoKVxuXG4gICAgdmFyIFQgPSBobWFjLnJ1bihibG9jazEsIGhtYWMuaXBhZDEpXG4gICAgdmFyIFUgPSBUXG5cbiAgICBmb3IgKHZhciBqID0gMTsgaiA8IGl0ZXJhdGlvbnM7IGorKykge1xuICAgICAgVSA9IGhtYWMucnVuKFUsIGhtYWMuaXBhZDIpXG4gICAgICBmb3IgKHZhciBrID0gMDsgayA8IGhMZW47IGsrKykgVFtrXSBePSBVW2tdXG4gICAgfVxuXG4gICAgVC5jb3B5KERLLCBkZXN0UG9zKVxuICAgIGRlc3RQb3MgKz0gaExlblxuICB9XG5cbiAgcmV0dXJuIERLXG59XG5cbm1vZHVsZS5leHBvcnRzID0gcGJrZGYyXG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodGhpbmcsIGVuY29kaW5nLCBuYW1lKSB7XG4gIGlmIChCdWZmZXIuaXNCdWZmZXIodGhpbmcpKSB7XG4gICAgcmV0dXJuIHRoaW5nXG4gIH0gZWxzZSBpZiAodHlwZW9mIHRoaW5nID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGluZywgZW5jb2RpbmcpXG4gIH0gZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KHRoaW5nKSkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGluZy5idWZmZXIpXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihuYW1lICsgJyBtdXN0IGJlIGEgc3RyaW5nLCBhIEJ1ZmZlciwgYSB0eXBlZCBhcnJheSBvciBhIERhdGFWaWV3JylcbiAgfVxufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5pZiAodHlwZW9mIHByb2Nlc3MgPT09ICd1bmRlZmluZWQnIHx8XG4gICAgIXByb2Nlc3MudmVyc2lvbiB8fFxuICAgIHByb2Nlc3MudmVyc2lvbi5pbmRleE9mKCd2MC4nKSA9PT0gMCB8fFxuICAgIHByb2Nlc3MudmVyc2lvbi5pbmRleE9mKCd2MS4nKSA9PT0gMCAmJiBwcm9jZXNzLnZlcnNpb24uaW5kZXhPZigndjEuOC4nKSAhPT0gMCkge1xuICBtb2R1bGUuZXhwb3J0cyA9IHsgbmV4dFRpY2s6IG5leHRUaWNrIH07XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHByb2Nlc3Ncbn1cblxuZnVuY3Rpb24gbmV4dFRpY2soZm4sIGFyZzEsIGFyZzIsIGFyZzMpIHtcbiAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiY2FsbGJhY2tcIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTtcbiAgfVxuICB2YXIgbGVuID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgdmFyIGFyZ3MsIGk7XG4gIHN3aXRjaCAobGVuKSB7XG4gIGNhc2UgMDpcbiAgY2FzZSAxOlxuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZuKTtcbiAgY2FzZSAyOlxuICAgIHJldHVybiBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uIGFmdGVyVGlja09uZSgpIHtcbiAgICAgIGZuLmNhbGwobnVsbCwgYXJnMSk7XG4gICAgfSk7XG4gIGNhc2UgMzpcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2tUd28oKSB7XG4gICAgICBmbi5jYWxsKG51bGwsIGFyZzEsIGFyZzIpO1xuICAgIH0pO1xuICBjYXNlIDQ6XG4gICAgcmV0dXJuIHByb2Nlc3MubmV4dFRpY2soZnVuY3Rpb24gYWZ0ZXJUaWNrVGhyZWUoKSB7XG4gICAgICBmbi5jYWxsKG51bGwsIGFyZzEsIGFyZzIsIGFyZzMpO1xuICAgIH0pO1xuICBkZWZhdWx0OlxuICAgIGFyZ3MgPSBuZXcgQXJyYXkobGVuIC0gMSk7XG4gICAgaSA9IDA7XG4gICAgd2hpbGUgKGkgPCBhcmdzLmxlbmd0aCkge1xuICAgICAgYXJnc1tpKytdID0gYXJndW1lbnRzW2ldO1xuICAgIH1cbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiBhZnRlclRpY2soKSB7XG4gICAgICBmbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICB9KTtcbiAgfVxufVxuXG4iLCIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuIiwiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBwcmludFdhcm5pbmcgPSBmdW5jdGlvbigpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSByZXF1aXJlKCcuL2xpYi9SZWFjdFByb3BUeXBlc1NlY3JldCcpO1xuICB2YXIgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG4gIHZhciBoYXMgPSBGdW5jdGlvbi5jYWxsLmJpbmQoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSk7XG5cbiAgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24odGV4dCkge1xuICAgIHZhciBtZXNzYWdlID0gJ1dhcm5pbmc6ICcgKyB0ZXh0O1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG59XG5cbi8qKlxuICogQXNzZXJ0IHRoYXQgdGhlIHZhbHVlcyBtYXRjaCB3aXRoIHRoZSB0eXBlIHNwZWNzLlxuICogRXJyb3IgbWVzc2FnZXMgYXJlIG1lbW9yaXplZCBhbmQgd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IHR5cGVTcGVjcyBNYXAgb2YgbmFtZSB0byBhIFJlYWN0UHJvcFR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSB2YWx1ZXMgUnVudGltZSB2YWx1ZXMgdGhhdCBuZWVkIHRvIGJlIHR5cGUtY2hlY2tlZFxuICogQHBhcmFtIHtzdHJpbmd9IGxvY2F0aW9uIGUuZy4gXCJwcm9wXCIsIFwiY29udGV4dFwiLCBcImNoaWxkIGNvbnRleHRcIlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbXBvbmVudE5hbWUgTmFtZSBvZiB0aGUgY29tcG9uZW50IGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7P0Z1bmN0aW9ufSBnZXRTdGFjayBSZXR1cm5zIHRoZSBjb21wb25lbnQgc3RhY2suXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBjaGVja1Byb3BUeXBlcyh0eXBlU3BlY3MsIHZhbHVlcywgbG9jYXRpb24sIGNvbXBvbmVudE5hbWUsIGdldFN0YWNrKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgZm9yICh2YXIgdHlwZVNwZWNOYW1lIGluIHR5cGVTcGVjcykge1xuICAgICAgaWYgKGhhcyh0eXBlU3BlY3MsIHR5cGVTcGVjTmFtZSkpIHtcbiAgICAgICAgdmFyIGVycm9yO1xuICAgICAgICAvLyBQcm9wIHR5cGUgdmFsaWRhdGlvbiBtYXkgdGhyb3cuIEluIGNhc2UgdGhleSBkbywgd2UgZG9uJ3Qgd2FudCB0b1xuICAgICAgICAvLyBmYWlsIHRoZSByZW5kZXIgcGhhc2Ugd2hlcmUgaXQgZGlkbid0IGZhaWwgYmVmb3JlLiBTbyB3ZSBsb2cgaXQuXG4gICAgICAgIC8vIEFmdGVyIHRoZXNlIGhhdmUgYmVlbiBjbGVhbmVkIHVwLCB3ZSdsbCBsZXQgdGhlbSB0aHJvdy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIGlzIGludGVudGlvbmFsbHkgYW4gaW52YXJpYW50IHRoYXQgZ2V0cyBjYXVnaHQuIEl0J3MgdGhlIHNhbWVcbiAgICAgICAgICAvLyBiZWhhdmlvciBhcyB3aXRob3V0IHRoaXMgc3RhdGVtZW50IGV4Y2VwdCB3aXRoIGEgYmV0dGVyIG1lc3NhZ2UuXG4gICAgICAgICAgaWYgKHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdmFyIGVyciA9IEVycm9yKFxuICAgICAgICAgICAgICAoY29tcG9uZW50TmFtZSB8fCAnUmVhY3QgY2xhc3MnKSArICc6ICcgKyBsb2NhdGlvbiArICcgdHlwZSBgJyArIHR5cGVTcGVjTmFtZSArICdgIGlzIGludmFsaWQ7ICcgK1xuICAgICAgICAgICAgICAnaXQgbXVzdCBiZSBhIGZ1bmN0aW9uLCB1c3VhbGx5IGZyb20gdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLCBidXQgcmVjZWl2ZWQgYCcgKyB0eXBlb2YgdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0gKyAnYC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVycm9yID0gdHlwZVNwZWNzW3R5cGVTcGVjTmFtZV0odmFsdWVzLCB0eXBlU3BlY05hbWUsIGNvbXBvbmVudE5hbWUsIGxvY2F0aW9uLCBudWxsLCBSZWFjdFByb3BUeXBlc1NlY3JldCk7XG4gICAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgICAgZXJyb3IgPSBleDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgJiYgIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkge1xuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogdHlwZSBzcGVjaWZpY2F0aW9uIG9mICcgK1xuICAgICAgICAgICAgbG9jYXRpb24gKyAnIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdmdW5jdGlvbiBtdXN0IHJldHVybiBgbnVsbGAgb3IgYW4gYEVycm9yYCBidXQgcmV0dXJuZWQgYSAnICsgdHlwZW9mIGVycm9yICsgJy4gJyArXG4gICAgICAgICAgICAnWW91IG1heSBoYXZlIGZvcmdvdHRlbiB0byBwYXNzIGFuIGFyZ3VtZW50IHRvIHRoZSB0eXBlIGNoZWNrZXIgJyArXG4gICAgICAgICAgICAnY3JlYXRvciAoYXJyYXlPZiwgaW5zdGFuY2VPZiwgb2JqZWN0T2YsIG9uZU9mLCBvbmVPZlR5cGUsIGFuZCAnICtcbiAgICAgICAgICAgICdzaGFwZSBhbGwgcmVxdWlyZSBhbiBhcmd1bWVudCkuJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgIShlcnJvci5tZXNzYWdlIGluIGxvZ2dlZFR5cGVGYWlsdXJlcykpIHtcbiAgICAgICAgICAvLyBPbmx5IG1vbml0b3IgdGhpcyBmYWlsdXJlIG9uY2UgYmVjYXVzZSB0aGVyZSB0ZW5kcyB0byBiZSBhIGxvdCBvZiB0aGVcbiAgICAgICAgICAvLyBzYW1lIGVycm9yLlxuICAgICAgICAgIGxvZ2dlZFR5cGVGYWlsdXJlc1tlcnJvci5tZXNzYWdlXSA9IHRydWU7XG5cbiAgICAgICAgICB2YXIgc3RhY2sgPSBnZXRTdGFjayA/IGdldFN0YWNrKCkgOiAnJztcblxuICAgICAgICAgIHByaW50V2FybmluZyhcbiAgICAgICAgICAgICdGYWlsZWQgJyArIGxvY2F0aW9uICsgJyB0eXBlOiAnICsgZXJyb3IubWVzc2FnZSArIChzdGFjayAhPSBudWxsID8gc3RhY2sgOiAnJylcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVzZXRzIHdhcm5pbmcgY2FjaGUgd2hlbiB0ZXN0aW5nLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmNoZWNrUHJvcFR5cGVzLnJlc2V0V2FybmluZ0NhY2hlID0gZnVuY3Rpb24oKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgbG9nZ2VkVHlwZUZhaWx1cmVzID0ge307XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjaGVja1Byb3BUeXBlcztcbiIsIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xuIiwiZXhwb3J0cy5wdWJsaWNFbmNyeXB0ID0gcmVxdWlyZSgnLi9wdWJsaWNFbmNyeXB0JylcbmV4cG9ydHMucHJpdmF0ZURlY3J5cHQgPSByZXF1aXJlKCcuL3ByaXZhdGVEZWNyeXB0JylcblxuZXhwb3J0cy5wcml2YXRlRW5jcnlwdCA9IGZ1bmN0aW9uIHByaXZhdGVFbmNyeXB0IChrZXksIGJ1Zikge1xuICByZXR1cm4gZXhwb3J0cy5wdWJsaWNFbmNyeXB0KGtleSwgYnVmLCB0cnVlKVxufVxuXG5leHBvcnRzLnB1YmxpY0RlY3J5cHQgPSBmdW5jdGlvbiBwdWJsaWNEZWNyeXB0IChrZXksIGJ1Zikge1xuICByZXR1cm4gZXhwb3J0cy5wcml2YXRlRGVjcnlwdChrZXksIGJ1ZiwgdHJ1ZSlcbn1cbiIsInZhciBjcmVhdGVIYXNoID0gcmVxdWlyZSgnY3JlYXRlLWhhc2gnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHNlZWQsIGxlbikge1xuICB2YXIgdCA9IEJ1ZmZlci5hbGxvYygwKVxuICB2YXIgaSA9IDBcbiAgdmFyIGNcbiAgd2hpbGUgKHQubGVuZ3RoIDwgbGVuKSB7XG4gICAgYyA9IGkyb3BzKGkrKylcbiAgICB0ID0gQnVmZmVyLmNvbmNhdChbdCwgY3JlYXRlSGFzaCgnc2hhMScpLnVwZGF0ZShzZWVkKS51cGRhdGUoYykuZGlnZXN0KCldKVxuICB9XG4gIHJldHVybiB0LnNsaWNlKDAsIGxlbilcbn1cblxuZnVuY3Rpb24gaTJvcHMgKGMpIHtcbiAgdmFyIG91dCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSg0KVxuICBvdXQud3JpdGVVSW50MzJCRShjLCAwKVxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgcGFyc2VLZXlzID0gcmVxdWlyZSgncGFyc2UtYXNuMScpXG52YXIgbWdmID0gcmVxdWlyZSgnLi9tZ2YnKVxudmFyIHhvciA9IHJlcXVpcmUoJy4veG9yJylcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcbnZhciBjcnQgPSByZXF1aXJlKCdicm93c2VyaWZ5LXJzYScpXG52YXIgY3JlYXRlSGFzaCA9IHJlcXVpcmUoJ2NyZWF0ZS1oYXNoJylcbnZhciB3aXRoUHVibGljID0gcmVxdWlyZSgnLi93aXRoUHVibGljJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHByaXZhdGVEZWNyeXB0IChwcml2YXRlS2V5LCBlbmMsIHJldmVyc2UpIHtcbiAgdmFyIHBhZGRpbmdcbiAgaWYgKHByaXZhdGVLZXkucGFkZGluZykge1xuICAgIHBhZGRpbmcgPSBwcml2YXRlS2V5LnBhZGRpbmdcbiAgfSBlbHNlIGlmIChyZXZlcnNlKSB7XG4gICAgcGFkZGluZyA9IDFcbiAgfSBlbHNlIHtcbiAgICBwYWRkaW5nID0gNFxuICB9XG5cbiAgdmFyIGtleSA9IHBhcnNlS2V5cyhwcml2YXRlS2V5KVxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxuICBpZiAoZW5jLmxlbmd0aCA+IGsgfHwgbmV3IEJOKGVuYykuY21wKGtleS5tb2R1bHVzKSA+PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZWNyeXB0aW9uIGVycm9yJylcbiAgfVxuICB2YXIgbXNnXG4gIGlmIChyZXZlcnNlKSB7XG4gICAgbXNnID0gd2l0aFB1YmxpYyhuZXcgQk4oZW5jKSwga2V5KVxuICB9IGVsc2Uge1xuICAgIG1zZyA9IGNydChlbmMsIGtleSlcbiAgfVxuICB2YXIgekJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyhrIC0gbXNnLmxlbmd0aClcbiAgbXNnID0gQnVmZmVyLmNvbmNhdChbekJ1ZmZlciwgbXNnXSwgaylcbiAgaWYgKHBhZGRpbmcgPT09IDQpIHtcbiAgICByZXR1cm4gb2FlcChrZXksIG1zZylcbiAgfSBlbHNlIGlmIChwYWRkaW5nID09PSAxKSB7XG4gICAgcmV0dXJuIHBrY3MxKGtleSwgbXNnLCByZXZlcnNlKVxuICB9IGVsc2UgaWYgKHBhZGRpbmcgPT09IDMpIHtcbiAgICByZXR1cm4gbXNnXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1bmtub3duIHBhZGRpbmcnKVxuICB9XG59XG5cbmZ1bmN0aW9uIG9hZXAgKGtleSwgbXNnKSB7XG4gIHZhciBrID0ga2V5Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpXG4gIHZhciBpSGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTEnKS51cGRhdGUoQnVmZmVyLmFsbG9jKDApKS5kaWdlc3QoKVxuICB2YXIgaExlbiA9IGlIYXNoLmxlbmd0aFxuICBpZiAobXNnWzBdICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZWNyeXB0aW9uIGVycm9yJylcbiAgfVxuICB2YXIgbWFza2VkU2VlZCA9IG1zZy5zbGljZSgxLCBoTGVuICsgMSlcbiAgdmFyIG1hc2tlZERiID0gbXNnLnNsaWNlKGhMZW4gKyAxKVxuICB2YXIgc2VlZCA9IHhvcihtYXNrZWRTZWVkLCBtZ2YobWFza2VkRGIsIGhMZW4pKVxuICB2YXIgZGIgPSB4b3IobWFza2VkRGIsIG1nZihzZWVkLCBrIC0gaExlbiAtIDEpKVxuICBpZiAoY29tcGFyZShpSGFzaCwgZGIuc2xpY2UoMCwgaExlbikpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkZWNyeXB0aW9uIGVycm9yJylcbiAgfVxuICB2YXIgaSA9IGhMZW5cbiAgd2hpbGUgKGRiW2ldID09PSAwKSB7XG4gICAgaSsrXG4gIH1cbiAgaWYgKGRiW2krK10gIT09IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxuICB9XG4gIHJldHVybiBkYi5zbGljZShpKVxufVxuXG5mdW5jdGlvbiBwa2NzMSAoa2V5LCBtc2csIHJldmVyc2UpIHtcbiAgdmFyIHAxID0gbXNnLnNsaWNlKDAsIDIpXG4gIHZhciBpID0gMlxuICB2YXIgc3RhdHVzID0gMFxuICB3aGlsZSAobXNnW2krK10gIT09IDApIHtcbiAgICBpZiAoaSA+PSBtc2cubGVuZ3RoKSB7XG4gICAgICBzdGF0dXMrK1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cbiAgdmFyIHBzID0gbXNnLnNsaWNlKDIsIGkgLSAxKVxuXG4gIGlmICgocDEudG9TdHJpbmcoJ2hleCcpICE9PSAnMDAwMicgJiYgIXJldmVyc2UpIHx8IChwMS50b1N0cmluZygnaGV4JykgIT09ICcwMDAxJyAmJiByZXZlcnNlKSkge1xuICAgIHN0YXR1cysrXG4gIH1cbiAgaWYgKHBzLmxlbmd0aCA8IDgpIHtcbiAgICBzdGF0dXMrK1xuICB9XG4gIGlmIChzdGF0dXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlY3J5cHRpb24gZXJyb3InKVxuICB9XG4gIHJldHVybiBtc2cuc2xpY2UoaSlcbn1cbmZ1bmN0aW9uIGNvbXBhcmUgKGEsIGIpIHtcbiAgYSA9IEJ1ZmZlci5mcm9tKGEpXG4gIGIgPSBCdWZmZXIuZnJvbShiKVxuICB2YXIgZGlmID0gMFxuICB2YXIgbGVuID0gYS5sZW5ndGhcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgIGRpZisrXG4gICAgbGVuID0gTWF0aC5taW4oYS5sZW5ndGgsIGIubGVuZ3RoKVxuICB9XG4gIHZhciBpID0gLTFcbiAgd2hpbGUgKCsraSA8IGxlbikge1xuICAgIGRpZiArPSAoYVtpXSBeIGJbaV0pXG4gIH1cbiAgcmV0dXJuIGRpZlxufVxuIiwidmFyIHBhcnNlS2V5cyA9IHJlcXVpcmUoJ3BhcnNlLWFzbjEnKVxudmFyIHJhbmRvbUJ5dGVzID0gcmVxdWlyZSgncmFuZG9tYnl0ZXMnKVxudmFyIGNyZWF0ZUhhc2ggPSByZXF1aXJlKCdjcmVhdGUtaGFzaCcpXG52YXIgbWdmID0gcmVxdWlyZSgnLi9tZ2YnKVxudmFyIHhvciA9IHJlcXVpcmUoJy4veG9yJylcbnZhciBCTiA9IHJlcXVpcmUoJ2JuLmpzJylcbnZhciB3aXRoUHVibGljID0gcmVxdWlyZSgnLi93aXRoUHVibGljJylcbnZhciBjcnQgPSByZXF1aXJlKCdicm93c2VyaWZ5LXJzYScpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBwdWJsaWNFbmNyeXB0IChwdWJsaWNLZXksIG1zZywgcmV2ZXJzZSkge1xuICB2YXIgcGFkZGluZ1xuICBpZiAocHVibGljS2V5LnBhZGRpbmcpIHtcbiAgICBwYWRkaW5nID0gcHVibGljS2V5LnBhZGRpbmdcbiAgfSBlbHNlIGlmIChyZXZlcnNlKSB7XG4gICAgcGFkZGluZyA9IDFcbiAgfSBlbHNlIHtcbiAgICBwYWRkaW5nID0gNFxuICB9XG4gIHZhciBrZXkgPSBwYXJzZUtleXMocHVibGljS2V5KVxuICB2YXIgcGFkZGVkTXNnXG4gIGlmIChwYWRkaW5nID09PSA0KSB7XG4gICAgcGFkZGVkTXNnID0gb2FlcChrZXksIG1zZylcbiAgfSBlbHNlIGlmIChwYWRkaW5nID09PSAxKSB7XG4gICAgcGFkZGVkTXNnID0gcGtjczEoa2V5LCBtc2csIHJldmVyc2UpXG4gIH0gZWxzZSBpZiAocGFkZGluZyA9PT0gMykge1xuICAgIHBhZGRlZE1zZyA9IG5ldyBCTihtc2cpXG4gICAgaWYgKHBhZGRlZE1zZy5jbXAoa2V5Lm1vZHVsdXMpID49IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGF0YSB0b28gbG9uZyBmb3IgbW9kdWx1cycpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcigndW5rbm93biBwYWRkaW5nJylcbiAgfVxuICBpZiAocmV2ZXJzZSkge1xuICAgIHJldHVybiBjcnQocGFkZGVkTXNnLCBrZXkpXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHdpdGhQdWJsaWMocGFkZGVkTXNnLCBrZXkpXG4gIH1cbn1cblxuZnVuY3Rpb24gb2FlcCAoa2V5LCBtc2cpIHtcbiAgdmFyIGsgPSBrZXkubW9kdWx1cy5ieXRlTGVuZ3RoKClcbiAgdmFyIG1MZW4gPSBtc2cubGVuZ3RoXG4gIHZhciBpSGFzaCA9IGNyZWF0ZUhhc2goJ3NoYTEnKS51cGRhdGUoQnVmZmVyLmFsbG9jKDApKS5kaWdlc3QoKVxuICB2YXIgaExlbiA9IGlIYXNoLmxlbmd0aFxuICB2YXIgaExlbjIgPSAyICogaExlblxuICBpZiAobUxlbiA+IGsgLSBoTGVuMiAtIDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ21lc3NhZ2UgdG9vIGxvbmcnKVxuICB9XG4gIHZhciBwcyA9IEJ1ZmZlci5hbGxvYyhrIC0gbUxlbiAtIGhMZW4yIC0gMilcbiAgdmFyIGRibGVuID0gayAtIGhMZW4gLSAxXG4gIHZhciBzZWVkID0gcmFuZG9tQnl0ZXMoaExlbilcbiAgdmFyIG1hc2tlZERiID0geG9yKEJ1ZmZlci5jb25jYXQoW2lIYXNoLCBwcywgQnVmZmVyLmFsbG9jKDEsIDEpLCBtc2ddLCBkYmxlbiksIG1nZihzZWVkLCBkYmxlbikpXG4gIHZhciBtYXNrZWRTZWVkID0geG9yKHNlZWQsIG1nZihtYXNrZWREYiwgaExlbikpXG4gIHJldHVybiBuZXcgQk4oQnVmZmVyLmNvbmNhdChbQnVmZmVyLmFsbG9jKDEpLCBtYXNrZWRTZWVkLCBtYXNrZWREYl0sIGspKVxufVxuZnVuY3Rpb24gcGtjczEgKGtleSwgbXNnLCByZXZlcnNlKSB7XG4gIHZhciBtTGVuID0gbXNnLmxlbmd0aFxuICB2YXIgayA9IGtleS5tb2R1bHVzLmJ5dGVMZW5ndGgoKVxuICBpZiAobUxlbiA+IGsgLSAxMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbWVzc2FnZSB0b28gbG9uZycpXG4gIH1cbiAgdmFyIHBzXG4gIGlmIChyZXZlcnNlKSB7XG4gICAgcHMgPSBCdWZmZXIuYWxsb2MoayAtIG1MZW4gLSAzLCAweGZmKVxuICB9IGVsc2Uge1xuICAgIHBzID0gbm9uWmVybyhrIC0gbUxlbiAtIDMpXG4gIH1cbiAgcmV0dXJuIG5ldyBCTihCdWZmZXIuY29uY2F0KFtCdWZmZXIuZnJvbShbMCwgcmV2ZXJzZSA/IDEgOiAyXSksIHBzLCBCdWZmZXIuYWxsb2MoMSksIG1zZ10sIGspKVxufVxuZnVuY3Rpb24gbm9uWmVybyAobGVuKSB7XG4gIHZhciBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobGVuKVxuICB2YXIgaSA9IDBcbiAgdmFyIGNhY2hlID0gcmFuZG9tQnl0ZXMobGVuICogMilcbiAgdmFyIGN1ciA9IDBcbiAgdmFyIG51bVxuICB3aGlsZSAoaSA8IGxlbikge1xuICAgIGlmIChjdXIgPT09IGNhY2hlLmxlbmd0aCkge1xuICAgICAgY2FjaGUgPSByYW5kb21CeXRlcyhsZW4gKiAyKVxuICAgICAgY3VyID0gMFxuICAgIH1cbiAgICBudW0gPSBjYWNoZVtjdXIrK11cbiAgICBpZiAobnVtKSB7XG4gICAgICBvdXRbaSsrXSA9IG51bVxuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0XG59XG4iLCJ2YXIgQk4gPSByZXF1aXJlKCdibi5qcycpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxuZnVuY3Rpb24gd2l0aFB1YmxpYyAocGFkZGVkTXNnLCBrZXkpIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKHBhZGRlZE1zZ1xuICAgIC50b1JlZChCTi5tb250KGtleS5tb2R1bHVzKSlcbiAgICAucmVkUG93KG5ldyBCTihrZXkucHVibGljRXhwb25lbnQpKVxuICAgIC5mcm9tUmVkKClcbiAgICAudG9BcnJheSgpKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdpdGhQdWJsaWNcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24geG9yIChhLCBiKSB7XG4gIHZhciBsZW4gPSBhLmxlbmd0aFxuICB2YXIgaSA9IC0xXG4gIHdoaWxlICgrK2kgPCBsZW4pIHtcbiAgICBhW2ldIF49IGJbaV1cbiAgfVxuICByZXR1cm4gYVxufVxuIiwiJ3VzZSBzdHJpY3QnXG5cbi8vIGxpbWl0IG9mIENyeXB0by5nZXRSYW5kb21WYWx1ZXMoKVxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NyeXB0by9nZXRSYW5kb21WYWx1ZXNcbnZhciBNQVhfQllURVMgPSA2NTUzNlxuXG4vLyBOb2RlIHN1cHBvcnRzIHJlcXVlc3RpbmcgdXAgdG8gdGhpcyBudW1iZXIgb2YgYnl0ZXNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9ibG9iL21hc3Rlci9saWIvaW50ZXJuYWwvY3J5cHRvL3JhbmRvbS5qcyNMNDhcbnZhciBNQVhfVUlOVDMyID0gNDI5NDk2NzI5NVxuXG5mdW5jdGlvbiBvbGRCcm93c2VyICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdTZWN1cmUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyLlxcblVzZSBDaHJvbWUsIEZpcmVmb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEnKVxufVxuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcbnZhciBjcnlwdG8gPSBnbG9iYWwuY3J5cHRvIHx8IGdsb2JhbC5tc0NyeXB0b1xuXG5pZiAoY3J5cHRvICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByYW5kb21CeXRlc1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBvbGRCcm93c2VyXG59XG5cbmZ1bmN0aW9uIHJhbmRvbUJ5dGVzIChzaXplLCBjYikge1xuICAvLyBwaGFudG9tanMgbmVlZHMgdG8gdGhyb3dcbiAgaWYgKHNpemUgPiBNQVhfVUlOVDMyKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcigncmVxdWVzdGVkIHRvbyBtYW55IHJhbmRvbSBieXRlcycpXG5cbiAgdmFyIGJ5dGVzID0gQnVmZmVyLmFsbG9jVW5zYWZlKHNpemUpXG5cbiAgaWYgKHNpemUgPiAwKSB7ICAvLyBnZXRSYW5kb21WYWx1ZXMgZmFpbHMgb24gSUUgaWYgc2l6ZSA9PSAwXG4gICAgaWYgKHNpemUgPiBNQVhfQllURVMpIHsgLy8gdGhpcyBpcyB0aGUgbWF4IGJ5dGVzIGNyeXB0by5nZXRSYW5kb21WYWx1ZXNcbiAgICAgIC8vIGNhbiBkbyBhdCBvbmNlIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXNcbiAgICAgIGZvciAodmFyIGdlbmVyYXRlZCA9IDA7IGdlbmVyYXRlZCA8IHNpemU7IGdlbmVyYXRlZCArPSBNQVhfQllURVMpIHtcbiAgICAgICAgLy8gYnVmZmVyLnNsaWNlIGF1dG9tYXRpY2FsbHkgY2hlY2tzIGlmIHRoZSBlbmQgaXMgcGFzdCB0aGUgZW5kIG9mXG4gICAgICAgIC8vIHRoZSBidWZmZXIgc28gd2UgZG9uJ3QgaGF2ZSB0byBoZXJlXG4gICAgICAgIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoYnl0ZXMuc2xpY2UoZ2VuZXJhdGVkLCBnZW5lcmF0ZWQgKyBNQVhfQllURVMpKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGJ5dGVzKVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgY2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICBjYihudWxsLCBieXRlcylcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGJ5dGVzXG59XG4iLCIndXNlIHN0cmljdCdcblxuZnVuY3Rpb24gb2xkQnJvd3NlciAoKSB7XG4gIHRocm93IG5ldyBFcnJvcignc2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlclxcbnVzZSBjaHJvbWUsIEZpcmVGb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEnKVxufVxudmFyIHNhZmVCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpXG52YXIgcmFuZG9tYnl0ZXMgPSByZXF1aXJlKCdyYW5kb21ieXRlcycpXG52YXIgQnVmZmVyID0gc2FmZUJ1ZmZlci5CdWZmZXJcbnZhciBrQnVmZmVyTWF4TGVuZ3RoID0gc2FmZUJ1ZmZlci5rTWF4TGVuZ3RoXG52YXIgY3J5cHRvID0gZ2xvYmFsLmNyeXB0byB8fCBnbG9iYWwubXNDcnlwdG9cbnZhciBrTWF4VWludDMyID0gTWF0aC5wb3coMiwgMzIpIC0gMVxuZnVuY3Rpb24gYXNzZXJ0T2Zmc2V0IChvZmZzZXQsIGxlbmd0aCkge1xuICBpZiAodHlwZW9mIG9mZnNldCAhPT0gJ251bWJlcicgfHwgb2Zmc2V0ICE9PSBvZmZzZXQpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdvZmZzZXQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cblxuICBpZiAob2Zmc2V0ID4ga01heFVpbnQzMiB8fCBvZmZzZXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignb2Zmc2V0IG11c3QgYmUgYSB1aW50MzInKVxuICB9XG5cbiAgaWYgKG9mZnNldCA+IGtCdWZmZXJNYXhMZW5ndGggfHwgb2Zmc2V0ID4gbGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ29mZnNldCBvdXQgb2YgcmFuZ2UnKVxuICB9XG59XG5cbmZ1bmN0aW9uIGFzc2VydFNpemUgKHNpemUsIG9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicgfHwgc2l6ZSAhPT0gc2l6ZSkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3NpemUgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cblxuICBpZiAoc2l6ZSA+IGtNYXhVaW50MzIgfHwgc2l6ZSA8IDApIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdzaXplIG11c3QgYmUgYSB1aW50MzInKVxuICB9XG5cbiAgaWYgKHNpemUgKyBvZmZzZXQgPiBsZW5ndGggfHwgc2l6ZSA+IGtCdWZmZXJNYXhMZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignYnVmZmVyIHRvbyBzbWFsbCcpXG4gIH1cbn1cbmlmICgoY3J5cHRvICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpIHx8ICFwcm9jZXNzLmJyb3dzZXIpIHtcbiAgZXhwb3J0cy5yYW5kb21GaWxsID0gcmFuZG9tRmlsbFxuICBleHBvcnRzLnJhbmRvbUZpbGxTeW5jID0gcmFuZG9tRmlsbFN5bmNcbn0gZWxzZSB7XG4gIGV4cG9ydHMucmFuZG9tRmlsbCA9IG9sZEJyb3dzZXJcbiAgZXhwb3J0cy5yYW5kb21GaWxsU3luYyA9IG9sZEJyb3dzZXJcbn1cbmZ1bmN0aW9uIHJhbmRvbUZpbGwgKGJ1Ziwgb2Zmc2V0LCBzaXplLCBjYikge1xuICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihidWYpICYmICEoYnVmIGluc3RhbmNlb2YgZ2xvYmFsLlVpbnQ4QXJyYXkpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJidWZcIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIG9yIFVpbnQ4QXJyYXknKVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IG9mZnNldFxuICAgIG9mZnNldCA9IDBcbiAgICBzaXplID0gYnVmLmxlbmd0aFxuICB9IGVsc2UgaWYgKHR5cGVvZiBzaXplID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBzaXplXG4gICAgc2l6ZSA9IGJ1Zi5sZW5ndGggLSBvZmZzZXRcbiAgfSBlbHNlIGlmICh0eXBlb2YgY2IgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImNiXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJylcbiAgfVxuICBhc3NlcnRPZmZzZXQob2Zmc2V0LCBidWYubGVuZ3RoKVxuICBhc3NlcnRTaXplKHNpemUsIG9mZnNldCwgYnVmLmxlbmd0aClcbiAgcmV0dXJuIGFjdHVhbEZpbGwoYnVmLCBvZmZzZXQsIHNpemUsIGNiKVxufVxuXG5mdW5jdGlvbiBhY3R1YWxGaWxsIChidWYsIG9mZnNldCwgc2l6ZSwgY2IpIHtcbiAgaWYgKHByb2Nlc3MuYnJvd3Nlcikge1xuICAgIHZhciBvdXJCdWYgPSBidWYuYnVmZmVyXG4gICAgdmFyIHVpbnQgPSBuZXcgVWludDhBcnJheShvdXJCdWYsIG9mZnNldCwgc2l6ZSlcbiAgICBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKHVpbnQpXG4gICAgaWYgKGNiKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2IobnVsbCwgYnVmKVxuICAgICAgfSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICByZXR1cm4gYnVmXG4gIH1cbiAgaWYgKGNiKSB7XG4gICAgcmFuZG9tYnl0ZXMoc2l6ZSwgZnVuY3Rpb24gKGVyciwgYnl0ZXMpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIGNiKGVycilcbiAgICAgIH1cbiAgICAgIGJ5dGVzLmNvcHkoYnVmLCBvZmZzZXQpXG4gICAgICBjYihudWxsLCBidWYpXG4gICAgfSlcbiAgICByZXR1cm5cbiAgfVxuICB2YXIgYnl0ZXMgPSByYW5kb21ieXRlcyhzaXplKVxuICBieXRlcy5jb3B5KGJ1Ziwgb2Zmc2V0KVxuICByZXR1cm4gYnVmXG59XG5mdW5jdGlvbiByYW5kb21GaWxsU3luYyAoYnVmLCBvZmZzZXQsIHNpemUpIHtcbiAgaWYgKHR5cGVvZiBvZmZzZXQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgb2Zmc2V0ID0gMFxuICB9XG4gIGlmICghQnVmZmVyLmlzQnVmZmVyKGJ1ZikgJiYgIShidWYgaW5zdGFuY2VvZiBnbG9iYWwuVWludDhBcnJheSkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImJ1ZlwiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpXG4gIH1cblxuICBhc3NlcnRPZmZzZXQob2Zmc2V0LCBidWYubGVuZ3RoKVxuXG4gIGlmIChzaXplID09PSB1bmRlZmluZWQpIHNpemUgPSBidWYubGVuZ3RoIC0gb2Zmc2V0XG5cbiAgYXNzZXJ0U2l6ZShzaXplLCBvZmZzZXQsIGJ1Zi5sZW5ndGgpXG5cbiAgcmV0dXJuIGFjdHVhbEZpbGwoYnVmLCBvZmZzZXQsIHNpemUpXG59XG4iLCIvKiogQGxpY2Vuc2UgUmVhY3QgdjE2LjE0LjBcbiAqIHJlYWN0LmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBfYXNzaWduID0gcmVxdWlyZSgnb2JqZWN0LWFzc2lnbicpO1xudmFyIGNoZWNrUHJvcFR5cGVzID0gcmVxdWlyZSgncHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcycpO1xuXG52YXIgUmVhY3RWZXJzaW9uID0gJzE2LjE0LjAnO1xuXG4vLyBUaGUgU3ltYm9sIHVzZWQgdG8gdGFnIHRoZSBSZWFjdEVsZW1lbnQtbGlrZSB0eXBlcy4gSWYgdGhlcmUgaXMgbm8gbmF0aXZlIFN5bWJvbFxuLy8gbm9yIHBvbHlmaWxsLCB0aGVuIGEgcGxhaW4gbnVtYmVyIGlzIHVzZWQgZm9yIHBlcmZvcm1hbmNlLlxudmFyIGhhc1N5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcjtcbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgOiAweGVhYzc7XG52YXIgUkVBQ1RfUE9SVEFMX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wb3J0YWwnKSA6IDB4ZWFjYTtcbnZhciBSRUFDVF9GUkFHTUVOVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZnJhZ21lbnQnKSA6IDB4ZWFjYjtcbnZhciBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3RyaWN0X21vZGUnKSA6IDB4ZWFjYztcbnZhciBSRUFDVF9QUk9GSUxFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvZmlsZXInKSA6IDB4ZWFkMjtcbnZhciBSRUFDVF9QUk9WSURFUl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QucHJvdmlkZXInKSA6IDB4ZWFjZDtcbnZhciBSRUFDVF9DT05URVhUX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5jb250ZXh0JykgOiAweGVhY2U7IC8vIFRPRE86IFdlIGRvbid0IHVzZSBBc3luY01vZGUgb3IgQ29uY3VycmVudE1vZGUgYW55bW9yZS4gVGhleSB3ZXJlIHRlbXBvcmFyeVxudmFyIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuY29uY3VycmVudF9tb2RlJykgOiAweGVhY2Y7XG52YXIgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZvcndhcmRfcmVmJykgOiAweGVhZDA7XG52YXIgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnN1c3BlbnNlJykgOiAweGVhZDE7XG52YXIgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2VfbGlzdCcpIDogMHhlYWQ4O1xudmFyIFJFQUNUX01FTU9fVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0Lm1lbW8nKSA6IDB4ZWFkMztcbnZhciBSRUFDVF9MQVpZX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5sYXp5JykgOiAweGVhZDQ7XG52YXIgUkVBQ1RfQkxPQ0tfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmJsb2NrJykgOiAweGVhZDk7XG52YXIgUkVBQ1RfRlVOREFNRU5UQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmZ1bmRhbWVudGFsJykgOiAweGVhZDU7XG52YXIgUkVBQ1RfUkVTUE9OREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5yZXNwb25kZXInKSA6IDB4ZWFkNjtcbnZhciBSRUFDVF9TQ09QRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc2NvcGUnKSA6IDB4ZWFkNztcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIEtlZXBzIHRyYWNrIG9mIHRoZSBjdXJyZW50IGRpc3BhdGNoZXIuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEB0eXBlIHtSZWFjdENvbXBvbmVudH1cbiAgICovXG4gIGN1cnJlbnQ6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgYmF0Y2gncyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgaG93IGxvbmcgYW4gdXBkYXRlXG4gKiBzaG91bGQgc3VzcGVuZCBmb3IgaWYgaXQgbmVlZHMgdG8uXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgc3VzcGVuc2U6IG51bGxcbn07XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgb3duZXIuXG4gKlxuICogVGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIGNvbXBvbmVudCB3aG8gc2hvdWxkIG93biBhbnkgY29tcG9uZW50cyB0aGF0IGFyZVxuICogY3VycmVudGx5IGJlaW5nIGNvbnN0cnVjdGVkLlxuICovXG52YXIgUmVhY3RDdXJyZW50T3duZXIgPSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxuICAgKi9cbiAgY3VycmVudDogbnVsbFxufTtcblxudmFyIEJFRk9SRV9TTEFTSF9SRSA9IC9eKC4qKVtcXFxcXFwvXS87XG5mdW5jdGlvbiBkZXNjcmliZUNvbXBvbmVudEZyYW1lIChuYW1lLCBzb3VyY2UsIG93bmVyTmFtZSkge1xuICB2YXIgc291cmNlSW5mbyA9ICcnO1xuXG4gIGlmIChzb3VyY2UpIHtcbiAgICB2YXIgcGF0aCA9IHNvdXJjZS5maWxlTmFtZTtcbiAgICB2YXIgZmlsZU5hbWUgPSBwYXRoLnJlcGxhY2UoQkVGT1JFX1NMQVNIX1JFLCAnJyk7XG5cbiAgICB7XG4gICAgICAvLyBJbiBERVYsIGluY2x1ZGUgY29kZSBmb3IgYSBjb21tb24gc3BlY2lhbCBjYXNlOlxuICAgICAgLy8gcHJlZmVyIFwiZm9sZGVyL2luZGV4LmpzXCIgaW5zdGVhZCBvZiBqdXN0IFwiaW5kZXguanNcIi5cbiAgICAgIGlmICgvXmluZGV4XFwuLy50ZXN0KGZpbGVOYW1lKSkge1xuICAgICAgICB2YXIgbWF0Y2ggPSBwYXRoLm1hdGNoKEJFRk9SRV9TTEFTSF9SRSk7XG5cbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgdmFyIHBhdGhCZWZvcmVTbGFzaCA9IG1hdGNoWzFdO1xuXG4gICAgICAgICAgaWYgKHBhdGhCZWZvcmVTbGFzaCkge1xuICAgICAgICAgICAgdmFyIGZvbGRlck5hbWUgPSBwYXRoQmVmb3JlU2xhc2gucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcbiAgICAgICAgICAgIGZpbGVOYW1lID0gZm9sZGVyTmFtZSArICcvJyArIGZpbGVOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHNvdXJjZUluZm8gPSAnIChhdCAnICsgZmlsZU5hbWUgKyAnOicgKyBzb3VyY2UubGluZU51bWJlciArICcpJztcbiAgfSBlbHNlIGlmIChvd25lck5hbWUpIHtcbiAgICBzb3VyY2VJbmZvID0gJyAoY3JlYXRlZCBieSAnICsgb3duZXJOYW1lICsgJyknO1xuICB9XG5cbiAgcmV0dXJuICdcXG4gICAgaW4gJyArIChuYW1lIHx8ICdVbmtub3duJykgKyBzb3VyY2VJbmZvO1xufVxuXG52YXIgUmVzb2x2ZWQgPSAxO1xuZnVuY3Rpb24gcmVmaW5lUmVzb2x2ZWRMYXp5Q29tcG9uZW50KGxhenlDb21wb25lbnQpIHtcbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gUmVzb2x2ZWQgPyBsYXp5Q29tcG9uZW50Ll9yZXN1bHQgOiBudWxsO1xufVxuXG5mdW5jdGlvbiBnZXRXcmFwcGVkTmFtZShvdXRlclR5cGUsIGlubmVyVHlwZSwgd3JhcHBlck5hbWUpIHtcbiAgdmFyIGZ1bmN0aW9uTmFtZSA9IGlubmVyVHlwZS5kaXNwbGF5TmFtZSB8fCBpbm5lclR5cGUubmFtZSB8fCAnJztcbiAgcmV0dXJuIG91dGVyVHlwZS5kaXNwbGF5TmFtZSB8fCAoZnVuY3Rpb25OYW1lICE9PSAnJyA/IHdyYXBwZXJOYW1lICsgXCIoXCIgKyBmdW5jdGlvbk5hbWUgKyBcIilcIiA6IHdyYXBwZXJOYW1lKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB7XG4gIGlmICh0eXBlID09IG51bGwpIHtcbiAgICAvLyBIb3N0IHJvb3QsIHRleHQgbm9kZSBvciBqdXN0IGludmFsaWQgdHlwZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHtcbiAgICBpZiAodHlwZW9mIHR5cGUudGFnID09PSAnbnVtYmVyJykge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWUoKS4gJyArICdUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IG51bGw7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICByZXR1cm4gJ0ZyYWdtZW50JztcblxuICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICByZXR1cm4gJ1BvcnRhbCc7XG5cbiAgICBjYXNlIFJFQUNUX1BST0ZJTEVSX1RZUEU6XG4gICAgICByZXR1cm4gXCJQcm9maWxlclwiO1xuXG4gICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgcmV0dXJuICdTdHJpY3RNb2RlJztcblxuICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2UnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICByZXR1cm4gJ1N1c3BlbnNlTGlzdCc7XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgc3dpdGNoICh0eXBlLiQkdHlwZW9mKSB7XG4gICAgICBjYXNlIFJFQUNUX0NPTlRFWFRfVFlQRTpcbiAgICAgICAgcmV0dXJuICdDb250ZXh0LkNvbnN1bWVyJztcblxuICAgICAgY2FzZSBSRUFDVF9QUk9WSURFUl9UWVBFOlxuICAgICAgICByZXR1cm4gJ0NvbnRleHQuUHJvdmlkZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRXcmFwcGVkTmFtZSh0eXBlLCB0eXBlLnJlbmRlciwgJ0ZvcndhcmRSZWYnKTtcblxuICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHR5cGUudHlwZSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfQkxPQ0tfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWUodHlwZS5yZW5kZXIpO1xuXG4gICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAge1xuICAgICAgICAgIHZhciB0aGVuYWJsZSA9IHR5cGU7XG4gICAgICAgICAgdmFyIHJlc29sdmVkVGhlbmFibGUgPSByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQodGhlbmFibGUpO1xuXG4gICAgICAgICAgaWYgKHJlc29sdmVkVGhlbmFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKHJlc29sdmVkVGhlbmFibGUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0ge307XG52YXIgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBudWxsO1xuZnVuY3Rpb24gc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQoZWxlbWVudCkge1xuICB7XG4gICAgY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQgPSBlbGVtZW50O1xuICB9XG59XG5cbntcbiAgLy8gU3RhY2sgaW1wbGVtZW50YXRpb24gaW5qZWN0ZWQgYnkgdGhlIGN1cnJlbnQgcmVuZGVyZXIuXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrID0gbnVsbDtcblxuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHN0YWNrID0gJyc7IC8vIEFkZCBhbiBleHRyYSB0b3AgZnJhbWUgd2hpbGUgYW4gZWxlbWVudCBpcyBiZWluZyB2YWxpZGF0ZWRcblxuICAgIGlmIChjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCkge1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50LnR5cGUpO1xuICAgICAgdmFyIG93bmVyID0gY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQuX293bmVyO1xuICAgICAgc3RhY2sgKz0gZGVzY3JpYmVDb21wb25lbnRGcmFtZShuYW1lLCBjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudC5fc291cmNlLCBvd25lciAmJiBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpKTtcbiAgICB9IC8vIERlbGVnYXRlIHRvIHRoZSBpbmplY3RlZCByZW5kZXJlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvblxuXG5cbiAgICB2YXIgaW1wbCA9IFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0Q3VycmVudFN0YWNrO1xuXG4gICAgaWYgKGltcGwpIHtcbiAgICAgIHN0YWNrICs9IGltcGwoKSB8fCAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhY2s7XG4gIH07XG59XG5cbi8qKlxuICogVXNlZCBieSBhY3QoKSB0byB0cmFjayB3aGV0aGVyIHlvdSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGUuXG4gKi9cbnZhciBJc1NvbWVSZW5kZXJlckFjdGluZyA9IHtcbiAgY3VycmVudDogZmFsc2Vcbn07XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IHtcbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWc6IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLFxuICBSZWFjdEN1cnJlbnRPd25lcjogUmVhY3RDdXJyZW50T3duZXIsXG4gIElzU29tZVJlbmRlcmVyQWN0aW5nOiBJc1NvbWVSZW5kZXJlckFjdGluZyxcbiAgLy8gVXNlZCBieSByZW5kZXJlcnMgdG8gYXZvaWQgYnVuZGxpbmcgb2JqZWN0LWFzc2lnbiB0d2ljZSBpbiBVTUQgYnVuZGxlczpcbiAgYXNzaWduOiBfYXNzaWduXG59O1xuXG57XG4gIF9hc3NpZ24oUmVhY3RTaGFyZWRJbnRlcm5hbHMsIHtcbiAgICAvLyBUaGVzZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHByb2R1Y3Rpb24uXG4gICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTogUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSxcbiAgICAvLyBTaGltIGZvciBSZWFjdCBET00gMTYuMC4wIHdoaWNoIHN0aWxsIGRlc3RydWN0dXJlZCAoYnV0IG5vdCB1c2VkKSB0aGlzLlxuICAgIC8vIFRPRE86IHJlbW92ZSBpbiBSZWFjdCAxNy4wLlxuICAgIFJlYWN0Q29tcG9uZW50VHJlZUhvb2s6IHt9XG4gIH0pO1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XG4gIC8vIFdoZW4gY2hhbmdpbmcgdGhpcyBsb2dpYywgeW91IG1pZ2h0IHdhbnQgdG8gYWxzb1xuICAvLyB1cGRhdGUgY29uc29sZVdpdGhTdGFja0Rldi53d3cuanMgYXMgd2VsbC5cbiAge1xuICAgIHZhciBoYXNFeGlzdGluZ1N0YWNrID0gYXJncy5sZW5ndGggPiAwICYmIHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gPT09ICdzdHJpbmcnICYmIGFyZ3NbYXJncy5sZW5ndGggLSAxXS5pbmRleE9mKCdcXG4gICAgaW4nKSA9PT0gMDtcblxuICAgIGlmICghaGFzRXhpc3RpbmdTdGFjaykge1xuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcbiAgICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuICcnICsgaXRlbTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIC0tLSBXZWxjb21lIHRvIGRlYnVnZ2luZyBSZWFjdCAtLS1cbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXG4gICAgICB2YXIgYXJnSW5kZXggPSAwO1xuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoeCkge31cbiAgfVxufVxuXG52YXIgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ID0ge307XG5cbmZ1bmN0aW9uIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICB2YXIgX2NvbnN0cnVjdG9yID0gcHVibGljSW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBfY29uc3RydWN0b3IgJiYgKF9jb25zdHJ1Y3Rvci5kaXNwbGF5TmFtZSB8fCBfY29uc3RydWN0b3IubmFtZSkgfHwgJ1JlYWN0Q2xhc3MnO1xuICAgIHZhciB3YXJuaW5nS2V5ID0gY29tcG9uZW50TmFtZSArIFwiLlwiICsgY2FsbGVyTmFtZTtcblxuICAgIGlmIChkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IGNhbGwgJXMgb24gYSBjb21wb25lbnQgdGhhdCBpcyBub3QgeWV0IG1vdW50ZWQuIFwiICsgJ1RoaXMgaXMgYSBuby1vcCwgYnV0IGl0IG1pZ2h0IGluZGljYXRlIGEgYnVnIGluIHlvdXIgYXBwbGljYXRpb24uICcgKyAnSW5zdGVhZCwgYXNzaWduIHRvIGB0aGlzLnN0YXRlYCBkaXJlY3RseSBvciBkZWZpbmUgYSBgc3RhdGUgPSB7fTtgICcgKyAnY2xhc3MgcHJvcGVydHkgd2l0aCB0aGUgZGVzaXJlZCBzdGF0ZSBpbiB0aGUgJXMgY29tcG9uZW50LicsIGNhbGxlck5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50W3dhcm5pbmdLZXldID0gdHJ1ZTtcbiAgfVxufVxuLyoqXG4gKiBUaGlzIGlzIHRoZSBhYnN0cmFjdCBBUEkgZm9yIGFuIHVwZGF0ZSBxdWV1ZS5cbiAqL1xuXG5cbnZhciBSZWFjdE5vb3BVcGRhdGVRdWV1ZSA9IHtcbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGlzIGNvbXBvc2l0ZSBjb21wb25lbnQgaXMgbW91bnRlZC5cbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2Ugd2Ugd2FudCB0byB0ZXN0LlxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIG1vdW50ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAZmluYWxcbiAgICovXG4gIGlzTW91bnRlZDogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gICAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gICAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gICAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlRm9yY2VVcGRhdGU6IGZ1bmN0aW9uIChwdWJsaWNJbnN0YW5jZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ2ZvcmNlVXBkYXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyBvciBgc2V0U3RhdGVgIHRvIG11dGF0ZSBzdGF0ZS5cbiAgICogWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICAgKlxuICAgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCBgdGhpcy5zdGF0ZWAgd2lsbCBiZSBpbW1lZGlhdGVseSB1cGRhdGVkLCBzb1xuICAgKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB0aGF0IHNob3VsZCByZXJlbmRlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbXBsZXRlU3RhdGUgTmV4dCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBjYWxsZXJOYW1lIG5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVJlcGxhY2VTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjb21wbGV0ZVN0YXRlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAncmVwbGFjZVN0YXRlJyk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBUaGlzIG9ubHkgZXhpc3RzIGJlY2F1c2UgX3BlbmRpbmdTdGF0ZSBpc1xuICAgKiBpbnRlcm5hbC4gVGhpcyBwcm92aWRlcyBhIG1lcmdpbmcgc3RyYXRlZ3kgdGhhdCBpcyBub3QgYXZhaWxhYmxlIHRvIGRlZXBcbiAgICogcHJvcGVydGllcyB3aGljaCBpcyBjb25mdXNpbmcuIFRPRE86IEV4cG9zZSBwZW5kaW5nU3RhdGUgb3IgZG9uJ3QgdXNlIGl0XG4gICAqIGR1cmluZyB0aGUgbWVyZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSB0byBiZSBtZXJnZWQgd2l0aCBzdGF0ZS5cbiAgICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciBjb21wb25lbnQgaXMgdXBkYXRlZC5cbiAgICogQHBhcmFtIHs/c3RyaW5nfSBOYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdzZXRTdGF0ZScpO1xuICB9XG59O1xuXG52YXIgZW1wdHlPYmplY3QgPSB7fTtcblxue1xuICBPYmplY3QuZnJlZXplKGVtcHR5T2JqZWN0KTtcbn1cbi8qKlxuICogQmFzZSBjbGFzcyBoZWxwZXJzIGZvciB0aGUgdXBkYXRpbmcgc3RhdGUgb2YgYSBjb21wb25lbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBDb21wb25lbnQocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0OyAvLyBJZiBhIGNvbXBvbmVudCBoYXMgc3RyaW5nIHJlZnMsIHdlIHdpbGwgYXNzaWduIGEgZGlmZmVyZW50IG9iamVjdCBsYXRlci5cblxuICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDsgLy8gV2UgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdCB1cGRhdGVyIGJ1dCB0aGUgcmVhbCBvbmUgZ2V0cyBpbmplY3RlZCBieSB0aGVcbiAgLy8gcmVuZGVyZXIuXG5cbiAgdGhpcy51cGRhdGVyID0gdXBkYXRlciB8fCBSZWFjdE5vb3BVcGRhdGVRdWV1ZTtcbn1cblxuQ29tcG9uZW50LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50ID0ge307XG4vKipcbiAqIFNldHMgYSBzdWJzZXQgb2YgdGhlIHN0YXRlLiBBbHdheXMgdXNlIHRoaXMgdG8gbXV0YXRlXG4gKiBzdGF0ZS4gWW91IHNob3VsZCB0cmVhdCBgdGhpcy5zdGF0ZWAgYXMgaW1tdXRhYmxlLlxuICpcbiAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGB0aGlzLnN0YXRlYCB3aWxsIGJlIGltbWVkaWF0ZWx5IHVwZGF0ZWQsIHNvXG4gKiBhY2Nlc3NpbmcgYHRoaXMuc3RhdGVgIGFmdGVyIGNhbGxpbmcgdGhpcyBtZXRob2QgbWF5IHJldHVybiB0aGUgb2xkIHZhbHVlLlxuICpcbiAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGNhbGxzIHRvIGBzZXRTdGF0ZWAgd2lsbCBydW4gc3luY2hyb25vdXNseSxcbiAqIGFzIHRoZXkgbWF5IGV2ZW50dWFsbHkgYmUgYmF0Y2hlZCB0b2dldGhlci4gIFlvdSBjYW4gcHJvdmlkZSBhbiBvcHRpb25hbFxuICogY2FsbGJhY2sgdGhhdCB3aWxsIGJlIGV4ZWN1dGVkIHdoZW4gdGhlIGNhbGwgdG8gc2V0U3RhdGUgaXMgYWN0dWFsbHlcbiAqIGNvbXBsZXRlZC5cbiAqXG4gKiBXaGVuIGEgZnVuY3Rpb24gaXMgcHJvdmlkZWQgdG8gc2V0U3RhdGUsIGl0IHdpbGwgYmUgY2FsbGVkIGF0IHNvbWUgcG9pbnQgaW5cbiAqIHRoZSBmdXR1cmUgKG5vdCBzeW5jaHJvbm91c2x5KS4gSXQgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aGUgdXAgdG8gZGF0ZVxuICogY29tcG9uZW50IGFyZ3VtZW50cyAoc3RhdGUsIHByb3BzLCBjb250ZXh0KS4gVGhlc2UgdmFsdWVzIGNhbiBiZSBkaWZmZXJlbnRcbiAqIGZyb20gdGhpcy4qIGJlY2F1c2UgeW91ciBmdW5jdGlvbiBtYXkgYmUgY2FsbGVkIGFmdGVyIHJlY2VpdmVQcm9wcyBidXQgYmVmb3JlXG4gKiBzaG91bGRDb21wb25lbnRVcGRhdGUsIGFuZCB0aGlzIG5ldyBzdGF0ZSwgcHJvcHMsIGFuZCBjb250ZXh0IHdpbGwgbm90IHlldCBiZVxuICogYXNzaWduZWQgdG8gdGhpcy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdHxmdW5jdGlvbn0gcGFydGlhbFN0YXRlIE5leHQgcGFydGlhbCBzdGF0ZSBvciBmdW5jdGlvbiB0b1xuICogICAgICAgIHByb2R1Y2UgbmV4dCBwYXJ0aWFsIHN0YXRlIHRvIGJlIG1lcmdlZCB3aXRoIGN1cnJlbnQgc3RhdGUuXG4gKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIHN0YXRlIGlzIHVwZGF0ZWQuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5Db21wb25lbnQucHJvdG90eXBlLnNldFN0YXRlID0gZnVuY3Rpb24gKHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2spIHtcbiAgaWYgKCEodHlwZW9mIHBhcnRpYWxTdGF0ZSA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIHBhcnRpYWxTdGF0ZSA9PT0gJ2Z1bmN0aW9uJyB8fCBwYXJ0aWFsU3RhdGUgPT0gbnVsbCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJzZXRTdGF0ZSguLi4pOiB0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHRoaXMudXBkYXRlci5lbnF1ZXVlU2V0U3RhdGUodGhpcywgcGFydGlhbFN0YXRlLCBjYWxsYmFjaywgJ3NldFN0YXRlJyk7XG59O1xuLyoqXG4gKiBGb3JjZXMgYW4gdXBkYXRlLiBUaGlzIHNob3VsZCBvbmx5IGJlIGludm9rZWQgd2hlbiBpdCBpcyBrbm93biB3aXRoXG4gKiBjZXJ0YWludHkgdGhhdCB3ZSBhcmUgKipub3QqKiBpbiBhIERPTSB0cmFuc2FjdGlvbi5cbiAqXG4gKiBZb3UgbWF5IHdhbnQgdG8gY2FsbCB0aGlzIHdoZW4geW91IGtub3cgdGhhdCBzb21lIGRlZXBlciBhc3BlY3Qgb2YgdGhlXG4gKiBjb21wb25lbnQncyBzdGF0ZSBoYXMgY2hhbmdlZCBidXQgYHNldFN0YXRlYCB3YXMgbm90IGNhbGxlZC5cbiAqXG4gKiBUaGlzIHdpbGwgbm90IGludm9rZSBgc2hvdWxkQ29tcG9uZW50VXBkYXRlYCwgYnV0IGl0IHdpbGwgaW52b2tlXG4gKiBgY29tcG9uZW50V2lsbFVwZGF0ZWAgYW5kIGBjb21wb25lbnREaWRVcGRhdGVgLlxuICpcbiAqIEBwYXJhbSB7P2Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsZWQgYWZ0ZXIgdXBkYXRlIGlzIGNvbXBsZXRlLlxuICogQGZpbmFsXG4gKiBAcHJvdGVjdGVkXG4gKi9cblxuXG5Db21wb25lbnQucHJvdG90eXBlLmZvcmNlVXBkYXRlID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gIHRoaXMudXBkYXRlci5lbnF1ZXVlRm9yY2VVcGRhdGUodGhpcywgY2FsbGJhY2ssICdmb3JjZVVwZGF0ZScpO1xufTtcbi8qKlxuICogRGVwcmVjYXRlZCBBUElzLiBUaGVzZSBBUElzIHVzZWQgdG8gZXhpc3Qgb24gY2xhc3NpYyBSZWFjdCBjbGFzc2VzIGJ1dCBzaW5jZVxuICogd2Ugd291bGQgbGlrZSB0byBkZXByZWNhdGUgdGhlbSwgd2UncmUgbm90IGdvaW5nIHRvIG1vdmUgdGhlbSBvdmVyIHRvIHRoaXNcbiAqIG1vZGVybiBiYXNlIGNsYXNzLiBJbnN0ZWFkLCB3ZSBkZWZpbmUgYSBnZXR0ZXIgdGhhdCB3YXJucyBpZiBpdCdzIGFjY2Vzc2VkLlxuICovXG5cblxue1xuICB2YXIgZGVwcmVjYXRlZEFQSXMgPSB7XG4gICAgaXNNb3VudGVkOiBbJ2lzTW91bnRlZCcsICdJbnN0ZWFkLCBtYWtlIHN1cmUgdG8gY2xlYW4gdXAgc3Vic2NyaXB0aW9ucyBhbmQgcGVuZGluZyByZXF1ZXN0cyBpbiAnICsgJ2NvbXBvbmVudFdpbGxVbm1vdW50IHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzLiddLFxuICAgIHJlcGxhY2VTdGF0ZTogWydyZXBsYWNlU3RhdGUnLCAnUmVmYWN0b3IgeW91ciBjb2RlIHRvIHVzZSBzZXRTdGF0ZSBpbnN0ZWFkIChzZWUgJyArICdodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzMyMzYpLiddXG4gIH07XG5cbiAgdmFyIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyA9IGZ1bmN0aW9uIChtZXRob2ROYW1lLCBpbmZvKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbXBvbmVudC5wcm90b3R5cGUsIG1ldGhvZE5hbWUsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICB3YXJuKCclcyguLi4pIGlzIGRlcHJlY2F0ZWQgaW4gcGxhaW4gSmF2YVNjcmlwdCBSZWFjdCBjbGFzc2VzLiAlcycsIGluZm9bMF0sIGluZm9bMV0pO1xuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9yICh2YXIgZm5OYW1lIGluIGRlcHJlY2F0ZWRBUElzKSB7XG4gICAgaWYgKGRlcHJlY2F0ZWRBUElzLmhhc093blByb3BlcnR5KGZuTmFtZSkpIHtcbiAgICAgIGRlZmluZURlcHJlY2F0aW9uV2FybmluZyhmbk5hbWUsIGRlcHJlY2F0ZWRBUElzW2ZuTmFtZV0pO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBDb21wb25lbnREdW1teSgpIHt9XG5cbkNvbXBvbmVudER1bW15LnByb3RvdHlwZSA9IENvbXBvbmVudC5wcm90b3R5cGU7XG4vKipcbiAqIENvbnZlbmllbmNlIGNvbXBvbmVudCB3aXRoIGRlZmF1bHQgc2hhbGxvdyBlcXVhbGl0eSBjaGVjayBmb3Igc0NVLlxuICovXG5cbmZ1bmN0aW9uIFB1cmVDb21wb25lbnQocHJvcHMsIGNvbnRleHQsIHVwZGF0ZXIpIHtcbiAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICB0aGlzLmNvbnRleHQgPSBjb250ZXh0OyAvLyBJZiBhIGNvbXBvbmVudCBoYXMgc3RyaW5nIHJlZnMsIHdlIHdpbGwgYXNzaWduIGEgZGlmZmVyZW50IG9iamVjdCBsYXRlci5cblxuICB0aGlzLnJlZnMgPSBlbXB0eU9iamVjdDtcbiAgdGhpcy51cGRhdGVyID0gdXBkYXRlciB8fCBSZWFjdE5vb3BVcGRhdGVRdWV1ZTtcbn1cblxudmFyIHB1cmVDb21wb25lbnRQcm90b3R5cGUgPSBQdXJlQ29tcG9uZW50LnByb3RvdHlwZSA9IG5ldyBDb21wb25lbnREdW1teSgpO1xucHVyZUNvbXBvbmVudFByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IFB1cmVDb21wb25lbnQ7IC8vIEF2b2lkIGFuIGV4dHJhIHByb3RvdHlwZSBqdW1wIGZvciB0aGVzZSBtZXRob2RzLlxuXG5fYXNzaWduKHB1cmVDb21wb25lbnRQcm90b3R5cGUsIENvbXBvbmVudC5wcm90b3R5cGUpO1xuXG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50ID0gdHJ1ZTtcblxuLy8gYW4gaW1tdXRhYmxlIG9iamVjdCB3aXRoIGEgc2luZ2xlIG11dGFibGUgdmFsdWVcbmZ1bmN0aW9uIGNyZWF0ZVJlZigpIHtcbiAgdmFyIHJlZk9iamVjdCA9IHtcbiAgICBjdXJyZW50OiBudWxsXG4gIH07XG5cbiAge1xuICAgIE9iamVjdC5zZWFsKHJlZk9iamVjdCk7XG4gIH1cblxuICByZXR1cm4gcmVmT2JqZWN0O1xufVxuXG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIFJFU0VSVkVEX1BST1BTID0ge1xuICBrZXk6IHRydWUsXG4gIHJlZjogdHJ1ZSxcbiAgX19zZWxmOiB0cnVlLFxuICBfX3NvdXJjZTogdHJ1ZVxufTtcbnZhciBzcGVjaWFsUHJvcEtleVdhcm5pbmdTaG93biwgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24sIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG5cbntcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZFJlZihjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ3JlZicpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdyZWYnKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLnJlZiAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgJ2tleScpKSB7XG4gICAgICB2YXIgZ2V0dGVyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjb25maWcsICdrZXknKS5nZXQ7XG5cbiAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29uZmlnLmtleSAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ0tleSA9IGZ1bmN0aW9uICgpIHtcbiAgICB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGBrZXlgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdLZXkuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdrZXknLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdLZXksXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAgdmFyIHdhcm5BYm91dEFjY2Vzc2luZ1JlZiA9IGZ1bmN0aW9uICgpIHtcbiAgICB7XG4gICAgICBpZiAoIXNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duKSB7XG4gICAgICAgIHNwZWNpYWxQcm9wUmVmV2FybmluZ1Nob3duID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignJXM6IGByZWZgIGlzIG5vdCBhIHByb3AuIFRyeWluZyB0byBhY2Nlc3MgaXQgd2lsbCByZXN1bHQgJyArICdpbiBgdW5kZWZpbmVkYCBiZWluZyByZXR1cm5lZC4gSWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoZSBzYW1lICcgKyAndmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCAnICsgJ3Byb3AuIChodHRwczovL2ZiLm1lL3JlYWN0LXNwZWNpYWwtcHJvcHMpJywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYuaXNSZWFjdFdhcm5pbmcgPSB0cnVlO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICdyZWYnLCB7XG4gICAgZ2V0OiB3YXJuQWJvdXRBY2Nlc3NpbmdSZWYsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3YXJuSWZTdHJpbmdSZWZDYW5ub3RCZUF1dG9Db252ZXJ0ZWQoY29uZmlnKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5yZWYgPT09ICdzdHJpbmcnICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQgJiYgY29uZmlnLl9fc2VsZiAmJiBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnN0YXRlTm9kZSAhPT0gY29uZmlnLl9fc2VsZikge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSk7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSkge1xuICAgICAgICBlcnJvcignQ29tcG9uZW50IFwiJXNcIiBjb250YWlucyB0aGUgc3RyaW5nIHJlZiBcIiVzXCIuICcgKyAnU3VwcG9ydCBmb3Igc3RyaW5nIHJlZnMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuICcgKyAnVGhpcyBjYXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvbi4gJyArICdXZSBhc2sgeW91IHRvIG1hbnVhbGx5IGZpeCB0aGlzIGNhc2UgYnkgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1zdHJpY3QtbW9kZS1zdHJpbmctcmVmJywgZ2V0Q29tcG9uZW50TmFtZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpLCBjb25maWcucmVmKTtcblxuICAgICAgICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8qKlxuICogRmFjdG9yeSBtZXRob2QgdG8gY3JlYXRlIGEgbmV3IFJlYWN0IGVsZW1lbnQuIFRoaXMgbm8gbG9uZ2VyIGFkaGVyZXMgdG9cbiAqIHRoZSBjbGFzcyBwYXR0ZXJuLCBzbyBkbyBub3QgdXNlIG5ldyB0byBjYWxsIGl0LiBBbHNvLCBpbnN0YW5jZW9mIGNoZWNrXG4gKiB3aWxsIG5vdCB3b3JrLiBJbnN0ZWFkIHRlc3QgJCR0eXBlb2YgZmllbGQgYWdhaW5zdCBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgdG8gY2hlY2tcbiAqIGlmIHNvbWV0aGluZyBpcyBhIFJlYWN0IEVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHsqfSB0eXBlXG4gKiBAcGFyYW0geyp9IHByb3BzXG4gKiBAcGFyYW0geyp9IGtleVxuICogQHBhcmFtIHtzdHJpbmd8b2JqZWN0fSByZWZcbiAqIEBwYXJhbSB7Kn0gb3duZXJcbiAqIEBwYXJhbSB7Kn0gc2VsZiBBICp0ZW1wb3JhcnkqIGhlbHBlciB0byBkZXRlY3QgcGxhY2VzIHdoZXJlIGB0aGlzYCBpc1xuICogZGlmZmVyZW50IGZyb20gdGhlIGBvd25lcmAgd2hlbiBSZWFjdC5jcmVhdGVFbGVtZW50IGlzIGNhbGxlZCwgc28gdGhhdCB3ZVxuICogY2FuIHdhcm4uIFdlIHdhbnQgdG8gZ2V0IHJpZCBvZiBvd25lciBhbmQgcmVwbGFjZSBzdHJpbmcgYHJlZmBzIHdpdGggYXJyb3dcbiAqIGZ1bmN0aW9ucywgYW5kIGFzIGxvbmcgYXMgYHRoaXNgIGFuZCBvd25lciBhcmUgdGhlIHNhbWUsIHRoZXJlIHdpbGwgYmUgbm9cbiAqIGNoYW5nZSBpbiBiZWhhdmlvci5cbiAqIEBwYXJhbSB7Kn0gc291cmNlIEFuIGFubm90YXRpb24gb2JqZWN0IChhZGRlZCBieSBhIHRyYW5zcGlsZXIgb3Igb3RoZXJ3aXNlKVxuICogaW5kaWNhdGluZyBmaWxlbmFtZSwgbGluZSBudW1iZXIsIGFuZC9vciBvdGhlciBpbmZvcm1hdGlvbi5cbiAqIEBpbnRlcm5hbFxuICovXG5cblxudmFyIFJlYWN0RWxlbWVudCA9IGZ1bmN0aW9uICh0eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpIHtcbiAgdmFyIGVsZW1lbnQgPSB7XG4gICAgLy8gVGhpcyB0YWcgYWxsb3dzIHVzIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoaXMgYXMgYSBSZWFjdCBFbGVtZW50XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAvLyBCdWlsdC1pbiBwcm9wZXJ0aWVzIHRoYXQgYmVsb25nIG9uIHRoZSBlbGVtZW50XG4gICAgdHlwZTogdHlwZSxcbiAgICBrZXk6IGtleSxcbiAgICByZWY6IHJlZixcbiAgICBwcm9wczogcHJvcHMsXG4gICAgLy8gUmVjb3JkIHRoZSBjb21wb25lbnQgcmVzcG9uc2libGUgZm9yIGNyZWF0aW5nIHRoaXMgZWxlbWVudC5cbiAgICBfb3duZXI6IG93bmVyXG4gIH07XG5cbiAge1xuICAgIC8vIFRoZSB2YWxpZGF0aW9uIGZsYWcgaXMgY3VycmVudGx5IG11dGF0aXZlLiBXZSBwdXQgaXQgb25cbiAgICAvLyBhbiBleHRlcm5hbCBiYWNraW5nIHN0b3JlIHNvIHRoYXQgd2UgY2FuIGZyZWV6ZSB0aGUgd2hvbGUgb2JqZWN0LlxuICAgIC8vIFRoaXMgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBXZWFrTWFwIG9uY2UgdGhleSBhcmUgaW1wbGVtZW50ZWQgaW5cbiAgICAvLyBjb21tb25seSB1c2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cy5cbiAgICBlbGVtZW50Ll9zdG9yZSA9IHt9OyAvLyBUbyBtYWtlIGNvbXBhcmluZyBSZWFjdEVsZW1lbnRzIGVhc2llciBmb3IgdGVzdGluZyBwdXJwb3Nlcywgd2UgbWFrZVxuICAgIC8vIHRoZSB2YWxpZGF0aW9uIGZsYWcgbm9uLWVudW1lcmFibGUgKHdoZXJlIHBvc3NpYmxlLCB3aGljaCBzaG91bGRcbiAgICAvLyBpbmNsdWRlIGV2ZXJ5IGVudmlyb25tZW50IHdlIHJ1biB0ZXN0cyBpbiksIHNvIHRoZSB0ZXN0IGZyYW1ld29ya1xuICAgIC8vIGlnbm9yZXMgaXQuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudC5fc3RvcmUsICd2YWxpZGF0ZWQnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIHZhbHVlOiBmYWxzZVxuICAgIH0pOyAvLyBzZWxmIGFuZCBzb3VyY2UgYXJlIERFViBvbmx5IHByb3BlcnRpZXMuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZWxlbWVudCwgJ19zZWxmJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNlbGZcbiAgICB9KTsgLy8gVHdvIGVsZW1lbnRzIGNyZWF0ZWQgaW4gdHdvIGRpZmZlcmVudCBwbGFjZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWRcbiAgICAvLyBlcXVhbCBmb3IgdGVzdGluZyBwdXJwb3NlcyBhbmQgdGhlcmVmb3JlIHdlIGhpZGUgaXQgZnJvbSBlbnVtZXJhdGlvbi5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NvdXJjZScsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIHZhbHVlOiBzb3VyY2VcbiAgICB9KTtcblxuICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQucHJvcHMpO1xuICAgICAgT2JqZWN0LmZyZWV6ZShlbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn07XG4vKipcbiAqIENyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IFJlYWN0RWxlbWVudCBvZiB0aGUgZ2l2ZW4gdHlwZS5cbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjY3JlYXRlZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgY29uZmlnLCBjaGlsZHJlbikge1xuICB2YXIgcHJvcE5hbWU7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuICB2YXIgcHJvcHMgPSB7fTtcbiAgdmFyIGtleSA9IG51bGw7XG4gIHZhciByZWYgPSBudWxsO1xuICB2YXIgc2VsZiA9IG51bGw7XG4gIHZhciBzb3VyY2UgPSBudWxsO1xuXG4gIGlmIChjb25maWcgIT0gbnVsbCkge1xuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICByZWYgPSBjb25maWcucmVmO1xuXG4gICAgICB7XG4gICAgICAgIHdhcm5JZlN0cmluZ1JlZkNhbm5vdEJlQXV0b0NvbnZlcnRlZChjb25maWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfVxuXG4gICAgc2VsZiA9IGNvbmZpZy5fX3NlbGYgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWcuX19zZWxmO1xuICAgIHNvdXJjZSA9IGNvbmZpZy5fX3NvdXJjZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbmZpZy5fX3NvdXJjZTsgLy8gUmVtYWluaW5nIHByb3BlcnRpZXMgYXJlIGFkZGVkIHRvIGEgbmV3IHByb3BzIG9iamVjdFxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmICFSRVNFUlZFRF9QUk9QUy5oYXNPd25Qcm9wZXJ0eShwcm9wTmFtZSkpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGlmIChPYmplY3QuZnJlZXplKSB7XG4gICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGRBcnJheSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZEFycmF5O1xuICB9IC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuXG5cbiAgaWYgKHR5cGUgJiYgdHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICB2YXIgZGVmYXVsdFByb3BzID0gdHlwZS5kZWZhdWx0UHJvcHM7XG5cbiAgICBmb3IgKHByb3BOYW1lIGluIGRlZmF1bHRQcm9wcykge1xuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGRlZmF1bHRQcm9wc1twcm9wTmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAge1xuICAgIGlmIChrZXkgfHwgcmVmKSB7XG4gICAgICB2YXIgZGlzcGxheU5hbWUgPSB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8ICdVbmtub3duJyA6IHR5cGU7XG5cbiAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgZGVmaW5lS2V5UHJvcFdhcm5pbmdHZXR0ZXIocHJvcHMsIGRpc3BsYXlOYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlZikge1xuICAgICAgICBkZWZpbmVSZWZQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwga2V5LCByZWYsIHNlbGYsIHNvdXJjZSwgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCwgcHJvcHMpO1xufVxuZnVuY3Rpb24gY2xvbmVBbmRSZXBsYWNlS2V5KG9sZEVsZW1lbnQsIG5ld0tleSkge1xuICB2YXIgbmV3RWxlbWVudCA9IFJlYWN0RWxlbWVudChvbGRFbGVtZW50LnR5cGUsIG5ld0tleSwgb2xkRWxlbWVudC5yZWYsIG9sZEVsZW1lbnQuX3NlbGYsIG9sZEVsZW1lbnQuX3NvdXJjZSwgb2xkRWxlbWVudC5fb3duZXIsIG9sZEVsZW1lbnQucHJvcHMpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cbi8qKlxuICogQ2xvbmUgYW5kIHJldHVybiBhIG5ldyBSZWFjdEVsZW1lbnQgdXNpbmcgZWxlbWVudCBhcyB0aGUgc3RhcnRpbmcgcG9pbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2Nsb25lZWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGNsb25lRWxlbWVudChlbGVtZW50LCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIGlmICghIShlbGVtZW50ID09PSBudWxsIHx8IGVsZW1lbnQgPT09IHVuZGVmaW5lZCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJSZWFjdC5jbG9uZUVsZW1lbnQoLi4uKTogVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBSZWFjdCBlbGVtZW50LCBidXQgeW91IHBhc3NlZCBcIiArIGVsZW1lbnQgKyBcIi5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHZhciBwcm9wTmFtZTsgLy8gT3JpZ2luYWwgcHJvcHMgYXJlIGNvcGllZFxuXG4gIHZhciBwcm9wcyA9IF9hc3NpZ24oe30sIGVsZW1lbnQucHJvcHMpOyAvLyBSZXNlcnZlZCBuYW1lcyBhcmUgZXh0cmFjdGVkXG5cblxuICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gIHZhciByZWYgPSBlbGVtZW50LnJlZjsgLy8gU2VsZiBpcyBwcmVzZXJ2ZWQgc2luY2UgdGhlIG93bmVyIGlzIHByZXNlcnZlZC5cblxuICB2YXIgc2VsZiA9IGVsZW1lbnQuX3NlbGY7IC8vIFNvdXJjZSBpcyBwcmVzZXJ2ZWQgc2luY2UgY2xvbmVFbGVtZW50IGlzIHVubGlrZWx5IHRvIGJlIHRhcmdldGVkIGJ5IGFcbiAgLy8gdHJhbnNwaWxlciwgYW5kIHRoZSBvcmlnaW5hbCBzb3VyY2UgaXMgcHJvYmFibHkgYSBiZXR0ZXIgaW5kaWNhdG9yIG9mIHRoZVxuICAvLyB0cnVlIG93bmVyLlxuXG4gIHZhciBzb3VyY2UgPSBlbGVtZW50Ll9zb3VyY2U7IC8vIE93bmVyIHdpbGwgYmUgcHJlc2VydmVkLCB1bmxlc3MgcmVmIGlzIG92ZXJyaWRkZW5cblxuICB2YXIgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcblxuICBpZiAoY29uZmlnICE9IG51bGwpIHtcbiAgICBpZiAoaGFzVmFsaWRSZWYoY29uZmlnKSkge1xuICAgICAgLy8gU2lsZW50bHkgc3RlYWwgdGhlIHJlZiBmcm9tIHRoZSBwYXJlbnQuXG4gICAgICByZWYgPSBjb25maWcucmVmO1xuICAgICAgb3duZXIgPSBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50O1xuICAgIH1cblxuICAgIGlmIChoYXNWYWxpZEtleShjb25maWcpKSB7XG4gICAgICBrZXkgPSAnJyArIGNvbmZpZy5rZXk7XG4gICAgfSAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBvdmVycmlkZSBleGlzdGluZyBwcm9wc1xuXG5cbiAgICB2YXIgZGVmYXVsdFByb3BzO1xuXG4gICAgaWYgKGVsZW1lbnQudHlwZSAmJiBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzKSB7XG4gICAgICBkZWZhdWx0UHJvcHMgPSBlbGVtZW50LnR5cGUuZGVmYXVsdFByb3BzO1xuICAgIH1cblxuICAgIGZvciAocHJvcE5hbWUgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIHByb3BOYW1lKSAmJiAhUkVTRVJWRURfUFJPUFMuaGFzT3duUHJvcGVydHkocHJvcE5hbWUpKSB7XG4gICAgICAgIGlmIChjb25maWdbcHJvcE5hbWVdID09PSB1bmRlZmluZWQgJiYgZGVmYXVsdFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHNcbiAgICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBkZWZhdWx0UHJvcHNbcHJvcE5hbWVdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGNvbmZpZ1twcm9wTmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2hpbGRyZW4gY2FuIGJlIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGFuZCB0aG9zZSBhcmUgdHJhbnNmZXJyZWQgb250b1xuICAvLyB0aGUgbmV3bHkgYWxsb2NhdGVkIHByb3BzIG9iamVjdC5cblxuXG4gIHZhciBjaGlsZHJlbkxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGggLSAyO1xuXG4gIGlmIChjaGlsZHJlbkxlbmd0aCA9PT0gMSkge1xuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRyZW47XG4gIH0gZWxzZSBpZiAoY2hpbGRyZW5MZW5ndGggPiAxKSB7XG4gICAgdmFyIGNoaWxkQXJyYXkgPSBBcnJheShjaGlsZHJlbkxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoaWxkQXJyYXlbaV0gPSBhcmd1bWVudHNbaSArIDJdO1xuICAgIH1cblxuICAgIHByb3BzLmNoaWxkcmVuID0gY2hpbGRBcnJheTtcbiAgfVxuXG4gIHJldHVybiBSZWFjdEVsZW1lbnQoZWxlbWVudC50eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBvd25lciwgcHJvcHMpO1xufVxuLyoqXG4gKiBWZXJpZmllcyB0aGUgb2JqZWN0IGlzIGEgUmVhY3RFbGVtZW50LlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNpc3ZhbGlkZWxlbWVudFxuICogQHBhcmFtIHs/b2JqZWN0fSBvYmplY3RcbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgYG9iamVjdGAgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBAZmluYWxcbiAqL1xuXG5mdW5jdGlvbiBpc1ZhbGlkRWxlbWVudChvYmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnICYmIG9iamVjdCAhPT0gbnVsbCAmJiBvYmplY3QuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRTtcbn1cblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG4vKipcbiAqIEVzY2FwZSBhbmQgd3JhcCBrZXkgc28gaXQgaXMgc2FmZSB0byB1c2UgYXMgYSByZWFjdGlkXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSB0byBiZSBlc2NhcGVkLlxuICogQHJldHVybiB7c3RyaW5nfSB0aGUgZXNjYXBlZCBrZXkuXG4gKi9cblxuZnVuY3Rpb24gZXNjYXBlKGtleSkge1xuICB2YXIgZXNjYXBlUmVnZXggPSAvWz06XS9nO1xuICB2YXIgZXNjYXBlckxvb2t1cCA9IHtcbiAgICAnPSc6ICc9MCcsXG4gICAgJzonOiAnPTInXG4gIH07XG4gIHZhciBlc2NhcGVkU3RyaW5nID0gKCcnICsga2V5KS5yZXBsYWNlKGVzY2FwZVJlZ2V4LCBmdW5jdGlvbiAobWF0Y2gpIHtcbiAgICByZXR1cm4gZXNjYXBlckxvb2t1cFttYXRjaF07XG4gIH0pO1xuICByZXR1cm4gJyQnICsgZXNjYXBlZFN0cmluZztcbn1cbi8qKlxuICogVE9ETzogVGVzdCB0aGF0IGEgc2luZ2xlIGNoaWxkIGFuZCBhbiBhcnJheSB3aXRoIG9uZSBpdGVtIGhhdmUgdGhlIHNhbWUga2V5XG4gKiBwYXR0ZXJuLlxuICovXG5cblxudmFyIGRpZFdhcm5BYm91dE1hcHMgPSBmYWxzZTtcbnZhciB1c2VyUHJvdmlkZWRLZXlFc2NhcGVSZWdleCA9IC9cXC8rL2c7XG5cbmZ1bmN0aW9uIGVzY2FwZVVzZXJQcm92aWRlZEtleSh0ZXh0KSB7XG4gIHJldHVybiAoJycgKyB0ZXh0KS5yZXBsYWNlKHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4LCAnJCYvJyk7XG59XG5cbnZhciBQT09MX1NJWkUgPSAxMDtcbnZhciB0cmF2ZXJzZUNvbnRleHRQb29sID0gW107XG5cbmZ1bmN0aW9uIGdldFBvb2xlZFRyYXZlcnNlQ29udGV4dChtYXBSZXN1bHQsIGtleVByZWZpeCwgbWFwRnVuY3Rpb24sIG1hcENvbnRleHQpIHtcbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoKSB7XG4gICAgdmFyIHRyYXZlcnNlQ29udGV4dCA9IHRyYXZlcnNlQ29udGV4dFBvb2wucG9wKCk7XG4gICAgdHJhdmVyc2VDb250ZXh0LnJlc3VsdCA9IG1hcFJlc3VsdDtcbiAgICB0cmF2ZXJzZUNvbnRleHQua2V5UHJlZml4ID0ga2V5UHJlZml4O1xuICAgIHRyYXZlcnNlQ29udGV4dC5mdW5jID0gbWFwRnVuY3Rpb247XG4gICAgdHJhdmVyc2VDb250ZXh0LmNvbnRleHQgPSBtYXBDb250ZXh0O1xuICAgIHRyYXZlcnNlQ29udGV4dC5jb3VudCA9IDA7XG4gICAgcmV0dXJuIHRyYXZlcnNlQ29udGV4dDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzdWx0OiBtYXBSZXN1bHQsXG4gICAgICBrZXlQcmVmaXg6IGtleVByZWZpeCxcbiAgICAgIGZ1bmM6IG1hcEZ1bmN0aW9uLFxuICAgICAgY29udGV4dDogbWFwQ29udGV4dCxcbiAgICAgIGNvdW50OiAwXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWxlYXNlVHJhdmVyc2VDb250ZXh0KHRyYXZlcnNlQ29udGV4dCkge1xuICB0cmF2ZXJzZUNvbnRleHQucmVzdWx0ID0gbnVsbDtcbiAgdHJhdmVyc2VDb250ZXh0LmtleVByZWZpeCA9IG51bGw7XG4gIHRyYXZlcnNlQ29udGV4dC5mdW5jID0gbnVsbDtcbiAgdHJhdmVyc2VDb250ZXh0LmNvbnRleHQgPSBudWxsO1xuICB0cmF2ZXJzZUNvbnRleHQuY291bnQgPSAwO1xuXG4gIGlmICh0cmF2ZXJzZUNvbnRleHRQb29sLmxlbmd0aCA8IFBPT0xfU0laRSkge1xuICAgIHRyYXZlcnNlQ29udGV4dFBvb2wucHVzaCh0cmF2ZXJzZUNvbnRleHQpO1xuICB9XG59XG4vKipcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHBhcmFtIHshc3RyaW5nfSBuYW1lU29GYXIgTmFtZSBvZiB0aGUga2V5IHBhdGggc28gZmFyLlxuICogQHBhcmFtIHshZnVuY3Rpb259IGNhbGxiYWNrIENhbGxiYWNrIHRvIGludm9rZSB3aXRoIGVhY2ggY2hpbGQgZm91bmQuXG4gKiBAcGFyYW0gez8qfSB0cmF2ZXJzZUNvbnRleHQgVXNlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRocm91Z2hvdXQgdGhlIHRyYXZlcnNhbFxuICogcHJvY2Vzcy5cbiAqIEByZXR1cm4geyFudW1iZXJ9IFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gdGhpcyBzdWJ0cmVlLlxuICovXG5cblxuZnVuY3Rpb24gdHJhdmVyc2VBbGxDaGlsZHJlbkltcGwoY2hpbGRyZW4sIG5hbWVTb0ZhciwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiBjaGlsZHJlbjtcblxuICBpZiAodHlwZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgLy8gQWxsIG9mIHRoZSBhYm92ZSBhcmUgcGVyY2VpdmVkIGFzIG51bGwuXG4gICAgY2hpbGRyZW4gPSBudWxsO1xuICB9XG5cbiAgdmFyIGludm9rZUNhbGxiYWNrID0gZmFsc2U7XG5cbiAgaWYgKGNoaWxkcmVuID09PSBudWxsKSB7XG4gICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIGludm9rZUNhbGxiYWNrID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgIHN3aXRjaCAoY2hpbGRyZW4uJCR0eXBlb2YpIHtcbiAgICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBpZiAoaW52b2tlQ2FsbGJhY2spIHtcbiAgICBjYWxsYmFjayh0cmF2ZXJzZUNvbnRleHQsIGNoaWxkcmVuLCAvLyBJZiBpdCdzIHRoZSBvbmx5IGNoaWxkLCB0cmVhdCB0aGUgbmFtZSBhcyBpZiBpdCB3YXMgd3JhcHBlZCBpbiBhbiBhcnJheVxuICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3MuXG4gICAgbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiArIGdldENvbXBvbmVudEtleShjaGlsZHJlbiwgMCkgOiBuYW1lU29GYXIpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgdmFyIGNoaWxkO1xuICB2YXIgbmV4dE5hbWU7XG4gIHZhciBzdWJ0cmVlQ291bnQgPSAwOyAvLyBDb3VudCBvZiBjaGlsZHJlbiBmb3VuZCBpbiB0aGUgY3VycmVudCBzdWJ0cmVlLlxuXG4gIHZhciBuZXh0TmFtZVByZWZpeCA9IG5hbWVTb0ZhciA9PT0gJycgPyBTRVBBUkFUT1IgOiBuYW1lU29GYXIgKyBTVUJTRVBBUkFUT1I7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIG5leHROYW1lID0gbmV4dE5hbWVQcmVmaXggKyBnZXRDb21wb25lbnRLZXkoY2hpbGQsIGkpO1xuICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkLCBuZXh0TmFtZSwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XG5cbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcblxuICAgICAge1xuICAgICAgICAvLyBXYXJuIGFib3V0IHVzaW5nIE1hcHMgYXMgY2hpbGRyZW5cbiAgICAgICAgaWYgKGl0ZXJhdG9yRm4gPT09IGNoaWxkcmVuLmVudHJpZXMpIHtcbiAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dE1hcHMpIHtcbiAgICAgICAgICAgIHdhcm4oJ1VzaW5nIE1hcHMgYXMgY2hpbGRyZW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgY29udmVydGluZyBjaGlsZHJlbiB0byAnICsgJ2FuIGFycmF5IG9mIGtleWVkIFJlYWN0RWxlbWVudHMgaW5zdGVhZC4nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkaWRXYXJuQWJvdXRNYXBzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwoY2hpbGRyZW4pO1xuICAgICAgdmFyIHN0ZXA7XG4gICAgICB2YXIgaWkgPSAwO1xuXG4gICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgIGNoaWxkID0gc3RlcC52YWx1ZTtcbiAgICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldENvbXBvbmVudEtleShjaGlsZCwgaWkrKyk7XG4gICAgICAgIHN1YnRyZWVDb3VudCArPSB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZCwgbmV4dE5hbWUsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICB7XG4gICAgICAgIGFkZGVuZHVtID0gJyBJZiB5b3UgbWVhbnQgdG8gcmVuZGVyIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiwgdXNlIGFuIGFycmF5ICcgKyAnaW5zdGVhZC4nICsgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjaGlsZHJlblN0cmluZyA9ICcnICsgY2hpbGRyZW47XG5cbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IEVycm9yKCBcIk9iamVjdHMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkIChmb3VuZDogXCIgKyAoY2hpbGRyZW5TdHJpbmcgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjaGlsZHJlbikuam9pbignLCAnKSArICd9JyA6IGNoaWxkcmVuU3RyaW5nKSArIFwiKS5cIiArIGFkZGVuZHVtICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3VidHJlZUNvdW50O1xufVxuLyoqXG4gKiBUcmF2ZXJzZXMgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLCBidXRcbiAqIG1pZ2h0IGFsc28gYmUgc3BlY2lmaWVkIHRocm91Z2ggYXR0cmlidXRlczpcbiAqXG4gKiAtIGB0cmF2ZXJzZUFsbENoaWxkcmVuKHRoaXMucHJvcHMuY2hpbGRyZW4sIC4uLilgXG4gKiAtIGB0cmF2ZXJzZUFsbENoaWxkcmVuKHRoaXMucHJvcHMubGVmdFBhbmVsQ2hpbGRyZW4sIC4uLilgXG4gKlxuICogVGhlIGB0cmF2ZXJzZUNvbnRleHRgIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50IHRoYXQgaXMgcGFzc2VkIHRocm91Z2ggdGhlXG4gKiBlbnRpcmUgdHJhdmVyc2FsLiBJdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhY2N1bXVsYXRpb25zIG9yIGFueXRoaW5nIGVsc2UgdGhhdFxuICogdGhlIGNhbGxiYWNrIG1pZ2h0IGZpbmQgcmVsZXZhbnQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBvYmplY3QuXG4gKiBAcGFyYW0geyFmdW5jdGlvbn0gY2FsbGJhY2sgVG8gaW52b2tlIHVwb24gdHJhdmVyc2luZyBlYWNoIGNoaWxkLlxuICogQHBhcmFtIHs/Kn0gdHJhdmVyc2VDb250ZXh0IENvbnRleHQgZm9yIHRyYXZlcnNhbC5cbiAqIEByZXR1cm4geyFudW1iZXJ9IFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gaW4gdGhpcyBzdWJ0cmVlLlxuICovXG5cblxuZnVuY3Rpb24gdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCkge1xuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkcmVuLCAnJywgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCk7XG59XG4vKipcbiAqIEdlbmVyYXRlIGEga2V5IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgYSBjb21wb25lbnQgd2l0aGluIGEgc2V0LlxuICpcbiAqIEBwYXJhbSB7Kn0gY29tcG9uZW50IEEgY29tcG9uZW50IHRoYXQgY291bGQgY29udGFpbiBhIG1hbnVhbCBrZXkuXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXggSW5kZXggdGhhdCBpcyB1c2VkIGlmIGEgbWFudWFsIGtleSBpcyBub3QgcHJvdmlkZWQuXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKHR5cGVvZiBjb21wb25lbnQgPT09ICdvYmplY3QnICYmIGNvbXBvbmVudCAhPT0gbnVsbCAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICByZXR1cm4gZXNjYXBlKGNvbXBvbmVudC5rZXkpO1xuICB9IC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG5cblxuICByZXR1cm4gaW5kZXgudG9TdHJpbmcoMzYpO1xufVxuXG5mdW5jdGlvbiBmb3JFYWNoU2luZ2xlQ2hpbGQoYm9va0tlZXBpbmcsIGNoaWxkLCBuYW1lKSB7XG4gIHZhciBmdW5jID0gYm9va0tlZXBpbmcuZnVuYyxcbiAgICAgIGNvbnRleHQgPSBib29rS2VlcGluZy5jb250ZXh0O1xuICBmdW5jLmNhbGwoY29udGV4dCwgY2hpbGQsIGJvb2tLZWVwaW5nLmNvdW50KyspO1xufVxuLyoqXG4gKiBJdGVyYXRlcyB0aHJvdWdoIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5mb3JlYWNoXG4gKlxuICogVGhlIHByb3ZpZGVkIGZvckVhY2hGdW5jKGNoaWxkLCBpbmRleCkgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2hcbiAqIGxlYWYgY2hpbGQuXG4gKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCosIGludCl9IGZvckVhY2hGdW5jXG4gKiBAcGFyYW0geyp9IGZvckVhY2hDb250ZXh0IENvbnRleHQgZm9yIGZvckVhY2hDb250ZXh0LlxuICovXG5cblxuZnVuY3Rpb24gZm9yRWFjaENoaWxkcmVuKGNoaWxkcmVuLCBmb3JFYWNoRnVuYywgZm9yRWFjaENvbnRleHQpIHtcbiAgaWYgKGNoaWxkcmVuID09IG51bGwpIHtcbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cblxuICB2YXIgdHJhdmVyc2VDb250ZXh0ID0gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG51bGwsIG51bGwsIGZvckVhY2hGdW5jLCBmb3JFYWNoQ29udGV4dCk7XG4gIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGZvckVhY2hTaW5nbGVDaGlsZCwgdHJhdmVyc2VDb250ZXh0KTtcbiAgcmVsZWFzZVRyYXZlcnNlQ29udGV4dCh0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBtYXBTaW5nbGVDaGlsZEludG9Db250ZXh0KGJvb2tLZWVwaW5nLCBjaGlsZCwgY2hpbGRLZXkpIHtcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdCxcbiAgICAgIGtleVByZWZpeCA9IGJvb2tLZWVwaW5nLmtleVByZWZpeCxcbiAgICAgIGZ1bmMgPSBib29rS2VlcGluZy5mdW5jLFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XG4gIHZhciBtYXBwZWRDaGlsZCA9IGZ1bmMuY2FsbChjb250ZXh0LCBjaGlsZCwgYm9va0tlZXBpbmcuY291bnQrKyk7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChtYXBwZWRDaGlsZCwgcmVzdWx0LCBjaGlsZEtleSwgZnVuY3Rpb24gKGMpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKG1hcHBlZENoaWxkICE9IG51bGwpIHtcbiAgICBpZiAoaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShtYXBwZWRDaGlsZCwgLy8gS2VlcCBib3RoIHRoZSAobWFwcGVkKSBhbmQgb2xkIGtleXMgaWYgdGhleSBkaWZmZXIsIGp1c3QgYXNcbiAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAga2V5UHJlZml4ICsgKG1hcHBlZENoaWxkLmtleSAmJiAoIWNoaWxkIHx8IGNoaWxkLmtleSAhPT0gbWFwcGVkQ2hpbGQua2V5KSA/IGVzY2FwZVVzZXJQcm92aWRlZEtleShtYXBwZWRDaGlsZC5rZXkpICsgJy8nIDogJycpICsgY2hpbGRLZXkpO1xuICAgIH1cblxuICAgIHJlc3VsdC5wdXNoKG1hcHBlZENoaWxkKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCBhcnJheSwgcHJlZml4LCBmdW5jLCBjb250ZXh0KSB7XG4gIHZhciBlc2NhcGVkUHJlZml4ID0gJyc7XG5cbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XG4gICAgZXNjYXBlZFByZWZpeCA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShwcmVmaXgpICsgJy8nO1xuICB9XG5cbiAgdmFyIHRyYXZlcnNlQ29udGV4dCA9IGdldFBvb2xlZFRyYXZlcnNlQ29udGV4dChhcnJheSwgZXNjYXBlZFByZWZpeCwgZnVuYywgY29udGV4dCk7XG4gIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIG1hcFNpbmdsZUNoaWxkSW50b0NvbnRleHQsIHRyYXZlcnNlQ29udGV4dCk7XG4gIHJlbGVhc2VUcmF2ZXJzZUNvbnRleHQodHJhdmVyc2VDb250ZXh0KTtcbn1cbi8qKlxuICogTWFwcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVubWFwXG4gKlxuICogVGhlIHByb3ZpZGVkIG1hcEZ1bmN0aW9uKGNoaWxkLCBrZXksIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZnVuYyBUaGUgbWFwIGZ1bmN0aW9uLlxuICogQHBhcmFtIHsqfSBjb250ZXh0IENvbnRleHQgZm9yIG1hcEZ1bmN0aW9uLlxuICogQHJldHVybiB7b2JqZWN0fSBPYmplY3QgY29udGFpbmluZyB0aGUgb3JkZXJlZCBtYXAgb2YgcmVzdWx0cy5cbiAqL1xuXG5cbmZ1bmN0aW9uIG1hcENoaWxkcmVuKGNoaWxkcmVuLCBmdW5jLCBjb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuO1xuICB9XG5cbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCByZXN1bHQsIG51bGwsIGZ1bmMsIGNvbnRleHQpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBDb3VudCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXNcbiAqIGBwcm9wcy5jaGlsZHJlbmAuXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVuY291bnRcbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIG51bWJlciBvZiBjaGlsZHJlbi5cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvdW50Q2hpbGRyZW4oY2hpbGRyZW4pIHtcbiAgcmV0dXJuIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgbnVsbCk7XG59XG4vKipcbiAqIEZsYXR0ZW4gYSBjaGlsZHJlbiBvYmplY3QgKHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYCkgYW5kXG4gKiByZXR1cm4gYW4gYXJyYXkgd2l0aCBhcHByb3ByaWF0ZWx5IHJlLWtleWVkIGNoaWxkcmVuLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbnRvYXJyYXlcbiAqL1xuXG5cbmZ1bmN0aW9uIHRvQXJyYXkoY2hpbGRyZW4pIHtcbiAgdmFyIHJlc3VsdCA9IFtdO1xuICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKGNoaWxkcmVuLCByZXN1bHQsIG51bGwsIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIHJldHVybiBjaGlsZDtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIGZpcnN0IGNoaWxkIGluIGEgY29sbGVjdGlvbiBvZiBjaGlsZHJlbiBhbmQgdmVyaWZpZXMgdGhhdCB0aGVyZVxuICogaXMgb25seSBvbmUgY2hpbGQgaW4gdGhlIGNvbGxlY3Rpb24uXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVub25seVxuICpcbiAqIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGEgc2luZ2xlIGNoaWxkIGdldHNcbiAqIHBhc3NlZCB3aXRob3V0IGEgd3JhcHBlciwgYnV0IHRoZSBwdXJwb3NlIG9mIHRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIHRvXG4gKiBhYnN0cmFjdCBhd2F5IHRoZSBwYXJ0aWN1bGFyIHN0cnVjdHVyZSBvZiBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0gez9vYmplY3R9IGNoaWxkcmVuIENoaWxkIGNvbGxlY3Rpb24gc3RydWN0dXJlLlxuICogQHJldHVybiB7UmVhY3RFbGVtZW50fSBUaGUgZmlyc3QgYW5kIG9ubHkgYFJlYWN0RWxlbWVudGAgY29udGFpbmVkIGluIHRoZVxuICogc3RydWN0dXJlLlxuICovXG5cblxuZnVuY3Rpb24gb25seUNoaWxkKGNoaWxkcmVuKSB7XG4gIGlmICghaXNWYWxpZEVsZW1lbnQoY2hpbGRyZW4pKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiUmVhY3QuQ2hpbGRyZW4ub25seSBleHBlY3RlZCB0byByZWNlaXZlIGEgc2luZ2xlIFJlYWN0IGVsZW1lbnQgY2hpbGQuXCIgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2hpbGRyZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQoZGVmYXVsdFZhbHVlLCBjYWxjdWxhdGVDaGFuZ2VkQml0cykge1xuICBpZiAoY2FsY3VsYXRlQ2hhbmdlZEJpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGN1bGF0ZUNoYW5nZWRCaXRzID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICBpZiAoY2FsY3VsYXRlQ2hhbmdlZEJpdHMgIT09IG51bGwgJiYgdHlwZW9mIGNhbGN1bGF0ZUNoYW5nZWRCaXRzICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGVycm9yKCdjcmVhdGVDb250ZXh0OiBFeHBlY3RlZCB0aGUgb3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMnLCBjYWxjdWxhdGVDaGFuZ2VkQml0cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0NPTlRFWFRfVFlQRSxcbiAgICBfY2FsY3VsYXRlQ2hhbmdlZEJpdHM6IGNhbGN1bGF0ZUNoYW5nZWRCaXRzLFxuICAgIC8vIEFzIGEgd29ya2Fyb3VuZCB0byBzdXBwb3J0IG11bHRpcGxlIGNvbmN1cnJlbnQgcmVuZGVyZXJzLCB3ZSBjYXRlZ29yaXplXG4gICAgLy8gc29tZSByZW5kZXJlcnMgYXMgcHJpbWFyeSBhbmQgb3RoZXJzIGFzIHNlY29uZGFyeS4gV2Ugb25seSBleHBlY3RcbiAgICAvLyB0aGVyZSB0byBiZSB0d28gY29uY3VycmVudCByZW5kZXJlcnMgYXQgbW9zdDogUmVhY3QgTmF0aXZlIChwcmltYXJ5KSBhbmRcbiAgICAvLyBGYWJyaWMgKHNlY29uZGFyeSk7IFJlYWN0IERPTSAocHJpbWFyeSkgYW5kIFJlYWN0IEFSVCAoc2Vjb25kYXJ5KS5cbiAgICAvLyBTZWNvbmRhcnkgcmVuZGVyZXJzIHN0b3JlIHRoZWlyIGNvbnRleHQgdmFsdWVzIG9uIHNlcGFyYXRlIGZpZWxkcy5cbiAgICBfY3VycmVudFZhbHVlOiBkZWZhdWx0VmFsdWUsXG4gICAgX2N1cnJlbnRWYWx1ZTI6IGRlZmF1bHRWYWx1ZSxcbiAgICAvLyBVc2VkIHRvIHRyYWNrIGhvdyBtYW55IGNvbmN1cnJlbnQgcmVuZGVyZXJzIHRoaXMgY29udGV4dCBjdXJyZW50bHlcbiAgICAvLyBzdXBwb3J0cyB3aXRoaW4gaW4gYSBzaW5nbGUgcmVuZGVyZXIuIFN1Y2ggYXMgcGFyYWxsZWwgc2VydmVyIHJlbmRlcmluZy5cbiAgICBfdGhyZWFkQ291bnQ6IDAsXG4gICAgLy8gVGhlc2UgYXJlIGNpcmN1bGFyXG4gICAgUHJvdmlkZXI6IG51bGwsXG4gICAgQ29uc3VtZXI6IG51bGxcbiAgfTtcbiAgY29udGV4dC5Qcm92aWRlciA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfUFJPVklERVJfVFlQRSxcbiAgICBfY29udGV4dDogY29udGV4dFxuICB9O1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSBmYWxzZTtcbiAgdmFyIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gZmFsc2U7XG5cbiAge1xuICAgIC8vIEEgc2VwYXJhdGUgb2JqZWN0LCBidXQgcHJveGllcyBiYWNrIHRvIHRoZSBvcmlnaW5hbCBjb250ZXh0IG9iamVjdCBmb3JcbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gSXQgaGFzIGEgZGlmZmVyZW50ICQkdHlwZW9mLCBzbyB3ZSBjYW4gcHJvcGVybHlcbiAgICAvLyB3YXJuIGZvciB0aGUgaW5jb3JyZWN0IHVzYWdlIG9mIENvbnRleHQgYXMgYSBDb25zdW1lci5cbiAgICB2YXIgQ29uc3VtZXIgPSB7XG4gICAgICAkJHR5cGVvZjogUkVBQ1RfQ09OVEVYVF9UWVBFLFxuICAgICAgX2NvbnRleHQ6IGNvbnRleHQsXG4gICAgICBfY2FsY3VsYXRlQ2hhbmdlZEJpdHM6IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzXG4gICAgfTsgLy8gJEZsb3dGaXhNZTogRmxvdyBjb21wbGFpbnMgYWJvdXQgbm90IHNldHRpbmcgYSB2YWx1ZSwgd2hpY2ggaXMgaW50ZW50aW9uYWwgaGVyZVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ29uc3VtZXIsIHtcbiAgICAgIFByb3ZpZGVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb25zdW1lclByb3ZpZGVyID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Qcm92aWRlcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Qcm92aWRlcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Qcm92aWRlcjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX1Byb3ZpZGVyKSB7XG4gICAgICAgICAgY29udGV4dC5Qcm92aWRlciA9IF9Qcm92aWRlcjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWU6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZSA9IF9jdXJyZW50VmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfY3VycmVudFZhbHVlMjoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlMjtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAoX2N1cnJlbnRWYWx1ZTIpIHtcbiAgICAgICAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUyID0gX2N1cnJlbnRWYWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfdGhyZWFkQ291bnQ6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHQuX3RocmVhZENvdW50O1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfdGhyZWFkQ291bnQpIHtcbiAgICAgICAgICBjb250ZXh0Ll90aHJlYWRDb3VudCA9IF90aHJlYWRDb3VudDtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIENvbnN1bWVyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmICghaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdOZXN0ZWRDb250ZXh0Q29uc3VtZXJzID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlbmRlcmluZyA8Q29udGV4dC5Db25zdW1lci5Db25zdW1lcj4gaXMgbm90IHN1cHBvcnRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gRGlkIHlvdSBtZWFuIHRvIHJlbmRlciA8Q29udGV4dC5Db25zdW1lcj4gaW5zdGVhZD8nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY29udGV4dC5Db25zdW1lcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pOyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBtaXNzaW5nIHByb3BlcnRpZXMgYmVjYXVzZSBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgZGVmaW5lUHJvcGVydHlcblxuICAgIGNvbnRleHQuQ29uc3VtZXIgPSBDb25zdW1lcjtcbiAgfVxuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50UmVuZGVyZXIgPSBudWxsO1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlcjIgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQ7XG59XG5cbmZ1bmN0aW9uIGxhenkoY3Rvcikge1xuICB2YXIgbGF6eVR5cGUgPSB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0xBWllfVFlQRSxcbiAgICBfY3RvcjogY3RvcixcbiAgICAvLyBSZWFjdCB1c2VzIHRoZXNlIGZpZWxkcyB0byBzdG9yZSB0aGUgcmVzdWx0LlxuICAgIF9zdGF0dXM6IC0xLFxuICAgIF9yZXN1bHQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgLy8gSW4gcHJvZHVjdGlvbiwgdGhpcyB3b3VsZCBqdXN0IHNldCBpdCBvbiB0aGUgb2JqZWN0LlxuICAgIHZhciBkZWZhdWx0UHJvcHM7XG4gICAgdmFyIHByb3BUeXBlcztcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsYXp5VHlwZSwge1xuICAgICAgZGVmYXVsdFByb3BzOiB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRQcm9wcztcbiAgICAgICAgfSxcbiAgICAgICAgc2V0OiBmdW5jdGlvbiAobmV3RGVmYXVsdFByb3BzKSB7XG4gICAgICAgICAgZXJyb3IoJ1JlYWN0LmxhenkoLi4uKTogSXQgaXMgbm90IHN1cHBvcnRlZCB0byBhc3NpZ24gYGRlZmF1bHRQcm9wc2AgdG8gJyArICdhIGxhenkgY29tcG9uZW50IGltcG9ydC4gRWl0aGVyIHNwZWNpZnkgdGhlbSB3aGVyZSB0aGUgY29tcG9uZW50ICcgKyAnaXMgZGVmaW5lZCwgb3IgY3JlYXRlIGEgd3JhcHBpbmcgY29tcG9uZW50IGFyb3VuZCBpdC4nKTtcblxuICAgICAgICAgIGRlZmF1bHRQcm9wcyA9IG5ld0RlZmF1bHRQcm9wczsgLy8gTWF0Y2ggcHJvZHVjdGlvbiBiZWhhdmlvciBtb3JlIGNsb3NlbHk6XG5cbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobGF6eVR5cGUsICdkZWZhdWx0UHJvcHMnLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwcm9wVHlwZXM6IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gcHJvcFR5cGVzO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChuZXdQcm9wVHlwZXMpIHtcbiAgICAgICAgICBlcnJvcignUmVhY3QubGF6eSguLi4pOiBJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIGFzc2lnbiBgcHJvcFR5cGVzYCB0byAnICsgJ2EgbGF6eSBjb21wb25lbnQgaW1wb3J0LiBFaXRoZXIgc3BlY2lmeSB0aGVtIHdoZXJlIHRoZSBjb21wb25lbnQgJyArICdpcyBkZWZpbmVkLCBvciBjcmVhdGUgYSB3cmFwcGluZyBjb21wb25lbnQgYXJvdW5kIGl0LicpO1xuXG4gICAgICAgICAgcHJvcFR5cGVzID0gbmV3UHJvcFR5cGVzOyAvLyBNYXRjaCBwcm9kdWN0aW9uIGJlaGF2aW9yIG1vcmUgY2xvc2VseTpcblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5VHlwZSwgJ3Byb3BUeXBlcycsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGxhenlUeXBlO1xufVxuXG5mdW5jdGlvbiBmb3J3YXJkUmVmKHJlbmRlcikge1xuICB7XG4gICAgaWYgKHJlbmRlciAhPSBudWxsICYmIHJlbmRlci4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICBlcnJvcignZm9yd2FyZFJlZiByZXF1aXJlcyBhIHJlbmRlciBmdW5jdGlvbiBidXQgcmVjZWl2ZWQgYSBgbWVtb2AgJyArICdjb21wb25lbnQuIEluc3RlYWQgb2YgZm9yd2FyZFJlZihtZW1vKC4uLikpLCB1c2UgJyArICdtZW1vKGZvcndhcmRSZWYoLi4uKSkuJyk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVuZGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignZm9yd2FyZFJlZiByZXF1aXJlcyBhIHJlbmRlciBmdW5jdGlvbiBidXQgd2FzIGdpdmVuICVzLicsIHJlbmRlciA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiByZW5kZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocmVuZGVyLmxlbmd0aCAhPT0gMCAmJiByZW5kZXIubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgYWNjZXB0IGV4YWN0bHkgdHdvIHBhcmFtZXRlcnM6IHByb3BzIGFuZCByZWYuICVzJywgcmVuZGVyLmxlbmd0aCA9PT0gMSA/ICdEaWQgeW91IGZvcmdldCB0byB1c2UgdGhlIHJlZiBwYXJhbWV0ZXI/JyA6ICdBbnkgYWRkaXRpb25hbCBwYXJhbWV0ZXIgd2lsbCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlbmRlciAhPSBudWxsKSB7XG4gICAgICBpZiAocmVuZGVyLmRlZmF1bHRQcm9wcyAhPSBudWxsIHx8IHJlbmRlci5wcm9wVHlwZXMgIT0gbnVsbCkge1xuICAgICAgICBlcnJvcignZm9yd2FyZFJlZiByZW5kZXIgZnVuY3Rpb25zIGRvIG5vdCBzdXBwb3J0IHByb3BUeXBlcyBvciBkZWZhdWx0UHJvcHMuICcgKyAnRGlkIHlvdSBhY2NpZGVudGFsbHkgcGFzcyBhIFJlYWN0IGNvbXBvbmVudD8nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFLFxuICAgIHJlbmRlcjogcmVuZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicgfHwgLy8gTm90ZTogaXRzIHR5cGVvZiBtaWdodCBiZSBvdGhlciB0aGFuICdzeW1ib2wnIG9yICdudW1iZXInIGlmIGl0J3MgYSBwb2x5ZmlsbC5cbiAgdHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9DT05DVVJSRU5UX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9QUk9GSUxFUl9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1VTUEVOU0VfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GVU5EQU1FTlRBTF9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1JFU1BPTkRFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX1NDT1BFX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQkxPQ0tfVFlQRSk7XG59XG5cbmZ1bmN0aW9uIG1lbW8odHlwZSwgY29tcGFyZSkge1xuICB7XG4gICAgaWYgKCFpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSkpIHtcbiAgICAgIGVycm9yKCdtZW1vOiBUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIGNvbXBvbmVudC4gSW5zdGVhZCAnICsgJ3JlY2VpdmVkOiAlcycsIHR5cGUgPT09IG51bGwgPyAnbnVsbCcgOiB0eXBlb2YgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfTUVNT19UWVBFLFxuICAgIHR5cGU6IHR5cGUsXG4gICAgY29tcGFyZTogY29tcGFyZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbXBhcmVcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURpc3BhdGNoZXIoKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuXG4gIGlmICghKGRpc3BhdGNoZXIgIT09IG51bGwpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiSW52YWxpZCBob29rIGNhbGwuIEhvb2tzIGNhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgb2YgdGhlIGJvZHkgb2YgYSBmdW5jdGlvbiBjb21wb25lbnQuIFRoaXMgY291bGQgaGFwcGVuIGZvciBvbmUgb2YgdGhlIGZvbGxvd2luZyByZWFzb25zOlxcbjEuIFlvdSBtaWdodCBoYXZlIG1pc21hdGNoaW5nIHZlcnNpb25zIG9mIFJlYWN0IGFuZCB0aGUgcmVuZGVyZXIgKHN1Y2ggYXMgUmVhY3QgRE9NKVxcbjIuIFlvdSBtaWdodCBiZSBicmVha2luZyB0aGUgUnVsZXMgb2YgSG9va3NcXG4zLiBZb3UgbWlnaHQgaGF2ZSBtb3JlIHRoYW4gb25lIGNvcHkgb2YgUmVhY3QgaW4gdGhlIHNhbWUgYXBwXFxuU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtaW52YWxpZC1ob29rLWNhbGwgZm9yIHRpcHMgYWJvdXQgaG93IHRvIGRlYnVnIGFuZCBmaXggdGhpcyBwcm9ibGVtLlwiICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXI7XG59XG5cbmZ1bmN0aW9uIHVzZUNvbnRleHQoQ29udGV4dCwgdW5zdGFibGVfb2JzZXJ2ZWRCaXRzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcblxuICB7XG4gICAgaWYgKHVuc3RhYmxlX29ic2VydmVkQml0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvcigndXNlQ29udGV4dCgpIHNlY29uZCBhcmd1bWVudCBpcyByZXNlcnZlZCBmb3IgZnV0dXJlICcgKyAndXNlIGluIFJlYWN0LiBQYXNzaW5nIGl0IGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnWW91IHBhc3NlZDogJXMuJXMnLCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMsIHR5cGVvZiB1bnN0YWJsZV9vYnNlcnZlZEJpdHMgPT09ICdudW1iZXInICYmIEFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzJdKSA/ICdcXG5cXG5EaWQgeW91IGNhbGwgYXJyYXkubWFwKHVzZUNvbnRleHQpPyAnICsgJ0NhbGxpbmcgSG9va3MgaW5zaWRlIGEgbG9vcCBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0xlYXJuIG1vcmUgYXQgaHR0cHM6Ly9mYi5tZS9ydWxlcy1vZi1ob29rcycgOiAnJyk7XG4gICAgfSAvLyBUT0RPOiBhZGQgYSBtb3JlIGdlbmVyaWMgd2FybmluZyBmb3IgaW52YWxpZCB2YWx1ZXMuXG5cblxuICAgIGlmIChDb250ZXh0Ll9jb250ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhciByZWFsQ29udGV4dCA9IENvbnRleHQuX2NvbnRleHQ7IC8vIERvbid0IGRlZHVwbGljYXRlIGJlY2F1c2UgdGhpcyBsZWdpdGltYXRlbHkgY2F1c2VzIGJ1Z3NcbiAgICAgIC8vIGFuZCBub2JvZHkgc2hvdWxkIGJlIHVzaW5nIHRoaXMgaW4gZXhpc3RpbmcgY29kZS5cblxuICAgICAgaWYgKHJlYWxDb250ZXh0LkNvbnN1bWVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Db25zdW1lcikgaXMgbm90IHN1cHBvcnRlZCwgbWF5IGNhdXNlIGJ1Z3MsIGFuZCB3aWxsIGJlICcgKyAncmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9IGVsc2UgaWYgKHJlYWxDb250ZXh0LlByb3ZpZGVyID09PSBDb250ZXh0KSB7XG4gICAgICAgIGVycm9yKCdDYWxsaW5nIHVzZUNvbnRleHQoQ29udGV4dC5Qcm92aWRlcikgaXMgbm90IHN1cHBvcnRlZC4gJyArICdEaWQgeW91IG1lYW4gdG8gY2FsbCB1c2VDb250ZXh0KENvbnRleHQpIGluc3RlYWQ/Jyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ29udGV4dChDb250ZXh0LCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMpO1xufVxuZnVuY3Rpb24gdXNlU3RhdGUoaW5pdGlhbFN0YXRlKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbn1cbmZ1bmN0aW9uIHVzZVJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZVJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG59XG5mdW5jdGlvbiB1c2VSZWYoaW5pdGlhbFZhbHVlKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlUmVmKGluaXRpYWxWYWx1ZSk7XG59XG5mdW5jdGlvbiB1c2VFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZU1lbW8oY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlTWVtbyhjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB2YXIgZGlzcGF0Y2hlciA9IHJlc29sdmVEaXNwYXRjaGVyKCk7XG4gIHJldHVybiBkaXNwYXRjaGVyLnVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlRGVidWdWYWx1ZSh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAge1xuICAgIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgICByZXR1cm4gZGlzcGF0Y2hlci51c2VEZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbik7XG4gIH1cbn1cblxudmFyIHByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duO1xuXG57XG4gIHByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpIHtcbiAgaWYgKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgIGlmIChuYW1lKSB7XG4gICAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgbmFtZSArICdgLic7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShzb3VyY2UpIHtcbiAgaWYgKHNvdXJjZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIGZpbGVOYW1lID0gc291cmNlLmZpbGVOYW1lLnJlcGxhY2UoL14uKltcXFxcXFwvXS8sICcnKTtcbiAgICB2YXIgbGluZU51bWJlciA9IHNvdXJjZS5saW5lTnVtYmVyO1xuICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgeW91ciBjb2RlIGF0ICcgKyBmaWxlTmFtZSArICc6JyArIGxpbmVOdW1iZXIgKyAnLic7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMoZWxlbWVudFByb3BzKSB7XG4gIGlmIChlbGVtZW50UHJvcHMgIT09IG51bGwgJiYgZWxlbWVudFByb3BzICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW0oZWxlbWVudFByb3BzLl9fc291cmNlKTtcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cbi8qKlxuICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICogb2JqZWN0IGtleXMgYXJlIG5vdCB2YWxpZC4gVGhpcyBhbGxvd3MgdXMgdG8ga2VlcCB0cmFjayBvZiBjaGlsZHJlbiBiZXR3ZWVuXG4gKiB1cGRhdGVzLlxuICovXG5cblxudmFyIG93bmVySGFzS2V5VXNlV2FybmluZyA9IHt9O1xuXG5mdW5jdGlvbiBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpIHtcbiAgdmFyIGluZm8gPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcblxuICBpZiAoIWluZm8pIHtcbiAgICB2YXIgcGFyZW50TmFtZSA9IHR5cGVvZiBwYXJlbnRUeXBlID09PSAnc3RyaW5nJyA/IHBhcmVudFR5cGUgOiBwYXJlbnRUeXBlLmRpc3BsYXlOYW1lIHx8IHBhcmVudFR5cGUubmFtZTtcblxuICAgIGlmIChwYXJlbnROYW1lKSB7XG4gICAgICBpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgdG9wLWxldmVsIHJlbmRlciBjYWxsIHVzaW5nIDxcIiArIHBhcmVudE5hbWUgKyBcIj4uXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZm87XG59XG4vKipcbiAqIFdhcm4gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGFuIGV4cGxpY2l0IGtleSBhc3NpZ25lZCB0byBpdC5cbiAqIFRoaXMgZWxlbWVudCBpcyBpbiBhbiBhcnJheS4gVGhlIGFycmF5IGNvdWxkIGdyb3cgYW5kIHNocmluayBvciBiZVxuICogcmVvcmRlcmVkLiBBbGwgY2hpbGRyZW4gdGhhdCBoYXZlbid0IGFscmVhZHkgYmVlbiB2YWxpZGF0ZWQgYXJlIHJlcXVpcmVkIHRvXG4gKiBoYXZlIGEgXCJrZXlcIiBwcm9wZXJ0eSBhc3NpZ25lZCB0byBpdC4gRXJyb3Igc3RhdHVzZXMgYXJlIGNhY2hlZCBzbyBhIHdhcm5pbmdcbiAqIHdpbGwgb25seSBiZSBzaG93biBvbmNlLlxuICpcbiAqIEBpbnRlcm5hbFxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnQgRWxlbWVudCB0aGF0IHJlcXVpcmVzIGEga2V5LlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIGVsZW1lbnQncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVFeHBsaWNpdEtleShlbGVtZW50LCBwYXJlbnRUeXBlKSB7XG4gIGlmICghZWxlbWVudC5fc3RvcmUgfHwgZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkIHx8IGVsZW1lbnQua2V5ICE9IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICB2YXIgY3VycmVudENvbXBvbmVudEVycm9ySW5mbyA9IGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSk7XG5cbiAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7IC8vIFVzdWFsbHkgdGhlIGN1cnJlbnQgb3duZXIgaXMgdGhlIG9mZmVuZGVyLCBidXQgaWYgaXQgYWNjZXB0cyBjaGlsZHJlbiBhcyBhXG4gIC8vIHByb3BlcnR5LCBpdCBtYXkgYmUgdGhlIGNyZWF0b3Igb2YgdGhlIGNoaWxkIHRoYXQncyByZXNwb25zaWJsZSBmb3JcbiAgLy8gYXNzaWduaW5nIGl0IGEga2V5LlxuXG4gIHZhciBjaGlsZE93bmVyID0gJyc7XG5cbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fb3duZXIgIT09IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQpIHtcbiAgICAvLyBHaXZlIHRoZSBjb21wb25lbnQgdGhhdCBvcmlnaW5hbGx5IGNyZWF0ZWQgdGhpcyBjaGlsZC5cbiAgICBjaGlsZE93bmVyID0gXCIgSXQgd2FzIHBhc3NlZCBhIGNoaWxkIGZyb20gXCIgKyBnZXRDb21wb25lbnROYW1lKGVsZW1lbnQuX293bmVyLnR5cGUpICsgXCIuXCI7XG4gIH1cblxuICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcblxuICB7XG4gICAgZXJyb3IoJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlIFwia2V5XCIgcHJvcC4nICsgJyVzJXMgU2VlIGh0dHBzOi8vZmIubWUvcmVhY3Qtd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsIGN1cnJlbnRDb21wb25lbnRFcnJvckluZm8sIGNoaWxkT3duZXIpO1xuICB9XG5cbiAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG59XG4vKipcbiAqIEVuc3VyZSB0aGF0IGV2ZXJ5IGVsZW1lbnQgZWl0aGVyIGlzIHBhc3NlZCBpbiBhIHN0YXRpYyBsb2NhdGlvbiwgaW4gYW5cbiAqIGFycmF5IHdpdGggYW4gZXhwbGljaXQga2V5cyBwcm9wZXJ0eSBkZWZpbmVkLCBvciBpbiBhbiBvYmplY3QgbGl0ZXJhbFxuICogd2l0aCB2YWxpZCBrZXkgcHJvcGVydHkuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0Tm9kZX0gbm9kZSBTdGF0aWNhbGx5IHBhc3NlZCBjaGlsZCBvZiBhbnkgdHlwZS5cbiAqIEBwYXJhbSB7Kn0gcGFyZW50VHlwZSBub2RlJ3MgcGFyZW50J3MgdHlwZS5cbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hpbGRLZXlzKG5vZGUsIHBhcmVudFR5cGUpIHtcbiAgaWYgKHR5cGVvZiBub2RlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuXG4gICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChub2RlKSkge1xuICAgIC8vIFRoaXMgZWxlbWVudCB3YXMgcGFzc2VkIGluIGEgdmFsaWQgbG9jYXRpb24uXG4gICAgaWYgKG5vZGUuX3N0b3JlKSB7XG4gICAgICBub2RlLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChub2RlKSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKG5vZGUpO1xuXG4gICAgaWYgKHR5cGVvZiBpdGVyYXRvckZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBFbnRyeSBpdGVyYXRvcnMgdXNlZCB0byBwcm92aWRlIGltcGxpY2l0IGtleXMsXG4gICAgICAvLyBidXQgbm93IHdlIHByaW50IGEgc2VwYXJhdGUgd2FybmluZyBmb3IgdGhlbSBsYXRlci5cbiAgICAgIGlmIChpdGVyYXRvckZuICE9PSBub2RlLmVudHJpZXMpIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKG5vZGUpO1xuICAgICAgICB2YXIgc3RlcDtcblxuICAgICAgICB3aGlsZSAoIShzdGVwID0gaXRlcmF0b3IubmV4dCgpKS5kb25lKSB7XG4gICAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KHN0ZXAudmFsdWUpKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4cGxpY2l0S2V5KHN0ZXAudmFsdWUsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhbiBlbGVtZW50LCB2YWxpZGF0ZSB0aGF0IGl0cyBwcm9wcyBmb2xsb3cgdGhlIHByb3BUeXBlcyBkZWZpbml0aW9uLFxuICogcHJvdmlkZWQgYnkgdGhlIHR5cGUuXG4gKlxuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcFR5cGVzKGVsZW1lbnQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuXG4gICAgaWYgKHR5cGUgPT09IG51bGwgfHwgdHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKTtcbiAgICB2YXIgcHJvcFR5cGVzO1xuXG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSB8fCAvLyBOb3RlOiBNZW1vIG9ubHkgY2hlY2tzIG91dGVyIHByb3BzIGhlcmUuXG4gICAgLy8gSW5uZXIgcHJvcHMgYXJlIGNoZWNrZWQgaW4gdGhlIHJlY29uY2lsZXIuXG4gICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFKSkge1xuICAgICAgcHJvcFR5cGVzID0gdHlwZS5wcm9wVHlwZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJvcFR5cGVzKSB7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KTtcbiAgICAgIGNoZWNrUHJvcFR5cGVzKHByb3BUeXBlcywgZWxlbWVudC5wcm9wcywgJ3Byb3AnLCBuYW1lLCBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0pO1xuICAgICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gICAgfSBlbHNlIGlmICh0eXBlLlByb3BUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93bikge1xuICAgICAgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICBlcnJvcignQ29tcG9uZW50ICVzIGRlY2xhcmVkIGBQcm9wVHlwZXNgIGluc3RlYWQgb2YgYHByb3BUeXBlc2AuIERpZCB5b3UgbWlzc3BlbGwgdGhlIHByb3BlcnR5IGFzc2lnbm1lbnQ/JywgbmFtZSB8fCAnVW5rbm93bicpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdHlwZS5nZXREZWZhdWx0UHJvcHMgPT09ICdmdW5jdGlvbicgJiYgIXR5cGUuZ2V0RGVmYXVsdFByb3BzLmlzUmVhY3RDbGFzc0FwcHJvdmVkKSB7XG4gICAgICBlcnJvcignZ2V0RGVmYXVsdFByb3BzIGlzIG9ubHkgdXNlZCBvbiBjbGFzc2ljIFJlYWN0LmNyZWF0ZUNsYXNzICcgKyAnZGVmaW5pdGlvbnMuIFVzZSBhIHN0YXRpYyBwcm9wZXJ0eSBuYW1lZCBgZGVmYXVsdFByb3BzYCBpbnN0ZWFkLicpO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBHaXZlbiBhIGZyYWdtZW50LCB2YWxpZGF0ZSB0aGF0IGl0IGNhbiBvbmx5IGJlIHByb3ZpZGVkIHdpdGggZnJhZ21lbnQgcHJvcHNcbiAqIEBwYXJhbSB7UmVhY3RFbGVtZW50fSBmcmFnbWVudFxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVGcmFnbWVudFByb3BzKGZyYWdtZW50KSB7XG4gIHtcbiAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChmcmFnbWVudCk7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhmcmFnbWVudC5wcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoa2V5ICE9PSAnY2hpbGRyZW4nICYmIGtleSAhPT0gJ2tleScpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgcHJvcCBgJXNgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuICcgKyAnUmVhY3QuRnJhZ21lbnQgY2FuIG9ubHkgaGF2ZSBga2V5YCBhbmQgYGNoaWxkcmVuYCBwcm9wcy4nLCBrZXkpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmcmFnbWVudC5yZWYgIT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBgcmVmYCBzdXBwbGllZCB0byBgUmVhY3QuRnJhZ21lbnRgLicpO1xuICAgIH1cblxuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KG51bGwpO1xuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24odHlwZSwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciB2YWxpZFR5cGUgPSBpc1ZhbGlkRWxlbWVudFR5cGUodHlwZSk7IC8vIFdlIHdhcm4gaW4gdGhpcyBjYXNlIGJ1dCBkb24ndCB0aHJvdy4gV2UgZXhwZWN0IHRoZSBlbGVtZW50IGNyZWF0aW9uIHRvXG4gIC8vIHN1Y2NlZWQgYW5kIHRoZXJlIHdpbGwgbGlrZWx5IGJlIGVycm9ycyBpbiByZW5kZXIuXG5cbiAgaWYgKCF2YWxpZFR5cGUpIHtcbiAgICB2YXIgaW5mbyA9ICcnO1xuXG4gICAgaWYgKHR5cGUgPT09IHVuZGVmaW5lZCB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIG5hbWVkIGltcG9ydHMuXCI7XG4gICAgfVxuXG4gICAgdmFyIHNvdXJjZUluZm8gPSBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bUZvclByb3BzKHByb3BzKTtcblxuICAgIGlmIChzb3VyY2VJbmZvKSB7XG4gICAgICBpbmZvICs9IHNvdXJjZUluZm87XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZm8gKz0gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCk7XG4gICAgfVxuXG4gICAgdmFyIHR5cGVTdHJpbmc7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZVN0cmluZyA9ICdudWxsJztcbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodHlwZSkpIHtcbiAgICAgIHR5cGVTdHJpbmcgPSAnYXJyYXknO1xuICAgIH0gZWxzZSBpZiAodHlwZSAhPT0gdW5kZWZpbmVkICYmIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0VMRU1FTlRfVFlQRSkge1xuICAgICAgdHlwZVN0cmluZyA9IFwiPFwiICsgKGdldENvbXBvbmVudE5hbWUodHlwZS50eXBlKSB8fCAnVW5rbm93bicpICsgXCIgLz5cIjtcbiAgICAgIGluZm8gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IGV4cG9ydCBhIEpTWCBsaXRlcmFsIGluc3RlYWQgb2YgYSBjb21wb25lbnQ/JztcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZVN0cmluZyA9IHR5cGVvZiB0eXBlO1xuICAgIH1cblxuICAgIHtcbiAgICAgIGVycm9yKCdSZWFjdC5jcmVhdGVFbGVtZW50OiB0eXBlIGlzIGludmFsaWQgLS0gZXhwZWN0ZWQgYSBzdHJpbmcgKGZvciAnICsgJ2J1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgJyArICdjb21wb25lbnRzKSBidXQgZ290OiAlcy4lcycsIHR5cGVTdHJpbmcsIGluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHZhciBlbGVtZW50ID0gY3JlYXRlRWxlbWVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOyAvLyBUaGUgcmVzdWx0IGNhbiBiZSBudWxsaXNoIGlmIGEgbW9jayBvciBhIGN1c3RvbSBmdW5jdGlvbiBpcyB1c2VkLlxuICAvLyBUT0RPOiBEcm9wIHRoaXMgd2hlbiB0aGVzZSBhcmUgbm8gbG9uZ2VyIGFsbG93ZWQgYXMgdGhlIHR5cGUgYXJndW1lbnQuXG5cbiAgaWYgKGVsZW1lbnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9IC8vIFNraXAga2V5IHdhcm5pbmcgaWYgdGhlIHR5cGUgaXNuJ3QgdmFsaWQgc2luY2Ugb3VyIGtleSB2YWxpZGF0aW9uIGxvZ2ljXG4gIC8vIGRvZXNuJ3QgZXhwZWN0IGEgbm9uLXN0cmluZy9mdW5jdGlvbiB0eXBlIGFuZCBjYW4gdGhyb3cgY29uZnVzaW5nIGVycm9ycy5cbiAgLy8gV2UgZG9uJ3Qgd2FudCBleGNlcHRpb24gYmVoYXZpb3IgdG8gZGlmZmVyIGJldHdlZW4gZGV2IGFuZCBwcm9kLlxuICAvLyAoUmVuZGVyaW5nIHdpbGwgdGhyb3cgd2l0aCBhIGhlbHBmdWwgbWVzc2FnZSBhbmQgYXMgc29vbiBhcyB0aGUgdHlwZSBpc1xuICAvLyBmaXhlZCwgdGhlIGtleSB3YXJuaW5ncyB3aWxsIGFwcGVhci4pXG5cblxuICBpZiAodmFsaWRUeXBlKSB7XG4gICAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZWxlbWVudCk7XG4gIH0gZWxzZSB7XG4gICAgdmFsaWRhdGVQcm9wVHlwZXMoZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZWxlbWVudDtcbn1cbnZhciBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IGZhbHNlO1xuZnVuY3Rpb24gY3JlYXRlRmFjdG9yeVdpdGhWYWxpZGF0aW9uKHR5cGUpIHtcbiAgdmFyIHZhbGlkYXRlZEZhY3RvcnkgPSBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24uYmluZChudWxsLCB0eXBlKTtcbiAgdmFsaWRhdGVkRmFjdG9yeS50eXBlID0gdHlwZTtcblxuICB7XG4gICAgaWYgKCFkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSkge1xuICAgICAgZGlkV2FybkFib3V0RGVwcmVjYXRlZENyZWF0ZUZhY3RvcnkgPSB0cnVlO1xuXG4gICAgICB3YXJuKCdSZWFjdC5jcmVhdGVGYWN0b3J5KCkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluICcgKyAnYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gQ29uc2lkZXIgdXNpbmcgSlNYICcgKyAnb3IgdXNlIFJlYWN0LmNyZWF0ZUVsZW1lbnQoKSBkaXJlY3RseSBpbnN0ZWFkLicpO1xuICAgIH0gLy8gTGVnYWN5IGhvb2s6IHJlbW92ZSBpdFxuXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsaWRhdGVkRmFjdG9yeSwgJ3R5cGUnLCB7XG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICB3YXJuKCdGYWN0b3J5LnR5cGUgaXMgZGVwcmVjYXRlZC4gQWNjZXNzIHRoZSBjbGFzcyBkaXJlY3RseSAnICsgJ2JlZm9yZSBwYXNzaW5nIGl0IHRvIGNyZWF0ZUZhY3RvcnkuJyk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0eXBlJywge1xuICAgICAgICAgIHZhbHVlOiB0eXBlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZWRGYWN0b3J5O1xufVxuZnVuY3Rpb24gY2xvbmVFbGVtZW50V2l0aFZhbGlkYXRpb24oZWxlbWVudCwgcHJvcHMsIGNoaWxkcmVuKSB7XG4gIHZhciBuZXdFbGVtZW50ID0gY2xvbmVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG5cbiAgZm9yICh2YXIgaSA9IDI7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YWxpZGF0ZUNoaWxkS2V5cyhhcmd1bWVudHNbaV0sIG5ld0VsZW1lbnQudHlwZSk7XG4gIH1cblxuICB2YWxpZGF0ZVByb3BUeXBlcyhuZXdFbGVtZW50KTtcbiAgcmV0dXJuIG5ld0VsZW1lbnQ7XG59XG5cbntcblxuICB0cnkge1xuICAgIHZhciBmcm96ZW5PYmplY3QgPSBPYmplY3QuZnJlZXplKHt9KTtcbiAgICB2YXIgdGVzdE1hcCA9IG5ldyBNYXAoW1tmcm96ZW5PYmplY3QsIG51bGxdXSk7XG4gICAgdmFyIHRlc3RTZXQgPSBuZXcgU2V0KFtmcm96ZW5PYmplY3RdKTsgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIFJvbGx1cCB0byBub3QgY29uc2lkZXIgdGhlc2UgdW51c2VkLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9yb2xsdXAvcm9sbHVwL2lzc3Vlcy8xNzcxXG4gICAgLy8gVE9ETzogd2UgY2FuIHJlbW92ZSB0aGVzZSBpZiBSb2xsdXAgZml4ZXMgdGhlIGJ1Zy5cblxuICAgIHRlc3RNYXAuc2V0KDAsIDApO1xuICAgIHRlc3RTZXQuYWRkKDApO1xuICB9IGNhdGNoIChlKSB7XG4gIH1cbn1cblxudmFyIGNyZWF0ZUVsZW1lbnQkMSA9ICBjcmVhdGVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNsb25lRWxlbWVudCQxID0gIGNsb25lRWxlbWVudFdpdGhWYWxpZGF0aW9uIDtcbnZhciBjcmVhdGVGYWN0b3J5ID0gIGNyZWF0ZUZhY3RvcnlXaXRoVmFsaWRhdGlvbiA7XG52YXIgQ2hpbGRyZW4gPSB7XG4gIG1hcDogbWFwQ2hpbGRyZW4sXG4gIGZvckVhY2g6IGZvckVhY2hDaGlsZHJlbixcbiAgY291bnQ6IGNvdW50Q2hpbGRyZW4sXG4gIHRvQXJyYXk6IHRvQXJyYXksXG4gIG9ubHk6IG9ubHlDaGlsZFxufTtcblxuZXhwb3J0cy5DaGlsZHJlbiA9IENoaWxkcmVuO1xuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XG5leHBvcnRzLkZyYWdtZW50ID0gUkVBQ1RfRlJBR01FTlRfVFlQRTtcbmV4cG9ydHMuUHJvZmlsZXIgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuZXhwb3J0cy5QdXJlQ29tcG9uZW50ID0gUHVyZUNvbXBvbmVudDtcbmV4cG9ydHMuU3RyaWN0TW9kZSA9IFJFQUNUX1NUUklDVF9NT0RFX1RZUEU7XG5leHBvcnRzLlN1c3BlbnNlID0gUkVBQ1RfU1VTUEVOU0VfVFlQRTtcbmV4cG9ydHMuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQgPSBSZWFjdFNoYXJlZEludGVybmFscztcbmV4cG9ydHMuY2xvbmVFbGVtZW50ID0gY2xvbmVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0O1xuZXhwb3J0cy5jcmVhdGVFbGVtZW50ID0gY3JlYXRlRWxlbWVudCQxO1xuZXhwb3J0cy5jcmVhdGVGYWN0b3J5ID0gY3JlYXRlRmFjdG9yeTtcbmV4cG9ydHMuY3JlYXRlUmVmID0gY3JlYXRlUmVmO1xuZXhwb3J0cy5mb3J3YXJkUmVmID0gZm9yd2FyZFJlZjtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnQgPSBpc1ZhbGlkRWxlbWVudDtcbmV4cG9ydHMubGF6eSA9IGxhenk7XG5leHBvcnRzLm1lbW8gPSBtZW1vO1xuZXhwb3J0cy51c2VDYWxsYmFjayA9IHVzZUNhbGxiYWNrO1xuZXhwb3J0cy51c2VDb250ZXh0ID0gdXNlQ29udGV4dDtcbmV4cG9ydHMudXNlRGVidWdWYWx1ZSA9IHVzZURlYnVnVmFsdWU7XG5leHBvcnRzLnVzZUVmZmVjdCA9IHVzZUVmZmVjdDtcbmV4cG9ydHMudXNlSW1wZXJhdGl2ZUhhbmRsZSA9IHVzZUltcGVyYXRpdmVIYW5kbGU7XG5leHBvcnRzLnVzZUxheW91dEVmZmVjdCA9IHVzZUxheW91dEVmZmVjdDtcbmV4cG9ydHMudXNlTWVtbyA9IHVzZU1lbW87XG5leHBvcnRzLnVzZVJlZHVjZXIgPSB1c2VSZWR1Y2VyO1xuZXhwb3J0cy51c2VSZWYgPSB1c2VSZWY7XG5leHBvcnRzLnVzZVN0YXRlID0gdXNlU3RhdGU7XG5leHBvcnRzLnZlcnNpb24gPSBSZWFjdFZlcnNpb247XG4gIH0pKCk7XG59XG4iLCIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV9kdXBsZXguanMnKTtcbiIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIGR1cGxleCBzdHJlYW0gaXMganVzdCBhIHN0cmVhbSB0aGF0IGlzIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLlxuLy8gU2luY2UgSlMgZG9lc24ndCBoYXZlIG11bHRpcGxlIHByb3RvdHlwYWwgaW5oZXJpdGFuY2UsIHRoaXMgY2xhc3Ncbi8vIHByb3RvdHlwYWxseSBpbmhlcml0cyBmcm9tIFJlYWRhYmxlLCBhbmQgdGhlbiBwYXJhc2l0aWNhbGx5IGZyb21cbi8vIFdyaXRhYmxlLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgb2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIChvYmopIHtcbiAgdmFyIGtleXMgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGtleXMucHVzaChrZXkpO1xuICB9cmV0dXJuIGtleXM7XG59O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbm1vZHVsZS5leHBvcnRzID0gRHVwbGV4O1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIHV0aWwgPSBPYmplY3QuY3JlYXRlKHJlcXVpcmUoJ2NvcmUtdXRpbC1pcycpKTtcbnV0aWwuaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbnZhciBSZWFkYWJsZSA9IHJlcXVpcmUoJy4vX3N0cmVhbV9yZWFkYWJsZScpO1xudmFyIFdyaXRhYmxlID0gcmVxdWlyZSgnLi9fc3RyZWFtX3dyaXRhYmxlJyk7XG5cbnV0aWwuaW5oZXJpdHMoRHVwbGV4LCBSZWFkYWJsZSk7XG5cbntcbiAgLy8gYXZvaWQgc2NvcGUgY3JlZXAsIHRoZSBrZXlzIGFycmF5IGNhbiB0aGVuIGJlIGNvbGxlY3RlZFxuICB2YXIga2V5cyA9IG9iamVjdEtleXMoV3JpdGFibGUucHJvdG90eXBlKTtcbiAgZm9yICh2YXIgdiA9IDA7IHYgPCBrZXlzLmxlbmd0aDsgdisrKSB7XG4gICAgdmFyIG1ldGhvZCA9IGtleXNbdl07XG4gICAgaWYgKCFEdXBsZXgucHJvdG90eXBlW21ldGhvZF0pIER1cGxleC5wcm90b3R5cGVbbWV0aG9kXSA9IFdyaXRhYmxlLnByb3RvdHlwZVttZXRob2RdO1xuICB9XG59XG5cbmZ1bmN0aW9uIER1cGxleChvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKSByZXR1cm4gbmV3IER1cGxleChvcHRpb25zKTtcblxuICBSZWFkYWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuICBXcml0YWJsZS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuXG4gIGlmIChvcHRpb25zICYmIG9wdGlvbnMucmVhZGFibGUgPT09IGZhbHNlKSB0aGlzLnJlYWRhYmxlID0gZmFsc2U7XG5cbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy53cml0YWJsZSA9PT0gZmFsc2UpIHRoaXMud3JpdGFibGUgPSBmYWxzZTtcblxuICB0aGlzLmFsbG93SGFsZk9wZW4gPSB0cnVlO1xuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmFsbG93SGFsZk9wZW4gPT09IGZhbHNlKSB0aGlzLmFsbG93SGFsZk9wZW4gPSBmYWxzZTtcblxuICB0aGlzLm9uY2UoJ2VuZCcsIG9uZW5kKTtcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuXG4vLyB0aGUgbm8taGFsZi1vcGVuIGVuZm9yY2VyXG5mdW5jdGlvbiBvbmVuZCgpIHtcbiAgLy8gaWYgd2UgYWxsb3cgaGFsZi1vcGVuIHN0YXRlLCBvciBpZiB0aGUgd3JpdGFibGUgc2lkZSBlbmRlZCxcbiAgLy8gdGhlbiB3ZSdyZSBvay5cbiAgaWYgKHRoaXMuYWxsb3dIYWxmT3BlbiB8fCB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkKSByZXR1cm47XG5cbiAgLy8gbm8gbW9yZSBkYXRhIGNhbiBiZSB3cml0dGVuLlxuICAvLyBCdXQgYWxsb3cgbW9yZSB3cml0ZXMgdG8gaGFwcGVuIGluIHRoaXMgdGljay5cbiAgcG5hLm5leHRUaWNrKG9uRW5kTlQsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBvbkVuZE5UKHNlbGYpIHtcbiAgc2VsZi5lbmQoKTtcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcbiAgfSxcbiAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAvLyB3ZSBpZ25vcmUgdGhlIHZhbHVlIGlmIHRoZSBzdHJlYW1cbiAgICAvLyBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWQgeWV0XG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xuICB9XG59KTtcblxuRHVwbGV4LnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIHRoaXMucHVzaChudWxsKTtcbiAgdGhpcy5lbmQoKTtcblxuICBwbmEubmV4dFRpY2soY2IsIGVycik7XG59OyIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4vLyBhIHBhc3N0aHJvdWdoIHN0cmVhbS5cbi8vIGJhc2ljYWxseSBqdXN0IHRoZSBtb3N0IG1pbmltYWwgc29ydCBvZiBUcmFuc2Zvcm0gc3RyZWFtLlxuLy8gRXZlcnkgd3JpdHRlbiBjaHVuayBnZXRzIG91dHB1dCBhcy1pcy5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFBhc3NUaHJvdWdoO1xuXG52YXIgVHJhbnNmb3JtID0gcmVxdWlyZSgnLi9fc3RyZWFtX3RyYW5zZm9ybScpO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIHV0aWwgPSBPYmplY3QuY3JlYXRlKHJlcXVpcmUoJ2NvcmUtdXRpbC1pcycpKTtcbnV0aWwuaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbnV0aWwuaW5oZXJpdHMoUGFzc1Rocm91Z2gsIFRyYW5zZm9ybSk7XG5cbmZ1bmN0aW9uIFBhc3NUaHJvdWdoKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFBhc3NUaHJvdWdoKSkgcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChvcHRpb25zKTtcblxuICBUcmFuc2Zvcm0uY2FsbCh0aGlzLCBvcHRpb25zKTtcbn1cblxuUGFzc1Rocm91Z2gucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICBjYihudWxsLCBjaHVuayk7XG59OyIsIi8vIENvcHlyaWdodCBKb3llbnQsIEluYy4gYW5kIG90aGVyIE5vZGUgY29udHJpYnV0b3JzLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhXG4vLyBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcbi8vIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCxcbi8vIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXRcbi8vIHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZVxuLy8gZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcbi8vIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Ncbi8vIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Zcbi8vIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU5cbi8vIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLFxuLy8gREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SXG4vLyBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFXG4vLyBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbm1vZHVsZS5leHBvcnRzID0gUmVhZGFibGU7XG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgaXNBcnJheSA9IHJlcXVpcmUoJ2lzYXJyYXknKTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIER1cGxleDtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG5SZWFkYWJsZS5SZWFkYWJsZVN0YXRlID0gUmVhZGFibGVTdGF0ZTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBFRSA9IHJlcXVpcmUoJ2V2ZW50cycpLkV2ZW50RW1pdHRlcjtcblxudmFyIEVFbGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uIChlbWl0dGVyLCB0eXBlKSB7XG4gIHJldHVybiBlbWl0dGVyLmxpc3RlbmVycyh0eXBlKS5sZW5ndGg7XG59O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgU3RyZWFtID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbScpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlcjtcbnZhciBPdXJVaW50OEFycmF5ID0gZ2xvYmFsLlVpbnQ4QXJyYXkgfHwgZnVuY3Rpb24gKCkge307XG5mdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKSB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShjaHVuayk7XG59XG5mdW5jdGlvbiBfaXNVaW50OEFycmF5KG9iaikge1xuICByZXR1cm4gQnVmZmVyLmlzQnVmZmVyKG9iaikgfHwgb2JqIGluc3RhbmNlb2YgT3VyVWludDhBcnJheTtcbn1cblxuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgdXRpbCA9IE9iamVjdC5jcmVhdGUocmVxdWlyZSgnY29yZS11dGlsLWlzJykpO1xudXRpbC5pbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJyk7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBkZWJ1Z1V0aWwgPSByZXF1aXJlKCd1dGlsJyk7XG52YXIgZGVidWcgPSB2b2lkIDA7XG5pZiAoZGVidWdVdGlsICYmIGRlYnVnVXRpbC5kZWJ1Z2xvZykge1xuICBkZWJ1ZyA9IGRlYnVnVXRpbC5kZWJ1Z2xvZygnc3RyZWFtJyk7XG59IGVsc2Uge1xuICBkZWJ1ZyA9IGZ1bmN0aW9uICgpIHt9O1xufVxuLyo8L3JlcGxhY2VtZW50PiovXG5cbnZhciBCdWZmZXJMaXN0ID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL0J1ZmZlckxpc3QnKTtcbnZhciBkZXN0cm95SW1wbCA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95Jyk7XG52YXIgU3RyaW5nRGVjb2RlcjtcblxudXRpbC5pbmhlcml0cyhSZWFkYWJsZSwgU3RyZWFtKTtcblxudmFyIGtQcm94eUV2ZW50cyA9IFsnZXJyb3InLCAnY2xvc2UnLCAnZGVzdHJveScsICdwYXVzZScsICdyZXN1bWUnXTtcblxuZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKGVtaXR0ZXIsIGV2ZW50LCBmbikge1xuICAvLyBTYWRseSB0aGlzIGlzIG5vdCBjYWNoZWFibGUgYXMgc29tZSBsaWJyYXJpZXMgYnVuZGxlIHRoZWlyIG93blxuICAvLyBldmVudCBlbWl0dGVyIGltcGxlbWVudGF0aW9uIHdpdGggdGhlbS5cbiAgaWYgKHR5cGVvZiBlbWl0dGVyLnByZXBlbmRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyKGV2ZW50LCBmbik7XG5cbiAgLy8gVGhpcyBpcyBhIGhhY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIGVycm9yIGhhbmRsZXIgaXMgYXR0YWNoZWQgYmVmb3JlIGFueVxuICAvLyB1c2VybGFuZCBvbmVzLiAgTkVWRVIgRE8gVEhJUy4gVGhpcyBpcyBoZXJlIG9ubHkgYmVjYXVzZSB0aGlzIGNvZGUgbmVlZHNcbiAgLy8gdG8gY29udGludWUgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIE5vZGUuanMgdGhhdCBkbyBub3QgaW5jbHVkZVxuICAvLyB0aGUgcHJlcGVuZExpc3RlbmVyKCkgbWV0aG9kLiBUaGUgZ29hbCBpcyB0byBldmVudHVhbGx5IHJlbW92ZSB0aGlzIGhhY2suXG4gIGlmICghZW1pdHRlci5fZXZlbnRzIHx8ICFlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSBlbWl0dGVyLm9uKGV2ZW50LCBmbik7ZWxzZSBpZiAoaXNBcnJheShlbWl0dGVyLl9ldmVudHNbZXZlbnRdKSkgZW1pdHRlci5fZXZlbnRzW2V2ZW50XS51bnNoaWZ0KGZuKTtlbHNlIGVtaXR0ZXIuX2V2ZW50c1tldmVudF0gPSBbZm4sIGVtaXR0ZXIuX2V2ZW50c1tldmVudF1dO1xufVxuXG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSkge1xuICBEdXBsZXggPSBEdXBsZXggfHwgcmVxdWlyZSgnLi9fc3RyZWFtX2R1cGxleCcpO1xuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gIC8vIER1cGxleCBzdHJlYW1zIGFyZSBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZSwgYnV0IHNoYXJlXG4gIC8vIHRoZSBzYW1lIG9wdGlvbnMgb2JqZWN0LlxuICAvLyBIb3dldmVyLCBzb21lIGNhc2VzIHJlcXVpcmUgc2V0dGluZyBvcHRpb25zIHRvIGRpZmZlcmVudFxuICAvLyB2YWx1ZXMgZm9yIHRoZSByZWFkYWJsZSBhbmQgdGhlIHdyaXRhYmxlIHNpZGVzIG9mIHRoZSBkdXBsZXggc3RyZWFtLlxuICAvLyBUaGVzZSBvcHRpb25zIGNhbiBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIHJlYWRhYmxlWFhYIGFuZCB3cml0YWJsZVhYWC5cbiAgdmFyIGlzRHVwbGV4ID0gc3RyZWFtIGluc3RhbmNlb2YgRHVwbGV4O1xuXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXG4gIC8vIG1ha2UgYWxsIHRoZSBidWZmZXIgbWVyZ2luZyBhbmQgbGVuZ3RoIGNoZWNrcyBnbyBhd2F5XG4gIHRoaXMub2JqZWN0TW9kZSA9ICEhb3B0aW9ucy5vYmplY3RNb2RlO1xuXG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy5yZWFkYWJsZU9iamVjdE1vZGU7XG5cbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIGl0IHN0b3BzIGNhbGxpbmcgX3JlYWQoKSB0byBmaWxsIHRoZSBidWZmZXJcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyBcImRvbid0IGNhbGwgX3JlYWQgcHJlZW1wdGl2ZWx5IGV2ZXJcIlxuICB2YXIgaHdtID0gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrO1xuICB2YXIgcmVhZGFibGVId20gPSBvcHRpb25zLnJlYWRhYmxlSGlnaFdhdGVyTWFyaztcbiAgdmFyIGRlZmF1bHRId20gPSB0aGlzLm9iamVjdE1vZGUgPyAxNiA6IDE2ICogMTAyNDtcblxuICBpZiAoaHdtIHx8IGh3bSA9PT0gMCkgdGhpcy5oaWdoV2F0ZXJNYXJrID0gaHdtO2Vsc2UgaWYgKGlzRHVwbGV4ICYmIChyZWFkYWJsZUh3bSB8fCByZWFkYWJsZUh3bSA9PT0gMCkpIHRoaXMuaGlnaFdhdGVyTWFyayA9IHJlYWRhYmxlSHdtO2Vsc2UgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZGVmYXVsdEh3bTtcblxuICAvLyBjYXN0IHRvIGludHMuXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IE1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKTtcblxuICAvLyBBIGxpbmtlZCBsaXN0IGlzIHVzZWQgdG8gc3RvcmUgZGF0YSBjaHVua3MgaW5zdGVhZCBvZiBhbiBhcnJheSBiZWNhdXNlIHRoZVxuICAvLyBsaW5rZWQgbGlzdCBjYW4gcmVtb3ZlIGVsZW1lbnRzIGZyb20gdGhlIGJlZ2lubmluZyBmYXN0ZXIgdGhhblxuICAvLyBhcnJheS5zaGlmdCgpXG4gIHRoaXMuYnVmZmVyID0gbmV3IEJ1ZmZlckxpc3QoKTtcbiAgdGhpcy5sZW5ndGggPSAwO1xuICB0aGlzLnBpcGVzID0gbnVsbDtcbiAgdGhpcy5waXBlc0NvdW50ID0gMDtcbiAgdGhpcy5mbG93aW5nID0gbnVsbDtcbiAgdGhpcy5lbmRlZCA9IGZhbHNlO1xuICB0aGlzLmVuZEVtaXR0ZWQgPSBmYWxzZTtcbiAgdGhpcy5yZWFkaW5nID0gZmFsc2U7XG5cbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgZXZlbnQgJ3JlYWRhYmxlJy8nZGF0YScgaXMgZW1pdHRlZFxuICAvLyBpbW1lZGlhdGVseSwgb3Igb24gYSBsYXRlciB0aWNrLiAgV2Ugc2V0IHRoaXMgdG8gdHJ1ZSBhdCBmaXJzdCwgYmVjYXVzZVxuICAvLyBhbnkgYWN0aW9ucyB0aGF0IHNob3VsZG4ndCBoYXBwZW4gdW50aWwgXCJsYXRlclwiIHNob3VsZCBnZW5lcmFsbHkgYWxzb1xuICAvLyBub3QgaGFwcGVuIGJlZm9yZSB0aGUgZmlyc3QgcmVhZCBjYWxsLlxuICB0aGlzLnN5bmMgPSB0cnVlO1xuXG4gIC8vIHdoZW5ldmVyIHdlIHJldHVybiBudWxsLCB0aGVuIHdlIHNldCBhIGZsYWcgdG8gc2F5XG4gIC8vIHRoYXQgd2UncmUgYXdhaXRpbmcgYSAncmVhZGFibGUnIGV2ZW50IGVtaXNzaW9uLlxuICB0aGlzLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB0aGlzLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB0aGlzLnJlYWRhYmxlTGlzdGVuaW5nID0gZmFsc2U7XG4gIHRoaXMucmVzdW1lU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgLy8gaGFzIGl0IGJlZW4gZGVzdHJveWVkXG4gIHRoaXMuZGVzdHJveWVkID0gZmFsc2U7XG5cbiAgLy8gQ3J5cHRvIGlzIGtpbmQgb2Ygb2xkIGFuZCBjcnVzdHkuICBIaXN0b3JpY2FsbHksIGl0cyBkZWZhdWx0IHN0cmluZ1xuICAvLyBlbmNvZGluZyBpcyAnYmluYXJ5JyBzbyB3ZSBoYXZlIHRvIG1ha2UgdGhpcyBjb25maWd1cmFibGUuXG4gIC8vIEV2ZXJ5dGhpbmcgZWxzZSBpbiB0aGUgdW5pdmVyc2UgdXNlcyAndXRmOCcsIHRob3VnaC5cbiAgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBvcHRpb25zLmRlZmF1bHRFbmNvZGluZyB8fCAndXRmOCc7XG5cbiAgLy8gdGhlIG51bWJlciBvZiB3cml0ZXJzIHRoYXQgYXJlIGF3YWl0aW5nIGEgZHJhaW4gZXZlbnQgaW4gLnBpcGUoKXNcbiAgdGhpcy5hd2FpdERyYWluID0gMDtcblxuICAvLyBpZiB0cnVlLCBhIG1heWJlUmVhZE1vcmUgaGFzIGJlZW4gc2NoZWR1bGVkXG4gIHRoaXMucmVhZGluZ01vcmUgPSBmYWxzZTtcblxuICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICB0aGlzLmVuY29kaW5nID0gbnVsbDtcbiAgaWYgKG9wdGlvbnMuZW5jb2RpbmcpIHtcbiAgICBpZiAoIVN0cmluZ0RlY29kZXIpIFN0cmluZ0RlY29kZXIgPSByZXF1aXJlKCdzdHJpbmdfZGVjb2Rlci8nKS5TdHJpbmdEZWNvZGVyO1xuICAgIHRoaXMuZGVjb2RlciA9IG5ldyBTdHJpbmdEZWNvZGVyKG9wdGlvbnMuZW5jb2RpbmcpO1xuICAgIHRoaXMuZW5jb2RpbmcgPSBvcHRpb25zLmVuY29kaW5nO1xuICB9XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlKG9wdGlvbnMpIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUmVhZGFibGUpKSByZXR1cm4gbmV3IFJlYWRhYmxlKG9wdGlvbnMpO1xuXG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUgPSBuZXcgUmVhZGFibGVTdGF0ZShvcHRpb25zLCB0aGlzKTtcblxuICAvLyBsZWdhY3lcbiAgdGhpcy5yZWFkYWJsZSA9IHRydWU7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMucmVhZCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fcmVhZCA9IG9wdGlvbnMucmVhZDtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5kZXN0cm95ID09PSAnZnVuY3Rpb24nKSB0aGlzLl9kZXN0cm95ID0gb3B0aW9ucy5kZXN0cm95O1xuICB9XG5cbiAgU3RyZWFtLmNhbGwodGhpcyk7XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcbiAgICBpZiAoIXRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgfVxufSk7XG5cblJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95ID0gZGVzdHJveUltcGwuZGVzdHJveTtcblJlYWRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95ID0gZGVzdHJveUltcGwudW5kZXN0cm95O1xuUmVhZGFibGUucHJvdG90eXBlLl9kZXN0cm95ID0gZnVuY3Rpb24gKGVyciwgY2IpIHtcbiAgdGhpcy5wdXNoKG51bGwpO1xuICBjYihlcnIpO1xufTtcblxuLy8gTWFudWFsbHkgc2hvdmUgc29tZXRoaW5nIGludG8gdGhlIHJlYWQoKSBidWZmZXIuXG4vLyBUaGlzIHJldHVybnMgdHJ1ZSBpZiB0aGUgaGlnaFdhdGVyTWFyayBoYXMgbm90IGJlZW4gaGl0IHlldCxcbi8vIHNpbWlsYXIgdG8gaG93IFdyaXRhYmxlLndyaXRlKCkgcmV0dXJucyB0cnVlIGlmIHlvdSBzaG91bGRcbi8vIHdyaXRlKCkgc29tZSBtb3JlLlxuUmVhZGFibGUucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBza2lwQ2h1bmtDaGVjaztcblxuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUpIHtcbiAgICBpZiAodHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZyB8fCBzdGF0ZS5kZWZhdWx0RW5jb2Rpbmc7XG4gICAgICBpZiAoZW5jb2RpbmcgIT09IHN0YXRlLmVuY29kaW5nKSB7XG4gICAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oY2h1bmssIGVuY29kaW5nKTtcbiAgICAgICAgZW5jb2RpbmcgPSAnJztcbiAgICAgIH1cbiAgICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHJlYWRhYmxlQWRkQ2h1bmsodGhpcywgY2h1bmssIGVuY29kaW5nLCBmYWxzZSwgc2tpcENodW5rQ2hlY2spO1xufTtcblxuLy8gVW5zaGlmdCBzaG91bGQgKmFsd2F5cyogYmUgc29tZXRoaW5nIGRpcmVjdGx5IG91dCBvZiByZWFkKClcblJlYWRhYmxlLnByb3RvdHlwZS51bnNoaWZ0ID0gZnVuY3Rpb24gKGNodW5rKSB7XG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBudWxsLCB0cnVlLCBmYWxzZSk7XG59O1xuXG5mdW5jdGlvbiByZWFkYWJsZUFkZENodW5rKHN0cmVhbSwgY2h1bmssIGVuY29kaW5nLCBhZGRUb0Zyb250LCBza2lwQ2h1bmtDaGVjaykge1xuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xuICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBlcjtcbiAgICBpZiAoIXNraXBDaHVua0NoZWNrKSBlciA9IGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspO1xuICAgIGlmIChlcikge1xuICAgICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUub2JqZWN0TW9kZSB8fCBjaHVuayAmJiBjaHVuay5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY2h1bmspICE9PSBCdWZmZXIucHJvdG90eXBlKSB7XG4gICAgICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XG4gICAgICAgIGlmIChzdGF0ZS5lbmRFbWl0dGVkKSBzdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ3N0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50JykpO2Vsc2UgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5lbmRlZCkge1xuICAgICAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBuZXcgRXJyb3IoJ3N0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GJykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcbiAgICAgICAgICBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xuICAgICAgICAgIGlmIChzdGF0ZS5vYmplY3RNb2RlIHx8IGNodW5rLmxlbmd0aCAhPT0gMCkgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtlbHNlIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWFkZFRvRnJvbnQpIHtcbiAgICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmVlZE1vcmVEYXRhKHN0YXRlKTtcbn1cblxuZnVuY3Rpb24gYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGFkZFRvRnJvbnQpIHtcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwICYmICFzdGF0ZS5zeW5jKSB7XG4gICAgc3RyZWFtLmVtaXQoJ2RhdGEnLCBjaHVuayk7XG4gICAgc3RyZWFtLnJlYWQoMCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gdXBkYXRlIHRoZSBidWZmZXIgaW5mby5cbiAgICBzdGF0ZS5sZW5ndGggKz0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XG4gICAgaWYgKGFkZFRvRnJvbnQpIHN0YXRlLmJ1ZmZlci51bnNoaWZ0KGNodW5rKTtlbHNlIHN0YXRlLmJ1ZmZlci5wdXNoKGNodW5rKTtcblxuICAgIGlmIChzdGF0ZS5uZWVkUmVhZGFibGUpIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xuICB9XG4gIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XG59XG5cbmZ1bmN0aW9uIGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspIHtcbiAgdmFyIGVyO1xuICBpZiAoIV9pc1VpbnQ4QXJyYXkoY2h1bmspICYmIHR5cGVvZiBjaHVuayAhPT0gJ3N0cmluZycgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xuICAgIGVyID0gbmV3IFR5cGVFcnJvcignSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuaycpO1xuICB9XG4gIHJldHVybiBlcjtcbn1cblxuLy8gaWYgaXQncyBwYXN0IHRoZSBoaWdoIHdhdGVyIG1hcmssIHdlIGNhbiBwdXNoIGluIHNvbWUgbW9yZS5cbi8vIEFsc28sIGlmIHdlIGhhdmUgbm8gZGF0YSB5ZXQsIHdlIGNhbiBzdGFuZCBzb21lXG4vLyBtb3JlIGJ5dGVzLiAgVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBjYXNlcyB3aGVyZSBod209MCxcbi8vIHN1Y2ggYXMgdGhlIHJlcGwuICBBbHNvLCBpZiB0aGUgcHVzaCgpIHRyaWdnZXJlZCBhXG4vLyByZWFkYWJsZSBldmVudCwgYW5kIHRoZSB1c2VyIGNhbGxlZCByZWFkKGxhcmdlTnVtYmVyKSBzdWNoIHRoYXRcbi8vIG5lZWRSZWFkYWJsZSB3YXMgc2V0LCB0aGVuIHdlIG91Z2h0IHRvIHB1c2ggbW9yZSwgc28gdGhhdCBhbm90aGVyXG4vLyAncmVhZGFibGUnIGV2ZW50IHdpbGwgYmUgdHJpZ2dlcmVkLlxuZnVuY3Rpb24gbmVlZE1vcmVEYXRhKHN0YXRlKSB7XG4gIHJldHVybiAhc3RhdGUuZW5kZWQgJiYgKHN0YXRlLm5lZWRSZWFkYWJsZSB8fCBzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmxlbmd0aCA9PT0gMCk7XG59XG5cblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9PT0gZmFsc2U7XG59O1xuXG4vLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cblJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZyA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gcmVxdWlyZSgnc3RyaW5nX2RlY29kZXIvJykuU3RyaW5nRGVjb2RlcjtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIoZW5jKTtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmNvZGluZyA9IGVuYztcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vLyBEb24ndCByYWlzZSB0aGUgaHdtID4gOE1CXG52YXIgTUFYX0hXTSA9IDB4ODAwMDAwO1xuZnVuY3Rpb24gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobikge1xuICBpZiAobiA+PSBNQVhfSFdNKSB7XG4gICAgbiA9IE1BWF9IV007XG4gIH0gZWxzZSB7XG4gICAgLy8gR2V0IHRoZSBuZXh0IGhpZ2hlc3QgcG93ZXIgb2YgMiB0byBwcmV2ZW50IGluY3JlYXNpbmcgaHdtIGV4Y2Vzc2l2ZWx5IGluXG4gICAgLy8gdGlueSBhbW91bnRzXG4gICAgbi0tO1xuICAgIG4gfD0gbiA+Pj4gMTtcbiAgICBuIHw9IG4gPj4+IDI7XG4gICAgbiB8PSBuID4+PiA0O1xuICAgIG4gfD0gbiA+Pj4gODtcbiAgICBuIHw9IG4gPj4+IDE2O1xuICAgIG4rKztcbiAgfVxuICByZXR1cm4gbjtcbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBiZSBpbmxpbmFibGUsIHNvIHBsZWFzZSB0YWtlIGNhcmUgd2hlbiBtYWtpbmdcbi8vIGNoYW5nZXMgdG8gdGhlIGZ1bmN0aW9uIGJvZHkuXG5mdW5jdGlvbiBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKSB7XG4gIGlmIChuIDw9IDAgfHwgc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLmVuZGVkKSByZXR1cm4gMDtcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldHVybiAxO1xuICBpZiAobiAhPT0gbikge1xuICAgIC8vIE9ubHkgZmxvdyBvbmUgYnVmZmVyIGF0IGEgdGltZVxuICAgIGlmIChzdGF0ZS5mbG93aW5nICYmIHN0YXRlLmxlbmd0aCkgcmV0dXJuIHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoO2Vsc2UgcmV0dXJuIHN0YXRlLmxlbmd0aDtcbiAgfVxuICAvLyBJZiB3ZSdyZSBhc2tpbmcgZm9yIG1vcmUgdGhhbiB0aGUgY3VycmVudCBod20sIHRoZW4gcmFpc2UgdGhlIGh3bS5cbiAgaWYgKG4gPiBzdGF0ZS5oaWdoV2F0ZXJNYXJrKSBzdGF0ZS5oaWdoV2F0ZXJNYXJrID0gY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsobik7XG4gIGlmIChuIDw9IHN0YXRlLmxlbmd0aCkgcmV0dXJuIG47XG4gIC8vIERvbid0IGhhdmUgZW5vdWdoXG4gIGlmICghc3RhdGUuZW5kZWQpIHtcbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuICAgIHJldHVybiAwO1xuICB9XG4gIHJldHVybiBzdGF0ZS5sZW5ndGg7XG59XG5cbi8vIHlvdSBjYW4gb3ZlcnJpZGUgZWl0aGVyIHRoaXMgbWV0aG9kLCBvciB0aGUgYXN5bmMgX3JlYWQobikgYmVsb3cuXG5SZWFkYWJsZS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uIChuKSB7XG4gIGRlYnVnKCdyZWFkJywgbik7XG4gIG4gPSBwYXJzZUludChuLCAxMCk7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBuT3JpZyA9IG47XG5cbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuXG4gIC8vIGlmIHdlJ3JlIGRvaW5nIHJlYWQoMCkgdG8gdHJpZ2dlciBhIHJlYWRhYmxlIGV2ZW50LCBidXQgd2VcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxuICAvLyB0aGUgJ3JlYWRhYmxlJyBldmVudCBhbmQgbW92ZSBvbi5cbiAgaWYgKG4gPT09IDAgJiYgc3RhdGUubmVlZFJlYWRhYmxlICYmIChzdGF0ZS5sZW5ndGggPj0gc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5lbmRlZCkpIHtcbiAgICBkZWJ1ZygncmVhZDogZW1pdFJlYWRhYmxlJywgc3RhdGUubGVuZ3RoLCBzdGF0ZS5lbmRlZCk7XG4gICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkgZW5kUmVhZGFibGUodGhpcyk7ZWxzZSBlbWl0UmVhZGFibGUodGhpcyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBuID0gaG93TXVjaFRvUmVhZChuLCBzdGF0ZSk7XG5cbiAgLy8gaWYgd2UndmUgZW5kZWQsIGFuZCB3ZSdyZSBub3cgY2xlYXIsIHRoZW4gZmluaXNoIGl0IHVwLlxuICBpZiAobiA9PT0gMCAmJiBzdGF0ZS5lbmRlZCkge1xuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIGVuZFJlYWRhYmxlKHRoaXMpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQWxsIHRoZSBhY3R1YWwgY2h1bmsgZ2VuZXJhdGlvbiBsb2dpYyBuZWVkcyB0byBiZVxuICAvLyAqYmVsb3cqIHRoZSBjYWxsIHRvIF9yZWFkLiAgVGhlIHJlYXNvbiBpcyB0aGF0IGluIGNlcnRhaW5cbiAgLy8gc3ludGhldGljIHN0cmVhbSBjYXNlcywgc3VjaCBhcyBwYXNzdGhyb3VnaCBzdHJlYW1zLCBfcmVhZFxuICAvLyBtYXkgYmUgYSBjb21wbGV0ZWx5IHN5bmNocm9ub3VzIG9wZXJhdGlvbiB3aGljaCBtYXkgY2hhbmdlXG4gIC8vIHRoZSBzdGF0ZSBvZiB0aGUgcmVhZCBidWZmZXIsIHByb3ZpZGluZyBlbm91Z2ggZGF0YSB3aGVuXG4gIC8vIGJlZm9yZSB0aGVyZSB3YXMgKm5vdCogZW5vdWdoLlxuICAvL1xuICAvLyBTbywgdGhlIHN0ZXBzIGFyZTpcbiAgLy8gMS4gRmlndXJlIG91dCB3aGF0IHRoZSBzdGF0ZSBvZiB0aGluZ3Mgd2lsbCBiZSBhZnRlciB3ZSBkb1xuICAvLyBhIHJlYWQgZnJvbSB0aGUgYnVmZmVyLlxuICAvL1xuICAvLyAyLiBJZiB0aGF0IHJlc3VsdGluZyBzdGF0ZSB3aWxsIHRyaWdnZXIgYSBfcmVhZCwgdGhlbiBjYWxsIF9yZWFkLlxuICAvLyBOb3RlIHRoYXQgdGhpcyBtYXkgYmUgYXN5bmNocm9ub3VzLCBvciBzeW5jaHJvbm91cy4gIFllcywgaXQgaXNcbiAgLy8gZGVlcGx5IHVnbHkgdG8gd3JpdGUgQVBJcyB0aGlzIHdheSwgYnV0IHRoYXQgc3RpbGwgZG9lc24ndCBtZWFuXG4gIC8vIHRoYXQgdGhlIFJlYWRhYmxlIGNsYXNzIHNob3VsZCBiZWhhdmUgaW1wcm9wZXJseSwgYXMgc3RyZWFtcyBhcmVcbiAgLy8gZGVzaWduZWQgdG8gYmUgc3luYy9hc3luYyBhZ25vc3RpYy5cbiAgLy8gVGFrZSBub3RlIGlmIHRoZSBfcmVhZCBjYWxsIGlzIHN5bmMgb3IgYXN5bmMgKGllLCBpZiB0aGUgcmVhZCBjYWxsXG4gIC8vIGhhcyByZXR1cm5lZCB5ZXQpLCBzbyB0aGF0IHdlIGtub3cgd2hldGhlciBvciBub3QgaXQncyBzYWZlIHRvIGVtaXRcbiAgLy8gJ3JlYWRhYmxlJyBldGMuXG4gIC8vXG4gIC8vIDMuIEFjdHVhbGx5IHB1bGwgdGhlIHJlcXVlc3RlZCBjaHVua3Mgb3V0IG9mIHRoZSBidWZmZXIgYW5kIHJldHVybi5cblxuICAvLyBpZiB3ZSBuZWVkIGEgcmVhZGFibGUgZXZlbnQsIHRoZW4gd2UgbmVlZCB0byBkbyBzb21lIHJlYWRpbmcuXG4gIHZhciBkb1JlYWQgPSBzdGF0ZS5uZWVkUmVhZGFibGU7XG4gIGRlYnVnKCduZWVkIHJlYWRhYmxlJywgZG9SZWFkKTtcblxuICAvLyBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBsZXNzIHRoYW4gdGhlIGhpZ2hXYXRlck1hcmssIHRoZW4gYWxzbyByZWFkIHNvbWVcbiAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCB8fCBzdGF0ZS5sZW5ndGggLSBuIDwgc3RhdGUuaGlnaFdhdGVyTWFyaykge1xuICAgIGRvUmVhZCA9IHRydWU7XG4gICAgZGVidWcoJ2xlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrJywgZG9SZWFkKTtcbiAgfVxuXG4gIC8vIGhvd2V2ZXIsIGlmIHdlJ3ZlIGVuZGVkLCB0aGVuIHRoZXJlJ3Mgbm8gcG9pbnQsIGFuZCBpZiB3ZSdyZSBhbHJlYWR5XG4gIC8vIHJlYWRpbmcsIHRoZW4gaXQncyB1bm5lY2Vzc2FyeS5cbiAgaWYgKHN0YXRlLmVuZGVkIHx8IHN0YXRlLnJlYWRpbmcpIHtcbiAgICBkb1JlYWQgPSBmYWxzZTtcbiAgICBkZWJ1ZygncmVhZGluZyBvciBlbmRlZCcsIGRvUmVhZCk7XG4gIH0gZWxzZSBpZiAoZG9SZWFkKSB7XG4gICAgZGVidWcoJ2RvIHJlYWQnKTtcbiAgICBzdGF0ZS5yZWFkaW5nID0gdHJ1ZTtcbiAgICBzdGF0ZS5zeW5jID0gdHJ1ZTtcbiAgICAvLyBpZiB0aGUgbGVuZ3RoIGlzIGN1cnJlbnRseSB6ZXJvLCB0aGVuIHdlICpuZWVkKiBhIHJlYWRhYmxlIGV2ZW50LlxuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XG4gICAgLy8gY2FsbCBpbnRlcm5hbCByZWFkIG1ldGhvZFxuICAgIHRoaXMuX3JlYWQoc3RhdGUuaGlnaFdhdGVyTWFyayk7XG4gICAgc3RhdGUuc3luYyA9IGZhbHNlO1xuICAgIC8vIElmIF9yZWFkIHB1c2hlZCBkYXRhIHN5bmNocm9ub3VzbHksIHRoZW4gYHJlYWRpbmdgIHdpbGwgYmUgZmFsc2UsXG4gICAgLy8gYW5kIHdlIG5lZWQgdG8gcmUtZXZhbHVhdGUgaG93IG11Y2ggZGF0YSB3ZSBjYW4gcmV0dXJuIHRvIHRoZSB1c2VyLlxuICAgIGlmICghc3RhdGUucmVhZGluZykgbiA9IGhvd011Y2hUb1JlYWQobk9yaWcsIHN0YXRlKTtcbiAgfVxuXG4gIHZhciByZXQ7XG4gIGlmIChuID4gMCkgcmV0ID0gZnJvbUxpc3Qobiwgc3RhdGUpO2Vsc2UgcmV0ID0gbnVsbDtcblxuICBpZiAocmV0ID09PSBudWxsKSB7XG4gICAgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICBuID0gMDtcbiAgfSBlbHNlIHtcbiAgICBzdGF0ZS5sZW5ndGggLT0gbjtcbiAgfVxuXG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICAvLyBJZiB3ZSBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciwgdGhlbiB3ZSB3YW50IHRvIGtub3dcbiAgICAvLyBhcyBzb29uIGFzIHdlICpkbyogZ2V0IHNvbWV0aGluZyBpbnRvIHRoZSBidWZmZXIuXG4gICAgaWYgKCFzdGF0ZS5lbmRlZCkgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcblxuICAgIC8vIElmIHdlIHRyaWVkIHRvIHJlYWQoKSBwYXN0IHRoZSBFT0YsIHRoZW4gZW1pdCBlbmQgb24gdGhlIG5leHQgdGljay5cbiAgICBpZiAobk9yaWcgIT09IG4gJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO1xuICB9XG5cbiAgaWYgKHJldCAhPT0gbnVsbCkgdGhpcy5lbWl0KCdkYXRhJywgcmV0KTtcblxuICByZXR1cm4gcmV0O1xufTtcblxuZnVuY3Rpb24gb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKSB7XG4gIGlmIChzdGF0ZS5lbmRlZCkgcmV0dXJuO1xuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xuICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XG4gICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkge1xuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xuICAgICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuICAgIH1cbiAgfVxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XG5cbiAgLy8gZW1pdCAncmVhZGFibGUnIG5vdyB0byBtYWtlIHN1cmUgaXQgZ2V0cyBwaWNrZWQgdXAuXG4gIGVtaXRSZWFkYWJsZShzdHJlYW0pO1xufVxuXG4vLyBEb24ndCBlbWl0IHJlYWRhYmxlIHJpZ2h0IGF3YXkgaW4gc3luYyBtb2RlLCBiZWNhdXNlIHRoaXMgY2FuIHRyaWdnZXJcbi8vIGFub3RoZXIgcmVhZCgpIGNhbGwgPT4gc3RhY2sgb3ZlcmZsb3cuICBUaGlzIHdheSwgaXQgbWlnaHQgdHJpZ2dlclxuLy8gYSBuZXh0VGljayByZWN1cnNpb24gd2FybmluZywgYnV0IHRoYXQncyBub3Qgc28gYmFkLlxuZnVuY3Rpb24gZW1pdFJlYWRhYmxlKHN0cmVhbSkge1xuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIHN0YXRlLm5lZWRSZWFkYWJsZSA9IGZhbHNlO1xuICBpZiAoIXN0YXRlLmVtaXR0ZWRSZWFkYWJsZSkge1xuICAgIGRlYnVnKCdlbWl0UmVhZGFibGUnLCBzdGF0ZS5mbG93aW5nKTtcbiAgICBzdGF0ZS5lbWl0dGVkUmVhZGFibGUgPSB0cnVlO1xuICAgIGlmIChzdGF0ZS5zeW5jKSBwbmEubmV4dFRpY2soZW1pdFJlYWRhYmxlXywgc3RyZWFtKTtlbHNlIGVtaXRSZWFkYWJsZV8oc3RyZWFtKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBlbWl0UmVhZGFibGVfKHN0cmVhbSkge1xuICBkZWJ1ZygnZW1pdCByZWFkYWJsZScpO1xuICBzdHJlYW0uZW1pdCgncmVhZGFibGUnKTtcbiAgZmxvdyhzdHJlYW0pO1xufVxuXG4vLyBhdCB0aGlzIHBvaW50LCB0aGUgdXNlciBoYXMgcHJlc3VtYWJseSBzZWVuIHRoZSAncmVhZGFibGUnIGV2ZW50LFxuLy8gYW5kIGNhbGxlZCByZWFkKCkgdG8gY29uc3VtZSBzb21lIGRhdGEuICB0aGF0IG1heSBoYXZlIHRyaWdnZXJlZFxuLy8gaW4gdHVybiBhbm90aGVyIF9yZWFkKG4pIGNhbGwsIGluIHdoaWNoIGNhc2UgcmVhZGluZyA9IHRydWUgaWZcbi8vIGl0J3MgaW4gcHJvZ3Jlc3MuXG4vLyBIb3dldmVyLCBpZiB3ZSdyZSBub3QgZW5kZWQsIG9yIHJlYWRpbmcsIGFuZCB0aGUgbGVuZ3RoIDwgaHdtLFxuLy8gdGhlbiBnbyBhaGVhZCBhbmQgdHJ5IHRvIHJlYWQgc29tZSBtb3JlIHByZWVtcHRpdmVseS5cbmZ1bmN0aW9uIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSkge1xuICBpZiAoIXN0YXRlLnJlYWRpbmdNb3JlKSB7XG4gICAgc3RhdGUucmVhZGluZ01vcmUgPSB0cnVlO1xuICAgIHBuYS5uZXh0VGljayhtYXliZVJlYWRNb3JlXywgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xuICB2YXIgbGVuID0gc3RhdGUubGVuZ3RoO1xuICB3aGlsZSAoIXN0YXRlLnJlYWRpbmcgJiYgIXN0YXRlLmZsb3dpbmcgJiYgIXN0YXRlLmVuZGVkICYmIHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcmspIHtcbiAgICBkZWJ1ZygnbWF5YmVSZWFkTW9yZSByZWFkIDAnKTtcbiAgICBzdHJlYW0ucmVhZCgwKTtcbiAgICBpZiAobGVuID09PSBzdGF0ZS5sZW5ndGgpXG4gICAgICAvLyBkaWRuJ3QgZ2V0IGFueSBkYXRhLCBzdG9wIHNwaW5uaW5nLlxuICAgICAgYnJlYWs7ZWxzZSBsZW4gPSBzdGF0ZS5sZW5ndGg7XG4gIH1cbiAgc3RhdGUucmVhZGluZ01vcmUgPSBmYWxzZTtcbn1cblxuLy8gYWJzdHJhY3QgbWV0aG9kLiAgdG8gYmUgb3ZlcnJpZGRlbiBpbiBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzLlxuLy8gY2FsbCBjYihlciwgZGF0YSkgd2hlcmUgZGF0YSBpcyA8PSBuIGluIGxlbmd0aC5cbi8vIGZvciB2aXJ0dWFsIChub24tc3RyaW5nLCBub24tYnVmZmVyKSBzdHJlYW1zLCBcImxlbmd0aFwiIGlzIHNvbWV3aGF0XG4vLyBhcmJpdHJhcnksIGFuZCBwZXJoYXBzIG5vdCB2ZXJ5IG1lYW5pbmdmdWwuXG5SZWFkYWJsZS5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAobikge1xuICB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCdfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpKTtcbn07XG5cblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XG4gIHZhciBzcmMgPSB0aGlzO1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuXG4gIHN3aXRjaCAoc3RhdGUucGlwZXNDb3VudCkge1xuICAgIGNhc2UgMDpcbiAgICAgIHN0YXRlLnBpcGVzID0gZGVzdDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgMTpcbiAgICAgIHN0YXRlLnBpcGVzID0gW3N0YXRlLnBpcGVzLCBkZXN0XTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBzdGF0ZS5waXBlcy5wdXNoKGRlc3QpO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgc3RhdGUucGlwZXNDb3VudCArPSAxO1xuICBkZWJ1ZygncGlwZSBjb3VudD0lZCBvcHRzPSVqJywgc3RhdGUucGlwZXNDb3VudCwgcGlwZU9wdHMpO1xuXG4gIHZhciBkb0VuZCA9ICghcGlwZU9wdHMgfHwgcGlwZU9wdHMuZW5kICE9PSBmYWxzZSkgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRvdXQgJiYgZGVzdCAhPT0gcHJvY2Vzcy5zdGRlcnI7XG5cbiAgdmFyIGVuZEZuID0gZG9FbmQgPyBvbmVuZCA6IHVucGlwZTtcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHBuYS5uZXh0VGljayhlbmRGbik7ZWxzZSBzcmMub25jZSgnZW5kJywgZW5kRm4pO1xuXG4gIGRlc3Qub24oJ3VucGlwZScsIG9udW5waXBlKTtcbiAgZnVuY3Rpb24gb251bnBpcGUocmVhZGFibGUsIHVucGlwZUluZm8pIHtcbiAgICBkZWJ1Zygnb251bnBpcGUnKTtcbiAgICBpZiAocmVhZGFibGUgPT09IHNyYykge1xuICAgICAgaWYgKHVucGlwZUluZm8gJiYgdW5waXBlSW5mby5oYXNVbnBpcGVkID09PSBmYWxzZSkge1xuICAgICAgICB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPSB0cnVlO1xuICAgICAgICBjbGVhbnVwKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gb25lbmQoKSB7XG4gICAgZGVidWcoJ29uZW5kJyk7XG4gICAgZGVzdC5lbmQoKTtcbiAgfVxuXG4gIC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcbiAgLy8gb24gdGhlIHNvdXJjZS4gIFRoaXMgd291bGQgYmUgbW9yZSBlbGVnYW50IHdpdGggYSAub25jZSgpXG4gIC8vIGhhbmRsZXIgaW4gZmxvdygpLCBidXQgYWRkaW5nIGFuZCByZW1vdmluZyByZXBlYXRlZGx5IGlzXG4gIC8vIHRvbyBzbG93LlxuICB2YXIgb25kcmFpbiA9IHBpcGVPbkRyYWluKHNyYyk7XG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XG5cbiAgdmFyIGNsZWFuZWRVcCA9IGZhbHNlO1xuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIGRlYnVnKCdjbGVhbnVwJyk7XG4gICAgLy8gY2xlYW51cCBldmVudCBoYW5kbGVycyBvbmNlIHRoZSBwaXBlIGlzIGJyb2tlblxuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2RyYWluJywgb25kcmFpbik7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCd1bnBpcGUnLCBvbnVucGlwZSk7XG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBvbmVuZCk7XG4gICAgc3JjLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCB1bnBpcGUpO1xuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XG5cbiAgICBjbGVhbmVkVXAgPSB0cnVlO1xuXG4gICAgLy8gaWYgdGhlIHJlYWRlciBpcyB3YWl0aW5nIGZvciBhIGRyYWluIGV2ZW50IGZyb20gdGhpc1xuICAgIC8vIHNwZWNpZmljIHdyaXRlciwgdGhlbiBpdCB3b3VsZCBjYXVzZSBpdCB0byBuZXZlciBzdGFydFxuICAgIC8vIGZsb3dpbmcgYWdhaW4uXG4gICAgLy8gU28sIGlmIHRoaXMgaXMgYXdhaXRpbmcgYSBkcmFpbiwgdGhlbiB3ZSBqdXN0IGNhbGwgaXQgbm93LlxuICAgIC8vIElmIHdlIGRvbid0IGtub3csIHRoZW4gYXNzdW1lIHRoYXQgd2UgYXJlIHdhaXRpbmcgZm9yIG9uZS5cbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiAmJiAoIWRlc3QuX3dyaXRhYmxlU3RhdGUgfHwgZGVzdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW4pKSBvbmRyYWluKCk7XG4gIH1cblxuICAvLyBJZiB0aGUgdXNlciBwdXNoZXMgbW9yZSBkYXRhIHdoaWxlIHdlJ3JlIHdyaXRpbmcgdG8gZGVzdCB0aGVuIHdlJ2xsIGVuZCB1cFxuICAvLyBpbiBvbmRhdGEgYWdhaW4uIEhvd2V2ZXIsIHdlIG9ubHkgd2FudCB0byBpbmNyZWFzZSBhd2FpdERyYWluIG9uY2UgYmVjYXVzZVxuICAvLyBkZXN0IHdpbGwgb25seSBlbWl0IG9uZSAnZHJhaW4nIGV2ZW50IGZvciB0aGUgbXVsdGlwbGUgd3JpdGVzLlxuICAvLyA9PiBJbnRyb2R1Y2UgYSBndWFyZCBvbiBpbmNyZWFzaW5nIGF3YWl0RHJhaW4uXG4gIHZhciBpbmNyZWFzZWRBd2FpdERyYWluID0gZmFsc2U7XG4gIHNyYy5vbignZGF0YScsIG9uZGF0YSk7XG4gIGZ1bmN0aW9uIG9uZGF0YShjaHVuaykge1xuICAgIGRlYnVnKCdvbmRhdGEnKTtcbiAgICBpbmNyZWFzZWRBd2FpdERyYWluID0gZmFsc2U7XG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xuICAgIGlmIChmYWxzZSA9PT0gcmV0ICYmICFpbmNyZWFzZWRBd2FpdERyYWluKSB7XG4gICAgICAvLyBJZiB0aGUgdXNlciB1bnBpcGVkIGR1cmluZyBgZGVzdC53cml0ZSgpYCwgaXQgaXMgcG9zc2libGVcbiAgICAgIC8vIHRvIGdldCBzdHVjayBpbiBhIHBlcm1hbmVudGx5IHBhdXNlZCBzdGF0ZSBpZiB0aGF0IHdyaXRlXG4gICAgICAvLyBhbHNvIHJldHVybmVkIGZhbHNlLlxuICAgICAgLy8gPT4gQ2hlY2sgd2hldGhlciBgZGVzdGAgaXMgc3RpbGwgYSBwaXBpbmcgZGVzdGluYXRpb24uXG4gICAgICBpZiAoKHN0YXRlLnBpcGVzQ291bnQgPT09IDEgJiYgc3RhdGUucGlwZXMgPT09IGRlc3QgfHwgc3RhdGUucGlwZXNDb3VudCA+IDEgJiYgaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCkgIT09IC0xKSAmJiAhY2xlYW5lZFVwKSB7XG4gICAgICAgIGRlYnVnKCdmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UnLCBzcmMuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbik7XG4gICAgICAgIHNyYy5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKys7XG4gICAgICAgIGluY3JlYXNlZEF3YWl0RHJhaW4gPSB0cnVlO1xuICAgICAgfVxuICAgICAgc3JjLnBhdXNlKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gaWYgdGhlIGRlc3QgaGFzIGFuIGVycm9yLCB0aGVuIHN0b3AgcGlwaW5nIGludG8gaXQuXG4gIC8vIGhvd2V2ZXIsIGRvbid0IHN1cHByZXNzIHRoZSB0aHJvd2luZyBiZWhhdmlvciBmb3IgdGhpcy5cbiAgZnVuY3Rpb24gb25lcnJvcihlcikge1xuICAgIGRlYnVnKCdvbmVycm9yJywgZXIpO1xuICAgIHVucGlwZSgpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XG4gICAgaWYgKEVFbGlzdGVuZXJDb3VudChkZXN0LCAnZXJyb3InKSA9PT0gMCkgZGVzdC5lbWl0KCdlcnJvcicsIGVyKTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgdXNlcmxhbmQgb25lcy5cbiAgcHJlcGVuZExpc3RlbmVyKGRlc3QsICdlcnJvcicsIG9uZXJyb3IpO1xuXG4gIC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXG4gIGZ1bmN0aW9uIG9uY2xvc2UoKSB7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xuICAgIHVucGlwZSgpO1xuICB9XG4gIGRlc3Qub25jZSgnY2xvc2UnLCBvbmNsb3NlKTtcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XG4gICAgZGVidWcoJ29uZmluaXNoJyk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcbiAgICB1bnBpcGUoKTtcbiAgfVxuICBkZXN0Lm9uY2UoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcblxuICBmdW5jdGlvbiB1bnBpcGUoKSB7XG4gICAgZGVidWcoJ3VucGlwZScpO1xuICAgIHNyYy51bnBpcGUoZGVzdCk7XG4gIH1cblxuICAvLyB0ZWxsIHRoZSBkZXN0IHRoYXQgaXQncyBiZWluZyBwaXBlZCB0b1xuICBkZXN0LmVtaXQoJ3BpcGUnLCBzcmMpO1xuXG4gIC8vIHN0YXJ0IHRoZSBmbG93IGlmIGl0IGhhc24ndCBiZWVuIHN0YXJ0ZWQgYWxyZWFkeS5cbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XG4gICAgZGVidWcoJ3BpcGUgcmVzdW1lJyk7XG4gICAgc3JjLnJlc3VtZSgpO1xuICB9XG5cbiAgcmV0dXJuIGRlc3Q7XG59O1xuXG5mdW5jdGlvbiBwaXBlT25EcmFpbihzcmMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc3RhdGUgPSBzcmMuX3JlYWRhYmxlU3RhdGU7XG4gICAgZGVidWcoJ3BpcGVPbkRyYWluJywgc3RhdGUuYXdhaXREcmFpbik7XG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4pIHN0YXRlLmF3YWl0RHJhaW4tLTtcbiAgICBpZiAoc3RhdGUuYXdhaXREcmFpbiA9PT0gMCAmJiBFRWxpc3RlbmVyQ291bnQoc3JjLCAnZGF0YScpKSB7XG4gICAgICBzdGF0ZS5mbG93aW5nID0gdHJ1ZTtcbiAgICAgIGZsb3coc3JjKTtcbiAgICB9XG4gIH07XG59XG5cblJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGUgPSBmdW5jdGlvbiAoZGVzdCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICB2YXIgdW5waXBlSW5mbyA9IHsgaGFzVW5waXBlZDogZmFsc2UgfTtcblxuICAvLyBpZiB3ZSdyZSBub3QgcGlwaW5nIGFueXdoZXJlLCB0aGVuIGRvIG5vdGhpbmcuXG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAwKSByZXR1cm4gdGhpcztcblxuICAvLyBqdXN0IG9uZSBkZXN0aW5hdGlvbi4gIG1vc3QgY29tbW9uIGNhc2UuXG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAxKSB7XG4gICAgLy8gcGFzc2VkIGluIG9uZSwgYnV0IGl0J3Mgbm90IHRoZSByaWdodCBvbmUuXG4gICAgaWYgKGRlc3QgJiYgZGVzdCAhPT0gc3RhdGUucGlwZXMpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKCFkZXN0KSBkZXN0ID0gc3RhdGUucGlwZXM7XG5cbiAgICAvLyBnb3QgYSBtYXRjaC5cbiAgICBzdGF0ZS5waXBlcyA9IG51bGw7XG4gICAgc3RhdGUucGlwZXNDb3VudCA9IDA7XG4gICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xuICAgIGlmIChkZXN0KSBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gc2xvdyBjYXNlLiBtdWx0aXBsZSBwaXBlIGRlc3RpbmF0aW9ucy5cblxuICBpZiAoIWRlc3QpIHtcbiAgICAvLyByZW1vdmUgYWxsLlxuICAgIHZhciBkZXN0cyA9IHN0YXRlLnBpcGVzO1xuICAgIHZhciBsZW4gPSBzdGF0ZS5waXBlc0NvdW50O1xuICAgIHN0YXRlLnBpcGVzID0gbnVsbDtcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB1bnBpcGVJbmZvKTtcbiAgICB9cmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyB0cnkgdG8gZmluZCB0aGUgcmlnaHQgb25lLlxuICB2YXIgaW5kZXggPSBpbmRleE9mKHN0YXRlLnBpcGVzLCBkZXN0KTtcbiAgaWYgKGluZGV4ID09PSAtMSkgcmV0dXJuIHRoaXM7XG5cbiAgc3RhdGUucGlwZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgc3RhdGUucGlwZXNDb3VudCAtPSAxO1xuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkgc3RhdGUucGlwZXMgPSBzdGF0ZS5waXBlc1swXTtcblxuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xuXG4gIHJldHVybiB0aGlzO1xufTtcblxuLy8gc2V0IHVwIGRhdGEgZXZlbnRzIGlmIHRoZXkgYXJlIGFza2VkIGZvclxuLy8gRW5zdXJlIHJlYWRhYmxlIGxpc3RlbmVycyBldmVudHVhbGx5IGdldCBzb21ldGhpbmdcblJlYWRhYmxlLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uIChldiwgZm4pIHtcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUub24uY2FsbCh0aGlzLCBldiwgZm4pO1xuXG4gIGlmIChldiA9PT0gJ2RhdGEnKSB7XG4gICAgLy8gU3RhcnQgZmxvd2luZyBvbiBuZXh0IHRpY2sgaWYgc3RyZWFtIGlzbid0IGV4cGxpY2l0bHkgcGF1c2VkXG4gICAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAhPT0gZmFsc2UpIHRoaXMucmVzdW1lKCk7XG4gIH0gZWxzZSBpZiAoZXYgPT09ICdyZWFkYWJsZScpIHtcbiAgICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICAgIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiAhc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcpIHtcbiAgICAgIHN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nID0gc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XG4gICAgICAgIHBuYS5uZXh0VGljayhuUmVhZGluZ05leHRUaWNrLCB0aGlzKTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUubGVuZ3RoKSB7XG4gICAgICAgIGVtaXRSZWFkYWJsZSh0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzO1xufTtcblJlYWRhYmxlLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IFJlYWRhYmxlLnByb3RvdHlwZS5vbjtcblxuZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhzZWxmKSB7XG4gIGRlYnVnKCdyZWFkYWJsZSBuZXh0dGljayByZWFkIDAnKTtcbiAgc2VsZi5yZWFkKDApO1xufVxuXG4vLyBwYXVzZSgpIGFuZCByZXN1bWUoKSBhcmUgcmVtbmFudHMgb2YgdGhlIGxlZ2FjeSByZWFkYWJsZSBzdHJlYW0gQVBJXG4vLyBJZiB0aGUgdXNlciB1c2VzIHRoZW0sIHRoZW4gc3dpdGNoIGludG8gb2xkIG1vZGUuXG5SZWFkYWJsZS5wcm90b3R5cGUucmVzdW1lID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICBpZiAoIXN0YXRlLmZsb3dpbmcpIHtcbiAgICBkZWJ1ZygncmVzdW1lJyk7XG4gICAgc3RhdGUuZmxvd2luZyA9IHRydWU7XG4gICAgcmVzdW1lKHRoaXMsIHN0YXRlKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbmZ1bmN0aW9uIHJlc3VtZShzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XG4gICAgc3RhdGUucmVzdW1lU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBwbmEubmV4dFRpY2socmVzdW1lXywgc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzdW1lXyhzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucmVhZGluZykge1xuICAgIGRlYnVnKCdyZXN1bWUgcmVhZCAwJyk7XG4gICAgc3RyZWFtLnJlYWQoMCk7XG4gIH1cblxuICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XG4gIHN0cmVhbS5lbWl0KCdyZXN1bWUnKTtcbiAgZmxvdyhzdHJlYW0pO1xuICBpZiAoc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUucmVhZGluZykgc3RyZWFtLnJlYWQoMCk7XG59XG5cblJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ2NhbGwgcGF1c2UgZmxvd2luZz0laicsIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyk7XG4gIGlmIChmYWxzZSAhPT0gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSB7XG4gICAgZGVidWcoJ3BhdXNlJyk7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gZmxvdyhzdHJlYW0pIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICBkZWJ1ZygnZmxvdycsIHN0YXRlLmZsb3dpbmcpO1xuICB3aGlsZSAoc3RhdGUuZmxvd2luZyAmJiBzdHJlYW0ucmVhZCgpICE9PSBudWxsKSB7fVxufVxuXG4vLyB3cmFwIGFuIG9sZC1zdHlsZSBzdHJlYW0gYXMgdGhlIGFzeW5jIGRhdGEgc291cmNlLlxuLy8gVGhpcyBpcyAqbm90KiBwYXJ0IG9mIHRoZSByZWFkYWJsZSBzdHJlYW0gaW50ZXJmYWNlLlxuLy8gSXQgaXMgYW4gdWdseSB1bmZvcnR1bmF0ZSBtZXNzIG9mIGhpc3RvcnkuXG5SZWFkYWJsZS5wcm90b3R5cGUud3JhcCA9IGZ1bmN0aW9uIChzdHJlYW0pIHtcbiAgdmFyIF90aGlzID0gdGhpcztcblxuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICB2YXIgcGF1c2VkID0gZmFsc2U7XG5cbiAgc3RyZWFtLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgZW5kJyk7XG4gICAgaWYgKHN0YXRlLmRlY29kZXIgJiYgIXN0YXRlLmVuZGVkKSB7XG4gICAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xuICAgICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkgX3RoaXMucHVzaChjaHVuayk7XG4gICAgfVxuXG4gICAgX3RoaXMucHVzaChudWxsKTtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKCdkYXRhJywgZnVuY3Rpb24gKGNodW5rKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgZGF0YScpO1xuICAgIGlmIChzdGF0ZS5kZWNvZGVyKSBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xuXG4gICAgLy8gZG9uJ3Qgc2tpcCBvdmVyIGZhbHN5IHZhbHVlcyBpbiBvYmplY3RNb2RlXG4gICAgaWYgKHN0YXRlLm9iamVjdE1vZGUgJiYgKGNodW5rID09PSBudWxsIHx8IGNodW5rID09PSB1bmRlZmluZWQpKSByZXR1cm47ZWxzZSBpZiAoIXN0YXRlLm9iamVjdE1vZGUgJiYgKCFjaHVuayB8fCAhY2h1bmsubGVuZ3RoKSkgcmV0dXJuO1xuXG4gICAgdmFyIHJldCA9IF90aGlzLnB1c2goY2h1bmspO1xuICAgIGlmICghcmV0KSB7XG4gICAgICBwYXVzZWQgPSB0cnVlO1xuICAgICAgc3RyZWFtLnBhdXNlKCk7XG4gICAgfVxuICB9KTtcblxuICAvLyBwcm94eSBhbGwgdGhlIG90aGVyIG1ldGhvZHMuXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxuICBmb3IgKHZhciBpIGluIHN0cmVhbSkge1xuICAgIGlmICh0aGlzW2ldID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHN0cmVhbVtpXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIChtZXRob2QpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gc3RyZWFtW21ldGhvZF0uYXBwbHkoc3RyZWFtLCBhcmd1bWVudHMpO1xuICAgICAgICB9O1xuICAgICAgfShpKTtcbiAgICB9XG4gIH1cblxuICAvLyBwcm94eSBjZXJ0YWluIGltcG9ydGFudCBldmVudHMuXG4gIGZvciAodmFyIG4gPSAwOyBuIDwga1Byb3h5RXZlbnRzLmxlbmd0aDsgbisrKSB7XG4gICAgc3RyZWFtLm9uKGtQcm94eUV2ZW50c1tuXSwgdGhpcy5lbWl0LmJpbmQodGhpcywga1Byb3h5RXZlbnRzW25dKSk7XG4gIH1cblxuICAvLyB3aGVuIHdlIHRyeSB0byBjb25zdW1lIHNvbWUgbW9yZSBieXRlcywgc2ltcGx5IHVucGF1c2UgdGhlXG4gIC8vIHVuZGVybHlpbmcgc3RyZWFtLlxuICB0aGlzLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgICBkZWJ1Zygnd3JhcHBlZCBfcmVhZCcsIG4pO1xuICAgIGlmIChwYXVzZWQpIHtcbiAgICAgIHBhdXNlZCA9IGZhbHNlO1xuICAgICAgc3RyZWFtLnJlc3VtZSgpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gdGhpcztcbn07XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuXG4vLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXG5SZWFkYWJsZS5fZnJvbUxpc3QgPSBmcm9tTGlzdDtcblxuLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxuLy8gTGVuZ3RoIGlzIHRoZSBjb21iaW5lZCBsZW5ndGhzIG9mIGFsbCB0aGUgYnVmZmVycyBpbiB0aGUgbGlzdC5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gZnJvbUxpc3Qobiwgc3RhdGUpIHtcbiAgLy8gbm90aGluZyBidWZmZXJlZFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICB2YXIgcmV0O1xuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0ID0gc3RhdGUuYnVmZmVyLnNoaWZ0KCk7ZWxzZSBpZiAoIW4gfHwgbiA+PSBzdGF0ZS5sZW5ndGgpIHtcbiAgICAvLyByZWFkIGl0IGFsbCwgdHJ1bmNhdGUgdGhlIGxpc3RcbiAgICBpZiAoc3RhdGUuZGVjb2RlcikgcmV0ID0gc3RhdGUuYnVmZmVyLmpvaW4oJycpO2Vsc2UgaWYgKHN0YXRlLmJ1ZmZlci5sZW5ndGggPT09IDEpIHJldCA9IHN0YXRlLmJ1ZmZlci5oZWFkLmRhdGE7ZWxzZSByZXQgPSBzdGF0ZS5idWZmZXIuY29uY2F0KHN0YXRlLmxlbmd0aCk7XG4gICAgc3RhdGUuYnVmZmVyLmNsZWFyKCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gcmVhZCBwYXJ0IG9mIGxpc3RcbiAgICByZXQgPSBmcm9tTGlzdFBhcnRpYWwobiwgc3RhdGUuYnVmZmVyLCBzdGF0ZS5kZWNvZGVyKTtcbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbi8vIEV4dHJhY3RzIG9ubHkgZW5vdWdoIGJ1ZmZlcmVkIGRhdGEgdG8gc2F0aXNmeSB0aGUgYW1vdW50IHJlcXVlc3RlZC5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gZnJvbUxpc3RQYXJ0aWFsKG4sIGxpc3QsIGhhc1N0cmluZ3MpIHtcbiAgdmFyIHJldDtcbiAgaWYgKG4gPCBsaXN0LmhlYWQuZGF0YS5sZW5ndGgpIHtcbiAgICAvLyBzbGljZSBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5nc1xuICAgIHJldCA9IGxpc3QuaGVhZC5kYXRhLnNsaWNlKDAsIG4pO1xuICAgIGxpc3QuaGVhZC5kYXRhID0gbGlzdC5oZWFkLmRhdGEuc2xpY2Uobik7XG4gIH0gZWxzZSBpZiAobiA9PT0gbGlzdC5oZWFkLmRhdGEubGVuZ3RoKSB7XG4gICAgLy8gZmlyc3QgY2h1bmsgaXMgYSBwZXJmZWN0IG1hdGNoXG4gICAgcmV0ID0gbGlzdC5zaGlmdCgpO1xuICB9IGVsc2Uge1xuICAgIC8vIHJlc3VsdCBzcGFucyBtb3JlIHRoYW4gb25lIGJ1ZmZlclxuICAgIHJldCA9IGhhc1N0cmluZ3MgPyBjb3B5RnJvbUJ1ZmZlclN0cmluZyhuLCBsaXN0KSA6IGNvcHlGcm9tQnVmZmVyKG4sIGxpc3QpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbi8vIENvcGllcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBsaXN0IG9mIGJ1ZmZlcmVkIGRhdGFcbi8vIGNodW5rcy5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gY29weUZyb21CdWZmZXJTdHJpbmcobiwgbGlzdCkge1xuICB2YXIgcCA9IGxpc3QuaGVhZDtcbiAgdmFyIGMgPSAxO1xuICB2YXIgcmV0ID0gcC5kYXRhO1xuICBuIC09IHJldC5sZW5ndGg7XG4gIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgdmFyIHN0ciA9IHAuZGF0YTtcbiAgICB2YXIgbmIgPSBuID4gc3RyLmxlbmd0aCA/IHN0ci5sZW5ndGggOiBuO1xuICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkgcmV0ICs9IHN0cjtlbHNlIHJldCArPSBzdHIuc2xpY2UoMCwgbik7XG4gICAgbiAtPSBuYjtcbiAgICBpZiAobiA9PT0gMCkge1xuICAgICAgaWYgKG5iID09PSBzdHIubGVuZ3RoKSB7XG4gICAgICAgICsrYztcbiAgICAgICAgaWYgKHAubmV4dCkgbGlzdC5oZWFkID0gcC5uZXh0O2Vsc2UgbGlzdC5oZWFkID0gbGlzdC50YWlsID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpc3QuaGVhZCA9IHA7XG4gICAgICAgIHAuZGF0YSA9IHN0ci5zbGljZShuYik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgKytjO1xuICB9XG4gIGxpc3QubGVuZ3RoIC09IGM7XG4gIHJldHVybiByZXQ7XG59XG5cbi8vIENvcGllcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgYnl0ZXMgZnJvbSB0aGUgbGlzdCBvZiBidWZmZXJlZCBkYXRhIGNodW5rcy5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gY29weUZyb21CdWZmZXIobiwgbGlzdCkge1xuICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4pO1xuICB2YXIgcCA9IGxpc3QuaGVhZDtcbiAgdmFyIGMgPSAxO1xuICBwLmRhdGEuY29weShyZXQpO1xuICBuIC09IHAuZGF0YS5sZW5ndGg7XG4gIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgdmFyIGJ1ZiA9IHAuZGF0YTtcbiAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xuICAgIGJ1Zi5jb3B5KHJldCwgcmV0Lmxlbmd0aCAtIG4sIDAsIG5iKTtcbiAgICBuIC09IG5iO1xuICAgIGlmIChuID09PSAwKSB7XG4gICAgICBpZiAobmIgPT09IGJ1Zi5sZW5ndGgpIHtcbiAgICAgICAgKytjO1xuICAgICAgICBpZiAocC5uZXh0KSBsaXN0LmhlYWQgPSBwLm5leHQ7ZWxzZSBsaXN0LmhlYWQgPSBsaXN0LnRhaWwgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGlzdC5oZWFkID0gcDtcbiAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICArK2M7XG4gIH1cbiAgbGlzdC5sZW5ndGggLT0gYztcbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gZW5kUmVhZGFibGUoc3RyZWFtKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcblxuICAvLyBJZiB3ZSBnZXQgaGVyZSBiZWZvcmUgY29uc3VtaW5nIGFsbCB0aGUgYnl0ZXMsIHRoZW4gdGhhdCBpcyBhXG4gIC8vIGJ1ZyBpbiBub2RlLiAgU2hvdWxkIG5ldmVyIGhhcHBlbi5cbiAgaWYgKHN0YXRlLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcignXCJlbmRSZWFkYWJsZSgpXCIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTtcblxuICBpZiAoIXN0YXRlLmVuZEVtaXR0ZWQpIHtcbiAgICBzdGF0ZS5lbmRlZCA9IHRydWU7XG4gICAgcG5hLm5leHRUaWNrKGVuZFJlYWRhYmxlTlQsIHN0YXRlLCBzdHJlYW0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xuICAvLyBDaGVjayB0aGF0IHdlIGRpZG4ndCBnZXQgb25lIGxhc3QgdW5zaGlmdC5cbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmIHN0YXRlLmxlbmd0aCA9PT0gMCkge1xuICAgIHN0YXRlLmVuZEVtaXR0ZWQgPSB0cnVlO1xuICAgIHN0cmVhbS5yZWFkYWJsZSA9IGZhbHNlO1xuICAgIHN0cmVhbS5lbWl0KCdlbmQnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbmRleE9mKHhzLCB4KSB7XG4gIGZvciAodmFyIGkgPSAwLCBsID0geHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgaWYgKHhzW2ldID09PSB4KSByZXR1cm4gaTtcbiAgfVxuICByZXR1cm4gLTE7XG59IiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbi8vIGEgdHJhbnNmb3JtIHN0cmVhbSBpcyBhIHJlYWRhYmxlL3dyaXRhYmxlIHN0cmVhbSB3aGVyZSB5b3UgZG9cbi8vIHNvbWV0aGluZyB3aXRoIHRoZSBkYXRhLiAgU29tZXRpbWVzIGl0J3MgY2FsbGVkIGEgXCJmaWx0ZXJcIixcbi8vIGJ1dCB0aGF0J3Mgbm90IGEgZ3JlYXQgbmFtZSBmb3IgaXQsIHNpbmNlIHRoYXQgaW1wbGllcyBhIHRoaW5nIHdoZXJlXG4vLyBzb21lIGJpdHMgcGFzcyB0aHJvdWdoLCBhbmQgb3RoZXJzIGFyZSBzaW1wbHkgaWdub3JlZC4gIChUaGF0IHdvdWxkXG4vLyBiZSBhIHZhbGlkIGV4YW1wbGUgb2YgYSB0cmFuc2Zvcm0sIG9mIGNvdXJzZS4pXG4vL1xuLy8gV2hpbGUgdGhlIG91dHB1dCBpcyBjYXVzYWxseSByZWxhdGVkIHRvIHRoZSBpbnB1dCwgaXQncyBub3QgYVxuLy8gbmVjZXNzYXJpbHkgc3ltbWV0cmljIG9yIHN5bmNocm9ub3VzIHRyYW5zZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUsXG4vLyBhIHpsaWIgc3RyZWFtIG1pZ2h0IHRha2UgbXVsdGlwbGUgcGxhaW4tdGV4dCB3cml0ZXMoKSwgYW5kIHRoZW5cbi8vIGVtaXQgYSBzaW5nbGUgY29tcHJlc3NlZCBjaHVuayBzb21lIHRpbWUgaW4gdGhlIGZ1dHVyZS5cbi8vXG4vLyBIZXJlJ3MgaG93IHRoaXMgd29ya3M6XG4vL1xuLy8gVGhlIFRyYW5zZm9ybSBzdHJlYW0gaGFzIGFsbCB0aGUgYXNwZWN0cyBvZiB0aGUgcmVhZGFibGUgYW5kIHdyaXRhYmxlXG4vLyBzdHJlYW0gY2xhc3Nlcy4gIFdoZW4geW91IHdyaXRlKGNodW5rKSwgdGhhdCBjYWxscyBfd3JpdGUoY2h1bmssY2IpXG4vLyBpbnRlcm5hbGx5LCBhbmQgcmV0dXJucyBmYWxzZSBpZiB0aGVyZSdzIGEgbG90IG9mIHBlbmRpbmcgd3JpdGVzXG4vLyBidWZmZXJlZCB1cC4gIFdoZW4geW91IGNhbGwgcmVhZCgpLCB0aGF0IGNhbGxzIF9yZWFkKG4pIHVudGlsXG4vLyB0aGVyZSdzIGVub3VnaCBwZW5kaW5nIHJlYWRhYmxlIGRhdGEgYnVmZmVyZWQgdXAuXG4vL1xuLy8gSW4gYSB0cmFuc2Zvcm0gc3RyZWFtLCB0aGUgd3JpdHRlbiBkYXRhIGlzIHBsYWNlZCBpbiBhIGJ1ZmZlci4gIFdoZW5cbi8vIF9yZWFkKG4pIGlzIGNhbGxlZCwgaXQgdHJhbnNmb3JtcyB0aGUgcXVldWVkIHVwIGRhdGEsIGNhbGxpbmcgdGhlXG4vLyBidWZmZXJlZCBfd3JpdGUgY2IncyBhcyBpdCBjb25zdW1lcyBjaHVua3MuICBJZiBjb25zdW1pbmcgYSBzaW5nbGVcbi8vIHdyaXR0ZW4gY2h1bmsgd291bGQgcmVzdWx0IGluIG11bHRpcGxlIG91dHB1dCBjaHVua3MsIHRoZW4gdGhlIGZpcnN0XG4vLyBvdXRwdXR0ZWQgYml0IGNhbGxzIHRoZSByZWFkY2IsIGFuZCBzdWJzZXF1ZW50IGNodW5rcyBqdXN0IGdvIGludG9cbi8vIHRoZSByZWFkIGJ1ZmZlciwgYW5kIHdpbGwgY2F1c2UgaXQgdG8gZW1pdCAncmVhZGFibGUnIGlmIG5lY2Vzc2FyeS5cbi8vXG4vLyBUaGlzIHdheSwgYmFjay1wcmVzc3VyZSBpcyBhY3R1YWxseSBkZXRlcm1pbmVkIGJ5IHRoZSByZWFkaW5nIHNpZGUsXG4vLyBzaW5jZSBfcmVhZCBoYXMgdG8gYmUgY2FsbGVkIHRvIHN0YXJ0IHByb2Nlc3NpbmcgYSBuZXcgY2h1bmsuICBIb3dldmVyLFxuLy8gYSBwYXRob2xvZ2ljYWwgaW5mbGF0ZSB0eXBlIG9mIHRyYW5zZm9ybSBjYW4gY2F1c2UgZXhjZXNzaXZlIGJ1ZmZlcmluZ1xuLy8gaGVyZS4gIEZvciBleGFtcGxlLCBpbWFnaW5lIGEgc3RyZWFtIHdoZXJlIGV2ZXJ5IGJ5dGUgb2YgaW5wdXQgaXNcbi8vIGludGVycHJldGVkIGFzIGFuIGludGVnZXIgZnJvbSAwLTI1NSwgYW5kIHRoZW4gcmVzdWx0cyBpbiB0aGF0IG1hbnlcbi8vIGJ5dGVzIG9mIG91dHB1dC4gIFdyaXRpbmcgdGhlIDQgYnl0ZXMge2ZmLGZmLGZmLGZmfSB3b3VsZCByZXN1bHQgaW5cbi8vIDFrYiBvZiBkYXRhIGJlaW5nIG91dHB1dC4gIEluIHRoaXMgY2FzZSwgeW91IGNvdWxkIHdyaXRlIGEgdmVyeSBzbWFsbFxuLy8gYW1vdW50IG9mIGlucHV0LCBhbmQgZW5kIHVwIHdpdGggYSB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBvdXRwdXQuICBJblxuLy8gc3VjaCBhIHBhdGhvbG9naWNhbCBpbmZsYXRpbmcgbWVjaGFuaXNtLCB0aGVyZSdkIGJlIG5vIHdheSB0byB0ZWxsXG4vLyB0aGUgc3lzdGVtIHRvIHN0b3AgZG9pbmcgdGhlIHRyYW5zZm9ybS4gIEEgc2luZ2xlIDRNQiB3cml0ZSBjb3VsZFxuLy8gY2F1c2UgdGhlIHN5c3RlbSB0byBydW4gb3V0IG9mIG1lbW9yeS5cbi8vXG4vLyBIb3dldmVyLCBldmVuIGluIHN1Y2ggYSBwYXRob2xvZ2ljYWwgY2FzZSwgb25seSBhIHNpbmdsZSB3cml0dGVuIGNodW5rXG4vLyB3b3VsZCBiZSBjb25zdW1lZCwgYW5kIHRoZW4gdGhlIHJlc3Qgd291bGQgd2FpdCAodW4tdHJhbnNmb3JtZWQpIHVudGlsXG4vLyB0aGUgcmVzdWx0cyBvZiB0aGUgcHJldmlvdXMgdHJhbnNmb3JtZWQgY2h1bmsgd2VyZSBjb25zdW1lZC5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFRyYW5zZm9ybTtcblxudmFyIER1cGxleCA9IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciB1dGlsID0gT2JqZWN0LmNyZWF0ZShyZXF1aXJlKCdjb3JlLXV0aWwtaXMnKSk7XG51dGlsLmluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG51dGlsLmluaGVyaXRzKFRyYW5zZm9ybSwgRHVwbGV4KTtcblxuZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0oZXIsIGRhdGEpIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG4gIHRzLnRyYW5zZm9ybWluZyA9IGZhbHNlO1xuXG4gIHZhciBjYiA9IHRzLndyaXRlY2I7XG5cbiAgaWYgKCFjYikge1xuICAgIHJldHVybiB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVycm9yKCd3cml0ZSBjYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMnKSk7XG4gIH1cblxuICB0cy53cml0ZWNodW5rID0gbnVsbDtcbiAgdHMud3JpdGVjYiA9IG51bGw7XG5cbiAgaWYgKGRhdGEgIT0gbnVsbCkgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgdGhpcy5wdXNoKGRhdGEpO1xuXG4gIGNiKGVyKTtcblxuICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICBycy5yZWFkaW5nID0gZmFsc2U7XG4gIGlmIChycy5uZWVkUmVhZGFibGUgfHwgcnMubGVuZ3RoIDwgcnMuaGlnaFdhdGVyTWFyaykge1xuICAgIHRoaXMuX3JlYWQocnMuaGlnaFdhdGVyTWFyayk7XG4gIH1cbn1cblxuZnVuY3Rpb24gVHJhbnNmb3JtKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpIHJldHVybiBuZXcgVHJhbnNmb3JtKG9wdGlvbnMpO1xuXG4gIER1cGxleC5jYWxsKHRoaXMsIG9wdGlvbnMpO1xuXG4gIHRoaXMuX3RyYW5zZm9ybVN0YXRlID0ge1xuICAgIGFmdGVyVHJhbnNmb3JtOiBhZnRlclRyYW5zZm9ybS5iaW5kKHRoaXMpLFxuICAgIG5lZWRUcmFuc2Zvcm06IGZhbHNlLFxuICAgIHRyYW5zZm9ybWluZzogZmFsc2UsXG4gICAgd3JpdGVjYjogbnVsbCxcbiAgICB3cml0ZWNodW5rOiBudWxsLFxuICAgIHdyaXRlZW5jb2Rpbmc6IG51bGxcbiAgfTtcblxuICAvLyBzdGFydCBvdXQgYXNraW5nIGZvciBhIHJlYWRhYmxlIGV2ZW50IG9uY2UgZGF0YSBpcyB0cmFuc2Zvcm1lZC5cbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuXG4gIC8vIHdlIGhhdmUgaW1wbGVtZW50ZWQgdGhlIF9yZWFkIG1ldGhvZCwgYW5kIGRvbmUgdGhlIG90aGVyIHRoaW5nc1xuICAvLyB0aGF0IFJlYWRhYmxlIHdhbnRzIGJlZm9yZSB0aGUgZmlyc3QgX3JlYWQgY2FsbCwgc28gdW5zZXQgdGhlXG4gIC8vIHN5bmMgZ3VhcmQgZmxhZy5cbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jID0gZmFsc2U7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5mbHVzaCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZmx1c2ggPSBvcHRpb25zLmZsdXNoO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgd3JpdGFibGUgc2lkZSBmaW5pc2hlcywgdGhlbiBmbHVzaCBvdXQgYW55dGhpbmcgcmVtYWluaW5nLlxuICB0aGlzLm9uKCdwcmVmaW5pc2gnLCBwcmVmaW5pc2gpO1xufVxuXG5mdW5jdGlvbiBwcmVmaW5pc2goKSB7XG4gIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgaWYgKHR5cGVvZiB0aGlzLl9mbHVzaCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRoaXMuX2ZsdXNoKGZ1bmN0aW9uIChlciwgZGF0YSkge1xuICAgICAgZG9uZShfdGhpcywgZXIsIGRhdGEpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGRvbmUodGhpcywgbnVsbCwgbnVsbCk7XG4gIH1cbn1cblxuVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZykge1xuICB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtID0gZmFsc2U7XG4gIHJldHVybiBEdXBsZXgucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLCBjaHVuaywgZW5jb2RpbmcpO1xufTtcblxuLy8gVGhpcyBpcyB0aGUgcGFydCB3aGVyZSB5b3UgZG8gc3R1ZmYhXG4vLyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGluIGltcGxlbWVudGF0aW9uIGNsYXNzZXMuXG4vLyAnY2h1bmsnIGlzIGFuIGlucHV0IGNodW5rLlxuLy9cbi8vIENhbGwgYHB1c2gobmV3Q2h1bmspYCB0byBwYXNzIGFsb25nIHRyYW5zZm9ybWVkIG91dHB1dFxuLy8gdG8gdGhlIHJlYWRhYmxlIHNpZGUuICBZb3UgbWF5IGNhbGwgJ3B1c2gnIHplcm8gb3IgbW9yZSB0aW1lcy5cbi8vXG4vLyBDYWxsIGBjYihlcnIpYCB3aGVuIHlvdSBhcmUgZG9uZSB3aXRoIHRoaXMgY2h1bmsuICBJZiB5b3UgcGFzc1xuLy8gYW4gZXJyb3IsIHRoZW4gdGhhdCdsbCBwdXQgdGhlIGh1cnQgb24gdGhlIHdob2xlIG9wZXJhdGlvbi4gIElmIHlvdVxuLy8gbmV2ZXIgY2FsbCBjYigpLCB0aGVuIHlvdSdsbCBuZXZlciBnZXQgYW5vdGhlciBjaHVuay5cblRyYW5zZm9ybS5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHRocm93IG5ldyBFcnJvcignX3RyYW5zZm9ybSgpIGlzIG5vdCBpbXBsZW1lbnRlZCcpO1xufTtcblxuVHJhbnNmb3JtLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcbiAgdHMud3JpdGVjYiA9IGNiO1xuICB0cy53cml0ZWNodW5rID0gY2h1bms7XG4gIHRzLndyaXRlZW5jb2RpbmcgPSBlbmNvZGluZztcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcbiAgICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICAgIGlmICh0cy5uZWVkVHJhbnNmb3JtIHx8IHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xuICB9XG59O1xuXG4vLyBEb2Vzbid0IG1hdHRlciB3aGF0IHRoZSBhcmdzIGFyZSBoZXJlLlxuLy8gX3RyYW5zZm9ybSBkb2VzIGFsbCB0aGUgd29yay5cbi8vIFRoYXQgd2UgZ290IGhlcmUgbWVhbnMgdGhhdCB0aGUgcmVhZGFibGUgc2lkZSB3YW50cyBtb3JlIGRhdGEuXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG5cbiAgaWYgKHRzLndyaXRlY2h1bmsgIT09IG51bGwgJiYgdHMud3JpdGVjYiAmJiAhdHMudHJhbnNmb3JtaW5nKSB7XG4gICAgdHMudHJhbnNmb3JtaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl90cmFuc2Zvcm0odHMud3JpdGVjaHVuaywgdHMud3JpdGVlbmNvZGluZywgdHMuYWZ0ZXJUcmFuc2Zvcm0pO1xuICB9IGVsc2Uge1xuICAgIC8vIG1hcmsgdGhhdCB3ZSBuZWVkIGEgdHJhbnNmb3JtLCBzbyB0aGF0IGFueSBkYXRhIHRoYXQgY29tZXMgaW5cbiAgICAvLyB3aWxsIGdldCBwcm9jZXNzZWQsIG5vdyB0aGF0IHdlJ3ZlIGFza2VkIGZvciBpdC5cbiAgICB0cy5uZWVkVHJhbnNmb3JtID0gdHJ1ZTtcbiAgfVxufTtcblxuVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gIER1cGxleC5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLCBlcnIsIGZ1bmN0aW9uIChlcnIyKSB7XG4gICAgY2IoZXJyMik7XG4gICAgX3RoaXMyLmVtaXQoJ2Nsb3NlJyk7XG4gIH0pO1xufTtcblxuZnVuY3Rpb24gZG9uZShzdHJlYW0sIGVyLCBkYXRhKSB7XG4gIGlmIChlcikgcmV0dXJuIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVyKTtcblxuICBpZiAoZGF0YSAhPSBudWxsKSAvLyBzaW5nbGUgZXF1YWxzIGNoZWNrIGZvciBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGBcbiAgICBzdHJlYW0ucHVzaChkYXRhKTtcblxuICAvLyBpZiB0aGVyZSdzIG5vdGhpbmcgaW4gdGhlIHdyaXRlIGJ1ZmZlciwgdGhlbiB0aGF0IG1lYW5zXG4gIC8vIHRoYXQgbm90aGluZyBtb3JlIHdpbGwgZXZlciBiZSBwcm92aWRlZFxuICBpZiAoc3RyZWFtLl93cml0YWJsZVN0YXRlLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gd3MubGVuZ3RoICE9IDAnKTtcblxuICBpZiAoc3RyZWFtLl90cmFuc2Zvcm1TdGF0ZS50cmFuc2Zvcm1pbmcpIHRocm93IG5ldyBFcnJvcignQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZycpO1xuXG4gIHJldHVybiBzdHJlYW0ucHVzaChudWxsKTtcbn0iLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gQSBiaXQgc2ltcGxlciB0aGFuIHJlYWRhYmxlIHN0cmVhbXMuXG4vLyBJbXBsZW1lbnQgYW4gYXN5bmMgLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKSwgYW5kIGl0J2xsIGhhbmRsZSBhbGxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxuXG4ndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XG5cbi8qIDxyZXBsYWNlbWVudD4gKi9cbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgdGhpcy5jaHVuayA9IGNodW5rO1xuICB0aGlzLmVuY29kaW5nID0gZW5jb2Rpbmc7XG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcbiAgdGhpcy5uZXh0ID0gbnVsbDtcbn1cblxuLy8gSXQgc2VlbXMgYSBsaW5rZWQgbGlzdCBidXQgaXQgaXMgbm90XG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cbmZ1bmN0aW9uIENvcmtlZFJlcXVlc3Qoc3RhdGUpIHtcbiAgdmFyIF90aGlzID0gdGhpcztcblxuICB0aGlzLm5leHQgPSBudWxsO1xuICB0aGlzLmVudHJ5ID0gbnVsbDtcbiAgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgb25Db3JrZWRGaW5pc2goX3RoaXMsIHN0YXRlKTtcbiAgfTtcbn1cbi8qIDwvcmVwbGFjZW1lbnQ+ICovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgYXN5bmNXcml0ZSA9ICFwcm9jZXNzLmJyb3dzZXIgJiYgWyd2MC4xMCcsICd2MC45LiddLmluZGV4T2YocHJvY2Vzcy52ZXJzaW9uLnNsaWNlKDAsIDUpKSA+IC0xID8gc2V0SW1tZWRpYXRlIDogcG5hLm5leHRUaWNrO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgRHVwbGV4O1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbldyaXRhYmxlLldyaXRhYmxlU3RhdGUgPSBXcml0YWJsZVN0YXRlO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIHV0aWwgPSBPYmplY3QuY3JlYXRlKHJlcXVpcmUoJ2NvcmUtdXRpbC1pcycpKTtcbnV0aWwuaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8qPHJlcGxhY2VtZW50PiovXG52YXIgaW50ZXJuYWxVdGlsID0ge1xuICBkZXByZWNhdGU6IHJlcXVpcmUoJ3V0aWwtZGVwcmVjYXRlJylcbn07XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBTdHJlYW0gPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtJyk7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxuLyo8cmVwbGFjZW1lbnQ+Ki9cblxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyO1xudmFyIE91clVpbnQ4QXJyYXkgPSBnbG9iYWwuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcbmZ1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcbn1cbmZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkob2JqKSB7XG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xufVxuXG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIGRlc3Ryb3lJbXBsID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3knKTtcblxudXRpbC5pbmhlcml0cyhXcml0YWJsZSwgU3RyZWFtKTtcblxuZnVuY3Rpb24gbm9wKCkge31cblxuZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShvcHRpb25zLCBzdHJlYW0pIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuICAvLyBEdXBsZXggc3RyZWFtcyBhcmUgYm90aCByZWFkYWJsZSBhbmQgd3JpdGFibGUsIGJ1dCBzaGFyZVxuICAvLyB0aGUgc2FtZSBvcHRpb25zIG9iamVjdC5cbiAgLy8gSG93ZXZlciwgc29tZSBjYXNlcyByZXF1aXJlIHNldHRpbmcgb3B0aW9ucyB0byBkaWZmZXJlbnRcbiAgLy8gdmFsdWVzIGZvciB0aGUgcmVhZGFibGUgYW5kIHRoZSB3cml0YWJsZSBzaWRlcyBvZiB0aGUgZHVwbGV4IHN0cmVhbS5cbiAgLy8gVGhlc2Ugb3B0aW9ucyBjYW4gYmUgcHJvdmlkZWQgc2VwYXJhdGVseSBhcyByZWFkYWJsZVhYWCBhbmQgd3JpdGFibGVYWFguXG4gIHZhciBpc0R1cGxleCA9IHN0cmVhbSBpbnN0YW5jZW9mIER1cGxleDtcblxuICAvLyBvYmplY3Qgc3RyZWFtIGZsYWcgdG8gaW5kaWNhdGUgd2hldGhlciBvciBub3QgdGhpcyBzdHJlYW1cbiAgLy8gY29udGFpbnMgYnVmZmVycyBvciBvYmplY3RzLlxuICB0aGlzLm9iamVjdE1vZGUgPSAhIW9wdGlvbnMub2JqZWN0TW9kZTtcblxuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMud3JpdGFibGVPYmplY3RNb2RlO1xuXG4gIC8vIHRoZSBwb2ludCBhdCB3aGljaCB3cml0ZSgpIHN0YXJ0cyByZXR1cm5pbmcgZmFsc2VcbiAgLy8gTm90ZTogMCBpcyBhIHZhbGlkIHZhbHVlLCBtZWFucyB0aGF0IHdlIGFsd2F5cyByZXR1cm4gZmFsc2UgaWZcbiAgLy8gdGhlIGVudGlyZSBidWZmZXIgaXMgbm90IGZsdXNoZWQgaW1tZWRpYXRlbHkgb24gd3JpdGUoKVxuICB2YXIgaHdtID0gb3B0aW9ucy5oaWdoV2F0ZXJNYXJrO1xuICB2YXIgd3JpdGFibGVId20gPSBvcHRpb25zLndyaXRhYmxlSGlnaFdhdGVyTWFyaztcbiAgdmFyIGRlZmF1bHRId20gPSB0aGlzLm9iamVjdE1vZGUgPyAxNiA6IDE2ICogMTAyNDtcblxuICBpZiAoaHdtIHx8IGh3bSA9PT0gMCkgdGhpcy5oaWdoV2F0ZXJNYXJrID0gaHdtO2Vsc2UgaWYgKGlzRHVwbGV4ICYmICh3cml0YWJsZUh3bSB8fCB3cml0YWJsZUh3bSA9PT0gMCkpIHRoaXMuaGlnaFdhdGVyTWFyayA9IHdyaXRhYmxlSHdtO2Vsc2UgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZGVmYXVsdEh3bTtcblxuICAvLyBjYXN0IHRvIGludHMuXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IE1hdGguZmxvb3IodGhpcy5oaWdoV2F0ZXJNYXJrKTtcblxuICAvLyBpZiBfZmluYWwgaGFzIGJlZW4gY2FsbGVkXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTtcblxuICAvLyBkcmFpbiBldmVudCBmbGFnLlxuICB0aGlzLm5lZWREcmFpbiA9IGZhbHNlO1xuICAvLyBhdCB0aGUgc3RhcnQgb2YgY2FsbGluZyBlbmQoKVxuICB0aGlzLmVuZGluZyA9IGZhbHNlO1xuICAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXG4gIHRoaXMuZW5kZWQgPSBmYWxzZTtcbiAgLy8gd2hlbiAnZmluaXNoJyBpcyBlbWl0dGVkXG4gIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcblxuICAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAvLyBzaG91bGQgd2UgZGVjb2RlIHN0cmluZ3MgaW50byBidWZmZXJzIGJlZm9yZSBwYXNzaW5nIHRvIF93cml0ZT9cbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXG4gIC8vIGhhbmRsaW5nIGF0IGEgbG93ZXIgbGV2ZWwuXG4gIHZhciBub0RlY29kZSA9IG9wdGlvbnMuZGVjb2RlU3RyaW5ncyA9PT0gZmFsc2U7XG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTtcblxuICAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXG4gIC8vIGVuY29kaW5nIGlzICdiaW5hcnknIHNvIHdlIGhhdmUgdG8gbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZS5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JztcblxuICAvLyBub3QgYW4gYWN0dWFsIGJ1ZmZlciB3ZSBrZWVwIHRyYWNrIG9mLCBidXQgYSBtZWFzdXJlbWVudFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXG4gIC8vIHNvY2tldCBvciBmaWxlLlxuICB0aGlzLmxlbmd0aCA9IDA7XG5cbiAgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cbiAgdGhpcy53cml0aW5nID0gZmFsc2U7XG5cbiAgLy8gd2hlbiB0cnVlIGFsbCB3cml0ZXMgd2lsbCBiZSBidWZmZXJlZCB1bnRpbCAudW5jb3JrKCkgY2FsbFxuICB0aGlzLmNvcmtlZCA9IDA7XG5cbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgb253cml0ZSBjYiBpcyBjYWxsZWQgaW1tZWRpYXRlbHksXG4gIC8vIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2UgYW55XG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFwibGF0ZXJcIiBzaG91bGQgZ2VuZXJhbGx5IGFsc29cbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHdyaXRlIGNhbGwuXG4gIHRoaXMuc3luYyA9IHRydWU7XG5cbiAgLy8gYSBmbGFnIHRvIGtub3cgaWYgd2UncmUgcHJvY2Vzc2luZyBwcmV2aW91c2x5IGJ1ZmZlcmVkIGl0ZW1zLCB3aGljaFxuICAvLyBtYXkgY2FsbCB0aGUgX3dyaXRlKCkgY2FsbGJhY2sgaW4gdGhlIHNhbWUgdGljaywgc28gdGhhdCB3ZSBkb24ndFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cbiAgdGhpcy5idWZmZXJQcm9jZXNzaW5nID0gZmFsc2U7XG5cbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQncyBwYXNzZWQgdG8gX3dyaXRlKGNodW5rLGNiKVxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcbiAgICBvbndyaXRlKHN0cmVhbSwgZXIpO1xuICB9O1xuXG4gIC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxuICB0aGlzLndyaXRlY2IgPSBudWxsO1xuXG4gIC8vIHRoZSBhbW91bnQgdGhhdCBpcyBiZWluZyB3cml0dGVuIHdoZW4gX3dyaXRlIGlzIGNhbGxlZC5cbiAgdGhpcy53cml0ZWxlbiA9IDA7XG5cbiAgdGhpcy5idWZmZXJlZFJlcXVlc3QgPSBudWxsO1xuICB0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsO1xuXG4gIC8vIG51bWJlciBvZiBwZW5kaW5nIHVzZXItc3VwcGxpZWQgd3JpdGUgY2FsbGJhY2tzXG4gIC8vIHRoaXMgbXVzdCBiZSAwIGJlZm9yZSAnZmluaXNoJyBjYW4gYmUgZW1pdHRlZFxuICB0aGlzLnBlbmRpbmdjYiA9IDA7XG5cbiAgLy8gZW1pdCBwcmVmaW5pc2ggaWYgdGhlIG9ubHkgdGhpbmcgd2UncmUgd2FpdGluZyBmb3IgaXMgX3dyaXRlIGNic1xuICAvLyBUaGlzIGlzIHJlbGV2YW50IGZvciBzeW5jaHJvbm91cyBUcmFuc2Zvcm0gc3RyZWFtc1xuICB0aGlzLnByZWZpbmlzaGVkID0gZmFsc2U7XG5cbiAgLy8gVHJ1ZSBpZiB0aGUgZXJyb3Igd2FzIGFscmVhZHkgZW1pdHRlZCBhbmQgc2hvdWxkIG5vdCBiZSB0aHJvd24gYWdhaW5cbiAgdGhpcy5lcnJvckVtaXR0ZWQgPSBmYWxzZTtcblxuICAvLyBjb3VudCBidWZmZXJlZCByZXF1ZXN0c1xuICB0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMDtcblxuICAvLyBhbGxvY2F0ZSB0aGUgZmlyc3QgQ29ya2VkUmVxdWVzdCwgdGhlcmUgaXMgYWx3YXlzXG4gIC8vIG9uZSBhbGxvY2F0ZWQgYW5kIGZyZWUgdG8gdXNlLCBhbmQgd2UgbWFpbnRhaW4gYXQgbW9zdCB0d29cbiAgdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdCh0aGlzKTtcbn1cblxuV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUuZ2V0QnVmZmVyID0gZnVuY3Rpb24gZ2V0QnVmZmVyKCkge1xuICB2YXIgY3VycmVudCA9IHRoaXMuYnVmZmVyZWRSZXF1ZXN0O1xuICB2YXIgb3V0ID0gW107XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgb3V0LnB1c2goY3VycmVudCk7XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gb3V0O1xufTtcblxuKGZ1bmN0aW9uICgpIHtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsICdidWZmZXInLCB7XG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRCdWZmZXIoKTtcbiAgICAgIH0sICdfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciAnICsgJ2luc3RlYWQuJywgJ0RFUDAwMDMnKVxuICAgIH0pO1xuICB9IGNhdGNoIChfKSB7fVxufSkoKTtcblxuLy8gVGVzdCBfd3JpdGFibGVTdGF0ZSBmb3IgaW5oZXJpdGFuY2UgdG8gYWNjb3VudCBmb3IgRHVwbGV4IHN0cmVhbXMsXG4vLyB3aG9zZSBwcm90b3R5cGUgY2hhaW4gb25seSBwb2ludHMgdG8gUmVhZGFibGUuXG52YXIgcmVhbEhhc0luc3RhbmNlO1xuaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmhhc0luc3RhbmNlICYmIHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSA9PT0gJ2Z1bmN0aW9uJykge1xuICByZWFsSGFzSW5zdGFuY2UgPSBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLCBTeW1ib2wuaGFzSW5zdGFuY2UsIHtcbiAgICB2YWx1ZTogZnVuY3Rpb24gKG9iamVjdCkge1xuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKHRoaXMgIT09IFdyaXRhYmxlKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIHJldHVybiBvYmplY3QgJiYgb2JqZWN0Ll93cml0YWJsZVN0YXRlIGluc3RhbmNlb2YgV3JpdGFibGVTdGF0ZTtcbiAgICB9XG4gIH0pO1xufSBlbHNlIHtcbiAgcmVhbEhhc0luc3RhbmNlID0gZnVuY3Rpb24gKG9iamVjdCkge1xuICAgIHJldHVybiBvYmplY3QgaW5zdGFuY2VvZiB0aGlzO1xuICB9O1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZShvcHRpb25zKSB7XG4gIER1cGxleCA9IER1cGxleCB8fCByZXF1aXJlKCcuL19zdHJlYW1fZHVwbGV4Jyk7XG5cbiAgLy8gV3JpdGFibGUgY3RvciBpcyBhcHBsaWVkIHRvIER1cGxleGVzLCB0b28uXG4gIC8vIGByZWFsSGFzSW5zdGFuY2VgIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHVzaW5nIHBsYWluIGBpbnN0YW5jZW9mYFxuICAvLyB3b3VsZCByZXR1cm4gZmFsc2UsIGFzIG5vIGBfd3JpdGFibGVTdGF0ZWAgcHJvcGVydHkgaXMgYXR0YWNoZWQuXG5cbiAgLy8gVHJ5aW5nIHRvIHVzZSB0aGUgY3VzdG9tIGBpbnN0YW5jZW9mYCBmb3IgV3JpdGFibGUgaGVyZSB3aWxsIGFsc28gYnJlYWsgdGhlXG4gIC8vIE5vZGUuanMgTGF6eVRyYW5zZm9ybSBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaGFzIGEgbm9uLXRyaXZpYWwgZ2V0dGVyIGZvclxuICAvLyBgX3dyaXRhYmxlU3RhdGVgIHRoYXQgd291bGQgbGVhZCB0byBpbmZpbml0ZSByZWN1cnNpb24uXG4gIGlmICghcmVhbEhhc0luc3RhbmNlLmNhbGwoV3JpdGFibGUsIHRoaXMpICYmICEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpIHtcbiAgICByZXR1cm4gbmV3IFdyaXRhYmxlKG9wdGlvbnMpO1xuICB9XG5cbiAgdGhpcy5fd3JpdGFibGVTdGF0ZSA9IG5ldyBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHRoaXMpO1xuXG4gIC8vIGxlZ2FjeS5cbiAgdGhpcy53cml0YWJsZSA9IHRydWU7XG5cbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcblxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy53cml0ZXYgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRldiA9IG9wdGlvbnMud3JpdGV2O1xuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zLmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIHRoaXMuX2Rlc3Ryb3kgPSBvcHRpb25zLmRlc3Ryb3k7XG5cbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcbiAgfVxuXG4gIFN0cmVhbS5jYWxsKHRoaXMpO1xufVxuXG4vLyBPdGhlcndpc2UgcGVvcGxlIGNhbiBwaXBlIFdyaXRhYmxlIHN0cmVhbXMsIHdoaWNoIGlzIGp1c3Qgd3JvbmcuXG5Xcml0YWJsZS5wcm90b3R5cGUucGlwZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5lbWl0KCdlcnJvcicsIG5ldyBFcnJvcignQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZScpKTtcbn07XG5cbmZ1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoc3RyZWFtLCBjYikge1xuICB2YXIgZXIgPSBuZXcgRXJyb3IoJ3dyaXRlIGFmdGVyIGVuZCcpO1xuICAvLyBUT0RPOiBkZWZlciBlcnJvciBldmVudHMgY29uc2lzdGVudGx5IGV2ZXJ5d2hlcmUsIG5vdCBqdXN0IHRoZSBjYlxuICBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XG4gIHBuYS5uZXh0VGljayhjYiwgZXIpO1xufVxuXG4vLyBDaGVja3MgdGhhdCBhIHVzZXItc3VwcGxpZWQgY2h1bmsgaXMgdmFsaWQsIGVzcGVjaWFsbHkgZm9yIHRoZSBwYXJ0aWN1bGFyXG4vLyBtb2RlIHRoZSBzdHJlYW0gaXMgaW4uIEN1cnJlbnRseSB0aGlzIG1lYW5zIHRoYXQgYG51bGxgIGlzIG5ldmVyIGFjY2VwdGVkXG4vLyBhbmQgdW5kZWZpbmVkL25vbi1zdHJpbmcgdmFsdWVzIGFyZSBvbmx5IGFsbG93ZWQgaW4gb2JqZWN0IG1vZGUuXG5mdW5jdGlvbiB2YWxpZENodW5rKHN0cmVhbSwgc3RhdGUsIGNodW5rLCBjYikge1xuICB2YXIgdmFsaWQgPSB0cnVlO1xuICB2YXIgZXIgPSBmYWxzZTtcblxuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcbiAgICBlciA9IG5ldyBUeXBlRXJyb3IoJ01heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtJyk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiBjaHVuayAhPT0gdW5kZWZpbmVkICYmICFzdGF0ZS5vYmplY3RNb2RlKSB7XG4gICAgZXIgPSBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rJyk7XG4gIH1cbiAgaWYgKGVyKSB7XG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICAgIHBuYS5uZXh0VGljayhjYiwgZXIpO1xuICAgIHZhbGlkID0gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHZhbGlkO1xufVxuXG5Xcml0YWJsZS5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuICB2YXIgcmV0ID0gZmFsc2U7XG4gIHZhciBpc0J1ZiA9ICFzdGF0ZS5vYmplY3RNb2RlICYmIF9pc1VpbnQ4QXJyYXkoY2h1bmspO1xuXG4gIGlmIChpc0J1ZiAmJiAhQnVmZmVyLmlzQnVmZmVyKGNodW5rKSkge1xuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XG4gIH1cblxuICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBlbmNvZGluZztcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoaXNCdWYpIGVuY29kaW5nID0gJ2J1ZmZlcic7ZWxzZSBpZiAoIWVuY29kaW5nKSBlbmNvZGluZyA9IHN0YXRlLmRlZmF1bHRFbmNvZGluZztcblxuICBpZiAodHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSBjYiA9IG5vcDtcblxuICBpZiAoc3RhdGUuZW5kZWQpIHdyaXRlQWZ0ZXJFbmQodGhpcywgY2IpO2Vsc2UgaWYgKGlzQnVmIHx8IHZhbGlkQ2h1bmsodGhpcywgc3RhdGUsIGNodW5rLCBjYikpIHtcbiAgICBzdGF0ZS5wZW5kaW5nY2IrKztcbiAgICByZXQgPSB3cml0ZU9yQnVmZmVyKHRoaXMsIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gIH1cblxuICByZXR1cm4gcmV0O1xufTtcblxuV3JpdGFibGUucHJvdG90eXBlLmNvcmsgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XG5cbiAgc3RhdGUuY29ya2VkKys7XG59O1xuXG5Xcml0YWJsZS5wcm90b3R5cGUudW5jb3JrID0gZnVuY3Rpb24gKCkge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuXG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcbiAgICBzdGF0ZS5jb3JrZWQtLTtcblxuICAgIGlmICghc3RhdGUud3JpdGluZyAmJiAhc3RhdGUuY29ya2VkICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcbiAgfVxufTtcblxuV3JpdGFibGUucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZyA9IGZ1bmN0aW9uIHNldERlZmF1bHRFbmNvZGluZyhlbmNvZGluZykge1xuICAvLyBub2RlOjpQYXJzZUVuY29kaW5nKCkgcmVxdWlyZXMgbG93ZXIgY2FzZS5cbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIGVuY29kaW5nID0gZW5jb2RpbmcudG9Mb3dlckNhc2UoKTtcbiAgaWYgKCEoWydoZXgnLCAndXRmOCcsICd1dGYtOCcsICdhc2NpaScsICdiaW5hcnknLCAnYmFzZTY0JywgJ3VjczInLCAndWNzLTInLCAndXRmMTZsZScsICd1dGYtMTZsZScsICdyYXcnXS5pbmRleE9mKChlbmNvZGluZyArICcnKS50b0xvd2VyQ2FzZSgpKSA+IC0xKSkgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBlbmNvZGluZzogJyArIGVuY29kaW5nKTtcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2RpbmcgPSBlbmNvZGluZztcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5mdW5jdGlvbiBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKSB7XG4gIGlmICghc3RhdGUub2JqZWN0TW9kZSAmJiBzdGF0ZS5kZWNvZGVTdHJpbmdzICE9PSBmYWxzZSAmJiB0eXBlb2YgY2h1bmsgPT09ICdzdHJpbmcnKSB7XG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xuICB9XG4gIHJldHVybiBjaHVuaztcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ3dyaXRhYmxlSGlnaFdhdGVyTWFyaycsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFyaztcbiAgfVxufSk7XG5cbi8vIGlmIHdlJ3JlIGFscmVhZHkgd3JpdGluZyBzb21ldGhpbmcsIHRoZW4ganVzdCBwdXQgdGhpc1xuLy8gaW4gdGhlIHF1ZXVlLCBhbmQgd2FpdCBvdXIgdHVybi4gIE90aGVyd2lzZSwgY2FsbCBfd3JpdGVcbi8vIElmIHdlIHJldHVybiBmYWxzZSwgdGhlbiB3ZSBuZWVkIGEgZHJhaW4gZXZlbnQsIHNvIHNldCB0aGF0IGZsYWcuXG5mdW5jdGlvbiB3cml0ZU9yQnVmZmVyKHN0cmVhbSwgc3RhdGUsIGlzQnVmLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIGlmICghaXNCdWYpIHtcbiAgICB2YXIgbmV3Q2h1bmsgPSBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKTtcbiAgICBpZiAoY2h1bmsgIT09IG5ld0NodW5rKSB7XG4gICAgICBpc0J1ZiA9IHRydWU7XG4gICAgICBlbmNvZGluZyA9ICdidWZmZXInO1xuICAgICAgY2h1bmsgPSBuZXdDaHVuaztcbiAgICB9XG4gIH1cbiAgdmFyIGxlbiA9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuXG4gIHN0YXRlLmxlbmd0aCArPSBsZW47XG5cbiAgdmFyIHJldCA9IHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIC8vIHdlIG11c3QgZW5zdXJlIHRoYXQgcHJldmlvdXMgbmVlZERyYWluIHdpbGwgbm90IGJlIHJlc2V0IHRvIGZhbHNlLlxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcblxuICBpZiAoc3RhdGUud3JpdGluZyB8fCBzdGF0ZS5jb3JrZWQpIHtcbiAgICB2YXIgbGFzdCA9IHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3Q7XG4gICAgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IHtcbiAgICAgIGNodW5rOiBjaHVuayxcbiAgICAgIGVuY29kaW5nOiBlbmNvZGluZyxcbiAgICAgIGlzQnVmOiBpc0J1ZixcbiAgICAgIGNhbGxiYWNrOiBjYixcbiAgICAgIG5leHQ6IG51bGxcbiAgICB9O1xuICAgIGlmIChsYXN0KSB7XG4gICAgICBsYXN0Lm5leHQgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIH1cbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xuICB9IGVsc2Uge1xuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gIH1cblxuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHN0YXRlLndyaXRlbGVuID0gbGVuO1xuICBzdGF0ZS53cml0ZWNiID0gY2I7XG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xuICBzdGF0ZS5zeW5jID0gdHJ1ZTtcbiAgaWYgKHdyaXRldikgc3RyZWFtLl93cml0ZXYoY2h1bmssIHN0YXRlLm9ud3JpdGUpO2Vsc2Ugc3RyZWFtLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIHN0YXRlLm9ud3JpdGUpO1xuICBzdGF0ZS5zeW5jID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpIHtcbiAgLS1zdGF0ZS5wZW5kaW5nY2I7XG5cbiAgaWYgKHN5bmMpIHtcbiAgICAvLyBkZWZlciB0aGUgY2FsbGJhY2sgaWYgd2UgYXJlIGJlaW5nIGNhbGxlZCBzeW5jaHJvbm91c2x5XG4gICAgLy8gdG8gYXZvaWQgcGlsaW5nIHVwIHRoaW5ncyBvbiB0aGUgc3RhY2tcbiAgICBwbmEubmV4dFRpY2soY2IsIGVyKTtcbiAgICAvLyB0aGlzIGNhbiBlbWl0IGZpbmlzaCwgYW5kIGl0IHdpbGwgYWx3YXlzIGhhcHBlblxuICAgIC8vIGFmdGVyIGVycm9yXG4gICAgcG5hLm5leHRUaWNrKGZpbmlzaE1heWJlLCBzdHJlYW0sIHN0YXRlKTtcbiAgICBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcbiAgICBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XG4gIH0gZWxzZSB7XG4gICAgLy8gdGhlIGNhbGxlciBleHBlY3QgdGhpcyB0byBoYXBwZW4gYmVmb3JlIGlmXG4gICAgLy8gaXQgaXMgYXN5bmNcbiAgICBjYihlcik7XG4gICAgc3RyZWFtLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XG4gICAgc3RyZWFtLmVtaXQoJ2Vycm9yJywgZXIpO1xuICAgIC8vIHRoaXMgY2FuIGVtaXQgZmluaXNoLCBidXQgZmluaXNoIG11c3RcbiAgICAvLyBhbHdheXMgZm9sbG93IGVycm9yXG4gICAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XG4gIHN0YXRlLndyaXRpbmcgPSBmYWxzZTtcbiAgc3RhdGUud3JpdGVjYiA9IG51bGw7XG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcbiAgc3RhdGUud3JpdGVsZW4gPSAwO1xufVxuXG5mdW5jdGlvbiBvbndyaXRlKHN0cmVhbSwgZXIpIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl93cml0YWJsZVN0YXRlO1xuICB2YXIgc3luYyA9IHN0YXRlLnN5bmM7XG4gIHZhciBjYiA9IHN0YXRlLndyaXRlY2I7XG5cbiAgb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKTtcblxuICBpZiAoZXIpIG9ud3JpdGVFcnJvcihzdHJlYW0sIHN0YXRlLCBzeW5jLCBlciwgY2IpO2Vsc2Uge1xuICAgIC8vIENoZWNrIGlmIHdlJ3JlIGFjdHVhbGx5IHJlYWR5IHRvIGZpbmlzaCwgYnV0IGRvbid0IGVtaXQgeWV0XG4gICAgdmFyIGZpbmlzaGVkID0gbmVlZEZpbmlzaChzdGF0ZSk7XG5cbiAgICBpZiAoIWZpbmlzaGVkICYmICFzdGF0ZS5jb3JrZWQgJiYgIXN0YXRlLmJ1ZmZlclByb2Nlc3NpbmcgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0KSB7XG4gICAgICBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKTtcbiAgICB9XG5cbiAgICBpZiAoc3luYykge1xuICAgICAgLyo8cmVwbGFjZW1lbnQ+Ki9cbiAgICAgIGFzeW5jV3JpdGUoYWZ0ZXJXcml0ZSwgc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKTtcbiAgICAgIC8qPC9yZXBsYWNlbWVudD4qL1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFmdGVyV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmluaXNoZWQsIGNiKSB7XG4gIGlmICghZmluaXNoZWQpIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKTtcbiAgc3RhdGUucGVuZGluZ2NiLS07XG4gIGNiKCk7XG4gIGZpbmlzaE1heWJlKHN0cmVhbSwgc3RhdGUpO1xufVxuXG4vLyBNdXN0IGZvcmNlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCBvbiBuZXh0VGljaywgc28gdGhhdCB3ZSBkb24ndFxuLy8gZW1pdCAnZHJhaW4nIGJlZm9yZSB0aGUgd3JpdGUoKSBjb25zdW1lciBnZXRzIHRoZSAnZmFsc2UnIHJldHVyblxuLy8gdmFsdWUsIGFuZCBoYXMgYSBjaGFuY2UgdG8gYXR0YWNoIGEgJ2RyYWluJyBsaXN0ZW5lci5cbmZ1bmN0aW9uIG9ud3JpdGVEcmFpbihzdHJlYW0sIHN0YXRlKSB7XG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUubmVlZERyYWluKSB7XG4gICAgc3RhdGUubmVlZERyYWluID0gZmFsc2U7XG4gICAgc3RyZWFtLmVtaXQoJ2RyYWluJyk7XG4gIH1cbn1cblxuLy8gaWYgdGhlcmUncyBzb21ldGhpbmcgaW4gdGhlIGJ1ZmZlciB3YWl0aW5nLCB0aGVuIHByb2Nlc3MgaXRcbmZ1bmN0aW9uIGNsZWFyQnVmZmVyKHN0cmVhbSwgc3RhdGUpIHtcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IHRydWU7XG4gIHZhciBlbnRyeSA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdDtcblxuICBpZiAoc3RyZWFtLl93cml0ZXYgJiYgZW50cnkgJiYgZW50cnkubmV4dCkge1xuICAgIC8vIEZhc3QgY2FzZSwgd3JpdGUgZXZlcnl0aGluZyB1c2luZyBfd3JpdGV2KClcbiAgICB2YXIgbCA9IHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdENvdW50O1xuICAgIHZhciBidWZmZXIgPSBuZXcgQXJyYXkobCk7XG4gICAgdmFyIGhvbGRlciA9IHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZTtcbiAgICBob2xkZXIuZW50cnkgPSBlbnRyeTtcblxuICAgIHZhciBjb3VudCA9IDA7XG4gICAgdmFyIGFsbEJ1ZmZlcnMgPSB0cnVlO1xuICAgIHdoaWxlIChlbnRyeSkge1xuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xuICAgICAgaWYgKCFlbnRyeS5pc0J1ZikgYWxsQnVmZmVycyA9IGZhbHNlO1xuICAgICAgZW50cnkgPSBlbnRyeS5uZXh0O1xuICAgICAgY291bnQgKz0gMTtcbiAgICB9XG4gICAgYnVmZmVyLmFsbEJ1ZmZlcnMgPSBhbGxCdWZmZXJzO1xuXG4gICAgZG9Xcml0ZShzdHJlYW0sIHN0YXRlLCB0cnVlLCBzdGF0ZS5sZW5ndGgsIGJ1ZmZlciwgJycsIGhvbGRlci5maW5pc2gpO1xuXG4gICAgLy8gZG9Xcml0ZSBpcyBhbG1vc3QgYWx3YXlzIGFzeW5jLCBkZWZlciB0aGVzZSB0byBzYXZlIGEgYml0IG9mIHRpbWVcbiAgICAvLyBhcyB0aGUgaG90IHBhdGggZW5kcyB3aXRoIGRvV3JpdGVcbiAgICBzdGF0ZS5wZW5kaW5nY2IrKztcbiAgICBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcbiAgICBpZiAoaG9sZGVyLm5leHQpIHtcbiAgICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGhvbGRlci5uZXh0O1xuICAgICAgaG9sZGVyLm5leHQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgQ29ya2VkUmVxdWVzdChzdGF0ZSk7XG4gICAgfVxuICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMDtcbiAgfSBlbHNlIHtcbiAgICAvLyBTbG93IGNhc2UsIHdyaXRlIGNodW5rcyBvbmUtYnktb25lXG4gICAgd2hpbGUgKGVudHJ5KSB7XG4gICAgICB2YXIgY2h1bmsgPSBlbnRyeS5jaHVuaztcbiAgICAgIHZhciBlbmNvZGluZyA9IGVudHJ5LmVuY29kaW5nO1xuICAgICAgdmFyIGNiID0gZW50cnkuY2FsbGJhY2s7XG4gICAgICB2YXIgbGVuID0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XG5cbiAgICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgZmFsc2UsIGxlbiwgY2h1bmssIGVuY29kaW5nLCBjYik7XG4gICAgICBlbnRyeSA9IGVudHJ5Lm5leHQ7XG4gICAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tO1xuICAgICAgLy8gaWYgd2UgZGlkbid0IGNhbGwgdGhlIG9ud3JpdGUgaW1tZWRpYXRlbHksIHRoZW5cbiAgICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byB3YWl0IHVudGlsIGl0IGRvZXMuXG4gICAgICAvLyBhbHNvLCB0aGF0IG1lYW5zIHRoYXQgdGhlIGNodW5rIGFuZCBjYiBhcmUgY3VycmVudGx5XG4gICAgICAvLyBiZWluZyBwcm9jZXNzZWQsIHNvIG1vdmUgdGhlIGJ1ZmZlciBjb3VudGVyIHBhc3QgdGhlbS5cbiAgICAgIGlmIChzdGF0ZS53cml0aW5nKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlbnRyeSA9PT0gbnVsbCkgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XG4gIH1cblxuICBzdGF0ZS5idWZmZXJlZFJlcXVlc3QgPSBlbnRyeTtcbiAgc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyA9IGZhbHNlO1xufVxuXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgY2IobmV3IEVycm9yKCdfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQnKSk7XG59O1xuXG5Xcml0YWJsZS5wcm90b3R5cGUuX3dyaXRldiA9IG51bGw7XG5cbldyaXRhYmxlLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuXG4gIGlmICh0eXBlb2YgY2h1bmsgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IGNodW5rO1xuICAgIGNodW5rID0gbnVsbDtcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBlbmNvZGluZztcbiAgICBlbmNvZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoY2h1bmsgIT09IG51bGwgJiYgY2h1bmsgIT09IHVuZGVmaW5lZCkgdGhpcy53cml0ZShjaHVuaywgZW5jb2RpbmcpO1xuXG4gIC8vIC5lbmQoKSBmdWxseSB1bmNvcmtzXG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcbiAgICBzdGF0ZS5jb3JrZWQgPSAxO1xuICAgIHRoaXMudW5jb3JrKCk7XG4gIH1cblxuICAvLyBpZ25vcmUgdW5uZWNlc3NhcnkgZW5kKCkgY2FsbHMuXG4gIGlmICghc3RhdGUuZW5kaW5nICYmICFzdGF0ZS5maW5pc2hlZCkgZW5kV3JpdGFibGUodGhpcywgc3RhdGUsIGNiKTtcbn07XG5cbmZ1bmN0aW9uIG5lZWRGaW5pc2goc3RhdGUpIHtcbiAgcmV0dXJuIHN0YXRlLmVuZGluZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID09PSBudWxsICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUud3JpdGluZztcbn1cbmZ1bmN0aW9uIGNhbGxGaW5hbChzdHJlYW0sIHN0YXRlKSB7XG4gIHN0cmVhbS5fZmluYWwoZnVuY3Rpb24gKGVycikge1xuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xuICAgIGlmIChlcnIpIHtcbiAgICAgIHN0cmVhbS5lbWl0KCdlcnJvcicsIGVycik7XG4gICAgfVxuICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcbiAgICBzdHJlYW0uZW1pdCgncHJlZmluaXNoJyk7XG4gICAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XG4gIH0pO1xufVxuZnVuY3Rpb24gcHJlZmluaXNoKHN0cmVhbSwgc3RhdGUpIHtcbiAgaWYgKCFzdGF0ZS5wcmVmaW5pc2hlZCAmJiAhc3RhdGUuZmluYWxDYWxsZWQpIHtcbiAgICBpZiAodHlwZW9mIHN0cmVhbS5fZmluYWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHN0YXRlLnBlbmRpbmdjYisrO1xuICAgICAgc3RhdGUuZmluYWxDYWxsZWQgPSB0cnVlO1xuICAgICAgcG5hLm5leHRUaWNrKGNhbGxGaW5hbCwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLnByZWZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgIHN0cmVhbS5lbWl0KCdwcmVmaW5pc2gnKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xuICB2YXIgbmVlZCA9IG5lZWRGaW5pc2goc3RhdGUpO1xuICBpZiAobmVlZCkge1xuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcbiAgICBpZiAoc3RhdGUucGVuZGluZ2NiID09PSAwKSB7XG4gICAgICBzdGF0ZS5maW5pc2hlZCA9IHRydWU7XG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XG4gICAgfVxuICB9XG4gIHJldHVybiBuZWVkO1xufVxuXG5mdW5jdGlvbiBlbmRXcml0YWJsZShzdHJlYW0sIHN0YXRlLCBjYikge1xuICBzdGF0ZS5lbmRpbmcgPSB0cnVlO1xuICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcbiAgaWYgKGNiKSB7XG4gICAgaWYgKHN0YXRlLmZpbmlzaGVkKSBwbmEubmV4dFRpY2soY2IpO2Vsc2Ugc3RyZWFtLm9uY2UoJ2ZpbmlzaCcsIGNiKTtcbiAgfVxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XG4gIHN0cmVhbS53cml0YWJsZSA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChjb3JrUmVxLCBzdGF0ZSwgZXJyKSB7XG4gIHZhciBlbnRyeSA9IGNvcmtSZXEuZW50cnk7XG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xuICB3aGlsZSAoZW50cnkpIHtcbiAgICB2YXIgY2IgPSBlbnRyeS5jYWxsYmFjaztcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcbiAgICBjYihlcnIpO1xuICAgIGVudHJ5ID0gZW50cnkubmV4dDtcbiAgfVxuICBpZiAoc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlKSB7XG4gICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQgPSBjb3JrUmVxO1xuICB9IGVsc2Uge1xuICAgIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IGNvcmtSZXE7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSwgJ2Rlc3Ryb3llZCcsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxuICAgIGlmICghdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHlcbiAgICAvLyBtYW5hZ2luZyBkZXN0cm95ZWRcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IHZhbHVlO1xuICB9XG59KTtcblxuV3JpdGFibGUucHJvdG90eXBlLmRlc3Ryb3kgPSBkZXN0cm95SW1wbC5kZXN0cm95O1xuV3JpdGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3kgPSBkZXN0cm95SW1wbC51bmRlc3Ryb3k7XG5Xcml0YWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiAoZXJyLCBjYikge1xuICB0aGlzLmVuZCgpO1xuICBjYihlcnIpO1xufTsiLCIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlcjtcbnZhciB1dGlsID0gcmVxdWlyZSgndXRpbCcpO1xuXG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcbiAgc3JjLmNvcHkodGFyZ2V0LCBvZmZzZXQpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gQnVmZmVyTGlzdCgpIHtcbiAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgQnVmZmVyTGlzdCk7XG5cbiAgICB0aGlzLmhlYWQgPSBudWxsO1xuICAgIHRoaXMudGFpbCA9IG51bGw7XG4gICAgdGhpcy5sZW5ndGggPSAwO1xuICB9XG5cbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIHB1c2godikge1xuICAgIHZhciBlbnRyeSA9IHsgZGF0YTogdiwgbmV4dDogbnVsbCB9O1xuICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHRoaXMudGFpbC5uZXh0ID0gZW50cnk7ZWxzZSB0aGlzLmhlYWQgPSBlbnRyeTtcbiAgICB0aGlzLnRhaWwgPSBlbnRyeTtcbiAgICArK3RoaXMubGVuZ3RoO1xuICB9O1xuXG4gIEJ1ZmZlckxpc3QucHJvdG90eXBlLnVuc2hpZnQgPSBmdW5jdGlvbiB1bnNoaWZ0KHYpIHtcbiAgICB2YXIgZW50cnkgPSB7IGRhdGE6IHYsIG5leHQ6IHRoaXMuaGVhZCB9O1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgdGhpcy50YWlsID0gZW50cnk7XG4gICAgdGhpcy5oZWFkID0gZW50cnk7XG4gICAgKyt0aGlzLmxlbmd0aDtcbiAgfTtcblxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5zaGlmdCA9IGZ1bmN0aW9uIHNoaWZ0KCkge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIHZhciByZXQgPSB0aGlzLmhlYWQuZGF0YTtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcbiAgICAtLXRoaXMubGVuZ3RoO1xuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgQnVmZmVyTGlzdC5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiBjbGVhcigpIHtcbiAgICB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgfTtcblxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5qb2luID0gZnVuY3Rpb24gam9pbihzKSB7XG4gICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gICAgdmFyIHAgPSB0aGlzLmhlYWQ7XG4gICAgdmFyIHJldCA9ICcnICsgcC5kYXRhO1xuICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgICByZXQgKz0gcyArIHAuZGF0YTtcbiAgICB9cmV0dXJuIHJldDtcbiAgfTtcblxuICBCdWZmZXJMaXN0LnByb3RvdHlwZS5jb25jYXQgPSBmdW5jdGlvbiBjb25jYXQobikge1xuICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHJldHVybiB0aGlzLmhlYWQuZGF0YTtcbiAgICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4gPj4+IDApO1xuICAgIHZhciBwID0gdGhpcy5oZWFkO1xuICAgIHZhciBpID0gMDtcbiAgICB3aGlsZSAocCkge1xuICAgICAgY29weUJ1ZmZlcihwLmRhdGEsIHJldCwgaSk7XG4gICAgICBpICs9IHAuZGF0YS5sZW5ndGg7XG4gICAgICBwID0gcC5uZXh0O1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9O1xuXG4gIHJldHVybiBCdWZmZXJMaXN0O1xufSgpO1xuXG5pZiAodXRpbCAmJiB1dGlsLmluc3BlY3QgJiYgdXRpbC5pbnNwZWN0LmN1c3RvbSkge1xuICBtb2R1bGUuZXhwb3J0cy5wcm90b3R5cGVbdXRpbC5pbnNwZWN0LmN1c3RvbV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG9iaiA9IHV0aWwuaW5zcGVjdCh7IGxlbmd0aDogdGhpcy5sZW5ndGggfSk7XG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZSArICcgJyArIG9iajtcbiAgfTtcbn0iLCIndXNlIHN0cmljdCc7XG5cbi8qPHJlcGxhY2VtZW50PiovXG5cbnZhciBwbmEgPSByZXF1aXJlKCdwcm9jZXNzLW5leHRpY2stYXJncycpO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbi8vIHVuZG9jdW1lbnRlZCBjYigpIEFQSSwgbmVlZGVkIGZvciBjb3JlLCBub3QgZm9yIHB1YmxpYyBBUElcbmZ1bmN0aW9uIGRlc3Ryb3koZXJyLCBjYikge1xuICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gIHZhciByZWFkYWJsZURlc3Ryb3llZCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUgJiYgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG4gIHZhciB3cml0YWJsZURlc3Ryb3llZCA9IHRoaXMuX3dyaXRhYmxlU3RhdGUgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG5cbiAgaWYgKHJlYWRhYmxlRGVzdHJveWVkIHx8IHdyaXRhYmxlRGVzdHJveWVkKSB7XG4gICAgaWYgKGNiKSB7XG4gICAgICBjYihlcnIpO1xuICAgIH0gZWxzZSBpZiAoZXJyICYmICghdGhpcy5fd3JpdGFibGVTdGF0ZSB8fCAhdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQpKSB7XG4gICAgICBwbmEubmV4dFRpY2soZW1pdEVycm9yTlQsIHRoaXMsIGVycik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gd2Ugc2V0IGRlc3Ryb3llZCB0byB0cnVlIGJlZm9yZSBmaXJpbmcgZXJyb3IgY2FsbGJhY2tzIGluIG9yZGVyXG4gIC8vIHRvIG1ha2UgaXQgcmUtZW50cmFuY2Ugc2FmZSBpbiBjYXNlIGRlc3Ryb3koKSBpcyBjYWxsZWQgd2l0aGluIGNhbGxiYWNrc1xuXG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgLy8gaWYgdGhpcyBpcyBhIGR1cGxleCBzdHJlYW0gbWFyayB0aGUgd3JpdGFibGUgcGFydCBhcyBkZXN0cm95ZWQgYXMgd2VsbFxuICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICBpZiAoIWNiICYmIGVycikge1xuICAgICAgcG5hLm5leHRUaWNrKGVtaXRFcnJvck5ULCBfdGhpcywgZXJyKTtcbiAgICAgIGlmIChfdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgICBfdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY2IpIHtcbiAgICAgIGNiKGVycik7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGhpcztcbn1cblxuZnVuY3Rpb24gdW5kZXN0cm95KCkge1xuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xuICB9XG5cbiAgaWYgKHRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVtaXRFcnJvck5UKHNlbGYsIGVycikge1xuICBzZWxmLmVtaXQoJ2Vycm9yJywgZXJyKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gIHVuZGVzdHJveTogdW5kZXN0cm95XG59OyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnZXZlbnRzJykuRXZlbnRFbWl0dGVyO1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL3JlYWRhYmxlJykuUGFzc1Rocm91Z2hcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fcmVhZGFibGUuanMnKTtcbmV4cG9ydHMuU3RyZWFtID0gZXhwb3J0cztcbmV4cG9ydHMuUmVhZGFibGUgPSBleHBvcnRzO1xuZXhwb3J0cy5Xcml0YWJsZSA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fd3JpdGFibGUuanMnKTtcbmV4cG9ydHMuRHVwbGV4ID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV9kdXBsZXguanMnKTtcbmV4cG9ydHMuVHJhbnNmb3JtID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMnKTtcbmV4cG9ydHMuUGFzc1Rocm91Z2ggPSByZXF1aXJlKCcuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzJyk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vcmVhZGFibGUnKS5UcmFuc2Zvcm1cbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV93cml0YWJsZS5qcycpO1xuIiwiJ3VzZSBzdHJpY3QnXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJykuQnVmZmVyXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaEJhc2UgPSByZXF1aXJlKCdoYXNoLWJhc2UnKVxuXG52YXIgQVJSQVkxNiA9IG5ldyBBcnJheSgxNilcblxudmFyIHpsID0gW1xuICAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LFxuICA3LCA0LCAxMywgMSwgMTAsIDYsIDE1LCAzLCAxMiwgMCwgOSwgNSwgMiwgMTQsIDExLCA4LFxuICAzLCAxMCwgMTQsIDQsIDksIDE1LCA4LCAxLCAyLCA3LCAwLCA2LCAxMywgMTEsIDUsIDEyLFxuICAxLCA5LCAxMSwgMTAsIDAsIDgsIDEyLCA0LCAxMywgMywgNywgMTUsIDE0LCA1LCA2LCAyLFxuICA0LCAwLCA1LCA5LCA3LCAxMiwgMiwgMTAsIDE0LCAxLCAzLCA4LCAxMSwgNiwgMTUsIDEzXG5dXG5cbnZhciB6ciA9IFtcbiAgNSwgMTQsIDcsIDAsIDksIDIsIDExLCA0LCAxMywgNiwgMTUsIDgsIDEsIDEwLCAzLCAxMixcbiAgNiwgMTEsIDMsIDcsIDAsIDEzLCA1LCAxMCwgMTQsIDE1LCA4LCAxMiwgNCwgOSwgMSwgMixcbiAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcbiAgOCwgNiwgNCwgMSwgMywgMTEsIDE1LCAwLCA1LCAxMiwgMiwgMTMsIDksIDcsIDEwLCAxNCxcbiAgMTIsIDE1LCAxMCwgNCwgMSwgNSwgOCwgNywgNiwgMiwgMTMsIDE0LCAwLCAzLCA5LCAxMVxuXVxuXG52YXIgc2wgPSBbXG4gIDExLCAxNCwgMTUsIDEyLCA1LCA4LCA3LCA5LCAxMSwgMTMsIDE0LCAxNSwgNiwgNywgOSwgOCxcbiAgNywgNiwgOCwgMTMsIDExLCA5LCA3LCAxNSwgNywgMTIsIDE1LCA5LCAxMSwgNywgMTMsIDEyLFxuICAxMSwgMTMsIDYsIDcsIDE0LCA5LCAxMywgMTUsIDE0LCA4LCAxMywgNiwgNSwgMTIsIDcsIDUsXG4gIDExLCAxMiwgMTQsIDE1LCAxNCwgMTUsIDksIDgsIDksIDE0LCA1LCA2LCA4LCA2LCA1LCAxMixcbiAgOSwgMTUsIDUsIDExLCA2LCA4LCAxMywgMTIsIDUsIDEyLCAxMywgMTQsIDExLCA4LCA1LCA2XG5dXG5cbnZhciBzciA9IFtcbiAgOCwgOSwgOSwgMTEsIDEzLCAxNSwgMTUsIDUsIDcsIDcsIDgsIDExLCAxNCwgMTQsIDEyLCA2LFxuICA5LCAxMywgMTUsIDcsIDEyLCA4LCA5LCAxMSwgNywgNywgMTIsIDcsIDYsIDE1LCAxMywgMTEsXG4gIDksIDcsIDE1LCAxMSwgOCwgNiwgNiwgMTQsIDEyLCAxMywgNSwgMTQsIDEzLCAxMywgNywgNSxcbiAgMTUsIDUsIDgsIDExLCAxNCwgMTQsIDYsIDE0LCA2LCA5LCAxMiwgOSwgMTIsIDUsIDE1LCA4LFxuICA4LCA1LCAxMiwgOSwgMTIsIDUsIDE0LCA2LCA4LCAxMywgNiwgNSwgMTUsIDEzLCAxMSwgMTFcbl1cblxudmFyIGhsID0gWzB4MDAwMDAwMDAsIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMsIDB4YTk1M2ZkNGVdXG52YXIgaHIgPSBbMHg1MGEyOGJlNiwgMHg1YzRkZDEyNCwgMHg2ZDcwM2VmMywgMHg3YTZkNzZlOSwgMHgwMDAwMDAwMF1cblxuZnVuY3Rpb24gUklQRU1EMTYwICgpIHtcbiAgSGFzaEJhc2UuY2FsbCh0aGlzLCA2NClcblxuICAvLyBzdGF0ZVxuICB0aGlzLl9hID0gMHg2NzQ1MjMwMVxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxuICB0aGlzLl9kID0gMHgxMDMyNTQ3NlxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxufVxuXG5pbmhlcml0cyhSSVBFTUQxNjAsIEhhc2hCYXNlKVxuXG5SSVBFTUQxNjAucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciB3b3JkcyA9IEFSUkFZMTZcbiAgZm9yICh2YXIgaiA9IDA7IGogPCAxNjsgKytqKSB3b3Jkc1tqXSA9IHRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKGogKiA0KVxuXG4gIHZhciBhbCA9IHRoaXMuX2EgfCAwXG4gIHZhciBibCA9IHRoaXMuX2IgfCAwXG4gIHZhciBjbCA9IHRoaXMuX2MgfCAwXG4gIHZhciBkbCA9IHRoaXMuX2QgfCAwXG4gIHZhciBlbCA9IHRoaXMuX2UgfCAwXG5cbiAgdmFyIGFyID0gdGhpcy5fYSB8IDBcbiAgdmFyIGJyID0gdGhpcy5fYiB8IDBcbiAgdmFyIGNyID0gdGhpcy5fYyB8IDBcbiAgdmFyIGRyID0gdGhpcy5fZCB8IDBcbiAgdmFyIGVyID0gdGhpcy5fZSB8IDBcblxuICAvLyBjb21wdXRhdGlvblxuICBmb3IgKHZhciBpID0gMDsgaSA8IDgwOyBpICs9IDEpIHtcbiAgICB2YXIgdGxcbiAgICB2YXIgdHJcbiAgICBpZiAoaSA8IDE2KSB7XG4gICAgICB0bCA9IGZuMShhbCwgYmwsIGNsLCBkbCwgZWwsIHdvcmRzW3psW2ldXSwgaGxbMF0sIHNsW2ldKVxuICAgICAgdHIgPSBmbjUoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzBdLCBzcltpXSlcbiAgICB9IGVsc2UgaWYgKGkgPCAzMikge1xuICAgICAgdGwgPSBmbjIoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzFdLCBzbFtpXSlcbiAgICAgIHRyID0gZm40KGFyLCBiciwgY3IsIGRyLCBlciwgd29yZHNbenJbaV1dLCBoclsxXSwgc3JbaV0pXG4gICAgfSBlbHNlIGlmIChpIDwgNDgpIHtcbiAgICAgIHRsID0gZm4zKGFsLCBibCwgY2wsIGRsLCBlbCwgd29yZHNbemxbaV1dLCBobFsyXSwgc2xbaV0pXG4gICAgICB0ciA9IGZuMyhhciwgYnIsIGNyLCBkciwgZXIsIHdvcmRzW3pyW2ldXSwgaHJbMl0sIHNyW2ldKVxuICAgIH0gZWxzZSBpZiAoaSA8IDY0KSB7XG4gICAgICB0bCA9IGZuNChhbCwgYmwsIGNsLCBkbCwgZWwsIHdvcmRzW3psW2ldXSwgaGxbM10sIHNsW2ldKVxuICAgICAgdHIgPSBmbjIoYXIsIGJyLCBjciwgZHIsIGVyLCB3b3Jkc1t6cltpXV0sIGhyWzNdLCBzcltpXSlcbiAgICB9IGVsc2UgeyAvLyBpZiAoaTw4MCkge1xuICAgICAgdGwgPSBmbjUoYWwsIGJsLCBjbCwgZGwsIGVsLCB3b3Jkc1t6bFtpXV0sIGhsWzRdLCBzbFtpXSlcbiAgICAgIHRyID0gZm4xKGFyLCBiciwgY3IsIGRyLCBlciwgd29yZHNbenJbaV1dLCBocls0XSwgc3JbaV0pXG4gICAgfVxuXG4gICAgYWwgPSBlbFxuICAgIGVsID0gZGxcbiAgICBkbCA9IHJvdGwoY2wsIDEwKVxuICAgIGNsID0gYmxcbiAgICBibCA9IHRsXG5cbiAgICBhciA9IGVyXG4gICAgZXIgPSBkclxuICAgIGRyID0gcm90bChjciwgMTApXG4gICAgY3IgPSBiclxuICAgIGJyID0gdHJcbiAgfVxuXG4gIC8vIHVwZGF0ZSBzdGF0ZVxuICB2YXIgdCA9ICh0aGlzLl9iICsgY2wgKyBkcikgfCAwXG4gIHRoaXMuX2IgPSAodGhpcy5fYyArIGRsICsgZXIpIHwgMFxuICB0aGlzLl9jID0gKHRoaXMuX2QgKyBlbCArIGFyKSB8IDBcbiAgdGhpcy5fZCA9ICh0aGlzLl9lICsgYWwgKyBicikgfCAwXG4gIHRoaXMuX2UgPSAodGhpcy5fYSArIGJsICsgY3IpIHwgMFxuICB0aGlzLl9hID0gdFxufVxuXG5SSVBFTUQxNjAucHJvdG90eXBlLl9kaWdlc3QgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIGNyZWF0ZSBwYWRkaW5nIGFuZCBoYW5kbGUgYmxvY2tzXG4gIHRoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdID0gMHg4MFxuICBpZiAodGhpcy5fYmxvY2tPZmZzZXQgPiA1Nikge1xuICAgIHRoaXMuX2Jsb2NrLmZpbGwoMCwgdGhpcy5fYmxvY2tPZmZzZXQsIDY0KVxuICAgIHRoaXMuX3VwZGF0ZSgpXG4gICAgdGhpcy5fYmxvY2tPZmZzZXQgPSAwXG4gIH1cblxuICB0aGlzLl9ibG9jay5maWxsKDAsIHRoaXMuX2Jsb2NrT2Zmc2V0LCA1NilcbiAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMF0sIDU2KVxuICB0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFsxXSwgNjApXG4gIHRoaXMuX3VwZGF0ZSgpXG5cbiAgLy8gcHJvZHVjZSByZXN1bHRcbiAgdmFyIGJ1ZmZlciA9IEJ1ZmZlci5hbGxvYyA/IEJ1ZmZlci5hbGxvYygyMCkgOiBuZXcgQnVmZmVyKDIwKVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2EsIDApXG4gIGJ1ZmZlci53cml0ZUludDMyTEUodGhpcy5fYiwgNClcbiAgYnVmZmVyLndyaXRlSW50MzJMRSh0aGlzLl9jLCA4KVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2QsIDEyKVxuICBidWZmZXIud3JpdGVJbnQzMkxFKHRoaXMuX2UsIDE2KVxuICByZXR1cm4gYnVmZmVyXG59XG5cbmZ1bmN0aW9uIHJvdGwgKHgsIG4pIHtcbiAgcmV0dXJuICh4IDw8IG4pIHwgKHggPj4+ICgzMiAtIG4pKVxufVxuXG5mdW5jdGlvbiBmbjEgKGEsIGIsIGMsIGQsIGUsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKGIgXiBjIF4gZCkgKyBtICsgaykgfCAwLCBzKSArIGUpIHwgMFxufVxuXG5mdW5jdGlvbiBmbjIgKGEsIGIsIGMsIGQsIGUsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKChiICYgYykgfCAoKH5iKSAmIGQpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXG59XG5cbmZ1bmN0aW9uIGZuMyAoYSwgYiwgYywgZCwgZSwgbSwgaywgcykge1xuICByZXR1cm4gKHJvdGwoKGEgKyAoKGIgfCAofmMpKSBeIGQpICsgbSArIGspIHwgMCwgcykgKyBlKSB8IDBcbn1cblxuZnVuY3Rpb24gZm40IChhLCBiLCBjLCBkLCBlLCBtLCBrLCBzKSB7XG4gIHJldHVybiAocm90bCgoYSArICgoYiAmIGQpIHwgKGMgJiAofmQpKSkgKyBtICsgaykgfCAwLCBzKSArIGUpIHwgMFxufVxuXG5mdW5jdGlvbiBmbjUgKGEsIGIsIGMsIGQsIGUsIG0sIGssIHMpIHtcbiAgcmV0dXJuIChyb3RsKChhICsgKGIgXiAoYyB8ICh+ZCkpKSArIG0gKyBrKSB8IDAsIHMpICsgZSkgfCAwXG59XG5cbm1vZHVsZS5leHBvcnRzID0gUklQRU1EMTYwXG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBub2RlL25vLWRlcHJlY2F0ZWQtYXBpICovXG52YXIgYnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJylcbnZhciBCdWZmZXIgPSBidWZmZXIuQnVmZmVyXG5cbi8vIGFsdGVybmF0aXZlIHRvIHVzaW5nIE9iamVjdC5rZXlzIGZvciBvbGQgYnJvd3NlcnNcbmZ1bmN0aW9uIGNvcHlQcm9wcyAoc3JjLCBkc3QpIHtcbiAgZm9yICh2YXIga2V5IGluIHNyYykge1xuICAgIGRzdFtrZXldID0gc3JjW2tleV1cbiAgfVxufVxuaWYgKEJ1ZmZlci5mcm9tICYmIEJ1ZmZlci5hbGxvYyAmJiBCdWZmZXIuYWxsb2NVbnNhZmUgJiYgQnVmZmVyLmFsbG9jVW5zYWZlU2xvdykge1xuICBtb2R1bGUuZXhwb3J0cyA9IGJ1ZmZlclxufSBlbHNlIHtcbiAgLy8gQ29weSBwcm9wZXJ0aWVzIGZyb20gcmVxdWlyZSgnYnVmZmVyJylcbiAgY29weVByb3BzKGJ1ZmZlciwgZXhwb3J0cylcbiAgZXhwb3J0cy5CdWZmZXIgPSBTYWZlQnVmZmVyXG59XG5cbmZ1bmN0aW9uIFNhZmVCdWZmZXIgKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIHJldHVybiBCdWZmZXIoYXJnLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG59XG5cbi8vIENvcHkgc3RhdGljIG1ldGhvZHMgZnJvbSBCdWZmZXJcbmNvcHlQcm9wcyhCdWZmZXIsIFNhZmVCdWZmZXIpXG5cblNhZmVCdWZmZXIuZnJvbSA9IGZ1bmN0aW9uIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICBpZiAodHlwZW9mIGFyZyA9PT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgcmV0dXJuIEJ1ZmZlcihhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbn1cblxuU2FmZUJ1ZmZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxuICBpZiAoZmlsbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxuICAgIH0gZWxzZSB7XG4gICAgICBidWYuZmlsbChmaWxsKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBidWYuZmlsbCgwKVxuICB9XG4gIHJldHVybiBidWZcbn1cblxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZSA9IGZ1bmN0aW9uIChzaXplKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcbiAgfVxuICByZXR1cm4gQnVmZmVyKHNpemUpXG59XG5cblNhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93ID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxuICB9XG4gIHJldHVybiBidWZmZXIuU2xvd0J1ZmZlcihzaXplKVxufVxuIiwiLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xuXG4ndXNlIHN0cmljdCdcblxudmFyIGJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpXG52YXIgQnVmZmVyID0gYnVmZmVyLkJ1ZmZlclxuXG52YXIgc2FmZXIgPSB7fVxuXG52YXIga2V5XG5cbmZvciAoa2V5IGluIGJ1ZmZlcikge1xuICBpZiAoIWJ1ZmZlci5oYXNPd25Qcm9wZXJ0eShrZXkpKSBjb250aW51ZVxuICBpZiAoa2V5ID09PSAnU2xvd0J1ZmZlcicgfHwga2V5ID09PSAnQnVmZmVyJykgY29udGludWVcbiAgc2FmZXJba2V5XSA9IGJ1ZmZlcltrZXldXG59XG5cbnZhciBTYWZlciA9IHNhZmVyLkJ1ZmZlciA9IHt9XG5mb3IgKGtleSBpbiBCdWZmZXIpIHtcbiAgaWYgKCFCdWZmZXIuaGFzT3duUHJvcGVydHkoa2V5KSkgY29udGludWVcbiAgaWYgKGtleSA9PT0gJ2FsbG9jVW5zYWZlJyB8fCBrZXkgPT09ICdhbGxvY1Vuc2FmZVNsb3cnKSBjb250aW51ZVxuICBTYWZlcltrZXldID0gQnVmZmVyW2tleV1cbn1cblxuc2FmZXIuQnVmZmVyLnByb3RvdHlwZSA9IEJ1ZmZlci5wcm90b3R5cGVcblxuaWYgKCFTYWZlci5mcm9tIHx8IFNhZmVyLmZyb20gPT09IFVpbnQ4QXJyYXkuZnJvbSkge1xuICBTYWZlci5mcm9tID0gZnVuY3Rpb24gKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwidmFsdWVcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSAnICsgdHlwZW9mIHZhbHVlKVxuICAgIH1cbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlLmxlbmd0aCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIEFycmF5LWxpa2UgT2JqZWN0LiBSZWNlaXZlZCB0eXBlICcgKyB0eXBlb2YgdmFsdWUpXG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIodmFsdWUsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aClcbiAgfVxufVxuXG5pZiAoIVNhZmVyLmFsbG9jKSB7XG4gIFNhZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBzaXplKVxuICAgIH1cbiAgICBpZiAoc2l6ZSA8IDAgfHwgc2l6ZSA+PSAyICogKDEgPDwgMzApKSB7XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIFwiJyArIHNpemUgKyAnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJylcbiAgICB9XG4gICAgdmFyIGJ1ZiA9IEJ1ZmZlcihzaXplKVxuICAgIGlmICghZmlsbCB8fCBmaWxsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgYnVmLmZpbGwoMClcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwsIGVuY29kaW5nKVxuICAgIH0gZWxzZSB7XG4gICAgICBidWYuZmlsbChmaWxsKVxuICAgIH1cbiAgICByZXR1cm4gYnVmXG4gIH1cbn1cblxuaWYgKCFzYWZlci5rU3RyaW5nTWF4TGVuZ3RoKSB7XG4gIHRyeSB7XG4gICAgc2FmZXIua1N0cmluZ01heExlbmd0aCA9IHByb2Nlc3MuYmluZGluZygnYnVmZmVyJykua1N0cmluZ01heExlbmd0aFxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gd2UgY2FuJ3QgZGV0ZXJtaW5lIGtTdHJpbmdNYXhMZW5ndGggaW4gZW52aXJvbm1lbnRzIHdoZXJlIHByb2Nlc3MuYmluZGluZ1xuICAgIC8vIGlzIHVuc3VwcG9ydGVkLCBzbyBsZXQncyBub3Qgc2V0IGl0XG4gIH1cbn1cblxuaWYgKCFzYWZlci5jb25zdGFudHMpIHtcbiAgc2FmZXIuY29uc3RhbnRzID0ge1xuICAgIE1BWF9MRU5HVEg6IHNhZmVyLmtNYXhMZW5ndGhcbiAgfVxuICBpZiAoc2FmZXIua1N0cmluZ01heExlbmd0aCkge1xuICAgIHNhZmVyLmNvbnN0YW50cy5NQVhfU1RSSU5HX0xFTkdUSCA9IHNhZmVyLmtTdHJpbmdNYXhMZW5ndGhcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNhZmVyXG4iLCIoZnVuY3Rpb24gKGdsb2JhbCwgdW5kZWZpbmVkKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgICBpZiAoZ2xvYmFsLnNldEltbWVkaWF0ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5leHRIYW5kbGUgPSAxOyAvLyBTcGVjIHNheXMgZ3JlYXRlciB0aGFuIHplcm9cbiAgICB2YXIgdGFza3NCeUhhbmRsZSA9IHt9O1xuICAgIHZhciBjdXJyZW50bHlSdW5uaW5nQVRhc2sgPSBmYWxzZTtcbiAgICB2YXIgZG9jID0gZ2xvYmFsLmRvY3VtZW50O1xuICAgIHZhciByZWdpc3RlckltbWVkaWF0ZTtcblxuICAgIGZ1bmN0aW9uIHNldEltbWVkaWF0ZShjYWxsYmFjaykge1xuICAgICAgLy8gQ2FsbGJhY2sgY2FuIGVpdGhlciBiZSBhIGZ1bmN0aW9uIG9yIGEgc3RyaW5nXG4gICAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBuZXcgRnVuY3Rpb24oXCJcIiArIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgIC8vIENvcHkgZnVuY3Rpb24gYXJndW1lbnRzXG4gICAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2kgKyAxXTtcbiAgICAgIH1cbiAgICAgIC8vIFN0b3JlIGFuZCByZWdpc3RlciB0aGUgdGFza1xuICAgICAgdmFyIHRhc2sgPSB7IGNhbGxiYWNrOiBjYWxsYmFjaywgYXJnczogYXJncyB9O1xuICAgICAgdGFza3NCeUhhbmRsZVtuZXh0SGFuZGxlXSA9IHRhc2s7XG4gICAgICByZWdpc3RlckltbWVkaWF0ZShuZXh0SGFuZGxlKTtcbiAgICAgIHJldHVybiBuZXh0SGFuZGxlKys7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY2xlYXJJbW1lZGlhdGUoaGFuZGxlKSB7XG4gICAgICAgIGRlbGV0ZSB0YXNrc0J5SGFuZGxlW2hhbmRsZV07XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcnVuKHRhc2spIHtcbiAgICAgICAgdmFyIGNhbGxiYWNrID0gdGFzay5jYWxsYmFjaztcbiAgICAgICAgdmFyIGFyZ3MgPSB0YXNrLmFyZ3M7XG4gICAgICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICBjYWxsYmFjayhhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY2FsbGJhY2suYXBwbHkodW5kZWZpbmVkLCBhcmdzKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcnVuSWZQcmVzZW50KGhhbmRsZSkge1xuICAgICAgICAvLyBGcm9tIHRoZSBzcGVjOiBcIldhaXQgdW50aWwgYW55IGludm9jYXRpb25zIG9mIHRoaXMgYWxnb3JpdGhtIHN0YXJ0ZWQgYmVmb3JlIHRoaXMgb25lIGhhdmUgY29tcGxldGVkLlwiXG4gICAgICAgIC8vIFNvIGlmIHdlJ3JlIGN1cnJlbnRseSBydW5uaW5nIGEgdGFzaywgd2UnbGwgbmVlZCB0byBkZWxheSB0aGlzIGludm9jYXRpb24uXG4gICAgICAgIGlmIChjdXJyZW50bHlSdW5uaW5nQVRhc2spIHtcbiAgICAgICAgICAgIC8vIERlbGF5IGJ5IGRvaW5nIGEgc2V0VGltZW91dC4gc2V0SW1tZWRpYXRlIHdhcyB0cmllZCBpbnN0ZWFkLCBidXQgaW4gRmlyZWZveCA3IGl0IGdlbmVyYXRlZCBhXG4gICAgICAgICAgICAvLyBcInRvbyBtdWNoIHJlY3Vyc2lvblwiIGVycm9yLlxuICAgICAgICAgICAgc2V0VGltZW91dChydW5JZlByZXNlbnQsIDAsIGhhbmRsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdGFzayA9IHRhc2tzQnlIYW5kbGVbaGFuZGxlXTtcbiAgICAgICAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICBydW4odGFzayk7XG4gICAgICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXJJbW1lZGlhdGUoaGFuZGxlKTtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudGx5UnVubmluZ0FUYXNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaW5zdGFsbE5leHRUaWNrSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGZ1bmN0aW9uICgpIHsgcnVuSWZQcmVzZW50KGhhbmRsZSk7IH0pO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGNhblVzZVBvc3RNZXNzYWdlKCkge1xuICAgICAgICAvLyBUaGUgdGVzdCBhZ2FpbnN0IGBpbXBvcnRTY3JpcHRzYCBwcmV2ZW50cyB0aGlzIGltcGxlbWVudGF0aW9uIGZyb20gYmVpbmcgaW5zdGFsbGVkIGluc2lkZSBhIHdlYiB3b3JrZXIsXG4gICAgICAgIC8vIHdoZXJlIGBnbG9iYWwucG9zdE1lc3NhZ2VgIG1lYW5zIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCBhbmQgY2FuJ3QgYmUgdXNlZCBmb3IgdGhpcyBwdXJwb3NlLlxuICAgICAgICBpZiAoZ2xvYmFsLnBvc3RNZXNzYWdlICYmICFnbG9iYWwuaW1wb3J0U2NyaXB0cykge1xuICAgICAgICAgICAgdmFyIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXMgPSB0cnVlO1xuICAgICAgICAgICAgdmFyIG9sZE9uTWVzc2FnZSA9IGdsb2JhbC5vbm1lc3NhZ2U7XG4gICAgICAgICAgICBnbG9iYWwub25tZXNzYWdlID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcG9zdE1lc3NhZ2VJc0FzeW5jaHJvbm91cyA9IGZhbHNlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGdsb2JhbC5wb3N0TWVzc2FnZShcIlwiLCBcIipcIik7XG4gICAgICAgICAgICBnbG9iYWwub25tZXNzYWdlID0gb2xkT25NZXNzYWdlO1xuICAgICAgICAgICAgcmV0dXJuIHBvc3RNZXNzYWdlSXNBc3luY2hyb25vdXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsUG9zdE1lc3NhZ2VJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgLy8gSW5zdGFsbHMgYW4gZXZlbnQgaGFuZGxlciBvbiBgZ2xvYmFsYCBmb3IgdGhlIGBtZXNzYWdlYCBldmVudDogc2VlXG4gICAgICAgIC8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vRE9NL3dpbmRvdy5wb3N0TWVzc2FnZVxuICAgICAgICAvLyAqIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL2NvbW1zLmh0bWwjY3Jvc3NEb2N1bWVudE1lc3NhZ2VzXG5cbiAgICAgICAgdmFyIG1lc3NhZ2VQcmVmaXggPSBcInNldEltbWVkaWF0ZSRcIiArIE1hdGgucmFuZG9tKCkgKyBcIiRcIjtcbiAgICAgICAgdmFyIG9uR2xvYmFsTWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuc291cmNlID09PSBnbG9iYWwgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgZXZlbnQuZGF0YSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgICAgIGV2ZW50LmRhdGEuaW5kZXhPZihtZXNzYWdlUHJlZml4KSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJ1bklmUHJlc2VudCgrZXZlbnQuZGF0YS5zbGljZShtZXNzYWdlUHJlZml4Lmxlbmd0aCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIG9uR2xvYmFsTWVzc2FnZSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2xvYmFsLmF0dGFjaEV2ZW50KFwib25tZXNzYWdlXCIsIG9uR2xvYmFsTWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgZ2xvYmFsLnBvc3RNZXNzYWdlKG1lc3NhZ2VQcmVmaXggKyBoYW5kbGUsIFwiKlwiKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsTWVzc2FnZUNoYW5uZWxJbXBsZW1lbnRhdGlvbigpIHtcbiAgICAgICAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICAgICAgY2hhbm5lbC5wb3J0MS5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgdmFyIGhhbmRsZSA9IGV2ZW50LmRhdGE7XG4gICAgICAgICAgICBydW5JZlByZXNlbnQoaGFuZGxlKTtcbiAgICAgICAgfTtcblxuICAgICAgICByZWdpc3RlckltbWVkaWF0ZSA9IGZ1bmN0aW9uKGhhbmRsZSkge1xuICAgICAgICAgICAgY2hhbm5lbC5wb3J0Mi5wb3N0TWVzc2FnZShoYW5kbGUpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxSZWFkeVN0YXRlQ2hhbmdlSW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHZhciBodG1sID0gZG9jLmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgcmVnaXN0ZXJJbW1lZGlhdGUgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICAgICAgICAgIC8vIENyZWF0ZSBhIDxzY3JpcHQ+IGVsZW1lbnQ7IGl0cyByZWFkeXN0YXRlY2hhbmdlIGV2ZW50IHdpbGwgYmUgZmlyZWQgYXN5bmNocm9ub3VzbHkgb25jZSBpdCBpcyBpbnNlcnRlZFxuICAgICAgICAgICAgLy8gaW50byB0aGUgZG9jdW1lbnQuIERvIHNvLCB0aHVzIHF1ZXVpbmcgdXAgdGhlIHRhc2suIFJlbWVtYmVyIHRvIGNsZWFuIHVwIG9uY2UgaXQncyBiZWVuIGNhbGxlZC5cbiAgICAgICAgICAgIHZhciBzY3JpcHQgPSBkb2MuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgcnVuSWZQcmVzZW50KGhhbmRsZSk7XG4gICAgICAgICAgICAgICAgc2NyaXB0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgaHRtbC5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICAgICAgICAgICAgICAgIHNjcmlwdCA9IG51bGw7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaHRtbC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluc3RhbGxTZXRUaW1lb3V0SW1wbGVtZW50YXRpb24oKSB7XG4gICAgICAgIHJlZ2lzdGVySW1tZWRpYXRlID0gZnVuY3Rpb24oaGFuZGxlKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KHJ1bklmUHJlc2VudCwgMCwgaGFuZGxlKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBJZiBzdXBwb3J0ZWQsIHdlIHNob3VsZCBhdHRhY2ggdG8gdGhlIHByb3RvdHlwZSBvZiBnbG9iYWwsIHNpbmNlIHRoYXQgaXMgd2hlcmUgc2V0VGltZW91dCBldCBhbC4gbGl2ZS5cbiAgICB2YXIgYXR0YWNoVG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKGdsb2JhbCk7XG4gICAgYXR0YWNoVG8gPSBhdHRhY2hUbyAmJiBhdHRhY2hUby5zZXRUaW1lb3V0ID8gYXR0YWNoVG8gOiBnbG9iYWw7XG5cbiAgICAvLyBEb24ndCBnZXQgZm9vbGVkIGJ5IGUuZy4gYnJvd3NlcmlmeSBlbnZpcm9ubWVudHMuXG4gICAgaWYgKHt9LnRvU3RyaW5nLmNhbGwoZ2xvYmFsLnByb2Nlc3MpID09PSBcIltvYmplY3QgcHJvY2Vzc11cIikge1xuICAgICAgICAvLyBGb3IgTm9kZS5qcyBiZWZvcmUgMC45XG4gICAgICAgIGluc3RhbGxOZXh0VGlja0ltcGxlbWVudGF0aW9uKCk7XG5cbiAgICB9IGVsc2UgaWYgKGNhblVzZVBvc3RNZXNzYWdlKCkpIHtcbiAgICAgICAgLy8gRm9yIG5vbi1JRTEwIG1vZGVybiBicm93c2Vyc1xuICAgICAgICBpbnN0YWxsUG9zdE1lc3NhZ2VJbXBsZW1lbnRhdGlvbigpO1xuXG4gICAgfSBlbHNlIGlmIChnbG9iYWwuTWVzc2FnZUNoYW5uZWwpIHtcbiAgICAgICAgLy8gRm9yIHdlYiB3b3JrZXJzLCB3aGVyZSBzdXBwb3J0ZWRcbiAgICAgICAgaW5zdGFsbE1lc3NhZ2VDaGFubmVsSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSBpZiAoZG9jICYmIFwib25yZWFkeXN0YXRlY2hhbmdlXCIgaW4gZG9jLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIikpIHtcbiAgICAgICAgLy8gRm9yIElFIDbigJM4XG4gICAgICAgIGluc3RhbGxSZWFkeVN0YXRlQ2hhbmdlSW1wbGVtZW50YXRpb24oKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEZvciBvbGRlciBicm93c2Vyc1xuICAgICAgICBpbnN0YWxsU2V0VGltZW91dEltcGxlbWVudGF0aW9uKCk7XG4gICAgfVxuXG4gICAgYXR0YWNoVG8uc2V0SW1tZWRpYXRlID0gc2V0SW1tZWRpYXRlO1xuICAgIGF0dGFjaFRvLmNsZWFySW1tZWRpYXRlID0gY2xlYXJJbW1lZGlhdGU7XG59KHR5cGVvZiBzZWxmID09PSBcInVuZGVmaW5lZFwiID8gdHlwZW9mIGdsb2JhbCA9PT0gXCJ1bmRlZmluZWRcIiA/IHRoaXMgOiBnbG9iYWwgOiBzZWxmKSk7XG4iLCJ2YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxuLy8gcHJvdG90eXBlIGNsYXNzIGZvciBoYXNoIGZ1bmN0aW9uc1xuZnVuY3Rpb24gSGFzaCAoYmxvY2tTaXplLCBmaW5hbFNpemUpIHtcbiAgdGhpcy5fYmxvY2sgPSBCdWZmZXIuYWxsb2MoYmxvY2tTaXplKVxuICB0aGlzLl9maW5hbFNpemUgPSBmaW5hbFNpemVcbiAgdGhpcy5fYmxvY2tTaXplID0gYmxvY2tTaXplXG4gIHRoaXMuX2xlbiA9IDBcbn1cblxuSGFzaC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGRhdGEsIGVuYykge1xuICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgZW5jID0gZW5jIHx8ICd1dGY4J1xuICAgIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCBlbmMpXG4gIH1cblxuICB2YXIgYmxvY2sgPSB0aGlzLl9ibG9ja1xuICB2YXIgYmxvY2tTaXplID0gdGhpcy5fYmxvY2tTaXplXG4gIHZhciBsZW5ndGggPSBkYXRhLmxlbmd0aFxuICB2YXIgYWNjdW0gPSB0aGlzLl9sZW5cblxuICBmb3IgKHZhciBvZmZzZXQgPSAwOyBvZmZzZXQgPCBsZW5ndGg7KSB7XG4gICAgdmFyIGFzc2lnbmVkID0gYWNjdW0gJSBibG9ja1NpemVcbiAgICB2YXIgcmVtYWluZGVyID0gTWF0aC5taW4obGVuZ3RoIC0gb2Zmc2V0LCBibG9ja1NpemUgLSBhc3NpZ25lZClcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVtYWluZGVyOyBpKyspIHtcbiAgICAgIGJsb2NrW2Fzc2lnbmVkICsgaV0gPSBkYXRhW29mZnNldCArIGldXG4gICAgfVxuXG4gICAgYWNjdW0gKz0gcmVtYWluZGVyXG4gICAgb2Zmc2V0ICs9IHJlbWFpbmRlclxuXG4gICAgaWYgKChhY2N1bSAlIGJsb2NrU2l6ZSkgPT09IDApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZShibG9jaylcbiAgICB9XG4gIH1cblxuICB0aGlzLl9sZW4gKz0gbGVuZ3RoXG4gIHJldHVybiB0aGlzXG59XG5cbkhhc2gucHJvdG90eXBlLmRpZ2VzdCA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgdmFyIHJlbSA9IHRoaXMuX2xlbiAlIHRoaXMuX2Jsb2NrU2l6ZVxuXG4gIHRoaXMuX2Jsb2NrW3JlbV0gPSAweDgwXG5cbiAgLy8gemVybyAocmVtICsgMSkgdHJhaWxpbmcgYml0cywgd2hlcmUgKHJlbSArIDEpIGlzIHRoZSBzbWFsbGVzdFxuICAvLyBub24tbmVnYXRpdmUgc29sdXRpb24gdG8gdGhlIGVxdWF0aW9uIChsZW5ndGggKyAxICsgKHJlbSArIDEpKSA9PT0gZmluYWxTaXplIG1vZCBibG9ja1NpemVcbiAgdGhpcy5fYmxvY2suZmlsbCgwLCByZW0gKyAxKVxuXG4gIGlmIChyZW0gPj0gdGhpcy5fZmluYWxTaXplKSB7XG4gICAgdGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKVxuICAgIHRoaXMuX2Jsb2NrLmZpbGwoMClcbiAgfVxuXG4gIHZhciBiaXRzID0gdGhpcy5fbGVuICogOFxuXG4gIC8vIHVpbnQzMlxuICBpZiAoYml0cyA8PSAweGZmZmZmZmZmKSB7XG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShiaXRzLCB0aGlzLl9ibG9ja1NpemUgLSA0KVxuXG4gIC8vIHVpbnQ2NFxuICB9IGVsc2Uge1xuICAgIHZhciBsb3dCaXRzID0gKGJpdHMgJiAweGZmZmZmZmZmKSA+Pj4gMFxuICAgIHZhciBoaWdoQml0cyA9IChiaXRzIC0gbG93Qml0cykgLyAweDEwMDAwMDAwMFxuXG4gICAgdGhpcy5fYmxvY2sud3JpdGVVSW50MzJCRShoaWdoQml0cywgdGhpcy5fYmxvY2tTaXplIC0gOClcbiAgICB0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKGxvd0JpdHMsIHRoaXMuX2Jsb2NrU2l6ZSAtIDQpXG4gIH1cblxuICB0aGlzLl91cGRhdGUodGhpcy5fYmxvY2spXG4gIHZhciBoYXNoID0gdGhpcy5faGFzaCgpXG5cbiAgcmV0dXJuIGVuYyA/IGhhc2gudG9TdHJpbmcoZW5jKSA6IGhhc2hcbn1cblxuSGFzaC5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MnKVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEhhc2hcbiIsInZhciBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBTSEEgKGFsZ29yaXRobSkge1xuICBhbGdvcml0aG0gPSBhbGdvcml0aG0udG9Mb3dlckNhc2UoKVxuXG4gIHZhciBBbGdvcml0aG0gPSBleHBvcnRzW2FsZ29yaXRobV1cbiAgaWYgKCFBbGdvcml0aG0pIHRocm93IG5ldyBFcnJvcihhbGdvcml0aG0gKyAnIGlzIG5vdCBzdXBwb3J0ZWQgKHdlIGFjY2VwdCBwdWxsIHJlcXVlc3RzKScpXG5cbiAgcmV0dXJuIG5ldyBBbGdvcml0aG0oKVxufVxuXG5leHBvcnRzLnNoYSA9IHJlcXVpcmUoJy4vc2hhJylcbmV4cG9ydHMuc2hhMSA9IHJlcXVpcmUoJy4vc2hhMScpXG5leHBvcnRzLnNoYTIyNCA9IHJlcXVpcmUoJy4vc2hhMjI0JylcbmV4cG9ydHMuc2hhMjU2ID0gcmVxdWlyZSgnLi9zaGEyNTYnKVxuZXhwb3J0cy5zaGEzODQgPSByZXF1aXJlKCcuL3NoYTM4NCcpXG5leHBvcnRzLnNoYTUxMiA9IHJlcXVpcmUoJy4vc2hhNTEyJylcbiIsIi8qXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTAsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgUFVCIDE4MC0xXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzaGExLmpzIG9mIHRoZSBzYW1lIHJlcG9zaXRvcnkuXG4gKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIFNIQS0wIGFuZCBTSEEtMSBpcyBqdXN0IGEgYml0d2lzZSByb3RhdGUgbGVmdFxuICogb3BlcmF0aW9uIHdhcyBhZGRlZC5cbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEsgPSBbXG4gIDB4NWE4Mjc5OTksIDB4NmVkOWViYTEsIDB4OGYxYmJjZGMgfCAwLCAweGNhNjJjMWQ2IHwgMFxuXVxuXG52YXIgVyA9IG5ldyBBcnJheSg4MClcblxuZnVuY3Rpb24gU2hhICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxufVxuXG5pbmhlcml0cyhTaGEsIEhhc2gpXG5cblNoYS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5fYSA9IDB4Njc0NTIzMDFcbiAgdGhpcy5fYiA9IDB4ZWZjZGFiODlcbiAgdGhpcy5fYyA9IDB4OThiYWRjZmVcbiAgdGhpcy5fZCA9IDB4MTAzMjU0NzZcbiAgdGhpcy5fZSA9IDB4YzNkMmUxZjBcblxuICByZXR1cm4gdGhpc1xufVxuXG5mdW5jdGlvbiByb3RsNSAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDUpIHwgKG51bSA+Pj4gMjcpXG59XG5cbmZ1bmN0aW9uIHJvdGwzMCAobnVtKSB7XG4gIHJldHVybiAobnVtIDw8IDMwKSB8IChudW0gPj4+IDIpXG59XG5cbmZ1bmN0aW9uIGZ0IChzLCBiLCBjLCBkKSB7XG4gIGlmIChzID09PSAwKSByZXR1cm4gKGIgJiBjKSB8ICgofmIpICYgZClcbiAgaWYgKHMgPT09IDIpIHJldHVybiAoYiAmIGMpIHwgKGIgJiBkKSB8IChjICYgZClcbiAgcmV0dXJuIGIgXiBjIF4gZFxufVxuXG5TaGEucHJvdG90eXBlLl91cGRhdGUgPSBmdW5jdGlvbiAoTSkge1xuICB2YXIgVyA9IHRoaXMuX3dcblxuICB2YXIgYSA9IHRoaXMuX2EgfCAwXG4gIHZhciBiID0gdGhpcy5fYiB8IDBcbiAgdmFyIGMgPSB0aGlzLl9jIHwgMFxuICB2YXIgZCA9IHRoaXMuX2QgfCAwXG4gIHZhciBlID0gdGhpcy5fZSB8IDBcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyArK2kpIFdbaV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0KVxuICBmb3IgKDsgaSA8IDgwOyArK2kpIFdbaV0gPSBXW2kgLSAzXSBeIFdbaSAtIDhdIF4gV1tpIC0gMTRdIF4gV1tpIC0gMTZdXG5cbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XG4gICAgdmFyIHMgPSB+fihqIC8gMjApXG4gICAgdmFyIHQgPSAocm90bDUoYSkgKyBmdChzLCBiLCBjLCBkKSArIGUgKyBXW2pdICsgS1tzXSkgfCAwXG5cbiAgICBlID0gZFxuICAgIGQgPSBjXG4gICAgYyA9IHJvdGwzMChiKVxuICAgIGIgPSBhXG4gICAgYSA9IHRcbiAgfVxuXG4gIHRoaXMuX2EgPSAoYSArIHRoaXMuX2EpIHwgMFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXG4gIHRoaXMuX2QgPSAoZCArIHRoaXMuX2QpIHwgMFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcbn1cblxuU2hhLnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjApXG5cbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSB8IDAsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IgfCAwLCA0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9jIHwgMCwgOClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCB8IDAsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lIHwgMCwgMTYpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGFcbiIsIi8qXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTEsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgUFVCIDE4MC0xXG4gKiBWZXJzaW9uIDIuMWEgQ29weXJpZ2h0IFBhdWwgSm9obnN0b24gMjAwMCAtIDIwMDIuXG4gKiBPdGhlciBjb250cmlidXRvcnM6IEdyZWcgSG9sdCwgQW5kcmV3IEtlcGVydCwgWWRuYXIsIExvc3RpbmV0XG4gKiBEaXN0cmlidXRlZCB1bmRlciB0aGUgQlNEIExpY2Vuc2VcbiAqIFNlZSBodHRwOi8vcGFqaG9tZS5vcmcudWsvY3J5cHQvbWQ1IGZvciBkZXRhaWxzLlxuICovXG5cbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBIYXNoID0gcmVxdWlyZSgnLi9oYXNoJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgSyA9IFtcbiAgMHg1YTgyNzk5OSwgMHg2ZWQ5ZWJhMSwgMHg4ZjFiYmNkYyB8IDAsIDB4Y2E2MmMxZDYgfCAwXG5dXG5cbnZhciBXID0gbmV3IEFycmF5KDgwKVxuXG5mdW5jdGlvbiBTaGExICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgNjQsIDU2KVxufVxuXG5pbmhlcml0cyhTaGExLCBIYXNoKVxuXG5TaGExLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9hID0gMHg2NzQ1MjMwMVxuICB0aGlzLl9iID0gMHhlZmNkYWI4OVxuICB0aGlzLl9jID0gMHg5OGJhZGNmZVxuICB0aGlzLl9kID0gMHgxMDMyNTQ3NlxuICB0aGlzLl9lID0gMHhjM2QyZTFmMFxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIHJvdGwxIChudW0pIHtcbiAgcmV0dXJuIChudW0gPDwgMSkgfCAobnVtID4+PiAzMSlcbn1cblxuZnVuY3Rpb24gcm90bDUgKG51bSkge1xuICByZXR1cm4gKG51bSA8PCA1KSB8IChudW0gPj4+IDI3KVxufVxuXG5mdW5jdGlvbiByb3RsMzAgKG51bSkge1xuICByZXR1cm4gKG51bSA8PCAzMCkgfCAobnVtID4+PiAyKVxufVxuXG5mdW5jdGlvbiBmdCAocywgYiwgYywgZCkge1xuICBpZiAocyA9PT0gMCkgcmV0dXJuIChiICYgYykgfCAoKH5iKSAmIGQpXG4gIGlmIChzID09PSAyKSByZXR1cm4gKGIgJiBjKSB8IChiICYgZCkgfCAoYyAmIGQpXG4gIHJldHVybiBiIF4gYyBeIGRcbn1cblxuU2hhMS5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChNKSB7XG4gIHZhciBXID0gdGhpcy5fd1xuXG4gIHZhciBhID0gdGhpcy5fYSB8IDBcbiAgdmFyIGIgPSB0aGlzLl9iIHwgMFxuICB2YXIgYyA9IHRoaXMuX2MgfCAwXG4gIHZhciBkID0gdGhpcy5fZCB8IDBcbiAgdmFyIGUgPSB0aGlzLl9lIHwgMFxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7ICsraSkgV1tpXSA9IE0ucmVhZEludDMyQkUoaSAqIDQpXG4gIGZvciAoOyBpIDwgODA7ICsraSkgV1tpXSA9IHJvdGwxKFdbaSAtIDNdIF4gV1tpIC0gOF0gXiBXW2kgLSAxNF0gXiBXW2kgLSAxNl0pXG5cbiAgZm9yICh2YXIgaiA9IDA7IGogPCA4MDsgKytqKSB7XG4gICAgdmFyIHMgPSB+fihqIC8gMjApXG4gICAgdmFyIHQgPSAocm90bDUoYSkgKyBmdChzLCBiLCBjLCBkKSArIGUgKyBXW2pdICsgS1tzXSkgfCAwXG5cbiAgICBlID0gZFxuICAgIGQgPSBjXG4gICAgYyA9IHJvdGwzMChiKVxuICAgIGIgPSBhXG4gICAgYSA9IHRcbiAgfVxuXG4gIHRoaXMuX2EgPSAoYSArIHRoaXMuX2EpIHwgMFxuICB0aGlzLl9iID0gKGIgKyB0aGlzLl9iKSB8IDBcbiAgdGhpcy5fYyA9IChjICsgdGhpcy5fYykgfCAwXG4gIHRoaXMuX2QgPSAoZCArIHRoaXMuX2QpIHwgMFxuICB0aGlzLl9lID0gKGUgKyB0aGlzLl9lKSB8IDBcbn1cblxuU2hhMS5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDIwKVxuXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2EgfCAwLCAwKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9iIHwgMCwgNClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYyB8IDAsIDgpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2QgfCAwLCAxMilcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZSB8IDAsIDE2KVxuXG4gIHJldHVybiBIXG59XG5cbm1vZHVsZS5leHBvcnRzID0gU2hhMVxuIiwiLyoqXG4gKiBBIEphdmFTY3JpcHQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlY3VyZSBIYXNoIEFsZ29yaXRobSwgU0hBLTI1NiwgYXMgZGVmaW5lZFxuICogaW4gRklQUyAxODAtMlxuICogVmVyc2lvbiAyLjItYmV0YSBDb3B5cmlnaHQgQW5nZWwgTWFyaW4sIFBhdWwgSm9obnN0b24gMjAwMCAtIDIwMDkuXG4gKiBPdGhlciBjb250cmlidXRvcnM6IEdyZWcgSG9sdCwgQW5kcmV3IEtlcGVydCwgWWRuYXIsIExvc3RpbmV0XG4gKlxuICovXG5cbnZhciBpbmhlcml0cyA9IHJlcXVpcmUoJ2luaGVyaXRzJylcbnZhciBTaGEyNTYgPSByZXF1aXJlKCcuL3NoYTI1NicpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXG5cbmZ1bmN0aW9uIFNoYTIyNCAoKSB7XG4gIHRoaXMuaW5pdCgpXG5cbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxuXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXG59XG5cbmluaGVyaXRzKFNoYTIyNCwgU2hhMjU2KVxuXG5TaGEyMjQucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuX2EgPSAweGMxMDU5ZWQ4XG4gIHRoaXMuX2IgPSAweDM2N2NkNTA3XG4gIHRoaXMuX2MgPSAweDMwNzBkZDE3XG4gIHRoaXMuX2QgPSAweGY3MGU1OTM5XG4gIHRoaXMuX2UgPSAweGZmYzAwYjMxXG4gIHRoaXMuX2YgPSAweDY4NTgxNTExXG4gIHRoaXMuX2cgPSAweDY0Zjk4ZmE3XG4gIHRoaXMuX2ggPSAweGJlZmE0ZmE0XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuU2hhMjI0LnByb3RvdHlwZS5faGFzaCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIEggPSBCdWZmZXIuYWxsb2NVbnNhZmUoMjgpXG5cbiAgSC53cml0ZUludDMyQkUodGhpcy5fYSwgMClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYiwgNClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fYywgOClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZCwgMTIpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2UsIDE2KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9mLCAyMClcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZywgMjQpXG5cbiAgcmV0dXJuIEhcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBTaGEyMjRcbiIsIi8qKlxuICogQSBKYXZhU2NyaXB0IGltcGxlbWVudGF0aW9uIG9mIHRoZSBTZWN1cmUgSGFzaCBBbGdvcml0aG0sIFNIQS0yNTYsIGFzIGRlZmluZWRcbiAqIGluIEZJUFMgMTgwLTJcbiAqIFZlcnNpb24gMi4yLWJldGEgQ29weXJpZ2h0IEFuZ2VsIE1hcmluLCBQYXVsIEpvaG5zdG9uIDIwMDAgLSAyMDA5LlxuICogT3RoZXIgY29udHJpYnV0b3JzOiBHcmVnIEhvbHQsIEFuZHJldyBLZXBlcnQsIFlkbmFyLCBMb3N0aW5ldFxuICpcbiAqL1xuXG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpXG52YXIgSGFzaCA9IHJlcXVpcmUoJy4vaGFzaCcpXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXJcblxudmFyIEsgPSBbXG4gIDB4NDI4QTJGOTgsIDB4NzEzNzQ0OTEsIDB4QjVDMEZCQ0YsIDB4RTlCNURCQTUsXG4gIDB4Mzk1NkMyNUIsIDB4NTlGMTExRjEsIDB4OTIzRjgyQTQsIDB4QUIxQzVFRDUsXG4gIDB4RDgwN0FBOTgsIDB4MTI4MzVCMDEsIDB4MjQzMTg1QkUsIDB4NTUwQzdEQzMsXG4gIDB4NzJCRTVENzQsIDB4ODBERUIxRkUsIDB4OUJEQzA2QTcsIDB4QzE5QkYxNzQsXG4gIDB4RTQ5QjY5QzEsIDB4RUZCRTQ3ODYsIDB4MEZDMTlEQzYsIDB4MjQwQ0ExQ0MsXG4gIDB4MkRFOTJDNkYsIDB4NEE3NDg0QUEsIDB4NUNCMEE5REMsIDB4NzZGOTg4REEsXG4gIDB4OTgzRTUxNTIsIDB4QTgzMUM2NkQsIDB4QjAwMzI3QzgsIDB4QkY1OTdGQzcsXG4gIDB4QzZFMDBCRjMsIDB4RDVBNzkxNDcsIDB4MDZDQTYzNTEsIDB4MTQyOTI5NjcsXG4gIDB4MjdCNzBBODUsIDB4MkUxQjIxMzgsIDB4NEQyQzZERkMsIDB4NTMzODBEMTMsXG4gIDB4NjUwQTczNTQsIDB4NzY2QTBBQkIsIDB4ODFDMkM5MkUsIDB4OTI3MjJDODUsXG4gIDB4QTJCRkU4QTEsIDB4QTgxQTY2NEIsIDB4QzI0QjhCNzAsIDB4Qzc2QzUxQTMsXG4gIDB4RDE5MkU4MTksIDB4RDY5OTA2MjQsIDB4RjQwRTM1ODUsIDB4MTA2QUEwNzAsXG4gIDB4MTlBNEMxMTYsIDB4MUUzNzZDMDgsIDB4Mjc0ODc3NEMsIDB4MzRCMEJDQjUsXG4gIDB4MzkxQzBDQjMsIDB4NEVEOEFBNEEsIDB4NUI5Q0NBNEYsIDB4NjgyRTZGRjMsXG4gIDB4NzQ4RjgyRUUsIDB4NzhBNTYzNkYsIDB4ODRDODc4MTQsIDB4OENDNzAyMDgsXG4gIDB4OTBCRUZGRkEsIDB4QTQ1MDZDRUIsIDB4QkVGOUEzRjcsIDB4QzY3MTc4RjJcbl1cblxudmFyIFcgPSBuZXcgQXJyYXkoNjQpXG5cbmZ1bmN0aW9uIFNoYTI1NiAoKSB7XG4gIHRoaXMuaW5pdCgpXG5cbiAgdGhpcy5fdyA9IFcgLy8gbmV3IEFycmF5KDY0KVxuXG4gIEhhc2guY2FsbCh0aGlzLCA2NCwgNTYpXG59XG5cbmluaGVyaXRzKFNoYTI1NiwgSGFzaClcblxuU2hhMjU2LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9hID0gMHg2YTA5ZTY2N1xuICB0aGlzLl9iID0gMHhiYjY3YWU4NVxuICB0aGlzLl9jID0gMHgzYzZlZjM3MlxuICB0aGlzLl9kID0gMHhhNTRmZjUzYVxuICB0aGlzLl9lID0gMHg1MTBlNTI3ZlxuICB0aGlzLl9mID0gMHg5YjA1Njg4Y1xuICB0aGlzLl9nID0gMHgxZjgzZDlhYlxuICB0aGlzLl9oID0gMHg1YmUwY2QxOVxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIGNoICh4LCB5LCB6KSB7XG4gIHJldHVybiB6IF4gKHggJiAoeSBeIHopKVxufVxuXG5mdW5jdGlvbiBtYWogKHgsIHksIHopIHtcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXG59XG5cbmZ1bmN0aW9uIHNpZ21hMCAoeCkge1xuICByZXR1cm4gKHggPj4+IDIgfCB4IDw8IDMwKSBeICh4ID4+PiAxMyB8IHggPDwgMTkpIF4gKHggPj4+IDIyIHwgeCA8PCAxMClcbn1cblxuZnVuY3Rpb24gc2lnbWExICh4KSB7XG4gIHJldHVybiAoeCA+Pj4gNiB8IHggPDwgMjYpIF4gKHggPj4+IDExIHwgeCA8PCAyMSkgXiAoeCA+Pj4gMjUgfCB4IDw8IDcpXG59XG5cbmZ1bmN0aW9uIGdhbW1hMCAoeCkge1xuICByZXR1cm4gKHggPj4+IDcgfCB4IDw8IDI1KSBeICh4ID4+PiAxOCB8IHggPDwgMTQpIF4gKHggPj4+IDMpXG59XG5cbmZ1bmN0aW9uIGdhbW1hMSAoeCkge1xuICByZXR1cm4gKHggPj4+IDE3IHwgeCA8PCAxNSkgXiAoeCA+Pj4gMTkgfCB4IDw8IDEzKSBeICh4ID4+PiAxMClcbn1cblxuU2hhMjU2LnByb3RvdHlwZS5fdXBkYXRlID0gZnVuY3Rpb24gKE0pIHtcbiAgdmFyIFcgPSB0aGlzLl93XG5cbiAgdmFyIGEgPSB0aGlzLl9hIHwgMFxuICB2YXIgYiA9IHRoaXMuX2IgfCAwXG4gIHZhciBjID0gdGhpcy5fYyB8IDBcbiAgdmFyIGQgPSB0aGlzLl9kIHwgMFxuICB2YXIgZSA9IHRoaXMuX2UgfCAwXG4gIHZhciBmID0gdGhpcy5fZiB8IDBcbiAgdmFyIGcgPSB0aGlzLl9nIHwgMFxuICB2YXIgaCA9IHRoaXMuX2ggfCAwXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgKytpKSBXW2ldID0gTS5yZWFkSW50MzJCRShpICogNClcbiAgZm9yICg7IGkgPCA2NDsgKytpKSBXW2ldID0gKGdhbW1hMShXW2kgLSAyXSkgKyBXW2kgLSA3XSArIGdhbW1hMChXW2kgLSAxNV0pICsgV1tpIC0gMTZdKSB8IDBcblxuICBmb3IgKHZhciBqID0gMDsgaiA8IDY0OyArK2opIHtcbiAgICB2YXIgVDEgPSAoaCArIHNpZ21hMShlKSArIGNoKGUsIGYsIGcpICsgS1tqXSArIFdbal0pIHwgMFxuICAgIHZhciBUMiA9IChzaWdtYTAoYSkgKyBtYWooYSwgYiwgYykpIHwgMFxuXG4gICAgaCA9IGdcbiAgICBnID0gZlxuICAgIGYgPSBlXG4gICAgZSA9IChkICsgVDEpIHwgMFxuICAgIGQgPSBjXG4gICAgYyA9IGJcbiAgICBiID0gYVxuICAgIGEgPSAoVDEgKyBUMikgfCAwXG4gIH1cblxuICB0aGlzLl9hID0gKGEgKyB0aGlzLl9hKSB8IDBcbiAgdGhpcy5fYiA9IChiICsgdGhpcy5fYikgfCAwXG4gIHRoaXMuX2MgPSAoYyArIHRoaXMuX2MpIHwgMFxuICB0aGlzLl9kID0gKGQgKyB0aGlzLl9kKSB8IDBcbiAgdGhpcy5fZSA9IChlICsgdGhpcy5fZSkgfCAwXG4gIHRoaXMuX2YgPSAoZiArIHRoaXMuX2YpIHwgMFxuICB0aGlzLl9nID0gKGcgKyB0aGlzLl9nKSB8IDBcbiAgdGhpcy5faCA9IChoICsgdGhpcy5faCkgfCAwXG59XG5cblNoYTI1Ni5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDMyKVxuXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2EsIDApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2IsIDQpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2MsIDgpXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2QsIDEyKVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9lLCAxNilcbiAgSC53cml0ZUludDMyQkUodGhpcy5fZiwgMjApXG4gIEgud3JpdGVJbnQzMkJFKHRoaXMuX2csIDI0KVxuICBILndyaXRlSW50MzJCRSh0aGlzLl9oLCAyOClcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTI1NlxuIiwidmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIFNIQTUxMiA9IHJlcXVpcmUoJy4vc2hhNTEyJylcbnZhciBIYXNoID0gcmVxdWlyZSgnLi9oYXNoJylcbnZhciBCdWZmZXIgPSByZXF1aXJlKCdzYWZlLWJ1ZmZlcicpLkJ1ZmZlclxuXG52YXIgVyA9IG5ldyBBcnJheSgxNjApXG5cbmZ1bmN0aW9uIFNoYTM4NCAoKSB7XG4gIHRoaXMuaW5pdCgpXG4gIHRoaXMuX3cgPSBXXG5cbiAgSGFzaC5jYWxsKHRoaXMsIDEyOCwgMTEyKVxufVxuXG5pbmhlcml0cyhTaGEzODQsIFNIQTUxMilcblxuU2hhMzg0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9haCA9IDB4Y2JiYjlkNWRcbiAgdGhpcy5fYmggPSAweDYyOWEyOTJhXG4gIHRoaXMuX2NoID0gMHg5MTU5MDE1YVxuICB0aGlzLl9kaCA9IDB4MTUyZmVjZDhcbiAgdGhpcy5fZWggPSAweDY3MzMyNjY3XG4gIHRoaXMuX2ZoID0gMHg4ZWI0NGE4N1xuICB0aGlzLl9naCA9IDB4ZGIwYzJlMGRcbiAgdGhpcy5faGggPSAweDQ3YjU0ODFkXG5cbiAgdGhpcy5fYWwgPSAweGMxMDU5ZWQ4XG4gIHRoaXMuX2JsID0gMHgzNjdjZDUwN1xuICB0aGlzLl9jbCA9IDB4MzA3MGRkMTdcbiAgdGhpcy5fZGwgPSAweGY3MGU1OTM5XG4gIHRoaXMuX2VsID0gMHhmZmMwMGIzMVxuICB0aGlzLl9mbCA9IDB4Njg1ODE1MTFcbiAgdGhpcy5fZ2wgPSAweDY0Zjk4ZmE3XG4gIHRoaXMuX2hsID0gMHhiZWZhNGZhNFxuXG4gIHJldHVybiB0aGlzXG59XG5cblNoYTM4NC5wcm90b3R5cGUuX2hhc2ggPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBIID0gQnVmZmVyLmFsbG9jVW5zYWZlKDQ4KVxuXG4gIGZ1bmN0aW9uIHdyaXRlSW50NjRCRSAoaCwgbCwgb2Zmc2V0KSB7XG4gICAgSC53cml0ZUludDMyQkUoaCwgb2Zmc2V0KVxuICAgIEgud3JpdGVJbnQzMkJFKGwsIG9mZnNldCArIDQpXG4gIH1cblxuICB3cml0ZUludDY0QkUodGhpcy5fYWgsIHRoaXMuX2FsLCAwKVxuICB3cml0ZUludDY0QkUodGhpcy5fYmgsIHRoaXMuX2JsLCA4KVxuICB3cml0ZUludDY0QkUodGhpcy5fY2gsIHRoaXMuX2NsLCAxNilcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2RoLCB0aGlzLl9kbCwgMjQpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9laCwgdGhpcy5fZWwsIDMyKVxuICB3cml0ZUludDY0QkUodGhpcy5fZmgsIHRoaXMuX2ZsLCA0MClcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTM4NFxuIiwidmFyIGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxudmFyIEhhc2ggPSByZXF1aXJlKCcuL2hhc2gnKVxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyXG5cbnZhciBLID0gW1xuICAweDQyOGEyZjk4LCAweGQ3MjhhZTIyLCAweDcxMzc0NDkxLCAweDIzZWY2NWNkLFxuICAweGI1YzBmYmNmLCAweGVjNGQzYjJmLCAweGU5YjVkYmE1LCAweDgxODlkYmJjLFxuICAweDM5NTZjMjViLCAweGYzNDhiNTM4LCAweDU5ZjExMWYxLCAweGI2MDVkMDE5LFxuICAweDkyM2Y4MmE0LCAweGFmMTk0ZjliLCAweGFiMWM1ZWQ1LCAweGRhNmQ4MTE4LFxuICAweGQ4MDdhYTk4LCAweGEzMDMwMjQyLCAweDEyODM1YjAxLCAweDQ1NzA2ZmJlLFxuICAweDI0MzE4NWJlLCAweDRlZTRiMjhjLCAweDU1MGM3ZGMzLCAweGQ1ZmZiNGUyLFxuICAweDcyYmU1ZDc0LCAweGYyN2I4OTZmLCAweDgwZGViMWZlLCAweDNiMTY5NmIxLFxuICAweDliZGMwNmE3LCAweDI1YzcxMjM1LCAweGMxOWJmMTc0LCAweGNmNjkyNjk0LFxuICAweGU0OWI2OWMxLCAweDllZjE0YWQyLCAweGVmYmU0Nzg2LCAweDM4NGYyNWUzLFxuICAweDBmYzE5ZGM2LCAweDhiOGNkNWI1LCAweDI0MGNhMWNjLCAweDc3YWM5YzY1LFxuICAweDJkZTkyYzZmLCAweDU5MmIwMjc1LCAweDRhNzQ4NGFhLCAweDZlYTZlNDgzLFxuICAweDVjYjBhOWRjLCAweGJkNDFmYmQ0LCAweDc2Zjk4OGRhLCAweDgzMTE1M2I1LFxuICAweDk4M2U1MTUyLCAweGVlNjZkZmFiLCAweGE4MzFjNjZkLCAweDJkYjQzMjEwLFxuICAweGIwMDMyN2M4LCAweDk4ZmIyMTNmLCAweGJmNTk3ZmM3LCAweGJlZWYwZWU0LFxuICAweGM2ZTAwYmYzLCAweDNkYTg4ZmMyLCAweGQ1YTc5MTQ3LCAweDkzMGFhNzI1LFxuICAweDA2Y2E2MzUxLCAweGUwMDM4MjZmLCAweDE0MjkyOTY3LCAweDBhMGU2ZTcwLFxuICAweDI3YjcwYTg1LCAweDQ2ZDIyZmZjLCAweDJlMWIyMTM4LCAweDVjMjZjOTI2LFxuICAweDRkMmM2ZGZjLCAweDVhYzQyYWVkLCAweDUzMzgwZDEzLCAweDlkOTViM2RmLFxuICAweDY1MGE3MzU0LCAweDhiYWY2M2RlLCAweDc2NmEwYWJiLCAweDNjNzdiMmE4LFxuICAweDgxYzJjOTJlLCAweDQ3ZWRhZWU2LCAweDkyNzIyYzg1LCAweDE0ODIzNTNiLFxuICAweGEyYmZlOGExLCAweDRjZjEwMzY0LCAweGE4MWE2NjRiLCAweGJjNDIzMDAxLFxuICAweGMyNGI4YjcwLCAweGQwZjg5NzkxLCAweGM3NmM1MWEzLCAweDA2NTRiZTMwLFxuICAweGQxOTJlODE5LCAweGQ2ZWY1MjE4LCAweGQ2OTkwNjI0LCAweDU1NjVhOTEwLFxuICAweGY0MGUzNTg1LCAweDU3NzEyMDJhLCAweDEwNmFhMDcwLCAweDMyYmJkMWI4LFxuICAweDE5YTRjMTE2LCAweGI4ZDJkMGM4LCAweDFlMzc2YzA4LCAweDUxNDFhYjUzLFxuICAweDI3NDg3NzRjLCAweGRmOGVlYjk5LCAweDM0YjBiY2I1LCAweGUxOWI0OGE4LFxuICAweDM5MWMwY2IzLCAweGM1Yzk1YTYzLCAweDRlZDhhYTRhLCAweGUzNDE4YWNiLFxuICAweDViOWNjYTRmLCAweDc3NjNlMzczLCAweDY4MmU2ZmYzLCAweGQ2YjJiOGEzLFxuICAweDc0OGY4MmVlLCAweDVkZWZiMmZjLCAweDc4YTU2MzZmLCAweDQzMTcyZjYwLFxuICAweDg0Yzg3ODE0LCAweGExZjBhYjcyLCAweDhjYzcwMjA4LCAweDFhNjQzOWVjLFxuICAweDkwYmVmZmZhLCAweDIzNjMxZTI4LCAweGE0NTA2Y2ViLCAweGRlODJiZGU5LFxuICAweGJlZjlhM2Y3LCAweGIyYzY3OTE1LCAweGM2NzE3OGYyLCAweGUzNzI1MzJiLFxuICAweGNhMjczZWNlLCAweGVhMjY2MTljLCAweGQxODZiOGM3LCAweDIxYzBjMjA3LFxuICAweGVhZGE3ZGQ2LCAweGNkZTBlYjFlLCAweGY1N2Q0ZjdmLCAweGVlNmVkMTc4LFxuICAweDA2ZjA2N2FhLCAweDcyMTc2ZmJhLCAweDBhNjM3ZGM1LCAweGEyYzg5OGE2LFxuICAweDExM2Y5ODA0LCAweGJlZjkwZGFlLCAweDFiNzEwYjM1LCAweDEzMWM0NzFiLFxuICAweDI4ZGI3N2Y1LCAweDIzMDQ3ZDg0LCAweDMyY2FhYjdiLCAweDQwYzcyNDkzLFxuICAweDNjOWViZTBhLCAweDE1YzliZWJjLCAweDQzMWQ2N2M0LCAweDljMTAwZDRjLFxuICAweDRjYzVkNGJlLCAweGNiM2U0MmI2LCAweDU5N2YyOTljLCAweGZjNjU3ZTJhLFxuICAweDVmY2I2ZmFiLCAweDNhZDZmYWVjLCAweDZjNDQxOThjLCAweDRhNDc1ODE3XG5dXG5cbnZhciBXID0gbmV3IEFycmF5KDE2MClcblxuZnVuY3Rpb24gU2hhNTEyICgpIHtcbiAgdGhpcy5pbml0KClcbiAgdGhpcy5fdyA9IFdcblxuICBIYXNoLmNhbGwodGhpcywgMTI4LCAxMTIpXG59XG5cbmluaGVyaXRzKFNoYTUxMiwgSGFzaClcblxuU2hhNTEyLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl9haCA9IDB4NmEwOWU2NjdcbiAgdGhpcy5fYmggPSAweGJiNjdhZTg1XG4gIHRoaXMuX2NoID0gMHgzYzZlZjM3MlxuICB0aGlzLl9kaCA9IDB4YTU0ZmY1M2FcbiAgdGhpcy5fZWggPSAweDUxMGU1MjdmXG4gIHRoaXMuX2ZoID0gMHg5YjA1Njg4Y1xuICB0aGlzLl9naCA9IDB4MWY4M2Q5YWJcbiAgdGhpcy5faGggPSAweDViZTBjZDE5XG5cbiAgdGhpcy5fYWwgPSAweGYzYmNjOTA4XG4gIHRoaXMuX2JsID0gMHg4NGNhYTczYlxuICB0aGlzLl9jbCA9IDB4ZmU5NGY4MmJcbiAgdGhpcy5fZGwgPSAweDVmMWQzNmYxXG4gIHRoaXMuX2VsID0gMHhhZGU2ODJkMVxuICB0aGlzLl9mbCA9IDB4MmIzZTZjMWZcbiAgdGhpcy5fZ2wgPSAweGZiNDFiZDZiXG4gIHRoaXMuX2hsID0gMHgxMzdlMjE3OVxuXG4gIHJldHVybiB0aGlzXG59XG5cbmZ1bmN0aW9uIENoICh4LCB5LCB6KSB7XG4gIHJldHVybiB6IF4gKHggJiAoeSBeIHopKVxufVxuXG5mdW5jdGlvbiBtYWogKHgsIHksIHopIHtcbiAgcmV0dXJuICh4ICYgeSkgfCAoeiAmICh4IHwgeSkpXG59XG5cbmZ1bmN0aW9uIHNpZ21hMCAoeCwgeGwpIHtcbiAgcmV0dXJuICh4ID4+PiAyOCB8IHhsIDw8IDQpIF4gKHhsID4+PiAyIHwgeCA8PCAzMCkgXiAoeGwgPj4+IDcgfCB4IDw8IDI1KVxufVxuXG5mdW5jdGlvbiBzaWdtYTEgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMTQgfCB4bCA8PCAxOCkgXiAoeCA+Pj4gMTggfCB4bCA8PCAxNCkgXiAoeGwgPj4+IDkgfCB4IDw8IDIzKVxufVxuXG5mdW5jdGlvbiBHYW1tYTAgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMSB8IHhsIDw8IDMxKSBeICh4ID4+PiA4IHwgeGwgPDwgMjQpIF4gKHggPj4+IDcpXG59XG5cbmZ1bmN0aW9uIEdhbW1hMGwgKHgsIHhsKSB7XG4gIHJldHVybiAoeCA+Pj4gMSB8IHhsIDw8IDMxKSBeICh4ID4+PiA4IHwgeGwgPDwgMjQpIF4gKHggPj4+IDcgfCB4bCA8PCAyNSlcbn1cblxuZnVuY3Rpb24gR2FtbWExICh4LCB4bCkge1xuICByZXR1cm4gKHggPj4+IDE5IHwgeGwgPDwgMTMpIF4gKHhsID4+PiAyOSB8IHggPDwgMykgXiAoeCA+Pj4gNilcbn1cblxuZnVuY3Rpb24gR2FtbWExbCAoeCwgeGwpIHtcbiAgcmV0dXJuICh4ID4+PiAxOSB8IHhsIDw8IDEzKSBeICh4bCA+Pj4gMjkgfCB4IDw8IDMpIF4gKHggPj4+IDYgfCB4bCA8PCAyNilcbn1cblxuZnVuY3Rpb24gZ2V0Q2FycnkgKGEsIGIpIHtcbiAgcmV0dXJuIChhID4+PiAwKSA8IChiID4+PiAwKSA/IDEgOiAwXG59XG5cblNoYTUxMi5wcm90b3R5cGUuX3VwZGF0ZSA9IGZ1bmN0aW9uIChNKSB7XG4gIHZhciBXID0gdGhpcy5fd1xuXG4gIHZhciBhaCA9IHRoaXMuX2FoIHwgMFxuICB2YXIgYmggPSB0aGlzLl9iaCB8IDBcbiAgdmFyIGNoID0gdGhpcy5fY2ggfCAwXG4gIHZhciBkaCA9IHRoaXMuX2RoIHwgMFxuICB2YXIgZWggPSB0aGlzLl9laCB8IDBcbiAgdmFyIGZoID0gdGhpcy5fZmggfCAwXG4gIHZhciBnaCA9IHRoaXMuX2doIHwgMFxuICB2YXIgaGggPSB0aGlzLl9oaCB8IDBcblxuICB2YXIgYWwgPSB0aGlzLl9hbCB8IDBcbiAgdmFyIGJsID0gdGhpcy5fYmwgfCAwXG4gIHZhciBjbCA9IHRoaXMuX2NsIHwgMFxuICB2YXIgZGwgPSB0aGlzLl9kbCB8IDBcbiAgdmFyIGVsID0gdGhpcy5fZWwgfCAwXG4gIHZhciBmbCA9IHRoaXMuX2ZsIHwgMFxuICB2YXIgZ2wgPSB0aGlzLl9nbCB8IDBcbiAgdmFyIGhsID0gdGhpcy5faGwgfCAwXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCAzMjsgaSArPSAyKSB7XG4gICAgV1tpXSA9IE0ucmVhZEludDMyQkUoaSAqIDQpXG4gICAgV1tpICsgMV0gPSBNLnJlYWRJbnQzMkJFKGkgKiA0ICsgNClcbiAgfVxuICBmb3IgKDsgaSA8IDE2MDsgaSArPSAyKSB7XG4gICAgdmFyIHhoID0gV1tpIC0gMTUgKiAyXVxuICAgIHZhciB4bCA9IFdbaSAtIDE1ICogMiArIDFdXG4gICAgdmFyIGdhbW1hMCA9IEdhbW1hMCh4aCwgeGwpXG4gICAgdmFyIGdhbW1hMGwgPSBHYW1tYTBsKHhsLCB4aClcblxuICAgIHhoID0gV1tpIC0gMiAqIDJdXG4gICAgeGwgPSBXW2kgLSAyICogMiArIDFdXG4gICAgdmFyIGdhbW1hMSA9IEdhbW1hMSh4aCwgeGwpXG4gICAgdmFyIGdhbW1hMWwgPSBHYW1tYTFsKHhsLCB4aClcblxuICAgIC8vIFdbaV0gPSBnYW1tYTAgKyBXW2kgLSA3XSArIGdhbW1hMSArIFdbaSAtIDE2XVxuICAgIHZhciBXaTdoID0gV1tpIC0gNyAqIDJdXG4gICAgdmFyIFdpN2wgPSBXW2kgLSA3ICogMiArIDFdXG5cbiAgICB2YXIgV2kxNmggPSBXW2kgLSAxNiAqIDJdXG4gICAgdmFyIFdpMTZsID0gV1tpIC0gMTYgKiAyICsgMV1cblxuICAgIHZhciBXaWwgPSAoZ2FtbWEwbCArIFdpN2wpIHwgMFxuICAgIHZhciBXaWggPSAoZ2FtbWEwICsgV2k3aCArIGdldENhcnJ5KFdpbCwgZ2FtbWEwbCkpIHwgMFxuICAgIFdpbCA9IChXaWwgKyBnYW1tYTFsKSB8IDBcbiAgICBXaWggPSAoV2loICsgZ2FtbWExICsgZ2V0Q2FycnkoV2lsLCBnYW1tYTFsKSkgfCAwXG4gICAgV2lsID0gKFdpbCArIFdpMTZsKSB8IDBcbiAgICBXaWggPSAoV2loICsgV2kxNmggKyBnZXRDYXJyeShXaWwsIFdpMTZsKSkgfCAwXG5cbiAgICBXW2ldID0gV2loXG4gICAgV1tpICsgMV0gPSBXaWxcbiAgfVxuXG4gIGZvciAodmFyIGogPSAwOyBqIDwgMTYwOyBqICs9IDIpIHtcbiAgICBXaWggPSBXW2pdXG4gICAgV2lsID0gV1tqICsgMV1cblxuICAgIHZhciBtYWpoID0gbWFqKGFoLCBiaCwgY2gpXG4gICAgdmFyIG1hamwgPSBtYWooYWwsIGJsLCBjbClcblxuICAgIHZhciBzaWdtYTBoID0gc2lnbWEwKGFoLCBhbClcbiAgICB2YXIgc2lnbWEwbCA9IHNpZ21hMChhbCwgYWgpXG4gICAgdmFyIHNpZ21hMWggPSBzaWdtYTEoZWgsIGVsKVxuICAgIHZhciBzaWdtYTFsID0gc2lnbWExKGVsLCBlaClcblxuICAgIC8vIHQxID0gaCArIHNpZ21hMSArIGNoICsgS1tqXSArIFdbal1cbiAgICB2YXIgS2loID0gS1tqXVxuICAgIHZhciBLaWwgPSBLW2ogKyAxXVxuXG4gICAgdmFyIGNoaCA9IENoKGVoLCBmaCwgZ2gpXG4gICAgdmFyIGNobCA9IENoKGVsLCBmbCwgZ2wpXG5cbiAgICB2YXIgdDFsID0gKGhsICsgc2lnbWExbCkgfCAwXG4gICAgdmFyIHQxaCA9IChoaCArIHNpZ21hMWggKyBnZXRDYXJyeSh0MWwsIGhsKSkgfCAwXG4gICAgdDFsID0gKHQxbCArIGNobCkgfCAwXG4gICAgdDFoID0gKHQxaCArIGNoaCArIGdldENhcnJ5KHQxbCwgY2hsKSkgfCAwXG4gICAgdDFsID0gKHQxbCArIEtpbCkgfCAwXG4gICAgdDFoID0gKHQxaCArIEtpaCArIGdldENhcnJ5KHQxbCwgS2lsKSkgfCAwXG4gICAgdDFsID0gKHQxbCArIFdpbCkgfCAwXG4gICAgdDFoID0gKHQxaCArIFdpaCArIGdldENhcnJ5KHQxbCwgV2lsKSkgfCAwXG5cbiAgICAvLyB0MiA9IHNpZ21hMCArIG1halxuICAgIHZhciB0MmwgPSAoc2lnbWEwbCArIG1hamwpIHwgMFxuICAgIHZhciB0MmggPSAoc2lnbWEwaCArIG1hamggKyBnZXRDYXJyeSh0MmwsIHNpZ21hMGwpKSB8IDBcblxuICAgIGhoID0gZ2hcbiAgICBobCA9IGdsXG4gICAgZ2ggPSBmaFxuICAgIGdsID0gZmxcbiAgICBmaCA9IGVoXG4gICAgZmwgPSBlbFxuICAgIGVsID0gKGRsICsgdDFsKSB8IDBcbiAgICBlaCA9IChkaCArIHQxaCArIGdldENhcnJ5KGVsLCBkbCkpIHwgMFxuICAgIGRoID0gY2hcbiAgICBkbCA9IGNsXG4gICAgY2ggPSBiaFxuICAgIGNsID0gYmxcbiAgICBiaCA9IGFoXG4gICAgYmwgPSBhbFxuICAgIGFsID0gKHQxbCArIHQybCkgfCAwXG4gICAgYWggPSAodDFoICsgdDJoICsgZ2V0Q2FycnkoYWwsIHQxbCkpIHwgMFxuICB9XG5cbiAgdGhpcy5fYWwgPSAodGhpcy5fYWwgKyBhbCkgfCAwXG4gIHRoaXMuX2JsID0gKHRoaXMuX2JsICsgYmwpIHwgMFxuICB0aGlzLl9jbCA9ICh0aGlzLl9jbCArIGNsKSB8IDBcbiAgdGhpcy5fZGwgPSAodGhpcy5fZGwgKyBkbCkgfCAwXG4gIHRoaXMuX2VsID0gKHRoaXMuX2VsICsgZWwpIHwgMFxuICB0aGlzLl9mbCA9ICh0aGlzLl9mbCArIGZsKSB8IDBcbiAgdGhpcy5fZ2wgPSAodGhpcy5fZ2wgKyBnbCkgfCAwXG4gIHRoaXMuX2hsID0gKHRoaXMuX2hsICsgaGwpIHwgMFxuXG4gIHRoaXMuX2FoID0gKHRoaXMuX2FoICsgYWggKyBnZXRDYXJyeSh0aGlzLl9hbCwgYWwpKSB8IDBcbiAgdGhpcy5fYmggPSAodGhpcy5fYmggKyBiaCArIGdldENhcnJ5KHRoaXMuX2JsLCBibCkpIHwgMFxuICB0aGlzLl9jaCA9ICh0aGlzLl9jaCArIGNoICsgZ2V0Q2FycnkodGhpcy5fY2wsIGNsKSkgfCAwXG4gIHRoaXMuX2RoID0gKHRoaXMuX2RoICsgZGggKyBnZXRDYXJyeSh0aGlzLl9kbCwgZGwpKSB8IDBcbiAgdGhpcy5fZWggPSAodGhpcy5fZWggKyBlaCArIGdldENhcnJ5KHRoaXMuX2VsLCBlbCkpIHwgMFxuICB0aGlzLl9maCA9ICh0aGlzLl9maCArIGZoICsgZ2V0Q2FycnkodGhpcy5fZmwsIGZsKSkgfCAwXG4gIHRoaXMuX2doID0gKHRoaXMuX2doICsgZ2ggKyBnZXRDYXJyeSh0aGlzLl9nbCwgZ2wpKSB8IDBcbiAgdGhpcy5faGggPSAodGhpcy5faGggKyBoaCArIGdldENhcnJ5KHRoaXMuX2hsLCBobCkpIHwgMFxufVxuXG5TaGE1MTIucHJvdG90eXBlLl9oYXNoID0gZnVuY3Rpb24gKCkge1xuICB2YXIgSCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZSg2NClcblxuICBmdW5jdGlvbiB3cml0ZUludDY0QkUgKGgsIGwsIG9mZnNldCkge1xuICAgIEgud3JpdGVJbnQzMkJFKGgsIG9mZnNldClcbiAgICBILndyaXRlSW50MzJCRShsLCBvZmZzZXQgKyA0KVxuICB9XG5cbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2FoLCB0aGlzLl9hbCwgMClcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2JoLCB0aGlzLl9ibCwgOClcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2NoLCB0aGlzLl9jbCwgMTYpXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9kaCwgdGhpcy5fZGwsIDI0KVxuICB3cml0ZUludDY0QkUodGhpcy5fZWgsIHRoaXMuX2VsLCAzMilcbiAgd3JpdGVJbnQ2NEJFKHRoaXMuX2ZoLCB0aGlzLl9mbCwgNDApXG4gIHdyaXRlSW50NjRCRSh0aGlzLl9naCwgdGhpcy5fZ2wsIDQ4KVxuICB3cml0ZUludDY0QkUodGhpcy5faGgsIHRoaXMuX2hsLCA1NilcblxuICByZXR1cm4gSFxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNoYTUxMlxuIiwiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbm1vZHVsZS5leHBvcnRzID0gU3RyZWFtO1xuXG52YXIgRUUgPSByZXF1aXJlKCdldmVudHMnKS5FdmVudEVtaXR0ZXI7XG52YXIgaW5oZXJpdHMgPSByZXF1aXJlKCdpbmhlcml0cycpO1xuXG5pbmhlcml0cyhTdHJlYW0sIEVFKTtcblN0cmVhbS5SZWFkYWJsZSA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcycpO1xuU3RyZWFtLldyaXRhYmxlID0gcmVxdWlyZSgncmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLmpzJyk7XG5TdHJlYW0uRHVwbGV4ID0gcmVxdWlyZSgncmVhZGFibGUtc3RyZWFtL2R1cGxleC5qcycpO1xuU3RyZWFtLlRyYW5zZm9ybSA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbS90cmFuc2Zvcm0uanMnKTtcblN0cmVhbS5QYXNzVGhyb3VnaCA9IHJlcXVpcmUoJ3JlYWRhYmxlLXN0cmVhbS9wYXNzdGhyb3VnaC5qcycpO1xuXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjQueFxuU3RyZWFtLlN0cmVhbSA9IFN0cmVhbTtcblxuXG5cbi8vIG9sZC1zdHlsZSBzdHJlYW1zLiAgTm90ZSB0aGF0IHRoZSBwaXBlIG1ldGhvZCAodGhlIG9ubHkgcmVsZXZhbnRcbi8vIHBhcnQgb2YgdGhpcyBjbGFzcykgaXMgb3ZlcnJpZGRlbiBpbiB0aGUgUmVhZGFibGUgY2xhc3MuXG5cbmZ1bmN0aW9uIFN0cmVhbSgpIHtcbiAgRUUuY2FsbCh0aGlzKTtcbn1cblxuU3RyZWFtLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24oZGVzdCwgb3B0aW9ucykge1xuICB2YXIgc291cmNlID0gdGhpcztcblxuICBmdW5jdGlvbiBvbmRhdGEoY2h1bmspIHtcbiAgICBpZiAoZGVzdC53cml0YWJsZSkge1xuICAgICAgaWYgKGZhbHNlID09PSBkZXN0LndyaXRlKGNodW5rKSAmJiBzb3VyY2UucGF1c2UpIHtcbiAgICAgICAgc291cmNlLnBhdXNlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc291cmNlLm9uKCdkYXRhJywgb25kYXRhKTtcblxuICBmdW5jdGlvbiBvbmRyYWluKCkge1xuICAgIGlmIChzb3VyY2UucmVhZGFibGUgJiYgc291cmNlLnJlc3VtZSkge1xuICAgICAgc291cmNlLnJlc3VtZSgpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XG5cbiAgLy8gSWYgdGhlICdlbmQnIG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIGRlc3QuZW5kKCkgd2lsbCBiZSBjYWxsZWQgd2hlblxuICAvLyBzb3VyY2UgZ2V0cyB0aGUgJ2VuZCcgb3IgJ2Nsb3NlJyBldmVudHMuICBPbmx5IGRlc3QuZW5kKCkgb25jZS5cbiAgaWYgKCFkZXN0Ll9pc1N0ZGlvICYmICghb3B0aW9ucyB8fCBvcHRpb25zLmVuZCAhPT0gZmFsc2UpKSB7XG4gICAgc291cmNlLm9uKCdlbmQnLCBvbmVuZCk7XG4gICAgc291cmNlLm9uKCdjbG9zZScsIG9uY2xvc2UpO1xuICB9XG5cbiAgdmFyIGRpZE9uRW5kID0gZmFsc2U7XG4gIGZ1bmN0aW9uIG9uZW5kKCkge1xuICAgIGlmIChkaWRPbkVuZCkgcmV0dXJuO1xuICAgIGRpZE9uRW5kID0gdHJ1ZTtcblxuICAgIGRlc3QuZW5kKCk7XG4gIH1cblxuXG4gIGZ1bmN0aW9uIG9uY2xvc2UoKSB7XG4gICAgaWYgKGRpZE9uRW5kKSByZXR1cm47XG4gICAgZGlkT25FbmQgPSB0cnVlO1xuXG4gICAgaWYgKHR5cGVvZiBkZXN0LmRlc3Ryb3kgPT09ICdmdW5jdGlvbicpIGRlc3QuZGVzdHJveSgpO1xuICB9XG5cbiAgLy8gZG9uJ3QgbGVhdmUgZGFuZ2xpbmcgcGlwZXMgd2hlbiB0aGVyZSBhcmUgZXJyb3JzLlxuICBmdW5jdGlvbiBvbmVycm9yKGVyKSB7XG4gICAgY2xlYW51cCgpO1xuICAgIGlmIChFRS5saXN0ZW5lckNvdW50KHRoaXMsICdlcnJvcicpID09PSAwKSB7XG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkIHN0cmVhbSBlcnJvciBpbiBwaXBlLlxuICAgIH1cbiAgfVxuXG4gIHNvdXJjZS5vbignZXJyb3InLCBvbmVycm9yKTtcbiAgZGVzdC5vbignZXJyb3InLCBvbmVycm9yKTtcblxuICAvLyByZW1vdmUgYWxsIHRoZSBldmVudCBsaXN0ZW5lcnMgdGhhdCB3ZXJlIGFkZGVkLlxuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZGF0YScsIG9uZGF0YSk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZHJhaW4nLCBvbmRyYWluKTtcblxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcblxuICAgIHNvdXJjZS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xuXG4gICAgc291cmNlLnJlbW92ZUxpc3RlbmVyKCdlbmQnLCBjbGVhbnVwKTtcbiAgICBzb3VyY2UucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgY2xlYW51cCk7XG5cbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIGNsZWFudXApO1xuICB9XG5cbiAgc291cmNlLm9uKCdlbmQnLCBjbGVhbnVwKTtcbiAgc291cmNlLm9uKCdjbG9zZScsIGNsZWFudXApO1xuXG4gIGRlc3Qub24oJ2Nsb3NlJywgY2xlYW51cCk7XG5cbiAgZGVzdC5lbWl0KCdwaXBlJywgc291cmNlKTtcblxuICAvLyBBbGxvdyBmb3IgdW5peC1saWtlIHVzYWdlOiBBLnBpcGUoQikucGlwZShDKVxuICByZXR1cm4gZGVzdDtcbn07XG4iLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnc2FmZS1idWZmZXInKS5CdWZmZXI7XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxudmFyIGlzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZyB8fCBmdW5jdGlvbiAoZW5jb2RpbmcpIHtcbiAgZW5jb2RpbmcgPSAnJyArIGVuY29kaW5nO1xuICBzd2l0Y2ggKGVuY29kaW5nICYmIGVuY29kaW5nLnRvTG93ZXJDYXNlKCkpIHtcbiAgICBjYXNlICdoZXgnOmNhc2UgJ3V0ZjgnOmNhc2UgJ3V0Zi04JzpjYXNlICdhc2NpaSc6Y2FzZSAnYmluYXJ5JzpjYXNlICdiYXNlNjQnOmNhc2UgJ3VjczInOmNhc2UgJ3Vjcy0yJzpjYXNlICd1dGYxNmxlJzpjYXNlICd1dGYtMTZsZSc6Y2FzZSAncmF3JzpcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIF9ub3JtYWxpemVFbmNvZGluZyhlbmMpIHtcbiAgaWYgKCFlbmMpIHJldHVybiAndXRmOCc7XG4gIHZhciByZXRyaWVkO1xuICB3aGlsZSAodHJ1ZSkge1xuICAgIHN3aXRjaCAoZW5jKSB7XG4gICAgICBjYXNlICd1dGY4JzpcbiAgICAgIGNhc2UgJ3V0Zi04JzpcbiAgICAgICAgcmV0dXJuICd1dGY4JztcbiAgICAgIGNhc2UgJ3VjczInOlxuICAgICAgY2FzZSAndWNzLTInOlxuICAgICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICBjYXNlICd1dGYtMTZsZSc6XG4gICAgICAgIHJldHVybiAndXRmMTZsZSc7XG4gICAgICBjYXNlICdsYXRpbjEnOlxuICAgICAgY2FzZSAnYmluYXJ5JzpcbiAgICAgICAgcmV0dXJuICdsYXRpbjEnO1xuICAgICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIGNhc2UgJ2FzY2lpJzpcbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIHJldHVybiBlbmM7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAocmV0cmllZCkgcmV0dXJuOyAvLyB1bmRlZmluZWRcbiAgICAgICAgZW5jID0gKCcnICsgZW5jKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXRyaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn07XG5cbi8vIERvIG5vdCBjYWNoZSBgQnVmZmVyLmlzRW5jb2RpbmdgIHdoZW4gY2hlY2tpbmcgZW5jb2RpbmcgbmFtZXMgYXMgc29tZVxuLy8gbW9kdWxlcyBtb25rZXktcGF0Y2ggaXQgdG8gc3VwcG9ydCBhZGRpdGlvbmFsIGVuY29kaW5nc1xuZnVuY3Rpb24gbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XG4gIHZhciBuZW5jID0gX25vcm1hbGl6ZUVuY29kaW5nKGVuYyk7XG4gIGlmICh0eXBlb2YgbmVuYyAhPT0gJ3N0cmluZycgJiYgKEJ1ZmZlci5pc0VuY29kaW5nID09PSBpc0VuY29kaW5nIHx8ICFpc0VuY29kaW5nKGVuYykpKSB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBlbmMpO1xuICByZXR1cm4gbmVuYyB8fCBlbmM7XG59XG5cbi8vIFN0cmluZ0RlY29kZXIgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBlZmZpY2llbnRseSBzcGxpdHRpbmcgYSBzZXJpZXMgb2Zcbi8vIGJ1ZmZlcnMgaW50byBhIHNlcmllcyBvZiBKUyBzdHJpbmdzIHdpdGhvdXQgYnJlYWtpbmcgYXBhcnQgbXVsdGktYnl0ZVxuLy8gY2hhcmFjdGVycy5cbmV4cG9ydHMuU3RyaW5nRGVjb2RlciA9IFN0cmluZ0RlY29kZXI7XG5mdW5jdGlvbiBTdHJpbmdEZWNvZGVyKGVuY29kaW5nKSB7XG4gIHRoaXMuZW5jb2RpbmcgPSBub3JtYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XG4gIHZhciBuYjtcbiAgc3dpdGNoICh0aGlzLmVuY29kaW5nKSB7XG4gICAgY2FzZSAndXRmMTZsZSc6XG4gICAgICB0aGlzLnRleHQgPSB1dGYxNlRleHQ7XG4gICAgICB0aGlzLmVuZCA9IHV0ZjE2RW5kO1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAndXRmOCc6XG4gICAgICB0aGlzLmZpbGxMYXN0ID0gdXRmOEZpbGxMYXN0O1xuICAgICAgbmIgPSA0O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYmFzZTY0JzpcbiAgICAgIHRoaXMudGV4dCA9IGJhc2U2NFRleHQ7XG4gICAgICB0aGlzLmVuZCA9IGJhc2U2NEVuZDtcbiAgICAgIG5iID0gMztcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aGlzLndyaXRlID0gc2ltcGxlV3JpdGU7XG4gICAgICB0aGlzLmVuZCA9IHNpbXBsZUVuZDtcbiAgICAgIHJldHVybjtcbiAgfVxuICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgdGhpcy5sYXN0VG90YWwgPSAwO1xuICB0aGlzLmxhc3RDaGFyID0gQnVmZmVyLmFsbG9jVW5zYWZlKG5iKTtcbn1cblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmIChidWYubGVuZ3RoID09PSAwKSByZXR1cm4gJyc7XG4gIHZhciByO1xuICB2YXIgaTtcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcbiAgICByID0gdGhpcy5maWxsTGFzdChidWYpO1xuICAgIGlmIChyID09PSB1bmRlZmluZWQpIHJldHVybiAnJztcbiAgICBpID0gdGhpcy5sYXN0TmVlZDtcbiAgICB0aGlzLmxhc3ROZWVkID0gMDtcbiAgfSBlbHNlIHtcbiAgICBpID0gMDtcbiAgfVxuICBpZiAoaSA8IGJ1Zi5sZW5ndGgpIHJldHVybiByID8gciArIHRoaXMudGV4dChidWYsIGkpIDogdGhpcy50ZXh0KGJ1ZiwgaSk7XG4gIHJldHVybiByIHx8ICcnO1xufTtcblxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gdXRmOEVuZDtcblxuLy8gUmV0dXJucyBvbmx5IGNvbXBsZXRlIGNoYXJhY3RlcnMgaW4gYSBCdWZmZXJcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLnRleHQgPSB1dGY4VGV4dDtcblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBwYXJ0aWFsIG5vbi1VVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlclxuU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZmlsbExhc3QgPSBmdW5jdGlvbiAoYnVmKSB7XG4gIGlmICh0aGlzLmxhc3ROZWVkIDw9IGJ1Zi5sZW5ndGgpIHtcbiAgICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIHRoaXMubGFzdE5lZWQpO1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcbiAgfVxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59O1xuXG4vLyBDaGVja3MgdGhlIHR5cGUgb2YgYSBVVEYtOCBieXRlLCB3aGV0aGVyIGl0J3MgQVNDSUksIGEgbGVhZGluZyBieXRlLCBvciBhXG4vLyBjb250aW51YXRpb24gYnl0ZS4gSWYgYW4gaW52YWxpZCBieXRlIGlzIGRldGVjdGVkLCAtMiBpcyByZXR1cm5lZC5cbmZ1bmN0aW9uIHV0ZjhDaGVja0J5dGUoYnl0ZSkge1xuICBpZiAoYnl0ZSA8PSAweDdGKSByZXR1cm4gMDtlbHNlIGlmIChieXRlID4+IDUgPT09IDB4MDYpIHJldHVybiAyO2Vsc2UgaWYgKGJ5dGUgPj4gNCA9PT0gMHgwRSkgcmV0dXJuIDM7ZWxzZSBpZiAoYnl0ZSA+PiAzID09PSAweDFFKSByZXR1cm4gNDtcbiAgcmV0dXJuIGJ5dGUgPj4gNiA9PT0gMHgwMiA/IC0xIDogLTI7XG59XG5cbi8vIENoZWNrcyBhdCBtb3N0IDMgYnl0ZXMgYXQgdGhlIGVuZCBvZiBhIEJ1ZmZlciBpbiBvcmRlciB0byBkZXRlY3QgYW5cbi8vIGluY29tcGxldGUgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIuIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgKDIsIDMsIG9yIDQpXG4vLyBuZWVkZWQgdG8gY29tcGxldGUgdGhlIFVURi04IGNoYXJhY3RlciAoaWYgYXBwbGljYWJsZSkgYXJlIHJldHVybmVkLlxuZnVuY3Rpb24gdXRmOENoZWNrSW5jb21wbGV0ZShzZWxmLCBidWYsIGkpIHtcbiAgdmFyIGogPSBidWYubGVuZ3RoIC0gMTtcbiAgaWYgKGogPCBpKSByZXR1cm4gMDtcbiAgdmFyIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDE7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHNlbGYubGFzdE5lZWQgPSBuYiAtIDI7XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIGlmICgtLWogPCBpIHx8IG5iID09PSAtMikgcmV0dXJuIDA7XG4gIG5iID0gdXRmOENoZWNrQnl0ZShidWZbal0pO1xuICBpZiAobmIgPj0gMCkge1xuICAgIGlmIChuYiA+IDApIHtcbiAgICAgIGlmIChuYiA9PT0gMikgbmIgPSAwO2Vsc2Ugc2VsZi5sYXN0TmVlZCA9IG5iIC0gMztcbiAgICB9XG4gICAgcmV0dXJuIG5iO1xuICB9XG4gIHJldHVybiAwO1xufVxuXG4vLyBWYWxpZGF0ZXMgYXMgbWFueSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgYXNcbi8vIG5lZWRlZCBvciBhcmUgYXZhaWxhYmxlLiBJZiB3ZSBzZWUgYSBub24tY29udGludWF0aW9uIGJ5dGUgd2hlcmUgd2UgZXhwZWN0XG4vLyBvbmUsIHdlIFwicmVwbGFjZVwiIHRoZSB2YWxpZGF0ZWQgY29udGludWF0aW9uIGJ5dGVzIHdlJ3ZlIHNlZW4gc28gZmFyIHdpdGhcbi8vIGEgc2luZ2xlIFVURi04IHJlcGxhY2VtZW50IGNoYXJhY3RlciAoJ1xcdWZmZmQnKSwgdG8gbWF0Y2ggdjgncyBVVEYtOCBkZWNvZGluZ1xuLy8gYmVoYXZpb3IuIFRoZSBjb250aW51YXRpb24gYnl0ZSBjaGVjayBpcyBpbmNsdWRlZCB0aHJlZSB0aW1lcyBpbiB0aGUgY2FzZVxuLy8gd2hlcmUgYWxsIG9mIHRoZSBjb250aW51YXRpb24gYnl0ZXMgZm9yIGEgY2hhcmFjdGVyIGV4aXN0IGluIHRoZSBzYW1lIGJ1ZmZlci5cbi8vIEl0IGlzIGFsc28gZG9uZSB0aGlzIHdheSBhcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBpbmNyZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGFcbi8vIGxvb3AuXG5mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHNlbGYsIGJ1ZiwgcCkge1xuICBpZiAoKGJ1ZlswXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgc2VsZi5sYXN0TmVlZCA9IDA7XG4gICAgcmV0dXJuICdcXHVmZmZkJztcbiAgfVxuICBpZiAoc2VsZi5sYXN0TmVlZCA+IDEgJiYgYnVmLmxlbmd0aCA+IDEpIHtcbiAgICBpZiAoKGJ1ZlsxXSAmIDB4QzApICE9PSAweDgwKSB7XG4gICAgICBzZWxmLmxhc3ROZWVkID0gMTtcbiAgICAgIHJldHVybiAnXFx1ZmZmZCc7XG4gICAgfVxuICAgIGlmIChzZWxmLmxhc3ROZWVkID4gMiAmJiBidWYubGVuZ3RoID4gMikge1xuICAgICAgaWYgKChidWZbMl0gJiAweEMwKSAhPT0gMHg4MCkge1xuICAgICAgICBzZWxmLmxhc3ROZWVkID0gMjtcbiAgICAgICAgcmV0dXJuICdcXHVmZmZkJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQXR0ZW1wdHMgdG8gY29tcGxldGUgYSBtdWx0aS1ieXRlIFVURi04IGNoYXJhY3RlciB1c2luZyBieXRlcyBmcm9tIGEgQnVmZmVyLlxuZnVuY3Rpb24gdXRmOEZpbGxMYXN0KGJ1Zikge1xuICB2YXIgcCA9IHRoaXMubGFzdFRvdGFsIC0gdGhpcy5sYXN0TmVlZDtcbiAgdmFyIHIgPSB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHRoaXMsIGJ1ZiwgcCk7XG4gIGlmIChyICE9PSB1bmRlZmluZWQpIHJldHVybiByO1xuICBpZiAodGhpcy5sYXN0TmVlZCA8PSBidWYubGVuZ3RoKSB7XG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgcCwgMCwgdGhpcy5sYXN0TmVlZCk7XG4gICAgcmV0dXJuIHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywgMCwgdGhpcy5sYXN0VG90YWwpO1xuICB9XG4gIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIGJ1Zi5sZW5ndGgpO1xuICB0aGlzLmxhc3ROZWVkIC09IGJ1Zi5sZW5ndGg7XG59XG5cbi8vIFJldHVybnMgYWxsIGNvbXBsZXRlIFVURi04IGNoYXJhY3RlcnMgaW4gYSBCdWZmZXIuIElmIHRoZSBCdWZmZXIgZW5kZWQgb24gYVxuLy8gcGFydGlhbCBjaGFyYWN0ZXIsIHRoZSBjaGFyYWN0ZXIncyBieXRlcyBhcmUgYnVmZmVyZWQgdW50aWwgdGhlIHJlcXVpcmVkXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXJlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIHV0ZjhUZXh0KGJ1ZiwgaSkge1xuICB2YXIgdG90YWwgPSB1dGY4Q2hlY2tJbmNvbXBsZXRlKHRoaXMsIGJ1ZiwgaSk7XG4gIGlmICghdGhpcy5sYXN0TmVlZCkgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGkpO1xuICB0aGlzLmxhc3RUb3RhbCA9IHRvdGFsO1xuICB2YXIgZW5kID0gYnVmLmxlbmd0aCAtICh0b3RhbCAtIHRoaXMubGFzdE5lZWQpO1xuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCAwLCBlbmQpO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGY4JywgaSwgZW5kKTtcbn1cblxuLy8gRm9yIFVURi04LCBhIHJlcGxhY2VtZW50IGNoYXJhY3RlciBpcyBhZGRlZCB3aGVuIGVuZGluZyBvbiBhIHBhcnRpYWxcbi8vIGNoYXJhY3Rlci5cbmZ1bmN0aW9uIHV0ZjhFbmQoYnVmKSB7XG4gIHZhciByID0gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHJldHVybiByICsgJ1xcdWZmZmQnO1xuICByZXR1cm4gcjtcbn1cblxuLy8gVVRGLTE2TEUgdHlwaWNhbGx5IG5lZWRzIHR3byBieXRlcyBwZXIgY2hhcmFjdGVyLCBidXQgZXZlbiBpZiB3ZSBoYXZlIGFuIGV2ZW5cbi8vIG51bWJlciBvZiBieXRlcyBhdmFpbGFibGUsIHdlIG5lZWQgdG8gY2hlY2sgaWYgd2UgZW5kIG9uIGEgbGVhZGluZy9oaWdoXG4vLyBzdXJyb2dhdGUuIEluIHRoYXQgY2FzZSwgd2UgbmVlZCB0byB3YWl0IGZvciB0aGUgbmV4dCB0d28gYnl0ZXMgaW4gb3JkZXIgdG9cbi8vIGRlY29kZSB0aGUgbGFzdCBjaGFyYWN0ZXIgcHJvcGVybHkuXG5mdW5jdGlvbiB1dGYxNlRleHQoYnVmLCBpKSB7XG4gIGlmICgoYnVmLmxlbmd0aCAtIGkpICUgMiA9PT0gMCkge1xuICAgIHZhciByID0gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSk7XG4gICAgaWYgKHIpIHtcbiAgICAgIHZhciBjID0gci5jaGFyQ29kZUF0KHIubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAoYyA+PSAweEQ4MDAgJiYgYyA8PSAweERCRkYpIHtcbiAgICAgICAgdGhpcy5sYXN0TmVlZCA9IDI7XG4gICAgICAgIHRoaXMubGFzdFRvdGFsID0gNDtcbiAgICAgICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XG4gICAgICAgIHRoaXMubGFzdENoYXJbMV0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICAgICAgICByZXR1cm4gci5zbGljZSgwLCAtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByO1xuICB9XG4gIHRoaXMubGFzdE5lZWQgPSAxO1xuICB0aGlzLmxhc3RUb3RhbCA9IDI7XG4gIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDFdO1xuICByZXR1cm4gYnVmLnRvU3RyaW5nKCd1dGYxNmxlJywgaSwgYnVmLmxlbmd0aCAtIDEpO1xufVxuXG4vLyBGb3IgVVRGLTE2TEUgd2UgZG8gbm90IGV4cGxpY2l0bHkgYXBwZW5kIHNwZWNpYWwgcmVwbGFjZW1lbnQgY2hhcmFjdGVycyBpZiB3ZVxuLy8gZW5kIG9uIGEgcGFydGlhbCBjaGFyYWN0ZXIsIHdlIHNpbXBseSBsZXQgdjggaGFuZGxlIHRoYXQuXG5mdW5jdGlvbiB1dGYxNkVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkge1xuICAgIHZhciBlbmQgPSB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQ7XG4gICAgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCd1dGYxNmxlJywgMCwgZW5kKTtcbiAgfVxuICByZXR1cm4gcjtcbn1cblxuZnVuY3Rpb24gYmFzZTY0VGV4dChidWYsIGkpIHtcbiAgdmFyIG4gPSAoYnVmLmxlbmd0aCAtIGkpICUgMztcbiAgaWYgKG4gPT09IDApIHJldHVybiBidWYudG9TdHJpbmcoJ2Jhc2U2NCcsIGkpO1xuICB0aGlzLmxhc3ROZWVkID0gMyAtIG47XG4gIHRoaXMubGFzdFRvdGFsID0gMztcbiAgaWYgKG4gPT09IDEpIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAyXTtcbiAgICB0aGlzLmxhc3RDaGFyWzFdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgfVxuICByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpLCBidWYubGVuZ3RoIC0gbik7XG59XG5cbmZ1bmN0aW9uIGJhc2U2NEVuZChidWYpIHtcbiAgdmFyIHIgPSBidWYgJiYgYnVmLmxlbmd0aCA/IHRoaXMud3JpdGUoYnVmKSA6ICcnO1xuICBpZiAodGhpcy5sYXN0TmVlZCkgcmV0dXJuIHIgKyB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCdiYXNlNjQnLCAwLCAzIC0gdGhpcy5sYXN0TmVlZCk7XG4gIHJldHVybiByO1xufVxuXG4vLyBQYXNzIGJ5dGVzIG9uIHRocm91Z2ggZm9yIHNpbmdsZS1ieXRlIGVuY29kaW5ncyAoZS5nLiBhc2NpaSwgbGF0aW4xLCBoZXgpXG5mdW5jdGlvbiBzaW1wbGVXcml0ZShidWYpIHtcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcbn1cblxuZnVuY3Rpb24gc2ltcGxlRW5kKGJ1Zikge1xuICByZXR1cm4gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbn0iLCJ2YXIgc2NvcGUgPSAodHlwZW9mIGdsb2JhbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBnbG9iYWwpIHx8XG4gICAgICAgICAgICAodHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZikgfHxcbiAgICAgICAgICAgIHdpbmRvdztcbnZhciBhcHBseSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtcblxuLy8gRE9NIEFQSXMsIGZvciBjb21wbGV0ZW5lc3NcblxuZXhwb3J0cy5zZXRUaW1lb3V0ID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldFRpbWVvdXQsIHNjb3BlLCBhcmd1bWVudHMpLCBjbGVhclRpbWVvdXQpO1xufTtcbmV4cG9ydHMuc2V0SW50ZXJ2YWwgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIG5ldyBUaW1lb3V0KGFwcGx5LmNhbGwoc2V0SW50ZXJ2YWwsIHNjb3BlLCBhcmd1bWVudHMpLCBjbGVhckludGVydmFsKTtcbn07XG5leHBvcnRzLmNsZWFyVGltZW91dCA9XG5leHBvcnRzLmNsZWFySW50ZXJ2YWwgPSBmdW5jdGlvbih0aW1lb3V0KSB7XG4gIGlmICh0aW1lb3V0KSB7XG4gICAgdGltZW91dC5jbG9zZSgpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBUaW1lb3V0KGlkLCBjbGVhckZuKSB7XG4gIHRoaXMuX2lkID0gaWQ7XG4gIHRoaXMuX2NsZWFyRm4gPSBjbGVhckZuO1xufVxuVGltZW91dC5wcm90b3R5cGUudW5yZWYgPSBUaW1lb3V0LnByb3RvdHlwZS5yZWYgPSBmdW5jdGlvbigpIHt9O1xuVGltZW91dC5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5fY2xlYXJGbi5jYWxsKHNjb3BlLCB0aGlzLl9pZCk7XG59O1xuXG4vLyBEb2VzIG5vdCBzdGFydCB0aGUgdGltZSwganVzdCBzZXRzIHVwIHRoZSBtZW1iZXJzIG5lZWRlZC5cbmV4cG9ydHMuZW5yb2xsID0gZnVuY3Rpb24oaXRlbSwgbXNlY3MpIHtcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xuICBpdGVtLl9pZGxlVGltZW91dCA9IG1zZWNzO1xufTtcblxuZXhwb3J0cy51bmVucm9sbCA9IGZ1bmN0aW9uKGl0ZW0pIHtcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xuICBpdGVtLl9pZGxlVGltZW91dCA9IC0xO1xufTtcblxuZXhwb3J0cy5fdW5yZWZBY3RpdmUgPSBleHBvcnRzLmFjdGl2ZSA9IGZ1bmN0aW9uKGl0ZW0pIHtcbiAgY2xlYXJUaW1lb3V0KGl0ZW0uX2lkbGVUaW1lb3V0SWQpO1xuXG4gIHZhciBtc2VjcyA9IGl0ZW0uX2lkbGVUaW1lb3V0O1xuICBpZiAobXNlY3MgPj0gMCkge1xuICAgIGl0ZW0uX2lkbGVUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uIG9uVGltZW91dCgpIHtcbiAgICAgIGlmIChpdGVtLl9vblRpbWVvdXQpXG4gICAgICAgIGl0ZW0uX29uVGltZW91dCgpO1xuICAgIH0sIG1zZWNzKTtcbiAgfVxufTtcblxuLy8gc2V0aW1tZWRpYXRlIGF0dGFjaGVzIGl0c2VsZiB0byB0aGUgZ2xvYmFsIG9iamVjdFxucmVxdWlyZShcInNldGltbWVkaWF0ZVwiKTtcbi8vIE9uIHNvbWUgZXhvdGljIGVudmlyb25tZW50cywgaXQncyBub3QgY2xlYXIgd2hpY2ggb2JqZWN0IGBzZXRpbW1lZGlhdGVgIHdhc1xuLy8gYWJsZSB0byBpbnN0YWxsIG9udG8uICBTZWFyY2ggZWFjaCBwb3NzaWJpbGl0eSBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGVcbi8vIGBzZXRpbW1lZGlhdGVgIGxpYnJhcnkuXG5leHBvcnRzLnNldEltbWVkaWF0ZSA9ICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLnNldEltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgKHR5cGVvZiBnbG9iYWwgIT09IFwidW5kZWZpbmVkXCIgJiYgZ2xvYmFsLnNldEltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMgJiYgdGhpcy5zZXRJbW1lZGlhdGUpO1xuZXhwb3J0cy5jbGVhckltbWVkaWF0ZSA9ICh0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLmNsZWFySW1tZWRpYXRlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiICYmIGdsb2JhbC5jbGVhckltbWVkaWF0ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAodGhpcyAmJiB0aGlzLmNsZWFySW1tZWRpYXRlKTtcbiIsIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcblBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG5wdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcblJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbklORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG5MT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcblBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcclxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xyXG4gICAgICAgIH1cclxuICAgIHJldHVybiB0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xyXG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XHJcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xyXG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcGFyYW0ocGFyYW1JbmRleCwgZGVjb3JhdG9yKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCwga2V5KSB7IGRlY29yYXRvcih0YXJnZXQsIGtleSwgcGFyYW1JbmRleCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpIHtcclxuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xyXG4gICAgdmFyIF8gPSB7IGxhYmVsOiAwLCBzZW50OiBmdW5jdGlvbigpIHsgaWYgKHRbMF0gJiAxKSB0aHJvdyB0WzFdOyByZXR1cm4gdFsxXTsgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcclxuICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChfKSB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XHJcbiAgICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcclxuICAgICAgICAgICAgc3dpdGNoIChvcFswXSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAwOiBjYXNlIDE6IHQgPSBvcDsgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDQ6IF8ubGFiZWwrKzsgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xyXG4gICAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgY2FzZSA3OiBvcCA9IF8ub3BzLnBvcCgpOyBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IChvcFsxXSA+IHRbMF0gJiYgb3BbMV0gPCB0WzNdKSkpIHsgXy5sYWJlbCA9IG9wWzFdOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkgeyBfLmxhYmVsID0gdFsxXTsgdCA9IG9wOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAodFsyXSkgXy5vcHMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgXy50cnlzLnBvcCgpOyBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7IG9wID0gWzYsIGVdOyB5ID0gMDsgfSBmaW5hbGx5IHsgZiA9IHQgPSAwOyB9XHJcbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2NyZWF0ZUJpbmRpbmcobywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4cG9ydFN0YXIobSwgZXhwb3J0cykge1xyXG4gICAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIWV4cG9ydHMuaGFzT3duUHJvcGVydHkocCkpIGV4cG9ydHNbcF0gPSBtW3BdO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xyXG4gICAgdmFyIHMgPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgU3ltYm9sLml0ZXJhdG9yLCBtID0gcyAmJiBvW3NdLCBpID0gMDtcclxuICAgIGlmIChtKSByZXR1cm4gbS5jYWxsKG8pO1xyXG4gICAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRHZXQocmVjZWl2ZXIsIHByaXZhdGVNYXApIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBnZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJpdmF0ZU1hcC5nZXQocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZFNldChyZWNlaXZlciwgcHJpdmF0ZU1hcCwgdmFsdWUpIHtcclxuICAgIGlmICghcHJpdmF0ZU1hcC5oYXMocmVjZWl2ZXIpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byBzZXQgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlTWFwLnNldChyZWNlaXZlciwgdmFsdWUpO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG59XHJcbiIsIlxuLyoqXG4gKiBNb2R1bGUgZXhwb3J0cy5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlcHJlY2F0ZTtcblxuLyoqXG4gKiBNYXJrIHRoYXQgYSBtZXRob2Qgc2hvdWxkIG5vdCBiZSB1c2VkLlxuICogUmV0dXJucyBhIG1vZGlmaWVkIGZ1bmN0aW9uIHdoaWNoIHdhcm5zIG9uY2UgYnkgZGVmYXVsdC5cbiAqXG4gKiBJZiBgbG9jYWxTdG9yYWdlLm5vRGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gaXQgaXMgYSBuby1vcC5cbiAqXG4gKiBJZiBgbG9jYWxTdG9yYWdlLnRocm93RGVwcmVjYXRpb24gPSB0cnVlYCBpcyBzZXQsIHRoZW4gZGVwcmVjYXRlZCBmdW5jdGlvbnNcbiAqIHdpbGwgdGhyb3cgYW4gRXJyb3Igd2hlbiBpbnZva2VkLlxuICpcbiAqIElmIGBsb2NhbFN0b3JhZ2UudHJhY2VEZXByZWNhdGlvbiA9IHRydWVgIGlzIHNldCwgdGhlbiBkZXByZWNhdGVkIGZ1bmN0aW9uc1xuICogd2lsbCBpbnZva2UgYGNvbnNvbGUudHJhY2UoKWAgaW5zdGVhZCBvZiBgY29uc29sZS5lcnJvcigpYC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiAtIHRoZSBmdW5jdGlvbiB0byBkZXByZWNhdGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBtc2cgLSB0aGUgc3RyaW5nIHRvIHByaW50IHRvIHRoZSBjb25zb2xlIHdoZW4gYGZuYCBpcyBpbnZva2VkXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IGEgbmV3IFwiZGVwcmVjYXRlZFwiIHZlcnNpb24gb2YgYGZuYFxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBkZXByZWNhdGUgKGZuLCBtc2cpIHtcbiAgaWYgKGNvbmZpZygnbm9EZXByZWNhdGlvbicpKSB7XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuICBmdW5jdGlvbiBkZXByZWNhdGVkKCkge1xuICAgIGlmICghd2FybmVkKSB7XG4gICAgICBpZiAoY29uZmlnKCd0aHJvd0RlcHJlY2F0aW9uJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKG1zZyk7XG4gICAgICB9IGVsc2UgaWYgKGNvbmZpZygndHJhY2VEZXByZWNhdGlvbicpKSB7XG4gICAgICAgIGNvbnNvbGUudHJhY2UobXNnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2Fybihtc2cpO1xuICAgICAgfVxuICAgICAgd2FybmVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIH1cblxuICByZXR1cm4gZGVwcmVjYXRlZDtcbn1cblxuLyoqXG4gKiBDaGVja3MgYGxvY2FsU3RvcmFnZWAgZm9yIGJvb2xlYW4gdmFsdWVzIGZvciB0aGUgZ2l2ZW4gYG5hbWVgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGNvbmZpZyAobmFtZSkge1xuICAvLyBhY2Nlc3NpbmcgZ2xvYmFsLmxvY2FsU3RvcmFnZSBjYW4gdHJpZ2dlciBhIERPTUV4Y2VwdGlvbiBpbiBzYW5kYm94ZWQgaWZyYW1lc1xuICB0cnkge1xuICAgIGlmICghZ2xvYmFsLmxvY2FsU3RvcmFnZSkgcmV0dXJuIGZhbHNlO1xuICB9IGNhdGNoIChfKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB2YWwgPSBnbG9iYWwubG9jYWxTdG9yYWdlW25hbWVdO1xuICBpZiAobnVsbCA9PSB2YWwpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIFN0cmluZyh2YWwpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJztcbn1cbiIsInZhciBnO1xuXG4vLyBUaGlzIHdvcmtzIGluIG5vbi1zdHJpY3QgbW9kZVxuZyA9IChmdW5jdGlvbigpIHtcblx0cmV0dXJuIHRoaXM7XG59KSgpO1xuXG50cnkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIGV2YWwgaXMgYWxsb3dlZCAoc2VlIENTUClcblx0ZyA9IGcgfHwgbmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKTtcbn0gY2F0Y2ggKGUpIHtcblx0Ly8gVGhpcyB3b3JrcyBpZiB0aGUgd2luZG93IHJlZmVyZW5jZSBpcyBhdmFpbGFibGVcblx0aWYgKHR5cGVvZiB3aW5kb3cgPT09IFwib2JqZWN0XCIpIGcgPSB3aW5kb3c7XG59XG5cbi8vIGcgY2FuIHN0aWxsIGJlIHVuZGVmaW5lZCwgYnV0IG5vdGhpbmcgdG8gZG8gYWJvdXQgaXQuLi5cbi8vIFdlIHJldHVybiB1bmRlZmluZWQsIGluc3RlYWQgb2Ygbm90aGluZyBoZXJlLCBzbyBpdCdzXG4vLyBlYXNpZXIgdG8gaGFuZGxlIHRoaXMgY2FzZS4gaWYoIWdsb2JhbCkgeyAuLi59XG5cbm1vZHVsZS5leHBvcnRzID0gZztcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24obW9kdWxlKSB7XG5cdGlmICghbW9kdWxlLndlYnBhY2tQb2x5ZmlsbCkge1xuXHRcdG1vZHVsZS5kZXByZWNhdGUgPSBmdW5jdGlvbigpIHt9O1xuXHRcdG1vZHVsZS5wYXRocyA9IFtdO1xuXHRcdC8vIG1vZHVsZS5wYXJlbnQgPSB1bmRlZmluZWQgYnkgZGVmYXVsdFxuXHRcdGlmICghbW9kdWxlLmNoaWxkcmVuKSBtb2R1bGUuY2hpbGRyZW4gPSBbXTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImxvYWRlZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5sO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwiaWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUuaTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRtb2R1bGUud2VicGFja1BvbHlmaWxsID0gMTtcblx0fVxuXHRyZXR1cm4gbW9kdWxlO1xufTtcbiIsIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XHJcbmNvbnN0IHRzbGliXzEgPSByZXF1aXJlKFwidHNsaWJcIik7XHJcbmNvbnN0IGFhcmR2YXJrX3JlYWN0XzEgPSByZXF1aXJlKFwiQGFhcmR2YXJreHIvYWFyZHZhcmstcmVhY3RcIik7XHJcbmNvbnN0IGFhcmR2YXJrX3NoYXJlZF8xID0gcmVxdWlyZShcIkBhYXJkdmFya3hyL2FhcmR2YXJrLXNoYXJlZFwiKTtcclxuY29uc3QgYmluZF9kZWNvcmF0b3JfMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJiaW5kLWRlY29yYXRvclwiKSk7XHJcbmNvbnN0IFJlYWN0ID0gdHNsaWJfMS5fX2ltcG9ydFN0YXIocmVxdWlyZShcInJlYWN0XCIpKTtcclxuZnVuY3Rpb24gYWRkVm9sdW1lVHJhbnNmb3Jtcyh0cmFuc2Zvcm0xLCB0cmFuc2Zvcm0yKSB7XHJcbiAgICB2YXIgX2EsIF9iLCBfYywgX2QsIF9lLCBfZiwgX2csIF9oLCBfaiwgX2ssIF9sLCBfbSwgX28sIF9wLCBfcSwgX3IsIF9zLCBfdCwgX3UsIF92LCBfdywgX3gsIF95LCBfejtcclxuICAgIHZhciBmaW5hbFByb2R1Y3QgPSB7XHJcbiAgICAgICAgbGVmdFRvcFRyYW5zZm9ybToge1xyXG4gICAgICAgICAgICB4OiAoX2IgPSAoX2EgPSB0cmFuc2Zvcm0xLmxlZnRUb3BUcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMCArIHRyYW5zZm9ybTIubGVmdFRvcFRyYW5zZm9ybS54KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwLFxyXG4gICAgICAgICAgICB5OiAoX2QgPSAoX2MgPSB0cmFuc2Zvcm0xLmxlZnRUb3BUcmFuc2Zvcm0ueSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogMCArIHRyYW5zZm9ybTIubGVmdFRvcFRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiAwLFxyXG4gICAgICAgICAgICB6OiAoX2YgPSAoX2UgPSB0cmFuc2Zvcm0xLmxlZnRUb3BUcmFuc2Zvcm0ueikgIT09IG51bGwgJiYgX2UgIT09IHZvaWQgMCA/IF9lIDogMCArIHRyYW5zZm9ybTIubGVmdFRvcFRyYW5zZm9ybS56KSAhPT0gbnVsbCAmJiBfZiAhPT0gdm9pZCAwID8gX2YgOiAwXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsZWZ0Qm90dG9tVHJhbnNmb3JtOiB7XHJcbiAgICAgICAgICAgIHg6IChfaCA9IChfZyA9IHRyYW5zZm9ybTEubGVmdEJvdHRvbVRyYW5zZm9ybS54KSAhPT0gbnVsbCAmJiBfZyAhPT0gdm9pZCAwID8gX2cgOiAwICsgdHJhbnNmb3JtMi5sZWZ0Qm90dG9tVHJhbnNmb3JtLngpICE9PSBudWxsICYmIF9oICE9PSB2b2lkIDAgPyBfaCA6IDAsXHJcbiAgICAgICAgICAgIHk6IChfayA9IChfaiA9IHRyYW5zZm9ybTEubGVmdEJvdHRvbVRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfaiAhPT0gdm9pZCAwID8gX2ogOiAwICsgdHJhbnNmb3JtMi5sZWZ0Qm90dG9tVHJhbnNmb3JtLnkpICE9PSBudWxsICYmIF9rICE9PSB2b2lkIDAgPyBfayA6IDAsXHJcbiAgICAgICAgICAgIHo6IChfbSA9IChfbCA9IHRyYW5zZm9ybTEubGVmdEJvdHRvbVRyYW5zZm9ybS56KSAhPT0gbnVsbCAmJiBfbCAhPT0gdm9pZCAwID8gX2wgOiAwICsgdHJhbnNmb3JtMi5sZWZ0Qm90dG9tVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF9tICE9PSB2b2lkIDAgPyBfbSA6IDBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJpZ2h0VG9wVHJhbnNmb3JtOiB7XHJcbiAgICAgICAgICAgIHg6IChfcCA9IChfbyA9IHRyYW5zZm9ybTEucmlnaHRUb3BUcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX28gIT09IHZvaWQgMCA/IF9vIDogMCArIHRyYW5zZm9ybTIucmlnaHRUb3BUcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX3AgIT09IHZvaWQgMCA/IF9wIDogMCxcclxuICAgICAgICAgICAgeTogKF9yID0gKF9xID0gdHJhbnNmb3JtMS5yaWdodFRvcFRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfcSAhPT0gdm9pZCAwID8gX3EgOiAwICsgdHJhbnNmb3JtMi5yaWdodFRvcFRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfciAhPT0gdm9pZCAwID8gX3IgOiAwLFxyXG4gICAgICAgICAgICB6OiAoX3QgPSAoX3MgPSB0cmFuc2Zvcm0xLnJpZ2h0VG9wVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF9zICE9PSB2b2lkIDAgPyBfcyA6IDAgKyB0cmFuc2Zvcm0yLnJpZ2h0VG9wVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF90ICE9PSB2b2lkIDAgPyBfdCA6IDBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJpZ2h0Qm90dG9tVHJhbnNmb3JtOiB7XHJcbiAgICAgICAgICAgIHg6IChfdiA9IChfdSA9IHRyYW5zZm9ybTEucmlnaHRCb3R0b21UcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX3UgIT09IHZvaWQgMCA/IF91IDogMCArIHRyYW5zZm9ybTIucmlnaHRCb3R0b21UcmFuc2Zvcm0ueCkgIT09IG51bGwgJiYgX3YgIT09IHZvaWQgMCA/IF92IDogMCxcclxuICAgICAgICAgICAgeTogKF94ID0gKF93ID0gdHJhbnNmb3JtMS5yaWdodEJvdHRvbVRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfdyAhPT0gdm9pZCAwID8gX3cgOiAwICsgdHJhbnNmb3JtMi5yaWdodEJvdHRvbVRyYW5zZm9ybS55KSAhPT0gbnVsbCAmJiBfeCAhPT0gdm9pZCAwID8gX3ggOiAwLFxyXG4gICAgICAgICAgICB6OiAoX3ogPSAoX3kgPSB0cmFuc2Zvcm0xLnJpZ2h0Qm90dG9tVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF95ICE9PSB2b2lkIDAgPyBfeSA6IDAgKyB0cmFuc2Zvcm0yLnJpZ2h0Qm90dG9tVHJhbnNmb3JtLnopICE9PSBudWxsICYmIF96ICE9PSB2b2lkIDAgPyBfeiA6IDBcclxuICAgICAgICB9LFxyXG4gICAgfTtcclxuICAgIHJldHVybiAoZmluYWxQcm9kdWN0KTtcclxufVxyXG5jbGFzcyBUcmFuc2Zvcm1Db250cm9sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1Db250cm9sQ29udGFpbmVyXCIgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1Db250cm9sXCIgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIgXFxcInhcXFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy50cmFuc2Zvcm0ueCxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuYWx0ZXJWZWN0b3IodGhpcy5wcm9wcy50cmFuc2Zvcm0sIHsgeDogdGhpcy5wcm9wcy5kZWx0YSwgeTogMCwgejogMCB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImluY3JlYXNlXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5hbHRlclZlY3Rvcih0aGlzLnByb3BzLnRyYW5zZm9ybSwgeyB4OiAtdGhpcy5wcm9wcy5kZWx0YSwgeTogMCwgejogMCB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImRlY3JlYXNlXCIpKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIgXFxcInlcXFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy50cmFuc2Zvcm0ueSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuYWx0ZXJWZWN0b3IodGhpcy5wcm9wcy50cmFuc2Zvcm0sIHsgeDogMCwgeTogdGhpcy5wcm9wcy5kZWx0YSwgejogMCB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImluY3JlYXNlXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5hbHRlclZlY3Rvcih0aGlzLnByb3BzLnRyYW5zZm9ybSwgeyB4OiAwLCB5OiAtdGhpcy5wcm9wcy5kZWx0YSwgejogMCB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImRlY3JlYXNlXCIpKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgXCIgXFxcInpcXFwiXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy50cmFuc2Zvcm0ueixcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuYWx0ZXJWZWN0b3IodGhpcy5wcm9wcy50cmFuc2Zvcm0sIHsgeDogMCwgeTogMCwgejogdGhpcy5wcm9wcy5kZWx0YSB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImluY3JlYXNlXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5hbHRlclZlY3Rvcih0aGlzLnByb3BzLnRyYW5zZm9ybSwgeyB4OiAwLCB5OiAwLCB6OiAtdGhpcy5wcm9wcy5kZWx0YSB9KSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcImRlY3JlYXNlXCIpKSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbWdcIiwgeyBzcmM6IHRoaXMucHJvcHMuaW1hZ2VVcmwsIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1Db250cm9sSW1hZ2VcIiB9KSkpO1xyXG4gICAgfVxyXG59XHJcbmNsYXNzIE1lbnUgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuaXNPcGVuKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB0cmFuc2xhdGVZOiAwLjE1IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2UGFuZWwsIHsgaW50ZXJhY3RpdmU6IHRydWUsIHdpZHRoSW5NZXRlcnM6IDAuMiB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuc2V0RGVsdGEoMSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIxXCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLnNldERlbHRhKDAuMSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIwLjFcIiksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHsgb25DbGljazogKCkgPT4gKHRoaXMucHJvcHMuc2V0RGVsdGEoMC4wNSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIwLjA1XCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLnNldERlbHRhKDAuMDEpKSwgY2xhc3NOYW1lOiBcIlRyYW5zZm9ybUJ1dHRvblwiIH0sIFwiMC4wMVwiKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5zZXREZWx0YSgwLjAwMSkpLCBjbGFzc05hbWU6IFwiVHJhbnNmb3JtQnV0dG9uXCIgfSwgXCIwLjAwMVwiKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwgeyBvbkNsaWNrOiAoKSA9PiAodGhpcy5wcm9wcy5yZXNldFRyYW5zZm9ybXMoKSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcInJlc2V0XCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7IG9uQ2xpY2s6ICgpID0+ICh0aGlzLnByb3BzLnRvZ2dsZUF4aXMoKSksIGNsYXNzTmFtZTogXCJUcmFuc2Zvcm1CdXR0b25cIiB9LCBcInRvZ2dsZSBheGlzXCIpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUcmFuc2Zvcm1Db250cm9sLCB7IG5hbWU6IFwidG9wIGxlZnRcIiwgdHJhbnNmb3JtOiB0aGlzLnByb3BzLmNvbnRyb2xsZXJUcmFuc2Zvcm1zLmxlZnRUb3BUcmFuc2Zvcm0sIGFsdGVyVmVjdG9yOiB0aGlzLnByb3BzLnNldFRyYW5zZm9ybSwgZGVsdGE6IHRoaXMucHJvcHMuZGVsdGEsIGltYWdlVXJsOiBcIi4vSW1hZ2VzL3RvcGxlZnQucG5nXCIgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRyYW5zZm9ybUNvbnRyb2wsIHsgbmFtZTogXCJsb3dlciBsZWZ0XCIsIHRyYW5zZm9ybTogdGhpcy5wcm9wcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5sZWZ0Qm90dG9tVHJhbnNmb3JtLCBhbHRlclZlY3RvcjogdGhpcy5wcm9wcy5zZXRUcmFuc2Zvcm0sIGRlbHRhOiB0aGlzLnByb3BzLmRlbHRhLCBpbWFnZVVybDogXCIuL0ltYWdlcy9ib3R0b21sZWZ0LnBuZ1wiIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUcmFuc2Zvcm1Db250cm9sLCB7IG5hbWU6IFwidG9wIHJpZ2h0XCIsIHRyYW5zZm9ybTogdGhpcy5wcm9wcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5yaWdodEJvdHRvbVRyYW5zZm9ybSwgYWx0ZXJWZWN0b3I6IHRoaXMucHJvcHMuc2V0VHJhbnNmb3JtLCBkZWx0YTogdGhpcy5wcm9wcy5kZWx0YSwgaW1hZ2VVcmw6IFwiLi9JbWFnZXMvdG9wcmlnaHQucG5nXCIgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRyYW5zZm9ybUNvbnRyb2wsIHsgbmFtZTogXCJsb3dlciByaWdodFwiLCB0cmFuc2Zvcm06IHRoaXMucHJvcHMuY29udHJvbGxlclRyYW5zZm9ybXMucmlnaHRUb3BUcmFuc2Zvcm0sIGFsdGVyVmVjdG9yOiB0aGlzLnByb3BzLnNldFRyYW5zZm9ybSwgZGVsdGE6IHRoaXMucHJvcHMuZGVsdGEsIGltYWdlVXJsOiBcIi4vSW1hZ2VzL2JvdHRvbXJpZ2h0LnBuZ1wiIH0pKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5jbGFzcyBNeUdhZGdldCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICAvL3ByaXZhdGUgZGVsdGE6IG51bWJlcjsgLy8gdGhpcyBpcyBob3cgbXVjaCB0aGUgdXNlciBjaGFuZ2VzIHRoZSBudW1iZXIgYnlcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuZHJhd01lbnUgPSB0cnVlOyAvLyB3ZSBzdG9yZSB0aGlzIG91dHNpZGUgb2Ygc3RhdGUgdG8gYXZvaWQgdW5jZXNjZXNzYXJ5IHJlLXJlbmRlcnMgYW5kIGEgcG9zc2libGUgaW5maW5pdGUgbG9vcFxyXG4gICAgICAgIHRoaXMuZGlzcGxheUludHJvID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmhhbmRWb2x1bWUgPSB7XHJcbiAgICAgICAgICAgIHR5cGU6IGFhcmR2YXJrX3NoYXJlZF8xLkVWb2x1bWVUeXBlLlNwaGVyZSxcclxuICAgICAgICAgICAgcmFkaXVzOiAwLjgsXHJcbiAgICAgICAgICAgIHZpc3VhbGl6ZTogdHJ1ZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5oYW5kVm9sdW1lTGFyZ2VyID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBhYXJkdmFya19zaGFyZWRfMS5FVm9sdW1lVHlwZS5TcGhlcmUsXHJcbiAgICAgICAgICAgIHJhZGl1czogMS41LFxyXG4gICAgICAgICAgICB2aXN1YWxpemU6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuaGFuZEludGVyZmFjZU1haW4gPSBbe1xyXG4gICAgICAgICAgICAgICAgaWZhY2U6IFwiT3Blbk1lbnVNYWluQDFcIixcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NvcjogdGhpcy5jb2xsaWRlTWFpblxyXG4gICAgICAgICAgICB9XTtcclxuICAgICAgICB0aGlzLmhhbmRJbnRlcmZhY2VTZWNvbmRhcnkgPSBbe1xyXG4gICAgICAgICAgICAgICAgaWZhY2U6IFwiT3Blbk1lbnVTZWNvbmRhcnlAMVwiLFxyXG4gICAgICAgICAgICAgICAgcHJvY2Vzc29yOiB0aGlzLmNvbGxpZGVTZWNvbmRhcnlcclxuICAgICAgICAgICAgfV07XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbGxpZGVEZXRlY3Rpb25NYWluOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGNvbGxpZGVEZXRlY3Rpb25TZWNvbmRhcnk6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZGVsdGE6IDAuMSxcclxuICAgICAgICAgICAgICAgIGRpc3BsYXlBeGlzOiB0cnVlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMgPSB7XHJcbiAgICAgICAgICAgIGxlZnRUb3BUcmFuc2Zvcm06IHsgeDogMCwgeTogLTAuMTMsIHo6IDAuMTMgfSxcclxuICAgICAgICAgICAgbGVmdEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4yNCwgejogMC4yMyB9LFxyXG4gICAgICAgICAgICByaWdodFRvcFRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4xMywgejogMC4xMyB9LFxyXG4gICAgICAgICAgICByaWdodEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAwLCB6OiAwLjEzIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICAvL3RoaXMuZGVsdGEgPSAwLjFcclxuICAgIH1cclxuICAgIHNldFRyYW5zZm9ybSh0b0NoYW5nZSwgdG9DaGFuZ2VCeSkge1xyXG4gICAgICAgIHRvQ2hhbmdlLnggKz0gdG9DaGFuZ2VCeS54O1xyXG4gICAgICAgIHRvQ2hhbmdlLnkgKz0gdG9DaGFuZ2VCeS55O1xyXG4gICAgICAgIHRvQ2hhbmdlLnogKz0gdG9DaGFuZ2VCeS56O1xyXG4gICAgICAgIHRvQ2hhbmdlLnggPSBOdW1iZXIodG9DaGFuZ2UueC50b0ZpeGVkKDMpKTsgLy8gZml4IHVwIG51bWJlcnMgYmVjYXVzZSBqYW5reSBmbG9hdGluZyBwb2ludCBtYXRoc1xyXG4gICAgICAgIHRvQ2hhbmdlLnkgPSBOdW1iZXIodG9DaGFuZ2UueS50b0ZpeGVkKDMpKTtcclxuICAgICAgICB0b0NoYW5nZS56ID0gTnVtYmVyKHRvQ2hhbmdlLnoudG9GaXhlZCgzKSk7XHJcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgc2V0RGVsdGEodmFsdWUpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGVsdGE6IHZhbHVlIH0pO1xyXG4gICAgfVxyXG4gICAgcmVzZXRUcmFuc2Zvcm1zKCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlclRyYW5zZm9ybXMgPSB7XHJcbiAgICAgICAgICAgIGxlZnRUb3BUcmFuc2Zvcm06IHsgeDogMCwgeTogLTAuMTMsIHo6IDAuMTMgfSxcclxuICAgICAgICAgICAgbGVmdEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4yNCwgejogMC4yMyB9LFxyXG4gICAgICAgICAgICByaWdodFRvcFRyYW5zZm9ybTogeyB4OiAwLCB5OiAtMC4xMywgejogMC4xMyB9LFxyXG4gICAgICAgICAgICByaWdodEJvdHRvbVRyYW5zZm9ybTogeyB4OiAwLCB5OiAwLCB6OiAwLjEzIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcbiAgICB0b2dnbGVBeGlzKCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBkaXNwbGF5QXhpczogIXRoaXMuc3RhdGUuZGlzcGxheUF4aXMgfSk7XHJcbiAgICB9XHJcbiAgICB1cGRhdGVEcmF3TWVudSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5jb2xsaWRlRGV0ZWN0aW9uTWFpbiAmJiB0aGlzLnN0YXRlLmNvbGxpZGVEZXRlY3Rpb25TZWNvbmRhcnkgJiYgRGF0ZS5ub3coKSA+PSB0aGlzLmNvb2xEb3duQ291bnRlciArIDEwMDApIHtcclxuICAgICAgICAgICAgdGhpcy5kcmF3TWVudSA9ICF0aGlzLmRyYXdNZW51O1xyXG4gICAgICAgICAgICB0aGlzLmNvb2xEb3duQ291bnRlciA9IERhdGUubm93KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheUludHJvID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29sbGlkZU1haW4oZ2l2ZW5JbnRlcmZhY2UpIHtcclxuICAgICAgICBpZiAoZ2l2ZW5JbnRlcmZhY2Uucm9sZSA9PSBhYXJkdmFya19yZWFjdF8xLkludGVyZmFjZVJvbGUuVHJhbnNtaXR0ZXIpIC8vIHRoaXMgZnVuY3Rpb24gcnVucyB0d2ljZSwgb25jZSBmb3IgdHJhbnNtaXR0ZXIgYW5kIG9uY2UgZm9yIHJlY2lldmVyLCBidXQgd2Ugb25seSB3YW50IGl0IHRvIHJ1biBvbmNlLCBzbyB3ZSBvbmx5IHJ1biBvbiB0cmFuc21pdHRlcnNcclxuICAgICAgICAge1xyXG4gICAgICAgICAgICBnaXZlbkludGVyZmFjZS5vbkVuZGVkKCgpID0+IHRoaXMuc2V0U3RhdGUoeyBjb2xsaWRlRGV0ZWN0aW9uTWFpbjogZmFsc2UgfSkpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgY29sbGlkZURldGVjdGlvbk1haW46IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29sbGlkZVNlY29uZGFyeShnaXZlbkludGVyZmFjZSkge1xyXG4gICAgICAgIGlmIChnaXZlbkludGVyZmFjZS5yb2xlID09IGFhcmR2YXJrX3JlYWN0XzEuSW50ZXJmYWNlUm9sZS5UcmFuc21pdHRlcikge1xyXG4gICAgICAgICAgICBnaXZlbkludGVyZmFjZS5vbkVuZGVkKCgpID0+IHRoaXMuc2V0U3RhdGUoeyBjb2xsaWRlRGV0ZWN0aW9uU2Vjb25kYXJ5OiBmYWxzZSB9KSk7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xsaWRlRGV0ZWN0aW9uU2Vjb25kYXJ5OiB0cnVlIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZURyYXdNZW51KCk7XHJcbiAgICAgICAgLy8gVEhJUyBTWVNURU0gQ0FOT1QgSEFOREwgTlVNQlNFUlNERlxyXG4gICAgICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZTdGFuZGFyZEdyYWJiYWJsZSwgeyBtb2RlbFVyaTogXCJtb2RlbHMvSWNvbi5nbGJcIiwgbW9kZWxTY2FsZTogMC4wMywgc3R5bGU6IGFhcmR2YXJrX3JlYWN0XzEuR3JhYmJhYmxlU3R5bGUuR2FkZ2V0IH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KE1lbnUsIHsgaXNPcGVuOiB0aGlzLmRyYXdNZW51LCBjb250cm9sbGVyVHJhbnNmb3JtczogdGhpcy5jb250cm9sbGVyVHJhbnNmb3Jtcywgc2V0VHJhbnNmb3JtOiB0aGlzLnNldFRyYW5zZm9ybSwgc2V0RGVsdGE6IHRoaXMuc2V0RGVsdGEsIGRlbHRhOiB0aGlzLnN0YXRlLmRlbHRhLCByZXNldFRyYW5zZm9ybXM6IHRoaXMucmVzZXRUcmFuc2Zvcm1zLCB0b2dnbGVBeGlzOiB0aGlzLnRvZ2dsZUF4aXMgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZPcmlnaW4sIHsgcGF0aDogXCIvdXNlci9oYW5kL2xlZnRcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDMsIHRyYW5zZm9ybTogeyBwb3NpdGlvbjogdGhpcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5sZWZ0VG9wVHJhbnNmb3JtIH0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2SW50ZXJmYWNlRW50aXR5LCB7IHZvbHVtZTogdGhpcy5oYW5kVm9sdW1lLCB0cmFuc21pdHM6IHRoaXMuaGFuZEludGVyZmFjZU1haW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDMsIHRyYW5zZm9ybTogeyBwb3NpdGlvbjogdGhpcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5sZWZ0Qm90dG9tVHJhbnNmb3JtIH0gfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2SW50ZXJmYWNlRW50aXR5LCB7IHZvbHVtZTogdGhpcy5oYW5kVm9sdW1lTGFyZ2VyLCB0cmFuc21pdHM6IHRoaXMuaGFuZEludGVyZmFjZVNlY29uZGFyeSB9KSksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5kaXNwbGF5QXhpcyAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAxLCB0cmFuc2xhdGVaOiAwLjIsIHRyYW5zbGF0ZVk6IC0wLjA3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZNb2RlbCwgeyB1cmk6IFwibW9kZWxzL2F4aXMuZ2xiXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdHJhbnNsYXRlWTogMy41IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2SGVhZEZhY2luZ1RyYW5zZm9ybSwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHVuaWZvcm1TY2FsZTogMC4wMSwgcm90YXRlWTogLTkwIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5Bdk1vZGVsLCB7IHVyaTogXCJtb2RlbHMvbGV0dGVyWS5nbGJcIiB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHRyYW5zbGF0ZVg6IDMuNSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkhlYWRGYWNpbmdUcmFuc2Zvcm0sIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDEsIHJvdGF0ZVk6IC05MCB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZNb2RlbCwgeyB1cmk6IFwibW9kZWxzL2xldHRlclguZ2xiXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIikpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB0cmFuc2xhdGVaOiAzLjUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZIZWFkRmFjaW5nVHJhbnNmb3JtLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAxLCByb3RhdGVZOiAtOTAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2TW9kZWwsIHsgdXJpOiBcIm1vZGVscy9sZXR0ZXJaLmdsYlwiIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIpKSkpKSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5Bdk9yaWdpbiwgeyBwYXRoOiBcIi91c2VyL2hhbmQvcmlnaHRcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDMsIHRyYW5zZm9ybTogeyBwb3NpdGlvbjogdGhpcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5yaWdodFRvcFRyYW5zZm9ybSB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkludGVyZmFjZUVudGl0eSwgeyB2b2x1bWU6IHRoaXMuaGFuZFZvbHVtZSwgcmVjZWl2ZXM6IHRoaXMuaGFuZEludGVyZmFjZU1haW4gfSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDMsIHRyYW5zZm9ybTogeyBwb3NpdGlvbjogdGhpcy5jb250cm9sbGVyVHJhbnNmb3Jtcy5yaWdodEJvdHRvbVRyYW5zZm9ybSB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkludGVyZmFjZUVudGl0eSwgeyB2b2x1bWU6IHRoaXMuaGFuZFZvbHVtZSwgcmVjZWl2ZXM6IHRoaXMuaGFuZEludGVyZmFjZVNlY29uZGFyeSB9KSksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5kaXNwbGF5QXhpcyAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAxLCB0cmFuc2xhdGVaOiAwLjIsIHRyYW5zbGF0ZVk6IC0wLjA3IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZNb2RlbCwgeyB1cmk6IFwibW9kZWxzL2F4aXMuZ2xiXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdHJhbnNsYXRlWTogMy41IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2SGVhZEZhY2luZ1RyYW5zZm9ybSwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHVuaWZvcm1TY2FsZTogMC4wMSwgcm90YXRlWTogLTkwIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5Bdk1vZGVsLCB7IHVyaTogXCJtb2RlbHMvbGV0dGVyWS5nbGJcIiB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2VHJhbnNmb3JtLCB7IHRyYW5zbGF0ZVg6IDMuNSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdkhlYWRGYWNpbmdUcmFuc2Zvcm0sIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB1bmlmb3JtU2NhbGU6IDAuMDEsIHJvdGF0ZVk6IC05MCB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZNb2RlbCwgeyB1cmk6IFwibW9kZWxzL2xldHRlclguZ2xiXCIgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIikpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoYWFyZHZhcmtfcmVhY3RfMS5BdlRyYW5zZm9ybSwgeyB0cmFuc2xhdGVaOiAzLjUgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZIZWFkRmFjaW5nVHJhbnNmb3JtLCBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KGFhcmR2YXJrX3JlYWN0XzEuQXZUcmFuc2Zvcm0sIHsgdW5pZm9ybVNjYWxlOiAwLjAxLCByb3RhdGVZOiAtOTAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChhYXJkdmFya19yZWFjdF8xLkF2TW9kZWwsIHsgdXJpOiBcIm1vZGVscy9sZXR0ZXJaLmdsYlwiIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgXCIpKSkpKSkpKTtcclxuICAgIH1cclxufVxyXG50c2xpYl8xLl9fZGVjb3JhdGUoW1xyXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XHJcbl0sIE15R2FkZ2V0LnByb3RvdHlwZSwgXCJzZXRUcmFuc2Zvcm1cIiwgbnVsbCk7XHJcbnRzbGliXzEuX19kZWNvcmF0ZShbXHJcbiAgICBiaW5kX2RlY29yYXRvcl8xLmRlZmF1bHRcclxuXSwgTXlHYWRnZXQucHJvdG90eXBlLCBcInNldERlbHRhXCIsIG51bGwpO1xyXG50c2xpYl8xLl9fZGVjb3JhdGUoW1xyXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XHJcbl0sIE15R2FkZ2V0LnByb3RvdHlwZSwgXCJyZXNldFRyYW5zZm9ybXNcIiwgbnVsbCk7XHJcbnRzbGliXzEuX19kZWNvcmF0ZShbXHJcbiAgICBiaW5kX2RlY29yYXRvcl8xLmRlZmF1bHRcclxuXSwgTXlHYWRnZXQucHJvdG90eXBlLCBcInRvZ2dsZUF4aXNcIiwgbnVsbCk7XHJcbnRzbGliXzEuX19kZWNvcmF0ZShbXHJcbiAgICBiaW5kX2RlY29yYXRvcl8xLmRlZmF1bHRcclxuXSwgTXlHYWRnZXQucHJvdG90eXBlLCBcImNvbGxpZGVNYWluXCIsIG51bGwpO1xyXG50c2xpYl8xLl9fZGVjb3JhdGUoW1xyXG4gICAgYmluZF9kZWNvcmF0b3JfMS5kZWZhdWx0XHJcbl0sIE15R2FkZ2V0LnByb3RvdHlwZSwgXCJjb2xsaWRlU2Vjb25kYXJ5XCIsIG51bGwpO1xyXG4vKlxyXG5ob3cgdGhpcyB3b3JrczpcclxuV2UgaGF2ZSAyIHBhaXJzIG9mIHZvbHVtZXMsIHdoZW4gYSBwYWlyIGludGVyc2VjdHMvY29ubmVjdHMgd2Ugc2V0IGEgdmFyaWFibGUgdG8gdHJ1ZSwgd2hlbiB0aGV5IGRpc2Nvbm5lY3Qgd2Ugc2V0IGl0IHRvIGZhbHNlLiBXaGVuZXZlciBvbmUgb2YgdGhlc2UgdmFyaWFibGVzIGNoYW5nZXMgdGhlIHNjcmVlbiByZWRyYXdzLCBiZWNhdXNlIFNldFN0YXRlLlxyXG5EdXJpbmcgYSByZWRyYXcgd2UgY2hlY2sgYm90aCB2b2x1bWUgdmFyaWFibGVzIGFuZCBpZiBib3RoIGFyZSB0cnVlIHRoZW4gd2UgdG9nZ2xlIHRoZSBtZW51LlxyXG5cclxuVGhlIHR3byB2b2x1bWVzIGFyZSBtYWluIGFuZCBzZWNvbmRhcnksIG1haW4gaXMgYSBwYWlyIG9mIHZvbHVtZXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgY29udHJvbGxlcnMsIHNlY29uZGFyeSB2b2x1bWVzIGFyZSBwbGFjZWQgb24gdGhlIHRvcCBvZiB0aGUgcmlnaHQgY29udHJvbGxlciBhbmQgcXVpdGUgZmFyIGJlbG93IHRoZSBib3R0b20gb2YgdGhlIGxlZnQgY29udHJvbGxlci5cclxuTWFpbiBjaGVja3MgZm9yIGNvbnRhY3QgYmV0d2VlbiBjb250cm9sbGVycyxcclxuU2Vjb25kYXJ5IGVuc3VyZXMgdGhlIHR3byBhcmUgcG9pbnRpbmcgYXdheSBmcm9tIGVhY2ggb3RoZXIsIHRoZSBiaWdnZXIgdGhlIGxvd2VyIHZvbHVtZSB0aGUgbGVzcyBleGFjdCB0aGUgYW5nbGUgYmV0d2VlbiB0aGUgdHdvIGNvbnRyb2xsZXJzIG5lZWRzIHRvIGJlXHJcblxyXG50b2RvOlxyXG4tbWVzcyBhcm91bmQgd2l0aCB2b2x1bWUgcG9zaXRpb25zXHJcblxyXG51c2UgYW4gaW50cm8gdmlkZW8gdG8gd2FsayB0aGUgdXNlciB0aHJvdWdoIGhvd3RvIHVzZSBzdHVmZ0ZEP0dcclxuKi9cclxuYWFyZHZhcmtfcmVhY3RfMS5yZW5kZXJBYXJkdmFya1Jvb3QoXCJyb290XCIsIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTXlHYWRnZXQsIG51bGwpKTtcclxuIiwiLyogKGlnbm9yZWQpICovIiwiLyogKGlnbm9yZWQpICovIiwiLyogKGlnbm9yZWQpICovIiwiLyogKGlnbm9yZWQpICovIl0sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/manifest.webmanifest b/manifest.webmanifest index a56c171..9fe4516 100644 --- a/manifest.webmanifest +++ b/manifest.webmanifest @@ -3,7 +3,7 @@ "name": "menuPrototype", "icons": [ { - "src": "models/placeholder.glb", + "src": "models/IconTilt.glb", "type": "model/gltf-binary" } ], diff --git a/models/Icon.glb b/models/Icon.glb new file mode 100644 index 0000000..7a2810f Binary files /dev/null and b/models/Icon.glb differ diff --git a/models/IconTilt.glb b/models/IconTilt.glb new file mode 100644 index 0000000..2b46148 Binary files /dev/null and b/models/IconTilt.glb differ